From b0f9d71a1811d12b2c89763c624bcd732ca48235 Mon Sep 17 00:00:00 2001 From: Juergen Kunz Date: Fri, 8 May 2026 15:39:02 +0000 Subject: [PATCH] fix: update onebox runtime dependencies Bump Onebox to 1.24.3 with current API/runtime dependencies, registry routing fixes, safer initial admin handling, and cleaner shutdown of Docker-backed resources. --- changelog.md | 8 + deno.json | 32 +- package.json | 14 +- pnpm-lock.yaml | 1808 +++++++++++++---------------- readme.md | 4 +- ts/classes/docker.ts | 17 + ts/classes/onebox.ts | 25 +- ts/classes/proxy-log-receiver.ts | 30 +- ts/classes/registry.ts | 2 +- ts/classes/smartproxy.ts | 18 +- ts/opsserver/classes.opsserver.ts | 10 + ts_bundled/bundle.ts | 2 +- 12 files changed, 955 insertions(+), 1015 deletions(-) diff --git a/changelog.md b/changelog.md index ef2cb0d..39cc80a 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,13 @@ # Changelog +## 2026-05-08 - 1.24.3 - fix(runtime) + +upgrade runtime dependencies and harden registry/shutdown behavior + +- update Deno, API, Docker, Cloudflare, SmartACME, SmartRegistry, SmartStorage, TaskBuffer, catalog, and build-tool dependencies +- expose the embedded OCI registry through OpsServer `/v2` routes with the configured token realm +- avoid creating a hardcoded default admin password and close Docker/log receiver resources during shutdown + ## 2026-03-24 - 1.24.2 - fix(deps) bump runtime and build tool dependencies diff --git a/deno.json b/deno.json index 3a81dd6..d54a04d 100644 --- a/deno.json +++ b/deno.json @@ -1,6 +1,6 @@ { "name": "@serve.zone/onebox", - "version": "1.24.2", + "version": "1.24.3", "exports": "./mod.ts", "tasks": { "test": "deno test --allow-all test/", @@ -9,24 +9,24 @@ "dev": "pnpm run watch" }, "imports": { - "@std/path": "jsr:@std/path@^1.1.2", - "@std/fs": "jsr:@std/fs@^1.0.19", - "@std/http": "jsr:@std/http@^1.0.21", - "@std/assert": "jsr:@std/assert@^1.0.15", + "@std/path": "jsr:@std/path@^1.1.4", + "@std/fs": "jsr:@std/fs@^1.0.23", + "@std/http": "jsr:@std/http@^1.1.0", + "@std/assert": "jsr:@std/assert@^1.0.19", "@std/encoding": "jsr:@std/encoding@^1.0.10", - "@db/sqlite": "jsr:@db/sqlite@0.12.0", - "@apiclient.xyz/docker": "npm:@apiclient.xyz/docker@^5.1.1", - "@apiclient.xyz/cloudflare": "npm:@apiclient.xyz/cloudflare@6.4.3", - "@push.rocks/smartacme": "npm:@push.rocks/smartacme@^8.0.0", - "@push.rocks/smartregistry": "npm:@push.rocks/smartregistry@^2.2.0", - "@push.rocks/smartstorage": "npm:@push.rocks/smartstorage@^6.3.0", - "@push.rocks/taskbuffer": "npm:@push.rocks/taskbuffer@^3.1.0", + "@db/sqlite": "jsr:@db/sqlite@0.13.0", + "@apiclient.xyz/docker": "npm:@apiclient.xyz/docker@^5.1.4", + "@apiclient.xyz/cloudflare": "npm:@apiclient.xyz/cloudflare@7.1.0", + "@push.rocks/smartacme": "npm:@push.rocks/smartacme@^9.5.0", + "@push.rocks/smartregistry": "npm:@push.rocks/smartregistry@^2.9.2", + "@push.rocks/smartstorage": "npm:@push.rocks/smartstorage@^6.5.1", + "@push.rocks/taskbuffer": "npm:@push.rocks/taskbuffer@^8.0.2", "@api.global/typedrequest-interfaces": "npm:@api.global/typedrequest-interfaces@^3.0.19", - "@api.global/typedrequest": "npm:@api.global/typedrequest@^3.2.6", - "@api.global/typedserver": "npm:@api.global/typedserver@^8.3.1", + "@api.global/typedrequest": "npm:@api.global/typedrequest@^3.3.1", + "@api.global/typedserver": "npm:@api.global/typedserver@^8.4.6", "@push.rocks/smartguard": "npm:@push.rocks/smartguard@^3.1.0", - "@push.rocks/smartjwt": "npm:@push.rocks/smartjwt@^2.2.1", - "@api.global/typedsocket": "npm:@api.global/typedsocket@^4.1.2", + "@push.rocks/smartjwt": "npm:@push.rocks/smartjwt@^2.2.2", + "@api.global/typedsocket": "npm:@api.global/typedsocket@^4.1.3", "@serve.zone/containerarchive": "npm:@serve.zone/containerarchive@^0.1.3" }, "compilerOptions": { diff --git a/package.json b/package.json index 69cfa4b..99d53ac 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@serve.zone/onebox", - "version": "1.24.2", + "version": "1.24.3", "description": "Self-hosted container platform with automatic SSL and DNS - a mini Heroku for single servers", "main": "mod.ts", "type": "module", @@ -55,15 +55,15 @@ "packageManager": "pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34", "dependencies": { "@api.global/typedrequest-interfaces": "^3.0.19", - "@api.global/typedsocket": "^4.1.2", - "@design.estate/dees-catalog": "^3.49.0", - "@design.estate/dees-element": "^2.1.6", - "@serve.zone/catalog": "^2.9.0" + "@api.global/typedsocket": "^4.1.3", + "@design.estate/dees-catalog": "^3.81.0", + "@design.estate/dees-element": "^2.2.4", + "@serve.zone/catalog": "^2.12.4" }, "devDependencies": { - "@git.zone/tsbundle": "^2.10.0", + "@git.zone/tsbundle": "^2.10.1", "@git.zone/tsdeno": "^1.3.1", - "@git.zone/tswatch": "^3.3.2" + "@git.zone/tswatch": "^3.3.3" }, "private": true, "pnpm": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f95755e..7358444 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,27 +12,27 @@ importers: specifier: ^3.0.19 version: 3.0.19 '@api.global/typedsocket': - specifier: ^4.1.2 - version: 4.1.2(@push.rocks/smartserve@2.0.3) + specifier: ^4.1.3 + version: 4.1.3(@push.rocks/smartserve@2.0.4) '@design.estate/dees-catalog': - specifier: ^3.49.0 - version: 3.49.0(@tiptap/pm@2.27.2) + specifier: ^3.81.0 + version: 3.81.0(@tiptap/pm@2.27.2) '@design.estate/dees-element': - specifier: ^2.1.6 - version: 2.2.3 + specifier: ^2.2.4 + version: 2.2.4 '@serve.zone/catalog': - specifier: ^2.9.0 - version: 2.9.0(@tiptap/pm@2.27.2) + specifier: ^2.12.4 + version: 2.12.4(@tiptap/pm@2.27.2) devDependencies: '@git.zone/tsbundle': - specifier: ^2.10.0 - version: 2.10.0 + specifier: ^2.10.1 + version: 2.10.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) '@git.zone/tsdeno': specifier: ^1.3.1 version: 1.3.1 '@git.zone/tswatch': - specifier: ^3.3.2 - version: 3.3.2(@tiptap/pm@2.27.2) + specifier: ^3.3.3 + version: 3.3.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@tiptap/pm@2.27.2) packages: @@ -45,11 +45,14 @@ packages: '@api.global/typedrequest@3.3.0': resolution: {integrity: sha512-Jwobqla+9k2IBG0duwrCFtc6GU6wsvHS3f0gJJsxTrpapylBW1YSF7NnGHPGs7F9hbATsO6IoUBpR2ScoKyGJA==} + '@api.global/typedrequest@3.3.1': + resolution: {integrity: sha512-uJ8uGS7T4OvnpvKlc1T6ML/CHOGKZIrgRFYYxnPKho2SZGnBFEfazWKshxlgqPsiWMZDFwX9i8c8sp+l3AGI2w==} + '@api.global/typedserver@8.4.6': resolution: {integrity: sha512-kSzjzM0TenzRL73rmDiwsJR/SFJ3nPI7zFC9KWxO7nIhyMo5wgO7UMVCpjXrTYMK6c4HwbhBxEPIJb4prqakww==} - '@api.global/typedsocket@4.1.2': - resolution: {integrity: sha512-fZFuJY9ucFCICjF4wi6OvK8drsv6UcwVVsfamOT1HxFj7OBOYw6QHOceQ+cAQ8IrWbX817sf8gzlesl+jlG8JA==} + '@api.global/typedsocket@4.1.3': + resolution: {integrity: sha512-gpMyVx90RgNb67YSuOihAqge47UtxaPYc7+6vw7T7kkd3BO7/tg8z32Vovx2EQw2ANczRNwgQmXuZrAbCUjeQA==} peerDependencies: '@push.rocks/smartserve': '>=1.1.0' @@ -63,188 +66,188 @@ packages: '@cfworker/json-schema@4.1.1': resolution: {integrity: sha512-gAmrUZSGtKc3AiBL71iNWxDsyUC5uMaKKGdvzYsBoTW/xi42JQHl7eKV2OYzCUqvc+D2RCcf7EXY2iCyFIk6og==} - '@cloudflare/workers-types@4.20260317.1': - resolution: {integrity: sha512-+G4eVwyCpm8Au1ex8vQBCuA9wnwqetz4tPNRoB/53qvktERWBRMQnrtvC1k584yRE3emMThtuY0gWshvSJ++PQ==} + '@cloudflare/workers-types@4.20260507.1': + resolution: {integrity: sha512-QChtMFu8EeVKaL4dW5r5wfZzlbH5CUnZU5Ef6E1cPjXzqryQuCwmEDNr+Oj2obbKR9jsVIUHPF/pkFaKWdYl2g==} '@configvault.io/interfaces@1.0.17': resolution: {integrity: sha512-bEcCUR2VBDJsTin8HQh8Uw/mlYl2v8A3jMIaQ+MTB9Hrqd6CZL2dL7iJdWyFl/3EIX+LDxWFR+Oq7liIq7w+1Q==} - '@design.estate/dees-catalog@3.49.0': - resolution: {integrity: sha512-ZtHroyBZekv+jVSDmtGOzoGVI+EA55kd5EcSsNmUByxN3UMcFFeg62QRNzm3RHpz01u1Zfynm0bN9E44pk6FDQ==} + '@design.estate/dees-catalog@3.81.0': + resolution: {integrity: sha512-N7ocwSKVdjDQWmVV2XWiyg3dotGEuxP4/jhyB6duH8zJ3k63wmGm8+FeoP+LzRc8/U0Bl8w7UZrewlkIEMstUA==} '@design.estate/dees-comms@1.0.30': resolution: {integrity: sha512-KchMlklJfKAjQiJiR0xmofXtQ27VgZtBIxcMwPE9d+h3jJRv+lPZxzBQVOM0eyM0uS44S5vJMZ11IeV4uDXSHg==} - '@design.estate/dees-domtools@2.5.1': - resolution: {integrity: sha512-ojzRSkOpQvxpd4drCNF1wadvPwthI6xIJpYjBbOwlgxkFCrlgxlOxHzRKEVnj5wWeUPqykKhddKp33LKW9mydw==} + '@design.estate/dees-domtools@2.5.6': + resolution: {integrity: sha512-/vEgDvRrAkdzTX1b9mobP7wEe/XGC4r7NDjAgWGvC4I5uOwi7C1qPzm0/fzT9MI89wfbYWprJhD12vVu/+luDA==} - '@design.estate/dees-element@2.2.3': - resolution: {integrity: sha512-MpAvJPrJDTDad8hUtdOzMgMFRE7n84O7INhvSlkTTLB3b84j8EKjwfUCMErGAo7Bq5zfw4LG7NnKhLYXXXjkXA==} + '@design.estate/dees-element@2.2.4': + resolution: {integrity: sha512-O9cA6flBMMd+pBwMQrZXwAWel9yVxgokolb+Em6gvkXxPJ0P/B5UDn4Vc2d4ts3ta55PTBm+l2dPeDVGx/bl7Q==} - '@design.estate/dees-wcctools@3.8.0': - resolution: {integrity: sha512-CC14iVKUrguzD9jIrdPBd9fZ4egVJEZMxl5y8iy0l7WLumeoYvGsoXj5INVkRPLRVLqziIdi4Je1hXqHt2NU+g==} + '@design.estate/dees-wcctools@3.9.0': + resolution: {integrity: sha512-0vZBaGBEGIbl8hx+8BezIIea3U5T7iSHHF9VqlJZGf+nOFIW4zBAxcCljH8YzZ1Yayp6BEjxp/pQXjHN2YB3Jg==} - '@emnapi/core@1.9.1': - resolution: {integrity: sha512-mukuNALVsoix/w1BJwFzwXBN/dHeejQtuVzcDsfOEsdpCumXb/E9j8w11h5S54tT1xhifGfbbSm/ICrObRb3KA==} + '@emnapi/core@1.10.0': + resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} - '@emnapi/runtime@1.9.1': - resolution: {integrity: sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==} + '@emnapi/runtime@1.10.0': + resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} - '@emnapi/wasi-threads@1.2.0': - resolution: {integrity: sha512-N10dEJNSsUx41Z6pZsXU8FjPjpBEplgH24sfkmITrBED1/U2Esum9F3lfLrMjKHHjmi557zQn7kR9R+XWXu5Rg==} + '@emnapi/wasi-threads@1.2.1': + resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} - '@esbuild/aix-ppc64@0.27.4': - resolution: {integrity: sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==} + '@esbuild/aix-ppc64@0.27.7': + resolution: {integrity: sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.27.4': - resolution: {integrity: sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==} + '@esbuild/android-arm64@0.27.7': + resolution: {integrity: sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.27.4': - resolution: {integrity: sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==} + '@esbuild/android-arm@0.27.7': + resolution: {integrity: sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.27.4': - resolution: {integrity: sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==} + '@esbuild/android-x64@0.27.7': + resolution: {integrity: sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.27.4': - resolution: {integrity: sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==} + '@esbuild/darwin-arm64@0.27.7': + resolution: {integrity: sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.27.4': - resolution: {integrity: sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==} + '@esbuild/darwin-x64@0.27.7': + resolution: {integrity: sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.27.4': - resolution: {integrity: sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==} + '@esbuild/freebsd-arm64@0.27.7': + resolution: {integrity: sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.4': - resolution: {integrity: sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==} + '@esbuild/freebsd-x64@0.27.7': + resolution: {integrity: sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.27.4': - resolution: {integrity: sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==} + '@esbuild/linux-arm64@0.27.7': + resolution: {integrity: sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.27.4': - resolution: {integrity: sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==} + '@esbuild/linux-arm@0.27.7': + resolution: {integrity: sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.27.4': - resolution: {integrity: sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==} + '@esbuild/linux-ia32@0.27.7': + resolution: {integrity: sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.27.4': - resolution: {integrity: sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==} + '@esbuild/linux-loong64@0.27.7': + resolution: {integrity: sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.27.4': - resolution: {integrity: sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==} + '@esbuild/linux-mips64el@0.27.7': + resolution: {integrity: sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.27.4': - resolution: {integrity: sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==} + '@esbuild/linux-ppc64@0.27.7': + resolution: {integrity: sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.27.4': - resolution: {integrity: sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==} + '@esbuild/linux-riscv64@0.27.7': + resolution: {integrity: sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.27.4': - resolution: {integrity: sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==} + '@esbuild/linux-s390x@0.27.7': + resolution: {integrity: sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.27.4': - resolution: {integrity: sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==} + '@esbuild/linux-x64@0.27.7': + resolution: {integrity: sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.27.4': - resolution: {integrity: sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==} + '@esbuild/netbsd-arm64@0.27.7': + resolution: {integrity: sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.4': - resolution: {integrity: sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==} + '@esbuild/netbsd-x64@0.27.7': + resolution: {integrity: sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.27.4': - resolution: {integrity: sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==} + '@esbuild/openbsd-arm64@0.27.7': + resolution: {integrity: sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.4': - resolution: {integrity: sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==} + '@esbuild/openbsd-x64@0.27.7': + resolution: {integrity: sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.27.4': - resolution: {integrity: sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==} + '@esbuild/openharmony-arm64@0.27.7': + resolution: {integrity: sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.27.4': - resolution: {integrity: sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==} + '@esbuild/sunos-x64@0.27.7': + resolution: {integrity: sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.27.4': - resolution: {integrity: sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==} + '@esbuild/win32-arm64@0.27.7': + resolution: {integrity: sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.27.4': - resolution: {integrity: sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==} + '@esbuild/win32-ia32@0.27.7': + resolution: {integrity: sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.27.4': - resolution: {integrity: sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==} + '@esbuild/win32-x64@0.27.7': + resolution: {integrity: sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -269,25 +272,25 @@ packages: resolution: {integrity: sha512-YTVITFGN0/24PxzXrwqCgnyd7njDuzp5ZvaCx5nq/jg55kUYd94Nj8UTchBdBofi/L0nwRfjGOg0E41d2u9T1w==} engines: {node: '>=6'} - '@git.zone/tsbundle@2.10.0': - resolution: {integrity: sha512-dw2VFlgKssDlCxg92wSPiiAKwfCjJBOEOYXq1xO91OpjQLOkyogCxSLy0jzQ2BYnt4qmBnapjamzYzVjCr4CWg==} + '@git.zone/tsbundle@2.10.1': + resolution: {integrity: sha512-bCoDoHsT9oIQRFZbItkjPu/lTiyCKxzhA+XSEc1L2jV8S717faaLWHJEbbmrX/pZXG2OkIr2At1xpsicE/6I7g==} hasBin: true '@git.zone/tsdeno@1.3.1': resolution: {integrity: sha512-1shZOSwMUfmonIe8OsX40EcQcS7/WFt+y+5+TQ7N6QmU+Hp6zjrfFvQwanr5Qcgh/E54WFNTfJk/PsJ26s6Oxw==} hasBin: true - '@git.zone/tsrun@2.0.2': - resolution: {integrity: sha512-Rnp/wYHzI8A1pVBKOOePRJgQiBZdW+GEjpQk2uhvXz6A+ljUV2SXKc7NpQVVDsjEZaNFeAI9jMYOdk3lm3yMDA==} + '@git.zone/tsrun@2.0.3': + resolution: {integrity: sha512-QxSM8u+PFnO4jWul0MZpIVCk8XmafqnlPram68dgKuFBl86JM+29G1ag66QUAXSH13WWawbozAGcpCCpIWz7dQ==} hasBin: true - '@git.zone/tswatch@3.3.2': - resolution: {integrity: sha512-QHopAmmpg97m679A2GzqJd5u5fJMag0Qu5BQUs2gmx/cQojXEdnBWiY7GWpg6MKq75ONk0POKiZjKogq14OVzg==} + '@git.zone/tswatch@3.3.3': + resolution: {integrity: sha512-WFm7DIVINFw/cRo/IjbzvY05Lm+hixfj2xRoYP3MGOxMBgYYFUP5VXG1+9aFBuWx9la3vYq9olc17BkUR8Ittw==} hasBin: true - '@happy-dom/global-registrator@15.11.7': - resolution: {integrity: sha512-mfOoUlIw8VBiJYPrl5RZfMzkXC/z7gbSpi2ecycrj/gRWLq2CMV+Q+0G+JPjeOmuNFgg0skEIzkVFzVYFP6URw==} - engines: {node: '>=18.0.0'} + '@happy-dom/global-registrator@20.9.0': + resolution: {integrity: sha512-lBW6/m5BIFl3pMuWPNN0lIOYw9LMCmPfix53ExS3FBi4E+NELEljQ3xH6aAV9IYiQRfn9YIIgzzMrD0vIcD7tw==} + engines: {node: '>=20.0.0'} '@inquirer/checkbox@3.0.1': resolution: {integrity: sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==} @@ -345,10 +348,6 @@ packages: resolution: {integrity: sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==} engines: {node: '>=18'} - '@isaacs/cliui@9.0.0': - resolution: {integrity: sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==} - engines: {node: '>=18'} - '@lit-labs/ssr-dom-shim@1.5.1': resolution: {integrity: sha512-Aou5UdlSpr5whQe8AA/bZG0jMj96CoJIWbGfZ91qieWu5AWUMKw8VR/pAkQkJYvBNhmCcWnZlyyk5oze8JIqYA==} @@ -376,87 +375,98 @@ packages: '@module-federation/webpack-bundler-runtime@0.22.0': resolution: {integrity: sha512-aM8gCqXu+/4wBmJtVeMeeMN5guw3chf+2i6HajKtQv7SJfxV/f4IyNQJUeUQu9HfiAZHjqtMV5Lvq/Lvh8LdyA==} - '@napi-rs/canvas-android-arm64@0.1.97': - resolution: {integrity: sha512-V1c/WVw+NzH8vk7ZK/O8/nyBSCQimU8sfMsB/9qeSvdkGKNU7+mxy/bIF0gTgeBFmHpj30S4E9WHMSrxXGQuVQ==} + '@napi-rs/canvas-android-arm64@0.1.100': + resolution: {integrity: sha512-hjhCKhntPv9+t4ckHymdx0phYNcVW+GKQR6Lzw2zE+pOVjOplSmtx9nNNknTjbEDLcuLZqA1y8ufKg1XfgftzQ==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - '@napi-rs/canvas-darwin-arm64@0.1.97': - resolution: {integrity: sha512-ok+SCEF4YejcxuJ9Rm+WWunHHpf2HmiPxfz6z1a/NFQECGXtsY7A4B8XocK1LmT1D7P174MzwPF9Wy3AUAwEPw==} + '@napi-rs/canvas-darwin-arm64@0.1.100': + resolution: {integrity: sha512-2PcswRaC7Ly645DGt88///zuFDhJxJYdKAs1uU3mfk1atYkXufgcgLfBpk6Tm12nCQBaNt1wpybuPZ4qOhTo8A==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - '@napi-rs/canvas-darwin-x64@0.1.97': - resolution: {integrity: sha512-PUP6e6/UGlclUvAQNnuXCcnkpdUou6VYZfQOQxExLp86epOylmiwLkqXIvpFmjoTEDmPmXrI+coL/9EFU1gKPA==} + '@napi-rs/canvas-darwin-x64@0.1.100': + resolution: {integrity: sha512-ePNZtj7pNIva/siZMg+HmbeozkIjqUIYdoymH8HaA3qK7LfzFN4WMBM8G6HQ9ZC+H3+Dnn5pqtiXpgLykaPOhw==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.97': - resolution: {integrity: sha512-XyXH2L/cic8eTNtbrXCcvqHtMX/nEOxN18+7rMrAM2XtLYC/EB5s0wnO1FsLMWmK+04ZSLN9FBGipo7kpIkcOw==} + '@napi-rs/canvas-linux-arm-gnueabihf@0.1.100': + resolution: {integrity: sha512-d5cDB48oWFGU8/XPhUOFAlySgb/VAu7D+s8fi55K1Pcfg8aPplHWqMgibhVLU8ky7Pyg/fuiVLz4Nf3JrSTuUA==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - '@napi-rs/canvas-linux-arm64-gnu@0.1.97': - resolution: {integrity: sha512-Kuq/M3djq0K8ktgz6nPlK7Ne5d4uWeDxPpyKWOjWDK2RIOhHVtLtyLiJw2fuldw7Vn4mhw05EZXCEr4Q76rs9w==} + '@napi-rs/canvas-linux-arm64-gnu@0.1.100': + resolution: {integrity: sha512-rDxgxRu69RvDlX/bh9o22DxLsGr8EqsNgotL9+RwQE1S0b0cqeatqsw6aW45mukm0B42DIAaAacKaYQ8cqS1nw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [glibc] - '@napi-rs/canvas-linux-arm64-musl@0.1.97': - resolution: {integrity: sha512-kKmSkQVnWeqg7qdsiXvYxKhAFuHz3tkBjW/zyQv5YKUPhotpaVhpBGv5LqCngzyuRV85SXoe+OFj+Tv0a0QXkQ==} + '@napi-rs/canvas-linux-arm64-musl@0.1.100': + resolution: {integrity: sha512-K3mDW66N+xT2/V439u1alFANiBUjdEx2gLiNYnCmUsva5jZMxWTjafBYwTzYK+EMFMHrUoabuU+T1BIP5CgbYQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + libc: [musl] - '@napi-rs/canvas-linux-riscv64-gnu@0.1.97': - resolution: {integrity: sha512-Jc7I3A51jnEOIAXeLsN/M/+Z28LUeakcsXs07FLq9prXc0eYOtVwsDEv913Gr+06IRo34gJJVgT0TXvmz+N2VA==} + '@napi-rs/canvas-linux-riscv64-gnu@0.1.100': + resolution: {integrity: sha512-mooqUBTIsccZpnoQC4NgrC1v6C1vof39etLNMnBwCY+p0gajWJvAHLGQ6g/gGyS5YrpDW+GefSN4+Cvcr08UWw==} engines: {node: '>= 10'} cpu: [riscv64] os: [linux] + libc: [glibc] - '@napi-rs/canvas-linux-x64-gnu@0.1.97': - resolution: {integrity: sha512-iDUBe7AilfuBSRbSa8/IGX38Mf+iCSBqoVKLSQ5XaY2JLOaqz1TVyPFEyIck7wT6mRQhQt5sN6ogfjIDfi74tg==} + '@napi-rs/canvas-linux-x64-gnu@0.1.100': + resolution: {integrity: sha512-1eCvkDCazm7FFhsT7DfGOdSaHgZVK3bt/dSBl5EWHOWmnz+I7j8tPseJqqD81NF+MH21jKUK4wQSDjN0mdhnTg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [glibc] - '@napi-rs/canvas-linux-x64-musl@0.1.97': - resolution: {integrity: sha512-AKLFd/v0Z5fvgqBDqhvqtAdx+fHMJ5t9JcUNKq4FIZ5WH+iegGm8HPdj00NFlCSnm83Fp3Ln8I2f7uq1aIiWaA==} + '@napi-rs/canvas-linux-x64-musl@0.1.100': + resolution: {integrity: sha512-20arT6lnI19S68qNlii73TSEDbECNgzMz2EpldC1V3mZFuRkeujXkcebRk0LRJe9SEUAooYiLokfMViY8IX7yA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + libc: [musl] - '@napi-rs/canvas-win32-arm64-msvc@0.1.97': - resolution: {integrity: sha512-u883Yr6A6fO7Vpsy9YE4FVCIxzzo5sO+7pIUjjoDLjS3vQaNMkVzx5bdIpEL+ob+gU88WDK4VcxYMZ6nmnoX9A==} + '@napi-rs/canvas-win32-arm64-msvc@0.1.100': + resolution: {integrity: sha512-DZFFT1wIAg37LJw37yhMRFfjATd3vTQzjZ1Yki8u2vhO6Hi5VE6BVaGQ1aaDu7xb4iMErz+9EOwjpS7xcxFeBw==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - '@napi-rs/canvas-win32-x64-msvc@0.1.97': - resolution: {integrity: sha512-sWtD2EE3fV0IzN+iiQUqr/Q1SwqWhs2O1FKItFlxtdDkikpEj5g7DKQpY3x55H/MAOnL8iomnlk3mcEeGiUMoQ==} + '@napi-rs/canvas-win32-x64-msvc@0.1.100': + resolution: {integrity: sha512-MyT1j3mHC2+Lu4pBi9mKyMJhtP6U7k7EldY7sj/uS5gJA65gTXt8MefJQXLJo5d/vZbuWmfxzkEUNc/urV3pHA==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - '@napi-rs/canvas@0.1.97': - resolution: {integrity: sha512-8cFniXvrIEnVwuNSRCW9wirRZbHvrD3JVujdS2P5n5xiJZNZMOZcfOvJ1pb66c7jXMKHHglJEDVJGbm8XWFcXQ==} + '@napi-rs/canvas@0.1.100': + resolution: {integrity: sha512-xglYA6q3XO5P3BNJYxVZ1IV7DLVjp1Py6nwag88YntrS+3vKHyYcMqXVS4ZztJmwz2uGvz1FWhI/4LgbR5uQDA==} engines: {node: '>= 10'} '@napi-rs/wasm-runtime@1.0.7': resolution: {integrity: sha512-SeDnOO0Tk7Okiq6DbXmmBODgOAb9dp9gjlphokTUxmt8U3liIP1ZsozBahH69j/RJv+Rfs6IwUKHTgQYJ/HBAw==} - '@napi-rs/wasm-runtime@1.1.1': - resolution: {integrity: sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==} + '@napi-rs/wasm-runtime@1.1.4': + resolution: {integrity: sha512-3NQNNgA1YSlJb/kMH1ildASP9HW7/7kYnRI2szWJaofaS1hWmbGI4H+d3+22aGzXXN9IJ+n+GiFVcGipJP18ow==} + peerDependencies: + '@emnapi/core': ^1.7.1 + '@emnapi/runtime': ^1.7.1 + + '@nodable/entities@2.1.0': + resolution: {integrity: sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA==} '@oxc-project/types@0.122.0': resolution: {integrity: sha512-oLAl5kBpV4w69UtFZ9xqcmTi+GENWOcPF7FCrczTiBbmC0ibXxCwyvZGbO39rCVEuLGAZM84DH0pUIyyv/YJzA==} - '@push.rocks/consolecolor@2.0.3': - resolution: {integrity: sha512-hA+m0BMqEwZNSAS7c2aQFfoPkpX/dNdsHzkdLdeERUOy7BLacb9ItTUofGtjtginP0yDj4NSpqSjNYyX3Y8Y/w==} + '@push.rocks/consolecolor@2.0.4': + resolution: {integrity: sha512-rQJfuSJLzm117PBpsfyemX8Q/rpKh8ZVc2AqDVu6RXJMJkmGkKsADe0/rnttuHZYss8IP7yJIN9E6Vnx+jyy0A==} '@push.rocks/early@4.0.4': resolution: {integrity: sha512-ak6/vqZ1PlFV08fSFQ6UwiBrr+K6IsfieZWWzT7eex1Ls6GvWEi8wZ3REFDPJq/qckNLWSgEy0EsqzRtltkaCA==} @@ -467,35 +477,32 @@ packages: '@push.rocks/isounique@1.0.5': resolution: {integrity: sha512-Z0BVqZZOCif1THTbIKWMgg0wxCzt9CyBtBBqQJiZ+jJ0KlQFrQHNHrPt81/LXe/L4x0cxWsn0bpL6W5DNSvNLw==} - '@push.rocks/lik@6.3.1': - resolution: {integrity: sha512-UWDwGBaVx5yPtAFXqDDBtQZCzETUOA/7myQIXb+YBsuiIw4yQuhNZ23uY2ChQH2Zn6DLqdNSgQcYC0WywMZBNQ==} + '@push.rocks/lik@6.4.1': + resolution: {integrity: sha512-W5M2zoJWUxYnCVqUB7jaxMB4W1kfhs1P6SXvWGqwDpJAjMjCnZeAXD+w0akECgSBY1zCCT2qMj7YK4Gza0t25g==} - '@push.rocks/lik@6.4.0': - resolution: {integrity: sha512-GCdXyF2a6NP+i0W6Mib1PjtA6JGrl6Ae17SbaQwqTscn4JHNta6xm9r+D8/b83XGZsoU903FlJZli3YqJCxT9Q==} + '@push.rocks/qenv@6.1.4': + resolution: {integrity: sha512-NlDwrb3KJVBCeEXIWaYRZXZLOvHhDoo+n2X5akcGCDjn5HyP0C9/opn2RDpCnSt+hoValKpp89wcX4BEB+gWjA==} - '@push.rocks/qenv@6.1.3': - resolution: {integrity: sha512-+z2hsAU/7CIgpYLFqvda8cn9rUBMHqLdQLjsFfRn5jPoD7dJ5rFlpkbhfM4Ws8mHMniwWaxGKo+q/YBhtzRBLg==} + '@push.rocks/smartbuffer@3.0.6': + resolution: {integrity: sha512-1jXfAOsisgDZS+L1E5OCLcM1dseO2rpuqGtSbeB89IDMiBeBTYbzcQ7ZkQQpFIzEzpzjvtl6COT6ZVxCtGnhGA==} - '@push.rocks/smartbuffer@3.0.5': - resolution: {integrity: sha512-pWYF08Mn8s/KF/9nHRk7pZPzuMjmYVQay2c5gGexdayxn1W4eCSYYhWH73vR2JBfGeGq/izbRNuUuEaIEeTIKA==} + '@push.rocks/smartcli@4.0.21': + resolution: {integrity: sha512-BtBL4uTNrrEynYsltPJBxYd6lweVuD9DDoKyqZLMFGIWMdizqzy1PuO6aCUqCKdZBcxW7ckfXZDWIoEc61sa3w==} - '@push.rocks/smartcli@4.0.20': - resolution: {integrity: sha512-gCo4ItvsPj8WoVAJw/6vkuoGA5FtIoACux2ktcCeH0nrFe7/xGR6waJ1aZcYAi7QN4gi52TlsgwuKz7BzXqhmQ==} + '@push.rocks/smartclickhouse@2.2.1': + resolution: {integrity: sha512-K0qSPcMbUisHn/igQu4XaHn3SC9mnlu/mhAp5RwTeyL+rha/U4RtW/t4E89OUp7o35XnP4T4U4UUs58Cxk1h+Q==} - '@push.rocks/smartclickhouse@2.2.0': - resolution: {integrity: sha512-eTzKiREIPSzL1kPkVyD6vEbn+WV/DvQqDjP67VlhNlQGbRcemnJG/eLrUUR1ytmdIqnsZGEK6UYBgyj5nhzLNQ==} + '@push.rocks/smartconfig@6.1.1': + resolution: {integrity: sha512-coEpt1s0QII5cUh+Vj9E57iuuOlsn3ecTJOuo/ry9npSYDE9oapKgDO/odXBRNQYBsIlF8jEtXr+LdO0mZNTMw==} - '@push.rocks/smartconfig@6.1.0': - resolution: {integrity: sha512-B+xh63PhGAsSwuRyCKXr4PAjJ4HoVKhNysi67OGY6gGqGm6uopgEW1cvrUZ7T5ZSck9KlVx7ZTugbqm6dqBK1Q==} - - '@push.rocks/smartdelay@3.0.5': - resolution: {integrity: sha512-mUuI7kj2f7ztjpic96FvRIlf2RsKBa5arw81AHNsndbxO6asRcxuWL8dTVxouEIK8YsBUlj0AsrCkHhMbLQdHw==} + '@push.rocks/smartdelay@3.1.0': + resolution: {integrity: sha512-59xveBMbWmbFhh/rqhQnYG/klg/VONG9hV8+RQ7ftqsNRkcmUT+VM5etAbODgAUvsF4lxK+xVR0tbZOo0kGhRQ==} '@push.rocks/smartenv@5.0.13': resolution: {integrity: sha512-ACXmUcHZHl2CF2jnVuRw9saRRrZvJblCRs2d+K5aLR1DfkYFX3eA21kcMlKeLisI3aGNbIj9vz/rowN5qkRkfA==} - '@push.rocks/smartenv@6.0.0': - resolution: {integrity: sha512-ktW5MqOFs0492sB4vrvl4lgRFQ/sQ4AyREgB+sCIzGqszHWGVvGXR95Y2a3z66jkLPYML2CUWHzmMlfv8fkG+A==} + '@push.rocks/smartenv@6.1.0': + resolution: {integrity: sha512-pKm5knYEkcHHc9XaYJ41Ya8/WfZB6fy1ZDB+TSLC85lvMrrRFLSsujjDehdDXl/mJr3MqecauTh2QzQIszTrjQ==} '@push.rocks/smartexit@2.0.3': resolution: {integrity: sha512-ZWpZ3Elorpv/rKtUcCUejUHG4BIE5B3QWysBAgb7lTcA7y0vGdFY32Y5/Q5tHpZM6PPxl/WTdUOYtSojQTq+pA==} @@ -506,23 +513,20 @@ packages: '@push.rocks/smartfile-interfaces@1.0.7': resolution: {integrity: sha512-MeOl/200UOvSO4Pgq/DVFiBVZpL9gjOBQM+4XYNjSxda8c6VBvchHAntaFLQUlO8U1ckNaP9i+nMO4O4/0ymyw==} - '@push.rocks/smartfile@11.2.7': - resolution: {integrity: sha512-8Yp7/sAgPpWJBHohV92ogHWKzRomI5MEbSG6b5W2n18tqwfAmjMed0rQvsvGrSBlnEWCKgoOrYIIZbLO61+J0Q==} + '@push.rocks/smartfile@13.1.3': + resolution: {integrity: sha512-p0pqD3FBykwxeQDnnv0fhLaPAQ233a1w/nNij8JYuYWEsH3eVdE5elgecRRfsO+L8Jtntx0QPPJ9p0Aybgb7ow==} - '@push.rocks/smartfile@13.1.2': - resolution: {integrity: sha512-DaEhwmnGEpX4coeeToaw4cZe3pNBhH7CY1iGr+d3pIXihozREvzzAR9/0i2r7bUXXL5+Lgy8YYIk5ZS+fwxMKA==} - - '@push.rocks/smartfs@1.5.0': - resolution: {integrity: sha512-QwMD44HgX3d9PPxUwR0uS+0PEMtesKvKbZR+s4pezL2er6oPneKJMLkO6TJPvJ38nug6Lmlk9Bu7UrwR2kS3Vw==} + '@push.rocks/smartfs@1.5.1': + resolution: {integrity: sha512-M/JIRWhVwY6EhwEGL+wz3d1CkuNTcBTXKylOv/gk1fyfw3tnkOQheux+NjV/8lVMQG+NeQca5yUaJIz1s+OESA==} '@push.rocks/smartguard@3.1.0': resolution: {integrity: sha512-J23q84f1O+TwFGmd4lrO9XLHUh2DaLXo9PN/9VmTWYzTkQDv5JehmifXVI0esophXcCIfbdIu6hbt7/aHlDF4A==} - '@push.rocks/smarthash@3.2.6': - resolution: {integrity: sha512-Mq/WNX0Tjjes3X1gHd/ZBwOOKSrAG/Z3Xoc0OcCm3P20WKpniihkMpsnlE7wGjvpHLi/ZRe/XkB3KC3d5r9X4g==} + '@push.rocks/smarthash@3.2.7': + resolution: {integrity: sha512-y6iyu9l8Hslsa8W4e8UktX5d0yFZqipNgxxIik6NT0yHUM1zagx2cjemUtdV49uq1u+086Wr7nvrzLROWDzReA==} - '@push.rocks/smarti18n@1.0.4': - resolution: {integrity: sha512-bHIi9Iuzp2cbux9q79ZK5jOQYPsYJ9zDDS4p/xEPQH31gr0mcFRosLSQb1kvDQDVmUhI0ADlQMqr2ui9zEXQHA==} + '@push.rocks/smarti18n@1.1.0': + resolution: {integrity: sha512-fRdnqWtmeIO3kbvyCFwdSM2+IHQI+Uz9+2TQCla5Qj5ISypRI1Cj4oRmde1QeGs7TyH50zXoO2vVXOS59Ya45g==} '@push.rocks/smartinteract@2.0.16': resolution: {integrity: sha512-eltvVRRUKBKd77DSFA4DPY2g4V4teZLNe8A93CDy/WglglYcUjxMoLY/b0DFTWCWKYT+yjk6Fe6p0FRrvX9Yvg==} @@ -530,8 +534,8 @@ packages: '@push.rocks/smartjson@5.2.0': resolution: {integrity: sha512-710e8UwovRfPgUtaBHcd6unaODUjV5fjxtGcGCqtaTcmvOV6VpasdVfT66xMDzQmWH2E9ZfHDJeso9HdDQzNQA==} - '@push.rocks/smartjson@6.0.0': - resolution: {integrity: sha512-FYfJnmukt66WePn6xrVZ3BLmRQl9W82LcsICK3VU9sGW7kasig090jKXPm+yX8ibQcZAO/KyR/Q8tMIYZNxGew==} + '@push.rocks/smartjson@6.0.1': + resolution: {integrity: sha512-iIw860jpjBcl83bLtq97QrjJxQkgxIKkhrX53EnpsVsZVNBgPCymLp0xNqY2jMpak5MKCEIWUVXkrmWVXj/TlQ==} '@push.rocks/smartlog-destination-devtools@1.0.12': resolution: {integrity: sha512-zvsIkrqByc0JRaBgIyhh+PSz2SY/e/bmhZdUcr/OW6pudgAcqe2sso68EzrKux0w9OMl1P9ZnzF3FpCZPFWD/A==} @@ -542,14 +546,14 @@ packages: '@push.rocks/smartlog-interfaces@3.0.2': resolution: {integrity: sha512-8hGRTJehbsFSJxLhCQkA018mZtXVPxPTblbg9VaE/EqISRzUw+eosJ2EJV7M4Qu0eiTJZjnWnNLn8CkD77ziWw==} - '@push.rocks/smartlog@3.2.1': - resolution: {integrity: sha512-x9/P59pfzY6HOGYmYrhqmoRl/pliTVx44g2Vbb8dIr/0zA39cAJHlPze1+UGncn37XKGmutK2iLSsJLEsexD0A==} + '@push.rocks/smartlog@3.2.2': + resolution: {integrity: sha512-3Nw/Ki/jZ4vrrWnEtpcGPF28jQ+fr9/9Edc7ytaEA6ZWIpojtwacJ5qihMvHbIei+zjpD35w6tZP2mQjvw5VRQ==} '@push.rocks/smartmanifest@2.0.2': resolution: {integrity: sha512-QGc5C9vunjfUbYsPGz5bynV/mVmPHkrQDkWp8ZO8VJtK1GZe+njgbrNyxn2SUHR0IhSAbSXl1j4JvBqYf5eTVg==} - '@push.rocks/smartmarkdown@3.0.3': - resolution: {integrity: sha512-9KhKZxDQKPk4P/2CYdVqJa5dpGfTA8w1cxqoVZL3e8RPA7EGxbdYEqMp0n2d9mth0btk/m0KHHV+G09LfCVeBw==} + '@push.rocks/smartmarkdown@3.1.0': + resolution: {integrity: sha512-+iiGMS0ceQK42OJFGzSWlj1CDYxab++tS0dVTVgV3H4uA92+PWEbnZ0FAeNyeNh8yJCiz2JvvVo6vfPJSTY/Kw==} '@push.rocks/smartmatch@2.0.0': resolution: {integrity: sha512-MBzP++1yNIBeox71X6VxpIgZ8m4bXnJpZJ4nWVH6IWpmO38MXTu4X0QF8tQnyT4LFcwvc9iiWaD15cstHa7Mmw==} @@ -557,8 +561,8 @@ packages: '@push.rocks/smartmime@2.0.4': resolution: {integrity: sha512-mG6lRBLr5nF+GLZmgCcdjhdDsmTtJWBFZDCa1eJ8Au9TvUzbPW0fY5aqJBb3UwfyZzH6St8Th9cJSXjagOQkYA==} - '@push.rocks/smartntml@2.0.8': - resolution: {integrity: sha512-LIYeOQbmav2m2kZQz4pGS74xvWAm4YAGQnbPkofA2oas4RW9SGR1JTRpFd9pxGCOXd6djYdNGsZZ/xz+k/vRPQ==} + '@push.rocks/smartntml@2.0.9': + resolution: {integrity: sha512-6g8kf6Ag2864A+S79RBSZjV8xHBq82YC83j5TbG71aPLoGiy+YREg9HiIOLN50j8/hk3PEkM21YDOGhRle6R8Q==} '@push.rocks/smartobject@1.0.12': resolution: {integrity: sha512-xSMiqXiZXXUOixT3QIPsOUKOWjL3YA/1h9/YTiCzqs5C0D3tyfTbojnfcp6YbKZoBzans2I5LghaDHsGid2DKQ==} @@ -569,47 +573,44 @@ packages: '@push.rocks/smartpath@6.0.0': resolution: {integrity: sha512-r94u1MbBaIOSy+517PZp2P7SuZPSe9LkwJ8l3dXQKHeIOri/zDxk/RQPiFM+j4N9301ztkRyhvRj7xgUDroOsg==} - '@push.rocks/smartpromise@4.2.3': - resolution: {integrity: sha512-Ycg/TJR+tMt+S3wSFurOpEoW6nXv12QBtKXgBcjMZ4RsdO28geN46U09osPn9N9WuwQy1PkmTV5J/V4F9U8qEw==} + '@push.rocks/smartpromise@4.2.4': + resolution: {integrity: sha512-8FUyYt94hOIY9mqHjitn4h69u0jbEtTF2RKKw2DpiTVFjpDTk9gXbVHZ/V+xEcBrN4mrzdQES0OiDmkNPoddEQ==} '@push.rocks/smartrequest@2.1.0': resolution: {integrity: sha512-3eHLTRInHA+u+W98TqJwgTES7rRimBAsJC4JxVNQC3UUezmblAhM5/TIQsEBQTsbjAY8SeQKy6NHzW6iTiaD8w==} - '@push.rocks/smartrequest@4.4.2': - resolution: {integrity: sha512-Om4y1Ce4YdSu8VoXREz2SgFz9pDxcFEm0+SC1YYa3RXd0AH2Mknaj/1XfvfMqojnK9L7N2z1fY4xX8tO1IwqFQ==} - - '@push.rocks/smartrequest@5.0.1': - resolution: {integrity: sha512-gZQQF6HVt3LwTBxaPh6hHObd4VF76PUYQcs5pHD7f0VXaEewmrNAQSnccoinOY7fi45+0dOf04PJOXu9MibPzQ==} + '@push.rocks/smartrequest@5.0.3': + resolution: {integrity: sha512-Yu7fhkV+7ilumFT9rS6BCrI7GisTlkqAiH4Uuprs5SLFC/5OBlCSCpS5U2v6fU/hbknQelp9hdmGSr/KDoZ9qg==} '@push.rocks/smartrouter@1.3.3': resolution: {integrity: sha512-1+xZEnWlhzqLWAaJ1zFNhQ0zgbfCWQl1DBT72LygLxTs+P0K8AwJKgqo/IX6CT55kGCFnPAZIYSbVJlGsgrB0w==} - '@push.rocks/smartrust@1.3.2': - resolution: {integrity: sha512-HPzSJgDnKUdE5fkn2+BC9JvFXk7wl6aURAiHAXjHSCBLtzfgB7jEXjlg+K6CEfMjwQV7sy+hYABlq5DLXcFseQ==} + '@push.rocks/smartrust@1.4.0': + resolution: {integrity: sha512-3+VLuKEZYNkKZUYttt54u7tftrw/1scAo3N3401ztblh/7KdIQ1YHkGzOYA3sFhRqckk+yKKVi9wDz3YNmwaIA==} '@push.rocks/smartrx@3.0.10': resolution: {integrity: sha512-USjIYcsSfzn14cwOsxgq/bBmWDTTzy3ouWAnW5NdMyRRzEbmeNrvmy6TRqNeDlJ2PsYNTt1rr/zGUqvIy72ITg==} - '@push.rocks/smartserve@2.0.3': - resolution: {integrity: sha512-PttdFlh61lsDNSRvRCSlKjRzuxgD3WP2XLuBNXu1hLfqLpQXDESj0ZCRPDZslLZsyFT5aHP9godb4D4L3bzHWA==} + '@push.rocks/smartserve@2.0.4': + resolution: {integrity: sha512-nMhTOVNRL20UL/WiFYfo1VDEQgzwwQ95tapRHEDnTi32KA5HlitS8dGbnGV+mM4G9lrH/CuBDXWguldhqvKyOg==} '@push.rocks/smartshell@3.3.8': resolution: {integrity: sha512-t9J/py0vnea4ZtOs7Anc9dc6lcvg6EDvYBw5eE1mB+KUWxMQf/ROIQwWMo6B9SMNY4JS2UwvfuJQJ8makP/7Tg==} - '@push.rocks/smartsitemap@4.0.1': - resolution: {integrity: sha512-FcNFB4CgGX98qP+bkKmVBTQoQomLfRXTTRAn8DklEaFyhWzak6Rl5AHXkmu7ZOZUgrpgvCmCx2q21uwmPOajbQ==} + '@push.rocks/smartsitemap@4.0.2': + resolution: {integrity: sha512-VIDJbOym82cWBArhIdBgVeCqp2vEWDtFIz6huQqwFAumLxNM6EtyqPmSBUDpzcpp/AbjxGART81Rp6P1PmGnag==} - '@push.rocks/smartspawn@3.0.3': - resolution: {integrity: sha512-DyrGPV69wwOiJgKkyruk5hS3UEGZ99xFAqBE9O2nM8VXCRLbbty3xt1Ug5Z092ZZmJYaaGMSnMw3ijyZJFCT0Q==} + '@push.rocks/smartspawn@3.0.4': + resolution: {integrity: sha512-bPl4+SCLbW07YHXU1bgBuIfPVv5+Wbg89+Pz0e6ezPBmEQxj372qPRGdaR+8Ouw3d5KZ/IEyuVG+fcQbpDhyYw==} - '@push.rocks/smartstate@2.2.1': - resolution: {integrity: sha512-fLrilAJNI6QOs0hcBRD9eTwU2Rlo6NlDCKQo9N/zyp0VJ6AV1UVdEZcVIQILu1CO0RUHX9aBAbFunJrb2+Zrkg==} + '@push.rocks/smartstate@2.3.1': + resolution: {integrity: sha512-rutCXb2MVo+bg4tWbX4uYFrJCIZOrGvbJKhmuvy1hJBk2j7OApsDib3vlH1b+uhu15nhHvUM1ZpnpCXjZj6j1g==} - '@push.rocks/smartstream@3.4.0': - resolution: {integrity: sha512-kePb44W9n5K96zj2Ms3K4xnYbNXP5AfxDd86zZMDQ1/T10nvkIpL9m5w4lG/VJ4KAsWFs81S87BkkcjhhrY5Kw==} + '@push.rocks/smartstream@3.4.2': + resolution: {integrity: sha512-JsjFjaNIlCBUglciM/IrXH0mH+oOQTLYQ6UMwqsew2XSUTXxER3ev2NeKMDBV6ONf2HF21EPnOZuKfgvtNGnUg==} - '@push.rocks/smartstring@4.1.0': - resolution: {integrity: sha512-Q4py/Nm3KTDhQ9EiC75yBtSTLR0KLMwhKM+8gGcutgKotZT6wJ3gncjmtD8LKFfNhb4lSaFMgPJgLrCHTOH6Iw==} + '@push.rocks/smartstring@4.1.1': + resolution: {integrity: sha512-FlEpp2PcQ819ymmxjWb5/2gD8uPic/+IvOrSP2+KTdXLHOI4GSyK9YW/YBF541LVGl0GC3VGFmypcPNUzkPfYw==} '@push.rocks/smarttime@4.2.3': resolution: {integrity: sha512-8gMg8RUkrCG4p9NcEUZV7V6KpL24+jAMK02g7qyhfA6giz/JJWD0+8w8xjSR+G7qe16KVQ2y3RbvAL9TxmO36g==} @@ -627,14 +628,8 @@ packages: '@push.rocks/smartxml@2.0.0': resolution: {integrity: sha512-1d06zYJX4Zt8s5w5qFOUg2LAEz9ykrh9d6CQPK4WAgOBIefb1xzVEWHc7yoxicc2OkzNgC3IBCEg3s6BncZKWw==} - '@push.rocks/smartyaml@2.0.5': - resolution: {integrity: sha512-tBcf+HaOIfeEsTMwgUZDtZERCxXQyRsWO8Ar5DjBdiSRchbhVGZQEBzXswMS0W5ZoRenjgPK+4tPW3JQGRTfbg==} - - '@push.rocks/smartyaml@3.0.4': - resolution: {integrity: sha512-1JRt+hnoc2zHw3AW+vXKlCdSVwqOmY/01fu+2HBviS0UDjoZCa+/rp6E3GaQb5lEEafKi8ENbffAfjXXp3N2xQ==} - - '@push.rocks/taskbuffer@3.5.0': - resolution: {integrity: sha512-Y9WwIEIyp6oVFdj06j84tfrZIvjhbMb3DF52rYxlTeYLk3W7RPhSg1bGPCbtkXWeKdBrSe37V90BkOG7Qq8Pqg==} + '@push.rocks/smartyaml@3.0.5': + resolution: {integrity: sha512-oWmnHSqud+0jCZ69HPyfXg7b1e8wt23mG/i9brOnMQdliw5NDZHH0xze/EYzXCIGUBVMpotzEpYvAhMycw4Knw==} '@push.rocks/taskbuffer@8.0.2': resolution: {integrity: sha512-SRCAzrSHysW5XEjwZ494V60ybdpOo/s96jDD3sn7SkYolzg2Pboh+SW5Q7SVNcdkP4b9wCEizOYe9CB3vj3W6w==} @@ -642,11 +637,11 @@ packages: '@push.rocks/webrequest@4.0.5': resolution: {integrity: sha512-wVSCaXqJ9Vh+rbwVz0wDl46dYz4rnwwSrm5vbVXKbuH6oKTPF0YRoujeJPqRltIn64RVGdLeY9/6ix+ZCrzhsg==} - '@push.rocks/websetup@3.0.19': - resolution: {integrity: sha512-iKJDwXdMmQdu5siOIgziPRxM51lN1AU9HOr+yMteu1YMDkZT7HKCyisDAr4gC9WZ9a7FzsG8zgthm4dMeA8NTw==} + '@push.rocks/websetup@3.0.20': + resolution: {integrity: sha512-7TJ2ryFEpuSocGQwhhdEL6x8d7H0q3N4MJIJS46nc7r5XM5oXAXaIj/8gX2/TSNQWUt35CNSpJPkznoLpp95Jw==} - '@push.rocks/webstore@2.0.20': - resolution: {integrity: sha512-Z3L4OHGcw/Gs9aXpMUwebEPTh0nK/C7R6YwPfCLcGVu9yd/ZShaQ8QZEYE243Cu9J1Mn+CEtz4jpPLnHiizHQA==} + '@push.rocks/webstore@2.0.22': + resolution: {integrity: sha512-EdWfcNo0m6adSgTq7NtZusvmubUtRiCRADfFIbbgGZhCr9xLxmyB1nCtO/wzUrWZEbnR+Q9+fYkJFnDFOmZ4wA==} '@push.rocks/webstream@1.0.10': resolution: {integrity: sha512-45CcR0I4/9v0qSjLvz2dYTGMkR0YP3x66ItpStdad5hidJm86t1lfHF06d0oiEvJTpvQkeyIX/8YKAumf21d/Q==} @@ -655,10 +650,6 @@ packages: resolution: {integrity: sha512-XYeoKGkmIdsWX64NlPA1fuA41n/1bQ7LdYXytlU/QqYeW7ojgA0ARRhBSh/2phL6o0Jpw6K/7gJ8jc7ab/Tc+w==} deprecated: This package has been deprecated in favour of the new package at @push.rocks/isounique - '@pushrocks/smartdelay@3.0.1': - resolution: {integrity: sha512-I+i/QhC6kLsXsWyW19UgD1vH2r1YWVxK19VMxt2CEuvxMyC6tuCd0vqud9vv5JxaxsJwxWlOsrURkgL4tXeILQ==} - deprecated: This package has been deprecated in favour of the new package at @push.rocks/smartdelay - '@pushrocks/smartenv@5.0.5': resolution: {integrity: sha512-VWON1OJ4qV2/9hzJbgRquRekaO9am3b8W82tgCwgO6LBg23ea2tanfd+gESVMbRFduxHVoFLvlhSBcDGM5zsLA==} deprecated: This package has been deprecated in favour of the new package at @push.rocks/smartenv @@ -675,10 +666,6 @@ packages: resolution: {integrity: sha512-VeTurbZ1+ZMxBDJk1Y1LV8SN9xLI+oDXKVeCFw41FAGEKOUEqordqFpi6t+7Vhe/TXUZzCVpZ5bXxAxrGf8yTQ==} deprecated: This package has been deprecated in favour of the new package at @push.rocks/smartpromise - '@pushrocks/smartpromise@4.0.2': - resolution: {integrity: sha512-bqorOaGXPOuiOSV81luTKrTghg4O4NBRD0zyv7TIqmrMGf4a0uoozaUMp1X8vQdZW+y0gTzUJP9wkzAE6Cci0g==} - deprecated: This package has been deprecated in favour of the new package at @push.rocks/smartpromise - '@pushrocks/smartstring@4.0.7': resolution: {integrity: sha512-TxHSar7Cj29E+GOcIj4DeZKWCNVzHKdqnrBRqcBqLqmeYZvzFosLXpFKoaCJDq7MSxuPoCvu5woSdp9YmPXyog==} deprecated: This package has been deprecated in favour of the new package at @push.rocks/smartstring @@ -721,36 +708,42 @@ packages: engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] + libc: [glibc] '@rolldown/binding-linux-arm64-musl@1.0.0-rc.11': resolution: {integrity: sha512-jfndI9tsfm4APzjNt6QdBkYwre5lRPUgHeDHoI7ydKUuJvz3lZeCfMsI56BZj+7BYqiKsJm7cfd/6KYV7ubrBg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] + libc: [musl] '@rolldown/binding-linux-ppc64-gnu@1.0.0-rc.11': resolution: {integrity: sha512-ZlFgw46NOAGMgcdvdYwAGu2Q+SLFA9LzbJLW+iyMOJyhj5wk6P3KEE9Gct4xWwSzFoPI7JCdYmYMzVtlgQ+zfw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] + libc: [glibc] '@rolldown/binding-linux-s390x-gnu@1.0.0-rc.11': resolution: {integrity: sha512-hIOYmuT6ofM4K04XAZd3OzMySEO4K0/nc9+jmNcxNAxRi6c5UWpqfw3KMFV4MVFWL+jQsSh+bGw2VqmaPMTLyw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] + libc: [glibc] '@rolldown/binding-linux-x64-gnu@1.0.0-rc.11': resolution: {integrity: sha512-qXBQQO9OvkjjQPLdUVr7Nr2t3QTZI7s4KZtfw7HzBgjbmAPSFwSv4rmET9lLSgq3rH/ndA3ngv3Qb8l2njoPNA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] + libc: [glibc] '@rolldown/binding-linux-x64-musl@1.0.0-rc.11': resolution: {integrity: sha512-/tpFfoSTzUkH9LPY+cYbqZBDyyX62w5fICq9qzsHLL8uTI6BHip3Q9Uzft0wylk/i8OOwKik8OxW+QAhDmzwmg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] + libc: [musl] '@rolldown/binding-openharmony-arm64@1.0.0-rc.11': resolution: {integrity: sha512-mcp3Rio2w72IvdZG0oQ4bM2c2oumtwHfUfKncUM6zGgz0KgPz4YmDPQfnXEiY5t3+KD/i8HG2rOB/LxdmieK2g==} @@ -778,60 +771,64 @@ packages: '@rolldown/pluginutils@1.0.0-rc.11': resolution: {integrity: sha512-xQO9vbwBecJRv9EUcQ/y0dzSTJgA7Q6UVN7xp6B81+tBGSLVAK03yJ9NkJaUA7JFD91kbjxRSC/mDnmvXzbHoQ==} - '@rspack/binding-darwin-arm64@1.7.10': - resolution: {integrity: sha512-bsXi7I6TpH+a4L6okIUh1JDvwT+XcK/L7Yvhu5G2t5YYyd2fl5vMM5O9cePRpEb0RdqJZ3Z8i9WIWHap9aQ8Gw==} + '@rspack/binding-darwin-arm64@1.7.11': + resolution: {integrity: sha512-oduECiZVqbO5zlVw+q7Vy65sJFth99fWPTyucwvLJJtJkPL5n17Uiql2cYP6Ijn0pkqtf1SXgK8WjiKLG5bIig==} cpu: [arm64] os: [darwin] - '@rspack/binding-darwin-x64@1.7.10': - resolution: {integrity: sha512-h/kOGL1bUflDDYnbiUjaRE9kagJpour4FatGihueV03+cRGQ6jpde+BjUakqzMx65CeDbeYI6jAiPhElnlAtRw==} + '@rspack/binding-darwin-x64@1.7.11': + resolution: {integrity: sha512-a1+TtTE9ap6RalgFi7FGIgkJP6O4Vy6ctv+9WGJy53E4kuqHR0RygzaiVxCI/GMc/vBT9vY23hyrpWb3d1vtXA==} cpu: [x64] os: [darwin] - '@rspack/binding-linux-arm64-gnu@1.7.10': - resolution: {integrity: sha512-Z4reus7UxGM4+JuhiIht8KuGP1KgM7nNhOlXUHcQCMswP/Rymj5oJQN3TDWgijFUZs09ULl8t3T+AQAVTd/WvA==} + '@rspack/binding-linux-arm64-gnu@1.7.11': + resolution: {integrity: sha512-P0QrGRPbTWu6RKWfN0bDtbnEps3rXH0MWIMreZABoUrVmNQKtXR6e73J3ub6a+di5s2+K0M2LJ9Bh2/H4UsDUA==} cpu: [arm64] os: [linux] + libc: [glibc] - '@rspack/binding-linux-arm64-musl@1.7.10': - resolution: {integrity: sha512-LYaoVmWizG4oQ3g+St3eM5qxsyfH07kLirP7NJcDMgvu3eQ29MeyTZ3ugkgW6LvlmJue7eTQyf6CZlanoF5SSg==} + '@rspack/binding-linux-arm64-musl@1.7.11': + resolution: {integrity: sha512-6ky7R43VMjWwmx3Yx7Jl7faLBBMAgMDt+/bN35RgwjiPgsIByz65EwytUVuW9rikB43BGHvA/eqlnjLrUzNBqw==} cpu: [arm64] os: [linux] + libc: [musl] - '@rspack/binding-linux-x64-gnu@1.7.10': - resolution: {integrity: sha512-aIm2G4Kcm3qxDTNqKarK0oaLY2iXnCmpRQQhAcMlR0aS2LmxL89XzVeRr9GFA1MzGrAsZONWCLkxQvn3WUbm4Q==} + '@rspack/binding-linux-x64-gnu@1.7.11': + resolution: {integrity: sha512-cuOJMfCOvb2Wgsry5enXJ3iT1FGUjdPqtGUBVupQlEG4ntSYsQ2PtF4wIDVasR3wdxC5nQbipOrDiN/u6fYsdQ==} cpu: [x64] os: [linux] + libc: [glibc] - '@rspack/binding-linux-x64-musl@1.7.10': - resolution: {integrity: sha512-SIHQbAgB9IPH0H3H+i5rN5jo9yA/yTMq8b7XfRkTMvZ7P7MXxJ0dE8EJu3BmCLM19sqnTc2eX+SVfE8ZMDzghA==} + '@rspack/binding-linux-x64-musl@1.7.11': + resolution: {integrity: sha512-CoK37hva4AmHGh3VCsQXmGr40L36m1/AdnN5LEjUX6kx5rEH7/1nEBN6Ii72pejqDVvk9anEROmPDiPw10tpFg==} cpu: [x64] os: [linux] + libc: [musl] - '@rspack/binding-wasm32-wasi@1.7.10': - resolution: {integrity: sha512-J9HDXHD1tj+9FmX4+K3CTkO7dCE2bootlR37YuC2Owc0Lwl1/i2oGT71KHnMqI9faF/hipAaQM5OywkiiuNB7w==} + '@rspack/binding-wasm32-wasi@1.7.11': + resolution: {integrity: sha512-OtrmnPUVJMxjNa3eDMfHyPdtlLRmmp/aIm0fQHlAOATbZvlGm12q7rhPW5BXTu1yh+1rQ1/uqvz+SzKEZXuJaQ==} cpu: [wasm32] - '@rspack/binding-win32-arm64-msvc@1.7.10': - resolution: {integrity: sha512-FaQGSCXH89nMOYW0bVp0bKQDQbrOEFFm7yedla7g6mkWlFVQo5UyBxid5wJUCqGJBtJepRxeRfByWiaI5nVGvg==} + '@rspack/binding-win32-arm64-msvc@1.7.11': + resolution: {integrity: sha512-lObFW6e5lCWNgTBNwT//yiEDbsxm9QG4BYUojqeXxothuzJ/L6ibXz6+gLMvbOvLGV3nKgkXmx8GvT9WDKR0mA==} cpu: [arm64] os: [win32] - '@rspack/binding-win32-ia32-msvc@1.7.10': - resolution: {integrity: sha512-/66TNLOeM4R5dHhRWRVbMTgWghgxz+32ym0c/zGGXQRoMbz7210EoL40ALUgdBdeeREO8LoV+Mn7v8/QZCwHzw==} + '@rspack/binding-win32-ia32-msvc@1.7.11': + resolution: {integrity: sha512-0pYGnZd8PPqNR68zQ8skamqNAXEA1sUfXuAdYcknIIRq2wsbiwFzIc0Pov1cIfHYab37G7sSIPBiOUdOWF5Ivw==} cpu: [ia32] os: [win32] - '@rspack/binding-win32-x64-msvc@1.7.10': - resolution: {integrity: sha512-SUa3v1W7PGFCy6AHRmDsm43/tkfaZFi1TN2oIk5aCdT9T51baDVBjAbehRDu9xFbK4piL3k7uqIVSIrKgVqk1g==} + '@rspack/binding-win32-x64-msvc@1.7.11': + resolution: {integrity: sha512-EeQXayoQk/uBkI3pdoXfQBXNIUrADq56L3s/DFyM2pJeUDrWmhfIw2UFIGkYPTMSCo8F2JcdcGM32FGJrSnU0Q==} cpu: [x64] os: [win32] - '@rspack/binding@1.7.10': - resolution: {integrity: sha512-j+DPEaSJLRgasxXNpYQpvC7wUkQF5WoWPiTfm4fLczwlAmYwGSVkJiyWDrOlvVPiGGYiXIaXEjVWTw6fT6/vnA==} + '@rspack/binding@1.7.11': + resolution: {integrity: sha512-2MGdy2s2HimsDT444Bp5XnALzNRxuBNc7y0JzyuqKbHBywd4x2NeXyhWXXoxufaCFu5PBc9Qq9jyfjW2Aeh06Q==} - '@rspack/core@1.7.10': - resolution: {integrity: sha512-dO7J0aHSa9Fg2kGT0+ZsM500lMdlNIyCHavIaz7dTDn6KXvFz1qbWQ/48x3OlNFw1mA0jxAjjw9e7h3sWQZUNg==} + '@rspack/core@1.7.11': + resolution: {integrity: sha512-rsD9b+Khmot5DwCMiB3cqTQo53ioPG3M/A7BySu8+0+RS7GCxKm+Z+mtsjtG/vsu4Tn2tcqCdZtA3pgLoJB+ew==} engines: {node: '>=18.12.0'} peerDependencies: '@swc/helpers': '>=0.5.1' @@ -845,11 +842,8 @@ packages: '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@serve.zone/catalog@2.9.0': - resolution: {integrity: sha512-7FgwS44pD/DFVj29jS0Kwwyn1i5h8cf4/yWMBEY8+8GO70ab3QctbcKMu+BVa1G3gIrpLqhpmxLFDoeL/zDnQA==} - - '@tempfix/idb@8.0.3': - resolution: {integrity: sha512-hPJQKO7+oAIY+pDNImrZ9QAINbz9KmwT+yO4iRVwdPanok2YKpaUxdJzIvCUwY0YgAawlvYdffbLvRLV5hbs2g==} + '@serve.zone/catalog@2.12.4': + resolution: {integrity: sha512-GRfJZ0yQxChUy7Gp4mxhuN5y4GXZMOEk0W7rJiyZbezA938q+pFTplb9ahSaEHjiUht1MmTu/5WtoJFwgAP8SQ==} '@tempfix/lenis@1.3.20': resolution: {integrity: sha512-ypeB0FuHLHOCQXW4d0RQ69txPJJH+1CHcpsZIUdcv2t1vR0IVyQr2vHihtde9UOXhjzqEnUphWon/UcJNsa0YA==} @@ -1006,11 +1000,11 @@ packages: '@tsclass/tsclass@4.4.4': resolution: {integrity: sha512-YZOAF+u+r4u5rCev2uUd1KBTBdfyFdtDmcv4wuN+864lMccbdfRICR3SlJwCfYS1lbeV3QNLYGD30wjRXgvCJA==} - '@tsclass/tsclass@9.5.0': - resolution: {integrity: sha512-HwMVwkrBnEFMjwOsMkGwWN/q+XEczSpf4a/PBAXgkDdV6sXdxAMFXUH1tW8Y5ecuvXFYMvFry4X57MCCT7Dm8A==} + '@tsclass/tsclass@9.5.1': + resolution: {integrity: sha512-IJKjLh/r4h1H4byDa+ODmBSM3HBfdCkUI3NT4TBSvG9Ov2zNTv5GhYeX7Wktsr4bcnicYM/zV58dVB6ubOUVTA==} - '@tybys/wasm-util@0.10.1': - resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==} + '@tybys/wasm-util@0.10.2': + resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==} '@types/buffer-json@2.0.3': resolution: {integrity: sha512-ItD4UfF3Q5jA+PEV6ZUWEHvlWaXJbd0rpuBKOIrEebM053FHaJddKsgUf0vy7nLSTs44nqFj3Mh8J3TiT0xv4g==} @@ -1018,11 +1012,14 @@ packages: '@types/clean-css@4.2.11': resolution: {integrity: sha512-Y8n81lQVTAfP2TOdtJJEsCoYl1AnOkqDqMvXb9/7pfgZZ7r8YrEyurrAvAoAjHOGXKRybay+5CsExqIH6liccw==} - '@types/debug@4.1.12': - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/debug@4.1.13': + resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} - '@types/fs-extra@11.0.4': - resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} + '@types/dom-mediacapture-transform@0.1.11': + resolution: {integrity: sha512-Y2p+nGf1bF2XMttBnsVPHUWzRRZzqUoJAKmiP10b5umnO6DDrWI0BrGDJy1pOHoOULVmGSfFNkQrAlC5dcj6nQ==} + + '@types/dom-webcodecs@0.1.13': + resolution: {integrity: sha512-O5hkiFIcjjszPIYyUSyvScyvrBoV3NOEEZx/pMlsu44TKzWNkLVBBxnxJz42in5n3QIolYOcBYFCPZZ0h8SkwQ==} '@types/hast@3.0.4': resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} @@ -1030,15 +1027,9 @@ packages: '@types/html-minifier@4.0.6': resolution: {integrity: sha512-1Dcf38DkVMYo8SIOkUka7GxI+0BztCVsnfiG2Sxb6G8ShHDQTWQb1WKps/eb3O074HNDCn8wU7LMl5N99nNG+Q==} - '@types/js-yaml@3.12.10': - resolution: {integrity: sha512-/Mtaq/wf+HxXpvhzFYzrzCqNRcA958sW++7JOFC8nPrZcvfi/TrzOaaGbvt27ltJB2NQbHVAg5a1wUCsyMH7NA==} - '@types/js-yaml@4.0.9': resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} - '@types/jsonfile@6.1.4': - resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} - '@types/linkify-it@5.0.0': resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} @@ -1054,20 +1045,17 @@ packages: '@types/mime-types@2.1.4': resolution: {integrity: sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==} - '@types/minimatch@5.1.2': - resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} - '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} '@types/mute-stream@0.0.4': resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} - '@types/node@22.19.15': - resolution: {integrity: sha512-F0R/h2+dsy5wJAUe3tAU6oqa2qbWY5TpNfL/RGmo1y38hiyO1w3x2jPtt76wmuaJI4DQnOBu21cNXQ2STIUUWg==} + '@types/node@22.19.17': + resolution: {integrity: sha512-wGdMcf+vPYM6jikpS/qhg6WiqSV/OhG+jeeHT/KlVqxYfD40iYJf9/AE1uQxVWFvU7MipKRkRv8NSHiCGgPr8Q==} - '@types/node@25.5.0': - resolution: {integrity: sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==} + '@types/node@25.6.1': + resolution: {integrity: sha512-coJCN8O1q4AGyyqCAUSP06P+SrMTu18BkEj3NVAK07q6QUneD2wzj3CLv9+yP+BMeZQlMvneXqqvDe3w+xcq7g==} '@types/randomatic@3.1.5': resolution: {integrity: sha512-VCwCTw6qh1pRRw+5rNTAwqPmf6A+hdrkdM7dBpZVmhl7g+em3ONXlYK/bWPVKqVGMWgP0d1bog8Vc/X6zRwRRQ==} @@ -1096,14 +1084,20 @@ packages: '@types/uuid@9.0.8': resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} + '@types/whatwg-mimetype@3.0.2': + resolution: {integrity: sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA==} + '@types/which@3.0.4': resolution: {integrity: sha512-liyfuo/106JdlgSchJzXEQCVArk0CvevqPote8F8HgWgJ3dRCcTHgJIsLDuee0kxk/mhbInzIZk3QWSZJ8R+2w==} '@types/wrap-ansi@3.0.0': resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} - '@ungap/structured-clone@1.3.0': - resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + + '@ungap/structured-clone@1.3.1': + resolution: {integrity: sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==} agentkeepalive@4.6.0: resolution: {integrity: sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==} @@ -1125,12 +1119,6 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - apexcharts@5.10.4: - resolution: {integrity: sha512-gt0VUqZ2+mr25ScbUcKZgJr96jKYm4vjOcxEWCEh/E5F4dWqhyo3dBhPRvNNnkKiWxkMd2cBwj3ZYH3rK39fkA==} - - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -1150,11 +1138,8 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - brace-expansion@1.1.12: - resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} - - brace-expansion@2.0.2: - resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + brace-expansion@2.1.0: + resolution: {integrity: sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==} brace-expansion@5.0.5: resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} @@ -1173,8 +1158,8 @@ packages: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} - call-bind@1.0.8: - resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} + call-bind@1.0.9: + resolution: {integrity: sha512-a/hy+pNsFUTR+Iz8TCJvXudKVLAnz/DyeSUo10I5yvFDQJBFU2s9uqQpoSrJlroHUKoKqzg+epxyP9lqFdzfBQ==} engines: {node: '>= 0.4'} call-bound@1.0.4: @@ -1232,9 +1217,6 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - concat-map@0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} - crelt@1.0.6: resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==} @@ -1298,6 +1280,9 @@ packages: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} + echarts@5.6.0: + resolution: {integrity: sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1305,6 +1290,10 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + entities@7.0.1: + resolution: {integrity: sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==} + engines: {node: '>=0.12'} + es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} @@ -1321,8 +1310,8 @@ packages: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} - esbuild@0.27.4: - resolution: {integrity: sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==} + esbuild@0.27.7: + resolution: {integrity: sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==} engines: {node: '>=18'} hasBin: true @@ -1338,11 +1327,6 @@ packages: resolution: {integrity: sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==} engines: {node: '>=6'} - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - eventemitter3@4.0.7: resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} @@ -1353,29 +1337,28 @@ packages: resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} engines: {node: '>=4'} - fake-indexeddb@5.0.2: - resolution: {integrity: sha512-cB507r5T3D55DfclY01GLkninZLfU7HXV/mhVRTnTRm5k2u+fY7Fof2dBkr80p5t7G7dlA/G5dI87QiMdPpMCQ==} - engines: {node: '>=18'} - fake-indexeddb@6.2.5: resolution: {integrity: sha512-CGnyrvbhPlWYMngksqrSSUT1BAVP49dZocrHuK0SvtR0D5TMs5wP0o3j7jexDJW01KSadjBp1M/71o/KR3nD1w==} engines: {node: '>=18'} + fancy-canvas@2.1.0: + resolution: {integrity: sha512-nifxXJ95JNLFR2NgRV4/MxVP45G9909wJTEKz5fg/TZS20JJZA6hfgRVh/bC9bwl2zBtBNcYPjiBE4njQHVBwQ==} + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - fast-xml-builder@1.1.4: - resolution: {integrity: sha512-f2jhpN4Eccy0/Uz9csxh3Nu6q4ErKxf0XIsasomfOihuSUa3/xw6w8dnOtCDgEItQFJG8KyXPzQXzcODDrrbOg==} + fast-xml-builder@1.1.9: + resolution: {integrity: sha512-jcyKVSEX13iseJqg7n/KWw+xnu/7fdrZ333Fac54KjHDIELVCfDDJXYIm6DTJ0Su4gSzrhqiK0DzY/wZbF40mw==} - fast-xml-parser@4.5.5: - resolution: {integrity: sha512-cK9c5I/DwIOI7/Q7AlGN3DuTdwN61gwSfL8rvuVPK+0mcCNHHGxRrpiFtaZZRfRMJL3Gl8B2AFlBG6qXf03w9A==} + fast-xml-parser@4.5.6: + resolution: {integrity: sha512-Yd4vkROfJf8AuJrDIVMVmYfULKmIJszVsMv7Vo71aocsKgFxpdlpSHXSaInvyYfgw2PRuObQSW2GFpVMUjxu9A==} hasBin: true - fast-xml-parser@5.5.9: - resolution: {integrity: sha512-jldvxr1MC6rtiZKgrFnDSvT8xuH+eJqxqOBThUVjYrxssYTo1avZLGql5l0a0BAERR01CadYzZ83kVEkbyDg+g==} + fast-xml-parser@5.7.3: + resolution: {integrity: sha512-C0AaNuC+mscy6vrAQKAc/rMq+zAPHodfHGZu4sGVehvAQt/JLG1O5zEcYcXSY5zSqr4YVgxsB+pHXTq0i7eDlg==} hasBin: true fault@2.0.1: @@ -1389,10 +1372,6 @@ packages: resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} engines: {node: '>=8.0.0'} - foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} - form-data@4.0.5: resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} engines: {node: '>= 6'} @@ -1401,13 +1380,6 @@ packages: resolution: {integrity: sha1-1hcBB+nv3E7TDJ3DkBbflCtctYs=} engines: {node: '>=0.4.x'} - fs-extra@11.3.4: - resolution: {integrity: sha512-CTXd6rk/M3/ULNQj8FBqBWHYBVYybQ3VPBw0xGKFe3tuH7ytT6ACnvzpIQ3UZtB8yvUKC2cXn1a+x+5EVQLovA==} - engines: {node: '>=14.14'} - - fs.realpath@1.0.0: - resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} - fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -1428,27 +1400,20 @@ packages: resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} engines: {node: '>=18'} - get-tsconfig@4.13.7: - resolution: {integrity: sha512-7tN6rFgBlMgpBML5j8typ92BKFi2sFQvIdpAqLA2beia5avZDrMs0FLZiM5etShWq5irVyGcGMEA1jcDaK7A/Q==} + get-tsconfig@4.14.0: + resolution: {integrity: sha512-yTb+8DXzDREzgvYmh6s9vHsSVCHeC0G3PI5bEXNBHtmshPnO+S5O7qgLEOn0I5QvMy6kpZN8K1NKGyilLb93wA==} - glob@11.1.0: - resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} - engines: {node: 20 || >=22} - hasBin: true - - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + glob@13.0.6: + resolution: {integrity: sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==} + engines: {node: 18 || 20 || >=22} gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - happy-dom@15.11.7: - resolution: {integrity: sha512-KyrFvnl+J9US63TEzwoiJOQzZBJY7KgBushJA8X61DMbNsH+2ONkDuLDnCnwUiPTF42tLoEmrPyoqbenVA5zrg==} - engines: {node: '>=18.0.0'} + happy-dom@20.9.0: + resolution: {integrity: sha512-GZZ9mKe8r646NUAf/zemnGbjYh4Bt8/MqASJY+pSm5ZDtc3YQox+4gsLI7yi1hba6o+eCsGxpHn5+iEVn31/FQ==} + engines: {node: '>=20.0.0'} has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -1461,8 +1426,8 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + hasown@2.0.3: + resolution: {integrity: sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==} engines: {node: '>= 0.4'} hast-util-sanitize@5.0.2: @@ -1493,19 +1458,19 @@ packages: humanize-ms@1.2.1: resolution: {integrity: sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=} - ibantools@4.5.1: - resolution: {integrity: sha512-DfKQpLlFq9yEUIEnFuCJzss3XavD7iHZTU5PyqXiAJ+rmaMp+NFP3hboumHKuK8nZjuOJg93WemTzcQ5b9jOZA==} + ibantools@4.5.4: + resolution: {integrity: sha512-6jX1gh4aH6XH+o0ey+wtkMTzkcvsEta7DakIOZSng9voZYpMw3U+gK1+tZChk3aRcPcloEt0NOzksjaRZiqXbw==} iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} + idb@8.0.3: + resolution: {integrity: sha512-LtwtVyVYO5BqRvcsKuB2iUMnHwPVByPCXFXOpuU96IZPPoPN6xjOGxZQ74pgSVVLQWtUOYgyeL4GE98BY5D3wg==} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - inflight@1.0.6: - resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} - inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -1557,28 +1522,20 @@ packages: resolution: {integrity: sha512-FFUtZMpoZ8RqHS3XeXEmHWLA4thH+ZxCv2lOiPIn1Xc7CxrqhWzNSDzD+/chS/zbYezmiwWLdQC09JdQKmthOw==} engines: {node: '>=20'} - jackspeak@4.2.3: - resolution: {integrity: sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==} - engines: {node: 20 || >=22} - js-base64@3.7.8: resolution: {integrity: sha512-hNngCeKxIUQiEUN3GPJOkz4wF/YvdUdbNL9hsBcMQTkKzboD7T/q3OYOuuPZLUE6dBxSGpwhk5mwuDud7JVAow==} - js-yaml@3.14.2: - resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} - hasBin: true - js-yaml@4.1.1: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true - jsonfile@6.2.0: - resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} - kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} + lightweight-charts@5.2.0: + resolution: {integrity: sha512-ey3Vas8UhV06ni+LT9TA1nEe4y8So4Mi6CL/oarNHFMyTktz/xy8e8+oh04Q//eO3t6etvFXgayz2fClyFQb5w==} + linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} @@ -1603,12 +1560,12 @@ packages: lower-case@1.1.4: resolution: {integrity: sha1-miyr0bno4K6ZOkv31YdcOcQujqw=} - lru-cache@11.2.7: - resolution: {integrity: sha512-aY/R+aEsRelme17KGQa/1ZSIpLpNYYrhcrepKTZgE+W3WM16YMCaPwOHLHsmopZHELU0Ojin1lPVxKR0MihncA==} + lru-cache@11.3.6: + resolution: {integrity: sha512-Gf/KoL3C/MlI7Bt0PGI9I+TeTC/I6r/csU58N4BSNc4lppLBeKsOdFYkK+dX0ABDUMJNfCHTyPpzwwO21Awd3A==} engines: {node: 20 || >=22} - lucide@0.577.0: - resolution: {integrity: sha512-PpC/m5eOItp/WU/GlQPFBXDOhq6HibL73KzYP37OX3LM7VmzWQF8voEj8QRWUFvy9FIKfeDQkWYoyS1D/MdWFA==} + lucide@1.14.0: + resolution: {integrity: sha512-IoRC3lHwemJWvsXKcHK90hkgY4h1HGztBL63w2XwFtIu8gFDPp4/kiuqVtlN3vaM9bxsLQ4ZUBJfGsbKFaB2IA==} make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} @@ -1679,6 +1636,9 @@ packages: mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} + mediabunny@1.44.1: + resolution: {integrity: sha512-Frx7nlYFDHPYPgkn3JsWsAExetSIImr5F1Hoz0+fXvV9OAXs02LVtrlmtj/SVaF1RPEUPyeIo9wRBH685u79pQ==} + micromark-core-commonmark@2.0.3: resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} @@ -1779,13 +1739,10 @@ packages: engines: {node: '>=16'} hasBin: true - minimatch@10.2.4: - resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} + minimatch@10.2.5: + resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} engines: {node: 18 || 20 || >=22} - minimatch@3.1.5: - resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} - minimatch@9.0.9: resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} engines: {node: '>=16 || 14 >=14.17'} @@ -1831,9 +1788,6 @@ packages: observable-fns@0.6.1: resolution: {integrity: sha512-9gRK4+sRWzeN6AOewNBTLXir7Zl/i3GB6Yl26gK4flxz8BXVpD3kt8amREmWNb0mxYOGDotvE5a4N+PtGGKdkg==} - once@1.4.0: - resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} - open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -1867,14 +1821,10 @@ packages: resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} engines: {node: '>=18'} - path-expression-matcher@1.2.0: - resolution: {integrity: sha512-DwmPWeFn+tq7TiyJ2CxezCAirXjFxvaiD03npak3cRjlP9+OjTmSy1EpIrEbh+l6JgUundniloMLDQ/6VTdhLQ==} + path-expression-matcher@1.5.0: + resolution: {integrity: sha512-cbrerZV+6rvdQrrD+iGMcZFEiiSrbv9Tfdkvnusy6y0x0GKBXREFg/Y65GhIfm0tnLntThhzCnfKwp1WRjeCyQ==} engines: {node: '>=14.0.0'} - path-is-absolute@1.0.1: - resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} - engines: {node: '>=0.10.0'} - path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -1883,8 +1833,8 @@ packages: resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==} engines: {node: 18 || 20 || >=22} - path-to-regexp@8.3.0: - resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==} + path-to-regexp@8.4.2: + resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==} pdfjs-dist@4.10.38: resolution: {integrity: sha512-/Y3fcFrXEAsMjJXeL9J8+ZG9U01LbuWaYypvDW2ycW1jL269L3js3DVBjDJ0Up9Np1uqDXsDrRihHANhZOlwdQ==} @@ -1905,8 +1855,8 @@ packages: property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} - prosemirror-changeset@2.4.0: - resolution: {integrity: sha512-LvqH2v7Q2SF6yxatuPP2e8vSUKS/L+xAU7dPDC4RMyHMhZoGDfBC74mYuyYF4gLqOEG758wajtyhNnsTkuhvng==} + prosemirror-changeset@2.4.1: + resolution: {integrity: sha512-96WBLhOaYhJ+kPhLg3uW359Tz6I/MfcrQfL4EGv4SrcqKEMC1gmoGrXHecPE8eOwTVCJ4IwgfzM8fFad25wNfw==} prosemirror-collab@1.3.1: resolution: {integrity: sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==} @@ -1932,8 +1882,8 @@ packages: prosemirror-markdown@1.13.4: resolution: {integrity: sha512-D98dm4cQ3Hs6EmjK500TdAOew4Z03EV71ajEFiWra3Upr7diytJsjF4mPV2dW+eK5uNectiRj0xFxYI9NLXDbw==} - prosemirror-menu@1.3.0: - resolution: {integrity: sha512-TImyPXCHPcDsSka2/lwJ6WjTASr4re/qWq1yoTTuLOqfXucwF6VcRa2LWCkM/EyTD1UO3CUwiH8qURJoWJRxwg==} + prosemirror-menu@1.3.2: + resolution: {integrity: sha512-6VgUJTYod0nMBlCaYJGhXGLu7Gt4AvcwcOq0YfJCY/6Uh+3S7UsWhpy6rJFCBFOmonq1hD8KyWOtZhkppd4YPg==} prosemirror-model@1.25.4: resolution: {integrity: sha512-PIM7E43PBxKce8OQeezAs9j4TP+5yDpZVbuurd1h5phUxEKIu+G2a+EUZzIC5nS1mJktDJWzbqS23n1tsAf5QA==} @@ -1957,11 +1907,11 @@ packages: prosemirror-state: ^1.4.2 prosemirror-view: ^1.33.8 - prosemirror-transform@1.11.0: - resolution: {integrity: sha512-4I7Ce4KpygXb9bkiPS3hTEk4dSHorfRw8uI0pE8IhxlK2GXsqv5tIA7JUSxtSu7u8APVOTtbUBxTmnHIxVkIJw==} + prosemirror-transform@1.12.0: + resolution: {integrity: sha512-GxboyN4AMIsoHNtz5uf2r2Ru551i5hWeCMD6E2Ib4Eogqoub0NflniaBPVQ4MrGE5yZ8JV9tUHg9qcZTTrcN4w==} - prosemirror-view@1.41.7: - resolution: {integrity: sha512-jUwKNCEIGiqdvhlS91/2QAg21e4dfU5bH2iwmSDQeosXJgKF7smG0YSplOWK0cjSNgIqXe7VXqo7EIfUFJdt3w==} + prosemirror-view@1.41.8: + resolution: {integrity: sha512-TnKDdohEatgyZNGCDWIdccOHXhYloJwbwU+phw/a23KBvJIR9lWQWW7WHHK3vBdOLDNuF7TaX98GObUZOWkOnA==} punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} @@ -1970,8 +1920,8 @@ packages: punycode@1.4.1: resolution: {integrity: sha1-wNWmOycYgArY4esPpSachN1BhF4=} - qs@6.15.0: - resolution: {integrity: sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==} + qs@6.15.1: + resolution: {integrity: sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==} engines: {node: '>=0.6'} randomatic@3.1.1: @@ -2012,8 +1962,9 @@ packages: resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + rimraf@6.1.3: + resolution: {integrity: sha512-LKg+Cr2ZF61fkcaK1UdkH2yEBBKnYjTyWzTJT6KNPcSPaiT7HSdhtMXQuN5wkTX0Xu72KQ1l8S42rlmexS2hSA==} + engines: {node: 20 || >=22} hasBin: true rolldown@1.0.0-rc.11: @@ -2053,8 +2004,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - side-channel-list@1.0.0: - resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} + side-channel-list@1.0.1: + resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} engines: {node: '>= 0.4'} side-channel-map@1.0.1: @@ -2083,13 +2034,10 @@ packages: space-separated-tokens@2.0.2: resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - spawn-wrap@2.0.0: - resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==} + spawn-wrap@3.0.0: + resolution: {integrity: sha512-z+s5vv4KzFPJVddGab0xX2n7kQPGMdNUX5l9T8EJqsXdKTWpcxmAqWHpsgHEXoC1taGBCc7b79bi62M5kdbrxQ==} engines: {node: '>=8'} - sprintf-js@1.0.3: - resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} - string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -2111,8 +2059,8 @@ packages: strnum@1.1.2: resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==} - strnum@2.2.2: - resolution: {integrity: sha512-DnR90I+jtXNSTXWdwrEy9FakW7UX+qUZg28gj5fk2vxxl7uS/3bpI4fjFYVmdK9etptYBPNkpahuQnEwhwECqA==} + strnum@2.3.0: + resolution: {integrity: sha512-ums3KNd42PGyx5xaoVTO1mjU1bH3NpY4vsrVlnv9PNGqQj8wd7rJ6nEypLrJ7z5vxK5RP0yMLo6J/Gsm62DI5Q==} strtok3@9.1.1: resolution: {integrity: sha512-FhwotcEqjr241ZbjFzjlIYg6c5/L/s4yBGWSMvJ9UoExiSqL+FnFA/CaeZx17WGaZMS/4SOZp8wH18jSS4R4lw==} @@ -2151,6 +2099,9 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + tslib@2.3.0: + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -2162,8 +2113,9 @@ packages: turndown-plugin-gfm@1.0.2: resolution: {integrity: sha512-vwz9tfvF7XN/jE0dGoBei3FXWuvll78ohzCZQuOb+ZjWrs3a0XhQVomJEb2Qh4VHTPNRO4GPZh0V7VRbiWwkRg==} - turndown@7.2.2: - resolution: {integrity: sha512-1F7db8BiExOKxjSMU2b7if62D/XOyQyZbPKq/nUwopfgnHlqXHqQ0lvfUTeUIr1lZJzOPFn43dODyMSIfvWRKQ==} + turndown@7.2.4: + resolution: {integrity: sha512-I8yFsfRzmzK0WV1pNNOA4A7y4RDfFxPRxb3t+e3ui14qSGOxGtiSP6GjeX+Y6CHb7HYaFj7ECUD7VE5kQMZWGQ==} + engines: {node: '>=18', npm: '>=9'} type-fest@0.21.3: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} @@ -2177,8 +2129,8 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} - type-fest@5.5.0: - resolution: {integrity: sha512-PlBfpQwiUvGViBNX84Yxwjsdhd1TUlXr6zjX7eoirtCPIr08NAmxwa+fcYBTeRQxHo9YC9wwF3m9i700sHma8g==} + type-fest@5.6.0: + resolution: {integrity: sha512-8ZiHFm91orbSAe2PSAiSVBVko18pbhbiB3U9GglSzF/zCGkR+rxpHx6sEMCUm4kxY4LjDIUGgCfUMtwfZfjfUA==} engines: {node: '>=20'} typescript@6.0.2: @@ -2201,8 +2153,8 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - undici-types@7.18.2: - resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} + undici-types@7.19.2: + resolution: {integrity: sha512-qYVnV5OEm2AW8cJMCpdV20CDyaN3g0AjDlOGf1OW4iaDEx8MwdtChUp4zu4H0VP3nDRF/8RKWH+IPp9uW0YGZg==} unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} @@ -2222,10 +2174,6 @@ packages: unist-util-visit@5.1.0: resolution: {integrity: sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==} - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - unload@2.4.1: resolution: {integrity: sha512-IViSAm8Z3sRBYA+9wc0fLQmU9Nrxb16rcDmIiR6Y9LJSZzI7QY5QsDhqPpKOjAn0O9/kfK1TfNEMMAGPTIraPw==} @@ -2252,10 +2200,6 @@ packages: w3c-keyname@2.2.8: resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} - webidl-conversions@7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} - whatwg-mimetype@3.0.0: resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} engines: {node: '>=12'} @@ -2274,9 +2218,6 @@ packages: resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} engines: {node: '>=8'} - wrappy@1.0.2: - resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} - ws@8.20.0: resolution: {integrity: sha512-sAt8BhgNbzCtgGbt2OxmpuryO63ZoDk/sqaB/znQm94T4fCEsy/yV+7CdC1kJhOU9lboAEU7R3kquuycDoibVA==} engines: {node: '>=10.0.0'} @@ -2297,8 +2238,8 @@ packages: xterm@5.3.0: resolution: {integrity: sha512-8QqjlekLUFTrU6x7xck1MsPzPA571K5zNqWm0M0oroYEWVOptZ0+ubQSkQ3uxIEhcIHRujJy6emDWX4A7qyFzg==} - yaml@2.8.3: - resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==} + yaml@2.8.4: + resolution: {integrity: sha512-ml/JPOj9fOQK8RNnWojA67GbZ0ApXAUlN2UQclwv2eVgTgn7O9gg9o7paZWKMp4g0H3nTLtS9LVzhkpOFIKzog==} engines: {node: '>= 14.6'} hasBin: true @@ -2310,6 +2251,9 @@ packages: resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==} engines: {node: '>=18'} + zrender@5.6.1: + resolution: {integrity: sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -2323,11 +2267,23 @@ snapshots: dependencies: '@api.global/typedrequest-interfaces': 3.0.19 '@push.rocks/isounique': 1.0.5 - '@push.rocks/lik': 6.3.1 - '@push.rocks/smartbuffer': 3.0.5 - '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/lik': 6.4.1 + '@push.rocks/smartbuffer': 3.0.6 + '@push.rocks/smartdelay': 3.1.0 '@push.rocks/smartguard': 3.1.0 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartpromise': 4.2.4 + '@push.rocks/webrequest': 4.0.5 + '@push.rocks/webstream': 1.0.10 + + '@api.global/typedrequest@3.3.1': + dependencies: + '@api.global/typedrequest-interfaces': 3.0.19 + '@push.rocks/isounique': 1.0.5 + '@push.rocks/lik': 6.4.1 + '@push.rocks/smartbuffer': 3.0.6 + '@push.rocks/smartdelay': 3.1.0 + '@push.rocks/smartguard': 3.1.0 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/webrequest': 4.0.5 '@push.rocks/webstream': 1.0.10 @@ -2335,38 +2291,38 @@ snapshots: dependencies: '@api.global/typedrequest': 3.3.0 '@api.global/typedrequest-interfaces': 3.0.19 - '@api.global/typedsocket': 4.1.2(@push.rocks/smartserve@2.0.3) - '@cloudflare/workers-types': 4.20260317.1 - '@design.estate/dees-catalog': 3.49.0(@tiptap/pm@2.27.2) + '@api.global/typedsocket': 4.1.3(@push.rocks/smartserve@2.0.4) + '@cloudflare/workers-types': 4.20260507.1 + '@design.estate/dees-catalog': 3.81.0(@tiptap/pm@2.27.2) '@design.estate/dees-comms': 1.0.30 - '@push.rocks/lik': 6.4.0 - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartenv': 6.0.0 + '@push.rocks/lik': 6.4.1 + '@push.rocks/smartdelay': 3.1.0 + '@push.rocks/smartenv': 6.1.0 '@push.rocks/smartfeed': 1.4.0 - '@push.rocks/smartfile': 13.1.2 - '@push.rocks/smartfs': 1.5.0 - '@push.rocks/smartjson': 6.0.0 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartfile': 13.1.3 + '@push.rocks/smartfs': 1.5.1 + '@push.rocks/smartjson': 6.0.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartlog-destination-devtools': 1.0.12 '@push.rocks/smartlog-interfaces': 3.0.2 '@push.rocks/smartmanifest': 2.0.2 '@push.rocks/smartmatch': 2.0.0 '@push.rocks/smartmime': 2.0.4 - '@push.rocks/smartntml': 2.0.8 + '@push.rocks/smartntml': 2.0.9 '@push.rocks/smartopen': 2.0.0 '@push.rocks/smartpath': 6.0.0 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartrequest': 5.0.1 + '@push.rocks/smartpromise': 4.2.4 + '@push.rocks/smartrequest': 5.0.3 '@push.rocks/smartrx': 3.0.10 - '@push.rocks/smartserve': 2.0.3 - '@push.rocks/smartsitemap': 4.0.1 - '@push.rocks/smartstream': 3.4.0 + '@push.rocks/smartserve': 2.0.4 + '@push.rocks/smartsitemap': 4.0.2 + '@push.rocks/smartstream': 3.4.2 '@push.rocks/smarttime': 4.2.3 '@push.rocks/smartwatch': 6.4.0 '@push.rocks/taskbuffer': 8.0.2 '@push.rocks/webrequest': 4.0.5 - '@push.rocks/webstore': 2.0.20 - '@tsclass/tsclass': 9.5.0 + '@push.rocks/webstore': 2.0.22 + '@tsclass/tsclass': 9.5.1 lit: 3.3.2 transitivePeerDependencies: - '@nuxt/kit' @@ -2377,17 +2333,17 @@ snapshots: - utf-8-validate - vue - '@api.global/typedsocket@4.1.2(@push.rocks/smartserve@2.0.3)': + '@api.global/typedsocket@4.1.3(@push.rocks/smartserve@2.0.4)': dependencies: - '@api.global/typedrequest': 3.3.0 + '@api.global/typedrequest': 3.3.1 '@api.global/typedrequest-interfaces': 3.0.19 '@push.rocks/isohash': 2.0.1 - '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/smartdelay': 3.1.0 '@push.rocks/smartjson': 5.2.0 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smartrx': 3.0.10 - '@push.rocks/smartserve': 2.0.3 - '@push.rocks/smartstring': 4.1.0 + '@push.rocks/smartserve': 2.0.4 + '@push.rocks/smartstring': 4.1.1 '@push.rocks/smarturl': 3.1.0 '@babel/runtime@7.28.6': {} @@ -2396,24 +2352,24 @@ snapshots: '@cfworker/json-schema@4.1.1': {} - '@cloudflare/workers-types@4.20260317.1': {} + '@cloudflare/workers-types@4.20260507.1': {} '@configvault.io/interfaces@1.0.17': dependencies: '@api.global/typedrequest-interfaces': 3.0.19 - '@design.estate/dees-catalog@3.49.0(@tiptap/pm@2.27.2)': + '@design.estate/dees-catalog@3.81.0(@tiptap/pm@2.27.2)': dependencies: - '@design.estate/dees-domtools': 2.5.1 - '@design.estate/dees-element': 2.2.3 - '@design.estate/dees-wcctools': 3.8.0 + '@design.estate/dees-domtools': 2.5.6 + '@design.estate/dees-element': 2.2.4 + '@design.estate/dees-wcctools': 3.9.0 '@fortawesome/fontawesome-svg-core': 7.2.0 '@fortawesome/free-brands-svg-icons': 7.2.0 '@fortawesome/free-regular-svg-icons': 7.2.0 '@fortawesome/free-solid-svg-icons': 7.2.0 - '@push.rocks/smarti18n': 1.0.4 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartstring': 4.1.0 + '@push.rocks/smarti18n': 1.1.0 + '@push.rocks/smartpromise': 4.2.4 + '@push.rocks/smartstring': 4.1.1 '@tempfix/webcontainer__api': 1.6.1 '@tiptap/core': 2.27.2(@tiptap/pm@2.27.2) '@tiptap/extension-link': 2.27.2(@tiptap/core@2.27.2(@tiptap/pm@2.27.2))(@tiptap/pm@2.27.2) @@ -2421,11 +2377,12 @@ snapshots: '@tiptap/extension-typography': 2.27.2(@tiptap/core@2.27.2(@tiptap/pm@2.27.2)) '@tiptap/extension-underline': 2.27.2(@tiptap/core@2.27.2(@tiptap/pm@2.27.2)) '@tiptap/starter-kit': 2.27.2 - '@tsclass/tsclass': 9.5.0 - apexcharts: 5.10.4 + '@tsclass/tsclass': 9.5.1 + echarts: 5.6.0 highlight.js: 11.11.1 - ibantools: 4.5.1 - lucide: 0.577.0 + ibantools: 4.5.4 + lightweight-charts: 5.2.0 + lucide: 1.14.0 monaco-editor: 0.55.1 pdfjs-dist: 4.10.38 xterm: 5.3.0 @@ -2441,26 +2398,26 @@ snapshots: dependencies: '@api.global/typedrequest': 3.3.0 '@api.global/typedrequest-interfaces': 3.0.19 - '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/smartdelay': 3.1.0 broadcast-channel: 7.3.0 - '@design.estate/dees-domtools@2.5.1': + '@design.estate/dees-domtools@2.5.6': dependencies: '@api.global/typedrequest': 3.3.0 '@design.estate/dees-comms': 1.0.30 - '@push.rocks/lik': 6.3.1 - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartjson': 6.0.0 - '@push.rocks/smartmarkdown': 3.0.3 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/lik': 6.4.1 + '@push.rocks/smartdelay': 3.1.0 + '@push.rocks/smartjson': 6.0.1 + '@push.rocks/smartmarkdown': 3.1.0 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smartrouter': 1.3.3 '@push.rocks/smartrx': 3.0.10 - '@push.rocks/smartstate': 2.2.1 - '@push.rocks/smartstring': 4.1.0 + '@push.rocks/smartstate': 2.3.1 + '@push.rocks/smartstring': 4.1.1 '@push.rocks/smarturl': 3.1.0 '@push.rocks/webrequest': 4.0.5 - '@push.rocks/websetup': 3.0.19 - '@push.rocks/webstore': 2.0.20 + '@push.rocks/websetup': 3.0.20 + '@push.rocks/webstore': 2.0.22 '@tempfix/lenis': 1.3.20 lit: 3.3.2 sweet-scroll: 4.0.0 @@ -2470,9 +2427,9 @@ snapshots: - supports-color - vue - '@design.estate/dees-element@2.2.3': + '@design.estate/dees-element@2.2.4': dependencies: - '@design.estate/dees-domtools': 2.5.1 + '@design.estate/dees-domtools': 2.5.6 '@push.rocks/isounique': 1.0.5 '@push.rocks/smartrx': 3.0.10 lit: 3.3.2 @@ -2482,110 +2439,111 @@ snapshots: - supports-color - vue - '@design.estate/dees-wcctools@3.8.0': + '@design.estate/dees-wcctools@3.9.0': dependencies: - '@design.estate/dees-domtools': 2.5.1 - '@design.estate/dees-element': 2.2.3 - '@push.rocks/smartdelay': 3.0.5 + '@design.estate/dees-domtools': 2.5.6 + '@design.estate/dees-element': 2.2.4 + '@push.rocks/smartdelay': 3.1.0 lit: 3.3.2 + mediabunny: 1.44.1 transitivePeerDependencies: - '@nuxt/kit' - react - supports-color - vue - '@emnapi/core@1.9.1': + '@emnapi/core@1.10.0': dependencies: - '@emnapi/wasi-threads': 1.2.0 + '@emnapi/wasi-threads': 1.2.1 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.9.1': + '@emnapi/runtime@1.10.0': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.2.0': + '@emnapi/wasi-threads@1.2.1': dependencies: tslib: 2.8.1 optional: true - '@esbuild/aix-ppc64@0.27.4': + '@esbuild/aix-ppc64@0.27.7': optional: true - '@esbuild/android-arm64@0.27.4': + '@esbuild/android-arm64@0.27.7': optional: true - '@esbuild/android-arm@0.27.4': + '@esbuild/android-arm@0.27.7': optional: true - '@esbuild/android-x64@0.27.4': + '@esbuild/android-x64@0.27.7': optional: true - '@esbuild/darwin-arm64@0.27.4': + '@esbuild/darwin-arm64@0.27.7': optional: true - '@esbuild/darwin-x64@0.27.4': + '@esbuild/darwin-x64@0.27.7': optional: true - '@esbuild/freebsd-arm64@0.27.4': + '@esbuild/freebsd-arm64@0.27.7': optional: true - '@esbuild/freebsd-x64@0.27.4': + '@esbuild/freebsd-x64@0.27.7': optional: true - '@esbuild/linux-arm64@0.27.4': + '@esbuild/linux-arm64@0.27.7': optional: true - '@esbuild/linux-arm@0.27.4': + '@esbuild/linux-arm@0.27.7': optional: true - '@esbuild/linux-ia32@0.27.4': + '@esbuild/linux-ia32@0.27.7': optional: true - '@esbuild/linux-loong64@0.27.4': + '@esbuild/linux-loong64@0.27.7': optional: true - '@esbuild/linux-mips64el@0.27.4': + '@esbuild/linux-mips64el@0.27.7': optional: true - '@esbuild/linux-ppc64@0.27.4': + '@esbuild/linux-ppc64@0.27.7': optional: true - '@esbuild/linux-riscv64@0.27.4': + '@esbuild/linux-riscv64@0.27.7': optional: true - '@esbuild/linux-s390x@0.27.4': + '@esbuild/linux-s390x@0.27.7': optional: true - '@esbuild/linux-x64@0.27.4': + '@esbuild/linux-x64@0.27.7': optional: true - '@esbuild/netbsd-arm64@0.27.4': + '@esbuild/netbsd-arm64@0.27.7': optional: true - '@esbuild/netbsd-x64@0.27.4': + '@esbuild/netbsd-x64@0.27.7': optional: true - '@esbuild/openbsd-arm64@0.27.4': + '@esbuild/openbsd-arm64@0.27.7': optional: true - '@esbuild/openbsd-x64@0.27.4': + '@esbuild/openbsd-x64@0.27.7': optional: true - '@esbuild/openharmony-arm64@0.27.4': + '@esbuild/openharmony-arm64@0.27.7': optional: true - '@esbuild/sunos-x64@0.27.4': + '@esbuild/sunos-x64@0.27.7': optional: true - '@esbuild/win32-arm64@0.27.4': + '@esbuild/win32-arm64@0.27.7': optional: true - '@esbuild/win32-ia32@0.27.4': + '@esbuild/win32-ia32@0.27.7': optional: true - '@esbuild/win32-x64@0.27.4': + '@esbuild/win32-x64@0.27.7': optional: true '@fortawesome/fontawesome-common-types@7.2.0': {} @@ -2606,26 +2564,28 @@ snapshots: dependencies: '@fortawesome/fontawesome-common-types': 7.2.0 - '@git.zone/tsbundle@2.10.0': + '@git.zone/tsbundle@2.10.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: '@push.rocks/early': 4.0.4 - '@push.rocks/smartcli': 4.0.20 - '@push.rocks/smartconfig': 6.1.0 - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartfs': 1.5.0 + '@push.rocks/smartcli': 4.0.21 + '@push.rocks/smartconfig': 6.1.1 + '@push.rocks/smartdelay': 3.1.0 + '@push.rocks/smartfs': 1.5.1 '@push.rocks/smartinteract': 2.0.16 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartlog-destination-local': 9.0.2 '@push.rocks/smartpath': 6.0.0 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartspawn': 3.0.3 - '@rspack/core': 1.7.10 + '@push.rocks/smartpromise': 4.2.4 + '@push.rocks/smartspawn': 3.0.4 + '@rspack/core': 1.7.11 '@types/html-minifier': 4.0.6 - esbuild: 0.27.4 + esbuild: 0.27.7 html-minifier: 4.0.0 - rolldown: 1.0.0-rc.11 + rolldown: 1.0.0-rc.11(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) typescript: 6.0.2 transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' - '@nuxt/kit' - '@swc/helpers' - react @@ -2635,9 +2595,9 @@ snapshots: '@git.zone/tsdeno@1.3.1': dependencies: '@push.rocks/early': 4.0.4 - '@push.rocks/smartcli': 4.0.20 - '@push.rocks/smartconfig': 6.1.0 - '@push.rocks/smartfs': 1.5.0 + '@push.rocks/smartcli': 4.0.21 + '@push.rocks/smartconfig': 6.1.1 + '@push.rocks/smartfs': 1.5.1 '@push.rocks/smartshell': 3.3.8 transitivePeerDependencies: - '@nuxt/kit' @@ -2645,30 +2605,32 @@ snapshots: - supports-color - vue - '@git.zone/tsrun@2.0.2': + '@git.zone/tsrun@2.0.3': dependencies: - '@push.rocks/smartfile': 13.1.2 + '@push.rocks/smartfile': 13.1.3 '@push.rocks/smartshell': 3.3.8 tsx: 4.21.0 - '@git.zone/tswatch@3.3.2(@tiptap/pm@2.27.2)': + '@git.zone/tswatch@3.3.3(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)(@tiptap/pm@2.27.2)': dependencies: '@api.global/typedserver': 8.4.6(@tiptap/pm@2.27.2) - '@git.zone/tsbundle': 2.10.0 - '@git.zone/tsrun': 2.0.2 + '@git.zone/tsbundle': 2.10.1(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@git.zone/tsrun': 2.0.3 '@push.rocks/early': 4.0.4 - '@push.rocks/lik': 6.4.0 - '@push.rocks/smartcli': 4.0.20 - '@push.rocks/smartconfig': 6.1.0 - '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/lik': 6.4.1 + '@push.rocks/smartcli': 4.0.21 + '@push.rocks/smartconfig': 6.1.1 + '@push.rocks/smartdelay': 3.1.0 '@push.rocks/smartexit': 2.0.3 - '@push.rocks/smartfs': 1.5.0 + '@push.rocks/smartfs': 1.5.1 '@push.rocks/smartinteract': 2.0.16 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartlog-destination-local': 9.0.2 '@push.rocks/smartshell': 3.3.8 '@push.rocks/smartwatch': 6.4.0 transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' - '@nuxt/kit' - '@swc/helpers' - '@tiptap/pm' @@ -2678,9 +2640,13 @@ snapshots: - utf-8-validate - vue - '@happy-dom/global-registrator@15.11.7': + '@happy-dom/global-registrator@20.9.0': dependencies: - happy-dom: 15.11.7 + '@types/node': 25.6.1 + happy-dom: 20.9.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate '@inquirer/checkbox@3.0.1': dependencies: @@ -2700,7 +2666,7 @@ snapshots: '@inquirer/figures': 1.0.15 '@inquirer/type': 2.0.0 '@types/mute-stream': 0.0.4 - '@types/node': 22.19.15 + '@types/node': 22.19.17 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 cli-width: 4.1.0 @@ -2778,8 +2744,6 @@ snapshots: dependencies: mute-stream: 1.0.0 - '@isaacs/cliui@9.0.0': {} - '@lit-labs/ssr-dom-shim@1.5.1': {} '@lit/reactive-element@2.1.2': @@ -2813,78 +2777,80 @@ snapshots: '@module-federation/runtime': 0.22.0 '@module-federation/sdk': 0.22.0 - '@napi-rs/canvas-android-arm64@0.1.97': + '@napi-rs/canvas-android-arm64@0.1.100': optional: true - '@napi-rs/canvas-darwin-arm64@0.1.97': + '@napi-rs/canvas-darwin-arm64@0.1.100': optional: true - '@napi-rs/canvas-darwin-x64@0.1.97': + '@napi-rs/canvas-darwin-x64@0.1.100': optional: true - '@napi-rs/canvas-linux-arm-gnueabihf@0.1.97': + '@napi-rs/canvas-linux-arm-gnueabihf@0.1.100': optional: true - '@napi-rs/canvas-linux-arm64-gnu@0.1.97': + '@napi-rs/canvas-linux-arm64-gnu@0.1.100': optional: true - '@napi-rs/canvas-linux-arm64-musl@0.1.97': + '@napi-rs/canvas-linux-arm64-musl@0.1.100': optional: true - '@napi-rs/canvas-linux-riscv64-gnu@0.1.97': + '@napi-rs/canvas-linux-riscv64-gnu@0.1.100': optional: true - '@napi-rs/canvas-linux-x64-gnu@0.1.97': + '@napi-rs/canvas-linux-x64-gnu@0.1.100': optional: true - '@napi-rs/canvas-linux-x64-musl@0.1.97': + '@napi-rs/canvas-linux-x64-musl@0.1.100': optional: true - '@napi-rs/canvas-win32-arm64-msvc@0.1.97': + '@napi-rs/canvas-win32-arm64-msvc@0.1.100': optional: true - '@napi-rs/canvas-win32-x64-msvc@0.1.97': + '@napi-rs/canvas-win32-x64-msvc@0.1.100': optional: true - '@napi-rs/canvas@0.1.97': + '@napi-rs/canvas@0.1.100': optionalDependencies: - '@napi-rs/canvas-android-arm64': 0.1.97 - '@napi-rs/canvas-darwin-arm64': 0.1.97 - '@napi-rs/canvas-darwin-x64': 0.1.97 - '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.97 - '@napi-rs/canvas-linux-arm64-gnu': 0.1.97 - '@napi-rs/canvas-linux-arm64-musl': 0.1.97 - '@napi-rs/canvas-linux-riscv64-gnu': 0.1.97 - '@napi-rs/canvas-linux-x64-gnu': 0.1.97 - '@napi-rs/canvas-linux-x64-musl': 0.1.97 - '@napi-rs/canvas-win32-arm64-msvc': 0.1.97 - '@napi-rs/canvas-win32-x64-msvc': 0.1.97 + '@napi-rs/canvas-android-arm64': 0.1.100 + '@napi-rs/canvas-darwin-arm64': 0.1.100 + '@napi-rs/canvas-darwin-x64': 0.1.100 + '@napi-rs/canvas-linux-arm-gnueabihf': 0.1.100 + '@napi-rs/canvas-linux-arm64-gnu': 0.1.100 + '@napi-rs/canvas-linux-arm64-musl': 0.1.100 + '@napi-rs/canvas-linux-riscv64-gnu': 0.1.100 + '@napi-rs/canvas-linux-x64-gnu': 0.1.100 + '@napi-rs/canvas-linux-x64-musl': 0.1.100 + '@napi-rs/canvas-win32-arm64-msvc': 0.1.100 + '@napi-rs/canvas-win32-x64-msvc': 0.1.100 optional: true '@napi-rs/wasm-runtime@1.0.7': dependencies: - '@emnapi/core': 1.9.1 - '@emnapi/runtime': 1.9.1 - '@tybys/wasm-util': 0.10.1 + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.2 optional: true - '@napi-rs/wasm-runtime@1.1.1': + '@napi-rs/wasm-runtime@1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@emnapi/core': 1.9.1 - '@emnapi/runtime': 1.9.1 - '@tybys/wasm-util': 0.10.1 + '@emnapi/core': 1.10.0 + '@emnapi/runtime': 1.10.0 + '@tybys/wasm-util': 0.10.2 optional: true + '@nodable/entities@2.1.0': {} + '@oxc-project/types@0.122.0': {} - '@push.rocks/consolecolor@2.0.3': + '@push.rocks/consolecolor@2.0.4': dependencies: ansi-256-colors: 1.1.0 '@push.rocks/early@4.0.4': dependencies: - '@push.rocks/consolecolor': 2.0.3 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/consolecolor': 2.0.4 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/isohash@2.0.1': dependencies: @@ -2893,172 +2859,143 @@ snapshots: '@push.rocks/isounique@1.0.5': {} - '@push.rocks/lik@6.3.1': + '@push.rocks/lik@6.4.1': dependencies: - '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/smartdelay': 3.1.0 '@push.rocks/smartmatch': 2.0.0 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smartrx': 3.0.10 '@push.rocks/smarttime': 4.2.3 - '@types/minimatch': 5.1.2 '@types/symbol-tree': 3.2.5 symbol-tree: 3.2.4 - '@push.rocks/lik@6.4.0': - dependencies: - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartmatch': 2.0.0 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartrx': 3.0.10 - '@push.rocks/smarttime': 4.2.3 - symbol-tree: 3.2.4 - - '@push.rocks/qenv@6.1.3': + '@push.rocks/qenv@6.1.4': dependencies: '@api.global/typedrequest': 3.3.0 '@configvault.io/interfaces': 1.0.17 - '@push.rocks/smartfile': 11.2.7 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartpath': 6.0.0 + yaml: 2.8.4 - '@push.rocks/smartbuffer@3.0.5': + '@push.rocks/smartbuffer@3.0.6': dependencies: uint8array-extras: 1.5.0 - '@push.rocks/smartcli@4.0.20': + '@push.rocks/smartcli@4.0.21': dependencies: - '@push.rocks/lik': 6.4.0 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/lik': 6.4.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartobject': 1.0.12 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smartrx': 3.0.10 yargs-parser: 22.0.0 - '@push.rocks/smartclickhouse@2.2.0': + '@push.rocks/smartclickhouse@2.2.1': dependencies: - '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/smartdelay': 3.1.0 '@push.rocks/smartobject': 1.0.12 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smartrx': 3.0.10 '@push.rocks/smarturl': 3.1.0 '@push.rocks/webrequest': 4.0.5 - '@push.rocks/smartconfig@6.1.0': + '@push.rocks/smartconfig@6.1.1': dependencies: - '@push.rocks/qenv': 6.1.3 - '@push.rocks/smartfile': 11.2.7 - '@push.rocks/smartjson': 5.2.0 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/qenv': 6.1.4 + '@push.rocks/smartfs': 1.5.1 + '@push.rocks/smartjson': 6.0.1 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartpath': 6.0.0 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smartrx': 3.0.10 - '@push.rocks/taskbuffer': 3.5.0 - '@tsclass/tsclass': 9.5.0 + '@push.rocks/taskbuffer': 8.0.2 + '@tsclass/tsclass': 9.5.1 transitivePeerDependencies: - '@nuxt/kit' - react - supports-color - vue - '@push.rocks/smartdelay@3.0.5': + '@push.rocks/smartdelay@3.1.0': dependencies: - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smartenv@5.0.13': dependencies: - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartpromise': 4.2.4 - '@push.rocks/smartenv@6.0.0': + '@push.rocks/smartenv@6.1.0': dependencies: - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smartexit@2.0.3': dependencies: - '@push.rocks/lik': 6.4.0 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/lik': 6.4.1 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smartfeed@1.4.0': dependencies: - '@tsclass/tsclass': 9.5.0 - fast-xml-parser: 4.5.5 + '@tsclass/tsclass': 9.5.1 + fast-xml-parser: 4.5.6 '@push.rocks/smartfile-interfaces@1.0.7': {} - '@push.rocks/smartfile@11.2.7': + '@push.rocks/smartfile@13.1.3': dependencies: - '@push.rocks/lik': 6.4.0 - '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/lik': 6.4.1 + '@push.rocks/smartdelay': 3.1.0 '@push.rocks/smartfile-interfaces': 1.0.7 - '@push.rocks/smarthash': 3.2.6 - '@push.rocks/smartjson': 5.2.0 + '@push.rocks/smartfs': 1.5.1 + '@push.rocks/smarthash': 3.2.7 + '@push.rocks/smartjson': 6.0.1 '@push.rocks/smartmime': 2.0.4 '@push.rocks/smartpath': 6.0.0 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartrequest': 4.4.2 - '@push.rocks/smartstream': 3.4.0 - '@types/fs-extra': 11.0.4 + '@push.rocks/smartpromise': 4.2.4 + '@push.rocks/smartrequest': 5.0.3 + '@push.rocks/smartstream': 3.4.2 '@types/js-yaml': 4.0.9 - fs-extra: 11.3.4 - glob: 11.1.0 + glob: 13.0.6 js-yaml: 4.1.1 - '@push.rocks/smartfile@13.1.2': - dependencies: - '@push.rocks/lik': 6.4.0 - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartfile-interfaces': 1.0.7 - '@push.rocks/smartfs': 1.5.0 - '@push.rocks/smarthash': 3.2.6 - '@push.rocks/smartjson': 5.2.0 - '@push.rocks/smartmime': 2.0.4 - '@push.rocks/smartpath': 6.0.0 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartrequest': 4.4.2 - '@push.rocks/smartstream': 3.4.0 - '@types/js-yaml': 4.0.9 - glob: 11.1.0 - js-yaml: 4.1.1 - - '@push.rocks/smartfs@1.5.0': + '@push.rocks/smartfs@1.5.1': dependencies: '@push.rocks/smartpath': 6.0.0 - '@push.rocks/smartrust': 1.3.2 + '@push.rocks/smartrust': 1.4.0 '@push.rocks/smartguard@3.1.0': dependencies: - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smartrequest': 2.1.0 - '@push.rocks/smarthash@3.2.6': + '@push.rocks/smarthash@3.2.7': dependencies: - '@push.rocks/smartenv': 5.0.13 - '@push.rocks/smartjson': 5.2.0 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartenv': 6.1.0 + '@push.rocks/smartjson': 6.0.1 + '@push.rocks/smartpromise': 4.2.4 '@types/through2': 2.0.41 through2: 4.0.2 - '@push.rocks/smarti18n@1.0.4': {} + '@push.rocks/smarti18n@1.1.0': {} '@push.rocks/smartinteract@2.0.16': dependencies: - '@push.rocks/lik': 6.4.0 + '@push.rocks/lik': 6.4.1 '@push.rocks/smartobject': 1.0.12 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartpromise': 4.2.4 inquirer: 11.1.0 '@push.rocks/smartjson@5.2.0': dependencies: '@push.rocks/smartenv': 5.0.13 - '@push.rocks/smartstring': 4.1.0 + '@push.rocks/smartstring': 4.1.1 fast-json-stable-stringify: 2.1.0 lodash.clonedeep: 4.5.0 - '@push.rocks/smartjson@6.0.0': + '@push.rocks/smartjson@6.0.1': dependencies: - '@push.rocks/smartenv': 6.0.0 - '@push.rocks/smartstring': 4.1.0 + '@push.rocks/smartenv': 6.1.0 + '@push.rocks/smartstring': 4.1.1 fast-json-stable-stringify: 2.1.0 - lodash.clonedeep: 4.5.0 '@push.rocks/smartlog-destination-devtools@1.0.12': dependencies: @@ -3066,40 +3003,39 @@ snapshots: '@push.rocks/smartlog-destination-local@9.0.2': dependencies: - '@push.rocks/consolecolor': 2.0.3 + '@push.rocks/consolecolor': 2.0.4 '@push.rocks/smartlog-interfaces': 3.0.2 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smartlog-interfaces@3.0.2': dependencies: '@api.global/typedrequest-interfaces': 2.0.2 '@tsclass/tsclass': 4.4.4 - '@push.rocks/smartlog@3.2.1': + '@push.rocks/smartlog@3.2.2': dependencies: '@api.global/typedrequest-interfaces': 3.0.19 - '@push.rocks/consolecolor': 2.0.3 + '@push.rocks/consolecolor': 2.0.4 '@push.rocks/isounique': 1.0.5 - '@push.rocks/smartclickhouse': 2.2.0 - '@push.rocks/smartfile': 11.2.7 - '@push.rocks/smarthash': 3.2.6 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartclickhouse': 2.2.1 + '@push.rocks/smarthash': 3.2.7 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smarttime': 4.2.3 '@push.rocks/webrequest': 4.0.5 - '@tsclass/tsclass': 9.5.0 + '@tsclass/tsclass': 9.5.1 '@push.rocks/smartmanifest@2.0.2': {} - '@push.rocks/smartmarkdown@3.0.3': + '@push.rocks/smartmarkdown@3.1.0': dependencies: - '@push.rocks/smartyaml': 2.0.5 + '@push.rocks/smartyaml': 3.0.5 '@types/turndown': 5.0.6 remark-frontmatter: 5.0.0 remark-gfm: 4.0.1 remark-html: 16.0.1 remark-parse: 11.0.0 remark-stringify: 11.0.0 - turndown: 7.2.2 + turndown: 7.2.4 turndown-plugin-gfm: 1.0.2 unified: 11.0.5 transitivePeerDependencies: @@ -3115,16 +3051,17 @@ snapshots: file-type: 19.6.0 mime: 4.1.0 - '@push.rocks/smartntml@2.0.8': + '@push.rocks/smartntml@2.0.9': dependencies: - '@design.estate/dees-element': 2.2.3 - '@happy-dom/global-registrator': 15.11.7 - '@push.rocks/smartpromise': 4.2.3 + '@design.estate/dees-element': 2.2.4 + '@happy-dom/global-registrator': 20.9.0 fake-indexeddb: 6.2.5 transitivePeerDependencies: - '@nuxt/kit' + - bufferutil - react - supports-color + - utf-8-validate - vue '@push.rocks/smartobject@1.0.12': @@ -3138,55 +3075,46 @@ snapshots: '@push.rocks/smartpath@6.0.0': {} - '@push.rocks/smartpromise@4.2.3': {} + '@push.rocks/smartpromise@4.2.4': {} '@push.rocks/smartrequest@2.1.0': dependencies: - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smarturl': 3.1.0 agentkeepalive: 4.6.0 form-data: 4.0.5 - '@push.rocks/smartrequest@4.4.2': + '@push.rocks/smartrequest@5.0.3': dependencies: - '@push.rocks/smartenv': 6.0.0 + '@push.rocks/smartenv': 6.1.0 '@push.rocks/smartpath': 6.0.0 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smarturl': 3.1.0 - agentkeepalive: 4.6.0 - form-data: 4.0.5 - - '@push.rocks/smartrequest@5.0.1': - dependencies: - '@push.rocks/smartenv': 6.0.0 - '@push.rocks/smartpath': 6.0.0 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smarturl': 3.1.0 agentkeepalive: 4.6.0 form-data: 4.0.5 '@push.rocks/smartrouter@1.3.3': dependencies: - '@push.rocks/lik': 6.3.1 + '@push.rocks/lik': 6.4.1 '@push.rocks/smartrx': 3.0.10 - path-to-regexp: 8.3.0 + path-to-regexp: 8.4.2 - '@push.rocks/smartrust@1.3.2': + '@push.rocks/smartrust@1.4.0': dependencies: '@push.rocks/smartpath': 6.0.0 '@push.rocks/smartrx@3.0.10': dependencies: - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartpromise': 4.2.4 rxjs: 7.8.2 - '@push.rocks/smartserve@2.0.3': + '@push.rocks/smartserve@2.0.4': dependencies: '@api.global/typedrequest': 3.3.0 '@cfworker/json-schema': 4.1.1 - '@push.rocks/lik': 6.4.0 - '@push.rocks/smartenv': 6.0.0 - '@push.rocks/smartlog': 3.2.1 + '@push.rocks/lik': 6.4.1 + '@push.rocks/smartenv': 6.1.0 + '@push.rocks/smartlog': 3.2.2 '@push.rocks/smartpath': 6.0.0 ws: 8.20.0 transitivePeerDependencies: @@ -3195,53 +3123,53 @@ snapshots: '@push.rocks/smartshell@3.3.8': dependencies: - '@push.rocks/smartdelay': 3.0.5 + '@push.rocks/smartdelay': 3.1.0 '@push.rocks/smartexit': 2.0.3 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smartpromise': 4.2.4 '@types/which': 3.0.4 which: 6.0.1 - '@push.rocks/smartsitemap@4.0.1': + '@push.rocks/smartsitemap@4.0.2': dependencies: '@push.rocks/smartfeed': 1.4.0 '@push.rocks/smartxml': 2.0.0 - '@push.rocks/smartyaml': 3.0.4 + '@push.rocks/smartyaml': 3.0.5 '@push.rocks/webrequest': 4.0.5 - '@tsclass/tsclass': 9.5.0 + '@tsclass/tsclass': 9.5.1 - '@push.rocks/smartspawn@3.0.3': + '@push.rocks/smartspawn@3.0.4': dependencies: - '@push.rocks/smartpromise': 4.2.3 - spawn-wrap: 2.0.0 + '@push.rocks/smartpromise': 4.2.4 + spawn-wrap: 3.0.0 threads: 1.7.0 tiny-worker: 2.3.0 transitivePeerDependencies: - supports-color - '@push.rocks/smartstate@2.2.1': + '@push.rocks/smartstate@2.3.1': dependencies: - '@push.rocks/smarthash': 3.2.6 - '@push.rocks/smartjson': 6.0.0 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/smarthash': 3.2.7 + '@push.rocks/smartjson': 6.0.1 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smartrx': 3.0.10 - '@push.rocks/webstore': 2.0.20 + '@push.rocks/webstore': 2.0.22 - '@push.rocks/smartstream@3.4.0': + '@push.rocks/smartstream@3.4.2': dependencies: - '@push.rocks/lik': 6.4.0 - '@push.rocks/smartenv': 6.0.0 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/lik': 6.4.1 + '@push.rocks/smartenv': 6.1.0 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smartrx': 3.0.10 - '@push.rocks/smartstring@4.1.0': + '@push.rocks/smartstring@4.1.1': dependencies: '@push.rocks/isounique': 1.0.5 '@push.rocks/smarttime@4.2.3': dependencies: - '@push.rocks/lik': 6.3.1 - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/lik': 6.4.1 + '@push.rocks/smartdelay': 3.1.0 + '@push.rocks/smartpromise': 4.2.4 croner: 10.0.1 date-fns: 4.1.0 dayjs: 1.11.20 @@ -3258,50 +3186,29 @@ snapshots: '@push.rocks/smartwatch@6.4.0': dependencies: - '@push.rocks/lik': 6.4.0 - '@push.rocks/smartenv': 6.0.0 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartrust': 1.3.2 + '@push.rocks/lik': 6.4.1 + '@push.rocks/smartenv': 6.1.0 + '@push.rocks/smartpromise': 4.2.4 + '@push.rocks/smartrust': 1.4.0 '@push.rocks/smartrx': 3.0.10 chokidar: 5.0.0 picomatch: 4.0.4 '@push.rocks/smartxml@2.0.0': dependencies: - fast-xml-parser: 5.5.9 + fast-xml-parser: 5.7.3 - '@push.rocks/smartyaml@2.0.5': + '@push.rocks/smartyaml@3.0.5': dependencies: - '@types/js-yaml': 3.12.10 - js-yaml: 3.14.2 - - '@push.rocks/smartyaml@3.0.4': - dependencies: - yaml: 2.8.3 - - '@push.rocks/taskbuffer@3.5.0': - dependencies: - '@design.estate/dees-element': 2.2.3 - '@push.rocks/lik': 6.4.0 - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartlog': 3.2.1 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/smartrx': 3.0.10 - '@push.rocks/smarttime': 4.2.3 - '@push.rocks/smartunique': 3.0.9 - transitivePeerDependencies: - - '@nuxt/kit' - - react - - supports-color - - vue + yaml: 2.8.4 '@push.rocks/taskbuffer@8.0.2': dependencies: - '@design.estate/dees-element': 2.2.3 - '@push.rocks/lik': 6.4.0 - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartlog': 3.2.1 - '@push.rocks/smartpromise': 4.2.3 + '@design.estate/dees-element': 2.2.4 + '@push.rocks/lik': 6.4.1 + '@push.rocks/smartdelay': 3.1.0 + '@push.rocks/smartlog': 3.2.2 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smartrx': 3.0.10 '@push.rocks/smarttime': 4.2.3 '@push.rocks/smartunique': 3.0.9 @@ -3313,28 +3220,27 @@ snapshots: '@push.rocks/webrequest@4.0.5': dependencies: - '@push.rocks/smartdelay': 3.0.5 - '@push.rocks/smartenv': 6.0.0 - '@push.rocks/smartjson': 6.0.0 - '@push.rocks/smartpromise': 4.2.3 - '@push.rocks/webstore': 2.0.20 + '@push.rocks/smartdelay': 3.1.0 + '@push.rocks/smartenv': 6.1.0 + '@push.rocks/smartjson': 6.0.1 + '@push.rocks/smartpromise': 4.2.4 + '@push.rocks/webstore': 2.0.22 - '@push.rocks/websetup@3.0.19': + '@push.rocks/websetup@3.0.20': dependencies: - '@pushrocks/smartdelay': 3.0.1 - '@pushrocks/smartpromise': 4.0.2 - '@tsclass/tsclass': 4.4.4 + '@push.rocks/smartpromise': 4.2.4 + '@tsclass/tsclass': 9.5.1 - '@push.rocks/webstore@2.0.20': + '@push.rocks/webstore@2.0.22': dependencies: '@api.global/typedrequest-interfaces': 3.0.19 - '@push.rocks/lik': 6.3.1 - '@push.rocks/smartenv': 5.0.13 - '@push.rocks/smartjson': 5.2.0 - '@push.rocks/smartpromise': 4.2.3 + '@push.rocks/lik': 6.4.1 + '@push.rocks/smartenv': 6.1.0 + '@push.rocks/smartjson': 6.0.1 + '@push.rocks/smartpromise': 4.2.4 '@push.rocks/smartrx': 3.0.10 - '@tempfix/idb': 8.0.3 - fake-indexeddb: 5.0.2 + fake-indexeddb: 6.2.5 + idb: 8.0.3 '@push.rocks/webstream@1.0.10': dependencies: @@ -3342,10 +3248,6 @@ snapshots: '@pushrocks/isounique@1.0.5': {} - '@pushrocks/smartdelay@3.0.1': - dependencies: - '@pushrocks/smartpromise': 4.0.2 - '@pushrocks/smartenv@5.0.5': dependencies: '@pushrocks/smartpromise': 3.1.10 @@ -3367,8 +3269,6 @@ snapshots: '@pushrocks/smartpromise@3.1.10': {} - '@pushrocks/smartpromise@4.0.2': {} - '@pushrocks/smartstring@4.0.7': dependencies: '@pushrocks/isounique': 1.0.5 @@ -3420,9 +3320,12 @@ snapshots: '@rolldown/binding-openharmony-arm64@1.0.0-rc.11': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-rc.11': + '@rolldown/binding-wasm32-wasi@1.0.0-rc.11(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': dependencies: - '@napi-rs/wasm-runtime': 1.1.1 + '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' optional: true '@rolldown/binding-win32-arm64-msvc@1.0.0-rc.11': @@ -3433,67 +3336,67 @@ snapshots: '@rolldown/pluginutils@1.0.0-rc.11': {} - '@rspack/binding-darwin-arm64@1.7.10': + '@rspack/binding-darwin-arm64@1.7.11': optional: true - '@rspack/binding-darwin-x64@1.7.10': + '@rspack/binding-darwin-x64@1.7.11': optional: true - '@rspack/binding-linux-arm64-gnu@1.7.10': + '@rspack/binding-linux-arm64-gnu@1.7.11': optional: true - '@rspack/binding-linux-arm64-musl@1.7.10': + '@rspack/binding-linux-arm64-musl@1.7.11': optional: true - '@rspack/binding-linux-x64-gnu@1.7.10': + '@rspack/binding-linux-x64-gnu@1.7.11': optional: true - '@rspack/binding-linux-x64-musl@1.7.10': + '@rspack/binding-linux-x64-musl@1.7.11': optional: true - '@rspack/binding-wasm32-wasi@1.7.10': + '@rspack/binding-wasm32-wasi@1.7.11': dependencies: '@napi-rs/wasm-runtime': 1.0.7 optional: true - '@rspack/binding-win32-arm64-msvc@1.7.10': + '@rspack/binding-win32-arm64-msvc@1.7.11': optional: true - '@rspack/binding-win32-ia32-msvc@1.7.10': + '@rspack/binding-win32-ia32-msvc@1.7.11': optional: true - '@rspack/binding-win32-x64-msvc@1.7.10': + '@rspack/binding-win32-x64-msvc@1.7.11': optional: true - '@rspack/binding@1.7.10': + '@rspack/binding@1.7.11': optionalDependencies: - '@rspack/binding-darwin-arm64': 1.7.10 - '@rspack/binding-darwin-x64': 1.7.10 - '@rspack/binding-linux-arm64-gnu': 1.7.10 - '@rspack/binding-linux-arm64-musl': 1.7.10 - '@rspack/binding-linux-x64-gnu': 1.7.10 - '@rspack/binding-linux-x64-musl': 1.7.10 - '@rspack/binding-wasm32-wasi': 1.7.10 - '@rspack/binding-win32-arm64-msvc': 1.7.10 - '@rspack/binding-win32-ia32-msvc': 1.7.10 - '@rspack/binding-win32-x64-msvc': 1.7.10 + '@rspack/binding-darwin-arm64': 1.7.11 + '@rspack/binding-darwin-x64': 1.7.11 + '@rspack/binding-linux-arm64-gnu': 1.7.11 + '@rspack/binding-linux-arm64-musl': 1.7.11 + '@rspack/binding-linux-x64-gnu': 1.7.11 + '@rspack/binding-linux-x64-musl': 1.7.11 + '@rspack/binding-wasm32-wasi': 1.7.11 + '@rspack/binding-win32-arm64-msvc': 1.7.11 + '@rspack/binding-win32-ia32-msvc': 1.7.11 + '@rspack/binding-win32-x64-msvc': 1.7.11 - '@rspack/core@1.7.10': + '@rspack/core@1.7.11': dependencies: '@module-federation/runtime-tools': 0.22.0 - '@rspack/binding': 1.7.10 + '@rspack/binding': 1.7.11 '@rspack/lite-tapable': 1.1.0 '@rspack/lite-tapable@1.1.0': {} '@sec-ant/readable-stream@0.4.1': {} - '@serve.zone/catalog@2.9.0(@tiptap/pm@2.27.2)': + '@serve.zone/catalog@2.12.4(@tiptap/pm@2.27.2)': dependencies: - '@design.estate/dees-catalog': 3.49.0(@tiptap/pm@2.27.2) - '@design.estate/dees-domtools': 2.5.1 - '@design.estate/dees-element': 2.2.3 - '@design.estate/dees-wcctools': 3.8.0 + '@design.estate/dees-catalog': 3.81.0(@tiptap/pm@2.27.2) + '@design.estate/dees-domtools': 2.5.6 + '@design.estate/dees-element': 2.2.4 + '@design.estate/dees-wcctools': 3.9.0 transitivePeerDependencies: - '@nuxt/kit' - '@tiptap/pm' @@ -3501,8 +3404,6 @@ snapshots: - supports-color - vue - '@tempfix/idb@8.0.3': {} - '@tempfix/lenis@1.3.20': {} '@tempfix/webcontainer__api@1.6.1': {} @@ -3612,7 +3513,7 @@ snapshots: '@tiptap/pm@2.27.2': dependencies: - prosemirror-changeset: 2.4.0 + prosemirror-changeset: 2.4.1 prosemirror-collab: 1.3.1 prosemirror-commands: 1.7.1 prosemirror-dropcursor: 1.8.2 @@ -3621,15 +3522,15 @@ snapshots: prosemirror-inputrules: 1.5.1 prosemirror-keymap: 1.2.3 prosemirror-markdown: 1.13.4 - prosemirror-menu: 1.3.0 + prosemirror-menu: 1.3.2 prosemirror-model: 1.25.4 prosemirror-schema-basic: 1.2.4 prosemirror-schema-list: 1.5.1 prosemirror-state: 1.4.4 prosemirror-tables: 1.8.5 - prosemirror-trailing-node: 3.0.0(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.7) - prosemirror-transform: 1.11.0 - prosemirror-view: 1.41.7 + prosemirror-trailing-node: 3.0.0(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8) + prosemirror-transform: 1.12.0 + prosemirror-view: 1.41.8 '@tiptap/starter-kit@2.27.2': dependencies: @@ -3661,11 +3562,11 @@ snapshots: dependencies: type-fest: 4.41.0 - '@tsclass/tsclass@9.5.0': + '@tsclass/tsclass@9.5.1': dependencies: - type-fest: 5.5.0 + type-fest: 5.6.0 - '@tybys/wasm-util@0.10.1': + '@tybys/wasm-util@0.10.2': dependencies: tslib: 2.8.1 optional: true @@ -3674,17 +3575,18 @@ snapshots: '@types/clean-css@4.2.11': dependencies: - '@types/node': 25.5.0 + '@types/node': 25.6.1 source-map: 0.6.1 - '@types/debug@4.1.12': + '@types/debug@4.1.13': dependencies: '@types/ms': 2.1.0 - '@types/fs-extra@11.0.4': + '@types/dom-mediacapture-transform@0.1.11': dependencies: - '@types/jsonfile': 6.1.4 - '@types/node': 25.5.0 + '@types/dom-webcodecs': 0.1.13 + + '@types/dom-webcodecs@0.1.13': {} '@types/hast@3.0.4': dependencies: @@ -3696,14 +3598,8 @@ snapshots: '@types/relateurl': 0.2.33 '@types/uglify-js': 3.17.5 - '@types/js-yaml@3.12.10': {} - '@types/js-yaml@4.0.9': {} - '@types/jsonfile@6.1.4': - dependencies: - '@types/node': 25.5.0 - '@types/linkify-it@5.0.0': {} '@types/markdown-it@14.1.2': @@ -3719,21 +3615,19 @@ snapshots: '@types/mime-types@2.1.4': {} - '@types/minimatch@5.1.2': {} - '@types/ms@2.1.0': {} '@types/mute-stream@0.0.4': dependencies: - '@types/node': 25.5.0 + '@types/node': 25.6.1 - '@types/node@22.19.15': + '@types/node@22.19.17': dependencies: undici-types: 6.21.0 - '@types/node@25.5.0': + '@types/node@25.6.1': dependencies: - undici-types: 7.18.2 + undici-types: 7.19.2 '@types/randomatic@3.1.5': {} @@ -3743,7 +3637,7 @@ snapshots: '@types/through2@2.0.41': dependencies: - '@types/node': 25.5.0 + '@types/node': 25.6.1 '@types/trusted-types@2.0.7': {} @@ -3757,11 +3651,17 @@ snapshots: '@types/uuid@9.0.8': {} + '@types/whatwg-mimetype@3.0.2': {} + '@types/which@3.0.4': {} '@types/wrap-ansi@3.0.0': {} - '@ungap/structured-clone@1.3.0': {} + '@types/ws@8.18.1': + dependencies: + '@types/node': 25.6.1 + + '@ungap/structured-clone@1.3.1': {} agentkeepalive@4.6.0: dependencies: @@ -3779,12 +3679,6 @@ snapshots: dependencies: color-convert: 2.0.1 - apexcharts@5.10.4: {} - - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - argparse@2.0.1: {} asynckit@0.4.0: {} @@ -3797,12 +3691,7 @@ snapshots: base64-js@1.5.1: {} - brace-expansion@1.1.12: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - brace-expansion@2.0.2: + brace-expansion@2.1.0: dependencies: balanced-match: 1.0.2 @@ -3829,7 +3718,7 @@ snapshots: es-errors: 1.3.0 function-bind: 1.1.2 - call-bind@1.0.8: + call-bind@1.0.9: dependencies: call-bind-apply-helpers: 1.0.2 es-define-property: 1.0.1 @@ -3882,8 +3771,6 @@ snapshots: commander@2.20.3: {} - concat-map@0.0.1: {} - crelt@1.0.6: {} croner@10.0.1: {} @@ -3942,10 +3829,17 @@ snapshots: es-errors: 1.3.0 gopd: 1.2.0 + echarts@5.6.0: + dependencies: + tslib: 2.3.0 + zrender: 5.6.1 + emoji-regex@8.0.0: {} entities@4.5.0: {} + entities@7.0.1: {} + es-define-property@1.0.1: {} es-errors@1.3.0: {} @@ -3959,36 +3853,36 @@ snapshots: es-errors: 1.3.0 get-intrinsic: 1.3.0 has-tostringtag: 1.0.2 - hasown: 2.0.2 + hasown: 2.0.3 - esbuild@0.27.4: + esbuild@0.27.7: optionalDependencies: - '@esbuild/aix-ppc64': 0.27.4 - '@esbuild/android-arm': 0.27.4 - '@esbuild/android-arm64': 0.27.4 - '@esbuild/android-x64': 0.27.4 - '@esbuild/darwin-arm64': 0.27.4 - '@esbuild/darwin-x64': 0.27.4 - '@esbuild/freebsd-arm64': 0.27.4 - '@esbuild/freebsd-x64': 0.27.4 - '@esbuild/linux-arm': 0.27.4 - '@esbuild/linux-arm64': 0.27.4 - '@esbuild/linux-ia32': 0.27.4 - '@esbuild/linux-loong64': 0.27.4 - '@esbuild/linux-mips64el': 0.27.4 - '@esbuild/linux-ppc64': 0.27.4 - '@esbuild/linux-riscv64': 0.27.4 - '@esbuild/linux-s390x': 0.27.4 - '@esbuild/linux-x64': 0.27.4 - '@esbuild/netbsd-arm64': 0.27.4 - '@esbuild/netbsd-x64': 0.27.4 - '@esbuild/openbsd-arm64': 0.27.4 - '@esbuild/openbsd-x64': 0.27.4 - '@esbuild/openharmony-arm64': 0.27.4 - '@esbuild/sunos-x64': 0.27.4 - '@esbuild/win32-arm64': 0.27.4 - '@esbuild/win32-ia32': 0.27.4 - '@esbuild/win32-x64': 0.27.4 + '@esbuild/aix-ppc64': 0.27.7 + '@esbuild/android-arm': 0.27.7 + '@esbuild/android-arm64': 0.27.7 + '@esbuild/android-x64': 0.27.7 + '@esbuild/darwin-arm64': 0.27.7 + '@esbuild/darwin-x64': 0.27.7 + '@esbuild/freebsd-arm64': 0.27.7 + '@esbuild/freebsd-x64': 0.27.7 + '@esbuild/linux-arm': 0.27.7 + '@esbuild/linux-arm64': 0.27.7 + '@esbuild/linux-ia32': 0.27.7 + '@esbuild/linux-loong64': 0.27.7 + '@esbuild/linux-mips64el': 0.27.7 + '@esbuild/linux-ppc64': 0.27.7 + '@esbuild/linux-riscv64': 0.27.7 + '@esbuild/linux-s390x': 0.27.7 + '@esbuild/linux-x64': 0.27.7 + '@esbuild/netbsd-arm64': 0.27.7 + '@esbuild/netbsd-x64': 0.27.7 + '@esbuild/openbsd-arm64': 0.27.7 + '@esbuild/openbsd-x64': 0.27.7 + '@esbuild/openharmony-arm64': 0.27.7 + '@esbuild/sunos-x64': 0.27.7 + '@esbuild/win32-arm64': 0.27.7 + '@esbuild/win32-ia32': 0.27.7 + '@esbuild/win32-x64': 0.27.7 escape-string-regexp@4.0.0: {} @@ -3996,8 +3890,6 @@ snapshots: esm@3.2.25: {} - esprima@4.0.1: {} - eventemitter3@4.0.7: {} extend@3.0.2: {} @@ -4008,27 +3900,28 @@ snapshots: iconv-lite: 0.4.24 tmp: 0.0.33 - fake-indexeddb@5.0.2: {} - fake-indexeddb@6.2.5: {} + fancy-canvas@2.1.0: {} + fast-deep-equal@3.1.3: {} fast-json-stable-stringify@2.1.0: {} - fast-xml-builder@1.1.4: + fast-xml-builder@1.1.9: dependencies: - path-expression-matcher: 1.2.0 + path-expression-matcher: 1.5.0 - fast-xml-parser@4.5.5: + fast-xml-parser@4.5.6: dependencies: strnum: 1.1.2 - fast-xml-parser@5.5.9: + fast-xml-parser@5.7.3: dependencies: - fast-xml-builder: 1.1.4 - path-expression-matcher: 1.2.0 - strnum: 2.2.2 + '@nodable/entities': 2.1.0 + fast-xml-builder: 1.1.9 + path-expression-matcher: 1.5.0 + strnum: 2.3.0 fault@2.0.1: dependencies: @@ -4046,29 +3939,16 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 3.0.7 - foreground-child@3.3.1: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - form-data@4.0.5: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 es-set-tostringtag: 2.1.0 - hasown: 2.0.2 + hasown: 2.0.3 mime-types: 2.1.35 format@0.2.2: {} - fs-extra@11.3.4: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.2.0 - universalify: 2.0.1 - - fs.realpath@1.0.0: {} - fsevents@2.3.3: optional: true @@ -4084,7 +3964,7 @@ snapshots: get-proto: 1.0.1 gopd: 1.2.0 has-symbols: 1.1.0 - hasown: 2.0.2 + hasown: 2.0.3 math-intrinsics: 1.1.0 get-proto@1.0.1: @@ -4097,37 +3977,29 @@ snapshots: '@sec-ant/readable-stream': 0.4.1 is-stream: 4.0.1 - get-tsconfig@4.13.7: + get-tsconfig@4.14.0: dependencies: resolve-pkg-maps: 1.0.0 - glob@11.1.0: + glob@13.0.6: dependencies: - foreground-child: 3.3.1 - jackspeak: 4.2.3 - minimatch: 10.2.4 + minimatch: 10.2.5 minipass: 7.1.3 - package-json-from-dist: 1.0.1 path-scurry: 2.0.2 - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.5 - once: 1.4.0 - path-is-absolute: 1.0.1 - gopd@1.2.0: {} - graceful-fs@4.2.11: {} - - happy-dom@15.11.7: + happy-dom@20.9.0: dependencies: - entities: 4.5.0 - webidl-conversions: 7.0.0 + '@types/node': 25.6.1 + '@types/whatwg-mimetype': 3.0.2 + '@types/ws': 8.18.1 + entities: 7.0.1 whatwg-mimetype: 3.0.0 + ws: 8.20.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate has-property-descriptors@1.0.2: dependencies: @@ -4139,14 +4011,14 @@ snapshots: dependencies: has-symbols: 1.1.0 - hasown@2.0.2: + hasown@2.0.3: dependencies: function-bind: 1.1.2 hast-util-sanitize@5.0.2: dependencies: '@types/hast': 3.0.4 - '@ungap/structured-clone': 1.3.0 + '@ungap/structured-clone': 1.3.1 unist-util-position: 5.0.0 hast-util-to-html@9.0.5: @@ -4187,18 +4059,15 @@ snapshots: dependencies: ms: 2.1.3 - ibantools@4.5.1: {} + ibantools@4.5.4: {} iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 - ieee754@1.2.1: {} + idb@8.0.3: {} - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 + ieee754@1.2.1: {} inherits@2.0.4: {} @@ -4219,7 +4088,7 @@ snapshots: is-nan@1.3.2: dependencies: - call-bind: 1.0.8 + call-bind: 1.0.9 define-properties: 1.2.1 is-number@4.0.0: {} @@ -4240,29 +4109,18 @@ snapshots: isexe@4.0.0: {} - jackspeak@4.2.3: - dependencies: - '@isaacs/cliui': 9.0.0 - js-base64@3.7.8: {} - js-yaml@3.14.2: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - js-yaml@4.1.1: dependencies: argparse: 2.0.1 - jsonfile@6.2.0: - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - kind-of@6.0.3: {} + lightweight-charts@5.2.0: + dependencies: + fancy-canvas: 2.1.0 + linkify-it@5.0.0: dependencies: uc.micro: 2.1.0 @@ -4291,9 +4149,9 @@ snapshots: lower-case@1.1.4: {} - lru-cache@11.2.7: {} + lru-cache@11.3.6: {} - lucide@0.577.0: {} + lucide@1.14.0: {} make-dir@3.1.0: dependencies: @@ -4421,7 +4279,7 @@ snapshots: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@ungap/structured-clone': 1.3.0 + '@ungap/structured-clone': 1.3.1 devlop: 1.1.0 micromark-util-sanitize-uri: 2.0.1 trim-lines: 3.0.1 @@ -4447,6 +4305,11 @@ snapshots: mdurl@2.0.0: {} + mediabunny@1.44.1: + dependencies: + '@types/dom-mediacapture-transform': 0.1.11 + '@types/dom-webcodecs': 0.1.13 + micromark-core-commonmark@2.0.3: dependencies: decode-named-character-reference: 1.3.0 @@ -4625,7 +4488,7 @@ snapshots: micromark@4.0.2: dependencies: - '@types/debug': 4.1.12 + '@types/debug': 4.1.13 debug: 4.4.3 decode-named-character-reference: 1.3.0 devlop: 1.1.0 @@ -4653,17 +4516,13 @@ snapshots: mime@4.1.0: {} - minimatch@10.2.4: + minimatch@10.2.5: dependencies: brace-expansion: 5.0.5 - minimatch@3.1.5: - dependencies: - brace-expansion: 1.1.12 - minimatch@9.0.9: dependencies: - brace-expansion: 2.0.2 + brace-expansion: 2.1.0 minipass@7.1.3: {} @@ -4694,10 +4553,6 @@ snapshots: observable-fns@0.6.1: {} - once@1.4.0: - dependencies: - wrappy: 1.0.2 - open@8.4.2: dependencies: define-lazy-prop: 2.0.0 @@ -4727,22 +4582,20 @@ snapshots: parse-ms@4.0.0: {} - path-expression-matcher@1.2.0: {} - - path-is-absolute@1.0.1: {} + path-expression-matcher@1.5.0: {} path-key@3.1.1: {} path-scurry@2.0.2: dependencies: - lru-cache: 11.2.7 + lru-cache: 11.3.6 minipass: 7.1.3 - path-to-regexp@8.3.0: {} + path-to-regexp@8.4.2: {} pdfjs-dist@4.10.38: optionalDependencies: - '@napi-rs/canvas': 0.1.97 + '@napi-rs/canvas': 0.1.100 peek-readable@5.4.2: {} @@ -4754,9 +4607,9 @@ snapshots: property-information@7.1.0: {} - prosemirror-changeset@2.4.0: + prosemirror-changeset@2.4.1: dependencies: - prosemirror-transform: 1.11.0 + prosemirror-transform: 1.12.0 prosemirror-collab@1.3.1: dependencies: @@ -4766,32 +4619,32 @@ snapshots: dependencies: prosemirror-model: 1.25.4 prosemirror-state: 1.4.4 - prosemirror-transform: 1.11.0 + prosemirror-transform: 1.12.0 prosemirror-dropcursor@1.8.2: dependencies: prosemirror-state: 1.4.4 - prosemirror-transform: 1.11.0 - prosemirror-view: 1.41.7 + prosemirror-transform: 1.12.0 + prosemirror-view: 1.41.8 prosemirror-gapcursor@1.4.1: dependencies: prosemirror-keymap: 1.2.3 prosemirror-model: 1.25.4 prosemirror-state: 1.4.4 - prosemirror-view: 1.41.7 + prosemirror-view: 1.41.8 prosemirror-history@1.5.0: dependencies: prosemirror-state: 1.4.4 - prosemirror-transform: 1.11.0 - prosemirror-view: 1.41.7 + prosemirror-transform: 1.12.0 + prosemirror-view: 1.41.8 rope-sequence: 1.3.4 prosemirror-inputrules@1.5.1: dependencies: prosemirror-state: 1.4.4 - prosemirror-transform: 1.11.0 + prosemirror-transform: 1.12.0 prosemirror-keymap@1.2.3: dependencies: @@ -4804,7 +4657,7 @@ snapshots: markdown-it: 14.1.1 prosemirror-model: 1.25.4 - prosemirror-menu@1.3.0: + prosemirror-menu@1.3.2: dependencies: crelt: 1.0.6 prosemirror-commands: 1.7.1 @@ -4823,45 +4676,45 @@ snapshots: dependencies: prosemirror-model: 1.25.4 prosemirror-state: 1.4.4 - prosemirror-transform: 1.11.0 + prosemirror-transform: 1.12.0 prosemirror-state@1.4.4: dependencies: prosemirror-model: 1.25.4 - prosemirror-transform: 1.11.0 - prosemirror-view: 1.41.7 + prosemirror-transform: 1.12.0 + prosemirror-view: 1.41.8 prosemirror-tables@1.8.5: dependencies: prosemirror-keymap: 1.2.3 prosemirror-model: 1.25.4 prosemirror-state: 1.4.4 - prosemirror-transform: 1.11.0 - prosemirror-view: 1.41.7 + prosemirror-transform: 1.12.0 + prosemirror-view: 1.41.8 - prosemirror-trailing-node@3.0.0(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.7): + prosemirror-trailing-node@3.0.0(prosemirror-model@1.25.4)(prosemirror-state@1.4.4)(prosemirror-view@1.41.8): dependencies: '@remirror/core-constants': 3.0.0 escape-string-regexp: 4.0.0 prosemirror-model: 1.25.4 prosemirror-state: 1.4.4 - prosemirror-view: 1.41.7 + prosemirror-view: 1.41.8 - prosemirror-transform@1.11.0: + prosemirror-transform@1.12.0: dependencies: prosemirror-model: 1.25.4 - prosemirror-view@1.41.7: + prosemirror-view@1.41.8: dependencies: prosemirror-model: 1.25.4 prosemirror-state: 1.4.4 - prosemirror-transform: 1.11.0 + prosemirror-transform: 1.12.0 punycode.js@2.3.1: {} punycode@1.4.1: {} - qs@6.15.0: + qs@6.15.1: dependencies: side-channel: 1.1.0 @@ -4928,11 +4781,12 @@ snapshots: resolve-pkg-maps@1.0.0: {} - rimraf@3.0.2: + rimraf@6.1.3: dependencies: - glob: 7.2.3 + glob: 13.0.6 + package-json-from-dist: 1.0.1 - rolldown@1.0.0-rc.11: + rolldown@1.0.0-rc.11(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0): dependencies: '@oxc-project/types': 0.122.0 '@rolldown/pluginutils': 1.0.0-rc.11 @@ -4949,9 +4803,12 @@ snapshots: '@rolldown/binding-linux-x64-gnu': 1.0.0-rc.11 '@rolldown/binding-linux-x64-musl': 1.0.0-rc.11 '@rolldown/binding-openharmony-arm64': 1.0.0-rc.11 - '@rolldown/binding-wasm32-wasi': 1.0.0-rc.11 + '@rolldown/binding-wasm32-wasi': 1.0.0-rc.11(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) '@rolldown/binding-win32-arm64-msvc': 1.0.0-rc.11 '@rolldown/binding-win32-x64-msvc': 1.0.0-rc.11 + transitivePeerDependencies: + - '@emnapi/core' + - '@emnapi/runtime' rope-sequence@1.3.4: {} @@ -4982,7 +4839,7 @@ snapshots: shebang-regex@3.0.0: {} - side-channel-list@1.0.0: + side-channel-list@1.0.1: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 @@ -5006,7 +4863,7 @@ snapshots: dependencies: es-errors: 1.3.0 object-inspect: 1.13.4 - side-channel-list: 1.0.0 + side-channel-list: 1.0.1 side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 @@ -5018,17 +4875,16 @@ snapshots: space-separated-tokens@2.0.2: {} - spawn-wrap@2.0.0: + spawn-wrap@3.0.0: dependencies: + cross-spawn: 7.0.6 foreground-child: 2.0.0 is-windows: 1.0.2 make-dir: 3.1.0 - rimraf: 3.0.2 + rimraf: 6.1.3 signal-exit: 3.0.7 which: 2.0.2 - sprintf-js@1.0.3: {} - string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -5052,7 +4908,7 @@ snapshots: strnum@1.1.2: {} - strnum@2.2.2: {} + strnum@2.3.0: {} strtok3@9.1.1: dependencies: @@ -5098,18 +4954,20 @@ snapshots: trough@2.2.0: {} + tslib@2.3.0: {} + tslib@2.8.1: {} tsx@4.21.0: dependencies: - esbuild: 0.27.4 - get-tsconfig: 4.13.7 + esbuild: 0.27.7 + get-tsconfig: 4.14.0 optionalDependencies: fsevents: 2.3.3 turndown-plugin-gfm@1.0.2: {} - turndown@7.2.2: + turndown@7.2.4: dependencies: '@mixmark-io/domino': 2.2.0 @@ -5119,7 +4977,7 @@ snapshots: type-fest@4.41.0: {} - type-fest@5.5.0: + type-fest@5.6.0: dependencies: tagged-tag: 1.0.0 @@ -5133,7 +4991,7 @@ snapshots: undici-types@6.21.0: {} - undici-types@7.18.2: {} + undici-types@7.19.2: {} unified@11.0.5: dependencies: @@ -5168,8 +5026,6 @@ snapshots: unist-util-is: 6.0.1 unist-util-visit-parents: 6.0.2 - universalify@2.0.1: {} - unload@2.4.1: {} upper-case@1.1.3: {} @@ -5177,7 +5033,7 @@ snapshots: url@0.11.4: dependencies: punycode: 1.4.1 - qs: 6.15.0 + qs: 6.15.1 util-deprecate@1.0.2: {} @@ -5195,8 +5051,6 @@ snapshots: w3c-keyname@2.2.8: {} - webidl-conversions@7.0.0: {} - whatwg-mimetype@3.0.0: {} which@2.0.2: @@ -5213,8 +5067,6 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - wrappy@1.0.2: {} - ws@8.20.0: {} xterm-addon-fit@0.8.0(xterm@5.3.0): @@ -5223,10 +5075,14 @@ snapshots: xterm@5.3.0: {} - yaml@2.8.3: {} + yaml@2.8.4: {} yargs-parser@22.0.0: {} yoctocolors-cjs@2.1.3: {} + zrender@5.6.1: + dependencies: + tslib: 2.3.0 + zwitch@2.0.4: {} diff --git a/readme.md b/readme.md index 11d3f34..34769b8 100644 --- a/readme.md +++ b/readme.md @@ -59,12 +59,14 @@ Install the released binary: curl -sSL https://code.foss.global/serve.zone/onebox/raw/branch/main/install.sh | sudo bash ``` -Install through the npm package wrapper with pnpm: +For published wrapper builds, install with pnpm: ```bash pnpm add --global @serve.zone/onebox ``` +This repository currently marks the package as private; use the install script or a released wrapper package when available. + The package wrapper downloads the platform-specific binary during postinstall. Current release assets are named for Linux, macOS, and Windows on x64/ARM64 where available. ## Quick Start diff --git a/ts/classes/docker.ts b/ts/classes/docker.ts index 9fc76a2..165c7b7 100644 --- a/ts/classes/docker.ts +++ b/ts/classes/docker.ts @@ -36,6 +36,23 @@ export class OneboxDockerManager { } } + /** + * Release resources held by the Docker API client. + */ + async stop(): Promise { + if (!this.dockerClient) { + return; + } + + try { + await this.dockerClient.stop(); + } catch (error) { + logger.error(`Failed to stop Docker client: ${getErrorMessage(error)}`); + } finally { + this.dockerClient = null; + } + } + /** * Ensure onebox network exists */ diff --git a/ts/classes/onebox.ts b/ts/classes/onebox.ts index 318e66e..857ab8e 100644 --- a/ts/classes/onebox.ts +++ b/ts/classes/onebox.ts @@ -66,7 +66,7 @@ export class Onebox { this.registry = new RegistryManager({ dataDir: './.nogit/registry-data', port: 4000, - baseUrl: 'localhost:5000', + baseUrl: 'localhost:3000', }); // Initialize domain management @@ -232,23 +232,31 @@ export class Onebox { */ private async ensureDefaultUser(): Promise { try { - const adminUser = this.database.getUserByUsername('admin'); + const adminUsername = Deno.env.get('ONEBOX_ADMIN_USERNAME') || 'admin'; + const adminUser = this.database.getUserByUsername(adminUsername); if (!adminUser) { - logger.info('Creating default admin user...'); + logger.info(`Creating initial admin user ${adminUsername}...`); - const passwordHash = await hashPassword('admin'); + const configuredPassword = Deno.env.get('ONEBOX_ADMIN_PASSWORD'); + const initialPassword = configuredPassword || crypto.randomUUID().replaceAll('-', ''); + const passwordHash = await hashPassword(initialPassword); await this.database.createUser({ - username: 'admin', + username: adminUsername, passwordHash, role: 'admin', createdAt: Date.now(), updatedAt: Date.now(), }); - logger.warn('Default admin user created with username: admin, password: admin'); - logger.warn('IMPORTANT: Change the default password immediately!'); + if (configuredPassword) { + logger.warn(`Initial admin user created from ONEBOX_ADMIN_PASSWORD: ${adminUsername}`); + } else { + logger.warn(`Initial admin user created: ${adminUsername}`); + logger.warn(`Generated one-time admin password: ${initialPassword}`); + } + logger.warn('Change the initial admin password immediately.'); } } catch (error) { logger.error(`Failed to create default user: ${getErrorMessage(error)}`); @@ -454,6 +462,9 @@ export class Onebox { // Close backup archive await this.backupManager.close(); + // Release Docker client resources after all Docker-backed managers stopped. + await this.docker.stop(); + // Close database this.database.close(); diff --git a/ts/classes/proxy-log-receiver.ts b/ts/classes/proxy-log-receiver.ts index 556b0ef..abfffdd 100644 --- a/ts/classes/proxy-log-receiver.ts +++ b/ts/classes/proxy-log-receiver.ts @@ -68,6 +68,9 @@ export class ProxyLogReceiver { private port: number; private running = false; private connections: Set = new Set(); + private connectionReaders: Map> = new Map(); + private connectionHandlers: Set> = new Set(); + private acceptTask: Promise | null = null; // Adaptive sampling state private logCountWindow: number[] = []; // timestamps of recent logs @@ -174,7 +177,7 @@ export class ProxyLogReceiver { logger.success(`ProxyLogReceiver started on TCP port ${this.port}`); // Start accepting connections in background - this.acceptConnections(); + this.acceptTask = this.acceptConnections(); } catch (error) { logger.error(`Failed to start ProxyLogReceiver: ${getErrorMessage(error)}`); throw error; @@ -190,7 +193,9 @@ export class ProxyLogReceiver { try { for await (const conn of this.server) { this.connections.add(conn); - this.handleConnection(conn); + const handlerTask = this.handleConnection(conn); + this.connectionHandlers.add(handlerTask); + handlerTask.finally(() => this.connectionHandlers.delete(handlerTask)); } } catch (error) { if (this.running) { @@ -207,6 +212,7 @@ export class ProxyLogReceiver { logger.debug(`ProxyLogReceiver: Connection from ${remoteAddr.hostname}:${remoteAddr.port}`); const reader = conn.readable.getReader(); + this.connectionReaders.set(conn, reader); const decoder = new TextDecoder(); let buffer = ''; @@ -232,7 +238,13 @@ export class ProxyLogReceiver { logger.debug(`ProxyLogReceiver connection closed: ${getErrorMessage(error)}`); } } finally { + this.connectionReaders.delete(conn); this.connections.delete(conn); + try { + reader.releaseLock(); + } catch { + // Reader may already be released after cancellation during shutdown. + } try { conn.close(); } catch { @@ -447,6 +459,11 @@ export class ProxyLogReceiver { this.running = false; + // Cancel pending reads before closing sockets so background handlers can finish. + await Promise.allSettled( + Array.from(this.connectionReaders.values()).map((reader) => reader.cancel()), + ); + // Close all connections for (const conn of this.connections) { try { @@ -467,6 +484,15 @@ export class ProxyLogReceiver { this.server = null; } + if (this.acceptTask) { + await this.acceptTask.catch(() => {}); + this.acceptTask = null; + } + + await Promise.allSettled(this.connectionHandlers); + this.connectionHandlers.clear(); + this.connectionReaders.clear(); + // Clear clients this.clients.clear(); diff --git a/ts/classes/registry.ts b/ts/classes/registry.ts index f47b7e3..ec14a18 100644 --- a/ts/classes/registry.ts +++ b/ts/classes/registry.ts @@ -76,7 +76,7 @@ export class RegistryManager { }, ociTokens: { enabled: true, - realm: 'http://localhost:3000/v2/token', + realm: `http://${this.baseUrl}/v2/token`, service: 'onebox-registry', }, }, diff --git a/ts/classes/smartproxy.ts b/ts/classes/smartproxy.ts index 8241696..5384d07 100644 --- a/ts/classes/smartproxy.ts +++ b/ts/classes/smartproxy.ts @@ -233,13 +233,13 @@ export class SmartProxyManager { } async stop(): Promise { - if (!this.serviceRunning && !(await this.getExistingService())) { - return; - } - try { await this.ensureDockerClient(); + if (!this.serviceRunning && !(await this.getExistingService())) { + return; + } + logger.info('Stopping SmartProxy service...'); await this.removeService(); @@ -247,6 +247,16 @@ export class SmartProxyManager { logger.info('SmartProxy service stopped'); } catch (error) { logger.error(`Failed to stop SmartProxy: ${getErrorMessage(error)}`); + } finally { + if (this.dockerClient) { + try { + await this.dockerClient.stop(); + } catch (error) { + logger.error(`Failed to stop SmartProxy Docker client: ${getErrorMessage(error)}`); + } finally { + this.dockerClient = null; + } + } } } diff --git a/ts/opsserver/classes.opsserver.ts b/ts/opsserver/classes.opsserver.ts index 1da7d68..77061fa 100644 --- a/ts/opsserver/classes.opsserver.ts +++ b/ts/opsserver/classes.opsserver.ts @@ -74,6 +74,16 @@ export class OpsServer { } private registerCustomRoutes(): void { + this.server.typedserver.addRoute( + '/v2', + 'ALL', + async (ctx) => this.oneboxRef.registry.handleRequest(ctx.request), + ); + this.server.typedserver.addRoute( + '/v2/*', + 'ALL', + async (ctx) => this.oneboxRef.registry.handleRequest(ctx.request), + ); this.server.typedserver.addRoute( '/backups/:backupId/download', 'GET', diff --git a/ts_bundled/bundle.ts b/ts_bundled/bundle.ts index c41799f..68c5828 100644 --- a/ts_bundled/bundle.ts +++ b/ts_bundled/bundle.ts @@ -2,7 +2,7 @@ export const files: { path: string; contentBase64: string }[] = [ { "path": "bundle.js", - "contentBase64": "dmFyIGJWZT1PYmplY3QuY3JlYXRlLGhWZT1PYmplY3QuZnJlZXplLFNsPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgdlZlPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7dmFyIGtpYT1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lczt2YXIgemlhPU9iamVjdC5nZXRQcm90b3R5cGVPZixTaWE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgeFZlPSh0LGUpPT4oZT1TeW1ib2xbdF0pP2U6U3ltYm9sLmZvcigiU3ltYm9sLiIrdCksTzY9dD0+e3Rocm93IFR5cGVFcnJvcih0KX07dmFyIHlWZT0odCxlLGEpPT5lIGluIHQ/U2wodCxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTphfSk6dFtlXT1hO3ZhciBpPSh0LGUpPT5TbCh0LCJuYW1lIix7dmFsdWU6ZSxjb25maWd1cmFibGU6ITB9KSxpSD0odD0+dHlwZW9mIHJlcXVpcmU8InUiP3JlcXVpcmU6dHlwZW9mIFByb3h5PCJ1Ij9uZXcgUHJveHkodCx7Z2V0OihlLGEpPT4odHlwZW9mIHJlcXVpcmU8InUiP3JlcXVpcmU6ZSlbYV19KTp0KShmdW5jdGlvbih0KXtpZih0eXBlb2YgcmVxdWlyZTwidSIpcmV0dXJuIHJlcXVpcmUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3Rocm93IEVycm9yKCdEeW5hbWljIHJlcXVpcmUgb2YgIicrdCsnIiBpcyBub3Qgc3VwcG9ydGVkJyl9KTt2YXIgYz0odCxlKT0+KCk9Pih0JiYoZT10KHQ9MCkpLGUpO3ZhciB3dD0odCxlKT0+KCk9PihlfHx0KChlPXtleHBvcnRzOnt9fSkuZXhwb3J0cyxlKSxlLmV4cG9ydHMpLGV0PSh0LGUpPT57Zm9yKHZhciBhIGluIGUpU2wodCxhLHtnZXQ6ZVthXSxlbnVtZXJhYmxlOiEwfSl9LENpYT0odCxlLGEscik9PntpZihlJiZ0eXBlb2YgZT09Im9iamVjdCJ8fHR5cGVvZiBlPT0iZnVuY3Rpb24iKWZvcihsZXQgcyBvZiBraWEoZSkpIVNpYS5jYWxsKHQscykmJnMhPT1hJiZTbCh0LHMse2dldDooKT0+ZVtzXSxlbnVtZXJhYmxlOiEocj12VmUoZSxzKSl8fHIuZW51bWVyYWJsZX0pO3JldHVybiB0fTt2YXIgWDE9KHQsZSxhKT0+KGE9dCE9bnVsbD9iVmUoemlhKHQpKTp7fSxDaWEoZXx8IXR8fCF0Ll9fZXNNb2R1bGU/U2woYSwiZGVmYXVsdCIse3ZhbHVlOnQsZW51bWVyYWJsZTohMH0pOmEsdCkpO3ZhciBGMT10PT5bLCwsYlZlKHQ/Llt4VmUoIm1ldGFkYXRhIildPz9udWxsKV0sd1ZlPVsiY2xhc3MiLCJtZXRob2QiLCJnZXR0ZXIiLCJzZXR0ZXIiLCJhY2Nlc3NvciIsImZpZWxkIiwidmFsdWUiLCJnZXQiLCJzZXQiXSx5cD10PT50IT09dm9pZCAwJiZ0eXBlb2YgdCE9ImZ1bmN0aW9uIj9PNigiRnVuY3Rpb24gZXhwZWN0ZWQiKTp0LF9pYT0odCxlLGEscixzKT0+KHtraW5kOndWZVt0XSxuYW1lOmUsbWV0YWRhdGE6cixhZGRJbml0aWFsaXplcjpuPT5hLl8/TzYoIkFscmVhZHkgaW5pdGlhbGl6ZWQiKTpzLnB1c2goeXAobnx8bnVsbCkpfSksVGlhPSh0LGUpPT55VmUoZSx4VmUoIm1ldGFkYXRhIiksdFszXSksV2U9KHQsZSxhLHIpPT57Zm9yKHZhciBzPTAsbj10W2U+PjFdLG89biYmbi5sZW5ndGg7czxvO3MrKyllJjE/bltzXS5jYWxsKGEpOnI9bltzXS5jYWxsKGEscik7cmV0dXJuIHJ9LHh0PSh0LGUsYSxyLHMsbik9Pnt2YXIgbyxsLGgsdSxmLHA9ZSY3LGc9ISEoZSY4KSx2PSEhKGUmMTYpLHg9cD4zP3QubGVuZ3RoKzE6cD9nPzE6MjowLGI9d1ZlW3ArNV0sbT1wPjMmJih0W3gtMV09W10pLHk9dFt4XXx8KHRbeF09W10pLE09cCYmKCF2JiYhZyYmKHM9cy5wcm90b3R5cGUpLHA8NSYmKHA+M3x8IXYpJiZ2VmUocDw0P3M6e2dldFthXSgpe3JldHVybiBtVmUodGhpcyxuKX0sc2V0W2FdKEUpe3JldHVybiBnVmUodGhpcyxuLEUpfX0sYSkpO3A/diYmcDw0JiZpKG4sKHA+Mj8ic2V0ICI6cD4xPyJnZXQgIjoiIikrYSk6aShzLGEpO2Zvcih2YXIgaz1yLmxlbmd0aC0xO2s+PTA7ay0tKXU9X2lhKHAsYSxoPXt9LHRbM10seSkscCYmKHUuc3RhdGljPWcsdS5wcml2YXRlPXYsZj11LmFjY2Vzcz17aGFzOnY/RT0+TGlhKHMsRSk6RT0+YSBpbiBFfSxwXjMmJihmLmdldD12P0U9PihwXjE/bVZlOiRpYSkoRSxzLHBeND9uOk0uZ2V0KTpFPT5FW2FdKSxwPjImJihmLnNldD12PyhFLF8pPT5nVmUoRSxzLF8scF40P246TS5zZXQpOihFLF8pPT5FW2FdPV8pKSxsPSgwLHJba10pKHA/cDw0P3Y/bjpNW2JdOnA+ND92b2lkIDA6e2dldDpNLmdldCxzZXQ6TS5zZXR9OnMsdSksaC5fPTEscF40fHxsPT09dm9pZCAwP3lwKGwpJiYocD40P20udW5zaGlmdChsKTpwP3Y/bj1sOk1bYl09bDpzPWwpOnR5cGVvZiBsIT0ib2JqZWN0Inx8bD09PW51bGw/TzYoIk9iamVjdCBleHBlY3RlZCIpOih5cChvPWwuZ2V0KSYmKE0uZ2V0PW8pLHlwKG89bC5zZXQpJiYoTS5zZXQ9bykseXAobz1sLmluaXQpJiZtLnVuc2hpZnQobykpO3JldHVybiBwfHxUaWEodCxzKSxNJiZTbChzLGEsTSksdj9wXjQ/bjpNOnN9LE8xPSh0LGUsYSk9PnlWZSh0LHR5cGVvZiBlIT0ic3ltYm9sIj9lKyIiOmUsYSksQVg9KHQsZSxhKT0+ZS5oYXModCl8fE82KCJDYW5ub3QgIithKSxMaWE9KHQsZSk9Pk9iamVjdChlKSE9PWU/TzYoJ0Nhbm5vdCB1c2UgdGhlICJpbiIgb3BlcmF0b3Igb24gdGhpcyB2YWx1ZScpOnQuaGFzKGUpLG1WZT0odCxlLGEpPT4oQVgodCxlLCJyZWFkIGZyb20gcHJpdmF0ZSBmaWVsZCIpLGE/YS5jYWxsKHQpOmUuZ2V0KHQpKSwkdD0odCxlLGEpPT5lLmhhcyh0KT9PNigiQ2Fubm90IGFkZCB0aGUgc2FtZSBwcml2YXRlIG1lbWJlciBtb3JlIHRoYW4gb25jZSIpOmUgaW5zdGFuY2VvZiBXZWFrU2V0P2UuYWRkKHQpOmUuc2V0KHQsYSksZ1ZlPSh0LGUsYSxyKT0+KEFYKHQsZSwid3JpdGUgdG8gcHJpdmF0ZSBmaWVsZCIpLHI/ci5jYWxsKHQsYSk6ZS5zZXQodCxhKSxhKSwkaWE9KHQsZSxhKT0+KEFYKHQsZSwiYWNjZXNzIHByaXZhdGUgbWV0aG9kIiksYSk7dmFyIEI2PSh0LGUpPT5oVmUoU2wodCwicmF3Iix7dmFsdWU6aFZlKGV8fHQuc2xpY2UoKSl9KSk7dmFyIHNILHdwLFBYLE1WZSxINixPdCxYLG9ILE1wLEVYPWMoKCk9PntzSD1nbG9iYWxUaGlzLHdwPXNILlNoYWRvd1Jvb3QmJihzSC5TaGFkeUNTUz09PXZvaWQgMHx8c0guU2hhZHlDU1MubmF0aXZlU2hhZG93KSYmImFkb3B0ZWRTdHlsZVNoZWV0cyJpbiBEb2N1bWVudC5wcm90b3R5cGUmJiJyZXBsYWNlImluIENTU1N0eWxlU2hlZXQucHJvdG90eXBlLFBYPVN5bWJvbCgpLE1WZT1uZXcgV2Vha01hcCxINj1jbGFzc3tzdGF0aWN7aSh0aGlzLCJuIil9Y29uc3RydWN0b3IoZSxhLHIpe2lmKHRoaXMuXyRjc3NSZXN1bHQkPSEwLHIhPT1QWCl0aHJvdyBFcnJvcigiQ1NTUmVzdWx0IGlzIG5vdCBjb25zdHJ1Y3RhYmxlLiBVc2UgYHVuc2FmZUNTU2Agb3IgYGNzc2AgaW5zdGVhZC4iKTt0aGlzLmNzc1RleHQ9ZSx0aGlzLnQ9YX1nZXQgc3R5bGVTaGVldCgpe2xldCBlPXRoaXMubyxhPXRoaXMudDtpZih3cCYmZT09PXZvaWQgMCl7bGV0IHI9YSE9PXZvaWQgMCYmYS5sZW5ndGg9PT0xO3ImJihlPU1WZS5nZXQoYSkpLGU9PT12b2lkIDAmJigodGhpcy5vPWU9bmV3IENTU1N0eWxlU2hlZXQpLnJlcGxhY2VTeW5jKHRoaXMuY3NzVGV4dCksciYmTVZlLnNldChhLGUpKX1yZXR1cm4gZX10b1N0cmluZygpe3JldHVybiB0aGlzLmNzc1RleHR9fSxPdD1pKHQ9Pm5ldyBINih0eXBlb2YgdD09InN0cmluZyI/dDp0KyIiLHZvaWQgMCxQWCksInIiKSxYPWkoKHQsLi4uZSk9PntsZXQgYT10Lmxlbmd0aD09PTE/dFswXTplLnJlZHVjZSgocixzLG4pPT5yKyhvPT57aWYoby5fJGNzc1Jlc3VsdCQ9PT0hMClyZXR1cm4gby5jc3NUZXh0O2lmKHR5cGVvZiBvPT0ibnVtYmVyIilyZXR1cm4gbzt0aHJvdyBFcnJvcigiVmFsdWUgcGFzc2VkIHRvICdjc3MnIGZ1bmN0aW9uIG11c3QgYmUgYSAnY3NzJyBmdW5jdGlvbiByZXN1bHQ6ICIrbysiLiBVc2UgJ3Vuc2FmZUNTUycgdG8gcGFzcyBub24tbGl0ZXJhbCB2YWx1ZXMsIGJ1dCB0YWtlIGNhcmUgdG8gZW5zdXJlIHBhZ2Ugc2VjdXJpdHkuIil9KShzKSt0W24rMV0sdFswXSk7cmV0dXJuIG5ldyBINihhLHQsUFgpfSwiaSIpLG9IPWkoKHQsZSk9PntpZih3cCl0LmFkb3B0ZWRTdHlsZVNoZWV0cz1lLm1hcChhPT5hIGluc3RhbmNlb2YgQ1NTU3R5bGVTaGVldD9hOmEuc3R5bGVTaGVldCk7ZWxzZSBmb3IobGV0IGEgb2YgZSl7bGV0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKSxzPXNILmxpdE5vbmNlO3MhPT12b2lkIDAmJnIuc2V0QXR0cmlidXRlKCJub25jZSIscyksci50ZXh0Q29udGVudD1hLmNzc1RleHQsdC5hcHBlbmRDaGlsZChyKX19LCJTIiksTXA9d3A/dD0+dDp0PT50IGluc3RhbmNlb2YgQ1NTU3R5bGVTaGVldD8oZT0+e2xldCBhPSIiO2ZvcihsZXQgciBvZiBlLmNzc1J1bGVzKWErPXIuY3NzVGV4dDtyZXR1cm4gT3QoYSl9KSh0KTp0fSk7dmFyIERpYSxBaWEsUGlhLEVpYSxJaWEsTmlhLG5ILGtWZSxSaWEsRmlhLGtwLHE2LHpwLHpWZSxZcyxTcD1jKCgpPT57RVgoKTtFWCgpOyh7aXM6RGlhLGRlZmluZVByb3BlcnR5OkFpYSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6UGlhLGdldE93blByb3BlcnR5TmFtZXM6RWlhLGdldE93blByb3BlcnR5U3ltYm9sczpJaWEsZ2V0UHJvdG90eXBlT2Y6TmlhfT1PYmplY3QpLG5IPWdsb2JhbFRoaXMsa1ZlPW5ILnRydXN0ZWRUeXBlcyxSaWE9a1ZlP2tWZS5lbXB0eVNjcmlwdDoiIixGaWE9bkgucmVhY3RpdmVFbGVtZW50UG9seWZpbGxTdXBwb3J0LGtwPWkoKHQsZSk9PnQsImQiKSxxNj17dG9BdHRyaWJ1dGUodCxlKXtzd2l0Y2goZSl7Y2FzZSBCb29sZWFuOnQ9dD9SaWE6bnVsbDticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OnQ9dD09bnVsbD90OkpTT04uc3RyaW5naWZ5KHQpfXJldHVybiB0fSxmcm9tQXR0cmlidXRlKHQsZSl7bGV0IGE9dDtzd2l0Y2goZSl7Y2FzZSBCb29sZWFuOmE9dCE9PW51bGw7YnJlYWs7Y2FzZSBOdW1iZXI6YT10PT09bnVsbD9udWxsOk51bWJlcih0KTticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OnRyeXthPUpTT04ucGFyc2UodCl9Y2F0Y2h7YT1udWxsfX1yZXR1cm4gYX19LHpwPWkoKHQsZSk9PiFEaWEodCxlKSwiZiIpLHpWZT17YXR0cmlidXRlOiEwLHR5cGU6U3RyaW5nLGNvbnZlcnRlcjpxNixyZWZsZWN0OiExLHVzZURlZmF1bHQ6ITEsaGFzQ2hhbmdlZDp6cH07U3ltYm9sLm1ldGFkYXRhPz89U3ltYm9sKCJtZXRhZGF0YSIpLG5ILmxpdFByb3BlcnR5TWV0YWRhdGE/Pz1uZXcgV2Vha01hcDtZcz1jbGFzcyBleHRlbmRzIEhUTUxFbGVtZW50e3N0YXRpY3tpKHRoaXMsInkiKX1zdGF0aWMgYWRkSW5pdGlhbGl6ZXIoZSl7dGhpcy5fJEVpKCksKHRoaXMubD8/PVtdKS5wdXNoKGUpfXN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCl7cmV0dXJuIHRoaXMuZmluYWxpemUoKSx0aGlzLl8kRWgmJlsuLi50aGlzLl8kRWgua2V5cygpXX1zdGF0aWMgY3JlYXRlUHJvcGVydHkoZSxhPXpWZSl7aWYoYS5zdGF0ZSYmKGEuYXR0cmlidXRlPSExKSx0aGlzLl8kRWkoKSx0aGlzLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShlKSYmKChhPU9iamVjdC5jcmVhdGUoYSkpLndyYXBwZWQ9ITApLHRoaXMuZWxlbWVudFByb3BlcnRpZXMuc2V0KGUsYSksIWEubm9BY2Nlc3Nvcil7bGV0IHI9U3ltYm9sKCkscz10aGlzLmdldFByb3BlcnR5RGVzY3JpcHRvcihlLHIsYSk7cyE9PXZvaWQgMCYmQWlhKHRoaXMucHJvdG90eXBlLGUscyl9fXN0YXRpYyBnZXRQcm9wZXJ0eURlc2NyaXB0b3IoZSxhLHIpe2xldHtnZXQ6cyxzZXQ6bn09UGlhKHRoaXMucHJvdG90eXBlLGUpPz97Z2V0KCl7cmV0dXJuIHRoaXNbYV19LHNldChvKXt0aGlzW2FdPW99fTtyZXR1cm57Z2V0OnMsc2V0KG8pe2xldCBsPXM/LmNhbGwodGhpcyk7bj8uY2FsbCh0aGlzLG8pLHRoaXMucmVxdWVzdFVwZGF0ZShlLGwscil9LGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwfX1zdGF0aWMgZ2V0UHJvcGVydHlPcHRpb25zKGUpe3JldHVybiB0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzLmdldChlKT8/elZlfXN0YXRpYyBfJEVpKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eShrcCgiZWxlbWVudFByb3BlcnRpZXMiKSkpcmV0dXJuO2xldCBlPU5pYSh0aGlzKTtlLmZpbmFsaXplKCksZS5sIT09dm9pZCAwJiYodGhpcy5sPVsuLi5lLmxdKSx0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzPW5ldyBNYXAoZS5lbGVtZW50UHJvcGVydGllcyl9c3RhdGljIGZpbmFsaXplKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eShrcCgiZmluYWxpemVkIikpKXJldHVybjtpZih0aGlzLmZpbmFsaXplZD0hMCx0aGlzLl8kRWkoKSx0aGlzLmhhc093blByb3BlcnR5KGtwKCJwcm9wZXJ0aWVzIikpKXtsZXQgYT10aGlzLnByb3BlcnRpZXMscj1bLi4uRWlhKGEpLC4uLklpYShhKV07Zm9yKGxldCBzIG9mIHIpdGhpcy5jcmVhdGVQcm9wZXJ0eShzLGFbc10pfWxldCBlPXRoaXNbU3ltYm9sLm1ldGFkYXRhXTtpZihlIT09bnVsbCl7bGV0IGE9bGl0UHJvcGVydHlNZXRhZGF0YS5nZXQoZSk7aWYoYSE9PXZvaWQgMClmb3IobGV0W3Isc11vZiBhKXRoaXMuZWxlbWVudFByb3BlcnRpZXMuc2V0KHIscyl9dGhpcy5fJEVoPW5ldyBNYXA7Zm9yKGxldFthLHJdb2YgdGhpcy5lbGVtZW50UHJvcGVydGllcyl7bGV0IHM9dGhpcy5fJEV1KGEscik7cyE9PXZvaWQgMCYmdGhpcy5fJEVoLnNldChzLGEpfXRoaXMuZWxlbWVudFN0eWxlcz10aGlzLmZpbmFsaXplU3R5bGVzKHRoaXMuc3R5bGVzKX1zdGF0aWMgZmluYWxpemVTdHlsZXMoZSl7bGV0IGE9W107aWYoQXJyYXkuaXNBcnJheShlKSl7bGV0IHI9bmV3IFNldChlLmZsYXQoMS8wKS5yZXZlcnNlKCkpO2ZvcihsZXQgcyBvZiByKWEudW5zaGlmdChNcChzKSl9ZWxzZSBlIT09dm9pZCAwJiZhLnB1c2goTXAoZSkpO3JldHVybiBhfXN0YXRpYyBfJEV1KGUsYSl7bGV0IHI9YS5hdHRyaWJ1dGU7cmV0dXJuIHI9PT0hMT92b2lkIDA6dHlwZW9mIHI9PSJzdHJpbmciP3I6dHlwZW9mIGU9PSJzdHJpbmciP2UudG9Mb3dlckNhc2UoKTp2b2lkIDB9Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuXyRFcD12b2lkIDAsdGhpcy5pc1VwZGF0ZVBlbmRpbmc9ITEsdGhpcy5oYXNVcGRhdGVkPSExLHRoaXMuXyRFbT1udWxsLHRoaXMuXyRFdigpfV8kRXYoKXt0aGlzLl8kRVM9bmV3IFByb21pc2UoZT0+dGhpcy5lbmFibGVVcGRhdGluZz1lKSx0aGlzLl8kQUw9bmV3IE1hcCx0aGlzLl8kRV8oKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmNvbnN0cnVjdG9yLmw/LmZvckVhY2goZT0+ZSh0aGlzKSl9YWRkQ29udHJvbGxlcihlKXsodGhpcy5fJEVPPz89bmV3IFNldCkuYWRkKGUpLHRoaXMucmVuZGVyUm9vdCE9PXZvaWQgMCYmdGhpcy5pc0Nvbm5lY3RlZCYmZS5ob3N0Q29ubmVjdGVkPy4oKX1yZW1vdmVDb250cm9sbGVyKGUpe3RoaXMuXyRFTz8uZGVsZXRlKGUpfV8kRV8oKXtsZXQgZT1uZXcgTWFwLGE9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcztmb3IobGV0IHIgb2YgYS5rZXlzKCkpdGhpcy5oYXNPd25Qcm9wZXJ0eShyKSYmKGUuc2V0KHIsdGhpc1tyXSksZGVsZXRlIHRoaXNbcl0pO2Uuc2l6ZT4wJiYodGhpcy5fJEVwPWUpfWNyZWF0ZVJlbmRlclJvb3QoKXtsZXQgZT10aGlzLnNoYWRvd1Jvb3Q/P3RoaXMuYXR0YWNoU2hhZG93KHRoaXMuY29uc3RydWN0b3Iuc2hhZG93Um9vdE9wdGlvbnMpO3JldHVybiBvSChlLHRoaXMuY29uc3RydWN0b3IuZWxlbWVudFN0eWxlcyksZX1jb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMucmVuZGVyUm9vdD8/PXRoaXMuY3JlYXRlUmVuZGVyUm9vdCgpLHRoaXMuZW5hYmxlVXBkYXRpbmcoITApLHRoaXMuXyRFTz8uZm9yRWFjaChlPT5lLmhvc3RDb25uZWN0ZWQ/LigpKX1lbmFibGVVcGRhdGluZyhlKXt9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt0aGlzLl8kRU8/LmZvckVhY2goZT0+ZS5ob3N0RGlzY29ubmVjdGVkPy4oKSl9YXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKGUsYSxyKXt0aGlzLl8kQUsoZSxyKX1fJEVUKGUsYSl7bGV0IHI9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcy5nZXQoZSkscz10aGlzLmNvbnN0cnVjdG9yLl8kRXUoZSxyKTtpZihzIT09dm9pZCAwJiZyLnJlZmxlY3Q9PT0hMCl7bGV0IG49KHIuY29udmVydGVyPy50b0F0dHJpYnV0ZSE9PXZvaWQgMD9yLmNvbnZlcnRlcjpxNikudG9BdHRyaWJ1dGUoYSxyLnR5cGUpO3RoaXMuXyRFbT1lLG49PW51bGw/dGhpcy5yZW1vdmVBdHRyaWJ1dGUocyk6dGhpcy5zZXRBdHRyaWJ1dGUocyxuKSx0aGlzLl8kRW09bnVsbH19XyRBSyhlLGEpe2xldCByPXRoaXMuY29uc3RydWN0b3Iscz1yLl8kRWguZ2V0KGUpO2lmKHMhPT12b2lkIDAmJnRoaXMuXyRFbSE9PXMpe2xldCBuPXIuZ2V0UHJvcGVydHlPcHRpb25zKHMpLG89dHlwZW9mIG4uY29udmVydGVyPT0iZnVuY3Rpb24iP3tmcm9tQXR0cmlidXRlOm4uY29udmVydGVyfTpuLmNvbnZlcnRlcj8uZnJvbUF0dHJpYnV0ZSE9PXZvaWQgMD9uLmNvbnZlcnRlcjpxNjt0aGlzLl8kRW09cztsZXQgbD1vLmZyb21BdHRyaWJ1dGUoYSxuLnR5cGUpO3RoaXNbc109bD8/dGhpcy5fJEVqPy5nZXQocyk/P2wsdGhpcy5fJEVtPW51bGx9fXJlcXVlc3RVcGRhdGUoZSxhLHIscz0hMSxuKXtpZihlIT09dm9pZCAwKXtsZXQgbz10aGlzLmNvbnN0cnVjdG9yO2lmKHM9PT0hMSYmKG49dGhpc1tlXSkscj8/PW8uZ2V0UHJvcGVydHlPcHRpb25zKGUpLCEoKHIuaGFzQ2hhbmdlZD8/enApKG4sYSl8fHIudXNlRGVmYXVsdCYmci5yZWZsZWN0JiZuPT09dGhpcy5fJEVqPy5nZXQoZSkmJiF0aGlzLmhhc0F0dHJpYnV0ZShvLl8kRXUoZSxyKSkpKXJldHVybjt0aGlzLkMoZSxhLHIpfXRoaXMuaXNVcGRhdGVQZW5kaW5nPT09ITEmJih0aGlzLl8kRVM9dGhpcy5fJEVQKCkpfUMoZSxhLHt1c2VEZWZhdWx0OnIscmVmbGVjdDpzLHdyYXBwZWQ6bn0sbyl7ciYmISh0aGlzLl8kRWo/Pz1uZXcgTWFwKS5oYXMoZSkmJih0aGlzLl8kRWouc2V0KGUsbz8/YT8/dGhpc1tlXSksbiE9PSEwfHxvIT09dm9pZCAwKXx8KHRoaXMuXyRBTC5oYXMoZSl8fCh0aGlzLmhhc1VwZGF0ZWR8fHJ8fChhPXZvaWQgMCksdGhpcy5fJEFMLnNldChlLGEpKSxzPT09ITAmJnRoaXMuXyRFbSE9PWUmJih0aGlzLl8kRXE/Pz1uZXcgU2V0KS5hZGQoZSkpfWFzeW5jIF8kRVAoKXt0aGlzLmlzVXBkYXRlUGVuZGluZz0hMDt0cnl7YXdhaXQgdGhpcy5fJEVTfWNhdGNoKGEpe1Byb21pc2UucmVqZWN0KGEpfWxldCBlPXRoaXMuc2NoZWR1bGVVcGRhdGUoKTtyZXR1cm4gZSE9bnVsbCYmYXdhaXQgZSwhdGhpcy5pc1VwZGF0ZVBlbmRpbmd9c2NoZWR1bGVVcGRhdGUoKXtyZXR1cm4gdGhpcy5wZXJmb3JtVXBkYXRlKCl9cGVyZm9ybVVwZGF0ZSgpe2lmKCF0aGlzLmlzVXBkYXRlUGVuZGluZylyZXR1cm47aWYoIXRoaXMuaGFzVXBkYXRlZCl7aWYodGhpcy5yZW5kZXJSb290Pz89dGhpcy5jcmVhdGVSZW5kZXJSb290KCksdGhpcy5fJEVwKXtmb3IobGV0W3Msbl1vZiB0aGlzLl8kRXApdGhpc1tzXT1uO3RoaXMuXyRFcD12b2lkIDB9bGV0IHI9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcztpZihyLnNpemU+MClmb3IobGV0W3Msbl1vZiByKXtsZXR7d3JhcHBlZDpvfT1uLGw9dGhpc1tzXTtvIT09ITB8fHRoaXMuXyRBTC5oYXMocyl8fGw9PT12b2lkIDB8fHRoaXMuQyhzLHZvaWQgMCxuLGwpfX1sZXQgZT0hMSxhPXRoaXMuXyRBTDt0cnl7ZT10aGlzLnNob3VsZFVwZGF0ZShhKSxlPyh0aGlzLndpbGxVcGRhdGUoYSksdGhpcy5fJEVPPy5mb3JFYWNoKHI9PnIuaG9zdFVwZGF0ZT8uKCkpLHRoaXMudXBkYXRlKGEpKTp0aGlzLl8kRU0oKX1jYXRjaChyKXt0aHJvdyBlPSExLHRoaXMuXyRFTSgpLHJ9ZSYmdGhpcy5fJEFFKGEpfXdpbGxVcGRhdGUoZSl7fV8kQUUoZSl7dGhpcy5fJEVPPy5mb3JFYWNoKGE9PmEuaG9zdFVwZGF0ZWQ/LigpKSx0aGlzLmhhc1VwZGF0ZWR8fCh0aGlzLmhhc1VwZGF0ZWQ9ITAsdGhpcy5maXJzdFVwZGF0ZWQoZSkpLHRoaXMudXBkYXRlZChlKX1fJEVNKCl7dGhpcy5fJEFMPW5ldyBNYXAsdGhpcy5pc1VwZGF0ZVBlbmRpbmc9ITF9Z2V0IHVwZGF0ZUNvbXBsZXRlKCl7cmV0dXJuIHRoaXMuZ2V0VXBkYXRlQ29tcGxldGUoKX1nZXRVcGRhdGVDb21wbGV0ZSgpe3JldHVybiB0aGlzLl8kRVN9c2hvdWxkVXBkYXRlKGUpe3JldHVybiEwfXVwZGF0ZShlKXt0aGlzLl8kRXEmJj10aGlzLl8kRXEuZm9yRWFjaChhPT50aGlzLl8kRVQoYSx0aGlzW2FdKSksdGhpcy5fJEVNKCl9dXBkYXRlZChlKXt9Zmlyc3RVcGRhdGVkKGUpe319O1lzLmVsZW1lbnRTdHlsZXM9W10sWXMuc2hhZG93Um9vdE9wdGlvbnM9e21vZGU6Im9wZW4ifSxZc1trcCgiZWxlbWVudFByb3BlcnRpZXMiKV09bmV3IE1hcCxZc1trcCgiZmluYWxpemVkIildPW5ldyBNYXAsRmlhPy4oe1JlYWN0aXZlRWxlbWVudDpZc30pLChuSC5yZWFjdGl2ZUVsZW1lbnRWZXJzaW9ucz8/PVtdKS5wdXNoKCIyLjEuMiIpfSk7ZnVuY3Rpb24gRVZlKHQsZSl7aWYoIUZYKHQpfHwhdC5oYXNPd25Qcm9wZXJ0eSgicmF3IikpdGhyb3cgRXJyb3IoImludmFsaWQgdGVtcGxhdGUgc3RyaW5ncyBhcnJheSIpO3JldHVybiBDVmUhPT12b2lkIDA/Q1ZlLmNyZWF0ZUhUTUwoZSk6ZX1mdW5jdGlvbiBMbCh0LGUsYT10LHIpe2lmKGU9PT1BYSlyZXR1cm4gZTtsZXQgcz1yIT09dm9pZCAwP2EuXyRDbz8uW3JdOmEuXyRDbCxuPV9wKGUpP3ZvaWQgMDplLl8kbGl0RGlyZWN0aXZlJDtyZXR1cm4gcz8uY29uc3RydWN0b3IhPT1uJiYocz8uXyRBTz8uKCExKSxuPT09dm9pZCAwP3M9dm9pZCAwOihzPW5ldyBuKHQpLHMuXyRBVCh0LGEscikpLHIhPT12b2lkIDA/KGEuXyRDbz8/PVtdKVtyXT1zOmEuXyRDbD1zKSxzIT09dm9pZCAwJiYoZT1MbCh0LHMuXyRBUyh0LGUudmFsdWVzKSxzLHIpKSxlfXZhciBJWCxTVmUsbEgsQ1ZlLE5YLEIyLFJYLE9pYSxDbCxDcCxfcCxGWCxfVmUsT1gsVHAsVFZlLExWZSxfbCwkVmUsRFZlLEFWZSxCWCx3LEhYLHFYLEFhLFZhLFBWZSxUbCxJVmUsTHAsY0gsVjYsJGwsZEgscEgsdUgsZkgsVlgsQmlhLHNuLHNzPWMoKCk9PntJWD1nbG9iYWxUaGlzLFNWZT1pKHQ9PnQsImkiKSxsSD1JWC50cnVzdGVkVHlwZXMsQ1ZlPWxIP2xILmNyZWF0ZVBvbGljeSgibGl0LWh0bWwiLHtjcmVhdGVIVE1MOmkodD0+dCwiY3JlYXRlSFRNTCIpfSk6dm9pZCAwLE5YPSIkbGl0JCIsQjI9YGxpdCQke01hdGgucmFuZG9tKCkudG9GaXhlZCg5KS5zbGljZSgyKX0kYCxSWD0iPyIrQjIsT2lhPWA8JHtSWH0+YCxDbD1kb2N1bWVudCxDcD1pKCgpPT5DbC5jcmVhdGVDb21tZW50KCIiKSwiYyIpLF9wPWkodD0+dD09PW51bGx8fHR5cGVvZiB0IT0ib2JqZWN0IiYmdHlwZW9mIHQhPSJmdW5jdGlvbiIsImEiKSxGWD1BcnJheS5pc0FycmF5LF9WZT1pKHQ9PkZYKHQpfHx0eXBlb2YgdD8uW1N5bWJvbC5pdGVyYXRvcl09PSJmdW5jdGlvbiIsImQiKSxPWD1gWyAJClxmXHJdYCxUcD0vPCg/OighLS18XC9bXmEtekEtWl0pfChcLz9bYS16QS1aXVtePlxzXSopfChcLz8kKSkvZyxUVmU9Ly0tPi9nLExWZT0vPi9nLF9sPVJlZ0V4cChgPnwke09YfSg/OihbXlxccyInPj0vXSspKCR7T1h9Kj0ke09YfSooPzpbXiAJClxmXHIiJ1xgPD49XXwoInwnKXwpKXwkKWAsImciKSwkVmU9LycvZyxEVmU9LyIvZyxBVmU9L14oPzpzY3JpcHR8c3R5bGV8dGV4dGFyZWF8dGl0bGUpJC9pLEJYPWkodD0+KGUsLi4uYSk9Pih7XyRsaXRUeXBlJDp0LHN0cmluZ3M6ZSx2YWx1ZXM6YX0pLCJ4Iiksdz1CWCgxKSxIWD1CWCgyKSxxWD1CWCgzKSxBYT1TeW1ib2wuZm9yKCJsaXQtbm9DaGFuZ2UiKSxWYT1TeW1ib2wuZm9yKCJsaXQtbm90aGluZyIpLFBWZT1uZXcgV2Vha01hcCxUbD1DbC5jcmVhdGVUcmVlV2Fsa2VyKENsLDEyOSk7aShFVmUsIlYiKTtJVmU9aSgodCxlKT0+e2xldCBhPXQubGVuZ3RoLTEscj1bXSxzLG49ZT09PTI/Ijxzdmc+IjplPT09Mz8iPG1hdGg+IjoiIixvPVRwO2ZvcihsZXQgbD0wO2w8YTtsKyspe2xldCBoPXRbbF0sdSxmLHA9LTEsZz0wO2Zvcig7ZzxoLmxlbmd0aCYmKG8ubGFzdEluZGV4PWcsZj1vLmV4ZWMoaCksZiE9PW51bGwpOylnPW8ubGFzdEluZGV4LG89PT1UcD9mWzFdPT09IiEtLSI/bz1UVmU6ZlsxXSE9PXZvaWQgMD9vPUxWZTpmWzJdIT09dm9pZCAwPyhBVmUudGVzdChmWzJdKSYmKHM9UmVnRXhwKCI8LyIrZlsyXSwiZyIpKSxvPV9sKTpmWzNdIT09dm9pZCAwJiYobz1fbCk6bz09PV9sP2ZbMF09PT0iPiI/KG89cz8/VHAscD0tMSk6ZlsxXT09PXZvaWQgMD9wPS0yOihwPW8ubGFzdEluZGV4LWZbMl0ubGVuZ3RoLHU9ZlsxXSxvPWZbM109PT12b2lkIDA/X2w6ZlszXT09PSciJz9EVmU6JFZlKTpvPT09RFZlfHxvPT09JFZlP289X2w6bz09PVRWZXx8bz09PUxWZT9vPVRwOihvPV9sLHM9dm9pZCAwKTtsZXQgdj1vPT09X2wmJnRbbCsxXS5zdGFydHNXaXRoKCIvPiIpPyIgIjoiIjtuKz1vPT09VHA/aCtPaWE6cD49MD8oci5wdXNoKHUpLGguc2xpY2UoMCxwKStOWCtoLnNsaWNlKHApK0IyK3YpOmgrQjIrKHA9PT0tMj9sOnYpfXJldHVybltFVmUodCxuKyh0W2FdfHwiPD8+IikrKGU9PT0yPyI8L3N2Zz4iOmU9PT0zPyI8L21hdGg+IjoiIikpLHJdfSwiTiIpLExwPWNsYXNzIHR7c3RhdGlje2kodGhpcywiUyIpfWNvbnN0cnVjdG9yKHtzdHJpbmdzOmUsXyRsaXRUeXBlJDphfSxyKXtsZXQgczt0aGlzLnBhcnRzPVtdO2xldCBuPTAsbz0wLGw9ZS5sZW5ndGgtMSxoPXRoaXMucGFydHMsW3UsZl09SVZlKGUsYSk7aWYodGhpcy5lbD10LmNyZWF0ZUVsZW1lbnQodSxyKSxUbC5jdXJyZW50Tm9kZT10aGlzLmVsLmNvbnRlbnQsYT09PTJ8fGE9PT0zKXtsZXQgcD10aGlzLmVsLmNvbnRlbnQuZmlyc3RDaGlsZDtwLnJlcGxhY2VXaXRoKC4uLnAuY2hpbGROb2Rlcyl9Zm9yKDsocz1UbC5uZXh0Tm9kZSgpKSE9PW51bGwmJmgubGVuZ3RoPGw7KXtpZihzLm5vZGVUeXBlPT09MSl7aWYocy5oYXNBdHRyaWJ1dGVzKCkpZm9yKGxldCBwIG9mIHMuZ2V0QXR0cmlidXRlTmFtZXMoKSlpZihwLmVuZHNXaXRoKE5YKSl7bGV0IGc9ZltvKytdLHY9cy5nZXRBdHRyaWJ1dGUocCkuc3BsaXQoQjIpLHg9LyhbLj9AXSk/KC4qKS8uZXhlYyhnKTtoLnB1c2goe3R5cGU6MSxpbmRleDpuLG5hbWU6eFsyXSxzdHJpbmdzOnYsY3Rvcjp4WzFdPT09Ii4iP2RIOnhbMV09PT0iPyI/cEg6eFsxXT09PSJAIj91SDokbH0pLHMucmVtb3ZlQXR0cmlidXRlKHApfWVsc2UgcC5zdGFydHNXaXRoKEIyKSYmKGgucHVzaCh7dHlwZTo2LGluZGV4Om59KSxzLnJlbW92ZUF0dHJpYnV0ZShwKSk7aWYoQVZlLnRlc3Qocy50YWdOYW1lKSl7bGV0IHA9cy50ZXh0Q29udGVudC5zcGxpdChCMiksZz1wLmxlbmd0aC0xO2lmKGc+MCl7cy50ZXh0Q29udGVudD1sSD9sSC5lbXB0eVNjcmlwdDoiIjtmb3IobGV0IHY9MDt2PGc7disrKXMuYXBwZW5kKHBbdl0sQ3AoKSksVGwubmV4dE5vZGUoKSxoLnB1c2goe3R5cGU6MixpbmRleDorK259KTtzLmFwcGVuZChwW2ddLENwKCkpfX19ZWxzZSBpZihzLm5vZGVUeXBlPT09OClpZihzLmRhdGE9PT1SWCloLnB1c2goe3R5cGU6MixpbmRleDpufSk7ZWxzZXtsZXQgcD0tMTtmb3IoOyhwPXMuZGF0YS5pbmRleE9mKEIyLHArMSkpIT09LTE7KWgucHVzaCh7dHlwZTo3LGluZGV4Om59KSxwKz1CMi5sZW5ndGgtMX1uKyt9fXN0YXRpYyBjcmVhdGVFbGVtZW50KGUsYSl7bGV0IHI9Q2wuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtyZXR1cm4gci5pbm5lckhUTUw9ZSxyfX07aShMbCwiTSIpO2NIPWNsYXNze3N0YXRpY3tpKHRoaXMsIlIiKX1jb25zdHJ1Y3RvcihlLGEpe3RoaXMuXyRBVj1bXSx0aGlzLl8kQU49dm9pZCAwLHRoaXMuXyRBRD1lLHRoaXMuXyRBTT1hfWdldCBwYXJlbnROb2RlKCl7cmV0dXJuIHRoaXMuXyRBTS5wYXJlbnROb2RlfWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfXUoZSl7bGV0e2VsOntjb250ZW50OmF9LHBhcnRzOnJ9PXRoaXMuXyRBRCxzPShlPy5jcmVhdGlvblNjb3BlPz9DbCkuaW1wb3J0Tm9kZShhLCEwKTtUbC5jdXJyZW50Tm9kZT1zO2xldCBuPVRsLm5leHROb2RlKCksbz0wLGw9MCxoPXJbMF07Zm9yKDtoIT09dm9pZCAwOyl7aWYobz09PWguaW5kZXgpe2xldCB1O2gudHlwZT09PTI/dT1uZXcgVjYobixuLm5leHRTaWJsaW5nLHRoaXMsZSk6aC50eXBlPT09MT91PW5ldyBoLmN0b3IobixoLm5hbWUsaC5zdHJpbmdzLHRoaXMsZSk6aC50eXBlPT09NiYmKHU9bmV3IGZIKG4sdGhpcyxlKSksdGhpcy5fJEFWLnB1c2godSksaD1yWysrbF19byE9PWg/LmluZGV4JiYobj1UbC5uZXh0Tm9kZSgpLG8rKyl9cmV0dXJuIFRsLmN1cnJlbnROb2RlPUNsLHN9cChlKXtsZXQgYT0wO2ZvcihsZXQgciBvZiB0aGlzLl8kQVYpciE9PXZvaWQgMCYmKHIuc3RyaW5ncyE9PXZvaWQgMD8oci5fJEFJKGUscixhKSxhKz1yLnN0cmluZ3MubGVuZ3RoLTIpOnIuXyRBSShlW2FdKSksYSsrfX0sVjY9Y2xhc3MgdHtzdGF0aWN7aSh0aGlzLCJrIil9Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNPy5fJEFVPz90aGlzLl8kQ3Z9Y29uc3RydWN0b3IoZSxhLHIscyl7dGhpcy50eXBlPTIsdGhpcy5fJEFIPVZhLHRoaXMuXyRBTj12b2lkIDAsdGhpcy5fJEFBPWUsdGhpcy5fJEFCPWEsdGhpcy5fJEFNPXIsdGhpcy5vcHRpb25zPXMsdGhpcy5fJEN2PXM/LmlzQ29ubmVjdGVkPz8hMH1nZXQgcGFyZW50Tm9kZSgpe2xldCBlPXRoaXMuXyRBQS5wYXJlbnROb2RlLGE9dGhpcy5fJEFNO3JldHVybiBhIT09dm9pZCAwJiZlPy5ub2RlVHlwZT09PTExJiYoZT1hLnBhcmVudE5vZGUpLGV9Z2V0IHN0YXJ0Tm9kZSgpe3JldHVybiB0aGlzLl8kQUF9Z2V0IGVuZE5vZGUoKXtyZXR1cm4gdGhpcy5fJEFCfV8kQUkoZSxhPXRoaXMpe2U9TGwodGhpcyxlLGEpLF9wKGUpP2U9PT1WYXx8ZT09bnVsbHx8ZT09PSIiPyh0aGlzLl8kQUghPT1WYSYmdGhpcy5fJEFSKCksdGhpcy5fJEFIPVZhKTplIT09dGhpcy5fJEFIJiZlIT09QWEmJnRoaXMuXyhlKTplLl8kbGl0VHlwZSQhPT12b2lkIDA/dGhpcy4kKGUpOmUubm9kZVR5cGUhPT12b2lkIDA/dGhpcy5UKGUpOl9WZShlKT90aGlzLmsoZSk6dGhpcy5fKGUpfU8oZSl7cmV0dXJuIHRoaXMuXyRBQS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMuXyRBQil9VChlKXt0aGlzLl8kQUghPT1lJiYodGhpcy5fJEFSKCksdGhpcy5fJEFIPXRoaXMuTyhlKSl9XyhlKXt0aGlzLl8kQUghPT1WYSYmX3AodGhpcy5fJEFIKT90aGlzLl8kQUEubmV4dFNpYmxpbmcuZGF0YT1lOnRoaXMuVChDbC5jcmVhdGVUZXh0Tm9kZShlKSksdGhpcy5fJEFIPWV9JChlKXtsZXR7dmFsdWVzOmEsXyRsaXRUeXBlJDpyfT1lLHM9dHlwZW9mIHI9PSJudW1iZXIiP3RoaXMuXyRBQyhlKTooci5lbD09PXZvaWQgMCYmKHIuZWw9THAuY3JlYXRlRWxlbWVudChFVmUoci5oLHIuaFswXSksdGhpcy5vcHRpb25zKSkscik7aWYodGhpcy5fJEFIPy5fJEFEPT09cyl0aGlzLl8kQUgucChhKTtlbHNle2xldCBuPW5ldyBjSChzLHRoaXMpLG89bi51KHRoaXMub3B0aW9ucyk7bi5wKGEpLHRoaXMuVChvKSx0aGlzLl8kQUg9bn19XyRBQyhlKXtsZXQgYT1QVmUuZ2V0KGUuc3RyaW5ncyk7cmV0dXJuIGE9PT12b2lkIDAmJlBWZS5zZXQoZS5zdHJpbmdzLGE9bmV3IExwKGUpKSxhfWsoZSl7RlgodGhpcy5fJEFIKXx8KHRoaXMuXyRBSD1bXSx0aGlzLl8kQVIoKSk7bGV0IGE9dGhpcy5fJEFILHIscz0wO2ZvcihsZXQgbiBvZiBlKXM9PT1hLmxlbmd0aD9hLnB1c2gocj1uZXcgdCh0aGlzLk8oQ3AoKSksdGhpcy5PKENwKCkpLHRoaXMsdGhpcy5vcHRpb25zKSk6cj1hW3NdLHIuXyRBSShuKSxzKys7czxhLmxlbmd0aCYmKHRoaXMuXyRBUihyJiZyLl8kQUIubmV4dFNpYmxpbmcscyksYS5sZW5ndGg9cyl9XyRBUihlPXRoaXMuXyRBQS5uZXh0U2libGluZyxhKXtmb3IodGhpcy5fJEFQPy4oITEsITAsYSk7ZSE9PXRoaXMuXyRBQjspe2xldCByPVNWZShlKS5uZXh0U2libGluZztTVmUoZSkucmVtb3ZlKCksZT1yfX1zZXRDb25uZWN0ZWQoZSl7dGhpcy5fJEFNPT09dm9pZCAwJiYodGhpcy5fJEN2PWUsdGhpcy5fJEFQPy4oZSkpfX0sJGw9Y2xhc3N7c3RhdGlje2kodGhpcywiSCIpfWdldCB0YWdOYW1lKCl7cmV0dXJuIHRoaXMuZWxlbWVudC50YWdOYW1lfWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfWNvbnN0cnVjdG9yKGUsYSxyLHMsbil7dGhpcy50eXBlPTEsdGhpcy5fJEFIPVZhLHRoaXMuXyRBTj12b2lkIDAsdGhpcy5lbGVtZW50PWUsdGhpcy5uYW1lPWEsdGhpcy5fJEFNPXMsdGhpcy5vcHRpb25zPW4sci5sZW5ndGg+Mnx8clswXSE9PSIifHxyWzFdIT09IiI/KHRoaXMuXyRBSD1BcnJheShyLmxlbmd0aC0xKS5maWxsKG5ldyBTdHJpbmcpLHRoaXMuc3RyaW5ncz1yKTp0aGlzLl8kQUg9VmF9XyRBSShlLGE9dGhpcyxyLHMpe2xldCBuPXRoaXMuc3RyaW5ncyxvPSExO2lmKG49PT12b2lkIDApZT1MbCh0aGlzLGUsYSwwKSxvPSFfcChlKXx8ZSE9PXRoaXMuXyRBSCYmZSE9PUFhLG8mJih0aGlzLl8kQUg9ZSk7ZWxzZXtsZXQgbD1lLGgsdTtmb3IoZT1uWzBdLGg9MDtoPG4ubGVuZ3RoLTE7aCsrKXU9TGwodGhpcyxsW3IraF0sYSxoKSx1PT09QWEmJih1PXRoaXMuXyRBSFtoXSksb3x8PSFfcCh1KXx8dSE9PXRoaXMuXyRBSFtoXSx1PT09VmE/ZT1WYTplIT09VmEmJihlKz0odT8/IiIpK25baCsxXSksdGhpcy5fJEFIW2hdPXV9byYmIXMmJnRoaXMuaihlKX1qKGUpe2U9PT1WYT90aGlzLmVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKHRoaXMubmFtZSk6dGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSh0aGlzLm5hbWUsZT8/IiIpfX0sZEg9Y2xhc3MgZXh0ZW5kcyAkbHtzdGF0aWN7aSh0aGlzLCJJIil9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMudHlwZT0zfWooZSl7dGhpcy5lbGVtZW50W3RoaXMubmFtZV09ZT09PVZhP3ZvaWQgMDplfX0scEg9Y2xhc3MgZXh0ZW5kcyAkbHtzdGF0aWN7aSh0aGlzLCJMIil9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMudHlwZT00fWooZSl7dGhpcy5lbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZSh0aGlzLm5hbWUsISFlJiZlIT09VmEpfX0sdUg9Y2xhc3MgZXh0ZW5kcyAkbHtzdGF0aWN7aSh0aGlzLCJ6Iil9Y29uc3RydWN0b3IoZSxhLHIscyxuKXtzdXBlcihlLGEscixzLG4pLHRoaXMudHlwZT01fV8kQUkoZSxhPXRoaXMpe2lmKChlPUxsKHRoaXMsZSxhLDApPz9WYSk9PT1BYSlyZXR1cm47bGV0IHI9dGhpcy5fJEFILHM9ZT09PVZhJiZyIT09VmF8fGUuY2FwdHVyZSE9PXIuY2FwdHVyZXx8ZS5vbmNlIT09ci5vbmNlfHxlLnBhc3NpdmUhPT1yLnBhc3NpdmUsbj1lIT09VmEmJihyPT09VmF8fHMpO3MmJnRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKHRoaXMubmFtZSx0aGlzLHIpLG4mJnRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHRoaXMubmFtZSx0aGlzLGUpLHRoaXMuXyRBSD1lfWhhbmRsZUV2ZW50KGUpe3R5cGVvZiB0aGlzLl8kQUg9PSJmdW5jdGlvbiI/dGhpcy5fJEFILmNhbGwodGhpcy5vcHRpb25zPy5ob3N0Pz90aGlzLmVsZW1lbnQsZSk6dGhpcy5fJEFILmhhbmRsZUV2ZW50KGUpfX0sZkg9Y2xhc3N7c3RhdGlje2kodGhpcywiWiIpfWNvbnN0cnVjdG9yKGUsYSxyKXt0aGlzLmVsZW1lbnQ9ZSx0aGlzLnR5cGU9Nix0aGlzLl8kQU49dm9pZCAwLHRoaXMuXyRBTT1hLHRoaXMub3B0aW9ucz1yfWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfV8kQUkoZSl7TGwodGhpcyxlKX19LFZYPXtNOk5YLFA6QjIsQTpSWCxDOjEsTDpJVmUsUjpjSCxEOl9WZSxWOkxsLEk6VjYsSDokbCxOOnBILFU6dUgsQjpkSCxGOmZIfSxCaWE9SVgubGl0SHRtbFBvbHlmaWxsU3VwcG9ydDtCaWE/LihMcCxWNiksKElYLmxpdEh0bWxWZXJzaW9ucz8/PVtdKS5wdXNoKCIzLjMuMiIpO3NuPWkoKHQsZSxhKT0+e2xldCByPWE/LnJlbmRlckJlZm9yZT8/ZSxzPXIuXyRsaXRQYXJ0JDtpZihzPT09dm9pZCAwKXtsZXQgbj1hPy5yZW5kZXJCZWZvcmU/P251bGw7ci5fJGxpdFBhcnQkPXM9bmV3IFY2KGUuaW5zZXJ0QmVmb3JlKENwKCksbiksbix2b2lkIDAsYT8/e30pfXJldHVybiBzLl8kQUkodCksc30sIkQiKX0pO3ZhciBqWCxIMixIaWEscWlhLE5WZT1jKCgpPT57U3AoKTtTcCgpO3NzKCk7c3MoKTtqWD1nbG9iYWxUaGlzLEgyPWNsYXNzIGV4dGVuZHMgWXN7c3RhdGlje2kodGhpcywiaSIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnJlbmRlck9wdGlvbnM9e2hvc3Q6dGhpc30sdGhpcy5fJERvPXZvaWQgMH1jcmVhdGVSZW5kZXJSb290KCl7bGV0IGU9c3VwZXIuY3JlYXRlUmVuZGVyUm9vdCgpO3JldHVybiB0aGlzLnJlbmRlck9wdGlvbnMucmVuZGVyQmVmb3JlPz89ZS5maXJzdENoaWxkLGV9dXBkYXRlKGUpe2xldCBhPXRoaXMucmVuZGVyKCk7dGhpcy5oYXNVcGRhdGVkfHwodGhpcy5yZW5kZXJPcHRpb25zLmlzQ29ubmVjdGVkPXRoaXMuaXNDb25uZWN0ZWQpLHN1cGVyLnVwZGF0ZShlKSx0aGlzLl8kRG89c24oYSx0aGlzLnJlbmRlclJvb3QsdGhpcy5yZW5kZXJPcHRpb25zKX1jb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5fJERvPy5zZXRDb25uZWN0ZWQoITApfWRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl8kRG8/LnNldENvbm5lY3RlZCghMSl9cmVuZGVyKCl7cmV0dXJuIEFhfX07SDIuXyRsaXRFbGVtZW50JD0hMCxIMi5maW5hbGl6ZWQ9ITAsalgubGl0RWxlbWVudEh5ZHJhdGVTdXBwb3J0Py4oe0xpdEVsZW1lbnQ6SDJ9KTtIaWE9algubGl0RWxlbWVudFBvbHlmaWxsU3VwcG9ydDtIaWE/Lih7TGl0RWxlbWVudDpIMn0pO3FpYT17XyRBSzppKCh0LGUsYSk9Pnt0Ll8kQUsoZSxhKX0sIl8kQUsiKSxfJEFMOmkodD0+dC5fJEFMLCJfJEFMIil9OyhqWC5saXRFbGVtZW50VmVyc2lvbnM/Pz1bXSkucHVzaCgiNC4yLjIiKX0pO3ZhciBWaWEsUlZlPWMoKCk9PntWaWE9ITF9KTt2YXIgJGk9YygoKT0+e1NwKCk7c3MoKTtOVmUoKTtSVmUoKX0pO3ZhciBtSD13dChoSD0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoaEgsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGhILnVuaT12b2lkIDA7dmFyIGppYT1pKCh0PSJ1bmkiKT0+YCR7dH1fJHsieHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4Ii5yZXBsYWNlKC9beHldL2csZT0+e2xldCBhPU1hdGgucmFuZG9tKCkqMTZ8MDtyZXR1cm4oZT09PSJ4Ij9hOmEmM3w4KS50b1N0cmluZygxNil9KX1gLCJ1bmkiKTtoSC51bmk9amlhfSk7dmFyIGdILG9uLGJIPWMoKCk9PntnSD1jbGFzc3tzdGF0aWN7aSh0aGlzLCJEZWZlcnJlZCIpfWNsYWltKCl7aWYodGhpcy5jbGFpbWVkKXRocm93IG5ldyBFcnJvcigiRGVmZXJyZWQgYWxyZWFkeSBjbGFpbWVkIik7dGhpcy5jbGFpbWVkPSEwfWdldCBkdXJhdGlvbigpe3JldHVybiB0aGlzLnN0b3BwZWRBdD90aGlzLnN0b3BwZWRBdC10aGlzLnN0YXJ0ZWRBdDpEYXRlLm5vdygpLXRoaXMuc3RhcnRlZEF0fWNvbnN0cnVjdG9yKCl7dGhpcy5jbGFpbWVkPSExLHRoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgoZSxhKT0+e3RoaXMucmVzb2x2ZT1yPT57dGhpcy5zdGF0dXM9ImZ1bGZpbGxlZCIsdGhpcy5zdG9wcGVkQXQ9RGF0ZS5ub3coKSxlKHIpfSx0aGlzLnJlamVjdD1yPT57dGhpcy5zdGF0dXM9InJlamVjdGVkIix0aGlzLnN0b3BwZWRBdD1EYXRlLm5vdygpLGEocil9LHRoaXMuc3RhcnRlZEF0PURhdGUubm93KCksdGhpcy5zdGF0dXM9InBlbmRpbmcifSl9fSxvbj1pKCgpPT5uZXcgZ0gsImRlZmVyIil9KTt2YXIgdkgsVWlhLEZWZT1jKCgpPT57YkgoKTt2SD1jbGFzc3tzdGF0aWN7aSh0aGlzLCJDdW11bGF0aXZlRGVmZXJyZWQiKX1jb25zdHJ1Y3Rvcigpe3RoaXMuYWNjdW11bGF0ZWRQcm9taXNlcz1bXSx0aGlzLmRlZmVycmVkPW9uKCksdGhpcy5wcm9taXNlPXRoaXMuZGVmZXJyZWQucHJvbWlzZSxzZXRUaW1lb3V0KGFzeW5jKCk9Pntmb3IoO3RoaXMuYWNjdW11bGF0ZWRQcm9taXNlcy5sZW5ndGg+MDspYXdhaXQgdGhpcy5hY2N1bXVsYXRlZFByb21pc2VzLnNoaWZ0KCk7dGhpcy5kZWZlcnJlZC5yZXNvbHZlKCl9LDApfXN1YkRlZmVyKCl7bGV0IGU9b24oKTtyZXR1cm4gdGhpcy5hZGRQcm9taXNlKGUucHJvbWlzZSksZX1hZGRQcm9taXNlKGUpe3RoaXMuYWNjdW11bGF0ZWRQcm9taXNlcy5wdXNoKGUpfX0sVWlhPWkoKCk9Pm5ldyB2SCwiY3VtdWxhdGl2ZURlZmVyIil9KTt2YXIgSmU9e307ZXQoSmUse0N1bXVsYXRpdmVEZWZlcnJlZDooKT0+dkgsRGVmZXJyZWQ6KCk9PmdILGN1bXVsYXRpdmVEZWZlcjooKT0+VWlhLGRlZmVyOigpPT5vbixmcm9tQ2FsbGJhY2s6KCk9PktpYSxnZXRGaXJzdFRydWVPckZhbHNlOigpPT5YaWEsbWFwOigpPT5ZaWEscmVqZWN0ZWRQcm9taXNlOigpPT5HaWEscmVzb2x2ZWRQcm9taXNlOigpPT5XaWEsdGltZW91dEFuZENvbnRpbnVlOigpPT5aaWEsdGltZW91dFdyYXA6KCk9Pk9WZX0pO3ZhciBXaWEsR2lhLFlpYSxPVmUsWmlhLFhpYSxLaWEsZHI9YygoKT0+e2JIKCk7RlZlKCk7YkgoKTtXaWE9aSh0PT5Qcm9taXNlLnJlc29sdmUodCksInJlc29sdmVkUHJvbWlzZSIpLEdpYT1pKHQ9PlByb21pc2UucmVqZWN0KHQpLCJyZWplY3RlZFByb21pc2UiKSxZaWE9aShhc3luYyh0LGUpPT57bGV0IGE9W10scj1bXTtmb3IobGV0IHMgb2YgdCl7bGV0IG49ZShzKTthLnB1c2gobiksbi50aGVuKG89PntyLnB1c2gobyl9KX1yZXR1cm4gYXdhaXQgUHJvbWlzZS5hbGwoYSkscn0sIm1hcCIpLE9WZT1pKGFzeW5jKHQsZSxhPSEwKT0+bmV3IFByb21pc2UoKHIscyk9PntzZXRUaW1lb3V0KCgpPT57YT9zKG5ldyBFcnJvcigidGltZW91dCIpKTpyKG51bGwpfSxlKSx0LnRoZW4ocixzKX0pLCJ0aW1lb3V0V3JhcCIpLFppYT1pKGFzeW5jKHQsZT02ZTQpPT5PVmUodCxlLCExKSwidGltZW91dEFuZENvbnRpbnVlIiksWGlhPWkoYXN5bmMgdD0+e2xldCBlPW9uKCk7Zm9yKGxldCBhIG9mIHQpYS50aGVuKHI9PntyPT09ITAmJmUucmVzb2x2ZSghMCl9KTtyZXR1cm4gUHJvbWlzZS5hbGwodCkudGhlbigoKT0+e2UucmVzb2x2ZSghMSl9KSxlLnByb21pc2V9LCJnZXRGaXJzdFRydWVPckZhbHNlIiksS2lhPWkodD0+bmV3IFByb21pc2UoKGUsYSk9Pnt0KChyLHMpPT57cj9hKHIpOmUocyl9KX0pLCJmcm9tQ2FsbGJhY2siKX0pO3ZhciB4SD1jKCgpPT57ZHIoKX0pO2Z1bmN0aW9uIEJ0KHQsZSl7aWYodHlwZW9mIGUhPSJmdW5jdGlvbiImJmUhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoZSkrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7VVgodCxlKTtmdW5jdGlvbiBhKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fWkoYSwiX18iKSx0LnByb3RvdHlwZT1lPT09bnVsbD9PYmplY3QuY3JlYXRlKGUpOihhLnByb3RvdHlwZT1lLnByb3RvdHlwZSxuZXcgYSl9ZnVuY3Rpb24gSmlhKHQsZSl7dmFyIGE9e307Zm9yKHZhciByIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJmUuaW5kZXhPZihyKTwwJiYoYVtyXT10W3JdKTtpZih0IT1udWxsJiZ0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scz09ImZ1bmN0aW9uIilmb3IodmFyIHM9MCxyPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCk7czxyLmxlbmd0aDtzKyspZS5pbmRleE9mKHJbc10pPDAmJk9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbCh0LHJbc10pJiYoYVtyW3NdXT10W3Jbc11dKTtyZXR1cm4gYX1mdW5jdGlvbiBlc2EodCxlLGEscil7dmFyIHM9YXJndW1lbnRzLmxlbmd0aCxuPXM8Mz9lOnI9PT1udWxsP3I9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLGEpOnIsbztpZih0eXBlb2YgUmVmbGVjdD09Im9iamVjdCImJnR5cGVvZiBSZWZsZWN0LmRlY29yYXRlPT0iZnVuY3Rpb24iKW49UmVmbGVjdC5kZWNvcmF0ZSh0LGUsYSxyKTtlbHNlIGZvcih2YXIgbD10Lmxlbmd0aC0xO2w+PTA7bC0tKShvPXRbbF0pJiYobj0oczwzP28obik6cz4zP28oZSxhLG4pOm8oZSxhKSl8fG4pO3JldHVybiBzPjMmJm4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGEsbiksbn1mdW5jdGlvbiB0c2EodCxlKXtyZXR1cm4gZnVuY3Rpb24oYSxyKXtlKGEscix0KX19ZnVuY3Rpb24gYXNhKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfWZ1bmN0aW9uIHJzYSh0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH1mdW5jdGlvbiBpc2EodCl7cmV0dXJuIHR5cGVvZiB0PT0ic3ltYm9sIj90OiIiLmNvbmNhdCh0KX1mdW5jdGlvbiBzc2EodCxlLGEpe3JldHVybiB0eXBlb2YgZT09InN5bWJvbCImJihlPWUuZGVzY3JpcHRpb24/IlsiLmNvbmNhdChlLmRlc2NyaXB0aW9uLCJdIik6IiIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJuYW1lIix7Y29uZmlndXJhYmxlOiEwLHZhbHVlOmE/IiIuY29uY2F0KGEsIiAiLGUpOmV9KX1mdW5jdGlvbiBvc2EodCxlKXtpZih0eXBlb2YgUmVmbGVjdD09Im9iamVjdCImJnR5cGVvZiBSZWZsZWN0Lm1ldGFkYXRhPT0iZnVuY3Rpb24iKXJldHVybiBSZWZsZWN0Lm1ldGFkYXRhKHQsZSl9ZnVuY3Rpb24gWlgodCxlLGEscil7ZnVuY3Rpb24gcyhuKXtyZXR1cm4gbiBpbnN0YW5jZW9mIGE/bjpuZXcgYShmdW5jdGlvbihvKXtvKG4pfSl9cmV0dXJuIGkocywiYWRvcHQiKSxuZXcoYXx8KGE9UHJvbWlzZSkpKGZ1bmN0aW9uKG4sbyl7ZnVuY3Rpb24gbChmKXt0cnl7dShyLm5leHQoZikpfWNhdGNoKHApe28ocCl9fWkobCwiZnVsZmlsbGVkIik7ZnVuY3Rpb24gaChmKXt0cnl7dShyLnRocm93KGYpKX1jYXRjaChwKXtvKHApfX1pKGgsInJlamVjdGVkIik7ZnVuY3Rpb24gdShmKXtmLmRvbmU/bihmLnZhbHVlKTpzKGYudmFsdWUpLnRoZW4obCxoKX1pKHUsInN0ZXAiKSx1KChyPXIuYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KX1mdW5jdGlvbiAkcCh0LGUpe3ZhciBhPXtsYWJlbDowLHNlbnQ6aShmdW5jdGlvbigpe2lmKG5bMF0mMSl0aHJvdyBuWzFdO3JldHVybiBuWzFdfSwic2VudCIpLHRyeXM6W10sb3BzOltdfSxyLHMsbixvPU9iamVjdC5jcmVhdGUoKHR5cGVvZiBJdGVyYXRvcj09ImZ1bmN0aW9uIj9JdGVyYXRvcjpPYmplY3QpLnByb3RvdHlwZSk7cmV0dXJuIG8ubmV4dD1sKDApLG8udGhyb3c9bCgxKSxvLnJldHVybj1sKDIpLHR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJihvW1N5bWJvbC5pdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30pLG87ZnVuY3Rpb24gbCh1KXtyZXR1cm4gZnVuY3Rpb24oZil7cmV0dXJuIGgoW3UsZl0pfX1mdW5jdGlvbiBoKHUpe2lmKHIpdGhyb3cgbmV3IFR5cGVFcnJvcigiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLiIpO2Zvcig7byYmKG89MCx1WzBdJiYoYT0wKSksYTspdHJ5e2lmKHI9MSxzJiYobj11WzBdJjI/cy5yZXR1cm46dVswXT9zLnRocm93fHwoKG49cy5yZXR1cm4pJiZuLmNhbGwocyksMCk6cy5uZXh0KSYmIShuPW4uY2FsbChzLHVbMV0pKS5kb25lKXJldHVybiBuO3N3aXRjaChzPTAsbiYmKHU9W3VbMF0mMixuLnZhbHVlXSksdVswXSl7Y2FzZSAwOmNhc2UgMTpuPXU7YnJlYWs7Y2FzZSA0OnJldHVybiBhLmxhYmVsKysse3ZhbHVlOnVbMV0sZG9uZTohMX07Y2FzZSA1OmEubGFiZWwrKyxzPXVbMV0sdT1bMF07Y29udGludWU7Y2FzZSA3OnU9YS5vcHMucG9wKCksYS50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYobj1hLnRyeXMsIShuPW4ubGVuZ3RoPjAmJm5bbi5sZW5ndGgtMV0pJiYodVswXT09PTZ8fHVbMF09PT0yKSl7YT0wO2NvbnRpbnVlfWlmKHVbMF09PT0zJiYoIW58fHVbMV0+blswXSYmdVsxXTxuWzNdKSl7YS5sYWJlbD11WzFdO2JyZWFrfWlmKHVbMF09PT02JiZhLmxhYmVsPG5bMV0pe2EubGFiZWw9blsxXSxuPXU7YnJlYWt9aWYobiYmYS5sYWJlbDxuWzJdKXthLmxhYmVsPW5bMl0sYS5vcHMucHVzaCh1KTticmVha31uWzJdJiZhLm9wcy5wb3AoKSxhLnRyeXMucG9wKCk7Y29udGludWV9dT1lLmNhbGwodCxhKX1jYXRjaChmKXt1PVs2LGZdLHM9MH1maW5hbGx5e3I9bj0wfWlmKHVbMF0mNSl0aHJvdyB1WzFdO3JldHVybnt2YWx1ZTp1WzBdP3VbMV06dm9pZCAwLGRvbmU6ITB9fX1mdW5jdGlvbiBuc2EodCxlKXtmb3IodmFyIGEgaW4gdClhIT09ImRlZmF1bHQiJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsYSkmJkdYKGUsdCxhKX1mdW5jdGlvbiBwcih0KXt2YXIgZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wuaXRlcmF0b3IsYT1lJiZ0W2VdLHI9MDtpZihhKXJldHVybiBhLmNhbGwodCk7aWYodCYmdHlwZW9mIHQubGVuZ3RoPT0ibnVtYmVyIilyZXR1cm57bmV4dDppKGZ1bmN0aW9uKCl7cmV0dXJuIHQmJnI+PXQubGVuZ3RoJiYodD12b2lkIDApLHt2YWx1ZTp0JiZ0W3IrK10sZG9uZTohdH19LCJuZXh0Iil9O3Rocm93IG5ldyBUeXBlRXJyb3IoZT8iT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS4iOiJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIil9ZnVuY3Rpb24gUWEodCxlKXt2YXIgYT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZ0W1N5bWJvbC5pdGVyYXRvcl07aWYoIWEpcmV0dXJuIHQ7dmFyIHI9YS5jYWxsKHQpLHMsbj1bXSxvO3RyeXtmb3IoOyhlPT09dm9pZCAwfHxlLS0gPjApJiYhKHM9ci5uZXh0KCkpLmRvbmU7KW4ucHVzaChzLnZhbHVlKX1jYXRjaChsKXtvPXtlcnJvcjpsfX1maW5hbGx5e3RyeXtzJiYhcy5kb25lJiYoYT1yLnJldHVybikmJmEuY2FsbChyKX1maW5hbGx5e2lmKG8pdGhyb3cgby5lcnJvcn19cmV0dXJuIG59ZnVuY3Rpb24gbHNhKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXQ9dC5jb25jYXQoUWEoYXJndW1lbnRzW2VdKSk7cmV0dXJuIHR9ZnVuY3Rpb24gY3NhKCl7Zm9yKHZhciB0PTAsZT0wLGE9YXJndW1lbnRzLmxlbmd0aDtlPGE7ZSsrKXQrPWFyZ3VtZW50c1tlXS5sZW5ndGg7Zm9yKHZhciByPUFycmF5KHQpLHM9MCxlPTA7ZTxhO2UrKylmb3IodmFyIG49YXJndW1lbnRzW2VdLG89MCxsPW4ubGVuZ3RoO288bDtvKysscysrKXJbc109bltvXTtyZXR1cm4gcn1mdW5jdGlvbiBNMSh0LGUsYSl7aWYoYXx8YXJndW1lbnRzLmxlbmd0aD09PTIpZm9yKHZhciByPTAscz1lLmxlbmd0aCxuO3I8cztyKyspKG58fCEociBpbiBlKSkmJihufHwobj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLDAscikpLG5bcl09ZVtyXSk7cmV0dXJuIHQuY29uY2F0KG58fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUpKX1mdW5jdGlvbiBxMih0KXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIHEyPyh0aGlzLnY9dCx0aGlzKTpuZXcgcTIodCl9ZnVuY3Rpb24gWFgodCxlLGEpe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKTt2YXIgcj1hLmFwcGx5KHQsZXx8W10pLHMsbj1bXTtyZXR1cm4gcz1PYmplY3QuY3JlYXRlKCh0eXBlb2YgQXN5bmNJdGVyYXRvcj09ImZ1bmN0aW9uIj9Bc3luY0l0ZXJhdG9yOk9iamVjdCkucHJvdG90eXBlKSxsKCJuZXh0IiksbCgidGhyb3ciKSxsKCJyZXR1cm4iLG8pLHNbU3ltYm9sLmFzeW5jSXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LHM7ZnVuY3Rpb24gbyh2KXtyZXR1cm4gZnVuY3Rpb24oeCl7cmV0dXJuIFByb21pc2UucmVzb2x2ZSh4KS50aGVuKHYscCl9fWZ1bmN0aW9uIGwodix4KXtyW3ZdJiYoc1t2XT1mdW5jdGlvbihiKXtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obSx5KXtuLnB1c2goW3YsYixtLHldKT4xfHxoKHYsYil9KX0seCYmKHNbdl09eChzW3ZdKSkpfWZ1bmN0aW9uIGgodix4KXt0cnl7dShyW3ZdKHgpKX1jYXRjaChiKXtnKG5bMF1bM10sYil9fWZ1bmN0aW9uIHUodil7di52YWx1ZSBpbnN0YW5jZW9mIHEyP1Byb21pc2UucmVzb2x2ZSh2LnZhbHVlLnYpLnRoZW4oZixwKTpnKG5bMF1bMl0sdil9ZnVuY3Rpb24gZih2KXtoKCJuZXh0Iix2KX1mdW5jdGlvbiBwKHYpe2goInRocm93Iix2KX1mdW5jdGlvbiBnKHYseCl7dih4KSxuLnNoaWZ0KCksbi5sZW5ndGgmJmgoblswXVswXSxuWzBdWzFdKX19ZnVuY3Rpb24gZHNhKHQpe3ZhciBlLGE7cmV0dXJuIGU9e30scigibmV4dCIpLHIoInRocm93IixmdW5jdGlvbihzKXt0aHJvdyBzfSkscigicmV0dXJuIiksZVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGU7ZnVuY3Rpb24gcihzLG4pe2Vbc109dFtzXT9mdW5jdGlvbihvKXtyZXR1cm4oYT0hYSk/e3ZhbHVlOnEyKHRbc10obykpLGRvbmU6ITF9Om4/bihvKTpvfTpufX1mdW5jdGlvbiBLWCh0KXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIGU9dFtTeW1ib2wuYXN5bmNJdGVyYXRvcl0sYTtyZXR1cm4gZT9lLmNhbGwodCk6KHQ9dHlwZW9mIHByPT0iZnVuY3Rpb24iP3ByKHQpOnRbU3ltYm9sLml0ZXJhdG9yXSgpLGE9e30scigibmV4dCIpLHIoInRocm93IikscigicmV0dXJuIiksYVtTeW1ib2wuYXN5bmNJdGVyYXRvcl09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sYSk7ZnVuY3Rpb24gcihuKXthW25dPXRbbl0mJmZ1bmN0aW9uKG8pe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihsLGgpe289dFtuXShvKSxzKGwsaCxvLmRvbmUsby52YWx1ZSl9KX19ZnVuY3Rpb24gcyhuLG8sbCxoKXtQcm9taXNlLnJlc29sdmUoaCkudGhlbihmdW5jdGlvbih1KXtuKHt2YWx1ZTp1LGRvbmU6bH0pfSxvKX19ZnVuY3Rpb24gcHNhKHQsZSl7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eT9PYmplY3QuZGVmaW5lUHJvcGVydHkodCwicmF3Iix7dmFsdWU6ZX0pOnQucmF3PWUsdH1mdW5jdGlvbiBmc2EodCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPXt9O2lmKHQhPW51bGwpZm9yKHZhciBhPVlYKHQpLHI9MDtyPGEubGVuZ3RoO3IrKylhW3JdIT09ImRlZmF1bHQiJiZHWChlLHQsYVtyXSk7cmV0dXJuIHVzYShlLHQpLGV9ZnVuY3Rpb24gaHNhKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX1mdW5jdGlvbiBtc2EodCxlLGEscil7aWYoYT09PSJhIiYmIXIpdGhyb3cgbmV3IFR5cGVFcnJvcigiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgZ2V0dGVyIik7aWYodHlwZW9mIGU9PSJmdW5jdGlvbiI/dCE9PWV8fCFyOiFlLmhhcyh0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgcmVhZCBwcml2YXRlIG1lbWJlciBmcm9tIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXQiKTtyZXR1cm4gYT09PSJtIj9yOmE9PT0iYSI/ci5jYWxsKHQpOnI/ci52YWx1ZTplLmdldCh0KX1mdW5jdGlvbiBnc2EodCxlLGEscixzKXtpZihyPT09Im0iKXRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgbWV0aG9kIGlzIG5vdCB3cml0YWJsZSIpO2lmKHI9PT0iYSImJiFzKXRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIHNldHRlciIpO2lmKHR5cGVvZiBlPT0iZnVuY3Rpb24iP3QhPT1lfHwhczohZS5oYXModCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHdyaXRlIHByaXZhdGUgbWVtYmVyIHRvIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXQiKTtyZXR1cm4gcj09PSJhIj9zLmNhbGwodCxhKTpzP3MudmFsdWU9YTplLnNldCh0LGEpLGF9ZnVuY3Rpb24gYnNhKHQsZSl7aWYoZT09PW51bGx8fHR5cGVvZiBlIT0ib2JqZWN0IiYmdHlwZW9mIGUhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHVzZSAnaW4nIG9wZXJhdG9yIG9uIG5vbi1vYmplY3QiKTtyZXR1cm4gdHlwZW9mIHQ9PSJmdW5jdGlvbiI/ZT09PXQ6dC5oYXMoZSl9ZnVuY3Rpb24gdnNhKHQsZSxhKXtpZihlIT1udWxsKXtpZih0eXBlb2YgZSE9Im9iamVjdCImJnR5cGVvZiBlIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZC4iKTt2YXIgcixzO2lmKGEpe2lmKCFTeW1ib2wuYXN5bmNEaXNwb3NlKXRocm93IG5ldyBUeXBlRXJyb3IoIlN5bWJvbC5hc3luY0Rpc3Bvc2UgaXMgbm90IGRlZmluZWQuIik7cj1lW1N5bWJvbC5hc3luY0Rpc3Bvc2VdfWlmKHI9PT12b2lkIDApe2lmKCFTeW1ib2wuZGlzcG9zZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuZGlzcG9zZSBpcyBub3QgZGVmaW5lZC4iKTtyPWVbU3ltYm9sLmRpc3Bvc2VdLGEmJihzPXIpfWlmKHR5cGVvZiByIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBub3QgZGlzcG9zYWJsZS4iKTtzJiYocj1pKGZ1bmN0aW9uKCl7dHJ5e3MuY2FsbCh0aGlzKX1jYXRjaChuKXtyZXR1cm4gUHJvbWlzZS5yZWplY3Qobil9fSwiZGlzcG9zZSIpKSx0LnN0YWNrLnB1c2goe3ZhbHVlOmUsZGlzcG9zZTpyLGFzeW5jOmF9KX1lbHNlIGEmJnQuc3RhY2sucHVzaCh7YXN5bmM6ITB9KTtyZXR1cm4gZX1mdW5jdGlvbiB5c2EodCl7ZnVuY3Rpb24gZShuKXt0LmVycm9yPXQuaGFzRXJyb3I/bmV3IHhzYShuLHQuZXJyb3IsIkFuIGVycm9yIHdhcyBzdXBwcmVzc2VkIGR1cmluZyBkaXNwb3NhbC4iKTpuLHQuaGFzRXJyb3I9ITB9aShlLCJmYWlsIik7dmFyIGEscj0wO2Z1bmN0aW9uIHMoKXtmb3IoO2E9dC5zdGFjay5wb3AoKTspdHJ5e2lmKCFhLmFzeW5jJiZyPT09MSlyZXR1cm4gcj0wLHQuc3RhY2sucHVzaChhKSxQcm9taXNlLnJlc29sdmUoKS50aGVuKHMpO2lmKGEuZGlzcG9zZSl7dmFyIG49YS5kaXNwb3NlLmNhbGwoYS52YWx1ZSk7aWYoYS5hc3luYylyZXR1cm4gcnw9MixQcm9taXNlLnJlc29sdmUobikudGhlbihzLGZ1bmN0aW9uKG8pe3JldHVybiBlKG8pLHMoKX0pfWVsc2Ugcnw9MX1jYXRjaChvKXtlKG8pfWlmKHI9PT0xKXJldHVybiB0Lmhhc0Vycm9yP1Byb21pc2UucmVqZWN0KHQuZXJyb3IpOlByb21pc2UucmVzb2x2ZSgpO2lmKHQuaGFzRXJyb3IpdGhyb3cgdC5lcnJvcn1yZXR1cm4gaShzLCJuZXh0IikscygpfWZ1bmN0aW9uIHdzYSh0LGUpe3JldHVybiB0eXBlb2YgdD09InN0cmluZyImJi9eXC5cLj9cLy8udGVzdCh0KT90LnJlcGxhY2UoL1wuKHRzeCkkfCgoPzpcLmQpPykoKD86XC5bXi4vXSs/KT8pXC4oW2NtXT8pdHMkL2ksZnVuY3Rpb24oYSxyLHMsbixvKXtyZXR1cm4gcj9lPyIuanN4IjoiLmpzIjpzJiYoIW58fCFvKT9hOnMrbisiLiIrby50b0xvd2VyQ2FzZSgpKyJqcyJ9KTp0fXZhciBVWCxXWCxHWCx1c2EsWVgseHNhLG53YSxmYT1jKCgpPT57VVg9aShmdW5jdGlvbih0LGUpe3JldHVybiBVWD1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24oYSxyKXthLl9fcHJvdG9fXz1yfXx8ZnVuY3Rpb24oYSxyKXtmb3IodmFyIHMgaW4gcilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixzKSYmKGFbc109cltzXSl9LFVYKHQsZSl9LCJleHRlbmRTdGF0aWNzIik7aShCdCwiX19leHRlbmRzIik7V1g9aShmdW5jdGlvbigpe3JldHVybiBXWD1PYmplY3QuYXNzaWdufHxpKGZ1bmN0aW9uKGUpe2Zvcih2YXIgYSxyPTEscz1hcmd1bWVudHMubGVuZ3RoO3I8cztyKyspe2E9YXJndW1lbnRzW3JdO2Zvcih2YXIgbiBpbiBhKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLG4pJiYoZVtuXT1hW25dKX1yZXR1cm4gZX0sIl9fYXNzaWduIiksV1guYXBwbHkodGhpcyxhcmd1bWVudHMpfSwiX19hc3NpZ24iKTtpKEppYSwiX19yZXN0Iik7aShlc2EsIl9fZGVjb3JhdGUiKTtpKHRzYSwiX19wYXJhbSIpO2koYXNhLCJfX2VzRGVjb3JhdGUiKTtpKHJzYSwiX19ydW5Jbml0aWFsaXplcnMiKTtpKGlzYSwiX19wcm9wS2V5Iik7aShzc2EsIl9fc2V0RnVuY3Rpb25OYW1lIik7aShvc2EsIl9fbWV0YWRhdGEiKTtpKFpYLCJfX2F3YWl0ZXIiKTtpKCRwLCJfX2dlbmVyYXRvciIpO0dYPU9iamVjdC5jcmVhdGU/KGZ1bmN0aW9uKHQsZSxhLHIpe3I9PT12b2lkIDAmJihyPWEpO3ZhciBzPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSxhKTsoIXN8fCgiZ2V0ImluIHM/IWUuX19lc01vZHVsZTpzLndyaXRhYmxlfHxzLmNvbmZpZ3VyYWJsZSkpJiYocz17ZW51bWVyYWJsZTohMCxnZXQ6aShmdW5jdGlvbigpe3JldHVybiBlW2FdfSwiZ2V0Iil9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLHMpfSk6KGZ1bmN0aW9uKHQsZSxhLHIpe3I9PT12b2lkIDAmJihyPWEpLHRbcl09ZVthXX0pO2kobnNhLCJfX2V4cG9ydFN0YXIiKTtpKHByLCJfX3ZhbHVlcyIpO2koUWEsIl9fcmVhZCIpO2kobHNhLCJfX3NwcmVhZCIpO2koY3NhLCJfX3NwcmVhZEFycmF5cyIpO2koTTEsIl9fc3ByZWFkQXJyYXkiKTtpKHEyLCJfX2F3YWl0Iik7aShYWCwiX19hc3luY0dlbmVyYXRvciIpO2koZHNhLCJfX2FzeW5jRGVsZWdhdG9yIik7aShLWCwiX19hc3luY1ZhbHVlcyIpO2kocHNhLCJfX21ha2VUZW1wbGF0ZU9iamVjdCIpO3VzYT1PYmplY3QuY3JlYXRlPyhmdW5jdGlvbih0LGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCx2YWx1ZTplfSl9KTpmdW5jdGlvbih0LGUpe3QuZGVmYXVsdD1lfSxZWD1pKGZ1bmN0aW9uKHQpe3JldHVybiBZWD1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lc3x8ZnVuY3Rpb24oZSl7dmFyIGE9W107Zm9yKHZhciByIGluIGUpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUscikmJihhW2EubGVuZ3RoXT1yKTtyZXR1cm4gYX0sWVgodCl9LCJvd25LZXlzIik7aShmc2EsIl9faW1wb3J0U3RhciIpO2koaHNhLCJfX2ltcG9ydERlZmF1bHQiKTtpKG1zYSwiX19jbGFzc1ByaXZhdGVGaWVsZEdldCIpO2koZ3NhLCJfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0Iik7aShic2EsIl9fY2xhc3NQcml2YXRlRmllbGRJbiIpO2kodnNhLCJfX2FkZERpc3Bvc2FibGVSZXNvdXJjZSIpO3hzYT10eXBlb2YgU3VwcHJlc3NlZEVycm9yPT0iZnVuY3Rpb24iP1N1cHByZXNzZWRFcnJvcjpmdW5jdGlvbih0LGUsYSl7dmFyIHI9bmV3IEVycm9yKGEpO3JldHVybiByLm5hbWU9IlN1cHByZXNzZWRFcnJvciIsci5lcnJvcj10LHIuc3VwcHJlc3NlZD1lLHJ9O2koeXNhLCJfX2Rpc3Bvc2VSZXNvdXJjZXMiKTtpKHdzYSwiX19yZXdyaXRlUmVsYXRpdmVJbXBvcnRFeHRlbnNpb24iKTtud2E9e19fZXh0ZW5kczpCdCxfX2Fzc2lnbjpXWCxfX3Jlc3Q6SmlhLF9fZGVjb3JhdGU6ZXNhLF9fcGFyYW06dHNhLF9fZXNEZWNvcmF0ZTphc2EsX19ydW5Jbml0aWFsaXplcnM6cnNhLF9fcHJvcEtleTppc2EsX19zZXRGdW5jdGlvbk5hbWU6c3NhLF9fbWV0YWRhdGE6b3NhLF9fYXdhaXRlcjpaWCxfX2dlbmVyYXRvcjokcCxfX2NyZWF0ZUJpbmRpbmc6R1gsX19leHBvcnRTdGFyOm5zYSxfX3ZhbHVlczpwcixfX3JlYWQ6UWEsX19zcHJlYWQ6bHNhLF9fc3ByZWFkQXJyYXlzOmNzYSxfX3NwcmVhZEFycmF5Ok0xLF9fYXdhaXQ6cTIsX19hc3luY0dlbmVyYXRvcjpYWCxfX2FzeW5jRGVsZWdhdG9yOmRzYSxfX2FzeW5jVmFsdWVzOktYLF9fbWFrZVRlbXBsYXRlT2JqZWN0OnBzYSxfX2ltcG9ydFN0YXI6ZnNhLF9faW1wb3J0RGVmYXVsdDpoc2EsX19jbGFzc1ByaXZhdGVGaWVsZEdldDptc2EsX19jbGFzc1ByaXZhdGVGaWVsZFNldDpnc2EsX19jbGFzc1ByaXZhdGVGaWVsZEluOmJzYSxfX2FkZERpc3Bvc2FibGVSZXNvdXJjZTp2c2EsX19kaXNwb3NlUmVzb3VyY2VzOnlzYSxfX3Jld3JpdGVSZWxhdGl2ZUltcG9ydEV4dGVuc2lvbjp3c2F9fSk7ZnVuY3Rpb24gTXQodCl7cmV0dXJuIHR5cGVvZiB0PT0iZnVuY3Rpb24ifXZhciBCMT1jKCgpPT57aShNdCwiaXNGdW5jdGlvbiIpfSk7ZnVuY3Rpb24gSnIodCl7dmFyIGU9aShmdW5jdGlvbihyKXtFcnJvci5jYWxsKHIpLHIuc3RhY2s9bmV3IEVycm9yKCkuc3RhY2t9LCJfc3VwZXIiKSxhPXQoZSk7cmV0dXJuIGEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKSxhLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hLGF9dmFyIG5uPWMoKCk9PntpKEpyLCJjcmVhdGVFcnJvckNsYXNzIil9KTt2YXIgRHAsUVg9YygoKT0+e25uKCk7RHA9SnIoZnVuY3Rpb24odCl7cmV0dXJuIGkoZnVuY3Rpb24oYSl7dCh0aGlzKSx0aGlzLm1lc3NhZ2U9YT9hLmxlbmd0aCtgIGVycm9ycyBvY2N1cnJlZCBkdXJpbmcgdW5zdWJzY3JpcHRpb246CmArYS5tYXAoZnVuY3Rpb24ocixzKXtyZXR1cm4gcysxKyIpICIrci50b1N0cmluZygpfSkuam9pbihgCiAgYCk6IiIsdGhpcy5uYW1lPSJVbnN1YnNjcmlwdGlvbkVycm9yIix0aGlzLmVycm9ycz1hfSwiVW5zdWJzY3JpcHRpb25FcnJvckltcGwiKX0pfSk7ZnVuY3Rpb24gb3ModCxlKXtpZih0KXt2YXIgYT10LmluZGV4T2YoZSk7MDw9YSYmdC5zcGxpY2UoYSwxKX19dmFyIGo2PWMoKCk9PntpKG9zLCJhcnJSZW1vdmUiKX0pO2Z1bmN0aW9uIHlIKHQpe3JldHVybiB0IGluc3RhbmNlb2YgbjF8fHQmJiJjbG9zZWQiaW4gdCYmTXQodC5yZW1vdmUpJiZNdCh0LmFkZCkmJk10KHQudW5zdWJzY3JpYmUpfWZ1bmN0aW9uIEJWZSh0KXtNdCh0KT90KCk6dC51bnN1YnNjcmliZSgpfXZhciBuMSxKWCxacz1jKCgpPT57ZmEoKTtCMSgpO1FYKCk7ajYoKTtuMT0oZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpe3RoaXMuaW5pdGlhbFRlYXJkb3duPWUsdGhpcy5jbG9zZWQ9ITEsdGhpcy5fcGFyZW50YWdlPW51bGwsdGhpcy5fZmluYWxpemVycz1udWxsfXJldHVybiBpKHQsIlN1YnNjcmlwdGlvbiIpLHQucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7dmFyIGUsYSxyLHMsbjtpZighdGhpcy5jbG9zZWQpe3RoaXMuY2xvc2VkPSEwO3ZhciBvPXRoaXMuX3BhcmVudGFnZTtpZihvKWlmKHRoaXMuX3BhcmVudGFnZT1udWxsLEFycmF5LmlzQXJyYXkobykpdHJ5e2Zvcih2YXIgbD1wcihvKSxoPWwubmV4dCgpOyFoLmRvbmU7aD1sLm5leHQoKSl7dmFyIHU9aC52YWx1ZTt1LnJlbW92ZSh0aGlzKX19Y2F0Y2goYil7ZT17ZXJyb3I6Yn19ZmluYWxseXt0cnl7aCYmIWguZG9uZSYmKGE9bC5yZXR1cm4pJiZhLmNhbGwobCl9ZmluYWxseXtpZihlKXRocm93IGUuZXJyb3J9fWVsc2Ugby5yZW1vdmUodGhpcyk7dmFyIGY9dGhpcy5pbml0aWFsVGVhcmRvd247aWYoTXQoZikpdHJ5e2YoKX1jYXRjaChiKXtuPWIgaW5zdGFuY2VvZiBEcD9iLmVycm9yczpbYl19dmFyIHA9dGhpcy5fZmluYWxpemVycztpZihwKXt0aGlzLl9maW5hbGl6ZXJzPW51bGw7dHJ5e2Zvcih2YXIgZz1wcihwKSx2PWcubmV4dCgpOyF2LmRvbmU7dj1nLm5leHQoKSl7dmFyIHg9di52YWx1ZTt0cnl7QlZlKHgpfWNhdGNoKGIpe249bj8/W10sYiBpbnN0YW5jZW9mIERwP249TTEoTTEoW10sUWEobikpLFFhKGIuZXJyb3JzKSk6bi5wdXNoKGIpfX19Y2F0Y2goYil7cj17ZXJyb3I6Yn19ZmluYWxseXt0cnl7diYmIXYuZG9uZSYmKHM9Zy5yZXR1cm4pJiZzLmNhbGwoZyl9ZmluYWxseXtpZihyKXRocm93IHIuZXJyb3J9fX1pZihuKXRocm93IG5ldyBEcChuKX19LHQucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlKXt2YXIgYTtpZihlJiZlIT09dGhpcylpZih0aGlzLmNsb3NlZClCVmUoZSk7ZWxzZXtpZihlIGluc3RhbmNlb2YgdCl7aWYoZS5jbG9zZWR8fGUuX2hhc1BhcmVudCh0aGlzKSlyZXR1cm47ZS5fYWRkUGFyZW50KHRoaXMpfSh0aGlzLl9maW5hbGl6ZXJzPShhPXRoaXMuX2ZpbmFsaXplcnMpIT09bnVsbCYmYSE9PXZvaWQgMD9hOltdKS5wdXNoKGUpfX0sdC5wcm90b3R5cGUuX2hhc1BhcmVudD1mdW5jdGlvbihlKXt2YXIgYT10aGlzLl9wYXJlbnRhZ2U7cmV0dXJuIGE9PT1lfHxBcnJheS5pc0FycmF5KGEpJiZhLmluY2x1ZGVzKGUpfSx0LnByb3RvdHlwZS5fYWRkUGFyZW50PWZ1bmN0aW9uKGUpe3ZhciBhPXRoaXMuX3BhcmVudGFnZTt0aGlzLl9wYXJlbnRhZ2U9QXJyYXkuaXNBcnJheShhKT8oYS5wdXNoKGUpLGEpOmE/W2EsZV06ZX0sdC5wcm90b3R5cGUuX3JlbW92ZVBhcmVudD1mdW5jdGlvbihlKXt2YXIgYT10aGlzLl9wYXJlbnRhZ2U7YT09PWU/dGhpcy5fcGFyZW50YWdlPW51bGw6QXJyYXkuaXNBcnJheShhKSYmb3MoYSxlKX0sdC5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGUpe3ZhciBhPXRoaXMuX2ZpbmFsaXplcnM7YSYmb3MoYSxlKSxlIGluc3RhbmNlb2YgdCYmZS5fcmVtb3ZlUGFyZW50KHRoaXMpfSx0LkVNUFRZPShmdW5jdGlvbigpe3ZhciBlPW5ldyB0O3JldHVybiBlLmNsb3NlZD0hMCxlfSkoKSx0fSkoKSxKWD1uMS5FTVBUWTtpKHlILCJpc1N1YnNjcmlwdGlvbiIpO2koQlZlLCJleGVjRmluYWxpemVyIil9KTt2YXIgRGksVTY9YygoKT0+e0RpPXtvblVuaGFuZGxlZEVycm9yOm51bGwsb25TdG9wcGVkTm90aWZpY2F0aW9uOm51bGwsUHJvbWlzZTp2b2lkIDAsdXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZzohMSx1c2VEZXByZWNhdGVkTmV4dENvbnRleHQ6ITF9fSk7dmFyIFc2LGVLPWMoKCk9PntmYSgpO1c2PXtzZXRUaW1lb3V0OmkoZnVuY3Rpb24odCxlKXtmb3IodmFyIGE9W10scj0yO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspYVtyLTJdPWFyZ3VtZW50c1tyXTt2YXIgcz1XNi5kZWxlZ2F0ZTtyZXR1cm4gcz8uc2V0VGltZW91dD9zLnNldFRpbWVvdXQuYXBwbHkocyxNMShbdCxlXSxRYShhKSkpOnNldFRpbWVvdXQuYXBwbHkodm9pZCAwLE0xKFt0LGVdLFFhKGEpKSl9LCJzZXRUaW1lb3V0IiksY2xlYXJUaW1lb3V0OmkoZnVuY3Rpb24odCl7dmFyIGU9VzYuZGVsZWdhdGU7cmV0dXJuKGU/LmNsZWFyVGltZW91dHx8Y2xlYXJUaW1lb3V0KSh0KX0sImNsZWFyVGltZW91dCIpLGRlbGVnYXRlOnZvaWQgMH19KTtmdW5jdGlvbiB3SCh0KXtXNi5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmFyIGU9RGkub25VbmhhbmRsZWRFcnJvcjtpZihlKWUodCk7ZWxzZSB0aHJvdyB0fSl9dmFyIHRLPWMoKCk9PntVNigpO2VLKCk7aSh3SCwicmVwb3J0VW5oYW5kbGVkRXJyb3IiKX0pO2Z1bmN0aW9uIEFpKCl7fXZhciBEbD1jKCgpPT57aShBaSwibm9vcCIpfSk7ZnVuY3Rpb24gcVZlKHQpe3JldHVybiBhSygiRSIsdm9pZCAwLHQpfWZ1bmN0aW9uIFZWZSh0KXtyZXR1cm4gYUsoIk4iLHQsdm9pZCAwKX1mdW5jdGlvbiBhSyh0LGUsYSl7cmV0dXJue2tpbmQ6dCx2YWx1ZTplLGVycm9yOmF9fXZhciBIVmUsalZlPWMoKCk9PntIVmU9KGZ1bmN0aW9uKCl7cmV0dXJuIGFLKCJDIix2b2lkIDAsdm9pZCAwKX0pKCk7aShxVmUsImVycm9yTm90aWZpY2F0aW9uIik7aShWVmUsIm5leHROb3RpZmljYXRpb24iKTtpKGFLLCJjcmVhdGVOb3RpZmljYXRpb24iKX0pO2Z1bmN0aW9uIEc2KHQpe2lmKERpLnVzZURlcHJlY2F0ZWRTeW5jaHJvbm91c0Vycm9ySGFuZGxpbmcpe3ZhciBlPSFBbDtpZihlJiYoQWw9e2Vycm9yVGhyb3duOiExLGVycm9yOm51bGx9KSx0KCksZSl7dmFyIGE9QWwscj1hLmVycm9yVGhyb3duLHM9YS5lcnJvcjtpZihBbD1udWxsLHIpdGhyb3cgc319ZWxzZSB0KCl9ZnVuY3Rpb24gVVZlKHQpe0RpLnVzZURlcHJlY2F0ZWRTeW5jaHJvbm91c0Vycm9ySGFuZGxpbmcmJkFsJiYoQWwuZXJyb3JUaHJvd249ITAsQWwuZXJyb3I9dCl9dmFyIEFsLE1IPWMoKCk9PntVNigpO0FsPW51bGw7aShHNiwiZXJyb3JDb250ZXh0Iik7aShVVmUsImNhcHR1cmVFcnJvciIpfSk7ZnVuY3Rpb24gcksodCxlKXtyZXR1cm4gTXNhLmNhbGwodCxlKX1mdW5jdGlvbiBrSCh0KXtEaS51c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nP1VWZSh0KTp3SCh0KX1mdW5jdGlvbiB6c2EodCl7dGhyb3cgdH1mdW5jdGlvbiBpSyh0LGUpe3ZhciBhPURpLm9uU3RvcHBlZE5vdGlmaWNhdGlvbjthJiZXNi5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIGEodCxlKX0pfXZhciBQbCxNc2Esa3NhLGxuLFNzYSxBcD1jKCgpPT57ZmEoKTtCMSgpO1pzKCk7VTYoKTt0SygpO0RsKCk7alZlKCk7ZUsoKTtNSCgpO1BsPShmdW5jdGlvbih0KXtCdChlLHQpO2Z1bmN0aW9uIGUoYSl7dmFyIHI9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiByLmlzU3RvcHBlZD0hMSxhPyhyLmRlc3RpbmF0aW9uPWEseUgoYSkmJmEuYWRkKHIpKTpyLmRlc3RpbmF0aW9uPVNzYSxyfXJldHVybiBpKGUsIlN1YnNjcmliZXIiKSxlLmNyZWF0ZT1mdW5jdGlvbihhLHIscyl7cmV0dXJuIG5ldyBsbihhLHIscyl9LGUucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24oYSl7dGhpcy5pc1N0b3BwZWQ/aUsoVlZlKGEpLHRoaXMpOnRoaXMuX25leHQoYSl9LGUucHJvdG90eXBlLmVycm9yPWZ1bmN0aW9uKGEpe3RoaXMuaXNTdG9wcGVkP2lLKHFWZShhKSx0aGlzKToodGhpcy5pc1N0b3BwZWQ9ITAsdGhpcy5fZXJyb3IoYSkpfSxlLnByb3RvdHlwZS5jb21wbGV0ZT1mdW5jdGlvbigpe3RoaXMuaXNTdG9wcGVkP2lLKEhWZSx0aGlzKToodGhpcy5pc1N0b3BwZWQ9ITAsdGhpcy5fY29tcGxldGUoKSl9LGUucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7dGhpcy5jbG9zZWR8fCh0aGlzLmlzU3RvcHBlZD0hMCx0LnByb3RvdHlwZS51bnN1YnNjcmliZS5jYWxsKHRoaXMpLHRoaXMuZGVzdGluYXRpb249bnVsbCl9LGUucHJvdG90eXBlLl9uZXh0PWZ1bmN0aW9uKGEpe3RoaXMuZGVzdGluYXRpb24ubmV4dChhKX0sZS5wcm90b3R5cGUuX2Vycm9yPWZ1bmN0aW9uKGEpe3RyeXt0aGlzLmRlc3RpbmF0aW9uLmVycm9yKGEpfWZpbmFsbHl7dGhpcy51bnN1YnNjcmliZSgpfX0sZS5wcm90b3R5cGUuX2NvbXBsZXRlPWZ1bmN0aW9uKCl7dHJ5e3RoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKX1maW5hbGx5e3RoaXMudW5zdWJzY3JpYmUoKX19LGV9KShuMSksTXNhPUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kO2kockssImJpbmQiKTtrc2E9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlKXt0aGlzLnBhcnRpYWxPYnNlcnZlcj1lfXJldHVybiBpKHQsIkNvbnN1bWVyT2JzZXJ2ZXIiKSx0LnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKGUpe3ZhciBhPXRoaXMucGFydGlhbE9ic2VydmVyO2lmKGEubmV4dCl0cnl7YS5uZXh0KGUpfWNhdGNoKHIpe2tIKHIpfX0sdC5wcm90b3R5cGUuZXJyb3I9ZnVuY3Rpb24oZSl7dmFyIGE9dGhpcy5wYXJ0aWFsT2JzZXJ2ZXI7aWYoYS5lcnJvcil0cnl7YS5lcnJvcihlKX1jYXRjaChyKXtrSChyKX1lbHNlIGtIKGUpfSx0LnByb3RvdHlwZS5jb21wbGV0ZT1mdW5jdGlvbigpe3ZhciBlPXRoaXMucGFydGlhbE9ic2VydmVyO2lmKGUuY29tcGxldGUpdHJ5e2UuY29tcGxldGUoKX1jYXRjaChhKXtrSChhKX19LHR9KSgpLGxuPShmdW5jdGlvbih0KXtCdChlLHQpO2Z1bmN0aW9uIGUoYSxyLHMpe3ZhciBuPXQuY2FsbCh0aGlzKXx8dGhpcyxvO2lmKE10KGEpfHwhYSlvPXtuZXh0OmE/P3ZvaWQgMCxlcnJvcjpyPz92b2lkIDAsY29tcGxldGU6cz8/dm9pZCAwfTtlbHNle3ZhciBsO24mJkRpLnVzZURlcHJlY2F0ZWROZXh0Q29udGV4dD8obD1PYmplY3QuY3JlYXRlKGEpLGwudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXtyZXR1cm4gbi51bnN1YnNjcmliZSgpfSxvPXtuZXh0OmEubmV4dCYmcksoYS5uZXh0LGwpLGVycm9yOmEuZXJyb3ImJnJLKGEuZXJyb3IsbCksY29tcGxldGU6YS5jb21wbGV0ZSYmcksoYS5jb21wbGV0ZSxsKX0pOm89YX1yZXR1cm4gbi5kZXN0aW5hdGlvbj1uZXcga3NhKG8pLG59cmV0dXJuIGkoZSwiU2FmZVN1YnNjcmliZXIiKSxlfSkoUGwpO2koa0gsImhhbmRsZVVuaGFuZGxlZEVycm9yIik7aSh6c2EsImRlZmF1bHRFcnJvckhhbmRsZXIiKTtpKGlLLCJoYW5kbGVTdG9wcGVkTm90aWZpY2F0aW9uIik7U3NhPXtjbG9zZWQ6ITAsbmV4dDpBaSxlcnJvcjp6c2EsY29tcGxldGU6QWl9fSk7dmFyIEVsLFBwPWMoKCk9PntFbD0oZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm9ic2VydmFibGV8fCJAQG9ic2VydmFibGUifSkoKX0pO2Z1bmN0aW9uIGNuKHQpe3JldHVybiB0fXZhciBFcD1jKCgpPT57aShjbiwiaWRlbnRpdHkiKX0pO2Z1bmN0aW9uIENzYSgpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gc0sodCl9ZnVuY3Rpb24gc0sodCl7cmV0dXJuIHQubGVuZ3RoPT09MD9jbjp0Lmxlbmd0aD09PTE/dFswXTppKGZ1bmN0aW9uKGEpe3JldHVybiB0LnJlZHVjZShmdW5jdGlvbihyLHMpe3JldHVybiBzKHIpfSxhKX0sInBpcGVkIil9dmFyIG9LPWMoKCk9PntFcCgpO2koQ3NhLCJwaXBlIik7aShzSywicGlwZUZyb21BcnJheSIpfSk7ZnVuY3Rpb24gV1ZlKHQpe3ZhciBlO3JldHVybihlPXQ/P0RpLlByb21pc2UpIT09bnVsbCYmZSE9PXZvaWQgMD9lOlByb21pc2V9ZnVuY3Rpb24gX3NhKHQpe3JldHVybiB0JiZNdCh0Lm5leHQpJiZNdCh0LmVycm9yKSYmTXQodC5jb21wbGV0ZSl9ZnVuY3Rpb24gVHNhKHQpe3JldHVybiB0JiZ0IGluc3RhbmNlb2YgUGx8fF9zYSh0KSYmeUgodCl9dmFyIF90LEFyPWMoKCk9PntBcCgpO1pzKCk7UHAoKTtvSygpO1U2KCk7QjEoKTtNSCgpO190PShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7ZSYmKHRoaXMuX3N1YnNjcmliZT1lKX1yZXR1cm4gaSh0LCJPYnNlcnZhYmxlIiksdC5wcm90b3R5cGUubGlmdD1mdW5jdGlvbihlKXt2YXIgYT1uZXcgdDtyZXR1cm4gYS5zb3VyY2U9dGhpcyxhLm9wZXJhdG9yPWUsYX0sdC5wcm90b3R5cGUuc3Vic2NyaWJlPWZ1bmN0aW9uKGUsYSxyKXt2YXIgcz10aGlzLG49VHNhKGUpP2U6bmV3IGxuKGUsYSxyKTtyZXR1cm4gRzYoZnVuY3Rpb24oKXt2YXIgbz1zLGw9by5vcGVyYXRvcixoPW8uc291cmNlO24uYWRkKGw/bC5jYWxsKG4saCk6aD9zLl9zdWJzY3JpYmUobik6cy5fdHJ5U3Vic2NyaWJlKG4pKX0pLG59LHQucHJvdG90eXBlLl90cnlTdWJzY3JpYmU9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiB0aGlzLl9zdWJzY3JpYmUoZSl9Y2F0Y2goYSl7ZS5lcnJvcihhKX19LHQucHJvdG90eXBlLmZvckVhY2g9ZnVuY3Rpb24oZSxhKXt2YXIgcj10aGlzO3JldHVybiBhPVdWZShhKSxuZXcgYShmdW5jdGlvbihzLG4pe3ZhciBvPW5ldyBsbih7bmV4dDppKGZ1bmN0aW9uKGwpe3RyeXtlKGwpfWNhdGNoKGgpe24oaCksby51bnN1YnNjcmliZSgpfX0sIm5leHQiKSxlcnJvcjpuLGNvbXBsZXRlOnN9KTtyLnN1YnNjcmliZShvKX0pfSx0LnByb3RvdHlwZS5fc3Vic2NyaWJlPWZ1bmN0aW9uKGUpe3ZhciBhO3JldHVybihhPXRoaXMuc291cmNlKT09PW51bGx8fGE9PT12b2lkIDA/dm9pZCAwOmEuc3Vic2NyaWJlKGUpfSx0LnByb3RvdHlwZVtFbF09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdC5wcm90b3R5cGUucGlwZT1mdW5jdGlvbigpe2Zvcih2YXIgZT1bXSxhPTA7YTxhcmd1bWVudHMubGVuZ3RoO2ErKyllW2FdPWFyZ3VtZW50c1thXTtyZXR1cm4gc0soZSkodGhpcyl9LHQucHJvdG90eXBlLnRvUHJvbWlzZT1mdW5jdGlvbihlKXt2YXIgYT10aGlzO3JldHVybiBlPVdWZShlKSxuZXcgZShmdW5jdGlvbihyLHMpe3ZhciBuO2Euc3Vic2NyaWJlKGZ1bmN0aW9uKG8pe3JldHVybiBuPW99LGZ1bmN0aW9uKG8pe3JldHVybiBzKG8pfSxmdW5jdGlvbigpe3JldHVybiByKG4pfSl9KX0sdC5jcmVhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyB0KGUpfSx0fSkoKTtpKFdWZSwiZ2V0UHJvbWlzZUN0b3IiKTtpKF9zYSwiaXNPYnNlcnZlciIpO2koVHNhLCJpc1N1YnNjcmliZXIiKX0pO2Z1bmN0aW9uIG5LKHQpe3JldHVybiBNdCh0Py5saWZ0KX1mdW5jdGlvbiBlYSh0KXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYobksoZSkpcmV0dXJuIGUubGlmdChmdW5jdGlvbihhKXt0cnl7cmV0dXJuIHQoYSx0aGlzKX1jYXRjaChyKXt0aGlzLmVycm9yKHIpfX0pO3Rocm93IG5ldyBUeXBlRXJyb3IoIlVuYWJsZSB0byBsaWZ0IHVua25vd24gT2JzZXJ2YWJsZSB0eXBlIil9fXZhciBrMT1jKCgpPT57QjEoKTtpKG5LLCJoYXNMaWZ0Iik7aShlYSwib3BlcmF0ZSIpfSk7ZnVuY3Rpb24gR3QodCxlLGEscixzKXtyZXR1cm4gbmV3IEdWZSh0LGUsYSxyLHMpfXZhciBHVmUsSzE9YygoKT0+e2ZhKCk7QXAoKTtpKEd0LCJjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIiKTtHVmU9KGZ1bmN0aW9uKHQpe0J0KGUsdCk7ZnVuY3Rpb24gZShhLHIscyxuLG8sbCl7dmFyIGg9dC5jYWxsKHRoaXMsYSl8fHRoaXM7cmV0dXJuIGgub25GaW5hbGl6ZT1vLGguc2hvdWxkVW5zdWJzY3JpYmU9bCxoLl9uZXh0PXI/ZnVuY3Rpb24odSl7dHJ5e3IodSl9Y2F0Y2goZil7YS5lcnJvcihmKX19OnQucHJvdG90eXBlLl9uZXh0LGguX2Vycm9yPW4/ZnVuY3Rpb24odSl7dHJ5e24odSl9Y2F0Y2goZil7YS5lcnJvcihmKX1maW5hbGx5e3RoaXMudW5zdWJzY3JpYmUoKX19OnQucHJvdG90eXBlLl9lcnJvcixoLl9jb21wbGV0ZT1zP2Z1bmN0aW9uKCl7dHJ5e3MoKX1jYXRjaCh1KXthLmVycm9yKHUpfWZpbmFsbHl7dGhpcy51bnN1YnNjcmliZSgpfX06dC5wcm90b3R5cGUuX2NvbXBsZXRlLGh9cmV0dXJuIGkoZSwiT3BlcmF0b3JTdWJzY3JpYmVyIiksZS5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXt2YXIgYTtpZighdGhpcy5zaG91bGRVbnN1YnNjcmliZXx8dGhpcy5zaG91bGRVbnN1YnNjcmliZSgpKXt2YXIgcj10aGlzLmNsb3NlZDt0LnByb3RvdHlwZS51bnN1YnNjcmliZS5jYWxsKHRoaXMpLCFyJiYoKGE9dGhpcy5vbkZpbmFsaXplKT09PW51bGx8fGE9PT12b2lkIDB8fGEuY2FsbCh0aGlzKSl9fSxlfSkoUGwpfSk7ZnVuY3Rpb24gekgoKXtyZXR1cm4gZWEoZnVuY3Rpb24odCxlKXt2YXIgYT1udWxsO3QuX3JlZkNvdW50Kys7dmFyIHI9R3QoZSx2b2lkIDAsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe2lmKCF0fHx0Ll9yZWZDb3VudDw9MHx8MDwtLXQuX3JlZkNvdW50KXthPW51bGw7cmV0dXJufXZhciBzPXQuX2Nvbm5lY3Rpb24sbj1hO2E9bnVsbCxzJiYoIW58fHM9PT1uKSYmcy51bnN1YnNjcmliZSgpLGUudW5zdWJzY3JpYmUoKX0pO3Quc3Vic2NyaWJlKHIpLHIuY2xvc2VkfHwoYT10LmNvbm5lY3QoKSl9KX12YXIgU0g9YygoKT0+e2sxKCk7SzEoKTtpKHpILCJyZWZDb3VudCIpfSk7dmFyIFlWZSxaVmU9YygoKT0+e2ZhKCk7QXIoKTtacygpO1NIKCk7SzEoKTtrMSgpO1lWZT0oZnVuY3Rpb24odCl7QnQoZSx0KTtmdW5jdGlvbiBlKGEscil7dmFyIHM9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBzLnNvdXJjZT1hLHMuc3ViamVjdEZhY3Rvcnk9cixzLl9zdWJqZWN0PW51bGwscy5fcmVmQ291bnQ9MCxzLl9jb25uZWN0aW9uPW51bGwsbksoYSkmJihzLmxpZnQ9YS5saWZ0KSxzfXJldHVybiBpKGUsIkNvbm5lY3RhYmxlT2JzZXJ2YWJsZSIpLGUucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZ2V0U3ViamVjdCgpLnN1YnNjcmliZShhKX0sZS5wcm90b3R5cGUuZ2V0U3ViamVjdD1mdW5jdGlvbigpe3ZhciBhPXRoaXMuX3N1YmplY3Q7cmV0dXJuKCFhfHxhLmlzU3RvcHBlZCkmJih0aGlzLl9zdWJqZWN0PXRoaXMuc3ViamVjdEZhY3RvcnkoKSksdGhpcy5fc3ViamVjdH0sZS5wcm90b3R5cGUuX3RlYXJkb3duPWZ1bmN0aW9uKCl7dGhpcy5fcmVmQ291bnQ9MDt2YXIgYT10aGlzLl9jb25uZWN0aW9uO3RoaXMuX3N1YmplY3Q9dGhpcy5fY29ubmVjdGlvbj1udWxsLGE/LnVuc3Vic2NyaWJlKCl9LGUucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLHI9dGhpcy5fY29ubmVjdGlvbjtpZighcil7cj10aGlzLl9jb25uZWN0aW9uPW5ldyBuMTt2YXIgcz10aGlzLmdldFN1YmplY3QoKTtyLmFkZCh0aGlzLnNvdXJjZS5zdWJzY3JpYmUoR3Qocyx2b2lkIDAsZnVuY3Rpb24oKXthLl90ZWFyZG93bigpLHMuY29tcGxldGUoKX0sZnVuY3Rpb24obil7YS5fdGVhcmRvd24oKSxzLmVycm9yKG4pfSxmdW5jdGlvbigpe3JldHVybiBhLl90ZWFyZG93bigpfSkpKSxyLmNsb3NlZCYmKHRoaXMuX2Nvbm5lY3Rpb249bnVsbCxyPW4xLkVNUFRZKX1yZXR1cm4gcn0sZS5wcm90b3R5cGUucmVmQ291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4gekgoKSh0aGlzKX0sZX0pKF90KX0pO3ZhciBsSyxYVmU9YygoKT0+e2xLPXtub3c6aShmdW5jdGlvbigpe3JldHVybihsSy5kZWxlZ2F0ZXx8cGVyZm9ybWFuY2UpLm5vdygpfSwibm93IiksZGVsZWdhdGU6dm9pZCAwfX0pO3ZhciBWMixjSz1jKCgpPT57ZmEoKTtacygpO1YyPXtzY2hlZHVsZTppKGZ1bmN0aW9uKHQpe3ZhciBlPXJlcXVlc3RBbmltYXRpb25GcmFtZSxhPWNhbmNlbEFuaW1hdGlvbkZyYW1lLHI9VjIuZGVsZWdhdGU7ciYmKGU9ci5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUsYT1yLmNhbmNlbEFuaW1hdGlvbkZyYW1lKTt2YXIgcz1lKGZ1bmN0aW9uKG4pe2E9dm9pZCAwLHQobil9KTtyZXR1cm4gbmV3IG4xKGZ1bmN0aW9uKCl7cmV0dXJuIGE/LihzKX0pfSwic2NoZWR1bGUiKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWU6aShmdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTt2YXIgYT1WMi5kZWxlZ2F0ZTtyZXR1cm4oYT8ucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUpLmFwcGx5KHZvaWQgMCxNMShbXSxRYSh0KSkpfSwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiksY2FuY2VsQW5pbWF0aW9uRnJhbWU6aShmdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl0W2VdPWFyZ3VtZW50c1tlXTt2YXIgYT1WMi5kZWxlZ2F0ZTtyZXR1cm4oYT8uY2FuY2VsQW5pbWF0aW9uRnJhbWV8fGNhbmNlbEFuaW1hdGlvbkZyYW1lKS5hcHBseSh2b2lkIDAsTTEoW10sUWEodCkpKX0sImNhbmNlbEFuaW1hdGlvbkZyYW1lIiksZGVsZWdhdGU6dm9pZCAwfX0pO2Z1bmN0aW9uIExzYSh0KXtyZXR1cm4gdD9LVmUodCk6JHNhfWZ1bmN0aW9uIEtWZSh0KXtyZXR1cm4gbmV3IF90KGZ1bmN0aW9uKGUpe3ZhciBhPXR8fGxLLHI9YS5ub3coKSxzPTAsbj1pKGZ1bmN0aW9uKCl7ZS5jbG9zZWR8fChzPVYyLnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbihvKXtzPTA7dmFyIGw9YS5ub3coKTtlLm5leHQoe3RpbWVzdGFtcDp0P2w6byxlbGFwc2VkOmwtcn0pLG4oKX0pKX0sInJ1biIpO3JldHVybiBuKCksZnVuY3Rpb24oKXtzJiZWMi5jYW5jZWxBbmltYXRpb25GcmFtZShzKX19KX12YXIgJHNhLFFWZT1jKCgpPT57QXIoKTtYVmUoKTtjSygpO2koTHNhLCJhbmltYXRpb25GcmFtZXMiKTtpKEtWZSwiYW5pbWF0aW9uRnJhbWVzRmFjdG9yeSIpOyRzYT1LVmUoKX0pO3ZhciBkSyxwSz1jKCgpPT57bm4oKTtkSz1KcihmdW5jdGlvbih0KXtyZXR1cm4gaShmdW5jdGlvbigpe3QodGhpcyksdGhpcy5uYW1lPSJPYmplY3RVbnN1YnNjcmliZWRFcnJvciIsdGhpcy5tZXNzYWdlPSJvYmplY3QgdW5zdWJzY3JpYmVkIn0sIk9iamVjdFVuc3Vic2NyaWJlZEVycm9ySW1wbCIpfSl9KTt2YXIgdXIsdUssWTY9YygoKT0+e2ZhKCk7QXIoKTtacygpO3BLKCk7ajYoKTtNSCgpO3VyPShmdW5jdGlvbih0KXtCdChlLHQpO2Z1bmN0aW9uIGUoKXt2YXIgYT10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGEuY2xvc2VkPSExLGEuY3VycmVudE9ic2VydmVycz1udWxsLGEub2JzZXJ2ZXJzPVtdLGEuaXNTdG9wcGVkPSExLGEuaGFzRXJyb3I9ITEsYS50aHJvd25FcnJvcj1udWxsLGF9cmV0dXJuIGkoZSwiU3ViamVjdCIpLGUucHJvdG90eXBlLmxpZnQ9ZnVuY3Rpb24oYSl7dmFyIHI9bmV3IHVLKHRoaXMsdGhpcyk7cmV0dXJuIHIub3BlcmF0b3I9YSxyfSxlLnByb3RvdHlwZS5fdGhyb3dJZkNsb3NlZD1mdW5jdGlvbigpe2lmKHRoaXMuY2xvc2VkKXRocm93IG5ldyBkS30sZS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbihhKXt2YXIgcj10aGlzO0c2KGZ1bmN0aW9uKCl7dmFyIHMsbjtpZihyLl90aHJvd0lmQ2xvc2VkKCksIXIuaXNTdG9wcGVkKXtyLmN1cnJlbnRPYnNlcnZlcnN8fChyLmN1cnJlbnRPYnNlcnZlcnM9QXJyYXkuZnJvbShyLm9ic2VydmVycykpO3RyeXtmb3IodmFyIG89cHIoci5jdXJyZW50T2JzZXJ2ZXJzKSxsPW8ubmV4dCgpOyFsLmRvbmU7bD1vLm5leHQoKSl7dmFyIGg9bC52YWx1ZTtoLm5leHQoYSl9fWNhdGNoKHUpe3M9e2Vycm9yOnV9fWZpbmFsbHl7dHJ5e2wmJiFsLmRvbmUmJihuPW8ucmV0dXJuKSYmbi5jYWxsKG8pfWZpbmFsbHl7aWYocyl0aHJvdyBzLmVycm9yfX19fSl9LGUucHJvdG90eXBlLmVycm9yPWZ1bmN0aW9uKGEpe3ZhciByPXRoaXM7RzYoZnVuY3Rpb24oKXtpZihyLl90aHJvd0lmQ2xvc2VkKCksIXIuaXNTdG9wcGVkKXtyLmhhc0Vycm9yPXIuaXNTdG9wcGVkPSEwLHIudGhyb3duRXJyb3I9YTtmb3IodmFyIHM9ci5vYnNlcnZlcnM7cy5sZW5ndGg7KXMuc2hpZnQoKS5lcnJvcihhKX19KX0sZS5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt2YXIgYT10aGlzO0c2KGZ1bmN0aW9uKCl7aWYoYS5fdGhyb3dJZkNsb3NlZCgpLCFhLmlzU3RvcHBlZCl7YS5pc1N0b3BwZWQ9ITA7Zm9yKHZhciByPWEub2JzZXJ2ZXJzO3IubGVuZ3RoOylyLnNoaWZ0KCkuY29tcGxldGUoKX19KX0sZS5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXt0aGlzLmlzU3RvcHBlZD10aGlzLmNsb3NlZD0hMCx0aGlzLm9ic2VydmVycz10aGlzLmN1cnJlbnRPYnNlcnZlcnM9bnVsbH0sT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJvYnNlcnZlZCIse2dldDppKGZ1bmN0aW9uKCl7dmFyIGE7cmV0dXJuKChhPXRoaXMub2JzZXJ2ZXJzKT09PW51bGx8fGE9PT12b2lkIDA/dm9pZCAwOmEubGVuZ3RoKT4wfSwiZ2V0IiksZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KSxlLnByb3RvdHlwZS5fdHJ5U3Vic2NyaWJlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLl90aHJvd0lmQ2xvc2VkKCksdC5wcm90b3R5cGUuX3RyeVN1YnNjcmliZS5jYWxsKHRoaXMsYSl9LGUucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuX3Rocm93SWZDbG9zZWQoKSx0aGlzLl9jaGVja0ZpbmFsaXplZFN0YXR1c2VzKGEpLHRoaXMuX2lubmVyU3Vic2NyaWJlKGEpfSxlLnByb3RvdHlwZS5faW5uZXJTdWJzY3JpYmU9ZnVuY3Rpb24oYSl7dmFyIHI9dGhpcyxzPXRoaXMsbj1zLmhhc0Vycm9yLG89cy5pc1N0b3BwZWQsbD1zLm9ic2VydmVycztyZXR1cm4gbnx8bz9KWDoodGhpcy5jdXJyZW50T2JzZXJ2ZXJzPW51bGwsbC5wdXNoKGEpLG5ldyBuMShmdW5jdGlvbigpe3IuY3VycmVudE9ic2VydmVycz1udWxsLG9zKGwsYSl9KSl9LGUucHJvdG90eXBlLl9jaGVja0ZpbmFsaXplZFN0YXR1c2VzPWZ1bmN0aW9uKGEpe3ZhciByPXRoaXMscz1yLmhhc0Vycm9yLG49ci50aHJvd25FcnJvcixvPXIuaXNTdG9wcGVkO3M/YS5lcnJvcihuKTpvJiZhLmNvbXBsZXRlKCl9LGUucHJvdG90eXBlLmFzT2JzZXJ2YWJsZT1mdW5jdGlvbigpe3ZhciBhPW5ldyBfdDtyZXR1cm4gYS5zb3VyY2U9dGhpcyxhfSxlLmNyZWF0ZT1mdW5jdGlvbihhLHIpe3JldHVybiBuZXcgdUsoYSxyKX0sZX0pKF90KSx1Sz0oZnVuY3Rpb24odCl7QnQoZSx0KTtmdW5jdGlvbiBlKGEscil7dmFyIHM9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiBzLmRlc3RpbmF0aW9uPWEscy5zb3VyY2U9cixzfXJldHVybiBpKGUsIkFub255bW91c1N1YmplY3QiKSxlLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKGEpe3ZhciByLHM7KHM9KHI9dGhpcy5kZXN0aW5hdGlvbik9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLm5leHQpPT09bnVsbHx8cz09PXZvaWQgMHx8cy5jYWxsKHIsYSl9LGUucHJvdG90eXBlLmVycm9yPWZ1bmN0aW9uKGEpe3ZhciByLHM7KHM9KHI9dGhpcy5kZXN0aW5hdGlvbik9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLmVycm9yKT09PW51bGx8fHM9PT12b2lkIDB8fHMuY2FsbChyLGEpfSxlLnByb3RvdHlwZS5jb21wbGV0ZT1mdW5jdGlvbigpe3ZhciBhLHI7KHI9KGE9dGhpcy5kZXN0aW5hdGlvbik9PT1udWxsfHxhPT09dm9pZCAwP3ZvaWQgMDphLmNvbXBsZXRlKT09PW51bGx8fHI9PT12b2lkIDB8fHIuY2FsbChhKX0sZS5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbihhKXt2YXIgcixzO3JldHVybihzPShyPXRoaXMuc291cmNlKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIuc3Vic2NyaWJlKGEpKSE9PW51bGwmJnMhPT12b2lkIDA/czpKWH0sZX0pKHVyKX0pO3ZhciBKVmUsZWplPWMoKCk9PntmYSgpO1k2KCk7SlZlPShmdW5jdGlvbih0KXtCdChlLHQpO2Z1bmN0aW9uIGUoYSl7dmFyIHI9dC5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiByLl92YWx1ZT1hLHJ9cmV0dXJuIGkoZSwiQmVoYXZpb3JTdWJqZWN0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJ2YWx1ZSIse2dldDppKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0VmFsdWUoKX0sImdldCIpLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbihhKXt2YXIgcj10LnByb3RvdHlwZS5fc3Vic2NyaWJlLmNhbGwodGhpcyxhKTtyZXR1cm4hci5jbG9zZWQmJmEubmV4dCh0aGlzLl92YWx1ZSkscn0sZS5wcm90b3R5cGUuZ2V0VmFsdWU9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLHI9YS5oYXNFcnJvcixzPWEudGhyb3duRXJyb3Isbj1hLl92YWx1ZTtpZihyKXRocm93IHM7cmV0dXJuIHRoaXMuX3Rocm93SWZDbG9zZWQoKSxufSxlLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKGEpe3QucHJvdG90eXBlLm5leHQuY2FsbCh0aGlzLHRoaXMuX3ZhbHVlPWEpfSxlfSkodXIpfSk7dmFyIElwLGZLPWMoKCk9PntJcD17bm93OmkoZnVuY3Rpb24oKXtyZXR1cm4oSXAuZGVsZWdhdGV8fERhdGUpLm5vdygpfSwibm93IiksZGVsZWdhdGU6dm9pZCAwfX0pO3ZhciBaNixoSz1jKCgpPT57ZmEoKTtZNigpO2ZLKCk7WjY9KGZ1bmN0aW9uKHQpe0J0KGUsdCk7ZnVuY3Rpb24gZShhLHIscyl7YT09PXZvaWQgMCYmKGE9MS8wKSxyPT09dm9pZCAwJiYocj0xLzApLHM9PT12b2lkIDAmJihzPUlwKTt2YXIgbj10LmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4uX2J1ZmZlclNpemU9YSxuLl93aW5kb3dUaW1lPXIsbi5fdGltZXN0YW1wUHJvdmlkZXI9cyxuLl9idWZmZXI9W10sbi5faW5maW5pdGVUaW1lV2luZG93PSEwLG4uX2luZmluaXRlVGltZVdpbmRvdz1yPT09MS8wLG4uX2J1ZmZlclNpemU9TWF0aC5tYXgoMSxhKSxuLl93aW5kb3dUaW1lPU1hdGgubWF4KDEsciksbn1yZXR1cm4gaShlLCJSZXBsYXlTdWJqZWN0IiksZS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbihhKXt2YXIgcj10aGlzLHM9ci5pc1N0b3BwZWQsbj1yLl9idWZmZXIsbz1yLl9pbmZpbml0ZVRpbWVXaW5kb3csbD1yLl90aW1lc3RhbXBQcm92aWRlcixoPXIuX3dpbmRvd1RpbWU7c3x8KG4ucHVzaChhKSwhbyYmbi5wdXNoKGwubm93KCkraCkpLHRoaXMuX3RyaW1CdWZmZXIoKSx0LnByb3RvdHlwZS5uZXh0LmNhbGwodGhpcyxhKX0sZS5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbihhKXt0aGlzLl90aHJvd0lmQ2xvc2VkKCksdGhpcy5fdHJpbUJ1ZmZlcigpO2Zvcih2YXIgcj10aGlzLl9pbm5lclN1YnNjcmliZShhKSxzPXRoaXMsbj1zLl9pbmZpbml0ZVRpbWVXaW5kb3csbz1zLl9idWZmZXIsbD1vLnNsaWNlKCksaD0wO2g8bC5sZW5ndGgmJiFhLmNsb3NlZDtoKz1uPzE6MilhLm5leHQobFtoXSk7cmV0dXJuIHRoaXMuX2NoZWNrRmluYWxpemVkU3RhdHVzZXMoYSkscn0sZS5wcm90b3R5cGUuX3RyaW1CdWZmZXI9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLHI9YS5fYnVmZmVyU2l6ZSxzPWEuX3RpbWVzdGFtcFByb3ZpZGVyLG49YS5fYnVmZmVyLG89YS5faW5maW5pdGVUaW1lV2luZG93LGw9KG8/MToyKSpyO2lmKHI8MS8wJiZsPG4ubGVuZ3RoJiZuLnNwbGljZSgwLG4ubGVuZ3RoLWwpLCFvKXtmb3IodmFyIGg9cy5ub3coKSx1PTAsZj0xO2Y8bi5sZW5ndGgmJm5bZl08PWg7Zis9Mil1PWY7dSYmbi5zcGxpY2UoMCx1KzEpfX0sZX0pKHVyKX0pO3ZhciB0amUsYWplPWMoKCk9PntmYSgpO1k2KCk7dGplPShmdW5jdGlvbih0KXtCdChlLHQpO2Z1bmN0aW9uIGUoKXt2YXIgYT10IT09bnVsbCYmdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXM7cmV0dXJuIGEuX3ZhbHVlPW51bGwsYS5faGFzVmFsdWU9ITEsYS5faXNDb21wbGV0ZT0hMSxhfXJldHVybiBpKGUsIkFzeW5jU3ViamVjdCIpLGUucHJvdG90eXBlLl9jaGVja0ZpbmFsaXplZFN0YXR1c2VzPWZ1bmN0aW9uKGEpe3ZhciByPXRoaXMscz1yLmhhc0Vycm9yLG49ci5faGFzVmFsdWUsbz1yLl92YWx1ZSxsPXIudGhyb3duRXJyb3IsaD1yLmlzU3RvcHBlZCx1PXIuX2lzQ29tcGxldGU7cz9hLmVycm9yKGwpOihofHx1KSYmKG4mJmEubmV4dChvKSxhLmNvbXBsZXRlKCkpfSxlLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKGEpe3RoaXMuaXNTdG9wcGVkfHwodGhpcy5fdmFsdWU9YSx0aGlzLl9oYXNWYWx1ZT0hMCl9LGUucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxyPWEuX2hhc1ZhbHVlLHM9YS5fdmFsdWUsbj1hLl9pc0NvbXBsZXRlO258fCh0aGlzLl9pc0NvbXBsZXRlPSEwLHImJnQucHJvdG90eXBlLm5leHQuY2FsbCh0aGlzLHMpLHQucHJvdG90eXBlLmNvbXBsZXRlLmNhbGwodGhpcykpfSxlfSkodXIpfSk7dmFyIG1LLHJqZT1jKCgpPT57ZmEoKTtacygpO21LPShmdW5jdGlvbih0KXtCdChlLHQpO2Z1bmN0aW9uIGUoYSxyKXtyZXR1cm4gdC5jYWxsKHRoaXMpfHx0aGlzfXJldHVybiBpKGUsIkFjdGlvbiIpLGUucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKGEscil7cmV0dXJuIHI9PT12b2lkIDAmJihyPTApLHRoaXN9LGV9KShuMSl9KTt2YXIgTnAsaWplPWMoKCk9PntmYSgpO05wPXtzZXRJbnRlcnZhbDppKGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBhPVtdLHI9MjtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKWFbci0yXT1hcmd1bWVudHNbcl07dmFyIHM9TnAuZGVsZWdhdGU7cmV0dXJuIHM/LnNldEludGVydmFsP3Muc2V0SW50ZXJ2YWwuYXBwbHkocyxNMShbdCxlXSxRYShhKSkpOnNldEludGVydmFsLmFwcGx5KHZvaWQgMCxNMShbdCxlXSxRYShhKSkpfSwic2V0SW50ZXJ2YWwiKSxjbGVhckludGVydmFsOmkoZnVuY3Rpb24odCl7dmFyIGU9TnAuZGVsZWdhdGU7cmV0dXJuKGU/LmNsZWFySW50ZXJ2YWx8fGNsZWFySW50ZXJ2YWwpKHQpfSwiY2xlYXJJbnRlcnZhbCIpLGRlbGVnYXRlOnZvaWQgMH19KTt2YXIgbnMsWDY9YygoKT0+e2ZhKCk7cmplKCk7aWplKCk7ajYoKTtucz0oZnVuY3Rpb24odCl7QnQoZSx0KTtmdW5jdGlvbiBlKGEscil7dmFyIHM9dC5jYWxsKHRoaXMsYSxyKXx8dGhpcztyZXR1cm4gcy5zY2hlZHVsZXI9YSxzLndvcms9cixzLnBlbmRpbmc9ITEsc31yZXR1cm4gaShlLCJBc3luY0FjdGlvbiIpLGUucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKGEscil7dmFyIHM7aWYocj09PXZvaWQgMCYmKHI9MCksdGhpcy5jbG9zZWQpcmV0dXJuIHRoaXM7dGhpcy5zdGF0ZT1hO3ZhciBuPXRoaXMuaWQsbz10aGlzLnNjaGVkdWxlcjtyZXR1cm4gbiE9bnVsbCYmKHRoaXMuaWQ9dGhpcy5yZWN5Y2xlQXN5bmNJZChvLG4scikpLHRoaXMucGVuZGluZz0hMCx0aGlzLmRlbGF5PXIsdGhpcy5pZD0ocz10aGlzLmlkKSE9PW51bGwmJnMhPT12b2lkIDA/czp0aGlzLnJlcXVlc3RBc3luY0lkKG8sdGhpcy5pZCxyKSx0aGlzfSxlLnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZD1mdW5jdGlvbihhLHIscyl7cmV0dXJuIHM9PT12b2lkIDAmJihzPTApLE5wLnNldEludGVydmFsKGEuZmx1c2guYmluZChhLHRoaXMpLHMpfSxlLnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZD1mdW5jdGlvbihhLHIscyl7aWYocz09PXZvaWQgMCYmKHM9MCkscyE9bnVsbCYmdGhpcy5kZWxheT09PXMmJnRoaXMucGVuZGluZz09PSExKXJldHVybiByO3IhPW51bGwmJk5wLmNsZWFySW50ZXJ2YWwocil9LGUucHJvdG90eXBlLmV4ZWN1dGU9ZnVuY3Rpb24oYSxyKXtpZih0aGlzLmNsb3NlZClyZXR1cm4gbmV3IEVycm9yKCJleGVjdXRpbmcgYSBjYW5jZWxsZWQgYWN0aW9uIik7dGhpcy5wZW5kaW5nPSExO3ZhciBzPXRoaXMuX2V4ZWN1dGUoYSxyKTtpZihzKXJldHVybiBzO3RoaXMucGVuZGluZz09PSExJiZ0aGlzLmlkIT1udWxsJiYodGhpcy5pZD10aGlzLnJlY3ljbGVBc3luY0lkKHRoaXMuc2NoZWR1bGVyLHRoaXMuaWQsbnVsbCkpfSxlLnByb3RvdHlwZS5fZXhlY3V0ZT1mdW5jdGlvbihhLHIpe3ZhciBzPSExLG47dHJ5e3RoaXMud29yayhhKX1jYXRjaChvKXtzPSEwLG49b3x8bmV3IEVycm9yKCJTY2hlZHVsZWQgYWN0aW9uIHRocmV3IGZhbHN5IGVycm9yIil9aWYocylyZXR1cm4gdGhpcy51bnN1YnNjcmliZSgpLG59LGUucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7aWYoIXRoaXMuY2xvc2VkKXt2YXIgYT10aGlzLHI9YS5pZCxzPWEuc2NoZWR1bGVyLG49cy5hY3Rpb25zO3RoaXMud29yaz10aGlzLnN0YXRlPXRoaXMuc2NoZWR1bGVyPW51bGwsdGhpcy5wZW5kaW5nPSExLG9zKG4sdGhpcyksciE9bnVsbCYmKHRoaXMuaWQ9dGhpcy5yZWN5Y2xlQXN5bmNJZChzLHIsbnVsbCkpLHRoaXMuZGVsYXk9bnVsbCx0LnByb3RvdHlwZS51bnN1YnNjcmliZS5jYWxsKHRoaXMpfX0sZX0pKG1LKX0pO2Z1bmN0aW9uIHNqZSh0KXtyZXR1cm4gdCBpbiBDSD8oZGVsZXRlIENIW3RdLCEwKTohMX12YXIgRHNhLGdLLENILGJLLF9rYSxvamU9YygoKT0+e0RzYT0xLENIPXt9O2koc2plLCJmaW5kQW5kQ2xlYXJIYW5kbGUiKTtiSz17c2V0SW1tZWRpYXRlOmkoZnVuY3Rpb24odCl7dmFyIGU9RHNhKys7cmV0dXJuIENIW2VdPSEwLGdLfHwoZ0s9UHJvbWlzZS5yZXNvbHZlKCkpLGdLLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gc2plKGUpJiZ0KCl9KSxlfSwic2V0SW1tZWRpYXRlIiksY2xlYXJJbW1lZGlhdGU6aShmdW5jdGlvbih0KXtzamUodCl9LCJjbGVhckltbWVkaWF0ZSIpfSxfa2E9e3BlbmRpbmc6aShmdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyhDSCkubGVuZ3RofSwicGVuZGluZyIpfX0pO3ZhciBBc2EsUHNhLFJwLG5qZT1jKCgpPT57ZmEoKTtvamUoKTtBc2E9Yksuc2V0SW1tZWRpYXRlLFBzYT1iSy5jbGVhckltbWVkaWF0ZSxScD17c2V0SW1tZWRpYXRlOmkoZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dmFyIGE9UnAuZGVsZWdhdGU7cmV0dXJuKGE/LnNldEltbWVkaWF0ZXx8QXNhKS5hcHBseSh2b2lkIDAsTTEoW10sUWEodCkpKX0sInNldEltbWVkaWF0ZSIpLGNsZWFySW1tZWRpYXRlOmkoZnVuY3Rpb24odCl7dmFyIGU9UnAuZGVsZWdhdGU7cmV0dXJuKGU/LmNsZWFySW1tZWRpYXRlfHxQc2EpKHQpfSwiY2xlYXJJbW1lZGlhdGUiKSxkZWxlZ2F0ZTp2b2lkIDB9fSk7dmFyIHZLLGxqZT1jKCgpPT57ZmEoKTtYNigpO25qZSgpO3ZLPShmdW5jdGlvbih0KXtCdChlLHQpO2Z1bmN0aW9uIGUoYSxyKXt2YXIgcz10LmNhbGwodGhpcyxhLHIpfHx0aGlzO3JldHVybiBzLnNjaGVkdWxlcj1hLHMud29yaz1yLHN9cmV0dXJuIGkoZSwiQXNhcEFjdGlvbiIpLGUucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKGEscixzKXtyZXR1cm4gcz09PXZvaWQgMCYmKHM9MCkscyE9PW51bGwmJnM+MD90LnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZC5jYWxsKHRoaXMsYSxyLHMpOihhLmFjdGlvbnMucHVzaCh0aGlzKSxhLl9zY2hlZHVsZWR8fChhLl9zY2hlZHVsZWQ9UnAuc2V0SW1tZWRpYXRlKGEuZmx1c2guYmluZChhLHZvaWQgMCkpKSl9LGUucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkPWZ1bmN0aW9uKGEscixzKXt2YXIgbjtpZihzPT09dm9pZCAwJiYocz0wKSxzIT1udWxsP3M+MDp0aGlzLmRlbGF5PjApcmV0dXJuIHQucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkLmNhbGwodGhpcyxhLHIscyk7dmFyIG89YS5hY3Rpb25zO3IhPW51bGwmJigobj1vW28ubGVuZ3RoLTFdKT09PW51bGx8fG49PT12b2lkIDA/dm9pZCAwOm4uaWQpIT09ciYmKFJwLmNsZWFySW1tZWRpYXRlKHIpLGEuX3NjaGVkdWxlZD09PXImJihhLl9zY2hlZHVsZWQ9dm9pZCAwKSl9LGV9KShucyl9KTt2YXIgRnAseEs9YygoKT0+e2ZLKCk7RnA9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLGEpe2E9PT12b2lkIDAmJihhPXQubm93KSx0aGlzLnNjaGVkdWxlckFjdGlvbkN0b3I9ZSx0aGlzLm5vdz1hfXJldHVybiBpKHQsIlNjaGVkdWxlciIpLHQucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKGUsYSxyKXtyZXR1cm4gYT09PXZvaWQgMCYmKGE9MCksbmV3IHRoaXMuc2NoZWR1bGVyQWN0aW9uQ3Rvcih0aGlzLGUpLnNjaGVkdWxlKHIsYSl9LHQubm93PUlwLm5vdyx0fSkoKX0pO3ZhciBscyxLNj1jKCgpPT57ZmEoKTt4SygpO2xzPShmdW5jdGlvbih0KXtCdChlLHQpO2Z1bmN0aW9uIGUoYSxyKXtyPT09dm9pZCAwJiYocj1GcC5ub3cpO3ZhciBzPXQuY2FsbCh0aGlzLGEscil8fHRoaXM7cmV0dXJuIHMuYWN0aW9ucz1bXSxzLl9hY3RpdmU9ITEsc31yZXR1cm4gaShlLCJBc3luY1NjaGVkdWxlciIpLGUucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKGEpe3ZhciByPXRoaXMuYWN0aW9ucztpZih0aGlzLl9hY3RpdmUpe3IucHVzaChhKTtyZXR1cm59dmFyIHM7dGhpcy5fYWN0aXZlPSEwO2RvIGlmKHM9YS5leGVjdXRlKGEuc3RhdGUsYS5kZWxheSkpYnJlYWs7d2hpbGUoYT1yLnNoaWZ0KCkpO2lmKHRoaXMuX2FjdGl2ZT0hMSxzKXtmb3IoO2E9ci5zaGlmdCgpOylhLnVuc3Vic2NyaWJlKCk7dGhyb3cgc319LGV9KShGcCl9KTt2YXIgeUssY2plPWMoKCk9PntmYSgpO0s2KCk7eUs9KGZ1bmN0aW9uKHQpe0J0KGUsdCk7ZnVuY3Rpb24gZSgpe3JldHVybiB0IT09bnVsbCYmdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIGkoZSwiQXNhcFNjaGVkdWxlciIpLGUucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKGEpe3RoaXMuX2FjdGl2ZT0hMDt2YXIgcj10aGlzLl9zY2hlZHVsZWQ7dGhpcy5fc2NoZWR1bGVkPXZvaWQgMDt2YXIgcz10aGlzLmFjdGlvbnMsbjthPWF8fHMuc2hpZnQoKTtkbyBpZihuPWEuZXhlY3V0ZShhLnN0YXRlLGEuZGVsYXkpKWJyZWFrO3doaWxlKChhPXNbMF0pJiZhLmlkPT09ciYmcy5zaGlmdCgpKTtpZih0aGlzLl9hY3RpdmU9ITEsbil7Zm9yKDsoYT1zWzBdKSYmYS5pZD09PXImJnMuc2hpZnQoKTspYS51bnN1YnNjcmliZSgpO3Rocm93IG59fSxlfSkobHMpfSk7dmFyIGRqZSxFc2EscGplPWMoKCk9PntsamUoKTtjamUoKTtkamU9bmV3IHlLKHZLKSxFc2E9ZGplfSk7dmFyIFBpLHdLLGRuPWMoKCk9PntYNigpO0s2KCk7UGk9bmV3IGxzKG5zKSx3Sz1QaX0pO3ZhciBNSyx1amU9YygoKT0+e2ZhKCk7WDYoKTtNSz0oZnVuY3Rpb24odCl7QnQoZSx0KTtmdW5jdGlvbiBlKGEscil7dmFyIHM9dC5jYWxsKHRoaXMsYSxyKXx8dGhpcztyZXR1cm4gcy5zY2hlZHVsZXI9YSxzLndvcms9cixzfXJldHVybiBpKGUsIlF1ZXVlQWN0aW9uIiksZS5wcm90b3R5cGUuc2NoZWR1bGU9ZnVuY3Rpb24oYSxyKXtyZXR1cm4gcj09PXZvaWQgMCYmKHI9MCkscj4wP3QucHJvdG90eXBlLnNjaGVkdWxlLmNhbGwodGhpcyxhLHIpOih0aGlzLmRlbGF5PXIsdGhpcy5zdGF0ZT1hLHRoaXMuc2NoZWR1bGVyLmZsdXNoKHRoaXMpLHRoaXMpfSxlLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKGEscil7cmV0dXJuIHI+MHx8dGhpcy5jbG9zZWQ/dC5wcm90b3R5cGUuZXhlY3V0ZS5jYWxsKHRoaXMsYSxyKTp0aGlzLl9leGVjdXRlKGEscil9LGUucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKGEscixzKXtyZXR1cm4gcz09PXZvaWQgMCYmKHM9MCkscyE9bnVsbCYmcz4wfHxzPT1udWxsJiZ0aGlzLmRlbGF5PjA/dC5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQuY2FsbCh0aGlzLGEscixzKTooYS5mbHVzaCh0aGlzKSwwKX0sZX0pKG5zKX0pO3ZhciBrSyxmamU9YygoKT0+e2ZhKCk7SzYoKTtrSz0oZnVuY3Rpb24odCl7QnQoZSx0KTtmdW5jdGlvbiBlKCl7cmV0dXJuIHQhPT1udWxsJiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gaShlLCJRdWV1ZVNjaGVkdWxlciIpLGV9KShscyl9KTt2YXIgaGplLElzYSxtamU9YygoKT0+e3VqZSgpO2ZqZSgpO2hqZT1uZXcga0soTUspLElzYT1oamV9KTt2YXIgekssZ2plPWMoKCk9PntmYSgpO1g2KCk7Y0soKTt6Sz0oZnVuY3Rpb24odCl7QnQoZSx0KTtmdW5jdGlvbiBlKGEscil7dmFyIHM9dC5jYWxsKHRoaXMsYSxyKXx8dGhpcztyZXR1cm4gcy5zY2hlZHVsZXI9YSxzLndvcms9cixzfXJldHVybiBpKGUsIkFuaW1hdGlvbkZyYW1lQWN0aW9uIiksZS5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQ9ZnVuY3Rpb24oYSxyLHMpe3JldHVybiBzPT09dm9pZCAwJiYocz0wKSxzIT09bnVsbCYmcz4wP3QucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkLmNhbGwodGhpcyxhLHIscyk6KGEuYWN0aW9ucy5wdXNoKHRoaXMpLGEuX3NjaGVkdWxlZHx8KGEuX3NjaGVkdWxlZD1WMi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKXtyZXR1cm4gYS5mbHVzaCh2b2lkIDApfSkpKX0sZS5wcm90b3R5cGUucmVjeWNsZUFzeW5jSWQ9ZnVuY3Rpb24oYSxyLHMpe3ZhciBuO2lmKHM9PT12b2lkIDAmJihzPTApLHMhPW51bGw/cz4wOnRoaXMuZGVsYXk+MClyZXR1cm4gdC5wcm90b3R5cGUucmVjeWNsZUFzeW5jSWQuY2FsbCh0aGlzLGEscixzKTt2YXIgbz1hLmFjdGlvbnM7ciE9bnVsbCYmcj09PWEuX3NjaGVkdWxlZCYmKChuPW9bby5sZW5ndGgtMV0pPT09bnVsbHx8bj09PXZvaWQgMD92b2lkIDA6bi5pZCkhPT1yJiYoVjIuY2FuY2VsQW5pbWF0aW9uRnJhbWUociksYS5fc2NoZWR1bGVkPXZvaWQgMCl9LGV9KShucyl9KTt2YXIgU0ssYmplPWMoKCk9PntmYSgpO0s2KCk7U0s9KGZ1bmN0aW9uKHQpe0J0KGUsdCk7ZnVuY3Rpb24gZSgpe3JldHVybiB0IT09bnVsbCYmdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIGkoZSwiQW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIiKSxlLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbihhKXt0aGlzLl9hY3RpdmU9ITA7dmFyIHI7YT9yPWEuaWQ6KHI9dGhpcy5fc2NoZWR1bGVkLHRoaXMuX3NjaGVkdWxlZD12b2lkIDApO3ZhciBzPXRoaXMuYWN0aW9ucyxuO2E9YXx8cy5zaGlmdCgpO2RvIGlmKG49YS5leGVjdXRlKGEuc3RhdGUsYS5kZWxheSkpYnJlYWs7d2hpbGUoKGE9c1swXSkmJmEuaWQ9PT1yJiZzLnNoaWZ0KCkpO2lmKHRoaXMuX2FjdGl2ZT0hMSxuKXtmb3IoOyhhPXNbMF0pJiZhLmlkPT09ciYmcy5zaGlmdCgpOylhLnVuc3Vic2NyaWJlKCk7dGhyb3cgbn19LGV9KShscyl9KTt2YXIgdmplLE5zYSx4amU9YygoKT0+e2dqZSgpO2JqZSgpO3ZqZT1uZXcgU0soekspLE5zYT12amV9KTt2YXIgeWplLENLLHdqZT1jKCgpPT57ZmEoKTtYNigpO1pzKCk7SzYoKTt5amU9KGZ1bmN0aW9uKHQpe0J0KGUsdCk7ZnVuY3Rpb24gZShhLHIpe2E9PT12b2lkIDAmJihhPUNLKSxyPT09dm9pZCAwJiYocj0xLzApO3ZhciBzPXQuY2FsbCh0aGlzLGEsZnVuY3Rpb24oKXtyZXR1cm4gcy5mcmFtZX0pfHx0aGlzO3JldHVybiBzLm1heEZyYW1lcz1yLHMuZnJhbWU9MCxzLmluZGV4PS0xLHN9cmV0dXJuIGkoZSwiVmlydHVhbFRpbWVTY2hlZHVsZXIiKSxlLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLHI9YS5hY3Rpb25zLHM9YS5tYXhGcmFtZXMsbixvOyhvPXJbMF0pJiZvLmRlbGF5PD1zJiYoci5zaGlmdCgpLHRoaXMuZnJhbWU9by5kZWxheSwhKG49by5leGVjdXRlKG8uc3RhdGUsby5kZWxheSkpKTspO2lmKG4pe2Zvcig7bz1yLnNoaWZ0KCk7KW8udW5zdWJzY3JpYmUoKTt0aHJvdyBufX0sZS5mcmFtZVRpbWVGYWN0b3I9MTAsZX0pKGxzKSxDSz0oZnVuY3Rpb24odCl7QnQoZSx0KTtmdW5jdGlvbiBlKGEscixzKXtzPT09dm9pZCAwJiYocz1hLmluZGV4Kz0xKTt2YXIgbj10LmNhbGwodGhpcyxhLHIpfHx0aGlzO3JldHVybiBuLnNjaGVkdWxlcj1hLG4ud29yaz1yLG4uaW5kZXg9cyxuLmFjdGl2ZT0hMCxuLmluZGV4PWEuaW5kZXg9cyxufXJldHVybiBpKGUsIlZpcnR1YWxBY3Rpb24iKSxlLnByb3RvdHlwZS5zY2hlZHVsZT1mdW5jdGlvbihhLHIpe2lmKHI9PT12b2lkIDAmJihyPTApLE51bWJlci5pc0Zpbml0ZShyKSl7aWYoIXRoaXMuaWQpcmV0dXJuIHQucHJvdG90eXBlLnNjaGVkdWxlLmNhbGwodGhpcyxhLHIpO3RoaXMuYWN0aXZlPSExO3ZhciBzPW5ldyBlKHRoaXMuc2NoZWR1bGVyLHRoaXMud29yayk7cmV0dXJuIHRoaXMuYWRkKHMpLHMuc2NoZWR1bGUoYSxyKX1lbHNlIHJldHVybiBuMS5FTVBUWX0sZS5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQ9ZnVuY3Rpb24oYSxyLHMpe3M9PT12b2lkIDAmJihzPTApLHRoaXMuZGVsYXk9YS5mcmFtZStzO3ZhciBuPWEuYWN0aW9ucztyZXR1cm4gbi5wdXNoKHRoaXMpLG4uc29ydChlLnNvcnRBY3Rpb25zKSwxfSxlLnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZD1mdW5jdGlvbihhLHIscyl7cz09PXZvaWQgMCYmKHM9MCl9LGUucHJvdG90eXBlLl9leGVjdXRlPWZ1bmN0aW9uKGEscil7aWYodGhpcy5hY3RpdmU9PT0hMClyZXR1cm4gdC5wcm90b3R5cGUuX2V4ZWN1dGUuY2FsbCh0aGlzLGEscil9LGUuc29ydEFjdGlvbnM9ZnVuY3Rpb24oYSxyKXtyZXR1cm4gYS5kZWxheT09PXIuZGVsYXk/YS5pbmRleD09PXIuaW5kZXg/MDphLmluZGV4PnIuaW5kZXg/MTotMTphLmRlbGF5PnIuZGVsYXk/MTotMX0sZX0pKG5zKX0pO2Z1bmN0aW9uIFJzYSh0KXtyZXR1cm4gdD9Gc2EodCk6X0h9ZnVuY3Rpb24gRnNhKHQpe3JldHVybiBuZXcgX3QoZnVuY3Rpb24oZSl7cmV0dXJuIHQuc2NoZWR1bGUoZnVuY3Rpb24oKXtyZXR1cm4gZS5jb21wbGV0ZSgpfSl9KX12YXIgX0gsVEg9YygoKT0+e0FyKCk7X0g9bmV3IF90KGZ1bmN0aW9uKHQpe3JldHVybiB0LmNvbXBsZXRlKCl9KTtpKFJzYSwiZW1wdHkiKTtpKEZzYSwiZW1wdHlTY2hlZHVsZWQiKX0pO2Z1bmN0aW9uIExIKHQpe3JldHVybiB0JiZNdCh0LnNjaGVkdWxlKX12YXIgX0s9YygoKT0+e0IxKCk7aShMSCwiaXNTY2hlZHVsZXIiKX0pO2Z1bmN0aW9uIFRLKHQpe3JldHVybiB0W3QubGVuZ3RoLTFdfWZ1bmN0aW9uIE1qZSh0KXtyZXR1cm4gTXQoVEsodCkpP3QucG9wKCk6dm9pZCAwfWZ1bmN0aW9uIFhzKHQpe3JldHVybiBMSChUSyh0KSk/dC5wb3AoKTp2b2lkIDB9ZnVuY3Rpb24gT3phKHQsZSl7cmV0dXJuIHR5cGVvZiBUSyh0KT09Im51bWJlciI/dC5wb3AoKTplfXZhciBRNj1jKCgpPT57QjEoKTtfSygpO2koVEssImxhc3QiKTtpKE1qZSwicG9wUmVzdWx0U2VsZWN0b3IiKTtpKFhzLCJwb3BTY2hlZHVsZXIiKTtpKE96YSwicG9wTnVtYmVyIil9KTt2YXIgSjYsJEg9YygoKT0+e0o2PWkoKGZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0eXBlb2YgdC5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2YgdCE9ImZ1bmN0aW9uIn0pLCJpc0FycmF5TGlrZSIpfSk7ZnVuY3Rpb24gREgodCl7cmV0dXJuIE10KHQ/LnRoZW4pfXZhciBMSz1jKCgpPT57QjEoKTtpKERILCJpc1Byb21pc2UiKX0pO2Z1bmN0aW9uIEFIKHQpe3JldHVybiBNdCh0W0VsXSl9dmFyICRLPWMoKCk9PntQcCgpO0IxKCk7aShBSCwiaXNJbnRlcm9wT2JzZXJ2YWJsZSIpfSk7ZnVuY3Rpb24gUEgodCl7cmV0dXJuIFN5bWJvbC5hc3luY0l0ZXJhdG9yJiZNdCh0Py5bU3ltYm9sLmFzeW5jSXRlcmF0b3JdKX12YXIgREs9YygoKT0+e0IxKCk7aShQSCwiaXNBc3luY0l0ZXJhYmxlIil9KTtmdW5jdGlvbiBFSCh0KXtyZXR1cm4gbmV3IFR5cGVFcnJvcigiWW91IHByb3ZpZGVkICIrKHQhPT1udWxsJiZ0eXBlb2YgdD09Im9iamVjdCI/ImFuIGludmFsaWQgb2JqZWN0IjoiJyIrdCsiJyIpKyIgd2hlcmUgYSBzdHJlYW0gd2FzIGV4cGVjdGVkLiBZb3UgY2FuIHByb3ZpZGUgYW4gT2JzZXJ2YWJsZSwgUHJvbWlzZSwgUmVhZGFibGVTdHJlYW0sIEFycmF5LCBBc3luY0l0ZXJhYmxlLCBvciBJdGVyYWJsZS4iKX12YXIgQUs9YygoKT0+e2koRUgsImNyZWF0ZUludmFsaWRPYnNlcnZhYmxlVHlwZUVycm9yIil9KTtmdW5jdGlvbiBPc2EoKXtyZXR1cm4gdHlwZW9mIFN5bWJvbCE9ImZ1bmN0aW9uInx8IVN5bWJvbC5pdGVyYXRvcj8iQEBpdGVyYXRvciI6U3ltYm9sLml0ZXJhdG9yfXZhciBJSCxQSz1jKCgpPT57aShPc2EsImdldFN5bWJvbEl0ZXJhdG9yIik7SUg9T3NhKCl9KTtmdW5jdGlvbiBOSCh0KXtyZXR1cm4gTXQodD8uW0lIXSl9dmFyIEVLPWMoKCk9PntQSygpO0IxKCk7aShOSCwiaXNJdGVyYWJsZSIpfSk7ZnVuY3Rpb24gUkgodCl7cmV0dXJuIFhYKHRoaXMsYXJndW1lbnRzLGkoZnVuY3Rpb24oKXt2YXIgYSxyLHMsbjtyZXR1cm4gJHAodGhpcyxmdW5jdGlvbihvKXtzd2l0Y2goby5sYWJlbCl7Y2FzZSAwOmE9dC5nZXRSZWFkZXIoKSxvLmxhYmVsPTE7Y2FzZSAxOm8udHJ5cy5wdXNoKFsxLCw5LDEwXSksby5sYWJlbD0yO2Nhc2UgMjpyZXR1cm5bNCxxMihhLnJlYWQoKSldO2Nhc2UgMzpyZXR1cm4gcj1vLnNlbnQoKSxzPXIudmFsdWUsbj1yLmRvbmUsbj9bNCxxMih2b2lkIDApXTpbMyw1XTtjYXNlIDQ6cmV0dXJuWzIsby5zZW50KCldO2Nhc2UgNTpyZXR1cm5bNCxxMihzKV07Y2FzZSA2OnJldHVybls0LG8uc2VudCgpXTtjYXNlIDc6cmV0dXJuIG8uc2VudCgpLFszLDJdO2Nhc2UgODpyZXR1cm5bMywxMF07Y2FzZSA5OnJldHVybiBhLnJlbGVhc2VMb2NrKCksWzddO2Nhc2UgMTA6cmV0dXJuWzJdfX0pfSwicmVhZGFibGVTdHJlYW1MaWtlVG9Bc3luY0dlbmVyYXRvcl8xIikpfWZ1bmN0aW9uIEZIKHQpe3JldHVybiBNdCh0Py5nZXRSZWFkZXIpfXZhciBPSD1jKCgpPT57ZmEoKTtCMSgpO2koUkgsInJlYWRhYmxlU3RyZWFtTGlrZVRvQXN5bmNHZW5lcmF0b3IiKTtpKEZILCJpc1JlYWRhYmxlU3RyZWFtTGlrZSIpfSk7ZnVuY3Rpb24gUGEodCl7aWYodCBpbnN0YW5jZW9mIF90KXJldHVybiB0O2lmKHQhPW51bGwpe2lmKEFIKHQpKXJldHVybiBCc2EodCk7aWYoSjYodCkpcmV0dXJuIEhzYSh0KTtpZihESCh0KSlyZXR1cm4gcXNhKHQpO2lmKFBIKHQpKXJldHVybiBramUodCk7aWYoTkgodCkpcmV0dXJuIFZzYSh0KTtpZihGSCh0KSlyZXR1cm4ganNhKHQpfXRocm93IEVIKHQpfWZ1bmN0aW9uIEJzYSh0KXtyZXR1cm4gbmV3IF90KGZ1bmN0aW9uKGUpe3ZhciBhPXRbRWxdKCk7aWYoTXQoYS5zdWJzY3JpYmUpKXJldHVybiBhLnN1YnNjcmliZShlKTt0aHJvdyBuZXcgVHlwZUVycm9yKCJQcm92aWRlZCBvYmplY3QgZG9lcyBub3QgY29ycmVjdGx5IGltcGxlbWVudCBTeW1ib2wub2JzZXJ2YWJsZSIpfSl9ZnVuY3Rpb24gSHNhKHQpe3JldHVybiBuZXcgX3QoZnVuY3Rpb24oZSl7Zm9yKHZhciBhPTA7YTx0Lmxlbmd0aCYmIWUuY2xvc2VkO2ErKyllLm5leHQodFthXSk7ZS5jb21wbGV0ZSgpfSl9ZnVuY3Rpb24gcXNhKHQpe3JldHVybiBuZXcgX3QoZnVuY3Rpb24oZSl7dC50aGVuKGZ1bmN0aW9uKGEpe2UuY2xvc2VkfHwoZS5uZXh0KGEpLGUuY29tcGxldGUoKSl9LGZ1bmN0aW9uKGEpe3JldHVybiBlLmVycm9yKGEpfSkudGhlbihudWxsLHdIKX0pfWZ1bmN0aW9uIFZzYSh0KXtyZXR1cm4gbmV3IF90KGZ1bmN0aW9uKGUpe3ZhciBhLHI7dHJ5e2Zvcih2YXIgcz1wcih0KSxuPXMubmV4dCgpOyFuLmRvbmU7bj1zLm5leHQoKSl7dmFyIG89bi52YWx1ZTtpZihlLm5leHQobyksZS5jbG9zZWQpcmV0dXJufX1jYXRjaChsKXthPXtlcnJvcjpsfX1maW5hbGx5e3RyeXtuJiYhbi5kb25lJiYocj1zLnJldHVybikmJnIuY2FsbChzKX1maW5hbGx5e2lmKGEpdGhyb3cgYS5lcnJvcn19ZS5jb21wbGV0ZSgpfSl9ZnVuY3Rpb24ga2plKHQpe3JldHVybiBuZXcgX3QoZnVuY3Rpb24oZSl7VXNhKHQsZSkuY2F0Y2goZnVuY3Rpb24oYSl7cmV0dXJuIGUuZXJyb3IoYSl9KX0pfWZ1bmN0aW9uIGpzYSh0KXtyZXR1cm4ga2plKFJIKHQpKX1mdW5jdGlvbiBVc2EodCxlKXt2YXIgYSxyLHMsbjtyZXR1cm4gWlgodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG8sbDtyZXR1cm4gJHAodGhpcyxmdW5jdGlvbihoKXtzd2l0Y2goaC5sYWJlbCl7Y2FzZSAwOmgudHJ5cy5wdXNoKFswLDUsNiwxMV0pLGE9S1godCksaC5sYWJlbD0xO2Nhc2UgMTpyZXR1cm5bNCxhLm5leHQoKV07Y2FzZSAyOmlmKHI9aC5zZW50KCksISFyLmRvbmUpcmV0dXJuWzMsNF07aWYobz1yLnZhbHVlLGUubmV4dChvKSxlLmNsb3NlZClyZXR1cm5bMl07aC5sYWJlbD0zO2Nhc2UgMzpyZXR1cm5bMywxXTtjYXNlIDQ6cmV0dXJuWzMsMTFdO2Nhc2UgNTpyZXR1cm4gbD1oLnNlbnQoKSxzPXtlcnJvcjpsfSxbMywxMV07Y2FzZSA2OnJldHVybiBoLnRyeXMucHVzaChbNiwsOSwxMF0pLHImJiFyLmRvbmUmJihuPWEucmV0dXJuKT9bNCxuLmNhbGwoYSldOlszLDhdO2Nhc2UgNzpoLnNlbnQoKSxoLmxhYmVsPTg7Y2FzZSA4OnJldHVyblszLDEwXTtjYXNlIDk6aWYocyl0aHJvdyBzLmVycm9yO3JldHVybls3XTtjYXNlIDEwOnJldHVybls3XTtjYXNlIDExOnJldHVybiBlLmNvbXBsZXRlKCksWzJdfX0pfSl9dmFyIGNpPWMoKCk9PntmYSgpOyRIKCk7TEsoKTtBcigpOyRLKCk7REsoKTtBSygpO0VLKCk7T0goKTtCMSgpO3RLKCk7UHAoKTtpKFBhLCJpbm5lckZyb20iKTtpKEJzYSwiZnJvbUludGVyb3BPYnNlcnZhYmxlIik7aShIc2EsImZyb21BcnJheUxpa2UiKTtpKHFzYSwiZnJvbVByb21pc2UiKTtpKFZzYSwiZnJvbUl0ZXJhYmxlIik7aShramUsImZyb21Bc3luY0l0ZXJhYmxlIik7aShqc2EsImZyb21SZWFkYWJsZVN0cmVhbUxpa2UiKTtpKFVzYSwicHJvY2VzcyIpfSk7ZnVuY3Rpb24gejEodCxlLGEscixzKXtyPT09dm9pZCAwJiYocj0wKSxzPT09dm9pZCAwJiYocz0hMSk7dmFyIG49ZS5zY2hlZHVsZShmdW5jdGlvbigpe2EoKSxzP3QuYWRkKHRoaXMuc2NoZWR1bGUobnVsbCxyKSk6dGhpcy51bnN1YnNjcmliZSgpfSxyKTtpZih0LmFkZChuKSwhcylyZXR1cm4gbn12YXIgcG49YygoKT0+e2koejEsImV4ZWN1dGVTY2hlZHVsZSIpfSk7ZnVuY3Rpb24gZTUodCxlKXtyZXR1cm4gZT09PXZvaWQgMCYmKGU9MCksZWEoZnVuY3Rpb24oYSxyKXthLnN1YnNjcmliZShHdChyLGZ1bmN0aW9uKHMpe3JldHVybiB6MShyLHQsZnVuY3Rpb24oKXtyZXR1cm4gci5uZXh0KHMpfSxlKX0sZnVuY3Rpb24oKXtyZXR1cm4gejEocix0LGZ1bmN0aW9uKCl7cmV0dXJuIHIuY29tcGxldGUoKX0sZSl9LGZ1bmN0aW9uKHMpe3JldHVybiB6MShyLHQsZnVuY3Rpb24oKXtyZXR1cm4gci5lcnJvcihzKX0sZSl9KSl9KX12YXIgT3A9YygoKT0+e3BuKCk7azEoKTtLMSgpO2koZTUsIm9ic2VydmVPbiIpfSk7ZnVuY3Rpb24gdDUodCxlKXtyZXR1cm4gZT09PXZvaWQgMCYmKGU9MCksZWEoZnVuY3Rpb24oYSxyKXtyLmFkZCh0LnNjaGVkdWxlKGZ1bmN0aW9uKCl7cmV0dXJuIGEuc3Vic2NyaWJlKHIpfSxlKSl9KX12YXIgQnA9YygoKT0+e2sxKCk7aSh0NSwic3Vic2NyaWJlT24iKX0pO2Z1bmN0aW9uIHpqZSh0LGUpe3JldHVybiBQYSh0KS5waXBlKHQ1KGUpLGU1KGUpKX12YXIgU2plPWMoKCk9PntjaSgpO09wKCk7QnAoKTtpKHpqZSwic2NoZWR1bGVPYnNlcnZhYmxlIil9KTtmdW5jdGlvbiBDamUodCxlKXtyZXR1cm4gUGEodCkucGlwZSh0NShlKSxlNShlKSl9dmFyIF9qZT1jKCgpPT57Y2koKTtPcCgpO0JwKCk7aShDamUsInNjaGVkdWxlUHJvbWlzZSIpfSk7ZnVuY3Rpb24gVGplKHQsZSl7cmV0dXJuIG5ldyBfdChmdW5jdGlvbihhKXt2YXIgcj0wO3JldHVybiBlLnNjaGVkdWxlKGZ1bmN0aW9uKCl7cj09PXQubGVuZ3RoP2EuY29tcGxldGUoKTooYS5uZXh0KHRbcisrXSksYS5jbG9zZWR8fHRoaXMuc2NoZWR1bGUoKSl9KX0pfXZhciBMamU9YygoKT0+e0FyKCk7aShUamUsInNjaGVkdWxlQXJyYXkiKX0pO2Z1bmN0aW9uICRqZSh0LGUpe3JldHVybiBuZXcgX3QoZnVuY3Rpb24oYSl7dmFyIHI7cmV0dXJuIHoxKGEsZSxmdW5jdGlvbigpe3I9dFtJSF0oKSx6MShhLGUsZnVuY3Rpb24oKXt2YXIgcyxuLG87dHJ5e3M9ci5uZXh0KCksbj1zLnZhbHVlLG89cy5kb25lfWNhdGNoKGwpe2EuZXJyb3IobCk7cmV0dXJufW8/YS5jb21wbGV0ZSgpOmEubmV4dChuKX0sMCwhMCl9KSxmdW5jdGlvbigpe3JldHVybiBNdChyPy5yZXR1cm4pJiZyLnJldHVybigpfX0pfXZhciBEamU9YygoKT0+e0FyKCk7UEsoKTtCMSgpO3BuKCk7aSgkamUsInNjaGVkdWxlSXRlcmFibGUiKX0pO2Z1bmN0aW9uIEJIKHQsZSl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCJJdGVyYWJsZSBjYW5ub3QgYmUgbnVsbCIpO3JldHVybiBuZXcgX3QoZnVuY3Rpb24oYSl7ejEoYSxlLGZ1bmN0aW9uKCl7dmFyIHI9dFtTeW1ib2wuYXN5bmNJdGVyYXRvcl0oKTt6MShhLGUsZnVuY3Rpb24oKXtyLm5leHQoKS50aGVuKGZ1bmN0aW9uKHMpe3MuZG9uZT9hLmNvbXBsZXRlKCk6YS5uZXh0KHMudmFsdWUpfSl9LDAsITApfSl9KX12YXIgSUs9YygoKT0+e0FyKCk7cG4oKTtpKEJILCJzY2hlZHVsZUFzeW5jSXRlcmFibGUiKX0pO2Z1bmN0aW9uIEFqZSh0LGUpe3JldHVybiBCSChSSCh0KSxlKX12YXIgUGplPWMoKCk9PntJSygpO09IKCk7aShBamUsInNjaGVkdWxlUmVhZGFibGVTdHJlYW1MaWtlIil9KTtmdW5jdGlvbiBOSyh0LGUpe2lmKHQhPW51bGwpe2lmKEFIKHQpKXJldHVybiB6amUodCxlKTtpZihKNih0KSlyZXR1cm4gVGplKHQsZSk7aWYoREgodCkpcmV0dXJuIENqZSh0LGUpO2lmKFBIKHQpKXJldHVybiBCSCh0LGUpO2lmKE5IKHQpKXJldHVybiAkamUodCxlKTtpZihGSCh0KSlyZXR1cm4gQWplKHQsZSl9dGhyb3cgRUgodCl9dmFyIFJLPWMoKCk9PntTamUoKTtfamUoKTtMamUoKTtEamUoKTtJSygpOyRLKCk7TEsoKTskSCgpO0VLKCk7REsoKTtBSygpO09IKCk7UGplKCk7aShOSywic2NoZWR1bGVkIil9KTtmdW5jdGlvbiBLcyh0LGUpe3JldHVybiBlP05LKHQsZSk6UGEodCl9dmFyIEhwPWMoKCk9PntSSygpO2NpKCk7aShLcywiZnJvbSIpfSk7ZnVuY3Rpb24gcXAoKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dmFyIGE9WHModCk7cmV0dXJuIEtzKHQsYSl9dmFyIEZLPWMoKCk9PntRNigpO0hwKCk7aShxcCwib2YiKX0pO2Z1bmN0aW9uIE9LKHQsZSl7dmFyIGE9TXQodCk/dDpmdW5jdGlvbigpe3JldHVybiB0fSxyPWkoZnVuY3Rpb24ocyl7cmV0dXJuIHMuZXJyb3IoYSgpKX0sImluaXQiKTtyZXR1cm4gbmV3IF90KGU/ZnVuY3Rpb24ocyl7cmV0dXJuIGUuc2NoZWR1bGUociwwLHMpfTpyKX12YXIgQks9YygoKT0+e0FyKCk7QjEoKTtpKE9LLCJ0aHJvd0Vycm9yIil9KTtmdW5jdGlvbiBXc2EodCxlKXt2YXIgYSxyLHMsbj10LG89bi5raW5kLGw9bi52YWx1ZSxoPW4uZXJyb3I7aWYodHlwZW9mIG8hPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoJ0ludmFsaWQgbm90aWZpY2F0aW9uLCBtaXNzaW5nICJraW5kIicpO289PT0iTiI/KGE9ZS5uZXh0KT09PW51bGx8fGE9PT12b2lkIDB8fGEuY2FsbChlLGwpOm89PT0iRSI/KHI9ZS5lcnJvcik9PT1udWxsfHxyPT09dm9pZCAwfHxyLmNhbGwoZSxoKToocz1lLmNvbXBsZXRlKT09PW51bGx8fHM9PT12b2lkIDB8fHMuY2FsbChlKX12YXIgSEssRWplLElqZT1jKCgpPT57VEgoKTtGSygpO0JLKCk7QjEoKTsoZnVuY3Rpb24odCl7dC5ORVhUPSJOIix0LkVSUk9SPSJFIix0LkNPTVBMRVRFPSJDIn0pKEhLfHwoSEs9e30pKTtFamU9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLGEscil7dGhpcy5raW5kPWUsdGhpcy52YWx1ZT1hLHRoaXMuZXJyb3I9cix0aGlzLmhhc1ZhbHVlPWU9PT0iTiJ9cmV0dXJuIGkodCwiTm90aWZpY2F0aW9uIiksdC5wcm90b3R5cGUub2JzZXJ2ZT1mdW5jdGlvbihlKXtyZXR1cm4gV3NhKHRoaXMsZSl9LHQucHJvdG90eXBlLmRvPWZ1bmN0aW9uKGUsYSxyKXt2YXIgcz10aGlzLG49cy5raW5kLG89cy52YWx1ZSxsPXMuZXJyb3I7cmV0dXJuIG49PT0iTiI/ZT8uKG8pOm49PT0iRSI/YT8uKGwpOnI/LigpfSx0LnByb3RvdHlwZS5hY2NlcHQ9ZnVuY3Rpb24oZSxhLHIpe3ZhciBzO3JldHVybiBNdCgocz1lKT09PW51bGx8fHM9PT12b2lkIDA/dm9pZCAwOnMubmV4dCk/dGhpcy5vYnNlcnZlKGUpOnRoaXMuZG8oZSxhLHIpfSx0LnByb3RvdHlwZS50b09ic2VydmFibGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLGE9ZS5raW5kLHI9ZS52YWx1ZSxzPWUuZXJyb3Isbj1hPT09Ik4iP3FwKHIpOmE9PT0iRSI/T0soZnVuY3Rpb24oKXtyZXR1cm4gc30pOmE9PT0iQyI/X0g6MDtpZighbil0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmV4cGVjdGVkIG5vdGlmaWNhdGlvbiBraW5kICIrYSk7cmV0dXJuIG59LHQuY3JlYXRlTmV4dD1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IHQoIk4iLGUpfSx0LmNyZWF0ZUVycm9yPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgdCgiRSIsdm9pZCAwLGUpfSx0LmNyZWF0ZUNvbXBsZXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHQuY29tcGxldGVOb3RpZmljYXRpb259LHQuY29tcGxldGVOb3RpZmljYXRpb249bmV3IHQoIkMiKSx0fSkoKTtpKFdzYSwib2JzZXJ2ZU5vdGlmaWNhdGlvbiIpfSk7dmFyIE5qZT1jKCgpPT57fSk7dmFyIEdzYSxSamU9YygoKT0+e25uKCk7R3NhPUpyKGZ1bmN0aW9uKHQpe3JldHVybiBpKGZ1bmN0aW9uKCl7dCh0aGlzKSx0aGlzLm5hbWU9IkVtcHR5RXJyb3IiLHRoaXMubWVzc2FnZT0ibm8gZWxlbWVudHMgaW4gc2VxdWVuY2UifSwiRW1wdHlFcnJvckltcGwiKX0pfSk7dmFyIEZqZT1jKCgpPT57fSk7dmFyIE9qZT1jKCgpPT57fSk7dmFyIFlzYSxCamU9YygoKT0+e25uKCk7WXNhPUpyKGZ1bmN0aW9uKHQpe3JldHVybiBpKGZ1bmN0aW9uKCl7dCh0aGlzKSx0aGlzLm5hbWU9IkFyZ3VtZW50T3V0T2ZSYW5nZUVycm9yIix0aGlzLm1lc3NhZ2U9ImFyZ3VtZW50IG91dCBvZiByYW5nZSJ9LCJBcmd1bWVudE91dE9mUmFuZ2VFcnJvckltcGwiKX0pfSk7dmFyIFpzYSxIamU9YygoKT0+e25uKCk7WnNhPUpyKGZ1bmN0aW9uKHQpe3JldHVybiBpKGZ1bmN0aW9uKGEpe3QodGhpcyksdGhpcy5uYW1lPSJOb3RGb3VuZEVycm9yIix0aGlzLm1lc3NhZ2U9YX0sIk5vdEZvdW5kRXJyb3JJbXBsIil9KX0pO3ZhciBYc2EscWplPWMoKCk9PntubigpO1hzYT1KcihmdW5jdGlvbih0KXtyZXR1cm4gaShmdW5jdGlvbihhKXt0KHRoaXMpLHRoaXMubmFtZT0iU2VxdWVuY2VFcnJvciIsdGhpcy5tZXNzYWdlPWF9LCJTZXF1ZW5jZUVycm9ySW1wbCIpfSl9KTtmdW5jdGlvbiBISCh0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIERhdGUmJiFpc05hTih0KX12YXIgcUs9YygoKT0+e2koSEgsImlzVmFsaWREYXRlIil9KTtmdW5jdGlvbiBqamUodCxlKXt2YXIgYT1ISCh0KT97Zmlyc3Q6dH06dHlwZW9mIHQ9PSJudW1iZXIiP3tlYWNoOnR9OnQscj1hLmZpcnN0LHM9YS5lYWNoLG49YS53aXRoLG89bj09PXZvaWQgMD9Lc2E6bixsPWEuc2NoZWR1bGVyLGg9bD09PXZvaWQgMD9lPz9QaTpsLHU9YS5tZXRhLGY9dT09PXZvaWQgMD9udWxsOnU7aWYocj09bnVsbCYmcz09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJObyB0aW1lb3V0IHByb3ZpZGVkLiIpO3JldHVybiBlYShmdW5jdGlvbihwLGcpe3ZhciB2LHgsYj1udWxsLG09MCx5PWkoZnVuY3Rpb24oTSl7eD16MShnLGgsZnVuY3Rpb24oKXt0cnl7di51bnN1YnNjcmliZSgpLFBhKG8oe21ldGE6ZixsYXN0VmFsdWU6YixzZWVuOm19KSkuc3Vic2NyaWJlKGcpfWNhdGNoKGspe2cuZXJyb3Ioayl9fSxNKX0sInN0YXJ0VGltZXIiKTt2PXAuc3Vic2NyaWJlKEd0KGcsZnVuY3Rpb24oTSl7eD8udW5zdWJzY3JpYmUoKSxtKyssZy5uZXh0KGI9TSkscz4wJiZ5KHMpfSx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7eD8uY2xvc2VkfHx4Py51bnN1YnNjcmliZSgpLGI9bnVsbH0pKSwhbSYmeShyIT1udWxsP3R5cGVvZiByPT0ibnVtYmVyIj9yOityLWgubm93KCk6cyl9KX1mdW5jdGlvbiBLc2EodCl7dGhyb3cgbmV3IFZqZSh0KX12YXIgVmplLHFIPWMoKCk9PntkbigpO3FLKCk7azEoKTtjaSgpO25uKCk7SzEoKTtwbigpO1ZqZT1KcihmdW5jdGlvbih0KXtyZXR1cm4gaShmdW5jdGlvbihhKXthPT09dm9pZCAwJiYoYT1udWxsKSx0KHRoaXMpLHRoaXMubWVzc2FnZT0iVGltZW91dCBoYXMgb2NjdXJyZWQiLHRoaXMubmFtZT0iVGltZW91dEVycm9yIix0aGlzLmluZm89YX0sIlRpbWVvdXRFcnJvckltcGwiKX0pO2koamplLCJ0aW1lb3V0Iik7aShLc2EsInRpbWVvdXRFcnJvckZhY3RvcnkiKX0pO2Z1bmN0aW9uIFFzKHQsZSl7cmV0dXJuIGVhKGZ1bmN0aW9uKGEscil7dmFyIHM9MDthLnN1YnNjcmliZShHdChyLGZ1bmN0aW9uKG4pe3IubmV4dCh0LmNhbGwoZSxuLHMrKykpfSkpfSl9dmFyIFZwPWMoKCk9PntrMSgpO0sxKCk7aShRcywibWFwIil9KTtmdW5jdGlvbiBKc2EodCxlKXtyZXR1cm4gUXNhKGUpP3QuYXBwbHkodm9pZCAwLE0xKFtdLFFhKGUpKSk6dChlKX1mdW5jdGlvbiBWSCh0KXtyZXR1cm4gUXMoZnVuY3Rpb24oZSl7cmV0dXJuIEpzYSh0LGUpfSl9dmFyIFFzYSxWSz1jKCgpPT57ZmEoKTtWcCgpO1FzYT1BcnJheS5pc0FycmF5O2koSnNhLCJjYWxsT3JBcHBseSIpO2koVkgsIm1hcE9uZU9yTWFueUFyZ3MiKX0pO3ZhciBVamU9YygoKT0+e30pO3ZhciBXamU9YygoKT0+e30pO2Z1bmN0aW9uIEdqZSh0KXtpZih0Lmxlbmd0aD09PTEpe3ZhciBlPXRbMF07aWYoZTJhKGUpKXJldHVybnthcmdzOmUsa2V5czpudWxsfTtpZihpMmEoZSkpe3ZhciBhPXIyYShlKTtyZXR1cm57YXJnczphLm1hcChmdW5jdGlvbihyKXtyZXR1cm4gZVtyXX0pLGtleXM6YX19fXJldHVybnthcmdzOnQsa2V5czpudWxsfX1mdW5jdGlvbiBpMmEodCl7cmV0dXJuIHQmJnR5cGVvZiB0PT0ib2JqZWN0IiYmdDJhKHQpPT09YTJhfXZhciBlMmEsdDJhLGEyYSxyMmEsWWplPWMoKCk9PntlMmE9QXJyYXkuaXNBcnJheSx0MmE9T2JqZWN0LmdldFByb3RvdHlwZU9mLGEyYT1PYmplY3QucHJvdG90eXBlLHIyYT1PYmplY3Qua2V5cztpKEdqZSwiYXJnc0FyZ0FycmF5T3JPYmplY3QiKTtpKGkyYSwiaXNQT0pPIil9KTtmdW5jdGlvbiBaamUodCxlKXtyZXR1cm4gdC5yZWR1Y2UoZnVuY3Rpb24oYSxyLHMpe3JldHVybiBhW3JdPWVbc10sYX0se30pfXZhciBYamU9YygoKT0+e2koWmplLCJjcmVhdGVPYmplY3QiKX0pO2Z1bmN0aW9uIGpLKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3ZhciBhPVhzKHQpLHI9TWplKHQpLHM9R2plKHQpLG49cy5hcmdzLG89cy5rZXlzO2lmKG4ubGVuZ3RoPT09MClyZXR1cm4gS3MoW10sYSk7dmFyIGw9bmV3IF90KHMyYShuLGEsbz9mdW5jdGlvbihoKXtyZXR1cm4gWmplKG8saCl9OmNuKSk7cmV0dXJuIHI/bC5waXBlKFZIKHIpKTpsfWZ1bmN0aW9uIHMyYSh0LGUsYSl7cmV0dXJuIGE9PT12b2lkIDAmJihhPWNuKSxmdW5jdGlvbihyKXtLamUoZSxmdW5jdGlvbigpe2Zvcih2YXIgcz10Lmxlbmd0aCxuPW5ldyBBcnJheShzKSxvPXMsbD1zLGg9aShmdW5jdGlvbihmKXtLamUoZSxmdW5jdGlvbigpe3ZhciBwPUtzKHRbZl0sZSksZz0hMTtwLnN1YnNjcmliZShHdChyLGZ1bmN0aW9uKHYpe25bZl09dixnfHwoZz0hMCxsLS0pLGx8fHIubmV4dChhKG4uc2xpY2UoKSkpfSxmdW5jdGlvbigpey0tb3x8ci5jb21wbGV0ZSgpfSkpfSxyKX0sIl9sb29wXzEiKSx1PTA7dTxzO3UrKyloKHUpfSxyKX19ZnVuY3Rpb24gS2plKHQsZSxhKXt0P3oxKGEsdCxlKTplKCl9dmFyIFFqZT1jKCgpPT57QXIoKTtZamUoKTtIcCgpO0VwKCk7VksoKTtRNigpO1hqZSgpO0sxKCk7cG4oKTtpKGpLLCJjb21iaW5lTGF0ZXN0Iik7aShzMmEsImNvbWJpbmVMYXRlc3RJbml0Iik7aShLamUsIm1heWJlU2NoZWR1bGUiKX0pO2Z1bmN0aW9uIEpqZSh0LGUsYSxyLHMsbixvLGwpe3ZhciBoPVtdLHU9MCxmPTAscD0hMSxnPWkoZnVuY3Rpb24oKXtwJiYhaC5sZW5ndGgmJiF1JiZlLmNvbXBsZXRlKCl9LCJjaGVja0NvbXBsZXRlIiksdj1pKGZ1bmN0aW9uKGIpe3JldHVybiB1PHI/eChiKTpoLnB1c2goYil9LCJvdXRlck5leHQiKSx4PWkoZnVuY3Rpb24oYil7biYmZS5uZXh0KGIpLHUrKzt2YXIgbT0hMTtQYShhKGIsZisrKSkuc3Vic2NyaWJlKEd0KGUsZnVuY3Rpb24oeSl7cz8uKHkpLG4/dih5KTplLm5leHQoeSl9LGZ1bmN0aW9uKCl7bT0hMH0sdm9pZCAwLGZ1bmN0aW9uKCl7aWYobSl0cnl7dS0tO2Zvcih2YXIgeT1pKGZ1bmN0aW9uKCl7dmFyIE09aC5zaGlmdCgpO28/ejEoZSxvLGZ1bmN0aW9uKCl7cmV0dXJuIHgoTSl9KTp4KE0pfSwiX2xvb3BfMSIpO2gubGVuZ3RoJiZ1PHI7KXkoKTtnKCl9Y2F0Y2goTSl7ZS5lcnJvcihNKX19KSl9LCJkb0lubmVyU3ViIik7cmV0dXJuIHQuc3Vic2NyaWJlKEd0KGUsdixmdW5jdGlvbigpe3A9ITAsZygpfSkpLGZ1bmN0aW9uKCl7bD8uKCl9fXZhciBlVWU9YygoKT0+e2NpKCk7cG4oKTtLMSgpO2koSmplLCJtZXJnZUludGVybmFscyIpfSk7ZnVuY3Rpb24gSWwodCxlLGEpe3JldHVybiBhPT09dm9pZCAwJiYoYT0xLzApLE10KGUpP0lsKGZ1bmN0aW9uKHIscyl7cmV0dXJuIFFzKGZ1bmN0aW9uKG4sbyl7cmV0dXJuIGUocixuLHMsbyl9KShQYSh0KHIscykpKX0sYSk6KHR5cGVvZiBlPT0ibnVtYmVyIiYmKGE9ZSksZWEoZnVuY3Rpb24ocixzKXtyZXR1cm4gSmplKHIscyx0LGEpfSkpfXZhciBqcD1jKCgpPT57VnAoKTtjaSgpO2sxKCk7ZVVlKCk7QjEoKTtpKElsLCJtZXJnZU1hcCIpfSk7ZnVuY3Rpb24gakgodCl7cmV0dXJuIHQ9PT12b2lkIDAmJih0PTEvMCksSWwoY24sdCl9dmFyIFVIPWMoKCk9PntqcCgpO0VwKCk7aShqSCwibWVyZ2VBbGwiKX0pO2Z1bmN0aW9uIFdIKCl7cmV0dXJuIGpIKDEpfXZhciBHSD1jKCgpPT57VUgoKTtpKFdILCJjb25jYXRBbGwiKX0pO2Z1bmN0aW9uIFlIKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3JldHVybiBXSCgpKEtzKHQsWHModCkpKX12YXIgVUs9YygoKT0+e0dIKCk7UTYoKTtIcCgpO2koWUgsImNvbmNhdCIpfSk7dmFyIHRVZT1jKCgpPT57fSk7dmFyIGFVZT1jKCgpPT57fSk7dmFyIHJVZT1jKCgpPT57fSk7ZnVuY3Rpb24gTmwodCxlLGEscil7aWYoTXQoYSkmJihyPWEsYT12b2lkIDApLHIpcmV0dXJuIE5sKHQsZSxhKS5waXBlKFZIKHIpKTt2YXIgcz1RYShwMmEodCk/bjJhLm1hcChmdW5jdGlvbihsKXtyZXR1cm4gZnVuY3Rpb24oaCl7cmV0dXJuIHRbbF0oZSxoLGEpfX0pOmMyYSh0KT9vMmEubWFwKGlVZSh0LGUpKTpkMmEodCk/bDJhLm1hcChpVWUodCxlKSk6W10sMiksbj1zWzBdLG89c1sxXTtpZighbiYmSjYodCkpcmV0dXJuIElsKGZ1bmN0aW9uKGwpe3JldHVybiBObChsLGUsYSl9KShQYSh0KSk7aWYoIW4pdGhyb3cgbmV3IFR5cGVFcnJvcigiSW52YWxpZCBldmVudCB0YXJnZXQiKTtyZXR1cm4gbmV3IF90KGZ1bmN0aW9uKGwpe3ZhciBoPWkoZnVuY3Rpb24oKXtmb3IodmFyIHU9W10sZj0wO2Y8YXJndW1lbnRzLmxlbmd0aDtmKyspdVtmXT1hcmd1bWVudHNbZl07cmV0dXJuIGwubmV4dCgxPHUubGVuZ3RoP3U6dVswXSl9LCJoYW5kbGVyIik7cmV0dXJuIG4oaCksZnVuY3Rpb24oKXtyZXR1cm4gbyhoKX19KX1mdW5jdGlvbiBpVWUodCxlKXtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiB0W2FdKGUscil9fX1mdW5jdGlvbiBjMmEodCl7cmV0dXJuIE10KHQuYWRkTGlzdGVuZXIpJiZNdCh0LnJlbW92ZUxpc3RlbmVyKX1mdW5jdGlvbiBkMmEodCl7cmV0dXJuIE10KHQub24pJiZNdCh0Lm9mZil9ZnVuY3Rpb24gcDJhKHQpe3JldHVybiBNdCh0LmFkZEV2ZW50TGlzdGVuZXIpJiZNdCh0LnJlbW92ZUV2ZW50TGlzdGVuZXIpfXZhciBvMmEsbjJhLGwyYSxzVWU9YygoKT0+e2ZhKCk7Y2koKTtBcigpO2pwKCk7JEgoKTtCMSgpO1ZLKCk7bzJhPVsiYWRkTGlzdGVuZXIiLCJyZW1vdmVMaXN0ZW5lciJdLG4yYT1bImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIl0sbDJhPVsib24iLCJvZmYiXTtpKE5sLCJmcm9tRXZlbnQiKTtpKGlVZSwidG9Db21tb25IYW5kbGVyUmVnaXN0cnkiKTtpKGMyYSwiaXNOb2RlU3R5bGVFdmVudEVtaXR0ZXIiKTtpKGQyYSwiaXNKUXVlcnlTdHlsZUV2ZW50RW1pdHRlciIpO2kocDJhLCJpc0V2ZW50VGFyZ2V0Iil9KTt2YXIgb1VlPWMoKCk9Pnt9KTt2YXIgblVlPWMoKCk9Pnt9KTt2YXIgbFVlPWMoKCk9Pnt9KTtmdW5jdGlvbiBXSyh0LGUsYSl7dD09PXZvaWQgMCYmKHQ9MCksYT09PXZvaWQgMCYmKGE9d0spO3ZhciByPS0xO3JldHVybiBlIT1udWxsJiYoTEgoZSk/YT1lOnI9ZSksbmV3IF90KGZ1bmN0aW9uKHMpe3ZhciBuPUhIKHQpPyt0LWEubm93KCk6dDtuPDAmJihuPTApO3ZhciBvPTA7cmV0dXJuIGEuc2NoZWR1bGUoZnVuY3Rpb24oKXtzLmNsb3NlZHx8KHMubmV4dChvKyspLDA8PXI/dGhpcy5zY2hlZHVsZSh2b2lkIDAscik6cy5jb21wbGV0ZSgpKX0sbil9KX12YXIgR0s9YygoKT0+e0FyKCk7ZG4oKTtfSygpO3FLKCk7aShXSywidGltZXIiKX0pO3ZhciBjVWU9YygoKT0+e30pO3ZhciBkVWU9YygoKT0+e30pO2Z1bmN0aW9uIHUyYSgpe3JldHVybiBwVWV9dmFyIHBVZSxZSz1jKCgpPT57QXIoKTtEbCgpO3BVZT1uZXcgX3QoQWkpO2kodTJhLCJuZXZlciIpfSk7dmFyIHVVZT1jKCgpPT57fSk7dmFyIGZVZT1jKCgpPT57fSk7ZnVuY3Rpb24gWkgodCxlKXtyZXR1cm4gZWEoZnVuY3Rpb24oYSxyKXt2YXIgcz0wO2Euc3Vic2NyaWJlKEd0KHIsZnVuY3Rpb24obil7cmV0dXJuIHQuY2FsbChlLG4scysrKSYmci5uZXh0KG4pfSkpfSl9dmFyIFpLPWMoKCk9PntrMSgpO0sxKCk7aShaSCwiZmlsdGVyIil9KTt2YXIgaFVlPWMoKCk9Pnt9KTt2YXIgbVVlPWMoKCk9Pnt9KTt2YXIgZ1VlPWMoKCk9Pnt9KTt2YXIgYlVlPWMoKCk9Pnt9KTt2YXIgdlVlPWMoKCk9Pnt9KTt2YXIgeFVlPWMoKCk9Pnt9KTt2YXIgWEs9YygoKT0+e30pO3ZhciBLSz1jKCgpPT57fSk7ZnVuY3Rpb24gWEgodCl7cmV0dXJuIGVhKGZ1bmN0aW9uKGUsYSl7dmFyIHI9W107cmV0dXJuIGUuc3Vic2NyaWJlKEd0KGEsZnVuY3Rpb24ocyl7cmV0dXJuIHIucHVzaChzKX0sZnVuY3Rpb24oKXthLm5leHQociksYS5jb21wbGV0ZSgpfSkpLFBhKHQpLnN1YnNjcmliZShHdChhLGZ1bmN0aW9uKCl7dmFyIHM9cjtyPVtdLGEubmV4dChzKX0sQWkpKSxmdW5jdGlvbigpe3I9bnVsbH19KX12YXIgUUs9YygoKT0+e2sxKCk7RGwoKTtLMSgpO2NpKCk7aShYSCwiYnVmZmVyIil9KTtmdW5jdGlvbiBLSCh0LGUpe3JldHVybiBlPT09dm9pZCAwJiYoZT1udWxsKSxlPWU/P3QsZWEoZnVuY3Rpb24oYSxyKXt2YXIgcz1bXSxuPTA7YS5zdWJzY3JpYmUoR3QocixmdW5jdGlvbihvKXt2YXIgbCxoLHUsZixwPW51bGw7bisrJWU9PT0wJiZzLnB1c2goW10pO3RyeXtmb3IodmFyIGc9cHIocyksdj1nLm5leHQoKTshdi5kb25lO3Y9Zy5uZXh0KCkpe3ZhciB4PXYudmFsdWU7eC5wdXNoKG8pLHQ8PXgubGVuZ3RoJiYocD1wPz9bXSxwLnB1c2goeCkpfX1jYXRjaCh5KXtsPXtlcnJvcjp5fX1maW5hbGx5e3RyeXt2JiYhdi5kb25lJiYoaD1nLnJldHVybikmJmguY2FsbChnKX1maW5hbGx5e2lmKGwpdGhyb3cgbC5lcnJvcn19aWYocCl0cnl7Zm9yKHZhciBiPXByKHApLG09Yi5uZXh0KCk7IW0uZG9uZTttPWIubmV4dCgpKXt2YXIgeD1tLnZhbHVlO29zKHMseCksci5uZXh0KHgpfX1jYXRjaCh5KXt1PXtlcnJvcjp5fX1maW5hbGx5e3RyeXttJiYhbS5kb25lJiYoZj1iLnJldHVybikmJmYuY2FsbChiKX1maW5hbGx5e2lmKHUpdGhyb3cgdS5lcnJvcn19fSxmdW5jdGlvbigpe3ZhciBvLGw7dHJ5e2Zvcih2YXIgaD1wcihzKSx1PWgubmV4dCgpOyF1LmRvbmU7dT1oLm5leHQoKSl7dmFyIGY9dS52YWx1ZTtyLm5leHQoZil9fWNhdGNoKHApe289e2Vycm9yOnB9fWZpbmFsbHl7dHJ5e3UmJiF1LmRvbmUmJihsPWgucmV0dXJuKSYmbC5jYWxsKGgpfWZpbmFsbHl7aWYobyl0aHJvdyBvLmVycm9yfX1yLmNvbXBsZXRlKCl9LHZvaWQgMCxmdW5jdGlvbigpe3M9bnVsbH0pKX0pfXZhciBKSz1jKCgpPT57ZmEoKTtrMSgpO0sxKCk7ajYoKTtpKEtILCJidWZmZXJDb3VudCIpfSk7ZnVuY3Rpb24gUUgodCl7Zm9yKHZhciBlLGEscj1bXSxzPTE7czxhcmd1bWVudHMubGVuZ3RoO3MrKylyW3MtMV09YXJndW1lbnRzW3NdO3ZhciBuPShlPVhzKHIpKSE9PW51bGwmJmUhPT12b2lkIDA/ZTpQaSxvPShhPXJbMF0pIT09bnVsbCYmYSE9PXZvaWQgMD9hOm51bGwsbD1yWzFdfHwxLzA7cmV0dXJuIGVhKGZ1bmN0aW9uKGgsdSl7dmFyIGY9W10scD0hMSxnPWkoZnVuY3Rpb24oYil7dmFyIG09Yi5idWZmZXIseT1iLnN1YnM7eS51bnN1YnNjcmliZSgpLG9zKGYsYiksdS5uZXh0KG0pLHAmJnYoKX0sImVtaXQiKSx2PWkoZnVuY3Rpb24oKXtpZihmKXt2YXIgYj1uZXcgbjE7dS5hZGQoYik7dmFyIG09W10seT17YnVmZmVyOm0sc3ViczpifTtmLnB1c2goeSksejEoYixuLGZ1bmN0aW9uKCl7cmV0dXJuIGcoeSl9LHQpfX0sInN0YXJ0QnVmZmVyIik7byE9PW51bGwmJm8+PTA/ejEodSxuLHYsbywhMCk6cD0hMCx2KCk7dmFyIHg9R3QodSxmdW5jdGlvbihiKXt2YXIgbSx5LE09Zi5zbGljZSgpO3RyeXtmb3IodmFyIGs9cHIoTSksRT1rLm5leHQoKTshRS5kb25lO0U9ay5uZXh0KCkpe3ZhciBfPUUudmFsdWUsQz1fLmJ1ZmZlcjtDLnB1c2goYiksbDw9Qy5sZW5ndGgmJmcoXyl9fWNhdGNoKE4pe209e2Vycm9yOk59fWZpbmFsbHl7dHJ5e0UmJiFFLmRvbmUmJih5PWsucmV0dXJuKSYmeS5jYWxsKGspfWZpbmFsbHl7aWYobSl0aHJvdyBtLmVycm9yfX19LGZ1bmN0aW9uKCl7Zm9yKDtmPy5sZW5ndGg7KXUubmV4dChmLnNoaWZ0KCkuYnVmZmVyKTt4Py51bnN1YnNjcmliZSgpLHUuY29tcGxldGUoKSx1LnVuc3Vic2NyaWJlKCl9LHZvaWQgMCxmdW5jdGlvbigpe3JldHVybiBmPW51bGx9KTtoLnN1YnNjcmliZSh4KX0pfXZhciBlUT1jKCgpPT57ZmEoKTtacygpO2sxKCk7SzEoKTtqNigpO2RuKCk7UTYoKTtwbigpO2koUUgsImJ1ZmZlclRpbWUiKX0pO3ZhciB0UT1jKCgpPT57fSk7dmFyIGFRPWMoKCk9Pnt9KTt2YXIgclE9YygoKT0+e30pO3ZhciBpUT1jKCgpPT57fSk7dmFyIHNRPWMoKCk9Pnt9KTt2YXIgb1E9YygoKT0+e30pO3ZhciBuUT1jKCgpPT57fSk7dmFyIHlVZT1jKCgpPT57fSk7dmFyIGxRPWMoKCk9Pnt9KTt2YXIgY1E9YygoKT0+e30pO3ZhciBkUT1jKCgpPT57fSk7dmFyIHdVZT1jKCgpPT57fSk7dmFyIHBRPWMoKCk9Pnt9KTt2YXIgdVE9YygoKT0+e30pO3ZhciBmUT1jKCgpPT57fSk7ZnVuY3Rpb24gSkgodCl7cmV0dXJuIGVhKGZ1bmN0aW9uKGUsYSl7dmFyIHI9ITEscz1udWxsLG49bnVsbCxvPWkoZnVuY3Rpb24oKXtpZihuPy51bnN1YnNjcmliZSgpLG49bnVsbCxyKXtyPSExO3ZhciBsPXM7cz1udWxsLGEubmV4dChsKX19LCJlbWl0Iik7ZS5zdWJzY3JpYmUoR3QoYSxmdW5jdGlvbihsKXtuPy51bnN1YnNjcmliZSgpLHI9ITAscz1sLG49R3QoYSxvLEFpKSxQYSh0KGwpKS5zdWJzY3JpYmUobil9LGZ1bmN0aW9uKCl7bygpLGEuY29tcGxldGUoKX0sdm9pZCAwLGZ1bmN0aW9uKCl7cz1uPW51bGx9KSl9KX12YXIgaFE9YygoKT0+e2sxKCk7RGwoKTtLMSgpO2NpKCk7aShKSCwiZGVib3VuY2UiKX0pO2Z1bmN0aW9uIGVxKHQsZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPVBpKSxlYShmdW5jdGlvbihhLHIpe3ZhciBzPW51bGwsbj1udWxsLG89bnVsbCxsPWkoZnVuY3Rpb24oKXtpZihzKXtzLnVuc3Vic2NyaWJlKCkscz1udWxsO3ZhciB1PW47bj1udWxsLHIubmV4dCh1KX19LCJlbWl0Iik7ZnVuY3Rpb24gaCgpe3ZhciB1PW8rdCxmPWUubm93KCk7aWYoZjx1KXtzPXRoaXMuc2NoZWR1bGUodm9pZCAwLHUtZiksci5hZGQocyk7cmV0dXJufWwoKX1pKGgsImVtaXRXaGVuSWRsZSIpLGEuc3Vic2NyaWJlKEd0KHIsZnVuY3Rpb24odSl7bj11LG89ZS5ub3coKSxzfHwocz1lLnNjaGVkdWxlKGgsdCksci5hZGQocykpfSxmdW5jdGlvbigpe2woKSxyLmNvbXBsZXRlKCl9LHZvaWQgMCxmdW5jdGlvbigpe249cz1udWxsfSkpfSl9dmFyIG1RPWMoKCk9PntkbigpO2sxKCk7SzEoKTtpKGVxLCJkZWJvdW5jZVRpbWUiKX0pO3ZhciBnUT1jKCgpPT57fSk7dmFyIGJRPWMoKCk9Pnt9KTt2YXIgdlE9YygoKT0+e30pO3ZhciB4UT1jKCgpPT57fSk7dmFyIHlRPWMoKCk9Pnt9KTt2YXIgd1E9YygoKT0+e30pO3ZhciBNUT1jKCgpPT57fSk7dmFyIGtRPWMoKCk9Pnt9KTt2YXIgelE9YygoKT0+e30pO3ZhciBTUT1jKCgpPT57fSk7dmFyIENRPWMoKCk9Pnt9KTt2YXIgX1E9YygoKT0+e30pO3ZhciBUUT1jKCgpPT57fSk7dmFyIExRPWMoKCk9Pnt9KTt2YXIgJFE9YygoKT0+e30pO3ZhciBEUT1jKCgpPT57fSk7dmFyIEFRPWMoKCk9Pnt9KTt2YXIgUFE9YygoKT0+e30pO3ZhciBFUT1jKCgpPT57fSk7dmFyIElRPWMoKCk9Pnt9KTt2YXIgTlE9YygoKT0+e30pO3ZhciBSUT1jKCgpPT57fSk7dmFyIEZRPWMoKCk9Pnt9KTt2YXIgT1E9YygoKT0+e30pO3ZhciBCUT1jKCgpPT57fSk7dmFyIEhRPWMoKCk9Pnt9KTt2YXIgcVE9YygoKT0+e30pO3ZhciBWUT1jKCgpPT57fSk7dmFyIGpRPWMoKCk9Pnt9KTt2YXIgVVE9YygoKT0+e30pO3ZhciBXUT1jKCgpPT57fSk7dmFyIE1VZT1jKCgpPT57fSk7dmFyIEdRPWMoKCk9Pnt9KTt2YXIgWVE9YygoKT0+e30pO3ZhciBaUT1jKCgpPT57fSk7dmFyIFhRPWMoKCk9Pnt9KTt2YXIgS1E9YygoKT0+e30pO3ZhciBRUT1jKCgpPT57fSk7dmFyIEpRPWMoKCk9Pnt9KTt2YXIgZUo9YygoKT0+e30pO3ZhciB0Sj1jKCgpPT57fSk7dmFyIGFKPWMoKCk9Pnt9KTt2YXIgcko9YygoKT0+e30pO3ZhciBpSj1jKCgpPT57fSk7dmFyIHNKPWMoKCk9Pnt9KTt2YXIgb0o9YygoKT0+e30pO3ZhciBuSj1jKCgpPT57fSk7dmFyIGxKPWMoKCk9Pnt9KTt2YXIgY0o9YygoKT0+e30pO3ZhciBkSj1jKCgpPT57fSk7dmFyIHBKPWMoKCk9Pnt9KTtmdW5jdGlvbiB0cSh0KXt0PT09dm9pZCAwJiYodD17fSk7dmFyIGU9dC5jb25uZWN0b3IsYT1lPT09dm9pZCAwP2Z1bmN0aW9uKCl7cmV0dXJuIG5ldyB1cn06ZSxyPXQucmVzZXRPbkVycm9yLHM9cj09PXZvaWQgMD8hMDpyLG49dC5yZXNldE9uQ29tcGxldGUsbz1uPT09dm9pZCAwPyEwOm4sbD10LnJlc2V0T25SZWZDb3VudFplcm8saD1sPT09dm9pZCAwPyEwOmw7cmV0dXJuIGZ1bmN0aW9uKHUpe3ZhciBmLHAsZyx2PTAseD0hMSxiPSExLG09aShmdW5jdGlvbigpe3A/LnVuc3Vic2NyaWJlKCkscD12b2lkIDB9LCJjYW5jZWxSZXNldCIpLHk9aShmdW5jdGlvbigpe20oKSxmPWc9dm9pZCAwLHg9Yj0hMX0sInJlc2V0IiksTT1pKGZ1bmN0aW9uKCl7dmFyIGs9Zjt5KCksaz8udW5zdWJzY3JpYmUoKX0sInJlc2V0QW5kVW5zdWJzY3JpYmUiKTtyZXR1cm4gZWEoZnVuY3Rpb24oayxFKXt2KyssIWImJiF4JiZtKCk7dmFyIF89Zz1nPz9hKCk7RS5hZGQoZnVuY3Rpb24oKXt2LS0sdj09PTAmJiFiJiYheCYmKHA9dUooTSxoKSl9KSxfLnN1YnNjcmliZShFKSwhZiYmdj4wJiYoZj1uZXcgbG4oe25leHQ6aShmdW5jdGlvbihDKXtyZXR1cm4gXy5uZXh0KEMpfSwibmV4dCIpLGVycm9yOmkoZnVuY3Rpb24oQyl7Yj0hMCxtKCkscD11Sih5LHMsQyksXy5lcnJvcihDKX0sImVycm9yIiksY29tcGxldGU6aShmdW5jdGlvbigpe3g9ITAsbSgpLHA9dUooeSxvKSxfLmNvbXBsZXRlKCl9LCJjb21wbGV0ZSIpfSksUGEoaykuc3Vic2NyaWJlKGYpKX0pKHUpfX1mdW5jdGlvbiB1Sih0LGUpe2Zvcih2YXIgYT1bXSxyPTI7cjxhcmd1bWVudHMubGVuZ3RoO3IrKylhW3ItMl09YXJndW1lbnRzW3JdO2lmKGU9PT0hMCl7dCgpO3JldHVybn1pZihlIT09ITEpe3ZhciBzPW5ldyBsbih7bmV4dDppKGZ1bmN0aW9uKCl7cy51bnN1YnNjcmliZSgpLHQoKX0sIm5leHQiKX0pO3JldHVybiBQYShlLmFwcGx5KHZvaWQgMCxNMShbXSxRYShhKSkpKS5zdWJzY3JpYmUocyl9fXZhciBhcT1jKCgpPT57ZmEoKTtjaSgpO1k2KCk7QXAoKTtrMSgpO2kodHEsInNoYXJlIik7aSh1SiwiaGFuZGxlUmVzZXQiKX0pO2Z1bmN0aW9uIHJxKHQsZSxhKXt2YXIgcixzLG4sbyxsPSExO3JldHVybiB0JiZ0eXBlb2YgdD09Im9iamVjdCI/KHI9dC5idWZmZXJTaXplLG89cj09PXZvaWQgMD8xLzA6cixzPXQud2luZG93VGltZSxlPXM9PT12b2lkIDA/MS8wOnMsbj10LnJlZkNvdW50LGw9bj09PXZvaWQgMD8hMTpuLGE9dC5zY2hlZHVsZXIpOm89dD8/MS8wLHRxKHtjb25uZWN0b3I6aShmdW5jdGlvbigpe3JldHVybiBuZXcgWjYobyxlLGEpfSwiY29ubmVjdG9yIikscmVzZXRPbkVycm9yOiEwLHJlc2V0T25Db21wbGV0ZTohMSxyZXNldE9uUmVmQ291bnRaZXJvOmx9KX12YXIgZko9YygoKT0+e2hLKCk7YXEoKTtpKHJxLCJzaGFyZVJlcGxheSIpfSk7dmFyIGhKPWMoKCk9Pnt9KTt2YXIgbUo9YygoKT0+e30pO3ZhciBnSj1jKCgpPT57fSk7dmFyIGJKPWMoKCk9Pnt9KTt2YXIgdko9YygoKT0+e30pO2Z1bmN0aW9uIGlxKCl7Zm9yKHZhciB0PVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXRbZV09YXJndW1lbnRzW2VdO3ZhciBhPVhzKHQpO3JldHVybiBlYShmdW5jdGlvbihyLHMpeyhhP1lIKHQscixhKTpZSCh0LHIpKS5zdWJzY3JpYmUocyl9KX12YXIgeEo9YygoKT0+e1VLKCk7UTYoKTtrMSgpO2koaXEsInN0YXJ0V2l0aCIpfSk7dmFyIHlKPWMoKCk9Pnt9KTt2YXIgd0o9YygoKT0+e30pO3ZhciBNSj1jKCgpPT57fSk7dmFyIGtKPWMoKCk9Pnt9KTtmdW5jdGlvbiBhNSh0KXtyZXR1cm4gZWEoZnVuY3Rpb24oZSxhKXtQYSh0KS5zdWJzY3JpYmUoR3QoYSxmdW5jdGlvbigpe3JldHVybiBhLmNvbXBsZXRlKCl9LEFpKSksIWEuY2xvc2VkJiZlLnN1YnNjcmliZShhKX0pfXZhciB6Sj1jKCgpPT57azEoKTtLMSgpO2NpKCk7RGwoKTtpKGE1LCJ0YWtlVW50aWwiKX0pO3ZhciBTSj1jKCgpPT57fSk7dmFyIENKPWMoKCk9Pnt9KTtmdW5jdGlvbiBzcSh0LGUpe3JldHVybiBlYShmdW5jdGlvbihhLHIpe3ZhciBzPWU/P3t9LG49cy5sZWFkaW5nLG89bj09PXZvaWQgMD8hMDpuLGw9cy50cmFpbGluZyxoPWw9PT12b2lkIDA/ITE6bCx1PSExLGY9bnVsbCxwPW51bGwsZz0hMSx2PWkoZnVuY3Rpb24oKXtwPy51bnN1YnNjcmliZSgpLHA9bnVsbCxoJiYobSgpLGcmJnIuY29tcGxldGUoKSl9LCJlbmRUaHJvdHRsaW5nIikseD1pKGZ1bmN0aW9uKCl7cD1udWxsLGcmJnIuY29tcGxldGUoKX0sImNsZWFudXBUaHJvdHRsaW5nIiksYj1pKGZ1bmN0aW9uKHkpe3JldHVybiBwPVBhKHQoeSkpLnN1YnNjcmliZShHdChyLHYseCkpfSwic3RhcnRUaHJvdHRsZSIpLG09aShmdW5jdGlvbigpe2lmKHUpe3U9ITE7dmFyIHk9ZjtmPW51bGwsci5uZXh0KHkpLCFnJiZiKHkpfX0sInNlbmQiKTthLnN1YnNjcmliZShHdChyLGZ1bmN0aW9uKHkpe3U9ITAsZj15LCEocCYmIXAuY2xvc2VkKSYmKG8/bSgpOmIoeSkpfSxmdW5jdGlvbigpe2c9ITAsIShoJiZ1JiZwJiYhcC5jbG9zZWQpJiZyLmNvbXBsZXRlKCl9KSl9KX12YXIgb3E9YygoKT0+e2sxKCk7SzEoKTtjaSgpO2koc3EsInRocm90dGxlIil9KTtmdW5jdGlvbiBucSh0LGUsYSl7ZT09PXZvaWQgMCYmKGU9UGkpO3ZhciByPVdLKHQsZSk7cmV0dXJuIHNxKGZ1bmN0aW9uKCl7cmV0dXJuIHJ9LGEpfXZhciBfSj1jKCgpPT57ZG4oKTtvcSgpO0dLKCk7aShucSwidGhyb3R0bGVUaW1lIil9KTtmdW5jdGlvbiB6VWUodCl7cmV0dXJuIHQ9PT12b2lkIDAmJih0PVBpKSxlYShmdW5jdGlvbihlLGEpe3ZhciByPXQubm93KCk7ZS5zdWJzY3JpYmUoR3QoYSxmdW5jdGlvbihzKXt2YXIgbj10Lm5vdygpLG89bi1yO3I9bixhLm5leHQobmV3IGtVZShzLG8pKX0pKX0pfXZhciBrVWUsVEo9YygoKT0+e2RuKCk7azEoKTtLMSgpO2koelVlLCJ0aW1lSW50ZXJ2YWwiKTtrVWU9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLGEpe3RoaXMudmFsdWU9ZSx0aGlzLmludGVydmFsPWF9cmV0dXJuIGkodCwiVGltZUludGVydmFsIiksdH0pKCl9KTt2YXIgTEo9YygoKT0+e30pO3ZhciAkSj1jKCgpPT57fSk7dmFyIERKPWMoKCk9Pnt9KTt2YXIgQUo9YygoKT0+e30pO3ZhciBQSj1jKCgpPT57fSk7dmFyIEVKPWMoKCk9Pnt9KTt2YXIgSUo9YygoKT0+e30pO3ZhciBOSj1jKCgpPT57fSk7dmFyIFJKPWMoKCk9Pnt9KTt2YXIgU1VlPWMoKCk9Pnt9KTt2YXIgRko9YygoKT0+e30pO3ZhciBVcD1jKCgpPT57QXIoKTtaVmUoKTtQcCgpO1FWZSgpO1k2KCk7ZWplKCk7aEsoKTthamUoKTtwamUoKTtkbigpO21qZSgpO3hqZSgpO3dqZSgpO3hLKCk7WnMoKTtBcCgpO0lqZSgpO29LKCk7RGwoKTtFcCgpO05qZSgpO0ZqZSgpO09qZSgpO0JqZSgpO1JqZSgpO0hqZSgpO3BLKCk7cWplKCk7cUgoKTtRWCgpO1VqZSgpO1dqZSgpO1FqZSgpO1VLKCk7YVVlKCk7dFVlKCk7VEgoKTtyVWUoKTtIcCgpO3NVZSgpO29VZSgpO25VZSgpO2xVZSgpO2NVZSgpO2RVZSgpO1lLKCk7RksoKTt1VWUoKTtmVWUoKTtoVWUoKTttVWUoKTtnVWUoKTtCSygpO0dLKCk7YlVlKCk7dlVlKCk7UksoKTtUSCgpO1lLKCk7eFVlKCk7VTYoKTtYSygpO0tLKCk7UUsoKTtKSygpO2VRKCk7dFEoKTthUSgpO3JRKCk7blEoKTtvUSgpO2xRKCk7R0goKTtjUSgpO2RRKCk7cFEoKTt1USgpO2ZRKCk7aFEoKTttUSgpO2dRKCk7d1EoKTt5USgpO01RKCk7a1EoKTt6USgpO1NRKCk7X1EoKTtUUSgpO0xRKCk7QVEoKTtEUSgpOyRRKCk7UFEoKTtaSygpO0VRKCk7SVEoKTtOUSgpO1JRKCk7RlEoKTt2USgpO09RKCk7SFEoKTtWcCgpO3hRKCk7cVEoKTtWUSgpO1VIKCk7alEoKTtqcCgpO1VRKCk7V1EoKTtHUSgpO1lRKCk7WlEoKTtPcCgpO1hRKCk7S1EoKTtRUSgpO0pRKCk7ZUooKTt0SigpO2FKKCk7ckooKTtpUSgpO2lKKCk7c0ooKTtvSigpO25KKCk7U0goKTtsSigpO2NKKCk7ZEooKTtwSigpO2FxKCk7ZkooKTtoSigpO21KKCk7Z0ooKTtiSigpO3ZKKCk7eEooKTtCcCgpO3dKKCk7eUooKTtNSigpO2tKKCk7YlEoKTtCUSgpO3pKKCk7U0ooKTtDSigpO29xKCk7X0ooKTtDUSgpO1RKKCk7cUgoKTtMSigpOyRKKCk7c1EoKTtESigpO0FKKCk7UEooKTtFSigpO0lKKCk7TkooKTtSSigpO0ZKKCl9KTt2YXIgQ1VlPWMoKCk9Pnt9KTt2YXIgX1VlPWMoKCk9Pnt9KTt2YXIgVFVlPWMoKCk9PntYSygpO0tLKCk7UUsoKTtKSygpO2VRKCk7dFEoKTthUSgpO3JRKCk7blEoKTtvUSgpO3lVZSgpO2xRKCk7d1VlKCk7R0goKTtjUSgpO2RRKCk7cFEoKTt1USgpO2ZRKCk7aFEoKTttUSgpO2dRKCk7d1EoKTt5USgpO01RKCk7a1EoKTt6USgpO1NRKCk7X1EoKTtUUSgpO0xRKCk7QVEoKTtEUSgpOyRRKCk7UFEoKTtaSygpO0VRKCk7SVEoKTtOUSgpO1JRKCk7RlEoKTt2USgpO09RKCk7SFEoKTtWcCgpO3hRKCk7cVEoKTtWUSgpO01VZSgpO1VIKCk7alEoKTtqcCgpO1VRKCk7V1EoKTtHUSgpO1lRKCk7WlEoKTtPcCgpO1hRKCk7S1EoKTtDVWUoKTtRUSgpO0pRKCk7ZUooKTt0SigpO2FKKCk7X1VlKCk7ckooKTtpUSgpO2lKKCk7c0ooKTtvSigpO25KKCk7U0goKTtsSigpO2NKKCk7ZEooKTtwSigpO2FxKCk7ZkooKTtoSigpO21KKCk7Z0ooKTtiSigpO3ZKKCk7eEooKTtCcCgpO3dKKCk7eUooKTtNSigpO2tKKCk7YlEoKTtCUSgpO3pKKCk7U0ooKTtDSigpO29xKCk7X0ooKTtDUSgpO1RKKCk7cUgoKTtMSigpOyRKKCk7c1EoKTtESigpO0FKKCk7UEooKTtFSigpO0lKKCk7TkooKTtTVWUoKTtSSigpO0ZKKCl9KTt2YXIgcjU9e307ZXQocjUse09ic2VydmFibGU6KCk9Pl90LFJlcGxheVN1YmplY3Q6KCk9Plo2LFN1YmplY3Q6KCk9PnVyLFN1YnNjcmlwdGlvbjooKT0+bjEsZnJvbTooKT0+S3MsZnJvbUV2ZW50OigpPT5ObCxvZjooKT0+cXAsb3BzOigpPT5qb2F9KTt2YXIgam9hLGxxPWMoKCk9PntVcCgpO1RVZSgpO2pvYT17YnVmZmVyOlhILGJ1ZmZlckNvdW50OktILGJ1ZmZlclRpbWU6UUgsZGVib3VuY2U6SkgsZGVib3VuY2VUaW1lOmVxLGZpbHRlcjpaSCxtYXA6UXMsc3RhcnRXaXRoOmlxLHRha2VVbnRpbDphNSx0aHJvdHRsZVRpbWU6bnF9fSk7dmFyIE9KLExVZT1jKCgpPT57eEgoKTtscSgpO09KPWNsYXNze3N0YXRpY3tpKHRoaXMsIk9ic2VydmFibGVtYXAiKX1jb25zdHJ1Y3Rvcigpe3RoaXMub2JzZXJ2YWJsZUV2ZW50RW1pdHRlckJ1bmRsZUFycmF5PW5ldyBBcnJheSx0aGlzLm9ic2VydmFibGVFdmVudFRhcmdldEJ1bmRsZUFycmF5PW5ldyBBcnJheX1nZXRTdWJqZWN0Rm9yRW1pdHRlckV2ZW50KGUsYSl7bGV0IHI9dGhpcy5vYnNlcnZhYmxlRXZlbnRFbWl0dGVyQnVuZGxlQXJyYXkuZmluZChzPT5zLmV2ZW50UmVmPT09ZSYmcy5ldmVudD09PWEpO2lmKHIpcmV0dXJuIHIuc3ViamVjdDt7bGV0IHM9TmwoZSxhKSxuPW5ldyB1cjtzLnN1YnNjcmliZShuKTtsZXQgbz17c3ViamVjdDpuLGV2ZW50UmVmOmUsZXZlbnQ6YX07cmV0dXJuIHRoaXMub2JzZXJ2YWJsZUV2ZW50RW1pdHRlckJ1bmRsZUFycmF5LnB1c2gobyksby5zdWJqZWN0fX1nZXRTdWJqZWN0Rm9yRXZlbnRUYXJnZXQoZSxhKXtsZXQgcj10aGlzLm9ic2VydmFibGVFdmVudFRhcmdldEJ1bmRsZUFycmF5LmZpbmQocz0+cy5ldmVudFJlZj09PWUmJnMuZXZlbnQ9PT1hKTtpZihyKXJldHVybiByLnN1YmplY3Q7e2xldCBuPXtzdWJqZWN0Om5ldyB1cixldmVudFJlZjplLGV2ZW50OmF9O3JldHVybiB0aGlzLm9ic2VydmFibGVFdmVudFRhcmdldEJ1bmRsZUFycmF5LnB1c2gobiksbi5zdWJqZWN0fX19fSk7dmFyIEJKLCRVZT1jKCgpPT57eEgoKTtscSgpO0JKPWNsYXNze3N0YXRpY3tpKHRoaXMsIk9ic2VydmFibGVJbnRha2UiKX1jb25zdHJ1Y3Rvcigpe3RoaXMub2JzZXJ2YWJsZUZ1bmN0aW9ucz17bmV4dDppKGU9Pnt9LCJuZXh0IiksY29tcGxldGU6aShlPT57fSwiY29tcGxldGUiKX0sdGhpcy5nZW5lcmF0b3I9bnVsbCx0aGlzLmJ1ZmZlcmVkPSExLHRoaXMucGF5bG9hZEJ1ZmZlcj1bXSx0aGlzLm9ic2VydmFibGU9bmV3IF90KGU9Pnt0aGlzLm9ic2VydmFibGVGdW5jdGlvbnMubmV4dD0oLi4uYSk9PmUubmV4dChhKSx0aGlzLm9ic2VydmFibGVGdW5jdGlvbnMuY29tcGxldGU9KCk9Pih0aGlzLmNvbXBsZXRlZERlZmZlcmVkLnJlc29sdmUoKSxlLmNvbXBsZXRlKCkpfSksdGhpcy5jb21wbGV0ZWREZWZmZXJlZD1KZS5kZWZlcigpLHRoaXMuY29tcGxldGVkPXRoaXMuY29tcGxldGVkRGVmZmVyZWQucHJvbWlzZX1zZXRPYnNlcnZhYmxlKGUpe3RoaXMub2JzZXJ2YWJsZT1lfXB1c2goZSl7dGhpcy5idWZmZXJlZD90aGlzLnBheWxvYWRCdWZmZXIucHVzaChlKTp0aGlzLmludGVybmFsUHVzaChlKX1wdXNoTWFueShlKXtmb3IobGV0IGEgb2YgZSl0aGlzLnB1c2goYSl9c2V0R2VuZXJhdG9yKGUpe3RoaXMuZ2VuZXJhdG9yPWV9bWFrZUJ1ZmZlcmVkKCl7dGhpcy5idWZmZXJlZD0hMH1zdWJzY3JpYmUoLi4uZSl7cmV0dXJuIHRoaXMub2JzZXJ2YWJsZS5zdWJzY3JpYmUoLi4uZSl9cmVxdWVzdChlKXtpZihlIT09MClmb3IobGV0IGE9MDthIT09ZTthKyspaWYodGhpcy5wYXlsb2FkQnVmZmVyLmxlbmd0aD4wKXRoaXMuaW50ZXJuYWxQdXNoKHRoaXMucGF5bG9hZEJ1ZmZlci5zaGlmdCgpKTtlbHNle2xldCByPXRoaXMuZ2VuZXJhdG9yLm5leHQoKTt0aGlzLmludGVybmFsUHVzaChyLnZhbHVlKX19c2lnbmFsQ29tcGxldGUoKXt0aGlzLm9ic2VydmFibGVGdW5jdGlvbnMuY29tcGxldGUoKX1pbnRlcm5hbFB1c2goZSl7dGhpcy5vYnNlcnZhYmxlRnVuY3Rpb25zLm5leHQoZSl9fX0pO2Z1bmN0aW9uIFVvYSh0KXtyZXR1cm4gbmV3IF90KGU9PntsZXQgYT1pKCgpPT50LnBhdXNlKCksInBhdXNlU3RyZWFtIikscj1pKCgpPT5wcm9jZXNzLm5leHRUaWNrKCgpPT50LnJlc3VtZSgpKSwicmVzdW1lU3RyZWFtIikscz1pKG49PnthKCksZS5uZXh0KG4pLHIoKX0sIm9uRGF0YSIpO3JldHVybiB0Lm9uKCJkYXRhIixzKSx0Lm9uKCJlcnJvciIsbj0+ZS5lcnJvcihuKSksdC5vbigiZW5kIiwoKT0+ZS5jb21wbGV0ZSgpKSx0Lm9uKCJjbG9zZSIsKCk9PmUuY29tcGxldGUoKSksKCk9Pnt0LnJlbW92ZUxpc3RlbmVyKCJkYXRhIixzKSx0LnJlbW92ZUxpc3RlbmVyKCJlcnJvciIsZS5lcnJvciksdC5yZW1vdmVMaXN0ZW5lcigiZW5kIixlLmNvbXBsZXRlKSx0LnJlbW92ZUxpc3RlbmVyKCJjbG9zZSIsZS5jb21wbGV0ZSl9fSl9dmFyIERVZT1jKCgpPT57VXAoKTtpKFVvYSwiZnJvbVN0cmVhbVdpdGhCYWNrcHJlc3N1cmUiKX0pO3ZhciBZdD17fTtldChZdCx7T2JzZXJ2YWJsZUludGFrZTooKT0+QkosT2JzZXJ2YWJsZW1hcDooKT0+T0osZnJvbVN0cmVhbVdpdGhCYWNrcHJlc3N1cmU6KCk9PlVvYSxyeGpzOigpPT5yNX0pO3ZhciBjcz1jKCgpPT57eEgoKTtMVWUoKTskVWUoKTtEVWUoKTtscSgpfSk7ZnVuY3Rpb24gTCh0KXtyZXR1cm4oZSxhKT0+dHlwZW9mIGE9PSJvYmplY3QiP0FVZSh0LGUsYSk6KChyLHMsbik9PntsZXQgbz1zLmhhc093blByb3BlcnR5KG4pO3JldHVybiBzLmNvbnN0cnVjdG9yLmNyZWF0ZVByb3BlcnR5KG4sciksbz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHMsbik6dm9pZCAwfSkodCxlLGEpfXZhciBXb2EsQVVlLGNxPWMoKCk9PntTcCgpO1dvYT17YXR0cmlidXRlOiEwLHR5cGU6U3RyaW5nLGNvbnZlcnRlcjpxNixyZWZsZWN0OiExLGhhc0NoYW5nZWQ6enB9LEFVZT1pKCh0PVdvYSxlLGEpPT57bGV0e2tpbmQ6cixtZXRhZGF0YTpzfT1hLG49Z2xvYmFsVGhpcy5saXRQcm9wZXJ0eU1ldGFkYXRhLmdldChzKTtpZihuPT09dm9pZCAwJiZnbG9iYWxUaGlzLmxpdFByb3BlcnR5TWV0YWRhdGEuc2V0KHMsbj1uZXcgTWFwKSxyPT09InNldHRlciImJigodD1PYmplY3QuY3JlYXRlKHQpKS53cmFwcGVkPSEwKSxuLnNldChhLm5hbWUsdCkscj09PSJhY2Nlc3NvciIpe2xldHtuYW1lOm99PWE7cmV0dXJue3NldChsKXtsZXQgaD1lLmdldC5jYWxsKHRoaXMpO2Uuc2V0LmNhbGwodGhpcyxsKSx0aGlzLnJlcXVlc3RVcGRhdGUobyxoLHQsITAsbCl9LGluaXQobCl7cmV0dXJuIGwhPT12b2lkIDAmJnRoaXMuQyhvLHZvaWQgMCx0LGwpLGx9fX1pZihyPT09InNldHRlciIpe2xldHtuYW1lOm99PWE7cmV0dXJuIGZ1bmN0aW9uKGwpe2xldCBoPXRoaXNbb107ZS5jYWxsKHRoaXMsbCksdGhpcy5yZXF1ZXN0VXBkYXRlKG8saCx0LCEwLGwpfX10aHJvdyBFcnJvcigiVW5zdXBwb3J0ZWQgZGVjb3JhdG9yIGxvY2F0aW9uOiAiK3IpfSwiciIpO2koTCwibiIpfSk7dmFyIFBVZT1jKCgpPT57Y3EoKX0pO3ZhciBFVWU9YygoKT0+e30pO3ZhciBTdD17fTtldChTdCx7VGltZW91dDooKT0+ZHEsZGVsYXlGb3I6KCk9PklVZSxkZWxheUZvclJhbmRvbTooKT0+R29hfSk7dmFyIElVZSxHb2EsZHEsajI9YygoKT0+e2RyKCk7SVVlPWkoYXN5bmModCxlLGE9ITEpPT4oYXdhaXQgbmV3IGRxKHQsbnVsbCxhKS5wcm9taXNlLGUpLCJkZWxheUZvciIpLEdvYT1pKGFzeW5jKHQsZSxhLHI9ITEpPT4oYXdhaXQgSVVlKE1hdGgucmFuZG9tKCkqKGUtdCkrdCxudWxsLHIpLGEpLCJkZWxheUZvclJhbmRvbSIpLGRxPWNsYXNze3N0YXRpY3tpKHRoaXMsIlRpbWVvdXQiKX1jb25zdHJ1Y3RvcihlLGEscj0hMSl7dGhpcy5fY2FuY2VsbGVkPSExLHRoaXMudGltZW91dEluTWlsbGlzPWUsdGhpcy5fZGVmZXJyZWQ9b24oKSx0aGlzLnByb21pc2U9dGhpcy5fZGVmZXJyZWQucHJvbWlzZSx0aGlzLl90aW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLl9jYW5jZWxsZWR8fHRoaXMuX2RlZmVycmVkLnJlc29sdmUoYSl9LGUpLHRoaXMuc3RhcnRlZD1EYXRlLm5vdygpLHImJnRoaXMubWFrZVVucmVmZWQoKX1tYWtlVW5yZWZlZCgpe3RoaXMuX3RpbWVvdXQudW5yZWYoKX1jYW5jZWwoKXt0aGlzLl9jYW5jZWxsZWQ9ITAsY2xlYXJUaW1lb3V0KHRoaXMuX3RpbWVvdXQpfWdldFRpbWVMZWZ0KCl7bGV0IGU9dGhpcy5zdGFydGVkK3RoaXMudGltZW91dEluTWlsbGlzLURhdGUubm93KCk7cmV0dXJuIGU+MD9lOjB9fX0pO3ZhciBKcz17fTt2YXIgaTU9YygoKT0+e30pO2Z1bmN0aW9uIFJsKHQpe2lmKHR5cGVvZiB0IT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIHN0cmluZyIpO3JldHVybiB0LnJlcGxhY2UoL1t8XFx7fSgpW1xdXiQrKj8uXS9nLCJcXCQmIikucmVwbGFjZSgvLS9nLCJcXHgyZCIpfXZhciBwcT1jKCgpPT57aShSbCwiZXNjYXBlU3RyaW5nUmVnZXhwIil9KTt2YXIgV3A9e307ZXQoV3Ase2lzTWF0Y2g6KCk9PlhvYSxtYXRjaGVyOigpPT5ab2F9KTtmdW5jdGlvbiBab2EodCxlLGEpe3JldHVybiBSVWUodCxlLGEsITEpfWZ1bmN0aW9uIFhvYSh0LGUsYSl7cmV0dXJuIFJVZSh0LGUsYSwhMCkubGVuZ3RoPjB9dmFyIEhKLE5VZSxZb2EsUlVlLEZVZT1jKCgpPT57cHEoKTtISj1uZXcgTWFwLE5VZT1pKCh0LGUpPT57aWYoIUFycmF5LmlzQXJyYXkodCkpc3dpdGNoKHR5cGVvZiB0KXtjYXNlInN0cmluZyI6dD1bdF07YnJlYWs7Y2FzZSJ1bmRlZmluZWQiOnQ9W107YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCAnJHtlfScgdG8gYmUgYSBzdHJpbmcgb3IgYW4gYXJyYXksIGJ1dCBnb3QgYSB0eXBlIG9mICcke3R5cGVvZiB0fSdgKX1yZXR1cm4gdC5maWx0ZXIoYT0+e2lmKHR5cGVvZiBhIT0ic3RyaW5nIil7aWYodHlwZW9mIGE+InUiKXJldHVybiExO3Rocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkICcke2V9JyB0byBiZSBhbiBhcnJheSBvZiBzdHJpbmdzLCBidXQgZm91bmQgYSB0eXBlIG9mICcke3R5cGVvZiBhfScgaW4gdGhlIGFycmF5YCl9cmV0dXJuITB9KX0sInNhbml0aXplQXJyYXkiKSxZb2E9aSgodCxlKT0+e2U9e2Nhc2VTZW5zaXRpdmU6ITEsLi4uZX07bGV0IGE9dCtKU09OLnN0cmluZ2lmeShlKTtpZihISi5oYXMoYSkpcmV0dXJuIEhKLmdldChhKTtsZXQgcj10WzBdPT09IiEiO3ImJih0PXQuc2xpY2UoMSkpLHQ9UmwodCkucmVwbGFjZSgvXFxcKi9nLCJbXFxzXFxTXSoiKTtsZXQgcz1uZXcgUmVnRXhwKGBeJHt0fSRgLGUuY2FzZVNlbnNpdGl2ZT8iIjoiaSIpO3JldHVybiBzLm5lZ2F0ZWQ9cixISi5zZXQoYSxzKSxzfSwibWFrZVJlZ2V4cCIpLFJVZT1pKCh0LGUsYSxyKT0+e2lmKHQ9TlVlKHQsImlucHV0cyIpLGU9TlVlKGUsInBhdHRlcm5zIiksZS5sZW5ndGg9PT0wKXJldHVybltdO2U9ZS5tYXAobz0+WW9hKG8sYSkpO2xldHthbGxQYXR0ZXJuczpzfT1hfHx7fSxuPVtdO2ZvcihsZXQgbyBvZiB0KXtsZXQgbCxoPVsuLi5lXS5maWxsKCExKTtmb3IobGV0W3UsZl1vZiBlLmVudHJpZXMoKSlpZihmLnRlc3QobykmJihoW3VdPSEwLGw9IWYubmVnYXRlZCwhbCkpYnJlYWs7aWYoIShsPT09ITF8fGw9PT12b2lkIDAmJmUuc29tZSh1PT4hdS5uZWdhdGVkKXx8cyYmaC5zb21lKCh1LGYpPT4hdSYmIWVbZl0ubmVnYXRlZCkpJiYobi5wdXNoKG8pLHIpKWJyZWFrfXJldHVybiBufSwiYmFzZU1hdGNoZXIiKTtpKFpvYSwibWF0Y2hlciIpO2koWG9hLCJpc01hdGNoIil9KTt2YXIgT1VlPWMoKCk9PntGVWUoKX0pO3ZhciBHcD17fTtldChHcCx7U21hcnRNYXRjaDooKT0+cUp9KTt2YXIgcUosQlVlPWMoKCk9PntPVWUoKTtxSj1jbGFzc3tzdGF0aWN7aSh0aGlzLCJTbWFydE1hdGNoIil9Y29uc3RydWN0b3IoZSl7dGhpcy53aWxkY2FyZD1lfW1hdGNoKGUpe3JldHVybiBXcC5pc01hdGNoKGUsdGhpcy53aWxkY2FyZCl9fX0pO3ZhciBLcD17fTtldChLcCx7Q3JvbjooKT0+V1VlLENyb25EYXRlOigpPT5TMSxDcm9uUGF0dGVybjooKT0+dXEsc2NoZWR1bGVkSm9iczooKT0+czV9KTtmdW5jdGlvbiBZcCh0KXtyZXR1cm4gRGF0ZS5VVEModC55LHQubS0xLHQuZCx0LmgsdC5pLHQucyl9ZnVuY3Rpb24gVkoodCxlKXtyZXR1cm4gdC55PT09ZS55JiZ0Lm09PT1lLm0mJnQuZD09PWUuZCYmdC5oPT09ZS5oJiZ0Lmk9PT1lLmkmJnQucz09PWUuc31mdW5jdGlvbiBRb2EodCxlKXtsZXQgYT1uZXcgRGF0ZShEYXRlLnBhcnNlKHQpKTtpZihpc05hTihhKSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgSVNPODYwMSBwYXNzZWQgdG8gdGltZXpvbmUgcGFyc2VyLiIpO2xldCByPXQuc3Vic3RyaW5nKDkpO3JldHVybiByLmluY2x1ZGVzKCJaIil8fHIuaW5jbHVkZXMoIisiKXx8ci5pbmNsdWRlcygiLSIpP2pKKGEuZ2V0VVRDRnVsbFllYXIoKSxhLmdldFVUQ01vbnRoKCkrMSxhLmdldFVUQ0RhdGUoKSxhLmdldFVUQ0hvdXJzKCksYS5nZXRVVENNaW51dGVzKCksYS5nZXRVVENTZWNvbmRzKCksIkV0Yy9VVEMiKTpqSihhLmdldEZ1bGxZZWFyKCksYS5nZXRNb250aCgpKzEsYS5nZXREYXRlKCksYS5nZXRIb3VycygpLGEuZ2V0TWludXRlcygpLGEuZ2V0U2Vjb25kcygpLGUpfWZ1bmN0aW9uIEhVZSh0LGUsYSl7cmV0dXJuIHFVZShRb2EodCxlKSxhKX1mdW5jdGlvbiBxVWUodCxlKXtsZXQgYT1uZXcgRGF0ZShZcCh0KSkscj1acChhLHQudHopLHM9WXAodCksbj1ZcChyKSxvPXMtbixsPW5ldyBEYXRlKGEuZ2V0VGltZSgpK28pLGg9WnAobCx0LnR6KTtpZihWSihoLHQpKXtsZXQgcD1uZXcgRGF0ZShsLmdldFRpbWUoKS0zNmU1KSxnPVpwKHAsdC50eik7cmV0dXJuIFZKKGcsdCk/cDpsfWxldCB1PW5ldyBEYXRlKGwuZ2V0VGltZSgpK1lwKHQpLVlwKGgpKSxmPVpwKHUsdC50eik7aWYoVkooZix0KSlyZXR1cm4gdTtpZihlKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBkYXRlIHBhc3NlZCB0byBmcm9tVFooKSIpO3JldHVybiBsLmdldFRpbWUoKT51LmdldFRpbWUoKT9sOnV9ZnVuY3Rpb24gWnAodCxlKXtsZXQgYSxyO3RyeXthPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCJlbi1VUyIse3RpbWVab25lOmUseWVhcjoibnVtZXJpYyIsbW9udGg6Im51bWVyaWMiLGRheToibnVtZXJpYyIsaG91cjoibnVtZXJpYyIsbWludXRlOiJudW1lcmljIixzZWNvbmQ6Im51bWVyaWMiLGhvdXIxMjohMX0pLHI9YS5mb3JtYXRUb1BhcnRzKHQpfWNhdGNoKG4pe2xldCBvPW4gaW5zdGFuY2VvZiBFcnJvcj9uLm1lc3NhZ2U6U3RyaW5nKG4pO3Rocm93IG5ldyBSYW5nZUVycm9yKGB0b1RaOiBJbnZhbGlkIHRpbWV6b25lICcke2V9JyBvciBkYXRlLiBQbGVhc2UgcHJvdmlkZSBhIHZhbGlkIElBTkEgdGltZXpvbmUgKGUuZy4sICdBbWVyaWNhL05ld19Zb3JrJywgJ0V1cm9wZS9TdG9ja2hvbG0nKS4gT3JpZ2luYWwgZXJyb3I6ICR7b31gKX1sZXQgcz17eWVhcjowLG1vbnRoOjAsZGF5OjAsaG91cjowLG1pbnV0ZTowLHNlY29uZDowfTtmb3IobGV0IG4gb2Ygcikobi50eXBlPT09InllYXIifHxuLnR5cGU9PT0ibW9udGgifHxuLnR5cGU9PT0iZGF5Inx8bi50eXBlPT09ImhvdXIifHxuLnR5cGU9PT0ibWludXRlInx8bi50eXBlPT09InNlY29uZCIpJiYoc1tuLnR5cGVdPXBhcnNlSW50KG4udmFsdWUsMTApKTtpZihpc05hTihzLnllYXIpfHxpc05hTihzLm1vbnRoKXx8aXNOYU4ocy5kYXkpfHxpc05hTihzLmhvdXIpfHxpc05hTihzLm1pbnV0ZSl8fGlzTmFOKHMuc2Vjb25kKSl0aHJvdyBuZXcgRXJyb3IoYHRvVFo6IEZhaWxlZCB0byBwYXJzZSBhbGwgZGF0ZSBjb21wb25lbnRzIGZyb20gdGltZXpvbmUgJyR7ZX0nLiBUaGlzIG1heSBpbmRpY2F0ZSBhbiBpbnZhbGlkIGRhdGUgb3IgdGltZXpvbmUgY29uZmlndXJhdGlvbi4gUGFyc2VkIGNvbXBvbmVudHM6ICR7SlNPTi5zdHJpbmdpZnkocyl9YCk7cmV0dXJuIHMuaG91cj09PTI0JiYocy5ob3VyPTApLHt5OnMueWVhcixtOnMubW9udGgsZDpzLmRheSxoOnMuaG91cixpOnMubWludXRlLHM6cy5zZWNvbmQsdHo6ZX19ZnVuY3Rpb24gakoodCxlLGEscixzLG4sbyl7cmV0dXJue3k6dCxtOmUsZDphLGg6cixpOnMsczpuLHR6Om99fWZ1bmN0aW9uIEpvYSh0KXtpZih0PT09dm9pZCAwJiYodD17fSksZGVsZXRlIHQubmFtZSx0LmxlZ2FjeU1vZGUhPT12b2lkIDAmJnQuZG9tQW5kRG93PT09dm9pZCAwP3QuZG9tQW5kRG93PSF0LmxlZ2FjeU1vZGU6dC5kb21BbmREb3c9PT12b2lkIDAmJih0LmRvbUFuZERvdz0hMSksdC5sZWdhY3lNb2RlPSF0LmRvbUFuZERvdyx0LnBhdXNlZD10LnBhdXNlZD09PXZvaWQgMD8hMTp0LnBhdXNlZCx0Lm1heFJ1bnM9dC5tYXhSdW5zPT09dm9pZCAwPzEvMDp0Lm1heFJ1bnMsdC5jYXRjaD10LmNhdGNoPT09dm9pZCAwPyExOnQuY2F0Y2gsdC5pbnRlcnZhbD10LmludGVydmFsPT09dm9pZCAwPzA6cGFyc2VJbnQodC5pbnRlcnZhbC50b1N0cmluZygpLDEwKSx0LnV0Y09mZnNldD10LnV0Y09mZnNldD09PXZvaWQgMD92b2lkIDA6cGFyc2VJbnQodC51dGNPZmZzZXQudG9TdHJpbmcoKSwxMCksdC5kYXlPZmZzZXQ9dC5kYXlPZmZzZXQ9PT12b2lkIDA/MDpwYXJzZUludCh0LmRheU9mZnNldC50b1N0cmluZygpLDEwKSx0LnVucmVmPXQudW5yZWY9PT12b2lkIDA/ITE6dC51bnJlZix0Lm1vZGU9dC5tb2RlPT09dm9pZCAwPyJhdXRvIjp0Lm1vZGUsdC5hbHRlcm5hdGl2ZVdlZWtkYXlzPXQuYWx0ZXJuYXRpdmVXZWVrZGF5cz09PXZvaWQgMD8hMTp0LmFsdGVybmF0aXZlV2Vla2RheXMsdC5zbG9wcHlSYW5nZXM9dC5zbG9wcHlSYW5nZXM9PT12b2lkIDA/ITE6dC5zbG9wcHlSYW5nZXMsIVsiYXV0byIsIjUtcGFydCIsIjYtcGFydCIsIjctcGFydCIsIjUtb3ItNi1wYXJ0cyIsIjYtb3ItNy1wYXJ0cyJdLmluY2x1ZGVzKHQubW9kZSkpdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogbW9kZSBtdXN0IGJlIG9uZSBvZiAnYXV0bycsICc1LXBhcnQnLCAnNi1wYXJ0JywgJzctcGFydCcsICc1LW9yLTYtcGFydHMnLCBvciAnNi1vci03LXBhcnRzJy4iKTtpZih0LnN0YXJ0QXQmJih0LnN0YXJ0QXQ9bmV3IFMxKHQuc3RhcnRBdCx0LnRpbWV6b25lKSksdC5zdG9wQXQmJih0LnN0b3BBdD1uZXcgUzEodC5zdG9wQXQsdC50aW1lem9uZSkpLHQuaW50ZXJ2YWwhPT1udWxsKXtpZihpc05hTih0LmludGVydmFsKSl0aHJvdyBuZXcgRXJyb3IoIkNyb25PcHRpb25zOiBTdXBwbGllZCB2YWx1ZSBmb3IgaW50ZXJ2YWwgaXMgbm90IGEgbnVtYmVyIik7aWYodC5pbnRlcnZhbDwwKXRocm93IG5ldyBFcnJvcigiQ3Jvbk9wdGlvbnM6IFN1cHBsaWVkIHZhbHVlIGZvciBpbnRlcnZhbCBjYW4gbm90IGJlIG5lZ2F0aXZlIil9aWYodC51dGNPZmZzZXQhPT12b2lkIDApe2lmKGlzTmFOKHQudXRjT2Zmc2V0KSl0aHJvdyBuZXcgRXJyb3IoIkNyb25PcHRpb25zOiBJbnZhbGlkIHZhbHVlIHBhc3NlZCBmb3IgdXRjT2Zmc2V0LCBzaG91bGQgYmUgbnVtYmVyIHJlcHJlc2VudGluZyBtaW51dGVzIG9mZnNldCBmcm9tIFVUQy4iKTtpZih0LnV0Y09mZnNldDwtODcwfHx0LnV0Y09mZnNldD44NzApdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogdXRjT2Zmc2V0IG91dCBvZiBib3VuZHMuIik7aWYodC51dGNPZmZzZXQhPT12b2lkIDAmJnQudGltZXpvbmUpdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogQ29tYmluaW5nICd1dGNPZmZzZXQnIHdpdGggJ3RpbWV6b25lJyBpcyBub3QgYWxsb3dlZC4iKX1pZih0LnVucmVmIT09ITAmJnQudW5yZWYhPT0hMSl0aHJvdyBuZXcgRXJyb3IoIkNyb25PcHRpb25zOiBVbnJlZiBzaG91bGQgYmUgZWl0aGVyIHRydWUsIGZhbHNlIG9yIHVuZGVmaW5lZChmYWxzZSkuIik7aWYodC5kYXlPZmZzZXQhPT12b2lkIDAmJnQuZGF5T2Zmc2V0IT09MCYmaXNOYU4odC5kYXlPZmZzZXQpKXRocm93IG5ldyBFcnJvcigiQ3Jvbk9wdGlvbnM6IEludmFsaWQgdmFsdWUgcGFzc2VkIGZvciBkYXlPZmZzZXQsIHNob3VsZCBiZSBhIG51bWJlciByZXByZXNlbnRpbmcgZGF5cyB0byBvZmZzZXQuIik7cmV0dXJuIHR9ZnVuY3Rpb24gWHAodCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KT09PSJbb2JqZWN0IEZ1bmN0aW9uXSJ8fHR5cGVvZiB0PT0iZnVuY3Rpb24ifHx0IGluc3RhbmNlb2YgRnVuY3Rpb259ZnVuY3Rpb24gZW5hKHQpe3JldHVybiBYcCh0KX1mdW5jdGlvbiB0bmEodCl7dHlwZW9mIERlbm88InUiJiZ0eXBlb2YgRGVuby51bnJlZlRpbWVyPCJ1Ij9EZW5vLnVucmVmVGltZXIodCk6dCYmdHlwZW9mIHQudW5yZWY8InUiJiZ0LnVucmVmKCl9dmFyIFZVZSx1cSxVSixFYSxTMSxqVWUsczUsV1VlLEdVZT1jKCgpPT57aShZcCwiVCIpO2koVkosIkQiKTtpKFFvYSwiQSIpO2koSFVlLCJ2Iik7aShxVWUsImsiKTtpKFpwLCJnIik7aShqSiwiYiIpO1ZVZT1bMSwyLDQsOCwxNl0sdXE9Y2xhc3N7c3RhdGlje2kodGhpcywiQyIpfXBhdHRlcm47dGltZXpvbmU7bW9kZTthbHRlcm5hdGl2ZVdlZWtkYXlzO3Nsb3BweVJhbmdlcztzZWNvbmQ7bWludXRlO2hvdXI7ZGF5O21vbnRoO2RheU9mV2Vlazt5ZWFyO2xhc3REYXlPZk1vbnRoO2xhc3RXZWVrZGF5O25lYXJlc3RXZWVrZGF5cztzdGFyRE9NO3N0YXJET1c7c3RhclllYXI7dXNlQW5kTG9naWM7Y29uc3RydWN0b3IodCxlLGEpe3RoaXMucGF0dGVybj10LHRoaXMudGltZXpvbmU9ZSx0aGlzLm1vZGU9YT8ubW9kZT8/ImF1dG8iLHRoaXMuYWx0ZXJuYXRpdmVXZWVrZGF5cz1hPy5hbHRlcm5hdGl2ZVdlZWtkYXlzPz8hMSx0aGlzLnNsb3BweVJhbmdlcz1hPy5zbG9wcHlSYW5nZXM/PyExLHRoaXMuc2Vjb25kPUFycmF5KDYwKS5maWxsKDApLHRoaXMubWludXRlPUFycmF5KDYwKS5maWxsKDApLHRoaXMuaG91cj1BcnJheSgyNCkuZmlsbCgwKSx0aGlzLmRheT1BcnJheSgzMSkuZmlsbCgwKSx0aGlzLm1vbnRoPUFycmF5KDEyKS5maWxsKDApLHRoaXMuZGF5T2ZXZWVrPUFycmF5KDcpLmZpbGwoMCksdGhpcy55ZWFyPUFycmF5KDFlNCkuZmlsbCgwKSx0aGlzLmxhc3REYXlPZk1vbnRoPSExLHRoaXMubGFzdFdlZWtkYXk9ITEsdGhpcy5uZWFyZXN0V2Vla2RheXM9QXJyYXkoMzEpLmZpbGwoMCksdGhpcy5zdGFyRE9NPSExLHRoaXMuc3RhckRPVz0hMSx0aGlzLnN0YXJZZWFyPSExLHRoaXMudXNlQW5kTG9naWM9ITEsdGhpcy5wYXJzZSgpfXBhcnNlKCl7aWYoISh0eXBlb2YgdGhpcy5wYXR0ZXJuPT0ic3RyaW5nInx8dGhpcy5wYXR0ZXJuIGluc3RhbmNlb2YgU3RyaW5nKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogUGF0dGVybiBoYXMgdG8gYmUgb2YgdHlwZSBzdHJpbmcuIik7dGhpcy5wYXR0ZXJuLmluZGV4T2YoIkAiKT49MCYmKHRoaXMucGF0dGVybj10aGlzLmhhbmRsZU5pY2tuYW1lcyh0aGlzLnBhdHRlcm4pLnRyaW0oKSk7bGV0IHQ9dGhpcy5wYXR0ZXJuLm1hdGNoKC9cUysvZyl8fFsiIl0sZT10Lmxlbmd0aDtpZih0Lmxlbmd0aDw1fHx0Lmxlbmd0aD43KXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBpbnZhbGlkIGNvbmZpZ3VyYXRpb24gZm9ybWF0ICgnIit0aGlzLnBhdHRlcm4rIicpLCBleGFjdGx5IGZpdmUsIHNpeCwgb3Igc2V2ZW4gc3BhY2Ugc2VwYXJhdGVkIHBhcnRzIGFyZSByZXF1aXJlZC4iKTtpZih0aGlzLm1vZGUhPT0iYXV0byIpe2xldCByO3N3aXRjaCh0aGlzLm1vZGUpe2Nhc2UiNS1wYXJ0IjpyPTU7YnJlYWs7Y2FzZSI2LXBhcnQiOnI9NjticmVhaztjYXNlIjctcGFydCI6cj03O2JyZWFrO2Nhc2UiNS1vci02LXBhcnRzIjpyPVs1LDZdO2JyZWFrO2Nhc2UiNi1vci03LXBhcnRzIjpyPVs2LDddO2JyZWFrO2RlZmF1bHQ6cj0wfWlmKCEoQXJyYXkuaXNBcnJheShyKT9yLmluY2x1ZGVzKGUpOmU9PT1yKSl7bGV0IHM9QXJyYXkuaXNBcnJheShyKT9yLmpvaW4oIiBvciAiKTpyLnRvU3RyaW5nKCk7dGhyb3cgbmV3IFR5cGVFcnJvcihgQ3JvblBhdHRlcm46IG1vZGUgJyR7dGhpcy5tb2RlfScgcmVxdWlyZXMgZXhhY3RseSAke3N9IHBhcnRzLCBidXQgcGF0dGVybiAnJHt0aGlzLnBhdHRlcm59JyBoYXMgJHtlfSBwYXJ0cy5gKX19aWYodC5sZW5ndGg9PT01JiZ0LnVuc2hpZnQoIjAiKSx0Lmxlbmd0aD09PTYmJnQucHVzaCgiKiIpLHRbM10udG9VcHBlckNhc2UoKT09PSJMVyI/KHRoaXMubGFzdFdlZWtkYXk9ITAsdFszXT0iIik6dFszXS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIkwiKT49MCYmKHRbM109dFszXS5yZXBsYWNlKC9ML2dpLCIiKSx0aGlzLmxhc3REYXlPZk1vbnRoPSEwKSx0WzNdPT0iKiImJih0aGlzLnN0YXJET009ITApLHRbNl09PSIqIiYmKHRoaXMuc3RhclllYXI9ITApLHRbNF0ubGVuZ3RoPj0zJiYodFs0XT10aGlzLnJlcGxhY2VBbHBoYU1vbnRocyh0WzRdKSksdFs1XS5sZW5ndGg+PTMmJih0WzVdPXRoaXMuYWx0ZXJuYXRpdmVXZWVrZGF5cz90aGlzLnJlcGxhY2VBbHBoYURheXNRdWFydHoodFs1XSk6dGhpcy5yZXBsYWNlQWxwaGFEYXlzKHRbNV0pKSx0WzVdLnN0YXJ0c1dpdGgoIisiKSYmKHRoaXMudXNlQW5kTG9naWM9ITAsdFs1XT10WzVdLnN1YnN0cmluZygxKSx0WzVdPT09IiIpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBEYXktb2Ytd2VlayBmaWVsZCBjYW5ub3QgYmUgZW1wdHkgYWZ0ZXIgJysnIG1vZGlmaWVyLiIpO3N3aXRjaCh0WzVdPT0iKiImJih0aGlzLnN0YXJET1c9ITApLHRoaXMucGF0dGVybi5pbmRleE9mKCI/Iik+PTAmJih0WzBdPXRbMF0ucmVwbGFjZSgvXD8vZywiKiIpLHRbMV09dFsxXS5yZXBsYWNlKC9cPy9nLCIqIiksdFsyXT10WzJdLnJlcGxhY2UoL1w/L2csIioiKSx0WzNdPXRbM10ucmVwbGFjZSgvXD8vZywiKiIpLHRbNF09dFs0XS5yZXBsYWNlKC9cPy9nLCIqIiksdFs1XT10WzVdLnJlcGxhY2UoL1w/L2csIioiKSx0WzZdJiYodFs2XT10WzZdLnJlcGxhY2UoL1w/L2csIioiKSkpLHRoaXMubW9kZSl7Y2FzZSI1LXBhcnQiOnRbMF09IjAiLHRbNl09IioiO2JyZWFrO2Nhc2UiNi1wYXJ0Ijp0WzZdPSIqIjticmVhaztjYXNlIjUtb3ItNi1wYXJ0cyI6dFs2XT0iKiI7YnJlYWs7Y2FzZSI2LW9yLTctcGFydHMiOmJyZWFrO2Nhc2UiNy1wYXJ0IjpjYXNlImF1dG8iOmJyZWFrfXRoaXMudGhyb3dBdElsbGVnYWxDaGFyYWN0ZXJzKHQpLHRoaXMucGFydFRvQXJyYXkoInNlY29uZCIsdFswXSwwLDEpLHRoaXMucGFydFRvQXJyYXkoIm1pbnV0ZSIsdFsxXSwwLDEpLHRoaXMucGFydFRvQXJyYXkoImhvdXIiLHRbMl0sMCwxKSx0aGlzLnBhcnRUb0FycmF5KCJkYXkiLHRbM10sLTEsMSksdGhpcy5wYXJ0VG9BcnJheSgibW9udGgiLHRbNF0sLTEsMSk7bGV0IGE9dGhpcy5hbHRlcm5hdGl2ZVdlZWtkYXlzPy0xOjA7dGhpcy5wYXJ0VG9BcnJheSgiZGF5T2ZXZWVrIix0WzVdLGEsNjMpLHRoaXMucGFydFRvQXJyYXkoInllYXIiLHRbNl0sMCwxKSwhdGhpcy5hbHRlcm5hdGl2ZVdlZWtkYXlzJiZ0aGlzLmRheU9mV2Vla1s3XSYmKHRoaXMuZGF5T2ZXZWVrWzBdPXRoaXMuZGF5T2ZXZWVrWzddKX1wYXJ0VG9BcnJheSh0LGUsYSxyKXtsZXQgcz10aGlzW3RdLG49dD09PSJkYXkiJiZ0aGlzLmxhc3REYXlPZk1vbnRoLG89dD09PSJkYXkiJiZ0aGlzLmxhc3RXZWVrZGF5O2lmKGU9PT0iIiYmIW4mJiFvKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBjb25maWd1cmF0aW9uIGVudHJ5ICIrdCsiICgiK2UrIikgaXMgZW1wdHksIGNoZWNrIGZvciB0cmFpbGluZyBzcGFjZXMuIik7aWYoZT09PSIqIilyZXR1cm4gcy5maWxsKHIpO2xldCBsPWUuc3BsaXQoIiwiKTtpZihsLmxlbmd0aD4xKWZvcihsZXQgaD0wO2g8bC5sZW5ndGg7aCsrKXRoaXMucGFydFRvQXJyYXkodCxsW2hdLGEscik7ZWxzZSBlLmluZGV4T2YoIi0iKSE9PS0xJiZlLmluZGV4T2YoIi8iKSE9PS0xP3RoaXMuaGFuZGxlUmFuZ2VXaXRoU3RlcHBpbmcoZSx0LGEscik6ZS5pbmRleE9mKCItIikhPT0tMT90aGlzLmhhbmRsZVJhbmdlKGUsdCxhLHIpOmUuaW5kZXhPZigiLyIpIT09LTE/dGhpcy5oYW5kbGVTdGVwcGluZyhlLHQsYSxyKTplIT09IiImJnRoaXMuaGFuZGxlTnVtYmVyKGUsdCxhLHIpfXRocm93QXRJbGxlZ2FsQ2hhcmFjdGVycyh0KXtmb3IobGV0IGU9MDtlPHQubGVuZ3RoO2UrKylpZigoZT09PTM/L1teLyowLTksXC1Xd0xsXSsvOmU9PT01Py9bXi8qMC05LFwtI0xsXSsvOi9bXi8qMC05LFwtXSsvKS50ZXN0KHRbZV0pKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBjb25maWd1cmF0aW9uIGVudHJ5ICIrZSsiICgiK3RbZV0rIikgY29udGFpbnMgaWxsZWdhbCBjaGFyYWN0ZXJzLiIpfWhhbmRsZU51bWJlcih0LGUsYSxyKXtsZXQgcz10aGlzLmV4dHJhY3ROdGgodCxlKSxuPXQudG9VcHBlckNhc2UoKS5pbmNsdWRlcygiVyIpO2lmKGUhPT0iZGF5IiYmbil0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogTmVhcmVzdCB3ZWVrZGF5IG1vZGlmaWVyIChXKSBvbmx5IGFsbG93ZWQgaW4gZGF5LW9mLW1vbnRoLiIpO24mJihlPSJuZWFyZXN0V2Vla2RheXMiKTtsZXQgbz1wYXJzZUludChzWzBdLDEwKSthO2lmKGlzTmFOKG8pKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiAiK2UrIiBpcyBub3QgYSBudW1iZXI6ICciK3QrIiciKTt0aGlzLnNldFBhcnQoZSxvLHNbMV18fHIpfXNldFBhcnQodCxlLGEpe2lmKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcyx0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogSW52YWxpZCBwYXJ0IHNwZWNpZmllZDogIit0KTtpZih0PT09ImRheU9mV2VlayIpe2lmKGU9PT03JiYoZT0wKSxlPDB8fGU+Nil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ3JvblBhdHRlcm46IEludmFsaWQgdmFsdWUgZm9yIGRheU9mV2VlazogIitlKTt0aGlzLnNldE50aFdlZWtkYXlPZk1vbnRoKGUsYSk7cmV0dXJufWlmKHQ9PT0ic2Vjb25kInx8dD09PSJtaW51dGUiKXtpZihlPDB8fGU+PTYwKXRocm93IG5ldyBSYW5nZUVycm9yKCJDcm9uUGF0dGVybjogSW52YWxpZCB2YWx1ZSBmb3IgIit0KyI6ICIrZSl9ZWxzZSBpZih0PT09ImhvdXIiKXtpZihlPDB8fGU+PTI0KXRocm93IG5ldyBSYW5nZUVycm9yKCJDcm9uUGF0dGVybjogSW52YWxpZCB2YWx1ZSBmb3IgIit0KyI6ICIrZSl9ZWxzZSBpZih0PT09ImRheSJ8fHQ9PT0ibmVhcmVzdFdlZWtkYXlzIil7aWYoZTwwfHxlPj0zMSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ3JvblBhdHRlcm46IEludmFsaWQgdmFsdWUgZm9yICIrdCsiOiAiK2UpfWVsc2UgaWYodD09PSJtb250aCIpe2lmKGU8MHx8ZT49MTIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNyb25QYXR0ZXJuOiBJbnZhbGlkIHZhbHVlIGZvciAiK3QrIjogIitlKX1lbHNlIGlmKHQ9PT0ieWVhciImJihlPDF8fGU+PTFlNCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNyb25QYXR0ZXJuOiBJbnZhbGlkIHZhbHVlIGZvciAiK3QrIjogIitlKyIgKHN1cHBvcnRlZCByYW5nZTogMS05OTk5KSIpO3RoaXNbdF1bZV09YX12YWxpZGF0ZU5vdE5hTih0LGUpe2lmKGlzTmFOKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoZSl9dmFsaWRhdGVSYW5nZSh0LGUsYSxyLHMpe2lmKHQ+ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogRnJvbSB2YWx1ZSBpcyBsYXJnZXIgdGhhbiB0byB2YWx1ZTogJyIrcysiJyIpO2lmKGEhPT12b2lkIDApe2lmKGE9PT0wKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgc3RlcHBpbmc6IDAiKTtpZihhPnRoaXNbcl0ubGVuZ3RoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIHN0ZXBzIGNhbm5vdCBiZSBncmVhdGVyIHRoYW4gbWF4aW11bSB2YWx1ZSBvZiBwYXJ0ICgiK3RoaXNbcl0ubGVuZ3RoKyIpIil9fWhhbmRsZVJhbmdlV2l0aFN0ZXBwaW5nKHQsZSxhLHIpe2lmKHQudG9VcHBlckNhc2UoKS5pbmNsdWRlcygiVyIpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIFcgaXMgbm90IGFsbG93ZWQgaW4gcmFuZ2VzIHdpdGggc3RlcHBpbmcuIik7bGV0IHM9dGhpcy5leHRyYWN0TnRoKHQsZSksbj1zWzBdLm1hdGNoKC9eKFxkKyktKFxkKylcLyhcZCspJC8pO2lmKG49PT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgcmFuZ2Ugd2l0aCBzdGVwcGluZzogJyIrdCsiJyIpO2xldFssbyxsLGhdPW4sdT1wYXJzZUludChvLDEwKSthLGY9cGFyc2VJbnQobCwxMCkrYSxwPXBhcnNlSW50KGgsMTApO3RoaXMudmFsaWRhdGVOb3ROYU4odSwiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCBsb3dlciByYW5nZSAoTmFOKSIpLHRoaXMudmFsaWRhdGVOb3ROYU4oZiwiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCB1cHBlciByYW5nZSAoTmFOKSIpLHRoaXMudmFsaWRhdGVOb3ROYU4ocCwiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCBzdGVwcGluZzogKE5hTikiKSx0aGlzLnZhbGlkYXRlUmFuZ2UodSxmLHAsZSx0KTtmb3IobGV0IGc9dTtnPD1mO2crPXApdGhpcy5zZXRQYXJ0KGUsZyxzWzFdfHxyKX1leHRyYWN0TnRoKHQsZSl7bGV0IGE9dCxyO2lmKGEuaW5jbHVkZXMoIiMiKSl7aWYoZSE9PSJkYXlPZldlZWsiKXRocm93IG5ldyBFcnJvcigiQ3JvblBhdHRlcm46IG50aCAoIykgb25seSBhbGxvd2VkIGluIGRheS1vZi13ZWVrIGZpZWxkIik7cj1hLnNwbGl0KCIjIilbMV0sYT1hLnNwbGl0KCIjIilbMF19ZWxzZSBpZihhLnRvVXBwZXJDYXNlKCkuZW5kc1dpdGgoIkwiKSl7aWYoZSE9PSJkYXlPZldlZWsiKXRocm93IG5ldyBFcnJvcigiQ3JvblBhdHRlcm46IEwgbW9kaWZpZXIgb25seSBhbGxvd2VkIGluIGRheS1vZi13ZWVrIGZpZWxkICh1c2UgTCBhbG9uZSBmb3IgZGF5LW9mLW1vbnRoKSIpO3I9IkwiLGE9YS5zbGljZSgwLC0xKX1yZXR1cm5bYSxyXX1oYW5kbGVSYW5nZSh0LGUsYSxyKXtpZih0LnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoIlciKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBXIGlzIG5vdCBhbGxvd2VkIGluIGEgcmFuZ2UuIik7bGV0IHM9dGhpcy5leHRyYWN0TnRoKHQsZSksbj1zWzBdLnNwbGl0KCItIik7aWYobi5sZW5ndGghPT0yKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgcmFuZ2U6ICciK3QrIiciKTtsZXQgbz1wYXJzZUludChuWzBdLDEwKSthLGw9cGFyc2VJbnQoblsxXSwxMCkrYTt0aGlzLnZhbGlkYXRlTm90TmFOKG8sIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgbG93ZXIgcmFuZ2UgKE5hTikiKSx0aGlzLnZhbGlkYXRlTm90TmFOKGwsIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgdXBwZXIgcmFuZ2UgKE5hTikiKSx0aGlzLnZhbGlkYXRlUmFuZ2UobyxsLHZvaWQgMCxlLHQpO2ZvcihsZXQgaD1vO2g8PWw7aCsrKXRoaXMuc2V0UGFydChlLGgsc1sxXXx8cil9aGFuZGxlU3RlcHBpbmcodCxlLGEscil7aWYodC50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKCJXIikpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgVyBpcyBub3QgYWxsb3dlZCBpbiBwYXJ0cyB3aXRoIHN0ZXBwaW5nLiIpO2xldCBzPXRoaXMuZXh0cmFjdE50aCh0LGUpLG49c1swXS5zcGxpdCgiLyIpO2lmKG4ubGVuZ3RoIT09Mil0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBpbGxlZ2FsIHN0ZXBwaW5nOiAnIit0KyInIik7aWYodGhpcy5zbG9wcHlSYW5nZXMpblswXT09PSIiJiYoblswXT0iKiIpO2Vsc2V7aWYoblswXT09PSIiKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIHN0ZXBwaW5nIHdpdGggbWlzc2luZyBwcmVmaXggKCciK3QrIicpIGlzIG5vdCBhbGxvd2VkLiBVc2Ugd2lsZGNhcmQgKCovc3RlcCkgb3IgcmFuZ2UgKG1pbi1tYXgvc3RlcCkgaW5zdGVhZC4iKTtpZihuWzBdIT09IioiKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIHN0ZXBwaW5nIHdpdGggbnVtZXJpYyBwcmVmaXggKCciK3QrIicpIGlzIG5vdCBhbGxvd2VkLiBVc2Ugd2lsZGNhcmQgKCovc3RlcCkgb3IgcmFuZ2UgKG1pbi1tYXgvc3RlcCkgaW5zdGVhZC4iKX1sZXQgbz0wO25bMF0hPT0iKiImJihvPXBhcnNlSW50KG5bMF0sMTApK2EpO2xldCBsPXBhcnNlSW50KG5bMV0sMTApO3RoaXMudmFsaWRhdGVOb3ROYU4obCwiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCBzdGVwcGluZzogKE5hTikiKSx0aGlzLnZhbGlkYXRlUmFuZ2UoMCx0aGlzW2VdLmxlbmd0aC0xLGwsZSx0KTtmb3IobGV0IGg9bztoPHRoaXNbZV0ubGVuZ3RoO2grPWwpdGhpcy5zZXRQYXJ0KGUsaCxzWzFdfHxyKX1yZXBsYWNlQWxwaGFEYXlzKHQpe3JldHVybiB0LnJlcGxhY2UoLy1zdW4vZ2ksIi03IikucmVwbGFjZSgvc3VuL2dpLCIwIikucmVwbGFjZSgvbW9uL2dpLCIxIikucmVwbGFjZSgvdHVlL2dpLCIyIikucmVwbGFjZSgvd2VkL2dpLCIzIikucmVwbGFjZSgvdGh1L2dpLCI0IikucmVwbGFjZSgvZnJpL2dpLCI1IikucmVwbGFjZSgvc2F0L2dpLCI2Iil9cmVwbGFjZUFscGhhRGF5c1F1YXJ0eih0KXtyZXR1cm4gdC5yZXBsYWNlKC9zdW4vZ2ksIjEiKS5yZXBsYWNlKC9tb24vZ2ksIjIiKS5yZXBsYWNlKC90dWUvZ2ksIjMiKS5yZXBsYWNlKC93ZWQvZ2ksIjQiKS5yZXBsYWNlKC90aHUvZ2ksIjUiKS5yZXBsYWNlKC9mcmkvZ2ksIjYiKS5yZXBsYWNlKC9zYXQvZ2ksIjciKX1yZXBsYWNlQWxwaGFNb250aHModCl7cmV0dXJuIHQucmVwbGFjZSgvamFuL2dpLCIxIikucmVwbGFjZSgvZmViL2dpLCIyIikucmVwbGFjZSgvbWFyL2dpLCIzIikucmVwbGFjZSgvYXByL2dpLCI0IikucmVwbGFjZSgvbWF5L2dpLCI1IikucmVwbGFjZSgvanVuL2dpLCI2IikucmVwbGFjZSgvanVsL2dpLCI3IikucmVwbGFjZSgvYXVnL2dpLCI4IikucmVwbGFjZSgvc2VwL2dpLCI5IikucmVwbGFjZSgvb2N0L2dpLCIxMCIpLnJlcGxhY2UoL25vdi9naSwiMTEiKS5yZXBsYWNlKC9kZWMvZ2ksIjEyIil9aGFuZGxlTmlja25hbWVzKHQpe2xldCBlPXQudHJpbSgpLnRvTG93ZXJDYXNlKCk7aWYoZT09PSJAeWVhcmx5Inx8ZT09PSJAYW5udWFsbHkiKXJldHVybiIwIDAgMSAxICoiO2lmKGU9PT0iQG1vbnRobHkiKXJldHVybiIwIDAgMSAqICoiO2lmKGU9PT0iQHdlZWtseSIpcmV0dXJuIjAgMCAqICogMCI7aWYoZT09PSJAZGFpbHkifHxlPT09IkBtaWRuaWdodCIpcmV0dXJuIjAgMCAqICogKiI7aWYoZT09PSJAaG91cmx5IilyZXR1cm4iMCAqICogKiAqIjtpZihlPT09IkByZWJvb3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBAcmVib290IGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBlbnZpcm9ubWVudC4gVGhpcyBpcyBhbiBldmVudC1iYXNlZCB0cmlnZ2VyIHRoYXQgcmVxdWlyZXMgc3lzdGVtIHN0YXJ0dXAgZGV0ZWN0aW9uLiIpO3JldHVybiB0fXNldE50aFdlZWtkYXlPZk1vbnRoKHQsZSl7aWYodHlwZW9mIGUhPSJudW1iZXIiJiZlLnRvVXBwZXJDYXNlKCk9PT0iTCIpdGhpcy5kYXlPZldlZWtbdF09dGhpcy5kYXlPZldlZWtbdF18MzI7ZWxzZSBpZihlPT09NjMpdGhpcy5kYXlPZldlZWtbdF09NjM7ZWxzZSBpZihlPDYmJmU+MCl0aGlzLmRheU9mV2Vla1t0XT10aGlzLmRheU9mV2Vla1t0XXxWVWVbZS0xXTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoYENyb25QYXR0ZXJuOiBudGggd2Vla2RheSBvdXQgb2YgcmFuZ2UsIHNob3VsZCBiZSAxLTUgb3IgTC4gVmFsdWU6ICR7ZX0sIFR5cGU6ICR7dHlwZW9mIGV9YCl9fSxVSj1bMzEsMjgsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdLEVhPVtbIm1vbnRoIiwieWVhciIsMF0sWyJkYXkiLCJtb250aCIsLTFdLFsiaG91ciIsImRheSIsMF0sWyJtaW51dGUiLCJob3VyIiwwXSxbInNlY29uZCIsIm1pbnV0ZSIsMF1dLFMxPWNsYXNzIFVVZXtzdGF0aWN7aSh0aGlzLCJzIil9dHo7bXM7c2Vjb25kO21pbnV0ZTtob3VyO2RheTttb250aDt5ZWFyO2NvbnN0cnVjdG9yKGUsYSl7aWYodGhpcy50ej1hLGUmJmUgaW5zdGFuY2VvZiBEYXRlKWlmKCFpc05hTihlKSl0aGlzLmZyb21EYXRlKGUpO2Vsc2UgdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvbkRhdGU6IEludmFsaWQgZGF0ZSBwYXNzZWQgdG8gQ3JvbkRhdGUgY29uc3RydWN0b3IiKTtlbHNlIGlmKGU9PW51bGwpdGhpcy5mcm9tRGF0ZShuZXcgRGF0ZSk7ZWxzZSBpZihlJiZ0eXBlb2YgZT09InN0cmluZyIpdGhpcy5mcm9tU3RyaW5nKGUpO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIFVVZSl0aGlzLmZyb21Dcm9uRGF0ZShlKTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25EYXRlOiBJbnZhbGlkIHR5cGUgKCIrdHlwZW9mIGUrIikgcGFzc2VkIHRvIENyb25EYXRlIGNvbnN0cnVjdG9yIil9Z2V0TGFzdERheU9mTW9udGgoZSxhKXtyZXR1cm4gYSE9PTE/VUpbYV06bmV3IERhdGUoRGF0ZS5VVEMoZSxhKzEsMCkpLmdldFVUQ0RhdGUoKX1nZXRMYXN0V2Vla2RheShlLGEpe2xldCByPXRoaXMuZ2V0TGFzdERheU9mTW9udGgoZSxhKSxzPW5ldyBEYXRlKERhdGUuVVRDKGUsYSxyKSkuZ2V0VVRDRGF5KCk7cmV0dXJuIHM9PT0wP3ItMjpzPT09Nj9yLTE6cn1nZXROZWFyZXN0V2Vla2RheShlLGEscil7bGV0IHM9dGhpcy5nZXRMYXN0RGF5T2ZNb250aChlLGEpO2lmKHI+cylyZXR1cm4tMTtsZXQgbj1uZXcgRGF0ZShEYXRlLlVUQyhlLGEscikpLmdldFVUQ0RheSgpO3JldHVybiBuPT09MD9yPT09cz9yLTI6cisxOm49PT02P3I9PT0xP3IrMjpyLTE6cn1pc050aFdlZWtkYXlPZk1vbnRoKGUsYSxyLHMpe2xldCBuPW5ldyBEYXRlKERhdGUuVVRDKGUsYSxyKSkuZ2V0VVRDRGF5KCksbz0wO2ZvcihsZXQgbD0xO2w8PXI7bCsrKW5ldyBEYXRlKERhdGUuVVRDKGUsYSxsKSkuZ2V0VVRDRGF5KCk9PT1uJiZvKys7aWYocyY2MyYmVlVlW28tMV0mcylyZXR1cm4hMDtpZihzJjMyKXtsZXQgbD10aGlzLmdldExhc3REYXlPZk1vbnRoKGUsYSk7Zm9yKGxldCBoPXIrMTtoPD1sO2grKylpZihuZXcgRGF0ZShEYXRlLlVUQyhlLGEsaCkpLmdldFVUQ0RheSgpPT09bilyZXR1cm4hMTtyZXR1cm4hMH1yZXR1cm4hMX1mcm9tRGF0ZShlKXtpZih0aGlzLnR6IT09dm9pZCAwKWlmKHR5cGVvZiB0aGlzLnR6PT0ibnVtYmVyIil0aGlzLm1zPWUuZ2V0VVRDTWlsbGlzZWNvbmRzKCksdGhpcy5zZWNvbmQ9ZS5nZXRVVENTZWNvbmRzKCksdGhpcy5taW51dGU9ZS5nZXRVVENNaW51dGVzKCkrdGhpcy50eix0aGlzLmhvdXI9ZS5nZXRVVENIb3VycygpLHRoaXMuZGF5PWUuZ2V0VVRDRGF0ZSgpLHRoaXMubW9udGg9ZS5nZXRVVENNb250aCgpLHRoaXMueWVhcj1lLmdldFVUQ0Z1bGxZZWFyKCksdGhpcy5hcHBseSgpO2Vsc2UgdHJ5e2xldCBhPVpwKGUsdGhpcy50eik7dGhpcy5tcz1lLmdldE1pbGxpc2Vjb25kcygpLHRoaXMuc2Vjb25kPWEucyx0aGlzLm1pbnV0ZT1hLmksdGhpcy5ob3VyPWEuaCx0aGlzLmRheT1hLmQsdGhpcy5tb250aD1hLm0tMSx0aGlzLnllYXI9YS55fWNhdGNoKGEpe2xldCByPWEgaW5zdGFuY2VvZiBFcnJvcj9hLm1lc3NhZ2U6U3RyaW5nKGEpO3Rocm93IG5ldyBUeXBlRXJyb3IoYENyb25EYXRlOiBGYWlsZWQgdG8gY29udmVydCBkYXRlIHRvIHRpbWV6b25lICcke3RoaXMudHp9Jy4gVGhpcyBtYXkgaGFwcGVuIHdpdGggaW52YWxpZCB0aW1lem9uZSBuYW1lcyBvciBkYXRlcy4gT3JpZ2luYWwgZXJyb3I6ICR7cn1gKX1lbHNlIHRoaXMubXM9ZS5nZXRNaWxsaXNlY29uZHMoKSx0aGlzLnNlY29uZD1lLmdldFNlY29uZHMoKSx0aGlzLm1pbnV0ZT1lLmdldE1pbnV0ZXMoKSx0aGlzLmhvdXI9ZS5nZXRIb3VycygpLHRoaXMuZGF5PWUuZ2V0RGF0ZSgpLHRoaXMubW9udGg9ZS5nZXRNb250aCgpLHRoaXMueWVhcj1lLmdldEZ1bGxZZWFyKCl9ZnJvbUNyb25EYXRlKGUpe3RoaXMudHo9ZS50eix0aGlzLnllYXI9ZS55ZWFyLHRoaXMubW9udGg9ZS5tb250aCx0aGlzLmRheT1lLmRheSx0aGlzLmhvdXI9ZS5ob3VyLHRoaXMubWludXRlPWUubWludXRlLHRoaXMuc2Vjb25kPWUuc2Vjb25kLHRoaXMubXM9ZS5tc31hcHBseSgpe2lmKHRoaXMubW9udGg+MTF8fHRoaXMubW9udGg8MHx8dGhpcy5kYXk+VUpbdGhpcy5tb250aF18fHRoaXMuZGF5PDF8fHRoaXMuaG91cj41OXx8dGhpcy5taW51dGU+NTl8fHRoaXMuc2Vjb25kPjU5fHx0aGlzLmhvdXI8MHx8dGhpcy5taW51dGU8MHx8dGhpcy5zZWNvbmQ8MCl7bGV0IGU9bmV3IERhdGUoRGF0ZS5VVEModGhpcy55ZWFyLHRoaXMubW9udGgsdGhpcy5kYXksdGhpcy5ob3VyLHRoaXMubWludXRlLHRoaXMuc2Vjb25kLHRoaXMubXMpKTtyZXR1cm4gdGhpcy5tcz1lLmdldFVUQ01pbGxpc2Vjb25kcygpLHRoaXMuc2Vjb25kPWUuZ2V0VVRDU2Vjb25kcygpLHRoaXMubWludXRlPWUuZ2V0VVRDTWludXRlcygpLHRoaXMuaG91cj1lLmdldFVUQ0hvdXJzKCksdGhpcy5kYXk9ZS5nZXRVVENEYXRlKCksdGhpcy5tb250aD1lLmdldFVUQ01vbnRoKCksdGhpcy55ZWFyPWUuZ2V0VVRDRnVsbFllYXIoKSwhMH1lbHNlIHJldHVybiExfWZyb21TdHJpbmcoZSl7aWYodHlwZW9mIHRoaXMudHo9PSJudW1iZXIiKXtsZXQgYT1IVWUoZSk7dGhpcy5tcz1hLmdldFVUQ01pbGxpc2Vjb25kcygpLHRoaXMuc2Vjb25kPWEuZ2V0VVRDU2Vjb25kcygpLHRoaXMubWludXRlPWEuZ2V0VVRDTWludXRlcygpLHRoaXMuaG91cj1hLmdldFVUQ0hvdXJzKCksdGhpcy5kYXk9YS5nZXRVVENEYXRlKCksdGhpcy5tb250aD1hLmdldFVUQ01vbnRoKCksdGhpcy55ZWFyPWEuZ2V0VVRDRnVsbFllYXIoKSx0aGlzLmFwcGx5KCl9ZWxzZSByZXR1cm4gdGhpcy5mcm9tRGF0ZShIVWUoZSx0aGlzLnR6KSl9ZmluZE5leHQoZSxhLHIscyl7cmV0dXJuIHRoaXMuX2ZpbmRNYXRjaChlLGEscixzLDEpfV9maW5kTWF0Y2goZSxhLHIscyxuKXtsZXQgbz10aGlzW2FdLGw7ci5sYXN0RGF5T2ZNb250aCYmKGw9dGhpcy5nZXRMYXN0RGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCkpO2xldCBoPSFyLnN0YXJET1cmJmE9PSJkYXkiP25ldyBEYXRlKERhdGUuVVRDKHRoaXMueWVhcix0aGlzLm1vbnRoLDEsMCwwLDAsMCkpLmdldFVUQ0RheSgpOnZvaWQgMCx1PXRoaXNbYV0rcyxmPW49PT0xP3A9PnA8clthXS5sZW5ndGg6cD0+cD49MDtmb3IobGV0IHA9dTtmKHApO3ArPW4pe2xldCBnPXJbYV1bcF07aWYoYT09PSJkYXkiJiYhZyl7Zm9yKGxldCB2PTA7djxyLm5lYXJlc3RXZWVrZGF5cy5sZW5ndGg7disrKWlmKHIubmVhcmVzdFdlZWtkYXlzW3ZdKXtsZXQgeD10aGlzLmdldE5lYXJlc3RXZWVrZGF5KHRoaXMueWVhcix0aGlzLm1vbnRoLHYtcyk7aWYoeD09PS0xKWNvbnRpbnVlO2lmKHg9PT1wLXMpe2c9MTticmVha319fWlmKGE9PT0iZGF5IiYmci5sYXN0V2Vla2RheSl7bGV0IHY9dGhpcy5nZXRMYXN0V2Vla2RheSh0aGlzLnllYXIsdGhpcy5tb250aCk7cC1zPT09diYmKGc9MSl9aWYoYT09PSJkYXkiJiZyLmxhc3REYXlPZk1vbnRoJiZwLXM9PWwmJihnPTEpLGE9PT0iZGF5IiYmIXIuc3RhckRPVyl7bGV0IHY9ci5kYXlPZldlZWtbKGgrKHAtcy0xKSklN107aWYodiYmdiY2Myl2PXRoaXMuaXNOdGhXZWVrZGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCxwLXMsdik/MTowO2Vsc2UgaWYodil0aHJvdyBuZXcgRXJyb3IoYENyb25EYXRlOiBJbnZhbGlkIHZhbHVlIGZvciBkYXlPZldlZWsgZW5jb3VudGVyZWQuICR7dn1gKTtyLnVzZUFuZExvZ2ljP2c9ZyYmdjohZS5kb21BbmREb3cmJiFyLnN0YXJET00/Zz1nfHx2Omc9ZyYmdn1pZihnKXJldHVybiB0aGlzW2FdPXAtcyxvIT09dGhpc1thXT8yOjF9cmV0dXJuIDN9cmVjdXJzZShlLGEscil7aWYocj09PTAmJiFlLnN0YXJZZWFyKXtpZih0aGlzLnllYXI+PTAmJnRoaXMueWVhcjxlLnllYXIubGVuZ3RoJiZlLnllYXJbdGhpcy55ZWFyXT09PTApe2xldCBuPS0xO2ZvcihsZXQgbz10aGlzLnllYXIrMTtvPGUueWVhci5sZW5ndGgmJm88MWU0O28rKylpZihlLnllYXJbb109PT0xKXtuPW87YnJlYWt9aWYobj09PS0xKXJldHVybiBudWxsO3RoaXMueWVhcj1uLHRoaXMubW9udGg9MCx0aGlzLmRheT0xLHRoaXMuaG91cj0wLHRoaXMubWludXRlPTAsdGhpcy5zZWNvbmQ9MCx0aGlzLm1zPTB9aWYodGhpcy55ZWFyPj0xZTQpcmV0dXJuIG51bGx9bGV0IHM9dGhpcy5maW5kTmV4dChhLEVhW3JdWzBdLGUsRWFbcl1bMl0pO2lmKHM+MSl7bGV0IG49cisxO2Zvcig7bjxFYS5sZW5ndGg7KXRoaXNbRWFbbl1bMF1dPS1FYVtuXVsyXSxuKys7aWYocz09PTMpe2lmKHRoaXNbRWFbcl1bMV1dKyssdGhpc1tFYVtyXVswXV09LUVhW3JdWzJdLHRoaXMuYXBwbHkoKSxyPT09MCYmIWUuc3RhclllYXIpe2Zvcig7dGhpcy55ZWFyPj0wJiZ0aGlzLnllYXI8ZS55ZWFyLmxlbmd0aCYmZS55ZWFyW3RoaXMueWVhcl09PT0wJiZ0aGlzLnllYXI8MWU0Oyl0aGlzLnllYXIrKztpZih0aGlzLnllYXI+PTFlNHx8dGhpcy55ZWFyPj1lLnllYXIubGVuZ3RoKXJldHVybiBudWxsfXJldHVybiB0aGlzLnJlY3Vyc2UoZSxhLDApfWVsc2UgaWYodGhpcy5hcHBseSgpKXJldHVybiB0aGlzLnJlY3Vyc2UoZSxhLHItMSl9cmV0dXJuIHIrPTEscj49RWEubGVuZ3RoP3RoaXM6KGUuc3RhclllYXI/dGhpcy55ZWFyPj0zZTM6dGhpcy55ZWFyPj0xZTQpP251bGw6dGhpcy5yZWN1cnNlKGUsYSxyKX1pbmNyZW1lbnQoZSxhLHIpe3JldHVybiB0aGlzLnNlY29uZCs9YS5pbnRlcnZhbCE9PXZvaWQgMCYmYS5pbnRlcnZhbD4xJiZyP2EuaW50ZXJ2YWw6MSx0aGlzLm1zPTAsdGhpcy5hcHBseSgpLHRoaXMucmVjdXJzZShlLGEsMCl9ZGVjcmVtZW50KGUsYSl7cmV0dXJuIHRoaXMuc2Vjb25kLT1hLmludGVydmFsIT09dm9pZCAwJiZhLmludGVydmFsPjE/YS5pbnRlcnZhbDoxLHRoaXMubXM9MCx0aGlzLmFwcGx5KCksdGhpcy5yZWN1cnNlQmFja3dhcmQoZSxhLDAsMCl9cmVjdXJzZUJhY2t3YXJkKGUsYSxyLHM9MCl7aWYocz4xZTQpcmV0dXJuIG51bGw7aWYocj09PTAmJiFlLnN0YXJZZWFyKXtpZih0aGlzLnllYXI+PTAmJnRoaXMueWVhcjxlLnllYXIubGVuZ3RoJiZlLnllYXJbdGhpcy55ZWFyXT09PTApe2xldCBvPS0xO2ZvcihsZXQgbD10aGlzLnllYXItMTtsPj0wO2wtLSlpZihlLnllYXJbbF09PT0xKXtvPWw7YnJlYWt9aWYobz09PS0xKXJldHVybiBudWxsO3RoaXMueWVhcj1vLHRoaXMubW9udGg9MTEsdGhpcy5kYXk9MzEsdGhpcy5ob3VyPTIzLHRoaXMubWludXRlPTU5LHRoaXMuc2Vjb25kPTU5LHRoaXMubXM9MH1pZih0aGlzLnllYXI8MClyZXR1cm4gbnVsbH1sZXQgbj10aGlzLmZpbmRQcmV2aW91cyhhLEVhW3JdWzBdLGUsRWFbcl1bMl0pO2lmKG4+MSl7bGV0IG89cisxO2Zvcig7bzxFYS5sZW5ndGg7KXtsZXQgbD1FYVtvXVswXSxoPUVhW29dWzJdLHU9dGhpcy5nZXRNYXhQYXR0ZXJuVmFsdWUobCxlLGgpO3RoaXNbbF09dSxvKyt9aWYobj09PTMpe2lmKHRoaXNbRWFbcl1bMV1dLS0scj09PTApe2xldCBmPXRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpO3RoaXMuZGF5PmYmJih0aGlzLmRheT1mKX1pZihyPT09MSlpZih0aGlzLmRheTw9MCl0aGlzLmRheT0xO2Vsc2V7bGV0IGY9dGhpcy55ZWFyLHA9dGhpcy5tb250aDtmb3IoO3A8MDspcCs9MTIsZi0tO2Zvcig7cD4xMTspcC09MTIsZisrO2xldCBnPXAhPT0xP1VKW3BdOm5ldyBEYXRlKERhdGUuVVRDKGYscCsxLDApKS5nZXRVVENEYXRlKCk7dGhpcy5kYXk+ZyYmKHRoaXMuZGF5PWcpfXRoaXMuYXBwbHkoKTtsZXQgbD1FYVtyXVswXSxoPUVhW3JdWzJdLHU9dGhpcy5nZXRNYXhQYXR0ZXJuVmFsdWUobCxlLGgpO2lmKGw9PT0iZGF5Iil7bGV0IGY9dGhpcy5nZXRMYXN0RGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCk7dGhpc1tsXT1NYXRoLm1pbih1LGYpfWVsc2UgdGhpc1tsXT11O2lmKHRoaXMuYXBwbHkoKSxyPT09MCl7bGV0IGY9RWFbMV1bMl0scD10aGlzLmdldE1heFBhdHRlcm5WYWx1ZSgiZGF5IixlLGYpLGc9dGhpcy5nZXRMYXN0RGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCksdj1NYXRoLm1pbihwLGcpO3YhPT10aGlzLmRheSYmKHRoaXMuZGF5PXYsdGhpcy5ob3VyPXRoaXMuZ2V0TWF4UGF0dGVyblZhbHVlKCJob3VyIixlLEVhWzJdWzJdKSx0aGlzLm1pbnV0ZT10aGlzLmdldE1heFBhdHRlcm5WYWx1ZSgibWludXRlIixlLEVhWzNdWzJdKSx0aGlzLnNlY29uZD10aGlzLmdldE1heFBhdHRlcm5WYWx1ZSgic2Vjb25kIixlLEVhWzRdWzJdKSl9aWYocj09PTAmJiFlLnN0YXJZZWFyKXtmb3IoO3RoaXMueWVhcj49MCYmdGhpcy55ZWFyPGUueWVhci5sZW5ndGgmJmUueWVhclt0aGlzLnllYXJdPT09MDspdGhpcy55ZWFyLS07aWYodGhpcy55ZWFyPDApcmV0dXJuIG51bGx9cmV0dXJuIHRoaXMucmVjdXJzZUJhY2t3YXJkKGUsYSwwLHMrMSl9ZWxzZSBpZih0aGlzLmFwcGx5KCkpcmV0dXJuIHRoaXMucmVjdXJzZUJhY2t3YXJkKGUsYSxyLTEscysxKX1yZXR1cm4gcis9MSxyPj1FYS5sZW5ndGg/dGhpczp0aGlzLnllYXI8MD9udWxsOnRoaXMucmVjdXJzZUJhY2t3YXJkKGUsYSxyLHMrMSl9Z2V0TWF4UGF0dGVyblZhbHVlKGUsYSxyKXtpZihlPT09ImRheSImJmEubGFzdERheU9mTW9udGgpcmV0dXJuIHRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpO2lmKGU9PT0iZGF5IiYmIWEuc3RhckRPVylyZXR1cm4gdGhpcy5nZXRMYXN0RGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCk7Zm9yKGxldCBzPWFbZV0ubGVuZ3RoLTE7cz49MDtzLS0paWYoYVtlXVtzXSlyZXR1cm4gcy1yO3JldHVybiBhW2VdLmxlbmd0aC0xLXJ9ZmluZFByZXZpb3VzKGUsYSxyLHMpe3JldHVybiB0aGlzLl9maW5kTWF0Y2goZSxhLHIscywtMSl9Z2V0RGF0ZShlKXtyZXR1cm4gZXx8dGhpcy50ej09PXZvaWQgMD9uZXcgRGF0ZSh0aGlzLnllYXIsdGhpcy5tb250aCx0aGlzLmRheSx0aGlzLmhvdXIsdGhpcy5taW51dGUsdGhpcy5zZWNvbmQsdGhpcy5tcyk6dHlwZW9mIHRoaXMudHo9PSJudW1iZXIiP25ldyBEYXRlKERhdGUuVVRDKHRoaXMueWVhcix0aGlzLm1vbnRoLHRoaXMuZGF5LHRoaXMuaG91cix0aGlzLm1pbnV0ZS10aGlzLnR6LHRoaXMuc2Vjb25kLHRoaXMubXMpKTpxVWUoakoodGhpcy55ZWFyLHRoaXMubW9udGgrMSx0aGlzLmRheSx0aGlzLmhvdXIsdGhpcy5taW51dGUsdGhpcy5zZWNvbmQsdGhpcy50eiksITEpfWdldFRpbWUoKXtyZXR1cm4gdGhpcy5nZXREYXRlKCExKS5nZXRUaW1lKCl9bWF0Y2goZSxhKXtpZighZS5zdGFyWWVhciYmKHRoaXMueWVhcjwwfHx0aGlzLnllYXI+PWUueWVhci5sZW5ndGh8fGUueWVhclt0aGlzLnllYXJdPT09MCkpcmV0dXJuITE7Zm9yKGxldCByPTA7cjxFYS5sZW5ndGg7cisrKXtsZXQgcz1FYVtyXVswXSxuPUVhW3JdWzJdLG89dGhpc1tzXTtpZihvK248MHx8bytuPj1lW3NdLmxlbmd0aClyZXR1cm4hMTtsZXQgbD1lW3NdW28rbl07aWYocz09PSJkYXkiKXtpZighbCl7Zm9yKGxldCBoPTA7aDxlLm5lYXJlc3RXZWVrZGF5cy5sZW5ndGg7aCsrKWlmKGUubmVhcmVzdFdlZWtkYXlzW2hdKXtsZXQgdT10aGlzLmdldE5lYXJlc3RXZWVrZGF5KHRoaXMueWVhcix0aGlzLm1vbnRoLGgtbik7aWYodSE9PS0xJiZ1PT09byl7bD0xO2JyZWFrfX19aWYoZS5sYXN0V2Vla2RheSl7bGV0IGg9dGhpcy5nZXRMYXN0V2Vla2RheSh0aGlzLnllYXIsdGhpcy5tb250aCk7bz09PWgmJihsPTEpfWlmKGUubGFzdERheU9mTW9udGgpe2xldCBoPXRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpO289PT1oJiYobD0xKX1pZighZS5zdGFyRE9XKXtsZXQgaD1uZXcgRGF0ZShEYXRlLlVUQyh0aGlzLnllYXIsdGhpcy5tb250aCwxLDAsMCwwLDApKS5nZXRVVENEYXkoKSx1PWUuZGF5T2ZXZWVrWyhoKyhvLTEpKSU3XTt1JiZ1JjYzJiYodT10aGlzLmlzTnRoV2Vla2RheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgsbyx1KT8xOjApLGUudXNlQW5kTG9naWM/bD1sJiZ1OiFhLmRvbUFuZERvdyYmIWUuc3RhckRPTT9sPWx8fHU6bD1sJiZ1fX1pZighbClyZXR1cm4hMX1yZXR1cm4hMH19O2koSm9hLCJSIik7aShYcCwicCIpO2koZW5hLCJfIik7aSh0bmEsIngiKTtqVWU9MzAqMWUzLHM1PVtdLFdVZT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJFIil9bmFtZTtvcHRpb25zO19zdGF0ZXM7Zm47Z2V0VHooKXtyZXR1cm4gdGhpcy5vcHRpb25zLnRpbWV6b25lfHx0aGlzLm9wdGlvbnMudXRjT2Zmc2V0fWFwcGx5RGF5T2Zmc2V0KHQpe2lmKHRoaXMub3B0aW9ucy5kYXlPZmZzZXQhPT12b2lkIDAmJnRoaXMub3B0aW9ucy5kYXlPZmZzZXQhPT0wKXtsZXQgZT10aGlzLm9wdGlvbnMuZGF5T2Zmc2V0KjI0KjYwKjYwKjFlMztyZXR1cm4gbmV3IERhdGUodC5nZXRUaW1lKCkrZSl9cmV0dXJuIHR9Y29uc3RydWN0b3IodCxlLGEpe2xldCByLHM7aWYoWHAoZSkpcz1lO2Vsc2UgaWYodHlwZW9mIGU9PSJvYmplY3QiKXI9ZTtlbHNlIGlmKGUhPT12b2lkIDApdGhyb3cgbmV3IEVycm9yKCJDcm9uOiBJbnZhbGlkIGFyZ3VtZW50IHBhc3NlZCBmb3Igb3B0aW9uc0luLiBTaG91bGQgYmUgb25lIG9mIGZ1bmN0aW9uLCBvciBvYmplY3QgKG9wdGlvbnMpLiIpO2lmKFhwKGEpKXM9YTtlbHNlIGlmKHR5cGVvZiBhPT0ib2JqZWN0IilyPWE7ZWxzZSBpZihhIT09dm9pZCAwKXRocm93IG5ldyBFcnJvcigiQ3JvbjogSW52YWxpZCBhcmd1bWVudCBwYXNzZWQgZm9yIGZ1bmNJbi4gU2hvdWxkIGJlIG9uZSBvZiBmdW5jdGlvbiwgb3Igb2JqZWN0IChvcHRpb25zKS4iKTtpZih0aGlzLm5hbWU9cj8ubmFtZSx0aGlzLm9wdGlvbnM9Sm9hKHIpLHRoaXMuX3N0YXRlcz17a2lsbDohMSxibG9ja2luZzohMSxwcmV2aW91c1J1bjp2b2lkIDAsY3VycmVudFJ1bjp2b2lkIDAsb25jZTp2b2lkIDAsY3VycmVudFRpbWVvdXQ6dm9pZCAwLG1heFJ1bnM6cj9yLm1heFJ1bnM6dm9pZCAwLHBhdXNlZDpyP3IucGF1c2VkOiExLHBhdHRlcm46bmV3IHVxKCIqICogKiAqICoiLHZvaWQgMCx7bW9kZToiYXV0byJ9KX0sdCYmKHQgaW5zdGFuY2VvZiBEYXRlfHx0eXBlb2YgdD09InN0cmluZyImJnQuaW5kZXhPZigiOiIpPjApP3RoaXMuX3N0YXRlcy5vbmNlPW5ldyBTMSh0LHRoaXMuZ2V0VHooKSk6dGhpcy5fc3RhdGVzLnBhdHRlcm49bmV3IHVxKHQsdGhpcy5vcHRpb25zLnRpbWV6b25lLHttb2RlOnRoaXMub3B0aW9ucy5tb2RlLGFsdGVybmF0aXZlV2Vla2RheXM6dGhpcy5vcHRpb25zLmFsdGVybmF0aXZlV2Vla2RheXMsc2xvcHB5UmFuZ2VzOnRoaXMub3B0aW9ucy5zbG9wcHlSYW5nZXN9KSx0aGlzLm5hbWUpe2lmKHM1LmZpbmQobj0+bi5uYW1lPT09dGhpcy5uYW1lKSl0aHJvdyBuZXcgRXJyb3IoIkNyb246IFRyaWVkIHRvIGluaXRpYWxpemUgbmV3IG5hbWVkIGpvYiAnIit0aGlzLm5hbWUrIicsIGJ1dCBuYW1lIGFscmVhZHkgdGFrZW4uIik7czUucHVzaCh0aGlzKX1yZXR1cm4gcyE9PXZvaWQgMCYmZW5hKHMpJiYodGhpcy5mbj1zLHRoaXMuc2NoZWR1bGUoKSksdGhpc31uZXh0UnVuKHQpe2xldCBlPXRoaXMuX25leHQodCk7cmV0dXJuIGU/dGhpcy5hcHBseURheU9mZnNldChlLmdldERhdGUoITEpKTpudWxsfW5leHRSdW5zKHQsZSl7dGhpcy5fc3RhdGVzLm1heFJ1bnMhPT12b2lkIDAmJnQ+dGhpcy5fc3RhdGVzLm1heFJ1bnMmJih0PXRoaXMuX3N0YXRlcy5tYXhSdW5zKTtsZXQgYT1lfHx0aGlzLl9zdGF0ZXMuY3VycmVudFJ1bnx8dm9pZCAwO3JldHVybiB0aGlzLl9lbnVtZXJhdGVSdW5zKHQsYSwibmV4dCIpfXByZXZpb3VzUnVucyh0LGUpe3JldHVybiB0aGlzLl9lbnVtZXJhdGVSdW5zKHQsZXx8dm9pZCAwLCJwcmV2aW91cyIpfV9lbnVtZXJhdGVSdW5zKHQsZSxhKXtsZXQgcj1bXSxzPWU/bmV3IFMxKGUsdGhpcy5nZXRUeigpKTpudWxsLG49YT09PSJuZXh0Ij90aGlzLl9uZXh0OnRoaXMuX3ByZXZpb3VzO2Zvcig7dC0tOyl7bGV0IG89bi5jYWxsKHRoaXMscyk7aWYoIW8pYnJlYWs7bGV0IGw9by5nZXREYXRlKCExKTtyLnB1c2godGhpcy5hcHBseURheU9mZnNldChsKSkscz1vfXJldHVybiByfW1hdGNoKHQpe2lmKHRoaXMuX3N0YXRlcy5vbmNlKXtsZXQgYT1uZXcgUzEodCx0aGlzLmdldFR6KCkpO2EubXM9MDtsZXQgcj1uZXcgUzEodGhpcy5fc3RhdGVzLm9uY2UsdGhpcy5nZXRUeigpKTtyZXR1cm4gci5tcz0wLGEuZ2V0VGltZSgpPT09ci5nZXRUaW1lKCl9bGV0IGU9bmV3IFMxKHQsdGhpcy5nZXRUeigpKTtyZXR1cm4gZS5tcz0wLGUubWF0Y2godGhpcy5fc3RhdGVzLnBhdHRlcm4sdGhpcy5vcHRpb25zKX1nZXRQYXR0ZXJuKCl7aWYoIXRoaXMuX3N0YXRlcy5vbmNlKXJldHVybiB0aGlzLl9zdGF0ZXMucGF0dGVybj90aGlzLl9zdGF0ZXMucGF0dGVybi5wYXR0ZXJuOnZvaWQgMH1nZXRPbmNlKCl7cmV0dXJuIHRoaXMuX3N0YXRlcy5vbmNlP3RoaXMuX3N0YXRlcy5vbmNlLmdldERhdGUoKTpudWxsfWlzUnVubmluZygpe2xldCB0PXRoaXMubmV4dFJ1bih0aGlzLl9zdGF0ZXMuY3VycmVudFJ1biksZT0hdGhpcy5fc3RhdGVzLnBhdXNlZCxhPXRoaXMuZm4hPT12b2lkIDAscj0hdGhpcy5fc3RhdGVzLmtpbGw7cmV0dXJuIGUmJmEmJnImJnQhPT1udWxsfWlzU3RvcHBlZCgpe3JldHVybiB0aGlzLl9zdGF0ZXMua2lsbH1pc0J1c3koKXtyZXR1cm4gdGhpcy5fc3RhdGVzLmJsb2NraW5nfWN1cnJlbnRSdW4oKXtyZXR1cm4gdGhpcy5fc3RhdGVzLmN1cnJlbnRSdW4/dGhpcy5fc3RhdGVzLmN1cnJlbnRSdW4uZ2V0RGF0ZSgpOm51bGx9cHJldmlvdXNSdW4oKXtyZXR1cm4gdGhpcy5fc3RhdGVzLnByZXZpb3VzUnVuP3RoaXMuX3N0YXRlcy5wcmV2aW91c1J1bi5nZXREYXRlKCk6bnVsbH1tc1RvTmV4dCh0KXtsZXQgZT10aGlzLl9uZXh0KHQpO3JldHVybiBlP3QgaW5zdGFuY2VvZiBTMXx8dCBpbnN0YW5jZW9mIERhdGU/ZS5nZXRUaW1lKCktdC5nZXRUaW1lKCk6ZS5nZXRUaW1lKCktbmV3IFMxKHQpLmdldFRpbWUoKTpudWxsfXN0b3AoKXt0aGlzLl9zdGF0ZXMua2lsbD0hMCx0aGlzLl9zdGF0ZXMuY3VycmVudFRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLl9zdGF0ZXMuY3VycmVudFRpbWVvdXQpO2xldCB0PXM1LmluZGV4T2YodGhpcyk7dD49MCYmczUuc3BsaWNlKHQsMSl9cGF1c2UoKXtyZXR1cm4gdGhpcy5fc3RhdGVzLnBhdXNlZD0hMCwhdGhpcy5fc3RhdGVzLmtpbGx9cmVzdW1lKCl7cmV0dXJuIHRoaXMuX3N0YXRlcy5wYXVzZWQ9ITEsIXRoaXMuX3N0YXRlcy5raWxsfXNjaGVkdWxlKHQpe2lmKHQmJnRoaXMuZm4pdGhyb3cgbmV3IEVycm9yKCJDcm9uOiBJdCBpcyBub3QgYWxsb3dlZCB0byBzY2hlZHVsZSB0d28gZnVuY3Rpb25zIHVzaW5nIHRoZSBzYW1lIENyb25lciBpbnN0YW5jZS4iKTt0JiYodGhpcy5mbj10KTtsZXQgZT10aGlzLm1zVG9OZXh0KCksYT10aGlzLm5leHRSdW4odGhpcy5fc3RhdGVzLmN1cnJlbnRSdW4pO3JldHVybiBlPT1udWxsfHxpc05hTihlKXx8YT09PW51bGw/dGhpczooZT5qVWUmJihlPWpVZSksdGhpcy5fc3RhdGVzLmN1cnJlbnRUaW1lb3V0PXNldFRpbWVvdXQoKCk9PnRoaXMuX2NoZWNrVHJpZ2dlcihhKSxlKSx0aGlzLl9zdGF0ZXMuY3VycmVudFRpbWVvdXQmJnRoaXMub3B0aW9ucy51bnJlZiYmdG5hKHRoaXMuX3N0YXRlcy5jdXJyZW50VGltZW91dCksdGhpcyl9YXN5bmMgX3RyaWdnZXIodCl7dGhpcy5fc3RhdGVzLmJsb2NraW5nPSEwLHRoaXMuX3N0YXRlcy5jdXJyZW50UnVuPW5ldyBTMSh2b2lkIDAsdGhpcy5nZXRUeigpKTt0cnl7aWYodGhpcy5vcHRpb25zLmNhdGNoKXRyeXt0aGlzLmZuIT09dm9pZCAwJiZhd2FpdCB0aGlzLmZuKHRoaXMsdGhpcy5vcHRpb25zLmNvbnRleHQpfWNhdGNoKGUpe2lmKFhwKHRoaXMub3B0aW9ucy5jYXRjaCkpdHJ5e3RoaXMub3B0aW9ucy5jYXRjaChlLHRoaXMpfWNhdGNoe319ZWxzZSB0aGlzLmZuIT09dm9pZCAwJiZhd2FpdCB0aGlzLmZuKHRoaXMsdGhpcy5vcHRpb25zLmNvbnRleHQpfWZpbmFsbHl7dGhpcy5fc3RhdGVzLnByZXZpb3VzUnVuPW5ldyBTMSh0LHRoaXMuZ2V0VHooKSksdGhpcy5fc3RhdGVzLmJsb2NraW5nPSExfX1hc3luYyB0cmlnZ2VyKCl7YXdhaXQgdGhpcy5fdHJpZ2dlcigpfXJ1bnNMZWZ0KCl7cmV0dXJuIHRoaXMuX3N0YXRlcy5tYXhSdW5zfV9jaGVja1RyaWdnZXIodCl7bGV0IGU9bmV3IERhdGUsYT0hdGhpcy5fc3RhdGVzLnBhdXNlZCYmZS5nZXRUaW1lKCk+PXQuZ2V0VGltZSgpLHI9dGhpcy5fc3RhdGVzLmJsb2NraW5nJiZ0aGlzLm9wdGlvbnMucHJvdGVjdDthJiYhcj8odGhpcy5fc3RhdGVzLm1heFJ1bnMhPT12b2lkIDAmJnRoaXMuX3N0YXRlcy5tYXhSdW5zLS0sdGhpcy5fdHJpZ2dlcigpKTphJiZyJiZYcCh0aGlzLm9wdGlvbnMucHJvdGVjdCkmJnNldFRpbWVvdXQoKCk9PnRoaXMub3B0aW9ucy5wcm90ZWN0KHRoaXMpLDApLHRoaXMuc2NoZWR1bGUoKX1fbmV4dCh0KXtsZXQgZT0hISh0fHx0aGlzLl9zdGF0ZXMuY3VycmVudFJ1biksYT0hMTshdCYmdGhpcy5vcHRpb25zLnN0YXJ0QXQmJnRoaXMub3B0aW9ucy5pbnRlcnZhbCYmKFt0LGVdPXRoaXMuX2NhbGN1bGF0ZVByZXZpb3VzUnVuKHQsZSksYT0hdCksdD1uZXcgUzEodCx0aGlzLmdldFR6KCkpLHRoaXMub3B0aW9ucy5zdGFydEF0JiZ0JiZ0LmdldFRpbWUoKTx0aGlzLm9wdGlvbnMuc3RhcnRBdC5nZXRUaW1lKCkmJih0PXRoaXMub3B0aW9ucy5zdGFydEF0KTtsZXQgcj10aGlzLl9zdGF0ZXMub25jZXx8bmV3IFMxKHQsdGhpcy5nZXRUeigpKTtyZXR1cm4hYSYmciE9PXRoaXMuX3N0YXRlcy5vbmNlJiYocj1yLmluY3JlbWVudCh0aGlzLl9zdGF0ZXMucGF0dGVybix0aGlzLm9wdGlvbnMsZSkpLHRoaXMuX3N0YXRlcy5vbmNlJiZ0aGlzLl9zdGF0ZXMub25jZS5nZXRUaW1lKCk8PXQuZ2V0VGltZSgpfHxyPT09bnVsbHx8dGhpcy5fc3RhdGVzLm1heFJ1bnMhPT12b2lkIDAmJnRoaXMuX3N0YXRlcy5tYXhSdW5zPD0wfHx0aGlzLl9zdGF0ZXMua2lsbHx8dGhpcy5vcHRpb25zLnN0b3BBdCYmci5nZXRUaW1lKCk+PXRoaXMub3B0aW9ucy5zdG9wQXQuZ2V0VGltZSgpP251bGw6cn1fcHJldmlvdXModCl7bGV0IGU9bmV3IFMxKHQsdGhpcy5nZXRUeigpKTt0aGlzLm9wdGlvbnMuc3RvcEF0JiZlLmdldFRpbWUoKT50aGlzLm9wdGlvbnMuc3RvcEF0LmdldFRpbWUoKSYmKGU9dGhpcy5vcHRpb25zLnN0b3BBdCk7bGV0IGE9bmV3IFMxKGUsdGhpcy5nZXRUeigpKTtyZXR1cm4gdGhpcy5fc3RhdGVzLm9uY2U/dGhpcy5fc3RhdGVzLm9uY2UuZ2V0VGltZSgpPGUuZ2V0VGltZSgpP3RoaXMuX3N0YXRlcy5vbmNlOm51bGw6KGE9YS5kZWNyZW1lbnQodGhpcy5fc3RhdGVzLnBhdHRlcm4sdGhpcy5vcHRpb25zKSxhPT09bnVsbHx8dGhpcy5vcHRpb25zLnN0YXJ0QXQmJmEuZ2V0VGltZSgpPHRoaXMub3B0aW9ucy5zdGFydEF0LmdldFRpbWUoKT9udWxsOmEpfV9jYWxjdWxhdGVQcmV2aW91c1J1bih0LGUpe2xldCBhPW5ldyBTMSh2b2lkIDAsdGhpcy5nZXRUeigpKSxyPXQ7aWYodGhpcy5vcHRpb25zLnN0YXJ0QXQuZ2V0VGltZSgpPD1hLmdldFRpbWUoKSl7cj10aGlzLm9wdGlvbnMuc3RhcnRBdDtsZXQgcz1yLmdldFRpbWUoKSt0aGlzLm9wdGlvbnMuaW50ZXJ2YWwqMWUzO2Zvcig7czw9YS5nZXRUaW1lKCk7KXI9bmV3IFMxKHIsdGhpcy5nZXRUeigpKS5pbmNyZW1lbnQodGhpcy5fc3RhdGVzLnBhdHRlcm4sdGhpcy5vcHRpb25zLCEwKSxzPXIuZ2V0VGltZSgpK3RoaXMub3B0aW9ucy5pbnRlcnZhbCoxZTM7ZT0hMH1yZXR1cm4gcj09PW51bGwmJihyPXZvaWQgMCksW3IsZV19fX0pO3ZhciBocSxRcCxhbmEsY0JhLGUyLG1xLGZyLGRpLG81LFdKLHVuLG41LGdxLGJxLHZxLHhxLEZsLGw1LGZxLFlVZSxHSixZSixaVWUsWkosUHQ9YygoKT0+e2hxPTcsUXA9MzY1LjI0MjUsYW5hPU1hdGgucG93KDEwLDgpKjI0KjYwKjYwKjFlMyxjQmE9LWFuYSxlMj02MDQ4ZTUsbXE9ODY0ZTUsZnI9NmU0LGRpPTM2ZTUsbzU9MWUzLFdKPTUyNTYwMCx1bj00MzIwMCxuNT0xNDQwLGdxPTYwLGJxPTMsdnE9MTIseHE9NCxGbD0zNjAwLGw1PTYwLGZxPUZsKjI0LFlVZT1mcSo3LEdKPWZxKjM2NS4yNDI1LFlKPUdKLzEyLFpVZT1ZSiozLFpKPVN5bWJvbC5mb3IoImNvbnN0cnVjdERhdGVGcm9tIil9KTtmdW5jdGlvbiBJZSh0LGUpe3JldHVybiB0eXBlb2YgdD09ImZ1bmN0aW9uIj90KGUpOnQmJnR5cGVvZiB0PT0ib2JqZWN0IiYmWkogaW4gdD90W1pKXShlKTp0IGluc3RhbmNlb2YgRGF0ZT9uZXcgdC5jb25zdHJ1Y3RvcihlKTpuZXcgRGF0ZShlKX12YXIgdUJhLG10PWMoKCk9PntQdCgpO2koSWUsImNvbnN0cnVjdEZyb20iKTt1QmE9SWV9KTtmdW5jdGlvbiBiZSh0LGUpe3JldHVybiBJZShlfHx0LHQpfXZhciBnQmEsUmU9YygoKT0+e210KCk7aShiZSwidG9EYXRlIik7Z0JhPWJlfSk7ZnVuY3Rpb24gQzEodCxlLGEpe2xldCByPWJlKHQsYT8uaW4pO3JldHVybiBpc05hTihlKT9JZShhPy5pbnx8dCxOYU4pOihlJiZyLnNldERhdGUoci5nZXREYXRlKCkrZSkscil9dmFyIHdCYSx0Mj1jKCgpPT57bXQoKTtSZSgpO2koQzEsImFkZERheXMiKTt3QmE9QzF9KTtmdW5jdGlvbiBhMih0LGUsYSl7bGV0IHI9YmUodCxhPy5pbik7aWYoaXNOYU4oZSkpcmV0dXJuIEllKGE/LmlufHx0LE5hTik7aWYoIWUpcmV0dXJuIHI7bGV0IHM9ci5nZXREYXRlKCksbj1JZShhPy5pbnx8dCxyLmdldFRpbWUoKSk7bi5zZXRNb250aChyLmdldE1vbnRoKCkrZSsxLDApO2xldCBvPW4uZ2V0RGF0ZSgpO3JldHVybiBzPj1vP246KHIuc2V0RnVsbFllYXIobi5nZXRGdWxsWWVhcigpLG4uZ2V0TW9udGgoKSxzKSxyKX12YXIgQ0JhLGM1PWMoKCk9PnttdCgpO1JlKCk7aShhMiwiYWRkTW9udGhzIik7Q0JhPWEyfSk7ZnVuY3Rpb24gZm4odCxlLGEpe2xldHt5ZWFyczpyPTAsbW9udGhzOnM9MCx3ZWVrczpuPTAsZGF5czpvPTAsaG91cnM6bD0wLG1pbnV0ZXM6aD0wLHNlY29uZHM6dT0wfT1lLGY9YmUodCxhPy5pbikscD1zfHxyP2EyKGYscytyKjEyKTpmLGc9b3x8bj9DMShwLG8rbio3KTpwLHY9aCtsKjYwLGI9KHUrdio2MCkqMWUzO3JldHVybiBJZShhPy5pbnx8dCwrZytiKX12YXIgUEJhLFhKPWMoKCk9Pnt0MigpO2M1KCk7bXQoKTtSZSgpO2koZm4sImFkZCIpO1BCYT1mbn0pO2Z1bmN0aW9uIHlxKHQsZSl7cmV0dXJuIGJlKHQsZT8uaW4pLmdldERheSgpPT09Nn12YXIgUkJhLEtKPWMoKCk9PntSZSgpO2koeXEsImlzU2F0dXJkYXkiKTtSQmE9eXF9KTtmdW5jdGlvbiB3cSh0LGUpe3JldHVybiBiZSh0LGU/LmluKS5nZXREYXkoKT09PTB9dmFyIEhCYSxRSj1jKCgpPT57UmUoKTtpKHdxLCJpc1N1bmRheSIpO0hCYT13cX0pO2Z1bmN0aW9uIHIyKHQsZSl7bGV0IGE9YmUodCxlPy5pbikuZ2V0RGF5KCk7cmV0dXJuIGE9PT0wfHxhPT09Nn12YXIgVUJhLEpwPWMoKCk9PntSZSgpO2kocjIsImlzV2Vla2VuZCIpO1VCYT1yMn0pO2Z1bmN0aW9uIE1xKHQsZSxhKXtsZXQgcj1iZSh0LGE/LmluKSxzPXIyKHIsYSk7aWYoaXNOYU4oZSkpcmV0dXJuIEllKGE/LmluLE5hTik7bGV0IG49ci5nZXRIb3VycygpLG89ZTwwPy0xOjEsbD1NYXRoLnRydW5jKGUvNSk7ci5zZXREYXRlKHIuZ2V0RGF0ZSgpK2wqNyk7bGV0IGg9TWF0aC5hYnMoZSU1KTtmb3IoO2g+MDspci5zZXREYXRlKHIuZ2V0RGF0ZSgpK28pLHIyKHIsYSl8fChoLT0xKTtyZXR1cm4gcyYmcjIocixhKSYmZSE9PTAmJih5cShyLGEpJiZyLnNldERhdGUoci5nZXREYXRlKCkrKG88MD8yOi0xKSksd3EocixhKSYmci5zZXREYXRlKHIuZ2V0RGF0ZSgpKyhvPDA/MTotMikpKSxyLnNldEhvdXJzKG4pLHJ9dmFyIEpCYSxKSj1jKCgpPT57bXQoKTtLSigpO1FKKCk7SnAoKTtSZSgpO2koTXEsImFkZEJ1c2luZXNzRGF5cyIpO0pCYT1NcX0pO2Z1bmN0aW9uIGhuKHQsZSxhKXtyZXR1cm4gSWUoYT8uaW58fHQsK2JlKHQpK2UpfXZhciBpSGEsZXU9YygoKT0+e210KCk7UmUoKTtpKGhuLCJhZGRNaWxsaXNlY29uZHMiKTtpSGE9aG59KTtmdW5jdGlvbiBrcSh0LGUsYSl7cmV0dXJuIGhuKHQsZSpkaSxhKX12YXIgY0hhLGVlZT1jKCgpPT57ZXUoKTtQdCgpO2koa3EsImFkZEhvdXJzIik7Y0hhPWtxfSk7ZnVuY3Rpb24gaGEoKXtyZXR1cm4gWFVlfWZ1bmN0aW9uIEtVZSh0KXtYVWU9dH12YXIgWFVlLGhyPWMoKCk9PntYVWU9e307aShoYSwiZ2V0RGVmYXVsdE9wdGlvbnMiKTtpKEtVZSwic2V0RGVmYXVsdE9wdGlvbnMiKX0pO2Z1bmN0aW9uIENhKHQsZSl7bGV0IGE9aGEoKSxyPWU/LndlZWtTdGFydHNPbj8/ZT8ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/P2Eud2Vla1N0YXJ0c09uPz9hLmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz8wLHM9YmUodCxlPy5pbiksbj1zLmdldERheSgpLG89KG48cj83OjApK24tcjtyZXR1cm4gcy5zZXREYXRlKHMuZ2V0RGF0ZSgpLW8pLHMuc2V0SG91cnMoMCwwLDAsMCksc312YXIgZ0hhLGRzPWMoKCk9PntocigpO1JlKCk7aShDYSwic3RhcnRPZldlZWsiKTtnSGE9Q2F9KTtmdW5jdGlvbiBoMSh0LGUpe3JldHVybiBDYSh0LHsuLi5lLHdlZWtTdGFydHNPbjoxfSl9dmFyIHlIYSxpMj1jKCgpPT57ZHMoKTtpKGgxLCJzdGFydE9mSVNPV2VlayIpO3lIYT1oMX0pO2Z1bmN0aW9uIFByKHQsZSl7bGV0IGE9YmUodCxlPy5pbikscj1hLmdldEZ1bGxZZWFyKCkscz1JZShhLDApO3Muc2V0RnVsbFllYXIocisxLDAsNCkscy5zZXRIb3VycygwLDAsMCwwKTtsZXQgbj1oMShzKSxvPUllKGEsMCk7by5zZXRGdWxsWWVhcihyLDAsNCksby5zZXRIb3VycygwLDAsMCwwKTtsZXQgbD1oMShvKTtyZXR1cm4gYS5nZXRUaW1lKCk+PW4uZ2V0VGltZSgpP3IrMTphLmdldFRpbWUoKT49bC5nZXRUaW1lKCk/cjpyLTF9dmFyIENIYSxtbj1jKCgpPT57bXQoKTtpMigpO1JlKCk7aShQciwiZ2V0SVNPV2Vla1llYXIiKTtDSGE9UHJ9KTtmdW5jdGlvbiBKYSh0KXtsZXQgZT1iZSh0KSxhPW5ldyBEYXRlKERhdGUuVVRDKGUuZ2V0RnVsbFllYXIoKSxlLmdldE1vbnRoKCksZS5nZXREYXRlKCksZS5nZXRIb3VycygpLGUuZ2V0TWludXRlcygpLGUuZ2V0U2Vjb25kcygpLGUuZ2V0TWlsbGlzZWNvbmRzKCkpKTtyZXR1cm4gYS5zZXRVVENGdWxsWWVhcihlLmdldEZ1bGxZZWFyKCkpLCt0LSthfXZhciBVMj1jKCgpPT57UmUoKTtpKEphLCJnZXRUaW1lem9uZU9mZnNldEluTWlsbGlzZWNvbmRzIil9KTtmdW5jdGlvbiBkdCh0LC4uLmUpe2xldCBhPUllLmJpbmQobnVsbCx0fHxlLmZpbmQocj0+dHlwZW9mIHI9PSJvYmplY3QiKSk7cmV0dXJuIGUubWFwKGEpfXZhciB4YT1jKCgpPT57bXQoKTtpKGR0LCJub3JtYWxpemVEYXRlcyIpfSk7ZnVuY3Rpb24gczIodCxlKXtsZXQgYT1iZSh0LGU/LmluKTtyZXR1cm4gYS5zZXRIb3VycygwLDAsMCwwKSxhfXZhciBOSGEsdHU9YygoKT0+e1JlKCk7aShzMiwic3RhcnRPZkRheSIpO05IYT1zMn0pO2Z1bmN0aW9uIEgxKHQsZSxhKXtsZXRbcixzXT1kdChhPy5pbix0LGUpLG49czIociksbz1zMihzKSxsPStuLUphKG4pLGg9K28tSmEobyk7cmV0dXJuIE1hdGgucm91bmQoKGwtaCkvbXEpfXZhciBWSGEsVzI9YygoKT0+e1UyKCk7eGEoKTtQdCgpO3R1KCk7aShIMSwiZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzIik7VkhhPUgxfSk7ZnVuY3Rpb24gcGkodCxlKXtsZXQgYT1Qcih0LGUpLHI9SWUoZT8uaW58fHQsMCk7cmV0dXJuIHIuc2V0RnVsbFllYXIoYSwwLDQpLHIuc2V0SG91cnMoMCwwLDAsMCksaDEocil9dmFyIFpIYSxkNT1jKCgpPT57bXQoKTttbigpO2kyKCk7aShwaSwic3RhcnRPZklTT1dlZWtZZWFyIik7WkhhPXBpfSk7ZnVuY3Rpb24genEodCxlLGEpe2xldCByPWJlKHQsYT8uaW4pLHM9SDEocixwaShyLGEpKSxuPUllKGE/LmlufHx0LDApO3JldHVybiBuLnNldEZ1bGxZZWFyKGUsMCw0KSxuLnNldEhvdXJzKDAsMCwwLDApLHI9cGkobiksci5zZXREYXRlKHIuZ2V0RGF0ZSgpK3MpLHJ9dmFyIGFxYSx0ZWU9YygoKT0+e210KCk7VzIoKTtkNSgpO1JlKCk7aSh6cSwic2V0SVNPV2Vla1llYXIiKTthcWE9enF9KTtmdW5jdGlvbiBTcSh0LGUsYSl7cmV0dXJuIHpxKHQsUHIodCxhKStlLGEpfXZhciBucWEsYWVlPWMoKCk9PnttbigpO3RlZSgpO2koU3EsImFkZElTT1dlZWtZZWFycyIpO25xYT1TcX0pO2Z1bmN0aW9uIHA1KHQsZSxhKXtsZXQgcj1iZSh0LGE/LmluKTtyZXR1cm4gci5zZXRUaW1lKHIuZ2V0VGltZSgpK2UqZnIpLHJ9dmFyIHVxYSxDcT1jKCgpPT57UHQoKTtSZSgpO2kocDUsImFkZE1pbnV0ZXMiKTt1cWE9cDV9KTtmdW5jdGlvbiB1NSh0LGUsYSl7cmV0dXJuIGEyKHQsZSozLGEpfXZhciBncWEsX3E9YygoKT0+e2M1KCk7aSh1NSwiYWRkUXVhcnRlcnMiKTtncWE9dTV9KTtmdW5jdGlvbiBUcSh0LGUsYSl7cmV0dXJuIGhuKHQsZSoxZTMsYSl9dmFyIHlxYSxyZWU9YygoKT0+e2V1KCk7aShUcSwiYWRkU2Vjb25kcyIpO3lxYT1UcX0pO2Z1bmN0aW9uIGduKHQsZSxhKXtyZXR1cm4gQzEodCxlKjcsYSl9dmFyIHpxYSxhdT1jKCgpPT57dDIoKTtpKGduLCJhZGRXZWVrcyIpO3pxYT1nbn0pO2Z1bmN0aW9uIExxKHQsZSxhKXtyZXR1cm4gYTIodCxlKjEyLGEpfXZhciBUcWEsaWVlPWMoKCk9PntjNSgpO2koTHEsImFkZFllYXJzIik7VHFhPUxxfSk7ZnVuY3Rpb24gUVVlKHQsZSxhKXtsZXRbcixzXT1bK2JlKHQuc3RhcnQsYT8uaW4pLCtiZSh0LmVuZCxhPy5pbildLnNvcnQoKGwsaCk9PmwtaCksW24sb109WytiZShlLnN0YXJ0LGE/LmluKSwrYmUoZS5lbmQsYT8uaW4pXS5zb3J0KChsLGgpPT5sLWgpO3JldHVybiBhPy5pbmNsdXNpdmU/cjw9byYmbjw9czpyPG8mJm48c312YXIgQXFhLEpVZT1jKCgpPT57UmUoKTtpKFFVZSwiYXJlSW50ZXJ2YWxzT3ZlcmxhcHBpbmciKTtBcWE9UVVlfSk7ZnVuY3Rpb24gJHEodCxlKXtsZXQgYSxyPWU/LmluO3JldHVybiB0LmZvckVhY2gocz0+eyFyJiZ0eXBlb2Ygcz09Im9iamVjdCImJihyPUllLmJpbmQobnVsbCxzKSk7bGV0IG49YmUocyxyKTsoIWF8fGE8bnx8aXNOYU4oK24pKSYmKGE9bil9KSxJZShyLGF8fE5hTil9dmFyIFJxYSxzZWU9YygoKT0+e210KCk7UmUoKTtpKCRxLCJtYXgiKTtScWE9JHF9KTtmdW5jdGlvbiBEcSh0LGUpe2xldCBhLHI9ZT8uaW47cmV0dXJuIHQuZm9yRWFjaChzPT57IXImJnR5cGVvZiBzPT0ib2JqZWN0IiYmKHI9SWUuYmluZChudWxsLHMpKTtsZXQgbj1iZShzLHIpOyghYXx8YT5ufHxpc05hTigrbikpJiYoYT1uKX0pLEllKHIsYXx8TmFOKX12YXIgcXFhLG9lZT1jKCgpPT57bXQoKTtSZSgpO2koRHEsIm1pbiIpO3FxYT1EcX0pO2Z1bmN0aW9uIGVXZSh0LGUsYSl7bGV0W3IscyxuXT1kdChhPy5pbix0LGUuc3RhcnQsZS5lbmQpO3JldHVybiBEcShbJHEoW3Isc10sYSksbl0sYSl9dmFyIFlxYSx0V2U9YygoKT0+e3hhKCk7c2VlKCk7b2VlKCk7aShlV2UsImNsYW1wIik7WXFhPWVXZX0pO2Z1bmN0aW9uIEFxKHQsZSl7bGV0IGE9K2JlKHQpO2lmKGlzTmFOKGEpKXJldHVybiBOYU47bGV0IHIscztyZXR1cm4gZS5mb3JFYWNoKChuLG8pPT57bGV0IGw9YmUobik7aWYoaXNOYU4oK2wpKXtyPU5hTixzPU5hTjtyZXR1cm59bGV0IGg9TWF0aC5hYnMoYS0rbCk7KHI9PW51bGx8fGg8cykmJihyPW8scz1oKX0pLHJ9dmFyIFFxYSxuZWU9YygoKT0+e1JlKCk7aShBcSwiY2xvc2VzdEluZGV4VG8iKTtRcWE9QXF9KTtmdW5jdGlvbiBhV2UodCxlLGEpe2xldFtyLC4uLnNdPWR0KGE/LmluLHQsLi4uZSksbj1BcShyLHMpO2lmKHR5cGVvZiBuPT0ibnVtYmVyIiYmaXNOYU4obikpcmV0dXJuIEllKHIsTmFOKTtpZihuIT09dm9pZCAwKXJldHVybiBzW25dfXZhciBpVmEscldlPWMoKCk9Pnt4YSgpO25lZSgpO210KCk7aShhV2UsImNsb3Nlc3RUbyIpO2lWYT1hV2V9KTtmdW5jdGlvbiBtcih0LGUpe2xldCBhPStiZSh0KS0rYmUoZSk7cmV0dXJuIGE8MD8tMTphPjA/MTphfXZhciBsVmEsT2w9YygoKT0+e1JlKCk7aShtciwiY29tcGFyZUFzYyIpO2xWYT1tcn0pO2Z1bmN0aW9uIGlXZSh0LGUpe2xldCBhPStiZSh0KS0rYmUoZSk7cmV0dXJuIGE+MD8tMTphPDA/MTphfXZhciB1VmEsc1dlPWMoKCk9PntSZSgpO2koaVdlLCJjb21wYXJlRGVzYyIpO3VWYT1pV2V9KTtmdW5jdGlvbiBIdCh0KXtyZXR1cm4gSWUodCxEYXRlLm5vdygpKX12YXIgZ1ZhLF8xPWMoKCk9PnttdCgpO2koSHQsImNvbnN0cnVjdE5vdyIpO2dWYT1IdH0pO2Z1bmN0aW9uIG9XZSh0KXtsZXQgZT1NYXRoLnRydW5jKHQvNyk7cmV0dXJuIGU9PT0wPzA6ZX12YXIgeVZhLG5XZT1jKCgpPT57UHQoKTtpKG9XZSwiZGF5c1RvV2Vla3MiKTt5VmE9b1dlfSk7ZnVuY3Rpb24gbzIodCxlLGEpe2xldFtyLHNdPWR0KGE/LmluLHQsZSk7cmV0dXJuK3MyKHIpPT0rczIocyl9dmFyIFNWYSxmNT1jKCgpPT57eGEoKTt0dSgpO2kobzIsImlzU2FtZURheSIpO1NWYT1vMn0pO2Z1bmN0aW9uIFBxKHQpe3JldHVybiB0IGluc3RhbmNlb2YgRGF0ZXx8dHlwZW9mIHQ9PSJvYmplY3QiJiZPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCk9PT0iW29iamVjdCBEYXRlXSJ9dmFyIFRWYSxsZWU9YygoKT0+e2koUHEsImlzRGF0ZSIpO1RWYT1QcX0pO2Z1bmN0aW9uIFExKHQpe3JldHVybiEoIVBxKHQpJiZ0eXBlb2YgdCE9Im51bWJlciJ8fGlzTmFOKCtiZSh0KSkpfXZhciBQVmEsRzI9YygoKT0+e2xlZSgpO1JlKCk7aShRMSwiaXNWYWxpZCIpO1BWYT1RMX0pO2Z1bmN0aW9uIGxXZSh0LGUsYSl7bGV0W3Isc109ZHQoYT8uaW4sdCxlKTtpZighUTEocil8fCFRMShzKSlyZXR1cm4gTmFOO2xldCBuPUgxKHIscyksbz1uPDA/LTE6MSxsPU1hdGgudHJ1bmMobi83KSxoPWwqNSx1PUMxKHMsbCo3KTtmb3IoOyFvMihyLHUpOyloKz1yMih1LGEpPzA6byx1PUMxKHUsbyk7cmV0dXJuIGg9PT0wPzA6aH12YXIgcVZhLGNXZT1jKCgpPT57eGEoKTt0MigpO1cyKCk7ZjUoKTtHMigpO0pwKCk7aShsV2UsImRpZmZlcmVuY2VJbkJ1c2luZXNzRGF5cyIpO3FWYT1sV2V9KTtmdW5jdGlvbiBFcSh0LGUsYSl7bGV0W3Isc109ZHQoYT8uaW4sdCxlKTtyZXR1cm4gUHIocixhKS1QcihzLGEpfXZhciBHVmEsY2VlPWMoKCk9Pnt4YSgpO21uKCk7aShFcSwiZGlmZmVyZW5jZUluQ2FsZW5kYXJJU09XZWVrWWVhcnMiKTtHVmE9RXF9KTtmdW5jdGlvbiBkV2UodCxlLGEpe2xldFtyLHNdPWR0KGE/LmluLHQsZSksbj1oMShyKSxvPWgxKHMpLGw9K24tSmEobiksaD0rby1KYShvKTtyZXR1cm4gTWF0aC5yb3VuZCgobC1oKS9lMil9dmFyIGVqYSxwV2U9YygoKT0+e1UyKCk7eGEoKTtQdCgpO2kyKCk7aShkV2UsImRpZmZlcmVuY2VJbkNhbGVuZGFySVNPV2Vla3MiKTtlamE9ZFdlfSk7ZnVuY3Rpb24gQmwodCxlLGEpe2xldFtyLHNdPWR0KGE/LmluLHQsZSksbj1yLmdldEZ1bGxZZWFyKCktcy5nZXRGdWxsWWVhcigpLG89ci5nZXRNb250aCgpLXMuZ2V0TW9udGgoKTtyZXR1cm4gbioxMitvfXZhciBpamEsSXE9YygoKT0+e3hhKCk7aShCbCwiZGlmZmVyZW5jZUluQ2FsZW5kYXJNb250aHMiKTtpamE9Qmx9KTtmdW5jdGlvbiBydSh0LGUpe2xldCBhPWJlKHQsZT8uaW4pO3JldHVybiBNYXRoLnRydW5jKGEuZ2V0TW9udGgoKS8zKSsxfXZhciBsamEsZGVlPWMoKCk9PntSZSgpO2kocnUsImdldFF1YXJ0ZXIiKTtsamE9cnV9KTtmdW5jdGlvbiBoNSh0LGUsYSl7bGV0W3Isc109ZHQoYT8uaW4sdCxlKSxuPXIuZ2V0RnVsbFllYXIoKS1zLmdldEZ1bGxZZWFyKCksbz1ydShyKS1ydShzKTtyZXR1cm4gbio0K299dmFyIGZqYSxwZWU9YygoKT0+e3hhKCk7ZGVlKCk7aShoNSwiZGlmZmVyZW5jZUluQ2FsZW5kYXJRdWFydGVycyIpO2ZqYT1oNX0pO2Z1bmN0aW9uIEhsKHQsZSxhKXtsZXRbcixzXT1kdChhPy5pbix0LGUpLG49Q2EocixhKSxvPUNhKHMsYSksbD0rbi1KYShuKSxoPStvLUphKG8pO3JldHVybiBNYXRoLnJvdW5kKChsLWgpL2UyKX12YXIgeWphLE5xPWMoKCk9PntVMigpO3hhKCk7UHQoKTtkcygpO2koSGwsImRpZmZlcmVuY2VJbkNhbGVuZGFyV2Vla3MiKTt5amE9SGx9KTtmdW5jdGlvbiBibih0LGUsYSl7bGV0W3Isc109ZHQoYT8uaW4sdCxlKTtyZXR1cm4gci5nZXRGdWxsWWVhcigpLXMuZ2V0RnVsbFllYXIoKX12YXIgemphLFJxPWMoKCk9Pnt4YSgpO2koYm4sImRpZmZlcmVuY2VJbkNhbGVuZGFyWWVhcnMiKTt6amE9Ym59KTtmdW5jdGlvbiBtNSh0LGUsYSl7bGV0W3Isc109ZHQoYT8uaW4sdCxlKSxuPXVXZShyLHMpLG89TWF0aC5hYnMoSDEocixzKSk7ci5zZXREYXRlKHIuZ2V0RGF0ZSgpLW4qbyk7bGV0IGw9Kyh1V2UocixzKT09PS1uKSxoPW4qKG8tbCk7cmV0dXJuIGg9PT0wPzA6aH1mdW5jdGlvbiB1V2UodCxlKXtsZXQgYT10LmdldEZ1bGxZZWFyKCktZS5nZXRGdWxsWWVhcigpfHx0LmdldE1vbnRoKCktZS5nZXRNb250aCgpfHx0LmdldERhdGUoKS1lLmdldERhdGUoKXx8dC5nZXRIb3VycygpLWUuZ2V0SG91cnMoKXx8dC5nZXRNaW51dGVzKCktZS5nZXRNaW51dGVzKCl8fHQuZ2V0U2Vjb25kcygpLWUuZ2V0U2Vjb25kcygpfHx0LmdldE1pbGxpc2Vjb25kcygpLWUuZ2V0TWlsbGlzZWNvbmRzKCk7cmV0dXJuIGE8MD8tMTphPjA/MTphfXZhciBMamEsRnE9YygoKT0+e3hhKCk7VzIoKTtpKG01LCJkaWZmZXJlbmNlSW5EYXlzIik7aSh1V2UsImNvbXBhcmVMb2NhbEFzYyIpO0xqYT1tNX0pO2Z1bmN0aW9uIGdyKHQpe3JldHVybiBlPT57bGV0IHI9KHQ/TWF0aFt0XTpNYXRoLnRydW5jKShlKTtyZXR1cm4gcj09PTA/MDpyfX12YXIgWTI9YygoKT0+e2koZ3IsImdldFJvdW5kaW5nTWV0aG9kIil9KTtmdW5jdGlvbiBxbCh0LGUsYSl7bGV0W3Isc109ZHQoYT8uaW4sdCxlKSxuPSgrci0rcykvZGk7cmV0dXJuIGdyKGE/LnJvdW5kaW5nTWV0aG9kKShuKX12YXIgUmphLE9xPWMoKCk9PntZMigpO3hhKCk7UHQoKTtpKHFsLCJkaWZmZXJlbmNlSW5Ib3VycyIpO1JqYT1xbH0pO2Z1bmN0aW9uIEJxKHQsZSxhKXtyZXR1cm4gU3EodCwtZSxhKX12YXIgSGphLHVlZT1jKCgpPT57YWVlKCk7aShCcSwic3ViSVNPV2Vla1llYXJzIik7SGphPUJxfSk7ZnVuY3Rpb24gZldlKHQsZSxhKXtsZXRbcixzXT1kdChhPy5pbix0LGUpLG49bXIocixzKSxvPU1hdGguYWJzKEVxKHIscyxhKSksbD1CcShyLG4qbyxhKSxoPSsobXIobCxzKT09PS1uKSx1PW4qKG8taCk7cmV0dXJuIHU9PT0wPzA6dX12YXIgWWphLGhXZT1jKCgpPT57eGEoKTtPbCgpO2NlZSgpO3VlZSgpO2koZldlLCJkaWZmZXJlbmNlSW5JU09XZWVrWWVhcnMiKTtZamE9ZldlfSk7ZnVuY3Rpb24gZzUodCxlKXtyZXR1cm4rYmUodCktK2JlKGUpfXZhciBRamEsSHE9YygoKT0+e1JlKCk7aShnNSwiZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzIik7UWphPWc1fSk7ZnVuY3Rpb24gVmwodCxlLGEpe2xldCByPWc1KHQsZSkvZnI7cmV0dXJuIGdyKGE/LnJvdW5kaW5nTWV0aG9kKShyKX12YXIgaVVhLHFxPWMoKCk9PntZMigpO1B0KCk7SHEoKTtpKFZsLCJkaWZmZXJlbmNlSW5NaW51dGVzIik7aVVhPVZsfSk7ZnVuY3Rpb24gYjUodCxlKXtsZXQgYT1iZSh0LGU/LmluKTtyZXR1cm4gYS5zZXRIb3VycygyMyw1OSw1OSw5OTkpLGF9dmFyIGxVYSxWcT1jKCgpPT57UmUoKTtpKGI1LCJlbmRPZkRheSIpO2xVYT1iNX0pO2Z1bmN0aW9uIHY1KHQsZSl7bGV0IGE9YmUodCxlPy5pbikscj1hLmdldE1vbnRoKCk7cmV0dXJuIGEuc2V0RnVsbFllYXIoYS5nZXRGdWxsWWVhcigpLHIrMSwwKSxhLnNldEhvdXJzKDIzLDU5LDU5LDk5OSksYX12YXIgdVVhLGpxPWMoKCk9PntSZSgpO2kodjUsImVuZE9mTW9udGgiKTt1VWE9djV9KTtmdW5jdGlvbiBVcSh0LGUpe2xldCBhPWJlKHQsZT8uaW4pO3JldHVybitiNShhLGUpPT0rdjUoYSxlKX12YXIgdlVhLGZlZT1jKCgpPT57VnEoKTtqcSgpO1JlKCk7aShVcSwiaXNMYXN0RGF5T2ZNb250aCIpO3ZVYT1VcX0pO2Z1bmN0aW9uIHZuKHQsZSxhKXtsZXRbcixzLG5dPWR0KGE/LmluLHQsdCxlKSxvPW1yKHMsbiksbD1NYXRoLmFicyhCbChzLG4pKTtpZihsPDEpcmV0dXJuIDA7cy5nZXRNb250aCgpPT09MSYmcy5nZXREYXRlKCk+MjcmJnMuc2V0RGF0ZSgzMCkscy5zZXRNb250aChzLmdldE1vbnRoKCktbypsKTtsZXQgaD1tcihzLG4pPT09LW87VXEocikmJmw9PT0xJiZtcihyLG4pPT09MSYmKGg9ITEpO2xldCB1PW8qKGwtK2gpO3JldHVybiB1PT09MD8wOnV9dmFyIFNVYSxpdT1jKCgpPT57eGEoKTtPbCgpO0lxKCk7ZmVlKCk7aSh2biwiZGlmZmVyZW5jZUluTW9udGhzIik7U1VhPXZufSk7ZnVuY3Rpb24gbVdlKHQsZSxhKXtsZXQgcj12bih0LGUsYSkvMztyZXR1cm4gZ3IoYT8ucm91bmRpbmdNZXRob2QpKHIpfXZhciAkVWEsZ1dlPWMoKCk9PntZMigpO2l1KCk7aShtV2UsImRpZmZlcmVuY2VJblF1YXJ0ZXJzIik7JFVhPW1XZX0pO2Z1bmN0aW9uIG4yKHQsZSxhKXtsZXQgcj1nNSh0LGUpLzFlMztyZXR1cm4gZ3IoYT8ucm91bmRpbmdNZXRob2QpKHIpfXZhciBJVWEsc3U9YygoKT0+e1kyKCk7SHEoKTtpKG4yLCJkaWZmZXJlbmNlSW5TZWNvbmRzIik7SVVhPW4yfSk7ZnVuY3Rpb24gYldlKHQsZSxhKXtsZXQgcj1tNSh0LGUsYSkvNztyZXR1cm4gZ3IoYT8ucm91bmRpbmdNZXRob2QpKHIpfXZhciBCVWEsdldlPWMoKCk9PntZMigpO0ZxKCk7aShiV2UsImRpZmZlcmVuY2VJbldlZWtzIik7QlVhPWJXZX0pO2Z1bmN0aW9uIFdxKHQsZSxhKXtsZXRbcixzXT1kdChhPy5pbix0LGUpLG49bXIocixzKSxvPU1hdGguYWJzKGJuKHIscykpO3Iuc2V0RnVsbFllYXIoMTU4NCkscy5zZXRGdWxsWWVhcigxNTg0KTtsZXQgbD1tcihyLHMpPT09LW4saD1uKihvLStsKTtyZXR1cm4gaD09PTA/MDpofXZhciBXVWEsaGVlPWMoKCk9Pnt4YSgpO09sKCk7UnEoKTtpKFdxLCJkaWZmZXJlbmNlSW5ZZWFycyIpO1dVYT1XcX0pO2Z1bmN0aW9uIHExKHQsZSl7bGV0W2Escl09ZHQodCxlLnN0YXJ0LGUuZW5kKTtyZXR1cm57c3RhcnQ6YSxlbmQ6cn19dmFyIGwyPWMoKCk9Pnt4YSgpO2kocTEsIm5vcm1hbGl6ZUludGVydmFsIil9KTtmdW5jdGlvbiBHcSh0LGUpe2xldHtzdGFydDphLGVuZDpyfT1xMShlPy5pbix0KSxzPSthPityLG49cz8rYTorcixvPXM/cjphO28uc2V0SG91cnMoMCwwLDAsMCk7bGV0IGw9ZT8uc3RlcD8/MTtpZighbClyZXR1cm5bXTtsPDAmJihsPS1sLHM9IXMpO2xldCBoPVtdO2Zvcig7K288PW47KWgucHVzaChJZShhLG8pKSxvLnNldERhdGUoby5nZXREYXRlKCkrbCksby5zZXRIb3VycygwLDAsMCwwKTtyZXR1cm4gcz9oLnJldmVyc2UoKTpofXZhciBlV2EsbWVlPWMoKCk9PntsMigpO210KCk7aShHcSwiZWFjaERheU9mSW50ZXJ2YWwiKTtlV2E9R3F9KTtmdW5jdGlvbiB4V2UodCxlKXtsZXR7c3RhcnQ6YSxlbmQ6cn09cTEoZT8uaW4sdCkscz0rYT4rcixuPXM/K2E6K3Isbz1zP3I6YTtvLnNldE1pbnV0ZXMoMCwwLDApO2xldCBsPWU/LnN0ZXA/PzE7aWYoIWwpcmV0dXJuW107bDwwJiYobD0tbCxzPSFzKTtsZXQgaD1bXTtmb3IoOytvPD1uOyloLnB1c2goSWUoYSxvKSksby5zZXRIb3VycyhvLmdldEhvdXJzKCkrbCk7cmV0dXJuIHM/aC5yZXZlcnNlKCk6aH12YXIgc1dhLHlXZT1jKCgpPT57bDIoKTttdCgpO2koeFdlLCJlYWNoSG91ck9mSW50ZXJ2YWwiKTtzV2E9eFdlfSk7ZnVuY3Rpb24gd1dlKHQsZSl7bGV0e3N0YXJ0OmEsZW5kOnJ9PXExKGU/LmluLHQpO2Euc2V0U2Vjb25kcygwLDApO2xldCBzPSthPityLG49cz8rYTorcixvPXM/cjphLGw9ZT8uc3RlcD8/MTtpZighbClyZXR1cm5bXTtsPDAmJihsPS1sLHM9IXMpO2xldCBoPVtdO2Zvcig7K288PW47KWgucHVzaChJZShhLG8pKSxvPXA1KG8sbCk7cmV0dXJuIHM/aC5yZXZlcnNlKCk6aH12YXIgcFdhLE1XZT1jKCgpPT57bDIoKTtDcSgpO210KCk7aSh3V2UsImVhY2hNaW51dGVPZkludGVydmFsIik7cFdhPXdXZX0pO2Z1bmN0aW9uIGtXZSh0LGUpe2xldHtzdGFydDphLGVuZDpyfT1xMShlPy5pbix0KSxzPSthPityLG49cz8rYTorcixvPXM/cjphO28uc2V0SG91cnMoMCwwLDAsMCksby5zZXREYXRlKDEpO2xldCBsPWU/LnN0ZXA/PzE7aWYoIWwpcmV0dXJuW107bDwwJiYobD0tbCxzPSFzKTtsZXQgaD1bXTtmb3IoOytvPD1uOyloLnB1c2goSWUoYSxvKSksby5zZXRNb250aChvLmdldE1vbnRoKCkrbCk7cmV0dXJuIHM/aC5yZXZlcnNlKCk6aH12YXIgZ1dhLHpXZT1jKCgpPT57bDIoKTttdCgpO2koa1dlLCJlYWNoTW9udGhPZkludGVydmFsIik7Z1dhPWtXZX0pO2Z1bmN0aW9uIGMyKHQsZSl7bGV0IGE9YmUodCxlPy5pbikscj1hLmdldE1vbnRoKCkscz1yLXIlMztyZXR1cm4gYS5zZXRNb250aChzLDEpLGEuc2V0SG91cnMoMCwwLDAsMCksYX12YXIgeVdhLFlxPWMoKCk9PntSZSgpO2koYzIsInN0YXJ0T2ZRdWFydGVyIik7eVdhPWMyfSk7ZnVuY3Rpb24gU1dlKHQsZSl7bGV0e3N0YXJ0OmEsZW5kOnJ9PXExKGU/LmluLHQpLHM9K2E+K3Isbj1zPytjMihhKTorYzIociksbz1zP2MyKHIpOmMyKGEpLGw9ZT8uc3RlcD8/MTtpZighbClyZXR1cm5bXTtsPDAmJihsPS1sLHM9IXMpO2xldCBoPVtdO2Zvcig7K288PW47KWgucHVzaChJZShhLG8pKSxvPXU1KG8sbCk7cmV0dXJuIHM/aC5yZXZlcnNlKCk6aH12YXIgX1dhLENXZT1jKCgpPT57bDIoKTtfcSgpO210KCk7WXEoKTtpKFNXZSwiZWFjaFF1YXJ0ZXJPZkludGVydmFsIik7X1dhPVNXZX0pO2Z1bmN0aW9uIF9XZSh0LGUpe2xldHtzdGFydDphLGVuZDpyfT1xMShlPy5pbix0KSxzPSthPityLG49cz9DYShyLGUpOkNhKGEsZSksbz1zP0NhKGEsZSk6Q2EocixlKTtuLnNldEhvdXJzKDE1KSxvLnNldEhvdXJzKDE1KTtsZXQgbD0rby5nZXRUaW1lKCksaD1uLHU9ZT8uc3RlcD8/MTtpZighdSlyZXR1cm5bXTt1PDAmJih1PS11LHM9IXMpO2xldCBmPVtdO2Zvcig7K2g8PWw7KWguc2V0SG91cnMoMCksZi5wdXNoKEllKGEsaCkpLGg9Z24oaCx1KSxoLnNldEhvdXJzKDE1KTtyZXR1cm4gcz9mLnJldmVyc2UoKTpmfXZhciBFV2EsVFdlPWMoKCk9PntsMigpO2F1KCk7bXQoKTtkcygpO2koX1dlLCJlYWNoV2Vla09mSW50ZXJ2YWwiKTtFV2E9X1dlfSk7ZnVuY3Rpb24geDUodCxlKXtsZXR7c3RhcnQ6YSxlbmQ6cn09cTEoZT8uaW4sdCkscz1HcSh7c3RhcnQ6YSxlbmQ6cn0sZSksbj1bXSxvPTA7Zm9yKDtvPHMubGVuZ3RoOyl7bGV0IGw9c1tvKytdO3IyKGwpJiZuLnB1c2goSWUoYSxsKSl9cmV0dXJuIG59dmFyIEhXYSxacT1jKCgpPT57bDIoKTttdCgpO21lZSgpO0pwKCk7aSh4NSwiZWFjaFdlZWtlbmRPZkludGVydmFsIik7SFdhPXg1fSk7ZnVuY3Rpb24geG4odCxlKXtsZXQgYT1iZSh0LGU/LmluKTtyZXR1cm4gYS5zZXREYXRlKDEpLGEuc2V0SG91cnMoMCwwLDAsMCksYX12YXIgVVdhLG91PWMoKCk9PntSZSgpO2koeG4sInN0YXJ0T2ZNb250aCIpO1VXYT14bn0pO2Z1bmN0aW9uIExXZSh0LGUpe2xldCBhPXhuKHQsZSkscj12NSh0LGUpO3JldHVybiB4NSh7c3RhcnQ6YSxlbmQ6cn0sZSl9dmFyIEtXYSwkV2U9YygoKT0+e1pxKCk7anEoKTtvdSgpO2koTFdlLCJlYWNoV2Vla2VuZE9mTW9udGgiKTtLV2E9TFdlfSk7ZnVuY3Rpb24gWHEodCxlKXtsZXQgYT1iZSh0LGU/LmluKSxyPWEuZ2V0RnVsbFllYXIoKTtyZXR1cm4gYS5zZXRGdWxsWWVhcihyKzEsMCwwKSxhLnNldEhvdXJzKDIzLDU5LDU5LDk5OSksYX12YXIgdEdhLGdlZT1jKCgpPT57UmUoKTtpKFhxLCJlbmRPZlllYXIiKTt0R2E9WHF9KTtmdW5jdGlvbiB5NSh0LGUpe2xldCBhPWJlKHQsZT8uaW4pO3JldHVybiBhLnNldEZ1bGxZZWFyKGEuZ2V0RnVsbFllYXIoKSwwLDEpLGEuc2V0SG91cnMoMCwwLDAsMCksYX12YXIgc0dhLEtxPWMoKCk9PntSZSgpO2koeTUsInN0YXJ0T2ZZZWFyIik7c0dhPXk1fSk7ZnVuY3Rpb24gRFdlKHQsZSl7bGV0IGE9eTUodCxlKSxyPVhxKHQsZSk7cmV0dXJuIHg1KHtzdGFydDphLGVuZDpyfSxlKX12YXIgcEdhLEFXZT1jKCgpPT57WnEoKTtnZWUoKTtLcSgpO2koRFdlLCJlYWNoV2Vla2VuZE9mWWVhciIpO3BHYT1EV2V9KTtmdW5jdGlvbiBQV2UodCxlKXtsZXR7c3RhcnQ6YSxlbmQ6cn09cTEoZT8uaW4sdCkscz0rYT4rcixuPXM/K2E6K3Isbz1zP3I6YTtvLnNldEhvdXJzKDAsMCwwLDApLG8uc2V0TW9udGgoMCwxKTtsZXQgbD1lPy5zdGVwPz8xO2lmKCFsKXJldHVybltdO2w8MCYmKGw9LWwscz0hcyk7bGV0IGg9W107Zm9yKDsrbzw9bjspaC5wdXNoKEllKGEsbykpLG8uc2V0RnVsbFllYXIoby5nZXRGdWxsWWVhcigpK2wpO3JldHVybiBzP2gucmV2ZXJzZSgpOmh9dmFyIGdHYSxFV2U9YygoKT0+e2wyKCk7bXQoKTtpKFBXZSwiZWFjaFllYXJPZkludGVydmFsIik7Z0dhPVBXZX0pO2Z1bmN0aW9uIElXZSh0LGUpe2xldCBhPWJlKHQsZT8uaW4pLHI9YS5nZXRGdWxsWWVhcigpLHM9OStNYXRoLmZsb29yKHIvMTApKjEwO3JldHVybiBhLnNldEZ1bGxZZWFyKHMsMTEsMzEpLGEuc2V0SG91cnMoMjMsNTksNTksOTk5KSxhfXZhciB5R2EsTldlPWMoKCk9PntSZSgpO2koSVdlLCJlbmRPZkRlY2FkZSIpO3lHYT1JV2V9KTtmdW5jdGlvbiBSV2UodCxlKXtsZXQgYT1iZSh0LGU/LmluKTtyZXR1cm4gYS5zZXRNaW51dGVzKDU5LDU5LDk5OSksYX12YXIgekdhLEZXZT1jKCgpPT57UmUoKTtpKFJXZSwiZW5kT2ZIb3VyIik7ekdhPVJXZX0pO2Z1bmN0aW9uIFFxKHQsZSl7bGV0IGE9aGEoKSxyPWU/LndlZWtTdGFydHNPbj8/ZT8ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/P2Eud2Vla1N0YXJ0c09uPz9hLmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz8wLHM9YmUodCxlPy5pbiksbj1zLmdldERheSgpLG89KG48cj8tNzowKSs2LShuLXIpO3JldHVybiBzLnNldERhdGUocy5nZXREYXRlKCkrbykscy5zZXRIb3VycygyMyw1OSw1OSw5OTkpLHN9dmFyIExHYSxiZWU9YygoKT0+e2hyKCk7UmUoKTtpKFFxLCJlbmRPZldlZWsiKTtMR2E9UXF9KTtmdW5jdGlvbiBPV2UodCxlKXtyZXR1cm4gUXEodCx7Li4uZSx3ZWVrU3RhcnRzT246MX0pfXZhciBQR2EsQldlPWMoKCk9PntiZWUoKTtpKE9XZSwiZW5kT2ZJU09XZWVrIik7UEdhPU9XZX0pO2Z1bmN0aW9uIEhXZSh0LGUpe2xldCBhPVByKHQsZSkscj1JZShlPy5pbnx8dCwwKTtyLnNldEZ1bGxZZWFyKGErMSwwLDQpLHIuc2V0SG91cnMoMCwwLDAsMCk7bGV0IHM9aDEocixlKTtyZXR1cm4gcy5zZXRNaWxsaXNlY29uZHMocy5nZXRNaWxsaXNlY29uZHMoKS0xKSxzfXZhciBPR2EscVdlPWMoKCk9PnttdCgpO21uKCk7aTIoKTtpKEhXZSwiZW5kT2ZJU09XZWVrWWVhciIpO09HYT1IV2V9KTtmdW5jdGlvbiBWV2UodCxlKXtsZXQgYT1iZSh0LGU/LmluKTtyZXR1cm4gYS5zZXRTZWNvbmRzKDU5LDk5OSksYX12YXIgVkdhLGpXZT1jKCgpPT57UmUoKTtpKFZXZSwiZW5kT2ZNaW51dGUiKTtWR2E9VldlfSk7ZnVuY3Rpb24gVVdlKHQsZSl7bGV0IGE9YmUodCxlPy5pbikscj1hLmdldE1vbnRoKCkscz1yLXIlMyszO3JldHVybiBhLnNldE1vbnRoKHMsMCksYS5zZXRIb3VycygyMyw1OSw1OSw5OTkpLGF9dmFyIEdHYSxXV2U9YygoKT0+e1JlKCk7aShVV2UsImVuZE9mUXVhcnRlciIpO0dHYT1VV2V9KTtmdW5jdGlvbiBHV2UodCxlKXtsZXQgYT1iZSh0LGU/LmluKTtyZXR1cm4gYS5zZXRNaWxsaXNlY29uZHMoOTk5KSxhfXZhciBLR2EsWVdlPWMoKCk9PntSZSgpO2koR1dlLCJlbmRPZlNlY29uZCIpO0tHYT1HV2V9KTtmdW5jdGlvbiBaV2UodCl7cmV0dXJuIGI1KERhdGUubm93KCksdCl9dmFyIHRZYSxYV2U9YygoKT0+e1ZxKCk7aShaV2UsImVuZE9mVG9kYXkiKTt0WWE9WldlfSk7ZnVuY3Rpb24gS1dlKHQpe2xldCBlPUh0KHQ/LmluKSxhPWUuZ2V0RnVsbFllYXIoKSxyPWUuZ2V0TW9udGgoKSxzPWUuZ2V0RGF0ZSgpLG49SHQodD8uaW4pO3JldHVybiBuLnNldEZ1bGxZZWFyKGEscixzKzEpLG4uc2V0SG91cnMoMjMsNTksNTksOTk5KSx0Py5pbj90LmluKG4pOm59dmFyIHNZYSxRV2U9YygoKT0+e18xKCk7aShLV2UsImVuZE9mVG9tb3Jyb3ciKTtzWWE9S1dlfSk7ZnVuY3Rpb24gSldlKHQpe2xldCBlPUh0KHQ/LmluKSxhPUllKHQ/LmluLDApO3JldHVybiBhLnNldEZ1bGxZZWFyKGUuZ2V0RnVsbFllYXIoKSxlLmdldE1vbnRoKCksZS5nZXREYXRlKCktMSksYS5zZXRIb3VycygyMyw1OSw1OSw5OTkpLGF9dmFyIGRZYSxlR2U9YygoKT0+e210KCk7XzEoKTtpKEpXZSwiZW5kT2ZZZXN0ZXJkYXkiKTtkWWE9SldlfSk7dmFyIHJuYSx0R2UsYUdlPWMoKCk9PntybmE9e2xlc3NUaGFuWFNlY29uZHM6e29uZToibGVzcyB0aGFuIGEgc2Vjb25kIixvdGhlcjoibGVzcyB0aGFuIHt7Y291bnR9fSBzZWNvbmRzIn0seFNlY29uZHM6e29uZToiMSBzZWNvbmQiLG90aGVyOiJ7e2NvdW50fX0gc2Vjb25kcyJ9LGhhbGZBTWludXRlOiJoYWxmIGEgbWludXRlIixsZXNzVGhhblhNaW51dGVzOntvbmU6Imxlc3MgdGhhbiBhIG1pbnV0ZSIsb3RoZXI6Imxlc3MgdGhhbiB7e2NvdW50fX0gbWludXRlcyJ9LHhNaW51dGVzOntvbmU6IjEgbWludXRlIixvdGhlcjoie3tjb3VudH19IG1pbnV0ZXMifSxhYm91dFhIb3Vyczp7b25lOiJhYm91dCAxIGhvdXIiLG90aGVyOiJhYm91dCB7e2NvdW50fX0gaG91cnMifSx4SG91cnM6e29uZToiMSBob3VyIixvdGhlcjoie3tjb3VudH19IGhvdXJzIn0seERheXM6e29uZToiMSBkYXkiLG90aGVyOiJ7e2NvdW50fX0gZGF5cyJ9LGFib3V0WFdlZWtzOntvbmU6ImFib3V0IDEgd2VlayIsb3RoZXI6ImFib3V0IHt7Y291bnR9fSB3ZWVrcyJ9LHhXZWVrczp7b25lOiIxIHdlZWsiLG90aGVyOiJ7e2NvdW50fX0gd2Vla3MifSxhYm91dFhNb250aHM6e29uZToiYWJvdXQgMSBtb250aCIsb3RoZXI6ImFib3V0IHt7Y291bnR9fSBtb250aHMifSx4TW9udGhzOntvbmU6IjEgbW9udGgiLG90aGVyOiJ7e2NvdW50fX0gbW9udGhzIn0sYWJvdXRYWWVhcnM6e29uZToiYWJvdXQgMSB5ZWFyIixvdGhlcjoiYWJvdXQge3tjb3VudH19IHllYXJzIn0seFllYXJzOntvbmU6IjEgeWVhciIsb3RoZXI6Int7Y291bnR9fSB5ZWFycyJ9LG92ZXJYWWVhcnM6e29uZToib3ZlciAxIHllYXIiLG90aGVyOiJvdmVyIHt7Y291bnR9fSB5ZWFycyJ9LGFsbW9zdFhZZWFyczp7b25lOiJhbG1vc3QgMSB5ZWFyIixvdGhlcjoiYWxtb3N0IHt7Y291bnR9fSB5ZWFycyJ9fSx0R2U9aSgodCxlLGEpPT57bGV0IHIscz1ybmFbdF07cmV0dXJuIHR5cGVvZiBzPT0ic3RyaW5nIj9yPXM6ZT09PTE/cj1zLm9uZTpyPXMub3RoZXIucmVwbGFjZSgie3tjb3VudH19IixlLnRvU3RyaW5nKCkpLGE/LmFkZFN1ZmZpeD9hLmNvbXBhcmlzb24mJmEuY29tcGFyaXNvbj4wPyJpbiAiK3I6cisiIGFnbyI6cn0sImZvcm1hdERpc3RhbmNlIil9KTtmdW5jdGlvbiBKcSh0KXtyZXR1cm4oZT17fSk9PntsZXQgYT1lLndpZHRoP1N0cmluZyhlLndpZHRoKTp0LmRlZmF1bHRXaWR0aDtyZXR1cm4gdC5mb3JtYXRzW2FdfHx0LmZvcm1hdHNbdC5kZWZhdWx0V2lkdGhdfX12YXIgckdlPWMoKCk9PntpKEpxLCJidWlsZEZvcm1hdExvbmdGbiIpfSk7dmFyIGluYSxzbmEsb25hLGlHZSxzR2U9YygoKT0+e3JHZSgpO2luYT17ZnVsbDoiRUVFRSwgTU1NTSBkbywgeSIsbG9uZzoiTU1NTSBkbywgeSIsbWVkaXVtOiJNTU0gZCwgeSIsc2hvcnQ6Ik1NL2RkL3l5eXkifSxzbmE9e2Z1bGw6Img6bW06c3MgYSB6enp6Iixsb25nOiJoOm1tOnNzIGEgeiIsbWVkaXVtOiJoOm1tOnNzIGEiLHNob3J0OiJoOm1tIGEifSxvbmE9e2Z1bGw6Int7ZGF0ZX19ICdhdCcge3t0aW1lfX0iLGxvbmc6Int7ZGF0ZX19ICdhdCcge3t0aW1lfX0iLG1lZGl1bToie3tkYXRlfX0sIHt7dGltZX19IixzaG9ydDoie3tkYXRlfX0sIHt7dGltZX19In0saUdlPXtkYXRlOkpxKHtmb3JtYXRzOmluYSxkZWZhdWx0V2lkdGg6ImZ1bGwifSksdGltZTpKcSh7Zm9ybWF0czpzbmEsZGVmYXVsdFdpZHRoOiJmdWxsIn0pLGRhdGVUaW1lOkpxKHtmb3JtYXRzOm9uYSxkZWZhdWx0V2lkdGg6ImZ1bGwifSl9fSk7dmFyIG5uYSxvR2UsbkdlPWMoKCk9PntubmE9e2xhc3RXZWVrOiInbGFzdCcgZWVlZSAnYXQnIHAiLHllc3RlcmRheToiJ3llc3RlcmRheSBhdCcgcCIsdG9kYXk6Iid0b2RheSBhdCcgcCIsdG9tb3Jyb3c6Iid0b21vcnJvdyBhdCcgcCIsbmV4dFdlZWs6ImVlZWUgJ2F0JyBwIixvdGhlcjoiUCJ9LG9HZT1pKCh0LGUsYSxyKT0+bm5hW3RdLCJmb3JtYXRSZWxhdGl2ZSIpfSk7ZnVuY3Rpb24gdzUodCl7cmV0dXJuKGUsYSk9PntsZXQgcj1hPy5jb250ZXh0P1N0cmluZyhhLmNvbnRleHQpOiJzdGFuZGFsb25lIixzO2lmKHI9PT0iZm9ybWF0dGluZyImJnQuZm9ybWF0dGluZ1ZhbHVlcyl7bGV0IG89dC5kZWZhdWx0Rm9ybWF0dGluZ1dpZHRofHx0LmRlZmF1bHRXaWR0aCxsPWE/LndpZHRoP1N0cmluZyhhLndpZHRoKTpvO3M9dC5mb3JtYXR0aW5nVmFsdWVzW2xdfHx0LmZvcm1hdHRpbmdWYWx1ZXNbb119ZWxzZXtsZXQgbz10LmRlZmF1bHRXaWR0aCxsPWE/LndpZHRoP1N0cmluZyhhLndpZHRoKTp0LmRlZmF1bHRXaWR0aDtzPXQudmFsdWVzW2xdfHx0LnZhbHVlc1tvXX1sZXQgbj10LmFyZ3VtZW50Q2FsbGJhY2s/dC5hcmd1bWVudENhbGxiYWNrKGUpOmU7cmV0dXJuIHNbbl19fXZhciBsR2U9YygoKT0+e2kodzUsImJ1aWxkTG9jYWxpemVGbiIpfSk7dmFyIGxuYSxjbmEsZG5hLHBuYSx1bmEsZm5hLGhuYSxjR2UsZEdlPWMoKCk9PntsR2UoKTtsbmE9e25hcnJvdzpbIkIiLCJBIl0sYWJicmV2aWF0ZWQ6WyJCQyIsIkFEIl0sd2lkZTpbIkJlZm9yZSBDaHJpc3QiLCJBbm5vIERvbWluaSJdfSxjbmE9e25hcnJvdzpbIjEiLCIyIiwiMyIsIjQiXSxhYmJyZXZpYXRlZDpbIlExIiwiUTIiLCJRMyIsIlE0Il0sd2lkZTpbIjFzdCBxdWFydGVyIiwiMm5kIHF1YXJ0ZXIiLCIzcmQgcXVhcnRlciIsIjR0aCBxdWFydGVyIl19LGRuYT17bmFycm93OlsiSiIsIkYiLCJNIiwiQSIsIk0iLCJKIiwiSiIsIkEiLCJTIiwiTyIsIk4iLCJEIl0sYWJicmV2aWF0ZWQ6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSx3aWRlOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXX0scG5hPXtuYXJyb3c6WyJTIiwiTSIsIlQiLCJXIiwiVCIsIkYiLCJTIl0sc2hvcnQ6WyJTdSIsIk1vIiwiVHUiLCJXZSIsIlRoIiwiRnIiLCJTYSJdLGFiYnJldmlhdGVkOlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sd2lkZTpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il19LHVuYT17bmFycm93OnthbToiYSIscG06InAiLG1pZG5pZ2h0OiJtaSIsbm9vbjoibiIsbW9ybmluZzoibW9ybmluZyIsYWZ0ZXJub29uOiJhZnRlcm5vb24iLGV2ZW5pbmc6ImV2ZW5pbmciLG5pZ2h0OiJuaWdodCJ9LGFiYnJldmlhdGVkOnthbToiQU0iLHBtOiJQTSIsbWlkbmlnaHQ6Im1pZG5pZ2h0Iixub29uOiJub29uIixtb3JuaW5nOiJtb3JuaW5nIixhZnRlcm5vb246ImFmdGVybm9vbiIsZXZlbmluZzoiZXZlbmluZyIsbmlnaHQ6Im5pZ2h0In0sd2lkZTp7YW06ImEubS4iLHBtOiJwLm0uIixtaWRuaWdodDoibWlkbmlnaHQiLG5vb246Im5vb24iLG1vcm5pbmc6Im1vcm5pbmciLGFmdGVybm9vbjoiYWZ0ZXJub29uIixldmVuaW5nOiJldmVuaW5nIixuaWdodDoibmlnaHQifX0sZm5hPXtuYXJyb3c6e2FtOiJhIixwbToicCIsbWlkbmlnaHQ6Im1pIixub29uOiJuIixtb3JuaW5nOiJpbiB0aGUgbW9ybmluZyIsYWZ0ZXJub29uOiJpbiB0aGUgYWZ0ZXJub29uIixldmVuaW5nOiJpbiB0aGUgZXZlbmluZyIsbmlnaHQ6ImF0IG5pZ2h0In0sYWJicmV2aWF0ZWQ6e2FtOiJBTSIscG06IlBNIixtaWRuaWdodDoibWlkbmlnaHQiLG5vb246Im5vb24iLG1vcm5pbmc6ImluIHRoZSBtb3JuaW5nIixhZnRlcm5vb246ImluIHRoZSBhZnRlcm5vb24iLGV2ZW5pbmc6ImluIHRoZSBldmVuaW5nIixuaWdodDoiYXQgbmlnaHQifSx3aWRlOnthbToiYS5tLiIscG06InAubS4iLG1pZG5pZ2h0OiJtaWRuaWdodCIsbm9vbjoibm9vbiIsbW9ybmluZzoiaW4gdGhlIG1vcm5pbmciLGFmdGVybm9vbjoiaW4gdGhlIGFmdGVybm9vbiIsZXZlbmluZzoiaW4gdGhlIGV2ZW5pbmciLG5pZ2h0OiJhdCBuaWdodCJ9fSxobmE9aSgodCxlKT0+e2xldCBhPU51bWJlcih0KSxyPWElMTAwO2lmKHI+MjB8fHI8MTApc3dpdGNoKHIlMTApe2Nhc2UgMTpyZXR1cm4gYSsic3QiO2Nhc2UgMjpyZXR1cm4gYSsibmQiO2Nhc2UgMzpyZXR1cm4gYSsicmQifXJldHVybiBhKyJ0aCJ9LCJvcmRpbmFsTnVtYmVyIiksY0dlPXtvcmRpbmFsTnVtYmVyOmhuYSxlcmE6dzUoe3ZhbHVlczpsbmEsZGVmYXVsdFdpZHRoOiJ3aWRlIn0pLHF1YXJ0ZXI6dzUoe3ZhbHVlczpjbmEsZGVmYXVsdFdpZHRoOiJ3aWRlIixhcmd1bWVudENhbGxiYWNrOmkodD0+dC0xLCJhcmd1bWVudENhbGxiYWNrIil9KSxtb250aDp3NSh7dmFsdWVzOmRuYSxkZWZhdWx0V2lkdGg6IndpZGUifSksZGF5Onc1KHt2YWx1ZXM6cG5hLGRlZmF1bHRXaWR0aDoid2lkZSJ9KSxkYXlQZXJpb2Q6dzUoe3ZhbHVlczp1bmEsZGVmYXVsdFdpZHRoOiJ3aWRlIixmb3JtYXR0aW5nVmFsdWVzOmZuYSxkZWZhdWx0Rm9ybWF0dGluZ1dpZHRoOiJ3aWRlIn0pfX0pO2Z1bmN0aW9uIE01KHQpe3JldHVybihlLGE9e30pPT57bGV0IHI9YS53aWR0aCxzPXImJnQubWF0Y2hQYXR0ZXJuc1tyXXx8dC5tYXRjaFBhdHRlcm5zW3QuZGVmYXVsdE1hdGNoV2lkdGhdLG49ZS5tYXRjaChzKTtpZighbilyZXR1cm4gbnVsbDtsZXQgbz1uWzBdLGw9ciYmdC5wYXJzZVBhdHRlcm5zW3JdfHx0LnBhcnNlUGF0dGVybnNbdC5kZWZhdWx0UGFyc2VXaWR0aF0saD1BcnJheS5pc0FycmF5KGwpP2duYShsLHA9PnAudGVzdChvKSk6bW5hKGwscD0+cC50ZXN0KG8pKSx1O3U9dC52YWx1ZUNhbGxiYWNrP3QudmFsdWVDYWxsYmFjayhoKTpoLHU9YS52YWx1ZUNhbGxiYWNrP2EudmFsdWVDYWxsYmFjayh1KTp1O2xldCBmPWUuc2xpY2Uoby5sZW5ndGgpO3JldHVybnt2YWx1ZTp1LHJlc3Q6Zn19fWZ1bmN0aW9uIG1uYSh0LGUpe2ZvcihsZXQgYSBpbiB0KWlmKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGEpJiZlKHRbYV0pKXJldHVybiBhfWZ1bmN0aW9uIGduYSh0LGUpe2ZvcihsZXQgYT0wO2E8dC5sZW5ndGg7YSsrKWlmKGUodFthXSkpcmV0dXJuIGF9dmFyIHBHZT1jKCgpPT57aShNNSwiYnVpbGRNYXRjaEZuIik7aShtbmEsImZpbmRLZXkiKTtpKGduYSwiZmluZEluZGV4Iil9KTtmdW5jdGlvbiB1R2UodCl7cmV0dXJuKGUsYT17fSk9PntsZXQgcj1lLm1hdGNoKHQubWF0Y2hQYXR0ZXJuKTtpZighcilyZXR1cm4gbnVsbDtsZXQgcz1yWzBdLG49ZS5tYXRjaCh0LnBhcnNlUGF0dGVybik7aWYoIW4pcmV0dXJuIG51bGw7bGV0IG89dC52YWx1ZUNhbGxiYWNrP3QudmFsdWVDYWxsYmFjayhuWzBdKTpuWzBdO289YS52YWx1ZUNhbGxiYWNrP2EudmFsdWVDYWxsYmFjayhvKTpvO2xldCBsPWUuc2xpY2Uocy5sZW5ndGgpO3JldHVybnt2YWx1ZTpvLHJlc3Q6bH19fXZhciBmR2U9YygoKT0+e2kodUdlLCJidWlsZE1hdGNoUGF0dGVybkZuIil9KTt2YXIgYm5hLHZuYSx4bmEseW5hLHduYSxNbmEsa25hLHpuYSxTbmEsQ25hLF9uYSxUbmEsaEdlLG1HZT1jKCgpPT57cEdlKCk7ZkdlKCk7Ym5hPS9eKFxkKykodGh8c3R8bmR8cmQpPy9pLHZuYT0vXGQrL2kseG5hPXtuYXJyb3c6L14oYnxhKS9pLGFiYnJldmlhdGVkOi9eKGJcLj9ccz9jXC4/fGJcLj9ccz9jXC4/XHM/ZVwuP3xhXC4/XHM/ZFwuP3xjXC4/XHM/ZVwuPykvaSx3aWRlOi9eKGJlZm9yZSBjaHJpc3R8YmVmb3JlIGNvbW1vbiBlcmF8YW5ubyBkb21pbml8Y29tbW9uIGVyYSkvaX0seW5hPXthbnk6Wy9eYi9pLC9eKGF8YykvaV19LHduYT17bmFycm93Oi9eWzEyMzRdL2ksYWJicmV2aWF0ZWQ6L15xWzEyMzRdL2ksd2lkZTovXlsxMjM0XSh0aHxzdHxuZHxyZCk/IHF1YXJ0ZXIvaX0sTW5hPXthbnk6Wy8xL2ksLzIvaSwvMy9pLC80L2ldfSxrbmE9e25hcnJvdzovXltqZm1hc29uZF0vaSxhYmJyZXZpYXRlZDovXihqYW58ZmVifG1hcnxhcHJ8bWF5fGp1bnxqdWx8YXVnfHNlcHxvY3R8bm92fGRlYykvaSx3aWRlOi9eKGphbnVhcnl8ZmVicnVhcnl8bWFyY2h8YXByaWx8bWF5fGp1bmV8anVseXxhdWd1c3R8c2VwdGVtYmVyfG9jdG9iZXJ8bm92ZW1iZXJ8ZGVjZW1iZXIpL2l9LHpuYT17bmFycm93OlsvXmovaSwvXmYvaSwvXm0vaSwvXmEvaSwvXm0vaSwvXmovaSwvXmovaSwvXmEvaSwvXnMvaSwvXm8vaSwvXm4vaSwvXmQvaV0sYW55OlsvXmphL2ksL15mL2ksL15tYXIvaSwvXmFwL2ksL15tYXkvaSwvXmp1bi9pLC9eanVsL2ksL15hdS9pLC9ecy9pLC9eby9pLC9ebi9pLC9eZC9pXX0sU25hPXtuYXJyb3c6L15bc210d2ZdL2ksc2hvcnQ6L14oc3V8bW98dHV8d2V8dGh8ZnJ8c2EpL2ksYWJicmV2aWF0ZWQ6L14oc3VufG1vbnx0dWV8d2VkfHRodXxmcml8c2F0KS9pLHdpZGU6L14oc3VuZGF5fG1vbmRheXx0dWVzZGF5fHdlZG5lc2RheXx0aHVyc2RheXxmcmlkYXl8c2F0dXJkYXkpL2l9LENuYT17bmFycm93OlsvXnMvaSwvXm0vaSwvXnQvaSwvXncvaSwvXnQvaSwvXmYvaSwvXnMvaV0sYW55OlsvXnN1L2ksL15tL2ksL150dS9pLC9edy9pLC9edGgvaSwvXmYvaSwvXnNhL2ldfSxfbmE9e25hcnJvdzovXihhfHB8bWl8bnwoaW4gdGhlfGF0KSAobW9ybmluZ3xhZnRlcm5vb258ZXZlbmluZ3xuaWdodCkpL2ksYW55Oi9eKFthcF1cLj9ccz9tXC4/fG1pZG5pZ2h0fG5vb258KGluIHRoZXxhdCkgKG1vcm5pbmd8YWZ0ZXJub29ufGV2ZW5pbmd8bmlnaHQpKS9pfSxUbmE9e2FueTp7YW06L15hL2kscG06L15wL2ksbWlkbmlnaHQ6L15taS9pLG5vb246L15uby9pLG1vcm5pbmc6L21vcm5pbmcvaSxhZnRlcm5vb246L2FmdGVybm9vbi9pLGV2ZW5pbmc6L2V2ZW5pbmcvaSxuaWdodDovbmlnaHQvaX19LGhHZT17b3JkaW5hbE51bWJlcjp1R2Uoe21hdGNoUGF0dGVybjpibmEscGFyc2VQYXR0ZXJuOnZuYSx2YWx1ZUNhbGxiYWNrOmkodD0+cGFyc2VJbnQodCwxMCksInZhbHVlQ2FsbGJhY2siKX0pLGVyYTpNNSh7bWF0Y2hQYXR0ZXJuczp4bmEsZGVmYXVsdE1hdGNoV2lkdGg6IndpZGUiLHBhcnNlUGF0dGVybnM6eW5hLGRlZmF1bHRQYXJzZVdpZHRoOiJhbnkifSkscXVhcnRlcjpNNSh7bWF0Y2hQYXR0ZXJuczp3bmEsZGVmYXVsdE1hdGNoV2lkdGg6IndpZGUiLHBhcnNlUGF0dGVybnM6TW5hLGRlZmF1bHRQYXJzZVdpZHRoOiJhbnkiLHZhbHVlQ2FsbGJhY2s6aSh0PT50KzEsInZhbHVlQ2FsbGJhY2siKX0pLG1vbnRoOk01KHttYXRjaFBhdHRlcm5zOmtuYSxkZWZhdWx0TWF0Y2hXaWR0aDoid2lkZSIscGFyc2VQYXR0ZXJuczp6bmEsZGVmYXVsdFBhcnNlV2lkdGg6ImFueSJ9KSxkYXk6TTUoe21hdGNoUGF0dGVybnM6U25hLGRlZmF1bHRNYXRjaFdpZHRoOiJ3aWRlIixwYXJzZVBhdHRlcm5zOkNuYSxkZWZhdWx0UGFyc2VXaWR0aDoiYW55In0pLGRheVBlcmlvZDpNNSh7bWF0Y2hQYXR0ZXJuczpfbmEsZGVmYXVsdE1hdGNoV2lkdGg6ImFueSIscGFyc2VQYXR0ZXJuczpUbmEsZGVmYXVsdFBhcnNlV2lkdGg6ImFueSJ9KX19KTt2YXIgZWksT1lhLGdHZT1jKCgpPT57YUdlKCk7c0dlKCk7bkdlKCk7ZEdlKCk7bUdlKCk7ZWk9e2NvZGU6ImVuLVVTIixmb3JtYXREaXN0YW5jZTp0R2UsZm9ybWF0TG9uZzppR2UsZm9ybWF0UmVsYXRpdmU6b0dlLGxvY2FsaXplOmNHZSxtYXRjaDpoR2Usb3B0aW9uczp7d2Vla1N0YXJ0c09uOjAsZmlyc3RXZWVrQ29udGFpbnNEYXRlOjF9fSxPWWE9ZWl9KTt2YXIgamw9YygoKT0+e2dHZSgpfSk7ZnVuY3Rpb24gZVYodCxlKXtsZXQgYT1iZSh0LGU/LmluKTtyZXR1cm4gSDEoYSx5NShhKSkrMX12YXIgV1lhLHZlZT1jKCgpPT57VzIoKTtLcSgpO1JlKCk7aShlViwiZ2V0RGF5T2ZZZWFyIik7V1lhPWVWfSk7ZnVuY3Rpb24gazUodCxlKXtsZXQgYT1iZSh0LGU/LmluKSxyPStoMShhKS0rcGkoYSk7cmV0dXJuIE1hdGgucm91bmQoci9lMikrMX12YXIgSllhLHRWPWMoKCk9PntQdCgpO2kyKCk7ZDUoKTtSZSgpO2koazUsImdldElTT1dlZWsiKTtKWWE9azV9KTtmdW5jdGlvbiB5bih0LGUpe2xldCBhPWJlKHQsZT8uaW4pLHI9YS5nZXRGdWxsWWVhcigpLHM9aGEoKSxuPWU/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/ZT8ubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/P3MuZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9zLmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz8xLG89SWUoZT8uaW58fHQsMCk7by5zZXRGdWxsWWVhcihyKzEsMCxuKSxvLnNldEhvdXJzKDAsMCwwLDApO2xldCBsPUNhKG8sZSksaD1JZShlPy5pbnx8dCwwKTtoLnNldEZ1bGxZZWFyKHIsMCxuKSxoLnNldEhvdXJzKDAsMCwwLDApO2xldCB1PUNhKGgsZSk7cmV0dXJuK2E+PStsP3IrMTorYT49K3U/cjpyLTF9dmFyIG9aYSxudT1jKCgpPT57aHIoKTttdCgpO2RzKCk7UmUoKTtpKHluLCJnZXRXZWVrWWVhciIpO29aYT15bn0pO2Z1bmN0aW9uIFVsKHQsZSl7bGV0IGE9aGEoKSxyPWU/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/ZT8ubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/P2EuZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9hLmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz8xLHM9eW4odCxlKSxuPUllKGU/LmlufHx0LDApO3JldHVybiBuLnNldEZ1bGxZZWFyKHMsMCxyKSxuLnNldEhvdXJzKDAsMCwwLDApLENhKG4sZSl9dmFyIGZaYSxhVj1jKCgpPT57aHIoKTttdCgpO251KCk7ZHMoKTtpKFVsLCJzdGFydE9mV2Vla1llYXIiKTtmWmE9VWx9KTtmdW5jdGlvbiB6NSh0LGUpe2xldCBhPWJlKHQsZT8uaW4pLHI9K0NhKGEsZSktK1VsKGEsZSk7cmV0dXJuIE1hdGgucm91bmQoci9lMikrMX12YXIgeVphLHJWPWMoKCk9PntQdCgpO2RzKCk7YVYoKTtSZSgpO2koejUsImdldFdlZWsiKTt5WmE9ejV9KTtmdW5jdGlvbiBpdCh0LGUpe2xldCBhPXQ8MD8iLSI6IiIscj1NYXRoLmFicyh0KS50b1N0cmluZygpLnBhZFN0YXJ0KGUsIjAiKTtyZXR1cm4gYStyfXZhciBXbD1jKCgpPT57aShpdCwiYWRkTGVhZGluZ1plcm9zIil9KTt2YXIgdWkseGVlPWMoKCk9PntXbCgpO3VpPXt5KHQsZSl7bGV0IGE9dC5nZXRGdWxsWWVhcigpLHI9YT4wP2E6MS1hO3JldHVybiBpdChlPT09Inl5Ij9yJTEwMDpyLGUubGVuZ3RoKX0sTSh0LGUpe2xldCBhPXQuZ2V0TW9udGgoKTtyZXR1cm4gZT09PSJNIj9TdHJpbmcoYSsxKTppdChhKzEsMil9LGQodCxlKXtyZXR1cm4gaXQodC5nZXREYXRlKCksZS5sZW5ndGgpfSxhKHQsZSl7bGV0IGE9dC5nZXRIb3VycygpLzEyPj0xPyJwbSI6ImFtIjtzd2l0Y2goZSl7Y2FzZSJhIjpjYXNlImFhIjpyZXR1cm4gYS50b1VwcGVyQ2FzZSgpO2Nhc2UiYWFhIjpyZXR1cm4gYTtjYXNlImFhYWFhIjpyZXR1cm4gYVswXTtkZWZhdWx0OnJldHVybiBhPT09ImFtIj8iYS5tLiI6InAubS4ifX0saCh0LGUpe3JldHVybiBpdCh0LmdldEhvdXJzKCklMTJ8fDEyLGUubGVuZ3RoKX0sSCh0LGUpe3JldHVybiBpdCh0LmdldEhvdXJzKCksZS5sZW5ndGgpfSxtKHQsZSl7cmV0dXJuIGl0KHQuZ2V0TWludXRlcygpLGUubGVuZ3RoKX0scyh0LGUpe3JldHVybiBpdCh0LmdldFNlY29uZHMoKSxlLmxlbmd0aCl9LFModCxlKXtsZXQgYT1lLmxlbmd0aCxyPXQuZ2V0TWlsbGlzZWNvbmRzKCkscz1NYXRoLnRydW5jKHIqTWF0aC5wb3coMTAsYS0zKSk7cmV0dXJuIGl0KHMsZS5sZW5ndGgpfX19KTtmdW5jdGlvbiBiR2UodCxlPSIiKXtsZXQgYT10PjA/Ii0iOiIrIixyPU1hdGguYWJzKHQpLHM9TWF0aC50cnVuYyhyLzYwKSxuPXIlNjA7cmV0dXJuIG49PT0wP2ErU3RyaW5nKHMpOmErU3RyaW5nKHMpK2UraXQobiwyKX1mdW5jdGlvbiB2R2UodCxlKXtyZXR1cm4gdCU2MD09PTA/KHQ+MD8iLSI6IisiKStpdChNYXRoLmFicyh0KS82MCwyKTpHbCh0LGUpfWZ1bmN0aW9uIEdsKHQsZT0iIil7bGV0IGE9dD4wPyItIjoiKyIscj1NYXRoLmFicyh0KSxzPWl0KE1hdGgudHJ1bmMoci82MCksMiksbj1pdChyJTYwLDIpO3JldHVybiBhK3MrZStufXZhciBTNSxsdSx4R2U9YygoKT0+e3ZlZSgpO3RWKCk7bW4oKTtyVigpO251KCk7V2woKTt4ZWUoKTtTNT17YW06ImFtIixwbToicG0iLG1pZG5pZ2h0OiJtaWRuaWdodCIsbm9vbjoibm9vbiIsbW9ybmluZzoibW9ybmluZyIsYWZ0ZXJub29uOiJhZnRlcm5vb24iLGV2ZW5pbmc6ImV2ZW5pbmciLG5pZ2h0OiJuaWdodCJ9LGx1PXtHOmkoZnVuY3Rpb24odCxlLGEpe2xldCByPXQuZ2V0RnVsbFllYXIoKT4wPzE6MDtzd2l0Y2goZSl7Y2FzZSJHIjpjYXNlIkdHIjpjYXNlIkdHRyI6cmV0dXJuIGEuZXJhKHIse3dpZHRoOiJhYmJyZXZpYXRlZCJ9KTtjYXNlIkdHR0dHIjpyZXR1cm4gYS5lcmEocix7d2lkdGg6Im5hcnJvdyJ9KTtkZWZhdWx0OnJldHVybiBhLmVyYShyLHt3aWR0aDoid2lkZSJ9KX19LCJHIikseTppKGZ1bmN0aW9uKHQsZSxhKXtpZihlPT09InlvIil7bGV0IHI9dC5nZXRGdWxsWWVhcigpLHM9cj4wP3I6MS1yO3JldHVybiBhLm9yZGluYWxOdW1iZXIocyx7dW5pdDoieWVhciJ9KX1yZXR1cm4gdWkueSh0LGUpfSwieSIpLFk6aShmdW5jdGlvbih0LGUsYSxyKXtsZXQgcz15bih0LHIpLG49cz4wP3M6MS1zO2lmKGU9PT0iWVkiKXtsZXQgbz1uJTEwMDtyZXR1cm4gaXQobywyKX1yZXR1cm4gZT09PSJZbyI/YS5vcmRpbmFsTnVtYmVyKG4se3VuaXQ6InllYXIifSk6aXQobixlLmxlbmd0aCl9LCJZIiksUjppKGZ1bmN0aW9uKHQsZSl7bGV0IGE9UHIodCk7cmV0dXJuIGl0KGEsZS5sZW5ndGgpfSwiUiIpLHU6aShmdW5jdGlvbih0LGUpe2xldCBhPXQuZ2V0RnVsbFllYXIoKTtyZXR1cm4gaXQoYSxlLmxlbmd0aCl9LCJ1IiksUTppKGZ1bmN0aW9uKHQsZSxhKXtsZXQgcj1NYXRoLmNlaWwoKHQuZ2V0TW9udGgoKSsxKS8zKTtzd2l0Y2goZSl7Y2FzZSJRIjpyZXR1cm4gU3RyaW5nKHIpO2Nhc2UiUVEiOnJldHVybiBpdChyLDIpO2Nhc2UiUW8iOnJldHVybiBhLm9yZGluYWxOdW1iZXIocix7dW5pdDoicXVhcnRlciJ9KTtjYXNlIlFRUSI6cmV0dXJuIGEucXVhcnRlcihyLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJRUVFRUSI6cmV0dXJuIGEucXVhcnRlcihyLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIGEucXVhcnRlcihyLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LCJRIikscTppKGZ1bmN0aW9uKHQsZSxhKXtsZXQgcj1NYXRoLmNlaWwoKHQuZ2V0TW9udGgoKSsxKS8zKTtzd2l0Y2goZSl7Y2FzZSJxIjpyZXR1cm4gU3RyaW5nKHIpO2Nhc2UicXEiOnJldHVybiBpdChyLDIpO2Nhc2UicW8iOnJldHVybiBhLm9yZGluYWxOdW1iZXIocix7dW5pdDoicXVhcnRlciJ9KTtjYXNlInFxcSI6cmV0dXJuIGEucXVhcnRlcihyLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJxcXFxcSI6cmV0dXJuIGEucXVhcnRlcihyLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2RlZmF1bHQ6cmV0dXJuIGEucXVhcnRlcihyLHt3aWR0aDoid2lkZSIsY29udGV4dDoic3RhbmRhbG9uZSJ9KX19LCJxIiksTTppKGZ1bmN0aW9uKHQsZSxhKXtsZXQgcj10LmdldE1vbnRoKCk7c3dpdGNoKGUpe2Nhc2UiTSI6Y2FzZSJNTSI6cmV0dXJuIHVpLk0odCxlKTtjYXNlIk1vIjpyZXR1cm4gYS5vcmRpbmFsTnVtYmVyKHIrMSx7dW5pdDoibW9udGgifSk7Y2FzZSJNTU0iOnJldHVybiBhLm1vbnRoKHIse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIk1NTU1NIjpyZXR1cm4gYS5tb250aChyLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIGEubW9udGgocix7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fSwiTSIpLEw6aShmdW5jdGlvbih0LGUsYSl7bGV0IHI9dC5nZXRNb250aCgpO3N3aXRjaChlKXtjYXNlIkwiOnJldHVybiBTdHJpbmcocisxKTtjYXNlIkxMIjpyZXR1cm4gaXQocisxLDIpO2Nhc2UiTG8iOnJldHVybiBhLm9yZGluYWxOdW1iZXIocisxLHt1bml0OiJtb250aCJ9KTtjYXNlIkxMTCI6cmV0dXJuIGEubW9udGgocix7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UiTExMTEwiOnJldHVybiBhLm1vbnRoKHIse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gYS5tb250aChyLHt3aWR0aDoid2lkZSIsY29udGV4dDoic3RhbmRhbG9uZSJ9KX19LCJMIiksdzppKGZ1bmN0aW9uKHQsZSxhLHIpe2xldCBzPXo1KHQscik7cmV0dXJuIGU9PT0id28iP2Eub3JkaW5hbE51bWJlcihzLHt1bml0OiJ3ZWVrIn0pOml0KHMsZS5sZW5ndGgpfSwidyIpLEk6aShmdW5jdGlvbih0LGUsYSl7bGV0IHI9azUodCk7cmV0dXJuIGU9PT0iSW8iP2Eub3JkaW5hbE51bWJlcihyLHt1bml0OiJ3ZWVrIn0pOml0KHIsZS5sZW5ndGgpfSwiSSIpLGQ6aShmdW5jdGlvbih0LGUsYSl7cmV0dXJuIGU9PT0iZG8iP2Eub3JkaW5hbE51bWJlcih0LmdldERhdGUoKSx7dW5pdDoiZGF0ZSJ9KTp1aS5kKHQsZSl9LCJkIiksRDppKGZ1bmN0aW9uKHQsZSxhKXtsZXQgcj1lVih0KTtyZXR1cm4gZT09PSJEbyI/YS5vcmRpbmFsTnVtYmVyKHIse3VuaXQ6ImRheU9mWWVhciJ9KTppdChyLGUubGVuZ3RoKX0sIkQiKSxFOmkoZnVuY3Rpb24odCxlLGEpe2xldCByPXQuZ2V0RGF5KCk7c3dpdGNoKGUpe2Nhc2UiRSI6Y2FzZSJFRSI6Y2FzZSJFRUUiOnJldHVybiBhLmRheShyLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJFRUVFRSI6cmV0dXJuIGEuZGF5KHIse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJFRUVFRUUiOnJldHVybiBhLmRheShyLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gYS5kYXkocix7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fSwiRSIpLGU6aShmdW5jdGlvbih0LGUsYSxyKXtsZXQgcz10LmdldERheSgpLG49KHMtci53ZWVrU3RhcnRzT24rOCklN3x8Nztzd2l0Y2goZSl7Y2FzZSJlIjpyZXR1cm4gU3RyaW5nKG4pO2Nhc2UiZWUiOnJldHVybiBpdChuLDIpO2Nhc2UiZW8iOnJldHVybiBhLm9yZGluYWxOdW1iZXIobix7dW5pdDoiZGF5In0pO2Nhc2UiZWVlIjpyZXR1cm4gYS5kYXkocyx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiZWVlZWUiOnJldHVybiBhLmRheShzLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiZWVlZWVlIjpyZXR1cm4gYS5kYXkocyx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIGEuZGF5KHMse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sImUiKSxjOmkoZnVuY3Rpb24odCxlLGEscil7bGV0IHM9dC5nZXREYXkoKSxuPShzLXIud2Vla1N0YXJ0c09uKzgpJTd8fDc7c3dpdGNoKGUpe2Nhc2UiYyI6cmV0dXJuIFN0cmluZyhuKTtjYXNlImNjIjpyZXR1cm4gaXQobixlLmxlbmd0aCk7Y2FzZSJjbyI6cmV0dXJuIGEub3JkaW5hbE51bWJlcihuLHt1bml0OiJkYXkifSk7Y2FzZSJjY2MiOnJldHVybiBhLmRheShzLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJjY2NjYyI6cmV0dXJuIGEuZGF5KHMse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJjY2NjY2MiOnJldHVybiBhLmRheShzLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gYS5kYXkocyx7d2lkdGg6IndpZGUiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl9fSwiYyIpLGk6aShmdW5jdGlvbih0LGUsYSl7bGV0IHI9dC5nZXREYXkoKSxzPXI9PT0wPzc6cjtzd2l0Y2goZSl7Y2FzZSJpIjpyZXR1cm4gU3RyaW5nKHMpO2Nhc2UiaWkiOnJldHVybiBpdChzLGUubGVuZ3RoKTtjYXNlImlvIjpyZXR1cm4gYS5vcmRpbmFsTnVtYmVyKHMse3VuaXQ6ImRheSJ9KTtjYXNlImlpaSI6cmV0dXJuIGEuZGF5KHIse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImlpaWlpIjpyZXR1cm4gYS5kYXkocix7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImlpaWlpaSI6cmV0dXJuIGEuZGF5KHIse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiBhLmRheShyLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LCJpIiksYTppKGZ1bmN0aW9uKHQsZSxhKXtsZXQgcz10LmdldEhvdXJzKCkvMTI+PTE/InBtIjoiYW0iO3N3aXRjaChlKXtjYXNlImEiOmNhc2UiYWEiOnJldHVybiBhLmRheVBlcmlvZChzLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJhYWEiOnJldHVybiBhLmRheVBlcmlvZChzLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSkudG9Mb3dlckNhc2UoKTtjYXNlImFhYWFhIjpyZXR1cm4gYS5kYXlQZXJpb2Qocyx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiBhLmRheVBlcmlvZChzLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LCJhIiksYjppKGZ1bmN0aW9uKHQsZSxhKXtsZXQgcj10LmdldEhvdXJzKCkscztzd2l0Y2gocj09PTEyP3M9UzUubm9vbjpyPT09MD9zPVM1Lm1pZG5pZ2h0OnM9ci8xMj49MT8icG0iOiJhbSIsZSl7Y2FzZSJiIjpjYXNlImJiIjpyZXR1cm4gYS5kYXlQZXJpb2Qocyx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiYmJiIjpyZXR1cm4gYS5kYXlQZXJpb2Qocyx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLnRvTG93ZXJDYXNlKCk7Y2FzZSJiYmJiYiI6cmV0dXJuIGEuZGF5UGVyaW9kKHMse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gYS5kYXlQZXJpb2Qocyx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fSwiYiIpLEI6aShmdW5jdGlvbih0LGUsYSl7bGV0IHI9dC5nZXRIb3VycygpLHM7c3dpdGNoKHI+PTE3P3M9UzUuZXZlbmluZzpyPj0xMj9zPVM1LmFmdGVybm9vbjpyPj00P3M9UzUubW9ybmluZzpzPVM1Lm5pZ2h0LGUpe2Nhc2UiQiI6Y2FzZSJCQiI6Y2FzZSJCQkIiOnJldHVybiBhLmRheVBlcmlvZChzLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJCQkJCQiI6cmV0dXJuIGEuZGF5UGVyaW9kKHMse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gYS5kYXlQZXJpb2Qocyx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fSwiQiIpLGg6aShmdW5jdGlvbih0LGUsYSl7aWYoZT09PSJobyIpe2xldCByPXQuZ2V0SG91cnMoKSUxMjtyZXR1cm4gcj09PTAmJihyPTEyKSxhLm9yZGluYWxOdW1iZXIocix7dW5pdDoiaG91ciJ9KX1yZXR1cm4gdWkuaCh0LGUpfSwiaCIpLEg6aShmdW5jdGlvbih0LGUsYSl7cmV0dXJuIGU9PT0iSG8iP2Eub3JkaW5hbE51bWJlcih0LmdldEhvdXJzKCkse3VuaXQ6ImhvdXIifSk6dWkuSCh0LGUpfSwiSCIpLEs6aShmdW5jdGlvbih0LGUsYSl7bGV0IHI9dC5nZXRIb3VycygpJTEyO3JldHVybiBlPT09IktvIj9hLm9yZGluYWxOdW1iZXIocix7dW5pdDoiaG91ciJ9KTppdChyLGUubGVuZ3RoKX0sIksiKSxrOmkoZnVuY3Rpb24odCxlLGEpe2xldCByPXQuZ2V0SG91cnMoKTtyZXR1cm4gcj09PTAmJihyPTI0KSxlPT09ImtvIj9hLm9yZGluYWxOdW1iZXIocix7dW5pdDoiaG91ciJ9KTppdChyLGUubGVuZ3RoKX0sImsiKSxtOmkoZnVuY3Rpb24odCxlLGEpe3JldHVybiBlPT09Im1vIj9hLm9yZGluYWxOdW1iZXIodC5nZXRNaW51dGVzKCkse3VuaXQ6Im1pbnV0ZSJ9KTp1aS5tKHQsZSl9LCJtIiksczppKGZ1bmN0aW9uKHQsZSxhKXtyZXR1cm4gZT09PSJzbyI/YS5vcmRpbmFsTnVtYmVyKHQuZ2V0U2Vjb25kcygpLHt1bml0OiJzZWNvbmQifSk6dWkucyh0LGUpfSwicyIpLFM6aShmdW5jdGlvbih0LGUpe3JldHVybiB1aS5TKHQsZSl9LCJTIiksWDppKGZ1bmN0aW9uKHQsZSxhKXtsZXQgcj10LmdldFRpbWV6b25lT2Zmc2V0KCk7aWYocj09PTApcmV0dXJuIloiO3N3aXRjaChlKXtjYXNlIlgiOnJldHVybiB2R2Uocik7Y2FzZSJYWFhYIjpjYXNlIlhYIjpyZXR1cm4gR2wocik7ZGVmYXVsdDpyZXR1cm4gR2wociwiOiIpfX0sIlgiKSx4OmkoZnVuY3Rpb24odCxlLGEpe2xldCByPXQuZ2V0VGltZXpvbmVPZmZzZXQoKTtzd2l0Y2goZSl7Y2FzZSJ4IjpyZXR1cm4gdkdlKHIpO2Nhc2UieHh4eCI6Y2FzZSJ4eCI6cmV0dXJuIEdsKHIpO2RlZmF1bHQ6cmV0dXJuIEdsKHIsIjoiKX19LCJ4IiksTzppKGZ1bmN0aW9uKHQsZSxhKXtsZXQgcj10LmdldFRpbWV6b25lT2Zmc2V0KCk7c3dpdGNoKGUpe2Nhc2UiTyI6Y2FzZSJPTyI6Y2FzZSJPT08iOnJldHVybiJHTVQiK2JHZShyLCI6Iik7ZGVmYXVsdDpyZXR1cm4iR01UIitHbChyLCI6Iil9fSwiTyIpLHo6aShmdW5jdGlvbih0LGUsYSl7bGV0IHI9dC5nZXRUaW1lem9uZU9mZnNldCgpO3N3aXRjaChlKXtjYXNlInoiOmNhc2UienoiOmNhc2Uienp6IjpyZXR1cm4iR01UIitiR2UociwiOiIpO2RlZmF1bHQ6cmV0dXJuIkdNVCIrR2wociwiOiIpfX0sInoiKSx0OmkoZnVuY3Rpb24odCxlLGEpe2xldCByPU1hdGgudHJ1bmMoK3QvMWUzKTtyZXR1cm4gaXQocixlLmxlbmd0aCl9LCJ0IiksVDppKGZ1bmN0aW9uKHQsZSxhKXtyZXR1cm4gaXQoK3QsZS5sZW5ndGgpfSwiVCIpfTtpKGJHZSwiZm9ybWF0VGltZXpvbmVTaG9ydCIpO2kodkdlLCJmb3JtYXRUaW1lem9uZVdpdGhPcHRpb25hbE1pbnV0ZXMiKTtpKEdsLCJmb3JtYXRUaW1lem9uZSIpfSk7dmFyIHlHZSx3R2UsTG5hLHduLHllZT1jKCgpPT57eUdlPWkoKHQsZSk9Pntzd2l0Y2godCl7Y2FzZSJQIjpyZXR1cm4gZS5kYXRlKHt3aWR0aDoic2hvcnQifSk7Y2FzZSJQUCI6cmV0dXJuIGUuZGF0ZSh7d2lkdGg6Im1lZGl1bSJ9KTtjYXNlIlBQUCI6cmV0dXJuIGUuZGF0ZSh7d2lkdGg6ImxvbmcifSk7ZGVmYXVsdDpyZXR1cm4gZS5kYXRlKHt3aWR0aDoiZnVsbCJ9KX19LCJkYXRlTG9uZ0Zvcm1hdHRlciIpLHdHZT1pKCh0LGUpPT57c3dpdGNoKHQpe2Nhc2UicCI6cmV0dXJuIGUudGltZSh7d2lkdGg6InNob3J0In0pO2Nhc2UicHAiOnJldHVybiBlLnRpbWUoe3dpZHRoOiJtZWRpdW0ifSk7Y2FzZSJwcHAiOnJldHVybiBlLnRpbWUoe3dpZHRoOiJsb25nIn0pO2RlZmF1bHQ6cmV0dXJuIGUudGltZSh7d2lkdGg6ImZ1bGwifSl9fSwidGltZUxvbmdGb3JtYXR0ZXIiKSxMbmE9aSgodCxlKT0+e2xldCBhPXQubWF0Y2goLyhQKykocCspPy8pfHxbXSxyPWFbMV0scz1hWzJdO2lmKCFzKXJldHVybiB5R2UodCxlKTtsZXQgbjtzd2l0Y2gocil7Y2FzZSJQIjpuPWUuZGF0ZVRpbWUoe3dpZHRoOiJzaG9ydCJ9KTticmVhaztjYXNlIlBQIjpuPWUuZGF0ZVRpbWUoe3dpZHRoOiJtZWRpdW0ifSk7YnJlYWs7Y2FzZSJQUFAiOm49ZS5kYXRlVGltZSh7d2lkdGg6ImxvbmcifSk7YnJlYWs7ZGVmYXVsdDpuPWUuZGF0ZVRpbWUoe3dpZHRoOiJmdWxsIn0pO2JyZWFrfXJldHVybiBuLnJlcGxhY2UoInt7ZGF0ZX19Iix5R2UocixlKSkucmVwbGFjZSgie3t0aW1lfX0iLHdHZShzLGUpKX0sImRhdGVUaW1lTG9uZ0Zvcm1hdHRlciIpLHduPXtwOndHZSxQOkxuYX19KTtmdW5jdGlvbiBpVih0KXtyZXR1cm4gJG5hLnRlc3QodCl9ZnVuY3Rpb24gc1YodCl7cmV0dXJuIERuYS50ZXN0KHQpfWZ1bmN0aW9uIGN1KHQsZSxhKXtsZXQgcj1QbmEodCxlLGEpO2lmKGNvbnNvbGUud2FybihyKSxBbmEuaW5jbHVkZXModCkpdGhyb3cgbmV3IFJhbmdlRXJyb3Iocil9ZnVuY3Rpb24gUG5hKHQsZSxhKXtsZXQgcj10WzBdPT09IlkiPyJ5ZWFycyI6ImRheXMgb2YgdGhlIG1vbnRoIjtyZXR1cm5gVXNlIFxgJHt0LnRvTG93ZXJDYXNlKCl9XGAgaW5zdGVhZCBvZiBcYCR7dH1cYCAoaW4gXGAke2V9XGApIGZvciBmb3JtYXR0aW5nICR7cn0gdG8gdGhlIGlucHV0IFxgJHthfVxgOyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9kYXRlLWZucy9kYXRlLWZucy9ibG9iL21hc3Rlci9kb2NzL3VuaWNvZGVUb2tlbnMubWRgfXZhciAkbmEsRG5hLEFuYSx3ZWU9YygoKT0+eyRuYT0vXkQrJC8sRG5hPS9eWSskLyxBbmE9WyJEIiwiREQiLCJZWSIsIllZWVkiXTtpKGlWLCJpc1Byb3RlY3RlZERheU9mWWVhclRva2VuIik7aShzViwiaXNQcm90ZWN0ZWRXZWVrWWVhclRva2VuIik7aShjdSwid2Fybk9yVGhyb3dQcm90ZWN0ZWRFcnJvciIpO2koUG5hLCJtZXNzYWdlIil9KTtmdW5jdGlvbiBkdSh0LGUsYSl7bGV0IHI9aGEoKSxzPWE/LmxvY2FsZT8/ci5sb2NhbGU/P2VpLG49YT8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9hPy5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/ci5maXJzdFdlZWtDb250YWluc0RhdGU/P3IubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/PzEsbz1hPy53ZWVrU3RhcnRzT24/P2E/LmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz9yLndlZWtTdGFydHNPbj8/ci5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/MCxsPWJlKHQsYT8uaW4pO2lmKCFRMShsKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IGg9ZS5tYXRjaChJbmEpLm1hcChmPT57bGV0IHA9ZlswXTtpZihwPT09InAifHxwPT09IlAiKXtsZXQgZz13bltwXTtyZXR1cm4gZyhmLHMuZm9ybWF0TG9uZyl9cmV0dXJuIGZ9KS5qb2luKCIiKS5tYXRjaChFbmEpLm1hcChmPT57aWYoZj09PSInJyIpcmV0dXJue2lzVG9rZW46ITEsdmFsdWU6IicifTtsZXQgcD1mWzBdO2lmKHA9PT0iJyIpcmV0dXJue2lzVG9rZW46ITEsdmFsdWU6T25hKGYpfTtpZihsdVtwXSlyZXR1cm57aXNUb2tlbjohMCx2YWx1ZTpmfTtpZihwLm1hdGNoKEZuYSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkZvcm1hdCBzdHJpbmcgY29udGFpbnMgYW4gdW5lc2NhcGVkIGxhdGluIGFscGhhYmV0IGNoYXJhY3RlciBgIitwKyJgIik7cmV0dXJue2lzVG9rZW46ITEsdmFsdWU6Zn19KTtzLmxvY2FsaXplLnByZXByb2Nlc3NvciYmKGg9cy5sb2NhbGl6ZS5wcmVwcm9jZXNzb3IobCxoKSk7bGV0IHU9e2ZpcnN0V2Vla0NvbnRhaW5zRGF0ZTpuLHdlZWtTdGFydHNPbjpvLGxvY2FsZTpzfTtyZXR1cm4gaC5tYXAoZj0+e2lmKCFmLmlzVG9rZW4pcmV0dXJuIGYudmFsdWU7bGV0IHA9Zi52YWx1ZTsoIWE/LnVzZUFkZGl0aW9uYWxXZWVrWWVhclRva2VucyYmc1YocCl8fCFhPy51c2VBZGRpdGlvbmFsRGF5T2ZZZWFyVG9rZW5zJiZpVihwKSkmJmN1KHAsZSxTdHJpbmcodCkpO2xldCBnPWx1W3BbMF1dO3JldHVybiBnKGwscCxzLmxvY2FsaXplLHUpfSkuam9pbigiIil9ZnVuY3Rpb24gT25hKHQpe2xldCBlPXQubWF0Y2goTm5hKTtyZXR1cm4gZT9lWzFdLnJlcGxhY2UoUm5hLCInIik6dH12YXIgRW5hLEluYSxObmEsUm5hLEZuYSxHWmEsTWVlPWMoKCk9PntqbCgpO2hyKCk7eEdlKCk7eWVlKCk7d2VlKCk7RzIoKTtSZSgpO0VuYT0vW3lZUXFNTHdJZERlY2loSEtrbXNdb3woXHcpXDEqfCcnfCcoJyd8W14nXSkrKCd8JCl8Li9nLEluYT0vUCtwK3xQK3xwK3wnJ3wnKCcnfFteJ10pKygnfCQpfC4vZyxObmE9L14nKFteXSo/KSc/JC8sUm5hPS8nJy9nLEZuYT0vW2EtekEtWl0vO2koZHUsImZvcm1hdCIpO2koT25hLCJjbGVhbkVzY2FwZWRTdHJpbmciKTtHWmE9ZHV9KTtmdW5jdGlvbiBvVih0LGUsYSl7bGV0IHI9aGEoKSxzPWE/LmxvY2FsZT8/ci5sb2NhbGU/P2VpLG49MjUyMCxvPW1yKHQsZSk7aWYoaXNOYU4obykpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgdGltZSB2YWx1ZSIpO2xldCBsPU9iamVjdC5hc3NpZ24oe30sYSx7YWRkU3VmZml4OmE/LmFkZFN1ZmZpeCxjb21wYXJpc29uOm99KSxbaCx1XT1kdChhPy5pbiwuLi5vPjA/W2UsdF06W3QsZV0pLGY9bjIodSxoKSxwPShKYSh1KS1KYShoKSkvMWUzLGc9TWF0aC5yb3VuZCgoZi1wKS82MCksdjtpZihnPDIpcmV0dXJuIGE/LmluY2x1ZGVTZWNvbmRzP2Y8NT9zLmZvcm1hdERpc3RhbmNlKCJsZXNzVGhhblhTZWNvbmRzIiw1LGwpOmY8MTA/cy5mb3JtYXREaXN0YW5jZSgibGVzc1RoYW5YU2Vjb25kcyIsMTAsbCk6ZjwyMD9zLmZvcm1hdERpc3RhbmNlKCJsZXNzVGhhblhTZWNvbmRzIiwyMCxsKTpmPDQwP3MuZm9ybWF0RGlzdGFuY2UoImhhbGZBTWludXRlIiwwLGwpOmY8NjA/cy5mb3JtYXREaXN0YW5jZSgibGVzc1RoYW5YTWludXRlcyIsMSxsKTpzLmZvcm1hdERpc3RhbmNlKCJ4TWludXRlcyIsMSxsKTpnPT09MD9zLmZvcm1hdERpc3RhbmNlKCJsZXNzVGhhblhNaW51dGVzIiwxLGwpOnMuZm9ybWF0RGlzdGFuY2UoInhNaW51dGVzIixnLGwpO2lmKGc8NDUpcmV0dXJuIHMuZm9ybWF0RGlzdGFuY2UoInhNaW51dGVzIixnLGwpO2lmKGc8OTApcmV0dXJuIHMuZm9ybWF0RGlzdGFuY2UoImFib3V0WEhvdXJzIiwxLGwpO2lmKGc8bjUpe2xldCB4PU1hdGgucm91bmQoZy82MCk7cmV0dXJuIHMuZm9ybWF0RGlzdGFuY2UoImFib3V0WEhvdXJzIix4LGwpfWVsc2V7aWYoZzxuKXJldHVybiBzLmZvcm1hdERpc3RhbmNlKCJ4RGF5cyIsMSxsKTtpZihnPHVuKXtsZXQgeD1NYXRoLnJvdW5kKGcvbjUpO3JldHVybiBzLmZvcm1hdERpc3RhbmNlKCJ4RGF5cyIseCxsKX1lbHNlIGlmKGc8dW4qMilyZXR1cm4gdj1NYXRoLnJvdW5kKGcvdW4pLHMuZm9ybWF0RGlzdGFuY2UoImFib3V0WE1vbnRocyIsdixsKX1pZih2PXZuKHUsaCksdjwxMil7bGV0IHg9TWF0aC5yb3VuZChnL3VuKTtyZXR1cm4gcy5mb3JtYXREaXN0YW5jZSgieE1vbnRocyIseCxsKX1lbHNle2xldCB4PXYlMTIsYj1NYXRoLnRydW5jKHYvMTIpO3JldHVybiB4PDM/cy5mb3JtYXREaXN0YW5jZSgiYWJvdXRYWWVhcnMiLGIsbCk6eDw5P3MuZm9ybWF0RGlzdGFuY2UoIm92ZXJYWWVhcnMiLGIsbCk6cy5mb3JtYXREaXN0YW5jZSgiYWxtb3N0WFllYXJzIixiKzEsbCl9fXZhciBpWGEsa2VlPWMoKCk9PntqbCgpO2hyKCk7VTIoKTt4YSgpO09sKCk7UHQoKTtpdSgpO3N1KCk7aShvViwiZm9ybWF0RGlzdGFuY2UiKTtpWGE9b1Z9KTtmdW5jdGlvbiBuVih0LGUsYSl7bGV0IHI9aGEoKSxzPWE/LmxvY2FsZT8/ci5sb2NhbGU/P2VpLG49bXIodCxlKTtpZihpc05hTihuKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IG89T2JqZWN0LmFzc2lnbih7fSxhLHthZGRTdWZmaXg6YT8uYWRkU3VmZml4LGNvbXBhcmlzb246bn0pLFtsLGhdPWR0KGE/LmluLC4uLm4+MD9bZSx0XTpbdCxlXSksdT1ncihhPy5yb3VuZGluZ01ldGhvZD8/InJvdW5kIiksZj1oLmdldFRpbWUoKS1sLmdldFRpbWUoKSxwPWYvZnIsZz1KYShoKS1KYShsKSx2PShmLWcpL2ZyLHg9YT8udW5pdCxiO2lmKHg/Yj14OnA8MT9iPSJzZWNvbmQiOnA8NjA/Yj0ibWludXRlIjpwPG41P2I9ImhvdXIiOnY8dW4/Yj0iZGF5Ijp2PFdKP2I9Im1vbnRoIjpiPSJ5ZWFyIixiPT09InNlY29uZCIpe2xldCBtPXUoZi8xZTMpO3JldHVybiBzLmZvcm1hdERpc3RhbmNlKCJ4U2Vjb25kcyIsbSxvKX1lbHNlIGlmKGI9PT0ibWludXRlIil7bGV0IG09dShwKTtyZXR1cm4gcy5mb3JtYXREaXN0YW5jZSgieE1pbnV0ZXMiLG0sbyl9ZWxzZSBpZihiPT09ImhvdXIiKXtsZXQgbT11KHAvNjApO3JldHVybiBzLmZvcm1hdERpc3RhbmNlKCJ4SG91cnMiLG0sbyl9ZWxzZSBpZihiPT09ImRheSIpe2xldCBtPXUodi9uNSk7cmV0dXJuIHMuZm9ybWF0RGlzdGFuY2UoInhEYXlzIixtLG8pfWVsc2UgaWYoYj09PSJtb250aCIpe2xldCBtPXUodi91bik7cmV0dXJuIG09PT0xMiYmeCE9PSJtb250aCI/cy5mb3JtYXREaXN0YW5jZSgieFllYXJzIiwxLG8pOnMuZm9ybWF0RGlzdGFuY2UoInhNb250aHMiLG0sbyl9ZWxzZXtsZXQgbT11KHYvV0opO3JldHVybiBzLmZvcm1hdERpc3RhbmNlKCJ4WWVhcnMiLG0sbyl9fXZhciBoWGEsemVlPWMoKCk9PntqbCgpO2hyKCk7WTIoKTtVMigpO3hhKCk7T2woKTtQdCgpO2koblYsImZvcm1hdERpc3RhbmNlU3RyaWN0Iik7aFhhPW5WfSk7ZnVuY3Rpb24gTUdlKHQsZSl7cmV0dXJuIG9WKHQsSHQodCksZSl9dmFyIHhYYSxrR2U9YygoKT0+e18xKCk7a2VlKCk7aShNR2UsImZvcm1hdERpc3RhbmNlVG9Ob3ciKTt4WGE9TUdlfSk7ZnVuY3Rpb24gekdlKHQsZSl7cmV0dXJuIG5WKHQsSHQodCksZSl9dmFyIHpYYSxTR2U9YygoKT0+e18xKCk7emVlKCk7aSh6R2UsImZvcm1hdERpc3RhbmNlVG9Ob3dTdHJpY3QiKTt6WGE9ekdlfSk7ZnVuY3Rpb24gQ0dlKHQsZSl7bGV0IGE9aGEoKSxyPWU/LmxvY2FsZT8/YS5sb2NhbGU/P2VpLHM9ZT8uZm9ybWF0Pz9CbmEsbj1lPy56ZXJvPz8hMSxvPWU/LmRlbGltaXRlcj8/IiAiO3JldHVybiByLmZvcm1hdERpc3RhbmNlP3MucmVkdWNlKChoLHUpPT57bGV0IGY9YHgke3UucmVwbGFjZSgvKF4uKS8sZz0+Zy50b1VwcGVyQ2FzZSgpKX1gLHA9dFt1XTtyZXR1cm4gcCE9PXZvaWQgMCYmKG58fHRbdV0pP2guY29uY2F0KHIuZm9ybWF0RGlzdGFuY2UoZixwKSk6aH0sW10pLmpvaW4obyk6IiJ9dmFyIEJuYSxMWGEsX0dlPWMoKCk9PntqbCgpO2hyKCk7Qm5hPVsieWVhcnMiLCJtb250aHMiLCJ3ZWVrcyIsImRheXMiLCJob3VycyIsIm1pbnV0ZXMiLCJzZWNvbmRzIl07aShDR2UsImZvcm1hdER1cmF0aW9uIik7TFhhPUNHZX0pO2Z1bmN0aW9uIFRHZSh0LGUpe2xldCBhPWJlKHQsZT8uaW4pO2lmKGlzTmFOKCthKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IHI9ZT8uZm9ybWF0Pz8iZXh0ZW5kZWQiLHM9ZT8ucmVwcmVzZW50YXRpb24/PyJjb21wbGV0ZSIsbj0iIixvPSIiLGw9cj09PSJleHRlbmRlZCI/Ii0iOiIiLGg9cj09PSJleHRlbmRlZCI/IjoiOiIiO2lmKHMhPT0idGltZSIpe2xldCB1PWl0KGEuZ2V0RGF0ZSgpLDIpLGY9aXQoYS5nZXRNb250aCgpKzEsMik7bj1gJHtpdChhLmdldEZ1bGxZZWFyKCksNCl9JHtsfSR7Zn0ke2x9JHt1fWB9aWYocyE9PSJkYXRlIil7bGV0IHU9YS5nZXRUaW1lem9uZU9mZnNldCgpO2lmKHUhPT0wKXtsZXQgYj1NYXRoLmFicyh1KSxtPWl0KE1hdGgudHJ1bmMoYi82MCksMikseT1pdChiJTYwLDIpO289YCR7dTwwPyIrIjoiLSJ9JHttfToke3l9YH1lbHNlIG89IloiO2xldCBmPWl0KGEuZ2V0SG91cnMoKSwyKSxwPWl0KGEuZ2V0TWludXRlcygpLDIpLGc9aXQoYS5nZXRTZWNvbmRzKCksMiksdj1uPT09IiI/IiI6IlQiLHg9W2YscCxnXS5qb2luKGgpO249YCR7bn0ke3Z9JHt4fSR7b31gfXJldHVybiBufXZhciBFWGEsTEdlPWMoKCk9PntXbCgpO1JlKCk7aShUR2UsImZvcm1hdElTTyIpO0VYYT1UR2V9KTtmdW5jdGlvbiAkR2UodCxlKXtsZXQgYT1iZSh0LGU/LmluKTtpZighUTEoYSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgdGltZSB2YWx1ZSIpO2xldCByPWU/LmZvcm1hdD8/ImV4dGVuZGVkIixzPWU/LnJlcHJlc2VudGF0aW9uPz8iY29tcGxldGUiLG49IiIsbz1yPT09ImV4dGVuZGVkIj8iLSI6IiIsbD1yPT09ImV4dGVuZGVkIj8iOiI6IiI7aWYocyE9PSJ0aW1lIil7bGV0IGg9aXQoYS5nZXREYXRlKCksMiksdT1pdChhLmdldE1vbnRoKCkrMSwyKTtuPWAke2l0KGEuZ2V0RnVsbFllYXIoKSw0KX0ke299JHt1fSR7b30ke2h9YH1pZihzIT09ImRhdGUiKXtsZXQgaD1pdChhLmdldEhvdXJzKCksMiksdT1pdChhLmdldE1pbnV0ZXMoKSwyKSxmPWl0KGEuZ2V0U2Vjb25kcygpLDIpO249YCR7bn0ke249PT0iIj8iIjoiICJ9JHtofSR7bH0ke3V9JHtsfSR7Zn1gfXJldHVybiBufXZhciBCWGEsREdlPWMoKCk9PntXbCgpO0cyKCk7UmUoKTtpKCRHZSwiZm9ybWF0SVNPOTA3NSIpO0JYYT0kR2V9KTtmdW5jdGlvbiBBR2UodCl7bGV0e3llYXJzOmU9MCxtb250aHM6YT0wLGRheXM6cj0wLGhvdXJzOnM9MCxtaW51dGVzOm49MCxzZWNvbmRzOm89MH09dDtyZXR1cm5gUCR7ZX1ZJHthfU0ke3J9RFQke3N9SCR7bn1NJHtvfVNgfXZhciBWWGEsUEdlPWMoKCk9PntpKEFHZSwiZm9ybWF0SVNPRHVyYXRpb24iKTtWWGE9QUdlfSk7ZnVuY3Rpb24gRUdlKHQsZSl7bGV0IGE9YmUodCxlPy5pbik7aWYoIVExKGEpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgcj1lPy5mcmFjdGlvbkRpZ2l0cz8/MCxzPWl0KGEuZ2V0RGF0ZSgpLDIpLG49aXQoYS5nZXRNb250aCgpKzEsMiksbz1hLmdldEZ1bGxZZWFyKCksbD1pdChhLmdldEhvdXJzKCksMiksaD1pdChhLmdldE1pbnV0ZXMoKSwyKSx1PWl0KGEuZ2V0U2Vjb25kcygpLDIpLGY9IiI7aWYocj4wKXtsZXQgdj1hLmdldE1pbGxpc2Vjb25kcygpLHg9TWF0aC50cnVuYyh2Kk1hdGgucG93KDEwLHItMykpO2Y9Ii4iK2l0KHgscil9bGV0IHA9IiIsZz1hLmdldFRpbWV6b25lT2Zmc2V0KCk7aWYoZyE9PTApe2xldCB2PU1hdGguYWJzKGcpLHg9aXQoTWF0aC50cnVuYyh2LzYwKSwyKSxiPWl0KHYlNjAsMik7cD1gJHtnPDA/IisiOiItIn0ke3h9OiR7Yn1gfWVsc2UgcD0iWiI7cmV0dXJuYCR7b30tJHtufS0ke3N9VCR7bH06JHtofToke3V9JHtmfSR7cH1gfXZhciBaWGEsSUdlPWMoKCk9PntXbCgpO0cyKCk7UmUoKTtpKEVHZSwiZm9ybWF0UkZDMzMzOSIpO1pYYT1FR2V9KTtmdW5jdGlvbiBOR2UodCl7bGV0IGU9YmUodCk7aWYoIVExKGUpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgYT1IbmFbZS5nZXRVVENEYXkoKV0scj1pdChlLmdldFVUQ0RhdGUoKSwyKSxzPXFuYVtlLmdldFVUQ01vbnRoKCldLG49ZS5nZXRVVENGdWxsWWVhcigpLG89aXQoZS5nZXRVVENIb3VycygpLDIpLGw9aXQoZS5nZXRVVENNaW51dGVzKCksMiksaD1pdChlLmdldFVUQ1NlY29uZHMoKSwyKTtyZXR1cm5gJHthfSwgJHtyfSAke3N9ICR7bn0gJHtvfToke2x9OiR7aH0gR01UYH12YXIgSG5hLHFuYSx0S2EsUkdlPWMoKCk9PntXbCgpO0cyKCk7UmUoKTtIbmE9WyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSxxbmE9WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXTtpKE5HZSwiZm9ybWF0UkZDNzIzMSIpO3RLYT1OR2V9KTtmdW5jdGlvbiBGR2UodCxlLGEpe2xldFtyLHNdPWR0KGE/LmluLHQsZSksbj1oYSgpLG89YT8ubG9jYWxlPz9uLmxvY2FsZT8/ZWksbD1hPy53ZWVrU3RhcnRzT24/P2E/LmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz9uLndlZWtTdGFydHNPbj8/bi5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/MCxoPUgxKHIscyk7aWYoaXNOYU4oaCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgdGltZSB2YWx1ZSIpO2xldCB1O2g8LTY/dT0ib3RoZXIiOmg8LTE/dT0ibGFzdFdlZWsiOmg8MD91PSJ5ZXN0ZXJkYXkiOmg8MT91PSJ0b2RheSI6aDwyP3U9InRvbW9ycm93IjpoPDc/dT0ibmV4dFdlZWsiOnU9Im90aGVyIjtsZXQgZj1vLmZvcm1hdFJlbGF0aXZlKHUscixzLHtsb2NhbGU6byx3ZWVrU3RhcnRzT246bH0pO3JldHVybiBkdShyLGYse2xvY2FsZTpvLHdlZWtTdGFydHNPbjpsfSl9dmFyIGNLYSxPR2U9YygoKT0+e2psKCk7aHIoKTt4YSgpO1cyKCk7TWVlKCk7aShGR2UsImZvcm1hdFJlbGF0aXZlIik7Y0thPUZHZX0pO2Z1bmN0aW9uIEJHZSh0LGUpe3JldHVybiBiZSh0KjFlMyxlPy5pbil9dmFyIGZLYSxIR2U9YygoKT0+e1JlKCk7aShCR2UsImZyb21Vbml4VGltZSIpO2ZLYT1CR2V9KTtmdW5jdGlvbiBsVih0LGUpe3JldHVybiBiZSh0LGU/LmluKS5nZXREYXRlKCl9dmFyIGJLYSxTZWU9YygoKT0+e1JlKCk7aShsViwiZ2V0RGF0ZSIpO2JLYT1sVn0pO2Z1bmN0aW9uIE1uKHQsZSl7cmV0dXJuIGJlKHQsZT8uaW4pLmdldERheSgpfXZhciB3S2EscHU9YygoKT0+e1JlKCk7aShNbiwiZ2V0RGF5Iik7d0thPU1ufSk7ZnVuY3Rpb24gY1YodCxlKXtsZXQgYT1iZSh0LGU/LmluKSxyPWEuZ2V0RnVsbFllYXIoKSxzPWEuZ2V0TW9udGgoKSxuPUllKGEsMCk7cmV0dXJuIG4uc2V0RnVsbFllYXIocixzKzEsMCksbi5zZXRIb3VycygwLDAsMCwwKSxuLmdldERhdGUoKX12YXIgQ0thLENlZT1jKCgpPT57bXQoKTtSZSgpO2koY1YsImdldERheXNJbk1vbnRoIik7Q0thPWNWfSk7ZnVuY3Rpb24gZFYodCxlKXtsZXQgcj1iZSh0LGU/LmluKS5nZXRGdWxsWWVhcigpO3JldHVybiByJTQwMD09PTB8fHIlND09PTAmJnIlMTAwIT09MH12YXIgJEthLF9lZT1jKCgpPT57UmUoKTtpKGRWLCJpc0xlYXBZZWFyIik7JEthPWRWfSk7ZnVuY3Rpb24gcUdlKHQsZSl7bGV0IGE9YmUodCxlPy5pbik7cmV0dXJuIE51bWJlci5pc05hTigrYSk/TmFOOmRWKGEpPzM2NjozNjV9dmFyIElLYSxWR2U9YygoKT0+e19lZSgpO1JlKCk7aShxR2UsImdldERheXNJblllYXIiKTtJS2E9cUdlfSk7ZnVuY3Rpb24gakdlKHQsZSl7bGV0IHI9YmUodCxlPy5pbikuZ2V0RnVsbFllYXIoKTtyZXR1cm4gTWF0aC5mbG9vcihyLzEwKSoxMH12YXIgT0thLFVHZT1jKCgpPT57UmUoKTtpKGpHZSwiZ2V0RGVjYWRlIik7T0thPWpHZX0pO2Z1bmN0aW9uIHBWKCl7cmV0dXJuIE9iamVjdC5hc3NpZ24oe30saGEoKSl9dmFyIFZLYSxUZWU9YygoKT0+e2hyKCk7aShwViwiZ2V0RGVmYXVsdE9wdGlvbnMiKTtWS2E9cFZ9KTtmdW5jdGlvbiBXR2UodCxlKXtyZXR1cm4gYmUodCxlPy5pbikuZ2V0SG91cnMoKX12YXIgR0thLEdHZT1jKCgpPT57UmUoKTtpKFdHZSwiZ2V0SG91cnMiKTtHS2E9V0dlfSk7ZnVuY3Rpb24gdVYodCxlKXtsZXQgYT1iZSh0LGU/LmluKS5nZXREYXkoKTtyZXR1cm4gYT09PTA/NzphfXZhciBLS2EsTGVlPWMoKCk9PntSZSgpO2kodVYsImdldElTT0RheSIpO0tLYT11Vn0pO2Z1bmN0aW9uIFlHZSh0LGUpe2xldCBhPXBpKHQsZSkscz0rcGkoZ24oYSw2MCkpLSthO3JldHVybiBNYXRoLnJvdW5kKHMvZTIpfXZhciByUWEsWkdlPWMoKCk9PnthdSgpO1B0KCk7ZDUoKTtpKFlHZSwiZ2V0SVNPV2Vla3NJblllYXIiKTtyUWE9WUdlfSk7ZnVuY3Rpb24gWEdlKHQpe3JldHVybiBiZSh0KS5nZXRNaWxsaXNlY29uZHMoKX12YXIgblFhLEtHZT1jKCgpPT57UmUoKTtpKFhHZSwiZ2V0TWlsbGlzZWNvbmRzIik7blFhPVhHZX0pO2Z1bmN0aW9uIFFHZSh0LGUpe3JldHVybiBiZSh0LGU/LmluKS5nZXRNaW51dGVzKCl9dmFyIHBRYSxKR2U9YygoKT0+e1JlKCk7aShRR2UsImdldE1pbnV0ZXMiKTtwUWE9UUdlfSk7ZnVuY3Rpb24gZVllKHQsZSl7cmV0dXJuIGJlKHQsZT8uaW4pLmdldE1vbnRoKCl9dmFyIG1RYSx0WWU9YygoKT0+e1JlKCk7aShlWWUsImdldE1vbnRoIik7bVFhPWVZZX0pO2Z1bmN0aW9uIGFZZSh0LGUpe2xldFthLHJdPVsrYmUodC5zdGFydCksK2JlKHQuZW5kKV0uc29ydCgocCxnKT0+cC1nKSxbcyxuXT1bK2JlKGUuc3RhcnQpLCtiZShlLmVuZCldLnNvcnQoKHAsZyk9PnAtZyk7aWYoIShhPG4mJnM8cikpcmV0dXJuIDA7bGV0IGw9czxhP2E6cyxoPWwtSmEobCksdT1uPnI/cjpuLGY9dS1KYSh1KTtyZXR1cm4gTWF0aC5jZWlsKChmLWgpL21xKX12YXIgd1FhLHJZZT1jKCgpPT57VTIoKTtQdCgpO1JlKCk7aShhWWUsImdldE92ZXJsYXBwaW5nRGF5c0luSW50ZXJ2YWxzIik7d1FhPWFZZX0pO2Z1bmN0aW9uIGlZZSh0KXtyZXR1cm4gYmUodCkuZ2V0U2Vjb25kcygpfXZhciBTUWEsc1llPWMoKCk9PntSZSgpO2koaVllLCJnZXRTZWNvbmRzIik7U1FhPWlZZX0pO2Z1bmN0aW9uIG9ZZSh0KXtyZXR1cm4rYmUodCl9dmFyIExRYSxuWWU9YygoKT0+e1JlKCk7aShvWWUsImdldFRpbWUiKTtMUWE9b1llfSk7ZnVuY3Rpb24gbFllKHQpe3JldHVybiBNYXRoLnRydW5jKCtiZSh0KS8xZTMpfXZhciBQUWEsY1llPWMoKCk9PntSZSgpO2kobFllLCJnZXRVbml4VGltZSIpO1BRYT1sWWV9KTtmdW5jdGlvbiBkWWUodCxlKXtsZXQgYT1oYSgpLHI9ZT8ud2Vla1N0YXJ0c09uPz9lPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/YS53ZWVrU3RhcnRzT24/P2EubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAscz1sVihiZSh0LGU/LmluKSk7aWYoaXNOYU4ocykpcmV0dXJuIE5hTjtsZXQgbj1Nbih4bih0LGUpKSxvPXItbjtvPD0wJiYobys9Nyk7bGV0IGw9cy1vO3JldHVybiBNYXRoLmNlaWwobC83KSsxfXZhciBIUWEscFllPWMoKCk9PntocigpO1NlZSgpO3B1KCk7b3UoKTtSZSgpO2koZFllLCJnZXRXZWVrT2ZNb250aCIpO0hRYT1kWWV9KTtmdW5jdGlvbiBmVih0LGUpe2xldCBhPWJlKHQsZT8uaW4pLHI9YS5nZXRNb250aCgpO3JldHVybiBhLnNldEZ1bGxZZWFyKGEuZ2V0RnVsbFllYXIoKSxyKzEsMCksYS5zZXRIb3VycygwLDAsMCwwKSxiZShhLGU/LmluKX12YXIgVVFhLCRlZT1jKCgpPT57UmUoKTtpKGZWLCJsYXN0RGF5T2ZNb250aCIpO1VRYT1mVn0pO2Z1bmN0aW9uIHVZZSh0LGUpe2xldCBhPWJlKHQsZT8uaW4pO3JldHVybiBIbChmVihhLGUpLHhuKGEsZSksZSkrMX12YXIgUVFhLGZZZT1jKCgpPT57TnEoKTskZWUoKTtvdSgpO1JlKCk7aSh1WWUsImdldFdlZWtzSW5Nb250aCIpO1FRYT11WWV9KTtmdW5jdGlvbiBoWWUodCxlKXtyZXR1cm4gYmUodCxlPy5pbikuZ2V0RnVsbFllYXIoKX12YXIgYUphLG1ZZT1jKCgpPT57UmUoKTtpKGhZZSwiZ2V0WWVhciIpO2FKYT1oWWV9KTtmdW5jdGlvbiBnWWUodCl7cmV0dXJuIE1hdGgudHJ1bmModCpkaSl9dmFyIG9KYSxiWWU9YygoKT0+e1B0KCk7aShnWWUsImhvdXJzVG9NaWxsaXNlY29uZHMiKTtvSmE9Z1llfSk7ZnVuY3Rpb24gdlllKHQpe3JldHVybiBNYXRoLnRydW5jKHQqZ3EpfXZhciBkSmEseFllPWMoKCk9PntQdCgpO2kodlllLCJob3Vyc1RvTWludXRlcyIpO2RKYT12WWV9KTtmdW5jdGlvbiB5WWUodCl7cmV0dXJuIE1hdGgudHJ1bmModCpGbCl9dmFyIGhKYSx3WWU9YygoKT0+e1B0KCk7aSh5WWUsImhvdXJzVG9TZWNvbmRzIik7aEphPXlZZX0pO2Z1bmN0aW9uIE1ZZSh0LGUsYSl7bGV0W3Isc109ZHQoYT8uaW4sdCxlKTtpZihpc05hTigrcikpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3RhcnQgZGF0ZSBpcyBpbnZhbGlkIik7aWYoaXNOYU4oK3MpKXRocm93IG5ldyBUeXBlRXJyb3IoIkVuZCBkYXRlIGlzIGludmFsaWQiKTtpZihhPy5hc3NlcnRQb3NpdGl2ZSYmK3I+K3MpdGhyb3cgbmV3IFR5cGVFcnJvcigiRW5kIGRhdGUgbXVzdCBiZSBhZnRlciBzdGFydCBkYXRlIik7cmV0dXJue3N0YXJ0OnIsZW5kOnN9fXZhciB2SmEsa1llPWMoKCk9Pnt4YSgpO2koTVllLCJpbnRlcnZhbCIpO3ZKYT1NWWV9KTtmdW5jdGlvbiB6WWUodCxlKXtsZXR7c3RhcnQ6YSxlbmQ6cn09cTEoZT8uaW4sdCkscz17fSxuPVdxKHIsYSk7biYmKHMueWVhcnM9bik7bGV0IG89Zm4oYSx7eWVhcnM6cy55ZWFyc30pLGw9dm4ocixvKTtsJiYocy5tb250aHM9bCk7bGV0IGg9Zm4obyx7bW9udGhzOnMubW9udGhzfSksdT1tNShyLGgpO3UmJihzLmRheXM9dSk7bGV0IGY9Zm4oaCx7ZGF5czpzLmRheXN9KSxwPXFsKHIsZik7cCYmKHMuaG91cnM9cCk7bGV0IGc9Zm4oZix7aG91cnM6cy5ob3Vyc30pLHY9VmwocixnKTt2JiYocy5taW51dGVzPXYpO2xldCB4PWZuKGcse21pbnV0ZXM6cy5taW51dGVzfSksYj1uMihyLHgpO3JldHVybiBiJiYocy5zZWNvbmRzPWIpLHN9dmFyIExKYSxTWWU9YygoKT0+e2wyKCk7WEooKTtGcSgpO09xKCk7cXEoKTtpdSgpO3N1KCk7aGVlKCk7aSh6WWUsImludGVydmFsVG9EdXJhdGlvbiIpO0xKYT16WWV9KTtmdW5jdGlvbiBDWWUodCxlLGEpe2xldCByO3JldHVybiBWbmEoZSk/cj1lOmE9ZSxuZXcgSW50bC5EYXRlVGltZUZvcm1hdChhPy5sb2NhbGUscikuZm9ybWF0KGJlKHQpKX1mdW5jdGlvbiBWbmEodCl7cmV0dXJuIHQhPT12b2lkIDAmJiEoImxvY2FsZSJpbiB0KX12YXIgUEphLF9ZZT1jKCgpPT57UmUoKTtpKENZZSwiaW50bEZvcm1hdCIpO2koVm5hLCJpc0Zvcm1hdE9wdGlvbnMiKTtQSmE9Q1llfSk7ZnVuY3Rpb24gVFllKHQsZSxhKXtsZXQgcj0wLHMsW24sb109ZHQoYT8uaW4sdCxlKTtpZihhPy51bml0KXM9YT8udW5pdCxzPT09InNlY29uZCI/cj1uMihuLG8pOnM9PT0ibWludXRlIj9yPVZsKG4sbyk6cz09PSJob3VyIj9yPXFsKG4sbyk6cz09PSJkYXkiP3I9SDEobixvKTpzPT09IndlZWsiP3I9SGwobixvKTpzPT09Im1vbnRoIj9yPUJsKG4sbyk6cz09PSJxdWFydGVyIj9yPWg1KG4sbyk6cz09PSJ5ZWFyIiYmKHI9Ym4obixvKSk7ZWxzZXtsZXQgaD1uMihuLG8pO01hdGguYWJzKGgpPGw1PyhyPW4yKG4sbykscz0ic2Vjb25kIik6TWF0aC5hYnMoaCk8Rmw/KHI9VmwobixvKSxzPSJtaW51dGUiKTpNYXRoLmFicyhoKTxmcSYmTWF0aC5hYnMoSDEobixvKSk8MT8ocj1xbChuLG8pLHM9ImhvdXIiKTpNYXRoLmFicyhoKTxZVWUmJihyPUgxKG4sbykpJiZNYXRoLmFicyhyKTw3P3M9ImRheSI6TWF0aC5hYnMoaCk8WUo/KHI9SGwobixvKSxzPSJ3ZWVrIik6TWF0aC5hYnMoaCk8WlVlPyhyPUJsKG4sbykscz0ibW9udGgiKTpNYXRoLmFicyhoKTxHSj9oNShuLG8pPDQ/KHI9aDUobixvKSxzPSJxdWFydGVyIik6KHI9Ym4obixvKSxzPSJ5ZWFyIik6KHI9Ym4obixvKSxzPSJ5ZWFyIil9cmV0dXJuIG5ldyBJbnRsLlJlbGF0aXZlVGltZUZvcm1hdChhPy5sb2NhbGUse251bWVyaWM6ImF1dG8iLC4uLmF9KS5mb3JtYXQocixzKX12YXIgV0phLExZZT1jKCgpPT57eGEoKTtQdCgpO1cyKCk7SXEoKTtwZWUoKTtOcSgpO1JxKCk7T3EoKTtxcSgpO3N1KCk7aShUWWUsImludGxGb3JtYXREaXN0YW5jZSIpO1dKYT1UWWV9KTtmdW5jdGlvbiAkWWUodCxlKXtyZXR1cm4rYmUodCk+K2JlKGUpfXZhciBYSmEsRFllPWMoKCk9PntSZSgpO2koJFllLCJpc0FmdGVyIik7WEphPSRZZX0pO2Z1bmN0aW9uIEFZZSh0LGUpe3JldHVybitiZSh0KTwrYmUoZSl9dmFyIGVlMSxQWWU9YygoKT0+e1JlKCk7aShBWWUsImlzQmVmb3JlIik7ZWUxPUFZZX0pO2Z1bmN0aW9uIEVZZSh0LGUpe3JldHVybitiZSh0KT09K2JlKGUpfXZhciBpZTEsSVllPWMoKCk9PntSZSgpO2koRVllLCJpc0VxdWFsIik7aWUxPUVZZX0pO2Z1bmN0aW9uIE5ZZSh0LGUsYSl7bGV0IHI9bmV3IERhdGUodCxlLGEpO3JldHVybiByLmdldEZ1bGxZZWFyKCk9PT10JiZyLmdldE1vbnRoKCk9PT1lJiZyLmdldERhdGUoKT09PWF9dmFyIG5lMSxSWWU9YygoKT0+e2koTlllLCJpc0V4aXN0cyIpO25lMT1OWWV9KTtmdW5jdGlvbiBGWWUodCxlKXtyZXR1cm4gYmUodCxlPy5pbikuZ2V0RGF0ZSgpPT09MX12YXIgcGUxLE9ZZT1jKCgpPT57UmUoKTtpKEZZZSwiaXNGaXJzdERheU9mTW9udGgiKTtwZTE9RlllfSk7ZnVuY3Rpb24gQlllKHQsZSl7cmV0dXJuIGJlKHQsZT8uaW4pLmdldERheSgpPT09NX12YXIgbWUxLEhZZT1jKCgpPT57UmUoKTtpKEJZZSwiaXNGcmlkYXkiKTttZTE9QlllfSk7ZnVuY3Rpb24gcVllKHQpe3JldHVybitiZSh0KT5EYXRlLm5vdygpfXZhciB4ZTEsVlllPWMoKCk9PntSZSgpO2kocVllLCJpc0Z1dHVyZSIpO3hlMT1xWWV9KTtmdW5jdGlvbiBoVih0LGUpe2xldCBhPWpuYShlKT9uZXcgZSgwKTpJZShlLDApO3JldHVybiBhLnNldEZ1bGxZZWFyKHQuZ2V0RnVsbFllYXIoKSx0LmdldE1vbnRoKCksdC5nZXREYXRlKCkpLGEuc2V0SG91cnModC5nZXRIb3VycygpLHQuZ2V0TWludXRlcygpLHQuZ2V0U2Vjb25kcygpLHQuZ2V0TWlsbGlzZWNvbmRzKCkpLGF9ZnVuY3Rpb24gam5hKHQpe3JldHVybiB0eXBlb2YgdD09ImZ1bmN0aW9uIiYmdC5wcm90b3R5cGU/LmNvbnN0cnVjdG9yPT09dH12YXIga2UxLERlZT1jKCgpPT57bXQoKTtpKGhWLCJ0cmFuc3Bvc2UiKTtpKGpuYSwiaXNDb25zdHJ1Y3RvciIpO2tlMT1oVn0pO3ZhciBVbmEsbVYsZ1YsYlYsQWVlPWMoKCk9PnttdCgpO0RlZSgpO1VuYT0xMCxtVj1jbGFzc3tzdGF0aWN7aSh0aGlzLCJTZXR0ZXIiKX1zdWJQcmlvcml0eT0wO3ZhbGlkYXRlKGUsYSl7cmV0dXJuITB9fSxnVj1jbGFzcyBleHRlbmRzIG1We3N0YXRpY3tpKHRoaXMsIlZhbHVlU2V0dGVyIil9Y29uc3RydWN0b3IoZSxhLHIscyxuKXtzdXBlcigpLHRoaXMudmFsdWU9ZSx0aGlzLnZhbGlkYXRlVmFsdWU9YSx0aGlzLnNldFZhbHVlPXIsdGhpcy5wcmlvcml0eT1zLG4mJih0aGlzLnN1YlByaW9yaXR5PW4pfXZhbGlkYXRlKGUsYSl7cmV0dXJuIHRoaXMudmFsaWRhdGVWYWx1ZShlLHRoaXMudmFsdWUsYSl9c2V0KGUsYSxyKXtyZXR1cm4gdGhpcy5zZXRWYWx1ZShlLGEsdGhpcy52YWx1ZSxyKX19LGJWPWNsYXNzIGV4dGVuZHMgbVZ7c3RhdGlje2kodGhpcywiRGF0ZVRpbWV6b25lU2V0dGVyIil9cHJpb3JpdHk9VW5hO3N1YlByaW9yaXR5PS0xO2NvbnN0cnVjdG9yKGUsYSl7c3VwZXIoKSx0aGlzLmNvbnRleHQ9ZXx8KHI9PkllKGEscikpfXNldChlLGEpe3JldHVybiBhLnRpbWVzdGFtcElzU2V0P2U6SWUoZSxoVihlLHRoaXMuY29udGV4dCkpfX19KTt2YXIgcnQsb2E9YygoKT0+e0FlZSgpO3J0PWNsYXNze3N0YXRpY3tpKHRoaXMsIlBhcnNlciIpfXJ1bihlLGEscixzKXtsZXQgbj10aGlzLnBhcnNlKGUsYSxyLHMpO3JldHVybiBuP3tzZXR0ZXI6bmV3IGdWKG4udmFsdWUsdGhpcy52YWxpZGF0ZSx0aGlzLnNldCx0aGlzLnByaW9yaXR5LHRoaXMuc3ViUHJpb3JpdHkpLHJlc3Q6bi5yZXN0fTpudWxsfXZhbGlkYXRlKGUsYSxyKXtyZXR1cm4hMH19fSk7dmFyIHZWLGpZZT1jKCgpPT57b2EoKTt2Vj1jbGFzcyBleHRlbmRzIHJ0e3N0YXRpY3tpKHRoaXMsIkVyYVBhcnNlciIpfXByaW9yaXR5PTE0MDtwYXJzZShlLGEscil7c3dpdGNoKGEpe2Nhc2UiRyI6Y2FzZSJHRyI6Y2FzZSJHR0ciOnJldHVybiByLmVyYShlLHt3aWR0aDoiYWJicmV2aWF0ZWQifSl8fHIuZXJhKGUse3dpZHRoOiJuYXJyb3cifSk7Y2FzZSJHR0dHRyI6cmV0dXJuIHIuZXJhKGUse3dpZHRoOiJuYXJyb3cifSk7ZGVmYXVsdDpyZXR1cm4gci5lcmEoZSx7d2lkdGg6IndpZGUifSl8fHIuZXJhKGUse3dpZHRoOiJhYmJyZXZpYXRlZCJ9KXx8ci5lcmEoZSx7d2lkdGg6Im5hcnJvdyJ9KX19c2V0KGUsYSxyKXtyZXR1cm4gYS5lcmE9cixlLnNldEZ1bGxZZWFyKHIsMCwxKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsiUiIsInUiLCJ0IiwiVCJdfX0pO3ZhciB0YSxFaSxicj1jKCgpPT57dGE9e21vbnRoOi9eKDFbMC0yXXwwP1xkKS8sZGF0ZTovXigzWzAtMV18WzAtMl0/XGQpLyxkYXlPZlllYXI6L14oMzZbMC02XXwzWzAtNV1cZHxbMC0yXT9cZD9cZCkvLHdlZWs6L14oNVswLTNdfFswLTRdP1xkKS8saG91cjIzaDovXigyWzAtM118WzAtMV0/XGQpLyxob3VyMjRoOi9eKDJbMC00XXxbMC0xXT9cZCkvLGhvdXIxMWg6L14oMVswLTFdfDA/XGQpLyxob3VyMTJoOi9eKDFbMC0yXXwwP1xkKS8sbWludXRlOi9eWzAtNV0/XGQvLHNlY29uZDovXlswLTVdP1xkLyxzaW5nbGVEaWdpdDovXlxkLyx0d29EaWdpdHM6L15cZHsxLDJ9Lyx0aHJlZURpZ2l0czovXlxkezEsM30vLGZvdXJEaWdpdHM6L15cZHsxLDR9LyxhbnlEaWdpdHNTaWduZWQ6L14tP1xkKy8sc2luZ2xlRGlnaXRTaWduZWQ6L14tP1xkLyx0d29EaWdpdHNTaWduZWQ6L14tP1xkezEsMn0vLHRocmVlRGlnaXRzU2lnbmVkOi9eLT9cZHsxLDN9Lyxmb3VyRGlnaXRzU2lnbmVkOi9eLT9cZHsxLDR9L30sRWk9e2Jhc2ljT3B0aW9uYWxNaW51dGVzOi9eKFsrLV0pKFxkezJ9KShcZHsyfSk/fFovLGJhc2ljOi9eKFsrLV0pKFxkezJ9KShcZHsyfSl8Wi8sYmFzaWNPcHRpb25hbFNlY29uZHM6L14oWystXSkoXGR7Mn0pKFxkezJ9KSgoXGR7Mn0pKT98Wi8sZXh0ZW5kZWQ6L14oWystXSkoXGR7Mn0pOihcZHsyfSl8Wi8sZXh0ZW5kZWRPcHRpb25hbFNlY29uZHM6L14oWystXSkoXGR7Mn0pOihcZHsyfSkoOihcZHsyfSkpP3xaL319KTtmdW5jdGlvbiB5YSh0LGUpe3JldHVybiB0JiZ7dmFsdWU6ZSh0LnZhbHVlKSxyZXN0OnQucmVzdH19ZnVuY3Rpb24gWHQodCxlKXtsZXQgYT1lLm1hdGNoKHQpO3JldHVybiBhP3t2YWx1ZTpwYXJzZUludChhWzBdLDEwKSxyZXN0OmUuc2xpY2UoYVswXS5sZW5ndGgpfTpudWxsfWZ1bmN0aW9uIElpKHQsZSl7bGV0IGE9ZS5tYXRjaCh0KTtpZighYSlyZXR1cm4gbnVsbDtpZihhWzBdPT09IloiKXJldHVybnt2YWx1ZTowLHJlc3Q6ZS5zbGljZSgxKX07bGV0IHI9YVsxXT09PSIrIj8xOi0xLHM9YVsyXT9wYXJzZUludChhWzJdLDEwKTowLG49YVszXT9wYXJzZUludChhWzNdLDEwKTowLG89YVs1XT9wYXJzZUludChhWzVdLDEwKTowO3JldHVybnt2YWx1ZTpyKihzKmRpK24qZnIrbypvNSkscmVzdDplLnNsaWNlKGFbMF0ubGVuZ3RoKX19ZnVuY3Rpb24geFYodCl7cmV0dXJuIFh0KHRhLmFueURpZ2l0c1NpZ25lZCx0KX1mdW5jdGlvbiBEdCh0LGUpe3N3aXRjaCh0KXtjYXNlIDE6cmV0dXJuIFh0KHRhLnNpbmdsZURpZ2l0LGUpO2Nhc2UgMjpyZXR1cm4gWHQodGEudHdvRGlnaXRzLGUpO2Nhc2UgMzpyZXR1cm4gWHQodGEudGhyZWVEaWdpdHMsZSk7Y2FzZSA0OnJldHVybiBYdCh0YS5mb3VyRGlnaXRzLGUpO2RlZmF1bHQ6cmV0dXJuIFh0KG5ldyBSZWdFeHAoIl5cXGR7MSwiK3QrIn0iKSxlKX19ZnVuY3Rpb24gQzUodCxlKXtzd2l0Y2godCl7Y2FzZSAxOnJldHVybiBYdCh0YS5zaW5nbGVEaWdpdFNpZ25lZCxlKTtjYXNlIDI6cmV0dXJuIFh0KHRhLnR3b0RpZ2l0c1NpZ25lZCxlKTtjYXNlIDM6cmV0dXJuIFh0KHRhLnRocmVlRGlnaXRzU2lnbmVkLGUpO2Nhc2UgNDpyZXR1cm4gWHQodGEuZm91ckRpZ2l0c1NpZ25lZCxlKTtkZWZhdWx0OnJldHVybiBYdChuZXcgUmVnRXhwKCJeLT9cXGR7MSwiK3QrIn0iKSxlKX19ZnVuY3Rpb24gXzUodCl7c3dpdGNoKHQpe2Nhc2UibW9ybmluZyI6cmV0dXJuIDQ7Y2FzZSJldmVuaW5nIjpyZXR1cm4gMTc7Y2FzZSJwbSI6Y2FzZSJub29uIjpjYXNlImFmdGVybm9vbiI6cmV0dXJuIDEyO2RlZmF1bHQ6cmV0dXJuIDB9fWZ1bmN0aW9uIHlWKHQsZSl7bGV0IGE9ZT4wLHI9YT9lOjEtZSxzO2lmKHI8PTUwKXM9dHx8MTAwO2Vsc2V7bGV0IG49cis1MCxvPU1hdGgudHJ1bmMobi8xMDApKjEwMCxsPXQ+PW4lMTAwO3M9dCtvLShsPzEwMDowKX1yZXR1cm4gYT9zOjEtc31mdW5jdGlvbiB3Vih0KXtyZXR1cm4gdCU0MDA9PT0wfHx0JTQ9PT0wJiZ0JTEwMCE9PTB9dmFyIG1hPWMoKCk9PntQdCgpO2JyKCk7aSh5YSwibWFwVmFsdWUiKTtpKFh0LCJwYXJzZU51bWVyaWNQYXR0ZXJuIik7aShJaSwicGFyc2VUaW1lem9uZVBhdHRlcm4iKTtpKHhWLCJwYXJzZUFueURpZ2l0c1NpZ25lZCIpO2koRHQsInBhcnNlTkRpZ2l0cyIpO2koQzUsInBhcnNlTkRpZ2l0c1NpZ25lZCIpO2koXzUsImRheVBlcmlvZEVudW1Ub0hvdXJzIik7aSh5Viwibm9ybWFsaXplVHdvRGlnaXRZZWFyIik7aSh3ViwiaXNMZWFwWWVhckluZGV4Iil9KTt2YXIgTVYsVVllPWMoKCk9PntvYSgpO21hKCk7TVY9Y2xhc3MgZXh0ZW5kcyBydHtzdGF0aWN7aSh0aGlzLCJZZWFyUGFyc2VyIil9cHJpb3JpdHk9MTMwO2luY29tcGF0aWJsZVRva2Vucz1bIlkiLCJSIiwidSIsInciLCJJIiwiaSIsImUiLCJjIiwidCIsIlQiXTtwYXJzZShlLGEscil7bGV0IHM9aShuPT4oe3llYXI6bixpc1R3b0RpZ2l0WWVhcjphPT09Inl5In0pLCJ2YWx1ZUNhbGxiYWNrIik7c3dpdGNoKGEpe2Nhc2UieSI6cmV0dXJuIHlhKER0KDQsZSkscyk7Y2FzZSJ5byI6cmV0dXJuIHlhKHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJ5ZWFyIn0pLHMpO2RlZmF1bHQ6cmV0dXJuIHlhKER0KGEubGVuZ3RoLGUpLHMpfX12YWxpZGF0ZShlLGEpe3JldHVybiBhLmlzVHdvRGlnaXRZZWFyfHxhLnllYXI+MH1zZXQoZSxhLHIpe2xldCBzPWUuZ2V0RnVsbFllYXIoKTtpZihyLmlzVHdvRGlnaXRZZWFyKXtsZXQgbz15VihyLnllYXIscyk7cmV0dXJuIGUuc2V0RnVsbFllYXIobywwLDEpLGUuc2V0SG91cnMoMCwwLDAsMCksZX1sZXQgbj0hKCJlcmEiaW4gYSl8fGEuZXJhPT09MT9yLnllYXI6MS1yLnllYXI7cmV0dXJuIGUuc2V0RnVsbFllYXIobiwwLDEpLGUuc2V0SG91cnMoMCwwLDAsMCksZX19fSk7dmFyIGtWLFdZZT1jKCgpPT57bnUoKTtkcygpO29hKCk7bWEoKTtrVj1jbGFzcyBleHRlbmRzIHJ0e3N0YXRpY3tpKHRoaXMsIkxvY2FsV2Vla1llYXJQYXJzZXIiKX1wcmlvcml0eT0xMzA7cGFyc2UoZSxhLHIpe2xldCBzPWkobj0+KHt5ZWFyOm4saXNUd29EaWdpdFllYXI6YT09PSJZWSJ9KSwidmFsdWVDYWxsYmFjayIpO3N3aXRjaChhKXtjYXNlIlkiOnJldHVybiB5YShEdCg0LGUpLHMpO2Nhc2UiWW8iOnJldHVybiB5YShyLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoieWVhciJ9KSxzKTtkZWZhdWx0OnJldHVybiB5YShEdChhLmxlbmd0aCxlKSxzKX19dmFsaWRhdGUoZSxhKXtyZXR1cm4gYS5pc1R3b0RpZ2l0WWVhcnx8YS55ZWFyPjB9c2V0KGUsYSxyLHMpe2xldCBuPXluKGUscyk7aWYoci5pc1R3b0RpZ2l0WWVhcil7bGV0IGw9eVYoci55ZWFyLG4pO3JldHVybiBlLnNldEZ1bGxZZWFyKGwsMCxzLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZSksZS5zZXRIb3VycygwLDAsMCwwKSxDYShlLHMpfWxldCBvPSEoImVyYSJpbiBhKXx8YS5lcmE9PT0xP3IueWVhcjoxLXIueWVhcjtyZXR1cm4gZS5zZXRGdWxsWWVhcihvLDAscy5maXJzdFdlZWtDb250YWluc0RhdGUpLGUuc2V0SG91cnMoMCwwLDAsMCksQ2EoZSxzKX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ5IiwiUiIsInUiLCJRIiwicSIsIk0iLCJMIiwiSSIsImQiLCJEIiwiaSIsInQiLCJUIl19fSk7dmFyIHpWLEdZZT1jKCgpPT57aTIoKTttdCgpO29hKCk7bWEoKTt6Vj1jbGFzcyBleHRlbmRzIHJ0e3N0YXRpY3tpKHRoaXMsIklTT1dlZWtZZWFyUGFyc2VyIil9cHJpb3JpdHk9MTMwO3BhcnNlKGUsYSl7cmV0dXJuIGE9PT0iUiI/QzUoNCxlKTpDNShhLmxlbmd0aCxlKX1zZXQoZSxhLHIpe2xldCBzPUllKGUsMCk7cmV0dXJuIHMuc2V0RnVsbFllYXIociwwLDQpLHMuc2V0SG91cnMoMCwwLDAsMCksaDEocyl9aW5jb21wYXRpYmxlVG9rZW5zPVsiRyIsInkiLCJZIiwidSIsIlEiLCJxIiwiTSIsIkwiLCJ3IiwiZCIsIkQiLCJlIiwiYyIsInQiLCJUIl19fSk7dmFyIFNWLFlZZT1jKCgpPT57b2EoKTttYSgpO1NWPWNsYXNzIGV4dGVuZHMgcnR7c3RhdGlje2kodGhpcywiRXh0ZW5kZWRZZWFyUGFyc2VyIil9cHJpb3JpdHk9MTMwO3BhcnNlKGUsYSl7cmV0dXJuIGE9PT0idSI/QzUoNCxlKTpDNShhLmxlbmd0aCxlKX1zZXQoZSxhLHIpe3JldHVybiBlLnNldEZ1bGxZZWFyKHIsMCwxKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsiRyIsInkiLCJZIiwiUiIsInciLCJJIiwiaSIsImUiLCJjIiwidCIsIlQiXX19KTt2YXIgQ1YsWlllPWMoKCk9PntvYSgpO21hKCk7Q1Y9Y2xhc3MgZXh0ZW5kcyBydHtzdGF0aWN7aSh0aGlzLCJRdWFydGVyUGFyc2VyIil9cHJpb3JpdHk9MTIwO3BhcnNlKGUsYSxyKXtzd2l0Y2goYSl7Y2FzZSJRIjpjYXNlIlFRIjpyZXR1cm4gRHQoYS5sZW5ndGgsZSk7Y2FzZSJRbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJxdWFydGVyIn0pO2Nhc2UiUVFRIjpyZXR1cm4gci5xdWFydGVyKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5xdWFydGVyKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJRUVFRUSI6cmV0dXJuIHIucXVhcnRlcihlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHIucXVhcnRlcihlLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5xdWFydGVyKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5xdWFydGVyKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fXZhbGlkYXRlKGUsYSl7cmV0dXJuIGE+PTEmJmE8PTR9c2V0KGUsYSxyKXtyZXR1cm4gZS5zZXRNb250aCgoci0xKSozLDEpLGUuc2V0SG91cnMoMCwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJZIiwiUiIsInEiLCJNIiwiTCIsInciLCJJIiwiZCIsIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciBfVixYWWU9YygoKT0+e29hKCk7bWEoKTtfVj1jbGFzcyBleHRlbmRzIHJ0e3N0YXRpY3tpKHRoaXMsIlN0YW5kQWxvbmVRdWFydGVyUGFyc2VyIil9cHJpb3JpdHk9MTIwO3BhcnNlKGUsYSxyKXtzd2l0Y2goYSl7Y2FzZSJxIjpjYXNlInFxIjpyZXR1cm4gRHQoYS5sZW5ndGgsZSk7Y2FzZSJxbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJxdWFydGVyIn0pO2Nhc2UicXFxIjpyZXR1cm4gci5xdWFydGVyKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8ci5xdWFydGVyKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJxcXFxcSI6cmV0dXJuIHIucXVhcnRlcihlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2RlZmF1bHQ6cmV0dXJuIHIucXVhcnRlcihlLHt3aWR0aDoid2lkZSIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8ci5xdWFydGVyKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8ci5xdWFydGVyKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSl9fXZhbGlkYXRlKGUsYSl7cmV0dXJuIGE+PTEmJmE8PTR9c2V0KGUsYSxyKXtyZXR1cm4gZS5zZXRNb250aCgoci0xKSozLDEpLGUuc2V0SG91cnMoMCwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJZIiwiUiIsIlEiLCJNIiwiTCIsInciLCJJIiwiZCIsIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciBUVixLWWU9YygoKT0+e2JyKCk7b2EoKTttYSgpO1RWPWNsYXNzIGV4dGVuZHMgcnR7c3RhdGlje2kodGhpcywiTW9udGhQYXJzZXIiKX1pbmNvbXBhdGlibGVUb2tlbnM9WyJZIiwiUiIsInEiLCJRIiwiTCIsInciLCJJIiwiRCIsImkiLCJlIiwiYyIsInQiLCJUIl07cHJpb3JpdHk9MTEwO3BhcnNlKGUsYSxyKXtsZXQgcz1pKG49Pm4tMSwidmFsdWVDYWxsYmFjayIpO3N3aXRjaChhKXtjYXNlIk0iOnJldHVybiB5YShYdCh0YS5tb250aCxlKSxzKTtjYXNlIk1NIjpyZXR1cm4geWEoRHQoMixlKSxzKTtjYXNlIk1vIjpyZXR1cm4geWEoci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6Im1vbnRoIn0pLHMpO2Nhc2UiTU1NIjpyZXR1cm4gci5tb250aChlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIubW9udGgoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIk1NTU1NIjpyZXR1cm4gci5tb250aChlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHIubW9udGgoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIubW9udGgoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLm1vbnRoKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fXZhbGlkYXRlKGUsYSl7cmV0dXJuIGE+PTAmJmE8PTExfXNldChlLGEscil7cmV0dXJuIGUuc2V0TW9udGgociwxKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9fX0pO3ZhciBMVixRWWU9YygoKT0+e2JyKCk7b2EoKTttYSgpO0xWPWNsYXNzIGV4dGVuZHMgcnR7c3RhdGlje2kodGhpcywiU3RhbmRBbG9uZU1vbnRoUGFyc2VyIil9cHJpb3JpdHk9MTEwO3BhcnNlKGUsYSxyKXtsZXQgcz1pKG49Pm4tMSwidmFsdWVDYWxsYmFjayIpO3N3aXRjaChhKXtjYXNlIkwiOnJldHVybiB5YShYdCh0YS5tb250aCxlKSxzKTtjYXNlIkxMIjpyZXR1cm4geWEoRHQoMixlKSxzKTtjYXNlIkxvIjpyZXR1cm4geWEoci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6Im1vbnRoIn0pLHMpO2Nhc2UiTExMIjpyZXR1cm4gci5tb250aChlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIubW9udGgoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlIkxMTExMIjpyZXR1cm4gci5tb250aChlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2RlZmF1bHQ6cmV0dXJuIHIubW9udGgoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIubW9udGgoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxyLm1vbnRoKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSl9fXZhbGlkYXRlKGUsYSl7cmV0dXJuIGE+PTAmJmE8PTExfXNldChlLGEscil7cmV0dXJuIGUuc2V0TW9udGgociwxKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJxIiwiUSIsIk0iLCJ3IiwiSSIsIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdfX0pO2Z1bmN0aW9uICRWKHQsZSxhKXtsZXQgcj1iZSh0LGE/LmluKSxzPXo1KHIsYSktZTtyZXR1cm4gci5zZXREYXRlKHIuZ2V0RGF0ZSgpLXMqNyksYmUocixhPy5pbil9dmFyIF90MSxQZWU9YygoKT0+e3JWKCk7UmUoKTtpKCRWLCJzZXRXZWVrIik7X3QxPSRWfSk7dmFyIERWLEpZZT1jKCgpPT57UGVlKCk7ZHMoKTticigpO29hKCk7bWEoKTtEVj1jbGFzcyBleHRlbmRzIHJ0e3N0YXRpY3tpKHRoaXMsIkxvY2FsV2Vla1BhcnNlciIpfXByaW9yaXR5PTEwMDtwYXJzZShlLGEscil7c3dpdGNoKGEpe2Nhc2UidyI6cmV0dXJuIFh0KHRhLndlZWssZSk7Y2FzZSJ3byI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJ3ZWVrIn0pO2RlZmF1bHQ6cmV0dXJuIER0KGEubGVuZ3RoLGUpfX12YWxpZGF0ZShlLGEpe3JldHVybiBhPj0xJiZhPD01M31zZXQoZSxhLHIscyl7cmV0dXJuIENhKCRWKGUscixzKSxzKX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ5IiwiUiIsInUiLCJxIiwiUSIsIk0iLCJMIiwiSSIsImQiLCJEIiwiaSIsInQiLCJUIl19fSk7ZnVuY3Rpb24gQVYodCxlLGEpe2xldCByPWJlKHQsYT8uaW4pLHM9azUocixhKS1lO3JldHVybiByLnNldERhdGUoci5nZXREYXRlKCktcyo3KSxyfXZhciBPdDEsRWVlPWMoKCk9Pnt0VigpO1JlKCk7aShBViwic2V0SVNPV2VlayIpO090MT1BVn0pO3ZhciBQVixlWmU9YygoKT0+e0VlZSgpO2kyKCk7YnIoKTtvYSgpO21hKCk7UFY9Y2xhc3MgZXh0ZW5kcyBydHtzdGF0aWN7aSh0aGlzLCJJU09XZWVrUGFyc2VyIil9cHJpb3JpdHk9MTAwO3BhcnNlKGUsYSxyKXtzd2l0Y2goYSl7Y2FzZSJJIjpyZXR1cm4gWHQodGEud2VlayxlKTtjYXNlIklvIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6IndlZWsifSk7ZGVmYXVsdDpyZXR1cm4gRHQoYS5sZW5ndGgsZSl9fXZhbGlkYXRlKGUsYSl7cmV0dXJuIGE+PTEmJmE8PTUzfXNldChlLGEscil7cmV0dXJuIGgxKEFWKGUscikpfWluY29tcGF0aWJsZVRva2Vucz1bInkiLCJZIiwidSIsInEiLCJRIiwiTSIsIkwiLCJ3IiwiZCIsIkQiLCJlIiwiYyIsInQiLCJUIl19fSk7dmFyIFduYSxHbmEsRVYsdFplPWMoKCk9PnticigpO29hKCk7bWEoKTtXbmE9WzMxLDI4LDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXSxHbmE9WzMxLDI5LDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXSxFVj1jbGFzcyBleHRlbmRzIHJ0e3N0YXRpY3tpKHRoaXMsIkRhdGVQYXJzZXIiKX1wcmlvcml0eT05MDtzdWJQcmlvcml0eT0xO3BhcnNlKGUsYSxyKXtzd2l0Y2goYSl7Y2FzZSJkIjpyZXR1cm4gWHQodGEuZGF0ZSxlKTtjYXNlImRvIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6ImRhdGUifSk7ZGVmYXVsdDpyZXR1cm4gRHQoYS5sZW5ndGgsZSl9fXZhbGlkYXRlKGUsYSl7bGV0IHI9ZS5nZXRGdWxsWWVhcigpLHM9d1Yociksbj1lLmdldE1vbnRoKCk7cmV0dXJuIHM/YT49MSYmYTw9R25hW25dOmE+PTEmJmE8PVduYVtuXX1zZXQoZSxhLHIpe3JldHVybiBlLnNldERhdGUociksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIlkiLCJSIiwicSIsIlEiLCJ3IiwiSSIsIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciBJVixhWmU9YygoKT0+e2JyKCk7b2EoKTttYSgpO0lWPWNsYXNzIGV4dGVuZHMgcnR7c3RhdGlje2kodGhpcywiRGF5T2ZZZWFyUGFyc2VyIil9cHJpb3JpdHk9OTA7c3VicHJpb3JpdHk9MTtwYXJzZShlLGEscil7c3dpdGNoKGEpe2Nhc2UiRCI6Y2FzZSJERCI6cmV0dXJuIFh0KHRhLmRheU9mWWVhcixlKTtjYXNlIkRvIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6ImRhdGUifSk7ZGVmYXVsdDpyZXR1cm4gRHQoYS5sZW5ndGgsZSl9fXZhbGlkYXRlKGUsYSl7bGV0IHI9ZS5nZXRGdWxsWWVhcigpO3JldHVybiB3VihyKT9hPj0xJiZhPD0zNjY6YT49MSYmYTw9MzY1fXNldChlLGEscil7cmV0dXJuIGUuc2V0TW9udGgoMCxyKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJxIiwiUSIsIk0iLCJMIiwidyIsIkkiLCJkIiwiRSIsImkiLCJlIiwiYyIsInQiLCJUIl19fSk7ZnVuY3Rpb24ga24odCxlLGEpe2xldCByPWhhKCkscz1hPy53ZWVrU3RhcnRzT24/P2E/LmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz9yLndlZWtTdGFydHNPbj8/ci5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/MCxuPWJlKHQsYT8uaW4pLG89bi5nZXREYXkoKSxoPShlJTcrNyklNyx1PTctcyxmPWU8MHx8ZT42P2UtKG8rdSklNzooaCt1KSU3LShvK3UpJTc7cmV0dXJuIEMxKG4sZixhKX12YXIgbGExLHV1PWMoKCk9PntocigpO3QyKCk7UmUoKTtpKGtuLCJzZXREYXkiKTtsYTE9a259KTt2YXIgTlYsclplPWMoKCk9Pnt1dSgpO29hKCk7TlY9Y2xhc3MgZXh0ZW5kcyBydHtzdGF0aWN7aSh0aGlzLCJEYXlQYXJzZXIiKX1wcmlvcml0eT05MDtwYXJzZShlLGEscil7c3dpdGNoKGEpe2Nhc2UiRSI6Y2FzZSJFRSI6Y2FzZSJFRUUiOnJldHVybiByLmRheShlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkVFRUVFIjpyZXR1cm4gci5kYXkoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkVFRUVFRSI6cmV0dXJuIHIuZGF5KGUse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiByLmRheShlLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fXZhbGlkYXRlKGUsYSl7cmV0dXJuIGE+PTAmJmE8PTZ9c2V0KGUsYSxyLHMpe3JldHVybiBlPWtuKGUscixzKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsiRCIsImkiLCJlIiwiYyIsInQiLCJUIl19fSk7dmFyIFJWLGlaZT1jKCgpPT57dXUoKTtvYSgpO21hKCk7UlY9Y2xhc3MgZXh0ZW5kcyBydHtzdGF0aWN7aSh0aGlzLCJMb2NhbERheVBhcnNlciIpfXByaW9yaXR5PTkwO3BhcnNlKGUsYSxyLHMpe2xldCBuPWkobz0+e2xldCBsPU1hdGguZmxvb3IoKG8tMSkvNykqNztyZXR1cm4obytzLndlZWtTdGFydHNPbis2KSU3K2x9LCJ2YWx1ZUNhbGxiYWNrIik7c3dpdGNoKGEpe2Nhc2UiZSI6Y2FzZSJlZSI6cmV0dXJuIHlhKER0KGEubGVuZ3RoLGUpLG4pO2Nhc2UiZW8iOnJldHVybiB5YShyLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoiZGF5In0pLG4pO2Nhc2UiZWVlIjpyZXR1cm4gci5kYXkoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJlZWVlZSI6cmV0dXJuIHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJlZWVlZWUiOnJldHVybiByLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXkoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX12YWxpZGF0ZShlLGEpe3JldHVybiBhPj0wJiZhPD02fXNldChlLGEscixzKXtyZXR1cm4gZT1rbihlLHIscyksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bInkiLCJSIiwidSIsInEiLCJRIiwiTSIsIkwiLCJJIiwiZCIsIkQiLCJFIiwiaSIsImMiLCJ0IiwiVCJdfX0pO3ZhciBGVixzWmU9YygoKT0+e3V1KCk7b2EoKTttYSgpO0ZWPWNsYXNzIGV4dGVuZHMgcnR7c3RhdGlje2kodGhpcywiU3RhbmRBbG9uZUxvY2FsRGF5UGFyc2VyIil9cHJpb3JpdHk9OTA7cGFyc2UoZSxhLHIscyl7bGV0IG49aShvPT57bGV0IGw9TWF0aC5mbG9vcigoby0xKS83KSo3O3JldHVybihvK3Mud2Vla1N0YXJ0c09uKzYpJTcrbH0sInZhbHVlQ2FsbGJhY2siKTtzd2l0Y2goYSl7Y2FzZSJjIjpjYXNlImNjIjpyZXR1cm4geWEoRHQoYS5sZW5ndGgsZSksbik7Y2FzZSJjbyI6cmV0dXJuIHlhKHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJkYXkifSksbik7Y2FzZSJjY2MiOnJldHVybiByLmRheShlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIuZGF5KGUse3dpZHRoOiJzaG9ydCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8ci5kYXkoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlImNjY2NjIjpyZXR1cm4gci5kYXkoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlImNjY2NjYyI6cmV0dXJuIHIuZGF5KGUse3dpZHRoOiJzaG9ydCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8ci5kYXkoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtkZWZhdWx0OnJldHVybiByLmRheShlLHt3aWR0aDoid2lkZSIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8ci5kYXkoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxyLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSl9fXZhbGlkYXRlKGUsYSl7cmV0dXJuIGE+PTAmJmE8PTZ9c2V0KGUsYSxyLHMpe3JldHVybiBlPWtuKGUscixzKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsieSIsIlIiLCJ1IiwicSIsIlEiLCJNIiwiTCIsIkkiLCJkIiwiRCIsIkUiLCJpIiwiZSIsInQiLCJUIl19fSk7ZnVuY3Rpb24gT1YodCxlLGEpe2xldCByPWJlKHQsYT8uaW4pLHM9dVYocixhKSxuPWUtcztyZXR1cm4gQzEocixuLGEpfXZhciBUYTEsSWVlPWMoKCk9Pnt0MigpO0xlZSgpO1JlKCk7aShPViwic2V0SVNPRGF5Iik7VGExPU9WfSk7dmFyIEJWLG9aZT1jKCgpPT57SWVlKCk7b2EoKTttYSgpO0JWPWNsYXNzIGV4dGVuZHMgcnR7c3RhdGlje2kodGhpcywiSVNPRGF5UGFyc2VyIil9cHJpb3JpdHk9OTA7cGFyc2UoZSxhLHIpe2xldCBzPWkobj0+bj09PTA/NzpuLCJ2YWx1ZUNhbGxiYWNrIik7c3dpdGNoKGEpe2Nhc2UiaSI6Y2FzZSJpaSI6cmV0dXJuIER0KGEubGVuZ3RoLGUpO2Nhc2UiaW8iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoiZGF5In0pO2Nhc2UiaWlpIjpyZXR1cm4geWEoci5kYXkoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSkscyk7Y2FzZSJpaWlpaSI6cmV0dXJuIHlhKHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSkscyk7Y2FzZSJpaWlpaWkiOnJldHVybiB5YShyLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSkscyk7ZGVmYXVsdDpyZXR1cm4geWEoci5kYXkoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLHMpfX12YWxpZGF0ZShlLGEpe3JldHVybiBhPj0xJiZhPD03fXNldChlLGEscil7cmV0dXJuIGU9T1YoZSxyKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsieSIsIlkiLCJ1IiwicSIsIlEiLCJNIiwiTCIsInciLCJkIiwiRCIsIkUiLCJlIiwiYyIsInQiLCJUIl19fSk7dmFyIEhWLG5aZT1jKCgpPT57b2EoKTttYSgpO0hWPWNsYXNzIGV4dGVuZHMgcnR7c3RhdGlje2kodGhpcywiQU1QTVBhcnNlciIpfXByaW9yaXR5PTgwO3BhcnNlKGUsYSxyKXtzd2l0Y2goYSl7Y2FzZSJhIjpjYXNlImFhIjpjYXNlImFhYSI6cmV0dXJuIHIuZGF5UGVyaW9kKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXlQZXJpb2QoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImFhYWFhIjpyZXR1cm4gci5kYXlQZXJpb2QoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiByLmRheVBlcmlvZChlLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXlQZXJpb2QoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheVBlcmlvZChlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX1zZXQoZSxhLHIpe3JldHVybiBlLnNldEhvdXJzKF81KHIpLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bImIiLCJCIiwiSCIsImsiLCJ0IiwiVCJdfX0pO3ZhciBxVixsWmU9YygoKT0+e29hKCk7bWEoKTtxVj1jbGFzcyBleHRlbmRzIHJ0e3N0YXRpY3tpKHRoaXMsIkFNUE1NaWRuaWdodFBhcnNlciIpfXByaW9yaXR5PTgwO3BhcnNlKGUsYSxyKXtzd2l0Y2goYSl7Y2FzZSJiIjpjYXNlImJiIjpjYXNlImJiYiI6cmV0dXJuIHIuZGF5UGVyaW9kKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXlQZXJpb2QoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImJiYmJiIjpyZXR1cm4gci5kYXlQZXJpb2QoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiByLmRheVBlcmlvZChlLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXlQZXJpb2QoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheVBlcmlvZChlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX1zZXQoZSxhLHIpe3JldHVybiBlLnNldEhvdXJzKF81KHIpLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bImEiLCJCIiwiSCIsImsiLCJ0IiwiVCJdfX0pO3ZhciBWVixjWmU9YygoKT0+e29hKCk7bWEoKTtWVj1jbGFzcyBleHRlbmRzIHJ0e3N0YXRpY3tpKHRoaXMsIkRheVBlcmlvZFBhcnNlciIpfXByaW9yaXR5PTgwO3BhcnNlKGUsYSxyKXtzd2l0Y2goYSl7Y2FzZSJCIjpjYXNlIkJCIjpjYXNlIkJCQiI6cmV0dXJuIHIuZGF5UGVyaW9kKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXlQZXJpb2QoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkJCQkJCIjpyZXR1cm4gci5kYXlQZXJpb2QoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiByLmRheVBlcmlvZChlLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXlQZXJpb2QoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheVBlcmlvZChlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX1zZXQoZSxhLHIpe3JldHVybiBlLnNldEhvdXJzKF81KHIpLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bImEiLCJiIiwidCIsIlQiXX19KTt2YXIgalYsZFplPWMoKCk9PnticigpO29hKCk7bWEoKTtqVj1jbGFzcyBleHRlbmRzIHJ0e3N0YXRpY3tpKHRoaXMsIkhvdXIxdG8xMlBhcnNlciIpfXByaW9yaXR5PTcwO3BhcnNlKGUsYSxyKXtzd2l0Y2goYSl7Y2FzZSJoIjpyZXR1cm4gWHQodGEuaG91cjEyaCxlKTtjYXNlImhvIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6ImhvdXIifSk7ZGVmYXVsdDpyZXR1cm4gRHQoYS5sZW5ndGgsZSl9fXZhbGlkYXRlKGUsYSl7cmV0dXJuIGE+PTEmJmE8PTEyfXNldChlLGEscil7bGV0IHM9ZS5nZXRIb3VycygpPj0xMjtyZXR1cm4gcyYmcjwxMj9lLnNldEhvdXJzKHIrMTIsMCwwLDApOiFzJiZyPT09MTI/ZS5zZXRIb3VycygwLDAsMCwwKTplLnNldEhvdXJzKHIsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsiSCIsIksiLCJrIiwidCIsIlQiXX19KTt2YXIgVVYscFplPWMoKCk9PnticigpO29hKCk7bWEoKTtVVj1jbGFzcyBleHRlbmRzIHJ0e3N0YXRpY3tpKHRoaXMsIkhvdXIwdG8yM1BhcnNlciIpfXByaW9yaXR5PTcwO3BhcnNlKGUsYSxyKXtzd2l0Y2goYSl7Y2FzZSJIIjpyZXR1cm4gWHQodGEuaG91cjIzaCxlKTtjYXNlIkhvIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6ImhvdXIifSk7ZGVmYXVsdDpyZXR1cm4gRHQoYS5sZW5ndGgsZSl9fXZhbGlkYXRlKGUsYSl7cmV0dXJuIGE+PTAmJmE8PTIzfXNldChlLGEscil7cmV0dXJuIGUuc2V0SG91cnMociwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJhIiwiYiIsImgiLCJLIiwiayIsInQiLCJUIl19fSk7dmFyIFdWLHVaZT1jKCgpPT57YnIoKTtvYSgpO21hKCk7V1Y9Y2xhc3MgZXh0ZW5kcyBydHtzdGF0aWN7aSh0aGlzLCJIb3VyMFRvMTFQYXJzZXIiKX1wcmlvcml0eT03MDtwYXJzZShlLGEscil7c3dpdGNoKGEpe2Nhc2UiSyI6cmV0dXJuIFh0KHRhLmhvdXIxMWgsZSk7Y2FzZSJLbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJob3VyIn0pO2RlZmF1bHQ6cmV0dXJuIER0KGEubGVuZ3RoLGUpfX12YWxpZGF0ZShlLGEpe3JldHVybiBhPj0wJiZhPD0xMX1zZXQoZSxhLHIpe3JldHVybiBlLmdldEhvdXJzKCk+PTEyJiZyPDEyP2Uuc2V0SG91cnMocisxMiwwLDAsMCk6ZS5zZXRIb3VycyhyLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bImgiLCJIIiwiayIsInQiLCJUIl19fSk7dmFyIEdWLGZaZT1jKCgpPT57YnIoKTtvYSgpO21hKCk7R1Y9Y2xhc3MgZXh0ZW5kcyBydHtzdGF0aWN7aSh0aGlzLCJIb3VyMVRvMjRQYXJzZXIiKX1wcmlvcml0eT03MDtwYXJzZShlLGEscil7c3dpdGNoKGEpe2Nhc2UiayI6cmV0dXJuIFh0KHRhLmhvdXIyNGgsZSk7Y2FzZSJrbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJob3VyIn0pO2RlZmF1bHQ6cmV0dXJuIER0KGEubGVuZ3RoLGUpfX12YWxpZGF0ZShlLGEpe3JldHVybiBhPj0xJiZhPD0yNH1zZXQoZSxhLHIpe2xldCBzPXI8PTI0P3IlMjQ6cjtyZXR1cm4gZS5zZXRIb3VycyhzLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bImEiLCJiIiwiaCIsIkgiLCJLIiwidCIsIlQiXX19KTt2YXIgWVYsaFplPWMoKCk9PnticigpO29hKCk7bWEoKTtZVj1jbGFzcyBleHRlbmRzIHJ0e3N0YXRpY3tpKHRoaXMsIk1pbnV0ZVBhcnNlciIpfXByaW9yaXR5PTYwO3BhcnNlKGUsYSxyKXtzd2l0Y2goYSl7Y2FzZSJtIjpyZXR1cm4gWHQodGEubWludXRlLGUpO2Nhc2UibW8iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoibWludXRlIn0pO2RlZmF1bHQ6cmV0dXJuIER0KGEubGVuZ3RoLGUpfX12YWxpZGF0ZShlLGEpe3JldHVybiBhPj0wJiZhPD01OX1zZXQoZSxhLHIpe3JldHVybiBlLnNldE1pbnV0ZXMociwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsidCIsIlQiXX19KTt2YXIgWlYsbVplPWMoKCk9PnticigpO29hKCk7bWEoKTtaVj1jbGFzcyBleHRlbmRzIHJ0e3N0YXRpY3tpKHRoaXMsIlNlY29uZFBhcnNlciIpfXByaW9yaXR5PTUwO3BhcnNlKGUsYSxyKXtzd2l0Y2goYSl7Y2FzZSJzIjpyZXR1cm4gWHQodGEuc2Vjb25kLGUpO2Nhc2Uic28iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoic2Vjb25kIn0pO2RlZmF1bHQ6cmV0dXJuIER0KGEubGVuZ3RoLGUpfX12YWxpZGF0ZShlLGEpe3JldHVybiBhPj0wJiZhPD01OX1zZXQoZSxhLHIpe3JldHVybiBlLnNldFNlY29uZHMociwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bInQiLCJUIl19fSk7dmFyIFhWLGdaZT1jKCgpPT57b2EoKTttYSgpO1hWPWNsYXNzIGV4dGVuZHMgcnR7c3RhdGlje2kodGhpcywiRnJhY3Rpb25PZlNlY29uZFBhcnNlciIpfXByaW9yaXR5PTMwO3BhcnNlKGUsYSl7bGV0IHI9aShzPT5NYXRoLnRydW5jKHMqTWF0aC5wb3coMTAsLWEubGVuZ3RoKzMpKSwidmFsdWVDYWxsYmFjayIpO3JldHVybiB5YShEdChhLmxlbmd0aCxlKSxyKX1zZXQoZSxhLHIpe3JldHVybiBlLnNldE1pbGxpc2Vjb25kcyhyKSxlfWluY29tcGF0aWJsZVRva2Vucz1bInQiLCJUIl19fSk7dmFyIEtWLGJaZT1jKCgpPT57bXQoKTtVMigpO2JyKCk7b2EoKTttYSgpO0tWPWNsYXNzIGV4dGVuZHMgcnR7c3RhdGlje2kodGhpcywiSVNPVGltZXpvbmVXaXRoWlBhcnNlciIpfXByaW9yaXR5PTEwO3BhcnNlKGUsYSl7c3dpdGNoKGEpe2Nhc2UiWCI6cmV0dXJuIElpKEVpLmJhc2ljT3B0aW9uYWxNaW51dGVzLGUpO2Nhc2UiWFgiOnJldHVybiBJaShFaS5iYXNpYyxlKTtjYXNlIlhYWFgiOnJldHVybiBJaShFaS5iYXNpY09wdGlvbmFsU2Vjb25kcyxlKTtjYXNlIlhYWFhYIjpyZXR1cm4gSWkoRWkuZXh0ZW5kZWRPcHRpb25hbFNlY29uZHMsZSk7ZGVmYXVsdDpyZXR1cm4gSWkoRWkuZXh0ZW5kZWQsZSl9fXNldChlLGEscil7cmV0dXJuIGEudGltZXN0YW1wSXNTZXQ/ZTpJZShlLGUuZ2V0VGltZSgpLUphKGUpLXIpfWluY29tcGF0aWJsZVRva2Vucz1bInQiLCJUIiwieCJdfX0pO3ZhciBRVix2WmU9YygoKT0+e210KCk7VTIoKTticigpO29hKCk7bWEoKTtRVj1jbGFzcyBleHRlbmRzIHJ0e3N0YXRpY3tpKHRoaXMsIklTT1RpbWV6b25lUGFyc2VyIil9cHJpb3JpdHk9MTA7cGFyc2UoZSxhKXtzd2l0Y2goYSl7Y2FzZSJ4IjpyZXR1cm4gSWkoRWkuYmFzaWNPcHRpb25hbE1pbnV0ZXMsZSk7Y2FzZSJ4eCI6cmV0dXJuIElpKEVpLmJhc2ljLGUpO2Nhc2UieHh4eCI6cmV0dXJuIElpKEVpLmJhc2ljT3B0aW9uYWxTZWNvbmRzLGUpO2Nhc2UieHh4eHgiOnJldHVybiBJaShFaS5leHRlbmRlZE9wdGlvbmFsU2Vjb25kcyxlKTtkZWZhdWx0OnJldHVybiBJaShFaS5leHRlbmRlZCxlKX19c2V0KGUsYSxyKXtyZXR1cm4gYS50aW1lc3RhbXBJc1NldD9lOkllKGUsZS5nZXRUaW1lKCktSmEoZSktcil9aW5jb21wYXRpYmxlVG9rZW5zPVsidCIsIlQiLCJYIl19fSk7dmFyIEpWLHhaZT1jKCgpPT57bXQoKTtvYSgpO21hKCk7SlY9Y2xhc3MgZXh0ZW5kcyBydHtzdGF0aWN7aSh0aGlzLCJUaW1lc3RhbXBTZWNvbmRzUGFyc2VyIil9cHJpb3JpdHk9NDA7cGFyc2UoZSl7cmV0dXJuIHhWKGUpfXNldChlLGEscil7cmV0dXJuW0llKGUscioxZTMpLHt0aW1lc3RhbXBJc1NldDohMH1dfWluY29tcGF0aWJsZVRva2Vucz0iKiJ9fSk7dmFyIGVqLHlaZT1jKCgpPT57bXQoKTtvYSgpO21hKCk7ZWo9Y2xhc3MgZXh0ZW5kcyBydHtzdGF0aWN7aSh0aGlzLCJUaW1lc3RhbXBNaWxsaXNlY29uZHNQYXJzZXIiKX1wcmlvcml0eT0yMDtwYXJzZShlKXtyZXR1cm4geFYoZSl9c2V0KGUsYSxyKXtyZXR1cm5bSWUoZSxyKSx7dGltZXN0YW1wSXNTZXQ6ITB9XX1pbmNvbXBhdGlibGVUb2tlbnM9IioifX0pO3ZhciB0aix3WmU9YygoKT0+e2pZZSgpO1VZZSgpO1dZZSgpO0dZZSgpO1lZZSgpO1pZZSgpO1hZZSgpO0tZZSgpO1FZZSgpO0pZZSgpO2VaZSgpO3RaZSgpO2FaZSgpO3JaZSgpO2laZSgpO3NaZSgpO29aZSgpO25aZSgpO2xaZSgpO2NaZSgpO2RaZSgpO3BaZSgpO3VaZSgpO2ZaZSgpO2haZSgpO21aZSgpO2daZSgpO2JaZSgpO3ZaZSgpO3haZSgpO3laZSgpO3RqPXtHOm5ldyB2Vix5Om5ldyBNVixZOm5ldyBrVixSOm5ldyB6Vix1Om5ldyBTVixROm5ldyBDVixxOm5ldyBfVixNOm5ldyBUVixMOm5ldyBMVix3Om5ldyBEVixJOm5ldyBQVixkOm5ldyBFVixEOm5ldyBJVixFOm5ldyBOVixlOm5ldyBSVixjOm5ldyBGVixpOm5ldyBCVixhOm5ldyBIVixiOm5ldyBxVixCOm5ldyBWVixoOm5ldyBqVixIOm5ldyBVVixLOm5ldyBXVixrOm5ldyBHVixtOm5ldyBZVixzOm5ldyBaVixTOm5ldyBYVixYOm5ldyBLVix4Om5ldyBRVix0Om5ldyBKVixUOm5ldyBlan19KTtmdW5jdGlvbiBhaih0LGUsYSxyKXtsZXQgcz1pKCgpPT5JZShyPy5pbnx8YSxOYU4pLCJpbnZhbGlkRGF0ZSIpLG49cFYoKSxvPXI/LmxvY2FsZT8/bi5sb2NhbGU/P2VpLGw9cj8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9yPy5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/bi5maXJzdFdlZWtDb250YWluc0RhdGU/P24ubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/PzEsaD1yPy53ZWVrU3RhcnRzT24/P3I/LmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz9uLndlZWtTdGFydHNPbj8/bi5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/MDtpZighZSlyZXR1cm4gdD9zKCk6YmUoYSxyPy5pbik7bGV0IHU9e2ZpcnN0V2Vla0NvbnRhaW5zRGF0ZTpsLHdlZWtTdGFydHNPbjpoLGxvY2FsZTpvfSxmPVtuZXcgYlYocj8uaW4sYSldLHA9ZS5tYXRjaChabmEpLm1hcChtPT57bGV0IHk9bVswXTtpZih5IGluIHduKXtsZXQgTT13blt5XTtyZXR1cm4gTShtLG8uZm9ybWF0TG9uZyl9cmV0dXJuIG19KS5qb2luKCIiKS5tYXRjaChZbmEpLGc9W107Zm9yKGxldCBtIG9mIHApeyFyPy51c2VBZGRpdGlvbmFsV2Vla1llYXJUb2tlbnMmJnNWKG0pJiZjdShtLGUsdCksIXI/LnVzZUFkZGl0aW9uYWxEYXlPZlllYXJUb2tlbnMmJmlWKG0pJiZjdShtLGUsdCk7bGV0IHk9bVswXSxNPXRqW3ldO2lmKE0pe2xldHtpbmNvbXBhdGlibGVUb2tlbnM6a309TTtpZihBcnJheS5pc0FycmF5KGspKXtsZXQgXz1nLmZpbmQoQz0+ay5pbmNsdWRlcyhDLnRva2VuKXx8Qy50b2tlbj09PXkpO2lmKF8pdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFRoZSBmb3JtYXQgc3RyaW5nIG11c3RuJ3QgY29udGFpbiBcYCR7Xy5mdWxsVG9rZW59XGAgYW5kIFxgJHttfVxgIGF0IHRoZSBzYW1lIHRpbWVgKX1lbHNlIGlmKE0uaW5jb21wYXRpYmxlVG9rZW5zPT09IioiJiZnLmxlbmd0aD4wKXRocm93IG5ldyBSYW5nZUVycm9yKGBUaGUgZm9ybWF0IHN0cmluZyBtdXN0bid0IGNvbnRhaW4gXGAke219XGAgYW5kIGFueSBvdGhlciB0b2tlbiBhdCB0aGUgc2FtZSB0aW1lYCk7Zy5wdXNoKHt0b2tlbjp5LGZ1bGxUb2tlbjptfSk7bGV0IEU9TS5ydW4odCxtLG8ubWF0Y2gsdSk7aWYoIUUpcmV0dXJuIHMoKTtmLnB1c2goRS5zZXR0ZXIpLHQ9RS5yZXN0fWVsc2V7aWYoeS5tYXRjaChKbmEpKXRocm93IG5ldyBSYW5nZUVycm9yKCJGb3JtYXQgc3RyaW5nIGNvbnRhaW5zIGFuIHVuZXNjYXBlZCBsYXRpbiBhbHBoYWJldCBjaGFyYWN0ZXIgYCIreSsiYCIpO2lmKG09PT0iJyciP209IiciOnk9PT0iJyImJihtPWVsYShtKSksdC5pbmRleE9mKG0pPT09MCl0PXQuc2xpY2UobS5sZW5ndGgpO2Vsc2UgcmV0dXJuIHMoKX19aWYodC5sZW5ndGg+MCYmUW5hLnRlc3QodCkpcmV0dXJuIHMoKTtsZXQgdj1mLm1hcChtPT5tLnByaW9yaXR5KS5zb3J0KChtLHkpPT55LW0pLmZpbHRlcigobSx5LE0pPT5NLmluZGV4T2YobSk9PT15KS5tYXAobT0+Zi5maWx0ZXIoeT0+eS5wcmlvcml0eT09PW0pLnNvcnQoKHksTSk9Pk0uc3ViUHJpb3JpdHkteS5zdWJQcmlvcml0eSkpLm1hcChtPT5tWzBdKSx4PWJlKGEscj8uaW4pO2lmKGlzTmFOKCt4KSlyZXR1cm4gcygpO2xldCBiPXt9O2ZvcihsZXQgbSBvZiB2KXtpZighbS52YWxpZGF0ZSh4LHUpKXJldHVybiBzKCk7bGV0IHk9bS5zZXQoeCxiLHUpO0FycmF5LmlzQXJyYXkoeSk/KHg9eVswXSxPYmplY3QuYXNzaWduKGIseVsxXSkpOng9eX1yZXR1cm4geH1mdW5jdGlvbiBlbGEodCl7cmV0dXJuIHQubWF0Y2goWG5hKVsxXS5yZXBsYWNlKEtuYSwiJyIpfXZhciBZbmEsWm5hLFhuYSxLbmEsUW5hLEpuYSxGcjEsTmVlPWMoKCk9PntqbCgpO3llZSgpO3dlZSgpO210KCk7VGVlKCk7UmUoKTtBZWUoKTt3WmUoKTtZbmE9L1t5WVFxTUx3SWREZWNpaEhLa21zXW98KFx3KVwxKnwnJ3wnKCcnfFteJ10pKygnfCQpfC4vZyxabmE9L1ArcCt8UCt8cCt8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2csWG5hPS9eJyhbXl0qPyknPyQvLEtuYT0vJycvZyxRbmE9L1xTLyxKbmE9L1thLXpBLVpdLztpKGFqLCJwYXJzZSIpO2koZWxhLCJjbGVhbkVzY2FwZWRTdHJpbmciKTtGcjE9YWp9KTtmdW5jdGlvbiBNWmUodCxlLGEpe3JldHVybiBRMShhaih0LGUsbmV3IERhdGUsYSkpfXZhciBWcjEsa1plPWMoKCk9PntHMigpO05lZSgpO2koTVplLCJpc01hdGNoIik7VnIxPU1aZX0pO2Z1bmN0aW9uIHpaZSh0LGUpe3JldHVybiBiZSh0LGU/LmluKS5nZXREYXkoKT09PTF9dmFyIEdyMSxTWmU9YygoKT0+e1JlKCk7aSh6WmUsImlzTW9uZGF5Iik7R3IxPXpaZX0pO2Z1bmN0aW9uIENaZSh0KXtyZXR1cm4rYmUodCk8RGF0ZS5ub3coKX12YXIgS3IxLF9aZT1jKCgpPT57UmUoKTtpKENaZSwiaXNQYXN0Iik7S3IxPUNaZX0pO2Z1bmN0aW9uIGZ1KHQsZSl7bGV0IGE9YmUodCxlPy5pbik7cmV0dXJuIGEuc2V0TWludXRlcygwLDAsMCksYX12YXIgdGkxLFJlZT1jKCgpPT57UmUoKTtpKGZ1LCJzdGFydE9mSG91ciIpO3RpMT1mdX0pO2Z1bmN0aW9uIHJqKHQsZSxhKXtsZXRbcixzXT1kdChhPy5pbix0LGUpO3JldHVybitmdShyKT09K2Z1KHMpfXZhciBvaTEsRmVlPWMoKCk9Pnt4YSgpO1JlZSgpO2kocmosImlzU2FtZUhvdXIiKTtvaTE9cmp9KTtmdW5jdGlvbiBUNSh0LGUsYSl7bGV0W3Isc109ZHQoYT8uaW4sdCxlKTtyZXR1cm4rQ2EocixhKT09K0NhKHMsYSl9dmFyIHBpMSxpaj1jKCgpPT57eGEoKTtkcygpO2koVDUsImlzU2FtZVdlZWsiKTtwaTE9VDV9KTtmdW5jdGlvbiBzaih0LGUsYSl7cmV0dXJuIFQ1KHQsZSx7Li4uYSx3ZWVrU3RhcnRzT246MX0pfXZhciBtaTEsT2VlPWMoKCk9PntpaigpO2koc2osImlzU2FtZUlTT1dlZWsiKTttaTE9c2p9KTtmdW5jdGlvbiBUWmUodCxlLGEpe2xldFtyLHNdPWR0KGE/LmluLHQsZSk7cmV0dXJuK3BpKHIpPT0rcGkocyl9dmFyIHlpMSxMWmU9YygoKT0+e2Q1KCk7eGEoKTtpKFRaZSwiaXNTYW1lSVNPV2Vla1llYXIiKTt5aTE9VFplfSk7ZnVuY3Rpb24gaHUodCxlKXtsZXQgYT1iZSh0LGU/LmluKTtyZXR1cm4gYS5zZXRTZWNvbmRzKDAsMCksYX12YXIgemkxLEJlZT1jKCgpPT57UmUoKTtpKGh1LCJzdGFydE9mTWludXRlIik7emkxPWh1fSk7ZnVuY3Rpb24gb2oodCxlKXtyZXR1cm4raHUodCk9PStodShlKX12YXIgVGkxLEhlZT1jKCgpPT57QmVlKCk7aShvaiwiaXNTYW1lTWludXRlIik7VGkxPW9qfSk7ZnVuY3Rpb24gbmoodCxlLGEpe2xldFtyLHNdPWR0KGE/LmluLHQsZSk7cmV0dXJuIHIuZ2V0RnVsbFllYXIoKT09PXMuZ2V0RnVsbFllYXIoKSYmci5nZXRNb250aCgpPT09cy5nZXRNb250aCgpfXZhciBBaTEscWVlPWMoKCk9Pnt4YSgpO2kobmosImlzU2FtZU1vbnRoIik7QWkxPW5qfSk7ZnVuY3Rpb24gbGoodCxlLGEpe2xldFtyLHNdPWR0KGE/LmluLHQsZSk7cmV0dXJuK2MyKHIpPT0rYzIocyl9dmFyIFJpMSxWZWU9YygoKT0+e3hhKCk7WXEoKTtpKGxqLCJpc1NhbWVRdWFydGVyIik7UmkxPWxqfSk7ZnVuY3Rpb24gbXUodCxlKXtsZXQgYT1iZSh0LGU/LmluKTtyZXR1cm4gYS5zZXRNaWxsaXNlY29uZHMoMCksYX12YXIgSGkxLGplZT1jKCgpPT57UmUoKTtpKG11LCJzdGFydE9mU2Vjb25kIik7SGkxPW11fSk7ZnVuY3Rpb24gY2oodCxlKXtyZXR1cm4rbXUodCk9PSttdShlKX12YXIgVWkxLFVlZT1jKCgpPT57amVlKCk7aShjaiwiaXNTYW1lU2Vjb25kIik7VWkxPWNqfSk7ZnVuY3Rpb24gZGoodCxlLGEpe2xldFtyLHNdPWR0KGE/LmluLHQsZSk7cmV0dXJuIHIuZ2V0RnVsbFllYXIoKT09PXMuZ2V0RnVsbFllYXIoKX12YXIgWmkxLFdlZT1jKCgpPT57eGEoKTtpKGRqLCJpc1NhbWVZZWFyIik7WmkxPWRqfSk7ZnVuY3Rpb24gJFplKHQsZSl7cmV0dXJuIHJqKGJlKHQsZT8uaW4pLEh0KGU/LmlufHx0KSl9dmFyIHRzMSxEWmU9YygoKT0+e18xKCk7RmVlKCk7UmUoKTtpKCRaZSwiaXNUaGlzSG91ciIpO3RzMT0kWmV9KTtmdW5jdGlvbiBBWmUodCxlKXtyZXR1cm4gc2ooSWUoZT8uaW58fHQsdCksSHQoZT8uaW58fHQpKX12YXIgbnMxLFBaZT1jKCgpPT57bXQoKTtfMSgpO09lZSgpO2koQVplLCJpc1RoaXNJU09XZWVrIik7bnMxPUFaZX0pO2Z1bmN0aW9uIEVaZSh0KXtyZXR1cm4gb2oodCxIdCh0KSl9dmFyIHVzMSxJWmU9YygoKT0+e18xKCk7SGVlKCk7aShFWmUsImlzVGhpc01pbnV0ZSIpO3VzMT1FWmV9KTtmdW5jdGlvbiBOWmUodCxlKXtyZXR1cm4gbmooSWUoZT8uaW58fHQsdCksSHQoZT8uaW58fHQpKX12YXIgdnMxLFJaZT1jKCgpPT57bXQoKTtfMSgpO3FlZSgpO2koTlplLCJpc1RoaXNNb250aCIpO3ZzMT1OWmV9KTtmdW5jdGlvbiBGWmUodCxlKXtyZXR1cm4gbGooSWUoZT8uaW58fHQsdCksSHQoZT8uaW58fHQpKX12YXIgenMxLE9aZT1jKCgpPT57bXQoKTtfMSgpO1ZlZSgpO2koRlplLCJpc1RoaXNRdWFydGVyIik7enMxPUZaZX0pO2Z1bmN0aW9uIEJaZSh0KXtyZXR1cm4gY2oodCxIdCh0KSl9dmFyIExzMSxIWmU9YygoKT0+e18xKCk7VWVlKCk7aShCWmUsImlzVGhpc1NlY29uZCIpO0xzMT1CWmV9KTtmdW5jdGlvbiBxWmUodCxlKXtyZXR1cm4gVDUoSWUoZT8uaW58fHQsdCksSHQoZT8uaW58fHQpLGUpfXZhciBJczEsVlplPWMoKCk9PnttdCgpO18xKCk7aWooKTtpKHFaZSwiaXNUaGlzV2VlayIpO0lzMT1xWmV9KTtmdW5jdGlvbiBqWmUodCxlKXtyZXR1cm4gZGooSWUoZT8uaW58fHQsdCksSHQoZT8uaW58fHQpKX12YXIgSHMxLFVaZT1jKCgpPT57bXQoKTtfMSgpO1dlZSgpO2koalplLCJpc1RoaXNZZWFyIik7SHMxPWpaZX0pO2Z1bmN0aW9uIFdaZSh0LGUpe3JldHVybiBiZSh0LGU/LmluKS5nZXREYXkoKT09PTR9dmFyIFVzMSxHWmU9YygoKT0+e1JlKCk7aShXWmUsImlzVGh1cnNkYXkiKTtVczE9V1plfSk7ZnVuY3Rpb24gWVplKHQsZSl7cmV0dXJuIG8yKEllKGU/LmlufHx0LHQpLEh0KGU/LmlufHx0KSl9dmFyIEtzMSxaWmU9YygoKT0+e210KCk7XzEoKTtmNSgpO2koWVplLCJpc1RvZGF5Iik7S3MxPVlaZX0pO2Z1bmN0aW9uIFhaZSh0LGUpe3JldHVybiBvMih0LEMxKEh0KGU/LmlufHx0KSwxKSxlKX12YXIgcjIxLEtaZT1jKCgpPT57dDIoKTtfMSgpO2Y1KCk7aShYWmUsImlzVG9tb3Jyb3ciKTtyMjE9WFplfSk7ZnVuY3Rpb24gUVplKHQsZSl7cmV0dXJuIGJlKHQsZT8uaW4pLmdldERheSgpPT09Mn12YXIgbjIxLEpaZT1jKCgpPT57UmUoKTtpKFFaZSwiaXNUdWVzZGF5Iik7bjIxPVFaZX0pO2Z1bmN0aW9uIGVYZSh0LGUpe3JldHVybiBiZSh0LGU/LmluKS5nZXREYXkoKT09PTN9dmFyIHAyMSx0WGU9YygoKT0+e1JlKCk7aShlWGUsImlzV2VkbmVzZGF5Iik7cDIxPWVYZX0pO2Z1bmN0aW9uIGFYZSh0LGUsYSl7bGV0IHI9K2JlKHQsYT8uaW4pLFtzLG5dPVsrYmUoZS5zdGFydCxhPy5pbiksK2JlKGUuZW5kLGE/LmluKV0uc29ydCgobyxsKT0+by1sKTtyZXR1cm4gcj49cyYmcjw9bn12YXIgbTIxLHJYZT1jKCgpPT57UmUoKTtpKGFYZSwiaXNXaXRoaW5JbnRlcnZhbCIpO20yMT1hWGV9KTtmdW5jdGlvbiB6bih0LGUsYSl7cmV0dXJuIEMxKHQsLWUsYSl9dmFyIHgyMSxndT1jKCgpPT57dDIoKTtpKHpuLCJzdWJEYXlzIik7eDIxPXpufSk7ZnVuY3Rpb24gaVhlKHQsZSl7cmV0dXJuIG8yKEllKGU/LmlufHx0LHQpLHpuKEh0KGU/LmlufHx0KSwxKSl9dmFyIEMyMSxzWGU9YygoKT0+e210KCk7XzEoKTtmNSgpO2d1KCk7aShpWGUsImlzWWVzdGVyZGF5Iik7QzIxPWlYZX0pO2Z1bmN0aW9uIG9YZSh0LGUpe2xldCBhPWJlKHQsZT8uaW4pLHI9YS5nZXRGdWxsWWVhcigpLHM9OStNYXRoLmZsb29yKHIvMTApKjEwO3JldHVybiBhLnNldEZ1bGxZZWFyKHMrMSwwLDApLGEuc2V0SG91cnMoMCwwLDAsMCksYmUoYSxlPy5pbil9dmFyICQyMSxuWGU9YygoKT0+e1JlKCk7aShvWGUsImxhc3REYXlPZkRlY2FkZSIpOyQyMT1vWGV9KTtmdW5jdGlvbiBwaih0LGUpe2xldCBhPWhhKCkscj1lPy53ZWVrU3RhcnRzT24/P2U/LmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz9hLndlZWtTdGFydHNPbj8/YS5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/MCxzPWJlKHQsZT8uaW4pLG49cy5nZXREYXkoKSxvPShuPHI/LTc6MCkrNi0obi1yKTtyZXR1cm4gcy5zZXRIb3VycygwLDAsMCwwKSxzLnNldERhdGUocy5nZXREYXRlKCkrbyksc312YXIgSTIxLEdlZT1jKCgpPT57aHIoKTtSZSgpO2kocGosImxhc3REYXlPZldlZWsiKTtJMjE9cGp9KTtmdW5jdGlvbiBsWGUodCxlKXtyZXR1cm4gcGoodCx7Li4uZSx3ZWVrU3RhcnRzT246MX0pfXZhciBPMjEsY1hlPWMoKCk9PntHZWUoKTtpKGxYZSwibGFzdERheU9mSVNPV2VlayIpO08yMT1sWGV9KTtmdW5jdGlvbiBkWGUodCxlKXtsZXQgYT1Qcih0LGUpLHI9SWUoZT8uaW58fHQsMCk7ci5zZXRGdWxsWWVhcihhKzEsMCw0KSxyLnNldEhvdXJzKDAsMCwwLDApO2xldCBzPWgxKHIsZSk7cmV0dXJuIHMuc2V0RGF0ZShzLmdldERhdGUoKS0xKSxzfXZhciBVMjEscFhlPWMoKCk9PnttdCgpO21uKCk7aTIoKTtpKGRYZSwibGFzdERheU9mSVNPV2Vla1llYXIiKTtVMjE9ZFhlfSk7ZnVuY3Rpb24gdVhlKHQsZSl7bGV0IGE9YmUodCxlPy5pbikscj1hLmdldE1vbnRoKCkscz1yLXIlMyszO3JldHVybiBhLnNldE1vbnRoKHMsMCksYS5zZXRIb3VycygwLDAsMCwwKSxhfXZhciBaMjEsZlhlPWMoKCk9PntSZSgpO2kodVhlLCJsYXN0RGF5T2ZRdWFydGVyIik7WjIxPXVYZX0pO2Z1bmN0aW9uIGhYZSh0LGUpe2xldCBhPWJlKHQsZT8uaW4pLHI9YS5nZXRGdWxsWWVhcigpO3JldHVybiBhLnNldEZ1bGxZZWFyKHIrMSwwLDApLGEuc2V0SG91cnMoMCwwLDAsMCksYX12YXIgSjIxLG1YZT1jKCgpPT57UmUoKTtpKGhYZSwibGFzdERheU9mWWVhciIpO0oyMT1oWGV9KTtmdW5jdGlvbiBnWGUodCxlKXtsZXQgYT1iZSh0KTtpZighUTEoYSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgdGltZSB2YWx1ZSIpO2xldCByPWUubWF0Y2godGxhKTtyZXR1cm4gcj9yLm1hcChuPT57aWYobj09PSInJyIpcmV0dXJuIiciO2xldCBvPW5bMF07aWYobz09PSInIilyZXR1cm4gc2xhKG4pO2xldCBsPXVpW29dO2lmKGwpcmV0dXJuIGwoYSxuKTtpZihvLm1hdGNoKGlsYSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkZvcm1hdCBzdHJpbmcgY29udGFpbnMgYW4gdW5lc2NhcGVkIGxhdGluIGFscGhhYmV0IGNoYXJhY3RlciBgIitvKyJgIik7cmV0dXJuIG59KS5qb2luKCIiKToiIn1mdW5jdGlvbiBzbGEodCl7bGV0IGU9dC5tYXRjaChhbGEpO3JldHVybiBlP2VbMV0ucmVwbGFjZShybGEsIiciKTp0fXZhciB0bGEsYWxhLHJsYSxpbGEsc28xLGJYZT1jKCgpPT57eGVlKCk7RzIoKTtSZSgpO3RsYT0vKFx3KVwxKnwnJ3wnKCcnfFteJ10pKygnfCQpfC4vZyxhbGE9L14nKFteXSo/KSc/JC8scmxhPS8nJy9nLGlsYT0vW2EtekEtWl0vO2koZ1hlLCJsaWdodEZvcm1hdCIpO2koc2xhLCJjbGVhbkVzY2FwZWRTdHJpbmciKTtzbzE9Z1hlfSk7ZnVuY3Rpb24gdlhlKHt5ZWFyczp0LG1vbnRoczplLHdlZWtzOmEsZGF5czpyLGhvdXJzOnMsbWludXRlczpuLHNlY29uZHM6b30pe2xldCBsPTA7dCYmKGwrPXQqMzY1LjI0MjUpLGUmJihsKz1lKigzNjUuMjQyNS8xMikpLGEmJihsKz1hKjcpLHImJihsKz1yKTtsZXQgaD1sKjI0KjYwKjYwO3JldHVybiBzJiYoaCs9cyo2MCo2MCksbiYmKGgrPW4qNjApLG8mJihoKz1vKSxNYXRoLnRydW5jKGgqMWUzKX12YXIgY28xLHhYZT1jKCgpPT57UHQoKTtpKHZYZSwibWlsbGlzZWNvbmRzIik7Y28xPXZYZX0pO2Z1bmN0aW9uIHlYZSh0KXtsZXQgZT10L2RpO3JldHVybiBNYXRoLnRydW5jKGUpfXZhciBmbzEsd1hlPWMoKCk9PntQdCgpO2koeVhlLCJtaWxsaXNlY29uZHNUb0hvdXJzIik7Zm8xPXlYZX0pO2Z1bmN0aW9uIE1YZSh0KXtsZXQgZT10L2ZyO3JldHVybiBNYXRoLnRydW5jKGUpfXZhciBibzEsa1hlPWMoKCk9PntQdCgpO2koTVhlLCJtaWxsaXNlY29uZHNUb01pbnV0ZXMiKTtibzE9TVhlfSk7ZnVuY3Rpb24gelhlKHQpe2xldCBlPXQvbzU7cmV0dXJuIE1hdGgudHJ1bmMoZSl9dmFyIHdvMSxTWGU9YygoKT0+e1B0KCk7aSh6WGUsIm1pbGxpc2Vjb25kc1RvU2Vjb25kcyIpO3dvMT16WGV9KTtmdW5jdGlvbiBDWGUodCl7bGV0IGU9dC9ncTtyZXR1cm4gTWF0aC50cnVuYyhlKX12YXIgU28xLF9YZT1jKCgpPT57UHQoKTtpKENYZSwibWludXRlc1RvSG91cnMiKTtTbzE9Q1hlfSk7ZnVuY3Rpb24gVFhlKHQpe3JldHVybiBNYXRoLnRydW5jKHQqZnIpfXZhciBMbzEsTFhlPWMoKCk9PntQdCgpO2koVFhlLCJtaW51dGVzVG9NaWxsaXNlY29uZHMiKTtMbzE9VFhlfSk7ZnVuY3Rpb24gJFhlKHQpe3JldHVybiBNYXRoLnRydW5jKHQqbDUpfXZhciBQbzEsRFhlPWMoKCk9PntQdCgpO2koJFhlLCJtaW51dGVzVG9TZWNvbmRzIik7UG8xPSRYZX0pO2Z1bmN0aW9uIEFYZSh0KXtsZXQgZT10L2JxO3JldHVybiBNYXRoLnRydW5jKGUpfXZhciBSbzEsUFhlPWMoKCk9PntQdCgpO2koQVhlLCJtb250aHNUb1F1YXJ0ZXJzIik7Um8xPUFYZX0pO2Z1bmN0aW9uIEVYZSh0KXtsZXQgZT10L3ZxO3JldHVybiBNYXRoLnRydW5jKGUpfXZhciBIbzEsSVhlPWMoKCk9PntQdCgpO2koRVhlLCJtb250aHNUb1llYXJzIik7SG8xPUVYZX0pO2Z1bmN0aW9uIHZyKHQsZSxhKXtsZXQgcj1lLU1uKHQsYSk7cmV0dXJuIHI8PTAmJihyKz03KSxDMSh0LHIsYSl9dmFyIFdvMSxaMj1jKCgpPT57dDIoKTtwdSgpO2kodnIsIm5leHREYXkiKTtXbzE9dnJ9KTtmdW5jdGlvbiBOWGUodCxlKXtyZXR1cm4gdnIodCw1LGUpfXZhciBYbzEsUlhlPWMoKCk9PntaMigpO2koTlhlLCJuZXh0RnJpZGF5Iik7WG8xPU5YZX0pO2Z1bmN0aW9uIEZYZSh0LGUpe3JldHVybiB2cih0LDEsZSl9dmFyIGVuMSxPWGU9YygoKT0+e1oyKCk7aShGWGUsIm5leHRNb25kYXkiKTtlbjE9RlhlfSk7ZnVuY3Rpb24gQlhlKHQsZSl7cmV0dXJuIHZyKHQsNixlKX12YXIgaW4xLEhYZT1jKCgpPT57WjIoKTtpKEJYZSwibmV4dFNhdHVyZGF5Iik7aW4xPUJYZX0pO2Z1bmN0aW9uIHFYZSh0LGUpe3JldHVybiB2cih0LDAsZSl9dmFyIGxuMSxWWGU9YygoKT0+e1oyKCk7aShxWGUsIm5leHRTdW5kYXkiKTtsbjE9cVhlfSk7ZnVuY3Rpb24galhlKHQsZSl7cmV0dXJuIHZyKHQsNCxlKX12YXIgdW4xLFVYZT1jKCgpPT57WjIoKTtpKGpYZSwibmV4dFRodXJzZGF5Iik7dW4xPWpYZX0pO2Z1bmN0aW9uIFdYZSh0LGUpe3JldHVybiB2cih0LDIsZSl9dmFyIGduMSxHWGU9YygoKT0+e1oyKCk7aShXWGUsIm5leHRUdWVzZGF5Iik7Z24xPVdYZX0pO2Z1bmN0aW9uIFlYZSh0LGUpe3JldHVybiB2cih0LDMsZSl9dmFyIHluMSxaWGU9YygoKT0+e1oyKCk7aShZWGUsIm5leHRXZWRuZXNkYXkiKTt5bjE9WVhlfSk7ZnVuY3Rpb24gS1hlKHQsZSl7bGV0IGE9aSgoKT0+SWUoZT8uaW4sTmFOKSwiaW52YWxpZERhdGUiKSxyPWU/LmFkZGl0aW9uYWxEaWdpdHM/PzIscz1jbGEodCksbjtpZihzLmRhdGUpe2xldCB1PWRsYShzLmRhdGUscik7bj1wbGEodS5yZXN0RGF0ZVN0cmluZyx1LnllYXIpfWlmKCFufHxpc05hTigrbikpcmV0dXJuIGEoKTtsZXQgbz0rbixsPTAsaDtpZihzLnRpbWUmJihsPXVsYShzLnRpbWUpLGlzTmFOKGwpKSlyZXR1cm4gYSgpO2lmKHMudGltZXpvbmUpe2lmKGg9ZmxhKHMudGltZXpvbmUpLGlzTmFOKGgpKXJldHVybiBhKCl9ZWxzZXtsZXQgdT1uZXcgRGF0ZShvK2wpLGY9YmUoMCxlPy5pbik7cmV0dXJuIGYuc2V0RnVsbFllYXIodS5nZXRVVENGdWxsWWVhcigpLHUuZ2V0VVRDTW9udGgoKSx1LmdldFVUQ0RhdGUoKSksZi5zZXRIb3Vycyh1LmdldFVUQ0hvdXJzKCksdS5nZXRVVENNaW51dGVzKCksdS5nZXRVVENTZWNvbmRzKCksdS5nZXRVVENNaWxsaXNlY29uZHMoKSksZn1yZXR1cm4gYmUobytsK2gsZT8uaW4pfWZ1bmN0aW9uIGNsYSh0KXtsZXQgZT17fSxhPXQuc3BsaXQodWouZGF0ZVRpbWVEZWxpbWl0ZXIpLHI7aWYoYS5sZW5ndGg+MilyZXR1cm4gZTtpZigvOi8udGVzdChhWzBdKT9yPWFbMF06KGUuZGF0ZT1hWzBdLHI9YVsxXSx1ai50aW1lWm9uZURlbGltaXRlci50ZXN0KGUuZGF0ZSkmJihlLmRhdGU9dC5zcGxpdCh1ai50aW1lWm9uZURlbGltaXRlcilbMF0scj10LnN1YnN0cihlLmRhdGUubGVuZ3RoLHQubGVuZ3RoKSkpLHIpe2xldCBzPXVqLnRpbWV6b25lLmV4ZWMocik7cz8oZS50aW1lPXIucmVwbGFjZShzWzFdLCIiKSxlLnRpbWV6b25lPXNbMV0pOmUudGltZT1yfXJldHVybiBlfWZ1bmN0aW9uIGRsYSh0LGUpe2xldCBhPW5ldyBSZWdFeHAoIl4oPzooXFxkezR9fFsrLV1cXGR7IisoNCtlKSsifSl8KFxcZHsyfXxbKy1dXFxkeyIrKDIrZSkrIn0pJCkiKSxyPXQubWF0Y2goYSk7aWYoIXIpcmV0dXJue3llYXI6TmFOLHJlc3REYXRlU3RyaW5nOiIifTtsZXQgcz1yWzFdP3BhcnNlSW50KHJbMV0pOm51bGwsbj1yWzJdP3BhcnNlSW50KHJbMl0pOm51bGw7cmV0dXJue3llYXI6bj09PW51bGw/czpuKjEwMCxyZXN0RGF0ZVN0cmluZzp0LnNsaWNlKChyWzFdfHxyWzJdKS5sZW5ndGgpfX1mdW5jdGlvbiBwbGEodCxlKXtpZihlPT09bnVsbClyZXR1cm4gbmV3IERhdGUoTmFOKTtsZXQgYT10Lm1hdGNoKG9sYSk7aWYoIWEpcmV0dXJuIG5ldyBEYXRlKE5hTik7bGV0IHI9ISFhWzRdLHM9YnUoYVsxXSksbj1idShhWzJdKS0xLG89YnUoYVszXSksbD1idShhWzRdKSxoPWJ1KGFbNV0pLTE7aWYocilyZXR1cm4gdmxhKGUsbCxoKT9obGEoZSxsLGgpOm5ldyBEYXRlKE5hTik7e2xldCB1PW5ldyBEYXRlKDApO3JldHVybiFnbGEoZSxuLG8pfHwhYmxhKGUscyk/bmV3IERhdGUoTmFOKToodS5zZXRVVENGdWxsWWVhcihlLG4sTWF0aC5tYXgocyxvKSksdSl9fWZ1bmN0aW9uIGJ1KHQpe3JldHVybiB0P3BhcnNlSW50KHQpOjF9ZnVuY3Rpb24gdWxhKHQpe2xldCBlPXQubWF0Y2gobmxhKTtpZighZSlyZXR1cm4gTmFOO2xldCBhPVllZShlWzFdKSxyPVllZShlWzJdKSxzPVllZShlWzNdKTtyZXR1cm4geGxhKGEscixzKT9hKmRpK3IqZnIrcyoxZTM6TmFOfWZ1bmN0aW9uIFllZSh0KXtyZXR1cm4gdCYmcGFyc2VGbG9hdCh0LnJlcGxhY2UoIiwiLCIuIikpfHwwfWZ1bmN0aW9uIGZsYSh0KXtpZih0PT09IloiKXJldHVybiAwO2xldCBlPXQubWF0Y2gobGxhKTtpZighZSlyZXR1cm4gMDtsZXQgYT1lWzFdPT09IisiPy0xOjEscj1wYXJzZUludChlWzJdKSxzPWVbM10mJnBhcnNlSW50KGVbM10pfHwwO3JldHVybiB5bGEocixzKT9hKihyKmRpK3MqZnIpOk5hTn1mdW5jdGlvbiBobGEodCxlLGEpe2xldCByPW5ldyBEYXRlKDApO3Iuc2V0VVRDRnVsbFllYXIodCwwLDQpO2xldCBzPXIuZ2V0VVRDRGF5KCl8fDcsbj0oZS0xKSo3K2ErMS1zO3JldHVybiByLnNldFVUQ0RhdGUoci5nZXRVVENEYXRlKCkrbikscn1mdW5jdGlvbiBYWGUodCl7cmV0dXJuIHQlNDAwPT09MHx8dCU0PT09MCYmdCUxMDAhPT0wfWZ1bmN0aW9uIGdsYSh0LGUsYSl7cmV0dXJuIGU+PTAmJmU8PTExJiZhPj0xJiZhPD0obWxhW2VdfHwoWFhlKHQpPzI5OjI4KSl9ZnVuY3Rpb24gYmxhKHQsZSl7cmV0dXJuIGU+PTEmJmU8PShYWGUodCk/MzY2OjM2NSl9ZnVuY3Rpb24gdmxhKHQsZSxhKXtyZXR1cm4gZT49MSYmZTw9NTMmJmE+PTAmJmE8PTZ9ZnVuY3Rpb24geGxhKHQsZSxhKXtyZXR1cm4gdD09PTI0P2U9PT0wJiZhPT09MDphPj0wJiZhPDYwJiZlPj0wJiZlPDYwJiZ0Pj0wJiZ0PDI1fWZ1bmN0aW9uIHlsYSh0LGUpe3JldHVybiBlPj0wJiZlPD01OX12YXIgdWosb2xhLG5sYSxsbGEsbWxhLENuMSxRWGU9YygoKT0+e1B0KCk7bXQoKTtSZSgpO2koS1hlLCJwYXJzZUlTTyIpO3VqPXtkYXRlVGltZURlbGltaXRlcjovW1QgXS8sdGltZVpvbmVEZWxpbWl0ZXI6L1taIF0vaSx0aW1lem9uZTovKFtaKy1dLiopJC99LG9sYT0vXi0/KD86KFxkezN9KXwoXGR7Mn0pKD86LT8oXGR7Mn0pKT98VyhcZHsyfSkoPzotPyhcZHsxfSkpP3wpJC8sbmxhPS9eKFxkezJ9KD86Wy4sXVxkKik/KSg/Ojo/KFxkezJ9KD86Wy4sXVxkKik/KSk/KD86Oj8oXGR7Mn0oPzpbLixdXGQqKT8pKT8kLyxsbGE9L14oWystXSkoXGR7Mn0pKD86Oj8oXGR7Mn0pKT8kLztpKGNsYSwic3BsaXREYXRlU3RyaW5nIik7aShkbGEsInBhcnNlWWVhciIpO2kocGxhLCJwYXJzZURhdGUiKTtpKGJ1LCJwYXJzZURhdGVVbml0Iik7aSh1bGEsInBhcnNlVGltZSIpO2koWWVlLCJwYXJzZVRpbWVVbml0Iik7aShmbGEsInBhcnNlVGltZXpvbmUiKTtpKGhsYSwiZGF5T2ZJU09XZWVrWWVhciIpO21sYT1bMzEsbnVsbCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV07aShYWGUsImlzTGVhcFllYXJJbmRleCIpO2koZ2xhLCJ2YWxpZGF0ZURhdGUiKTtpKGJsYSwidmFsaWRhdGVEYXlPZlllYXJEYXRlIik7aSh2bGEsInZhbGlkYXRlV2Vla0RhdGUiKTtpKHhsYSwidmFsaWRhdGVUaW1lIik7aSh5bGEsInZhbGlkYXRlVGltZXpvbmUiKTtDbjE9S1hlfSk7ZnVuY3Rpb24gSlhlKHQsZSl7bGV0IGE9dC5tYXRjaCgvKFxkezR9KS0oXGR7Mn0pLShcZHsyfSlbVCBdKFxkezJ9KTooXGR7Mn0pOihcZHsyfSkoPzpcLihcZHswLDd9KSk/KD86WnwoLikoXGR7Mn0pOj8oXGR7Mn0pPyk/Lyk7cmV0dXJuIGE/YmUoRGF0ZS5VVEMoK2FbMV0sK2FbMl0tMSwrYVszXSwrYVs0XS0oK2FbOV18fDApKihhWzhdPT0iLSI/LTE6MSksK2FbNV0tKCthWzEwXXx8MCkqKGFbOF09PSItIj8tMToxKSwrYVs2XSwrKChhWzddfHwiMCIpKyIwMCIpLnN1YnN0cmluZygwLDMpKSxlPy5pbik6YmUoTmFOLGU/LmluKX12YXIgJG4xLGVLZT1jKCgpPT57UmUoKTtpKEpYZSwicGFyc2VKU09OIik7JG4xPUpYZX0pO2Z1bmN0aW9uIHhyKHQsZSxhKXtsZXQgcj1Nbih0LGEpLWU7cmV0dXJuIHI8PTAmJihyKz03KSx6bih0LHIsYSl9dmFyIEluMSxYMj1jKCgpPT57cHUoKTtndSgpO2koeHIsInByZXZpb3VzRGF5Iik7SW4xPXhyfSk7ZnVuY3Rpb24gdEtlKHQsZSl7cmV0dXJuIHhyKHQsNSxlKX12YXIgT24xLGFLZT1jKCgpPT57WDIoKTtpKHRLZSwicHJldmlvdXNGcmlkYXkiKTtPbjE9dEtlfSk7ZnVuY3Rpb24gcktlKHQsZSl7cmV0dXJuIHhyKHQsMSxlKX12YXIgVm4xLGlLZT1jKCgpPT57WDIoKTtpKHJLZSwicHJldmlvdXNNb25kYXkiKTtWbjE9cktlfSk7ZnVuY3Rpb24gc0tlKHQsZSl7cmV0dXJuIHhyKHQsNixlKX12YXIgR24xLG9LZT1jKCgpPT57WDIoKTtpKHNLZSwicHJldmlvdXNTYXR1cmRheSIpO0duMT1zS2V9KTtmdW5jdGlvbiBuS2UodCxlKXtyZXR1cm4geHIodCwwLGUpfXZhciBLbjEsbEtlPWMoKCk9PntYMigpO2kobktlLCJwcmV2aW91c1N1bmRheSIpO0tuMT1uS2V9KTtmdW5jdGlvbiBjS2UodCxlKXtyZXR1cm4geHIodCw0LGUpfXZhciB0bDEsZEtlPWMoKCk9PntYMigpO2koY0tlLCJwcmV2aW91c1RodXJzZGF5Iik7dGwxPWNLZX0pO2Z1bmN0aW9uIHBLZSh0LGUpe3JldHVybiB4cih0LDIsZSl9dmFyIHNsMSx1S2U9YygoKT0+e1gyKCk7aShwS2UsInByZXZpb3VzVHVlc2RheSIpO3NsMT1wS2V9KTtmdW5jdGlvbiBmS2UodCxlKXtyZXR1cm4geHIodCwzLGUpfXZhciBjbDEsaEtlPWMoKCk9PntYMigpO2koZktlLCJwcmV2aW91c1dlZG5lc2RheSIpO2NsMT1mS2V9KTtmdW5jdGlvbiBtS2UodCl7cmV0dXJuIE1hdGgudHJ1bmModCpicSl9dmFyIGZsMSxnS2U9YygoKT0+e1B0KCk7aShtS2UsInF1YXJ0ZXJzVG9Nb250aHMiKTtmbDE9bUtlfSk7ZnVuY3Rpb24gYktlKHQpe2xldCBlPXQveHE7cmV0dXJuIE1hdGgudHJ1bmMoZSl9dmFyIGJsMSx2S2U9YygoKT0+e1B0KCk7aShiS2UsInF1YXJ0ZXJzVG9ZZWFycyIpO2JsMT1iS2V9KTtmdW5jdGlvbiB4S2UodCxlKXtsZXQgYT1lPy5uZWFyZXN0VG8/PzE7aWYoYTwxfHxhPjEyKXJldHVybiBJZShlPy5pbnx8dCxOYU4pO2xldCByPWJlKHQsZT8uaW4pLHM9ci5nZXRNaW51dGVzKCkvNjAsbj1yLmdldFNlY29uZHMoKS82MC82MCxvPXIuZ2V0TWlsbGlzZWNvbmRzKCkvMWUzLzYwLzYwLGw9ci5nZXRIb3VycygpK3MrbitvLGg9ZT8ucm91bmRpbmdNZXRob2Q/PyJyb3VuZCIsZj1ncihoKShsL2EpKmE7cmV0dXJuIHIuc2V0SG91cnMoZiwwLDAsMCkscn12YXIga2wxLHlLZT1jKCgpPT57WTIoKTttdCgpO1JlKCk7aSh4S2UsInJvdW5kVG9OZWFyZXN0SG91cnMiKTtrbDE9eEtlfSk7ZnVuY3Rpb24gd0tlKHQsZSl7bGV0IGE9ZT8ubmVhcmVzdFRvPz8xO2lmKGE8MXx8YT4zMClyZXR1cm4gSWUodCxOYU4pO2xldCByPWJlKHQsZT8uaW4pLHM9ci5nZXRTZWNvbmRzKCkvNjAsbj1yLmdldE1pbGxpc2Vjb25kcygpLzFlMy82MCxvPXIuZ2V0TWludXRlcygpK3MrbixsPWU/LnJvdW5kaW5nTWV0aG9kPz8icm91bmQiLHU9Z3IobCkoby9hKSphO3JldHVybiByLnNldE1pbnV0ZXModSwwLDApLHJ9dmFyIExsMSxNS2U9YygoKT0+e1kyKCk7bXQoKTtSZSgpO2kod0tlLCJyb3VuZFRvTmVhcmVzdE1pbnV0ZXMiKTtMbDE9d0tlfSk7ZnVuY3Rpb24ga0tlKHQpe2xldCBlPXQvRmw7cmV0dXJuIE1hdGgudHJ1bmMoZSl9dmFyIFBsMSx6S2U9YygoKT0+e1B0KCk7aShrS2UsInNlY29uZHNUb0hvdXJzIik7UGwxPWtLZX0pO2Z1bmN0aW9uIFNLZSh0KXtyZXR1cm4gdCpvNX12YXIgUmwxLENLZT1jKCgpPT57UHQoKTtpKFNLZSwic2Vjb25kc1RvTWlsbGlzZWNvbmRzIik7UmwxPVNLZX0pO2Z1bmN0aW9uIF9LZSh0KXtsZXQgZT10L2w1O3JldHVybiBNYXRoLnRydW5jKGUpfXZhciBIbDEsVEtlPWMoKCk9PntQdCgpO2koX0tlLCJzZWNvbmRzVG9NaW51dGVzIik7SGwxPV9LZX0pO2Z1bmN0aW9uIEw1KHQsZSxhKXtsZXQgcj1iZSh0LGE/LmluKSxzPXIuZ2V0RnVsbFllYXIoKSxuPXIuZ2V0RGF0ZSgpLG89SWUoYT8uaW58fHQsMCk7by5zZXRGdWxsWWVhcihzLGUsMTUpLG8uc2V0SG91cnMoMCwwLDAsMCk7bGV0IGw9Y1Yobyk7cmV0dXJuIHIuc2V0TW9udGgoZSxNYXRoLm1pbihuLGwpKSxyfXZhciBHbDEsZmo9YygoKT0+e210KCk7Q2VlKCk7UmUoKTtpKEw1LCJzZXRNb250aCIpO0dsMT1MNX0pO2Z1bmN0aW9uIExLZSh0LGUsYSl7bGV0IHI9YmUodCxhPy5pbik7cmV0dXJuIGlzTmFOKCtyKT9JZShhPy5pbnx8dCxOYU4pOihlLnllYXIhPW51bGwmJnIuc2V0RnVsbFllYXIoZS55ZWFyKSxlLm1vbnRoIT1udWxsJiYocj1MNShyLGUubW9udGgpKSxlLmRhdGUhPW51bGwmJnIuc2V0RGF0ZShlLmRhdGUpLGUuaG91cnMhPW51bGwmJnIuc2V0SG91cnMoZS5ob3VycyksZS5taW51dGVzIT1udWxsJiZyLnNldE1pbnV0ZXMoZS5taW51dGVzKSxlLnNlY29uZHMhPW51bGwmJnIuc2V0U2Vjb25kcyhlLnNlY29uZHMpLGUubWlsbGlzZWNvbmRzIT1udWxsJiZyLnNldE1pbGxpc2Vjb25kcyhlLm1pbGxpc2Vjb25kcykscil9dmFyIEpsMSwkS2U9YygoKT0+e210KCk7ZmooKTtSZSgpO2koTEtlLCJzZXQiKTtKbDE9TEtlfSk7ZnVuY3Rpb24gREtlKHQsZSxhKXtsZXQgcj1iZSh0LGE/LmluKTtyZXR1cm4gci5zZXREYXRlKGUpLHJ9dmFyIHIwMSxBS2U9YygoKT0+e1JlKCk7aShES2UsInNldERhdGUiKTtyMDE9REtlfSk7ZnVuY3Rpb24gUEtlKHQsZSxhKXtsZXQgcj1iZSh0LGE/LmluKTtyZXR1cm4gci5zZXRNb250aCgwKSxyLnNldERhdGUoZSkscn12YXIgbjAxLEVLZT1jKCgpPT57UmUoKTtpKFBLZSwic2V0RGF5T2ZZZWFyIik7bjAxPVBLZX0pO2Z1bmN0aW9uIElLZSh0KXtsZXQgZT17fSxhPWhhKCk7Zm9yKGxldCByIGluIGEpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEscikmJihlW3JdPWFbcl0pO2ZvcihsZXQgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpJiYodFtyXT09PXZvaWQgMD9kZWxldGUgZVtyXTplW3JdPXRbcl0pO0tVZShlKX12YXIgcDAxLE5LZT1jKCgpPT57aHIoKTtpKElLZSwic2V0RGVmYXVsdE9wdGlvbnMiKTtwMDE9SUtlfSk7ZnVuY3Rpb24gUktlKHQsZSxhKXtsZXQgcj1iZSh0LGE/LmluKTtyZXR1cm4gci5zZXRIb3VycyhlKSxyfXZhciBtMDEsRktlPWMoKCk9PntSZSgpO2koUktlLCJzZXRIb3VycyIpO20wMT1SS2V9KTtmdW5jdGlvbiBPS2UodCxlLGEpe2xldCByPWJlKHQsYT8uaW4pO3JldHVybiByLnNldE1pbGxpc2Vjb25kcyhlKSxyfXZhciB4MDEsQktlPWMoKCk9PntSZSgpO2koT0tlLCJzZXRNaWxsaXNlY29uZHMiKTt4MDE9T0tlfSk7ZnVuY3Rpb24gSEtlKHQsZSxhKXtsZXQgcj1iZSh0LGE/LmluKTtyZXR1cm4gci5zZXRNaW51dGVzKGUpLHJ9dmFyIGswMSxxS2U9YygoKT0+e1JlKCk7aShIS2UsInNldE1pbnV0ZXMiKTtrMDE9SEtlfSk7ZnVuY3Rpb24gVktlKHQsZSxhKXtsZXQgcj1iZSh0LGE/LmluKSxzPU1hdGgudHJ1bmMoci5nZXRNb250aCgpLzMpKzEsbj1lLXM7cmV0dXJuIEw1KHIsci5nZXRNb250aCgpK24qMyl9dmFyIFQwMSxqS2U9YygoKT0+e2ZqKCk7UmUoKTtpKFZLZSwic2V0UXVhcnRlciIpO1QwMT1WS2V9KTtmdW5jdGlvbiBVS2UodCxlLGEpe2xldCByPWJlKHQsYT8uaW4pO3JldHVybiByLnNldFNlY29uZHMoZSkscn12YXIgQTAxLFdLZT1jKCgpPT57UmUoKTtpKFVLZSwic2V0U2Vjb25kcyIpO0EwMT1VS2V9KTtmdW5jdGlvbiBHS2UodCxlLGEpe2xldCByPWhhKCkscz1hPy5maXJzdFdlZWtDb250YWluc0RhdGU/P2E/LmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9yLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/ci5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/MSxuPUgxKGJlKHQsYT8uaW4pLFVsKHQsYSksYSksbz1JZShhPy5pbnx8dCwwKTtvLnNldEZ1bGxZZWFyKGUsMCxzKSxvLnNldEhvdXJzKDAsMCwwLDApO2xldCBsPVVsKG8sYSk7cmV0dXJuIGwuc2V0RGF0ZShsLmdldERhdGUoKStuKSxsfXZhciBCMDEsWUtlPWMoKCk9PntocigpO210KCk7VzIoKTthVigpO1JlKCk7aShHS2UsInNldFdlZWtZZWFyIik7QjAxPUdLZX0pO2Z1bmN0aW9uIFpLZSh0LGUsYSl7bGV0IHI9YmUodCxhPy5pbik7cmV0dXJuIGlzTmFOKCtyKT9JZShhPy5pbnx8dCxOYU4pOihyLnNldEZ1bGxZZWFyKGUpLHIpfXZhciBVMDEsWEtlPWMoKCk9PnttdCgpO1JlKCk7aShaS2UsInNldFllYXIiKTtVMDE9WktlfSk7ZnVuY3Rpb24gS0tlKHQsZSl7bGV0IGE9YmUodCxlPy5pbikscj1hLmdldEZ1bGxZZWFyKCkscz1NYXRoLmZsb29yKHIvMTApKjEwO3JldHVybiBhLnNldEZ1bGxZZWFyKHMsMCwxKSxhLnNldEhvdXJzKDAsMCwwLDApLGF9dmFyIFowMSxRS2U9YygoKT0+e1JlKCk7aShLS2UsInN0YXJ0T2ZEZWNhZGUiKTtaMDE9S0tlfSk7ZnVuY3Rpb24gSktlKHQpe3JldHVybiBzMihEYXRlLm5vdygpLHQpfXZhciBKMDEsZVFlPWMoKCk9Pnt0dSgpO2koSktlLCJzdGFydE9mVG9kYXkiKTtKMDE9SktlfSk7ZnVuY3Rpb24gdFFlKHQpe2xldCBlPUh0KHQ/LmluKSxhPWUuZ2V0RnVsbFllYXIoKSxyPWUuZ2V0TW9udGgoKSxzPWUuZ2V0RGF0ZSgpLG49SWUodD8uaW4sMCk7cmV0dXJuIG4uc2V0RnVsbFllYXIoYSxyLHMrMSksbi5zZXRIb3VycygwLDAsMCwwKSxufXZhciBpYzEsYVFlPWMoKCk9PnttdCgpO18xKCk7aSh0UWUsInN0YXJ0T2ZUb21vcnJvdyIpO2ljMT10UWV9KTtmdW5jdGlvbiByUWUodCl7bGV0IGU9SHQodD8uaW4pLGE9ZS5nZXRGdWxsWWVhcigpLHI9ZS5nZXRNb250aCgpLHM9ZS5nZXREYXRlKCksbj1IdCh0Py5pbik7cmV0dXJuIG4uc2V0RnVsbFllYXIoYSxyLHMtMSksbi5zZXRIb3VycygwLDAsMCwwKSxufXZhciBsYzEsaVFlPWMoKCk9PntfMSgpO2koclFlLCJzdGFydE9mWWVzdGVyZGF5Iik7bGMxPXJRZX0pO2Z1bmN0aW9uIGhqKHQsZSxhKXtyZXR1cm4gYTIodCwtZSxhKX12YXIgdWMxLFplZT1jKCgpPT57YzUoKTtpKGhqLCJzdWJNb250aHMiKTt1YzE9aGp9KTtmdW5jdGlvbiBzUWUodCxlLGEpe2xldHt5ZWFyczpyPTAsbW9udGhzOnM9MCx3ZWVrczpuPTAsZGF5czpvPTAsaG91cnM6bD0wLG1pbnV0ZXM6aD0wLHNlY29uZHM6dT0wfT1lLGY9aGoodCxzK3IqMTIsYSkscD16bihmLG8rbio3LGEpLGc9aCtsKjYwLHg9KHUrZyo2MCkqMWUzO3JldHVybiBJZShhPy5pbnx8dCwrcC14KX12YXIgdmMxLG9RZT1jKCgpPT57bXQoKTtndSgpO1plZSgpO2koc1FlLCJzdWIiKTt2YzE9c1FlfSk7ZnVuY3Rpb24gblFlKHQsZSxhKXtyZXR1cm4gTXEodCwtZSxhKX12YXIgTWMxLGxRZT1jKCgpPT57SkooKTtpKG5RZSwic3ViQnVzaW5lc3NEYXlzIik7TWMxPW5RZX0pO2Z1bmN0aW9uIGNRZSh0LGUsYSl7cmV0dXJuIGtxKHQsLWUsYSl9dmFyIENjMSxkUWU9YygoKT0+e2VlZSgpO2koY1FlLCJzdWJIb3VycyIpO0NjMT1jUWV9KTtmdW5jdGlvbiBwUWUodCxlLGEpe3JldHVybiBobih0LC1lLGEpfXZhciAkYzEsdVFlPWMoKCk9PntldSgpO2kocFFlLCJzdWJNaWxsaXNlY29uZHMiKTskYzE9cFFlfSk7ZnVuY3Rpb24gZlFlKHQsZSxhKXtyZXR1cm4gcDUodCwtZSxhKX12YXIgRWMxLGhRZT1jKCgpPT57Q3EoKTtpKGZRZSwic3ViTWludXRlcyIpO0VjMT1mUWV9KTtmdW5jdGlvbiBtUWUodCxlLGEpe3JldHVybiB1NSh0LC1lLGEpfXZhciBGYzEsZ1FlPWMoKCk9PntfcSgpO2kobVFlLCJzdWJRdWFydGVycyIpO0ZjMT1tUWV9KTtmdW5jdGlvbiBiUWUodCxlLGEpe3JldHVybiBUcSh0LC1lLGEpfXZhciBxYzEsdlFlPWMoKCk9PntyZWUoKTtpKGJRZSwic3ViU2Vjb25kcyIpO3FjMT1iUWV9KTtmdW5jdGlvbiB4UWUodCxlLGEpe3JldHVybiBnbih0LC1lLGEpfXZhciBXYzEseVFlPWMoKCk9PnthdSgpO2koeFFlLCJzdWJXZWVrcyIpO1djMT14UWV9KTtmdW5jdGlvbiB3UWUodCxlLGEpe3JldHVybiBMcSh0LC1lLGEpfXZhciBYYzEsTVFlPWMoKCk9PntpZWUoKTtpKHdRZSwic3ViWWVhcnMiKTtYYzE9d1FlfSk7ZnVuY3Rpb24ga1FlKHQpe3JldHVybiBNYXRoLnRydW5jKHQqNyl9dmFyIGU0MSx6UWU9YygoKT0+e1B0KCk7aShrUWUsIndlZWtzVG9EYXlzIik7ZTQxPWtRZX0pO2Z1bmN0aW9uIFNRZSh0KXtyZXR1cm4gTWF0aC50cnVuYyh0KjM2NS4yNDI1KX12YXIgaTQxLENRZT1jKCgpPT57UHQoKTtpKFNRZSwieWVhcnNUb0RheXMiKTtpNDE9U1FlfSk7ZnVuY3Rpb24gX1FlKHQpe3JldHVybiBNYXRoLnRydW5jKHQqdnEpfXZhciBsNDEsVFFlPWMoKCk9PntQdCgpO2koX1FlLCJ5ZWFyc1RvTW9udGhzIik7bDQxPV9RZX0pO2Z1bmN0aW9uIExRZSh0KXtyZXR1cm4gTWF0aC50cnVuYyh0KnhxKX12YXIgdTQxLCRRZT1jKCgpPT57UHQoKTtpKExRZSwieWVhcnNUb1F1YXJ0ZXJzIik7dTQxPUxRZX0pO3ZhciB2dT17fTtldCh2dSx7YWRkOigpPT5mbixhZGRCdXNpbmVzc0RheXM6KCk9Pk1xLGFkZERheXM6KCk9PkMxLGFkZEhvdXJzOigpPT5rcSxhZGRJU09XZWVrWWVhcnM6KCk9PlNxLGFkZE1pbGxpc2Vjb25kczooKT0+aG4sYWRkTWludXRlczooKT0+cDUsYWRkTW9udGhzOigpPT5hMixhZGRRdWFydGVyczooKT0+dTUsYWRkU2Vjb25kczooKT0+VHEsYWRkV2Vla3M6KCk9PmduLGFkZFllYXJzOigpPT5McSxhcmVJbnRlcnZhbHNPdmVybGFwcGluZzooKT0+UVVlLGNsYW1wOigpPT5lV2UsY2xvc2VzdEluZGV4VG86KCk9PkFxLGNsb3Nlc3RUbzooKT0+YVdlLGNvbXBhcmVBc2M6KCk9Pm1yLGNvbXBhcmVEZXNjOigpPT5pV2UsY29uc3RydWN0RnJvbTooKT0+SWUsY29uc3RydWN0Tm93OigpPT5IdCxkYXlzVG9XZWVrczooKT0+b1dlLGRpZmZlcmVuY2VJbkJ1c2luZXNzRGF5czooKT0+bFdlLGRpZmZlcmVuY2VJbkNhbGVuZGFyRGF5czooKT0+SDEsZGlmZmVyZW5jZUluQ2FsZW5kYXJJU09XZWVrWWVhcnM6KCk9PkVxLGRpZmZlcmVuY2VJbkNhbGVuZGFySVNPV2Vla3M6KCk9PmRXZSxkaWZmZXJlbmNlSW5DYWxlbmRhck1vbnRoczooKT0+QmwsZGlmZmVyZW5jZUluQ2FsZW5kYXJRdWFydGVyczooKT0+aDUsZGlmZmVyZW5jZUluQ2FsZW5kYXJXZWVrczooKT0+SGwsZGlmZmVyZW5jZUluQ2FsZW5kYXJZZWFyczooKT0+Ym4sZGlmZmVyZW5jZUluRGF5czooKT0+bTUsZGlmZmVyZW5jZUluSG91cnM6KCk9PnFsLGRpZmZlcmVuY2VJbklTT1dlZWtZZWFyczooKT0+ZldlLGRpZmZlcmVuY2VJbk1pbGxpc2Vjb25kczooKT0+ZzUsZGlmZmVyZW5jZUluTWludXRlczooKT0+VmwsZGlmZmVyZW5jZUluTW9udGhzOigpPT52bixkaWZmZXJlbmNlSW5RdWFydGVyczooKT0+bVdlLGRpZmZlcmVuY2VJblNlY29uZHM6KCk9Pm4yLGRpZmZlcmVuY2VJbldlZWtzOigpPT5iV2UsZGlmZmVyZW5jZUluWWVhcnM6KCk9PldxLGVhY2hEYXlPZkludGVydmFsOigpPT5HcSxlYWNoSG91ck9mSW50ZXJ2YWw6KCk9PnhXZSxlYWNoTWludXRlT2ZJbnRlcnZhbDooKT0+d1dlLGVhY2hNb250aE9mSW50ZXJ2YWw6KCk9PmtXZSxlYWNoUXVhcnRlck9mSW50ZXJ2YWw6KCk9PlNXZSxlYWNoV2Vla09mSW50ZXJ2YWw6KCk9Pl9XZSxlYWNoV2Vla2VuZE9mSW50ZXJ2YWw6KCk9Png1LGVhY2hXZWVrZW5kT2ZNb250aDooKT0+TFdlLGVhY2hXZWVrZW5kT2ZZZWFyOigpPT5EV2UsZWFjaFllYXJPZkludGVydmFsOigpPT5QV2UsZW5kT2ZEYXk6KCk9PmI1LGVuZE9mRGVjYWRlOigpPT5JV2UsZW5kT2ZIb3VyOigpPT5SV2UsZW5kT2ZJU09XZWVrOigpPT5PV2UsZW5kT2ZJU09XZWVrWWVhcjooKT0+SFdlLGVuZE9mTWludXRlOigpPT5WV2UsZW5kT2ZNb250aDooKT0+djUsZW5kT2ZRdWFydGVyOigpPT5VV2UsZW5kT2ZTZWNvbmQ6KCk9PkdXZSxlbmRPZlRvZGF5OigpPT5aV2UsZW5kT2ZUb21vcnJvdzooKT0+S1dlLGVuZE9mV2VlazooKT0+UXEsZW5kT2ZZZWFyOigpPT5YcSxlbmRPZlllc3RlcmRheTooKT0+SldlLGZvcm1hdDooKT0+ZHUsZm9ybWF0RGF0ZTooKT0+ZHUsZm9ybWF0RGlzdGFuY2U6KCk9Pm9WLGZvcm1hdERpc3RhbmNlU3RyaWN0OigpPT5uVixmb3JtYXREaXN0YW5jZVRvTm93OigpPT5NR2UsZm9ybWF0RGlzdGFuY2VUb05vd1N0cmljdDooKT0+ekdlLGZvcm1hdER1cmF0aW9uOigpPT5DR2UsZm9ybWF0SVNPOigpPT5UR2UsZm9ybWF0SVNPOTA3NTooKT0+JEdlLGZvcm1hdElTT0R1cmF0aW9uOigpPT5BR2UsZm9ybWF0UkZDMzMzOTooKT0+RUdlLGZvcm1hdFJGQzcyMzE6KCk9Pk5HZSxmb3JtYXRSZWxhdGl2ZTooKT0+RkdlLGZvcm1hdHRlcnM6KCk9Pmx1LGZyb21Vbml4VGltZTooKT0+QkdlLGdldERhdGU6KCk9PmxWLGdldERheTooKT0+TW4sZ2V0RGF5T2ZZZWFyOigpPT5lVixnZXREYXlzSW5Nb250aDooKT0+Y1YsZ2V0RGF5c0luWWVhcjooKT0+cUdlLGdldERlY2FkZTooKT0+akdlLGdldERlZmF1bHRPcHRpb25zOigpPT5wVixnZXRIb3VyczooKT0+V0dlLGdldElTT0RheTooKT0+dVYsZ2V0SVNPV2VlazooKT0+azUsZ2V0SVNPV2Vla1llYXI6KCk9PlByLGdldElTT1dlZWtzSW5ZZWFyOigpPT5ZR2UsZ2V0TWlsbGlzZWNvbmRzOigpPT5YR2UsZ2V0TWludXRlczooKT0+UUdlLGdldE1vbnRoOigpPT5lWWUsZ2V0T3ZlcmxhcHBpbmdEYXlzSW5JbnRlcnZhbHM6KCk9PmFZZSxnZXRRdWFydGVyOigpPT5ydSxnZXRTZWNvbmRzOigpPT5pWWUsZ2V0VGltZTooKT0+b1llLGdldFVuaXhUaW1lOigpPT5sWWUsZ2V0V2VlazooKT0+ejUsZ2V0V2Vla09mTW9udGg6KCk9PmRZZSxnZXRXZWVrWWVhcjooKT0+eW4sZ2V0V2Vla3NJbk1vbnRoOigpPT51WWUsZ2V0WWVhcjooKT0+aFllLGhvdXJzVG9NaWxsaXNlY29uZHM6KCk9PmdZZSxob3Vyc1RvTWludXRlczooKT0+dlllLGhvdXJzVG9TZWNvbmRzOigpPT55WWUsaW50ZXJ2YWw6KCk9Pk1ZZSxpbnRlcnZhbFRvRHVyYXRpb246KCk9PnpZZSxpbnRsRm9ybWF0OigpPT5DWWUsaW50bEZvcm1hdERpc3RhbmNlOigpPT5UWWUsaXNBZnRlcjooKT0+JFllLGlzQmVmb3JlOigpPT5BWWUsaXNEYXRlOigpPT5QcSxpc0VxdWFsOigpPT5FWWUsaXNFeGlzdHM6KCk9Pk5ZZSxpc0ZpcnN0RGF5T2ZNb250aDooKT0+RlllLGlzRnJpZGF5OigpPT5CWWUsaXNGdXR1cmU6KCk9PnFZZSxpc0xhc3REYXlPZk1vbnRoOigpPT5VcSxpc0xlYXBZZWFyOigpPT5kVixpc01hdGNoOigpPT5NWmUsaXNNb25kYXk6KCk9PnpaZSxpc1Bhc3Q6KCk9PkNaZSxpc1NhbWVEYXk6KCk9Pm8yLGlzU2FtZUhvdXI6KCk9PnJqLGlzU2FtZUlTT1dlZWs6KCk9PnNqLGlzU2FtZUlTT1dlZWtZZWFyOigpPT5UWmUsaXNTYW1lTWludXRlOigpPT5vaixpc1NhbWVNb250aDooKT0+bmosaXNTYW1lUXVhcnRlcjooKT0+bGosaXNTYW1lU2Vjb25kOigpPT5jaixpc1NhbWVXZWVrOigpPT5UNSxpc1NhbWVZZWFyOigpPT5kaixpc1NhdHVyZGF5OigpPT55cSxpc1N1bmRheTooKT0+d3EsaXNUaGlzSG91cjooKT0+JFplLGlzVGhpc0lTT1dlZWs6KCk9PkFaZSxpc1RoaXNNaW51dGU6KCk9PkVaZSxpc1RoaXNNb250aDooKT0+TlplLGlzVGhpc1F1YXJ0ZXI6KCk9PkZaZSxpc1RoaXNTZWNvbmQ6KCk9PkJaZSxpc1RoaXNXZWVrOigpPT5xWmUsaXNUaGlzWWVhcjooKT0+alplLGlzVGh1cnNkYXk6KCk9PldaZSxpc1RvZGF5OigpPT5ZWmUsaXNUb21vcnJvdzooKT0+WFplLGlzVHVlc2RheTooKT0+UVplLGlzVmFsaWQ6KCk9PlExLGlzV2VkbmVzZGF5OigpPT5lWGUsaXNXZWVrZW5kOigpPT5yMixpc1dpdGhpbkludGVydmFsOigpPT5hWGUsaXNZZXN0ZXJkYXk6KCk9PmlYZSxsYXN0RGF5T2ZEZWNhZGU6KCk9Pm9YZSxsYXN0RGF5T2ZJU09XZWVrOigpPT5sWGUsbGFzdERheU9mSVNPV2Vla1llYXI6KCk9PmRYZSxsYXN0RGF5T2ZNb250aDooKT0+ZlYsbGFzdERheU9mUXVhcnRlcjooKT0+dVhlLGxhc3REYXlPZldlZWs6KCk9PnBqLGxhc3REYXlPZlllYXI6KCk9PmhYZSxsaWdodEZvcm1hdDooKT0+Z1hlLGxpZ2h0Rm9ybWF0dGVyczooKT0+dWksbG9uZ0Zvcm1hdHRlcnM6KCk9PnduLG1heDooKT0+JHEsbWlsbGlzZWNvbmRzOigpPT52WGUsbWlsbGlzZWNvbmRzVG9Ib3VyczooKT0+eVhlLG1pbGxpc2Vjb25kc1RvTWludXRlczooKT0+TVhlLG1pbGxpc2Vjb25kc1RvU2Vjb25kczooKT0+elhlLG1pbjooKT0+RHEsbWludXRlc1RvSG91cnM6KCk9PkNYZSxtaW51dGVzVG9NaWxsaXNlY29uZHM6KCk9PlRYZSxtaW51dGVzVG9TZWNvbmRzOigpPT4kWGUsbW9udGhzVG9RdWFydGVyczooKT0+QVhlLG1vbnRoc1RvWWVhcnM6KCk9PkVYZSxuZXh0RGF5OigpPT52cixuZXh0RnJpZGF5OigpPT5OWGUsbmV4dE1vbmRheTooKT0+RlhlLG5leHRTYXR1cmRheTooKT0+QlhlLG5leHRTdW5kYXk6KCk9PnFYZSxuZXh0VGh1cnNkYXk6KCk9PmpYZSxuZXh0VHVlc2RheTooKT0+V1hlLG5leHRXZWRuZXNkYXk6KCk9PllYZSxwYXJzZTooKT0+YWoscGFyc2VJU086KCk9PktYZSxwYXJzZUpTT046KCk9PkpYZSxwYXJzZXJzOigpPT50aixwcmV2aW91c0RheTooKT0+eHIscHJldmlvdXNGcmlkYXk6KCk9PnRLZSxwcmV2aW91c01vbmRheTooKT0+cktlLHByZXZpb3VzU2F0dXJkYXk6KCk9PnNLZSxwcmV2aW91c1N1bmRheTooKT0+bktlLHByZXZpb3VzVGh1cnNkYXk6KCk9PmNLZSxwcmV2aW91c1R1ZXNkYXk6KCk9PnBLZSxwcmV2aW91c1dlZG5lc2RheTooKT0+ZktlLHF1YXJ0ZXJzVG9Nb250aHM6KCk9Pm1LZSxxdWFydGVyc1RvWWVhcnM6KCk9PmJLZSxyb3VuZFRvTmVhcmVzdEhvdXJzOigpPT54S2Uscm91bmRUb05lYXJlc3RNaW51dGVzOigpPT53S2Usc2Vjb25kc1RvSG91cnM6KCk9PmtLZSxzZWNvbmRzVG9NaWxsaXNlY29uZHM6KCk9PlNLZSxzZWNvbmRzVG9NaW51dGVzOigpPT5fS2Usc2V0OigpPT5MS2Usc2V0RGF0ZTooKT0+REtlLHNldERheTooKT0+a24sc2V0RGF5T2ZZZWFyOigpPT5QS2Usc2V0RGVmYXVsdE9wdGlvbnM6KCk9PklLZSxzZXRIb3VyczooKT0+UktlLHNldElTT0RheTooKT0+T1Ysc2V0SVNPV2VlazooKT0+QVYsc2V0SVNPV2Vla1llYXI6KCk9PnpxLHNldE1pbGxpc2Vjb25kczooKT0+T0tlLHNldE1pbnV0ZXM6KCk9PkhLZSxzZXRNb250aDooKT0+TDUsc2V0UXVhcnRlcjooKT0+VktlLHNldFNlY29uZHM6KCk9PlVLZSxzZXRXZWVrOigpPT4kVixzZXRXZWVrWWVhcjooKT0+R0tlLHNldFllYXI6KCk9PlpLZSxzdGFydE9mRGF5OigpPT5zMixzdGFydE9mRGVjYWRlOigpPT5LS2Usc3RhcnRPZkhvdXI6KCk9PmZ1LHN0YXJ0T2ZJU09XZWVrOigpPT5oMSxzdGFydE9mSVNPV2Vla1llYXI6KCk9PnBpLHN0YXJ0T2ZNaW51dGU6KCk9Pmh1LHN0YXJ0T2ZNb250aDooKT0+eG4sc3RhcnRPZlF1YXJ0ZXI6KCk9PmMyLHN0YXJ0T2ZTZWNvbmQ6KCk9Pm11LHN0YXJ0T2ZUb2RheTooKT0+SktlLHN0YXJ0T2ZUb21vcnJvdzooKT0+dFFlLHN0YXJ0T2ZXZWVrOigpPT5DYSxzdGFydE9mV2Vla1llYXI6KCk9PlVsLHN0YXJ0T2ZZZWFyOigpPT55NSxzdGFydE9mWWVzdGVyZGF5OigpPT5yUWUsc3ViOigpPT5zUWUsc3ViQnVzaW5lc3NEYXlzOigpPT5uUWUsc3ViRGF5czooKT0+em4sc3ViSG91cnM6KCk9PmNRZSxzdWJJU09XZWVrWWVhcnM6KCk9PkJxLHN1Yk1pbGxpc2Vjb25kczooKT0+cFFlLHN1Yk1pbnV0ZXM6KCk9PmZRZSxzdWJNb250aHM6KCk9PmhqLHN1YlF1YXJ0ZXJzOigpPT5tUWUsc3ViU2Vjb25kczooKT0+YlFlLHN1YldlZWtzOigpPT54UWUsc3ViWWVhcnM6KCk9PndRZSx0b0RhdGU6KCk9PmJlLHRyYW5zcG9zZTooKT0+aFYsd2Vla3NUb0RheXM6KCk9PmtRZSx5ZWFyc1RvRGF5czooKT0+U1FlLHllYXJzVG9Nb250aHM6KCk9Pl9RZSx5ZWFyc1RvUXVhcnRlcnM6KCk9PkxRZX0pO3ZhciBEUWU9YygoKT0+e1hKKCk7SkooKTt0MigpO2VlZSgpO2FlZSgpO2V1KCk7Q3EoKTtjNSgpO19xKCk7cmVlKCk7YXUoKTtpZWUoKTtKVWUoKTt0V2UoKTtuZWUoKTtyV2UoKTtPbCgpO3NXZSgpO210KCk7XzEoKTtuV2UoKTtjV2UoKTtXMigpO2NlZSgpO3BXZSgpO0lxKCk7cGVlKCk7TnEoKTtScSgpO0ZxKCk7T3EoKTtoV2UoKTtIcSgpO3FxKCk7aXUoKTtnV2UoKTtzdSgpO3ZXZSgpO2hlZSgpO21lZSgpO3lXZSgpO01XZSgpO3pXZSgpO0NXZSgpO1RXZSgpO1pxKCk7JFdlKCk7QVdlKCk7RVdlKCk7VnEoKTtOV2UoKTtGV2UoKTtCV2UoKTtxV2UoKTtqV2UoKTtqcSgpO1dXZSgpO1lXZSgpO1hXZSgpO1FXZSgpO2JlZSgpO2dlZSgpO2VHZSgpO01lZSgpO2tlZSgpO3plZSgpO2tHZSgpO1NHZSgpO19HZSgpO0xHZSgpO0RHZSgpO1BHZSgpO0lHZSgpO1JHZSgpO09HZSgpO0hHZSgpO1NlZSgpO3B1KCk7dmVlKCk7Q2VlKCk7VkdlKCk7VUdlKCk7VGVlKCk7R0dlKCk7TGVlKCk7dFYoKTttbigpO1pHZSgpO0tHZSgpO0pHZSgpO3RZZSgpO3JZZSgpO2RlZSgpO3NZZSgpO25ZZSgpO2NZZSgpO3JWKCk7cFllKCk7bnUoKTtmWWUoKTttWWUoKTtiWWUoKTt4WWUoKTt3WWUoKTtrWWUoKTtTWWUoKTtfWWUoKTtMWWUoKTtEWWUoKTtQWWUoKTtsZWUoKTtJWWUoKTtSWWUoKTtPWWUoKTtIWWUoKTtWWWUoKTtmZWUoKTtfZWUoKTtrWmUoKTtTWmUoKTtfWmUoKTtmNSgpO0ZlZSgpO09lZSgpO0xaZSgpO0hlZSgpO3FlZSgpO1ZlZSgpO1VlZSgpO2lqKCk7V2VlKCk7S0ooKTtRSigpO0RaZSgpO1BaZSgpO0laZSgpO1JaZSgpO09aZSgpO0haZSgpO1ZaZSgpO1VaZSgpO0daZSgpO1paZSgpO0taZSgpO0paZSgpO0cyKCk7dFhlKCk7SnAoKTtyWGUoKTtzWGUoKTtuWGUoKTtjWGUoKTtwWGUoKTskZWUoKTtmWGUoKTtHZWUoKTttWGUoKTtiWGUoKTtzZWUoKTt4WGUoKTt3WGUoKTtrWGUoKTtTWGUoKTtvZWUoKTtfWGUoKTtMWGUoKTtEWGUoKTtQWGUoKTtJWGUoKTtaMigpO1JYZSgpO09YZSgpO0hYZSgpO1ZYZSgpO1VYZSgpO0dYZSgpO1pYZSgpO05lZSgpO1FYZSgpO2VLZSgpO1gyKCk7YUtlKCk7aUtlKCk7b0tlKCk7bEtlKCk7ZEtlKCk7dUtlKCk7aEtlKCk7Z0tlKCk7dktlKCk7eUtlKCk7TUtlKCk7ektlKCk7Q0tlKCk7VEtlKCk7JEtlKCk7QUtlKCk7dXUoKTtFS2UoKTtOS2UoKTtGS2UoKTtJZWUoKTtFZWUoKTt0ZWUoKTtCS2UoKTtxS2UoKTtmaigpO2pLZSgpO1dLZSgpO1BlZSgpO1lLZSgpO1hLZSgpO3R1KCk7UUtlKCk7UmVlKCk7aTIoKTtkNSgpO0JlZSgpO291KCk7WXEoKTtqZWUoKTtlUWUoKTthUWUoKTtkcygpO2FWKCk7S3EoKTtpUWUoKTtvUWUoKTtsUWUoKTtndSgpO2RRZSgpO3VlZSgpO3VRZSgpO2hRZSgpO1plZSgpO2dRZSgpO3ZRZSgpO3lRZSgpO01RZSgpO1JlKCk7RGVlKCk7elFlKCk7Q1FlKCk7VFFlKCk7JFFlKCl9KTt2YXIgQVFlPXd0KChYZWUsS2VlKT0+eyhmdW5jdGlvbih0LGUpe3R5cGVvZiBYZWU9PSJvYmplY3QiJiZ0eXBlb2YgS2VlPCJ1Ij9LZWUuZXhwb3J0cz1lKCk6dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUoZSk6KHQ9dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6dHx8c2VsZikuZGF5anM9ZSgpfSkoWGVlLChmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgdD0xZTMsZT02ZTQsYT0zNmU1LHI9Im1pbGxpc2Vjb25kIixzPSJzZWNvbmQiLG49Im1pbnV0ZSIsbz0iaG91ciIsbD0iZGF5IixoPSJ3ZWVrIix1PSJtb250aCIsZj0icXVhcnRlciIscD0ieWVhciIsZz0iZGF0ZSIsdj0iSW52YWxpZCBEYXRlIix4PS9eKFxkezR9KVstL10/KFxkezEsMn0pP1stL10/KFxkezAsMn0pW1R0XHNdKihcZHsxLDJ9KT86PyhcZHsxLDJ9KT86PyhcZHsxLDJ9KT9bLjpdPyhcZCspPyQvLGI9L1xbKFteXF1dKyldfFl7MSw0fXxNezEsNH18RHsxLDJ9fGR7MSw0fXxIezEsMn18aHsxLDJ9fGF8QXxtezEsMn18c3sxLDJ9fFp7MSwyfXxTU1MvZyxtPXtuYW1lOiJlbiIsd2Vla2RheXM6IlN1bmRheV9Nb25kYXlfVHVlc2RheV9XZWRuZXNkYXlfVGh1cnNkYXlfRnJpZGF5X1NhdHVyZGF5Ii5zcGxpdCgiXyIpLG1vbnRoczoiSmFudWFyeV9GZWJydWFyeV9NYXJjaF9BcHJpbF9NYXlfSnVuZV9KdWx5X0F1Z3VzdF9TZXB0ZW1iZXJfT2N0b2Jlcl9Ob3ZlbWJlcl9EZWNlbWJlciIuc3BsaXQoIl8iKSxvcmRpbmFsOmkoZnVuY3Rpb24oeil7dmFyIEQ9WyJ0aCIsInN0IiwibmQiLCJyZCJdLFQ9eiUxMDA7cmV0dXJuIlsiK3orKERbKFQtMjApJTEwXXx8RFtUXXx8RFswXSkrIl0ifSwib3JkaW5hbCIpfSx5PWkoZnVuY3Rpb24oeixELFQpe3ZhciBBPVN0cmluZyh6KTtyZXR1cm4hQXx8QS5sZW5ndGg+PUQ/ejoiIitBcnJheShEKzEtQS5sZW5ndGgpLmpvaW4oVCkren0sIm0iKSxNPXtzOnksejppKGZ1bmN0aW9uKHope3ZhciBEPS16LnV0Y09mZnNldCgpLFQ9TWF0aC5hYnMoRCksQT1NYXRoLmZsb29yKFQvNjApLFU9VCU2MDtyZXR1cm4oRDw9MD8iKyI6Ii0iKSt5KEEsMiwiMCIpKyI6Iit5KFUsMiwiMCIpfSwieiIpLG06aShmdW5jdGlvbiB6KEQsVCl7aWYoRC5kYXRlKCk8VC5kYXRlKCkpcmV0dXJuLXooVCxEKTt2YXIgQT0xMiooVC55ZWFyKCktRC55ZWFyKCkpKyhULm1vbnRoKCktRC5tb250aCgpKSxVPUQuY2xvbmUoKS5hZGQoQSx1KSxSPVQtVTwwLHE9RC5jbG9uZSgpLmFkZChBKyhSPy0xOjEpLHUpO3JldHVybisoLShBKyhULVUpLyhSP1UtcTpxLVUpKXx8MCl9LCJ0IiksYTppKGZ1bmN0aW9uKHope3JldHVybiB6PDA/TWF0aC5jZWlsKHopfHwwOk1hdGguZmxvb3Ioeil9LCJhIikscDppKGZ1bmN0aW9uKHope3JldHVybntNOnUseTpwLHc6aCxkOmwsRDpnLGg6byxtOm4scyxtczpyLFE6Zn1bel18fFN0cmluZyh6fHwiIikudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9zJC8sIiIpfSwicCIpLHU6aShmdW5jdGlvbih6KXtyZXR1cm4gej09PXZvaWQgMH0sInUiKX0saz0iZW4iLEU9e307RVtrXT1tO3ZhciBfPSIkaXNEYXlqc09iamVjdCIsQz1pKGZ1bmN0aW9uKHope3JldHVybiB6IGluc3RhbmNlb2Yganx8ISghenx8IXpbX10pfSwiUyIpLE49aShmdW5jdGlvbiB6KEQsVCxBKXt2YXIgVTtpZighRClyZXR1cm4gaztpZih0eXBlb2YgRD09InN0cmluZyIpe3ZhciBSPUQudG9Mb3dlckNhc2UoKTtFW1JdJiYoVT1SKSxUJiYoRVtSXT1ULFU9Uik7dmFyIHE9RC5zcGxpdCgiLSIpO2lmKCFVJiZxLmxlbmd0aD4xKXJldHVybiB6KHFbMF0pfWVsc2V7dmFyIG9lPUQubmFtZTtFW29lXT1ELFU9b2V9cmV0dXJuIUEmJlUmJihrPVUpLFV8fCFBJiZrfSwidCIpLCQ9aShmdW5jdGlvbih6LEQpe2lmKEMoeikpcmV0dXJuIHouY2xvbmUoKTt2YXIgVD10eXBlb2YgRD09Im9iamVjdCI/RDp7fTtyZXR1cm4gVC5kYXRlPXosVC5hcmdzPWFyZ3VtZW50cyxuZXcgaihUKX0sIk8iKSxJPU07SS5sPU4sSS5pPUMsSS53PWZ1bmN0aW9uKHosRCl7cmV0dXJuICQoeix7bG9jYWxlOkQuJEwsdXRjOkQuJHUseDpELiR4LCRvZmZzZXQ6RC4kb2Zmc2V0fSl9O3ZhciBqPShmdW5jdGlvbigpe2Z1bmN0aW9uIHooVCl7dGhpcy4kTD1OKFQubG9jYWxlLG51bGwsITApLHRoaXMucGFyc2UoVCksdGhpcy4keD10aGlzLiR4fHxULnh8fHt9LHRoaXNbX109ITB9aSh6LCJNIik7dmFyIEQ9ei5wcm90b3R5cGU7cmV0dXJuIEQucGFyc2U9ZnVuY3Rpb24oVCl7dGhpcy4kZD0oZnVuY3Rpb24oQSl7dmFyIFU9QS5kYXRlLFI9QS51dGM7aWYoVT09PW51bGwpcmV0dXJuIG5ldyBEYXRlKE5hTik7aWYoSS51KFUpKXJldHVybiBuZXcgRGF0ZTtpZihVIGluc3RhbmNlb2YgRGF0ZSlyZXR1cm4gbmV3IERhdGUoVSk7aWYodHlwZW9mIFU9PSJzdHJpbmciJiYhL1okL2kudGVzdChVKSl7dmFyIHE9VS5tYXRjaCh4KTtpZihxKXt2YXIgb2U9cVsyXS0xfHwwLE89KHFbN118fCIwIikuc3Vic3RyaW5nKDAsMyk7cmV0dXJuIFI/bmV3IERhdGUoRGF0ZS5VVEMocVsxXSxvZSxxWzNdfHwxLHFbNF18fDAscVs1XXx8MCxxWzZdfHwwLE8pKTpuZXcgRGF0ZShxWzFdLG9lLHFbM118fDEscVs0XXx8MCxxWzVdfHwwLHFbNl18fDAsTyl9fXJldHVybiBuZXcgRGF0ZShVKX0pKFQpLHRoaXMuaW5pdCgpfSxELmluaXQ9ZnVuY3Rpb24oKXt2YXIgVD10aGlzLiRkO3RoaXMuJHk9VC5nZXRGdWxsWWVhcigpLHRoaXMuJE09VC5nZXRNb250aCgpLHRoaXMuJEQ9VC5nZXREYXRlKCksdGhpcy4kVz1ULmdldERheSgpLHRoaXMuJEg9VC5nZXRIb3VycygpLHRoaXMuJG09VC5nZXRNaW51dGVzKCksdGhpcy4kcz1ULmdldFNlY29uZHMoKSx0aGlzLiRtcz1ULmdldE1pbGxpc2Vjb25kcygpfSxELiR1dGlscz1mdW5jdGlvbigpe3JldHVybiBJfSxELmlzVmFsaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZC50b1N0cmluZygpIT09dn0sRC5pc1NhbWU9ZnVuY3Rpb24oVCxBKXt2YXIgVT0kKFQpO3JldHVybiB0aGlzLnN0YXJ0T2YoQSk8PVUmJlU8PXRoaXMuZW5kT2YoQSl9LEQuaXNBZnRlcj1mdW5jdGlvbihULEEpe3JldHVybiAkKFQpPHRoaXMuc3RhcnRPZihBKX0sRC5pc0JlZm9yZT1mdW5jdGlvbihULEEpe3JldHVybiB0aGlzLmVuZE9mKEEpPCQoVCl9LEQuJGc9ZnVuY3Rpb24oVCxBLFUpe3JldHVybiBJLnUoVCk/dGhpc1tBXTp0aGlzLnNldChVLFQpfSxELnVuaXg9ZnVuY3Rpb24oKXtyZXR1cm4gTWF0aC5mbG9vcih0aGlzLnZhbHVlT2YoKS8xZTMpfSxELnZhbHVlT2Y9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZC5nZXRUaW1lKCl9LEQuc3RhcnRPZj1mdW5jdGlvbihULEEpe3ZhciBVPXRoaXMsUj0hIUkudShBKXx8QSxxPUkucChUKSxvZT1pKGZ1bmN0aW9uKFAsSCl7dmFyIEc9SS53KFUuJHU/RGF0ZS5VVEMoVS4keSxILFApOm5ldyBEYXRlKFUuJHksSCxQKSxVKTtyZXR1cm4gUj9HOkcuZW5kT2YobCl9LCJsIiksTz1pKGZ1bmN0aW9uKFAsSCl7cmV0dXJuIEkudyhVLnRvRGF0ZSgpW1BdLmFwcGx5KFUudG9EYXRlKCJzIiksKFI/WzAsMCwwLDBdOlsyMyw1OSw1OSw5OTldKS5zbGljZShIKSksVSl9LCIkIikscmU9dGhpcy4kVyx5ZT10aGlzLiRNLEI9dGhpcy4kRCxlZT0ic2V0IisodGhpcy4kdT8iVVRDIjoiIik7c3dpdGNoKHEpe2Nhc2UgcDpyZXR1cm4gUj9vZSgxLDApOm9lKDMxLDExKTtjYXNlIHU6cmV0dXJuIFI/b2UoMSx5ZSk6b2UoMCx5ZSsxKTtjYXNlIGg6dmFyIENlPXRoaXMuJGxvY2FsZSgpLndlZWtTdGFydHx8MCxZPShyZTxDZT9yZSs3OnJlKS1DZTtyZXR1cm4gb2UoUj9CLVk6QisoNi1ZKSx5ZSk7Y2FzZSBsOmNhc2UgZzpyZXR1cm4gTyhlZSsiSG91cnMiLDApO2Nhc2UgbzpyZXR1cm4gTyhlZSsiTWludXRlcyIsMSk7Y2FzZSBuOnJldHVybiBPKGVlKyJTZWNvbmRzIiwyKTtjYXNlIHM6cmV0dXJuIE8oZWUrIk1pbGxpc2Vjb25kcyIsMyk7ZGVmYXVsdDpyZXR1cm4gdGhpcy5jbG9uZSgpfX0sRC5lbmRPZj1mdW5jdGlvbihUKXtyZXR1cm4gdGhpcy5zdGFydE9mKFQsITEpfSxELiRzZXQ9ZnVuY3Rpb24oVCxBKXt2YXIgVSxSPUkucChUKSxxPSJzZXQiKyh0aGlzLiR1PyJVVEMiOiIiKSxvZT0oVT17fSxVW2xdPXErIkRhdGUiLFVbZ109cSsiRGF0ZSIsVVt1XT1xKyJNb250aCIsVVtwXT1xKyJGdWxsWWVhciIsVVtvXT1xKyJIb3VycyIsVVtuXT1xKyJNaW51dGVzIixVW3NdPXErIlNlY29uZHMiLFVbcl09cSsiTWlsbGlzZWNvbmRzIixVKVtSXSxPPVI9PT1sP3RoaXMuJEQrKEEtdGhpcy4kVyk6QTtpZihSPT09dXx8Uj09PXApe3ZhciByZT10aGlzLmNsb25lKCkuc2V0KGcsMSk7cmUuJGRbb2VdKE8pLHJlLmluaXQoKSx0aGlzLiRkPXJlLnNldChnLE1hdGgubWluKHRoaXMuJEQscmUuZGF5c0luTW9udGgoKSkpLiRkfWVsc2Ugb2UmJnRoaXMuJGRbb2VdKE8pO3JldHVybiB0aGlzLmluaXQoKSx0aGlzfSxELnNldD1mdW5jdGlvbihULEEpe3JldHVybiB0aGlzLmNsb25lKCkuJHNldChULEEpfSxELmdldD1mdW5jdGlvbihUKXtyZXR1cm4gdGhpc1tJLnAoVCldKCl9LEQuYWRkPWZ1bmN0aW9uKFQsQSl7dmFyIFUsUj10aGlzO1Q9TnVtYmVyKFQpO3ZhciBxPUkucChBKSxvZT1pKGZ1bmN0aW9uKHllKXt2YXIgQj0kKFIpO3JldHVybiBJLncoQi5kYXRlKEIuZGF0ZSgpK01hdGgucm91bmQoeWUqVCkpLFIpfSwieSIpO2lmKHE9PT11KXJldHVybiB0aGlzLnNldCh1LHRoaXMuJE0rVCk7aWYocT09PXApcmV0dXJuIHRoaXMuc2V0KHAsdGhpcy4keStUKTtpZihxPT09bClyZXR1cm4gb2UoMSk7aWYocT09PWgpcmV0dXJuIG9lKDcpO3ZhciBPPShVPXt9LFVbbl09ZSxVW29dPWEsVVtzXT10LFUpW3FdfHwxLHJlPXRoaXMuJGQuZ2V0VGltZSgpK1QqTztyZXR1cm4gSS53KHJlLHRoaXMpfSxELnN1YnRyYWN0PWZ1bmN0aW9uKFQsQSl7cmV0dXJuIHRoaXMuYWRkKC0xKlQsQSl9LEQuZm9ybWF0PWZ1bmN0aW9uKFQpe3ZhciBBPXRoaXMsVT10aGlzLiRsb2NhbGUoKTtpZighdGhpcy5pc1ZhbGlkKCkpcmV0dXJuIFUuaW52YWxpZERhdGV8fHY7dmFyIFI9VHx8IllZWVktTU0tRERUSEg6bW06c3NaIixxPUkueih0aGlzKSxvZT10aGlzLiRILE89dGhpcy4kbSxyZT10aGlzLiRNLHllPVUud2Vla2RheXMsQj1VLm1vbnRocyxlZT1VLm1lcmlkaWVtLENlPWkoZnVuY3Rpb24oSCxHLFcsc2Upe3JldHVybiBIJiYoSFtHXXx8SChBLFIpKXx8V1tHXS5zbGljZSgwLHNlKX0sImgiKSxZPWkoZnVuY3Rpb24oSCl7cmV0dXJuIEkucyhvZSUxMnx8MTIsSCwiMCIpfSwiZCIpLFA9ZWV8fGZ1bmN0aW9uKEgsRyxXKXt2YXIgc2U9SDwxMj8iQU0iOiJQTSI7cmV0dXJuIFc/c2UudG9Mb3dlckNhc2UoKTpzZX07cmV0dXJuIFIucmVwbGFjZShiLChmdW5jdGlvbihILEcpe3JldHVybiBHfHwoZnVuY3Rpb24oVyl7c3dpdGNoKFcpe2Nhc2UiWVkiOnJldHVybiBTdHJpbmcoQS4keSkuc2xpY2UoLTIpO2Nhc2UiWVlZWSI6cmV0dXJuIEkucyhBLiR5LDQsIjAiKTtjYXNlIk0iOnJldHVybiByZSsxO2Nhc2UiTU0iOnJldHVybiBJLnMocmUrMSwyLCIwIik7Y2FzZSJNTU0iOnJldHVybiBDZShVLm1vbnRoc1Nob3J0LHJlLEIsMyk7Y2FzZSJNTU1NIjpyZXR1cm4gQ2UoQixyZSk7Y2FzZSJEIjpyZXR1cm4gQS4kRDtjYXNlIkREIjpyZXR1cm4gSS5zKEEuJEQsMiwiMCIpO2Nhc2UiZCI6cmV0dXJuIFN0cmluZyhBLiRXKTtjYXNlImRkIjpyZXR1cm4gQ2UoVS53ZWVrZGF5c01pbixBLiRXLHllLDIpO2Nhc2UiZGRkIjpyZXR1cm4gQ2UoVS53ZWVrZGF5c1Nob3J0LEEuJFcseWUsMyk7Y2FzZSJkZGRkIjpyZXR1cm4geWVbQS4kV107Y2FzZSJIIjpyZXR1cm4gU3RyaW5nKG9lKTtjYXNlIkhIIjpyZXR1cm4gSS5zKG9lLDIsIjAiKTtjYXNlImgiOnJldHVybiBZKDEpO2Nhc2UiaGgiOnJldHVybiBZKDIpO2Nhc2UiYSI6cmV0dXJuIFAob2UsTywhMCk7Y2FzZSJBIjpyZXR1cm4gUChvZSxPLCExKTtjYXNlIm0iOnJldHVybiBTdHJpbmcoTyk7Y2FzZSJtbSI6cmV0dXJuIEkucyhPLDIsIjAiKTtjYXNlInMiOnJldHVybiBTdHJpbmcoQS4kcyk7Y2FzZSJzcyI6cmV0dXJuIEkucyhBLiRzLDIsIjAiKTtjYXNlIlNTUyI6cmV0dXJuIEkucyhBLiRtcywzLCIwIik7Y2FzZSJaIjpyZXR1cm4gcX1yZXR1cm4gbnVsbH0pKEgpfHxxLnJlcGxhY2UoIjoiLCIiKX0pKX0sRC51dGNPZmZzZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gMTUqLU1hdGgucm91bmQodGhpcy4kZC5nZXRUaW1lem9uZU9mZnNldCgpLzE1KX0sRC5kaWZmPWZ1bmN0aW9uKFQsQSxVKXt2YXIgUixxPXRoaXMsb2U9SS5wKEEpLE89JChUKSxyZT0oTy51dGNPZmZzZXQoKS10aGlzLnV0Y09mZnNldCgpKSplLHllPXRoaXMtTyxCPWkoZnVuY3Rpb24oKXtyZXR1cm4gSS5tKHEsTyl9LCJEIik7c3dpdGNoKG9lKXtjYXNlIHA6Uj1CKCkvMTI7YnJlYWs7Y2FzZSB1OlI9QigpO2JyZWFrO2Nhc2UgZjpSPUIoKS8zO2JyZWFrO2Nhc2UgaDpSPSh5ZS1yZSkvNjA0OGU1O2JyZWFrO2Nhc2UgbDpSPSh5ZS1yZSkvODY0ZTU7YnJlYWs7Y2FzZSBvOlI9eWUvYTticmVhaztjYXNlIG46Uj15ZS9lO2JyZWFrO2Nhc2UgczpSPXllL3Q7YnJlYWs7ZGVmYXVsdDpSPXllfXJldHVybiBVP1I6SS5hKFIpfSxELmRheXNJbk1vbnRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZW5kT2YodSkuJER9LEQuJGxvY2FsZT1mdW5jdGlvbigpe3JldHVybiBFW3RoaXMuJExdfSxELmxvY2FsZT1mdW5jdGlvbihULEEpe2lmKCFUKXJldHVybiB0aGlzLiRMO3ZhciBVPXRoaXMuY2xvbmUoKSxSPU4oVCxBLCEwKTtyZXR1cm4gUiYmKFUuJEw9UiksVX0sRC5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBJLncodGhpcy4kZCx0aGlzKX0sRC50b0RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IERhdGUodGhpcy52YWx1ZU9mKCkpfSxELnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzVmFsaWQoKT90aGlzLnRvSVNPU3RyaW5nKCk6bnVsbH0sRC50b0lTT1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRkLnRvSVNPU3RyaW5nKCl9LEQudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZC50b1VUQ1N0cmluZygpfSx6fSkoKSxTPWoucHJvdG90eXBlO3JldHVybiAkLnByb3RvdHlwZT1TLFtbIiRtcyIscl0sWyIkcyIsc10sWyIkbSIsbl0sWyIkSCIsb10sWyIkVyIsbF0sWyIkTSIsdV0sWyIkeSIscF0sWyIkRCIsZ11dLmZvckVhY2goKGZ1bmN0aW9uKHope1NbelsxXV09ZnVuY3Rpb24oRCl7cmV0dXJuIHRoaXMuJGcoRCx6WzBdLHpbMV0pfX0pKSwkLmV4dGVuZD1mdW5jdGlvbih6LEQpe3JldHVybiB6LiRpfHwoeihELGosJCksei4kaT0hMCksJH0sJC5sb2NhbGU9TiwkLmlzRGF5anM9QywkLnVuaXg9ZnVuY3Rpb24oeil7cmV0dXJuICQoMWUzKnopfSwkLmVuPUVba10sJC5Mcz1FLCQucD17fSwkfSkpfSk7dmFyIFBRZT13dCgoUWVlLEplZSk9PnsoZnVuY3Rpb24odCxlKXt0eXBlb2YgUWVlPT0ib2JqZWN0IiYmdHlwZW9mIEplZTwidSI/SmVlLmV4cG9ydHM9ZSgpOnR5cGVvZiBkZWZpbmU9PSJmdW5jdGlvbiImJmRlZmluZS5hbWQ/ZGVmaW5lKGUpOih0PXR5cGVvZiBnbG9iYWxUaGlzPCJ1Ij9nbG9iYWxUaGlzOnR8fHNlbGYpLmRheWpzX3BsdWdpbl9pc1RvZGF5PWUoKX0pKFFlZSwoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7cmV0dXJuIGZ1bmN0aW9uKHQsZSxhKXtlLnByb3RvdHlwZS5pc1RvZGF5PWZ1bmN0aW9uKCl7dmFyIHI9IllZWVktTU0tREQiLHM9YSgpO3JldHVybiB0aGlzLmZvcm1hdChyKT09PXMuZm9ybWF0KHIpfX19KSl9KTtmdW5jdGlvbiB3bGEodCl7cmV0dXJue2RheXM6TWF0aC50cnVuYyh0Lzg2NGU1KSxob3VyczpNYXRoLnRydW5jKHQvMzZlNSUyNCksbWludXRlczpNYXRoLnRydW5jKHQvNmU0JTYwKSxzZWNvbmRzOk1hdGgudHJ1bmModC8xZTMlNjApLG1pbGxpc2Vjb25kczpNYXRoLnRydW5jKHQlMWUzKSxtaWNyb3NlY29uZHM6TWF0aC50cnVuYyhFUWUodCoxZTMpJTFlMyksbmFub3NlY29uZHM6TWF0aC50cnVuYyhFUWUodCoxZTYpJTFlMyl9fWZ1bmN0aW9uIE1sYSh0KXtyZXR1cm57ZGF5czp0Lzg2NDAwMDAwbixob3Vyczp0LzM2MDAwMDBuJTI0bixtaW51dGVzOnQvNjAwMDBuJTYwbixzZWNvbmRzOnQvMTAwMG4lNjBuLG1pbGxpc2Vjb25kczp0JTEwMDBuLG1pY3Jvc2Vjb25kczowbixuYW5vc2Vjb25kczowbn19ZnVuY3Rpb24gZXRlKHQpe3N3aXRjaCh0eXBlb2YgdCl7Y2FzZSJudW1iZXIiOntpZihOdW1iZXIuaXNGaW5pdGUodCkpcmV0dXJuIHdsYSh0KTticmVha31jYXNlImJpZ2ludCI6cmV0dXJuIE1sYSh0KX10aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZpbml0ZSBudW1iZXIgb3IgYmlnaW50Iil9dmFyIEVRZSxJUWU9YygoKT0+e0VRZT1pKHQ9Pk51bWJlci5pc0Zpbml0ZSh0KT90OjAsInRvWmVyb0lmSW5maW5pdHkiKTtpKHdsYSwicGFyc2VOdW1iZXIiKTtpKE1sYSwicGFyc2VCaWdpbnQiKTtpKGV0ZSwicGFyc2VNaWxsaXNlY29uZHMiKX0pO2Z1bmN0aW9uIHh1KHQsZSl7bGV0IGE9dHlwZW9mIHQ9PSJiaWdpbnQiO2lmKCFhJiYhTnVtYmVyLmlzRmluaXRlKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgZmluaXRlIG51bWJlciBvciBiaWdpbnQiKTtlPXsuLi5lfTtsZXQgcj10PDA/Ii0iOiIiO3Q9dDwwPy10OnQsZS5jb2xvbk5vdGF0aW9uJiYoZS5jb21wYWN0PSExLGUuZm9ybWF0U3ViTWlsbGlzZWNvbmRzPSExLGUuc2VwYXJhdGVNaWxsaXNlY29uZHM9ITEsZS52ZXJib3NlPSExKSxlLmNvbXBhY3QmJihlLnVuaXRDb3VudD0xLGUuc2Vjb25kc0RlY2ltYWxEaWdpdHM9MCxlLm1pbGxpc2Vjb25kc0RlY2ltYWxEaWdpdHM9MCk7bGV0IHM9W10sbj1pKChmLHApPT57bGV0IGc9TWF0aC5mbG9vcihmKjEwKipwK1NsYSk7cmV0dXJuKE1hdGgucm91bmQoZykvMTAqKnApLnRvRml4ZWQocCl9LCJmbG9vckRlY2ltYWxzIiksbz1pKChmLHAsZyx2KT0+e2lmKCEoKHMubGVuZ3RoPT09MHx8IWUuY29sb25Ob3RhdGlvbikmJmtsYShmKSYmIShlLmNvbG9uTm90YXRpb24mJmc9PT0ibSIpKSl7aWYodj8/PVN0cmluZyhmKSxlLmNvbG9uTm90YXRpb24pe2xldCB4PXYuaW5jbHVkZXMoIi4iKT92LnNwbGl0KCIuIilbMF0ubGVuZ3RoOnYubGVuZ3RoLGI9cy5sZW5ndGg+MD8yOjE7dj0iMCIucmVwZWF0KE1hdGgubWF4KDAsYi14KSkrdn1lbHNlIHYrPWUudmVyYm9zZT8iICIremxhKHAsZik6ZztzLnB1c2godil9fSwiYWRkIiksbD1ldGUodCksaD1CaWdJbnQobC5kYXlzKTtpZihlLmhpZGVZZWFyQW5kRGF5cz9vKEJpZ0ludChoKSoyNG4rQmlnSW50KGwuaG91cnMpLCJob3VyIiwiaCIpOihlLmhpZGVZZWFyP28oaCwiZGF5IiwiZCIpOihvKGgvMzY1biwieWVhciIsInkiKSxvKGglMzY1biwiZGF5IiwiZCIpKSxvKE51bWJlcihsLmhvdXJzKSwiaG91ciIsImgiKSksbyhOdW1iZXIobC5taW51dGVzKSwibWludXRlIiwibSIpLCFlLmhpZGVTZWNvbmRzKWlmKGUuc2VwYXJhdGVNaWxsaXNlY29uZHN8fGUuZm9ybWF0U3ViTWlsbGlzZWNvbmRzfHwhZS5jb2xvbk5vdGF0aW9uJiZ0PDFlMyYmIWUuc3ViU2Vjb25kc0FzRGVjaW1hbHMpe2xldCBmPU51bWJlcihsLnNlY29uZHMpLHA9TnVtYmVyKGwubWlsbGlzZWNvbmRzKSxnPU51bWJlcihsLm1pY3Jvc2Vjb25kcyksdj1OdW1iZXIobC5uYW5vc2Vjb25kcyk7aWYobyhmLCJzZWNvbmQiLCJzIiksZS5mb3JtYXRTdWJNaWxsaXNlY29uZHMpbyhwLCJtaWxsaXNlY29uZCIsIm1zIiksbyhnLCJtaWNyb3NlY29uZCIsIlx4QjVzIiksbyh2LCJuYW5vc2Vjb25kIiwibnMiKTtlbHNle2xldCB4PXArZy8xZTMrdi8xZTYsYj10eXBlb2YgZS5taWxsaXNlY29uZHNEZWNpbWFsRGlnaXRzPT0ibnVtYmVyIj9lLm1pbGxpc2Vjb25kc0RlY2ltYWxEaWdpdHM6MCxtPXg+PTE/TWF0aC5yb3VuZCh4KTpNYXRoLmNlaWwoeCkseT1iP3gudG9GaXhlZChiKTptO28oTnVtYmVyLnBhcnNlRmxvYXQoeSksIm1pbGxpc2Vjb25kIiwibXMiLHkpfX1lbHNle2xldCBmPShhP051bWJlcih0JUNsYSk6dCkvMWUzJTYwLHA9dHlwZW9mIGUuc2Vjb25kc0RlY2ltYWxEaWdpdHM9PSJudW1iZXIiP2Uuc2Vjb25kc0RlY2ltYWxEaWdpdHM6MSxnPW4oZixwKSx2PWUua2VlcERlY2ltYWxzT25XaG9sZVNlY29uZHM/ZzpnLnJlcGxhY2UoL1wuMCskLywiIik7byhOdW1iZXIucGFyc2VGbG9hdCh2KSwic2Vjb25kIiwicyIsdil9aWYocy5sZW5ndGg9PT0wKXJldHVybiByKyIwIisoZS52ZXJib3NlPyIgbWlsbGlzZWNvbmRzIjoibXMiKTtsZXQgdT1lLmNvbG9uTm90YXRpb24/IjoiOiIgIjtyZXR1cm4gdHlwZW9mIGUudW5pdENvdW50PT0ibnVtYmVyIiYmKHM9cy5zbGljZSgwLE1hdGgubWF4KGUudW5pdENvdW50LDEpKSkscitzLmpvaW4odSl9dmFyIGtsYSx6bGEsU2xhLENsYSxOUWU9YygoKT0+e0lRZSgpO2tsYT1pKHQ9PnQ9PT0wfHx0PT09MG4sImlzWmVybyIpLHpsYT1pKCh0LGUpPT5lPT09MXx8ZT09PTFuP3Q6YCR7dH1zYCwicGx1cmFsaXplIiksU2xhPTFlLTcsQ2xhPTI0bio2MG4qNjBuKjEwMDBuO2koeHUsInByZXR0eU1pbGxpc2Vjb25kcyIpfSk7dmFyIFlsLFJRZSxTbj1jKCgpPT57eXUoKTtqMigpO2RyKCk7R1VlKCk7RFFlKCk7WWw9WDEoQVFlKCksMSksUlFlPVgxKFBRZSgpLDEpO05RZSgpO1lsLmRlZmF1bHQuZXh0ZW5kKFJRZS5kZWZhdWx0KX0pO3ZhciB3dSx0dGU9YygoKT0+e1NuKCk7YXRlKCk7d3U9Y2xhc3N7c3RhdGlje2kodGhpcywiQ3JvbkpvYiIpfWNvbnN0cnVjdG9yKGUsYSxyKXt0aGlzLnN0YXR1cz0iaW5pdGlhbCIsdGhpcy5uZXh0RXhlY3V0aW9uVW5peD0wLHRoaXMuY3JvbkV4cHJlc3Npb249YSx0aGlzLmpvYkZ1bmN0aW9uPXIsdGhpcy5jcm9uUGFyc2VyPW5ldyBLcC5Dcm9uKGEpfWNoZWNrRXhlY3V0aW9uKCl7aWYodGhpcy5zdGF0dXM9PT0ic3RvcHBlZCIpcmV0dXJuIHRoaXMubmV4dEV4ZWN1dGlvblVuaXg7aWYodGhpcy5uZXh0RXhlY3V0aW9uVW5peD09PTAmJnRoaXMuZ2V0TmV4dEV4ZWN1dGlvblRpbWUoKSxEYXRlLm5vdygpPnRoaXMubmV4dEV4ZWN1dGlvblVuaXgpe2xldCBlPXRoaXMuam9iRnVuY3Rpb24odGhpcy5uZXh0RXhlY3V0aW9uVW5peCk7ZSBpbnN0YW5jZW9mIFByb21pc2UmJmUuY2F0Y2goYT0+Y29uc29sZS5sb2coYSkpLHRoaXMubmV4dEV4ZWN1dGlvblVuaXg9dGhpcy5nZXROZXh0RXhlY3V0aW9uVGltZSgpfXJldHVybiB0aGlzLm5leHRFeGVjdXRpb25Vbml4fWdldE5leHRFeGVjdXRpb25UaW1lKCl7cmV0dXJuIHRoaXMubmV4dEV4ZWN1dGlvblVuaXg9RGF0ZS5ub3coKSt0aGlzLmdldFRpbWVUb05leHRFeGVjdXRpb24oKX1nZXRUaW1lVG9OZXh0RXhlY3V0aW9uKCl7cmV0dXJuIHRoaXMuY3JvblBhcnNlci5tc1RvTmV4dCgpfXN0YXJ0KCl7dGhpcy5zdGF0dXM9InN0YXJ0ZWQifXN0b3AoKXt0aGlzLnN0YXR1cz0ic3RvcHBlZCJ9fX0pO3ZhciBydGUsYXRlPWMoKCk9PntTbigpO3R0ZSgpO3J0ZT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJDcm9uTWFuYWdlciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5zdGF0dXM9InN0b3BwZWQiLHRoaXMuY3JvbmpvYnM9bmV3IFQxLk9iamVjdE1hcCx0aGlzLmN5Y2xlV2FrZURlZmVycmVkPW51bGx9d2FrZUN5Y2xlKCl7dGhpcy5jeWNsZVdha2VEZWZlcnJlZCYmdGhpcy5jeWNsZVdha2VEZWZlcnJlZC5zdGF0dXM9PT0icGVuZGluZyImJnRoaXMuY3ljbGVXYWtlRGVmZXJyZWQucmVzb2x2ZSgpfWFkZENyb25qb2IoZSxhKXtsZXQgcj1uZXcgd3UodGhpcyxlLGEpO3JldHVybiB0aGlzLmNyb25qb2JzLmFkZChyKSx0aGlzLnN0YXR1cz09PSJzdGFydGVkIiYmKHIuc3RhcnQoKSx0aGlzLndha2VDeWNsZSgpKSxyfXJlbW92ZUNyb25qb2IoZSl7ZS5zdG9wKCksdGhpcy5jcm9uam9icy5yZW1vdmUoZSksdGhpcy5zdGF0dXM9PT0ic3RhcnRlZCImJnRoaXMud2FrZUN5Y2xlKCl9c3RhcnQoKXtpZih0aGlzLnN0YXR1cyE9PSJzdGFydGVkIil7dGhpcy5zdGF0dXM9InN0YXJ0ZWQiO2ZvcihsZXQgZSBvZiB0aGlzLmNyb25qb2JzLmdldEFycmF5KCkpZS5zdGFydCgpO3RoaXMucnVuQ3JvbkN5Y2xlKCl9fWFzeW5jIHJ1bkNyb25DeWNsZSgpe2Zvcig7dGhpcy5zdGF0dXM9PT0ic3RhcnRlZCI7KXt0aGlzLmN5Y2xlV2FrZURlZmVycmVkPW5ldyBKZS5EZWZlcnJlZDtsZXQgZT0xLzA7Zm9yKGxldCBhIG9mIHRoaXMuY3JvbmpvYnMuZ2V0QXJyYXkoKSl7YS5jaGVja0V4ZWN1dGlvbigpO2xldCByPWEuZ2V0VGltZVRvTmV4dEV4ZWN1dGlvbigpO3I8ZSYmKGU9cil9aWYoZTwxLzAmJmU+MCl0aGlzLmV4ZWN1dGlvblRpbWVvdXQ9bmV3IFN0LlRpbWVvdXQoZSksYXdhaXQgUHJvbWlzZS5yYWNlKFt0aGlzLmV4ZWN1dGlvblRpbWVvdXQucHJvbWlzZSx0aGlzLmN5Y2xlV2FrZURlZmVycmVkLnByb21pc2VdKSx0aGlzLmV4ZWN1dGlvblRpbWVvdXQuY2FuY2VsKCk7ZWxzZXtpZihlPD0wKWNvbnRpbnVlO2F3YWl0IHRoaXMuY3ljbGVXYWtlRGVmZXJyZWQucHJvbWlzZX19dGhpcy5jeWNsZVdha2VEZWZlcnJlZD1udWxsfXN0b3AoKXt0aGlzLnN0YXR1cz09PSJzdGFydGVkIiYmKHRoaXMuc3RhdHVzPSJzdG9wcGVkIix0aGlzLmV4ZWN1dGlvblRpbWVvdXQmJnRoaXMuZXhlY3V0aW9uVGltZW91dC5jYW5jZWwoKSx0aGlzLndha2VDeWNsZSgpKTtmb3IobGV0IGUgb2YgdGhpcy5jcm9uam9icy5nZXRBcnJheSgpKWUuc3RvcCgpfX19KTt2YXIgQ24saXRlLF9sYSxUbGEsc3RlPWMoKCk9PntTbigpO0NuPXt5ZWFyczppKCh0PTEpPT50KjMxNTRlNywieWVhcnMiKSxtb250aHM6aSgodD0xKT0+dCoyNjI4ZTYsIm1vbnRocyIpLHdlZWtzOmkoKHQ9MSk9PnQqNjA0OGU1LCJ3ZWVrcyIpLGRheXM6aSgodD0xKT0+dCo4NjRlNSwiZGF5cyIpLGhvdXJzOmkoKHQ9MSk9PnQqMzZlNSwiaG91cnMiKSxtaW51dGVzOmkoKHQ9MSk9PnQqNmU0LCJtaW51dGVzIiksc2Vjb25kczppKCh0PTEpPT50KjFlMywic2Vjb25kcyIpfSxpdGU9aSh0PT57bGV0IGU9MCxhPWkocj0+e2U9ZStyfSwiYWRkTWlsbGlTZWNvbmRzIik7cmV0dXJuIHQueWVhcnMmJmEoQ24ueWVhcnModC55ZWFycykpLHQubW9udGhzJiZhKENuLm1vbnRocyh0Lm1vbnRocykpLHQud2Vla3MmJmEoQ24ud2Vla3ModC53ZWVrcykpLHQuZGF5cyYmYShDbi5kYXlzKHQuZGF5cykpLHQuaG91cnMmJmEoQ24uaG91cnModC5ob3VycykpLHQubWludXRlcyYmYShDbi5taW51dGVzKHQubWludXRlcykpLHQuc2Vjb25kcyYmYShDbi5zZWNvbmRzKHQuc2Vjb25kcykpLGV9LCJnZXRNaWxsaVNlY29uZHNGcm9tVW5pdHMiKSxfbGE9aSh0PT54dSh0KSwiZ2V0TWlsbGlTZWNvbmRzQXNIdW1hblJlYWRhYmxlU3RyaW5nIiksVGxhPWkodD0+dnUuZm9ybWF0RGlzdGFuY2VUb05vdyhuZXcgRGF0ZSh0KSksImdldE1pbGxpU2Vjb25kc0FzSHVtYW5SZWFkYWJsZUFnb1RpbWUiKX0pO3ZhciBvdGUsRlFlPWMoKCk9PntTbigpO3N0ZSgpO290ZT1jbGFzcyB0IGV4dGVuZHMgRGF0ZXtzdGF0aWN7aSh0aGlzLCJFeHRlbmRlZERhdGUiKX1zdGF0aWMgZnJvbU1pbGxpcyhlKXtyZXR1cm4gbmV3IHQoZSl9c3RhdGljIGZyb21EYXRlKGUpe3JldHVybiBuZXcgdChlLmdldFRpbWUoKSl9c3RhdGljIGZyb21FdXJvcGVhbkRhdGUoZSl7bGV0IGE9LyguKilcLiguKilcLiguKikvLmV4ZWMoZSkscz1uZXcgRGF0ZShwYXJzZUZsb2F0KGFbM10pLHBhcnNlRmxvYXQoYVsyXSktMSxwYXJzZUZsb2F0KGFbMV0pKS5nZXRUaW1lKCk7cmV0dXJuIG5ldyB0KHMpfXN0YXRpYyBmcm9tSHlwaGVkRGF0ZShlKXtsZXQgYT1uZXcgRGF0ZShlKS5nZXRUaW1lKCk7cmV0dXJuIG5ldyB0KGEpfXN0YXRpYyBmcm9tRXVyb3BlYW5EYXRlQW5kVGltZShlLGE9IjEyOjAwOjAwIixyPSJFdXJvcGUvQmVybGluIil7bGV0IHM9LyguKilcLiguKilcLiguKikvLmV4ZWMoZSksbj1pKHU9PmAwJHt1fWAuc2xpY2UoLTIpLCJzbGljZURhdGUiKSxvPWAke3NbM119LSR7bihzWzJdKX0tJHtuKHNbMV0pfVQke2F9YCxoPVlsLmRlZmF1bHQobykudG9EYXRlKCkuZ2V0VGltZSgpO3JldHVybiBuZXcgdChoKX1jb25zdHJ1Y3RvcihlPURhdGUubm93KCkpe3N1cGVyKGUpfWV4cG9ydFRvRXVyb3BlYW5EYXRlKCl7bGV0IGU9dGhpcy5leHBvcnRUb1VuaXRzKCk7cmV0dXJuYCR7ZS5kYXlTdHJpbmd9LiR7ZS5tb250aFN0cmluZ30uJHtlLnllYXJTdHJpbmd9YH1leHBvcnRUb0h5cGhlZFNvcnRhYmxlRGF0ZSgpe2xldCBlPXRoaXMuZXhwb3J0VG9Vbml0cygpO3JldHVybmAke2UueWVhclN0cmluZ30tJHtlLm1vbnRoU3RyaW5nfS0ke2UuZGF5U3RyaW5nfWB9ZXhwb3J0VG9Vbml0cygpe2xldCBlPVsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxhPVsiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiLCJTdW5kYXkiXTtyZXR1cm57eWVhcjp0aGlzLmdldEZ1bGxZZWFyKCkseWVhclN0cmluZzpgJHt0aGlzLmdldEZ1bGxZZWFyKCl9YCxtb250aDp0aGlzLmdldE1vbnRoKCkrMSxtb250aFN0cmluZzooIjAiKyh0aGlzLmdldE1vbnRoKCkrMSkpLnNsaWNlKC0yKSxtb250aE5hbWU6ZVt0aGlzLmdldE1vbnRoKCldLGRheTp0aGlzLmdldERhdGUoKSxkYXlTdHJpbmc6KCIwIit0aGlzLmdldERhdGUoKSkuc2xpY2UoLTIpLGRheU9mVGhlV2Vlazp0aGlzLmdldERheSgpLGRheU9mVGhlV2Vla05hbWU6YVt0aGlzLmdldERheSgpXX19Zm9ybWF0KGUpe3JldHVybiBZbC5kZWZhdWx0KHRoaXMuZ2V0VGltZSgpKS5mb3JtYXQoZSl9aXNUb2RheSgpe3JldHVybiBZbC5kZWZhdWx0KHRoaXMuZ2V0VGltZSgpKS5pc1RvZGF5KCl9bGVzc1RpbWVQYXNzZWRUb05vdyhlKXtsZXQgYT1pdGUoZSk7cmV0dXJuIERhdGUubm93KCktdGhpcy5nZXRUaW1lKCk8YX1tb3JlVGltZVBhc3NlZFRvTm93KGUpe3JldHVybiF0aGlzLmxlc3NUaW1lUGFzc2VkVG9Ob3coZSl9fX0pO3ZhciBudGUsT1FlPWMoKCk9PntudGU9Y2xhc3N7c3RhdGlje2kodGhpcywiSHJ0TWVhc3VyZW1lbnQiKX1jb25zdHJ1Y3Rvcigpe3RoaXMubmFub1NlY29uZHM9bnVsbCx0aGlzLm1pbGxpU2Vjb25kcz1udWxsLHRoaXMuX21pbGxpU3RhcnQ9bnVsbCx0aGlzLl9taWxsaURpZmY9bnVsbCx0aGlzLl9zdGFydGVkPSExfXN0YXJ0KCl7dGhpcy5fc3RhcnRlZD0hMCx0aGlzLl9taWxsaVN0YXJ0PURhdGUubm93KCl9c3RvcCgpe2lmKHRoaXMuX3N0YXJ0ZWQ9PT0hMSl7Y29uc29sZS5sb2coIkhhc24ndCBzdGFydGVkIHlldCIpO3JldHVybn1yZXR1cm4gdGhpcy5fbWlsbGlEaWZmPURhdGUubm93KCktdGhpcy5fbWlsbGlTdGFydCx0aGlzLm5hbm9TZWNvbmRzPXRoaXMuX21pbGxpRGlmZioxZTMsdGhpcy5taWxsaVNlY29uZHM9dGhpcy5fbWlsbGlEaWZmLHRoaXN9cmVzZXQoKXt0aGlzLm5hbm9TZWNvbmRzPW51bGwsdGhpcy5taWxsaVNlY29uZHM9bnVsbCx0aGlzLl9taWxsaVN0YXJ0PW51bGwsdGhpcy5fbWlsbGlEaWZmPW51bGwsdGhpcy5fc3RhcnRlZD0hMX19fSk7dmFyIGx0ZSxCUWU9YygoKT0+e1NuKCk7bHRlPWNsYXNze3N0YXRpY3tpKHRoaXMsIkludGVydmFsIil9Y29uc3RydWN0b3IoZSl7dGhpcy5zdGF0dXM9ImluaXRpYWwiLHRoaXMuc3RhdHVzQXV0aG9yaXphdGlvbj1udWxsLHRoaXMuaW50ZXJ2YWxKb2JzPVtdLHRoaXMuaW50ZXJ2YWxNaWxsaXNlY29uZHM9ZX1zdGFydCgpe3RoaXMuc3RhdHVzPSJzdGFydGVkIjtsZXQgZT1uZXcgRGF0ZTt0aGlzLnN0YXR1c0F1dGhvcml6YXRpb249ZSxpKGFzeW5jKCk9Pntmb3IoO3RoaXMuc3RhdHVzPT09InN0YXJ0ZWQiJiZ0aGlzLnN0YXR1c0F1dGhvcml6YXRpb249PT1lOylhd2FpdCBTdC5kZWxheUZvcih0aGlzLmludGVydmFsTWlsbGlzZWNvbmRzKSx0aGlzLmV4ZWN1dGVJbnRlcnZhbEpvYnMoKX0sInJ1bkludGVydmFsIikoKX1zdG9wKCl7dGhpcy5zdGF0dXM9InN0b3BwZWQiLHRoaXMuc3RhdHVzQXV0aG9yaXphdGlvbj1udWxsfWFkZEludGVydmFsSm9iKGUpe3RoaXMuaW50ZXJ2YWxKb2JzLnB1c2goZSl9ZXhlY3V0ZUludGVydmFsSm9icygpe2ZvcihsZXQgZSBvZiB0aGlzLmludGVydmFsSm9icyllKCl9fX0pO3ZhciBENSxjdGU9YygoKT0+e1NuKCk7RDU9Y2xhc3MgdHtzdGF0aWN7aSh0aGlzLCJUaW1lU3RhbXAiKX1zdGF0aWMgZnJvbU1pbGxpU2Vjb25kcyhlKXtyZXR1cm4gbmV3IHQoZSl9c3RhdGljIGZyb21UaW1lU3RhbXAoZSl7bGV0IGE9bmV3IHQ7cmV0dXJuIGEuY2hhbmdlPWEubWlsbGlTZWNvbmRzLWUubWlsbGlTZWNvbmRzLGF9Y29uc3RydWN0b3IoZSl7dGhpcy5jaGFuZ2U9bnVsbCxlP3R5cGVvZiBlPT0ibnVtYmVyIiYmKHRoaXMuZGF0ZT1uZXcgRGF0ZShlKSk6dGhpcy5kYXRlPW5ldyBEYXRlLHRoaXMubWlsbGlTZWNvbmRzPXRoaXMuZGF0ZS5nZXRUaW1lKCksdGhpcy5lcG9jaHRpbWU9TWF0aC5mbG9vcih0aGlzLm1pbGxpU2Vjb25kcy8xZTMpfWlzT2xkZXJUaGFuT3RoZXJUaW1lU3RhbXAoZSxhPTApe3JldHVybiB0aGlzLm1pbGxpU2Vjb25kczxlLm1pbGxpU2Vjb25kcy1hfWlzT2xkZXJUaGFuKGUsYT0wKXtyZXR1cm4gdGhpcy5taWxsaVNlY29uZHMrYTxlLm1pbGxpU2Vjb25kc31pc1lvdW5nZXJUaGFuT3RoZXJUaW1lU3RhbXAoZSxhPTApe3JldHVybiB0aGlzLm1pbGxpU2Vjb25kcz5lLm1pbGxpU2Vjb25kcythfWlzWW91bmdlclRoYW5NaWxsaVNlY29uZHMoZSl7bGV0IHI9bmV3IHQoKS5lcG9jaHRpbWUtZSxzPW5ldyB0KHIpO3JldHVybiB0aGlzLmlzWW91bmdlclRoYW5PdGhlclRpbWVTdGFtcChzKX19fSk7dmFyIGR0ZSxIUWU9YygoKT0+e1NuKCk7Y3RlKCk7ZHRlPWNsYXNze3N0YXRpY3tpKHRoaXMsIlRpbWVyIil9Z2V0IHRpbWVMZWZ0KCl7cmV0dXJuIHRoaXMudGltZUluTWlsbGlzZWNvbmRzLXRoaXMucGF1c2VkQXQuY2hhbmdlfWNvbnN0cnVjdG9yKGUpe3RoaXMuc3RhdGU9ImluaXRpYXRlZCIsdGhpcy5jb21wbGV0ZWREZWZlcnJlZD1KZS5kZWZlcigpLHRoaXMudGltZUluTWlsbGlzZWNvbmRzPWUsdGhpcy5jb21wbGV0ZWQ9dGhpcy5jb21wbGV0ZWREZWZlcnJlZC5wcm9taXNlfXN0YXJ0KCl7aWYoIXRoaXMuc3RhcnRlZEF0KXRoaXMuY3VycmVudFRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuY29tcGxldGVkRGVmZXJyZWQucmVzb2x2ZSgpfSx0aGlzLnRpbWVJbk1pbGxpc2Vjb25kcyksdGhpcy5zdGFydGVkQXQ9bmV3IEQ1O2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJ0aW1lciBoYXMgYmVlbiBzdGFydGVkIGJlZm9yZS4gUGxlYXNlIHVzZSByZXN1bWUgaW5zdGVhZCIpfXBhdXNlKCl7dGhpcy5zdGFydGVkQXQmJihjbGVhclRpbWVvdXQodGhpcy5jdXJyZW50VGltZW91dCksdGhpcy5jdXJyZW50VGltZW91dD1udWxsLHRoaXMucGF1c2VkQXQ9RDUuZnJvbVRpbWVTdGFtcCh0aGlzLnN0YXJ0ZWRBdCkpfXJlc3VtZSgpe2lmKHRoaXMuc3RhcnRlZEF0KXRoaXMuY3VycmVudFRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuY29tcGxldGVkRGVmZXJyZWQucmVzb2x2ZSgpfSx0aGlzLnRpbWVMZWZ0KTtlbHNlIHRocm93IG5ldyBFcnJvcigidGltZXIgaGFzIE5PVCBiZWVuIHN0YXJ0ZWQgYmVmb3JlLiBQbGVhc2UgdXNlIC5zdGFydCgpIGluc3RlYWQiKX1yZXNldCgpe3RoaXMucGF1c2UoKSx0aGlzLnN0YXJ0ZWRBdD1udWxsLHRoaXMucGF1c2VkQXQ9bnVsbH19fSk7dmFyIFpsPXt9O2V0KFpsLHtDcm9uSm9iOigpPT53dSxDcm9uTWFuYWdlcjooKT0+cnRlLEV4dGVuZGVkRGF0ZTooKT0+b3RlLEhydE1lYXN1cmVtZW50OigpPT5udGUsSW50ZXJ2YWw6KCk9Pmx0ZSxUaW1lU3RhbXA6KCk9PkQ1LFRpbWVyOigpPT5kdGUsZ2V0TWlsbGlTZWNvbmRzQXNIdW1hblJlYWRhYmxlQWdvVGltZTooKT0+VGxhLGdldE1pbGxpU2Vjb25kc0FzSHVtYW5SZWFkYWJsZVN0cmluZzooKT0+X2xhLGdldE1pbGxpU2Vjb25kc0Zyb21Vbml0czooKT0+aXRlLHVuaXRzOigpPT5Dbn0pO3ZhciBxUWU9YygoKT0+e2F0ZSgpO3R0ZSgpO0ZRZSgpO09RZSgpO0JRZSgpO0hRZSgpO2N0ZSgpO3N0ZSgpfSk7dmFyIGpRZT13dCgoQzgxLFZRZSk9PnsidXNlIHN0cmljdCI7VlFlLmV4cG9ydHM9Y2xhc3N7c3RhdGlje2kodGhpcywiU3ltYm9sVHJlZU5vZGUiKX1jb25zdHJ1Y3Rvcigpe3RoaXMucGFyZW50PW51bGwsdGhpcy5wcmV2aW91c1NpYmxpbmc9bnVsbCx0aGlzLm5leHRTaWJsaW5nPW51bGwsdGhpcy5maXJzdENoaWxkPW51bGwsdGhpcy5sYXN0Q2hpbGQ9bnVsbCx0aGlzLmNoaWxkcmVuVmVyc2lvbj0wLHRoaXMuY2hpbGRJbmRleENhY2hlZFVwVG89bnVsbCx0aGlzLmNhY2hlZEluZGV4PS0xLHRoaXMuY2FjaGVkSW5kZXhWZXJzaW9uPU5hTn1nZXQgaXNBdHRhY2hlZCgpe3JldHVybiEhKHRoaXMucGFyZW50fHx0aGlzLnByZXZpb3VzU2libGluZ3x8dGhpcy5uZXh0U2libGluZyl9Z2V0IGhhc0NoaWxkcmVuKCl7cmV0dXJuISF0aGlzLmZpcnN0Q2hpbGR9Y2hpbGRyZW5DaGFuZ2VkKCl7dGhpcy5jaGlsZHJlblZlcnNpb249dGhpcy5jaGlsZHJlblZlcnNpb24rMSY0Mjk0OTY3Mjk1LHRoaXMuY2hpbGRJbmRleENhY2hlZFVwVG89bnVsbH1nZXRDYWNoZWRJbmRleChlKXtyZXR1cm4gdGhpcy5jYWNoZWRJbmRleFZlcnNpb24hPT1lLmNoaWxkcmVuVmVyc2lvbj8odGhpcy5jYWNoZWRJbmRleFZlcnNpb249TmFOLC0xKTp0aGlzLmNhY2hlZEluZGV4fXNldENhY2hlZEluZGV4KGUsYSl7dGhpcy5jYWNoZWRJbmRleFZlcnNpb249ZS5jaGlsZHJlblZlcnNpb24sdGhpcy5jYWNoZWRJbmRleD1hfX19KTt2YXIgV1FlPXd0KChUODEsVVFlKT0+eyJ1c2Ugc3RyaWN0IjtVUWUuZXhwb3J0cz1PYmplY3QuZnJlZXplKHtESVNDT05ORUNURUQ6MSxQUkVDRURJTkc6MixGT0xMT1dJTkc6NCxDT05UQUlOUzo4LENPTlRBSU5FRF9CWToxNn0pfSk7dmFyIEtRZT13dCgoTDgxLFhRZSk9PnsidXNlIHN0cmljdCI7dmFyIEdRZT1TeW1ib2woKSxZUWU9U3ltYm9sKCksX249U3ltYm9sKCksWlFlPVN5bWJvbCgpLHBzPWNsYXNze3N0YXRpY3tpKHRoaXMsIlRyZWVJdGVyYXRvciIpfWNvbnN0cnVjdG9yKGUsYSxyLHMpe3RoaXNbR1FlXT1lLHRoaXNbWVFlXT1hLHRoaXNbX25dPXIsdGhpc1taUWVdPXN9bmV4dCgpe2xldCBlPXRoaXNbR1FlXSxhPXRoaXNbWlFlXSxyPXRoaXNbWVFlXTtpZighdGhpc1tfbl0pcmV0dXJue2RvbmU6ITAsdmFsdWU6cn07bGV0IHM9dGhpc1tfbl07cmV0dXJuIGE9PT0xP3RoaXNbX25dPWUuX25vZGUocykucHJldmlvdXNTaWJsaW5nOmE9PT0yP3RoaXNbX25dPWUuX25vZGUocykubmV4dFNpYmxpbmc6YT09PTM/dGhpc1tfbl09ZS5fbm9kZShzKS5wYXJlbnQ6YT09PTQ/dGhpc1tfbl09ZS5wcmVjZWRpbmcocyx7cm9vdDpyfSk6dGhpc1tfbl09ZS5mb2xsb3dpbmcocyx7cm9vdDpyfSkse2RvbmU6ITEsdmFsdWU6c319fTtPYmplY3QuZGVmaW5lUHJvcGVydHkocHMucHJvdG90eXBlLFN5bWJvbC5pdGVyYXRvcix7dmFsdWU6aShmdW5jdGlvbigpe3JldHVybiB0aGlzfSwidmFsdWUiKSx3cml0YWJsZTohMX0pLHBzLlBSRVY9MSxwcy5ORVhUPTIscHMuUEFSRU5UPTMscHMuUFJFQ0VESU5HPTQscHMuRk9MTE9XSU5HPTUsT2JqZWN0LmZyZWV6ZShwcyksT2JqZWN0LmZyZWV6ZShwcy5wcm90b3R5cGUpLFhRZS5leHBvcnRzPXBzfSk7dmFyIEpRZT13dCgoRDgxLFFRZSk9PnsidXNlIHN0cmljdCI7dmFyICRsYT1qUWUoKSxUbj1XUWUoKSxOaT1LUWUoKTtmdW5jdGlvbiBwdGUoKXtyZXR1cm4hMH1pKHB0ZSwicmV0dXJuVHJ1ZSIpO2Z1bmN0aW9uIEE1KHQsZSl7cmV0dXJuIHRbdC5sZW5ndGgtMS1lXX1pKEE1LCJyZXZlcnNlQXJyYXlJbmRleCIpO3ZhciBtaj1jbGFzc3tzdGF0aWN7aSh0aGlzLCJTeW1ib2xUcmVlIil9Y29uc3RydWN0b3IoZSl7dGhpcy5zeW1ib2w9U3ltYm9sKGV8fCJTeW1ib2xUcmVlIGRhdGEiKX1pbml0aWFsaXplKGUpe3JldHVybiB0aGlzLl9ub2RlKGUpLGV9X25vZGUoZSl7aWYoIWUpcmV0dXJuIG51bGw7bGV0IGE9ZVt0aGlzLnN5bWJvbF07cmV0dXJuIGF8fChlW3RoaXMuc3ltYm9sXT1uZXcgJGxhKX1oYXNDaGlsZHJlbihlKXtyZXR1cm4gdGhpcy5fbm9kZShlKS5oYXNDaGlsZHJlbn1maXJzdENoaWxkKGUpe3JldHVybiB0aGlzLl9ub2RlKGUpLmZpcnN0Q2hpbGR9bGFzdENoaWxkKGUpe3JldHVybiB0aGlzLl9ub2RlKGUpLmxhc3RDaGlsZH1wcmV2aW91c1NpYmxpbmcoZSl7cmV0dXJuIHRoaXMuX25vZGUoZSkucHJldmlvdXNTaWJsaW5nfW5leHRTaWJsaW5nKGUpe3JldHVybiB0aGlzLl9ub2RlKGUpLm5leHRTaWJsaW5nfXBhcmVudChlKXtyZXR1cm4gdGhpcy5fbm9kZShlKS5wYXJlbnR9bGFzdEluY2x1c2l2ZURlc2NlbmRhbnQoZSl7bGV0IGEscj1lO2Zvcig7YT10aGlzLl9ub2RlKHIpLmxhc3RDaGlsZDspcj1hO3JldHVybiByfXByZWNlZGluZyhlLGEpe2xldCByPWEmJmEucm9vdDtpZihlPT09cilyZXR1cm4gbnVsbDtsZXQgcz10aGlzLl9ub2RlKGUpLnByZXZpb3VzU2libGluZztyZXR1cm4gcz90aGlzLmxhc3RJbmNsdXNpdmVEZXNjZW5kYW50KHMpOnRoaXMuX25vZGUoZSkucGFyZW50fWZvbGxvd2luZyhlLGEpe2xldCByPWEmJmEucm9vdCxuPSEoYSYmYS5za2lwQ2hpbGRyZW4pJiZ0aGlzLl9ub2RlKGUpLmZpcnN0Q2hpbGQ7aWYobilyZXR1cm4gbjtsZXQgbz1lO2Rve2lmKG89PT1yKXJldHVybiBudWxsO2xldCBsPXRoaXMuX25vZGUobykubmV4dFNpYmxpbmc7aWYobClyZXR1cm4gbDtvPXRoaXMuX25vZGUobykucGFyZW50fXdoaWxlKG8pO3JldHVybiBudWxsfWNoaWxkcmVuVG9BcnJheShlLGEpe2xldCByPWEmJmEuYXJyYXl8fFtdLHM9YSYmYS5maWx0ZXJ8fHB0ZSxuPWEmJmEudGhpc0FyZ3x8dm9pZCAwLG89dGhpcy5fbm9kZShlKSxsPW8uZmlyc3RDaGlsZCxoPTA7Zm9yKDtsOyl7bGV0IHU9dGhpcy5fbm9kZShsKTt1LnNldENhY2hlZEluZGV4KG8saCkscy5jYWxsKG4sbCkmJnIucHVzaChsKSxsPXUubmV4dFNpYmxpbmcsKytofXJldHVybiByfWFuY2VzdG9yc1RvQXJyYXkoZSxhKXtsZXQgcj1hJiZhLmFycmF5fHxbXSxzPWEmJmEuZmlsdGVyfHxwdGUsbj1hJiZhLnRoaXNBcmd8fHZvaWQgMCxvPWU7Zm9yKDtvOylzLmNhbGwobixvKSYmci5wdXNoKG8pLG89dGhpcy5fbm9kZShvKS5wYXJlbnQ7cmV0dXJuIHJ9dHJlZVRvQXJyYXkoZSxhKXtsZXQgcj1hJiZhLmFycmF5fHxbXSxzPWEmJmEuZmlsdGVyfHxwdGUsbj1hJiZhLnRoaXNBcmd8fHZvaWQgMCxvPWU7Zm9yKDtvOylzLmNhbGwobixvKSYmci5wdXNoKG8pLG89dGhpcy5mb2xsb3dpbmcobyx7cm9vdDplfSk7cmV0dXJuIHJ9Y2hpbGRyZW5JdGVyYXRvcihlLGEpe2xldCByPWEmJmEucmV2ZXJzZSxzPXRoaXMuX25vZGUoZSk7cmV0dXJuIG5ldyBOaSh0aGlzLGUscj9zLmxhc3RDaGlsZDpzLmZpcnN0Q2hpbGQscj9OaS5QUkVWOk5pLk5FWFQpfXByZXZpb3VzU2libGluZ3NJdGVyYXRvcihlKXtyZXR1cm4gbmV3IE5pKHRoaXMsZSx0aGlzLl9ub2RlKGUpLnByZXZpb3VzU2libGluZyxOaS5QUkVWKX1uZXh0U2libGluZ3NJdGVyYXRvcihlKXtyZXR1cm4gbmV3IE5pKHRoaXMsZSx0aGlzLl9ub2RlKGUpLm5leHRTaWJsaW5nLE5pLk5FWFQpfWFuY2VzdG9yc0l0ZXJhdG9yKGUpe3JldHVybiBuZXcgTmkodGhpcyxlLGUsTmkuUEFSRU5UKX10cmVlSXRlcmF0b3IoZSxhKXtsZXQgcj1hJiZhLnJldmVyc2U7cmV0dXJuIG5ldyBOaSh0aGlzLGUscj90aGlzLmxhc3RJbmNsdXNpdmVEZXNjZW5kYW50KGUpOmUscj9OaS5QUkVDRURJTkc6TmkuRk9MTE9XSU5HKX1pbmRleChlKXtsZXQgYT10aGlzLl9ub2RlKGUpLHI9dGhpcy5fbm9kZShhLnBhcmVudCk7aWYoIXIpcmV0dXJuLTE7bGV0IHM9YS5nZXRDYWNoZWRJbmRleChyKTtpZihzPj0wKXJldHVybiBzO3M9MDtsZXQgbj1yLmZpcnN0Q2hpbGQ7aWYoci5jaGlsZEluZGV4Q2FjaGVkVXBUbyl7bGV0IG89dGhpcy5fbm9kZShyLmNoaWxkSW5kZXhDYWNoZWRVcFRvKTtuPW8ubmV4dFNpYmxpbmcscz1vLmdldENhY2hlZEluZGV4KHIpKzF9Zm9yKDtuOyl7bGV0IG89dGhpcy5fbm9kZShuKTtpZihvLnNldENhY2hlZEluZGV4KHIscyksbj09PWUpYnJlYWs7KytzLG49by5uZXh0U2libGluZ31yZXR1cm4gci5jaGlsZEluZGV4Q2FjaGVkVXBUbz1lLHN9Y2hpbGRyZW5Db3VudChlKXtsZXQgYT10aGlzLl9ub2RlKGUpO3JldHVybiBhLmxhc3RDaGlsZD90aGlzLmluZGV4KGEubGFzdENoaWxkKSsxOjB9Y29tcGFyZVRyZWVQb3NpdGlvbihlLGEpe2lmKGU9PT1hKXJldHVybiAwO2xldCByPVtdO3tsZXQgZj1lO2Zvcig7Zjspe2lmKGY9PT1hKXJldHVybiBUbi5DT05UQUlOU3xUbi5QUkVDRURJTkc7ci5wdXNoKGYpLGY9dGhpcy5wYXJlbnQoZil9fWxldCBzPVtdO3tsZXQgZj1hO2Zvcig7Zjspe2lmKGY9PT1lKXJldHVybiBUbi5DT05UQUlORURfQll8VG4uRk9MTE9XSU5HO3MucHVzaChmKSxmPXRoaXMucGFyZW50KGYpfX1sZXQgbj1BNShyLDApO2lmKCFufHxuIT09QTUocywwKSlyZXR1cm4gVG4uRElTQ09OTkVDVEVEO2xldCBvPTAsbD1NYXRoLm1pbihyLmxlbmd0aCxzLmxlbmd0aCk7Zm9yKGxldCBmPTA7ZjxsOysrZil7bGV0IHA9QTUocixmKSxnPUE1KHMsZik7aWYocCE9PWcpYnJlYWs7bz1mfWxldCBoPXRoaXMuaW5kZXgoQTUocixvKzEpKTtyZXR1cm4gdGhpcy5pbmRleChBNShzLG8rMSkpPGg/VG4uUFJFQ0VESU5HOlRuLkZPTExPV0lOR31yZW1vdmUoZSl7bGV0IGE9dGhpcy5fbm9kZShlKSxyPXRoaXMuX25vZGUoYS5wYXJlbnQpLHM9dGhpcy5fbm9kZShhLnByZXZpb3VzU2libGluZyksbj10aGlzLl9ub2RlKGEubmV4dFNpYmxpbmcpO3JldHVybiByJiYoci5maXJzdENoaWxkPT09ZSYmKHIuZmlyc3RDaGlsZD1hLm5leHRTaWJsaW5nKSxyLmxhc3RDaGlsZD09PWUmJihyLmxhc3RDaGlsZD1hLnByZXZpb3VzU2libGluZykpLHMmJihzLm5leHRTaWJsaW5nPWEubmV4dFNpYmxpbmcpLG4mJihuLnByZXZpb3VzU2libGluZz1hLnByZXZpb3VzU2libGluZyksYS5wYXJlbnQ9bnVsbCxhLnByZXZpb3VzU2libGluZz1udWxsLGEubmV4dFNpYmxpbmc9bnVsbCxhLmNhY2hlZEluZGV4PS0xLGEuY2FjaGVkSW5kZXhWZXJzaW9uPU5hTixyJiZyLmNoaWxkcmVuQ2hhbmdlZCgpLGV9aW5zZXJ0QmVmb3JlKGUsYSl7bGV0IHI9dGhpcy5fbm9kZShlKSxzPXRoaXMuX25vZGUoci5wcmV2aW91c1NpYmxpbmcpLG49dGhpcy5fbm9kZShhKSxvPXRoaXMuX25vZGUoci5wYXJlbnQpO2lmKG4uaXNBdHRhY2hlZCl0aHJvdyBFcnJvcigiR2l2ZW4gb2JqZWN0IGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGlzIFN5bWJvbFRyZWUsIHJlbW92ZSBpdCBmaXJzdCIpO3JldHVybiBuLnBhcmVudD1yLnBhcmVudCxuLnByZXZpb3VzU2libGluZz1yLnByZXZpb3VzU2libGluZyxuLm5leHRTaWJsaW5nPWUsci5wcmV2aW91c1NpYmxpbmc9YSxzJiYocy5uZXh0U2libGluZz1hKSxvJiZvLmZpcnN0Q2hpbGQ9PT1lJiYoby5maXJzdENoaWxkPWEpLG8mJm8uY2hpbGRyZW5DaGFuZ2VkKCksYX1pbnNlcnRBZnRlcihlLGEpe2xldCByPXRoaXMuX25vZGUoZSkscz10aGlzLl9ub2RlKHIubmV4dFNpYmxpbmcpLG49dGhpcy5fbm9kZShhKSxvPXRoaXMuX25vZGUoci5wYXJlbnQpO2lmKG4uaXNBdHRhY2hlZCl0aHJvdyBFcnJvcigiR2l2ZW4gb2JqZWN0IGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGlzIFN5bWJvbFRyZWUsIHJlbW92ZSBpdCBmaXJzdCIpO3JldHVybiBuLnBhcmVudD1yLnBhcmVudCxuLnByZXZpb3VzU2libGluZz1lLG4ubmV4dFNpYmxpbmc9ci5uZXh0U2libGluZyxyLm5leHRTaWJsaW5nPWEscyYmKHMucHJldmlvdXNTaWJsaW5nPWEpLG8mJm8ubGFzdENoaWxkPT09ZSYmKG8ubGFzdENoaWxkPWEpLG8mJm8uY2hpbGRyZW5DaGFuZ2VkKCksYX1wcmVwZW5kQ2hpbGQoZSxhKXtsZXQgcj10aGlzLl9ub2RlKGUpLHM9dGhpcy5fbm9kZShhKTtpZihzLmlzQXR0YWNoZWQpdGhyb3cgRXJyb3IoIkdpdmVuIG9iamVjdCBpcyBhbHJlYWR5IHByZXNlbnQgaW4gdGhpcyBTeW1ib2xUcmVlLCByZW1vdmUgaXQgZmlyc3QiKTtyZXR1cm4gci5oYXNDaGlsZHJlbj90aGlzLmluc2VydEJlZm9yZShyLmZpcnN0Q2hpbGQsYSk6KHMucGFyZW50PWUsci5maXJzdENoaWxkPWEsci5sYXN0Q2hpbGQ9YSxyLmNoaWxkcmVuQ2hhbmdlZCgpKSxhfWFwcGVuZENoaWxkKGUsYSl7bGV0IHI9dGhpcy5fbm9kZShlKSxzPXRoaXMuX25vZGUoYSk7aWYocy5pc0F0dGFjaGVkKXRocm93IEVycm9yKCJHaXZlbiBvYmplY3QgaXMgYWxyZWFkeSBwcmVzZW50IGluIHRoaXMgU3ltYm9sVHJlZSwgcmVtb3ZlIGl0IGZpcnN0Iik7cmV0dXJuIHIuaGFzQ2hpbGRyZW4/dGhpcy5pbnNlcnRBZnRlcihyLmxhc3RDaGlsZCxhKToocy5wYXJlbnQ9ZSxyLmZpcnN0Q2hpbGQ9YSxyLmxhc3RDaGlsZD1hLHIuY2hpbGRyZW5DaGFuZ2VkKCkpLGF9fTtRUWUuZXhwb3J0cz1taixtai5UcmVlUG9zaXRpb249VG59KTt2YXIgZ2osUmk9YygoKT0+e2oyKCk7QlVlKCk7ZHIoKTtjcygpO3FRZSgpO2dqPVgxKEpRZSgpLDEpfSk7dmFyIHV0ZSxlSmU9YygoKT0+e1JpKCk7dXRlPWNsYXNze3N0YXRpY3tpKHRoaXMsIkFzeW5jRXhlY3V0aW9uU3RhY2siKX1jb25zdHJ1Y3Rvcigpe3RoaXMuZXhlY3V0aW9uU2xvdHM9W10sdGhpcy5pc1Byb2Nlc3Npbmc9ITEsdGhpcy5ub25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeT0xLzAsdGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnQ9MCx0aGlzLm5vbkV4Y2x1c2l2ZVBlbmRpbmdRdWV1ZT1bXX1hc3luYyBnZXRFeGNsdXNpdmVFeGVjdXRpb25TbG90KGUsYSl7bGV0IHI9SmUuZGVmZXIoKSxzPXtmdW5jVG9FeGVjdXRlOmUsZXhlY3V0aW9uRGVmZXJyZWQ6cix0aW1lb3V0OmEsbW9kZToiZXhjbHVzaXZlIn07cmV0dXJuIHRoaXMuZXhlY3V0aW9uU2xvdHMucHVzaChzKSx0aGlzLnByb2Nlc3NFeGVjdXRpb25TbG90cygpLHIucHJvbWlzZX1hc3luYyBnZXROb25FeGNsdXNpdmVFeGVjdXRpb25TbG90KGUsYSl7bGV0IHI9SmUuZGVmZXIoKSxzPXtmdW5jVG9FeGVjdXRlOmUsZXhlY3V0aW9uRGVmZXJyZWQ6cix0aW1lb3V0OmEsbW9kZToibm9uZXhjbHVzaXZlIn07cmV0dXJuIHRoaXMuZXhlY3V0aW9uU2xvdHMucHVzaChzKSx0aGlzLnByb2Nlc3NFeGVjdXRpb25TbG90cygpLHIucHJvbWlzZX1zZXROb25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeShlKXtpZighTnVtYmVyLmlzRmluaXRlKGUpfHxlPDEpdGhyb3cgbmV3IEVycm9yKCJub25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeSBtdXN0IGJlIGEgZmluaXRlIG51bWJlciA+PSAxIik7dGhpcy5ub25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeT1lfWdldE5vbkV4Y2x1c2l2ZU1heENvbmN1cnJlbmN5KCl7cmV0dXJuIHRoaXMubm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3l9Z2V0QWN0aXZlTm9uRXhjbHVzaXZlQ291bnQoKXtyZXR1cm4gdGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnR9Z2V0UGVuZGluZ05vbkV4Y2x1c2l2ZUNvdW50KCl7cmV0dXJuIHRoaXMubm9uRXhjbHVzaXZlUGVuZGluZ1F1ZXVlLmxlbmd0aH1hc3luYyBwcm9jZXNzRXhlY3V0aW9uU2xvdHMoKXtpZighdGhpcy5pc1Byb2Nlc3Npbmcpe2Zvcih0aGlzLmlzUHJvY2Vzc2luZz0hMDt0aGlzLmV4ZWN1dGlvblNsb3RzLmxlbmd0aD4wOyl7bGV0IGU9dGhpcy5leGVjdXRpb25TbG90c1swXTtpZihlLm1vZGU9PT0iZXhjbHVzaXZlIilhd2FpdCB0aGlzLmV4ZWN1dGVFeGNsdXNpdmVTbG90KGUpLHRoaXMuZXhlY3V0aW9uU2xvdHMuc2hpZnQoKTtlbHNle2xldCBhPVtdO2Zvcig7dGhpcy5leGVjdXRpb25TbG90cy5sZW5ndGg+MCYmdGhpcy5leGVjdXRpb25TbG90c1swXS5tb2RlPT09Im5vbmV4Y2x1c2l2ZSI7KWEucHVzaCh0aGlzLmV4ZWN1dGlvblNsb3RzLnNoaWZ0KCkpO2F3YWl0IHRoaXMuZXhlY3V0ZU5vbkV4Y2x1c2l2ZVNsb3RzKGEpfX10aGlzLmlzUHJvY2Vzc2luZz0hMX19YXN5bmMgZXhlY3V0ZUV4Y2x1c2l2ZVNsb3QoZSl7dHJ5e2lmKGUudGltZW91dCl7bGV0IGE9bmV3IFN0LlRpbWVvdXQoZS50aW1lb3V0KTt0cnl7bGV0IHI9YXdhaXQgUHJvbWlzZS5yYWNlKFtlLmZ1bmNUb0V4ZWN1dGUoKSxhLnByb21pc2UudGhlbigoKT0+e3Rocm93IG5ldyBFcnJvcigiVGltZW91dCByZWFjaGVkIil9KV0pO2EuY2FuY2VsKCksZS5leGVjdXRpb25EZWZlcnJlZC5yZXNvbHZlKHIpfWNhdGNoKHIpe3Rocm93IGEuY2FuY2VsKCkscn19ZWxzZXtsZXQgYT1hd2FpdCBlLmZ1bmNUb0V4ZWN1dGUoKTtlLmV4ZWN1dGlvbkRlZmVycmVkLnJlc29sdmUoYSl9fWNhdGNoKGEpe2UuZXhlY3V0aW9uRGVmZXJyZWQucmVqZWN0KGEpfX1hc3luYyBleGVjdXRlTm9uRXhjbHVzaXZlU2xvdHMoZSl7bGV0IGE9ZS5tYXAoYXN5bmMgcj0+e2F3YWl0IHRoaXMud2FpdEZvck5vbkV4Y2x1c2l2ZVNsb3QoKTt0cnl7aWYoci50aW1lb3V0KXtsZXQgcz1uZXcgU3QuVGltZW91dChyLnRpbWVvdXQpO3RyeXtsZXQgbj1hd2FpdCBQcm9taXNlLnJhY2UoW3IuZnVuY1RvRXhlY3V0ZSgpLHMucHJvbWlzZS50aGVuKCgpPT57dGhyb3cgbmV3IEVycm9yKCJUaW1lb3V0IHJlYWNoZWQiKX0pXSk7cy5jYW5jZWwoKSxyLmV4ZWN1dGlvbkRlZmVycmVkLnJlc29sdmUobil9Y2F0Y2gobil7dGhyb3cgcy5jYW5jZWwoKSxufX1lbHNle2xldCBzPWF3YWl0IHIuZnVuY1RvRXhlY3V0ZSgpO3IuZXhlY3V0aW9uRGVmZXJyZWQucmVzb2x2ZShzKX19Y2F0Y2gocyl7ci5leGVjdXRpb25EZWZlcnJlZC5yZWplY3Qocyl9ZmluYWxseXt0aGlzLnJlbGVhc2VOb25FeGNsdXNpdmVTbG90KCl9fSk7YXdhaXQgUHJvbWlzZS5hbGwoYSl9d2FpdEZvck5vbkV4Y2x1c2l2ZVNsb3QoKXtyZXR1cm4gdGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnQ8dGhpcy5ub25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeT8odGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnQrKyxQcm9taXNlLnJlc29sdmUoKSk6bmV3IFByb21pc2UoZT0+e3RoaXMubm9uRXhjbHVzaXZlUGVuZGluZ1F1ZXVlLnB1c2goKCk9Pnt0aGlzLm5vbkV4Y2x1c2l2ZUN1cnJlbnRDb3VudCsrLGUoKX0pfSl9cmVsZWFzZU5vbkV4Y2x1c2l2ZVNsb3QoKXt0aGlzLm5vbkV4Y2x1c2l2ZUN1cnJlbnRDb3VudC0tO2xldCBlPXRoaXMubm9uRXhjbHVzaXZlUGVuZGluZ1F1ZXVlLnNoaWZ0KCk7ZSYmZSgpfX19KTt2YXIgZnRlLHRKZT1jKCgpPT57UmkoKTtmdGU9Y2xhc3N7c3RhdGlje2kodGhpcywiQmFja3ByZXNzdXJlZEFycmF5Iil9Y29uc3RydWN0b3IoZT0xNil7dGhpcy5oYXNTcGFjZT1uZXcgWXQucnhqcy5TdWJqZWN0LHRoaXMuaXRlbXNBdmFpbGFibGU9bmV3IFl0LnJ4anMuU3ViamVjdCx0aGlzLmlzRGVzdHJveWVkPSExLHRoaXMuZGF0YT1bXSx0aGlzLmhpZ2hXYXRlck1hcms9ZX1wdXNoKGUpe3RoaXMuZGF0YS5wdXNoKGUpLHRoaXMuaXRlbXNBdmFpbGFibGUubmV4dCgiaXRlbXNBdmFpbGFibGUiKTtsZXQgYT10aGlzLmNoZWNrU3BhY2VBdmFpbGFibGUoKTtyZXR1cm4gYSYmdGhpcy5oYXNTcGFjZS5uZXh0KCJoYXNTcGFjZSIpLGF9c2hpZnQoKXtsZXQgZT10aGlzLmRhdGEuc2hpZnQoKTtyZXR1cm4gdGhpcy5jaGVja1NwYWNlQXZhaWxhYmxlKCkmJnRoaXMuaGFzU3BhY2UubmV4dCgiaGFzU3BhY2UiKSxlfWNoZWNrU3BhY2VBdmFpbGFibGUoKXtyZXR1cm4gdGhpcy5kYXRhLmxlbmd0aDx0aGlzLmhpZ2hXYXRlck1hcmt9Y2hlY2tIYXNJdGVtcygpe3JldHVybiB0aGlzLmRhdGEubGVuZ3RoPjB9d2FpdEZvclNwYWNlKCl7cmV0dXJuIG5ldyBQcm9taXNlKGU9PntpZih0aGlzLmNoZWNrU3BhY2VBdmFpbGFibGUoKXx8dGhpcy5pc0Rlc3Ryb3llZCllKCk7ZWxzZXtsZXQgYT10aGlzLmhhc1NwYWNlLnN1YnNjcmliZSh7bmV4dDppKCgpPT57YS51bnN1YnNjcmliZSgpLGUoKX0sIm5leHQiKSxjb21wbGV0ZTppKCgpPT57ZSgpfSwiY29tcGxldGUiKX0pfX0pfXdhaXRGb3JJdGVtcygpe3JldHVybiBuZXcgUHJvbWlzZShlPT57aWYodGhpcy5kYXRhLmxlbmd0aD4wfHx0aGlzLmlzRGVzdHJveWVkKWUoKTtlbHNle2xldCBhPXRoaXMuaXRlbXNBdmFpbGFibGUuc3Vic2NyaWJlKHtuZXh0OmkoKCk9PnthLnVuc3Vic2NyaWJlKCksZSgpfSwibmV4dCIpLGNvbXBsZXRlOmkoKCk9PntlKCl9LCJjb21wbGV0ZSIpfSl9fSl9ZGVzdHJveSgpe3RoaXMuaXNEZXN0cm95ZWQ9ITAsdGhpcy5oYXNTcGFjZS5jb21wbGV0ZSgpLHRoaXMuaXRlbXNBdmFpbGFibGUuY29tcGxldGUoKX19fSk7dmFyIFhsLGJqPWMoKCk9PntSaSgpO1hsPWNsYXNzIHR7c3RhdGlje2kodGhpcywiRmFzdE1hcCIpfWNvbnN0cnVjdG9yKCl7dGhpcy5tYXBPYmplY3Q9e319aXNVbmlxdWVLZXkoZSl7cmV0dXJuIXRoaXMubWFwT2JqZWN0W2VdfWFkZFRvTWFwKGUsYSxyKXtyZXR1cm4gdGhpcy5pc1VuaXF1ZUtleShlKXx8ciYmci5mb3JjZT8odGhpcy5tYXBPYmplY3RbZV09YSwhMCk6ITF9Z2V0QnlLZXkoZSl7cmV0dXJuIHRoaXMubWFwT2JqZWN0W2VdfXJlbW92ZUZyb21NYXAoZSl7bGV0IGE9dGhpcy5nZXRCeUtleShlKTtyZXR1cm4gZGVsZXRlIHRoaXMubWFwT2JqZWN0W2VdLGF9Z2V0S2V5cygpe2xldCBlPVtdO2ZvcihsZXQgYSBpbiB0aGlzLm1hcE9iamVjdCl0aGlzLm1hcE9iamVjdFthXSYmZS5wdXNoKGEpO3JldHVybiBlfWNsZWFuKCl7dGhpcy5tYXBPYmplY3Q9e319Y29uY2F0KGUpe2xldCBhPW5ldyB0O2ZvcihsZXQgciBvZiB0aGlzLmdldEtleXMoKSlhLmFkZFRvTWFwKHIsdGhpcy5nZXRCeUtleShyKSk7Zm9yKGxldCByIG9mIGUuZ2V0S2V5cygpKWEuYWRkVG9NYXAocixlLmdldEJ5S2V5KHIpLHtmb3JjZTohMH0pO3JldHVybiBhfWFkZEFsbEZyb21PdGhlcihlKXtmb3IobGV0IGEgb2YgZS5nZXRLZXlzKCkpdGhpcy5hZGRUb01hcChhLGUuZ2V0QnlLZXkoYSkse2ZvcmNlOiEwfSl9YXN5bmMgZmluZChlKXtmb3IobGV0IGEgb2YgdGhpcy5nZXRLZXlzKCkpe2xldCByPXRoaXMuZ2V0QnlLZXkoYSk7aWYoYXdhaXQgZShyKSlyZXR1cm4gcn19fX0pO3ZhciBhSmUsSzIsTXU9YygoKT0+e1JpKCk7YmooKTthSmU9aSgodD0idW5pIik9PmAke3R9eHh4eHh4eHh4eHhgLnJlcGxhY2UoL1t4eV0vZyxlPT57bGV0IGE9TWF0aC5yYW5kb20oKSoxNnwwO3JldHVybihlPT09IngiP2E6YSYzfDgpLnRvU3RyaW5nKDE2KX0pLCJ1bmkiKSxLMj1jbGFzcyB0e3N0YXRpY3tpKHRoaXMsIk9iamVjdE1hcCIpfWNvbnN0cnVjdG9yKCl7dGhpcy5mYXN0TWFwPW5ldyBYbCx0aGlzLmV2ZW50U3ViamVjdD1uZXcgWXQucnhqcy5TdWJqZWN0fWFkZE1hcHBlZFVuaXF1ZShlLGEpe3RoaXMuZmFzdE1hcC5hZGRUb01hcChlLGEpfWdldE1hcHBlZFVuaXF1ZShlKXtyZXR1cm4gdGhpcy5mYXN0TWFwLmdldEJ5S2V5KGUpfXJlbW92ZU1hcHBlZFVuaXF1ZShlKXtsZXQgYT10aGlzLmZhc3RNYXAucmVtb3ZlRnJvbU1hcChlKTtyZXR1cm4gYSE9PXZvaWQgMCYmdGhpcy5ldmVudFN1YmplY3QubmV4dCh7b3BlcmF0aW9uOiJyZW1vdmUiLHBheWxvYWQ6YX0pLGF9YWRkKGUpe2ZvcihsZXQgciBvZiB0aGlzLmZhc3RNYXAuZ2V0S2V5cygpKWlmKHRoaXMuZmFzdE1hcC5nZXRCeUtleShyKT09PWUpcmV0dXJuIHI7bGV0IGE9YUplKCJrZXkiKTtyZXR1cm4gdGhpcy5hZGRNYXBwZWRVbmlxdWUoYSxlKSx0aGlzLmV2ZW50U3ViamVjdC5uZXh0KHtvcGVyYXRpb246ImFkZCIscGF5bG9hZDplfSksYX1hZGRBcnJheShlKXtmb3IobGV0IGEgb2YgZSl0aGlzLmFkZChhKX1jaGVja0Zvck9iamVjdChlKXtyZXR1cm4hIXRoaXMuZ2V0S2V5Rm9yT2JqZWN0KGUpfWdldEtleUZvck9iamVjdChlKXtsZXQgYT1udWxsO2ZvcihsZXQgciBvZiB0aGlzLmZhc3RNYXAuZ2V0S2V5cygpKWlmKCFhJiZ0aGlzLmZhc3RNYXAuZ2V0QnlLZXkocik9PT1lKWE9cjtlbHNlIGNvbnRpbnVlO3JldHVybiBhfWFzeW5jIGZpbmQoZSl7cmV0dXJuIHRoaXMuZmFzdE1hcC5maW5kKGUpfWZpbmRTeW5jKGUpe2ZvcihsZXQgYSBvZiB0aGlzLmZhc3RNYXAuZ2V0S2V5cygpKWlmKGUodGhpcy5mYXN0TWFwLmdldEJ5S2V5KGEpKSlyZXR1cm4gdGhpcy5nZXRNYXBwZWRVbmlxdWUoYSl9YXN5bmMgZmluZE9uZUFuZFJlbW92ZShlKXtsZXQgYT1hd2FpdCB0aGlzLmZpbmQoZSk7cmV0dXJuIGEmJnRoaXMucmVtb3ZlKGEpLGF9ZmluZE9uZUFuZFJlbW92ZVN5bmMoZSl7bGV0IGE9dGhpcy5maW5kU3luYyhlKTtyZXR1cm4gYSYmdGhpcy5yZW1vdmUoYSksYX1hc3luYyBmb3JFYWNoKGUpe2ZvcihsZXQgYSBvZiB0aGlzLmZhc3RNYXAuZ2V0S2V5cygpKWF3YWl0IGUodGhpcy5mYXN0TWFwLmdldEJ5S2V5KGEpKX1nZXRPbmVBbmRSZW1vdmUoKXtsZXQgZT10aGlzLmZhc3RNYXAuZ2V0S2V5cygpO2lmKGUubGVuZ3RoPT09MClyZXR1cm4gbnVsbDt7bGV0IGE9ZVswXSxyPXRoaXMuZmFzdE1hcC5yZW1vdmVGcm9tTWFwKGEpO3JldHVybiB0aGlzLmV2ZW50U3ViamVjdC5uZXh0KHtvcGVyYXRpb246InJlbW92ZSIscGF5bG9hZDpyfSkscn19Z2V0QXJyYXkoKXtsZXQgZT1bXTtmb3IobGV0IGEgb2YgdGhpcy5mYXN0TWFwLmdldEtleXMoKSllLnB1c2godGhpcy5mYXN0TWFwLmdldEJ5S2V5KGEpKTtyZXR1cm4gZX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuZmFzdE1hcC5nZXRLZXlzKCkubGVuZ3RoPT09MH1yZW1vdmUoZSl7aWYodGhpcy5jaGVja0Zvck9iamVjdChlKSl7bGV0IGE9dGhpcy5nZXRLZXlGb3JPYmplY3QoZSkscj10aGlzLmZhc3RNYXAucmVtb3ZlRnJvbU1hcChhKTtyZXR1cm4gdGhpcy5ldmVudFN1YmplY3QubmV4dCh7b3BlcmF0aW9uOiJyZW1vdmUiLHBheWxvYWQ6cn0pLHJ9cmV0dXJuIG51bGx9d2lwZSgpe2xldCBlPXRoaXMuZmFzdE1hcC5nZXRLZXlzKCk7Zm9yKGxldCBhIG9mIGUpe2xldCByPXRoaXMuZmFzdE1hcC5yZW1vdmVGcm9tTWFwKGEpO3RoaXMuZXZlbnRTdWJqZWN0Lm5leHQoe29wZXJhdGlvbjoicmVtb3ZlIixwYXlsb2FkOnJ9KX19Y29uY2F0KGUpe2xldCBhPW5ldyB0O3JldHVybiBhLmZhc3RNYXAuYWRkQWxsRnJvbU90aGVyKHRoaXMuZmFzdE1hcCksYS5mYXN0TWFwLmFkZEFsbEZyb21PdGhlcihlLmZhc3RNYXApLGF9YWRkQWxsRnJvbU90aGVyKGUpe3RoaXMuZmFzdE1hcC5hZGRBbGxGcm9tT3RoZXIoZS5mYXN0TWFwKX1kZXN0cm95KCl7dGhpcy53aXBlKCksdGhpcy5ldmVudFN1YmplY3QuY29tcGxldGUoKX19fSk7dmFyIGt1LGh0ZT1jKCgpPT57UmkoKTttdGUoKTtrdT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJJbnRlcmVzdCIpfWdldCBjb21wYXJpc29uU3RyaW5nKCl7cmV0dXJuIHRoaXMuY29tcGFyaXNvbkZ1bmModGhpcy5vcmlnaW5hbEludGVyZXN0KX1mdWxsZmlsbEludGVyZXN0KGUpe3RoaXMuaXNGdWxsZmlsbGVkPSEwLHRoaXMuZnVsbGZpbGxtZW50U3RvcmU9W10sdGhpcy5pbnRlcmVzdERlZmVycmVkLnJlc29sdmUoZSksdGhpcy5kZXN0cm95KCl9Y29uc3RydWN0b3IoZSxhLHIscyl7dGhpcy5kZXN0cnVjdGlvblRpbWVyPW5ldyBabC5UaW1lcigxZTQpLHRoaXMuaXNGdWxsZmlsbGVkPSExLHRoaXMuaXNEZXN0cm95ZWQ9ITEsdGhpcy5mdWxsZmlsbG1lbnRTdG9yZT1bXSx0aGlzLm1hcmtMb3N0VGltZW91dD1udWxsLHRoaXMuaW50ZXJlc3REZWZlcnJlZD1uZXcgSmUuRGVmZXJyZWQsdGhpcy5pbnRlcmVzdEZ1bGxmaWxsZWQ9dGhpcy5pbnRlcmVzdERlZmVycmVkLnByb21pc2UsdGhpcy5pbnRlcmVzdE1hcFJlZj1lLHRoaXMub3JpZ2luYWxJbnRlcmVzdD1hLHRoaXMuY29tcGFyaXNvbkZ1bmM9cix0aGlzLm9wdGlvbnM9cyx0aGlzLmRlc3RydWN0aW9uVGltZXIuY29tcGxldGVkLnRoZW4oKCk9Pnt0aGlzLmlzRGVzdHJveWVkfHx0aGlzLmRlc3Ryb3koKX0pLHRoaXMub3B0aW9ucz8ubWFya0xvc3RBZnRlckRlZmF1bHQmJih0aGlzLm1hcmtMb3N0VGltZW91dD1uZXcgU3QuVGltZW91dCh0aGlzLm9wdGlvbnMubWFya0xvc3RBZnRlckRlZmF1bHQpLHRoaXMubWFya0xvc3RUaW1lb3V0LnByb21pc2UudGhlbigoKT0+e3RoaXMuaXNEZXN0cm95ZWR8fHRoaXMubWFya0xvc3QoKX0pKX1kZXN0cm95KCl7dGhpcy5pc0Rlc3Ryb3llZHx8KHRoaXMuaXNEZXN0cm95ZWQ9ITAsdGhpcy5kZXN0cnVjdGlvblRpbWVyLnJlc2V0KCksdGhpcy5tYXJrTG9zdFRpbWVvdXQmJih0aGlzLm1hcmtMb3N0VGltZW91dC5jYW5jZWwoKSx0aGlzLm1hcmtMb3N0VGltZW91dD1udWxsKSx0aGlzLmZ1bGxmaWxsbWVudFN0b3JlPVtdLHRoaXMuaW50ZXJlc3RNYXBSZWYucmVtb3ZlSW50ZXJlc3QodGhpcyksIXRoaXMuaXNGdWxsZmlsbGVkJiZ0aGlzLm9wdGlvbnM/LmRlZmF1bHRGdWxsZmlsbG1lbnQmJih0aGlzLmlzRnVsbGZpbGxlZD0hMCx0aGlzLmludGVyZXN0RGVmZXJyZWQucmVzb2x2ZSh0aGlzLm9wdGlvbnMuZGVmYXVsdEZ1bGxmaWxsbWVudCkpKX1tYXJrTG9zdCgpe3RoaXMuZGVzdHJ1Y3Rpb25UaW1lci5zdGFydCgpfXJlbmV3KCl7dGhpcy5kZXN0cnVjdGlvblRpbWVyLnJlc2V0KCl9fX0pO3ZhciBndGUsbXRlPWMoKCk9PntSaSgpO011KCk7aHRlKCk7Z3RlPWNsYXNze3N0YXRpY3tpKHRoaXMsIkludGVyZXN0TWFwIil9Y29uc3RydWN0b3IoZSxhPXt9KXt0aGlzLmludGVyZXN0T2JqZWN0TWFwPW5ldyBLMix0aGlzLmludGVyZXN0T2JzZXJ2YWJsZT1uZXcgWXQuT2JzZXJ2YWJsZUludGFrZSx0aGlzLmNvbXBhcmlzb25GdW5jPWUsdGhpcy5vcHRpb25zPWF9YXN5bmMgYWRkSW50ZXJlc3QoZSxhKXtsZXQgcj10aGlzLmNvbXBhcmlzb25GdW5jKGUpLHMsbj1uZXcga3UodGhpcyxlLHRoaXMuY29tcGFyaXNvbkZ1bmMse21hcmtMb3N0QWZ0ZXJEZWZhdWx0OnRoaXMub3B0aW9ucy5tYXJrTG9zdEFmdGVyRGVmYXVsdCxkZWZhdWx0RnVsbGZpbGxtZW50OmF9KSxvPSExO3JldHVybiBhd2FpdCB0aGlzLmludGVyZXN0T2JqZWN0TWFwLmZvckVhY2gobD0+eyFvJiZsLmNvbXBhcmlzb25TdHJpbmc9PT1uLmNvbXBhcmlzb25TdHJpbmcmJihjb25zb2xlLmxvZygiaW5mbyIsYGludGVyZXN0IGFscmVhZHkgZXhpc3RzIGZvciAke24uY29tcGFyaXNvblN0cmluZ31gKSxvPSEwLHM9bCxzLnJlbmV3KCkpfSkscz9uLmRlc3Ryb3koKToocz1uLHRoaXMuaW50ZXJlc3RPYmplY3RNYXAuYWRkKHMpKSx0aGlzLmludGVyZXN0T2JzZXJ2YWJsZS5wdXNoKHMpLHN9cmVtb3ZlSW50ZXJlc3QoZSl7bGV0IGE9dGhpcy5pbnRlcmVzdE9iamVjdE1hcC5maW5kT25lQW5kUmVtb3ZlU3luYyhyPT5lLmNvbXBhcmlzb25TdHJpbmc9PT1yLmNvbXBhcmlzb25TdHJpbmcpfWNoZWNrSW50ZXJlc3QoZSl7bGV0IGE9dGhpcy5jb21wYXJpc29uRnVuYyhlKTtyZXR1cm4gdGhpcy5jaGVja0ludGVyZXN0QnlTdHJpbmcoYSl9Y2hlY2tJbnRlcmVzdEJ5U3RyaW5nKGUpe3JldHVybiEhdGhpcy5pbnRlcmVzdE9iamVjdE1hcC5maW5kU3luYyhyPT5yLmNvbXBhcmlzb25TdHJpbmc9PT1lKX1pbmZvcm1Mb3N0SW50ZXJlc3QoZSl7bGV0IGE9dGhpcy5maW5kSW50ZXJlc3QoZSk7YSYmYS5tYXJrTG9zdCgpfWZpbmRJbnRlcmVzdChlKXtsZXQgYT10aGlzLmNvbXBhcmlzb25GdW5jKGUpO3JldHVybiB0aGlzLmludGVyZXN0T2JqZWN0TWFwLmZpbmRTeW5jKHM9PnMuY29tcGFyaXNvblN0cmluZz09PWEpfWRlc3Ryb3koKXtsZXQgZT10aGlzLmludGVyZXN0T2JqZWN0TWFwLmdldEFycmF5KCk7Zm9yKGxldCBhIG9mIGUpYS5kZXN0cm95KCk7dGhpcy5pbnRlcmVzdE9iamVjdE1hcC53aXBlKCksdGhpcy5pbnRlcmVzdE9ic2VydmFibGUuc2lnbmFsQ29tcGxldGUoKX19fSk7dmFyIGJ0ZSxySmU9YygoKT0+e1JpKCk7YnRlPWNsYXNze3N0YXRpY3tpKHRoaXMsIkxpbWl0ZWRBcnJheSIpfWNvbnN0cnVjdG9yKGUpe3RoaXMuYXJyYXk9W10sdGhpcy5hcnJheUxpbWl0PWV9YWRkT25lKGUpe3RoaXMuYXJyYXkudW5zaGlmdChlKSx0aGlzLmFycmF5Lmxlbmd0aD50aGlzLmFycmF5TGltaXQmJih0aGlzLmFycmF5Lmxlbmd0aD10aGlzLmFycmF5TGltaXQpfWFkZE1hbnkoZSl7Zm9yKGxldCBhIG9mIGUpdGhpcy5hZGRPbmUoYSl9c2V0TGltaXQoZSl7dGhpcy5hcnJheUxpbWl0PWUsdGhpcy5hcnJheS5sZW5ndGg+dGhpcy5hcnJheUxpbWl0JiYodGhpcy5hcnJheS5sZW5ndGg9dGhpcy5hcnJheUxpbWl0KX1nZXRBdmVyYWdlKCl7aWYodHlwZW9mIHRoaXMuYXJyYXlbMF09PSJudW1iZXIiKXtsZXQgZT0wO2ZvcihsZXQgYSBvZiB0aGlzLmFycmF5KWU9ZSthO3JldHVybiBlL3RoaXMuYXJyYXkubGVuZ3RofWVsc2UgcmV0dXJuIG51bGx9fX0pO3ZhciB2dGUsaUplPWMoKCk9PntSaSgpO011KCk7dnRlPWNsYXNze3N0YXRpY3tpKHRoaXMsIkxvb3BUcmFja2VyIil9Y29uc3RydWN0b3IoKXt0aGlzLnJlZmVyZW5jZU9iamVjdE1hcD1uZXcgSzJ9Y2hlY2tBbmRUcmFjayhlKXtyZXR1cm4gdGhpcy5yZWZlcmVuY2VPYmplY3RNYXAuY2hlY2tGb3JPYmplY3QoZSk/ITE6KHRoaXMucmVmZXJlbmNlT2JqZWN0TWFwLmFkZChlKSwhMCl9cmVzZXQoKXt0aGlzLnJlZmVyZW5jZU9iamVjdE1hcC53aXBlKCl9ZGVzdHJveSgpe3RoaXMucmVmZXJlbmNlT2JqZWN0TWFwLmRlc3Ryb3koKX19fSk7dmFyIHp1LHh0ZT1jKCgpPT57UmkoKTt6dT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJTdHJpbmdtYXAiKX1jb25zdHJ1Y3Rvcigpe3RoaXMuX3N0cmluZ0FycmF5PVtdLHRoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5PVtdfWFkZFN0cmluZyhlKXt0aGlzLl9zdHJpbmdBcnJheS5wdXNoKGUpLHRoaXMubm90aWZ5VHJpZ2dlcigpfWFkZFN0cmluZ0FycmF5KGUpe2ZvcihsZXQgYSBvZiBlKXRoaXMuYWRkU3RyaW5nKGEpfXJlbW92ZVN0cmluZyhlKXtmb3IobGV0IGEgaW4gdGhpcy5fc3RyaW5nQXJyYXkpdGhpcy5fc3RyaW5nQXJyYXlbYV09PT1lJiZ0aGlzLl9zdHJpbmdBcnJheS5zcGxpY2UocGFyc2VJbnQoYSksMSk7dGhpcy5ub3RpZnlUcmlnZ2VyKCl9d2lwZSgpe3RoaXMuX3N0cmluZ0FycmF5PVtdLHRoaXMubm90aWZ5VHJpZ2dlcigpfWNoZWNrU3RyaW5nKGUpe3JldHVybiB0aGlzLl9zdHJpbmdBcnJheS5pbmRleE9mKGUpIT09LTF9Y2hlY2tNaW5pbWF0Y2goZSl7bGV0IGE9bmV3IEdwLlNtYXJ0TWF0Y2goZSkscj0hMTtmb3IobGV0IHMgb2YgdGhpcy5fc3RyaW5nQXJyYXkpYS5tYXRjaChzKSYmKHI9ITApO3JldHVybiByfWNoZWNrSXNFbXB0eSgpe3JldHVybiB0aGlzLl9zdHJpbmdBcnJheS5sZW5ndGg9PT0wfWdldFN0cmluZ0FycmF5KCl7bGV0IGU9W107Zm9yKGxldCBhIG9mIHRoaXMuX3N0cmluZ0FycmF5KWUucHVzaChhKTtyZXR1cm4gZX1yZWdpc3RlclVudGlsVHJ1ZShlLGEpe2xldCByPUplLmRlZmVyKCk7cmV0dXJuIHRoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5LnB1c2goKCk9PntsZXQgcz1lKHRoaXMuZ2V0U3RyaW5nQXJyYXkoKSk7cmV0dXJuIHM9PT0hMCYmKGEmJmEoKSxyLnJlc29sdmUoKSksc30pLHRoaXMubm90aWZ5VHJpZ2dlcigpLHIucHJvbWlzZX1ub3RpZnlUcmlnZ2VyKCl7bGV0IGU9dGhpcy5fdHJpZ2dlclVudGlsVHJ1ZUZ1bmN0aW9uQXJyYXkuZmlsdGVyKGE9PiFhKCkpO3RoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5PWV9ZGVzdHJveSgpe3RoaXMuX3N0cmluZ0FycmF5PVtdLHRoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5PVtdfX19KTt2YXIgeXRlLHNKZT1jKCgpPT57UmkoKTt5dGU9Y2xhc3N7c3RhdGlje2kodGhpcywiVGltZWRBZ2dyZWd0b3IiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLnN0b3JhZ2VBcnJheT1bXSx0aGlzLmlzU3RvcHBlZD0hMSx0aGlzLm9wdGlvbnM9ZX1jaGVja0FnZ3JlZ2F0aW9uU3RhdHVzKCl7aWYodGhpcy5pc1N0b3BwZWQpcmV0dXJuO2xldCBlPWkoKCk9Pnt0aGlzLmFnZ3JlZ2F0aW9uVGltZXI9bmV3IFpsLlRpbWVyKHRoaXMub3B0aW9ucy5hZ2dyZWdhdGlvbkludGVydmFsSW5NaWxsaXMpLHRoaXMuYWdncmVnYXRpb25UaW1lci5jb21wbGV0ZWQudGhlbigoKT0+e2lmKHRoaXMuaXNTdG9wcGVkKXt0aGlzLmFnZ3JlZ2F0aW9uVGltZXI9bnVsbDtyZXR1cm59bGV0IGE9dGhpcy5zdG9yYWdlQXJyYXk7aWYoYS5sZW5ndGg9PT0wKXt0aGlzLmFnZ3JlZ2F0aW9uVGltZXI9bnVsbDtyZXR1cm59dGhpcy5zdG9yYWdlQXJyYXk9W10sZSgpLHRoaXMub3B0aW9ucy5mdW5jdGlvbkZvckFnZ3JlZ2F0aW9uKGEpfSksdGhpcy5hZ2dyZWdhdGlvblRpbWVyLnN0YXJ0KCl9LCJhZGRBZ2dyZWdhdGlvblRpbWVyIik7dGhpcy5hZ2dyZWdhdGlvblRpbWVyfHxlKCl9YWRkKGUpe3RoaXMuaXNTdG9wcGVkfHwodGhpcy5zdG9yYWdlQXJyYXkucHVzaChlKSx0aGlzLmNoZWNrQWdncmVnYXRpb25TdGF0dXMoKSl9c3RvcChlPSExKXtpZih0aGlzLmlzU3RvcHBlZD0hMCx0aGlzLmFnZ3JlZ2F0aW9uVGltZXImJih0aGlzLmFnZ3JlZ2F0aW9uVGltZXIucmVzZXQoKSx0aGlzLmFnZ3JlZ2F0aW9uVGltZXI9bnVsbCksZSYmdGhpcy5zdG9yYWdlQXJyYXkubGVuZ3RoPjApe2xldCBhPXRoaXMuc3RvcmFnZUFycmF5O3RoaXMuc3RvcmFnZUFycmF5PVtdLHRoaXMub3B0aW9ucy5mdW5jdGlvbkZvckFnZ3JlZ2F0aW9uKGEpfWVsc2UgdGhpcy5zdG9yYWdlQXJyYXk9W119fX0pO3ZhciB3dGUsb0plPWMoKCk9PntSaSgpO3d0ZT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJUcmVlIil9Y29uc3RydWN0b3IoKXt0aGlzLnN5bWJvbFRyZWU9bmV3IGdqLmRlZmF1bHR9aW5pdGlhbGl6ZShlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmluaXRpYWxpemUoZSl9aGFzQ2hpbGRyZW4oZSl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5oYXNDaGlsZHJlbihlKX1maXJzdENoaWxkKGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuZmlyc3RDaGlsZChlKX1sYXN0Q2hpbGQoZSl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5sYXN0Q2hpbGQoZSl9cHJldmlvdXNTaWJsaW5nKGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUucHJldmlvdXNTaWJsaW5nKGUpfW5leHRTaWJsaW5nKGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUubmV4dFNpYmxpbmcoZSl9cGFyZW50KGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUucGFyZW50KGUpfWxhc3RJbmNsdXNpdmVEZXNjZW5kYW50KGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUubGFzdEluY2x1c2l2ZURlc2NlbmRhbnQoZSl9cHJlY2VkaW5nKGUsYSl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5wcmVjZWRpbmcoZSxhKX1mb2xsb3dpbmcoZSxhKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmZvbGxvd2luZyhlLGEpfWNoaWxkcmVuVG9BcnJheShlLGEpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuY2hpbGRyZW5Ub0FycmF5KGUsYSl9YW5jZXN0b3JzVG9BcnJheShlLGEpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuYW5jZXN0b3JzVG9BcnJheShlLGEpfXRyZWVUb0FycmF5KGUsYSl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS50cmVlVG9BcnJheShlLGEpfWNoaWxkcmVuSXRlcmF0b3IoZSxhKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmNoaWxkcmVuSXRlcmF0b3IoZSxhKX1wcmV2aW91c1NpYmxpbmdzSXRlcmF0b3IoZSl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5wcmV2aW91c1NpYmxpbmdzSXRlcmF0b3IoZSl9bmV4dFNpYmxpbmdzSXRlcmF0b3IoZSl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5uZXh0U2libGluZ3NJdGVyYXRvcigpfWFuY2VzdG9yc0l0ZXJhdG9yKGUpe3RoaXMuc3ltYm9sVHJlZS5hbmNlc3RvcnNJdGVyYXRvcigpfXRyZWVJdGVyYXRvcihlLGEpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUudHJlZUl0ZXJhdG9yKGUpfWluZGV4KGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuaW5kZXgoZSl9Y2hpbGRyZW5Db3VudChlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmNoaWxkcmVuQ291bnQoZSl9Y29tcGFyZVRyZWVQb3NpdGlvbihlLGEpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuY29tcGFyZVRyZWVQb3NpdGlvbihlLGEpfXJlbW92ZShlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLnJlbW92ZShlKX1pbnNlcnRCZWZvcmUoZSxhKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmluc2VydEJlZm9yZShlLGEpfWluc2VydEFmdGVyKGUsYSl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5pbnNlcnRBZnRlcihlLGEpfXByZXBlbmRDaGlsZChlLGEpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUucHJlcGVuZENoaWxkKGUsYSl9YXBwZW5kQ2hpbGQoZSxhKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmFwcGVuZENoaWxkKGUsYSl9dG9Kc29uV2l0aEhpZXJhY2h5KGUpe2xldCBhPXRoaXMudHJlZUl0ZXJhdG9yKGUse30pO2ZvcihsZXQgciBvZiBhKWNvbnNvbGUubG9nKHIpfWZyb21Kc29uV2l0aEhpZXJhY2h5KGUpe319fSk7dmFyIFQxPXt9O2V0KFQxLHtBc3luY0V4ZWN1dGlvblN0YWNrOigpPT51dGUsQmFja3ByZXNzdXJlZEFycmF5OigpPT5mdGUsRmFzdE1hcDooKT0+WGwsSW50ZXJlc3Q6KCk9Pmt1LEludGVyZXN0TWFwOigpPT5ndGUsTGltaXRlZEFycmF5OigpPT5idGUsTG9vcFRyYWNrZXI6KCk9PnZ0ZSxPYmplY3RNYXA6KCk9PksyLFN0cmluZ21hcDooKT0+enUsVGltZWRBZ2dyZWd0b3I6KCk9Pnl0ZSxUcmVlOigpPT53dGUsdW5pOigpPT5hSmV9KTt2YXIgeXU9YygoKT0+e2VKZSgpO3RKZSgpO2JqKCk7bXRlKCk7aHRlKCk7ckplKCk7aUplKCk7TXUoKTt4dGUoKTtzSmUoKTtvSmUoKX0pO3ZhciBEbj17fTtldChEbix7YXJlVWludDhBcnJheXNFcXVhbDooKT0+RmxhLGFzc2VydFVpbnQ4QXJyYXk6KCk9PiRuLGFzc2VydFVpbnQ4QXJyYXlPckFycmF5QnVmZmVyOigpPT5wSmUsYmFzZTY0VG9TdHJpbmc6KCk9PmpsYSxiYXNlNjRUb1VpbnQ4QXJyYXk6KCk9Pm1KZSxjb21wYXJlVWludDhBcnJheXM6KCk9Pk9sYSxjb25jYXRVaW50OEFycmF5czooKT0+UmxhLGdldFVpbnRCRTooKT0+WWxhLGhleFRvVWludDhBcnJheTooKT0+R2xhLGluY2x1ZGVzOigpPT5abGEsaW5kZXhPZjooKT0+Z0plLGlzVWludDhBcnJheTooKT0+TXRlLHN0cmluZ1RvQmFzZTY0OigpPT5WbGEsc3RyaW5nVG9VaW50OEFycmF5OigpPT5mSmUsdG9VaW50OEFycmF5OigpPT5ObGEsdWludDhBcnJheVRvQmFzZTY0OigpPT5oSmUsdWludDhBcnJheVRvSGV4OigpPT5XbGEsdWludDhBcnJheVRvU3RyaW5nOigpPT51SmV9KTtmdW5jdGlvbiBuSmUodCxlLGEpe3JldHVybiB0P3QuY29uc3RydWN0b3I9PT1lPyEwOkRsYS5jYWxsKHQpPT09YTohMX1mdW5jdGlvbiBNdGUodCl7cmV0dXJuIG5KZSh0LFVpbnQ4QXJyYXksQWxhKX1mdW5jdGlvbiBFbGEodCl7cmV0dXJuIG5KZSh0LEFycmF5QnVmZmVyLFBsYSl9ZnVuY3Rpb24gSWxhKHQpe3JldHVybiBNdGUodCl8fEVsYSh0KX1mdW5jdGlvbiAkbih0KXtpZighTXRlKHQpKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIFxgVWludDhBcnJheVxgLCBnb3QgXGAke3R5cGVvZiB0fVxgYCl9ZnVuY3Rpb24gcEplKHQpe2lmKCFJbGEodCkpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgXGBVaW50OEFycmF5XGAgb3IgXGBBcnJheUJ1ZmZlclxgLCBnb3QgXGAke3R5cGVvZiB0fVxgYCl9ZnVuY3Rpb24gTmxhKHQpe2lmKHQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gbmV3IFVpbnQ4QXJyYXkodCk7aWYoQXJyYXlCdWZmZXIuaXNWaWV3KHQpKXJldHVybiBuZXcgVWludDhBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKTt0aHJvdyBuZXcgVHlwZUVycm9yKGBVbnN1cHBvcnRlZCB2YWx1ZSwgZ290IFxgJHt0eXBlb2YgdH1cYC5gKX1mdW5jdGlvbiBSbGEodCxlKXtpZih0Lmxlbmd0aD09PTApcmV0dXJuIG5ldyBVaW50OEFycmF5KDApO2U/Pz10LnJlZHVjZSgocyxuKT0+cytuLmxlbmd0aCwwKTtsZXQgYT1uZXcgVWludDhBcnJheShlKSxyPTA7Zm9yKGxldCBzIG9mIHQpJG4ocyksYS5zZXQocyxyKSxyKz1zLmxlbmd0aDtyZXR1cm4gYX1mdW5jdGlvbiBGbGEodCxlKXtpZigkbih0KSwkbihlKSx0PT09ZSlyZXR1cm4hMDtpZih0Lmxlbmd0aCE9PWUubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgYT0wO2E8dC5sZW5ndGg7YSsrKWlmKHRbYV0hPT1lW2FdKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIE9sYSh0LGUpeyRuKHQpLCRuKGUpO2xldCBhPU1hdGgubWluKHQubGVuZ3RoLGUubGVuZ3RoKTtmb3IobGV0IHI9MDtyPGE7cisrKXtsZXQgcz10W3JdLWVbcl07aWYocyE9PTApcmV0dXJuIE1hdGguc2lnbihzKX1yZXR1cm4gTWF0aC5zaWduKHQubGVuZ3RoLWUubGVuZ3RoKX1mdW5jdGlvbiB1SmUodCxlPSJ1dGY4Iil7cmV0dXJuIHBKZSh0KSxsSmVbZV0/Pz1uZXcgZ2xvYmFsVGhpcy5UZXh0RGVjb2RlcihlKSxsSmVbZV0uZGVjb2RlKHQpfWZ1bmN0aW9uIFN1KHQpe2lmKHR5cGVvZiB0IT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBcYHN0cmluZ1xgLCBnb3QgXGAke3R5cGVvZiB0fVxgYCl9ZnVuY3Rpb24gZkplKHQpe3JldHVybiBTdSh0KSxCbGEuZW5jb2RlKHQpfWZ1bmN0aW9uIEhsYSh0KXtyZXR1cm4gdC5yZXBsYWNlQWxsKCIrIiwiLSIpLnJlcGxhY2VBbGwoIi8iLCJfIikucmVwbGFjZSgvPSskLywiIil9ZnVuY3Rpb24gcWxhKHQpe2xldCBlPXQucmVwbGFjZUFsbCgiLSIsIisiKS5yZXBsYWNlQWxsKCJfIiwiLyIpLGE9KDQtZS5sZW5ndGglNCklNDtyZXR1cm4gZSsiPSIucmVwZWF0KGEpfWZ1bmN0aW9uIGhKZSh0LHt1cmxTYWZlOmU9ITF9PXt9KXskbih0KTtsZXQgYT0iIjtmb3IobGV0IHI9MDtyPHQubGVuZ3RoO3IrPWNKZSl7bGV0IHM9dC5zdWJhcnJheShyLHIrY0plKTthKz1nbG9iYWxUaGlzLmJ0b2EoU3RyaW5nLmZyb21Db2RlUG9pbnQuYXBwbHkodm9pZCAwLHMpKX1yZXR1cm4gZT9IbGEoYSk6YX1mdW5jdGlvbiBtSmUodCl7cmV0dXJuIFN1KHQpLFVpbnQ4QXJyYXkuZnJvbShnbG9iYWxUaGlzLmF0b2IocWxhKHQpKSxlPT5lLmNvZGVQb2ludEF0KDApKX1mdW5jdGlvbiBWbGEodCx7dXJsU2FmZTplPSExfT17fSl7cmV0dXJuIFN1KHQpLGhKZShmSmUodCkse3VybFNhZmU6ZX0pfWZ1bmN0aW9uIGpsYSh0KXtyZXR1cm4gU3UodCksdUplKG1KZSh0KSl9ZnVuY3Rpb24gV2xhKHQpeyRuKHQpO2xldCBlPSIiO2ZvcihsZXQgYT0wO2E8dC5sZW5ndGg7YSsrKWUrPVVsYVt0W2FdXTtyZXR1cm4gZX1mdW5jdGlvbiBHbGEodCl7aWYoU3UodCksdC5sZW5ndGglMiE9PTApdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIEhleCBzdHJpbmcgbGVuZ3RoLiIpO2xldCBlPXQubGVuZ3RoLzIsYT1uZXcgVWludDhBcnJheShlKTtmb3IobGV0IHI9MDtyPGU7cisrKXtsZXQgcz1kSmVbdFtyKjJdXSxuPWRKZVt0W3IqMisxXV07aWYocz09PXZvaWQgMHx8bj09PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgSGV4IGNoYXJhY3RlciBlbmNvdW50ZXJlZCBhdCBwb3NpdGlvbiAke3IqMn1gKTthW3JdPXM8PDR8bn1yZXR1cm4gYX1mdW5jdGlvbiBZbGEodCl7bGV0e2J5dGVMZW5ndGg6ZX09dDtpZihlPT09NilyZXR1cm4gdC5nZXRVaW50MTYoMCkqMioqMzIrdC5nZXRVaW50MzIoMik7aWYoZT09PTUpcmV0dXJuIHQuZ2V0VWludDgoMCkqMioqMzIrdC5nZXRVaW50MzIoMSk7aWYoZT09PTQpcmV0dXJuIHQuZ2V0VWludDMyKDApO2lmKGU9PT0zKXJldHVybiB0LmdldFVpbnQ4KDApKjIqKjE2K3QuZ2V0VWludDE2KDEpO2lmKGU9PT0yKXJldHVybiB0LmdldFVpbnQxNigwKTtpZihlPT09MSlyZXR1cm4gdC5nZXRVaW50OCgwKX1mdW5jdGlvbiBnSmUodCxlKXtsZXQgYT10Lmxlbmd0aCxyPWUubGVuZ3RoO2lmKHI9PT0wfHxyPmEpcmV0dXJuLTE7bGV0IHM9YS1yO2ZvcihsZXQgbj0wO248PXM7bisrKXtsZXQgbz0hMDtmb3IobGV0IGw9MDtsPHI7bCsrKWlmKHRbbitsXSE9PWVbbF0pe289ITE7YnJlYWt9aWYobylyZXR1cm4gbn1yZXR1cm4tMX1mdW5jdGlvbiBabGEodCxlKXtyZXR1cm4gZ0plKHQsZSkhPT0tMX12YXIgRGxhLEFsYSxQbGEsbEplLEJsYSxjSmUsVWxhLGRKZSxiSmU9YygoKT0+e0RsYT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLEFsYT0iW29iamVjdCBVaW50OEFycmF5XSIsUGxhPSJbb2JqZWN0IEFycmF5QnVmZmVyXSI7aShuSmUsImlzVHlwZSIpO2koTXRlLCJpc1VpbnQ4QXJyYXkiKTtpKEVsYSwiaXNBcnJheUJ1ZmZlciIpO2koSWxhLCJpc1VpbnQ4QXJyYXlPckFycmF5QnVmZmVyIik7aSgkbiwiYXNzZXJ0VWludDhBcnJheSIpO2kocEplLCJhc3NlcnRVaW50OEFycmF5T3JBcnJheUJ1ZmZlciIpO2koTmxhLCJ0b1VpbnQ4QXJyYXkiKTtpKFJsYSwiY29uY2F0VWludDhBcnJheXMiKTtpKEZsYSwiYXJlVWludDhBcnJheXNFcXVhbCIpO2koT2xhLCJjb21wYXJlVWludDhBcnJheXMiKTtsSmU9e3V0Zjg6bmV3IGdsb2JhbFRoaXMuVGV4dERlY29kZXIoInV0ZjgiKX07aSh1SmUsInVpbnQ4QXJyYXlUb1N0cmluZyIpO2koU3UsImFzc2VydFN0cmluZyIpO0JsYT1uZXcgZ2xvYmFsVGhpcy5UZXh0RW5jb2RlcjtpKGZKZSwic3RyaW5nVG9VaW50OEFycmF5Iik7aShIbGEsImJhc2U2NFRvQmFzZTY0VXJsIik7aShxbGEsImJhc2U2NFVybFRvQmFzZTY0Iik7Y0plPTY1NTM1O2koaEplLCJ1aW50OEFycmF5VG9CYXNlNjQiKTtpKG1KZSwiYmFzZTY0VG9VaW50OEFycmF5Iik7aShWbGEsInN0cmluZ1RvQmFzZTY0Iik7aShqbGEsImJhc2U2NFRvU3RyaW5nIik7VWxhPUFycmF5LmZyb20oe2xlbmd0aDoyNTZ9LCh0LGUpPT5lLnRvU3RyaW5nKDE2KS5wYWRTdGFydCgyLCIwIikpO2koV2xhLCJ1aW50OEFycmF5VG9IZXgiKTtkSmU9ezA6MCwxOjEsMjoyLDM6Myw0OjQsNTo1LDY6Niw3OjcsODo4LDk6OSxhOjEwLGI6MTEsYzoxMixkOjEzLGU6MTQsZjoxNSxBOjEwLEI6MTEsQzoxMixEOjEzLEU6MTQsRjoxNX07aShHbGEsImhleFRvVWludDhBcnJheSIpO2koWWxhLCJnZXRVaW50QkUiKTtpKGdKZSwiaW5kZXhPZiIpO2koWmxhLCJpbmNsdWRlcyIpfSk7dmFyIHZKZT1jKCgpPT57YkplKCl9KTt2YXIgUDU9e307ZXQoUDUse2Jhc2U2NFRvVWludDhBcnJheTooKT0+SmxhLGVuc3VyZVB1cmVVaW50OEFycmF5OigpPT5hMGEsaXNCdWZmZXJMaWtlOigpPT50MGEsaXNVaW50OEFycmF5OigpPT5lMGEsdUludDhBcnJheUV4dHJhczooKT0+S2xhLHVJbnQ4QXJyYXlUb0Jhc2U2NDooKT0+UWxhfSk7ZnVuY3Rpb24gUWxhKHQpe3JldHVybiBEbi51aW50OEFycmF5VG9CYXNlNjQodCl9ZnVuY3Rpb24gSmxhKHQpe3JldHVybiBEbi5iYXNlNjRUb1VpbnQ4QXJyYXkodCl9ZnVuY3Rpb24gdDBhKHQpe3JldHVybiB0JiZ0eXBlb2YgdC5ieXRlTGVuZ3RoPT0ibnVtYmVyIj8hMDp0eXBlb2YgQnVmZmVyPCJ1IiYmQnVmZmVyLmlzQnVmZmVyP0J1ZmZlci5pc0J1ZmZlcih0KTohMX1mdW5jdGlvbiBhMGEodCl7bGV0IGU9bmV3IFVpbnQ4QXJyYXkodC5sZW5ndGgpO3JldHVybiBlLnNldCh0KSxlfXZhciBLbGEsZTBhLHhKZT1jKCgpPT57dkplKCk7S2xhPURuO2koUWxhLCJ1SW50OEFycmF5VG9CYXNlNjQiKTtpKEpsYSwiYmFzZTY0VG9VaW50OEFycmF5Iik7ZTBhPWkodD0+RG4uaXNVaW50OEFycmF5KHQpLCJpc1VpbnQ4QXJyYXkiKTtpKHQwYSwiaXNCdWZmZXJMaWtlIik7aShhMGEsImVuc3VyZVB1cmVVaW50OEFycmF5Iil9KTt2YXIgQ3U9YygoKT0+e2RyKCl9KTt2YXIgX3Usdmo9YygoKT0+e0N1KCk7X3U9Y2xhc3N7c3RhdGlje2kodGhpcywiR3VhcmQiKX1jb25zdHJ1Y3RvcihlLGEpe3RoaXMuZ3VhcmRGdW5jdGlvbj1lLHRoaXMub3B0aW9ucz1hfWFzeW5jIGV4ZWMoZSl7cmV0dXJuIGF3YWl0IHRoaXMuZ3VhcmRGdW5jdGlvbihlKX1hc3luYyBnZXRGYWlsZWRIaW50KGUpe3JldHVybiBhd2FpdCB0aGlzLmV4ZWMoZSk/bnVsbDp0aGlzLm9wdGlvbnMuZmFpbGVkSGludH19fSk7dmFyIFR1LGt0ZT1jKCgpPT57Q3UoKTtUdT1jbGFzcyBleHRlbmRzIEVycm9ye3N0YXRpY3tpKHRoaXMsIkd1YXJkRXJyb3IiKX1jb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9Ikd1YXJkRXJyb3IifX19KTt2YXIgTHUsenRlPWMoKCk9PntDdSgpO3ZqKCk7THU9Y2xhc3MgZXh0ZW5kcyBfdXtzdGF0aWN7aSh0aGlzLCJHdWFyZFNldCIpfWNvbnN0cnVjdG9yKGU9W10pe3N1cGVyKGFzeW5jIGE9PnRoaXMuYWxsR3VhcmRzUGFzcyhhKSksdGhpcy5ndWFyZHM9ZX1hc3luYyBleGVjQWxsV2l0aERhdGEoZSxhPXttb2RlOiJwYXJhbGxlbCIsc3RvcE9uRmFpbDohMX0pe2xldCByPVtdO2ZvcihsZXQgbiBvZiB0aGlzLmd1YXJkcyl7bGV0IG89bi5leGVjKGUpO2lmKGEubW9kZT09PSJzZXJpYWwiJiZhd2FpdCBvLHIucHVzaChvKSxhLnN0b3BPbkZhaWwmJiFhd2FpdCBvKXJldHVybiBhd2FpdCBQcm9taXNlLmFsbChyKX1yZXR1cm4gYXdhaXQgUHJvbWlzZS5hbGwocil9YXN5bmMgYWxsR3VhcmRzUGFzcyhlLGE9e21vZGU6InBhcmFsbGVsIixzdG9wT25GYWlsOiExfSl7cmV0dXJuKGF3YWl0IHRoaXMuZXhlY0FsbFdpdGhEYXRhKGUsYSkpLmV2ZXJ5KHM9PnMpfWFzeW5jIGFueUd1YXJkc1Bhc3MoZSl7cmV0dXJuKGF3YWl0IHRoaXMuZXhlY0FsbFdpdGhEYXRhKGUse21vZGU6InBhcmFsbGVsIixzdG9wT25GYWlsOiExfSkpLnNvbWUocj0+cil9Z2V0RmFpbGVkSGludChlKXtmb3IobGV0IGEgb2YgdGhpcy5ndWFyZHMpe2xldCByPWEuZ2V0RmFpbGVkSGludChlKTtpZihyKXJldHVybiByfX19fSk7dmFyICR1PXt9O2V0KCR1LHtHdWFyZDooKT0+X3UsR3VhcmRFcnJvcjooKT0+VHUsR3VhcmRTZXQ6KCk9Pkx1LHBhc3NHdWFyZHNPclJlamVjdDooKT0+cjBhfSk7dmFyIHIwYSx5SmU9YygoKT0+e0N1KCk7dmooKTtrdGUoKTt2aigpO3p0ZSgpO3p0ZSgpO2t0ZSgpO3IwYT1pKGFzeW5jKHQsZSk9PntsZXQgYT1uZXcgTHUoZSk7aWYoIWF3YWl0IGEuYWxsR3VhcmRzUGFzcyh0KSl7bGV0IHM9YXdhaXQgYS5nZXRGYWlsZWRIaW50KHQpO3Rocm93IG5ldyBUdShgR3VhcmRzIGZhaWxlZDoKJHtzfQogICAgYCl9fSwicGFzc0d1YXJkc09yUmVqZWN0Iil9KTt2YXIgRTUsU3RlPWMoKCk9PntFNT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJJbnRlcmNlcHRvck1hbmFnZXIiKX1jb25zdHJ1Y3Rvcigpe3RoaXMucmVxdWVzdEludGVyY2VwdG9ycz1bXSx0aGlzLnJlc3BvbnNlSW50ZXJjZXB0b3JzPVtdLHRoaXMuZXJyb3JJbnRlcmNlcHRvcnM9W119YWRkUmVxdWVzdEludGVyY2VwdG9yKGUpe3RoaXMucmVxdWVzdEludGVyY2VwdG9ycy5wdXNoKGUpfWFkZFJlc3BvbnNlSW50ZXJjZXB0b3IoZSl7dGhpcy5yZXNwb25zZUludGVyY2VwdG9ycy5wdXNoKGUpfWFkZEVycm9ySW50ZXJjZXB0b3IoZSl7dGhpcy5lcnJvckludGVyY2VwdG9ycy5wdXNoKGUpfXJlbW92ZVJlcXVlc3RJbnRlcmNlcHRvcihlKXtsZXQgYT10aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnMuaW5kZXhPZihlKTthPi0xJiZ0aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnMuc3BsaWNlKGEsMSl9cmVtb3ZlUmVzcG9uc2VJbnRlcmNlcHRvcihlKXtsZXQgYT10aGlzLnJlc3BvbnNlSW50ZXJjZXB0b3JzLmluZGV4T2YoZSk7YT4tMSYmdGhpcy5yZXNwb25zZUludGVyY2VwdG9ycy5zcGxpY2UoYSwxKX1yZW1vdmVFcnJvckludGVyY2VwdG9yKGUpe2xldCBhPXRoaXMuZXJyb3JJbnRlcmNlcHRvcnMuaW5kZXhPZihlKTthPi0xJiZ0aGlzLmVycm9ySW50ZXJjZXB0b3JzLnNwbGljZShhLDEpfWNsZWFyQWxsKCl7dGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzPVtdLHRoaXMucmVzcG9uc2VJbnRlcmNlcHRvcnM9W10sdGhpcy5lcnJvckludGVyY2VwdG9ycz1bXX1hc3luYyBwcm9jZXNzUmVxdWVzdChlKXtsZXQgYT1lO2ZvcihsZXQgciBvZiB0aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnMpdHJ5e2E9YXdhaXQgcihhKX1jYXRjaChzKXt0aHJvdyBhd2FpdCB0aGlzLnByb2Nlc3NFcnJvcihzIGluc3RhbmNlb2YgRXJyb3I/czpuZXcgRXJyb3IoU3RyaW5nKHMpKSl9cmV0dXJuIGF9YXN5bmMgcHJvY2Vzc1Jlc3BvbnNlKGUpe2xldCBhPWU7Zm9yKGxldCByIG9mIHRoaXMucmVzcG9uc2VJbnRlcmNlcHRvcnMpdHJ5e2E9YXdhaXQgcihhKX1jYXRjaChzKXt0aHJvdyBhd2FpdCB0aGlzLnByb2Nlc3NFcnJvcihzIGluc3RhbmNlb2YgRXJyb3I/czpuZXcgRXJyb3IoU3RyaW5nKHMpKSl9cmV0dXJuIGF9YXN5bmMgcHJvY2Vzc0Vycm9yKGUpe2xldCBhPWU7Zm9yKGxldCByIG9mIHRoaXMuZXJyb3JJbnRlcmNlcHRvcnMpdHJ5e2E9YXdhaXQgcihhKX1jYXRjaChzKXthPXMgaW5zdGFuY2VvZiBFcnJvcj9zOm5ldyBFcnJvcihTdHJpbmcocykpfXJldHVybiBhfWdldEludGVyY2VwdG9yQ291bnRzKCl7cmV0dXJue3JlcXVlc3Q6dGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzLmxlbmd0aCxyZXNwb25zZTp0aGlzLnJlc3BvbnNlSW50ZXJjZXB0b3JzLmxlbmd0aCxlcnJvcjp0aGlzLmVycm9ySW50ZXJjZXB0b3JzLmxlbmd0aH19fX0pO3ZhciB3SmU9YygoKT0+e2RyKCl9KTt2YXIgTUplPWMoKCk9Pnt9KTt2YXIgQ3RlLGtKZT1jKCgpPT57d0plKCk7TUplKCk7Q3RlPWNsYXNze3N0YXRpY3tpKHRoaXMsIlNtYXJ0ZW52Iil9Y29uc3RydWN0b3IoKXt0aGlzLmxvYWRlZFNjcmlwdHM9W119YXN5bmMgZ2V0RW52QXdhcmVNb2R1bGUoZSl7aWYodGhpcy5pc05vZGUpcmV0dXJuIGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUoZS5ub2RlTW9kdWxlTmFtZSk7aWYodGhpcy5pc0Jyb3dzZXIpcmV0dXJuIGF3YWl0IHRoaXMuZ2V0U2FmZVdlYk1vZHVsZShlLndlYlVybEFyZyxlLmdldEZ1bmN0aW9uKTtjb25zb2xlLmVycm9yKCJwbGF0Zm9ybSBmb3IgbG9hZGluZyBub3Qgc3VwcG9ydGVkIGJ5IHNtYXJ0ZW52Iil9YXN5bmMgZ2V0U2FmZU5vZGVNb2R1bGUoZSxhKXtpZighdGhpcy5pc05vZGUmJiF0aGlzLmlzRGVubyYmIXRoaXMuaXNCdW4pe2NvbnNvbGUuZXJyb3IoYFlvdSB0cmllZCB0byBsb2FkIGEgc2VydmVyIG1vZHVsZSBpbiBhIHdyb25nIGNvbnRleHQ6ICR7ZX0uIFRoaXMgZG9lcyBub3QgdGhyb3cuYCk7cmV0dXJufWxldCByPWF3YWl0IG5ldyBGdW5jdGlvbihgcmV0dXJuIGltcG9ydCgnJHtlfScpYCkoKTtyZXR1cm4gYSYmYXdhaXQgYShyKSxyfWFzeW5jIGdldFNhZmVXZWJNb2R1bGUoZSxhKXtpZighdGhpcy5pc0Jyb3dzZXIpe2NvbnNvbGUuZXJyb3IoIllvdSB0cmllZCB0byBsb2FkIGEgd2ViIG1vZHVsZSBpbiBhIHdyb25nIGNvbnRleHQiKTtyZXR1cm59aWYodGhpcy5sb2FkZWRTY3JpcHRzLmluY2x1ZGVzKGUpKXJldHVybiBhKCk7dGhpcy5sb2FkZWRTY3JpcHRzLnB1c2goZSk7bGV0IHI9SmUuZGVmZXIoKTtpZihnbG9iYWxUaGlzLmltcG9ydFNjcmlwdHMpZ2xvYmFsVGhpcy5pbXBvcnRTY3JpcHRzKGUpLHIucmVzb2x2ZSgpO2Vsc2V7bGV0IHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7cy5vbmxvYWQ9KCk9PntyLnJlc29sdmUoKX0scy5zcmM9ZSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHMpfXJldHVybiBhd2FpdCByLnByb21pc2UsYSgpfWdldCBydW50aW1lRW52KCl7cmV0dXJuIHR5cGVvZiBnbG9iYWxUaGlzLkRlbm88InUiJiZ0eXBlb2YgZ2xvYmFsVGhpcy5EZW5vPy52ZXJzaW9uPCJ1Ij8iZGVubyI6dHlwZW9mIGdsb2JhbFRoaXMuQnVuPCJ1IiYmdHlwZW9mIGdsb2JhbFRoaXMuQnVuPy52ZXJzaW9uPCJ1Ij8iYnVuIjp0eXBlb2YgZ2xvYmFsVGhpcy5wcm9jZXNzPCJ1IiYmdHlwZW9mIGdsb2JhbFRoaXMucHJvY2Vzcz8udmVyc2lvbnM/Lm5vZGU8InUiPyJub2RlIjoodHlwZW9mIGdsb2JhbFRoaXMud2luZG93PCJ1IiYmdHlwZW9mIGdsb2JhbFRoaXMuZG9jdW1lbnQ8InUiLCJicm93c2VyIil9Z2V0IGlzQnJvd3Nlcigpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0iYnJvd3NlciJ9Z2V0IGlzTm9kZSgpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0ibm9kZSJ9Z2V0IGlzRGVubygpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0iZGVubyJ9Z2V0IGlzQnVuKCl7cmV0dXJuIHRoaXMucnVudGltZUVudj09PSJidW4ifWdldCB1c2VyQWdlbnQoKXtyZXR1cm4gdGhpcy5pc0Jyb3dzZXI/bmF2aWdhdG9yLnVzZXJBZ2VudDoidW5kZWZpbmVkIn1nZXQgbm9kZVZlcnNpb24oKXtyZXR1cm4gdGhpcy5pc05vZGU/cHJvY2Vzcy52ZXJzaW9uOiJ1bmRlZmluZWQifWdldCBkZW5vVmVyc2lvbigpe3JldHVybiB0aGlzLmlzRGVubz9nbG9iYWxUaGlzLkRlbm8udmVyc2lvbi5kZW5vOiJ1bmRlZmluZWQifWdldCBidW5WZXJzaW9uKCl7cmV0dXJuIHRoaXMuaXNCdW4/Z2xvYmFsVGhpcy5CdW4udmVyc2lvbjoidW5kZWZpbmVkIn1hc3luYyBnZXRTYWZlTW9kdWxlRm9yKGUsYSxyKXtsZXQgcztpZihBcnJheS5pc0FycmF5KGUpP3M9ZS5mbGF0TWFwKG49Pm49PT0ic2VydmVyIj9bIm5vZGUiLCJkZW5vIiwiYnVuIl06W25dKTplPT09InNlcnZlciI/cz1bIm5vZGUiLCJkZW5vIiwiYnVuIl06cz1bZV0sIXMuaW5jbHVkZXModGhpcy5ydW50aW1lRW52KSl7Y29uc29sZS53YXJuKGBNb2R1bGUgIiR7YX0iIHJlcXVlc3RlZCBmb3IgcnVudGltZShzKSBbJHtzLmpvaW4oIiwgIil9XSBidXQgY3VycmVudCBydW50aW1lIGlzICIke3RoaXMucnVudGltZUVudn0iLiBTa2lwcGluZyBsb2FkLmApO3JldHVybn1pZih0aGlzLmlzTm9kZXx8dGhpcy5pc0Rlbm98fHRoaXMuaXNCdW4pcmV0dXJuIGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUoYSk7aWYodGhpcy5pc0Jyb3dzZXIpe2lmKCFyKXtjb25zb2xlLmVycm9yKGBCcm93c2VyIG1vZHVsZSBsb2FkIHJlcXVpcmVzIGdldEZ1bmN0aW9uIHBhcmFtZXRlciBmb3IgIiR7YX0iYCk7cmV0dXJufXJldHVybiBhd2FpdCB0aGlzLmdldFNhZmVXZWJNb2R1bGUoYSxyKX19Z2V0IGlzQ0koKXtyZXR1cm4gdGhpcy5pc05vZGU/ISFwcm9jZXNzLmVudi5DSTohMX1hc3luYyBpc01hY0FzeW5jKCl7cmV0dXJuIHRoaXMuaXNOb2RlPyhhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKCJvcyIpKS5wbGF0Zm9ybSgpPT09ImRhcndpbiI6ITF9YXN5bmMgaXNXaW5kb3dzQXN5bmMoKXtyZXR1cm4gdGhpcy5pc05vZGU/KGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUoIm9zIikpLnBsYXRmb3JtKCk9PT0id2luMzIiOiExfWFzeW5jIGlzTGludXhBc3luYygpe3JldHVybiB0aGlzLmlzTm9kZT8oYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSgib3MiKSkucGxhdGZvcm0oKT09PSJsaW51eCI6ITF9YXN5bmMgcHJpbnRFbnYoKXt0aGlzLmlzTm9kZT8oY29uc29sZS5sb2coInJ1bm5pbmcgb24gTk9ERSIpLGNvbnNvbGUubG9nKCJub2RlIHZlcnNpb24gaXMgIit0aGlzLm5vZGVWZXJzaW9uKSk6dGhpcy5pc0Rlbm8/KGNvbnNvbGUubG9nKCJydW5uaW5nIG9uIERFTk8iKSxjb25zb2xlLmxvZygiZGVubyB2ZXJzaW9uIGlzICIrdGhpcy5kZW5vVmVyc2lvbikpOnRoaXMuaXNCdW4/KGNvbnNvbGUubG9nKCJydW5uaW5nIG9uIEJVTiIpLGNvbnNvbGUubG9nKCJidW4gdmVyc2lvbiBpcyAiK3RoaXMuYnVuVmVyc2lvbikpOihjb25zb2xlLmxvZygicnVubmluZyBvbiBCUk9XU0VSIiksY29uc29sZS5sb2coImJyb3dzZXIgaXMgIit0aGlzLnVzZXJBZ2VudCkpfX19KTt2YXIgRHU9e307ZXQoRHUse1NtYXJ0ZW52OigpPT5DdGV9KTt2YXIgX3RlPWMoKCk9PntrSmUoKX0pO3ZhciBUdGUsSTU9YygoKT0+e1R0ZT1YMShtSCgpLDEpfSk7dmFyIHhqPXt9O2V0KHhqLHtjcmVhdGVDcnlwdG9SYW5kb21TdHJpbmc6KCk9PmMwYSxjcmVhdGVSYW5kb21TdHJpbmc6KCk9PmwwYX0pO3ZhciBvMGEsbjBhLGwwYSxjMGEsekplPWMoKCk9PntJNSgpO28wYT1pKCh0LGUpPT57aWYodHlwZW9mIGdsb2JhbFRoaXM8InUiJiZnbG9iYWxUaGlzLmNyeXB0byYmZ2xvYmFsVGhpcy5jcnlwdG8uZ2V0UmFuZG9tVmFsdWVzKXtsZXQgYT1lLXQscj1uZXcgVWludDMyQXJyYXkoMSk7cmV0dXJuIGdsb2JhbFRoaXMuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyhyKSx0K3JbMF0lYX1lbHNlIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKGUtdCkpK3R9LCJnZXRSYW5kb21JbnQiKSxuMGE9aSgodCxlLGEpPT57bGV0IHI9e0E6IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIixhOiJhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eiIsMDoiMDEyMzQ1Njc4OSIsIiEiOiIhQCMkJV4mKigpXystPVtde318OzosLjw+PyIsIioiOiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSFAIyQlXiYqKClfKy09W117fXw7OiwuPD4/In0scz10O2UmJmU+dC5sZW5ndGg/cz10LnJlcGVhdChNYXRoLmNlaWwoZS90Lmxlbmd0aCkpLnNsaWNlKDAsZSk6ZSYmKHM9dC5zbGljZSgwLGUpKTtsZXQgbj0iIjtmb3IobGV0IG8gb2YgcylpZihyW29dKXtsZXQgbD1yW29dLGg9bzBhKDAsbC5sZW5ndGgpO24rPWxbaF19ZWxzZSBuKz1vO3JldHVybiBufSwiY3VzdG9tUmFuZG9tYXRpYyIpLGwwYT1pKCh0LGUsYSk9Pm4wYSh0LGUsYSksImNyZWF0ZVJhbmRvbVN0cmluZyIpLGMwYT1pKCgpPT5UdGUudW5pKCksImNyZWF0ZUNyeXB0b1JhbmRvbVN0cmluZyIpfSk7dmFyIHlqPXt9O2V0KHlqLHttYWtlRW52T2JqZWN0OigpPT5kMGF9KTt2YXIgZDBhLFNKZT1jKCgpPT57STUoKTtkMGE9aShmdW5jdGlvbih0KXtsZXQgZT17fSxhPS8oLiopPSguKikvO2lmKHR5cGVvZiB0PCJ1Iilmb3IobGV0IHIgaW4gdCl7bGV0IHM9YS5leGVjKHRbcl0pO2Vbc1sxXV09c1syXX1yZXR1cm4gZX0sIm1ha2VFbnZPYmplY3QiKX0pO3ZhciBLbD17fTtldChLbCx7aW5kZW50OigpPT51MGEsaW5kZW50V2l0aFByZWZpeDooKT0+ZjBhLG5vcm1hbGl6ZTooKT0+aDBhfSk7dmFyIEx0ZSwkdGUscDBhLHUwYSxmMGEsaDBhLENKZT1jKCgpPT57STUoKTtMdGU9aSh0PT57bGV0IGU9dC5zcGxpdChgCmApO3JldHVybiBwMGEoZSl9LCJzcGxpdFN0cmluZ0F0TGluZUJyZWFrIiksJHRlPWkodD0+e2xldCBlPSIiO2ZvcihsZXQgYSBvZiB0KWU9ZSthK2AKYDtyZXR1cm4gZX0sImpvaW5TdHJpbmdXaXRoTGluZUJyZWFrcyIpLHAwYT1pKHQ9PntsZXQgZT0vXltcc10qJC87cmV0dXJuIGUudGVzdCh0WzBdKSYmdC5zaGlmdCgpLGUudGVzdCh0W3QubGVuZ3RoLTFdKSYmdC5wb3AoKSx0fSwiY2xlYW5TdHJpbmdBcnJheSIpLHUwYT1pKCh0LGUpPT57bGV0IGE9THRlKHQpO2ZvcihsZXQgcyBvZiBhKXM9IiAiLnJlcGVhdChlKStzO3JldHVybiAkdGUoYSl9LCJpbmRlbnQiKSxmMGE9aSgodCxlKT0+e2xldCBhLHI9THRlKHQpLHM9W107Zm9yKGxldCBuIG9mIHIpcy5wdXNoKGUrbik7cmV0dXJuIGE9JHRlKHMpLGF9LCJpbmRlbnRXaXRoUHJlZml4IiksaDBhPWkodD0+e2xldCBlLGE9THRlKHQpLHIscz0vXihccyopLyxuPS9eKFxzKikkLztmb3IobGV0IGwgb2YgYSl7bGV0IGg9cy5leGVjKGwpWzFdOyh0eXBlb2Ygcj4idSJ8fGgubGVuZ3RoPHIpJiYhbi50ZXN0KGwpJiYocj1oLmxlbmd0aCl9bGV0IG89W107Zm9yKGxldCBsIG9mIGEpby5wdXNoKGwuc3Vic3RyKHIpKTtyZXR1cm4gZT0kdGUobyksZX0sIm5vcm1hbGl6ZSIpfSk7dmFyIHdqPXt9O2V0KHdqLHtyZXBsYWNlQWxsOigpPT5fSmUsc3RhbmRhcmQ6KCk9PmcwYX0pO3ZhciBfSmUsbTBhLGcwYSxUSmU9YygoKT0+e19KZT1pKCh0LGUsYSk9PnQucmVwbGFjZShuZXcgUmVnRXhwKGUsImciKSxhKSwicmVwbGFjZUFsbCIpLG0wYT1pKHQ9PntsZXQgZT10LnNwbGl0KGAKYCksYT0xLzA7Zm9yKGxldCByIG9mIGUpaWYoci50cmltKCkubGVuZ3RoPjApe2xldCBzPXIubWF0Y2goL14oXHMqKS8pO3MmJihhPU1hdGgubWluKGEsc1sxXS5sZW5ndGgpKX1yZXR1cm4gYT09PTEvMHx8YT09PTA/dDplLm1hcChyPT5yLmxlbmd0aD49YT9yLnNsaWNlKGEpOnIpLmpvaW4oYApgKX0sInN0cmlwSW5kZW50IiksZzBhPWkoKHQsZSk9PntsZXQgYT10O3JldHVybighZXx8ZS5zdHJpcEluZGVudCkmJihhPW0wYShhKSksKCFlfHxlLm5vcm1hbGl6ZU5ld2xpbmUpJiYoYT1hLnJlcGxhY2UoL1xyXG4vZyxgCmApKSwoIWV8fGUucmVwbGFjZVRhYnMpJiYoYT1fSmUoYSwiCS8iLCIgIikpLCghZXx8ZS5zdHJpcExlYWRpbmdUcmFpbGluZ0VtcHR5TGluZXMpJiYoYT1hLnJlcGxhY2UoL15ccypbXHJcbl0vZ20sIiIpLnJlcGxhY2UoL1xzKltcclxuXSQvZ20sIiIpKSwoIWV8fGUuc3RyaXBBbGxFbXB0eUxpbmVzKSYmKGE9YS5yZXBsYWNlKC9eXHMqW1xyXG5dL2dtLCIiKSksYX0sInN0YW5kYXJkIil9KTt2YXIgRHRlLE1qLE41LEF0ZT1jKCgpPT57RHRlPXtlbmNvZGU6aSh0PT57aWYodHlwZW9mIEJ1ZmZlcjwidSIpcmV0dXJuIEJ1ZmZlci5mcm9tKHQsInV0ZjgiKS50b1N0cmluZygiYmFzZTY0Iik7aWYodHlwZW9mIGJ0b2E8InUiKXtsZXQgZT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUodCksYT1BcnJheS5mcm9tKGUscj0+U3RyaW5nLmZyb21DaGFyQ29kZShyKSkuam9pbigiIik7cmV0dXJuIGJ0b2EoYSl9ZWxzZXtsZXQgZT0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIsYT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUodCkscj0iIixzPTA7Zm9yKDtzPGEubGVuZ3RoOyl7bGV0IG49YVtzKytdLG89czxhLmxlbmd0aD9hW3MrK106MCxsPXM8YS5sZW5ndGg/YVtzKytdOjAsaD1uPDwxNnxvPDw4fGw7cis9ZS5jaGFyQXQoaD4+MTgmNjMpLHIrPWUuY2hhckF0KGg+PjEyJjYzKSxyKz1zLTI8YS5sZW5ndGg/ZS5jaGFyQXQoaD4+NiY2Myk6Ij0iLHIrPXMtMTxhLmxlbmd0aD9lLmNoYXJBdChoJjYzKToiPSJ9cmV0dXJuIHJ9fSwiZW5jb2RlIiksZGVjb2RlOmkodD0+e2xldCBlPXQucmVwbGFjZSgvLS9nLCIrIikucmVwbGFjZSgvXy9nLCIvIikucGFkRW5kKHQubGVuZ3RoKyg0LXQubGVuZ3RoJTQpJTQsIj0iKTtpZih0eXBlb2YgQnVmZmVyPCJ1IilyZXR1cm4gQnVmZmVyLmZyb20oZSwiYmFzZTY0IikudG9TdHJpbmcoInV0ZjgiKTtpZih0eXBlb2YgYXRvYjwidSIpe2xldCBhPWF0b2IoZSkscj1uZXcgVWludDhBcnJheShhLmxlbmd0aCk7Zm9yKGxldCBzPTA7czxhLmxlbmd0aDtzKyspcltzXT1hLmNoYXJDb2RlQXQocyk7cmV0dXJuIG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShyKX1lbHNle2xldCBhPSJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvIixyPVtdLHM9MDtmb3IoO3M8ZS5sZW5ndGg7KXtsZXQgbj1hLmluZGV4T2YoZS5jaGFyQXQocysrKSksbz1hLmluZGV4T2YoZS5jaGFyQXQocysrKSksbD1hLmluZGV4T2YoZS5jaGFyQXQocysrKSksaD1hLmluZGV4T2YoZS5jaGFyQXQocysrKSksdT1uPDwxOHxvPDwxMnxsPDw2fGg7ci5wdXNoKHU+PjE2JjI1NSksbCE9PTY0JiZyLnB1c2godT4+OCYyNTUpLGghPT02NCYmci5wdXNoKHUmMjU1KX1yZXR1cm4gbmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKG5ldyBVaW50OEFycmF5KHIpKX19LCJkZWNvZGUiKX0sTWo9Y2xhc3N7c3RhdGlje2kodGhpcywiQmFzZTY0Iil9Y29uc3RydWN0b3IoZSxhKXtzd2l0Y2goYSl7Y2FzZSJzdHJpbmciOnRoaXMucmVmU3RyaW5nPWU7YnJlYWs7Y2FzZSJiYXNlNjQiOnRoaXMucmVmU3RyaW5nPU41LmRlY29kZShlKTticmVhaztjYXNlImJhc2U2NHVyaSI6dGhpcy5yZWZTdHJpbmc9TjUuZGVjb2RlKGUpfX1nZXQgc2ltcGxlU3RyaW5nKCl7cmV0dXJuIHRoaXMucmVmU3RyaW5nfWdldCBiYXNlNjRTdHJpbmcoKXtyZXR1cm4gTjUuZW5jb2RlKHRoaXMucmVmU3RyaW5nKX1nZXQgYmFzZTY0VXJpU3RyaW5nKCl7cmV0dXJuIE41LmVuY29kZVVyaSh0aGlzLnJlZlN0cmluZyl9fSxONT17ZW5jb2RlOmkodD0+RHRlLmVuY29kZSh0KSwiZW5jb2RlIiksZW5jb2RlVXJpOmkodD0+RHRlLmVuY29kZSh0KS5yZXBsYWNlKC9cKy9nLCItIikucmVwbGFjZSgvXC8vZywiXyIpLnJlcGxhY2UoLz0vZywiIiksImVuY29kZVVyaSIpLGRlY29kZTppKHQ9PkR0ZS5kZWNvZGUodCksImRlY29kZSIpLGlzQmFzZTY0OmkodD0+L14oW0EtWmEtejAtOSsvXXs0fSkqKFtBLVphLXowLTkrL117M309fFtBLVphLXowLTkrL117Mn09PSk/JC8udGVzdCh0KSwiaXNCYXNlNjQiKX19KTt2YXIga2o9e307ZXQoa2ose2lzQmFzZTY0OigpPT52MGEsaXNVdGY4OigpPT5iMGF9KTt2YXIgYjBhLHYwYSxMSmU9YygoKT0+e0k1KCk7QXRlKCk7YjBhPWkodD0+e2xldCBhPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZSh0KSxyPTA7Zm9yKDtyPGEubGVuZ3RoOyl7aWYoYVtyXT09PTl8fGFbcl09PT0xMHx8YVtyXT09PTEzfHwzMjw9YVtyXSYmYVtyXTw9MTI2KXtyKz0xO2NvbnRpbnVlfWlmKDE5NDw9YVtyXSYmYVtyXTw9MjIzJiYxMjg8PWFbcisxXSYmYVtyKzFdPD0xOTEpe3IrPTI7Y29udGludWV9aWYoYVtyXT09PTIyNCYmMTYwPD1hW3IrMV0mJmFbcisxXTw9MTkxJiYxMjg8PWFbcisyXSYmYVtyKzJdPD0xOTF8fCgyMjU8PWFbcl0mJmFbcl08PTIzNnx8YVtyXT09PTIzOHx8YVtyXT09PTIzOSkmJjEyODw9YVtyKzFdJiZhW3IrMV08PTE5MSYmMTI4PD1hW3IrMl0mJmFbcisyXTw9MTkxfHxhW3JdPT09MjM3JiYxMjg8PWFbcisxXSYmYVtyKzFdPD0xNTkmJjEyODw9YVtyKzJdJiZhW3IrMl08PTE5MSl7cis9Mztjb250aW51ZX1pZihhW3JdPT09MjQwJiYxNDQ8PWFbcisxXSYmYVtyKzFdPD0xOTEmJjEyODw9YVtyKzJdJiZhW3IrMl08PTE5MSYmMTI4PD1hW3IrM10mJmFbciszXTw9MTkxfHwyNDE8PWFbcl0mJmFbcl08PTI0MyYmMTI4PD1hW3IrMV0mJmFbcisxXTw9MTkxJiYxMjg8PWFbcisyXSYmYVtyKzJdPD0xOTEmJjEyODw9YVtyKzNdJiZhW3IrM108PTE5MXx8YVtyXT09PTI0NCYmMTI4PD1hW3IrMV0mJmFbcisxXTw9MTQzJiYxMjg8PWFbcisyXSYmYVtyKzJdPD0xOTEmJjEyODw9YVtyKzNdJiZhW3IrM108PTE5MSl7cis9NDtjb250aW51ZX1yZXR1cm4hMX1yZXR1cm4hMH0sImlzVXRmOCIpLHYwYT1pKHQ9PntsZXQgZT0vW15BLVowLTkrXC89XS9pLGE9dC5sZW5ndGg7aWYoIWF8fGElNCE9PTB8fGUudGVzdCh0KSlyZXR1cm4hMTtsZXQgcj10LmluZGV4T2YoIj0iKTtyZXR1cm4gcj09PS0xfHxyPT09YS0xfHxyPT09YS0yJiZ0W2EtMV09PT0iPSJ9LCJpc0Jhc2U2NCIpfSk7dmFyIHpqLCRKZT1jKCgpPT57emo9Y2xhc3N7c3RhdGlje2kodGhpcywiRG9tYWluIil9Y29uc3RydWN0b3IoZSl7dGhpcy5wcm90b2NvbD10aGlzLl9wcm90b2NvbFJlZ2V4KGUpLHRoaXMucHJvdG9jb2x8fChlPWBodHRwczovLyR7ZX1gKSx0aGlzLm5vZGVQYXJzZWRVcmw9bmV3IFVSTChlKSx0aGlzLnBvcnQ9dGhpcy5ub2RlUGFyc2VkVXJsLnBvcnQ7bGV0IGE9dGhpcy5fZG9tYWluUmVnZXgoZS5yZXBsYWNlKHRoaXMubm9kZVBhcnNlZFVybC5wYXRobmFtZSwiIikpO3RoaXMuZnVsbE5hbWU9IiI7Zm9yKGxldCByPTE7cjw9NTtyKyspaWYoYVtyLTFdKXtsZXQgcz1hW3ItMV07dGhpc1sibGV2ZWwiK3IudG9TdHJpbmcoKV09cyx0aGlzLmZ1bGxOYW1lPT09IiI/dGhpcy5mdWxsTmFtZT1zOnRoaXMuZnVsbE5hbWU9cysiLiIrdGhpcy5mdWxsTmFtZX1lbHNlIHRoaXNbImxldmVsIityLnRvU3RyaW5nKCldPXZvaWQgMDt0aGlzLnpvbmVOYW1lPXRoaXMubGV2ZWwyKyIuIit0aGlzLmxldmVsMSx0aGlzLnRvcExldmVsPXRoaXMubGV2ZWwxLHRoaXMuZG9tYWluTmFtZT10aGlzLmxldmVsMix0aGlzLnN1YkRvbWFpbj10aGlzLmxldmVsM31fZG9tYWluUmVnZXgoZSl7bGV0IHI9LyhbYS16QS1aMC05XC1cX10qKVwuezAsMX0oW2EtekEtWjAtOVwtXF9dKilcLnswLDF9KFthLXpBLVowLTlcLVxfXSopXC57MCwxfShbYS16QS1aMC05XC1cX10qKVwuezAsMX0oW2EtekEtWjAtOVwtXF9dKilcLnswLDF9JC8uZXhlYyhlKTtyZXR1cm4gci5yZXZlcnNlKCksci5wb3AoKSxyLmZpbHRlcihmdW5jdGlvbihuKXtyZXR1cm4gbiE9PSIifSl9X3Byb3RvY29sUmVnZXgoZSl7bGV0IHI9L14oW2EtekEtWjAtOV0qKTpcL1wvLy5leGVjKGUpO2lmKHIpcmV0dXJuIHJbMV19X3BvcnRSZWdleChlKXtsZXQgcj0vXihbYS16QS1aMC05XSopOlwvXC8vLmV4ZWMoZSk7aWYocilyZXR1cm4gclsxXX19fSk7dmFyIFNqLHgwYSxESmUsQUplPWMoKCk9PntJNSgpO1NqPWNsYXNze3N0YXRpY3tpKHRoaXMsIkdpdFJlcG8iKX1jb25zdHJ1Y3RvcihlLGEpe2xldCByPXgwYShlKTt0aGlzLmhvc3Q9clsxXSx0aGlzLnVzZXI9clsyXSx0aGlzLnJlcG89clszXSx0aGlzLmFjY2Vzc1Rva2VuPWEsdGhpcy5zc2hVcmw9REplKHRoaXMuaG9zdCx0aGlzLnVzZXIsdGhpcy5yZXBvLHRoaXMuYWNjZXNzVG9rZW4sInNzaCIpLHRoaXMuaHR0cHNVcmw9REplKHRoaXMuaG9zdCx0aGlzLnVzZXIsdGhpcy5yZXBvLHRoaXMuYWNjZXNzVG9rZW4sImh0dHBzIil9fSx4MGE9aShmdW5jdGlvbih0KXtyZXR1cm4vKFthLXpBLVowLTlcLV9cLl0qKSg/OlwvfFw6KShbYS16QS1aMC05XC1fXC5dKikoPzpcLykoW2EtekEtWjAtOVwtX1wuXSopKD86XC5naXQpLy5leGVjKHQpfSwiZ2l0UmVnZXgiKSxESmU9aShmdW5jdGlvbih0LGUsYSxyPSIiLHMpe2xldCBuO3N3aXRjaChyIT09IiImJihyPXIrIkAiKSxzKXtjYXNlImh0dHBzIjpuPSJodHRwczovLyIrcit0KyIvIitlKyIvIithKyIuZ2l0IjticmVhaztjYXNlInNzaCI6bj0iZ2l0QCIrdCsiOiIrZSsiLyIrYSsiLmdpdCI7YnJlYWs7ZGVmYXVsdDpjb25zb2xlLmVycm9yKCJMaW5rIFR5cGUgIitzKyIgbm90IGtub3duIik7YnJlYWt9cmV0dXJuIG59LCJnaXRMaW5rIil9KTt2YXIgTDE9e307ZXQoTDEse0Jhc2U2NDooKT0+TWosRG9tYWluOigpPT56aixHaXRSZXBvOigpPT5TaixiYXNlNjQ6KCk9Pk41LGNyZWF0ZTooKT0+eGosZG9ja2VyOigpPT55aixpbmRlbnQ6KCk9PktsLG5vcm1hbGl6ZTooKT0+d2osdHlwZTooKT0+a2p9KTt2YXIgUWw9YygoKT0+e3pKZSgpO1NKZSgpO0NKZSgpO1RKZSgpO0xKZSgpO0F0ZSgpOyRKZSgpO0FKZSgpfSk7dmFyIEd0ZT13dCgoRXUsQjUpPT57dmFyIHkwYT0yMDAsUEplPSJfX2xvZGFzaF9oYXNoX3VuZGVmaW5lZF9fIixFSmU9OTAwNzE5OTI1NDc0MDk5MSxQdGU9IltvYmplY3QgQXJndW1lbnRzXSIsdzBhPSJbb2JqZWN0IEFycmF5XSIsSUplPSJbb2JqZWN0IEJvb2xlYW5dIixOSmU9IltvYmplY3QgRGF0ZV0iLE0wYT0iW29iamVjdCBFcnJvcl0iLEV0ZT0iW29iamVjdCBGdW5jdGlvbl0iLFJKZT0iW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0iLENqPSJbb2JqZWN0IE1hcF0iLEZKZT0iW29iamVjdCBOdW1iZXJdIixJdGU9IltvYmplY3QgT2JqZWN0XSIsT0plPSJbb2JqZWN0IFByb21pc2VdIixCSmU9IltvYmplY3QgUmVnRXhwXSIsX2o9IltvYmplY3QgU2V0XSIsSEplPSJbb2JqZWN0IFN0cmluZ10iLHFKZT0iW29iamVjdCBTeW1ib2xdIixOdGU9IltvYmplY3QgV2Vha01hcF0iLFZKZT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iLFRqPSJbb2JqZWN0IERhdGFWaWV3XSIsakplPSJbb2JqZWN0IEZsb2F0MzJBcnJheV0iLFVKZT0iW29iamVjdCBGbG9hdDY0QXJyYXldIixXSmU9IltvYmplY3QgSW50OEFycmF5XSIsR0plPSJbb2JqZWN0IEludDE2QXJyYXldIixZSmU9IltvYmplY3QgSW50MzJBcnJheV0iLFpKZT0iW29iamVjdCBVaW50OEFycmF5XSIsWEplPSJbb2JqZWN0IFVpbnQ4Q2xhbXBlZEFycmF5XSIsS0plPSJbb2JqZWN0IFVpbnQxNkFycmF5XSIsUUplPSJbb2JqZWN0IFVpbnQzMkFycmF5XSIsazBhPS9bXFxeJC4qKz8oKVtcXXt9fF0vZyx6MGE9L1x3KiQvLFMwYT0vXlxbb2JqZWN0IC4rP0NvbnN0cnVjdG9yXF0kLyxDMGE9L14oPzowfFsxLTldXGQqKSQvLERhPXt9O0RhW1B0ZV09RGFbdzBhXT1EYVtWSmVdPURhW1RqXT1EYVtJSmVdPURhW05KZV09RGFbakplXT1EYVtVSmVdPURhW1dKZV09RGFbR0plXT1EYVtZSmVdPURhW0NqXT1EYVtGSmVdPURhW0l0ZV09RGFbQkplXT1EYVtfal09RGFbSEplXT1EYVtxSmVdPURhW1pKZV09RGFbWEplXT1EYVtLSmVdPURhW1FKZV09ITAsRGFbTTBhXT1EYVtFdGVdPURhW050ZV09ITE7dmFyIF8wYT10eXBlb2YgZ2xvYmFsPT0ib2JqZWN0IiYmZ2xvYmFsJiZnbG9iYWwuT2JqZWN0PT09T2JqZWN0JiZnbG9iYWwsVDBhPXR5cGVvZiBzZWxmPT0ib2JqZWN0IiYmc2VsZiYmc2VsZi5PYmplY3Q9PT1PYmplY3QmJnNlbGYsUTI9XzBhfHxUMGF8fEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCksSkplPXR5cGVvZiBFdT09Im9iamVjdCImJkV1JiYhRXUubm9kZVR5cGUmJkV1LGVldD1KSmUmJnR5cGVvZiBCNT09Im9iamVjdCImJkI1JiYhQjUubm9kZVR5cGUmJkI1LEwwYT1lZXQmJmVldC5leHBvcnRzPT09SkplO2Z1bmN0aW9uICQwYSh0LGUpe3JldHVybiB0LnNldChlWzBdLGVbMV0pLHR9aSgkMGEsImFkZE1hcEVudHJ5Iik7ZnVuY3Rpb24gRDBhKHQsZSl7cmV0dXJuIHQuYWRkKGUpLHR9aShEMGEsImFkZFNldEVudHJ5Iik7ZnVuY3Rpb24gQTBhKHQsZSl7Zm9yKHZhciBhPS0xLHI9dD90Lmxlbmd0aDowOysrYTxyJiZlKHRbYV0sYSx0KSE9PSExOyk7cmV0dXJuIHR9aShBMGEsImFycmF5RWFjaCIpO2Z1bmN0aW9uIFAwYSh0LGUpe2Zvcih2YXIgYT0tMSxyPWUubGVuZ3RoLHM9dC5sZW5ndGg7KythPHI7KXRbcythXT1lW2FdO3JldHVybiB0fWkoUDBhLCJhcnJheVB1c2giKTtmdW5jdGlvbiB0ZXQodCxlLGEscil7dmFyIHM9LTEsbj10P3QubGVuZ3RoOjA7Zm9yKHImJm4mJihhPXRbKytzXSk7KytzPG47KWE9ZShhLHRbc10scyx0KTtyZXR1cm4gYX1pKHRldCwiYXJyYXlSZWR1Y2UiKTtmdW5jdGlvbiBFMGEodCxlKXtmb3IodmFyIGE9LTEscj1BcnJheSh0KTsrK2E8dDspclthXT1lKGEpO3JldHVybiByfWkoRTBhLCJiYXNlVGltZXMiKTtmdW5jdGlvbiBJMGEodCxlKXtyZXR1cm4gdD8uW2VdfWkoSTBhLCJnZXRWYWx1ZSIpO2Z1bmN0aW9uIGFldCh0KXt2YXIgZT0hMTtpZih0IT1udWxsJiZ0eXBlb2YgdC50b1N0cmluZyE9ImZ1bmN0aW9uIil0cnl7ZT0hISh0KyIiKX1jYXRjaHt9cmV0dXJuIGV9aShhZXQsImlzSG9zdE9iamVjdCIpO2Z1bmN0aW9uIHJldCh0KXt2YXIgZT0tMSxhPUFycmF5KHQuc2l6ZSk7cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbihyLHMpe2FbKytlXT1bcyxyXX0pLGF9aShyZXQsIm1hcFRvQXJyYXkiKTtmdW5jdGlvbiBSdGUodCxlKXtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIHQoZShhKSl9fWkoUnRlLCJvdmVyQXJnIik7ZnVuY3Rpb24gaWV0KHQpe3ZhciBlPS0xLGE9QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHIpe2FbKytlXT1yfSksYX1pKGlldCwic2V0VG9BcnJheSIpO3ZhciBOMGE9QXJyYXkucHJvdG90eXBlLFIwYT1GdW5jdGlvbi5wcm90b3R5cGUsTGo9T2JqZWN0LnByb3RvdHlwZSxGdGU9UTJbIl9fY29yZS1qc19zaGFyZWRfXyJdLHNldD0oZnVuY3Rpb24oKXt2YXIgdD0vW14uXSskLy5leGVjKEZ0ZSYmRnRlLmtleXMmJkZ0ZS5rZXlzLklFX1BST1RPfHwiIik7cmV0dXJuIHQ/IlN5bWJvbChzcmMpXzEuIit0OiIifSkoKSxvZXQ9UjBhLnRvU3RyaW5nLEFuPUxqLmhhc093blByb3BlcnR5LCRqPUxqLnRvU3RyaW5nLEYwYT1SZWdFeHAoIl4iK29ldC5jYWxsKEFuKS5yZXBsYWNlKGswYSwiXFwkJiIpLnJlcGxhY2UoL2hhc093blByb3BlcnR5fChmdW5jdGlvbikuKj8oPz1cXFwoKXwgZm9yIC4rPyg/PVxcXF0pL2csIiQxLio/IikrIiQiKSxuZXQ9TDBhP1EyLkJ1ZmZlcjp2b2lkIDAsY2V0PVEyLlN5bWJvbCxkZXQ9UTIuVWludDhBcnJheSxPMGE9UnRlKE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpLEIwYT1PYmplY3QuY3JlYXRlLEgwYT1Mai5wcm9wZXJ0eUlzRW51bWVyYWJsZSxxMGE9TjBhLnNwbGljZSxwZXQ9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxWMGE9bmV0P25ldC5pc0J1ZmZlcjp2b2lkIDAsajBhPVJ0ZShPYmplY3Qua2V5cyxPYmplY3QpLE90ZT1PNShRMiwiRGF0YVZpZXciKSxBdT1PNShRMiwiTWFwIiksQnRlPU81KFEyLCJQcm9taXNlIiksSHRlPU81KFEyLCJTZXQiKSxxdGU9TzUoUTIsIldlYWtNYXAiKSxQdT1PNShPYmplY3QsImNyZWF0ZSIpLFUwYT10MChPdGUpLFcwYT10MChBdSksRzBhPXQwKEJ0ZSksWTBhPXQwKEh0ZSksWjBhPXQwKHF0ZSksdWV0PWNldD9jZXQucHJvdG90eXBlOnZvaWQgMCxmZXQ9dWV0P3VldC52YWx1ZU9mOnZvaWQgMDtmdW5jdGlvbiBKbCh0KXt2YXIgZT0tMSxhPXQ/dC5sZW5ndGg6MDtmb3IodGhpcy5jbGVhcigpOysrZTxhOyl7dmFyIHI9dFtlXTt0aGlzLnNldChyWzBdLHJbMV0pfX1pKEpsLCJIYXNoIik7ZnVuY3Rpb24gWDBhKCl7dGhpcy5fX2RhdGFfXz1QdT9QdShudWxsKTp7fX1pKFgwYSwiaGFzaENsZWFyIik7ZnVuY3Rpb24gSzBhKHQpe3JldHVybiB0aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF19aShLMGEsImhhc2hEZWxldGUiKTtmdW5jdGlvbiBRMGEodCl7dmFyIGU9dGhpcy5fX2RhdGFfXztpZihQdSl7dmFyIGE9ZVt0XTtyZXR1cm4gYT09PVBKZT92b2lkIDA6YX1yZXR1cm4gQW4uY2FsbChlLHQpP2VbdF06dm9pZCAwfWkoUTBhLCJoYXNoR2V0Iik7ZnVuY3Rpb24gSjBhKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIFB1P2VbdF0hPT12b2lkIDA6QW4uY2FsbChlLHQpfWkoSjBhLCJoYXNoSGFzIik7ZnVuY3Rpb24gZWNhKHQsZSl7dmFyIGE9dGhpcy5fX2RhdGFfXztyZXR1cm4gYVt0XT1QdSYmZT09PXZvaWQgMD9QSmU6ZSx0aGlzfWkoZWNhLCJoYXNoU2V0IiksSmwucHJvdG90eXBlLmNsZWFyPVgwYSxKbC5wcm90b3R5cGUuZGVsZXRlPUswYSxKbC5wcm90b3R5cGUuZ2V0PVEwYSxKbC5wcm90b3R5cGUuaGFzPUowYSxKbC5wcm90b3R5cGUuc2V0PWVjYTtmdW5jdGlvbiBKMih0KXt2YXIgZT0tMSxhPXQ/dC5sZW5ndGg6MDtmb3IodGhpcy5jbGVhcigpOysrZTxhOyl7dmFyIHI9dFtlXTt0aGlzLnNldChyWzBdLHJbMV0pfX1pKEoyLCJMaXN0Q2FjaGUiKTtmdW5jdGlvbiB0Y2EoKXt0aGlzLl9fZGF0YV9fPVtdfWkodGNhLCJsaXN0Q2FjaGVDbGVhciIpO2Z1bmN0aW9uIGFjYSh0KXt2YXIgZT10aGlzLl9fZGF0YV9fLGE9RGooZSx0KTtpZihhPDApcmV0dXJuITE7dmFyIHI9ZS5sZW5ndGgtMTtyZXR1cm4gYT09cj9lLnBvcCgpOnEwYS5jYWxsKGUsYSwxKSwhMH1pKGFjYSwibGlzdENhY2hlRGVsZXRlIik7ZnVuY3Rpb24gcmNhKHQpe3ZhciBlPXRoaXMuX19kYXRhX18sYT1EaihlLHQpO3JldHVybiBhPDA/dm9pZCAwOmVbYV1bMV19aShyY2EsImxpc3RDYWNoZUdldCIpO2Z1bmN0aW9uIGljYSh0KXtyZXR1cm4gRGoodGhpcy5fX2RhdGFfXyx0KT4tMX1pKGljYSwibGlzdENhY2hlSGFzIik7ZnVuY3Rpb24gc2NhKHQsZSl7dmFyIGE9dGhpcy5fX2RhdGFfXyxyPURqKGEsdCk7cmV0dXJuIHI8MD9hLnB1c2goW3QsZV0pOmFbcl1bMV09ZSx0aGlzfWkoc2NhLCJsaXN0Q2FjaGVTZXQiKSxKMi5wcm90b3R5cGUuY2xlYXI9dGNhLEoyLnByb3RvdHlwZS5kZWxldGU9YWNhLEoyLnByb3RvdHlwZS5nZXQ9cmNhLEoyLnByb3RvdHlwZS5oYXM9aWNhLEoyLnByb3RvdHlwZS5zZXQ9c2NhO2Z1bmN0aW9uIFI1KHQpe3ZhciBlPS0xLGE9dD90Lmxlbmd0aDowO2Zvcih0aGlzLmNsZWFyKCk7KytlPGE7KXt2YXIgcj10W2VdO3RoaXMuc2V0KHJbMF0sclsxXSl9fWkoUjUsIk1hcENhY2hlIik7ZnVuY3Rpb24gb2NhKCl7dGhpcy5fX2RhdGFfXz17aGFzaDpuZXcgSmwsbWFwOm5ldyhBdXx8SjIpLHN0cmluZzpuZXcgSmx9fWkob2NhLCJtYXBDYWNoZUNsZWFyIik7ZnVuY3Rpb24gbmNhKHQpe3JldHVybiBBaih0aGlzLHQpLmRlbGV0ZSh0KX1pKG5jYSwibWFwQ2FjaGVEZWxldGUiKTtmdW5jdGlvbiBsY2EodCl7cmV0dXJuIEFqKHRoaXMsdCkuZ2V0KHQpfWkobGNhLCJtYXBDYWNoZUdldCIpO2Z1bmN0aW9uIGNjYSh0KXtyZXR1cm4gQWoodGhpcyx0KS5oYXModCl9aShjY2EsIm1hcENhY2hlSGFzIik7ZnVuY3Rpb24gZGNhKHQsZSl7cmV0dXJuIEFqKHRoaXMsdCkuc2V0KHQsZSksdGhpc31pKGRjYSwibWFwQ2FjaGVTZXQiKSxSNS5wcm90b3R5cGUuY2xlYXI9b2NhLFI1LnByb3RvdHlwZS5kZWxldGU9bmNhLFI1LnByb3RvdHlwZS5nZXQ9bGNhLFI1LnByb3RvdHlwZS5oYXM9Y2NhLFI1LnByb3RvdHlwZS5zZXQ9ZGNhO2Z1bmN0aW9uIEY1KHQpe3RoaXMuX19kYXRhX189bmV3IEoyKHQpfWkoRjUsIlN0YWNrIik7ZnVuY3Rpb24gcGNhKCl7dGhpcy5fX2RhdGFfXz1uZXcgSjJ9aShwY2EsInN0YWNrQ2xlYXIiKTtmdW5jdGlvbiB1Y2EodCl7cmV0dXJuIHRoaXMuX19kYXRhX18uZGVsZXRlKHQpfWkodWNhLCJzdGFja0RlbGV0ZSIpO2Z1bmN0aW9uIGZjYSh0KXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5nZXQodCl9aShmY2EsInN0YWNrR2V0Iik7ZnVuY3Rpb24gaGNhKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmhhcyh0KX1pKGhjYSwic3RhY2tIYXMiKTtmdW5jdGlvbiBtY2EodCxlKXt2YXIgYT10aGlzLl9fZGF0YV9fO2lmKGEgaW5zdGFuY2VvZiBKMil7dmFyIHI9YS5fX2RhdGFfXztpZighQXV8fHIubGVuZ3RoPHkwYS0xKXJldHVybiByLnB1c2goW3QsZV0pLHRoaXM7YT10aGlzLl9fZGF0YV9fPW5ldyBSNShyKX1yZXR1cm4gYS5zZXQodCxlKSx0aGlzfWkobWNhLCJzdGFja1NldCIpLEY1LnByb3RvdHlwZS5jbGVhcj1wY2EsRjUucHJvdG90eXBlLmRlbGV0ZT11Y2EsRjUucHJvdG90eXBlLmdldD1mY2EsRjUucHJvdG90eXBlLmhhcz1oY2EsRjUucHJvdG90eXBlLnNldD1tY2E7ZnVuY3Rpb24gZ2NhKHQsZSl7dmFyIGE9VXRlKHQpfHxCY2EodCk/RTBhKHQubGVuZ3RoLFN0cmluZyk6W10scj1hLmxlbmd0aCxzPSEhcjtmb3IodmFyIG4gaW4gdCkoZXx8QW4uY2FsbCh0LG4pKSYmIShzJiYobj09Imxlbmd0aCJ8fE5jYShuLHIpKSkmJmEucHVzaChuKTtyZXR1cm4gYX1pKGdjYSwiYXJyYXlMaWtlS2V5cyIpO2Z1bmN0aW9uIGhldCh0LGUsYSl7dmFyIHI9dFtlXTsoIShBbi5jYWxsKHQsZSkmJnZldChyLGEpKXx8YT09PXZvaWQgMCYmIShlIGluIHQpKSYmKHRbZV09YSl9aShoZXQsImFzc2lnblZhbHVlIik7ZnVuY3Rpb24gRGoodCxlKXtmb3IodmFyIGE9dC5sZW5ndGg7YS0tOylpZih2ZXQodFthXVswXSxlKSlyZXR1cm4gYTtyZXR1cm4tMX1pKERqLCJhc3NvY0luZGV4T2YiKTtmdW5jdGlvbiBiY2EodCxlKXtyZXR1cm4gdCYmbWV0KGUsV3RlKGUpLHQpfWkoYmNhLCJiYXNlQXNzaWduIik7ZnVuY3Rpb24gVnRlKHQsZSxhLHIscyxuLG8pe3ZhciBsO2lmKHImJihsPW4/cih0LHMsbixvKTpyKHQpKSxsIT09dm9pZCAwKXJldHVybiBsO2lmKCFQaih0KSlyZXR1cm4gdDt2YXIgaD1VdGUodCk7aWYoaCl7aWYobD1QY2EodCksIWUpcmV0dXJuICRjYSh0LGwpfWVsc2V7dmFyIHU9ZTAodCksZj11PT1FdGV8fHU9PVJKZTtpZihxY2EodCkpcmV0dXJuIGtjYSh0LGUpO2lmKHU9PUl0ZXx8dT09UHRlfHxmJiYhbil7aWYoYWV0KHQpKXJldHVybiBuP3Q6e307aWYobD1FY2EoZj97fTp0KSwhZSlyZXR1cm4gRGNhKHQsYmNhKGwsdCkpfWVsc2V7aWYoIURhW3VdKXJldHVybiBuP3Q6e307bD1JY2EodCx1LFZ0ZSxlKX19b3x8KG89bmV3IEY1KTt2YXIgcD1vLmdldCh0KTtpZihwKXJldHVybiBwO2lmKG8uc2V0KHQsbCksIWgpdmFyIGc9YT9BY2EodCk6V3RlKHQpO3JldHVybiBBMGEoZ3x8dCxmdW5jdGlvbih2LHgpe2cmJih4PXYsdj10W3hdKSxoZXQobCx4LFZ0ZSh2LGUsYSxyLHgsdCxvKSl9KSxsfWkoVnRlLCJiYXNlQ2xvbmUiKTtmdW5jdGlvbiB2Y2EodCl7cmV0dXJuIFBqKHQpP0IwYSh0KTp7fX1pKHZjYSwiYmFzZUNyZWF0ZSIpO2Z1bmN0aW9uIHhjYSh0LGUsYSl7dmFyIHI9ZSh0KTtyZXR1cm4gVXRlKHQpP3I6UDBhKHIsYSh0KSl9aSh4Y2EsImJhc2VHZXRBbGxLZXlzIik7ZnVuY3Rpb24geWNhKHQpe3JldHVybiAkai5jYWxsKHQpfWkoeWNhLCJiYXNlR2V0VGFnIik7ZnVuY3Rpb24gd2NhKHQpe2lmKCFQaih0KXx8RmNhKHQpKXJldHVybiExO3ZhciBlPXlldCh0KXx8YWV0KHQpP0YwYTpTMGE7cmV0dXJuIGUudGVzdCh0MCh0KSl9aSh3Y2EsImJhc2VJc05hdGl2ZSIpO2Z1bmN0aW9uIE1jYSh0KXtpZighYmV0KHQpKXJldHVybiBqMGEodCk7dmFyIGU9W107Zm9yKHZhciBhIGluIE9iamVjdCh0KSlBbi5jYWxsKHQsYSkmJmEhPSJjb25zdHJ1Y3RvciImJmUucHVzaChhKTtyZXR1cm4gZX1pKE1jYSwiYmFzZUtleXMiKTtmdW5jdGlvbiBrY2EodCxlKXtpZihlKXJldHVybiB0LnNsaWNlKCk7dmFyIGE9bmV3IHQuY29uc3RydWN0b3IodC5sZW5ndGgpO3JldHVybiB0LmNvcHkoYSksYX1pKGtjYSwiY2xvbmVCdWZmZXIiKTtmdW5jdGlvbiBqdGUodCl7dmFyIGU9bmV3IHQuY29uc3RydWN0b3IodC5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IGRldChlKS5zZXQobmV3IGRldCh0KSksZX1pKGp0ZSwiY2xvbmVBcnJheUJ1ZmZlciIpO2Z1bmN0aW9uIHpjYSh0LGUpe3ZhciBhPWU/anRlKHQuYnVmZmVyKTp0LmJ1ZmZlcjtyZXR1cm4gbmV3IHQuY29uc3RydWN0b3IoYSx0LmJ5dGVPZmZzZXQsdC5ieXRlTGVuZ3RoKX1pKHpjYSwiY2xvbmVEYXRhVmlldyIpO2Z1bmN0aW9uIFNjYSh0LGUsYSl7dmFyIHI9ZT9hKHJldCh0KSwhMCk6cmV0KHQpO3JldHVybiB0ZXQociwkMGEsbmV3IHQuY29uc3RydWN0b3IpfWkoU2NhLCJjbG9uZU1hcCIpO2Z1bmN0aW9uIENjYSh0KXt2YXIgZT1uZXcgdC5jb25zdHJ1Y3Rvcih0LnNvdXJjZSx6MGEuZXhlYyh0KSk7cmV0dXJuIGUubGFzdEluZGV4PXQubGFzdEluZGV4LGV9aShDY2EsImNsb25lUmVnRXhwIik7ZnVuY3Rpb24gX2NhKHQsZSxhKXt2YXIgcj1lP2EoaWV0KHQpLCEwKTppZXQodCk7cmV0dXJuIHRldChyLEQwYSxuZXcgdC5jb25zdHJ1Y3Rvcil9aShfY2EsImNsb25lU2V0Iik7ZnVuY3Rpb24gVGNhKHQpe3JldHVybiBmZXQ/T2JqZWN0KGZldC5jYWxsKHQpKTp7fX1pKFRjYSwiY2xvbmVTeW1ib2wiKTtmdW5jdGlvbiBMY2EodCxlKXt2YXIgYT1lP2p0ZSh0LmJ1ZmZlcik6dC5idWZmZXI7cmV0dXJuIG5ldyB0LmNvbnN0cnVjdG9yKGEsdC5ieXRlT2Zmc2V0LHQubGVuZ3RoKX1pKExjYSwiY2xvbmVUeXBlZEFycmF5Iik7ZnVuY3Rpb24gJGNhKHQsZSl7dmFyIGE9LTEscj10Lmxlbmd0aDtmb3IoZXx8KGU9QXJyYXkocikpOysrYTxyOyllW2FdPXRbYV07cmV0dXJuIGV9aSgkY2EsImNvcHlBcnJheSIpO2Z1bmN0aW9uIG1ldCh0LGUsYSxyKXthfHwoYT17fSk7Zm9yKHZhciBzPS0xLG49ZS5sZW5ndGg7KytzPG47KXt2YXIgbz1lW3NdLGw9cj9yKGFbb10sdFtvXSxvLGEsdCk6dm9pZCAwO2hldChhLG8sbD09PXZvaWQgMD90W29dOmwpfXJldHVybiBhfWkobWV0LCJjb3B5T2JqZWN0Iik7ZnVuY3Rpb24gRGNhKHQsZSl7cmV0dXJuIG1ldCh0LGdldCh0KSxlKX1pKERjYSwiY29weVN5bWJvbHMiKTtmdW5jdGlvbiBBY2EodCl7cmV0dXJuIHhjYSh0LFd0ZSxnZXQpfWkoQWNhLCJnZXRBbGxLZXlzIik7ZnVuY3Rpb24gQWoodCxlKXt2YXIgYT10Ll9fZGF0YV9fO3JldHVybiBSY2EoZSk/YVt0eXBlb2YgZT09InN0cmluZyI/InN0cmluZyI6Imhhc2giXTphLm1hcH1pKEFqLCJnZXRNYXBEYXRhIik7ZnVuY3Rpb24gTzUodCxlKXt2YXIgYT1JMGEodCxlKTtyZXR1cm4gd2NhKGEpP2E6dm9pZCAwfWkoTzUsImdldE5hdGl2ZSIpO3ZhciBnZXQ9cGV0P1J0ZShwZXQsT2JqZWN0KTpVY2EsZTA9eWNhOyhPdGUmJmUwKG5ldyBPdGUobmV3IEFycmF5QnVmZmVyKDEpKSkhPVRqfHxBdSYmZTAobmV3IEF1KSE9Q2p8fEJ0ZSYmZTAoQnRlLnJlc29sdmUoKSkhPU9KZXx8SHRlJiZlMChuZXcgSHRlKSE9X2p8fHF0ZSYmZTAobmV3IHF0ZSkhPU50ZSkmJihlMD1pKGZ1bmN0aW9uKHQpe3ZhciBlPSRqLmNhbGwodCksYT1lPT1JdGU/dC5jb25zdHJ1Y3Rvcjp2b2lkIDAscj1hP3QwKGEpOnZvaWQgMDtpZihyKXN3aXRjaChyKXtjYXNlIFUwYTpyZXR1cm4gVGo7Y2FzZSBXMGE6cmV0dXJuIENqO2Nhc2UgRzBhOnJldHVybiBPSmU7Y2FzZSBZMGE6cmV0dXJuIF9qO2Nhc2UgWjBhOnJldHVybiBOdGV9cmV0dXJuIGV9LCJnZXRUYWciKSk7ZnVuY3Rpb24gUGNhKHQpe3ZhciBlPXQubGVuZ3RoLGE9dC5jb25zdHJ1Y3RvcihlKTtyZXR1cm4gZSYmdHlwZW9mIHRbMF09PSJzdHJpbmciJiZBbi5jYWxsKHQsImluZGV4IikmJihhLmluZGV4PXQuaW5kZXgsYS5pbnB1dD10LmlucHV0KSxhfWkoUGNhLCJpbml0Q2xvbmVBcnJheSIpO2Z1bmN0aW9uIEVjYSh0KXtyZXR1cm4gdHlwZW9mIHQuY29uc3RydWN0b3I9PSJmdW5jdGlvbiImJiFiZXQodCk/dmNhKE8wYSh0KSk6e319aShFY2EsImluaXRDbG9uZU9iamVjdCIpO2Z1bmN0aW9uIEljYSh0LGUsYSxyKXt2YXIgcz10LmNvbnN0cnVjdG9yO3N3aXRjaChlKXtjYXNlIFZKZTpyZXR1cm4ganRlKHQpO2Nhc2UgSUplOmNhc2UgTkplOnJldHVybiBuZXcgcygrdCk7Y2FzZSBUajpyZXR1cm4gemNhKHQscik7Y2FzZSBqSmU6Y2FzZSBVSmU6Y2FzZSBXSmU6Y2FzZSBHSmU6Y2FzZSBZSmU6Y2FzZSBaSmU6Y2FzZSBYSmU6Y2FzZSBLSmU6Y2FzZSBRSmU6cmV0dXJuIExjYSh0LHIpO2Nhc2UgQ2o6cmV0dXJuIFNjYSh0LHIsYSk7Y2FzZSBGSmU6Y2FzZSBISmU6cmV0dXJuIG5ldyBzKHQpO2Nhc2UgQkplOnJldHVybiBDY2EodCk7Y2FzZSBfajpyZXR1cm4gX2NhKHQscixhKTtjYXNlIHFKZTpyZXR1cm4gVGNhKHQpfX1pKEljYSwiaW5pdENsb25lQnlUYWciKTtmdW5jdGlvbiBOY2EodCxlKXtyZXR1cm4gZT1lPz9FSmUsISFlJiYodHlwZW9mIHQ9PSJudW1iZXIifHxDMGEudGVzdCh0KSkmJnQ+LTEmJnQlMT09MCYmdDxlfWkoTmNhLCJpc0luZGV4Iik7ZnVuY3Rpb24gUmNhKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBlPT0ic3RyaW5nInx8ZT09Im51bWJlciJ8fGU9PSJzeW1ib2wifHxlPT0iYm9vbGVhbiI/dCE9PSJfX3Byb3RvX18iOnQ9PT1udWxsfWkoUmNhLCJpc0tleWFibGUiKTtmdW5jdGlvbiBGY2EodCl7cmV0dXJuISFzZXQmJnNldCBpbiB0fWkoRmNhLCJpc01hc2tlZCIpO2Z1bmN0aW9uIGJldCh0KXt2YXIgZT10JiZ0LmNvbnN0cnVjdG9yLGE9dHlwZW9mIGU9PSJmdW5jdGlvbiImJmUucHJvdG90eXBlfHxMajtyZXR1cm4gdD09PWF9aShiZXQsImlzUHJvdG90eXBlIik7ZnVuY3Rpb24gdDAodCl7aWYodCE9bnVsbCl7dHJ5e3JldHVybiBvZXQuY2FsbCh0KX1jYXRjaHt9dHJ5e3JldHVybiB0KyIifWNhdGNoe319cmV0dXJuIiJ9aSh0MCwidG9Tb3VyY2UiKTtmdW5jdGlvbiBPY2EodCl7cmV0dXJuIFZ0ZSh0LCEwLCEwKX1pKE9jYSwiY2xvbmVEZWVwIik7ZnVuY3Rpb24gdmV0KHQsZSl7cmV0dXJuIHQ9PT1lfHx0IT09dCYmZSE9PWV9aSh2ZXQsImVxIik7ZnVuY3Rpb24gQmNhKHQpe3JldHVybiBIY2EodCkmJkFuLmNhbGwodCwiY2FsbGVlIikmJighSDBhLmNhbGwodCwiY2FsbGVlIil8fCRqLmNhbGwodCk9PVB0ZSl9aShCY2EsImlzQXJndW1lbnRzIik7dmFyIFV0ZT1BcnJheS5pc0FycmF5O2Z1bmN0aW9uIHhldCh0KXtyZXR1cm4gdCE9bnVsbCYmVmNhKHQubGVuZ3RoKSYmIXlldCh0KX1pKHhldCwiaXNBcnJheUxpa2UiKTtmdW5jdGlvbiBIY2EodCl7cmV0dXJuIGpjYSh0KSYmeGV0KHQpfWkoSGNhLCJpc0FycmF5TGlrZU9iamVjdCIpO3ZhciBxY2E9VjBhfHxXY2E7ZnVuY3Rpb24geWV0KHQpe3ZhciBlPVBqKHQpPyRqLmNhbGwodCk6IiI7cmV0dXJuIGU9PUV0ZXx8ZT09UkplfWkoeWV0LCJpc0Z1bmN0aW9uIik7ZnVuY3Rpb24gVmNhKHQpe3JldHVybiB0eXBlb2YgdD09Im51bWJlciImJnQ+LTEmJnQlMT09MCYmdDw9RUplfWkoVmNhLCJpc0xlbmd0aCIpO2Z1bmN0aW9uIFBqKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiEhdCYmKGU9PSJvYmplY3QifHxlPT0iZnVuY3Rpb24iKX1pKFBqLCJpc09iamVjdCIpO2Z1bmN0aW9uIGpjYSh0KXtyZXR1cm4hIXQmJnR5cGVvZiB0PT0ib2JqZWN0In1pKGpjYSwiaXNPYmplY3RMaWtlIik7ZnVuY3Rpb24gV3RlKHQpe3JldHVybiB4ZXQodCk/Z2NhKHQpOk1jYSh0KX1pKFd0ZSwia2V5cyIpO2Z1bmN0aW9uIFVjYSgpe3JldHVybltdfWkoVWNhLCJzdHViQXJyYXkiKTtmdW5jdGlvbiBXY2EoKXtyZXR1cm4hMX1pKFdjYSwic3R1YkZhbHNlIiksQjUuZXhwb3J0cz1PY2F9KTt2YXIgWXRlPXd0KChndTEsd2V0KT0+eyJ1c2Ugc3RyaWN0Ijt3ZXQuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2V8fChlPXt9KSx0eXBlb2YgZT09ImZ1bmN0aW9uIiYmKGU9e2NtcDplfSk7dmFyIGE9dHlwZW9mIGUuY3ljbGVzPT0iYm9vbGVhbiI/ZS5jeWNsZXM6ITEscj1lLmNtcCYmKGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihvKXtyZXR1cm4gZnVuY3Rpb24obCxoKXt2YXIgdT17a2V5OmwsdmFsdWU6b1tsXX0sZj17a2V5OmgsdmFsdWU6b1toXX07cmV0dXJuIG4odSxmKX19fSkoZS5jbXApLHM9W107cmV0dXJuIGkoKGZ1bmN0aW9uIG4obyl7aWYobyYmby50b0pTT04mJnR5cGVvZiBvLnRvSlNPTj09ImZ1bmN0aW9uIiYmKG89by50b0pTT04oKSksbyE9PXZvaWQgMCl7aWYodHlwZW9mIG89PSJudW1iZXIiKXJldHVybiBpc0Zpbml0ZShvKT8iIitvOiJudWxsIjtpZih0eXBlb2YgbyE9Im9iamVjdCIpcmV0dXJuIEpTT04uc3RyaW5naWZ5KG8pO3ZhciBsLGg7aWYoQXJyYXkuaXNBcnJheShvKSl7Zm9yKGg9IlsiLGw9MDtsPG8ubGVuZ3RoO2wrKylsJiYoaCs9IiwiKSxoKz1uKG9bbF0pfHwibnVsbCI7cmV0dXJuIGgrIl0ifWlmKG89PT1udWxsKXJldHVybiJudWxsIjtpZihzLmluZGV4T2YobykhPT0tMSl7aWYoYSlyZXR1cm4gSlNPTi5zdHJpbmdpZnkoIl9fY3ljbGVfXyIpO3Rocm93IG5ldyBUeXBlRXJyb3IoIkNvbnZlcnRpbmcgY2lyY3VsYXIgc3RydWN0dXJlIHRvIEpTT04iKX12YXIgdT1zLnB1c2gobyktMSxmPU9iamVjdC5rZXlzKG8pLnNvcnQociYmcihvKSk7Zm9yKGg9IiIsbD0wO2w8Zi5sZW5ndGg7bCsrKXt2YXIgcD1mW2xdLGc9bihvW3BdKTtnJiYoaCYmKGgrPSIsIiksaCs9SlNPTi5zdHJpbmdpZnkocCkrIjoiK2cpfXJldHVybiBzLnNwbGljZSh1LDEpLCJ7IitoKyJ9In19KSwic3RyaW5naWZ5IikodCl9fSk7dmFyIEVqLE1ldCxJaixadGU9YygoKT0+e190ZSgpO1FsKCk7RWo9WDEoR3RlKCksMSksTWV0PVgxKFl0ZSgpLDEpLElqPU1ldC5kZWZhdWx0fSk7ZnVuY3Rpb24gWWNhKHQpe3JldHVybiB0eXBlb2YgQnVmZmVyPCJ1Ij9CdWZmZXIuZnJvbSh0KS50b1N0cmluZygiYmFzZTY0Iik6YnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLnQpKX1mdW5jdGlvbiBaY2EodCl7aWYodHlwZW9mIEJ1ZmZlcjwidSIpe2xldCBlPUJ1ZmZlci5mcm9tKHQsImJhc2U2NCIpO3JldHVybiBuZXcgVWludDhBcnJheShlLmJ1ZmZlcixlLmJ5dGVPZmZzZXQsZS5ieXRlTGVuZ3RoKX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoQXJyYXkuZnJvbShhdG9iKHQpKS5tYXAoZT0+ZS5jaGFyQ29kZUF0KDApKSl9ZnVuY3Rpb24gS3RlKHQsZSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQsTmosZSl9ZnVuY3Rpb24gUXRlKHQpe3JldHVybiBKU09OLnBhcnNlKHQsa2V0KX1mdW5jdGlvbiBYY2EodCl7cmV0dXJuIENldCh0KSYmdC50eXBlPT09IkVuY29kZWRCdWZmZXIiJiZYdGUodC5kYXRhKX1mdW5jdGlvbiBLY2EodCl7cmV0dXJuIENldCh0KSYmdC50eXBlPT09IkJ1ZmZlciImJih6ZXQodC5kYXRhKXx8WHRlKHQuZGF0YSkpfHx0IGluc3RhbmNlb2YgVWludDhBcnJheX1mdW5jdGlvbiB6ZXQodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCl9ZnVuY3Rpb24gWHRlKHQpe3JldHVybiB0eXBlb2YgdD09InN0cmluZyJ9ZnVuY3Rpb24gQ2V0KHQpe3JldHVybiB0eXBlb2YgdD09Im9iamVjdCImJnQhPT1udWxsfXZhciBOaixrZXQsX2V0PWMoKCk9PntadGUoKTtpKFljYSwiYmFzZTY0RW5jb2RlIik7aShaY2EsImJhc2U2NERlY29kZSIpO2koS3RlLCJzdHJpbmdpZnkiKTtpKFF0ZSwicGFyc2UiKTtOaj1pKCh0LGUpPT57aWYoS2NhKGUpKXtsZXQgYTtpZigiZGF0YSJpbiBlJiZ6ZXQoZS5kYXRhKSlhPW5ldyBVaW50OEFycmF5KGUuZGF0YSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgVWludDhBcnJheSlhPWU7ZWxzZSByZXR1cm4gZTtyZXR1cm57dHlwZToiRW5jb2RlZEJ1ZmZlciIsZGF0YToiYmFzZTY0OiIrWWNhKGEpfX1yZXR1cm4gZX0sInJlcGxhY2VyIiksa2V0PWkoKHQsZSk9PntpZihYY2EoZSkmJlh0ZShlLmRhdGEpJiZlLmRhdGEuc3RhcnRzV2l0aCgiYmFzZTY0OiIpKXtsZXQgYT1lLmRhdGEuc2xpY2UoNyk7cmV0dXJuIFpjYShhKX1yZXR1cm4gZX0sInJldml2ZXIiKTtpKFhjYSwiaXNFbmNvZGVkQnVmZmVyIik7aShLY2EsImlzQnVmZmVyTGlrZSIpO2koemV0LCJpc0FycmF5Iik7aShYdGUsImlzU3RyaW5nIik7aShDZXQsImlzT2JqZWN0Iil9KTt2YXIgdXM9e307ZXQodXMse1NtYXJ0anNvbjooKT0+ZWFlLGRlZXBFcXVhbEpzb25MU3RyaW5nczooKT0+czRhLGRlZXBFcXVhbE9iamVjdHM6KCk9PlRldCxmb2xkRGVjOigpPT5pNGEscGFyc2U6KCk9PlJqLHBhcnNlQmFzZTY0OigpPT5yNGEscGFyc2VKc29uTDooKT0+SnRlLHN0YWJsZU9uZVdheVN0cmluZ2lmeTooKT0+ZTRhLHN0cmluZ2lmeTooKT0+YTAsc3RyaW5naWZ5QmFzZTY0OigpPT5hNGEsc3RyaW5naWZ5SnNvbkw6KCk9PkpjYSxzdHJpbmdpZnlQcmV0dHk6KCk9PnQ0YX0pO3ZhciBSaixKdGUsSmNhLGU0YSxhMCx0NGEsYTRhLHI0YSxlYWUsaTRhLFRldCxzNGEsRmo9YygoKT0+e1p0ZSgpO19ldCgpO1JqPVF0ZSxKdGU9aSh0PT50LnNwbGl0KGAKYCkucmVkdWNlKChyLHMpPT57bGV0IG49cy50cmltKCk7cmV0dXJuIG4ubGVuZ3RoPjAmJnIucHVzaChSaihuKSkscn0sW10pLCJwYXJzZUpzb25MIiksSmNhPWkodD0+dC5tYXAoZT0+YTAoZSkpLmpvaW4oYApgKSwic3RyaW5naWZ5SnNvbkwiKSxlNGE9aSgodCxlLGE9e30pPT57bGV0IHI9bmV3IFdlYWtTZXQscz1pKGw9PntpZihsPT09bnVsbHx8dHlwZW9mIGwhPSJvYmplY3QiKXJldHVybiBsO2xldCBoPU5qKCIiLGwpO2lmKGgmJmgudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmdHlwZW9mIGguZGF0YT09InN0cmluZyIpcmV0dXJuIGg7aWYoci5oYXMobCkpcmV0dXJuIl9fY3ljbGVfXyI7aWYoci5hZGQobCksQXJyYXkuaXNBcnJheShsKSlyZXR1cm4gbC5tYXAoZj0+cyhmKSk7bGV0IHU9e307Zm9yKGxldCBmIG9mIE9iamVjdC5rZXlzKGwpKXRyeXt1W2ZdPXMobFtmXSl9Y2F0Y2h7dVtmXT0iX191bnNlcmlhbGl6YWJsZV9fIn1yZXR1cm4gdX0sInNhbml0aXplIiksbj1zKHQpLG89ey4uLmEsY3ljbGVzOiEwfTtpZihlJiYhby5jbXApe2xldCBsPW5ldyBNYXA7ZS5mb3JFYWNoKChoLHUpPT5sLnNldChoLHUpKSxvLmNtcD0oaCx1KT0+e2xldCBmPWwuaGFzKGgua2V5KT9sLmdldChoLmtleSk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHA9bC5oYXModS5rZXkpP2wuZ2V0KHUua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIGYhPT1wP2YtcDpoLmtleTx1LmtleT8tMTpoLmtleT51LmtleT8xOjB9fXJldHVybiBJaihuLG8pfSwic3RhYmxlT25lV2F5U3RyaW5naWZ5IiksYTA9aSgodCxlLGE9e30pPT57bGV0IHI9S3RlKHQpO3Q9SlNPTi5wYXJzZShyKTtsZXQgcz17Li4uYX07aWYoZSYmIXMuY21wKXtsZXQgbz1uZXcgTWFwO2UuZm9yRWFjaCgobCxoKT0+by5zZXQobCxoKSkscy5jbXA9KGwsaCk9PntsZXQgdT1vLmhhcyhsLmtleSk/by5nZXQobC5rZXkpOk51bWJlci5QT1NJVElWRV9JTkZJTklUWSxmPW8uaGFzKGgua2V5KT9vLmdldChoLmtleSk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO3JldHVybiB1IT09Zj91LWY6bC5rZXk8aC5rZXk/LTE6bC5rZXk+aC5rZXk/MTowfX1yZXR1cm4gSWoodCxzKX0sInN0cmluZ2lmeSIpLHQ0YT1pKHQ9PntsZXQgZT1hMCh0KSxhPUpTT04ucGFyc2UoZSk7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGEsbnVsbCwyKX0sInN0cmluZ2lmeVByZXR0eSIpLGE0YT1pKCguLi50KT0+e2xldCBlPWEwKC4uLnQpO3JldHVybiBMMS5iYXNlNjQuZW5jb2RlVXJpKGUpfSwic3RyaW5naWZ5QmFzZTY0IikscjRhPWkodD0+e2xldCBlPUwxLmJhc2U2NCxyPShlLmRlY29kZVVyaXx8ZS5kZWNvZGUpKHQpO3JldHVybiBSaihyKX0sInBhcnNlQmFzZTY0IiksZWFlPWNsYXNzIHR7c3RhdGlje2kodGhpcywiU21hcnRqc29uIil9c3RhdGljIGVuZm9sZEZyb21PYmplY3QoZSl7bGV0IGE9bmV3IHRoaXMscj1hLnNhdmVhYmxlUHJvcGVydGllc3x8W107Zm9yKGxldCBzIGluIGUpci5pbmRleE9mKHMpIT09LTEmJihhW3NdPWVbc10pO3JldHVybiBhfXN0YXRpYyBlbmZvbGRGcm9tSnNvbihlKXtsZXQgYT1SaihlKTtyZXR1cm4gdGhpcy5lbmZvbGRGcm9tT2JqZWN0KGEpfXNhdmVhYmxlUHJvcGVydGllcztmb2xkVG9PYmplY3QoKXtsZXQgZT1uZXcgU2V0O3JldHVybiBlLmFkZCh0aGlzKSx0aGlzLmZvbGRUb09iamVjdEludGVybmFsKGUpfWZvbGRUb09iamVjdEludGVybmFsKGUpe2xldCBhPXt9LHI9aShuPT57aWYobiBpbnN0YW5jZW9mIHQpe2lmKGUuaGFzKG4pKXRocm93IG5ldyBFcnJvcigiY3ljbGUgZGV0ZWN0ZWQiKTtyZXR1cm4gZS5hZGQobiksbi5mb2xkVG9PYmplY3RJbnRlcm5hbChlKX1yZXR1cm4gQXJyYXkuaXNBcnJheShuKT9uLm1hcChvPT5yKG8pKTpFai5kZWZhdWx0KG4pfSwiZm9sZFZhbHVlIikscz10aGlzLnNhdmVhYmxlUHJvcGVydGllc3x8W107Zm9yKGxldCBuIG9mIHMpe2xldCBvPXRoaXNbbl07YVtuXT1yKG8pfXJldHVybiBhfWZvbGRUb0pzb24oKXtsZXQgZT10aGlzLmZvbGRUb09iamVjdCgpO3JldHVybiBhMChlKX19LGk0YT1pKCgpPT4odCxlKT0+e2xldCBhPVN0cmluZyhlLm5hbWUpO2UuYWRkSW5pdGlhbGl6ZXIoZnVuY3Rpb24oKXt0aGlzLnNhdmVhYmxlUHJvcGVydGllc3x8KHRoaXMuc2F2ZWFibGVQcm9wZXJ0aWVzPVtdKSx0aGlzLnNhdmVhYmxlUHJvcGVydGllcy5pbmNsdWRlcyhhKXx8dGhpcy5zYXZlYWJsZVByb3BlcnRpZXMucHVzaChhKX0pfSwiZm9sZERlYyIpLFRldD1pKCh0LGUpPT57bGV0IGE9YTAodCkscj1hMChlKTtyZXR1cm4gYT09PXJ9LCJkZWVwRXF1YWxPYmplY3RzIiksczRhPWkoKHQsZSk9PntsZXQgYT1KdGUodCkscj1KdGUoZSk7cmV0dXJuIFRldChhLHIpfSwiZGVlcEVxdWFsSnNvbkxTdHJpbmdzIil9KTt2YXIgTGV0PWMoKCk9PntkcigpfSk7dmFyICRldD1jKCgpPT57fSk7dmFyIHRhZSxEZXQ9YygoKT0+e0xldCgpOyRldCgpO3RhZT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJTbWFydGVudiIpfWNvbnN0cnVjdG9yKCl7dGhpcy5sb2FkZWRTY3JpcHRzPVtdfWFzeW5jIGdldEVudkF3YXJlTW9kdWxlKGUpe2lmKHRoaXMuaXNOb2RlKXJldHVybiBhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKGUubm9kZU1vZHVsZU5hbWUpO2lmKHRoaXMuaXNCcm93c2VyKXJldHVybiBhd2FpdCB0aGlzLmdldFNhZmVXZWJNb2R1bGUoZS53ZWJVcmxBcmcsZS5nZXRGdW5jdGlvbik7Y29uc29sZS5lcnJvcigicGxhdGZvcm0gZm9yIGxvYWRpbmcgbm90IHN1cHBvcnRlZCBieSBzbWFydGVudiIpfWFzeW5jIGdldFNhZmVOb2RlTW9kdWxlKGUsYSl7aWYoIXRoaXMuaXNOb2RlKXtjb25zb2xlLmVycm9yKGBZb3UgdHJpZWQgdG8gbG9hZCBhIG5vZGUgbW9kdWxlIGluIGEgd3JvbmcgY29udGV4dDogJHtlfS4gVGhpcyBkb2VzIG5vdCB0aHJvdy5gKTtyZXR1cm59bGV0IHI9YXdhaXQgbmV3IEZ1bmN0aW9uKGByZXR1cm4gaW1wb3J0KCcke2V9JylgKSgpO3JldHVybiBhJiZhd2FpdCBhKHIpLHJ9YXN5bmMgZ2V0U2FmZVdlYk1vZHVsZShlLGEpe2lmKCF0aGlzLmlzQnJvd3Nlcil7Y29uc29sZS5lcnJvcigiWW91IHRyaWVkIHRvIGxvYWQgYSB3ZWIgbW9kdWxlIGluIGEgd3JvbmcgY29udGV4dCIpO3JldHVybn1pZih0aGlzLmxvYWRlZFNjcmlwdHMuaW5jbHVkZXMoZSkpcmV0dXJuIGEoKTt0aGlzLmxvYWRlZFNjcmlwdHMucHVzaChlKTtsZXQgcj1KZS5kZWZlcigpO2lmKGdsb2JhbFRoaXMuaW1wb3J0U2NyaXB0cylnbG9iYWxUaGlzLmltcG9ydFNjcmlwdHMoZSksci5yZXNvbHZlKCk7ZWxzZXtsZXQgcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtzLm9ubG9hZD0oKT0+e3IucmVzb2x2ZSgpfSxzLnNyYz1lLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQocyl9cmV0dXJuIGF3YWl0IHIucHJvbWlzZSxhKCl9Z2V0IHJ1bnRpbWVFbnYoKXtyZXR1cm4gdHlwZW9mIHByb2Nlc3M8InUiPyJub2RlIjoiYnJvd3NlciJ9Z2V0IGlzQnJvd3Nlcigpe3JldHVybiF0aGlzLmlzTm9kZX1nZXQgdXNlckFnZW50KCl7cmV0dXJuIHRoaXMuaXNCcm93c2VyP25hdmlnYXRvci51c2VyQWdlbnQ6InVuZGVmaW5lZCJ9Z2V0IGlzTm9kZSgpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0ibm9kZSJ9Z2V0IG5vZGVWZXJzaW9uKCl7cmV0dXJuIHByb2Nlc3MudmVyc2lvbn1nZXQgaXNDSSgpe3JldHVybiB0aGlzLmlzTm9kZT8hIXByb2Nlc3MuZW52LkNJOiExfWFzeW5jIGlzTWFjQXN5bmMoKXtyZXR1cm4gdGhpcy5pc05vZGU/KGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUoIm9zIikpLnBsYXRmb3JtKCk9PT0iZGFyd2luIjohMX1hc3luYyBpc1dpbmRvd3NBc3luYygpe3JldHVybiB0aGlzLmlzTm9kZT8oYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSgib3MiKSkucGxhdGZvcm0oKT09PSJ3aW4zMiI6ITF9YXN5bmMgaXNMaW51eEFzeW5jKCl7cmV0dXJuIHRoaXMuaXNOb2RlPyhhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKCJvcyIpKS5wbGF0Zm9ybSgpPT09ImxpbnV4IjohMX1hc3luYyBwcmludEVudigpe3RoaXMuaXNOb2RlPyhjb25zb2xlLmxvZygicnVubmluZyBvbiBOT0RFIiksY29uc29sZS5sb2coIm5vZGUgdmVyc2lvbiBpcyAiK3RoaXMubm9kZVZlcnNpb24pKTooY29uc29sZS5sb2coInJ1bm5pbmcgb24gQlJPV1NFUiIpLGNvbnNvbGUubG9nKCJicm93c2VyIGlzICIrdGhpcy51c2VyQWdlbnQpKX19fSk7dmFyIGVvPXt9O2V0KGVvLHtTbWFydGVudjooKT0+dGFlfSk7dmFyIE9qPWMoKCk9PntEZXQoKX0pO3ZhciBCaixBZXQsSGosYWFlPWMoKCk9PntPaigpO1FsKCk7Qmo9WDEoR3RlKCksMSksQWV0PVgxKFl0ZSgpLDEpLEhqPUFldC5kZWZhdWx0fSk7ZnVuY3Rpb24gbDRhKHQpe3JldHVybiB0eXBlb2YgQnVmZmVyPCJ1Ij9CdWZmZXIuZnJvbSh0KS50b1N0cmluZygiYmFzZTY0Iik6YnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLnQpKX1mdW5jdGlvbiBjNGEodCl7aWYodHlwZW9mIEJ1ZmZlcjwidSIpe2xldCBlPUJ1ZmZlci5mcm9tKHQsImJhc2U2NCIpO3JldHVybiBuZXcgVWludDhBcnJheShlLmJ1ZmZlcixlLmJ5dGVPZmZzZXQsZS5ieXRlTGVuZ3RoKX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoQXJyYXkuZnJvbShhdG9iKHQpKS5tYXAoZT0+ZS5jaGFyQ29kZUF0KDApKSl9ZnVuY3Rpb24gaWFlKHQsZSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KHQscWosZSl9ZnVuY3Rpb24gc2FlKHQpe3JldHVybiBKU09OLnBhcnNlKHQsUGV0KX1mdW5jdGlvbiBkNGEodCl7cmV0dXJuIElldCh0KSYmdC50eXBlPT09IkVuY29kZWRCdWZmZXIiJiZyYWUodC5kYXRhKX1mdW5jdGlvbiBwNGEodCl7cmV0dXJuIElldCh0KSYmdC50eXBlPT09IkJ1ZmZlciImJihFZXQodC5kYXRhKXx8cmFlKHQuZGF0YSkpfHx0IGluc3RhbmNlb2YgVWludDhBcnJheX1mdW5jdGlvbiBFZXQodCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCl9ZnVuY3Rpb24gcmFlKHQpe3JldHVybiB0eXBlb2YgdD09InN0cmluZyJ9ZnVuY3Rpb24gSWV0KHQpe3JldHVybiB0eXBlb2YgdD09Im9iamVjdCImJnQhPT1udWxsfXZhciBxaixQZXQsTmV0PWMoKCk9PnthYWUoKTtpKGw0YSwiYmFzZTY0RW5jb2RlIik7aShjNGEsImJhc2U2NERlY29kZSIpO2koaWFlLCJzdHJpbmdpZnkiKTtpKHNhZSwicGFyc2UiKTtxaj1pKCh0LGUpPT57aWYocDRhKGUpKXtsZXQgYTtpZigiZGF0YSJpbiBlJiZFZXQoZS5kYXRhKSlhPW5ldyBVaW50OEFycmF5KGUuZGF0YSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgVWludDhBcnJheSlhPWU7ZWxzZSByZXR1cm4gZTtyZXR1cm57dHlwZToiRW5jb2RlZEJ1ZmZlciIsZGF0YToiYmFzZTY0OiIrbDRhKGEpfX1yZXR1cm4gZX0sInJlcGxhY2VyIiksUGV0PWkoKHQsZSk9PntpZihkNGEoZSkmJnJhZShlLmRhdGEpJiZlLmRhdGEuc3RhcnRzV2l0aCgiYmFzZTY0OiIpKXtsZXQgYT1lLmRhdGEuc2xpY2UoNyk7cmV0dXJuIGM0YShhKX1yZXR1cm4gZX0sInJldml2ZXIiKTtpKGQ0YSwiaXNFbmNvZGVkQnVmZmVyIik7aShwNGEsImlzQnVmZmVyTGlrZSIpO2koRWV0LCJpc0FycmF5Iik7aShyYWUsImlzU3RyaW5nIik7aShJZXQsImlzT2JqZWN0Iil9KTt2YXIgVjE9e307ZXQoVjEse1NtYXJ0anNvbjooKT0+bmFlLGRlZXBFcXVhbEpzb25MU3RyaW5nczooKT0+eDRhLGRlZXBFcXVhbE9iamVjdHM6KCk9PlJldCxmb2xkRGVjOigpPT52NGEscGFyc2U6KCk9PlZqLHBhcnNlQmFzZTY0OigpPT5iNGEscGFyc2VKc29uTDooKT0+b2FlLHN0YWJsZU9uZVdheVN0cmluZ2lmeTooKT0+aDRhLHN0cmluZ2lmeTooKT0+cjAsc3RyaW5naWZ5QmFzZTY0OigpPT5nNGEsc3RyaW5naWZ5SnNvbkw6KCk9PmY0YSxzdHJpbmdpZnlQcmV0dHk6KCk9Pm00YX0pO3ZhciBWaixvYWUsZjRhLGg0YSxyMCxtNGEsZzRhLGI0YSxuYWUsdjRhLFJldCx4NGEsamo9YygoKT0+e2FhZSgpO05ldCgpO1ZqPXNhZSxvYWU9aSh0PT50LnNwbGl0KGAKYCkucmVkdWNlKChyLHMpPT57bGV0IG49cy50cmltKCk7cmV0dXJuIG4ubGVuZ3RoPjAmJnIucHVzaChWaihuKSkscn0sW10pLCJwYXJzZUpzb25MIiksZjRhPWkodD0+dC5tYXAoZT0+cjAoZSkpLmpvaW4oYApgKSwic3RyaW5naWZ5SnNvbkwiKSxoNGE9aSgodCxlLGE9e30pPT57bGV0IHI9bmV3IFdlYWtTZXQscz1pKGw9PntpZihsPT09bnVsbHx8dHlwZW9mIGwhPSJvYmplY3QiKXJldHVybiBsO2xldCBoPXFqKCIiLGwpO2lmKGgmJmgudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmdHlwZW9mIGguZGF0YT09InN0cmluZyIpcmV0dXJuIGg7aWYoci5oYXMobCkpcmV0dXJuIl9fY3ljbGVfXyI7aWYoci5hZGQobCksQXJyYXkuaXNBcnJheShsKSlyZXR1cm4gbC5tYXAoZj0+cyhmKSk7bGV0IHU9e307Zm9yKGxldCBmIG9mIE9iamVjdC5rZXlzKGwpKXRyeXt1W2ZdPXMobFtmXSl9Y2F0Y2h7dVtmXT0iX191bnNlcmlhbGl6YWJsZV9fIn1yZXR1cm4gdX0sInNhbml0aXplIiksbj1zKHQpLG89ey4uLmEsY3ljbGVzOiEwfTtpZihlJiYhby5jbXApe2xldCBsPW5ldyBNYXA7ZS5mb3JFYWNoKChoLHUpPT5sLnNldChoLHUpKSxvLmNtcD0oaCx1KT0+e2xldCBmPWwuaGFzKGgua2V5KT9sLmdldChoLmtleSk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHA9bC5oYXModS5rZXkpP2wuZ2V0KHUua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIGYhPT1wP2YtcDpoLmtleTx1LmtleT8tMTpoLmtleT51LmtleT8xOjB9fXJldHVybiBIaihuLG8pfSwic3RhYmxlT25lV2F5U3RyaW5naWZ5IikscjA9aSgodCxlLGE9e30pPT57bGV0IHI9aWFlKHQpO3Q9SlNPTi5wYXJzZShyKTtsZXQgcz17Li4uYX07aWYoZSYmIXMuY21wKXtsZXQgbz1uZXcgTWFwO2UuZm9yRWFjaCgobCxoKT0+by5zZXQobCxoKSkscy5jbXA9KGwsaCk9PntsZXQgdT1vLmhhcyhsLmtleSk/by5nZXQobC5rZXkpOk51bWJlci5QT1NJVElWRV9JTkZJTklUWSxmPW8uaGFzKGgua2V5KT9vLmdldChoLmtleSk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO3JldHVybiB1IT09Zj91LWY6bC5rZXk8aC5rZXk/LTE6bC5rZXk+aC5rZXk/MTowfX1yZXR1cm4gSGoodCxzKX0sInN0cmluZ2lmeSIpLG00YT1pKHQ9PntsZXQgZT1yMCh0KSxhPUpTT04ucGFyc2UoZSk7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGEsbnVsbCwyKX0sInN0cmluZ2lmeVByZXR0eSIpLGc0YT1pKCguLi50KT0+e2xldCBlPXIwKC4uLnQpO3JldHVybiBMMS5iYXNlNjQuZW5jb2RlVXJpKGUpfSwic3RyaW5naWZ5QmFzZTY0IiksYjRhPWkodD0+e2xldCBlPUwxLmJhc2U2NCxyPShlLmRlY29kZVVyaXx8ZS5kZWNvZGUpKHQpO3JldHVybiBWaihyKX0sInBhcnNlQmFzZTY0IiksbmFlPWNsYXNzIHR7c3RhdGlje2kodGhpcywiU21hcnRqc29uIil9c3RhdGljIGVuZm9sZEZyb21PYmplY3QoZSl7bGV0IGE9bmV3IHRoaXMscj1hLnNhdmVhYmxlUHJvcGVydGllc3x8W107Zm9yKGxldCBzIGluIGUpci5pbmRleE9mKHMpIT09LTEmJihhW3NdPWVbc10pO3JldHVybiBhfXN0YXRpYyBlbmZvbGRGcm9tSnNvbihlKXtsZXQgYT1WaihlKTtyZXR1cm4gdGhpcy5lbmZvbGRGcm9tT2JqZWN0KGEpfWZvbGRUb09iamVjdCgpe2xldCBlPW5ldyBTZXQ7cmV0dXJuIGUuYWRkKHRoaXMpLHRoaXMuZm9sZFRvT2JqZWN0SW50ZXJuYWwoZSl9Zm9sZFRvT2JqZWN0SW50ZXJuYWwoZSl7bGV0IGE9e30scj1pKG49PntpZihuIGluc3RhbmNlb2YgdCl7aWYoZS5oYXMobikpdGhyb3cgbmV3IEVycm9yKCJjeWNsZSBkZXRlY3RlZCIpO3JldHVybiBlLmFkZChuKSxuLmZvbGRUb09iamVjdEludGVybmFsKGUpfXJldHVybiBBcnJheS5pc0FycmF5KG4pP24ubWFwKG89PnIobykpOkJqLmRlZmF1bHQobil9LCJmb2xkVmFsdWUiKSxzPXRoaXMuc2F2ZWFibGVQcm9wZXJ0aWVzfHxbXTtmb3IobGV0IG4gb2Ygcyl7bGV0IG89dGhpc1tuXTthW25dPXIobyl9cmV0dXJuIGF9Zm9sZFRvSnNvbigpe2xldCBlPXRoaXMuZm9sZFRvT2JqZWN0KCk7cmV0dXJuIHIwKGUpfX0sdjRhPWkoKCk9Pih0LGUpPT57dC5zYXZlYWJsZVByb3BlcnRpZXN8fCh0LnNhdmVhYmxlUHJvcGVydGllcz1bXSksdC5zYXZlYWJsZVByb3BlcnRpZXMucHVzaChlKX0sImZvbGREZWMiKSxSZXQ9aSgodCxlKT0+e2xldCBhPXIwKHQpLHI9cjAoZSk7cmV0dXJuIGE9PT1yfSwiZGVlcEVxdWFsT2JqZWN0cyIpLHg0YT1pKCh0LGUpPT57bGV0IGE9b2FlKHQpLHI9b2FlKGUpO3JldHVybiBSZXQoYSxyKX0sImRlZXBFcXVhbEpzb25MU3RyaW5ncyIpfSk7dmFyIE51PXt9O2V0KE51LHtkZWxldGVEQjooKT0+V2V0LG9wZW5EQjooKT0+VWV0LHVud3JhcDooKT0+SXUsd3JhcDooKT0+ZDJ9KTtmdW5jdGlvbiB5NGEoKXtyZXR1cm4gRmV0fHwoRmV0PVtJREJEYXRhYmFzZSxJREJPYmplY3RTdG9yZSxJREJJbmRleCxJREJDdXJzb3IsSURCVHJhbnNhY3Rpb25dKX1mdW5jdGlvbiB3NGEoKXtyZXR1cm4gT2V0fHwoT2V0PVtJREJDdXJzb3IucHJvdG90eXBlLmFkdmFuY2UsSURCQ3Vyc29yLnByb3RvdHlwZS5jb250aW51ZSxJREJDdXJzb3IucHJvdG90eXBlLmNvbnRpbnVlUHJpbWFyeUtleV0pfWZ1bmN0aW9uIE00YSh0KXtsZXQgZT1uZXcgUHJvbWlzZSgoYSxyKT0+e2xldCBzPWkoKCk9Pnt0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLG4pLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG8pfSwidW5saXN0ZW4iKSxuPWkoKCk9PnthKGQyKHQucmVzdWx0KSkscygpfSwic3VjY2VzcyIpLG89aSgoKT0+e3IodC5lcnJvcikscygpfSwiZXJyb3IiKTt0LmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLG4pLHQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG8pfSk7cmV0dXJuIFVqLnNldChlLHQpLGV9ZnVuY3Rpb24gazRhKHQpe2lmKGNhZS5oYXModCkpcmV0dXJuO2xldCBlPW5ldyBQcm9taXNlKChhLHIpPT57bGV0IHM9aSgoKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY29tcGxldGUiLG4pLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG8pLHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLG8pfSwidW5saXN0ZW4iKSxuPWkoKCk9PnthKCkscygpfSwiY29tcGxldGUiKSxvPWkoKCk9PntyKHQuZXJyb3J8fG5ldyBET01FeGNlcHRpb24oIkFib3J0RXJyb3IiLCJBYm9ydEVycm9yIikpLHMoKX0sImVycm9yIik7dC5hZGRFdmVudExpc3RlbmVyKCJjb21wbGV0ZSIsbiksdC5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsbyksdC5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsbyl9KTtjYWUuc2V0KHQsZSl9ZnVuY3Rpb24gQmV0KHQpe3BhZT10KHBhZSl9ZnVuY3Rpb24gejRhKHQpe3JldHVybiB3NGEoKS5pbmNsdWRlcyh0KT9mdW5jdGlvbiguLi5lKXtyZXR1cm4gdC5hcHBseShJdSh0aGlzKSxlKSxkMih0aGlzLnJlcXVlc3QpfTpmdW5jdGlvbiguLi5lKXtyZXR1cm4gZDIodC5hcHBseShJdSh0aGlzKSxlKSl9fWZ1bmN0aW9uIFM0YSh0KXtyZXR1cm4gdHlwZW9mIHQ9PSJmdW5jdGlvbiI/ejRhKHQpOih0IGluc3RhbmNlb2YgSURCVHJhbnNhY3Rpb24mJms0YSh0KSxsYWUodCx5NGEoKSk/bmV3IFByb3h5KHQscGFlKTp0KX1mdW5jdGlvbiBkMih0KXtpZih0IGluc3RhbmNlb2YgSURCUmVxdWVzdClyZXR1cm4gTTRhKHQpO2lmKGRhZS5oYXModCkpcmV0dXJuIGRhZS5nZXQodCk7bGV0IGU9UzRhKHQpO3JldHVybiBlIT09dCYmKGRhZS5zZXQodCxlKSxVai5zZXQoZSx0KSksZX1mdW5jdGlvbiBVZXQodCxlLHtibG9ja2VkOmEsdXBncmFkZTpyLGJsb2NraW5nOnMsdGVybWluYXRlZDpufT17fSl7bGV0IG89aW5kZXhlZERCLm9wZW4odCxlKSxsPWQyKG8pO3JldHVybiByJiZvLmFkZEV2ZW50TGlzdGVuZXIoInVwZ3JhZGVuZWVkZWQiLGg9PntyKGQyKG8ucmVzdWx0KSxoLm9sZFZlcnNpb24saC5uZXdWZXJzaW9uLGQyKG8udHJhbnNhY3Rpb24pLGgpfSksYSYmby5hZGRFdmVudExpc3RlbmVyKCJibG9ja2VkIixoPT5hKGgub2xkVmVyc2lvbixoLm5ld1ZlcnNpb24saCkpLGwudGhlbihoPT57biYmaC5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsKCk9Pm4oKSkscyYmaC5hZGRFdmVudExpc3RlbmVyKCJ2ZXJzaW9uY2hhbmdlIix1PT5zKHUub2xkVmVyc2lvbix1Lm5ld1ZlcnNpb24sdSkpfSkuY2F0Y2goKCk9Pnt9KSxsfWZ1bmN0aW9uIFdldCh0LHtibG9ja2VkOmV9PXt9KXtsZXQgYT1pbmRleGVkREIuZGVsZXRlRGF0YWJhc2UodCk7cmV0dXJuIGUmJmEuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIscj0+ZShyLm9sZFZlcnNpb24scikpLGQyKGEpLnRoZW4oKCk9Pnt9KX1mdW5jdGlvbiBIZXQodCxlKXtpZighKHQgaW5zdGFuY2VvZiBJREJEYXRhYmFzZSYmIShlIGluIHQpJiZ0eXBlb2YgZT09InN0cmluZyIpKXJldHVybjtpZih1YWUuZ2V0KGUpKXJldHVybiB1YWUuZ2V0KGUpO2xldCBhPWUucmVwbGFjZSgvRnJvbUluZGV4JC8sIiIpLHI9ZSE9PWEscz1fNGEuaW5jbHVkZXMoYSk7aWYoIShhIGluKHI/SURCSW5kZXg6SURCT2JqZWN0U3RvcmUpLnByb3RvdHlwZSl8fCEoc3x8QzRhLmluY2x1ZGVzKGEpKSlyZXR1cm47bGV0IG49aShhc3luYyBmdW5jdGlvbihvLC4uLmwpe2xldCBoPXRoaXMudHJhbnNhY3Rpb24obyxzPyJyZWFkd3JpdGUiOiJyZWFkb25seSIpLHU9aC5zdG9yZTtyZXR1cm4gciYmKHU9dS5pbmRleChsLnNoaWZ0KCkpKSwoYXdhaXQgUHJvbWlzZS5hbGwoW3VbYV0oLi4ubCkscyYmaC5kb25lXSkpWzBdfSwibWV0aG9kIik7cmV0dXJuIHVhZS5zZXQoZSxuKSxufWFzeW5jIGZ1bmN0aW9uKiQ0YSguLi50KXtsZXQgZT10aGlzO2lmKGUgaW5zdGFuY2VvZiBJREJDdXJzb3J8fChlPWF3YWl0IGUub3BlbkN1cnNvciguLi50KSksIWUpcmV0dXJuO2U9ZTtsZXQgYT1uZXcgUHJveHkoZSxMNGEpO2ZvcihWZXQuc2V0KGEsZSksVWouc2V0KGEsSXUoZSkpO2U7KXlpZWxkIGEsZT1hd2FpdChmYWUuZ2V0KGEpfHxlLmNvbnRpbnVlKCkpLGZhZS5kZWxldGUoYSl9ZnVuY3Rpb24gamV0KHQsZSl7cmV0dXJuIGU9PT1TeW1ib2wuYXN5bmNJdGVyYXRvciYmbGFlKHQsW0lEQkluZGV4LElEQk9iamVjdFN0b3JlLElEQkN1cnNvcl0pfHxlPT09Iml0ZXJhdGUiJiZsYWUodCxbSURCSW5kZXgsSURCT2JqZWN0U3RvcmVdKX12YXIgbGFlLEZldCxPZXQsY2FlLGRhZSxVaixwYWUsSXUsQzRhLF80YSx1YWUsVDRhLHFldCxmYWUsVmV0LEw0YSxHZXQ9YygoKT0+e2xhZT1pKCh0LGUpPT5lLnNvbWUoYT0+dCBpbnN0YW5jZW9mIGEpLCJpbnN0YW5jZU9mQW55Iik7aSh5NGEsImdldElkYlByb3h5YWJsZVR5cGVzIik7aSh3NGEsImdldEN1cnNvckFkdmFuY2VNZXRob2RzIik7Y2FlPW5ldyBXZWFrTWFwLGRhZT1uZXcgV2Vha01hcCxVaj1uZXcgV2Vha01hcDtpKE00YSwicHJvbWlzaWZ5UmVxdWVzdCIpO2koazRhLCJjYWNoZURvbmVQcm9taXNlRm9yVHJhbnNhY3Rpb24iKTtwYWU9e2dldCh0LGUsYSl7aWYodCBpbnN0YW5jZW9mIElEQlRyYW5zYWN0aW9uKXtpZihlPT09ImRvbmUiKXJldHVybiBjYWUuZ2V0KHQpO2lmKGU9PT0ic3RvcmUiKXJldHVybiBhLm9iamVjdFN0b3JlTmFtZXNbMV0/dm9pZCAwOmEub2JqZWN0U3RvcmUoYS5vYmplY3RTdG9yZU5hbWVzWzBdKX1yZXR1cm4gZDIodFtlXSl9LHNldCh0LGUsYSl7cmV0dXJuIHRbZV09YSwhMH0saGFzKHQsZSl7cmV0dXJuIHQgaW5zdGFuY2VvZiBJREJUcmFuc2FjdGlvbiYmKGU9PT0iZG9uZSJ8fGU9PT0ic3RvcmUiKT8hMDplIGluIHR9fTtpKEJldCwicmVwbGFjZVRyYXBzIik7aSh6NGEsIndyYXBGdW5jdGlvbiIpO2koUzRhLCJ0cmFuc2Zvcm1DYWNoYWJsZVZhbHVlIik7aShkMiwid3JhcCIpO0l1PWkodD0+VWouZ2V0KHQpLCJ1bndyYXAiKTtpKFVldCwib3BlbkRCIik7aShXZXQsImRlbGV0ZURCIik7QzRhPVsiZ2V0IiwiZ2V0S2V5IiwiZ2V0QWxsIiwiZ2V0QWxsS2V5cyIsImNvdW50Il0sXzRhPVsicHV0IiwiYWRkIiwiZGVsZXRlIiwiY2xlYXIiXSx1YWU9bmV3IE1hcDtpKEhldCwiZ2V0TWV0aG9kIiksQmV0KHQ9Pih7Li4udCxnZXQ6aSgoZSxhLHIpPT5IZXQoZSxhKXx8dC5nZXQoZSxhLHIpLCJnZXQiKSxoYXM6aSgoZSxhKT0+ISFIZXQoZSxhKXx8dC5oYXMoZSxhKSwiaGFzIil9KSk7VDRhPVsiY29udGludWUiLCJjb250aW51ZVByaW1hcnlLZXkiLCJhZHZhbmNlIl0scWV0PXt9LGZhZT1uZXcgV2Vha01hcCxWZXQ9bmV3IFdlYWtNYXAsTDRhPXtnZXQodCxlKXtpZighVDRhLmluY2x1ZGVzKGUpKXJldHVybiB0W2VdO2xldCBhPXFldFtlXTtyZXR1cm4gYXx8KGE9cWV0W2VdPWZ1bmN0aW9uKC4uLnIpe2ZhZS5zZXQodGhpcyxWZXQuZ2V0KHRoaXMpW2VdKC4uLnIpKX0pLGF9fTtpKCQ0YSwiaXRlcmF0ZSIpO2koamV0LCJpc0l0ZXJhdG9yUHJvcCIpLEJldCh0PT4oey4uLnQsZ2V0KGUsYSxyKXtyZXR1cm4gamV0KGUsYSk/JDRhOnQuZ2V0KGUsYSxyKX0saGFzKGUsYSl7cmV0dXJuIGpldChlLGEpfHx0LmhhcyhlLGEpfX0pKX0pO3ZhciBoYWU9YygoKT0+e3l1KCk7T2ooKTtqaigpO2RyKCk7Y3MoKTtpNSgpO0dldCgpfSk7dmFyIFJ1LG1hZT1jKCgpPT57aGFlKCk7UnU9Y2xhc3N7c3RhdGlje2kodGhpcywiV2ViU3RvcmUiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmluaXRDYWxsZWQ9ITEsdGhpcy5yZWFkeURlZmVycmVkPUplLmRlZmVyKCksdGhpcy5vcHRpb25zPWV9YXN5bmMgaW5pdCgpe2lmKHRoaXMuaW5pdENhbGxlZCl7YXdhaXQgdGhpcy5yZWFkeURlZmVycmVkLnByb21pc2U7cmV0dXJufXRoaXMuaW5pdENhbGxlZD0hMDtsZXQgZT1uZXcgZW8uU21hcnRlbnY7aWYoIWUuaXNCcm93c2VyJiYhZ2xvYmFsVGhpcy5pbmRleGVkREImJihjb25zb2xlLmxvZygiaGV5IiksY29uc29sZS5sb2coZ2xvYmFsVGhpcy5pbmRleGVkREIpLGF3YWl0IGUuZ2V0U2FmZU5vZGVNb2R1bGUoImZha2UtaW5kZXhlZGRiL2F1dG8iKSwhZ2xvYmFsVGhpcy5pbmRleGVkREIpKXtsZXQgYT1hd2FpdCBlLmdldFNhZmVOb2RlTW9kdWxlKCJmYWtlLWluZGV4ZWRkYiIpO2dsb2JhbFRoaXMuaW5kZXhlZERCPW5ldyBhLklEQkZhY3Rvcnl9dGhpcy5kYj1hd2FpdCBOdS5vcGVuREIodGhpcy5vcHRpb25zLmRiTmFtZSwxLHt1cGdyYWRlOmkoYT0+e2EuY3JlYXRlT2JqZWN0U3RvcmUodGhpcy5vcHRpb25zLnN0b3JlTmFtZSl9LCJ1cGdyYWRlIil9KSx0aGlzLnJlYWR5RGVmZXJyZWQucmVzb2x2ZSgpfWFzeW5jIGdldChlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5nZXQodGhpcy5vcHRpb25zLnN0b3JlTmFtZSxlKX1hc3luYyBjaGVjayhlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksISFhd2FpdCB0aGlzLmdldChlKX1hc3luYyBzZXQoZSxhKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5wdXQodGhpcy5vcHRpb25zLnN0b3JlTmFtZSxhLGUpfWFzeW5jIGRlbGV0ZShlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5kZWxldGUodGhpcy5vcHRpb25zLnN0b3JlTmFtZSxlKX1hc3luYyBjbGVhcigpe3JldHVybiBhd2FpdCB0aGlzLmluaXQoKSx0aGlzLmRiLmNsZWFyKHRoaXMub3B0aW9ucy5zdG9yZU5hbWUpfWFzeW5jIGtleXMoKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5nZXRBbGxLZXlzKHRoaXMub3B0aW9ucy5zdG9yZU5hbWUpfX19KTt2YXIgZ2FlLFpldD1jKCgpPT57bWFlKCk7aGFlKCk7Z2FlPWNsYXNze3N0YXRpY3tpKHRoaXMsIlR5cGVkcmVxdWVzdENhY2hlIil9Y29uc3RydWN0b3IoZT0iZGVmYXVsdCIpe3RoaXMud2Vic3RvcmU9bmV3IFJ1KHtkYk5hbWU6InRyU3RvcmUiLHN0b3JlTmFtZTpgdHJTdG9yZS0ke2V9YH0pfWJ1aWxkS2V5KGUpe3JldHVybiBWMS5zdHJpbmdpZnkoe21ldGhvZDplLm1ldGhvZCxyZXF1ZXN0OmUucmVxdWVzdH0pfWFzeW5jIHNldEJ5UmVxdWVzdChlKXtpZighZS5yZXNwb25zZSl0aHJvdyBuZXcgRXJyb3IoIllvdSBjYW5ub3Qgc3RvcmUgcmVxdWVzdHMgd2l0aG91dCBhIHJlc3BvbnNlIHByZXNlbnQiKTthd2FpdCB0aGlzLndlYnN0b3JlLnNldCh0aGlzLmJ1aWxkS2V5KGUpLGUpfWFzeW5jIGdldEJ5UmVxdWVzdChlKXtyZXR1cm4gYXdhaXQgdGhpcy53ZWJzdG9yZS5nZXQodGhpcy5idWlsZEtleShlKSl9fX0pO3ZhciBmcz17fTtldChmcyx7VHlwZWRyZXF1ZXN0Q2FjaGU6KCk9PmdhZSxXZWJTdG9yZTooKT0+UnV9KTt2YXIgV2o9YygoKT0+e1pldCgpO21hZSgpfSk7dmFyIEZ1PWMoKCk9PntqMigpO190ZSgpO0ZqKCk7ZHIoKTtXaigpfSk7dmFyIEg1LFlqPWMoKCk9PntGdSgpO0g1PWNsYXNze3N0YXRpY3tpKHRoaXMsIkNhY2hlU3RvcmUiKX1jb25zdHJ1Y3RvcihlPSJ3ZWJyZXF1ZXN0LXY0IixhPSJjYWNoZSIpe3RoaXMud2Vic3RvcmU9bmV3IGZzLldlYlN0b3JlKHtkYk5hbWU6ZSxzdG9yZU5hbWU6YX0pLHRoaXMuaW5pdFByb21pc2U9dGhpcy5pbml0KCl9YXN5bmMgaW5pdCgpe31nZW5lcmF0ZUNhY2hlS2V5KGUpe2xldCBhPWUudXJsLHI9ZS5tZXRob2Q7cmV0dXJuIHI9PT0iR0VUIj9hOmAke3J9OiR7YX1gfWFzeW5jIHNldChlLGEpe2F3YWl0IHRoaXMuaW5pdFByb21pc2UsYXdhaXQgdGhpcy53ZWJzdG9yZS5zZXQoZSxhKX1hc3luYyBnZXQoZSl7YXdhaXQgdGhpcy5pbml0UHJvbWlzZTt0cnl7cmV0dXJuIGF3YWl0IHRoaXMud2Vic3RvcmUuZ2V0KGUpfHxudWxsfWNhdGNoe3JldHVybiBudWxsfX1hc3luYyBoYXMoZSl7cmV0dXJuIGF3YWl0IHRoaXMuaW5pdFByb21pc2UsYXdhaXQgdGhpcy53ZWJzdG9yZS5jaGVjayhlKX1hc3luYyBkZWxldGUoZSl7YXdhaXQgdGhpcy5pbml0UHJvbWlzZSxhd2FpdCB0aGlzLndlYnN0b3JlLmRlbGV0ZShlKX1hc3luYyBjbGVhcigpe2F3YWl0IHRoaXMuaW5pdFByb21pc2UsYXdhaXQgdGhpcy53ZWJzdG9yZS5jbGVhcigpfXJlc3BvbnNlRnJvbUNhY2hlRW50cnkoZSl7bGV0IGE9bmV3IEhlYWRlcnMoZS5oZWFkZXJzKTtyZXR1cm4gbmV3IFJlc3BvbnNlKGUucmVzcG9uc2Use3N0YXR1czplLnN0YXR1cyxzdGF0dXNUZXh0OmUuc3RhdHVzVGV4dCxoZWFkZXJzOmF9KX1hc3luYyBjYWNoZUVudHJ5RnJvbVJlc3BvbnNlKGUsYSxyKXtsZXQgcz1hLmNsb25lKCksbj1hd2FpdCBzLmFycmF5QnVmZmVyKCksbz17fTtyZXR1cm4gcy5oZWFkZXJzLmZvckVhY2goKGwsaCk9PntvW2hdPWx9KSx7cmVzcG9uc2U6bixoZWFkZXJzOm8sdGltZXN0YW1wOkRhdGUubm93KCksZXRhZzpyPy5ldGFnfHxzLmhlYWRlcnMuZ2V0KCJldGFnIil8fHZvaWQgMCxsYXN0TW9kaWZpZWQ6cj8ubGFzdE1vZGlmaWVkfHxzLmhlYWRlcnMuZ2V0KCJsYXN0LW1vZGlmaWVkIil8fHZvaWQgMCxtYXhBZ2U6cj8ubWF4QWdlLHVybDplLHN0YXR1czpzLnN0YXR1cyxzdGF0dXNUZXh0OnMuc3RhdHVzVGV4dH19YXN5bmMgcHJ1bmVFeHBpcmVkKCl7cmV0dXJuIGF3YWl0IHRoaXMuaW5pdFByb21pc2UsMH19fSk7ZnVuY3Rpb24gRDRhKHQpe2xldCBlPXttYXhBZ2U6MCxpbW11dGFibGU6ITEsbm9DYWNoZTohMSxub1N0b3JlOiExLG11c3RSZXZhbGlkYXRlOiExfTtpZighdClyZXR1cm4gZTtsZXQgYT10LnRvTG93ZXJDYXNlKCkuc3BsaXQoIiwiKS5tYXAocj0+ci50cmltKCkpO2ZvcihsZXQgciBvZiBhKWlmKHI9PT0ibm8tY2FjaGUiKWUubm9DYWNoZT0hMDtlbHNlIGlmKHI9PT0ibm8tc3RvcmUiKWUubm9TdG9yZT0hMDtlbHNlIGlmKHI9PT0iaW1tdXRhYmxlIillLmltbXV0YWJsZT0hMDtlbHNlIGlmKHI9PT0ibXVzdC1yZXZhbGlkYXRlIillLm11c3RSZXZhbGlkYXRlPSEwO2Vsc2UgaWYoci5zdGFydHNXaXRoKCJtYXgtYWdlPSIpKXtsZXQgcz1wYXJzZUludChyLnNwbGl0KCI9IilbMV0sMTApO2lzTmFOKHMpfHwoZS5tYXhBZ2U9cyoxZTMpfXJldHVybiBlfWZ1bmN0aW9uIEE0YSh0KXtpZih0KXRyeXtyZXR1cm4gbmV3IERhdGUodCkuZ2V0VGltZSgpfWNhdGNoe3JldHVybn19ZnVuY3Rpb24gcDIodCl7bGV0IGU9dC5nZXQoImNhY2hlLWNvbnRyb2wiKSxhPXQuZ2V0KCJleHBpcmVzIikscj10LmdldCgiZXRhZyIpLHM9dC5nZXQoImxhc3QtbW9kaWZpZWQiKSxuPUQ0YShlKTtpZihuLm1heEFnZT09PTAmJmEpe2xldCBvPUE0YShhKTtvJiYobi5tYXhBZ2U9TWF0aC5tYXgoMCxvLURhdGUubm93KCkpKX1yZXR1cm57bWF4QWdlOm4ubWF4QWdlfHwwLGV0YWc6cnx8dm9pZCAwLGxhc3RNb2RpZmllZDpzfHx2b2lkIDAsaW1tdXRhYmxlOm4uaW1tdXRhYmxlfHwhMSxub0NhY2hlOm4ubm9DYWNoZXx8ITEsbm9TdG9yZTpuLm5vU3RvcmV8fCExLG11c3RSZXZhbGlkYXRlOm4ubXVzdFJldmFsaWRhdGV8fCExfX1mdW5jdGlvbiBPdSh0LGUpe2lmKGUubm9TdG9yZSlyZXR1cm4hMTtpZihlLmltbXV0YWJsZSlyZXR1cm4hMDtsZXQgYT1EYXRlLm5vdygpLXQudGltZXN0YW1wLHI9dC5tYXhBZ2V8fGUubWF4QWdlfHwwO3JldHVybiByPT09MD8hMTphPHJ9ZnVuY3Rpb24gQnUodCl7cmV0dXJuIHQubm9DYWNoZXx8dC5tdXN0UmV2YWxpZGF0ZX1mdW5jdGlvbiBaaih0KXtsZXQgZT17fTtyZXR1cm4gdC5ldGFnJiYoZVsiaWYtbm9uZS1tYXRjaCJdPXQuZXRhZyksdC5sYXN0TW9kaWZpZWQmJihlWyJpZi1tb2RpZmllZC1zaW5jZSJdPXQubGFzdE1vZGlmaWVkKSxlfWZ1bmN0aW9uIFhqKHQpe2xldCBlPXt9O3JldHVybiB0LmZvckVhY2goKGEscik9PntlW3JdPWF9KSxlfWZ1bmN0aW9uIFhldCh0KXtsZXQgZT1uZXcgSGVhZGVycztyZXR1cm4gT2JqZWN0LmVudHJpZXModCkuZm9yRWFjaCgoW2Escl0pPT57ZS5zZXQoYSxyKX0pLGV9dmFyIEtqPWMoKCk9PntpKEQ0YSwicGFyc2VDYWNoZUNvbnRyb2wiKTtpKEE0YSwicGFyc2VFeHBpcmVzIik7aShwMiwiZXh0cmFjdENhY2hlTWV0YWRhdGEiKTtpKE91LCJpc0ZyZXNoIik7aShCdSwicmVxdWlyZXNSZXZhbGlkYXRpb24iKTtpKFpqLCJjcmVhdGVDb25kaXRpb25hbEhlYWRlcnMiKTtpKFhqLCJoZWFkZXJzVG9PYmplY3QiKTtpKFhldCwib2JqZWN0VG9IZWFkZXJzIil9KTtmdW5jdGlvbiBLZXQodCl7c3dpdGNoKHQpe2Nhc2UibmV0d29yay1maXJzdCI6cmV0dXJuIG5ldyBRajtjYXNlImNhY2hlLWZpcnN0IjpyZXR1cm4gbmV3IGJhZTtjYXNlInN0YWxlLXdoaWxlLXJldmFsaWRhdGUiOnJldHVybiBuZXcgdmFlO2Nhc2UibmV0d29yay1vbmx5IjpyZXR1cm4gbmV3IHhhZTtjYXNlImNhY2hlLW9ubHkiOnJldHVybiBuZXcgeWFlO2RlZmF1bHQ6cmV0dXJuIG5ldyBRan19dmFyIFFqLGJhZSx2YWUseGFlLHlhZSxRZXQ9YygoKT0+e1lqKCk7S2ooKTtRaj1jbGFzc3tzdGF0aWN7aSh0aGlzLCJOZXR3b3JrRmlyc3RTdHJhdGVneSIpfWFzeW5jIGV4ZWN1dGUoZSl7dHJ5e2xldCBhPWF3YWl0IGUuZmV0Y2hGbihlLnJlcXVlc3QpO3JldHVybiBhLm9rJiZhd2FpdCB0aGlzLmNhY2hlUmVzcG9uc2UoZSxhKSx7cmVzcG9uc2U6YSxmcm9tQ2FjaGU6ITEscmV2YWxpZGF0ZWQ6ITF9fWNhdGNoKGEpe2UubG9nZ2luZyYmY29uc29sZS5sb2coIlt3ZWJyZXF1ZXN0XSBOZXR3b3JrIGZhaWxlZCwgdHJ5aW5nIGNhY2hlOiIsYSk7bGV0IHI9YXdhaXQgZS5jYWNoZVN0b3JlLmdldChlLmNhY2hlS2V5KTtpZihyKXJldHVybntyZXNwb25zZTplLmNhY2hlU3RvcmUucmVzcG9uc2VGcm9tQ2FjaGVFbnRyeShyKSxmcm9tQ2FjaGU6ITAscmV2YWxpZGF0ZWQ6ITF9O3Rocm93IGF9fWFzeW5jIGNhY2hlUmVzcG9uc2UoZSxhKXtsZXQgcj1wMihhLmhlYWRlcnMpO2lmKHIubm9TdG9yZSlyZXR1cm47bGV0IHM9YXdhaXQgZS5jYWNoZVN0b3JlLmNhY2hlRW50cnlGcm9tUmVzcG9uc2UoZS5yZXF1ZXN0LnVybCxhLHIpO2F3YWl0IGUuY2FjaGVTdG9yZS5zZXQoZS5jYWNoZUtleSxzKX19LGJhZT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJDYWNoZUZpcnN0U3RyYXRlZ3kiKX1hc3luYyBleGVjdXRlKGUpe2xldCBhPWF3YWl0IGUuY2FjaGVTdG9yZS5nZXQoZS5jYWNoZUtleSk7aWYoYSl7bGV0IG49cDIobmV3IEhlYWRlcnMoYS5oZWFkZXJzKSk7aWYoT3UoYSxuKSlyZXR1cm4gZS5sb2dnaW5nJiZjb25zb2xlLmxvZygiW3dlYnJlcXVlc3RdIENhY2hlIGhpdCAoZnJlc2gpOiIsZS5yZXF1ZXN0LnVybCkse3Jlc3BvbnNlOmUuY2FjaGVTdG9yZS5yZXNwb25zZUZyb21DYWNoZUVudHJ5KGEpLGZyb21DYWNoZTohMCxyZXZhbGlkYXRlZDohMX07aWYoQnUobikmJihhLmV0YWd8fGEubGFzdE1vZGlmaWVkKSlyZXR1cm4gYXdhaXQgdGhpcy5yZXZhbGlkYXRlKGUsYSl9ZS5sb2dnaW5nJiZjb25zb2xlLmxvZygiW3dlYnJlcXVlc3RdIENhY2hlIG1pc3MsIGZldGNoaW5nOiIsZS5yZXF1ZXN0LnVybCk7bGV0IHI9YXdhaXQgZS5mZXRjaEZuKGUucmVxdWVzdCkscz1wMihyLmhlYWRlcnMpO2lmKCFzLm5vU3RvcmUpe2xldCBuPWF3YWl0IGUuY2FjaGVTdG9yZS5jYWNoZUVudHJ5RnJvbVJlc3BvbnNlKGUucmVxdWVzdC51cmwscixzKTthd2FpdCBlLmNhY2hlU3RvcmUuc2V0KGUuY2FjaGVLZXksbil9cmV0dXJue3Jlc3BvbnNlOnIsZnJvbUNhY2hlOiExLHJldmFsaWRhdGVkOiExfX1hc3luYyByZXZhbGlkYXRlKGUsYSl7bGV0IHI9WmooYSkscz1uZXcgUmVxdWVzdChlLnJlcXVlc3QudXJsLHttZXRob2Q6ZS5yZXF1ZXN0Lm1ldGhvZCxoZWFkZXJzOnsuLi5YaihlLnJlcXVlc3QuaGVhZGVycyksLi4ucn19KTt0cnl7bGV0IG49YXdhaXQgZS5mZXRjaEZuKHMpO2lmKG4uc3RhdHVzPT09MzA0KXJldHVybiBlLmxvZ2dpbmcmJmNvbnNvbGUubG9nKCJbd2VicmVxdWVzdF0gQ2FjaGUgcmV2YWxpZGF0ZWQgKDMwNCk6IixlLnJlcXVlc3QudXJsKSxhLnRpbWVzdGFtcD1EYXRlLm5vdygpLGF3YWl0IGUuY2FjaGVTdG9yZS5zZXQoZS5jYWNoZUtleSxhKSx7cmVzcG9uc2U6ZS5jYWNoZVN0b3JlLnJlc3BvbnNlRnJvbUNhY2hlRW50cnkoYSksZnJvbUNhY2hlOiEwLHJldmFsaWRhdGVkOiEwfTtpZihuLm9rKXtsZXQgbz1wMihuLmhlYWRlcnMpO2lmKCFvLm5vU3RvcmUpe2xldCBsPWF3YWl0IGUuY2FjaGVTdG9yZS5jYWNoZUVudHJ5RnJvbVJlc3BvbnNlKGUucmVxdWVzdC51cmwsbixvKTthd2FpdCBlLmNhY2hlU3RvcmUuc2V0KGUuY2FjaGVLZXksbCl9fXJldHVybntyZXNwb25zZTpuLGZyb21DYWNoZTohMSxyZXZhbGlkYXRlZDohMH19Y2F0Y2gobil7cmV0dXJuIGUubG9nZ2luZyYmY29uc29sZS5sb2coIlt3ZWJyZXF1ZXN0XSBSZXZhbGlkYXRpb24gZmFpbGVkLCB1c2luZyBjYWNoZToiLG4pLHtyZXNwb25zZTplLmNhY2hlU3RvcmUucmVzcG9uc2VGcm9tQ2FjaGVFbnRyeShhKSxmcm9tQ2FjaGU6ITAscmV2YWxpZGF0ZWQ6ITF9fX19LHZhZT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJTdGFsZVdoaWxlUmV2YWxpZGF0ZVN0cmF0ZWd5Iil9YXN5bmMgZXhlY3V0ZShlKXtsZXQgYT1hd2FpdCBlLmNhY2hlU3RvcmUuZ2V0KGUuY2FjaGVLZXkpO2lmKGEpe2xldCBuPWUuY2FjaGVTdG9yZS5yZXNwb25zZUZyb21DYWNoZUVudHJ5KGEpO3JldHVybiB0aGlzLnJldmFsaWRhdGVJbkJhY2tncm91bmQoZSxhKS5jYXRjaChvPT57ZS5sb2dnaW5nJiZjb25zb2xlLndhcm4oIlt3ZWJyZXF1ZXN0XSBCYWNrZ3JvdW5kIHJldmFsaWRhdGlvbiBmYWlsZWQ6IixvKX0pLHtyZXNwb25zZTpuLGZyb21DYWNoZTohMCxyZXZhbGlkYXRlZDohMX19bGV0IHI9YXdhaXQgZS5mZXRjaEZuKGUucmVxdWVzdCkscz1wMihyLmhlYWRlcnMpO2lmKCFzLm5vU3RvcmUmJnIub2spe2xldCBuPWF3YWl0IGUuY2FjaGVTdG9yZS5jYWNoZUVudHJ5RnJvbVJlc3BvbnNlKGUucmVxdWVzdC51cmwscixzKTthd2FpdCBlLmNhY2hlU3RvcmUuc2V0KGUuY2FjaGVLZXksbil9cmV0dXJue3Jlc3BvbnNlOnIsZnJvbUNhY2hlOiExLHJldmFsaWRhdGVkOiExfX1hc3luYyByZXZhbGlkYXRlSW5CYWNrZ3JvdW5kKGUsYSl7bGV0IHI9cDIobmV3IEhlYWRlcnMoYS5oZWFkZXJzKSk7aWYoIShPdShhLHIpJiYhQnUocikpKXRyeXtsZXQgcz1hd2FpdCBlLmZldGNoRm4oZS5yZXF1ZXN0KTtpZihzLm9rKXtsZXQgbj1wMihzLmhlYWRlcnMpO2lmKCFuLm5vU3RvcmUpe2xldCBvPWF3YWl0IGUuY2FjaGVTdG9yZS5jYWNoZUVudHJ5RnJvbVJlc3BvbnNlKGUucmVxdWVzdC51cmwscyxuKTthd2FpdCBlLmNhY2hlU3RvcmUuc2V0KGUuY2FjaGVLZXksbyksZS5sb2dnaW5nJiZjb25zb2xlLmxvZygiW3dlYnJlcXVlc3RdIEJhY2tncm91bmQgcmV2YWxpZGF0aW9uIGNvbXBsZXRlOiIsZS5yZXF1ZXN0LnVybCl9fX1jYXRjaChzKXtlLmxvZ2dpbmcmJmNvbnNvbGUud2FybigiW3dlYnJlcXVlc3RdIEJhY2tncm91bmQgcmV2YWxpZGF0aW9uIGZhaWxlZDoiLHMpfX19LHhhZT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJOZXR3b3JrT25seVN0cmF0ZWd5Iil9YXN5bmMgZXhlY3V0ZShlKXtyZXR1cm57cmVzcG9uc2U6YXdhaXQgZS5mZXRjaEZuKGUucmVxdWVzdCksZnJvbUNhY2hlOiExLHJldmFsaWRhdGVkOiExfX19LHlhZT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJDYWNoZU9ubHlTdHJhdGVneSIpfWFzeW5jIGV4ZWN1dGUoZSl7bGV0IGE9YXdhaXQgZS5jYWNoZVN0b3JlLmdldChlLmNhY2hlS2V5KTtpZighYSl0aHJvdyBuZXcgRXJyb3IoYENhY2hlIG1pc3MgZm9yICR7ZS5yZXF1ZXN0LnVybH0gKGNhY2hlLW9ubHkgbW9kZSlgKTtyZXR1cm57cmVzcG9uc2U6ZS5jYWNoZVN0b3JlLnJlc3BvbnNlRnJvbUNhY2hlRW50cnkoYSksZnJvbUNhY2hlOiEwLHJldmFsaWRhdGVkOiExfX19O2koS2V0LCJnZXRTdHJhdGVneUhhbmRsZXIiKX0pO3ZhciBxNSx3YWU9YygoKT0+e1lqKCk7UWV0KCk7S2ooKTtxNT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJDYWNoZU1hbmFnZXIiKX1jb25zdHJ1Y3RvcihlLGEpe3RoaXMuY2FjaGVTdG9yZT1uZXcgSDUoZSxhKX1hc3luYyBleGVjdXRlKGUsYSxyKXtsZXQgcz10aGlzLmRldGVybWluZVN0cmF0ZWd5KGUsYSk7aWYocz09PSJuZXR3b3JrLW9ubHkiKXJldHVybntyZXNwb25zZTphd2FpdCByKGUpLGZyb21DYWNoZTohMSxyZXZhbGlkYXRlZDohMX07bGV0IG49dGhpcy5nZW5lcmF0ZUNhY2hlS2V5KGUsYSksbz1LZXQocyksbD17cmVxdWVzdDplLGNhY2hlS2V5Om4sY2FjaGVTdG9yZTp0aGlzLmNhY2hlU3RvcmUsZmV0Y2hGbjpyLGxvZ2dpbmc6YS5sb2dnaW5nfTtyZXR1cm4gYXdhaXQgby5leGVjdXRlKGwpfWRldGVybWluZVN0cmF0ZWd5KGUsYSl7cmV0dXJuIGEuY2FjaGVTdHJhdGVneT9hLmNhY2hlU3RyYXRlZ3k6YS5jYWNoZT90aGlzLm1hcENhY2hlTW9kZVRvU3RyYXRlZ3koYS5jYWNoZSk6ZS5jYWNoZT90aGlzLm1hcENhY2hlTW9kZVRvU3RyYXRlZ3koZS5jYWNoZSk6Im5ldHdvcmstZmlyc3QifW1hcENhY2hlTW9kZVRvU3RyYXRlZ3koZSl7c3dpdGNoKGUpe2Nhc2UiZGVmYXVsdCI6cmV0dXJuIm5ldHdvcmstZmlyc3QiO2Nhc2Uibm8tc3RvcmUiOmNhc2UicmVsb2FkIjpyZXR1cm4ibmV0d29yay1vbmx5IjtjYXNlIm5vLWNhY2hlIjpyZXR1cm4ibmV0d29yay1maXJzdCI7Y2FzZSJmb3JjZS1jYWNoZSI6cmV0dXJuImNhY2hlLWZpcnN0IjtjYXNlIm9ubHktaWYtY2FjaGVkIjpyZXR1cm4iY2FjaGUtb25seSI7ZGVmYXVsdDpyZXR1cm4ibmV0d29yay1maXJzdCJ9fWdlbmVyYXRlQ2FjaGVLZXkoZSxhKXtyZXR1cm4gYS5jYWNoZUtleT90eXBlb2YgYS5jYWNoZUtleT09ImZ1bmN0aW9uIj9hLmNhY2hlS2V5KGUpOmEuY2FjaGVLZXk6dGhpcy5jYWNoZVN0b3JlLmdlbmVyYXRlQ2FjaGVLZXkoZSl9YXN5bmMgY2xlYXIoKXthd2FpdCB0aGlzLmNhY2hlU3RvcmUuY2xlYXIoKX1hc3luYyBkZWxldGUoZSl7YXdhaXQgdGhpcy5jYWNoZVN0b3JlLmRlbGV0ZShlKX1hc3luYyBoYXMoZSl7cmV0dXJuIGF3YWl0IHRoaXMuY2FjaGVTdG9yZS5oYXMoZSl9Z2V0U3RvcmUoKXtyZXR1cm4gdGhpcy5jYWNoZVN0b3JlfX19KTtmdW5jdGlvbiBKZXQodCl7c3dpdGNoKHQpe2Nhc2UiZXhwb25lbnRpYWwiOnJldHVybiBuZXcgSmo7Y2FzZSJsaW5lYXIiOnJldHVybiBuZXcgTWFlO2Nhc2UiY29uc3RhbnQiOnJldHVybiBuZXcga2FlO2RlZmF1bHQ6cmV0dXJuIG5ldyBKan19ZnVuY3Rpb24gZXR0KHQsZT0uMSl7bGV0IGE9dCplKk1hdGgucmFuZG9tKCk7cmV0dXJuIHQrYX12YXIgSmosTWFlLGthZSx0dHQ9YygoKT0+e0pqPWNsYXNze3N0YXRpY3tpKHRoaXMsIkV4cG9uZW50aWFsQmFja29mZiIpfWNhbGN1bGF0ZShlLGEscil7bGV0IHM9YSpNYXRoLnBvdygyLGUtMSk7cmV0dXJuIE1hdGgubWluKHMscil9fSxNYWU9Y2xhc3N7c3RhdGlje2kodGhpcywiTGluZWFyQmFja29mZiIpfWNhbGN1bGF0ZShlLGEscil7bGV0IHM9YSplO3JldHVybiBNYXRoLm1pbihzLHIpfX0sa2FlPWNsYXNze3N0YXRpY3tpKHRoaXMsIkNvbnN0YW50QmFja29mZiIpfWNhbGN1bGF0ZShlLGEscil7cmV0dXJuIE1hdGgubWluKGEscil9fTtpKEpldCwiZ2V0QmFja29mZkNhbGN1bGF0b3IiKTtpKGV0dCwiYWRkSml0dGVyIil9KTt2YXIgVjUsemFlPWMoKCk9PntGdSgpO3R0dCgpO1Y1PWNsYXNze3N0YXRpY3tpKHRoaXMsIlJldHJ5TWFuYWdlciIpfWNvbnN0cnVjdG9yKGU9e30pe3RoaXMub3B0aW9ucz17bWF4QXR0ZW1wdHM6ZS5tYXhBdHRlbXB0cz8/MyxiYWNrb2ZmOmUuYmFja29mZj8/ImV4cG9uZW50aWFsIixpbml0aWFsRGVsYXk6ZS5pbml0aWFsRGVsYXk/PzFlMyxtYXhEZWxheTplLm1heERlbGF5Pz8zZTQscmV0cnlPbjplLnJldHJ5T24/P1s0MDgsNDI5LDUwMCw1MDIsNTAzLDUwNF0sb25SZXRyeTplLm9uUmV0cnk/PygoKT0+e30pfX1hc3luYyBleGVjdXRlKGUsYSl7bGV0IHIscztmb3IobGV0IG49MTtuPD10aGlzLm9wdGlvbnMubWF4QXR0ZW1wdHM7bisrKXRyeXtsZXQgbz1hd2FpdCBlKCk7aWYobyBpbnN0YW5jZW9mIFJlc3BvbnNlJiZ0aGlzLnNob3VsZFJldHJ5UmVzcG9uc2Uobykpe2lmKHM9byxuPT09dGhpcy5vcHRpb25zLm1heEF0dGVtcHRzKXJldHVybiBvO2xldCBsPXRoaXMuY2FsY3VsYXRlRGVsYXkobik7dGhpcy5vcHRpb25zLm9uUmV0cnkobixuZXcgRXJyb3IoYEhUVFAgJHtvLnN0YXR1c31gKSxsKSxhd2FpdCB0aGlzLmRlbGF5KGwpO2NvbnRpbnVlfXJldHVybiBvfWNhdGNoKG8pe3I9byBpbnN0YW5jZW9mIEVycm9yP286bmV3IEVycm9yKFN0cmluZyhvKSk7bGV0IGw9YT9hKG8sbik6dGhpcy5zaG91bGRSZXRyeUVycm9yKG8pO2lmKG49PT10aGlzLm9wdGlvbnMubWF4QXR0ZW1wdHN8fCFsKXRocm93IHI7bGV0IGg9dGhpcy5jYWxjdWxhdGVEZWxheShuKTt0aGlzLm9wdGlvbnMub25SZXRyeShuLHIsaCksYXdhaXQgdGhpcy5kZWxheShoKX10aHJvdyByfHxuZXcgRXJyb3IoIk1heCByZXRyeSBhdHRlbXB0cyByZWFjaGVkIil9YXN5bmMgZXhlY3V0ZVdpdGhGYWxsYmFja3MoZSxhLHIpe2lmKGUubGVuZ3RoPT09MCl0aHJvdyBuZXcgRXJyb3IoIk5vIFVSTHMgcHJvdmlkZWQgZm9yIGZhbGxiYWNrIGV4ZWN1dGlvbiIpO2xldCBzLG49W107Zm9yKGxldCBvIG9mIGUpdHJ5e2xldCBsPWF3YWl0IHRoaXMuZXhlY3V0ZShhc3luYygpPT5hd2FpdCByKG8sYSkpO2lmKGwuc3RhdHVzPDQwMHx8bC5zdGF0dXM+PTQwMCYmbC5zdGF0dXM8NTAwJiZsLnN0YXR1cyE9PTQwOClyZXR1cm4gbDtuLnB1c2gobykscz1uZXcgRXJyb3IoYFJlcXVlc3QgZmFpbGVkIHdpdGggc3RhdHVzICR7bC5zdGF0dXN9YCl9Y2F0Y2gobCl7bi5wdXNoKG8pLHM9bCBpbnN0YW5jZW9mIEVycm9yP2w6bmV3IEVycm9yKFN0cmluZyhsKSl9dGhyb3cgbmV3IEVycm9yKGBBbGwgVVJMcyBmYWlsZWQ6ICR7bi5qb2luKCIsICIpfS4gTGFzdCBlcnJvcjogJHtzPy5tZXNzYWdlfHwiVW5rbm93biBlcnJvciJ9YCl9c2hvdWxkUmV0cnlSZXNwb25zZShlKXtsZXQgYT10aGlzLm9wdGlvbnMucmV0cnlPbjtyZXR1cm4gdHlwZW9mIGE9PSJmdW5jdGlvbiI/YShlKTpBcnJheS5pc0FycmF5KGEpP2EuaW5jbHVkZXMoZS5zdGF0dXMpOiExfXNob3VsZFJldHJ5RXJyb3IoZSl7aWYoZSBpbnN0YW5jZW9mIFR5cGVFcnJvciYmZS5tZXNzYWdlLmluY2x1ZGVzKCJmZXRjaCIpfHxlLm5hbWU9PT0iQWJvcnRFcnJvciJ8fGUubWVzc2FnZS5pbmNsdWRlcygidGltZW91dCIpKXJldHVybiEwO2xldCBhPXRoaXMub3B0aW9ucy5yZXRyeU9uO3JldHVybiB0eXBlb2YgYT09ImZ1bmN0aW9uIj9hKHZvaWQgMCxlKTohMX1jYWxjdWxhdGVEZWxheShlKXtsZXQgcj1KZXQodGhpcy5vcHRpb25zLmJhY2tvZmYpLmNhbGN1bGF0ZShlLHRoaXMub3B0aW9ucy5pbml0aWFsRGVsYXksdGhpcy5vcHRpb25zLm1heERlbGF5KTtyZXR1cm4gZXR0KHIpfWFzeW5jIGRlbGF5KGUpe2F3YWl0IFN0LmRlbGF5Rm9yKGUpfX19KTt2YXIgajUsU2FlPWMoKCk9PntGdSgpO2o1PWNsYXNze3N0YXRpY3tpKHRoaXMsIlJlcXVlc3REZWR1cGxpY2F0b3IiKX1jb25zdHJ1Y3Rvcigpe3RoaXMuaW5GbGlnaHRSZXF1ZXN0cz1uZXcgTWFwfWdlbmVyYXRlS2V5KGUpe2xldCBhPWUudXJsLHI9ZS5tZXRob2Q7cmV0dXJuIHI9PT0iR0VUInx8cj09PSJIRUFEIj9gJHtyfToke2F9YDpgJHtyfToke2F9OiR7RGF0ZS5ub3coKX1gfWFzeW5jIGV4ZWN1dGUoZSxhKXtsZXQgcj10aGlzLmluRmxpZ2h0UmVxdWVzdHMuZ2V0KGUpO2lmKHIpcmV0dXJue3Jlc3BvbnNlOihhd2FpdCByLnByb21pc2UpLmNsb25lKCksd2FzRGVkdXBsaWNhdGVkOiEwfTtsZXQgcz1KZS5kZWZlcigpO3RoaXMuaW5GbGlnaHRSZXF1ZXN0cy5zZXQoZSxzKTt0cnl7bGV0IG49YXdhaXQgYSgpO3JldHVybiBzLnJlc29sdmUobiksdGhpcy5pbkZsaWdodFJlcXVlc3RzLmRlbGV0ZShlKSx7cmVzcG9uc2U6bix3YXNEZWR1cGxpY2F0ZWQ6ITF9fWNhdGNoKG4pe3Rocm93IHMucmVqZWN0KG4pLHRoaXMuaW5GbGlnaHRSZXF1ZXN0cy5kZWxldGUoZSksbn19aXNJbkZsaWdodChlKXtyZXR1cm4gdGhpcy5pbkZsaWdodFJlcXVlc3RzLmhhcyhlKX1nZXRJbkZsaWdodENvdW50KCl7cmV0dXJuIHRoaXMuaW5GbGlnaHRSZXF1ZXN0cy5zaXplfWNsZWFyKCl7dGhpcy5pbkZsaWdodFJlcXVlc3RzLmNsZWFyKCl9fX0pO2Z1bmN0aW9uIFA0YSh0KXtsZXQgZT1uZXcgQWJvcnRDb250cm9sbGVyLGE9bmV3IFN0LlRpbWVvdXQodCxudWxsKTtyZXR1cm4gYS5wcm9taXNlLnRoZW4oKCk9PntlLmFib3J0KCl9KSx7Y29udHJvbGxlcjplLGNsZWFudXA6aSgoKT0+e2EuY2FuY2VsKCl9LCJjbGVhbnVwIil9fWFzeW5jIGZ1bmN0aW9uIENhZSh0LGUsYSl7bGV0e2NvbnRyb2xsZXI6cixjbGVhbnVwOnN9PVA0YShhKTt0cnl7bGV0IG49YXdhaXQgZmV0Y2godCx7Li4uZSxzaWduYWw6ci5zaWduYWx9KTtyZXR1cm4gcygpLG59Y2F0Y2gobil7dGhyb3cgcygpLG4gaW5zdGFuY2VvZiBFcnJvciYmbi5uYW1lPT09IkFib3J0RXJyb3IiP25ldyBFcnJvcihgUmVxdWVzdCB0aW1lb3V0IGFmdGVyICR7YX1tczogJHt0fWApOm59fXZhciBhdHQ9YygoKT0+e0Z1KCk7aShQNGEsImNyZWF0ZVRpbWVvdXRDb250cm9sbGVyIik7aShDYWUsImZldGNoV2l0aFRpbWVvdXQiKX0pO3ZhciBpMCxfYWU9YygoKT0+e1N0ZSgpO3dhZSgpO3phZSgpO1NhZSgpO2F0dCgpO2kwPWNsYXNze3N0YXRpY3tpKHRoaXMsIldlYnJlcXVlc3RDbGllbnQiKX1jb25zdHJ1Y3RvcihlPXt9KXt0aGlzLmRlZmF1bHRPcHRpb25zPWUsdGhpcy5pbnRlcmNlcHRvck1hbmFnZXI9bmV3IEU1LHRoaXMuY2FjaGVNYW5hZ2VyPW5ldyBxNSx0aGlzLmRlZHVwbGljYXRvcj1uZXcgajV9YWRkUmVxdWVzdEludGVyY2VwdG9yKGUpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLmFkZFJlcXVlc3RJbnRlcmNlcHRvcihlKX1hZGRSZXNwb25zZUludGVyY2VwdG9yKGUpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLmFkZFJlc3BvbnNlSW50ZXJjZXB0b3IoZSl9YWRkRXJyb3JJbnRlcmNlcHRvcihlKXt0aGlzLmludGVyY2VwdG9yTWFuYWdlci5hZGRFcnJvckludGVyY2VwdG9yKGUpfXJlbW92ZVJlcXVlc3RJbnRlcmNlcHRvcihlKXt0aGlzLmludGVyY2VwdG9yTWFuYWdlci5yZW1vdmVSZXF1ZXN0SW50ZXJjZXB0b3IoZSl9cmVtb3ZlUmVzcG9uc2VJbnRlcmNlcHRvcihlKXt0aGlzLmludGVyY2VwdG9yTWFuYWdlci5yZW1vdmVSZXNwb25zZUludGVyY2VwdG9yKGUpfXJlbW92ZUVycm9ySW50ZXJjZXB0b3IoZSl7dGhpcy5pbnRlcmNlcHRvck1hbmFnZXIucmVtb3ZlRXJyb3JJbnRlcmNlcHRvcihlKX1jbGVhckludGVyY2VwdG9ycygpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLmNsZWFyQWxsKCl9YXN5bmMgY2xlYXJDYWNoZSgpe2F3YWl0IHRoaXMuY2FjaGVNYW5hZ2VyLmNsZWFyKCl9YXN5bmMgcmVxdWVzdChlLGE9e30pe2xldCByPXsuLi50aGlzLmRlZmF1bHRPcHRpb25zLC4uLmF9LHM7aWYodHlwZW9mIGU9PSJzdHJpbmciP3M9bmV3IFJlcXVlc3QoZSxyKTpzPWUscz1hd2FpdCB0aGlzLmludGVyY2VwdG9yTWFuYWdlci5wcm9jZXNzUmVxdWVzdChzKSxyLmludGVyY2VwdG9ycz8ucmVxdWVzdClmb3IobGV0IG8gb2Ygci5pbnRlcmNlcHRvcnMucmVxdWVzdClzPWF3YWl0IG8ocyk7aWYoci5kZWR1cGxpY2F0ZT8/ITEpe2xldCBvPXRoaXMuZGVkdXBsaWNhdG9yLmdlbmVyYXRlS2V5KHMpO3JldHVybihhd2FpdCB0aGlzLmRlZHVwbGljYXRvci5leGVjdXRlKG8sYXN5bmMoKT0+YXdhaXQgdGhpcy5leGVjdXRlUmVxdWVzdChzLHIpKSkucmVzcG9uc2V9cmV0dXJuIGF3YWl0IHRoaXMuZXhlY3V0ZVJlcXVlc3QocyxyKX1hc3luYyBleGVjdXRlUmVxdWVzdChlLGEpe3RyeXtsZXQgcj10eXBlb2YgYS5yZXRyeT09Im9iamVjdCI/YS5yZXRyeTphLnJldHJ5P3t9OnZvaWQgMCxzPWkoYXN5bmMgbD0+e2xldCBoPWEudGltZW91dD8/NmU0O3JldHVybiBhd2FpdCBDYWUobC51cmwse21ldGhvZDpsLm1ldGhvZCxoZWFkZXJzOmwuaGVhZGVycyxib2R5OmwuYm9keSwuLi5hfSxoKX0sImZldGNoRm5Gb3JSZXF1ZXN0Iiksbj1pKGFzeW5jKGwsaCk9PntsZXQgdT1hLnRpbWVvdXQ/PzZlNDtyZXR1cm4gYXdhaXQgQ2FlKGwsaCx1KX0sImZldGNoRm5Gb3JGYWxsYmFja3MiKSxvO2lmKHIpe2xldCBsPW5ldyBWNShyKTtpZihhLmZhbGxiYWNrVXJscyYmYS5mYWxsYmFja1VybHMubGVuZ3RoPjApe2xldCBoPVtlLnVybCwuLi5hLmZhbGxiYWNrVXJsc107bz1hd2FpdCBsLmV4ZWN1dGVXaXRoRmFsbGJhY2tzKGgse21ldGhvZDplLm1ldGhvZCxoZWFkZXJzOmUuaGVhZGVycyxib2R5OmUuYm9keSwuLi5hfSxuKX1lbHNlIG89YXdhaXQgbC5leGVjdXRlKGFzeW5jKCk9Pihhd2FpdCB0aGlzLmNhY2hlTWFuYWdlci5leGVjdXRlKGUsYSxzKSkucmVzcG9uc2UpfWVsc2Ugbz0oYXdhaXQgdGhpcy5jYWNoZU1hbmFnZXIuZXhlY3V0ZShlLGEscykpLnJlc3BvbnNlO2lmKG89YXdhaXQgdGhpcy5pbnRlcmNlcHRvck1hbmFnZXIucHJvY2Vzc1Jlc3BvbnNlKG8pLGEuaW50ZXJjZXB0b3JzPy5yZXNwb25zZSlmb3IobGV0IGwgb2YgYS5pbnRlcmNlcHRvcnMucmVzcG9uc2Upbz1hd2FpdCBsKG8pO3JldHVybiBvfWNhdGNoKHIpe3Rocm93IGF3YWl0IHRoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3NFcnJvcihyIGluc3RhbmNlb2YgRXJyb3I/cjpuZXcgRXJyb3IoU3RyaW5nKHIpKSl9fWFzeW5jIGdldEpzb24oZSxhPXt9KXtsZXQgcj1hd2FpdCB0aGlzLnJlcXVlc3QoZSx7Li4uYSxtZXRob2Q6IkdFVCIsaGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIiwuLi5hLmhlYWRlcnN8fHt9fX0pO2lmKCFyLm9rKXRocm93IG5ldyBFcnJvcihgSFRUUCAke3Iuc3RhdHVzfTogJHtyLnN0YXR1c1RleHR9YCk7cmV0dXJuIGF3YWl0IHIuanNvbigpfWFzeW5jIHBvc3RKc29uKGUsYSxyPXt9KXtsZXQgcz1hd2FpdCB0aGlzLnJlcXVlc3QoZSx7Li4ucixtZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIixBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24iLC4uLnIuaGVhZGVyc3x8e319LGJvZHk6SlNPTi5zdHJpbmdpZnkoYSl9KTtpZighcy5vayl0aHJvdyBuZXcgRXJyb3IoYEhUVFAgJHtzLnN0YXR1c306ICR7cy5zdGF0dXNUZXh0fWApO3JldHVybiBhd2FpdCBzLmpzb24oKX1hc3luYyBwdXRKc29uKGUsYSxyPXt9KXtsZXQgcz1hd2FpdCB0aGlzLnJlcXVlc3QoZSx7Li4ucixtZXRob2Q6IlBVVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24iLEFjY2VwdDoiYXBwbGljYXRpb24vanNvbiIsLi4uci5oZWFkZXJzfHx7fX0sYm9keTpKU09OLnN0cmluZ2lmeShhKX0pO2lmKCFzLm9rKXRocm93IG5ldyBFcnJvcihgSFRUUCAke3Muc3RhdHVzfTogJHtzLnN0YXR1c1RleHR9YCk7cmV0dXJuIGF3YWl0IHMuanNvbigpfWFzeW5jIGRlbGV0ZUpzb24oZSxhPXt9KXtsZXQgcj1hd2FpdCB0aGlzLnJlcXVlc3QoZSx7Li4uYSxtZXRob2Q6IkRFTEVURSIsaGVhZGVyczp7QWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIiwuLi5hLmhlYWRlcnN8fHt9fX0pO2lmKCFyLm9rKXRocm93IG5ldyBFcnJvcihgSFRUUCAke3Iuc3RhdHVzfTogJHtyLnN0YXR1c1RleHR9YCk7cmV0dXJuIGF3YWl0IHIuanNvbigpfX19KTthc3luYyBmdW5jdGlvbiBmaSh0LGUpe2xldCBhPXQgaW5zdGFuY2VvZiBSZXF1ZXN0P3QudXJsOlN0cmluZyh0KSxyPXQgaW5zdGFuY2VvZiBSZXF1ZXN0P3Q6bmV3IFJlcXVlc3QoYSxlKTtyZXR1cm4gYXdhaXQgaHMucmVxdWVzdChyLGUpfXZhciBocyxydHQ9YygoKT0+e19hZSgpO2hzPW5ldyBpMDtpKGZpLCJ3ZWJyZXF1ZXN0IiksZmkuZ2V0SnNvbj1hc3luYyBmdW5jdGlvbih0LGUpe3JldHVybiBhd2FpdCBocy5nZXRKc29uKHQsZSl9LGZpLnBvc3RKc29uPWFzeW5jIGZ1bmN0aW9uKHQsZSxhKXtyZXR1cm4gYXdhaXQgaHMucG9zdEpzb24odCxlLGEpfSxmaS5wdXRKc29uPWFzeW5jIGZ1bmN0aW9uKHQsZSxhKXtyZXR1cm4gYXdhaXQgaHMucHV0SnNvbih0LGUsYSl9LGZpLmRlbGV0ZUpzb249YXN5bmMgZnVuY3Rpb24odCxlKXtyZXR1cm4gYXdhaXQgaHMuZGVsZXRlSnNvbih0LGUpfSxmaS5hZGRSZXF1ZXN0SW50ZXJjZXB0b3I9ZnVuY3Rpb24odCl7aHMuYWRkUmVxdWVzdEludGVyY2VwdG9yKHQpfSxmaS5hZGRSZXNwb25zZUludGVyY2VwdG9yPWZ1bmN0aW9uKHQpe2hzLmFkZFJlc3BvbnNlSW50ZXJjZXB0b3IodCl9LGZpLmFkZEVycm9ySW50ZXJjZXB0b3I9ZnVuY3Rpb24odCl7aHMuYWRkRXJyb3JJbnRlcmNlcHRvcih0KX0sZmkuY2xlYXJJbnRlcmNlcHRvcnM9ZnVuY3Rpb24oKXtocy5jbGVhckludGVyY2VwdG9ycygpfSxmaS5jbGVhckNhY2hlPWFzeW5jIGZ1bmN0aW9uKCl7YXdhaXQgaHMuY2xlYXJDYWNoZSgpfSxmaS5jcmVhdGVDbGllbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBpMCh0KX0sZmkuZ2V0RGVmYXVsdENsaWVudD1mdW5jdGlvbigpe3JldHVybiBoc319KTt2YXIgczA9e307ZXQoczAse0NhY2hlTWFuYWdlcjooKT0+cTUsQ2FjaGVTdG9yZTooKT0+SDUsSW50ZXJjZXB0b3JNYW5hZ2VyOigpPT5FNSxSZXF1ZXN0RGVkdXBsaWNhdG9yOigpPT5qNSxSZXRyeU1hbmFnZXI6KCk9PlY1LFdlYnJlcXVlc3RDbGllbnQ6KCk9PmkwLGNyZWF0ZUNvbmRpdGlvbmFsSGVhZGVyczooKT0+WmosZXh0cmFjdENhY2hlTWV0YWRhdGE6KCk9PnAyLGhlYWRlcnNUb09iamVjdDooKT0+WGosaXNGcmVzaDooKT0+T3Usb2JqZWN0VG9IZWFkZXJzOigpPT5YZXQscmVxdWlyZXNSZXZhbGlkYXRpb246KCk9PkJ1LHdlYnJlcXVlc3Q6KCk9PmZpfSk7dmFyIFRhZT1jKCgpPT57cnR0KCk7X2FlKCk7d2FlKCk7WWooKTt6YWUoKTtTdGUoKTtTYWUoKTtLaigpfSk7dmFyIFBuLEVuPWMoKCk9PntpNSgpO1BuPVgxKG1IKCksMSk7eXUoKTt4SmUoKTtqMigpO3lKZSgpO2RyKCk7VGFlKCl9KTt2YXIgbXMsVTU9YygoKT0+e0VuKCk7bXM9Y2xhc3N7c3RhdGlje2kodGhpcywiVHlwZWRSZXNwb25zZUVycm9yIil9Y29uc3RydWN0b3IoZSxhKXt0aGlzLmVycm9yVGV4dD1lLHRoaXMuZXJyb3JEYXRhPWF9fX0pO3ZhciB0VSxpdHQ9YygoKT0+e1U1KCk7RW4oKTt0VT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJUeXBlZFRvb2xzIil9Y29uc3RydWN0b3IoKXt0aGlzLmxvY2FsRGF0YT17fX1hc3luYyBwYXNzR3VhcmRzKGUsYSl7bGV0IHI9bmV3ICR1Lkd1YXJkU2V0KGUpO2lmKCFhd2FpdCByLmFsbEd1YXJkc1Bhc3MoYSkpe2xldCBuPWF3YWl0IHIuZ2V0RmFpbGVkSGludChhKTt0aHJvdyBuZXcgbXMoYGd1YXJkIGZhaWxlZDogJHtufWAse2ZhaWxlZEhpbnQ6bn0pfX19fSk7dmFyIExhZSwkYWU9YygoKT0+e0VuKCk7VTUoKTtpdHQoKTtMYWU9Y2xhc3N7c3RhdGlje2kodGhpcywiVHlwZWRIYW5kbGVyIil9Y29uc3RydWN0b3IoZSxhKXt0aGlzLm1ldGhvZD1lLHRoaXMuaGFuZGxlckZ1bmN0aW9uPWF9YXN5bmMgYWRkUmVzcG9uc2UoZSl7aWYoZS5tZXRob2QhPT10aGlzLm1ldGhvZCl0aHJvdyBuZXcgRXJyb3IoInRoaXMgaGFuZGxlciBoYXMgYmVlbiBnaXZlbiBhIHdyb25nIG1ldGhvZCB0byBhbnN3ZXIgdG8uIFBsZWFzZSB1c2UgYSBUeXBlZFJvdXRlciB0byBmaWx0ZXIgcmVxdWVzdHMiKTtsZXQgYSxyPW5ldyB0VTtlLmxvY2FsRGF0YSYmKHIubG9jYWxEYXRhPWUubG9jYWxEYXRhKTtsZXQgcz1hd2FpdCB0aGlzLmhhbmRsZXJGdW5jdGlvbihlLnJlcXVlc3QscikuY2F0Y2gobj0+e24gaW5zdGFuY2VvZiBtcz9hPW46Y29uc29sZS5sb2cobil9KTtyZXR1cm4gYSYmKGUuZXJyb3I9e3RleHQ6YS5lcnJvclRleHQsZGF0YTphLmVycm9yRGF0YX0pLHMmJihlLnJlc3BvbnNlPXMpLGU/LmNvcnJlbGF0aW9uPy5waGFzZSYmKGUuY29ycmVsYXRpb24ucGhhc2U9InJlc3BvbnNlIiksZX19fSk7dmFyIG8wLEh1PWMoKCk9PntFbigpO2FVKCk7JGFlKCk7RGFlKCk7VTUoKTtvMD1jbGFzcyB0e3N0YXRpY3tpKHRoaXMsIlR5cGVkUm91dGVyIil9Y29uc3RydWN0b3IoKXt0aGlzLmhvb2tzPXt9LHRoaXMucm91dGVyTWFwPW5ldyBUMS5PYmplY3RNYXAsdGhpcy5oYW5kbGVyTWFwPW5ldyBUMS5PYmplY3RNYXAsdGhpcy5yZWdpc3RlcmVkVmlydHVhbFN0cmVhbXM9bmV3IFQxLk9iamVjdE1hcCx0aGlzLm1pZGRsZXdhcmVzPVtdLHRoaXMuZmlyZUV2ZW50SW50ZXJlc3RNYXA9bmV3IFQxLkludGVyZXN0TWFwKGU9PmUpfXN0YXRpYyBnZXQgZ2xvYmFsSG9va3MoKXtyZXR1cm4gZ2xvYmFsVGhpcy5fX3R5cGVkUm91dGVyR2xvYmFsSG9va3N8fChnbG9iYWxUaGlzLl9fdHlwZWRSb3V0ZXJHbG9iYWxIb29rcz17fSksZ2xvYmFsVGhpcy5fX3R5cGVkUm91dGVyR2xvYmFsSG9va3N9c3RhdGljIHNldCBnbG9iYWxIb29rcyhlKXtnbG9iYWxUaGlzLl9fdHlwZWRSb3V0ZXJHbG9iYWxIb29rcz1lfXN0YXRpYyBzZXRHbG9iYWxIb29rcyhlKXtsZXQgYT10Lmdsb2JhbEhvb2tzO3QuZ2xvYmFsSG9va3M9ey4uLmEsLi4uZX19c3RhdGljIGNsZWFyR2xvYmFsSG9va3MoKXtnbG9iYWxUaGlzLl9fdHlwZWRSb3V0ZXJHbG9iYWxIb29rcz17fX1zZXRIb29rcyhlKXt0aGlzLmhvb2tzPXsuLi50aGlzLmhvb2tzLC4uLmV9fWNhbGxIb29rKGUsYSl7dHJ5e3QuZ2xvYmFsSG9va3NbZV0/LihhKSx0aGlzLmhvb2tzW2VdPy4oYSl9Y2F0Y2gocil7Y29uc29sZS5lcnJvcihgVHlwZWRSb3V0ZXIgaG9vayBlcnJvciAoJHtlfSk6YCxyKX19YWRkTWlkZGxld2FyZShlKXt0aGlzLm1pZGRsZXdhcmVzLnB1c2goZSl9YWRkVHlwZWRIYW5kbGVyKGUpe2lmKHRoaXMuZ2V0VHlwZWRIYW5kbGVyRm9yTWV0aG9kKGUubWV0aG9kKSl0aHJvdyBuZXcgRXJyb3IoYGEgVHlwZWRIYW5kbGVyIGZvciAke2UubWV0aG9kfSBhbHJlZHkgZXhpc3RzISBDYW4ndCBhZGQgYW5vdGhlciBvbmUuYCk7dGhpcy5oYW5kbGVyTWFwLmFkZChlKX1hZGRUeXBlZFJvdXRlcihlKXt0aGlzLnJvdXRlck1hcC5maW5kU3luYyhyPT5yPT09ZSl8fCh0aGlzLnJvdXRlck1hcC5hZGQoZSksZS5hZGRUeXBlZFJvdXRlcih0aGlzKSl9Y2hlY2tGb3JUeXBlZEhhbmRsZXIoZSl7cmV0dXJuISF0aGlzLmdldFR5cGVkSGFuZGxlckZvck1ldGhvZChlKX1nZXRUeXBlZEhhbmRsZXJGb3JNZXRob2QoZSxhPVtdKXthLnB1c2godGhpcyk7bGV0IHI7cmV0dXJuIHI9dGhpcy5oYW5kbGVyTWFwLmZpbmRTeW5jKHM9PnMubWV0aG9kPT09ZSkscnx8dGhpcy5yb3V0ZXJNYXAuZ2V0QXJyYXkoKS5mb3JFYWNoKHM9PnshciYmIWEuaW5jbHVkZXMocykmJihyPXMuZ2V0VHlwZWRIYW5kbGVyRm9yTWV0aG9kKGUsYSkpfSkscn1nZXRUeXBlZEhhbmRsZXJBbmRSb3V0ZXIoZSxhPVtdKXthLnB1c2godGhpcyk7bGV0IHI9dGhpcy5oYW5kbGVyTWFwLmZpbmRTeW5jKHM9PnMubWV0aG9kPT09ZSk7aWYocilyZXR1cm57aGFuZGxlcjpyLHJvdXRlcjp0aGlzfTtmb3IobGV0IHMgb2YgdGhpcy5yb3V0ZXJNYXAuZ2V0QXJyYXkoKSlpZighYS5pbmNsdWRlcyhzKSl7bGV0IG49cy5nZXRUeXBlZEhhbmRsZXJBbmRSb3V0ZXIoZSxhKTtpZihuKXJldHVybiBufXJldHVybiBudWxsfXN0YXRpY3t0aGlzLmRlZmF1bHRSb3V0ZU9wdGlvbnM9e2xvY2FsUmVxdWVzdDohMSxza2lwSG9va3M6ITF9fWFzeW5jIHJvdXRlQW5kQWRkUmVzcG9uc2UoZSxhPXt9KXtsZXQgcj17Li4udC5kZWZhdWx0Um91dGVPcHRpb25zLC4uLmF9O2lmKGU9Z3MuZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKGUse3R5cGVkcm91dGVyOnRoaXN9KSxlLmxvY2FsRGF0YT1lLmxvY2FsRGF0YXx8e30sZS5sb2NhbERhdGEuZmlyc3RUeXBlZHJvdXRlcj10aGlzLGUubWV0aG9kPT09IiMjVmlydHVhbFN0cmVhbSMjIil7bGV0IHM9YXdhaXQgdGhpcy5oYW5kbGVTdHJlYW1UeXBlZFJlcXVlc3QoZSk7cmV0dXJuIHMubG9jYWxEYXRhPW51bGwsc31pZihlPy5jb3JyZWxhdGlvbj8ucGhhc2U9PT0icmVxdWVzdCJ8fHIubG9jYWxSZXF1ZXN0KXtsZXQgcz1EYXRlLm5vdygpO3Iuc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbkluY29taW5nUmVxdWVzdCIse2NvcnJlbGF0aW9uSWQ6ZS5jb3JyZWxhdGlvbj8uaWR8fCJ1bmtub3duIixtZXRob2Q6ZS5tZXRob2QsZGlyZWN0aW9uOiJpbmNvbWluZyIscGhhc2U6InJlcXVlc3QiLHRpbWVzdGFtcDpzLHBheWxvYWQ6ZS5yZXF1ZXN0fSk7bGV0IG49dGhpcy5nZXRUeXBlZEhhbmRsZXJBbmRSb3V0ZXIoZS5tZXRob2QpO2lmKCFuKXJldHVybiBjb25zb2xlLmxvZyhgQ2Fubm90IGZpbmQgaGFuZGxlciBmb3IgbWV0aG9kbmFtZSAke2UubWV0aG9kfWApLGUuZXJyb3I9e3RleHQ6IlRoZXJlIGlzIG5vIGF2YWlsYWJsZSBtZXRob2QgZm9yIHRoaXMgY2FsbCBvbiB0aGUgc2VydmVyIHNpZGUiLGRhdGE6e319LGUuY29ycmVsYXRpb24ucGhhc2U9InJlc3BvbnNlIixlLmxvY2FsRGF0YT1udWxsLGU9Z3MuZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsoZSx7dHlwZWRyb3V0ZXI6dGhpc30pLHIuc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbk91dGdvaW5nUmVzcG9uc2UiLHtjb3JyZWxhdGlvbklkOmUuY29ycmVsYXRpb24/LmlkfHwidW5rbm93biIsbWV0aG9kOmUubWV0aG9kLGRpcmVjdGlvbjoib3V0Z29pbmciLHBoYXNlOiJyZXNwb25zZSIsdGltZXN0YW1wOkRhdGUubm93KCksZHVyYXRpb25NczpEYXRlLm5vdygpLXMscGF5bG9hZDplLnJlc3BvbnNlLGVycm9yOmUuZXJyb3I/LnRleHR9KSxlO2xldHtoYW5kbGVyOm8scm91dGVyOmx9PW47aWYobC5taWRkbGV3YXJlcy5sZW5ndGg+MCl0cnl7Zm9yKGxldCBoIG9mIGwubWlkZGxld2FyZXMpYXdhaXQgaChlKX1jYXRjaChoKXtyZXR1cm4gaCBpbnN0YW5jZW9mIG1zP2UuZXJyb3I9e3RleHQ6aC5lcnJvclRleHQsZGF0YTpoLmVycm9yRGF0YXx8e319OmUuZXJyb3I9e3RleHQ6aC5tZXNzYWdlfHwiTWlkZGxld2FyZSBlcnJvciIsZGF0YTp7fX0sZS5jb3JyZWxhdGlvbi5waGFzZT0icmVzcG9uc2UiLGUubG9jYWxEYXRhPW51bGwsZT1ncy5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhlLHt0eXBlZHJvdXRlcjp0aGlzfSksci5za2lwSG9va3N8fHRoaXMuY2FsbEhvb2soIm9uT3V0Z29pbmdSZXNwb25zZSIse2NvcnJlbGF0aW9uSWQ6ZS5jb3JyZWxhdGlvbj8uaWR8fCJ1bmtub3duIixtZXRob2Q6ZS5tZXRob2QsZGlyZWN0aW9uOiJvdXRnb2luZyIscGhhc2U6InJlc3BvbnNlIix0aW1lc3RhbXA6RGF0ZS5ub3coKSxkdXJhdGlvbk1zOkRhdGUubm93KCktcyxwYXlsb2FkOmUucmVzcG9uc2UsZXJyb3I6ZS5lcnJvcj8udGV4dH0pLGV9cmV0dXJuIGU9YXdhaXQgby5hZGRSZXNwb25zZShlKSxlLmxvY2FsRGF0YT1udWxsLGU9Z3MuZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsoZSx7dHlwZWRyb3V0ZXI6dGhpc30pLHIuc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbk91dGdvaW5nUmVzcG9uc2UiLHtjb3JyZWxhdGlvbklkOmUuY29ycmVsYXRpb24/LmlkfHwidW5rbm93biIsbWV0aG9kOmUubWV0aG9kLGRpcmVjdGlvbjoib3V0Z29pbmciLHBoYXNlOiJyZXNwb25zZSIsdGltZXN0YW1wOkRhdGUubm93KCksZHVyYXRpb25NczpEYXRlLm5vdygpLXMscGF5bG9hZDplLnJlc3BvbnNlLGVycm9yOmUuZXJyb3I/LnRleHR9KSxlfWVsc2UgcmV0dXJuIGU/LmNvcnJlbGF0aW9uPy5waGFzZT09PSJyZXNwb25zZSI/KHIuc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbkluY29taW5nUmVzcG9uc2UiLHtjb3JyZWxhdGlvbklkOmUuY29ycmVsYXRpb24/LmlkfHwidW5rbm93biIsbWV0aG9kOmUubWV0aG9kLGRpcmVjdGlvbjoiaW5jb21pbmciLHBoYXNlOiJyZXNwb25zZSIsdGltZXN0YW1wOkRhdGUubm93KCkscGF5bG9hZDplLnJlc3BvbnNlLGVycm9yOmUuZXJyb3I/LnRleHR9KSx0aGlzLmZpcmVFdmVudEludGVyZXN0TWFwLmZpbmRJbnRlcmVzdChlLmNvcnJlbGF0aW9uLmlkKT8uZnVsbGZpbGxJbnRlcmVzdChlKSxudWxsKTooY29uc29sZS5sb2coInJlY2VpdmVkIHdlaXJkbHkgc2hhcGVkIHJlcXVlc3QiKSxjb25zb2xlLmxvZyhlKSxudWxsKX1hc3luYyBoYW5kbGVTdHJlYW1UeXBlZFJlcXVlc3QoZSl7bGV0IGE9YXdhaXQgdGhpcy5yZWdpc3RlcmVkVmlydHVhbFN0cmVhbXMuZmluZChhc3luYyBzPT5zLnN0cmVhbUlkPT09ZS5yZXF1ZXN0LnN0cmVhbUlkKTtpZihhKWNvbnNvbGUubG9nKGBzdWNjZXNzOiBmb3VuZCByZWxldmFudCB2aXJ0dWFsIHN0cmVhbSB3aXRoIGlkICR7ZS5yZXF1ZXN0LnN0cmVhbUlkfWApO2Vsc2UgcmV0dXJuIGNvbnNvbGUubG9nKGBubyByZWxldmFudCB2aXJ0dWFsIHN0cmVhbSBmb3VuZCBmb3Igc3RyZWFtIHdpdGggaWQgJHtlLnJlcXVlc3Quc3RyZWFtSWR9YCksY29uc29sZS5sb2codGhpcy5yZWdpc3RlcmVkVmlydHVhbFN0cmVhbXMuZ2V0QXJyYXkoKSksZTtyZXR1cm4gYXdhaXQgYS5oYW5kbGVTdHJlYW1UcihlKX19fSk7dmFyIHN0dCxncyxhVT1jKCgpPT57RW4oKTtIdSgpO3N0dD0iIyMjIyMjIyMjIyMjI0NMT1NJTkcgQklUIyMjIyMjIyMjIyMjIyIsZ3M9Y2xhc3MgdHtzdGF0aWN7aSh0aGlzLCJWaXJ0dWFsU3RyZWFtIil9c3RhdGljIGVuY29kZVBheWxvYWRGb3JOZXR3b3JrKGUsYSxyLHM9W10pe3JldHVybiFlfHxQNS5pc0J1ZmZlckxpa2UoZSk/ZTplIGluc3RhbmNlb2YgdD8oIWUuc2lkZSYmYS5zZW5kTWV0aG9kJiYoZS5zaWRlPSJyZXF1ZXN0aW5nIixlLnNlbmRNZXRob2Q9YS5zZW5kTWV0aG9kKSwhZS5zaWRlJiZhLnR5cGVkcm91dGVyJiYoZS5zaWRlPSJyZXNwb25kaW5nIixlLnR5cGVkcm91dGVyPWEudHlwZWRyb3V0ZXIsYS50eXBlZHJvdXRlci5yZWdpc3RlcmVkVmlydHVhbFN0cmVhbXMuYWRkKGUpKSwhci5yZXNwb25zZXx8cy5pbmNsdWRlcygicmVzcG9uc2UiKT8oZS5zdGFydEtlZXBBbGl2ZUxvb3AoKSx7X2lzVmlydHVhbFN0cmVhbTohMCxzdHJlYW1JZDplLnN0cmVhbUlkfSk6e19PQk1JVFRFRF9WSVJUVUFMX1NUUkVBTTohMCxyZWFzb246InBhdGggaXMgdW5kZXIgLnJlcXVlc3Q6IG9ibWl0dGVkIGZvciBkZWR1cGxpY2F0aW9uIHJlYXNvbnMgaW4gcmVzcG9uc2UgY3ljbGUuIn0pOkFycmF5LmlzQXJyYXkoZSk/ZS5tYXAoKG4sbyk9PnQuZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsobixhLHJ8fGUscy5jb25jYXQoU3RyaW5nKG8pKSkpOmUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCI/T2JqZWN0LmVudHJpZXMoZSkucmVkdWNlKChuLFtvLGxdKT0+e2xldCBoPXMuY29uY2F0KG8pO3JldHVybiBuW29dPXQuZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsobCxhLHJ8fGUsaCksbn0se30pOmV9c3RhdGljIGRlY29kZVBheWxvYWRGcm9tTmV0d29yayhlLGEpe2lmKFA1LmlzQnVmZmVyTGlrZShlKXx8ZSBpbnN0YW5jZW9mIG8wKXJldHVybiBlO2lmKGUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCIpe2lmKGUgaW5zdGFuY2VvZiBTZXR8fGUgaW5zdGFuY2VvZiBNYXB8fGUgaW5zdGFuY2VvZiBEYXRlfHxlIGluc3RhbmNlb2YgUmVnRXhwfHxlIGluc3RhbmNlb2YgRXJyb3J8fGUgaW5zdGFuY2VvZiBQcm9taXNlfHx0eXBlb2YgZS50aGVuPT0iZnVuY3Rpb24iKXJldHVybiBlO2lmKGUuX2lzVmlydHVhbFN0cmVhbSl7bGV0IHI9bmV3IHQ7cmV0dXJuIHIuc3RyZWFtSWQ9ZS5zdHJlYW1JZCwhci5zaWRlJiZhLnNlbmRNZXRob2QmJihyLnNpZGU9InJlcXVlc3RpbmciLHIuc2VuZE1ldGhvZD1hLnNlbmRNZXRob2QpLCFyLnNpZGUmJmEudHlwZWRyb3V0ZXImJihyLnNpZGU9InJlc3BvbmRpbmciLHIudHlwZWRyb3V0ZXI9YS50eXBlZHJvdXRlcixhLnR5cGVkcm91dGVyLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5hZGQocikpLHIuc3RhcnRLZWVwQWxpdmVMb29wKCkscn1lbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpe2xldCByPVtdO2ZvcihsZXQgcyBvZiBlKXIucHVzaCh0LmRlY29kZVBheWxvYWRGcm9tTmV0d29yayhzLGEpKTtyZXR1cm4gcn1lbHNlIHJldHVybiBPYmplY3Qua2V5cyhlKS5yZWR1Y2UoKHIscyk9PihyW3NdPXQuZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKGVbc10sYSkscikse30pfWVsc2UgcmV0dXJuIGV9Y29uc3RydWN0b3IoKXt0aGlzLnN0cmVhbUlkPVBuLnVuaSgpLHRoaXMua2VlcEFsaXZlPSEwLHRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheT1uZXcgVDEuQmFja3ByZXNzdXJlZEFycmF5KDE2KSx0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXk9bmV3IFQxLkJhY2twcmVzc3VyZWRBcnJheSgxNil9c3RhdGljIHJlY29uc3RpdHV0ZUJpbmFyeURhdGEoZSl7aWYoZT09bnVsbHx8ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fHR5cGVvZiBCdWZmZXI8InUiJiZCdWZmZXIuaXNCdWZmZXIoZSkpcmV0dXJuIGU7aWYodHlwZW9mIGU9PSJvYmplY3QiKXtpZihlLnR5cGU9PT0iQnVmZmVyIiYmQXJyYXkuaXNBcnJheShlLmRhdGEpKXJldHVybiBuZXcgVWludDhBcnJheShlLmRhdGEpO2xldCBhPU9iamVjdC5rZXlzKGUpO2lmKGEubGVuZ3RoPjAmJmEuZXZlcnkocj0+L15cZCskLy50ZXN0KHIpKSl7bGV0IHI9bmV3IEFycmF5KGEubGVuZ3RoKTtmb3IobGV0IHMgb2YgYSlyW051bWJlcihzKV09ZVtzXTtpZihyLmV2ZXJ5KHM9PnR5cGVvZiBzPT0ibnVtYmVyIikpcmV0dXJuIG5ldyBVaW50OEFycmF5KHIpfX1yZXR1cm4gZX1hc3luYyB3b3JrT25RdWV1ZSgpe2lmKHRoaXMud29ya2luZ0RlZmVycmVkKXJldHVybiB0aGlzLndvcmtpbmdEZWZlcnJlZC5wcm9taXNlO2lmKHRoaXMud29ya2luZ0RlZmVycmVkPUplLmRlZmVyKCksdGhpcy5zaWRlPT09InJlcXVlc3RpbmciKXtsZXQgZT0hdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKSxhPSExLHI9ITEscz1pKGFzeW5jKCk9PntsZXQgbj1hd2FpdCB0aGlzLnNlbmRNZXRob2Qoe21ldGhvZDoiIyNWaXJ0dWFsU3RyZWFtIyMiLHJlcXVlc3Q6e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDpQbi51bmkoKSxjeWNsZToicmVxdWVzdCIsbWFpblB1cnBvc2U6ImZlZWRiYWNrIixuZXh0OnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5kYXRhLmxlbmd0aD4wLGJhY2twcmVzc3VyZTohdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKX0scmVzcG9uc2U6bnVsbH0pLmNhdGNoKCgpPT57Y29uc29sZS5sb2coInN0cmVhbSBlbmRlZCBpbW1hdHVyZWx5IiksdGhpcy5rZWVwQWxpdmU9ITF9KTtuJiZuLnJlc3BvbnNlJiYocj1uLnJlc3BvbnNlLmJhY2twcmVzc3VyZSxhPW4ucmVzcG9uc2UubmV4dCl9LCJnZXRGZWVkYmFjayIpO2Zvcihhd2FpdCBzKCk7dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjB8fGE7KXtpZihyKWZvcig7cjspY29uc29sZS5sb2coIndhaXRpbmcgZm9yIGZlZWRiYWNrIGJlY2F1c2Ugb2YgYmFja3ByZXNzdXJlLi4uIiksYXdhaXQgU3QuZGVsYXlGb3IoNTApLGF3YWl0IHMoKTtsZXQgbjt0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCYmKG49dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LnNoaWZ0KCkpO2xldCBvO289YXdhaXQgdGhpcy5zZW5kTWV0aG9kKHttZXRob2Q6IiMjVmlydHVhbFN0cmVhbSMjIixyZXF1ZXN0OntzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6UG4udW5pKCksY3ljbGU6InJlcXVlc3QiLG1haW5QdXJwb3NlOm4/ImNodW5rIjoicmVhZCIsYmFja3ByZXNzdXJlOmUsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCwuLi5uP3tjaHVua0RhdGE6bn06e319LHJlc3BvbnNlOm51bGx9KS5jYXRjaCgoKT0+KGNvbnNvbGUubG9nKCJzdHJlYW0gZW5kZWQgaW1tYXR1cmVseSIpLHRoaXMua2VlcEFsaXZlPSExLG51bGwpKSxvJiZvLnJlc3BvbnNlJiZvLnJlc3BvbnNlLmNodW5rRGF0YSYmdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LnB1c2godC5yZWNvbnN0aXR1dGVCaW5hcnlEYXRhKG8ucmVzcG9uc2UuY2h1bmtEYXRhKSkscj1vJiZvLnJlc3BvbnNlJiZvLnJlc3BvbnNlLmJhY2twcmVzc3VyZSxlPSF0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXkuY2hlY2tTcGFjZUF2YWlsYWJsZSgpLGE9byYmby5yZXNwb25zZSYmby5yZXNwb25zZS5uZXh0fX10aGlzLndvcmtpbmdEZWZlcnJlZC5yZXNvbHZlKCksdGhpcy53b3JraW5nRGVmZXJyZWQ9bnVsbH1hc3luYyBoYW5kbGVTdHJlYW1UcihlKXtpZihlLnJlcXVlc3Qua2VlcEFsaXZlPT09ITAmJnRoaXMua2VlcEFsaXZlPT09ITA/dGhpcy5sYXN0S2VlcEFsaXZlRXZlbnQ9RGF0ZS5ub3coKTplLnJlcXVlc3Qua2VlcEFsaXZlPT09ITEmJih0aGlzLmtlZXBBbGl2ZT0hMSksZS5yZXF1ZXN0Lm1haW5QdXJwb3NlPT09ImtlZXBBbGl2ZSImJihlLnJlc3BvbnNlPXtzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6ZS5yZXF1ZXN0LmN5Y2xlSWQsY3ljbGU6InJlc3BvbnNlIixtYWluUHVycG9zZToia2VlcEFsaXZlIixrZWVwQWxpdmU6dGhpcy5rZWVwQWxpdmUsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCl9KSxlLnJlcXVlc3QubWFpblB1cnBvc2U9PT0iZmVlZGJhY2siJiYoZS5yZXNwb25zZT17c3RyZWFtSWQ6dGhpcy5zdHJlYW1JZCxjeWNsZUlkOmUucmVxdWVzdC5jeWNsZUlkLGN5Y2xlOiJyZXNwb25zZSIsbWFpblB1cnBvc2U6ImZlZWRiYWNrIixuZXh0OnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5kYXRhLmxlbmd0aD4wLGJhY2twcmVzc3VyZTohdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKX0pLGUucmVxdWVzdC5tYWluUHVycG9zZT09PSJjaHVuayIpe2lmKHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5wdXNoKHQucmVjb25zdGl0dXRlQmluYXJ5RGF0YShlLnJlcXVlc3QuY2h1bmtEYXRhKSksdGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjAmJmUucmVzcG9uc2UuYmFja3ByZXNzdXJlPT09ITEpe2xldCBhPXRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpO2UucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDplLnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJjaHVuayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MSxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCksY2h1bmtEYXRhOnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpfX1lbHNlIGUucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDplLnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJmZWVkYmFjayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCl9O2UucmVxdWVzdD1udWxsfXJldHVybiBlfWFzeW5jIGNsZWFudXAoKXt0aGlzLnR5cGVkcm91dGVyJiZ0aGlzLnR5cGVkcm91dGVyLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5yZW1vdmUodGhpcyl9YXN5bmMgc3RhcnRLZWVwQWxpdmVMb29wKCl7aWYodGhpcy5zaWRlPT09InJlc3BvbmRpbmciKXJldHVybjthd2FpdCBTdC5kZWxheUZvcigwKSxjb25zb2xlLmxvZyhgc3RhcnRpbmcga2VlcGFsaXZlIGxvb3Agb24gc2lkZSAke3RoaXMuc2lkZX1gKTtsZXQgZT0wO2Zvcig7dGhpcy5rZWVwQWxpdmU7KWF3YWl0IHRoaXMudHJpZ2dlcktlZXBBbGl2ZSgpLGF3YWl0IFN0LmRlbGF5Rm9yKDFlMyk7YXdhaXQgU3QuZGVsYXlGb3IoMWUzKSxhd2FpdCB0aGlzLmNsZWFudXAoKSxjb25zb2xlLmxvZyhgY2xlYW5lZCB1cCBmb3Igc3RyZWFtICR7dGhpcy5zdHJlYW1JZH1gKX1hc3luYyB0cmlnZ2VyS2VlcEFsaXZlKCl7aWYodGhpcy5zaWRlPT09InJlcXVlc3RpbmciKXtjb25zb2xlLmxvZygia2VlcGFsaXZlIHNlbnQuIik7bGV0IGU9YXdhaXQgdGhpcy5zZW5kTWV0aG9kKHttZXRob2Q6IiMjVmlydHVhbFN0cmVhbSMjIixyZXF1ZXN0OntzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6UG4udW5pKCksY3ljbGU6InJlcXVlc3QiLG1haW5QdXJwb3NlOiJrZWVwQWxpdmUiLGtlZXBBbGl2ZTp0aGlzLmtlZXBBbGl2ZX0scmVzcG9uc2U6bnVsbH0pLmNhdGNoKCgpPT57dGhpcy5rZWVwQWxpdmU9ITF9KTtlJiZlLnJlc3BvbnNlJiZlLnJlc3BvbnNlLmtlZXBBbGl2ZT09PSExP3RoaXMua2VlcEFsaXZlPSExOnRoaXMubGFzdEtlZXBBbGl2ZUV2ZW50PURhdGUubm93KCksZSYmZS5yZXNwb25zZSYmZS5yZXNwb25zZS5uZXh0JiZ0aGlzLndvcmtPblF1ZXVlKCl9RGF0ZS5ub3coKS10aGlzLmxhc3RLZWVwQWxpdmVFdmVudD4xZTQmJihjb25zb2xlLmxvZyhgY2xvc2luZyBzdHJlYW0gZm9yICR7dGhpcy5zdHJlYW1JZH1gKSx0aGlzLmtlZXBBbGl2ZT0hMSl9YXN5bmMgc2VuZERhdGEoZSl7dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LnB1c2goZSksdGhpcy53b3JrT25RdWV1ZSgpLGF3YWl0IHRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS53YWl0Rm9yU3BhY2UoKX1hc3luYyBmZXRjaERhdGEoKXtyZXR1cm4gdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5Lmhhc1NwYWNlLGF3YWl0IHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS53YWl0Rm9ySXRlbXMoKSx0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXkuc2hpZnQoKX1hc3luYyByZWFkRnJvbVdlYnN0cmVhbShlLGE9ITApe2xldCByPWUuZ2V0UmVhZGVyKCkscz0hMTtmb3IoOyFzOyl7bGV0e3ZhbHVlOm4sZG9uZTpvfT1hd2FpdCByLnJlYWQoKTtuJiZhd2FpdCB0aGlzLnNlbmREYXRhKG4pLHM9b31hJiZhd2FpdCB0aGlzLmNsb3NlKCEwKX1hc3luYyB3cml0ZVRvV2Vic3RyZWFtKGUpe2xldCBhPWUuZ2V0V3JpdGVyKCk7Zm9yKDt0aGlzLmtlZXBBbGl2ZXx8dGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrSGFzSXRlbXMoKTspe2xldCByPWF3YWl0IHRoaXMuZmV0Y2hEYXRhKCk7aWYocj09PXN0dCl7YS5yZWxlYXNlTG9jaygpLGF3YWl0IGUuY2xvc2UoKTticmVha31hd2FpdCBhLndyaXRlKHIpfX1hc3luYyBjbG9zZShlPSExKXtlJiZ0aGlzLnNlbmREYXRhKHN0dCksdGhpcy5rZWVwQWxpdmU9ITF9fX0pO3ZhciBBYWUsUGFlPWMoKCk9PntIdSgpO0VuKCk7QWFlPWNsYXNze3N0YXRpY3tpKHRoaXMsIlR5cGVkVGFyZ2V0Iil9Y29uc3RydWN0b3IoZSl7aWYoZS5wb3N0TWV0aG9kV2l0aFR5cGVkUm91dGVyJiYhZS50eXBlZFJvdXRlclJlZil0aHJvdyBuZXcgRXJyb3IoInlvdSBoYXZlIHRvIHNwZWNpZnkgYSB0eXBlZHJvdXRlciB3aGVuIHVzaW5nIHBvc3RtZXRob2Qgd2l0aCB0eXBlZHJvdXRlciIpO3RoaXMub3B0aW9ucz1lfWFzeW5jIHBvc3QoZSl7bGV0IGE7dGhpcy5vcHRpb25zLnR5cGVkUm91dGVyUmVmJiYoYT1hd2FpdCB0aGlzLm9wdGlvbnMudHlwZWRSb3V0ZXJSZWYuZmlyZUV2ZW50SW50ZXJlc3RNYXAuYWRkSW50ZXJlc3QoZS5jb3JyZWxhdGlvbi5pZCxlKSk7bGV0IHM9YXdhaXQodGhpcy5vcHRpb25zLnBvc3RNZXRob2R8fHRoaXMub3B0aW9ucy5wb3N0TWV0aG9kV2l0aFR5cGVkUm91dGVyKShlKSxuO3JldHVybiBhP249YXdhaXQgYS5pbnRlcmVzdEZ1bGxmaWxsZWQ6cz9uPXM6bj1lLG59fX0pO2Z1bmN0aW9uIG90dCh0LGUpe3RyeXtvMC5nbG9iYWxIb29rc1t0XT8uKGUpfWNhdGNoKGEpe2NvbnNvbGUuZXJyb3IoYFR5cGVkUmVxdWVzdCBob29rIGVycm9yICgke3R9KTpgLGEpfX12YXIgRTRhLHF1LERhZT1jKCgpPT57RW4oKTthVSgpO1U1KCk7SHUoKTtQYWUoKTtFNGE9bmV3IHMwLldlYnJlcXVlc3RDbGllbnQ7aShvdHQsImNhbGxHbG9iYWxIb29rIik7cXU9Y2xhc3N7c3RhdGlje2kodGhpcywiVHlwZWRSZXF1ZXN0Iil9Y29uc3RydWN0b3IoZSxhKXt0aGlzLnNraXBIb29rcz0hMSx0eXBlb2YgZT09InN0cmluZyI/dGhpcy51cmxFbmRQb2ludD1lOnRoaXMudHlwZWRUYXJnZXQ9ZSx0aGlzLm1ldGhvZD1hfWFzeW5jIGZpcmUoZSxhPSExKXtsZXQgcj1EYXRlLm5vdygpLHM9e21ldGhvZDp0aGlzLm1ldGhvZCxyZXF1ZXN0OmUscmVzcG9uc2U6bnVsbCxjb3JyZWxhdGlvbjp7aWQ6UG4udW5pKCkscGhhc2U6InJlcXVlc3QifX07cz1ncy5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhzLHtzZW5kTWV0aG9kOmkobz0+dGhpcy5wb3N0VHJPYmplY3QobyksInNlbmRNZXRob2QiKX0pLHRoaXMuc2tpcEhvb2tzfHxvdHQoIm9uT3V0Z29pbmdSZXF1ZXN0Iix7Y29ycmVsYXRpb25JZDpzLmNvcnJlbGF0aW9uLmlkLG1ldGhvZDp0aGlzLm1ldGhvZCxkaXJlY3Rpb246Im91dGdvaW5nIixwaGFzZToicmVxdWVzdCIsdGltZXN0YW1wOnIscGF5bG9hZDplfSk7bGV0IG47cmV0dXJuIG49YXdhaXQgdGhpcy5wb3N0VHJPYmplY3QocyxhKSxuPWdzLmRlY29kZVBheWxvYWRGcm9tTmV0d29yayhuLHtzZW5kTWV0aG9kOmkobz0+dGhpcy5wb3N0VHJPYmplY3QobyksInNlbmRNZXRob2QiKX0pLHRoaXMuc2tpcEhvb2tzfHxvdHQoIm9uSW5jb21pbmdSZXNwb25zZSIse2NvcnJlbGF0aW9uSWQ6cy5jb3JyZWxhdGlvbi5pZCxtZXRob2Q6dGhpcy5tZXRob2QsZGlyZWN0aW9uOiJpbmNvbWluZyIscGhhc2U6InJlc3BvbnNlIix0aW1lc3RhbXA6RGF0ZS5ub3coKSxkdXJhdGlvbk1zOkRhdGUubm93KCktcixwYXlsb2FkOm4/LnJlc3BvbnNlLGVycm9yOm4/LmVycm9yPy50ZXh0fSksbi5yZXNwb25zZX1hc3luYyBwb3N0VHJPYmplY3QoZSxhPSExKXtsZXQgcjtpZih0aGlzLnVybEVuZFBvaW50P3I9YXdhaXQgRTRhLnBvc3RKc29uKHRoaXMudXJsRW5kUG9pbnQsZSxhP3tjYWNoZVN0cmF0ZWd5OiJjYWNoZS1maXJzdCJ9Ont9KTpyPWF3YWl0IHRoaXMudHlwZWRUYXJnZXQucG9zdChlKSxyLmVycm9yKXtpZihjb25zb2xlLmVycm9yKGBtZXRob2Q6ID4+JHt0aGlzLm1ldGhvZH08PCBnb3QgYW4gRVJST1I6ICIke3IuZXJyb3IudGV4dH0iIHdpdGggZGF0YSAke0pTT04uc3RyaW5naWZ5KHIuZXJyb3IuZGF0YSxudWxsLDIpfWApLCFyLnJldHJ5KXRocm93IG5ldyBtcyhyLmVycm9yLnRleHQsci5lcnJvci5kYXRhKTtyZXR1cm4gbnVsbH1yZXR1cm4gci5yZXRyeSYmKGNvbnNvbGUubG9nKGBzZXJ2ZXIgcmVxdWVzdGVkIHJldHJ5IGZvciB0aGUgZm9sbG93aW5nIHJlYXNvbjogJHtyLnJldHJ5LnJlYXNvbn1gKSxhd2FpdCBTdC5kZWxheUZvcihyLnJldHJ5LndhaXRGb3JNcykscj1hd2FpdCB0aGlzLnBvc3RUck9iamVjdChlLGEpKSxyfX19KTt2YXIgZTE9e307ZXQoZTEse1R5cGVkSGFuZGxlcjooKT0+TGFlLFR5cGVkUmVxdWVzdDooKT0+cXUsVHlwZWRSZXNwb25zZUVycm9yOigpPT5tcyxUeXBlZFJvdXRlcjooKT0+bzAsVHlwZWRUYXJnZXQ6KCk9PkFhZSxWaXJ0dWFsU3RyZWFtOigpPT5nc30pO3ZhciBXNT1jKCgpPT57RGFlKCk7JGFlKCk7SHUoKTtVNSgpO1BhZSgpO2FVKCl9KTtmdW5jdGlvbiBudHQodCl7cmV0dXJuIHQmJnR5cGVvZiB0LnRoZW49PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gdTIodCxlKXtyZXR1cm4gdHx8KHQ9MCksbmV3IFByb21pc2UoZnVuY3Rpb24oYSl7cmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gYShlKX0sdCl9KX1mdW5jdGlvbiBkdHQodCxlKXtyZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKihlLXQrMSkrdCl9ZnVuY3Rpb24gdG8oKXtyZXR1cm4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpfWZ1bmN0aW9uIGFvKCl7dmFyIHQ9RGF0ZS5ub3coKSoxZTM7cmV0dXJuIHQ8PUVhZSYmKHQ9RWFlKzEpLEVhZT10LHR9ZnVuY3Rpb24gcHR0KCl7cmV0dXJuIHR5cGVvZiBuYXZpZ2F0b3I8InUiJiZ0eXBlb2YgbmF2aWdhdG9yLmxvY2tzPCJ1IiYmdHlwZW9mIG5hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0PT0iZnVuY3Rpb24ifXZhciBsdHQsY3R0LGhpLEVhZSxJbj1jKCgpPT57aShudHQsImlzUHJvbWlzZSIpO2x0dD1Qcm9taXNlLnJlc29sdmUoITEpLGN0dD1Qcm9taXNlLnJlc29sdmUoITApLGhpPVByb21pc2UucmVzb2x2ZSgpO2kodTIsInNsZWVwIik7aShkdHQsInJhbmRvbUludCIpO2kodG8sInJhbmRvbVRva2VuIik7RWFlPTA7aShhbywibWljcm9TZWNvbmRzIik7aShwdHQsInN1cHBvcnRzV2ViTG9ja0FQSSIpfSk7ZnVuY3Rpb24gUjRhKHQpe3ZhciBlPXt0aW1lOmFvKCksbWVzc2FnZXNDYWxsYmFjazpudWxsLGJjOm5ldyBCcm9hZGNhc3RDaGFubmVsKHQpLHN1YkZuczpbXX07cmV0dXJuIGUuYmMub25tZXNzYWdlPWZ1bmN0aW9uKGEpe2UubWVzc2FnZXNDYWxsYmFjayYmZS5tZXNzYWdlc0NhbGxiYWNrKGEuZGF0YSl9LGV9ZnVuY3Rpb24gRjRhKHQpe3QuYmMuY2xvc2UoKSx0LnN1YkZucz1bXX1mdW5jdGlvbiBPNGEodCxlKXt0cnl7cmV0dXJuIHQuYmMucG9zdE1lc3NhZ2UoZSwhMSksaGl9Y2F0Y2goYSl7cmV0dXJuIFByb21pc2UucmVqZWN0KGEpfX1mdW5jdGlvbiBCNGEodCxlKXt0Lm1lc3NhZ2VzQ2FsbGJhY2s9ZX1mdW5jdGlvbiBINGEoKXtpZih0eXBlb2YgZ2xvYmFsVGhpczwidSImJmdsb2JhbFRoaXMuRGVubyYmZ2xvYmFsVGhpcy5EZW5vLmFyZ3MpcmV0dXJuITA7aWYoKHR5cGVvZiB3aW5kb3c8InUifHx0eXBlb2Ygc2VsZjwidSIpJiZ0eXBlb2YgQnJvYWRjYXN0Q2hhbm5lbD09ImZ1bmN0aW9uIil7aWYoQnJvYWRjYXN0Q2hhbm5lbC5fcHVia2V5KXRocm93IG5ldyBFcnJvcigiQnJvYWRjYXN0Q2hhbm5lbDogRG8gbm90IG92ZXJ3cml0ZSB3aW5kb3cuQnJvYWRjYXN0Q2hhbm5lbCB3aXRoIHRoaXMgbW9kdWxlLCB0aGlzIGlzIG5vdCBhIHBvbHlmaWxsIik7cmV0dXJuITB9ZWxzZSByZXR1cm4hMX1mdW5jdGlvbiBxNGEoKXtyZXR1cm4gMTUwfXZhciBJNGEsTjRhLHV0dCxmdHQ9YygoKT0+e0luKCk7STRhPWFvLE40YT0ibmF0aXZlIjtpKFI0YSwiY3JlYXRlIik7aShGNGEsImNsb3NlIik7aShPNGEsInBvc3RNZXNzYWdlIik7aShCNGEsIm9uTWVzc2FnZSIpO2koSDRhLCJjYW5CZVVzZWQiKTtpKHE0YSwiYXZlcmFnZVJlc3BvbnNlVGltZSIpO3V0dD17Y3JlYXRlOlI0YSxjbG9zZTpGNGEsb25NZXNzYWdlOkI0YSxwb3N0TWVzc2FnZTpPNGEsY2FuQmVVc2VkOkg0YSx0eXBlOk40YSxhdmVyYWdlUmVzcG9uc2VUaW1lOnE0YSxtaWNyb1NlY29uZHM6STRhfX0pO2Z1bmN0aW9uIFY0YSh0KXtsZXQgZT1JYWUoKS10LnR0bCxhPXQubWFwW1N5bWJvbC5pdGVyYXRvcl0oKTtmb3IoOzspe2xldCByPWEubmV4dCgpLnZhbHVlO2lmKCFyKWJyZWFrO2xldCBzPXJbMF07aWYoclsxXTxlKXQubWFwLmRlbGV0ZShzKTtlbHNlIGJyZWFrfX1mdW5jdGlvbiBJYWUoKXtyZXR1cm4gRGF0ZS5ub3coKX12YXIgRzUsTmFlPWMoKCk9PntHNT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJPYmxpdmlvdXNTZXQiKX10dGw7bWFwPW5ldyBNYXA7X3RvPSExO2NvbnN0cnVjdG9yKGUpe3RoaXMudHRsPWV9aGFzKGUpe2xldCBhPXRoaXMubWFwLmdldChlKTtyZXR1cm4gdHlwZW9mIGE+InUiPyExOmE8SWFlKCktdGhpcy50dGw/KHRoaXMubWFwLmRlbGV0ZShlKSwhMSk6ITB9YWRkKGUpe3RoaXMubWFwLmRlbGV0ZShlKSx0aGlzLm1hcC5zZXQoZSxJYWUoKSksdGhpcy5fdG98fCh0aGlzLl90bz0hMCxzZXRUaW1lb3V0KCgpPT57dGhpcy5fdG89ITEsVjRhKHRoaXMpfSwwKSl9Y2xlYXIoKXt0aGlzLm1hcC5jbGVhcigpfX07aShWNGEsInJlbW92ZVRvb09sZFZhbHVlcyIpO2koSWFlLCJub3ciKX0pO2Z1bmN0aW9uIG4wKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT12b2lkIDA/YXJndW1lbnRzWzBdOnt9LGU9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0KSk7cmV0dXJuIHR5cGVvZiBlLndlYldvcmtlclN1cHBvcnQ+InUiJiYoZS53ZWJXb3JrZXJTdXBwb3J0PSEwKSxlLmlkYnx8KGUuaWRiPXt9KSxlLmlkYi50dGx8fChlLmlkYi50dGw9MWUzKjQ1KSxlLmlkYi5mYWxsYmFja0ludGVydmFsfHwoZS5pZGIuZmFsbGJhY2tJbnRlcnZhbD0xNTApLHQuaWRiJiZ0eXBlb2YgdC5pZGIub25jbG9zZT09ImZ1bmN0aW9uIiYmKGUuaWRiLm9uY2xvc2U9dC5pZGIub25jbG9zZSksZS5sb2NhbHN0b3JhZ2V8fChlLmxvY2Fsc3RvcmFnZT17fSksZS5sb2NhbHN0b3JhZ2UucmVtb3ZlVGltZW91dHx8KGUubG9jYWxzdG9yYWdlLnJlbW92ZVRpbWVvdXQ9MWUzKjYwKSx0Lm1ldGhvZHMmJihlLm1ldGhvZHM9dC5tZXRob2RzKSxlLm5vZGV8fChlLm5vZGU9e30pLGUubm9kZS50dGx8fChlLm5vZGUudHRsPTFlMyo2MCoyKSxlLm5vZGUubWF4UGFyYWxsZWxXcml0ZXN8fChlLm5vZGUubWF4UGFyYWxsZWxXcml0ZXM9MjA0OCksdHlwZW9mIGUubm9kZS51c2VGYXN0UGF0aD4idSImJihlLm5vZGUudXNlRmFzdFBhdGg9ITApLGV9dmFyIHJVPWMoKCk9PntpKG4wLCJmaWxsT3B0aW9uc1dpdGhEZWZhdWx0cyIpfSk7ZnVuY3Rpb24gaHR0KCl7aWYodHlwZW9mIGluZGV4ZWREQjwidSIpcmV0dXJuIGluZGV4ZWREQjtpZih0eXBlb2Ygd2luZG93PCJ1Iil7aWYodHlwZW9mIHdpbmRvdy5tb3pJbmRleGVkREI8InUiKXJldHVybiB3aW5kb3cubW96SW5kZXhlZERCO2lmKHR5cGVvZiB3aW5kb3cud2Via2l0SW5kZXhlZERCPCJ1IilyZXR1cm4gd2luZG93LndlYmtpdEluZGV4ZWREQjtpZih0eXBlb2Ygd2luZG93Lm1zSW5kZXhlZERCPCJ1IilyZXR1cm4gd2luZG93Lm1zSW5kZXhlZERCfXJldHVybiExfWZ1bmN0aW9uIGlVKHQpe3QuY29tbWl0JiZ0LmNvbW1pdCgpfWZ1bmN0aW9uIEc0YSh0KXt2YXIgZT1odHQoKSxhPVU0YSt0LHI9ZS5vcGVuKGEpO3JldHVybiByLm9udXBncmFkZW5lZWRlZD1mdW5jdGlvbihzKXt2YXIgbj1zLnRhcmdldC5yZXN1bHQ7bi5jcmVhdGVPYmplY3RTdG9yZShicyx7a2V5UGF0aDoiaWQiLGF1dG9JbmNyZW1lbnQ6ITB9KX0sbmV3IFByb21pc2UoZnVuY3Rpb24ocyxuKXtyLm9uZXJyb3I9ZnVuY3Rpb24obyl7cmV0dXJuIG4obyl9LHIub25zdWNjZXNzPWZ1bmN0aW9uKCl7cyhyLnJlc3VsdCl9fSl9ZnVuY3Rpb24gWTRhKHQsZSxhKXt2YXIgcj1EYXRlLm5vdygpLHM9e3V1aWQ6ZSx0aW1lOnIsZGF0YTphfSxuPXQudHJhbnNhY3Rpb24oW2JzXSwicmVhZHdyaXRlIixWdSk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKG8sbCl7bi5vbmNvbXBsZXRlPWZ1bmN0aW9uKCl7cmV0dXJuIG8oKX0sbi5vbmVycm9yPWZ1bmN0aW9uKHUpe3JldHVybiBsKHUpfTt2YXIgaD1uLm9iamVjdFN0b3JlKGJzKTtoLmFkZChzKSxpVShuKX0pfWZ1bmN0aW9uIGs3MSh0KXt2YXIgZT10LnRyYW5zYWN0aW9uKGJzLCJyZWFkb25seSIsVnUpLGE9ZS5vYmplY3RTdG9yZShicykscj1bXTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24ocyl7YS5vcGVuQ3Vyc29yKCkub25zdWNjZXNzPWZ1bmN0aW9uKG4pe3ZhciBvPW4udGFyZ2V0LnJlc3VsdDtvPyhyLnB1c2goby52YWx1ZSksby5jb250aW51ZSgpKTooaVUoZSkscyhyKSl9fSl9ZnVuY3Rpb24gWjRhKHQsZSl7dmFyIGE9dC50cmFuc2FjdGlvbihicywicmVhZG9ubHkiLFZ1KSxyPWEub2JqZWN0U3RvcmUoYnMpLHM9W10sbj1JREJLZXlSYW5nZS5ib3VuZChlKzEsMS8wKTtpZihyLmdldEFsbCl7dmFyIG89ci5nZXRBbGwobik7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGgsdSl7by5vbmVycm9yPWZ1bmN0aW9uKGYpe3JldHVybiB1KGYpfSxvLm9uc3VjY2Vzcz1mdW5jdGlvbihmKXtoKGYudGFyZ2V0LnJlc3VsdCl9fSl9ZnVuY3Rpb24gbCgpe3RyeXtyZXR1cm4gbj1JREJLZXlSYW5nZS5ib3VuZChlKzEsMS8wKSxyLm9wZW5DdXJzb3Iobil9Y2F0Y2h7cmV0dXJuIHIub3BlbkN1cnNvcigpfX1yZXR1cm4gaShsLCJvcGVuQ3Vyc29yIiksbmV3IFByb21pc2UoZnVuY3Rpb24oaCx1KXt2YXIgZj1sKCk7Zi5vbmVycm9yPWZ1bmN0aW9uKHApe3JldHVybiB1KHApfSxmLm9uc3VjY2Vzcz1mdW5jdGlvbihwKXt2YXIgZz1wLnRhcmdldC5yZXN1bHQ7Zz9nLnZhbHVlLmlkPGUrMT9nLmNvbnRpbnVlKGUrMSk6KHMucHVzaChnLnZhbHVlKSxnLmNvbnRpbnVlKCkpOihpVShhKSxoKHMpKX19KX1mdW5jdGlvbiBYNGEodCxlKXtpZih0LmNsb3NlZClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTt2YXIgYT10LmRiLnRyYW5zYWN0aW9uKGJzLCJyZWFkd3JpdGUiLFZ1KSxyPWEub2JqZWN0U3RvcmUoYnMpO3JldHVybiBQcm9taXNlLmFsbChlLm1hcChmdW5jdGlvbihzKXt2YXIgbj1yLmRlbGV0ZShzKTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obyl7bi5vbnN1Y2Nlc3M9ZnVuY3Rpb24oKXtyZXR1cm4gbygpfX0pfSkpfWZ1bmN0aW9uIEs0YSh0LGUpe3ZhciBhPURhdGUubm93KCktZSxyPXQudHJhbnNhY3Rpb24oYnMsInJlYWRvbmx5IixWdSkscz1yLm9iamVjdFN0b3JlKGJzKSxuPVtdO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihvKXtzLm9wZW5DdXJzb3IoKS5vbnN1Y2Nlc3M9ZnVuY3Rpb24obCl7dmFyIGg9bC50YXJnZXQucmVzdWx0O2lmKGgpe3ZhciB1PWgudmFsdWU7dS50aW1lPGE/KG4ucHVzaCh1KSxoLmNvbnRpbnVlKCkpOihpVShyKSxvKG4pKX1lbHNlIG8obil9fSl9ZnVuY3Rpb24gUTRhKHQpe3JldHVybiBLNGEodC5kYix0Lm9wdGlvbnMuaWRiLnR0bCkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4gWDRhKHQsZS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaWR9KSl9KX1mdW5jdGlvbiBKNGEodCxlKXtyZXR1cm4gZT1uMChlKSxHNGEodCkudGhlbihmdW5jdGlvbihhKXt2YXIgcj17Y2xvc2VkOiExLGxhc3RDdXJzb3JJZDowLGNoYW5uZWxOYW1lOnQsb3B0aW9uczplLHV1aWQ6dG8oKSxlTUlzOm5ldyBHNShlLmlkYi50dGwqMiksd3JpdGVCbG9ja1Byb21pc2U6aGksbWVzc2FnZXNDYWxsYmFjazpudWxsLHJlYWRRdWV1ZVByb21pc2VzOltdLGRiOmF9O3JldHVybiBhLm9uY2xvc2U9ZnVuY3Rpb24oKXtyLmNsb3NlZD0hMCxlLmlkYi5vbmNsb3NlJiZlLmlkYi5vbmNsb3NlKCl9LG10dChyKSxyfSl9ZnVuY3Rpb24gbXR0KHQpe3QuY2xvc2VkfHxndHQodCkudGhlbihmdW5jdGlvbigpe3JldHVybiB1Mih0Lm9wdGlvbnMuaWRiLmZhbGxiYWNrSW50ZXJ2YWwpfSkudGhlbihmdW5jdGlvbigpe3JldHVybiBtdHQodCl9KX1mdW5jdGlvbiBlM2EodCxlKXtyZXR1cm4hKHQudXVpZD09PWUudXVpZHx8ZS5lTUlzLmhhcyh0LmlkKXx8dC5kYXRhLnRpbWU8ZS5tZXNzYWdlc0NhbGxiYWNrVGltZSl9ZnVuY3Rpb24gZ3R0KHQpe3JldHVybiB0LmNsb3NlZD9oaTp0Lm1lc3NhZ2VzQ2FsbGJhY2s/WjRhKHQuZGIsdC5sYXN0Q3Vyc29ySWQpLnRoZW4oZnVuY3Rpb24oZSl7dmFyIGE9ZS5maWx0ZXIoZnVuY3Rpb24ocil7cmV0dXJuISFyfSkubWFwKGZ1bmN0aW9uKHIpe3JldHVybiByLmlkPnQubGFzdEN1cnNvcklkJiYodC5sYXN0Q3Vyc29ySWQ9ci5pZCkscn0pLmZpbHRlcihmdW5jdGlvbihyKXtyZXR1cm4gZTNhKHIsdCl9KS5zb3J0KGZ1bmN0aW9uKHIscyl7cmV0dXJuIHIudGltZS1zLnRpbWV9KTtyZXR1cm4gYS5mb3JFYWNoKGZ1bmN0aW9uKHIpe3QubWVzc2FnZXNDYWxsYmFjayYmKHQuZU1Jcy5hZGQoci5pZCksdC5tZXNzYWdlc0NhbGxiYWNrKHIuZGF0YSkpfSksaGl9KTpoaX1mdW5jdGlvbiB0M2EodCl7dC5jbG9zZWQ9ITAsdC5kYi5jbG9zZSgpfWZ1bmN0aW9uIGEzYSh0LGUpe3JldHVybiB0LndyaXRlQmxvY2tQcm9taXNlPXQud3JpdGVCbG9ja1Byb21pc2UudGhlbihmdW5jdGlvbigpe3JldHVybiBZNGEodC5kYix0LnV1aWQsZSl9KS50aGVuKGZ1bmN0aW9uKCl7ZHR0KDAsMTApPT09MCYmUTRhKHQpfSksdC53cml0ZUJsb2NrUHJvbWlzZX1mdW5jdGlvbiByM2EodCxlLGEpe3QubWVzc2FnZXNDYWxsYmFja1RpbWU9YSx0Lm1lc3NhZ2VzQ2FsbGJhY2s9ZSxndHQodCl9ZnVuY3Rpb24gaTNhKCl7cmV0dXJuISFodHQoKX1mdW5jdGlvbiBzM2EodCl7cmV0dXJuIHQuaWRiLmZhbGxiYWNrSW50ZXJ2YWwqMn12YXIgajRhLFU0YSxicyxWdSxXNGEsYnR0LHZ0dD1jKCgpPT57SW4oKTtOYWUoKTtyVSgpO2o0YT1hbyxVNGE9InB1YmtleS5icm9hZGNhc3QtY2hhbm5lbC0wLSIsYnM9Im1lc3NhZ2VzIixWdT17ZHVyYWJpbGl0eToicmVsYXhlZCJ9LFc0YT0iaWRiIjtpKGh0dCwiZ2V0SWRiIik7aShpVSwiY29tbWl0SW5kZXhlZERCVHJhbnNhY3Rpb24iKTtpKEc0YSwiY3JlYXRlRGF0YWJhc2UiKTtpKFk0YSwid3JpdGVNZXNzYWdlIik7aShrNzEsImdldEFsbE1lc3NhZ2VzIik7aShaNGEsImdldE1lc3NhZ2VzSGlnaGVyVGhhbiIpO2koWDRhLCJyZW1vdmVNZXNzYWdlc0J5SWQiKTtpKEs0YSwiZ2V0T2xkTWVzc2FnZXMiKTtpKFE0YSwiY2xlYW5PbGRNZXNzYWdlcyIpO2koSjRhLCJjcmVhdGUiKTtpKG10dCwiX3JlYWRMb29wIik7aShlM2EsIl9maWx0ZXJNZXNzYWdlIik7aShndHQsInJlYWROZXdNZXNzYWdlcyIpO2kodDNhLCJjbG9zZSIpO2koYTNhLCJwb3N0TWVzc2FnZSIpO2kocjNhLCJvbk1lc3NhZ2UiKTtpKGkzYSwiY2FuQmVVc2VkIik7aShzM2EsImF2ZXJhZ2VSZXNwb25zZVRpbWUiKTtidHQ9e2NyZWF0ZTpKNGEsY2xvc2U6dDNhLG9uTWVzc2FnZTpyM2EscG9zdE1lc3NhZ2U6YTNhLGNhbkJlVXNlZDppM2EsdHlwZTpXNGEsYXZlcmFnZVJlc3BvbnNlVGltZTpzM2EsbWljcm9TZWNvbmRzOmo0YX19KTtmdW5jdGlvbiB4dHQoKXt2YXIgdDtpZih0eXBlb2Ygd2luZG93PiJ1IilyZXR1cm4gbnVsbDt0cnl7dD13aW5kb3cubG9jYWxTdG9yYWdlLHQ9d2luZG93WyJpZTgtZXZlbnRsaXN0ZW5lci9zdG9yYWdlIl18fHdpbmRvdy5sb2NhbFN0b3JhZ2V9Y2F0Y2h7fXJldHVybiB0fWZ1bmN0aW9uIHl0dCh0KXtyZXR1cm4gbjNhK3R9ZnVuY3Rpb24gYzNhKHQsZSl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGEpe3UyKCkudGhlbihmdW5jdGlvbigpe3ZhciByPXl0dCh0LmNoYW5uZWxOYW1lKSxzPXt0b2tlbjp0bygpLHRpbWU6RGF0ZS5ub3coKSxkYXRhOmUsdXVpZDp0LnV1aWR9LG49SlNPTi5zdHJpbmdpZnkocyk7eHR0KCkuc2V0SXRlbShyLG4pO3ZhciBvPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpO28uaW5pdEV2ZW50KCJzdG9yYWdlIiwhMCwhMCksby5rZXk9cixvLm5ld1ZhbHVlPW4sd2luZG93LmRpc3BhdGNoRXZlbnQobyksYSgpfSl9KX1mdW5jdGlvbiBkM2EodCxlKXt2YXIgYT15dHQodCkscj1pKGZ1bmN0aW9uKG4pe24ua2V5PT09YSYmZShKU09OLnBhcnNlKG4ubmV3VmFsdWUpKX0sImxpc3RlbmVyIik7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIixyKSxyfWZ1bmN0aW9uIHAzYSh0KXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3RvcmFnZSIsdCl9ZnVuY3Rpb24gdTNhKHQsZSl7aWYoZT1uMChlKSwhd3R0KCkpdGhyb3cgbmV3IEVycm9yKCJCcm9hZGNhc3RDaGFubmVsOiBsb2NhbHN0b3JhZ2UgY2Fubm90IGJlIHVzZWQiKTt2YXIgYT10bygpLHI9bmV3IEc1KGUubG9jYWxzdG9yYWdlLnJlbW92ZVRpbWVvdXQpLHM9e2NoYW5uZWxOYW1lOnQsdXVpZDphLGVNSXM6cn07cmV0dXJuIHMubGlzdGVuZXI9ZDNhKHQsZnVuY3Rpb24obil7cy5tZXNzYWdlc0NhbGxiYWNrJiZuLnV1aWQhPT1hJiYoIW4udG9rZW58fHIuaGFzKG4udG9rZW4pfHxuLmRhdGEudGltZSYmbi5kYXRhLnRpbWU8cy5tZXNzYWdlc0NhbGxiYWNrVGltZXx8KHIuYWRkKG4udG9rZW4pLHMubWVzc2FnZXNDYWxsYmFjayhuLmRhdGEpKSl9KSxzfWZ1bmN0aW9uIGYzYSh0KXtwM2EodC5saXN0ZW5lcil9ZnVuY3Rpb24gaDNhKHQsZSxhKXt0Lm1lc3NhZ2VzQ2FsbGJhY2tUaW1lPWEsdC5tZXNzYWdlc0NhbGxiYWNrPWV9ZnVuY3Rpb24gd3R0KCl7dmFyIHQ9eHR0KCk7aWYoIXQpcmV0dXJuITE7dHJ5e3ZhciBlPSJfX2Jyb2FkY2FzdGNoYW5uZWxfY2hlY2siO3Quc2V0SXRlbShlLCJ3b3JrcyIpLHQucmVtb3ZlSXRlbShlKX1jYXRjaHtyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBtM2EoKXt2YXIgdD0xMjAsZT1uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7cmV0dXJuIGUuaW5jbHVkZXMoInNhZmFyaSIpJiYhZS5pbmNsdWRlcygiY2hyb21lIik/dCoyOnR9dmFyIG8zYSxuM2EsbDNhLE10dCxrdHQ9YygoKT0+e05hZSgpO3JVKCk7SW4oKTtvM2E9YW8sbjNhPSJwdWJrZXkuYnJvYWRjYXN0Q2hhbm5lbC0iLGwzYT0ibG9jYWxzdG9yYWdlIjtpKHh0dCwiZ2V0TG9jYWxTdG9yYWdlIik7aSh5dHQsInN0b3JhZ2VLZXkiKTtpKGMzYSwicG9zdE1lc3NhZ2UiKTtpKGQzYSwiYWRkU3RvcmFnZUV2ZW50TGlzdGVuZXIiKTtpKHAzYSwicmVtb3ZlU3RvcmFnZUV2ZW50TGlzdGVuZXIiKTtpKHUzYSwiY3JlYXRlIik7aShmM2EsImNsb3NlIik7aShoM2EsIm9uTWVzc2FnZSIpO2kod3R0LCJjYW5CZVVzZWQiKTtpKG0zYSwiYXZlcmFnZVJlc3BvbnNlVGltZSIpO010dD17Y3JlYXRlOnUzYSxjbG9zZTpmM2Esb25NZXNzYWdlOmgzYSxwb3N0TWVzc2FnZTpjM2EsY2FuQmVVc2VkOnd0dCx0eXBlOmwzYSxhdmVyYWdlUmVzcG9uc2VUaW1lOm0zYSxtaWNyb1NlY29uZHM6bzNhfX0pO2Z1bmN0aW9uIGIzYSh0KXt2YXIgZT17dGltZTp6dHQoKSxuYW1lOnQsbWVzc2FnZXNDYWxsYmFjazpudWxsfTtyZXR1cm4gUmFlLmFkZChlKSxlfWZ1bmN0aW9uIHYzYSh0KXtSYWUuZGVsZXRlKHQpfWZ1bmN0aW9uIHgzYSh0LGUpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihhKXtyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciByPUFycmF5LmZyb20oUmFlKTtyLmZvckVhY2goZnVuY3Rpb24ocyl7cy5uYW1lPT09dC5uYW1lJiZzIT09dCYmcy5tZXNzYWdlc0NhbGxiYWNrJiZzLnRpbWU8ZS50aW1lJiZzLm1lc3NhZ2VzQ2FsbGJhY2soZSl9KSxhKCl9LFN0dCl9KX1mdW5jdGlvbiB5M2EodCxlKXt0Lm1lc3NhZ2VzQ2FsbGJhY2s9ZX1mdW5jdGlvbiB3M2EoKXtyZXR1cm4hMH1mdW5jdGlvbiBNM2EoKXtyZXR1cm4gU3R0fXZhciB6dHQsZzNhLFJhZSxTdHQsQ3R0LF90dD1jKCgpPT57SW4oKTt6dHQ9YW8sZzNhPSJzaW11bGF0ZSIsUmFlPW5ldyBTZXQ7aShiM2EsImNyZWF0ZSIpO2kodjNhLCJjbG9zZSIpO1N0dD01O2koeDNhLCJwb3N0TWVzc2FnZSIpO2koeTNhLCJvbk1lc3NhZ2UiKTtpKHczYSwiY2FuQmVVc2VkIik7aShNM2EsImF2ZXJhZ2VSZXNwb25zZVRpbWUiKTtDdHQ9e2NyZWF0ZTpiM2EsY2xvc2U6djNhLG9uTWVzc2FnZTp5M2EscG9zdE1lc3NhZ2U6eDNhLGNhbkJlVXNlZDp3M2EsdHlwZTpnM2EsYXZlcmFnZVJlc3BvbnNlVGltZTpNM2EsbWljcm9TZWNvbmRzOnp0dH19KTtmdW5jdGlvbiBGYWUodCl7dmFyIGU9W10uY29uY2F0KHQubWV0aG9kcyxUdHQpLmZpbHRlcihCb29sZWFuKTtpZih0LnR5cGUpe2lmKHQudHlwZT09PSJzaW11bGF0ZSIpcmV0dXJuIEN0dDt2YXIgYT1lLmZpbmQoZnVuY3Rpb24ocyl7cmV0dXJuIHMudHlwZT09PXQudHlwZX0pO2lmKGEpcmV0dXJuIGE7dGhyb3cgbmV3IEVycm9yKCJtZXRob2QtdHlwZSAiK3QudHlwZSsiIG5vdCBmb3VuZCIpfXQud2ViV29ya2VyU3VwcG9ydHx8KGU9ZS5maWx0ZXIoZnVuY3Rpb24ocyl7cmV0dXJuIHMudHlwZSE9PSJpZGIifSkpO3ZhciByPWUuZmluZChmdW5jdGlvbihzKXtyZXR1cm4gcy5jYW5CZVVzZWQoKX0pO2lmKHIpcmV0dXJuIHI7dGhyb3cgbmV3IEVycm9yKCJObyB1c2FibGUgbWV0aG9kIGZvdW5kIGluICIrSlNPTi5zdHJpbmdpZnkoVHR0Lm1hcChmdW5jdGlvbihzKXtyZXR1cm4gcy50eXBlfSkpKX12YXIgVHR0LEx0dD1jKCgpPT57ZnR0KCk7dnR0KCk7a3R0KCk7X3R0KCk7VHR0PVt1dHQsYnR0LE10dF07aShGYWUsImNob29zZU1ldGhvZCIpfSk7ZnVuY3Rpb24gejNhKHQpe3Q9bjAodCk7dmFyIGU9RmFlKHQpO3JldHVybiBlLnR5cGU9PT0ibm9kZSI/ZS5jbGVhck5vZGVGb2xkZXIoKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuITB9KTpsdHR9ZnVuY3Rpb24gUzNhKHQpe09hZT10fWZ1bmN0aW9uICR0dCh0LGUsYSl7dmFyIHI9dC5tZXRob2QubWljcm9TZWNvbmRzKCkscz17dGltZTpyLHR5cGU6ZSxkYXRhOmF9LG49dC5fcHJlcFA/dC5fcHJlcFA6aGk7cmV0dXJuIG4udGhlbihmdW5jdGlvbigpe3ZhciBvPXQubWV0aG9kLnBvc3RNZXNzYWdlKHQuX3N0YXRlLHMpO3JldHVybiB0Ll91TVAuYWRkKG8pLG8uY2F0Y2goKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHQuX3VNUC5kZWxldGUobyl9KSxvfSl9ZnVuY3Rpb24gQzNhKHQpe3ZhciBlPXQubWV0aG9kLmNyZWF0ZSh0Lm5hbWUsdC5vcHRpb25zKTtudHQoZSk/KHQuX3ByZXBQPWUsZS50aGVuKGZ1bmN0aW9uKGEpe3QuX3N0YXRlPWF9KSk6dC5fc3RhdGU9ZX1mdW5jdGlvbiBEdHQodCl7cmV0dXJuIHQuX2FkZEVMLm1lc3NhZ2UubGVuZ3RoPjB8fHQuX2FkZEVMLmludGVybmFsLmxlbmd0aD4wfWZ1bmN0aW9uIEF0dCh0LGUsYSl7dC5fYWRkRUxbZV0ucHVzaChhKSxfM2EodCl9ZnVuY3Rpb24gUHR0KHQsZSxhKXt0Ll9hZGRFTFtlXT10Ll9hZGRFTFtlXS5maWx0ZXIoZnVuY3Rpb24ocil7cmV0dXJuIHIhPT1hfSksVDNhKHQpfWZ1bmN0aW9uIF8zYSh0KXtpZighdC5faUwmJkR0dCh0KSl7dmFyIGU9aShmdW5jdGlvbihzKXt0Ll9hZGRFTFtzLnR5cGVdLmZvckVhY2goZnVuY3Rpb24obil7cy50aW1lPj1uLnRpbWUmJm4uZm4ocy5kYXRhKX0pfSwibGlzdGVuZXJGbiIpLGE9dC5tZXRob2QubWljcm9TZWNvbmRzKCk7dC5fcHJlcFA/dC5fcHJlcFAudGhlbihmdW5jdGlvbigpe3QuX2lMPSEwLHQubWV0aG9kLm9uTWVzc2FnZSh0Ll9zdGF0ZSxlLGEpfSk6KHQuX2lMPSEwLHQubWV0aG9kLm9uTWVzc2FnZSh0Ll9zdGF0ZSxlLGEpKX19ZnVuY3Rpb24gVDNhKHQpe2lmKHQuX2lMJiYhRHR0KHQpKXt0Ll9pTD0hMTt2YXIgZT10Lm1ldGhvZC5taWNyb1NlY29uZHMoKTt0Lm1ldGhvZC5vbk1lc3NhZ2UodC5fc3RhdGUsbnVsbCxlKX19dmFyIEJhZSxrM2EsbDAsT2FlLEV0dD1jKCgpPT57SW4oKTtMdHQoKTtyVSgpO0JhZT1uZXcgU2V0LGszYT0wLGwwPWkoZnVuY3Rpb24oZSxhKXt0aGlzLmlkPWszYSsrLEJhZS5hZGQodGhpcyksdGhpcy5uYW1lPWUsT2FlJiYoYT1PYWUpLHRoaXMub3B0aW9ucz1uMChhKSx0aGlzLm1ldGhvZD1GYWUodGhpcy5vcHRpb25zKSx0aGlzLl9pTD0hMSx0aGlzLl9vbk1MPW51bGwsdGhpcy5fYWRkRUw9e21lc3NhZ2U6W10saW50ZXJuYWw6W119LHRoaXMuX3VNUD1uZXcgU2V0LHRoaXMuX2JlZkM9W10sdGhpcy5fcHJlcFA9bnVsbCxDM2EodGhpcyl9LCJCcm9hZGNhc3RDaGFubmVsIik7bDAuX3B1YmtleT0hMDtpKHozYSwiY2xlYXJOb2RlRm9sZGVyIik7aShTM2EsImVuZm9yY2VPcHRpb25zIiksbDAucHJvdG90eXBlPXtwb3N0TWVzc2FnZTppKGZ1bmN0aW9uKGUpe2lmKHRoaXMuY2xvc2VkKXRocm93IG5ldyBFcnJvcigiQnJvYWRjYXN0Q2hhbm5lbC5wb3N0TWVzc2FnZSgpOiBDYW5ub3QgcG9zdCBtZXNzYWdlIGFmdGVyIGNoYW5uZWwgaGFzIGNsb3NlZCAiK0pTT04uc3RyaW5naWZ5KGUpKTtyZXR1cm4gJHR0KHRoaXMsIm1lc3NhZ2UiLGUpfSwicG9zdE1lc3NhZ2UiKSxwb3N0SW50ZXJuYWw6aShmdW5jdGlvbihlKXtyZXR1cm4gJHR0KHRoaXMsImludGVybmFsIixlKX0sInBvc3RJbnRlcm5hbCIpLHNldCBvbm1lc3NhZ2UodCl7dmFyIGU9dGhpcy5tZXRob2QubWljcm9TZWNvbmRzKCksYT17dGltZTplLGZuOnR9O1B0dCh0aGlzLCJtZXNzYWdlIix0aGlzLl9vbk1MKSx0JiZ0eXBlb2YgdD09ImZ1bmN0aW9uIj8odGhpcy5fb25NTD1hLEF0dCh0aGlzLCJtZXNzYWdlIixhKSk6dGhpcy5fb25NTD1udWxsfSxhZGRFdmVudExpc3RlbmVyOmkoZnVuY3Rpb24oZSxhKXt2YXIgcj10aGlzLm1ldGhvZC5taWNyb1NlY29uZHMoKSxzPXt0aW1lOnIsZm46YX07QXR0KHRoaXMsZSxzKX0sImFkZEV2ZW50TGlzdGVuZXIiKSxyZW1vdmVFdmVudExpc3RlbmVyOmkoZnVuY3Rpb24oZSxhKXt2YXIgcj10aGlzLl9hZGRFTFtlXS5maW5kKGZ1bmN0aW9uKHMpe3JldHVybiBzLmZuPT09YX0pO1B0dCh0aGlzLGUscil9LCJyZW1vdmVFdmVudExpc3RlbmVyIiksY2xvc2U6aShmdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoIXRoaXMuY2xvc2VkKXtCYWUuZGVsZXRlKHRoaXMpLHRoaXMuY2xvc2VkPSEwO3ZhciBhPXRoaXMuX3ByZXBQP3RoaXMuX3ByZXBQOmhpO3JldHVybiB0aGlzLl9vbk1MPW51bGwsdGhpcy5fYWRkRUwubWVzc2FnZT1bXSxhLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5hbGwoQXJyYXkuZnJvbShlLl91TVApKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5fYmVmQy5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHIoKX0pKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZS5tZXRob2QuY2xvc2UoZS5fc3RhdGUpfSl9fSwiY2xvc2UiKSxnZXQgdHlwZSgpe3JldHVybiB0aGlzLm1ldGhvZC50eXBlfSxnZXQgaXNDbG9zZWQoKXtyZXR1cm4gdGhpcy5jbG9zZWR9fTtpKCR0dCwiX3Bvc3QiKTtpKEMzYSwiX3ByZXBhcmVDaGFubmVsIik7aShEdHQsIl9oYXNNZXNzYWdlTGlzdGVuZXJzIik7aShBdHQsIl9hZGRMaXN0ZW5lck9iamVjdCIpO2koUHR0LCJfcmVtb3ZlTGlzdGVuZXJPYmplY3QiKTtpKF8zYSwiX3N0YXJ0TGlzdGVuaW5nIik7aShUM2EsIl9zdG9wTGlzdGVuaW5nIil9KTtmdW5jdGlvbiBJdHQodCl7aWYodHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlPT0iZnVuY3Rpb24iJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGUpe3ZhciBlPXNlbGYuY2xvc2UuYmluZChzZWxmKTtzZWxmLmNsb3NlPWZ1bmN0aW9uKCl7cmV0dXJuIHQoKSxlKCl9fWVsc2V7aWYodHlwZW9mIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyIT0iZnVuY3Rpb24iKXJldHVybjt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixmdW5jdGlvbigpe3QoKX0sITApLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1bmxvYWQiLGZ1bmN0aW9uKCl7dCgpfSwhMCl9fXZhciBOdHQ9YygoKT0+e2koSXR0LCJhZGRCcm93c2VyIil9KTtmdW5jdGlvbiBSdHQodCl7cHJvY2Vzcy5vbigiZXhpdCIsZnVuY3Rpb24oKXtyZXR1cm4gdCgpfSkscHJvY2Vzcy5vbigiYmVmb3JlRXhpdCIsZnVuY3Rpb24oKXtyZXR1cm4gdCgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gcHJvY2Vzcy5leGl0KCl9KX0pLHByb2Nlc3Mub24oIlNJR0lOVCIsZnVuY3Rpb24oKXtyZXR1cm4gdCgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gcHJvY2Vzcy5leGl0KCl9KX0pLHByb2Nlc3Mub24oInVuY2F1Z2h0RXhjZXB0aW9uIixmdW5jdGlvbihlKXtyZXR1cm4gdCgpLnRoZW4oZnVuY3Rpb24oKXtjb25zb2xlLnRyYWNlKGUpLHByb2Nlc3MuZXhpdCgxMDEpfSl9KX12YXIgRnR0PWMoKCk9PntpKFJ0dCwiYWRkTm9kZSIpfSk7ZnVuY3Rpb24gRDNhKCl7T3R0fHwoT3R0PSEwLCQzYShBM2EpKX1mdW5jdGlvbiBCdHQodCl7aWYoRDNhKCksdHlwZW9mIHQhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IEVycm9yKCJMaXN0ZW5lciBpcyBubyBmdW5jdGlvbiIpO2MwLmFkZCh0KTt2YXIgZT17cmVtb3ZlOmkoZnVuY3Rpb24oKXtyZXR1cm4gYzAuZGVsZXRlKHQpfSwicmVtb3ZlIikscnVuOmkoZnVuY3Rpb24oKXtyZXR1cm4gYzAuZGVsZXRlKHQpLHQoKX0sInJ1biIpfTtyZXR1cm4gZX1mdW5jdGlvbiBBM2EoKXt2YXIgdD1bXTtyZXR1cm4gYzAuZm9yRWFjaChmdW5jdGlvbihlKXt0LnB1c2goZSgpKSxjMC5kZWxldGUoZSl9KSxQcm9taXNlLmFsbCh0KX1mdW5jdGlvbiBLNzEoKXtjMC5jbGVhcigpfWZ1bmN0aW9uIFE3MSgpe3JldHVybiBjMC5zaXplfXZhciBMM2EsJDNhLGMwLE90dCxIdHQ9YygoKT0+e050dCgpO0Z0dCgpO0wzYT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodHlwZW9mIHByb2Nlc3M8InUiP3Byb2Nlc3M6MCk9PT0iW29iamVjdCBwcm9jZXNzXSIsJDNhPUwzYT9SdHQ6SXR0LGMwPW5ldyBTZXQsT3R0PSExO2koRDNhLCJzdGFydExpc3RlbmluZyIpO2koQnR0LCJhZGQiKTtpKEEzYSwicnVuQWxsIik7aShLNzEsInJlbW92ZUFsbCIpO2koUTcxLCJnZXRTaXplIil9KTtmdW5jdGlvbiBybyh0LGUpe3ZhciBhPXtjb250ZXh0OiJsZWFkZXIiLGFjdGlvbjplLHRva2VuOnQudG9rZW59O3JldHVybiB0LmJyb2FkY2FzdENoYW5uZWwucG9zdEludGVybmFsKGEpfWZ1bmN0aW9uIGp1KHQpe3QuaXNMZWFkZXI9ITAsdC5faGFzTGVhZGVyPSEwO3ZhciBlPUJ0dChmdW5jdGlvbigpe3JldHVybiB0LmRpZSgpfSk7dC5fdW5sLnB1c2goZSk7dmFyIGE9aShmdW5jdGlvbihzKXtzLmNvbnRleHQ9PT0ibGVhZGVyIiYmcy5hY3Rpb249PT0iYXBwbHkiJiZybyh0LCJ0ZWxsIikscy5jb250ZXh0PT09ImxlYWRlciImJnMuYWN0aW9uPT09InRlbGwiJiYhdC5fZHBMQyYmKHQuX2RwTEM9ITAsdC5fZHBMKCkscm8odCwidGVsbCIpKX0sImlzTGVhZGVyTGlzdGVuZXIiKTtyZXR1cm4gdC5icm9hZGNhc3RDaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoImludGVybmFsIixhKSx0Ll9sc3Rucy5wdXNoKGEpLHJvKHQsInRlbGwiKX12YXIgc1U9YygoKT0+e0h0dCgpO2kocm8sInNlbmRMZWFkZXJNZXNzYWdlIik7aShqdSwiYmVMZWFkZXIiKX0pO3ZhciBIYWUscXR0LFZ0dD1jKCgpPT57SW4oKTtzVSgpO0hhZT1pKGZ1bmN0aW9uKGUsYSl7dmFyIHI9dGhpczt0aGlzLmJyb2FkY2FzdENoYW5uZWw9ZSxlLl9iZWZDLnB1c2goZnVuY3Rpb24oKXtyZXR1cm4gci5kaWUoKX0pLHRoaXMuX29wdGlvbnM9YSx0aGlzLmlzTGVhZGVyPSExLHRoaXMuaXNEZWFkPSExLHRoaXMudG9rZW49dG8oKSx0aGlzLl9sc3Rucz1bXSx0aGlzLl91bmw9W10sdGhpcy5fZHBMPWZ1bmN0aW9uKCl7fSx0aGlzLl9kcExDPSExLHRoaXMuX3dLTUM9e30sdGhpcy5sTj0icHVia2V5LWJjfHwiK2UubWV0aG9kLnR5cGUrInx8IitlLm5hbWV9LCJMZWFkZXJFbGVjdGlvbldlYkxvY2siKSxxdHQ9IkxlYWRlckVsZWN0aW9uV2ViTG9jay5kaWUoKSBjYWxsZWQiO0hhZS5wcm90b3R5cGU9e2hhc0xlYWRlcjppKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gbmF2aWdhdG9yLmxvY2tzLnF1ZXJ5KCkudGhlbihmdW5jdGlvbihhKXt2YXIgcj1hLmhlbGQ/YS5oZWxkLmZpbHRlcihmdW5jdGlvbihzKXtyZXR1cm4gcy5uYW1lPT09ZS5sTn0pOltdO3JldHVybiEhKHImJnIubGVuZ3RoPjApfSl9LCJoYXNMZWFkZXIiKSxhd2FpdExlYWRlcnNoaXA6aShmdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoIXRoaXMuX3dMTVApe3RoaXMuX3dLTUMuYz1uZXcgQWJvcnRDb250cm9sbGVyO3ZhciBhPW5ldyBQcm9taXNlKGZ1bmN0aW9uKHIscyl7ZS5fd0tNQy5yZXM9cixlLl93S01DLnJlaj1zfSk7dGhpcy5fd0xNUD1uZXcgUHJvbWlzZShmdW5jdGlvbihyLHMpe25hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0KGUubE4se3NpZ25hbDplLl93S01DLmMuc2lnbmFsfSxmdW5jdGlvbigpe3JldHVybiBlLl93S01DLmM9dm9pZCAwLGp1KGUpLHIoKSxhfSkuY2F0Y2goZnVuY3Rpb24obil7bi5tZXNzYWdlJiZuLm1lc3NhZ2U9PT1xdHR8fChlLl93S01DLnJlaiYmZS5fd0tNQy5yZWoobikscyhuKSl9KX0pfXJldHVybiB0aGlzLl93TE1QfSwiYXdhaXRMZWFkZXJzaGlwIiksc2V0IG9uZHVwbGljYXRlKHQpe30sZGllOmkoZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiB0aGlzLl9sc3Rucy5mb3JFYWNoKGZ1bmN0aW9uKGEpe3JldHVybiBlLmJyb2FkY2FzdENoYW5uZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLGEpfSksdGhpcy5fbHN0bnM9W10sdGhpcy5fdW5sLmZvckVhY2goZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVtb3ZlKCl9KSx0aGlzLl91bmw9W10sdGhpcy5pc0xlYWRlciYmKHRoaXMuaXNMZWFkZXI9ITEpLHRoaXMuaXNEZWFkPSEwLHRoaXMuX3dLTUMucmVzJiZ0aGlzLl93S01DLnJlcygpLHRoaXMuX3dLTUMuYyYmdGhpcy5fd0tNQy5jLmFib3J0KG5ldyBFcnJvcihxdHQpKSxybyh0aGlzLCJkZWF0aCIpfSwiZGllIil9fSk7ZnVuY3Rpb24gUDNhKHQpe3JldHVybiB0LmlzTGVhZGVyP2hpOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3ZhciBhPSExO2Z1bmN0aW9uIHIoKXthfHwoYT0hMCx0LmJyb2FkY2FzdENoYW5uZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLG4pLGUoITApKX1pKHIsImZpbmlzaCIpLHQuYXBwbHlPbmNlKCkudGhlbihmdW5jdGlvbigpe3QuaXNMZWFkZXImJnIoKX0pO3ZhciBzPWkoZnVuY3Rpb24oKXtyZXR1cm4gdTIodC5fb3B0aW9ucy5mYWxsYmFja0ludGVydmFsKS50aGVuKGZ1bmN0aW9uKCl7aWYoISh0LmlzRGVhZHx8YSkpaWYodC5pc0xlYWRlcilyKCk7ZWxzZSByZXR1cm4gdC5hcHBseU9uY2UoITApLnRoZW4oZnVuY3Rpb24oKXt0LmlzTGVhZGVyP3IoKTpzKCl9KX0pfSwidHJ5T25GYWxsQmFjayIpO3MoKTt2YXIgbj1pKGZ1bmN0aW9uKGwpe2wuY29udGV4dD09PSJsZWFkZXIiJiZsLmFjdGlvbj09PSJkZWF0aCImJih0Ll9oYXNMZWFkZXI9ITEsdC5hcHBseU9uY2UoKS50aGVuKGZ1bmN0aW9uKCl7dC5pc0xlYWRlciYmcigpfSkpfSwid2hlbkRlYXRoTGlzdGVuZXIiKTt0LmJyb2FkY2FzdENoYW5uZWwuYWRkRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLG4pLHQuX2xzdG5zLnB1c2gobil9KX1mdW5jdGlvbiBFM2EodCxlKXtyZXR1cm4gdHx8KHQ9e30pLHQ9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0KSksdC5mYWxsYmFja0ludGVydmFsfHwodC5mYWxsYmFja0ludGVydmFsPTNlMyksdC5yZXNwb25zZVRpbWV8fCh0LnJlc3BvbnNlVGltZT1lLm1ldGhvZC5hdmVyYWdlUmVzcG9uc2VUaW1lKGUub3B0aW9ucykpLHR9ZnVuY3Rpb24gSTNhKHQsZSl7aWYodC5fbGVhZGVyRWxlY3Rvcil0aHJvdyBuZXcgRXJyb3IoIkJyb2FkY2FzdENoYW5uZWwgYWxyZWFkeSBoYXMgYSBsZWFkZXItZWxlY3RvciIpO2U9RTNhKGUsdCk7dmFyIGE9cHR0KCk/bmV3IEhhZSh0LGUpOm5ldyBqdHQodCxlKTtyZXR1cm4gdC5fYmVmQy5wdXNoKGZ1bmN0aW9uKCl7cmV0dXJuIGEuZGllKCl9KSx0Ll9sZWFkZXJFbGVjdG9yPWEsYX12YXIganR0LFV0dD1jKCgpPT57SW4oKTtzVSgpO1Z0dCgpO2p0dD1pKGZ1bmN0aW9uKGUsYSl7dmFyIHI9dGhpczt0aGlzLmJyb2FkY2FzdENoYW5uZWw9ZSx0aGlzLl9vcHRpb25zPWEsdGhpcy5pc0xlYWRlcj0hMSx0aGlzLl9oYXNMZWFkZXI9ITEsdGhpcy5pc0RlYWQ9ITEsdGhpcy50b2tlbj10bygpLHRoaXMuX2FwbFE9aGksdGhpcy5fYXBsUUM9MCx0aGlzLl91bmw9W10sdGhpcy5fbHN0bnM9W10sdGhpcy5fZHBMPWZ1bmN0aW9uKCl7fSx0aGlzLl9kcExDPSExO3ZhciBzPWkoZnVuY3Rpb24obyl7by5jb250ZXh0PT09ImxlYWRlciImJihvLmFjdGlvbj09PSJkZWF0aCImJihyLl9oYXNMZWFkZXI9ITEpLG8uYWN0aW9uPT09InRlbGwiJiYoci5faGFzTGVhZGVyPSEwKSl9LCJoYXNMZWFkZXJMaXN0ZW5lciIpO3RoaXMuYnJvYWRjYXN0Q2hhbm5lbC5hZGRFdmVudExpc3RlbmVyKCJpbnRlcm5hbCIscyksdGhpcy5fbHN0bnMucHVzaChzKX0sIkxlYWRlckVsZWN0aW9uIik7anR0LnByb3RvdHlwZT17aGFzTGVhZGVyOmkoZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2hhc0xlYWRlcil9LCJoYXNMZWFkZXIiKSxhcHBseU9uY2U6aShmdW5jdGlvbihlKXt2YXIgYT10aGlzO2lmKHRoaXMuaXNMZWFkZXIpcmV0dXJuIHUyKDAsITApO2lmKHRoaXMuaXNEZWFkKXJldHVybiB1MigwLCExKTtpZih0aGlzLl9hcGxRQz4xKXJldHVybiB0aGlzLl9hcGxRO3ZhciByPWkoZnVuY3Rpb24oKXtpZihhLmlzTGVhZGVyKXJldHVybiBjdHQ7dmFyIG49ITEsbyxsPW5ldyBQcm9taXNlKGZ1bmN0aW9uKGYpe289aShmdW5jdGlvbigpe249ITAsZigpfSwic3RvcENyaXRlcmlhUHJvbWlzZVJlc29sdmUiKX0pLGg9aShmdW5jdGlvbihwKXtwLmNvbnRleHQ9PT0ibGVhZGVyIiYmcC50b2tlbiE9YS50b2tlbiYmKHAuYWN0aW9uPT09ImFwcGx5IiYmcC50b2tlbj5hLnRva2VuJiZvKCkscC5hY3Rpb249PT0idGVsbCImJihvKCksYS5faGFzTGVhZGVyPSEwKSl9LCJoYW5kbGVNZXNzYWdlIik7YS5icm9hZGNhc3RDaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoImludGVybmFsIixoKTt2YXIgdT1lP2EuX29wdGlvbnMucmVzcG9uc2VUaW1lKjQ6YS5fb3B0aW9ucy5yZXNwb25zZVRpbWU7cmV0dXJuIHJvKGEsImFwcGx5IikudGhlbihmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJhY2UoW3UyKHUpLGwudGhlbihmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IpfSldKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gcm8oYSwiYXBwbHkiKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yYWNlKFt1Mih1KSxsLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKX0pXSl9KS5jYXRjaChmdW5jdGlvbigpe30pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gYS5icm9hZGNhc3RDaGFubmVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImludGVybmFsIixoKSxuPyExOmp1KGEpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4hMH0pfSl9LCJhcHBseVJ1biIpO3JldHVybiB0aGlzLl9hcGxRQz10aGlzLl9hcGxRQysxLHRoaXMuX2FwbFE9dGhpcy5fYXBsUS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHIoKX0pLnRoZW4oZnVuY3Rpb24oKXthLl9hcGxRQz1hLl9hcGxRQy0xfSksdGhpcy5fYXBsUS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGEuaXNMZWFkZXJ9KX0sImFwcGx5T25jZSIpLGF3YWl0TGVhZGVyc2hpcDppKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FMUHx8KHRoaXMuX2FMUD1QM2EodGhpcykpLHRoaXMuX2FMUH0sImF3YWl0TGVhZGVyc2hpcCIpLHNldCBvbmR1cGxpY2F0ZSh0KXt0aGlzLl9kcEw9dH0sZGllOmkoZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiB0aGlzLl9sc3Rucy5mb3JFYWNoKGZ1bmN0aW9uKGEpe3JldHVybiBlLmJyb2FkY2FzdENoYW5uZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLGEpfSksdGhpcy5fbHN0bnM9W10sdGhpcy5fdW5sLmZvckVhY2goZnVuY3Rpb24oYSl7cmV0dXJuIGEucmVtb3ZlKCl9KSx0aGlzLl91bmw9W10sdGhpcy5pc0xlYWRlciYmKHRoaXMuX2hhc0xlYWRlcj0hMSx0aGlzLmlzTGVhZGVyPSExKSx0aGlzLmlzRGVhZD0hMCxybyh0aGlzLCJkZWF0aCIpfSwiZGllIil9O2koUDNhLCJfYXdhaXRMZWFkZXJzaGlwT25jZSIpO2koRTNhLCJmaWxsT3B0aW9uc1dpdGhEZWZhdWx0cyIpO2koSTNhLCJjcmVhdGVMZWFkZXJFbGVjdGlvbiIpfSk7dmFyIFd0dD1jKCgpPT57RXR0KCk7VXR0KCk7c1UoKX0pO3ZhciBHdHQ9YygoKT0+e2oyKCk7aTUoKTtXNSgpO1d0dCgpfSk7dmFyIHFhZSxWYWUsWXR0PWMoKCk9PntHdHQoKTtxYWU9Z2xvYmFsVGhpcy5Ccm9hZGNhc3RDaGFubmVsO3FhZXx8KHFhZT1sMCk7VmFlPWNsYXNze3N0YXRpY3tpKHRoaXMsIkRlZXNDb21tcyIpfWNvbnN0cnVjdG9yKCl7dGhpcy5icm9hZGNhc3RDaGFubmVsPW5ldyBxYWUoImRlZXMtY29tbXMiKSx0aGlzLnR5cGVkcm91dGVyPW5ldyBlMS5UeXBlZFJvdXRlcix0aGlzLnR5cGVkdGFyZ2V0PW5ldyBlMS5UeXBlZFRhcmdldCh7cG9zdE1ldGhvZFdpdGhUeXBlZFJvdXRlcjppKGFzeW5jIGU9Pnt0aGlzLnBvc3RNZXNzYWdlKGUpfSwicG9zdE1ldGhvZFdpdGhUeXBlZFJvdXRlciIpLHR5cGVkUm91dGVyUmVmOnRoaXMudHlwZWRyb3V0ZXJ9KSx0aGlzLmJyb2FkY2FzdENoYW5uZWwub25tZXNzYWdlPWFzeW5jIGU9PntsZXQgYT1lLm1ldGhvZD9lOmUuZGF0YTtjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeShhKSk7bGV0IHI9YXdhaXQgdGhpcy50eXBlZHJvdXRlci5yb3V0ZUFuZEFkZFJlc3BvbnNlKGEse3NraXBIb29rczohMH0pO3ImJiFyLmVycm9yJiZ0aGlzLnBvc3RNZXNzYWdlKHIpfX1jcmVhdGVUeXBlZFJlcXVlc3QoZSl7cmV0dXJuIG5ldyBlMS5UeXBlZFJlcXVlc3QodGhpcy50eXBlZHRhcmdldCxlKX1hc3luYyBwb3N0TWVzc2FnZShlKXt0aGlzLmJyb2FkY2FzdENoYW5uZWwucG9zdE1lc3NhZ2UoZSl9YXN5bmMgY3JlYXRlVHlwZWRIYW5kbGVyKGUsYSl7dGhpcy50eXBlZHJvdXRlci5hZGRUeXBlZEhhbmRsZXIobmV3IGUxLlR5cGVkSGFuZGxlcihlLGEpKX19fSk7dmFyIFV1PXt9O2V0KFV1LHtEZWVzQ29tbXM6KCk9PlZhZX0pO3ZhciBadHQ9YygoKT0+e1l0dCgpfSk7dmFyIHAwPXd0KCh3aDEsZDApPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIFh0dCh0KXtyZXR1cm4gdHlwZW9mIHQ+InUifHx0PT09bnVsbH1pKFh0dCwiaXNOb3RoaW5nIik7ZnVuY3Rpb24gUjNhKHQpe3JldHVybiB0eXBlb2YgdD09Im9iamVjdCImJnQhPT1udWxsfWkoUjNhLCJpc09iamVjdCIpO2Z1bmN0aW9uIEYzYSh0KXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT90Olh0dCh0KT9bXTpbdF19aShGM2EsInRvQXJyYXkiKTtmdW5jdGlvbiBPM2EodCxlKXt2YXIgYSxyLHMsbjtpZihlKWZvcihuPU9iamVjdC5rZXlzKGUpLGE9MCxyPW4ubGVuZ3RoO2E8cjthKz0xKXM9blthXSx0W3NdPWVbc107cmV0dXJuIHR9aShPM2EsImV4dGVuZCIpO2Z1bmN0aW9uIEIzYSh0LGUpe3ZhciBhPSIiLHI7Zm9yKHI9MDtyPGU7cis9MSlhKz10O3JldHVybiBhfWkoQjNhLCJyZXBlYXQiKTtmdW5jdGlvbiBIM2EodCl7cmV0dXJuIHQ9PT0wJiZOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk9PT0xL3R9aShIM2EsImlzTmVnYXRpdmVaZXJvIiksZDAuZXhwb3J0cy5pc05vdGhpbmc9WHR0LGQwLmV4cG9ydHMuaXNPYmplY3Q9UjNhLGQwLmV4cG9ydHMudG9BcnJheT1GM2EsZDAuZXhwb3J0cy5yZXBlYXQ9QjNhLGQwLmV4cG9ydHMuaXNOZWdhdGl2ZVplcm89SDNhLGQwLmV4cG9ydHMuZXh0ZW5kPU8zYX0pO3ZhciBZNT13dCgoa2gxLEt0dCk9PnsidXNlIHN0cmljdCI7ZnVuY3Rpb24gV3UodCxlKXtFcnJvci5jYWxsKHRoaXMpLHRoaXMubmFtZT0iWUFNTEV4Y2VwdGlvbiIsdGhpcy5yZWFzb249dCx0aGlzLm1hcms9ZSx0aGlzLm1lc3NhZ2U9KHRoaXMucmVhc29ufHwiKHVua25vd24gcmVhc29uKSIpKyh0aGlzLm1hcms/IiAiK3RoaXMubWFyay50b1N0cmluZygpOiIiKSxFcnJvci5jYXB0dXJlU3RhY2tUcmFjZT9FcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLHRoaXMuY29uc3RydWN0b3IpOnRoaXMuc3RhY2s9bmV3IEVycm9yKCkuc3RhY2t8fCIifWkoV3UsIllBTUxFeGNlcHRpb24iKSxXdS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpLFd1LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1XdSxXdS5wcm90b3R5cGUudG9TdHJpbmc9aShmdW5jdGlvbihlKXt2YXIgYT10aGlzLm5hbWUrIjogIjtyZXR1cm4gYSs9dGhpcy5yZWFzb258fCIodW5rbm93biByZWFzb24pIiwhZSYmdGhpcy5tYXJrJiYoYSs9IiAiK3RoaXMubWFyay50b1N0cmluZygpKSxhfSwidG9TdHJpbmciKSxLdHQuZXhwb3J0cz1XdX0pO3ZhciBlYXQ9d3QoKFNoMSxKdHQpPT57InVzZSBzdHJpY3QiO3ZhciBRdHQ9cDAoKTtmdW5jdGlvbiBqYWUodCxlLGEscixzKXt0aGlzLm5hbWU9dCx0aGlzLmJ1ZmZlcj1lLHRoaXMucG9zaXRpb249YSx0aGlzLmxpbmU9cix0aGlzLmNvbHVtbj1zfWkoamFlLCJNYXJrIiksamFlLnByb3RvdHlwZS5nZXRTbmlwcGV0PWkoZnVuY3Rpb24oZSxhKXt2YXIgcixzLG4sbyxsO2lmKCF0aGlzLmJ1ZmZlcilyZXR1cm4gbnVsbDtmb3IoZT1lfHw0LGE9YXx8NzUscj0iIixzPXRoaXMucG9zaXRpb247cz4wJiZgXDBccgpceDg1XHUyMDI4XHUyMDI5YC5pbmRleE9mKHRoaXMuYnVmZmVyLmNoYXJBdChzLTEpKT09PS0xOylpZihzLT0xLHRoaXMucG9zaXRpb24tcz5hLzItMSl7cj0iIC4uLiAiLHMrPTU7YnJlYWt9Zm9yKG49IiIsbz10aGlzLnBvc2l0aW9uO288dGhpcy5idWZmZXIubGVuZ3RoJiZgXDBccgpceDg1XHUyMDI4XHUyMDI5YC5pbmRleE9mKHRoaXMuYnVmZmVyLmNoYXJBdChvKSk9PT0tMTspaWYobys9MSxvLXRoaXMucG9zaXRpb24+YS8yLTEpe249IiAuLi4gIixvLT01O2JyZWFrfXJldHVybiBsPXRoaXMuYnVmZmVyLnNsaWNlKHMsbyksUXR0LnJlcGVhdCgiICIsZSkrcitsK24rYApgK1F0dC5yZXBlYXQoIiAiLGUrdGhpcy5wb3NpdGlvbi1zK3IubGVuZ3RoKSsiXiJ9LCJnZXRTbmlwcGV0IiksamFlLnByb3RvdHlwZS50b1N0cmluZz1pKGZ1bmN0aW9uKGUpe3ZhciBhLHI9IiI7cmV0dXJuIHRoaXMubmFtZSYmKHIrPSdpbiAiJyt0aGlzLm5hbWUrJyIgJykscis9ImF0IGxpbmUgIisodGhpcy5saW5lKzEpKyIsIGNvbHVtbiAiKyh0aGlzLmNvbHVtbisxKSxlfHwoYT10aGlzLmdldFNuaXBwZXQoKSxhJiYocis9YDoKYCthKSkscn0sInRvU3RyaW5nIiksSnR0LmV4cG9ydHM9amFlfSk7dmFyICQxPXd0KChfaDEsYWF0KT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgdGF0PVk1KCkscTNhPVsia2luZCIsInJlc29sdmUiLCJjb25zdHJ1Y3QiLCJpbnN0YW5jZU9mIiwicHJlZGljYXRlIiwicmVwcmVzZW50IiwiZGVmYXVsdFN0eWxlIiwic3R5bGVBbGlhc2VzIl0sVjNhPVsic2NhbGFyIiwic2VxdWVuY2UiLCJtYXBwaW5nIl07ZnVuY3Rpb24gajNhKHQpe3ZhciBlPXt9O3JldHVybiB0IT09bnVsbCYmT2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihhKXt0W2FdLmZvckVhY2goZnVuY3Rpb24ocil7ZVtTdHJpbmcocildPWF9KX0pLGV9aShqM2EsImNvbXBpbGVTdHlsZUFsaWFzZXMiKTtmdW5jdGlvbiBVM2EodCxlKXtpZihlPWV8fHt9LE9iamVjdC5rZXlzKGUpLmZvckVhY2goZnVuY3Rpb24oYSl7aWYocTNhLmluZGV4T2YoYSk9PT0tMSl0aHJvdyBuZXcgdGF0KCdVbmtub3duIG9wdGlvbiAiJythKyciIGlzIG1ldCBpbiBkZWZpbml0aW9uIG9mICInK3QrJyIgWUFNTCB0eXBlLicpfSksdGhpcy50YWc9dCx0aGlzLmtpbmQ9ZS5raW5kfHxudWxsLHRoaXMucmVzb2x2ZT1lLnJlc29sdmV8fGZ1bmN0aW9uKCl7cmV0dXJuITB9LHRoaXMuY29uc3RydWN0PWUuY29uc3RydWN0fHxmdW5jdGlvbihhKXtyZXR1cm4gYX0sdGhpcy5pbnN0YW5jZU9mPWUuaW5zdGFuY2VPZnx8bnVsbCx0aGlzLnByZWRpY2F0ZT1lLnByZWRpY2F0ZXx8bnVsbCx0aGlzLnJlcHJlc2VudD1lLnJlcHJlc2VudHx8bnVsbCx0aGlzLmRlZmF1bHRTdHlsZT1lLmRlZmF1bHRTdHlsZXx8bnVsbCx0aGlzLnN0eWxlQWxpYXNlcz1qM2EoZS5zdHlsZUFsaWFzZXN8fG51bGwpLFYzYS5pbmRleE9mKHRoaXMua2luZCk9PT0tMSl0aHJvdyBuZXcgdGF0KCdVbmtub3duIGtpbmQgIicrdGhpcy5raW5kKyciIGlzIHNwZWNpZmllZCBmb3IgIicrdCsnIiBZQU1MIHR5cGUuJyl9aShVM2EsIlR5cGUiKSxhYXQuZXhwb3J0cz1VM2F9KTt2YXIgdTA9d3QoKExoMSxpYXQpPT57InVzZSBzdHJpY3QiO3ZhciByYXQ9cDAoKSxvVT1ZNSgpLFczYT0kMSgpO2Z1bmN0aW9uIFVhZSh0LGUsYSl7dmFyIHI9W107cmV0dXJuIHQuaW5jbHVkZS5mb3JFYWNoKGZ1bmN0aW9uKHMpe2E9VWFlKHMsZSxhKX0pLHRbZV0uZm9yRWFjaChmdW5jdGlvbihzKXthLmZvckVhY2goZnVuY3Rpb24obixvKXtuLnRhZz09PXMudGFnJiZuLmtpbmQ9PT1zLmtpbmQmJnIucHVzaChvKX0pLGEucHVzaChzKX0pLGEuZmlsdGVyKGZ1bmN0aW9uKHMsbil7cmV0dXJuIHIuaW5kZXhPZihuKT09PS0xfSl9aShVYWUsImNvbXBpbGVMaXN0Iik7ZnVuY3Rpb24gRzNhKCl7dmFyIHQ9e3NjYWxhcjp7fSxzZXF1ZW5jZTp7fSxtYXBwaW5nOnt9LGZhbGxiYWNrOnt9fSxlLGE7ZnVuY3Rpb24gcihzKXt0W3Mua2luZF1bcy50YWddPXQuZmFsbGJhY2tbcy50YWddPXN9Zm9yKGkociwiY29sbGVjdFR5cGUiKSxlPTAsYT1hcmd1bWVudHMubGVuZ3RoO2U8YTtlKz0xKWFyZ3VtZW50c1tlXS5mb3JFYWNoKHIpO3JldHVybiB0fWkoRzNhLCJjb21waWxlTWFwIik7ZnVuY3Rpb24gWjUodCl7dGhpcy5pbmNsdWRlPXQuaW5jbHVkZXx8W10sdGhpcy5pbXBsaWNpdD10LmltcGxpY2l0fHxbXSx0aGlzLmV4cGxpY2l0PXQuZXhwbGljaXR8fFtdLHRoaXMuaW1wbGljaXQuZm9yRWFjaChmdW5jdGlvbihlKXtpZihlLmxvYWRLaW5kJiZlLmxvYWRLaW5kIT09InNjYWxhciIpdGhyb3cgbmV3IG9VKCJUaGVyZSBpcyBhIG5vbi1zY2FsYXIgdHlwZSBpbiB0aGUgaW1wbGljaXQgbGlzdCBvZiBhIHNjaGVtYS4gSW1wbGljaXQgcmVzb2x2aW5nIG9mIHN1Y2ggdHlwZXMgaXMgbm90IHN1cHBvcnRlZC4iKX0pLHRoaXMuY29tcGlsZWRJbXBsaWNpdD1VYWUodGhpcywiaW1wbGljaXQiLFtdKSx0aGlzLmNvbXBpbGVkRXhwbGljaXQ9VWFlKHRoaXMsImV4cGxpY2l0IixbXSksdGhpcy5jb21waWxlZFR5cGVNYXA9RzNhKHRoaXMuY29tcGlsZWRJbXBsaWNpdCx0aGlzLmNvbXBpbGVkRXhwbGljaXQpfWkoWjUsIlNjaGVtYSIpLFo1LkRFRkFVTFQ9bnVsbCxaNS5jcmVhdGU9aShmdW5jdGlvbigpe3ZhciBlLGE7c3dpdGNoKGFyZ3VtZW50cy5sZW5ndGgpe2Nhc2UgMTplPVo1LkRFRkFVTFQsYT1hcmd1bWVudHNbMF07YnJlYWs7Y2FzZSAyOmU9YXJndW1lbnRzWzBdLGE9YXJndW1lbnRzWzFdO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IG9VKCJXcm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIGZvciBTY2hlbWEuY3JlYXRlIGZ1bmN0aW9uIil9aWYoZT1yYXQudG9BcnJheShlKSxhPXJhdC50b0FycmF5KGEpLCFlLmV2ZXJ5KGZ1bmN0aW9uKHIpe3JldHVybiByIGluc3RhbmNlb2YgWjV9KSl0aHJvdyBuZXcgb1UoIlNwZWNpZmllZCBsaXN0IG9mIHN1cGVyIHNjaGVtYXMgKG9yIGEgc2luZ2xlIFNjaGVtYSBvYmplY3QpIGNvbnRhaW5zIGEgbm9uLVNjaGVtYSBvYmplY3QuIik7aWYoIWEuZXZlcnkoZnVuY3Rpb24ocil7cmV0dXJuIHIgaW5zdGFuY2VvZiBXM2F9KSl0aHJvdyBuZXcgb1UoIlNwZWNpZmllZCBsaXN0IG9mIFlBTUwgdHlwZXMgKG9yIGEgc2luZ2xlIFR5cGUgb2JqZWN0KSBjb250YWlucyBhIG5vbi1UeXBlIG9iamVjdC4iKTtyZXR1cm4gbmV3IFo1KHtpbmNsdWRlOmUsZXhwbGljaXQ6YX0pfSwiY3JlYXRlU2NoZW1hIiksaWF0LmV4cG9ydHM9WjV9KTt2YXIgb2F0PXd0KChEaDEsc2F0KT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgWTNhPSQxKCk7c2F0LmV4cG9ydHM9bmV3IFkzYSgidGFnOnlhbWwub3JnLDIwMDI6c3RyIix7a2luZDoic2NhbGFyIixjb25zdHJ1Y3Q6aShmdW5jdGlvbih0KXtyZXR1cm4gdCE9PW51bGw/dDoiIn0sImNvbnN0cnVjdCIpfSl9KTt2YXIgbGF0PXd0KChQaDEsbmF0KT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgWjNhPSQxKCk7bmF0LmV4cG9ydHM9bmV3IFozYSgidGFnOnlhbWwub3JnLDIwMDI6c2VxIix7a2luZDoic2VxdWVuY2UiLGNvbnN0cnVjdDppKGZ1bmN0aW9uKHQpe3JldHVybiB0IT09bnVsbD90OltdfSwiY29uc3RydWN0Iil9KX0pO3ZhciBkYXQ9d3QoKEloMSxjYXQpPT57InVzZSBzdHJpY3QiO3ZhciBYM2E9JDEoKTtjYXQuZXhwb3J0cz1uZXcgWDNhKCJ0YWc6eWFtbC5vcmcsMjAwMjptYXAiLHtraW5kOiJtYXBwaW5nIixjb25zdHJ1Y3Q6aShmdW5jdGlvbih0KXtyZXR1cm4gdCE9PW51bGw/dDp7fX0sImNvbnN0cnVjdCIpfSl9KTt2YXIgblU9d3QoKFJoMSxwYXQpPT57InVzZSBzdHJpY3QiO3ZhciBLM2E9dTAoKTtwYXQuZXhwb3J0cz1uZXcgSzNhKHtleHBsaWNpdDpbb2F0KCksbGF0KCksZGF0KCldfSl9KTt2YXIgZmF0PXd0KChGaDEsdWF0KT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgUTNhPSQxKCk7ZnVuY3Rpb24gSjNhKHQpe2lmKHQ9PT1udWxsKXJldHVybiEwO3ZhciBlPXQubGVuZ3RoO3JldHVybiBlPT09MSYmdD09PSJ+Inx8ZT09PTQmJih0PT09Im51bGwifHx0PT09Ik51bGwifHx0PT09Ik5VTEwiKX1pKEozYSwicmVzb2x2ZVlhbWxOdWxsIik7ZnVuY3Rpb24gZWRhKCl7cmV0dXJuIG51bGx9aShlZGEsImNvbnN0cnVjdFlhbWxOdWxsIik7ZnVuY3Rpb24gdGRhKHQpe3JldHVybiB0PT09bnVsbH1pKHRkYSwiaXNOdWxsIiksdWF0LmV4cG9ydHM9bmV3IFEzYSgidGFnOnlhbWwub3JnLDIwMDI6bnVsbCIse2tpbmQ6InNjYWxhciIscmVzb2x2ZTpKM2EsY29uc3RydWN0OmVkYSxwcmVkaWNhdGU6dGRhLHJlcHJlc2VudDp7Y2Fub25pY2FsOmkoZnVuY3Rpb24oKXtyZXR1cm4ifiJ9LCJjYW5vbmljYWwiKSxsb3dlcmNhc2U6aShmdW5jdGlvbigpe3JldHVybiJudWxsIn0sImxvd2VyY2FzZSIpLHVwcGVyY2FzZTppKGZ1bmN0aW9uKCl7cmV0dXJuIk5VTEwifSwidXBwZXJjYXNlIiksY2FtZWxjYXNlOmkoZnVuY3Rpb24oKXtyZXR1cm4iTnVsbCJ9LCJjYW1lbGNhc2UiKX0sZGVmYXVsdFN0eWxlOiJsb3dlcmNhc2UifSl9KTt2YXIgbWF0PXd0KChCaDEsaGF0KT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgYWRhPSQxKCk7ZnVuY3Rpb24gcmRhKHQpe2lmKHQ9PT1udWxsKXJldHVybiExO3ZhciBlPXQubGVuZ3RoO3JldHVybiBlPT09NCYmKHQ9PT0idHJ1ZSJ8fHQ9PT0iVHJ1ZSJ8fHQ9PT0iVFJVRSIpfHxlPT09NSYmKHQ9PT0iZmFsc2UifHx0PT09IkZhbHNlInx8dD09PSJGQUxTRSIpfWkocmRhLCJyZXNvbHZlWWFtbEJvb2xlYW4iKTtmdW5jdGlvbiBpZGEodCl7cmV0dXJuIHQ9PT0idHJ1ZSJ8fHQ9PT0iVHJ1ZSJ8fHQ9PT0iVFJVRSJ9aShpZGEsImNvbnN0cnVjdFlhbWxCb29sZWFuIik7ZnVuY3Rpb24gc2RhKHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCk9PT0iW29iamVjdCBCb29sZWFuXSJ9aShzZGEsImlzQm9vbGVhbiIpLGhhdC5leHBvcnRzPW5ldyBhZGEoInRhZzp5YW1sLm9yZywyMDAyOmJvb2wiLHtraW5kOiJzY2FsYXIiLHJlc29sdmU6cmRhLGNvbnN0cnVjdDppZGEscHJlZGljYXRlOnNkYSxyZXByZXNlbnQ6e2xvd2VyY2FzZTppKGZ1bmN0aW9uKHQpe3JldHVybiB0PyJ0cnVlIjoiZmFsc2UifSwibG93ZXJjYXNlIiksdXBwZXJjYXNlOmkoZnVuY3Rpb24odCl7cmV0dXJuIHQ/IlRSVUUiOiJGQUxTRSJ9LCJ1cHBlcmNhc2UiKSxjYW1lbGNhc2U6aShmdW5jdGlvbih0KXtyZXR1cm4gdD8iVHJ1ZSI6IkZhbHNlIn0sImNhbWVsY2FzZSIpfSxkZWZhdWx0U3R5bGU6Imxvd2VyY2FzZSJ9KX0pO3ZhciBiYXQ9d3QoKHFoMSxnYXQpPT57InVzZSBzdHJpY3QiO3ZhciBvZGE9cDAoKSxuZGE9JDEoKTtmdW5jdGlvbiBsZGEodCl7cmV0dXJuIDQ4PD10JiZ0PD01N3x8NjU8PXQmJnQ8PTcwfHw5Nzw9dCYmdDw9MTAyfWkobGRhLCJpc0hleENvZGUiKTtmdW5jdGlvbiBjZGEodCl7cmV0dXJuIDQ4PD10JiZ0PD01NX1pKGNkYSwiaXNPY3RDb2RlIik7ZnVuY3Rpb24gZGRhKHQpe3JldHVybiA0ODw9dCYmdDw9NTd9aShkZGEsImlzRGVjQ29kZSIpO2Z1bmN0aW9uIHBkYSh0KXtpZih0PT09bnVsbClyZXR1cm4hMTt2YXIgZT10Lmxlbmd0aCxhPTAscj0hMSxzO2lmKCFlKXJldHVybiExO2lmKHM9dFthXSwocz09PSItInx8cz09PSIrIikmJihzPXRbKythXSkscz09PSIwIil7aWYoYSsxPT09ZSlyZXR1cm4hMDtpZihzPXRbKythXSxzPT09ImIiKXtmb3IoYSsrO2E8ZTthKyspaWYocz10W2FdLHMhPT0iXyIpe2lmKHMhPT0iMCImJnMhPT0iMSIpcmV0dXJuITE7cj0hMH1yZXR1cm4gciYmcyE9PSJfIn1pZihzPT09IngiKXtmb3IoYSsrO2E8ZTthKyspaWYocz10W2FdLHMhPT0iXyIpe2lmKCFsZGEodC5jaGFyQ29kZUF0KGEpKSlyZXR1cm4hMTtyPSEwfXJldHVybiByJiZzIT09Il8ifWZvcig7YTxlO2ErKylpZihzPXRbYV0scyE9PSJfIil7aWYoIWNkYSh0LmNoYXJDb2RlQXQoYSkpKXJldHVybiExO3I9ITB9cmV0dXJuIHImJnMhPT0iXyJ9aWYocz09PSJfIilyZXR1cm4hMTtmb3IoO2E8ZTthKyspaWYocz10W2FdLHMhPT0iXyIpe2lmKHM9PT0iOiIpYnJlYWs7aWYoIWRkYSh0LmNoYXJDb2RlQXQoYSkpKXJldHVybiExO3I9ITB9cmV0dXJuIXJ8fHM9PT0iXyI/ITE6cyE9PSI6Ij8hMDovXig6WzAtNV0/WzAtOV0pKyQvLnRlc3QodC5zbGljZShhKSl9aShwZGEsInJlc29sdmVZYW1sSW50ZWdlciIpO2Z1bmN0aW9uIHVkYSh0KXt2YXIgZT10LGE9MSxyLHMsbj1bXTtyZXR1cm4gZS5pbmRleE9mKCJfIikhPT0tMSYmKGU9ZS5yZXBsYWNlKC9fL2csIiIpKSxyPWVbMF0sKHI9PT0iLSJ8fHI9PT0iKyIpJiYocj09PSItIiYmKGE9LTEpLGU9ZS5zbGljZSgxKSxyPWVbMF0pLGU9PT0iMCI/MDpyPT09IjAiP2VbMV09PT0iYiI/YSpwYXJzZUludChlLnNsaWNlKDIpLDIpOmVbMV09PT0ieCI/YSpwYXJzZUludChlLDE2KTphKnBhcnNlSW50KGUsOCk6ZS5pbmRleE9mKCI6IikhPT0tMT8oZS5zcGxpdCgiOiIpLmZvckVhY2goZnVuY3Rpb24obyl7bi51bnNoaWZ0KHBhcnNlSW50KG8sMTApKX0pLGU9MCxzPTEsbi5mb3JFYWNoKGZ1bmN0aW9uKG8pe2UrPW8qcyxzKj02MH0pLGEqZSk6YSpwYXJzZUludChlLDEwKX1pKHVkYSwiY29uc3RydWN0WWFtbEludGVnZXIiKTtmdW5jdGlvbiBmZGEodCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KT09PSJbb2JqZWN0IE51bWJlcl0iJiZ0JTE9PT0wJiYhb2RhLmlzTmVnYXRpdmVaZXJvKHQpfWkoZmRhLCJpc0ludGVnZXIiKSxnYXQuZXhwb3J0cz1uZXcgbmRhKCJ0YWc6eWFtbC5vcmcsMjAwMjppbnQiLHtraW5kOiJzY2FsYXIiLHJlc29sdmU6cGRhLGNvbnN0cnVjdDp1ZGEscHJlZGljYXRlOmZkYSxyZXByZXNlbnQ6e2JpbmFyeTppKGZ1bmN0aW9uKHQpe3JldHVybiB0Pj0wPyIwYiIrdC50b1N0cmluZygyKToiLTBiIit0LnRvU3RyaW5nKDIpLnNsaWNlKDEpfSwiYmluYXJ5Iiksb2N0YWw6aShmdW5jdGlvbih0KXtyZXR1cm4gdD49MD8iMCIrdC50b1N0cmluZyg4KToiLTAiK3QudG9TdHJpbmcoOCkuc2xpY2UoMSl9LCJvY3RhbCIpLGRlY2ltYWw6aShmdW5jdGlvbih0KXtyZXR1cm4gdC50b1N0cmluZygxMCl9LCJkZWNpbWFsIiksaGV4YWRlY2ltYWw6aShmdW5jdGlvbih0KXtyZXR1cm4gdD49MD8iMHgiK3QudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk6Ii0weCIrdC50b1N0cmluZygxNikudG9VcHBlckNhc2UoKS5zbGljZSgxKX0sImhleGFkZWNpbWFsIil9LGRlZmF1bHRTdHlsZToiZGVjaW1hbCIsc3R5bGVBbGlhc2VzOntiaW5hcnk6WzIsImJpbiJdLG9jdGFsOls4LCJvY3QiXSxkZWNpbWFsOlsxMCwiZGVjIl0saGV4YWRlY2ltYWw6WzE2LCJoZXgiXX19KX0pO3ZhciB5YXQ9d3QoKGpoMSx4YXQpPT57InVzZSBzdHJpY3QiO3ZhciB2YXQ9cDAoKSxoZGE9JDEoKSxtZGE9bmV3IFJlZ0V4cCgiXig/OlstK10/KD86MHxbMS05XVswLTlfXSopKD86XFwuWzAtOV9dKik/KD86W2VFXVstK10/WzAtOV0rKT98XFwuWzAtOV9dKyg/OltlRV1bLStdP1swLTldKyk/fFstK10/WzAtOV1bMC05X10qKD86OlswLTVdP1swLTldKStcXC5bMC05X10qfFstK10/XFwuKD86aW5mfEluZnxJTkYpfFxcLig/Om5hbnxOYU58TkFOKSkkIik7ZnVuY3Rpb24gZ2RhKHQpe3JldHVybiEodD09PW51bGx8fCFtZGEudGVzdCh0KXx8dFt0Lmxlbmd0aC0xXT09PSJfIil9aShnZGEsInJlc29sdmVZYW1sRmxvYXQiKTtmdW5jdGlvbiBiZGEodCl7dmFyIGUsYSxyLHM7cmV0dXJuIGU9dC5yZXBsYWNlKC9fL2csIiIpLnRvTG93ZXJDYXNlKCksYT1lWzBdPT09Ii0iPy0xOjEscz1bXSwiKy0iLmluZGV4T2YoZVswXSk+PTAmJihlPWUuc2xpY2UoMSkpLGU9PT0iLmluZiI/YT09PTE/TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZOk51bWJlci5ORUdBVElWRV9JTkZJTklUWTplPT09Ii5uYW4iP05hTjplLmluZGV4T2YoIjoiKT49MD8oZS5zcGxpdCgiOiIpLmZvckVhY2goZnVuY3Rpb24obil7cy51bnNoaWZ0KHBhcnNlRmxvYXQobiwxMCkpfSksZT0wLHI9MSxzLmZvckVhY2goZnVuY3Rpb24obil7ZSs9bipyLHIqPTYwfSksYSplKTphKnBhcnNlRmxvYXQoZSwxMCl9aShiZGEsImNvbnN0cnVjdFlhbWxGbG9hdCIpO3ZhciB2ZGE9L15bLStdP1swLTldK2UvO2Z1bmN0aW9uIHhkYSh0LGUpe3ZhciBhO2lmKGlzTmFOKHQpKXN3aXRjaChlKXtjYXNlImxvd2VyY2FzZSI6cmV0dXJuIi5uYW4iO2Nhc2UidXBwZXJjYXNlIjpyZXR1cm4iLk5BTiI7Y2FzZSJjYW1lbGNhc2UiOnJldHVybiIuTmFOIn1lbHNlIGlmKE51bWJlci5QT1NJVElWRV9JTkZJTklUWT09PXQpc3dpdGNoKGUpe2Nhc2UibG93ZXJjYXNlIjpyZXR1cm4iLmluZiI7Y2FzZSJ1cHBlcmNhc2UiOnJldHVybiIuSU5GIjtjYXNlImNhbWVsY2FzZSI6cmV0dXJuIi5JbmYifWVsc2UgaWYoTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZPT09dClzd2l0Y2goZSl7Y2FzZSJsb3dlcmNhc2UiOnJldHVybiItLmluZiI7Y2FzZSJ1cHBlcmNhc2UiOnJldHVybiItLklORiI7Y2FzZSJjYW1lbGNhc2UiOnJldHVybiItLkluZiJ9ZWxzZSBpZih2YXQuaXNOZWdhdGl2ZVplcm8odCkpcmV0dXJuIi0wLjAiO3JldHVybiBhPXQudG9TdHJpbmcoMTApLHZkYS50ZXN0KGEpP2EucmVwbGFjZSgiZSIsIi5lIik6YX1pKHhkYSwicmVwcmVzZW50WWFtbEZsb2F0Iik7ZnVuY3Rpb24geWRhKHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCk9PT0iW29iamVjdCBOdW1iZXJdIiYmKHQlMSE9PTB8fHZhdC5pc05lZ2F0aXZlWmVybyh0KSl9aSh5ZGEsImlzRmxvYXQiKSx4YXQuZXhwb3J0cz1uZXcgaGRhKCJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdCIse2tpbmQ6InNjYWxhciIscmVzb2x2ZTpnZGEsY29uc3RydWN0OmJkYSxwcmVkaWNhdGU6eWRhLHJlcHJlc2VudDp4ZGEsZGVmYXVsdFN0eWxlOiJsb3dlcmNhc2UifSl9KTt2YXIgV2FlPXd0KChXaDEsd2F0KT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgd2RhPXUwKCk7d2F0LmV4cG9ydHM9bmV3IHdkYSh7aW5jbHVkZTpbblUoKV0saW1wbGljaXQ6W2ZhdCgpLG1hdCgpLGJhdCgpLHlhdCgpXX0pfSk7dmFyIEdhZT13dCgoR2gxLE1hdCk9PnsidXNlIHN0cmljdCI7dmFyIE1kYT11MCgpO01hdC5leHBvcnRzPW5ldyBNZGEoe2luY2x1ZGU6W1dhZSgpXX0pfSk7dmFyIENhdD13dCgoWWgxLFNhdCk9PnsidXNlIHN0cmljdCI7dmFyIGtkYT0kMSgpLGthdD1uZXcgUmVnRXhwKCJeKFswLTldWzAtOV1bMC05XVswLTldKS0oWzAtOV1bMC05XSktKFswLTldWzAtOV0pJCIpLHphdD1uZXcgUmVnRXhwKCJeKFswLTldWzAtOV1bMC05XVswLTldKS0oWzAtOV1bMC05XT8pLShbMC05XVswLTldPykoPzpbVHRdfFsgXFx0XSspKFswLTldWzAtOV0/KTooWzAtOV1bMC05XSk6KFswLTldWzAtOV0pKD86XFwuKFswLTldKikpPyg/OlsgXFx0XSooWnwoWy0rXSkoWzAtOV1bMC05XT8pKD86OihbMC05XVswLTldKSk/KSk/JCIpO2Z1bmN0aW9uIHpkYSh0KXtyZXR1cm4gdD09PW51bGw/ITE6a2F0LmV4ZWModCkhPT1udWxsfHx6YXQuZXhlYyh0KSE9PW51bGx9aSh6ZGEsInJlc29sdmVZYW1sVGltZXN0YW1wIik7ZnVuY3Rpb24gU2RhKHQpe3ZhciBlLGEscixzLG4sbyxsLGg9MCx1PW51bGwsZixwLGc7aWYoZT1rYXQuZXhlYyh0KSxlPT09bnVsbCYmKGU9emF0LmV4ZWModCkpLGU9PT1udWxsKXRocm93IG5ldyBFcnJvcigiRGF0ZSByZXNvbHZlIGVycm9yIik7aWYoYT0rZVsxXSxyPStlWzJdLTEscz0rZVszXSwhZVs0XSlyZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMoYSxyLHMpKTtpZihuPStlWzRdLG89K2VbNV0sbD0rZVs2XSxlWzddKXtmb3IoaD1lWzddLnNsaWNlKDAsMyk7aC5sZW5ndGg8MzspaCs9IjAiO2g9K2h9cmV0dXJuIGVbOV0mJihmPStlWzEwXSxwPSsoZVsxMV18fDApLHU9KGYqNjArcCkqNmU0LGVbOV09PT0iLSImJih1PS11KSksZz1uZXcgRGF0ZShEYXRlLlVUQyhhLHIscyxuLG8sbCxoKSksdSYmZy5zZXRUaW1lKGcuZ2V0VGltZSgpLXUpLGd9aShTZGEsImNvbnN0cnVjdFlhbWxUaW1lc3RhbXAiKTtmdW5jdGlvbiBDZGEodCl7cmV0dXJuIHQudG9JU09TdHJpbmcoKX1pKENkYSwicmVwcmVzZW50WWFtbFRpbWVzdGFtcCIpLFNhdC5leHBvcnRzPW5ldyBrZGEoInRhZzp5YW1sLm9yZywyMDAyOnRpbWVzdGFtcCIse2tpbmQ6InNjYWxhciIscmVzb2x2ZTp6ZGEsY29uc3RydWN0OlNkYSxpbnN0YW5jZU9mOkRhdGUscmVwcmVzZW50OkNkYX0pfSk7dmFyIFRhdD13dCgoWGgxLF9hdCk9PnsidXNlIHN0cmljdCI7dmFyIF9kYT0kMSgpO2Z1bmN0aW9uIFRkYSh0KXtyZXR1cm4gdD09PSI8PCJ8fHQ9PT1udWxsfWkoVGRhLCJyZXNvbHZlWWFtbE1lcmdlIiksX2F0LmV4cG9ydHM9bmV3IF9kYSgidGFnOnlhbWwub3JnLDIwMDI6bWVyZ2UiLHtraW5kOiJzY2FsYXIiLHJlc29sdmU6VGRhfSl9KTt2YXIgRGF0PXd0KChRaDEsJGF0KT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgZjA7dHJ5e0xhdD1pSCxmMD1MYXQoImJ1ZmZlciIpLkJ1ZmZlcn1jYXRjaHt9dmFyIExkYT0kMSgpLFlhZT1gQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLz0KXHJgO2Z1bmN0aW9uICRkYSh0KXtpZih0PT09bnVsbClyZXR1cm4hMTt2YXIgZSxhLHI9MCxzPXQubGVuZ3RoLG49WWFlO2ZvcihhPTA7YTxzO2ErKylpZihlPW4uaW5kZXhPZih0LmNoYXJBdChhKSksIShlPjY0KSl7aWYoZTwwKXJldHVybiExO3IrPTZ9cmV0dXJuIHIlOD09PTB9aSgkZGEsInJlc29sdmVZYW1sQmluYXJ5Iik7ZnVuY3Rpb24gRGRhKHQpe3ZhciBlLGEscj10LnJlcGxhY2UoL1tcclxuPV0vZywiIikscz1yLmxlbmd0aCxuPVlhZSxvPTAsbD1bXTtmb3IoZT0wO2U8cztlKyspZSU0PT09MCYmZSYmKGwucHVzaChvPj4xNiYyNTUpLGwucHVzaChvPj44JjI1NSksbC5wdXNoKG8mMjU1KSksbz1vPDw2fG4uaW5kZXhPZihyLmNoYXJBdChlKSk7cmV0dXJuIGE9cyU0KjYsYT09PTA/KGwucHVzaChvPj4xNiYyNTUpLGwucHVzaChvPj44JjI1NSksbC5wdXNoKG8mMjU1KSk6YT09PTE4PyhsLnB1c2gobz4+MTAmMjU1KSxsLnB1c2gobz4+MiYyNTUpKTphPT09MTImJmwucHVzaChvPj40JjI1NSksZjA/ZjAuZnJvbT9mMC5mcm9tKGwpOm5ldyBmMChsKTpsfWkoRGRhLCJjb25zdHJ1Y3RZYW1sQmluYXJ5Iik7ZnVuY3Rpb24gQWRhKHQpe3ZhciBlPSIiLGE9MCxyLHMsbj10Lmxlbmd0aCxvPVlhZTtmb3Iocj0wO3I8bjtyKyspciUzPT09MCYmciYmKGUrPW9bYT4+MTgmNjNdLGUrPW9bYT4+MTImNjNdLGUrPW9bYT4+NiY2M10sZSs9b1thJjYzXSksYT0oYTw8OCkrdFtyXTtyZXR1cm4gcz1uJTMscz09PTA/KGUrPW9bYT4+MTgmNjNdLGUrPW9bYT4+MTImNjNdLGUrPW9bYT4+NiY2M10sZSs9b1thJjYzXSk6cz09PTI/KGUrPW9bYT4+MTAmNjNdLGUrPW9bYT4+NCY2M10sZSs9b1thPDwyJjYzXSxlKz1vWzY0XSk6cz09PTEmJihlKz1vW2E+PjImNjNdLGUrPW9bYTw8NCY2M10sZSs9b1s2NF0sZSs9b1s2NF0pLGV9aShBZGEsInJlcHJlc2VudFlhbWxCaW5hcnkiKTtmdW5jdGlvbiBQZGEodCl7cmV0dXJuIGYwJiZmMC5pc0J1ZmZlcih0KX1pKFBkYSwiaXNCaW5hcnkiKSwkYXQuZXhwb3J0cz1uZXcgTGRhKCJ0YWc6eWFtbC5vcmcsMjAwMjpiaW5hcnkiLHtraW5kOiJzY2FsYXIiLHJlc29sdmU6JGRhLGNvbnN0cnVjdDpEZGEscHJlZGljYXRlOlBkYSxyZXByZXNlbnQ6QWRhfSk7dmFyIExhdH0pO3ZhciBQYXQ9d3QoKGVtMSxBYXQpPT57InVzZSBzdHJpY3QiO3ZhciBFZGE9JDEoKSxJZGE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxOZGE9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztmdW5jdGlvbiBSZGEodCl7aWYodD09PW51bGwpcmV0dXJuITA7dmFyIGU9W10sYSxyLHMsbixvLGw9dDtmb3IoYT0wLHI9bC5sZW5ndGg7YTxyO2ErPTEpe2lmKHM9bFthXSxvPSExLE5kYS5jYWxsKHMpIT09IltvYmplY3QgT2JqZWN0XSIpcmV0dXJuITE7Zm9yKG4gaW4gcylpZihJZGEuY2FsbChzLG4pKWlmKCFvKW89ITA7ZWxzZSByZXR1cm4hMTtpZighbylyZXR1cm4hMTtpZihlLmluZGV4T2Yobik9PT0tMSllLnB1c2gobik7ZWxzZSByZXR1cm4hMX1yZXR1cm4hMH1pKFJkYSwicmVzb2x2ZVlhbWxPbWFwIik7ZnVuY3Rpb24gRmRhKHQpe3JldHVybiB0IT09bnVsbD90OltdfWkoRmRhLCJjb25zdHJ1Y3RZYW1sT21hcCIpLEFhdC5leHBvcnRzPW5ldyBFZGEoInRhZzp5YW1sLm9yZywyMDAyOm9tYXAiLHtraW5kOiJzZXF1ZW5jZSIscmVzb2x2ZTpSZGEsY29uc3RydWN0OkZkYX0pfSk7dmFyIElhdD13dCgoYW0xLEVhdCk9PnsidXNlIHN0cmljdCI7dmFyIE9kYT0kMSgpLEJkYT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO2Z1bmN0aW9uIEhkYSh0KXtpZih0PT09bnVsbClyZXR1cm4hMDt2YXIgZSxhLHIscyxuLG89dDtmb3Iobj1uZXcgQXJyYXkoby5sZW5ndGgpLGU9MCxhPW8ubGVuZ3RoO2U8YTtlKz0xKXtpZihyPW9bZV0sQmRhLmNhbGwocikhPT0iW29iamVjdCBPYmplY3RdInx8KHM9T2JqZWN0LmtleXMocikscy5sZW5ndGghPT0xKSlyZXR1cm4hMTtuW2VdPVtzWzBdLHJbc1swXV1dfXJldHVybiEwfWkoSGRhLCJyZXNvbHZlWWFtbFBhaXJzIik7ZnVuY3Rpb24gcWRhKHQpe2lmKHQ9PT1udWxsKXJldHVybltdO3ZhciBlLGEscixzLG4sbz10O2ZvcihuPW5ldyBBcnJheShvLmxlbmd0aCksZT0wLGE9by5sZW5ndGg7ZTxhO2UrPTEpcj1vW2VdLHM9T2JqZWN0LmtleXMociksbltlXT1bc1swXSxyW3NbMF1dXTtyZXR1cm4gbn1pKHFkYSwiY29uc3RydWN0WWFtbFBhaXJzIiksRWF0LmV4cG9ydHM9bmV3IE9kYSgidGFnOnlhbWwub3JnLDIwMDI6cGFpcnMiLHtraW5kOiJzZXF1ZW5jZSIscmVzb2x2ZTpIZGEsY29uc3RydWN0OnFkYX0pfSk7dmFyIFJhdD13dCgoaW0xLE5hdCk9PnsidXNlIHN0cmljdCI7dmFyIFZkYT0kMSgpLGpkYT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIFVkYSh0KXtpZih0PT09bnVsbClyZXR1cm4hMDt2YXIgZSxhPXQ7Zm9yKGUgaW4gYSlpZihqZGEuY2FsbChhLGUpJiZhW2VdIT09bnVsbClyZXR1cm4hMTtyZXR1cm4hMH1pKFVkYSwicmVzb2x2ZVlhbWxTZXQiKTtmdW5jdGlvbiBXZGEodCl7cmV0dXJuIHQhPT1udWxsP3Q6e319aShXZGEsImNvbnN0cnVjdFlhbWxTZXQiKSxOYXQuZXhwb3J0cz1uZXcgVmRhKCJ0YWc6eWFtbC5vcmcsMjAwMjpzZXQiLHtraW5kOiJtYXBwaW5nIixyZXNvbHZlOlVkYSxjb25zdHJ1Y3Q6V2RhfSl9KTt2YXIgWDU9d3QoKG9tMSxGYXQpPT57InVzZSBzdHJpY3QiO3ZhciBHZGE9dTAoKTtGYXQuZXhwb3J0cz1uZXcgR2RhKHtpbmNsdWRlOltHYWUoKV0saW1wbGljaXQ6W0NhdCgpLFRhdCgpXSxleHBsaWNpdDpbRGF0KCksUGF0KCksSWF0KCksUmF0KCldfSl9KTt2YXIgQmF0PXd0KChubTEsT2F0KT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgWWRhPSQxKCk7ZnVuY3Rpb24gWmRhKCl7cmV0dXJuITB9aShaZGEsInJlc29sdmVKYXZhc2NyaXB0VW5kZWZpbmVkIik7ZnVuY3Rpb24gWGRhKCl7fWkoWGRhLCJjb25zdHJ1Y3RKYXZhc2NyaXB0VW5kZWZpbmVkIik7ZnVuY3Rpb24gS2RhKCl7cmV0dXJuIiJ9aShLZGEsInJlcHJlc2VudEphdmFzY3JpcHRVbmRlZmluZWQiKTtmdW5jdGlvbiBRZGEodCl7cmV0dXJuIHR5cGVvZiB0PiJ1In1pKFFkYSwiaXNVbmRlZmluZWQiKSxPYXQuZXhwb3J0cz1uZXcgWWRhKCJ0YWc6eWFtbC5vcmcsMjAwMjpqcy91bmRlZmluZWQiLHtraW5kOiJzY2FsYXIiLHJlc29sdmU6WmRhLGNvbnN0cnVjdDpYZGEscHJlZGljYXRlOlFkYSxyZXByZXNlbnQ6S2RhfSl9KTt2YXIgcWF0PXd0KChjbTEsSGF0KT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgSmRhPSQxKCk7ZnVuY3Rpb24gZTZhKHQpe2lmKHQ9PT1udWxsfHx0Lmxlbmd0aD09PTApcmV0dXJuITE7dmFyIGU9dCxhPS9cLyhbZ2ltXSopJC8uZXhlYyh0KSxyPSIiO3JldHVybiEoZVswXT09PSIvIiYmKGEmJihyPWFbMV0pLHIubGVuZ3RoPjN8fGVbZS5sZW5ndGgtci5sZW5ndGgtMV0hPT0iLyIpKX1pKGU2YSwicmVzb2x2ZUphdmFzY3JpcHRSZWdFeHAiKTtmdW5jdGlvbiB0NmEodCl7dmFyIGU9dCxhPS9cLyhbZ2ltXSopJC8uZXhlYyh0KSxyPSIiO3JldHVybiBlWzBdPT09Ii8iJiYoYSYmKHI9YVsxXSksZT1lLnNsaWNlKDEsZS5sZW5ndGgtci5sZW5ndGgtMSkpLG5ldyBSZWdFeHAoZSxyKX1pKHQ2YSwiY29uc3RydWN0SmF2YXNjcmlwdFJlZ0V4cCIpO2Z1bmN0aW9uIGE2YSh0KXt2YXIgZT0iLyIrdC5zb3VyY2UrIi8iO3JldHVybiB0Lmdsb2JhbCYmKGUrPSJnIiksdC5tdWx0aWxpbmUmJihlKz0ibSIpLHQuaWdub3JlQ2FzZSYmKGUrPSJpIiksZX1pKGE2YSwicmVwcmVzZW50SmF2YXNjcmlwdFJlZ0V4cCIpO2Z1bmN0aW9uIHI2YSh0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpPT09IltvYmplY3QgUmVnRXhwXSJ9aShyNmEsImlzUmVnRXhwIiksSGF0LmV4cG9ydHM9bmV3IEpkYSgidGFnOnlhbWwub3JnLDIwMDI6anMvcmVnZXhwIix7a2luZDoic2NhbGFyIixyZXNvbHZlOmU2YSxjb25zdHJ1Y3Q6dDZhLHByZWRpY2F0ZTpyNmEscmVwcmVzZW50OmE2YX0pfSk7dmFyIFVhdD13dCgocG0xLGphdCk9PnsidXNlIHN0cmljdCI7dmFyIGxVO3RyeXtWYXQ9aUgsbFU9VmF0KCJlc3ByaW1hIil9Y2F0Y2h7dHlwZW9mIHdpbmRvdzwidSImJihsVT13aW5kb3cuZXNwcmltYSl9dmFyIGk2YT0kMSgpO2Z1bmN0aW9uIHM2YSh0KXtpZih0PT09bnVsbClyZXR1cm4hMTt0cnl7dmFyIGU9IigiK3QrIikiLGE9bFUucGFyc2UoZSx7cmFuZ2U6ITB9KTtyZXR1cm4hKGEudHlwZSE9PSJQcm9ncmFtInx8YS5ib2R5Lmxlbmd0aCE9PTF8fGEuYm9keVswXS50eXBlIT09IkV4cHJlc3Npb25TdGF0ZW1lbnQifHxhLmJvZHlbMF0uZXhwcmVzc2lvbi50eXBlIT09IkFycm93RnVuY3Rpb25FeHByZXNzaW9uIiYmYS5ib2R5WzBdLmV4cHJlc3Npb24udHlwZSE9PSJGdW5jdGlvbkV4cHJlc3Npb24iKX1jYXRjaHtyZXR1cm4hMX19aShzNmEsInJlc29sdmVKYXZhc2NyaXB0RnVuY3Rpb24iKTtmdW5jdGlvbiBvNmEodCl7dmFyIGU9IigiK3QrIikiLGE9bFUucGFyc2UoZSx7cmFuZ2U6ITB9KSxyPVtdLHM7aWYoYS50eXBlIT09IlByb2dyYW0ifHxhLmJvZHkubGVuZ3RoIT09MXx8YS5ib2R5WzBdLnR5cGUhPT0iRXhwcmVzc2lvblN0YXRlbWVudCJ8fGEuYm9keVswXS5leHByZXNzaW9uLnR5cGUhPT0iQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24iJiZhLmJvZHlbMF0uZXhwcmVzc2lvbi50eXBlIT09IkZ1bmN0aW9uRXhwcmVzc2lvbiIpdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gcmVzb2x2ZSBmdW5jdGlvbiIpO3JldHVybiBhLmJvZHlbMF0uZXhwcmVzc2lvbi5wYXJhbXMuZm9yRWFjaChmdW5jdGlvbihuKXtyLnB1c2gobi5uYW1lKX0pLHM9YS5ib2R5WzBdLmV4cHJlc3Npb24uYm9keS5yYW5nZSxhLmJvZHlbMF0uZXhwcmVzc2lvbi5ib2R5LnR5cGU9PT0iQmxvY2tTdGF0ZW1lbnQiP25ldyBGdW5jdGlvbihyLGUuc2xpY2Uoc1swXSsxLHNbMV0tMSkpOm5ldyBGdW5jdGlvbihyLCJyZXR1cm4gIitlLnNsaWNlKHNbMF0sc1sxXSkpfWkobzZhLCJjb25zdHJ1Y3RKYXZhc2NyaXB0RnVuY3Rpb24iKTtmdW5jdGlvbiBuNmEodCl7cmV0dXJuIHQudG9TdHJpbmcoKX1pKG42YSwicmVwcmVzZW50SmF2YXNjcmlwdEZ1bmN0aW9uIik7ZnVuY3Rpb24gbDZhKHQpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodCk9PT0iW29iamVjdCBGdW5jdGlvbl0ifWkobDZhLCJpc0Z1bmN0aW9uIiksamF0LmV4cG9ydHM9bmV3IGk2YSgidGFnOnlhbWwub3JnLDIwMDI6anMvZnVuY3Rpb24iLHtraW5kOiJzY2FsYXIiLHJlc29sdmU6czZhLGNvbnN0cnVjdDpvNmEscHJlZGljYXRlOmw2YSxyZXByZXNlbnQ6bjZhfSk7dmFyIFZhdH0pO3ZhciBHdT13dCgoZm0xLEdhdCk9PnsidXNlIHN0cmljdCI7dmFyIFdhdD11MCgpO0dhdC5leHBvcnRzPVdhdC5ERUZBVUxUPW5ldyBXYXQoe2luY2x1ZGU6W1g1KCldLGV4cGxpY2l0OltCYXQoKSxxYXQoKSxVYXQoKV19KX0pO3ZhciBmMXQ9d3QoKGhtMSxZdSk9PnsidXNlIHN0cmljdCI7dmFyIGlvPXAwKCksWWF0PVk1KCksYzZhPWVhdCgpLFphdD1YNSgpLGQ2YT1HdSgpLE5uPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksY1U9MSxYYXQ9MixLYXQ9MyxkVT00LFphZT0xLHA2YT0yLFFhdD0zLHU2YT0vW1x4MDAtXHgwOFx4MEJceDBDXHgwRS1ceDFGXHg3Ri1ceDg0XHg4Ni1ceDlGXHVGRkZFXHVGRkZGXXxbXHVEODAwLVx1REJGRl0oPyFbXHVEQzAwLVx1REZGRl0pfCg/OlteXHVEODAwLVx1REJGRl18XilbXHVEQzAwLVx1REZGRl0vLGY2YT0vW1x4ODVcdTIwMjhcdTIwMjldLyxoNmE9L1ssXFtcXVx7XH1dLyxKYXQ9L14oPzohfCEhfCFbYS16XC1dKyEpJC9pLGUxdD0vXig/OiF8W14sXFtcXVx7XH1dKSg/OiVbMC05YS1mXXsyfXxbMC05YS16XC0jO1wvXD86QCY9XCtcJCxfXC4hflwqJ1woXClcW1xdXSkqJC9pO2Z1bmN0aW9uIHQxdCh0KXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpfWkodDF0LCJfY2xhc3MiKTtmdW5jdGlvbiBmMih0KXtyZXR1cm4gdD09PTEwfHx0PT09MTN9aShmMiwiaXNfRU9MIik7ZnVuY3Rpb24gaDAodCl7cmV0dXJuIHQ9PT05fHx0PT09MzJ9aShoMCwiaXNfV0hJVEVfU1BBQ0UiKTtmdW5jdGlvbiB0aSh0KXtyZXR1cm4gdD09PTl8fHQ9PT0zMnx8dD09PTEwfHx0PT09MTN9aSh0aSwiaXNfV1NfT1JfRU9MIik7ZnVuY3Rpb24gSzUodCl7cmV0dXJuIHQ9PT00NHx8dD09PTkxfHx0PT09OTN8fHQ9PT0xMjN8fHQ9PT0xMjV9aShLNSwiaXNfRkxPV19JTkRJQ0FUT1IiKTtmdW5jdGlvbiBtNmEodCl7dmFyIGU7cmV0dXJuIDQ4PD10JiZ0PD01Nz90LTQ4OihlPXR8MzIsOTc8PWUmJmU8PTEwMj9lLTk3KzEwOi0xKX1pKG02YSwiZnJvbUhleENvZGUiKTtmdW5jdGlvbiBnNmEodCl7cmV0dXJuIHQ9PT0xMjA/Mjp0PT09MTE3PzQ6dD09PTg1Pzg6MH1pKGc2YSwiZXNjYXBlZEhleExlbiIpO2Z1bmN0aW9uIGI2YSh0KXtyZXR1cm4gNDg8PXQmJnQ8PTU3P3QtNDg6LTF9aShiNmEsImZyb21EZWNpbWFsQ29kZSIpO2Z1bmN0aW9uIGExdCh0KXtyZXR1cm4gdD09PTQ4PyJcMCI6dD09PTk3PyJceDA3Ijp0PT09OTg/IlxiIjp0PT09MTE2fHx0PT09OT8iCSI6dD09PTExMD9gCmA6dD09PTExOD8iXHYiOnQ9PT0xMDI/IlxmIjp0PT09MTE0PyJcciI6dD09PTEwMT8iXHgxQiI6dD09PTMyPyIgIjp0PT09MzQ/JyInOnQ9PT00Nz8iLyI6dD09PTkyPyJcXCI6dD09PTc4PyJceDg1Ijp0PT09OTU/Ilx4QTAiOnQ9PT03Nj8iXHUyMDI4Ijp0PT09ODA/Ilx1MjAyOSI6IiJ9aShhMXQsInNpbXBsZUVzY2FwZVNlcXVlbmNlIik7ZnVuY3Rpb24gdjZhKHQpe3JldHVybiB0PD02NTUzNT9TdHJpbmcuZnJvbUNoYXJDb2RlKHQpOlN0cmluZy5mcm9tQ2hhckNvZGUoKHQtNjU1MzY+PjEwKSs1NTI5NiwodC02NTUzNiYxMDIzKSs1NjMyMCl9aSh2NmEsImNoYXJGcm9tQ29kZXBvaW50Iik7ZnVuY3Rpb24gcjF0KHQsZSxhKXtlPT09Il9fcHJvdG9fXyI/T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6YX0pOnRbZV09YX1pKHIxdCwic2V0UHJvcGVydHkiKTt2YXIgaTF0PW5ldyBBcnJheSgyNTYpLHMxdD1uZXcgQXJyYXkoMjU2KTtmb3IobTA9MDttMDwyNTY7bTArKylpMXRbbTBdPWExdChtMCk/MTowLHMxdFttMF09YTF0KG0wKTtmdW5jdGlvbiB4NmEodCxlKXt0aGlzLmlucHV0PXQsdGhpcy5maWxlbmFtZT1lLmZpbGVuYW1lfHxudWxsLHRoaXMuc2NoZW1hPWUuc2NoZW1hfHxkNmEsdGhpcy5vbldhcm5pbmc9ZS5vbldhcm5pbmd8fG51bGwsdGhpcy5sZWdhY3k9ZS5sZWdhY3l8fCExLHRoaXMuanNvbj1lLmpzb258fCExLHRoaXMubGlzdGVuZXI9ZS5saXN0ZW5lcnx8bnVsbCx0aGlzLmltcGxpY2l0VHlwZXM9dGhpcy5zY2hlbWEuY29tcGlsZWRJbXBsaWNpdCx0aGlzLnR5cGVNYXA9dGhpcy5zY2hlbWEuY29tcGlsZWRUeXBlTWFwLHRoaXMubGVuZ3RoPXQubGVuZ3RoLHRoaXMucG9zaXRpb249MCx0aGlzLmxpbmU9MCx0aGlzLmxpbmVTdGFydD0wLHRoaXMubGluZUluZGVudD0wLHRoaXMuZG9jdW1lbnRzPVtdfWkoeDZhLCJTdGF0ZSIpO2Z1bmN0aW9uIG8xdCh0LGUpe3JldHVybiBuZXcgWWF0KGUsbmV3IGM2YSh0LmZpbGVuYW1lLHQuaW5wdXQsdC5wb3NpdGlvbix0LmxpbmUsdC5wb3NpdGlvbi10LmxpbmVTdGFydCkpfWkobzF0LCJnZW5lcmF0ZUVycm9yIik7ZnVuY3Rpb24geXQodCxlKXt0aHJvdyBvMXQodCxlKX1pKHl0LCJ0aHJvd0Vycm9yIik7ZnVuY3Rpb24gcFUodCxlKXt0Lm9uV2FybmluZyYmdC5vbldhcm5pbmcuY2FsbChudWxsLG8xdCh0LGUpKX1pKHBVLCJ0aHJvd1dhcm5pbmciKTt2YXIgbjF0PXtZQU1MOmkoZnVuY3Rpb24oZSxhLHIpe3ZhciBzLG4sbztlLnZlcnNpb24hPT1udWxsJiZ5dChlLCJkdXBsaWNhdGlvbiBvZiAlWUFNTCBkaXJlY3RpdmUiKSxyLmxlbmd0aCE9PTEmJnl0KGUsIllBTUwgZGlyZWN0aXZlIGFjY2VwdHMgZXhhY3RseSBvbmUgYXJndW1lbnQiKSxzPS9eKFswLTldKylcLihbMC05XSspJC8uZXhlYyhyWzBdKSxzPT09bnVsbCYmeXQoZSwiaWxsLWZvcm1lZCBhcmd1bWVudCBvZiB0aGUgWUFNTCBkaXJlY3RpdmUiKSxuPXBhcnNlSW50KHNbMV0sMTApLG89cGFyc2VJbnQoc1syXSwxMCksbiE9PTEmJnl0KGUsInVuYWNjZXB0YWJsZSBZQU1MIHZlcnNpb24gb2YgdGhlIGRvY3VtZW50IiksZS52ZXJzaW9uPXJbMF0sZS5jaGVja0xpbmVCcmVha3M9bzwyLG8hPT0xJiZvIT09MiYmcFUoZSwidW5zdXBwb3J0ZWQgWUFNTCB2ZXJzaW9uIG9mIHRoZSBkb2N1bWVudCIpfSwiaGFuZGxlWWFtbERpcmVjdGl2ZSIpLFRBRzppKGZ1bmN0aW9uKGUsYSxyKXt2YXIgcyxuO3IubGVuZ3RoIT09MiYmeXQoZSwiVEFHIGRpcmVjdGl2ZSBhY2NlcHRzIGV4YWN0bHkgdHdvIGFyZ3VtZW50cyIpLHM9clswXSxuPXJbMV0sSmF0LnRlc3Qocyl8fHl0KGUsImlsbC1mb3JtZWQgdGFnIGhhbmRsZSAoZmlyc3QgYXJndW1lbnQpIG9mIHRoZSBUQUcgZGlyZWN0aXZlIiksTm4uY2FsbChlLnRhZ01hcCxzKSYmeXQoZSwndGhlcmUgaXMgYSBwcmV2aW91c2x5IGRlY2xhcmVkIHN1ZmZpeCBmb3IgIicrcysnIiB0YWcgaGFuZGxlJyksZTF0LnRlc3Qobil8fHl0KGUsImlsbC1mb3JtZWQgdGFnIHByZWZpeCAoc2Vjb25kIGFyZ3VtZW50KSBvZiB0aGUgVEFHIGRpcmVjdGl2ZSIpLGUudGFnTWFwW3NdPW59LCJoYW5kbGVUYWdEaXJlY3RpdmUiKX07ZnVuY3Rpb24gUm4odCxlLGEscil7dmFyIHMsbixvLGw7aWYoZTxhKXtpZihsPXQuaW5wdXQuc2xpY2UoZSxhKSxyKWZvcihzPTAsbj1sLmxlbmd0aDtzPG47cys9MSlvPWwuY2hhckNvZGVBdChzKSxvPT09OXx8MzI8PW8mJm88PTExMTQxMTF8fHl0KHQsImV4cGVjdGVkIHZhbGlkIEpTT04gY2hhcmFjdGVyIik7ZWxzZSB1NmEudGVzdChsKSYmeXQodCwidGhlIHN0cmVhbSBjb250YWlucyBub24tcHJpbnRhYmxlIGNoYXJhY3RlcnMiKTt0LnJlc3VsdCs9bH19aShSbiwiY2FwdHVyZVNlZ21lbnQiKTtmdW5jdGlvbiBsMXQodCxlLGEscil7dmFyIHMsbixvLGw7Zm9yKGlvLmlzT2JqZWN0KGEpfHx5dCh0LCJjYW5ub3QgbWVyZ2UgbWFwcGluZ3M7IHRoZSBwcm92aWRlZCBzb3VyY2Ugb2JqZWN0IGlzIHVuYWNjZXB0YWJsZSIpLHM9T2JqZWN0LmtleXMoYSksbz0wLGw9cy5sZW5ndGg7bzxsO28rPTEpbj1zW29dLE5uLmNhbGwoZSxuKXx8KHIxdChlLG4sYVtuXSkscltuXT0hMCl9aShsMXQsIm1lcmdlTWFwcGluZ3MiKTtmdW5jdGlvbiBRNSh0LGUsYSxyLHMsbixvLGwpe3ZhciBoLHU7aWYoQXJyYXkuaXNBcnJheShzKSlmb3Iocz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChzKSxoPTAsdT1zLmxlbmd0aDtoPHU7aCs9MSlBcnJheS5pc0FycmF5KHNbaF0pJiZ5dCh0LCJuZXN0ZWQgYXJyYXlzIGFyZSBub3Qgc3VwcG9ydGVkIGluc2lkZSBrZXlzIiksdHlwZW9mIHM9PSJvYmplY3QiJiZ0MXQoc1toXSk9PT0iW29iamVjdCBPYmplY3RdIiYmKHNbaF09IltvYmplY3QgT2JqZWN0XSIpO2lmKHR5cGVvZiBzPT0ib2JqZWN0IiYmdDF0KHMpPT09IltvYmplY3QgT2JqZWN0XSImJihzPSJbb2JqZWN0IE9iamVjdF0iKSxzPVN0cmluZyhzKSxlPT09bnVsbCYmKGU9e30pLHI9PT0idGFnOnlhbWwub3JnLDIwMDI6bWVyZ2UiKWlmKEFycmF5LmlzQXJyYXkobikpZm9yKGg9MCx1PW4ubGVuZ3RoO2g8dTtoKz0xKWwxdCh0LGUsbltoXSxhKTtlbHNlIGwxdCh0LGUsbixhKTtlbHNlIXQuanNvbiYmIU5uLmNhbGwoYSxzKSYmTm4uY2FsbChlLHMpJiYodC5saW5lPW98fHQubGluZSx0LnBvc2l0aW9uPWx8fHQucG9zaXRpb24seXQodCwiZHVwbGljYXRlZCBtYXBwaW5nIGtleSIpKSxyMXQoZSxzLG4pLGRlbGV0ZSBhW3NdO3JldHVybiBlfWkoUTUsInN0b3JlTWFwcGluZ1BhaXIiKTtmdW5jdGlvbiBYYWUodCl7dmFyIGU7ZT10LmlucHV0LmNoYXJDb2RlQXQodC5wb3NpdGlvbiksZT09PTEwP3QucG9zaXRpb24rKzplPT09MTM/KHQucG9zaXRpb24rKyx0LmlucHV0LmNoYXJDb2RlQXQodC5wb3NpdGlvbik9PT0xMCYmdC5wb3NpdGlvbisrKTp5dCh0LCJhIGxpbmUgYnJlYWsgaXMgZXhwZWN0ZWQiKSx0LmxpbmUrPTEsdC5saW5lU3RhcnQ9dC5wb3NpdGlvbn1pKFhhZSwicmVhZExpbmVCcmVhayIpO2Z1bmN0aW9uIG0xKHQsZSxhKXtmb3IodmFyIHI9MCxzPXQuaW5wdXQuY2hhckNvZGVBdCh0LnBvc2l0aW9uKTtzIT09MDspe2Zvcig7aDAocyk7KXM9dC5pbnB1dC5jaGFyQ29kZUF0KCsrdC5wb3NpdGlvbik7aWYoZSYmcz09PTM1KWRvIHM9dC5pbnB1dC5jaGFyQ29kZUF0KCsrdC5wb3NpdGlvbik7d2hpbGUocyE9PTEwJiZzIT09MTMmJnMhPT0wKTtpZihmMihzKSlmb3IoWGFlKHQpLHM9dC5pbnB1dC5jaGFyQ29kZUF0KHQucG9zaXRpb24pLHIrKyx0LmxpbmVJbmRlbnQ9MDtzPT09MzI7KXQubGluZUluZGVudCsrLHM9dC5pbnB1dC5jaGFyQ29kZUF0KCsrdC5wb3NpdGlvbik7ZWxzZSBicmVha31yZXR1cm4gYSE9PS0xJiZyIT09MCYmdC5saW5lSW5kZW50PGEmJnBVKHQsImRlZmljaWVudCBpbmRlbnRhdGlvbiIpLHJ9aShtMSwic2tpcFNlcGFyYXRpb25TcGFjZSIpO2Z1bmN0aW9uIHVVKHQpe3ZhciBlPXQucG9zaXRpb24sYTtyZXR1cm4gYT10LmlucHV0LmNoYXJDb2RlQXQoZSksISEoKGE9PT00NXx8YT09PTQ2KSYmYT09PXQuaW5wdXQuY2hhckNvZGVBdChlKzEpJiZhPT09dC5pbnB1dC5jaGFyQ29kZUF0KGUrMikmJihlKz0zLGE9dC5pbnB1dC5jaGFyQ29kZUF0KGUpLGE9PT0wfHx0aShhKSkpfWkodVUsInRlc3REb2N1bWVudFNlcGFyYXRvciIpO2Z1bmN0aW9uIEthZSh0LGUpe2U9PT0xP3QucmVzdWx0Kz0iICI6ZT4xJiYodC5yZXN1bHQrPWlvLnJlcGVhdChgCmAsZS0xKSl9aShLYWUsIndyaXRlRm9sZGVkTGluZXMiKTtmdW5jdGlvbiB5NmEodCxlLGEpe3ZhciByLHMsbixvLGwsaCx1LGYscD10LmtpbmQsZz10LnJlc3VsdCx2O2lmKHY9dC5pbnB1dC5jaGFyQ29kZUF0KHQucG9zaXRpb24pLHRpKHYpfHxLNSh2KXx8dj09PTM1fHx2PT09Mzh8fHY9PT00Mnx8dj09PTMzfHx2PT09MTI0fHx2PT09NjJ8fHY9PT0zOXx8dj09PTM0fHx2PT09Mzd8fHY9PT02NHx8dj09PTk2fHwodj09PTYzfHx2PT09NDUpJiYocz10LmlucHV0LmNoYXJDb2RlQXQodC5wb3NpdGlvbisxKSx0aShzKXx8YSYmSzUocykpKXJldHVybiExO2Zvcih0LmtpbmQ9InNjYWxhciIsdC5yZXN1bHQ9IiIsbj1vPXQucG9zaXRpb24sbD0hMTt2IT09MDspe2lmKHY9PT01OCl7aWYocz10LmlucHV0LmNoYXJDb2RlQXQodC5wb3NpdGlvbisxKSx0aShzKXx8YSYmSzUocykpYnJlYWt9ZWxzZSBpZih2PT09MzUpe2lmKHI9dC5pbnB1dC5jaGFyQ29kZUF0KHQucG9zaXRpb24tMSksdGkocikpYnJlYWt9ZWxzZXtpZih0LnBvc2l0aW9uPT09dC5saW5lU3RhcnQmJnVVKHQpfHxhJiZLNSh2KSlicmVhaztpZihmMih2KSlpZihoPXQubGluZSx1PXQubGluZVN0YXJ0LGY9dC5saW5lSW5kZW50LG0xKHQsITEsLTEpLHQubGluZUluZGVudD49ZSl7bD0hMCx2PXQuaW5wdXQuY2hhckNvZGVBdCh0LnBvc2l0aW9uKTtjb250aW51ZX1lbHNle3QucG9zaXRpb249byx0LmxpbmU9aCx0LmxpbmVTdGFydD11LHQubGluZUluZGVudD1mO2JyZWFrfX1sJiYoUm4odCxuLG8sITEpLEthZSh0LHQubGluZS1oKSxuPW89dC5wb3NpdGlvbixsPSExKSxoMCh2KXx8KG89dC5wb3NpdGlvbisxKSx2PXQuaW5wdXQuY2hhckNvZGVBdCgrK3QucG9zaXRpb24pfXJldHVybiBSbih0LG4sbywhMSksdC5yZXN1bHQ/ITA6KHQua2luZD1wLHQucmVzdWx0PWcsITEpfWkoeTZhLCJyZWFkUGxhaW5TY2FsYXIiKTtmdW5jdGlvbiB3NmEodCxlKXt2YXIgYSxyLHM7aWYoYT10LmlucHV0LmNoYXJDb2RlQXQodC5wb3NpdGlvbiksYSE9PTM5KXJldHVybiExO2Zvcih0LmtpbmQ9InNjYWxhciIsdC5yZXN1bHQ9IiIsdC5wb3NpdGlvbisrLHI9cz10LnBvc2l0aW9uOyhhPXQuaW5wdXQuY2hhckNvZGVBdCh0LnBvc2l0aW9uKSkhPT0wOylpZihhPT09MzkpaWYoUm4odCxyLHQucG9zaXRpb24sITApLGE9dC5pbnB1dC5jaGFyQ29kZUF0KCsrdC5wb3NpdGlvbiksYT09PTM5KXI9dC5wb3NpdGlvbix0LnBvc2l0aW9uKysscz10LnBvc2l0aW9uO2Vsc2UgcmV0dXJuITA7ZWxzZSBmMihhKT8oUm4odCxyLHMsITApLEthZSh0LG0xKHQsITEsZSkpLHI9cz10LnBvc2l0aW9uKTp0LnBvc2l0aW9uPT09dC5saW5lU3RhcnQmJnVVKHQpP3l0KHQsInVuZXhwZWN0ZWQgZW5kIG9mIHRoZSBkb2N1bWVudCB3aXRoaW4gYSBzaW5nbGUgcXVvdGVkIHNjYWxhciIpOih0LnBvc2l0aW9uKysscz10LnBvc2l0aW9uKTt5dCh0LCJ1bmV4cGVjdGVkIGVuZCBvZiB0aGUgc3RyZWFtIHdpdGhpbiBhIHNpbmdsZSBxdW90ZWQgc2NhbGFyIil9aSh3NmEsInJlYWRTaW5nbGVRdW90ZWRTY2FsYXIiKTtmdW5jdGlvbiBNNmEodCxlKXt2YXIgYSxyLHMsbixvLGw7aWYobD10LmlucHV0LmNoYXJDb2RlQXQodC5wb3NpdGlvbiksbCE9PTM0KXJldHVybiExO2Zvcih0LmtpbmQ9InNjYWxhciIsdC5yZXN1bHQ9IiIsdC5wb3NpdGlvbisrLGE9cj10LnBvc2l0aW9uOyhsPXQuaW5wdXQuY2hhckNvZGVBdCh0LnBvc2l0aW9uKSkhPT0wOyl7aWYobD09PTM0KXJldHVybiBSbih0LGEsdC5wb3NpdGlvbiwhMCksdC5wb3NpdGlvbisrLCEwO2lmKGw9PT05Mil7aWYoUm4odCxhLHQucG9zaXRpb24sITApLGw9dC5pbnB1dC5jaGFyQ29kZUF0KCsrdC5wb3NpdGlvbiksZjIobCkpbTEodCwhMSxlKTtlbHNlIGlmKGw8MjU2JiZpMXRbbF0pdC5yZXN1bHQrPXMxdFtsXSx0LnBvc2l0aW9uKys7ZWxzZSBpZigobz1nNmEobCkpPjApe2ZvcihzPW8sbj0wO3M+MDtzLS0pbD10LmlucHV0LmNoYXJDb2RlQXQoKyt0LnBvc2l0aW9uKSwobz1tNmEobCkpPj0wP249KG48PDQpK286eXQodCwiZXhwZWN0ZWQgaGV4YWRlY2ltYWwgY2hhcmFjdGVyIik7dC5yZXN1bHQrPXY2YShuKSx0LnBvc2l0aW9uKyt9ZWxzZSB5dCh0LCJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZSIpO2E9cj10LnBvc2l0aW9ufWVsc2UgZjIobCk/KFJuKHQsYSxyLCEwKSxLYWUodCxtMSh0LCExLGUpKSxhPXI9dC5wb3NpdGlvbik6dC5wb3NpdGlvbj09PXQubGluZVN0YXJ0JiZ1VSh0KT95dCh0LCJ1bmV4cGVjdGVkIGVuZCBvZiB0aGUgZG9jdW1lbnQgd2l0aGluIGEgZG91YmxlIHF1b3RlZCBzY2FsYXIiKToodC5wb3NpdGlvbisrLHI9dC5wb3NpdGlvbil9eXQodCwidW5leHBlY3RlZCBlbmQgb2YgdGhlIHN0cmVhbSB3aXRoaW4gYSBkb3VibGUgcXVvdGVkIHNjYWxhciIpfWkoTTZhLCJyZWFkRG91YmxlUXVvdGVkU2NhbGFyIik7ZnVuY3Rpb24gazZhKHQsZSl7dmFyIGE9ITAscixzPXQudGFnLG4sbz10LmFuY2hvcixsLGgsdSxmLHAsZz17fSx2LHgsYixtO2lmKG09dC5pbnB1dC5jaGFyQ29kZUF0KHQucG9zaXRpb24pLG09PT05MSloPTkzLHA9ITEsbj1bXTtlbHNlIGlmKG09PT0xMjMpaD0xMjUscD0hMCxuPXt9O2Vsc2UgcmV0dXJuITE7Zm9yKHQuYW5jaG9yIT09bnVsbCYmKHQuYW5jaG9yTWFwW3QuYW5jaG9yXT1uKSxtPXQuaW5wdXQuY2hhckNvZGVBdCgrK3QucG9zaXRpb24pO20hPT0wOyl7aWYobTEodCwhMCxlKSxtPXQuaW5wdXQuY2hhckNvZGVBdCh0LnBvc2l0aW9uKSxtPT09aClyZXR1cm4gdC5wb3NpdGlvbisrLHQudGFnPXMsdC5hbmNob3I9byx0LmtpbmQ9cD8ibWFwcGluZyI6InNlcXVlbmNlIix0LnJlc3VsdD1uLCEwO2F8fHl0KHQsIm1pc3NlZCBjb21tYSBiZXR3ZWVuIGZsb3cgY29sbGVjdGlvbiBlbnRyaWVzIikseD12PWI9bnVsbCx1PWY9ITEsbT09PTYzJiYobD10LmlucHV0LmNoYXJDb2RlQXQodC5wb3NpdGlvbisxKSx0aShsKSYmKHU9Zj0hMCx0LnBvc2l0aW9uKyssbTEodCwhMCxlKSkpLHI9dC5saW5lLEo1KHQsZSxjVSwhMSwhMCkseD10LnRhZyx2PXQucmVzdWx0LG0xKHQsITAsZSksbT10LmlucHV0LmNoYXJDb2RlQXQodC5wb3NpdGlvbiksKGZ8fHQubGluZT09PXIpJiZtPT09NTgmJih1PSEwLG09dC5pbnB1dC5jaGFyQ29kZUF0KCsrdC5wb3NpdGlvbiksbTEodCwhMCxlKSxKNSh0LGUsY1UsITEsITApLGI9dC5yZXN1bHQpLHA/UTUodCxuLGcseCx2LGIpOnU/bi5wdXNoKFE1KHQsbnVsbCxnLHgsdixiKSk6bi5wdXNoKHYpLG0xKHQsITAsZSksbT10LmlucHV0LmNoYXJDb2RlQXQodC5wb3NpdGlvbiksbT09PTQ0PyhhPSEwLG09dC5pbnB1dC5jaGFyQ29kZUF0KCsrdC5wb3NpdGlvbikpOmE9ITF9eXQodCwidW5leHBlY3RlZCBlbmQgb2YgdGhlIHN0cmVhbSB3aXRoaW4gYSBmbG93IGNvbGxlY3Rpb24iKX1pKGs2YSwicmVhZEZsb3dDb2xsZWN0aW9uIik7ZnVuY3Rpb24gejZhKHQsZSl7dmFyIGEscixzPVphZSxuPSExLG89ITEsbD1lLGg9MCx1PSExLGYscDtpZihwPXQuaW5wdXQuY2hhckNvZGVBdCh0LnBvc2l0aW9uKSxwPT09MTI0KXI9ITE7ZWxzZSBpZihwPT09NjIpcj0hMDtlbHNlIHJldHVybiExO2Zvcih0LmtpbmQ9InNjYWxhciIsdC5yZXN1bHQ9IiI7cCE9PTA7KWlmKHA9dC5pbnB1dC5jaGFyQ29kZUF0KCsrdC5wb3NpdGlvbikscD09PTQzfHxwPT09NDUpWmFlPT09cz9zPXA9PT00Mz9RYXQ6cDZhOnl0KHQsInJlcGVhdCBvZiBhIGNob21waW5nIG1vZGUgaWRlbnRpZmllciIpO2Vsc2UgaWYoKGY9YjZhKHApKT49MClmPT09MD95dCh0LCJiYWQgZXhwbGljaXQgaW5kZW50YXRpb24gd2lkdGggb2YgYSBibG9jayBzY2FsYXI7IGl0IGNhbm5vdCBiZSBsZXNzIHRoYW4gb25lIik6bz95dCh0LCJyZXBlYXQgb2YgYW4gaW5kZW50YXRpb24gd2lkdGggaWRlbnRpZmllciIpOihsPWUrZi0xLG89ITApO2Vsc2UgYnJlYWs7aWYoaDAocCkpe2RvIHA9dC5pbnB1dC5jaGFyQ29kZUF0KCsrdC5wb3NpdGlvbik7d2hpbGUoaDAocCkpO2lmKHA9PT0zNSlkbyBwPXQuaW5wdXQuY2hhckNvZGVBdCgrK3QucG9zaXRpb24pO3doaWxlKCFmMihwKSYmcCE9PTApfWZvcig7cCE9PTA7KXtmb3IoWGFlKHQpLHQubGluZUluZGVudD0wLHA9dC5pbnB1dC5jaGFyQ29kZUF0KHQucG9zaXRpb24pOyghb3x8dC5saW5lSW5kZW50PGwpJiZwPT09MzI7KXQubGluZUluZGVudCsrLHA9dC5pbnB1dC5jaGFyQ29kZUF0KCsrdC5wb3NpdGlvbik7aWYoIW8mJnQubGluZUluZGVudD5sJiYobD10LmxpbmVJbmRlbnQpLGYyKHApKXtoKys7Y29udGludWV9aWYodC5saW5lSW5kZW50PGwpe3M9PT1RYXQ/dC5yZXN1bHQrPWlvLnJlcGVhdChgCmAsbj8xK2g6aCk6cz09PVphZSYmbiYmKHQucmVzdWx0Kz1gCmApO2JyZWFrfWZvcihyP2gwKHApPyh1PSEwLHQucmVzdWx0Kz1pby5yZXBlYXQoYApgLG4/MStoOmgpKTp1Pyh1PSExLHQucmVzdWx0Kz1pby5yZXBlYXQoYApgLGgrMSkpOmg9PT0wP24mJih0LnJlc3VsdCs9IiAiKTp0LnJlc3VsdCs9aW8ucmVwZWF0KGAKYCxoKTp0LnJlc3VsdCs9aW8ucmVwZWF0KGAKYCxuPzEraDpoKSxuPSEwLG89ITAsaD0wLGE9dC5wb3NpdGlvbjshZjIocCkmJnAhPT0wOylwPXQuaW5wdXQuY2hhckNvZGVBdCgrK3QucG9zaXRpb24pO1JuKHQsYSx0LnBvc2l0aW9uLCExKX1yZXR1cm4hMH1pKHo2YSwicmVhZEJsb2NrU2NhbGFyIik7ZnVuY3Rpb24gYzF0KHQsZSl7dmFyIGEscj10LnRhZyxzPXQuYW5jaG9yLG49W10sbyxsPSExLGg7Zm9yKHQuYW5jaG9yIT09bnVsbCYmKHQuYW5jaG9yTWFwW3QuYW5jaG9yXT1uKSxoPXQuaW5wdXQuY2hhckNvZGVBdCh0LnBvc2l0aW9uKTtoIT09MCYmIShoIT09NDV8fChvPXQuaW5wdXQuY2hhckNvZGVBdCh0LnBvc2l0aW9uKzEpLCF0aShvKSkpOyl7aWYobD0hMCx0LnBvc2l0aW9uKyssbTEodCwhMCwtMSkmJnQubGluZUluZGVudDw9ZSl7bi5wdXNoKG51bGwpLGg9dC5pbnB1dC5jaGFyQ29kZUF0KHQucG9zaXRpb24pO2NvbnRpbnVlfWlmKGE9dC5saW5lLEo1KHQsZSxLYXQsITEsITApLG4ucHVzaCh0LnJlc3VsdCksbTEodCwhMCwtMSksaD10LmlucHV0LmNoYXJDb2RlQXQodC5wb3NpdGlvbiksKHQubGluZT09PWF8fHQubGluZUluZGVudD5lKSYmaCE9PTApeXQodCwiYmFkIGluZGVudGF0aW9uIG9mIGEgc2VxdWVuY2UgZW50cnkiKTtlbHNlIGlmKHQubGluZUluZGVudDxlKWJyZWFrfXJldHVybiBsPyh0LnRhZz1yLHQuYW5jaG9yPXMsdC5raW5kPSJzZXF1ZW5jZSIsdC5yZXN1bHQ9biwhMCk6ITF9aShjMXQsInJlYWRCbG9ja1NlcXVlbmNlIik7ZnVuY3Rpb24gUzZhKHQsZSxhKXt2YXIgcixzLG4sbyxsPXQudGFnLGg9dC5hbmNob3IsdT17fSxmPXt9LHA9bnVsbCxnPW51bGwsdj1udWxsLHg9ITEsYj0hMSxtO2Zvcih0LmFuY2hvciE9PW51bGwmJih0LmFuY2hvck1hcFt0LmFuY2hvcl09dSksbT10LmlucHV0LmNoYXJDb2RlQXQodC5wb3NpdGlvbik7bSE9PTA7KXtpZihyPXQuaW5wdXQuY2hhckNvZGVBdCh0LnBvc2l0aW9uKzEpLG49dC5saW5lLG89dC5wb3NpdGlvbiwobT09PTYzfHxtPT09NTgpJiZ0aShyKSltPT09NjM/KHgmJihRNSh0LHUsZixwLGcsbnVsbCkscD1nPXY9bnVsbCksYj0hMCx4PSEwLHM9ITApOng/KHg9ITEscz0hMCk6eXQodCwiaW5jb21wbGV0ZSBleHBsaWNpdCBtYXBwaW5nIHBhaXI7IGEga2V5IG5vZGUgaXMgbWlzc2VkOyBvciBmb2xsb3dlZCBieSBhIG5vbi10YWJ1bGF0ZWQgZW1wdHkgbGluZSIpLHQucG9zaXRpb24rPTEsbT1yO2Vsc2UgaWYoSjUodCxhLFhhdCwhMSwhMCkpaWYodC5saW5lPT09bil7Zm9yKG09dC5pbnB1dC5jaGFyQ29kZUF0KHQucG9zaXRpb24pO2gwKG0pOyltPXQuaW5wdXQuY2hhckNvZGVBdCgrK3QucG9zaXRpb24pO2lmKG09PT01OCltPXQuaW5wdXQuY2hhckNvZGVBdCgrK3QucG9zaXRpb24pLHRpKG0pfHx5dCh0LCJhIHdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIGV4cGVjdGVkIGFmdGVyIHRoZSBrZXktdmFsdWUgc2VwYXJhdG9yIHdpdGhpbiBhIGJsb2NrIG1hcHBpbmciKSx4JiYoUTUodCx1LGYscCxnLG51bGwpLHA9Zz12PW51bGwpLGI9ITAseD0hMSxzPSExLHA9dC50YWcsZz10LnJlc3VsdDtlbHNlIGlmKGIpeXQodCwiY2FuIG5vdCByZWFkIGFuIGltcGxpY2l0IG1hcHBpbmcgcGFpcjsgYSBjb2xvbiBpcyBtaXNzZWQiKTtlbHNlIHJldHVybiB0LnRhZz1sLHQuYW5jaG9yPWgsITB9ZWxzZSBpZihiKXl0KHQsImNhbiBub3QgcmVhZCBhIGJsb2NrIG1hcHBpbmcgZW50cnk7IGEgbXVsdGlsaW5lIGtleSBtYXkgbm90IGJlIGFuIGltcGxpY2l0IGtleSIpO2Vsc2UgcmV0dXJuIHQudGFnPWwsdC5hbmNob3I9aCwhMDtlbHNlIGJyZWFrO2lmKCh0LmxpbmU9PT1ufHx0LmxpbmVJbmRlbnQ+ZSkmJihKNSh0LGUsZFUsITAscykmJih4P2c9dC5yZXN1bHQ6dj10LnJlc3VsdCkseHx8KFE1KHQsdSxmLHAsZyx2LG4sbykscD1nPXY9bnVsbCksbTEodCwhMCwtMSksbT10LmlucHV0LmNoYXJDb2RlQXQodC5wb3NpdGlvbikpLHQubGluZUluZGVudD5lJiZtIT09MCl5dCh0LCJiYWQgaW5kZW50YXRpb24gb2YgYSBtYXBwaW5nIGVudHJ5Iik7ZWxzZSBpZih0LmxpbmVJbmRlbnQ8ZSlicmVha31yZXR1cm4geCYmUTUodCx1LGYscCxnLG51bGwpLGImJih0LnRhZz1sLHQuYW5jaG9yPWgsdC5raW5kPSJtYXBwaW5nIix0LnJlc3VsdD11KSxifWkoUzZhLCJyZWFkQmxvY2tNYXBwaW5nIik7ZnVuY3Rpb24gQzZhKHQpe3ZhciBlLGE9ITEscj0hMSxzLG4sbztpZihvPXQuaW5wdXQuY2hhckNvZGVBdCh0LnBvc2l0aW9uKSxvIT09MzMpcmV0dXJuITE7aWYodC50YWchPT1udWxsJiZ5dCh0LCJkdXBsaWNhdGlvbiBvZiBhIHRhZyBwcm9wZXJ0eSIpLG89dC5pbnB1dC5jaGFyQ29kZUF0KCsrdC5wb3NpdGlvbiksbz09PTYwPyhhPSEwLG89dC5pbnB1dC5jaGFyQ29kZUF0KCsrdC5wb3NpdGlvbikpOm89PT0zMz8ocj0hMCxzPSIhISIsbz10LmlucHV0LmNoYXJDb2RlQXQoKyt0LnBvc2l0aW9uKSk6cz0iISIsZT10LnBvc2l0aW9uLGEpe2RvIG89dC5pbnB1dC5jaGFyQ29kZUF0KCsrdC5wb3NpdGlvbik7d2hpbGUobyE9PTAmJm8hPT02Mik7dC5wb3NpdGlvbjx0Lmxlbmd0aD8obj10LmlucHV0LnNsaWNlKGUsdC5wb3NpdGlvbiksbz10LmlucHV0LmNoYXJDb2RlQXQoKyt0LnBvc2l0aW9uKSk6eXQodCwidW5leHBlY3RlZCBlbmQgb2YgdGhlIHN0cmVhbSB3aXRoaW4gYSB2ZXJiYXRpbSB0YWciKX1lbHNle2Zvcig7byE9PTAmJiF0aShvKTspbz09PTMzJiYocj95dCh0LCJ0YWcgc3VmZml4IGNhbm5vdCBjb250YWluIGV4Y2xhbWF0aW9uIG1hcmtzIik6KHM9dC5pbnB1dC5zbGljZShlLTEsdC5wb3NpdGlvbisxKSxKYXQudGVzdChzKXx8eXQodCwibmFtZWQgdGFnIGhhbmRsZSBjYW5ub3QgY29udGFpbiBzdWNoIGNoYXJhY3RlcnMiKSxyPSEwLGU9dC5wb3NpdGlvbisxKSksbz10LmlucHV0LmNoYXJDb2RlQXQoKyt0LnBvc2l0aW9uKTtuPXQuaW5wdXQuc2xpY2UoZSx0LnBvc2l0aW9uKSxoNmEudGVzdChuKSYmeXQodCwidGFnIHN1ZmZpeCBjYW5ub3QgY29udGFpbiBmbG93IGluZGljYXRvciBjaGFyYWN0ZXJzIil9cmV0dXJuIG4mJiFlMXQudGVzdChuKSYmeXQodCwidGFnIG5hbWUgY2Fubm90IGNvbnRhaW4gc3VjaCBjaGFyYWN0ZXJzOiAiK24pLGE/dC50YWc9bjpObi5jYWxsKHQudGFnTWFwLHMpP3QudGFnPXQudGFnTWFwW3NdK246cz09PSIhIj90LnRhZz0iISIrbjpzPT09IiEhIj90LnRhZz0idGFnOnlhbWwub3JnLDIwMDI6IituOnl0KHQsJ3VuZGVjbGFyZWQgdGFnIGhhbmRsZSAiJytzKyciJyksITB9aShDNmEsInJlYWRUYWdQcm9wZXJ0eSIpO2Z1bmN0aW9uIF82YSh0KXt2YXIgZSxhO2lmKGE9dC5pbnB1dC5jaGFyQ29kZUF0KHQucG9zaXRpb24pLGEhPT0zOClyZXR1cm4hMTtmb3IodC5hbmNob3IhPT1udWxsJiZ5dCh0LCJkdXBsaWNhdGlvbiBvZiBhbiBhbmNob3IgcHJvcGVydHkiKSxhPXQuaW5wdXQuY2hhckNvZGVBdCgrK3QucG9zaXRpb24pLGU9dC5wb3NpdGlvbjthIT09MCYmIXRpKGEpJiYhSzUoYSk7KWE9dC5pbnB1dC5jaGFyQ29kZUF0KCsrdC5wb3NpdGlvbik7cmV0dXJuIHQucG9zaXRpb249PT1lJiZ5dCh0LCJuYW1lIG9mIGFuIGFuY2hvciBub2RlIG11c3QgY29udGFpbiBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyIiksdC5hbmNob3I9dC5pbnB1dC5zbGljZShlLHQucG9zaXRpb24pLCEwfWkoXzZhLCJyZWFkQW5jaG9yUHJvcGVydHkiKTtmdW5jdGlvbiBUNmEodCl7dmFyIGUsYSxyO2lmKHI9dC5pbnB1dC5jaGFyQ29kZUF0KHQucG9zaXRpb24pLHIhPT00MilyZXR1cm4hMTtmb3Iocj10LmlucHV0LmNoYXJDb2RlQXQoKyt0LnBvc2l0aW9uKSxlPXQucG9zaXRpb247ciE9PTAmJiF0aShyKSYmIUs1KHIpOylyPXQuaW5wdXQuY2hhckNvZGVBdCgrK3QucG9zaXRpb24pO3JldHVybiB0LnBvc2l0aW9uPT09ZSYmeXQodCwibmFtZSBvZiBhbiBhbGlhcyBub2RlIG11c3QgY29udGFpbiBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyIiksYT10LmlucHV0LnNsaWNlKGUsdC5wb3NpdGlvbiksTm4uY2FsbCh0LmFuY2hvck1hcCxhKXx8eXQodCwndW5pZGVudGlmaWVkIGFsaWFzICInK2ErJyInKSx0LnJlc3VsdD10LmFuY2hvck1hcFthXSxtMSh0LCEwLC0xKSwhMH1pKFQ2YSwicmVhZEFsaWFzIik7ZnVuY3Rpb24gSjUodCxlLGEscixzKXt2YXIgbixvLGwsaD0xLHU9ITEsZj0hMSxwLGcsdix4LGI7aWYodC5saXN0ZW5lciE9PW51bGwmJnQubGlzdGVuZXIoIm9wZW4iLHQpLHQudGFnPW51bGwsdC5hbmNob3I9bnVsbCx0LmtpbmQ9bnVsbCx0LnJlc3VsdD1udWxsLG49bz1sPWRVPT09YXx8S2F0PT09YSxyJiZtMSh0LCEwLC0xKSYmKHU9ITAsdC5saW5lSW5kZW50PmU/aD0xOnQubGluZUluZGVudD09PWU/aD0wOnQubGluZUluZGVudDxlJiYoaD0tMSkpLGg9PT0xKWZvcig7QzZhKHQpfHxfNmEodCk7KW0xKHQsITAsLTEpPyh1PSEwLGw9bix0LmxpbmVJbmRlbnQ+ZT9oPTE6dC5saW5lSW5kZW50PT09ZT9oPTA6dC5saW5lSW5kZW50PGUmJihoPS0xKSk6bD0hMTtpZihsJiYobD11fHxzKSwoaD09PTF8fGRVPT09YSkmJihjVT09PWF8fFhhdD09PWE/eD1lOng9ZSsxLGI9dC5wb3NpdGlvbi10LmxpbmVTdGFydCxoPT09MT9sJiYoYzF0KHQsYil8fFM2YSh0LGIseCkpfHxrNmEodCx4KT9mPSEwOihvJiZ6NmEodCx4KXx8dzZhKHQseCl8fE02YSh0LHgpP2Y9ITA6VDZhKHQpPyhmPSEwLCh0LnRhZyE9PW51bGx8fHQuYW5jaG9yIT09bnVsbCkmJnl0KHQsImFsaWFzIG5vZGUgc2hvdWxkIG5vdCBoYXZlIGFueSBwcm9wZXJ0aWVzIikpOnk2YSh0LHgsY1U9PT1hKSYmKGY9ITAsdC50YWc9PT1udWxsJiYodC50YWc9Ij8iKSksdC5hbmNob3IhPT1udWxsJiYodC5hbmNob3JNYXBbdC5hbmNob3JdPXQucmVzdWx0KSk6aD09PTAmJihmPWwmJmMxdCh0LGIpKSksdC50YWchPT1udWxsJiZ0LnRhZyE9PSIhIilpZih0LnRhZz09PSI/Iil7Zm9yKHQucmVzdWx0IT09bnVsbCYmdC5raW5kIT09InNjYWxhciImJnl0KHQsJ3VuYWNjZXB0YWJsZSBub2RlIGtpbmQgZm9yICE8Pz4gdGFnOyBpdCBzaG91bGQgYmUgInNjYWxhciIsIG5vdCAiJyt0LmtpbmQrJyInKSxwPTAsZz10LmltcGxpY2l0VHlwZXMubGVuZ3RoO3A8ZztwKz0xKWlmKHY9dC5pbXBsaWNpdFR5cGVzW3BdLHYucmVzb2x2ZSh0LnJlc3VsdCkpe3QucmVzdWx0PXYuY29uc3RydWN0KHQucmVzdWx0KSx0LnRhZz12LnRhZyx0LmFuY2hvciE9PW51bGwmJih0LmFuY2hvck1hcFt0LmFuY2hvcl09dC5yZXN1bHQpO2JyZWFrfX1lbHNlIE5uLmNhbGwodC50eXBlTWFwW3Qua2luZHx8ImZhbGxiYWNrIl0sdC50YWcpPyh2PXQudHlwZU1hcFt0LmtpbmR8fCJmYWxsYmFjayJdW3QudGFnXSx0LnJlc3VsdCE9PW51bGwmJnYua2luZCE9PXQua2luZCYmeXQodCwidW5hY2NlcHRhYmxlIG5vZGUga2luZCBmb3IgITwiK3QudGFnKyc+IHRhZzsgaXQgc2hvdWxkIGJlICInK3Yua2luZCsnIiwgbm90ICInK3Qua2luZCsnIicpLHYucmVzb2x2ZSh0LnJlc3VsdCk/KHQucmVzdWx0PXYuY29uc3RydWN0KHQucmVzdWx0KSx0LmFuY2hvciE9PW51bGwmJih0LmFuY2hvck1hcFt0LmFuY2hvcl09dC5yZXN1bHQpKTp5dCh0LCJjYW5ub3QgcmVzb2x2ZSBhIG5vZGUgd2l0aCAhPCIrdC50YWcrIj4gZXhwbGljaXQgdGFnIikpOnl0KHQsInVua25vd24gdGFnICE8Iit0LnRhZysiPiIpO3JldHVybiB0Lmxpc3RlbmVyIT09bnVsbCYmdC5saXN0ZW5lcigiY2xvc2UiLHQpLHQudGFnIT09bnVsbHx8dC5hbmNob3IhPT1udWxsfHxmfWkoSjUsImNvbXBvc2VOb2RlIik7ZnVuY3Rpb24gTDZhKHQpe3ZhciBlPXQucG9zaXRpb24sYSxyLHMsbj0hMSxvO2Zvcih0LnZlcnNpb249bnVsbCx0LmNoZWNrTGluZUJyZWFrcz10LmxlZ2FjeSx0LnRhZ01hcD17fSx0LmFuY2hvck1hcD17fTsobz10LmlucHV0LmNoYXJDb2RlQXQodC5wb3NpdGlvbikpIT09MCYmKG0xKHQsITAsLTEpLG89dC5pbnB1dC5jaGFyQ29kZUF0KHQucG9zaXRpb24pLCEodC5saW5lSW5kZW50PjB8fG8hPT0zNykpOyl7Zm9yKG49ITAsbz10LmlucHV0LmNoYXJDb2RlQXQoKyt0LnBvc2l0aW9uKSxhPXQucG9zaXRpb247byE9PTAmJiF0aShvKTspbz10LmlucHV0LmNoYXJDb2RlQXQoKyt0LnBvc2l0aW9uKTtmb3Iocj10LmlucHV0LnNsaWNlKGEsdC5wb3NpdGlvbikscz1bXSxyLmxlbmd0aDwxJiZ5dCh0LCJkaXJlY3RpdmUgbmFtZSBtdXN0IG5vdCBiZSBsZXNzIHRoYW4gb25lIGNoYXJhY3RlciBpbiBsZW5ndGgiKTtvIT09MDspe2Zvcig7aDAobyk7KW89dC5pbnB1dC5jaGFyQ29kZUF0KCsrdC5wb3NpdGlvbik7aWYobz09PTM1KXtkbyBvPXQuaW5wdXQuY2hhckNvZGVBdCgrK3QucG9zaXRpb24pO3doaWxlKG8hPT0wJiYhZjIobykpO2JyZWFrfWlmKGYyKG8pKWJyZWFrO2ZvcihhPXQucG9zaXRpb247byE9PTAmJiF0aShvKTspbz10LmlucHV0LmNoYXJDb2RlQXQoKyt0LnBvc2l0aW9uKTtzLnB1c2godC5pbnB1dC5zbGljZShhLHQucG9zaXRpb24pKX1vIT09MCYmWGFlKHQpLE5uLmNhbGwobjF0LHIpP24xdFtyXSh0LHIscyk6cFUodCwndW5rbm93biBkb2N1bWVudCBkaXJlY3RpdmUgIicrcisnIicpfWlmKG0xKHQsITAsLTEpLHQubGluZUluZGVudD09PTAmJnQuaW5wdXQuY2hhckNvZGVBdCh0LnBvc2l0aW9uKT09PTQ1JiZ0LmlucHV0LmNoYXJDb2RlQXQodC5wb3NpdGlvbisxKT09PTQ1JiZ0LmlucHV0LmNoYXJDb2RlQXQodC5wb3NpdGlvbisyKT09PTQ1Pyh0LnBvc2l0aW9uKz0zLG0xKHQsITAsLTEpKTpuJiZ5dCh0LCJkaXJlY3RpdmVzIGVuZCBtYXJrIGlzIGV4cGVjdGVkIiksSjUodCx0LmxpbmVJbmRlbnQtMSxkVSwhMSwhMCksbTEodCwhMCwtMSksdC5jaGVja0xpbmVCcmVha3MmJmY2YS50ZXN0KHQuaW5wdXQuc2xpY2UoZSx0LnBvc2l0aW9uKSkmJnBVKHQsIm5vbi1BU0NJSSBsaW5lIGJyZWFrcyBhcmUgaW50ZXJwcmV0ZWQgYXMgY29udGVudCIpLHQuZG9jdW1lbnRzLnB1c2godC5yZXN1bHQpLHQucG9zaXRpb249PT10LmxpbmVTdGFydCYmdVUodCkpe3QuaW5wdXQuY2hhckNvZGVBdCh0LnBvc2l0aW9uKT09PTQ2JiYodC5wb3NpdGlvbis9MyxtMSh0LCEwLC0xKSk7cmV0dXJufWlmKHQucG9zaXRpb248dC5sZW5ndGgtMSl5dCh0LCJlbmQgb2YgdGhlIHN0cmVhbSBvciBhIGRvY3VtZW50IHNlcGFyYXRvciBpcyBleHBlY3RlZCIpO2Vsc2UgcmV0dXJufWkoTDZhLCJyZWFkRG9jdW1lbnQiKTtmdW5jdGlvbiBkMXQodCxlKXt0PVN0cmluZyh0KSxlPWV8fHt9LHQubGVuZ3RoIT09MCYmKHQuY2hhckNvZGVBdCh0Lmxlbmd0aC0xKSE9PTEwJiZ0LmNoYXJDb2RlQXQodC5sZW5ndGgtMSkhPT0xMyYmKHQrPWAKYCksdC5jaGFyQ29kZUF0KDApPT09NjUyNzkmJih0PXQuc2xpY2UoMSkpKTt2YXIgYT1uZXcgeDZhKHQsZSkscj10LmluZGV4T2YoIlwwIik7Zm9yKHIhPT0tMSYmKGEucG9zaXRpb249cix5dChhLCJudWxsIGJ5dGUgaXMgbm90IGFsbG93ZWQgaW4gaW5wdXQiKSksYS5pbnB1dCs9IlwwIjthLmlucHV0LmNoYXJDb2RlQXQoYS5wb3NpdGlvbik9PT0zMjspYS5saW5lSW5kZW50Kz0xLGEucG9zaXRpb24rPTE7Zm9yKDthLnBvc2l0aW9uPGEubGVuZ3RoLTE7KUw2YShhKTtyZXR1cm4gYS5kb2N1bWVudHN9aShkMXQsImxvYWREb2N1bWVudHMiKTtmdW5jdGlvbiBwMXQodCxlLGEpe2UhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCImJnR5cGVvZiBhPiJ1IiYmKGE9ZSxlPW51bGwpO3ZhciByPWQxdCh0LGEpO2lmKHR5cGVvZiBlIT0iZnVuY3Rpb24iKXJldHVybiByO2Zvcih2YXIgcz0wLG49ci5sZW5ndGg7czxuO3MrPTEpZShyW3NdKX1pKHAxdCwibG9hZEFsbCIpO2Z1bmN0aW9uIHUxdCh0LGUpe3ZhciBhPWQxdCh0LGUpO2lmKGEubGVuZ3RoIT09MCl7aWYoYS5sZW5ndGg9PT0xKXJldHVybiBhWzBdO3Rocm93IG5ldyBZYXQoImV4cGVjdGVkIGEgc2luZ2xlIGRvY3VtZW50IGluIHRoZSBzdHJlYW0sIGJ1dCBmb3VuZCBtb3JlIil9fWkodTF0LCJsb2FkIik7ZnVuY3Rpb24gJDZhKHQsZSxhKXtyZXR1cm4gdHlwZW9mIGU9PSJvYmplY3QiJiZlIT09bnVsbCYmdHlwZW9mIGE+InUiJiYoYT1lLGU9bnVsbCkscDF0KHQsZSxpby5leHRlbmQoe3NjaGVtYTpaYXR9LGEpKX1pKCQ2YSwic2FmZUxvYWRBbGwiKTtmdW5jdGlvbiBENmEodCxlKXtyZXR1cm4gdTF0KHQsaW8uZXh0ZW5kKHtzY2hlbWE6WmF0fSxlKSl9aShENmEsInNhZmVMb2FkIiksWXUuZXhwb3J0cy5sb2FkQWxsPXAxdCxZdS5leHBvcnRzLmxvYWQ9dTF0LFl1LmV4cG9ydHMuc2FmZUxvYWRBbGw9JDZhLFl1LmV4cG9ydHMuc2FmZUxvYWQ9RDZhO3ZhciBtMH0pO3ZhciBOMXQ9d3QoKGdtMSx0MWUpPT57InVzZSBzdHJpY3QiO3ZhciBadT1wMCgpLFh1PVk1KCksQTZhPUd1KCksUDZhPVg1KCksaDF0PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsbTF0PU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksRTZhPTksS3U9MTAsSTZhPTEzLE42YT0zMixSNmE9MzMsRjZhPTM0LGcxdD0zNSxPNmE9MzcsQjZhPTM4LEg2YT0zOSxxNmE9NDIsYjF0PTQ0LFY2YT00NSx2MXQ9NTgsajZhPTYxLFU2YT02MixXNmE9NjMsRzZhPTY0LHgxdD05MSx5MXQ9OTMsWTZhPTk2LHcxdD0xMjMsWjZhPTEyNCxNMXQ9MTI1LHlyPXt9O3lyWzBdPSJcXDAiLHlyWzddPSJcXGEiLHlyWzhdPSJcXGIiLHlyWzldPSJcXHQiLHlyWzEwXT0iXFxuIix5clsxMV09IlxcdiIseXJbMTJdPSJcXGYiLHlyWzEzXT0iXFxyIix5clsyN109IlxcZSIseXJbMzRdPSdcXCInLHlyWzkyXT0iXFxcXCIseXJbMTMzXT0iXFxOIix5clsxNjBdPSJcXF8iLHlyWzgyMzJdPSJcXEwiLHlyWzgyMzNdPSJcXFAiO3ZhciBYNmE9WyJ5IiwiWSIsInllcyIsIlllcyIsIllFUyIsIm9uIiwiT24iLCJPTiIsIm4iLCJOIiwibm8iLCJObyIsIk5PIiwib2ZmIiwiT2ZmIiwiT0ZGIl07ZnVuY3Rpb24gSzZhKHQsZSl7dmFyIGEscixzLG4sbyxsLGg7aWYoZT09PW51bGwpcmV0dXJue307Zm9yKGE9e30scj1PYmplY3Qua2V5cyhlKSxzPTAsbj1yLmxlbmd0aDtzPG47cys9MSlvPXJbc10sbD1TdHJpbmcoZVtvXSksby5zbGljZSgwLDIpPT09IiEhIiYmKG89InRhZzp5YW1sLm9yZywyMDAyOiIrby5zbGljZSgyKSksaD10LmNvbXBpbGVkVHlwZU1hcC5mYWxsYmFja1tvXSxoJiZtMXQuY2FsbChoLnN0eWxlQWxpYXNlcyxsKSYmKGw9aC5zdHlsZUFsaWFzZXNbbF0pLGFbb109bDtyZXR1cm4gYX1pKEs2YSwiY29tcGlsZVN0eWxlTWFwIik7ZnVuY3Rpb24gazF0KHQpe3ZhciBlLGEscjtpZihlPXQudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCksdDw9MjU1KWE9IngiLHI9MjtlbHNlIGlmKHQ8PTY1NTM1KWE9InUiLHI9NDtlbHNlIGlmKHQ8PTQyOTQ5NjcyOTUpYT0iVSIscj04O2Vsc2UgdGhyb3cgbmV3IFh1KCJjb2RlIHBvaW50IHdpdGhpbiBhIHN0cmluZyBtYXkgbm90IGJlIGdyZWF0ZXIgdGhhbiAweEZGRkZGRkZGIik7cmV0dXJuIlxcIithK1p1LnJlcGVhdCgiMCIsci1lLmxlbmd0aCkrZX1pKGsxdCwiZW5jb2RlSGV4Iik7ZnVuY3Rpb24gUTZhKHQpe3RoaXMuc2NoZW1hPXQuc2NoZW1hfHxBNmEsdGhpcy5pbmRlbnQ9TWF0aC5tYXgoMSx0LmluZGVudHx8MiksdGhpcy5ub0FycmF5SW5kZW50PXQubm9BcnJheUluZGVudHx8ITEsdGhpcy5za2lwSW52YWxpZD10LnNraXBJbnZhbGlkfHwhMSx0aGlzLmZsb3dMZXZlbD1adS5pc05vdGhpbmcodC5mbG93TGV2ZWwpPy0xOnQuZmxvd0xldmVsLHRoaXMuc3R5bGVNYXA9SzZhKHRoaXMuc2NoZW1hLHQuc3R5bGVzfHxudWxsKSx0aGlzLnNvcnRLZXlzPXQuc29ydEtleXN8fCExLHRoaXMubGluZVdpZHRoPXQubGluZVdpZHRofHw4MCx0aGlzLm5vUmVmcz10Lm5vUmVmc3x8ITEsdGhpcy5ub0NvbXBhdE1vZGU9dC5ub0NvbXBhdE1vZGV8fCExLHRoaXMuY29uZGVuc2VGbG93PXQuY29uZGVuc2VGbG93fHwhMSx0aGlzLmltcGxpY2l0VHlwZXM9dGhpcy5zY2hlbWEuY29tcGlsZWRJbXBsaWNpdCx0aGlzLmV4cGxpY2l0VHlwZXM9dGhpcy5zY2hlbWEuY29tcGlsZWRFeHBsaWNpdCx0aGlzLnRhZz1udWxsLHRoaXMucmVzdWx0PSIiLHRoaXMuZHVwbGljYXRlcz1bXSx0aGlzLnVzZWREdXBsaWNhdGVzPW51bGx9aShRNmEsIlN0YXRlIik7ZnVuY3Rpb24gejF0KHQsZSl7Zm9yKHZhciBhPVp1LnJlcGVhdCgiICIsZSkscj0wLHM9LTEsbj0iIixvLGw9dC5sZW5ndGg7cjxsOylzPXQuaW5kZXhPZihgCmAscikscz09PS0xPyhvPXQuc2xpY2Uocikscj1sKToobz10LnNsaWNlKHIscysxKSxyPXMrMSksby5sZW5ndGgmJm8hPT1gCmAmJihuKz1hKSxuKz1vO3JldHVybiBufWkoejF0LCJpbmRlbnRTdHJpbmciKTtmdW5jdGlvbiBRYWUodCxlKXtyZXR1cm5gCmArWnUucmVwZWF0KCIgIix0LmluZGVudCplKX1pKFFhZSwiZ2VuZXJhdGVOZXh0TGluZSIpO2Z1bmN0aW9uIEo2YSh0LGUpe3ZhciBhLHIscztmb3IoYT0wLHI9dC5pbXBsaWNpdFR5cGVzLmxlbmd0aDthPHI7YSs9MSlpZihzPXQuaW1wbGljaXRUeXBlc1thXSxzLnJlc29sdmUoZSkpcmV0dXJuITA7cmV0dXJuITF9aShKNmEsInRlc3RJbXBsaWNpdFJlc29sdmluZyIpO2Z1bmN0aW9uIEphZSh0KXtyZXR1cm4gdD09PU42YXx8dD09PUU2YX1pKEphZSwiaXNXaGl0ZXNwYWNlIik7ZnVuY3Rpb24gZTgodCl7cmV0dXJuIDMyPD10JiZ0PD0xMjZ8fDE2MTw9dCYmdDw9NTUyOTUmJnQhPT04MjMyJiZ0IT09ODIzM3x8NTczNDQ8PXQmJnQ8PTY1NTMzJiZ0IT09NjUyNzl8fDY1NTM2PD10JiZ0PD0xMTE0MTExfWkoZTgsImlzUHJpbnRhYmxlIik7ZnVuY3Rpb24gZTVhKHQpe3JldHVybiBlOCh0KSYmIUphZSh0KSYmdCE9PTY1Mjc5JiZ0IT09STZhJiZ0IT09S3V9aShlNWEsImlzTnNDaGFyIik7ZnVuY3Rpb24gUzF0KHQsZSl7cmV0dXJuIGU4KHQpJiZ0IT09NjUyNzkmJnQhPT1iMXQmJnQhPT14MXQmJnQhPT15MXQmJnQhPT13MXQmJnQhPT1NMXQmJnQhPT12MXQmJih0IT09ZzF0fHxlJiZlNWEoZSkpfWkoUzF0LCJpc1BsYWluU2FmZSIpO2Z1bmN0aW9uIHQ1YSh0KXtyZXR1cm4gZTgodCkmJnQhPT02NTI3OSYmIUphZSh0KSYmdCE9PVY2YSYmdCE9PVc2YSYmdCE9PXYxdCYmdCE9PWIxdCYmdCE9PXgxdCYmdCE9PXkxdCYmdCE9PXcxdCYmdCE9PU0xdCYmdCE9PWcxdCYmdCE9PUI2YSYmdCE9PXE2YSYmdCE9PVI2YSYmdCE9PVo2YSYmdCE9PWo2YSYmdCE9PVU2YSYmdCE9PUg2YSYmdCE9PUY2YSYmdCE9PU82YSYmdCE9PUc2YSYmdCE9PVk2YX1pKHQ1YSwiaXNQbGFpblNhZmVGaXJzdCIpO2Z1bmN0aW9uIEMxdCh0KXt2YXIgZT0vXlxuKiAvO3JldHVybiBlLnRlc3QodCl9aShDMXQsIm5lZWRJbmRlbnRJbmRpY2F0b3IiKTt2YXIgXzF0PTEsVDF0PTIsTDF0PTMsJDF0PTQsZlU9NTtmdW5jdGlvbiBhNWEodCxlLGEscixzKXt2YXIgbixvLGwsaD0hMSx1PSExLGY9ciE9PS0xLHA9LTEsZz10NWEodC5jaGFyQ29kZUF0KDApKSYmIUphZSh0LmNoYXJDb2RlQXQodC5sZW5ndGgtMSkpO2lmKGUpZm9yKG49MDtuPHQubGVuZ3RoO24rKyl7aWYobz10LmNoYXJDb2RlQXQobiksIWU4KG8pKXJldHVybiBmVTtsPW4+MD90LmNoYXJDb2RlQXQobi0xKTpudWxsLGc9ZyYmUzF0KG8sbCl9ZWxzZXtmb3Iobj0wO248dC5sZW5ndGg7bisrKXtpZihvPXQuY2hhckNvZGVBdChuKSxvPT09S3UpaD0hMCxmJiYodT11fHxuLXAtMT5yJiZ0W3ArMV0hPT0iICIscD1uKTtlbHNlIGlmKCFlOChvKSlyZXR1cm4gZlU7bD1uPjA/dC5jaGFyQ29kZUF0KG4tMSk6bnVsbCxnPWcmJlMxdChvLGwpfXU9dXx8ZiYmbi1wLTE+ciYmdFtwKzFdIT09IiAifXJldHVybiFoJiYhdT9nJiYhcyh0KT9fMXQ6VDF0OmE+OSYmQzF0KHQpP2ZVOnU/JDF0OkwxdH1pKGE1YSwiY2hvb3NlU2NhbGFyU3R5bGUiKTtmdW5jdGlvbiByNWEodCxlLGEscil7dC5kdW1wPShmdW5jdGlvbigpe2lmKGUubGVuZ3RoPT09MClyZXR1cm4iJyciO2lmKCF0Lm5vQ29tcGF0TW9kZSYmWDZhLmluZGV4T2YoZSkhPT0tMSlyZXR1cm4iJyIrZSsiJyI7dmFyIHM9dC5pbmRlbnQqTWF0aC5tYXgoMSxhKSxuPXQubGluZVdpZHRoPT09LTE/LTE6TWF0aC5tYXgoTWF0aC5taW4odC5saW5lV2lkdGgsNDApLHQubGluZVdpZHRoLXMpLG89cnx8dC5mbG93TGV2ZWw+LTEmJmE+PXQuZmxvd0xldmVsO2Z1bmN0aW9uIGwoaCl7cmV0dXJuIEo2YSh0LGgpfXN3aXRjaChpKGwsInRlc3RBbWJpZ3VpdHkiKSxhNWEoZSxvLHQuaW5kZW50LG4sbCkpe2Nhc2UgXzF0OnJldHVybiBlO2Nhc2UgVDF0OnJldHVybiInIitlLnJlcGxhY2UoLycvZywiJyciKSsiJyI7Y2FzZSBMMXQ6cmV0dXJuInwiK0QxdChlLHQuaW5kZW50KStBMXQoejF0KGUscykpO2Nhc2UgJDF0OnJldHVybiI+IitEMXQoZSx0LmluZGVudCkrQTF0KHoxdChpNWEoZSxuKSxzKSk7Y2FzZSBmVTpyZXR1cm4nIicrczVhKGUsbikrJyInO2RlZmF1bHQ6dGhyb3cgbmV3IFh1KCJpbXBvc3NpYmxlIGVycm9yOiBpbnZhbGlkIHNjYWxhciBzdHlsZSIpfX0pKCl9aShyNWEsIndyaXRlU2NhbGFyIik7ZnVuY3Rpb24gRDF0KHQsZSl7dmFyIGE9QzF0KHQpP1N0cmluZyhlKToiIixyPXRbdC5sZW5ndGgtMV09PT1gCmAscz1yJiYodFt0Lmxlbmd0aC0yXT09PWAKYHx8dD09PWAKYCksbj1zPyIrIjpyPyIiOiItIjtyZXR1cm4gYStuK2AKYH1pKEQxdCwiYmxvY2tIZWFkZXIiKTtmdW5jdGlvbiBBMXQodCl7cmV0dXJuIHRbdC5sZW5ndGgtMV09PT1gCmA/dC5zbGljZSgwLC0xKTp0fWkoQTF0LCJkcm9wRW5kaW5nTmV3bGluZSIpO2Z1bmN0aW9uIGk1YSh0LGUpe2Zvcih2YXIgYT0vKFxuKykoW15cbl0qKS9nLHI9KGZ1bmN0aW9uKCl7dmFyIHU9dC5pbmRleE9mKGAKYCk7cmV0dXJuIHU9dSE9PS0xP3U6dC5sZW5ndGgsYS5sYXN0SW5kZXg9dSxQMXQodC5zbGljZSgwLHUpLGUpfSkoKSxzPXRbMF09PT1gCmB8fHRbMF09PT0iICIsbixvO289YS5leGVjKHQpOyl7dmFyIGw9b1sxXSxoPW9bMl07bj1oWzBdPT09IiAiLHIrPWwrKCFzJiYhbiYmaCE9PSIiP2AKYDoiIikrUDF0KGgsZSkscz1ufXJldHVybiByfWkoaTVhLCJmb2xkU3RyaW5nIik7ZnVuY3Rpb24gUDF0KHQsZSl7aWYodD09PSIifHx0WzBdPT09IiAiKXJldHVybiB0O2Zvcih2YXIgYT0vIFteIF0vZyxyLHM9MCxuLG89MCxsPTAsaD0iIjtyPWEuZXhlYyh0KTspbD1yLmluZGV4LGwtcz5lJiYobj1vPnM/bzpsLGgrPWAKYCt0LnNsaWNlKHMsbikscz1uKzEpLG89bDtyZXR1cm4gaCs9YApgLHQubGVuZ3RoLXM+ZSYmbz5zP2grPXQuc2xpY2UocyxvKStgCmArdC5zbGljZShvKzEpOmgrPXQuc2xpY2UocyksaC5zbGljZSgxKX1pKFAxdCwiZm9sZExpbmUiKTtmdW5jdGlvbiBzNWEodCl7Zm9yKHZhciBlPSIiLGEscixzLG49MDtuPHQubGVuZ3RoO24rKyl7aWYoYT10LmNoYXJDb2RlQXQobiksYT49NTUyOTYmJmE8PTU2MzE5JiYocj10LmNoYXJDb2RlQXQobisxKSxyPj01NjMyMCYmcjw9NTczNDMpKXtlKz1rMXQoKGEtNTUyOTYpKjEwMjQrci01NjMyMCs2NTUzNiksbisrO2NvbnRpbnVlfXM9eXJbYV0sZSs9IXMmJmU4KGEpP3Rbbl06c3x8azF0KGEpfXJldHVybiBlfWkoczVhLCJlc2NhcGVTdHJpbmciKTtmdW5jdGlvbiBvNWEodCxlLGEpe3ZhciByPSIiLHM9dC50YWcsbixvO2ZvcihuPTAsbz1hLmxlbmd0aDtuPG87bis9MSlnMCh0LGUsYVtuXSwhMSwhMSkmJihuIT09MCYmKHIrPSIsIisodC5jb25kZW5zZUZsb3c/IiI6IiAiKSkscis9dC5kdW1wKTt0LnRhZz1zLHQuZHVtcD0iWyIrcisiXSJ9aShvNWEsIndyaXRlRmxvd1NlcXVlbmNlIik7ZnVuY3Rpb24gbjVhKHQsZSxhLHIpe3ZhciBzPSIiLG49dC50YWcsbyxsO2ZvcihvPTAsbD1hLmxlbmd0aDtvPGw7bys9MSlnMCh0LGUrMSxhW29dLCEwLCEwKSYmKCghcnx8byE9PTApJiYocys9UWFlKHQsZSkpLHQuZHVtcCYmS3U9PT10LmR1bXAuY2hhckNvZGVBdCgwKT9zKz0iLSI6cys9Ii0gIixzKz10LmR1bXApO3QudGFnPW4sdC5kdW1wPXN8fCJbXSJ9aShuNWEsIndyaXRlQmxvY2tTZXF1ZW5jZSIpO2Z1bmN0aW9uIGw1YSh0LGUsYSl7dmFyIHI9IiIscz10LnRhZyxuPU9iamVjdC5rZXlzKGEpLG8sbCxoLHUsZjtmb3Iobz0wLGw9bi5sZW5ndGg7bzxsO28rPTEpZj0iIixvIT09MCYmKGYrPSIsICIpLHQuY29uZGVuc2VGbG93JiYoZis9JyInKSxoPW5bb10sdT1hW2hdLGcwKHQsZSxoLCExLCExKSYmKHQuZHVtcC5sZW5ndGg+MTAyNCYmKGYrPSI/ICIpLGYrPXQuZHVtcCsodC5jb25kZW5zZUZsb3c/JyInOiIiKSsiOiIrKHQuY29uZGVuc2VGbG93PyIiOiIgIiksZzAodCxlLHUsITEsITEpJiYoZis9dC5kdW1wLHIrPWYpKTt0LnRhZz1zLHQuZHVtcD0ieyIrcisifSJ9aShsNWEsIndyaXRlRmxvd01hcHBpbmciKTtmdW5jdGlvbiBjNWEodCxlLGEscil7dmFyIHM9IiIsbj10LnRhZyxvPU9iamVjdC5rZXlzKGEpLGwsaCx1LGYscCxnO2lmKHQuc29ydEtleXM9PT0hMClvLnNvcnQoKTtlbHNlIGlmKHR5cGVvZiB0LnNvcnRLZXlzPT0iZnVuY3Rpb24iKW8uc29ydCh0LnNvcnRLZXlzKTtlbHNlIGlmKHQuc29ydEtleXMpdGhyb3cgbmV3IFh1KCJzb3J0S2V5cyBtdXN0IGJlIGEgYm9vbGVhbiBvciBhIGZ1bmN0aW9uIik7Zm9yKGw9MCxoPW8ubGVuZ3RoO2w8aDtsKz0xKWc9IiIsKCFyfHxsIT09MCkmJihnKz1RYWUodCxlKSksdT1vW2xdLGY9YVt1XSxnMCh0LGUrMSx1LCEwLCEwLCEwKSYmKHA9dC50YWchPT1udWxsJiZ0LnRhZyE9PSI/Inx8dC5kdW1wJiZ0LmR1bXAubGVuZ3RoPjEwMjQscCYmKHQuZHVtcCYmS3U9PT10LmR1bXAuY2hhckNvZGVBdCgwKT9nKz0iPyI6Zys9Ij8gIiksZys9dC5kdW1wLHAmJihnKz1RYWUodCxlKSksZzAodCxlKzEsZiwhMCxwKSYmKHQuZHVtcCYmS3U9PT10LmR1bXAuY2hhckNvZGVBdCgwKT9nKz0iOiI6Zys9IjogIixnKz10LmR1bXAscys9ZykpO3QudGFnPW4sdC5kdW1wPXN8fCJ7fSJ9aShjNWEsIndyaXRlQmxvY2tNYXBwaW5nIik7ZnVuY3Rpb24gRTF0KHQsZSxhKXt2YXIgcixzLG4sbyxsLGg7Zm9yKHM9YT90LmV4cGxpY2l0VHlwZXM6dC5pbXBsaWNpdFR5cGVzLG49MCxvPXMubGVuZ3RoO248bztuKz0xKWlmKGw9c1tuXSwobC5pbnN0YW5jZU9mfHxsLnByZWRpY2F0ZSkmJighbC5pbnN0YW5jZU9mfHx0eXBlb2YgZT09Im9iamVjdCImJmUgaW5zdGFuY2VvZiBsLmluc3RhbmNlT2YpJiYoIWwucHJlZGljYXRlfHxsLnByZWRpY2F0ZShlKSkpe2lmKHQudGFnPWE/bC50YWc6Ij8iLGwucmVwcmVzZW50KXtpZihoPXQuc3R5bGVNYXBbbC50YWddfHxsLmRlZmF1bHRTdHlsZSxoMXQuY2FsbChsLnJlcHJlc2VudCk9PT0iW29iamVjdCBGdW5jdGlvbl0iKXI9bC5yZXByZXNlbnQoZSxoKTtlbHNlIGlmKG0xdC5jYWxsKGwucmVwcmVzZW50LGgpKXI9bC5yZXByZXNlbnRbaF0oZSxoKTtlbHNlIHRocm93IG5ldyBYdSgiITwiK2wudGFnKyc+IHRhZyByZXNvbHZlciBhY2NlcHRzIG5vdCAiJytoKyciIHN0eWxlJyk7dC5kdW1wPXJ9cmV0dXJuITB9cmV0dXJuITF9aShFMXQsImRldGVjdFR5cGUiKTtmdW5jdGlvbiBnMCh0LGUsYSxyLHMsbil7dC50YWc9bnVsbCx0LmR1bXA9YSxFMXQodCxhLCExKXx8RTF0KHQsYSwhMCk7dmFyIG89aDF0LmNhbGwodC5kdW1wKTtyJiYocj10LmZsb3dMZXZlbDwwfHx0LmZsb3dMZXZlbD5lKTt2YXIgbD1vPT09IltvYmplY3QgT2JqZWN0XSJ8fG89PT0iW29iamVjdCBBcnJheV0iLGgsdTtpZihsJiYoaD10LmR1cGxpY2F0ZXMuaW5kZXhPZihhKSx1PWghPT0tMSksKHQudGFnIT09bnVsbCYmdC50YWchPT0iPyJ8fHV8fHQuaW5kZW50IT09MiYmZT4wKSYmKHM9ITEpLHUmJnQudXNlZER1cGxpY2F0ZXNbaF0pdC5kdW1wPSIqcmVmXyIraDtlbHNle2lmKGwmJnUmJiF0LnVzZWREdXBsaWNhdGVzW2hdJiYodC51c2VkRHVwbGljYXRlc1toXT0hMCksbz09PSJbb2JqZWN0IE9iamVjdF0iKXImJk9iamVjdC5rZXlzKHQuZHVtcCkubGVuZ3RoIT09MD8oYzVhKHQsZSx0LmR1bXAscyksdSYmKHQuZHVtcD0iJnJlZl8iK2grdC5kdW1wKSk6KGw1YSh0LGUsdC5kdW1wKSx1JiYodC5kdW1wPSImcmVmXyIraCsiICIrdC5kdW1wKSk7ZWxzZSBpZihvPT09IltvYmplY3QgQXJyYXldIil7dmFyIGY9dC5ub0FycmF5SW5kZW50JiZlPjA/ZS0xOmU7ciYmdC5kdW1wLmxlbmd0aCE9PTA/KG41YSh0LGYsdC5kdW1wLHMpLHUmJih0LmR1bXA9IiZyZWZfIitoK3QuZHVtcCkpOihvNWEodCxmLHQuZHVtcCksdSYmKHQuZHVtcD0iJnJlZl8iK2grIiAiK3QuZHVtcCkpfWVsc2UgaWYobz09PSJbb2JqZWN0IFN0cmluZ10iKXQudGFnIT09Ij8iJiZyNWEodCx0LmR1bXAsZSxuKTtlbHNle2lmKHQuc2tpcEludmFsaWQpcmV0dXJuITE7dGhyb3cgbmV3IFh1KCJ1bmFjY2VwdGFibGUga2luZCBvZiBhbiBvYmplY3QgdG8gZHVtcCAiK28pfXQudGFnIT09bnVsbCYmdC50YWchPT0iPyImJih0LmR1bXA9IiE8Iit0LnRhZysiPiAiK3QuZHVtcCl9cmV0dXJuITB9aShnMCwid3JpdGVOb2RlIik7ZnVuY3Rpb24gZDVhKHQsZSl7dmFyIGE9W10scj1bXSxzLG47Zm9yKGUxZSh0LGEscikscz0wLG49ci5sZW5ndGg7czxuO3MrPTEpZS5kdXBsaWNhdGVzLnB1c2goYVtyW3NdXSk7ZS51c2VkRHVwbGljYXRlcz1uZXcgQXJyYXkobil9aShkNWEsImdldER1cGxpY2F0ZVJlZmVyZW5jZXMiKTtmdW5jdGlvbiBlMWUodCxlLGEpe3ZhciByLHMsbjtpZih0IT09bnVsbCYmdHlwZW9mIHQ9PSJvYmplY3QiKWlmKHM9ZS5pbmRleE9mKHQpLHMhPT0tMSlhLmluZGV4T2Yocyk9PT0tMSYmYS5wdXNoKHMpO2Vsc2UgaWYoZS5wdXNoKHQpLEFycmF5LmlzQXJyYXkodCkpZm9yKHM9MCxuPXQubGVuZ3RoO3M8bjtzKz0xKWUxZSh0W3NdLGUsYSk7ZWxzZSBmb3Iocj1PYmplY3Qua2V5cyh0KSxzPTAsbj1yLmxlbmd0aDtzPG47cys9MSllMWUodFtyW3NdXSxlLGEpfWkoZTFlLCJpbnNwZWN0Tm9kZSIpO2Z1bmN0aW9uIEkxdCh0LGUpe2U9ZXx8e307dmFyIGE9bmV3IFE2YShlKTtyZXR1cm4gYS5ub1JlZnN8fGQ1YSh0LGEpLGcwKGEsMCx0LCEwLCEwKT9hLmR1bXArYApgOiIifWkoSTF0LCJkdW1wIik7ZnVuY3Rpb24gcDVhKHQsZSl7cmV0dXJuIEkxdCh0LFp1LmV4dGVuZCh7c2NoZW1hOlA2YX0sZSkpfWkocDVhLCJzYWZlRHVtcCIpLHQxZS5leHBvcnRzLmR1bXA9STF0LHQxZS5leHBvcnRzLnNhZmVEdW1wPXA1YX0pO3ZhciBGMXQ9d3QoKHZtMSx0MSk9PnsidXNlIHN0cmljdCI7dmFyIGhVPWYxdCgpLFIxdD1OMXQoKTtmdW5jdGlvbiBtVSh0KXtyZXR1cm4gZnVuY3Rpb24oKXt0aHJvdyBuZXcgRXJyb3IoIkZ1bmN0aW9uICIrdCsiIGlzIGRlcHJlY2F0ZWQgYW5kIGNhbm5vdCBiZSB1c2VkLiIpfX1pKG1VLCJkZXByZWNhdGVkIiksdDEuZXhwb3J0cy5UeXBlPSQxKCksdDEuZXhwb3J0cy5TY2hlbWE9dTAoKSx0MS5leHBvcnRzLkZBSUxTQUZFX1NDSEVNQT1uVSgpLHQxLmV4cG9ydHMuSlNPTl9TQ0hFTUE9V2FlKCksdDEuZXhwb3J0cy5DT1JFX1NDSEVNQT1HYWUoKSx0MS5leHBvcnRzLkRFRkFVTFRfU0FGRV9TQ0hFTUE9WDUoKSx0MS5leHBvcnRzLkRFRkFVTFRfRlVMTF9TQ0hFTUE9R3UoKSx0MS5leHBvcnRzLmxvYWQ9aFUubG9hZCx0MS5leHBvcnRzLmxvYWRBbGw9aFUubG9hZEFsbCx0MS5leHBvcnRzLnNhZmVMb2FkPWhVLnNhZmVMb2FkLHQxLmV4cG9ydHMuc2FmZUxvYWRBbGw9aFUuc2FmZUxvYWRBbGwsdDEuZXhwb3J0cy5kdW1wPVIxdC5kdW1wLHQxLmV4cG9ydHMuc2FmZUR1bXA9UjF0LnNhZmVEdW1wLHQxLmV4cG9ydHMuWUFNTEV4Y2VwdGlvbj1ZNSgpLHQxLmV4cG9ydHMuTUlOSU1BTF9TQ0hFTUE9blUoKSx0MS5leHBvcnRzLlNBRkVfU0NIRU1BPVg1KCksdDEuZXhwb3J0cy5ERUZBVUxUX1NDSEVNQT1HdSgpLHQxLmV4cG9ydHMuc2Nhbj1tVSgic2NhbiIpLHQxLmV4cG9ydHMucGFyc2U9bVUoInBhcnNlIiksdDEuZXhwb3J0cy5jb21wb3NlPW1VKCJjb21wb3NlIiksdDEuZXhwb3J0cy5hZGRDb25zdHJ1Y3Rvcj1tVSgiYWRkQ29uc3RydWN0b3IiKX0pO3ZhciBCMXQ9d3QoKHltMSxPMXQpPT57InVzZSBzdHJpY3QiO3ZhciB1NWE9RjF0KCk7TzF0LmV4cG9ydHM9dTVhfSk7dmFyIEgxdD13dChoMj0+eyJ1c2Ugc3RyaWN0Ijt2YXIgZjVhPWgyJiZoMi5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbih0LGUsYSxyKXtyPT09dm9pZCAwJiYocj1hKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLHtlbnVtZXJhYmxlOiEwLGdldDppKGZ1bmN0aW9uKCl7cmV0dXJuIGVbYV19LCJnZXQiKX0pfSk6KGZ1bmN0aW9uKHQsZSxhLHIpe3I9PT12b2lkIDAmJihyPWEpLHRbcl09ZVthXX0pKSxoNWE9aDImJmgyLl9fc2V0TW9kdWxlRGVmYXVsdHx8KE9iamVjdC5jcmVhdGU/KGZ1bmN0aW9uKHQsZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLHZhbHVlOmV9KX0pOmZ1bmN0aW9uKHQsZSl7dC5kZWZhdWx0PWV9KSxtNWE9aDImJmgyLl9faW1wb3J0U3Rhcnx8ZnVuY3Rpb24odCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPXt9O2lmKHQhPW51bGwpZm9yKHZhciBhIGluIHQpYSE9PSJkZWZhdWx0IiYmT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodCxhKSYmZjVhKGUsdCxhKTtyZXR1cm4gaDVhKGUsdCksZX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGgyLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxoMi5qc1lhbWw9dm9pZCAwO3ZhciBnNWE9bTVhKEIxdCgpKTtoMi5qc1lhbWw9ZzVhfSk7dmFyIFYxdD13dChGaT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgYjVhPUZpJiZGaS5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbih0LGUsYSxyKXtyPT09dm9pZCAwJiYocj1hKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLHtlbnVtZXJhYmxlOiEwLGdldDppKGZ1bmN0aW9uKCl7cmV0dXJuIGVbYV19LCJnZXQiKX0pfSk6KGZ1bmN0aW9uKHQsZSxhLHIpe3I9PT12b2lkIDAmJihyPWEpLHRbcl09ZVthXX0pKSx2NWE9RmkmJkZpLl9fc2V0TW9kdWxlRGVmYXVsdHx8KE9iamVjdC5jcmVhdGU/KGZ1bmN0aW9uKHQsZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImRlZmF1bHQiLHtlbnVtZXJhYmxlOiEwLHZhbHVlOmV9KX0pOmZ1bmN0aW9uKHQsZSl7dC5kZWZhdWx0PWV9KSx4NWE9RmkmJkZpLl9faW1wb3J0U3Rhcnx8ZnVuY3Rpb24odCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPXt9O2lmKHQhPW51bGwpZm9yKHZhciBhIGluIHQpYSE9PSJkZWZhdWx0IiYmT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodCxhKSYmYjVhKGUsdCxhKTtyZXR1cm4gdjVhKGUsdCksZX07T2JqZWN0LmRlZmluZVByb3BlcnR5KEZpLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxGaS5vYmplY3RUb1lhbWxTdHJpbmc9RmkueWFtbFN0cmluZ1RvT2JqZWN0PXZvaWQgMDt2YXIgcTF0PXg1YShIMXQoKSk7RmkueWFtbFN0cmluZ1RvT2JqZWN0PWFzeW5jKHQsZT17fSk9PnExdC5qc1lhbWwuc2FmZUxvYWQodCksRmkub2JqZWN0VG9ZYW1sU3RyaW5nPWFzeW5jKHQsZT17fSk9PnExdC5qc1lhbWwuc2FmZUR1bXAodCl9KTtmdW5jdGlvbiBhMWUodCl7aWYodCl0aHJvdyB0fXZhciBqMXQ9YygoKT0+e2koYTFlLCJiYWlsIil9KTt2YXIgSjF0PXd0KChfbTEsUTF0KT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgZ1U9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxVMXQ9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxXMXQ9T2JqZWN0LmRlZmluZVByb3BlcnR5LEcxdD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLFkxdD1pKGZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgQXJyYXkuaXNBcnJheT09ImZ1bmN0aW9uIj9BcnJheS5pc0FycmF5KGUpOlUxdC5jYWxsKGUpPT09IltvYmplY3QgQXJyYXldIn0sImlzQXJyYXkiKSxaMXQ9aShmdW5jdGlvbihlKXtpZighZXx8VTF0LmNhbGwoZSkhPT0iW29iamVjdCBPYmplY3RdIilyZXR1cm4hMTt2YXIgYT1nVS5jYWxsKGUsImNvbnN0cnVjdG9yIikscj1lLmNvbnN0cnVjdG9yJiZlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSYmZ1UuY2FsbChlLmNvbnN0cnVjdG9yLnByb3RvdHlwZSwiaXNQcm90b3R5cGVPZiIpO2lmKGUuY29uc3RydWN0b3ImJiFhJiYhcilyZXR1cm4hMTt2YXIgcztmb3IocyBpbiBlKTtyZXR1cm4gdHlwZW9mIHM+InUifHxnVS5jYWxsKGUscyl9LCJpc1BsYWluT2JqZWN0IiksWDF0PWkoZnVuY3Rpb24oZSxhKXtXMXQmJmEubmFtZT09PSJfX3Byb3RvX18iP1cxdChlLGEubmFtZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsdmFsdWU6YS5uZXdWYWx1ZSx3cml0YWJsZTohMH0pOmVbYS5uYW1lXT1hLm5ld1ZhbHVlfSwic2V0UHJvcGVydHkiKSxLMXQ9aShmdW5jdGlvbihlLGEpe2lmKGE9PT0iX19wcm90b19fIilpZihnVS5jYWxsKGUsYSkpe2lmKEcxdClyZXR1cm4gRzF0KGUsYSkudmFsdWV9ZWxzZSByZXR1cm47cmV0dXJuIGVbYV19LCJnZXRQcm9wZXJ0eSIpO1ExdC5leHBvcnRzPWkoZnVuY3Rpb24gdCgpe3ZhciBlLGEscixzLG4sbyxsPWFyZ3VtZW50c1swXSxoPTEsdT1hcmd1bWVudHMubGVuZ3RoLGY9ITE7Zm9yKHR5cGVvZiBsPT0iYm9vbGVhbiImJihmPWwsbD1hcmd1bWVudHNbMV18fHt9LGg9MiksKGw9PW51bGx8fHR5cGVvZiBsIT0ib2JqZWN0IiYmdHlwZW9mIGwhPSJmdW5jdGlvbiIpJiYobD17fSk7aDx1OysraClpZihlPWFyZ3VtZW50c1toXSxlIT1udWxsKWZvcihhIGluIGUpcj1LMXQobCxhKSxzPUsxdChlLGEpLGwhPT1zJiYoZiYmcyYmKFoxdChzKXx8KG49WTF0KHMpKSk/KG4/KG49ITEsbz1yJiZZMXQocik/cjpbXSk6bz1yJiZaMXQocik/cjp7fSxYMXQobCx7bmFtZTphLG5ld1ZhbHVlOnQoZixvLHMpfSkpOnR5cGVvZiBzPCJ1IiYmWDF0KGwse25hbWU6YSxuZXdWYWx1ZTpzfSkpO3JldHVybiBsfSwiZXh0ZW5kIil9KTt2YXIgRm49YygoKT0+e30pO2Z1bmN0aW9uIFF1KHQpe2lmKHR5cGVvZiB0IT0ib2JqZWN0Inx8dD09PW51bGwpcmV0dXJuITE7bGV0IGU9T2JqZWN0LmdldFByb3RvdHlwZU9mKHQpO3JldHVybihlPT09bnVsbHx8ZT09PU9iamVjdC5wcm90b3R5cGV8fE9iamVjdC5nZXRQcm90b3R5cGVPZihlKT09PW51bGwpJiYhKFN5bWJvbC50b1N0cmluZ1RhZyBpbiB0KSYmIShTeW1ib2wuaXRlcmF0b3IgaW4gdCl9dmFyIGVydD1jKCgpPT57aShRdSwiaXNQbGFpbk9iamVjdCIpfSk7ZnVuY3Rpb24gcjFlKCl7bGV0IHQ9W10sZT17cnVuOmEsdXNlOnJ9O3JldHVybiBlO2Z1bmN0aW9uIGEoLi4ucyl7bGV0IG49LTEsbz1zLnBvcCgpO2lmKHR5cGVvZiBvIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGZ1bmN0aW9uIGFzIGxhc3QgYXJndW1lbnQsIG5vdCAiK28pO2wobnVsbCwuLi5zKTtmdW5jdGlvbiBsKGgsLi4udSl7bGV0IGY9dFsrK25dLHA9LTE7aWYoaCl7byhoKTtyZXR1cm59Zm9yKDsrK3A8cy5sZW5ndGg7KSh1W3BdPT09bnVsbHx8dVtwXT09PXZvaWQgMCkmJih1W3BdPXNbcF0pO3M9dSxmP3RydChmLGwpKC4uLnUpOm8obnVsbCwuLi51KX1pKGwsIm5leHQiKX1mdW5jdGlvbiByKHMpe2lmKHR5cGVvZiBzIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGBtaWRkZWx3YXJlYCB0byBiZSBhIGZ1bmN0aW9uLCBub3QgIitzKTtyZXR1cm4gdC5wdXNoKHMpLGV9fWZ1bmN0aW9uIHRydCh0LGUpe2xldCBhO3JldHVybiByO2Z1bmN0aW9uIHIoLi4ubyl7bGV0IGw9dC5sZW5ndGg+by5sZW5ndGgsaDtsJiZvLnB1c2gocyk7dHJ5e2g9dC5hcHBseSh0aGlzLG8pfWNhdGNoKHUpe2xldCBmPXU7aWYobCYmYSl0aHJvdyBmO3JldHVybiBzKGYpfWx8fChoJiZoLnRoZW4mJnR5cGVvZiBoLnRoZW49PSJmdW5jdGlvbiI/aC50aGVuKG4scyk6aCBpbnN0YW5jZW9mIEVycm9yP3MoaCk6bihoKSl9ZnVuY3Rpb24gcyhvLC4uLmwpe2F8fChhPSEwLGUobywuLi5sKSl9ZnVuY3Rpb24gbihvKXtzKG51bGwsbyl9fXZhciBhcnQ9YygoKT0+e2kocjFlLCJ0cm91Z2giKTtpKHRydCwid3JhcCIpfSk7dmFyIHJydD1jKCgpPT57YXJ0KCl9KTtmdW5jdGlvbiBPbih0KXtyZXR1cm4hdHx8dHlwZW9mIHQhPSJvYmplY3QiPyIiOiJwb3NpdGlvbiJpbiB0fHwidHlwZSJpbiB0P2lydCh0LnBvc2l0aW9uKToic3RhcnQiaW4gdHx8ImVuZCJpbiB0P2lydCh0KToibGluZSJpbiB0fHwiY29sdW1uImluIHQ/aTFlKHQpOiIifWZ1bmN0aW9uIGkxZSh0KXtyZXR1cm4gc3J0KHQmJnQubGluZSkrIjoiK3NydCh0JiZ0LmNvbHVtbil9ZnVuY3Rpb24gaXJ0KHQpe3JldHVybiBpMWUodCYmdC5zdGFydCkrIi0iK2kxZSh0JiZ0LmVuZCl9ZnVuY3Rpb24gc3J0KHQpe3JldHVybiB0JiZ0eXBlb2YgdD09Im51bWJlciI/dDoxfXZhciBvcnQ9YygoKT0+e2koT24sInN0cmluZ2lmeVBvc2l0aW9uIik7aShpMWUsInBvaW50Iik7aShpcnQsInBvc2l0aW9uIik7aShzcnQsImluZGV4Iil9KTt2YXIgczFlPWMoKCk9PntvcnQoKX0pO3ZhciBqMSxucnQ9YygoKT0+e3MxZSgpO2oxPWNsYXNzIGV4dGVuZHMgRXJyb3J7c3RhdGlje2kodGhpcywiVkZpbGVNZXNzYWdlIil9Y29uc3RydWN0b3IoZSxhLHIpe3N1cGVyKCksdHlwZW9mIGE9PSJzdHJpbmciJiYocj1hLGE9dm9pZCAwKTtsZXQgcz0iIixuPXt9LG89ITE7aWYoYSYmKCJsaW5lImluIGEmJiJjb2x1bW4iaW4gYT9uPXtwbGFjZTphfToic3RhcnQiaW4gYSYmImVuZCJpbiBhP249e3BsYWNlOmF9OiJ0eXBlImluIGE/bj17YW5jZXN0b3JzOlthXSxwbGFjZTphLnBvc2l0aW9ufTpuPXsuLi5hfSksdHlwZW9mIGU9PSJzdHJpbmciP3M9ZTohbi5jYXVzZSYmZSYmKG89ITAscz1lLm1lc3NhZ2Usbi5jYXVzZT1lKSwhbi5ydWxlSWQmJiFuLnNvdXJjZSYmdHlwZW9mIHI9PSJzdHJpbmciKXtsZXQgaD1yLmluZGV4T2YoIjoiKTtoPT09LTE/bi5ydWxlSWQ9cjoobi5zb3VyY2U9ci5zbGljZSgwLGgpLG4ucnVsZUlkPXIuc2xpY2UoaCsxKSl9aWYoIW4ucGxhY2UmJm4uYW5jZXN0b3JzJiZuLmFuY2VzdG9ycyl7bGV0IGg9bi5hbmNlc3RvcnNbbi5hbmNlc3RvcnMubGVuZ3RoLTFdO2gmJihuLnBsYWNlPWgucG9zaXRpb24pfWxldCBsPW4ucGxhY2UmJiJzdGFydCJpbiBuLnBsYWNlP24ucGxhY2Uuc3RhcnQ6bi5wbGFjZTt0aGlzLmFuY2VzdG9ycz1uLmFuY2VzdG9yc3x8dm9pZCAwLHRoaXMuY2F1c2U9bi5jYXVzZXx8dm9pZCAwLHRoaXMuY29sdW1uPWw/bC5jb2x1bW46dm9pZCAwLHRoaXMuZmF0YWw9dm9pZCAwLHRoaXMuZmlsZT0iIix0aGlzLm1lc3NhZ2U9cyx0aGlzLmxpbmU9bD9sLmxpbmU6dm9pZCAwLHRoaXMubmFtZT1PbihuLnBsYWNlKXx8IjE6MSIsdGhpcy5wbGFjZT1uLnBsYWNlfHx2b2lkIDAsdGhpcy5yZWFzb249dGhpcy5tZXNzYWdlLHRoaXMucnVsZUlkPW4ucnVsZUlkfHx2b2lkIDAsdGhpcy5zb3VyY2U9bi5zb3VyY2V8fHZvaWQgMCx0aGlzLnN0YWNrPW8mJm4uY2F1c2UmJnR5cGVvZiBuLmNhdXNlLnN0YWNrPT0ic3RyaW5nIj9uLmNhdXNlLnN0YWNrOiIiLHRoaXMuYWN0dWFsPXZvaWQgMCx0aGlzLmV4cGVjdGVkPXZvaWQgMCx0aGlzLm5vdGU9dm9pZCAwLHRoaXMudXJsPXZvaWQgMH19O2oxLnByb3RvdHlwZS5maWxlPSIiLGoxLnByb3RvdHlwZS5uYW1lPSIiLGoxLnByb3RvdHlwZS5yZWFzb249IiIsajEucHJvdG90eXBlLm1lc3NhZ2U9IiIsajEucHJvdG90eXBlLnN0YWNrPSIiLGoxLnByb3RvdHlwZS5jb2x1bW49dm9pZCAwLGoxLnByb3RvdHlwZS5saW5lPXZvaWQgMCxqMS5wcm90b3R5cGUuYW5jZXN0b3JzPXZvaWQgMCxqMS5wcm90b3R5cGUuY2F1c2U9dm9pZCAwLGoxLnByb3RvdHlwZS5mYXRhbD12b2lkIDAsajEucHJvdG90eXBlLnBsYWNlPXZvaWQgMCxqMS5wcm90b3R5cGUucnVsZUlkPXZvaWQgMCxqMS5wcm90b3R5cGUuc291cmNlPXZvaWQgMH0pO3ZhciBscnQ9YygoKT0+e25ydCgpfSk7ZnVuY3Rpb24geTVhKHQsZSl7aWYoZSE9PXZvaWQgMCYmdHlwZW9mIGUhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoJyJleHQiIGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcnKTtKdSh0KTtsZXQgYT0wLHI9LTEscz10Lmxlbmd0aCxuO2lmKGU9PT12b2lkIDB8fGUubGVuZ3RoPT09MHx8ZS5sZW5ndGg+dC5sZW5ndGgpe2Zvcig7cy0tOylpZih0LmNvZGVQb2ludEF0KHMpPT09NDcpe2lmKG4pe2E9cysxO2JyZWFrfX1lbHNlIHI8MCYmKG49ITAscj1zKzEpO3JldHVybiByPDA/IiI6dC5zbGljZShhLHIpfWlmKGU9PT10KXJldHVybiIiO2xldCBvPS0xLGw9ZS5sZW5ndGgtMTtmb3IoO3MtLTspaWYodC5jb2RlUG9pbnRBdChzKT09PTQ3KXtpZihuKXthPXMrMTticmVha319ZWxzZSBvPDAmJihuPSEwLG89cysxKSxsPi0xJiYodC5jb2RlUG9pbnRBdChzKT09PWUuY29kZVBvaW50QXQobC0tKT9sPDAmJihyPXMpOihsPS0xLHI9bykpO3JldHVybiBhPT09cj9yPW86cjwwJiYocj10Lmxlbmd0aCksdC5zbGljZShhLHIpfWZ1bmN0aW9uIHc1YSh0KXtpZihKdSh0KSx0Lmxlbmd0aD09PTApcmV0dXJuIi4iO2xldCBlPS0xLGE9dC5sZW5ndGgscjtmb3IoOy0tYTspaWYodC5jb2RlUG9pbnRBdChhKT09PTQ3KXtpZihyKXtlPWE7YnJlYWt9fWVsc2Ugcnx8KHI9ITApO3JldHVybiBlPDA/dC5jb2RlUG9pbnRBdCgwKT09PTQ3PyIvIjoiLiI6ZT09PTEmJnQuY29kZVBvaW50QXQoMCk9PT00Nz8iLy8iOnQuc2xpY2UoMCxlKX1mdW5jdGlvbiBNNWEodCl7SnUodCk7bGV0IGU9dC5sZW5ndGgsYT0tMSxyPTAscz0tMSxuPTAsbztmb3IoO2UtLTspe2xldCBsPXQuY29kZVBvaW50QXQoZSk7aWYobD09PTQ3KXtpZihvKXtyPWUrMTticmVha31jb250aW51ZX1hPDAmJihvPSEwLGE9ZSsxKSxsPT09NDY/czwwP3M9ZTpuIT09MSYmKG49MSk6cz4tMSYmKG49LTEpfXJldHVybiBzPDB8fGE8MHx8bj09PTB8fG49PT0xJiZzPT09YS0xJiZzPT09cisxPyIiOnQuc2xpY2UocyxhKX1mdW5jdGlvbiBrNWEoLi4udCl7bGV0IGU9LTEsYTtmb3IoOysrZTx0Lmxlbmd0aDspSnUodFtlXSksdFtlXSYmKGE9YT09PXZvaWQgMD90W2VdOmErIi8iK3RbZV0pO3JldHVybiBhPT09dm9pZCAwPyIuIjp6NWEoYSl9ZnVuY3Rpb24gejVhKHQpe0p1KHQpO2xldCBlPXQuY29kZVBvaW50QXQoMCk9PT00NyxhPVM1YSh0LCFlKTtyZXR1cm4gYS5sZW5ndGg9PT0wJiYhZSYmKGE9Ii4iKSxhLmxlbmd0aD4wJiZ0LmNvZGVQb2ludEF0KHQubGVuZ3RoLTEpPT09NDcmJihhKz0iLyIpLGU/Ii8iK2E6YX1mdW5jdGlvbiBTNWEodCxlKXtsZXQgYT0iIixyPTAscz0tMSxuPTAsbz0tMSxsLGg7Zm9yKDsrK288PXQubGVuZ3RoOyl7aWYobzx0Lmxlbmd0aClsPXQuY29kZVBvaW50QXQobyk7ZWxzZXtpZihsPT09NDcpYnJlYWs7bD00N31pZihsPT09NDcpe2lmKCEocz09PW8tMXx8bj09PTEpKWlmKHMhPT1vLTEmJm49PT0yKXtpZihhLmxlbmd0aDwyfHxyIT09Mnx8YS5jb2RlUG9pbnRBdChhLmxlbmd0aC0xKSE9PTQ2fHxhLmNvZGVQb2ludEF0KGEubGVuZ3RoLTIpIT09NDYpe2lmKGEubGVuZ3RoPjIpe2lmKGg9YS5sYXN0SW5kZXhPZigiLyIpLGghPT1hLmxlbmd0aC0xKXtoPDA/KGE9IiIscj0wKTooYT1hLnNsaWNlKDAsaCkscj1hLmxlbmd0aC0xLWEubGFzdEluZGV4T2YoIi8iKSkscz1vLG49MDtjb250aW51ZX19ZWxzZSBpZihhLmxlbmd0aD4wKXthPSIiLHI9MCxzPW8sbj0wO2NvbnRpbnVlfX1lJiYoYT1hLmxlbmd0aD4wP2ErIi8uLiI6Ii4uIixyPTIpfWVsc2UgYS5sZW5ndGg+MD9hKz0iLyIrdC5zbGljZShzKzEsbyk6YT10LnNsaWNlKHMrMSxvKSxyPW8tcy0xO3M9byxuPTB9ZWxzZSBsPT09NDYmJm4+LTE/bisrOm49LTF9cmV0dXJuIGF9ZnVuY3Rpb24gSnUodCl7aWYodHlwZW9mIHQhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIlBhdGggbXVzdCBiZSBhIHN0cmluZy4gUmVjZWl2ZWQgIitKU09OLnN0cmluZ2lmeSh0KSl9dmFyIHZzLGNydD1jKCgpPT57dnM9e2Jhc2VuYW1lOnk1YSxkaXJuYW1lOnc1YSxleHRuYW1lOk01YSxqb2luOms1YSxzZXA6Ii8ifTtpKHk1YSwiYmFzZW5hbWUiKTtpKHc1YSwiZGlybmFtZSIpO2koTTVhLCJleHRuYW1lIik7aShrNWEsImpvaW4iKTtpKHo1YSwibm9ybWFsaXplIik7aShTNWEsIm5vcm1hbGl6ZVN0cmluZyIpO2koSnUsImFzc2VydFBhdGgiKX0pO2Z1bmN0aW9uIEM1YSgpe3JldHVybiIvIn12YXIgZHJ0LHBydD1jKCgpPT57ZHJ0PXtjd2Q6QzVhfTtpKEM1YSwiY3dkIil9KTtmdW5jdGlvbiB0OCh0KXtyZXR1cm4hISh0IT09bnVsbCYmdHlwZW9mIHQ9PSJvYmplY3QiJiYiaHJlZiJpbiB0JiZ0LmhyZWYmJiJwcm90b2NvbCJpbiB0JiZ0LnByb3RvY29sJiZ0LmF1dGg9PT12b2lkIDApfXZhciBvMWU9YygoKT0+e2kodDgsImlzVXJsIil9KTtmdW5jdGlvbiB1cnQodCl7aWYodHlwZW9mIHQ9PSJzdHJpbmciKXQ9bmV3IFVSTCh0KTtlbHNlIGlmKCF0OCh0KSl7bGV0IGU9bmV3IFR5cGVFcnJvcignVGhlICJwYXRoIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgc3RyaW5nIG9yIGFuIGluc3RhbmNlIG9mIFVSTC4gUmVjZWl2ZWQgYCcrdCsiYCIpO3Rocm93IGUuY29kZT0iRVJSX0lOVkFMSURfQVJHX1RZUEUiLGV9aWYodC5wcm90b2NvbCE9PSJmaWxlOiIpe2xldCBlPW5ldyBUeXBlRXJyb3IoIlRoZSBVUkwgbXVzdCBiZSBvZiBzY2hlbWUgZmlsZSIpO3Rocm93IGUuY29kZT0iRVJSX0lOVkFMSURfVVJMX1NDSEVNRSIsZX1yZXR1cm4gXzVhKHQpfWZ1bmN0aW9uIF81YSh0KXtpZih0Lmhvc3RuYW1lIT09IiIpe2xldCByPW5ldyBUeXBlRXJyb3IoJ0ZpbGUgVVJMIGhvc3QgbXVzdCBiZSAibG9jYWxob3N0IiBvciBlbXB0eSBvbiBkYXJ3aW4nKTt0aHJvdyByLmNvZGU9IkVSUl9JTlZBTElEX0ZJTEVfVVJMX0hPU1QiLHJ9bGV0IGU9dC5wYXRobmFtZSxhPS0xO2Zvcig7KythPGUubGVuZ3RoOylpZihlLmNvZGVQb2ludEF0KGEpPT09MzcmJmUuY29kZVBvaW50QXQoYSsxKT09PTUwKXtsZXQgcj1lLmNvZGVQb2ludEF0KGErMik7aWYocj09PTcwfHxyPT09MTAyKXtsZXQgcz1uZXcgVHlwZUVycm9yKCJGaWxlIFVSTCBwYXRoIG11c3Qgbm90IGluY2x1ZGUgZW5jb2RlZCAvIGNoYXJhY3RlcnMiKTt0aHJvdyBzLmNvZGU9IkVSUl9JTlZBTElEX0ZJTEVfVVJMX1BBVEgiLHN9fXJldHVybiBkZWNvZGVVUklDb21wb25lbnQoZSl9dmFyIGZydD1jKCgpPT57bzFlKCk7bzFlKCk7aSh1cnQsInVybFRvUGF0aCIpO2koXzVhLCJnZXRQYXRoRnJvbVVSTFBvc2l4Iil9KTtmdW5jdGlvbiBsMWUodCxlKXtpZih0JiZ0LmluY2x1ZGVzKHZzLnNlcCkpdGhyb3cgbmV3IEVycm9yKCJgIitlKyJgIGNhbm5vdCBiZSBhIHBhdGg6IGRpZCBub3QgZXhwZWN0IGAiK3ZzLnNlcCsiYCIpfWZ1bmN0aW9uIGMxZSh0LGUpe2lmKCF0KXRocm93IG5ldyBFcnJvcigiYCIrZSsiYCBjYW5ub3QgYmUgZW1wdHkiKX1mdW5jdGlvbiBocnQodCxlKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoIlNldHRpbmcgYCIrZSsiYCByZXF1aXJlcyBgcGF0aGAgdG8gYmUgc2V0IHRvbyIpfWZ1bmN0aW9uIFQ1YSh0KXtyZXR1cm4hISh0JiZ0eXBlb2YgdD09Im9iamVjdCImJiJieXRlTGVuZ3RoImluIHQmJiJieXRlT2Zmc2V0ImluIHQpfXZhciBuMWUsZWYsbXJ0PWMoKCk9PntscnQoKTtjcnQoKTtwcnQoKTtmcnQoKTtuMWU9WyJoaXN0b3J5IiwicGF0aCIsImJhc2VuYW1lIiwic3RlbSIsImV4dG5hbWUiLCJkaXJuYW1lIl0sZWY9Y2xhc3N7c3RhdGlje2kodGhpcywiVkZpbGUiKX1jb25zdHJ1Y3RvcihlKXtsZXQgYTtlP3Q4KGUpP2E9e3BhdGg6ZX06dHlwZW9mIGU9PSJzdHJpbmcifHxUNWEoZSk/YT17dmFsdWU6ZX06YT1lOmE9e30sdGhpcy5jd2Q9ImN3ZCJpbiBhPyIiOmRydC5jd2QoKSx0aGlzLmRhdGE9e30sdGhpcy5oaXN0b3J5PVtdLHRoaXMubWVzc2FnZXM9W10sdGhpcy52YWx1ZSx0aGlzLm1hcCx0aGlzLnJlc3VsdCx0aGlzLnN0b3JlZDtsZXQgcj0tMTtmb3IoOysrcjxuMWUubGVuZ3RoOyl7bGV0IG49bjFlW3JdO24gaW4gYSYmYVtuXSE9PXZvaWQgMCYmYVtuXSE9PW51bGwmJih0aGlzW25dPW49PT0iaGlzdG9yeSI/Wy4uLmFbbl1dOmFbbl0pfWxldCBzO2ZvcihzIGluIGEpbjFlLmluY2x1ZGVzKHMpfHwodGhpc1tzXT1hW3NdKX1nZXQgYmFzZW5hbWUoKXtyZXR1cm4gdHlwZW9mIHRoaXMucGF0aD09InN0cmluZyI/dnMuYmFzZW5hbWUodGhpcy5wYXRoKTp2b2lkIDB9c2V0IGJhc2VuYW1lKGUpe2MxZShlLCJiYXNlbmFtZSIpLGwxZShlLCJiYXNlbmFtZSIpLHRoaXMucGF0aD12cy5qb2luKHRoaXMuZGlybmFtZXx8IiIsZSl9Z2V0IGRpcm5hbWUoKXtyZXR1cm4gdHlwZW9mIHRoaXMucGF0aD09InN0cmluZyI/dnMuZGlybmFtZSh0aGlzLnBhdGgpOnZvaWQgMH1zZXQgZGlybmFtZShlKXtocnQodGhpcy5iYXNlbmFtZSwiZGlybmFtZSIpLHRoaXMucGF0aD12cy5qb2luKGV8fCIiLHRoaXMuYmFzZW5hbWUpfWdldCBleHRuYW1lKCl7cmV0dXJuIHR5cGVvZiB0aGlzLnBhdGg9PSJzdHJpbmciP3ZzLmV4dG5hbWUodGhpcy5wYXRoKTp2b2lkIDB9c2V0IGV4dG5hbWUoZSl7aWYobDFlKGUsImV4dG5hbWUiKSxocnQodGhpcy5kaXJuYW1lLCJleHRuYW1lIiksZSl7aWYoZS5jb2RlUG9pbnRBdCgwKSE9PTQ2KXRocm93IG5ldyBFcnJvcigiYGV4dG5hbWVgIG11c3Qgc3RhcnQgd2l0aCBgLmAiKTtpZihlLmluY2x1ZGVzKCIuIiwxKSl0aHJvdyBuZXcgRXJyb3IoImBleHRuYW1lYCBjYW5ub3QgY29udGFpbiBtdWx0aXBsZSBkb3RzIil9dGhpcy5wYXRoPXZzLmpvaW4odGhpcy5kaXJuYW1lLHRoaXMuc3RlbSsoZXx8IiIpKX1nZXQgcGF0aCgpe3JldHVybiB0aGlzLmhpc3RvcnlbdGhpcy5oaXN0b3J5Lmxlbmd0aC0xXX1zZXQgcGF0aChlKXt0OChlKSYmKGU9dXJ0KGUpKSxjMWUoZSwicGF0aCIpLHRoaXMucGF0aCE9PWUmJnRoaXMuaGlzdG9yeS5wdXNoKGUpfWdldCBzdGVtKCl7cmV0dXJuIHR5cGVvZiB0aGlzLnBhdGg9PSJzdHJpbmciP3ZzLmJhc2VuYW1lKHRoaXMucGF0aCx0aGlzLmV4dG5hbWUpOnZvaWQgMH1zZXQgc3RlbShlKXtjMWUoZSwic3RlbSIpLGwxZShlLCJzdGVtIiksdGhpcy5wYXRoPXZzLmpvaW4odGhpcy5kaXJuYW1lfHwiIixlKyh0aGlzLmV4dG5hbWV8fCIiKSl9ZmFpbChlLGEscil7bGV0IHM9dGhpcy5tZXNzYWdlKGUsYSxyKTt0aHJvdyBzLmZhdGFsPSEwLHN9aW5mbyhlLGEscil7bGV0IHM9dGhpcy5tZXNzYWdlKGUsYSxyKTtyZXR1cm4gcy5mYXRhbD12b2lkIDAsc31tZXNzYWdlKGUsYSxyKXtsZXQgcz1uZXcgajEoZSxhLHIpO3JldHVybiB0aGlzLnBhdGgmJihzLm5hbWU9dGhpcy5wYXRoKyI6IitzLm5hbWUscy5maWxlPXRoaXMucGF0aCkscy5mYXRhbD0hMSx0aGlzLm1lc3NhZ2VzLnB1c2gocyksc310b1N0cmluZyhlKXtyZXR1cm4gdGhpcy52YWx1ZT09PXZvaWQgMD8iIjp0eXBlb2YgdGhpcy52YWx1ZT09InN0cmluZyI/dGhpcy52YWx1ZTpuZXcgVGV4dERlY29kZXIoZXx8dm9pZCAwKS5kZWNvZGUodGhpcy52YWx1ZSl9fTtpKGwxZSwiYXNzZXJ0UGFydCIpO2koYzFlLCJhc3NlcnROb25FbXB0eSIpO2koaHJ0LCJhc3NlcnRQYXRoIik7aShUNWEsImlzVWludDhBcnJheSIpfSk7dmFyIGdydD1jKCgpPT57bXJ0KCl9KTt2YXIgYnJ0LHZydD1jKCgpPT57YnJ0PWkoKGZ1bmN0aW9uKHQpe2xldCByPXRoaXMuY29uc3RydWN0b3IucHJvdG90eXBlLHM9clt0XSxuPWkoZnVuY3Rpb24oKXtyZXR1cm4gcy5hcHBseShuLGFyZ3VtZW50cyl9LCJhcHBseSIpO3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YobixyKSxufSksIkNhbGxhYmxlSW5zdGFuY2UiKX0pO2Z1bmN0aW9uIHAxZSh0LGUpe2lmKHR5cGVvZiBlIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBgIit0KyJgIHdpdGhvdXQgYHBhcnNlcmAiKX1mdW5jdGlvbiB1MWUodCxlKXtpZih0eXBlb2YgZSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYCIrdCsiYCB3aXRob3V0IGBjb21waWxlcmAiKX1mdW5jdGlvbiBmMWUodCxlKXtpZihlKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGNhbGwgYCIrdCsiYCBvbiBhIGZyb3plbiBwcm9jZXNzb3IuXG5DcmVhdGUgYSBuZXcgcHJvY2Vzc29yIGZpcnN0LCBieSBjYWxsaW5nIGl0OiB1c2UgYHByb2Nlc3NvcigpYCBpbnN0ZWFkIG9mIGBwcm9jZXNzb3JgLiIpfWZ1bmN0aW9uIHhydCh0KXtpZighUXUodCl8fHR5cGVvZiB0LnR5cGUhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIG5vZGUsIGdvdCBgIit0KyJgIil9ZnVuY3Rpb24geXJ0KHQsZSxhKXtpZighYSl0aHJvdyBuZXcgRXJyb3IoImAiK3QrImAgZmluaXNoZWQgYXN5bmMuIFVzZSBgIitlKyJgIGluc3RlYWQiKX1mdW5jdGlvbiBiVSh0KXtyZXR1cm4gJDVhKHQpP3Q6bmV3IGVmKHQpfWZ1bmN0aW9uICQ1YSh0KXtyZXR1cm4hISh0JiZ0eXBlb2YgdD09Im9iamVjdCImJiJtZXNzYWdlImluIHQmJiJtZXNzYWdlcyJpbiB0KX1mdW5jdGlvbiBENWEodCl7cmV0dXJuIHR5cGVvZiB0PT0ic3RyaW5nInx8QTVhKHQpfWZ1bmN0aW9uIEE1YSh0KXtyZXR1cm4hISh0JiZ0eXBlb2YgdD09Im9iamVjdCImJiJieXRlTGVuZ3RoImluIHQmJiJieXRlT2Zmc2V0ImluIHQpfXZhciB2VSxMNWEsZDFlLHRmLHdydD1jKCgpPT57ajF0KCk7dlU9WDEoSjF0KCksMSk7Rm4oKTtlcnQoKTtycnQoKTtncnQoKTt2cnQoKTtMNWE9e30uaGFzT3duUHJvcGVydHksZDFlPWNsYXNzIHQgZXh0ZW5kcyBicnR7c3RhdGlje2kodGhpcywiUHJvY2Vzc29yIil9Y29uc3RydWN0b3IoKXtzdXBlcigiY29weSIpLHRoaXMuQ29tcGlsZXI9dm9pZCAwLHRoaXMuUGFyc2VyPXZvaWQgMCx0aGlzLmF0dGFjaGVycz1bXSx0aGlzLmNvbXBpbGVyPXZvaWQgMCx0aGlzLmZyZWV6ZUluZGV4PS0xLHRoaXMuZnJvemVuPXZvaWQgMCx0aGlzLm5hbWVzcGFjZT17fSx0aGlzLnBhcnNlcj12b2lkIDAsdGhpcy50cmFuc2Zvcm1lcnM9cjFlKCl9Y29weSgpe2xldCBlPW5ldyB0LGE9LTE7Zm9yKDsrK2E8dGhpcy5hdHRhY2hlcnMubGVuZ3RoOyl7bGV0IHI9dGhpcy5hdHRhY2hlcnNbYV07ZS51c2UoLi4ucil9cmV0dXJuIGUuZGF0YSgoMCx2VS5kZWZhdWx0KSghMCx7fSx0aGlzLm5hbWVzcGFjZSkpLGV9ZGF0YShlLGEpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyI/YXJndW1lbnRzLmxlbmd0aD09PTI/KGYxZSgiZGF0YSIsdGhpcy5mcm96ZW4pLHRoaXMubmFtZXNwYWNlW2VdPWEsdGhpcyk6TDVhLmNhbGwodGhpcy5uYW1lc3BhY2UsZSkmJnRoaXMubmFtZXNwYWNlW2VdfHx2b2lkIDA6ZT8oZjFlKCJkYXRhIix0aGlzLmZyb3plbiksdGhpcy5uYW1lc3BhY2U9ZSx0aGlzKTp0aGlzLm5hbWVzcGFjZX1mcmVlemUoKXtpZih0aGlzLmZyb3plbilyZXR1cm4gdGhpcztsZXQgZT10aGlzO2Zvcig7Kyt0aGlzLmZyZWV6ZUluZGV4PHRoaXMuYXR0YWNoZXJzLmxlbmd0aDspe2xldFthLC4uLnJdPXRoaXMuYXR0YWNoZXJzW3RoaXMuZnJlZXplSW5kZXhdO2lmKHJbMF09PT0hMSljb250aW51ZTtyWzBdPT09ITAmJihyWzBdPXZvaWQgMCk7bGV0IHM9YS5jYWxsKGUsLi4ucik7dHlwZW9mIHM9PSJmdW5jdGlvbiImJnRoaXMudHJhbnNmb3JtZXJzLnVzZShzKX1yZXR1cm4gdGhpcy5mcm96ZW49ITAsdGhpcy5mcmVlemVJbmRleD1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksdGhpc31wYXJzZShlKXt0aGlzLmZyZWV6ZSgpO2xldCBhPWJVKGUpLHI9dGhpcy5wYXJzZXJ8fHRoaXMuUGFyc2VyO3JldHVybiBwMWUoInBhcnNlIixyKSxyKFN0cmluZyhhKSxhKX1wcm9jZXNzKGUsYSl7bGV0IHI9dGhpcztyZXR1cm4gdGhpcy5mcmVlemUoKSxwMWUoInByb2Nlc3MiLHRoaXMucGFyc2VyfHx0aGlzLlBhcnNlciksdTFlKCJwcm9jZXNzIix0aGlzLmNvbXBpbGVyfHx0aGlzLkNvbXBpbGVyKSxhP3Modm9pZCAwLGEpOm5ldyBQcm9taXNlKHMpO2Z1bmN0aW9uIHMobixvKXtsZXQgbD1iVShlKSxoPXIucGFyc2UobCk7ci5ydW4oaCxsLGZ1bmN0aW9uKGYscCxnKXtpZihmfHwhcHx8IWcpcmV0dXJuIHUoZik7bGV0IHY9cCx4PXIuc3RyaW5naWZ5KHYsZyk7RDVhKHgpP2cudmFsdWU9eDpnLnJlc3VsdD14LHUoZixnKX0pO2Z1bmN0aW9uIHUoZixwKXtmfHwhcD9vKGYpOm4/bihwKTphKHZvaWQgMCxwKX1pKHUsInJlYWxEb25lIil9aShzLCJleGVjdXRvciIpfXByb2Nlc3NTeW5jKGUpe2xldCBhPSExLHI7cmV0dXJuIHRoaXMuZnJlZXplKCkscDFlKCJwcm9jZXNzU3luYyIsdGhpcy5wYXJzZXJ8fHRoaXMuUGFyc2VyKSx1MWUoInByb2Nlc3NTeW5jIix0aGlzLmNvbXBpbGVyfHx0aGlzLkNvbXBpbGVyKSx0aGlzLnByb2Nlc3MoZSxzKSx5cnQoInByb2Nlc3NTeW5jIiwicHJvY2VzcyIsYSkscjtmdW5jdGlvbiBzKG4sbyl7YT0hMCxhMWUobikscj1vfWkocywicmVhbERvbmUiKX1ydW4oZSxhLHIpe3hydChlKSx0aGlzLmZyZWV6ZSgpO2xldCBzPXRoaXMudHJhbnNmb3JtZXJzO3JldHVybiFyJiZ0eXBlb2YgYT09ImZ1bmN0aW9uIiYmKHI9YSxhPXZvaWQgMCkscj9uKHZvaWQgMCxyKTpuZXcgUHJvbWlzZShuKTtmdW5jdGlvbiBuKG8sbCl7bGV0IGg9YlUoYSk7cy5ydW4oZSxoLHUpO2Z1bmN0aW9uIHUoZixwLGcpe2xldCB2PXB8fGU7Zj9sKGYpOm8/byh2KTpyKHZvaWQgMCx2LGcpfWkodSwicmVhbERvbmUiKX1pKG4sImV4ZWN1dG9yIil9cnVuU3luYyhlLGEpe2xldCByPSExLHM7cmV0dXJuIHRoaXMucnVuKGUsYSxuKSx5cnQoInJ1blN5bmMiLCJydW4iLHIpLHM7ZnVuY3Rpb24gbihvLGwpe2ExZShvKSxzPWwscj0hMH1pKG4sInJlYWxEb25lIil9c3RyaW5naWZ5KGUsYSl7dGhpcy5mcmVlemUoKTtsZXQgcj1iVShhKSxzPXRoaXMuY29tcGlsZXJ8fHRoaXMuQ29tcGlsZXI7cmV0dXJuIHUxZSgic3RyaW5naWZ5IixzKSx4cnQoZSkscyhlLHIpfXVzZShlLC4uLmEpe2xldCByPXRoaXMuYXR0YWNoZXJzLHM9dGhpcy5uYW1lc3BhY2U7aWYoZjFlKCJ1c2UiLHRoaXMuZnJvemVuKSxlIT1udWxsKWlmKHR5cGVvZiBlPT0iZnVuY3Rpb24iKWgoZSxhKTtlbHNlIGlmKHR5cGVvZiBlPT0ib2JqZWN0IilBcnJheS5pc0FycmF5KGUpP2woZSk6byhlKTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIHVzYWJsZSB2YWx1ZSwgbm90IGAiK2UrImAiKTtyZXR1cm4gdGhpcztmdW5jdGlvbiBuKHUpe2lmKHR5cGVvZiB1PT0iZnVuY3Rpb24iKWgodSxbXSk7ZWxzZSBpZih0eXBlb2YgdT09Im9iamVjdCIpaWYoQXJyYXkuaXNBcnJheSh1KSl7bGV0W2YsLi4ucF09dTtoKGYscCl9ZWxzZSBvKHUpO2Vsc2UgdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgdXNhYmxlIHZhbHVlLCBub3QgYCIrdSsiYCIpfWZ1bmN0aW9uIG8odSl7aWYoISgicGx1Z2lucyJpbiB1KSYmISgic2V0dGluZ3MiaW4gdSkpdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCB1c2FibGUgdmFsdWUgYnV0IHJlY2VpdmVkIGFuIGVtcHR5IHByZXNldCwgd2hpY2ggaXMgcHJvYmFibHkgYSBtaXN0YWtlOiBwcmVzZXRzIHR5cGljYWxseSBjb21lIHdpdGggYHBsdWdpbnNgIGFuZCBzb21ldGltZXMgd2l0aCBgc2V0dGluZ3NgLCBidXQgdGhpcyBoYXMgbmVpdGhlciIpO2wodS5wbHVnaW5zKSx1LnNldHRpbmdzJiYocy5zZXR0aW5ncz0oMCx2VS5kZWZhdWx0KSghMCxzLnNldHRpbmdzLHUuc2V0dGluZ3MpKX1mdW5jdGlvbiBsKHUpe2xldCBmPS0xO2lmKHUhPW51bGwpaWYoQXJyYXkuaXNBcnJheSh1KSlmb3IoOysrZjx1Lmxlbmd0aDspe2xldCBwPXVbZl07bihwKX1lbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgbGlzdCBvZiBwbHVnaW5zLCBub3QgYCIrdSsiYCIpfWZ1bmN0aW9uIGgodSxmKXtsZXQgcD0tMSxnPS0xO2Zvcig7KytwPHIubGVuZ3RoOylpZihyW3BdWzBdPT09dSl7Zz1wO2JyZWFrfWlmKGc9PT0tMSlyLnB1c2goW3UsLi4uZl0pO2Vsc2UgaWYoZi5sZW5ndGg+MCl7bGV0W3YsLi4ueF09ZixiPXJbZ11bMV07UXUoYikmJlF1KHYpJiYodj0oMCx2VS5kZWZhdWx0KSghMCxiLHYpKSxyW2ddPVt1LHYsLi4ueF19fX19LHRmPW5ldyBkMWUoKS5mcmVlemUoKTtpKHAxZSwiYXNzZXJ0UGFyc2VyIik7aSh1MWUsImFzc2VydENvbXBpbGVyIik7aShmMWUsImFzc2VydFVuZnJvemVuIik7aSh4cnQsImFzc2VydE5vZGUiKTtpKHlydCwiYXNzZXJ0RG9uZSIpO2koYlUsInZmaWxlIik7aSgkNWEsImxvb2tzTGlrZUFWRmlsZSIpO2koRDVhLCJsb29rc0xpa2VBVmFsdWUiKTtpKEE1YSwiaXNVaW50OEFycmF5Iil9KTt2YXIgTXJ0PWMoKCk9Pnt3cnQoKX0pO2Z1bmN0aW9uIHI4KHQsZSl7bGV0IGE9U3RyaW5nKHQpO2lmKHR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBjaGFyYWN0ZXIiKTtsZXQgcj0wLHM9YS5pbmRleE9mKGUpO2Zvcig7cyE9PS0xOylyKysscz1hLmluZGV4T2YoZSxzK2UubGVuZ3RoKTtyZXR1cm4gcn12YXIgaDFlPWMoKCk9PntpKHI4LCJjY291bnQiKX0pO2Z1bmN0aW9uIGIwKHQpe3JldHVybiB0IT09bnVsbCYmKHQ8MzJ8fHQ9PT0xMjcpfWZ1bmN0aW9uIEdlKHQpe3JldHVybiB0IT09bnVsbCYmdDwtMn1mdW5jdGlvbiBxdCh0KXtyZXR1cm4gdCE9PW51bGwmJih0PDB8fHQ9PT0zMil9ZnVuY3Rpb24gbHQodCl7cmV0dXJuIHQ9PT0tMnx8dD09PS0xfHx0PT09MzJ9ZnVuY3Rpb24gQm4odCl7cmV0dXJuIGU7ZnVuY3Rpb24gZShhKXtyZXR1cm4gYSE9PW51bGwmJmE+LTEmJnQudGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKGEpKX19dmFyIEQxLGExLGtydCxhZix6cnQsU3J0LHYwLG0yLFV0PWMoKCk9PntEMT1CbigvW0EtWmEtel0vKSxhMT1CbigvW1xkQS1aYS16XS8pLGtydD1CbigvWyMtJyorXC0tOT0/QS1aXi1+XS8pO2koYjAsImFzY2lpQ29udHJvbCIpO2FmPUJuKC9cZC8pLHpydD1CbigvW1xkQS1GYS1mXS8pLFNydD1CbigvWyEtLzotQFstYHstfl0vKTtpKEdlLCJtYXJrZG93bkxpbmVFbmRpbmciKTtpKHF0LCJtYXJrZG93bkxpbmVFbmRpbmdPclNwYWNlIik7aShsdCwibWFya2Rvd25TcGFjZSIpO3YwPUJuKC9ccHtQfXxccHtTfS91KSxtMj1CbigvXHMvKTtpKEJuLCJyZWdleENoZWNrIil9KTtmdW5jdGlvbiBQNWEodCl7bGV0IGU9W10sYT0tMTtmb3IoOysrYTx0Lmxlbmd0aDspZVthXT1zbyh0W2FdKTtyZXR1cm4geFUocik7ZnVuY3Rpb24gciguLi5zKXtsZXQgbj0tMTtmb3IoOysrbjxlLmxlbmd0aDspaWYoZVtuXS5hcHBseSh0aGlzLHMpKXJldHVybiEwO3JldHVybiExfX1mdW5jdGlvbiBFNWEodCl7bGV0IGU9dDtyZXR1cm4geFUoYSk7ZnVuY3Rpb24gYShyKXtsZXQgcz1yLG47Zm9yKG4gaW4gdClpZihzW25dIT09ZVtuXSlyZXR1cm4hMTtyZXR1cm4hMH19ZnVuY3Rpb24gSTVhKHQpe3JldHVybiB4VShlKTtmdW5jdGlvbiBlKGEpe3JldHVybiBhJiZhLnR5cGU9PT10fX1mdW5jdGlvbiB4VSh0KXtyZXR1cm4gZTtmdW5jdGlvbiBlKGEscixzKXtyZXR1cm4hIShDcnQoYSkmJnQuY2FsbCh0aGlzLGEsdHlwZW9mIHI9PSJudW1iZXIiP3I6dm9pZCAwLHN8fHZvaWQgMCkpfX1mdW5jdGlvbiBONWEoKXtyZXR1cm4hMH1mdW5jdGlvbiBDcnQodCl7cmV0dXJuIHQhPT1udWxsJiZ0eXBlb2YgdD09Im9iamVjdCImJiJ0eXBlImluIHR9dmFyIF9ydCxzbyxUcnQ9YygoKT0+e19ydD1pKChmdW5jdGlvbih0LGUsYSxyLHMpe2xldCBuPXNvKGUpO2lmKGEhPW51bGwmJih0eXBlb2YgYSE9Im51bWJlciJ8fGE8MHx8YT09PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSkpdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCBwb3NpdGl2ZSBmaW5pdGUgaW5kZXgiKTtpZihyIT1udWxsJiYoIV9ydChyKXx8IXIuY2hpbGRyZW4pKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgcGFyZW50IG5vZGUiKTtpZihyPT1udWxsIT0oYT09bnVsbCkpdGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCBib3RoIHBhcmVudCBhbmQgaW5kZXgiKTtyZXR1cm4gQ3J0KHQpP24uY2FsbChzLHQsYSxyKTohMX0pLCJpcyIpLHNvPWkoKGZ1bmN0aW9uKHQpe2lmKHQ9PW51bGwpcmV0dXJuIE41YTtpZih0eXBlb2YgdD09ImZ1bmN0aW9uIilyZXR1cm4geFUodCk7aWYodHlwZW9mIHQ9PSJvYmplY3QiKXJldHVybiBBcnJheS5pc0FycmF5KHQpP1A1YSh0KTpFNWEodCk7aWYodHlwZW9mIHQ9PSJzdHJpbmciKXJldHVybiBJNWEodCk7dGhyb3cgbmV3IEVycm9yKCJFeHBlY3RlZCBmdW5jdGlvbiwgc3RyaW5nLCBvciBvYmplY3QgYXMgdGVzdCIpfSksImNvbnZlcnQiKTtpKFA1YSwiYW55RmFjdG9yeSIpO2koRTVhLCJwcm9wZXJ0aWVzRmFjdG9yeSIpO2koSTVhLCJ0eXBlRmFjdG9yeSIpO2koeFUsImNhc3RGYWN0b3J5Iik7aShONWEsIm9rIik7aShDcnQsImxvb2tzTGlrZUFOb2RlIil9KTt2YXIgeVU9YygoKT0+e1RydCgpfSk7dmFyIExydD1jKCgpPT57fSk7ZnVuY3Rpb24gcmYodCxlLGEscil7bGV0IHM7dHlwZW9mIGU9PSJmdW5jdGlvbiImJnR5cGVvZiBhIT0iZnVuY3Rpb24iPyhyPWEsYT1lKTpzPWU7bGV0IG49c28ocyksbz1yPy0xOjE7bCh0LHZvaWQgMCxbXSkoKTtmdW5jdGlvbiBsKGgsdSxmKXtsZXQgcD1oJiZ0eXBlb2YgaD09Im9iamVjdCI/aDp7fTtpZih0eXBlb2YgcC50eXBlPT0ic3RyaW5nIil7bGV0IHY9dHlwZW9mIHAudGFnTmFtZT09InN0cmluZyI/cC50YWdOYW1lOnR5cGVvZiBwLm5hbWU9PSJzdHJpbmciP3AubmFtZTp2b2lkIDA7T2JqZWN0LmRlZmluZVByb3BlcnR5KGcsIm5hbWUiLHt2YWx1ZToibm9kZSAoIisoaC50eXBlKyh2PyI8Iit2KyI+IjoiIikpKyIpIn0pfXJldHVybiBnO2Z1bmN0aW9uIGcoKXtsZXQgdj0kcnQseCxiLG07aWYoKCFlfHxuKGgsdSxmW2YubGVuZ3RoLTFdfHx2b2lkIDApKSYmKHY9UjVhKGEoaCxmKSksdlswXT09PXgwKSlyZXR1cm4gdjtpZigiY2hpbGRyZW4iaW4gaCYmaC5jaGlsZHJlbil7bGV0IHk9aDtpZih5LmNoaWxkcmVuJiZ2WzBdIT09TVUpZm9yKGI9KHI/eS5jaGlsZHJlbi5sZW5ndGg6LTEpK28sbT1mLmNvbmNhdCh5KTtiPi0xJiZiPHkuY2hpbGRyZW4ubGVuZ3RoOyl7bGV0IE09eS5jaGlsZHJlbltiXTtpZih4PWwoTSxiLG0pKCkseFswXT09PXgwKXJldHVybiB4O2I9dHlwZW9mIHhbMV09PSJudW1iZXIiP3hbMV06YitvfX1yZXR1cm4gdn19aShsLCJmYWN0b3J5Iil9ZnVuY3Rpb24gUjVhKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP3Q6dHlwZW9mIHQ9PSJudW1iZXIiP1t3VSx0XTp0PT1udWxsPyRydDpbdF19dmFyICRydCx3VSx4MCxNVSxEcnQ9YygoKT0+e3lVKCk7THJ0KCk7JHJ0PVtdLHdVPSEwLHgwPSExLE1VPSJza2lwIjtpKHJmLCJ2aXNpdFBhcmVudHMiKTtpKFI1YSwidG9SZXN1bHQiKX0pO3ZhciBrVT1jKCgpPT57RHJ0KCl9KTtmdW5jdGlvbiBtMWUodCxlLGEpe2xldCBzPXNvKChhfHx7fSkuaWdub3JlfHxbXSksbj1GNWEoZSksbz0tMTtmb3IoOysrbzxuLmxlbmd0aDspcmYodCwidGV4dCIsbCk7ZnVuY3Rpb24gbCh1LGYpe2xldCBwPS0xLGc7Zm9yKDsrK3A8Zi5sZW5ndGg7KXtsZXQgdj1mW3BdLHg9Zz9nLmNoaWxkcmVuOnZvaWQgMDtpZihzKHYseD94LmluZGV4T2Yodik6dm9pZCAwLGcpKXJldHVybjtnPXZ9aWYoZylyZXR1cm4gaCh1LGYpfWkobCwidmlzaXRvciIpO2Z1bmN0aW9uIGgodSxmKXtsZXQgcD1mW2YubGVuZ3RoLTFdLGc9bltvXVswXSx2PW5bb11bMV0seD0wLG09cC5jaGlsZHJlbi5pbmRleE9mKHUpLHk9ITEsTT1bXTtnLmxhc3RJbmRleD0wO2xldCBrPWcuZXhlYyh1LnZhbHVlKTtmb3IoO2s7KXtsZXQgRT1rLmluZGV4LF89e2luZGV4OmsuaW5kZXgsaW5wdXQ6ay5pbnB1dCxzdGFjazpbLi4uZix1XX0sQz12KC4uLmssXyk7aWYodHlwZW9mIEM9PSJzdHJpbmciJiYoQz1DLmxlbmd0aD4wP3t0eXBlOiJ0ZXh0Iix2YWx1ZTpDfTp2b2lkIDApLEM9PT0hMT9nLmxhc3RJbmRleD1FKzE6KHghPT1FJiZNLnB1c2goe3R5cGU6InRleHQiLHZhbHVlOnUudmFsdWUuc2xpY2UoeCxFKX0pLEFycmF5LmlzQXJyYXkoQyk/TS5wdXNoKC4uLkMpOkMmJk0ucHVzaChDKSx4PUUra1swXS5sZW5ndGgseT0hMCksIWcuZ2xvYmFsKWJyZWFrO2s9Zy5leGVjKHUudmFsdWUpfXJldHVybiB5Pyh4PHUudmFsdWUubGVuZ3RoJiZNLnB1c2goe3R5cGU6InRleHQiLHZhbHVlOnUudmFsdWUuc2xpY2UoeCl9KSxwLmNoaWxkcmVuLnNwbGljZShtLDEsLi4uTSkpOk09W3VdLG0rTS5sZW5ndGh9aShoLCJoYW5kbGVyIil9ZnVuY3Rpb24gRjVhKHQpe2xldCBlPVtdO2lmKCFBcnJheS5pc0FycmF5KHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGZpbmQgYW5kIHJlcGxhY2UgdHVwbGUgb3IgbGlzdCBvZiB0dXBsZXMiKTtsZXQgYT0hdFswXXx8QXJyYXkuaXNBcnJheSh0WzBdKT90Olt0XSxyPS0xO2Zvcig7KytyPGEubGVuZ3RoOyl7bGV0IHM9YVtyXTtlLnB1c2goW081YShzWzBdKSxCNWEoc1sxXSldKX1yZXR1cm4gZX1mdW5jdGlvbiBPNWEodCl7cmV0dXJuIHR5cGVvZiB0PT0ic3RyaW5nIj9uZXcgUmVnRXhwKFJsKHQpLCJnIik6dH1mdW5jdGlvbiBCNWEodCl7cmV0dXJuIHR5cGVvZiB0PT0iZnVuY3Rpb24iP3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdH19dmFyIEFydD1jKCgpPT57cHEoKTtrVSgpO3lVKCk7aShtMWUsImZpbmRBbmRSZXBsYWNlIik7aShGNWEsInRvUGFpcnMiKTtpKE81YSwidG9FeHByZXNzaW9uIik7aShCNWEsInRvRnVuY3Rpb24iKX0pO3ZhciBQcnQ9YygoKT0+e0FydCgpfSk7ZnVuY3Rpb24geDFlKCl7cmV0dXJue3RyYW5zZm9ybXM6W1c1YV0sZW50ZXI6e2xpdGVyYWxBdXRvbGluazpINWEsbGl0ZXJhbEF1dG9saW5rRW1haWw6djFlLGxpdGVyYWxBdXRvbGlua0h0dHA6djFlLGxpdGVyYWxBdXRvbGlua1d3dzp2MWV9LGV4aXQ6e2xpdGVyYWxBdXRvbGluazpVNWEsbGl0ZXJhbEF1dG9saW5rRW1haWw6ajVhLGxpdGVyYWxBdXRvbGlua0h0dHA6cTVhLGxpdGVyYWxBdXRvbGlua1d3dzpWNWF9fX1mdW5jdGlvbiB5MWUoKXtyZXR1cm57dW5zYWZlOlt7Y2hhcmFjdGVyOiJAIixiZWZvcmU6IlsrXFwtLlxcd10iLGFmdGVyOiJbXFwtLlxcd10iLGluQ29uc3RydWN0OmcxZSxub3RJbkNvbnN0cnVjdDpiMWV9LHtjaGFyYWN0ZXI6Ii4iLGJlZm9yZToiW1d3XSIsYWZ0ZXI6IltcXC0uXFx3XSIsaW5Db25zdHJ1Y3Q6ZzFlLG5vdEluQ29uc3RydWN0OmIxZX0se2NoYXJhY3RlcjoiOiIsYmVmb3JlOiJbcHNdIixhZnRlcjoiXFwvIixpbkNvbnN0cnVjdDpnMWUsbm90SW5Db25zdHJ1Y3Q6YjFlfV19fWZ1bmN0aW9uIEg1YSh0KXt0aGlzLmVudGVyKHt0eXBlOiJsaW5rIix0aXRsZTpudWxsLHVybDoiIixjaGlsZHJlbjpbXX0sdCl9ZnVuY3Rpb24gdjFlKHQpe3RoaXMuY29uZmlnLmVudGVyLmF1dG9saW5rUHJvdG9jb2wuY2FsbCh0aGlzLHQpfWZ1bmN0aW9uIHE1YSh0KXt0aGlzLmNvbmZpZy5leGl0LmF1dG9saW5rUHJvdG9jb2wuY2FsbCh0aGlzLHQpfWZ1bmN0aW9uIFY1YSh0KXt0aGlzLmNvbmZpZy5leGl0LmRhdGEuY2FsbCh0aGlzLHQpO2xldCBlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZS50eXBlLGUudXJsPSJodHRwOi8vIit0aGlzLnNsaWNlU2VyaWFsaXplKHQpfWZ1bmN0aW9uIGo1YSh0KXt0aGlzLmNvbmZpZy5leGl0LmF1dG9saW5rRW1haWwuY2FsbCh0aGlzLHQpfWZ1bmN0aW9uIFU1YSh0KXt0aGlzLmV4aXQodCl9ZnVuY3Rpb24gVzVhKHQpe20xZSh0LFtbLyhodHRwcz86XC9cL3x3d3coPz1cLikpKFstLlx3XSspKFteIFx0XHJcbl0qKS9naSxHNWFdLFsvKD88PV58XHN8XHB7UH18XHB7U30pKFstLlx3K10rKUAoWy1cd10rKD86XC5bLVx3XSspKykvZ3UsWTVhXV0se2lnbm9yZTpbImxpbmsiLCJsaW5rUmVmZXJlbmNlIl19KX1mdW5jdGlvbiBHNWEodCxlLGEscixzKXtsZXQgbj0iIjtpZighRXJ0KHMpfHwoL153L2kudGVzdChlKSYmKGE9ZSthLGU9IiIsbj0iaHR0cDovLyIpLCFaNWEoYSkpKXJldHVybiExO2xldCBvPVg1YShhK3IpO2lmKCFvWzBdKXJldHVybiExO2xldCBsPXt0eXBlOiJsaW5rIix0aXRsZTpudWxsLHVybDpuK2Urb1swXSxjaGlsZHJlbjpbe3R5cGU6InRleHQiLHZhbHVlOmUrb1swXX1dfTtyZXR1cm4gb1sxXT9bbCx7dHlwZToidGV4dCIsdmFsdWU6b1sxXX1dOmx9ZnVuY3Rpb24gWTVhKHQsZSxhLHIpe3JldHVybiFFcnQociwhMCl8fC9bLVxkX10kLy50ZXN0KGEpPyExOnt0eXBlOiJsaW5rIix0aXRsZTpudWxsLHVybDoibWFpbHRvOiIrZSsiQCIrYSxjaGlsZHJlbjpbe3R5cGU6InRleHQiLHZhbHVlOmUrIkAiK2F9XX19ZnVuY3Rpb24gWjVhKHQpe2xldCBlPXQuc3BsaXQoIi4iKTtyZXR1cm4hKGUubGVuZ3RoPDJ8fGVbZS5sZW5ndGgtMV0mJigvXy8udGVzdChlW2UubGVuZ3RoLTFdKXx8IS9bYS16QS1aXGRdLy50ZXN0KGVbZS5sZW5ndGgtMV0pKXx8ZVtlLmxlbmd0aC0yXSYmKC9fLy50ZXN0KGVbZS5sZW5ndGgtMl0pfHwhL1thLXpBLVpcZF0vLnRlc3QoZVtlLmxlbmd0aC0yXSkpKX1mdW5jdGlvbiBYNWEodCl7bGV0IGU9L1shIiYnKSwuOjs8Pj9cXX1dKyQvLmV4ZWModCk7aWYoIWUpcmV0dXJuW3Qsdm9pZCAwXTt0PXQuc2xpY2UoMCxlLmluZGV4KTtsZXQgYT1lWzBdLHI9YS5pbmRleE9mKCIpIikscz1yOCh0LCIoIiksbj1yOCh0LCIpIik7Zm9yKDtyIT09LTEmJnM+bjspdCs9YS5zbGljZSgwLHIrMSksYT1hLnNsaWNlKHIrMSkscj1hLmluZGV4T2YoIikiKSxuKys7cmV0dXJuW3QsYV19ZnVuY3Rpb24gRXJ0KHQsZSl7bGV0IGE9dC5pbnB1dC5jaGFyQ29kZUF0KHQuaW5kZXgtMSk7cmV0dXJuKHQuaW5kZXg9PT0wfHxtMihhKXx8djAoYSkpJiYoIWV8fGEhPT00Nyl9dmFyIGcxZSxiMWUsSXJ0PWMoKCk9PntoMWUoKTtGbigpO1V0KCk7UHJ0KCk7ZzFlPSJwaHJhc2luZyIsYjFlPVsiYXV0b2xpbmsiLCJsaW5rIiwiaW1hZ2UiLCJsYWJlbCJdO2koeDFlLCJnZm1BdXRvbGlua0xpdGVyYWxGcm9tTWFya2Rvd24iKTtpKHkxZSwiZ2ZtQXV0b2xpbmtMaXRlcmFsVG9NYXJrZG93biIpO2koSDVhLCJlbnRlckxpdGVyYWxBdXRvbGluayIpO2kodjFlLCJlbnRlckxpdGVyYWxBdXRvbGlua1ZhbHVlIik7aShxNWEsImV4aXRMaXRlcmFsQXV0b2xpbmtIdHRwIik7aShWNWEsImV4aXRMaXRlcmFsQXV0b2xpbmtXd3ciKTtpKGo1YSwiZXhpdExpdGVyYWxBdXRvbGlua0VtYWlsIik7aShVNWEsImV4aXRMaXRlcmFsQXV0b2xpbmsiKTtpKFc1YSwidHJhbnNmb3JtR2ZtQXV0b2xpbmtMaXRlcmFscyIpO2koRzVhLCJmaW5kVXJsIik7aShZNWEsImZpbmRFbWFpbCIpO2koWjVhLCJpc0NvcnJlY3REb21haW4iKTtpKFg1YSwic3BsaXRVcmwiKTtpKEVydCwicHJldmlvdXMiKX0pO3ZhciBOcnQ9YygoKT0+e0lydCgpfSk7ZnVuY3Rpb24gcjEodCl7cmV0dXJuIHQucmVwbGFjZSgvW1x0XG5cciBdKy9nLCIgIikucmVwbGFjZSgvXiB8ICQvZywiIikudG9Mb3dlckNhc2UoKS50b1VwcGVyQ2FzZSgpfXZhciBIbj1jKCgpPT57aShyMSwibm9ybWFsaXplSWRlbnRpZmllciIpfSk7ZnVuY3Rpb24gSzVhKCl7dGhpcy5idWZmZXIoKX1mdW5jdGlvbiBRNWEodCl7dGhpcy5lbnRlcih7dHlwZToiZm9vdG5vdGVSZWZlcmVuY2UiLGlkZW50aWZpZXI6IiIsbGFiZWw6IiJ9LHQpfWZ1bmN0aW9uIEo1YSgpe3RoaXMuYnVmZmVyKCl9ZnVuY3Rpb24gZThhKHQpe3RoaXMuZW50ZXIoe3R5cGU6ImZvb3Rub3RlRGVmaW5pdGlvbiIsaWRlbnRpZmllcjoiIixsYWJlbDoiIixjaGlsZHJlbjpbXX0sdCl9ZnVuY3Rpb24gdDhhKHQpe2xldCBlPXRoaXMucmVzdW1lKCksYT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2EudHlwZSxhLmlkZW50aWZpZXI9cjEodGhpcy5zbGljZVNlcmlhbGl6ZSh0KSkudG9Mb3dlckNhc2UoKSxhLmxhYmVsPWV9ZnVuY3Rpb24gYThhKHQpe3RoaXMuZXhpdCh0KX1mdW5jdGlvbiByOGEodCl7bGV0IGU9dGhpcy5yZXN1bWUoKSxhPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07YS50eXBlLGEuaWRlbnRpZmllcj1yMSh0aGlzLnNsaWNlU2VyaWFsaXplKHQpKS50b0xvd2VyQ2FzZSgpLGEubGFiZWw9ZX1mdW5jdGlvbiBpOGEodCl7dGhpcy5leGl0KHQpfWZ1bmN0aW9uIHM4YSgpe3JldHVybiJbIn1mdW5jdGlvbiBScnQodCxlLGEscil7bGV0IHM9YS5jcmVhdGVUcmFja2VyKHIpLG49cy5tb3ZlKCJbXiIpLG89YS5lbnRlcigiZm9vdG5vdGVSZWZlcmVuY2UiKSxsPWEuZW50ZXIoInJlZmVyZW5jZSIpO3JldHVybiBuKz1zLm1vdmUoYS5zYWZlKGEuYXNzb2NpYXRpb25JZCh0KSx7YWZ0ZXI6Il0iLGJlZm9yZTpufSkpLGwoKSxvKCksbis9cy5tb3ZlKCJdIiksbn1mdW5jdGlvbiB3MWUoKXtyZXR1cm57ZW50ZXI6e2dmbUZvb3Rub3RlQ2FsbFN0cmluZzpLNWEsZ2ZtRm9vdG5vdGVDYWxsOlE1YSxnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbFN0cmluZzpKNWEsZ2ZtRm9vdG5vdGVEZWZpbml0aW9uOmU4YX0sZXhpdDp7Z2ZtRm9vdG5vdGVDYWxsU3RyaW5nOnQ4YSxnZm1Gb290bm90ZUNhbGw6YThhLGdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsU3RyaW5nOnI4YSxnZm1Gb290bm90ZURlZmluaXRpb246aThhfX19ZnVuY3Rpb24gTTFlKHQpe2xldCBlPSExO3JldHVybiB0JiZ0LmZpcnN0TGluZUJsYW5rJiYoZT0hMCkse2hhbmRsZXJzOntmb290bm90ZURlZmluaXRpb246YSxmb290bm90ZVJlZmVyZW5jZTpScnR9LHVuc2FmZTpbe2NoYXJhY3RlcjoiWyIsaW5Db25zdHJ1Y3Q6WyJsYWJlbCIsInBocmFzaW5nIiwicmVmZXJlbmNlIl19XX07ZnVuY3Rpb24gYShyLHMsbixvKXtsZXQgbD1uLmNyZWF0ZVRyYWNrZXIobyksaD1sLm1vdmUoIlteIiksdT1uLmVudGVyKCJmb290bm90ZURlZmluaXRpb24iKSxmPW4uZW50ZXIoImxhYmVsIik7cmV0dXJuIGgrPWwubW92ZShuLnNhZmUobi5hc3NvY2lhdGlvbklkKHIpLHtiZWZvcmU6aCxhZnRlcjoiXSJ9KSksZigpLGgrPWwubW92ZSgiXToiKSxyLmNoaWxkcmVuJiZyLmNoaWxkcmVuLmxlbmd0aD4wJiYobC5zaGlmdCg0KSxoKz1sLm1vdmUoKGU/YApgOiIgIikrbi5pbmRlbnRMaW5lcyhuLmNvbnRhaW5lckZsb3cocixsLmN1cnJlbnQoKSksZT9GcnQ6bzhhKSkpLHUoKSxofWkoYSwiZm9vdG5vdGVEZWZpbml0aW9uIil9ZnVuY3Rpb24gbzhhKHQsZSxhKXtyZXR1cm4gZT09PTA/dDpGcnQodCxlLGEpfWZ1bmN0aW9uIEZydCh0LGUsYSl7cmV0dXJuKGE/IiI6IiAgICAiKSt0fXZhciBPcnQ9YygoKT0+e0ZuKCk7SG4oKTtScnQucGVlaz1zOGE7aShLNWEsImVudGVyRm9vdG5vdGVDYWxsU3RyaW5nIik7aShRNWEsImVudGVyRm9vdG5vdGVDYWxsIik7aShKNWEsImVudGVyRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmciKTtpKGU4YSwiZW50ZXJGb290bm90ZURlZmluaXRpb24iKTtpKHQ4YSwiZXhpdEZvb3Rub3RlQ2FsbFN0cmluZyIpO2koYThhLCJleGl0Rm9vdG5vdGVDYWxsIik7aShyOGEsImV4aXRGb290bm90ZURlZmluaXRpb25MYWJlbFN0cmluZyIpO2koaThhLCJleGl0Rm9vdG5vdGVEZWZpbml0aW9uIik7aShzOGEsImZvb3Rub3RlUmVmZXJlbmNlUGVlayIpO2koUnJ0LCJmb290bm90ZVJlZmVyZW5jZSIpO2kodzFlLCJnZm1Gb290bm90ZUZyb21NYXJrZG93biIpO2koTTFlLCJnZm1Gb290bm90ZVRvTWFya2Rvd24iKTtpKG84YSwibWFwRXhjZXB0Rmlyc3QiKTtpKEZydCwibWFwQWxsIil9KTt2YXIgQnJ0PWMoKCk9PntPcnQoKX0pO2Z1bmN0aW9uIGsxZSgpe3JldHVybntjYW5Db250YWluRW9sczpbImRlbGV0ZSJdLGVudGVyOntzdHJpa2V0aHJvdWdoOmw4YX0sZXhpdDp7c3RyaWtldGhyb3VnaDpjOGF9fX1mdW5jdGlvbiB6MWUoKXtyZXR1cm57dW5zYWZlOlt7Y2hhcmFjdGVyOiJ+IixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0Om44YX1dLGhhbmRsZXJzOntkZWxldGU6SHJ0fX19ZnVuY3Rpb24gbDhhKHQpe3RoaXMuZW50ZXIoe3R5cGU6ImRlbGV0ZSIsY2hpbGRyZW46W119LHQpfWZ1bmN0aW9uIGM4YSh0KXt0aGlzLmV4aXQodCl9ZnVuY3Rpb24gSHJ0KHQsZSxhLHIpe2xldCBzPWEuY3JlYXRlVHJhY2tlcihyKSxuPWEuZW50ZXIoInN0cmlrZXRocm91Z2giKSxvPXMubW92ZSgifn4iKTtyZXR1cm4gbys9YS5jb250YWluZXJQaHJhc2luZyh0LHsuLi5zLmN1cnJlbnQoKSxiZWZvcmU6byxhZnRlcjoifiJ9KSxvKz1zLm1vdmUoIn5+IiksbigpLG99ZnVuY3Rpb24gZDhhKCl7cmV0dXJuIn4ifXZhciBuOGEscXJ0PWMoKCk9PntuOGE9WyJhdXRvbGluayIsImRlc3RpbmF0aW9uTGl0ZXJhbCIsImRlc3RpbmF0aW9uUmF3IiwicmVmZXJlbmNlIiwidGl0bGVRdW90ZSIsInRpdGxlQXBvc3Ryb3BoZSJdO0hydC5wZWVrPWQ4YTtpKGsxZSwiZ2ZtU3RyaWtldGhyb3VnaEZyb21NYXJrZG93biIpO2koejFlLCJnZm1TdHJpa2V0aHJvdWdoVG9NYXJrZG93biIpO2kobDhhLCJlbnRlclN0cmlrZXRocm91Z2giKTtpKGM4YSwiZXhpdFN0cmlrZXRocm91Z2giKTtpKEhydCwiaGFuZGxlRGVsZXRlIik7aShkOGEsInBlZWtEZWxldGUiKX0pO3ZhciBWcnQ9YygoKT0+e3FydCgpfSk7ZnVuY3Rpb24gcDhhKHQpe3JldHVybiB0Lmxlbmd0aH1mdW5jdGlvbiBVcnQodCxlKXtsZXQgYT1lfHx7fSxyPShhLmFsaWdufHxbXSkuY29uY2F0KCkscz1hLnN0cmluZ0xlbmd0aHx8cDhhLG49W10sbz1bXSxsPVtdLGg9W10sdT0wLGY9LTE7Zm9yKDsrK2Y8dC5sZW5ndGg7KXtsZXQgYj1bXSxtPVtdLHk9LTE7Zm9yKHRbZl0ubGVuZ3RoPnUmJih1PXRbZl0ubGVuZ3RoKTsrK3k8dFtmXS5sZW5ndGg7KXtsZXQgTT11OGEodFtmXVt5XSk7aWYoYS5hbGlnbkRlbGltaXRlcnMhPT0hMSl7bGV0IGs9cyhNKTttW3ldPWssKGhbeV09PT12b2lkIDB8fGs+aFt5XSkmJihoW3ldPWspfWIucHVzaChNKX1vW2ZdPWIsbFtmXT1tfWxldCBwPS0xO2lmKHR5cGVvZiByPT0ib2JqZWN0IiYmImxlbmd0aCJpbiByKWZvcig7KytwPHU7KW5bcF09anJ0KHJbcF0pO2Vsc2V7bGV0IGI9anJ0KHIpO2Zvcig7KytwPHU7KW5bcF09Yn1wPS0xO2xldCBnPVtdLHY9W107Zm9yKDsrK3A8dTspe2xldCBiPW5bcF0sbT0iIix5PSIiO2I9PT05OT8obT0iOiIseT0iOiIpOmI9PT0xMDg/bT0iOiI6Yj09PTExNCYmKHk9IjoiKTtsZXQgTT1hLmFsaWduRGVsaW1pdGVycz09PSExPzE6TWF0aC5tYXgoMSxoW3BdLW0ubGVuZ3RoLXkubGVuZ3RoKSxrPW0rIi0iLnJlcGVhdChNKSt5O2EuYWxpZ25EZWxpbWl0ZXJzIT09ITEmJihNPW0ubGVuZ3RoK00reS5sZW5ndGgsTT5oW3BdJiYoaFtwXT1NKSx2W3BdPU0pLGdbcF09a31vLnNwbGljZSgxLDAsZyksbC5zcGxpY2UoMSwwLHYpLGY9LTE7bGV0IHg9W107Zm9yKDsrK2Y8by5sZW5ndGg7KXtsZXQgYj1vW2ZdLG09bFtmXTtwPS0xO2xldCB5PVtdO2Zvcig7KytwPHU7KXtsZXQgTT1iW3BdfHwiIixrPSIiLEU9IiI7aWYoYS5hbGlnbkRlbGltaXRlcnMhPT0hMSl7bGV0IF89aFtwXS0obVtwXXx8MCksQz1uW3BdO0M9PT0xMTQ/az0iICIucmVwZWF0KF8pOkM9PT05OT9fJTI/KGs9IiAiLnJlcGVhdChfLzIrLjUpLEU9IiAiLnJlcGVhdChfLzItLjUpKTooaz0iICIucmVwZWF0KF8vMiksRT1rKTpFPSIgIi5yZXBlYXQoXyl9YS5kZWxpbWl0ZXJTdGFydCE9PSExJiYhcCYmeS5wdXNoKCJ8IiksYS5wYWRkaW5nIT09ITEmJiEoYS5hbGlnbkRlbGltaXRlcnM9PT0hMSYmTT09PSIiKSYmKGEuZGVsaW1pdGVyU3RhcnQhPT0hMXx8cCkmJnkucHVzaCgiICIpLGEuYWxpZ25EZWxpbWl0ZXJzIT09ITEmJnkucHVzaChrKSx5LnB1c2goTSksYS5hbGlnbkRlbGltaXRlcnMhPT0hMSYmeS5wdXNoKEUpLGEucGFkZGluZyE9PSExJiZ5LnB1c2goIiAiKSwoYS5kZWxpbWl0ZXJFbmQhPT0hMXx8cCE9PXUtMSkmJnkucHVzaCgifCIpfXgucHVzaChhLmRlbGltaXRlckVuZD09PSExP3kuam9pbigiIikucmVwbGFjZSgvICskLywiIik6eS5qb2luKCIiKSl9cmV0dXJuIHguam9pbihgCmApfWZ1bmN0aW9uIHU4YSh0KXtyZXR1cm4gdD09bnVsbD8iIjpTdHJpbmcodCl9ZnVuY3Rpb24ganJ0KHQpe2xldCBlPXR5cGVvZiB0PT0ic3RyaW5nIj90LmNvZGVQb2ludEF0KDApOjA7cmV0dXJuIGU9PT02N3x8ZT09PTk5Pzk5OmU9PT03Nnx8ZT09PTEwOD8xMDg6ZT09PTgyfHxlPT09MTE0PzExNDowfXZhciBXcnQ9YygoKT0+e2kocDhhLCJkZWZhdWx0U3RyaW5nTGVuZ3RoIik7aShVcnQsIm1hcmtkb3duVGFibGUiKTtpKHU4YSwic2VyaWFsaXplIik7aShqcnQsInRvQWxpZ25tZW50Iil9KTtmdW5jdGlvbiB6VSh0LGUpe2xldCBhPWV8fHt9O2Z1bmN0aW9uIHIocywuLi5uKXtsZXQgbz1yLmludmFsaWQsbD1yLmhhbmRsZXJzO2lmKHMmJkdydC5jYWxsKHMsdCkpe2xldCBoPVN0cmluZyhzW3RdKTtvPUdydC5jYWxsKGwsaCk/bFtoXTpyLnVua25vd259aWYobylyZXR1cm4gby5jYWxsKHRoaXMscywuLi5uKX1yZXR1cm4gaShyLCJvbmUiKSxyLmhhbmRsZXJzPWEuaGFuZGxlcnN8fHt9LHIuaW52YWxpZD1hLmludmFsaWQsci51bmtub3duPWEudW5rbm93bixyfXZhciBHcnQsUzFlPWMoKCk9PntHcnQ9e30uaGFzT3duUHJvcGVydHk7aSh6VSwiendpdGNoIil9KTtmdW5jdGlvbiBDMWUodCxlKXtsZXQgYT0tMSxyO2lmKGUuZXh0ZW5zaW9ucylmb3IoOysrYTxlLmV4dGVuc2lvbnMubGVuZ3RoOylDMWUodCxlLmV4dGVuc2lvbnNbYV0pO2ZvcihyIGluIGUpaWYoZjhhLmNhbGwoZSxyKSlzd2l0Y2gocil7Y2FzZSJleHRlbnNpb25zIjpicmVhaztjYXNlInVuc2FmZSI6e1lydCh0W3JdLGVbcl0pO2JyZWFrfWNhc2Uiam9pbiI6e1lydCh0W3JdLGVbcl0pO2JyZWFrfWNhc2UiaGFuZGxlcnMiOntoOGEodFtyXSxlW3JdKTticmVha31kZWZhdWx0OnQub3B0aW9uc1tyXT1lW3JdfXJldHVybiB0fWZ1bmN0aW9uIFlydCh0LGUpe2UmJnQucHVzaCguLi5lKX1mdW5jdGlvbiBoOGEodCxlKXtlJiZPYmplY3QuYXNzaWduKHQsZSl9dmFyIGY4YSxacnQ9YygoKT0+e2Y4YT17fS5oYXNPd25Qcm9wZXJ0eTtpKEMxZSwiY29uZmlndXJlIik7aShZcnQsImxpc3QiKTtpKGg4YSwibWFwIil9KTtmdW5jdGlvbiBYcnQodCxlLGEscil7bGV0IHM9YS5lbnRlcigiYmxvY2txdW90ZSIpLG49YS5jcmVhdGVUcmFja2VyKHIpO24ubW92ZSgiPiAiKSxuLnNoaWZ0KDIpO2xldCBvPWEuaW5kZW50TGluZXMoYS5jb250YWluZXJGbG93KHQsbi5jdXJyZW50KCkpLG04YSk7cmV0dXJuIHMoKSxvfWZ1bmN0aW9uIG04YSh0LGUsYSl7cmV0dXJuIj4iKyhhPyIiOiIgIikrdH12YXIgS3J0PWMoKCk9PntpKFhydCwiYmxvY2txdW90ZSIpO2kobThhLCJtYXAiKX0pO2Z1bmN0aW9uIFNVKHQsZSl7cmV0dXJuIFFydCh0LGUuaW5Db25zdHJ1Y3QsITApJiYhUXJ0KHQsZS5ub3RJbkNvbnN0cnVjdCwhMSl9ZnVuY3Rpb24gUXJ0KHQsZSxhKXtpZih0eXBlb2YgZT09InN0cmluZyImJihlPVtlXSksIWV8fGUubGVuZ3RoPT09MClyZXR1cm4gYTtsZXQgcj0tMTtmb3IoOysrcjxlLmxlbmd0aDspaWYodC5pbmNsdWRlcyhlW3JdKSlyZXR1cm4hMDtyZXR1cm4hMX12YXIgXzFlPWMoKCk9PntpKFNVLCJwYXR0ZXJuSW5TY29wZSIpO2koUXJ0LCJsaXN0SW5TY29wZSIpfSk7ZnVuY3Rpb24gVDFlKHQsZSxhLHIpe2xldCBzPS0xO2Zvcig7KytzPGEudW5zYWZlLmxlbmd0aDspaWYoYS51bnNhZmVbc10uY2hhcmFjdGVyPT09YApgJiZTVShhLnN0YWNrLGEudW5zYWZlW3NdKSlyZXR1cm4vWyBcdF0vLnRlc3Qoci5iZWZvcmUpPyIiOiIgIjtyZXR1cm5gXFwKYH12YXIgSnJ0PWMoKCk9PntfMWUoKTtpKFQxZSwiaGFyZEJyZWFrIil9KTtmdW5jdGlvbiBlaXQodCxlKXtsZXQgYT1TdHJpbmcodCkscj1hLmluZGV4T2YoZSkscz1yLG49MCxvPTA7aWYodHlwZW9mIGUhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIHN1YnN0cmluZyIpO2Zvcig7ciE9PS0xOylyPT09cz8rK24+byYmKG89bik6bj0xLHM9citlLmxlbmd0aCxyPWEuaW5kZXhPZihlLHMpO3JldHVybiBvfXZhciB0aXQ9YygoKT0+e2koZWl0LCJsb25nZXN0U3RyZWFrIil9KTtmdW5jdGlvbiBzZih0LGUpe3JldHVybiEhKGUub3B0aW9ucy5mZW5jZXM9PT0hMSYmdC52YWx1ZSYmIXQubGFuZyYmL1teIFxyXG5dLy50ZXN0KHQudmFsdWUpJiYhL15bXHQgXSooPzpbXHJcbl18JCl8KD86XnxbXHJcbl0pW1x0IF0qJC8udGVzdCh0LnZhbHVlKSl9dmFyIEwxZT1jKCgpPT57aShzZiwiZm9ybWF0Q29kZUFzSW5kZW50ZWQiKX0pO2Z1bmN0aW9uIGFpdCh0KXtsZXQgZT10Lm9wdGlvbnMuZmVuY2V8fCJgIjtpZihlIT09ImAiJiZlIT09In4iKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNlcmlhbGl6ZSBjb2RlIHdpdGggYCIrZSsiYCBmb3IgYG9wdGlvbnMuZmVuY2VgLCBleHBlY3RlZCBgYCBgIGBgIG9yIGB+YCIpO3JldHVybiBlfXZhciByaXQ9YygoKT0+e2koYWl0LCJjaGVja0ZlbmNlIil9KTtmdW5jdGlvbiBpaXQodCxlLGEscil7bGV0IHM9YWl0KGEpLG49dC52YWx1ZXx8IiIsbz1zPT09ImAiPyJHcmF2ZUFjY2VudCI6IlRpbGRlIjtpZihzZih0LGEpKXtsZXQgcD1hLmVudGVyKCJjb2RlSW5kZW50ZWQiKSxnPWEuaW5kZW50TGluZXMobixnOGEpO3JldHVybiBwKCksZ31sZXQgbD1hLmNyZWF0ZVRyYWNrZXIociksaD1zLnJlcGVhdChNYXRoLm1heChlaXQobixzKSsxLDMpKSx1PWEuZW50ZXIoImNvZGVGZW5jZWQiKSxmPWwubW92ZShoKTtpZih0Lmxhbmcpe2xldCBwPWEuZW50ZXIoYGNvZGVGZW5jZWRMYW5nJHtvfWApO2YrPWwubW92ZShhLnNhZmUodC5sYW5nLHtiZWZvcmU6ZixhZnRlcjoiICIsZW5jb2RlOlsiYCJdLC4uLmwuY3VycmVudCgpfSkpLHAoKX1pZih0LmxhbmcmJnQubWV0YSl7bGV0IHA9YS5lbnRlcihgY29kZUZlbmNlZE1ldGEke299YCk7Zis9bC5tb3ZlKCIgIiksZis9bC5tb3ZlKGEuc2FmZSh0Lm1ldGEse2JlZm9yZTpmLGFmdGVyOmAKYCxlbmNvZGU6WyJgIl0sLi4ubC5jdXJyZW50KCl9KSkscCgpfXJldHVybiBmKz1sLm1vdmUoYApgKSxuJiYoZis9bC5tb3ZlKG4rYApgKSksZis9bC5tb3ZlKGgpLHUoKSxmfWZ1bmN0aW9uIGc4YSh0LGUsYSl7cmV0dXJuKGE/IiI6IiAgICAiKSt0fXZhciBzaXQ9YygoKT0+e3RpdCgpO0wxZSgpO3JpdCgpO2koaWl0LCJjb2RlIik7aShnOGEsIm1hcCIpfSk7ZnVuY3Rpb24gaTgodCl7bGV0IGU9dC5vcHRpb25zLnF1b3RlfHwnIic7aWYoZSE9PSciJyYmZSE9PSInIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgdGl0bGUgd2l0aCBgIitlKyJgIGZvciBgb3B0aW9ucy5xdW90ZWAsIGV4cGVjdGVkIGBcImAsIG9yIGAnYCIpO3JldHVybiBlfXZhciBDVT1jKCgpPT57aShpOCwiY2hlY2tRdW90ZSIpfSk7ZnVuY3Rpb24gb2l0KHQsZSxhLHIpe2xldCBzPWk4KGEpLG49cz09PSciJz8iUXVvdGUiOiJBcG9zdHJvcGhlIixvPWEuZW50ZXIoImRlZmluaXRpb24iKSxsPWEuZW50ZXIoImxhYmVsIiksaD1hLmNyZWF0ZVRyYWNrZXIociksdT1oLm1vdmUoIlsiKTtyZXR1cm4gdSs9aC5tb3ZlKGEuc2FmZShhLmFzc29jaWF0aW9uSWQodCkse2JlZm9yZTp1LGFmdGVyOiJdIiwuLi5oLmN1cnJlbnQoKX0pKSx1Kz1oLm1vdmUoIl06ICIpLGwoKSwhdC51cmx8fC9bXDAtIFx1MDA3Rl0vLnRlc3QodC51cmwpPyhsPWEuZW50ZXIoImRlc3RpbmF0aW9uTGl0ZXJhbCIpLHUrPWgubW92ZSgiPCIpLHUrPWgubW92ZShhLnNhZmUodC51cmwse2JlZm9yZTp1LGFmdGVyOiI+IiwuLi5oLmN1cnJlbnQoKX0pKSx1Kz1oLm1vdmUoIj4iKSk6KGw9YS5lbnRlcigiZGVzdGluYXRpb25SYXciKSx1Kz1oLm1vdmUoYS5zYWZlKHQudXJsLHtiZWZvcmU6dSxhZnRlcjp0LnRpdGxlPyIgIjpgCmAsLi4uaC5jdXJyZW50KCl9KSkpLGwoKSx0LnRpdGxlJiYobD1hLmVudGVyKGB0aXRsZSR7bn1gKSx1Kz1oLm1vdmUoIiAiK3MpLHUrPWgubW92ZShhLnNhZmUodC50aXRsZSx7YmVmb3JlOnUsYWZ0ZXI6cywuLi5oLmN1cnJlbnQoKX0pKSx1Kz1oLm1vdmUocyksbCgpKSxvKCksdX12YXIgbml0PWMoKCk9PntDVSgpO2kob2l0LCJkZWZpbml0aW9uIil9KTtmdW5jdGlvbiBsaXQodCl7bGV0IGU9dC5vcHRpb25zLmVtcGhhc2lzfHwiKiI7aWYoZSE9PSIqIiYmZSE9PSJfIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgZW1waGFzaXMgd2l0aCBgIitlKyJgIGZvciBgb3B0aW9ucy5lbXBoYXNpc2AsIGV4cGVjdGVkIGAqYCwgb3IgYF9gIik7cmV0dXJuIGV9dmFyIGNpdD1jKCgpPT57aShsaXQsImNoZWNrRW1waGFzaXMiKX0pO2Z1bmN0aW9uIG1pKHQpe3JldHVybiImI3giK3QudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCkrIjsifXZhciBzOD1jKCgpPT57aShtaSwiZW5jb2RlQ2hhcmFjdGVyUmVmZXJlbmNlIil9KTtmdW5jdGlvbiBvbyh0KXtpZih0PT09bnVsbHx8cXQodCl8fG0yKHQpKXJldHVybiAxO2lmKHYwKHQpKXJldHVybiAyfXZhciBfVT1jKCgpPT57VXQoKTtpKG9vLCJjbGFzc2lmeUNoYXJhY3RlciIpfSk7ZnVuY3Rpb24gbzgodCxlLGEpe2xldCByPW9vKHQpLHM9b28oZSk7cmV0dXJuIHI9PT12b2lkIDA/cz09PXZvaWQgMD9hPT09Il8iP3tpbnNpZGU6ITAsb3V0c2lkZTohMH06e2luc2lkZTohMSxvdXRzaWRlOiExfTpzPT09MT97aW5zaWRlOiEwLG91dHNpZGU6ITB9OntpbnNpZGU6ITEsb3V0c2lkZTohMH06cj09PTE/cz09PXZvaWQgMD97aW5zaWRlOiExLG91dHNpZGU6ITF9OnM9PT0xP3tpbnNpZGU6ITAsb3V0c2lkZTohMH06e2luc2lkZTohMSxvdXRzaWRlOiExfTpzPT09dm9pZCAwP3tpbnNpZGU6ITEsb3V0c2lkZTohMX06cz09PTE/e2luc2lkZTohMCxvdXRzaWRlOiExfTp7aW5zaWRlOiExLG91dHNpZGU6ITF9fXZhciAkMWU9YygoKT0+e19VKCk7aShvOCwiZW5jb2RlSW5mbyIpfSk7ZnVuY3Rpb24gRDFlKHQsZSxhLHIpe2xldCBzPWxpdChhKSxuPWEuZW50ZXIoImVtcGhhc2lzIiksbz1hLmNyZWF0ZVRyYWNrZXIociksbD1vLm1vdmUocyksaD1vLm1vdmUoYS5jb250YWluZXJQaHJhc2luZyh0LHthZnRlcjpzLGJlZm9yZTpsLC4uLm8uY3VycmVudCgpfSkpLHU9aC5jaGFyQ29kZUF0KDApLGY9bzgoci5iZWZvcmUuY2hhckNvZGVBdChyLmJlZm9yZS5sZW5ndGgtMSksdSxzKTtmLmluc2lkZSYmKGg9bWkodSkraC5zbGljZSgxKSk7bGV0IHA9aC5jaGFyQ29kZUF0KGgubGVuZ3RoLTEpLGc9bzgoci5hZnRlci5jaGFyQ29kZUF0KDApLHAscyk7Zy5pbnNpZGUmJihoPWguc2xpY2UoMCwtMSkrbWkocCkpO2xldCB2PW8ubW92ZShzKTtyZXR1cm4gbigpLGEuYXR0ZW50aW9uRW5jb2RlU3Vycm91bmRpbmdJbmZvPXthZnRlcjpnLm91dHNpZGUsYmVmb3JlOmYub3V0c2lkZX0sbCtoK3Z9ZnVuY3Rpb24gYjhhKHQsZSxhKXtyZXR1cm4gYS5vcHRpb25zLmVtcGhhc2lzfHwiKiJ9dmFyIGRpdD1jKCgpPT57Y2l0KCk7czgoKTskMWUoKTtEMWUucGVlaz1iOGE7aShEMWUsImVtcGhhc2lzIik7aShiOGEsImVtcGhhc2lzUGVlayIpfSk7ZnVuY3Rpb24gb2YodCxlLGEscil7bGV0IHMsbixvO3R5cGVvZiBlPT0iZnVuY3Rpb24iJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIj8obj12b2lkIDAsbz1lLHM9YSk6KG49ZSxvPWEscz1yKSxyZih0LG4sbCxzKTtmdW5jdGlvbiBsKGgsdSl7bGV0IGY9dVt1Lmxlbmd0aC0xXSxwPWY/Zi5jaGlsZHJlbi5pbmRleE9mKGgpOnZvaWQgMDtyZXR1cm4gbyhoLHAsZil9aShsLCJvdmVybG9hZCIpfXZhciBwaXQ9YygoKT0+e2tVKCk7a1UoKTtpKG9mLCJ2aXNpdCIpfSk7dmFyIEExZT1jKCgpPT57cGl0KCl9KTtmdW5jdGlvbiB5MCh0LGUpe2xldCBhPWV8fHY4YSxyPXR5cGVvZiBhLmluY2x1ZGVJbWFnZUFsdD09ImJvb2xlYW4iP2EuaW5jbHVkZUltYWdlQWx0OiEwLHM9dHlwZW9mIGEuaW5jbHVkZUh0bWw9PSJib29sZWFuIj9hLmluY2x1ZGVIdG1sOiEwO3JldHVybiB1aXQodCxyLHMpfWZ1bmN0aW9uIHVpdCh0LGUsYSl7aWYoeDhhKHQpKXtpZigidmFsdWUiaW4gdClyZXR1cm4gdC50eXBlPT09Imh0bWwiJiYhYT8iIjp0LnZhbHVlO2lmKGUmJiJhbHQiaW4gdCYmdC5hbHQpcmV0dXJuIHQuYWx0O2lmKCJjaGlsZHJlbiJpbiB0KXJldHVybiBmaXQodC5jaGlsZHJlbixlLGEpfXJldHVybiBBcnJheS5pc0FycmF5KHQpP2ZpdCh0LGUsYSk6IiJ9ZnVuY3Rpb24gZml0KHQsZSxhKXtsZXQgcj1bXSxzPS0xO2Zvcig7KytzPHQubGVuZ3RoOylyW3NdPXVpdCh0W3NdLGUsYSk7cmV0dXJuIHIuam9pbigiIil9ZnVuY3Rpb24geDhhKHQpe3JldHVybiEhKHQmJnR5cGVvZiB0PT0ib2JqZWN0Iil9dmFyIHY4YSxoaXQ9YygoKT0+e3Y4YT17fTtpKHkwLCJ0b1N0cmluZyIpO2kodWl0LCJvbmUiKTtpKGZpdCwiYWxsIik7aSh4OGEsIm5vZGUiKX0pO3ZhciBUVT1jKCgpPT57aGl0KCl9KTtmdW5jdGlvbiBMVSh0LGUpe2xldCBhPSExO3JldHVybiBvZih0LGZ1bmN0aW9uKHIpe2lmKCJ2YWx1ZSJpbiByJiYvXHI/XG58XHIvLnRlc3Qoci52YWx1ZSl8fHIudHlwZT09PSJicmVhayIpcmV0dXJuIGE9ITAseDB9KSwhISgoIXQuZGVwdGh8fHQuZGVwdGg8MykmJnkwKHQpJiYoZS5vcHRpb25zLnNldGV4dHx8YSkpfXZhciBQMWU9YygoKT0+e0ExZSgpO1RVKCk7aShMVSwiZm9ybWF0SGVhZGluZ0FzU2V0ZXh0Iil9KTtmdW5jdGlvbiBtaXQodCxlLGEscil7bGV0IHM9TWF0aC5tYXgoTWF0aC5taW4oNix0LmRlcHRofHwxKSwxKSxuPWEuY3JlYXRlVHJhY2tlcihyKTtpZihMVSh0LGEpKXtsZXQgZj1hLmVudGVyKCJoZWFkaW5nU2V0ZXh0IikscD1hLmVudGVyKCJwaHJhc2luZyIpLGc9YS5jb250YWluZXJQaHJhc2luZyh0LHsuLi5uLmN1cnJlbnQoKSxiZWZvcmU6YApgLGFmdGVyOmAKYH0pO3JldHVybiBwKCksZigpLGcrYApgKyhzPT09MT8iPSI6Ii0iKS5yZXBlYXQoZy5sZW5ndGgtKE1hdGgubWF4KGcubGFzdEluZGV4T2YoIlxyIiksZy5sYXN0SW5kZXhPZihgCmApKSsxKSl9bGV0IG89IiMiLnJlcGVhdChzKSxsPWEuZW50ZXIoImhlYWRpbmdBdHgiKSxoPWEuZW50ZXIoInBocmFzaW5nIik7bi5tb3ZlKG8rIiAiKTtsZXQgdT1hLmNvbnRhaW5lclBocmFzaW5nKHQse2JlZm9yZToiIyAiLGFmdGVyOmAKYCwuLi5uLmN1cnJlbnQoKX0pO3JldHVybi9eW1x0IF0vLnRlc3QodSkmJih1PW1pKHUuY2hhckNvZGVBdCgwKSkrdS5zbGljZSgxKSksdT11P28rIiAiK3U6byxhLm9wdGlvbnMuY2xvc2VBdHgmJih1Kz0iICIrbyksaCgpLGwoKSx1fXZhciBnaXQ9YygoKT0+e3M4KCk7UDFlKCk7aShtaXQsImhlYWRpbmciKX0pO2Z1bmN0aW9uIEUxZSh0KXtyZXR1cm4gdC52YWx1ZXx8IiJ9ZnVuY3Rpb24geThhKCl7cmV0dXJuIjwifXZhciBiaXQ9YygoKT0+e0UxZS5wZWVrPXk4YTtpKEUxZSwiaHRtbCIpO2koeThhLCJodG1sUGVlayIpfSk7ZnVuY3Rpb24gSTFlKHQsZSxhLHIpe2xldCBzPWk4KGEpLG49cz09PSciJz8iUXVvdGUiOiJBcG9zdHJvcGhlIixvPWEuZW50ZXIoImltYWdlIiksbD1hLmVudGVyKCJsYWJlbCIpLGg9YS5jcmVhdGVUcmFja2VyKHIpLHU9aC5tb3ZlKCIhWyIpO3JldHVybiB1Kz1oLm1vdmUoYS5zYWZlKHQuYWx0LHtiZWZvcmU6dSxhZnRlcjoiXSIsLi4uaC5jdXJyZW50KCl9KSksdSs9aC5tb3ZlKCJdKCIpLGwoKSwhdC51cmwmJnQudGl0bGV8fC9bXDAtIFx1MDA3Rl0vLnRlc3QodC51cmwpPyhsPWEuZW50ZXIoImRlc3RpbmF0aW9uTGl0ZXJhbCIpLHUrPWgubW92ZSgiPCIpLHUrPWgubW92ZShhLnNhZmUodC51cmwse2JlZm9yZTp1LGFmdGVyOiI+IiwuLi5oLmN1cnJlbnQoKX0pKSx1Kz1oLm1vdmUoIj4iKSk6KGw9YS5lbnRlcigiZGVzdGluYXRpb25SYXciKSx1Kz1oLm1vdmUoYS5zYWZlKHQudXJsLHtiZWZvcmU6dSxhZnRlcjp0LnRpdGxlPyIgIjoiKSIsLi4uaC5jdXJyZW50KCl9KSkpLGwoKSx0LnRpdGxlJiYobD1hLmVudGVyKGB0aXRsZSR7bn1gKSx1Kz1oLm1vdmUoIiAiK3MpLHUrPWgubW92ZShhLnNhZmUodC50aXRsZSx7YmVmb3JlOnUsYWZ0ZXI6cywuLi5oLmN1cnJlbnQoKX0pKSx1Kz1oLm1vdmUocyksbCgpKSx1Kz1oLm1vdmUoIikiKSxvKCksdX1mdW5jdGlvbiB3OGEoKXtyZXR1cm4iISJ9dmFyIHZpdD1jKCgpPT57Q1UoKTtJMWUucGVlaz13OGE7aShJMWUsImltYWdlIik7aSh3OGEsImltYWdlUGVlayIpfSk7ZnVuY3Rpb24gTjFlKHQsZSxhLHIpe2xldCBzPXQucmVmZXJlbmNlVHlwZSxuPWEuZW50ZXIoImltYWdlUmVmZXJlbmNlIiksbz1hLmVudGVyKCJsYWJlbCIpLGw9YS5jcmVhdGVUcmFja2VyKHIpLGg9bC5tb3ZlKCIhWyIpLHU9YS5zYWZlKHQuYWx0LHtiZWZvcmU6aCxhZnRlcjoiXSIsLi4ubC5jdXJyZW50KCl9KTtoKz1sLm1vdmUodSsiXVsiKSxvKCk7bGV0IGY9YS5zdGFjazthLnN0YWNrPVtdLG89YS5lbnRlcigicmVmZXJlbmNlIik7bGV0IHA9YS5zYWZlKGEuYXNzb2NpYXRpb25JZCh0KSx7YmVmb3JlOmgsYWZ0ZXI6Il0iLC4uLmwuY3VycmVudCgpfSk7cmV0dXJuIG8oKSxhLnN0YWNrPWYsbigpLHM9PT0iZnVsbCJ8fCF1fHx1IT09cD9oKz1sLm1vdmUocCsiXSIpOnM9PT0ic2hvcnRjdXQiP2g9aC5zbGljZSgwLC0xKTpoKz1sLm1vdmUoIl0iKSxofWZ1bmN0aW9uIE04YSgpe3JldHVybiIhIn12YXIgeGl0PWMoKCk9PntOMWUucGVlaz1NOGE7aShOMWUsImltYWdlUmVmZXJlbmNlIik7aShNOGEsImltYWdlUmVmZXJlbmNlUGVlayIpfSk7ZnVuY3Rpb24gUjFlKHQsZSxhKXtsZXQgcj10LnZhbHVlfHwiIixzPSJgIixuPS0xO2Zvcig7bmV3IFJlZ0V4cCgiKF58W15gXSkiK3MrIihbXmBdfCQpIikudGVzdChyKTspcys9ImAiO2ZvcigvW14gXHJcbl0vLnRlc3QocikmJigvXlsgXHJcbl0vLnRlc3QocikmJi9bIFxyXG5dJC8udGVzdChyKXx8L15gfGAkLy50ZXN0KHIpKSYmKHI9IiAiK3IrIiAiKTsrK248YS51bnNhZmUubGVuZ3RoOyl7bGV0IG89YS51bnNhZmVbbl0sbD1hLmNvbXBpbGVQYXR0ZXJuKG8pLGg7aWYoby5hdEJyZWFrKWZvcig7aD1sLmV4ZWMocik7KXtsZXQgdT1oLmluZGV4O3IuY2hhckNvZGVBdCh1KT09PTEwJiZyLmNoYXJDb2RlQXQodS0xKT09PTEzJiZ1LS0scj1yLnNsaWNlKDAsdSkrIiAiK3Iuc2xpY2UoaC5pbmRleCsxKX19cmV0dXJuIHMrcitzfWZ1bmN0aW9uIGs4YSgpe3JldHVybiJgIn12YXIgeWl0PWMoKCk9PntSMWUucGVlaz1rOGE7aShSMWUsImlubGluZUNvZGUiKTtpKGs4YSwiaW5saW5lQ29kZVBlZWsiKX0pO2Z1bmN0aW9uIEYxZSh0LGUpe2xldCBhPXkwKHQpO3JldHVybiEhKCFlLm9wdGlvbnMucmVzb3VyY2VMaW5rJiZ0LnVybCYmIXQudGl0bGUmJnQuY2hpbGRyZW4mJnQuY2hpbGRyZW4ubGVuZ3RoPT09MSYmdC5jaGlsZHJlblswXS50eXBlPT09InRleHQiJiYoYT09PXQudXJsfHwibWFpbHRvOiIrYT09PXQudXJsKSYmL15bYS16XVthLXorLi1dKzovaS50ZXN0KHQudXJsKSYmIS9bXDAtIDw+XHUwMDdGXS8udGVzdCh0LnVybCkpfXZhciB3aXQ9YygoKT0+e1RVKCk7aShGMWUsImZvcm1hdExpbmtBc0F1dG9saW5rIil9KTtmdW5jdGlvbiBPMWUodCxlLGEscil7bGV0IHM9aTgoYSksbj1zPT09JyInPyJRdW90ZSI6IkFwb3N0cm9waGUiLG89YS5jcmVhdGVUcmFja2VyKHIpLGwsaDtpZihGMWUodCxhKSl7bGV0IGY9YS5zdGFjazthLnN0YWNrPVtdLGw9YS5lbnRlcigiYXV0b2xpbmsiKTtsZXQgcD1vLm1vdmUoIjwiKTtyZXR1cm4gcCs9by5tb3ZlKGEuY29udGFpbmVyUGhyYXNpbmcodCx7YmVmb3JlOnAsYWZ0ZXI6Ij4iLC4uLm8uY3VycmVudCgpfSkpLHArPW8ubW92ZSgiPiIpLGwoKSxhLnN0YWNrPWYscH1sPWEuZW50ZXIoImxpbmsiKSxoPWEuZW50ZXIoImxhYmVsIik7bGV0IHU9by5tb3ZlKCJbIik7cmV0dXJuIHUrPW8ubW92ZShhLmNvbnRhaW5lclBocmFzaW5nKHQse2JlZm9yZTp1LGFmdGVyOiJdKCIsLi4uby5jdXJyZW50KCl9KSksdSs9by5tb3ZlKCJdKCIpLGgoKSwhdC51cmwmJnQudGl0bGV8fC9bXDAtIFx1MDA3Rl0vLnRlc3QodC51cmwpPyhoPWEuZW50ZXIoImRlc3RpbmF0aW9uTGl0ZXJhbCIpLHUrPW8ubW92ZSgiPCIpLHUrPW8ubW92ZShhLnNhZmUodC51cmwse2JlZm9yZTp1LGFmdGVyOiI+IiwuLi5vLmN1cnJlbnQoKX0pKSx1Kz1vLm1vdmUoIj4iKSk6KGg9YS5lbnRlcigiZGVzdGluYXRpb25SYXciKSx1Kz1vLm1vdmUoYS5zYWZlKHQudXJsLHtiZWZvcmU6dSxhZnRlcjp0LnRpdGxlPyIgIjoiKSIsLi4uby5jdXJyZW50KCl9KSkpLGgoKSx0LnRpdGxlJiYoaD1hLmVudGVyKGB0aXRsZSR7bn1gKSx1Kz1vLm1vdmUoIiAiK3MpLHUrPW8ubW92ZShhLnNhZmUodC50aXRsZSx7YmVmb3JlOnUsYWZ0ZXI6cywuLi5vLmN1cnJlbnQoKX0pKSx1Kz1vLm1vdmUocyksaCgpKSx1Kz1vLm1vdmUoIikiKSxsKCksdX1mdW5jdGlvbiB6OGEodCxlLGEpe3JldHVybiBGMWUodCxhKT8iPCI6IlsifXZhciBNaXQ9YygoKT0+e0NVKCk7d2l0KCk7TzFlLnBlZWs9ejhhO2koTzFlLCJsaW5rIik7aSh6OGEsImxpbmtQZWVrIil9KTtmdW5jdGlvbiBCMWUodCxlLGEscil7bGV0IHM9dC5yZWZlcmVuY2VUeXBlLG49YS5lbnRlcigibGlua1JlZmVyZW5jZSIpLG89YS5lbnRlcigibGFiZWwiKSxsPWEuY3JlYXRlVHJhY2tlcihyKSxoPWwubW92ZSgiWyIpLHU9YS5jb250YWluZXJQaHJhc2luZyh0LHtiZWZvcmU6aCxhZnRlcjoiXSIsLi4ubC5jdXJyZW50KCl9KTtoKz1sLm1vdmUodSsiXVsiKSxvKCk7bGV0IGY9YS5zdGFjazthLnN0YWNrPVtdLG89YS5lbnRlcigicmVmZXJlbmNlIik7bGV0IHA9YS5zYWZlKGEuYXNzb2NpYXRpb25JZCh0KSx7YmVmb3JlOmgsYWZ0ZXI6Il0iLC4uLmwuY3VycmVudCgpfSk7cmV0dXJuIG8oKSxhLnN0YWNrPWYsbigpLHM9PT0iZnVsbCJ8fCF1fHx1IT09cD9oKz1sLm1vdmUocCsiXSIpOnM9PT0ic2hvcnRjdXQiP2g9aC5zbGljZSgwLC0xKTpoKz1sLm1vdmUoIl0iKSxofWZ1bmN0aW9uIFM4YSgpe3JldHVybiJbIn12YXIga2l0PWMoKCk9PntCMWUucGVlaz1TOGE7aShCMWUsImxpbmtSZWZlcmVuY2UiKTtpKFM4YSwibGlua1JlZmVyZW5jZVBlZWsiKX0pO2Z1bmN0aW9uIG44KHQpe2xldCBlPXQub3B0aW9ucy5idWxsZXR8fCIqIjtpZihlIT09IioiJiZlIT09IisiJiZlIT09Ii0iKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNlcmlhbGl6ZSBpdGVtcyB3aXRoIGAiK2UrImAgZm9yIGBvcHRpb25zLmJ1bGxldGAsIGV4cGVjdGVkIGAqYCwgYCtgLCBvciBgLWAiKTtyZXR1cm4gZX12YXIgJFU9YygoKT0+e2kobjgsImNoZWNrQnVsbGV0Iil9KTtmdW5jdGlvbiB6aXQodCl7bGV0IGU9bjgodCksYT10Lm9wdGlvbnMuYnVsbGV0T3RoZXI7aWYoIWEpcmV0dXJuIGU9PT0iKiI/Ii0iOiIqIjtpZihhIT09IioiJiZhIT09IisiJiZhIT09Ii0iKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNlcmlhbGl6ZSBpdGVtcyB3aXRoIGAiK2ErImAgZm9yIGBvcHRpb25zLmJ1bGxldE90aGVyYCwgZXhwZWN0ZWQgYCpgLCBgK2AsIG9yIGAtYCIpO2lmKGE9PT1lKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgYGJ1bGxldGAgKGAiK2UrImApIGFuZCBgYnVsbGV0T3RoZXJgIChgIithKyJgKSB0byBiZSBkaWZmZXJlbnQiKTtyZXR1cm4gYX12YXIgU2l0PWMoKCk9PnskVSgpO2koeml0LCJjaGVja0J1bGxldE90aGVyIil9KTtmdW5jdGlvbiBDaXQodCl7bGV0IGU9dC5vcHRpb25zLmJ1bGxldE9yZGVyZWR8fCIuIjtpZihlIT09Ii4iJiZlIT09IikiKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNlcmlhbGl6ZSBpdGVtcyB3aXRoIGAiK2UrImAgZm9yIGBvcHRpb25zLmJ1bGxldE9yZGVyZWRgLCBleHBlY3RlZCBgLmAgb3IgYClgIik7cmV0dXJuIGV9dmFyIF9pdD1jKCgpPT57aShDaXQsImNoZWNrQnVsbGV0T3JkZXJlZCIpfSk7ZnVuY3Rpb24gRFUodCl7bGV0IGU9dC5vcHRpb25zLnJ1bGV8fCIqIjtpZihlIT09IioiJiZlIT09Ii0iJiZlIT09Il8iKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNlcmlhbGl6ZSBydWxlcyB3aXRoIGAiK2UrImAgZm9yIGBvcHRpb25zLnJ1bGVgLCBleHBlY3RlZCBgKmAsIGAtYCwgb3IgYF9gIik7cmV0dXJuIGV9dmFyIEgxZT1jKCgpPT57aShEVSwiY2hlY2tSdWxlIil9KTtmdW5jdGlvbiBUaXQodCxlLGEscil7bGV0IHM9YS5lbnRlcigibGlzdCIpLG49YS5idWxsZXRDdXJyZW50LG89dC5vcmRlcmVkP0NpdChhKTpuOChhKSxsPXQub3JkZXJlZD9vPT09Ii4iPyIpIjoiLiI6eml0KGEpLGg9ZSYmYS5idWxsZXRMYXN0VXNlZD9vPT09YS5idWxsZXRMYXN0VXNlZDohMTtpZighdC5vcmRlcmVkKXtsZXQgZj10LmNoaWxkcmVuP3QuY2hpbGRyZW5bMF06dm9pZCAwO2lmKChvPT09IioifHxvPT09Ii0iKSYmZiYmKCFmLmNoaWxkcmVufHwhZi5jaGlsZHJlblswXSkmJmEuc3RhY2tbYS5zdGFjay5sZW5ndGgtMV09PT0ibGlzdCImJmEuc3RhY2tbYS5zdGFjay5sZW5ndGgtMl09PT0ibGlzdEl0ZW0iJiZhLnN0YWNrW2Euc3RhY2subGVuZ3RoLTNdPT09Imxpc3QiJiZhLnN0YWNrW2Euc3RhY2subGVuZ3RoLTRdPT09Imxpc3RJdGVtIiYmYS5pbmRleFN0YWNrW2EuaW5kZXhTdGFjay5sZW5ndGgtMV09PT0wJiZhLmluZGV4U3RhY2tbYS5pbmRleFN0YWNrLmxlbmd0aC0yXT09PTAmJmEuaW5kZXhTdGFja1thLmluZGV4U3RhY2subGVuZ3RoLTNdPT09MCYmKGg9ITApLERVKGEpPT09byYmZil7bGV0IHA9LTE7Zm9yKDsrK3A8dC5jaGlsZHJlbi5sZW5ndGg7KXtsZXQgZz10LmNoaWxkcmVuW3BdO2lmKGcmJmcudHlwZT09PSJsaXN0SXRlbSImJmcuY2hpbGRyZW4mJmcuY2hpbGRyZW5bMF0mJmcuY2hpbGRyZW5bMF0udHlwZT09PSJ0aGVtYXRpY0JyZWFrIil7aD0hMDticmVha319fX1oJiYobz1sKSxhLmJ1bGxldEN1cnJlbnQ9bztsZXQgdT1hLmNvbnRhaW5lckZsb3codCxyKTtyZXR1cm4gYS5idWxsZXRMYXN0VXNlZD1vLGEuYnVsbGV0Q3VycmVudD1uLHMoKSx1fXZhciBMaXQ9YygoKT0+eyRVKCk7U2l0KCk7X2l0KCk7SDFlKCk7aShUaXQsImxpc3QiKX0pO2Z1bmN0aW9uICRpdCh0KXtsZXQgZT10Lm9wdGlvbnMubGlzdEl0ZW1JbmRlbnR8fCJvbmUiO2lmKGUhPT0idGFiIiYmZSE9PSJvbmUiJiZlIT09Im1peGVkIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgaXRlbXMgd2l0aCBgIitlKyJgIGZvciBgb3B0aW9ucy5saXN0SXRlbUluZGVudGAsIGV4cGVjdGVkIGB0YWJgLCBgb25lYCwgb3IgYG1peGVkYCIpO3JldHVybiBlfXZhciBEaXQ9YygoKT0+e2koJGl0LCJjaGVja0xpc3RJdGVtSW5kZW50Iil9KTtmdW5jdGlvbiBBaXQodCxlLGEscil7bGV0IHM9JGl0KGEpLG49YS5idWxsZXRDdXJyZW50fHxuOChhKTtlJiZlLnR5cGU9PT0ibGlzdCImJmUub3JkZXJlZCYmKG49KHR5cGVvZiBlLnN0YXJ0PT0ibnVtYmVyIiYmZS5zdGFydD4tMT9lLnN0YXJ0OjEpKyhhLm9wdGlvbnMuaW5jcmVtZW50TGlzdE1hcmtlcj09PSExPzA6ZS5jaGlsZHJlbi5pbmRleE9mKHQpKStuKTtsZXQgbz1uLmxlbmd0aCsxOyhzPT09InRhYiJ8fHM9PT0ibWl4ZWQiJiYoZSYmZS50eXBlPT09Imxpc3QiJiZlLnNwcmVhZHx8dC5zcHJlYWQpKSYmKG89TWF0aC5jZWlsKG8vNCkqNCk7bGV0IGw9YS5jcmVhdGVUcmFja2VyKHIpO2wubW92ZShuKyIgIi5yZXBlYXQoby1uLmxlbmd0aCkpLGwuc2hpZnQobyk7bGV0IGg9YS5lbnRlcigibGlzdEl0ZW0iKSx1PWEuaW5kZW50TGluZXMoYS5jb250YWluZXJGbG93KHQsbC5jdXJyZW50KCkpLGYpO3JldHVybiBoKCksdTtmdW5jdGlvbiBmKHAsZyx2KXtyZXR1cm4gZz8odj8iIjoiICIucmVwZWF0KG8pKStwOih2P246bisiICIucmVwZWF0KG8tbi5sZW5ndGgpKStwfWkoZiwibWFwIil9dmFyIFBpdD1jKCgpPT57JFUoKTtEaXQoKTtpKEFpdCwibGlzdEl0ZW0iKX0pO2Z1bmN0aW9uIEVpdCh0LGUsYSxyKXtsZXQgcz1hLmVudGVyKCJwYXJhZ3JhcGgiKSxuPWEuZW50ZXIoInBocmFzaW5nIiksbz1hLmNvbnRhaW5lclBocmFzaW5nKHQscik7cmV0dXJuIG4oKSxzKCksb312YXIgSWl0PWMoKCk9PntpKEVpdCwicGFyYWdyYXBoIil9KTt2YXIgcTFlLE5pdD1jKCgpPT57eVUoKTtxMWU9c28oWyJicmVhayIsImRlbGV0ZSIsImVtcGhhc2lzIiwiZm9vdG5vdGUiLCJmb290bm90ZVJlZmVyZW5jZSIsImltYWdlIiwiaW1hZ2VSZWZlcmVuY2UiLCJpbmxpbmVDb2RlIiwiaW5saW5lTWF0aCIsImxpbmsiLCJsaW5rUmVmZXJlbmNlIiwibWR4SnN4VGV4dEVsZW1lbnQiLCJtZHhUZXh0RXhwcmVzc2lvbiIsInN0cm9uZyIsInRleHQiLCJ0ZXh0RGlyZWN0aXZlIl0pfSk7dmFyIFJpdD1jKCgpPT57Tml0KCl9KTtmdW5jdGlvbiBGaXQodCxlLGEscil7cmV0dXJuKHQuY2hpbGRyZW4uc29tZShmdW5jdGlvbihvKXtyZXR1cm4gcTFlKG8pfSk/YS5jb250YWluZXJQaHJhc2luZzphLmNvbnRhaW5lckZsb3cpLmNhbGwoYSx0LHIpfXZhciBPaXQ9YygoKT0+e1JpdCgpO2koRml0LCJyb290Iil9KTtmdW5jdGlvbiBCaXQodCl7bGV0IGU9dC5vcHRpb25zLnN0cm9uZ3x8IioiO2lmKGUhPT0iKiImJmUhPT0iXyIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIHN0cm9uZyB3aXRoIGAiK2UrImAgZm9yIGBvcHRpb25zLnN0cm9uZ2AsIGV4cGVjdGVkIGAqYCwgb3IgYF9gIik7cmV0dXJuIGV9dmFyIEhpdD1jKCgpPT57aShCaXQsImNoZWNrU3Ryb25nIil9KTtmdW5jdGlvbiBWMWUodCxlLGEscil7bGV0IHM9Qml0KGEpLG49YS5lbnRlcigic3Ryb25nIiksbz1hLmNyZWF0ZVRyYWNrZXIociksbD1vLm1vdmUocytzKSxoPW8ubW92ZShhLmNvbnRhaW5lclBocmFzaW5nKHQse2FmdGVyOnMsYmVmb3JlOmwsLi4uby5jdXJyZW50KCl9KSksdT1oLmNoYXJDb2RlQXQoMCksZj1vOChyLmJlZm9yZS5jaGFyQ29kZUF0KHIuYmVmb3JlLmxlbmd0aC0xKSx1LHMpO2YuaW5zaWRlJiYoaD1taSh1KStoLnNsaWNlKDEpKTtsZXQgcD1oLmNoYXJDb2RlQXQoaC5sZW5ndGgtMSksZz1vOChyLmFmdGVyLmNoYXJDb2RlQXQoMCkscCxzKTtnLmluc2lkZSYmKGg9aC5zbGljZSgwLC0xKSttaShwKSk7bGV0IHY9by5tb3ZlKHMrcyk7cmV0dXJuIG4oKSxhLmF0dGVudGlvbkVuY29kZVN1cnJvdW5kaW5nSW5mbz17YWZ0ZXI6Zy5vdXRzaWRlLGJlZm9yZTpmLm91dHNpZGV9LGwraCt2fWZ1bmN0aW9uIEM4YSh0LGUsYSl7cmV0dXJuIGEub3B0aW9ucy5zdHJvbmd8fCIqIn12YXIgcWl0PWMoKCk9PntIaXQoKTtzOCgpOyQxZSgpO1YxZS5wZWVrPUM4YTtpKFYxZSwic3Ryb25nIik7aShDOGEsInN0cm9uZ1BlZWsiKX0pO2Z1bmN0aW9uIFZpdCh0LGUsYSxyKXtyZXR1cm4gYS5zYWZlKHQudmFsdWUscil9dmFyIGppdD1jKCgpPT57aShWaXQsInRleHQiKX0pO2Z1bmN0aW9uIFVpdCh0KXtsZXQgZT10Lm9wdGlvbnMucnVsZVJlcGV0aXRpb258fDM7aWYoZTwzKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNlcmlhbGl6ZSBydWxlcyB3aXRoIHJlcGV0aXRpb24gYCIrZSsiYCBmb3IgYG9wdGlvbnMucnVsZVJlcGV0aXRpb25gLCBleHBlY3RlZCBgM2Agb3IgbW9yZSIpO3JldHVybiBlfXZhciBXaXQ9YygoKT0+e2koVWl0LCJjaGVja1J1bGVSZXBldGl0aW9uIil9KTtmdW5jdGlvbiBHaXQodCxlLGEpe2xldCByPShEVShhKSsoYS5vcHRpb25zLnJ1bGVTcGFjZXM/IiAiOiIiKSkucmVwZWF0KFVpdChhKSk7cmV0dXJuIGEub3B0aW9ucy5ydWxlU3BhY2VzP3Iuc2xpY2UoMCwtMSk6cn12YXIgWWl0PWMoKCk9PntXaXQoKTtIMWUoKTtpKEdpdCwidGhlbWF0aWNCcmVhayIpfSk7dmFyIHcwLGoxZT1jKCgpPT57S3J0KCk7SnJ0KCk7c2l0KCk7bml0KCk7ZGl0KCk7Z2l0KCk7Yml0KCk7dml0KCk7eGl0KCk7eWl0KCk7TWl0KCk7a2l0KCk7TGl0KCk7UGl0KCk7SWl0KCk7T2l0KCk7cWl0KCk7aml0KCk7WWl0KCk7dzA9e2Jsb2NrcXVvdGU6WHJ0LGJyZWFrOlQxZSxjb2RlOmlpdCxkZWZpbml0aW9uOm9pdCxlbXBoYXNpczpEMWUsaGFyZEJyZWFrOlQxZSxoZWFkaW5nOm1pdCxodG1sOkUxZSxpbWFnZTpJMWUsaW1hZ2VSZWZlcmVuY2U6TjFlLGlubGluZUNvZGU6UjFlLGxpbms6TzFlLGxpbmtSZWZlcmVuY2U6QjFlLGxpc3Q6VGl0LGxpc3RJdGVtOkFpdCxwYXJhZ3JhcGg6RWl0LHJvb3Q6Rml0LHN0cm9uZzpWMWUsdGV4dDpWaXQsdGhlbWF0aWNCcmVhazpHaXR9fSk7ZnVuY3Rpb24gXzhhKHQsZSxhLHIpe2lmKGUudHlwZT09PSJjb2RlIiYmc2YoZSxyKSYmKHQudHlwZT09PSJsaXN0Inx8dC50eXBlPT09ZS50eXBlJiZzZih0LHIpKSlyZXR1cm4hMTtpZigic3ByZWFkImluIGEmJnR5cGVvZiBhLnNwcmVhZD09ImJvb2xlYW4iKXJldHVybiB0LnR5cGU9PT0icGFyYWdyYXBoIiYmKHQudHlwZT09PWUudHlwZXx8ZS50eXBlPT09ImRlZmluaXRpb24ifHxlLnR5cGU9PT0iaGVhZGluZyImJkxVKGUscikpP3ZvaWQgMDphLnNwcmVhZD8xOjB9dmFyIFppdCxYaXQ9YygoKT0+e0wxZSgpO1AxZSgpO1ppdD1bXzhhXTtpKF84YSwiam9pbkRlZmF1bHRzIil9KTt2YXIgTTAsS2l0LFFpdD1jKCgpPT57TTA9WyJhdXRvbGluayIsImRlc3RpbmF0aW9uTGl0ZXJhbCIsImRlc3RpbmF0aW9uUmF3IiwicmVmZXJlbmNlIiwidGl0bGVRdW90ZSIsInRpdGxlQXBvc3Ryb3BoZSJdLEtpdD1be2NoYXJhY3RlcjoiCSIsYWZ0ZXI6IltcXHJcXG5dIixpbkNvbnN0cnVjdDoicGhyYXNpbmcifSx7Y2hhcmFjdGVyOiIJIixiZWZvcmU6IltcXHJcXG5dIixpbkNvbnN0cnVjdDoicGhyYXNpbmcifSx7Y2hhcmFjdGVyOiIJIixpbkNvbnN0cnVjdDpbImNvZGVGZW5jZWRMYW5nR3JhdmVBY2NlbnQiLCJjb2RlRmVuY2VkTGFuZ1RpbGRlIl19LHtjaGFyYWN0ZXI6IlxyIixpbkNvbnN0cnVjdDpbImNvZGVGZW5jZWRMYW5nR3JhdmVBY2NlbnQiLCJjb2RlRmVuY2VkTGFuZ1RpbGRlIiwiY29kZUZlbmNlZE1ldGFHcmF2ZUFjY2VudCIsImNvZGVGZW5jZWRNZXRhVGlsZGUiLCJkZXN0aW5hdGlvbkxpdGVyYWwiLCJoZWFkaW5nQXR4Il19LHtjaGFyYWN0ZXI6YApgLGluQ29uc3RydWN0OlsiY29kZUZlbmNlZExhbmdHcmF2ZUFjY2VudCIsImNvZGVGZW5jZWRMYW5nVGlsZGUiLCJjb2RlRmVuY2VkTWV0YUdyYXZlQWNjZW50IiwiY29kZUZlbmNlZE1ldGFUaWxkZSIsImRlc3RpbmF0aW9uTGl0ZXJhbCIsImhlYWRpbmdBdHgiXX0se2NoYXJhY3RlcjoiICIsYWZ0ZXI6IltcXHJcXG5dIixpbkNvbnN0cnVjdDoicGhyYXNpbmcifSx7Y2hhcmFjdGVyOiIgIixiZWZvcmU6IltcXHJcXG5dIixpbkNvbnN0cnVjdDoicGhyYXNpbmcifSx7Y2hhcmFjdGVyOiIgIixpbkNvbnN0cnVjdDpbImNvZGVGZW5jZWRMYW5nR3JhdmVBY2NlbnQiLCJjb2RlRmVuY2VkTGFuZ1RpbGRlIl19LHtjaGFyYWN0ZXI6IiEiLGFmdGVyOiJcXFsiLGluQ29uc3RydWN0OiJwaHJhc2luZyIsbm90SW5Db25zdHJ1Y3Q6TTB9LHtjaGFyYWN0ZXI6JyInLGluQ29uc3RydWN0OiJ0aXRsZVF1b3RlIn0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiIjIn0se2NoYXJhY3RlcjoiIyIsaW5Db25zdHJ1Y3Q6ImhlYWRpbmdBdHgiLGFmdGVyOmAoPzpbXHIKXXwkKWB9LHtjaGFyYWN0ZXI6IiYiLGFmdGVyOiJbI0EtWmEtel0iLGluQ29uc3RydWN0OiJwaHJhc2luZyJ9LHtjaGFyYWN0ZXI6IiciLGluQ29uc3RydWN0OiJ0aXRsZUFwb3N0cm9waGUifSx7Y2hhcmFjdGVyOiIoIixpbkNvbnN0cnVjdDoiZGVzdGluYXRpb25SYXcifSx7YmVmb3JlOiJcXF0iLGNoYXJhY3RlcjoiKCIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDpNMH0se2F0QnJlYWs6ITAsYmVmb3JlOiJcXGQrIixjaGFyYWN0ZXI6IikifSx7Y2hhcmFjdGVyOiIpIixpbkNvbnN0cnVjdDoiZGVzdGluYXRpb25SYXcifSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6IioiLGFmdGVyOmAoPzpbIAlccgoqXSlgfSx7Y2hhcmFjdGVyOiIqIixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0Ok0wfSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6IisiLGFmdGVyOmAoPzpbIAlccgpdKWB9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiLSIsYWZ0ZXI6YCg/OlsgCVxyCi1dKWB9LHthdEJyZWFrOiEwLGJlZm9yZToiXFxkKyIsY2hhcmFjdGVyOiIuIixhZnRlcjpgKD86WyAJXHIKXXwkKWB9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiPCIsYWZ0ZXI6IlshLz9BLVphLXpdIn0se2NoYXJhY3RlcjoiPCIsYWZ0ZXI6IlshLz9BLVphLXpdIixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0Ok0wfSx7Y2hhcmFjdGVyOiI8IixpbkNvbnN0cnVjdDoiZGVzdGluYXRpb25MaXRlcmFsIn0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiI9In0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiI+In0se2NoYXJhY3RlcjoiPiIsaW5Db25zdHJ1Y3Q6ImRlc3RpbmF0aW9uTGl0ZXJhbCJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiWyJ9LHtjaGFyYWN0ZXI6IlsiLGluQ29uc3RydWN0OiJwaHJhc2luZyIsbm90SW5Db25zdHJ1Y3Q6TTB9LHtjaGFyYWN0ZXI6IlsiLGluQ29uc3RydWN0OlsibGFiZWwiLCJyZWZlcmVuY2UiXX0se2NoYXJhY3RlcjoiXFwiLGFmdGVyOiJbXFxyXFxuXSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIn0se2NoYXJhY3RlcjoiXSIsaW5Db25zdHJ1Y3Q6WyJsYWJlbCIsInJlZmVyZW5jZSJdfSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6Il8ifSx7Y2hhcmFjdGVyOiJfIixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0Ok0wfSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6ImAifSx7Y2hhcmFjdGVyOiJgIixpbkNvbnN0cnVjdDpbImNvZGVGZW5jZWRMYW5nR3JhdmVBY2NlbnQiLCJjb2RlRmVuY2VkTWV0YUdyYXZlQWNjZW50Il19LHtjaGFyYWN0ZXI6ImAiLGluQ29uc3RydWN0OiJwaHJhc2luZyIsbm90SW5Db25zdHJ1Y3Q6TTB9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoifiJ9XX0pO2Z1bmN0aW9uIHFuKHQpe2xldCBlPSImIit0KyI7IjtKaXQuaW5uZXJIVE1MPWU7bGV0IGE9Sml0LnRleHRDb250ZW50O3JldHVybiBhLmNoYXJDb2RlQXQoYS5sZW5ndGgtMSk9PT01OSYmdCE9PSJzZW1pInx8YT09PWU/ITE6YX12YXIgSml0LG5mPWMoKCk9PntKaXQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaSIpO2kocW4sImRlY29kZU5hbWVkQ2hhcmFjdGVyUmVmZXJlbmNlIil9KTtmdW5jdGlvbiBsOCh0LGUpe2xldCBhPU51bWJlci5wYXJzZUludCh0LGUpO3JldHVybiBhPDl8fGE9PT0xMXx8YT4xMyYmYTwzMnx8YT4xMjYmJmE8MTYwfHxhPjU1Mjk1JiZhPDU3MzQ0fHxhPjY0OTc1JiZhPDY1MDA4fHwoYSY2NTUzNSk9PT02NTUzNXx8KGEmNjU1MzUpPT09NjU1MzR8fGE+MTExNDExMT8iXHVGRkZEIjpTdHJpbmcuZnJvbUNvZGVQb2ludChhKX12YXIgQVU9YygoKT0+e2kobDgsImRlY29kZU51bWVyaWNDaGFyYWN0ZXJSZWZlcmVuY2UiKX0pO2Z1bmN0aW9uIFBVKHQpe3JldHVybiB0LnJlcGxhY2UoVDhhLEw4YSl9ZnVuY3Rpb24gTDhhKHQsZSxhKXtpZihlKXJldHVybiBlO2lmKGEuY2hhckNvZGVBdCgwKT09PTM1KXtsZXQgcz1hLmNoYXJDb2RlQXQoMSksbj1zPT09MTIwfHxzPT09ODg7cmV0dXJuIGw4KGEuc2xpY2Uobj8yOjEpLG4/MTY6MTApfXJldHVybiBxbihhKXx8dH12YXIgVDhhLFUxZT1jKCgpPT57bmYoKTtBVSgpO1Q4YT0vXFwoWyEtLzotQFstYHstfl0pfCYoIyg/OlxkezEsN318eFtcZGEtZl17MSw2fSl8W1xkYS16XXsxLDMxfSk7L2dpO2koUFUsImRlY29kZVN0cmluZyIpO2koTDhhLCJkZWNvZGUiKX0pO2Z1bmN0aW9uIGVzdCh0KXtyZXR1cm4gdC5sYWJlbHx8IXQuaWRlbnRpZmllcj90LmxhYmVsfHwiIjpQVSh0LmlkZW50aWZpZXIpfXZhciB0c3Q9YygoKT0+e1UxZSgpO2koZXN0LCJhc3NvY2lhdGlvbiIpfSk7ZnVuY3Rpb24gYXN0KHQpe2lmKCF0Ll9jb21waWxlZCl7bGV0IGU9KHQuYXRCcmVhaz8iW1xcclxcbl1bXFx0IF0qIjoiIikrKHQuYmVmb3JlPyIoPzoiK3QuYmVmb3JlKyIpIjoiIik7dC5fY29tcGlsZWQ9bmV3IFJlZ0V4cCgoZT8iKCIrZSsiKSI6IiIpKygvW3xcXHt9KClbXF1eJCsqPy4tXS8udGVzdCh0LmNoYXJhY3Rlcik/IlxcIjoiIikrdC5jaGFyYWN0ZXIrKHQuYWZ0ZXI/Iig/OiIrdC5hZnRlcisiKSI6IiIpLCJnIil9cmV0dXJuIHQuX2NvbXBpbGVkfXZhciByc3Q9YygoKT0+e2koYXN0LCJjb21waWxlUGF0dGVybiIpfSk7ZnVuY3Rpb24gaXN0KHQsZSxhKXtsZXQgcj1lLmluZGV4U3RhY2sscz10LmNoaWxkcmVufHxbXSxuPVtdLG89LTEsbD1hLmJlZm9yZSxoO3IucHVzaCgtMSk7bGV0IHU9ZS5jcmVhdGVUcmFja2VyKGEpO2Zvcig7KytvPHMubGVuZ3RoOyl7bGV0IGY9c1tvXSxwO2lmKHJbci5sZW5ndGgtMV09byxvKzE8cy5sZW5ndGgpe2xldCB4PWUuaGFuZGxlLmhhbmRsZXJzW3NbbysxXS50eXBlXTt4JiZ4LnBlZWsmJih4PXgucGVlaykscD14P3goc1tvKzFdLHQsZSx7YmVmb3JlOiIiLGFmdGVyOiIiLC4uLnUuY3VycmVudCgpfSkuY2hhckF0KDApOiIifWVsc2UgcD1hLmFmdGVyO24ubGVuZ3RoPjAmJihsPT09IlxyInx8bD09PWAKYCkmJmYudHlwZT09PSJodG1sIiYmKG5bbi5sZW5ndGgtMV09bltuLmxlbmd0aC0xXS5yZXBsYWNlKC8oXHI/XG58XHIpJC8sIiAiKSxsPSIgIix1PWUuY3JlYXRlVHJhY2tlcihhKSx1Lm1vdmUobi5qb2luKCIiKSkpO2xldCBnPWUuaGFuZGxlKGYsdCxlLHsuLi51LmN1cnJlbnQoKSxhZnRlcjpwLGJlZm9yZTpsfSk7aCYmaD09PWcuc2xpY2UoMCwxKSYmKGc9bWkoaC5jaGFyQ29kZUF0KDApKStnLnNsaWNlKDEpKTtsZXQgdj1lLmF0dGVudGlvbkVuY29kZVN1cnJvdW5kaW5nSW5mbztlLmF0dGVudGlvbkVuY29kZVN1cnJvdW5kaW5nSW5mbz12b2lkIDAsaD12b2lkIDAsdiYmKG4ubGVuZ3RoPjAmJnYuYmVmb3JlJiZsPT09bltuLmxlbmd0aC0xXS5zbGljZSgtMSkmJihuW24ubGVuZ3RoLTFdPW5bbi5sZW5ndGgtMV0uc2xpY2UoMCwtMSkrbWkobC5jaGFyQ29kZUF0KDApKSksdi5hZnRlciYmKGg9cCkpLHUubW92ZShnKSxuLnB1c2goZyksbD1nLnNsaWNlKC0xKX1yZXR1cm4gci5wb3AoKSxuLmpvaW4oIiIpfXZhciBzc3Q9YygoKT0+e3M4KCk7aShpc3QsImNvbnRhaW5lclBocmFzaW5nIil9KTtmdW5jdGlvbiBvc3QodCxlLGEpe2xldCByPWUuaW5kZXhTdGFjayxzPXQuY2hpbGRyZW58fFtdLG49ZS5jcmVhdGVUcmFja2VyKGEpLG89W10sbD0tMTtmb3Ioci5wdXNoKC0xKTsrK2w8cy5sZW5ndGg7KXtsZXQgaD1zW2xdO3Jbci5sZW5ndGgtMV09bCxvLnB1c2gobi5tb3ZlKGUuaGFuZGxlKGgsdCxlLHtiZWZvcmU6YApgLGFmdGVyOmAKYCwuLi5uLmN1cnJlbnQoKX0pKSksaC50eXBlIT09Imxpc3QiJiYoZS5idWxsZXRMYXN0VXNlZD12b2lkIDApLGw8cy5sZW5ndGgtMSYmby5wdXNoKG4ubW92ZSgkOGEoaCxzW2wrMV0sdCxlKSkpfXJldHVybiByLnBvcCgpLG8uam9pbigiIil9ZnVuY3Rpb24gJDhhKHQsZSxhLHIpe2xldCBzPXIuam9pbi5sZW5ndGg7Zm9yKDtzLS07KXtsZXQgbj1yLmpvaW5bc10odCxlLGEscik7aWYobj09PSEwfHxuPT09MSlicmVhaztpZih0eXBlb2Ygbj09Im51bWJlciIpcmV0dXJuYApgLnJlcGVhdCgxK24pO2lmKG49PT0hMSlyZXR1cm5gCgo8IS0tLS0+CgpgfXJldHVybmAKCmB9dmFyIG5zdD1jKCgpPT57aShvc3QsImNvbnRhaW5lckZsb3ciKTtpKCQ4YSwiYmV0d2VlbiIpfSk7ZnVuY3Rpb24gbHN0KHQsZSl7bGV0IGE9W10scj0wLHM9MCxuO2Zvcig7bj1EOGEuZXhlYyh0KTspbyh0LnNsaWNlKHIsbi5pbmRleCkpLGEucHVzaChuWzBdKSxyPW4uaW5kZXgrblswXS5sZW5ndGgscysrO3JldHVybiBvKHQuc2xpY2UocikpLGEuam9pbigiIik7ZnVuY3Rpb24gbyhsKXthLnB1c2goZShsLHMsIWwpKX1pKG8sIm9uZSIpfXZhciBEOGEsY3N0PWMoKCk9PntEOGE9L1xyP1xufFxyL2c7aShsc3QsImluZGVudExpbmVzIil9KTtmdW5jdGlvbiBwc3QodCxlLGEpe2xldCByPShhLmJlZm9yZXx8IiIpKyhlfHwiIikrKGEuYWZ0ZXJ8fCIiKSxzPVtdLG49W10sbz17fSxsPS0xO2Zvcig7KytsPHQudW5zYWZlLmxlbmd0aDspe2xldCBmPXQudW5zYWZlW2xdO2lmKCFTVSh0LnN0YWNrLGYpKWNvbnRpbnVlO2xldCBwPXQuY29tcGlsZVBhdHRlcm4oZiksZztmb3IoO2c9cC5leGVjKHIpOyl7bGV0IHY9ImJlZm9yZSJpbiBmfHwhIWYuYXRCcmVhayx4PSJhZnRlciJpbiBmLGI9Zy5pbmRleCsodj9nWzFdLmxlbmd0aDowKTtzLmluY2x1ZGVzKGIpPyhvW2JdLmJlZm9yZSYmIXYmJihvW2JdLmJlZm9yZT0hMSksb1tiXS5hZnRlciYmIXgmJihvW2JdLmFmdGVyPSExKSk6KHMucHVzaChiKSxvW2JdPXtiZWZvcmU6dixhZnRlcjp4fSl9fXMuc29ydChBOGEpO2xldCBoPWEuYmVmb3JlP2EuYmVmb3JlLmxlbmd0aDowLHU9ci5sZW5ndGgtKGEuYWZ0ZXI/YS5hZnRlci5sZW5ndGg6MCk7Zm9yKGw9LTE7KytsPHMubGVuZ3RoOyl7bGV0IGY9c1tsXTtmPGh8fGY+PXV8fGYrMTx1JiZzW2wrMV09PT1mKzEmJm9bZl0uYWZ0ZXImJiFvW2YrMV0uYmVmb3JlJiYhb1tmKzFdLmFmdGVyfHxzW2wtMV09PT1mLTEmJm9bZl0uYmVmb3JlJiYhb1tmLTFdLmJlZm9yZSYmIW9bZi0xXS5hZnRlcnx8KGghPT1mJiZuLnB1c2goZHN0KHIuc2xpY2UoaCxmKSwiXFwiKSksaD1mLC9bIS0vOi1AWy1gey1+XS8udGVzdChyLmNoYXJBdChmKSkmJighYS5lbmNvZGV8fCFhLmVuY29kZS5pbmNsdWRlcyhyLmNoYXJBdChmKSkpP24ucHVzaCgiXFwiKToobi5wdXNoKG1pKHIuY2hhckNvZGVBdChmKSkpLGgrKykpfXJldHVybiBuLnB1c2goZHN0KHIuc2xpY2UoaCx1KSxhLmFmdGVyKSksbi5qb2luKCIiKX1mdW5jdGlvbiBBOGEodCxlKXtyZXR1cm4gdC1lfWZ1bmN0aW9uIGRzdCh0LGUpe2xldCBhPS9cXCg/PVshLS86LUBbLWB7LX5dKS9nLHI9W10scz1bXSxuPXQrZSxvPS0xLGw9MCxoO2Zvcig7aD1hLmV4ZWMobik7KXIucHVzaChoLmluZGV4KTtmb3IoOysrbzxyLmxlbmd0aDspbCE9PXJbb10mJnMucHVzaCh0LnNsaWNlKGwscltvXSkpLHMucHVzaCgiXFwiKSxsPXJbb107cmV0dXJuIHMucHVzaCh0LnNsaWNlKGwpKSxzLmpvaW4oIiIpfXZhciB1c3Q9YygoKT0+e3M4KCk7XzFlKCk7aShwc3QsInNhZmUiKTtpKEE4YSwibnVtZXJpY2FsIik7aShkc3QsImVzY2FwZUJhY2tzbGFzaGVzIil9KTtmdW5jdGlvbiBmc3QodCl7bGV0IGU9dHx8e30sYT1lLm5vd3x8e30scj1lLmxpbmVTaGlmdHx8MCxzPWEubGluZXx8MSxuPWEuY29sdW1ufHwxO3JldHVybnttb3ZlOmgsY3VycmVudDpvLHNoaWZ0Omx9O2Z1bmN0aW9uIG8oKXtyZXR1cm57bm93OntsaW5lOnMsY29sdW1uOm59LGxpbmVTaGlmdDpyfX1mdW5jdGlvbiBsKHUpe3IrPXV9ZnVuY3Rpb24gaCh1KXtsZXQgZj11fHwiIixwPWYuc3BsaXQoL1xyP1xufFxyL2cpLGc9cFtwLmxlbmd0aC0xXTtyZXR1cm4gcys9cC5sZW5ndGgtMSxuPXAubGVuZ3RoPT09MT9uK2cubGVuZ3RoOjErZy5sZW5ndGgrcixmfX12YXIgaHN0PWMoKCk9PntpKGZzdCwidHJhY2siKX0pO2Z1bmN0aW9uIFcxZSh0LGUpe2xldCBhPWV8fHt9LHI9e2Fzc29jaWF0aW9uSWQ6ZXN0LGNvbnRhaW5lclBocmFzaW5nOk44YSxjb250YWluZXJGbG93OlI4YSxjcmVhdGVUcmFja2VyOmZzdCxjb21waWxlUGF0dGVybjphc3QsZW50ZXI6bixoYW5kbGVyczp7Li4udzB9LGhhbmRsZTp2b2lkIDAsaW5kZW50TGluZXM6bHN0LGluZGV4U3RhY2s6W10sam9pbjpbLi4uWml0XSxvcHRpb25zOnt9LHNhZmU6RjhhLHN0YWNrOltdLHVuc2FmZTpbLi4uS2l0XX07QzFlKHIsYSksci5vcHRpb25zLnRpZ2h0RGVmaW5pdGlvbnMmJnIuam9pbi5wdXNoKEk4YSksci5oYW5kbGU9elUoInR5cGUiLHtpbnZhbGlkOlA4YSx1bmtub3duOkU4YSxoYW5kbGVyczpyLmhhbmRsZXJzfSk7bGV0IHM9ci5oYW5kbGUodCx2b2lkIDAscix7YmVmb3JlOmAKYCxhZnRlcjpgCmAsbm93OntsaW5lOjEsY29sdW1uOjF9LGxpbmVTaGlmdDowfSk7cmV0dXJuIHMmJnMuY2hhckNvZGVBdChzLmxlbmd0aC0xKSE9PTEwJiZzLmNoYXJDb2RlQXQocy5sZW5ndGgtMSkhPT0xMyYmKHMrPWAKYCkscztmdW5jdGlvbiBuKG8pe3JldHVybiByLnN0YWNrLnB1c2gobyksbDtmdW5jdGlvbiBsKCl7ci5zdGFjay5wb3AoKX1pKGwsImV4aXQiKX1pKG4sImVudGVyIil9ZnVuY3Rpb24gUDhhKHQpe3Rocm93IG5ldyBFcnJvcigiQ2Fubm90IGhhbmRsZSB2YWx1ZSBgIit0KyJgLCBleHBlY3RlZCBub2RlIil9ZnVuY3Rpb24gRThhKHQpe2xldCBlPXQ7dGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgaGFuZGxlIHVua25vd24gbm9kZSBgIitlLnR5cGUrImAiKX1mdW5jdGlvbiBJOGEodCxlKXtpZih0LnR5cGU9PT0iZGVmaW5pdGlvbiImJnQudHlwZT09PWUudHlwZSlyZXR1cm4gMH1mdW5jdGlvbiBOOGEodCxlKXtyZXR1cm4gaXN0KHQsdGhpcyxlKX1mdW5jdGlvbiBSOGEodCxlKXtyZXR1cm4gb3N0KHQsdGhpcyxlKX1mdW5jdGlvbiBGOGEodCxlKXtyZXR1cm4gcHN0KHRoaXMsdCxlKX12YXIgbXN0PWMoKCk9PntTMWUoKTtacnQoKTtqMWUoKTtYaXQoKTtRaXQoKTt0c3QoKTtyc3QoKTtzc3QoKTtuc3QoKTtjc3QoKTt1c3QoKTtoc3QoKTtpKFcxZSwidG9NYXJrZG93biIpO2koUDhhLCJpbnZhbGlkIik7aShFOGEsInVua25vd24iKTtpKEk4YSwiam9pbkRlZmluaXRpb24iKTtpKE44YSwiY29udGFpbmVyUGhyYXNpbmdCb3VuZCIpO2koUjhhLCJjb250YWluZXJGbG93Qm91bmQiKTtpKEY4YSwic2FmZUJvdW5kIil9KTt2YXIgRVU9YygoKT0+e21zdCgpO2oxZSgpfSk7ZnVuY3Rpb24gWTFlKCl7cmV0dXJue2VudGVyOnt0YWJsZTpPOGEsdGFibGVEYXRhOmdzdCx0YWJsZUhlYWRlcjpnc3QsdGFibGVSb3c6SDhhfSxleGl0Ontjb2RlVGV4dDpxOGEsdGFibGU6QjhhLHRhYmxlRGF0YTpHMWUsdGFibGVIZWFkZXI6RzFlLHRhYmxlUm93OkcxZX19fWZ1bmN0aW9uIE84YSh0KXtsZXQgZT10Ll9hbGlnbjt0aGlzLmVudGVyKHt0eXBlOiJ0YWJsZSIsYWxpZ246ZS5tYXAoZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT0ibm9uZSI/bnVsbDphfSksY2hpbGRyZW46W119LHQpLHRoaXMuZGF0YS5pblRhYmxlPSEwfWZ1bmN0aW9uIEI4YSh0KXt0aGlzLmV4aXQodCksdGhpcy5kYXRhLmluVGFibGU9dm9pZCAwfWZ1bmN0aW9uIEg4YSh0KXt0aGlzLmVudGVyKHt0eXBlOiJ0YWJsZVJvdyIsY2hpbGRyZW46W119LHQpfWZ1bmN0aW9uIEcxZSh0KXt0aGlzLmV4aXQodCl9ZnVuY3Rpb24gZ3N0KHQpe3RoaXMuZW50ZXIoe3R5cGU6InRhYmxlQ2VsbCIsY2hpbGRyZW46W119LHQpfWZ1bmN0aW9uIHE4YSh0KXtsZXQgZT10aGlzLnJlc3VtZSgpO3RoaXMuZGF0YS5pblRhYmxlJiYoZT1lLnJlcGxhY2UoL1xcKFtcXHxdKS9nLFY4YSkpO2xldCBhPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07YS50eXBlLGEudmFsdWU9ZSx0aGlzLmV4aXQodCl9ZnVuY3Rpb24gVjhhKHQsZSl7cmV0dXJuIGU9PT0ifCI/ZTp0fWZ1bmN0aW9uIFoxZSh0KXtsZXQgZT10fHx7fSxhPWUudGFibGVDZWxsUGFkZGluZyxyPWUudGFibGVQaXBlQWxpZ24scz1lLnN0cmluZ0xlbmd0aCxuPWE/IiAiOiJ8IjtyZXR1cm57dW5zYWZlOlt7Y2hhcmFjdGVyOiJcciIsaW5Db25zdHJ1Y3Q6InRhYmxlQ2VsbCJ9LHtjaGFyYWN0ZXI6YApgLGluQ29uc3RydWN0OiJ0YWJsZUNlbGwifSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6InwiLGFmdGVyOiJbCSA6LV0ifSx7Y2hhcmFjdGVyOiJ8IixpbkNvbnN0cnVjdDoidGFibGVDZWxsIn0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiI6IixhZnRlcjoiLSJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiLSIsYWZ0ZXI6Ils6fC1dIn1dLGhhbmRsZXJzOntpbmxpbmVDb2RlOmcsdGFibGU6byx0YWJsZUNlbGw6aCx0YWJsZVJvdzpsfX07ZnVuY3Rpb24gbyh2LHgsYixtKXtyZXR1cm4gdShmKHYsYixtKSx2LmFsaWduKX1mdW5jdGlvbiBsKHYseCxiLG0pe2xldCB5PXAodixiLG0pLE09dShbeV0pO3JldHVybiBNLnNsaWNlKDAsTS5pbmRleE9mKGAKYCkpfWZ1bmN0aW9uIGgodix4LGIsbSl7bGV0IHk9Yi5lbnRlcigidGFibGVDZWxsIiksTT1iLmVudGVyKCJwaHJhc2luZyIpLGs9Yi5jb250YWluZXJQaHJhc2luZyh2LHsuLi5tLGJlZm9yZTpuLGFmdGVyOm59KTtyZXR1cm4gTSgpLHkoKSxrfWZ1bmN0aW9uIHUodix4KXtyZXR1cm4gVXJ0KHYse2FsaWduOngsYWxpZ25EZWxpbWl0ZXJzOnIscGFkZGluZzphLHN0cmluZ0xlbmd0aDpzfSl9ZnVuY3Rpb24gZih2LHgsYil7bGV0IG09di5jaGlsZHJlbix5PS0xLE09W10saz14LmVudGVyKCJ0YWJsZSIpO2Zvcig7Kyt5PG0ubGVuZ3RoOylNW3ldPXAobVt5XSx4LGIpO3JldHVybiBrKCksTX1mdW5jdGlvbiBwKHYseCxiKXtsZXQgbT12LmNoaWxkcmVuLHk9LTEsTT1bXSxrPXguZW50ZXIoInRhYmxlUm93Iik7Zm9yKDsrK3k8bS5sZW5ndGg7KU1beV09aChtW3ldLHYseCxiKTtyZXR1cm4gaygpLE19ZnVuY3Rpb24gZyh2LHgsYil7bGV0IG09dzAuaW5saW5lQ29kZSh2LHgsYik7cmV0dXJuIGIuc3RhY2suaW5jbHVkZXMoInRhYmxlQ2VsbCIpJiYobT1tLnJlcGxhY2UoL1x8L2csIlxcJCYiKSksbX19dmFyIGJzdD1jKCgpPT57Rm4oKTtXcnQoKTtFVSgpO2koWTFlLCJnZm1UYWJsZUZyb21NYXJrZG93biIpO2koTzhhLCJlbnRlclRhYmxlIik7aShCOGEsImV4aXRUYWJsZSIpO2koSDhhLCJlbnRlclJvdyIpO2koRzFlLCJleGl0Iik7aShnc3QsImVudGVyQ2VsbCIpO2kocThhLCJleGl0Q29kZVRleHQiKTtpKFY4YSwicmVwbGFjZSIpO2koWjFlLCJnZm1UYWJsZVRvTWFya2Rvd24iKX0pO3ZhciB2c3Q9YygoKT0+e2JzdCgpfSk7ZnVuY3Rpb24gWDFlKCl7cmV0dXJue2V4aXQ6e3Rhc2tMaXN0Q2hlY2tWYWx1ZUNoZWNrZWQ6eHN0LHRhc2tMaXN0Q2hlY2tWYWx1ZVVuY2hlY2tlZDp4c3QscGFyYWdyYXBoOmo4YX19fWZ1bmN0aW9uIEsxZSgpe3JldHVybnt1bnNhZmU6W3thdEJyZWFrOiEwLGNoYXJhY3RlcjoiLSIsYWZ0ZXI6Ils6fC1dIn1dLGhhbmRsZXJzOntsaXN0SXRlbTpVOGF9fX1mdW5jdGlvbiB4c3QodCl7bGV0IGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0yXTtlLnR5cGUsZS5jaGVja2VkPXQudHlwZT09PSJ0YXNrTGlzdENoZWNrVmFsdWVDaGVja2VkIn1mdW5jdGlvbiBqOGEodCl7bGV0IGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0yXTtpZihlJiZlLnR5cGU9PT0ibGlzdEl0ZW0iJiZ0eXBlb2YgZS5jaGVja2VkPT0iYm9vbGVhbiIpe2xldCBhPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07YS50eXBlO2xldCByPWEuY2hpbGRyZW5bMF07aWYociYmci50eXBlPT09InRleHQiKXtsZXQgcz1lLmNoaWxkcmVuLG49LTEsbztmb3IoOysrbjxzLmxlbmd0aDspe2xldCBsPXNbbl07aWYobC50eXBlPT09InBhcmFncmFwaCIpe289bDticmVha319bz09PWEmJihyLnZhbHVlPXIudmFsdWUuc2xpY2UoMSksci52YWx1ZS5sZW5ndGg9PT0wP2EuY2hpbGRyZW4uc2hpZnQoKTphLnBvc2l0aW9uJiZyLnBvc2l0aW9uJiZ0eXBlb2Ygci5wb3NpdGlvbi5zdGFydC5vZmZzZXQ9PSJudW1iZXIiJiYoci5wb3NpdGlvbi5zdGFydC5jb2x1bW4rKyxyLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCsrLGEucG9zaXRpb24uc3RhcnQ9T2JqZWN0LmFzc2lnbih7fSxyLnBvc2l0aW9uLnN0YXJ0KSkpfX10aGlzLmV4aXQodCl9ZnVuY3Rpb24gVThhKHQsZSxhLHIpe2xldCBzPXQuY2hpbGRyZW5bMF0sbj10eXBlb2YgdC5jaGVja2VkPT0iYm9vbGVhbiImJnMmJnMudHlwZT09PSJwYXJhZ3JhcGgiLG89IlsiKyh0LmNoZWNrZWQ/IngiOiIgIikrIl0gIixsPWEuY3JlYXRlVHJhY2tlcihyKTtuJiZsLm1vdmUobyk7bGV0IGg9dzAubGlzdEl0ZW0odCxlLGEsey4uLnIsLi4ubC5jdXJyZW50KCl9KTtyZXR1cm4gbiYmKGg9aC5yZXBsYWNlKC9eKD86WyorLV18XGQrXC4pKFtcclxuXXwgezEsM30pLyx1KSksaDtmdW5jdGlvbiB1KGYpe3JldHVybiBmK299aSh1LCJjaGVjayIpfXZhciB5c3Q9YygoKT0+e0ZuKCk7RVUoKTtpKFgxZSwiZ2ZtVGFza0xpc3RJdGVtRnJvbU1hcmtkb3duIik7aShLMWUsImdmbVRhc2tMaXN0SXRlbVRvTWFya2Rvd24iKTtpKHhzdCwiZXhpdENoZWNrIik7aShqOGEsImV4aXRQYXJhZ3JhcGhXaXRoVGFza0xpc3RJdGVtIik7aShVOGEsImxpc3RJdGVtV2l0aFRhc2tMaXN0SXRlbSIpfSk7dmFyIHdzdD1jKCgpPT57eXN0KCl9KTtmdW5jdGlvbiBRMWUoKXtyZXR1cm5beDFlKCksdzFlKCksazFlKCksWTFlKCksWDFlKCldfWZ1bmN0aW9uIEoxZSh0KXtyZXR1cm57ZXh0ZW5zaW9uczpbeTFlKCksTTFlKHQpLHoxZSgpLFoxZSh0KSxLMWUoKV19fXZhciBNc3Q9YygoKT0+e05ydCgpO0JydCgpO1ZydCgpO3ZzdCgpO3dzdCgpO2koUTFlLCJnZm1Gcm9tTWFya2Rvd24iKTtpKEoxZSwiZ2ZtVG9NYXJrZG93biIpfSk7dmFyIGtzdD1jKCgpPT57TXN0KCl9KTtmdW5jdGlvbiBsMSh0LGUsYSxyKXtsZXQgcz10Lmxlbmd0aCxuPTAsbztpZihlPDA/ZT0tZT5zPzA6cytlOmU9ZT5zP3M6ZSxhPWE+MD9hOjAsci5sZW5ndGg8MWU0KW89QXJyYXkuZnJvbShyKSxvLnVuc2hpZnQoZSxhKSx0LnNwbGljZSguLi5vKTtlbHNlIGZvcihhJiZ0LnNwbGljZShlLGEpO248ci5sZW5ndGg7KW89ci5zbGljZShuLG4rMWU0KSxvLnVuc2hpZnQoZSwwKSx0LnNwbGljZSguLi5vKSxuKz0xZTQsZSs9MWU0fWZ1bmN0aW9uIGcxKHQsZSl7cmV0dXJuIHQubGVuZ3RoPjA/KGwxKHQsdC5sZW5ndGgsMCxlKSx0KTplfXZhciBnMj1jKCgpPT57aShsMSwic3BsaWNlIik7aShnMSwicHVzaCIpfSk7ZnVuY3Rpb24gSVUodCl7bGV0IGU9e30sYT0tMTtmb3IoOysrYTx0Lmxlbmd0aDspVzhhKGUsdFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gVzhhKHQsZSl7bGV0IGE7Zm9yKGEgaW4gZSl7bGV0IHM9KGVyZS5jYWxsKHQsYSk/dFthXTp2b2lkIDApfHwodFthXT17fSksbj1lW2FdLG87aWYobilmb3IobyBpbiBuKXtlcmUuY2FsbChzLG8pfHwoc1tvXT1bXSk7bGV0IGw9bltvXTtHOGEoc1tvXSxBcnJheS5pc0FycmF5KGwpP2w6bD9bbF06W10pfX19ZnVuY3Rpb24gRzhhKHQsZSl7bGV0IGE9LTEscj1bXTtmb3IoOysrYTxlLmxlbmd0aDspKGVbYV0uYWRkPT09ImFmdGVyIj90OnIpLnB1c2goZVthXSk7bDEodCwwLDAscil9ZnVuY3Rpb24gTlUodCl7bGV0IGU9e30sYT0tMTtmb3IoOysrYTx0Lmxlbmd0aDspWThhKGUsdFthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gWThhKHQsZSl7bGV0IGE7Zm9yKGEgaW4gZSl7bGV0IHM9KGVyZS5jYWxsKHQsYSk/dFthXTp2b2lkIDApfHwodFthXT17fSksbj1lW2FdLG87aWYobilmb3IobyBpbiBuKXNbb109bltvXX19dmFyIGVyZSxSVT1jKCgpPT57ZzIoKTtlcmU9e30uaGFzT3duUHJvcGVydHk7aShJVSwiY29tYmluZUV4dGVuc2lvbnMiKTtpKFc4YSwic3ludGF4RXh0ZW5zaW9uIik7aShHOGEsImNvbnN0cnVjdHMiKTtpKE5VLCJjb21iaW5lSHRtbEV4dGVuc2lvbnMiKTtpKFk4YSwiaHRtbEV4dGVuc2lvbiIpfSk7ZnVuY3Rpb24gcnJlKCl7cmV0dXJue3RleHQ6YjJ9fWZ1bmN0aW9uIEs4YSh0LGUsYSl7bGV0IHI9dGhpcyxzLG47cmV0dXJuIG87ZnVuY3Rpb24gbyhwKXtyZXR1cm4hdHJlKHApfHwhRHN0LmNhbGwocixyLnByZXZpb3VzKXx8YXJlKHIuZXZlbnRzKT9hKHApOih0LmVudGVyKCJsaXRlcmFsQXV0b2xpbmsiKSx0LmVudGVyKCJsaXRlcmFsQXV0b2xpbmtFbWFpbCIpLGwocCkpfWZ1bmN0aW9uIGwocCl7cmV0dXJuIHRyZShwKT8odC5jb25zdW1lKHApLGwpOnA9PT02ND8odC5jb25zdW1lKHApLGgpOmEocCl9ZnVuY3Rpb24gaChwKXtyZXR1cm4gcD09PTQ2P3QuY2hlY2soWDhhLGYsdSkocCk6cD09PTQ1fHxwPT09OTV8fGExKHApPyhuPSEwLHQuY29uc3VtZShwKSxoKTpmKHApfWZ1bmN0aW9uIHUocCl7cmV0dXJuIHQuY29uc3VtZShwKSxzPSEwLGh9ZnVuY3Rpb24gZihwKXtyZXR1cm4gbiYmcyYmRDEoci5wcmV2aW91cyk/KHQuZXhpdCgibGl0ZXJhbEF1dG9saW5rRW1haWwiKSx0LmV4aXQoImxpdGVyYWxBdXRvbGluayIpLGUocCkpOmEocCl9fWZ1bmN0aW9uIFE4YSh0LGUsYSl7bGV0IHI9dGhpcztyZXR1cm4gcztmdW5jdGlvbiBzKG8pe3JldHVybiBvIT09ODcmJm8hPT0xMTl8fCFMc3QuY2FsbChyLHIucHJldmlvdXMpfHxhcmUoci5ldmVudHMpP2Eobyk6KHQuZW50ZXIoImxpdGVyYWxBdXRvbGluayIpLHQuZW50ZXIoImxpdGVyYWxBdXRvbGlua1d3dyIpLHQuY2hlY2soWjhhLHQuYXR0ZW1wdCh6c3QsdC5hdHRlbXB0KFNzdCxuKSxhKSxhKShvKSl9ZnVuY3Rpb24gbihvKXtyZXR1cm4gdC5leGl0KCJsaXRlcmFsQXV0b2xpbmtXd3ciKSx0LmV4aXQoImxpdGVyYWxBdXRvbGluayIpLGUobyl9fWZ1bmN0aW9uIEo4YSh0LGUsYSl7bGV0IHI9dGhpcyxzPSIiLG49ITE7cmV0dXJuIG87ZnVuY3Rpb24gbyhwKXtyZXR1cm4ocD09PTcyfHxwPT09MTA0KSYmJHN0LmNhbGwocixyLnByZXZpb3VzKSYmIWFyZShyLmV2ZW50cyk/KHQuZW50ZXIoImxpdGVyYWxBdXRvbGluayIpLHQuZW50ZXIoImxpdGVyYWxBdXRvbGlua0h0dHAiKSxzKz1TdHJpbmcuZnJvbUNvZGVQb2ludChwKSx0LmNvbnN1bWUocCksbCk6YShwKX1mdW5jdGlvbiBsKHApe2lmKEQxKHApJiZzLmxlbmd0aDw1KXJldHVybiBzKz1TdHJpbmcuZnJvbUNvZGVQb2ludChwKSx0LmNvbnN1bWUocCksbDtpZihwPT09NTgpe2xldCBnPXMudG9Mb3dlckNhc2UoKTtpZihnPT09Imh0dHAifHxnPT09Imh0dHBzIilyZXR1cm4gdC5jb25zdW1lKHApLGh9cmV0dXJuIGEocCl9ZnVuY3Rpb24gaChwKXtyZXR1cm4gcD09PTQ3Pyh0LmNvbnN1bWUocCksbj91OihuPSEwLGgpKTphKHApfWZ1bmN0aW9uIHUocCl7cmV0dXJuIHA9PT1udWxsfHxiMChwKXx8cXQocCl8fG0yKHApfHx2MChwKT9hKHApOnQuYXR0ZW1wdCh6c3QsdC5hdHRlbXB0KFNzdCxmKSxhKShwKX1mdW5jdGlvbiBmKHApe3JldHVybiB0LmV4aXQoImxpdGVyYWxBdXRvbGlua0h0dHAiKSx0LmV4aXQoImxpdGVyYWxBdXRvbGluayIpLGUocCl9fWZ1bmN0aW9uIGVwYSh0LGUsYSl7bGV0IHI9MDtyZXR1cm4gcztmdW5jdGlvbiBzKG8pe3JldHVybihvPT09ODd8fG89PT0xMTkpJiZyPDM/KHIrKyx0LmNvbnN1bWUobykscyk6bz09PTQ2JiZyPT09Mz8odC5jb25zdW1lKG8pLG4pOmEobyl9ZnVuY3Rpb24gbihvKXtyZXR1cm4gbz09PW51bGw/YShvKTplKG8pfX1mdW5jdGlvbiB0cGEodCxlLGEpe2xldCByLHMsbjtyZXR1cm4gbztmdW5jdGlvbiBvKHUpe3JldHVybiB1PT09NDZ8fHU9PT05NT90LmNoZWNrKENzdCxoLGwpKHUpOnU9PT1udWxsfHxxdCh1KXx8bTIodSl8fHUhPT00NSYmdjAodSk/aCh1KToobj0hMCx0LmNvbnN1bWUodSksbyl9ZnVuY3Rpb24gbCh1KXtyZXR1cm4gdT09PTk1P3I9ITA6KHM9cixyPXZvaWQgMCksdC5jb25zdW1lKHUpLG99ZnVuY3Rpb24gaCh1KXtyZXR1cm4gc3x8cnx8IW4/YSh1KTplKHUpfX1mdW5jdGlvbiBhcGEodCxlKXtsZXQgYT0wLHI9MDtyZXR1cm4gcztmdW5jdGlvbiBzKG8pe3JldHVybiBvPT09NDA/KGErKyx0LmNvbnN1bWUobykscyk6bz09PTQxJiZyPGE/bihvKTpvPT09MzN8fG89PT0zNHx8bz09PTM4fHxvPT09Mzl8fG89PT00MXx8bz09PTQyfHxvPT09NDR8fG89PT00Nnx8bz09PTU4fHxvPT09NTl8fG89PT02MHx8bz09PTYzfHxvPT09OTN8fG89PT05NXx8bz09PTEyNj90LmNoZWNrKENzdCxlLG4pKG8pOm89PT1udWxsfHxxdChvKXx8bTIobyk/ZShvKToodC5jb25zdW1lKG8pLHMpfWZ1bmN0aW9uIG4obyl7cmV0dXJuIG89PT00MSYmcisrLHQuY29uc3VtZShvKSxzfX1mdW5jdGlvbiBycGEodCxlLGEpe3JldHVybiByO2Z1bmN0aW9uIHIobCl7cmV0dXJuIGw9PT0zM3x8bD09PTM0fHxsPT09Mzl8fGw9PT00MXx8bD09PTQyfHxsPT09NDR8fGw9PT00Nnx8bD09PTU4fHxsPT09NTl8fGw9PT02M3x8bD09PTk1fHxsPT09MTI2Pyh0LmNvbnN1bWUobCkscik6bD09PTM4Pyh0LmNvbnN1bWUobCksbik6bD09PTkzPyh0LmNvbnN1bWUobCkscyk6bD09PTYwfHxsPT09bnVsbHx8cXQobCl8fG0yKGwpP2UobCk6YShsKX1mdW5jdGlvbiBzKGwpe3JldHVybiBsPT09bnVsbHx8bD09PTQwfHxsPT09OTF8fHF0KGwpfHxtMihsKT9lKGwpOnIobCl9ZnVuY3Rpb24gbihsKXtyZXR1cm4gRDEobCk/byhsKTphKGwpfWZ1bmN0aW9uIG8obCl7cmV0dXJuIGw9PT01OT8odC5jb25zdW1lKGwpLHIpOkQxKGwpPyh0LmNvbnN1bWUobCksbyk6YShsKX19ZnVuY3Rpb24gaXBhKHQsZSxhKXtyZXR1cm4gcjtmdW5jdGlvbiByKG4pe3JldHVybiB0LmNvbnN1bWUobiksc31mdW5jdGlvbiBzKG4pe3JldHVybiBhMShuKT9hKG4pOmUobil9fWZ1bmN0aW9uIExzdCh0KXtyZXR1cm4gdD09PW51bGx8fHQ9PT00MHx8dD09PTQyfHx0PT09OTV8fHQ9PT05MXx8dD09PTkzfHx0PT09MTI2fHxxdCh0KX1mdW5jdGlvbiAkc3QodCl7cmV0dXJuIUQxKHQpfWZ1bmN0aW9uIERzdCh0KXtyZXR1cm4hKHQ9PT00N3x8dHJlKHQpKX1mdW5jdGlvbiB0cmUodCl7cmV0dXJuIHQ9PT00M3x8dD09PTQ1fHx0PT09NDZ8fHQ9PT05NXx8YTEodCl9ZnVuY3Rpb24gYXJlKHQpe2xldCBlPXQubGVuZ3RoLGE9ITE7Zm9yKDtlLS07KXtsZXQgcj10W2VdWzFdO2lmKChyLnR5cGU9PT0ibGFiZWxMaW5rInx8ci50eXBlPT09ImxhYmVsSW1hZ2UiKSYmIXIuX2JhbGFuY2VkKXthPSEwO2JyZWFrfWlmKHIuX2dmbUF1dG9saW5rTGl0ZXJhbFdhbGtlZEludG8pe2E9ITE7YnJlYWt9fXJldHVybiB0Lmxlbmd0aD4wJiYhYSYmKHRbdC5sZW5ndGgtMV1bMV0uX2dmbUF1dG9saW5rTGl0ZXJhbFdhbGtlZEludG89ITApLGF9dmFyIFo4YSx6c3QsU3N0LENzdCxYOGEsX3N0LFRzdCxubyxiMixBc3Q9YygoKT0+e1V0KCk7WjhhPXt0b2tlbml6ZTplcGEscGFydGlhbDohMH0senN0PXt0b2tlbml6ZTp0cGEscGFydGlhbDohMH0sU3N0PXt0b2tlbml6ZTphcGEscGFydGlhbDohMH0sQ3N0PXt0b2tlbml6ZTpycGEscGFydGlhbDohMH0sWDhhPXt0b2tlbml6ZTppcGEscGFydGlhbDohMH0sX3N0PXtuYW1lOiJ3d3dBdXRvbGluayIsdG9rZW5pemU6UThhLHByZXZpb3VzOkxzdH0sVHN0PXtuYW1lOiJwcm90b2NvbEF1dG9saW5rIix0b2tlbml6ZTpKOGEscHJldmlvdXM6JHN0fSxubz17bmFtZToiZW1haWxBdXRvbGluayIsdG9rZW5pemU6SzhhLHByZXZpb3VzOkRzdH0sYjI9e307aShycmUsImdmbUF1dG9saW5rTGl0ZXJhbCIpO2Zvcih2YXIgazA9NDg7azA8MTIzOyliMltrMF09bm8sazArKyxrMD09PTU4P2swPTY1OmswPT09OTEmJihrMD05Nyk7YjJbNDNdPW5vLGIyWzQ1XT1ubyxiMls0Nl09bm8sYjJbOTVdPW5vLGIyWzcyXT1bbm8sVHN0XSxiMlsxMDRdPVtubyxUc3RdLGIyWzg3XT1bbm8sX3N0XSxiMlsxMTldPVtubyxfc3RdO2koSzhhLCJ0b2tlbml6ZUVtYWlsQXV0b2xpbmsiKTtpKFE4YSwidG9rZW5pemVXd3dBdXRvbGluayIpO2koSjhhLCJ0b2tlbml6ZVByb3RvY29sQXV0b2xpbmsiKTtpKGVwYSwidG9rZW5pemVXd3dQcmVmaXgiKTtpKHRwYSwidG9rZW5pemVEb21haW4iKTtpKGFwYSwidG9rZW5pemVQYXRoIik7aShycGEsInRva2VuaXplVHJhaWwiKTtpKGlwYSwidG9rZW5pemVFbWFpbERvbWFpbkRvdFRyYWlsIik7aShMc3QsInByZXZpb3VzV3d3Iik7aSgkc3QsInByZXZpb3VzUHJvdG9jb2wiKTtpKERzdCwicHJldmlvdXNFbWFpbCIpO2kodHJlLCJnZm1BdGV4dCIpO2koYXJlLCJwcmV2aW91c1VuYmFsYW5jZWQiKX0pO2Z1bmN0aW9uIEZVKHQpe3JldHVybiB0LnJlcGxhY2UoL1siJjw+XS9nLGUpO2Z1bmN0aW9uIGUoYSl7cmV0dXJuIiYiK3NwYVthXSsiOyJ9fXZhciBzcGEsaXJlPWMoKCk9PntzcGE9eyciJzoicXVvdCIsIiYiOiJhbXAiLCI8IjoibHQiLCI+IjoiZ3QifTtpKEZVLCJlbmNvZGUiKX0pO2Z1bmN0aW9uIHYyKHQsZSl7bGV0IGE9RlUoZ2kodHx8IiIpKTtpZighZSlyZXR1cm4gYTtsZXQgcj1hLmluZGV4T2YoIjoiKSxzPWEuaW5kZXhPZigiPyIpLG49YS5pbmRleE9mKCIjIiksbz1hLmluZGV4T2YoIi8iKTtyZXR1cm4gcjwwfHxvPi0xJiZyPm98fHM+LTEmJnI+c3x8bj4tMSYmcj5ufHxlLnRlc3QoYS5zbGljZSgwLHIpKT9hOiIifWZ1bmN0aW9uIGdpKHQpe2xldCBlPVtdLGE9LTEscj0wLHM9MDtmb3IoOysrYTx0Lmxlbmd0aDspe2xldCBuPXQuY2hhckNvZGVBdChhKSxvPSIiO2lmKG49PT0zNyYmYTEodC5jaGFyQ29kZUF0KGErMSkpJiZhMSh0LmNoYXJDb2RlQXQoYSsyKSkpcz0yO2Vsc2UgaWYobjwxMjgpL1shIyQmLTs9Py1aX2Eten5dLy50ZXN0KFN0cmluZy5mcm9tQ2hhckNvZGUobikpfHwobz1TdHJpbmcuZnJvbUNoYXJDb2RlKG4pKTtlbHNlIGlmKG4+NTUyOTUmJm48NTczNDQpe2xldCBsPXQuY2hhckNvZGVBdChhKzEpO248NTYzMjAmJmw+NTYzMTkmJmw8NTczNDQ/KG89U3RyaW5nLmZyb21DaGFyQ29kZShuLGwpLHM9MSk6bz0iXHVGRkZEIn1lbHNlIG89U3RyaW5nLmZyb21DaGFyQ29kZShuKTtvJiYoZS5wdXNoKHQuc2xpY2UocixhKSxlbmNvZGVVUklDb21wb25lbnQobykpLHI9YStzKzEsbz0iIikscyYmKGErPXMscz0wKX1yZXR1cm4gZS5qb2luKCIiKSt0LnNsaWNlKHIpfXZhciB4Mj1jKCgpPT57VXQoKTtpcmUoKTtpKHYyLCJzYW5pdGl6ZVVyaSIpO2koZ2ksIm5vcm1hbGl6ZVVyaSIpfSk7ZnVuY3Rpb24gb3JlKCl7cmV0dXJue2V4aXQ6e2xpdGVyYWxBdXRvbGlua0VtYWlsOm5wYSxsaXRlcmFsQXV0b2xpbmtIdHRwOmxwYSxsaXRlcmFsQXV0b2xpbmtXd3c6b3BhfX19ZnVuY3Rpb24gb3BhKHQpe3NyZS5jYWxsKHRoaXMsdCwiaHR0cDovLyIpfWZ1bmN0aW9uIG5wYSh0KXtzcmUuY2FsbCh0aGlzLHQsIm1haWx0bzoiKX1mdW5jdGlvbiBscGEodCl7c3JlLmNhbGwodGhpcyx0KX1mdW5jdGlvbiBzcmUodCxlKXtsZXQgYT10aGlzLnNsaWNlU2VyaWFsaXplKHQpO3RoaXMudGFnKCc8YSBocmVmPSInK3YyKChlfHwiIikrYSkrJyI+JyksdGhpcy5yYXcodGhpcy5lbmNvZGUoYSkpLHRoaXMudGFnKCI8L2E+Iil9dmFyIFBzdD1jKCgpPT57eDIoKTtpKG9yZSwiZ2ZtQXV0b2xpbmtMaXRlcmFsSHRtbCIpO2kob3BhLCJsaXRlcmFsQXV0b2xpbmtXd3ciKTtpKG5wYSwibGl0ZXJhbEF1dG9saW5rRW1haWwiKTtpKGxwYSwibGl0ZXJhbEF1dG9saW5rSHR0cCIpO2koc3JlLCJhbmNob3JGcm9tVG9rZW4iKX0pO3ZhciBFc3Q9YygoKT0+e0FzdCgpO1BzdCgpfSk7ZnVuY3Rpb24gVm4odCxlLGEpe2xldCByPVtdLHM9LTE7Zm9yKDsrK3M8dC5sZW5ndGg7KXtsZXQgbj10W3NdLnJlc29sdmVBbGw7biYmIXIuaW5jbHVkZXMobikmJihlPW4oZSxhKSxyLnB1c2gobikpfXJldHVybiBlfXZhciBsZj1jKCgpPT57aShWbiwicmVzb2x2ZUFsbCIpfSk7ZnVuY3Rpb24gY3BhKHQsZSl7bGV0IGE9LTEscixzLG4sbyxsLGgsdSxmO2Zvcig7KythPHQubGVuZ3RoOylpZih0W2FdWzBdPT09ImVudGVyIiYmdFthXVsxXS50eXBlPT09ImF0dGVudGlvblNlcXVlbmNlIiYmdFthXVsxXS5fY2xvc2Upe2ZvcihyPWE7ci0tOylpZih0W3JdWzBdPT09ImV4aXQiJiZ0W3JdWzFdLnR5cGU9PT0iYXR0ZW50aW9uU2VxdWVuY2UiJiZ0W3JdWzFdLl9vcGVuJiZlLnNsaWNlU2VyaWFsaXplKHRbcl1bMV0pLmNoYXJDb2RlQXQoMCk9PT1lLnNsaWNlU2VyaWFsaXplKHRbYV1bMV0pLmNoYXJDb2RlQXQoMCkpe2lmKCh0W3JdWzFdLl9jbG9zZXx8dFthXVsxXS5fb3BlbikmJih0W2FdWzFdLmVuZC5vZmZzZXQtdFthXVsxXS5zdGFydC5vZmZzZXQpJTMmJiEoKHRbcl1bMV0uZW5kLm9mZnNldC10W3JdWzFdLnN0YXJ0Lm9mZnNldCt0W2FdWzFdLmVuZC5vZmZzZXQtdFthXVsxXS5zdGFydC5vZmZzZXQpJTMpKWNvbnRpbnVlO2g9dFtyXVsxXS5lbmQub2Zmc2V0LXRbcl1bMV0uc3RhcnQub2Zmc2V0PjEmJnRbYV1bMV0uZW5kLm9mZnNldC10W2FdWzFdLnN0YXJ0Lm9mZnNldD4xPzI6MTtsZXQgcD17Li4udFtyXVsxXS5lbmR9LGc9ey4uLnRbYV1bMV0uc3RhcnR9O0lzdChwLC1oKSxJc3QoZyxoKSxvPXt0eXBlOmg+MT8ic3Ryb25nU2VxdWVuY2UiOiJlbXBoYXNpc1NlcXVlbmNlIixzdGFydDpwLGVuZDp7Li4udFtyXVsxXS5lbmR9fSxsPXt0eXBlOmg+MT8ic3Ryb25nU2VxdWVuY2UiOiJlbXBoYXNpc1NlcXVlbmNlIixzdGFydDp7Li4udFthXVsxXS5zdGFydH0sZW5kOmd9LG49e3R5cGU6aD4xPyJzdHJvbmdUZXh0IjoiZW1waGFzaXNUZXh0IixzdGFydDp7Li4udFtyXVsxXS5lbmR9LGVuZDp7Li4udFthXVsxXS5zdGFydH19LHM9e3R5cGU6aD4xPyJzdHJvbmciOiJlbXBoYXNpcyIsc3RhcnQ6ey4uLm8uc3RhcnR9LGVuZDp7Li4ubC5lbmR9fSx0W3JdWzFdLmVuZD17Li4uby5zdGFydH0sdFthXVsxXS5zdGFydD17Li4ubC5lbmR9LHU9W10sdFtyXVsxXS5lbmQub2Zmc2V0LXRbcl1bMV0uc3RhcnQub2Zmc2V0JiYodT1nMSh1LFtbImVudGVyIix0W3JdWzFdLGVdLFsiZXhpdCIsdFtyXVsxXSxlXV0pKSx1PWcxKHUsW1siZW50ZXIiLHMsZV0sWyJlbnRlciIsbyxlXSxbImV4aXQiLG8sZV0sWyJlbnRlciIsbixlXV0pLHU9ZzEodSxWbihlLnBhcnNlci5jb25zdHJ1Y3RzLmluc2lkZVNwYW4ubnVsbCx0LnNsaWNlKHIrMSxhKSxlKSksdT1nMSh1LFtbImV4aXQiLG4sZV0sWyJlbnRlciIsbCxlXSxbImV4aXQiLGwsZV0sWyJleGl0IixzLGVdXSksdFthXVsxXS5lbmQub2Zmc2V0LXRbYV1bMV0uc3RhcnQub2Zmc2V0PyhmPTIsdT1nMSh1LFtbImVudGVyIix0W2FdWzFdLGVdLFsiZXhpdCIsdFthXVsxXSxlXV0pKTpmPTAsbDEodCxyLTEsYS1yKzMsdSksYT1yK3UubGVuZ3RoLWYtMjticmVha319Zm9yKGE9LTE7KythPHQubGVuZ3RoOyl0W2FdWzFdLnR5cGU9PT0iYXR0ZW50aW9uU2VxdWVuY2UiJiYodFthXVsxXS50eXBlPSJkYXRhIik7cmV0dXJuIHR9ZnVuY3Rpb24gZHBhKHQsZSl7bGV0IGE9dGhpcy5wYXJzZXIuY29uc3RydWN0cy5hdHRlbnRpb25NYXJrZXJzLm51bGwscj10aGlzLnByZXZpb3VzLHM9b28ociksbjtyZXR1cm4gbztmdW5jdGlvbiBvKGgpe3JldHVybiBuPWgsdC5lbnRlcigiYXR0ZW50aW9uU2VxdWVuY2UiKSxsKGgpfWZ1bmN0aW9uIGwoaCl7aWYoaD09PW4pcmV0dXJuIHQuY29uc3VtZShoKSxsO2xldCB1PXQuZXhpdCgiYXR0ZW50aW9uU2VxdWVuY2UiKSxmPW9vKGgpLHA9IWZ8fGY9PT0yJiZzfHxhLmluY2x1ZGVzKGgpLGc9IXN8fHM9PT0yJiZmfHxhLmluY2x1ZGVzKHIpO3JldHVybiB1Ll9vcGVuPSEhKG49PT00Mj9wOnAmJihzfHwhZykpLHUuX2Nsb3NlPSEhKG49PT00Mj9nOmcmJihmfHwhcCkpLGUoaCl9fWZ1bmN0aW9uIElzdCh0LGUpe3QuY29sdW1uKz1lLHQub2Zmc2V0Kz1lLHQuX2J1ZmZlckluZGV4Kz1lfXZhciBjZixOc3Q9YygoKT0+e2cyKCk7X1UoKTtsZigpO2NmPXtuYW1lOiJhdHRlbnRpb24iLHJlc29sdmVBbGw6Y3BhLHRva2VuaXplOmRwYX07aShjcGEsInJlc29sdmVBbGxBdHRlbnRpb24iKTtpKGRwYSwidG9rZW5pemVBdHRlbnRpb24iKTtpKElzdCwibW92ZVBvaW50Iil9KTtmdW5jdGlvbiBwcGEodCxlLGEpe2xldCByPTA7cmV0dXJuIHM7ZnVuY3Rpb24gcyh2KXtyZXR1cm4gdC5lbnRlcigiYXV0b2xpbmsiKSx0LmVudGVyKCJhdXRvbGlua01hcmtlciIpLHQuY29uc3VtZSh2KSx0LmV4aXQoImF1dG9saW5rTWFya2VyIiksdC5lbnRlcigiYXV0b2xpbmtQcm90b2NvbCIpLG59ZnVuY3Rpb24gbih2KXtyZXR1cm4gRDEodik/KHQuY29uc3VtZSh2KSxvKTp2PT09NjQ/YSh2KTp1KHYpfWZ1bmN0aW9uIG8odil7cmV0dXJuIHY9PT00M3x8dj09PTQ1fHx2PT09NDZ8fGExKHYpPyhyPTEsbCh2KSk6dSh2KX1mdW5jdGlvbiBsKHYpe3JldHVybiB2PT09NTg/KHQuY29uc3VtZSh2KSxyPTAsaCk6KHY9PT00M3x8dj09PTQ1fHx2PT09NDZ8fGExKHYpKSYmcisrPDMyPyh0LmNvbnN1bWUodiksbCk6KHI9MCx1KHYpKX1mdW5jdGlvbiBoKHYpe3JldHVybiB2PT09NjI/KHQuZXhpdCgiYXV0b2xpbmtQcm90b2NvbCIpLHQuZW50ZXIoImF1dG9saW5rTWFya2VyIiksdC5jb25zdW1lKHYpLHQuZXhpdCgiYXV0b2xpbmtNYXJrZXIiKSx0LmV4aXQoImF1dG9saW5rIiksZSk6dj09PW51bGx8fHY9PT0zMnx8dj09PTYwfHxiMCh2KT9hKHYpOih0LmNvbnN1bWUodiksaCl9ZnVuY3Rpb24gdSh2KXtyZXR1cm4gdj09PTY0Pyh0LmNvbnN1bWUodiksZik6a3J0KHYpPyh0LmNvbnN1bWUodiksdSk6YSh2KX1mdW5jdGlvbiBmKHYpe3JldHVybiBhMSh2KT9wKHYpOmEodil9ZnVuY3Rpb24gcCh2KXtyZXR1cm4gdj09PTQ2Pyh0LmNvbnN1bWUodikscj0wLGYpOnY9PT02Mj8odC5leGl0KCJhdXRvbGlua1Byb3RvY29sIikudHlwZT0iYXV0b2xpbmtFbWFpbCIsdC5lbnRlcigiYXV0b2xpbmtNYXJrZXIiKSx0LmNvbnN1bWUodiksdC5leGl0KCJhdXRvbGlua01hcmtlciIpLHQuZXhpdCgiYXV0b2xpbmsiKSxlKTpnKHYpfWZ1bmN0aW9uIGcodil7aWYoKHY9PT00NXx8YTEodikpJiZyKys8NjMpe2xldCB4PXY9PT00NT9nOnA7cmV0dXJuIHQuY29uc3VtZSh2KSx4fXJldHVybiBhKHYpfX12YXIgbnJlLFJzdD1jKCgpPT57VXQoKTtucmU9e25hbWU6ImF1dG9saW5rIix0b2tlbml6ZTpwcGF9O2kocHBhLCJ0b2tlbml6ZUF1dG9saW5rIil9KTtmdW5jdGlvbiBndCh0LGUsYSxyKXtsZXQgcz1yP3ItMTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksbj0wO3JldHVybiBvO2Z1bmN0aW9uIG8oaCl7cmV0dXJuIGx0KGgpPyh0LmVudGVyKGEpLGwoaCkpOmUoaCl9ZnVuY3Rpb24gbChoKXtyZXR1cm4gbHQoaCkmJm4rKzxzPyh0LmNvbnN1bWUoaCksbCk6KHQuZXhpdChhKSxlKGgpKX19dmFyIGMxPWMoKCk9PntVdCgpO2koZ3QsImZhY3RvcnlTcGFjZSIpfSk7ZnVuY3Rpb24gdXBhKHQsZSxhKXtyZXR1cm4gcjtmdW5jdGlvbiByKG4pe3JldHVybiBsdChuKT9ndCh0LHMsImxpbmVQcmVmaXgiKShuKTpzKG4pfWZ1bmN0aW9uIHMobil7cmV0dXJuIG49PT1udWxsfHxHZShuKT9lKG4pOmEobil9fXZhciB5MixPVT1jKCgpPT57YzEoKTtVdCgpO3kyPXtwYXJ0aWFsOiEwLHRva2VuaXplOnVwYX07aSh1cGEsInRva2VuaXplQmxhbmtMaW5lIil9KTtmdW5jdGlvbiBmcGEodCxlLGEpe2xldCByPXRoaXM7cmV0dXJuIHM7ZnVuY3Rpb24gcyhvKXtpZihvPT09NjIpe2xldCBsPXIuY29udGFpbmVyU3RhdGU7cmV0dXJuIGwub3Blbnx8KHQuZW50ZXIoImJsb2NrUXVvdGUiLHtfY29udGFpbmVyOiEwfSksbC5vcGVuPSEwKSx0LmVudGVyKCJibG9ja1F1b3RlUHJlZml4IiksdC5lbnRlcigiYmxvY2tRdW90ZU1hcmtlciIpLHQuY29uc3VtZShvKSx0LmV4aXQoImJsb2NrUXVvdGVNYXJrZXIiKSxufXJldHVybiBhKG8pfWZ1bmN0aW9uIG4obyl7cmV0dXJuIGx0KG8pPyh0LmVudGVyKCJibG9ja1F1b3RlUHJlZml4V2hpdGVzcGFjZSIpLHQuY29uc3VtZShvKSx0LmV4aXQoImJsb2NrUXVvdGVQcmVmaXhXaGl0ZXNwYWNlIiksdC5leGl0KCJibG9ja1F1b3RlUHJlZml4IiksZSk6KHQuZXhpdCgiYmxvY2tRdW90ZVByZWZpeCIpLGUobykpfX1mdW5jdGlvbiBocGEodCxlLGEpe2xldCByPXRoaXM7cmV0dXJuIHM7ZnVuY3Rpb24gcyhvKXtyZXR1cm4gbHQobyk/Z3QodCxuLCJsaW5lUHJlZml4IixyLnBhcnNlci5jb25zdHJ1Y3RzLmRpc2FibGUubnVsbC5pbmNsdWRlcygiY29kZUluZGVudGVkIik/dm9pZCAwOjQpKG8pOm4obyl9ZnVuY3Rpb24gbihvKXtyZXR1cm4gdC5hdHRlbXB0KEJVLGUsYSkobyl9fWZ1bmN0aW9uIG1wYSh0KXt0LmV4aXQoImJsb2NrUXVvdGUiKX12YXIgQlUsRnN0PWMoKCk9PntjMSgpO1V0KCk7QlU9e2NvbnRpbnVhdGlvbjp7dG9rZW5pemU6aHBhfSxleGl0Om1wYSxuYW1lOiJibG9ja1F1b3RlIix0b2tlbml6ZTpmcGF9O2koZnBhLCJ0b2tlbml6ZUJsb2NrUXVvdGVTdGFydCIpO2koaHBhLCJ0b2tlbml6ZUJsb2NrUXVvdGVDb250aW51YXRpb24iKTtpKG1wYSwiZXhpdCIpfSk7ZnVuY3Rpb24gZ3BhKHQsZSxhKXtyZXR1cm4gcjtmdW5jdGlvbiByKG4pe3JldHVybiB0LmVudGVyKCJjaGFyYWN0ZXJFc2NhcGUiKSx0LmVudGVyKCJlc2NhcGVNYXJrZXIiKSx0LmNvbnN1bWUobiksdC5leGl0KCJlc2NhcGVNYXJrZXIiKSxzfWZ1bmN0aW9uIHMobil7cmV0dXJuIFNydChuKT8odC5lbnRlcigiY2hhcmFjdGVyRXNjYXBlVmFsdWUiKSx0LmNvbnN1bWUobiksdC5leGl0KCJjaGFyYWN0ZXJFc2NhcGVWYWx1ZSIpLHQuZXhpdCgiY2hhcmFjdGVyRXNjYXBlIiksZSk6YShuKX19dmFyIEhVLE9zdD1jKCgpPT57VXQoKTtIVT17bmFtZToiY2hhcmFjdGVyRXNjYXBlIix0b2tlbml6ZTpncGF9O2koZ3BhLCJ0b2tlbml6ZUNoYXJhY3RlckVzY2FwZSIpfSk7ZnVuY3Rpb24gYnBhKHQsZSxhKXtsZXQgcj10aGlzLHM9MCxuLG87cmV0dXJuIGw7ZnVuY3Rpb24gbChwKXtyZXR1cm4gdC5lbnRlcigiY2hhcmFjdGVyUmVmZXJlbmNlIiksdC5lbnRlcigiY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VyIiksdC5jb25zdW1lKHApLHQuZXhpdCgiY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VyIiksaH1mdW5jdGlvbiBoKHApe3JldHVybiBwPT09MzU/KHQuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlck51bWVyaWMiKSx0LmNvbnN1bWUocCksdC5leGl0KCJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljIiksdSk6KHQuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZVZhbHVlIiksbj0zMSxvPWExLGYocCkpfWZ1bmN0aW9uIHUocCl7cmV0dXJuIHA9PT04OHx8cD09PTEyMD8odC5lbnRlcigiY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VySGV4YWRlY2ltYWwiKSx0LmNvbnN1bWUocCksdC5leGl0KCJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJIZXhhZGVjaW1hbCIpLHQuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZVZhbHVlIiksbj02LG89enJ0LGYpOih0LmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2VWYWx1ZSIpLG49NyxvPWFmLGYocCkpfWZ1bmN0aW9uIGYocCl7aWYocD09PTU5JiZzKXtsZXQgZz10LmV4aXQoImNoYXJhY3RlclJlZmVyZW5jZVZhbHVlIik7cmV0dXJuIG89PT1hMSYmIXFuKHIuc2xpY2VTZXJpYWxpemUoZykpP2EocCk6KHQuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlciIpLHQuY29uc3VtZShwKSx0LmV4aXQoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlciIpLHQuZXhpdCgiY2hhcmFjdGVyUmVmZXJlbmNlIiksZSl9cmV0dXJuIG8ocCkmJnMrKzxuPyh0LmNvbnN1bWUocCksZik6YShwKX19dmFyIHFVLEJzdD1jKCgpPT57bmYoKTtVdCgpO3FVPXtuYW1lOiJjaGFyYWN0ZXJSZWZlcmVuY2UiLHRva2VuaXplOmJwYX07aShicGEsInRva2VuaXplQ2hhcmFjdGVyUmVmZXJlbmNlIil9KTtmdW5jdGlvbiB2cGEodCxlLGEpe2xldCByPXRoaXMscz17cGFydGlhbDohMCx0b2tlbml6ZTpffSxuPTAsbz0wLGw7cmV0dXJuIGg7ZnVuY3Rpb24gaChDKXtyZXR1cm4gdShDKX1mdW5jdGlvbiB1KEMpe2xldCBOPXIuZXZlbnRzW3IuZXZlbnRzLmxlbmd0aC0xXTtyZXR1cm4gbj1OJiZOWzFdLnR5cGU9PT0ibGluZVByZWZpeCI/TlsyXS5zbGljZVNlcmlhbGl6ZShOWzFdLCEwKS5sZW5ndGg6MCxsPUMsdC5lbnRlcigiY29kZUZlbmNlZCIpLHQuZW50ZXIoImNvZGVGZW5jZWRGZW5jZSIpLHQuZW50ZXIoImNvZGVGZW5jZWRGZW5jZVNlcXVlbmNlIiksZihDKX1mdW5jdGlvbiBmKEMpe3JldHVybiBDPT09bD8obysrLHQuY29uc3VtZShDKSxmKTpvPDM/YShDKToodC5leGl0KCJjb2RlRmVuY2VkRmVuY2VTZXF1ZW5jZSIpLGx0KEMpP2d0KHQscCwid2hpdGVzcGFjZSIpKEMpOnAoQykpfWZ1bmN0aW9uIHAoQyl7cmV0dXJuIEM9PT1udWxsfHxHZShDKT8odC5leGl0KCJjb2RlRmVuY2VkRmVuY2UiKSxyLmludGVycnVwdD9lKEMpOnQuY2hlY2soSHN0LGIsRSkoQykpOih0LmVudGVyKCJjb2RlRmVuY2VkRmVuY2VJbmZvIiksdC5lbnRlcigiY2h1bmtTdHJpbmciLHtjb250ZW50VHlwZToic3RyaW5nIn0pLGcoQykpfWZ1bmN0aW9uIGcoQyl7cmV0dXJuIEM9PT1udWxsfHxHZShDKT8odC5leGl0KCJjaHVua1N0cmluZyIpLHQuZXhpdCgiY29kZUZlbmNlZEZlbmNlSW5mbyIpLHAoQykpOmx0KEMpPyh0LmV4aXQoImNodW5rU3RyaW5nIiksdC5leGl0KCJjb2RlRmVuY2VkRmVuY2VJbmZvIiksZ3QodCx2LCJ3aGl0ZXNwYWNlIikoQykpOkM9PT05NiYmQz09PWw/YShDKToodC5jb25zdW1lKEMpLGcpfWZ1bmN0aW9uIHYoQyl7cmV0dXJuIEM9PT1udWxsfHxHZShDKT9wKEMpOih0LmVudGVyKCJjb2RlRmVuY2VkRmVuY2VNZXRhIiksdC5lbnRlcigiY2h1bmtTdHJpbmciLHtjb250ZW50VHlwZToic3RyaW5nIn0pLHgoQykpfWZ1bmN0aW9uIHgoQyl7cmV0dXJuIEM9PT1udWxsfHxHZShDKT8odC5leGl0KCJjaHVua1N0cmluZyIpLHQuZXhpdCgiY29kZUZlbmNlZEZlbmNlTWV0YSIpLHAoQykpOkM9PT05NiYmQz09PWw/YShDKToodC5jb25zdW1lKEMpLHgpfWZ1bmN0aW9uIGIoQyl7cmV0dXJuIHQuYXR0ZW1wdChzLEUsbSkoQyl9ZnVuY3Rpb24gbShDKXtyZXR1cm4gdC5lbnRlcigibGluZUVuZGluZyIpLHQuY29uc3VtZShDKSx0LmV4aXQoImxpbmVFbmRpbmciKSx5fWZ1bmN0aW9uIHkoQyl7cmV0dXJuIG4+MCYmbHQoQyk/Z3QodCxNLCJsaW5lUHJlZml4IixuKzEpKEMpOk0oQyl9ZnVuY3Rpb24gTShDKXtyZXR1cm4gQz09PW51bGx8fEdlKEMpP3QuY2hlY2soSHN0LGIsRSkoQyk6KHQuZW50ZXIoImNvZGVGbG93VmFsdWUiKSxrKEMpKX1mdW5jdGlvbiBrKEMpe3JldHVybiBDPT09bnVsbHx8R2UoQyk/KHQuZXhpdCgiY29kZUZsb3dWYWx1ZSIpLE0oQykpOih0LmNvbnN1bWUoQyksayl9ZnVuY3Rpb24gRShDKXtyZXR1cm4gdC5leGl0KCJjb2RlRmVuY2VkIiksZShDKX1mdW5jdGlvbiBfKEMsTiwkKXtsZXQgST0wO3JldHVybiBqO2Z1bmN0aW9uIGooQSl7cmV0dXJuIEMuZW50ZXIoImxpbmVFbmRpbmciKSxDLmNvbnN1bWUoQSksQy5leGl0KCJsaW5lRW5kaW5nIiksU31mdW5jdGlvbiBTKEEpe3JldHVybiBDLmVudGVyKCJjb2RlRmVuY2VkRmVuY2UiKSxsdChBKT9ndChDLHosImxpbmVQcmVmaXgiLHIucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKT92b2lkIDA6NCkoQSk6eihBKX1mdW5jdGlvbiB6KEEpe3JldHVybiBBPT09bD8oQy5lbnRlcigiY29kZUZlbmNlZEZlbmNlU2VxdWVuY2UiKSxEKEEpKTokKEEpfWZ1bmN0aW9uIEQoQSl7cmV0dXJuIEE9PT1sPyhJKyssQy5jb25zdW1lKEEpLEQpOkk+PW8/KEMuZXhpdCgiY29kZUZlbmNlZEZlbmNlU2VxdWVuY2UiKSxsdChBKT9ndChDLFQsIndoaXRlc3BhY2UiKShBKTpUKEEpKTokKEEpfWZ1bmN0aW9uIFQoQSl7cmV0dXJuIEE9PT1udWxsfHxHZShBKT8oQy5leGl0KCJjb2RlRmVuY2VkRmVuY2UiKSxOKEEpKTokKEEpfX19ZnVuY3Rpb24geHBhKHQsZSxhKXtsZXQgcj10aGlzO3JldHVybiBzO2Z1bmN0aW9uIHMobyl7cmV0dXJuIG89PT1udWxsP2Eobyk6KHQuZW50ZXIoImxpbmVFbmRpbmciKSx0LmNvbnN1bWUobyksdC5leGl0KCJsaW5lRW5kaW5nIiksbil9ZnVuY3Rpb24gbihvKXtyZXR1cm4gci5wYXJzZXIubGF6eVtyLm5vdygpLmxpbmVdP2Eobyk6ZShvKX19dmFyIEhzdCxWVSxxc3Q9YygoKT0+e2MxKCk7VXQoKTtIc3Q9e3BhcnRpYWw6ITAsdG9rZW5pemU6eHBhfSxWVT17Y29uY3JldGU6ITAsbmFtZToiY29kZUZlbmNlZCIsdG9rZW5pemU6dnBhfTtpKHZwYSwidG9rZW5pemVDb2RlRmVuY2VkIik7aSh4cGEsInRva2VuaXplTm9uTGF6eUNvbnRpbnVhdGlvbiIpfSk7ZnVuY3Rpb24gd3BhKHQsZSxhKXtsZXQgcj10aGlzO3JldHVybiBzO2Z1bmN0aW9uIHModSl7cmV0dXJuIHQuZW50ZXIoImNvZGVJbmRlbnRlZCIpLGd0KHQsbiwibGluZVByZWZpeCIsNSkodSl9ZnVuY3Rpb24gbih1KXtsZXQgZj1yLmV2ZW50c1tyLmV2ZW50cy5sZW5ndGgtMV07cmV0dXJuIGYmJmZbMV0udHlwZT09PSJsaW5lUHJlZml4IiYmZlsyXS5zbGljZVNlcmlhbGl6ZShmWzFdLCEwKS5sZW5ndGg+PTQ/byh1KTphKHUpfWZ1bmN0aW9uIG8odSl7cmV0dXJuIHU9PT1udWxsP2godSk6R2UodSk/dC5hdHRlbXB0KHlwYSxvLGgpKHUpOih0LmVudGVyKCJjb2RlRmxvd1ZhbHVlIiksbCh1KSl9ZnVuY3Rpb24gbCh1KXtyZXR1cm4gdT09PW51bGx8fEdlKHUpPyh0LmV4aXQoImNvZGVGbG93VmFsdWUiKSxvKHUpKToodC5jb25zdW1lKHUpLGwpfWZ1bmN0aW9uIGgodSl7cmV0dXJuIHQuZXhpdCgiY29kZUluZGVudGVkIiksZSh1KX19ZnVuY3Rpb24gTXBhKHQsZSxhKXtsZXQgcj10aGlzO3JldHVybiBzO2Z1bmN0aW9uIHMobyl7cmV0dXJuIHIucGFyc2VyLmxhenlbci5ub3coKS5saW5lXT9hKG8pOkdlKG8pPyh0LmVudGVyKCJsaW5lRW5kaW5nIiksdC5jb25zdW1lKG8pLHQuZXhpdCgibGluZUVuZGluZyIpLHMpOmd0KHQsbiwibGluZVByZWZpeCIsNSkobyl9ZnVuY3Rpb24gbihvKXtsZXQgbD1yLmV2ZW50c1tyLmV2ZW50cy5sZW5ndGgtMV07cmV0dXJuIGwmJmxbMV0udHlwZT09PSJsaW5lUHJlZml4IiYmbFsyXS5zbGljZVNlcmlhbGl6ZShsWzFdLCEwKS5sZW5ndGg+PTQ/ZShvKTpHZShvKT9zKG8pOmEobyl9fXZhciBkZix5cGEsVnN0PWMoKCk9PntjMSgpO1V0KCk7ZGY9e25hbWU6ImNvZGVJbmRlbnRlZCIsdG9rZW5pemU6d3BhfSx5cGE9e3BhcnRpYWw6ITAsdG9rZW5pemU6TXBhfTtpKHdwYSwidG9rZW5pemVDb2RlSW5kZW50ZWQiKTtpKE1wYSwidG9rZW5pemVGdXJ0aGVyU3RhcnQiKX0pO2Z1bmN0aW9uIGtwYSh0KXtsZXQgZT10Lmxlbmd0aC00LGE9MyxyLHM7aWYoKHRbYV1bMV0udHlwZT09PSJsaW5lRW5kaW5nInx8dFthXVsxXS50eXBlPT09InNwYWNlIikmJih0W2VdWzFdLnR5cGU9PT0ibGluZUVuZGluZyJ8fHRbZV1bMV0udHlwZT09PSJzcGFjZSIpKXtmb3Iocj1hOysrcjxlOylpZih0W3JdWzFdLnR5cGU9PT0iY29kZVRleHREYXRhIil7dFthXVsxXS50eXBlPSJjb2RlVGV4dFBhZGRpbmciLHRbZV1bMV0udHlwZT0iY29kZVRleHRQYWRkaW5nIixhKz0yLGUtPTI7YnJlYWt9fWZvcihyPWEtMSxlKys7KytyPD1lOylzPT09dm9pZCAwP3IhPT1lJiZ0W3JdWzFdLnR5cGUhPT0ibGluZUVuZGluZyImJihzPXIpOihyPT09ZXx8dFtyXVsxXS50eXBlPT09ImxpbmVFbmRpbmciKSYmKHRbc11bMV0udHlwZT0iY29kZVRleHREYXRhIixyIT09cysyJiYodFtzXVsxXS5lbmQ9dFtyLTFdWzFdLmVuZCx0LnNwbGljZShzKzIsci1zLTIpLGUtPXItcy0yLHI9cysyKSxzPXZvaWQgMCk7cmV0dXJuIHR9ZnVuY3Rpb24genBhKHQpe3JldHVybiB0IT09OTZ8fHRoaXMuZXZlbnRzW3RoaXMuZXZlbnRzLmxlbmd0aC0xXVsxXS50eXBlPT09ImNoYXJhY3RlckVzY2FwZSJ9ZnVuY3Rpb24gU3BhKHQsZSxhKXtsZXQgcj10aGlzLHM9MCxuLG87cmV0dXJuIGw7ZnVuY3Rpb24gbChnKXtyZXR1cm4gdC5lbnRlcigiY29kZVRleHQiKSx0LmVudGVyKCJjb2RlVGV4dFNlcXVlbmNlIiksaChnKX1mdW5jdGlvbiBoKGcpe3JldHVybiBnPT09OTY/KHQuY29uc3VtZShnKSxzKyssaCk6KHQuZXhpdCgiY29kZVRleHRTZXF1ZW5jZSIpLHUoZykpfWZ1bmN0aW9uIHUoZyl7cmV0dXJuIGc9PT1udWxsP2EoZyk6Zz09PTMyPyh0LmVudGVyKCJzcGFjZSIpLHQuY29uc3VtZShnKSx0LmV4aXQoInNwYWNlIiksdSk6Zz09PTk2PyhvPXQuZW50ZXIoImNvZGVUZXh0U2VxdWVuY2UiKSxuPTAscChnKSk6R2UoZyk/KHQuZW50ZXIoImxpbmVFbmRpbmciKSx0LmNvbnN1bWUoZyksdC5leGl0KCJsaW5lRW5kaW5nIiksdSk6KHQuZW50ZXIoImNvZGVUZXh0RGF0YSIpLGYoZykpfWZ1bmN0aW9uIGYoZyl7cmV0dXJuIGc9PT1udWxsfHxnPT09MzJ8fGc9PT05Nnx8R2UoZyk/KHQuZXhpdCgiY29kZVRleHREYXRhIiksdShnKSk6KHQuY29uc3VtZShnKSxmKX1mdW5jdGlvbiBwKGcpe3JldHVybiBnPT09OTY/KHQuY29uc3VtZShnKSxuKysscCk6bj09PXM/KHQuZXhpdCgiY29kZVRleHRTZXF1ZW5jZSIpLHQuZXhpdCgiY29kZVRleHQiKSxlKGcpKTooby50eXBlPSJjb2RlVGV4dERhdGEiLGYoZykpfX12YXIgbHJlLGpzdD1jKCgpPT57VXQoKTtscmU9e25hbWU6ImNvZGVUZXh0IixwcmV2aW91czp6cGEscmVzb2x2ZTprcGEsdG9rZW5pemU6U3BhfTtpKGtwYSwicmVzb2x2ZUNvZGVUZXh0Iik7aSh6cGEsInByZXZpb3VzIik7aShTcGEsInRva2VuaXplQ29kZVRleHQiKX0pO2Z1bmN0aW9uIHBmKHQsZSl7bGV0IGE9MDtpZihlLmxlbmd0aDwxZTQpdC5wdXNoKC4uLmUpO2Vsc2UgZm9yKDthPGUubGVuZ3RoOyl0LnB1c2goLi4uZS5zbGljZShhLGErMWU0KSksYSs9MWU0fXZhciB1ZixjcmU9YygoKT0+e3VmPWNsYXNze3N0YXRpY3tpKHRoaXMsIlNwbGljZUJ1ZmZlciIpfWNvbnN0cnVjdG9yKGUpe3RoaXMubGVmdD1lP1suLi5lXTpbXSx0aGlzLnJpZ2h0PVtdfWdldChlKXtpZihlPDB8fGU+PXRoaXMubGVmdC5sZW5ndGgrdGhpcy5yaWdodC5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNhbm5vdCBhY2Nlc3MgaW5kZXggYCIrZSsiYCBpbiBhIHNwbGljZSBidWZmZXIgb2Ygc2l6ZSBgIisodGhpcy5sZWZ0Lmxlbmd0aCt0aGlzLnJpZ2h0Lmxlbmd0aCkrImAiKTtyZXR1cm4gZTx0aGlzLmxlZnQubGVuZ3RoP3RoaXMubGVmdFtlXTp0aGlzLnJpZ2h0W3RoaXMucmlnaHQubGVuZ3RoLWUrdGhpcy5sZWZ0Lmxlbmd0aC0xXX1nZXQgbGVuZ3RoKCl7cmV0dXJuIHRoaXMubGVmdC5sZW5ndGgrdGhpcy5yaWdodC5sZW5ndGh9c2hpZnQoKXtyZXR1cm4gdGhpcy5zZXRDdXJzb3IoMCksdGhpcy5yaWdodC5wb3AoKX1zbGljZShlLGEpe2xldCByPWE/P051bWJlci5QT1NJVElWRV9JTkZJTklUWTtyZXR1cm4gcjx0aGlzLmxlZnQubGVuZ3RoP3RoaXMubGVmdC5zbGljZShlLHIpOmU+dGhpcy5sZWZ0Lmxlbmd0aD90aGlzLnJpZ2h0LnNsaWNlKHRoaXMucmlnaHQubGVuZ3RoLXIrdGhpcy5sZWZ0Lmxlbmd0aCx0aGlzLnJpZ2h0Lmxlbmd0aC1lK3RoaXMubGVmdC5sZW5ndGgpLnJldmVyc2UoKTp0aGlzLmxlZnQuc2xpY2UoZSkuY29uY2F0KHRoaXMucmlnaHQuc2xpY2UodGhpcy5yaWdodC5sZW5ndGgtcit0aGlzLmxlZnQubGVuZ3RoKS5yZXZlcnNlKCkpfXNwbGljZShlLGEscil7bGV0IHM9YXx8MDt0aGlzLnNldEN1cnNvcihNYXRoLnRydW5jKGUpKTtsZXQgbj10aGlzLnJpZ2h0LnNwbGljZSh0aGlzLnJpZ2h0Lmxlbmd0aC1zLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7cmV0dXJuIHImJnBmKHRoaXMubGVmdCxyKSxuLnJldmVyc2UoKX1wb3AoKXtyZXR1cm4gdGhpcy5zZXRDdXJzb3IoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSx0aGlzLmxlZnQucG9wKCl9cHVzaChlKXt0aGlzLnNldEN1cnNvcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpLHRoaXMubGVmdC5wdXNoKGUpfXB1c2hNYW55KGUpe3RoaXMuc2V0Q3Vyc29yKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkscGYodGhpcy5sZWZ0LGUpfXVuc2hpZnQoZSl7dGhpcy5zZXRDdXJzb3IoMCksdGhpcy5yaWdodC5wdXNoKGUpfXVuc2hpZnRNYW55KGUpe3RoaXMuc2V0Q3Vyc29yKDApLHBmKHRoaXMucmlnaHQsZS5yZXZlcnNlKCkpfXNldEN1cnNvcihlKXtpZighKGU9PT10aGlzLmxlZnQubGVuZ3RofHxlPnRoaXMubGVmdC5sZW5ndGgmJnRoaXMucmlnaHQubGVuZ3RoPT09MHx8ZTwwJiZ0aGlzLmxlZnQubGVuZ3RoPT09MCkpaWYoZTx0aGlzLmxlZnQubGVuZ3RoKXtsZXQgYT10aGlzLmxlZnQuc3BsaWNlKGUsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTtwZih0aGlzLnJpZ2h0LGEucmV2ZXJzZSgpKX1lbHNle2xldCBhPXRoaXMucmlnaHQuc3BsaWNlKHRoaXMubGVmdC5sZW5ndGgrdGhpcy5yaWdodC5sZW5ndGgtZSxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpO3BmKHRoaXMubGVmdCxhLnJldmVyc2UoKSl9fX07aShwZiwiY2h1bmtlZFB1c2giKX0pO2Z1bmN0aW9uIGpVKHQpe2xldCBlPXt9LGE9LTEscixzLG4sbyxsLGgsdSxmPW5ldyB1Zih0KTtmb3IoOysrYTxmLmxlbmd0aDspe2Zvcig7YSBpbiBlOylhPWVbYV07aWYocj1mLmdldChhKSxhJiZyWzFdLnR5cGU9PT0iY2h1bmtGbG93IiYmZi5nZXQoYS0xKVsxXS50eXBlPT09Imxpc3RJdGVtUHJlZml4IiYmKGg9clsxXS5fdG9rZW5pemVyLmV2ZW50cyxuPTAsbjxoLmxlbmd0aCYmaFtuXVsxXS50eXBlPT09ImxpbmVFbmRpbmdCbGFuayImJihuKz0yKSxuPGgubGVuZ3RoJiZoW25dWzFdLnR5cGU9PT0iY29udGVudCIpKWZvcig7KytuPGgubGVuZ3RoJiZoW25dWzFdLnR5cGUhPT0iY29udGVudCI7KWhbbl1bMV0udHlwZT09PSJjaHVua1RleHQiJiYoaFtuXVsxXS5faXNJbkZpcnN0Q29udGVudE9mTGlzdEl0ZW09ITAsbisrKTtpZihyWzBdPT09ImVudGVyIilyWzFdLmNvbnRlbnRUeXBlJiYoT2JqZWN0LmFzc2lnbihlLENwYShmLGEpKSxhPWVbYV0sdT0hMCk7ZWxzZSBpZihyWzFdLl9jb250YWluZXIpe2ZvcihuPWEscz12b2lkIDA7bi0tOylpZihvPWYuZ2V0KG4pLG9bMV0udHlwZT09PSJsaW5lRW5kaW5nInx8b1sxXS50eXBlPT09ImxpbmVFbmRpbmdCbGFuayIpb1swXT09PSJlbnRlciImJihzJiYoZi5nZXQocylbMV0udHlwZT0ibGluZUVuZGluZ0JsYW5rIiksb1sxXS50eXBlPSJsaW5lRW5kaW5nIixzPW4pO2Vsc2UgaWYoIShvWzFdLnR5cGU9PT0ibGluZVByZWZpeCJ8fG9bMV0udHlwZT09PSJsaXN0SXRlbUluZGVudCIpKWJyZWFrO3MmJihyWzFdLmVuZD17Li4uZi5nZXQocylbMV0uc3RhcnR9LGw9Zi5zbGljZShzLGEpLGwudW5zaGlmdChyKSxmLnNwbGljZShzLGEtcysxLGwpKX19cmV0dXJuIGwxKHQsMCxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksZi5zbGljZSgwKSksIXV9ZnVuY3Rpb24gQ3BhKHQsZSl7bGV0IGE9dC5nZXQoZSlbMV0scj10LmdldChlKVsyXSxzPWUtMSxuPVtdLG89YS5fdG9rZW5pemVyO298fChvPXIucGFyc2VyW2EuY29udGVudFR5cGVdKGEuc3RhcnQpLGEuX2NvbnRlbnRUeXBlVGV4dFRyYWlsaW5nJiYoby5fY29udGVudFR5cGVUZXh0VHJhaWxpbmc9ITApKTtsZXQgbD1vLmV2ZW50cyxoPVtdLHU9e30sZixwLGc9LTEsdj1hLHg9MCxiPTAsbT1bYl07Zm9yKDt2Oyl7Zm9yKDt0LmdldCgrK3MpWzFdIT09djspO24ucHVzaChzKSx2Ll90b2tlbml6ZXJ8fChmPXIuc2xpY2VTdHJlYW0odiksdi5uZXh0fHxmLnB1c2gobnVsbCkscCYmby5kZWZpbmVTa2lwKHYuc3RhcnQpLHYuX2lzSW5GaXJzdENvbnRlbnRPZkxpc3RJdGVtJiYoby5fZ2ZtVGFza2xpc3RGaXJzdENvbnRlbnRPZkxpc3RJdGVtPSEwKSxvLndyaXRlKGYpLHYuX2lzSW5GaXJzdENvbnRlbnRPZkxpc3RJdGVtJiYoby5fZ2ZtVGFza2xpc3RGaXJzdENvbnRlbnRPZkxpc3RJdGVtPXZvaWQgMCkpLHA9dix2PXYubmV4dH1mb3Iodj1hOysrZzxsLmxlbmd0aDspbFtnXVswXT09PSJleGl0IiYmbFtnLTFdWzBdPT09ImVudGVyIiYmbFtnXVsxXS50eXBlPT09bFtnLTFdWzFdLnR5cGUmJmxbZ11bMV0uc3RhcnQubGluZSE9PWxbZ11bMV0uZW5kLmxpbmUmJihiPWcrMSxtLnB1c2goYiksdi5fdG9rZW5pemVyPXZvaWQgMCx2LnByZXZpb3VzPXZvaWQgMCx2PXYubmV4dCk7Zm9yKG8uZXZlbnRzPVtdLHY/KHYuX3Rva2VuaXplcj12b2lkIDAsdi5wcmV2aW91cz12b2lkIDApOm0ucG9wKCksZz1tLmxlbmd0aDtnLS07KXtsZXQgeT1sLnNsaWNlKG1bZ10sbVtnKzFdKSxNPW4ucG9wKCk7aC5wdXNoKFtNLE0reS5sZW5ndGgtMV0pLHQuc3BsaWNlKE0sMix5KX1mb3IoaC5yZXZlcnNlKCksZz0tMTsrK2c8aC5sZW5ndGg7KXVbeCtoW2ddWzBdXT14K2hbZ11bMV0seCs9aFtnXVsxXS1oW2ddWzBdLTE7cmV0dXJuIHV9dmFyIGRyZT1jKCgpPT57ZzIoKTtjcmUoKTtjcmUoKTtpKGpVLCJzdWJ0b2tlbml6ZSIpO2koQ3BhLCJzdWJjb250ZW50Iil9KTtmdW5jdGlvbiBUcGEodCl7cmV0dXJuIGpVKHQpLHR9ZnVuY3Rpb24gTHBhKHQsZSl7bGV0IGE7cmV0dXJuIHI7ZnVuY3Rpb24gcihsKXtyZXR1cm4gdC5lbnRlcigiY29udGVudCIpLGE9dC5lbnRlcigiY2h1bmtDb250ZW50Iix7Y29udGVudFR5cGU6ImNvbnRlbnQifSkscyhsKX1mdW5jdGlvbiBzKGwpe3JldHVybiBsPT09bnVsbD9uKGwpOkdlKGwpP3QuY2hlY2soX3BhLG8sbikobCk6KHQuY29uc3VtZShsKSxzKX1mdW5jdGlvbiBuKGwpe3JldHVybiB0LmV4aXQoImNodW5rQ29udGVudCIpLHQuZXhpdCgiY29udGVudCIpLGUobCl9ZnVuY3Rpb24gbyhsKXtyZXR1cm4gdC5jb25zdW1lKGwpLHQuZXhpdCgiY2h1bmtDb250ZW50IiksYS5uZXh0PXQuZW50ZXIoImNodW5rQ29udGVudCIse2NvbnRlbnRUeXBlOiJjb250ZW50IixwcmV2aW91czphfSksYT1hLm5leHQsc319ZnVuY3Rpb24gJHBhKHQsZSxhKXtsZXQgcj10aGlzO3JldHVybiBzO2Z1bmN0aW9uIHMobyl7cmV0dXJuIHQuZXhpdCgiY2h1bmtDb250ZW50IiksdC5lbnRlcigibGluZUVuZGluZyIpLHQuY29uc3VtZShvKSx0LmV4aXQoImxpbmVFbmRpbmciKSxndCh0LG4sImxpbmVQcmVmaXgiKX1mdW5jdGlvbiBuKG8pe2lmKG89PT1udWxsfHxHZShvKSlyZXR1cm4gYShvKTtsZXQgbD1yLmV2ZW50c1tyLmV2ZW50cy5sZW5ndGgtMV07cmV0dXJuIXIucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKSYmbCYmbFsxXS50eXBlPT09ImxpbmVQcmVmaXgiJiZsWzJdLnNsaWNlU2VyaWFsaXplKGxbMV0sITApLmxlbmd0aD49ND9lKG8pOnQuaW50ZXJydXB0KHIucGFyc2VyLmNvbnN0cnVjdHMuZmxvdyxhLGUpKG8pfX12YXIgcHJlLF9wYSxVc3Q9YygoKT0+e2MxKCk7VXQoKTtkcmUoKTtwcmU9e3Jlc29sdmU6VHBhLHRva2VuaXplOkxwYX0sX3BhPXtwYXJ0aWFsOiEwLHRva2VuaXplOiRwYX07aShUcGEsInJlc29sdmVDb250ZW50Iik7aShMcGEsInRva2VuaXplQ29udGVudCIpO2koJHBhLCJ0b2tlbml6ZUNvbnRpbnVhdGlvbiIpfSk7ZnVuY3Rpb24gVVUodCxlLGEscixzLG4sbyxsLGgpe2xldCB1PWh8fE51bWJlci5QT1NJVElWRV9JTkZJTklUWSxmPTA7cmV0dXJuIHA7ZnVuY3Rpb24gcCh5KXtyZXR1cm4geT09PTYwPyh0LmVudGVyKHIpLHQuZW50ZXIocyksdC5lbnRlcihuKSx0LmNvbnN1bWUoeSksdC5leGl0KG4pLGcpOnk9PT1udWxsfHx5PT09MzJ8fHk9PT00MXx8YjAoeSk/YSh5KToodC5lbnRlcihyKSx0LmVudGVyKG8pLHQuZW50ZXIobCksdC5lbnRlcigiY2h1bmtTdHJpbmciLHtjb250ZW50VHlwZToic3RyaW5nIn0pLGIoeSkpfWZ1bmN0aW9uIGcoeSl7cmV0dXJuIHk9PT02Mj8odC5lbnRlcihuKSx0LmNvbnN1bWUoeSksdC5leGl0KG4pLHQuZXhpdChzKSx0LmV4aXQociksZSk6KHQuZW50ZXIobCksdC5lbnRlcigiY2h1bmtTdHJpbmciLHtjb250ZW50VHlwZToic3RyaW5nIn0pLHYoeSkpfWZ1bmN0aW9uIHYoeSl7cmV0dXJuIHk9PT02Mj8odC5leGl0KCJjaHVua1N0cmluZyIpLHQuZXhpdChsKSxnKHkpKTp5PT09bnVsbHx8eT09PTYwfHxHZSh5KT9hKHkpOih0LmNvbnN1bWUoeSkseT09PTkyP3g6dil9ZnVuY3Rpb24geCh5KXtyZXR1cm4geT09PTYwfHx5PT09NjJ8fHk9PT05Mj8odC5jb25zdW1lKHkpLHYpOnYoeSl9ZnVuY3Rpb24gYih5KXtyZXR1cm4hZiYmKHk9PT1udWxsfHx5PT09NDF8fHF0KHkpKT8odC5leGl0KCJjaHVua1N0cmluZyIpLHQuZXhpdChsKSx0LmV4aXQobyksdC5leGl0KHIpLGUoeSkpOmY8dSYmeT09PTQwPyh0LmNvbnN1bWUoeSksZisrLGIpOnk9PT00MT8odC5jb25zdW1lKHkpLGYtLSxiKTp5PT09bnVsbHx8eT09PTMyfHx5PT09NDB8fGIwKHkpP2EoeSk6KHQuY29uc3VtZSh5KSx5PT09OTI/bTpiKX1mdW5jdGlvbiBtKHkpe3JldHVybiB5PT09NDB8fHk9PT00MXx8eT09PTkyPyh0LmNvbnN1bWUoeSksYik6Yih5KX19dmFyIHVyZT1jKCgpPT57VXQoKTtpKFVVLCJmYWN0b3J5RGVzdGluYXRpb24iKX0pO2Z1bmN0aW9uIFdVKHQsZSxhLHIscyxuKXtsZXQgbz10aGlzLGw9MCxoO3JldHVybiB1O2Z1bmN0aW9uIHUodil7cmV0dXJuIHQuZW50ZXIociksdC5lbnRlcihzKSx0LmNvbnN1bWUodiksdC5leGl0KHMpLHQuZW50ZXIobiksZn1mdW5jdGlvbiBmKHYpe3JldHVybiBsPjk5OXx8dj09PW51bGx8fHY9PT05MXx8dj09PTkzJiYhaHx8dj09PTk0JiYhbCYmIl9oaWRkZW5Gb290bm90ZVN1cHBvcnQiaW4gby5wYXJzZXIuY29uc3RydWN0cz9hKHYpOnY9PT05Mz8odC5leGl0KG4pLHQuZW50ZXIocyksdC5jb25zdW1lKHYpLHQuZXhpdChzKSx0LmV4aXQociksZSk6R2Uodik/KHQuZW50ZXIoImxpbmVFbmRpbmciKSx0LmNvbnN1bWUodiksdC5leGl0KCJsaW5lRW5kaW5nIiksZik6KHQuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSxwKHYpKX1mdW5jdGlvbiBwKHYpe3JldHVybiB2PT09bnVsbHx8dj09PTkxfHx2PT09OTN8fEdlKHYpfHxsKys+OTk5Pyh0LmV4aXQoImNodW5rU3RyaW5nIiksZih2KSk6KHQuY29uc3VtZSh2KSxofHwoaD0hbHQodikpLHY9PT05Mj9nOnApfWZ1bmN0aW9uIGcodil7cmV0dXJuIHY9PT05MXx8dj09PTkyfHx2PT09OTM/KHQuY29uc3VtZSh2KSxsKysscCk6cCh2KX19dmFyIGZyZT1jKCgpPT57VXQoKTtpKFdVLCJmYWN0b3J5TGFiZWwiKX0pO2Z1bmN0aW9uIEdVKHQsZSxhLHIscyxuKXtsZXQgbztyZXR1cm4gbDtmdW5jdGlvbiBsKGcpe3JldHVybiBnPT09MzR8fGc9PT0zOXx8Zz09PTQwPyh0LmVudGVyKHIpLHQuZW50ZXIocyksdC5jb25zdW1lKGcpLHQuZXhpdChzKSxvPWc9PT00MD80MTpnLGgpOmEoZyl9ZnVuY3Rpb24gaChnKXtyZXR1cm4gZz09PW8/KHQuZW50ZXIocyksdC5jb25zdW1lKGcpLHQuZXhpdChzKSx0LmV4aXQociksZSk6KHQuZW50ZXIobiksdShnKSl9ZnVuY3Rpb24gdShnKXtyZXR1cm4gZz09PW8/KHQuZXhpdChuKSxoKG8pKTpnPT09bnVsbD9hKGcpOkdlKGcpPyh0LmVudGVyKCJsaW5lRW5kaW5nIiksdC5jb25zdW1lKGcpLHQuZXhpdCgibGluZUVuZGluZyIpLGd0KHQsdSwibGluZVByZWZpeCIpKToodC5lbnRlcigiY2h1bmtTdHJpbmciLHtjb250ZW50VHlwZToic3RyaW5nIn0pLGYoZykpfWZ1bmN0aW9uIGYoZyl7cmV0dXJuIGc9PT1vfHxnPT09bnVsbHx8R2UoZyk/KHQuZXhpdCgiY2h1bmtTdHJpbmciKSx1KGcpKToodC5jb25zdW1lKGcpLGc9PT05Mj9wOmYpfWZ1bmN0aW9uIHAoZyl7cmV0dXJuIGc9PT1vfHxnPT09OTI/KHQuY29uc3VtZShnKSxmKTpmKGcpfX12YXIgaHJlPWMoKCk9PntjMSgpO1V0KCk7aShHVSwiZmFjdG9yeVRpdGxlIil9KTtmdW5jdGlvbiB6MCh0LGUpe2xldCBhO3JldHVybiByO2Z1bmN0aW9uIHIocyl7cmV0dXJuIEdlKHMpPyh0LmVudGVyKCJsaW5lRW5kaW5nIiksdC5jb25zdW1lKHMpLHQuZXhpdCgibGluZUVuZGluZyIpLGE9ITAscik6bHQocyk/Z3QodCxyLGE/ImxpbmVQcmVmaXgiOiJsaW5lU3VmZml4Iikocyk6ZShzKX19dmFyIG1yZT1jKCgpPT57YzEoKTtVdCgpO2koejAsImZhY3RvcnlXaGl0ZXNwYWNlIil9KTtmdW5jdGlvbiBBcGEodCxlLGEpe2xldCByPXRoaXMscztyZXR1cm4gbjtmdW5jdGlvbiBuKHYpe3JldHVybiB0LmVudGVyKCJkZWZpbml0aW9uIiksbyh2KX1mdW5jdGlvbiBvKHYpe3JldHVybiBXVS5jYWxsKHIsdCxsLGEsImRlZmluaXRpb25MYWJlbCIsImRlZmluaXRpb25MYWJlbE1hcmtlciIsImRlZmluaXRpb25MYWJlbFN0cmluZyIpKHYpfWZ1bmN0aW9uIGwodil7cmV0dXJuIHM9cjEoci5zbGljZVNlcmlhbGl6ZShyLmV2ZW50c1tyLmV2ZW50cy5sZW5ndGgtMV1bMV0pLnNsaWNlKDEsLTEpKSx2PT09NTg/KHQuZW50ZXIoImRlZmluaXRpb25NYXJrZXIiKSx0LmNvbnN1bWUodiksdC5leGl0KCJkZWZpbml0aW9uTWFya2VyIiksaCk6YSh2KX1mdW5jdGlvbiBoKHYpe3JldHVybiBxdCh2KT96MCh0LHUpKHYpOnUodil9ZnVuY3Rpb24gdSh2KXtyZXR1cm4gVVUodCxmLGEsImRlZmluaXRpb25EZXN0aW5hdGlvbiIsImRlZmluaXRpb25EZXN0aW5hdGlvbkxpdGVyYWwiLCJkZWZpbml0aW9uRGVzdGluYXRpb25MaXRlcmFsTWFya2VyIiwiZGVmaW5pdGlvbkRlc3RpbmF0aW9uUmF3IiwiZGVmaW5pdGlvbkRlc3RpbmF0aW9uU3RyaW5nIikodil9ZnVuY3Rpb24gZih2KXtyZXR1cm4gdC5hdHRlbXB0KERwYSxwLHApKHYpfWZ1bmN0aW9uIHAodil7cmV0dXJuIGx0KHYpP2d0KHQsZywid2hpdGVzcGFjZSIpKHYpOmcodil9ZnVuY3Rpb24gZyh2KXtyZXR1cm4gdj09PW51bGx8fEdlKHYpPyh0LmV4aXQoImRlZmluaXRpb24iKSxyLnBhcnNlci5kZWZpbmVkLnB1c2gocyksZSh2KSk6YSh2KX19ZnVuY3Rpb24gUHBhKHQsZSxhKXtyZXR1cm4gcjtmdW5jdGlvbiByKGwpe3JldHVybiBxdChsKT96MCh0LHMpKGwpOmEobCl9ZnVuY3Rpb24gcyhsKXtyZXR1cm4gR1UodCxuLGEsImRlZmluaXRpb25UaXRsZSIsImRlZmluaXRpb25UaXRsZU1hcmtlciIsImRlZmluaXRpb25UaXRsZVN0cmluZyIpKGwpfWZ1bmN0aW9uIG4obCl7cmV0dXJuIGx0KGwpP2d0KHQsbywid2hpdGVzcGFjZSIpKGwpOm8obCl9ZnVuY3Rpb24gbyhsKXtyZXR1cm4gbD09PW51bGx8fEdlKGwpP2UobCk6YShsKX19dmFyIGdyZSxEcGEsV3N0PWMoKCk9Pnt1cmUoKTtmcmUoKTtjMSgpO2hyZSgpO21yZSgpO1V0KCk7SG4oKTtncmU9e25hbWU6ImRlZmluaXRpb24iLHRva2VuaXplOkFwYX0sRHBhPXtwYXJ0aWFsOiEwLHRva2VuaXplOlBwYX07aShBcGEsInRva2VuaXplRGVmaW5pdGlvbiIpO2koUHBhLCJ0b2tlbml6ZVRpdGxlQmVmb3JlIil9KTtmdW5jdGlvbiBFcGEodCxlLGEpe3JldHVybiByO2Z1bmN0aW9uIHIobil7cmV0dXJuIHQuZW50ZXIoImhhcmRCcmVha0VzY2FwZSIpLHQuY29uc3VtZShuKSxzfWZ1bmN0aW9uIHMobil7cmV0dXJuIEdlKG4pPyh0LmV4aXQoImhhcmRCcmVha0VzY2FwZSIpLGUobikpOmEobil9fXZhciBicmUsR3N0PWMoKCk9PntVdCgpO2JyZT17bmFtZToiaGFyZEJyZWFrRXNjYXBlIix0b2tlbml6ZTpFcGF9O2koRXBhLCJ0b2tlbml6ZUhhcmRCcmVha0VzY2FwZSIpfSk7ZnVuY3Rpb24gSXBhKHQsZSl7bGV0IGE9dC5sZW5ndGgtMixyPTMscyxuO3JldHVybiB0W3JdWzFdLnR5cGU9PT0id2hpdGVzcGFjZSImJihyKz0yKSxhLTI+ciYmdFthXVsxXS50eXBlPT09IndoaXRlc3BhY2UiJiYoYS09MiksdFthXVsxXS50eXBlPT09ImF0eEhlYWRpbmdTZXF1ZW5jZSImJihyPT09YS0xfHxhLTQ+ciYmdFthLTJdWzFdLnR5cGU9PT0id2hpdGVzcGFjZSIpJiYoYS09cisxPT09YT8yOjQpLGE+ciYmKHM9e3R5cGU6ImF0eEhlYWRpbmdUZXh0IixzdGFydDp0W3JdWzFdLnN0YXJ0LGVuZDp0W2FdWzFdLmVuZH0sbj17dHlwZToiY2h1bmtUZXh0IixzdGFydDp0W3JdWzFdLnN0YXJ0LGVuZDp0W2FdWzFdLmVuZCxjb250ZW50VHlwZToidGV4dCJ9LGwxKHQscixhLXIrMSxbWyJlbnRlciIscyxlXSxbImVudGVyIixuLGVdLFsiZXhpdCIsbixlXSxbImV4aXQiLHMsZV1dKSksdH1mdW5jdGlvbiBOcGEodCxlLGEpe2xldCByPTA7cmV0dXJuIHM7ZnVuY3Rpb24gcyhmKXtyZXR1cm4gdC5lbnRlcigiYXR4SGVhZGluZyIpLG4oZil9ZnVuY3Rpb24gbihmKXtyZXR1cm4gdC5lbnRlcigiYXR4SGVhZGluZ1NlcXVlbmNlIiksbyhmKX1mdW5jdGlvbiBvKGYpe3JldHVybiBmPT09MzUmJnIrKzw2Pyh0LmNvbnN1bWUoZiksbyk6Zj09PW51bGx8fHF0KGYpPyh0LmV4aXQoImF0eEhlYWRpbmdTZXF1ZW5jZSIpLGwoZikpOmEoZil9ZnVuY3Rpb24gbChmKXtyZXR1cm4gZj09PTM1Pyh0LmVudGVyKCJhdHhIZWFkaW5nU2VxdWVuY2UiKSxoKGYpKTpmPT09bnVsbHx8R2UoZik/KHQuZXhpdCgiYXR4SGVhZGluZyIpLGUoZikpOmx0KGYpP2d0KHQsbCwid2hpdGVzcGFjZSIpKGYpOih0LmVudGVyKCJhdHhIZWFkaW5nVGV4dCIpLHUoZikpfWZ1bmN0aW9uIGgoZil7cmV0dXJuIGY9PT0zNT8odC5jb25zdW1lKGYpLGgpOih0LmV4aXQoImF0eEhlYWRpbmdTZXF1ZW5jZSIpLGwoZikpfWZ1bmN0aW9uIHUoZil7cmV0dXJuIGY9PT1udWxsfHxmPT09MzV8fHF0KGYpPyh0LmV4aXQoImF0eEhlYWRpbmdUZXh0IiksbChmKSk6KHQuY29uc3VtZShmKSx1KX19dmFyIHZyZSxZc3Q9YygoKT0+e2MxKCk7VXQoKTtnMigpO3ZyZT17bmFtZToiaGVhZGluZ0F0eCIscmVzb2x2ZTpJcGEsdG9rZW5pemU6TnBhfTtpKElwYSwicmVzb2x2ZUhlYWRpbmdBdHgiKTtpKE5wYSwidG9rZW5pemVIZWFkaW5nQXR4Iil9KTt2YXIgWnN0LHhyZSxYc3Q9YygoKT0+e1pzdD1bImFkZHJlc3MiLCJhcnRpY2xlIiwiYXNpZGUiLCJiYXNlIiwiYmFzZWZvbnQiLCJibG9ja3F1b3RlIiwiYm9keSIsImNhcHRpb24iLCJjZW50ZXIiLCJjb2wiLCJjb2xncm91cCIsImRkIiwiZGV0YWlscyIsImRpYWxvZyIsImRpciIsImRpdiIsImRsIiwiZHQiLCJmaWVsZHNldCIsImZpZ2NhcHRpb24iLCJmaWd1cmUiLCJmb290ZXIiLCJmb3JtIiwiZnJhbWUiLCJmcmFtZXNldCIsImgxIiwiaDIiLCJoMyIsImg0IiwiaDUiLCJoNiIsImhlYWQiLCJoZWFkZXIiLCJociIsImh0bWwiLCJpZnJhbWUiLCJsZWdlbmQiLCJsaSIsImxpbmsiLCJtYWluIiwibWVudSIsIm1lbnVpdGVtIiwibmF2Iiwibm9mcmFtZXMiLCJvbCIsIm9wdGdyb3VwIiwib3B0aW9uIiwicCIsInBhcmFtIiwic2VhcmNoIiwic2VjdGlvbiIsInN1bW1hcnkiLCJ0YWJsZSIsInRib2R5IiwidGQiLCJ0Zm9vdCIsInRoIiwidGhlYWQiLCJ0aXRsZSIsInRyIiwidHJhY2siLCJ1bCJdLHhyZT1bInByZSIsInNjcmlwdCIsInN0eWxlIiwidGV4dGFyZWEiXX0pO2Z1bmN0aW9uIE9wYSh0KXtsZXQgZT10Lmxlbmd0aDtmb3IoO2UtLSYmISh0W2VdWzBdPT09ImVudGVyIiYmdFtlXVsxXS50eXBlPT09Imh0bWxGbG93Iik7KTtyZXR1cm4gZT4xJiZ0W2UtMl1bMV0udHlwZT09PSJsaW5lUHJlZml4IiYmKHRbZV1bMV0uc3RhcnQ9dFtlLTJdWzFdLnN0YXJ0LHRbZSsxXVsxXS5zdGFydD10W2UtMl1bMV0uc3RhcnQsdC5zcGxpY2UoZS0yLDIpKSx0fWZ1bmN0aW9uIEJwYSh0LGUsYSl7bGV0IHI9dGhpcyxzLG4sbyxsLGg7cmV0dXJuIHU7ZnVuY3Rpb24gdShCKXtyZXR1cm4gZihCKX1mdW5jdGlvbiBmKEIpe3JldHVybiB0LmVudGVyKCJodG1sRmxvdyIpLHQuZW50ZXIoImh0bWxGbG93RGF0YSIpLHQuY29uc3VtZShCKSxwfWZ1bmN0aW9uIHAoQil7cmV0dXJuIEI9PT0zMz8odC5jb25zdW1lKEIpLGcpOkI9PT00Nz8odC5jb25zdW1lKEIpLG49ITAsYik6Qj09PTYzPyh0LmNvbnN1bWUoQikscz0zLHIuaW50ZXJydXB0P2U6Tyk6RDEoQik/KHQuY29uc3VtZShCKSxvPVN0cmluZy5mcm9tQ2hhckNvZGUoQiksbSk6YShCKX1mdW5jdGlvbiBnKEIpe3JldHVybiBCPT09NDU/KHQuY29uc3VtZShCKSxzPTIsdik6Qj09PTkxPyh0LmNvbnN1bWUoQikscz01LGw9MCx4KTpEMShCKT8odC5jb25zdW1lKEIpLHM9NCxyLmludGVycnVwdD9lOk8pOmEoQil9ZnVuY3Rpb24gdihCKXtyZXR1cm4gQj09PTQ1Pyh0LmNvbnN1bWUoQiksci5pbnRlcnJ1cHQ/ZTpPKTphKEIpfWZ1bmN0aW9uIHgoQil7bGV0IGVlPSJDREFUQVsiO3JldHVybiBCPT09ZWUuY2hhckNvZGVBdChsKyspPyh0LmNvbnN1bWUoQiksbD09PWVlLmxlbmd0aD9yLmludGVycnVwdD9lOno6eCk6YShCKX1mdW5jdGlvbiBiKEIpe3JldHVybiBEMShCKT8odC5jb25zdW1lKEIpLG89U3RyaW5nLmZyb21DaGFyQ29kZShCKSxtKTphKEIpfWZ1bmN0aW9uIG0oQil7aWYoQj09PW51bGx8fEI9PT00N3x8Qj09PTYyfHxxdChCKSl7bGV0IGVlPUI9PT00NyxDZT1vLnRvTG93ZXJDYXNlKCk7cmV0dXJuIWVlJiYhbiYmeHJlLmluY2x1ZGVzKENlKT8ocz0xLHIuaW50ZXJydXB0P2UoQik6eihCKSk6WnN0LmluY2x1ZGVzKG8udG9Mb3dlckNhc2UoKSk/KHM9NixlZT8odC5jb25zdW1lKEIpLHkpOnIuaW50ZXJydXB0P2UoQik6eihCKSk6KHM9NyxyLmludGVycnVwdCYmIXIucGFyc2VyLmxhenlbci5ub3coKS5saW5lXT9hKEIpOm4/TShCKTprKEIpKX1yZXR1cm4gQj09PTQ1fHxhMShCKT8odC5jb25zdW1lKEIpLG8rPVN0cmluZy5mcm9tQ2hhckNvZGUoQiksbSk6YShCKX1mdW5jdGlvbiB5KEIpe3JldHVybiBCPT09NjI/KHQuY29uc3VtZShCKSxyLmludGVycnVwdD9lOnopOmEoQil9ZnVuY3Rpb24gTShCKXtyZXR1cm4gbHQoQik/KHQuY29uc3VtZShCKSxNKTpqKEIpfWZ1bmN0aW9uIGsoQil7cmV0dXJuIEI9PT00Nz8odC5jb25zdW1lKEIpLGopOkI9PT01OHx8Qj09PTk1fHxEMShCKT8odC5jb25zdW1lKEIpLEUpOmx0KEIpPyh0LmNvbnN1bWUoQiksayk6aihCKX1mdW5jdGlvbiBFKEIpe3JldHVybiBCPT09NDV8fEI9PT00Nnx8Qj09PTU4fHxCPT09OTV8fGExKEIpPyh0LmNvbnN1bWUoQiksRSk6XyhCKX1mdW5jdGlvbiBfKEIpe3JldHVybiBCPT09NjE/KHQuY29uc3VtZShCKSxDKTpsdChCKT8odC5jb25zdW1lKEIpLF8pOmsoQil9ZnVuY3Rpb24gQyhCKXtyZXR1cm4gQj09PW51bGx8fEI9PT02MHx8Qj09PTYxfHxCPT09NjJ8fEI9PT05Nj9hKEIpOkI9PT0zNHx8Qj09PTM5Pyh0LmNvbnN1bWUoQiksaD1CLE4pOmx0KEIpPyh0LmNvbnN1bWUoQiksQyk6JChCKX1mdW5jdGlvbiBOKEIpe3JldHVybiBCPT09aD8odC5jb25zdW1lKEIpLGg9bnVsbCxJKTpCPT09bnVsbHx8R2UoQik/YShCKToodC5jb25zdW1lKEIpLE4pfWZ1bmN0aW9uICQoQil7cmV0dXJuIEI9PT1udWxsfHxCPT09MzR8fEI9PT0zOXx8Qj09PTQ3fHxCPT09NjB8fEI9PT02MXx8Qj09PTYyfHxCPT09OTZ8fHF0KEIpP18oQik6KHQuY29uc3VtZShCKSwkKX1mdW5jdGlvbiBJKEIpe3JldHVybiBCPT09NDd8fEI9PT02Mnx8bHQoQik/ayhCKTphKEIpfWZ1bmN0aW9uIGooQil7cmV0dXJuIEI9PT02Mj8odC5jb25zdW1lKEIpLFMpOmEoQil9ZnVuY3Rpb24gUyhCKXtyZXR1cm4gQj09PW51bGx8fEdlKEIpP3ooQik6bHQoQik/KHQuY29uc3VtZShCKSxTKTphKEIpfWZ1bmN0aW9uIHooQil7cmV0dXJuIEI9PT00NSYmcz09PTI/KHQuY29uc3VtZShCKSxVKTpCPT09NjAmJnM9PT0xPyh0LmNvbnN1bWUoQiksUik6Qj09PTYyJiZzPT09ND8odC5jb25zdW1lKEIpLHJlKTpCPT09NjMmJnM9PT0zPyh0LmNvbnN1bWUoQiksTyk6Qj09PTkzJiZzPT09NT8odC5jb25zdW1lKEIpLG9lKTpHZShCKSYmKHM9PT02fHxzPT09Nyk/KHQuZXhpdCgiaHRtbEZsb3dEYXRhIiksdC5jaGVjayhScGEseWUsRCkoQikpOkI9PT1udWxsfHxHZShCKT8odC5leGl0KCJodG1sRmxvd0RhdGEiKSxEKEIpKToodC5jb25zdW1lKEIpLHopfWZ1bmN0aW9uIEQoQil7cmV0dXJuIHQuY2hlY2soRnBhLFQseWUpKEIpfWZ1bmN0aW9uIFQoQil7cmV0dXJuIHQuZW50ZXIoImxpbmVFbmRpbmciKSx0LmNvbnN1bWUoQiksdC5leGl0KCJsaW5lRW5kaW5nIiksQX1mdW5jdGlvbiBBKEIpe3JldHVybiBCPT09bnVsbHx8R2UoQik/RChCKToodC5lbnRlcigiaHRtbEZsb3dEYXRhIikseihCKSl9ZnVuY3Rpb24gVShCKXtyZXR1cm4gQj09PTQ1Pyh0LmNvbnN1bWUoQiksTyk6eihCKX1mdW5jdGlvbiBSKEIpe3JldHVybiBCPT09NDc/KHQuY29uc3VtZShCKSxvPSIiLHEpOnooQil9ZnVuY3Rpb24gcShCKXtpZihCPT09NjIpe2xldCBlZT1vLnRvTG93ZXJDYXNlKCk7cmV0dXJuIHhyZS5pbmNsdWRlcyhlZSk/KHQuY29uc3VtZShCKSxyZSk6eihCKX1yZXR1cm4gRDEoQikmJm8ubGVuZ3RoPDg/KHQuY29uc3VtZShCKSxvKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEIpLHEpOnooQil9ZnVuY3Rpb24gb2UoQil7cmV0dXJuIEI9PT05Mz8odC5jb25zdW1lKEIpLE8pOnooQil9ZnVuY3Rpb24gTyhCKXtyZXR1cm4gQj09PTYyPyh0LmNvbnN1bWUoQikscmUpOkI9PT00NSYmcz09PTI/KHQuY29uc3VtZShCKSxPKTp6KEIpfWZ1bmN0aW9uIHJlKEIpe3JldHVybiBCPT09bnVsbHx8R2UoQik/KHQuZXhpdCgiaHRtbEZsb3dEYXRhIikseWUoQikpOih0LmNvbnN1bWUoQikscmUpfWZ1bmN0aW9uIHllKEIpe3JldHVybiB0LmV4aXQoImh0bWxGbG93IiksZShCKX19ZnVuY3Rpb24gSHBhKHQsZSxhKXtsZXQgcj10aGlzO3JldHVybiBzO2Z1bmN0aW9uIHMobyl7cmV0dXJuIEdlKG8pPyh0LmVudGVyKCJsaW5lRW5kaW5nIiksdC5jb25zdW1lKG8pLHQuZXhpdCgibGluZUVuZGluZyIpLG4pOmEobyl9ZnVuY3Rpb24gbihvKXtyZXR1cm4gci5wYXJzZXIubGF6eVtyLm5vdygpLmxpbmVdP2Eobyk6ZShvKX19ZnVuY3Rpb24gcXBhKHQsZSxhKXtyZXR1cm4gcjtmdW5jdGlvbiByKHMpe3JldHVybiB0LmVudGVyKCJsaW5lRW5kaW5nIiksdC5jb25zdW1lKHMpLHQuZXhpdCgibGluZUVuZGluZyIpLHQuYXR0ZW1wdCh5MixlLGEpfX12YXIgeXJlLFJwYSxGcGEsS3N0PWMoKCk9PntVdCgpO1hzdCgpO09VKCk7eXJlPXtjb25jcmV0ZTohMCxuYW1lOiJodG1sRmxvdyIscmVzb2x2ZVRvOk9wYSx0b2tlbml6ZTpCcGF9LFJwYT17cGFydGlhbDohMCx0b2tlbml6ZTpxcGF9LEZwYT17cGFydGlhbDohMCx0b2tlbml6ZTpIcGF9O2koT3BhLCJyZXNvbHZlVG9IdG1sRmxvdyIpO2koQnBhLCJ0b2tlbml6ZUh0bWxGbG93Iik7aShIcGEsInRva2VuaXplTm9uTGF6eUNvbnRpbnVhdGlvblN0YXJ0Iik7aShxcGEsInRva2VuaXplQmxhbmtMaW5lQmVmb3JlIil9KTtmdW5jdGlvbiBWcGEodCxlLGEpe2xldCByPXRoaXMscyxuLG87cmV0dXJuIGw7ZnVuY3Rpb24gbChPKXtyZXR1cm4gdC5lbnRlcigiaHRtbFRleHQiKSx0LmVudGVyKCJodG1sVGV4dERhdGEiKSx0LmNvbnN1bWUoTyksaH1mdW5jdGlvbiBoKE8pe3JldHVybiBPPT09MzM/KHQuY29uc3VtZShPKSx1KTpPPT09NDc/KHQuY29uc3VtZShPKSxfKTpPPT09NjM/KHQuY29uc3VtZShPKSxrKTpEMShPKT8odC5jb25zdW1lKE8pLCQpOmEoTyl9ZnVuY3Rpb24gdShPKXtyZXR1cm4gTz09PTQ1Pyh0LmNvbnN1bWUoTyksZik6Tz09PTkxPyh0LmNvbnN1bWUoTyksbj0wLHgpOkQxKE8pPyh0LmNvbnN1bWUoTyksTSk6YShPKX1mdW5jdGlvbiBmKE8pe3JldHVybiBPPT09NDU/KHQuY29uc3VtZShPKSx2KTphKE8pfWZ1bmN0aW9uIHAoTyl7cmV0dXJuIE89PT1udWxsP2EoTyk6Tz09PTQ1Pyh0LmNvbnN1bWUoTyksZyk6R2UoTyk/KG89cCxSKE8pKToodC5jb25zdW1lKE8pLHApfWZ1bmN0aW9uIGcoTyl7cmV0dXJuIE89PT00NT8odC5jb25zdW1lKE8pLHYpOnAoTyl9ZnVuY3Rpb24gdihPKXtyZXR1cm4gTz09PTYyP1UoTyk6Tz09PTQ1P2coTyk6cChPKX1mdW5jdGlvbiB4KE8pe2xldCByZT0iQ0RBVEFbIjtyZXR1cm4gTz09PXJlLmNoYXJDb2RlQXQobisrKT8odC5jb25zdW1lKE8pLG49PT1yZS5sZW5ndGg/Yjp4KTphKE8pfWZ1bmN0aW9uIGIoTyl7cmV0dXJuIE89PT1udWxsP2EoTyk6Tz09PTkzPyh0LmNvbnN1bWUoTyksbSk6R2UoTyk/KG89YixSKE8pKToodC5jb25zdW1lKE8pLGIpfWZ1bmN0aW9uIG0oTyl7cmV0dXJuIE89PT05Mz8odC5jb25zdW1lKE8pLHkpOmIoTyl9ZnVuY3Rpb24geShPKXtyZXR1cm4gTz09PTYyP1UoTyk6Tz09PTkzPyh0LmNvbnN1bWUoTykseSk6YihPKX1mdW5jdGlvbiBNKE8pe3JldHVybiBPPT09bnVsbHx8Tz09PTYyP1UoTyk6R2UoTyk/KG89TSxSKE8pKToodC5jb25zdW1lKE8pLE0pfWZ1bmN0aW9uIGsoTyl7cmV0dXJuIE89PT1udWxsP2EoTyk6Tz09PTYzPyh0LmNvbnN1bWUoTyksRSk6R2UoTyk/KG89ayxSKE8pKToodC5jb25zdW1lKE8pLGspfWZ1bmN0aW9uIEUoTyl7cmV0dXJuIE89PT02Mj9VKE8pOmsoTyl9ZnVuY3Rpb24gXyhPKXtyZXR1cm4gRDEoTyk/KHQuY29uc3VtZShPKSxDKTphKE8pfWZ1bmN0aW9uIEMoTyl7cmV0dXJuIE89PT00NXx8YTEoTyk/KHQuY29uc3VtZShPKSxDKTpOKE8pfWZ1bmN0aW9uIE4oTyl7cmV0dXJuIEdlKE8pPyhvPU4sUihPKSk6bHQoTyk/KHQuY29uc3VtZShPKSxOKTpVKE8pfWZ1bmN0aW9uICQoTyl7cmV0dXJuIE89PT00NXx8YTEoTyk/KHQuY29uc3VtZShPKSwkKTpPPT09NDd8fE89PT02Mnx8cXQoTyk/SShPKTphKE8pfWZ1bmN0aW9uIEkoTyl7cmV0dXJuIE89PT00Nz8odC5jb25zdW1lKE8pLFUpOk89PT01OHx8Tz09PTk1fHxEMShPKT8odC5jb25zdW1lKE8pLGopOkdlKE8pPyhvPUksUihPKSk6bHQoTyk/KHQuY29uc3VtZShPKSxJKTpVKE8pfWZ1bmN0aW9uIGooTyl7cmV0dXJuIE89PT00NXx8Tz09PTQ2fHxPPT09NTh8fE89PT05NXx8YTEoTyk/KHQuY29uc3VtZShPKSxqKTpTKE8pfWZ1bmN0aW9uIFMoTyl7cmV0dXJuIE89PT02MT8odC5jb25zdW1lKE8pLHopOkdlKE8pPyhvPVMsUihPKSk6bHQoTyk/KHQuY29uc3VtZShPKSxTKTpJKE8pfWZ1bmN0aW9uIHooTyl7cmV0dXJuIE89PT1udWxsfHxPPT09NjB8fE89PT02MXx8Tz09PTYyfHxPPT09OTY/YShPKTpPPT09MzR8fE89PT0zOT8odC5jb25zdW1lKE8pLHM9TyxEKTpHZShPKT8obz16LFIoTykpOmx0KE8pPyh0LmNvbnN1bWUoTykseik6KHQuY29uc3VtZShPKSxUKX1mdW5jdGlvbiBEKE8pe3JldHVybiBPPT09cz8odC5jb25zdW1lKE8pLHM9dm9pZCAwLEEpOk89PT1udWxsP2EoTyk6R2UoTyk/KG89RCxSKE8pKToodC5jb25zdW1lKE8pLEQpfWZ1bmN0aW9uIFQoTyl7cmV0dXJuIE89PT1udWxsfHxPPT09MzR8fE89PT0zOXx8Tz09PTYwfHxPPT09NjF8fE89PT05Nj9hKE8pOk89PT00N3x8Tz09PTYyfHxxdChPKT9JKE8pOih0LmNvbnN1bWUoTyksVCl9ZnVuY3Rpb24gQShPKXtyZXR1cm4gTz09PTQ3fHxPPT09NjJ8fHF0KE8pP0koTyk6YShPKX1mdW5jdGlvbiBVKE8pe3JldHVybiBPPT09NjI/KHQuY29uc3VtZShPKSx0LmV4aXQoImh0bWxUZXh0RGF0YSIpLHQuZXhpdCgiaHRtbFRleHQiKSxlKTphKE8pfWZ1bmN0aW9uIFIoTyl7cmV0dXJuIHQuZXhpdCgiaHRtbFRleHREYXRhIiksdC5lbnRlcigibGluZUVuZGluZyIpLHQuY29uc3VtZShPKSx0LmV4aXQoImxpbmVFbmRpbmciKSxxfWZ1bmN0aW9uIHEoTyl7cmV0dXJuIGx0KE8pP2d0KHQsb2UsImxpbmVQcmVmaXgiLHIucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKT92b2lkIDA6NCkoTyk6b2UoTyl9ZnVuY3Rpb24gb2UoTyl7cmV0dXJuIHQuZW50ZXIoImh0bWxUZXh0RGF0YSIpLG8oTyl9fXZhciB3cmUsUXN0PWMoKCk9PntjMSgpO1V0KCk7d3JlPXtuYW1lOiJodG1sVGV4dCIsdG9rZW5pemU6VnBhfTtpKFZwYSwidG9rZW5pemVIdG1sVGV4dCIpfSk7ZnVuY3Rpb24gR3BhKHQpe2xldCBlPS0xLGE9W107Zm9yKDsrK2U8dC5sZW5ndGg7KXtsZXQgcj10W2VdWzFdO2lmKGEucHVzaCh0W2VdKSxyLnR5cGU9PT0ibGFiZWxJbWFnZSJ8fHIudHlwZT09PSJsYWJlbExpbmsifHxyLnR5cGU9PT0ibGFiZWxFbmQiKXtsZXQgcz1yLnR5cGU9PT0ibGFiZWxJbWFnZSI/NDoyO3IudHlwZT0iZGF0YSIsZSs9c319cmV0dXJuIHQubGVuZ3RoIT09YS5sZW5ndGgmJmwxKHQsMCx0Lmxlbmd0aCxhKSx0fWZ1bmN0aW9uIFlwYSh0LGUpe2xldCBhPXQubGVuZ3RoLHI9MCxzLG4sbyxsO2Zvcig7YS0tOylpZihzPXRbYV1bMV0sbil7aWYocy50eXBlPT09ImxpbmsifHxzLnR5cGU9PT0ibGFiZWxMaW5rIiYmcy5faW5hY3RpdmUpYnJlYWs7dFthXVswXT09PSJlbnRlciImJnMudHlwZT09PSJsYWJlbExpbmsiJiYocy5faW5hY3RpdmU9ITApfWVsc2UgaWYobyl7aWYodFthXVswXT09PSJlbnRlciImJihzLnR5cGU9PT0ibGFiZWxJbWFnZSJ8fHMudHlwZT09PSJsYWJlbExpbmsiKSYmIXMuX2JhbGFuY2VkJiYobj1hLHMudHlwZSE9PSJsYWJlbExpbmsiKSl7cj0yO2JyZWFrfX1lbHNlIHMudHlwZT09PSJsYWJlbEVuZCImJihvPWEpO2xldCBoPXt0eXBlOnRbbl1bMV0udHlwZT09PSJsYWJlbExpbmsiPyJsaW5rIjoiaW1hZ2UiLHN0YXJ0OnsuLi50W25dWzFdLnN0YXJ0fSxlbmQ6ey4uLnRbdC5sZW5ndGgtMV1bMV0uZW5kfX0sdT17dHlwZToibGFiZWwiLHN0YXJ0OnsuLi50W25dWzFdLnN0YXJ0fSxlbmQ6ey4uLnRbb11bMV0uZW5kfX0sZj17dHlwZToibGFiZWxUZXh0IixzdGFydDp7Li4udFtuK3IrMl1bMV0uZW5kfSxlbmQ6ey4uLnRbby0yXVsxXS5zdGFydH19O3JldHVybiBsPVtbImVudGVyIixoLGVdLFsiZW50ZXIiLHUsZV1dLGw9ZzEobCx0LnNsaWNlKG4rMSxuK3IrMykpLGw9ZzEobCxbWyJlbnRlciIsZixlXV0pLGw9ZzEobCxWbihlLnBhcnNlci5jb25zdHJ1Y3RzLmluc2lkZVNwYW4ubnVsbCx0LnNsaWNlKG4rcis0LG8tMyksZSkpLGw9ZzEobCxbWyJleGl0IixmLGVdLHRbby0yXSx0W28tMV0sWyJleGl0Iix1LGVdXSksbD1nMShsLHQuc2xpY2UobysxKSksbD1nMShsLFtbImV4aXQiLGgsZV1dKSxsMSh0LG4sdC5sZW5ndGgsbCksdH1mdW5jdGlvbiBacGEodCxlLGEpe2xldCByPXRoaXMscz1yLmV2ZW50cy5sZW5ndGgsbixvO2Zvcig7cy0tOylpZigoci5ldmVudHNbc11bMV0udHlwZT09PSJsYWJlbEltYWdlInx8ci5ldmVudHNbc11bMV0udHlwZT09PSJsYWJlbExpbmsiKSYmIXIuZXZlbnRzW3NdWzFdLl9iYWxhbmNlZCl7bj1yLmV2ZW50c1tzXVsxXTticmVha31yZXR1cm4gbDtmdW5jdGlvbiBsKGcpe3JldHVybiBuP24uX2luYWN0aXZlP3AoZyk6KG89ci5wYXJzZXIuZGVmaW5lZC5pbmNsdWRlcyhyMShyLnNsaWNlU2VyaWFsaXplKHtzdGFydDpuLmVuZCxlbmQ6ci5ub3coKX0pKSksdC5lbnRlcigibGFiZWxFbmQiKSx0LmVudGVyKCJsYWJlbE1hcmtlciIpLHQuY29uc3VtZShnKSx0LmV4aXQoImxhYmVsTWFya2VyIiksdC5leGl0KCJsYWJlbEVuZCIpLGgpOmEoZyl9ZnVuY3Rpb24gaChnKXtyZXR1cm4gZz09PTQwP3QuYXR0ZW1wdChqcGEsZixvP2Y6cCkoZyk6Zz09PTkxP3QuYXR0ZW1wdChVcGEsZixvP3U6cCkoZyk6bz9mKGcpOnAoZyl9ZnVuY3Rpb24gdShnKXtyZXR1cm4gdC5hdHRlbXB0KFdwYSxmLHApKGcpfWZ1bmN0aW9uIGYoZyl7cmV0dXJuIGUoZyl9ZnVuY3Rpb24gcChnKXtyZXR1cm4gbi5fYmFsYW5jZWQ9ITAsYShnKX19ZnVuY3Rpb24gWHBhKHQsZSxhKXtyZXR1cm4gcjtmdW5jdGlvbiByKHApe3JldHVybiB0LmVudGVyKCJyZXNvdXJjZSIpLHQuZW50ZXIoInJlc291cmNlTWFya2VyIiksdC5jb25zdW1lKHApLHQuZXhpdCgicmVzb3VyY2VNYXJrZXIiKSxzfWZ1bmN0aW9uIHMocCl7cmV0dXJuIHF0KHApP3owKHQsbikocCk6bihwKX1mdW5jdGlvbiBuKHApe3JldHVybiBwPT09NDE/ZihwKTpVVSh0LG8sbCwicmVzb3VyY2VEZXN0aW5hdGlvbiIsInJlc291cmNlRGVzdGluYXRpb25MaXRlcmFsIiwicmVzb3VyY2VEZXN0aW5hdGlvbkxpdGVyYWxNYXJrZXIiLCJyZXNvdXJjZURlc3RpbmF0aW9uUmF3IiwicmVzb3VyY2VEZXN0aW5hdGlvblN0cmluZyIsMzIpKHApfWZ1bmN0aW9uIG8ocCl7cmV0dXJuIHF0KHApP3owKHQsaCkocCk6ZihwKX1mdW5jdGlvbiBsKHApe3JldHVybiBhKHApfWZ1bmN0aW9uIGgocCl7cmV0dXJuIHA9PT0zNHx8cD09PTM5fHxwPT09NDA/R1UodCx1LGEsInJlc291cmNlVGl0bGUiLCJyZXNvdXJjZVRpdGxlTWFya2VyIiwicmVzb3VyY2VUaXRsZVN0cmluZyIpKHApOmYocCl9ZnVuY3Rpb24gdShwKXtyZXR1cm4gcXQocCk/ejAodCxmKShwKTpmKHApfWZ1bmN0aW9uIGYocCl7cmV0dXJuIHA9PT00MT8odC5lbnRlcigicmVzb3VyY2VNYXJrZXIiKSx0LmNvbnN1bWUocCksdC5leGl0KCJyZXNvdXJjZU1hcmtlciIpLHQuZXhpdCgicmVzb3VyY2UiKSxlKTphKHApfX1mdW5jdGlvbiBLcGEodCxlLGEpe2xldCByPXRoaXM7cmV0dXJuIHM7ZnVuY3Rpb24gcyhsKXtyZXR1cm4gV1UuY2FsbChyLHQsbixvLCJyZWZlcmVuY2UiLCJyZWZlcmVuY2VNYXJrZXIiLCJyZWZlcmVuY2VTdHJpbmciKShsKX1mdW5jdGlvbiBuKGwpe3JldHVybiByLnBhcnNlci5kZWZpbmVkLmluY2x1ZGVzKHIxKHIuc2xpY2VTZXJpYWxpemUoci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdWzFdKS5zbGljZSgxLC0xKSkpP2UobCk6YShsKX1mdW5jdGlvbiBvKGwpe3JldHVybiBhKGwpfX1mdW5jdGlvbiBRcGEodCxlLGEpe3JldHVybiByO2Z1bmN0aW9uIHIobil7cmV0dXJuIHQuZW50ZXIoInJlZmVyZW5jZSIpLHQuZW50ZXIoInJlZmVyZW5jZU1hcmtlciIpLHQuY29uc3VtZShuKSx0LmV4aXQoInJlZmVyZW5jZU1hcmtlciIpLHN9ZnVuY3Rpb24gcyhuKXtyZXR1cm4gbj09PTkzPyh0LmVudGVyKCJyZWZlcmVuY2VNYXJrZXIiKSx0LmNvbnN1bWUobiksdC5leGl0KCJyZWZlcmVuY2VNYXJrZXIiKSx0LmV4aXQoInJlZmVyZW5jZSIpLGUpOmEobil9fXZhciBTMCxqcGEsVXBhLFdwYSxZVT1jKCgpPT57dXJlKCk7ZnJlKCk7aHJlKCk7bXJlKCk7VXQoKTtnMigpO0huKCk7bGYoKTtTMD17bmFtZToibGFiZWxFbmQiLHJlc29sdmVBbGw6R3BhLHJlc29sdmVUbzpZcGEsdG9rZW5pemU6WnBhfSxqcGE9e3Rva2VuaXplOlhwYX0sVXBhPXt0b2tlbml6ZTpLcGF9LFdwYT17dG9rZW5pemU6UXBhfTtpKEdwYSwicmVzb2x2ZUFsbExhYmVsRW5kIik7aShZcGEsInJlc29sdmVUb0xhYmVsRW5kIik7aShacGEsInRva2VuaXplTGFiZWxFbmQiKTtpKFhwYSwidG9rZW5pemVSZXNvdXJjZSIpO2koS3BhLCJ0b2tlbml6ZVJlZmVyZW5jZUZ1bGwiKTtpKFFwYSwidG9rZW5pemVSZWZlcmVuY2VDb2xsYXBzZWQiKX0pO2Z1bmN0aW9uIEpwYSh0LGUsYSl7bGV0IHI9dGhpcztyZXR1cm4gcztmdW5jdGlvbiBzKGwpe3JldHVybiB0LmVudGVyKCJsYWJlbEltYWdlIiksdC5lbnRlcigibGFiZWxJbWFnZU1hcmtlciIpLHQuY29uc3VtZShsKSx0LmV4aXQoImxhYmVsSW1hZ2VNYXJrZXIiKSxufWZ1bmN0aW9uIG4obCl7cmV0dXJuIGw9PT05MT8odC5lbnRlcigibGFiZWxNYXJrZXIiKSx0LmNvbnN1bWUobCksdC5leGl0KCJsYWJlbE1hcmtlciIpLHQuZXhpdCgibGFiZWxJbWFnZSIpLG8pOmEobCl9ZnVuY3Rpb24gbyhsKXtyZXR1cm4gbD09PTk0JiYiX2hpZGRlbkZvb3Rub3RlU3VwcG9ydCJpbiByLnBhcnNlci5jb25zdHJ1Y3RzP2EobCk6ZShsKX19dmFyIE1yZSxKc3Q9YygoKT0+e1lVKCk7TXJlPXtuYW1lOiJsYWJlbFN0YXJ0SW1hZ2UiLHJlc29sdmVBbGw6UzAucmVzb2x2ZUFsbCx0b2tlbml6ZTpKcGF9O2koSnBhLCJ0b2tlbml6ZUxhYmVsU3RhcnRJbWFnZSIpfSk7ZnVuY3Rpb24gZXVhKHQsZSxhKXtsZXQgcj10aGlzO3JldHVybiBzO2Z1bmN0aW9uIHMobyl7cmV0dXJuIHQuZW50ZXIoImxhYmVsTGluayIpLHQuZW50ZXIoImxhYmVsTWFya2VyIiksdC5jb25zdW1lKG8pLHQuZXhpdCgibGFiZWxNYXJrZXIiKSx0LmV4aXQoImxhYmVsTGluayIpLG59ZnVuY3Rpb24gbihvKXtyZXR1cm4gbz09PTk0JiYiX2hpZGRlbkZvb3Rub3RlU3VwcG9ydCJpbiByLnBhcnNlci5jb25zdHJ1Y3RzP2Eobyk6ZShvKX19dmFyIGtyZSxlMnQ9YygoKT0+e1lVKCk7a3JlPXtuYW1lOiJsYWJlbFN0YXJ0TGluayIscmVzb2x2ZUFsbDpTMC5yZXNvbHZlQWxsLHRva2VuaXplOmV1YX07aShldWEsInRva2VuaXplTGFiZWxTdGFydExpbmsiKX0pO2Z1bmN0aW9uIHR1YSh0LGUpe3JldHVybiBhO2Z1bmN0aW9uIGEocil7cmV0dXJuIHQuZW50ZXIoImxpbmVFbmRpbmciKSx0LmNvbnN1bWUociksdC5leGl0KCJsaW5lRW5kaW5nIiksZ3QodCxlLCJsaW5lUHJlZml4Iil9fXZhciBmZix0MnQ9YygoKT0+e2MxKCk7VXQoKTtmZj17bmFtZToibGluZUVuZGluZyIsdG9rZW5pemU6dHVhfTtpKHR1YSwidG9rZW5pemVMaW5lRW5kaW5nIil9KTtmdW5jdGlvbiBhdWEodCxlLGEpe2xldCByPTAscztyZXR1cm4gbjtmdW5jdGlvbiBuKHUpe3JldHVybiB0LmVudGVyKCJ0aGVtYXRpY0JyZWFrIiksbyh1KX1mdW5jdGlvbiBvKHUpe3JldHVybiBzPXUsbCh1KX1mdW5jdGlvbiBsKHUpe3JldHVybiB1PT09cz8odC5lbnRlcigidGhlbWF0aWNCcmVha1NlcXVlbmNlIiksaCh1KSk6cj49MyYmKHU9PT1udWxsfHxHZSh1KSk/KHQuZXhpdCgidGhlbWF0aWNCcmVhayIpLGUodSkpOmEodSl9ZnVuY3Rpb24gaCh1KXtyZXR1cm4gdT09PXM/KHQuY29uc3VtZSh1KSxyKyssaCk6KHQuZXhpdCgidGhlbWF0aWNCcmVha1NlcXVlbmNlIiksbHQodSk/Z3QodCxsLCJ3aGl0ZXNwYWNlIikodSk6bCh1KSl9fXZhciBDMCx6cmU9YygoKT0+e2MxKCk7VXQoKTtDMD17bmFtZToidGhlbWF0aWNCcmVhayIsdG9rZW5pemU6YXVhfTtpKGF1YSwidG9rZW5pemVUaGVtYXRpY0JyZWFrIil9KTtmdW5jdGlvbiBzdWEodCxlLGEpe2xldCByPXRoaXMscz1yLmV2ZW50c1tyLmV2ZW50cy5sZW5ndGgtMV0sbj1zJiZzWzFdLnR5cGU9PT0ibGluZVByZWZpeCI/c1syXS5zbGljZVNlcmlhbGl6ZShzWzFdLCEwKS5sZW5ndGg6MCxvPTA7cmV0dXJuIGw7ZnVuY3Rpb24gbCh2KXtsZXQgeD1yLmNvbnRhaW5lclN0YXRlLnR5cGV8fCh2PT09NDJ8fHY9PT00M3x8dj09PTQ1PyJsaXN0VW5vcmRlcmVkIjoibGlzdE9yZGVyZWQiKTtpZih4PT09Imxpc3RVbm9yZGVyZWQiPyFyLmNvbnRhaW5lclN0YXRlLm1hcmtlcnx8dj09PXIuY29udGFpbmVyU3RhdGUubWFya2VyOmFmKHYpKXtpZihyLmNvbnRhaW5lclN0YXRlLnR5cGV8fChyLmNvbnRhaW5lclN0YXRlLnR5cGU9eCx0LmVudGVyKHgse19jb250YWluZXI6ITB9KSkseD09PSJsaXN0VW5vcmRlcmVkIilyZXR1cm4gdC5lbnRlcigibGlzdEl0ZW1QcmVmaXgiKSx2PT09NDJ8fHY9PT00NT90LmNoZWNrKEMwLGEsdSkodik6dSh2KTtpZighci5pbnRlcnJ1cHR8fHY9PT00OSlyZXR1cm4gdC5lbnRlcigibGlzdEl0ZW1QcmVmaXgiKSx0LmVudGVyKCJsaXN0SXRlbVZhbHVlIiksaCh2KX1yZXR1cm4gYSh2KX1mdW5jdGlvbiBoKHYpe3JldHVybiBhZih2KSYmKytvPDEwPyh0LmNvbnN1bWUodiksaCk6KCFyLmludGVycnVwdHx8bzwyKSYmKHIuY29udGFpbmVyU3RhdGUubWFya2VyP3Y9PT1yLmNvbnRhaW5lclN0YXRlLm1hcmtlcjp2PT09NDF8fHY9PT00Nik/KHQuZXhpdCgibGlzdEl0ZW1WYWx1ZSIpLHUodikpOmEodil9ZnVuY3Rpb24gdSh2KXtyZXR1cm4gdC5lbnRlcigibGlzdEl0ZW1NYXJrZXIiKSx0LmNvbnN1bWUodiksdC5leGl0KCJsaXN0SXRlbU1hcmtlciIpLHIuY29udGFpbmVyU3RhdGUubWFya2VyPXIuY29udGFpbmVyU3RhdGUubWFya2VyfHx2LHQuY2hlY2soeTIsci5pbnRlcnJ1cHQ/YTpmLHQuYXR0ZW1wdChydWEsZyxwKSl9ZnVuY3Rpb24gZih2KXtyZXR1cm4gci5jb250YWluZXJTdGF0ZS5pbml0aWFsQmxhbmtMaW5lPSEwLG4rKyxnKHYpfWZ1bmN0aW9uIHAodil7cmV0dXJuIGx0KHYpPyh0LmVudGVyKCJsaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiKSx0LmNvbnN1bWUodiksdC5leGl0KCJsaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiKSxnKTphKHYpfWZ1bmN0aW9uIGcodil7cmV0dXJuIHIuY29udGFpbmVyU3RhdGUuc2l6ZT1uK3Iuc2xpY2VTZXJpYWxpemUodC5leGl0KCJsaXN0SXRlbVByZWZpeCIpLCEwKS5sZW5ndGgsZSh2KX19ZnVuY3Rpb24gb3VhKHQsZSxhKXtsZXQgcj10aGlzO3JldHVybiByLmNvbnRhaW5lclN0YXRlLl9jbG9zZUZsb3c9dm9pZCAwLHQuY2hlY2soeTIscyxuKTtmdW5jdGlvbiBzKGwpe3JldHVybiByLmNvbnRhaW5lclN0YXRlLmZ1cnRoZXJCbGFua0xpbmVzPXIuY29udGFpbmVyU3RhdGUuZnVydGhlckJsYW5rTGluZXN8fHIuY29udGFpbmVyU3RhdGUuaW5pdGlhbEJsYW5rTGluZSxndCh0LGUsImxpc3RJdGVtSW5kZW50IixyLmNvbnRhaW5lclN0YXRlLnNpemUrMSkobCl9aShzLCJvbkJsYW5rIik7ZnVuY3Rpb24gbihsKXtyZXR1cm4gci5jb250YWluZXJTdGF0ZS5mdXJ0aGVyQmxhbmtMaW5lc3x8IWx0KGwpPyhyLmNvbnRhaW5lclN0YXRlLmZ1cnRoZXJCbGFua0xpbmVzPXZvaWQgMCxyLmNvbnRhaW5lclN0YXRlLmluaXRpYWxCbGFua0xpbmU9dm9pZCAwLG8obCkpOihyLmNvbnRhaW5lclN0YXRlLmZ1cnRoZXJCbGFua0xpbmVzPXZvaWQgMCxyLmNvbnRhaW5lclN0YXRlLmluaXRpYWxCbGFua0xpbmU9dm9pZCAwLHQuYXR0ZW1wdChpdWEsZSxvKShsKSl9aShuLCJub3RCbGFuayIpO2Z1bmN0aW9uIG8obCl7cmV0dXJuIHIuY29udGFpbmVyU3RhdGUuX2Nsb3NlRmxvdz0hMCxyLmludGVycnVwdD12b2lkIDAsZ3QodCx0LmF0dGVtcHQod3IsZSxhKSwibGluZVByZWZpeCIsci5wYXJzZXIuY29uc3RydWN0cy5kaXNhYmxlLm51bGwuaW5jbHVkZXMoImNvZGVJbmRlbnRlZCIpP3ZvaWQgMDo0KShsKX1pKG8sIm5vdEluQ3VycmVudEl0ZW0iKX1mdW5jdGlvbiBudWEodCxlLGEpe2xldCByPXRoaXM7cmV0dXJuIGd0KHQscywibGlzdEl0ZW1JbmRlbnQiLHIuY29udGFpbmVyU3RhdGUuc2l6ZSsxKTtmdW5jdGlvbiBzKG4pe2xldCBvPXIuZXZlbnRzW3IuZXZlbnRzLmxlbmd0aC0xXTtyZXR1cm4gbyYmb1sxXS50eXBlPT09Imxpc3RJdGVtSW5kZW50IiYmb1syXS5zbGljZVNlcmlhbGl6ZShvWzFdLCEwKS5sZW5ndGg9PT1yLmNvbnRhaW5lclN0YXRlLnNpemU/ZShuKTphKG4pfX1mdW5jdGlvbiBsdWEodCl7dC5leGl0KHRoaXMuY29udGFpbmVyU3RhdGUudHlwZSl9ZnVuY3Rpb24gY3VhKHQsZSxhKXtsZXQgcj10aGlzO3JldHVybiBndCh0LHMsImxpc3RJdGVtUHJlZml4V2hpdGVzcGFjZSIsci5wYXJzZXIuY29uc3RydWN0cy5kaXNhYmxlLm51bGwuaW5jbHVkZXMoImNvZGVJbmRlbnRlZCIpP3ZvaWQgMDo1KTtmdW5jdGlvbiBzKG4pe2xldCBvPXIuZXZlbnRzW3IuZXZlbnRzLmxlbmd0aC0xXTtyZXR1cm4hbHQobikmJm8mJm9bMV0udHlwZT09PSJsaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiP2Uobik6YShuKX19dmFyIHdyLHJ1YSxpdWEsYTJ0PWMoKCk9PntjMSgpO1V0KCk7T1UoKTt6cmUoKTt3cj17Y29udGludWF0aW9uOnt0b2tlbml6ZTpvdWF9LGV4aXQ6bHVhLG5hbWU6Imxpc3QiLHRva2VuaXplOnN1YX0scnVhPXtwYXJ0aWFsOiEwLHRva2VuaXplOmN1YX0saXVhPXtwYXJ0aWFsOiEwLHRva2VuaXplOm51YX07aShzdWEsInRva2VuaXplTGlzdFN0YXJ0Iik7aShvdWEsInRva2VuaXplTGlzdENvbnRpbnVhdGlvbiIpO2kobnVhLCJ0b2tlbml6ZUluZGVudCIpO2kobHVhLCJ0b2tlbml6ZUxpc3RFbmQiKTtpKGN1YSwidG9rZW5pemVMaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiKX0pO2Z1bmN0aW9uIGR1YSh0LGUpe2xldCBhPXQubGVuZ3RoLHIscyxuO2Zvcig7YS0tOylpZih0W2FdWzBdPT09ImVudGVyIil7aWYodFthXVsxXS50eXBlPT09ImNvbnRlbnQiKXtyPWE7YnJlYWt9dFthXVsxXS50eXBlPT09InBhcmFncmFwaCImJihzPWEpfWVsc2UgdFthXVsxXS50eXBlPT09ImNvbnRlbnQiJiZ0LnNwbGljZShhLDEpLCFuJiZ0W2FdWzFdLnR5cGU9PT0iZGVmaW5pdGlvbiImJihuPWEpO2xldCBvPXt0eXBlOiJzZXRleHRIZWFkaW5nIixzdGFydDp7Li4udFtyXVsxXS5zdGFydH0sZW5kOnsuLi50W3QubGVuZ3RoLTFdWzFdLmVuZH19O3JldHVybiB0W3NdWzFdLnR5cGU9InNldGV4dEhlYWRpbmdUZXh0IixuPyh0LnNwbGljZShzLDAsWyJlbnRlciIsbyxlXSksdC5zcGxpY2UobisxLDAsWyJleGl0Iix0W3JdWzFdLGVdKSx0W3JdWzFdLmVuZD17Li4udFtuXVsxXS5lbmR9KTp0W3JdWzFdPW8sdC5wdXNoKFsiZXhpdCIsbyxlXSksdH1mdW5jdGlvbiBwdWEodCxlLGEpe2xldCByPXRoaXMscztyZXR1cm4gbjtmdW5jdGlvbiBuKHUpe2xldCBmPXIuZXZlbnRzLmxlbmd0aCxwO2Zvcig7Zi0tOylpZihyLmV2ZW50c1tmXVsxXS50eXBlIT09ImxpbmVFbmRpbmciJiZyLmV2ZW50c1tmXVsxXS50eXBlIT09ImxpbmVQcmVmaXgiJiZyLmV2ZW50c1tmXVsxXS50eXBlIT09ImNvbnRlbnQiKXtwPXIuZXZlbnRzW2ZdWzFdLnR5cGU9PT0icGFyYWdyYXBoIjticmVha31yZXR1cm4hci5wYXJzZXIubGF6eVtyLm5vdygpLmxpbmVdJiYoci5pbnRlcnJ1cHR8fHApPyh0LmVudGVyKCJzZXRleHRIZWFkaW5nTGluZSIpLHM9dSxvKHUpKTphKHUpfWZ1bmN0aW9uIG8odSl7cmV0dXJuIHQuZW50ZXIoInNldGV4dEhlYWRpbmdMaW5lU2VxdWVuY2UiKSxsKHUpfWZ1bmN0aW9uIGwodSl7cmV0dXJuIHU9PT1zPyh0LmNvbnN1bWUodSksbCk6KHQuZXhpdCgic2V0ZXh0SGVhZGluZ0xpbmVTZXF1ZW5jZSIpLGx0KHUpP2d0KHQsaCwibGluZVN1ZmZpeCIpKHUpOmgodSkpfWZ1bmN0aW9uIGgodSl7cmV0dXJuIHU9PT1udWxsfHxHZSh1KT8odC5leGl0KCJzZXRleHRIZWFkaW5nTGluZSIpLGUodSkpOmEodSl9fXZhciBaVSxyMnQ9YygoKT0+e2MxKCk7VXQoKTtaVT17bmFtZToic2V0ZXh0VW5kZXJsaW5lIixyZXNvbHZlVG86ZHVhLHRva2VuaXplOnB1YX07aShkdWEsInJlc29sdmVUb1NldGV4dFVuZGVybGluZSIpO2kocHVhLCJ0b2tlbml6ZVNldGV4dFVuZGVybGluZSIpfSk7dmFyIFhVPWMoKCk9PntOc3QoKTtSc3QoKTtPVSgpO0ZzdCgpO09zdCgpO0JzdCgpO3FzdCgpO1ZzdCgpO2pzdCgpO1VzdCgpO1dzdCgpO0dzdCgpO1lzdCgpO0tzdCgpO1FzdCgpO1lVKCk7SnN0KCk7ZTJ0KCk7dDJ0KCk7YTJ0KCk7cjJ0KCk7enJlKCl9KTtmdW5jdGlvbiBTcmUoKXtyZXR1cm57ZG9jdW1lbnQ6ezkxOntuYW1lOiJnZm1Gb290bm90ZURlZmluaXRpb24iLHRva2VuaXplOmd1YSxjb250aW51YXRpb246e3Rva2VuaXplOmJ1YX0sZXhpdDp2dWF9fSx0ZXh0Ons5MTp7bmFtZToiZ2ZtRm9vdG5vdGVDYWxsIix0b2tlbml6ZTptdWF9LDkzOntuYW1lOiJnZm1Qb3RlbnRpYWxGb290bm90ZUNhbGwiLGFkZDoiYWZ0ZXIiLHRva2VuaXplOmZ1YSxyZXNvbHZlVG86aHVhfX19fWZ1bmN0aW9uIGZ1YSh0LGUsYSl7bGV0IHI9dGhpcyxzPXIuZXZlbnRzLmxlbmd0aCxuPXIucGFyc2VyLmdmbUZvb3Rub3Rlc3x8KHIucGFyc2VyLmdmbUZvb3Rub3Rlcz1bXSksbztmb3IoO3MtLTspe2xldCBoPXIuZXZlbnRzW3NdWzFdO2lmKGgudHlwZT09PSJsYWJlbEltYWdlIil7bz1oO2JyZWFrfWlmKGgudHlwZT09PSJnZm1Gb290bm90ZUNhbGwifHxoLnR5cGU9PT0ibGFiZWxMaW5rInx8aC50eXBlPT09ImxhYmVsInx8aC50eXBlPT09ImltYWdlInx8aC50eXBlPT09ImxpbmsiKWJyZWFrfXJldHVybiBsO2Z1bmN0aW9uIGwoaCl7aWYoIW98fCFvLl9iYWxhbmNlZClyZXR1cm4gYShoKTtsZXQgdT1yMShyLnNsaWNlU2VyaWFsaXplKHtzdGFydDpvLmVuZCxlbmQ6ci5ub3coKX0pKTtyZXR1cm4gdS5jb2RlUG9pbnRBdCgwKSE9PTk0fHwhbi5pbmNsdWRlcyh1LnNsaWNlKDEpKT9hKGgpOih0LmVudGVyKCJnZm1Gb290bm90ZUNhbGxMYWJlbE1hcmtlciIpLHQuY29uc3VtZShoKSx0LmV4aXQoImdmbUZvb3Rub3RlQ2FsbExhYmVsTWFya2VyIiksZShoKSl9fWZ1bmN0aW9uIGh1YSh0LGUpe2xldCBhPXQubGVuZ3RoLHI7Zm9yKDthLS07KWlmKHRbYV1bMV0udHlwZT09PSJsYWJlbEltYWdlIiYmdFthXVswXT09PSJlbnRlciIpe3I9dFthXVsxXTticmVha310W2ErMV1bMV0udHlwZT0iZGF0YSIsdFthKzNdWzFdLnR5cGU9ImdmbUZvb3Rub3RlQ2FsbExhYmVsTWFya2VyIjtsZXQgcz17dHlwZToiZ2ZtRm9vdG5vdGVDYWxsIixzdGFydDpPYmplY3QuYXNzaWduKHt9LHRbYSszXVsxXS5zdGFydCksZW5kOk9iamVjdC5hc3NpZ24oe30sdFt0Lmxlbmd0aC0xXVsxXS5lbmQpfSxuPXt0eXBlOiJnZm1Gb290bm90ZUNhbGxNYXJrZXIiLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sdFthKzNdWzFdLmVuZCksZW5kOk9iamVjdC5hc3NpZ24oe30sdFthKzNdWzFdLmVuZCl9O24uZW5kLmNvbHVtbisrLG4uZW5kLm9mZnNldCsrLG4uZW5kLl9idWZmZXJJbmRleCsrO2xldCBvPXt0eXBlOiJnZm1Gb290bm90ZUNhbGxTdHJpbmciLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sbi5lbmQpLGVuZDpPYmplY3QuYXNzaWduKHt9LHRbdC5sZW5ndGgtMV1bMV0uc3RhcnQpfSxsPXt0eXBlOiJjaHVua1N0cmluZyIsY29udGVudFR5cGU6InN0cmluZyIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxvLnN0YXJ0KSxlbmQ6T2JqZWN0LmFzc2lnbih7fSxvLmVuZCl9LGg9W3RbYSsxXSx0W2ErMl0sWyJlbnRlciIscyxlXSx0W2ErM10sdFthKzRdLFsiZW50ZXIiLG4sZV0sWyJleGl0IixuLGVdLFsiZW50ZXIiLG8sZV0sWyJlbnRlciIsbCxlXSxbImV4aXQiLGwsZV0sWyJleGl0IixvLGVdLHRbdC5sZW5ndGgtMl0sdFt0Lmxlbmd0aC0xXSxbImV4aXQiLHMsZV1dO3JldHVybiB0LnNwbGljZShhLHQubGVuZ3RoLWErMSwuLi5oKSx0fWZ1bmN0aW9uIG11YSh0LGUsYSl7bGV0IHI9dGhpcyxzPXIucGFyc2VyLmdmbUZvb3Rub3Rlc3x8KHIucGFyc2VyLmdmbUZvb3Rub3Rlcz1bXSksbj0wLG87cmV0dXJuIGw7ZnVuY3Rpb24gbChwKXtyZXR1cm4gdC5lbnRlcigiZ2ZtRm9vdG5vdGVDYWxsIiksdC5lbnRlcigiZ2ZtRm9vdG5vdGVDYWxsTGFiZWxNYXJrZXIiKSx0LmNvbnN1bWUocCksdC5leGl0KCJnZm1Gb290bm90ZUNhbGxMYWJlbE1hcmtlciIpLGh9ZnVuY3Rpb24gaChwKXtyZXR1cm4gcCE9PTk0P2EocCk6KHQuZW50ZXIoImdmbUZvb3Rub3RlQ2FsbE1hcmtlciIpLHQuY29uc3VtZShwKSx0LmV4aXQoImdmbUZvb3Rub3RlQ2FsbE1hcmtlciIpLHQuZW50ZXIoImdmbUZvb3Rub3RlQ2FsbFN0cmluZyIpLHQuZW50ZXIoImNodW5rU3RyaW5nIikuY29udGVudFR5cGU9InN0cmluZyIsdSl9ZnVuY3Rpb24gdShwKXtpZihuPjk5OXx8cD09PTkzJiYhb3x8cD09PW51bGx8fHA9PT05MXx8cXQocCkpcmV0dXJuIGEocCk7aWYocD09PTkzKXt0LmV4aXQoImNodW5rU3RyaW5nIik7bGV0IGc9dC5leGl0KCJnZm1Gb290bm90ZUNhbGxTdHJpbmciKTtyZXR1cm4gcy5pbmNsdWRlcyhyMShyLnNsaWNlU2VyaWFsaXplKGcpKSk/KHQuZW50ZXIoImdmbUZvb3Rub3RlQ2FsbExhYmVsTWFya2VyIiksdC5jb25zdW1lKHApLHQuZXhpdCgiZ2ZtRm9vdG5vdGVDYWxsTGFiZWxNYXJrZXIiKSx0LmV4aXQoImdmbUZvb3Rub3RlQ2FsbCIpLGUpOmEocCl9cmV0dXJuIHF0KHApfHwobz0hMCksbisrLHQuY29uc3VtZShwKSxwPT09OTI/Zjp1fWZ1bmN0aW9uIGYocCl7cmV0dXJuIHA9PT05MXx8cD09PTkyfHxwPT09OTM/KHQuY29uc3VtZShwKSxuKyssdSk6dShwKX19ZnVuY3Rpb24gZ3VhKHQsZSxhKXtsZXQgcj10aGlzLHM9ci5wYXJzZXIuZ2ZtRm9vdG5vdGVzfHwoci5wYXJzZXIuZ2ZtRm9vdG5vdGVzPVtdKSxuLG89MCxsO3JldHVybiBoO2Z1bmN0aW9uIGgoeCl7cmV0dXJuIHQuZW50ZXIoImdmbUZvb3Rub3RlRGVmaW5pdGlvbiIpLl9jb250YWluZXI9ITAsdC5lbnRlcigiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWwiKSx0LmVudGVyKCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbE1hcmtlciIpLHQuY29uc3VtZSh4KSx0LmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsTWFya2VyIiksdX1mdW5jdGlvbiB1KHgpe3JldHVybiB4PT09OTQ/KHQuZW50ZXIoImdmbUZvb3Rub3RlRGVmaW5pdGlvbk1hcmtlciIpLHQuY29uc3VtZSh4KSx0LmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbk1hcmtlciIpLHQuZW50ZXIoImdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsU3RyaW5nIiksdC5lbnRlcigiY2h1bmtTdHJpbmciKS5jb250ZW50VHlwZT0ic3RyaW5nIixmKTphKHgpfWZ1bmN0aW9uIGYoeCl7aWYobz45OTl8fHg9PT05MyYmIWx8fHg9PT1udWxsfHx4PT09OTF8fHF0KHgpKXJldHVybiBhKHgpO2lmKHg9PT05Myl7dC5leGl0KCJjaHVua1N0cmluZyIpO2xldCBiPXQuZXhpdCgiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmciKTtyZXR1cm4gbj1yMShyLnNsaWNlU2VyaWFsaXplKGIpKSx0LmVudGVyKCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbE1hcmtlciIpLHQuY29uc3VtZSh4KSx0LmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsTWFya2VyIiksdC5leGl0KCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbCIpLGd9cmV0dXJuIHF0KHgpfHwobD0hMCksbysrLHQuY29uc3VtZSh4KSx4PT09OTI/cDpmfWZ1bmN0aW9uIHAoeCl7cmV0dXJuIHg9PT05MXx8eD09PTkyfHx4PT09OTM/KHQuY29uc3VtZSh4KSxvKyssZik6Zih4KX1mdW5jdGlvbiBnKHgpe3JldHVybiB4PT09NTg/KHQuZW50ZXIoImRlZmluaXRpb25NYXJrZXIiKSx0LmNvbnN1bWUoeCksdC5leGl0KCJkZWZpbml0aW9uTWFya2VyIikscy5pbmNsdWRlcyhuKXx8cy5wdXNoKG4pLGd0KHQsdiwiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uV2hpdGVzcGFjZSIpKTphKHgpfWZ1bmN0aW9uIHYoeCl7cmV0dXJuIGUoeCl9fWZ1bmN0aW9uIGJ1YSh0LGUsYSl7cmV0dXJuIHQuY2hlY2soeTIsZSx0LmF0dGVtcHQodXVhLGUsYSkpfWZ1bmN0aW9uIHZ1YSh0KXt0LmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbiIpfWZ1bmN0aW9uIHh1YSh0LGUsYSl7bGV0IHI9dGhpcztyZXR1cm4gZ3QodCxzLCJnZm1Gb290bm90ZURlZmluaXRpb25JbmRlbnQiLDUpO2Z1bmN0aW9uIHMobil7bGV0IG89ci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdO3JldHVybiBvJiZvWzFdLnR5cGU9PT0iZ2ZtRm9vdG5vdGVEZWZpbml0aW9uSW5kZW50IiYmb1syXS5zbGljZVNlcmlhbGl6ZShvWzFdLCEwKS5sZW5ndGg9PT00P2Uobik6YShuKX19dmFyIHV1YSxpMnQ9YygoKT0+e1hVKCk7YzEoKTtVdCgpO0huKCk7dXVhPXt0b2tlbml6ZTp4dWEscGFydGlhbDohMH07aShTcmUsImdmbUZvb3Rub3RlIik7aShmdWEsInRva2VuaXplUG90ZW50aWFsR2ZtRm9vdG5vdGVDYWxsIik7aShodWEsInJlc29sdmVUb1BvdGVudGlhbEdmbUZvb3Rub3RlQ2FsbCIpO2kobXVhLCJ0b2tlbml6ZUdmbUZvb3Rub3RlQ2FsbCIpO2koZ3VhLCJ0b2tlbml6ZURlZmluaXRpb25TdGFydCIpO2koYnVhLCJ0b2tlbml6ZURlZmluaXRpb25Db250aW51YXRpb24iKTtpKHZ1YSwiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uRW5kIik7aSh4dWEsInRva2VuaXplSW5kZW50Iil9KTtmdW5jdGlvbiBzMnQodCxlKXtyZXR1cm4iQmFjayB0byByZWZlcmVuY2UgIisodCsxKSsoZT4xPyItIitlOiIiKX1mdW5jdGlvbiBDcmUodCl7bGV0IGU9dHx8d3VhLGE9ZS5sYWJlbHx8IkZvb3Rub3RlcyIscj1lLmxhYmVsVGFnTmFtZXx8ImgyIixzPWUubGFiZWxBdHRyaWJ1dGVzPT09bnVsbHx8ZS5sYWJlbEF0dHJpYnV0ZXM9PT12b2lkIDA/J2NsYXNzPSJzci1vbmx5Iic6ZS5sYWJlbEF0dHJpYnV0ZXMsbj1lLmJhY2tMYWJlbHx8czJ0LG89ZS5jbG9iYmVyUHJlZml4PT09bnVsbHx8ZS5jbG9iYmVyUHJlZml4PT09dm9pZCAwPyJ1c2VyLWNvbnRlbnQtIjplLmNsb2JiZXJQcmVmaXg7cmV0dXJue2VudGVyOntnZm1Gb290bm90ZURlZmluaXRpb24oKXt0aGlzLmdldERhdGEoInRpZ2h0U3RhY2siKS5wdXNoKCExKX0sZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmcoKXt0aGlzLmJ1ZmZlcigpfSxnZm1Gb290bm90ZUNhbGxTdHJpbmcoKXt0aGlzLmJ1ZmZlcigpfX0sZXhpdDp7Z2ZtRm9vdG5vdGVEZWZpbml0aW9uKCl7bGV0IGw9dGhpcy5nZXREYXRhKCJnZm1Gb290bm90ZURlZmluaXRpb25zIiksaD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlRGVmaW5pdGlvblN0YWNrIiksdT10aGlzLmdldERhdGEoInRpZ2h0U3RhY2siKSxmPWgucG9wKCkscD10aGlzLnJlc3VtZSgpO2x8fHRoaXMuc2V0RGF0YSgiZ2ZtRm9vdG5vdGVEZWZpbml0aW9ucyIsbD17fSkseXVhLmNhbGwobCxmKXx8KGxbZl09cCksdS5wb3AoKSx0aGlzLnNldERhdGEoInNsdXJwT25lTGluZUVuZGluZyIsITApLHRoaXMuc2V0RGF0YSgibGFzdFdhc1RhZyIpfSxnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbFN0cmluZyhsKXtsZXQgaD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlRGVmaW5pdGlvblN0YWNrIik7aHx8dGhpcy5zZXREYXRhKCJnZm1Gb290bm90ZURlZmluaXRpb25TdGFjayIsaD1bXSksaC5wdXNoKHIxKHRoaXMuc2xpY2VTZXJpYWxpemUobCkpKSx0aGlzLnJlc3VtZSgpLHRoaXMuYnVmZmVyKCl9LGdmbUZvb3Rub3RlQ2FsbFN0cmluZyhsKXtsZXQgaD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlQ2FsbE9yZGVyIiksdT10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlQ2FsbENvdW50cyIpLGY9cjEodGhpcy5zbGljZVNlcmlhbGl6ZShsKSkscDt0aGlzLnJlc3VtZSgpLGh8fHRoaXMuc2V0RGF0YSgiZ2ZtRm9vdG5vdGVDYWxsT3JkZXIiLGg9W10pLHV8fHRoaXMuc2V0RGF0YSgiZ2ZtRm9vdG5vdGVDYWxsQ291bnRzIix1PXt9KTtsZXQgZz1oLmluZGV4T2YoZiksdj12MihmLnRvTG93ZXJDYXNlKCkpO2c9PT0tMT8oaC5wdXNoKGYpLHVbZl09MSxwPWgubGVuZ3RoKToodVtmXSsrLHA9ZysxKTtsZXQgeD11W2ZdO3RoaXMudGFnKCc8c3VwPjxhIGhyZWY9IiMnK28rImZuLSIrdisnIiBpZD0iJytvKyJmbnJlZi0iK3YrKHg+MT8iLSIreDoiIikrJyIgZGF0YS1mb290bm90ZS1yZWY9IiIgYXJpYS1kZXNjcmliZWRieT0iZm9vdG5vdGUtbGFiZWwiPicrU3RyaW5nKHApKyI8L2E+PC9zdXA+Iil9LG51bGwoKXtsZXQgbD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlQ2FsbE9yZGVyIil8fFtdLGg9dGhpcy5nZXREYXRhKCJnZm1Gb290bm90ZUNhbGxDb3VudHMiKXx8e30sdT10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlRGVmaW5pdGlvbnMiKXx8e30sZj0tMTtmb3IobC5sZW5ndGg+MCYmKHRoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoJzxzZWN0aW9uIGRhdGEtZm9vdG5vdGVzPSIiIGNsYXNzPSJmb290bm90ZXMiPjwnK3IrJyBpZD0iZm9vdG5vdGUtbGFiZWwiJysocz8iICIrczoiIikrIj4iKSx0aGlzLnJhdyh0aGlzLmVuY29kZShhKSksdGhpcy50YWcoIjwvIityKyI+IiksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPG9sPiIpKTsrK2Y8bC5sZW5ndGg7KXtsZXQgcD1sW2ZdLGc9djIocC50b0xvd2VyQ2FzZSgpKSx2PTAseD1bXTtmb3IoOysrdjw9aFtwXTspeC5wdXNoKCc8YSBocmVmPSIjJytvKyJmbnJlZi0iK2crKHY+MT8iLSIrdjoiIikrJyIgZGF0YS1mb290bm90ZS1iYWNrcmVmPSIiIGFyaWEtbGFiZWw9IicrdGhpcy5lbmNvZGUodHlwZW9mIG49PSJzdHJpbmciP246bihmLHYpKSsnIiBjbGFzcz0iZGF0YS1mb290bm90ZS1iYWNrcmVmIj5cdTIxQTknKyh2PjE/IjxzdXA+Iit2KyI8L3N1cD4iOiIiKSsiPC9hPiIpO2xldCBiPXguam9pbigiICIpLG09ITE7dGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygnPGxpIGlkPSInK28rImZuLSIrZysnIj4nKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKHVbcF0ucmVwbGFjZSgvPFwvcD4oPzpccj9cbnxccik/JC8sZnVuY3Rpb24oeSl7cmV0dXJuIG09ITAsIiAiK2IreX0pKSxtfHwodGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZyhiKSksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC9saT4iKX1sLmxlbmd0aD4wJiYodGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC9vbD4iKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8L3NlY3Rpb24+IikpfX19fXZhciB5dWEsd3VhLG8ydD1jKCgpPT57SG4oKTt4MigpO3l1YT17fS5oYXNPd25Qcm9wZXJ0eSx3dWE9e307aShzMnQsImRlZmF1bHRCYWNrTGFiZWwiKTtpKENyZSwiZ2ZtRm9vdG5vdGVIdG1sIil9KTt2YXIgbjJ0PWMoKCk9PntpMnQoKTtvMnQoKX0pO2Z1bmN0aW9uIF9yZSgpe3JldHVybntlbnRlcjp7c3RyaWtldGhyb3VnaCgpe3RoaXMudGFnKCI8ZGVsPiIpfX0sZXhpdDp7c3RyaWtldGhyb3VnaCgpe3RoaXMudGFnKCI8L2RlbD4iKX19fX12YXIgbDJ0PWMoKCk9PntpKF9yZSwiZ2ZtU3RyaWtldGhyb3VnaEh0bWwiKX0pO2Z1bmN0aW9uIFRyZSh0KXtsZXQgYT0odHx8e30pLnNpbmdsZVRpbGRlLHI9e25hbWU6InN0cmlrZXRocm91Z2giLHRva2VuaXplOm4scmVzb2x2ZUFsbDpzfTtyZXR1cm4gYT09bnVsbCYmKGE9ITApLHt0ZXh0OnsxMjY6cn0saW5zaWRlU3Bhbjp7bnVsbDpbcl19LGF0dGVudGlvbk1hcmtlcnM6e251bGw6WzEyNl19fTtmdW5jdGlvbiBzKG8sbCl7bGV0IGg9LTE7Zm9yKDsrK2g8by5sZW5ndGg7KWlmKG9baF1bMF09PT0iZW50ZXIiJiZvW2hdWzFdLnR5cGU9PT0ic3RyaWtldGhyb3VnaFNlcXVlbmNlVGVtcG9yYXJ5IiYmb1toXVsxXS5fY2xvc2Upe2xldCB1PWg7Zm9yKDt1LS07KWlmKG9bdV1bMF09PT0iZXhpdCImJm9bdV1bMV0udHlwZT09PSJzdHJpa2V0aHJvdWdoU2VxdWVuY2VUZW1wb3JhcnkiJiZvW3VdWzFdLl9vcGVuJiZvW2hdWzFdLmVuZC5vZmZzZXQtb1toXVsxXS5zdGFydC5vZmZzZXQ9PT1vW3VdWzFdLmVuZC5vZmZzZXQtb1t1XVsxXS5zdGFydC5vZmZzZXQpe29baF1bMV0udHlwZT0ic3RyaWtldGhyb3VnaFNlcXVlbmNlIixvW3VdWzFdLnR5cGU9InN0cmlrZXRocm91Z2hTZXF1ZW5jZSI7bGV0IGY9e3R5cGU6InN0cmlrZXRocm91Z2giLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sb1t1XVsxXS5zdGFydCksZW5kOk9iamVjdC5hc3NpZ24oe30sb1toXVsxXS5lbmQpfSxwPXt0eXBlOiJzdHJpa2V0aHJvdWdoVGV4dCIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxvW3VdWzFdLmVuZCksZW5kOk9iamVjdC5hc3NpZ24oe30sb1toXVsxXS5zdGFydCl9LGc9W1siZW50ZXIiLGYsbF0sWyJlbnRlciIsb1t1XVsxXSxsXSxbImV4aXQiLG9bdV1bMV0sbF0sWyJlbnRlciIscCxsXV0sdj1sLnBhcnNlci5jb25zdHJ1Y3RzLmluc2lkZVNwYW4ubnVsbDt2JiZsMShnLGcubGVuZ3RoLDAsVm4odixvLnNsaWNlKHUrMSxoKSxsKSksbDEoZyxnLmxlbmd0aCwwLFtbImV4aXQiLHAsbF0sWyJlbnRlciIsb1toXVsxXSxsXSxbImV4aXQiLG9baF1bMV0sbF0sWyJleGl0IixmLGxdXSksbDEobyx1LTEsaC11KzMsZyksaD11K2cubGVuZ3RoLTI7YnJlYWt9fWZvcihoPS0xOysraDxvLmxlbmd0aDspb1toXVsxXS50eXBlPT09InN0cmlrZXRocm91Z2hTZXF1ZW5jZVRlbXBvcmFyeSImJihvW2hdWzFdLnR5cGU9ImRhdGEiKTtyZXR1cm4gb31pKHMsInJlc29sdmVBbGxTdHJpa2V0aHJvdWdoIik7ZnVuY3Rpb24gbihvLGwsaCl7bGV0IHU9dGhpcy5wcmV2aW91cyxmPXRoaXMuZXZlbnRzLHA9MDtyZXR1cm4gZztmdW5jdGlvbiBnKHgpe3JldHVybiB1PT09MTI2JiZmW2YubGVuZ3RoLTFdWzFdLnR5cGUhPT0iY2hhcmFjdGVyRXNjYXBlIj9oKHgpOihvLmVudGVyKCJzdHJpa2V0aHJvdWdoU2VxdWVuY2VUZW1wb3JhcnkiKSx2KHgpKX1mdW5jdGlvbiB2KHgpe2xldCBiPW9vKHUpO2lmKHg9PT0xMjYpcmV0dXJuIHA+MT9oKHgpOihvLmNvbnN1bWUoeCkscCsrLHYpO2lmKHA8MiYmIWEpcmV0dXJuIGgoeCk7bGV0IG09by5leGl0KCJzdHJpa2V0aHJvdWdoU2VxdWVuY2VUZW1wb3JhcnkiKSx5PW9vKHgpO3JldHVybiBtLl9vcGVuPSF5fHx5PT09MiYmISFiLG0uX2Nsb3NlPSFifHxiPT09MiYmISF5LGwoeCl9fWkobiwidG9rZW5pemVTdHJpa2V0aHJvdWdoIil9dmFyIGMydD1jKCgpPT57ZzIoKTtfVSgpO2xmKCk7aShUcmUsImdmbVN0cmlrZXRocm91Z2giKX0pO3ZhciBkMnQ9YygoKT0+e2wydCgpO2MydCgpfSk7ZnVuY3Rpb24gJHJlKCl7cmV0dXJue2VudGVyOnt0YWJsZSh0KXtsZXQgZT10Ll9hbGlnbjt0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dGFibGU+IiksdGhpcy5zZXREYXRhKCJ0YWJsZUFsaWduIixlKX0sdGFibGVCb2R5KCl7dGhpcy50YWcoIjx0Ym9keT4iKX0sdGFibGVEYXRhKCl7bGV0IHQ9dGhpcy5nZXREYXRhKCJ0YWJsZUFsaWduIiksZT10aGlzLmdldERhdGEoInRhYmxlQ29sdW1uIiksYT1McmVbdFtlXV07YT09PXZvaWQgMD90aGlzLmJ1ZmZlcigpOih0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dGQiK2ErIj4iKSl9LHRhYmxlSGVhZCgpe3RoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoIjx0aGVhZD4iKX0sdGFibGVIZWFkZXIoKXtsZXQgdD10aGlzLmdldERhdGEoInRhYmxlQWxpZ24iKSxlPXRoaXMuZ2V0RGF0YSgidGFibGVDb2x1bW4iKSxhPUxyZVt0W2VdXTt0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dGgiK2ErIj4iKX0sdGFibGVSb3coKXt0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIiwwKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dHI+Iil9fSxleGl0Ontjb2RlVGV4dERhdGEodCl7bGV0IGU9dGhpcy5zbGljZVNlcmlhbGl6ZSh0KTt0aGlzLmdldERhdGEoInRhYmxlQWxpZ24iKSYmKGU9ZS5yZXBsYWNlKC9cXChbXFx8XSkvZyxNdWEpKSx0aGlzLnJhdyh0aGlzLmVuY29kZShlKSl9LHRhYmxlKCl7dGhpcy5zZXREYXRhKCJ0YWJsZUFsaWduIiksdGhpcy5zZXREYXRhKCJzbHVycEFsbExpbmVFbmRpbmdzIiksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC90YWJsZT4iKX0sdGFibGVCb2R5KCl7dGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC90Ym9keT4iKX0sdGFibGVEYXRhKCl7bGV0IHQ9dGhpcy5nZXREYXRhKCJ0YWJsZUFsaWduIiksZT10aGlzLmdldERhdGEoInRhYmxlQ29sdW1uIik7ZSBpbiB0Pyh0aGlzLnRhZygiPC90ZD4iKSx0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIixlKzEpKTp0aGlzLnJlc3VtZSgpfSx0YWJsZUhlYWQoKXt0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8L3RoZWFkPiIpfSx0YWJsZUhlYWRlcigpe2xldCB0PXRoaXMuZ2V0RGF0YSgidGFibGVDb2x1bW4iKTt0aGlzLnRhZygiPC90aD4iKSx0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIix0KzEpfSx0YWJsZVJvdygpe2xldCB0PXRoaXMuZ2V0RGF0YSgidGFibGVBbGlnbiIpLGU9dGhpcy5nZXREYXRhKCJ0YWJsZUNvbHVtbiIpO2Zvcig7ZTx0Lmxlbmd0aDspdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPHRkIitMcmVbdFtlXV0rIj48L3RkPiIpLGUrKzt0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIixlKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8L3RyPiIpfX19fWZ1bmN0aW9uIE11YSh0LGUpe3JldHVybiBlPT09InwiP2U6dH12YXIgTHJlLHAydD1jKCgpPT57THJlPXtub25lOiIiLGxlZnQ6JyBhbGlnbj0ibGVmdCInLHJpZ2h0OicgYWxpZ249InJpZ2h0IicsY2VudGVyOicgYWxpZ249ImNlbnRlciInfTtpKCRyZSwiZ2ZtVGFibGVIdG1sIik7aShNdWEsInJlcGxhY2UiKX0pO2Z1bmN0aW9uIGt1YSh0LGUsYSxyKXtsZXQgcz0wO2lmKCEoYT09PTAmJnIubGVuZ3RoPT09MCkpe2Zvcig7czx0Lm1hcC5sZW5ndGg7KXtpZih0Lm1hcFtzXVswXT09PWUpe3QubWFwW3NdWzFdKz1hLHQubWFwW3NdWzJdLnB1c2goLi4ucik7cmV0dXJufXMrPTF9dC5tYXAucHVzaChbZSxhLHJdKX19dmFyIEtVLHUydD1jKCgpPT57S1U9Y2xhc3N7c3RhdGlje2kodGhpcywiRWRpdE1hcCIpfWNvbnN0cnVjdG9yKCl7dGhpcy5tYXA9W119YWRkKGUsYSxyKXtrdWEodGhpcyxlLGEscil9Y29uc3VtZShlKXtpZih0aGlzLm1hcC5zb3J0KGZ1bmN0aW9uKG4sbyl7cmV0dXJuIG5bMF0tb1swXX0pLHRoaXMubWFwLmxlbmd0aD09PTApcmV0dXJuO2xldCBhPXRoaXMubWFwLmxlbmd0aCxyPVtdO2Zvcig7YT4wOylhLT0xLHIucHVzaChlLnNsaWNlKHRoaXMubWFwW2FdWzBdK3RoaXMubWFwW2FdWzFdKSx0aGlzLm1hcFthXVsyXSksZS5sZW5ndGg9dGhpcy5tYXBbYV1bMF07ci5wdXNoKGUuc2xpY2UoKSksZS5sZW5ndGg9MDtsZXQgcz1yLnBvcCgpO2Zvcig7czspe2ZvcihsZXQgbiBvZiBzKWUucHVzaChuKTtzPXIucG9wKCl9dGhpcy5tYXAubGVuZ3RoPTB9fTtpKGt1YSwiYWRkSW1wbGVtZW50YXRpb24iKX0pO2Z1bmN0aW9uIGYydCh0LGUpe2xldCBhPSExLHI9W107Zm9yKDtlPHQubGVuZ3RoOyl7bGV0IHM9dFtlXTtpZihhKXtpZihzWzBdPT09ImVudGVyIilzWzFdLnR5cGU9PT0idGFibGVDb250ZW50IiYmci5wdXNoKHRbZSsxXVsxXS50eXBlPT09InRhYmxlRGVsaW1pdGVyTWFya2VyIj8ibGVmdCI6Im5vbmUiKTtlbHNlIGlmKHNbMV0udHlwZT09PSJ0YWJsZUNvbnRlbnQiKXtpZih0W2UtMV1bMV0udHlwZT09PSJ0YWJsZURlbGltaXRlck1hcmtlciIpe2xldCBuPXIubGVuZ3RoLTE7cltuXT1yW25dPT09ImxlZnQiPyJjZW50ZXIiOiJyaWdodCJ9fWVsc2UgaWYoc1sxXS50eXBlPT09InRhYmxlRGVsaW1pdGVyUm93IilicmVha31lbHNlIHNbMF09PT0iZW50ZXIiJiZzWzFdLnR5cGU9PT0idGFibGVEZWxpbWl0ZXJSb3ciJiYoYT0hMCk7ZSs9MX1yZXR1cm4gcn12YXIgaDJ0PWMoKCk9PntpKGYydCwiZ2ZtVGFibGVBbGlnbiIpfSk7ZnVuY3Rpb24gRHJlKCl7cmV0dXJue2Zsb3c6e251bGw6e25hbWU6InRhYmxlIix0b2tlbml6ZTp6dWEscmVzb2x2ZUFsbDpTdWF9fX19ZnVuY3Rpb24genVhKHQsZSxhKXtsZXQgcj10aGlzLHM9MCxuPTAsbztyZXR1cm4gbDtmdW5jdGlvbiBsKGope2xldCBTPXIuZXZlbnRzLmxlbmd0aC0xO2Zvcig7Uz4tMTspe2xldCBUPXIuZXZlbnRzW1NdWzFdLnR5cGU7aWYoVD09PSJsaW5lRW5kaW5nInx8VD09PSJsaW5lUHJlZml4IilTLS07ZWxzZSBicmVha31sZXQgej1TPi0xP3IuZXZlbnRzW1NdWzFdLnR5cGU6bnVsbCxEPXo9PT0idGFibGVIZWFkInx8ej09PSJ0YWJsZVJvdyI/QzpoO3JldHVybiBEPT09QyYmci5wYXJzZXIubGF6eVtyLm5vdygpLmxpbmVdP2Eoaik6RChqKX1mdW5jdGlvbiBoKGope3JldHVybiB0LmVudGVyKCJ0YWJsZUhlYWQiKSx0LmVudGVyKCJ0YWJsZVJvdyIpLHUoail9ZnVuY3Rpb24gdShqKXtyZXR1cm4gaj09PTEyNHx8KG89ITAsbis9MSksZihqKX1mdW5jdGlvbiBmKGope3JldHVybiBqPT09bnVsbD9hKGopOkdlKGopP24+MT8obj0wLHIuaW50ZXJydXB0PSEwLHQuZXhpdCgidGFibGVSb3ciKSx0LmVudGVyKCJsaW5lRW5kaW5nIiksdC5jb25zdW1lKGopLHQuZXhpdCgibGluZUVuZGluZyIpLHYpOmEoaik6bHQoaik/Z3QodCxmLCJ3aGl0ZXNwYWNlIikoaik6KG4rPTEsbyYmKG89ITEscys9MSksaj09PTEyND8odC5lbnRlcigidGFibGVDZWxsRGl2aWRlciIpLHQuY29uc3VtZShqKSx0LmV4aXQoInRhYmxlQ2VsbERpdmlkZXIiKSxvPSEwLGYpOih0LmVudGVyKCJkYXRhIikscChqKSkpfWZ1bmN0aW9uIHAoail7cmV0dXJuIGo9PT1udWxsfHxqPT09MTI0fHxxdChqKT8odC5leGl0KCJkYXRhIiksZihqKSk6KHQuY29uc3VtZShqKSxqPT09OTI/ZzpwKX1mdW5jdGlvbiBnKGope3JldHVybiBqPT09OTJ8fGo9PT0xMjQ/KHQuY29uc3VtZShqKSxwKTpwKGopfWZ1bmN0aW9uIHYoail7cmV0dXJuIHIuaW50ZXJydXB0PSExLHIucGFyc2VyLmxhenlbci5ub3coKS5saW5lXT9hKGopOih0LmVudGVyKCJ0YWJsZURlbGltaXRlclJvdyIpLG89ITEsbHQoaik/Z3QodCx4LCJsaW5lUHJlZml4IixyLnBhcnNlci5jb25zdHJ1Y3RzLmRpc2FibGUubnVsbC5pbmNsdWRlcygiY29kZUluZGVudGVkIik/dm9pZCAwOjQpKGopOngoaikpfWZ1bmN0aW9uIHgoail7cmV0dXJuIGo9PT00NXx8aj09PTU4P20oaik6aj09PTEyND8obz0hMCx0LmVudGVyKCJ0YWJsZUNlbGxEaXZpZGVyIiksdC5jb25zdW1lKGopLHQuZXhpdCgidGFibGVDZWxsRGl2aWRlciIpLGIpOl8oail9ZnVuY3Rpb24gYihqKXtyZXR1cm4gbHQoaik/Z3QodCxtLCJ3aGl0ZXNwYWNlIikoaik6bShqKX1mdW5jdGlvbiBtKGope3JldHVybiBqPT09NTg/KG4rPTEsbz0hMCx0LmVudGVyKCJ0YWJsZURlbGltaXRlck1hcmtlciIpLHQuY29uc3VtZShqKSx0LmV4aXQoInRhYmxlRGVsaW1pdGVyTWFya2VyIikseSk6aj09PTQ1PyhuKz0xLHkoaikpOmo9PT1udWxsfHxHZShqKT9FKGopOl8oail9ZnVuY3Rpb24geShqKXtyZXR1cm4gaj09PTQ1Pyh0LmVudGVyKCJ0YWJsZURlbGltaXRlckZpbGxlciIpLE0oaikpOl8oail9ZnVuY3Rpb24gTShqKXtyZXR1cm4gaj09PTQ1Pyh0LmNvbnN1bWUoaiksTSk6aj09PTU4PyhvPSEwLHQuZXhpdCgidGFibGVEZWxpbWl0ZXJGaWxsZXIiKSx0LmVudGVyKCJ0YWJsZURlbGltaXRlck1hcmtlciIpLHQuY29uc3VtZShqKSx0LmV4aXQoInRhYmxlRGVsaW1pdGVyTWFya2VyIiksayk6KHQuZXhpdCgidGFibGVEZWxpbWl0ZXJGaWxsZXIiKSxrKGopKX1mdW5jdGlvbiBrKGope3JldHVybiBsdChqKT9ndCh0LEUsIndoaXRlc3BhY2UiKShqKTpFKGopfWZ1bmN0aW9uIEUoail7cmV0dXJuIGo9PT0xMjQ/eChqKTpqPT09bnVsbHx8R2Uoaik/IW98fHMhPT1uP18oaik6KHQuZXhpdCgidGFibGVEZWxpbWl0ZXJSb3ciKSx0LmV4aXQoInRhYmxlSGVhZCIpLGUoaikpOl8oail9ZnVuY3Rpb24gXyhqKXtyZXR1cm4gYShqKX1mdW5jdGlvbiBDKGope3JldHVybiB0LmVudGVyKCJ0YWJsZVJvdyIpLE4oail9ZnVuY3Rpb24gTihqKXtyZXR1cm4gaj09PTEyND8odC5lbnRlcigidGFibGVDZWxsRGl2aWRlciIpLHQuY29uc3VtZShqKSx0LmV4aXQoInRhYmxlQ2VsbERpdmlkZXIiKSxOKTpqPT09bnVsbHx8R2Uoaik/KHQuZXhpdCgidGFibGVSb3ciKSxlKGopKTpsdChqKT9ndCh0LE4sIndoaXRlc3BhY2UiKShqKToodC5lbnRlcigiZGF0YSIpLCQoaikpfWZ1bmN0aW9uICQoail7cmV0dXJuIGo9PT1udWxsfHxqPT09MTI0fHxxdChqKT8odC5leGl0KCJkYXRhIiksTihqKSk6KHQuY29uc3VtZShqKSxqPT09OTI/STokKX1mdW5jdGlvbiBJKGope3JldHVybiBqPT09OTJ8fGo9PT0xMjQ/KHQuY29uc3VtZShqKSwkKTokKGopfX1mdW5jdGlvbiBTdWEodCxlKXtsZXQgYT0tMSxyPSEwLHM9MCxuPVswLDAsMCwwXSxvPVswLDAsMCwwXSxsPSExLGg9MCx1LGYscCxnPW5ldyBLVTtmb3IoOysrYTx0Lmxlbmd0aDspe2xldCB2PXRbYV0seD12WzFdO3ZbMF09PT0iZW50ZXIiP3gudHlwZT09PSJ0YWJsZUhlYWQiPyhsPSExLGghPT0wJiYobTJ0KGcsZSxoLHUsZiksZj12b2lkIDAsaD0wKSx1PXt0eXBlOiJ0YWJsZSIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSx4LnN0YXJ0KSxlbmQ6T2JqZWN0LmFzc2lnbih7fSx4LmVuZCl9LGcuYWRkKGEsMCxbWyJlbnRlciIsdSxlXV0pKTp4LnR5cGU9PT0idGFibGVSb3cifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJSb3ciPyhyPSEwLHA9dm9pZCAwLG49WzAsMCwwLDBdLG89WzAsYSsxLDAsMF0sbCYmKGw9ITEsZj17dHlwZToidGFibGVCb2R5IixzdGFydDpPYmplY3QuYXNzaWduKHt9LHguc3RhcnQpLGVuZDpPYmplY3QuYXNzaWduKHt9LHguZW5kKX0sZy5hZGQoYSwwLFtbImVudGVyIixmLGVdXSkpLHM9eC50eXBlPT09InRhYmxlRGVsaW1pdGVyUm93Ij8yOmY/MzoxKTpzJiYoeC50eXBlPT09ImRhdGEifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJNYXJrZXIifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJGaWxsZXIiKT8ocj0hMSxvWzJdPT09MCYmKG5bMV0hPT0wJiYob1swXT1vWzFdLHA9UVUoZyxlLG4scyx2b2lkIDAscCksbj1bMCwwLDAsMF0pLG9bMl09YSkpOngudHlwZT09PSJ0YWJsZUNlbGxEaXZpZGVyIiYmKHI/cj0hMTooblsxXSE9PTAmJihvWzBdPW9bMV0scD1RVShnLGUsbixzLHZvaWQgMCxwKSksbj1vLG89W25bMV0sYSwwLDBdKSk6eC50eXBlPT09InRhYmxlSGVhZCI/KGw9ITAsaD1hKTp4LnR5cGU9PT0idGFibGVSb3cifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJSb3ciPyhoPWEsblsxXSE9PTA/KG9bMF09b1sxXSxwPVFVKGcsZSxuLHMsYSxwKSk6b1sxXSE9PTAmJihwPVFVKGcsZSxvLHMsYSxwKSkscz0wKTpzJiYoeC50eXBlPT09ImRhdGEifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJNYXJrZXIifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJGaWxsZXIiKSYmKG9bM109YSl9Zm9yKGghPT0wJiZtMnQoZyxlLGgsdSxmKSxnLmNvbnN1bWUoZS5ldmVudHMpLGE9LTE7KythPGUuZXZlbnRzLmxlbmd0aDspe2xldCB2PWUuZXZlbnRzW2FdO3ZbMF09PT0iZW50ZXIiJiZ2WzFdLnR5cGU9PT0idGFibGUiJiYodlsxXS5fYWxpZ249ZjJ0KGUuZXZlbnRzLGEpKX1yZXR1cm4gdH1mdW5jdGlvbiBRVSh0LGUsYSxyLHMsbil7bGV0IG89cj09PTE/InRhYmxlSGVhZGVyIjpyPT09Mj8idGFibGVEZWxpbWl0ZXIiOiJ0YWJsZURhdGEiLGw9InRhYmxlQ29udGVudCI7YVswXSE9PTAmJihuLmVuZD1PYmplY3QuYXNzaWduKHt9LGM4KGUuZXZlbnRzLGFbMF0pKSx0LmFkZChhWzBdLDAsW1siZXhpdCIsbixlXV0pKTtsZXQgaD1jOChlLmV2ZW50cyxhWzFdKTtpZihuPXt0eXBlOm8sc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxoKSxlbmQ6T2JqZWN0LmFzc2lnbih7fSxoKX0sdC5hZGQoYVsxXSwwLFtbImVudGVyIixuLGVdXSksYVsyXSE9PTApe2xldCB1PWM4KGUuZXZlbnRzLGFbMl0pLGY9YzgoZS5ldmVudHMsYVszXSkscD17dHlwZTpsLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sdSksZW5kOk9iamVjdC5hc3NpZ24oe30sZil9O2lmKHQuYWRkKGFbMl0sMCxbWyJlbnRlciIscCxlXV0pLHIhPT0yKXtsZXQgZz1lLmV2ZW50c1thWzJdXSx2PWUuZXZlbnRzW2FbM11dO2lmKGdbMV0uZW5kPU9iamVjdC5hc3NpZ24oe30sdlsxXS5lbmQpLGdbMV0udHlwZT0iY2h1bmtUZXh0IixnWzFdLmNvbnRlbnRUeXBlPSJ0ZXh0IixhWzNdPmFbMl0rMSl7bGV0IHg9YVsyXSsxLGI9YVszXS1hWzJdLTE7dC5hZGQoeCxiLFtdKX19dC5hZGQoYVszXSsxLDAsW1siZXhpdCIscCxlXV0pfXJldHVybiBzIT09dm9pZCAwJiYobi5lbmQ9T2JqZWN0LmFzc2lnbih7fSxjOChlLmV2ZW50cyxzKSksdC5hZGQocywwLFtbImV4aXQiLG4sZV1dKSxuPXZvaWQgMCksbn1mdW5jdGlvbiBtMnQodCxlLGEscixzKXtsZXQgbj1bXSxvPWM4KGUuZXZlbnRzLGEpO3MmJihzLmVuZD1PYmplY3QuYXNzaWduKHt9LG8pLG4ucHVzaChbImV4aXQiLHMsZV0pKSxyLmVuZD1PYmplY3QuYXNzaWduKHt9LG8pLG4ucHVzaChbImV4aXQiLHIsZV0pLHQuYWRkKGErMSwwLG4pfWZ1bmN0aW9uIGM4KHQsZSl7bGV0IGE9dFtlXSxyPWFbMF09PT0iZW50ZXIiPyJzdGFydCI6ImVuZCI7cmV0dXJuIGFbMV1bcl19dmFyIGcydD1jKCgpPT57YzEoKTtVdCgpO3UydCgpO2gydCgpO2koRHJlLCJnZm1UYWJsZSIpO2koenVhLCJ0b2tlbml6ZVRhYmxlIik7aShTdWEsInJlc29sdmVUYWJsZSIpO2koUVUsImZsdXNoQ2VsbCIpO2kobTJ0LCJmbHVzaFRhYmxlRW5kIik7aShjOCwiZ2V0UG9pbnQiKX0pO3ZhciBiMnQ9YygoKT0+e3AydCgpO2cydCgpfSk7ZnVuY3Rpb24gQXJlKCl7cmV0dXJue2V4aXQ6e2h0bWxGbG93RGF0YSh0KXt4MnQuY2FsbCh0aGlzLHQsdjJ0KX0saHRtbFRleHREYXRhKHQpe3gydC5jYWxsKHRoaXMsdCxDdWEpfX19fWZ1bmN0aW9uIHgydCh0LGUpe2xldCBhPXRoaXMuc2xpY2VTZXJpYWxpemUodCk7dGhpcy5vcHRpb25zLmFsbG93RGFuZ2Vyb3VzSHRtbCYmKGE9YS5yZXBsYWNlKGUsIiZsdDskMSQyIikpLHRoaXMucmF3KHRoaXMuZW5jb2RlKGEpKX12YXIgdjJ0LEN1YSx5MnQ9YygoKT0+e3YydD0vPChcLz8pKGlmcmFtZXxub2VtYmVkfG5vZnJhbWVzfHBsYWludGV4dHxzY3JpcHR8c3R5bGV8dGl0bGV8dGV4dGFyZWF8eG1wKSg/PVtcdFxuXGZcciAvPl0pL2dpLEN1YT1uZXcgUmVnRXhwKCJeIit2MnQuc291cmNlLCJpIik7aShBcmUsImdmbVRhZ2ZpbHRlckh0bWwiKTtpKHgydCwiZXhpdEh0bWxEYXRhIil9KTt2YXIgdzJ0PWMoKCk9Pnt5MnQoKX0pO2Z1bmN0aW9uIFByZSgpe3JldHVybntlbnRlcjp7dGFza0xpc3RDaGVjaygpe3RoaXMudGFnKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giIGRpc2FibGVkPSIiICcpfX0sZXhpdDp7dGFza0xpc3RDaGVjaygpe3RoaXMudGFnKCIvPiIpfSx0YXNrTGlzdENoZWNrVmFsdWVDaGVja2VkKCl7dGhpcy50YWcoJ2NoZWNrZWQ9IiIgJyl9fX19dmFyIE0ydD1jKCgpPT57aShQcmUsImdmbVRhc2tMaXN0SXRlbUh0bWwiKX0pO2Z1bmN0aW9uIEVyZSgpe3JldHVybnt0ZXh0Ons5MTpfdWF9fX1mdW5jdGlvbiBUdWEodCxlLGEpe2xldCByPXRoaXM7cmV0dXJuIHM7ZnVuY3Rpb24gcyhoKXtyZXR1cm4gci5wcmV2aW91cyE9PW51bGx8fCFyLl9nZm1UYXNrbGlzdEZpcnN0Q29udGVudE9mTGlzdEl0ZW0/YShoKToodC5lbnRlcigidGFza0xpc3RDaGVjayIpLHQuZW50ZXIoInRhc2tMaXN0Q2hlY2tNYXJrZXIiKSx0LmNvbnN1bWUoaCksdC5leGl0KCJ0YXNrTGlzdENoZWNrTWFya2VyIiksbil9ZnVuY3Rpb24gbihoKXtyZXR1cm4gcXQoaCk/KHQuZW50ZXIoInRhc2tMaXN0Q2hlY2tWYWx1ZVVuY2hlY2tlZCIpLHQuY29uc3VtZShoKSx0LmV4aXQoInRhc2tMaXN0Q2hlY2tWYWx1ZVVuY2hlY2tlZCIpLG8pOmg9PT04OHx8aD09PTEyMD8odC5lbnRlcigidGFza0xpc3RDaGVja1ZhbHVlQ2hlY2tlZCIpLHQuY29uc3VtZShoKSx0LmV4aXQoInRhc2tMaXN0Q2hlY2tWYWx1ZUNoZWNrZWQiKSxvKTphKGgpfWZ1bmN0aW9uIG8oaCl7cmV0dXJuIGg9PT05Mz8odC5lbnRlcigidGFza0xpc3RDaGVja01hcmtlciIpLHQuY29uc3VtZShoKSx0LmV4aXQoInRhc2tMaXN0Q2hlY2tNYXJrZXIiKSx0LmV4aXQoInRhc2tMaXN0Q2hlY2siKSxsKTphKGgpfWZ1bmN0aW9uIGwoaCl7cmV0dXJuIEdlKGgpP2UoaCk6bHQoaCk/dC5jaGVjayh7dG9rZW5pemU6THVhfSxlLGEpKGgpOmEoaCl9fWZ1bmN0aW9uIEx1YSh0LGUsYSl7cmV0dXJuIGd0KHQsciwid2hpdGVzcGFjZSIpO2Z1bmN0aW9uIHIocyl7cmV0dXJuIHM9PT1udWxsP2Eocyk6ZShzKX19dmFyIF91YSxrMnQ9YygoKT0+e2MxKCk7VXQoKTtfdWE9e25hbWU6InRhc2tsaXN0Q2hlY2siLHRva2VuaXplOlR1YX07aShFcmUsImdmbVRhc2tMaXN0SXRlbSIpO2koVHVhLCJ0b2tlbml6ZVRhc2tsaXN0Q2hlY2siKTtpKEx1YSwic3BhY2VUaGVuTm9uU3BhY2UiKX0pO3ZhciB6MnQ9YygoKT0+e00ydCgpO2sydCgpfSk7ZnVuY3Rpb24gUzJ0KHQpe3JldHVybiBJVShbcnJlKCksU3JlKCksVHJlKHQpLERyZSgpLEVyZSgpXSl9ZnVuY3Rpb24genoxKHQpe3JldHVybiBOVShbb3JlKCksQ3JlKHQpLF9yZSgpLCRyZSgpLEFyZSgpLFByZSgpXSl9dmFyIEMydD1jKCgpPT57UlUoKTtFc3QoKTtuMnQoKTtkMnQoKTtiMnQoKTt3MnQoKTt6MnQoKTtpKFMydCwiZ2ZtIik7aSh6ejEsImdmbUh0bWwiKX0pO2Z1bmN0aW9uIGQ4KHQpe2xldCBlPXRoaXMsYT10fHwkdWEscj1lLmRhdGEoKSxzPXIubWljcm9tYXJrRXh0ZW5zaW9uc3x8KHIubWljcm9tYXJrRXh0ZW5zaW9ucz1bXSksbj1yLmZyb21NYXJrZG93bkV4dGVuc2lvbnN8fChyLmZyb21NYXJrZG93bkV4dGVuc2lvbnM9W10pLG89ci50b01hcmtkb3duRXh0ZW5zaW9uc3x8KHIudG9NYXJrZG93bkV4dGVuc2lvbnM9W10pO3MucHVzaChTMnQoYSkpLG4ucHVzaChRMWUoKSksby5wdXNoKEoxZShhKSl9dmFyICR1YSxfMnQ9YygoKT0+e2tzdCgpO0MydCgpOyR1YT17fTtpKGQ4LCJyZW1hcmtHZm0iKX0pO3ZhciBUMnQ9YygoKT0+e18ydCgpfSk7ZnVuY3Rpb24gSXJlKHQpe2xldCBlPXR8fHt9LGE9ITAscj17fSxzPVtbXV0sbj1bXSxvPVtdLGg9TlUoW3tlbnRlcjp7YmxvY2tRdW90ZTpBLGNvZGVGZW5jZWQ6b2UsY29kZUZlbmNlZEZlbmNlSW5mbzptLGNvZGVGZW5jZWRGZW5jZU1ldGE6bSxjb2RlSW5kZW50ZWQ6eWUsY29kZVRleHQ6aGUsY29udGVudDprZSxkZWZpbml0aW9uOkVlLGRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZzpGLGRlZmluaXRpb25MYWJlbFN0cmluZzptLGRlZmluaXRpb25UaXRsZVN0cmluZzptLGVtcGhhc2lzOkN0LGh0bWxGbG93OktlLGh0bWxUZXh0OnV0LGltYWdlOmVlLGxhYmVsOm0sbGluazpDZSxsaXN0SXRlbU1hcmtlcjpTLGxpc3RJdGVtVmFsdWU6aixsaXN0T3JkZXJlZDokLGxpc3RVbm9yZGVyZWQ6SSxwYXJhZ3JhcGg6UixyZWZlcmVuY2U6bSxyZXNvdXJjZTpHLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6VyxyZXNvdXJjZVRpdGxlU3RyaW5nOm0sc2V0ZXh0SGVhZGluZzpkZSxzdHJvbmc6V3R9LGV4aXQ6e2F0eEhlYWRpbmc6VmUsYXR4SGVhZGluZ1NlcXVlbmNlOnZlLGF1dG9saW5rRW1haWw6RHIsYXV0b2xpbmtQcm90b2NvbDokcixibG9ja1F1b3RlOlUsY2hhcmFjdGVyRXNjYXBlVmFsdWU6bGUsY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VySGV4YWRlY2ltYWw6bmEsY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VyTnVtZXJpYzpuYSxjaGFyYWN0ZXJSZWZlcmVuY2VWYWx1ZTpSMSxjb2RlRmVuY2VkOkIsY29kZUZlbmNlZEZlbmNlOnJlLGNvZGVGZW5jZWRGZW5jZUluZm86Tyxjb2RlRmVuY2VkRmVuY2VNZXRhOk4sY29kZUZsb3dWYWx1ZTpTZSxjb2RlSW5kZW50ZWQ6Qixjb2RlVGV4dDptZSxjb2RlVGV4dERhdGE6bGUsZGF0YTpsZSxkZWZpbml0aW9uOkssZGVmaW5pdGlvbkRlc3RpbmF0aW9uU3RyaW5nOm5lLGRlZmluaXRpb25MYWJlbFN0cmluZzpWLGRlZmluaXRpb25UaXRsZVN0cmluZzp0ZSxlbXBoYXNpczpQZSxoYXJkQnJlYWtFc2NhcGU6SGUsaGFyZEJyZWFrVHJhaWxpbmc6SGUsaHRtbEZsb3c6a3QsaHRtbEZsb3dEYXRhOmxlLGh0bWxUZXh0Omt0LGh0bWxUZXh0RGF0YTpsZSxpbWFnZTpNZSxsYWJlbDpQLGxhYmVsVGV4dDpZLGxpbmVFbmRpbmc6ZmUsbGluazpNZSxsaXN0T3JkZXJlZDp6LGxpc3RVbm9yZGVyZWQ6RCxwYXJhZ3JhcGg6cSxyZWZlcmVuY2U6TixyZWZlcmVuY2VTdHJpbmc6SCxyZXNvdXJjZTpOLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6c2UscmVzb3VyY2VUaXRsZVN0cmluZzp6ZSxzZXRleHRIZWFkaW5nOlRlLHNldGV4dEhlYWRpbmdMaW5lU2VxdWVuY2U6UWUsc2V0ZXh0SGVhZGluZ1RleHQ6JGUsc3Ryb25nOmZ0LHRoZW1hdGljQnJlYWs6YnR9fSwuLi5lLmh0bWxFeHRlbnNpb25zfHxbXV0pLHU9e2RlZmluaXRpb25zOnIsdGlnaHRTdGFjazpvfSxmPXtidWZmZXI6bSxlbmNvZGU6QyxnZXREYXRhOmIsbGluZUVuZGluZ0lmTmVlZGVkOl8sb3B0aW9uczplLHJhdzprLHJlc3VtZTp5LHNldERhdGE6eCx0YWc6TX0scD1lLmRlZmF1bHRMaW5lRW5kaW5nO3JldHVybiBnO2Z1bmN0aW9uIGcocWUpe2xldCB0dD0tMSxTYT0wLGphPVtdLFhhPVtdLHMxPVtdO2Zvcig7Kyt0dDxxZS5sZW5ndGg7KSFwJiYocWVbdHRdWzFdLnR5cGU9PT0ibGluZUVuZGluZyJ8fHFlW3R0XVsxXS50eXBlPT09ImxpbmVFbmRpbmdCbGFuayIpJiYocD1xZVt0dF1bMl0uc2xpY2VTZXJpYWxpemUocWVbdHRdWzFdKSksKHFlW3R0XVsxXS50eXBlPT09Imxpc3RPcmRlcmVkInx8cWVbdHRdWzFdLnR5cGU9PT0ibGlzdFVub3JkZXJlZCIpJiYocWVbdHRdWzBdPT09ImVudGVyIj9qYS5wdXNoKHR0KTp2KHFlLnNsaWNlKGphLnBvcCgpLHR0KSkpLHFlW3R0XVsxXS50eXBlPT09ImRlZmluaXRpb24iJiYocWVbdHRdWzBdPT09ImVudGVyIj8oczE9ZzEoczEscWUuc2xpY2UoU2EsdHQpKSxTYT10dCk6KFhhPWcxKFhhLHFlLnNsaWNlKFNhLHR0KzEpKSxTYT10dCsxKSk7WGE9ZzEoWGEsczEpLFhhPWcxKFhhLHFlLnNsaWNlKFNhKSksdHQ9LTE7bGV0IEthPVhhO2ZvcihoLmVudGVyLm51bGwmJmguZW50ZXIubnVsbC5jYWxsKGYpOysrdHQ8cWUubGVuZ3RoOyl7bGV0IEtyPWhbS2FbdHRdWzBdXSxRcj1LYVt0dF1bMV0udHlwZSxfZT1LcltRcl07TDJ0LmNhbGwoS3IsUXIpJiZfZSYmX2UuY2FsbCh7c2xpY2VTZXJpYWxpemU6S2FbdHRdWzJdLnNsaWNlU2VyaWFsaXplLC4uLmZ9LEthW3R0XVsxXSl9cmV0dXJuIGguZXhpdC5udWxsJiZoLmV4aXQubnVsbC5jYWxsKGYpLHNbMF0uam9pbigiIil9ZnVuY3Rpb24gdihxZSl7bGV0IHR0PXFlLmxlbmd0aCxTYT0wLGphPTAsWGE9ITEsczE7Zm9yKDsrK1NhPHR0Oyl7bGV0IEthPXFlW1NhXTtpZihLYVsxXS5fY29udGFpbmVyKXMxPXZvaWQgMCxLYVswXT09PSJlbnRlciI/amErKzpqYS0tO2Vsc2Ugc3dpdGNoKEthWzFdLnR5cGUpe2Nhc2UibGlzdEl0ZW1QcmVmaXgiOntLYVswXT09PSJleGl0IiYmKHMxPSEwKTticmVha31jYXNlImxpbmVQcmVmaXgiOmJyZWFrO2Nhc2UibGluZUVuZGluZ0JsYW5rIjp7S2FbMF09PT0iZW50ZXIiJiYhamEmJihzMT9zMT12b2lkIDA6WGE9ITApO2JyZWFrfWRlZmF1bHQ6czE9dm9pZCAwfX1xZVswXVsxXS5fbG9vc2U9WGF9ZnVuY3Rpb24geChxZSx0dCl7dVtxZV09dHR9ZnVuY3Rpb24gYihxZSl7cmV0dXJuIHVbcWVdfWZ1bmN0aW9uIG0oKXtzLnB1c2goW10pfWZ1bmN0aW9uIHkoKXtyZXR1cm4gcy5wb3AoKS5qb2luKCIiKX1mdW5jdGlvbiBNKHFlKXthJiYoeCgibGFzdFdhc1RhZyIsITApLHNbcy5sZW5ndGgtMV0ucHVzaChxZSkpfWZ1bmN0aW9uIGsocWUpe3goImxhc3RXYXNUYWciKSxzW3MubGVuZ3RoLTFdLnB1c2gocWUpfWZ1bmN0aW9uIEUoKXtrKHB8fGAKYCl9ZnVuY3Rpb24gXygpe2xldCBxZT1zW3MubGVuZ3RoLTFdLHR0PXFlW3FlLmxlbmd0aC0xXSxTYT10dD90dC5jaGFyQ29kZUF0KHR0Lmxlbmd0aC0xKTpudWxsO1NhPT09MTB8fFNhPT09MTN8fFNhPT09bnVsbHx8RSgpfWZ1bmN0aW9uIEMocWUpe3JldHVybiBiKCJpZ25vcmVFbmNvZGUiKT9xZTpGVShxZSl9ZnVuY3Rpb24gTigpe3koKX1mdW5jdGlvbiAkKHFlKXtvLnB1c2goIXFlLl9sb29zZSksXygpLE0oIjxvbCIpLHgoImV4cGVjdEZpcnN0SXRlbSIsITApfWZ1bmN0aW9uIEkocWUpe28ucHVzaCghcWUuX2xvb3NlKSxfKCksTSgiPHVsIikseCgiZXhwZWN0Rmlyc3RJdGVtIiwhMCl9ZnVuY3Rpb24gaihxZSl7aWYoYigiZXhwZWN0Rmlyc3RJdGVtIikpe2xldCB0dD1OdW1iZXIucGFyc2VJbnQodGhpcy5zbGljZVNlcmlhbGl6ZShxZSksMTApO3R0IT09MSYmTSgnIHN0YXJ0PSInK0MoU3RyaW5nKHR0KSkrJyInKX19ZnVuY3Rpb24gUygpe2IoImV4cGVjdEZpcnN0SXRlbSIpP00oIj4iKTpUKCksXygpLE0oIjxsaT4iKSx4KCJleHBlY3RGaXJzdEl0ZW0iKSx4KCJsYXN0V2FzVGFnIil9ZnVuY3Rpb24geigpe1QoKSxvLnBvcCgpLEUoKSxNKCI8L29sPiIpfWZ1bmN0aW9uIEQoKXtUKCksby5wb3AoKSxFKCksTSgiPC91bD4iKX1mdW5jdGlvbiBUKCl7YigibGFzdFdhc1RhZyIpJiYhYigic2x1cnBBbGxMaW5lRW5kaW5ncyIpJiZfKCksTSgiPC9saT4iKSx4KCJzbHVycEFsbExpbmVFbmRpbmdzIil9ZnVuY3Rpb24gQSgpe28ucHVzaCghMSksXygpLE0oIjxibG9ja3F1b3RlPiIpfWZ1bmN0aW9uIFUoKXtvLnBvcCgpLF8oKSxNKCI8L2Jsb2NrcXVvdGU+IikseCgic2x1cnBBbGxMaW5lRW5kaW5ncyIpfWZ1bmN0aW9uIFIoKXtvW28ubGVuZ3RoLTFdfHwoXygpLE0oIjxwPiIpKSx4KCJzbHVycEFsbExpbmVFbmRpbmdzIil9ZnVuY3Rpb24gcSgpe29bby5sZW5ndGgtMV0/eCgic2x1cnBBbGxMaW5lRW5kaW5ncyIsITApOk0oIjwvcD4iKX1mdW5jdGlvbiBvZSgpe18oKSxNKCI8cHJlPjxjb2RlIikseCgiZmVuY2VzQ291bnQiLDApfWZ1bmN0aW9uIE8oKXtsZXQgcWU9eSgpO00oJyBjbGFzcz0ibGFuZ3VhZ2UtJytxZSsnIicpfWZ1bmN0aW9uIHJlKCl7bGV0IHFlPWIoImZlbmNlc0NvdW50Iil8fDA7cWV8fChNKCI+IikseCgic2x1cnBPbmVMaW5lRW5kaW5nIiwhMCkpLHgoImZlbmNlc0NvdW50IixxZSsxKX1mdW5jdGlvbiB5ZSgpe18oKSxNKCI8cHJlPjxjb2RlPiIpfWZ1bmN0aW9uIEIoKXtsZXQgcWU9YigiZmVuY2VzQ291bnQiKTtxZSE9PXZvaWQgMCYmcWU8MiYmdS50aWdodFN0YWNrLmxlbmd0aD4wJiYhYigibGFzdFdhc1RhZyIpJiZFKCksYigiZmxvd0NvZGVTZWVuRGF0YSIpJiZfKCksTSgiPC9jb2RlPjwvcHJlPiIpLHFlIT09dm9pZCAwJiZxZTwyJiZfKCkseCgiZmxvd0NvZGVTZWVuRGF0YSIpLHgoImZlbmNlc0NvdW50IikseCgic2x1cnBPbmVMaW5lRW5kaW5nIil9ZnVuY3Rpb24gZWUoKXtuLnB1c2goe2ltYWdlOiEwfSksYT12b2lkIDB9ZnVuY3Rpb24gQ2UoKXtuLnB1c2goe30pfWZ1bmN0aW9uIFkocWUpe25bbi5sZW5ndGgtMV0ubGFiZWxJZD10aGlzLnNsaWNlU2VyaWFsaXplKHFlKX1mdW5jdGlvbiBQKCl7bltuLmxlbmd0aC0xXS5sYWJlbD15KCl9ZnVuY3Rpb24gSChxZSl7bltuLmxlbmd0aC0xXS5yZWZlcmVuY2VJZD10aGlzLnNsaWNlU2VyaWFsaXplKHFlKX1mdW5jdGlvbiBHKCl7bSgpLG5bbi5sZW5ndGgtMV0uZGVzdGluYXRpb249IiJ9ZnVuY3Rpb24gVygpe20oKSx4KCJpZ25vcmVFbmNvZGUiLCEwKX1mdW5jdGlvbiBzZSgpe25bbi5sZW5ndGgtMV0uZGVzdGluYXRpb249eSgpLHgoImlnbm9yZUVuY29kZSIpfWZ1bmN0aW9uIHplKCl7bltuLmxlbmd0aC0xXS50aXRsZT15KCl9ZnVuY3Rpb24gTWUoKXtsZXQgcWU9bi5sZW5ndGgtMSx0dD1uW3FlXSxTYT10dC5yZWZlcmVuY2VJZHx8dHQubGFiZWxJZCxqYT10dC5kZXN0aW5hdGlvbj09PXZvaWQgMD9yW3IxKFNhKV06dHQ7Zm9yKGE9ITA7cWUtLTspaWYobltxZV0uaW1hZ2Upe2E9dm9pZCAwO2JyZWFrfXR0LmltYWdlPyhNKCc8aW1nIHNyYz0iJyt2MihqYS5kZXN0aW5hdGlvbixlLmFsbG93RGFuZ2Vyb3VzUHJvdG9jb2w/dm9pZCAwOkR1YSkrJyIgYWx0PSInKSxrKHR0LmxhYmVsKSxNKCciJykpOk0oJzxhIGhyZWY9IicrdjIoamEuZGVzdGluYXRpb24sZS5hbGxvd0Rhbmdlcm91c1Byb3RvY29sP3ZvaWQgMDokMnQpKyciJyksTShqYS50aXRsZT8nIHRpdGxlPSInK2phLnRpdGxlKyciJzoiIiksdHQuaW1hZ2U/TSgiIC8+Iik6KE0oIj4iKSxrKHR0LmxhYmVsKSxNKCI8L2E+IikpLG4ucG9wKCl9ZnVuY3Rpb24gRWUoKXttKCksbi5wdXNoKHt9KX1mdW5jdGlvbiBWKHFlKXt5KCksbltuLmxlbmd0aC0xXS5sYWJlbElkPXRoaXMuc2xpY2VTZXJpYWxpemUocWUpfWZ1bmN0aW9uIEYoKXttKCkseCgiaWdub3JlRW5jb2RlIiwhMCl9ZnVuY3Rpb24gbmUoKXtuW24ubGVuZ3RoLTFdLmRlc3RpbmF0aW9uPXkoKSx4KCJpZ25vcmVFbmNvZGUiKX1mdW5jdGlvbiB0ZSgpe25bbi5sZW5ndGgtMV0udGl0bGU9eSgpfWZ1bmN0aW9uIEsoKXtsZXQgcWU9bltuLmxlbmd0aC0xXSx0dD1yMShxZS5sYWJlbElkKTt5KCksTDJ0LmNhbGwocix0dCl8fChyW3R0XT1uW24ubGVuZ3RoLTFdKSxuLnBvcCgpfWZ1bmN0aW9uIGtlKCl7eCgic2x1cnBBbGxMaW5lRW5kaW5ncyIsITApfWZ1bmN0aW9uIHZlKHFlKXtiKCJoZWFkaW5nUmFuayIpfHwoeCgiaGVhZGluZ1JhbmsiLHRoaXMuc2xpY2VTZXJpYWxpemUocWUpLmxlbmd0aCksXygpLE0oIjxoIitiKCJoZWFkaW5nUmFuayIpKyI+IikpfWZ1bmN0aW9uIGRlKCl7bSgpLHgoInNsdXJwQWxsTGluZUVuZGluZ3MiKX1mdW5jdGlvbiAkZSgpe3goInNsdXJwQWxsTGluZUVuZGluZ3MiLCEwKX1mdW5jdGlvbiBWZSgpe00oIjwvaCIrYigiaGVhZGluZ1JhbmsiKSsiPiIpLHgoImhlYWRpbmdSYW5rIil9ZnVuY3Rpb24gUWUocWUpe3goImhlYWRpbmdSYW5rIix0aGlzLnNsaWNlU2VyaWFsaXplKHFlKS5jaGFyQ29kZUF0KDApPT09NjE/MToyKX1mdW5jdGlvbiBUZSgpe2xldCBxZT15KCk7XygpLE0oIjxoIitiKCJoZWFkaW5nUmFuayIpKyI+IiksayhxZSksTSgiPC9oIitiKCJoZWFkaW5nUmFuayIpKyI+IikseCgic2x1cnBBbGxMaW5lRW5kaW5ncyIpLHgoImhlYWRpbmdSYW5rIil9ZnVuY3Rpb24gbGUocWUpe2soQyh0aGlzLnNsaWNlU2VyaWFsaXplKHFlKSkpfWZ1bmN0aW9uIGZlKHFlKXtpZighYigic2x1cnBBbGxMaW5lRW5kaW5ncyIpKXtpZihiKCJzbHVycE9uZUxpbmVFbmRpbmciKSl7eCgic2x1cnBPbmVMaW5lRW5kaW5nIik7cmV0dXJufWlmKGIoImluQ29kZVRleHQiKSl7aygiICIpO3JldHVybn1rKEModGhpcy5zbGljZVNlcmlhbGl6ZShxZSkpKX19ZnVuY3Rpb24gU2UocWUpe2soQyh0aGlzLnNsaWNlU2VyaWFsaXplKHFlKSkpLHgoImZsb3dDb2RlU2VlbkRhdGEiLCEwKX1mdW5jdGlvbiBIZSgpe00oIjxiciAvPiIpfWZ1bmN0aW9uIEtlKCl7XygpLHV0KCl9ZnVuY3Rpb24ga3QoKXt4KCJpZ25vcmVFbmNvZGUiKX1mdW5jdGlvbiB1dCgpe2UuYWxsb3dEYW5nZXJvdXNIdG1sJiZ4KCJpZ25vcmVFbmNvZGUiLCEwKX1mdW5jdGlvbiBDdCgpe00oIjxlbT4iKX1mdW5jdGlvbiBXdCgpe00oIjxzdHJvbmc+Iil9ZnVuY3Rpb24gaGUoKXt4KCJpbkNvZGVUZXh0IiwhMCksTSgiPGNvZGU+Iil9ZnVuY3Rpb24gbWUoKXt4KCJpbkNvZGVUZXh0IiksTSgiPC9jb2RlPiIpfWZ1bmN0aW9uIFBlKCl7TSgiPC9lbT4iKX1mdW5jdGlvbiBmdCgpe00oIjwvc3Ryb25nPiIpfWZ1bmN0aW9uIGJ0KCl7XygpLE0oIjxociAvPiIpfWZ1bmN0aW9uIG5hKHFlKXt4KCJjaGFyYWN0ZXJSZWZlcmVuY2VUeXBlIixxZS50eXBlKX1mdW5jdGlvbiBSMShxZSl7bGV0IHR0PXRoaXMuc2xpY2VTZXJpYWxpemUocWUpLFNhPWIoImNoYXJhY3RlclJlZmVyZW5jZVR5cGUiKT9sOCh0dCxiKCJjaGFyYWN0ZXJSZWZlcmVuY2VUeXBlIik9PT0iY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VyTnVtZXJpYyI/MTA6MTYpOnFuKHR0KTtrKEMoU2EpKSx4KCJjaGFyYWN0ZXJSZWZlcmVuY2VUeXBlIil9ZnVuY3Rpb24gJHIocWUpe2xldCB0dD10aGlzLnNsaWNlU2VyaWFsaXplKHFlKTtNKCc8YSBocmVmPSInK3YyKHR0LGUuYWxsb3dEYW5nZXJvdXNQcm90b2NvbD92b2lkIDA6JDJ0KSsnIj4nKSxrKEModHQpKSxNKCI8L2E+Iil9ZnVuY3Rpb24gRHIocWUpe2xldCB0dD10aGlzLnNsaWNlU2VyaWFsaXplKHFlKTtNKCc8YSBocmVmPSInK3YyKCJtYWlsdG86Iit0dCkrJyI+JyksayhDKHR0KSksTSgiPC9hPiIpfX12YXIgTDJ0LCQydCxEdWEsTnJlPWMoKCk9PntuZigpO2cyKCk7UlUoKTtBVSgpO2lyZSgpO0huKCk7eDIoKTtMMnQ9e30uaGFzT3duUHJvcGVydHksJDJ0PS9eKGh0dHBzP3xpcmNzP3xtYWlsdG98eG1wcCkkL2ksRHVhPS9eaHR0cHM/JC9pO2koSXJlLCJjb21waWxlIil9KTtmdW5jdGlvbiBBdWEodCl7bGV0IGU9dC5hdHRlbXB0KHRoaXMucGFyc2VyLmNvbnN0cnVjdHMuY29udGVudEluaXRpYWwscixzKSxhO3JldHVybiBlO2Z1bmN0aW9uIHIobCl7aWYobD09PW51bGwpe3QuY29uc3VtZShsKTtyZXR1cm59cmV0dXJuIHQuZW50ZXIoImxpbmVFbmRpbmciKSx0LmNvbnN1bWUobCksdC5leGl0KCJsaW5lRW5kaW5nIiksZ3QodCxlLCJsaW5lUHJlZml4Iil9ZnVuY3Rpb24gcyhsKXtyZXR1cm4gdC5lbnRlcigicGFyYWdyYXBoIiksbihsKX1mdW5jdGlvbiBuKGwpe2xldCBoPXQuZW50ZXIoImNodW5rVGV4dCIse2NvbnRlbnRUeXBlOiJ0ZXh0IixwcmV2aW91czphfSk7cmV0dXJuIGEmJihhLm5leHQ9aCksYT1oLG8obCl9ZnVuY3Rpb24gbyhsKXtpZihsPT09bnVsbCl7dC5leGl0KCJjaHVua1RleHQiKSx0LmV4aXQoInBhcmFncmFwaCIpLHQuY29uc3VtZShsKTtyZXR1cm59cmV0dXJuIEdlKGwpPyh0LmNvbnN1bWUobCksdC5leGl0KCJjaHVua1RleHQiKSxuKToodC5jb25zdW1lKGwpLG8pfX12YXIgRDJ0LEEydD1jKCgpPT57YzEoKTtVdCgpO0QydD17dG9rZW5pemU6QXVhfTtpKEF1YSwiaW5pdGlhbGl6ZUNvbnRlbnQiKX0pO2Z1bmN0aW9uIFB1YSh0KXtsZXQgZT10aGlzLGE9W10scj0wLHMsbixvO3JldHVybiBsO2Z1bmN0aW9uIGwoayl7aWYocjxhLmxlbmd0aCl7bGV0IEU9YVtyXTtyZXR1cm4gZS5jb250YWluZXJTdGF0ZT1FWzFdLHQuYXR0ZW1wdChFWzBdLmNvbnRpbnVhdGlvbixoLHUpKGspfXJldHVybiB1KGspfWZ1bmN0aW9uIGgoayl7aWYocisrLGUuY29udGFpbmVyU3RhdGUuX2Nsb3NlRmxvdyl7ZS5jb250YWluZXJTdGF0ZS5fY2xvc2VGbG93PXZvaWQgMCxzJiZNKCk7bGV0IEU9ZS5ldmVudHMubGVuZ3RoLF89RSxDO2Zvcig7Xy0tOylpZihlLmV2ZW50c1tfXVswXT09PSJleGl0IiYmZS5ldmVudHNbX11bMV0udHlwZT09PSJjaHVua0Zsb3ciKXtDPWUuZXZlbnRzW19dWzFdLmVuZDticmVha315KHIpO2xldCBOPUU7Zm9yKDtOPGUuZXZlbnRzLmxlbmd0aDspZS5ldmVudHNbTl1bMV0uZW5kPXsuLi5DfSxOKys7cmV0dXJuIGwxKGUuZXZlbnRzLF8rMSwwLGUuZXZlbnRzLnNsaWNlKEUpKSxlLmV2ZW50cy5sZW5ndGg9Tix1KGspfXJldHVybiBsKGspfWZ1bmN0aW9uIHUoayl7aWYocj09PWEubGVuZ3RoKXtpZighcylyZXR1cm4gZyhrKTtpZihzLmN1cnJlbnRDb25zdHJ1Y3QmJnMuY3VycmVudENvbnN0cnVjdC5jb25jcmV0ZSlyZXR1cm4geChrKTtlLmludGVycnVwdD0hIShzLmN1cnJlbnRDb25zdHJ1Y3QmJiFzLl9nZm1UYWJsZUR5bmFtaWNJbnRlcnJ1cHRIYWNrKX1yZXR1cm4gZS5jb250YWluZXJTdGF0ZT17fSx0LmNoZWNrKFAydCxmLHApKGspfWZ1bmN0aW9uIGYoayl7cmV0dXJuIHMmJk0oKSx5KHIpLGcoayl9ZnVuY3Rpb24gcChrKXtyZXR1cm4gZS5wYXJzZXIubGF6eVtlLm5vdygpLmxpbmVdPXIhPT1hLmxlbmd0aCxvPWUubm93KCkub2Zmc2V0LHgoayl9ZnVuY3Rpb24gZyhrKXtyZXR1cm4gZS5jb250YWluZXJTdGF0ZT17fSx0LmF0dGVtcHQoUDJ0LHYseCkoayl9ZnVuY3Rpb24gdihrKXtyZXR1cm4gcisrLGEucHVzaChbZS5jdXJyZW50Q29uc3RydWN0LGUuY29udGFpbmVyU3RhdGVdKSxnKGspfWZ1bmN0aW9uIHgoayl7aWYoaz09PW51bGwpe3MmJk0oKSx5KDApLHQuY29uc3VtZShrKTtyZXR1cm59cmV0dXJuIHM9c3x8ZS5wYXJzZXIuZmxvdyhlLm5vdygpKSx0LmVudGVyKCJjaHVua0Zsb3ciLHtfdG9rZW5pemVyOnMsY29udGVudFR5cGU6ImZsb3ciLHByZXZpb3VzOm59KSxiKGspfWZ1bmN0aW9uIGIoayl7aWYoaz09PW51bGwpe20odC5leGl0KCJjaHVua0Zsb3ciKSwhMCkseSgwKSx0LmNvbnN1bWUoayk7cmV0dXJufXJldHVybiBHZShrKT8odC5jb25zdW1lKGspLG0odC5leGl0KCJjaHVua0Zsb3ciKSkscj0wLGUuaW50ZXJydXB0PXZvaWQgMCxsKToodC5jb25zdW1lKGspLGIpfWZ1bmN0aW9uIG0oayxFKXtsZXQgXz1lLnNsaWNlU3RyZWFtKGspO2lmKEUmJl8ucHVzaChudWxsKSxrLnByZXZpb3VzPW4sbiYmKG4ubmV4dD1rKSxuPWsscy5kZWZpbmVTa2lwKGsuc3RhcnQpLHMud3JpdGUoXyksZS5wYXJzZXIubGF6eVtrLnN0YXJ0LmxpbmVdKXtsZXQgQz1zLmV2ZW50cy5sZW5ndGg7Zm9yKDtDLS07KWlmKHMuZXZlbnRzW0NdWzFdLnN0YXJ0Lm9mZnNldDxvJiYoIXMuZXZlbnRzW0NdWzFdLmVuZHx8cy5ldmVudHNbQ11bMV0uZW5kLm9mZnNldD5vKSlyZXR1cm47bGV0IE49ZS5ldmVudHMubGVuZ3RoLCQ9TixJLGo7Zm9yKDskLS07KWlmKGUuZXZlbnRzWyRdWzBdPT09ImV4aXQiJiZlLmV2ZW50c1skXVsxXS50eXBlPT09ImNodW5rRmxvdyIpe2lmKEkpe2o9ZS5ldmVudHNbJF1bMV0uZW5kO2JyZWFrfUk9ITB9Zm9yKHkociksQz1OO0M8ZS5ldmVudHMubGVuZ3RoOyllLmV2ZW50c1tDXVsxXS5lbmQ9ey4uLmp9LEMrKztsMShlLmV2ZW50cywkKzEsMCxlLmV2ZW50cy5zbGljZShOKSksZS5ldmVudHMubGVuZ3RoPUN9fWZ1bmN0aW9uIHkoayl7bGV0IEU9YS5sZW5ndGg7Zm9yKDtFLS0gPms7KXtsZXQgXz1hW0VdO2UuY29udGFpbmVyU3RhdGU9X1sxXSxfWzBdLmV4aXQuY2FsbChlLHQpfWEubGVuZ3RoPWt9ZnVuY3Rpb24gTSgpe3Mud3JpdGUoW251bGxdKSxuPXZvaWQgMCxzPXZvaWQgMCxlLmNvbnRhaW5lclN0YXRlLl9jbG9zZUZsb3c9dm9pZCAwfX1mdW5jdGlvbiBFdWEodCxlLGEpe3JldHVybiBndCh0LHQuYXR0ZW1wdCh0aGlzLnBhcnNlci5jb25zdHJ1Y3RzLmRvY3VtZW50LGUsYSksImxpbmVQcmVmaXgiLHRoaXMucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKT92b2lkIDA6NCl9dmFyIEUydCxQMnQsSTJ0PWMoKCk9PntjMSgpO1V0KCk7ZzIoKTtFMnQ9e3Rva2VuaXplOlB1YX0sUDJ0PXt0b2tlbml6ZTpFdWF9O2koUHVhLCJpbml0aWFsaXplRG9jdW1lbnQiKTtpKEV1YSwidG9rZW5pemVDb250YWluZXIiKX0pO2Z1bmN0aW9uIEl1YSh0KXtsZXQgZT10aGlzLGE9dC5hdHRlbXB0KHkyLHIsdC5hdHRlbXB0KHRoaXMucGFyc2VyLmNvbnN0cnVjdHMuZmxvd0luaXRpYWwscyxndCh0LHQuYXR0ZW1wdCh0aGlzLnBhcnNlci5jb25zdHJ1Y3RzLmZsb3cscyx0LmF0dGVtcHQocHJlLHMpKSwibGluZVByZWZpeCIpKSk7cmV0dXJuIGE7ZnVuY3Rpb24gcihuKXtpZihuPT09bnVsbCl7dC5jb25zdW1lKG4pO3JldHVybn1yZXR1cm4gdC5lbnRlcigibGluZUVuZGluZ0JsYW5rIiksdC5jb25zdW1lKG4pLHQuZXhpdCgibGluZUVuZGluZ0JsYW5rIiksZS5jdXJyZW50Q29uc3RydWN0PXZvaWQgMCxhfWZ1bmN0aW9uIHMobil7aWYobj09PW51bGwpe3QuY29uc3VtZShuKTtyZXR1cm59cmV0dXJuIHQuZW50ZXIoImxpbmVFbmRpbmciKSx0LmNvbnN1bWUobiksdC5leGl0KCJsaW5lRW5kaW5nIiksZS5jdXJyZW50Q29uc3RydWN0PXZvaWQgMCxhfX12YXIgTjJ0LFIydD1jKCgpPT57WFUoKTtjMSgpO1V0KCk7TjJ0PXt0b2tlbml6ZTpJdWF9O2koSXVhLCJpbml0aWFsaXplRmxvdyIpfSk7ZnVuY3Rpb24gRjJ0KHQpe3JldHVybntyZXNvbHZlQWxsOk8ydCh0PT09InRleHQiP051YTp2b2lkIDApLHRva2VuaXplOmV9O2Z1bmN0aW9uIGUoYSl7bGV0IHI9dGhpcyxzPXRoaXMucGFyc2VyLmNvbnN0cnVjdHNbdF0sbj1hLmF0dGVtcHQocyxvLGwpO3JldHVybiBvO2Z1bmN0aW9uIG8oZil7cmV0dXJuIHUoZik/bihmKTpsKGYpfWZ1bmN0aW9uIGwoZil7aWYoZj09PW51bGwpe2EuY29uc3VtZShmKTtyZXR1cm59cmV0dXJuIGEuZW50ZXIoImRhdGEiKSxhLmNvbnN1bWUoZiksaH1mdW5jdGlvbiBoKGYpe3JldHVybiB1KGYpPyhhLmV4aXQoImRhdGEiKSxuKGYpKTooYS5jb25zdW1lKGYpLGgpfWZ1bmN0aW9uIHUoZil7aWYoZj09PW51bGwpcmV0dXJuITA7bGV0IHA9c1tmXSxnPS0xO2lmKHApZm9yKDsrK2c8cC5sZW5ndGg7KXtsZXQgdj1wW2ddO2lmKCF2LnByZXZpb3VzfHx2LnByZXZpb3VzLmNhbGwocixyLnByZXZpb3VzKSlyZXR1cm4hMH1yZXR1cm4hMX19fWZ1bmN0aW9uIE8ydCh0KXtyZXR1cm4gZTtmdW5jdGlvbiBlKGEscil7bGV0IHM9LTEsbjtmb3IoOysrczw9YS5sZW5ndGg7KW49PT12b2lkIDA/YVtzXSYmYVtzXVsxXS50eXBlPT09ImRhdGEiJiYobj1zLHMrKyk6KCFhW3NdfHxhW3NdWzFdLnR5cGUhPT0iZGF0YSIpJiYocyE9PW4rMiYmKGFbbl1bMV0uZW5kPWFbcy0xXVsxXS5lbmQsYS5zcGxpY2UobisyLHMtbi0yKSxzPW4rMiksbj12b2lkIDApO3JldHVybiB0P3QoYSxyKTphfX1mdW5jdGlvbiBOdWEodCxlKXtsZXQgYT0wO2Zvcig7KythPD10Lmxlbmd0aDspaWYoKGE9PT10Lmxlbmd0aHx8dFthXVsxXS50eXBlPT09ImxpbmVFbmRpbmciKSYmdFthLTFdWzFdLnR5cGU9PT0iZGF0YSIpe2xldCByPXRbYS0xXVsxXSxzPWUuc2xpY2VTdHJlYW0ociksbj1zLmxlbmd0aCxvPS0xLGw9MCxoO2Zvcig7bi0tOyl7bGV0IHU9c1tuXTtpZih0eXBlb2YgdT09InN0cmluZyIpe2ZvcihvPXUubGVuZ3RoO3UuY2hhckNvZGVBdChvLTEpPT09MzI7KWwrKyxvLS07aWYobylicmVhaztvPS0xfWVsc2UgaWYodT09PS0yKWg9ITAsbCsrO2Vsc2UgaWYodSE9PS0xKXtuKys7YnJlYWt9fWlmKGUuX2NvbnRlbnRUeXBlVGV4dFRyYWlsaW5nJiZhPT09dC5sZW5ndGgmJihsPTApLGwpe2xldCB1PXt0eXBlOmE9PT10Lmxlbmd0aHx8aHx8bDwyPyJsaW5lU3VmZml4IjoiaGFyZEJyZWFrVHJhaWxpbmciLHN0YXJ0OntfYnVmZmVySW5kZXg6bj9vOnIuc3RhcnQuX2J1ZmZlckluZGV4K28sX2luZGV4OnIuc3RhcnQuX2luZGV4K24sbGluZTpyLmVuZC5saW5lLGNvbHVtbjpyLmVuZC5jb2x1bW4tbCxvZmZzZXQ6ci5lbmQub2Zmc2V0LWx9LGVuZDp7Li4uci5lbmR9fTtyLmVuZD17Li4udS5zdGFydH0sci5zdGFydC5vZmZzZXQ9PT1yLmVuZC5vZmZzZXQ/T2JqZWN0LmFzc2lnbihyLHUpOih0LnNwbGljZShhLDAsWyJlbnRlciIsdSxlXSxbImV4aXQiLHUsZV0pLGErPTIpfWErK31yZXR1cm4gdH12YXIgQjJ0LEgydCxxMnQsUnJlPWMoKCk9PntCMnQ9e3Jlc29sdmVBbGw6TzJ0KCl9LEgydD1GMnQoInN0cmluZyIpLHEydD1GMnQoInRleHQiKTtpKEYydCwiaW5pdGlhbGl6ZUZhY3RvcnkiKTtpKE8ydCwiY3JlYXRlUmVzb2x2ZXIiKTtpKE51YSwicmVzb2x2ZUFsbExpbmVTdWZmaXhlcyIpfSk7dmFyIEZyZT17fTtldChGcmUse2F0dGVudGlvbk1hcmtlcnM6KCk9Pmp1YSxjb250ZW50SW5pdGlhbDooKT0+RnVhLGRpc2FibGU6KCk9PlV1YSxkb2N1bWVudDooKT0+UnVhLGZsb3c6KCk9PkJ1YSxmbG93SW5pdGlhbDooKT0+T3VhLGluc2lkZVNwYW46KCk9PlZ1YSxzdHJpbmc6KCk9Pkh1YSx0ZXh0OigpPT5xdWF9KTt2YXIgUnVhLEZ1YSxPdWEsQnVhLEh1YSxxdWEsVnVhLGp1YSxVdWEsVjJ0PWMoKCk9PntYVSgpO1JyZSgpO1J1YT17NDI6d3IsNDM6d3IsNDU6d3IsNDg6d3IsNDk6d3IsNTA6d3IsNTE6d3IsNTI6d3IsNTM6d3IsNTQ6d3IsNTU6d3IsNTY6d3IsNTc6d3IsNjI6QlV9LEZ1YT17OTE6Z3JlfSxPdWE9e1stMl06ZGYsWy0xXTpkZiwzMjpkZn0sQnVhPXszNTp2cmUsNDI6QzAsNDU6W1pVLEMwXSw2MDp5cmUsNjE6WlUsOTU6QzAsOTY6VlUsMTI2OlZVfSxIdWE9ezM4OnFVLDkyOkhVfSxxdWE9e1stNV06ZmYsWy00XTpmZixbLTNdOmZmLDMzOk1yZSwzODpxVSw0MjpjZiw2MDpbbnJlLHdyZV0sOTE6a3JlLDkyOlticmUsSFVdLDkzOlMwLDk1OmNmLDk2OmxyZX0sVnVhPXtudWxsOltjZixCMnRdfSxqdWE9e251bGw6WzQyLDk1XX0sVXVhPXtudWxsOltdfX0pO2Z1bmN0aW9uIGoydCh0LGUsYSl7bGV0IHI9e19idWZmZXJJbmRleDotMSxfaW5kZXg6MCxsaW5lOmEmJmEubGluZXx8MSxjb2x1bW46YSYmYS5jb2x1bW58fDEsb2Zmc2V0OmEmJmEub2Zmc2V0fHwwfSxzPXt9LG49W10sbz1bXSxsPVtdLGg9ITAsdT17YXR0ZW1wdDpJKE4pLGNoZWNrOkkoJCksY29uc3VtZTpFLGVudGVyOl8sZXhpdDpDLGludGVycnVwdDpJKCQse2ludGVycnVwdDohMH0pfSxmPXtjb2RlOm51bGwsY29udGFpbmVyU3RhdGU6e30sZGVmaW5lU2tpcDp5LGV2ZW50czpbXSxub3c6bSxwYXJzZXI6dCxwcmV2aW91czpudWxsLHNsaWNlU2VyaWFsaXplOngsc2xpY2VTdHJlYW06Yix3cml0ZTp2fSxwPWUudG9rZW5pemUuY2FsbChmLHUpLGc7cmV0dXJuIGUucmVzb2x2ZUFsbCYmbi5wdXNoKGUpLGY7ZnVuY3Rpb24gdihEKXtyZXR1cm4gbz1nMShvLEQpLE0oKSxvW28ubGVuZ3RoLTFdIT09bnVsbD9bXTooaihlLDApLGYuZXZlbnRzPVZuKG4sZi5ldmVudHMsZiksZi5ldmVudHMpfWkodiwid3JpdGUiKTtmdW5jdGlvbiB4KEQsVCl7cmV0dXJuIEd1YShiKEQpLFQpfWkoeCwic2xpY2VTZXJpYWxpemUiKTtmdW5jdGlvbiBiKEQpe3JldHVybiBXdWEobyxEKX1pKGIsInNsaWNlU3RyZWFtIik7ZnVuY3Rpb24gbSgpe2xldHtfYnVmZmVySW5kZXg6RCxfaW5kZXg6VCxsaW5lOkEsY29sdW1uOlUsb2Zmc2V0OlJ9PXI7cmV0dXJue19idWZmZXJJbmRleDpELF9pbmRleDpULGxpbmU6QSxjb2x1bW46VSxvZmZzZXQ6Un19aShtLCJub3ciKTtmdW5jdGlvbiB5KEQpe3NbRC5saW5lXT1ELmNvbHVtbix6KCl9aSh5LCJkZWZpbmVTa2lwIik7ZnVuY3Rpb24gTSgpe2xldCBEO2Zvcig7ci5faW5kZXg8by5sZW5ndGg7KXtsZXQgVD1vW3IuX2luZGV4XTtpZih0eXBlb2YgVD09InN0cmluZyIpZm9yKEQ9ci5faW5kZXgsci5fYnVmZmVySW5kZXg8MCYmKHIuX2J1ZmZlckluZGV4PTApO3IuX2luZGV4PT09RCYmci5fYnVmZmVySW5kZXg8VC5sZW5ndGg7KWsoVC5jaGFyQ29kZUF0KHIuX2J1ZmZlckluZGV4KSk7ZWxzZSBrKFQpfX1pKE0sIm1haW4iKTtmdW5jdGlvbiBrKEQpe2g9dm9pZCAwLGc9RCxwPXAoRCl9aShrLCJnbyIpO2Z1bmN0aW9uIEUoRCl7R2UoRCk/KHIubGluZSsrLHIuY29sdW1uPTEsci5vZmZzZXQrPUQ9PT0tMz8yOjEseigpKTpEIT09LTEmJihyLmNvbHVtbisrLHIub2Zmc2V0KyspLHIuX2J1ZmZlckluZGV4PDA/ci5faW5kZXgrKzooci5fYnVmZmVySW5kZXgrKyxyLl9idWZmZXJJbmRleD09PW9bci5faW5kZXhdLmxlbmd0aCYmKHIuX2J1ZmZlckluZGV4PS0xLHIuX2luZGV4KyspKSxmLnByZXZpb3VzPUQsaD0hMH1pKEUsImNvbnN1bWUiKTtmdW5jdGlvbiBfKEQsVCl7bGV0IEE9VHx8e307cmV0dXJuIEEudHlwZT1ELEEuc3RhcnQ9bSgpLGYuZXZlbnRzLnB1c2goWyJlbnRlciIsQSxmXSksbC5wdXNoKEEpLEF9aShfLCJlbnRlciIpO2Z1bmN0aW9uIEMoRCl7bGV0IFQ9bC5wb3AoKTtyZXR1cm4gVC5lbmQ9bSgpLGYuZXZlbnRzLnB1c2goWyJleGl0IixULGZdKSxUfWkoQywiZXhpdCIpO2Z1bmN0aW9uIE4oRCxUKXtqKEQsVC5mcm9tKX1pKE4sIm9uc3VjY2Vzc2Z1bGNvbnN0cnVjdCIpO2Z1bmN0aW9uICQoRCxUKXtULnJlc3RvcmUoKX1pKCQsIm9uc3VjY2Vzc2Z1bGNoZWNrIik7ZnVuY3Rpb24gSShELFQpe3JldHVybiBBO2Z1bmN0aW9uIEEoVSxSLHEpe2xldCBvZSxPLHJlLHllO3JldHVybiBBcnJheS5pc0FycmF5KFUpP2VlKFUpOiJ0b2tlbml6ZSJpbiBVP2VlKFtVXSk6QihVKTtmdW5jdGlvbiBCKEgpe3JldHVybiBHO2Z1bmN0aW9uIEcoVyl7bGV0IHNlPVchPT1udWxsJiZIW1ddLHplPVchPT1udWxsJiZILm51bGwsTWU9Wy4uLkFycmF5LmlzQXJyYXkoc2UpP3NlOnNlP1tzZV06W10sLi4uQXJyYXkuaXNBcnJheSh6ZSk/emU6emU/W3plXTpbXV07cmV0dXJuIGVlKE1lKShXKX19ZnVuY3Rpb24gZWUoSCl7cmV0dXJuIG9lPUgsTz0wLEgubGVuZ3RoPT09MD9xOkNlKEhbT10pfWZ1bmN0aW9uIENlKEgpe3JldHVybiBHO2Z1bmN0aW9uIEcoVyl7cmV0dXJuIHllPVMoKSxyZT1ILEgucGFydGlhbHx8KGYuY3VycmVudENvbnN0cnVjdD1IKSxILm5hbWUmJmYucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKEgubmFtZSk/UChXKTpILnRva2VuaXplLmNhbGwoVD9PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUoZiksVCk6Zix1LFksUCkoVyl9fWZ1bmN0aW9uIFkoSCl7cmV0dXJuIGg9ITAsRChyZSx5ZSksUn1mdW5jdGlvbiBQKEgpe3JldHVybiBoPSEwLHllLnJlc3RvcmUoKSwrK088b2UubGVuZ3RoP0NlKG9lW09dKTpxfX19aShJLCJjb25zdHJ1Y3RGYWN0b3J5Iik7ZnVuY3Rpb24gaihELFQpe0QucmVzb2x2ZUFsbCYmIW4uaW5jbHVkZXMoRCkmJm4ucHVzaChEKSxELnJlc29sdmUmJmwxKGYuZXZlbnRzLFQsZi5ldmVudHMubGVuZ3RoLVQsRC5yZXNvbHZlKGYuZXZlbnRzLnNsaWNlKFQpLGYpKSxELnJlc29sdmVUbyYmKGYuZXZlbnRzPUQucmVzb2x2ZVRvKGYuZXZlbnRzLGYpKX1pKGosImFkZFJlc3VsdCIpO2Z1bmN0aW9uIFMoKXtsZXQgRD1tKCksVD1mLnByZXZpb3VzLEE9Zi5jdXJyZW50Q29uc3RydWN0LFU9Zi5ldmVudHMubGVuZ3RoLFI9QXJyYXkuZnJvbShsKTtyZXR1cm57ZnJvbTpVLHJlc3RvcmU6cX07ZnVuY3Rpb24gcSgpe3I9RCxmLnByZXZpb3VzPVQsZi5jdXJyZW50Q29uc3RydWN0PUEsZi5ldmVudHMubGVuZ3RoPVUsbD1SLHooKX19aShTLCJzdG9yZSIpO2Z1bmN0aW9uIHooKXtyLmxpbmUgaW4gcyYmci5jb2x1bW48MiYmKHIuY29sdW1uPXNbci5saW5lXSxyLm9mZnNldCs9c1tyLmxpbmVdLTEpfWkoeiwiYWNjb3VudEZvclBvdGVudGlhbFNraXAiKX1mdW5jdGlvbiBXdWEodCxlKXtsZXQgYT1lLnN0YXJ0Ll9pbmRleCxyPWUuc3RhcnQuX2J1ZmZlckluZGV4LHM9ZS5lbmQuX2luZGV4LG49ZS5lbmQuX2J1ZmZlckluZGV4LG87aWYoYT09PXMpbz1bdFthXS5zbGljZShyLG4pXTtlbHNle2lmKG89dC5zbGljZShhLHMpLHI+LTEpe2xldCBsPW9bMF07dHlwZW9mIGw9PSJzdHJpbmciP29bMF09bC5zbGljZShyKTpvLnNoaWZ0KCl9bj4wJiZvLnB1c2godFtzXS5zbGljZSgwLG4pKX1yZXR1cm4gb31mdW5jdGlvbiBHdWEodCxlKXtsZXQgYT0tMSxyPVtdLHM7Zm9yKDsrK2E8dC5sZW5ndGg7KXtsZXQgbj10W2FdLG87aWYodHlwZW9mIG49PSJzdHJpbmciKW89bjtlbHNlIHN3aXRjaChuKXtjYXNlLTU6e289IlxyIjticmVha31jYXNlLTQ6e289YApgO2JyZWFrfWNhc2UtMzp7bz1gXHIKYDticmVha31jYXNlLTI6e289ZT8iICI6IgkiO2JyZWFrfWNhc2UtMTp7aWYoIWUmJnMpY29udGludWU7bz0iICI7YnJlYWt9ZGVmYXVsdDpvPVN0cmluZy5mcm9tQ2hhckNvZGUobil9cz1uPT09LTIsci5wdXNoKG8pfXJldHVybiByLmpvaW4oIiIpfXZhciBVMnQ9YygoKT0+e1V0KCk7ZzIoKTtsZigpO2koajJ0LCJjcmVhdGVUb2tlbml6ZXIiKTtpKFd1YSwic2xpY2VDaHVua3MiKTtpKEd1YSwic2VyaWFsaXplQ2h1bmtzIil9KTtmdW5jdGlvbiBoZih0KXtsZXQgcj17Y29uc3RydWN0czpJVShbRnJlLC4uLih0fHx7fSkuZXh0ZW5zaW9uc3x8W11dKSxjb250ZW50OnMoRDJ0KSxkZWZpbmVkOltdLGRvY3VtZW50OnMoRTJ0KSxmbG93OnMoTjJ0KSxsYXp5Ont9LHN0cmluZzpzKEgydCksdGV4dDpzKHEydCl9O3JldHVybiByO2Z1bmN0aW9uIHMobil7cmV0dXJuIG87ZnVuY3Rpb24gbyhsKXtyZXR1cm4gajJ0KHIsbixsKX19fXZhciBPcmU9YygoKT0+e1JVKCk7QTJ0KCk7STJ0KCk7UjJ0KCk7UnJlKCk7VjJ0KCk7VTJ0KCk7aShoZiwicGFyc2UiKX0pO2Z1bmN0aW9uIG1mKHQpe2Zvcig7IWpVKHQpOyk7cmV0dXJuIHR9dmFyIEJyZT1jKCgpPT57ZHJlKCk7aShtZiwicG9zdHByb2Nlc3MiKX0pO2Z1bmN0aW9uIGdmKCl7bGV0IHQ9MSxlPSIiLGE9ITAscjtyZXR1cm4gcztmdW5jdGlvbiBzKG4sbyxsKXtsZXQgaD1bXSx1LGYscCxnLHY7Zm9yKG49ZSsodHlwZW9mIG49PSJzdHJpbmciP24udG9TdHJpbmcoKTpuZXcgVGV4dERlY29kZXIob3x8dm9pZCAwKS5kZWNvZGUobikpLHA9MCxlPSIiLGEmJihuLmNoYXJDb2RlQXQoMCk9PT02NTI3OSYmcCsrLGE9dm9pZCAwKTtwPG4ubGVuZ3RoOyl7aWYoVzJ0Lmxhc3RJbmRleD1wLHU9VzJ0LmV4ZWMobiksZz11JiZ1LmluZGV4IT09dm9pZCAwP3UuaW5kZXg6bi5sZW5ndGgsdj1uLmNoYXJDb2RlQXQoZyksIXUpe2U9bi5zbGljZShwKTticmVha31pZih2PT09MTAmJnA9PT1nJiZyKWgucHVzaCgtMykscj12b2lkIDA7ZWxzZSBzd2l0Y2gociYmKGgucHVzaCgtNSkscj12b2lkIDApLHA8ZyYmKGgucHVzaChuLnNsaWNlKHAsZykpLHQrPWctcCksdil7Y2FzZSAwOntoLnB1c2goNjU1MzMpLHQrKzticmVha31jYXNlIDk6e2ZvcihmPU1hdGguY2VpbCh0LzQpKjQsaC5wdXNoKC0yKTt0Kys8ZjspaC5wdXNoKC0xKTticmVha31jYXNlIDEwOntoLnB1c2goLTQpLHQ9MTticmVha31kZWZhdWx0OnI9ITAsdD0xfXA9ZysxfXJldHVybiBsJiYociYmaC5wdXNoKC01KSxlJiZoLnB1c2goZSksaC5wdXNoKG51bGwpKSxofX12YXIgVzJ0LEhyZT1jKCgpPT57VzJ0PS9bXDBcdFxuXHJdL2c7aShnZiwicHJlcHJvY2VzcyIpfSk7ZnVuY3Rpb24gTFMxKHQsZSxhKXtyZXR1cm4gdHlwZW9mIGUhPSJzdHJpbmciJiYoYT1lLGU9dm9pZCAwKSxJcmUoYSkobWYoaGYoYSkuZG9jdW1lbnQoKS53cml0ZShnZigpKHQsZSwhMCkpKSl9dmFyIEcydD1jKCgpPT57TnJlKCk7T3JlKCk7QnJlKCk7SHJlKCk7TnJlKCk7T3JlKCk7QnJlKCk7SHJlKCk7aShMUzEsIm1pY3JvbWFyayIpfSk7ZnVuY3Rpb24gcXJlKHQsZSxhKXtyZXR1cm4gZSYmdHlwZW9mIGU9PSJvYmplY3QiJiYoYT1lLGU9dm9pZCAwKSxZdWEoYSkobWYoaGYoYSkuZG9jdW1lbnQoKS53cml0ZShnZigpKHQsZSwhMCkpKSl9ZnVuY3Rpb24gWXVhKHQpe2xldCBlPXt0cmFuc2Zvcm1zOltdLGNhbkNvbnRhaW5Fb2xzOlsiZW1waGFzaXMiLCJmcmFnbWVudCIsImhlYWRpbmciLCJwYXJhZ3JhcGgiLCJzdHJvbmciXSxlbnRlcjp7YXV0b2xpbms6bihLKSxhdXRvbGlua1Byb3RvY29sOkksYXV0b2xpbmtFbWFpbDpJLGF0eEhlYWRpbmc6bihWKSxibG9ja1F1b3RlOm4oVyksY2hhcmFjdGVyRXNjYXBlOkksY2hhcmFjdGVyUmVmZXJlbmNlOkksY29kZUZlbmNlZDpuKHNlKSxjb2RlRmVuY2VkRmVuY2VJbmZvOm8sY29kZUZlbmNlZEZlbmNlTWV0YTpvLGNvZGVJbmRlbnRlZDpuKHNlLG8pLGNvZGVUZXh0Om4oemUsbyksY29kZVRleHREYXRhOkksZGF0YTpJLGNvZGVGbG93VmFsdWU6SSxkZWZpbml0aW9uOm4oTWUpLGRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZzpvLGRlZmluaXRpb25MYWJlbFN0cmluZzpvLGRlZmluaXRpb25UaXRsZVN0cmluZzpvLGVtcGhhc2lzOm4oRWUpLGhhcmRCcmVha0VzY2FwZTpuKEYpLGhhcmRCcmVha1RyYWlsaW5nOm4oRiksaHRtbEZsb3c6bihuZSxvKSxodG1sRmxvd0RhdGE6SSxodG1sVGV4dDpuKG5lLG8pLGh0bWxUZXh0RGF0YTpJLGltYWdlOm4odGUpLGxhYmVsOm8sbGluazpuKEspLGxpc3RJdGVtOm4odmUpLGxpc3RJdGVtVmFsdWU6ZyxsaXN0T3JkZXJlZDpuKGtlLHApLGxpc3RVbm9yZGVyZWQ6bihrZSkscGFyYWdyYXBoOm4oZGUpLHJlZmVyZW5jZTpCLHJlZmVyZW5jZVN0cmluZzpvLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6byxyZXNvdXJjZVRpdGxlU3RyaW5nOm8sc2V0ZXh0SGVhZGluZzpuKFYpLHN0cm9uZzpuKCRlKSx0aGVtYXRpY0JyZWFrOm4oUWUpfSxleGl0OnthdHhIZWFkaW5nOmgoKSxhdHhIZWFkaW5nU2VxdWVuY2U6XyxhdXRvbGluazpoKCksYXV0b2xpbmtFbWFpbDpHLGF1dG9saW5rUHJvdG9jb2w6SCxibG9ja1F1b3RlOmgoKSxjaGFyYWN0ZXJFc2NhcGVWYWx1ZTpqLGNoYXJhY3RlclJlZmVyZW5jZU1hcmtlckhleGFkZWNpbWFsOkNlLGNoYXJhY3RlclJlZmVyZW5jZU1hcmtlck51bWVyaWM6Q2UsY2hhcmFjdGVyUmVmZXJlbmNlVmFsdWU6WSxjaGFyYWN0ZXJSZWZlcmVuY2U6UCxjb2RlRmVuY2VkOmgobSksY29kZUZlbmNlZEZlbmNlOmIsY29kZUZlbmNlZEZlbmNlSW5mbzp2LGNvZGVGZW5jZWRGZW5jZU1ldGE6eCxjb2RlRmxvd1ZhbHVlOmosY29kZUluZGVudGVkOmgoeSksY29kZVRleHQ6aChBKSxjb2RlVGV4dERhdGE6aixkYXRhOmosZGVmaW5pdGlvbjpoKCksZGVmaW5pdGlvbkRlc3RpbmF0aW9uU3RyaW5nOkUsZGVmaW5pdGlvbkxhYmVsU3RyaW5nOk0sZGVmaW5pdGlvblRpdGxlU3RyaW5nOmssZW1waGFzaXM6aCgpLGhhcmRCcmVha0VzY2FwZTpoKHopLGhhcmRCcmVha1RyYWlsaW5nOmgoeiksaHRtbEZsb3c6aChEKSxodG1sRmxvd0RhdGE6aixodG1sVGV4dDpoKFQpLGh0bWxUZXh0RGF0YTpqLGltYWdlOmgoUiksbGFiZWw6b2UsbGFiZWxUZXh0OnEsbGluZUVuZGluZzpTLGxpbms6aChVKSxsaXN0SXRlbTpoKCksbGlzdE9yZGVyZWQ6aCgpLGxpc3RVbm9yZGVyZWQ6aCgpLHBhcmFncmFwaDpoKCkscmVmZXJlbmNlU3RyaW5nOmVlLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6TyxyZXNvdXJjZVRpdGxlU3RyaW5nOnJlLHJlc291cmNlOnllLHNldGV4dEhlYWRpbmc6aCgkKSxzZXRleHRIZWFkaW5nTGluZVNlcXVlbmNlOk4sc2V0ZXh0SGVhZGluZ1RleHQ6QyxzdHJvbmc6aCgpLHRoZW1hdGljQnJlYWs6aCgpfX07WjJ0KGUsKHR8fHt9KS5tZGFzdEV4dGVuc2lvbnN8fFtdKTtsZXQgYT17fTtyZXR1cm4gcjtmdW5jdGlvbiByKFRlKXtsZXQgbGU9e3R5cGU6InJvb3QiLGNoaWxkcmVuOltdfSxmZT17c3RhY2s6W2xlXSx0b2tlblN0YWNrOltdLGNvbmZpZzplLGVudGVyOmwsZXhpdDp1LGJ1ZmZlcjpvLHJlc3VtZTpmLGRhdGE6YX0sU2U9W10sSGU9LTE7Zm9yKDsrK0hlPFRlLmxlbmd0aDspaWYoVGVbSGVdWzFdLnR5cGU9PT0ibGlzdE9yZGVyZWQifHxUZVtIZV1bMV0udHlwZT09PSJsaXN0VW5vcmRlcmVkIilpZihUZVtIZV1bMF09PT0iZW50ZXIiKVNlLnB1c2goSGUpO2Vsc2V7bGV0IEtlPVNlLnBvcCgpO0hlPXMoVGUsS2UsSGUpfWZvcihIZT0tMTsrK0hlPFRlLmxlbmd0aDspe2xldCBLZT1lW1RlW0hlXVswXV07WTJ0LmNhbGwoS2UsVGVbSGVdWzFdLnR5cGUpJiZLZVtUZVtIZV1bMV0udHlwZV0uY2FsbChPYmplY3QuYXNzaWduKHtzbGljZVNlcmlhbGl6ZTpUZVtIZV1bMl0uc2xpY2VTZXJpYWxpemV9LGZlKSxUZVtIZV1bMV0pfWlmKGZlLnRva2VuU3RhY2subGVuZ3RoPjApe2xldCBLZT1mZS50b2tlblN0YWNrW2ZlLnRva2VuU3RhY2subGVuZ3RoLTFdOyhLZVsxXXx8WDJ0KS5jYWxsKGZlLHZvaWQgMCxLZVswXSl9Zm9yKGxlLnBvc2l0aW9uPXtzdGFydDpqbihUZS5sZW5ndGg+MD9UZVswXVsxXS5zdGFydDp7bGluZToxLGNvbHVtbjoxLG9mZnNldDowfSksZW5kOmpuKFRlLmxlbmd0aD4wP1RlW1RlLmxlbmd0aC0yXVsxXS5lbmQ6e2xpbmU6MSxjb2x1bW46MSxvZmZzZXQ6MH0pfSxIZT0tMTsrK0hlPGUudHJhbnNmb3Jtcy5sZW5ndGg7KWxlPWUudHJhbnNmb3Jtc1tIZV0obGUpfHxsZTtyZXR1cm4gbGV9ZnVuY3Rpb24gcyhUZSxsZSxmZSl7bGV0IFNlPWxlLTEsSGU9LTEsS2U9ITEsa3QsdXQsQ3QsV3Q7Zm9yKDsrK1NlPD1mZTspe2xldCBoZT1UZVtTZV07c3dpdGNoKGhlWzFdLnR5cGUpe2Nhc2UibGlzdFVub3JkZXJlZCI6Y2FzZSJsaXN0T3JkZXJlZCI6Y2FzZSJibG9ja1F1b3RlIjp7aGVbMF09PT0iZW50ZXIiP0hlKys6SGUtLSxXdD12b2lkIDA7YnJlYWt9Y2FzZSJsaW5lRW5kaW5nQmxhbmsiOntoZVswXT09PSJlbnRlciImJihrdCYmIVd0JiYhSGUmJiFDdCYmKEN0PVNlKSxXdD12b2lkIDApO2JyZWFrfWNhc2UibGluZVByZWZpeCI6Y2FzZSJsaXN0SXRlbVZhbHVlIjpjYXNlImxpc3RJdGVtTWFya2VyIjpjYXNlImxpc3RJdGVtUHJlZml4IjpjYXNlImxpc3RJdGVtUHJlZml4V2hpdGVzcGFjZSI6YnJlYWs7ZGVmYXVsdDpXdD12b2lkIDB9aWYoIUhlJiZoZVswXT09PSJlbnRlciImJmhlWzFdLnR5cGU9PT0ibGlzdEl0ZW1QcmVmaXgifHxIZT09PS0xJiZoZVswXT09PSJleGl0IiYmKGhlWzFdLnR5cGU9PT0ibGlzdFVub3JkZXJlZCJ8fGhlWzFdLnR5cGU9PT0ibGlzdE9yZGVyZWQiKSl7aWYoa3Qpe2xldCBtZT1TZTtmb3IodXQ9dm9pZCAwO21lLS07KXtsZXQgUGU9VGVbbWVdO2lmKFBlWzFdLnR5cGU9PT0ibGluZUVuZGluZyJ8fFBlWzFdLnR5cGU9PT0ibGluZUVuZGluZ0JsYW5rIil7aWYoUGVbMF09PT0iZXhpdCIpY29udGludWU7dXQmJihUZVt1dF1bMV0udHlwZT0ibGluZUVuZGluZ0JsYW5rIixLZT0hMCksUGVbMV0udHlwZT0ibGluZUVuZGluZyIsdXQ9bWV9ZWxzZSBpZighKFBlWzFdLnR5cGU9PT0ibGluZVByZWZpeCJ8fFBlWzFdLnR5cGU9PT0iYmxvY2tRdW90ZVByZWZpeCJ8fFBlWzFdLnR5cGU9PT0iYmxvY2tRdW90ZVByZWZpeFdoaXRlc3BhY2UifHxQZVsxXS50eXBlPT09ImJsb2NrUXVvdGVNYXJrZXIifHxQZVsxXS50eXBlPT09Imxpc3RJdGVtSW5kZW50IikpYnJlYWt9Q3QmJighdXR8fEN0PHV0KSYmKGt0Ll9zcHJlYWQ9ITApLGt0LmVuZD1PYmplY3QuYXNzaWduKHt9LHV0P1RlW3V0XVsxXS5zdGFydDpoZVsxXS5lbmQpLFRlLnNwbGljZSh1dHx8U2UsMCxbImV4aXQiLGt0LGhlWzJdXSksU2UrKyxmZSsrfWlmKGhlWzFdLnR5cGU9PT0ibGlzdEl0ZW1QcmVmaXgiKXtsZXQgbWU9e3R5cGU6Imxpc3RJdGVtIixfc3ByZWFkOiExLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30saGVbMV0uc3RhcnQpLGVuZDp2b2lkIDB9O2t0PW1lLFRlLnNwbGljZShTZSwwLFsiZW50ZXIiLG1lLGhlWzJdXSksU2UrKyxmZSsrLEN0PXZvaWQgMCxXdD0hMH19fXJldHVybiBUZVtsZV1bMV0uX3NwcmVhZD1LZSxmZX1mdW5jdGlvbiBuKFRlLGxlKXtyZXR1cm4gZmU7ZnVuY3Rpb24gZmUoU2Upe2wuY2FsbCh0aGlzLFRlKFNlKSxTZSksbGUmJmxlLmNhbGwodGhpcyxTZSl9fWZ1bmN0aW9uIG8oKXt0aGlzLnN0YWNrLnB1c2goe3R5cGU6ImZyYWdtZW50IixjaGlsZHJlbjpbXX0pfWZ1bmN0aW9uIGwoVGUsbGUsZmUpe3RoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV0uY2hpbGRyZW4ucHVzaChUZSksdGhpcy5zdGFjay5wdXNoKFRlKSx0aGlzLnRva2VuU3RhY2sucHVzaChbbGUsZmV8fHZvaWQgMF0pLFRlLnBvc2l0aW9uPXtzdGFydDpqbihsZS5zdGFydCksZW5kOnZvaWQgMH19ZnVuY3Rpb24gaChUZSl7cmV0dXJuIGxlO2Z1bmN0aW9uIGxlKGZlKXtUZSYmVGUuY2FsbCh0aGlzLGZlKSx1LmNhbGwodGhpcyxmZSl9fWZ1bmN0aW9uIHUoVGUsbGUpe2xldCBmZT10aGlzLnN0YWNrLnBvcCgpLFNlPXRoaXMudG9rZW5TdGFjay5wb3AoKTtpZihTZSlTZVswXS50eXBlIT09VGUudHlwZSYmKGxlP2xlLmNhbGwodGhpcyxUZSxTZVswXSk6KFNlWzFdfHxYMnQpLmNhbGwodGhpcyxUZSxTZVswXSkpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgY2xvc2UgYCIrVGUudHlwZSsiYCAoIitPbih7c3RhcnQ6VGUuc3RhcnQsZW5kOlRlLmVuZH0pKyIpOiBpdFx1MjAxOXMgbm90IG9wZW4iKTtmZS5wb3NpdGlvbi5lbmQ9am4oVGUuZW5kKX1mdW5jdGlvbiBmKCl7cmV0dXJuIHkwKHRoaXMuc3RhY2sucG9wKCkpfWZ1bmN0aW9uIHAoKXt0aGlzLmRhdGEuZXhwZWN0aW5nRmlyc3RMaXN0SXRlbVZhbHVlPSEwfWZ1bmN0aW9uIGcoVGUpe2lmKHRoaXMuZGF0YS5leHBlY3RpbmdGaXJzdExpc3RJdGVtVmFsdWUpe2xldCBsZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTJdO2xlLnN0YXJ0PU51bWJlci5wYXJzZUludCh0aGlzLnNsaWNlU2VyaWFsaXplKFRlKSwxMCksdGhpcy5kYXRhLmV4cGVjdGluZ0ZpcnN0TGlzdEl0ZW1WYWx1ZT12b2lkIDB9fWZ1bmN0aW9uIHYoKXtsZXQgVGU9dGhpcy5yZXN1bWUoKSxsZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2xlLmxhbmc9VGV9ZnVuY3Rpb24geCgpe2xldCBUZT10aGlzLnJlc3VtZSgpLGxlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07bGUubWV0YT1UZX1mdW5jdGlvbiBiKCl7dGhpcy5kYXRhLmZsb3dDb2RlSW5zaWRlfHwodGhpcy5idWZmZXIoKSx0aGlzLmRhdGEuZmxvd0NvZGVJbnNpZGU9ITApfWZ1bmN0aW9uIG0oKXtsZXQgVGU9dGhpcy5yZXN1bWUoKSxsZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2xlLnZhbHVlPVRlLnJlcGxhY2UoL14oXHI/XG58XHIpfChccj9cbnxccikkL2csIiIpLHRoaXMuZGF0YS5mbG93Q29kZUluc2lkZT12b2lkIDB9ZnVuY3Rpb24geSgpe2xldCBUZT10aGlzLnJlc3VtZSgpLGxlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07bGUudmFsdWU9VGUucmVwbGFjZSgvKFxyP1xufFxyKSQvZywiIil9ZnVuY3Rpb24gTShUZSl7bGV0IGxlPXRoaXMucmVzdW1lKCksZmU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtmZS5sYWJlbD1sZSxmZS5pZGVudGlmaWVyPXIxKHRoaXMuc2xpY2VTZXJpYWxpemUoVGUpKS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIGsoKXtsZXQgVGU9dGhpcy5yZXN1bWUoKSxsZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2xlLnRpdGxlPVRlfWZ1bmN0aW9uIEUoKXtsZXQgVGU9dGhpcy5yZXN1bWUoKSxsZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2xlLnVybD1UZX1mdW5jdGlvbiBfKFRlKXtsZXQgbGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtpZighbGUuZGVwdGgpe2xldCBmZT10aGlzLnNsaWNlU2VyaWFsaXplKFRlKS5sZW5ndGg7bGUuZGVwdGg9ZmV9fWZ1bmN0aW9uIEMoKXt0aGlzLmRhdGEuc2V0ZXh0SGVhZGluZ1NsdXJwTGluZUVuZGluZz0hMH1mdW5jdGlvbiBOKFRlKXtsZXQgbGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtsZS5kZXB0aD10aGlzLnNsaWNlU2VyaWFsaXplKFRlKS5jb2RlUG9pbnRBdCgwKT09PTYxPzE6Mn1mdW5jdGlvbiAkKCl7dGhpcy5kYXRhLnNldGV4dEhlYWRpbmdTbHVycExpbmVFbmRpbmc9dm9pZCAwfWZ1bmN0aW9uIEkoVGUpe2xldCBmZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdLmNoaWxkcmVuLFNlPWZlW2ZlLmxlbmd0aC0xXTsoIVNlfHxTZS50eXBlIT09InRleHQiKSYmKFNlPVZlKCksU2UucG9zaXRpb249e3N0YXJ0OmpuKFRlLnN0YXJ0KSxlbmQ6dm9pZCAwfSxmZS5wdXNoKFNlKSksdGhpcy5zdGFjay5wdXNoKFNlKX1mdW5jdGlvbiBqKFRlKXtsZXQgbGU9dGhpcy5zdGFjay5wb3AoKTtsZS52YWx1ZSs9dGhpcy5zbGljZVNlcmlhbGl6ZShUZSksbGUucG9zaXRpb24uZW5kPWpuKFRlLmVuZCl9ZnVuY3Rpb24gUyhUZSl7bGV0IGxlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07aWYodGhpcy5kYXRhLmF0SGFyZEJyZWFrKXtsZXQgZmU9bGUuY2hpbGRyZW5bbGUuY2hpbGRyZW4ubGVuZ3RoLTFdO2ZlLnBvc2l0aW9uLmVuZD1qbihUZS5lbmQpLHRoaXMuZGF0YS5hdEhhcmRCcmVhaz12b2lkIDA7cmV0dXJufSF0aGlzLmRhdGEuc2V0ZXh0SGVhZGluZ1NsdXJwTGluZUVuZGluZyYmZS5jYW5Db250YWluRW9scy5pbmNsdWRlcyhsZS50eXBlKSYmKEkuY2FsbCh0aGlzLFRlKSxqLmNhbGwodGhpcyxUZSkpfWZ1bmN0aW9uIHooKXt0aGlzLmRhdGEuYXRIYXJkQnJlYWs9ITB9ZnVuY3Rpb24gRCgpe2xldCBUZT10aGlzLnJlc3VtZSgpLGxlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07bGUudmFsdWU9VGV9ZnVuY3Rpb24gVCgpe2xldCBUZT10aGlzLnJlc3VtZSgpLGxlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07bGUudmFsdWU9VGV9ZnVuY3Rpb24gQSgpe2xldCBUZT10aGlzLnJlc3VtZSgpLGxlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07bGUudmFsdWU9VGV9ZnVuY3Rpb24gVSgpe2xldCBUZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2lmKHRoaXMuZGF0YS5pblJlZmVyZW5jZSl7bGV0IGxlPXRoaXMuZGF0YS5yZWZlcmVuY2VUeXBlfHwic2hvcnRjdXQiO1RlLnR5cGUrPSJSZWZlcmVuY2UiLFRlLnJlZmVyZW5jZVR5cGU9bGUsZGVsZXRlIFRlLnVybCxkZWxldGUgVGUudGl0bGV9ZWxzZSBkZWxldGUgVGUuaWRlbnRpZmllcixkZWxldGUgVGUubGFiZWw7dGhpcy5kYXRhLnJlZmVyZW5jZVR5cGU9dm9pZCAwfWZ1bmN0aW9uIFIoKXtsZXQgVGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtpZih0aGlzLmRhdGEuaW5SZWZlcmVuY2Upe2xldCBsZT10aGlzLmRhdGEucmVmZXJlbmNlVHlwZXx8InNob3J0Y3V0IjtUZS50eXBlKz0iUmVmZXJlbmNlIixUZS5yZWZlcmVuY2VUeXBlPWxlLGRlbGV0ZSBUZS51cmwsZGVsZXRlIFRlLnRpdGxlfWVsc2UgZGVsZXRlIFRlLmlkZW50aWZpZXIsZGVsZXRlIFRlLmxhYmVsO3RoaXMuZGF0YS5yZWZlcmVuY2VUeXBlPXZvaWQgMH1mdW5jdGlvbiBxKFRlKXtsZXQgbGU9dGhpcy5zbGljZVNlcmlhbGl6ZShUZSksZmU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0yXTtmZS5sYWJlbD1QVShsZSksZmUuaWRlbnRpZmllcj1yMShsZSkudG9Mb3dlckNhc2UoKX1mdW5jdGlvbiBvZSgpe2xldCBUZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdLGxlPXRoaXMucmVzdW1lKCksZmU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtpZih0aGlzLmRhdGEuaW5SZWZlcmVuY2U9ITAsZmUudHlwZT09PSJsaW5rIil7bGV0IFNlPVRlLmNoaWxkcmVuO2ZlLmNoaWxkcmVuPVNlfWVsc2UgZmUuYWx0PWxlfWZ1bmN0aW9uIE8oKXtsZXQgVGU9dGhpcy5yZXN1bWUoKSxsZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2xlLnVybD1UZX1mdW5jdGlvbiByZSgpe2xldCBUZT10aGlzLnJlc3VtZSgpLGxlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07bGUudGl0bGU9VGV9ZnVuY3Rpb24geWUoKXt0aGlzLmRhdGEuaW5SZWZlcmVuY2U9dm9pZCAwfWZ1bmN0aW9uIEIoKXt0aGlzLmRhdGEucmVmZXJlbmNlVHlwZT0iY29sbGFwc2VkIn1mdW5jdGlvbiBlZShUZSl7bGV0IGxlPXRoaXMucmVzdW1lKCksZmU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtmZS5sYWJlbD1sZSxmZS5pZGVudGlmaWVyPXIxKHRoaXMuc2xpY2VTZXJpYWxpemUoVGUpKS50b0xvd2VyQ2FzZSgpLHRoaXMuZGF0YS5yZWZlcmVuY2VUeXBlPSJmdWxsIn1mdW5jdGlvbiBDZShUZSl7dGhpcy5kYXRhLmNoYXJhY3RlclJlZmVyZW5jZVR5cGU9VGUudHlwZX1mdW5jdGlvbiBZKFRlKXtsZXQgbGU9dGhpcy5zbGljZVNlcmlhbGl6ZShUZSksZmU9dGhpcy5kYXRhLmNoYXJhY3RlclJlZmVyZW5jZVR5cGUsU2U7ZmU/KFNlPWw4KGxlLGZlPT09ImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlck51bWVyaWMiPzEwOjE2KSx0aGlzLmRhdGEuY2hhcmFjdGVyUmVmZXJlbmNlVHlwZT12b2lkIDApOlNlPXFuKGxlKTtsZXQgSGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtIZS52YWx1ZSs9U2V9ZnVuY3Rpb24gUChUZSl7bGV0IGxlPXRoaXMuc3RhY2sucG9wKCk7bGUucG9zaXRpb24uZW5kPWpuKFRlLmVuZCl9ZnVuY3Rpb24gSChUZSl7ai5jYWxsKHRoaXMsVGUpO2xldCBsZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2xlLnVybD10aGlzLnNsaWNlU2VyaWFsaXplKFRlKX1mdW5jdGlvbiBHKFRlKXtqLmNhbGwodGhpcyxUZSk7bGV0IGxlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07bGUudXJsPSJtYWlsdG86Iit0aGlzLnNsaWNlU2VyaWFsaXplKFRlKX1mdW5jdGlvbiBXKCl7cmV0dXJue3R5cGU6ImJsb2NrcXVvdGUiLGNoaWxkcmVuOltdfX1mdW5jdGlvbiBzZSgpe3JldHVybnt0eXBlOiJjb2RlIixsYW5nOm51bGwsbWV0YTpudWxsLHZhbHVlOiIifX1mdW5jdGlvbiB6ZSgpe3JldHVybnt0eXBlOiJpbmxpbmVDb2RlIix2YWx1ZToiIn19ZnVuY3Rpb24gTWUoKXtyZXR1cm57dHlwZToiZGVmaW5pdGlvbiIsaWRlbnRpZmllcjoiIixsYWJlbDpudWxsLHRpdGxlOm51bGwsdXJsOiIifX1mdW5jdGlvbiBFZSgpe3JldHVybnt0eXBlOiJlbXBoYXNpcyIsY2hpbGRyZW46W119fWZ1bmN0aW9uIFYoKXtyZXR1cm57dHlwZToiaGVhZGluZyIsZGVwdGg6MCxjaGlsZHJlbjpbXX19ZnVuY3Rpb24gRigpe3JldHVybnt0eXBlOiJicmVhayJ9fWZ1bmN0aW9uIG5lKCl7cmV0dXJue3R5cGU6Imh0bWwiLHZhbHVlOiIifX1mdW5jdGlvbiB0ZSgpe3JldHVybnt0eXBlOiJpbWFnZSIsdGl0bGU6bnVsbCx1cmw6IiIsYWx0Om51bGx9fWZ1bmN0aW9uIEsoKXtyZXR1cm57dHlwZToibGluayIsdGl0bGU6bnVsbCx1cmw6IiIsY2hpbGRyZW46W119fWZ1bmN0aW9uIGtlKFRlKXtyZXR1cm57dHlwZToibGlzdCIsb3JkZXJlZDpUZS50eXBlPT09Imxpc3RPcmRlcmVkIixzdGFydDpudWxsLHNwcmVhZDpUZS5fc3ByZWFkLGNoaWxkcmVuOltdfX1mdW5jdGlvbiB2ZShUZSl7cmV0dXJue3R5cGU6Imxpc3RJdGVtIixzcHJlYWQ6VGUuX3NwcmVhZCxjaGVja2VkOm51bGwsY2hpbGRyZW46W119fWZ1bmN0aW9uIGRlKCl7cmV0dXJue3R5cGU6InBhcmFncmFwaCIsY2hpbGRyZW46W119fWZ1bmN0aW9uICRlKCl7cmV0dXJue3R5cGU6InN0cm9uZyIsY2hpbGRyZW46W119fWZ1bmN0aW9uIFZlKCl7cmV0dXJue3R5cGU6InRleHQiLHZhbHVlOiIifX1mdW5jdGlvbiBRZSgpe3JldHVybnt0eXBlOiJ0aGVtYXRpY0JyZWFrIn19fWZ1bmN0aW9uIGpuKHQpe3JldHVybntsaW5lOnQubGluZSxjb2x1bW46dC5jb2x1bW4sb2Zmc2V0OnQub2Zmc2V0fX1mdW5jdGlvbiBaMnQodCxlKXtsZXQgYT0tMTtmb3IoOysrYTxlLmxlbmd0aDspe2xldCByPWVbYV07QXJyYXkuaXNBcnJheShyKT9aMnQodCxyKTpadWEodCxyKX19ZnVuY3Rpb24gWnVhKHQsZSl7bGV0IGE7Zm9yKGEgaW4gZSlpZihZMnQuY2FsbChlLGEpKXN3aXRjaChhKXtjYXNlImNhbkNvbnRhaW5Fb2xzIjp7bGV0IHI9ZVthXTtyJiZ0W2FdLnB1c2goLi4ucik7YnJlYWt9Y2FzZSJ0cmFuc2Zvcm1zIjp7bGV0IHI9ZVthXTtyJiZ0W2FdLnB1c2goLi4ucik7YnJlYWt9Y2FzZSJlbnRlciI6Y2FzZSJleGl0Ijp7bGV0IHI9ZVthXTtyJiZPYmplY3QuYXNzaWduKHRbYV0scik7YnJlYWt9fX1mdW5jdGlvbiBYMnQodCxlKXt0aHJvdyB0P25ldyBFcnJvcigiQ2Fubm90IGNsb3NlIGAiK3QudHlwZSsiYCAoIitPbih7c3RhcnQ6dC5zdGFydCxlbmQ6dC5lbmR9KSsiKTogYSBkaWZmZXJlbnQgdG9rZW4gKGAiK2UudHlwZSsiYCwgIitPbih7c3RhcnQ6ZS5zdGFydCxlbmQ6ZS5lbmR9KSsiKSBpcyBvcGVuIik6bmV3IEVycm9yKCJDYW5ub3QgY2xvc2UgZG9jdW1lbnQsIGEgdG9rZW4gKGAiK2UudHlwZSsiYCwgIitPbih7c3RhcnQ6ZS5zdGFydCxlbmQ6ZS5lbmR9KSsiKSBpcyBzdGlsbCBvcGVuIil9dmFyIFkydCxLMnQ9YygoKT0+e1RVKCk7RzJ0KCk7QVUoKTtVMWUoKTtIbigpO25mKCk7czFlKCk7WTJ0PXt9Lmhhc093blByb3BlcnR5O2kocXJlLCJmcm9tTWFya2Rvd24iKTtpKFl1YSwiY29tcGlsZXIiKTtpKGpuLCJwb2ludCIpO2koWjJ0LCJjb25maWd1cmUiKTtpKFp1YSwiZXh0ZW5zaW9uIik7aShYMnQsImRlZmF1bHRPbkVycm9yIil9KTt2YXIgUTJ0PWMoKCk9PntLMnQoKX0pO2Z1bmN0aW9uIHA4KHQpe2xldCBlPXRoaXM7ZS5wYXJzZXI9YTtmdW5jdGlvbiBhKHIpe3JldHVybiBxcmUocix7Li4uZS5kYXRhKCJzZXR0aW5ncyIpLC4uLnQsZXh0ZW5zaW9uczplLmRhdGEoIm1pY3JvbWFya0V4dGVuc2lvbnMiKXx8W10sbWRhc3RFeHRlbnNpb25zOmUuZGF0YSgiZnJvbU1hcmtkb3duRXh0ZW5zaW9ucyIpfHxbXX0pfWkoYSwicGFyc2VyIil9dmFyIEoydD1jKCgpPT57UTJ0KCk7aShwOCwicmVtYXJrUGFyc2UiKX0pO3ZhciBlb3Q9YygoKT0+e0oydCgpfSk7dmFyIHRvdD13dCgoUVMxLFZyZSk9PnsoZnVuY3Rpb24oKXt2YXIgdDt0eXBlb2YgVnJlPCJ1Ij90PVZyZS5leHBvcnRzPXI6dD0oZnVuY3Rpb24oKXtyZXR1cm4gdGhpc3x8KDAsZXZhbCkoInRoaXMiKX0pKCksdC5mb3JtYXQ9cix0LnZzcHJpbnRmPWEsdHlwZW9mIGNvbnNvbGU8InUiJiZ0eXBlb2YgY29uc29sZS5sb2c9PSJmdW5jdGlvbiImJih0LnByaW50Zj1lKTtmdW5jdGlvbiBlKCl7Y29uc29sZS5sb2coci5hcHBseShudWxsLGFyZ3VtZW50cykpfWkoZSwicHJpbnRmIik7ZnVuY3Rpb24gYShzLG4pe3JldHVybiByLmFwcGx5KG51bGwsW3NdLmNvbmNhdChuKSl9aShhLCJ2c3ByaW50ZiIpO2Z1bmN0aW9uIHIocyl7Zm9yKHZhciBuPTEsbz1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cyksbD0wLGg9cy5sZW5ndGgsdT0iIixmLHA9ITEsZyx2LHg9ITEsYixtPWkoZnVuY3Rpb24oKXtyZXR1cm4gb1tuKytdfSwibmV4dEFyZyIpLHk9aShmdW5jdGlvbigpe2Zvcih2YXIgTT0iIjsvXGQvLnRlc3Qoc1tsXSk7KU0rPXNbbCsrXSxmPXNbbF07cmV0dXJuIE0ubGVuZ3RoPjA/cGFyc2VJbnQoTSk6bnVsbH0sInNsdXJwTnVtYmVyIik7bDxoOysrbClpZihmPXNbbF0scClzd2l0Y2gocD0hMSxmPT0iLiI/KHg9ITEsZj1zWysrbF0pOmY9PSIwIiYmc1tsKzFdPT0iLiI/KHg9ITAsbCs9MixmPXNbbF0pOng9ITAsYj15KCksZil7Y2FzZSJiIjp1Kz1wYXJzZUludChtKCksMTApLnRvU3RyaW5nKDIpO2JyZWFrO2Nhc2UiYyI6Zz1tKCksdHlwZW9mIGc9PSJzdHJpbmcifHxnIGluc3RhbmNlb2YgU3RyaW5nP3UrPWc6dSs9U3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludChnLDEwKSk7YnJlYWs7Y2FzZSJkIjp1Kz1wYXJzZUludChtKCksMTApO2JyZWFrO2Nhc2UiZiI6dj1TdHJpbmcocGFyc2VGbG9hdChtKCkpLnRvRml4ZWQoYnx8NikpLHUrPXg/djp2LnJlcGxhY2UoL14wLywiIik7YnJlYWs7Y2FzZSJqIjp1Kz1KU09OLnN0cmluZ2lmeShtKCkpO2JyZWFrO2Nhc2UibyI6dSs9IjAiK3BhcnNlSW50KG0oKSwxMCkudG9TdHJpbmcoOCk7YnJlYWs7Y2FzZSJzIjp1Kz1tKCk7YnJlYWs7Y2FzZSJ4Ijp1Kz0iMHgiK3BhcnNlSW50KG0oKSwxMCkudG9TdHJpbmcoMTYpO2JyZWFrO2Nhc2UiWCI6dSs9IjB4IitwYXJzZUludChtKCksMTApLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpO2JyZWFrO2RlZmF1bHQ6dSs9ZjticmVha31lbHNlIGY9PT0iJSI/cD0hMDp1Kz1mO3JldHVybiB1fWkociwiZm9ybWF0Iil9KSgpfSk7ZnVuY3Rpb24gXzAodCl7cmV0dXJuIGUuZGlzcGxheU5hbWU9dC5kaXNwbGF5TmFtZXx8dC5uYW1lLGU7ZnVuY3Rpb24gZShhLC4uLnIpe2xldCBzPWEmJigwLGFvdC5kZWZhdWx0KShhLC4uLnIpO3JldHVybiBuZXcgdChzKX1pKGUsIkZvcm1hdHRlZEVycm9yIil9dmFyIGFvdCxiZixyb3Q9YygoKT0+e2FvdD1YMSh0b3QoKSwxKSxiZj1PYmplY3QuYXNzaWduKF8wKEVycm9yKSx7ZXZhbDpfMChFdmFsRXJyb3IpLHJhbmdlOl8wKFJhbmdlRXJyb3IpLHJlZmVyZW5jZTpfMChSZWZlcmVuY2VFcnJvciksc3ludGF4Ol8wKFN5bnRheEVycm9yKSx0eXBlOl8wKFR5cGVFcnJvciksdXJpOl8wKFVSSUVycm9yKX0pO2koXzAsImNyZWF0ZSIpfSk7ZnVuY3Rpb24gdTgodCl7bGV0IGU9W10sYT0tMSxyPUFycmF5LmlzQXJyYXkodCk/dDp0P1t0XTpbInlhbWwiXTtmb3IoOysrYTxyLmxlbmd0aDspZVthXT1YdWEoclthXSk7cmV0dXJuIGV9ZnVuY3Rpb24gWHVhKHQpe2xldCBlPXQ7aWYodHlwZW9mIGU9PSJzdHJpbmciKXtpZighSlUuY2FsbChpb3QsZSkpdGhyb3cgYmYoIk1pc3NpbmcgbWF0dGVyIGRlZmluaXRpb24gZm9yIGAlc2AiLGUpO2U9e3R5cGU6ZSxtYXJrZXI6aW90W2VdfX1lbHNlIGlmKHR5cGVvZiBlIT0ib2JqZWN0Iil0aHJvdyBiZigiRXhwZWN0ZWQgbWF0dGVyIHRvIGJlIGFuIG9iamVjdCwgbm90IGAlamAiLGUpO2lmKCFKVS5jYWxsKGUsInR5cGUiKSl0aHJvdyBiZigiTWlzc2luZyBgdHlwZWAgaW4gbWF0dGVyIGAlamAiLGUpO2lmKCFKVS5jYWxsKGUsImZlbmNlIikmJiFKVS5jYWxsKGUsIm1hcmtlciIpKXRocm93IGJmKCJNaXNzaW5nIGBtYXJrZXJgIG9yIGBmZW5jZWAgaW4gbWF0dGVyIGAlamAiLGUpO3JldHVybiBlfXZhciBKVSxpb3QsanJlPWMoKCk9Pntyb3QoKTtKVT17fS5oYXNPd25Qcm9wZXJ0eSxpb3Q9e3lhbWw6Ii0iLHRvbWw6IisifTtpKHU4LCJ0b01hdHRlcnMiKTtpKFh1YSwibWF0dGVyIil9KTtmdW5jdGlvbiBXcmUodCl7bGV0IGU9dTgodCksYT17fSxyPS0xO2Zvcig7KytyPGUubGVuZ3RoOyl7bGV0IHM9ZVtyXSxuPVVyZShzLCJvcGVuIikuY2hhckNvZGVBdCgwKSxvPUt1YShzKSxsPWFbbl07QXJyYXkuaXNBcnJheShsKT9sLnB1c2gobyk6YVtuXT1bb119cmV0dXJue2Zsb3c6YX19ZnVuY3Rpb24gS3VhKHQpe2xldCBlPXQuYW55d2hlcmUsYT10LnR5cGUscj1hKyJGZW5jZSIscz1yKyJTZXF1ZW5jZSIsbj1hKyJWYWx1ZSIsbz17dG9rZW5pemU6ZixwYXJ0aWFsOiEwfSxsLGg9MDtyZXR1cm57dG9rZW5pemU6dSxjb25jcmV0ZTohMH07ZnVuY3Rpb24gdShwLGcsdil7bGV0IHg9dGhpcztyZXR1cm4gYjtmdW5jdGlvbiBiKE4pe2xldCAkPXgubm93KCk7cmV0dXJuICQuY29sdW1uPT09MSYmKCQubGluZT09PTF8fGUpJiYobD1VcmUodCwib3BlbiIpLGg9MCxOPT09bC5jaGFyQ29kZUF0KGgpKT8ocC5lbnRlcihhKSxwLmVudGVyKHIpLHAuZW50ZXIocyksbShOKSk6dihOKX1mdW5jdGlvbiBtKE4pe3JldHVybiBoPT09bC5sZW5ndGg/KHAuZXhpdChzKSxsdChOKT8ocC5lbnRlcigid2hpdGVzcGFjZSIpLHkoTikpOk0oTikpOk49PT1sLmNoYXJDb2RlQXQoaCsrKT8ocC5jb25zdW1lKE4pLG0pOnYoTil9ZnVuY3Rpb24geShOKXtyZXR1cm4gbHQoTik/KHAuY29uc3VtZShOKSx5KToocC5leGl0KCJ3aGl0ZXNwYWNlIiksTShOKSl9ZnVuY3Rpb24gTShOKXtyZXR1cm4gR2UoTik/KHAuZXhpdChyKSxwLmVudGVyKCJsaW5lRW5kaW5nIikscC5jb25zdW1lKE4pLHAuZXhpdCgibGluZUVuZGluZyIpLGw9VXJlKHQsImNsb3NlIiksaD0wLHAuYXR0ZW1wdChvLEMsaykpOnYoTil9ZnVuY3Rpb24gayhOKXtyZXR1cm4gTj09PW51bGx8fEdlKE4pP18oTik6KHAuZW50ZXIobiksRShOKSl9ZnVuY3Rpb24gRShOKXtyZXR1cm4gTj09PW51bGx8fEdlKE4pPyhwLmV4aXQobiksXyhOKSk6KHAuY29uc3VtZShOKSxFKX1mdW5jdGlvbiBfKE4pe3JldHVybiBOPT09bnVsbD92KE4pOihwLmVudGVyKCJsaW5lRW5kaW5nIikscC5jb25zdW1lKE4pLHAuZXhpdCgibGluZUVuZGluZyIpLHAuYXR0ZW1wdChvLEMsaykpfWZ1bmN0aW9uIEMoTil7cmV0dXJuIHAuZXhpdChhKSxnKE4pfX1mdW5jdGlvbiBmKHAsZyx2KXtsZXQgeD0wO3JldHVybiBiO2Z1bmN0aW9uIGIoayl7cmV0dXJuIGs9PT1sLmNoYXJDb2RlQXQoeCk/KHAuZW50ZXIocikscC5lbnRlcihzKSxtKGspKTp2KGspfWZ1bmN0aW9uIG0oayl7cmV0dXJuIHg9PT1sLmxlbmd0aD8ocC5leGl0KHMpLGx0KGspPyhwLmVudGVyKCJ3aGl0ZXNwYWNlIikseShrKSk6TShrKSk6az09PWwuY2hhckNvZGVBdCh4KyspPyhwLmNvbnN1bWUoayksbSk6dihrKX1mdW5jdGlvbiB5KGspe3JldHVybiBsdChrKT8ocC5jb25zdW1lKGspLHkpOihwLmV4aXQoIndoaXRlc3BhY2UiKSxNKGspKX1mdW5jdGlvbiBNKGspe3JldHVybiBrPT09bnVsbHx8R2Uoayk/KHAuZXhpdChyKSxnKGspKTp2KGspfX19ZnVuY3Rpb24gVXJlKHQsZSl7cmV0dXJuIHQubWFya2VyP3NvdCh0Lm1hcmtlcixlKS5yZXBlYXQoMyk6c290KHQuZmVuY2UsZSl9ZnVuY3Rpb24gc290KHQsZSl7cmV0dXJuIHR5cGVvZiB0PT0ic3RyaW5nIj90OnRbZV19dmFyIG9vdD1jKCgpPT57VXQoKTtqcmUoKTtpKFdyZSwiZnJvbnRtYXR0ZXIiKTtpKEt1YSwiY3JlYXRlQ29uc3RydWN0Iik7aShVcmUsImZlbmNlIik7aShzb3QsInBpY2siKX0pO3ZhciBub3Q9YygoKT0+e30pO3ZhciBHcmU9YygoKT0+e29vdCgpO25vdCgpO2pyZSgpfSk7ZnVuY3Rpb24gWnJlKHQpe2xldCBlPXU4KHQpLGE9e30scj17fSxzPS0xO2Zvcig7KytzPGUubGVuZ3RoOyl7bGV0IG49ZVtzXTthW24udHlwZV09UXVhKG4pLHJbbi50eXBlXT1KdWEscltuLnR5cGUrIlZhbHVlIl09ZWZhfXJldHVybntlbnRlcjphLGV4aXQ6cn19ZnVuY3Rpb24gUXVhKHQpe3JldHVybiBlO2Z1bmN0aW9uIGUoYSl7dGhpcy5lbnRlcih7dHlwZTp0LnR5cGUsdmFsdWU6IiJ9LGEpLHRoaXMuYnVmZmVyKCl9fWZ1bmN0aW9uIEp1YSh0KXtsZXQgZT10aGlzLnJlc3VtZSgpLGE9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTsidmFsdWUiaW4gYSx0aGlzLmV4aXQodCksYS52YWx1ZT1lLnJlcGxhY2UoL14oXHI/XG58XHIpfChccj9cbnxccikkL2csIiIpfWZ1bmN0aW9uIGVmYSh0KXt0aGlzLmNvbmZpZy5lbnRlci5kYXRhLmNhbGwodGhpcyx0KSx0aGlzLmNvbmZpZy5leGl0LmRhdGEuY2FsbCh0aGlzLHQpfWZ1bmN0aW9uIFhyZSh0KXtsZXQgZT1bXSxhPXt9LHI9dTgodCkscz0tMTtmb3IoOysrczxyLmxlbmd0aDspe2xldCBuPXJbc107YVtuLnR5cGVdPXRmYShuKTtsZXQgbz1ZcmUobiwib3BlbiIpO2UucHVzaCh7YXRCcmVhazohMCxjaGFyYWN0ZXI6by5jaGFyQXQoMCksYWZ0ZXI6Umwoby5jaGFyQXQoMSkpfSl9cmV0dXJue3Vuc2FmZTplLGhhbmRsZXJzOmF9fWZ1bmN0aW9uIHRmYSh0KXtsZXQgZT1ZcmUodCwib3BlbiIpLGE9WXJlKHQsImNsb3NlIik7cmV0dXJuIHI7ZnVuY3Rpb24gcihzKXtyZXR1cm4gZSsocy52YWx1ZT9gCmArcy52YWx1ZToiIikrYApgK2F9fWZ1bmN0aW9uIFlyZSh0LGUpe3JldHVybiB0Lm1hcmtlcj9sb3QodC5tYXJrZXIsZSkucmVwZWF0KDMpOmxvdCh0LmZlbmNlLGUpfWZ1bmN0aW9uIGxvdCh0LGUpe3JldHVybiB0eXBlb2YgdD09InN0cmluZyI/dDp0W2VdfXZhciBjb3Q9YygoKT0+e0ZuKCk7R3JlKCk7cHEoKTtpKFpyZSwiZnJvbnRtYXR0ZXJGcm9tTWFya2Rvd24iKTtpKFF1YSwib3BlbmVyIik7aShKdWEsImNsb3NlIik7aShlZmEsInZhbHVlIik7aShYcmUsImZyb250bWF0dGVyVG9NYXJrZG93biIpO2kodGZhLCJoYW5kbGVyIik7aShZcmUsImZlbmNlIik7aShsb3QsInBpY2siKX0pO3ZhciBkb3Q9YygoKT0+e2NvdCgpfSk7ZnVuY3Rpb24gZjgodCl7bGV0IGU9dGhpcyxhPXR8fGFmYSxyPWUuZGF0YSgpLHM9ci5taWNyb21hcmtFeHRlbnNpb25zfHwoci5taWNyb21hcmtFeHRlbnNpb25zPVtdKSxuPXIuZnJvbU1hcmtkb3duRXh0ZW5zaW9uc3x8KHIuZnJvbU1hcmtkb3duRXh0ZW5zaW9ucz1bXSksbz1yLnRvTWFya2Rvd25FeHRlbnNpb25zfHwoci50b01hcmtkb3duRXh0ZW5zaW9ucz1bXSk7cy5wdXNoKFdyZShhKSksbi5wdXNoKFpyZShhKSksby5wdXNoKFhyZShhKSl9dmFyIGFmYSxwb3Q9YygoKT0+e2RvdCgpO0dyZSgpO2FmYT0ieWFtbCI7aShmOCwicmVtYXJrRnJvbnRtYXR0ZXIiKX0pO3ZhciB1b3Q9YygoKT0+e3BvdCgpfSk7dmFyIEtyZT1jKCgpPT57fSk7dmFyIGZvdCxyZmEsaVcsaG90PWMoKCk9PntLcmUoKTtmb3Q9dHlwZW9mIHNlbGY9PSJvYmplY3QiP3NlbGY6Z2xvYmFsVGhpcyxyZmE9aSgodCxlKT0+e2xldCBhPWkoKHMsbik9Pih0LnNldChuLHMpLHMpLCJhcyIpLHI9aShzPT57aWYodC5oYXMocykpcmV0dXJuIHQuZ2V0KHMpO2xldFtuLG9dPWVbc107c3dpdGNoKG4pe2Nhc2UgMDpjYXNlLTE6cmV0dXJuIGEobyxzKTtjYXNlIDE6e2xldCBsPWEoW10scyk7Zm9yKGxldCBoIG9mIG8pbC5wdXNoKHIoaCkpO3JldHVybiBsfWNhc2UgMjp7bGV0IGw9YSh7fSxzKTtmb3IobGV0W2gsdV1vZiBvKWxbcihoKV09cih1KTtyZXR1cm4gbH1jYXNlIDM6cmV0dXJuIGEobmV3IERhdGUobykscyk7Y2FzZSA0OntsZXR7c291cmNlOmwsZmxhZ3M6aH09bztyZXR1cm4gYShuZXcgUmVnRXhwKGwsaCkscyl9Y2FzZSA1OntsZXQgbD1hKG5ldyBNYXAscyk7Zm9yKGxldFtoLHVdb2YgbylsLnNldChyKGgpLHIodSkpO3JldHVybiBsfWNhc2UgNjp7bGV0IGw9YShuZXcgU2V0LHMpO2ZvcihsZXQgaCBvZiBvKWwuYWRkKHIoaCkpO3JldHVybiBsfWNhc2UgNzp7bGV0e25hbWU6bCxtZXNzYWdlOmh9PW87cmV0dXJuIGEobmV3IGZvdFtsXShoKSxzKX1jYXNlIDg6cmV0dXJuIGEoQmlnSW50KG8pLHMpO2Nhc2UiQmlnSW50IjpyZXR1cm4gYShPYmplY3QoQmlnSW50KG8pKSxzKTtjYXNlIkFycmF5QnVmZmVyIjpyZXR1cm4gYShuZXcgVWludDhBcnJheShvKS5idWZmZXIsbyk7Y2FzZSJEYXRhVmlldyI6e2xldHtidWZmZXI6bH09bmV3IFVpbnQ4QXJyYXkobyk7cmV0dXJuIGEobmV3IERhdGFWaWV3KGwpLG8pfX1yZXR1cm4gYShuZXcgZm90W25dKG8pLHMpfSwidW5wYWlyIik7cmV0dXJuIHJ9LCJkZXNlcmlhbGl6ZXIiKSxpVz1pKHQ9PnJmYShuZXcgTWFwLHQpKDApLCJkZXNlcmlhbGl6ZSIpfSk7dmFyIG04LGlmYSxzZmEseWYsc1csb2ZhLG9XLG1vdD1jKCgpPT57S3JlKCk7bTg9IiIse3RvU3RyaW5nOmlmYX09e30se2tleXM6c2ZhfT1PYmplY3QseWY9aSh0PT57bGV0IGU9dHlwZW9mIHQ7aWYoZSE9PSJvYmplY3QifHwhdClyZXR1cm5bMCxlXTtsZXQgYT1pZmEuY2FsbCh0KS5zbGljZSg4LC0xKTtzd2l0Y2goYSl7Y2FzZSJBcnJheSI6cmV0dXJuWzEsbThdO2Nhc2UiT2JqZWN0IjpyZXR1cm5bMixtOF07Y2FzZSJEYXRlIjpyZXR1cm5bMyxtOF07Y2FzZSJSZWdFeHAiOnJldHVybls0LG04XTtjYXNlIk1hcCI6cmV0dXJuWzUsbThdO2Nhc2UiU2V0IjpyZXR1cm5bNixtOF07Y2FzZSJEYXRhVmlldyI6cmV0dXJuWzEsYV19cmV0dXJuIGEuaW5jbHVkZXMoIkFycmF5Iik/WzEsYV06YS5pbmNsdWRlcygiRXJyb3IiKT9bNyxhXTpbMixhXX0sInR5cGVPZiIpLHNXPWkoKFt0LGVdKT0+dD09PTAmJihlPT09ImZ1bmN0aW9uInx8ZT09PSJzeW1ib2wiKSwic2hvdWxkU2tpcCIpLG9mYT1pKCh0LGUsYSxyKT0+e2xldCBzPWkoKG8sbCk9PntsZXQgaD1yLnB1c2gobyktMTtyZXR1cm4gYS5zZXQobCxoKSxofSwiYXMiKSxuPWkobz0+e2lmKGEuaGFzKG8pKXJldHVybiBhLmdldChvKTtsZXRbbCxoXT15ZihvKTtzd2l0Y2gobCl7Y2FzZSAwOntsZXQgZj1vO3N3aXRjaChoKXtjYXNlImJpZ2ludCI6bD04LGY9by50b1N0cmluZygpO2JyZWFrO2Nhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjppZih0KXRocm93IG5ldyBUeXBlRXJyb3IoInVuYWJsZSB0byBzZXJpYWxpemUgIitoKTtmPW51bGw7YnJlYWs7Y2FzZSJ1bmRlZmluZWQiOnJldHVybiBzKFstMV0sbyl9cmV0dXJuIHMoW2wsZl0sbyl9Y2FzZSAxOntpZihoKXtsZXQgZz1vO3JldHVybiBoPT09IkRhdGFWaWV3Ij9nPW5ldyBVaW50OEFycmF5KG8uYnVmZmVyKTpoPT09IkFycmF5QnVmZmVyIiYmKGc9bmV3IFVpbnQ4QXJyYXkobykpLHMoW2gsWy4uLmddXSxvKX1sZXQgZj1bXSxwPXMoW2wsZl0sbyk7Zm9yKGxldCBnIG9mIG8pZi5wdXNoKG4oZykpO3JldHVybiBwfWNhc2UgMjp7aWYoaClzd2l0Y2goaCl7Y2FzZSJCaWdJbnQiOnJldHVybiBzKFtoLG8udG9TdHJpbmcoKV0sbyk7Y2FzZSJCb29sZWFuIjpjYXNlIk51bWJlciI6Y2FzZSJTdHJpbmciOnJldHVybiBzKFtoLG8udmFsdWVPZigpXSxvKX1pZihlJiYidG9KU09OImluIG8pcmV0dXJuIG4oby50b0pTT04oKSk7bGV0IGY9W10scD1zKFtsLGZdLG8pO2ZvcihsZXQgZyBvZiBzZmEobykpKHR8fCFzVyh5ZihvW2ddKSkpJiZmLnB1c2goW24oZyksbihvW2ddKV0pO3JldHVybiBwfWNhc2UgMzpyZXR1cm4gcyhbbCxvLnRvSVNPU3RyaW5nKCldLG8pO2Nhc2UgNDp7bGV0e3NvdXJjZTpmLGZsYWdzOnB9PW87cmV0dXJuIHMoW2wse3NvdXJjZTpmLGZsYWdzOnB9XSxvKX1jYXNlIDU6e2xldCBmPVtdLHA9cyhbbCxmXSxvKTtmb3IobGV0W2csdl1vZiBvKSh0fHwhKHNXKHlmKGcpKXx8c1coeWYodikpKSkmJmYucHVzaChbbihnKSxuKHYpXSk7cmV0dXJuIHB9Y2FzZSA2OntsZXQgZj1bXSxwPXMoW2wsZl0sbyk7Zm9yKGxldCBnIG9mIG8pKHR8fCFzVyh5ZihnKSkpJiZmLnB1c2gobihnKSk7cmV0dXJuIHB9fWxldHttZXNzYWdlOnV9PW87cmV0dXJuIHMoW2wse25hbWU6aCxtZXNzYWdlOnV9XSxvKX0sInBhaXIiKTtyZXR1cm4gbn0sInNlcmlhbGl6ZXIiKSxvVz1pKCh0LHtqc29uOmUsbG9zc3k6YX09e30pPT57bGV0IHI9W107cmV0dXJuIG9mYSghKGV8fGEpLCEhZSxuZXcgTWFwLHIpKHQpLHJ9LCJzZXJpYWxpemUiKX0pO3ZhciBVbixuVz1jKCgpPT57aG90KCk7bW90KCk7VW49dHlwZW9mIHN0cnVjdHVyZWRDbG9uZT09ImZ1bmN0aW9uIj8odCxlKT0+ZSYmKCJqc29uImluIGV8fCJsb3NzeSJpbiBlKT9pVyhvVyh0LGUpKTpzdHJ1Y3R1cmVkQ2xvbmUodCk6KHQsZSk9PmlXKG9XKHQsZSkpfSk7ZnVuY3Rpb24gZ290KHQpe3JldHVybiBlO2Z1bmN0aW9uIGUoYSl7bGV0IHI9YSYmYS5wb3NpdGlvbiYmYS5wb3NpdGlvblt0XXx8e307aWYodHlwZW9mIHIubGluZT09Im51bWJlciImJnIubGluZT4wJiZ0eXBlb2Ygci5jb2x1bW49PSJudW1iZXIiJiZyLmNvbHVtbj4wKXJldHVybntsaW5lOnIubGluZSxjb2x1bW46ci5jb2x1bW4sb2Zmc2V0OnR5cGVvZiByLm9mZnNldD09Im51bWJlciImJnIub2Zmc2V0Pi0xP3Iub2Zmc2V0OnZvaWQgMH19fWZ1bmN0aW9uIHdmKHQpe2xldCBlPWNXKHQpLGE9bFcodCk7aWYoZSYmYSlyZXR1cm57c3RhcnQ6ZSxlbmQ6YX19dmFyIGxXLGNXLGJvdD1jKCgpPT57bFc9Z290KCJlbmQiKSxjVz1nb3QoInN0YXJ0Iik7aShnb3QsInBvaW50Iik7aSh3ZiwicG9zaXRpb24iKX0pO3ZhciBkVz1jKCgpPT57Ym90KCl9KTt2YXIgVDAscFcsdGllPWMoKCk9PntUMD1bImFyaWFEZXNjcmliZWRCeSIsImFyaWFMYWJlbCIsImFyaWFMYWJlbGxlZEJ5Il0scFc9e2FuY2VzdG9yczp7dGJvZHk6WyJ0YWJsZSJdLHRkOlsidGFibGUiXSx0aDpbInRhYmxlIl0sdGhlYWQ6WyJ0YWJsZSJdLHRmb290OlsidGFibGUiXSx0cjpbInRhYmxlIl19LGF0dHJpYnV0ZXM6e2E6Wy4uLlQwLCJkYXRhRm9vdG5vdGVCYWNrcmVmIiwiZGF0YUZvb3Rub3RlUmVmIixbImNsYXNzTmFtZSIsImRhdGEtZm9vdG5vdGUtYmFja3JlZiJdLCJocmVmIl0sYmxvY2txdW90ZTpbImNpdGUiXSxjb2RlOltbImNsYXNzTmFtZSIsL15sYW5ndWFnZS0uL11dLGRlbDpbImNpdGUiXSxkaXY6WyJpdGVtU2NvcGUiLCJpdGVtVHlwZSJdLGRsOlsuLi5UMF0saDI6W1siY2xhc3NOYW1lIiwic3Itb25seSJdXSxpbWc6Wy4uLlQwLCJsb25nRGVzYyIsInNyYyJdLGlucHV0OltbImRpc2FibGVkIiwhMF0sWyJ0eXBlIiwiY2hlY2tib3giXV0saW5zOlsiY2l0ZSJdLGxpOltbImNsYXNzTmFtZSIsInRhc2stbGlzdC1pdGVtIl1dLG9sOlsuLi5UMCxbImNsYXNzTmFtZSIsImNvbnRhaW5zLXRhc2stbGlzdCJdXSxxOlsiY2l0ZSJdLHNlY3Rpb246WyJkYXRhRm9vdG5vdGVzIixbImNsYXNzTmFtZSIsImZvb3Rub3RlcyJdXSxzb3VyY2U6WyJzcmNTZXQiXSxzdW1tYXJ5OlsuLi5UMF0sdGFibGU6Wy4uLlQwXSx1bDpbLi4uVDAsWyJjbGFzc05hbWUiLCJjb250YWlucy10YXNrLWxpc3QiXV0sIioiOlsiYWJiciIsImFjY2VwdCIsImFjY2VwdENoYXJzZXQiLCJhY2Nlc3NLZXkiLCJhY3Rpb24iLCJhbGlnbiIsImFsdCIsImF4aXMiLCJib3JkZXIiLCJjZWxsUGFkZGluZyIsImNlbGxTcGFjaW5nIiwiY2hhciIsImNoYXJPZmYiLCJjaGFyU2V0IiwiY2hlY2tlZCIsImNsZWFyIiwiY29sU3BhbiIsImNvbG9yIiwiY29scyIsImNvbXBhY3QiLCJjb29yZHMiLCJkYXRlVGltZSIsImRpciIsImVuY1R5cGUiLCJmcmFtZSIsImhTcGFjZSIsImhlYWRlcnMiLCJoZWlnaHQiLCJocmVmTGFuZyIsImh0bWxGb3IiLCJpZCIsImlzTWFwIiwiaXRlbVByb3AiLCJsYWJlbCIsImxhbmciLCJtYXhMZW5ndGgiLCJtZWRpYSIsIm1ldGhvZCIsIm11bHRpcGxlIiwibmFtZSIsIm5vSHJlZiIsIm5vU2hhZGUiLCJub1dyYXAiLCJvcGVuIiwicHJvbXB0IiwicmVhZE9ubHkiLCJyZXYiLCJyb3dTcGFuIiwicm93cyIsInJ1bGVzIiwic2NvcGUiLCJzZWxlY3RlZCIsInNoYXBlIiwic2l6ZSIsInNwYW4iLCJzdGFydCIsInN1bW1hcnkiLCJ0YWJJbmRleCIsInRpdGxlIiwidXNlTWFwIiwidkFsaWduIiwidmFsdWUiLCJ3aWR0aCJdfSxjbG9iYmVyOlsiYXJpYURlc2NyaWJlZEJ5IiwiYXJpYUxhYmVsbGVkQnkiLCJpZCIsIm5hbWUiXSxjbG9iYmVyUHJlZml4OiJ1c2VyLWNvbnRlbnQtIixwcm90b2NvbHM6e2NpdGU6WyJodHRwIiwiaHR0cHMiXSxocmVmOlsiaHR0cCIsImh0dHBzIiwiaXJjIiwiaXJjcyIsIm1haWx0byIsInhtcHAiXSxsb25nRGVzYzpbImh0dHAiLCJodHRwcyJdLHNyYzpbImh0dHAiLCJodHRwcyJdfSxyZXF1aXJlZDp7aW5wdXQ6e2Rpc2FibGVkOiEwLHR5cGU6ImNoZWNrYm94In19LHN0cmlwOlsic2NyaXB0Il0sdGFnTmFtZXM6WyJhIiwiYiIsImJsb2NrcXVvdGUiLCJiciIsImNvZGUiLCJkZCIsImRlbCIsImRldGFpbHMiLCJkaXYiLCJkbCIsImR0IiwiZW0iLCJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiLCJociIsImkiLCJpbWciLCJpbnB1dCIsImlucyIsImtiZCIsImxpIiwib2wiLCJwIiwicGljdHVyZSIsInByZSIsInEiLCJycCIsInJ0IiwicnVieSIsInMiLCJzYW1wIiwic2VjdGlvbiIsInNvdXJjZSIsInNwYW4iLCJzdHJpa2UiLCJzdHJvbmciLCJzdWIiLCJzdW1tYXJ5Iiwic3VwIiwidGFibGUiLCJ0Ym9keSIsInRkIiwidGZvb3QiLCJ0aCIsInRoZWFkIiwidHIiLCJ0dCIsInVsIiwidmFyIl19fSk7ZnVuY3Rpb24gYWllKHQsZSl7bGV0IGE9e3R5cGU6InJvb3QiLGNoaWxkcmVuOltdfSxyPXtzY2hlbWE6ZT97Li4ucFcsLi4uZX06cFcsc3RhY2s6W119LHM9dm90KHIsdCk7cmV0dXJuIHMmJihBcnJheS5pc0FycmF5KHMpP3MubGVuZ3RoPT09MT9hPXNbMF06YS5jaGlsZHJlbj1zOmE9cyksYX1mdW5jdGlvbiB2b3QodCxlKXtpZihlJiZ0eXBlb2YgZT09Im9iamVjdCIpe2xldCBhPWU7c3dpdGNoKHR5cGVvZiBhLnR5cGU9PSJzdHJpbmciP2EudHlwZToiIil7Y2FzZSJjb21tZW50IjpyZXR1cm4gbmZhKHQsYSk7Y2FzZSJkb2N0eXBlIjpyZXR1cm4gbGZhKHQsYSk7Y2FzZSJlbGVtZW50IjpyZXR1cm4gY2ZhKHQsYSk7Y2FzZSJyb290IjpyZXR1cm4gZGZhKHQsYSk7Y2FzZSJ0ZXh0IjpyZXR1cm4gcGZhKHQsYSk7ZGVmYXVsdDp9fX1mdW5jdGlvbiBuZmEodCxlKXtpZih0LnNjaGVtYS5hbGxvd0NvbW1lbnRzKXtsZXQgYT10eXBlb2YgZS52YWx1ZT09InN0cmluZyI/ZS52YWx1ZToiIixyPWEuaW5kZXhPZigiLS0+Iiksbj17dHlwZToiY29tbWVudCIsdmFsdWU6cjwwP2E6YS5zbGljZSgwLHIpfTtyZXR1cm4gTWYobixlKSxufX1mdW5jdGlvbiBsZmEodCxlKXtpZih0LnNjaGVtYS5hbGxvd0RvY3R5cGVzKXtsZXQgYT17dHlwZToiZG9jdHlwZSJ9O3JldHVybiBNZihhLGUpLGF9fWZ1bmN0aW9uIGNmYSh0LGUpe2xldCBhPXR5cGVvZiBlLnRhZ05hbWU9PSJzdHJpbmciP2UudGFnTmFtZToiIjt0LnN0YWNrLnB1c2goYSk7bGV0IHI9eG90KHQsZS5jaGlsZHJlbikscz11ZmEodCxlLnByb3BlcnRpZXMpO3Quc3RhY2sucG9wKCk7bGV0IG49ITE7aWYoYSYmYSE9PSIqIiYmKCF0LnNjaGVtYS50YWdOYW1lc3x8dC5zY2hlbWEudGFnTmFtZXMuaW5jbHVkZXMoYSkpJiYobj0hMCx0LnNjaGVtYS5hbmNlc3RvcnMmJlduLmNhbGwodC5zY2hlbWEuYW5jZXN0b3JzLGEpKSl7bGV0IGw9dC5zY2hlbWEuYW5jZXN0b3JzW2FdLGg9LTE7Zm9yKG49ITE7KytoPGwubGVuZ3RoOyl0LnN0YWNrLmluY2x1ZGVzKGxbaF0pJiYobj0hMCl9aWYoIW4pcmV0dXJuIHQuc2NoZW1hLnN0cmlwJiYhdC5zY2hlbWEuc3RyaXAuaW5jbHVkZXMoYSk/cjp2b2lkIDA7bGV0IG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6YSxwcm9wZXJ0aWVzOnMsY2hpbGRyZW46cn07cmV0dXJuIE1mKG8sZSksb31mdW5jdGlvbiBkZmEodCxlKXtsZXQgcj17dHlwZToicm9vdCIsY2hpbGRyZW46eG90KHQsZS5jaGlsZHJlbil9O3JldHVybiBNZihyLGUpLHJ9ZnVuY3Rpb24gcGZhKHQsZSl7bGV0IHI9e3R5cGU6InRleHQiLHZhbHVlOnR5cGVvZiBlLnZhbHVlPT0ic3RyaW5nIj9lLnZhbHVlOiIifTtyZXR1cm4gTWYocixlKSxyfWZ1bmN0aW9uIHhvdCh0LGUpe2xldCBhPVtdO2lmKEFycmF5LmlzQXJyYXkoZSkpe2xldCByPWUscz0tMTtmb3IoOysrczxyLmxlbmd0aDspe2xldCBuPXZvdCh0LHJbc10pO24mJihBcnJheS5pc0FycmF5KG4pP2EucHVzaCguLi5uKTphLnB1c2gobikpfX1yZXR1cm4gYX1mdW5jdGlvbiB1ZmEodCxlKXtsZXQgYT10LnN0YWNrW3Quc3RhY2subGVuZ3RoLTFdLHI9dC5zY2hlbWEuYXR0cmlidXRlcyxzPXQuc2NoZW1hLnJlcXVpcmVkLG49ciYmV24uY2FsbChyLGEpP3JbYV06dm9pZCAwLG89ciYmV24uY2FsbChyLCIqIik/clsiKiJdOnZvaWQgMCxsPWUmJnR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9LGg9e30sdTtmb3IodSBpbiBsKWlmKFduLmNhbGwobCx1KSl7bGV0IGY9bFt1XSxwPXlvdCh0LE1vdChuLHUpLHUsZik7cD09bnVsbCYmKHA9eW90KHQsTW90KG8sdSksdSxmKSkscCE9bnVsbCYmKGhbdV09cCl9aWYocyYmV24uY2FsbChzLGEpKXtsZXQgZj1zW2FdO2Zvcih1IGluIGYpV24uY2FsbChmLHUpJiYhV24uY2FsbChoLHUpJiYoaFt1XT1mW3VdKX1yZXR1cm4gaH1mdW5jdGlvbiB5b3QodCxlLGEscil7cmV0dXJuIGU/QXJyYXkuaXNBcnJheShyKT9mZmEodCxlLGEscik6d290KHQsZSxhLHIpOnZvaWQgMH1mdW5jdGlvbiBmZmEodCxlLGEscil7bGV0IHM9LTEsbj1bXTtmb3IoOysrczxyLmxlbmd0aDspe2xldCBvPXdvdCh0LGUsYSxyW3NdKTsodHlwZW9mIG89PSJudW1iZXIifHx0eXBlb2Ygbz09InN0cmluZyIpJiZuLnB1c2gobyl9cmV0dXJuIG59ZnVuY3Rpb24gd290KHQsZSxhLHIpe2lmKCEodHlwZW9mIHIhPSJib29sZWFuIiYmdHlwZW9mIHIhPSJudW1iZXIiJiZ0eXBlb2YgciE9InN0cmluZyIpJiZoZmEodCxhLHIpKXtpZih0eXBlb2YgZT09Im9iamVjdCImJmUubGVuZ3RoPjEpe2xldCBzPSExLG49MDtmb3IoOysrbjxlLmxlbmd0aDspe2xldCBvPWVbbl07aWYobyYmdHlwZW9mIG89PSJvYmplY3QiJiYiZmxhZ3MiaW4gbyl7aWYoby50ZXN0KFN0cmluZyhyKSkpe3M9ITA7YnJlYWt9fWVsc2UgaWYobz09PXIpe3M9ITA7YnJlYWt9fWlmKCFzKXJldHVybn1yZXR1cm4gdC5zY2hlbWEuY2xvYmJlciYmdC5zY2hlbWEuY2xvYmJlclByZWZpeCYmdC5zY2hlbWEuY2xvYmJlci5pbmNsdWRlcyhhKT90LnNjaGVtYS5jbG9iYmVyUHJlZml4K3I6cn19ZnVuY3Rpb24gaGZhKHQsZSxhKXtsZXQgcj10LnNjaGVtYS5wcm90b2NvbHMmJlduLmNhbGwodC5zY2hlbWEucHJvdG9jb2xzLGUpP3Quc2NoZW1hLnByb3RvY29sc1tlXTp2b2lkIDA7aWYoIXJ8fHIubGVuZ3RoPT09MClyZXR1cm4hMDtsZXQgcz1TdHJpbmcoYSksbj1zLmluZGV4T2YoIjoiKSxvPXMuaW5kZXhPZigiPyIpLGw9cy5pbmRleE9mKCIjIiksaD1zLmluZGV4T2YoIi8iKTtpZihuPDB8fGg+LTEmJm4+aHx8bz4tMSYmbj5vfHxsPi0xJiZuPmwpcmV0dXJuITA7bGV0IHU9LTE7Zm9yKDsrK3U8ci5sZW5ndGg7KXtsZXQgZj1yW3VdO2lmKG49PT1mLmxlbmd0aCYmcy5zbGljZSgwLGYubGVuZ3RoKT09PWYpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gTWYodCxlKXtsZXQgYT13ZihlKTtlLmRhdGEmJih0LmRhdGE9VW4oZS5kYXRhKSksYSYmKHQucG9zaXRpb249YSl9ZnVuY3Rpb24gTW90KHQsZSl7bGV0IGEscj0tMTtpZih0KWZvcig7KytyPHQubGVuZ3RoOyl7bGV0IHM9dFtyXSxuPXR5cGVvZiBzPT0ic3RyaW5nIj9zOnNbMF07aWYobj09PWUpcmV0dXJuIHM7bj09PSJkYXRhKiImJihhPXMpfWlmKGUubGVuZ3RoPjQmJmUuc2xpY2UoMCw0KS50b0xvd2VyQ2FzZSgpPT09ImRhdGEiKXJldHVybiBhfXZhciBXbixrb3Q9YygoKT0+e25XKCk7ZFcoKTt0aWUoKTtXbj17fS5oYXNPd25Qcm9wZXJ0eTtpKGFpZSwic2FuaXRpemUiKTtpKHZvdCwidHJhbnNmb3JtIik7aShuZmEsImNvbW1lbnQiKTtpKGxmYSwiZG9jdHlwZSIpO2koY2ZhLCJlbGVtZW50Iik7aShkZmEsInJvb3QiKTtpKHBmYSwidGV4dCIpO2koeG90LCJjaGlsZHJlbiIpO2kodWZhLCJwcm9wZXJ0aWVzIik7aSh5b3QsInByb3BlcnR5VmFsdWUiKTtpKGZmYSwicHJvcGVydHlWYWx1ZU1hbnkiKTtpKHdvdCwicHJvcGVydHlWYWx1ZVByaW1pdGl2ZSIpO2koaGZhLCJzYWZlUHJvdG9jb2wiKTtpKE1mLCJwYXRjaCIpO2koTW90LCJmaW5kRGVmaW5pdGlvbiIpfSk7dmFyIHpvdD1jKCgpPT57a290KCk7dGllKCl9KTtmdW5jdGlvbiBTb3QodCxlKXtsZXQgYT17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiYmxvY2txdW90ZSIscHJvcGVydGllczp7fSxjaGlsZHJlbjp0LndyYXAodC5hbGwoZSksITApfTtyZXR1cm4gdC5wYXRjaChlLGEpLHQuYXBwbHlEYXRhKGUsYSl9dmFyIENvdD1jKCgpPT57aShTb3QsImJsb2NrcXVvdGUiKX0pO2Z1bmN0aW9uIF9vdCh0LGUpe2xldCBhPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJiciIscHJvcGVydGllczp7fSxjaGlsZHJlbjpbXX07cmV0dXJuIHQucGF0Y2goZSxhKSxbdC5hcHBseURhdGEoZSxhKSx7dHlwZToidGV4dCIsdmFsdWU6YApgfV19dmFyIFRvdD1jKCgpPT57aShfb3QsImhhcmRCcmVhayIpfSk7ZnVuY3Rpb24gTG90KHQsZSl7bGV0IGE9ZS52YWx1ZT9lLnZhbHVlK2AKYDoiIixyPXt9LHM9ZS5sYW5nP2UubGFuZy5zcGxpdCgvXHMrLyk6W107cy5sZW5ndGg+MCYmKHIuY2xhc3NOYW1lPVsibGFuZ3VhZ2UtIitzWzBdXSk7bGV0IG49e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImNvZGUiLHByb3BlcnRpZXM6cixjaGlsZHJlbjpbe3R5cGU6InRleHQiLHZhbHVlOmF9XX07cmV0dXJuIGUubWV0YSYmKG4uZGF0YT17bWV0YTplLm1ldGF9KSx0LnBhdGNoKGUsbiksbj10LmFwcGx5RGF0YShlLG4pLG49e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InByZSIscHJvcGVydGllczp7fSxjaGlsZHJlbjpbbl19LHQucGF0Y2goZSxuKSxufXZhciAkb3Q9YygoKT0+e2koTG90LCJjb2RlIil9KTtmdW5jdGlvbiBEb3QodCxlKXtsZXQgYT17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiZGVsIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOnQuYWxsKGUpfTtyZXR1cm4gdC5wYXRjaChlLGEpLHQuYXBwbHlEYXRhKGUsYSl9dmFyIEFvdD1jKCgpPT57aShEb3QsInN0cmlrZXRocm91Z2giKX0pO2Z1bmN0aW9uIFBvdCh0LGUpe2xldCBhPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJlbSIscHJvcGVydGllczp7fSxjaGlsZHJlbjp0LmFsbChlKX07cmV0dXJuIHQucGF0Y2goZSxhKSx0LmFwcGx5RGF0YShlLGEpfXZhciBFb3Q9YygoKT0+e2koUG90LCJlbXBoYXNpcyIpfSk7ZnVuY3Rpb24gSW90KHQsZSl7bGV0IGE9dHlwZW9mIHQub3B0aW9ucy5jbG9iYmVyUHJlZml4PT0ic3RyaW5nIj90Lm9wdGlvbnMuY2xvYmJlclByZWZpeDoidXNlci1jb250ZW50LSIscj1TdHJpbmcoZS5pZGVudGlmaWVyKS50b1VwcGVyQ2FzZSgpLHM9Z2koci50b0xvd2VyQ2FzZSgpKSxuPXQuZm9vdG5vdGVPcmRlci5pbmRleE9mKHIpLG8sbD10LmZvb3Rub3RlQ291bnRzLmdldChyKTtsPT09dm9pZCAwPyhsPTAsdC5mb290bm90ZU9yZGVyLnB1c2gociksbz10LmZvb3Rub3RlT3JkZXIubGVuZ3RoKTpvPW4rMSxsKz0xLHQuZm9vdG5vdGVDb3VudHMuc2V0KHIsbCk7bGV0IGg9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImEiLHByb3BlcnRpZXM6e2hyZWY6IiMiK2ErImZuLSIrcyxpZDphKyJmbnJlZi0iK3MrKGw+MT8iLSIrbDoiIiksZGF0YUZvb3Rub3RlUmVmOiEwLGFyaWFEZXNjcmliZWRCeTpbImZvb3Rub3RlLWxhYmVsIl19LGNoaWxkcmVuOlt7dHlwZToidGV4dCIsdmFsdWU6U3RyaW5nKG8pfV19O3QucGF0Y2goZSxoKTtsZXQgdT17dHlwZToiZWxlbWVudCIsdGFnTmFtZToic3VwIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOltoXX07cmV0dXJuIHQucGF0Y2goZSx1KSx0LmFwcGx5RGF0YShlLHUpfXZhciBOb3Q9YygoKT0+e3gyKCk7aShJb3QsImZvb3Rub3RlUmVmZXJlbmNlIil9KTtmdW5jdGlvbiBSb3QodCxlKXtsZXQgYT17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiaCIrZS5kZXB0aCxwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOnQuYWxsKGUpfTtyZXR1cm4gdC5wYXRjaChlLGEpLHQuYXBwbHlEYXRhKGUsYSl9dmFyIEZvdD1jKCgpPT57aShSb3QsImhlYWRpbmciKX0pO2Z1bmN0aW9uIE9vdCh0LGUpe2lmKHQub3B0aW9ucy5hbGxvd0Rhbmdlcm91c0h0bWwpe2xldCBhPXt0eXBlOiJyYXciLHZhbHVlOmUudmFsdWV9O3JldHVybiB0LnBhdGNoKGUsYSksdC5hcHBseURhdGEoZSxhKX19dmFyIEJvdD1jKCgpPT57aShPb3QsImh0bWwiKX0pO2Z1bmN0aW9uIHVXKHQsZSl7bGV0IGE9ZS5yZWZlcmVuY2VUeXBlLHI9Il0iO2lmKGE9PT0iY29sbGFwc2VkIj9yKz0iW10iOmE9PT0iZnVsbCImJihyKz0iWyIrKGUubGFiZWx8fGUuaWRlbnRpZmllcikrIl0iKSxlLnR5cGU9PT0iaW1hZ2VSZWZlcmVuY2UiKXJldHVyblt7dHlwZToidGV4dCIsdmFsdWU6IiFbIitlLmFsdCtyfV07bGV0IHM9dC5hbGwoZSksbj1zWzBdO24mJm4udHlwZT09PSJ0ZXh0Ij9uLnZhbHVlPSJbIituLnZhbHVlOnMudW5zaGlmdCh7dHlwZToidGV4dCIsdmFsdWU6IlsifSk7bGV0IG89c1tzLmxlbmd0aC0xXTtyZXR1cm4gbyYmby50eXBlPT09InRleHQiP28udmFsdWUrPXI6cy5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpyfSksc312YXIgcmllPWMoKCk9PntpKHVXLCJyZXZlcnQiKX0pO2Z1bmN0aW9uIEhvdCh0LGUpe2xldCBhPVN0cmluZyhlLmlkZW50aWZpZXIpLnRvVXBwZXJDYXNlKCkscj10LmRlZmluaXRpb25CeUlkLmdldChhKTtpZighcilyZXR1cm4gdVcodCxlKTtsZXQgcz17c3JjOmdpKHIudXJsfHwiIiksYWx0OmUuYWx0fTtyLnRpdGxlIT09bnVsbCYmci50aXRsZSE9PXZvaWQgMCYmKHMudGl0bGU9ci50aXRsZSk7bGV0IG49e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImltZyIscHJvcGVydGllczpzLGNoaWxkcmVuOltdfTtyZXR1cm4gdC5wYXRjaChlLG4pLHQuYXBwbHlEYXRhKGUsbil9dmFyIHFvdD1jKCgpPT57eDIoKTtyaWUoKTtpKEhvdCwiaW1hZ2VSZWZlcmVuY2UiKX0pO2Z1bmN0aW9uIFZvdCh0LGUpe2xldCBhPXtzcmM6Z2koZS51cmwpfTtlLmFsdCE9PW51bGwmJmUuYWx0IT09dm9pZCAwJiYoYS5hbHQ9ZS5hbHQpLGUudGl0bGUhPT1udWxsJiZlLnRpdGxlIT09dm9pZCAwJiYoYS50aXRsZT1lLnRpdGxlKTtsZXQgcj17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiaW1nIixwcm9wZXJ0aWVzOmEsY2hpbGRyZW46W119O3JldHVybiB0LnBhdGNoKGUsciksdC5hcHBseURhdGEoZSxyKX12YXIgam90PWMoKCk9Pnt4MigpO2koVm90LCJpbWFnZSIpfSk7ZnVuY3Rpb24gVW90KHQsZSl7bGV0IGE9e3R5cGU6InRleHQiLHZhbHVlOmUudmFsdWUucmVwbGFjZSgvXHI/XG58XHIvZywiICIpfTt0LnBhdGNoKGUsYSk7bGV0IHI9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImNvZGUiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46W2FdfTtyZXR1cm4gdC5wYXRjaChlLHIpLHQuYXBwbHlEYXRhKGUscil9dmFyIFdvdD1jKCgpPT57aShVb3QsImlubGluZUNvZGUiKX0pO2Z1bmN0aW9uIEdvdCh0LGUpe2xldCBhPVN0cmluZyhlLmlkZW50aWZpZXIpLnRvVXBwZXJDYXNlKCkscj10LmRlZmluaXRpb25CeUlkLmdldChhKTtpZighcilyZXR1cm4gdVcodCxlKTtsZXQgcz17aHJlZjpnaShyLnVybHx8IiIpfTtyLnRpdGxlIT09bnVsbCYmci50aXRsZSE9PXZvaWQgMCYmKHMudGl0bGU9ci50aXRsZSk7bGV0IG49e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImEiLHByb3BlcnRpZXM6cyxjaGlsZHJlbjp0LmFsbChlKX07cmV0dXJuIHQucGF0Y2goZSxuKSx0LmFwcGx5RGF0YShlLG4pfXZhciBZb3Q9YygoKT0+e3gyKCk7cmllKCk7aShHb3QsImxpbmtSZWZlcmVuY2UiKX0pO2Z1bmN0aW9uIFpvdCh0LGUpe2xldCBhPXtocmVmOmdpKGUudXJsKX07ZS50aXRsZSE9PW51bGwmJmUudGl0bGUhPT12b2lkIDAmJihhLnRpdGxlPWUudGl0bGUpO2xldCByPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJhIixwcm9wZXJ0aWVzOmEsY2hpbGRyZW46dC5hbGwoZSl9O3JldHVybiB0LnBhdGNoKGUsciksdC5hcHBseURhdGEoZSxyKX12YXIgWG90PWMoKCk9Pnt4MigpO2koWm90LCJsaW5rIil9KTtmdW5jdGlvbiBRb3QodCxlLGEpe2xldCByPXQuYWxsKGUpLHM9YT9tZmEoYSk6S290KGUpLG49e30sbz1bXTtpZih0eXBlb2YgZS5jaGVja2VkPT0iYm9vbGVhbiIpe2xldCBmPXJbMF0scDtmJiZmLnR5cGU9PT0iZWxlbWVudCImJmYudGFnTmFtZT09PSJwIj9wPWY6KHA9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InAiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46W119LHIudW5zaGlmdChwKSkscC5jaGlsZHJlbi5sZW5ndGg+MCYmcC5jaGlsZHJlbi51bnNoaWZ0KHt0eXBlOiJ0ZXh0Iix2YWx1ZToiICJ9KSxwLmNoaWxkcmVuLnVuc2hpZnQoe3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImlucHV0Iixwcm9wZXJ0aWVzOnt0eXBlOiJjaGVja2JveCIsY2hlY2tlZDplLmNoZWNrZWQsZGlzYWJsZWQ6ITB9LGNoaWxkcmVuOltdfSksbi5jbGFzc05hbWU9WyJ0YXNrLWxpc3QtaXRlbSJdfWxldCBsPS0xO2Zvcig7KytsPHIubGVuZ3RoOyl7bGV0IGY9cltsXTsoc3x8bCE9PTB8fGYudHlwZSE9PSJlbGVtZW50Inx8Zi50YWdOYW1lIT09InAiKSYmby5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9KSxmLnR5cGU9PT0iZWxlbWVudCImJmYudGFnTmFtZT09PSJwIiYmIXM/by5wdXNoKC4uLmYuY2hpbGRyZW4pOm8ucHVzaChmKX1sZXQgaD1yW3IubGVuZ3RoLTFdO2gmJihzfHxoLnR5cGUhPT0iZWxlbWVudCJ8fGgudGFnTmFtZSE9PSJwIikmJm8ucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6YApgfSk7bGV0IHU9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImxpIixwcm9wZXJ0aWVzOm4sY2hpbGRyZW46b307cmV0dXJuIHQucGF0Y2goZSx1KSx0LmFwcGx5RGF0YShlLHUpfWZ1bmN0aW9uIG1mYSh0KXtsZXQgZT0hMTtpZih0LnR5cGU9PT0ibGlzdCIpe2U9dC5zcHJlYWR8fCExO2xldCBhPXQuY2hpbGRyZW4scj0tMTtmb3IoOyFlJiYrK3I8YS5sZW5ndGg7KWU9S290KGFbcl0pfXJldHVybiBlfWZ1bmN0aW9uIEtvdCh0KXtsZXQgZT10LnNwcmVhZDtyZXR1cm4gZT8/dC5jaGlsZHJlbi5sZW5ndGg+MX12YXIgSm90PWMoKCk9PntpKFFvdCwibGlzdEl0ZW0iKTtpKG1mYSwibGlzdExvb3NlIik7aShLb3QsImxpc3RJdGVtTG9vc2UiKX0pO2Z1bmN0aW9uIGVudCh0LGUpe2xldCBhPXt9LHI9dC5hbGwoZSkscz0tMTtmb3IodHlwZW9mIGUuc3RhcnQ9PSJudW1iZXIiJiZlLnN0YXJ0IT09MSYmKGEuc3RhcnQ9ZS5zdGFydCk7KytzPHIubGVuZ3RoOyl7bGV0IG89cltzXTtpZihvLnR5cGU9PT0iZWxlbWVudCImJm8udGFnTmFtZT09PSJsaSImJm8ucHJvcGVydGllcyYmQXJyYXkuaXNBcnJheShvLnByb3BlcnRpZXMuY2xhc3NOYW1lKSYmby5wcm9wZXJ0aWVzLmNsYXNzTmFtZS5pbmNsdWRlcygidGFzay1saXN0LWl0ZW0iKSl7YS5jbGFzc05hbWU9WyJjb250YWlucy10YXNrLWxpc3QiXTticmVha319bGV0IG49e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ZS5vcmRlcmVkPyJvbCI6InVsIixwcm9wZXJ0aWVzOmEsY2hpbGRyZW46dC53cmFwKHIsITApfTtyZXR1cm4gdC5wYXRjaChlLG4pLHQuYXBwbHlEYXRhKGUsbil9dmFyIHRudD1jKCgpPT57aShlbnQsImxpc3QiKX0pO2Z1bmN0aW9uIGFudCh0LGUpe2xldCBhPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJwIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOnQuYWxsKGUpfTtyZXR1cm4gdC5wYXRjaChlLGEpLHQuYXBwbHlEYXRhKGUsYSl9dmFyIHJudD1jKCgpPT57aShhbnQsInBhcmFncmFwaCIpfSk7ZnVuY3Rpb24gaW50KHQsZSl7bGV0IGE9e3R5cGU6InJvb3QiLGNoaWxkcmVuOnQud3JhcCh0LmFsbChlKSl9O3JldHVybiB0LnBhdGNoKGUsYSksdC5hcHBseURhdGEoZSxhKX12YXIgc250PWMoKCk9PntpKGludCwicm9vdCIpfSk7ZnVuY3Rpb24gb250KHQsZSl7bGV0IGE9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InN0cm9uZyIscHJvcGVydGllczp7fSxjaGlsZHJlbjp0LmFsbChlKX07cmV0dXJuIHQucGF0Y2goZSxhKSx0LmFwcGx5RGF0YShlLGEpfXZhciBubnQ9YygoKT0+e2kob250LCJzdHJvbmciKX0pO2Z1bmN0aW9uIGxudCh0LGUpe2xldCBhPXQuYWxsKGUpLHI9YS5zaGlmdCgpLHM9W107aWYocil7bGV0IG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InRoZWFkIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOnQud3JhcChbcl0sITApfTt0LnBhdGNoKGUuY2hpbGRyZW5bMF0sbykscy5wdXNoKG8pfWlmKGEubGVuZ3RoPjApe2xldCBvPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJ0Ym9keSIscHJvcGVydGllczp7fSxjaGlsZHJlbjp0LndyYXAoYSwhMCl9LGw9Y1coZS5jaGlsZHJlblsxXSksaD1sVyhlLmNoaWxkcmVuW2UuY2hpbGRyZW4ubGVuZ3RoLTFdKTtsJiZoJiYoby5wb3NpdGlvbj17c3RhcnQ6bCxlbmQ6aH0pLHMucHVzaChvKX1sZXQgbj17dHlwZToiZWxlbWVudCIsdGFnTmFtZToidGFibGUiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46dC53cmFwKHMsITApfTtyZXR1cm4gdC5wYXRjaChlLG4pLHQuYXBwbHlEYXRhKGUsbil9dmFyIGNudD1jKCgpPT57ZFcoKTtpKGxudCwidGFibGUiKX0pO2Z1bmN0aW9uIGRudCh0LGUsYSl7bGV0IHI9YT9hLmNoaWxkcmVuOnZvaWQgMCxuPShyP3IuaW5kZXhPZihlKToxKT09PTA/InRoIjoidGQiLG89YSYmYS50eXBlPT09InRhYmxlIj9hLmFsaWduOnZvaWQgMCxsPW8/by5sZW5ndGg6ZS5jaGlsZHJlbi5sZW5ndGgsaD0tMSx1PVtdO2Zvcig7KytoPGw7KXtsZXQgcD1lLmNoaWxkcmVuW2hdLGc9e30sdj1vP29baF06dm9pZCAwO3YmJihnLmFsaWduPXYpO2xldCB4PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOm4scHJvcGVydGllczpnLGNoaWxkcmVuOltdfTtwJiYoeC5jaGlsZHJlbj10LmFsbChwKSx0LnBhdGNoKHAseCkseD10LmFwcGx5RGF0YShwLHgpKSx1LnB1c2goeCl9bGV0IGY9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InRyIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOnQud3JhcCh1LCEwKX07cmV0dXJuIHQucGF0Y2goZSxmKSx0LmFwcGx5RGF0YShlLGYpfXZhciBwbnQ9YygoKT0+e2koZG50LCJ0YWJsZVJvdyIpfSk7ZnVuY3Rpb24gdW50KHQsZSl7bGV0IGE9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InRkIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOnQuYWxsKGUpfTtyZXR1cm4gdC5wYXRjaChlLGEpLHQuYXBwbHlEYXRhKGUsYSl9dmFyIGZudD1jKCgpPT57aSh1bnQsInRhYmxlQ2VsbCIpfSk7ZnVuY3Rpb24gbW50KHQpe2xldCBlPVN0cmluZyh0KSxhPS9ccj9cbnxcci9nLHI9YS5leGVjKGUpLHM9MCxuPVtdO2Zvcig7cjspbi5wdXNoKGhudChlLnNsaWNlKHMsci5pbmRleCkscz4wLCEwKSxyWzBdKSxzPXIuaW5kZXgrclswXS5sZW5ndGgscj1hLmV4ZWMoZSk7cmV0dXJuIG4ucHVzaChobnQoZS5zbGljZShzKSxzPjAsITEpKSxuLmpvaW4oIiIpfWZ1bmN0aW9uIGhudCh0LGUsYSl7bGV0IHI9MCxzPXQubGVuZ3RoO2lmKGUpe2xldCBuPXQuY29kZVBvaW50QXQocik7Zm9yKDtuPT09OXx8bj09PTMyOylyKyssbj10LmNvZGVQb2ludEF0KHIpfWlmKGEpe2xldCBuPXQuY29kZVBvaW50QXQocy0xKTtmb3IoO249PT05fHxuPT09MzI7KXMtLSxuPXQuY29kZVBvaW50QXQocy0xKX1yZXR1cm4gcz5yP3Quc2xpY2UocixzKToiIn12YXIgWF8xLEtfMSxnbnQ9YygoKT0+e1hfMT05LEtfMT0zMjtpKG1udCwidHJpbUxpbmVzIik7aShobnQsInRyaW1MaW5lIil9KTtmdW5jdGlvbiBibnQodCxlKXtsZXQgYT17dHlwZToidGV4dCIsdmFsdWU6bW50KFN0cmluZyhlLnZhbHVlKSl9O3JldHVybiB0LnBhdGNoKGUsYSksdC5hcHBseURhdGEoZSxhKX12YXIgdm50PWMoKCk9PntnbnQoKTtpKGJudCwidGV4dCIpfSk7ZnVuY3Rpb24geG50KHQsZSl7bGV0IGE9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImhyIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOltdfTtyZXR1cm4gdC5wYXRjaChlLGEpLHQuYXBwbHlEYXRhKGUsYSl9dmFyIHludD1jKCgpPT57aSh4bnQsInRoZW1hdGljQnJlYWsiKX0pO2Z1bmN0aW9uIGZXKCl7fXZhciBpaWUsc2llPWMoKCk9PntDb3QoKTtUb3QoKTskb3QoKTtBb3QoKTtFb3QoKTtOb3QoKTtGb3QoKTtCb3QoKTtxb3QoKTtqb3QoKTtXb3QoKTtZb3QoKTtYb3QoKTtKb3QoKTt0bnQoKTtybnQoKTtzbnQoKTtubnQoKTtjbnQoKTtwbnQoKTtmbnQoKTt2bnQoKTt5bnQoKTtpaWU9e2Jsb2NrcXVvdGU6U290LGJyZWFrOl9vdCxjb2RlOkxvdCxkZWxldGU6RG90LGVtcGhhc2lzOlBvdCxmb290bm90ZVJlZmVyZW5jZTpJb3QsaGVhZGluZzpSb3QsaHRtbDpPb3QsaW1hZ2VSZWZlcmVuY2U6SG90LGltYWdlOlZvdCxpbmxpbmVDb2RlOlVvdCxsaW5rUmVmZXJlbmNlOkdvdCxsaW5rOlpvdCxsaXN0SXRlbTpRb3QsbGlzdDplbnQscGFyYWdyYXBoOmFudCxyb290OmludCxzdHJvbmc6b250LHRhYmxlOmxudCx0YWJsZUNlbGw6dW50LHRhYmxlUm93OmRudCx0ZXh0OmJudCx0aGVtYXRpY0JyZWFrOnhudCx0b21sOmZXLHlhbWw6ZlcsZGVmaW5pdGlvbjpmVyxmb290bm90ZURlZmluaXRpb246Zld9O2koZlcsImlnbm9yZSIpfSk7ZnVuY3Rpb24gd250KHQsZSl7bGV0IGE9W3t0eXBlOiJ0ZXh0Iix2YWx1ZToiXHUyMUE5In1dO3JldHVybiBlPjEmJmEucHVzaCh7dHlwZToiZWxlbWVudCIsdGFnTmFtZToic3VwIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOlt7dHlwZToidGV4dCIsdmFsdWU6U3RyaW5nKGUpfV19KSxhfWZ1bmN0aW9uIE1udCh0LGUpe3JldHVybiJCYWNrIHRvIHJlZmVyZW5jZSAiKyh0KzEpKyhlPjE/Ii0iK2U6IiIpfWZ1bmN0aW9uIGtudCh0KXtsZXQgZT10eXBlb2YgdC5vcHRpb25zLmNsb2JiZXJQcmVmaXg9PSJzdHJpbmciP3Qub3B0aW9ucy5jbG9iYmVyUHJlZml4OiJ1c2VyLWNvbnRlbnQtIixhPXQub3B0aW9ucy5mb290bm90ZUJhY2tDb250ZW50fHx3bnQscj10Lm9wdGlvbnMuZm9vdG5vdGVCYWNrTGFiZWx8fE1udCxzPXQub3B0aW9ucy5mb290bm90ZUxhYmVsfHwiRm9vdG5vdGVzIixuPXQub3B0aW9ucy5mb290bm90ZUxhYmVsVGFnTmFtZXx8ImgyIixvPXQub3B0aW9ucy5mb290bm90ZUxhYmVsUHJvcGVydGllc3x8e2NsYXNzTmFtZTpbInNyLW9ubHkiXX0sbD1bXSxoPS0xO2Zvcig7KytoPHQuZm9vdG5vdGVPcmRlci5sZW5ndGg7KXtsZXQgdT10LmZvb3Rub3RlQnlJZC5nZXQodC5mb290bm90ZU9yZGVyW2hdKTtpZighdSljb250aW51ZTtsZXQgZj10LmFsbCh1KSxwPVN0cmluZyh1LmlkZW50aWZpZXIpLnRvVXBwZXJDYXNlKCksZz1naShwLnRvTG93ZXJDYXNlKCkpLHY9MCx4PVtdLGI9dC5mb290bm90ZUNvdW50cy5nZXQocCk7Zm9yKDtiIT09dm9pZCAwJiYrK3Y8PWI7KXt4Lmxlbmd0aD4wJiZ4LnB1c2goe3R5cGU6InRleHQiLHZhbHVlOiIgIn0pO2xldCBNPXR5cGVvZiBhPT0ic3RyaW5nIj9hOmEoaCx2KTt0eXBlb2YgTT09InN0cmluZyImJihNPXt0eXBlOiJ0ZXh0Iix2YWx1ZTpNfSkseC5wdXNoKHt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJhIixwcm9wZXJ0aWVzOntocmVmOiIjIitlKyJmbnJlZi0iK2crKHY+MT8iLSIrdjoiIiksZGF0YUZvb3Rub3RlQmFja3JlZjoiIixhcmlhTGFiZWw6dHlwZW9mIHI9PSJzdHJpbmciP3I6cihoLHYpLGNsYXNzTmFtZTpbImRhdGEtZm9vdG5vdGUtYmFja3JlZiJdfSxjaGlsZHJlbjpBcnJheS5pc0FycmF5KE0pP006W01dfSl9bGV0IG09ZltmLmxlbmd0aC0xXTtpZihtJiZtLnR5cGU9PT0iZWxlbWVudCImJm0udGFnTmFtZT09PSJwIil7bGV0IE09bS5jaGlsZHJlblttLmNoaWxkcmVuLmxlbmd0aC0xXTtNJiZNLnR5cGU9PT0idGV4dCI/TS52YWx1ZSs9IiAiOm0uY2hpbGRyZW4ucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6IiAifSksbS5jaGlsZHJlbi5wdXNoKC4uLngpfWVsc2UgZi5wdXNoKC4uLngpO2xldCB5PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJsaSIscHJvcGVydGllczp7aWQ6ZSsiZm4tIitnfSxjaGlsZHJlbjp0LndyYXAoZiwhMCl9O3QucGF0Y2godSx5KSxsLnB1c2goeSl9aWYobC5sZW5ndGghPT0wKXJldHVybnt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJzZWN0aW9uIixwcm9wZXJ0aWVzOntkYXRhRm9vdG5vdGVzOiEwLGNsYXNzTmFtZTpbImZvb3Rub3RlcyJdfSxjaGlsZHJlbjpbe3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6bixwcm9wZXJ0aWVzOnsuLi5VbihvKSxpZDoiZm9vdG5vdGUtbGFiZWwifSxjaGlsZHJlbjpbe3R5cGU6InRleHQiLHZhbHVlOnN9XX0se3R5cGU6InRleHQiLHZhbHVlOmAKYH0se3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6Im9sIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOnQud3JhcChsLCEwKX0se3R5cGU6InRleHQiLHZhbHVlOmAKYH1dfX12YXIgb2llPWMoKCk9PntuVygpO3gyKCk7aSh3bnQsImRlZmF1bHRGb290bm90ZUJhY2tDb250ZW50Iik7aShNbnQsImRlZmF1bHRGb290bm90ZUJhY2tMYWJlbCIpO2koa250LCJmb290ZXIiKX0pO2Z1bmN0aW9uIFNudCh0LGUpe2xldCBhPWV8fGdmYSxyPW5ldyBNYXAscz1uZXcgTWFwLG49bmV3IE1hcCxvPXsuLi5paWUsLi4uYS5oYW5kbGVyc30sbD17YWxsOnUsYXBwbHlEYXRhOnZmYSxkZWZpbml0aW9uQnlJZDpyLGZvb3Rub3RlQnlJZDpzLGZvb3Rub3RlQ291bnRzOm4sZm9vdG5vdGVPcmRlcjpbXSxoYW5kbGVyczpvLG9uZTpoLG9wdGlvbnM6YSxwYXRjaDpiZmEsd3JhcDp5ZmF9O3JldHVybiBvZih0LGZ1bmN0aW9uKGYpe2lmKGYudHlwZT09PSJkZWZpbml0aW9uInx8Zi50eXBlPT09ImZvb3Rub3RlRGVmaW5pdGlvbiIpe2xldCBwPWYudHlwZT09PSJkZWZpbml0aW9uIj9yOnMsZz1TdHJpbmcoZi5pZGVudGlmaWVyKS50b1VwcGVyQ2FzZSgpO3AuaGFzKGcpfHxwLnNldChnLGYpfX0pLGw7ZnVuY3Rpb24gaChmLHApe2xldCBnPWYudHlwZSx2PWwuaGFuZGxlcnNbZ107aWYobmllLmNhbGwobC5oYW5kbGVycyxnKSYmdilyZXR1cm4gdihsLGYscCk7aWYobC5vcHRpb25zLnBhc3NUaHJvdWdoJiZsLm9wdGlvbnMucGFzc1Rocm91Z2guaW5jbHVkZXMoZykpe2lmKCJjaGlsZHJlbiJpbiBmKXtsZXR7Y2hpbGRyZW46YiwuLi5tfT1mLHk9VW4obSk7cmV0dXJuIHkuY2hpbGRyZW49bC5hbGwoZikseX1yZXR1cm4gVW4oZil9cmV0dXJuKGwub3B0aW9ucy51bmtub3duSGFuZGxlcnx8eGZhKShsLGYscCl9aShoLCJvbmUiKTtmdW5jdGlvbiB1KGYpe2xldCBwPVtdO2lmKCJjaGlsZHJlbiJpbiBmKXtsZXQgZz1mLmNoaWxkcmVuLHY9LTE7Zm9yKDsrK3Y8Zy5sZW5ndGg7KXtsZXQgeD1sLm9uZShnW3ZdLGYpO2lmKHgpe2lmKHYmJmdbdi0xXS50eXBlPT09ImJyZWFrIiYmKCFBcnJheS5pc0FycmF5KHgpJiZ4LnR5cGU9PT0idGV4dCImJih4LnZhbHVlPXpudCh4LnZhbHVlKSksIUFycmF5LmlzQXJyYXkoeCkmJngudHlwZT09PSJlbGVtZW50Iikpe2xldCBiPXguY2hpbGRyZW5bMF07YiYmYi50eXBlPT09InRleHQiJiYoYi52YWx1ZT16bnQoYi52YWx1ZSkpfUFycmF5LmlzQXJyYXkoeCk/cC5wdXNoKC4uLngpOnAucHVzaCh4KX19fXJldHVybiBwfWkodSwiYWxsIil9ZnVuY3Rpb24gYmZhKHQsZSl7dC5wb3NpdGlvbiYmKGUucG9zaXRpb249d2YodCkpfWZ1bmN0aW9uIHZmYSh0LGUpe2xldCBhPWU7aWYodCYmdC5kYXRhKXtsZXQgcj10LmRhdGEuaE5hbWUscz10LmRhdGEuaENoaWxkcmVuLG49dC5kYXRhLmhQcm9wZXJ0aWVzO2lmKHR5cGVvZiByPT0ic3RyaW5nIilpZihhLnR5cGU9PT0iZWxlbWVudCIpYS50YWdOYW1lPXI7ZWxzZXtsZXQgbz0iY2hpbGRyZW4iaW4gYT9hLmNoaWxkcmVuOlthXTthPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOnIscHJvcGVydGllczp7fSxjaGlsZHJlbjpvfX1hLnR5cGU9PT0iZWxlbWVudCImJm4mJk9iamVjdC5hc3NpZ24oYS5wcm9wZXJ0aWVzLFVuKG4pKSwiY2hpbGRyZW4iaW4gYSYmYS5jaGlsZHJlbiYmcyE9PW51bGwmJnMhPT12b2lkIDAmJihhLmNoaWxkcmVuPXMpfXJldHVybiBhfWZ1bmN0aW9uIHhmYSh0LGUpe2xldCBhPWUuZGF0YXx8e30scj0idmFsdWUiaW4gZSYmIShuaWUuY2FsbChhLCJoUHJvcGVydGllcyIpfHxuaWUuY2FsbChhLCJoQ2hpbGRyZW4iKSk/e3R5cGU6InRleHQiLHZhbHVlOmUudmFsdWV9Ont0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJkaXYiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46dC5hbGwoZSl9O3JldHVybiB0LnBhdGNoKGUsciksdC5hcHBseURhdGEoZSxyKX1mdW5jdGlvbiB5ZmEodCxlKXtsZXQgYT1bXSxyPS0xO2ZvcihlJiZhLnB1c2goe3R5cGU6InRleHQiLHZhbHVlOmAKYH0pOysrcjx0Lmxlbmd0aDspciYmYS5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9KSxhLnB1c2godFtyXSk7cmV0dXJuIGUmJnQubGVuZ3RoPjAmJmEucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6YApgfSksYX1mdW5jdGlvbiB6bnQodCl7bGV0IGU9MCxhPXQuY2hhckNvZGVBdChlKTtmb3IoO2E9PT05fHxhPT09MzI7KWUrKyxhPXQuY2hhckNvZGVBdChlKTtyZXR1cm4gdC5zbGljZShlKX12YXIgbmllLGdmYSxDbnQ9YygoKT0+e25XKCk7QTFlKCk7ZFcoKTtzaWUoKTtuaWU9e30uaGFzT3duUHJvcGVydHksZ2ZhPXt9O2koU250LCJjcmVhdGVTdGF0ZSIpO2koYmZhLCJwYXRjaCIpO2kodmZhLCJhcHBseURhdGEiKTtpKHhmYSwiZGVmYXVsdFVua25vd25IYW5kbGVyIik7aSh5ZmEsIndyYXAiKTtpKHpudCwidHJpbU1hcmtkb3duU3BhY2VTdGFydCIpfSk7ZnVuY3Rpb24gbGllKHQsZSl7bGV0IGE9U250KHQsZSkscj1hLm9uZSh0LHZvaWQgMCkscz1rbnQoYSksbj1BcnJheS5pc0FycmF5KHIpP3t0eXBlOiJyb290IixjaGlsZHJlbjpyfTpyfHx7dHlwZToicm9vdCIsY2hpbGRyZW46W119O3JldHVybiBzJiYoImNoaWxkcmVuImluIG4sbi5jaGlsZHJlbi5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9LHMpKSxufXZhciBfbnQ9YygoKT0+e0ZuKCk7b2llKCk7Q250KCk7aShsaWUsInRvSGFzdCIpfSk7dmFyIFRudD1jKCgpPT57c2llKCk7X250KCk7b2llKCl9KTt2YXIgTG50LCRudD1jKCgpPT57TG50PVsiYXJlYSIsImJhc2UiLCJiYXNlZm9udCIsImJnc291bmQiLCJiciIsImNvbCIsImNvbW1hbmQiLCJlbWJlZCIsImZyYW1lIiwiaHIiLCJpbWFnZSIsImltZyIsImlucHV0Iiwia2V5Z2VuIiwibGluayIsIm1ldGEiLCJwYXJhbSIsInNvdXJjZSIsInRyYWNrIiwid2JyIl19KTt2YXIgbG8sY2llPWMoKCk9Pntsbz1jbGFzc3tzdGF0aWN7aSh0aGlzLCJTY2hlbWEiKX1jb25zdHJ1Y3RvcihlLGEscil7dGhpcy5ub3JtYWw9YSx0aGlzLnByb3BlcnR5PWUsciYmKHRoaXMuc3BhY2U9cil9fTtsby5wcm90b3R5cGUubm9ybWFsPXt9LGxvLnByb3RvdHlwZS5wcm9wZXJ0eT17fSxsby5wcm90b3R5cGUuc3BhY2U9dm9pZCAwfSk7ZnVuY3Rpb24gZGllKHQsZSl7bGV0IGE9e30scj17fTtmb3IobGV0IHMgb2YgdClPYmplY3QuYXNzaWduKGEscy5wcm9wZXJ0eSksT2JqZWN0LmFzc2lnbihyLHMubm9ybWFsKTtyZXR1cm4gbmV3IGxvKGEscixlKX12YXIgRG50PWMoKCk9PntjaWUoKTtpKGRpZSwibWVyZ2UiKX0pO2Z1bmN0aW9uIGc4KHQpe3JldHVybiB0LnRvTG93ZXJDYXNlKCl9dmFyIGhXPWMoKCk9PntpKGc4LCJub3JtYWxpemUiKX0pO3ZhciBVMSxwaWU9YygoKT0+e1UxPWNsYXNze3N0YXRpY3tpKHRoaXMsIkluZm8iKX1jb25zdHJ1Y3RvcihlLGEpe3RoaXMuYXR0cmlidXRlPWEsdGhpcy5wcm9wZXJ0eT1lfX07VTEucHJvdG90eXBlLmF0dHJpYnV0ZT0iIixVMS5wcm90b3R5cGUuYm9vbGVhbmlzaD0hMSxVMS5wcm90b3R5cGUuYm9vbGVhbj0hMSxVMS5wcm90b3R5cGUuY29tbWFPclNwYWNlU2VwYXJhdGVkPSExLFUxLnByb3RvdHlwZS5jb21tYVNlcGFyYXRlZD0hMSxVMS5wcm90b3R5cGUuZGVmaW5lZD0hMSxVMS5wcm90b3R5cGUubXVzdFVzZVByb3BlcnR5PSExLFUxLnByb3RvdHlwZS5udW1iZXI9ITEsVTEucHJvdG90eXBlLm92ZXJsb2FkZWRCb29sZWFuPSExLFUxLnByb3RvdHlwZS5wcm9wZXJ0eT0iIixVMS5wcm90b3R5cGUuc3BhY2VTZXBhcmF0ZWQ9ITEsVTEucHJvdG90eXBlLnNwYWNlPXZvaWQgMH0pO3ZhciBrZj17fTtldChrZix7Ym9vbGVhbjooKT0+VHQsYm9vbGVhbmlzaDooKT0+aTEsY29tbWFPclNwYWNlU2VwYXJhdGVkOigpPT5haSxjb21tYVNlcGFyYXRlZDooKT0+R24sbnVtYmVyOigpPT5qZSxvdmVybG9hZGVkQm9vbGVhbjooKT0+bVcsc3BhY2VTZXBhcmF0ZWQ6KCk9PndhfSk7ZnVuY3Rpb24gTDAoKXtyZXR1cm4gMioqKyt3ZmF9dmFyIHdmYSxUdCxpMSxtVyxqZSx3YSxHbixhaSx6Zj1jKCgpPT57d2ZhPTAsVHQ9TDAoKSxpMT1MMCgpLG1XPUwwKCksamU9TDAoKSx3YT1MMCgpLEduPUwwKCksYWk9TDAoKTtpKEwwLCJpbmNyZW1lbnQiKX0pO2Z1bmN0aW9uIEFudCh0LGUsYSl7YSYmKHRbZV09YSl9dmFyIHVpZSwkMCxmaWU9YygoKT0+e3BpZSgpO3pmKCk7dWllPU9iamVjdC5rZXlzKGtmKSwkMD1jbGFzcyBleHRlbmRzIFUxe3N0YXRpY3tpKHRoaXMsIkRlZmluZWRJbmZvIil9Y29uc3RydWN0b3IoZSxhLHIscyl7bGV0IG49LTE7aWYoc3VwZXIoZSxhKSxBbnQodGhpcywic3BhY2UiLHMpLHR5cGVvZiByPT0ibnVtYmVyIilmb3IoOysrbjx1aWUubGVuZ3RoOyl7bGV0IG89dWllW25dO0FudCh0aGlzLHVpZVtuXSwociZrZltvXSk9PT1rZltvXSl9fX07JDAucHJvdG90eXBlLmRlZmluZWQ9ITA7aShBbnQsIm1hcmsiKX0pO2Z1bmN0aW9uIE9pKHQpe2xldCBlPXt9LGE9e307Zm9yKGxldFtyLHNdb2YgT2JqZWN0LmVudHJpZXModC5wcm9wZXJ0aWVzKSl7bGV0IG49bmV3ICQwKHIsdC50cmFuc2Zvcm0odC5hdHRyaWJ1dGVzfHx7fSxyKSxzLHQuc3BhY2UpO3QubXVzdFVzZVByb3BlcnR5JiZ0Lm11c3RVc2VQcm9wZXJ0eS5pbmNsdWRlcyhyKSYmKG4ubXVzdFVzZVByb3BlcnR5PSEwKSxlW3JdPW4sYVtnOChyKV09cixhW2c4KG4uYXR0cmlidXRlKV09cn1yZXR1cm4gbmV3IGxvKGUsYSx0LnNwYWNlKX12YXIgRDA9YygoKT0+e2hXKCk7ZmllKCk7Y2llKCk7aShPaSwiY3JlYXRlIil9KTt2YXIgaGllLFBudD1jKCgpPT57RDAoKTt6ZigpO2hpZT1PaSh7cHJvcGVydGllczp7YXJpYUFjdGl2ZURlc2NlbmRhbnQ6bnVsbCxhcmlhQXRvbWljOmkxLGFyaWFBdXRvQ29tcGxldGU6bnVsbCxhcmlhQnVzeTppMSxhcmlhQ2hlY2tlZDppMSxhcmlhQ29sQ291bnQ6amUsYXJpYUNvbEluZGV4OmplLGFyaWFDb2xTcGFuOmplLGFyaWFDb250cm9sczp3YSxhcmlhQ3VycmVudDpudWxsLGFyaWFEZXNjcmliZWRCeTp3YSxhcmlhRGV0YWlsczpudWxsLGFyaWFEaXNhYmxlZDppMSxhcmlhRHJvcEVmZmVjdDp3YSxhcmlhRXJyb3JNZXNzYWdlOm51bGwsYXJpYUV4cGFuZGVkOmkxLGFyaWFGbG93VG86d2EsYXJpYUdyYWJiZWQ6aTEsYXJpYUhhc1BvcHVwOm51bGwsYXJpYUhpZGRlbjppMSxhcmlhSW52YWxpZDpudWxsLGFyaWFLZXlTaG9ydGN1dHM6bnVsbCxhcmlhTGFiZWw6bnVsbCxhcmlhTGFiZWxsZWRCeTp3YSxhcmlhTGV2ZWw6amUsYXJpYUxpdmU6bnVsbCxhcmlhTW9kYWw6aTEsYXJpYU11bHRpTGluZTppMSxhcmlhTXVsdGlTZWxlY3RhYmxlOmkxLGFyaWFPcmllbnRhdGlvbjpudWxsLGFyaWFPd25zOndhLGFyaWFQbGFjZWhvbGRlcjpudWxsLGFyaWFQb3NJblNldDpqZSxhcmlhUHJlc3NlZDppMSxhcmlhUmVhZE9ubHk6aTEsYXJpYVJlbGV2YW50Om51bGwsYXJpYVJlcXVpcmVkOmkxLGFyaWFSb2xlRGVzY3JpcHRpb246d2EsYXJpYVJvd0NvdW50OmplLGFyaWFSb3dJbmRleDpqZSxhcmlhUm93U3BhbjpqZSxhcmlhU2VsZWN0ZWQ6aTEsYXJpYVNldFNpemU6amUsYXJpYVNvcnQ6bnVsbCxhcmlhVmFsdWVNYXg6amUsYXJpYVZhbHVlTWluOmplLGFyaWFWYWx1ZU5vdzpqZSxhcmlhVmFsdWVUZXh0Om51bGwscm9sZTpudWxsfSx0cmFuc2Zvcm0odCxlKXtyZXR1cm4gZT09PSJyb2xlIj9lOiJhcmlhLSIrZS5zbGljZSg0KS50b0xvd2VyQ2FzZSgpfX0pfSk7ZnVuY3Rpb24gZ1codCxlKXtyZXR1cm4gZSBpbiB0P3RbZV06ZX12YXIgbWllPWMoKCk9PntpKGdXLCJjYXNlU2Vuc2l0aXZlVHJhbnNmb3JtIil9KTtmdW5jdGlvbiBiVyh0LGUpe3JldHVybiBnVyh0LGUudG9Mb3dlckNhc2UoKSl9dmFyIGdpZT1jKCgpPT57bWllKCk7aShiVywiY2FzZUluc2Vuc2l0aXZlVHJhbnNmb3JtIil9KTt2YXIgRW50LEludD1jKCgpPT57Z2llKCk7RDAoKTt6ZigpO0VudD1PaSh7YXR0cmlidXRlczp7YWNjZXB0Y2hhcnNldDoiYWNjZXB0LWNoYXJzZXQiLGNsYXNzbmFtZToiY2xhc3MiLGh0bWxmb3I6ImZvciIsaHR0cGVxdWl2OiJodHRwLWVxdWl2In0sbXVzdFVzZVByb3BlcnR5OlsiY2hlY2tlZCIsIm11bHRpcGxlIiwibXV0ZWQiLCJzZWxlY3RlZCJdLHByb3BlcnRpZXM6e2FiYnI6bnVsbCxhY2NlcHQ6R24sYWNjZXB0Q2hhcnNldDp3YSxhY2Nlc3NLZXk6d2EsYWN0aW9uOm51bGwsYWxsb3c6bnVsbCxhbGxvd0Z1bGxTY3JlZW46VHQsYWxsb3dQYXltZW50UmVxdWVzdDpUdCxhbGxvd1VzZXJNZWRpYTpUdCxhbHQ6bnVsbCxhczpudWxsLGFzeW5jOlR0LGF1dG9DYXBpdGFsaXplOm51bGwsYXV0b0NvbXBsZXRlOndhLGF1dG9Gb2N1czpUdCxhdXRvUGxheTpUdCxibG9ja2luZzp3YSxjYXB0dXJlOm51bGwsY2hhclNldDpudWxsLGNoZWNrZWQ6VHQsY2l0ZTpudWxsLGNsYXNzTmFtZTp3YSxjb2xzOmplLGNvbFNwYW46bnVsbCxjb250ZW50Om51bGwsY29udGVudEVkaXRhYmxlOmkxLGNvbnRyb2xzOlR0LGNvbnRyb2xzTGlzdDp3YSxjb29yZHM6amV8R24sY3Jvc3NPcmlnaW46bnVsbCxkYXRhOm51bGwsZGF0ZVRpbWU6bnVsbCxkZWNvZGluZzpudWxsLGRlZmF1bHQ6VHQsZGVmZXI6VHQsZGlyOm51bGwsZGlyTmFtZTpudWxsLGRpc2FibGVkOlR0LGRvd25sb2FkOm1XLGRyYWdnYWJsZTppMSxlbmNUeXBlOm51bGwsZW50ZXJLZXlIaW50Om51bGwsZmV0Y2hQcmlvcml0eTpudWxsLGZvcm06bnVsbCxmb3JtQWN0aW9uOm51bGwsZm9ybUVuY1R5cGU6bnVsbCxmb3JtTWV0aG9kOm51bGwsZm9ybU5vVmFsaWRhdGU6VHQsZm9ybVRhcmdldDpudWxsLGhlYWRlcnM6d2EsaGVpZ2h0OmplLGhpZGRlbjptVyxoaWdoOmplLGhyZWY6bnVsbCxocmVmTGFuZzpudWxsLGh0bWxGb3I6d2EsaHR0cEVxdWl2OndhLGlkOm51bGwsaW1hZ2VTaXplczpudWxsLGltYWdlU3JjU2V0Om51bGwsaW5lcnQ6VHQsaW5wdXRNb2RlOm51bGwsaW50ZWdyaXR5Om51bGwsaXM6bnVsbCxpc01hcDpUdCxpdGVtSWQ6bnVsbCxpdGVtUHJvcDp3YSxpdGVtUmVmOndhLGl0ZW1TY29wZTpUdCxpdGVtVHlwZTp3YSxraW5kOm51bGwsbGFiZWw6bnVsbCxsYW5nOm51bGwsbGFuZ3VhZ2U6bnVsbCxsaXN0Om51bGwsbG9hZGluZzpudWxsLGxvb3A6VHQsbG93OmplLG1hbmlmZXN0Om51bGwsbWF4Om51bGwsbWF4TGVuZ3RoOmplLG1lZGlhOm51bGwsbWV0aG9kOm51bGwsbWluOm51bGwsbWluTGVuZ3RoOmplLG11bHRpcGxlOlR0LG11dGVkOlR0LG5hbWU6bnVsbCxub25jZTpudWxsLG5vTW9kdWxlOlR0LG5vVmFsaWRhdGU6VHQsb25BYm9ydDpudWxsLG9uQWZ0ZXJQcmludDpudWxsLG9uQXV4Q2xpY2s6bnVsbCxvbkJlZm9yZU1hdGNoOm51bGwsb25CZWZvcmVQcmludDpudWxsLG9uQmVmb3JlVG9nZ2xlOm51bGwsb25CZWZvcmVVbmxvYWQ6bnVsbCxvbkJsdXI6bnVsbCxvbkNhbmNlbDpudWxsLG9uQ2FuUGxheTpudWxsLG9uQ2FuUGxheVRocm91Z2g6bnVsbCxvbkNoYW5nZTpudWxsLG9uQ2xpY2s6bnVsbCxvbkNsb3NlOm51bGwsb25Db250ZXh0TG9zdDpudWxsLG9uQ29udGV4dE1lbnU6bnVsbCxvbkNvbnRleHRSZXN0b3JlZDpudWxsLG9uQ29weTpudWxsLG9uQ3VlQ2hhbmdlOm51bGwsb25DdXQ6bnVsbCxvbkRibENsaWNrOm51bGwsb25EcmFnOm51bGwsb25EcmFnRW5kOm51bGwsb25EcmFnRW50ZXI6bnVsbCxvbkRyYWdFeGl0Om51bGwsb25EcmFnTGVhdmU6bnVsbCxvbkRyYWdPdmVyOm51bGwsb25EcmFnU3RhcnQ6bnVsbCxvbkRyb3A6bnVsbCxvbkR1cmF0aW9uQ2hhbmdlOm51bGwsb25FbXB0aWVkOm51bGwsb25FbmRlZDpudWxsLG9uRXJyb3I6bnVsbCxvbkZvY3VzOm51bGwsb25Gb3JtRGF0YTpudWxsLG9uSGFzaENoYW5nZTpudWxsLG9uSW5wdXQ6bnVsbCxvbkludmFsaWQ6bnVsbCxvbktleURvd246bnVsbCxvbktleVByZXNzOm51bGwsb25LZXlVcDpudWxsLG9uTGFuZ3VhZ2VDaGFuZ2U6bnVsbCxvbkxvYWQ6bnVsbCxvbkxvYWRlZERhdGE6bnVsbCxvbkxvYWRlZE1ldGFkYXRhOm51bGwsb25Mb2FkRW5kOm51bGwsb25Mb2FkU3RhcnQ6bnVsbCxvbk1lc3NhZ2U6bnVsbCxvbk1lc3NhZ2VFcnJvcjpudWxsLG9uTW91c2VEb3duOm51bGwsb25Nb3VzZUVudGVyOm51bGwsb25Nb3VzZUxlYXZlOm51bGwsb25Nb3VzZU1vdmU6bnVsbCxvbk1vdXNlT3V0Om51bGwsb25Nb3VzZU92ZXI6bnVsbCxvbk1vdXNlVXA6bnVsbCxvbk9mZmxpbmU6bnVsbCxvbk9ubGluZTpudWxsLG9uUGFnZUhpZGU6bnVsbCxvblBhZ2VTaG93Om51bGwsb25QYXN0ZTpudWxsLG9uUGF1c2U6bnVsbCxvblBsYXk6bnVsbCxvblBsYXlpbmc6bnVsbCxvblBvcFN0YXRlOm51bGwsb25Qcm9ncmVzczpudWxsLG9uUmF0ZUNoYW5nZTpudWxsLG9uUmVqZWN0aW9uSGFuZGxlZDpudWxsLG9uUmVzZXQ6bnVsbCxvblJlc2l6ZTpudWxsLG9uU2Nyb2xsOm51bGwsb25TY3JvbGxFbmQ6bnVsbCxvblNlY3VyaXR5UG9saWN5VmlvbGF0aW9uOm51bGwsb25TZWVrZWQ6bnVsbCxvblNlZWtpbmc6bnVsbCxvblNlbGVjdDpudWxsLG9uU2xvdENoYW5nZTpudWxsLG9uU3RhbGxlZDpudWxsLG9uU3RvcmFnZTpudWxsLG9uU3VibWl0Om51bGwsb25TdXNwZW5kOm51bGwsb25UaW1lVXBkYXRlOm51bGwsb25Ub2dnbGU6bnVsbCxvblVuaGFuZGxlZFJlamVjdGlvbjpudWxsLG9uVW5sb2FkOm51bGwsb25Wb2x1bWVDaGFuZ2U6bnVsbCxvbldhaXRpbmc6bnVsbCxvbldoZWVsOm51bGwsb3BlbjpUdCxvcHRpbXVtOmplLHBhdHRlcm46bnVsbCxwaW5nOndhLHBsYWNlaG9sZGVyOm51bGwscGxheXNJbmxpbmU6VHQscG9wb3ZlcjpudWxsLHBvcG92ZXJUYXJnZXQ6bnVsbCxwb3BvdmVyVGFyZ2V0QWN0aW9uOm51bGwscG9zdGVyOm51bGwscHJlbG9hZDpudWxsLHJlYWRPbmx5OlR0LHJlZmVycmVyUG9saWN5Om51bGwscmVsOndhLHJlcXVpcmVkOlR0LHJldmVyc2VkOlR0LHJvd3M6amUscm93U3BhbjpqZSxzYW5kYm94OndhLHNjb3BlOm51bGwsc2NvcGVkOlR0LHNlYW1sZXNzOlR0LHNlbGVjdGVkOlR0LHNoYWRvd1Jvb3RDbG9uYWJsZTpUdCxzaGFkb3dSb290RGVsZWdhdGVzRm9jdXM6VHQsc2hhZG93Um9vdE1vZGU6bnVsbCxzaGFwZTpudWxsLHNpemU6amUsc2l6ZXM6bnVsbCxzbG90Om51bGwsc3BhbjpqZSxzcGVsbENoZWNrOmkxLHNyYzpudWxsLHNyY0RvYzpudWxsLHNyY0xhbmc6bnVsbCxzcmNTZXQ6bnVsbCxzdGFydDpqZSxzdGVwOm51bGwsc3R5bGU6bnVsbCx0YWJJbmRleDpqZSx0YXJnZXQ6bnVsbCx0aXRsZTpudWxsLHRyYW5zbGF0ZTpudWxsLHR5cGU6bnVsbCx0eXBlTXVzdE1hdGNoOlR0LHVzZU1hcDpudWxsLHZhbHVlOmkxLHdpZHRoOmplLHdyYXA6bnVsbCx3cml0aW5nU3VnZ2VzdGlvbnM6bnVsbCxhbGlnbjpudWxsLGFMaW5rOm51bGwsYXJjaGl2ZTp3YSxheGlzOm51bGwsYmFja2dyb3VuZDpudWxsLGJnQ29sb3I6bnVsbCxib3JkZXI6amUsYm9yZGVyQ29sb3I6bnVsbCxib3R0b21NYXJnaW46amUsY2VsbFBhZGRpbmc6bnVsbCxjZWxsU3BhY2luZzpudWxsLGNoYXI6bnVsbCxjaGFyT2ZmOm51bGwsY2xhc3NJZDpudWxsLGNsZWFyOm51bGwsY29kZTpudWxsLGNvZGVCYXNlOm51bGwsY29kZVR5cGU6bnVsbCxjb2xvcjpudWxsLGNvbXBhY3Q6VHQsZGVjbGFyZTpUdCxldmVudDpudWxsLGZhY2U6bnVsbCxmcmFtZTpudWxsLGZyYW1lQm9yZGVyOm51bGwsaFNwYWNlOmplLGxlZnRNYXJnaW46amUsbGluazpudWxsLGxvbmdEZXNjOm51bGwsbG93U3JjOm51bGwsbWFyZ2luSGVpZ2h0OmplLG1hcmdpbldpZHRoOmplLG5vUmVzaXplOlR0LG5vSHJlZjpUdCxub1NoYWRlOlR0LG5vV3JhcDpUdCxvYmplY3Q6bnVsbCxwcm9maWxlOm51bGwscHJvbXB0Om51bGwscmV2Om51bGwscmlnaHRNYXJnaW46amUscnVsZXM6bnVsbCxzY2hlbWU6bnVsbCxzY3JvbGxpbmc6aTEsc3RhbmRieTpudWxsLHN1bW1hcnk6bnVsbCx0ZXh0Om51bGwsdG9wTWFyZ2luOmplLHZhbHVlVHlwZTpudWxsLHZlcnNpb246bnVsbCx2QWxpZ246bnVsbCx2TGluazpudWxsLHZTcGFjZTpqZSxhbGxvd1RyYW5zcGFyZW5jeTpudWxsLGF1dG9Db3JyZWN0Om51bGwsYXV0b1NhdmU6bnVsbCxkaXNhYmxlUGljdHVyZUluUGljdHVyZTpUdCxkaXNhYmxlUmVtb3RlUGxheWJhY2s6VHQscHJlZml4Om51bGwscHJvcGVydHk6bnVsbCxyZXN1bHRzOmplLHNlY3VyaXR5Om51bGwsdW5zZWxlY3RhYmxlOm51bGx9LHNwYWNlOiJodG1sIix0cmFuc2Zvcm06Yld9KX0pO3ZhciBObnQsUm50PWMoKCk9PnttaWUoKTtEMCgpO3pmKCk7Tm50PU9pKHthdHRyaWJ1dGVzOnthY2NlbnRIZWlnaHQ6ImFjY2VudC1oZWlnaHQiLGFsaWdubWVudEJhc2VsaW5lOiJhbGlnbm1lbnQtYmFzZWxpbmUiLGFyYWJpY0Zvcm06ImFyYWJpYy1mb3JtIixiYXNlbGluZVNoaWZ0OiJiYXNlbGluZS1zaGlmdCIsY2FwSGVpZ2h0OiJjYXAtaGVpZ2h0IixjbGFzc05hbWU6ImNsYXNzIixjbGlwUGF0aDoiY2xpcC1wYXRoIixjbGlwUnVsZToiY2xpcC1ydWxlIixjb2xvckludGVycG9sYXRpb246ImNvbG9yLWludGVycG9sYXRpb24iLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6ImNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycyIsY29sb3JQcm9maWxlOiJjb2xvci1wcm9maWxlIixjb2xvclJlbmRlcmluZzoiY29sb3ItcmVuZGVyaW5nIixjcm9zc09yaWdpbjoiY3Jvc3NvcmlnaW4iLGRhdGFUeXBlOiJkYXRhdHlwZSIsZG9taW5hbnRCYXNlbGluZToiZG9taW5hbnQtYmFzZWxpbmUiLGVuYWJsZUJhY2tncm91bmQ6ImVuYWJsZS1iYWNrZ3JvdW5kIixmaWxsT3BhY2l0eToiZmlsbC1vcGFjaXR5IixmaWxsUnVsZToiZmlsbC1ydWxlIixmbG9vZENvbG9yOiJmbG9vZC1jb2xvciIsZmxvb2RPcGFjaXR5OiJmbG9vZC1vcGFjaXR5Iixmb250RmFtaWx5OiJmb250LWZhbWlseSIsZm9udFNpemU6ImZvbnQtc2l6ZSIsZm9udFNpemVBZGp1c3Q6ImZvbnQtc2l6ZS1hZGp1c3QiLGZvbnRTdHJldGNoOiJmb250LXN0cmV0Y2giLGZvbnRTdHlsZToiZm9udC1zdHlsZSIsZm9udFZhcmlhbnQ6ImZvbnQtdmFyaWFudCIsZm9udFdlaWdodDoiZm9udC13ZWlnaHQiLGdseXBoTmFtZToiZ2x5cGgtbmFtZSIsZ2x5cGhPcmllbnRhdGlvbkhvcml6b250YWw6ImdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwiLGdseXBoT3JpZW50YXRpb25WZXJ0aWNhbDoiZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwiLGhyZWZMYW5nOiJocmVmbGFuZyIsaG9yaXpBZHZYOiJob3Jpei1hZHYteCIsaG9yaXpPcmlnaW5YOiJob3Jpei1vcmlnaW4teCIsaG9yaXpPcmlnaW5ZOiJob3Jpei1vcmlnaW4teSIsaW1hZ2VSZW5kZXJpbmc6ImltYWdlLXJlbmRlcmluZyIsbGV0dGVyU3BhY2luZzoibGV0dGVyLXNwYWNpbmciLGxpZ2h0aW5nQ29sb3I6ImxpZ2h0aW5nLWNvbG9yIixtYXJrZXJFbmQ6Im1hcmtlci1lbmQiLG1hcmtlck1pZDoibWFya2VyLW1pZCIsbWFya2VyU3RhcnQ6Im1hcmtlci1zdGFydCIsbmF2RG93bjoibmF2LWRvd24iLG5hdkRvd25MZWZ0OiJuYXYtZG93bi1sZWZ0IixuYXZEb3duUmlnaHQ6Im5hdi1kb3duLXJpZ2h0IixuYXZMZWZ0OiJuYXYtbGVmdCIsbmF2TmV4dDoibmF2LW5leHQiLG5hdlByZXY6Im5hdi1wcmV2IixuYXZSaWdodDoibmF2LXJpZ2h0IixuYXZVcDoibmF2LXVwIixuYXZVcExlZnQ6Im5hdi11cC1sZWZ0IixuYXZVcFJpZ2h0OiJuYXYtdXAtcmlnaHQiLG9uQWJvcnQ6Im9uYWJvcnQiLG9uQWN0aXZhdGU6Im9uYWN0aXZhdGUiLG9uQWZ0ZXJQcmludDoib25hZnRlcnByaW50IixvbkJlZm9yZVByaW50OiJvbmJlZm9yZXByaW50IixvbkJlZ2luOiJvbmJlZ2luIixvbkNhbmNlbDoib25jYW5jZWwiLG9uQ2FuUGxheToib25jYW5wbGF5IixvbkNhblBsYXlUaHJvdWdoOiJvbmNhbnBsYXl0aHJvdWdoIixvbkNoYW5nZToib25jaGFuZ2UiLG9uQ2xpY2s6Im9uY2xpY2siLG9uQ2xvc2U6Im9uY2xvc2UiLG9uQ29weToib25jb3B5IixvbkN1ZUNoYW5nZToib25jdWVjaGFuZ2UiLG9uQ3V0OiJvbmN1dCIsb25EYmxDbGljazoib25kYmxjbGljayIsb25EcmFnOiJvbmRyYWciLG9uRHJhZ0VuZDoib25kcmFnZW5kIixvbkRyYWdFbnRlcjoib25kcmFnZW50ZXIiLG9uRHJhZ0V4aXQ6Im9uZHJhZ2V4aXQiLG9uRHJhZ0xlYXZlOiJvbmRyYWdsZWF2ZSIsb25EcmFnT3Zlcjoib25kcmFnb3ZlciIsb25EcmFnU3RhcnQ6Im9uZHJhZ3N0YXJ0IixvbkRyb3A6Im9uZHJvcCIsb25EdXJhdGlvbkNoYW5nZToib25kdXJhdGlvbmNoYW5nZSIsb25FbXB0aWVkOiJvbmVtcHRpZWQiLG9uRW5kOiJvbmVuZCIsb25FbmRlZDoib25lbmRlZCIsb25FcnJvcjoib25lcnJvciIsb25Gb2N1czoib25mb2N1cyIsb25Gb2N1c0luOiJvbmZvY3VzaW4iLG9uRm9jdXNPdXQ6Im9uZm9jdXNvdXQiLG9uSGFzaENoYW5nZToib25oYXNoY2hhbmdlIixvbklucHV0OiJvbmlucHV0IixvbkludmFsaWQ6Im9uaW52YWxpZCIsb25LZXlEb3duOiJvbmtleWRvd24iLG9uS2V5UHJlc3M6Im9ua2V5cHJlc3MiLG9uS2V5VXA6Im9ua2V5dXAiLG9uTG9hZDoib25sb2FkIixvbkxvYWRlZERhdGE6Im9ubG9hZGVkZGF0YSIsb25Mb2FkZWRNZXRhZGF0YToib25sb2FkZWRtZXRhZGF0YSIsb25Mb2FkU3RhcnQ6Im9ubG9hZHN0YXJ0Iixvbk1lc3NhZ2U6Im9ubWVzc2FnZSIsb25Nb3VzZURvd246Im9ubW91c2Vkb3duIixvbk1vdXNlRW50ZXI6Im9ubW91c2VlbnRlciIsb25Nb3VzZUxlYXZlOiJvbm1vdXNlbGVhdmUiLG9uTW91c2VNb3ZlOiJvbm1vdXNlbW92ZSIsb25Nb3VzZU91dDoib25tb3VzZW91dCIsb25Nb3VzZU92ZXI6Im9ubW91c2VvdmVyIixvbk1vdXNlVXA6Im9ubW91c2V1cCIsb25Nb3VzZVdoZWVsOiJvbm1vdXNld2hlZWwiLG9uT2ZmbGluZToib25vZmZsaW5lIixvbk9ubGluZToib25vbmxpbmUiLG9uUGFnZUhpZGU6Im9ucGFnZWhpZGUiLG9uUGFnZVNob3c6Im9ucGFnZXNob3ciLG9uUGFzdGU6Im9ucGFzdGUiLG9uUGF1c2U6Im9ucGF1c2UiLG9uUGxheToib25wbGF5IixvblBsYXlpbmc6Im9ucGxheWluZyIsb25Qb3BTdGF0ZToib25wb3BzdGF0ZSIsb25Qcm9ncmVzczoib25wcm9ncmVzcyIsb25SYXRlQ2hhbmdlOiJvbnJhdGVjaGFuZ2UiLG9uUmVwZWF0OiJvbnJlcGVhdCIsb25SZXNldDoib25yZXNldCIsb25SZXNpemU6Im9ucmVzaXplIixvblNjcm9sbDoib25zY3JvbGwiLG9uU2Vla2VkOiJvbnNlZWtlZCIsb25TZWVraW5nOiJvbnNlZWtpbmciLG9uU2VsZWN0OiJvbnNlbGVjdCIsb25TaG93OiJvbnNob3ciLG9uU3RhbGxlZDoib25zdGFsbGVkIixvblN0b3JhZ2U6Im9uc3RvcmFnZSIsb25TdWJtaXQ6Im9uc3VibWl0IixvblN1c3BlbmQ6Im9uc3VzcGVuZCIsb25UaW1lVXBkYXRlOiJvbnRpbWV1cGRhdGUiLG9uVG9nZ2xlOiJvbnRvZ2dsZSIsb25VbmxvYWQ6Im9udW5sb2FkIixvblZvbHVtZUNoYW5nZToib252b2x1bWVjaGFuZ2UiLG9uV2FpdGluZzoib253YWl0aW5nIixvblpvb206Im9uem9vbSIsb3ZlcmxpbmVQb3NpdGlvbjoib3ZlcmxpbmUtcG9zaXRpb24iLG92ZXJsaW5lVGhpY2tuZXNzOiJvdmVybGluZS10aGlja25lc3MiLHBhaW50T3JkZXI6InBhaW50LW9yZGVyIixwYW5vc2UxOiJwYW5vc2UtMSIscG9pbnRlckV2ZW50czoicG9pbnRlci1ldmVudHMiLHJlZmVycmVyUG9saWN5OiJyZWZlcnJlcnBvbGljeSIscmVuZGVyaW5nSW50ZW50OiJyZW5kZXJpbmctaW50ZW50IixzaGFwZVJlbmRlcmluZzoic2hhcGUtcmVuZGVyaW5nIixzdG9wQ29sb3I6InN0b3AtY29sb3IiLHN0b3BPcGFjaXR5OiJzdG9wLW9wYWNpdHkiLHN0cmlrZXRocm91Z2hQb3NpdGlvbjoic3RyaWtldGhyb3VnaC1wb3NpdGlvbiIsc3RyaWtldGhyb3VnaFRoaWNrbmVzczoic3RyaWtldGhyb3VnaC10aGlja25lc3MiLHN0cm9rZURhc2hBcnJheToic3Ryb2tlLWRhc2hhcnJheSIsc3Ryb2tlRGFzaE9mZnNldDoic3Ryb2tlLWRhc2hvZmZzZXQiLHN0cm9rZUxpbmVDYXA6InN0cm9rZS1saW5lY2FwIixzdHJva2VMaW5lSm9pbjoic3Ryb2tlLWxpbmVqb2luIixzdHJva2VNaXRlckxpbWl0OiJzdHJva2UtbWl0ZXJsaW1pdCIsc3Ryb2tlT3BhY2l0eToic3Ryb2tlLW9wYWNpdHkiLHN0cm9rZVdpZHRoOiJzdHJva2Utd2lkdGgiLHRhYkluZGV4OiJ0YWJpbmRleCIsdGV4dEFuY2hvcjoidGV4dC1hbmNob3IiLHRleHREZWNvcmF0aW9uOiJ0ZXh0LWRlY29yYXRpb24iLHRleHRSZW5kZXJpbmc6InRleHQtcmVuZGVyaW5nIix0cmFuc2Zvcm1PcmlnaW46InRyYW5zZm9ybS1vcmlnaW4iLHR5cGVPZjoidHlwZW9mIix1bmRlcmxpbmVQb3NpdGlvbjoidW5kZXJsaW5lLXBvc2l0aW9uIix1bmRlcmxpbmVUaGlja25lc3M6InVuZGVybGluZS10aGlja25lc3MiLHVuaWNvZGVCaWRpOiJ1bmljb2RlLWJpZGkiLHVuaWNvZGVSYW5nZToidW5pY29kZS1yYW5nZSIsdW5pdHNQZXJFbToidW5pdHMtcGVyLWVtIix2QWxwaGFiZXRpYzoidi1hbHBoYWJldGljIix2SGFuZ2luZzoidi1oYW5naW5nIix2SWRlb2dyYXBoaWM6InYtaWRlb2dyYXBoaWMiLHZNYXRoZW1hdGljYWw6InYtbWF0aGVtYXRpY2FsIix2ZWN0b3JFZmZlY3Q6InZlY3Rvci1lZmZlY3QiLHZlcnRBZHZZOiJ2ZXJ0LWFkdi15Iix2ZXJ0T3JpZ2luWDoidmVydC1vcmlnaW4teCIsdmVydE9yaWdpblk6InZlcnQtb3JpZ2luLXkiLHdvcmRTcGFjaW5nOiJ3b3JkLXNwYWNpbmciLHdyaXRpbmdNb2RlOiJ3cml0aW5nLW1vZGUiLHhIZWlnaHQ6IngtaGVpZ2h0IixwbGF5YmFja09yZGVyOiJwbGF5YmFja29yZGVyIix0aW1lbGluZUJlZ2luOiJ0aW1lbGluZWJlZ2luIn0scHJvcGVydGllczp7YWJvdXQ6YWksYWNjZW50SGVpZ2h0OmplLGFjY3VtdWxhdGU6bnVsbCxhZGRpdGl2ZTpudWxsLGFsaWdubWVudEJhc2VsaW5lOm51bGwsYWxwaGFiZXRpYzpqZSxhbXBsaXR1ZGU6amUsYXJhYmljRm9ybTpudWxsLGFzY2VudDpqZSxhdHRyaWJ1dGVOYW1lOm51bGwsYXR0cmlidXRlVHlwZTpudWxsLGF6aW11dGg6amUsYmFuZHdpZHRoOm51bGwsYmFzZWxpbmVTaGlmdDpudWxsLGJhc2VGcmVxdWVuY3k6bnVsbCxiYXNlUHJvZmlsZTpudWxsLGJib3g6bnVsbCxiZWdpbjpudWxsLGJpYXM6amUsYnk6bnVsbCxjYWxjTW9kZTpudWxsLGNhcEhlaWdodDpqZSxjbGFzc05hbWU6d2EsY2xpcDpudWxsLGNsaXBQYXRoOm51bGwsY2xpcFBhdGhVbml0czpudWxsLGNsaXBSdWxlOm51bGwsY29sb3I6bnVsbCxjb2xvckludGVycG9sYXRpb246bnVsbCxjb2xvckludGVycG9sYXRpb25GaWx0ZXJzOm51bGwsY29sb3JQcm9maWxlOm51bGwsY29sb3JSZW5kZXJpbmc6bnVsbCxjb250ZW50Om51bGwsY29udGVudFNjcmlwdFR5cGU6bnVsbCxjb250ZW50U3R5bGVUeXBlOm51bGwsY3Jvc3NPcmlnaW46bnVsbCxjdXJzb3I6bnVsbCxjeDpudWxsLGN5Om51bGwsZDpudWxsLGRhdGFUeXBlOm51bGwsZGVmYXVsdEFjdGlvbjpudWxsLGRlc2NlbnQ6amUsZGlmZnVzZUNvbnN0YW50OmplLGRpcmVjdGlvbjpudWxsLGRpc3BsYXk6bnVsbCxkdXI6bnVsbCxkaXZpc29yOmplLGRvbWluYW50QmFzZWxpbmU6bnVsbCxkb3dubG9hZDpUdCxkeDpudWxsLGR5Om51bGwsZWRnZU1vZGU6bnVsbCxlZGl0YWJsZTpudWxsLGVsZXZhdGlvbjpqZSxlbmFibGVCYWNrZ3JvdW5kOm51bGwsZW5kOm51bGwsZXZlbnQ6bnVsbCxleHBvbmVudDpqZSxleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOm51bGwsZmlsbDpudWxsLGZpbGxPcGFjaXR5OmplLGZpbGxSdWxlOm51bGwsZmlsdGVyOm51bGwsZmlsdGVyUmVzOm51bGwsZmlsdGVyVW5pdHM6bnVsbCxmbG9vZENvbG9yOm51bGwsZmxvb2RPcGFjaXR5Om51bGwsZm9jdXNhYmxlOm51bGwsZm9jdXNIaWdobGlnaHQ6bnVsbCxmb250RmFtaWx5Om51bGwsZm9udFNpemU6bnVsbCxmb250U2l6ZUFkanVzdDpudWxsLGZvbnRTdHJldGNoOm51bGwsZm9udFN0eWxlOm51bGwsZm9udFZhcmlhbnQ6bnVsbCxmb250V2VpZ2h0Om51bGwsZm9ybWF0Om51bGwsZnI6bnVsbCxmcm9tOm51bGwsZng6bnVsbCxmeTpudWxsLGcxOkduLGcyOkduLGdseXBoTmFtZTpHbixnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbDpudWxsLGdseXBoT3JpZW50YXRpb25WZXJ0aWNhbDpudWxsLGdseXBoUmVmOm51bGwsZ3JhZGllbnRUcmFuc2Zvcm06bnVsbCxncmFkaWVudFVuaXRzOm51bGwsaGFuZGxlcjpudWxsLGhhbmdpbmc6amUsaGF0Y2hDb250ZW50VW5pdHM6bnVsbCxoYXRjaFVuaXRzOm51bGwsaGVpZ2h0Om51bGwsaHJlZjpudWxsLGhyZWZMYW5nOm51bGwsaG9yaXpBZHZYOmplLGhvcml6T3JpZ2luWDpqZSxob3Jpek9yaWdpblk6amUsaWQ6bnVsbCxpZGVvZ3JhcGhpYzpqZSxpbWFnZVJlbmRlcmluZzpudWxsLGluaXRpYWxWaXNpYmlsaXR5Om51bGwsaW46bnVsbCxpbjI6bnVsbCxpbnRlcmNlcHQ6amUsazpqZSxrMTpqZSxrMjpqZSxrMzpqZSxrNDpqZSxrZXJuZWxNYXRyaXg6YWksa2VybmVsVW5pdExlbmd0aDpudWxsLGtleVBvaW50czpudWxsLGtleVNwbGluZXM6bnVsbCxrZXlUaW1lczpudWxsLGtlcm5pbmc6bnVsbCxsYW5nOm51bGwsbGVuZ3RoQWRqdXN0Om51bGwsbGV0dGVyU3BhY2luZzpudWxsLGxpZ2h0aW5nQ29sb3I6bnVsbCxsaW1pdGluZ0NvbmVBbmdsZTpqZSxsb2NhbDpudWxsLG1hcmtlckVuZDpudWxsLG1hcmtlck1pZDpudWxsLG1hcmtlclN0YXJ0Om51bGwsbWFya2VySGVpZ2h0Om51bGwsbWFya2VyVW5pdHM6bnVsbCxtYXJrZXJXaWR0aDpudWxsLG1hc2s6bnVsbCxtYXNrQ29udGVudFVuaXRzOm51bGwsbWFza1VuaXRzOm51bGwsbWF0aGVtYXRpY2FsOm51bGwsbWF4Om51bGwsbWVkaWE6bnVsbCxtZWRpYUNoYXJhY3RlckVuY29kaW5nOm51bGwsbWVkaWFDb250ZW50RW5jb2RpbmdzOm51bGwsbWVkaWFTaXplOmplLG1lZGlhVGltZTpudWxsLG1ldGhvZDpudWxsLG1pbjpudWxsLG1vZGU6bnVsbCxuYW1lOm51bGwsbmF2RG93bjpudWxsLG5hdkRvd25MZWZ0Om51bGwsbmF2RG93blJpZ2h0Om51bGwsbmF2TGVmdDpudWxsLG5hdk5leHQ6bnVsbCxuYXZQcmV2Om51bGwsbmF2UmlnaHQ6bnVsbCxuYXZVcDpudWxsLG5hdlVwTGVmdDpudWxsLG5hdlVwUmlnaHQ6bnVsbCxudW1PY3RhdmVzOm51bGwsb2JzZXJ2ZXI6bnVsbCxvZmZzZXQ6bnVsbCxvbkFib3J0Om51bGwsb25BY3RpdmF0ZTpudWxsLG9uQWZ0ZXJQcmludDpudWxsLG9uQmVmb3JlUHJpbnQ6bnVsbCxvbkJlZ2luOm51bGwsb25DYW5jZWw6bnVsbCxvbkNhblBsYXk6bnVsbCxvbkNhblBsYXlUaHJvdWdoOm51bGwsb25DaGFuZ2U6bnVsbCxvbkNsaWNrOm51bGwsb25DbG9zZTpudWxsLG9uQ29weTpudWxsLG9uQ3VlQ2hhbmdlOm51bGwsb25DdXQ6bnVsbCxvbkRibENsaWNrOm51bGwsb25EcmFnOm51bGwsb25EcmFnRW5kOm51bGwsb25EcmFnRW50ZXI6bnVsbCxvbkRyYWdFeGl0Om51bGwsb25EcmFnTGVhdmU6bnVsbCxvbkRyYWdPdmVyOm51bGwsb25EcmFnU3RhcnQ6bnVsbCxvbkRyb3A6bnVsbCxvbkR1cmF0aW9uQ2hhbmdlOm51bGwsb25FbXB0aWVkOm51bGwsb25FbmQ6bnVsbCxvbkVuZGVkOm51bGwsb25FcnJvcjpudWxsLG9uRm9jdXM6bnVsbCxvbkZvY3VzSW46bnVsbCxvbkZvY3VzT3V0Om51bGwsb25IYXNoQ2hhbmdlOm51bGwsb25JbnB1dDpudWxsLG9uSW52YWxpZDpudWxsLG9uS2V5RG93bjpudWxsLG9uS2V5UHJlc3M6bnVsbCxvbktleVVwOm51bGwsb25Mb2FkOm51bGwsb25Mb2FkZWREYXRhOm51bGwsb25Mb2FkZWRNZXRhZGF0YTpudWxsLG9uTG9hZFN0YXJ0Om51bGwsb25NZXNzYWdlOm51bGwsb25Nb3VzZURvd246bnVsbCxvbk1vdXNlRW50ZXI6bnVsbCxvbk1vdXNlTGVhdmU6bnVsbCxvbk1vdXNlTW92ZTpudWxsLG9uTW91c2VPdXQ6bnVsbCxvbk1vdXNlT3ZlcjpudWxsLG9uTW91c2VVcDpudWxsLG9uTW91c2VXaGVlbDpudWxsLG9uT2ZmbGluZTpudWxsLG9uT25saW5lOm51bGwsb25QYWdlSGlkZTpudWxsLG9uUGFnZVNob3c6bnVsbCxvblBhc3RlOm51bGwsb25QYXVzZTpudWxsLG9uUGxheTpudWxsLG9uUGxheWluZzpudWxsLG9uUG9wU3RhdGU6bnVsbCxvblByb2dyZXNzOm51bGwsb25SYXRlQ2hhbmdlOm51bGwsb25SZXBlYXQ6bnVsbCxvblJlc2V0Om51bGwsb25SZXNpemU6bnVsbCxvblNjcm9sbDpudWxsLG9uU2Vla2VkOm51bGwsb25TZWVraW5nOm51bGwsb25TZWxlY3Q6bnVsbCxvblNob3c6bnVsbCxvblN0YWxsZWQ6bnVsbCxvblN0b3JhZ2U6bnVsbCxvblN1Ym1pdDpudWxsLG9uU3VzcGVuZDpudWxsLG9uVGltZVVwZGF0ZTpudWxsLG9uVG9nZ2xlOm51bGwsb25VbmxvYWQ6bnVsbCxvblZvbHVtZUNoYW5nZTpudWxsLG9uV2FpdGluZzpudWxsLG9uWm9vbTpudWxsLG9wYWNpdHk6bnVsbCxvcGVyYXRvcjpudWxsLG9yZGVyOm51bGwsb3JpZW50Om51bGwsb3JpZW50YXRpb246bnVsbCxvcmlnaW46bnVsbCxvdmVyZmxvdzpudWxsLG92ZXJsYXk6bnVsbCxvdmVybGluZVBvc2l0aW9uOmplLG92ZXJsaW5lVGhpY2tuZXNzOmplLHBhaW50T3JkZXI6bnVsbCxwYW5vc2UxOm51bGwscGF0aDpudWxsLHBhdGhMZW5ndGg6amUscGF0dGVybkNvbnRlbnRVbml0czpudWxsLHBhdHRlcm5UcmFuc2Zvcm06bnVsbCxwYXR0ZXJuVW5pdHM6bnVsbCxwaGFzZTpudWxsLHBpbmc6d2EscGl0Y2g6bnVsbCxwbGF5YmFja09yZGVyOm51bGwscG9pbnRlckV2ZW50czpudWxsLHBvaW50czpudWxsLHBvaW50c0F0WDpqZSxwb2ludHNBdFk6amUscG9pbnRzQXRaOmplLHByZXNlcnZlQWxwaGE6bnVsbCxwcmVzZXJ2ZUFzcGVjdFJhdGlvOm51bGwscHJpbWl0aXZlVW5pdHM6bnVsbCxwcm9wYWdhdGU6bnVsbCxwcm9wZXJ0eTphaSxyOm51bGwscmFkaXVzOm51bGwscmVmZXJyZXJQb2xpY3k6bnVsbCxyZWZYOm51bGwscmVmWTpudWxsLHJlbDphaSxyZXY6YWkscmVuZGVyaW5nSW50ZW50Om51bGwscmVwZWF0Q291bnQ6bnVsbCxyZXBlYXREdXI6bnVsbCxyZXF1aXJlZEV4dGVuc2lvbnM6YWkscmVxdWlyZWRGZWF0dXJlczphaSxyZXF1aXJlZEZvbnRzOmFpLHJlcXVpcmVkRm9ybWF0czphaSxyZXNvdXJjZTpudWxsLHJlc3RhcnQ6bnVsbCxyZXN1bHQ6bnVsbCxyb3RhdGU6bnVsbCxyeDpudWxsLHJ5Om51bGwsc2NhbGU6bnVsbCxzZWVkOm51bGwsc2hhcGVSZW5kZXJpbmc6bnVsbCxzaWRlOm51bGwsc2xvcGU6bnVsbCxzbmFwc2hvdFRpbWU6bnVsbCxzcGVjdWxhckNvbnN0YW50OmplLHNwZWN1bGFyRXhwb25lbnQ6amUsc3ByZWFkTWV0aG9kOm51bGwsc3BhY2luZzpudWxsLHN0YXJ0T2Zmc2V0Om51bGwsc3RkRGV2aWF0aW9uOm51bGwsc3RlbWg6bnVsbCxzdGVtdjpudWxsLHN0aXRjaFRpbGVzOm51bGwsc3RvcENvbG9yOm51bGwsc3RvcE9wYWNpdHk6bnVsbCxzdHJpa2V0aHJvdWdoUG9zaXRpb246amUsc3RyaWtldGhyb3VnaFRoaWNrbmVzczpqZSxzdHJpbmc6bnVsbCxzdHJva2U6bnVsbCxzdHJva2VEYXNoQXJyYXk6YWksc3Ryb2tlRGFzaE9mZnNldDpudWxsLHN0cm9rZUxpbmVDYXA6bnVsbCxzdHJva2VMaW5lSm9pbjpudWxsLHN0cm9rZU1pdGVyTGltaXQ6amUsc3Ryb2tlT3BhY2l0eTpqZSxzdHJva2VXaWR0aDpudWxsLHN0eWxlOm51bGwsc3VyZmFjZVNjYWxlOmplLHN5bmNCZWhhdmlvcjpudWxsLHN5bmNCZWhhdmlvckRlZmF1bHQ6bnVsbCxzeW5jTWFzdGVyOm51bGwsc3luY1RvbGVyYW5jZTpudWxsLHN5bmNUb2xlcmFuY2VEZWZhdWx0Om51bGwsc3lzdGVtTGFuZ3VhZ2U6YWksdGFiSW5kZXg6amUsdGFibGVWYWx1ZXM6bnVsbCx0YXJnZXQ6bnVsbCx0YXJnZXRYOmplLHRhcmdldFk6amUsdGV4dEFuY2hvcjpudWxsLHRleHREZWNvcmF0aW9uOm51bGwsdGV4dFJlbmRlcmluZzpudWxsLHRleHRMZW5ndGg6bnVsbCx0aW1lbGluZUJlZ2luOm51bGwsdGl0bGU6bnVsbCx0cmFuc2Zvcm1CZWhhdmlvcjpudWxsLHR5cGU6bnVsbCx0eXBlT2Y6YWksdG86bnVsbCx0cmFuc2Zvcm06bnVsbCx0cmFuc2Zvcm1PcmlnaW46bnVsbCx1MTpudWxsLHUyOm51bGwsdW5kZXJsaW5lUG9zaXRpb246amUsdW5kZXJsaW5lVGhpY2tuZXNzOmplLHVuaWNvZGU6bnVsbCx1bmljb2RlQmlkaTpudWxsLHVuaWNvZGVSYW5nZTpudWxsLHVuaXRzUGVyRW06amUsdmFsdWVzOm51bGwsdkFscGhhYmV0aWM6amUsdk1hdGhlbWF0aWNhbDpqZSx2ZWN0b3JFZmZlY3Q6bnVsbCx2SGFuZ2luZzpqZSx2SWRlb2dyYXBoaWM6amUsdmVyc2lvbjpudWxsLHZlcnRBZHZZOmplLHZlcnRPcmlnaW5YOmplLHZlcnRPcmlnaW5ZOmplLHZpZXdCb3g6bnVsbCx2aWV3VGFyZ2V0Om51bGwsdmlzaWJpbGl0eTpudWxsLHdpZHRoOm51bGwsd2lkdGhzOm51bGwsd29yZFNwYWNpbmc6bnVsbCx3cml0aW5nTW9kZTpudWxsLHg6bnVsbCx4MTpudWxsLHgyOm51bGwseENoYW5uZWxTZWxlY3RvcjpudWxsLHhIZWlnaHQ6amUseTpudWxsLHkxOm51bGwseTI6bnVsbCx5Q2hhbm5lbFNlbGVjdG9yOm51bGwsejpudWxsLHpvb21BbmRQYW46bnVsbH0sc3BhY2U6InN2ZyIsdHJhbnNmb3JtOmdXfSl9KTt2YXIgYmllLEZudD1jKCgpPT57RDAoKTtiaWU9T2koe3Byb3BlcnRpZXM6e3hMaW5rQWN0dWF0ZTpudWxsLHhMaW5rQXJjUm9sZTpudWxsLHhMaW5rSHJlZjpudWxsLHhMaW5rUm9sZTpudWxsLHhMaW5rU2hvdzpudWxsLHhMaW5rVGl0bGU6bnVsbCx4TGlua1R5cGU6bnVsbH0sc3BhY2U6InhsaW5rIix0cmFuc2Zvcm0odCxlKXtyZXR1cm4ieGxpbms6IitlLnNsaWNlKDUpLnRvTG93ZXJDYXNlKCl9fSl9KTt2YXIgdmllLE9udD1jKCgpPT57RDAoKTtnaWUoKTt2aWU9T2koe2F0dHJpYnV0ZXM6e3htbG5zeGxpbms6InhtbG5zOnhsaW5rIn0scHJvcGVydGllczp7eG1sbnNYTGluazpudWxsLHhtbG5zOm51bGx9LHNwYWNlOiJ4bWxucyIsdHJhbnNmb3JtOmJXfSl9KTt2YXIgeGllLEJudD1jKCgpPT57RDAoKTt4aWU9T2koe3Byb3BlcnRpZXM6e3htbEJhc2U6bnVsbCx4bWxMYW5nOm51bGwseG1sU3BhY2U6bnVsbH0sc3BhY2U6InhtbCIsdHJhbnNmb3JtKHQsZSl7cmV0dXJuInhtbDoiK2Uuc2xpY2UoMykudG9Mb3dlckNhc2UoKX19KX0pO3ZhciBIbnQ9YygoKT0+e30pO2Z1bmN0aW9uIHlpZSh0LGUpe2xldCBhPWc4KGUpLHI9ZSxzPVUxO2lmKGEgaW4gdC5ub3JtYWwpcmV0dXJuIHQucHJvcGVydHlbdC5ub3JtYWxbYV1dO2lmKGEubGVuZ3RoPjQmJmEuc2xpY2UoMCw0KT09PSJkYXRhIiYma2ZhLnRlc3QoZSkpe2lmKGUuY2hhckF0KDQpPT09Ii0iKXtsZXQgbj1lLnNsaWNlKDUpLnJlcGxhY2UocW50LFNmYSk7cj0iZGF0YSIrbi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStuLnNsaWNlKDEpfWVsc2V7bGV0IG49ZS5zbGljZSg0KTtpZighcW50LnRlc3Qobikpe2xldCBvPW4ucmVwbGFjZShNZmEsemZhKTtvLmNoYXJBdCgwKSE9PSItIiYmKG89Ii0iK28pLGU9ImRhdGEiK299fXM9JDB9cmV0dXJuIG5ldyBzKHIsZSl9ZnVuY3Rpb24gemZhKHQpe3JldHVybiItIit0LnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gU2ZhKHQpe3JldHVybiB0LmNoYXJBdCgxKS50b1VwcGVyQ2FzZSgpfXZhciBNZmEscW50LGtmYSxWbnQ9YygoKT0+e2ZpZSgpO3BpZSgpO2hXKCk7TWZhPS9bQS1aXS9nLHFudD0vLVthLXpdL2csa2ZhPS9eZGF0YVstXHcuOl0rJC9pO2koeWllLCJmaW5kIik7aSh6ZmEsImtlYmFiIik7aShTZmEsImNhbWVsY2FzZSIpfSk7dmFyIGpudCx2Vyx3aWU9YygoKT0+e0RudCgpO1BudCgpO0ludCgpO1JudCgpO0ZudCgpO09udCgpO0JudCgpO0hudCgpO1ZudCgpO2hXKCk7am50PWRpZShbaGllLEVudCxiaWUsdmllLHhpZV0sImh0bWwiKSx2Vz1kaWUoW2hpZSxObnQsYmllLHZpZSx4aWVdLCJzdmciKX0pO2Z1bmN0aW9uIE1pZSh0LGUpe2lmKHQ9dC5yZXBsYWNlKGUuc3Vic2V0PyRmYShlLnN1YnNldCk6Q2ZhLHIpLGUuc3Vic2V0fHxlLmVzY2FwZU9ubHkpcmV0dXJuIHQ7cmV0dXJuIHQucmVwbGFjZShfZmEsYSkucmVwbGFjZShUZmEscik7ZnVuY3Rpb24gYShzLG4sbyl7cmV0dXJuIGUuZm9ybWF0KChzLmNoYXJDb2RlQXQoMCktNTUyOTYpKjEwMjQrcy5jaGFyQ29kZUF0KDEpLTU2MzIwKzY1NTM2LG8uY2hhckNvZGVBdChuKzIpLGUpfWZ1bmN0aW9uIHIocyxuLG8pe3JldHVybiBlLmZvcm1hdChzLmNoYXJDb2RlQXQoMCksby5jaGFyQ29kZUF0KG4rMSksZSl9fWZ1bmN0aW9uICRmYSh0KXtsZXQgZT1VbnQuZ2V0KHQpO3JldHVybiBlfHwoZT1EZmEodCksVW50LnNldCh0LGUpKSxlfWZ1bmN0aW9uIERmYSh0KXtsZXQgZT1bXSxhPS0xO2Zvcig7KythPHQubGVuZ3RoOyllLnB1c2godFthXS5yZXBsYWNlKExmYSwiXFwkJiIpKTtyZXR1cm4gbmV3IFJlZ0V4cCgiKD86IitlLmpvaW4oInwiKSsiKSIsImciKX12YXIgQ2ZhLF9mYSxUZmEsTGZhLFVudCxXbnQ9YygoKT0+e0NmYT0vWyImJzw+YF0vZyxfZmE9L1tcdUQ4MDAtXHVEQkZGXVtcdURDMDAtXHVERkZGXS9nLFRmYT0vW1x4MDEtXHRcdlxmXHgwRS1ceDFGXHg3Rlx4ODFceDhEXHg4Rlx4OTBceDlEXHhBMC1cdUZGRkZdL2csTGZhPS9bfFxce30oKVtcXV4kKyo/Ll0vZyxVbnQ9bmV3IFdlYWtNYXA7aShNaWUsImNvcmUiKTtpKCRmYSwiY2hhcmFjdGVyc1RvRXhwcmVzc2lvbkNhY2hlZCIpO2koRGZhLCJjaGFyYWN0ZXJzVG9FeHByZXNzaW9uIil9KTtmdW5jdGlvbiBHbnQodCxlLGEpe2xldCByPSImI3giK3QudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7cmV0dXJuIGEmJmUmJiFBZmEudGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKGUpKT9yOnIrIjsifXZhciBBZmEsWW50PWMoKCk9PntBZmE9L1tcZEEtRmEtZl0vO2koR250LCJ0b0hleGFkZWNpbWFsIil9KTtmdW5jdGlvbiBabnQodCxlLGEpe2xldCByPSImIyIrU3RyaW5nKHQpO3JldHVybiBhJiZlJiYhUGZhLnRlc3QoU3RyaW5nLmZyb21DaGFyQ29kZShlKSk/cjpyKyI7In12YXIgUGZhLFhudD1jKCgpPT57UGZhPS9cZC87aShabnQsInRvRGVjaW1hbCIpfSk7dmFyIEtudCxRbnQ9YygoKT0+e0tudD1bIkFFbGlnIiwiQU1QIiwiQWFjdXRlIiwiQWNpcmMiLCJBZ3JhdmUiLCJBcmluZyIsIkF0aWxkZSIsIkF1bWwiLCJDT1BZIiwiQ2NlZGlsIiwiRVRIIiwiRWFjdXRlIiwiRWNpcmMiLCJFZ3JhdmUiLCJFdW1sIiwiR1QiLCJJYWN1dGUiLCJJY2lyYyIsIklncmF2ZSIsIkl1bWwiLCJMVCIsIk50aWxkZSIsIk9hY3V0ZSIsIk9jaXJjIiwiT2dyYXZlIiwiT3NsYXNoIiwiT3RpbGRlIiwiT3VtbCIsIlFVT1QiLCJSRUciLCJUSE9STiIsIlVhY3V0ZSIsIlVjaXJjIiwiVWdyYXZlIiwiVXVtbCIsIllhY3V0ZSIsImFhY3V0ZSIsImFjaXJjIiwiYWN1dGUiLCJhZWxpZyIsImFncmF2ZSIsImFtcCIsImFyaW5nIiwiYXRpbGRlIiwiYXVtbCIsImJydmJhciIsImNjZWRpbCIsImNlZGlsIiwiY2VudCIsImNvcHkiLCJjdXJyZW4iLCJkZWciLCJkaXZpZGUiLCJlYWN1dGUiLCJlY2lyYyIsImVncmF2ZSIsImV0aCIsImV1bWwiLCJmcmFjMTIiLCJmcmFjMTQiLCJmcmFjMzQiLCJndCIsImlhY3V0ZSIsImljaXJjIiwiaWV4Y2wiLCJpZ3JhdmUiLCJpcXVlc3QiLCJpdW1sIiwibGFxdW8iLCJsdCIsIm1hY3IiLCJtaWNybyIsIm1pZGRvdCIsIm5ic3AiLCJub3QiLCJudGlsZGUiLCJvYWN1dGUiLCJvY2lyYyIsIm9ncmF2ZSIsIm9yZGYiLCJvcmRtIiwib3NsYXNoIiwib3RpbGRlIiwib3VtbCIsInBhcmEiLCJwbHVzbW4iLCJwb3VuZCIsInF1b3QiLCJyYXF1byIsInJlZyIsInNlY3QiLCJzaHkiLCJzdXAxIiwic3VwMiIsInN1cDMiLCJzemxpZyIsInRob3JuIiwidGltZXMiLCJ1YWN1dGUiLCJ1Y2lyYyIsInVncmF2ZSIsInVtbCIsInV1bWwiLCJ5YWN1dGUiLCJ5ZW4iLCJ5dW1sIl19KTt2YXIgeFcsSm50PWMoKCk9Pnt4Vz17bmJzcDoiXHhBMCIsaWV4Y2w6Ilx4QTEiLGNlbnQ6Ilx4QTIiLHBvdW5kOiJceEEzIixjdXJyZW46Ilx4QTQiLHllbjoiXHhBNSIsYnJ2YmFyOiJceEE2IixzZWN0OiJceEE3Iix1bWw6Ilx4QTgiLGNvcHk6Ilx4QTkiLG9yZGY6Ilx4QUEiLGxhcXVvOiJceEFCIixub3Q6Ilx4QUMiLHNoeToiXHhBRCIscmVnOiJceEFFIixtYWNyOiJceEFGIixkZWc6Ilx4QjAiLHBsdXNtbjoiXHhCMSIsc3VwMjoiXHhCMiIsc3VwMzoiXHhCMyIsYWN1dGU6Ilx4QjQiLG1pY3JvOiJceEI1IixwYXJhOiJceEI2IixtaWRkb3Q6Ilx4QjciLGNlZGlsOiJceEI4IixzdXAxOiJceEI5IixvcmRtOiJceEJBIixyYXF1bzoiXHhCQiIsZnJhYzE0OiJceEJDIixmcmFjMTI6Ilx4QkQiLGZyYWMzNDoiXHhCRSIsaXF1ZXN0OiJceEJGIixBZ3JhdmU6Ilx4QzAiLEFhY3V0ZToiXHhDMSIsQWNpcmM6Ilx4QzIiLEF0aWxkZToiXHhDMyIsQXVtbDoiXHhDNCIsQXJpbmc6Ilx4QzUiLEFFbGlnOiJceEM2IixDY2VkaWw6Ilx4QzciLEVncmF2ZToiXHhDOCIsRWFjdXRlOiJceEM5IixFY2lyYzoiXHhDQSIsRXVtbDoiXHhDQiIsSWdyYXZlOiJceENDIixJYWN1dGU6Ilx4Q0QiLEljaXJjOiJceENFIixJdW1sOiJceENGIixFVEg6Ilx4RDAiLE50aWxkZToiXHhEMSIsT2dyYXZlOiJceEQyIixPYWN1dGU6Ilx4RDMiLE9jaXJjOiJceEQ0IixPdGlsZGU6Ilx4RDUiLE91bWw6Ilx4RDYiLHRpbWVzOiJceEQ3IixPc2xhc2g6Ilx4RDgiLFVncmF2ZToiXHhEOSIsVWFjdXRlOiJceERBIixVY2lyYzoiXHhEQiIsVXVtbDoiXHhEQyIsWWFjdXRlOiJceEREIixUSE9STjoiXHhERSIsc3psaWc6Ilx4REYiLGFncmF2ZToiXHhFMCIsYWFjdXRlOiJceEUxIixhY2lyYzoiXHhFMiIsYXRpbGRlOiJceEUzIixhdW1sOiJceEU0IixhcmluZzoiXHhFNSIsYWVsaWc6Ilx4RTYiLGNjZWRpbDoiXHhFNyIsZWdyYXZlOiJceEU4IixlYWN1dGU6Ilx4RTkiLGVjaXJjOiJceEVBIixldW1sOiJceEVCIixpZ3JhdmU6Ilx4RUMiLGlhY3V0ZToiXHhFRCIsaWNpcmM6Ilx4RUUiLGl1bWw6Ilx4RUYiLGV0aDoiXHhGMCIsbnRpbGRlOiJceEYxIixvZ3JhdmU6Ilx4RjIiLG9hY3V0ZToiXHhGMyIsb2NpcmM6Ilx4RjQiLG90aWxkZToiXHhGNSIsb3VtbDoiXHhGNiIsZGl2aWRlOiJceEY3Iixvc2xhc2g6Ilx4RjgiLHVncmF2ZToiXHhGOSIsdWFjdXRlOiJceEZBIix1Y2lyYzoiXHhGQiIsdXVtbDoiXHhGQyIseWFjdXRlOiJceEZEIix0aG9ybjoiXHhGRSIseXVtbDoiXHhGRiIsZm5vZjoiXHUwMTkyIixBbHBoYToiXHUwMzkxIixCZXRhOiJcdTAzOTIiLEdhbW1hOiJcdTAzOTMiLERlbHRhOiJcdTAzOTQiLEVwc2lsb246Ilx1MDM5NSIsWmV0YToiXHUwMzk2IixFdGE6Ilx1MDM5NyIsVGhldGE6Ilx1MDM5OCIsSW90YToiXHUwMzk5IixLYXBwYToiXHUwMzlBIixMYW1iZGE6Ilx1MDM5QiIsTXU6Ilx1MDM5QyIsTnU6Ilx1MDM5RCIsWGk6Ilx1MDM5RSIsT21pY3JvbjoiXHUwMzlGIixQaToiXHUwM0EwIixSaG86Ilx1MDNBMSIsU2lnbWE6Ilx1MDNBMyIsVGF1OiJcdTAzQTQiLFVwc2lsb246Ilx1MDNBNSIsUGhpOiJcdTAzQTYiLENoaToiXHUwM0E3IixQc2k6Ilx1MDNBOCIsT21lZ2E6Ilx1MDNBOSIsYWxwaGE6Ilx1MDNCMSIsYmV0YToiXHUwM0IyIixnYW1tYToiXHUwM0IzIixkZWx0YToiXHUwM0I0IixlcHNpbG9uOiJcdTAzQjUiLHpldGE6Ilx1MDNCNiIsZXRhOiJcdTAzQjciLHRoZXRhOiJcdTAzQjgiLGlvdGE6Ilx1MDNCOSIsa2FwcGE6Ilx1MDNCQSIsbGFtYmRhOiJcdTAzQkIiLG11OiJcdTAzQkMiLG51OiJcdTAzQkQiLHhpOiJcdTAzQkUiLG9taWNyb246Ilx1MDNCRiIscGk6Ilx1MDNDMCIscmhvOiJcdTAzQzEiLHNpZ21hZjoiXHUwM0MyIixzaWdtYToiXHUwM0MzIix0YXU6Ilx1MDNDNCIsdXBzaWxvbjoiXHUwM0M1IixwaGk6Ilx1MDNDNiIsY2hpOiJcdTAzQzciLHBzaToiXHUwM0M4IixvbWVnYToiXHUwM0M5Iix0aGV0YXN5bToiXHUwM0QxIix1cHNpaDoiXHUwM0QyIixwaXY6Ilx1MDNENiIsYnVsbDoiXHUyMDIyIixoZWxsaXA6Ilx1MjAyNiIscHJpbWU6Ilx1MjAzMiIsUHJpbWU6Ilx1MjAzMyIsb2xpbmU6Ilx1MjAzRSIsZnJhc2w6Ilx1MjA0NCIsd2VpZXJwOiJcdTIxMTgiLGltYWdlOiJcdTIxMTEiLHJlYWw6Ilx1MjExQyIsdHJhZGU6Ilx1MjEyMiIsYWxlZnN5bToiXHUyMTM1IixsYXJyOiJcdTIxOTAiLHVhcnI6Ilx1MjE5MSIscmFycjoiXHUyMTkyIixkYXJyOiJcdTIxOTMiLGhhcnI6Ilx1MjE5NCIsY3JhcnI6Ilx1MjFCNSIsbEFycjoiXHUyMUQwIix1QXJyOiJcdTIxRDEiLHJBcnI6Ilx1MjFEMiIsZEFycjoiXHUyMUQzIixoQXJyOiJcdTIxRDQiLGZvcmFsbDoiXHUyMjAwIixwYXJ0OiJcdTIyMDIiLGV4aXN0OiJcdTIyMDMiLGVtcHR5OiJcdTIyMDUiLG5hYmxhOiJcdTIyMDciLGlzaW46Ilx1MjIwOCIsbm90aW46Ilx1MjIwOSIsbmk6Ilx1MjIwQiIscHJvZDoiXHUyMjBGIixzdW06Ilx1MjIxMSIsbWludXM6Ilx1MjIxMiIsbG93YXN0OiJcdTIyMTciLHJhZGljOiJcdTIyMUEiLHByb3A6Ilx1MjIxRCIsaW5maW46Ilx1MjIxRSIsYW5nOiJcdTIyMjAiLGFuZDoiXHUyMjI3IixvcjoiXHUyMjI4IixjYXA6Ilx1MjIyOSIsY3VwOiJcdTIyMkEiLGludDoiXHUyMjJCIix0aGVyZTQ6Ilx1MjIzNCIsc2ltOiJcdTIyM0MiLGNvbmc6Ilx1MjI0NSIsYXN5bXA6Ilx1MjI0OCIsbmU6Ilx1MjI2MCIsZXF1aXY6Ilx1MjI2MSIsbGU6Ilx1MjI2NCIsZ2U6Ilx1MjI2NSIsc3ViOiJcdTIyODIiLHN1cDoiXHUyMjgzIixuc3ViOiJcdTIyODQiLHN1YmU6Ilx1MjI4NiIsc3VwZToiXHUyMjg3IixvcGx1czoiXHUyMjk1IixvdGltZXM6Ilx1MjI5NyIscGVycDoiXHUyMkE1IixzZG90OiJcdTIyQzUiLGxjZWlsOiJcdTIzMDgiLHJjZWlsOiJcdTIzMDkiLGxmbG9vcjoiXHUyMzBBIixyZmxvb3I6Ilx1MjMwQiIsbGFuZzoiXHUyMzI5IixyYW5nOiJcdTIzMkEiLGxvejoiXHUyNUNBIixzcGFkZXM6Ilx1MjY2MCIsY2x1YnM6Ilx1MjY2MyIsaGVhcnRzOiJcdTI2NjUiLGRpYW1zOiJcdTI2NjYiLHF1b3Q6JyInLGFtcDoiJiIsbHQ6IjwiLGd0OiI+IixPRWxpZzoiXHUwMTUyIixvZWxpZzoiXHUwMTUzIixTY2Fyb246Ilx1MDE2MCIsc2Nhcm9uOiJcdTAxNjEiLFl1bWw6Ilx1MDE3OCIsY2lyYzoiXHUwMkM2Iix0aWxkZToiXHUwMkRDIixlbnNwOiJcdTIwMDIiLGVtc3A6Ilx1MjAwMyIsdGhpbnNwOiJcdTIwMDkiLHp3bmo6Ilx1MjAwQyIsendqOiJcdTIwMEQiLGxybToiXHUyMDBFIixybG06Ilx1MjAwRiIsbmRhc2g6Ilx1MjAxMyIsbWRhc2g6Ilx1MjAxNCIsbHNxdW86Ilx1MjAxOCIscnNxdW86Ilx1MjAxOSIsc2JxdW86Ilx1MjAxQSIsbGRxdW86Ilx1MjAxQyIscmRxdW86Ilx1MjAxRCIsYmRxdW86Ilx1MjAxRSIsZGFnZ2VyOiJcdTIwMjAiLERhZ2dlcjoiXHUyMDIxIixwZXJtaWw6Ilx1MjAzMCIsbHNhcXVvOiJcdTIwMzkiLHJzYXF1bzoiXHUyMDNBIixldXJvOiJcdTIwQUMifX0pO3ZhciBlbHQsdGx0PWMoKCk9PntlbHQ9WyJjZW50IiwiY29weSIsImRpdmlkZSIsImd0IiwibHQiLCJub3QiLCJwYXJhIiwidGltZXMiXX0pO2Z1bmN0aW9uIHJsdCh0LGUsYSxyKXtsZXQgcz1TdHJpbmcuZnJvbUNoYXJDb2RlKHQpO2lmKGFsdC5jYWxsKGtpZSxzKSl7bGV0IG49a2llW3NdLG89IiYiK247cmV0dXJuIGEmJktudC5pbmNsdWRlcyhuKSYmIWVsdC5pbmNsdWRlcyhuKSYmKCFyfHxlJiZlIT09NjEmJkVmYS50ZXN0KFN0cmluZy5mcm9tQ2hhckNvZGUoZSkpKT9vOm8rIjsifXJldHVybiIifXZhciBhbHQsa2llLHlXLEVmYSxpbHQ9YygoKT0+e1FudCgpO0pudCgpO3RsdCgpO2FsdD17fS5oYXNPd25Qcm9wZXJ0eSxraWU9e307Zm9yKHlXIGluIHhXKWFsdC5jYWxsKHhXLHlXKSYmKGtpZVt4V1t5V11dPXlXKTtFZmE9L1teXGRBLVphLXpdLztpKHJsdCwidG9OYW1lZCIpfSk7ZnVuY3Rpb24gc2x0KHQsZSxhKXtsZXQgcj1HbnQodCxlLGEub21pdE9wdGlvbmFsU2VtaWNvbG9ucykscztpZigoYS51c2VOYW1lZFJlZmVyZW5jZXN8fGEudXNlU2hvcnRlc3RSZWZlcmVuY2VzKSYmKHM9cmx0KHQsZSxhLm9taXRPcHRpb25hbFNlbWljb2xvbnMsYS5hdHRyaWJ1dGUpKSwoYS51c2VTaG9ydGVzdFJlZmVyZW5jZXN8fCFzKSYmYS51c2VTaG9ydGVzdFJlZmVyZW5jZXMpe2xldCBuPVpudCh0LGUsYS5vbWl0T3B0aW9uYWxTZW1pY29sb25zKTtuLmxlbmd0aDxyLmxlbmd0aCYmKHI9bil9cmV0dXJuIHMmJighYS51c2VTaG9ydGVzdFJlZmVyZW5jZXN8fHMubGVuZ3RoPHIubGVuZ3RoKT9zOnJ9dmFyIG9sdD1jKCgpPT57WW50KCk7WG50KCk7aWx0KCk7aShzbHQsImZvcm1hdFNtYXJ0Iil9KTtmdW5jdGlvbiBubHQodCl7cmV0dXJuIiYjeCIrdC50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSsiOyJ9dmFyIGxsdD1jKCgpPT57aShubHQsImZvcm1hdEJhc2ljIil9KTtmdW5jdGlvbiBjbyh0LGUpe3JldHVybiBNaWUodCxPYmplY3QuYXNzaWduKHtmb3JtYXQ6c2x0fSxlKSl9ZnVuY3Rpb24gUyQxKHQsZSl7cmV0dXJuIE1pZSh0LE9iamVjdC5hc3NpZ24oe2Zvcm1hdDpubHR9LGUpKX12YXIgY2x0PWMoKCk9PntXbnQoKTtvbHQoKTtsbHQoKTtpKGNvLCJzdHJpbmdpZnlFbnRpdGllcyIpO2koUyQxLCJzdHJpbmdpZnlFbnRpdGllc0xpZ2h0Iil9KTt2YXIgd1c9YygoKT0+e2NsdCgpfSk7ZnVuY3Rpb24gZGx0KHQsZSxhLHIpe3JldHVybiByLnNldHRpbmdzLmJvZ3VzQ29tbWVudHM/Ijw/Iitjbyh0LnZhbHVlLE9iamVjdC5hc3NpZ24oe30sci5zZXR0aW5ncy5jaGFyYWN0ZXJSZWZlcmVuY2VzLHtzdWJzZXQ6TmZhfSkpKyI+IjoiPCEtLSIrdC52YWx1ZS5yZXBsYWNlKElmYSxzKSsiLS0+IjtmdW5jdGlvbiBzKG4pe3JldHVybiBjbyhuLE9iamVjdC5hc3NpZ24oe30sci5zZXR0aW5ncy5jaGFyYWN0ZXJSZWZlcmVuY2VzLHtzdWJzZXQ6UmZhfSkpfX12YXIgSWZhLE5mYSxSZmEscGx0PWMoKCk9Pnt3VygpO0lmYT0vXj58Xi0+fDwhLS18LS0+fC0tIT58PCEtJC9nLE5mYT1bIj4iXSxSZmE9WyI8IiwiPiJdO2koZGx0LCJjb21tZW50Iil9KTtmdW5jdGlvbiB1bHQodCxlLGEscil7cmV0dXJuIjwhIisoci5zZXR0aW5ncy51cHBlckRvY3R5cGU/IkRPQ1RZUEUiOiJkb2N0eXBlIikrKHIuc2V0dGluZ3MudGlnaHREb2N0eXBlPyIiOiIgIikrImh0bWw+In12YXIgZmx0PWMoKCk9PntpKHVsdCwiZG9jdHlwZSIpfSk7ZnVuY3Rpb24gSSQxKHQpe2xldCBlPVtdLGE9U3RyaW5nKHR8fCIiKSxyPWEuaW5kZXhPZigiLCIpLHM9MCxuPSExO2Zvcig7IW47KXtyPT09LTEmJihyPWEubGVuZ3RoLG49ITApO2xldCBvPWEuc2xpY2UocyxyKS50cmltKCk7KG98fCFuKSYmZS5wdXNoKG8pLHM9cisxLHI9YS5pbmRleE9mKCIsIixzKX1yZXR1cm4gZX1mdW5jdGlvbiBobHQodCxlKXtsZXQgYT1lfHx7fTtyZXR1cm4odFt0Lmxlbmd0aC0xXT09PSIiP1suLi50LCIiXTp0KS5qb2luKChhLnBhZFJpZ2h0PyIgIjoiIikrIiwiKyhhLnBhZExlZnQ9PT0hMT8iIjoiICIpKS50cmltKCl9dmFyIG1sdD1jKCgpPT57aShJJDEsInBhcnNlIik7aShobHQsInN0cmluZ2lmeSIpfSk7ZnVuY3Rpb24gRiQxKHQpe2xldCBlPVN0cmluZyh0fHwiIikudHJpbSgpO3JldHVybiBlP2Uuc3BsaXQoL1sgXHRcblxyXGZdKy9nKTpbXX1mdW5jdGlvbiBnbHQodCl7cmV0dXJuIHQuam9pbigiICIpLnRyaW0oKX12YXIgYmx0PWMoKCk9PntpKEYkMSwicGFyc2UiKTtpKGdsdCwic3RyaW5naWZ5Iil9KTtmdW5jdGlvbiBBMCh0KXtyZXR1cm4gdHlwZW9mIHQ9PSJvYmplY3QiP3QudHlwZT09PSJ0ZXh0Ij92bHQodC52YWx1ZSk6ITE6dmx0KHQpfWZ1bmN0aW9uIHZsdCh0KXtyZXR1cm4gdC5yZXBsYWNlKEZmYSwiIik9PT0iIn12YXIgRmZhLHhsdD1jKCgpPT57RmZhPS9bIFx0XG5cZlxyXS9nO2koQTAsIndoaXRlc3BhY2UiKTtpKHZsdCwiZW1wdHkiKX0pO3ZhciBNVz1jKCgpPT57eGx0KCl9KTtmdW5jdGlvbiB5bHQodCl7cmV0dXJuIGU7ZnVuY3Rpb24gZShhLHIscyl7bGV0IG49YT9hLmNoaWxkcmVuOk9mYSxvPShyfHwwKSt0LGw9bltvXTtpZighcylmb3IoO2wmJkEwKGwpOylvKz10LGw9bltvXTtyZXR1cm4gbH19dmFyIGQxLHppZSxPZmEsU2llPWMoKCk9PntNVygpO2QxPXlsdCgxKSx6aWU9eWx0KC0xKSxPZmE9W107aSh5bHQsInNpYmxpbmdzIil9KTtmdW5jdGlvbiBrVyh0KXtyZXR1cm4gZTtmdW5jdGlvbiBlKGEscixzKXtyZXR1cm4gQmZhLmNhbGwodCxhLnRhZ05hbWUpJiZ0W2EudGFnTmFtZV0oYSxyLHMpfX12YXIgQmZhLENpZT1jKCgpPT57QmZhPXt9Lmhhc093blByb3BlcnR5O2koa1csIm9taXNzaW9uIil9KTtmdW5jdGlvbiBfaWUodCxlLGEpe2xldCByPWQxKGEsZSwhMCk7cmV0dXJuIXJ8fHIudHlwZSE9PSJjb21tZW50IiYmIShyLnR5cGU9PT0idGV4dCImJkEwKHIudmFsdWUuY2hhckF0KDApKSl9ZnVuY3Rpb24gSGZhKHQsZSxhKXtsZXQgcj1kMShhLGUpO3JldHVybiFyfHxyLnR5cGUhPT0iY29tbWVudCJ9ZnVuY3Rpb24gcWZhKHQsZSxhKXtsZXQgcj1kMShhLGUpO3JldHVybiFyfHxyLnR5cGUhPT0iY29tbWVudCJ9ZnVuY3Rpb24gVmZhKHQsZSxhKXtsZXQgcj1kMShhLGUpO3JldHVybiByP3IudHlwZT09PSJlbGVtZW50IiYmKHIudGFnTmFtZT09PSJhZGRyZXNzInx8ci50YWdOYW1lPT09ImFydGljbGUifHxyLnRhZ05hbWU9PT0iYXNpZGUifHxyLnRhZ05hbWU9PT0iYmxvY2txdW90ZSJ8fHIudGFnTmFtZT09PSJkZXRhaWxzInx8ci50YWdOYW1lPT09ImRpdiJ8fHIudGFnTmFtZT09PSJkbCJ8fHIudGFnTmFtZT09PSJmaWVsZHNldCJ8fHIudGFnTmFtZT09PSJmaWdjYXB0aW9uInx8ci50YWdOYW1lPT09ImZpZ3VyZSJ8fHIudGFnTmFtZT09PSJmb290ZXIifHxyLnRhZ05hbWU9PT0iZm9ybSJ8fHIudGFnTmFtZT09PSJoMSJ8fHIudGFnTmFtZT09PSJoMiJ8fHIudGFnTmFtZT09PSJoMyJ8fHIudGFnTmFtZT09PSJoNCJ8fHIudGFnTmFtZT09PSJoNSJ8fHIudGFnTmFtZT09PSJoNiJ8fHIudGFnTmFtZT09PSJoZWFkZXIifHxyLnRhZ05hbWU9PT0iaGdyb3VwInx8ci50YWdOYW1lPT09ImhyInx8ci50YWdOYW1lPT09Im1haW4ifHxyLnRhZ05hbWU9PT0ibWVudSJ8fHIudGFnTmFtZT09PSJuYXYifHxyLnRhZ05hbWU9PT0ib2wifHxyLnRhZ05hbWU9PT0icCJ8fHIudGFnTmFtZT09PSJwcmUifHxyLnRhZ05hbWU9PT0ic2VjdGlvbiJ8fHIudGFnTmFtZT09PSJ0YWJsZSJ8fHIudGFnTmFtZT09PSJ1bCIpOiFhfHwhKGEudHlwZT09PSJlbGVtZW50IiYmKGEudGFnTmFtZT09PSJhInx8YS50YWdOYW1lPT09ImF1ZGlvInx8YS50YWdOYW1lPT09ImRlbCJ8fGEudGFnTmFtZT09PSJpbnMifHxhLnRhZ05hbWU9PT0ibWFwInx8YS50YWdOYW1lPT09Im5vc2NyaXB0Inx8YS50YWdOYW1lPT09InZpZGVvIikpfWZ1bmN0aW9uIGpmYSh0LGUsYSl7bGV0IHI9ZDEoYSxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiZyLnRhZ05hbWU9PT0ibGkifWZ1bmN0aW9uIFVmYSh0LGUsYSl7bGV0IHI9ZDEoYSxlKTtyZXR1cm4hIShyJiZyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0iZHQifHxyLnRhZ05hbWU9PT0iZGQiKSl9ZnVuY3Rpb24gV2ZhKHQsZSxhKXtsZXQgcj1kMShhLGUpO3JldHVybiFyfHxyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0iZHQifHxyLnRhZ05hbWU9PT0iZGQiKX1mdW5jdGlvbiB3bHQodCxlLGEpe2xldCByPWQxKGEsZSk7cmV0dXJuIXJ8fHIudHlwZT09PSJlbGVtZW50IiYmKHIudGFnTmFtZT09PSJycCJ8fHIudGFnTmFtZT09PSJydCIpfWZ1bmN0aW9uIEdmYSh0LGUsYSl7bGV0IHI9ZDEoYSxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiZyLnRhZ05hbWU9PT0ib3B0Z3JvdXAifWZ1bmN0aW9uIFlmYSh0LGUsYSl7bGV0IHI9ZDEoYSxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiYoci50YWdOYW1lPT09Im9wdGlvbiJ8fHIudGFnTmFtZT09PSJvcHRncm91cCIpfWZ1bmN0aW9uIFpmYSh0LGUsYSl7bGV0IHI9ZDEoYSxlKTtyZXR1cm4hIShyJiZyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0idGJvZHkifHxyLnRhZ05hbWU9PT0idGZvb3QiKSl9ZnVuY3Rpb24gWGZhKHQsZSxhKXtsZXQgcj1kMShhLGUpO3JldHVybiFyfHxyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0idGJvZHkifHxyLnRhZ05hbWU9PT0idGZvb3QiKX1mdW5jdGlvbiBLZmEodCxlLGEpe3JldHVybiFkMShhLGUpfWZ1bmN0aW9uIFFmYSh0LGUsYSl7bGV0IHI9ZDEoYSxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiZyLnRhZ05hbWU9PT0idHIifWZ1bmN0aW9uIE1sdCh0LGUsYSl7bGV0IHI9ZDEoYSxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiYoci50YWdOYW1lPT09InRkInx8ci50YWdOYW1lPT09InRoIil9dmFyIFNmLFRpZT1jKCgpPT57TVcoKTtTaWUoKTtDaWUoKTtTZj1rVyh7Ym9keTpxZmEsY2FwdGlvbjpfaWUsY29sZ3JvdXA6X2llLGRkOldmYSxkdDpVZmEsaGVhZDpfaWUsaHRtbDpIZmEsbGk6amZhLG9wdGdyb3VwOkdmYSxvcHRpb246WWZhLHA6VmZhLHJwOndsdCxydDp3bHQsdGJvZHk6WGZhLHRkOk1sdCx0Zm9vdDpLZmEsdGg6TWx0LHRoZWFkOlpmYSx0cjpRZmF9KTtpKF9pZSwiaGVhZE9yQ29sZ3JvdXBPckNhcHRpb24iKTtpKEhmYSwiaHRtbCIpO2kocWZhLCJib2R5Iik7aShWZmEsInAiKTtpKGpmYSwibGkiKTtpKFVmYSwiZHQiKTtpKFdmYSwiZGQiKTtpKHdsdCwicnVieUVsZW1lbnQiKTtpKEdmYSwib3B0Z3JvdXAiKTtpKFlmYSwib3B0aW9uIik7aShaZmEsInRoZWFkIik7aShYZmEsInRib2R5Iik7aShLZmEsInRmb290Iik7aShRZmEsInRyIik7aShNbHQsImNlbGxzIil9KTtmdW5jdGlvbiBKZmEodCl7bGV0IGU9ZDEodCwtMSk7cmV0dXJuIWV8fGUudHlwZSE9PSJjb21tZW50In1mdW5jdGlvbiBlN2EodCl7bGV0IGU9bmV3IFNldDtmb3IobGV0IHIgb2YgdC5jaGlsZHJlbilpZihyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0iYmFzZSJ8fHIudGFnTmFtZT09PSJ0aXRsZSIpKXtpZihlLmhhcyhyLnRhZ05hbWUpKXJldHVybiExO2UuYWRkKHIudGFnTmFtZSl9bGV0IGE9dC5jaGlsZHJlblswXTtyZXR1cm4hYXx8YS50eXBlPT09ImVsZW1lbnQifWZ1bmN0aW9uIHQ3YSh0KXtsZXQgZT1kMSh0LC0xLCEwKTtyZXR1cm4hZXx8ZS50eXBlIT09ImNvbW1lbnQiJiYhKGUudHlwZT09PSJ0ZXh0IiYmQTAoZS52YWx1ZS5jaGFyQXQoMCkpKSYmIShlLnR5cGU9PT0iZWxlbWVudCImJihlLnRhZ05hbWU9PT0ibWV0YSJ8fGUudGFnTmFtZT09PSJsaW5rInx8ZS50YWdOYW1lPT09InNjcmlwdCJ8fGUudGFnTmFtZT09PSJzdHlsZSJ8fGUudGFnTmFtZT09PSJ0ZW1wbGF0ZSIpKX1mdW5jdGlvbiBhN2EodCxlLGEpe2xldCByPXppZShhLGUpLHM9ZDEodCwtMSwhMCk7cmV0dXJuIGEmJnImJnIudHlwZT09PSJlbGVtZW50IiYmci50YWdOYW1lPT09ImNvbGdyb3VwIiYmU2YocixhLmNoaWxkcmVuLmluZGV4T2YociksYSk/ITE6ISEocyYmcy50eXBlPT09ImVsZW1lbnQiJiZzLnRhZ05hbWU9PT0iY29sIil9ZnVuY3Rpb24gcjdhKHQsZSxhKXtsZXQgcj16aWUoYSxlKSxzPWQxKHQsLTEpO3JldHVybiBhJiZyJiZyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0idGhlYWQifHxyLnRhZ05hbWU9PT0idGJvZHkiKSYmU2YocixhLmNoaWxkcmVuLmluZGV4T2YociksYSk/ITE6ISEocyYmcy50eXBlPT09ImVsZW1lbnQiJiZzLnRhZ05hbWU9PT0idHIiKX12YXIga2x0LHpsdD1jKCgpPT57TVcoKTtTaWUoKTtUaWUoKTtDaWUoKTtrbHQ9a1coe2JvZHk6dDdhLGNvbGdyb3VwOmE3YSxoZWFkOmU3YSxodG1sOkpmYSx0Ym9keTpyN2F9KTtpKEpmYSwiaHRtbCIpO2koZTdhLCJoZWFkIik7aSh0N2EsImJvZHkiKTtpKGE3YSwiY29sZ3JvdXAiKTtpKHI3YSwidGJvZHkiKX0pO2Z1bmN0aW9uIFNsdCh0LGUsYSxyKXtsZXQgcz1yLnNjaGVtYSxuPXMuc3BhY2U9PT0ic3ZnIj8hMTpyLnNldHRpbmdzLm9taXRPcHRpb25hbFRhZ3Msbz1zLnNwYWNlPT09InN2ZyI/ci5zZXR0aW5ncy5jbG9zZUVtcHR5RWxlbWVudHM6ci5zZXR0aW5ncy52b2lkcy5pbmNsdWRlcyh0LnRhZ05hbWUudG9Mb3dlckNhc2UoKSksbD1bXSxoO3Muc3BhY2U9PT0iaHRtbCImJnQudGFnTmFtZT09PSJzdmciJiYoci5zY2hlbWE9dlcpO2xldCB1PWk3YShyLHQucHJvcGVydGllcyksZj1yLmFsbChzLnNwYWNlPT09Imh0bWwiJiZ0LnRhZ05hbWU9PT0idGVtcGxhdGUiP3QuY29udGVudDp0KTtyZXR1cm4gci5zY2hlbWE9cyxmJiYobz0hMSksKHV8fCFufHwha2x0KHQsZSxhKSkmJihsLnB1c2goIjwiLHQudGFnTmFtZSx1PyIgIit1OiIiKSxvJiYocy5zcGFjZT09PSJzdmcifHxyLnNldHRpbmdzLmNsb3NlU2VsZkNsb3NpbmcpJiYoaD11LmNoYXJBdCh1Lmxlbmd0aC0xKSwoIXIuc2V0dGluZ3MudGlnaHRTZWxmQ2xvc2luZ3x8aD09PSIvInx8aCYmaCE9PSciJyYmaCE9PSInIikmJmwucHVzaCgiICIpLGwucHVzaCgiLyIpKSxsLnB1c2goIj4iKSksbC5wdXNoKGYpLCFvJiYoIW58fCFTZih0LGUsYSkpJiZsLnB1c2goIjwvIit0LnRhZ05hbWUrIj4iKSxsLmpvaW4oIiIpfWZ1bmN0aW9uIGk3YSh0LGUpe2xldCBhPVtdLHI9LTEscztpZihlKXtmb3IocyBpbiBlKWlmKGVbc10hPT1udWxsJiZlW3NdIT09dm9pZCAwKXtsZXQgbj1zN2EodCxzLGVbc10pO24mJmEucHVzaChuKX19Zm9yKDsrK3I8YS5sZW5ndGg7KXtsZXQgbj10LnNldHRpbmdzLnRpZ2h0QXR0cmlidXRlcz9hW3JdLmNoYXJBdChhW3JdLmxlbmd0aC0xKTp2b2lkIDA7ciE9PWEubGVuZ3RoLTEmJm4hPT0nIicmJm4hPT0iJyImJihhW3JdKz0iICIpfXJldHVybiBhLmpvaW4oIiIpfWZ1bmN0aW9uIHM3YSh0LGUsYSl7bGV0IHI9eWllKHQuc2NoZW1hLGUpLHM9dC5zZXR0aW5ncy5hbGxvd1BhcnNlRXJyb3JzJiZ0LnNjaGVtYS5zcGFjZT09PSJodG1sIj8wOjEsbj10LnNldHRpbmdzLmFsbG93RGFuZ2Vyb3VzQ2hhcmFjdGVycz8wOjEsbz10LnF1b3RlLGw7aWYoci5vdmVybG9hZGVkQm9vbGVhbiYmKGE9PT1yLmF0dHJpYnV0ZXx8YT09PSIiKT9hPSEwOihyLmJvb2xlYW58fHIub3ZlcmxvYWRlZEJvb2xlYW4pJiYodHlwZW9mIGEhPSJzdHJpbmcifHxhPT09ci5hdHRyaWJ1dGV8fGE9PT0iIikmJihhPSEhYSksYT09bnVsbHx8YT09PSExfHx0eXBlb2YgYT09Im51bWJlciImJk51bWJlci5pc05hTihhKSlyZXR1cm4iIjtsZXQgaD1jbyhyLmF0dHJpYnV0ZSxPYmplY3QuYXNzaWduKHt9LHQuc2V0dGluZ3MuY2hhcmFjdGVyUmVmZXJlbmNlcyx7c3Vic2V0OnpXLm5hbWVbc11bbl19KSk7cmV0dXJuIGE9PT0hMHx8KGE9QXJyYXkuaXNBcnJheShhKT8oci5jb21tYVNlcGFyYXRlZD9obHQ6Z2x0KShhLHtwYWRMZWZ0OiF0LnNldHRpbmdzLnRpZ2h0Q29tbWFTZXBhcmF0ZWRMaXN0c30pOlN0cmluZyhhKSx0LnNldHRpbmdzLmNvbGxhcHNlRW1wdHlBdHRyaWJ1dGVzJiYhYSk/aDoodC5zZXR0aW5ncy5wcmVmZXJVbnF1b3RlZCYmKGw9Y28oYSxPYmplY3QuYXNzaWduKHt9LHQuc2V0dGluZ3MuY2hhcmFjdGVyUmVmZXJlbmNlcyx7YXR0cmlidXRlOiEwLHN1YnNldDp6Vy51bnF1b3RlZFtzXVtuXX0pKSksbCE9PWEmJih0LnNldHRpbmdzLnF1b3RlU21hcnQmJnI4KGEsbyk+cjgoYSx0LmFsdGVybmF0aXZlKSYmKG89dC5hbHRlcm5hdGl2ZSksbD1vK2NvKGEsT2JqZWN0LmFzc2lnbih7fSx0LnNldHRpbmdzLmNoYXJhY3RlclJlZmVyZW5jZXMse3N1YnNldDoobz09PSInIj96Vy5zaW5nbGU6elcuZG91YmxlKVtzXVtuXSxhdHRyaWJ1dGU6ITB9KSkrbyksaCsobCYmIj0iK2wpKX12YXIgelcsQ2x0PWMoKCk9PntoMWUoKTttbHQoKTt3aWUoKTtibHQoKTt3VygpO1RpZSgpO3psdCgpO3pXPXtuYW1lOltbYAkKXGZcciAmLz0+YC5zcGxpdCgiIiksYAkKXGZcciAiJicvPT5cYGAuc3BsaXQoIiIpXSxbYFwwCQpcZlxyICImJy88PT5gLnNwbGl0KCIiKSxgXDAJClxmXHIgIiYnLzw9PlxgYC5zcGxpdCgiIildXSx1bnF1b3RlZDpbW2AJClxmXHIgJj5gLnNwbGl0KCIiKSxgXDAJClxmXHIgIiYnPD0+XGBgLnNwbGl0KCIiKV0sW2BcMAkKXGZcciAiJic8PT5cYGAuc3BsaXQoIiIpLGBcMAkKXGZcciAiJic8PT5cYGAuc3BsaXQoIiIpXV0sc2luZ2xlOltbIiYnIi5zcGxpdCgiIiksIlwiJidgIi5zcGxpdCgiIildLFsiXDAmJyIuc3BsaXQoIiIpLCJcMFwiJidgIi5zcGxpdCgiIildXSxkb3VibGU6W1snIiYnLnNwbGl0KCIiKSwiXCImJ2AiLnNwbGl0KCIiKV0sWydcMCImJy5zcGxpdCgiIiksIlwwXCImJ2AiLnNwbGl0KCIiKV1dfTtpKFNsdCwiZWxlbWVudCIpO2koaTdhLCJzZXJpYWxpemVBdHRyaWJ1dGVzIik7aShzN2EsInNlcmlhbGl6ZUF0dHJpYnV0ZSIpfSk7ZnVuY3Rpb24gU1codCxlLGEscil7cmV0dXJuIGEmJmEudHlwZT09PSJlbGVtZW50IiYmKGEudGFnTmFtZT09PSJzY3JpcHQifHxhLnRhZ05hbWU9PT0ic3R5bGUiKT90LnZhbHVlOmNvKHQudmFsdWUsT2JqZWN0LmFzc2lnbih7fSxyLnNldHRpbmdzLmNoYXJhY3RlclJlZmVyZW5jZXMse3N1YnNldDpvN2F9KSl9dmFyIG83YSxMaWU9YygoKT0+e3dXKCk7bzdhPVsiPCIsIiYiXTtpKFNXLCJ0ZXh0Iil9KTtmdW5jdGlvbiBfbHQodCxlLGEscil7cmV0dXJuIHIuc2V0dGluZ3MuYWxsb3dEYW5nZXJvdXNIdG1sP3QudmFsdWU6U1codCxlLGEscil9dmFyIFRsdD1jKCgpPT57TGllKCk7aShfbHQsInJhdyIpfSk7ZnVuY3Rpb24gTGx0KHQsZSxhLHIpe3JldHVybiByLmFsbCh0KX12YXIgJGx0PWMoKCk9PntpKExsdCwicm9vdCIpfSk7ZnVuY3Rpb24gbjdhKHQpe3Rocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgbm9kZSwgbm90IGAiK3QrImAiKX1mdW5jdGlvbiBsN2EodCl7bGV0IGU9dDt0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBjb21waWxlIHVua25vd24gbm9kZSBgIitlLnR5cGUrImAiKX12YXIgRGx0LEFsdD1jKCgpPT57UzFlKCk7cGx0KCk7Zmx0KCk7Q2x0KCk7VGx0KCk7JGx0KCk7TGllKCk7RGx0PXpVKCJ0eXBlIix7aW52YWxpZDpuN2EsdW5rbm93bjpsN2EsaGFuZGxlcnM6e2NvbW1lbnQ6ZGx0LGRvY3R5cGU6dWx0LGVsZW1lbnQ6U2x0LHJhdzpfbHQscm9vdDpMbHQsdGV4dDpTV319KTtpKG43YSwiaW52YWxpZCIpO2kobDdhLCJ1bmtub3duIil9KTtmdW5jdGlvbiAkaWUodCxlKXtsZXQgYT1lfHxjN2Escj1hLnF1b3RlfHwnIicscz1yPT09JyInPyInIjonIic7aWYociE9PSciJyYmciE9PSInIil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgcXVvdGUgYCIrcisiYCwgZXhwZWN0ZWQgYCdgIG9yIGBcImAiKTtyZXR1cm57b25lOnU3YSxhbGw6ZjdhLHNldHRpbmdzOntvbWl0T3B0aW9uYWxUYWdzOmEub21pdE9wdGlvbmFsVGFnc3x8ITEsYWxsb3dQYXJzZUVycm9yczphLmFsbG93UGFyc2VFcnJvcnN8fCExLGFsbG93RGFuZ2Vyb3VzQ2hhcmFjdGVyczphLmFsbG93RGFuZ2Vyb3VzQ2hhcmFjdGVyc3x8ITEscXVvdGVTbWFydDphLnF1b3RlU21hcnR8fCExLHByZWZlclVucXVvdGVkOmEucHJlZmVyVW5xdW90ZWR8fCExLHRpZ2h0QXR0cmlidXRlczphLnRpZ2h0QXR0cmlidXRlc3x8ITEsdXBwZXJEb2N0eXBlOmEudXBwZXJEb2N0eXBlfHwhMSx0aWdodERvY3R5cGU6YS50aWdodERvY3R5cGV8fCExLGJvZ3VzQ29tbWVudHM6YS5ib2d1c0NvbW1lbnRzfHwhMSx0aWdodENvbW1hU2VwYXJhdGVkTGlzdHM6YS50aWdodENvbW1hU2VwYXJhdGVkTGlzdHN8fCExLHRpZ2h0U2VsZkNsb3Npbmc6YS50aWdodFNlbGZDbG9zaW5nfHwhMSxjb2xsYXBzZUVtcHR5QXR0cmlidXRlczphLmNvbGxhcHNlRW1wdHlBdHRyaWJ1dGVzfHwhMSxhbGxvd0Rhbmdlcm91c0h0bWw6YS5hbGxvd0Rhbmdlcm91c0h0bWx8fCExLHZvaWRzOmEudm9pZHN8fExudCxjaGFyYWN0ZXJSZWZlcmVuY2VzOmEuY2hhcmFjdGVyUmVmZXJlbmNlc3x8ZDdhLGNsb3NlU2VsZkNsb3Npbmc6YS5jbG9zZVNlbGZDbG9zaW5nfHwhMSxjbG9zZUVtcHR5RWxlbWVudHM6YS5jbG9zZUVtcHR5RWxlbWVudHN8fCExfSxzY2hlbWE6YS5zcGFjZT09PSJzdmciP3ZXOmpudCxxdW90ZTpyLGFsdGVybmF0aXZlOnN9Lm9uZShBcnJheS5pc0FycmF5KHQpP3t0eXBlOiJyb290IixjaGlsZHJlbjp0fTp0LHZvaWQgMCx2b2lkIDApfWZ1bmN0aW9uIHU3YSh0LGUsYSl7cmV0dXJuIERsdCh0LGUsYSx0aGlzKX1mdW5jdGlvbiBmN2EodCl7bGV0IGU9W10sYT10JiZ0LmNoaWxkcmVufHxwN2Escj0tMTtmb3IoOysrcjxhLmxlbmd0aDspZVtyXT10aGlzLm9uZShhW3JdLHIsdCk7cmV0dXJuIGUuam9pbigiIil9dmFyIGM3YSxkN2EscDdhLFBsdD1jKCgpPT57JG50KCk7d2llKCk7QWx0KCk7YzdhPXt9LGQ3YT17fSxwN2E9W107aSgkaWUsInRvSHRtbCIpO2kodTdhLCJvbmUiKTtpKGY3YSwiYWxsIil9KTt2YXIgRWx0PWMoKCk9PntQbHQoKX0pO2Z1bmN0aW9uIGI4KHQpe2xldCBlPXRoaXMse2hhbmRsZXJzOmEsc2FuaXRpemU6ciwuLi5zfT10fHxoN2Esbj0hMSxvO3R5cGVvZiByPT0iYm9vbGVhbiI/bj0hcjpyJiYobz1yKSxlLmNvbXBpbGVyPWw7ZnVuY3Rpb24gbChoLHUpe2xldCBmPWxpZShoLHtoYW5kbGVyczphLGFsbG93RGFuZ2Vyb3VzSHRtbDpufSkscD1uP2Y6YWllKGYsbyksZz0kaWUocCx7Li4ucyxhbGxvd0Rhbmdlcm91c0h0bWw6bn0pO3JldHVybiB1LmV4dG5hbWUmJih1LmV4dG5hbWU9Ii5odG1sIiksaCYmaC50eXBlPT09InJvb3QiJiZnJiYvW15cclxuXS8udGVzdChnLmNoYXJBdChnLmxlbmd0aC0xKSk/ZytgCmA6Z31pKGwsImNvbXBpbGVyIil9dmFyIGg3YSxJbHQ9YygoKT0+e3pvdCgpO1RudCgpO0VsdCgpO2g3YT17fTtpKGI4LCJyZW1hcmtIdG1sIil9KTt2YXIgTmx0PWMoKCk9PntJbHQoKX0pO2Z1bmN0aW9uIHY4KHQpe2xldCBlPXRoaXM7ZS5jb21waWxlcj1hO2Z1bmN0aW9uIGEocil7cmV0dXJuIFcxZShyLHsuLi5lLmRhdGEoInNldHRpbmdzIiksLi4udCxleHRlbnNpb25zOmUuZGF0YSgidG9NYXJrZG93bkV4dGVuc2lvbnMiKXx8W119KX1pKGEsImNvbXBpbGVyIil9dmFyIFJsdD1jKCgpPT57RVUoKTtpKHY4LCJyZW1hcmtTdHJpbmdpZnkiKX0pO3ZhciBGbHQ9YygoKT0+e1JsdCgpfSk7ZnVuY3Rpb24gbTdhKHQpe2Zvcih2YXIgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspe3ZhciBhPWFyZ3VtZW50c1tlXTtmb3IodmFyIHIgaW4gYSlhLmhhc093blByb3BlcnR5KHIpJiYodFtyXT1hW3JdKX1yZXR1cm4gdH1mdW5jdGlvbiBEaWUodCxlKXtyZXR1cm4gQXJyYXkoZSsxKS5qb2luKHQpfWZ1bmN0aW9uIE9sdCh0KXtyZXR1cm4gdC5yZXBsYWNlKC9eXG4qLywiIil9ZnVuY3Rpb24gQmx0KHQpe2Zvcih2YXIgZT10Lmxlbmd0aDtlPjAmJnRbZS0xXT09PWAKYDspZS0tO3JldHVybiB0LnN1YnN0cmluZygwLGUpfWZ1bmN0aW9uIEhsdCh0KXtyZXR1cm4gQmx0KE9sdCh0KSl9ZnVuY3Rpb24gQWllKHQpe3JldHVybiBQaWUodCxnN2EpfWZ1bmN0aW9uIFZsdCh0KXtyZXR1cm4gUGllKHQscWx0KX1mdW5jdGlvbiBiN2EodCl7cmV0dXJuIFVsdCh0LHFsdCl9ZnVuY3Rpb24gdjdhKHQpe3JldHVybiBQaWUodCxqbHQpfWZ1bmN0aW9uIHg3YSh0KXtyZXR1cm4gVWx0KHQsamx0KX1mdW5jdGlvbiBQaWUodCxlKXtyZXR1cm4gZS5pbmRleE9mKHQubm9kZU5hbWUpPj0wfWZ1bmN0aW9uIFVsdCh0LGUpe3JldHVybiB0LmdldEVsZW1lbnRzQnlUYWdOYW1lJiZlLnNvbWUoZnVuY3Rpb24oYSl7cmV0dXJuIHQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYSkubGVuZ3RofSl9ZnVuY3Rpb24gQ1codCl7cmV0dXJuIHQ/dC5yZXBsYWNlKC8oXG4rXHMqKSsvZyxgCmApOiIifWZ1bmN0aW9uIFdsdCh0KXt0aGlzLm9wdGlvbnM9dCx0aGlzLl9rZWVwPVtdLHRoaXMuX3JlbW92ZT1bXSx0aGlzLmJsYW5rUnVsZT17cmVwbGFjZW1lbnQ6dC5ibGFua1JlcGxhY2VtZW50fSx0aGlzLmtlZXBSZXBsYWNlbWVudD10LmtlZXBSZXBsYWNlbWVudCx0aGlzLmRlZmF1bHRSdWxlPXtyZXBsYWNlbWVudDp0LmRlZmF1bHRSZXBsYWNlbWVudH0sdGhpcy5hcnJheT1bXTtmb3IodmFyIGUgaW4gdC5ydWxlcyl0aGlzLmFycmF5LnB1c2godC5ydWxlc1tlXSl9ZnVuY3Rpb24gRWllKHQsZSxhKXtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIHM9dFtyXTtpZih5N2EocyxlLGEpKXJldHVybiBzfX1mdW5jdGlvbiB5N2EodCxlLGEpe3ZhciByPXQuZmlsdGVyO2lmKHR5cGVvZiByPT0ic3RyaW5nIil7aWYocj09PWUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSlyZXR1cm4hMH1lbHNlIGlmKEFycmF5LmlzQXJyYXkocikpe2lmKHIuaW5kZXhPZihlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpPi0xKXJldHVybiEwfWVsc2UgaWYodHlwZW9mIHI9PSJmdW5jdGlvbiIpe2lmKHIuY2FsbCh0LGUsYSkpcmV0dXJuITB9ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJgZmlsdGVyYCBuZWVkcyB0byBiZSBhIHN0cmluZywgYXJyYXksIG9yIGZ1bmN0aW9uIil9ZnVuY3Rpb24gdzdhKHQpe3ZhciBlPXQuZWxlbWVudCxhPXQuaXNCbG9jayxyPXQuaXNWb2lkLHM9dC5pc1ByZXx8ZnVuY3Rpb24ocCl7cmV0dXJuIHAubm9kZU5hbWU9PT0iUFJFIn07aWYoISghZS5maXJzdENoaWxkfHxzKGUpKSl7Zm9yKHZhciBuPW51bGwsbz0hMSxsPW51bGwsaD1HbHQobCxlLHMpO2ghPT1lOyl7aWYoaC5ub2RlVHlwZT09PTN8fGgubm9kZVR5cGU9PT00KXt2YXIgdT1oLmRhdGEucmVwbGFjZSgvWyBcclxuXHRdKy9nLCIgIik7aWYoKCFufHwvICQvLnRlc3Qobi5kYXRhKSkmJiFvJiZ1WzBdPT09IiAiJiYodT11LnN1YnN0cigxKSksIXUpe2g9SWllKGgpO2NvbnRpbnVlfWguZGF0YT11LG49aH1lbHNlIGlmKGgubm9kZVR5cGU9PT0xKWEoaCl8fGgubm9kZU5hbWU9PT0iQlIiPyhuJiYobi5kYXRhPW4uZGF0YS5yZXBsYWNlKC8gJC8sIiIpKSxuPW51bGwsbz0hMSk6cihoKXx8cyhoKT8obj1udWxsLG89ITApOm4mJihvPSExKTtlbHNle2g9SWllKGgpO2NvbnRpbnVlfXZhciBmPUdsdChsLGgscyk7bD1oLGg9Zn1uJiYobi5kYXRhPW4uZGF0YS5yZXBsYWNlKC8gJC8sIiIpLG4uZGF0YXx8SWllKG4pKX19ZnVuY3Rpb24gSWllKHQpe3ZhciBlPXQubmV4dFNpYmxpbmd8fHQucGFyZW50Tm9kZTtyZXR1cm4gdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpLGV9ZnVuY3Rpb24gR2x0KHQsZSxhKXtyZXR1cm4gdCYmdC5wYXJlbnROb2RlPT09ZXx8YShlKT9lLm5leHRTaWJsaW5nfHxlLnBhcmVudE5vZGU6ZS5maXJzdENoaWxkfHxlLm5leHRTaWJsaW5nfHxlLnBhcmVudE5vZGV9ZnVuY3Rpb24gTTdhKCl7dmFyIHQ9TmllLkRPTVBhcnNlcixlPSExO3RyeXtuZXcgdCgpLnBhcnNlRnJvbVN0cmluZygiIiwidGV4dC9odG1sIikmJihlPSEwKX1jYXRjaHt9cmV0dXJuIGV9ZnVuY3Rpb24gazdhKCl7dmFyIHQ9aShmdW5jdGlvbigpe30sIlBhcnNlciIpO3JldHVybiB6N2EoKT90LnByb3RvdHlwZS5wYXJzZUZyb21TdHJpbmc9ZnVuY3Rpb24oZSl7dmFyIGE9bmV3IHdpbmRvdy5BY3RpdmVYT2JqZWN0KCJodG1sZmlsZSIpO3JldHVybiBhLmRlc2lnbk1vZGU9Im9uIixhLm9wZW4oKSxhLndyaXRlKGUpLGEuY2xvc2UoKSxhfTp0LnByb3RvdHlwZS5wYXJzZUZyb21TdHJpbmc9ZnVuY3Rpb24oZSl7dmFyIGE9ZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCIiKTtyZXR1cm4gYS5vcGVuKCksYS53cml0ZShlKSxhLmNsb3NlKCksYX0sdH1mdW5jdGlvbiB6N2EoKXt2YXIgdD0hMTt0cnl7ZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCIiKS5vcGVuKCl9Y2F0Y2h7TmllLkFjdGl2ZVhPYmplY3QmJih0PSEwKX1yZXR1cm4gdH1mdW5jdGlvbiBDN2EodCxlKXt2YXIgYTtpZih0eXBlb2YgdD09InN0cmluZyIpe3ZhciByPV83YSgpLnBhcnNlRnJvbVN0cmluZygnPHgtdHVybmRvd24gaWQ9InR1cm5kb3duLXJvb3QiPicrdCsiPC94LXR1cm5kb3duPiIsInRleHQvaHRtbCIpO2E9ci5nZXRFbGVtZW50QnlJZCgidHVybmRvd24tcm9vdCIpfWVsc2UgYT10LmNsb25lTm9kZSghMCk7cmV0dXJuIHc3YSh7ZWxlbWVudDphLGlzQmxvY2s6QWllLGlzVm9pZDpWbHQsaXNQcmU6ZS5wcmVmb3JtYXR0ZWRDb2RlP1Q3YTpudWxsfSksYX1mdW5jdGlvbiBfN2EoKXtyZXR1cm4gUmllPVJpZXx8bmV3IFM3YSxSaWV9ZnVuY3Rpb24gVDdhKHQpe3JldHVybiB0Lm5vZGVOYW1lPT09IlBSRSJ8fHQubm9kZU5hbWU9PT0iQ09ERSJ9ZnVuY3Rpb24gTDdhKHQsZSl7cmV0dXJuIHQuaXNCbG9jaz1BaWUodCksdC5pc0NvZGU9dC5ub2RlTmFtZT09PSJDT0RFInx8dC5wYXJlbnROb2RlLmlzQ29kZSx0LmlzQmxhbms9JDdhKHQpLHQuZmxhbmtpbmdXaGl0ZXNwYWNlPUQ3YSh0LGUpLHR9ZnVuY3Rpb24gJDdhKHQpe3JldHVybiFWbHQodCkmJiF2N2EodCkmJi9eXHMqJC9pLnRlc3QodC50ZXh0Q29udGVudCkmJiFiN2EodCkmJiF4N2EodCl9ZnVuY3Rpb24gRDdhKHQsZSl7aWYodC5pc0Jsb2NrfHxlLnByZWZvcm1hdHRlZENvZGUmJnQuaXNDb2RlKXJldHVybntsZWFkaW5nOiIiLHRyYWlsaW5nOiIifTt2YXIgYT1BN2EodC50ZXh0Q29udGVudCk7cmV0dXJuIGEubGVhZGluZ0FzY2lpJiZZbHQoImxlZnQiLHQsZSkmJihhLmxlYWRpbmc9YS5sZWFkaW5nTm9uQXNjaWkpLGEudHJhaWxpbmdBc2NpaSYmWWx0KCJyaWdodCIsdCxlKSYmKGEudHJhaWxpbmc9YS50cmFpbGluZ05vbkFzY2lpKSx7bGVhZGluZzphLmxlYWRpbmcsdHJhaWxpbmc6YS50cmFpbGluZ319ZnVuY3Rpb24gQTdhKHQpe3ZhciBlPXQubWF0Y2goL14oKFsgXHRcclxuXSopKFxzKikpKD86KD89XFMpW1xzXFNdKlxTKT8oKFxzKj8pKFsgXHRcclxuXSopKSQvKTtyZXR1cm57bGVhZGluZzplWzFdLGxlYWRpbmdBc2NpaTplWzJdLGxlYWRpbmdOb25Bc2NpaTplWzNdLHRyYWlsaW5nOmVbNF0sdHJhaWxpbmdOb25Bc2NpaTplWzVdLHRyYWlsaW5nQXNjaWk6ZVs2XX19ZnVuY3Rpb24gWWx0KHQsZSxhKXt2YXIgcixzLG47cmV0dXJuIHQ9PT0ibGVmdCI/KHI9ZS5wcmV2aW91c1NpYmxpbmcscz0vICQvKToocj1lLm5leHRTaWJsaW5nLHM9L14gLyksciYmKHIubm9kZVR5cGU9PT0zP249cy50ZXN0KHIubm9kZVZhbHVlKTphLnByZWZvcm1hdHRlZENvZGUmJnIubm9kZU5hbWU9PT0iQ09ERSI/bj0hMTpyLm5vZGVUeXBlPT09MSYmIUFpZShyKSYmKG49cy50ZXN0KHIudGV4dENvbnRlbnQpKSksbn1mdW5jdGlvbiBfVyh0KXtpZighKHRoaXMgaW5zdGFuY2VvZiBfVykpcmV0dXJuIG5ldyBfVyh0KTt2YXIgZT17cnVsZXM6TXIsaGVhZGluZ1N0eWxlOiJzZXRleHQiLGhyOiIqICogKiIsYnVsbGV0TGlzdE1hcmtlcjoiKiIsY29kZUJsb2NrU3R5bGU6ImluZGVudGVkIixmZW5jZToiYGBgIixlbURlbGltaXRlcjoiXyIsc3Ryb25nRGVsaW1pdGVyOiIqKiIsbGlua1N0eWxlOiJpbmxpbmVkIixsaW5rUmVmZXJlbmNlU3R5bGU6ImZ1bGwiLGJyOiIgICIscHJlZm9ybWF0dGVkQ29kZTohMSxibGFua1JlcGxhY2VtZW50OmkoZnVuY3Rpb24oYSxyKXtyZXR1cm4gci5pc0Jsb2NrP2AKCmA6IiJ9LCJibGFua1JlcGxhY2VtZW50Iiksa2VlcFJlcGxhY2VtZW50OmkoZnVuY3Rpb24oYSxyKXtyZXR1cm4gci5pc0Jsb2NrP2AKCmArci5vdXRlckhUTUwrYAoKYDpyLm91dGVySFRNTH0sImtlZXBSZXBsYWNlbWVudCIpLGRlZmF1bHRSZXBsYWNlbWVudDppKGZ1bmN0aW9uKGEscil7cmV0dXJuIHIuaXNCbG9jaz9gCgpgK2ErYAoKYDphfSwiZGVmYXVsdFJlcGxhY2VtZW50Iil9O3RoaXMub3B0aW9ucz1tN2Eoe30sZSx0KSx0aGlzLnJ1bGVzPW5ldyBXbHQodGhpcy5vcHRpb25zKX1mdW5jdGlvbiBabHQodCl7dmFyIGU9dGhpcztyZXR1cm4gUDdhLmNhbGwodC5jaGlsZE5vZGVzLGZ1bmN0aW9uKGEscil7cj1uZXcgTDdhKHIsZS5vcHRpb25zKTt2YXIgcz0iIjtyZXR1cm4gci5ub2RlVHlwZT09PTM/cz1yLmlzQ29kZT9yLm5vZGVWYWx1ZTplLmVzY2FwZShyLm5vZGVWYWx1ZSk6ci5ub2RlVHlwZT09PTEmJihzPU43YS5jYWxsKGUscikpLFhsdChhLHMpfSwiIil9ZnVuY3Rpb24gSTdhKHQpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMucnVsZXMuZm9yRWFjaChmdW5jdGlvbihhKXt0eXBlb2YgYS5hcHBlbmQ9PSJmdW5jdGlvbiImJih0PVhsdCh0LGEuYXBwZW5kKGUub3B0aW9ucykpKX0pLHQucmVwbGFjZSgvXltcdFxyXG5dKy8sIiIpLnJlcGxhY2UoL1tcdFxyXG5cc10rJC8sIiIpfWZ1bmN0aW9uIE43YSh0KXt2YXIgZT10aGlzLnJ1bGVzLmZvck5vZGUodCksYT1abHQuY2FsbCh0aGlzLHQpLHI9dC5mbGFua2luZ1doaXRlc3BhY2U7cmV0dXJuKHIubGVhZGluZ3x8ci50cmFpbGluZykmJihhPWEudHJpbSgpKSxyLmxlYWRpbmcrZS5yZXBsYWNlbWVudChhLHQsdGhpcy5vcHRpb25zKStyLnRyYWlsaW5nfWZ1bmN0aW9uIFhsdCh0LGUpe3ZhciBhPUJsdCh0KSxyPU9sdChlKSxzPU1hdGgubWF4KHQubGVuZ3RoLWEubGVuZ3RoLGUubGVuZ3RoLXIubGVuZ3RoKSxuPWAKCmAuc3Vic3RyaW5nKDAscyk7cmV0dXJuIGErbityfWZ1bmN0aW9uIFI3YSh0KXtyZXR1cm4gdCE9bnVsbCYmKHR5cGVvZiB0PT0ic3RyaW5nInx8dC5ub2RlVHlwZSYmKHQubm9kZVR5cGU9PT0xfHx0Lm5vZGVUeXBlPT09OXx8dC5ub2RlVHlwZT09PTExKSl9dmFyIGc3YSxxbHQsamx0LE1yLE5pZSxTN2EsUmllLFA3YSxFN2EsVFcsS2x0PWMoKCk9PntpKG03YSwiZXh0ZW5kIik7aShEaWUsInJlcGVhdCIpO2koT2x0LCJ0cmltTGVhZGluZ05ld2xpbmVzIik7aShCbHQsInRyaW1UcmFpbGluZ05ld2xpbmVzIik7aShIbHQsInRyaW1OZXdsaW5lcyIpO2c3YT1bIkFERFJFU1MiLCJBUlRJQ0xFIiwiQVNJREUiLCJBVURJTyIsIkJMT0NLUVVPVEUiLCJCT0RZIiwiQ0FOVkFTIiwiQ0VOVEVSIiwiREQiLCJESVIiLCJESVYiLCJETCIsIkRUIiwiRklFTERTRVQiLCJGSUdDQVBUSU9OIiwiRklHVVJFIiwiRk9PVEVSIiwiRk9STSIsIkZSQU1FU0VUIiwiSDEiLCJIMiIsIkgzIiwiSDQiLCJINSIsIkg2IiwiSEVBREVSIiwiSEdST1VQIiwiSFIiLCJIVE1MIiwiSVNJTkRFWCIsIkxJIiwiTUFJTiIsIk1FTlUiLCJOQVYiLCJOT0ZSQU1FUyIsIk5PU0NSSVBUIiwiT0wiLCJPVVRQVVQiLCJQIiwiUFJFIiwiU0VDVElPTiIsIlRBQkxFIiwiVEJPRFkiLCJURCIsIlRGT09UIiwiVEgiLCJUSEVBRCIsIlRSIiwiVUwiXTtpKEFpZSwiaXNCbG9jayIpO3FsdD1bIkFSRUEiLCJCQVNFIiwiQlIiLCJDT0wiLCJDT01NQU5EIiwiRU1CRUQiLCJIUiIsIklNRyIsIklOUFVUIiwiS0VZR0VOIiwiTElOSyIsIk1FVEEiLCJQQVJBTSIsIlNPVVJDRSIsIlRSQUNLIiwiV0JSIl07aShWbHQsImlzVm9pZCIpO2koYjdhLCJoYXNWb2lkIik7amx0PVsiQSIsIlRBQkxFIiwiVEhFQUQiLCJUQk9EWSIsIlRGT09UIiwiVEgiLCJURCIsIklGUkFNRSIsIlNDUklQVCIsIkFVRElPIiwiVklERU8iXTtpKHY3YSwiaXNNZWFuaW5nZnVsV2hlbkJsYW5rIik7aSh4N2EsImhhc01lYW5pbmdmdWxXaGVuQmxhbmsiKTtpKFBpZSwiaXMiKTtpKFVsdCwiaGFzIik7TXI9e307TXIucGFyYWdyYXBoPXtmaWx0ZXI6InAiLHJlcGxhY2VtZW50OmkoZnVuY3Rpb24odCl7cmV0dXJuYAoKYCt0K2AKCmB9LCJyZXBsYWNlbWVudCIpfSxNci5saW5lQnJlYWs9e2ZpbHRlcjoiYnIiLHJlcGxhY2VtZW50OmkoZnVuY3Rpb24odCxlLGEpe3JldHVybiBhLmJyK2AKYH0sInJlcGxhY2VtZW50Iil9LE1yLmhlYWRpbmc9e2ZpbHRlcjpbImgxIiwiaDIiLCJoMyIsImg0IiwiaDUiLCJoNiJdLHJlcGxhY2VtZW50OmkoZnVuY3Rpb24odCxlLGEpe3ZhciByPU51bWJlcihlLm5vZGVOYW1lLmNoYXJBdCgxKSk7aWYoYS5oZWFkaW5nU3R5bGU9PT0ic2V0ZXh0IiYmcjwzKXt2YXIgcz1EaWUocj09PTE/Ij0iOiItIix0Lmxlbmd0aCk7cmV0dXJuYAoKYCt0K2AKYCtzK2AKCmB9ZWxzZSByZXR1cm5gCgpgK0RpZSgiIyIscikrIiAiK3QrYAoKYH0sInJlcGxhY2VtZW50Iil9LE1yLmJsb2NrcXVvdGU9e2ZpbHRlcjoiYmxvY2txdW90ZSIscmVwbGFjZW1lbnQ6aShmdW5jdGlvbih0KXtyZXR1cm4gdD1IbHQodCkucmVwbGFjZSgvXi9nbSwiPiAiKSxgCgpgK3QrYAoKYH0sInJlcGxhY2VtZW50Iil9LE1yLmxpc3Q9e2ZpbHRlcjpbInVsIiwib2wiXSxyZXBsYWNlbWVudDppKGZ1bmN0aW9uKHQsZSl7dmFyIGE9ZS5wYXJlbnROb2RlO3JldHVybiBhLm5vZGVOYW1lPT09IkxJIiYmYS5sYXN0RWxlbWVudENoaWxkPT09ZT9gCmArdDpgCgpgK3QrYAoKYH0sInJlcGxhY2VtZW50Iil9LE1yLmxpc3RJdGVtPXtmaWx0ZXI6ImxpIixyZXBsYWNlbWVudDppKGZ1bmN0aW9uKHQsZSxhKXt2YXIgcj1hLmJ1bGxldExpc3RNYXJrZXIrIiAgICIscz1lLnBhcmVudE5vZGU7aWYocy5ub2RlTmFtZT09PSJPTCIpe3ZhciBuPXMuZ2V0QXR0cmlidXRlKCJzdGFydCIpLG89QXJyYXkucHJvdG90eXBlLmluZGV4T2YuY2FsbChzLmNoaWxkcmVuLGUpO3I9KG4/TnVtYmVyKG4pK286bysxKSsiLiAgIn12YXIgbD0vXG4kLy50ZXN0KHQpO3JldHVybiB0PUhsdCh0KSsobD9gCmA6IiIpLHQ9dC5yZXBsYWNlKC9cbi9nbSxgCmArIiAiLnJlcGVhdChyLmxlbmd0aCkpLHIrdCsoZS5uZXh0U2libGluZz9gCmA6IiIpfSwicmVwbGFjZW1lbnQiKX0sTXIuaW5kZW50ZWRDb2RlQmxvY2s9e2ZpbHRlcjppKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUuY29kZUJsb2NrU3R5bGU9PT0iaW5kZW50ZWQiJiZ0Lm5vZGVOYW1lPT09IlBSRSImJnQuZmlyc3RDaGlsZCYmdC5maXJzdENoaWxkLm5vZGVOYW1lPT09IkNPREUifSwiZmlsdGVyIikscmVwbGFjZW1lbnQ6aShmdW5jdGlvbih0LGUsYSl7cmV0dXJuYAoKICAgIGArZS5maXJzdENoaWxkLnRleHRDb250ZW50LnJlcGxhY2UoL1xuL2csYAogICAgYCkrYAoKYH0sInJlcGxhY2VtZW50Iil9LE1yLmZlbmNlZENvZGVCbG9jaz17ZmlsdGVyOmkoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5jb2RlQmxvY2tTdHlsZT09PSJmZW5jZWQiJiZ0Lm5vZGVOYW1lPT09IlBSRSImJnQuZmlyc3RDaGlsZCYmdC5maXJzdENoaWxkLm5vZGVOYW1lPT09IkNPREUifSwiZmlsdGVyIikscmVwbGFjZW1lbnQ6aShmdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWUuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiLHM9KHIubWF0Y2goL2xhbmd1YWdlLShcUyspLyl8fFtudWxsLCIiXSlbMV0sbj1lLmZpcnN0Q2hpbGQudGV4dENvbnRlbnQsbz1hLmZlbmNlLmNoYXJBdCgwKSxsPTMsaD1uZXcgUmVnRXhwKCJeIitvKyJ7Myx9IiwiZ20iKSx1O3U9aC5leGVjKG4pOyl1WzBdLmxlbmd0aD49bCYmKGw9dVswXS5sZW5ndGgrMSk7dmFyIGY9RGllKG8sbCk7cmV0dXJuYAoKYCtmK3MrYApgK24ucmVwbGFjZSgvXG4kLywiIikrYApgK2YrYAoKYH0sInJlcGxhY2VtZW50Iil9LE1yLmhvcml6b250YWxSdWxlPXtmaWx0ZXI6ImhyIixyZXBsYWNlbWVudDppKGZ1bmN0aW9uKHQsZSxhKXtyZXR1cm5gCgpgK2EuaHIrYAoKYH0sInJlcGxhY2VtZW50Iil9LE1yLmlubGluZUxpbms9e2ZpbHRlcjppKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUubGlua1N0eWxlPT09ImlubGluZWQiJiZ0Lm5vZGVOYW1lPT09IkEiJiZ0LmdldEF0dHJpYnV0ZSgiaHJlZiIpfSwiZmlsdGVyIikscmVwbGFjZW1lbnQ6aShmdW5jdGlvbih0LGUpe3ZhciBhPWUuZ2V0QXR0cmlidXRlKCJocmVmIik7YSYmKGE9YS5yZXBsYWNlKC8oWygpXSkvZywiXFwkMSIpKTt2YXIgcj1DVyhlLmdldEF0dHJpYnV0ZSgidGl0bGUiKSk7cmV0dXJuIHImJihyPScgIicrci5yZXBsYWNlKC8iL2csJ1xcIicpKyciJyksIlsiK3QrIl0oIithK3IrIikifSwicmVwbGFjZW1lbnQiKX0sTXIucmVmZXJlbmNlTGluaz17ZmlsdGVyOmkoZnVuY3Rpb24odCxlKXtyZXR1cm4gZS5saW5rU3R5bGU9PT0icmVmZXJlbmNlZCImJnQubm9kZU5hbWU9PT0iQSImJnQuZ2V0QXR0cmlidXRlKCJocmVmIil9LCJmaWx0ZXIiKSxyZXBsYWNlbWVudDppKGZ1bmN0aW9uKHQsZSxhKXt2YXIgcj1lLmdldEF0dHJpYnV0ZSgiaHJlZiIpLHM9Q1coZS5nZXRBdHRyaWJ1dGUoInRpdGxlIikpO3MmJihzPScgIicrcysnIicpO3ZhciBuLG87c3dpdGNoKGEubGlua1JlZmVyZW5jZVN0eWxlKXtjYXNlImNvbGxhcHNlZCI6bj0iWyIrdCsiXVtdIixvPSJbIit0KyJdOiAiK3IrczticmVhaztjYXNlInNob3J0Y3V0IjpuPSJbIit0KyJdIixvPSJbIit0KyJdOiAiK3IrczticmVhaztkZWZhdWx0OnZhciBsPXRoaXMucmVmZXJlbmNlcy5sZW5ndGgrMTtuPSJbIit0KyJdWyIrbCsiXSIsbz0iWyIrbCsiXTogIityK3N9cmV0dXJuIHRoaXMucmVmZXJlbmNlcy5wdXNoKG8pLG59LCJyZXBsYWNlbWVudCIpLHJlZmVyZW5jZXM6W10sYXBwZW5kOmkoZnVuY3Rpb24odCl7dmFyIGU9IiI7cmV0dXJuIHRoaXMucmVmZXJlbmNlcy5sZW5ndGgmJihlPWAKCmArdGhpcy5yZWZlcmVuY2VzLmpvaW4oYApgKStgCgpgLHRoaXMucmVmZXJlbmNlcz1bXSksZX0sImFwcGVuZCIpfSxNci5lbXBoYXNpcz17ZmlsdGVyOlsiZW0iLCJpIl0scmVwbGFjZW1lbnQ6aShmdW5jdGlvbih0LGUsYSl7cmV0dXJuIHQudHJpbSgpP2EuZW1EZWxpbWl0ZXIrdCthLmVtRGVsaW1pdGVyOiIifSwicmVwbGFjZW1lbnQiKX0sTXIuc3Ryb25nPXtmaWx0ZXI6WyJzdHJvbmciLCJiIl0scmVwbGFjZW1lbnQ6aShmdW5jdGlvbih0LGUsYSl7cmV0dXJuIHQudHJpbSgpP2Euc3Ryb25nRGVsaW1pdGVyK3QrYS5zdHJvbmdEZWxpbWl0ZXI6IiJ9LCJyZXBsYWNlbWVudCIpfSxNci5jb2RlPXtmaWx0ZXI6aShmdW5jdGlvbih0KXt2YXIgZT10LnByZXZpb3VzU2libGluZ3x8dC5uZXh0U2libGluZyxhPXQucGFyZW50Tm9kZS5ub2RlTmFtZT09PSJQUkUiJiYhZTtyZXR1cm4gdC5ub2RlTmFtZT09PSJDT0RFIiYmIWF9LCJmaWx0ZXIiKSxyZXBsYWNlbWVudDppKGZ1bmN0aW9uKHQpe2lmKCF0KXJldHVybiIiO3Q9dC5yZXBsYWNlKC9ccj9cbnxcci9nLCIgIik7Zm9yKHZhciBlPS9eYHxeIC4qP1teIF0uKiAkfGAkLy50ZXN0KHQpPyIgIjoiIixhPSJgIixyPXQubWF0Y2goL2ArL2dtKXx8W107ci5pbmRleE9mKGEpIT09LTE7KWE9YSsiYCI7cmV0dXJuIGErZSt0K2UrYX0sInJlcGxhY2VtZW50Iil9LE1yLmltYWdlPXtmaWx0ZXI6ImltZyIscmVwbGFjZW1lbnQ6aShmdW5jdGlvbih0LGUpe3ZhciBhPUNXKGUuZ2V0QXR0cmlidXRlKCJhbHQiKSkscj1lLmdldEF0dHJpYnV0ZSgic3JjIil8fCIiLHM9Q1coZS5nZXRBdHRyaWJ1dGUoInRpdGxlIikpLG49cz8nICInK3MrJyInOiIiO3JldHVybiByPyIhWyIrYSsiXSgiK3IrbisiKSI6IiJ9LCJyZXBsYWNlbWVudCIpfTtpKENXLCJjbGVhbkF0dHJpYnV0ZSIpO2koV2x0LCJSdWxlcyIpLFdsdC5wcm90b3R5cGU9e2FkZDppKGZ1bmN0aW9uKHQsZSl7dGhpcy5hcnJheS51bnNoaWZ0KGUpfSwiYWRkIiksa2VlcDppKGZ1bmN0aW9uKHQpe3RoaXMuX2tlZXAudW5zaGlmdCh7ZmlsdGVyOnQscmVwbGFjZW1lbnQ6dGhpcy5rZWVwUmVwbGFjZW1lbnR9KX0sImtlZXAiKSxyZW1vdmU6aShmdW5jdGlvbih0KXt0aGlzLl9yZW1vdmUudW5zaGlmdCh7ZmlsdGVyOnQscmVwbGFjZW1lbnQ6aShmdW5jdGlvbigpe3JldHVybiIifSwicmVwbGFjZW1lbnQiKX0pfSwicmVtb3ZlIiksZm9yTm9kZTppKGZ1bmN0aW9uKHQpe2lmKHQuaXNCbGFuaylyZXR1cm4gdGhpcy5ibGFua1J1bGU7dmFyIGU7cmV0dXJuKGU9RWllKHRoaXMuYXJyYXksdCx0aGlzLm9wdGlvbnMpKXx8KGU9RWllKHRoaXMuX2tlZXAsdCx0aGlzLm9wdGlvbnMpKXx8KGU9RWllKHRoaXMuX3JlbW92ZSx0LHRoaXMub3B0aW9ucykpP2U6dGhpcy5kZWZhdWx0UnVsZX0sImZvck5vZGUiKSxmb3JFYWNoOmkoZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTx0aGlzLmFycmF5Lmxlbmd0aDtlKyspdCh0aGlzLmFycmF5W2VdLGUpfSwiZm9yRWFjaCIpfTtpKEVpZSwiZmluZFJ1bGUiKTtpKHk3YSwiZmlsdGVyVmFsdWUiKTtpKHc3YSwiY29sbGFwc2VXaGl0ZXNwYWNlIik7aShJaWUsInJlbW92ZSIpO2koR2x0LCJuZXh0Iik7TmllPXR5cGVvZiB3aW5kb3c8InUiP3dpbmRvdzp7fTtpKE03YSwiY2FuUGFyc2VIVE1MTmF0aXZlbHkiKTtpKGs3YSwiY3JlYXRlSFRNTFBhcnNlciIpO2koejdhLCJzaG91bGRVc2VBY3RpdmVYIik7UzdhPU03YSgpP05pZS5ET01QYXJzZXI6azdhKCk7aShDN2EsIlJvb3ROb2RlIik7aShfN2EsImh0bWxQYXJzZXIiKTtpKFQ3YSwiaXNQcmVPckNvZGUiKTtpKEw3YSwiTm9kZSIpO2koJDdhLCJpc0JsYW5rIik7aShEN2EsImZsYW5raW5nV2hpdGVzcGFjZSIpO2koQTdhLCJlZGdlV2hpdGVzcGFjZSIpO2koWWx0LCJpc0ZsYW5rZWRCeVdoaXRlc3BhY2UiKTtQN2E9QXJyYXkucHJvdG90eXBlLnJlZHVjZSxFN2E9W1svXFwvZywiXFxcXCJdLFsvXCovZywiXFwqIl0sWy9eLS9nLCJcXC0iXSxbL15cKyAvZywiXFwrICJdLFsvXig9KykvZywiXFwkMSJdLFsvXigjezEsNn0pIC9nLCJcXCQxICJdLFsvYC9nLCJcXGAiXSxbL15+fn4vZywiXFx+fn4iXSxbL1xbL2csIlxcWyJdLFsvXF0vZywiXFxdIl0sWy9ePi9nLCJcXD4iXSxbL18vZywiXFxfIl0sWy9eKFxkKylcLiAvZywiJDFcXC4gIl1dO2koX1csIlR1cm5kb3duU2VydmljZSIpLF9XLnByb3RvdHlwZT17dHVybmRvd246aShmdW5jdGlvbih0KXtpZighUjdhKHQpKXRocm93IG5ldyBUeXBlRXJyb3IodCsiIGlzIG5vdCBhIHN0cmluZywgb3IgYW4gZWxlbWVudC9kb2N1bWVudC9mcmFnbWVudCBub2RlLiIpO2lmKHQ9PT0iIilyZXR1cm4iIjt2YXIgZT1abHQuY2FsbCh0aGlzLG5ldyBDN2EodCx0aGlzLm9wdGlvbnMpKTtyZXR1cm4gSTdhLmNhbGwodGhpcyxlKX0sInR1cm5kb3duIiksdXNlOmkoZnVuY3Rpb24odCl7aWYoQXJyYXkuaXNBcnJheSh0KSlmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl0aGlzLnVzZSh0W2VdKTtlbHNlIGlmKHR5cGVvZiB0PT0iZnVuY3Rpb24iKXQodGhpcyk7ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJwbHVnaW4gbXVzdCBiZSBhIEZ1bmN0aW9uIG9yIGFuIEFycmF5IG9mIEZ1bmN0aW9ucyIpO3JldHVybiB0aGlzfSwidXNlIiksYWRkUnVsZTppKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMucnVsZXMuYWRkKHQsZSksdGhpc30sImFkZFJ1bGUiKSxrZWVwOmkoZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucnVsZXMua2VlcCh0KSx0aGlzfSwia2VlcCIpLHJlbW92ZTppKGZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnJ1bGVzLnJlbW92ZSh0KSx0aGlzfSwicmVtb3ZlIiksZXNjYXBlOmkoZnVuY3Rpb24odCl7cmV0dXJuIEU3YS5yZWR1Y2UoZnVuY3Rpb24oZSxhKXtyZXR1cm4gZS5yZXBsYWNlKGFbMF0sYVsxXSl9LHQpfSwiZXNjYXBlIil9O2koWmx0LCJwcm9jZXNzIik7aShJN2EsInBvc3RQcm9jZXNzIik7aShON2EsInJlcGxhY2VtZW50Rm9yTm9kZSIpO2koWGx0LCJqb2luIik7aShSN2EsImNhbkNvbnZlcnQiKTtUVz1fV30pO3ZhciBDZj17fTtldChDZix7Z2ZtOigpPT5lMHQsaGlnaGxpZ2h0ZWRDb2RlQmxvY2s6KCk9Pk9pZSxzdHJpa2V0aHJvdWdoOigpPT5CaWUsdGFibGVzOigpPT5IaWUsdGFza0xpc3RJdGVtczooKT0+cWllfSk7ZnVuY3Rpb24gT2llKHQpe3QuYWRkUnVsZSgiaGlnaGxpZ2h0ZWRDb2RlQmxvY2siLHtmaWx0ZXI6aShmdW5jdGlvbihlKXt2YXIgYT1lLmZpcnN0Q2hpbGQ7cmV0dXJuIGUubm9kZU5hbWU9PT0iRElWIiYmUWx0LnRlc3QoZS5jbGFzc05hbWUpJiZhJiZhLm5vZGVOYW1lPT09IlBSRSJ9LCJmaWx0ZXIiKSxyZXBsYWNlbWVudDppKGZ1bmN0aW9uKGUsYSxyKXt2YXIgcz1hLmNsYXNzTmFtZXx8IiIsbj0ocy5tYXRjaChRbHQpfHxbbnVsbCwiIl0pWzFdO3JldHVybmAKCmArci5mZW5jZStuK2AKYCthLmZpcnN0Q2hpbGQudGV4dENvbnRlbnQrYApgK3IuZmVuY2UrYAoKYH0sInJlcGxhY2VtZW50Iil9KX1mdW5jdGlvbiBCaWUodCl7dC5hZGRSdWxlKCJzdHJpa2V0aHJvdWdoIix7ZmlsdGVyOlsiZGVsIiwicyIsInN0cmlrZSJdLHJlcGxhY2VtZW50OmkoZnVuY3Rpb24oZSl7cmV0dXJuIn4iK2UrIn4ifSwicmVwbGFjZW1lbnQiKX0pfWZ1bmN0aW9uIEZpZSh0KXt2YXIgZT10LnBhcmVudE5vZGU7cmV0dXJuIGUubm9kZU5hbWU9PT0iVEhFQUQifHxlLmZpcnN0Q2hpbGQ9PT10JiYoZS5ub2RlTmFtZT09PSJUQUJMRSJ8fEI3YShlKSkmJk83YS5jYWxsKHQuY2hpbGROb2RlcyxmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlTmFtZT09PSJUSCJ9KX1mdW5jdGlvbiBCN2EodCl7dmFyIGU9dC5wcmV2aW91c1NpYmxpbmc7cmV0dXJuIHQubm9kZU5hbWU9PT0iVEJPRFkiJiYoIWV8fGUubm9kZU5hbWU9PT0iVEhFQUQiJiYvXlxzKiQvaS50ZXN0KGUudGV4dENvbnRlbnQpKX1mdW5jdGlvbiBKbHQodCxlKXt2YXIgYT1GN2EuY2FsbChlLnBhcmVudE5vZGUuY2hpbGROb2RlcyxlKSxyPSIgIjtyZXR1cm4gYT09PTAmJihyPSJ8ICIpLHIrdCsiIHwifWZ1bmN0aW9uIEhpZSh0KXt0LmtlZXAoZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZU5hbWU9PT0iVEFCTEUiJiYhRmllKGEucm93c1swXSl9KTtmb3IodmFyIGUgaW4geDgpdC5hZGRSdWxlKGUseDhbZV0pfWZ1bmN0aW9uIHFpZSh0KXt0LmFkZFJ1bGUoInRhc2tMaXN0SXRlbXMiLHtmaWx0ZXI6aShmdW5jdGlvbihlKXtyZXR1cm4gZS50eXBlPT09ImNoZWNrYm94IiYmZS5wYXJlbnROb2RlLm5vZGVOYW1lPT09IkxJIn0sImZpbHRlciIpLHJlcGxhY2VtZW50OmkoZnVuY3Rpb24oZSxhKXtyZXR1cm4oYS5jaGVja2VkPyJbeF0iOiJbIF0iKSsiICJ9LCJyZXBsYWNlbWVudCIpfSl9ZnVuY3Rpb24gZTB0KHQpe3QudXNlKFtPaWUsQmllLEhpZSxxaWVdKX12YXIgUWx0LEY3YSxPN2EseDgsdDB0PWMoKCk9PntRbHQ9L2hpZ2hsaWdodC0oPzp0ZXh0fHNvdXJjZSktKFthLXowLTldKykvO2koT2llLCJoaWdobGlnaHRlZENvZGVCbG9jayIpO2koQmllLCJzdHJpa2V0aHJvdWdoIik7RjdhPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLE83YT1BcnJheS5wcm90b3R5cGUuZXZlcnkseDg9e307eDgudGFibGVDZWxsPXtmaWx0ZXI6WyJ0aCIsInRkIl0scmVwbGFjZW1lbnQ6aShmdW5jdGlvbih0LGUpe3JldHVybiBKbHQodCxlKX0sInJlcGxhY2VtZW50Iil9LHg4LnRhYmxlUm93PXtmaWx0ZXI6InRyIixyZXBsYWNlbWVudDppKGZ1bmN0aW9uKHQsZSl7dmFyIGE9IiIscj17bGVmdDoiOi0tIixyaWdodDoiLS06IixjZW50ZXI6IjotOiJ9O2lmKEZpZShlKSlmb3IodmFyIHM9MDtzPGUuY2hpbGROb2Rlcy5sZW5ndGg7cysrKXt2YXIgbj0iLS0tIixvPShlLmNoaWxkTm9kZXNbc10uZ2V0QXR0cmlidXRlKCJhbGlnbiIpfHwiIikudG9Mb3dlckNhc2UoKTtvJiYobj1yW29dfHxuKSxhKz1KbHQobixlLmNoaWxkTm9kZXNbc10pfXJldHVybmAKYCt0KyhhP2AKYCthOiIiKX0sInJlcGxhY2VtZW50Iil9LHg4LnRhYmxlPXtmaWx0ZXI6aShmdW5jdGlvbih0KXtyZXR1cm4gdC5ub2RlTmFtZT09PSJUQUJMRSImJkZpZSh0LnJvd3NbMF0pfSwiZmlsdGVyIikscmVwbGFjZW1lbnQ6aShmdW5jdGlvbih0KXtyZXR1cm4gdD10LnJlcGxhY2UoYAoKYCxgCmApLGAKCmArdCtgCgpgfSwicmVwbGFjZW1lbnQiKX0seDgudGFibGVTZWN0aW9uPXtmaWx0ZXI6WyJ0aGVhZCIsInRib2R5IiwidGZvb3QiXSxyZXBsYWNlbWVudDppKGZ1bmN0aW9uKHQpe3JldHVybiB0fSwicmVwbGFjZW1lbnQiKX07aShGaWUsImlzSGVhZGluZ1JvdyIpO2koQjdhLCJpc0ZpcnN0VGJvZHkiKTtpKEpsdCwiY2VsbCIpO2koSGllLCJ0YWJsZXMiKTtpKHFpZSwidGFza0xpc3RJdGVtcyIpO2koZTB0LCJnZm0iKX0pO3ZhciBWaWUsamllPWMoKCk9PntWaWU9WDEoVjF0KCksMSk7TXJ0KCk7VDJ0KCk7ZW90KCk7dW90KCk7Tmx0KCk7Rmx0KCk7S2x0KCk7dDB0KCl9KTt2YXIgTFcscjB0PWMoKCk9PntqaWUoKTtMVz1jbGFzcyB0e3N0YXRpY3tpKHRoaXMsIk1kUGFyc2VkUmVzdWx0Iil9c3RhdGljIGFzeW5jIGNyZWF0ZUZyb21NYXJrZG93blN0cmluZyhlKXtsZXQgYT1uZXcgdDtyZXR1cm4gYXdhaXQgYS51cGRhdGVGcm9tTWFya2Rvd25TdHJpbmcoZSksYX1hc3luYyB1cGRhdGVGcm9tTWFya2Rvd25TdHJpbmcoZSl7bGV0IGEscj1hd2FpdCB0ZigpLnVzZShwOCkudXNlKGQ4KS51c2UoZjgsWyJ5YW1sIiwidG9tbCJdKS51c2UodjgpLnVzZShiOCkudXNlKCgpPT5zPT57Y29uc29sZS5kaXIocyk7bGV0IG49cy5jaGlsZHJlbi5maW5kKG89Pm8udHlwZT09PSJ5YW1sIik7biYmKGE9bi52YWx1ZSl9KS5wcm9jZXNzKGUpO3RoaXMuaHRtbD1yLnRvU3RyaW5nKCksYT90aGlzLmZyb250bWF0dGVyRGF0YT1hd2FpdCBWaWUueWFtbFN0cmluZ1RvT2JqZWN0KGEpOnRoaXMuZnJvbnRtYXR0ZXJEYXRhPXt9fX19KTt2YXIgeTg9e307ZXQoeTgse1NtYXJ0TWFya2Rvd246KCk9PlVpZX0pO3ZhciBVaWUsV2llPWMoKCk9PntqaWUoKTtyMHQoKTtVaWU9Y2xhc3MgdHtzdGF0aWN7aSh0aGlzLCJTbWFydE1hcmtkb3duIil9c3RhdGljIGFzeW5jIGVhc3lNYXJrZG93blRvSHRtbChlKXtyZXR1cm4oYXdhaXQgbmV3IHQoKS5nZXRNZFBhcnNlZFJlc3VsdEZyb21NYXJrZG93bihlKSkuaHRtbH1jb25zdHJ1Y3Rvcigpe31hc3luYyBnZXRNZFBhcnNlZFJlc3VsdEZyb21NYXJrZG93bihlKXtyZXR1cm4gYXdhaXQgTFcuY3JlYXRlRnJvbU1hcmtkb3duU3RyaW5nKGUpfWh0bWxUb01hcmtkb3duKGUpe2xldCBhPW5ldyBUVyh7aGVhZGluZ1N0eWxlOiJhdHgiLGNvZGVCbG9ja1N0eWxlOiJmZW5jZWQifSk7cmV0dXJuIGEudXNlKENmLmdmbSksYS50dXJuZG93bihlKX19fSk7dmFyIGMwdD13dCh4cz0+eyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoeHMsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLHhzLlBhdGhFcnJvcj14cy5Ub2tlbkRhdGE9dm9pZCAwLHhzLnBhcnNlPVhpZSx4cy5jb21waWxlPVY3YSx4cy5tYXRjaD1VN2EseHMucGF0aFRvUmVnZXhwPW8wdCx4cy5zdHJpbmdpZnk9WTdhO3ZhciBHaWU9Ii8iLFlpZT1pKHQ9PnQsIk5PT1BfVkFMVUUiKSxpMHQ9L15bJF9ccHtJRF9TdGFydH1dJC91LFppZT0vXlskXHUyMDBjXHUyMDBkXHB7SURfQ29udGludWV9XSQvdSxIN2E9eyJ7IjoieyIsIn0iOiJ9IiwiKCI6IigiLCIpIjoiKSIsIlsiOiJbIiwiXSI6Il0iLCIrIjoiKyIsIj8iOiI/IiwiISI6IiEifTtmdW5jdGlvbiBxN2EodCl7cmV0dXJuIHQucmVwbGFjZSgvW3t9KClcW1xdKz8hOipcXF0vZywiXFwkJiIpfWkocTdhLCJlc2NhcGVUZXh0Iik7ZnVuY3Rpb24gdzIodCl7cmV0dXJuIHQucmVwbGFjZSgvWy4rKj9eJHt9KClbXF18L1xcXS9nLCJcXCQmIil9aSh3MiwiZXNjYXBlIik7dmFyICRXPWNsYXNze3N0YXRpY3tpKHRoaXMsIlRva2VuRGF0YSIpfWNvbnN0cnVjdG9yKGUsYSl7dGhpcy50b2tlbnM9ZSx0aGlzLm9yaWdpbmFsUGF0aD1hfX07eHMuVG9rZW5EYXRhPSRXO3ZhciBQMD1jbGFzcyBleHRlbmRzIFR5cGVFcnJvcntzdGF0aWN7aSh0aGlzLCJQYXRoRXJyb3IiKX1jb25zdHJ1Y3RvcihlLGEpe2xldCByPWU7YSYmKHIrPWA6ICR7YX1gKSxyKz0iOyB2aXNpdCBodHRwczovL2dpdC5uZXcvcGF0aFRvUmVnZXhwRXJyb3IgZm9yIGluZm8iLHN1cGVyKHIpLHRoaXMub3JpZ2luYWxQYXRoPWF9fTt4cy5QYXRoRXJyb3I9UDA7ZnVuY3Rpb24gWGllKHQsZT17fSl7bGV0e2VuY29kZVBhdGg6YT1ZaWV9PWUscj1bLi4udF0scz1bXSxuPTAsbz0wO2Z1bmN0aW9uIGwoKXtsZXQgdT0iIjtpZihpMHQudGVzdChyW25dKSlkbyB1Kz1yW24rK107d2hpbGUoWmllLnRlc3QocltuXSkpO2Vsc2UgaWYocltuXT09PSciJyl7bGV0IGY9bjtmb3IoO24rKzxyLmxlbmd0aDspe2lmKHJbbl09PT0nIicpe24rKyxmPTA7YnJlYWt9cltuXT09PSJcXCImJm4rKyx1Kz1yW25dfWlmKGYpdGhyb3cgbmV3IFAwKGBVbnRlcm1pbmF0ZWQgcXVvdGUgYXQgaW5kZXggJHtmfWAsdCl9aWYoIXUpdGhyb3cgbmV3IFAwKGBNaXNzaW5nIHBhcmFtZXRlciBuYW1lIGF0IGluZGV4ICR7bn1gLHQpO3JldHVybiB1fWZvcihpKGwsIm5hbWUiKTtuPHIubGVuZ3RoOyl7bGV0IHU9cltuXSxmPUg3YVt1XTtmP3MucHVzaCh7dHlwZTpmLGluZGV4Om4rKyx2YWx1ZTp1fSk6dT09PSJcXCI/cy5wdXNoKHt0eXBlOiJlc2NhcGUiLGluZGV4Om4rKyx2YWx1ZTpyW24rK119KTp1PT09IjoiP3MucHVzaCh7dHlwZToicGFyYW0iLGluZGV4Om4rKyx2YWx1ZTpsKCl9KTp1PT09IioiP3MucHVzaCh7dHlwZToid2lsZGNhcmQiLGluZGV4Om4rKyx2YWx1ZTpsKCl9KTpzLnB1c2goe3R5cGU6ImNoYXIiLGluZGV4Om4rKyx2YWx1ZTp1fSl9cy5wdXNoKHt0eXBlOiJlbmQiLGluZGV4Om4sdmFsdWU6IiJ9KTtmdW5jdGlvbiBoKHUpe2xldCBmPVtdO2Zvcig7Oyl7bGV0IHA9c1tvKytdO2lmKHAudHlwZT09PXUpYnJlYWs7aWYocC50eXBlPT09ImNoYXIifHxwLnR5cGU9PT0iZXNjYXBlIil7bGV0IGc9cC52YWx1ZSx2PXNbb107Zm9yKDt2LnR5cGU9PT0iY2hhciJ8fHYudHlwZT09PSJlc2NhcGUiOylnKz12LnZhbHVlLHY9c1srK29dO2YucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6YShnKX0pO2NvbnRpbnVlfWlmKHAudHlwZT09PSJwYXJhbSJ8fHAudHlwZT09PSJ3aWxkY2FyZCIpe2YucHVzaCh7dHlwZTpwLnR5cGUsbmFtZTpwLnZhbHVlfSk7Y29udGludWV9aWYocC50eXBlPT09InsiKXtmLnB1c2goe3R5cGU6Imdyb3VwIix0b2tlbnM6aCgifSIpfSk7Y29udGludWV9dGhyb3cgbmV3IFAwKGBVbmV4cGVjdGVkICR7cC50eXBlfSBhdCBpbmRleCAke3AuaW5kZXh9LCBleHBlY3RlZCAke3V9YCx0KX1yZXR1cm4gZn1yZXR1cm4gaShoLCJjb25zdW1lVW50aWwiKSxuZXcgJFcoaCgiZW5kIiksdCl9aShYaWUsInBhcnNlIik7ZnVuY3Rpb24gVjdhKHQsZT17fSl7bGV0e2VuY29kZTphPWVuY29kZVVSSUNvbXBvbmVudCxkZWxpbWl0ZXI6cj1HaWV9PWUscz10eXBlb2YgdD09Im9iamVjdCI/dDpYaWUodCxlKSxuPXMwdChzLnRva2VucyxyLGEpO3JldHVybiBpKGZ1bmN0aW9uKGw9e30pe2xldFtoLC4uLnVdPW4obCk7aWYodS5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcihgTWlzc2luZyBwYXJhbWV0ZXJzOiAke3Uuam9pbigiLCAiKX1gKTtyZXR1cm4gaH0sInBhdGgiKX1pKFY3YSwiY29tcGlsZSIpO2Z1bmN0aW9uIHMwdCh0LGUsYSl7bGV0IHI9dC5tYXAocz0+ajdhKHMsZSxhKSk7cmV0dXJuIHM9PntsZXQgbj1bIiJdO2ZvcihsZXQgbyBvZiByKXtsZXRbbCwuLi5oXT1vKHMpO25bMF0rPWwsbi5wdXNoKC4uLmgpfXJldHVybiBufX1pKHMwdCwidG9rZW5zVG9GdW5jdGlvbiIpO2Z1bmN0aW9uIGo3YSh0LGUsYSl7aWYodC50eXBlPT09InRleHQiKXJldHVybigpPT5bdC52YWx1ZV07aWYodC50eXBlPT09Imdyb3VwIil7bGV0IHM9czB0KHQudG9rZW5zLGUsYSk7cmV0dXJuIG49PntsZXRbbywuLi5sXT1zKG4pO3JldHVybiBsLmxlbmd0aD9bIiJdOltvXX19bGV0IHI9YXx8WWllO3JldHVybiB0LnR5cGU9PT0id2lsZGNhcmQiJiZhIT09ITE/cz0+e2xldCBuPXNbdC5uYW1lXTtpZihuPT1udWxsKXJldHVyblsiIix0Lm5hbWVdO2lmKCFBcnJheS5pc0FycmF5KG4pfHxuLmxlbmd0aD09PTApdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgIiR7dC5uYW1lfSIgdG8gYmUgYSBub24tZW1wdHkgYXJyYXlgKTtyZXR1cm5bbi5tYXAoKG8sbCk9PntpZih0eXBlb2YgbyE9InN0cmluZyIpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgIiR7dC5uYW1lfS8ke2x9IiB0byBiZSBhIHN0cmluZ2ApO3JldHVybiByKG8pfSkuam9pbihlKV19OnM9PntsZXQgbj1zW3QubmFtZV07aWYobj09bnVsbClyZXR1cm5bIiIsdC5uYW1lXTtpZih0eXBlb2YgbiE9InN0cmluZyIpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgIiR7dC5uYW1lfSIgdG8gYmUgYSBzdHJpbmdgKTtyZXR1cm5bcihuKV19fWkoajdhLCJ0b2tlblRvRnVuY3Rpb24iKTtmdW5jdGlvbiBVN2EodCxlPXt9KXtsZXR7ZGVjb2RlOmE9ZGVjb2RlVVJJQ29tcG9uZW50LGRlbGltaXRlcjpyPUdpZX09ZSx7cmVnZXhwOnMsa2V5czpufT1vMHQodCxlKSxvPW4ubWFwKGw9PmE9PT0hMT9ZaWU6bC50eXBlPT09InBhcmFtIj9hOmg9Pmguc3BsaXQocikubWFwKGEpKTtyZXR1cm4gaShmdW5jdGlvbihoKXtsZXQgdT1zLmV4ZWMoaCk7aWYoIXUpcmV0dXJuITE7bGV0IGY9dVswXSxwPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGxldCBnPTE7Zzx1Lmxlbmd0aDtnKyspe2lmKHVbZ109PT12b2lkIDApY29udGludWU7bGV0IHY9bltnLTFdLHg9b1tnLTFdO3Bbdi5uYW1lXT14KHVbZ10pfXJldHVybntwYXRoOmYscGFyYW1zOnB9fSwibWF0Y2giKX1pKFU3YSwibWF0Y2giKTtmdW5jdGlvbiBvMHQodCxlPXt9KXtsZXR7ZGVsaW1pdGVyOmE9R2llLGVuZDpyPSEwLHNlbnNpdGl2ZTpzPSExLHRyYWlsaW5nOm49ITB9PWUsbz1bXSxsPXM/IiI6ImkiLGg9W107Zm9yKGxldCBwIG9mIG4wdCh0LFtdKSl7bGV0IGc9dHlwZW9mIHA9PSJvYmplY3QiP3A6WGllKHAsZSk7Zm9yKGxldCB2IG9mIERXKGcudG9rZW5zLDAsW10pKWgucHVzaChXN2EodixhLG8sZy5vcmlnaW5hbFBhdGgpKX1sZXQgdT1gXig/OiR7aC5qb2luKCJ8Iil9KWA7cmV0dXJuIG4mJih1Kz1gKD86JHt3MihhKX0kKT9gKSx1Kz1yPyIkIjpgKD89JHt3MihhKX18JClgLHtyZWdleHA6bmV3IFJlZ0V4cCh1LGwpLGtleXM6b319aShvMHQsInBhdGhUb1JlZ2V4cCIpO2Z1bmN0aW9uIG4wdCh0LGUpe2lmKEFycmF5LmlzQXJyYXkodCkpZm9yKGxldCBhIG9mIHQpbjB0KGEsZSk7ZWxzZSBlLnB1c2godCk7cmV0dXJuIGV9aShuMHQsInBhdGhzVG9BcnJheSIpO2Z1bmN0aW9uKkRXKHQsZSxhKXtpZihlPT09dC5sZW5ndGgpcmV0dXJuIHlpZWxkIGE7bGV0IHI9dFtlXTtpZihyLnR5cGU9PT0iZ3JvdXAiKWZvcihsZXQgcyBvZiBEVyhyLnRva2VucywwLGEuc2xpY2UoKSkpeWllbGQqRFcodCxlKzEscyk7ZWxzZSBhLnB1c2gocik7eWllbGQqRFcodCxlKzEsYSl9aShEVywiZmxhdHRlbiIpO2Z1bmN0aW9uIFc3YSh0LGUsYSxyKXtsZXQgcz0iIixuPSIiLG89ITA7Zm9yKGxldCBsIG9mIHQpe2lmKGwudHlwZT09PSJ0ZXh0Iil7cys9dzIobC52YWx1ZSksbis9bC52YWx1ZSxvfHwobz1sLnZhbHVlLmluY2x1ZGVzKGUpKTtjb250aW51ZX1pZihsLnR5cGU9PT0icGFyYW0ifHxsLnR5cGU9PT0id2lsZGNhcmQiKXtpZighbyYmIW4pdGhyb3cgbmV3IFAwKGBNaXNzaW5nIHRleHQgYmVmb3JlICIke2wubmFtZX0iICR7bC50eXBlfWAscik7bC50eXBlPT09InBhcmFtIj9zKz1gKCR7RzdhKGUsbz8iIjpuKX0rKWA6cys9IihbXFxzXFxTXSspIixhLnB1c2gobCksbj0iIixvPSExO2NvbnRpbnVlfX1yZXR1cm4gc31pKFc3YSwidG9SZWdFeHBTb3VyY2UiKTtmdW5jdGlvbiBHN2EodCxlKXtyZXR1cm4gZS5sZW5ndGg8Mj90Lmxlbmd0aDwyP2BbXiR7dzIodCtlKX1dYDpgKD86KD8hJHt3Mih0KX0pW14ke3cyKGUpfV0pYDp0Lmxlbmd0aDwyP2AoPzooPyEke3cyKGUpfSlbXiR7dzIodCl9XSlgOmAoPzooPyEke3cyKGUpfXwke3cyKHQpfSlbXFxzXFxTXSlgfWkoRzdhLCJuZWdhdGUiKTtmdW5jdGlvbiBsMHQodCl7bGV0IGU9IiIsYT0wO2Z1bmN0aW9uIHIocyl7cmV0dXJuIFo3YShzKSYmWDdhKHRbYV0pP3M6SlNPTi5zdHJpbmdpZnkocyl9Zm9yKGkociwibmFtZSIpO2E8dC5sZW5ndGg7KXtsZXQgcz10W2ErK107aWYocy50eXBlPT09InRleHQiKXtlKz1xN2Eocy52YWx1ZSk7Y29udGludWV9aWYocy50eXBlPT09Imdyb3VwIil7ZSs9YHske2wwdChzLnRva2Vucyl9fWA7Y29udGludWV9aWYocy50eXBlPT09InBhcmFtIil7ZSs9YDoke3Iocy5uYW1lKX1gO2NvbnRpbnVlfWlmKHMudHlwZT09PSJ3aWxkY2FyZCIpe2UrPWAqJHtyKHMubmFtZSl9YDtjb250aW51ZX10aHJvdyBuZXcgVHlwZUVycm9yKGBVbmtub3duIHRva2VuIHR5cGU6ICR7cy50eXBlfWApfXJldHVybiBlfWkobDB0LCJzdHJpbmdpZnlUb2tlbnMiKTtmdW5jdGlvbiBZN2EodCl7cmV0dXJuIGwwdCh0LnRva2Vucyl9aShZN2EsInN0cmluZ2lmeSIpO2Z1bmN0aW9uIFo3YSh0KXtsZXRbZSwuLi5hXT10O3JldHVybiBpMHQudGVzdChlKSYmYS5ldmVyeShyPT5aaWUudGVzdChyKSl9aShaN2EsImlzTmFtZVNhZmUiKTtmdW5jdGlvbiBYN2EodCl7cmV0dXJuIHQmJnQudHlwZT09PSJ0ZXh0Ij8hWmllLnRlc3QodC52YWx1ZVswXSk6ITB9aShYN2EsImlzTmV4dE5hbWVTYWZlIil9KTt2YXIgS2llLFFpZT1jKCgpPT57eXUoKTtjcygpO0tpZT1YMShjMHQoKSwxKX0pO3ZhciBBVyxkMHQ9YygoKT0+e1FpZSgpO0FXPWNsYXNze3N0YXRpY3tpKHRoaXMsIlF1ZXJ5UGFyYW1zIil9Y29uc3RydWN0b3IoKXt9Z2V0QWxsQXNPYmplY3QoKXtsZXQgZT1uZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO3JldHVybiBPYmplY3QuZnJvbUVudHJpZXMoZS5lbnRyaWVzKCkpfXNldFF1ZXJ5UGFyYW0oZSxhLHI9InJlcGxhY2UiKXt2YXIgcz1uZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO3Muc2V0KGUsYSkscj09PSJwdXNoIj9oaXN0b3J5LnB1c2hTdGF0ZShudWxsLG51bGwsIj8iK3MudG9TdHJpbmcoKSk6aGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCxudWxsLCI/IitzLnRvU3RyaW5nKCkpfWRlbGV0ZVF1ZXJ5UGFyYW0oZSxhPSJyZXBsYWNlIil7dmFyIHI9bmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtyLmRlbGV0ZShlKSxhPT09InB1c2giP2hpc3RvcnkucHVzaFN0YXRlKG51bGwsbnVsbCwiPyIrci50b1N0cmluZygpKTpoaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLG51bGwsIj8iK3IudG9TdHJpbmcoKSl9Z2V0UXVlcnlQYXJhbShlKXtyZXR1cm4gdGhpcy5nZXRBbGxBc09iamVjdCgpW2VdfX19KTt2YXIgdkExLEppZSxwMHQ9YygoKT0+e1FpZSgpO2QwdCgpO3ZBMT1pKHQ9Pntjb25zb2xlLmxvZyhgJWNbUm91dGVyXSVjICR7dH1gLCJjb2xvcjogcmdiKDI1NSwgMTA1LCAxMDApOyIsImNvbG9yOiBpbmhlcml0Iil9LCJyb3V0ZUxvZyIpLEppZT1jbGFzcyB0e3N0YXRpY3tpKHRoaXMsIlNtYXJ0Um91dGVyIil9Y29uc3RydWN0b3IoZSxhPSIiKXt0aGlzLm9wdGlvbnM9e2RlYnVnOiExfSx0aGlzLnF1ZXJ5UGFyYW1zPW5ldyBBVyx0aGlzLnJvdXRlcz1bXSx0aGlzLm9wdGlvbnM9ey4uLnRoaXMub3B0aW9ucywuLi5lfSx0aGlzLmJhc2VQYXRoPWEsdGhpcy5wb3BzdGF0ZUxpc3RlbmVyPXI9PntyLnByZXZlbnREZWZhdWx0KCksdGhpcy5faGFuZGxlUm91dGVTdGF0ZSgpfSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLHRoaXMucG9wc3RhdGVMaXN0ZW5lcil9Y3JlYXRlU3ViUm91dGVyKGUsYSl7bGV0IHI9YCR7dGhpcy5iYXNlUGF0aH0ke2V9YDtyZXR1cm4gbmV3IHQoey4uLnRoaXMub3B0aW9ucywuLi5hfSxyKX1hc3luYyBwdXNoVXJsKGU9Ii8iLGE9e30pe2xldCByPWAke3RoaXMuYmFzZVBhdGh9JHtlfWA7ciE9PXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZT93aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoYSx3aW5kb3cuZG9jdW1lbnQudGl0bGUscik6d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKGEsd2luZG93LmRvY3VtZW50LnRpdGxlLHIpLGF3YWl0IHRoaXMuX2hhbmRsZVJvdXRlU3RhdGUoKX1vbihlLGEpe2xldCByPWAke3RoaXMuYmFzZVBhdGh9JHtlfWAscz17bWF0Y2hGdW5jdGlvbjpLaWUubWF0Y2gociksaGFuZGxlcjphfTtyZXR1cm4gdGhpcy5yb3V0ZXMucHVzaChzKSxpKCgpPT57dGhpcy5yb3V0ZXMuc3BsaWNlKHRoaXMucm91dGVzLmluZGV4T2YocyksMSl9LCJyZW1vdmVGdW5jdGlvbiIpfWFzeW5jIF9oYW5kbGVSb3V0ZVN0YXRlKCl7bGV0IGU9d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLGE9dGhpcy5yb3V0ZXMuZmlsdGVyKHI9PiEhci5tYXRjaEZ1bmN0aW9uKGUpKTtmb3IobGV0IHIgb2YgYSl7bGV0IHM9ci5tYXRjaEZ1bmN0aW9uKGUpO3IuaGFuZGxlcih7Li4ucy52YWx1ZU9mKCkscXVlcnlQYXJhbXM6dGhpcy5xdWVyeVBhcmFtcy5nZXRBbGxBc09iamVjdCgpfSl9fWRlc3Ryb3koKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9wc3RhdGUiLHRoaXMucG9wc3RhdGVMaXN0ZW5lciksdGhpcy5yb3V0ZXM9W119fX0pO3ZhciBZbj17fTtldChZbix7U21hcnRSb3V0ZXI6KCk9PkppZX0pO3ZhciBlc2U9YygoKT0+e3AwdCgpfSk7dmFyIHUwdD1jKCgpPT57T2ooKTtqaigpfSk7ZnVuY3Rpb24gTTIodCxlKXtyZXR1cm4gdD4+PmV8dDw8MzItZX1mdW5jdGlvbiB0aGEodCxlKXtsZXQgYT1lWzBdLHI9ZVsxXSxzPWVbMl0sbj1lWzNdLG89ZVs0XSxsPWVbNV0saD1lWzZdLHU9ZVs3XTtmb3IobGV0IGY9MDtmPDY0O2YrKyl7aWYoZj49MTYpe2xldCB5PU0yKHRbZi0xNV0sNyleTTIodFtmLTE1XSwxOCledFtmLTE1XT4+PjMsTT1NMih0W2YtMl0sMTcpXk0yKHRbZi0yXSwxOSledFtmLTJdPj4+MTA7dFtmXT10W2YtMTZdK3krdFtmLTddK00+Pj4wfWxldCBwPU0yKG8sNileTTIobywxMSleTTIobywyNSksZz1vJmxefm8maCx2PXUrcCtnK0o3YVtmXSt0W2ZdPj4+MCx4PU0yKGEsMileTTIoYSwxMyleTTIoYSwyMiksYj1hJnJeYSZzXnImcyxtPXgrYj4+PjA7dT1oLGg9bCxsPW8sbz1uK3Y+Pj4wLG49cyxzPXIscj1hLGE9dittPj4+MH1lWzBdPWVbMF0rYT4+PjAsZVsxXT1lWzFdK3I+Pj4wLGVbMl09ZVsyXStzPj4+MCxlWzNdPWVbM10rbj4+PjAsZVs0XT1lWzRdK28+Pj4wLGVbNV09ZVs1XStsPj4+MCxlWzZdPWVbNl0raD4+PjAsZVs3XT1lWzddK3U+Pj4wfWZ1bmN0aW9uIHRzZSh0KXtsZXQgZT1bLi4uZWhhXSxhPXQubGVuZ3RoLHI9YSo4LHM9YSU2NDw1Nj81Ni1hJTY0OjEyMC1hJTY0LG49bmV3IFVpbnQ4QXJyYXkoYStzKzgpO24uc2V0KHQpLG5bYV09MTI4O2xldCBvPW5ldyBEYXRhVmlldyhuLmJ1ZmZlcik7by5zZXRVaW50MzIobi5sZW5ndGgtOCwwLCExKSxvLnNldFVpbnQzMihuLmxlbmd0aC00LHI+Pj4wLCExKTtmb3IobGV0IGg9MDtoPG4ubGVuZ3RoO2grPTY0KXtsZXQgdT1uZXcgQXJyYXkoNjQpO2ZvcihsZXQgZj0wO2Y8MTY7ZisrKXVbZl09by5nZXRVaW50MzIoaCtmKjQsITEpO3RoYSh1LGUpfWxldCBsPSIiO2ZvcihsZXQgaD0wO2g8ODtoKyspbCs9ZVtoXS50b1N0cmluZygxNikucGFkU3RhcnQoOCwiMCIpO3JldHVybiBsfXZhciBKN2EsZWhhLGYwdD1jKCgpPT57SjdhPVsxMTE2MzUyNDA4LDE4OTk0NDc0NDEsMzA0OTMyMzQ3MSwzOTIxMDA5NTczLDk2MTk4NzE2MywxNTA4OTcwOTkzLDI0NTM2MzU3NDgsMjg3MDc2MzIyMSwzNjI0MzgxMDgwLDMxMDU5ODQwMSw2MDcyMjUyNzgsMTQyNjg4MTk4NywxOTI1MDc4Mzg4LDIxNjIwNzgyMDYsMjYxNDg4ODEwMywzMjQ4MjIyNTgwLDM4MzUzOTA0MDEsNDAyMjIyNDc3NCwyNjQzNDcwNzgsNjA0ODA3NjI4LDc3MDI1NTk4MywxMjQ5MTUwMTIyLDE1NTUwODE2OTIsMTk5NjA2NDk4NiwyNTU0MjIwODgyLDI4MjE4MzQzNDksMjk1Mjk5NjgwOCwzMjEwMzEzNjcxLDMzMzY1NzE4OTEsMzU4NDUyODcxMSwxMTM5MjY5OTMsMzM4MjQxODk1LDY2NjMwNzIwNSw3NzM1Mjk5MTIsMTI5NDc1NzM3MiwxMzk2MTgyMjkxLDE2OTUxODM3MDAsMTk4NjY2MTA1MSwyMTc3MDI2MzUwLDI0NTY5NTYwMzcsMjczMDQ4NTkyMSwyODIwMzAyNDExLDMyNTk3MzA4MDAsMzM0NTc2NDc3MSwzNTE2MDY1ODE3LDM2MDAzNTI4MDQsNDA5NDU3MTkwOSwyNzU0MjMzNDQsNDMwMjI3NzM0LDUwNjk0ODYxNiw2NTkwNjA1NTYsODgzOTk3ODc3LDk1ODEzOTU3MSwxMzIyODIyMjE4LDE1MzcwMDIwNjMsMTc0Nzg3Mzc3OSwxOTU1NTYyMjIyLDIwMjQxMDQ4MTUsMjIyNzczMDQ1MiwyMzYxODUyNDI0LDI0Mjg0MzY0NzQsMjc1NjczNDE4NywzMjA0MDMxNDc5LDMzMjkzMjUyOThdLGVoYT1bMTc3OTAzMzcwMywzMTQ0MTM0Mjc3LDEwMTM5MDQyNDIsMjc3MzQ4MDc2MiwxMzU5ODkzMTE5LDI2MDA4MjI5MjQsNTI4NzM0NjM1LDE1NDE0NTkyMjVdO2koTTIsInJvdHIiKTtpKHRoYSwic2hhMjU2VHJhbnNmb3JtIik7aSh0c2UsInNoYTI1NkZhbGxiYWNrIil9KTt2YXIgX2Y9e307ZXQoX2Yse21kNUZyb21TdHJpbmc6KCk9Pm5oYSxzaGEyNTZGcm9tQnVmZmVyOigpPT5yaGEsc2hhMjU2RnJvbUZpbGU6KCk9Pm9oYSxzaGEyNTZGcm9tU3RyZWFtOigpPT5zaGEsc2hhMjU2RnJvbVN0cmluZzooKT0+ZzB0LHNoYTI1NkZyb21TdHJpbmdTeW5jOigpPT5haGEsc2hhMjY1RnJvbU9iamVjdDooKT0+aWhhfSk7dmFyIGgwdCxtMHQsZzB0LGFoYSxyaGEsaWhhLHNoYSxvaGEsbmhhLGIwdD1jKCgpPT57dTB0KCk7ZjB0KCk7aDB0PWkodD0+e2xldCBlPVtdLGE9bmV3IERhdGFWaWV3KHQpO2ZvcihsZXQgcj0wO3I8YS5ieXRlTGVuZ3RoO3IrPTQpe2xldCBuPWEuZ2V0VWludDMyKHIpLnRvU3RyaW5nKDE2KSxvPSIwMDAwMDAwMCIsbD0obytuKS5zbGljZSgtby5sZW5ndGgpO2UucHVzaChsKX1yZXR1cm4gZS5qb2luKCIiKX0sImhleCIpLG0wdD1pKCgpPT50eXBlb2YgY3J5cHRvPCJ1IiYmY3J5cHRvLnN1YnRsZSE9PXZvaWQgMCwiaXNDcnlwdG9TdWJ0bGVBdmFpbGFibGUiKSxnMHQ9aShhc3luYyB0PT57bGV0IGU9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHQpO2lmKG0wdCgpKXtsZXQgYT1hd2FpdCBjcnlwdG8uc3VidGxlLmRpZ2VzdCgiU0hBLTI1NiIsZSk7cmV0dXJuIGgwdChhKX1lbHNlIHJldHVybiB0c2UoZSl9LCJzaGEyNTZGcm9tU3RyaW5nIiksYWhhPWkodD0+e3Rocm93IGNvbnNvbGUud2Fybigic2hhMjU2RnJvbVN0cmluZ1N5bmMgaXMgbm90IHRydWx5IHN5bmNocm9ub3VzIGluIGJyb3dzZXIgZW52aXJvbm1lbnQiKSxuZXcgRXJyb3IoInNoYTI1NkZyb21TdHJpbmdTeW5jIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYnJvd3NlciBlbnZpcm9ubWVudC4gVXNlIHNoYTI1NkZyb21TdHJpbmcgaW5zdGVhZC4iKX0sInNoYTI1NkZyb21TdHJpbmdTeW5jIikscmhhPWkoYXN5bmMgdD0+e2lmKG0wdCgpKXtsZXQgZTtpZih0IGluc3RhbmNlb2YgVWludDhBcnJheSl7bGV0IHM9dDtlPXMuYnVmZmVyLnNsaWNlKHMuYnl0ZU9mZnNldCxzLmJ5dGVPZmZzZXQrcy5ieXRlTGVuZ3RoKX1lbHNlIGU9dDtsZXQgYT1hd2FpdCBjcnlwdG8uc3VidGxlLmRpZ2VzdCgiU0hBLTI1NiIsZSk7cmV0dXJuIGgwdChhKX1lbHNle2xldCBlPXQgaW5zdGFuY2VvZiBVaW50OEFycmF5P3Q6bmV3IFVpbnQ4QXJyYXkodCk7cmV0dXJuIHRzZShlKX19LCJzaGEyNTZGcm9tQnVmZmVyIiksaWhhPWkoYXN5bmMgdD0+e2xldCBlPVYxLnN0cmluZ2lmeSh0KTtyZXR1cm4gYXdhaXQgZzB0KGUpfSwic2hhMjY1RnJvbU9iamVjdCIpLHNoYT1pKHQ9Pnt0aHJvdyBuZXcgRXJyb3IoInNoYTI1NkZyb21TdHJlYW0gaXMgbm90IHN1cHBvcnRlZCBpbiBicm93c2VyIGVudmlyb25tZW50Iil9LCJzaGEyNTZGcm9tU3RyZWFtIiksb2hhPWkoYXN5bmMgdD0+e3Rocm93IG5ldyBFcnJvcigic2hhMjU2RnJvbUZpbGUgaXMgbm90IHN1cHBvcnRlZCBpbiBicm93c2VyIGVudmlyb25tZW50Iil9LCJzaGEyNTZGcm9tRmlsZSIpLG5oYT1pKGFzeW5jIHQ9Pnt0aHJvdyBuZXcgRXJyb3IoIm1kNUZyb21TdHJpbmcgaXMgbm90IHN1cHBvcnRlZCBpbiBicm93c2VyIGVudmlyb25tZW50LiBXZWIgQ3J5cHRvIEFQSSBkb2VzIG5vdCBzdXBwb3J0IE1ENS4iKX0sIm1kNUZyb21TdHJpbmciKX0pO3ZhciBQVz1jKCgpPT57YjB0KCk7RmooKTtkcigpO2NzKCk7V2ooKX0pO3ZhciBUZixhc2U9YygoKT0+e0VXKCk7VGY9Y2xhc3N7c3RhdGlje2kodGhpcywiU3RhdGVBY3Rpb24iKX1jb25zdHJ1Y3RvcihlLGEpe3RoaXMuc3RhdGVQYXJ0UmVmPWUsdGhpcy5hY3Rpb25EZWY9YX10cmlnZ2VyKGUpe3JldHVybiB0aGlzLnN0YXRlUGFydFJlZi5kaXNwYXRjaEFjdGlvbih0aGlzLGUpfX19KTtmdW5jdGlvbiBjaGEodCl7cmV0dXJuIG5ldyBfdChlPT57aWYodC5hYm9ydGVkKXtlLm5leHQoKSxlLmNvbXBsZXRlKCk7cmV0dXJufWxldCBhPWkoKCk9PntlLm5leHQoKSxlLmNvbXBsZXRlKCl9LCJoYW5kbGVyIik7cmV0dXJuIHQuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGEpLCgpPT50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImFib3J0IixhKX0pfXZhciBMZixFVz1jKCgpPT57UFcoKTtVcCgpO2FzZSgpO2koY2hhLCJmcm9tQWJvcnRTaWduYWwiKTtMZj1jbGFzcyB0e3N0YXRpY3tpKHRoaXMsIlN0YXRlUGFydCIpfXN0YXRpY3t0aGlzLk1BWF9ORVNURURfRElTUEFUQ0hfREVQVEg9MTB9Y29uc3RydWN0b3IoZSxhKXt0aGlzLnN0YXRlPW5ldyBZdC5yeGpzLlN1YmplY3QsdGhpcy5jdW11bGF0aXZlRGVmZXJyZWQ9SmUuY3VtdWxhdGl2ZURlZmVyKCksdGhpcy5tdXRhdGlvblF1ZXVlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMucGVuZGluZ0N1bXVsYXRpdmVOb3RpZmljYXRpb249bnVsbCx0aGlzLndlYlN0b3JlPW51bGwsdGhpcy5taWRkbGV3YXJlcz1bXSx0aGlzLnNlbGVjdG9yQ2FjaGU9bmV3IFdlYWtNYXAsdGhpcy5kZWZhdWx0U2VsZWN0T2JzZXJ2YWJsZT1udWxsLHRoaXMubmFtZT1lLGEmJih0aGlzLndlYlN0b3JlT3B0aW9ucz1hKX1hc3luYyBpbml0KCl7aWYodGhpcy53ZWJTdG9yZU9wdGlvbnMpe3RoaXMud2ViU3RvcmU9bmV3IGZzLldlYlN0b3JlKHRoaXMud2ViU3RvcmVPcHRpb25zKSxhd2FpdCB0aGlzLndlYlN0b3JlLmluaXQoKTtsZXQgZT1hd2FpdCB0aGlzLndlYlN0b3JlLmdldChTdHJpbmcodGhpcy5uYW1lKSk7ZSYmdGhpcy52YWxpZGF0ZVN0YXRlKGUpJiYodGhpcy5zdGF0ZVN0b3JlPWUsYXdhaXQgdGhpcy5ub3RpZnlDaGFuZ2UoKSl9fWdldFN0YXRlKCl7cmV0dXJuIHRoaXMuc3RhdGVTdG9yZX1hZGRNaWRkbGV3YXJlKGUpe3JldHVybiB0aGlzLm1pZGRsZXdhcmVzLnB1c2goZSksKCk9PntsZXQgYT10aGlzLm1pZGRsZXdhcmVzLmluZGV4T2YoZSk7YSE9PS0xJiZ0aGlzLm1pZGRsZXdhcmVzLnNwbGljZShhLDEpfX1hc3luYyBzZXRTdGF0ZShlKXtyZXR1cm4gdGhpcy5tdXRhdGlvblF1ZXVlPXRoaXMubXV0YXRpb25RdWV1ZS50aGVuKCgpPT50aGlzLmFwcGx5U3RhdGUoZSksKCk9PnRoaXMuYXBwbHlTdGF0ZShlKSl9YXN5bmMgYXBwbHlTdGF0ZShlKXtsZXQgYT1lO2ZvcihsZXQgciBvZiB0aGlzLm1pZGRsZXdhcmVzKWE9YXdhaXQgcihhLHRoaXMuc3RhdGVTdG9yZSk7aWYoIXRoaXMudmFsaWRhdGVTdGF0ZShhKSl0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc3RhdGUgc3RydWN0dXJlIGZvciBzdGF0ZSBwYXJ0ICcke3RoaXMubmFtZX0nYCk7cmV0dXJuIHRoaXMud2ViU3RvcmUmJmF3YWl0IHRoaXMud2ViU3RvcmUuc2V0KFN0cmluZyh0aGlzLm5hbWUpLGEpLHRoaXMuc3RhdGVTdG9yZT1hLGF3YWl0IHRoaXMubm90aWZ5Q2hhbmdlKCksdGhpcy5zdGF0ZVN0b3JlfXZhbGlkYXRlU3RhdGUoZSl7cmV0dXJuIGUhPW51bGx9YXN5bmMgbm90aWZ5Q2hhbmdlKCl7bGV0IGU9dGhpcy5zdGF0ZVN0b3JlO2lmKGU9PT12b2lkIDApcmV0dXJuO2lmKHRoaXMuc21hcnRzdGF0ZVJlZj8uaXNCYXRjaGluZyl7dGhpcy5zbWFydHN0YXRlUmVmLnJlZ2lzdGVyUGVuZGluZ05vdGlmaWNhdGlvbih0aGlzKTtyZXR1cm59bGV0IGE9aShhc3luYyByPT5hd2FpdCBfZi5zaGEyNTZGcm9tU3RyaW5nKHVzLnN0YWJsZU9uZVdheVN0cmluZ2lmeShyKSksImNyZWF0ZVN0YXRlSGFzaCIpO3RyeXtsZXQgcj1hd2FpdCBhKGUpO2lmKHRoaXMubGFzdFN0YXRlTm90aWZpY2F0aW9uUGF5bG9hZEhhc2gmJnI9PT10aGlzLmxhc3RTdGF0ZU5vdGlmaWNhdGlvblBheWxvYWRIYXNoKXJldHVybjt0aGlzLmxhc3RTdGF0ZU5vdGlmaWNhdGlvblBheWxvYWRIYXNoPXJ9Y2F0Y2gocil7Y29uc29sZS5lcnJvcihgU3RhdGUgaGFzaCBjb21wdXRhdGlvbiBmYWlsZWQgZm9yICcke3RoaXMubmFtZX0nOmAscil9dGhpcy5zdGF0ZS5uZXh0KGUpfW5vdGlmeUNoYW5nZUN1bXVsYXRpdmUoKXt0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uJiZjbGVhclRpbWVvdXQodGhpcy5wZW5kaW5nQ3VtdWxhdGl2ZU5vdGlmaWNhdGlvbiksdGhpcy5wZW5kaW5nQ3VtdWxhdGl2ZU5vdGlmaWNhdGlvbj1zZXRUaW1lb3V0KCgpPT57dGhpcy5wZW5kaW5nQ3VtdWxhdGl2ZU5vdGlmaWNhdGlvbj1udWxsLHRoaXMuc3RhdGVTdG9yZSE9PXZvaWQgMCYmdGhpcy5ub3RpZnlDaGFuZ2UoKS5jYXRjaChlPT57Y29uc29sZS5lcnJvcihgbm90aWZ5Q2hhbmdlQ3VtdWxhdGl2ZSBmYWlsZWQgZm9yICcke3RoaXMubmFtZX0nOmAsZSl9KX0sMCl9c2VsZWN0KGUsYSl7bGV0IHI9YT8uc2lnbmFsIT1udWxsO2lmKCFyKXtpZihlKXtpZih0aGlzLnNlbGVjdG9yQ2FjaGUuaGFzKGUpKXJldHVybiB0aGlzLnNlbGVjdG9yQ2FjaGUuZ2V0KGUpfWVsc2UgaWYodGhpcy5kZWZhdWx0U2VsZWN0T2JzZXJ2YWJsZSlyZXR1cm4gdGhpcy5kZWZhdWx0U2VsZWN0T2JzZXJ2YWJsZX1sZXQgcz1lfHwobD0+bCksbj10aGlzLnN0YXRlLnBpcGUoWXQucnhqcy5vcHMuc3RhcnRXaXRoKHRoaXMuZ2V0U3RhdGUoKSksWXQucnhqcy5vcHMuZmlsdGVyKGw9PmwhPT12b2lkIDApLFl0LnJ4anMub3BzLm1hcChsPT57dHJ5e3JldHVybiBzKGwpfWNhdGNoKGgpe2NvbnNvbGUuZXJyb3IoYFNlbGVjdG9yIGVycm9yIGluIHN0YXRlIHBhcnQgJyR7dGhpcy5uYW1lfSc6YCxoKTtyZXR1cm59fSkpO2lmKHIpcmV0dXJuIG49bi5waXBlKGE1KGNoYShhLnNpZ25hbCkpKSxuO2xldCBvPW4ucGlwZShycSh7YnVmZmVyU2l6ZToxLHJlZkNvdW50OiEwfSkpO3JldHVybiBlP3RoaXMuc2VsZWN0b3JDYWNoZS5zZXQoZSxvKTp0aGlzLmRlZmF1bHRTZWxlY3RPYnNlcnZhYmxlPW8sb31jcmVhdGVBY3Rpb24oZSl7cmV0dXJuIG5ldyBUZih0aGlzLGUpfWNyZWF0ZUFjdGlvbkNvbnRleHQoZSl7bGV0IGE9dGhpcztyZXR1cm57ZGlzcGF0Y2g6aShhc3luYyhyLHMpPT57aWYoZT49dC5NQVhfTkVTVEVEX0RJU1BBVENIX0RFUFRIKXRocm93IG5ldyBFcnJvcihgTWF4aW11bSBuZXN0ZWQgYWN0aW9uIGRpc3BhdGNoIGRlcHRoICgke3QuTUFYX05FU1RFRF9ESVNQQVRDSF9ERVBUSH0pIGV4Y2VlZGVkLiBDaGVjayBmb3IgY2lyY3VsYXIgYWN0aW9uIGRpc3BhdGNoZXMuYCk7bGV0IG49YS5jcmVhdGVBY3Rpb25Db250ZXh0KGUrMSksbz1hd2FpdCByLmFjdGlvbkRlZihhLHMsbik7cmV0dXJuIGEuYXBwbHlTdGF0ZShvKX0sImRpc3BhdGNoIil9fWFzeW5jIGRpc3BhdGNoQWN0aW9uKGUsYSl7cmV0dXJuIGF3YWl0IHRoaXMuY3VtdWxhdGl2ZURlZmVycmVkLnByb21pc2UsdGhpcy5tdXRhdGlvblF1ZXVlPXRoaXMubXV0YXRpb25RdWV1ZS50aGVuKGFzeW5jKCk9PntsZXQgcj10aGlzLmNyZWF0ZUFjdGlvbkNvbnRleHQoMCkscz1hd2FpdCBlLmFjdGlvbkRlZih0aGlzLGEscik7cmV0dXJuIHRoaXMuYXBwbHlTdGF0ZShzKX0sYXN5bmMoKT0+e2xldCByPXRoaXMuY3JlYXRlQWN0aW9uQ29udGV4dCgwKSxzPWF3YWl0IGUuYWN0aW9uRGVmKHRoaXMsYSxyKTtyZXR1cm4gdGhpcy5hcHBseVN0YXRlKHMpfSl9YXN5bmMgd2FpdFVudGlsUHJlc2VudChlLGEpe2xldCByLHM7dHlwZW9mIGE9PSJudW1iZXIiP3I9YTphJiYocj1hLnRpbWVvdXRNcyxzPWEuc2lnbmFsKTtsZXQgbj1KZS5kZWZlcigpLG89dGhpcy5zZWxlY3QoZSksbD0hMTtpZihzPy5hYm9ydGVkKXRocm93IG5ldyBFcnJvcigiQWJvcnRlZCIpO2xldCBoPW8uc3Vic2NyaWJlKHA9PntwIT1udWxsJiYhbCYmKGw9ITAsbi5yZXNvbHZlKHApKX0pLHU7ciYmKHU9c2V0VGltZW91dCgoKT0+e2x8fChsPSEwLGgudW5zdWJzY3JpYmUoKSxuLnJlamVjdChuZXcgRXJyb3IoYHdhaXRVbnRpbFByZXNlbnQgdGltZWQgb3V0IGFmdGVyICR7cn1tc2ApKSl9LHIpKTtsZXQgZj1zPygpPT57bHx8KGw9ITAsaC51bnN1YnNjcmliZSgpLHUmJmNsZWFyVGltZW91dCh1KSxuLnJlamVjdChuZXcgRXJyb3IoIkFib3J0ZWQiKSkpfTp2b2lkIDA7cyYmZiYmcy5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsZik7dHJ5e3JldHVybiBhd2FpdCBuLnByb21pc2V9ZmluYWxseXtoLnVuc3Vic2NyaWJlKCksdSYmY2xlYXJUaW1lb3V0KHUpLHMmJmYmJnMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLGYpfX1hc3luYyBzdGF0ZVNldHVwKGUpe2xldCBhPWUodGhpcyk7dGhpcy5jdW11bGF0aXZlRGVmZXJyZWQuYWRkUHJvbWlzZShhKSxhd2FpdCB0aGlzLnNldFN0YXRlKGF3YWl0IGEpfWRpc3Bvc2UoKXt0aGlzLnN0YXRlLmNvbXBsZXRlKCksdGhpcy5wZW5kaW5nQ3VtdWxhdGl2ZU5vdGlmaWNhdGlvbiYmKGNsZWFyVGltZW91dCh0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uKSx0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uPW51bGwpLHRoaXMubWlkZGxld2FyZXMubGVuZ3RoPTAsdGhpcy5zZWxlY3RvckNhY2hlPW5ldyBXZWFrTWFwLHRoaXMuZGVmYXVsdFNlbGVjdE9ic2VydmFibGU9bnVsbCx0aGlzLndlYlN0b3JlPW51bGwsdGhpcy5zbWFydHN0YXRlUmVmPXZvaWQgMH19fSk7ZnVuY3Rpb24gcnNlKHQsZSl7cmV0dXJuIGpLKHQubWFwKGE9PmEuc2VsZWN0KCkpKS5waXBlKFFzKGE9PmUoLi4uYSkpKX12YXIgaXNlPWMoKCk9PntQVygpO1VwKCk7aShyc2UsImNvbXB1dGVkIil9KTt2YXIgc3NlLHYwdD1jKCgpPT57UFcoKTtFVygpO2lzZSgpO3NzZT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJTbWFydHN0YXRlIil9Y29uc3RydWN0b3IoKXt0aGlzLnN0YXRlUGFydE1hcD17fSx0aGlzLnBlbmRpbmdTdGF0ZVBhcnRDcmVhdGlvbj1uZXcgTWFwLHRoaXMuYmF0Y2hEZXB0aD0wLHRoaXMuaXNGbHVzaGluZz0hMSx0aGlzLnBlbmRpbmdOb3RpZmljYXRpb25zPW5ldyBTZXR9Z2V0IGlzQmF0Y2hpbmcoKXtyZXR1cm4gdGhpcy5iYXRjaERlcHRoPjB9cmVnaXN0ZXJQZW5kaW5nTm90aWZpY2F0aW9uKGUpe3RoaXMucGVuZGluZ05vdGlmaWNhdGlvbnMuYWRkKGUpfWFzeW5jIGJhdGNoKGUpe3RoaXMuYmF0Y2hEZXB0aCsrO3RyeXthd2FpdCBlKCl9ZmluYWxseXtpZih0aGlzLmJhdGNoRGVwdGgtLSx0aGlzLmJhdGNoRGVwdGg9PT0wJiYhdGhpcy5pc0ZsdXNoaW5nKXt0aGlzLmlzRmx1c2hpbmc9ITA7dHJ5e2Zvcig7dGhpcy5wZW5kaW5nTm90aWZpY2F0aW9ucy5zaXplPjA7KXtsZXQgYT1bLi4udGhpcy5wZW5kaW5nTm90aWZpY2F0aW9uc107dGhpcy5wZW5kaW5nTm90aWZpY2F0aW9ucy5jbGVhcigpO2ZvcihsZXQgciBvZiBhKWF3YWl0IHIubm90aWZ5Q2hhbmdlKCl9fWZpbmFsbHl7dGhpcy5pc0ZsdXNoaW5nPSExfX19fWNvbXB1dGVkKGUsYSl7cmV0dXJuIHJzZShlLGEpfWFzeW5jIGdldFN0YXRlUGFydChlLGEscj0ic29mdCIpe2xldCBzPXRoaXMucGVuZGluZ1N0YXRlUGFydENyZWF0aW9uLmdldChlKTtpZihzKXJldHVybiBzO2xldCBuPXRoaXMuc3RhdGVQYXJ0TWFwW2VdO2lmKG4pc3dpdGNoKHIpe2Nhc2UibWFuZGF0b3J5Ijp0aHJvdyBuZXcgRXJyb3IoYFN0YXRlIHBhcnQgJyR7ZX0nIGFscmVhZHkgZXhpc3RzLCBidXQgaW5pdE1vZGUgaXMgJ21hbmRhdG9yeSdgKTtjYXNlImZvcmNlIjpuLmRpc3Bvc2UoKTticmVhaztkZWZhdWx0OnJldHVybiBufWVsc2UgaWYoYT09PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoYFN0YXRlIHBhcnQgJyR7ZX0nIGRvZXMgbm90IGV4aXN0IGFuZCBubyBpbml0aWFsIHN0YXRlIHByb3ZpZGVkYCk7bGV0IG89dGhpcy5jcmVhdGVTdGF0ZVBhcnQoZSxhLHIpO3RoaXMucGVuZGluZ1N0YXRlUGFydENyZWF0aW9uLnNldChlLG8pO3RyeXtyZXR1cm4gYXdhaXQgb31maW5hbGx5e3RoaXMucGVuZGluZ1N0YXRlUGFydENyZWF0aW9uLmRlbGV0ZShlKX19YXN5bmMgY3JlYXRlU3RhdGVQYXJ0KGUsYSxyPSJzb2Z0Iil7bGV0IHM9bmV3IExmKGUscj09PSJwZXJzaXN0ZW50Ij97ZGJOYW1lOiJzbWFydHN0YXRlIixzdG9yZU5hbWU6ZX06bnVsbCk7cy5zbWFydHN0YXRlUmVmPXRoaXMsYXdhaXQgcy5pbml0KCk7bGV0IG49cy5nZXRTdGF0ZSgpO3JldHVybiByPT09InBlcnNpc3RlbnQiJiZuIT09dm9pZCAwP2F3YWl0IHMuc2V0U3RhdGUoey4uLmEsLi4ubn0pOmF3YWl0IHMuc2V0U3RhdGUoYSksdGhpcy5zdGF0ZVBhcnRNYXBbZV09cyxzfX19KTtmdW5jdGlvbiBkaGEodCxlKXtsZXR7Y29udGV4dDphLHN0YXRlUGFydDpyLHNlbGVjdG9yRm46c309ZSxuPW5ldyBTZXQsbz1yLnNlbGVjdChzKS5zdWJzY3JpYmUodT0+e2ZvcihsZXQgZiBvZiBuKWYodSl9KSxsPWkoKCk9PntsZXQgdT1yLmdldFN0YXRlKCk7aWYodSE9PXZvaWQgMClyZXR1cm4gcz9zKHUpOnV9LCJnZXRWYWx1ZSIpLGg9aSh1PT57bGV0IGY9dSxwPWYuZGV0YWlsO2lmKCEoIXB8fHAuY29udGV4dCE9PWEpKWlmKGYuc3RvcFByb3BhZ2F0aW9uKCkscC5zdWJzY3JpYmUpe2xldCBnPXAuY2FsbGJhY2s7bi5hZGQoZyk7bGV0IHY9aSgoKT0+bi5kZWxldGUoZyksInVuc3Vic2NyaWJlIik7ZyhsKCksdil9ZWxzZSBwLmNhbGxiYWNrKGwoKSl9LCJoYW5kbGVyIik7cmV0dXJuIHQuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dC1yZXF1ZXN0IixoKSwoKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY29udGV4dC1yZXF1ZXN0IixoKSxvLnVuc3Vic2NyaWJlKCksbi5jbGVhcigpfX12YXIgeDB0PWMoKCk9PntpKGRoYSwiYXR0YWNoQ29udGV4dFByb3ZpZGVyIil9KTt2YXIgWm49e307ZXQoWm4se1NtYXJ0c3RhdGU6KCk9PnNzZSxTdGF0ZUFjdGlvbjooKT0+VGYsU3RhdGVQYXJ0OigpPT5MZixhdHRhY2hDb250ZXh0UHJvdmlkZXI6KCk9PmRoYSxjb21wdXRlZDooKT0+cnNlfSk7dmFyIG9zZT1jKCgpPT57djB0KCk7RVcoKTthc2UoKTtpc2UoKTt4MHQoKX0pO3ZhciB5MHQ9YygoKT0+e30pO3ZhciBuc2UsdzB0PWMoKCk9Pnt5MHQoKTtuc2U9Y2xhc3MgdHtzdGF0aWN7aSh0aGlzLCJTbWFydHVybCIpfXN0YXRpYyBjcmVhdGVGcm9tVXJsKGUsYSl7bGV0IHI9bmV3IFVSTChlKSxzPXt9LG49W107ci5zZWFyY2gmJnIuc2VhcmNoLnJlcGxhY2UoIj8iLCIiKS5zcGxpdCgiJiIpLm1hcCh1PT57bi5wdXNoKHtrZXk6dS5zcGxpdCgiPSIpWzBdLHZhbHVlOnUuc3BsaXQoIj0iKVsxXX0pfSk7Zm9yKGxldCB1IG9mIG4pc1t1LmtleV09dS52YWx1ZTtpZihhPy5zZWFyY2hQYXJhbXMpZm9yKGxldCB1IG9mIE9iamVjdC5rZXlzKGEuc2VhcmNoUGFyYW1zKSlzW3VdPWEuc2VhcmNoUGFyYW1zW3VdO2xldCBvPXIucGF0aG5hbWV8fCIiO2lmKE9iamVjdC5rZXlzKHMpLmxlbmd0aD4wKXtvKz0iPyI7bGV0IHU9ITA7Zm9yKGxldCBmIG9mIE9iamVjdC5rZXlzKHMpKXU/dT0hMTpvKz0iJiIsbys9YCR7Zn09JHtzW2ZdfWB9bGV0IGw9ey4uLnIsaHJlZjpyLmhyZWYsb3JpZ2luOnIub3JpZ2luLHByb3RvY29sOnIucHJvdG9jb2wsdXNlcm5hbWU6ci51c2VybmFtZSxwYXNzd29yZDpyLnBhc3N3b3JkLGhvc3Q6ci5ob3N0LGhvc3RuYW1lOnIuaG9zdG5hbWUscG9ydDpyLnBvcnQscGF0aDpvLHBhdGhuYW1lOnIucGF0aG5hbWUsc2VhcmNoOnIuc2VhcmNoLHNlYXJjaFBhcmFtczpzLGhhc2g6ci5oYXNofTshbC5wb3J0JiZsLnByb3RvY29sPT09Imh0dHBzOiImJihsLnBvcnQ9IjQ0MyIpLCFsLnBvcnQmJmwucHJvdG9jb2w9PT0iaHR0cDoiJiYobC5wb3J0PSI4MCIpO2xldCBoPW5ldyB0O3JldHVybiBPYmplY3QuYXNzaWduKGgsbCksaH1zdGF0aWMgY3JlYXRlRnJvbVBhcnNlZFVybChlKXtsZXQgYT1uZXcgdDtyZXR1cm4gT2JqZWN0LmFzc2lnbihhLGUpLGF9Y29uc3RydWN0b3IoKXt0aGlzLnNlYXJjaFBhcmFtcz17fX1jbG9uZSgpe2xldCBlPW5ldyB0O3JldHVybiBPYmplY3QuYXNzaWduKGUsdGhpcyksZS5zZWFyY2hQYXJhbXM9ey4uLnRoaXMuc2VhcmNoUGFyYW1zfSxlfXNldChlLGEpe3JldHVybiB0aGlzW2VdPWEsdGhpc310b1N0cmluZygpe2xldCBlPSIiO3JldHVybiB0aGlzLnVzZXJuYW1lJiYhdGhpcy5wYXNzd29yZCYmKGU9YCR7dGhpcy51c2VybmFtZX1AYCksdGhpcy51c2VybmFtZSYmdGhpcy5wYXNzd29yZCYmKGU9YCR7dGhpcy51c2VybmFtZX06JHt0aGlzLnBhc3N3b3JkfUBgKSxgJHt0aGlzLnByb3RvY29sfS8vJHtlfSR7dGhpcy5ob3N0bmFtZX06JHt0aGlzLnBvcnR9JHt0aGlzLnBhdGh9YH19fSk7dmFyIEJpPXt9O2V0KEJpLHtTbWFydHVybDooKT0+bnNlfSk7dmFyIElXPWMoKCk9Pnt3MHQoKX0pO3ZhciBOVyxFMCxSVz1jKCgpPT57Tlc9Y2xhc3N7c3RhdGlje2kodGhpcywiRGVmZXJyZWQiKX1jbGFpbSgpe2lmKHRoaXMuY2xhaW1lZCl0aHJvdyBuZXcgRXJyb3IoIkRlZmVycmVkIGFscmVhZHkgY2xhaW1lZCIpO3RoaXMuY2xhaW1lZD0hMH1nZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy5zdG9wcGVkQXQ/dGhpcy5zdG9wcGVkQXQtdGhpcy5zdGFydGVkQXQ6RGF0ZS5ub3coKS10aGlzLnN0YXJ0ZWRBdH1jb25zdHJ1Y3Rvcigpe3RoaXMuY2xhaW1lZD0hMSx0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKGUsYSk9Pnt0aGlzLnJlc29sdmU9cj0+e3RoaXMuc3RhdHVzPSJmdWxmaWxsZWQiLHRoaXMuc3RvcHBlZEF0PURhdGUubm93KCksZShyKX0sdGhpcy5yZWplY3Q9cj0+e3RoaXMuc3RhdHVzPSJyZWplY3RlZCIsdGhpcy5zdG9wcGVkQXQ9RGF0ZS5ub3coKSxhKHIpfSx0aGlzLnN0YXJ0ZWRBdD1EYXRlLm5vdygpLHRoaXMuc3RhdHVzPSJwZW5kaW5nIn0pfX0sRTA9aSgoKT0+bmV3IE5XLCJkZWZlciIpfSk7dmFyIEZXLHBoYSxNMHQ9YygoKT0+e1JXKCk7Rlc9Y2xhc3N7c3RhdGlje2kodGhpcywiQ3VtdWxhdGl2ZURlZmVycmVkIil9Y29uc3RydWN0b3IoKXt0aGlzLmFjY3VtdWxhdGVkUHJvbWlzZXM9W10sdGhpcy5kZWZlcnJlZD1FMCgpLHRoaXMucHJvbWlzZT10aGlzLmRlZmVycmVkLnByb21pc2Usc2V0VGltZW91dChhc3luYygpPT57Zm9yKDt0aGlzLmFjY3VtdWxhdGVkUHJvbWlzZXMubGVuZ3RoPjA7KWF3YWl0IHRoaXMuYWNjdW11bGF0ZWRQcm9taXNlcy5zaGlmdCgpO3RoaXMuZGVmZXJyZWQucmVzb2x2ZSgpfSwwKX1hZGRQcm9taXNlKGUpe3RoaXMuYWNjdW11bGF0ZWRQcm9taXNlcy5wdXNoKGUpfX0scGhhPWkoKCk9Pm5ldyBGVywiY3VtdWxhdGl2ZURlZmVyIil9KTt2YXIgSTA9e307ZXQoSTAse0N1bXVsYXRpdmVEZWZlcnJlZDooKT0+RlcsRGVmZXJyZWQ6KCk9Pk5XLGN1bXVsYXRpdmVEZWZlcjooKT0+cGhhLGRlZmVyOigpPT5FMCxnZXRGaXJzdFRydWVPckZhbHNlOigpPT5naGEsbWFwOigpPT5oaGEscmVqZWN0ZWRQcm9taXNlOigpPT5maGEscmVzb2x2ZWRQcm9taXNlOigpPT51aGEsdGltZW91dEFuZENvbnRpbnVlOigpPT5taGEsdGltZW91dFdyYXA6KCk9PmswdH0pO3ZhciB1aGEsZmhhLGhoYSxrMHQsbWhhLGdoYSxsc2U9YygoKT0+e1JXKCk7TTB0KCk7UlcoKTt1aGE9aSh0PT5Qcm9taXNlLnJlc29sdmUodCksInJlc29sdmVkUHJvbWlzZSIpLGZoYT1pKHQ9PlByb21pc2UucmVqZWN0KHQpLCJyZWplY3RlZFByb21pc2UiKSxoaGE9aShhc3luYyh0LGUpPT57bGV0IGE9W10scj1bXTtmb3IobGV0IHMgb2YgdCl7bGV0IG49ZShzKTthLnB1c2gobiksbi50aGVuKG89PntyLnB1c2gobyl9KX1yZXR1cm4gYXdhaXQgUHJvbWlzZS5hbGwoYSkscn0sIm1hcCIpLGswdD1pKGFzeW5jKHQsZSxhPSEwKT0+bmV3IFByb21pc2UoKHIscyk9PntzZXRUaW1lb3V0KCgpPT57YT9zKG5ldyBFcnJvcigidGltZW91dCIpKTpyKG51bGwpfSxlKSx0LnRoZW4ocixzKX0pLCJ0aW1lb3V0V3JhcCIpLG1oYT1pKGFzeW5jKHQsZT02ZTQpPT5rMHQodCxlLCExKSwidGltZW91dEFuZENvbnRpbnVlIiksZ2hhPWkoYXN5bmMgdD0+e2xldCBlPUUwKCk7Zm9yKGxldCBhIG9mIHQpYS50aGVuKHI9PntyPT09ITAmJmUucmVzb2x2ZSghMCl9KTtyZXR1cm4gUHJvbWlzZS5hbGwodCkudGhlbigoKT0+e2UucmVzb2x2ZSghMSl9KSxlLnByb21pc2V9LCJnZXRGaXJzdFRydWVPckZhbHNlIil9KTt2YXIgY3NlPXt9O2V0KGNzZSx7VGltZW91dDooKT0+T1csZGVsYXlGb3I6KCk9PnowdCxkZWxheUZvclJhbmRvbTooKT0+YmhhfSk7dmFyIHowdCxiaGEsT1csUzB0PWMoKCk9Pntsc2UoKTt6MHQ9aShhc3luYyh0LGUsYT0hMSk9Pihhd2FpdCBuZXcgT1codCxudWxsLGEpLnByb21pc2UsZSksImRlbGF5Rm9yIiksYmhhPWkoYXN5bmModCxlLGEscj0hMSk9Pihhd2FpdCB6MHQoTWF0aC5yYW5kb20oKSooZS10KSt0LG51bGwsciksYSksImRlbGF5Rm9yUmFuZG9tIiksT1c9Y2xhc3N7c3RhdGlje2kodGhpcywiVGltZW91dCIpfWNvbnN0cnVjdG9yKGUsYSxyPSExKXt0aGlzLl9jYW5jZWxsZWQ9ITEsdGhpcy50aW1lb3V0SW5NaWxsaXM9ZSx0aGlzLl9kZWZlcnJlZD1FMCgpLHRoaXMucHJvbWlzZT10aGlzLl9kZWZlcnJlZC5wcm9taXNlLHRoaXMuX3RpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuX2NhbmNlbGxlZHx8dGhpcy5fZGVmZXJyZWQucmVzb2x2ZShhKX0sZSksdGhpcy5zdGFydGVkPURhdGUubm93KCksciYmdGhpcy5tYWtlVW5yZWZlZCgpfW1ha2VVbnJlZmVkKCl7dGhpcy5fdGltZW91dC51bnJlZigpfWNhbmNlbCgpe3RoaXMuX2NhbmNlbGxlZD0hMCxjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCl9Z2V0VGltZUxlZnQoKXtsZXQgZT10aGlzLnN0YXJ0ZWQrdGhpcy50aW1lb3V0SW5NaWxsaXMtRGF0ZS5ub3coKTtyZXR1cm4gZT4wP2U6MH19fSk7dmFyIEMwdD1jKCgpPT57fSk7dmFyIEJXPWMoKCk9PntrMigpfSk7dmFyIEhXPWMoKCk9PntrMigpO2syKCl9KTt2YXIgXzB0PWMoKCk9PntrMigpfSk7dmFyIFQwdD1jKCgpPT57fSk7dmFyIEwwdD1jKCgpPT57azIoKX0pO3ZhciAkMHQ9YygoKT0+e2syKCl9KTt2YXIgRDB0PWMoKCk9Pnt9KTt2YXIgQTB0PWMoKCk9Pnt9KTt2YXIgZHNlPXt9O3ZhciBxVz1jKCgpPT57XzB0KCk7VDB0KCk7TDB0KCk7JDB0KCk7RDB0KCk7QTB0KCl9KTt2YXIgcHNlLFAwdD1jKCgpPT57cVcoKTtCVygpO0hXKCk7cHNlPWNsYXNze3N0YXRpY3tpKHRoaXMsIklKb2IiKX19fSk7dmFyIEUwdD1jKCgpPT57fSk7dmFyIEkwdD1jKCgpPT57fSk7dmFyIE4wdD1jKCgpPT57fSk7dmFyIFIwdD1jKCgpPT57fSk7dmFyIHVzZT17fTt2YXIgZnNlPWMoKCk9PntFMHQoKTtJMHQoKTtOMHQoKTtSMHQoKX0pO3ZhciBGMHQ9YygoKT0+e2hzZSgpO3FXKCk7ZnNlKCl9KTt2YXIgTzB0PWMoKCk9Pnt9KTt2YXIgQjB0PWMoKCk9PntIVygpfSk7dmFyIEgwdD1jKCgpPT57fSk7dmFyIFZXPXt9O2V0KFZXLHtJSm9iOigpPT5wc2V9KTt2YXIgaHNlPWMoKCk9PntDMHQoKTtCVygpO0hXKCk7UDB0KCk7RjB0KCk7TzB0KCk7QjB0KCk7SDB0KCl9KTt2YXIgcTB0PWMoKCk9Pnt9KTt2YXIgVjB0PWMoKCk9Pnt9KTt2YXIgbXNlPXt9O3ZhciBqMHQ9YygoKT0+e3EwdCgpO1YwdCgpfSk7dmFyIFUwdD1jKCgpPT57fSk7dmFyIFcwdD1jKCgpPT57fSk7dmFyIGdzZT17fTt2YXIgRzB0PWMoKCk9PntVMHQoKTtXMHQoKX0pO3ZhciBic2U9YygoKT0+e2syKCl9KTt2YXIgWTB0PWMoKCk9PntrMigpfSk7dmFyIFowdD1jKCgpPT57YnNlKCl9KTt2YXIgdnNlPXt9O3ZhciBYMHQ9YygoKT0+e2JzZSgpO1kwdCgpO1owdCgpfSk7dmFyIEswdD1jKCgpPT57fSk7dmFyIFEwdD1jKCgpPT57fSk7dmFyIHhzZT17fTt2YXIgSjB0PWMoKCk9PntLMHQoKTtRMHQoKX0pO3ZhciB5c2U9YygoKT0+e30pO3ZhciB3c2UsZWN0PWMoKCk9Pnt5c2UoKTt3c2U9Y2xhc3N7c3RhdGlje2kodGhpcywiSUNuYW1lRGVzY3JpcHRvciIpfX19KTt2YXIgdGN0PWMoKCk9Pnt9KTt2YXIgYWN0PWMoKCk9Pnt9KTt2YXIgcmN0PWMoKCk9Pnt9KTt2YXIgaWN0PWMoKCk9Pnt9KTt2YXIgc2N0PWMoKCk9Pnt9KTt2YXIgb2N0PWMoKCk9Pnt9KTt2YXIgbmN0PWMoKCk9Pnt9KTt2YXIgbGN0PWMoKCk9Pnt9KTt2YXIgY2N0PWMoKCk9Pnt9KTt2YXIgalc9e307ZXQoalcse0lDbmFtZURlc2NyaXB0b3I6KCk9PndzZX0pO3ZhciBkY3Q9YygoKT0+e3lzZSgpO2VjdCgpO3RjdCgpO2FjdCgpO3JjdCgpO2ljdCgpO3NjdCgpO29jdCgpO25jdCgpO2xjdCgpO2NjdCgpfSk7dmFyIE1zZT1jKCgpPT57QlcoKX0pO3ZhciBwY3Q9YygoKT0+e01zZSgpfSk7dmFyIGtzZT17fTt2YXIgdWN0PWMoKCk9PntwY3QoKTtNc2UoKX0pO3ZhciB6c2U9e307dmFyIGZjdD1jKCgpPT57fSk7dmFyIGhjdD1jKCgpPT57fSk7dmFyIG1jdD1jKCgpPT57fSk7dmFyIGdjdD1jKCgpPT57fSk7dmFyIFNzZT17fTt2YXIgYmN0PWMoKCk9PntoY3QoKTttY3QoKTtnY3QoKX0pO3ZhciB2Y3Q9YygoKT0+e30pO3ZhciBDc2U9e307ZXQoQ3NlLHtidXNpbmVzczooKT0+VlcsY29kZTooKT0+bXNlLGNvbnRhaW5lcjooKT0+Z3NlLGNvbnRlbnQ6KCk9PnZzZSxkYXRhYmFzZTooKT0+dXNlLGZpbmFuY2U6KCk9PmRzZSxnZW5lcmFsOigpPT54c2UsbmV0d29yazooKT0+alcsc2FhczooKT0+a3NlLHN0b3JhZ2U6KCk9PnpzZSx3ZWJzaXRlOigpPT5Tc2V9KTt2YXIgazI9YygoKT0+e2hzZSgpO2owdCgpO0cwdCgpO2ZzZSgpO3FXKCk7WDB0KCk7SjB0KCk7ZGN0KCk7dWN0KCk7ZmN0KCk7YmN0KCk7dmN0KCl9KTt2YXIgcG89YygoKT0+e1MwdCgpO2xzZSgpO2syKCl9KTt2YXIgVVc9YygoKT0+e3BvKCl9KTt2YXIgWG4sJGY9YygoKT0+e3BvKCk7WG49Y2xhc3N7c3RhdGlje2kodGhpcywiVGFnIil9YXBwZW5kVG9Eb20oKXshdGhpcy5lbGVtZW50UmVmLnBhcmVudEVsZW1lbnQmJiF0aGlzLmVsZW1lbnRSZWYucGFyZW50Tm9kZSYmZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZCh0aGlzLmVsZW1lbnRSZWYpfXJlbW92ZUZyb21Eb20oKXt0aGlzLmVsZW1lbnRSZWYucGFyZW50RWxlbWVudD90aGlzLmVsZW1lbnRSZWYucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnRSZWYpOnRoaXMuZWxlbWVudFJlZi5wYXJlbnROb2RlJiZ0aGlzLmVsZW1lbnRSZWYucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnRSZWYpfX19KTt2YXIgTjAsV1c9YygoKT0+e3BvKCk7VVcoKTskZigpO04wPWNsYXNzIHQgZXh0ZW5kcyBYbntzdGF0aWN7aSh0aGlzLCJKc29uTGRUYWciKX1zdGF0aWMgY3JlYXRlQ29tcGFueUpzb25MZChlKXtsZXQgYT17IkBjb250ZXh0IjoiaHR0cHM6Ly9zY2hlbWEub3JnIiwiQHR5cGUiOiJDb3Jwb3JhdGlvbiIsbmFtZTplLm5hbWUsYWx0ZXJuYXRlTmFtZTplLm5hbWUucmVwbGFjZSgiIEdtYkgiLCIiKSx1cmw6ZS5jb250YWN0LndlYnNpdGUsbG9nbzplLmNvbnRhY3QubG9nb1VybCxjb250YWN0UG9pbnQ6eyJAdHlwZSI6IkNvbnRhY3RQb2ludCIsdGVsZXBob25lOmUuY29udGFjdC5waG9uZSxjb250YWN0VHlwZToiY3VzdG9tZXIgc2VydmljZSIsYXJlYVNlcnZlZDoiREUiLGF2YWlsYWJsZUxhbmd1YWdlOlsiZW4iLCJHZXJtYW4iXX0sc2FtZUFzOltdfTtyZXR1cm4gZS5jb250YWN0LmZhY2Vib29rVXJsJiZhLnNhbWVBcy5wdXNoKGUuY29udGFjdC5mYWNlYm9va1VybCksZS5jb250YWN0LnR3aXR0ZXJVcmwmJmEuc2FtZUFzLnB1c2goZS5jb250YWN0LnR3aXR0ZXJVcmwpLG5ldyB0KGEpfXN0YXRpYyBjcmVhdGVOZXdzQXJ0aWNsZUpzb25MZChlKXtsZXQgYT17IkBjb250ZXh0IjoiaHR0cHM6Ly9zY2hlbWEub3JnIiwiQHR5cGUiOiJOZXdzQXJ0aWNsZSIsbWFpbkVudGl0eU9mUGFnZTp7IkB0eXBlIjoiV2ViUGFnZSIsIkBpZCI6d2luZG93LmxvY2F0aW9uLmhyZWZ9LGhlYWRsaW5lOiJBcnRpY2xlIGhlYWRsaW5lIixpbWFnZTpbZS5mZWF0dXJlZEltYWdlVXJsXSxkYXRlUHVibGlzaGVkOm5ldyBEYXRlKGUudGltZXN0YW1wKS50b0lTT1N0cmluZygpLGRhdGVNb2RpZmllZDpuZXcgRGF0ZShlLnRpbWVzdGFtcCkudG9JU09TdHJpbmcoKSxhdXRob3I6eyJAdHlwZSI6IlBlcnNvbiIsbmFtZTpgJHtlLmF1dGhvci5maXJzdE5hbWV9ICR7ZS5hdXRob3Iuc3VyTmFtZX1gfSxwdWJsaXNoZXI6eyJAdHlwZSI6Ik9yZ2FuaXphdGlvbiIsbmFtZTplLmF1dGhvci5zdXJOYW1lLGxvZ286eyJAdHlwZSI6IkltYWdlT2JqZWN0Iix1cmw6ZS5hdXRob3Iuc3VyTmFtZX19LGRlc2NyaXB0aW9uOmUuYXV0aG9yLmZpcnN0TmFtZX07cmV0dXJuIG5ldyB0KGEpfXN0YXRpYyBjcmVhdGVQcm9kdWN0SnNvbkxkKGUsYSl7bGV0IHI9eyJAY29udGV4dCI6Imh0dHBzOi8vc2NoZW1hLm9yZyIsIkB0eXBlIjoiU29mdHdhcmVBcHBsaWNhdGlvbiIsbmFtZTplLm5hbWUsZGVzY3JpcHRpb246ZS5kZXNjcmlwdGlvbixvcGVyYXRpbmdTeXN0ZW06ZS5vcyxhcHBsaWNhdGlvbkNhdGVnb3J5OmUuY2F0ZWdvcnksb2ZmZXJzOnsiQHR5cGUiOiJPZmZlciIsbmFtZToiVXNlci1iYXNlZCBQbGFuIixwcmljZVNwZWNpZmljYXRpb246eyJAdHlwZSI6IlByb3BlcnR5VmFsdWVTcGVjaWZpY2F0aW9uIix2YWx1ZU5hbWU6Ik51bWJlciBvZiBVc2VycyIsdmFsdWVSZXF1aXJlZDohMCxwcmljZToiNC45OSIscHJpY2VDdXJyZW5jeToiRVVSIn19LHB1Ymxpc2hlcjp0aGlzLmNyZWF0ZUNvbXBhbnlKc29uTGQoYSkuZWxlbWVudFJlZi50ZXh0Q29udGVudCxzY3JlZW5zaG90OiJodHRwczovL3d3dy5zb2NpYWwuaW8vc2NyZWVuc2hvdC5wbmciLHVybDoiaHR0cHM6Ly93d3cuc29jaWFsLmlvLyJ9O3JldHVybiBuZXcgdChyKX1jb25zdHJ1Y3RvcihlKXtzdXBlcigpO2xldCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO2EudHlwZT0iYXBwbGljYXRpb24vbGQranNvbiIsYS50ZXh0PUpTT04uc3RyaW5naWZ5KGUpLHRoaXMuZWxlbWVudFJlZj1hfX19KTt2YXIgRXIsR1c9YygoKT0+e3BvKCk7JGYoKTtFcj1jbGFzcyB0IGV4dGVuZHMgWG57c3RhdGlje2kodGhpcywiT3BlbmdyYXBoVGFnIil9c3RhdGljIGNyZWF0ZU5ld3NBcnRpY2xlT2dUYWdzKGUpe2xldCBhPVtdO3JldHVybiBhLnB1c2gobmV3IHQoIm9nOnVybCIsZS51cmwpKSxhLnB1c2gobmV3IHQoIm9nOnRpdGxlIixlLnRpdGxlKSksYS5wdXNoKG5ldyB0KCJvZzpkZXNjcmlwdGlvbiIsZS5jb250ZW50KSksYS5wdXNoKG5ldyB0KCJvZzppbWFnZSIsZS5mZWF0dXJlZEltYWdlVXJsKSksYX1zdGF0aWMgY3JlYXRlUHJvZHVjdE9nVGFncyhlKXtsZXQgYT1bXTtyZXR1cm4gYS5wdXNoKG5ldyB0KCJvZzp1cmwiLGdsb2JhbFRoaXMubG9jYXRpb24uaHJlZikpLGEucHVzaChuZXcgdCgib2c6dGl0bGUiLGAke2UubmFtZX0gLSAke2Uuc2xvZ2FufWApKSxhLnB1c2gobmV3IHQoIm9nOnNpdGVfbmFtZSIsZS5uYW1lKSksYS5wdXNoKG5ldyB0KCJvZzpkZXNjcmlwdGlvbiIsZS5kZXNjcmlwdGlvbikpLGEucHVzaChuZXcgdCgib2c6aW1hZ2UiLGUubG9nb0xpbmspKSxhfWNvbnN0cnVjdG9yKGUsYSl7c3VwZXIoKTtsZXQgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJtZXRhIik7ci5zZXRBdHRyaWJ1dGUoInByb3BlcnR5IixlKSxyLmNvbnRlbnQ9YSx0aGlzLmVsZW1lbnRSZWY9cn19fSk7dmFyIHc4LF9zZT1jKCgpPT57JGYoKTtXVygpO0dXKCk7VHNlKCk7cG8oKTt3OD1jbGFzc3tzdGF0aWN7aSh0aGlzLCJUYWdMZXZlbCIpfXNldCB0aXRsZShlKXt0aGlzLnRpdGxlU3RvcmU9ZSx0aGlzLnN0YXRlPT09ImVuYWJsZWQiJiYoZG9jdW1lbnQudGl0bGU9dGhpcy50aXRsZVN0b3JlKX1nZXQgdGl0bGUoKXtyZXR1cm4gdGhpcy50aXRsZVN0b3JlfWNvbnN0cnVjdG9yKGUsYSl7dGhpcy50YWdzPVtdLHRoaXMuc3RhdGU9ImRpc2FibGVkIix0aGlzLnRhZ01hbmFnZXJSZWY9ZX1hZGRUYWcoZSl7aWYoZSBpbnN0YW5jZW9mIEFycmF5KWZvcihsZXQgYSBvZiBlKXRoaXMuYWRkVGFnKGEpO2Vsc2UgdGhpcy50YWdzLnB1c2goZSksdGhpcy5zdGF0ZT09PSJlbmFibGVkIiYmZS5hcHBlbmRUb0RvbSgpfWFzeW5jIGFkZENvbXBhbnlJbmZvKGUpe3RoaXMuYWRkVGFnKE4wLmNyZWF0ZUNvbXBhbnlKc29uTGQoZSkpLHRoaXMuYWRkVGFnKG5ldyBFcigib2c6dHlwZSIsImJ1c2luZXNzLmJ1c2luZXNzIikpLHRoaXMuYWRkVGFnKG5ldyBFcigib2c6dGl0bGUiLGUubmFtZSkpLHRoaXMuYWRkVGFnKG5ldyBFcigib2c6dXJsIixlLmNvbnRhY3Qud2Vic2l0ZSkpLHRoaXMuYWRkVGFnKG5ldyBFcigib2c6aW1hZ2UiLGUuY29udGFjdC5sb2dvVXJsKSksdGhpcy5hZGRUYWcobmV3IEVyKCJidXNpbmVzczpjb250YWN0X2RhdGE6c3RyZWV0X2FkZHJlc3MiLGAke2UuY29udGFjdC5hZGRyZXNzLnN0cmVldE5hbWV9ICR7ZS5jb250YWN0LmFkZHJlc3MuaG91c2VOdW1iZXJ9YCkpLHRoaXMuYWRkVGFnKG5ldyBFcigiYnVzaW5lc3M6Y29udGFjdF9kYXRhOmxvY2FsaXR5IixlLmNvbnRhY3QuYWRkcmVzcy5wb3N0YWxDb2RlKSksdGhpcy5hZGRUYWcobmV3IEVyKCJidXNpbmVzczpjb250YWN0X2RhdGE6cmVnaW9uIixlLmNvbnRhY3QuYWRkcmVzcy5jaXR5KSksdGhpcy5hZGRUYWcobmV3IEVyKCJidXNpbmVzczpjb250YWN0X2RhdGE6cG9zdGFsX2NvZGUiLGUuY29udGFjdC5hZGRyZXNzLnBvc3RhbENvZGUpKSx0aGlzLmFkZFRhZyhuZXcgRXIoImJ1c2luZXNzOmNvbnRhY3RfZGF0YTpjb3VudHJ5X25hbWUiLGUuY29udGFjdC5hZGRyZXNzLmNvdW50cnkpKX1hZGROZXdzQXJ0aWNsZUluZm8oZSl7dGhpcy5hZGRUYWcoTjAuY3JlYXRlTmV3c0FydGljbGVKc29uTGQoZSkpLHRoaXMuYWRkVGFnKEVyLmNyZWF0ZU5ld3NBcnRpY2xlT2dUYWdzKGUpKX1hZGRQcm9kdWN0SW5mbyhlLGEpe3RoaXMuYWRkVGFnKE4wLmNyZWF0ZVByb2R1Y3RKc29uTGQoZSxhKSksdGhpcy5hZGRUYWcoRXIuY3JlYXRlUHJvZHVjdE9nVGFncyhlKSl9YXN5bmMgZW5hYmxlKCl7dGhpcy50aXRsZSYmKGRvY3VtZW50LnRpdGxlPXRoaXMudGl0bGUpO2ZvcihsZXQgZSBvZiB0aGlzLnRhZ3MpZS5hcHBlbmRUb0RvbSgpO3RoaXMuc3RhdGU9ImVuYWJsZWQifWFzeW5jIGRpc2FibGUoKXtmb3IobGV0IGUgb2YgdGhpcy50YWdzKWUucmVtb3ZlRnJvbURvbSgpO3RoaXMuc3RhdGU9ImRpc2FibGVkIn19fSk7dmFyIEhpLExzZT1jKCgpPT57JGYoKTtIaT1jbGFzcyBleHRlbmRzIFhue3N0YXRpY3tpKHRoaXMsIk1ldGFUYWciKX1jb25zdHJ1Y3RvcihlLGEpe3N1cGVyKCk7bGV0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibWV0YSIpO3IubmFtZT1lLHIuY29udGVudD1hLHRoaXMuZWxlbWVudFJlZj1yfX19KTt2YXIgWVcsVHNlPWMoKCk9Pntfc2UoKTtwbygpO1VXKCk7THNlKCk7V1coKTtHVygpO1lXPWNsYXNze3N0YXRpY3tpKHRoaXMsIlRhZ01hbmFnZXIiKX1jb25zdHJ1Y3Rvcigpe3RoaXMuZ2xvYmFsTGV2ZWw9bmV3IHc4KHRoaXMsImdsb2JhbCIpLHRoaXMuYmFzZUxldmVsPW5ldyB3OCh0aGlzLCJiYXNlIil9YXN5bmMgc2V0dXAoZSl7c3dpdGNoKHRoaXMuZ2xvYmFsTGV2ZWwuYWRkVGFnKG5ldyBIaSgiZ29vZ2xlIiwibm90cmFuc2xhdGUiKSksdGhpcy5nbG9iYWxMZXZlbC5hZGRUYWcobmV3IEhpKCJyZXZpc2l0LWFmdGVyIiwiMSBkYXlzIikpLGUudHdpdHRlckhhbmRsZSYmKHRoaXMuZ2xvYmFsTGV2ZWwuYWRkVGFnKG5ldyBIaSgidHdpdHRlcjpjYXJkIiwic3VtbWFyeV9sYXJnZV9pbWFnZSIpKSx0aGlzLmdsb2JhbExldmVsLmFkZFRhZyhuZXcgSGkoInR3aXR0ZXI6c2l0ZSIsZS50d2l0dGVySGFuZGxlKSksdGhpcy5nbG9iYWxMZXZlbC5hZGRUYWcobmV3IEhpKCJ0d2l0dGVyOmNyZWF0b3IiLGUudHdpdHRlckhhbmRsZSkpKSx0aGlzLmJhc2VMZXZlbC50aXRsZT1lLnRpdGxlLGUuZGVzY3JpcHRpb24mJnRoaXMuYmFzZUxldmVsLmFkZFRhZyhuZXcgSGkoImRlc2NyaXB0aW9uIixlLmRlc2NyaXB0aW9uKSksZS5jYW5vbmljYWxEb21haW4mJnRoaXMuYmFzZUxldmVsLmFkZFRhZyhuZXcgSGkoImNhbm9uaWNhbCIsZS5jYW5vbmljYWxEb21haW4pKSwhMCl7Y2FzZShlLmxkQ29tcGFueSYmIWUubGRQcm9kdWN0KTp0aGlzLmJhc2VMZXZlbC5hZGRDb21wYW55SW5mbyhlLmxkQ29tcGFueSk7YnJlYWs7Y2FzZSEhZS5sZFByb2R1Y3Q6dGhpcy5iYXNlTGV2ZWwuYWRkUHJvZHVjdEluZm8oZS5sZFByb2R1Y3QsZS5sZENvbXBhbnkpO2JyZWFrfWF3YWl0IHRoaXMuZ2xvYmFsTGV2ZWwuZW5hYmxlKCksdGhpcy5hY3RpdmVMZXZlbD10aGlzLmJhc2VMZXZlbCxhd2FpdCB0aGlzLmFjdGl2ZUxldmVsLmVuYWJsZSgpfWFzeW5jIHNldFN1YlBhZ2VMZXZlbChlKXtsZXQgYT1uZXcgdzgodGhpcywic3VicGFnZSIpO3JldHVybiBhLnRpdGxlPWUudGl0bGUsZS5kZXNjcmlwdGlvbiYmYS5hZGRUYWcobmV3IEhpKCJkZXNjcmlwdGlvbiIsZS5kZXNjcmlwdGlvbikpLGF3YWl0IHRoaXMuYWN0aXZlTGV2ZWwuZGlzYWJsZSgpLHRoaXMuYWN0aXZlTGV2ZWw9YSxhd2FpdCB0aGlzLmFjdGl2ZUxldmVsLmVuYWJsZSgpLGF9YXN5bmMgcmV2ZXJ0VG9CYXNlTGV2ZWwoKXt0aGlzLmFjdGl2ZUxldmVsIT09dGhpcy5iYXNlTGV2ZWwmJihhd2FpdCB0aGlzLmFjdGl2ZUxldmVsLmRpc2FibGUoKSx0aGlzLmFjdGl2ZUxldmVsPXRoaXMuYmFzZUxldmVsLGF3YWl0IHRoaXMuYWN0aXZlTGV2ZWwuZW5hYmxlKCkpfX19KTt2YXIgRGYseGN0PWMoKCk9PntwbygpO1VXKCk7VHNlKCk7X3NlKCk7RGY9Y2xhc3N7c3RhdGlje2kodGhpcywiV2ViU2V0dXAiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLnRhZ01hbmFnZXI9bmV3IFlXLHRoaXMucmVhZHlEZWZlcnJlZD1JMC5kZWZlcigpLHRoaXMucmVhZHlGb3JTbWFydHNzckRlZmVycmVkPUkwLmRlZmVyKCksdGhpcy5yZWFkeVByb21pc2U9dGhpcy5yZWFkeURlZmVycmVkLnByb21pc2UsdGhpcy5yZWFkeUZvclNtYXJ0c3NyUHJvbWlzZT10aGlzLnJlYWR5Rm9yU21hcnRzc3JEZWZlcnJlZC5wcm9taXNlLHRoaXMub3B0aW9ucz1lLHRoaXMuc2V0dXAoKS50aGVuKCgpPT57dGhpcy5yZWFkeURlZmVycmVkLnJlc29sdmUoKSx0aGlzLm9wdGlvbnMuc21hcnRzc3JXYWl0Rm9yUmVhZHlTaWduYWx8fHRoaXMucmVhZHlGb3JTbWFydHNzckRlZmVycmVkLnJlc29sdmUoKX0pfWFzeW5jIHNldHVwKGUpe2UmJih0aGlzLm9wdGlvbnM9ZSksYXdhaXQgdGhpcy50YWdNYW5hZ2VyLnNldHVwKHRoaXMub3B0aW9ucy5tZXRhT2JqZWN0KX1yZXZlcnRUb0Jhc2VMZXZlbCgpe3RoaXMudGFnTWFuYWdlci5yZXZlcnRUb0Jhc2VMZXZlbCgpfWFzeW5jIHNldFN1YkxldmVsKGUpe3JldHVybiBhd2FpdCB0aGlzLnRhZ01hbmFnZXIuc2V0U3ViUGFnZUxldmVsKGUpfWZsYXNoVGl0bGUoZSl7fWluZm9ybVJlYWR5Rm9yU21hcnRzc3IoKXt0aGlzLm9wdGlvbnMuc21hcnRzc3JXYWl0Rm9yUmVhZHlTaWduYWx8fGNvbnNvbGUuZXJyb3IoIllvdSBoYXZlIG5vdCBpbmRpY2F0ZWQgdGhhdCB5b3UgaW5mb3JtIHNtYXJ0c3NyIGJ5IGEgZGVkaWNhdGVkIHNpZ25hbCEgUGxlYXNlIGNvbnNpZGVyIGRvaW5nIHNvISIpLHRoaXMucmVhZHlGb3JTbWFydHNzckRlZmVycmVkLnJlc29sdmUoKX19fSk7dmFyICRzZSx5Y3Q9YygoKT0+e3BvKCk7JHNlPWNsYXNze3N0YXRpY3tpKHRoaXMsIlRpdGxlIil9fX0pO3ZhciBEc2U9e307ZXQoRHNlLHtKc29uTGRUYWc6KCk9Pk4wLE1ldGFUYWc6KCk9PkhpLE9wZW5ncmFwaFRhZzooKT0+RXIsVGl0bGU6KCk9PiRzZSxXZWJTZXR1cDooKT0+RGZ9KTt2YXIgWlc9YygoKT0+e3hjdCgpO0xzZSgpO0dXKCk7V1coKTt5Y3QoKX0pO2Z1bmN0aW9uIHdjdCh0LGUsYSl7cmV0dXJuIE1hdGgubWF4KHQsTWF0aC5taW4oZSxhKSl9ZnVuY3Rpb24geWhhKHQsZSxhKXtyZXR1cm4oMS1hKSp0K2EqZX1mdW5jdGlvbiB3aGEodCxlLGEscil7cmV0dXJuIHloYSh0LGUsMS1NYXRoLmV4cCgtYSpyKSl9ZnVuY3Rpb24gTWhhKHQsZSl7cmV0dXJuKHQlZStlKSVlfWZ1bmN0aW9uIHpoYSh0LGUpe2xldCBhO3JldHVybiBmdW5jdGlvbiguLi5yKXtsZXQgcz10aGlzO2NsZWFyVGltZW91dChhKSxhPXNldFRpbWVvdXQoKCk9PnthPXZvaWQgMCx0LmFwcGx5KHMscil9LGUpfX12YXIgeGhhLGtoYSxTaGEsTWN0LGtjdCxLbixDaGEsemN0LEFmLFNjdD1jKCgpPT57eGhhPSIxLjMuMTciO2kod2N0LCJjbGFtcCIpO2koeWhhLCJsZXJwIik7aSh3aGEsImRhbXAiKTtpKE1oYSwibW9kdWxvIik7a2hhPWNsYXNze3N0YXRpY3tpKHRoaXMsIkFuaW1hdGUiKX1pc1J1bm5pbmc9ITE7dmFsdWU9MDtmcm9tPTA7dG89MDtjdXJyZW50VGltZT0wO2xlcnA7ZHVyYXRpb247ZWFzaW5nO29uVXBkYXRlO2FkdmFuY2UodCl7aWYoIXRoaXMuaXNSdW5uaW5nKXJldHVybjtsZXQgZT0hMTtpZih0aGlzLmR1cmF0aW9uJiZ0aGlzLmVhc2luZyl7dGhpcy5jdXJyZW50VGltZSs9dDtsZXQgYT13Y3QoMCx0aGlzLmN1cnJlbnRUaW1lL3RoaXMuZHVyYXRpb24sMSk7ZT1hPj0xO2xldCByPWU/MTp0aGlzLmVhc2luZyhhKTt0aGlzLnZhbHVlPXRoaXMuZnJvbSsodGhpcy50by10aGlzLmZyb20pKnJ9ZWxzZSB0aGlzLmxlcnA/KHRoaXMudmFsdWU9d2hhKHRoaXMudmFsdWUsdGhpcy50byx0aGlzLmxlcnAqNjAsdCksTWF0aC5yb3VuZCh0aGlzLnZhbHVlKT09PXRoaXMudG8mJih0aGlzLnZhbHVlPXRoaXMudG8sZT0hMCkpOih0aGlzLnZhbHVlPXRoaXMudG8sZT0hMCk7ZSYmdGhpcy5zdG9wKCksdGhpcy5vblVwZGF0ZT8uKHRoaXMudmFsdWUsZSl9c3RvcCgpe3RoaXMuaXNSdW5uaW5nPSExfWZyb21Ubyh0LGUse2xlcnA6YSxkdXJhdGlvbjpyLGVhc2luZzpzLG9uU3RhcnQ6bixvblVwZGF0ZTpvfSl7dGhpcy5mcm9tPXRoaXMudmFsdWU9dCx0aGlzLnRvPWUsdGhpcy5sZXJwPWEsdGhpcy5kdXJhdGlvbj1yLHRoaXMuZWFzaW5nPXMsdGhpcy5jdXJyZW50VGltZT0wLHRoaXMuaXNSdW5uaW5nPSEwLG4/LigpLHRoaXMub25VcGRhdGU9b319O2koemhhLCJkZWJvdW5jZSIpO1NoYT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJEaW1lbnNpb25zIil9Y29uc3RydWN0b3IodCxlLHthdXRvUmVzaXplOmE9ITAsZGVib3VuY2U6cj0yNTB9PXt9KXt0aGlzLndyYXBwZXI9dCx0aGlzLmNvbnRlbnQ9ZSxhJiYodGhpcy5kZWJvdW5jZWRSZXNpemU9emhhKHRoaXMucmVzaXplLHIpLHRoaXMud3JhcHBlciBpbnN0YW5jZW9mIFdpbmRvdz93aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLmRlYm91bmNlZFJlc2l6ZSwhMSk6KHRoaXMud3JhcHBlclJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcih0aGlzLmRlYm91bmNlZFJlc2l6ZSksdGhpcy53cmFwcGVyUmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLndyYXBwZXIpKSx0aGlzLmNvbnRlbnRSZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIodGhpcy5kZWJvdW5jZWRSZXNpemUpLHRoaXMuY29udGVudFJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy5jb250ZW50KSksdGhpcy5yZXNpemUoKX13aWR0aD0wO2hlaWdodD0wO3Njcm9sbEhlaWdodD0wO3Njcm9sbFdpZHRoPTA7ZGVib3VuY2VkUmVzaXplO3dyYXBwZXJSZXNpemVPYnNlcnZlcjtjb250ZW50UmVzaXplT2JzZXJ2ZXI7ZGVzdHJveSgpe3RoaXMud3JhcHBlclJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCksdGhpcy5jb250ZW50UmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKSx0aGlzLndyYXBwZXI9PT13aW5kb3cmJnRoaXMuZGVib3VuY2VkUmVzaXplJiZ3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLmRlYm91bmNlZFJlc2l6ZSwhMSl9cmVzaXplPWkoKCk9Pnt0aGlzLm9uV3JhcHBlclJlc2l6ZSgpLHRoaXMub25Db250ZW50UmVzaXplKCl9LCJyZXNpemUiKTtvbldyYXBwZXJSZXNpemU9aSgoKT0+e3RoaXMud3JhcHBlciBpbnN0YW5jZW9mIFdpbmRvdz8odGhpcy53aWR0aD13aW5kb3cuaW5uZXJXaWR0aCx0aGlzLmhlaWdodD13aW5kb3cuaW5uZXJIZWlnaHQpOih0aGlzLndpZHRoPXRoaXMud3JhcHBlci5jbGllbnRXaWR0aCx0aGlzLmhlaWdodD10aGlzLndyYXBwZXIuY2xpZW50SGVpZ2h0KX0sIm9uV3JhcHBlclJlc2l6ZSIpO29uQ29udGVudFJlc2l6ZT1pKCgpPT57dGhpcy53cmFwcGVyIGluc3RhbmNlb2YgV2luZG93Pyh0aGlzLnNjcm9sbEhlaWdodD10aGlzLmNvbnRlbnQuc2Nyb2xsSGVpZ2h0LHRoaXMuc2Nyb2xsV2lkdGg9dGhpcy5jb250ZW50LnNjcm9sbFdpZHRoKToodGhpcy5zY3JvbGxIZWlnaHQ9dGhpcy53cmFwcGVyLnNjcm9sbEhlaWdodCx0aGlzLnNjcm9sbFdpZHRoPXRoaXMud3JhcHBlci5zY3JvbGxXaWR0aCl9LCJvbkNvbnRlbnRSZXNpemUiKTtnZXQgbGltaXQoKXtyZXR1cm57eDp0aGlzLnNjcm9sbFdpZHRoLXRoaXMud2lkdGgseTp0aGlzLnNjcm9sbEhlaWdodC10aGlzLmhlaWdodH19fSxNY3Q9Y2xhc3N7c3RhdGlje2kodGhpcywiRW1pdHRlciIpfWV2ZW50cz17fTtlbWl0KHQsLi4uZSl7bGV0IGE9dGhpcy5ldmVudHNbdF18fFtdO2ZvcihsZXQgcj0wLHM9YS5sZW5ndGg7cjxzO3IrKylhW3JdPy4oLi4uZSl9b24odCxlKXtyZXR1cm4gdGhpcy5ldmVudHNbdF0/LnB1c2goZSl8fCh0aGlzLmV2ZW50c1t0XT1bZV0pLCgpPT57dGhpcy5ldmVudHNbdF09dGhpcy5ldmVudHNbdF0/LmZpbHRlcihhPT5lIT09YSl9fW9mZih0LGUpe3RoaXMuZXZlbnRzW3RdPXRoaXMuZXZlbnRzW3RdPy5maWx0ZXIoYT0+ZSE9PWEpfWRlc3Ryb3koKXt0aGlzLmV2ZW50cz17fX19LGtjdD0xMDAvNixLbj17cGFzc2l2ZTohMX0sQ2hhPWNsYXNze3N0YXRpY3tpKHRoaXMsIlZpcnR1YWxTY3JvbGwiKX1jb25zdHJ1Y3Rvcih0LGU9e3doZWVsTXVsdGlwbGllcjoxLHRvdWNoTXVsdGlwbGllcjoxfSl7dGhpcy5lbGVtZW50PXQsdGhpcy5vcHRpb25zPWUsd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5vbldpbmRvd1Jlc2l6ZSwhMSksdGhpcy5vbldpbmRvd1Jlc2l6ZSgpLHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIsdGhpcy5vbldoZWVsLEtuKSx0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5vblRvdWNoU3RhcnQsS24pLHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMub25Ub3VjaE1vdmUsS24pLHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5vblRvdWNoRW5kLEtuKX10b3VjaFN0YXJ0PXt4OjAseTowfTtsYXN0RGVsdGE9e3g6MCx5OjB9O3dpbmRvdz17d2lkdGg6MCxoZWlnaHQ6MH07ZW1pdHRlcj1uZXcgTWN0O29uKHQsZSl7cmV0dXJuIHRoaXMuZW1pdHRlci5vbih0LGUpfWRlc3Ryb3koKXt0aGlzLmVtaXR0ZXIuZGVzdHJveSgpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMub25XaW5kb3dSZXNpemUsITEpLHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIsdGhpcy5vbldoZWVsLEtuKSx0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5vblRvdWNoU3RhcnQsS24pLHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMub25Ub3VjaE1vdmUsS24pLHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5vblRvdWNoRW5kLEtuKX1vblRvdWNoU3RhcnQ9aSh0PT57bGV0e2NsaWVudFg6ZSxjbGllbnRZOmF9PXQudGFyZ2V0VG91Y2hlcz90LnRhcmdldFRvdWNoZXNbMF06dDt0aGlzLnRvdWNoU3RhcnQueD1lLHRoaXMudG91Y2hTdGFydC55PWEsdGhpcy5sYXN0RGVsdGE9e3g6MCx5OjB9LHRoaXMuZW1pdHRlci5lbWl0KCJzY3JvbGwiLHtkZWx0YVg6MCxkZWx0YVk6MCxldmVudDp0fSl9LCJvblRvdWNoU3RhcnQiKTtvblRvdWNoTW92ZT1pKHQ9PntsZXR7Y2xpZW50WDplLGNsaWVudFk6YX09dC50YXJnZXRUb3VjaGVzP3QudGFyZ2V0VG91Y2hlc1swXTp0LHI9LShlLXRoaXMudG91Y2hTdGFydC54KSp0aGlzLm9wdGlvbnMudG91Y2hNdWx0aXBsaWVyLHM9LShhLXRoaXMudG91Y2hTdGFydC55KSp0aGlzLm9wdGlvbnMudG91Y2hNdWx0aXBsaWVyO3RoaXMudG91Y2hTdGFydC54PWUsdGhpcy50b3VjaFN0YXJ0Lnk9YSx0aGlzLmxhc3REZWx0YT17eDpyLHk6c30sdGhpcy5lbWl0dGVyLmVtaXQoInNjcm9sbCIse2RlbHRhWDpyLGRlbHRhWTpzLGV2ZW50OnR9KX0sIm9uVG91Y2hNb3ZlIik7b25Ub3VjaEVuZD1pKHQ9Pnt0aGlzLmVtaXR0ZXIuZW1pdCgic2Nyb2xsIix7ZGVsdGFYOnRoaXMubGFzdERlbHRhLngsZGVsdGFZOnRoaXMubGFzdERlbHRhLnksZXZlbnQ6dH0pfSwib25Ub3VjaEVuZCIpO29uV2hlZWw9aSh0PT57bGV0e2RlbHRhWDplLGRlbHRhWTphLGRlbHRhTW9kZTpyfT10LHM9cj09PTE/a2N0OnI9PT0yP3RoaXMud2luZG93LndpZHRoOjEsbj1yPT09MT9rY3Q6cj09PTI/dGhpcy53aW5kb3cuaGVpZ2h0OjE7ZSo9cyxhKj1uLGUqPXRoaXMub3B0aW9ucy53aGVlbE11bHRpcGxpZXIsYSo9dGhpcy5vcHRpb25zLndoZWVsTXVsdGlwbGllcix0aGlzLmVtaXR0ZXIuZW1pdCgic2Nyb2xsIix7ZGVsdGFYOmUsZGVsdGFZOmEsZXZlbnQ6dH0pfSwib25XaGVlbCIpO29uV2luZG93UmVzaXplPWkoKCk9Pnt0aGlzLndpbmRvdz17d2lkdGg6d2luZG93LmlubmVyV2lkdGgsaGVpZ2h0OndpbmRvdy5pbm5lckhlaWdodH19LCJvbldpbmRvd1Jlc2l6ZSIpfSx6Y3Q9aSh0PT5NYXRoLm1pbigxLDEuMDAxLU1hdGgucG93KDIsLTEwKnQpKSwiZGVmYXVsdEVhc2luZyIpLEFmPWNsYXNze3N0YXRpY3tpKHRoaXMsIkxlbmlzIil9X2lzU2Nyb2xsaW5nPSExO19pc1N0b3BwZWQ9ITE7X2lzTG9ja2VkPSExO19wcmV2ZW50TmV4dE5hdGl2ZVNjcm9sbEV2ZW50PSExO19yZXNldFZlbG9jaXR5VGltZW91dD1udWxsO19yYWZJZD1udWxsO2lzVG91Y2hpbmc7dGltZT0wO3VzZXJEYXRhPXt9O2xhc3RWZWxvY2l0eT0wO3ZlbG9jaXR5PTA7ZGlyZWN0aW9uPTA7b3B0aW9uczt0YXJnZXRTY3JvbGw7YW5pbWF0ZWRTY3JvbGw7YW5pbWF0ZT1uZXcga2hhO2VtaXR0ZXI9bmV3IE1jdDtkaW1lbnNpb25zO3ZpcnR1YWxTY3JvbGw7Y29uc3RydWN0b3Ioe3dyYXBwZXI6dD13aW5kb3csY29udGVudDplPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxldmVudHNUYXJnZXQ6YT10LHNtb290aFdoZWVsOnI9ITAsc3luY1RvdWNoOnM9ITEsc3luY1RvdWNoTGVycDpuPS4wNzUsdG91Y2hJbmVydGlhRXhwb25lbnQ6bz0xLjcsZHVyYXRpb246bCxlYXNpbmc6aCxsZXJwOnU9LjEsaW5maW5pdGU6Zj0hMSxvcmllbnRhdGlvbjpwPSJ2ZXJ0aWNhbCIsZ2VzdHVyZU9yaWVudGF0aW9uOmc9cD09PSJob3Jpem9udGFsIj8iYm90aCI6InZlcnRpY2FsIix0b3VjaE11bHRpcGxpZXI6dj0xLHdoZWVsTXVsdGlwbGllcjp4PTEsYXV0b1Jlc2l6ZTpiPSEwLHByZXZlbnQ6bSx2aXJ0dWFsU2Nyb2xsOnksb3ZlcnNjcm9sbDpNPSEwLGF1dG9SYWY6az0hMSxhbmNob3JzOkU9ITEsYXV0b1RvZ2dsZTpfPSExLGFsbG93TmVzdGVkU2Nyb2xsOkM9ITEsX19leHBlcmltZW50YWxfX25haXZlRGltZW5zaW9uczpOPSExLG5haXZlRGltZW5zaW9uczokPU4sc3RvcEluZXJ0aWFPbk5hdmlnYXRlOkk9ITF9PXt9KXt3aW5kb3cubGVuaXNWZXJzaW9uPXhoYSwoIXR8fHQ9PT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpJiYodD13aW5kb3cpLHR5cGVvZiBsPT0ibnVtYmVyIiYmdHlwZW9mIGghPSJmdW5jdGlvbiI/aD16Y3Q6dHlwZW9mIGg9PSJmdW5jdGlvbiImJnR5cGVvZiBsIT0ibnVtYmVyIiYmKGw9MSksdGhpcy5vcHRpb25zPXt3cmFwcGVyOnQsY29udGVudDplLGV2ZW50c1RhcmdldDphLHNtb290aFdoZWVsOnIsc3luY1RvdWNoOnMsc3luY1RvdWNoTGVycDpuLHRvdWNoSW5lcnRpYUV4cG9uZW50Om8sZHVyYXRpb246bCxlYXNpbmc6aCxsZXJwOnUsaW5maW5pdGU6ZixnZXN0dXJlT3JpZW50YXRpb246ZyxvcmllbnRhdGlvbjpwLHRvdWNoTXVsdGlwbGllcjp2LHdoZWVsTXVsdGlwbGllcjp4LGF1dG9SZXNpemU6YixwcmV2ZW50Om0sdmlydHVhbFNjcm9sbDp5LG92ZXJzY3JvbGw6TSxhdXRvUmFmOmssYW5jaG9yczpFLGF1dG9Ub2dnbGU6XyxhbGxvd05lc3RlZFNjcm9sbDpDLG5haXZlRGltZW5zaW9uczokLHN0b3BJbmVydGlhT25OYXZpZ2F0ZTpJfSx0aGlzLmRpbWVuc2lvbnM9bmV3IFNoYSh0LGUse2F1dG9SZXNpemU6Yn0pLHRoaXMudXBkYXRlQ2xhc3NOYW1lKCksdGhpcy50YXJnZXRTY3JvbGw9dGhpcy5hbmltYXRlZFNjcm9sbD10aGlzLmFjdHVhbFNjcm9sbCx0aGlzLm9wdGlvbnMud3JhcHBlci5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMub25OYXRpdmVTY3JvbGwsITEpLHRoaXMub3B0aW9ucy53cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbGVuZCIsdGhpcy5vblNjcm9sbEVuZCx7Y2FwdHVyZTohMH0pLCh0aGlzLm9wdGlvbnMuYW5jaG9yc3x8dGhpcy5vcHRpb25zLnN0b3BJbmVydGlhT25OYXZpZ2F0ZSkmJnRoaXMub3B0aW9ucy53cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLm9uQ2xpY2ssITEpLHRoaXMub3B0aW9ucy53cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIix0aGlzLm9uUG9pbnRlckRvd24sITEpLHRoaXMudmlydHVhbFNjcm9sbD1uZXcgQ2hhKGEse3RvdWNoTXVsdGlwbGllcjp2LHdoZWVsTXVsdGlwbGllcjp4fSksdGhpcy52aXJ0dWFsU2Nyb2xsLm9uKCJzY3JvbGwiLHRoaXMub25WaXJ0dWFsU2Nyb2xsKSx0aGlzLm9wdGlvbnMuYXV0b1RvZ2dsZSYmKHRoaXMuY2hlY2tPdmVyZmxvdygpLHRoaXMucm9vdEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsdGhpcy5vblRyYW5zaXRpb25FbmQse3Bhc3NpdmU6ITB9KSksdGhpcy5vcHRpb25zLmF1dG9SYWYmJih0aGlzLl9yYWZJZD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5yYWYpKX1kZXN0cm95KCl7dGhpcy5lbWl0dGVyLmRlc3Ryb3koKSx0aGlzLm9wdGlvbnMud3JhcHBlci5yZW1vdmVFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMub25OYXRpdmVTY3JvbGwsITEpLHRoaXMub3B0aW9ucy53cmFwcGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbGVuZCIsdGhpcy5vblNjcm9sbEVuZCx7Y2FwdHVyZTohMH0pLHRoaXMub3B0aW9ucy53cmFwcGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJkb3duIix0aGlzLm9uUG9pbnRlckRvd24sITEpLCh0aGlzLm9wdGlvbnMuYW5jaG9yc3x8dGhpcy5vcHRpb25zLnN0b3BJbmVydGlhT25OYXZpZ2F0ZSkmJnRoaXMub3B0aW9ucy53cmFwcGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLm9uQ2xpY2ssITEpLHRoaXMudmlydHVhbFNjcm9sbC5kZXN0cm95KCksdGhpcy5kaW1lbnNpb25zLmRlc3Ryb3koKSx0aGlzLmNsZWFuVXBDbGFzc05hbWUoKSx0aGlzLl9yYWZJZCYmY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fcmFmSWQpfW9uKHQsZSl7cmV0dXJuIHRoaXMuZW1pdHRlci5vbih0LGUpfW9mZih0LGUpe3JldHVybiB0aGlzLmVtaXR0ZXIub2ZmKHQsZSl9b25TY3JvbGxFbmQ9aSh0PT57dCBpbnN0YW5jZW9mIEN1c3RvbUV2ZW50fHwodGhpcy5pc1Njcm9sbGluZz09PSJzbW9vdGgifHx0aGlzLmlzU2Nyb2xsaW5nPT09ITEpJiZ0LnN0b3BQcm9wYWdhdGlvbigpfSwib25TY3JvbGxFbmQiKTtkaXNwYXRjaFNjcm9sbGVuZEV2ZW50PWkoKCk9Pnt0aGlzLm9wdGlvbnMud3JhcHBlci5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2Nyb2xsZW5kIix7YnViYmxlczp0aGlzLm9wdGlvbnMud3JhcHBlcj09PXdpbmRvdyxkZXRhaWw6e2xlbmlzU2Nyb2xsRW5kOiEwfX0pKX0sImRpc3BhdGNoU2Nyb2xsZW5kRXZlbnQiKTtnZXQgb3ZlcmZsb3coKXtsZXQgdD10aGlzLmlzSG9yaXpvbnRhbD8ib3ZlcmZsb3cteCI6Im92ZXJmbG93LXkiO3JldHVybiBnZXRDb21wdXRlZFN0eWxlKHRoaXMucm9vdEVsZW1lbnQpW3RdfWNoZWNrT3ZlcmZsb3coKXtbImhpZGRlbiIsImNsaXAiXS5pbmNsdWRlcyh0aGlzLm92ZXJmbG93KT90aGlzLmludGVybmFsU3RvcCgpOnRoaXMuaW50ZXJuYWxTdGFydCgpfW9uVHJhbnNpdGlvbkVuZD1pKHQ9Pnt0LnByb3BlcnR5TmFtZS5pbmNsdWRlcygib3ZlcmZsb3ciKSYmdGhpcy5jaGVja092ZXJmbG93KCl9LCJvblRyYW5zaXRpb25FbmQiKTtzZXRTY3JvbGwodCl7dGhpcy5pc0hvcml6b250YWw/dGhpcy5vcHRpb25zLndyYXBwZXIuc2Nyb2xsVG8oe2xlZnQ6dCxiZWhhdmlvcjoiaW5zdGFudCJ9KTp0aGlzLm9wdGlvbnMud3JhcHBlci5zY3JvbGxUbyh7dG9wOnQsYmVoYXZpb3I6Imluc3RhbnQifSl9b25DbGljaz1pKHQ9PntsZXQgYT10LmNvbXBvc2VkUGF0aCgpLmZpbHRlcihyPT5yIGluc3RhbmNlb2YgSFRNTEFuY2hvckVsZW1lbnQmJnIuZ2V0QXR0cmlidXRlKCJocmVmIikpO2lmKHRoaXMub3B0aW9ucy5hbmNob3JzKXtsZXQgcj1hLmZpbmQocz0+cy5nZXRBdHRyaWJ1dGUoImhyZWYiKT8uaW5jbHVkZXMoIiMiKSk7aWYocil7bGV0IHM9ci5nZXRBdHRyaWJ1dGUoImhyZWYiKTtpZihzKXtsZXQgbj10eXBlb2YgdGhpcy5vcHRpb25zLmFuY2hvcnM9PSJvYmplY3QiJiZ0aGlzLm9wdGlvbnMuYW5jaG9ycz90aGlzLm9wdGlvbnMuYW5jaG9yczp2b2lkIDAsbz1gIyR7cy5zcGxpdCgiIyIpWzFdfWA7dGhpcy5zY3JvbGxUbyhvLG4pfX19dGhpcy5vcHRpb25zLnN0b3BJbmVydGlhT25OYXZpZ2F0ZSYmYS5maW5kKHM9PnMuaG9zdD09PXdpbmRvdy5sb2NhdGlvbi5ob3N0KSYmdGhpcy5yZXNldCgpfSwib25DbGljayIpO29uUG9pbnRlckRvd249aSh0PT57dC5idXR0b249PT0xJiZ0aGlzLnJlc2V0KCl9LCJvblBvaW50ZXJEb3duIik7b25WaXJ0dWFsU2Nyb2xsPWkodD0+e2lmKHR5cGVvZiB0aGlzLm9wdGlvbnMudmlydHVhbFNjcm9sbD09ImZ1bmN0aW9uIiYmdGhpcy5vcHRpb25zLnZpcnR1YWxTY3JvbGwodCk9PT0hMSlyZXR1cm47bGV0e2RlbHRhWDplLGRlbHRhWTphLGV2ZW50OnJ9PXQ7aWYodGhpcy5lbWl0dGVyLmVtaXQoInZpcnR1YWwtc2Nyb2xsIix7ZGVsdGFYOmUsZGVsdGFZOmEsZXZlbnQ6cn0pLHIuY3RybEtleXx8ci5sZW5pc1N0b3BQcm9wYWdhdGlvbilyZXR1cm47bGV0IHM9ci50eXBlLmluY2x1ZGVzKCJ0b3VjaCIpLG49ci50eXBlLmluY2x1ZGVzKCJ3aGVlbCIpO3RoaXMuaXNUb3VjaGluZz1yLnR5cGU9PT0idG91Y2hzdGFydCJ8fHIudHlwZT09PSJ0b3VjaG1vdmUiO2xldCBvPWU9PT0wJiZhPT09MDtpZih0aGlzLm9wdGlvbnMuc3luY1RvdWNoJiZzJiZyLnR5cGU9PT0idG91Y2hzdGFydCImJm8mJiF0aGlzLmlzU3RvcHBlZCYmIXRoaXMuaXNMb2NrZWQpe3RoaXMucmVzZXQoKTtyZXR1cm59bGV0IGg9dGhpcy5vcHRpb25zLmdlc3R1cmVPcmllbnRhdGlvbj09PSJ2ZXJ0aWNhbCImJmE9PT0wfHx0aGlzLm9wdGlvbnMuZ2VzdHVyZU9yaWVudGF0aW9uPT09Imhvcml6b250YWwiJiZlPT09MDtpZihvfHxoKXJldHVybjtsZXQgdT1yLmNvbXBvc2VkUGF0aCgpO3U9dS5zbGljZSgwLHUuaW5kZXhPZih0aGlzLnJvb3RFbGVtZW50KSk7bGV0IGY9dGhpcy5vcHRpb25zLnByZXZlbnQ7aWYodS5maW5kKG09Pm0gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmKHR5cGVvZiBmPT0iZnVuY3Rpb24iJiZmPy4obSl8fG0uaGFzQXR0cmlidXRlPy4oImRhdGEtbGVuaXMtcHJldmVudCIpfHxzJiZtLmhhc0F0dHJpYnV0ZT8uKCJkYXRhLWxlbmlzLXByZXZlbnQtdG91Y2giKXx8biYmbS5oYXNBdHRyaWJ1dGU/LigiZGF0YS1sZW5pcy1wcmV2ZW50LXdoZWVsIil8fHRoaXMub3B0aW9ucy5hbGxvd05lc3RlZFNjcm9sbCYmdGhpcy5jaGVja05lc3RlZFNjcm9sbChtLHtkZWx0YVg6ZSxkZWx0YVk6YX0pKSkpcmV0dXJuO2lmKHRoaXMuaXNTdG9wcGVkfHx0aGlzLmlzTG9ja2VkKXtyLmNhbmNlbGFibGUmJnIucHJldmVudERlZmF1bHQoKTtyZXR1cm59aWYoISh0aGlzLm9wdGlvbnMuc3luY1RvdWNoJiZzfHx0aGlzLm9wdGlvbnMuc21vb3RoV2hlZWwmJm4pKXt0aGlzLmlzU2Nyb2xsaW5nPSJuYXRpdmUiLHRoaXMuYW5pbWF0ZS5zdG9wKCksci5sZW5pc1N0b3BQcm9wYWdhdGlvbj0hMDtyZXR1cm59bGV0IGc9YTt0aGlzLm9wdGlvbnMuZ2VzdHVyZU9yaWVudGF0aW9uPT09ImJvdGgiP2c9TWF0aC5hYnMoYSk+TWF0aC5hYnMoZSk/YTplOnRoaXMub3B0aW9ucy5nZXN0dXJlT3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCImJihnPWUpLCghdGhpcy5vcHRpb25zLm92ZXJzY3JvbGx8fHRoaXMub3B0aW9ucy5pbmZpbml0ZXx8dGhpcy5vcHRpb25zLndyYXBwZXIhPT13aW5kb3cmJnRoaXMubGltaXQ+MCYmKHRoaXMuYW5pbWF0ZWRTY3JvbGw+MCYmdGhpcy5hbmltYXRlZFNjcm9sbDx0aGlzLmxpbWl0fHx0aGlzLmFuaW1hdGVkU2Nyb2xsPT09MCYmYT4wfHx0aGlzLmFuaW1hdGVkU2Nyb2xsPT09dGhpcy5saW1pdCYmYTwwKSkmJihyLmxlbmlzU3RvcFByb3BhZ2F0aW9uPSEwKSxyLmNhbmNlbGFibGUmJnIucHJldmVudERlZmF1bHQoKTtsZXQgdj1zJiZ0aGlzLm9wdGlvbnMuc3luY1RvdWNoLGI9cyYmci50eXBlPT09InRvdWNoZW5kIjtiJiYoZz1NYXRoLnNpZ24odGhpcy52ZWxvY2l0eSkqTWF0aC5wb3coTWF0aC5hYnModGhpcy52ZWxvY2l0eSksdGhpcy5vcHRpb25zLnRvdWNoSW5lcnRpYUV4cG9uZW50KSksdGhpcy5zY3JvbGxUbyh0aGlzLnRhcmdldFNjcm9sbCtnLHtwcm9ncmFtbWF0aWM6ITEsLi4udj97bGVycDpiP3RoaXMub3B0aW9ucy5zeW5jVG91Y2hMZXJwOjF9OntsZXJwOnRoaXMub3B0aW9ucy5sZXJwLGR1cmF0aW9uOnRoaXMub3B0aW9ucy5kdXJhdGlvbixlYXNpbmc6dGhpcy5vcHRpb25zLmVhc2luZ319KX0sIm9uVmlydHVhbFNjcm9sbCIpO3Jlc2l6ZSgpe3RoaXMuZGltZW5zaW9ucy5yZXNpemUoKSx0aGlzLmFuaW1hdGVkU2Nyb2xsPXRoaXMudGFyZ2V0U2Nyb2xsPXRoaXMuYWN0dWFsU2Nyb2xsLHRoaXMuZW1pdCgpfWVtaXQoKXt0aGlzLmVtaXR0ZXIuZW1pdCgic2Nyb2xsIix0aGlzKX1vbk5hdGl2ZVNjcm9sbD1pKCgpPT57aWYodGhpcy5fcmVzZXRWZWxvY2l0eVRpbWVvdXQhPT1udWxsJiYoY2xlYXJUaW1lb3V0KHRoaXMuX3Jlc2V0VmVsb2NpdHlUaW1lb3V0KSx0aGlzLl9yZXNldFZlbG9jaXR5VGltZW91dD1udWxsKSx0aGlzLl9wcmV2ZW50TmV4dE5hdGl2ZVNjcm9sbEV2ZW50KXt0aGlzLl9wcmV2ZW50TmV4dE5hdGl2ZVNjcm9sbEV2ZW50PSExO3JldHVybn1pZih0aGlzLmlzU2Nyb2xsaW5nPT09ITF8fHRoaXMuaXNTY3JvbGxpbmc9PT0ibmF0aXZlIil7bGV0IHQ9dGhpcy5hbmltYXRlZFNjcm9sbDt0aGlzLmFuaW1hdGVkU2Nyb2xsPXRoaXMudGFyZ2V0U2Nyb2xsPXRoaXMuYWN0dWFsU2Nyb2xsLHRoaXMubGFzdFZlbG9jaXR5PXRoaXMudmVsb2NpdHksdGhpcy52ZWxvY2l0eT10aGlzLmFuaW1hdGVkU2Nyb2xsLXQsdGhpcy5kaXJlY3Rpb249TWF0aC5zaWduKHRoaXMuYW5pbWF0ZWRTY3JvbGwtdCksdGhpcy5pc1N0b3BwZWR8fCh0aGlzLmlzU2Nyb2xsaW5nPSJuYXRpdmUiKSx0aGlzLmVtaXQoKSx0aGlzLnZlbG9jaXR5IT09MCYmKHRoaXMuX3Jlc2V0VmVsb2NpdHlUaW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLmxhc3RWZWxvY2l0eT10aGlzLnZlbG9jaXR5LHRoaXMudmVsb2NpdHk9MCx0aGlzLmlzU2Nyb2xsaW5nPSExLHRoaXMuZW1pdCgpfSw0MDApKX19LCJvbk5hdGl2ZVNjcm9sbCIpO3Jlc2V0KCl7dGhpcy5pc0xvY2tlZD0hMSx0aGlzLmlzU2Nyb2xsaW5nPSExLHRoaXMuYW5pbWF0ZWRTY3JvbGw9dGhpcy50YXJnZXRTY3JvbGw9dGhpcy5hY3R1YWxTY3JvbGwsdGhpcy5sYXN0VmVsb2NpdHk9dGhpcy52ZWxvY2l0eT0wLHRoaXMuYW5pbWF0ZS5zdG9wKCl9c3RhcnQoKXtpZih0aGlzLmlzU3RvcHBlZCl7aWYodGhpcy5vcHRpb25zLmF1dG9Ub2dnbGUpe3RoaXMucm9vdEVsZW1lbnQuc3R5bGUucmVtb3ZlUHJvcGVydHkoIm92ZXJmbG93Iik7cmV0dXJufXRoaXMuaW50ZXJuYWxTdGFydCgpfX1pbnRlcm5hbFN0YXJ0KCl7dGhpcy5pc1N0b3BwZWQmJih0aGlzLnJlc2V0KCksdGhpcy5pc1N0b3BwZWQ9ITEsdGhpcy5lbWl0KCkpfXN0b3AoKXtpZighdGhpcy5pc1N0b3BwZWQpe2lmKHRoaXMub3B0aW9ucy5hdXRvVG9nZ2xlKXt0aGlzLnJvb3RFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCJvdmVyZmxvdyIsImNsaXAiKTtyZXR1cm59dGhpcy5pbnRlcm5hbFN0b3AoKX19aW50ZXJuYWxTdG9wKCl7dGhpcy5pc1N0b3BwZWR8fCh0aGlzLnJlc2V0KCksdGhpcy5pc1N0b3BwZWQ9ITAsdGhpcy5lbWl0KCkpfXJhZj1pKHQ9PntsZXQgZT10LSh0aGlzLnRpbWV8fHQpO3RoaXMudGltZT10LHRoaXMuYW5pbWF0ZS5hZHZhbmNlKGUqLjAwMSksdGhpcy5vcHRpb25zLmF1dG9SYWYmJih0aGlzLl9yYWZJZD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy5yYWYpKX0sInJhZiIpO3Njcm9sbFRvKHQse29mZnNldDplPTAsaW1tZWRpYXRlOmE9ITEsbG9jazpyPSExLHByb2dyYW1tYXRpYzpzPSEwLGxlcnA6bj1zP3RoaXMub3B0aW9ucy5sZXJwOnZvaWQgMCxkdXJhdGlvbjpvPXM/dGhpcy5vcHRpb25zLmR1cmF0aW9uOnZvaWQgMCxlYXNpbmc6bD1zP3RoaXMub3B0aW9ucy5lYXNpbmc6dm9pZCAwLG9uU3RhcnQ6aCxvbkNvbXBsZXRlOnUsZm9yY2U6Zj0hMSx1c2VyRGF0YTpwfT17fSl7aWYoISgodGhpcy5pc1N0b3BwZWR8fHRoaXMuaXNMb2NrZWQpJiYhZikpe2lmKHR5cGVvZiB0PT0ic3RyaW5nIiYmWyJ0b3AiLCJsZWZ0Iiwic3RhcnQiLCIjIl0uaW5jbHVkZXModCkpdD0wO2Vsc2UgaWYodHlwZW9mIHQ9PSJzdHJpbmciJiZbImJvdHRvbSIsInJpZ2h0IiwiZW5kIl0uaW5jbHVkZXModCkpdD10aGlzLmxpbWl0O2Vsc2V7bGV0IGc7aWYodHlwZW9mIHQ9PSJzdHJpbmciPyhnPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IodCksZ3x8KHQ9PT0iI3RvcCI/dD0wOmNvbnNvbGUud2FybigiTGVuaXM6IFRhcmdldCBub3QgZm91bmQiLHQpKSk6dCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiZ0Py5ub2RlVHlwZSYmKGc9dCksZyl7aWYodGhpcy5vcHRpb25zLndyYXBwZXIhPT13aW5kb3cpe2xldCB4PXRoaXMucm9vdEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7ZS09dGhpcy5pc0hvcml6b250YWw/eC5sZWZ0OngudG9wfWxldCB2PWcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dD0odGhpcy5pc0hvcml6b250YWw/di5sZWZ0OnYudG9wKSt0aGlzLmFuaW1hdGVkU2Nyb2xsfX1pZih0eXBlb2YgdD09Im51bWJlciIpe2lmKHQrPWUsdD1NYXRoLnJvdW5kKHQpLHRoaXMub3B0aW9ucy5pbmZpbml0ZSl7aWYocyl7dGhpcy50YXJnZXRTY3JvbGw9dGhpcy5hbmltYXRlZFNjcm9sbD10aGlzLnNjcm9sbDtsZXQgZz10LXRoaXMuYW5pbWF0ZWRTY3JvbGw7Zz50aGlzLmxpbWl0LzI/dD10LXRoaXMubGltaXQ6ZzwtdGhpcy5saW1pdC8yJiYodD10K3RoaXMubGltaXQpfX1lbHNlIHQ9d2N0KDAsdCx0aGlzLmxpbWl0KTtpZih0PT09dGhpcy50YXJnZXRTY3JvbGwpe2g/Lih0aGlzKSx1Py4odGhpcyk7cmV0dXJufWlmKHRoaXMudXNlckRhdGE9cD8/e30sYSl7dGhpcy5hbmltYXRlZFNjcm9sbD10aGlzLnRhcmdldFNjcm9sbD10LHRoaXMuc2V0U2Nyb2xsKHRoaXMuc2Nyb2xsKSx0aGlzLnJlc2V0KCksdGhpcy5wcmV2ZW50TmV4dE5hdGl2ZVNjcm9sbEV2ZW50KCksdGhpcy5lbWl0KCksdT8uKHRoaXMpLHRoaXMudXNlckRhdGE9e30scmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5kaXNwYXRjaFNjcm9sbGVuZEV2ZW50KCl9KTtyZXR1cm59c3x8KHRoaXMudGFyZ2V0U2Nyb2xsPXQpLHR5cGVvZiBvPT0ibnVtYmVyIiYmdHlwZW9mIGwhPSJmdW5jdGlvbiI/bD16Y3Q6dHlwZW9mIGw9PSJmdW5jdGlvbiImJnR5cGVvZiBvIT0ibnVtYmVyIiYmKG89MSksdGhpcy5hbmltYXRlLmZyb21Ubyh0aGlzLmFuaW1hdGVkU2Nyb2xsLHQse2R1cmF0aW9uOm8sZWFzaW5nOmwsbGVycDpuLG9uU3RhcnQ6aSgoKT0+e3ImJih0aGlzLmlzTG9ja2VkPSEwKSx0aGlzLmlzU2Nyb2xsaW5nPSJzbW9vdGgiLGg/Lih0aGlzKX0sIm9uU3RhcnQiKSxvblVwZGF0ZTppKChnLHYpPT57dGhpcy5pc1Njcm9sbGluZz0ic21vb3RoIix0aGlzLmxhc3RWZWxvY2l0eT10aGlzLnZlbG9jaXR5LHRoaXMudmVsb2NpdHk9Zy10aGlzLmFuaW1hdGVkU2Nyb2xsLHRoaXMuZGlyZWN0aW9uPU1hdGguc2lnbih0aGlzLnZlbG9jaXR5KSx0aGlzLmFuaW1hdGVkU2Nyb2xsPWcsdGhpcy5zZXRTY3JvbGwodGhpcy5zY3JvbGwpLHMmJih0aGlzLnRhcmdldFNjcm9sbD1nKSx2fHx0aGlzLmVtaXQoKSx2JiYodGhpcy5yZXNldCgpLHRoaXMuZW1pdCgpLHU/Lih0aGlzKSx0aGlzLnVzZXJEYXRhPXt9LHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMuZGlzcGF0Y2hTY3JvbGxlbmRFdmVudCgpfSksdGhpcy5wcmV2ZW50TmV4dE5hdGl2ZVNjcm9sbEV2ZW50KCkpfSwib25VcGRhdGUiKX0pfX19cHJldmVudE5leHROYXRpdmVTY3JvbGxFdmVudCgpe3RoaXMuX3ByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQ9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5fcHJldmVudE5leHROYXRpdmVTY3JvbGxFdmVudD0hMX0pfWNoZWNrTmVzdGVkU2Nyb2xsKHQse2RlbHRhWDplLGRlbHRhWTphfSl7bGV0IHI9RGF0ZS5ub3coKSxzPXQuX2xlbmlzPz89e30sbixvLGwsaCx1LGYscCxnLHY9dGhpcy5vcHRpb25zLmdlc3R1cmVPcmllbnRhdGlvbjtpZihyLShzLnRpbWU/PzApPjJlMyl7cy50aW1lPURhdGUubm93KCk7bGV0IF89d2luZG93LmdldENvbXB1dGVkU3R5bGUodCk7cy5jb21wdXRlZFN0eWxlPV87bGV0IEM9Xy5vdmVyZmxvd1gsTj1fLm92ZXJmbG93WTtpZihuPVsiYXV0byIsIm92ZXJsYXkiLCJzY3JvbGwiXS5pbmNsdWRlcyhDKSxvPVsiYXV0byIsIm92ZXJsYXkiLCJzY3JvbGwiXS5pbmNsdWRlcyhOKSxzLmhhc092ZXJmbG93WD1uLHMuaGFzT3ZlcmZsb3dZPW8sIW4mJiFvfHx2PT09InZlcnRpY2FsIiYmIW98fHY9PT0iaG9yaXpvbnRhbCImJiFuKXJldHVybiExO3U9dC5zY3JvbGxXaWR0aCxmPXQuc2Nyb2xsSGVpZ2h0LHA9dC5jbGllbnRXaWR0aCxnPXQuY2xpZW50SGVpZ2h0LGw9dT5wLGg9Zj5nLHMuaXNTY3JvbGxhYmxlWD1sLHMuaXNTY3JvbGxhYmxlWT1oLHMuc2Nyb2xsV2lkdGg9dSxzLnNjcm9sbEhlaWdodD1mLHMuY2xpZW50V2lkdGg9cCxzLmNsaWVudEhlaWdodD1nfWVsc2UgbD1zLmlzU2Nyb2xsYWJsZVgsaD1zLmlzU2Nyb2xsYWJsZVksbj1zLmhhc092ZXJmbG93WCxvPXMuaGFzT3ZlcmZsb3dZLHU9cy5zY3JvbGxXaWR0aCxmPXMuc2Nyb2xsSGVpZ2h0LHA9cy5jbGllbnRXaWR0aCxnPXMuY2xpZW50SGVpZ2h0O2lmKCFuJiYhb3x8IWwmJiFofHx2PT09InZlcnRpY2FsIiYmKCFvfHwhaCl8fHY9PT0iaG9yaXpvbnRhbCImJighbnx8IWwpKXJldHVybiExO2xldCB4O2lmKHY9PT0iaG9yaXpvbnRhbCIpeD0ieCI7ZWxzZSBpZih2PT09InZlcnRpY2FsIil4PSJ5IjtlbHNle2xldCBfPWUhPT0wLEM9YSE9PTA7XyYmbiYmbCYmKHg9IngiKSxDJiZvJiZoJiYoeD0ieSIpfWlmKCF4KXJldHVybiExO2xldCBiLG0seSxNLGs7aWYoeD09PSJ4IiliPXQuc2Nyb2xsTGVmdCxtPXUtcCx5PWUsTT1uLGs9bDtlbHNlIGlmKHg9PT0ieSIpYj10LnNjcm9sbFRvcCxtPWYtZyx5PWEsTT1vLGs9aDtlbHNlIHJldHVybiExO3JldHVybih5PjA/YjxtOmI+MCkmJk0mJmt9Z2V0IHJvb3RFbGVtZW50KCl7cmV0dXJuIHRoaXMub3B0aW9ucy53cmFwcGVyPT09d2luZG93P2RvY3VtZW50LmRvY3VtZW50RWxlbWVudDp0aGlzLm9wdGlvbnMud3JhcHBlcn1nZXQgbGltaXQoKXtyZXR1cm4gdGhpcy5vcHRpb25zLm5haXZlRGltZW5zaW9ucz90aGlzLmlzSG9yaXpvbnRhbD90aGlzLnJvb3RFbGVtZW50LnNjcm9sbFdpZHRoLXRoaXMucm9vdEVsZW1lbnQuY2xpZW50V2lkdGg6dGhpcy5yb290RWxlbWVudC5zY3JvbGxIZWlnaHQtdGhpcy5yb290RWxlbWVudC5jbGllbnRIZWlnaHQ6dGhpcy5kaW1lbnNpb25zLmxpbWl0W3RoaXMuaXNIb3Jpem9udGFsPyJ4IjoieSJdfWdldCBpc0hvcml6b250YWwoKXtyZXR1cm4gdGhpcy5vcHRpb25zLm9yaWVudGF0aW9uPT09Imhvcml6b250YWwifWdldCBhY3R1YWxTY3JvbGwoKXtsZXQgdD10aGlzLm9wdGlvbnMud3JhcHBlcjtyZXR1cm4gdGhpcy5pc0hvcml6b250YWw/dC5zY3JvbGxYPz90LnNjcm9sbExlZnQ6dC5zY3JvbGxZPz90LnNjcm9sbFRvcH1nZXQgc2Nyb2xsKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5pbmZpbml0ZT9NaGEodGhpcy5hbmltYXRlZFNjcm9sbCx0aGlzLmxpbWl0KTp0aGlzLmFuaW1hdGVkU2Nyb2xsfWdldCBwcm9ncmVzcygpe3JldHVybiB0aGlzLmxpbWl0PT09MD8xOnRoaXMuc2Nyb2xsL3RoaXMubGltaXR9Z2V0IGlzU2Nyb2xsaW5nKCl7cmV0dXJuIHRoaXMuX2lzU2Nyb2xsaW5nfXNldCBpc1Njcm9sbGluZyh0KXt0aGlzLl9pc1Njcm9sbGluZyE9PXQmJih0aGlzLl9pc1Njcm9sbGluZz10LHRoaXMudXBkYXRlQ2xhc3NOYW1lKCkpfWdldCBpc1N0b3BwZWQoKXtyZXR1cm4gdGhpcy5faXNTdG9wcGVkfXNldCBpc1N0b3BwZWQodCl7dGhpcy5faXNTdG9wcGVkIT09dCYmKHRoaXMuX2lzU3RvcHBlZD10LHRoaXMudXBkYXRlQ2xhc3NOYW1lKCkpfWdldCBpc0xvY2tlZCgpe3JldHVybiB0aGlzLl9pc0xvY2tlZH1zZXQgaXNMb2NrZWQodCl7dGhpcy5faXNMb2NrZWQhPT10JiYodGhpcy5faXNMb2NrZWQ9dCx0aGlzLnVwZGF0ZUNsYXNzTmFtZSgpKX1nZXQgaXNTbW9vdGgoKXtyZXR1cm4gdGhpcy5pc1Njcm9sbGluZz09PSJzbW9vdGgifWdldCBjbGFzc05hbWUoKXtsZXQgdD0ibGVuaXMiO3JldHVybiB0aGlzLm9wdGlvbnMuYXV0b1RvZ2dsZSYmKHQrPSIgbGVuaXMtYXV0b1RvZ2dsZSIpLHRoaXMuaXNTdG9wcGVkJiYodCs9IiBsZW5pcy1zdG9wcGVkIiksdGhpcy5pc0xvY2tlZCYmKHQrPSIgbGVuaXMtbG9ja2VkIiksdGhpcy5pc1Njcm9sbGluZyYmKHQrPSIgbGVuaXMtc2Nyb2xsaW5nIiksdGhpcy5pc1Njcm9sbGluZz09PSJzbW9vdGgiJiYodCs9IiBsZW5pcy1zbW9vdGgiKSx0fXVwZGF0ZUNsYXNzTmFtZSgpe3RoaXMuY2xlYW5VcENsYXNzTmFtZSgpLHRoaXMucm9vdEVsZW1lbnQuY2xhc3NOYW1lPWAke3RoaXMucm9vdEVsZW1lbnQuY2xhc3NOYW1lfSAke3RoaXMuY2xhc3NOYW1lfWAudHJpbSgpfWNsZWFuVXBDbGFzc05hbWUoKXt0aGlzLnJvb3RFbGVtZW50LmNsYXNzTmFtZT10aGlzLnJvb3RFbGVtZW50LmNsYXNzTmFtZS5yZXBsYWNlKC9sZW5pcygtXHcrKT8vZywiIikudHJpbSgpfX19KTt2YXIgRXNlPXd0KChBc2UsUHNlKT0+eyhmdW5jdGlvbih0LGUpe3R5cGVvZiBBc2U9PSJvYmplY3QiJiZ0eXBlb2YgUHNlPCJ1Ij9Qc2UuZXhwb3J0cz1lKCk6dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUoZSk6KHQ9dHx8c2VsZix0LlN3ZWV0U2Nyb2xsPWUoKSl9KShBc2UsZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIHQ9aShmdW5jdGlvbigpe3JldHVybiB0PU9iamVjdC5hc3NpZ258fGkoZnVuY3Rpb24oSCl7Zm9yKHZhciBHLFc9MSxzZT1hcmd1bWVudHMubGVuZ3RoO1c8c2U7VysrKXtHPWFyZ3VtZW50c1tXXTtmb3IodmFyIHplIGluIEcpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKEcsemUpJiYoSFt6ZV09R1t6ZV0pfXJldHVybiBIfSwiX19hc3NpZ24iKSx0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sIl9fYXNzaWduIiksZT0hISh0eXBlb2Ygd2luZG93PCJ1IiYmd2luZG93LmRvY3VtZW50JiZ3aW5kb3cuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCksYT1lP3dpbmRvdy5oaXN0b3J5JiYicHVzaFN0YXRlImluIHdpbmRvdy5oaXN0b3J5JiZ3aW5kb3cubG9jYXRpb24ucHJvdG9jb2whPT0iZmlsZToiOiExLHI9KGZ1bmN0aW9uKCl7dmFyIFA9ITE7aWYoIWUpcmV0dXJuIFA7dHJ5e3ZhciBIPXdpbmRvdyxHPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwicGFzc2l2ZSIse2dldDppKGZ1bmN0aW9uKCl7UD0hMH0sImdldCIpfSk7SC5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLEcpLEgucmVtb3ZlRXZlbnRMaXN0ZW5lcigidGVzdCIsbnVsbCxHKX1jYXRjaHt9cmV0dXJuIFB9KSgpLHM9aShmdW5jdGlvbihQKXtyZXR1cm4gdHlwZW9mIFA9PSJzdHJpbmcifSwiaXNTdHJpbmciKSxuPWkoZnVuY3Rpb24oUCl7cmV0dXJuIHR5cGVvZiBQPT0iZnVuY3Rpb24ifSwiaXNGdW5jdGlvbiIpLG89aShmdW5jdGlvbihQKXtyZXR1cm4gQXJyYXkuaXNBcnJheShQKX0sImlzQXJyYXkiKSxsPWkoZnVuY3Rpb24oUCl7cmV0dXJuIW8oUCkmJlAtcGFyc2VGbG9hdChQKSsxPj0wfSwiaXNOdW1lcmljIiksaD1pKGZ1bmN0aW9uKFAsSCl7cmV0dXJuIFAmJlAuaGFzT3duUHJvcGVydHkoSCl9LCJoYXNQcm9wIiksdT1lP3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpOm51bGwsZj1lP3dpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZS5iaW5kKHdpbmRvdyk6bnVsbCxwPU1hdGguY29zLGc9TWF0aC5zaW4sdj1NYXRoLnBvdyx4PU1hdGguc3FydCxiPU1hdGguUEksbT17bGluZWFyOmkoZnVuY3Rpb24oUCl7cmV0dXJuIFB9LCJsaW5lYXIiKSxlYXNlSW5RdWFkOmkoZnVuY3Rpb24oUCxILEcsVyxzZSl7cmV0dXJuIFcqKEgvPXNlKSpIK0d9LCJlYXNlSW5RdWFkIiksZWFzZU91dFF1YWQ6aShmdW5jdGlvbihQLEgsRyxXLHNlKXtyZXR1cm4tVyooSC89c2UpKihILTIpK0d9LCJlYXNlT3V0UXVhZCIpLGVhc2VJbk91dFF1YWQ6aShmdW5jdGlvbihQLEgsRyxXLHNlKXtyZXR1cm4oSC89c2UvMik8MT9XLzIqSCpIK0c6LVcvMiooLS1IKihILTIpLTEpK0d9LCJlYXNlSW5PdXRRdWFkIiksZWFzZUluQ3ViaWM6aShmdW5jdGlvbihQLEgsRyxXLHNlKXtyZXR1cm4gVyooSC89c2UpKkgqSCtHfSwiZWFzZUluQ3ViaWMiKSxlYXNlT3V0Q3ViaWM6aShmdW5jdGlvbihQLEgsRyxXLHNlKXtyZXR1cm4gVyooKEg9SC9zZS0xKSpIKkgrMSkrR30sImVhc2VPdXRDdWJpYyIpLGVhc2VJbk91dEN1YmljOmkoZnVuY3Rpb24oUCxILEcsVyxzZSl7cmV0dXJuKEgvPXNlLzIpPDE/Vy8yKkgqSCpIK0c6Vy8yKigoSC09MikqSCpIKzIpK0d9LCJlYXNlSW5PdXRDdWJpYyIpLGVhc2VJblF1YXJ0OmkoZnVuY3Rpb24oUCxILEcsVyxzZSl7cmV0dXJuIFcqKEgvPXNlKSpIKkgqSCtHfSwiZWFzZUluUXVhcnQiKSxlYXNlT3V0UXVhcnQ6aShmdW5jdGlvbihQLEgsRyxXLHNlKXtyZXR1cm4tVyooKEg9SC9zZS0xKSpIKkgqSC0xKStHfSwiZWFzZU91dFF1YXJ0IiksZWFzZUluT3V0UXVhcnQ6aShmdW5jdGlvbihQLEgsRyxXLHNlKXtyZXR1cm4oSC89c2UvMik8MT9XLzIqSCpIKkgqSCtHOi1XLzIqKChILT0yKSpIKkgqSC0yKStHfSwiZWFzZUluT3V0UXVhcnQiKSxlYXNlSW5RdWludDppKGZ1bmN0aW9uKFAsSCxHLFcsc2Upe3JldHVybiBXKihILz1zZSkqSCpIKkgqSCtHfSwiZWFzZUluUXVpbnQiKSxlYXNlT3V0UXVpbnQ6aShmdW5jdGlvbihQLEgsRyxXLHNlKXtyZXR1cm4gVyooKEg9SC9zZS0xKSpIKkgqSCpIKzEpK0d9LCJlYXNlT3V0UXVpbnQiKSxlYXNlSW5PdXRRdWludDppKGZ1bmN0aW9uKFAsSCxHLFcsc2Upe3JldHVybihILz1zZS8yKTwxP1cvMipIKkgqSCpIKkgrRzpXLzIqKChILT0yKSpIKkgqSCpIKzIpK0d9LCJlYXNlSW5PdXRRdWludCIpLGVhc2VJblNpbmU6aShmdW5jdGlvbihQLEgsRyxXLHNlKXtyZXR1cm4tVypwKEgvc2UqKGIvMikpK1crR30sImVhc2VJblNpbmUiKSxlYXNlT3V0U2luZTppKGZ1bmN0aW9uKFAsSCxHLFcsc2Upe3JldHVybiBXKmcoSC9zZSooYi8yKSkrR30sImVhc2VPdXRTaW5lIiksZWFzZUluT3V0U2luZTppKGZ1bmN0aW9uKFAsSCxHLFcsc2Upe3JldHVybi1XLzIqKHAoYipIL3NlKS0xKStHfSwiZWFzZUluT3V0U2luZSIpLGVhc2VJbkV4cG86aShmdW5jdGlvbihQLEgsRyxXLHNlKXtyZXR1cm4gSD09PTA/RzpXKnYoMiwxMCooSC9zZS0xKSkrR30sImVhc2VJbkV4cG8iKSxlYXNlT3V0RXhwbzppKGZ1bmN0aW9uKFAsSCxHLFcsc2Upe3JldHVybiBIPT09c2U/RytXOlcqKC12KDIsLTEwKkgvc2UpKzEpK0d9LCJlYXNlT3V0RXhwbyIpLGVhc2VJbk91dEV4cG86aShmdW5jdGlvbihQLEgsRyxXLHNlKXtyZXR1cm4gSD09PTA/RzpIPT09c2U/RytXOihILz1zZS8yKTwxP1cvMip2KDIsMTAqKEgtMSkpK0c6Vy8yKigtdigyLC0xMCotLUgpKzIpK0d9LCJlYXNlSW5PdXRFeHBvIiksZWFzZUluQ2lyYzppKGZ1bmN0aW9uKFAsSCxHLFcsc2Upe3JldHVybi1XKih4KDEtKEgvPXNlKSpIKS0xKStHfSwiZWFzZUluQ2lyYyIpLGVhc2VPdXRDaXJjOmkoZnVuY3Rpb24oUCxILEcsVyxzZSl7cmV0dXJuIFcqeCgxLShIPUgvc2UtMSkqSCkrR30sImVhc2VPdXRDaXJjIiksZWFzZUluT3V0Q2lyYzppKGZ1bmN0aW9uKFAsSCxHLFcsc2Upe3JldHVybihILz1zZS8yKTwxPy1XLzIqKHgoMS1IKkgpLTEpK0c6Vy8yKih4KDEtKEgtPTIpKkgpKzEpK0d9LCJlYXNlSW5PdXRDaXJjIil9LHk9aShmdW5jdGlvbihQKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoUD9kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFApOltdKX0sIiQkIiksTT1pKGZ1bmN0aW9uKFApe3JldHVybiB5KFApLnNoaWZ0KCl8fG51bGx9LCIkIiksaz1pKGZ1bmN0aW9uKFApe3JldHVybiBQIGluc3RhbmNlb2YgRWxlbWVudH0sImlzRWxlbWVudCIpLEU9aShmdW5jdGlvbihQKXtyZXR1cm4gUD09PXdpbmRvd30sImlzV2luZG93IiksXz1pKGZ1bmN0aW9uKFApe3JldHVybiBQPT09ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50fHxQPT09ZG9jdW1lbnQuYm9keX0sImlzUm9vdENvbnRhaW5lciIpLEM9aShmdW5jdGlvbihQLEgpe2lmKGsoSCkpcmV0dXJuIFA9PT1IO2Zvcih2YXIgRz15KEgpLFc9Ry5sZW5ndGg7LS1XPj0wJiZHW1ddIT09UDspO3JldHVybiBXPi0xfSwibWF0Y2hlcyIpLE49aShmdW5jdGlvbihQKXtyZXR1cm4gTWF0aC5tYXgoUC5zY3JvbGxIZWlnaHQsUC5jbGllbnRIZWlnaHQsUC5vZmZzZXRIZWlnaHQpfSwiZ2V0SGVpZ2h0IiksJD1pKGZ1bmN0aW9uKFApe3JldHVybiBNYXRoLm1heChQLnNjcm9sbFdpZHRoLFAuY2xpZW50V2lkdGgsUC5vZmZzZXRXaWR0aCl9LCJnZXRXaWR0aCIpLEk9aShmdW5jdGlvbihQKXtyZXR1cm57d2lkdGg6JChQKSxoZWlnaHQ6TihQKX19LCJnZXRTaXplIiksaj1pKGZ1bmN0aW9uKFApe3ZhciBIPUUoUCl8fF8oUCk7cmV0dXJue3ZpZXdwb3J0Ont3aWR0aDpIP01hdGgubWluKHdpbmRvdy5pbm5lcldpZHRoLGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCk6UC5jbGllbnRXaWR0aCxoZWlnaHQ6SD93aW5kb3cuaW5uZXJIZWlnaHQ6UC5jbGllbnRIZWlnaHR9LHNpemU6SD97d2lkdGg6TWF0aC5tYXgoJChkb2N1bWVudC5ib2R5KSwkKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkpLGhlaWdodDpNYXRoLm1heChOKGRvY3VtZW50LmJvZHkpLE4oZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSl9OkkoUCl9fSwiZ2V0Vmlld3BvcnRBbmRFbGVtZW50U2l6ZXMiKSxTPXt5OiJzY3JvbGxUb3AiLHg6InNjcm9sbExlZnQifSx6PXt5OiJwYWdlWU9mZnNldCIseDoicGFnZVhPZmZzZXQifSxEPWkoZnVuY3Rpb24oUCxIKXtyZXR1cm4gRShQKT9QW3pbSF1dOlBbU1tIXV19LCJnZXRTY3JvbGwiKSxUPWkoZnVuY3Rpb24oUCxILEcpe2lmKEUoUCkpe3ZhciBXPUc9PT0ieSI7UC5zY3JvbGxUbyhXP1AucGFnZVhPZmZzZXQ6SCxXP0g6UC5wYWdlWU9mZnNldCl9ZWxzZSBQW1NbR11dPUh9LCJzZXRTY3JvbGwiKSxBPWkoZnVuY3Rpb24oUCxIKXt2YXIgRz1QLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKEcud2lkdGh8fEcuaGVpZ2h0KXt2YXIgVz17dG9wOjAsbGVmdDowfSxzZT12b2lkIDA7aWYoRShIKXx8XyhIKSlzZT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsVy50b3A9d2luZG93W3oueV0sVy5sZWZ0PXdpbmRvd1t6LnhdO2Vsc2V7c2U9SDt2YXIgemU9c2UuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Vy50b3A9emUudG9wKi0xK3NlW1MueV0sVy5sZWZ0PXplLmxlZnQqLTErc2VbUy54XX1yZXR1cm57dG9wOkcudG9wK1cudG9wLXNlLmNsaWVudFRvcCxsZWZ0OkcubGVmdCtXLmxlZnQtc2UuY2xpZW50TGVmdH19cmV0dXJuIEd9LCJnZXRPZmZzZXQiKSxVPShmdW5jdGlvbigpe3JldHVybiBlPyJvbndoZWVsImluIGRvY3VtZW50PyJ3aGVlbCI6Im1vdXNld2hlZWwiOiJ3aGVlbCJ9KSgpLFI9aShmdW5jdGlvbihQKXtyZXR1cm4gUD09PSJ3aGVlbCI/VTpQfSwiZXZlbnROYW1lIikscT1pKGZ1bmN0aW9uKFAsSCxHLFcsc2Upe0cuc3BsaXQoIiAiKS5mb3JFYWNoKGZ1bmN0aW9uKHplKXtQW0hdKFIoemUpLFcscj97cGFzc2l2ZTpzZX06ITEpfSl9LCJhcHBseSIpLG9lPWkoZnVuY3Rpb24oUCxILEcsVyl7cmV0dXJuIHEoUCwiYWRkRXZlbnRMaXN0ZW5lciIsSCxHLFcpfSwiYWRkRXZlbnQiKSxPPWkoZnVuY3Rpb24oUCxILEcsVyl7cmV0dXJuIHEoUCwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsSCxHLFcpfSwicmVtb3ZlRXZlbnQiKSxyZT0vXihcK3wtKT0oXGQrKD86XC5cZCspPykkLyx5ZT1pKGZ1bmN0aW9uKFAsSCl7dmFyIEc9e3RvcDowLGxlZnQ6MCxyZWxhdGl2ZTohMX07aWYoaChQLCJ0b3AiKXx8aChQLCJsZWZ0IikpRz10KHt9LEcsUCk7ZWxzZSBpZihvKFApKWlmKFAubGVuZ3RoPjEpRy50b3A9UFswXSxHLmxlZnQ9UFsxXTtlbHNlIGlmKFAubGVuZ3RoPT09MSlHLnRvcD1IP1BbMF06MCxHLmxlZnQ9SD8wOlBbMF07ZWxzZSByZXR1cm4gbnVsbDtlbHNlIGlmKGwoUCkpSD9HLnRvcD1QOkcubGVmdD1QO2Vsc2UgaWYocyhQKSl7dmFyIFc9UC50cmltKCkubWF0Y2gocmUpO2lmKCFXKXJldHVybiBudWxsO3ZhciBzZT1XWzFdLHplPXBhcnNlSW50KFdbMl0sMTApO3NlPT09IisiPyhHLnRvcD1IP3plOjAsRy5sZWZ0PUg/MDp6ZSk6KEcudG9wPUg/LXplOjAsRy5sZWZ0PUg/MDotemUpLEcucmVsYXRpdmU9ITB9ZWxzZSByZXR1cm4gbnVsbDtyZXR1cm4gR30sInBhcnNlQ29vcmRpbmF0ZSIpLEI9e3RyaWdnZXI6IltkYXRhLXNjcm9sbF0iLGhlYWRlcjoiW2RhdGEtc2Nyb2xsLWhlYWRlcl0iLGR1cmF0aW9uOjFlMyxlYXNpbmc6ImVhc2VPdXRRdWludCIsb2Zmc2V0OjAsdmVydGljYWw6ITAsaG9yaXpvbnRhbDohMSxjYW5jZWxsYWJsZTohMCx1cGRhdGVVUkw6ITEscHJldmVudERlZmF1bHQ6ITAsc3RvcFByb3BhZ2F0aW9uOiEwLGJlZm9yZTpudWxsLGFmdGVyOm51bGwsY2FuY2VsOm51bGwsY29tcGxldGU6bnVsbCxzdGVwOm51bGx9LGVlPSJjbGljayIsQ2U9IndoZWVsIHRvdWNoc3RhcnQgdG91Y2htb3ZlIixZPShmdW5jdGlvbigpe2Z1bmN0aW9uIFAoSCxHKXt2YXIgVz10aGlzO3RoaXMuJGVsPW51bGwsdGhpcy5jdHg9eyR0cmlnZ2VyOm51bGwsb3B0czpudWxsLHByb2dyZXNzOiExLHBvczpudWxsLHN0YXJ0UG9zOm51bGwsZWFzaW5nOm51bGwsc3RhcnQ6MCxpZDowLGNhbmNlbDohMSxoYXNoOm51bGx9LHRoaXMubG9vcD1mdW5jdGlvbih6ZSl7dmFyIE1lPVcsRWU9TWUuJGVsLFY9TWUuY3R4O2lmKFYuc3RhcnR8fChWLnN0YXJ0PXplKSwhVi5wcm9ncmVzc3x8IUVlKXtXLnN0b3AoKTtyZXR1cm59dmFyIEY9Vi5vcHRzLG5lPVYucG9zLHRlPVYuc3RhcnQsSz1WLnN0YXJ0UG9zLGtlPVYuZWFzaW5nLHZlPUYuZHVyYXRpb24sZGU9e3RvcDoieSIsbGVmdDoieCJ9LCRlPXplLXRlLFZlPU1hdGgubWluKDEsTWF0aC5tYXgoJGUvdmUsMCkpO09iamVjdC5rZXlzKG5lKS5mb3JFYWNoKGZ1bmN0aW9uKFFlKXt2YXIgVGU9bmVbUWVdLGxlPUtbUWVdLGZlPVRlLWxlO2lmKGZlIT09MCl7dmFyIFNlPWtlKFZlLHZlKlZlLDAsMSx2ZSk7VChFZSxNYXRoLnJvdW5kKGxlK2ZlKlNlKSxkZVtRZV0pfX0pLCRlPD12ZT8oVy5ob29rKEYsInN0ZXAiLFZlKSxWLmlkPVAucmFmKFcubG9vcCkpOlcuc3RvcCghMCl9LHRoaXMuaGFuZGxlQ2xpY2s9ZnVuY3Rpb24oemUpe2Zvcih2YXIgTWU9Vy5vcHRzLEVlPXplLnRhcmdldDtFZSYmRWUhPT1kb2N1bWVudDtFZT1FZS5wYXJlbnROb2RlKWlmKEMoRWUsTWUudHJpZ2dlcikpe3ZhciBWPUpTT04ucGFyc2UoRWUuZ2V0QXR0cmlidXRlKCJkYXRhLXNjcm9sbC1vcHRpb25zIil8fCJ7fSIpLEY9RWUuZ2V0QXR0cmlidXRlKCJkYXRhLXNjcm9sbCIpLG5lPUZ8fEVlLmdldEF0dHJpYnV0ZSgiaHJlZiIpLHRlPXQoe30sTWUsViksSz10ZS5wcmV2ZW50RGVmYXVsdCxrZT10ZS5zdG9wUHJvcGFnYXRpb24sdmU9dGUudmVydGljYWwsZGU9dGUuaG9yaXpvbnRhbDtLJiZ6ZS5wcmV2ZW50RGVmYXVsdCgpLGtlJiZ6ZS5zdG9wUHJvcGFnYXRpb24oKSxXLmN0eC4kdHJpZ2dlcj1FZSxkZSYmdmU/Vy50byhuZSx0ZSk6dmU/Vy50b1RvcChuZSx0ZSk6ZGUmJlcudG9MZWZ0KG5lLHRlKTticmVha319LHRoaXMuaGFuZGxlU3RvcD1mdW5jdGlvbih6ZSl7dmFyIE1lPVcuY3R4LEVlPU1lLm9wdHM7RWUmJkVlLmNhbmNlbGxhYmxlPyhNZS5jYW5jZWw9ITAsVy5zdG9wKCkpOnplLnByZXZlbnREZWZhdWx0KCl9LHRoaXMub3B0cz10KHt9LEIsSHx8e30pO3ZhciBzZT1udWxsO2UmJih0eXBlb2YgRz09InN0cmluZyI/c2U9TShHKTpHIT1udWxsP3NlPUc6c2U9d2luZG93KSx0aGlzLiRlbD1zZSxzZSYmdGhpcy5iaW5kKCEwLCExKX1yZXR1cm4gaShQLCJTd2VldFNjcm9sbCIpLFAuY3JlYXRlPWZ1bmN0aW9uKEgsRyl7cmV0dXJuIG5ldyBQKEgsRyl9LFAucHJvdG90eXBlLnRvPWZ1bmN0aW9uKEgsRyl7aWYoZSl7dmFyIFc9dGhpcyxzZT1XLiRlbCx6ZT1XLmN0eCxNZT1XLm9wdHMsRWU9emUuJHRyaWdnZXIsVj10KHt9LE1lLEd8fHt9KSxGPVYub2Zmc2V0LG5lPVYudmVydGljYWwsdGU9Vi5ob3Jpem9udGFsLEs9ayhWLmhlYWRlcik/Vi5oZWFkZXI6TShWLmhlYWRlciksa2U9L14jLyx2ZT1zKEgpJiZrZS50ZXN0KEgpP0g6bnVsbDtpZih6ZS5vcHRzPVYsemUuY2FuY2VsPSExLHplLmhhc2g9dmUsdGhpcy5zdG9wKCksISFzZSl7dmFyIGRlPXllKEYsbmUpLCRlPXllKEgsbmUpLFZlPXt0b3A6MCxsZWZ0OjB9O2lmKCRlKWlmKCRlLnJlbGF0aXZlKXt2YXIgUWU9RChzZSxuZT8ieSI6IngiKTtWZS50b3A9bmU/UWUrJGUudG9wOiRlLnRvcCxWZS5sZWZ0PW5lPyRlLmxlZnQ6UWUrJGUubGVmdH1lbHNlIFZlPSRlO2Vsc2UgaWYocyhIKSYmSCE9PSIjIil7dmFyIFRlPU0oSCk7aWYoIVRlKXJldHVybjtWZT1BKFRlLHNlKX1kZSYmKFZlLnRvcCs9ZGUudG9wLFZlLmxlZnQrPWRlLmxlZnQpLEsmJihWZS50b3A9TWF0aC5tYXgoMCxWZS50b3AtSShLKS5oZWlnaHQpKTt2YXIgbGU9aihzZSksZmU9bGUudmlld3BvcnQsU2U9bGUuc2l6ZTtpZihWZS50b3A9bmU/TWF0aC5tYXgoMCxNYXRoLm1pbihTZS5oZWlnaHQtZmUuaGVpZ2h0LFZlLnRvcCkpOkQoc2UsInkiKSxWZS5sZWZ0PXRlP01hdGgubWF4KDAsTWF0aC5taW4oU2Uud2lkdGgtZmUud2lkdGgsVmUubGVmdCkpOkQoc2UsIngiKSx0aGlzLmhvb2soViwiYmVmb3JlIixWZSxFZSk9PT0hMSl7emUub3B0cz1udWxsO3JldHVybn16ZS5wb3M9VmUsdGhpcy5zdGFydChWKSx0aGlzLmJpbmQoITEsITApfX19LFAucHJvdG90eXBlLnRvVG9wPWZ1bmN0aW9uKEgsRyl7dGhpcy50byhILHQoe30sR3x8e30se3ZlcnRpY2FsOiEwLGhvcml6b250YWw6ITF9KSl9LFAucHJvdG90eXBlLnRvTGVmdD1mdW5jdGlvbihILEcpe3RoaXMudG8oSCx0KHt9LEd8fHt9LHt2ZXJ0aWNhbDohMSxob3Jpem9udGFsOiEwfSkpfSxQLnByb3RvdHlwZS50b0VsZW1lbnQ9ZnVuY3Rpb24oSCxHKXt2YXIgVz10aGlzLiRlbDshZXx8IVd8fHRoaXMudG8oQShILFcpLEd8fHt9KX0sUC5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbihIKXtIPT09dm9pZCAwJiYoSD0hMSk7dmFyIEc9dGhpcyxXPUcuJGVsLHNlPUcuY3R4LHplPXNlLnBvczshV3x8IXNlLnByb2dyZXNzfHwoUC5jYWYoc2UuaWQpLHNlLnByb2dyZXNzPSExLHNlLnN0YXJ0PTAsc2UuaWQ9MCxIJiZ6ZSYmKFQoVyx6ZS5sZWZ0LCJ4IiksVChXLHplLnRvcCwieSIpKSx0aGlzLmNvbXBsZXRlKCkpfSxQLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oSCl7aWYodGhpcy4kZWwpe3ZhciBHPXQoe30sdGhpcy5vcHRzLEgpO3RoaXMuc3RvcCgpLHRoaXMudW5iaW5kKCEwLCEwKSx0aGlzLm9wdHM9Ryx0aGlzLmJpbmQoITAsITEpfX0sUC5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3RoaXMuJGVsJiYodGhpcy5zdG9wKCksdGhpcy51bmJpbmQoITAsITApLHRoaXMuJGVsPW51bGwpfSxQLnByb3RvdHlwZS5vbkJlZm9yZT1mdW5jdGlvbihILEcpe3JldHVybiEwfSxQLnByb3RvdHlwZS5vblN0ZXA9ZnVuY3Rpb24oSCl7fSxQLnByb3RvdHlwZS5vbkFmdGVyPWZ1bmN0aW9uKEgsRyl7fSxQLnByb3RvdHlwZS5vbkNhbmNlbD1mdW5jdGlvbigpe30sUC5wcm90b3R5cGUub25Db21wbGV0ZT1mdW5jdGlvbihIKXt9LFAucHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKEgpe3ZhciBHPXRoaXMuY3R4O0cub3B0cz1ILEcucHJvZ3Jlc3M9ITAsRy5lYXNpbmc9bihILmVhc2luZyk/SC5lYXNpbmc6bVtILmVhc2luZ107dmFyIFc9dGhpcy4kZWwsc2U9e3RvcDpEKFcsInkiKSxsZWZ0OkQoVywieCIpfTtHLnN0YXJ0UG9zPXNlLEcuaWQ9UC5yYWYodGhpcy5sb29wKX0sUC5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt2YXIgSD10aGlzLEc9SC4kZWwsVz1ILmN0eCxzZT1XLmhhc2gsemU9Vy5jYW5jZWwsTWU9Vy5vcHRzLEVlPVcucG9zLFY9Vy4kdHJpZ2dlcjtpZighKCFHfHwhTWUpKXtpZihzZSE9bnVsbCYmc2UhPT13aW5kb3cubG9jYXRpb24uaGFzaCl7dmFyIEY9TWUudXBkYXRlVVJMO2UmJmEmJkYhPT0hMSYmd2luZG93Lmhpc3RvcnlbRj09PSJyZXBsYWNlIj8icmVwbGFjZVN0YXRlIjoicHVzaFN0YXRlIl0obnVsbCwiIixzZSl9dGhpcy51bmJpbmQoITEsITApLFcub3B0cz1udWxsLFcuJHRyaWdnZXI9bnVsbCx6ZT90aGlzLmhvb2soTWUsImNhbmNlbCIpOnRoaXMuaG9vayhNZSwiYWZ0ZXIiLEVlLFYpLHRoaXMuaG9vayhNZSwiY29tcGxldGUiLHplKX19LFAucHJvdG90eXBlLmhvb2s9ZnVuY3Rpb24oSCxHKXtmb3IodmFyIFc9W10sc2U9MjtzZTxhcmd1bWVudHMubGVuZ3RoO3NlKyspV1tzZS0yXT1hcmd1bWVudHNbc2VdO3ZhciB6ZSxNZT1IW0ddLEVlLFY7cmV0dXJuIG4oTWUpJiYoRWU9TWUuYXBwbHkodGhpcyxXLmNvbmNhdChbdGhpc10pKSksVj0oemU9dGhpcylbIm9uIisoR1swXS50b1VwcGVyQ2FzZSgpK0cuc2xpY2UoMSkpXS5hcHBseSh6ZSxXKSxFZSE9PXZvaWQgMD9FZTpWfSxQLnByb3RvdHlwZS5iaW5kPWZ1bmN0aW9uKEgsRyl7dmFyIFc9dGhpcyxzZT1XLiRlbCx6ZT1XLmN0eC5vcHRzO3NlJiYoSCYmb2Uoc2UsZWUsdGhpcy5oYW5kbGVDbGljaywhMSksRyYmb2Uoc2UsQ2UsdGhpcy5oYW5kbGVTdG9wLHplP3plLmNhbmNlbGxhYmxlOiEwKSl9LFAucHJvdG90eXBlLnVuYmluZD1mdW5jdGlvbihILEcpe3ZhciBXPXRoaXMsc2U9Vy4kZWwsemU9Vy5jdHgub3B0cztzZSYmKEgmJk8oc2UsZWUsdGhpcy5oYW5kbGVDbGljaywhMSksRyYmTyhzZSxDZSx0aGlzLmhhbmRsZVN0b3AsemU/emUuY2FuY2VsbGFibGU6ITApKX0sUC5yYWY9dSxQLmNhZj1mLFB9KSgpO3JldHVybiBZfSl9KTt2YXIgWFcsUGYsTTg9YygoKT0+e1p0dCgpO1c1KCk7ajIoKTtGaigpO1dpZSgpO2RyKCk7ZXNlKCk7Y3MoKTtvc2UoKTtRbCgpO0lXKCk7VGFlKCk7WlcoKTtXaigpO011KCk7eHRlKCk7YmooKTtTY3QoKTtYVz1YMShFc2UoKSwxKSxQZj17T2JqZWN0TWFwOksyLFN0cmluZ21hcDp6dSxGYXN0TWFwOlhsfX0pO3ZhciBVYT17fTtldChVYSx7Y29udGFpbmVyQ29udGV4dFN0eWxlczooKT0+TGhhLGNzc0ZvckNvbnN0cmFpbnQ6KCk9Pl9oYSxjc3NGb3JDb25zdHJhaW50Q29udGFpbmVyOigpPT5UaGEsY3NzRm9yQ29udGFpbmVyOigpPT5BY3QsY3NzRm9yRGVza3RvcDooKT0+JGhhLGNzc0Zvck5vdGVib29rOigpPT5EaGEsY3NzRm9yUGhhYmxldDooKT0+UGhhLGNzc0ZvclBob25lOigpPT5FaGEsY3NzRm9yVGFibGV0OigpPT5BaGEsY3NzRm9yVmlld3BvcnQ6KCk9PlIwLGRlc2t0b3A6KCk9Pl9jdCxub3RlYm9vazooKT0+VGN0LHBoYWJsZXQ6KCk9PiRjdCxwaG9uZTooKT0+RGN0LHRhYmxldDooKT0+TGN0fSk7dmFyIF9jdCxUY3QsTGN0LCRjdCxEY3QsQ2N0LFIwLEFjdCxfaGEsVGhhLExoYSwkaGEsRGhhLEFoYSxQaGEsRWhhLElzZT1jKCgpPT57azgoKTskaSgpO19jdD0xNjAwLFRjdD0xMjQwLExjdD0xMDI0LCRjdD02MDAsRGN0PTQwMCxDY3Q9aSh0PT57bGV0IGU9W107cmV0dXJuIHQubWluV2lkdGgmJmUucHVzaChgKG1pbi13aWR0aDogJHt0Lm1pbldpZHRofXB4KWApLHQubWF4V2lkdGgmJmUucHVzaChgKG1heC13aWR0aDogJHt0Lm1heFdpZHRofXB4KWApLGUuam9pbigiIGFuZCAiKX0sImJ1aWxkQ29uZGl0aW9uIiksUjA9aSgodCxlKT0+T3QoYAogICAgQGNvbnRhaW5lciB3Y2NUb29sc1ZpZXdwb3J0ICR7ZX0gewogICAgICAke3QuY3NzVGV4dH0KICAgIH0KICAgIEBtZWRpYSAke2V9IHsKICAgICAgJHt0LmNzc1RleHR9CiAgICB9CiAgYCksImNzc0ZvclZpZXdwb3J0IiksQWN0PWkoKHQsZSxhKT0+T3QoYAogICAgQGNvbnRhaW5lciAke2F9ICR7ZX0gewogICAgICAke3QuY3NzVGV4dH0KICAgIH0KICBgKSwiY3NzRm9yQ29udGFpbmVyIiksX2hhPWkodD0+ZT0+UjAoZSxDY3QodCkpLCJjc3NGb3JDb25zdHJhaW50IiksVGhhPWkoKHQsZSk9PmE9PkFjdChhLENjdCh0KSxlKSwiY3NzRm9yQ29uc3RyYWludENvbnRhaW5lciIpLExoYT1pKHQ9PlhgCiAgOmhvc3QgewogICAgY29udGFpbmVyLXR5cGU6IGlubGluZS1zaXplOwogICAgY29udGFpbmVyLW5hbWU6ICR7T3QodCl9OwogIH0KYCwiY29udGFpbmVyQ29udGV4dFN0eWxlcyIpLCRoYT1pKHQ9PlIwKHQsYChtaW4td2lkdGg6ICR7X2N0fXB4KWApLCJjc3NGb3JEZXNrdG9wIiksRGhhPWkodD0+UjAodCxgKG1heC13aWR0aDogJHtUY3R9cHgpYCksImNzc0Zvck5vdGVib29rIiksQWhhPWkodD0+UjAodCxgKG1heC13aWR0aDogJHtMY3R9cHgpYCksImNzc0ZvclRhYmxldCIpLFBoYT1pKHQ9PlIwKHQsYChtYXgtd2lkdGg6ICR7JGN0fXB4KWApLCJjc3NGb3JQaGFibGV0IiksRWhhPWkodD0+UjAodCxgKG1heC13aWR0aDogJHtEY3R9cHgpYCksImNzc0ZvclBob25lIil9KTt2YXIgUVcsUGN0PWMoKCk9PntNOCgpO1FXPWNsYXNze3N0YXRpY3tpKHRoaXMsIlNjcm9sbGVyIil9ZG9tdG9vbHNJbnN0YW5jZTtzY3JvbGxDYWxsYmFja3M9W107bGVuaXNJbnN0YW5jZT1udWxsO2hhbmRsZU5hdGl2ZVNjcm9sbD1pKGU9Pnt0aGlzLmV4ZWN1dGVTY3JvbGxDYWxsYmFja3MoKX0sImhhbmRsZU5hdGl2ZVNjcm9sbCIpO2hhbmRsZUxlbmlzU2Nyb2xsPWkoZT0+e3RoaXMuZXhlY3V0ZVNjcm9sbENhbGxiYWNrcygpfSwiaGFuZGxlTGVuaXNTY3JvbGwiKTtjb25zdHJ1Y3RvcihlKXt0aGlzLmRvbXRvb2xzSW5zdGFuY2U9ZSx0aGlzLmF0dGFjaE5hdGl2ZVNjcm9sbExpc3RlbmVyKCl9c3dlZXRTY3JvbGxlcj1uZXcgWFcuZGVmYXVsdCh7fSk7YXN5bmMgdG9FbGVtZW50KGUsYSl7dGhpcy5zd2VldFNjcm9sbGVyLnRvRWxlbWVudChlLGEpLGF3YWl0IFN0LmRlbGF5Rm9yKGEuZHVyYXRpb24pfWFzeW5jIGRldGVjdE5hdGl2ZVNtb290aFNjcm9sbCgpe2xldCBlPUplLmRlZmVyKCksYT0xMDAscj0zLHM9Ljc1LG49W107ZnVuY3Rpb24gbyhoKXtuLnB1c2goaC5kZWx0YVkpLG4ubGVuZ3RoPj1hJiYod2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIixvKSxsKCkpfWkobywib25XaGVlbCIpO2Z1bmN0aW9uIGwoKXtsZXQgaD1uLmxlbmd0aC0xLHU9MDtmb3IobGV0IHA9MDtwPGg7cCsrKU1hdGguYWJzKG5bcCsxXS1uW3BdKTw9ciYmdSsrO3UvaD49cz8oY29uc29sZS5sb2coIlNtb290aCBzY3JvbGxpbmcgZGV0ZWN0ZWQuIiksZS5yZXNvbHZlKCEwKSk6KGNvbnNvbGUubG9nKCJTbW9vdGggc2Nyb2xsaW5nIE5PVCBkZXRlY3RlZC4iKSxlLnJlc29sdmUoITEpKX1yZXR1cm4gaShsLCJhbmFseXplRXZlbnRzIiksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixvKSxlLnByb21pc2V9YXN5bmMgZW5hYmxlTGVuaXNTY3JvbGwoZSl7bGV0IGE9bmV3IEFmKHthdXRvUmFmOiEwfSk7aWYoZT8uZGlzYWJsZU9uTmF0aXZlU21vb3RoU2Nyb2xsJiZhd2FpdCB0aGlzLmRldGVjdE5hdGl2ZVNtb290aFNjcm9sbCgpKXthLmRlc3Ryb3koKTtyZXR1cm59dGhpcy5sZW5pc0luc3RhbmNlPWEsdGhpcy5kZXRhY2hOYXRpdmVTY3JvbGxMaXN0ZW5lcigpLHRoaXMuYXR0YWNoTGVuaXNTY3JvbGxMaXN0ZW5lcigpO2xldCByPWEuZGVzdHJveS5iaW5kKGEpO2EuZGVzdHJveT0oKT0+e3IoKSx0aGlzLmRldGFjaExlbmlzU2Nyb2xsTGlzdGVuZXIoKSx0aGlzLmF0dGFjaE5hdGl2ZVNjcm9sbExpc3RlbmVyKCksdGhpcy5sZW5pc0luc3RhbmNlPW51bGx9fW9uU2Nyb2xsKGUpe3RoaXMuc2Nyb2xsQ2FsbGJhY2tzLnB1c2goZSl9ZXhlY3V0ZVNjcm9sbENhbGxiYWNrcygpe3RoaXMuc2Nyb2xsQ2FsbGJhY2tzLmZvckVhY2goZT0+e3RyeXtlKCl9Y2F0Y2goYSl7Y29uc29sZS5lcnJvcigiRXJyb3IgaW4gc2Nyb2xsIGNhbGxiYWNrOiIsYSl9fSl9YXR0YWNoTmF0aXZlU2Nyb2xsTGlzdGVuZXIoKXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLmhhbmRsZU5hdGl2ZVNjcm9sbCl9ZGV0YWNoTmF0aXZlU2Nyb2xsTGlzdGVuZXIoKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLmhhbmRsZU5hdGl2ZVNjcm9sbCl9YXR0YWNoTGVuaXNTY3JvbGxMaXN0ZW5lcigpe3RoaXMubGVuaXNJbnN0YW5jZSYmdGhpcy5sZW5pc0luc3RhbmNlLm9uKCJzY3JvbGwiLHRoaXMuaGFuZGxlTGVuaXNTY3JvbGwpfWRldGFjaExlbmlzU2Nyb2xsTGlzdGVuZXIoKXt0aGlzLmxlbmlzSW5zdGFuY2UmJnRoaXMubGVuaXNJbnN0YW5jZS5vZmYoInNjcm9sbCIsdGhpcy5oYW5kbGVMZW5pc1Njcm9sbCl9fX0pO3ZhciBKVyxFY3Q9YygoKT0+e2s4KCk7TTgoKTtKVz1jbGFzc3tzdGF0aWN7aSh0aGlzLCJUaGVtZU1hbmFnZXIiKX1kb210b29sc1JlZjtnb0JyaWdodEJvb2xlYW49ITE7cHJlZmVycmVkQ29sb3JTY2hlbWVNZWRpYU1hdGNoPXdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGxpZ2h0KSIpO3RoZW1lT2JzZXJ2YWJsZT1uZXcgWXQucnhqcy5SZXBsYXlTdWJqZWN0KDEpO2NvbnN0cnVjdG9yKGUpe3RoaXMuZG9tdG9vbHNSZWY9ZSx0aGlzLmdvQnJpZ2h0Qm9vbGVhbj10aGlzLnByZWZlcnJlZENvbG9yU2NoZW1lTWVkaWFNYXRjaC5tYXRjaGVzLHRoaXMucHJlZmVycmVkQ29sb3JTY2hlbWVNZWRpYU1hdGNoLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsYT0+e3RoaXMuZ29CcmlnaHRCb29sZWFuPWEubWF0Y2hlcyx0aGlzLnVwZGF0ZUFsbENvbm5lY3RlZEVsZW1lbnRzKCl9KSx0aGlzLnVwZGF0ZUFsbENvbm5lY3RlZEVsZW1lbnRzKCl9YXN5bmMgZW5hYmxlQXV0b21hdGljR2xvYmFsVGhlbWVDaGFuZ2UoKXtkb2N1bWVudC5ib2R5JiZkb2N1bWVudC5ib2R5LnN0eWxlJiZ0aGlzLnRoZW1lT2JzZXJ2YWJsZS5zdWJzY3JpYmUoe25leHQ6aShlPT57ZG9jdW1lbnQuYm9keS5zdHlsZS5iYWNrZ3JvdW5kPWU/IiNmZmYiOiIjMDAwIn0sIm5leHQiKX0pfWFzeW5jIHVwZGF0ZUFsbENvbm5lY3RlZEVsZW1lbnRzKCl7dGhpcy50aGVtZU9ic2VydmFibGUubmV4dCh0aGlzLmdvQnJpZ2h0Qm9vbGVhbil9Z29CcmlnaHQoKXt0aGlzLmdvQnJpZ2h0Qm9vbGVhbj0hMCx0aGlzLnVwZGF0ZUFsbENvbm5lY3RlZEVsZW1lbnRzKCl9Z29EYXJrKCl7dGhpcy5nb0JyaWdodEJvb2xlYW49ITEsdGhpcy51cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpfXRvZ2dsZURhcmtCcmlnaHQoKXt0aGlzLmdvQnJpZ2h0Qm9vbGVhbj0hdGhpcy5nb0JyaWdodEJvb2xlYW4sdGhpcy51cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpfX19KTt2YXIgTnNlLGVHLEljdD1jKCgpPT57TTgoKTsoZnVuY3Rpb24odCl7dFt0LkJhY2tzcGFjZT04XT0iQmFja3NwYWNlIix0W3QuVGFiPTldPSJUYWIiLHRbdC5FbnRlcj0xM109IkVudGVyIix0W3QuU2hpZnQ9MTZdPSJTaGlmdCIsdFt0LkN0cmw9MTddPSJDdHJsIix0W3QuQWx0PTE4XT0iQWx0Iix0W3QuUGF1c2VCcmVhaz0xOV09IlBhdXNlQnJlYWsiLHRbdC5DYXBzTG9jaz0yMF09IkNhcHNMb2NrIix0W3QuRXNjYXBlPTI3XT0iRXNjYXBlIix0W3QuU3BhY2U9MzJdPSJTcGFjZSIsdFt0LlBhZ2VVcD0zM109IlBhZ2VVcCIsdFt0LlBhZ2VEb3duPTM0XT0iUGFnZURvd24iLHRbdC5FbmQ9MzVdPSJFbmQiLHRbdC5Ib21lPTM2XT0iSG9tZSIsdFt0LkxlZnRBcnJvdz0zN109IkxlZnRBcnJvdyIsdFt0LlVwQXJyb3c9MzhdPSJVcEFycm93Iix0W3QuUmlnaHRBcnJvdz0zOV09IlJpZ2h0QXJyb3ciLHRbdC5Eb3duQXJyb3c9NDBdPSJEb3duQXJyb3ciLHRbdC5JbnNlcnQ9NDVdPSJJbnNlcnQiLHRbdC5EZWxldGU9NDZdPSJEZWxldGUiLHRbdC5aZXJvPTQ4XT0iWmVybyIsdFt0LkNsb3NlZFBhcmVuPTQ4XT0iQ2xvc2VkUGFyZW4iLHRbdC5PbmU9NDldPSJPbmUiLHRbdC5FeGNsYW1hdGlvbk1hcms9NDldPSJFeGNsYW1hdGlvbk1hcmsiLHRbdC5Ud289NTBdPSJUd28iLHRbdC5BdFNpZ249NTBdPSJBdFNpZ24iLHRbdC5UaHJlZT01MV09IlRocmVlIix0W3QuUG91bmRTaWduPTUxXT0iUG91bmRTaWduIix0W3QuSGFzaD01MV09Ikhhc2giLHRbdC5Gb3VyPTUyXT0iRm91ciIsdFt0LkRvbGxhclNpZ249NTJdPSJEb2xsYXJTaWduIix0W3QuRml2ZT01M109IkZpdmUiLHRbdC5QZXJjZW50U2lnbj01M109IlBlcmNlbnRTaWduIix0W3QuU2l4PTU0XT0iU2l4Iix0W3QuQ2FyZXQ9NTRdPSJDYXJldCIsdFt0LkhhdD01NF09IkhhdCIsdFt0LlNldmVuPTU1XT0iU2V2ZW4iLHRbdC5BbXBlcnNhbmQ9NTVdPSJBbXBlcnNhbmQiLHRbdC5FaWdodD01Nl09IkVpZ2h0Iix0W3QuU3Rhcj01Nl09IlN0YXIiLHRbdC5Bc3RlcmlrPTU2XT0iQXN0ZXJpayIsdFt0Lk5pbmU9NTddPSJOaW5lIix0W3QuT3BlblBhcmVuPTU3XT0iT3BlblBhcmVuIix0W3QuQT02NV09IkEiLHRbdC5CPTY2XT0iQiIsdFt0LkM9NjddPSJDIix0W3QuRD02OF09IkQiLHRbdC5FPTY5XT0iRSIsdFt0LkY9NzBdPSJGIix0W3QuRz03MV09IkciLHRbdC5IPTcyXT0iSCIsdFt0Lkk9NzNdPSJJIix0W3QuSj03NF09IkoiLHRbdC5LPTc1XT0iSyIsdFt0Lkw9NzZdPSJMIix0W3QuTT03N109Ik0iLHRbdC5OPTc4XT0iTiIsdFt0Lk89NzldPSJPIix0W3QuUD04MF09IlAiLHRbdC5RPTgxXT0iUSIsdFt0LlI9ODJdPSJSIix0W3QuUz04M109IlMiLHRbdC5UPTg0XT0iVCIsdFt0LlU9ODVdPSJVIix0W3QuVj04Nl09IlYiLHRbdC5XPTg3XT0iVyIsdFt0Llg9ODhdPSJYIix0W3QuWT04OV09IlkiLHRbdC5aPTkwXT0iWiIsdFt0LkxlZnRXaW5kb3dLZXk9OTFdPSJMZWZ0V2luZG93S2V5Iix0W3QuUmlnaHRXaW5kb3dLZXk9OTJdPSJSaWdodFdpbmRvd0tleSIsdFt0LlNlbGVjdEtleT05M109IlNlbGVjdEtleSIsdFt0Lk51bXBhZDA9OTZdPSJOdW1wYWQwIix0W3QuTnVtcGFkMT05N109Ik51bXBhZDEiLHRbdC5OdW1wYWQyPTk4XT0iTnVtcGFkMiIsdFt0Lk51bXBhZDM9OTldPSJOdW1wYWQzIix0W3QuTnVtcGFkND0xMDBdPSJOdW1wYWQ0Iix0W3QuTnVtcGFkNT0xMDFdPSJOdW1wYWQ1Iix0W3QuTnVtcGFkNj0xMDJdPSJOdW1wYWQ2Iix0W3QuTnVtcGFkNz0xMDNdPSJOdW1wYWQ3Iix0W3QuTnVtcGFkOD0xMDRdPSJOdW1wYWQ4Iix0W3QuTnVtcGFkOT0xMDVdPSJOdW1wYWQ5Iix0W3QuTXVsdGlwbHk9MTA2XT0iTXVsdGlwbHkiLHRbdC5BZGQ9MTA3XT0iQWRkIix0W3QuU3VidHJhY3Q9MTA5XT0iU3VidHJhY3QiLHRbdC5EZWNpbWFsUG9pbnQ9MTEwXT0iRGVjaW1hbFBvaW50Iix0W3QuRGl2aWRlPTExMV09IkRpdmlkZSIsdFt0LkYxPTExMl09IkYxIix0W3QuRjI9MTEzXT0iRjIiLHRbdC5GMz0xMTRdPSJGMyIsdFt0LkY0PTExNV09IkY0Iix0W3QuRjU9MTE2XT0iRjUiLHRbdC5GNj0xMTddPSJGNiIsdFt0LkY3PTExOF09IkY3Iix0W3QuRjg9MTE5XT0iRjgiLHRbdC5GOT0xMjBdPSJGOSIsdFt0LkYxMD0xMjFdPSJGMTAiLHRbdC5GMTE9MTIyXT0iRjExIix0W3QuRjEyPTEyM109IkYxMiIsdFt0Lk51bUxvY2s9MTQ0XT0iTnVtTG9jayIsdFt0LlNjcm9sbExvY2s9MTQ1XT0iU2Nyb2xsTG9jayIsdFt0LlNlbWlDb2xvbj0xODZdPSJTZW1pQ29sb24iLHRbdC5FcXVhbHM9MTg3XT0iRXF1YWxzIix0W3QuQ29tbWE9MTg4XT0iQ29tbWEiLHRbdC5EYXNoPTE4OV09IkRhc2giLHRbdC5QZXJpb2Q9MTkwXT0iUGVyaW9kIix0W3QuVW5kZXJTY29yZT0xODldPSJVbmRlclNjb3JlIix0W3QuUGx1c1NpZ249MTg3XT0iUGx1c1NpZ24iLHRbdC5Gb3J3YXJkU2xhc2g9MTkxXT0iRm9yd2FyZFNsYXNoIix0W3QuVGlsZGU9MTkyXT0iVGlsZGUiLHRbdC5HcmF2ZUFjY2VudD0xOTJdPSJHcmF2ZUFjY2VudCIsdFt0Lk9wZW5CcmFja2V0PTIxOV09Ik9wZW5CcmFja2V0Iix0W3QuQ2xvc2VkQnJhY2tldD0yMjFdPSJDbG9zZWRCcmFja2V0Iix0W3QuUXVvdGU9MjIyXT0iUXVvdGUifSkoTnNlfHwoTnNlPXt9KSk7ZUc9Y2xhc3N7c3RhdGlje2kodGhpcywiS2V5Ym9hcmQiKX1kb21Ob2RlO21hcENvbWJvc1RvSGFuZGxlcnM9bmV3IE1hcDtwcmVzc2VkS2V5cz1uZXcgU2V0O2NvbnN0cnVjdG9yKGUpe3RoaXMuZG9tTm9kZT1lLHRoaXMuc3RhcnRMaXN0ZW5pbmcoKX1rZXlFbnVtPU5zZTtvbihlKXtsZXQgYT1uZXcgWXQucnhqcy5TdWJqZWN0O3JldHVybiB0aGlzLnJlZ2lzdGVyS2V5cyhlLGEpLGF9dHJpZ2dlcktleVByZXNzKGUpe2ZvcihsZXQgYSBvZiBlKXRoaXMucHJlc3NlZEtleXMuYWRkKGEpO3RoaXMuY2hlY2tNYXRjaGluZ0tleWJvYXJkU3ViamVjdHMoKTtmb3IobGV0IGEgb2YgZSl0aGlzLnByZXNzZWRLZXlzLmRlbGV0ZShhKX1zdGFydExpc3RlbmluZygpe3RoaXMuZG9tTm9kZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLmhhbmRsZUtleURvd24pLHRoaXMuZG9tTm9kZS5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5oYW5kbGVLZXlVcCl9c3RvcExpc3RlbmluZygpe3RoaXMuZG9tTm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLmhhbmRsZUtleURvd24pLHRoaXMuZG9tTm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5oYW5kbGVLZXlVcCl9Y2xlYXIoKXt0aGlzLnN0b3BMaXN0ZW5pbmcoKSx0aGlzLm1hcENvbWJvc1RvSGFuZGxlcnMuY2xlYXIoKSx0aGlzLnByZXNzZWRLZXlzLmNsZWFyKCl9aGFuZGxlS2V5RG93bj1pKGU9Pnt0aGlzLnByZXNzZWRLZXlzLmFkZChlLmtleUNvZGUpLHRoaXMuY2hlY2tNYXRjaGluZ0tleWJvYXJkU3ViamVjdHMoZSl9LCJoYW5kbGVLZXlEb3duIik7Y2hlY2tNYXRjaGluZ0tleWJvYXJkU3ViamVjdHMoZSl7dGhpcy5tYXBDb21ib3NUb0hhbmRsZXJzLmZvckVhY2goKGEscik9Pnt0aGlzLmFyZUFsbEtleXNQcmVzc2VkKHIpJiZhLm5leHQoZSl9KX1oYW5kbGVLZXlVcD1pKGU9Pnt0aGlzLnByZXNzZWRLZXlzLmRlbGV0ZShlLmtleUNvZGUpfSwiaGFuZGxlS2V5VXAiKTthcmVBbGxLZXlzUHJlc3NlZChlKXtsZXQgYT0hMDtyZXR1cm4gZS5mb3JFYWNoKHI9Pnt0aGlzLnByZXNzZWRLZXlzLmhhcyhyKXx8KGE9ITEpfSksYX1yZWdpc3RlcktleXMoZSxhKXtpZighdGhpcy5tYXBDb21ib3NUb0hhbmRsZXJzLmhhcyhlKSl0aGlzLm1hcENvbWJvc1RvSGFuZGxlcnMuc2V0KGUsYSk7ZWxzZSByZXR1cm4gdGhpcy5tYXBDb21ib3NUb0hhbmRsZXJzLmdldChlKX19fSk7dmFyIGtyLGs4PWMoKCk9PntNOCgpO0lzZSgpO1BjdCgpO1pXKCk7RWN0KCk7SWN0KCk7a3I9Y2xhc3MgdHtzdGF0aWN7aSh0aGlzLCJEb21Ub29scyIpfXN0YXRpYyBpbml0aWFsaXphdGlvblByb21pc2U9bnVsbDtzdGF0aWMgYXN5bmMgc2V0dXBEb21Ub29scyhlPXt9KXtyZXR1cm4hZS5pZ25vcmVHbG9iYWwmJnQuaW5pdGlhbGl6YXRpb25Qcm9taXNlP2F3YWl0IHQuaW5pdGlhbGl6YXRpb25Qcm9taXNlOmUuaWdub3JlR2xvYmFsP25ldyB0KGUpOih0LmluaXRpYWxpemF0aW9uUHJvbWlzZT0oYXN5bmMoKT0+e2xldCBhO2lmKGdsb2JhbFRoaXMuZGVlc0RvbVRvb2xzKWE9Z2xvYmFsVGhpcy5kZWVzRG9tVG9vbHM7ZWxzZXtnbG9iYWxUaGlzLmRlZXNEb21Ub29scz1uZXcgdChlKSxhPWdsb2JhbFRoaXMuZGVlc0RvbVRvb2xzO2xldCByPWkoKCk9PnsoZG9jdW1lbnQucmVhZHlTdGF0ZT09PSJpbnRlcmFjdGl2ZSJ8fGRvY3VtZW50LnJlYWR5U3RhdGU9PT0iY29tcGxldGUiKSYmKGEuZWxlbWVudHMuaGVhZEVsZW1lbnQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiaGVhZCIpLGEuZWxlbWVudHMuYm9keUVsZW1lbnQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiYm9keSIpLGEua2V5Ym9hcmQ9bmV3IGVHKGRvY3VtZW50LmJvZHkpLGEuZG9tUmVhZHkucmVzb2x2ZSgpKX0sInJlYWR5U3RhdGVDaGFuZ2VkRnVuYyIpO2RvY3VtZW50LnJlYWR5U3RhdGU9PT0iaW50ZXJhY3RpdmUifHxkb2N1bWVudC5yZWFkeVN0YXRlPT09ImNvbXBsZXRlIj9yKCk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicmVhZHlzdGF0ZWNoYW5nZSIsciksYS5kb21Ub29sc1JlYWR5LnJlc29sdmUoKX1yZXR1cm4gYXdhaXQgYS5kb21Ub29sc1JlYWR5LnByb21pc2UsYX0pKCksYXdhaXQgdC5pbml0aWFsaXphdGlvblByb21pc2UpfXN0YXRpYyBnZXRHbG9iYWxEb21Ub29sc1N5bmMoKXtpZighZ2xvYmFsVGhpcy5kZWVzRG9tVG9vbHMpdGhyb3cgbmV3IEVycm9yKCJZb3UgdHJpZWQgdG8gYWNjZXNzIGRvbXRvb2xzIHN5bmNocm9ub3VzbHkgdG9vIGVhcmx5Iik7cmV0dXJuIGdsb2JhbFRoaXMuZGVlc0RvbVRvb2xzfWVsZW1lbnRzPXtoZWFkRWxlbWVudDpudWxsLGJvZHlFbGVtZW50Om51bGx9O3dlYnNldHVwPW5ldyBEZih7bWV0YU9iamVjdDp7dGl0bGU6IiJ9fSk7c21hcnRzdGF0ZT1uZXcgWm4uU21hcnRzdGF0ZTtkb21Ub29sc1N0YXRlUGFydD10aGlzLnNtYXJ0c3RhdGUuZ2V0U3RhdGVQYXJ0KCJkb210b29scyIse3ZpcnR1YWxWaWV3cG9ydDoibmF0aXZlIixqd3Q6bnVsbH0pO3JvdXRlcj1uZXcgWW4uU21hcnRSb3V0ZXIoe2RlYnVnOiExfSk7Y29udmVuaWVuY2U9e3R5cGVkcmVxdWVzdDplMSxzbWFydGRlbGF5OlN0LHNtYXJ0anNvbjp1cyxzbWFydHVybDpCaX07ZGVlc0NvbW1zPW5ldyBVdS5EZWVzQ29tbXM7c2Nyb2xsZXI9bmV3IFFXKHRoaXMpO3RoZW1lTWFuYWdlcj1uZXcgSlcodGhpcyk7a2V5Ym9hcmQ9bnVsbDtkb21Ub29sc1JlYWR5PUplLmRlZmVyKCk7ZG9tUmVhZHk9SmUuZGVmZXIoKTtnbG9iYWxTdHlsZXNSZWFkeT1KZS5kZWZlcigpO2NvbnN0cnVjdG9yKGUpe31ydW5PbmNlVHJhY2tlclN0cmluZ01hcD1uZXcgUGYuU3RyaW5nbWFwO3J1bk9uY2VSZXN1bHRNYXA9bmV3IFBmLkZhc3RNYXA7cnVuT25jZUVycm9yTWFwPW5ldyBQZi5GYXN0TWFwO2FzeW5jIHJ1bk9uY2UoZSxhKXtsZXQgcj1gJHtlfStydW5uaW5nQ2hlY2tgO2lmKCF0aGlzLnJ1bk9uY2VUcmFja2VyU3RyaW5nTWFwLmNoZWNrU3RyaW5nKGUpKXt0aGlzLnJ1bk9uY2VUcmFja2VyU3RyaW5nTWFwLmFkZFN0cmluZyhlKSx0aGlzLnJ1bk9uY2VUcmFja2VyU3RyaW5nTWFwLmFkZFN0cmluZyhyKTt0cnl7bGV0IHM9YXdhaXQgYSgpO3RoaXMucnVuT25jZVJlc3VsdE1hcC5hZGRUb01hcChlLHMpfWNhdGNoKHMpe3RoaXMucnVuT25jZUVycm9yTWFwLmFkZFRvTWFwKGUscyl9ZmluYWxseXt0aGlzLnJ1bk9uY2VUcmFja2VyU3RyaW5nTWFwLnJlbW92ZVN0cmluZyhyKX19cmV0dXJuIGF3YWl0IHRoaXMucnVuT25jZVRyYWNrZXJTdHJpbmdNYXAucmVnaXN0ZXJVbnRpbFRydWUocz0+IXMuaW5jbHVkZXMociksKCk9PntsZXQgcz10aGlzLnJ1bk9uY2VFcnJvck1hcC5nZXRCeUtleShlKTtpZihzKXRocm93IHM7cmV0dXJuIHRoaXMucnVuT25jZVJlc3VsdE1hcC5nZXRCeUtleShlKX0pfWFzeW5jIHNldEdsb2JhbFN0eWxlcyhlKXthd2FpdCB0aGlzLmRvbVJlYWR5LnByb21pc2U7bGV0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTthLnR5cGU9InRleHQvY3NzIixhLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGUpKSx0aGlzLmVsZW1lbnRzLmhlYWRFbGVtZW50LmFwcGVuZENoaWxkKGEpfWFzeW5jIHNldEV4dGVybmFsU2NyaXB0KGUpe2F3YWl0IHRoaXMuZG9tUmVhZHkucHJvbWlzZTtsZXQgYT1KZS5kZWZlcigpLHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7ci5zcmM9ZSxyLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7YS5yZXNvbHZlKCl9KSwoZG9jdW1lbnQuaGVhZHx8ZG9jdW1lbnQuYm9keSkuYXBwZW5kKHIpLGF3YWl0IGEucHJvbWlzZX1hc3luYyBzZXRFeHRlcm5hbENzcyhlKXtsZXQgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaW5rIik7YS5yZWw9InN0eWxlc2hlZXQiLGEuY3Jvc3NPcmlnaW49ImFub255bW91cyIsYS5ocmVmPWUsZG9jdW1lbnQuaGVhZC5hcHBlbmQoYSl9YXN5bmMgc2V0V2Vic2l0ZUluZm8oZSl7YXdhaXQgdGhpcy53ZWJzZXR1cC5zZXR1cChlKSxhd2FpdCB0aGlzLndlYnNldHVwLnJlYWR5UHJvbWlzZX19fSk7dmFyIHRHLE5jdCxSY3Q9YygoKT0+e2s4KCk7JGkoKTt0Rz0oKCk9PntsZXQgdD1uYXZpZ2F0b3IudXNlckFnZW50LmluZGV4T2YoIk1hYyBPUyBYIik9PT0tMT9YYGAuY3NzVGV4dDoiIjtyZXR1cm4gWGAKICAgIC8qIHdpZHRoICovCiAgICA6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgd2lkdGg6IDBweDsKICAgIH0KICAgIGJvZHkgewogICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7CiAgICB9CiAgYC5jc3NUZXh0fSkoKSxOY3Q9WGAKICAvKgogIEBmb250LWZhY2UgewogICAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7CiAgICBmb250LXN0eWxlOiBub3JtYWw7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL21hdGVyaWFsaWNvbnMvdjQyL2ZsVWhScTZ0elpjbFFFSi1WZGctSXVpYURzTmNJaFE4dFEud29mZjIpCiAgICAgIGZvcm1hdCgnd29mZjInKTsKICB9ICovCgogIC8qIGdsb2JhbCBib2R5IHN0eWxlcyAqLwogIGJvZHkgewogICAgbWFyZ2luOiAwcHg7CiAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCAnSW50ZXInLCBzYW5zLXNlcmlmOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICB9CgogIC8qIHNjcm9sbCBiYXIgc3R5bGVzICovCiAgJHtPdCh0Ryl9CmAuY3NzVGV4dH0pO3ZhciBJYT17fTtldChJYSx7c2V0dXA6KCk9PlJoYSxzdGF0aWNTdHlsZXM6KCk9PkloYSxzdHlsZXM6KCk9Pk5oYX0pO3ZhciBJaGEsTmhhLFJoYSxGY3Q9YygoKT0+e004KCk7azgoKTtSY3QoKTskaSgpO0loYT1YYAogICogewogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzLCBjb2xvciAwLjFzOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICB9CgogIDpob3N0IHsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCAnSW50ZXInLCBzYW5zLXNlcmlmOwogIH0KCiAgJHtPdCh0Ryl9CmAsTmhhPXdgCiAgPHN0eWxlPgogICAgKiB7CiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcywgY29sb3IgMC4xczsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIH0KCiAgICA6aG9zdCB7CiAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIHNhbnMtc2VyaWY7CiAgICB9CgogICAgJHt0R30KICA8L3N0eWxlPgpgLFJoYT1pKGFzeW5jKHQsZT17fSk9PntsZXQgYT1hd2FpdCBrci5zZXR1cERvbVRvb2xzKGUpO3JldHVybiBhLnJ1bk9uY2UoImVsZW1lbnRCYXNpY1NldHVwIixhc3luYygpPT57YS5zZXRHbG9iYWxTdHlsZXMoTmN0KX0pLGF9LCJzZXR1cCIpfSk7dmFyIGFHPXt9O2V0KGFHLHtjc3NHcmlkQ29sdW1uczooKT0+RmhhfSk7dmFyIEZoYSxPY3Q9YygoKT0+e0ZoYT1pKCh0LGUpPT57bGV0IGE9IiI7Zm9yKGxldCByPTA7cjx0O3IrKylhKz1gIGNhbGMoKDEwMCUvJHt0fSkgLSAoJHtlKih0LTEpfXB4LyR7dH0pKWA7cmV0dXJuIGF9LCJjc3NHcmlkQ29sdW1ucyIpfSk7dmFyIEV0PXt9O2V0KEV0LHtTd2VldFNjcm9sbDooKT0+UnNlLmRlZmF1bHQsc21hcnRkZWxheTooKT0+U3Qsc21hcnRtYXJrZG93bjooKT0+eTgsc21hcnRwcm9taXNlOigpPT5KZSxzbWFydHJvdXRlcjooKT0+WW4sc21hcnRyeDooKT0+WXQsc21hcnRzdGF0ZTooKT0+Wm4sc21hcnRzdHJpbmc6KCk9PkwxLHNtYXJ0dXJsOigpPT5CaSx0eXBlZHJlcXVlc3Q6KCk9PmUxfSk7dmFyIFJzZSxCY3Q9YygoKT0+e2oyKCk7V2llKCk7ZHIoKTtSc2U9WDEoRXNlKCksMSk7b3NlKCk7ZXNlKCk7Y3MoKTtRbCgpO0lXKCk7VzUoKX0pO3ZhciB2dD17fTtldCh2dCx7RG9tVG9vbHM6KCk9PmtyLFR5cGVkUmVxdWVzdDooKT0+cXUsYnJlYWtwb2ludHM6KCk9PlVhLGNzczooKT0+YUcsZWxlbWVudEJhc2ljOigpPT5JYSxwbHVnaW5zOigpPT5FdH0pO3ZhciBJdD1jKCgpPT57RVVlKCk7RmN0KCk7SXNlKCk7T2N0KCk7azgoKTtXNSgpO1pXKCk7QmN0KCl9KTt2YXIgRnNlLFFuLE9zZT1jKCgpPT57RnNlPVgxKG1IKCksMSk7Y3MoKTskaSgpO1BVZSgpO0l0KCk7UW49e2NzczpYLHVuc2FmZUNTUzpPdCxMaXRFbGVtZW50OkgyLHByb3BlcnR5Okx9fSk7dmFyIHJHLHFjdD1jKCgpPT57JGkoKTtPc2UoKTtJdCgpO3JHPWNsYXNzIHR7c3RhdGlje2kodGhpcywiQ3NzTWFuYWdlciIpfXN0YXRpYyBpbnN0YW5jZT1udWxsO3N0YXRpYyBnZXRTaW5nbGV0b24oKXtyZXR1cm4gdC5pbnN0YW5jZXx8KHQuaW5zdGFuY2U9bmV3IHQpLHQuaW5zdGFuY2V9ZG9tdG9vbHNQcm9taXNlPWtyLnNldHVwRG9tVG9vbHMoKTtnb0JyaWdodD0hMTtiZFZhclRyaXBsZXRTdG9yZT1bXTtjb25zdHJ1Y3Rvcigpe3RoaXMuZG9tdG9vbHNQcm9taXNlLnRoZW4oYXN5bmMgZT0+e2UudGhlbWVNYW5hZ2VyLnRoZW1lT2JzZXJ2YWJsZS5zdWJzY3JpYmUoYXN5bmMgYT0+e3RoaXMuZ29CcmlnaHQ9YSxhd2FpdCBlLmRvbVJlYWR5LnByb21pc2U7Zm9yKGxldCByIG9mIHRoaXMuYmRWYXJUcmlwbGV0U3RvcmUpZG9jdW1lbnQuYm9keS5zdHlsZS5zZXRQcm9wZXJ0eShyLmNzc1Zhck5hbWUsdGhpcy5nb0JyaWdodD9yLmJyaWdodFZhbHVlOnIuZGFya1ZhbHVlKX0pfSl9Z2V0IGRlZmF1bHRTdHlsZXMoKXtyZXR1cm4gSWEuc3RhdGljU3R5bGVzfWdldENvbnRhaW5lck5hbWVGcm9tQ2xhc3MoZSl7cmV0dXJuIGUuaXN8fGUubmFtZS5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCl9Y3NzRm9yRGVza3RvcChlLGEpe3JldHVybiBhP090KFVhLmNzc0ZvckNvbnRhaW5lcihlLGAobWluLXdpZHRoOiAke1VhLmRlc2t0b3B9cHgpYCx0aGlzLmdldENvbnRhaW5lck5hbWVGcm9tQ2xhc3MoYSkpKTpPdChVYS5jc3NGb3JEZXNrdG9wKGUpKX1jc3NGb3JOb3RlYm9vayhlLGEpe3JldHVybiBhP090KFVhLmNzc0ZvckNvbnRhaW5lcihlLGAobWF4LXdpZHRoOiAke1VhLm5vdGVib29rfXB4KWAsdGhpcy5nZXRDb250YWluZXJOYW1lRnJvbUNsYXNzKGEpKSk6T3QoVWEuY3NzRm9yTm90ZWJvb2soZSkpfWNzc0ZvclRhYmxldChlLGEpe3JldHVybiBhP090KFVhLmNzc0ZvckNvbnRhaW5lcihlLGAobWF4LXdpZHRoOiAke1VhLnRhYmxldH1weClgLHRoaXMuZ2V0Q29udGFpbmVyTmFtZUZyb21DbGFzcyhhKSkpOk90KFVhLmNzc0ZvclRhYmxldChlKSl9Y3NzRm9yUGhhYmxldChlLGEpe3JldHVybiBhP090KFVhLmNzc0ZvckNvbnRhaW5lcihlLGAobWF4LXdpZHRoOiAke1VhLnBoYWJsZXR9cHgpYCx0aGlzLmdldENvbnRhaW5lck5hbWVGcm9tQ2xhc3MoYSkpKTpPdChVYS5jc3NGb3JQaGFibGV0KGUpKX1jc3NGb3JQaG9uZShlLGEpe3JldHVybiBhP090KFVhLmNzc0ZvckNvbnRhaW5lcihlLGAobWF4LXdpZHRoOiAke1VhLnBob25lfXB4KWAsdGhpcy5nZXRDb250YWluZXJOYW1lRnJvbUNsYXNzKGEpKSk6T3QoVWEuY3NzRm9yUGhvbmUoZSkpfWNzc0ZvckNvbnN0cmFpbnQoZSl7cmV0dXJuIGE9Pk90KFVhLmNzc0ZvckNvbnN0cmFpbnQoZSkoYSkpfWJkVGhlbWUoZSxhKXtsZXQgcixzO2tyLmdldEdsb2JhbERvbVRvb2xzU3luYygpP3M9a3IuZ2V0R2xvYmFsRG9tVG9vbHNTeW5jKCkudGhlbWVNYW5hZ2VyLmdvQnJpZ2h0Qm9vbGVhbj9lOmE6cz1hO2xldCBuPXRoaXMuYmRWYXJUcmlwbGV0U3RvcmUuZmluZChvPT5vLmRhcmtWYWx1ZT09PWEmJm8uYnJpZ2h0VmFsdWU9PT1lKTtpZihuKXI9bi5jc3NWYXJOYW1lO2Vsc2V7bGV0IG89e2Nzc1Zhck5hbWU6YC0tJHtGc2UudW5pKCl9YCxicmlnaHRWYWx1ZTplLGRhcmtWYWx1ZTphfTt0aGlzLmJkVmFyVHJpcGxldFN0b3JlLnB1c2gobyksdGhpcy5kb210b29sc1Byb21pc2UudGhlbihhc3luYyBsPT57YXdhaXQgbC5kb21SZWFkeS5wcm9taXNlLGRvY3VtZW50LmJvZHkuc3R5bGUuc2V0UHJvcGVydHkoby5jc3NWYXJOYW1lLHMpfSkscj1vLmNzc1Zhck5hbWV9cmV0dXJuIFFuLnVuc2FmZUNTUyhgdmFyKCR7cn0sICR7c30pYCl9Y3NzR3JpZENvbHVtbnM9aSgoZSxhKT0+e2xldCByPSIiO2ZvcihsZXQgcz0wO3M8ZTtzKyspcis9YCBjYWxjKCgxMDAlLyR7ZX0pIC0gKCR7YSooZS0xKX1weC8ke2V9KSlgO3JldHVybiBRbi51bnNhZmVDU1Mocil9LCJjc3NHcmlkQ29sdW1ucyIpfX0pO3ZhciBCc2UsT2hhLEhzZSxCaGEsVmN0LGlHLHVvLEhoYSxxaGEsamN0PWMoKCk9PntzcygpO0JzZT1TeW1ib2wuZm9yKCIiKSxPaGE9aSh0PT57aWYodD8ucj09PUJzZSlyZXR1cm4gdD8uXyRsaXRTdGF0aWMkfSwibyIpLEhzZT1pKHQ9Pih7XyRsaXRTdGF0aWMkOnQscjpCc2V9KSwicyIpLEJoYT1pKCh0LC4uLmUpPT4oe18kbGl0U3RhdGljJDplLnJlZHVjZSgoYSxyLHMpPT5hKyhuPT57aWYobi5fJGxpdFN0YXRpYyQhPT12b2lkIDApcmV0dXJuIG4uXyRsaXRTdGF0aWMkO3Rocm93IEVycm9yKGBWYWx1ZSBwYXNzZWQgdG8gJ2xpdGVyYWwnIGZ1bmN0aW9uIG11c3QgYmUgYSAnbGl0ZXJhbCcgcmVzdWx0OiAke259LiBVc2UgJ3Vuc2FmZVN0YXRpYycgdG8gcGFzcyBub24tbGl0ZXJhbCB2YWx1ZXMsIGJ1dAogICAgICAgICAgICB0YWtlIGNhcmUgdG8gZW5zdXJlIHBhZ2Ugc2VjdXJpdHkuYCl9KShyKSt0W3MrMV0sdFswXSkscjpCc2V9KSwiaSIpLFZjdD1uZXcgTWFwLGlHPWkodD0+KGUsLi4uYSk9PntsZXQgcj1hLmxlbmd0aCxzLG4sbz1bXSxsPVtdLGgsdT0wLGY9ITE7Zm9yKDt1PHI7KXtmb3IoaD1lW3VdO3U8ciYmKG49YVt1XSwocz1PaGEobikpIT09dm9pZCAwKTspaCs9cytlWysrdV0sZj0hMDt1IT09ciYmbC5wdXNoKG4pLG8ucHVzaChoKSx1Kyt9aWYodT09PXImJm8ucHVzaChlW3JdKSxmKXtsZXQgcD1vLmpvaW4oIiQkbGl0JCQiKTsoZT1WY3QuZ2V0KHApKT09PXZvaWQgMCYmKG8ucmF3PW8sVmN0LnNldChwLGU9bykpLGE9bH1yZXR1cm4gdChlLC4uLmEpfSwibiIpLHVvPWlHKHcpLEhoYT1pRyhIWCkscWhhPWlHKHFYKX0pO3ZhciBVY3Q9YygoKT0+e2pjdCgpfSk7dmFyIHoyLGIxLHFpLGZvPWMoKCk9Pnt6Mj17QVRUUklCVVRFOjEsQ0hJTEQ6MixQUk9QRVJUWTozLEJPT0xFQU5fQVRUUklCVVRFOjQsRVZFTlQ6NSxFTEVNRU5UOjZ9LGIxPWkodD0+KC4uLmUpPT4oe18kbGl0RGlyZWN0aXZlJDp0LHZhbHVlczplfSksImUiKSxxaT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJpIil9Y29uc3RydWN0b3IoZSl7fWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfV8kQVQoZSxhLHIpe3RoaXMuXyRDdD1lLHRoaXMuXyRBTT1hLHRoaXMuXyRDaT1yfV8kQVMoZSxhKXtyZXR1cm4gdGhpcy51cGRhdGUoZSxhKX11cGRhdGUoZSxhKXtyZXR1cm4gdGhpcy5yZW5kZXIoLi4uYSl9fX0pO3ZhciB6OCxFZixXY3Q9YygoKT0+e3NzKCk7Zm8oKTt6OD1jbGFzcyBleHRlbmRzIHFpe3N0YXRpY3tpKHRoaXMsImUiKX1jb25zdHJ1Y3RvcihlKXtpZihzdXBlcihlKSx0aGlzLml0PVZhLGUudHlwZSE9PXoyLkNISUxEKXRocm93IEVycm9yKHRoaXMuY29uc3RydWN0b3IuZGlyZWN0aXZlTmFtZSsiKCkgY2FuIG9ubHkgYmUgdXNlZCBpbiBjaGlsZCBiaW5kaW5ncyIpfXJlbmRlcihlKXtpZihlPT09VmF8fGU9PW51bGwpcmV0dXJuIHRoaXMuX3Q9dm9pZCAwLHRoaXMuaXQ9ZTtpZihlPT09QWEpcmV0dXJuIGU7aWYodHlwZW9mIGUhPSJzdHJpbmciKXRocm93IEVycm9yKHRoaXMuY29uc3RydWN0b3IuZGlyZWN0aXZlTmFtZSsiKCkgY2FsbGVkIHdpdGggYSBub24tc3RyaW5nIHZhbHVlIik7aWYoZT09PXRoaXMuaXQpcmV0dXJuIHRoaXMuX3Q7dGhpcy5pdD1lO2xldCBhPVtlXTtyZXR1cm4gYS5yYXc9YSx0aGlzLl90PXtfJGxpdFR5cGUkOnRoaXMuY29uc3RydWN0b3IucmVzdWx0VHlwZSxzdHJpbmdzOmEsdmFsdWVzOltdfX19O3o4LmRpcmVjdGl2ZU5hbWU9InVuc2FmZUhUTUwiLHo4LnJlc3VsdFR5cGU9MTtFZj1iMSh6OCl9KTt2YXIgR2N0PWMoKCk9PntXY3QoKX0pO3ZhciBxc2UsVnNlPWMoKCk9Pntxc2U9aSh0PT4oZSxhKT0+e2EhPT12b2lkIDA/YS5hZGRJbml0aWFsaXplcigoKT0+e2N1c3RvbUVsZW1lbnRzLmRlZmluZSh0LGUpfSk6Y3VzdG9tRWxlbWVudHMuZGVmaW5lKHQsZSl9LCJ0Iil9KTt2YXIgWWN0PWMoKCk9PntWc2UoKX0pO2Z1bmN0aW9uIGFlKHQpe3JldHVybihlLGEpPT57aWYoZS5pcz10LGUubmFtZSl7bGV0IHI9VmhhKGUubmFtZSk7ciE9PXQmJmNvbnNvbGUud2FybihgW2RlZXMtZWxlbWVudF0gQ2xhc3MgIiR7ZS5uYW1lfSIga2ViYWItY2FzZXMgdG8gIiR7cn0iIGJ1dCB0YWcgaXMgIiR7dH0iLiBDb250YWluZXIgcXVlcmllcyB1c2UgLmlzICgiJHt0fSIpLmApfXJldHVybiBxc2UodCkoZSxhKX19dmFyIFZoYSxaY3Q9YygoKT0+e1ljdCgpO1ZoYT1pKHQ9PnQucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZywiJDEtJDIiKS50b0xvd2VyQ2FzZSgpLCJjYW1lbFRvS2ViYWIiKTtpKGFlLCJjdXN0b21FbGVtZW50Iil9KTtmdW5jdGlvbiBaKHQpe3JldHVybiBMKHsuLi50LHN0YXRlOiEwLGF0dHJpYnV0ZTohMX0pfXZhciBYY3Q9YygoKT0+e2NxKCk7aShaLCJyIil9KTtmdW5jdGlvbiBqaGEodCl7cmV0dXJuKGUsYSk9PntsZXQgcj10eXBlb2YgZT09ImZ1bmN0aW9uIj9lOmVbYV07T2JqZWN0LmFzc2lnbihyLHQpfX12YXIgS2N0PWMoKCk9PntpKGpoYSwidCIpfSk7dmFyIFZpLFM4PWMoKCk9PntWaT1pKCh0LGUsYSk9PihhLmNvbmZpZ3VyYWJsZT0hMCxhLmVudW1lcmFibGU9ITAsUmVmbGVjdC5kZWNvcmF0ZSYmdHlwZW9mIGUhPSJvYmplY3QiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodCxlLGEpLGEpLCJlIil9KTtmdW5jdGlvbiBqc2UodCxlKXtyZXR1cm4oYSxyLHMpPT57bGV0IG49aShvPT5vLnJlbmRlclJvb3Q/LnF1ZXJ5U2VsZWN0b3IodCk/P251bGwsIm8iKTtpZihlKXtsZXR7Z2V0Om8sc2V0Omx9PXR5cGVvZiByPT0ib2JqZWN0Ij9hOnM/PygoKT0+e2xldCBoPVN5bWJvbCgpO3JldHVybntnZXQoKXtyZXR1cm4gdGhpc1toXX0sc2V0KHUpe3RoaXNbaF09dX19fSkoKTtyZXR1cm4gVmkoYSxyLHtnZXQoKXtsZXQgaD1vLmNhbGwodGhpcyk7cmV0dXJuIGg9PT12b2lkIDAmJihoPW4odGhpcyksKGghPT1udWxsfHx0aGlzLmhhc1VwZGF0ZWQpJiZsLmNhbGwodGhpcyxoKSksaH19KX1yZXR1cm4gVmkoYSxyLHtnZXQoKXtyZXR1cm4gbih0aGlzKX19KX19dmFyIFFjdD1jKCgpPT57UzgoKTtpKGpzZSwiZSIpfSk7ZnVuY3Rpb24gVXNlKHQpe3JldHVybihlLGEpPT5WaShlLGEse2dldCgpe3JldHVybih0aGlzLnJlbmRlclJvb3Q/PyhVaGE/Pz1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkpKS5xdWVyeVNlbGVjdG9yQWxsKHQpfX0pfXZhciBVaGEsSmN0PWMoKCk9PntTOCgpO2koVXNlLCJyIil9KTtmdW5jdGlvbiBXc2UodCl7cmV0dXJuKGUsYSk9PlZpKGUsYSx7YXN5bmMgZ2V0KCl7cmV0dXJuIGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5yZW5kZXJSb290Py5xdWVyeVNlbGVjdG9yKHQpPz9udWxsfX0pfXZhciBlNHQ9YygoKT0+e1M4KCk7aShXc2UsInIiKX0pO2Z1bmN0aW9uIFdoYSh0KXtyZXR1cm4oZSxhKT0+e2xldHtzbG90OnIsc2VsZWN0b3I6c309dD8/e30sbj0ic2xvdCIrKHI/YFtuYW1lPSR7cn1dYDoiOm5vdChbbmFtZV0pIik7cmV0dXJuIFZpKGUsYSx7Z2V0KCl7bGV0IG89dGhpcy5yZW5kZXJSb290Py5xdWVyeVNlbGVjdG9yKG4pLGw9bz8uYXNzaWduZWRFbGVtZW50cyh0KT8/W107cmV0dXJuIHM9PT12b2lkIDA/bDpsLmZpbHRlcihoPT5oLm1hdGNoZXMocykpfX0pfX12YXIgdDR0PWMoKCk9PntTOCgpO2koV2hhLCJvIil9KTtmdW5jdGlvbiBHaGEodCl7cmV0dXJuKGUsYSk9PntsZXR7c2xvdDpyfT10Pz97fSxzPSJzbG90Iisocj9gW25hbWU9JHtyfV1gOiI6bm90KFtuYW1lXSkiKTtyZXR1cm4gVmkoZSxhLHtnZXQoKXtyZXR1cm4gdGhpcy5yZW5kZXJSb290Py5xdWVyeVNlbGVjdG9yKHMpPy5hc3NpZ25lZE5vZGVzKHQpPz9bXX19KX19dmFyIGE0dD1jKCgpPT57UzgoKTtpKEdoYSwibiIpfSk7dmFyIHI0dD1jKCgpPT57VnNlKCk7Y3EoKTtYY3QoKTtLY3QoKTtRY3QoKTtKY3QoKTtlNHQoKTt0NHQoKTthNHQoKX0pO3ZhciBpNHQsc0csY2UsczR0PWMoKCk9PntPc2UoKTskaSgpO2k0dD1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sc0c9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LGNlPSgoKT0+e2xldCB0PVFuLkxpdEVsZW1lbnQsZSxhPVtdLHI9W10scyxuPVtdLG89W107cmV0dXJuIGNsYXNzIGV4dGVuZHMgdHtzdGF0aWN7aSh0aGlzLCJEZWVzRWxlbWVudCIpfXN0YXRpY3tsZXQgaD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZSh0W1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtlPVtRbi5wcm9wZXJ0eSh7dHlwZTpCb29sZWFufSldLHM9W1FuLnByb3BlcnR5KCldLGk0dCh0aGlzLG51bGwsZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImdvQnJpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHU9PiJnb0JyaWdodCJpbiB1LCJoYXMiKSxnZXQ6aSh1PT51LmdvQnJpZ2h0LCJnZXQiKSxzZXQ6aSgodSxmKT0+e3UuZ29CcmlnaHQ9Zn0sInNldCIpfSxtZXRhZGF0YTpofSxhLHIpLGk0dCh0aGlzLG51bGwscyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRvbXRvb2xzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHU9PiJkb210b29scyJpbiB1LCJoYXMiKSxnZXQ6aSh1PT51LmRvbXRvb2xzLCJnZXQiKSxzZXQ6aSgodSxmKT0+e3UuZG9tdG9vbHM9Zn0sInNldCIpfSxtZXRhZGF0YTpofSxuLG8pLGgmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6aH0pfXN0YXRpYyBnZXRDb250YWluZXJOYW1lKCl7cmV0dXJuIHRoaXMuaXN8fHRoaXMubmFtZS5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCl9c3RhdGljIGNzc0ZvckNvbnN0cmFpbnQoaCl7cmV0dXJuIHU9PnZ0LmJyZWFrcG9pbnRzLmNzc0ZvckNvbnN0cmFpbnRDb250YWluZXIoaCx0aGlzLmdldENvbnRhaW5lck5hbWUoKSkodSl9I2U9c0codGhpcyxhLCExKTtnZXQgZ29CcmlnaHQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZ29CcmlnaHQoaCl7dGhpcy4jZT1ofWRvbXRvb2xzUHJvbWlzZT1zRyh0aGlzLHIpOyN0PXNHKHRoaXMsbix2b2lkIDApO2dldCBkb210b29scygpe3JldHVybiB0aGlzLiN0fXNldCBkb210b29scyhoKXt0aGlzLiN0PWh9cnhTdWJzY3JpcHRpb25zPShzRyh0aGlzLG8pLFtdKTt0aGVtZVN1YnNjcmlwdGlvbjtlbGVtZW50RG9tUmVhZHlEZWZlcnJlZD12dC5wbHVnaW5zLnNtYXJ0cHJvbWlzZS5kZWZlcigpO2VsZW1lbnREb21SZWFkeT10aGlzLmVsZW1lbnREb21SZWFkeURlZmVycmVkLnByb21pc2U7Y29uc3RydWN0b3IoaD17fSl7c3VwZXIoKSx0aGlzLmRvbXRvb2xzUHJvbWlzZT12dC5lbGVtZW50QmFzaWMuc2V0dXAodGhpcyxoKSx0aGlzLmRvbXRvb2xzUHJvbWlzZS50aGVuKHU9Pnt0aGlzLmRvbXRvb2xzPXV9KX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7bGV0IGg9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7dGhpcy50aGVtZVN1YnNjcmlwdGlvbj1oLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKHU9Pnt0aGlzLmdvQnJpZ2h0PXUsdGhpcy50aGVtZUNoYW5nZWQmJnRoaXMudGhlbWVDaGFuZ2VkKHUpfSksdGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnRoZW1lU3Vic2NyaXB0aW9uKTtmb3IobGV0IHUgb2YgdGhpcy5zdGFydHVwRnVuY3Rpb25zKWF3YWl0IHUoKTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWVzRWxlbWVudENvbm5lY3RlZCIpKX1maXJzdFVwZGF0ZWQoaCl7c3VwZXIuZmlyc3RVcGRhdGVkKGgpLHRoaXMuZWxlbWVudERvbVJlYWR5RGVmZXJyZWQucmVzb2x2ZSgpfXN0YXJ0dXBGdW5jdGlvbnM9W107cmVnaXN0ZXJTdGFydHVwRnVuY3Rpb24oaCl7dGhpcy5zdGFydHVwRnVuY3Rpb25zLnB1c2goaCl9Z2FyYmFnZUZ1bmN0aW9ucz1bXTtyZWdpc3RlckdhcmJhZ2VGdW5jdGlvbihoKXt0aGlzLmdhcmJhZ2VGdW5jdGlvbnMucHVzaChoKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7Zm9yKGxldCBoIG9mIHRoaXMucnhTdWJzY3JpcHRpb25zKWgudW5zdWJzY3JpYmUoKTtmb3IobGV0IGggb2YgdGhpcy5nYXJiYWdlRnVuY3Rpb25zKWF3YWl0IGgoKTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWVzRWxlbWVudERpc2Nvbm5lY3RlZCIpKX19fSkoKX0pO2Z1bmN0aW9uIG9HKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe2xldCBlPXQuaXN8fHQubmFtZS5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCksYT10Lm5hbWU/WWhhKHQubmFtZSk6bnVsbDtpZihhJiZhIT09ZSl7bGV0IG49aShsPT5sJiZsLmNzc1RleHQmJmwuY3NzVGV4dC5pbmNsdWRlcyhgQGNvbnRhaW5lciAke2F9YCk/T3QobC5jc3NUZXh0LnJlcGxhY2VBbGwoYEBjb250YWluZXIgJHthfWAsYEBjb250YWluZXIgJHtlfWApKTpsLCJmaXhTdHlsZSIpLG89dC5zdHlsZXM7QXJyYXkuaXNBcnJheShvKT90LnN0eWxlcz1vLm1hcChuKTpvJiYodC5zdHlsZXM9bihvKSl9bGV0IHI9VWEuY29udGFpbmVyQ29udGV4dFN0eWxlcyhlKSxzPXQuc3R5bGVzO3JldHVybiBBcnJheS5pc0FycmF5KHMpP3Quc3R5bGVzPVsuLi5zLHJdOnM/dC5zdHlsZXM9W3Mscl06dC5zdHlsZXM9W3JdLHR9fXZhciBZaGEsbzR0PWMoKCk9PnskaSgpO0l0KCk7WWhhPWkodD0+dC5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCksImNhbWVsVG9LZWJhYiIpO2kob0csImNvbnRhaW5lclJlc3BvbnNpdmUiKX0pO3ZhciBaaGEsbjR0LEdzZSxYaGEsS2hhLFFoYSxKaGEsZW1hLFlzZSxsNHQsaG8seXMsdG1hLElmLFpzZSxOZixYc2UsQzg9YygoKT0+e3NzKCk7KHtJOlpoYX09VlgpLG40dD1pKHQ9PnQsImkiKSxHc2U9aSh0PT50PT09bnVsbHx8dHlwZW9mIHQhPSJvYmplY3QiJiZ0eXBlb2YgdCE9ImZ1bmN0aW9uIiwibiIpLFhoYT17SFRNTDoxLFNWRzoyLE1BVEhNTDozfSxLaGE9aSgodCxlKT0+ZT09PXZvaWQgMD90Py5fJGxpdFR5cGUkIT09dm9pZCAwOnQ/Ll8kbGl0VHlwZSQ9PT1lLCJsIiksUWhhPWkodD0+dD8uXyRsaXRUeXBlJD8uaCE9bnVsbCwiZCIpLEpoYT1pKHQ9PnQ/Ll8kbGl0RGlyZWN0aXZlJCE9PXZvaWQgMCwiYyIpLGVtYT1pKHQ9PnQ/Ll8kbGl0RGlyZWN0aXZlJCwiZiIpLFlzZT1pKHQ9PnQuc3RyaW5ncz09PXZvaWQgMCwiciIpLGw0dD1pKCgpPT5kb2N1bWVudC5jcmVhdGVDb21tZW50KCIiKSwicyIpLGhvPWkoKHQsZSxhKT0+e2xldCByPXQuXyRBQS5wYXJlbnROb2RlLHM9ZT09PXZvaWQgMD90Ll8kQUI6ZS5fJEFBO2lmKGE9PT12b2lkIDApe2xldCBuPXIuaW5zZXJ0QmVmb3JlKGw0dCgpLHMpLG89ci5pbnNlcnRCZWZvcmUobDR0KCkscyk7YT1uZXcgWmhhKG4sbyx0LHQub3B0aW9ucyl9ZWxzZXtsZXQgbj1hLl8kQUIubmV4dFNpYmxpbmcsbz1hLl8kQU0sbD1vIT09dDtpZihsKXtsZXQgaDthLl8kQVE/Lih0KSxhLl8kQU09dCxhLl8kQVAhPT12b2lkIDAmJihoPXQuXyRBVSkhPT1vLl8kQVUmJmEuXyRBUChoKX1pZihuIT09c3x8bCl7bGV0IGg9YS5fJEFBO2Zvcig7aCE9PW47KXtsZXQgdT1uNHQoaCkubmV4dFNpYmxpbmc7bjR0KHIpLmluc2VydEJlZm9yZShoLHMpLGg9dX19fXJldHVybiBhfSwidiIpLHlzPWkoKHQsZSxhPXQpPT4odC5fJEFJKGUsYSksdCksInUiKSx0bWE9e30sSWY9aSgodCxlPXRtYSk9PnQuXyRBSD1lLCJwIiksWnNlPWkodD0+dC5fJEFILCJNIiksTmY9aSh0PT57dC5fJEFSKCksdC5fJEFBLnJlbW92ZSgpfSwiaCIpLFhzZT1pKHQ9Pnt0Ll8kQVIoKX0sImoiKX0pO2Z1bmN0aW9uIGFtYSh0KXt0aGlzLl8kQU4hPT12b2lkIDA/KG5HKHRoaXMpLHRoaXMuXyRBTT10LGM0dCh0aGlzKSk6dGhpcy5fJEFNPXR9ZnVuY3Rpb24gcm1hKHQsZT0hMSxhPTApe2xldCByPXRoaXMuXyRBSCxzPXRoaXMuXyRBTjtpZihzIT09dm9pZCAwJiZzLnNpemUhPT0wKWlmKGUpaWYoQXJyYXkuaXNBcnJheShyKSlmb3IobGV0IG49YTtuPHIubGVuZ3RoO24rKylSZihyW25dLCExKSxuRyhyW25dKTtlbHNlIHIhPW51bGwmJihSZihyLCExKSxuRyhyKSk7ZWxzZSBSZih0aGlzLHQpfXZhciBSZixuRyxjNHQsaW1hLGJpLGxHPWMoKCk9PntDOCgpO2ZvKCk7Zm8oKTtSZj1pKCh0LGUpPT57bGV0IGE9dC5fJEFOO2lmKGE9PT12b2lkIDApcmV0dXJuITE7Zm9yKGxldCByIG9mIGEpci5fJEFPPy4oZSwhMSksUmYocixlKTtyZXR1cm4hMH0sInMiKSxuRz1pKHQ9PntsZXQgZSxhO2Rve2lmKChlPXQuXyRBTSk9PT12b2lkIDApYnJlYWs7YT1lLl8kQU4sYS5kZWxldGUodCksdD1lfXdoaWxlKGE/LnNpemU9PT0wKX0sIm8iKSxjNHQ9aSh0PT57Zm9yKGxldCBlO2U9dC5fJEFNO3Q9ZSl7bGV0IGE9ZS5fJEFOO2lmKGE9PT12b2lkIDApZS5fJEFOPWE9bmV3IFNldDtlbHNlIGlmKGEuaGFzKHQpKWJyZWFrO2EuYWRkKHQpLGltYShlKX19LCJyIik7aShhbWEsImgiKTtpKHJtYSwibiIpO2ltYT1pKHQ9Pnt0LnR5cGU9PXoyLkNISUxEJiYodC5fJEFQPz89cm1hLHQuXyRBUT8/PWFtYSl9LCJjIiksYmk9Y2xhc3MgZXh0ZW5kcyBxaXtzdGF0aWN7aSh0aGlzLCJmIil9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuXyRBTj12b2lkIDB9XyRBVChlLGEscil7c3VwZXIuXyRBVChlLGEsciksYzR0KHRoaXMpLHRoaXMuaXNDb25uZWN0ZWQ9ZS5fJEFVfV8kQU8oZSxhPSEwKXtlIT09dGhpcy5pc0Nvbm5lY3RlZCYmKHRoaXMuaXNDb25uZWN0ZWQ9ZSxlP3RoaXMucmVjb25uZWN0ZWQ/LigpOnRoaXMuZGlzY29ubmVjdGVkPy4oKSksYSYmKFJmKHRoaXMsZSksbkcodGhpcykpfXNldFZhbHVlKGUpe2lmKFlzZSh0aGlzLl8kQ3QpKXRoaXMuXyRDdC5fJEFJKGUsdGhpcyk7ZWxzZXtsZXQgYT1bLi4udGhpcy5fJEN0Ll8kQUhdO2FbdGhpcy5fJENpXT1lLHRoaXMuXyRDdC5fJEFJKGEsdGhpcywwKX19ZGlzY29ubmVjdGVkKCl7fXJlY29ubmVjdGVkKCl7fX19KTt2YXIgY0c9YygoKT0+e2xHKCl9KTt2YXIgS3NlLGQ0dCxzbWEscDR0PWMoKCk9PnskaSgpO2NHKCk7S3NlPWNsYXNzIGV4dGVuZHMgYml7c3RhdGlje2kodGhpcywiUmVzb2x2ZURpcmVjdGl2ZSIpfXByb21pc2U7aGFzUHJvbWlzZVNldHRsZWQ9ITE7cmVuZGVyKGUpe3JldHVybiB0aGlzLnByb21pc2UhPT1lJiYodGhpcy5wcm9taXNlPWUsdGhpcy5pc0Nvbm5lY3RlZCYmdGhpcy5oYW5kbGVQcm9taXNlKGUpKSxBYX1oYW5kbGVQcm9taXNlKGUpe3RoaXMuaGFzUHJvbWlzZVNldHRsZWQ9ITEsZS50aGVuKGE9Pnt0aGlzLnByb21pc2U9PT1lJiYhdGhpcy5oYXNQcm9taXNlU2V0dGxlZCYmKHRoaXMuc2V0VmFsdWUoYSksdGhpcy5oYXNQcm9taXNlU2V0dGxlZD0hMCl9KS5jYXRjaChhPT57dGhpcy5wcm9taXNlPT09ZSYmIXRoaXMuaGFzUHJvbWlzZVNldHRsZWQmJih0aGlzLnNldFZhbHVlKGEpLHRoaXMuaGFzUHJvbWlzZVNldHRsZWQ9ITApfSl9ZGlzY29ubmVjdGVkKCl7dGhpcy5oYXNQcm9taXNlU2V0dGxlZD0hMH1yZWNvbm5lY3RlZCgpe3RoaXMuaGFzUHJvbWlzZVNldHRsZWR8fHRoaXMuaGFuZGxlUHJvbWlzZSh0aGlzLnByb21pc2UpfX0sZDR0PWIxKEtzZSksc21hPWkodD0+ZDR0KHQoKSksInJlc29sdmVFeGVjIil9KTt2YXIgUXNlLG9tYSx1NHQ9YygoKT0+eyRpKCk7Y0coKTtjcygpO1FzZT1jbGFzcyBleHRlbmRzIGJpe3N0YXRpY3tpKHRoaXMsIlN1YnNjcmliZURpcmVjdGl2ZSIpfW9ic2VydmFibGU7c3ViPW51bGw7cmVuZGVyKGUpe3JldHVybiB0aGlzLm9ic2VydmFibGUhPT1lJiYodGhpcy5zdWI/LnVuc3Vic2NyaWJlKCksdGhpcy5vYnNlcnZhYmxlPWUsdGhpcy5pc0Nvbm5lY3RlZCYmdGhpcy5zdWJzY3JpYmUoZSkpLEFhfXN1YnNjcmliZShlKXt0aGlzLnN1Yj1lLnN1YnNjcmliZShhPT57dGhpcy5zZXRWYWx1ZShhKX0pfWRpc2Nvbm5lY3RlZCgpe3RoaXMuc3ViPy51bnN1YnNjcmliZSgpfXJlY29ubmVjdGVkKCl7dGhpcy5zdWJzY3JpYmUodGhpcy5vYnNlcnZhYmxlKX19LG9tYT1iMShRc2UpfSk7dmFyIEpzZSxmNHQsaDR0PWMoKCk9PnskaSgpO2NHKCk7Y3MoKTtKc2U9Y2xhc3MgZXh0ZW5kcyBiaXtzdGF0aWN7aSh0aGlzLCJTdWJzY3JpYmVXaXRoVGVtcGxhdGVEaXJlY3RpdmUiKX1vYnNlcnZhYmxlO3RlbXBsYXRlRm47c3ViPW51bGw7cmVuZGVyKGUsYSl7cmV0dXJuKHRoaXMub2JzZXJ2YWJsZSE9PWV8fHRoaXMudGVtcGxhdGVGbiE9PWEpJiYodGhpcy5zdWI/LnVuc3Vic2NyaWJlKCksdGhpcy5vYnNlcnZhYmxlPWUsdGhpcy50ZW1wbGF0ZUZuPWEsdGhpcy5pc0Nvbm5lY3RlZCYmdGhpcy5zdGFydFN1YnNjcmlwdGlvbigpKSxBYX1zdGFydFN1YnNjcmlwdGlvbigpe3RoaXMuc3ViPXRoaXMub2JzZXJ2YWJsZS5zdWJzY3JpYmUoZT0+e2xldCBhPXRoaXMudGVtcGxhdGVGbihlKTt0aGlzLnNldFZhbHVlKGEpfSl9ZGlzY29ubmVjdGVkKCl7dGhpcy5zdWI/LnVuc3Vic2NyaWJlKCl9cmVjb25uZWN0ZWQoKXt0aGlzLnN0YXJ0U3Vic2NyaXB0aW9uKCl9fSxmNHQ9YjEoSnNlKX0pO3ZhciBlMmUsRjAsTzAsdDJlPWMoKCk9PntlMmU9aShhc3luYyh0LGUpPT57Zm9yIGF3YWl0KGxldCBhIG9mIHQpaWYoYXdhaXQgZShhKT09PSExKXJldHVybn0sInQiKSxGMD1jbGFzc3tzdGF0aWN7aSh0aGlzLCJzIil9Y29uc3RydWN0b3IoZSl7dGhpcy5HPWV9ZGlzY29ubmVjdCgpe3RoaXMuRz12b2lkIDB9cmVjb25uZWN0KGUpe3RoaXMuRz1lfWRlcmVmKCl7cmV0dXJuIHRoaXMuR319LE8wPWNsYXNze3N0YXRpY3tpKHRoaXMsImkiKX1jb25zdHJ1Y3Rvcigpe3RoaXMuWT12b2lkIDAsdGhpcy5aPXZvaWQgMH1nZXQoKXtyZXR1cm4gdGhpcy5ZfXBhdXNlKCl7dGhpcy5ZPz89bmV3IFByb21pc2UoZT0+dGhpcy5aPWUpfXJlc3VtZSgpe3RoaXMuWj8uKCksdGhpcy5ZPXRoaXMuWj12b2lkIDB9fX0pO3ZhciBtNHQsZzR0LGRHLGEyZSxiNHQ9YygoKT0+e3NzKCk7QzgoKTtsRygpO3QyZSgpO2ZvKCk7bTR0PWkodD0+IUdzZSh0KSYmdHlwZW9mIHQudGhlbj09ImZ1bmN0aW9uIiwibiIpLGc0dD0xMDczNzQxODIzLGRHPWNsYXNzIGV4dGVuZHMgYml7c3RhdGlje2kodGhpcywiYyIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl8kQ3d0PWc0dCx0aGlzLl8kQ2J0PVtdLHRoaXMuXyRDSz1uZXcgRjAodGhpcyksdGhpcy5fJENYPW5ldyBPMH1yZW5kZXIoLi4uZSl7cmV0dXJuIGUuZmluZChhPT4hbTR0KGEpKT8/QWF9dXBkYXRlKGUsYSl7bGV0IHI9dGhpcy5fJENidCxzPXIubGVuZ3RoO3RoaXMuXyRDYnQ9YTtsZXQgbj10aGlzLl8kQ0ssbz10aGlzLl8kQ1g7dGhpcy5pc0Nvbm5lY3RlZHx8dGhpcy5kaXNjb25uZWN0ZWQoKTtmb3IobGV0IGw9MDtsPGEubGVuZ3RoJiYhKGw+dGhpcy5fJEN3dCk7bCsrKXtsZXQgaD1hW2xdO2lmKCFtNHQoaCkpcmV0dXJuIHRoaXMuXyRDd3Q9bCxoO2w8cyYmaD09PXJbbF18fCh0aGlzLl8kQ3d0PWc0dCxzPTAsUHJvbWlzZS5yZXNvbHZlKGgpLnRoZW4oYXN5bmMgdT0+e2Zvcig7by5nZXQoKTspYXdhaXQgby5nZXQoKTtsZXQgZj1uLmRlcmVmKCk7aWYoZiE9PXZvaWQgMCl7bGV0IHA9Zi5fJENidC5pbmRleE9mKGgpO3A+LTEmJnA8Zi5fJEN3dCYmKGYuXyRDd3Q9cCxmLnNldFZhbHVlKHUpKX19KSl9cmV0dXJuIEFhfWRpc2Nvbm5lY3RlZCgpe3RoaXMuXyRDSy5kaXNjb25uZWN0KCksdGhpcy5fJENYLnBhdXNlKCl9cmVjb25uZWN0ZWQoKXt0aGlzLl8kQ0sucmVjb25uZWN0KHRoaXMpLHRoaXMuXyRDWC5yZXN1bWUoKX19LGEyZT1iMShkRyl9KTt2YXIgdjR0PWMoKCk9PntiNHQoKX0pO3ZhciBfOCxubWEseDR0PWMoKCk9PntzcygpO2xHKCk7dDJlKCk7Zm8oKTtfOD1jbGFzcyBleHRlbmRzIGJpe3N0YXRpY3tpKHRoaXMsIm8iKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fJENLPW5ldyBGMCh0aGlzKSx0aGlzLl8kQ1g9bmV3IE8wfXJlbmRlcihlLGEpe3JldHVybiBBYX11cGRhdGUoZSxbYSxyXSl7aWYodGhpcy5pc0Nvbm5lY3RlZHx8dGhpcy5kaXNjb25uZWN0ZWQoKSxhPT09dGhpcy5fJENKKXJldHVybiBBYTt0aGlzLl8kQ0o9YTtsZXQgcz0wLHtfJENLOm4sXyRDWDpvfT10aGlzO3JldHVybiBlMmUoYSxhc3luYyBsPT57Zm9yKDtvLmdldCgpOylhd2FpdCBvLmdldCgpO2xldCBoPW4uZGVyZWYoKTtpZihoIT09dm9pZCAwKXtpZihoLl8kQ0ohPT1hKXJldHVybiExO3IhPT12b2lkIDAmJihsPXIobCxzKSksaC5jb21taXRWYWx1ZShsLHMpLHMrK31yZXR1cm4hMH0pLEFhfWNvbW1pdFZhbHVlKGUsYSl7dGhpcy5zZXRWYWx1ZShlKX1kaXNjb25uZWN0ZWQoKXt0aGlzLl8kQ0suZGlzY29ubmVjdCgpLHRoaXMuXyRDWC5wYXVzZSgpfXJlY29ubmVjdGVkKCl7dGhpcy5fJENLLnJlY29ubmVjdCh0aGlzKSx0aGlzLl8kQ1gucmVzdW1lKCl9fSxubWE9YjEoXzgpfSk7dmFyIHIyZSx5NHQ9YygoKT0+e2ZvKCk7eDR0KCk7QzgoKTtyMmU9YjEoY2xhc3MgZXh0ZW5kcyBfOHtjb25zdHJ1Y3Rvcih0KXtpZihzdXBlcih0KSx0LnR5cGUhPT16Mi5DSElMRCl0aHJvdyBFcnJvcigiYXN5bmNBcHBlbmQgY2FuIG9ubHkgYmUgdXNlZCBpbiBjaGlsZCBleHByZXNzaW9ucyIpfXVwZGF0ZSh0LGUpe3JldHVybiB0aGlzLl8kQ3R0PXQsc3VwZXIudXBkYXRlKHQsZSl9Y29tbWl0VmFsdWUodCxlKXtlPT09MCYmWHNlKHRoaXMuXyRDdHQpO2xldCBhPWhvKHRoaXMuXyRDdHQpO3lzKGEsdCl9fSl9KTt2YXIgdzR0PWMoKCk9Pnt5NHQoKX0pO3ZhciBpMmUsTTR0PWMoKCk9PntzcygpO2ZvKCk7QzgoKTtpMmU9YjEoY2xhc3MgZXh0ZW5kcyBxaXtjb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5rZXk9VmF9cmVuZGVyKHQsZSl7cmV0dXJuIHRoaXMua2V5PXQsZX11cGRhdGUodCxbZSxhXSl7cmV0dXJuIGUhPT10aGlzLmtleSYmKElmKHQpLHRoaXMua2V5PWUpLGF9fSl9KTt2YXIgazR0PWMoKCk9PntNNHQoKX0pO3ZhciB6NHQsczJlLFM0dD1jKCgpPT57c3MoKTtmbygpO0M4KCk7ejR0PWkoKHQsZSxhKT0+e2xldCByPW5ldyBNYXA7Zm9yKGxldCBzPWU7czw9YTtzKyspci5zZXQodFtzXSxzKTtyZXR1cm4gcn0sInUiKSxzMmU9YjEoY2xhc3MgZXh0ZW5kcyBxaXtjb25zdHJ1Y3Rvcih0KXtpZihzdXBlcih0KSx0LnR5cGUhPT16Mi5DSElMRCl0aHJvdyBFcnJvcigicmVwZWF0KCkgY2FuIG9ubHkgYmUgdXNlZCBpbiB0ZXh0IGV4cHJlc3Npb25zIil9ZHQodCxlLGEpe2xldCByO2E9PT12b2lkIDA/YT1lOmUhPT12b2lkIDAmJihyPWUpO2xldCBzPVtdLG49W10sbz0wO2ZvcihsZXQgbCBvZiB0KXNbb109cj9yKGwsbyk6byxuW29dPWEobCxvKSxvKys7cmV0dXJue3ZhbHVlczpuLGtleXM6c319cmVuZGVyKHQsZSxhKXtyZXR1cm4gdGhpcy5kdCh0LGUsYSkudmFsdWVzfXVwZGF0ZSh0LFtlLGEscl0pe2xldCBzPVpzZSh0KSx7dmFsdWVzOm4sa2V5czpvfT10aGlzLmR0KGUsYSxyKTtpZighQXJyYXkuaXNBcnJheShzKSlyZXR1cm4gdGhpcy51dD1vLG47bGV0IGw9dGhpcy51dD8/PVtdLGg9W10sdSxmLHA9MCxnPXMubGVuZ3RoLTEsdj0wLHg9bi5sZW5ndGgtMTtmb3IoO3A8PWcmJnY8PXg7KWlmKHNbcF09PT1udWxsKXArKztlbHNlIGlmKHNbZ109PT1udWxsKWctLTtlbHNlIGlmKGxbcF09PT1vW3ZdKWhbdl09eXMoc1twXSxuW3ZdKSxwKyssdisrO2Vsc2UgaWYobFtnXT09PW9beF0paFt4XT15cyhzW2ddLG5beF0pLGctLSx4LS07ZWxzZSBpZihsW3BdPT09b1t4XSloW3hdPXlzKHNbcF0sblt4XSksaG8odCxoW3grMV0sc1twXSkscCsrLHgtLTtlbHNlIGlmKGxbZ109PT1vW3ZdKWhbdl09eXMoc1tnXSxuW3ZdKSxobyh0LHNbcF0sc1tnXSksZy0tLHYrKztlbHNlIGlmKHU9PT12b2lkIDAmJih1PXo0dChvLHYseCksZj16NHQobCxwLGcpKSx1LmhhcyhsW3BdKSlpZih1LmhhcyhsW2ddKSl7bGV0IGI9Zi5nZXQob1t2XSksbT1iIT09dm9pZCAwP3NbYl06bnVsbDtpZihtPT09bnVsbCl7bGV0IHk9aG8odCxzW3BdKTt5cyh5LG5bdl0pLGhbdl09eX1lbHNlIGhbdl09eXMobSxuW3ZdKSxobyh0LHNbcF0sbSksc1tiXT1udWxsO3YrK31lbHNlIE5mKHNbZ10pLGctLTtlbHNlIE5mKHNbcF0pLHArKztmb3IoO3Y8PXg7KXtsZXQgYj1obyh0LGhbeCsxXSk7eXMoYixuW3ZdKSxoW3YrK109Yn1mb3IoO3A8PWc7KXtsZXQgYj1zW3ArK107YiE9PW51bGwmJk5mKGIpfXJldHVybiB0aGlzLnV0PW8sSWYodCxoKSxBYX19KX0pO3ZhciBDNHQ9YygoKT0+e1M0dCgpfSk7dmFyIHZpPXt9O2V0KHZpLHthc3luY0FwcGVuZDooKT0+cjJlLGtleWVkOigpPT5pMmUscmVwZWF0OigpPT5zMmUscmVzb2x2ZTooKT0+ZDR0LHJlc29sdmVFeGVjOigpPT5zbWEsc3Vic2NyaWJlOigpPT5vbWEsc3Vic2NyaWJlV2l0aFRlbXBsYXRlOigpPT5mNHQsdW50aWw6KCk9PmEyZX0pO3ZhciBfNHQ9YygoKT0+e3A0dCgpO3U0dCgpO2g0dCgpO3Y0dCgpO3c0dCgpO2s0dCgpO0M0dCgpfSk7dmFyIEIwPXt9O2V0KEIwLHtEZWVzRWxlbWVudDooKT0+Y2UsY29udGFpbmVyUmVzcG9uc2l2ZTooKT0+b0csY3NzOigpPT5YLGNzc01hbmFnZXI6KCk9PmQsY3VzdG9tRWxlbWVudDooKT0+YWUsZGlyZWN0aXZlczooKT0+dmksZG9tdG9vbHM6KCk9PnZ0LGh0bWw6KCk9PncscHJvcGVydHk6KCk9PkwscXVlcnk6KCk9PmpzZSxxdWVyeUFsbDooKT0+VXNlLHF1ZXJ5QXN5bmM6KCk9PldzZSxyZW5kZXI6KCk9PnNuLHN0YXRlOigpPT5aLHN0YXRpYzooKT0+dW8sdW5zYWZlQ1NTOigpPT5PdCx1bnNhZmVIVE1MOigpPT5FZix1bnNhZmVTdGF0aWM6KCk9PkhzZX0pO3ZhciBkLHBlPWMoKCk9PntxY3QoKTskaSgpO1VjdCgpO0djdCgpO1pjdCgpO3I0dCgpO0l0KCk7czR0KCk7bzR0KCk7XzR0KCk7ZD1yRy5nZXRTaW5nbGV0b24oKX0pO2Z1bmN0aW9uIGxtYSh0LGUpe2xldCBhPUExW3RdO3JldHVybiB0eXBlb2YgYT09Im9iamVjdCImJmU/YVtlXXx8ImF1dG8iOnR5cGVvZiBhPT0ibnVtYmVyIj9hOiJhdXRvIn12YXIgQTEsY21hLHBHLF9hLGppPWMoKCk9PntBMT17YmFzZTp7Y29udGVudDoiYXV0byIsaW5wdXRFbGVtZW50czoxfSxmaXhlZDp7YXBwQmFyOjEwLHNpZGVNZW51OjEwLG1vYmlsZU5hdjoyNTB9LGJhY2tkcm9wOntkcm9wZG93bjoxOTk5LG1vZGFsOjI5OTksY29udGV4dE1lbnU6Mzk5OX0sb3ZlcmxheTp7ZHJvcGRvd246MmUzLG1vZGFsOjNlMyxjb250ZXh0TWVudTo0ZTMsdG9hc3Q6NWUzfSxtb2RhbERyb3Bkb3duOjM1MDAsd3lzaXd5Z01lbnVzOjQ1MDB9O2kobG1hLCJnZXRaSW5kZXgiKTtjbWE9eyJkZWVzLW1vZGFsIjpBMS5vdmVybGF5Lm1vZGFsLCJkZWVzLXdpbmRvd2xheWVyIjpBMS5vdmVybGF5LmRyb3Bkb3duLCJkZWVzLWNvbnRleHRtZW51IjpBMS5vdmVybGF5LmNvbnRleHRNZW51LCJkZWVzLXRvYXN0IjpBMS5vdmVybGF5LnRvYXN0LCJkZWVzLWFwcHVpLW1haW5tZW51IjpBMS5maXhlZC5hcHBCYXIsImRlZXMtbW9iaWxlbmF2aWdhdGlvbiI6QTEuZml4ZWQubW9iaWxlTmF2LCJkZWVzLXNsYXNoLW1lbnUiOkExLnd5c2l3eWdNZW51cywiZGVlcy1mb3JtYXR0aW5nLW1lbnUiOkExLnd5c2l3eWdNZW51c30scEc9Y2xhc3MgdHtzdGF0aWN7aSh0aGlzLCJaSW5kZXhSZWdpc3RyeSIpfXN0YXRpYyBpbnN0YW5jZTthY3RpdmVFbGVtZW50cz1uZXcgU2V0O2VsZW1lbnRaSW5kZXhNYXA9bmV3IFdlYWtNYXA7Y3VycmVudFpJbmRleD0xZTM7Y29uc3RydWN0b3IoKXt9c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIHQuaW5zdGFuY2V8fCh0Lmluc3RhbmNlPW5ldyB0KSx0Lmluc3RhbmNlfWdldE5leHRaSW5kZXgoKXtyZXR1cm4gdGhpcy5jdXJyZW50WkluZGV4Kz0xMCx0aGlzLmN1cnJlbnRaSW5kZXh9cmVnaXN0ZXIoZSxhKXt0aGlzLmFjdGl2ZUVsZW1lbnRzLmFkZChlKSx0aGlzLmVsZW1lbnRaSW5kZXhNYXAuc2V0KGUsYSl9dW5yZWdpc3RlcihlKXt0aGlzLmFjdGl2ZUVsZW1lbnRzLmRlbGV0ZShlKSx0aGlzLmVsZW1lbnRaSW5kZXhNYXAuZGVsZXRlKGUpLHRoaXMuYWN0aXZlRWxlbWVudHMuc2l6ZT09PTAmJih0aGlzLmN1cnJlbnRaSW5kZXg9MWUzKX1nZXRFbGVtZW50WkluZGV4KGUpe3JldHVybiB0aGlzLmVsZW1lbnRaSW5kZXhNYXAuZ2V0KGUpfWdldEFjdGl2ZUNvdW50KCl7cmV0dXJuIHRoaXMuYWN0aXZlRWxlbWVudHMuc2l6ZX1nZXRDdXJyZW50WkluZGV4KCl7cmV0dXJuIHRoaXMuY3VycmVudFpJbmRleH1jbGVhcigpe3RoaXMuYWN0aXZlRWxlbWVudHMuY2xlYXIoKSx0aGlzLmVsZW1lbnRaSW5kZXhNYXA9bmV3IFdlYWtNYXAsdGhpcy5jdXJyZW50WkluZGV4PTFlM31nZXRBY3RpdmVFbGVtZW50c0luT3JkZXIoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmFjdGl2ZUVsZW1lbnRzKS5zb3J0KChlLGEpPT57bGV0IHI9dGhpcy5lbGVtZW50WkluZGV4TWFwLmdldChlKXx8MCxzPXRoaXMuZWxlbWVudFpJbmRleE1hcC5nZXQoYSl8fDA7cmV0dXJuIHItc30pfX0sX2E9cEcuZ2V0SW5zdGFuY2UoKX0pO3ZhciBKbixEZSxYZT1jKCgpPT57cGUoKTtKbj17Y29sb3JzOntsaWdodDp7YmdQcmltYXJ5OiIjZmZmZmZmIixiZ1NlY29uZGFyeToiI2ZhZmFmYSIsYmdUZXJ0aWFyeToiI2Y0ZjRmNSIsdGV4dFByaW1hcnk6IiMwOTA5MGIiLHRleHRTZWNvbmRhcnk6IiMzNzQxNTEiLHRleHRNdXRlZDoiIzcxNzE3YSIsYm9yZGVyRGVmYXVsdDoiI2U1ZTdlYiIsYm9yZGVyU3VidGxlOiIjZjRmNGY1Iixib3JkZXJTdHJvbmc6IiNkMWQ1ZGIiLGFjY2VudFByaW1hcnk6IiMzYjgyZjYiLGFjY2VudFN1Y2Nlc3M6IiMyMmM1NWUiLGFjY2VudFdhcm5pbmc6IiNmNTllMGIiLGFjY2VudEVycm9yOiIjZWY0NDQ0In0sZGFyazp7YmdQcmltYXJ5OiIjMDkwOTBiIixiZ1NlY29uZGFyeToiIzBhMGEwYSIsYmdUZXJ0aWFyeToiIzE4MTgxYiIsdGV4dFByaW1hcnk6IiNmYWZhZmEiLHRleHRTZWNvbmRhcnk6IiNkNGQ0ZDgiLHRleHRNdXRlZDoiI2ExYTFhYSIsYm9yZGVyRGVmYXVsdDoiIzI3MjcyYSIsYm9yZGVyU3VidGxlOiIjMWExYTFhIixib3JkZXJTdHJvbmc6IiMzZjNmNDYiLGFjY2VudFByaW1hcnk6IiMzYjgyZjYiLGFjY2VudFN1Y2Nlc3M6IiMyMmM1NWUiLGFjY2VudFdhcm5pbmc6IiNmNTllMGIiLGFjY2VudEVycm9yOiIjZWY0NDQ0In19LHNwYWNpbmc6e3hzOiI0cHgiLHNtOiI4cHgiLG1kOiIxMnB4IixsZzoiMTZweCIseGw6IjI0cHgiLCIyeGwiOiIzMnB4IiwiM3hsIjoiNDhweCJ9LHJhZGl1czp7eHM6IjJweCIsc206IjRweCIsbWQ6IjZweCIsbGc6IjhweCIseGw6IjEycHgiLGZ1bGw6Ijk5OXB4In0sc2hhZG93czp7eHM6IjAgMXB4IDJweCAwIHJnYigwIDAgMCAvIDAuMDUpIixzbToiMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSIsbWQ6IjAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpIixsZzoiMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpIn0sdHJhbnNpdGlvbnM6e2Zhc3Q6IjAuMXMiLGRlZmF1bHQ6IjAuMTVzIixzbG93OiIwLjJzIixzbG93ZXI6IjAuM3MifSxjb250cm9sSGVpZ2h0czp7c206IjMycHgiLG1kOiIzNnB4IixsZzoiNDBweCIseGw6IjQ4cHgifX0sRGU9WGAKICA6aG9zdCB7CiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBTcGFjaW5nIFNjYWxlCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtc3BhY2luZy14czogNHB4OwogICAgLS1kZWVzLXNwYWNpbmctc206IDhweDsKICAgIC0tZGVlcy1zcGFjaW5nLW1kOiAxMnB4OwogICAgLS1kZWVzLXNwYWNpbmctbGc6IDE2cHg7CiAgICAtLWRlZXMtc3BhY2luZy14bDogMjRweDsKICAgIC0tZGVlcy1zcGFjaW5nLTJ4bDogMzJweDsKICAgIC0tZGVlcy1zcGFjaW5nLTN4bDogNDhweDsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBCb3JkZXIgUmFkaXVzIFNjYWxlCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtcmFkaXVzLXhzOiAycHg7CiAgICAtLWRlZXMtcmFkaXVzLXNtOiA0cHg7CiAgICAtLWRlZXMtcmFkaXVzLW1kOiA2cHg7CiAgICAtLWRlZXMtcmFkaXVzLWxnOiA4cHg7CiAgICAtLWRlZXMtcmFkaXVzLXhsOiAxMnB4OwogICAgLS1kZWVzLXJhZGl1cy1mdWxsOiA5OTlweDsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBTaGFkb3cgRWxldmF0aW9uIFNjYWxlCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtc2hhZG93LXhzOiAwIDFweCAycHggMCByZ2IoMCAwIDAgLyAwLjA1KTsKICAgIC0tZGVlcy1zaGFkb3ctc206IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAtLWRlZXMtc2hhZG93LW1kOiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTsKICAgIC0tZGVlcy1zaGFkb3ctbGc6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBUcmFuc2l0aW9uIER1cmF0aW9uIFNjYWxlCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtdHJhbnNpdGlvbi1mYXN0OiAwLjFzOwogICAgLS1kZWVzLXRyYW5zaXRpb24tZGVmYXVsdDogMC4xNXM7CiAgICAtLWRlZXMtdHJhbnNpdGlvbi1zbG93OiAwLjJzOwogICAgLS1kZWVzLXRyYW5zaXRpb24tc2xvd2VyOiAwLjNzOwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbnRyb2wgSGVpZ2h0IFNjYWxlCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtY29udHJvbC1oZWlnaHQtc206IDMycHg7CiAgICAtLWRlZXMtY29udHJvbC1oZWlnaHQtbWQ6IDM2cHg7CiAgICAtLWRlZXMtY29udHJvbC1oZWlnaHQtbGc6IDQwcHg7CiAgICAtLWRlZXMtY29udHJvbC1oZWlnaHQteGw6IDQ4cHg7CiAgfQpgfSk7dmFyIFQ0dD1jKCgpPT57fSk7dmFyIG8yZT1jKCgpPT57d3MoKTt3cygpfSk7dmFyIEw0dD1jKCgpPT57fSk7dmFyICQ0dD1jKCgpPT57fSk7dmFyIEQ0dD1jKCgpPT57fSk7dmFyIEE0dD1jKCgpPT57fSk7dmFyIG4yZT17fTt2YXIgbDJlPWMoKCk9PntMNHQoKTskNHQoKTtENHQoKTtBNHQoKX0pO3ZhciBQNHQ9YygoKT0+e2wyZSgpO3VHKCl9KTt2YXIgRTR0PWMoKCk9Pnt3cygpfSk7dmFyIEk0dD1jKCgpPT57fSk7dmFyIE40dD1jKCgpPT57d3MoKX0pO3ZhciBSNHQ9YygoKT0+e3dzKCl9KTt2YXIgRjR0PWMoKCk9Pnt9KTt2YXIgTzR0PWMoKCk9Pnt9KTt2YXIgQjR0PWMoKCk9Pnt9KTt2YXIgYzJlPXt9O3ZhciBmRz1jKCgpPT57RTR0KCk7STR0KCk7TjR0KCk7UjR0KCk7RjR0KCk7TzR0KCk7QjR0KCl9KTt2YXIgSDR0PWMoKCk9PntmRygpO28yZSgpfSk7dmFyIHE0dD1jKCgpPT57dUcoKTtmRygpfSk7dmFyIFY0dD1jKCgpPT57fSk7dmFyIGo0dD1jKCgpPT57fSk7dmFyIGQyZT17fTt2YXIgdUc9YygoKT0+e1Q0dCgpO28yZSgpO1A0dCgpO0g0dCgpO3E0dCgpO1Y0dCgpO2o0dCgpfSk7dmFyIFU0dD1jKCgpPT57fSk7dmFyIFc0dD1jKCgpPT57fSk7dmFyIHAyZT17fTt2YXIgRzR0PWMoKCk9PntVNHQoKTtXNHQoKX0pO3ZhciBZNHQ9YygoKT0+e30pO3ZhciBaNHQ9YygoKT0+e30pO3ZhciB1MmU9e307dmFyIFg0dD1jKCgpPT57WTR0KCk7WjR0KCl9KTt2YXIgZjJlPXt9O3ZhciBLNHQ9YygoKT0+e30pO3ZhciBoMmU9YygoKT0+e3dzKCl9KTt2YXIgUTR0PWMoKCk9Pnt3cygpfSk7dmFyIEo0dD1jKCgpPT57aDJlKCl9KTt2YXIgbTJlPXt9O3ZhciBlM3Q9YygoKT0+e2gyZSgpO1E0dCgpO0o0dCgpfSk7dmFyIHQzdD1jKCgpPT57fSk7dmFyIGEzdD1jKCgpPT57fSk7dmFyIGcyZT17fTt2YXIgcjN0PWMoKCk9Pnt0M3QoKTthM3QoKX0pO3ZhciBiMmU9YygoKT0+e30pO3ZhciB2MmUsaTN0PWMoKCk9PntiMmUoKTt2MmU9Y2xhc3N7c3RhdGlje2kodGhpcywiSUNuYW1lRGVzY3JpcHRvciIpfX19KTt2YXIgczN0PWMoKCk9Pnt9KTt2YXIgbzN0PWMoKCk9Pnt9KTt2YXIgbjN0PWMoKCk9Pnt9KTt2YXIgbDN0PWMoKCk9Pnt9KTt2YXIgYzN0PWMoKCk9Pnt9KTt2YXIgZDN0PWMoKCk9Pnt9KTt2YXIgcDN0PWMoKCk9Pnt9KTt2YXIgdTN0PWMoKCk9Pnt9KTt2YXIgZjN0PWMoKCk9Pnt9KTt2YXIgaDN0PWMoKCk9Pnt9KTt2YXIgaEc9e307ZXQoaEcse0lDbmFtZURlc2NyaXB0b3I6KCk9PnYyZX0pO3ZhciBtM3Q9YygoKT0+e2IyZSgpO2kzdCgpO3MzdCgpO28zdCgpO24zdCgpO2wzdCgpO2MzdCgpO2QzdCgpO3AzdCgpO3UzdCgpO2YzdCgpO2gzdCgpfSk7dmFyIHgyZT1jKCgpPT57fSk7dmFyIGczdD1jKCgpPT57eDJlKCl9KTt2YXIgeTJlPXt9O3ZhciBiM3Q9YygoKT0+e2czdCgpO3gyZSgpfSk7dmFyIHcyZT17fTt2YXIgdjN0PWMoKCk9Pnt9KTt2YXIgeDN0PWMoKCk9Pnt9KTt2YXIgeTN0PWMoKCk9Pnt9KTt2YXIgdzN0PWMoKCk9Pnt9KTt2YXIgTTJlPXt9O3ZhciBNM3Q9YygoKT0+e3gzdCgpO3kzdCgpO3czdCgpfSk7dmFyIGszdD1jKCgpPT57fSk7dmFyIGsyZT17fTtldChrMmUse2J1c2luZXNzOigpPT5kMmUsY29kZTooKT0+cDJlLGNvbnRhaW5lcjooKT0+dTJlLGNvbnRlbnQ6KCk9Pm0yZSxkYXRhYmFzZTooKT0+bjJlLGRlc2NyaXB0b3JzOigpPT5mMmUsZmluYW5jZTooKT0+YzJlLGdlbmVyYWw6KCk9PmcyZSxuZXR3b3JrOigpPT5oRyxzYWFzOigpPT55MmUsc3RvcmFnZTooKT0+dzJlLHdlYnNpdGU6KCk9Pk0yZX0pO3ZhciB3cz1jKCgpPT57dUcoKTtHNHQoKTtYNHQoKTtsMmUoKTtLNHQoKTtmRygpO2UzdCgpO3IzdCgpO20zdCgpO2IzdCgpO3YzdCgpO00zdCgpO2szdCgpfSk7dmFyIFAxPWMoKCk9PntkcigpO3dzKCl9KTt2YXIgejN0LFMzdD1jKCgpPT57cGUoKTtQMSgpO3YxKCk7ejN0PWkoKCk9PndgCjxzdHlsZT4KICAud2l0aE1hcmdpbiB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbjogMjBweDsKICB9CiAgLmRlbW8tY29udGFpbmVyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAyMHB4OwogICAgcGFkZGluZzogMjBweDsKICAgIG1pbi1oZWlnaHQ6IDQwMHB4OwogIH0KICAuZGVtby1hcmVhIHsKICAgIHBhZGRpbmc6IDQwcHg7CiAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBjdXJzb3I6IGNvbnRleHQtbWVudTsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yczsKICB9CiAgLmRlbW8tYXJlYTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDIpOwogIH0KPC9zdHlsZT4KPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogIDxkZWVzLXBhbmVsIGhlYWRpbmc9IkJhc2ljIENvbnRleHQgTWVudSB3aXRoIE5lc3RlZCBTdWJtZW51cyI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLWFyZWEiIEBjb250ZXh0bWVudT0ke3Q9PntOdC5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyh0LFt7bmFtZToiRmlsZSIsaWNvbk5hbWU6ImZpbGVUZXh0IixhY3Rpb246aShhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6Ik5ldyIsaWNvbk5hbWU6ImZpbGVQbHVzIixzaG9ydGN1dDoiQ21kK04iLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJOZXcgZmlsZSIpLCJhY3Rpb24iKX0se25hbWU6Ik9wZW4iLGljb25OYW1lOiJmb2xkZXJPcGVuIixzaG9ydGN1dDoiQ21kK08iLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIGZpbGUiKSwiYWN0aW9uIil9LHtuYW1lOiJTYXZlIixpY29uTmFtZToic2F2ZSIsc2hvcnRjdXQ6IkNtZCtTIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiU2F2ZSIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJFeHBvcnQgYXMgUERGIixpY29uTmFtZToiZG93bmxvYWQiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJFeHBvcnQgUERGIiksImFjdGlvbiIpfSx7bmFtZToiRXhwb3J0IGFzIEhUTUwiLGljb25OYW1lOiJjb2RlIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiRXhwb3J0IEhUTUwiKSwiYWN0aW9uIil9XX0se25hbWU6IkVkaXQiLGljb25OYW1lOiJlZGl0MyIsYWN0aW9uOmkoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJDdXQiLGljb25OYW1lOiJzY2lzc29ycyIsc2hvcnRjdXQ6IkNtZCtYIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiQ3V0IiksImFjdGlvbiIpfSx7bmFtZToiQ29weSIsaWNvbk5hbWU6ImNvcHkiLHNob3J0Y3V0OiJDbWQrQyIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIkNvcHkiKSwiYWN0aW9uIil9LHtuYW1lOiJQYXN0ZSIsaWNvbk5hbWU6ImNsaXBib2FyZCIsc2hvcnRjdXQ6IkNtZCtWIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiUGFzdGUiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRmluZCIsaWNvbk5hbWU6InNlYXJjaCIsc2hvcnRjdXQ6IkNtZCtGIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiRmluZCIpLCJhY3Rpb24iKX0se25hbWU6IlJlcGxhY2UiLGljb25OYW1lOiJyZXBlYXQiLHNob3J0Y3V0OiJDbWQrSCIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIlJlcGxhY2UiKSwiYWN0aW9uIil9XX0se25hbWU6IlZpZXciLGljb25OYW1lOiJleWUiLGFjdGlvbjppKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiWm9vbSBJbiIsaWNvbk5hbWU6Inpvb21JbiIsc2hvcnRjdXQ6IkNtZCsrIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiWm9vbSBpbiIpLCJhY3Rpb24iKX0se25hbWU6Ilpvb20gT3V0IixpY29uTmFtZToiem9vbU91dCIsc2hvcnRjdXQ6IkNtZCstIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiWm9vbSBvdXQiKSwiYWN0aW9uIil9LHtuYW1lOiJSZXNldCBab29tIixpY29uTmFtZToibWF4aW1pemUyIixzaG9ydGN1dDoiQ21kKzAiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJSZXNldCB6b29tIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkZ1bGwgU2NyZWVuIixpY29uTmFtZToibWF4aW1pemUiLHNob3J0Y3V0OiJGMTEiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJGdWxsIHNjcmVlbiIpLCJhY3Rpb24iKX1dfSx7ZGl2aWRlcjohMH0se25hbWU6IlNldHRpbmdzIixpY29uTmFtZToic2V0dGluZ3MiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJTZXR0aW5ncyIpLCJhY3Rpb24iKX0se25hbWU6IkhlbHAiLGljb25OYW1lOiJoZWxwQ2lyY2xlIixhY3Rpb246aShhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IkRvY3VtZW50YXRpb24iLGljb25OYW1lOiJib29rIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiRG9jdW1lbnRhdGlvbiIpLCJhY3Rpb24iKX0se25hbWU6IktleWJvYXJkIFNob3J0Y3V0cyIsaWNvbk5hbWU6ImtleWJvYXJkIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiU2hvcnRjdXRzIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkFib3V0IixpY29uTmFtZToiaW5mbyIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIkFib3V0IiksImFjdGlvbiIpfV19XSl9fT4KICAgICAgPGgzPlJpZ2h0LWNsaWNrIGFueXdoZXJlIGluIHRoaXMgYXJlYTwvaDM+CiAgICAgIDxwPkEgY29udGV4dCBtZW51IHdpdGggbmVzdGVkIHN1Ym1lbnVzIHdpbGwgYXBwZWFyPC9wPgogICAgPC9kaXY+CiAgPC9kZWVzLXBhbmVsPgogIDxkZWVzLXBhbmVsIGhlYWRpbmc9IkNvbXBvbmVudC1TcGVjaWZpYyBDb250ZXh0IE1lbnUiPgogICAgPGRlZXMtYnV0dG9uIHN0eWxlPSJtYXJnaW46IDIwcHg7IiBAY29udGV4dG1lbnU9JHt0PT57TnQub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnModCxbe25hbWU6IkJ1dHRvbiBBY3Rpb25zIixpY29uTmFtZToibW91c2VQb2ludGVyIixhY3Rpb246aShhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IkNsaWNrIixpY29uTmFtZToibW91c2UiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJDbGljayBhY3Rpb24iKSwiYWN0aW9uIil9LHtuYW1lOiJEb3VibGUgQ2xpY2siLGljb25OYW1lOiJ6YXAiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJEb3VibGUgY2xpY2siKSwiYWN0aW9uIil9LHtuYW1lOiJMb25nIFByZXNzIixpY29uTmFtZToiY2xvY2siLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJMb25nIHByZXNzIiksImFjdGlvbiIpfV19LHtuYW1lOiJCdXR0b24gU3RhdGUiLGljb25OYW1lOiJ0b2dnbGVMZWZ0IixhY3Rpb246aShhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IkVuYWJsZSIsaWNvbk5hbWU6ImNoZWNrQ2lyY2xlIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiRW5hYmxlIiksImFjdGlvbiIpfSx7bmFtZToiRGlzYWJsZSIsaWNvbk5hbWU6InhDaXJjbGUiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJEaXNhYmxlIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IlNob3ciLGljb25OYW1lOiJleWUiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJTaG93IiksImFjdGlvbiIpfSx7bmFtZToiSGlkZSIsaWNvbk5hbWU6ImV5ZU9mZiIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIkhpZGUiKSwiYWN0aW9uIil9XX0se2RpdmlkZXI6ITB9LHtuYW1lOiJEaXNhYmxlZCBBY3Rpb24iLGljb25OYW1lOiJiYW4iLGRpc2FibGVkOiEwLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJUaGlzIHNob3VsZCBub3QgcnVuIiksImFjdGlvbiIpfSx7bmFtZToiUHJvcGVydGllcyIsaWNvbk5hbWU6InNldHRpbmdzIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiQnV0dG9uIHByb3BlcnRpZXMiKSwiYWN0aW9uIil9XSl9fT5SaWdodC1jbGljayBvbiB0aGlzIGJ1dHRvbjwvZGVlcy1idXR0b24+CiAgPC9kZWVzLXBhbmVsPgoKICA8ZGVlcy1wYW5lbCBoZWFkaW5nPSJBZHZhbmNlZCBDb250ZXh0IE1lbnUgRXhhbXBsZSI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLWFyZWEiIEBjb250ZXh0bWVudT0ke3Q9PntOdC5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyh0LFt7bmFtZToiRm9ybWF0IixpY29uTmFtZToidHlwZSIsYWN0aW9uOmkoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJCb2xkIixpY29uTmFtZToiYm9sZCIsc2hvcnRjdXQ6IkNtZCtCIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiQm9sZCIpLCJhY3Rpb24iKX0se25hbWU6Ikl0YWxpYyIsaWNvbk5hbWU6Iml0YWxpYyIsc2hvcnRjdXQ6IkNtZCtJIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiSXRhbGljIiksImFjdGlvbiIpfSx7bmFtZToiVW5kZXJsaW5lIixpY29uTmFtZToidW5kZXJsaW5lIixzaG9ydGN1dDoiQ21kK1UiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJVbmRlcmxpbmUiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRm9udCBTaXplIixpY29uTmFtZToidHlwZSIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIkZvbnQgc2l6ZSBtZW51IiksImFjdGlvbiIpfSx7bmFtZToiRm9udCBDb2xvciIsaWNvbk5hbWU6InBhbGV0dGUiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJGb250IGNvbG9yIG1lbnUiKSwiYWN0aW9uIil9XX0se25hbWU6IlRyYW5zZm9ybSIsaWNvbk5hbWU6InNodWZmbGUiLGFjdGlvbjppKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiVG8gVXBwZXJjYXNlIixpY29uTmFtZToiYXJyb3dVcCIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIlVwcGVyY2FzZSIpLCJhY3Rpb24iKX0se25hbWU6IlRvIExvd2VyY2FzZSIsaWNvbk5hbWU6ImFycm93RG93biIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIkxvd2VyY2FzZSIpLCJhY3Rpb24iKX0se25hbWU6IkNhcGl0YWxpemUiLGljb25OYW1lOiJ0eXBlIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiQ2FwaXRhbGl6ZSIpLCJhY3Rpb24iKX1dfSx7ZGl2aWRlcjohMH0se25hbWU6IkRlbGV0ZSIsaWNvbk5hbWU6InRyYXNoMiIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIkRlbGV0ZSIpLCJhY3Rpb24iKX1dKX19PgogICAgICA8aDM+QWR2YW5jZWQgTmVzdGVkIE1lbnUgRXhhbXBsZTwvaDM+CiAgICAgIDxwPlRoaXMgc2hvd3MgZGVlcGx5IG5lc3RlZCBzdWJtZW51cyBhbmQgdmFyaW91cyBmb3JtYXR0aW5nIG9wdGlvbnM8L3A+CiAgICA8L2Rpdj4KICA8L2RlZXMtcGFuZWw+CiAgCiAgPGRlZXMtcGFuZWwgaGVhZGluZz0iU3RhdGljIENvbnRleHQgTWVudSAoQWx3YXlzIFZpc2libGUpIj4KICAgIDxkZWVzLWNvbnRleHRtZW51CiAgICAgIGNsYXNzPSJ3aXRoTWFyZ2luIgogICAgICAubWVudUl0ZW1zPSR7W3tuYW1lOiJQcm9qZWN0IixpY29uTmFtZToiZm9sZGVyIixhY3Rpb246aShhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6Ik5ldyBQcm9qZWN0IixpY29uTmFtZToiZm9sZGVyUGx1cyIsc2hvcnRjdXQ6IkNtZCtTaGlmdCtOIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiTmV3IHByb2plY3QiKSwiYWN0aW9uIil9LHtuYW1lOiJPcGVuIFByb2plY3QiLGljb25OYW1lOiJmb2xkZXJPcGVuIixzaG9ydGN1dDoiQ21kK1NoaWZ0K08iLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIHByb2plY3QiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiUmVjZW50IFByb2plY3RzIixpY29uTmFtZToiY2xvY2siLGFjdGlvbjppKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiUHJvamVjdCBBbHBoYSIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIk9wZW4gQWxwaGEiKSwiYWN0aW9uIil9LHtuYW1lOiJQcm9qZWN0IEJldGEiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIEJldGEiKSwiYWN0aW9uIil9LHtuYW1lOiJQcm9qZWN0IEdhbW1hIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiBHYW1tYSIpLCJhY3Rpb24iKX1dfV19LHtuYW1lOiJUb29scyIsaWNvbk5hbWU6InRvb2wiLGFjdGlvbjppKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiVGVybWluYWwiLGljb25OYW1lOiJ0ZXJtaW5hbCIsc2hvcnRjdXQ6IkNtZCtUIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiVGVybWluYWwiKSwiYWN0aW9uIil9LHtuYW1lOiJDb25zb2xlIixpY29uTmFtZToibW9uaXRvciIsc2hvcnRjdXQ6IkNtZCtLIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiQ29uc29sZSIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJFeHRlbnNpb25zIixpY29uTmFtZToicGFja2FnZSIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIkV4dGVuc2lvbnMiKSwiYWN0aW9uIil9XX0se2RpdmlkZXI6ITB9LHtuYW1lOiJQcmVmZXJlbmNlcyIsaWNvbk5hbWU6InNsaWRlcnMiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJQcmVmZXJlbmNlcyIpLCJhY3Rpb24iKX1dfQogICAgPjwvZGVlcy1jb250ZXh0bWVudT4KICA8L2RlZXMtcGFuZWw+CjwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIEZmLG1vLFVpLGdvPWMoKCk9PntwZSgpO2ppKCk7RmY9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LG1vPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxVaT0oKCk9PntsZXQgdD1bYWUoImRlZXMtd2luZG93bGF5ZXIiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc1dpbmRvd0xheWVyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IE09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bWigpXSxoPVtaKCldLHA9W1ooKV0seD1bTCh7dHlwZTpCb29sZWFufSldLEZmKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3B0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4ib3B0aW9ucyJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLm9wdGlvbnMsImdldCIpLHNldDppKChrLEUpPT57ay5vcHRpb25zPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbyxsKSxGZih0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJhY2tkcm9wWkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGs9PiJiYWNrZHJvcFpJbmRleCJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLmJhY2tkcm9wWkluZGV4LCJnZXQiKSxzZXQ6aSgoayxFKT0+e2suYmFja2Ryb3BaSW5kZXg9RX0sInNldCIpfSxtZXRhZGF0YTpNfSx1LGYpLEZmKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4iY29udGVudFpJbmRleCJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLmNvbnRlbnRaSW5kZXgsImdldCIpLHNldDppKChrLEUpPT57ay5jb250ZW50WkluZGV4PUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sZyx2KSxGZih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+InZpc2libGUiaW4gaywiaGFzIiksZ2V0Omkoaz0+ay52aXNpYmxlLCJnZXQiKSxzZXQ6aSgoayxFKT0+e2sudmlzaWJsZT1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGIsbSksRmYobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCxhKSx5PXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1pKCgpPT53YDxkZWVzLXdpbmRvd2xheWVyPjwvZGVlcy13aW5kb3dsYXllcj5gLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJPdmVybGF5Il07c3RhdGljIGFzeW5jIGNyZWF0ZUFuZFNob3coTSl7bGV0IGs9dnQuRG9tVG9vbHMuZ2V0R2xvYmFsRG9tVG9vbHNTeW5jKCksRT1uZXcgeTtyZXR1cm4gRS5vcHRpb25zPXsuLi5FLm9wdGlvbnMsLi4uTX0sZG9jdW1lbnQuYm9keS5hcHBlbmQoRSksYXdhaXQgay5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLEUuc2hvdygpLEV9I2U9bW8odGhpcyxvLHtibHVyOiExfSk7Z2V0IG9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgb3B0aW9ucyhNKXt0aGlzLiNlPU19I3Q9KG1vKHRoaXMsbCksbW8odGhpcyx1LDFlMykpO2dldCBiYWNrZHJvcFpJbmRleCgpe3JldHVybiB0aGlzLiN0fXNldCBiYWNrZHJvcFpJbmRleChNKXt0aGlzLiN0PU19I2E9KG1vKHRoaXMsZiksbW8odGhpcyxnLDEwMDEpKTtnZXQgY29udGVudFpJbmRleCgpe3JldHVybiB0aGlzLiNhfXNldCBjb250ZW50WkluZGV4KE0pe3RoaXMuI2E9TX0jcj0obW8odGhpcyx2KSxtbyh0aGlzLGIsITEpKTtnZXQgdmlzaWJsZSgpe3JldHVybiB0aGlzLiNyfXNldCB2aXNpYmxlKE0pe3RoaXMuI3I9TX1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksbW8odGhpcyxtKSx2dC5lbGVtZW50QmFzaWMuc2V0dXAoKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgJHt2dC5lbGVtZW50QmFzaWMuc3R5bGVzfQogICAgICA8c3R5bGU+CiAgICAgICAgLndpbmRvd092ZXJsYXkgewogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICAgICAgd2lkdGg6IDEwMHZ3OwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wKTsKICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYnJpZ2h0bmVzcygxKSAke3RoaXMub3B0aW9ucy5ibHVyPyJibHVyKDBweCkiOiIifTsKICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgICAgei1pbmRleDogJHt0aGlzLmJhY2tkcm9wWkluZGV4fTsKICAgICAgICB9CiAgICAgICAgLnNsb3RDb250ZW50IHsKICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgICB3aWR0aDogMTAwdnc7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgei1pbmRleDogJHt0aGlzLmNvbnRlbnRaSW5kZXh9OwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zbG90Q29udGVudCA+ICogewogICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC52aXNpYmxlIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTsKICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYnJpZ2h0bmVzcygwLjkpICR7dGhpcy5vcHRpb25zLmJsdXI/ImJsdXIoMnB4KSI6IiJ9OwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgQGNsaWNrPSR7dGhpcy5kaXNwYXRjaENsaWNrZWR9IGNsYXNzPSJ3aW5kb3dPdmVybGF5ICR7dGhpcy52aXNpYmxlPyJ2aXNpYmxlIjpudWxsfSI+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzbG90Q29udGVudCI+CiAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICA8L2Rpdj4KICAgIGB9Zmlyc3RVcGRhdGVkKCl7c2V0VGltZW91dCgoKT0+e3RoaXMudmlzaWJsZT0hMH0sMTAwKX1kaXNwYXRjaENsaWNrZWQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjbGlja2VkIikpfXRvZ2dsZVZpc2liaWxpdHkoKXt0aGlzLnZpc2libGU9IXRoaXMudmlzaWJsZX1nZXRDb250ZW50WkluZGV4KCl7cmV0dXJuIHRoaXMuY29udGVudFpJbmRleH1hc3luYyBzaG93KCl7bGV0IE09YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7dGhpcy5iYWNrZHJvcFpJbmRleD1fYS5nZXROZXh0WkluZGV4KCksdGhpcy5jb250ZW50WkluZGV4PV9hLmdldE5leHRaSW5kZXgoKSxfYS5yZWdpc3Rlcih0aGlzLHRoaXMuYmFja2Ryb3BaSW5kZXgpLGF3YWl0IE0uY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigwKSx0aGlzLnZpc2libGU9ITB9YXN5bmMgaGlkZSgpe2F3YWl0KGF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlKS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLHRoaXMudmlzaWJsZT0hMX1hc3luYyBkZXN0cm95KCl7bGV0IE09YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7YXdhaXQgdGhpcy5oaWRlKCksYXdhaXQgTS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDMwMCksX2EudW5yZWdpc3Rlcih0aGlzKSx0aGlzLnJlbW92ZSgpfXN0YXRpY3ttbyhyLGEpfX07cmV0dXJuIHk9cn0pKCl9KTtmdW5jdGlvbiB6MmUodCxlKXsoZT09bnVsbHx8ZT50Lmxlbmd0aCkmJihlPXQubGVuZ3RoKTtmb3IodmFyIGE9MCxyPUFycmF5KGUpO2E8ZTthKyspclthXT10W2FdO3JldHVybiByfWZ1bmN0aW9uIHBtYSh0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiB0fWZ1bmN0aW9uIHVtYSh0KXtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiB6MmUodCl9ZnVuY3Rpb24gZm1hKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9ZnVuY3Rpb24gQzN0KHQsZSl7Zm9yKHZhciBhPTA7YTxlLmxlbmd0aDthKyspe3ZhciByPWVbYV07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxUM3Qoci5rZXkpLHIpfX1mdW5jdGlvbiBobWEodCxlLGEpe3JldHVybiBlJiZDM3QodC5wcm90b3R5cGUsZSksYSYmQzN0KHQsYSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInByb3RvdHlwZSIse3dyaXRhYmxlOiExfSksdH1mdW5jdGlvbiBtRyh0LGUpe3ZhciBhPXR5cGVvZiBTeW1ib2w8InUiJiZ0W1N5bWJvbC5pdGVyYXRvcl18fHRbIkBAaXRlcmF0b3IiXTtpZighYSl7aWYoQXJyYXkuaXNBcnJheSh0KXx8KGE9UzJlKHQpKXx8ZSYmdCYmdHlwZW9mIHQubGVuZ3RoPT0ibnVtYmVyIil7YSYmKHQ9YSk7dmFyIHI9MCxzPWkoZnVuY3Rpb24oKXt9LCJGIik7cmV0dXJue3MsbjppKGZ1bmN0aW9uKCl7cmV0dXJuIHI+PXQubGVuZ3RoP3tkb25lOiEwfTp7ZG9uZTohMSx2YWx1ZTp0W3IrK119fSwibiIpLGU6aShmdW5jdGlvbihoKXt0aHJvdyBofSwiZSIpLGY6c319dGhyb3cgbmV3IFR5cGVFcnJvcihgSW52YWxpZCBhdHRlbXB0IHRvIGl0ZXJhdGUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLgpJbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuYCl9dmFyIG4sbz0hMCxsPSExO3JldHVybntzOmkoZnVuY3Rpb24oKXthPWEuY2FsbCh0KX0sInMiKSxuOmkoZnVuY3Rpb24oKXt2YXIgaD1hLm5leHQoKTtyZXR1cm4gbz1oLmRvbmUsaH0sIm4iKSxlOmkoZnVuY3Rpb24oaCl7bD0hMCxuPWh9LCJlIiksZjppKGZ1bmN0aW9uKCl7dHJ5e298fGEucmV0dXJuPT1udWxsfHxhLnJldHVybigpfWZpbmFsbHl7aWYobCl0aHJvdyBufX0sImYiKX19ZnVuY3Rpb24gTHQodCxlLGEpe3JldHVybihlPVQzdChlKSlpbiB0P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOmEsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTp0W2VdPWEsdH1mdW5jdGlvbiBtbWEodCxlKXtpZih0eXBlb2YgZSE9ImZ1bmN0aW9uIiYmZSE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24iKTt0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsInByb3RvdHlwZSIse3dyaXRhYmxlOiExfSksZSYmZ0codCxlKX1mdW5jdGlvbiBnbWEodCl7aWYodHlwZW9mIFN5bWJvbDwidSImJnRbU3ltYm9sLml0ZXJhdG9yXSE9bnVsbHx8dFsiQEBpdGVyYXRvciJdIT1udWxsKXJldHVybiBBcnJheS5mcm9tKHQpfWZ1bmN0aW9uIGJtYSh0LGUpe3ZhciBhPXQ9PW51bGw/bnVsbDp0eXBlb2YgU3ltYm9sPCJ1IiYmdFtTeW1ib2wuaXRlcmF0b3JdfHx0WyJAQGl0ZXJhdG9yIl07aWYoYSE9bnVsbCl7dmFyIHIscyxuLG8sbD1bXSxoPSEwLHU9ITE7dHJ5e2lmKG49KGE9YS5jYWxsKHQpKS5uZXh0LGU9PT0wKXtpZihPYmplY3QoYSkhPT1hKXJldHVybjtoPSExfWVsc2UgZm9yKDshKGg9KHI9bi5jYWxsKGEpKS5kb25lKSYmKGwucHVzaChyLnZhbHVlKSxsLmxlbmd0aCE9PWUpO2g9ITApO31jYXRjaChmKXt1PSEwLHM9Zn1maW5hbGx5e3RyeXtpZighaCYmYS5yZXR1cm4hPW51bGwmJihvPWEucmV0dXJuKCksT2JqZWN0KG8pIT09bykpcmV0dXJufWZpbmFsbHl7aWYodSl0aHJvdyBzfX1yZXR1cm4gbH19ZnVuY3Rpb24gdm1hKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihgSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS4KSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLmApfWZ1bmN0aW9uIHhtYSgpe3Rocm93IG5ldyBUeXBlRXJyb3IoYEludmFsaWQgYXR0ZW1wdCB0byBzcHJlYWQgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLgpJbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuYCl9ZnVuY3Rpb24gXzN0KHQsZSl7dmFyIGE9T2JqZWN0LmtleXModCk7aWYoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyl7dmFyIHI9T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyh0KTtlJiYocj1yLmZpbHRlcihmdW5jdGlvbihzKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LHMpLmVudW1lcmFibGV9KSksYS5wdXNoLmFwcGx5KGEscil9cmV0dXJuIGF9ZnVuY3Rpb24gVWUodCl7Zm9yKHZhciBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIGE9YXJndW1lbnRzW2VdIT1udWxsP2FyZ3VtZW50c1tlXTp7fTtlJTI/XzN0KE9iamVjdChhKSwhMCkuZm9yRWFjaChmdW5jdGlvbihyKXtMdCh0LHIsYVtyXSl9KTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyh0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKGEpKTpfM3QoT2JqZWN0KGEpKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LHIsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihhLHIpKX0pfXJldHVybiB0fWZ1bmN0aW9uIGdHKHQsZSl7cmV0dXJuIGdHPU9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YuYmluZCgpOmZ1bmN0aW9uKGEscil7cmV0dXJuIGEuX19wcm90b19fPXIsYX0sZ0codCxlKX1mdW5jdGlvbiBiRyh0LGUpe3JldHVybiBwbWEodCl8fGJtYSh0LGUpfHxTMmUodCxlKXx8dm1hKCl9ZnVuY3Rpb24gTXModCl7cmV0dXJuIHVtYSh0KXx8Z21hKHQpfHxTMmUodCl8fHhtYSgpfWZ1bmN0aW9uIHltYSh0LGUpe2lmKHR5cGVvZiB0IT0ib2JqZWN0Inx8IXQpcmV0dXJuIHQ7dmFyIGE9dFtTeW1ib2wudG9QcmltaXRpdmVdO2lmKGEhPT12b2lkIDApe3ZhciByPWEuY2FsbCh0LGV8fCJkZWZhdWx0Iik7aWYodHlwZW9mIHIhPSJvYmplY3QiKXJldHVybiByO3Rocm93IG5ldyBUeXBlRXJyb3IoIkBAdG9QcmltaXRpdmUgbXVzdCByZXR1cm4gYSBwcmltaXRpdmUgdmFsdWUuIil9cmV0dXJuKGU9PT0ic3RyaW5nIj9TdHJpbmc6TnVtYmVyKSh0KX1mdW5jdGlvbiBUM3QodCl7dmFyIGU9eW1hKHQsInN0cmluZyIpO3JldHVybiB0eXBlb2YgZT09InN5bWJvbCI/ZTplKyIifWZ1bmN0aW9uIHZHKHQpeyJAYmFiZWwvaGVscGVycyAtIHR5cGVvZiI7cmV0dXJuIHZHPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJnR5cGVvZiBTeW1ib2wuaXRlcmF0b3I9PSJzeW1ib2wiP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJnR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJmUuY29uc3RydWN0b3I9PT1TeW1ib2wmJmUhPT1TeW1ib2wucHJvdG90eXBlPyJzeW1ib2wiOnR5cGVvZiBlfSx2Ryh0KX1mdW5jdGlvbiBTMmUodCxlKXtpZih0KXtpZih0eXBlb2YgdD09InN0cmluZyIpcmV0dXJuIHoyZSh0LGUpO3ZhciBhPXt9LnRvU3RyaW5nLmNhbGwodCkuc2xpY2UoOCwtMSk7cmV0dXJuIGE9PT0iT2JqZWN0IiYmdC5jb25zdHJ1Y3RvciYmKGE9dC5jb25zdHJ1Y3Rvci5uYW1lKSxhPT09Ik1hcCJ8fGE9PT0iU2V0Ij9BcnJheS5mcm9tKHQpOmE9PT0iQXJndW1lbnRzInx8L14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QoYSk/ejJlKHQsZSk6dm9pZCAwfX1mdW5jdGlvbiB6cigpe3pyPWkoZnVuY3Rpb24ocyxuKXtyZXR1cm4gbmV3IGEocyx2b2lkIDAsbil9LCJfd3JhcFJlZ0V4cCIpO3ZhciB0PVJlZ0V4cC5wcm90b3R5cGUsZT1uZXcgV2Vha01hcDtmdW5jdGlvbiBhKHMsbixvKXt2YXIgbD1SZWdFeHAocyxuKTtyZXR1cm4gZS5zZXQobCxvfHxlLmdldChzKSksZ0cobCxhLnByb3RvdHlwZSl9aShhLCJCYWJlbFJlZ0V4cCIpO2Z1bmN0aW9uIHIocyxuKXt2YXIgbz1lLmdldChuKTtyZXR1cm4gT2JqZWN0LmtleXMobykucmVkdWNlKGZ1bmN0aW9uKGwsaCl7dmFyIHU9b1toXTtpZih0eXBlb2YgdT09Im51bWJlciIpbFtoXT1zW3VdO2Vsc2V7Zm9yKHZhciBmPTA7c1t1W2ZdXT09PXZvaWQgMCYmZisxPHUubGVuZ3RoOylmKys7bFtoXT1zW3VbZl1dfXJldHVybiBsfSxPYmplY3QuY3JlYXRlKG51bGwpKX1yZXR1cm4gaShyLCJidWlsZEdyb3VwcyIpLG1tYShhLFJlZ0V4cCksYS5wcm90b3R5cGUuZXhlYz1mdW5jdGlvbihzKXt2YXIgbj10LmV4ZWMuY2FsbCh0aGlzLHMpO2lmKG4pe24uZ3JvdXBzPXIobix0aGlzKTt2YXIgbz1uLmluZGljZXM7byYmKG8uZ3JvdXBzPXIobyx0aGlzKSl9cmV0dXJuIG59LGEucHJvdG90eXBlW1N5bWJvbC5yZXBsYWNlXT1mdW5jdGlvbihzLG4pe2lmKHR5cGVvZiBuPT0ic3RyaW5nIil7dmFyIG89ZS5nZXQodGhpcyk7cmV0dXJuIHRbU3ltYm9sLnJlcGxhY2VdLmNhbGwodGhpcyxzLG4ucmVwbGFjZSgvXCQ8KFtePl0rKSg+fCQpL2csZnVuY3Rpb24oaCx1LGYpe2lmKGY9PT0iIilyZXR1cm4gaDt2YXIgcD1vW3VdO3JldHVybiBBcnJheS5pc0FycmF5KHApPyIkIitwLmpvaW4oIiQiKTp0eXBlb2YgcD09Im51bWJlciI/IiQiK3A6IiJ9KSl9aWYodHlwZW9mIG49PSJmdW5jdGlvbiIpe3ZhciBsPXRoaXM7cmV0dXJuIHRbU3ltYm9sLnJlcGxhY2VdLmNhbGwodGhpcyxzLGZ1bmN0aW9uKCl7dmFyIGg9YXJndW1lbnRzO3JldHVybiB0eXBlb2YgaFtoLmxlbmd0aC0xXSE9Im9iamVjdCImJihoPVtdLnNsaWNlLmNhbGwoaCkpLnB1c2gocihoLGwpKSxuLmFwcGx5KHRoaXMsaCl9KX1yZXR1cm4gdFtTeW1ib2wucmVwbGFjZV0uY2FsbCh0aGlzLHMsbil9LHpyLmFwcGx5KHRoaXMsYXJndW1lbnRzKX1mdW5jdGlvbiBCZih0KXtyZXR1cm4gbmV3IFByb3h5KHQse2dldDppKGZ1bmN0aW9uKGEscil7cmV0dXJuIHIgaW4gYT9hW3JdOmFbSjFdfSwiZ2V0Iil9KX1mdW5jdGlvbiBsZ2EodCl7dmFyIGU9TmEucXVlcnlTZWxlY3Rvcigic2NyaXB0WyIrdCsiXSIpO2lmKGUpcmV0dXJuIGUuZ2V0QXR0cmlidXRlKHQpfWZ1bmN0aW9uIGNnYSh0KXtyZXR1cm4gdD09PSIiPyEwOnQ9PT0iZmFsc2UiPyExOnQ9PT0idHJ1ZSI/ITA6dH1mdW5jdGlvbiBkZ2EodCl7cmV0dXJuIHFmLnB1c2godCksZnVuY3Rpb24oKXtxZi5zcGxpY2UocWYuaW5kZXhPZih0KSwxKX19ZnVuY3Rpb24gcGdhKHQpe2lmKCEoIXR8fCFibykpe3ZhciBlPU5hLmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7ZS5zZXRBdHRyaWJ1dGUoInR5cGUiLCJ0ZXh0L2NzcyIpLGUuaW5uZXJIVE1MPXQ7Zm9yKHZhciBhPU5hLmhlYWQuY2hpbGROb2RlcyxyPW51bGwscz1hLmxlbmd0aC0xO3M+LTE7cy0tKXt2YXIgbj1hW3NdLG89KG4udGFnTmFtZXx8IiIpLnRvVXBwZXJDYXNlKCk7WyJTVFlMRSIsIkxJTksiXS5pbmRleE9mKG8pPi0xJiYocj1uKX1yZXR1cm4gTmEuaGVhZC5pbnNlcnRCZWZvcmUoZSxyKSx0fX1mdW5jdGlvbiB2ZHQoKXtmb3IodmFyIHQ9MTIsZT0iIjt0LS0gPjA7KWUrPXVnYVtNYXRoLnJhbmRvbSgpKjYyfDBdO3JldHVybiBlfWZ1bmN0aW9uIEw4KHQpe2Zvcih2YXIgZT1bXSxhPSh0fHxbXSkubGVuZ3RoPj4+MDthLS07KWVbYV09dFthXTtyZXR1cm4gZX1mdW5jdGlvbiBPMmUodCl7cmV0dXJuIHQuY2xhc3NMaXN0P0w4KHQuY2xhc3NMaXN0KToodC5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKS5zcGxpdCgiICIpLmZpbHRlcihmdW5jdGlvbihlKXtyZXR1cm4gZX0pfWZ1bmN0aW9uIHhkdCh0KXtyZXR1cm4iIi5jb25jYXQodCkucmVwbGFjZSgvJi9nLCImYW1wOyIpLnJlcGxhY2UoLyIvZywiJnF1b3Q7IikucmVwbGFjZSgvJy9nLCImIzM5OyIpLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpfWZ1bmN0aW9uIGZnYSh0KXtyZXR1cm4gT2JqZWN0LmtleXModHx8e30pLnJlZHVjZShmdW5jdGlvbihlLGEpe3JldHVybiBlKyIiLmNvbmNhdChhLCc9IicpLmNvbmNhdCh4ZHQodFthXSksJyIgJyl9LCIiKS50cmltKCl9ZnVuY3Rpb24gd0codCl7cmV0dXJuIE9iamVjdC5rZXlzKHR8fHt9KS5yZWR1Y2UoZnVuY3Rpb24oZSxhKXtyZXR1cm4gZSsiIi5jb25jYXQoYSwiOiAiKS5jb25jYXQodFthXS50cmltKCksIjsiKX0sIiIpfWZ1bmN0aW9uIEIyZSh0KXtyZXR1cm4gdC5zaXplIT09UzIuc2l6ZXx8dC54IT09UzIueHx8dC55IT09UzIueXx8dC5yb3RhdGUhPT1TMi5yb3RhdGV8fHQuZmxpcFh8fHQuZmxpcFl9ZnVuY3Rpb24gaGdhKHQpe3ZhciBlPXQudHJhbnNmb3JtLGE9dC5jb250YWluZXJXaWR0aCxyPXQuaWNvbldpZHRoLHM9e3RyYW5zZm9ybToidHJhbnNsYXRlKCIuY29uY2F0KGEvMiwiIDI1NikiKX0sbj0idHJhbnNsYXRlKCIuY29uY2F0KGUueCozMiwiLCAiKS5jb25jYXQoZS55KjMyLCIpICIpLG89InNjYWxlKCIuY29uY2F0KGUuc2l6ZS8xNiooZS5mbGlwWD8tMToxKSwiLCAiKS5jb25jYXQoZS5zaXplLzE2KihlLmZsaXBZPy0xOjEpLCIpICIpLGw9InJvdGF0ZSgiLmNvbmNhdChlLnJvdGF0ZSwiIDAgMCkiKSxoPXt0cmFuc2Zvcm06IiIuY29uY2F0KG4sIiAiKS5jb25jYXQobywiICIpLmNvbmNhdChsKX0sdT17dHJhbnNmb3JtOiJ0cmFuc2xhdGUoIi5jb25jYXQoci8yKi0xLCIgLTI1NikiKX07cmV0dXJue291dGVyOnMsaW5uZXI6aCxwYXRoOnV9fWZ1bmN0aW9uIG1nYSh0KXt2YXIgZT10LnRyYW5zZm9ybSxhPXQud2lkdGgscj1hPT09dm9pZCAwPyQyZTphLHM9dC5oZWlnaHQsbj1zPT09dm9pZCAwPyQyZTpzLG89dC5zdGFydENlbnRlcmVkLGw9bz09PXZvaWQgMD8hMTpvLGg9IiI7cmV0dXJuIGwmJk4zdD9oKz0idHJhbnNsYXRlKCIuY29uY2F0KGUueC90bC1yLzIsImVtLCAiKS5jb25jYXQoZS55L3RsLW4vMiwiZW0pICIpOmw/aCs9InRyYW5zbGF0ZShjYWxjKC01MCUgKyAiLmNvbmNhdChlLngvdGwsImVtKSwgY2FsYygtNTAlICsgIikuY29uY2F0KGUueS90bCwiZW0pKSAiKTpoKz0idHJhbnNsYXRlKCIuY29uY2F0KGUueC90bCwiZW0sICIpLmNvbmNhdChlLnkvdGwsImVtKSAiKSxoKz0ic2NhbGUoIi5jb25jYXQoZS5zaXplL3RsKihlLmZsaXBYPy0xOjEpLCIsICIpLmNvbmNhdChlLnNpemUvdGwqKGUuZmxpcFk/LTE6MSksIikgIiksaCs9InJvdGF0ZSgiLmNvbmNhdChlLnJvdGF0ZSwiZGVnKSAiKSxofWZ1bmN0aW9uIHlkdCgpe3ZhciB0PWxkdCxlPWNkdCxhPWh0LmNzc1ByZWZpeCxyPWh0LnJlcGxhY2VtZW50Q2xhc3Mscz1nZ2E7aWYoYSE9PXR8fHIhPT1lKXt2YXIgbj1uZXcgUmVnRXhwKCJcXC4iLmNvbmNhdCh0LCJcXC0iKSwiZyIpLG89bmV3IFJlZ0V4cCgiXFwtLSIuY29uY2F0KHQsIlxcLSIpLCJnIiksbD1uZXcgUmVnRXhwKCJcXC4iLmNvbmNhdChlKSwiZyIpO3M9cy5yZXBsYWNlKG4sIi4iLmNvbmNhdChhLCItIikpLnJlcGxhY2UobywiLS0iLmNvbmNhdChhLCItIikpLnJlcGxhY2UobCwiLiIuY29uY2F0KHIpKX1yZXR1cm4gc31mdW5jdGlvbiBIMmUoKXtodC5hdXRvQWRkQ3NzJiYhd2R0JiYocGdhKHlkdCgpKSx3ZHQ9ITApfWZ1bmN0aW9uIHZnYSh0KXtibyYmKE1HP3NldFRpbWVvdXQodCwwKTpNZHQucHVzaCh0KSl9ZnVuY3Rpb24gVmYodCl7dmFyIGU9dC50YWcsYT10LmF0dHJpYnV0ZXMscj1hPT09dm9pZCAwP3t9OmEscz10LmNoaWxkcmVuLG49cz09PXZvaWQgMD9bXTpzO3JldHVybiB0eXBlb2YgdD09InN0cmluZyI/eGR0KHQpOiI8Ii5jb25jYXQoZSwiICIpLmNvbmNhdChmZ2EociksIj4iKS5jb25jYXQobi5tYXAoVmYpLmpvaW4oIiIpLCI8LyIpLmNvbmNhdChlLCI+Iil9ZnVuY3Rpb24gemR0KHQsZSxhKXtpZih0JiZ0W2VdJiZ0W2VdW2FdKXJldHVybntwcmVmaXg6ZSxpY29uTmFtZTphLGljb246dFtlXVthXX19ZnVuY3Rpb24gU2R0KHQpe3JldHVybiBNcyh0KS5sZW5ndGghPT0xP251bGw6dC5jb2RlUG9pbnRBdCgwKS50b1N0cmluZygxNil9ZnVuY3Rpb24gQ2R0KHQpe3JldHVybiBPYmplY3Qua2V5cyh0KS5yZWR1Y2UoZnVuY3Rpb24oZSxhKXt2YXIgcj10W2FdLHM9ISFyLmljb247cmV0dXJuIHM/ZVtyLmljb25OYW1lXT1yLmljb246ZVthXT1yLGV9LHt9KX1mdW5jdGlvbiBWMmUodCxlKXt2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjImJmFyZ3VtZW50c1syXSE9PXZvaWQgMD9hcmd1bWVudHNbMl06e30scj1hLnNraXBIb29rcyxzPXI9PT12b2lkIDA/ITE6cixuPUNkdChlKTt0eXBlb2Yga3MuaG9va3MuYWRkUGFjaz09ImZ1bmN0aW9uIiYmIXM/a3MuaG9va3MuYWRkUGFjayh0LENkdChlKSk6a3Muc3R5bGVzW3RdPVVlKFVlKHt9LGtzLnN0eWxlc1t0XXx8e30pLG4pLHQ9PT0iZmFzIiYmVjJlKCJmYSIsZSl9ZnVuY3Rpb24gTWdhKHQpe3JldHVybn5uZ2EuaW5kZXhPZih0KX1mdW5jdGlvbiBrZ2EodCxlKXt2YXIgYT1lLnNwbGl0KCItIikscj1hWzBdLHM9YS5zbGljZSgxKS5qb2luKCItIik7cmV0dXJuIHI9PT10JiZzIT09IiImJiFNZ2Eocyk/czpudWxsfWZ1bmN0aW9uIFcyZSh0LGUpe3JldHVybihUZHRbdF18fHt9KVtlXX1mdW5jdGlvbiB6Z2EodCxlKXtyZXR1cm4oTGR0W3RdfHx7fSlbZV19ZnVuY3Rpb24gcTAodCxlKXtyZXR1cm4oQWR0W3RdfHx7fSlbZV19ZnVuY3Rpb24gRWR0KHQpe3JldHVybiAkZHRbdF18fHtwcmVmaXg6bnVsbCxpY29uTmFtZTpudWxsfX1mdW5jdGlvbiBTZ2EodCl7dmFyIGU9RGR0W3RdLGE9VzJlKCJmYXMiLHQpO3JldHVybiBlfHwoYT97cHJlZml4OiJmYXMiLGljb25OYW1lOmF9Om51bGwpfHx7cHJlZml4Om51bGwsaWNvbk5hbWU6bnVsbH19ZnVuY3Rpb24gYWwoKXtyZXR1cm4gVTJlfWZ1bmN0aW9uIENnYSh0KXt2YXIgZT1KMSxhPV9kdC5yZWR1Y2UoZnVuY3Rpb24ocixzKXtyZXR1cm4gcltzXT0iIi5jb25jYXQoaHQuY3NzUHJlZml4LCItIikuY29uY2F0KHMpLHJ9LHt9KTtyZXR1cm4gYWR0LmZvckVhY2goZnVuY3Rpb24ocil7KHQuaW5jbHVkZXMoYVtyXSl8fHQuc29tZShmdW5jdGlvbihzKXtyZXR1cm4gd2dhW3JdLmluY2x1ZGVzKHMpfSkpJiYoZT1yKX0pLGV9ZnVuY3Rpb24ga0codCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4xJiZhcmd1bWVudHNbMV0hPT12b2lkIDA/YXJndW1lbnRzWzFdOnt9LGE9ZS5mYW1pbHkscj1hPT09dm9pZCAwP0oxOmEscz1hZ2Fbcl1bdF07aWYocj09PU9mJiYhdClyZXR1cm4iZmFkIjt2YXIgbj1oZHRbcl1bdF18fGhkdFtyXVtzXSxvPXQgaW4ga3Muc3R5bGVzP3Q6bnVsbCxsPW58fG98fG51bGw7cmV0dXJuIGx9ZnVuY3Rpb24gX2dhKHQpe3ZhciBlPVtdLGE9bnVsbDtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHIpe3ZhciBzPWtnYShodC5jc3NQcmVmaXgscik7cz9hPXM6ciYmZS5wdXNoKHIpfSkse2ljb25OYW1lOmEscmVzdDplfX1mdW5jdGlvbiBOZHQodCl7cmV0dXJuIHQuc29ydCgpLmZpbHRlcihmdW5jdGlvbihlLGEscil7cmV0dXJuIHIuaW5kZXhPZihlKT09PWF9KX1mdW5jdGlvbiB6Ryh0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30sYT1lLnNraXBMb29rdXBzLHI9YT09PXZvaWQgMD8hMTphLHM9bnVsbCxuPU5kdCh0LmZpbHRlcihmdW5jdGlvbih2KXtyZXR1cm4gUmR0LmluY2x1ZGVzKHYpfSkpLG89TmR0KHQuZmlsdGVyKGZ1bmN0aW9uKHYpe3JldHVybiFSZHQuaW5jbHVkZXModil9KSksbD1uLmZpbHRlcihmdW5jdGlvbih2KXtyZXR1cm4gcz12LCFGM3QuaW5jbHVkZXModil9KSxoPWJHKGwsMSksdT1oWzBdLGY9dT09PXZvaWQgMD9udWxsOnUscD1DZ2EobiksZz1VZShVZSh7fSxfZ2EobykpLHt9LHtwcmVmaXg6a0coZix7ZmFtaWx5OnB9KX0pO3JldHVybiBVZShVZShVZSh7fSxnKSxEZ2Eoe3ZhbHVlczp0LGZhbWlseTpwLHN0eWxlczpqZixjb25maWc6aHQsY2Fub25pY2FsOmcsZ2l2ZW5QcmVmaXg6c30pKSxUZ2EocixzLGcpKX1mdW5jdGlvbiBUZ2EodCxlLGEpe3ZhciByPWEucHJlZml4LHM9YS5pY29uTmFtZTtpZih0fHwhcnx8IXMpcmV0dXJue3ByZWZpeDpyLGljb25OYW1lOnN9O3ZhciBuPWU9PT0iZmEiP0VkdChzKTp7fSxvPXEwKHIscyk7cmV0dXJuIHM9bi5pY29uTmFtZXx8b3x8cyxyPW4ucHJlZml4fHxyLHI9PT0iZmFyIiYmIWpmLmZhciYmamYuZmFzJiYhaHQuYXV0b0ZldGNoU3ZnJiYocj0iZmFzIikse3ByZWZpeDpyLGljb25OYW1lOnN9fWZ1bmN0aW9uIERnYSh0KXt2YXIgZT10LnZhbHVlcyxhPXQuZmFtaWx5LHI9dC5jYW5vbmljYWwscz10LmdpdmVuUHJlZml4LG49cz09PXZvaWQgMD8iIjpzLG89dC5zdHlsZXMsbD1vPT09dm9pZCAwP3t9Om8saD10LmNvbmZpZyx1PWg9PT12b2lkIDA/e306aCxmPWE9PT1PZixwPWUuaW5jbHVkZXMoImZhLWR1b3RvbmUiKXx8ZS5pbmNsdWRlcygiZmFkIiksZz11LmZhbWlseURlZmF1bHQ9PT0iZHVvdG9uZSIsdj1yLnByZWZpeD09PSJmYWQifHxyLnByZWZpeD09PSJmYS1kdW90b25lIjtpZighZiYmKHB8fGd8fHYpJiYoci5wcmVmaXg9ImZhZCIpLChlLmluY2x1ZGVzKCJmYS1icmFuZHMiKXx8ZS5pbmNsdWRlcygiZmFiIikpJiYoci5wcmVmaXg9ImZhYiIpLCFyLnByZWZpeCYmTGdhLmluY2x1ZGVzKGEpKXt2YXIgeD1PYmplY3Qua2V5cyhsKS5maW5kKGZ1bmN0aW9uKG0pe3JldHVybiAkZ2EuaW5jbHVkZXMobSl9KTtpZih4fHx1LmF1dG9GZXRjaFN2Zyl7dmFyIGI9V21hLmdldChhKS5kZWZhdWx0U2hvcnRQcmVmaXhJZDtyLnByZWZpeD1iLHIuaWNvbk5hbWU9cTAoci5wcmVmaXgsci5pY29uTmFtZSl8fHIuaWNvbk5hbWV9fXJldHVybihyLnByZWZpeD09PSJmYSJ8fG49PT0iZmEiKSYmKHIucHJlZml4PWFsKCl8fCJmYXMiKSxyfWZ1bmN0aW9uIEVnYSh0LGUpe3ZhciBhPWUubWl4b3V0c1RvO3JldHVybiBGZHQ9dCwkOD17fSxPYmplY3Qua2V5cyhEOCkuZm9yRWFjaChmdW5jdGlvbihyKXtQZ2EuaW5kZXhPZihyKT09PS0xJiZkZWxldGUgRDhbcl19KSxGZHQuZm9yRWFjaChmdW5jdGlvbihyKXt2YXIgcz1yLm1peG91dD9yLm1peG91dCgpOnt9O2lmKE9iamVjdC5rZXlzKHMpLmZvckVhY2goZnVuY3Rpb24obyl7dHlwZW9mIHNbb109PSJmdW5jdGlvbiImJihhW29dPXNbb10pLHZHKHNbb10pPT09Im9iamVjdCImJk9iamVjdC5rZXlzKHNbb10pLmZvckVhY2goZnVuY3Rpb24obCl7YVtvXXx8KGFbb109e30pLGFbb11bbF09c1tvXVtsXX0pfSksci5ob29rcyl7dmFyIG49ci5ob29rcygpO09iamVjdC5rZXlzKG4pLmZvckVhY2goZnVuY3Rpb24obyl7JDhbb118fCgkOFtvXT1bXSksJDhbb10ucHVzaChuW29dKX0pfXIucHJvdmlkZXMmJnIucHJvdmlkZXMoRDgpfSksYX1mdW5jdGlvbiBHMmUodCxlKXtmb3IodmFyIGE9YXJndW1lbnRzLmxlbmd0aCxyPW5ldyBBcnJheShhPjI/YS0yOjApLHM9MjtzPGE7cysrKXJbcy0yXT1hcmd1bWVudHNbc107dmFyIG49JDhbdF18fFtdO3JldHVybiBuLmZvckVhY2goZnVuY3Rpb24obyl7ZT1vLmFwcGx5KG51bGwsW2VdLmNvbmNhdChyKSl9KSxlfWZ1bmN0aW9uIFYwKHQpe2Zvcih2YXIgZT1hcmd1bWVudHMubGVuZ3RoLGE9bmV3IEFycmF5KGU+MT9lLTE6MCkscj0xO3I8ZTtyKyspYVtyLTFdPWFyZ3VtZW50c1tyXTt2YXIgcz0kOFt0XXx8W107cy5mb3JFYWNoKGZ1bmN0aW9uKG4pe24uYXBwbHkobnVsbCxhKX0pfWZ1bmN0aW9uIHJsKCl7dmFyIHQ9YXJndW1lbnRzWzBdLGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiBEOFt0XT9EOFt0XS5hcHBseShudWxsLGUpOnZvaWQgMH1mdW5jdGlvbiBZMmUodCl7dC5wcmVmaXg9PT0iZmEiJiYodC5wcmVmaXg9ImZhcyIpO3ZhciBlPXQuaWNvbk5hbWUsYT10LnByZWZpeHx8YWwoKTtpZihlKXJldHVybiBlPXEwKGEsZSl8fGUsemR0KE9kdC5kZWZpbml0aW9ucyxhLGUpfHx6ZHQoa3Muc3R5bGVzLGEsZSl9ZnVuY3Rpb24gU0codCxlKXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsImFic3RyYWN0Iix7Z2V0OmV9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiaHRtbCIse2dldDppKGZ1bmN0aW9uKCl7cmV0dXJuIHQuYWJzdHJhY3QubWFwKGZ1bmN0aW9uKHIpe3JldHVybiBWZihyKX0pfSwiZ2V0Iil9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwibm9kZSIse2dldDppKGZ1bmN0aW9uKCl7aWYoYm8pe3ZhciByPU5hLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiByLmlubmVySFRNTD10Lmh0bWwsci5jaGlsZHJlbn19LCJnZXQiKX0pLHR9ZnVuY3Rpb24gT2dhKHQpe3ZhciBlPXQuY2hpbGRyZW4sYT10Lm1haW4scj10Lm1hc2sscz10LmF0dHJpYnV0ZXMsbj10LnN0eWxlcyxvPXQudHJhbnNmb3JtO2lmKEIyZShvKSYmYS5mb3VuZCYmIXIuZm91bmQpe3ZhciBsPWEud2lkdGgsaD1hLmhlaWdodCx1PXt4OmwvaC8yLHk6LjV9O3Muc3R5bGU9d0coVWUoVWUoe30sbikse30seyJ0cmFuc2Zvcm0tb3JpZ2luIjoiIi5jb25jYXQodS54K28ueC8xNiwiZW0gIikuY29uY2F0KHUueStvLnkvMTYsImVtIil9KSl9cmV0dXJuW3t0YWc6InN2ZyIsYXR0cmlidXRlczpzLGNoaWxkcmVuOmV9XX1mdW5jdGlvbiBCZ2EodCl7dmFyIGU9dC5wcmVmaXgsYT10Lmljb25OYW1lLHI9dC5jaGlsZHJlbixzPXQuYXR0cmlidXRlcyxuPXQuc3ltYm9sLG89bj09PSEwPyIiLmNvbmNhdChlLCItIikuY29uY2F0KGh0LmNzc1ByZWZpeCwiLSIpLmNvbmNhdChhKTpuO3JldHVyblt7dGFnOiJzdmciLGF0dHJpYnV0ZXM6e3N0eWxlOiJkaXNwbGF5OiBub25lOyJ9LGNoaWxkcmVuOlt7dGFnOiJzeW1ib2wiLGF0dHJpYnV0ZXM6VWUoVWUoe30scykse30se2lkOm99KSxjaGlsZHJlbjpyfV19XX1mdW5jdGlvbiBIZ2EodCl7dmFyIGU9WyJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwidGl0bGUiLCJyb2xlIl07cmV0dXJuIGUuc29tZShmdW5jdGlvbihhKXtyZXR1cm4gYSBpbiB0fSl9ZnVuY3Rpb24gWjJlKHQpe3ZhciBlPXQuaWNvbnMsYT1lLm1haW4scj1lLm1hc2sscz10LnByZWZpeCxuPXQuaWNvbk5hbWUsbz10LnRyYW5zZm9ybSxsPXQuc3ltYm9sLGg9dC5tYXNrSWQsdT10LmV4dHJhLGY9dC53YXRjaGFibGUscD1mPT09dm9pZCAwPyExOmYsZz1yLmZvdW5kP3I6YSx2PWcud2lkdGgseD1nLmhlaWdodCxiPVtodC5yZXBsYWNlbWVudENsYXNzLG4/IiIuY29uY2F0KGh0LmNzc1ByZWZpeCwiLSIpLmNvbmNhdChuKToiIl0uZmlsdGVyKGZ1bmN0aW9uKF8pe3JldHVybiB1LmNsYXNzZXMuaW5kZXhPZihfKT09PS0xfSkuZmlsdGVyKGZ1bmN0aW9uKF8pe3JldHVybiBfIT09IiJ8fCEhX30pLmNvbmNhdCh1LmNsYXNzZXMpLmpvaW4oIiAiKSxtPXtjaGlsZHJlbjpbXSxhdHRyaWJ1dGVzOlVlKFVlKHt9LHUuYXR0cmlidXRlcykse30seyJkYXRhLXByZWZpeCI6cywiZGF0YS1pY29uIjpuLGNsYXNzOmIscm9sZTp1LmF0dHJpYnV0ZXMucm9sZXx8ImltZyIsdmlld0JveDoiMCAwICIuY29uY2F0KHYsIiAiKS5jb25jYXQoeCl9KX07IUhnYSh1LmF0dHJpYnV0ZXMpJiYhdS5hdHRyaWJ1dGVzWyJhcmlhLWhpZGRlbiJdJiYobS5hdHRyaWJ1dGVzWyJhcmlhLWhpZGRlbiJdPSJ0cnVlIikscCYmKG0uYXR0cmlidXRlc1tIMF09IiIpO3ZhciB5PVVlKFVlKHt9LG0pLHt9LHtwcmVmaXg6cyxpY29uTmFtZTpuLG1haW46YSxtYXNrOnIsbWFza0lkOmgsdHJhbnNmb3JtOm8sc3ltYm9sOmwsc3R5bGVzOlVlKHt9LHUuc3R5bGVzKX0pLE09ci5mb3VuZCYmYS5mb3VuZD9ybCgiZ2VuZXJhdGVBYnN0cmFjdE1hc2siLHkpfHx7Y2hpbGRyZW46W10sYXR0cmlidXRlczp7fX06cmwoImdlbmVyYXRlQWJzdHJhY3RJY29uIix5KXx8e2NoaWxkcmVuOltdLGF0dHJpYnV0ZXM6e319LGs9TS5jaGlsZHJlbixFPU0uYXR0cmlidXRlcztyZXR1cm4geS5jaGlsZHJlbj1rLHkuYXR0cmlidXRlcz1FLGw/QmdhKHkpOk9nYSh5KX1mdW5jdGlvbiBCZHQodCl7dmFyIGU9dC5jb250ZW50LGE9dC53aWR0aCxyPXQuaGVpZ2h0LHM9dC50cmFuc2Zvcm0sbj10LmV4dHJhLG89dC53YXRjaGFibGUsbD1vPT09dm9pZCAwPyExOm8saD1VZShVZSh7fSxuLmF0dHJpYnV0ZXMpLHt9LHtjbGFzczpuLmNsYXNzZXMuam9pbigiICIpfSk7bCYmKGhbSDBdPSIiKTt2YXIgdT1VZSh7fSxuLnN0eWxlcyk7QjJlKHMpJiYodS50cmFuc2Zvcm09bWdhKHt0cmFuc2Zvcm06cyxzdGFydENlbnRlcmVkOiEwLHdpZHRoOmEsaGVpZ2h0OnJ9KSx1WyItd2Via2l0LXRyYW5zZm9ybSJdPXUudHJhbnNmb3JtKTt2YXIgZj13Ryh1KTtmLmxlbmd0aD4wJiYoaC5zdHlsZT1mKTt2YXIgcD1bXTtyZXR1cm4gcC5wdXNoKHt0YWc6InNwYW4iLGF0dHJpYnV0ZXM6aCxjaGlsZHJlbjpbZV19KSxwfWZ1bmN0aW9uIHFnYSh0KXt2YXIgZT10LmNvbnRlbnQsYT10LmV4dHJhLHI9VWUoVWUoe30sYS5hdHRyaWJ1dGVzKSx7fSx7Y2xhc3M6YS5jbGFzc2VzLmpvaW4oIiAiKX0pLHM9d0coYS5zdHlsZXMpO3MubGVuZ3RoPjAmJihyLnN0eWxlPXMpO3ZhciBuPVtdO3JldHVybiBuLnB1c2goe3RhZzoic3BhbiIsYXR0cmlidXRlczpyLGNoaWxkcmVuOltlXX0pLG59ZnVuY3Rpb24gSzJlKHQpe3ZhciBlPXRbMF0sYT10WzFdLHI9dC5zbGljZSg0KSxzPWJHKHIsMSksbj1zWzBdLG89bnVsbDtyZXR1cm4gQXJyYXkuaXNBcnJheShuKT9vPXt0YWc6ImciLGF0dHJpYnV0ZXM6e2NsYXNzOiIiLmNvbmNhdChodC5jc3NQcmVmaXgsIi0iKS5jb25jYXQoRjJlLkdST1VQKX0sY2hpbGRyZW46W3t0YWc6InBhdGgiLGF0dHJpYnV0ZXM6e2NsYXNzOiIiLmNvbmNhdChodC5jc3NQcmVmaXgsIi0iKS5jb25jYXQoRjJlLlNFQ09OREFSWSksZmlsbDoiY3VycmVudENvbG9yIixkOm5bMF19fSx7dGFnOiJwYXRoIixhdHRyaWJ1dGVzOntjbGFzczoiIi5jb25jYXQoaHQuY3NzUHJlZml4LCItIikuY29uY2F0KEYyZS5QUklNQVJZKSxmaWxsOiJjdXJyZW50Q29sb3IiLGQ6blsxXX19XX06bz17dGFnOiJwYXRoIixhdHRyaWJ1dGVzOntmaWxsOiJjdXJyZW50Q29sb3IiLGQ6bn19LHtmb3VuZDohMCx3aWR0aDplLGhlaWdodDphLGljb246b319ZnVuY3Rpb24gamdhKHQsZSl7IXVkdCYmIWh0LnNob3dNaXNzaW5nSWNvbnMmJnQmJmNvbnNvbGUuZXJyb3IoJ0ljb24gd2l0aCBuYW1lICInLmNvbmNhdCh0LCciIGFuZCBwcmVmaXggIicpLmNvbmNhdChlLCciIGlzIG1pc3NpbmcuJykpfWZ1bmN0aW9uIFEyZSh0LGUpe3ZhciBhPWU7cmV0dXJuIGU9PT0iZmEiJiZodC5zdHlsZURlZmF1bHQhPT1udWxsJiYoZT1hbCgpKSxuZXcgUHJvbWlzZShmdW5jdGlvbihyLHMpe2lmKGE9PT0iZmEiKXt2YXIgbj1FZHQodCl8fHt9O3Q9bi5pY29uTmFtZXx8dCxlPW4ucHJlZml4fHxlfWlmKHQmJmUmJlgyZVtlXSYmWDJlW2VdW3RdKXt2YXIgbz1YMmVbZV1bdF07cmV0dXJuIHIoSzJlKG8pKX1qZ2EodCxlKSxyKFVlKFVlKHt9LFZnYSkse30se2ljb246aHQuc2hvd01pc3NpbmdJY29ucyYmdD9ybCgibWlzc2luZ0ljb25BYnN0cmFjdCIpfHx7fTp7fX0pKX0pfWZ1bmN0aW9uIFZkdCh0KXt2YXIgZT10LmdldEF0dHJpYnV0ZT90LmdldEF0dHJpYnV0ZShIMCk6bnVsbDtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmcifWZ1bmN0aW9uIFdnYSh0KXt2YXIgZT10LmdldEF0dHJpYnV0ZT90LmdldEF0dHJpYnV0ZShBMmUpOm51bGwsYT10LmdldEF0dHJpYnV0ZT90LmdldEF0dHJpYnV0ZShQMmUpOm51bGw7cmV0dXJuIGUmJmF9ZnVuY3Rpb24gR2dhKHQpe3JldHVybiB0JiZ0LmNsYXNzTGlzdCYmdC5jbGFzc0xpc3QuY29udGFpbnMmJnQuY2xhc3NMaXN0LmNvbnRhaW5zKGh0LnJlcGxhY2VtZW50Q2xhc3MpfWZ1bmN0aW9uIFlnYSgpe2lmKGh0LmF1dG9SZXBsYWNlU3ZnPT09ITApcmV0dXJuIF9HLnJlcGxhY2U7dmFyIHQ9X0dbaHQuYXV0b1JlcGxhY2VTdmddO3JldHVybiB0fHxfRy5yZXBsYWNlfWZ1bmN0aW9uIFpnYSh0KXtyZXR1cm4gTmEuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdCl9ZnVuY3Rpb24gWGdhKHQpe3JldHVybiBOYS5jcmVhdGVFbGVtZW50KHQpfWZ1bmN0aW9uIGpkdCh0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30sYT1lLmNlRm4scj1hPT09dm9pZCAwP3QudGFnPT09InN2ZyI/WmdhOlhnYTphO2lmKHR5cGVvZiB0PT0ic3RyaW5nIilyZXR1cm4gTmEuY3JlYXRlVGV4dE5vZGUodCk7dmFyIHM9cih0LnRhZyk7T2JqZWN0LmtleXModC5hdHRyaWJ1dGVzfHxbXSkuZm9yRWFjaChmdW5jdGlvbihvKXtzLnNldEF0dHJpYnV0ZShvLHQuYXR0cmlidXRlc1tvXSl9KTt2YXIgbj10LmNoaWxkcmVufHxbXTtyZXR1cm4gbi5mb3JFYWNoKGZ1bmN0aW9uKG8pe3MuYXBwZW5kQ2hpbGQoamR0KG8se2NlRm46cn0pKX0pLHN9ZnVuY3Rpb24gS2dhKHQpe3ZhciBlPSIgIi5jb25jYXQodC5vdXRlckhUTUwsIiAiKTtyZXR1cm4gZT0iIi5jb25jYXQoZSwiRm9udCBBd2Vzb21lIGZvbnRhd2Vzb21lLmNvbSAiKSxlfWZ1bmN0aW9uIFVkdCh0KXt0KCl9ZnVuY3Rpb24gV2R0KHQsZSl7dmFyIGE9dHlwZW9mIGU9PSJmdW5jdGlvbiI/ZTpDRztpZih0Lmxlbmd0aD09PTApYSgpO2Vsc2V7dmFyIHI9VWR0O2h0Lm11dGF0ZUFwcHJvYWNoPT09ZWdhJiYocj1lbC5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fFVkdCkscihmdW5jdGlvbigpe3ZhciBzPVlnYSgpLG49ZW9lLmJlZ2luKCJtdXRhdGUiKTt0Lm1hcChzKSxuKCksYSgpfSl9fWZ1bmN0aW9uIEdkdCgpe3RvZT0hMH1mdW5jdGlvbiBhb2UoKXt0b2U9ITF9ZnVuY3Rpb24gWWR0KHQpe2lmKEkzdCYmaHQub2JzZXJ2ZU11dGF0aW9ucyl7dmFyIGU9dC50cmVlQ2FsbGJhY2ssYT1lPT09dm9pZCAwP0NHOmUscj10Lm5vZGVDYWxsYmFjayxzPXI9PT12b2lkIDA/Q0c6cixuPXQucHNldWRvRWxlbWVudHNDYWxsYmFjayxvPW49PT12b2lkIDA/Q0c6bixsPXQub2JzZXJ2ZU11dGF0aW9uc1Jvb3QsaD1sPT09dm9pZCAwP05hOmw7VEc9bmV3IEkzdChmdW5jdGlvbih1KXtpZighdG9lKXt2YXIgZj1hbCgpO0w4KHUpLmZvckVhY2goZnVuY3Rpb24ocCl7aWYocC50eXBlPT09ImNoaWxkTGlzdCImJnAuYWRkZWROb2Rlcy5sZW5ndGg+MCYmIVZkdChwLmFkZGVkTm9kZXNbMF0pJiYoaHQuc2VhcmNoUHNldWRvRWxlbWVudHMmJm8ocC50YXJnZXQpLGEocC50YXJnZXQpKSxwLnR5cGU9PT0iYXR0cmlidXRlcyImJnAudGFyZ2V0LnBhcmVudE5vZGUmJmh0LnNlYXJjaFBzZXVkb0VsZW1lbnRzJiZvKFtwLnRhcmdldF0sITApLHAudHlwZT09PSJhdHRyaWJ1dGVzIiYmVmR0KHAudGFyZ2V0KSYmfm9nYS5pbmRleE9mKHAuYXR0cmlidXRlTmFtZSkpaWYocC5hdHRyaWJ1dGVOYW1lPT09ImNsYXNzIiYmV2dhKHAudGFyZ2V0KSl7dmFyIGc9ekcoTzJlKHAudGFyZ2V0KSksdj1nLnByZWZpeCx4PWcuaWNvbk5hbWU7cC50YXJnZXQuc2V0QXR0cmlidXRlKEEyZSx2fHxmKSx4JiZwLnRhcmdldC5zZXRBdHRyaWJ1dGUoUDJlLHgpfWVsc2UgR2dhKHAudGFyZ2V0KSYmcyhwLnRhcmdldCl9KX19KSxibyYmVEcub2JzZXJ2ZShoLHtjaGlsZExpc3Q6ITAsYXR0cmlidXRlczohMCxjaGFyYWN0ZXJEYXRhOiEwLHN1YnRyZWU6ITB9KX19ZnVuY3Rpb24gUWdhKCl7VEcmJlRHLmRpc2Nvbm5lY3QoKX1mdW5jdGlvbiBKZ2EodCl7dmFyIGU9dC5nZXRBdHRyaWJ1dGUoInN0eWxlIiksYT1bXTtyZXR1cm4gZSYmKGE9ZS5zcGxpdCgiOyIpLnJlZHVjZShmdW5jdGlvbihyLHMpe3ZhciBuPXMuc3BsaXQoIjoiKSxvPW5bMF0sbD1uLnNsaWNlKDEpO3JldHVybiBvJiZsLmxlbmd0aD4wJiYocltvXT1sLmpvaW4oIjoiKS50cmltKCkpLHJ9LHt9KSksYX1mdW5jdGlvbiBlYmEodCl7dmFyIGU9dC5nZXRBdHRyaWJ1dGUoImRhdGEtcHJlZml4IiksYT10LmdldEF0dHJpYnV0ZSgiZGF0YS1pY29uIikscj10LmlubmVyVGV4dCE9PXZvaWQgMD90LmlubmVyVGV4dC50cmltKCk6IiIscz16RyhPMmUodCkpO3JldHVybiBzLnByZWZpeHx8KHMucHJlZml4PWFsKCkpLGUmJmEmJihzLnByZWZpeD1lLHMuaWNvbk5hbWU9YSkscy5pY29uTmFtZSYmcy5wcmVmaXh8fChzLnByZWZpeCYmci5sZW5ndGg+MCYmKHMuaWNvbk5hbWU9emdhKHMucHJlZml4LHQuaW5uZXJUZXh0KXx8VzJlKHMucHJlZml4LFNkdCh0LmlubmVyVGV4dCkpKSwhcy5pY29uTmFtZSYmaHQuYXV0b0ZldGNoU3ZnJiZ0LmZpcnN0Q2hpbGQmJnQuZmlyc3RDaGlsZC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYocy5pY29uTmFtZT10LmZpcnN0Q2hpbGQuZGF0YSkpLHN9ZnVuY3Rpb24gdGJhKHQpe3ZhciBlPUw4KHQuYXR0cmlidXRlcykucmVkdWNlKGZ1bmN0aW9uKGEscil7cmV0dXJuIGEubmFtZSE9PSJjbGFzcyImJmEubmFtZSE9PSJzdHlsZSImJihhW3IubmFtZV09ci52YWx1ZSksYX0se30pO3JldHVybiBlfWZ1bmN0aW9uIGFiYSgpe3JldHVybntpY29uTmFtZTpudWxsLHByZWZpeDpudWxsLHRyYW5zZm9ybTpTMixzeW1ib2w6ITEsbWFzazp7aWNvbk5hbWU6bnVsbCxwcmVmaXg6bnVsbCxyZXN0OltdfSxtYXNrSWQ6bnVsbCxleHRyYTp7Y2xhc3NlczpbXSxzdHlsZXM6e30sYXR0cmlidXRlczp7fX19fWZ1bmN0aW9uIFpkdCh0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e3N0eWxlUGFyc2VyOiEwfSxhPWViYSh0KSxyPWEuaWNvbk5hbWUscz1hLnByZWZpeCxuPWEucmVzdCxvPXRiYSh0KSxsPUcyZSgicGFyc2VOb2RlQXR0cmlidXRlcyIse30sdCksaD1lLnN0eWxlUGFyc2VyP0pnYSh0KTpbXTtyZXR1cm4gVWUoe2ljb25OYW1lOnIscHJlZml4OnMsdHJhbnNmb3JtOlMyLG1hc2s6e2ljb25OYW1lOm51bGwscHJlZml4Om51bGwscmVzdDpbXX0sbWFza0lkOm51bGwsc3ltYm9sOiExLGV4dHJhOntjbGFzc2VzOm4sc3R5bGVzOmgsYXR0cmlidXRlczpvfX0sbCl9ZnVuY3Rpb24gWGR0KHQpe3ZhciBlPWh0LmF1dG9SZXBsYWNlU3ZnPT09Im5lc3QiP1pkdCh0LHtzdHlsZVBhcnNlcjohMX0pOlpkdCh0KTtyZXR1cm5+ZS5leHRyYS5jbGFzc2VzLmluZGV4T2YobWR0KT9ybCgiZ2VuZXJhdGVMYXllcnNUZXh0Iix0LGUpOnJsKCJnZW5lcmF0ZVN2Z1JlcGxhY2VtZW50TXV0YXRpb24iLHQsZSl9ZnVuY3Rpb24gaWJhKCl7cmV0dXJuW10uY29uY2F0KE1zKHJkdCksTXMob2R0KSl9ZnVuY3Rpb24gS2R0KHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTpudWxsO2lmKCFibylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7dmFyIGE9TmEuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdCxyPWkoZnVuY3Rpb24ocCl7cmV0dXJuIGEuYWRkKCIiLmNvbmNhdChkZHQsIi0iKS5jb25jYXQocCkpfSwiaGNsQWRkIikscz1pKGZ1bmN0aW9uKHApe3JldHVybiBhLnJlbW92ZSgiIi5jb25jYXQoZGR0LCItIikuY29uY2F0KHApKX0sImhjbFJlbW92ZSIpLG49aHQuYXV0b0ZldGNoU3ZnP2liYSgpOkYzdC5jb25jYXQoT2JqZWN0LmtleXMocmJhKSk7bi5pbmNsdWRlcygiZmEiKXx8bi5wdXNoKCJmYSIpO3ZhciBvPVsiLiIuY29uY2F0KG1kdCwiOm5vdChbIikuY29uY2F0KEgwLCJdKSIpXS5jb25jYXQobi5tYXAoZnVuY3Rpb24oZil7cmV0dXJuIi4iLmNvbmNhdChmLCI6bm90KFsiKS5jb25jYXQoSDAsIl0pIil9KSkuam9pbigiLCAiKTtpZihvLmxlbmd0aD09PTApcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO3ZhciBsPVtdO3RyeXtsPUw4KHQucXVlcnlTZWxlY3RvckFsbChvKSl9Y2F0Y2h7fWlmKGwubGVuZ3RoPjApcigicGVuZGluZyIpLHMoImNvbXBsZXRlIik7ZWxzZSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7dmFyIGg9ZW9lLmJlZ2luKCJvblRyZWUiKSx1PWwucmVkdWNlKGZ1bmN0aW9uKGYscCl7dHJ5e3ZhciBnPVhkdChwKTtnJiZmLnB1c2goZyl9Y2F0Y2godil7dWR0fHx2Lm5hbWU9PT0iTWlzc2luZ0ljb24iJiZjb25zb2xlLmVycm9yKHYpfXJldHVybiBmfSxbXSk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGYscCl7UHJvbWlzZS5hbGwodSkudGhlbihmdW5jdGlvbihnKXtXZHQoZyxmdW5jdGlvbigpe3IoImFjdGl2ZSIpLHIoImNvbXBsZXRlIikscygicGVuZGluZyIpLHR5cGVvZiBlPT0iZnVuY3Rpb24iJiZlKCksaCgpLGYoKX0pfSkuY2F0Y2goZnVuY3Rpb24oZyl7aCgpLHAoZyl9KX0pfWZ1bmN0aW9uIHNiYSh0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06bnVsbDtYZHQodCkudGhlbihmdW5jdGlvbihhKXthJiZXZHQoW2FdLGUpfSl9ZnVuY3Rpb24gb2JhKHQpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgYT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30scj0oZXx8e30pLmljb24/ZTpZMmUoZXx8e30pLHM9YS5tYXNrO3JldHVybiBzJiYocz0oc3x8e30pLmljb24/czpZMmUoc3x8e30pKSx0KHIsVWUoVWUoe30sYSkse30se21hc2s6c30pKX19ZnVuY3Rpb24gZmJhKHQpe3ZhciBlPXQucmVwbGFjZShRZHQsIiIpO3JldHVybiBTZHQoTXMoZSlbMF18fCIiKX1mdW5jdGlvbiBoYmEodCl7dmFyIGU9dC5nZXRQcm9wZXJ0eVZhbHVlKCJmb250LWZlYXR1cmUtc2V0dGluZ3MiKS5pbmNsdWRlcygic3MwMSIpLGE9dC5nZXRQcm9wZXJ0eVZhbHVlKCJjb250ZW50Iikscj1hLnJlcGxhY2UoUWR0LCIiKSxzPXIuY29kZVBvaW50QXQoMCksbj1zPj1KZHRbMF0mJnM8PUpkdFsxXSxvPXIubGVuZ3RoPT09Mj9yWzBdPT09clsxXTohMTtyZXR1cm4gbnx8b3x8ZX1mdW5jdGlvbiBtYmEodCxlKXt2YXIgYT10LnJlcGxhY2UoL15bJyJdfFsnIl0kL2csIiIpLnRvTG93ZXJDYXNlKCkscj1wYXJzZUludChlKSxzPWlzTmFOKHIpPyJub3JtYWwiOnI7cmV0dXJuKHJvZVthXXx8e30pW3NdfHx1YmFbYV19ZnVuY3Rpb24gdDZ0KHQsZSl7dmFyIGE9IiIuY29uY2F0KEo5YSkuY29uY2F0KGUucmVwbGFjZSgiOiIsIi0iKSk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHIscyl7aWYodC5nZXRBdHRyaWJ1dGUoYSkhPT1udWxsKXJldHVybiByKCk7dmFyIG49TDgodC5jaGlsZHJlbiksbz1uLmZpbHRlcihmdW5jdGlvbihDKXtyZXR1cm4gQy5nZXRBdHRyaWJ1dGUoRDJlKT09PWV9KVswXSxsPWVsLmdldENvbXB1dGVkU3R5bGUodCxlKSxoPWwuZ2V0UHJvcGVydHlWYWx1ZSgiZm9udC1mYW1pbHkiKSx1PWgubWF0Y2goaWdhKSxmPWwuZ2V0UHJvcGVydHlWYWx1ZSgiZm9udC13ZWlnaHQiKSxwPWwuZ2V0UHJvcGVydHlWYWx1ZSgiY29udGVudCIpO2lmKG8mJiF1KXJldHVybiB0LnJlbW92ZUNoaWxkKG8pLHIoKTtpZih1JiZwIT09Im5vbmUiJiZwIT09IiIpe3ZhciBnPWwuZ2V0UHJvcGVydHlWYWx1ZSgiY29udGVudCIpLHY9bWJhKGgsZikseD1mYmEoZyksYj11WzBdLnN0YXJ0c1dpdGgoIkZvbnRBd2Vzb21lIiksbT1oYmEobCkseT1XMmUodix4KSxNPXk7aWYoYil7dmFyIGs9U2dhKHgpO2suaWNvbk5hbWUmJmsucHJlZml4JiYoeT1rLmljb25OYW1lLHY9ay5wcmVmaXgpfWlmKHkmJiFtJiYoIW98fG8uZ2V0QXR0cmlidXRlKEEyZSkhPT12fHxvLmdldEF0dHJpYnV0ZShQMmUpIT09TSkpe3Quc2V0QXR0cmlidXRlKGEsTSksbyYmdC5yZW1vdmVDaGlsZChvKTt2YXIgRT1hYmEoKSxfPUUuZXh0cmE7Xy5hdHRyaWJ1dGVzW0QyZV09ZSxRMmUoeSx2KS50aGVuKGZ1bmN0aW9uKEMpe3ZhciBOPVoyZShVZShVZSh7fSxFKSx7fSx7aWNvbnM6e21haW46QyxtYXNrOklkdCgpfSxwcmVmaXg6dixpY29uTmFtZTpNLGV4dHJhOl8sd2F0Y2hhYmxlOiEwfSkpLCQ9TmEuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInN2ZyIpO2U9PT0iOjpiZWZvcmUiP3QuaW5zZXJ0QmVmb3JlKCQsdC5maXJzdENoaWxkKTp0LmFwcGVuZENoaWxkKCQpLCQub3V0ZXJIVE1MPU4ubWFwKGZ1bmN0aW9uKEkpe3JldHVybiBWZihJKX0pLmpvaW4oYApgKSx0LnJlbW92ZUF0dHJpYnV0ZShhKSxyKCl9KS5jYXRjaChzKX1lbHNlIHIoKX1lbHNlIHIoKX0pfWZ1bmN0aW9uIGdiYSh0KXtyZXR1cm4gUHJvbWlzZS5hbGwoW3Q2dCh0LCI6OmJlZm9yZSIpLHQ2dCh0LCI6OmFmdGVyIildKX1mdW5jdGlvbiBiYmEodCl7cmV0dXJuIHQucGFyZW50Tm9kZSE9PWRvY3VtZW50LmhlYWQmJiF+dGdhLmluZGV4T2YodC50YWdOYW1lLnRvVXBwZXJDYXNlKCkpJiYhdC5nZXRBdHRyaWJ1dGUoRDJlKSYmKCF0LnBhcmVudE5vZGV8fHQucGFyZW50Tm9kZS50YWdOYW1lIT09InN2ZyIpfWZ1bmN0aW9uIGE2dCh0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06ITE7aWYoYm8pe3ZhciBhO2lmKGUpYT10O2Vsc2UgaWYoaHQuc2VhcmNoUHNldWRvRWxlbWVudHNGdWxsU2NhbilhPXQucXVlcnlTZWxlY3RvckFsbCgiKiIpO2Vsc2V7dmFyIHI9bmV3IFNldCxzPW1HKGRvY3VtZW50LnN0eWxlU2hlZXRzKSxuO3RyeXtmb3Iocy5zKCk7IShuPXMubigpKS5kb25lOyl7dmFyIG89bi52YWx1ZTt0cnl7dmFyIGw9bUcoby5jc3NSdWxlcyksaDt0cnl7Zm9yKGwucygpOyEoaD1sLm4oKSkuZG9uZTspe3ZhciB1PWgudmFsdWUsZj14YmEodS5zZWxlY3RvclRleHQpLHA9bUcoZiksZzt0cnl7Zm9yKHAucygpOyEoZz1wLm4oKSkuZG9uZTspe3ZhciB2PWcudmFsdWU7ci5hZGQodil9fWNhdGNoKGIpe3AuZShiKX1maW5hbGx5e3AuZigpfX19Y2F0Y2goYil7bC5lKGIpfWZpbmFsbHl7bC5mKCl9fWNhdGNoKGIpe2h0LnNlYXJjaFBzZXVkb0VsZW1lbnRzV2FybmluZ3MmJmNvbnNvbGUud2FybigiRm9udCBBd2Vzb21lOiBjYW5ub3QgcGFyc2Ugc3R5bGVzaGVldDogIi5jb25jYXQoby5ocmVmLCIgKCIpLmNvbmNhdChiLm1lc3NhZ2UsYCkKSWYgaXQgZGVjbGFyZXMgYW55IEZvbnQgQXdlc29tZSBDU1MgcHNldWRvLWVsZW1lbnRzLCB0aGV5IHdpbGwgbm90IGJlIHJlbmRlcmVkIGFzIFNWRyBpY29ucy4gQWRkIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHRvIHRoZSA8bGluaz4sIGVuYWJsZSBzZWFyY2hQc2V1ZG9FbGVtZW50c0Z1bGxTY2FuIGZvciBzbG93ZXIgYnV0IG1vcmUgdGhvcm91Z2ggRE9NIHBhcnNpbmcsIG9yIHN1cHByZXNzIHRoaXMgd2FybmluZyBieSBzZXR0aW5nIHNlYXJjaFBzZXVkb0VsZW1lbnRzV2FybmluZ3MgdG8gZmFsc2UuYCkpfX19Y2F0Y2goYil7cy5lKGIpfWZpbmFsbHl7cy5mKCl9aWYoIXIuc2l6ZSlyZXR1cm47dmFyIHg9QXJyYXkuZnJvbShyKS5qb2luKCIsICIpO3RyeXthPXQucXVlcnlTZWxlY3RvckFsbCh4KX1jYXRjaHt9fXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihiLG0pe3ZhciB5PUw4KGEpLmZpbHRlcihiYmEpLm1hcChnYmEpLE09ZW9lLmJlZ2luKCJzZWFyY2hQc2V1ZG9FbGVtZW50cyIpO0dkdCgpLFByb21pc2UuYWxsKHkpLnRoZW4oZnVuY3Rpb24oKXtNKCksYW9lKCksYigpfSkuY2F0Y2goZnVuY3Rpb24oKXtNKCksYW9lKCksbSgpfSl9KX19ZnVuY3Rpb24gczZ0KHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTohMDtyZXR1cm4gdC5hdHRyaWJ1dGVzJiYodC5hdHRyaWJ1dGVzLmZpbGx8fGUpJiYodC5hdHRyaWJ1dGVzLmZpbGw9ImJsYWNrIiksdH1mdW5jdGlvbiBrYmEodCl7cmV0dXJuIHQudGFnPT09ImciP3QuY2hpbGRyZW46W3RdfXZhciBMM3QsQzJlLCQzdCxEM3QsQTN0LHdtYSxQM3QsRTN0LGVsLE5hLEkzdCx4RyxFQjEsYm8sTjN0LF8yZSxNbWEsa21hLFIzdCx6bWEsRjN0LEoxLE9mLE8zdCxCM3QsSDN0LHEzdCxWM3QsajN0LFUzdCxXM3QsRzN0LFkzdCxaM3QsWDN0LEszdCxRM3QsSjN0LGVkdCx0ZHQsU21hLENtYSxfbWEsVG1hLExtYSwkbWEsRG1hLEFtYSxQbWEsRW1hLEltYSxObWEsUm1hLEZtYSxPbWEsQm1hLEhtYSxxbWEsVm1hLGFkdCxJQjEsam1hLFVtYSxXbWEsR21hLHJkdCxpZHQsWW1hLFptYSxYbWEsS21hLFFtYSxOQjEsSm1hLGU5YSx0OWEsc2R0LFQyZSx5RyxhOWEscjlhLGk5YSxzOWEsbzlhLG45YSxsOWEsYzlhLGQ5YSxwOWEsdTlhLGY5YSxoOWEsbTlhLGc5YSxiOWEsdjlhLHg5YSx5OWEsdzlhLE05YSxrOWEsejlhLFM5YSxDOWEsXzlhLFQ5YSxMOWEsJDlhLEQ5YSxBOWEsUDlhLEU5YSxJOWEsTjlhLFI5YSxGOWEsTzlhLEI5YSxSQjEsSDlhLHE5YSxWOWEsajlhLEZCMSxVOWEsVzlhLEwyZSxHOWEsb2R0LFk5YSxuZHQsWjlhLFg5YSxLOWEsUTlhLHZvLCQyZSxsZHQsY2R0LEgwLEQyZSxKOWEsQTJlLFAyZSxkZHQsZWdhLHRnYSxwZHQsdWR0LGZkdCxhZ2EsRTJlLGhkdCxJMmUsTjJlLFIyZSxPQjEscmdhLG1kdCxpZ2Esc2dhLEJCMSxvZ2EsRjJlLG5nYSxIZixiZHQsVDgsaHQscWYsdGwsUzIsdWdhLGdnYSx3ZHQsYmdhLHhvLGtzLE1kdCxrZHQsTUcseGdhLHEyZSxqMmUsenMsSEIxLHFCMSxqZix5Z2EsX2R0LHdnYSxVMmUsVGR0LExkdCwkZHQsRGR0LEFkdCxQZHQsSWR0LFJkdCxMZ2EsJGdhLEFnYSxGZHQsJDgsRDgsUGdhLE9kdCxJZ2EsTmdhLFJnYSxyaSxGZ2EsWDJlLFZnYSxIZHQsSjJlLFVmLFVnYSxxZHQsZW9lLENHLF9HLHRvZSxURyxyYmEsbmJhLGxiYSxjYmEsZGJhLHBiYSxRZHQsSmR0LGU2dCxyb2UsdWJhLHZiYSx4YmEseWJhLHI2dCx3YmEsaTZ0LE1iYSxpb2UsemJhLFNiYSxDYmEsX2JhLFRiYSxMYmEsJGJhLERiYSxBYmEsUGJhLEViYSxzb2UsSWJhLE5iYSxSYmEsZ2R0LG82dD1jKCgpPT57aSh6MmUsIl9hcnJheUxpa2VUb0FycmF5Iik7aShwbWEsIl9hcnJheVdpdGhIb2xlcyIpO2kodW1hLCJfYXJyYXlXaXRob3V0SG9sZXMiKTtpKGZtYSwiX2NsYXNzQ2FsbENoZWNrIik7aShDM3QsIl9kZWZpbmVQcm9wZXJ0aWVzIik7aShobWEsIl9jcmVhdGVDbGFzcyIpO2kobUcsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIik7aShMdCwiX2RlZmluZVByb3BlcnR5Iik7aShtbWEsIl9pbmhlcml0cyIpO2koZ21hLCJfaXRlcmFibGVUb0FycmF5Iik7aShibWEsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIpO2kodm1hLCJfbm9uSXRlcmFibGVSZXN0Iik7aSh4bWEsIl9ub25JdGVyYWJsZVNwcmVhZCIpO2koXzN0LCJvd25LZXlzIik7aShVZSwiX29iamVjdFNwcmVhZDIiKTtpKGdHLCJfc2V0UHJvdG90eXBlT2YiKTtpKGJHLCJfc2xpY2VkVG9BcnJheSIpO2koTXMsIl90b0NvbnN1bWFibGVBcnJheSIpO2koeW1hLCJfdG9QcmltaXRpdmUiKTtpKFQzdCwiX3RvUHJvcGVydHlLZXkiKTtpKHZHLCJfdHlwZW9mIik7aShTMmUsIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIpO2koenIsIl93cmFwUmVnRXhwIik7TDN0PWkoZnVuY3Rpb24oKXt9LCJub29wIiksQzJlPXt9LCQzdD17fSxEM3Q9bnVsbCxBM3Q9e21hcms6TDN0LG1lYXN1cmU6TDN0fTt0cnl7dHlwZW9mIHdpbmRvdzwidSImJihDMmU9d2luZG93KSx0eXBlb2YgZG9jdW1lbnQ8InUiJiYoJDN0PWRvY3VtZW50KSx0eXBlb2YgTXV0YXRpb25PYnNlcnZlcjwidSImJihEM3Q9TXV0YXRpb25PYnNlcnZlciksdHlwZW9mIHBlcmZvcm1hbmNlPCJ1IiYmKEEzdD1wZXJmb3JtYW5jZSl9Y2F0Y2h7fXdtYT1DMmUubmF2aWdhdG9yfHx7fSxQM3Q9d21hLnVzZXJBZ2VudCxFM3Q9UDN0PT09dm9pZCAwPyIiOlAzdCxlbD1DMmUsTmE9JDN0LEkzdD1EM3QseEc9QTN0LEVCMT0hIWVsLmRvY3VtZW50LGJvPSEhTmEuZG9jdW1lbnRFbGVtZW50JiYhIU5hLmhlYWQmJnR5cGVvZiBOYS5hZGRFdmVudExpc3RlbmVyPT0iZnVuY3Rpb24iJiZ0eXBlb2YgTmEuY3JlYXRlRWxlbWVudD09ImZ1bmN0aW9uIixOM3Q9fkUzdC5pbmRleE9mKCJNU0lFIil8fH5FM3QuaW5kZXhPZigiVHJpZGVudC8iKSxNbWE9L2ZhKGt8a2R8c3xyfGx8dHxkfGRyfGRsfGR0fGJ8c2xyfHNscHJ8d3NifHRsfG5zfG5kc3xlc3xndHxqcnxqZnJ8amRyfHVzYnx1ZnNifHVkc2J8Y3J8c3N8c3J8c2x8c3R8c2RzfHNkcnxzZGx8c2R0KT9bXC1cIF0vLGttYT0vRm9udCA/QXdlc29tZSA/KFs1NjcgXSopKFNvbGlkfFJlZ3VsYXJ8TGlnaHR8VGhpbnxEdW90b25lfEJyYW5kc3xGcmVlfFByb3xTaGFycCBEdW90b25lfFNoYXJwfEtpdHxOb3Rkb2cgRHVvfE5vdGRvZ3xDaGlzZWx8RXRjaHxHcmFwaGl0ZXxUaHVtYnByaW50fEplbGx5IEZpbGx8SmVsbHkgRHVvfEplbGx5fFV0aWxpdHl8VXRpbGl0eSBGaWxsfFV0aWxpdHkgRHVvfFNsYWIgUHJlc3N8U2xhYnxXaGl0ZWJvYXJkKT8uKi9pLFIzdD17Y2xhc3NpYzp7ZmE6InNvbGlkIixmYXM6InNvbGlkIiwiZmEtc29saWQiOiJzb2xpZCIsZmFyOiJyZWd1bGFyIiwiZmEtcmVndWxhciI6InJlZ3VsYXIiLGZhbDoibGlnaHQiLCJmYS1saWdodCI6ImxpZ2h0IixmYXQ6InRoaW4iLCJmYS10aGluIjoidGhpbiIsZmFiOiJicmFuZHMiLCJmYS1icmFuZHMiOiJicmFuZHMifSxkdW90b25lOntmYToic29saWQiLGZhZDoic29saWQiLCJmYS1zb2xpZCI6InNvbGlkIiwiZmEtZHVvdG9uZSI6InNvbGlkIixmYWRyOiJyZWd1bGFyIiwiZmEtcmVndWxhciI6InJlZ3VsYXIiLGZhZGw6ImxpZ2h0IiwiZmEtbGlnaHQiOiJsaWdodCIsZmFkdDoidGhpbiIsImZhLXRoaW4iOiJ0aGluIn0sc2hhcnA6e2ZhOiJzb2xpZCIsZmFzczoic29saWQiLCJmYS1zb2xpZCI6InNvbGlkIixmYXNyOiJyZWd1bGFyIiwiZmEtcmVndWxhciI6InJlZ3VsYXIiLGZhc2w6ImxpZ2h0IiwiZmEtbGlnaHQiOiJsaWdodCIsZmFzdDoidGhpbiIsImZhLXRoaW4iOiJ0aGluIn0sInNoYXJwLWR1b3RvbmUiOntmYToic29saWQiLGZhc2RzOiJzb2xpZCIsImZhLXNvbGlkIjoic29saWQiLGZhc2RyOiJyZWd1bGFyIiwiZmEtcmVndWxhciI6InJlZ3VsYXIiLGZhc2RsOiJsaWdodCIsImZhLWxpZ2h0IjoibGlnaHQiLGZhc2R0OiJ0aGluIiwiZmEtdGhpbiI6InRoaW4ifSxzbGFiOnsiZmEtcmVndWxhciI6InJlZ3VsYXIiLGZhc2xyOiJyZWd1bGFyIn0sInNsYWItcHJlc3MiOnsiZmEtcmVndWxhciI6InJlZ3VsYXIiLGZhc2xwcjoicmVndWxhciJ9LHRodW1icHJpbnQ6eyJmYS1saWdodCI6ImxpZ2h0IixmYXRsOiJsaWdodCJ9LHdoaXRlYm9hcmQ6eyJmYS1zZW1pYm9sZCI6InNlbWlib2xkIixmYXdzYjoic2VtaWJvbGQifSxub3Rkb2c6eyJmYS1zb2xpZCI6InNvbGlkIixmYW5zOiJzb2xpZCJ9LCJub3Rkb2ctZHVvIjp7ImZhLXNvbGlkIjoic29saWQiLGZhbmRzOiJzb2xpZCJ9LGV0Y2g6eyJmYS1zb2xpZCI6InNvbGlkIixmYWVzOiJzb2xpZCJ9LGdyYXBoaXRlOnsiZmEtdGhpbiI6InRoaW4iLGZhZ3Q6InRoaW4ifSxqZWxseTp7ImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYWpyOiJyZWd1bGFyIn0sImplbGx5LWZpbGwiOnsiZmEtcmVndWxhciI6InJlZ3VsYXIiLGZhamZyOiJyZWd1bGFyIn0sImplbGx5LWR1byI6eyJmYS1yZWd1bGFyIjoicmVndWxhciIsZmFqZHI6InJlZ3VsYXIifSxjaGlzZWw6eyJmYS1yZWd1bGFyIjoicmVndWxhciIsZmFjcjoicmVndWxhciJ9LHV0aWxpdHk6eyJmYS1zZW1pYm9sZCI6InNlbWlib2xkIixmYXVzYjoic2VtaWJvbGQifSwidXRpbGl0eS1kdW8iOnsiZmEtc2VtaWJvbGQiOiJzZW1pYm9sZCIsZmF1ZHNiOiJzZW1pYm9sZCJ9LCJ1dGlsaXR5LWZpbGwiOnsiZmEtc2VtaWJvbGQiOiJzZW1pYm9sZCIsZmF1ZnNiOiJzZW1pYm9sZCJ9fSx6bWE9e0dST1VQOiJkdW90b25lLWdyb3VwIixTV0FQX09QQUNJVFk6InN3YXAtb3BhY2l0eSIsUFJJTUFSWToicHJpbWFyeSIsU0VDT05EQVJZOiJzZWNvbmRhcnkifSxGM3Q9WyJmYS1jbGFzc2ljIiwiZmEtZHVvdG9uZSIsImZhLXNoYXJwIiwiZmEtc2hhcnAtZHVvdG9uZSIsImZhLXRodW1icHJpbnQiLCJmYS13aGl0ZWJvYXJkIiwiZmEtbm90ZG9nIiwiZmEtbm90ZG9nLWR1byIsImZhLWNoaXNlbCIsImZhLWV0Y2giLCJmYS1ncmFwaGl0ZSIsImZhLWplbGx5IiwiZmEtamVsbHktZmlsbCIsImZhLWplbGx5LWR1byIsImZhLXNsYWIiLCJmYS1zbGFiLXByZXNzIiwiZmEtdXRpbGl0eSIsImZhLXV0aWxpdHktZHVvIiwiZmEtdXRpbGl0eS1maWxsIl0sSjE9ImNsYXNzaWMiLE9mPSJkdW90b25lIixPM3Q9InNoYXJwIixCM3Q9InNoYXJwLWR1b3RvbmUiLEgzdD0iY2hpc2VsIixxM3Q9ImV0Y2giLFYzdD0iZ3JhcGhpdGUiLGozdD0iamVsbHkiLFUzdD0iamVsbHktZHVvIixXM3Q9ImplbGx5LWZpbGwiLEczdD0ibm90ZG9nIixZM3Q9Im5vdGRvZy1kdW8iLFozdD0ic2xhYiIsWDN0PSJzbGFiLXByZXNzIixLM3Q9InRodW1icHJpbnQiLFEzdD0idXRpbGl0eSIsSjN0PSJ1dGlsaXR5LWR1byIsZWR0PSJ1dGlsaXR5LWZpbGwiLHRkdD0id2hpdGVib2FyZCIsU21hPSJDbGFzc2ljIixDbWE9IkR1b3RvbmUiLF9tYT0iU2hhcnAiLFRtYT0iU2hhcnAgRHVvdG9uZSIsTG1hPSJDaGlzZWwiLCRtYT0iRXRjaCIsRG1hPSJHcmFwaGl0ZSIsQW1hPSJKZWxseSIsUG1hPSJKZWxseSBEdW8iLEVtYT0iSmVsbHkgRmlsbCIsSW1hPSJOb3Rkb2ciLE5tYT0iTm90ZG9nIER1byIsUm1hPSJTbGFiIixGbWE9IlNsYWIgUHJlc3MiLE9tYT0iVGh1bWJwcmludCIsQm1hPSJVdGlsaXR5IixIbWE9IlV0aWxpdHkgRHVvIixxbWE9IlV0aWxpdHkgRmlsbCIsVm1hPSJXaGl0ZWJvYXJkIixhZHQ9W0oxLE9mLE8zdCxCM3QsSDN0LHEzdCxWM3QsajN0LFUzdCxXM3QsRzN0LFkzdCxaM3QsWDN0LEszdCxRM3QsSjN0LGVkdCx0ZHRdLElCMT0oXzJlPXt9LEx0KEx0KEx0KEx0KEx0KEx0KEx0KEx0KEx0KEx0KF8yZSxKMSxTbWEpLE9mLENtYSksTzN0LF9tYSksQjN0LFRtYSksSDN0LExtYSkscTN0LCRtYSksVjN0LERtYSksajN0LEFtYSksVTN0LFBtYSksVzN0LEVtYSksTHQoTHQoTHQoTHQoTHQoTHQoTHQoTHQoTHQoXzJlLEczdCxJbWEpLFkzdCxObWEpLFozdCxSbWEpLFgzdCxGbWEpLEszdCxPbWEpLFEzdCxCbWEpLEozdCxIbWEpLGVkdCxxbWEpLHRkdCxWbWEpKSxqbWE9e2NsYXNzaWM6ezkwMDoiZmFzIiw0MDA6ImZhciIsbm9ybWFsOiJmYXIiLDMwMDoiZmFsIiwxMDA6ImZhdCJ9LGR1b3RvbmU6ezkwMDoiZmFkIiw0MDA6ImZhZHIiLDMwMDoiZmFkbCIsMTAwOiJmYWR0In0sc2hhcnA6ezkwMDoiZmFzcyIsNDAwOiJmYXNyIiwzMDA6ImZhc2wiLDEwMDoiZmFzdCJ9LCJzaGFycC1kdW90b25lIjp7OTAwOiJmYXNkcyIsNDAwOiJmYXNkciIsMzAwOiJmYXNkbCIsMTAwOiJmYXNkdCJ9LHNsYWI6ezQwMDoiZmFzbHIifSwic2xhYi1wcmVzcyI6ezQwMDoiZmFzbHByIn0sd2hpdGVib2FyZDp7NjAwOiJmYXdzYiJ9LHRodW1icHJpbnQ6ezMwMDoiZmF0bCJ9LG5vdGRvZzp7OTAwOiJmYW5zIn0sIm5vdGRvZy1kdW8iOns5MDA6ImZhbmRzIn0sZXRjaDp7OTAwOiJmYWVzIn0sZ3JhcGhpdGU6ezEwMDoiZmFndCJ9LGNoaXNlbDp7NDAwOiJmYWNyIn0samVsbHk6ezQwMDoiZmFqciJ9LCJqZWxseS1maWxsIjp7NDAwOiJmYWpmciJ9LCJqZWxseS1kdW8iOns0MDA6ImZhamRyIn0sdXRpbGl0eTp7NjAwOiJmYXVzYiJ9LCJ1dGlsaXR5LWR1byI6ezYwMDoiZmF1ZHNiIn0sInV0aWxpdHktZmlsbCI6ezYwMDoiZmF1ZnNiIn19LFVtYT17IkZvbnQgQXdlc29tZSA3IEZyZWUiOns5MDA6ImZhcyIsNDAwOiJmYXIifSwiRm9udCBBd2Vzb21lIDcgUHJvIjp7OTAwOiJmYXMiLDQwMDoiZmFyIixub3JtYWw6ImZhciIsMzAwOiJmYWwiLDEwMDoiZmF0In0sIkZvbnQgQXdlc29tZSA3IEJyYW5kcyI6ezQwMDoiZmFiIixub3JtYWw6ImZhYiJ9LCJGb250IEF3ZXNvbWUgNyBEdW90b25lIjp7OTAwOiJmYWQiLDQwMDoiZmFkciIsbm9ybWFsOiJmYWRyIiwzMDA6ImZhZGwiLDEwMDoiZmFkdCJ9LCJGb250IEF3ZXNvbWUgNyBTaGFycCI6ezkwMDoiZmFzcyIsNDAwOiJmYXNyIixub3JtYWw6ImZhc3IiLDMwMDoiZmFzbCIsMTAwOiJmYXN0In0sIkZvbnQgQXdlc29tZSA3IFNoYXJwIER1b3RvbmUiOns5MDA6ImZhc2RzIiw0MDA6ImZhc2RyIixub3JtYWw6ImZhc2RyIiwzMDA6ImZhc2RsIiwxMDA6ImZhc2R0In0sIkZvbnQgQXdlc29tZSA3IEplbGx5Ijp7NDAwOiJmYWpyIixub3JtYWw6ImZhanIifSwiRm9udCBBd2Vzb21lIDcgSmVsbHkgRmlsbCI6ezQwMDoiZmFqZnIiLG5vcm1hbDoiZmFqZnIifSwiRm9udCBBd2Vzb21lIDcgSmVsbHkgRHVvIjp7NDAwOiJmYWpkciIsbm9ybWFsOiJmYWpkciJ9LCJGb250IEF3ZXNvbWUgNyBTbGFiIjp7NDAwOiJmYXNsciIsbm9ybWFsOiJmYXNsciJ9LCJGb250IEF3ZXNvbWUgNyBTbGFiIFByZXNzIjp7NDAwOiJmYXNscHIiLG5vcm1hbDoiZmFzbHByIn0sIkZvbnQgQXdlc29tZSA3IFRodW1icHJpbnQiOnszMDA6ImZhdGwiLG5vcm1hbDoiZmF0bCJ9LCJGb250IEF3ZXNvbWUgNyBOb3Rkb2ciOns5MDA6ImZhbnMiLG5vcm1hbDoiZmFucyJ9LCJGb250IEF3ZXNvbWUgNyBOb3Rkb2cgRHVvIjp7OTAwOiJmYW5kcyIsbm9ybWFsOiJmYW5kcyJ9LCJGb250IEF3ZXNvbWUgNyBFdGNoIjp7OTAwOiJmYWVzIixub3JtYWw6ImZhZXMifSwiRm9udCBBd2Vzb21lIDcgR3JhcGhpdGUiOnsxMDA6ImZhZ3QiLG5vcm1hbDoiZmFndCJ9LCJGb250IEF3ZXNvbWUgNyBDaGlzZWwiOns0MDA6ImZhY3IiLG5vcm1hbDoiZmFjciJ9LCJGb250IEF3ZXNvbWUgNyBXaGl0ZWJvYXJkIjp7NjAwOiJmYXdzYiIsbm9ybWFsOiJmYXdzYiJ9LCJGb250IEF3ZXNvbWUgNyBVdGlsaXR5Ijp7NjAwOiJmYXVzYiIsbm9ybWFsOiJmYXVzYiJ9LCJGb250IEF3ZXNvbWUgNyBVdGlsaXR5IER1byI6ezYwMDoiZmF1ZHNiIixub3JtYWw6ImZhdWRzYiJ9LCJGb250IEF3ZXNvbWUgNyBVdGlsaXR5IEZpbGwiOns2MDA6ImZhdWZzYiIsbm9ybWFsOiJmYXVmc2IifX0sV21hPW5ldyBNYXAoW1siY2xhc3NpYyIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYXMiLGRlZmF1bHRTdHlsZUlkOiJzb2xpZCIsc3R5bGVJZHM6WyJzb2xpZCIsInJlZ3VsYXIiLCJsaWdodCIsInRoaW4iLCJicmFuZHMiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo5MDB9XSxbImR1b3RvbmUiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFkIixkZWZhdWx0U3R5bGVJZDoic29saWQiLHN0eWxlSWRzOlsic29saWQiLCJyZWd1bGFyIiwibGlnaHQiLCJ0aGluIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6OTAwfV0sWyJzaGFycCIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYXNzIixkZWZhdWx0U3R5bGVJZDoic29saWQiLHN0eWxlSWRzOlsic29saWQiLCJyZWd1bGFyIiwibGlnaHQiLCJ0aGluIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6OTAwfV0sWyJzaGFycC1kdW90b25lIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhc2RzIixkZWZhdWx0U3R5bGVJZDoic29saWQiLHN0eWxlSWRzOlsic29saWQiLCJyZWd1bGFyIiwibGlnaHQiLCJ0aGluIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6OTAwfV0sWyJjaGlzZWwiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFjciIsZGVmYXVsdFN0eWxlSWQ6InJlZ3VsYXIiLHN0eWxlSWRzOlsicmVndWxhciJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjQwMH1dLFsiZXRjaCIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYWVzIixkZWZhdWx0U3R5bGVJZDoic29saWQiLHN0eWxlSWRzOlsic29saWQiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo5MDB9XSxbImdyYXBoaXRlIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhZ3QiLGRlZmF1bHRTdHlsZUlkOiJ0aGluIixzdHlsZUlkczpbInRoaW4iXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDoxMDB9XSxbImplbGx5Iix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhanIiLGRlZmF1bHRTdHlsZUlkOiJyZWd1bGFyIixzdHlsZUlkczpbInJlZ3VsYXIiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo0MDB9XSxbImplbGx5LWR1byIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYWpkciIsZGVmYXVsdFN0eWxlSWQ6InJlZ3VsYXIiLHN0eWxlSWRzOlsicmVndWxhciJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjQwMH1dLFsiamVsbHktZmlsbCIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYWpmciIsZGVmYXVsdFN0eWxlSWQ6InJlZ3VsYXIiLHN0eWxlSWRzOlsicmVndWxhciJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjQwMH1dLFsibm90ZG9nIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhbnMiLGRlZmF1bHRTdHlsZUlkOiJzb2xpZCIsc3R5bGVJZHM6WyJzb2xpZCJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjkwMH1dLFsibm90ZG9nLWR1byIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYW5kcyIsZGVmYXVsdFN0eWxlSWQ6InNvbGlkIixzdHlsZUlkczpbInNvbGlkIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6OTAwfV0sWyJzbGFiIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhc2xyIixkZWZhdWx0U3R5bGVJZDoicmVndWxhciIsc3R5bGVJZHM6WyJyZWd1bGFyIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6NDAwfV0sWyJzbGFiLXByZXNzIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhc2xwciIsZGVmYXVsdFN0eWxlSWQ6InJlZ3VsYXIiLHN0eWxlSWRzOlsicmVndWxhciJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjQwMH1dLFsidGh1bWJwcmludCIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYXRsIixkZWZhdWx0U3R5bGVJZDoibGlnaHQiLHN0eWxlSWRzOlsibGlnaHQiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDozMDB9XSxbInV0aWxpdHkiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmF1c2IiLGRlZmF1bHRTdHlsZUlkOiJzZW1pYm9sZCIsc3R5bGVJZHM6WyJzZW1pYm9sZCJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjYwMH1dLFsidXRpbGl0eS1kdW8iLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmF1ZHNiIixkZWZhdWx0U3R5bGVJZDoic2VtaWJvbGQiLHN0eWxlSWRzOlsic2VtaWJvbGQiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo2MDB9XSxbInV0aWxpdHktZmlsbCIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYXVmc2IiLGRlZmF1bHRTdHlsZUlkOiJzZW1pYm9sZCIsc3R5bGVJZHM6WyJzZW1pYm9sZCJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjYwMH1dLFsid2hpdGVib2FyZCIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYXdzYiIsZGVmYXVsdFN0eWxlSWQ6InNlbWlib2xkIixzdHlsZUlkczpbInNlbWlib2xkIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6NjAwfV1dKSxHbWE9e2NoaXNlbDp7cmVndWxhcjoiZmFjciJ9LGNsYXNzaWM6e2JyYW5kczoiZmFiIixsaWdodDoiZmFsIixyZWd1bGFyOiJmYXIiLHNvbGlkOiJmYXMiLHRoaW46ImZhdCJ9LGR1b3RvbmU6e2xpZ2h0OiJmYWRsIixyZWd1bGFyOiJmYWRyIixzb2xpZDoiZmFkIix0aGluOiJmYWR0In0sZXRjaDp7c29saWQ6ImZhZXMifSxncmFwaGl0ZTp7dGhpbjoiZmFndCJ9LGplbGx5OntyZWd1bGFyOiJmYWpyIn0sImplbGx5LWR1byI6e3JlZ3VsYXI6ImZhamRyIn0sImplbGx5LWZpbGwiOntyZWd1bGFyOiJmYWpmciJ9LG5vdGRvZzp7c29saWQ6ImZhbnMifSwibm90ZG9nLWR1byI6e3NvbGlkOiJmYW5kcyJ9LHNoYXJwOntsaWdodDoiZmFzbCIscmVndWxhcjoiZmFzciIsc29saWQ6ImZhc3MiLHRoaW46ImZhc3QifSwic2hhcnAtZHVvdG9uZSI6e2xpZ2h0OiJmYXNkbCIscmVndWxhcjoiZmFzZHIiLHNvbGlkOiJmYXNkcyIsdGhpbjoiZmFzZHQifSxzbGFiOntyZWd1bGFyOiJmYXNsciJ9LCJzbGFiLXByZXNzIjp7cmVndWxhcjoiZmFzbHByIn0sdGh1bWJwcmludDp7bGlnaHQ6ImZhdGwifSx1dGlsaXR5OntzZW1pYm9sZDoiZmF1c2IifSwidXRpbGl0eS1kdW8iOntzZW1pYm9sZDoiZmF1ZHNiIn0sInV0aWxpdHktZmlsbCI6e3NlbWlib2xkOiJmYXVmc2IifSx3aGl0ZWJvYXJkOntzZW1pYm9sZDoiZmF3c2IifX0scmR0PVsiZmFrIiwiZmEta2l0IiwiZmFrZCIsImZhLWtpdC1kdW90b25lIl0saWR0PXtraXQ6e2Zhazoia2l0IiwiZmEta2l0Ijoia2l0In0sImtpdC1kdW90b25lIjp7ZmFrZDoia2l0LWR1b3RvbmUiLCJmYS1raXQtZHVvdG9uZSI6ImtpdC1kdW90b25lIn19LFltYT1bImtpdCJdLFptYT0ia2l0IixYbWE9ImtpdC1kdW90b25lIixLbWE9IktpdCIsUW1hPSJLaXQgRHVvdG9uZSIsTkIxPUx0KEx0KHt9LFptYSxLbWEpLFhtYSxRbWEpLEptYT17a2l0OnsiZmEta2l0IjoiZmFrIn0sImtpdC1kdW90b25lIjp7ImZhLWtpdC1kdW90b25lIjoiZmFrZCJ9fSxlOWE9eyJGb250IEF3ZXNvbWUgS2l0Ijp7NDAwOiJmYWsiLG5vcm1hbDoiZmFrIn0sIkZvbnQgQXdlc29tZSBLaXQgRHVvdG9uZSI6ezQwMDoiZmFrZCIsbm9ybWFsOiJmYWtkIn19LHQ5YT17a2l0OntmYWs6ImZhLWtpdCJ9LCJraXQtZHVvdG9uZSI6e2Zha2Q6ImZhLWtpdC1kdW90b25lIn19LHNkdD17a2l0OntraXQ6ImZhayJ9LCJraXQtZHVvdG9uZSI6eyJraXQtZHVvdG9uZSI6ImZha2QifX0seUc9e0dST1VQOiJkdW90b25lLWdyb3VwIixTV0FQX09QQUNJVFk6InN3YXAtb3BhY2l0eSIsUFJJTUFSWToicHJpbWFyeSIsU0VDT05EQVJZOiJzZWNvbmRhcnkifSxhOWE9WyJmYS1jbGFzc2ljIiwiZmEtZHVvdG9uZSIsImZhLXNoYXJwIiwiZmEtc2hhcnAtZHVvdG9uZSIsImZhLXRodW1icHJpbnQiLCJmYS13aGl0ZWJvYXJkIiwiZmEtbm90ZG9nIiwiZmEtbm90ZG9nLWR1byIsImZhLWNoaXNlbCIsImZhLWV0Y2giLCJmYS1ncmFwaGl0ZSIsImZhLWplbGx5IiwiZmEtamVsbHktZmlsbCIsImZhLWplbGx5LWR1byIsImZhLXNsYWIiLCJmYS1zbGFiLXByZXNzIiwiZmEtdXRpbGl0eSIsImZhLXV0aWxpdHktZHVvIiwiZmEtdXRpbGl0eS1maWxsIl0scjlhPSJjbGFzc2ljIixpOWE9ImR1b3RvbmUiLHM5YT0ic2hhcnAiLG85YT0ic2hhcnAtZHVvdG9uZSIsbjlhPSJjaGlzZWwiLGw5YT0iZXRjaCIsYzlhPSJncmFwaGl0ZSIsZDlhPSJqZWxseSIscDlhPSJqZWxseS1kdW8iLHU5YT0iamVsbHktZmlsbCIsZjlhPSJub3Rkb2ciLGg5YT0ibm90ZG9nLWR1byIsbTlhPSJzbGFiIixnOWE9InNsYWItcHJlc3MiLGI5YT0idGh1bWJwcmludCIsdjlhPSJ1dGlsaXR5Iix4OWE9InV0aWxpdHktZHVvIix5OWE9InV0aWxpdHktZmlsbCIsdzlhPSJ3aGl0ZWJvYXJkIixNOWE9IkNsYXNzaWMiLGs5YT0iRHVvdG9uZSIsejlhPSJTaGFycCIsUzlhPSJTaGFycCBEdW90b25lIixDOWE9IkNoaXNlbCIsXzlhPSJFdGNoIixUOWE9IkdyYXBoaXRlIixMOWE9IkplbGx5IiwkOWE9IkplbGx5IER1byIsRDlhPSJKZWxseSBGaWxsIixBOWE9Ik5vdGRvZyIsUDlhPSJOb3Rkb2cgRHVvIixFOWE9IlNsYWIiLEk5YT0iU2xhYiBQcmVzcyIsTjlhPSJUaHVtYnByaW50IixSOWE9IlV0aWxpdHkiLEY5YT0iVXRpbGl0eSBEdW8iLE85YT0iVXRpbGl0eSBGaWxsIixCOWE9IldoaXRlYm9hcmQiLFJCMT0oVDJlPXt9LEx0KEx0KEx0KEx0KEx0KEx0KEx0KEx0KEx0KEx0KFQyZSxyOWEsTTlhKSxpOWEsazlhKSxzOWEsejlhKSxvOWEsUzlhKSxuOWEsQzlhKSxsOWEsXzlhKSxjOWEsVDlhKSxkOWEsTDlhKSxwOWEsJDlhKSx1OWEsRDlhKSxMdChMdChMdChMdChMdChMdChMdChMdChMdChUMmUsZjlhLEE5YSksaDlhLFA5YSksbTlhLEU5YSksZzlhLEk5YSksYjlhLE45YSksdjlhLFI5YSkseDlhLEY5YSkseTlhLE85YSksdzlhLEI5YSkpLEg5YT0ia2l0IixxOWE9ImtpdC1kdW90b25lIixWOWE9IktpdCIsajlhPSJLaXQgRHVvdG9uZSIsRkIxPUx0KEx0KHt9LEg5YSxWOWEpLHE5YSxqOWEpLFU5YT17Y2xhc3NpYzp7ImZhLWJyYW5kcyI6ImZhYiIsImZhLWR1b3RvbmUiOiJmYWQiLCJmYS1saWdodCI6ImZhbCIsImZhLXJlZ3VsYXIiOiJmYXIiLCJmYS1zb2xpZCI6ImZhcyIsImZhLXRoaW4iOiJmYXQifSxkdW90b25lOnsiZmEtcmVndWxhciI6ImZhZHIiLCJmYS1saWdodCI6ImZhZGwiLCJmYS10aGluIjoiZmFkdCJ9LHNoYXJwOnsiZmEtc29saWQiOiJmYXNzIiwiZmEtcmVndWxhciI6ImZhc3IiLCJmYS1saWdodCI6ImZhc2wiLCJmYS10aGluIjoiZmFzdCJ9LCJzaGFycC1kdW90b25lIjp7ImZhLXNvbGlkIjoiZmFzZHMiLCJmYS1yZWd1bGFyIjoiZmFzZHIiLCJmYS1saWdodCI6ImZhc2RsIiwiZmEtdGhpbiI6ImZhc2R0In0sc2xhYjp7ImZhLXJlZ3VsYXIiOiJmYXNsciJ9LCJzbGFiLXByZXNzIjp7ImZhLXJlZ3VsYXIiOiJmYXNscHIifSx3aGl0ZWJvYXJkOnsiZmEtc2VtaWJvbGQiOiJmYXdzYiJ9LHRodW1icHJpbnQ6eyJmYS1saWdodCI6ImZhdGwifSxub3Rkb2c6eyJmYS1zb2xpZCI6ImZhbnMifSwibm90ZG9nLWR1byI6eyJmYS1zb2xpZCI6ImZhbmRzIn0sZXRjaDp7ImZhLXNvbGlkIjoiZmFlcyJ9LGdyYXBoaXRlOnsiZmEtdGhpbiI6ImZhZ3QifSxqZWxseTp7ImZhLXJlZ3VsYXIiOiJmYWpyIn0sImplbGx5LWZpbGwiOnsiZmEtcmVndWxhciI6ImZhamZyIn0sImplbGx5LWR1byI6eyJmYS1yZWd1bGFyIjoiZmFqZHIifSxjaGlzZWw6eyJmYS1yZWd1bGFyIjoiZmFjciJ9LHV0aWxpdHk6eyJmYS1zZW1pYm9sZCI6ImZhdXNiIn0sInV0aWxpdHktZHVvIjp7ImZhLXNlbWlib2xkIjoiZmF1ZHNiIn0sInV0aWxpdHktZmlsbCI6eyJmYS1zZW1pYm9sZCI6ImZhdWZzYiJ9fSxXOWE9e2NsYXNzaWM6WyJmYXMiLCJmYXIiLCJmYWwiLCJmYXQiLCJmYWQiXSxkdW90b25lOlsiZmFkciIsImZhZGwiLCJmYWR0Il0sc2hhcnA6WyJmYXNzIiwiZmFzciIsImZhc2wiLCJmYXN0Il0sInNoYXJwLWR1b3RvbmUiOlsiZmFzZHMiLCJmYXNkciIsImZhc2RsIiwiZmFzZHQiXSxzbGFiOlsiZmFzbHIiXSwic2xhYi1wcmVzcyI6WyJmYXNscHIiXSx3aGl0ZWJvYXJkOlsiZmF3c2IiXSx0aHVtYnByaW50OlsiZmF0bCJdLG5vdGRvZzpbImZhbnMiXSwibm90ZG9nLWR1byI6WyJmYW5kcyJdLGV0Y2g6WyJmYWVzIl0sZ3JhcGhpdGU6WyJmYWd0Il0samVsbHk6WyJmYWpyIl0sImplbGx5LWZpbGwiOlsiZmFqZnIiXSwiamVsbHktZHVvIjpbImZhamRyIl0sY2hpc2VsOlsiZmFjciJdLHV0aWxpdHk6WyJmYXVzYiJdLCJ1dGlsaXR5LWR1byI6WyJmYXVkc2IiXSwidXRpbGl0eS1maWxsIjpbImZhdWZzYiJdfSxMMmU9e2NsYXNzaWM6e2ZhYjoiZmEtYnJhbmRzIixmYWQ6ImZhLWR1b3RvbmUiLGZhbDoiZmEtbGlnaHQiLGZhcjoiZmEtcmVndWxhciIsZmFzOiJmYS1zb2xpZCIsZmF0OiJmYS10aGluIn0sZHVvdG9uZTp7ZmFkcjoiZmEtcmVndWxhciIsZmFkbDoiZmEtbGlnaHQiLGZhZHQ6ImZhLXRoaW4ifSxzaGFycDp7ZmFzczoiZmEtc29saWQiLGZhc3I6ImZhLXJlZ3VsYXIiLGZhc2w6ImZhLWxpZ2h0IixmYXN0OiJmYS10aGluIn0sInNoYXJwLWR1b3RvbmUiOntmYXNkczoiZmEtc29saWQiLGZhc2RyOiJmYS1yZWd1bGFyIixmYXNkbDoiZmEtbGlnaHQiLGZhc2R0OiJmYS10aGluIn0sc2xhYjp7ZmFzbHI6ImZhLXJlZ3VsYXIifSwic2xhYi1wcmVzcyI6e2Zhc2xwcjoiZmEtcmVndWxhciJ9LHdoaXRlYm9hcmQ6e2Zhd3NiOiJmYS1zZW1pYm9sZCJ9LHRodW1icHJpbnQ6e2ZhdGw6ImZhLWxpZ2h0In0sbm90ZG9nOntmYW5zOiJmYS1zb2xpZCJ9LCJub3Rkb2ctZHVvIjp7ZmFuZHM6ImZhLXNvbGlkIn0sZXRjaDp7ZmFlczoiZmEtc29saWQifSxncmFwaGl0ZTp7ZmFndDoiZmEtdGhpbiJ9LGplbGx5OntmYWpyOiJmYS1yZWd1bGFyIn0sImplbGx5LWZpbGwiOntmYWpmcjoiZmEtcmVndWxhciJ9LCJqZWxseS1kdW8iOntmYWpkcjoiZmEtcmVndWxhciJ9LGNoaXNlbDp7ZmFjcjoiZmEtcmVndWxhciJ9LHV0aWxpdHk6e2ZhdXNiOiJmYS1zZW1pYm9sZCJ9LCJ1dGlsaXR5LWR1byI6e2ZhdWRzYjoiZmEtc2VtaWJvbGQifSwidXRpbGl0eS1maWxsIjp7ZmF1ZnNiOiJmYS1zZW1pYm9sZCJ9fSxHOWE9WyJmYS1zb2xpZCIsImZhLXJlZ3VsYXIiLCJmYS1saWdodCIsImZhLXRoaW4iLCJmYS1kdW90b25lIiwiZmEtYnJhbmRzIiwiZmEtc2VtaWJvbGQiXSxvZHQ9WyJmYSIsImZhcyIsImZhciIsImZhbCIsImZhdCIsImZhZCIsImZhZHIiLCJmYWRsIiwiZmFkdCIsImZhYiIsImZhc3MiLCJmYXNyIiwiZmFzbCIsImZhc3QiLCJmYXNkcyIsImZhc2RyIiwiZmFzZGwiLCJmYXNkdCIsImZhc2xyIiwiZmFzbHByIiwiZmF3c2IiLCJmYXRsIiwiZmFucyIsImZhbmRzIiwiZmFlcyIsImZhZ3QiLCJmYWpyIiwiZmFqZnIiLCJmYWpkciIsImZhY3IiLCJmYXVzYiIsImZhdWRzYiIsImZhdWZzYiJdLmNvbmNhdChhOWEsRzlhKSxZOWE9WyJzb2xpZCIsInJlZ3VsYXIiLCJsaWdodCIsInRoaW4iLCJkdW90b25lIiwiYnJhbmRzIiwic2VtaWJvbGQiXSxuZHQ9WzEsMiwzLDQsNSw2LDcsOCw5LDEwXSxaOWE9bmR0LmNvbmNhdChbMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjBdKSxYOWE9WyJhdyIsImZ3IiwicHVsbC1sZWZ0IiwicHVsbC1yaWdodCJdLEs5YT1bXS5jb25jYXQoTXMoT2JqZWN0LmtleXMoVzlhKSksWTlhLFg5YSxbIjJ4cyIsInhzIiwic20iLCJsZyIsInhsIiwiMnhsIiwiYmVhdCIsImJvcmRlciIsImZhZGUiLCJiZWF0LWZhZGUiLCJib3VuY2UiLCJmbGlwLWJvdGgiLCJmbGlwLWhvcml6b250YWwiLCJmbGlwLXZlcnRpY2FsIiwiZmxpcCIsImludmVyc2UiLCJsYXllcnMiLCJsYXllcnMtYm90dG9tLWxlZnQiLCJsYXllcnMtYm90dG9tLXJpZ2h0IiwibGF5ZXJzLWNvdW50ZXIiLCJsYXllcnMtdGV4dCIsImxheWVycy10b3AtbGVmdCIsImxheWVycy10b3AtcmlnaHQiLCJsaSIsInB1bGwtZW5kIiwicHVsbC1zdGFydCIsInB1bHNlIiwicm90YXRlLTE4MCIsInJvdGF0ZS0yNzAiLCJyb3RhdGUtOTAiLCJyb3RhdGUtYnkiLCJzaGFrZSIsInNwaW4tcHVsc2UiLCJzcGluLXJldmVyc2UiLCJzcGluIiwic3RhY2stMXgiLCJzdGFjay0yeCIsInN0YWNrIiwidWwiLCJ3aWR0aC1hdXRvIiwid2lkdGgtZml4ZWQiLHlHLkdST1VQLHlHLlNXQVBfT1BBQ0lUWSx5Ry5QUklNQVJZLHlHLlNFQ09OREFSWV0pLmNvbmNhdChuZHQubWFwKGZ1bmN0aW9uKHQpe3JldHVybiIiLmNvbmNhdCh0LCJ4Iil9KSkuY29uY2F0KFo5YS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuInctIi5jb25jYXQodCl9KSksUTlhPXsiRm9udCBBd2Vzb21lIDUgRnJlZSI6ezkwMDoiZmFzIiw0MDA6ImZhciJ9LCJGb250IEF3ZXNvbWUgNSBQcm8iOns5MDA6ImZhcyIsNDAwOiJmYXIiLG5vcm1hbDoiZmFyIiwzMDA6ImZhbCJ9LCJGb250IEF3ZXNvbWUgNSBCcmFuZHMiOns0MDA6ImZhYiIsbm9ybWFsOiJmYWIifSwiRm9udCBBd2Vzb21lIDUgRHVvdG9uZSI6ezkwMDoiZmFkIn19LHZvPSJfX19GT05UX0FXRVNPTUVfX18iLCQyZT0xNixsZHQ9ImZhIixjZHQ9InN2Zy1pbmxpbmUtLWZhIixIMD0iZGF0YS1mYS1pMnN2ZyIsRDJlPSJkYXRhLWZhLXBzZXVkby1lbGVtZW50IixKOWE9ImRhdGEtZmEtcHNldWRvLWVsZW1lbnQtcGVuZGluZyIsQTJlPSJkYXRhLXByZWZpeCIsUDJlPSJkYXRhLWljb24iLGRkdD0iZm9udGF3ZXNvbWUtaTJzdmciLGVnYT0iYXN5bmMiLHRnYT1bIkhUTUwiLCJIRUFEIiwiU1RZTEUiLCJTQ1JJUFQiXSxwZHQ9WyI6OmJlZm9yZSIsIjo6YWZ0ZXIiLCI6YmVmb3JlIiwiOmFmdGVyIl0sdWR0PShmdW5jdGlvbigpe3RyeXtyZXR1cm4hMH1jYXRjaHtyZXR1cm4hMX19KSgpO2koQmYsImZhbWlseVByb3h5Iik7ZmR0PVVlKHt9LFIzdCk7ZmR0W0oxXT1VZShVZShVZShVZSh7fSx7ImZhLWR1b3RvbmUiOiJkdW90b25lIn0pLFIzdFtKMV0pLGlkdC5raXQpLGlkdFsia2l0LWR1b3RvbmUiXSk7YWdhPUJmKGZkdCksRTJlPVVlKHt9LEdtYSk7RTJlW0oxXT1VZShVZShVZShVZSh7fSx7ZHVvdG9uZToiZmFkIn0pLEUyZVtKMV0pLHNkdC5raXQpLHNkdFsia2l0LWR1b3RvbmUiXSk7aGR0PUJmKEUyZSksSTJlPVVlKHt9LEwyZSk7STJlW0oxXT1VZShVZSh7fSxJMmVbSjFdKSx0OWEua2l0KTtOMmU9QmYoSTJlKSxSMmU9VWUoe30sVTlhKTtSMmVbSjFdPVVlKFVlKHt9LFIyZVtKMV0pLEptYS5raXQpO09CMT1CZihSMmUpLHJnYT1NbWEsbWR0PSJmYS1sYXllcnMtdGV4dCIsaWdhPWttYSxzZ2E9VWUoe30sam1hKSxCQjE9QmYoc2dhKSxvZ2E9WyJjbGFzcyIsImRhdGEtcHJlZml4IiwiZGF0YS1pY29uIiwiZGF0YS1mYS10cmFuc2Zvcm0iLCJkYXRhLWZhLW1hc2siXSxGMmU9em1hLG5nYT1bXS5jb25jYXQoTXMoWW1hKSxNcyhLOWEpKSxIZj1lbC5Gb250QXdlc29tZUNvbmZpZ3x8e307aShsZ2EsImdldEF0dHJDb25maWciKTtpKGNnYSwiY29lcmNlIiksTmEmJnR5cGVvZiBOYS5xdWVyeVNlbGVjdG9yPT0iZnVuY3Rpb24iJiYoZ2R0PVtbImRhdGEtZmFtaWx5LXByZWZpeCIsImZhbWlseVByZWZpeCJdLFsiZGF0YS1jc3MtcHJlZml4IiwiY3NzUHJlZml4Il0sWyJkYXRhLWZhbWlseS1kZWZhdWx0IiwiZmFtaWx5RGVmYXVsdCJdLFsiZGF0YS1zdHlsZS1kZWZhdWx0Iiwic3R5bGVEZWZhdWx0Il0sWyJkYXRhLXJlcGxhY2VtZW50LWNsYXNzIiwicmVwbGFjZW1lbnRDbGFzcyJdLFsiZGF0YS1hdXRvLXJlcGxhY2Utc3ZnIiwiYXV0b1JlcGxhY2VTdmciXSxbImRhdGEtYXV0by1hZGQtY3NzIiwiYXV0b0FkZENzcyJdLFsiZGF0YS1zZWFyY2gtcHNldWRvLWVsZW1lbnRzIiwic2VhcmNoUHNldWRvRWxlbWVudHMiXSxbImRhdGEtc2VhcmNoLXBzZXVkby1lbGVtZW50cy13YXJuaW5ncyIsInNlYXJjaFBzZXVkb0VsZW1lbnRzV2FybmluZ3MiXSxbImRhdGEtc2VhcmNoLXBzZXVkby1lbGVtZW50cy1mdWxsLXNjYW4iLCJzZWFyY2hQc2V1ZG9FbGVtZW50c0Z1bGxTY2FuIl0sWyJkYXRhLW9ic2VydmUtbXV0YXRpb25zIiwib2JzZXJ2ZU11dGF0aW9ucyJdLFsiZGF0YS1tdXRhdGUtYXBwcm9hY2giLCJtdXRhdGVBcHByb2FjaCJdLFsiZGF0YS1rZWVwLW9yaWdpbmFsLXNvdXJjZSIsImtlZXBPcmlnaW5hbFNvdXJjZSJdLFsiZGF0YS1tZWFzdXJlLXBlcmZvcm1hbmNlIiwibWVhc3VyZVBlcmZvcm1hbmNlIl0sWyJkYXRhLXNob3ctbWlzc2luZy1pY29ucyIsInNob3dNaXNzaW5nSWNvbnMiXV0sZ2R0LmZvckVhY2goZnVuY3Rpb24odCl7dmFyIGU9YkcodCwyKSxhPWVbMF0scj1lWzFdLHM9Y2dhKGxnYShhKSk7cyE9bnVsbCYmKEhmW3JdPXMpfSkpO2JkdD17c3R5bGVEZWZhdWx0OiJzb2xpZCIsZmFtaWx5RGVmYXVsdDpKMSxjc3NQcmVmaXg6bGR0LHJlcGxhY2VtZW50Q2xhc3M6Y2R0LGF1dG9SZXBsYWNlU3ZnOiEwLGF1dG9BZGRDc3M6ITAsc2VhcmNoUHNldWRvRWxlbWVudHM6ITEsc2VhcmNoUHNldWRvRWxlbWVudHNXYXJuaW5nczohMCxzZWFyY2hQc2V1ZG9FbGVtZW50c0Z1bGxTY2FuOiExLG9ic2VydmVNdXRhdGlvbnM6ITAsbXV0YXRlQXBwcm9hY2g6ImFzeW5jIixrZWVwT3JpZ2luYWxTb3VyY2U6ITAsbWVhc3VyZVBlcmZvcm1hbmNlOiExLHNob3dNaXNzaW5nSWNvbnM6ITB9O0hmLmZhbWlseVByZWZpeCYmKEhmLmNzc1ByZWZpeD1IZi5mYW1pbHlQcmVmaXgpO1Q4PVVlKFVlKHt9LGJkdCksSGYpO1Q4LmF1dG9SZXBsYWNlU3ZnfHwoVDgub2JzZXJ2ZU11dGF0aW9ucz0hMSk7aHQ9e307T2JqZWN0LmtleXMoYmR0KS5mb3JFYWNoKGZ1bmN0aW9uKHQpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShodCx0LHtlbnVtZXJhYmxlOiEwLHNldDppKGZ1bmN0aW9uKGEpe1Q4W3RdPWEscWYuZm9yRWFjaChmdW5jdGlvbihyKXtyZXR1cm4gcihodCl9KX0sInNldCIpLGdldDppKGZ1bmN0aW9uKCl7cmV0dXJuIFQ4W3RdfSwiZ2V0Iil9KX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShodCwiZmFtaWx5UHJlZml4Iix7ZW51bWVyYWJsZTohMCxzZXQ6aShmdW5jdGlvbihlKXtUOC5jc3NQcmVmaXg9ZSxxZi5mb3JFYWNoKGZ1bmN0aW9uKGEpe3JldHVybiBhKGh0KX0pfSwic2V0IiksZ2V0OmkoZnVuY3Rpb24oKXtyZXR1cm4gVDguY3NzUHJlZml4fSwiZ2V0Iil9KSxlbC5Gb250QXdlc29tZUNvbmZpZz1odDtxZj1bXTtpKGRnYSwib25DaGFuZ2UiKTt0bD0kMmUsUzI9e3NpemU6MTYseDowLHk6MCxyb3RhdGU6MCxmbGlwWDohMSxmbGlwWTohMX07aShwZ2EsImluc2VydENzcyIpO3VnYT0iMDEyMzQ1Njc4OWFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVoiO2kodmR0LCJuZXh0VW5pcXVlSWQiKTtpKEw4LCJ0b0FycmF5Iik7aShPMmUsImNsYXNzQXJyYXkiKTtpKHhkdCwiaHRtbEVzY2FwZSIpO2koZmdhLCJqb2luQXR0cmlidXRlcyIpO2kod0csImpvaW5TdHlsZXMiKTtpKEIyZSwidHJhbnNmb3JtSXNNZWFuaW5nZnVsIik7aShoZ2EsInRyYW5zZm9ybUZvclN2ZyIpO2kobWdhLCJ0cmFuc2Zvcm1Gb3JDc3MiKTtnZ2E9YDpyb290LCA6aG9zdCB7CiAgLS1mYS1mb250LXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBGcmVlJzsKICAtLWZhLWZvbnQtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgRnJlZSc7CiAgLS1mYS1mb250LWxpZ2h0OiBub3JtYWwgMzAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBQcm8nOwogIC0tZmEtZm9udC10aGluOiBub3JtYWwgMTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBQcm8nOwogIC0tZmEtZm9udC1kdW90b25lOiBub3JtYWwgOTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBEdW90b25lJzsKICAtLWZhLWZvbnQtZHVvdG9uZS1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBEdW90b25lJzsKICAtLWZhLWZvbnQtZHVvdG9uZS1saWdodDogbm9ybWFsIDMwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgRHVvdG9uZSc7CiAgLS1mYS1mb250LWR1b3RvbmUtdGhpbjogbm9ybWFsIDEwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgRHVvdG9uZSc7CiAgLS1mYS1mb250LWJyYW5kczogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgQnJhbmRzJzsKICAtLWZhLWZvbnQtc2hhcnAtc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNoYXJwJzsKICAtLWZhLWZvbnQtc2hhcnAtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgU2hhcnAnOwogIC0tZmEtZm9udC1zaGFycC1saWdodDogbm9ybWFsIDMwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgU2hhcnAnOwogIC0tZmEtZm9udC1zaGFycC10aGluOiBub3JtYWwgMTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTaGFycCc7CiAgLS1mYS1mb250LXNoYXJwLWR1b3RvbmUtc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNoYXJwIER1b3RvbmUnOwogIC0tZmEtZm9udC1zaGFycC1kdW90b25lLXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNoYXJwIER1b3RvbmUnOwogIC0tZmEtZm9udC1zaGFycC1kdW90b25lLWxpZ2h0OiBub3JtYWwgMzAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTaGFycCBEdW90b25lJzsKICAtLWZhLWZvbnQtc2hhcnAtZHVvdG9uZS10aGluOiBub3JtYWwgMTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTaGFycCBEdW90b25lJzsKICAtLWZhLWZvbnQtc2xhYi1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTbGFiJzsKICAtLWZhLWZvbnQtc2xhYi1wcmVzcy1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTbGFiIFByZXNzJzsKICAtLWZhLWZvbnQtd2hpdGVib2FyZC1zZW1pYm9sZDogbm9ybWFsIDYwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgV2hpdGVib2FyZCc7CiAgLS1mYS1mb250LXRodW1icHJpbnQtbGlnaHQ6IG5vcm1hbCAzMDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFRodW1icHJpbnQnOwogIC0tZmEtZm9udC1ub3Rkb2ctc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IE5vdGRvZyc7CiAgLS1mYS1mb250LW5vdGRvZy1kdW8tc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IE5vdGRvZyBEdW8nOwogIC0tZmEtZm9udC1ldGNoLXNvbGlkOiBub3JtYWwgOTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBFdGNoJzsKICAtLWZhLWZvbnQtZ3JhcGhpdGUtdGhpbjogbm9ybWFsIDEwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgR3JhcGhpdGUnOwogIC0tZmEtZm9udC1qZWxseS1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBKZWxseSc7CiAgLS1mYS1mb250LWplbGx5LWZpbGwtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgSmVsbHkgRmlsbCc7CiAgLS1mYS1mb250LWplbGx5LWR1by1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBKZWxseSBEdW8nOwogIC0tZmEtZm9udC1jaGlzZWwtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgQ2hpc2VsJzsKICAtLWZhLWZvbnQtdXRpbGl0eS1zZW1pYm9sZDogbm9ybWFsIDYwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgVXRpbGl0eSc7CiAgLS1mYS1mb250LXV0aWxpdHktZHVvLXNlbWlib2xkOiBub3JtYWwgNjAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBVdGlsaXR5IER1byc7CiAgLS1mYS1mb250LXV0aWxpdHktZmlsbC1zZW1pYm9sZDogbm9ybWFsIDYwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgVXRpbGl0eSBGaWxsJzsKfQoKLnN2Zy1pbmxpbmUtLWZhIHsKICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsKICBkaXNwbGF5OiB2YXIoLS1mYS1kaXNwbGF5LCBpbmxpbmUtYmxvY2spOwogIGhlaWdodDogMWVtOwogIG92ZXJmbG93OiB2aXNpYmxlOwogIHZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTsKICB3aWR0aDogdmFyKC0tZmEtd2lkdGgsIDEuMjVlbSk7Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLTJ4cyB7CiAgdmVydGljYWwtYWxpZ246IDAuMWVtOwp9Ci5zdmctaW5saW5lLS1mYS5mYS14cyB7CiAgdmVydGljYWwtYWxpZ246IDBlbTsKfQouc3ZnLWlubGluZS0tZmEuZmEtc20gewogIHZlcnRpY2FsLWFsaWduOiAtMC4wNzE0Mjg1NzE0ZW07Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLWxnIHsKICB2ZXJ0aWNhbC1hbGlnbjogLTAuMmVtOwp9Ci5zdmctaW5saW5lLS1mYS5mYS14bCB7CiAgdmVydGljYWwtYWxpZ246IC0wLjI1ZW07Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLTJ4bCB7CiAgdmVydGljYWwtYWxpZ246IC0wLjMxMjVlbTsKfQouc3ZnLWlubGluZS0tZmEuZmEtcHVsbC1sZWZ0LAouc3ZnLWlubGluZS0tZmEgLmZhLXB1bGwtc3RhcnQgewogIGZsb2F0OiBpbmxpbmUtc3RhcnQ7CiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWZhLXB1bGwtbWFyZ2luLCAwLjNlbSk7Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLXB1bGwtcmlnaHQsCi5zdmctaW5saW5lLS1mYSAuZmEtcHVsbC1lbmQgewogIGZsb2F0OiBpbmxpbmUtZW5kOwogIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWZhLXB1bGwtbWFyZ2luLCAwLjNlbSk7Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLWxpIHsKICB3aWR0aDogdmFyKC0tZmEtbGktd2lkdGgsIDJlbSk7CiAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKC0xICogdmFyKC0tZmEtbGktd2lkdGgsIDJlbSkpOwogIGluc2V0LWJsb2NrLXN0YXJ0OiAwLjI1ZW07IC8qIHN5bmNpbmcgdmVydGljYWwgYWxpZ25tZW50IHdpdGggV2ViIEZvbnQgcmVuZGVyaW5nICovCn0KCi5mYS1sYXllcnMtY291bnRlciwgLmZhLWxheWVycy10ZXh0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoKLmZhLWxheWVycyB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGhlaWdodDogMWVtOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdmVydGljYWwtYWxpZ246IC0wLjEyNWVtOwogIHdpZHRoOiB2YXIoLS1mYS13aWR0aCwgMS4yNWVtKTsKfQouZmEtbGF5ZXJzIC5zdmctaW5saW5lLS1mYSB7CiAgaW5zZXQ6IDA7CiAgbWFyZ2luOiBhdXRvOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOwp9CgouZmEtbGF5ZXJzLXRleHQgewogIGxlZnQ6IDUwJTsKICB0b3A6IDUwJTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOwp9CgouZmEtbGF5ZXJzLWNvdW50ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZhLWNvdW50ZXItYmFja2dyb3VuZC1jb2xvciwgI2ZmMjUzYSk7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZmEtY291bnRlci1ib3JkZXItcmFkaXVzLCAxZW0pOwogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgY29sb3I6IHZhcigtLWZhLWludmVyc2UsICNmZmYpOwogIGxpbmUtaGVpZ2h0OiB2YXIoLS1mYS1jb3VudGVyLWxpbmUtaGVpZ2h0LCAxKTsKICBtYXgtd2lkdGg6IHZhcigtLWZhLWNvdW50ZXItbWF4LXdpZHRoLCA1ZW0pOwogIG1pbi13aWR0aDogdmFyKC0tZmEtY291bnRlci1taW4td2lkdGgsIDEuNWVtKTsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBhZGRpbmc6IHZhcigtLWZhLWNvdW50ZXItcGFkZGluZywgMC4yNWVtIDAuNWVtKTsKICByaWdodDogdmFyKC0tZmEtcmlnaHQsIDApOwogIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogIHRvcDogdmFyKC0tZmEtdG9wLCAwKTsKICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWNvdW50ZXItc2NhbGUsIDAuMjUpKTsKICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7Cn0KCi5mYS1sYXllcnMtYm90dG9tLXJpZ2h0IHsKICBib3R0b206IHZhcigtLWZhLWJvdHRvbSwgMCk7CiAgcmlnaHQ6IHZhcigtLWZhLXJpZ2h0LCAwKTsKICB0b3A6IGF1dG87CiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1sYXllcnMtc2NhbGUsIDAuMjUpKTsKICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7Cn0KCi5mYS1sYXllcnMtYm90dG9tLWxlZnQgewogIGJvdHRvbTogdmFyKC0tZmEtYm90dG9tLCAwKTsKICBsZWZ0OiB2YXIoLS1mYS1sZWZ0LCAwKTsKICByaWdodDogYXV0bzsKICB0b3A6IGF1dG87CiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1sYXllcnMtc2NhbGUsIDAuMjUpKTsKICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gbGVmdDsKfQoKLmZhLWxheWVycy10b3AtcmlnaHQgewogIHRvcDogdmFyKC0tZmEtdG9wLCAwKTsKICByaWdodDogdmFyKC0tZmEtcmlnaHQsIDApOwogIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtbGF5ZXJzLXNjYWxlLCAwLjI1KSk7CiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIHJpZ2h0Owp9CgouZmEtbGF5ZXJzLXRvcC1sZWZ0IHsKICBsZWZ0OiB2YXIoLS1mYS1sZWZ0LCAwKTsKICByaWdodDogYXV0bzsKICB0b3A6IHZhcigtLWZhLXRvcCwgMCk7CiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1sYXllcnMtc2NhbGUsIDAuMjUpKTsKICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsKfQoKLmZhLTF4IHsKICBmb250LXNpemU6IDFlbTsKfQoKLmZhLTJ4IHsKICBmb250LXNpemU6IDJlbTsKfQoKLmZhLTN4IHsKICBmb250LXNpemU6IDNlbTsKfQoKLmZhLTR4IHsKICBmb250LXNpemU6IDRlbTsKfQoKLmZhLTV4IHsKICBmb250LXNpemU6IDVlbTsKfQoKLmZhLTZ4IHsKICBmb250LXNpemU6IDZlbTsKfQoKLmZhLTd4IHsKICBmb250LXNpemU6IDdlbTsKfQoKLmZhLTh4IHsKICBmb250LXNpemU6IDhlbTsKfQoKLmZhLTl4IHsKICBmb250LXNpemU6IDllbTsKfQoKLmZhLTEweCB7CiAgZm9udC1zaXplOiAxMGVtOwp9CgouZmEtMnhzIHsKICBmb250LXNpemU6IGNhbGMoMTAgLyAxNiAqIDFlbSk7IC8qIGNvbnZlcnRzIGEgMTBweCBzaXplIGludG8gYW4gZW0tYmFzZWQgdmFsdWUgdGhhdCdzIHJlbGF0aXZlIHRvIHRoZSBzY2FsZSdzIDE2cHggYmFzZSAqLwogIGxpbmUtaGVpZ2h0OiBjYWxjKDEgLyAxMCAqIDFlbSk7IC8qIHNldHMgdGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBpY29uIGJhY2sgdG8gdGhhdCBvZiBpdCdzIHBhcmVudCAqLwogIHZlcnRpY2FsLWFsaWduOiBjYWxjKCg2IC8gMTAgLSAwLjM3NSkgKiAxZW0pOyAvKiB2ZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGljb24gdGFraW5nIGludG8gYWNjb3VudCB0aGUgc3Vycm91bmRpbmcgdGV4dCdzIGRlc2NlbmRlciAqLwp9CgouZmEteHMgewogIGZvbnQtc2l6ZTogY2FsYygxMiAvIDE2ICogMWVtKTsgLyogY29udmVydHMgYSAxMnB4IHNpemUgaW50byBhbiBlbS1iYXNlZCB2YWx1ZSB0aGF0J3MgcmVsYXRpdmUgdG8gdGhlIHNjYWxlJ3MgMTZweCBiYXNlICovCiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAvIDEyICogMWVtKTsgLyogc2V0cyB0aGUgbGluZS1oZWlnaHQgb2YgdGhlIGljb24gYmFjayB0byB0aGF0IG9mIGl0J3MgcGFyZW50ICovCiAgdmVydGljYWwtYWxpZ246IGNhbGMoKDYgLyAxMiAtIDAuMzc1KSAqIDFlbSk7IC8qIHZlcnRpY2FsbHkgY2VudGVycyB0aGUgaWNvbiB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBzdXJyb3VuZGluZyB0ZXh0J3MgZGVzY2VuZGVyICovCn0KCi5mYS1zbSB7CiAgZm9udC1zaXplOiBjYWxjKDE0IC8gMTYgKiAxZW0pOyAvKiBjb252ZXJ0cyBhIDE0cHggc2l6ZSBpbnRvIGFuIGVtLWJhc2VkIHZhbHVlIHRoYXQncyByZWxhdGl2ZSB0byB0aGUgc2NhbGUncyAxNnB4IGJhc2UgKi8KICBsaW5lLWhlaWdodDogY2FsYygxIC8gMTQgKiAxZW0pOyAvKiBzZXRzIHRoZSBsaW5lLWhlaWdodCBvZiB0aGUgaWNvbiBiYWNrIHRvIHRoYXQgb2YgaXQncyBwYXJlbnQgKi8KICB2ZXJ0aWNhbC1hbGlnbjogY2FsYygoNiAvIDE0IC0gMC4zNzUpICogMWVtKTsgLyogdmVydGljYWxseSBjZW50ZXJzIHRoZSBpY29uIHRha2luZyBpbnRvIGFjY291bnQgdGhlIHN1cnJvdW5kaW5nIHRleHQncyBkZXNjZW5kZXIgKi8KfQoKLmZhLWxnIHsKICBmb250LXNpemU6IGNhbGMoMjAgLyAxNiAqIDFlbSk7IC8qIGNvbnZlcnRzIGEgMjBweCBzaXplIGludG8gYW4gZW0tYmFzZWQgdmFsdWUgdGhhdCdzIHJlbGF0aXZlIHRvIHRoZSBzY2FsZSdzIDE2cHggYmFzZSAqLwogIGxpbmUtaGVpZ2h0OiBjYWxjKDEgLyAyMCAqIDFlbSk7IC8qIHNldHMgdGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBpY29uIGJhY2sgdG8gdGhhdCBvZiBpdCdzIHBhcmVudCAqLwogIHZlcnRpY2FsLWFsaWduOiBjYWxjKCg2IC8gMjAgLSAwLjM3NSkgKiAxZW0pOyAvKiB2ZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGljb24gdGFraW5nIGludG8gYWNjb3VudCB0aGUgc3Vycm91bmRpbmcgdGV4dCdzIGRlc2NlbmRlciAqLwp9CgouZmEteGwgewogIGZvbnQtc2l6ZTogY2FsYygyNCAvIDE2ICogMWVtKTsgLyogY29udmVydHMgYSAyNHB4IHNpemUgaW50byBhbiBlbS1iYXNlZCB2YWx1ZSB0aGF0J3MgcmVsYXRpdmUgdG8gdGhlIHNjYWxlJ3MgMTZweCBiYXNlICovCiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAvIDI0ICogMWVtKTsgLyogc2V0cyB0aGUgbGluZS1oZWlnaHQgb2YgdGhlIGljb24gYmFjayB0byB0aGF0IG9mIGl0J3MgcGFyZW50ICovCiAgdmVydGljYWwtYWxpZ246IGNhbGMoKDYgLyAyNCAtIDAuMzc1KSAqIDFlbSk7IC8qIHZlcnRpY2FsbHkgY2VudGVycyB0aGUgaWNvbiB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBzdXJyb3VuZGluZyB0ZXh0J3MgZGVzY2VuZGVyICovCn0KCi5mYS0yeGwgewogIGZvbnQtc2l6ZTogY2FsYygzMiAvIDE2ICogMWVtKTsgLyogY29udmVydHMgYSAzMnB4IHNpemUgaW50byBhbiBlbS1iYXNlZCB2YWx1ZSB0aGF0J3MgcmVsYXRpdmUgdG8gdGhlIHNjYWxlJ3MgMTZweCBiYXNlICovCiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAvIDMyICogMWVtKTsgLyogc2V0cyB0aGUgbGluZS1oZWlnaHQgb2YgdGhlIGljb24gYmFjayB0byB0aGF0IG9mIGl0J3MgcGFyZW50ICovCiAgdmVydGljYWwtYWxpZ246IGNhbGMoKDYgLyAzMiAtIDAuMzc1KSAqIDFlbSk7IC8qIHZlcnRpY2FsbHkgY2VudGVycyB0aGUgaWNvbiB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBzdXJyb3VuZGluZyB0ZXh0J3MgZGVzY2VuZGVyICovCn0KCi5mYS13aWR0aC1hdXRvIHsKICAtLWZhLXdpZHRoOiBhdXRvOwp9CgouZmEtZncsCi5mYS13aWR0aC1maXhlZCB7CiAgLS1mYS13aWR0aDogMS4yNWVtOwp9CgouZmEtdWwgewogIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1mYS1saS1tYXJnaW4sIDIuNWVtKTsKICBwYWRkaW5nLWlubGluZS1zdGFydDogMDsKfQouZmEtdWwgPiBsaSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CgouZmEtbGkgewogIGluc2V0LWlubGluZS1zdGFydDogY2FsYygtMSAqIHZhcigtLWZhLWxpLXdpZHRoLCAyZW0pKTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHdpZHRoOiB2YXIoLS1mYS1saS13aWR0aCwgMmVtKTsKICBsaW5lLWhlaWdodDogaW5oZXJpdDsKfQoKLyogSGVhZHMgVXA6IEJvcmRlcmVkIEljb25zIHdpbGwgbm90IGJlIHN1cHBvcnRlZCBpbiB0aGUgZnV0dXJlIQogIC0gVGhpcyBmZWF0dXJlIHdpbGwgYmUgZGVwcmVjYXRlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlIG9mIEZvbnQgQXdlc29tZSAodjgpIQogIC0gWW91IG1heSBjb250aW51ZSB0byB1c2UgaXQgaW4gdGhpcyB2ZXJzaW9uICp2NyksIGJ1dCBpdCB3aWxsIG5vdCBiZSBzdXBwb3J0ZWQgaW4gRm9udCBBd2Vzb21lIHY4LgoqLwovKiBOb3RlczoKKiAtLUB7di4kY3NzLXByZWZpeH0tYm9yZGVyLXdpZHRoID0gMS8xNiBieSBkZWZhdWx0ICh0byByZW5kZXIgYXMgfjFweCBiYXNlZCBvbiBhIDE2cHggZGVmYXVsdCBmb250LXNpemUpCiogLS1Ae3YuJGNzcy1wcmVmaXh9LWJvcmRlci1wYWRkaW5nID0KICAqKiAzLzE2IGZvciB2ZXJ0aWNhbCBwYWRkaW5nICh0byBnaXZlIH4ycHggb2YgdmVydGljYWwgd2hpdGVzcGFjZSBhcm91bmQgYW4gaWNvbiBjb25zaWRlcmluZyBpdCdzIHZlcnRpY2FsIGFsaWdubWVudCkKICAqKiA0LzE2IGZvciBob3Jpem9udGFsIHBhZGRpbmcgKHRvIGdpdmUgfjRweCBvZiBob3Jpem9udGFsIHdoaXRlc3BhY2UgYXJvdW5kIGFuIGljb24pCiovCi5mYS1ib3JkZXIgewogIGJvcmRlci1jb2xvcjogdmFyKC0tZmEtYm9yZGVyLWNvbG9yLCAjZWVlKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1mYS1ib3JkZXItcmFkaXVzLCAwLjFlbSk7CiAgYm9yZGVyLXN0eWxlOiB2YXIoLS1mYS1ib3JkZXItc3R5bGUsIHNvbGlkKTsKICBib3JkZXItd2lkdGg6IHZhcigtLWZhLWJvcmRlci13aWR0aCwgMC4wNjI1ZW0pOwogIGJveC1zaXppbmc6IHZhcigtLWZhLWJvcmRlci1ib3gtc2l6aW5nLCBjb250ZW50LWJveCk7CiAgcGFkZGluZzogdmFyKC0tZmEtYm9yZGVyLXBhZGRpbmcsIDAuMTg3NWVtIDAuMjVlbSk7Cn0KCi5mYS1wdWxsLWxlZnQsCi5mYS1wdWxsLXN0YXJ0IHsKICBmbG9hdDogaW5saW5lLXN0YXJ0OwogIG1hcmdpbi1pbmxpbmUtZW5kOiB2YXIoLS1mYS1wdWxsLW1hcmdpbiwgMC4zZW0pOwp9CgouZmEtcHVsbC1yaWdodCwKLmZhLXB1bGwtZW5kIHsKICBmbG9hdDogaW5saW5lLWVuZDsKICBtYXJnaW4taW5saW5lLXN0YXJ0OiB2YXIoLS1mYS1wdWxsLW1hcmdpbiwgMC4zZW0pOwp9CgouZmEtYmVhdCB7CiAgYW5pbWF0aW9uLW5hbWU6IGZhLWJlYXQ7CiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTsKICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpOwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGVhc2UtaW4tb3V0KTsKfQoKLmZhLWJvdW5jZSB7CiAgYW5pbWF0aW9uLW5hbWU6IGZhLWJvdW5jZTsKICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpOwogIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgY3ViaWMtYmV6aWVyKDAuMjgsIDAuODQsIDAuNDIsIDEpKTsKfQoKLmZhLWZhZGUgewogIGFuaW1hdGlvbi1uYW1lOiBmYS1mYWRlOwogIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTsKICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpKTsKfQoKLmZhLWJlYXQtZmFkZSB7CiAgYW5pbWF0aW9uLW5hbWU6IGZhLWJlYXQtZmFkZTsKICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpOwogIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSk7Cn0KCi5mYS1mbGlwIHsKICBhbmltYXRpb24tbmFtZTogZmEtZmxpcDsKICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpOwogIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgZWFzZS1pbi1vdXQpOwp9CgouZmEtc2hha2UgewogIGFuaW1hdGlvbi1uYW1lOiBmYS1zaGFrZTsKICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpOwogIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgbGluZWFyKTsKfQoKLmZhLXNwaW4gewogIGFuaW1hdGlvbi1uYW1lOiBmYS1zcGluOwogIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTsKICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMnMpOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBsaW5lYXIpOwp9CgouZmEtc3Bpbi1yZXZlcnNlIHsKICAtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb246IHJldmVyc2U7Cn0KCi5mYS1wdWxzZSwKLmZhLXNwaW4tcHVsc2UgewogIGFuaW1hdGlvbi1uYW1lOiBmYS1zcGluOwogIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgc3RlcHMoOCkpOwp9CgpAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkgewogIC5mYS1iZWF0LAogIC5mYS1ib3VuY2UsCiAgLmZhLWZhZGUsCiAgLmZhLWJlYXQtZmFkZSwKICAuZmEtZmxpcCwKICAuZmEtcHVsc2UsCiAgLmZhLXNoYWtlLAogIC5mYS1zcGluLAogIC5mYS1zcGluLXB1bHNlIHsKICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OwogIH0KfQpAa2V5ZnJhbWVzIGZhLWJlYXQgewogIDAlLCA5MCUgewogICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB9CiAgNDUlIHsKICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYmVhdC1zY2FsZSwgMS4yNSkpOwogIH0KfQpAa2V5ZnJhbWVzIGZhLWJvdW5jZSB7CiAgMCUgewogICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApOwogIH0KICAxMCUgewogICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1ib3VuY2Utc3RhcnQtc2NhbGUteCwgMS4xKSwgdmFyKC0tZmEtYm91bmNlLXN0YXJ0LXNjYWxlLXksIDAuOSkpIHRyYW5zbGF0ZVkoMCk7CiAgfQogIDMwJSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXgsIDAuOSksIHZhcigtLWZhLWJvdW5jZS1qdW1wLXNjYWxlLXksIDEuMSkpIHRyYW5zbGF0ZVkodmFyKC0tZmEtYm91bmNlLWhlaWdodCwgLTAuNWVtKSk7CiAgfQogIDUwJSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1sYW5kLXNjYWxlLXgsIDEuMDUpLCB2YXIoLS1mYS1ib3VuY2UtbGFuZC1zY2FsZS15LCAwLjk1KSkgdHJhbnNsYXRlWSgwKTsKICB9CiAgNTclIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSh2YXIoLS1mYS1ib3VuY2UtcmVib3VuZCwgLTAuMTI1ZW0pKTsKICB9CiAgNjQlIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTsKICB9CiAgMTAwJSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7CiAgfQp9CkBrZXlmcmFtZXMgZmEtZmFkZSB7CiAgNTAlIHsKICAgIG9wYWNpdHk6IHZhcigtLWZhLWZhZGUtb3BhY2l0eSwgMC40KTsKICB9Cn0KQGtleWZyYW1lcyBmYS1iZWF0LWZhZGUgewogIDAlLCAxMDAlIHsKICAgIG9wYWNpdHk6IHZhcigtLWZhLWJlYXQtZmFkZS1vcGFjaXR5LCAwLjQpOwogICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB9CiAgNTAlIHsKICAgIG9wYWNpdHk6IDE7CiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJlYXQtZmFkZS1zY2FsZSwgMS4xMjUpKTsKICB9Cn0KQGtleWZyYW1lcyBmYS1mbGlwIHsKICA1MCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUzZCh2YXIoLS1mYS1mbGlwLXgsIDApLCB2YXIoLS1mYS1mbGlwLXksIDEpLCB2YXIoLS1mYS1mbGlwLXosIDApLCB2YXIoLS1mYS1mbGlwLWFuZ2xlLCAtMTgwZGVnKSk7CiAgfQp9CkBrZXlmcmFtZXMgZmEtc2hha2UgewogIDAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKC0xNWRlZyk7CiAgfQogIDQlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsKICB9CiAgOCUsIDI0JSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMThkZWcpOwogIH0KICAxMiUsIDI4JSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxOGRlZyk7CiAgfQogIDE2JSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjJkZWcpOwogIH0KICAyMCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoMjJkZWcpOwogIH0KICAzMiUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoLTEyZGVnKTsKICB9CiAgMzYlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDEyZGVnKTsKICB9CiAgNDAlLCAxMDAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogIH0KfQpAa2V5ZnJhbWVzIGZhLXNwaW4gewogIDAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogIH0KICAxMDAlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgfQp9Ci5mYS1yb3RhdGUtOTAgewogIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsKfQoKLmZhLXJvdGF0ZS0xODAgewogIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7Cn0KCi5mYS1yb3RhdGUtMjcwIHsKICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOwp9CgouZmEtZmxpcC1ob3Jpem9udGFsIHsKICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTsKfQoKLmZhLWZsaXAtdmVydGljYWwgewogIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOwp9CgouZmEtZmxpcC1ib3RoLAouZmEtZmxpcC1ob3Jpem9udGFsLmZhLWZsaXAtdmVydGljYWwgewogIHRyYW5zZm9ybTogc2NhbGUoLTEsIC0xKTsKfQoKLmZhLXJvdGF0ZS1ieSB7CiAgdHJhbnNmb3JtOiByb3RhdGUodmFyKC0tZmEtcm90YXRlLWFuZ2xlLCAwKSk7Cn0KCi5zdmctaW5saW5lLS1mYSAuZmEtcHJpbWFyeSB7CiAgZmlsbDogdmFyKC0tZmEtcHJpbWFyeS1jb2xvciwgY3VycmVudENvbG9yKTsKICBvcGFjaXR5OiB2YXIoLS1mYS1wcmltYXJ5LW9wYWNpdHksIDEpOwp9Cgouc3ZnLWlubGluZS0tZmEgLmZhLXNlY29uZGFyeSB7CiAgZmlsbDogdmFyKC0tZmEtc2Vjb25kYXJ5LWNvbG9yLCBjdXJyZW50Q29sb3IpOwogIG9wYWNpdHk6IHZhcigtLWZhLXNlY29uZGFyeS1vcGFjaXR5LCAwLjQpOwp9Cgouc3ZnLWlubGluZS0tZmEuZmEtc3dhcC1vcGFjaXR5IC5mYS1wcmltYXJ5IHsKICBvcGFjaXR5OiB2YXIoLS1mYS1zZWNvbmRhcnktb3BhY2l0eSwgMC40KTsKfQoKLnN2Zy1pbmxpbmUtLWZhLmZhLXN3YXAtb3BhY2l0eSAuZmEtc2Vjb25kYXJ5IHsKICBvcGFjaXR5OiB2YXIoLS1mYS1wcmltYXJ5LW9wYWNpdHksIDEpOwp9Cgouc3ZnLWlubGluZS0tZmEgbWFzayAuZmEtcHJpbWFyeSwKLnN2Zy1pbmxpbmUtLWZhIG1hc2sgLmZhLXNlY29uZGFyeSB7CiAgZmlsbDogYmxhY2s7Cn0KCi5zdmctaW5saW5lLS1mYS5mYS1pbnZlcnNlIHsKICBmaWxsOiB2YXIoLS1mYS1pbnZlcnNlLCAjZmZmKTsKfQoKLmZhLXN0YWNrIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgaGVpZ2h0OiAyZW07CiAgbGluZS1oZWlnaHQ6IDJlbTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aWR0aDogMi41ZW07Cn0KCi5mYS1pbnZlcnNlIHsKICBjb2xvcjogdmFyKC0tZmEtaW52ZXJzZSwgI2ZmZik7Cn0KCi5zdmctaW5saW5lLS1mYS5mYS1zdGFjay0xeCB7CiAgLS1mYS13aWR0aDogMS4yNWVtOwogIGhlaWdodDogMWVtOwogIHdpZHRoOiB2YXIoLS1mYS13aWR0aCk7Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLXN0YWNrLTJ4IHsKICAtLWZhLXdpZHRoOiAyLjVlbTsKICBoZWlnaHQ6IDJlbTsKICB3aWR0aDogdmFyKC0tZmEtd2lkdGgpOwp9CgouZmEtc3RhY2stMXgsCi5mYS1zdGFjay0yeCB7CiAgaW5zZXQ6IDA7CiAgbWFyZ2luOiBhdXRvOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiB2YXIoLS1mYS1zdGFjay16LWluZGV4LCBhdXRvKTsKfWA7aSh5ZHQsImNzcyIpO3dkdD0hMTtpKEgyZSwiZW5zdXJlQ3NzIik7YmdhPXttaXhvdXQ6aShmdW5jdGlvbigpe3JldHVybntkb206e2Nzczp5ZHQsaW5zZXJ0Q3NzOkgyZX19fSwibWl4b3V0IiksaG9va3M6aShmdW5jdGlvbigpe3JldHVybntiZWZvcmVET01FbGVtZW50Q3JlYXRpb246aShmdW5jdGlvbigpe0gyZSgpfSwiYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uIiksYmVmb3JlSTJzdmc6aShmdW5jdGlvbigpe0gyZSgpfSwiYmVmb3JlSTJzdmciKX19LCJob29rcyIpfSx4bz1lbHx8e307eG9bdm9dfHwoeG9bdm9dPXt9KSx4b1t2b10uc3R5bGVzfHwoeG9bdm9dLnN0eWxlcz17fSkseG9bdm9dLmhvb2tzfHwoeG9bdm9dLmhvb2tzPXt9KSx4b1t2b10uc2hpbXN8fCh4b1t2b10uc2hpbXM9W10pO2tzPXhvW3ZvXSxNZHQ9W10sa2R0PWkoZnVuY3Rpb24oKXtOYS5yZW1vdmVFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixrZHQpLE1HPTEsTWR0Lm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZSgpfSl9LCJsaXN0ZW5lciIpLE1HPSExO2JvJiYoTUc9KE5hLmRvY3VtZW50RWxlbWVudC5kb1Njcm9sbD8vXmxvYWRlZHxeYy86L15sb2FkZWR8Xml8XmMvKS50ZXN0KE5hLnJlYWR5U3RhdGUpLE1HfHxOYS5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixrZHQpKTtpKHZnYSwiZG9tcmVhZHkiKTtpKFZmLCJ0b0h0bWwiKTtpKHpkdCwiaWNvbkZyb21NYXBwaW5nIik7eGdhPWkoZnVuY3Rpb24oZSxhKXtyZXR1cm4gZnVuY3Rpb24ocixzLG4sbyl7cmV0dXJuIGUuY2FsbChhLHIscyxuLG8pfX0sImJpbmRJbnRlcm5hbDQiKSxxMmU9aShmdW5jdGlvbihlLGEscixzKXt2YXIgbj1PYmplY3Qua2V5cyhlKSxvPW4ubGVuZ3RoLGw9cyE9PXZvaWQgMD94Z2EoYSxzKTphLGgsdSxmO2ZvcihyPT09dm9pZCAwPyhoPTEsZj1lW25bMF1dKTooaD0wLGY9cik7aDxvO2grKyl1PW5baF0sZj1sKGYsZVt1XSx1LGUpO3JldHVybiBmfSwiZmFzdFJlZHVjZU9iamVjdCIpO2koU2R0LCJ0b0hleCIpO2koQ2R0LCJub3JtYWxpemVJY29ucyIpO2koVjJlLCJkZWZpbmVJY29ucyIpO2oyZT0xLHpzPTIsSEIxPVtbenMsenIoL3BhdGggb3BhY2l0eT0iKFteIl0qKSIuKmQ9IihbXiJdKikiLipwYXRoLipkPSIoW14iXSopIi8se2QyOjIsZDE6M30pXSxbenMsenIoL3BhdGggb3BhY2l0eT0iKFteIl0qKSIuKmQ9IihbXiJdKikiLyx7ZDI6Mn0pXSxbajJlLHpyKC9wYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIuKmQ9IihbXiJdKykiLyx7ZDE6MX0pXV0scUIxPVtbenMsenIoL3BhdGggY2xhc3M9IihbXiJdKnNlY29uZGFyeVteIl0qKSIuKmQ9IihbXiJdKykiLipwYXRoIGNsYXNzPSIoW14iXSpwcmltYXJ5W14iXSopIi4qZD0iKFteIl0rKSIvLHthdHRyMjoxLGQyOjIsYXR0cjE6MyxkMTo0fSldLFt6cyx6cigvcGF0aCBjbGFzcz0iKFteIl0qcHJpbWFyeVteIl0qKSIuKmQ9IihbXiJdKykiLipwYXRoIGNsYXNzPSIoW14iXSpzZWNvbmRhcnlbXiJdKikiLipkPSIoW14iXSspIi8se2F0dHIxOjEsZDE6MixhdHRyMjozLGQyOjR9KV0sW3pzLHpyKC9wYXRoIGNsYXNzPSIoW14iXSpwcmltYXJ5W14iXSopIi4qZD0iKFteIl0rKSIvLHthdHRyMToxLGQxOjJ9KV0sW3pzLHpyKC9wYXRoIGNsYXNzPSIoW14iXSpzZWNvbmRhcnlbXiJdKikiLipkPSIoW14iXSspIi8se2F0dHIyOjEsZDI6Mn0pXSxbenMsenIoL3BhdGggZD0iKFteIl0rKSIuKmNsYXNzPSIoW14iXSpzZWNvbmRhcnlbXiJdKikiLipwYXRoIGQ9IihbXiJdKykiLipjbGFzcz0iKFteIl0qcHJpbWFyeVteIl0qKSIvLHtkMjoxLGF0dHIyOjIsZDE6MyxhdHRyMTo0fSldLFt6cyx6cigvcGF0aCBkPSIoW14iXSspIi4qY2xhc3M9IihbXiJdKnByaW1hcnlbXiJdKikiLipwYXRoIGQ9IihbXiJdKykiLipjbGFzcz0iKFteIl0qc2Vjb25kYXJ5W14iXSopIi8se2QxOjEsYXR0cjE6MixkMjozLGF0dHIyOjR9KV0sW3pzLHpyKC9wYXRoIGQ9IihbXiJdKykiLipjbGFzcz0iKFteIl0qcHJpbWFyeVteIl0qKSIvLHtkMToxLGF0dHIxOjJ9KV0sW3pzLHpyKC9wYXRoIGQ9IihbXiJdKykiLipjbGFzcz0iKFteIl0qc2Vjb25kYXJ5W14iXSopIi8se2QyOjEsYXR0cjI6Mn0pXSxbenMsenIoL3BhdGggZD0iKFteIl0rKSIuKnBhdGggZD0iKFteIl0rKSIvLHtkMToxLGQyOjJ9KV0sW2oyZSx6cigvcGF0aCBkPSIoW14iXSspIi8se2QxOjF9KV0sW2oyZSx6cigvcGF0aCBzdHlsZT0iKFteIl0rKSIuKmQ9IihbXiJdKykiLyx7YXR0cjE6MSxkMToyfSldXSxqZj1rcy5zdHlsZXMseWdhPWtzLnNoaW1zLF9kdD1PYmplY3Qua2V5cyhOMmUpLHdnYT1fZHQucmVkdWNlKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRbZV09T2JqZWN0LmtleXMoTjJlW2VdKSx0fSx7fSksVTJlPW51bGwsVGR0PXt9LExkdD17fSwkZHQ9e30sRGR0PXt9LEFkdD17fTtpKE1nYSwiaXNSZXNlcnZlZCIpO2koa2dhLCJnZXRJY29uTmFtZSIpO1BkdD1pKGZ1bmN0aW9uKCl7dmFyIGU9aShmdW5jdGlvbihuKXtyZXR1cm4gcTJlKGpmLGZ1bmN0aW9uKG8sbCxoKXtyZXR1cm4gb1toXT1xMmUobCxuLHt9KSxvfSx7fSl9LCJsb29rdXAiKTtUZHQ9ZShmdW5jdGlvbihzLG4sbyl7aWYoblszXSYmKHNbblszXV09byksblsyXSl7dmFyIGw9blsyXS5maWx0ZXIoZnVuY3Rpb24oaCl7cmV0dXJuIHR5cGVvZiBoPT0ibnVtYmVyIn0pO2wuZm9yRWFjaChmdW5jdGlvbihoKXtzW2gudG9TdHJpbmcoMTYpXT1vfSl9cmV0dXJuIHN9KSxMZHQ9ZShmdW5jdGlvbihzLG4sbyl7aWYoc1tvXT1vLG5bMl0pe3ZhciBsPW5bMl0uZmlsdGVyKGZ1bmN0aW9uKGgpe3JldHVybiB0eXBlb2YgaD09InN0cmluZyJ9KTtsLmZvckVhY2goZnVuY3Rpb24oaCl7c1toXT1vfSl9cmV0dXJuIHN9KSxBZHQ9ZShmdW5jdGlvbihzLG4sbyl7dmFyIGw9blsyXTtyZXR1cm4gc1tvXT1vLGwuZm9yRWFjaChmdW5jdGlvbihoKXtzW2hdPW99KSxzfSk7dmFyIGE9ImZhciJpbiBqZnx8aHQuYXV0b0ZldGNoU3ZnLHI9cTJlKHlnYSxmdW5jdGlvbihzLG4pe3ZhciBvPW5bMF0sbD1uWzFdLGg9blsyXTtyZXR1cm4gbD09PSJmYXIiJiYhYSYmKGw9ImZhcyIpLHR5cGVvZiBvPT0ic3RyaW5nIiYmKHMubmFtZXNbb109e3ByZWZpeDpsLGljb25OYW1lOmh9KSx0eXBlb2Ygbz09Im51bWJlciImJihzLnVuaWNvZGVzW28udG9TdHJpbmcoMTYpXT17cHJlZml4OmwsaWNvbk5hbWU6aH0pLHN9LHtuYW1lczp7fSx1bmljb2Rlczp7fX0pOyRkdD1yLm5hbWVzLERkdD1yLnVuaWNvZGVzLFUyZT1rRyhodC5zdHlsZURlZmF1bHQse2ZhbWlseTpodC5mYW1pbHlEZWZhdWx0fSl9LCJidWlsZCIpO2RnYShmdW5jdGlvbih0KXtVMmU9a0codC5zdHlsZURlZmF1bHQse2ZhbWlseTpodC5mYW1pbHlEZWZhdWx0fSl9KSxQZHQoKTtpKFcyZSwiYnlVbmljb2RlIik7aSh6Z2EsImJ5TGlnYXR1cmUiKTtpKHEwLCJieUFsaWFzIik7aShFZHQsImJ5T2xkTmFtZSIpO2koU2dhLCJieU9sZFVuaWNvZGUiKTtpKGFsLCJnZXREZWZhdWx0VXNhYmxlUHJlZml4Iik7SWR0PWkoZnVuY3Rpb24oKXtyZXR1cm57cHJlZml4Om51bGwsaWNvbk5hbWU6bnVsbCxyZXN0OltdfX0sImVtcHR5Q2Fub25pY2FsSWNvbiIpO2koQ2dhLCJnZXRGYW1pbHlJZCIpO2koa0csImdldENhbm9uaWNhbFByZWZpeCIpO2koX2dhLCJtb3ZlTm9uRmFDbGFzc2VzVG9SZXN0Iik7aShOZHQsInNvcnRlZFVuaXF1ZVZhbHVlcyIpO1JkdD1vZHQuY29uY2F0KHJkdCk7aSh6RywiZ2V0Q2Fub25pY2FsSWNvbiIpO2koVGdhLCJhcHBseVNoaW1BbmRBbGlhcyIpO0xnYT1hZHQuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiB0IT09SjF8fHQhPT1PZn0pLCRnYT1PYmplY3Qua2V5cyhMMmUpLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdCE9PUoxfSkubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3Qua2V5cyhMMmVbdF0pfSkuZmxhdCgpO2koRGdhLCJnZXREZWZhdWx0Q2Fub25pY2FsUHJlZml4Iik7QWdhPShmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXtmbWEodGhpcyx0KSx0aGlzLmRlZmluaXRpb25zPXt9fXJldHVybiBpKHQsIkxpYnJhcnkiKSxobWEodCxbe2tleToiYWRkIix2YWx1ZTppKGZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMscj1hcmd1bWVudHMubGVuZ3RoLHM9bmV3IEFycmF5KHIpLG49MDtuPHI7bisrKXNbbl09YXJndW1lbnRzW25dO3ZhciBvPXMucmVkdWNlKHRoaXMuX3B1bGxEZWZpbml0aW9ucyx7fSk7T2JqZWN0LmtleXMobykuZm9yRWFjaChmdW5jdGlvbihsKXthLmRlZmluaXRpb25zW2xdPVVlKFVlKHt9LGEuZGVmaW5pdGlvbnNbbF18fHt9KSxvW2xdKSxWMmUobCxvW2xdKTt2YXIgaD1OMmVbSjFdW2xdO2gmJlYyZShoLG9bbF0pLFBkdCgpfSl9LCJhZGQiKX0se2tleToicmVzZXQiLHZhbHVlOmkoZnVuY3Rpb24oKXt0aGlzLmRlZmluaXRpb25zPXt9fSwicmVzZXQiKX0se2tleToiX3B1bGxEZWZpbml0aW9ucyIsdmFsdWU6aShmdW5jdGlvbihhLHIpe3ZhciBzPXIucHJlZml4JiZyLmljb25OYW1lJiZyLmljb24/ezA6cn06cjtyZXR1cm4gT2JqZWN0LmtleXMocykubWFwKGZ1bmN0aW9uKG4pe3ZhciBvPXNbbl0sbD1vLnByZWZpeCxoPW8uaWNvbk5hbWUsdT1vLmljb24sZj11WzJdO2FbbF18fChhW2xdPXt9KSxmLmxlbmd0aD4wJiZmLmZvckVhY2goZnVuY3Rpb24ocCl7dHlwZW9mIHA9PSJzdHJpbmciJiYoYVtsXVtwXT11KX0pLGFbbF1baF09dX0pLGF9LCJfcHVsbERlZmluaXRpb25zIil9XSl9KSgpLEZkdD1bXSwkOD17fSxEOD17fSxQZ2E9T2JqZWN0LmtleXMoRDgpO2koRWdhLCJyZWdpc3RlclBsdWdpbnMiKTtpKEcyZSwiY2hhaW5Ib29rcyIpO2koVjAsImNhbGxIb29rcyIpO2kocmwsImNhbGxQcm92aWRlZCIpO2koWTJlLCJmaW5kSWNvbkRlZmluaXRpb24iKTtPZHQ9bmV3IEFnYSxJZ2E9aShmdW5jdGlvbigpe2h0LmF1dG9SZXBsYWNlU3ZnPSExLGh0Lm9ic2VydmVNdXRhdGlvbnM9ITEsVjAoIm5vQXV0byIpfSwibm9BdXRvIiksTmdhPXtpMnN2ZzppKGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT12b2lkIDA/YXJndW1lbnRzWzBdOnt9O3JldHVybiBibz8oVjAoImJlZm9yZUkyc3ZnIixlKSxybCgicHNldWRvRWxlbWVudHMyc3ZnIixlKSxybCgiaTJzdmciLGUpKTpQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoIk9wZXJhdGlvbiByZXF1aXJlcyBhIERPTSBvZiBzb21lIGtpbmQuIikpfSwiaTJzdmciKSx3YXRjaDppKGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT12b2lkIDA/YXJndW1lbnRzWzBdOnt9LGE9ZS5hdXRvUmVwbGFjZVN2Z1Jvb3Q7aHQuYXV0b1JlcGxhY2VTdmc9PT0hMSYmKGh0LmF1dG9SZXBsYWNlU3ZnPSEwKSxodC5vYnNlcnZlTXV0YXRpb25zPSEwLHZnYShmdW5jdGlvbigpe0ZnYSh7YXV0b1JlcGxhY2VTdmdSb290OmF9KSxWMCgid2F0Y2giLGUpfSl9LCJ3YXRjaCIpfSxSZ2E9e2ljb246aShmdW5jdGlvbihlKXtpZihlPT09bnVsbClyZXR1cm4gbnVsbDtpZih2RyhlKT09PSJvYmplY3QiJiZlLnByZWZpeCYmZS5pY29uTmFtZSlyZXR1cm57cHJlZml4OmUucHJlZml4LGljb25OYW1lOnEwKGUucHJlZml4LGUuaWNvbk5hbWUpfHxlLmljb25OYW1lfTtpZihBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aD09PTIpe3ZhciBhPWVbMV0uaW5kZXhPZigiZmEtIik9PT0wP2VbMV0uc2xpY2UoMyk6ZVsxXSxyPWtHKGVbMF0pO3JldHVybntwcmVmaXg6cixpY29uTmFtZTpxMChyLGEpfHxhfX1pZih0eXBlb2YgZT09InN0cmluZyImJihlLmluZGV4T2YoIiIuY29uY2F0KGh0LmNzc1ByZWZpeCwiLSIpKT4tMXx8ZS5tYXRjaChyZ2EpKSl7dmFyIHM9ekcoZS5zcGxpdCgiICIpLHtza2lwTG9va3VwczohMH0pO3JldHVybntwcmVmaXg6cy5wcmVmaXh8fGFsKCksaWNvbk5hbWU6cTAocy5wcmVmaXgscy5pY29uTmFtZSl8fHMuaWNvbk5hbWV9fWlmKHR5cGVvZiBlPT0ic3RyaW5nIil7dmFyIG49YWwoKTtyZXR1cm57cHJlZml4Om4saWNvbk5hbWU6cTAobixlKXx8ZX19fSwiaWNvbiIpfSxyaT17bm9BdXRvOklnYSxjb25maWc6aHQsZG9tOk5nYSxwYXJzZTpSZ2EsbGlicmFyeTpPZHQsZmluZEljb25EZWZpbml0aW9uOlkyZSx0b0h0bWw6VmZ9LEZnYT1pKGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT12b2lkIDA/YXJndW1lbnRzWzBdOnt9LGE9ZS5hdXRvUmVwbGFjZVN2Z1Jvb3Qscj1hPT09dm9pZCAwP05hOmE7KE9iamVjdC5rZXlzKGtzLnN0eWxlcykubGVuZ3RoPjB8fGh0LmF1dG9GZXRjaFN2ZykmJmJvJiZodC5hdXRvUmVwbGFjZVN2ZyYmcmkuZG9tLmkyc3ZnKHtub2RlOnJ9KX0sImF1dG9SZXBsYWNlIik7aShTRywiZG9tVmFyaWFudHMiKTtpKE9nYSwiYXNJY29uIik7aShCZ2EsImFzU3ltYm9sIik7aShIZ2EsImlzTGFiZWxlZCIpO2koWjJlLCJtYWtlSW5saW5lU3ZnQWJzdHJhY3QiKTtpKEJkdCwibWFrZUxheWVyc1RleHRBYnN0cmFjdCIpO2kocWdhLCJtYWtlTGF5ZXJzQ291bnRlckFic3RyYWN0Iik7WDJlPWtzLnN0eWxlcztpKEsyZSwiYXNGb3VuZEljb24iKTtWZ2E9e2ZvdW5kOiExLHdpZHRoOjUxMixoZWlnaHQ6NTEyfTtpKGpnYSwibWF5YmVOb3RpZnlNaXNzaW5nIik7aShRMmUsImZpbmRJY29uIik7SGR0PWkoZnVuY3Rpb24oKXt9LCJub29wIiksSjJlPWh0Lm1lYXN1cmVQZXJmb3JtYW5jZSYmeEcmJnhHLm1hcmsmJnhHLm1lYXN1cmU/eEc6e21hcms6SGR0LG1lYXN1cmU6SGR0fSxVZj0nRkEgIjcuMi4wIicsVWdhPWkoZnVuY3Rpb24oZSl7cmV0dXJuIEoyZS5tYXJrKCIiLmNvbmNhdChVZiwiICIpLmNvbmNhdChlLCIgYmVnaW5zIikpLGZ1bmN0aW9uKCl7cmV0dXJuIHFkdChlKX19LCJiZWdpbiIpLHFkdD1pKGZ1bmN0aW9uKGUpe0oyZS5tYXJrKCIiLmNvbmNhdChVZiwiICIpLmNvbmNhdChlLCIgZW5kcyIpKSxKMmUubWVhc3VyZSgiIi5jb25jYXQoVWYsIiAiKS5jb25jYXQoZSksIiIuY29uY2F0KFVmLCIgIikuY29uY2F0KGUsIiBiZWdpbnMiKSwiIi5jb25jYXQoVWYsIiAiKS5jb25jYXQoZSwiIGVuZHMiKSl9LCJlbmQiKSxlb2U9e2JlZ2luOlVnYSxlbmQ6cWR0fSxDRz1pKGZ1bmN0aW9uKCl7fSwibm9vcCIpO2koVmR0LCJpc1dhdGNoZWQiKTtpKFdnYSwiaGFzUHJlZml4QW5kSWNvbiIpO2koR2dhLCJoYXNCZWVuUmVwbGFjZWQiKTtpKFlnYSwiZ2V0TXV0YXRvciIpO2koWmdhLCJjcmVhdGVFbGVtZW50TlMiKTtpKFhnYSwiY3JlYXRlRWxlbWVudCIpO2koamR0LCJjb252ZXJ0U1ZHIik7aShLZ2EsIm5vZGVBc0NvbW1lbnQiKTtfRz17cmVwbGFjZTppKGZ1bmN0aW9uKGUpe3ZhciBhPWVbMF07aWYoYS5wYXJlbnROb2RlKWlmKGVbMV0uZm9yRWFjaChmdW5jdGlvbihzKXthLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGpkdChzKSxhKX0pLGEuZ2V0QXR0cmlidXRlKEgwKT09PW51bGwmJmh0LmtlZXBPcmlnaW5hbFNvdXJjZSl7dmFyIHI9TmEuY3JlYXRlQ29tbWVudChLZ2EoYSkpO2EucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQocixhKX1lbHNlIGEucmVtb3ZlKCl9LCJyZXBsYWNlIiksbmVzdDppKGZ1bmN0aW9uKGUpe3ZhciBhPWVbMF0scj1lWzFdO2lmKH5PMmUoYSkuaW5kZXhPZihodC5yZXBsYWNlbWVudENsYXNzKSlyZXR1cm4gX0cucmVwbGFjZShlKTt2YXIgcz1uZXcgUmVnRXhwKCIiLmNvbmNhdChodC5jc3NQcmVmaXgsIi0uKiIpKTtpZihkZWxldGUgclswXS5hdHRyaWJ1dGVzLmlkLHJbMF0uYXR0cmlidXRlcy5jbGFzcyl7dmFyIG49clswXS5hdHRyaWJ1dGVzLmNsYXNzLnNwbGl0KCIgIikucmVkdWNlKGZ1bmN0aW9uKGwsaCl7cmV0dXJuIGg9PT1odC5yZXBsYWNlbWVudENsYXNzfHxoLm1hdGNoKHMpP2wudG9TdmcucHVzaChoKTpsLnRvTm9kZS5wdXNoKGgpLGx9LHt0b05vZGU6W10sdG9Tdmc6W119KTtyWzBdLmF0dHJpYnV0ZXMuY2xhc3M9bi50b1N2Zy5qb2luKCIgIiksbi50b05vZGUubGVuZ3RoPT09MD9hLnJlbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKTphLnNldEF0dHJpYnV0ZSgiY2xhc3MiLG4udG9Ob2RlLmpvaW4oIiAiKSl9dmFyIG89ci5tYXAoZnVuY3Rpb24obCl7cmV0dXJuIFZmKGwpfSkuam9pbihgCmApO2Euc2V0QXR0cmlidXRlKEgwLCIiKSxhLmlubmVySFRNTD1vfSwibmVzdCIpfTtpKFVkdCwicGVyZm9ybU9wZXJhdGlvblN5bmMiKTtpKFdkdCwicGVyZm9ybSIpO3RvZT0hMTtpKEdkdCwiZGlzYWJsZU9ic2VydmF0aW9uIik7aShhb2UsImVuYWJsZU9ic2VydmF0aW9uIik7VEc9bnVsbDtpKFlkdCwib2JzZXJ2ZSIpO2koUWdhLCJkaXNjb25uZWN0Iik7aShKZ2EsInN0eWxlUGFyc2VyIik7aShlYmEsImNsYXNzUGFyc2VyIik7aSh0YmEsImF0dHJpYnV0ZXNQYXJzZXIiKTtpKGFiYSwiYmxhbmtNZXRhIik7aShaZHQsInBhcnNlTWV0YSIpO3JiYT1rcy5zdHlsZXM7aShYZHQsImdlbmVyYXRlTXV0YXRpb24iKTtpKGliYSwiZ2V0S25vd25QcmVmaXhlcyIpO2koS2R0LCJvblRyZWUiKTtpKHNiYSwib25Ob2RlIik7aShvYmEsInJlc29sdmVJY29ucyIpO25iYT1pKGZ1bmN0aW9uKGUpe3ZhciBhPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTp7fSxyPWEudHJhbnNmb3JtLHM9cj09PXZvaWQgMD9TMjpyLG49YS5zeW1ib2wsbz1uPT09dm9pZCAwPyExOm4sbD1hLm1hc2ssaD1sPT09dm9pZCAwP251bGw6bCx1PWEubWFza0lkLGY9dT09PXZvaWQgMD9udWxsOnUscD1hLmNsYXNzZXMsZz1wPT09dm9pZCAwP1tdOnAsdj1hLmF0dHJpYnV0ZXMseD12PT09dm9pZCAwP3t9OnYsYj1hLnN0eWxlcyxtPWI9PT12b2lkIDA/e306YjtpZihlKXt2YXIgeT1lLnByZWZpeCxNPWUuaWNvbk5hbWUsaz1lLmljb247cmV0dXJuIFNHKFVlKHt0eXBlOiJpY29uIn0sZSksZnVuY3Rpb24oKXtyZXR1cm4gVjAoImJlZm9yZURPTUVsZW1lbnRDcmVhdGlvbiIse2ljb25EZWZpbml0aW9uOmUscGFyYW1zOmF9KSxaMmUoe2ljb25zOnttYWluOksyZShrKSxtYXNrOmg/SzJlKGguaWNvbik6e2ZvdW5kOiExLHdpZHRoOm51bGwsaGVpZ2h0Om51bGwsaWNvbjp7fX19LHByZWZpeDp5LGljb25OYW1lOk0sdHJhbnNmb3JtOlVlKFVlKHt9LFMyKSxzKSxzeW1ib2w6byxtYXNrSWQ6ZixleHRyYTp7YXR0cmlidXRlczp4LHN0eWxlczptLGNsYXNzZXM6Z319KX0pfX0sInJlbmRlciIpLGxiYT17bWl4b3V0OmkoZnVuY3Rpb24oKXtyZXR1cm57aWNvbjpvYmEobmJhKX19LCJtaXhvdXQiKSxob29rczppKGZ1bmN0aW9uKCl7cmV0dXJue211dGF0aW9uT2JzZXJ2ZXJDYWxsYmFja3M6aShmdW5jdGlvbihhKXtyZXR1cm4gYS50cmVlQ2FsbGJhY2s9S2R0LGEubm9kZUNhbGxiYWNrPXNiYSxhfSwibXV0YXRpb25PYnNlcnZlckNhbGxiYWNrcyIpfX0sImhvb2tzIikscHJvdmlkZXM6aShmdW5jdGlvbihlKXtlLmkyc3ZnPWZ1bmN0aW9uKGEpe3ZhciByPWEubm9kZSxzPXI9PT12b2lkIDA/TmE6cixuPWEuY2FsbGJhY2ssbz1uPT09dm9pZCAwP2Z1bmN0aW9uKCl7fTpuO3JldHVybiBLZHQocyxvKX0sZS5nZW5lcmF0ZVN2Z1JlcGxhY2VtZW50TXV0YXRpb249ZnVuY3Rpb24oYSxyKXt2YXIgcz1yLmljb25OYW1lLG49ci5wcmVmaXgsbz1yLnRyYW5zZm9ybSxsPXIuc3ltYm9sLGg9ci5tYXNrLHU9ci5tYXNrSWQsZj1yLmV4dHJhO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihwLGcpe1Byb21pc2UuYWxsKFtRMmUocyxuKSxoLmljb25OYW1lP1EyZShoLmljb25OYW1lLGgucHJlZml4KTpQcm9taXNlLnJlc29sdmUoe2ZvdW5kOiExLHdpZHRoOjUxMixoZWlnaHQ6NTEyLGljb246e319KV0pLnRoZW4oZnVuY3Rpb24odil7dmFyIHg9YkcodiwyKSxiPXhbMF0sbT14WzFdO3AoW2EsWjJlKHtpY29uczp7bWFpbjpiLG1hc2s6bX0scHJlZml4Om4saWNvbk5hbWU6cyx0cmFuc2Zvcm06byxzeW1ib2w6bCxtYXNrSWQ6dSxleHRyYTpmLHdhdGNoYWJsZTohMH0pXSl9KS5jYXRjaChnKX0pfSxlLmdlbmVyYXRlQWJzdHJhY3RJY29uPWZ1bmN0aW9uKGEpe3ZhciByPWEuY2hpbGRyZW4scz1hLmF0dHJpYnV0ZXMsbj1hLm1haW4sbz1hLnRyYW5zZm9ybSxsPWEuc3R5bGVzLGg9d0cobCk7aC5sZW5ndGg+MCYmKHMuc3R5bGU9aCk7dmFyIHU7cmV0dXJuIEIyZShvKSYmKHU9cmwoImdlbmVyYXRlQWJzdHJhY3RUcmFuc2Zvcm1Hcm91cGluZyIse21haW46bix0cmFuc2Zvcm06byxjb250YWluZXJXaWR0aDpuLndpZHRoLGljb25XaWR0aDpuLndpZHRofSkpLHIucHVzaCh1fHxuLmljb24pLHtjaGlsZHJlbjpyLGF0dHJpYnV0ZXM6c319fSwicHJvdmlkZXMiKX0sY2JhPXttaXhvdXQ6aShmdW5jdGlvbigpe3JldHVybntsYXllcjppKGZ1bmN0aW9uKGEpe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTp7fSxzPXIuY2xhc3NlcyxuPXM9PT12b2lkIDA/W106cztyZXR1cm4gU0coe3R5cGU6ImxheWVyIn0sZnVuY3Rpb24oKXtWMCgiYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uIix7YXNzZW1ibGVyOmEscGFyYW1zOnJ9KTt2YXIgbz1bXTtyZXR1cm4gYShmdW5jdGlvbihsKXtBcnJheS5pc0FycmF5KGwpP2wubWFwKGZ1bmN0aW9uKGgpe289by5jb25jYXQoaC5hYnN0cmFjdCl9KTpvPW8uY29uY2F0KGwuYWJzdHJhY3QpfSksW3t0YWc6InNwYW4iLGF0dHJpYnV0ZXM6e2NsYXNzOlsiIi5jb25jYXQoaHQuY3NzUHJlZml4LCItbGF5ZXJzIildLmNvbmNhdChNcyhuKSkuam9pbigiICIpfSxjaGlsZHJlbjpvfV19KX0sImxheWVyIil9fSwibWl4b3V0Iil9LGRiYT17bWl4b3V0OmkoZnVuY3Rpb24oKXtyZXR1cm57Y291bnRlcjppKGZ1bmN0aW9uKGEpe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTp7fSxzPXIudGl0bGUsbj1zPT09dm9pZCAwP251bGw6cyxvPXIuY2xhc3NlcyxsPW89PT12b2lkIDA/W106byxoPXIuYXR0cmlidXRlcyx1PWg9PT12b2lkIDA/e306aCxmPXIuc3R5bGVzLHA9Zj09PXZvaWQgMD97fTpmO3JldHVybiBTRyh7dHlwZToiY291bnRlciIsY29udGVudDphfSxmdW5jdGlvbigpe3JldHVybiBWMCgiYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uIix7Y29udGVudDphLHBhcmFtczpyfSkscWdhKHtjb250ZW50OmEudG9TdHJpbmcoKSx0aXRsZTpuLGV4dHJhOnthdHRyaWJ1dGVzOnUsc3R5bGVzOnAsY2xhc3NlczpbIiIuY29uY2F0KGh0LmNzc1ByZWZpeCwiLWxheWVycy1jb3VudGVyIildLmNvbmNhdChNcyhsKSl9fSl9KX0sImNvdW50ZXIiKX19LCJtaXhvdXQiKX0scGJhPXttaXhvdXQ6aShmdW5jdGlvbigpe3JldHVybnt0ZXh0OmkoZnVuY3Rpb24oYSl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD4xJiZhcmd1bWVudHNbMV0hPT12b2lkIDA/YXJndW1lbnRzWzFdOnt9LHM9ci50cmFuc2Zvcm0sbj1zPT09dm9pZCAwP1MyOnMsbz1yLmNsYXNzZXMsbD1vPT09dm9pZCAwP1tdOm8saD1yLmF0dHJpYnV0ZXMsdT1oPT09dm9pZCAwP3t9OmgsZj1yLnN0eWxlcyxwPWY9PT12b2lkIDA/e306ZjtyZXR1cm4gU0coe3R5cGU6InRleHQiLGNvbnRlbnQ6YX0sZnVuY3Rpb24oKXtyZXR1cm4gVjAoImJlZm9yZURPTUVsZW1lbnRDcmVhdGlvbiIse2NvbnRlbnQ6YSxwYXJhbXM6cn0pLEJkdCh7Y29udGVudDphLHRyYW5zZm9ybTpVZShVZSh7fSxTMiksbiksZXh0cmE6e2F0dHJpYnV0ZXM6dSxzdHlsZXM6cCxjbGFzc2VzOlsiIi5jb25jYXQoaHQuY3NzUHJlZml4LCItbGF5ZXJzLXRleHQiKV0uY29uY2F0KE1zKGwpKX19KX0pfSwidGV4dCIpfX0sIm1peG91dCIpLHByb3ZpZGVzOmkoZnVuY3Rpb24oZSl7ZS5nZW5lcmF0ZUxheWVyc1RleHQ9ZnVuY3Rpb24oYSxyKXt2YXIgcz1yLnRyYW5zZm9ybSxuPXIuZXh0cmEsbz1udWxsLGw9bnVsbDtpZihOM3Qpe3ZhciBoPXBhcnNlSW50KGdldENvbXB1dGVkU3R5bGUoYSkuZm9udFNpemUsMTApLHU9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtvPXUud2lkdGgvaCxsPXUuaGVpZ2h0L2h9cmV0dXJuIFByb21pc2UucmVzb2x2ZShbYSxCZHQoe2NvbnRlbnQ6YS5pbm5lckhUTUwsd2lkdGg6byxoZWlnaHQ6bCx0cmFuc2Zvcm06cyxleHRyYTpuLHdhdGNoYWJsZTohMH0pXSl9fSwicHJvdmlkZXMiKX0sUWR0PW5ldyBSZWdFeHAoJyInLCJ1ZyIpLEpkdD1bMTEwNTkyMCwxMTEyMzE5XSxlNnQ9VWUoVWUoVWUoVWUoe30se0ZvbnRBd2Vzb21lOntub3JtYWw6ImZhcyIsNDAwOiJmYXMifX0pLFVtYSksUTlhKSxlOWEpLHJvZT1PYmplY3Qua2V5cyhlNnQpLnJlZHVjZShmdW5jdGlvbih0LGUpe3JldHVybiB0W2UudG9Mb3dlckNhc2UoKV09ZTZ0W2VdLHR9LHt9KSx1YmE9T2JqZWN0LmtleXMocm9lKS5yZWR1Y2UoZnVuY3Rpb24odCxlKXt2YXIgYT1yb2VbZV07cmV0dXJuIHRbZV09YVs5MDBdfHxNcyhPYmplY3QuZW50cmllcyhhKSlbMF1bMV0sdH0se30pO2koZmJhLCJoZXhWYWx1ZUZyb21Db250ZW50Iik7aShoYmEsImlzU2Vjb25kYXJ5TGF5ZXIiKTtpKG1iYSwiZ2V0UHJlZml4Iik7aSh0NnQsInJlcGxhY2VGb3JQb3NpdGlvbiIpO2koZ2JhLCJyZXBsYWNlIik7aShiYmEsInByb2Nlc3NhYmxlIik7dmJhPWkoZnVuY3Rpb24oZSl7cmV0dXJuISFlJiZwZHQuc29tZShmdW5jdGlvbihhKXtyZXR1cm4gZS5pbmNsdWRlcyhhKX0pfSwiaGFzUHNldWRvRWxlbWVudCIpLHhiYT1pKGZ1bmN0aW9uKGUpe2lmKCFlKXJldHVybltdO3ZhciBhPW5ldyBTZXQscj1lLnNwbGl0KC8sKD8hW14oKV0qXCkpLykubWFwKGZ1bmN0aW9uKGgpe3JldHVybiBoLnRyaW0oKX0pO3I9ci5mbGF0TWFwKGZ1bmN0aW9uKGgpe3JldHVybiBoLmluY2x1ZGVzKCIoIik/aDpoLnNwbGl0KCIsIikubWFwKGZ1bmN0aW9uKHUpe3JldHVybiB1LnRyaW0oKX0pfSk7dmFyIHM9bUcociksbjt0cnl7Zm9yKHMucygpOyEobj1zLm4oKSkuZG9uZTspe3ZhciBvPW4udmFsdWU7aWYodmJhKG8pKXt2YXIgbD1wZHQucmVkdWNlKGZ1bmN0aW9uKGgsdSl7cmV0dXJuIGgucmVwbGFjZSh1LCIiKX0sbyk7bCE9PSIiJiZsIT09IioiJiZhLmFkZChsKX19fWNhdGNoKGgpe3MuZShoKX1maW5hbGx5e3MuZigpfXJldHVybiBhfSwicGFyc2VDU1NSdWxlRm9yUHNldWRvcyIpO2koYTZ0LCJzZWFyY2hQc2V1ZG9FbGVtZW50cyIpO3liYT17aG9va3M6aShmdW5jdGlvbigpe3JldHVybnttdXRhdGlvbk9ic2VydmVyQ2FsbGJhY2tzOmkoZnVuY3Rpb24oYSl7cmV0dXJuIGEucHNldWRvRWxlbWVudHNDYWxsYmFjaz1hNnQsYX0sIm11dGF0aW9uT2JzZXJ2ZXJDYWxsYmFja3MiKX19LCJob29rcyIpLHByb3ZpZGVzOmkoZnVuY3Rpb24oZSl7ZS5wc2V1ZG9FbGVtZW50czJzdmc9ZnVuY3Rpb24oYSl7dmFyIHI9YS5ub2RlLHM9cj09PXZvaWQgMD9OYTpyO2h0LnNlYXJjaFBzZXVkb0VsZW1lbnRzJiZhNnQocyl9fSwicHJvdmlkZXMiKX0scjZ0PSExLHdiYT17bWl4b3V0OmkoZnVuY3Rpb24oKXtyZXR1cm57ZG9tOnt1bndhdGNoOmkoZnVuY3Rpb24oKXtHZHQoKSxyNnQ9ITB9LCJ1bndhdGNoIil9fX0sIm1peG91dCIpLGhvb2tzOmkoZnVuY3Rpb24oKXtyZXR1cm57Ym9vdHN0cmFwOmkoZnVuY3Rpb24oKXtZZHQoRzJlKCJtdXRhdGlvbk9ic2VydmVyQ2FsbGJhY2tzIix7fSkpfSwiYm9vdHN0cmFwIiksbm9BdXRvOmkoZnVuY3Rpb24oKXtRZ2EoKX0sIm5vQXV0byIpLHdhdGNoOmkoZnVuY3Rpb24oYSl7dmFyIHI9YS5vYnNlcnZlTXV0YXRpb25zUm9vdDtyNnQ/YW9lKCk6WWR0KEcyZSgibXV0YXRpb25PYnNlcnZlckNhbGxiYWNrcyIse29ic2VydmVNdXRhdGlvbnNSb290OnJ9KSl9LCJ3YXRjaCIpfX0sImhvb2tzIil9LGk2dD1pKGZ1bmN0aW9uKGUpe3ZhciBhPXtzaXplOjE2LHg6MCx5OjAsZmxpcFg6ITEsZmxpcFk6ITEscm90YXRlOjB9O3JldHVybiBlLnRvTG93ZXJDYXNlKCkuc3BsaXQoIiAiKS5yZWR1Y2UoZnVuY3Rpb24ocixzKXt2YXIgbj1zLnRvTG93ZXJDYXNlKCkuc3BsaXQoIi0iKSxvPW5bMF0sbD1uLnNsaWNlKDEpLmpvaW4oIi0iKTtpZihvJiZsPT09ImgiKXJldHVybiByLmZsaXBYPSEwLHI7aWYobyYmbD09PSJ2IilyZXR1cm4gci5mbGlwWT0hMCxyO2lmKGw9cGFyc2VGbG9hdChsKSxpc05hTihsKSlyZXR1cm4gcjtzd2l0Y2gobyl7Y2FzZSJncm93IjpyLnNpemU9ci5zaXplK2w7YnJlYWs7Y2FzZSJzaHJpbmsiOnIuc2l6ZT1yLnNpemUtbDticmVhaztjYXNlImxlZnQiOnIueD1yLngtbDticmVhaztjYXNlInJpZ2h0IjpyLng9ci54K2w7YnJlYWs7Y2FzZSJ1cCI6ci55PXIueS1sO2JyZWFrO2Nhc2UiZG93biI6ci55PXIueStsO2JyZWFrO2Nhc2Uicm90YXRlIjpyLnJvdGF0ZT1yLnJvdGF0ZStsO2JyZWFrfXJldHVybiByfSxhKX0sInBhcnNlVHJhbnNmb3JtU3RyaW5nIiksTWJhPXttaXhvdXQ6aShmdW5jdGlvbigpe3JldHVybntwYXJzZTp7dHJhbnNmb3JtOmkoZnVuY3Rpb24oYSl7cmV0dXJuIGk2dChhKX0sInRyYW5zZm9ybSIpfX19LCJtaXhvdXQiKSxob29rczppKGZ1bmN0aW9uKCl7cmV0dXJue3BhcnNlTm9kZUF0dHJpYnV0ZXM6aShmdW5jdGlvbihhLHIpe3ZhciBzPXIuZ2V0QXR0cmlidXRlKCJkYXRhLWZhLXRyYW5zZm9ybSIpO3JldHVybiBzJiYoYS50cmFuc2Zvcm09aTZ0KHMpKSxhfSwicGFyc2VOb2RlQXR0cmlidXRlcyIpfX0sImhvb2tzIikscHJvdmlkZXM6aShmdW5jdGlvbihlKXtlLmdlbmVyYXRlQWJzdHJhY3RUcmFuc2Zvcm1Hcm91cGluZz1mdW5jdGlvbihhKXt2YXIgcj1hLm1haW4scz1hLnRyYW5zZm9ybSxuPWEuY29udGFpbmVyV2lkdGgsbz1hLmljb25XaWR0aCxsPXt0cmFuc2Zvcm06InRyYW5zbGF0ZSgiLmNvbmNhdChuLzIsIiAyNTYpIil9LGg9InRyYW5zbGF0ZSgiLmNvbmNhdChzLngqMzIsIiwgIikuY29uY2F0KHMueSozMiwiKSAiKSx1PSJzY2FsZSgiLmNvbmNhdChzLnNpemUvMTYqKHMuZmxpcFg/LTE6MSksIiwgIikuY29uY2F0KHMuc2l6ZS8xNioocy5mbGlwWT8tMToxKSwiKSAiKSxmPSJyb3RhdGUoIi5jb25jYXQocy5yb3RhdGUsIiAwIDApIikscD17dHJhbnNmb3JtOiIiLmNvbmNhdChoLCIgIikuY29uY2F0KHUsIiAiKS5jb25jYXQoZil9LGc9e3RyYW5zZm9ybToidHJhbnNsYXRlKCIuY29uY2F0KG8vMiotMSwiIC0yNTYpIil9LHY9e291dGVyOmwsaW5uZXI6cCxwYXRoOmd9O3JldHVybnt0YWc6ImciLGF0dHJpYnV0ZXM6VWUoe30sdi5vdXRlciksY2hpbGRyZW46W3t0YWc6ImciLGF0dHJpYnV0ZXM6VWUoe30sdi5pbm5lciksY2hpbGRyZW46W3t0YWc6ci5pY29uLnRhZyxjaGlsZHJlbjpyLmljb24uY2hpbGRyZW4sYXR0cmlidXRlczpVZShVZSh7fSxyLmljb24uYXR0cmlidXRlcyksdi5wYXRoKX1dfV19fX0sInByb3ZpZGVzIil9LGlvZT17eDowLHk6MCx3aWR0aDoiMTAwJSIsaGVpZ2h0OiIxMDAlIn07aShzNnQsImZpbGxCbGFjayIpO2koa2JhLCJkZUdyb3VwIik7emJhPXtob29rczppKGZ1bmN0aW9uKCl7cmV0dXJue3BhcnNlTm9kZUF0dHJpYnV0ZXM6aShmdW5jdGlvbihhLHIpe3ZhciBzPXIuZ2V0QXR0cmlidXRlKCJkYXRhLWZhLW1hc2siKSxuPXM/ekcocy5zcGxpdCgiICIpLm1hcChmdW5jdGlvbihvKXtyZXR1cm4gby50cmltKCl9KSk6SWR0KCk7cmV0dXJuIG4ucHJlZml4fHwobi5wcmVmaXg9YWwoKSksYS5tYXNrPW4sYS5tYXNrSWQ9ci5nZXRBdHRyaWJ1dGUoImRhdGEtZmEtbWFzay1pZCIpLGF9LCJwYXJzZU5vZGVBdHRyaWJ1dGVzIil9fSwiaG9va3MiKSxwcm92aWRlczppKGZ1bmN0aW9uKGUpe2UuZ2VuZXJhdGVBYnN0cmFjdE1hc2s9ZnVuY3Rpb24oYSl7dmFyIHI9YS5jaGlsZHJlbixzPWEuYXR0cmlidXRlcyxuPWEubWFpbixvPWEubWFzayxsPWEubWFza0lkLGg9YS50cmFuc2Zvcm0sdT1uLndpZHRoLGY9bi5pY29uLHA9by53aWR0aCxnPW8uaWNvbix2PWhnYSh7dHJhbnNmb3JtOmgsY29udGFpbmVyV2lkdGg6cCxpY29uV2lkdGg6dX0pLHg9e3RhZzoicmVjdCIsYXR0cmlidXRlczpVZShVZSh7fSxpb2UpLHt9LHtmaWxsOiJ3aGl0ZSJ9KX0sYj1mLmNoaWxkcmVuP3tjaGlsZHJlbjpmLmNoaWxkcmVuLm1hcChzNnQpfTp7fSxtPXt0YWc6ImciLGF0dHJpYnV0ZXM6VWUoe30sdi5pbm5lciksY2hpbGRyZW46W3M2dChVZSh7dGFnOmYudGFnLGF0dHJpYnV0ZXM6VWUoVWUoe30sZi5hdHRyaWJ1dGVzKSx2LnBhdGgpfSxiKSldfSx5PXt0YWc6ImciLGF0dHJpYnV0ZXM6VWUoe30sdi5vdXRlciksY2hpbGRyZW46W21dfSxNPSJtYXNrLSIuY29uY2F0KGx8fHZkdCgpKSxrPSJjbGlwLSIuY29uY2F0KGx8fHZkdCgpKSxFPXt0YWc6Im1hc2siLGF0dHJpYnV0ZXM6VWUoVWUoe30saW9lKSx7fSx7aWQ6TSxtYXNrVW5pdHM6InVzZXJTcGFjZU9uVXNlIixtYXNrQ29udGVudFVuaXRzOiJ1c2VyU3BhY2VPblVzZSJ9KSxjaGlsZHJlbjpbeCx5XX0sXz17dGFnOiJkZWZzIixjaGlsZHJlbjpbe3RhZzoiY2xpcFBhdGgiLGF0dHJpYnV0ZXM6e2lkOmt9LGNoaWxkcmVuOmtiYShnKX0sRV19O3JldHVybiByLnB1c2goXyx7dGFnOiJyZWN0IixhdHRyaWJ1dGVzOlVlKHtmaWxsOiJjdXJyZW50Q29sb3IiLCJjbGlwLXBhdGgiOiJ1cmwoIyIuY29uY2F0KGssIikiKSxtYXNrOiJ1cmwoIyIuY29uY2F0KE0sIikiKX0saW9lKX0pLHtjaGlsZHJlbjpyLGF0dHJpYnV0ZXM6c319fSwicHJvdmlkZXMiKX0sU2JhPXtwcm92aWRlczppKGZ1bmN0aW9uKGUpe3ZhciBhPSExO2VsLm1hdGNoTWVkaWEmJihhPWVsLm1hdGNoTWVkaWEoIihwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIikubWF0Y2hlcyksZS5taXNzaW5nSWNvbkFic3RyYWN0PWZ1bmN0aW9uKCl7dmFyIHI9W10scz17ZmlsbDoiY3VycmVudENvbG9yIn0sbj17YXR0cmlidXRlVHlwZToiWE1MIixyZXBlYXRDb3VudDoiaW5kZWZpbml0ZSIsZHVyOiIycyJ9O3IucHVzaCh7dGFnOiJwYXRoIixhdHRyaWJ1dGVzOlVlKFVlKHt9LHMpLHt9LHtkOiJNMTU2LjUsNDQ3LjdsLTEyLjYsMjkuNWMtMTguNy05LjUtMzUuOS0yMS4yLTUxLjUtMzQuOWwyMi43LTIyLjdDMTI3LjYsNDMwLjUsMTQxLjUsNDQwLDE1Ni41LDQ0Ny43eiBNNDAuNiwyNzJIOC41IGMxLjQsMjEuMiw1LjQsNDEuNywxMS43LDYxLjFMNTAsMzIxLjJDNDUuMSwzMDUuNSw0MS44LDI4OSw0MC42LDI3MnogTTQwLjYsMjQwYzEuNC0xOC44LDUuMi0zNywxMS4xLTU0LjFsLTI5LjUtMTIuNiBDMTQuNywxOTQuMywxMCwyMTYuNyw4LjUsMjQwSDQwLjZ6IE02NC4zLDE1Ni41YzcuOC0xNC45LDE3LjItMjguOCwyOC4xLTQxLjVMNjkuNyw5Mi4zYy0xMy43LDE1LjYtMjUuNSwzMi44LTM0LjksNTEuNSBMNjQuMywxNTYuNXogTTM5Nyw0MTkuNmMtMTMuOSwxMi0yOS40LDIyLjMtNDYuMSwzMC40bDExLjksMjkuOGMyMC43LTkuOSwzOS44LTIyLjYsNTYuOS0zNy42TDM5Nyw0MTkuNnogTTExNSw5Mi40IGMxMy45LTEyLDI5LjQtMjIuMyw0Ni4xLTMwLjRsLTExLjktMjkuOGMtMjAuNyw5LjktMzkuOCwyMi42LTU2LjgsMzcuNkwxMTUsOTIuNHogTTQ0Ny43LDM1NS41Yy03LjgsMTQuOS0xNy4yLDI4LjgtMjguMSw0MS41IGwyMi43LDIyLjdjMTMuNy0xNS42LDI1LjUtMzIuOSwzNC45LTUxLjVMNDQ3LjcsMzU1LjV6IE00NzEuNCwyNzJjLTEuNCwxOC44LTUuMiwzNy0xMS4xLDU0LjFsMjkuNSwxMi42IGM3LjUtMjEuMSwxMi4yLTQzLjUsMTMuNi02Ni44SDQ3MS40eiBNMzIxLjIsNDYyYy0xNS43LDUtMzIuMiw4LjItNDkuMiw5LjR2MzIuMWMyMS4yLTEuNCw0MS43LTUuNCw2MS4xLTExLjdMMzIxLjIsNDYyeiBNMjQwLDQ3MS40Yy0xOC44LTEuNC0zNy01LjItNTQuMS0xMS4xbC0xMi42LDI5LjVjMjEuMSw3LjUsNDMuNSwxMi4yLDY2LjgsMTMuNlY0NzEuNHogTTQ2MiwxOTAuOGM1LDE1LjcsOC4yLDMyLjIsOS40LDQ5LjJoMzIuMSBjLTEuNC0yMS4yLTUuNC00MS43LTExLjctNjEuMUw0NjIsMTkwLjh6IE05Mi40LDM5N2MtMTItMTMuOS0yMi4zLTI5LjQtMzAuNC00Ni4xbC0yOS44LDExLjljOS45LDIwLjcsMjIuNiwzOS44LDM3LjYsNTYuOSBMOTIuNCwzOTd6IE0yNzIsNDAuNmMxOC44LDEuNCwzNi45LDUuMiw1NC4xLDExLjFsMTIuNi0yOS41QzMxNy43LDE0LjcsMjk1LjMsMTAsMjcyLDguNVY0MC42eiBNMTkwLjgsNTAgYzE1LjctNSwzMi4yLTguMiw0OS4yLTkuNFY4LjVjLTIxLjIsMS40LTQxLjcsNS40LTYxLjEsMTEuN0wxOTAuOCw1MHogTTQ0Mi4zLDkyLjNMNDE5LjYsMTE1YzEyLDEzLjksMjIuMywyOS40LDMwLjUsNDYuMSBsMjkuOC0xMS45QzQ3MCwxMjguNSw0NTcuMywxMDkuNCw0NDIuMyw5Mi4zeiBNMzk3LDkyLjRsMjIuNy0yMi43Yy0xNS42LTEzLjctMzIuOC0yNS41LTUxLjUtMzQuOWwtMTIuNiwyOS41IEMzNzAuNCw3Mi4xLDM4NC40LDgxLjUsMzk3LDkyLjR6In0pfSk7dmFyIG89VWUoVWUoe30sbikse30se2F0dHJpYnV0ZU5hbWU6Im9wYWNpdHkifSksbD17dGFnOiJjaXJjbGUiLGF0dHJpYnV0ZXM6VWUoVWUoe30scykse30se2N4OiIyNTYiLGN5OiIzNjQiLHI6IjI4In0pLGNoaWxkcmVuOltdfTtyZXR1cm4gYXx8bC5jaGlsZHJlbi5wdXNoKHt0YWc6ImFuaW1hdGUiLGF0dHJpYnV0ZXM6VWUoVWUoe30sbikse30se2F0dHJpYnV0ZU5hbWU6InIiLHZhbHVlczoiMjg7MTQ7Mjg7Mjg7MTQ7Mjg7In0pfSx7dGFnOiJhbmltYXRlIixhdHRyaWJ1dGVzOlVlKFVlKHt9LG8pLHt9LHt2YWx1ZXM6IjE7MDsxOzE7MDsxOyJ9KX0pLHIucHVzaChsKSxyLnB1c2goe3RhZzoicGF0aCIsYXR0cmlidXRlczpVZShVZSh7fSxzKSx7fSx7b3BhY2l0eToiMSIsZDoiTTI2My43LDMxMmgtMTZjLTYuNiwwLTEyLTUuNC0xMi0xMmMwLTcxLDc3LjQtNjMuOSw3Ny40LTEwNy44YzAtMjAtMTcuOC00MC4yLTU3LjQtNDAuMmMtMjkuMSwwLTQ0LjMsOS42LTU5LjIsMjguNyBjLTMuOSw1LTExLjEsNi0xNi4yLDIuNGwtMTMuMS05LjJjLTUuNi0zLjktNi45LTExLjgtMi42LTE3LjJjMjEuMi0yNy4yLDQ2LjQtNDQuNyw5MS4yLTQ0LjdjNTIuMywwLDk3LjQsMjkuOCw5Ny40LDgwLjIgYzAsNjcuNi03Ny40LDYzLjUtNzcuNCwxMDcuOEMyNzUuNywzMDYuNiwyNzAuMywzMTIsMjYzLjcsMzEyeiJ9KSxjaGlsZHJlbjphP1tdOlt7dGFnOiJhbmltYXRlIixhdHRyaWJ1dGVzOlVlKFVlKHt9LG8pLHt9LHt2YWx1ZXM6IjE7MDswOzA7MDsxOyJ9KX1dfSksYXx8ci5wdXNoKHt0YWc6InBhdGgiLGF0dHJpYnV0ZXM6VWUoVWUoe30scykse30se29wYWNpdHk6IjAiLGQ6Ik0yMzIuNSwxMzQuNWw3LDE2OGMwLjMsNi40LDUuNiwxMS41LDEyLDExLjVoOWM2LjQsMCwxMS43LTUuMSwxMi0xMS41bDctMTY4YzAuMy02LjgtNS4yLTEyLjUtMTItMTIuNWgtMjMgQzIzNy43LDEyMiwyMzIuMiwxMjcuNywyMzIuNSwxMzQuNXoifSksY2hpbGRyZW46W3t0YWc6ImFuaW1hdGUiLGF0dHJpYnV0ZXM6VWUoVWUoe30sbykse30se3ZhbHVlczoiMDswOzE7MTswOzA7In0pfV19KSx7dGFnOiJnIixhdHRyaWJ1dGVzOntjbGFzczoibWlzc2luZyJ9LGNoaWxkcmVuOnJ9fX0sInByb3ZpZGVzIil9LENiYT17aG9va3M6aShmdW5jdGlvbigpe3JldHVybntwYXJzZU5vZGVBdHRyaWJ1dGVzOmkoZnVuY3Rpb24oYSxyKXt2YXIgcz1yLmdldEF0dHJpYnV0ZSgiZGF0YS1mYS1zeW1ib2wiKSxuPXM9PT1udWxsPyExOnM9PT0iIj8hMDpzO3JldHVybiBhLnN5bWJvbD1uLGF9LCJwYXJzZU5vZGVBdHRyaWJ1dGVzIil9fSwiaG9va3MiKX0sX2JhPVtiZ2EsbGJhLGNiYSxkYmEscGJhLHliYSx3YmEsTWJhLHpiYSxTYmEsQ2JhXTtFZ2EoX2JhLHttaXhvdXRzVG86cml9KTtUYmE9cmkubm9BdXRvLExiYT1yaS5jb25maWcsJGJhPXJpLmxpYnJhcnksRGJhPXJpLmRvbSxBYmE9cmkucGFyc2UsUGJhPXJpLmZpbmRJY29uRGVmaW5pdGlvbixFYmE9cmkudG9IdG1sLHNvZT1yaS5pY29uLEliYT1yaS5sYXllcixOYmE9cmkudGV4dCxSYmE9cmkuY291bnRlcn0pO3ZhciBGYmEsb29lLG42dCxsNnQsYzZ0LGQ2dCxub2UscDZ0LHU2dCxmNnQsaDZ0LG02dCxnNnQsYjZ0LHY2dCx4NnQseTZ0LHc2dCxNNnQsazZ0LHo2dCxTNnQsQzZ0LF82dCxUNnQsTDZ0LCQ2dCxENnQsQTZ0LGxvZSxQNnQsRTZ0LEk2dCxONnQsUjZ0LEY2dCxPNnQsQjZ0LEg2dCxxNnQsVjZ0LGo2dCxVNnQsVzZ0LEc2dCxZNnQsWjZ0LFg2dCxLNnQsY29lLFE2dCxKNnQsZTV0LHQ1dCxhNXQscjV0LGk1dCxzNXQsbzV0LG41dCxsNXQsYzV0LGQ1dCxwNXQsdTV0LGY1dCxoNXQsbTV0LGc1dCxiNXQsdjV0LGRvZSx4NXQseTV0LHc1dCxNNXQsazV0LHo1dCxTNXQsQzV0LF81dCxUNXQsTDV0LCQ1dCxENXQsQTV0LFA1dCxFNXQsSTV0LE41dCxSNXQsRjV0LE81dCxCNXQsSDV0LHE1dCxWNXQsajV0LFU1dCxXNXQsRzV0LFk1dCxaNXQsWDV0LEs1dCxRNXQsSjV0LGU4dCx0OHQsYTh0LHI4dCxpOHQsczh0LCRHLG84dCxuOHQscG9lLGw4dCxjOHQsZDh0LHVvZSxwOHQsdTh0LExHLGY4dCxoOHQsZm9lLG04dCxnOHQsYjh0LHY4dCx4OHQsaG9lLHk4dCx3OHQsTTh0LGs4dCx6OHQsUzh0LEM4dCxfOHQsVDh0LEw4dCxtb2UsJDh0LEQ4dCxBOHQsUDh0LEU4dCxJOHQsTjh0LFI4dCxGOHQsZ29lLE84dCxCOHQsSDh0LHE4dCxWOHQsajh0LFU4dCxXOHQsYm9lLEc4dCxZOHQsWjh0LHZvZSxYOHQsSzh0LFE4dCxKOHQsZXB0LHRwdCxhcHQscnB0LGlwdCxzcHQsb3B0LG5wdCxscHQsY3B0LGRwdCxwcHQsdXB0LGZwdCxocHQsbXB0LGdwdCxicHQsdnB0LHhwdCx5cHQsd3B0LE1wdCx4b2Usa3B0LHpwdCxTcHQsQ3B0LF9wdCxUcHQsTHB0LHlvZSwkcHQsRHB0LEFwdCxQcHQsRXB0LElwdCxOcHQsUnB0LEZwdCxPcHQsQnB0LEhwdCxxcHQsVnB0LGpwdCxVcHQsV3B0LEdwdCxZcHQsWnB0LFhwdCxLcHQsUXB0LEpwdCxldXQsdHV0LGF1dCxydXQsaXV0LHN1dCxvdXQsbnV0LGx1dCxjdXQsZHV0LHB1dCx1dXQsZnV0LGh1dCxtdXQsZ3V0LGJ1dCxERyx2dXQseHV0LHl1dCx3dXQsTXV0LHdvZSxrdXQsenV0LFN1dCxBRyxDdXQsX3V0LFR1dCxMdXQsJHV0LER1dCxNb2UsQXV0LFB1dCxFdXQsSXV0LE51dCxSdXQsRnV0LE91dCxCdXQsSHV0LHF1dCxWdXQsanV0LFV1dCxXdXQsR3V0LFdmLFl1dCxadXQsWHV0LEt1dCxRdXQsSnV0LGVmdCx0ZnQsYWZ0LHJmdCxpZnQsc2Z0LG9mdCxuZnQsbGZ0LGNmdCxkZnQscGZ0LHVmdCxmZnQsaGZ0LG1mdCxnZnQsYmZ0LHZmdCx4ZnQseWZ0LHdmdCxNZnQsa2Z0LHpmdCxTZnQsQ2Z0LF9mdCxUZnQsTGZ0LCRmdCxEZnQsQWZ0LGtvZSxQZnQsRWZ0LElmdCxOZnQsUmZ0LEZmdCxPZnQsQmZ0LEhmdCxxZnQsVmZ0LGpmdCxVZnQsV2Z0LEdmdCx6b2UsWWZ0LFpmdCxYZnQsS2Z0LFFmdCxKZnQsU29lLGU3dCx0N3QsYTd0LHI3dCxpN3Qsczd0LG83dCxuN3QsbDd0LGM3dCxkN3QscDd0LHU3dCxmN3QsaDd0LG03dCxnN3QsYjd0LHY3dCx4N3QseTd0LHc3dCxNN3Qsazd0LHo3dCxTN3QsQzd0LF83dCxDb2UsUEcsVDd0LEw3dCwkN3QsRDd0LEE3dCxQN3QsRTd0LEk3dCxON3QsUjd0LEY3dCxPN3QsX29lLEI3dCxIN3QscTd0LFY3dCxqN3QsVTd0LFc3dCxHN3QsRUcsWTd0LFo3dCxYN3QsSzd0LFE3dCxKN3QsZWh0LHRodCxhaHQscmh0LGlodCxzaHQsb2h0LFRvZSxuaHQsbGh0LGNodCxkaHQscGh0LHVodCxmaHQsaGh0LG1odCxnaHQsYmh0LHZodCx4aHQseWh0LHdodCxNaHQsa2h0LExvZSx6aHQsU2h0LENodCwkb2UsX2h0LFRodCxMaHQsJGh0LElHLERodCxEb2UsQWh0LFBodCxFaHQsSWh0LE5odCxSaHQsQW9lLEZodCxPaHQsQmh0LEhodCxxaHQsVmh0LGpodCxVaHQsV2h0LEdodCxZaHQsWmh0LFhodCxLaHQsUWh0LEpodCxlbXQsdG10LGFtdCxybXQsaW10LHNtdCxvbXQsbm10LGxtdCxQb2UsY210LGRtdCxwbXQsdW10LGZtdCxobXQsbW10LGdtdCxFb2UsYm10LHZtdCx4bXQseW10LHdtdCxNbXQsa210LHptdCxTbXQsQ210LF9tdCxUbXQsTG10LCRtdCxJb2UsRG10LEFtdCxQbXQsRW10LEltdCxObXQsUm10LEZtdCxPbXQsQm10LEhtdCxxbXQsVm10LGptdCxVbXQsTm9lLFdtdCxHbXQsWW10LFptdCxYbXQsS210LFFtdCxKbXQsZTl0LHQ5dCxhOXQscjl0LGk5dCxzOXQsTkcsbzl0LG45dCxsOXQsYzl0LGQ5dCxwOXQsdTl0LGY5dCxoOXQsbTl0LFJvZSxnOXQsYjl0LHY5dCx4OXQseTl0LHc5dCxNOXQsazl0LHo5dCxTOXQsQzl0LF85dCxUOXQsTDl0LCQ5dCxEOXQsQTl0LFA5dCxFOXQsSTl0LE45dCxSOXQsRjl0LE85dCxCOXQsSDl0LHE5dCxWOXQsajl0LFU5dCxXOXQsRzl0LFk5dCxaOXQsWDl0LEs5dCxROXQsSjl0LEZvZSxlZ3QsdGd0LGFndCxyZ3QsaWd0LE9vZSxzZ3Qsb2d0LG5ndCxsZ3QsY2d0LGRndCxPYmEscGd0PWMoKCk9PntGYmE9ImZhYiIsb29lPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1naXRodWIiLGljb246WzQ0OCw1MTIsWyJnaXRodWItc3F1YXJlIl0sImYwOTIiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTI2NS44IDQwNy43YzAtMS44IDAtNiAuMS0xMS42IC4xLTExLjQgLjEtMjguOCAuMS00My43IDAtMTUuNi01LjItMjUuNS0xMS4zLTMwLjcgMzctNC4xIDc2LTkuMiA3Ni03My4xIDAtMTguMi02LjUtMjcuMy0xNy4xLTM5IDEuNy00LjMgNy40LTIyLTEuNy00NS0xMy45LTQuMy00NS43IDE3LjktNDUuNyAxNy45LTI2LjYtNy41LTU2LjYtNy41LTgzLjIgMCAwIDAtMzEuOC0yMi4yLTQ1LjctMTcuOS05LjEgMjIuOS0zLjUgNDAuNi0xLjcgNDUtMTAuNiAxMS43LTE1LjYgMjAuOC0xNS42IDM5IDAgNjMuNiAzNy4zIDY5IDc0LjMgNzMuMS00LjggNC4zLTkuMSAxMS43LTEwLjYgMjIuMy05LjUgNC4zLTMzLjggMTEuNy00OC4zLTEzLjktOS4xLTE1LjgtMjUuNS0xNy4xLTI1LjUtMTcuMS0xNi4yLS4yLTEuMSAxMC4yLTEuMSAxMC4yIDEwLjggNSAxOC40IDI0LjIgMTguNCAyNC4yIDkuNyAyOS43IDU2LjEgMTkuNyA1Ni4xIDE5LjcgMCA5IC4xIDIxLjcgLjEgMzAuNiAwIDQuOCAuMSA4LjYgLjEgMTAgMCA0LjMtMyA5LjUtMTEuNSA4LTY2LTIyLjEtMTEyLjItODQuOS0xMTIuMi0xNTguMyAwLTkxLjggNzAuMi0xNjEuNSAxNjItMTYxLjVTMzg4IDE2NS42IDM4OCAyNTcuNGMuMSA3My40LTQ0LjcgMTM2LjMtMTEwLjcgMTU4LjMtOC40IDEuNS0xMS41LTMuNy0xMS41LTh6bS05MC41LTU0LjhjLS4yLTEuNSAxLjEtMi44IDMtMy4yIDEuOS0uMiAzLjcgLjYgMy45IDEuOSAuMyAxLjMtMSAyLjYtMyAzLTEuOSAuNC0zLjctLjQtMy45LTEuN3ptLTkuMSAzLjJjLTIuMiAuMi0zLjctLjktMy43LTIuNCAwLTEuMyAxLjUtMi40IDMuNS0yLjQgMS45LS4yIDMuNyAuOSAzLjcgMi40IDAgMS4zLTEuNSAyLjQtMy41IDIuNHptLTE0LjMtMi4yYy0xLjktLjQtMy4yLTEuOS0yLjgtMy4yczIuNC0xLjkgNC4xLTEuNWMyIC42IDMuMyAyLjEgMi44IDMuNC0uNCAxLjMtMi40IDEuOS00LjEgMS4zem0tMTIuNS03LjNjLTEuNS0xLjMtMS45LTMuMi0uOS00LjEgLjktMS4xIDIuOC0uOSA0LjMgLjYgMS4zIDEuMyAxLjggMy4zIC45IDQuMS0uOSAxLjEtMi44IC45LTQuMy0uNnptLTguNS0xMGMtMS4xLTEuNS0xLjEtMy4yIDAtMy45IDEuMS0uOSAyLjgtLjIgMy43IDEuMyAxLjEgMS41IDEuMSAzLjMgMCA0LjEtLjkgLjYtMi42IDAtMy43LTEuNXptLTYuMy04LjhjLTEuMS0xLjMtMS4zLTIuOC0uNC0zLjUgLjktLjkgMi40LS40IDMuNSAuNiAxLjEgMS4zIDEuMyAyLjggLjQgMy41LS45IC45LTIuNCAuNC0zLjUtLjZ6bS02LTYuNGMtMS4zLS42LTEuOS0xLjctMS41LTIuNiAuNC0uNiAxLjUtLjkgMi44LS40IDEuMyAuNyAxLjkgMS44IDEuNSAyLjYtLjQgLjktMS43IDEuMS0yLjggLjR6Il19LG42dD1vb2UsbDZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRoaW5rLXBlYWtzIixpY29uOls1NzYsNTEyLFtdLCJmNzMxIiwiTTQ2NS40IDQwOS40bDg3LjEtMTUwLjItMzItLjMtNTUuMSA5NS0yMDYuMi0zNTMuOS0yMzYuMiA0MDcuNCAzMiAuMyAyMDQuMi0zNTIuMSAyMDYuMiAzNTMuOHpNMTEwLjEgMzY1LjNsMzIuMSAwIDExNy40LTIwMi41IDIwMy40IDM0OS4xIDMyLjUgLjEtMjM1LjgtNDA0LjYtMTQ5LjYgMjU3Ljl6Il19LGM2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29nbGUtZHJpdmUiLGljb246WzUxMiw1MTIsW10sImYzYWEiLCJNMzM5IDMxNC45TDE3NS40IDMyIDMzNi42IDMyIDUwMC4yIDMxNC45IDMzOSAzMTQuOXpNMjAxLjUgMzM4LjVsLTgwLjYgMTQxLjUgMzEwLjUgMCA4MC42LTE0MS41LTMxMC41IDB6TTE1NC4xIDY3LjRMMCAzMzguNSA4MC42IDQ4MCAyMzcgMjA4LjggMTU0LjEgNjcuNHoiXX0sZDZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImF1dG9wcmVmaXhlciIsaWNvbjpbNjQwLDUxMixbXSwiZjQxYyIsIk0zMTguNCAxNmwtMTYxIDQ4MCA3Ny41IDAgMjUuNC04MS40IDExOS41IDAgMjUuMiA4MS40IDc3LjUgMC0xNjQuMS00ODB6TTI3OC4xIDM1Ny45bDQxLjItMTMwLjQgMS41IDAgNDAuOSAxMzAuNC04My42IDB6TTY0MCA0MDVMNjMwIDM3My42IDQ2Mi4xIDM1OCA0ODEuNSA0MTQuNSA2NDAgNDA1ek0xNzcuOSAzNThMMTAgMzczLjcgMCA0MDUgMTU4LjUgNDE0LjQgMTc3LjkgMzU4eiJdfSxub2U9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXZpYWRlbyIsaWNvbjpbNDQ4LDUxMixbInZpYWRlby1zcXVhcmUiXSwiZjJhYSIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMTE4LjMgMzgxLjJjLTY4LTczLjYtMTkuOC0xOTYuMSA4MS4yLTE5Ni4xIDEzLjMgMCAyNi42IDIuMSAzOS4xIDYuNy00LjMgOC40LTcuMyAxNy42LTguNCAyNy4xLTkuNy00LjEtMjAuMi02LTMwLjctNi00OC44IDAtODQuNiA0MS43LTg0LjYgODguOSAwIDQzIDI4LjUgNzguNyA2OS41IDg1LjkgNjEuNS0yNCA3Mi45LTExNy42IDcyLjktMTc1IDAtNy4zIDAtMTQuOC0uNi0yMi4xLTExLjItMzIuOS0yNi42LTY0LjYtNDQuMi05NC41IDI3LjEgMTguMyA0MS45IDYyLjUgNDQuMiA5NC4xbDAgLjRjNy43IDIyLjUgMTEuOCA0Ni4yIDExLjggNzAgMCA1NC4xLTIxLjkgOTktNjguMyAxMjguMmwtMi40IC4yYzUwIDEgODYuMi0zOC42IDg2LjItODcuMiAwLTEyLjItMi4xLTI0LjMtNi45LTM1LjcgOS41LTEuOSAxOC41LTUuNiAyNi40LTEwLjUgMTUuMyAzNi42IDEyLjYgODcuMy0yMi44IDEyNS42LTQyLjQgNDYuMi0xMjAgNDYuNi0xNjIuNCAwek0yNzQuNiAyMTcuNmMyMS45LTEyIDQ5LjYtMzAuNyA2Mi4zLTUzIDEuNS0zIDQuMS04LjYgNC41LTEyLTEyLjUgMjcuOS00NC4yIDQ5LjgtNzMuOSA1Ni43LTQuNy03LjMtNy41LTE1LjUtNy41LTI0LjMgMC0xMC4zIDUuMi0yNC4xIDEyLjktMzEuNiA4LjMtNy45IDE4LTEwLjkgMjcuOS0xNC4xIDE2LTUuMSAzMi41LTEwLjMgNDQuNS0zNS45IDMyLjUgNDYuMiAxMy4xIDEzMC4zLTM2LjMgMTMwLjMtMTMuMyAwLTI1LjEtNy4xLTM0LjQtMTYuMXoiXX0scDZ0PW5vZSx1NnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3BhbmVsIixpY29uOls2NDAsNTEyLFtdLCJmMzg4IiwiTTIxMC4zIDIyMC4yYy01LjYtMjQuOC0yNi45LTQxLjItNTEtNDEuMmwtMzcgMGMtNy4xIDAtMTIuNSA0LjUtMTQuMyAxMC45TDczLjEgMzIwIDk3LjggMzE5LjljNi44IDAgMTIuMy00LjUgMTQuMi0xMC43bDI1LjgtOTUuNyAxOS44IDBjOC40IDAgMTYuMiA1LjYgMTguMyAxNC44IDIuNSAxMC45LTUuOSAyMi42LTE4LjMgMjIuNmwtMTAuMyAwYy03IDAtMTIuNSA0LjYtMTQuMyAxMC44bC02LjQgMjMuOCAzMiAwYzM3LjIgMCA1OC4zLTM2LjIgNTEuNy02NS4zem0tMTU2LjUgMjhsMTguNiAwYzYuOSAwIDEyLjQtNC40IDE0LjMtMTAuOWw2LjItMjMuNi00MCAwQzMwIDIxMy43IDkgMjI3LjggMS43IDI1NC44LTcgMjg4LjYgMTguNSAzMjAgNTIgMzIwbDEyLjQgMCA3LjEtMjYuMWMxLjItNC40LTIuMi04LjMtNi40LTguM2wtMTEuMyAwYy0yNC43IDAtMjQuOS0zNy40IDAtMzcuNHptMjQ3LjUtMzQuOGwtNzcuOSAwLTMuNSAxMy40Yy0yLjQgOS42IDQuNSAxOC41IDE0LjIgMTguNWw1Ny41IDBjNCAwIDIuNCA0LjMgMi4xIDUuM2wtOC42IDMxLjhjLS40IDEuNC0uOSA1LjMtNS41IDUuM2wtMzQuOSAwYy01LjMgMC01LjMtNy45IDAtNy45bDIxLjYgMGM2LjggMCAxMi4zLTQuNiAxNC4yLTEwLjhsMy41LTEzLjItNDguNCAwYy0zOS4yIDAtNDMuNiA2My44LS43IDYzLjhsNTcuNSAuMmMxMS4yIDAgMjAuNi03LjIgMjMuNC0xNy44bDE0LTUxLjhjNC44LTE5LjItOS43LTM2LjgtMjguNS0zNi44ek02MzMuMSAxNzlsLTE4LjkgMGMtNC45IDAtOS4yIDMuMi0xMC40IDcuOUw1NjguMiAzMjBjMjAuNyAwIDM5LjgtMTMuOCA0NC45LTM0LjVsMjYuNS05OC4yYzEuMi00LjMtMi04LjMtNi41LTguM3pNMzk2LjggMjEzLjdsMCAuMS00OC4zIDAtMjYuMiA5OGMtMS4yIDQuNCAyLjIgOC4zIDYuNCA4LjNsMTguOSAwYzQuOCAwIDkuMi0zIDEwLjQtNy44bDE3LjItNjQgMTkuOCAwYzEyLjUgMCAyMS40IDExLjggMTguMSAyMy40bC0xMC42IDQwYy0xLjIgNC4zIDEuOSA4LjMgNi40IDguM2wxOS4xIDBjNC42IDAgOS4xLTIuOSAxMC4zLTcuOGw4LjgtMzMuMWM5LTMzLjEtMTUuOS02NS40LTUwLjMtNjUuNHptOTguMyA3NC42Yy0zLjYgMC02LTMuNC01LjEtNi43bDgtMzBjLjktMy45IDMuNy02IDcuOC02bDMyLjkgMGMyLjYgMCA0LjYgMi40IDMuOSA1LjFsLS43IDIuNmMtLjYgMi0xLjkgMy0zLjkgM2wtMjEuNiAwYy03IDAtMTIuNiA0LjYtMTQuMiAxMC44bC0zLjUgMTMgNTMuNCAwYzEwLjUgMCAyMC4zLTYuNiAyMy4yLTE3LjZsMy4yLTEyYzQuOS0xOS4xLTkuMy0zNi44LTI4LjMtMzYuOGwtNDcuMyAwYy0xNy45IDAtMzMuOCAxMi0zOC42IDI5LjZsLTEwLjggNDBjLTUgMTcuNyA4LjMgMzYuNyAyOC4zIDM2LjdsNjYuNyAwYzYuOCAwIDEyLjMtNC41IDE0LjItMTAuN2w1LjctMjEtNzMuMyAweiJdfSxmNnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWVuZGVsZXkiLGljb246WzY0MCw1MTIsW10sImY3YjMiLCJNNjI0LjYgMzI1LjJjLTEyLjMtMTIuNC0yOS43LTE5LjItNDguNC0xNy4yLTQzLjMtMS00OS43LTM0LjktMzcuNS05OC44IDIyLjgtNTcuNS0xNC45LTEzMS41LTg3LjQtMTMwLjgtNzcuNCAuNy04MS43IDgyLTEzMC45IDgyLTQ4LjEgMC01NC04MS4zLTEzMC45LTgyLTcyLjktLjgtMTEwLjEgNzMuMy04Ny40IDEzMC44IDEyLjIgNjMuOSA1LjggOTcuOC0zNy41IDk4LjgtMjEuMi0yLjMtMzcgNi41LTUzIDIyLjUtMTkuOSAxOS43LTE5LjMgOTQuOCA0Mi42IDEwMi42IDQ3LjEgNS45IDgxLjYtNDIuOSA2MS4yLTg3LjgtNDcuMy0xMDMuNyAxODUuOS0xMDYuMSAxNDYuNS04LjItLjEgLjEtLjIgLjItLjMgLjQtMjYuOCA0Mi44IDYuOCA5Ny40IDU4LjggOTUuMiA1Mi4xIDIuMSA4NS40LTUyLjYgNTguOC05NS4yLS4xLS4yLS4yLS4zLS4zLS40LTM5LjQtOTcuOSAxOTMuOC05NS41IDE0Ni41IDguMi00LjYgMTAtNi43IDIxLjMtNS43IDMzIDQuOSA1My40IDY4LjcgNzQuMSAxMDQuOSAzNS4yIDE3LjgtMTQuOCAyMy4xLTY1LjYgMC04OC4zek0zMjAuNyAzMDYuMWwtLjYgMGMtNDMuNCAwLTYyLjgtMzcuNS02Mi44LTYyLjggMC0zNC43IDI4LjItNjIuOCA2Mi44LTYyLjhsLjYgMGMzNC43IDAgNjIuOCAyOC4xIDYyLjggNjIuOCAwIDI1LTE5LjIgNjIuOC02Mi44IDYyLjh6Il19LGg2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkcmFmdDJkaWdpdGFsIixpY29uOls1MTIsNTEyLFtdLCJmMzk2IiwiTTQ5NiAzOTguMWwtMTQ0LTgyLjIgMCA2NC43LTkxLjMgMGMzMC44LTM1IDgxLjgtOTUuOSAxMTEuOC0xNDkuMyAzNS4yLTYyLjYgMTYuMS0xMjMuNC0xMi44LTE1My4zLTQuNC00LjYtNjIuMi02Mi45LTE2Ni00MS4yLTU5LjEgMTIuNC04OS40IDQzLjQtMTA0LjMgNjcuMy0xMy4xIDIwLjktMTcgMzkuOC0xOC4yIDQ3LjctNS41IDMzIDE5LjQgNjcuMSA1Ni43IDY3LjEgMzEuNyAwIDU3LjMtMjUuNyA1Ny4zLTU3LjQgMC0yNy4xLTE5LjctNTIuMS00OC01Ni44IDEuOC03LjMgMTcuNy0yMS4xIDI2LjMtMjQuNyA0MS4xLTE3LjMgNzggNS4yIDgzLjMgMzMuNSA4LjMgNDQuMy0zNy4xIDkwLjQtNjkuNyAxMjcuNi03Ni42IDg3LTE0Mi44IDE1NS43LTE2MS4xIDE3NC44bDMzNi0uMSAwIDY0LjIgMTQ0LTgxLjl6TTM4NS45IDM3MWw0Ny4xIDI3LjItNDcuMSAyNy4yIDAtNTQuNHpNMTA1LjQgMTYxLjRhMjIuNCAyMi40IDAgMSAxIDQ0LjggMCAyMi40IDIyLjQgMCAxIDEgLTQ0LjggMHpNOTguNSAzODAuNWMyNS42LTI3LjQgOTcuNy0xMDQuNyAxNTAuOC0xNjkuOSAzNS4xLTQzLjEgNDAuMy04Mi40IDI4LjQtMTEyLjctNy40LTE4LjgtMTcuNS0zMC4yLTI0LjMtMzUuNyA0NS4zIDIuMSA2OCAyMy40IDgyLjIgMzguMyAwIDAgNDIuNCA0OC4yIDUuOCAxMTMuMy0zNyA2NS45LTExMC45IDE0Ny41LTEyOC41IDE2Ni43bC0xMTQuNCAweiJdfSxtNnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmVwbHlkIixpY29uOls0NDgsNTEyLFtdLCJmM2U2IiwiTTMyMCA0ODBsLTE5MiAwQzU3LjYgNDgwIDAgNDIyLjQgMCAzNTJMMCAxNjBDMCA4OS42IDU3LjYgMzIgMTI4IDMybDE5MiAwYzcwLjQgMCAxMjggNTcuNiAxMjggMTI4bDAgMTkyYzAgNzAuNC01Ny42IDEyOC0xMjggMTI4ek0xOTMuNCAyNzMuMmMtNi4xLTItMTEuNi0zLjEtMTYuNC0zLjEtNy4yIDAtMTMuNSAxLjktMTguOSA1LjZzLTkuNiA5LTEyLjggMTUuOGwtMS4xIDAtNC4yLTE4LjMtMjggMCAwIDEzOC45IDM2LjEgMCAwLTg5LjdjMS41LTUuNCA0LjQtOS44IDguNy0xMy4yczkuOC01LjEgMTYuMi01LjFjNC42IDAgOS44IDEgMTUuNiAzLjFsNC44LTM0ek0zMDguNiAzNzYuNmMtMy4yIDIuNC03LjcgNC44LTEzLjcgNy4xcy0xMi44IDMuNS0yMC40IDMuNWMtMTIuMiAwLTIxLjEtMy0yNi41LTguOS01LjUtNS45LTguNS0xNC43LTktMjYuNGw4My4zIDBjLjktNC44IDEuNi05LjQgMi4xLTEzLjkgLjUtNC40IC43LTguNiAuNy0xMi41IDAtMTAuNy0xLjYtMTkuNy00LjctMjYuOS0zLjItNy4yLTcuMy0xMy0xMi41LTE3LjItNS4yLTQuMy0xMS4xLTcuMy0xNy44LTkuMi02LjctMS44LTEzLjUtMi44LTIwLjYtMi44LTIxLjEgMC0zNy41IDYuMS00OS4yIDE4LjNzLTE3LjUgMzAuNS0xNy41IDU1YzAgMjIuOCA1LjIgNDAuNyAxNS42IDUzLjcgMTAuNCAxMy4xIDI2LjggMTkuNiA0OS4yIDE5LjYgMTAuNyAwIDIwLjktMS41IDMwLjQtNC42czE3LjEtNi44IDIyLjYtMTEuMmwtMTItMjMuNnptLTIxLjgtNzAuM2MzLjggNS40IDUuMyAxMy4xIDQuNiAyMy4xbC01MS43IDBjLjktOS40IDMuNy0xNyA4LjItMjIuNnMxMS41LTguNSAyMS04LjVjOC4yLS4xIDE0LjEgMi42IDE3LjkgOHptNzkuOSAyLjVjNC4xIDMuOSA5LjQgNS44IDE2LjEgNS44IDcgMCAxMi42LTEuOSAxNi43LTUuOHM2LjEtOS4xIDYuMS0xNS42LTItMTEuNi02LjEtMTUuNC05LjYtNS43LTE2LjctNS43Yy02LjcgMC0xMiAxLjktMTYuMSA1LjdzLTYuMSA4LjktNi4xIDE1LjQgMiAxMS43IDYuMSAxNS42em0wIDEwMC41YzQuMSAzLjkgOS40IDUuOCAxNi4xIDUuOCA3IDAgMTIuNi0xLjkgMTYuNy01LjhzNi4xLTkuMSA2LjEtMTUuNi0yLTExLjYtNi4xLTE1LjQtOS42LTUuNy0xNi43LTUuN2MtNi43IDAtMTIgMS45LTE2LjEgNS43cy02LjEgOC45LTYuMSAxNS40YzAgNi42IDIgMTEuNyA2LjEgMTUuNnoiXX0sZzZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVtcGlyZSIsaWNvbjpbNTEyLDUxMixbXSwiZjFkMSIsIk0yOTUuNiA1NC4yYy0xMC44LTIuMi0yMi4xLTMuMy0zMy41LTMuNmwwLTE4LjJjNzguMSAyLjIgMTQ2LjEgNDQgMTg0LjYgMTA2LjZsLTE1LjggOS4xYy02LjEtOS43LTEyLjctMTguOC0yMC4yLTI3LjFsLTE4IDE1LjVjLTI2LTI5LjYtNjEuNC01MC43LTEwMS45LTU4LjRsNC44LTIzLjl6TTYxLjQgMzIyLjRsMjMtNy43Yy02LjQtMTguMy0xMC0zOC4yLTEwLTU4LjdzMy4zLTQwLjQgOS43LTU4LjdsLTIyLjctNy43YzMuNi0xMC44IDguMy0yMS4zIDEzLjYtMzFsLTE1LjgtOS4xQzQyIDE4MSAzMi4xIDIxNy41IDMyLjEgMjU2czEwIDc1IDI3LjEgMTA2LjZMNzUgMzUzLjVjLTUuMy0xMC05LjctMjAuMy0xMy42LTMxLjF6TTIyMS4xIDQzNGMtNDAuNC04LTc1LjgtMjkuMS0xMDEuOS01OC43bC0xOCAxNS44Yy03LjUtOC42LTE0LjQtMTcuNy0yMC4yLTI3LjRsLTE2IDkuNGMzOC41IDYyLjMgMTA2LjggMTA0LjMgMTg0LjkgMTA2LjZsMC0xOC4zYy0xMS4zLS4zLTIyLjctMS43LTMzLjUtMy42bDQuNy0yMy44ek0xMDEuMyAxMjAuOWwxOCAxNS41YzI2LTI5LjYgNjEuNC01MC43IDEwMS45LTU4LjRsLTQuNy0yMy44YzEwLjgtMi4yIDIyLjEtMy4zIDMzLjUtMy42bDAtMTguMkMxNzEuOSAzNC42IDEwMy45IDc2LjQgNjUuNCAxMzlsMTUuOCA5LjFjNi05LjcgMTIuNi0xOC45IDIwLjEtMjcuMnpNNDEwLjcgMzkxLjFsLTE4LTE1LjhjLTI2IDI5LjYtNjEuNCA1MC43LTEwMS45IDU4LjdsNC43IDIzLjhjLTEwLjggMS45LTIyLjEgMy4zLTMzLjUgMy42bDAgMTguM2M3OC4xLTIuMiAxNDYuNC00NC4zIDE4NC45LTEwNi42bC0xNi4xLTkuNGMtNS43IDkuNy0xMi42IDE4LjgtMjAuMSAyNy40ek04IDI1NmEyNDggMjQ4IDAgMSAxIDQ5NiAwIDI0OCAyNDggMCAxIDEgLTQ5NiAwem00ODMuOCAwYTIzNS44IDIzNS44IDAgMSAwIC00NzEuNiAwIDIzNS44IDIzNS44IDAgMSAwIDQ3MS42IDB6bS0zOS0xMDYuNkw0MzcgMTU4LjVjNS4zIDkuNyAxMCAyMC4yIDEzLjYgMzFsLTIyLjcgNy43YzYuNCAxOC4zIDkuNyAzOC4yIDkuNyA1OC43cy0zLjYgNDAuNC0xMCA1OC43bDIzIDcuN2MtMy45IDEwLjgtOC4zIDIxLTEzLjYgMzFsMTUuOCA5LjFDNDcwIDMzMSA0NzkuOSAyOTQuNSA0NzkuOSAyNTZzLTkuOS03NS0yNy4xLTEwNi42em0tMTgzIDE3Ny43YzE2LjMtMy4zIDMwLjQtMTEuNiA0MC43LTIzLjVsNTEuMiA0NC44YzExLjktMTMuNiAyMS4zLTI5LjMgMjcuMS00Ni44bC02NC4yLTIyLjFjMi41LTcuNSAzLjktMTUuMiAzLjktMjMuNXMtMS40LTE2LjEtMy45LTIzLjVsNjQuNS0yMi4xYy02LjEtMTcuNC0xNS41LTMzLjItMjcuNC00Ni44bC01MS4yIDQ0LjhjLTEwLjItMTEuOS0yNC40LTIwLjUtNDAuNy0yMy44bDEzLjMtNjYuNGMtOC42LTEuOS0xNy43LTIuOC0yNy4xLTIuOHMtMTguNSAuOC0yNy4xIDIuOGwxMy4zIDY2LjRjLTE2LjMgMy4zLTMwLjQgMTEuOS00MC43IDIzLjhsLTUxLjItNDQuOGMtMTEuOSAxMy42LTIxLjMgMjkuMy0yNy40IDQ2LjhsNjQuNSAyMi4xYy0yLjUgNy41LTMuOSAxNS4yLTMuOSAyMy41czEuNCAxNi4xIDMuOSAyMy41bC02NC4yIDIyLjFjNS44IDE3LjQgMTUuMiAzMy4yIDI3LjEgNDYuOGw1MS4yLTQ0LjhjMTAuMiAxMS45IDI0LjQgMjAuMiA0MC43IDIzLjVsLTEzLjMgNjYuN2M4LjYgMS43IDE3LjcgMi44IDI3LjEgMi44czE4LjUtMS4xIDI3LjEtMi44bC0xMy4zLTY2Ljd6Il19LGI2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhY2Nlc3NpYmxlLWljb24iLGljb246WzQ0OCw1MTIsWzYyMTA3XSwiZjM2OCIsIk00MjMuOSAyNTUuOEw0MTEgNDEzLjFjLTMuMyA0MC43LTYzLjkgMzUuMS02MC42LTQuOWwxMC0xMjIuNS00MS4xIDIuM2MxMC4xIDIwLjcgMTUuOCA0My45IDE1LjggNjguNSAwIDQxLjItMTYuMSA3OC43LTQyLjMgMTA2LjVsLTM5LjMtMzkuM2M1Ny45LTYzLjcgMTMuMS0xNjcuMi03NC0xNjcuMi0yNS45IDAtNDkuNSA5LjktNjcuMiAyNkw3MyAyNDMuMmMyMi0yMC43IDUwLjEtMzUuMSA4MS40LTQwLjJsNzUuMy04NS43LTQyLjYtMjQuOC01MS42IDQ2QzEwNS41IDE2NS4zIDY0LjkgMTIwIDk1IDkzLjFsNjgtNjAuN2M5LjgtOC44IDI0LjEtMTAuMiAzNS41LTMuNiAwIDAgMTM5LjMgODAuOSAxMzkuNSA4MS4xIDE2LjIgMTAuMSAyMC43IDM2IDYuMSA1Mi42bC01OC40IDY2LjUgMTA2LjEtNS45YzE4LjUtMS4xIDMzLjYgMTQuNCAzMi4xIDMyLjd6TTM1OSAxMDEuOEE1MC45IDUwLjkgMCAxIDAgMzU5IDAgNTAuOSA1MC45IDAgMSAwIDM1OSAxMDEuOHpNMTc5LjYgNDU2LjVjLTgwLjYgMC0xMjcuNC05MC42LTgyLjctMTU2LjFMNTcuMiAyNjAuN0MzNi40IDI4NyAyNCAzMjAuMyAyNCAzNTYuNCAyNCA0ODcuMSAxNzQuNyA1NTcuOCAyNzUuNCA0NzguOWwtMzkuNy0zOS43Yy0xNiAxMC45LTM1LjMgMTcuMy01Ni4xIDE3LjN6Il19LHY2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJxdW9yYSIsaWNvbjpbNDQ4LDUxMixbXSwiZjJjNCIsIk00NDAuNyAzODYuN2wtMjkuMyAwYy0xLjUgMTMuNS0xMC41IDMwLjgtMzMgMzAuOC0yMC41IDAtMzUuMy0xNC4yLTQ5LjUtMzUuOCA0NC4yLTM0LjIgNzQuNy04Ny41IDc0LjctMTUzIC4xLTExNy41LTk2LjYtMTk2LjctMTk4LjQtMTk2LjctOTkuNyAwLTE5Ny43IDc5LjctMTk3LjcgMTk2LjcgMCAxMzQuMSAxMzEuMyAyMjEuNiAyNDkgMTg5IDE5LjcgMzMuNiA0NS43IDYyLjMgOTUuMiA2Mi4zIDgxLjggMCA5MC44LTc1LjMgODktOTMuM3pNMjk3LjIgMzI5LjJjLTE5LjUtMjkuMi00My43LTUyLjItOTEuNS01Mi4yLTMwLjUgMC01NC4zIDEwLTY5IDIyLjhsMTIuMiAyNC4zYzYuMi0zIDEzLTQgMTkuOC00IDM1LjUgMCA1My43IDMwLjggNjkuMiA2MS4zLTEwIDMtMjAuNyA0LjItMzIuNyA0LjItNzUgMC0xMDcuNS01My0xMDcuNS0xNTYuNyAwLTEwNC40IDMyLjUtMTU3LjkgMTA3LjUtMTU3LjkgNzYuMiAwIDEwOC43IDUzLjUgMTA4LjcgMTU3LjcgLjEgNDEuOC01LjQgNzUuNi0xNi43IDEwMC41eiJdfSx4NnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2MtamNiIixpY29uOls1NzYsNTEyLFtdLCJmMjRiIiwiTTQzMS41IDI0NC4zbDAtMzIuM2M0MS4yIDAgMzguNSAuMiAzOC41IC4yIDcuMyAxLjMgMTMuMyA3LjMgMTMuMyAxNiAwIDguOC02IDE0LjUtMTMuMyAxNS44LTEuMiAuNC0zLjMgLjMtMzguNSAuM3ptNDIuOCAyMC4yYy0yLjgtLjctMy4zLS41LTQyLjgtLjVsMCAzNWMzOS42IDAgNDAgLjIgNDIuOC0uNSA3LjUtMS41IDEzLjUtOCAxMy41LTE3IDAtOC43LTYtMTUuNS0xMy41LTE3ek01NzYgODBsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDQ4MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0xODIgMTkyLjNsLTU3IDBjMCA2Ny4xIDEwLjcgMTA5LjctMzUuOCAxMDkuNy0xOS41IDAtMzguOC01LjctNTcuMi0xNC44bDAgMjhjMzAgOC4zIDY4IDguMyA2OCA4LjMgOTcuOSAwIDgyLTQ3LjcgODItMTMxLjJ6bTE3OC41IDQuNWMtNjMuNC0xNi0xNjUtMTQuOS0xNjUgNTkuMyAwIDc3LjEgMTA4LjIgNzMuNiAxNjUgNTkuMmwwLTI4LjNDMzEyLjkgMzExLjcgMjUzIDMwOSAyNTMgMjU2czU5LjgtNTUuNiAxMDcuNS0zMS4ybDAtMjh6TTU0NCAyODYuNWMwLTE4LjUtMTYuNS0zMC41LTM4LTMybDAtLjhjMTkuNS0yLjcgMzAuMy0xNS41IDMwLjMtMzAuMiAwLTE5LTE1LjctMzAtMzctMzEgMCAwIDYuMy0uMy0xMjAuMy0uM2wwIDEyNy41IDEyMi43IDBjMjQuMyAuMSA0Mi4zLTEyLjkgNDIuMy0zMy4yeiJdfSx5NnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmVkb3JhIixpY29uOls0NDgsNTEyLFtdLCJmNzk4IiwiTTAgMjU1LjhDLjEgMTMyLjIgMTAwLjMgMzIgMjI0IDMyUzQ0OCAxMzIuMyA0NDggMjU2IDM0Ny44IDQ3OS45IDIyNC4xIDQ4MEw1MC45IDQ4MEMyMi44IDQ4MCAuMSA0NTcuMyAwIDQyOS4ybDAgMCAwLTE3My40IDAgMHptMzQyLjYtNjMuMWMwLTM5LjctMzUuNi02OC41LTczLjItNjguNS0zNC45IDAtNjUuOCAyNi4zLTcwLjEgNTkuOS0uMiAzLjgtLjQgNS0uNCA4LjUtLjEgMjEuMSAwIDQyLjgtLjggNjQuNCAuOSAyNi4xIDEgNTIuMSAwIDc2LjYgMCAyNy4xLTE5LjQgNDUuNS00NC43IDQ1LjVzLTQ1LjgtMjAuMi00NS44LTQ1LjVjLjUtMjcuNyAyMi42LTQ1LjMgNDguNS00Ni4xbC4yIDAgMjYuMy0uMiAwLTM3LjMtMjYuMyAuMmMtNDcuMS0uNC04NC42IDM2LjUtODUuOSA4My40IDAgNDUuNiAzNy41IDgyLjkgODMgODIuOSA0MyAwIDc4LjctMzMuNiA4Mi42LTc1LjZsLjItNTMuNSAzMi42LS4zYzI1LjMgLjIgMjUtMzcuOC0uMi0zNy4zbC0zMi40IC4zYzAtNi40IC4xLTEyLjggLjEtMTkuMiAuMS0xMi43IC4xLTI1LjQtLjEtMzguMiAuMS0xNi41IDE1LjgtMzEuMiAzMy4yLTMxLjIgMTcuNSAwIDM1LjkgOC43IDM1LjkgMzEuMiAwIDMuMi0uMSA1LjEtLjMgNi4zLTEuOSAxMC41IDUuMiAyMC40IDE1LjcgMjEuOSAxMC42IDEuNSAyMC4yLTYuMSAyMS4yLTE2LjYgLjYtNC4yIC43LTcuOSAuNy0xMS42eiJdfSx3NnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZHVvbGluZ28iLGljb246WzU3Niw1MTIsW10sImU4MTIiLCJNNTA0LjMgMjMwLjVjMTAuNCA4OC41LTQzLjQgMTcyLjEtMTI4LjIgMTk5cy0xNzYuNi0xMC4zLTIxOC45LTg4LjdjLTcyIDMtMTM3LjQtMzkuOC0xNjMuMi0xMDUuNS0yLjYtNi42LTEuOS0xNCAxLjktMTkuOXMxMC4yLTkuNyAxNy4yLTEwLjFsOTYuMS02LTIzLjgtNzUuOWMtNi4zLTIwLTIuMi00MS45IDExLTU4LjNzMzMuNy0yNSA1NC41LTIzYzUyLjIgNSA4Ni44IDQuOCAxMDQtLjZTMzAwIDE2LjcgMzM5LTE2LjljMTUuOS0xMy43IDM3LjctMTguNSA1Ny44LTEyLjdzMzYuMSAyMS4zIDQyLjQgNDEuNEw0NjIuOCA4NyA1NDMuNiAzNy4zYzYtMy43IDEzLjQtNC4zIDE5LjktMS42czExLjMgOC4zIDEyLjkgMTUuMmMxNi4yIDY4LjItMTIuNCAxNDAuMy03Mi4xIDE3OS41ek0yNTguNSA0NzUuOWwwIDBjMTUuMSA3LjUgMjEuNSAyNS44IDE0LjIgNDFzLTI1LjQgMjEuOS00MC43IDE0LjlsLTQzLjktMjFjLTE1LjEtNy41LTIxLjUtMjUuOC0xNC4yLTQxczI1LjQtMjEuOSA0MC43LTE0LjlsNDMuOCAyMXpNNTY0LjYgMzQ1LjdjMTQuOCA4LjQgMjAgMjcuMyAxMS42IDQyLjJsLTIzLjkgNDIuNGMtOC43IDE0LjMtMjcuMSAxOS4yLTQxLjYgMTAuOXMtMTkuOS0yNi42LTEyLTQxLjRsMjMuOS00Mi40YzQtNy4xIDEwLjctMTIuNCAxOC42LTE0LjZzMTYuMy0xLjIgMjMuNCAyLjl6Il19LE02dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmaXJzdGRyYWZ0IixpY29uOlszODQsNTEyLFtdLCJmM2ExIiwiTTM4NCAxOTJsLTY0IDAgMCAxMjgtMTI4IDAgMCAxMjgtMTkyIDAgMC0yNS42IDE2Ni40IDAgMC0xMjggMTI4IDAgMC0xMjggODkuNiAwIDAgMjUuNnptLTI1LjYgMzguNGwwIDEyOC0xMjggMCAwIDEyOC0xNjYuNCAwIDAgMjUuNiAxOTIgMCAwLTEyOCAxMjggMCAwLTE1My42LTI1LjYgMHptMjUuNiAxOTJsLTg5LjYgMCAwIDg5LjYgMjUuNiAwIDAtNjQgNjQgMCAwLTI1LjZ6TTAgMGwwIDM4NCAxMjggMCAwLTEyOCAxMjggMCAwLTEyOCAxMjggMCAwLTEyOC0zODQgMHoiXX0sazZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZyZWVic2QiLGljb246WzQ0OCw1MTIsW10sImYzYTQiLCJNMzAzLjcgOTYuMmMxMS4xLTExLjEgMTE1LjUtNzcgMTM5LjItNTMuMiAyMy43IDIzLjctNDIuMSAxMjguMS01My4yIDEzOS4ycy0zOS40IC45LTYzLjEtMjIuOWMtMjMuOC0yMy43LTM0LjEtNTItMjIuOS02My4xek0xMDkuOSA2OC4xQzczLjYgNDcuNSAyMiAyNC42IDUuNiA0MS4xLTExIDU3LjcgMTIuNyAxMTAuNSAzMy41IDE0Ni44IDUyIDExNC42IDc4LjMgODcuNSAxMDkuOSA2OC4xek00MDYuNyAxNzRjMy4zIDExLjMgMi43IDIwLjctMi43IDI2LjEtMjAuMyAyMC4zLTg3LjUtMjctMTA5LjMtNzAuMS0xOC0zMi4zLTExLjEtNTMuNCAxNC45LTQ4LjcgNS43LTMuNiAxMi4zLTcuNiAxOS42LTExLjYtMjkuOC0xNS41LTYzLjYtMjQuMy05OS41LTI0LjMtMTE5LjEgMC0yMTUuNiA5Ni41LTIxNS42IDIxNS42IDAgMTE5IDk2LjUgMjE1LjYgMjE1LjYgMjE1LjZTNDQ1LjMgMzgwLjEgNDQ1LjMgMjYxYzAtMzguNC0xMC4xLTc0LjUtMjcuNy0xMDUuOC0zLjkgNy03LjYgMTMuMy0xMC45IDE4Ljh6Il19LHo2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvZHlzZWUiLGljb246WzUxMiw1MTIsW10sImU1YzYiLCJNNDA2LjcgNDYzYy00Mi4zIDMwLjgtOTQuNCA0OS0xNTAuNyA0OS0xMTEuMSAwLTIwNS43LTcwLjgtMjQxLjEtMTY5LjggMi40IDEuNyA1LjkgMy42IDcuOSA0LjQgMTYuMyA3LjQgNDAuMS01LjQgNjIuOS0yOC43IDYuOS02LjkgMTQuNC0xMi40IDIyLjgtMTcuMyAxOC4zLTExLjkgMzcuNi0yMC44IDU4LjQtMjcuMiAwIDAgMjIuMyAzNC4yIDQzLjEgNzQuOHMtMjIuMyA1NC0yNy4yIDU0Yy0uMyAwLS44IDAtMS41LS4xLTExLS41LTcwLTMtNTYgNTEuMSAxNC45IDU3LjQgOTcuNSAzNi42IDEzOS42IDguOXMzMS43LTExOC4zIDMxLjctMTE4LjNjNDEuMS02LjQgNTQgMzcuMSA1Ny45IDU5LjQgLjggNC42IDEuMSA5LjkgMS40IDE1LjUgMS4xIDIxLjIgMi4zIDQ1LjYgMzUuMyA0Ni40IDUuMyAwIDEwLjYtLjggMTUuNS0ybDAtLjF6bS05NS4zLTIzLjdjLTItLjUtMy41LTIuNS0zLTUgMS0yLjUgMy0zLjUgNS0zczMuNSAzIDMgNS0yLjUgMy41LTUgM3ptLTIwNy05NS42YzEuNS0uNSAzLjUgMSA0IDMgMCAyLTEgNC0zIDQtMS41IC41LTMuNS0xLTQtMy0uNS0xLjUgMS0zLjUgMy00ek00NTEuOCA0MjFjMzcuNS00NC42IDYwLjItMTAyLjIgNjAuMi0xNjUgMC02Ny41LTI2LjEtMTI4LjktNjguOC0xNzQuNy0uMSAyMy41LTYuMSA0OC4yLTE2LjggNjkuMi0xMS45IDIwLjMtNDkgNTguOS02OS44IDc4LjctLjcgLjMtMS4xIC45LTEuNSAxLjQtLjIgLjItLjMgLjQtLjUgLjYtNSA2LjktNCAxNi44IDMgMjEuOCAyMS4zIDE1LjggNTYuNCA0NS42IDU5LjQgNzIuOCAzLjUgMzQuOSAyNy45IDc1LjYgMzQuMiA4Ni4yIC44IDEuMyAxLjMgMi4xIDEuNCAyLjQgMCAyLjItLjQgNC4zLS44IDYuNWwwIC4xek0zOTAuNyAyNTFjLS41IDMgMSA1LjkgNCA2LjRzNS45LTEgNi40LTQtMS01LjktNC02LjRjLTMtMS01LjkgMS02LjQgNHptNjEuNC02MC45bC0xMS40IDUuNC0zIDEyLjktNS40LTExLjQtMTIuOS0zIDExLjQtNS40IDMtMTIuOSA1LjQgMTEuNCAxMi45IDN6TTM5NS41IDQxLjNjLTE2LjIgOC4yLTIyLjEgMzIuOC0yOSA2MS40LS4zIDEuNC0uNyAyLjgtMSA0LjItOS41IDM4LjUtMzAuNiAzNy42LTQxLjcgMzcuMi0xLjEgMC0yLS4xLTIuOS0uMS01LjEgMC02LTQtOC45LTE3LjEtMi42LTEyLjEtNi45LTMyLTE3LjktNjMuNi0yMi43LTY1LjgtODIuNy00OS40LTEyOC4yLTIyLjItNTUuMyAzMy4xLTM0LjQgMTAxLjktMTkuOCAxNDkuNCAuNyAyLjIgMS40IDQuNCAyIDYuNi00IDQtMTMuOCA3LjUtMjYgMTEuOS0xMi4xIDQuMy0yNi42IDkuNS00MC4zIDE2LjktMzMuOSAxOC03MC4zIDQ5LTc5LjggNjIuNi0xLjMtMTAuNy0yLTIxLjUtMi0zMi41IDAtMTQxLjQgMTE0LjYtMjU2IDI1Ni0yNTYgNTEuNCAwIDk5LjQgMTUuMiAxMzkuNSA0MS4zek01OC45IDE4OS42Yy0xLjUtMi00LjUtMy02LjQtMS41cy0zIDQuNS0xLjUgNi40IDQuNSAzIDYuNCAxLjVjMi41LTEuNSAzLTQuNSAxLjUtNi40ek0zMjcuMyA2NC45YzItMS41IDUtLjUgNi40IDEuNSAxLjUgMi41IDEgNS40LTEuNSA2LjQtMiAxLjUtNSAuNS02LjQtMS41cy0uNS01IDEuNS02LjR6TTk1LjEgMTA1Yy0uNSAxLjUgLjUgMyAyIDMgMS41IC41IDMtLjUgMy0yIC41LTEuNS0uNS0zLTItM3MtMyAuNS0zIDJ6bTg0LjctLjVjLTMuNS00My4xIDM3LjEtNTQgMzcuMS01NCA0NC4xLTE1LjQgNTYgNS45IDY2LjQgMzcuNnMzIDQyLjYtMzguNiA1OC45LTYxLjktNC41LTY0LjktNDIuNmwwIC4xem04OS42IDE0LjlsMSAwYzIuNSAwIDUtMiA1LTUgMi02LjkgMS0xNC40LTItMjAuOC0xLjUtMi00LTMuNS02LjQtMi41LTMgMS00LjUgNC0zLjUgNi45IDIgNC41IDMgOS45IDEuNSAxNC45LS41IDMgMS41IDUuOSA0LjUgNi40bC0uMSAuMXptLTkuOS00MS42Yy0yIDAtNC0xLTUtM3MtMi0zLjUtMy01Yy0yLTItMi01LjQgMC03LjRzNS40LTIgNy40IDBjMiAyLjUgMy41IDUgNSA3LjRzLjUgNS45LTIuNSA3LjRjLS42IDAtMSAuMi0xLjMgLjMtLjIgLjEtLjQgLjItLjYgLjJsMCAuMXoiXX0sUzZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdnLWNpcmNsZSIsaWNvbjpbNTEyLDUxMixbXSwiZjI2MSIsIk0yNTcuNSA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNMjA4IDM4Mi44bC0xMjUuNy0xMjUuNyAxMjUuNy0xMjUuNyAzNS4yIDM1LjQtMjQuMiAyNC4yLTExLjEtMTEuMS03Ny4yIDc3LjIgNzcuMiA3Ny4yIDI2LjYtMjYuNi01My4xLTUyLjkgMjQuNC0yNC40IDc3LjIgNzcuMi03NSA3NS4yem05OS0yLjJsLTM1LjItMzUuMiAyNC4xLTI0LjQgMTEuMSAxMS4xIDc3LjItNzcuMi03Ny4yLTc3LjItMjYuNSAyNi41IDUzLjEgNTIuOS0yNC40IDI0LjQtNzcuMi03Ny4yIDc1LTc1IDEyNS43IDEyNS43LTEyNS43IDEyNS42eiJdfSxDNnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2xvdWRmbGFyZSIsaWNvbjpbNjQwLDUxMixbXSwiZTA3ZCIsIk00MDcuOSAzMTkuOUwxNzcuMSAzMTdjLS43IDAtMS40LS4yLTItLjVzLTEuMi0uOC0xLjYtMS40Yy0uNC0uNi0uNy0xLjMtLjctMnMwLTEuNCAuMi0yLjFjLjQtMS4xIDEuMS0yLjEgMi4xLTIuOHMyLjEtMS4yIDMuMy0xLjJsMjMyLjktMi45YzI3LjYtMS4zIDU3LjUtMjMuNiA2OC01MC44bDEzLjMtMzQuNWMuNC0uOSAuNS0xLjkgLjUtMi45IDAtLjUtLjEtMS4xLS4yLTEuNi03LjQtMzIuMi0yNS02MS4xLTUwLjMtODIuM3MtNTYuNy0zMy43LTg5LjctMzUuNS02NS42IDcuMy05MyAyNS43LTQ4IDQ1LjMtNTguOCA3Ni41Yy0xMS4zLTguNS0yNC45LTEzLjMtMzktMTMuN3MtMjggMy41LTM5LjggMTEuNC0yMC44IDE5LjEtMjUuOSAzMi4zLTUuOSAyNy42LTIuNCA0MS4zYy01Mi4zIDEuNS05NC4yIDQ0LjEtOTQuMiA5Ni41IDAgNC43IC4zIDkuMyAxIDE0IC4yIDEuMSAuNyAyLjEgMS41IDIuOHMxLjkgMS4xIDIuOSAxLjFsNDI2LjEgLjFjMCAwIC4xIDAgLjEgMCAxLjIgMCAyLjMtLjQgMy4zLTEuMXMxLjYtMS43IDItMi45bDMuMy0xMS4zYzMuOS0xMy40IDIuNC0yNS44LTQuMS0zNC45LTYtOC40LTE2LjEtMTMuMy0yOC4yLTEzLjl6bTEwNS45LTk4LjhjLTIuMSAwLTQuMyAuMS02LjQgLjItLjggLjEtMS41IC4zLTIuMSAuOHMtMSAxLjEtMS4zIDEuOGwtOS4xIDMxLjJjLTMuOSAxMy40LTIuNCAyNS44IDQuMSAzNC45IDYgOC40IDE2LjEgMTMuMyAyOC4yIDEzLjlsNDkuMiAyLjljLjcgMCAxLjQgLjIgMiAuNXMxLjEgLjggMS41IDEuNGMuNCAuNiAuNyAxLjMgLjggMnMwIDEuNS0uMiAyLjFjLS40IDEuMS0xLjEgMi4xLTIuMSAyLjhzLTIuMSAxLjItMy4zIDEuMmwtNTEuMSAyLjljLTI3LjggMS4zLTU3LjcgMjMuNi02OC4xIDUwLjhsLTMuNyA5LjZjLS4yIC40LS4yIC44LS4yIDEuM3MuMiAuOCAuNCAxLjIgLjYgLjcgLjkgLjkgLjggLjMgMS4yIC4zYzAgMCAuMSAwIC4xIDBsMTc1LjkgMGMxIDAgMi0uMyAyLjgtLjlzMS40LTEuNSAxLjctMi40YzMuMS0xMS4xIDQuNy0yMi41IDQuNy0zNCAwLTY5LjMtNTYuNS0xMjUuNS0xMjYuMS0xMjUuNXoiXX0sXzZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImhhY2tlcnJhbmsiLGljb246WzUxMiw1MTIsW10sImY1ZjciLCJNNDc3LjkgMTI4QzQ2My40IDEwMyAyODUuNSAwIDI1Ni41IDBzLTIwNi45IDEwMi44LTIyMS4zIDEyOC0xNC41IDIzMC44IDAgMjU2IDE5Mi40IDEyOCAyMjEuMyAxMjggMjA2LjgtMTAyLjkgMjIxLjMtMTI4IDE0LjUtMjMxIDAtMjU2ek0zMTYuNSA0MTQuMmMtNCAwLTQwLjktMzUuOC0zOC0zOC43IC45LS45IDYuMy0xLjUgMTcuNS0xLjggMC0yNi4yIC42LTY4LjYgLjktODYuMyAwLTItLjQtMy40LS40LTUuOGwtNzkuOSAwYzAgNy4xLS41IDM2LjIgMS40IDcyLjkgLjIgNC41LTEuNiA2LTUuNyA1LjktMTAuMSAwLTIwLjMtLjEtMzAuNC0uMS00LjEgMC01LjktMS41LTUuNy02LjEgLjktMzMuNCAzLTg0LS4yLTIxMi43bDAtMy4yYy05LjctLjQtMTYuNC0xLTE3LjMtMS44LTIuOS0yLjkgMzQuNS0zOC43IDM4LjUtMzguN3M0MS4yIDM1LjggMzguMyAzOC43Yy0uOSAuOS03LjkgMS41LTE2LjggMS44bDAgMy4yYy0yLjQgMjUuOC0yIDc5LjYtMi42IDEwNS40bDgwLjMgMGMwLTQuNiAuNC0zNC43LTEuMi04My42LS4xLTMuNCAxLTUuMiA0LjItNS4yIDExLjEtLjEgMjIuMi0uMSAzMy4yLS4xIDMuNSAwIDQuNiAxLjcgNC41IDUuNC0zLjcgMTkxLjMtLjcgMTc3LjktLjcgMjEwLjMgOC45IC40IDE2LjggMSAxNy43IDEuOCAyLjkgMi45LTMzLjYgMzguNy0zNy42IDM4LjdsMCAweiJdfSxUNnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2t5YXRsYXMiLGljb246WzY0MCw1MTIsW10sImYyMTYiLCJNNjQwIDMyOS4zYzAgNjUuOS01Mi41IDExNC40LTExNy41IDExNC40LTE2NS45IDAtMTk2LjYtMjQ5LjctMzU5LjctMjQ5LjctMTQ2LjkgMC0xNDcuMSAyMTIuMiA1LjYgMjEyLjIgNDIuNSAwIDkwLjktMTcuOCAxMjUuMy00Mi41IDUuNi00LjEgMTYuOS0xNi4zIDIyLjgtMTYuM3MxMC45IDUgMTAuOSAxMC45YzAgNy44LTEzLjEgMTkuMS0xOC43IDI0LjEtNDAuOSAzNS42LTEwMC4zIDYxLjItMTU0LjcgNjEuMi04My40IC4xLTE1NC01OS0xNTQtMTQ0LjlTNjcuNSAxNDkuNiAxNTIuOCAxNDkuNmMxODUuMyAwIDIyMi41IDI0NS45IDM2MS45IDI0NS45IDk5LjkgMCA5NC44LTEzOS43IDMuNC0xMzkuNy0xNy41IDAtMzUgMTEuNi00Ni45IDExLjYtOC40IDAtMTUuOS03LjItMTUuOS0xNS42IDAtMTEuNiA1LjMtMjMuNyA1LjMtMzYuMyAwLTY2LjYtNTAuOS0xMTQuNy0xMTYuOS0xMTQuNy01My4xIDAtODAgMzYuOS04OC44IDM2LjktNi4yIDAtMTEuMi01LTExLjItMTEuMiAwLTUuNiA0LjEtMTAuMyA3LjgtMTQuNCAyNS4zLTI4LjggNjQuNy00My43IDEwMi44LTQzLjcgNzkuNCAwIDEzOS4xIDU4LjQgMTM5LjEgMTM3LjggMCA2LjktLjMgMTMuNy0xLjIgMjAuNiAxMS45LTMuMSAyNC4xLTQuNyAzNS45LTQuNyA2MC43IDAgMTExLjkgNDUuMyAxMTEuOSAxMDcuMnoiXX0sTDZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRlc2twcm8iLGljb246WzQ0OCw1MTIsW10sImYzOGYiLCJNMTIyIDQwNi4ybDg0IDBjMjMuMSAwIDQzLjktMy41IDYyLjYtMTAuNyAxOC43LTcuMSAzNC43LTE3LjEgNDgtMzAuMSAxMy4zLTEzLjQgMjMuNi0yOS4yIDMwLjctNDcuNSAzLjktOS42IDYuOC0xOS44IDguNi0zMC42bDczLjcgMGMtMi41IDIxLjMtNy43IDQxLjMtMTUuNSA2MC0xMS4xIDI3LjItMjYuOSA1MC44LTQ3LjMgNzAuOS0yMCAxOS42LTQ0LjIgMzQuOC03Mi42IDQ1LjRzLTYwIDE2LTk0LjcgMTZsLTE0OS44IC4yIDAtMTkyLjQgNzIuMy0uMiAwIDExOC44ek0xOTkuNCAzMmMzNC43IDAgNjYuMiA1LjQgOTQuNyAxNiAyOC41IDEwLjcgNTIuOSAyNi4xIDczLjMgNDYuMiAyMC40IDE5LjYgMzYuMiA0My4yIDQ3LjMgNzAuOSA3LjUgMTguMyAxMi40IDM4LjEgMTQuOSA1OS4zbC03My43LS4xYy0xLjktMTAuNS00LjctMjAuNS04LjYtMjkuOS03LjEtMTguNy0xNy4zLTM0LjUtMzAuNy00Ny41LTEzLjMtMTMuNC0yOS4zLTIzLjYtNDgtMzAuOC0xOC42LTcuMS0zOS41LTEwLjctNjIuNy0xMC43bC04NCAwIDAgMTE4LjgtNzIuMiAuMiAwLTE5Mi4zIDE0OS43LS4xeiJdfSwkNnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmVzb2x2aW5nIixpY29uOls1MTIsNTEyLFtdLCJmM2U3IiwiTTI4OS4yIDI3OC4yYzQ2LTEzLjMgNDkuNi0yMy41IDQ0LTQzLjRMMzIyIDE5NS41Yy02LjEtMjAuOS0xOC40LTI4LjEtNzEuMS0xMi44bC0xODguMiA1NC4xIDI4LjYgOTguNiAxOTcuOS01Ny4yek0yNTYuNSA4QzEzOS40IDggNDEuMiA4OC43IDE1LjIgMTk3LjVsMjIxLjktNjMuOWMzNC44LTEwLjIgNTQuMi0xMS43IDc5LjMtOC4yIDM2LjMgNi4xIDUyLjcgMjUgNjEuNCA1NS4ybDEwLjcgMzcuOGM4LjIgMjguMSAxIDUwLjYtMjMuNSA3My42LTE5LjQgMTcuNC0zMS4yIDI0LjUtNjEuNCAzMy4ybC05Mi42IDI2LjYgMjIwLjQgMjcuMSA5LjcgMzQuMi00OC4xIDEzLjMtMjg2LjgtMzcuMyAyMyA4MC4yQzE2NiA0OTEuMyAyMDkuNSA1MDQgMjU1LjUgNTA0IDM5Mi41IDUwNCA1MDQgMzkyLjYgNTA0IDI1NS43IDUwNSAxMTkuNCAzOTMuNSA4IDI1Ni41IDh6TTQ2LjMgMzg4LjZMOCAyNTYuOGMwIDQ4LjUgMTQuMyA5My40IDM4LjMgMTMxLjh6Il19LEQ2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJibGFja2JlcnJ5IixpY29uOls1MTIsNTEyLFtdLCJmMzdiIiwiTTE2NiAxMTYuOWMwIDIzLjQtMTYuNCA0OS4xLTcyLjUgNDkuMWwtNzAuMSAwIDIxLTg4LjggNjcuOCAwYzQyLjEgMCA1My44IDIzLjMgNTMuOCAzOS43ek0yOTIuMiA3Ny4ybC02Ny44IDAtMTguNyA4OC44IDcwLjEgMGM1My44IDAgNzAuMS0yNS43IDcwLjEtNDkuMSAuMS0xNi40LTExLjYtMzkuNy01My43LTM5Ljd6TTg4LjggMjA4LjFsLTY3LjggMC0yMSA4OC44IDcwLjEgMGM1Ni4xIDAgNzIuNS0yMy40IDcyLjUtNDkuMSAwLTE2LjMtMTEuNy0zOS43LTUzLjgtMzkuN3ptMTgwLjEgMGwtNjcuOCAwLTE4LjcgODguOCA3MC4xIDBjNTMuOCAwIDcwLjEtMjMuNCA3MC4xLTQ5LjEgMC0xNi4zLTExLjctMzkuNy01My43LTM5Ljd6bTE4OS4zLTUzLjhsLTY3LjggMC0xOC43IDg4LjggNzAuMSAwYzUzLjggMCA3MC4xLTIzLjQgNzAuMS00OS4xIC4xLTE2LjMtMTEuNi0zOS43LTUzLjctMzkuN3ptLTI4IDEzNy45bC02Ny44IDAtMTguNyA4OC44IDcwLjEgMGM1Ni4xIDAgNzAuMS0yMy40IDcwLjEtNDkuMSAwLTE2LjMtMTEuNi0zOS43LTUzLjctMzkuN3pNMjQwLjggMzQ2bC02Ny44IDAtMTguNyA4OC44IDcwLjEgMGM1Ni4xIDAgNzAuMS0yNS43IDcwLjEtNDkuMSAuMS0xNi4zLTExLjYtMzkuNy01My43LTM5Ljd6Il19LEE2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdHJpcGUtcyIsaWNvbjpbMzg0LDUxMixbXSwiZjQyYSIsIk0xNTUuNiAxNTQuNmMwLTIyLjMgMTguNi0zMC45IDQ4LjQtMzAuOSA0My40IDAgOTguNSAxMy4zIDE0MS45IDM2LjdsMC0xMzQuM2MtNDcuMy0xOC45LTk0LjUtMjYuMS0xNDEuOC0yNi4xLTExNS43IDAtMTkyLjggNjAuNC0xOTIuOCAxNjEuNCAwIDE1Ny45IDIxNi44IDEzMi4zIDIxNi44IDIwMC40IDAgMjYuNC0yMi45IDM0LjktNTQuNyAzNC45LTQ3LjIgMC0xMDguMi0xOS41LTE1Ni4xLTQ1LjVsMCAxMjguNWM0OS4zIDIxLjMgMTAyLjMgMzIuMyAxNTYgMzIuNCAxMTguNiAwIDIwMC4zLTUxIDIwMC4zLTE1My42IDAtMTcwLjItMjE4LTEzOS43LTIxOC0yMDMuOXoiXX0sbG9lPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1iZWhhbmNlIixpY29uOls0NDgsNTEyLFsiYmVoYW5jZS1zcXVhcmUiXSwiZjFiNSIsIk0xNTUuMyAzMTguNGMxNy4yIDAgMzEuMi02LjEgMzEuMi0yNS40IDAtMTkuNy0xMS43LTI3LjQtMzAuMy0yNy41bC00NiAwIDAgNTIuOSA0NS4xIDB6bS01LjQtMTI5LjZsLTM5LjYgMCAwIDQ0LjggNDIuNyAwYzE1LjEgMCAyNS44LTYuNiAyNS44LTIyLjkgMC0xNy43LTEzLjctMjEuOS0yOC45LTIxLjl6bTEyOS41IDc0LjhsNjIuMiAwYy0xLjctMTguNS0xMS4zLTI5LjctMzAuNS0yOS43LTE4LjMgMC0zMC41IDExLjQtMzEuNyAyOS43ek0zODQgMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NHpNMzQ5LjUgMTg1bC03Ny44IDAgMC0xOC45IDc3LjggMCAwIDE4Ljl6TTE5My43IDI0My43YzIzLjYgNi43IDM1IDI3LjUgMzUgNTEuNiAwIDM5LTMyLjcgNTUuNy02Ny42IDU1LjlsLTkzLjEgMCAwLTE5MiA5MC41IDBjMzIuOSAwIDYxLjQgOS4zIDYxLjQgNDcuNSAwIDE5LjMtOSAyOC44LTI2LjIgMzd6bTExOC43LTM4LjZjNDMuNSAwIDY3LjYgMzQuMyA2Ny42IDc1LjQgMCAxLjYtLjEgMy4zLS4yIDUgMCAuOC0uMSAxLjUtLjEgMi4ybC0xMDAuMiAwYzAgMjIuMiAxMS43IDM1LjMgMzQuMSAzNS4zIDExLjYgMCAyNi41LTYuMiAzMC4yLTE4LjFsMzMuNyAwYy0xMC40IDMxLjktMzEuOSA0Ni44LTY1LjEgNDYuOC00My44IDAtNzEuMS0yOS43LTcxLjEtNzMgMC00MS44IDI4LjctNzMuNiA3MS4xLTczLjZ6Il19LFA2dD1sb2UsRTZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNlcnZpY2VzdGFjayIsaWNvbjpbNTEyLDUxMixbXSwiZjNlYyIsIk05NiAyMTZjODEuNyAxMC4yIDI3My43IDEwMi4zIDMwNCAyMzJMOCA0NDhjOTkuNS04LjEgMTg0LjUtMTM3IDg4LTIzMnpNMTI4IDY0YzMyLjMgMzUuNiA0Ny43IDgzLjkgNDYuNCAxMzMuNiA4Mi45IDMzLjcgMjA3LjMgMTIzLjcgMjMzLjYgMjUwLjRsOTYgMEM0NjMuMyAyMzEuOSAyMzAuOCA3OS41IDEyOCA2NHoiXX0sSTZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJvY2tldGNoYXQiLGljb246WzU3Niw1MTIsW10sImYzZTgiLCJNMjg0LjUgMjI0LjhjLTYuNyAwLTEzLjMgMi4xLTE4LjkgNS44cy05LjkgOS4xLTEyLjUgMTUuNC0zLjIgMTMuMS0xLjkgMTkuNyA0LjYgMTIuNyA5LjQgMTcuNCAxMC45IDggMTcuNSA5LjMgMTMuNSAuNiAxOS43LTIgMTEuNS03IDE1LjMtMTIuNiA1LjctMTIuMiA1LjctMTguOWMwLTkuMS0zLjctMTcuOC0xMC4xLTI0LjJzLTE1LjEtMTAtMjQuMi05Ljl6bS0xMTAuNCAwYy02LjcgMC0xMy4zIDIuMS0xOC45IDUuOHMtOS45IDkuMS0xMi41IDE1LjQtMy4yIDEzLjEtMS45IDE5LjcgNC42IDEyLjcgOS40IDE3LjQgMTAuOSA4IDE3LjUgOS4zIDEzLjUgLjYgMTkuNy0yIDExLjUtNyAxNS4zLTEyLjYgNS43LTEyLjIgNS43LTE4LjljMC05LjEtMy43LTE3LjgtMTAuMS0yNC4ycy0xNS4xLTEwLTI0LjItMTBsMCAwem0yMjAuOSAwYTM0LjEgMzQuMSAwIDEgMCAuNCA2OC4yIDM0LjEgMzQuMSAwIDEgMCAtLjQtNjguMnptMTUzLjgtNTUuM2MtMTUuNS0yNC4yLTM3LjMtNDUuNi02NC43LTYzLjYtNTIuOS0zNC44LTEyMi40LTU0LTE5NS43LTU0LTI0LjIgMC00OC4zIDIuMS03MiA2LjQtMTQuOS0xNC4zLTMxLjUtMjYuNi00OS41LTM2LjYtNjYuOC0zMy4zLTEyNS42LTIwLjktMTU1LjMtMTAuMi0yLjMgLjgtNC4zIDIuMS01LjkgMy45cy0yLjcgMy45LTMuMyA2LjItLjUgNC43IC4xIDcuMSAxLjggNC40IDMuNSA2LjFDMjcgNTYuNSA2MS42IDk5LjMgNTMuMSAxMzguMyAyMCAxNzIuMiAyIDIxMyAyIDI1NS42IDIgMjk5IDIwIDMzOS44IDUzLjEgMzczLjcgNjEuNiA0MTIuNyAyNyA0NTUuNiA2IDQ3Ny4yIDQuMyA0NzkgMy4yIDQ4MS4xIDIuNSA0ODMuNHMtLjcgNC43LS4xIDcgMS43IDQuNSAzLjMgNi4yIDMuNiAzLjEgNS45IDMuOWMyOS43IDEwLjcgODguNSAyMy4xIDE1NS4zLTEwLjIgMTgtMTAgMzQuNy0yMi4zIDQ5LjUtMzYuNiAyMy44IDQuMyA0Ny45IDYuNCA3MiA2LjQgNzMuMyAwIDE0Mi44LTE5LjIgMTk1LjctNTQgMjcuNC0xOCA0OS4xLTM5LjQgNjQuNy02My42IDE3LjMtMjYuOSAyNi4xLTU1LjkgMjYuMS04Ni4xIDAtMzEtOC44LTYwLTI2LjEtODYuOWwwIDB6TTI4NS40IDQwOS45Yy0zMC4yIC4xLTYwLjMtMy44LTg5LjQtMTEuNWwtMjAuMSAxOS40Yy0xMS4yIDEwLjctMjMuNiAyMC0zNy4xIDI3LjYtMTYuNCA4LjItMzQuMiAxMy4zLTUyLjUgMTQuOSAxLTEuOCAxLjktMy42IDIuOC01LjQgMjAuMi0zNy4xIDI1LjYtNzAuNSAxNi4zLTEwMC4xLTMzLTI2LTUyLjgtNTkuMi01Mi44LTk1LjQgMC04My4xIDEwNC4zLTE1MC41IDIzMi44LTE1MC41czIzMi45IDY3LjQgMjMyLjkgMTUwLjVjMCA4My4xLTEwNC4zIDE1MC41LTIzMi45IDE1MC41eiJdfSxONnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmViZWwiLGljb246WzUxMiw1MTIsW10sImYxZDAiLCJNMjU2LjkgNTA0Yy0xMzkuMyAwLTI0Ny41LTExNi4yLTI0My4zLTI1NC4xIDIuOC03OS4yIDQzLjItMTUyLjIgMTE2LjUtMjAwLjQgLjMgMCAxLjktLjYgMS4xIC44LTUuOCA1LjUtMTExLjMgMTI5LjgtMTQuMSAyMjYuNCA0OS44IDQ5LjUgOTAgMi41IDkwIDIuNSAzOC41LTUwLjEtLjYtMTI1LjktLjYtMTI1LjktMTAtMjQuOS00NS43LTQwLjEtNDUuNy00MC4xbDI4LjgtMzEuOGMyNC40IDEwLjUgNDMuMiAzOC43IDQzLjIgMzguNyAuOC0yOS42LTIxLjktNjEuNC0yMS45LTYxLjRMMjU1LjUgOCAyOTkuOCA1OC4xYy0yMC41IDI4LjgtMjEuOSA2Mi42LTIxLjkgNjIuNiAxMy44LTIzIDQzLjUtMzkuMyA0My41LTM5LjNsMjguNSAzMS44Yy0yNy40IDguOS00NS40IDM5LjktNDUuNCAzOS45LTE1LjggMjguNS0yNy4xIDg5LjQgLjYgMTI3LjMgMzIuNCA0NC42IDg3LjctMi44IDg3LjctMi44IDEwMi43LTkxLjktMTAuNS0yMjUtMTAuNS0yMjUtNi4xLTUuNSAuOC0yLjggLjgtMi44IDUwLjEgMzYuNSAxMTQuNiA4NC40IDExNi4yIDIwNC44IDIgMTQ1LjYtOTkuOSAyNDkuNC0yNDIuNCAyNDkuNHoiXX0sUjZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS13ZWItYXdlc29tZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTY4MyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMzUgMTc3LjZsNTMgNDYuNCA1Mi4yLTEwLjRjLTIuNi0zLjktNC4yLTguNS00LjItMTMuNiAwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0YzAgMTMtMTAuMyAyMy42LTIzLjIgMjRMMzA0LjUgMzQ5LjFjLTUuMiAxMS41LTE2LjYgMTguOS0yOS4yIDE4LjlsLTEwMi42IDBjLTEyLjYgMC0yNC03LjQtMjkuMi0xOC45TDg3LjIgMjI0Yy0xMi45LS40LTIzLjItMTEtMjMuMi0yNCAwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0YzAgNS0xLjUgOS43LTQuMiAxMy42TDE2MCAyMjQgMjEzLjEgMTc3LjZjLTguOS00LjEtMTUtMTMuMS0xNS0yMy42IDAtMTQuNCAxMS42LTI2IDI2LTI2czI2IDExLjYgMjYgMjZjMCAxMC41LTYuMiAxOS41LTE1LjEgMjMuNnoiXX0sRjZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imxpbmt0cmVlIixpY29uOls0NDgsNTEyLFtdLCJlN2Q4IiwiTTE2IDE3My40bDEyNS44IDAtODkuNC04NS40IDQ5LjUtNTEgODUuMiA4Ny44IDAtMTI0LjggNzMuOSAwIDAgMTI0LjggODUuMi04Ny42IDQ5LjQgNTAuOC04OS40IDg1LjIgMTI1LjcgMCAwIDcwLjUtMTI2LjQgMCA5MCA4Ny42LTQ5LjMgNDkuOC0xMjIuMi0xMjMtMTIyLjIgMTIzLTQ5LjUtNDkuNiA5MC04Ny42LTEyNi40IDAgMC03MC41ek0xODYuOSAzNDQuOGw3My45IDAgMCAxNjcuMi03My45IDAgMC0xNjcuMnoiXX0sTzZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNpbXBseWJ1aWx0IixpY29uOls1MTIsNTEyLFtdLCJmMjE1IiwiTTQ4MS42IDY0bC0xMDYgMEMzNjEuMSA2NCAzNDkgNzUuOCAzNDkgOTAuM2wwIDM5LjYtMTg1LjMgMCAwLTM5LjZjMC0xNC41LTEyLTI2LjMtMjYuNi0yNi4zbC0xMDYgMEMxNi41IDY0IDQuNyA3NS44IDQuNyA5MC4zbDAgMzMxLjRjMCAxNC41IDExLjggMjYuMyAyNi42IDI2LjNsNDUwLjQgMGMxNC44IDAgMjYuNi0xMS44IDI2LjYtMjYuM2wwLTMzMS40Yy0uMi0xNC41LTEyLTI2LjMtMjYuNy0yNi4zek0xNTAuNSAyMjIuN2E2Ni41IDY2LjUgMCAxIDEgLS4zIDEzMy4xIDY2LjUgNjYuNSAwIDEgMSAuMy0xMzMuMXptMjExLjkgLjFhNjYuNSA2Ni41IDAgMSAxIC4zIDEzMi45IDY2LjUgNjYuNSAwIDEgMSAtLjMtMTMyLjl6Il19LEI2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdHViYmVyIixpY29uOls0NDgsNTEyLFtdLCJlNWM3IiwiTTEzNi41IDI5NC4ybDU4LjggMjIuOWM5LjEtMzYuOCAyNS40LTYxLjEgNTUtNjEuMSA0OS40IDAgNzEuNCA2My42IDE0Mi40IDYzLjYgMTUuNiAwIDM1LjktMi44IDU1LjMtMTMuM2wwIDYxLjdjMCA2MS44LTUwLjQgMTEyLTExMi4zIDExMkwwIDQ4MCA0MS44IDQyNCAwIDM2OCA0MS43IDMxMiAwIDI1Ni4xIDQxLjggMjAwLjEgMCAxNDQuMSA0MS44IDg4IDAgMzIgMzM1LjcgMzJDMzk3LjYgMzIgNDQ4IDgyLjMgNDQ4IDE0NC4xbDAgNTEuM2MtOS4yIDM2LjMtMjUuOSA2MC42LTU1IDYwLjYtNDkuNiAwLTcxLjYtNjMuNS0xNDIuNC02My41LTM1LjkgMC05NS4yIDE0LjYtMTE0LjEgMTAxLjZsMCAuMXoiXX0sSDZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFwcGVyIixpY29uOls2NDAsNTEyLFtdLCJmMzcxIiwiTTQyLjEgMjM5LjFjMjIuMiAwIDI5IDIuOCAzMy41IDE0LjZsLjggMCAwLTIyLjljMC0xMS4zLTQuOC0xNS40LTE3LjktMTUuNC0xMS4zIDAtMTQuNCAyLjUtMTUuMSAxMi44bC0zOC42IDBjLjMtMTMuOSAxLjUtMTkuMSA1LjgtMjQuNCA3LjMtOC44IDE4LjktMTEuOCA0Ni4xLTExLjggMzMgMCA0Ny4xIDUgNTMuOSAxOC45IDIgNC4zIDQgMTUuNiA0IDIzLjdsMCA3Ni4zLTM4LjMgMCAxLjMtMTkuMS0xIDBjLTUuMyAxNS42LTEzLjYgMjAuNC0zNS41IDIwLjQtMzAuMyAwLTQxLjEtMTAuMS00MS4xLTM3LjMgMC0yNS4yIDEyLjMtMzUuOCA0Mi4xLTM1Ljh6bTE3LjEgNDguMWMxMy4xIDAgMTYuOS0zIDE2LjktMTMuNCAwLTkuMS00LjMtMTEuNi0xOS42LTExLjYtMTMuMSAwLTE3LjkgMy0xNy45IDEyLjEtLjEgMTAuNCAzLjcgMTIuOSAyMC42IDEyLjl6TTEzNyAxOTIuM2wzOC4zIDAtMS41IDIwLjYgLjggMGM5LjEtMTcuMSAxNS45LTIwLjkgMzcuNS0yMC45IDE0LjQgMCAyNC43IDMgMzEuNSA5LjEgOS44IDguNiAxMi44IDIwLjQgMTIuOCA0OC4xIDAgMzAtMyA0My4xLTEyLjEgNTIuOS02LjggNy4zLTE2LjQgMTAuMS0zMy4yIDEwLjEtMjAuNCAwLTI5LjItNS41LTMzLjgtMjEuMmwtLjggMCAwIDcwLjMtMzkuNSAwIDAtMTY5ek0yMTcuOSAyNTNjMC0yNy41LTMuMy0zMi41LTIwLjctMzIuNS0xNi45IDAtMjAuNyA1LTIwLjcgMjguNyAwIDI4IDMuNSAzMy41IDIxLjIgMzMuNSAxNi40IDAgMjAuMi01LjYgMjAuMi0yOS43em01Ny45LTYwLjdsMzguMyAwLTEuNSAyMC42IC44IDBjOS4xLTE3LjEgMTUuOS0yMC45IDM3LjUtMjAuOSAxNC40IDAgMjQuNyAzIDMxLjUgOS4xIDkuOCA4LjYgMTIuOCAyMC40IDEyLjggNDguMSAwIDMwLTMgNDMuMS0xMi4xIDUyLjktNi44IDcuMy0xNi40IDEwLjEtMzMuMyAxMC4xLTIwLjQgMC0yOS4yLTUuNS0zMy44LTIxLjJsLS44IDAgMCA3MC4zLTM5LjUgMCAwLTE2OSAuMSAwek0zNTYuNyAyNTNjMC0yNy41LTMuMy0zMi41LTIwLjctMzIuNS0xNi45IDAtMjAuNyA1LTIwLjcgMjguNyAwIDI4IDMuNSAzMy41IDIxLjIgMzMuNSAxNi40IDAgMjAuMi01LjYgMjAuMi0yOS43em01My44LTMuOGMwLTI1LjQgMy4zLTM3LjggMTIuMy00NS44IDguOC04LjEgMjIuMi0xMS4zIDQ1LjEtMTEuMyA0Mi44IDAgNTUuNyAxMi44IDU1LjcgNTUuN2wwIDExLjEtNzUuMyAwYy0uMyAyLS4zIDQtLjMgNC44IDAgMTYuOSA0LjUgMjEuOSAyMC4xIDIxLjkgMTMuOSAwIDE3LjktMyAxNy45LTEzLjlsMzcuNSAwIDAgMi4zYzAgOS44LTIuNSAxOC45LTYuOCAyNC43LTcuMyA5LjgtMTkuNiAxMy42LTQ0LjMgMTMuNi0yNy41IDAtNDEuNi0zLjMtNTAuNi0xMi4zLTguNS04LjUtMTEuMy0yMS4zLTExLjMtNTAuOHptNzYuNC0xMS42Yy0uMy0xLjgtLjMtMy4zLS4zLTMuOCAwLTEyLjMtMy4zLTE0LjYtMTkuNi0xNC42LTE0LjQgMC0xNy4xIDMtMTguMSAxNS4xbC0uMyAzLjMgMzguMyAwem01NS42LTQ1LjNsMzguMyAwLTEuOCAxOS45IC43IDBjNi44LTE0LjkgMTQuNC0yMC4yIDI5LjctMjAuMiAxMC44IDAgMTkuMSAzLjMgMjMuNCA5LjMgNS4zIDcuMyA2LjggMTQuNCA2LjggMzQgMCAxLjUgMCA1IC4yIDkuM2wtMzUgMGMuMy0xLjggLjMtMy4zIC4zLTQgMC0xNS40LTItMTkuNC0xMC4zLTE5LjQtNi4zIDAtMTAuOCAzLjMtMTMuMSA5LjMtMSAzLTEgNC4zLTEgMTIuM2wwIDY4LTM4LjMgMCAwLTExOC41IC4xIDB6Il19LHE2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29nbGUtc2Nob2xhciIsaWNvbjpbNTEyLDUxMixbXSwiZTYzYiIsIk0zOTAuOSAyOTguNXMwIC4xIC4xIC4xYzkuMiAxOS40IDE0LjQgNDEuMSAxNC40IDY0LS4xIDgyLjUtNjYuOSAxNDkuNC0xNDkuNCAxNDkuNFMxMDYuNyA0NDUuMSAxMDYuNyAzNjIuN2MwLTIyLjkgNS4yLTQ0LjYgMTQuNC02NCAxLjctMy42IDMuNi03LjIgNS42LTEwLjcgNC40LTcuNiA5LjQtMTQuNyAxNS0yMS4zIDI3LjQtMzIuNiA2OC41LTUzLjMgMTE0LjQtNTMuMyAzMy42IDAgNjQuNiAxMS4xIDg5LjYgMjkuOSA5LjEgNi45IDE3LjQgMTQuNyAyNC44IDIzLjUgNS42IDYuNiAxMC42IDEzLjggMTUgMjEuMyAyIDMuNCAzLjggNyA1LjUgMTAuNWwtLjEtLjF6bTI2LjQtMTguOGMtMzAuMS01OC40LTkxLTk4LjQtMTYxLjMtOTguNHMtMTMxLjIgNDAtMTYxLjMgOTguNGwtOTQuNy03NyAyNTYtMjAyLjcgMjU2IDIwMi43LTk0LjcgNzcuMSAwLS4xeiJdfSxWNnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieWFybiIsaWNvbjpbNTEyLDUxMixbXSwiZjdlMyIsIk00MDEuOSAzNDUuMmMtMzkgOS4zLTQ4LjQgMzIuMS0xMDQgNDcuNCAwIDAtMi43IDQtMTAuNCA1LjgtMTMuNCAzLjMtNjMuOSA2LTY4LjUgNi4xLTEyLjQgLjEtMTkuOS0zLjItMjItOC4yLTYuNC0xNS4zIDkuMi0yMiA5LjItMjItOC4xLTUtOS05LjktOS44LTguMS0yLjQgNS44LTMuNiAyMC4xLTEwLjEgMjYuNS04LjggOC45LTI1LjUgNS45LTM1LjMgLjgtMTAuOC01LjcgLjgtMTkuMiAuOC0xOS4ycy01LjggMy40LTEwLjUtMy42Yy02LTkuMy0xNy4xLTM3LjMgMTEuNS02Mi0xLjMtMTAuMS00LjYtNTMuNyA0MC42LTg1LjYgMCAwLTIwLjYtMjIuOC0xMi45LTQzLjMgNS0xMy40IDctMTMuMyA4LjYtMTMuOSA1LjctMi4yIDExLjMtNC42IDE1LjQtOS4xIDIwLjYtMjIuMiA0Ni44LTE4IDQ2LjgtMThzMTIuNC0zNy44IDIzLjktMzAuNGMzLjUgMi4zIDE2LjMgMzAuNiAxNi4zIDMwLjZzMTMuNi03LjkgMTUuMS01YzguMiAxNiA5LjIgNDYuNSA1LjYgNjUuMS02LjEgMzAuNi0yMS40IDQ3LjEtMjcuNiA1Ny41LTEuNCAyLjQgMTYuNSAxMCAyNy44IDQxLjMgMTAuNCAyOC42IDEuMSA1Mi43IDIuOCA1NS4zIC44IDEuNCAxMy43IC44IDM2LjQtMTMuMiAxMi44LTcuOSAyOC4xLTE2LjkgNDUuNC0xNyAxNi43LS41IDE3LjYgMTkuMiA0LjkgMjIuMnpNOCAyNTZhMjQ4IDI0OCAwIDEgMSA0OTYgMCAyNDggMjQ4IDAgMSAxIC00OTYgMHptNDE2LjcgNzUuMmMtMS43LTEzLjYtMTMuMi0yMy0yOC0yMi44LTIyIC4zLTQwLjUgMTEuNy01Mi44IDE5LjItNC44IDMtOC45IDUuMi0xMi40IDYuOCAzLjEtNDQuNS0yMi41LTczLjEtMjguNy03OS40IDcuOC0xMS4zIDE4LjQtMjcuOCAyMy40LTUzLjIgNC4zLTIxLjcgMy01NS41LTYuOS03NC41LTEuNi0zLjEtNy40LTExLjItMjEtNy40LTkuNy0yMC0xMy0yMi4xLTE1LjYtMjMuOC0xLjEtLjctMjMuNi0xNi40LTQxLjQgMjgtMTIuMiAuOS0zMS4zIDUuMy00Ny41IDIyLjgtMiAyLjItNS45IDMuOC0xMC4xIDUuNGwuMSAwYy04LjQgMy0xMi4zIDkuOS0xNi45IDIyLjMtNi41IDE3LjQgLjIgMzQuNiA2LjggNDUuNy0xNy44IDE1LjktMzcgMzkuOC0zNS43IDgyLjUtMzQgMzYtMTEuOCA3My01LjYgNzkuNi0xLjYgMTEuMSAzLjcgMTkuNCAxMiAyMy44IDEyLjYgNi43IDMwLjMgOS42IDQzLjkgMi44IDQuOSA1LjIgMTMuOCAxMC4xIDMwIDEwLjEgNi44IDAgNTgtMi45IDcyLjYtNi41IDYuOC0xLjYgMTEuNS00LjUgMTQuNi03LjEgOS44LTMuMSAzNi44LTEyLjMgNjIuMi0yOC43IDE4LTExLjcgMjQuMi0xNC4yIDM3LjYtMTcuNCAxMi45LTMuMiAyMS0xNS4xIDE5LjQtMjguMnoiXX0sajZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0YWNrLW92ZXJmbG93IixpY29uOlszODQsNTEyLFtdLCJmMTZjIiwiTTI5MSAzMTFsLTE5NS43LTQxLjMtOC4yIDM5LjMgMTk1LjcgNDEgOC4yLTM5em01MS04N0wxODguNSA5NS43IDE2MyAxMjYuNSAzMTYuNSAyNTQuOCAzNDIgMjI0em0tMzEuMiAzOS43TDEyOS41IDE3OSAxMTIuOCAyMTUuNSAyOTQgMzAwIDMxMC44IDI2My43ek0yNjIuMyAzMmwtMzIgMjQgMTE5LjMgMTYwLjMgMzItMjQtMTE5LjMtMTYwLjN6bTIwLjUgMzI4bC0yMDAgMCAwIDM5LjcgMjAwIDAgMC0zOS43em0zOS43IDgwbC0yNzkuNSAwIDAtMTIwLTQwIDAgMCAxNjAgMzU5LjUgMCAwLTE2MC00MCAwIDAgMTIweiJdfSxVNnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmx1ZXRvb3RoIixpY29uOlszODQsNTEyLFtdLCJmMjkzIiwiTTI2MC42IDE3MS4xbC00Mi45IDQyLjktLjMtODYgNDMuMiA0My4xek0yMTcuNCAzOTAuOWw0My4xLTQzLjEtNDIuOS00Mi45LS4yIDg2ek0zODQgMjU5LjRDMzg0IDQ2NSAzMTIuMSA1MTIgMTk4LjkgNTEyUzAgNDY1IDAgMjU5LjQgODMuNCAwIDE5Ni42IDAgMzg0IDUzLjkgMzg0IDI1OS40em0tMTU4LjUgMGw3OS40LTg4LjYtMTI1LjEtMTM0LjMgMCAxNzYuOS03My44LTczLjgtMjcgMjYuOSA5Mi43IDkzLTkyLjcgOTMgMjYuOSAyNi45IDczLjgtNzMuOCAyLjMgMTcwIDEyNy40LTEyNy41LTgzLjktODguN3oiXX0sVzZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtbmMtanAiLGljb246WzUxMiw1MTIsW10sImY0ZWEiLCJNMjU1LjcgOEMxMTEuNiA4IDggMTI0LjggOCAyNTYgOCAzOTIuNCAxMTkuOCA1MDQgMjU1LjcgNTA0IDM4NS45IDUwNCA1MDQgNDAzLjIgNTA0IDI1NiA1MDQgMTE3LjIgMzk2LjUgOCAyNTUuNyA4em0uNiA0NTAuN2MtMTEyIDAtMjAzLjYtOTIuNS0yMDMuNi0yMDIuNyAwLTIxLjEgMy00MS4yIDktNjAuM2wxMjcgNTYuNS0yNy45IDAgMCAzOC42IDU4LjEgMCA1LjcgMTEuOCAwIDE4LjctNjMuOCAwIDAgMzguNyA2My44IDAgMCA1NiA2MS43IDAgMC01NiA2NC4yIDAgMC0zNS43IDgxIDM2LjFjLTEuNSAyLjItNTcuMSA5OC4zLTE3NS4yIDk4LjN6bTg3LjYtMTM3LjNsLTU3LjYgMCAwLTE4LjcgMi45LTUuNiA1NC43IDI0LjN6bTYuNS01MS40bDAtMTcuOC0zOC42IDAgNjMtMTE2LTY1LjggMC00My40IDk2LTIzLTEwLjItMzkuNi04NS43LTY1LjggMCAyNy4zIDUxLTgxLjktMzYuNWMyNy44LTQ0LjEgODIuNi05OC4xIDE3My43LTk4LjEgMTEyLjggMCAyMDMgOTAgMjAzIDIwMy40IDAgMjEtMi43IDQwLjYtNy45IDU5TDM1MC40IDI3MHoiXX0sRzZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlZGRpdCIsaWNvbjpbNTEyLDUxMixbXSwiZjFhMSIsIk0wIDI1NkMwIDExNC42IDExNC42IDAgMjU2IDBTNTEyIDExNC42IDUxMiAyNTYgMzk3LjQgNTEyIDI1NiA1MTJMMzcuMSA1MTJjLTEzLjcgMC0yMC41LTE2LjUtMTAuOS0yNi4yTDc1IDQzN0MyOC43IDM5MC43IDAgMzI2LjcgMCAyNTZ6TTM0OS42IDE1My42YzIzLjYgMCA0Mi43LTE5LjEgNDIuNy00Mi43cy0xOS4xLTQyLjctNDIuNy00Mi43Yy0yMC42IDAtMzcuOCAxNC42LTQxLjggMzQtMzQuNSAzLjctNjEuNCAzMy02MS40IDY4LjRsMCAuMmMtMzcuNSAxLjYtNzEuOCAxMi4zLTk5IDI5LjEtMTAuMS03LjgtMjIuOC0xMi41LTM2LjUtMTIuNS0zMyAwLTU5LjggMjYuOC01OS44IDU5LjggMCAyNCAxNC4xIDQ0LjYgMzQuNCA1NC4xIDIgNjkuNCA3Ny42IDEyNS4yIDE3MC42IDEyNS4yczE2OC43LTU1LjkgMTcwLjYtMTI1LjNjMjAuMi05LjYgMzQuMS0zMC4yIDM0LjEtNTQgMC0zMy0yNi44LTU5LjgtNTkuOC01OS44LTEzLjcgMC0yNi4zIDQuNi0zNi40IDEyLjQtMjcuNC0xNy02Mi4xLTI3LjctMTAwLTI5LjFsMC0uMmMwLTI1LjQgMTguOS00Ni41IDQzLjQtNDkuOSA0LjQgMTguOCAyMS4zIDMyLjggNDEuNSAzMi44bC4xIC4yek0xNzcuMSAyNDYuOWMxNi43IDAgMjkuNSAxNy42IDI4LjUgMzkuM3MtMTMuNSAyOS42LTMwLjMgMjkuNi0zMS40LTguOC0zMC40LTMwLjUgMTUuNC0zOC4zIDMyLjEtMzguM2wuMS0uMXptMTkwLjEgMzguM2MxIDIxLjctMTMuNyAzMC41LTMwLjQgMzAuNXMtMjkuMy03LjktMzAuMy0yOS42IDExLjgtMzkuMyAyOC41LTM5LjMgMzEuMiAxNi42IDMyLjEgMzguM2wuMSAuMXptLTQ4LjEgNTYuN2MtMTAuMyAyNC42LTM0LjYgNDEuOS02MyA0MS45cy01Mi43LTE3LjMtNjMtNDEuOWMtMS4yLTIuOSAuOC02LjIgMy45LTYuNSAxOC40LTEuOSAzOC4zLTIuOSA1OS4xLTIuOXM0MC43IDEgNTkuMSAyLjljMy4xIC4zIDUuMSAzLjYgMy45IDYuNXoiXX0sWTZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNvbm5lY3RkZXZlbG9wIixpY29uOls1NzYsNTEyLFtdLCJmMjBlIiwiTTU1MC44IDI0MWwtNTAuMS04Ni44YzEuMS0yLjEgMS45LTQuNiAxLjktNy4yIDAtOC02LjctMTQuNy0xNC43LTE1TDQzMi40IDM2LjFjLjUtMS42IDEuMS0zLjIgMS4xLTQuOCAwLTguNi03LTE1LjMtMTUuMy0xNS4zLTQuOCAwLTguOCAyLjEtMTEuOCA1LjZsLTEwNi42IDBjLTIuNy0zLjUtNi43LTUuNi0xMS41LTUuNnMtOC44IDIuMS0xMS41IDUuNmwtMTA2LjEgMGMtMi45LTMuNS03LTUuNi0xMS44LTUuNi04LjMgMC0xNS4zIDYuNy0xNS4zIDE1LjMgMCAxLjYgLjUgMy41IDEuMSA0LjhsLTU2IDk3LjJjLTUuNCAyLjQtOS4xIDcuNS05LjEgMTMuNyAwIC41IC4zIDEuMSAuMyAxLjZMMjYuNiAyNDAuN2MtNy4yIDEuMy0xMi42IDcuNS0xMi42IDE1IDAgNy4yIDUuMSAxMy40IDEyLjEgMTVsNTUuMiA5NS40Yy0uNSAxLjYtLjggMi45LS44IDQuOCAwIDcuMiA1LjEgMTMuNCAxMi4xIDE0LjdsNTEuNyA4OS43Yy0uNSAxLjYtMS4xIDMuNS0xLjEgNS40IDAgOC42IDcgMTUuMyAxNS4zIDE1LjMgNC44IDAgOC44LTIuMSAxMS41LTUuNGwxMDYuOSAwYzIuNyAzLjIgNyA1LjQgMTEuNSA1LjRzOC44LTIuMSAxMS41LTUuNGwxMDcuMSAwYzIuNyAyLjkgNi43IDQuOCAxMSA0LjggOC42IDAgMTUuMy03IDE1LjMtMTUuMyAwLTEuNi0uMy0yLjktLjgtNC4zbDUxLjctOTAuM2M3LTEuMyAxMi4xLTcuNSAxMi4xLTE0LjcgMC0xLjYtLjMtMy4yLS44LTQuOGw1NC45LTk1LjRjNy0xLjMgMTIuMy03LjUgMTIuMy0xNSAwLTcuMi01LjEtMTMuNC0xMS44LTE0Ljd6bS0zOTcgMjA5LjdsLTQzLjctNzUuOCA0My43IDAgMCA3NS44em0wLTgzLjhsLTQzLjcgMGMtLjMtMS4xLS44LTIuMS0xLjMtMy4ybDQ1LTQ3LjQgMCA1MC42em0wLTYyLjRsLTUwLjQgNTMuM2MtMS4zLS41LTIuNy0xLjMtNC0xLjZMNDMuNyAyNTkuOGMuNS0xLjMgLjUtMi43IC41LTRzMC0yLjQtLjMtMy41bDUyLTkwYzIuNy0uMyA1LjQtMS4xIDcuOC0yLjdsNTAuMSA1MiAwIDkyLjl6bTAtMTAyLjNMMTA4IDE1NC44YzEuMy0yLjEgMi4xLTQuOCAyLjEtNy44IDAtLjMtLjMtLjgtLjMtMS4xbDQzLjktMTUuOCAwIDcyLjF6bTAtODAuNmwtNDMuNyAxNS44IDQzLjctNzUuNSAwIDU5Ljd6bTMyNi41IDM5LjFsLjggMS4zLTM1LjQgMTY3LjEtNjMuOC02Ny4yIDk4LTEwMS41IC4zIC4zek0yOTIuMSAzNTUuMWwxMS41IDExLjgtMjIuOCAwIDExLjMtMTEuOHptLS4zLTExLjNsLTgzLjMtODUuNCA3OS42LTg0LjQgODMgODcuNi03OS4zIDgyLjJ6bTUuNCA1LjlsNzkuMy04Mi4yIDY3LjUgNzEuMy01LjkgMjguMS0xMjQgMC0xNi45LTE3LjF6TTQxMC43IDQ0LjRjMS4xIC41IDIuMSAxLjEgMy41IDEuM2w1Ny45IDEwMC43IDAgLjVjMCAyLjkgLjggNS42IDIuMSA3LjhsLTk3LjUgMTAxLjItODMtODcuNiAxMTcuMS0xMjR6bS05LjEtMi4xbC0xMTMuNiAxMjAuMy01Ny4xLTYwLjMgMTY2LjMtNjAgNC4zIDB6bS0xMjMuNSAwYzIuNyAyLjcgNi4yIDQuMyAxMC4yIDQuM3M3LjUtMS42IDEwLjItNC4zbDc1IDAtMTQ4LjQgNTMuNi01MC45LTUzLjYgMTAzLjkgMHpNMTYxLjkgNDcuOWwxLjEtMi4xYy45LS4yIDEuOC0uNSAyLjctLjhsNTEuMiA1My44LTU0LjkgMTkuOCAwLTcwLjd6bTAgNzkuM2w2MC44LTIyIDU5LjcgNjMuMi03OS42IDg0LjEtNDEtNDIuMSAwLTgzLjN6bTAgOTIuN2wzNi40IDM3LjgtMzYuNCAzOC4zIDAtNzYuMXptMCA4Ny45bDQyLjEtNDQuNSA4Mi44IDg2LTE3LjEgMTcuNy0xMDcuNyAwIDAtNTkuMnptNyAxNjIuMWMtMS42LTEuNi0zLjUtMi43LTUuOS0zLjVsLTEuMS0xLjYgMC04OS43IDk5LjkgMC05MS42IDk0LjgtMS4zIDB6bTEyOS45IDBjLTIuNy0yLjQtNi40LTQuMy0xMC40LTQuM3MtNy44IDEuOS0xMC40IDQuM2wtOTYuNCAwIDkxLjYtOTQuOCAzOC4zIDAgOTEuNiA5NC44LTEwNC4yIDB6bTEyMC0xMS44bC00LjMgNy41Yy0xLjMgLjMtMi40IC44LTMuNSAxLjNsLTg5LjItOTEuOSAxMTQuNCAwLTE3LjQgODN6bTEyLjktMjIuMmwxMi45LTYwLjggMjIgMC0zNC44IDYwLjh6bTM0LjgtNjguOGwtMjAuNCAwIDQuNi0yMS4yIDE3LjEgMTguMmMtLjUgLjgtMS4xIDEuOS0xLjMgMi45em02Ni4yLTEwNy40bC01NS40IDk2LjdjLTEuMyAuNS0yLjcgMS4xLTQgMS45bC0yMC42LTIyIDM0LjYtMTYzLjkgNDUuOCA3OS4zYy0uMyAxLjMtLjggMi43LS44IDQuMyAwIDEuMyAuMyAyLjQgLjUgMy43eiJdfSxaNnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmVzZWFyY2hnYXRlIixpY29uOls0NDgsNTEyLFtdLCJmNGY4IiwiTTAgMzJsMCA0NDggNDQ4IDAgMC00NDgtNDQ4IDB6TTI2Mi4yIDM2Ni40Yy02LjYgMy0zMy4yIDYtNTAtMTQuMi05LjItMTAuNi0yNS4zLTMzLjMtNDIuMi02My42LTguOSAwLTE0LjcgMC0yMS40LS42bDAgNDYuNGMwIDIzLjUgNiAyMS4yIDI1LjggMjMuOWwwIDguMWMtNi45LS4zLTIzLjEtLjgtMzUuNi0uOC0xMy4xIDAtMjYuMSAuNi0zMy42IC44bDAtOC4xYzE1LjUtMi45IDIyLTEuMyAyMi0yMy45bDAtMTA5LjRjMC0yMi42LTYuNC0yMS0yMi0yMy45bDAtOC4xYzI1LjggMSA1My4xLS42IDcwLjktLjYgMzEuNyAwIDU1LjkgMTQuNCA1NS45IDQ1LjYgMCAyMS4xLTE2LjcgNDIuMi0zOS4yIDQ3LjUgMTMuNiAyNC4yIDMwIDQ1LjYgNDIuMiA1OC45IDcuMiA3LjggMTcuMiAxNC43IDI3LjIgMTQuN2wwIDcuM3ptMjIuOS0xMzVjLTIzLjMgMC0zMi4yLTE1LjctMzIuMi0zMi4ybDAtMzIuMmMwLTEyLjIgOC44LTMwLjQgMzQtMzAuNHMzMC40IDE3LjkgMzAuNCAxNy45bC0xMC43IDcuMnMtNS41LTEyLjUtMTkuNy0xMi41Yy03LjkgMC0xOS43IDcuMy0xOS43IDE5LjdsMCAyNi44YzAgMTMuNCA2LjYgMjMuMyAxNy45IDIzLjMgMTQuMSAwIDIxLjUtMTAuOSAyMS41LTI2LjhsLTE3LjkgMCAwLTEwLjcgMzAuNCAwYzAgMjAuNSA0LjcgNDkuOS0zNCA0OS45ek0xNjguNiAyNzYuMWMtOS40IDAtMTMuNi0uMy0yMC0uOGwwLTY5LjdjNi40LS42IDE1LS42IDIyLjUtLjYgMjMuMyAwIDM3LjIgMTIuMiAzNy4yIDM0LjUgMCAyMS45LTE1IDM2LjYtMzkuNyAzNi42eiJdfSxYNnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2lnbmFsLW1lc3NlbmdlciIsaWNvbjpbNTEyLDUxMixbXSwiZTY2MyIsIk0yNTYgMGMtMTMuMyAwLTI2LjMgMS0zOS4xIDNsMy43IDIzLjdDMjMyLjEgMjQuOSAyNDQgMjQgMjU2IDI0czIzLjkgLjkgMzUuNCAyLjdMMjk1LjEgM0MyODIuMyAxIDI2OS4zIDAgMjU2IDB6bTYwLjggNy4zbC01LjcgMjMuM2MyMy40IDUuNyA0NS40IDE0LjkgNjUuNCAyNy4xbDEyLjUtMjAuNWMtMjIuMS0xMy40LTQ2LjQtMjMuNi03Mi4yLTI5Ljl6bTc2LjQgNjEuNmMxOS4xIDE0IDM2IDMwLjkgNTAuMSA1MC4xbDE5LjQtMTQuMkM0NDcgODMuNiA0MjguNCA2NSA0MDcuMyA0OS41TDM5My4xIDY4Ljh6bTgxLjcgNTQuMmwtMjAuNSAxMi41YzEyLjIgMjAgMjEuNCA0MiAyNy4xIDY1LjRsMjMuMy01LjdjLTYuMy0yNS44LTE2LjUtNTAuMS0yOS45LTcyLjJ6bTEwLjUgOTcuNWMxLjggMTEuNSAyLjcgMjMuNCAyLjcgMzUuNHMtLjkgMjMuOS0yLjcgMzUuNGwyMy43IDMuN2MxLjktMTIuNyAzLTI1LjggMy0zOS4xcy0xLTI2LjMtMy0zOS4xbC0yMy43IDMuN3ptLTMxIDE1NS45bDIwLjUgMTIuNWMxMy40LTIyLjEgMjMuNi00Ni40IDI5LjktNzIuMmwtMjMuMy01LjdjLTUuNyAyMy40LTE0LjkgNDUuNC0yNy4xIDY1LjR6bTguMiAzMC44bC0xOS40LTE0LjJjLTE0IDE5LjEtMzAuOSAzNi01MC4xIDUwLjFsMTQuMiAxOS40YzIxLjEtMTUuNSAzOS44LTM0LjEgNTUuMi01NS4yem0tODYuMSA0N2MtMjAgMTIuMi00MiAyMS40LTY1LjQgMjcuMWw1LjcgMjMuM2MyNS44LTYuMyA1MC4xLTE2LjUgNzIuMi0yOS45bC0xMi41LTIwLjV6TTI5NS4xIDUwOWwtMy43LTIzLjdDMjc5LjkgNDg3LjEgMjY4IDQ4OCAyNTYgNDg4cy0yMy45LS45LTM1LjQtMi43TDIxNi45IDUwOWMxMi43IDEuOSAyNS44IDMgMzkuMSAzczI2LjMtMSAzOS4xLTN6bS05NC4xLTI3LjZjLTE3LjYtNC4zLTM0LjQtMTAuNi01MC4xLTE4LjZsLTcuOC00LTMyLjggNy43IDUuNSAyMy40IDI0LjMtNS43YzE3LjQgOC45IDM1LjkgMTUuOCA1NS4zIDIwLjVsNS43LTIzLjN6TTk1LjQgNDk0LjZMOTAgNDcxLjMgNDguMyA0ODFjLTEwLjQgMi40LTE5LjctNi45LTE3LjMtMTcuM2w5LjctNDEuNi0yMy40LTUuNS05LjcgNDEuNkMxLjIgNDg2IDI2IDUxMC44IDUzLjggNTA0LjRsNDEuNi05Ljd6bS01MC05Mi45bDcuNy0zMi44LTQtNy44Yy04LTE1LjctMTQuMy0zMi41LTE4LjYtNTAuMUw3LjMgMzE2LjdDMTIgMzM2LjEgMTguOSAzNTQuNyAyNy43IDM3MmwtNS43IDI0LjMgMjMuNCA1LjV6TTMgMjk1LjFsMjMuNy0zLjdDMjQuOSAyNzkuOSAyNCAyNjggMjQgMjU2cy45LTIzLjkgMi43LTM1LjRMMyAyMTYuOUMxIDIyOS43IDAgMjQyLjcgMCAyNTZzMSAyNi4zIDMgMzkuMXptMjcuNi05NC4xYzUuNy0yMy40IDE0LjktNDUuNCAyNy4xLTY1LjRMMzcuMiAxMjMuMWMtMTMuNCAyMi4xLTIzLjYgNDYuNC0yOS45IDcyLjJsMjMuMyA1Ljd6bTE4LjktOTYuMmwxOS40IDE0LjJjMTQtMTkuMSAzMC45LTM2IDUwLjEtNTAuMUwxMDQuNyA0OS41QzgzLjYgNjUgNjUgODMuNiA0OS41IDEwNC43em04Ni4xLTQ3YzIwLTEyLjIgNDItMjEuNCA2NS40LTI3LjFMMTk1LjIgNy4zYy0yNS44IDYuMy01MC4xIDE2LjUtNzIuMiAyOS45bDEyLjUgMjAuNXpNMjU2IDQ2NGMxMTQuOSAwIDIwOC05My4xIDIwOC0yMDhTMzcwLjkgNDggMjU2IDQ4IDQ4IDE0MS4xIDQ4IDI1NmMwIDM2LjQgOS40IDcwLjcgMjUuOCAxMDAuNSAxLjYgMi45IDIuMSA2LjIgMS40IDkuNGwtMjEuNiA5Mi41IDkyLjUtMjEuNmMzLjItLjcgNi41LS4yIDkuNCAxLjQgMjkuOCAxNi41IDY0IDI1LjggMTAwLjUgMjUuOHoiXX0sSzZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InhpbmciLGljb246WzM4NCw1MTIsW10sImYxNjgiLCJNMTYyLjcgMjEwYy0xLjggMy4zLTI1LjIgNDQuNC03MC4xIDEyMy41LTQuOSA4LjMtMTAuOCAxMi41LTE3LjcgMTIuNUw5LjggMzQ2Yy03LjcgMC0xMi4xLTcuNS04LjUtMTQuNGw2OS0xMjEuM2MuMiAwIC4yLS4xIDAtLjNMMjYuNCAxMzQuNGMtNC4zLTcuOCAuMy0xNC4xIDguNS0xNC4xbDY1LjEgMGM3LjMgMCAxMy4zIDQuMSAxOCAxMi4yTDE2Mi43IDIxMHpNMzgyLjYgNDYuMWwtMTQ0IDI1MyAwIC4zIDkxLjYgMTY2LjZjMy45IDcuMSAuMiAxNC4xLTguNSAxNC4xbC02NS4yIDBjLTcuNiAwLTEzLjYtNC0xOC0xMi4yTDE0Ni4xIDI5OS40YzMuMy01LjggNTEuNS05MC44IDE0NC44LTI1NS4yIDQuNi04LjEgMTAuNC0xMi4yIDE3LjUtMTIuMmw2NS43IDBjOCAwIDEyLjMgNi43IDguNSAxNC4xeiJdfSxjb2U9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWpzIixpY29uOls0NDgsNTEyLFsianMtc3F1YXJlIl0sImYzYjkiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTE4MC45IDQ0NC45Yy0zMy43IDAtNTMuMi0xNy40LTYzLjItMzguNUwxNTIgMzg1LjdjNi42IDExLjcgMTIuNiAyMS42IDI3LjEgMjEuNiAxMy44IDAgMjIuNi01LjQgMjIuNi0yNi41bDAtMTQzLjEgNDIuMSAwIDAgMTQzLjdjMCA0My42LTI1LjYgNjMuNS02Mi45IDYzLjV6bTg1LjgtNDNMMzAxIDM4Mi4xYzkgMTQuNyAyMC44IDI1LjYgNDEuNSAyNS42IDE3LjQgMCAyOC42LTguNyAyOC42LTIwLjggMC0xNC40LTExLjQtMTkuNS0zMC43LTI4bC0xMC41LTQuNWMtMzAuNC0xMi45LTUwLjUtMjkuMi01MC41LTYzLjUgMC0zMS42IDI0LjEtNTUuNiA2MS42LTU1LjYgMjYuOCAwIDQ2IDkuMyA1OS44IDMzLjdMMzY4IDI5MGMtNy4yLTEyLjktMTUtMTgtMjcuMS0xOC0xMi4zIDAtMjAuMSA3LjgtMjAuMSAxOCAwIDEyLjYgNy44IDE3LjcgMjUuOSAyNS42bDEwLjUgNC41YzM1LjggMTUuMyA1NS45IDMxIDU1LjkgNjYuMiAwIDM3LjgtMjkuOCA1OC42LTY5LjcgNTguNi0zOS4xIDAtNjQuNC0xOC42LTc2LjctNDN6Il19LFE2dD1jb2UsSjZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZvbnRpY29ucyIsaWNvbjpbNDQ4LDUxMixbXSwiZjI4MCIsIk0wIDMybDAgNDQ4IDQ0OCAwIDAtNDQ4LTQ0OCAwek0xODcgMTcyLjljLTE4LjQgMC0xOSA5LjktMTkgMjcuNGwwIDIzLjNjMCAyLjQtMy41IDQuNC0uNiA0LjRsNjcuNCAwLTExLjEgMzcuMy01NS43IDAgMCAxMTIuOWMwIDUuOC0yIDYuNyAzLjIgNy4zbDQzLjUgNC4xIDAgMjUuMS0xMzAuNyAwIDAtMjUuNyAyMS4zLTJjNS4yLS42IDYuNy0yLjMgNi43LTcuOWwwLTExMS40YzAtMi4zLTIuOS0yLjMtNS44LTIuM2wtMjIuMiAwIDAtMzcuNCAyOCAwIDAtMjFjMC00OS42IDI2LjUtNzAgNzcuMy03MCAzNC4xIDAgNjQuNyA4LjIgNjQuNyA1Mi44bC01MC43IDYuMWMuMy0xOC43LTQuNC0yMy0xNi4zLTIzem03NC4zIDI0MS44bDAtMjUuMSAyMC40LTIuNmM1LjItLjYgNy42LTEuNyA3LjYtNy4zbDAtMTA3LjljMC00LjEtMi45LTYuNy02LjctNy45bC0yNC4yLTYuNCA2LjctMjkuNSA4MC4yIDAgMCAxNTEuN2MwIDUuOC0yLjYgNi40IDIuOSA3LjNsMTUuNyAyLjYgMCAyNS4xLTEwMi42IDB6bTgwLjgtMjU1LjVsOSAzMy4yLTcuMyA3LjMtMzEuMi0xNi42LTMxLjIgMTYuNi03LjMtNy4zIDktMzMuMi0yMS44LTI0LjIgMy41LTkuNiAyNy43IDAgMTUuNS0yOCA5LjMgMCAxNS41IDI4IDI3LjcgMCAzLjUgOS42LTIxLjkgMjQuMnoiXX0sZTV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVwcyIsaWNvbjpbMzg0LDUxMixbXSwiZjdlMCIsIk0xMDMuMiAzMDNjLTUuMiAzLjYtMzIuNiAxMy4xLTMyLjYtMTlsMC0xMDQtMzIuNyAwIDAgMTAyLjZjMCA3NC45IDgwLjIgNTEuMSA5Ny45IDM5bDAtMTQxLjYtMzIuNiAwIDAgMTIzek00IDc0LjhMNCAyOTUuN2MwIDEwMy43IDc0LjkgMTM1LjIgMTg3LjcgMTg0LjEgMTEyLjQtNDguOSAxODcuNy04MC4yIDE4Ny43LTE4NC4xbDAtMjIwLjlDMjYzLjEgMTMuMiA5Ny42IDI1LjIgNCA3NC44ek0zNjIuMSAyOTUuN2MwIDg2LjYtNTMuMiAxMTMuNi0xNzAuNCAxNjUuMy0xMTcuNS01MS44LTE3MC41LTc4LjctMTcwLjUtMTY1LjNsMC0xMjYuNGMxMDIuMy05My44IDIzMS42LTEwMCAzNDAuOS04OS44bDAgMjE2LjJ6TTE1Mi41IDE4OC4zbDAgMjEyLjggMzIuNyAwIDAtNjguN2MyNC40IDcuMyA3MS43LTIuNiA3MS43LTc4LjUgMC05Ny40LTgwLjctODAuOS0xMDQuNC02NS42em0zMi43IDExNy4zbDAtMTAwLjNjOC40LTQuMiAzOC40LTEyLjcgMzguNCA0OS4zIDAgNjcuOS0zNi40IDUxLjgtMzguNCA1MXptNzkuMS04Ni40Yy4xIDQ3LjMgNTEuNiA0Mi41IDUyLjIgNzAuNCAuNiAyMy41LTMwLjQgMjMtNTAuOCA0LjlsMCAzMC4xYzM2LjIgMjEuNSA4MS45IDguMSA4My4yLTMzLjUgMS43LTUxLjUtNTQuMS00Ni42LTUzLjQtNzMuMiAuNi0yMC4zIDMwLjYtMjAuNSA0OC41LTIuMmwwLTI4LjRjLTI4LjUtMjItNzkuOS05LjItNzkuNyAzMS45eiJdfSx0NXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYW1hem9uLXBheSIsaWNvbjpbNjQwLDUxMixbXSwiZjQyYyIsIk0xNCAzMjUuM2MyLjMtNC4yIDUuMi00LjkgOS43LTIuNSAxMC40IDUuNiAyMC42IDExLjQgMzEuMiAxNi43IDQwLjYgMjAuMiA4My4zIDM1LjggMTI3LjQgNDYuMyAyMC44IDUgNDEuOSA5IDYzLjIgMTEuOCAzMS41IDQuMiA2My4yIDYgOTUgNS4yIDE3LjQtLjQgMzQuOC0xLjggNTIuMS0zLjggNTYuMi02LjYgMTExLjEtMjEgMTYzLjMtNDIuOCAyLjktMS4yIDUuOS0yIDkuMS0xLjIgNi43IDEuOCA5IDkgNC4xIDEzLjktMyAyLjctNi4yIDUuMi05LjYgNy40LTMwLjcgMjEuMS02NC4yIDM2LjQtOTkuNiA0Ny45LTI0LjUgNy45LTQ5LjYgMTMuOC03NS4xIDE3LjYtMTcuNiAyLjctMzUuNCA0LjMtNTMuMiA0LjgtLjggMC0xLjcgLjItMi41IC4zbC0yMS4xIDBjLS44LS4xLTEuNy0uMi0yLjUtLjMtMy42LS4yLTcuMi0uMy0xMC43LS40LTE2LjktLjgtMzMuNy0yLjUtNTAuNC01LjMtMjcuNC00LjUtNTQuMy0xMS41LTgwLjQtMjAuOS01My43LTE5LjQtMTAzLjEtNDguOS0xNDUuNi04Ny0xLjgtMS42LTMtMy44LTQuNC01LjdsMC0yek0xNzIgNjUuMWwtNC4zIC42Yy0xMy44IDEuNy0yNi44IDYuOS0zOCAxNS4xLTIuNCAxLjctNC42IDMuNS03LjEgNS40LS4yLS40LS4zLS45LS40LTEuNC0uNC0yLjctLjgtNS41LTEuMy04LjItLjctNC42LTMtNi42LTcuNi02LjZsLTExLjUgMGMtNi45IDAtOC4yIDEuMy04LjIgOC4ybDAgMjA5LjNjMCAxIDAgMiAuMSAzIC4yIDMgMiA0LjkgNC45IDUgNyAuMSAxNC4xIC4xIDIxLjEgMCAyLjkgMCA0LjctMiA1LTUgLjEtMSAuMS0yIC4xLTNsMC03Mi40YzEuMSAuOSAxLjcgMS40IDIuMiAxLjkgMTcuOSAxNC45IDM4LjUgMTkuOCA2MSAxNS40IDIwLjQtNCAzNC42LTE2LjUgNDMuOC0zNC45IDctMTMuOSA5LjktMjguNyAxMC4zLTQ0LjEgLjUtMTcuMS0xLjItMzMuOS04LjEtNDkuOC04LjUtMTkuNi0yMi42LTMyLjUtNDMuOS0zNi45LTMuMi0uNy02LjUtMS05LjgtMS41LTIuOC0uMS01LjUtLjEtOC4zLS4xek0xMjQuNiAxMDdjLS4xLS43IC4xLTEuMyAuNC0xLjlzLjgtMS4xIDEuMy0xLjRjMTMuNy05LjUgMjguOC0xNC41IDQ1LjYtMTMuMiAxNC45IDEuMSAyNy4xIDguNCAzMy41IDI1LjkgMy45IDEwLjcgNC45IDIxLjggNC45IDMzIDAgMTAuNC0uOCAyMC42LTQgMzAuNi02LjggMjEuMy0yMi40IDI5LjQtNDIuNiAyOC41LTE0LS42LTI2LjItNi0zNy40LTEzLjktLjYtLjMtMS0uOC0xLjMtMS40cy0uNC0xLjItLjQtMS45Yy4xLTE0LjEgMC0yOC4xIDAtNDIuMnMuMS0yOCAwLTQyLjF6TTMzMC4zIDY1LjFjLTEgLjEtMiAuMy0yLjkgLjQtOS43IC40LTE5LjQgMS44LTI4LjkgNC4xLTYuMSAxLjYtMTIgMy44LTE3LjkgNS44LTMuNiAxLjItNS40IDMuOC01LjMgNy43IC4xIDMuMy0uMSA2LjYgMCA5LjkgLjEgNC44IDIuMSA2LjEgNi44IDQuOSA3LjgtMiAxNS42LTQuMiAyMy41LTUuNyAxMi4zLTIuMyAyNC43LTMuMyAzNy4yLTEuNCA2LjUgMSAxMi42IDIuOSAxNi44IDguNCAzLjcgNC44IDUuMSAxMC41IDUuMyAxNi40IC4zIDguMyAuMiAxNi42IC4zIDI0LjkgMCAuNS0uMSAuOS0uMiAxLjQtLjUtLjEtLjkgMC0xLjMtLjEtMTAuNS0yLjYtMjEuMi00LjItMzItNC45LTExLjMtLjYtMjIuNSAuMS0zMy4zIDMuOS0xMi45IDQuNS0yMy4zIDEyLjMtMjkuNCAyNC45LTQuNyA5LjgtNS40IDIwLjItMy45IDMwLjcgMiAxNCA5IDI0LjggMjEuNCAzMS43IDExLjkgNi42IDI0LjggNy40IDM3LjkgNS40IDE1LjEtMi4zIDI4LjUtOC43IDQwLjMtMTguNCAuNS0uNCAxLS44IDEuNi0xLjEgLjYgMy44IDEuMSA3LjQgMS44IDExIC42IDMuMSAyLjUgNS4xIDUuNCA1LjIgNS40IC4xIDEwLjkgLjEgMTYuMyAwIDEuMyAwIDIuNS0uNSAzLjQtMS40czEuNC0yLjEgMS41LTMuM2MuMS0uOSAuMS0xLjkgLjEtMi44bDAtMTA2YzAtNC4zLS4zLTguNi0uOS0xMi45LTEuOS0xMi45LTcuNC0yMy41LTE5LTMwLjQtNi43LTQtMTQuMS02LTIxLjgtNy4xLTMuNi0uNS03LjItLjgtMTAuOC0xLjMtMy45IC4xLTcuOSAuMS0xMS45IC4xem0zNSAxMjcuN2MwIC42LS4xIDEuMi0uMyAxLjdzLS43IDEtMS4yIDEuM2MtMTEuMiA4LjEtMjMuNSAxMy41LTM3LjQgMTQuOS01LjcgLjYtMTEuNCAuNC0xNi44LTEuOC0zLTEuMS01LjYtMi45LTcuOC01LjJzLTMuNy01LjEtNC42LTguMWMtMi02LjMtMi0xMy4xLS4xLTE5LjQgMi41LTguMyA4LjQtMTMgMTYuNC0xNS42IDgtMi40IDE2LjUtMy4yIDI0LjgtMi4yIDguNCAuNyAxNi42IDIuMyAyNSAzLjQgMS42IC4yIDIuMSAxIDIuMSAyLjYtLjEgNC44IDAgOS41IDAgMTQuM3MtLjIgOS40LS4xIDE0LjF6TTYyNS4yIDMyMi4yYy0xLTUtNC44LTYuOS05LjEtOC4zLTYuOC0yLjEtMTMuOS0zLjUtMjEtMy45LTEzLjEtMS4xLTI2LjMtLjUtMzkuMiAxLjktMTQuMyAyLjctMjcuOSA3LjMtNDAgMTUuNi0xLjQgLjktMi43IDIuMS0zLjcgMy41LS40IC42LS42IDEuMy0uNyAxLjlzMCAxLjQgLjIgMi4xYy40IDEuNSAyLjEgMS45IDMuNiAxLjggLjcgMCAxLjUgMCAyLjItLjEgNy44LS44IDE1LjUtMS43IDIzLjMtMi41IDExLjQtMS4xIDIyLjktMS44IDM0LjMtLjkgNC45IC40IDkuNyAxLjMgMTQuNCAyLjcgNS4xIDEuNCA3LjQgNS4yIDcuNiAxMC40IC40IDgtMS40IDE1LjctMy41IDIzLjMtNC4xIDE1LjQtMTAgMzAuMy0xNS44IDQ1LjEtLjQgMS0uOCAyLTEgMy0uNSAyLjkgMS4yIDQuOCA0LjEgNC4xIDEuOC0uNCAzLjQtMS4zIDQuOC0yLjUgNC41LTQuMiA4LjgtOC43IDEyLjctMTMuNCAxMi44LTE2LjQgMjAuMy0zNS4zIDI0LjctNTUuNiAuOC0zLjYgMS40LTcuMyAyLjEtMTAuOWwwLTE3LjN6TTQ5My4xIDE5OWMtMTIuOS0zNS43LTI1LjgtNzEuNC0zOC43LTEwNy4yLTItNS43LTQuMi0xMS4zLTYuMy0xNi45LTEuMS0yLjktMy4yLTQuOC02LjQtNC44LTcuNi0uMS0xNS4yLS4yLTIyLjktLjEtMi41IDAtMy43IDItMy4yIDQuNSAuNSAyLjEgMS4xIDQuMSAxLjkgNi4xIDE5LjYgNDguNSAzOS4zIDk3IDU5LjEgMTQ1LjUgMS43IDQuMSAyLjEgNy42IC4yIDExLjgtMy4zIDcuMy01LjkgMTUtOS4zIDIyLjMtMyA2LjUtOCAxMS40LTE1LjIgMTMuMy01IDEuMy0xMC4yIDEuNy0xNS40IDEuMS0yLjUtLjItNS0uOC03LjUtMS0zLjQtLjItNS4xIDEuMy01LjIgNC44LS4xIDMuMy0uMSA2LjYgMCA5LjkgLjEgNS41IDIgOCA3LjQgOC45IDUuNiAxLjEgMTEuMiAxLjggMTYuOSAyIDE3LjEgLjQgMzAuNy02LjUgMzkuNS0yMS40IDMuNS01LjkgNi42LTEyIDkuMi0xOC40IDIzLjctNTkuOCA0Ny4yLTExOS43IDcwLjYtMTc5LjYgLjctMS44IDEuMy0zLjYgMS42LTUuNSAuNC0yLjgtLjktNC40LTMuNy00LjQtNi42LS4xLTEzLjMgMC0xOS45IDAtMS43LS4xLTMuNCAuMy00LjcgMS4zcy0yLjQgMi4zLTMgMy45Yy0uNSAxLjQtMS4xIDIuNy0xLjYgNC4xbC0zNC44IDEwMGMtMi41IDcuMi01LjEgMTQuNS03LjcgMjIuMi0uNC0xLjEtLjYtMS43LS45LTIuNHoiXX0sYTV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBhbmRvcmEiLGljb246WzM4NCw1MTIsW10sImU3ZGEiLCJNMjAxLjMgMzJMMCAzMiAwIDQ4MCAxMjAuMiA0ODBjMTEuMiAwIDIwLjMtOS4xIDIwLjMtMjAuM2wwLTg2LjEgMzAuMSAwYzE0Ny4xIDAgMjA3LjMtODIuOSAyMDcuMy0xNzkuOSAwLTExOS43LTkwLjktMTYxLjgtMTc2LjUtMTYxLjh6Il19LHI1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvcGVuaWQiLGljb246WzQ0OCw1MTIsW10sImYxOWIiLCJNMjcxLjUgNDMybC02OCAzMkM4OC41IDQ1My43IDAgMzkyLjUgMCAzMTguMiAwIDI0Ni43IDgyLjUgMTg3LjIgMTkxLjcgMTczLjlsMCA0M2MtNzEuNSAxMi41LTEyNCA1My0xMjQgMTAxLjMgMCA1MSA1OC41IDkzLjMgMTM1LjcgMTAzbDAtMzQwIDY4LTMzLjIgMCAzODQgLjEgMHpNNDQ4IDI5MWwtMTMxLjMtMjguNSAzNi44LTIwLjdjLTE5LjUtMTEuNS00My41LTIwLTcwLTI0LjhsMC00M2M0Ni4yIDUuNSA4Ny43IDE5LjUgMTIwLjMgMzkuM2wzNS0xOS44IDkuMiA5Ny41eiJdfSxpNXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidnNjbyIsaWNvbjpbNTEyLDUxMixbXSwiZTdkZCIsIk0zNTcuNiAyNTZjMC0yNy4xLTEwLjYtNTIuNS0yOS43LTcxLjdzLTQ0LjYtMjkuNy03MS43LTI5LjdsLS4xIDBjLTI3LjEgMC01Mi42IDEwLjYtNzEuNyAyOS43cy0yOS43IDQ0LjYtMjkuNyA3MS43YzAgMjcuMSAxMC42IDUyLjUgMjkuNyA3MS43IDE5LjIgMTkuMiA0NC42IDI5LjcgNzEuNyAyOS43bC4xIDBjMjcuMSAwIDUyLjYtMTAuNiA3MS43LTI5LjcgMTkuMi0xOS4yIDI5LjctNDQuNiAyOS43LTcxLjd6TTE3Ni4zIDQ4Mi4xYzIzIDguMSA0NyAxMi42IDcxLjYgMTMuNGwwLTU5LjFjLTE3LjEtLjctMzMuNS0zLjgtNDktOC45bC0yMi42IDU0LjZ6bTEzNy01NC42Yy0xNS41IDUuMS0zMiA4LjItNDkgOC45bDAgNTkuMWMyNC42LS44IDQ4LjYtNS4zIDcxLjYtMTMuNGwtMjIuNi01NC42ek05Mi41IDQzMS4yYzIwLjIgMTguOSA0My4zIDM0IDY4LjcgNDVsMjIuNS01NC41Yy0xOC4zLTcuOS0zNS4xLTE4LjgtNDkuOC0zMS45TDkyLjUgNDMxLjJ6bTI4NS45LTQxLjRjLTE0LjYgMTMuMi0zMS40IDI0LTQ5LjggMzEuOWwyMi41IDU0LjVjMjUuNC0xMSA0OC40LTI2LjEgNjguNy00NWwtNDEuNC00MS40ek0xNDUuNCAzNzguMmMxMy42IDEyLjEgMjkgMjEuOSA0NS44IDI5IDE4IDcuNiAzNy4xIDEyIDU2LjcgMTIuOWwwLTQ2LjhjLTI2LjQtMS44LTUwLjMtMTIuMy02OS4xLTI4LjZsLTMzLjQgMzMuNHptMTg4LTMzLjRjLTE4LjggMTYuMy00Mi43IDI2LjgtNjkuMSAyOC42bDAgNDYuOGMxOS42LS45IDM4LjctNS4zIDU2LjctMTIuOSAxNi44LTcuMSAzMi4yLTE2LjkgNDUuOC0yOWwtMzMuNC0zMy40ek0zOC41IDM1Ni42YzEwLjcgMjMuMiAyNSA0NC4zIDQyLjUgNjMuMWw0MS4zLTQxLjNjLTEyLjQtMTMuNC0yMi45LTI4LjYtMzAuOS00NS4yTDM4LjUgMzU2LjZ6bTM4Mi40LTIzLjVjLTggMTYuNi0xOC41IDMxLjktMzAuOSA0NS4ybDQxLjMgNDEuM2MxNy41LTE4LjcgMzEuOC0zOS45IDQyLjUtNjMuMWwtNTIuOS0yMy41em0tMzMxLTY5YzEuMSAxOC44IDUuNCAzNy4yIDEyLjggNTQuNSA3LjUgMTcuOCAxOCAzNCAzMS4yIDQ4LjJsMzMuNS0zMy41Yy0xNi40LTE4LjgtMjYuOS00Mi44LTI4LjctNjkuMmwtNDguOCAwem0yODMuNyAwYy0xLjggMjYuNC0xMi4zIDUwLjQtMjguNyA2OS4ybDMzLjUgMzMuNWMxMy4xLTE0LjIgMjMuNi0zMC40IDMxLjItNDguMiA3LjMtMTcuNCAxMS42LTM1LjcgMTIuNy01NC41bC00OC43IDB6bS0zNTcuMSAwYy45IDI2LjcgNi4xIDUyLjcgMTUuNiA3Ny41TDg1IDMxOC4yYy02LjQtMTctMTAuMy0zNS4xLTExLjMtNTRsLTU3LjEgMHptNDIyLjEgMGMtMSAxOC45LTUgMzcuMS0xMS4zIDU0bDUyLjggMjMuNWM5LjUtMjQuOCAxNC43LTUwLjggMTUuNi03Ny41bC01Ny4xIDB6TTMyLjEgMTcwLjRjLTkuNSAyNC44LTE0LjcgNTAuOC0xNS42IDc3LjVsNTcuMSAwYzEtMTguOSA1LTM3LjEgMTEuMy01NEwzMi4xIDE3MC40em0xMDEuNy0yNS4yYy0xMy4xIDE0LjItMjMuNiAzMC40LTMxLjIgNDguMi03LjMgMTcuNC0xMS42IDM1LjctMTIuOCA1NC41bDQ4LjggMGMxLjgtMjYuNCAxMi4zLTUwLjQgMjguNy02OS4ybC0zMy41LTMzLjV6bTIxMS4xIDMzLjVjMTYuNCAxOC44IDI2LjkgNDIuOCAyOC43IDY5LjJsNDguNyAwYy0xLjEtMTguOC01LjQtMzcuMi0xMi43LTU0LjUtNy41LTE3LjgtMTgtMzQtMzEuMi00OC4ybC0zMy41IDMzLjV6bTgyLjQgMTUuMmM2LjQgMTcgMTAuMyAzNS4xIDExLjMgNTRsNTcuMSAwYy0uOS0yNi43LTYuMS01Mi43LTE1LjYtNzcuNWwtNTIuOCAyMy41ek04MSA5Mi4zQzYzLjQgMTExIDQ5LjIgMTMyLjIgMzguNSAxNTUuNGw1Mi45IDIzLjVjOC0xNi42IDE4LjUtMzEuOSAzMC45LTQ1LjJMODEgOTIuM3ptMzA5IDQxLjNjMTIuNCAxMy40IDIyLjkgMjguNiAzMC45IDQ1LjJsNTIuOS0yMy41Yy0xMC43LTIzLjItMjUtNDQuMy00Mi41LTYzLjFMMzkwIDEzMy43ek0yNDggOTEuOGMtMTkuNiAuOS0zOC43IDUuMy01Ni43IDEyLjktMTYuOCA3LjEtMzIuMiAxNi45LTQ1LjggMjlsMzMuNCAzMy40YzE4LjgtMTYuMyA0Mi43LTI2LjggNjkuMS0yOC42bDAtNDYuN3ptMTYuMyA0Ni43YzI2LjQgMS44IDUwLjMgMTIuMyA2OS4xIDI4LjZsMzMuNC0zMy40Yy0xMy42LTEyLjEtMjktMjEuOS00NS44LTI5LTE4LTcuNi0zNy4xLTEyLTU2LjctMTIuOWwwIDQ2Ljd6TTE2MS4yIDM1LjhjLTI1LjQgMTEtNDguNCAyNi4xLTY4LjcgNDVsNDEuNCA0MS40YzE0LjctMTMuMiAzMS40LTI0IDQ5LjgtMzEuOUwxNjEuMiAzNS44ek0zMjguNiA5MC4zYzE4LjMgNy45IDM1LjEgMTguOCA0OS44IDMxLjlsNDEuNC00MS40Yy0yMC4yLTE4LjktNDMuMy0zNC02OC43LTQ1TDMyOC42IDkwLjN6TTI0OCAxNi40Yy0yNC42IC44LTQ4LjYgNS4zLTcxLjYgMTMuNGwyMi42IDU0LjZjMTUuNS01LjEgMzItOC4yIDQ5LTguOWwwLTU5LjF6bTE2LjMgNTkuMWMxNy4xIC43IDMzLjUgMy44IDQ5IDguOWwyMi42LTU0LjZjLTIzLTguMS00Ny0xMi42LTcxLjYtMTMuNGwwIDU5LjF6TTUxMi4yIDI2NC4ybC0uMiAwQzUwNy44IDM5OSAzOTkuMiA1MDcuNyAyNjQuMyA1MTEuOWwwIC4xLTE2LjMgMCAwLS4xQzExMy4xIDUwNy43IDQuNSAzOTkgLjIgMjY0LjFsLS4yIDAgMC0xNi4zIC4yIDBDNC41IDExMyAxMTMuMSA0LjMgMjQ4IC4xbDAtLjEgMTYuMyAwIDAgLjFDMzk5LjIgNC4zIDUwNy44IDExMyA1MTIgMjQ3LjlsLjIgMCAwIDE2LjN6Il19LHM1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnbG9iYWxlYWtzIixpY29uOls0NDgsNTEyLFtdLCJlODVkIiwiTTQxMS4yIDMyLjJjMjAuMiAwIDM2LjggMTYuNiAzNi44IDM2LjlsMCAzNzMuOGMwIDIwLjItMTYuNiAzNi45LTM2LjggMzYuOWwtOTQuNCAwIDI4LTc5LjRjMy4xLTguOC0xLjYtMTguNy0xMC40LTIxLjgtMS42LS41LTIuNi0xLTQuMi0xcy0zLjYgMC01LjIgLjVjLTUuMiAxLTkuOSA1LjItMTEuOSAxMC45bC02LjIgMTYuNiAwLTY3LjVjMC0xMC45LTcuOC0xOS43LTE4LjItMjEuOGwtNy4yIDBjLS41IDAtMSAwLTEuNiAuNS0uNSAwLTEgLjUtMS42IC41LTIuNiAxLTUuMiAyLjYtNy4yIDQuMWwwLTQuMWMwLTUuNy0yLjYtMTAuNC01LjctMTRsLTEtMWMtMS0xLTIuNi0yLjEtNC4yLTIuNmwwLTI2LjVjMC01LjItNC4xLTkuMy05LjMtOS4zbC0zOS45IDBjLTYuNyAwLTExLjQtNy4zLTguMy0xMy41TDI4My4xIDg0LjFjMTQuNS0zMS4xIDQ1LjYtNTEuNCA4MC40LTUxLjlsNDcuNyAwem0tMTY2IDBjMTcuNiAwIDMwLjEgMTYuMSAyOCAzMi4yLTIuNiAzLjYtNC43IDcuOC02LjIgMTAuOUwxODYuNiAyNDEuNWMtOC44IDE4LjcgNC4yIDQwIDI0LjQgNDBsMzAuNiAwIDAgMTYuMWMtNy44IDMuMS0xMyAxMC45LTEzIDE5LjdsMCAzLjZjLTMuNi0zLjYtOC44LTUuNy0xNC41LTUuNy0xMS45IDAtMjEuOCA5LjktMjEuOCAyMS44bDAgMTkuMi0zLjEgMGMtOS4zIDAtMTcuMSA3LjgtMTcuMSAxNy4xbDAgMTA1LjktOTUuNCAwYy00MiAwLTcyLjYtNDAuNS02MS4yLTgxLjUgMS0zLjEgNC4yLTUuMiA3LjMtNC43bDIxLjIgMGMyNC40IDAgNDQuNi0yMC4yIDQ0LjYtNDUuMmwwLTQuMmMwLTI0LjktMTkuNy00NS4yLTQ0LjYtNDUuMi0uNSAwLTEtLjUtMS0xbDguOC0zMi43YzIuMS02LjItMi42LTExLjktOC44LTExLjlsLTMzLjIgMGMtNi43IDAtMTEuNC03LjMtOC4zLTEzLjVMNzYuNyA4NC43YzE2LjEtMzIuMiA0OC4yLTUyLjQgODQtNTIuNGw4NC41IDB6TTEzMy43IDE0NC40Yy0xMC40IDAtMTguNyA4LjMtMTguNyAxOC43IDAgOS45IDguMyAxOC43IDE4LjcgMTguNyAxMC40IDAgMTguNy04LjMgMTguNy0xOC43cy04LjMtMTguNy0xOC43LTE4Ljd6bTIwMi44IDBhMTguNiAxOC42IDAgMSAwIC0uMiAzNy4yIDE4LjYgMTguNiAwIDEgMCAuMi0zNy4yeiJdfSxvNXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmVubW8iLGljb246WzY0MCw1MTIsW10sImU4NWEiLCJNNjcuOCAyMDIuN2MyLjQgNSAzLjkgMTEgMy45IDE5LjggMCAxNi4yLTExLjUgMzkuOC0yMC43IDU0LjlsLTkuOS03OS43LTQxIDMuOSAxOC44IDExMiA0Ni45IDBjMjAuNS0yNi45IDQ1LjgtNjUuMyA0NS44LTk0LjggMC05LjMtMS45LTE2LjYtNi4zLTIzLjdsLTM3LjQgNy41em0xMTMtNy4xYy00Mi44IDAtNjMuNSAzNy02My41IDcxLjkgMCAyNi45IDEyLjggNDguNSA0OC40IDQ4LjUgMTQgMCAyOC41LTMgMzcuOC03LjVsNS0zMy42Yy0xMy4yIDYuNy0yMy4zIDkuMy0zMy45IDkuMy05LjcgMC0xNy4xLTUuMi0xNy4xLTE4LjMgMjItLjIgNjAtOS4zIDYwLTM4LjggMC0xOC4zLTEzLjItMzEuNS0zNi43LTMxLjVsMCAwem0tMjIuNSA0OC45YzEuMS0xMi45IDExLTIyIDE4LjYtMjIgNC4zIDAgOCAyLjYgOCA3LjcgMCAxMC44LTE5IDE0LjItMjYuNiAxNC4ybDAgMHptMTUwLjItNDguOWMtMTUuMyAwLTI2LjEgNS44LTM0LjMgMTEuMmwtLjQtOS4zLTM0LjggMC0xOC40IDExNi4xIDQwLjIgMCAxMi43LTgxLjRjMy41LTEuNyA4LjYtNC4xIDEzLjgtNC4xIDMuOSAwIDcuMSAxLjMgNy4xIDYuNSAwIDIuMi0uNyA2LS45IDhsLTExLjIgNzEuMSA0MCAwIDEyLjMtNzcuNWMuNy00LjEgMS4zLTEwLjMgMS4zLTE0LjYgMC0xNS41LTcuMS0yNS45LTI3LjQtMjUuOXptMTgzLjIgMGMtMTQuOSAwLTI1LjcgNC41LTM3LjIgMTIuNy00LjEtNy4zLTEyLjMtMTIuNy0yNC44LTEyLjctMTQuNSAwLTI1LjMgNS44LTMzLjMgMTEuNmwtMS4xLTkuNy0zNC40IDAtMTguNCAxMTYuMSA0MC4yIDAgMTIuOC04MS40YzMuNS0xLjcgOC42LTQuMSAxMy44LTQuMSAzLjkgMCA3LjEgMS4zIDcuMSA3LjEgMCAxLjUtLjQgMy45LS42IDUuOGwtMTEuNCA3Mi42IDQwIDAgMTIuNy04MS40YzMuNy0xLjkgOC42LTQuMSAxMy42LTQuMSAzLjkgMCA3LjEgMS4zIDcuMSA3LjEgMCAxLjUtLjQgMy45LS43IDUuOGwtMTEuNCA3Mi42IDQwIDAgMTIuMy03Ny41Yy43LTQuMSAxLjMtMTAuMyAxLjMtMTQuNiAwLTE1LjUtNy4xLTI1LjktMjcuNy0yNS45bDAgMHptMTAyLjIgMGMtNDQuNyAwLTY0LjIgMzQuMy02NC4yIDcwLjkgMCAyNy44IDExLjIgNTAgNDUuMSA1MCA0NS44IDAgNjUtMzcuNSA2NS03My43IDAtMjcuNC0xMi4zLTQ3LjItNDYtNDcuMnptLTEzLjQgOTBjLTcuMSAwLTEwLjEtNi43LTEwLjEtMTcuNSAwLTE0LjIgMy4yLTQyIDE5LTQyIDcuMSAwIDkuNSA2LjUgOS41IDE1LjkgMCAxNC4yLTMuNSA0My41LTE4LjQgNDMuNXoiXX0sbjV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVidW50dSIsaWNvbjpbNTc2LDUxMixbXSwiZjdkZiIsIk00NjkuMiA3NWMwLTIwLjEtOC0zOS4zLTIyLjItNTMuNXMtMzMuNC0yMi4yLTUzLjUtMjIuMi0zOS4zIDgtNTMuNSAyMi4yLTIyLjIgMzMuNC0yMi4yIDUzLjVjMCAyMC4xIDggMzkuMyAyMi4xIDUzLjVzMzMuNCAyMi4xIDUzLjUgMjIuMSAzOS4zLTggNTMuNS0yMi4xIDIyLjEtMzMuNCAyMi4xLTUzLjVsLjEgMHptLTMxNSAxNjUuN2E3NS42IDc1LjYgMCAxIDAgLTE1MS4yIDAgNzUuNiA3NS42IDAgMSAwIDE1MS4yIDB6TTU3IDM0NmMxOC42IDQ2LjkgNTEgODcgOTMgMTE1LjFzOTEuNSA0Mi42IDE0MiA0MS43Yy0xNC43LTE4LjYtMjIuOS00MS41LTIzLjItNjUuMi02LjgtLjktMTMuMy0yLjEtMTkuNS0zLjQtMjYuOC01LjctNTEuOS0xNy4zLTczLjYtMzRzLTM5LjMtMzguMS01MS43LTYyLjVjLTIwLjkgOS45LTQ0LjUgMTIuOC02Ny4xIDguMmwuMSAuMXptMzk1LjEgODkuOGE3NS42IDc1LjYgMCAxIDAgLTE1MS4yIDAgNzUuNiA3NS42IDAgMSAwIDE1MS4yIDB6TTQ0NCAzNTEuNmMxOC41IDE0LjggMzEuNiAzNS4yIDM3LjIgNTguMiAzMy4zLTQxLjMgNTIuNi05Mi4yIDU0LjgtMTQ1LjJzLTEyLjUtMTA1LjQtNDIuMi0xNDkuNGMtOC42IDIxLjUtMjQgMzkuNi00My44IDUxLjYgMTUuNCAyOC42IDIyLjkgNjAuOCAyMS45IDkzLjJzLTEwLjcgNjQtMjggOTEuNmwuMSAwek0xMDEuMSAxMzUuNGMxMi40IDIuNyAyNC4zIDcuNSAzNS4xIDE0LjMgMTYuNi0yNC4yIDM4LjktNDQuMSA2NC44LTU4UzI1NS44IDcwLjQgMjg1LjIgNzBjLjItNS45IC45LTExLjkgMi0xNy43IDMuNi0xNi43IDExLjEtMzIuMyAyMS44LTQ1LjUtNDcuNy0zLjgtOTUuNCA2LTEzNy42IDI4LjVTOTQuMyA5MS43IDcwLjggMTMzLjRjMi43LS4yIDUuMy0uMyA4LS4zIDcuNSAwIDE1IC44IDIyLjQgMi4zbC0uMSAweiJdfSxsNXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmlhY29pbiIsaWNvbjpbMzg0LDUxMixbXSwiZjIzNyIsIk0zODQgMzJsLTY0IDAtODAuNyAxOTItOTQuNSAwLTgwLjgtMTkyLTY0IDAgNDggMTEyLTQ4IDAgMCA0OCA2OC41IDAgMTMuOCAzMi04Mi4zIDAgMCA0OCAxMDIuOCAwIDg5LjIgMjA4IDg5LjItMjA4IDEwMi44IDAgMC00OC04Mi4zIDAgMTMuOC0zMiA2OC41IDAgMC00OC00OCAwIDQ4LTExMnpNMTkyIDMzNmwtMjctNjQgNTQgMC0yNyA2NHoiXX0sYzV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InpoaWh1IixpY29uOls2NDAsNTEyLFtdLCJmNjNmIiwiTTE3MC41IDE0OC4xbDAgMjE3LjUgMjMuNCAwIDcuNyAyNi40IDQyLTI2LjQgNDkuNSAwIDAtMjE3LjUtMTIyLjcgMHptOTcuOCAxOTMuOWwtMjcuOSAwLTI3LjkgMTcuNS01LjEtMTcuNS0xMS45IDAgMC0xNzAuMyA3Mi44IDAgMCAxNzAuM3pNMTQ5LjggMjQ3LjdsLTUyLjMgMGMxLjctMjcuMSAyLjItNTEuNiAyLjItNzMuNWw1MS4yIDBzMi0yMi42LTguNi0yMi4zbC04OC41IDBjMy41LTEzLjEgNy45LTI2LjcgMTMuMS00MC43IDAgMC0yNC4xIDAtMzIuMyAyMS42LTMuNCA4LjktMTMuMiA0My4xLTMwLjcgNzguMSA1LjktLjYgMjUuNC0xLjIgMzYuOC0yMi4yIDIuMS01LjkgMi41LTYuNyA1LjEtMTQuNWwyOC45IDBjMCAxMC41LTEuMiA2Ni45LTEuNyA3My40bC01Mi4zIDBjLTExLjcgMC0xNS42IDIzLjYtMTUuNiAyMy42bDY1LjYgMGMtNC40IDQ5LjktMjggOTEuOS03MC44IDEyNS4xIDIwLjUgNS45IDQwLjktLjkgNTEtOS45IDAgMCAyMy0yMC45IDM1LjYtNjkuM2w1NCA2NC45czcuOS0yNi45LTEuMi00MGMtNy42LTguOS0yOC4xLTMzLjEtMzYuOC00MS44TDg3LjkgMzEyYzQuNC0xNCA3LTI3LjYgNy45LTQwLjdsNjEuNiAwcy0uMS0yMy42LTcuNi0yMy42bDAgMHptNDEyLTEuNmMyMC44LTI1LjYgNDUtNTguNiA0NS01OC42cy0xOC42LTE0LjgtMjcuNC00LjFjLTYgOC4yLTM2LjggNDguMi0zNi44IDQ4LjJsMTkuMiAxNC40ek00MTEuOCAxODdjLTktOC4yLTI1LjkgMi4xLTI1LjkgMi4xczM5LjUgNTUgNDEuMSA1Ny40bDE5LjUtMTMuN3MtMjUuNy0zNy42LTM0LjctNDUuOWwwIDAgMCAwek02NDAgMjU4LjRjLTE5LjggMC0xMzAuOSAuOS0xMzEuMSAuOWwwLTEwMWM0LjggMCAxMi40LS40IDIyLjgtMS4yIDQwLjktMi40IDcwLjEtNCA4Ny44LTQuOCAwIDAgMTIuMi0yNy4yLS42LTMzLjQtMy4xLTEuMi0yMy4yIDQuNi0yMy4yIDQuNnMtMTY1LjIgMTYuNS0yMzIuNCAxOGMxLjYgOC44IDcuNiAxNy4xIDE1LjggMTkuNiAxMy4zIDMuNSAyMi43IDEuNyA0OS4yIC45IDI0LjgtMS42IDQzLjctMi40IDU2LjUtMi40bDAgOTkuOC0xMzMuNSAwczIuOCAyMi4zIDI1LjUgMjIuOWwxMDcuOSAwIDAgNzAuOWMwIDE0LTExLjIgMjItMjQuNSAyMS4xLTE0LjEgLjEtMjYuMS0xLjEtNDEuNy0xLjggMiA0IDYuMyAxNC40IDE5LjMgMjEuOCA5LjkgNC44IDE2LjIgNi42IDI2IDYuNiAyOS42IDAgNDUuNy0xNy4zIDQ0LjktNDUuM2wwLTczLjMgMTIyLjQgMGM5LjcgMCA4LjctMjMuOCA4LjctMjMuOGwwIDB6Il19LGQ1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ5YW5kZXgiLGljb246WzI1Niw1MTIsW10sImY0MTMiLCJNMTUzLjEgMzE1LjhMNjUuNyA1MTIgMiA1MTIgOTggMzAyLjJDNTIuOSAyNzkuMyAyMi44IDIzNy44IDIyLjggMTYxLjEgMjIuNyA1My43IDkwLjggMCAxNzEuNyAwbDgyLjMgMCAwIDUxMi01NS4xIDAgMC0xOTYuMi00NS44IDB6TTE5OC45IDQ2LjVsLTI5LjQgMGMtNDQuNCAwLTg3LjQgMjkuNC04Ny40IDExNC42IDAgODIuMyAzOS40IDEwOC44IDg3LjQgMTA4LjhsMjkuNCAwIDAtMjIzLjR6Il19LHA1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaXhpdiIsaWNvbjpbNDQ4LDUxMixbXSwiZTY0MCIsIk05NiAzMkM0MyAzMiAwIDc1IDAgMTI4TDAgMzg0YzAgNTMgNDMgOTYgOTYgOTZsMjU2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTI1NmMwLTUzLTQzLTk2LTk2LTk2TDk2IDMyem03Ny43IDIxNy4zYTYwLjEgNjAuMSAwIDEgMCAxMjAuMyAwIDYwLjEgNjAuMSAwIDEgMCAtMTIwLjMgMHpNMTE5LjEgMzg3LjhjLS4zLS44LS41LTEuNy0uNS0yLjZsMC0yNDQuM2MwLTEuOCAuNy0zLjYgMi00LjlzMy0yIDQuOS0ybDE2LjkgMGMxLjIgMCAyLjMgLjMgMy4zIC44czEuOSAxLjMgMi41IDIuM2wxNCAyMS44YzE5LjctMTUuNiA0NC41LTI1IDcxLjYtMjUgNjMuNiAwIDExNS4yIDUxLjYgMTE1LjIgMTE1LjJTMjk3LjUgMzY0LjUgMjMzLjggMzY0LjVjLTIyIDAtNDIuNi02LjItNjAuMS0xNi45bDAgMzcuNmMwIC45LS4yIDEuOC0uNSAyLjZzLS45IDEuNi0xLjUgMi4yLTEuNCAxLjEtMi4yIDEuNS0xLjcgLjUtMi42IC41bC00MS4zIDBjLS45IDAtMS44LS4yLTIuNi0uNXMtMS42LS45LTIuMi0xLjUtMS4xLTEuNC0xLjUtMi4yeiJdfSx1NXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib3BlbmFpIixpY29uOls1MTIsNTEyLFtdLCJlN2NmIiwiTTE5Ni40IDE4NS44bDAtNDguNmMwLTQuMSAxLjUtNy4yIDUuMS05LjJsOTcuOC01Ni4zYzEzLjMtNy43IDI5LjItMTEuMyA0NS42LTExLjMgNjEuNCAwIDEwMC40IDQ3LjYgMTAwLjQgOTguMyAwIDMuNiAwIDcuNy0uNSAxMS44TDM0My4zIDExMS4xYy02LjEtMy42LTEyLjMtMy42LTE4LjQgMEwxOTYuNCAxODUuOHpNNDI0LjcgMzc1LjJsMC0xMTYuMmMwLTcuMi0zLjEtMTIuMy05LjItMTUuOUwyODcgMTY4LjQgMzI5IDE0NC4zYzMuNi0yIDYuNy0yIDEwLjIgMEw0MzcgMjAwLjdjMjguMiAxNi40IDQ3LjEgNTEuMiA0Ny4xIDg1IDAgMzguOS0yMyA3NC44LTU5LjQgODkuNmwwIDB6TTE2Ni4yIDI3Mi44bC00Mi0yNC42Yy0zLjYtMi01LjEtNS4xLTUuMS05LjJsMC0xMTIuNmMwLTU0LjggNDItOTYuMyA5OC44LTk2LjMgMjEuNSAwIDQxLjUgNy4yIDU4LjQgMjBMMTc1LjQgMTA4LjVjLTYuMSAzLjYtOS4yIDguNy05LjIgMTUuOWwwIDE0OC41IDAgMHptOTAuNCA1Mi4ybC02MC4yLTMzLjggMC03MS43IDYwLjItMzMuOCA2MC4yIDMzLjggMCA3MS43LTYwLjIgMzMuOHptMzguNyAxNTUuN2MtMjEuNSAwLTQxLjUtNy4yLTU4LjQtMjBsMTAwLjktNTguNGM2LjEtMy42IDkuMi04LjcgOS4yLTE1LjlsMC0xNDguNSA0Mi41IDI0LjZjMy42IDIgNS4xIDUuMSA1LjEgOS4ybDAgMTEyLjZjMCA1NC44LTQyLjUgOTYuMy05OS4zIDk2LjNsMCAwek0xNzMuOCAzNjYuNUw3Ni4xIDMxMC4yYy0yOC4yLTE2LjQtNDcuMS01MS4yLTQ3LjEtODUgMC0zOS40IDIzLjYtNzQuOCA1OS45LTg5LjZsMCAxMTYuN2MwIDcuMiAzLjEgMTIuMyA5LjIgMTUuOWwxMjggNzQuMi00MiAyNC4xYy0zLjYgMi02LjcgMi0xMC4yIDB6bS01LjYgODRjLTU3LjkgMC0xMDAuNC00My41LTEwMC40LTk3LjMgMC00LjEgLjUtOC4yIDEtMTIuM2wxMDAuOSA1OC40YzYuMSAzLjYgMTIuMyAzLjYgMTguNCAwbDEyOC41LTc0LjIgMCA0OC42YzAgNC4xLTEuNSA3LjItNS4xIDkuMmwtOTcuOCA1Ni4zYy0xMy4zIDcuNy0yOS4yIDExLjMtNDUuNiAxMS4zbDAgMHptMTI3IDYwLjljNjIgMCAxMTMuNy00NCAxMjUuNC0xMDIuNCA1Ny4zLTE0LjkgOTQuMi02OC42IDk0LjItMTIzLjQgMC0zNS44LTE1LjQtNzAuNy00My05NS43IDIuNi0xMC44IDQuMS0yMS41IDQuMS0zMi4zIDAtNzMuMi01OS40LTEyOC0xMjgtMTI4LTEzLjggMC0yNy4xIDItNDAuNCA2LjctMjMtMjIuNS01NC44LTM2LjktODkuNi0zNi45LTYyIDAtMTEzLjcgNDQtMTI1LjQgMTAyLjQtNTcuMyAxNC44LTk0LjIgNjguNi05NC4yIDEyMy40IDAgMzUuOCAxNS40IDcwLjcgNDMgOTUuNy0yLjYgMTAuOC00LjEgMjEuNS00LjEgMzIuMyAwIDczLjIgNTkuNCAxMjggMTI4IDEyOCAxMy44IDAgMjcuMS0yIDQwLjQtNi43IDIzIDIyLjUgNTQuOCAzNi45IDg5LjYgMzYuOXoiXX0sZjV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNpdGgiLGljb246WzQ0OCw1MTIsW10sImY1MTIiLCJNMCAzMmw2OS43IDExOC44LTU4LjktMTEuNSA2OS44IDkxYy0zIDE3LTMgMzQuNCAwIDUxLjRsLTY5LjggOTEgNTguOS0xMS41LTY5LjcgMTE4LjggMTE4LjgtNjkuNy0xMS41IDU4LjkgOTEtNjkuOGMxNyAzIDM0LjUgMyA1MS41IDBsOTEgNjkuOC0xMS41LTU4LjkgMTE4LjcgNjkuNy02OS43LTExOC44IDU4LjkgMTEuNS02OS44LTkxYzMtMTcgMy0zNC40IDAtNTEuNGw2OS44LTkxLTU4LjkgMTEuNSA2OS43LTExOC44LTExOC43IDY5LjcgMTEuNS01OC45LTkxLjEgNjkuOWMtOC41LTEuNS0xNy4xLTIuMy0yNS43LTIuM3MtMTcuMiAuOC0yNS43IDIuM0wxMDcuMiA0Mi44IDExOC44IDEwMS43IDAgMzJ6TTIyNCAzODAuMmExMjQuMiAxMjQuMiAwIDEgMSAwLTI0OC40IDEyNC4yIDEyNC4yIDAgMSAxIDAgMjQ4LjR6bTAtMjExLjhhODcuNiA4Ny42IDAgMSAwIDAgMTc1LjEgODcuNiA4Ny42IDAgMSAwIDAtMTc1LjF6Il19LGg1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqdWxpYSIsaWNvbjpbNjQwLDUxMixbXSwiZTg1MiIsIk0xMjQgNDA2LjVjMCAxNi4xLTEuOCAyOS4xLTUuNCAzOXMtOC44IDE3LjYtMTUuNSAyMy4xLTE0LjcgOS4xLTI0LjEgMTEtMTkuOCAyLjgtMzEuMiAyLjhjLTE1LjUgMC0yNy4zLTIuNC0zNS41LTcuM1MwIDQ2NC41IDAgNDU3LjdjMC01LjYgMi4zLTEwLjQgNi45LTE0LjNzMTAuOC01LjggMTguNS01LjhjNS44IDAgMTAuNCAxLjYgMTMuOSA0LjdzNi4zIDYuMiA4LjYgOS4zYzIuNiAzLjQgNC44IDUuNiA2LjUgNi44czMuNCAxLjcgNC44IDEuN2MzLjEgMCA1LjQtMS44IDctNS40czIuNC0xMC43IDIuNC0yMS4ybDAtMTk4LjcgNTUuNC0xNS4yIDAgMTg2Ljl6bTc4LjktMTgxLjZsMCAxMjcuOWMwIDMuNiAuNyA2LjkgMi4xIDEwczMuMyA1LjggNS43IDguMSA1LjIgNC4xIDguNSA1LjQgNi43IDIuMSAxMC40IDIuMWM0LjIgMCA4LjktMi4zIDE0LjctNi40IDkuMi02LjQgMTQuNy0xMC45IDE0LjctMTYuMWwwLTEzMSA1NS4xIDAgMCAxODEuNi01NS4xIDAgMC0xNi45Yy03LjMgNi4xLTE1IDExLTIzLjIgMTQuN3MtMTYuMiA1LjYtMjMuOSA1LjZjLTkgMC0xNy40LTEuNS0yNS4xLTQuNXMtMTQuNS03LTIwLjMtMTIuMi0xMC40LTExLjItMTMuNy0xOC4xYy0zLjMtNi45LTUtMTQuMy01LTIyLjJsMC0xMjcuOSA1NS4xIDB6TTM5MS40IDQwNi41bC01NC45IDAgMC0yNTQuNiA1NC45LTE1LjIgMCAyNjkuOHptMjIuOS0xNzEuN2w1NS4xLTE1LjIgMCAxODYuOS01NS4xIDAgMC0xNzEuN3ptMTcwLjMgNzcuOWMtNS4zIDIuMy0xMC43IDQuOS0xNi4xIDcuOXMtMTAuMyA2LjItMTQuNyA5LjgtOCA3LjMtMTAuOCAxMS40LTQuMSA4LjItNC4xIDEyLjZjMCAzLjQgLjQgNi42IDEuMyA5LjhzMi4xIDUuOCAzLjggOC4xIDMuNCA0LjEgNS4zIDUuNCA0IDIuMSA2LjMgMi4xYzQuNSAwIDkuMS0xLjQgMTMuNy00LjFzOS43LTYuMiAxNS40LTEwLjRsMC01Mi41ek02NDAgNDA2LjVsLTU1LjQgMCAwLTE0LjVjLTMuMSAyLjYtNiA1LTguOSA3LjFzLTYuMiA0LjEtOS44IDUuNy03LjcgMi45LTEyLjIgMy44Yy00LjUgLjktOS44IDEuMy0xNS45IDEuMy04LjQgMC0xNS45LTEuMi0yMi42LTMuNi02LjctMi40LTEyLjQtNS43LTE3LTkuOXMtOC4zLTkuMS0xMC44LTE0LjljLTIuNS01LjctMy44LTEyLTMuOC0xOC43IDAtNi45IDEuMy0xMy4yIDQtMTguOSAyLjctNS42IDYuMy0xMC43IDEwLjktMTUuMiA0LjYtNC41IDkuOS04LjUgMTYuMS0xMi4xczEyLjctNi44IDE5LjctOS44IDE0LjMtNS43IDIxLjktOC4yIDE1LjEtNC45IDIyLjUtNy4xbDYtMS41IDAtMTcuOWMwLTExLjYtMi4yLTE5LjgtNi42LTI0LjdzLTEwLjQtNy4zLTE3LjgtNy4zYy04LjcgMC0xNC44IDIuMS0xOC4xIDYuM3MtNS4xIDkuMy01LjEgMTUuMmMwIDMuNC0uNCA2LjctMS4xIDkuOS0uNyAzLjItMiA2LTMuNyA4LjVzLTQuMyA0LjQtNy42IDUuOGMtMy4zIDEuNS03LjUgMi4yLTEyLjUgMi4yLTcuNyAwLTE0LTIuMi0xOC45LTYuNi00LjgtNC40LTcuMy0xMC03LjMtMTYuOCAwLTYuMyAyLjEtMTIuMSA2LjQtMTcuNSA0LjMtNS40IDEwLTEwIDE3LjMtMTMuOSA3LjMtMy45IDE1LjYtNi45IDI1LjEtOS4yczE5LjYtMy40IDMwLjItMy40YzEzLjEgMCAyNC4zIDEuMiAzMy43IDMuNXMxNy4yIDUuNyAyMy4zIDEwIDEwLjYgOS42IDEzLjUgMTUuNyA0LjQgMTMgNC40IDIwLjZsMCAxMzYuMXpNNjAgMTcyLjlhMzcuNCAzNy40IDAgMSAxIDc0LjkgMCAzNy40IDM3LjQgMCAxIDEgLTc0LjkgMHpNNDUyLjIgOTVhMzcuNCAzNy40IDAgMSAxIDc0LjkgMCAzNy40IDM3LjQgMCAxIDEgLTc0LjkgMHptNDUgNzcuOWEzNy40IDM3LjQgMCAxIDEgNzQuOSAwIDM3LjQgMzcuNCAwIDEgMSAtNzQuOSAwem0tODkuOSAwYTM3LjQgMzcuNCAwIDEgMSA3NC45IDAgMzcuNCAzNy40IDAgMSAxIC03NC45IDB6Il19LG01dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJuZmMtZGlyZWN0aW9uYWwiLGljb246WzUxMiw1MTIsW10sImU1MzAiLCJNMjExLjggNDg4LjZjMS42IDIuNSAyLjEgNS42IDEuNCA4LjUtLjYgMi45LTIuNCA1LjUtNC45IDcuMS0yLjYgMS42LTUuNiAyLjEtOC42IDEuNS02MS40LTEzLjktMTE1LjYtNDkuOS0xNTIuMi0xMDEuMlMtNS40IDI5MC4zIDEuNiAyMjcuN2M3LTYyLjcgMzYuOC0xMjAuNSA4My43LTE2Mi41IDQ2LjktNDIgMTA3LjctNjUuMiAxNzAuNy02NS4yIDEuNSAwIDIuMSAuMyA0LjMgLjkgMS40IC42IDEuOCAxLjQgMy43IDIuNSAxLjEgMS4xIDEuOSAyLjMgMi41IDMuNyAuNSAxLjQgLjggMi44IC44IDQuM2wwIDEwMSAyNC41LTI1LjljMS0xLjEgMi4yLTIgMy42LTIuNiAxLjMtLjYgMi44LS45IDQuMy0xIDEuNS0uMSAyLjkgLjIgNC4zIC43czIuNyAxLjMgMy44IDIuNGMxIDEgMS45IDIuMiAyLjUgMy42IC42IDEuMyAxIDIuOCAxIDQuM3MtLjIgMy0uNyA0LjNjLS42IDEuNC0xLjQgMi42LTIuNCAzLjdsLTQ0IDQ2LjZjLTEuMSAxLjEtMi4zIDItMy43IDIuNi0xLjUgLjYtMyAuOS01LjQgLjktLjYgMC0yLjItLjMtMy42LS45cy0yLjctMS41LTMuNy0yLjZsLTQ0LjEtNDYuNmMtMi0yLjItMy4xLTUuMS0zLTguMSAwLTMgMS4zLTYuNyAzLjUtNy45IDIuMi0yLjEgNS4xLTMuMiA4LjEtMy4xIDMgLjEgNS44IDEuMyA3LjkgMy41bDI0LjUgMjYgMC04OS41Yy01Ni40IDIuOC0xMDkuOCAyNS44LTE1MC41IDY1LTQwLjYgMzkuMS02NS43IDkxLjctNzAuNiAxNDcuOVMzNC40IDM0OC4xIDY3LjcgMzkzLjdjMzIuNCA0NS41IDgyIDc3LjUgMTM3IDg5LjkgMi45IC43IDUuNSAyLjUgNy4xIDV6TTE3MS40IDEyNi4xYy0uOCAxLjMtMS45IDIuNC0zLjEgMy4yLTIwLjUgMTMuOS0zNy4yIDMyLjYtNDguOCA1NC41cy0xNy43IDQ2LjMtMTcuNyA3MS4xIDYuMSA0OS4yIDE3LjcgNzAuMmMxMS42IDIyLjggMjguMyA0MS41IDQ4LjggNTUuNCAyLjUgMS43IDQuMiA0LjMgNC43IDcuMyAuNiAyLjktLjkgNi0xLjcgOC40LTEuNyAyLjUtNS4yIDQuMi03LjMgMy45LTIuOSAxLjQtNiAuOC04LjQtLjktMjMuNi0xNi00Mi44LTM3LjUtNTYuMS02Mi43LTEzLjMtMjUuMS0yMC4zLTUzLjEtMjAuMy04MS42IDAtMjguNCA3LTU2LjUgMjAuMy04MS42IDEzLjMtMjUuMiAzMi41LTQ2LjcgNTYuMS02Mi43IDEuMi0uOCAyLjYtMS40IDQtMS44IDEuNS0uMyAzLS4zIDQuNSAwIDEuNCAuMiAyLjggLjggNC4xIDEuNnMyLjMgMS45IDMuMiAzLjFjLjggMS4yIDEuNCAyLjYgMS43IDQuMXMuMyAzIDAgNC40Yy0uMyAxLjUtLjggMi45LTEuNyA0LjF6TTM0MC45IDM4My41Yy44LTEuMiAxLjktMi4zIDIuMi0zLjFsMC0uMWMyMS4zLTE0IDM4LTMyLjcgNDkuNi01NC42IDExLjUtMjEuOCAxNy41LTQ2LjIgMTcuNS03MC45cy02LTQ5LjEtMTcuNS03MWMtMTEuNi0yMi43LTI4LjMtNDAuNS00OS42LTU0LjUtLjMtLjgtMS40LTEuOS0yLjItMy4xLS44LTEuMy0xLjQtMi43LTEuNi00LjEtMS4yLTEuNS0uMy0zIDAtNC40IC4zLTEuNSAuOS0yLjkgMS43LTQuMSAuOS0xLjIgMS4xLTIuMyAzLjItMy4xIDEuMi0uOCAyLjYtMS4zIDQuMS0xLjZzMi45LS4zIDQuNCAwIDIuOCAuOSA0LjEgMS44YzIzLjQgMTYgNDIuNyAzNy41IDU1LjkgNjIuNiAxMy4zIDI1LjEgMTkuNCA1My4xIDE5LjQgODEuNSAwIDI4LjUtNi4xIDU2LjUtMTkuNCA4MS42LTEzLjIgMjUuMS0zMi41IDQ2LjYtNTUuOSA2Mi42LTEuMyAuOS0yLjYgMS41LTQuMSAxLjhzLTIuOSAuMy00LjQgMC0yLjktMS43LTQuMS0xLjZjLTIuMS0uOC0yLjMtMS45LTMuMi0zLjEtLjgtMS4yLTEuNC0yLjYtMS43LTQuMS0uMy0xLjQtMS4yLTIuOSAwLTQuNCAuMi0xLjQgLjgtMi44IDEuNi00LjF6TTMxMi4zIDYuM2M1Ni4yIDEyLjcgMTA2LjQgNDQgMTQyLjcgODguNyAzMC40IDM3LjYgNDkuNiA4MyA1NS4zIDEzMSA1LjYgNDgtMi40IDk2LjctMjMuMiAxNDAuMy0yMC45IDQzLjYtNTMuNiA4MC41LTk0LjUgMTA2LjMtNDAuOSAyNS43LTg4LjIgMzkuNC0xMzYuNiAzOS40LTEuNSAwLTIuOS0uMy00LjMtLjktMS40LS41LTIuNi0xLjQtMy43LTIuNC0xLjktMS4xLTEuOS0yLjMtMi40LTMuNy0uNi0xLjQtLjktMi44LS45LTQuM2wwLTk5LjItMjQuNSAyNmMtMi4xIDIuMi00LjkgMi42LTcuOSAzLjYtMyAuMS01LjktMS4xLTguMS00LTIuMi0xLjItMy41LTQtMy41LTctLjEtMyAxLTUuOSAzLTguMWw0NC4xLTQ2LjZjMS4zLTIuMiA1LjEtMy40IDcuMy0zLjQgNCAwIDYuOSAxLjIgOS4xIDMuNGw0NCA0Ni42YzIuMSAyLjIgMy4yIDUuMSAzLjEgOC4xcy0xLjQgNS44LTMuNSA3Yy0yLjIgMi45LTUuMSA0LjEtOC4xIDQtMy0xLTUuOS0xLjQtNy45LTMuNmwtMjQuNS0yNS45IDAgODcuNWM1Ni40LTIuOCAxMDkuOC0yNS44IDE1MC41LTY1IDQwLjctNDAgNjUuOC05MS43IDcwLjctMTQ3LjkgNC44LTU3LjEtMTAuOC0xMTIuMy00NC4xLTE1Ny45LTMzLjMtNDUuNi04Mi03Ny41LTEzNy04OS45LTEuNS0uMy0yLjgtLjktNC4xLTEuOC0xLjItLjktMi4yLTEuOS0zLTMuMi0uOC0xLjItMi4yLTIuNi0xLjYtNC4xLS4yLTEuNS0uMi0zIC4xLTQuNCAuNC0xLjQgMS0yLjggMS44LTQgLjktMS4yIDItMi4yIDMuMi0zIDEuMy0uOCAyLjctMS4zIDQuMS0xLjYgMS41LS4zIDMtLjIgNC40IC4xem00MC44IDI0OS44YzAgMzEuNC0xNy41IDYxLjEtNDkuMyA4My41LTIuMSAxLjUtNC44IDIuMy03LjQgMi0yLjctLjItNS4yLTEuMy03LTMuMmwtNzAuMS02OS44Yy0yLjItMi4xLTQuMi01LTMuNC04IDAtMyAxLjItNS45IDMuMy04IDIuMi0yLjEgNS0zLjMgOC0zLjNzNS45IDEuMiA4IDMuM2w2My4xIDYyLjhjMjAuOC0xNy4xIDMyLjItMzcuOSAzMi4yLTU5LjMgMC0yMy45LTE0LjEtNDctMzkuNy02NS4xLTIuNS0xLjctNC4xLTQuMy00LjYtNy4zLS41LTIuOSAuMS02IDEuOS04LjQgMS43LTIuNSA0LjMtNC4xIDcuMy00LjYgMi45LS41IDYgLjEgOC40IDEuOSAzMS44IDIyLjQgNDkuMyA1Mi4xIDQ5LjMgODMuNXpNMjE2LjcgMzQxLjVjLTMgLjUtNi0uMi04LjUtMS45LTMxLjctMjIuNC01MC4xLTUyLjEtNTAuMS04My41czE4LjQtNjEuMSA1MC4xLTgzLjVjMi4yLTEuNiA0LjktMi4zIDcuNS0yLjEgMi43IC4zIDUuMSAxLjQgNyAzLjNsNzAuMSA2OS44YzIuMSAyLjEgMy4zIDUgMy4zIDhzLTIgNS44LTMuMyA4Yy0yLjEgMi4xLTUgMy4zLTcuOSAzLjMtMyAwLTYuOC0xLjItOC0zLjNsLTYzLjEtNjIuOWMtMjAuOSAxNy4zLTMyLjIgMzgtMzIuMiA1OS40IDAgMjMgMTQuMSA0NyAzOS43IDY1IDIuNCAxLjggNC4xIDQuNCA0LjYgNy40IC41IDIuOS0uMiA1LjktMS45IDguNC0xLjcgMi40LTQuNCA0LjEtNy4zIDQuNnoiXX0sZzV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtYnkiLGljb246WzUxMiw1MTIsW10sImY0ZTciLCJNMzIyLjkgMTk0LjRsMCAxMDEuNC0yOC4zIDAgMCAxMjAuNS03Ny4xIDAgMC0xMjAuNC0yOC4zIDAgMC0xMDEuNWMwLTQuNCAxLjYtOC4yIDQuNi0xMS4zIDMuMS0zLjEgNi45LTQuNyAxMS4zLTQuN2wxMDEuOSAwYzQuMSAwIDcuOCAxLjYgMTEuMSA0LjcgMy4xIDMuMiA0LjggNi45IDQuOCAxMS4zem0tMzIuNS02NC41YTM0LjUgMzQuNSAwIDEgMSAtNjkgLjggMzQuNSAzNC41IDAgMSAxIDY5LS44ek0yNTUuNiA4QzM5Ny40IDggNTA0IDExOC4xIDUwNCAyNTYgNTA0IDQwMy4xIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjYgNTA0IDggMzk0LjUgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6bS44IDQ0LjdjLTExOC4yIDAtMjAzLjcgOTcuOS0yMDMuNyAyMDMuMyAwIDEwOS44IDkxLjIgMjAyLjggMjAzLjcgMjAyLjggMTAzLjIgMCAyMDIuOC04MS4xIDIwMi44LTIwMi44IC4xLTExMy44LTkwLjItMjAzLjMtMjAyLjgtMjAzLjN6Il19LGI1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bWJyYWNvIixpY29uOls1MTIsNTEyLFtdLCJmOGU4IiwiTTI1Ni4zIDhhMjQ4IDI0OCAwIDEgMCAtLjcgNDk2IDI0OCAyNDggMCAxIDAgLjctNDk2em0xNDUgMjY2Yy0uOCAyNy4xLTUuNCA0OC44LTE0IDY1cy0yMy4xIDI3LjktNDMuNSAzNWMtMjAuNCA3LjEtNDguOSAxMC42LTg1LjQgMTAuNWwtNC42IDBjLTM2LjUgLjEtNjUtMy4zLTg1LjQtMTAuNXMtMzQuOS0xOC44LTQzLjUtMzVjLTguNi0xNi4yLTEzLjItMzcuOS0xNC02NS0uNy0xMC4yLS43LTIwLjUgMC0zMC43IC40LTE0LjcgMS42LTI5LjMgMy42LTQzLjkgMS45LTEzLjQgMy42LTIyLjYgNS40LTMyIDEtNC45IDEuMy02LjQgMS44LTguNCAuMy0xLjEgLjktMi4xIDEuOC0yLjhzMi0xLjEgMy4xLTEuMWwuNyAwIDMyIDVjMS4yIC4yIDIuMiAuOCAzIDEuN3MxLjIgMi4xIDEuMiAzLjNjMCAuMyAwIC41IDAgLjhsLTEuNyA4LjhjLTEuNiA4LjgtMy4yIDIwLjEtNC44IDMzLjctMS43IDE0LTIuNSAyOC4xLTIuNiA0Mi4yLS4yIDI3IDIuNSA0Ni45IDguMSA1OS44IDIuOCA2LjQgNy4yIDEyIDEyLjYgMTYuNHMxMS45IDcuNCAxOC43IDguOGMxOC44IDQgMzguMSA1LjcgNTcuMyA1LjFsMTAuMyAwYzE5LjIgLjYgMzguNS0xLjIgNTcuMy01LjIgNi44LTEuNCAxMy4yLTQuNSAxOC42LTguOHM5LjctMTAgMTIuNS0xNi40YzUuNy0xMi45IDguNC0zMi45IDguMS01OS44LS4xLTE0LjEtMS0yOC4yLTIuNi00Mi4xLTEuNy0xMy42LTMuMy0yNC44LTQuOS0zMy43bC0xLjctOC44YzAtLjMgMC0uNSAwLS44IDAtMS4yIC40LTIuNCAxLjItMy4zczEuOC0xLjUgMy0xLjdsMzItNSAuOCAwYzEuMSAwIDIuMiAuNCAzLjEgMS4xczEuNSAxLjcgMS44IDIuOGMuNiAyIC44IDMuNiAxLjggOC40IDEuOCA5LjYgMy41IDE4LjggNS40IDMyIDIgMTQuNiAzLjIgMjkuMiAzLjYgNDMuOSAuNyAxMC4yIC43IDIwLjUgMCAzMC43bDAgMHoiXX0sdjV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imhvb2xpIixpY29uOls2NDAsNTEyLFtdLCJmNDI3IiwiTTE0NC41IDM1MmwzOC4zIC44Yy0xMy4yLTQuNi0yNi0xMC4yLTM4LjMtMTYuOGwwIDE2em01Ny43LTUuM2wwIDUuMy0xOS40IC44YzM2LjUgMTIuNSA2OS45IDE0LjIgOTQuNyA3LjItMTkuOSAuMi00NS44LTIuNi03NS4zLTEzLjN6TTYxMS4xIDIzMS41YzE1LjkgMCAyOC45LTEyLjkgMjguOS0yOC45cy0xMi45LTI0LjUtMjguOS0yNC41Yy0xNS45IDAtMjguOSA4LjYtMjguOSAyNC41czEyLjkgMjguOSAyOC45IDI4Ljl6TTU4Mi4xIDM1Mmw1Ny45IDAgMC0xMTAuNS01Ny45IDAgMCAxMTAuNXptLTczLjcgMGw1Ny45IDAgMC0xOTUuMy01Ny45IDI3LjMgMCAxNjh6bS0zMS0xMTkuNGMtMTguMi0xOC4yLTUwLjQtMTcuMS01MC40LTE3LjFzLTMyLjMtMS4xLTUwLjQgMTcuMWMtMTguMiAxOC4yLTE2LjggMzMuOS0xNi44IDUyLjZzLTEuNCAzNC4zIDE2LjggNTIuNSA1MC40IDE3LjEgNTAuNCAxNy4xIDMyLjMgMS4xIDUwLjQtMTcuMWMxOC4yLTE4LjIgMTYuOC0zMy44IDE2LjgtNTIuNS0uMS0xOC44IDEuMy0zNC41LTE2LjgtNTIuNnptLTM5LjggNzEuOWMwIDMuNi0xLjggMTIuNS0xMC43IDEyLjVzLTEwLjctOC45LTEwLjctMTIuNWwwLTQwLjRjMC04LjcgNy4zLTEwLjkgMTAuNy0xMC45czEwLjcgMi4xIDEwLjcgMTAuOWwwIDQwLjR6TTMzMS40IDIzMi42Yy0xOC4yLTE4LjItNTAuNC0xNy4xLTUwLjQtMTcuMXMtMzIuMi0xLjEtNTAuNCAxNy4xYy0xLjkgMS45LTMuNyAzLjktNS4zIDYtMzguMi0yOS42LTcyLjUtNDYuNS0xMDIuMS02MS4xbDAtMjAuNy0yMi41IDEwLjZjLTU0LjQtMjIuMS04OS0xOC4yLTk3LjMgLjEgMCAwLTI0LjkgMzIuOCA2MS44IDExMC44bDAgNzMuNyA1Ny45IDAgMC0yOC42Yy02LjUtNC4yLTEzLTguNy0xOS40LTEzLjYtMTQuOC0xMS4yLTI3LjQtMjEuNi0zOC40LTMxLjRsMC0zMWMxMy4xIDE0LjcgMzAuNSAzMS40IDUzLjQgNTAuM2w0LjUgMy42IDAtMjkuOGMwLTYuOSAxLjctMTguMiAxMC44LTE4LjJzMTAuNiA2LjkgMTAuNiAxNWwwIDQ4LjdjMTggMTIuMiAzNy4zIDIyLjEgNTcuNyAyOS42bDAtOTMuOWMwLTE4LjctMTMuNC0zNy40LTQwLjYtMzcuNC0xNS44LS4xLTMwLjUgOC4yLTM4LjUgMjEuOWwwLTU0LjNjNDEuOSAyMC45IDgzLjkgNDYuNSA5OS45IDU4LjMtMTAuMiAxNC42LTkuMyAyOC4xLTkuMyA0My43IDAgMTguNy0xLjQgMzQuMyAxNi44IDUyLjVzNTAuNCAxNy4xIDUwLjQgMTcuMSAzMi4zIDEuMSA1MC40LTE3LjFjMTguMi0xOC4yIDE2LjctMzMuOCAxNi43LTUyLjUgMC0xOC41IDEuNS0zNC4yLTE2LjctNTIuM3pNNjUuMiAxODRsMCA2My4zYy00OC43LTU0LjUtMzguOS03Ni0zNS4yLTc5LjEgMTMuNS0xMS40IDM3LjUtOCA2NC40IDIuMUw2NS4yIDE4NHpNMjkxLjcgMzA0LjVjMCAzLjYtMS44IDEyLjUtMTAuNyAxMi41cy0xMC43LTguOS0xMC43LTEyLjVsMC00MC40YzAtOC43IDcuMy0xMC45IDEwLjctMTAuOXMxMC43IDIuMSAxMC43IDEwLjlsMCA0MC40eiJdfSxkb2U9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWdpdCIsaWNvbjpbNDQ4LDUxMixbImdpdC1zcXVhcmUiXSwiZjFkMiIsIk0xMjAuOCAzMzUuNWMtNS45LS40LTEyLjYtLjgtMjAuMi0xLjMtMy4zIDQuMS02LjYgOC40LTYuNiAxMy41IDAgMTguNSA2NS41IDE4LjUgNjUuNS0xLjUgMC04LjMtNy40LTguNy0zOC44LTEwLjdsLjEgMHptNy44LTExNy45Yy0zMi4zIDAtMzMuNyA0NC41LS43IDQ0LjUgMzIuNSAwIDMxLjctNDQuNSAuNy00NC41ek0zODQgMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NHpNMjQzLjkgMTcyLjJjLTE0LjUgMC0yMi45LTguNC0yMi45LTIyLjlzOC40LTIyLjMgMjIuOS0yMi4zYzE0LjcgMCAyMy4xIDcuOCAyMy4xIDIyLjNzLTguNCAyMi45LTIzLjEgMjIuOXpNMTQ5LjYgMTk1bDQ5LjUgMCAwIDIxLjYtMjMuNCAxLjhjNC42IDUuOCA5LjQgMTQgOS40IDI1LjcgMCA0OC43LTU3LjIgNDcuMi03NC4yIDQyLjRsLTguNCAxMy40YzUgLjMgOS44IC42IDE0LjMgLjggNTYuMyAzLjIgODAuNSA0LjYgODAuNSAzOC41IDAgMjkuMi0yNS43IDQ1LjctNjkuOSA0NS43LTQ2IDAtNjMuNS0xMS42LTYzLjUtMzEuNyAwLTExLjQgNS4xLTE3LjUgMTQtMjUuOS04LjQtMy41LTExLjItOS45LTExLjItMTYuOCAwLTkuNiA3LjQtMTYuMyAyMy0zMC42bC4yLS4yYy0xMi40LTYuMS0yMS44LTE5LjMtMjEuOC0zOC4xIDAtNTEuNiA1Ni42LTUzLjMgODEuNi00Ni44bC0uMSAuMnpNMjcwLjUgMzAzLjFsMTMgMS44IDAgMjAuMS03Mi40IDAgMC0yMC4xYzIuNy0uNCA1LS43IDYuOS0uOSA5LjktMS4yIDEwLjEtMS4zIDEwLjEtNmwwLTc0LjdjMC00LjQtLjktNC43LTEwLjEtNy44LTEuOS0uNy00LjItMS40LTYuOS0yLjRsMi44LTIwLjYgNTIuNiAwIDAgMTA1LjVjMCA0LjEgLjIgNC42IDQuMSA1LjFsLS4xIDB6bTEwNi42LTEwLjRMMzg0IDMxNWMtMTAuOSA1LjQtMjYuOSAxMC4yLTQxLjQgMTAuMi0zMC4yIDAtNDEuNy0xMi4yLTQxLjctNDAuOWwwLTY2LjZjMC0uOCAwLTEuNC0uMi0xLjgtLjgtMS4yLTQuMi0uNy0xOS42LS43bDAtMjIuNmMyMi4zLTIuNSAzMS4yLTEzLjcgMzQtNDEuNGwyNC4yIDBjMCAzMy4zLS42IDM4IC43IDM4LjYgLjMgLjEgLjcgMCAxLjMgMGwzNS44IDAgMCAyNS40LTM3LjggMCAwIDYxLjZjLS4yIDYuMy0uOSAzMC40IDM3LjkgMTUuOWwtLjEgMHoiXX0seDV0PWRvZSx5NXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib2Rub2tsYXNzbmlraSIsaWNvbjpbMzIwLDUxMixbXSwiZjI2MyIsIk0yNzUuMSAzMzRjLTI3LjQgMTcuNC02NS4xIDI0LjMtOTAgMjYuOWwyMC45IDIwLjYgNzYuMyA3Ni4zYzI3LjkgMjguNi0xNy41IDczLjMtNDUuNyA0NS43LTE5LjEtMTkuNC00Ny4xLTQ3LjQtNzYuMy03Ni42TDg0IDUwMy40Yy0yOC4yIDI3LjUtNzMuNi0xNy42LTQ1LjQtNDUuNyAxOS40LTE5LjQgNDcuMS00Ny40IDc2LjMtNzYuM2wyMC42LTIwLjZjLTI0LjYtMi42LTYyLjktOS4xLTkwLjYtMjYuOS0zMi42LTIxLTQ2LjktMzMuMy0zNC4zLTU5IDcuNC0xNC42IDI3LjctMjYuOSA1NC42LTUuNyAwIDAgMzYuMyAyOC45IDk0LjkgMjguOVMyNTUgMjY5LjIgMjU1IDI2OS4yYzI2LjktMjEuMSA0Ny4xLTguOSA1NC42IDUuNyAxMi40IDI1LjctMS45IDM4LTM0LjUgNTkuMXptMTQuNi0yMDQuN2ExMjkuNyAxMjkuNyAwIDEgMSAtMjU5LjQgLjQgMTI5LjcgMTI5LjcgMCAxIDEgMjU5LjQtLjR6bS0xOTMuNCAuNGE2My43IDYzLjcgMCAxIDAgMTI3LjQtLjQgNjMuNyA2My43IDAgMSAwIC0xMjcuNCAuNHoiXX0sdzV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRydXBhbCIsaWNvbjpbMzg0LDUxMixbXSwiZjFhOSIsIk0yNzIuMyAxMDguMUMyMzYuNSA3Mi41IDIwMi41IDM4LjQgMTkyLjQgMCAxODIuNCAzOC40IDE0OC4xIDcyLjUgMTEyLjQgMTA4LjEgNTguOCAxNjEuNy0xLjkgMjIyLjQtMS45IDMxMy40LTQuMyA0MjAuNyA4MC44IDUwOS42IDE4OC4xIDUxMnMxOTYuMi04Mi44IDE5OC41LTE5MC4xYy4xLTIuOCAuMS01LjYgMC04LjUgMC05MS4xLTYwLjgtMTUxLjctMTE0LjMtMjA1LjN6TTk4IDMzMS4xYy01LjkgNy41LTExIDE1LjYtMTUuMiAyNC4yLS4zIC43LS44IDEuMy0xLjMgMS44cy0xLjIgLjgtMiAxbC0xLjcgMGMtNC4zIDAtOS4yLTguNS05LjItOC41LTEuMy0yLTIuNS00LjItMy43LTYuNGwtLjgtMS44Yy0xMS4yLTI1LjctMS41LTYyLjMtMS41LTYyLjMgNC44LTE3LjggMTIuNy0zNC43IDIzLjItNDkuOSA2LjQtOS42IDEzLjUtMTguOSAyMS0yNy43bDkuMiA5LjIgNDMuNSA0NC40Yy44IC45IDEuMyAyLjEgMS4zIDMuM3MtLjUgMi40LTEuMyAzLjNMMTE0LjEgMzEyLjMgOTggMzMxLjF6bTk2LjYgMTI3LjNjLTEyLjktLjEtMjUuNi0zLjktMzYuNC0xMXMtMTkuNC0xNy4xLTI0LjYtMjguOS03LTI0LjktNS0zNy43IDcuNi0yNC43IDE2LjItMzQuNGMxNC4yLTE2LjkgMzEuNS0zMy41IDUwLjMtNTUuMyAyMi4zIDIzLjggMzYuOSA0MC4xIDUxLjIgNTggMS4xIDEuNCAyLjEgMi45IDMgNC40IDcuOCAxMS4xIDEyIDI0LjQgMTIgMzggMCA4LjgtMS43IDE3LjQtNSAyNS41cy04LjIgMTUuNS0xNC40IDIxLjctMTMuNSAxMS4xLTIxLjYgMTQuNS0xNi43IDUuMS0yNS41IDUuMWwtLjIgMHpNMzIwLjcgMzUxLjZjLS40IDEuNC0xLjIgMi42LTIuMyAzLjZzLTIuNCAxLjYtMy44IDEuOGwtMS4zIDBjLTIuNi0uOS00LjktMi43LTYuMy01LjEtMTEuNi0xNy41LTI0LjktMzMuOS0zOS41LTQ5bC0xNy44LTE4LjQtNTkuMS02MS4zYy0xMi40LTExLjUtMjQuMi0yMy42LTM1LjQtMzYuMy0uMy0uNS0uNi0uOS0uOS0xLjQtMi0yLjgtMy42LTUuOS00LjctOS4ybDAtMS44Yy0uOC01LS40LTEwLjEgMS4yLTE1czQuNC05LjIgOC0xMi43YzExLjQtMTEuNCAyMy0yMyAzMy44LTM0LjkgMTIgMTMuMyAyNC44IDI2IDM3LjQgMzguNiAyNS44IDI0IDQ5LjEgNTAuNSA2OS42IDc5LjEgMTcuMyAyNC41IDI2LjcgNTMuOCAyNyA4My44LS4xIDEyLjktMi4yIDI1LjgtNiAzOC4yeiJdfSxNNXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmxvZ2dlci1iIixpY29uOls0NDgsNTEyLFtdLCJmMzdkIiwiTTQ0Ni42IDIyMi43Yy0xLjgtOC02LjgtMTUuNC0xMi41LTE4LjUtMS44LTEtMTMtMi4yLTI1LTIuNy0yMC4xLS45LTIyLjMtMS4zLTI4LjctNS0xMC4xLTUuOS0xMi44LTEyLjMtMTIuOS0yOS41LS4xLTMzLTEzLjgtNjMuNy00MC45LTkxLjMtMTkuMy0xOS43LTQwLjktMzMtNjUuNS00MC41LTUuOS0xLjgtMTkuMS0yLjQtNjMuMy0yLjktNjkuNC0uOC04NC44IC42LTEwOC40IDEwLTQzLjUgMTcuMi03NC43IDUzLjgtODYuMSAxMDAuNi0yLjEgOC44LTIuNiAyMi45LTMuMSAxMDMuOS0uNiAxMDEuNSAuMSAxMTYuNCA2LjQgMTM2LjUgMTUuNiA0OS42IDU5LjkgODYuMyAxMDQuNCA5NC4zIDE0LjggMi43IDE5Ny4zIDMuMyAyMTYgLjggMzIuNS00LjQgNTgtMTcuNSA4MS45LTQxLjkgMTcuMy0xNy43IDI4LjEtMzYuOCAzNS4yLTYyLjEgNC45LTE3LjYgNC41LTE0Mi44IDIuNS0xNTEuN3pNMTI0LjUgMTU5LjFjNy44LTcuOSAxMC04LjIgNTguOC04LjIgNDMuOSAwIDQ1LjQgLjEgNTEuOCAzLjQgOS4zIDQuNyAxMy40IDExLjMgMTMuNCAyMS45IDAgOS41LTMuOCAxNi4yLTEyLjMgMjEuNi00LjYgMi45LTcuMyAzLjEtNTAuMyAzLjMtMjYuNSAuMi00Ny43LS40LTUwLjgtMS4yLTE2LjYtNC43LTIyLjgtMjguNS0xMC42LTQwLjh6TTMxNi4zIDM1OC45bC0xNC45IDIuNC03Ny41IC45Yy02OC4xIC44LTg3LjMtLjQtOTAuOS0yLTcuMS0zLjEtMTMuOC0xMS43LTE0LjktMTkuNC0xLjEtNy4zIDIuNi0xNy4zIDguMi0yMi40IDcuMS02LjQgMTAuMi02LjYgOTcuMy02LjcgODkuNi0uMSA4OS4xLS4xIDk3LjYgNy44IDEyLjEgMTEuMyA5LjUgMzEuMi00LjkgMzkuNHoiXX0sazV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImludmlzaW9uIixpY29uOls0NDgsNTEyLFtdLCJmN2IwIiwiTTQwNy40IDMyTDQwLjYgMzJDMTguMiAzMiAwIDUwLjIgMCA3Mi42TDAgNDM5LjRDMCA0NjEuOCAxOC4yIDQ4MCA0MC42IDQ4MGwzNjYuOCAwYzIyLjQgMCA0MC42LTE4LjIgNDAuNi00MC42bDAtMzY2LjhDNDQ4IDUwLjIgNDI5LjggMzIgNDA3LjQgMzJ6TTE3Ni4xIDE0NS42Yy40IDIzLjQtMjIuNCAyNy4zLTI2LjYgMjcuNC0xNC45IDAtMjcuMS0xMi0yNy4xLTI3IC4xLTM1LjIgNTMuMS0zNS41IDUzLjctLjR6TTMzMi44IDM3N2MtNjUuNiAwLTM0LjEtNzQtMjUtMTA2LjYgMTQuMS00Ni40LTQ1LjItNTktNTkuOSAuN2wtMjUuOCAxMDMuMy00NS4xIDAgOC4xLTMyLjVjLTMxLjUgNTEuOC05NC42IDQ0LjQtOTQuNi00LjMgLjEtMTQuMyAuOS0xNCAyMy0xMDQuMWwtMzEuOCAwIDkuNy0zNS42IDc2LjQgMGMtMzMuNiAxMzMuNy0zMi42IDEyNi45LTMyLjkgMTM4LjIgMCAyMC45IDQwLjkgMTMuNSA1Ny40LTIzLjJsMTkuOC03OS40LTMyLjMgMCA5LjctMzUuNiA2OC44IDAtOC45IDQwLjVjNDAuNS03NS41IDEyNy45LTQ3LjggMTAxLjggMzgtMTQuMiA1MS4xLTE0LjYgNTAuNy0xNC45IDU4LjggMCAxNS41IDE3LjUgMjIuNiAzMS44LTE2LjlMMzg2IDMyNWMtMTAuNSAzNi43LTI5LjQgNTItNTMuMiA1MnoiXX0sejV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZhY2Vib29rLWYiLGljb246WzMyMCw1MTIsW10sImYzOWUiLCJNODAgMjk5LjNsMCAyMTIuNyAxMTYgMCAwLTIxMi43IDg2LjUgMCAxOC05Ny44LTEwNC41IDAgMC0zNC42YzAtNTEuNyAyMC4zLTcxLjUgNzIuNy03MS41IDE2LjMgMCAyOS40IC40IDM3IDEuMmwwLTg4LjdDMjkxLjQgNCAyNTYuNCAwIDIzNi4yIDAgMTI5LjMgMCA4MCA1MC41IDgwIDE1OS40bDAgNDIuMS02NiAwIDAgOTcuOCA2NiAweiJdfSxTNXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2VudG9zIixpY29uOls0NDgsNTEyLFtdLCJmNzg5IiwiTTI4OS42IDk3LjVsMzEuNiAzMS43LTc2LjMgNzYuNSAwLTEwOC4yIDQ0LjcgMHpNMTI3LjIgMTI5LjJsNzYuMyA3Ni41IDAtMTA4LjItNDQuNyAwLTMxLjYgMzEuN3ptNDEuNS00MS42bDQ0LjcgMCAwIDEyNy45IDEwLjggMTAuOCAxMC44LTEwLjggMC0xMjcuOSA0NC43IDAtNTUuNS01NS42LTU1LjUgNTUuNnptMjYuMiAxNjguMWwtMTAuOC0xMC44LTEyOC42IDAgMC00NC44LTU1LjUgNTUuNiA1NS41IDU1LjYgMC00NC44IDEyOC42IDAgMTAuOC0xMC44ek0yNzQuMiAyMzVsMTA3LjkgMCAwLTQ0LjgtMzEuNi0zMS43LTc2LjMgNzYuNXptMTczLjMgMjAuN2wtNTUuNS01NS42IDAgNDQuOC0xMjcuNyAwLTEwLjggMTAuOCAxMC44IDEwLjggMTI3LjcgMCAwIDQ0LjggNTUuNS01NS42ek02NS40IDE3Ni4ybDMyLjUtMzEuNyA5MC4zIDkwLjUgMTUuMyAwIDAtMTUuMy05MC4zLTkwLjUgMzEuNi0zMS43LTc5LjQgMCAwIDc4Ljd6TTM4Mi4xIDk3LjVsLTc4LjUgMCAzMS42IDMxLjctOTAuMyA5MC41IDAgMTUuMyAxNS4zIDAgOTAuMy05MC41IDMxLjYgMzEuNyAwLTc4Ljd6TTIwMy41IDQxMy45bDAtMTA4LjEtNzYuMyA3Ni41IDMxLjYgMzEuNyA0NC43IDAgMC0uMXpNNjUuNCAyMzVsMTA4LjggMC03Ni4zLTc2LjUtMzIuNSAzMS43IDAgNDQuOHpNMzgyLjEgMzM1LjJsLTMxLjYgMzEuNy05MC4zLTkwLjUtMTUuMyAwIDAgMTUuMyA5MC4zIDkwLjUtMzEuNiAzMS43IDc4LjUgMCAwLTc4Ljd6bTAtNTguOGwtMTA3LjkgMCA3Ni4zIDc2LjUgMzEuNi0zMS43IDAtNDQuOHpNMzIxLjIgMzgyLjJsLTc2LjMtNzYuNSAwIDEwOC4xIDQ0LjcgMCAzMS42LTMxLjZ6TTk3LjkgMzUyLjlsNzYuMy03Ni41LTEwOC44IDAgMCA0NC44IDMyLjUgMzEuN3ptMTgxLjggNzAuOWwtNDQuNyAwIDAtMTI3LjktMTAuOC0xMC44LTEwLjggMTAuOCAwIDEyNy45LTQ0LjcgMCA1NS41IDU1LjYgNTUuNS01NS42ek0xMTMuMiAzODIuMmw5MC4zLTkwLjUgMC0xNS4zLTE1LjMgMC05MC4zIDkwLjUtMzIuNS0zMS43IDAgNzguNyA3OS40IDAtMzEuNi0zMS43eiJdfSxDNXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2NhbGV3YXkiLGljb246WzQ0OCw1MTIsW10sImU4NTkiLCJNMjQzLjQgMTE3LjNsLTg0LjMgMGMtMTguNSAyLjEtMzIuNyAxNy41LTMzLjQgMzZsMCAxMjEuOWMwIDguMiAzLjIgMTUuMyA4LjUgMjAuN3MxMi41IDguNiAyMC42IDguNmMxNiAwIDI5LjItMTMuMiAyOS4yLTI5LjJsMC03Ny40YzAtMTIuMSAxMC0yMi4xIDIyLjEtMjIuMWwzOC4xIDBjOC4yIDAgMTUuMy0zLjIgMjAuNi04LjZzOC41LTEyLjggOC41LTIxYzAtMTYtMTMuOS0yOC45LTI5LjktMjguOXpNMjA1LjMgMzk1LjRsODQuMyAwYzE4LjUtMi4xIDMyLjctMTcuNSAzMy40LTM2bDAtMTIxLjljMC04LjItMy4yLTE1LjMtOC41LTIwLjdzLTEyLjUtOC42LTIwLjYtOC42Yy0xNiAwLTI5LjIgMTMuMi0yOS4yIDI5LjJsMCA3Ny40YzAgMTIuMS0xMCAyMi4xLTIyLjEgMjIuMWwtMzguMSAwYy04LjIgMC0xNS4zIDMuMi0yMC42IDguNnMtOC41IDEyLjgtOC41IDIxYy40IDE2IDEzLjkgMjguOSAyOS45IDI4Ljl6TTEwNC4zIDBMMjU3LjYgMGMxMDEgMCAxODIuNSA4MS42IDE4Mi4xIDE4Mi45bDAgMjQyLjhjLTQuNiA0Ni00MiA4Mi40LTg4LjIgODYuM0wxOTAgNTEyQzg5LjMgNTEyIDcuNSA0MzAgNy41IDMyOS4xTDcuNSA5N2MwLTUzLjUgNDMuNC05NyA5Ni44LTk3ek0zODEuNyAxODIuOWMwLTY4LjUtNTUuOS0xMjQuNC0xMjQuMi0xMjQuNGwtMTUzIDBDODMuMyA1OC41IDY2LjIgNzUuNiA2Ni4yIDk3bDAgMjMyLjFjMCA2OC44IDU1LjUgMTI0LjQgMTI0LjIgMTI0LjRsMTU4LjcgMGMxNi43LTIuMSAyOS45LTE1IDMyLjctMzEuNGwwLTIzOS4yeiJdfSxfNXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2MtYW1hem9uLXBheSIsaWNvbjpbNTc2LDUxMixbXSwiZjQyZCIsIk0xMjQuNyAyMDEuOGMuMS0xMS44IDAtMjMuNSAwLTM1LjNsMC0zNS4zYzAtMS4zIC40LTIgMS40LTIuNyAxMS41LTggMjQuMS0xMi4xIDM4LjItMTEuMSAxMi41IC45IDIyLjcgNyAyOC4xIDIxLjcgMy4zIDguOSA0LjEgMTguMiA0LjEgMjcuNyAwIDguNy0uNyAxNy4zLTMuNCAyNS42LTUuNyAxNy44LTE4LjcgMjQuNy0zNS43IDIzLjktMTEuNy0uNS0yMS45LTUtMzEuNC0xMS43LS45LS44LTEuNC0xLjYtMS4zLTIuOHptMTU0LjkgMTQuNmM0LjYgMS44IDkuMyAyIDE0LjEgMS41IDExLjYtMS4yIDIxLjktNS43IDMxLjMtMTIuNSAuOS0uNiAxLjMtMS4zIDEuMy0yLjUtLjEtMy45IDAtNy45IDAtMTEuOCAwLTQtLjEtOCAwLTEyIDAtMS40LS40LTItMS44LTIuMi03LS45LTEzLjktMi4yLTIwLjktMi45LTctLjYtMTQtLjMtMjAuOCAxLjktNi43IDIuMi0xMS43IDYuMi0xMy43IDEzLjEtMS42IDUuNC0xLjYgMTAuOCAuMSAxNi4yIDEuNiA1LjUgNS4yIDkuMiAxMC40IDExLjJ6TTU3NiA4MGwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsNDgwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDh6TTM2OC41IDEwMy45Yy40IDEuNyAuOSAzLjQgMS42IDUuMSAxNi41IDQwLjYgMzIuOSA4MS4zIDQ5LjUgMTIxLjkgMS40IDMuNSAxLjcgNi40IC4yIDkuOS0yLjggNi4yLTQuOSAxMi42LTcuOCAxOC43LTIuNiA1LjUtNi43IDkuNS0xMi43IDExLjItNC4yIDEuMS04LjUgMS4zLTEyLjkgLjktMi4xLS4yLTQuMi0uNy02LjMtLjgtMi44LS4yLTQuMiAxLjEtNC4zIDQtLjEgMi44LS4xIDUuNiAwIDguMyAuMSA0LjYgMS42IDYuNyA2LjIgNy41IDQuNyAuOCA5LjQgMS42IDE0LjIgMS43IDE0LjMgLjMgMjUuNy01LjQgMzMuMS0xNy45IDIuOS00LjkgNS42LTEwLjEgNy43LTE1LjQgMTkuOC01MC4xIDM5LjUtMTAwLjMgNTkuMi0xNTAuNSAuNi0xLjUgMS4xLTMgMS4zLTQuNiAuNC0yLjQtLjctMy42LTMuMS0zLjctNS42LS4xLTExLjEgMC0xNi43IDAtMy4xIDAtNS4zIDEuNC02LjQgNC4zLS40IDEuMS0uOSAyLjMtMS4zIDMuNGwtMjkuMSA4My43Yy0yLjEgNi4xLTQuMiAxMi4xLTYuNSAxOC42LS40LS45LS42LTEuNC0uOC0xLjktMTAuOC0yOS45LTIxLjYtNTkuOS0zMi40LTg5LjgtMS43LTQuNy0zLjUtOS41LTUuMy0xNC4yLS45LTIuNS0yLjctNC01LjQtNC02LjQtLjEtMTIuOC0uMi0xOS4yLS4xLTIuMiAwLTMuMyAxLjYtMi44IDMuN3pNMjQyLjQgMjA2YzEuNyAxMS43IDcuNiAyMC44IDE4IDI2LjYgOS45IDUuNSAyMC43IDYuMiAzMS43IDQuNiAxMi43LTEuOSAyMy45LTcuMyAzMy44LTE1LjUgLjQtLjMgLjgtLjYgMS40LTEgLjUgMy4yIC45IDYuMiAxLjUgOS4yIC41IDIuNiAyLjEgNC4zIDQuNSA0LjQgNC42IC4xIDkuMSAuMSAxMy43IDAgMi4zLS4xIDMuOC0xLjYgNC0zLjkgLjEtLjggLjEtMS42IC4xLTIuM2wwLTg4LjhjMC0zLjYtLjItNy4yLS43LTEwLjgtMS42LTEwLjgtNi4yLTE5LjctMTUuOS0yNS40LTUuNi0zLjMtMTEuOC01LTE4LjItNS45LTMtLjQtNi0uNy05LjEtMS4xbC0xMCAwYy0uOCAuMS0xLjYgLjMtMi41IC4zLTguMiAuNC0xNi4zIDEuNC0yNC4yIDMuNS01LjEgMS4zLTEwIDMuMi0xNSA0LjktMyAxLTQuNSAzLjItNC40IDYuNSAuMSAyLjgtLjEgNS42IDAgOC4zIC4xIDQuMSAxLjggNS4yIDUuNyA0LjEgNi41LTEuNyAxMy4xLTMuNSAxOS43LTQuOCAxMC4zLTEuOSAyMC43LTIuNyAzMS4xLTEuMiA1LjQgLjggMTAuNSAyLjQgMTQuMSA3IDMuMSA0IDQuMiA4LjggNC40IDEzLjcgLjMgNi45IC4yIDEzLjkgLjMgMjAuOCAwIC40LS4xIC43LS4yIDEuMi0uNCAwLS44IDAtMS4xLS4xLTguOC0yLjEtMTcuNy0zLjYtMjYuOC00LjEtOS41LS41LTE4LjkgLjEtMjcuOSAzLjItMTAuOCAzLjgtMTkuNSAxMC4zLTI0LjYgMjAuOC00LjEgOC4zLTQuNiAxNy0zLjQgMjUuOHpNOTguNyAxMDYuOWwwIDE3NS4zYzAgLjggMCAxLjcgLjEgMi41IC4yIDIuNSAxLjcgNC4xIDQuMSA0LjIgNS45IC4xIDExLjggLjEgMTcuNyAwIDIuNSAwIDQtMS43IDQuMS00LjEgLjEtLjggLjEtMS43IC4xLTIuNWwwLTYwLjdjLjkgLjcgMS40IDEuMiAxLjkgMS42IDE1IDEyLjUgMzIuMiAxNi42IDUxLjEgMTIuOSAxNy4xLTMuNCAyOC45LTEzLjkgMzYuNy0yOS4yIDUuOC0xMS42IDguMy0yNC4xIDguNy0zNyAuNS0xNC4zLTEtMjguNC02LjgtNDEuNy03LjEtMTYuNC0xOC45LTI3LjMtMzYuNy0zMC45LTIuNy0uNi01LjUtLjgtOC4yLTEuMmwtNyAwYy0xLjIgLjItMi40IC4zLTMuNiAuNS0xMS43IDEuNC0yMi4zIDUuOC0zMS44IDEyLjctMiAxLjQtMy45IDMtNS45IDQuNS0uMS0uNS0uMy0uOC0uNC0xLjItLjQtMi4zLS43LTQuNi0xLjEtNi45LS42LTMuOS0yLjUtNS41LTYuNC01LjZsLTkuNyAwYy01LjktLjEtNi45IDEtNi45IDYuOHpNNDkzLjYgMzM5Yy0yLjctLjctNS4xIDAtNy42IDEtNDMuOSAxOC40LTg5LjUgMzAuMi0xMzYuOCAzNS44LTE0LjUgMS43LTI5LjEgMi44LTQzLjcgMy4yLTI2LjYgLjctNTMuMi0uOC03OS42LTQuMy0xNy44LTIuNC0zNS41LTUuNy01My05LjktMzctOC45LTcyLjctMjEuNy0xMDYuNy0zOC44LTguOC00LjQtMTcuNC05LjMtMjYuMS0xNC0zLjgtMi4xLTYuMi0xLjUtOC4yIDIuMWwwIDEuN2MxLjIgMS42IDIuMiAzLjQgMy43IDQuOCAzNiAzMi4yIDc2LjYgNTYuNSAxMjIgNzIuOSAyMS45IDcuOSA0NC40IDEzLjcgNjcuMyAxNy41IDE0IDIuMyAyOCAzLjggNDIuMiA0LjUgMyAuMSA2IC4yIDkgLjQgLjcgMCAxLjQgLjIgMi4xIC4zbDE3LjcgMGMuNy0uMSAxLjQtLjMgMi4xLS4zIDE0LjktLjQgMjkuOC0xLjggNDQuNi00IDIxLjQtMy4yIDQyLjQtOC4xIDYyLjktMTQuNyAyOS42LTkuNiA1Ny43LTIyLjQgODMuNC00MC4xIDIuOC0xLjkgNS43LTMuOCA4LTYuMiA0LjMtNC40IDIuMy0xMC40LTMuMy0xMS45ek01NDQgMzExLjNjLS44LTQuMi00LTUuOC03LjYtNy01LjctMS45LTExLjYtMi44LTE3LjYtMy4zLTExLS45LTIyLS40LTMyLjggMS42LTEyIDIuMi0yMy40IDYuMS0zMy41IDEzLjEtMS4yIC44LTIuNCAxLjgtMy4xIDMtLjYgLjktLjcgMi4zLS41IDMuNCAuMyAxLjMgMS43IDEuNiAzIDEuNSAuNiAwIDEuMiAwIDEuOC0uMWwxOS41LTIuMWM5LjYtLjkgMTkuMi0xLjUgMjguOC0uOCA0LjEgLjMgOC4xIDEuMiAxMiAyLjIgNC4zIDEuMSA2LjIgNC40IDYuNCA4LjcgLjMgNi43LTEuMiAxMy4xLTIuOSAxOS41LTMuNSAxMi45LTguMyAyNS40LTEzLjMgMzcuOC0uMyAuOC0uNyAxLjctLjggMi41LS40IDIuNSAxIDQgMy40IDMuNSAxLjQtLjMgMy0xLjEgNC0yLjEgMy43LTMuNiA3LjUtNy4yIDEwLjYtMTEuMiAxMC43LTEzLjggMTctMjkuNiAyMC43LTQ2LjYgLjctMyAxLjItNi4xIDEuNy05LjEgLjItNC43IC4yLTkuNiAuMi0xNC41eiJdfSxUNXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZWJheSIsaWNvbjpbNjQwLDUxMixbXSwiZjRmNCIsIk02MDYuNSAxODkuNWwtNTQuOCAxMDkuOS01NC45LTEwOS45LTM3LjUgMCAxMC45IDIwLjZjLTExLjUtMTktMzUuOS0yNi02My4zLTI2LTMxLjggMC02Ny45IDguNy03MS41IDQzLjFsMzMuNyAwYzEuNC0xMy44IDE1LjctMjEuOCAzNS0yMS44IDI2IDAgNDEgOS42IDQxIDMzbDAgMy40Yy0xMi43IDAtMjggLjEtNDEuNyAuNC00Mi40IC45LTY5LjYgMTAtNzYuNyAzNC40IDEtNS4yIDEuNS0xMC42IDEuNS0xNi4yIDAtNTIuMS0zOS43LTc2LjItNzUuNC03Ni4yLTIxLjMgMC00MyA1LjUtNTguNyAyNC4ybDAtODAuNi0zMi4xIDAgMCAxNjkuNWMwIDEwLjMtLjYgMjIuOS0xLjEgMzMuMWwzMS41IDBjLjctNi4zIDEuMS0xMi45IDEuMS0xOS41IDEzLjYgMTYuNiAzNS40IDI0LjkgNTguNyAyNC45IDM2LjkgMCA2NC45LTIxLjkgNzMuMy01NC4yLS41IDIuOC0uNyA1LjgtLjcgOSAwIDI0LjEgMjEuMSA0NSA2MC42IDQ1IDI2LjYgMCA0NS44LTUuNyA2MS45LTI1LjUgMCA2LjYgLjMgMTMuMyAxLjEgMjAuMmwyOS44IDBjLS43LTguMi0xLTE3LjUtMS0yNi44bDAtNjUuNmMwLTkuMy0xLjctMTcuMi00LjgtMjMuOGw2MS41IDExNi4xLTI4LjUgNTQuMSAzNS45IDAgOTkuMi0xOTQuOC0zNCAwek0yNDQuMiAzMTMuOGMtMjkuNiAwLTUwLjItMjEuNS01MC4yLTUzLjggMC0zMi40IDIwLjYtNTMuOCA1MC4yLTUzLjggMjkuOCAwIDUwLjIgMjEuNCA1MC4yIDUzLjggMCAzMi4zLTIwLjQgNTMuOC01MC4yIDUzLjh6bTIwMC45LTQ3LjNjMCAzMC0xNy45IDQ4LjQtNTEuNiA0OC40LTI1LjEgMC0zNS0xMy40LTM1LTI1LjggMC0xOS4xIDE4LjEtMjQuNCA0Ny4yLTI1LjMgMTMuMS0uNSAyNy42LS42IDM5LjQtLjZsMCAzLjN6TTMzLjIgMjY4LjFsMTI4LjggMCAwLTguNWMwLTUxLjctMzMuMS03NS40LTc4LjQtNzUuNC01Ni44IDAtODMgMzAuOC04MyA3Ny42IDAgNDIuNSAyNS4zIDc0IDgyLjUgNzQgMzEuNCAwIDY4LTExLjcgNzQuNC00Ni4xbC0zMy4xIDBjLTEyIDM1LjgtODcuNyAzNi43LTkxLjItMjEuNnptOTUtMjEuNGwtOTQuNCAwYzYuOS01Ni42IDkyLjEtNTQuNyA5NC40IDB6Il19LEw1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjb250YW8iLGljb246WzUxMiw1MTIsW10sImYyNmQiLCJNNDUuNCAzMDVjMTQuNCA2Ny4xIDI2LjQgMTI5IDY4LjIgMTc1TDM0IDQ4MGMtMTguNyAwLTM0LTE1LjItMzQtMzRMMCA2NkMwIDQ3LjMgMTUuMiAzMiAzNCAzMmw1Ny43IDBjLTEzLjggMTIuNi0yNi4xIDI3LjItMzYuOSA0My42LTQ1LjQgNzAtMjcgMTQ2LjgtOS40IDIyOS40ek00NzggMzJsLTkwLjIgMGMyMS40IDIxLjQgMzkuMiA0OS41IDUyLjcgODQuMUwzMDMuNCAxNDUuNGMtMTQuOS0yOS0zNy44LTUzLjMtODIuNi00My45LTI0LjYgNS4zLTQxIDE5LjMtNDguMyAzNC42LTguOCAxOC43LTEzLjIgMzkuOCA4LjIgMTQwLjMgMjEuMSAxMDAuMiAzMy43IDExNy43IDQ5LjUgMTMxLjIgMTIuOSAxMS4xIDMzLjQgMTcgNTguMyAxMS43IDQ0LjUtOS40IDU1LjctNDAuNyA1Ny40LTczLjJsMTM3LjQtMjkuNmMzLjIgNzEuNS0xOC43IDEyNS4yLTU3LjQgMTYzLjZsNTIuMSAwYzE4LjcgMCAzNC0xNS4yIDM0LTM0TDUxMiA2NmMwLTE4LjgtMTUuMi0zNC0zNC0zNHoiXX0sJDV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVsbG8iLGljb246WzUxMiw1MTIsW10sImY1ZjEiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek0zOTkuOCAyOTMuMkMzODMuMyAzNTguNSAzMjMuOCA0MDQuOCAyNTYgNDA0LjhTMTI4LjcgMzU4LjUgMTEyLjIgMjkzLjJjLTEuNi03LjQgMi41LTE1LjcgOS45LTE3LjRzMTUuNyAyLjUgMTcuNCA5LjljMTQgNTIuOSA2MiA5MC4xIDExNi42IDkwLjFzMTAyLjUtMzcuMiAxMTYuNi05MC4xYzEuNy03LjQgOS45LTEyLjQgMTcuNC05LjkgNy40IDEuNyAxMi40IDkuOSA5LjkgMTcuNHoiXX0sRDV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNpc3RyaXgiLGljb246WzQ0OCw1MTIsW10sImYzZWUiLCJNNDQ4IDQ0OUwzMDEuMiAzMDAuMmMyMC0yNy45IDMxLjktNjIuMiAzMS45LTk5LjIgMC05My4xLTc0LjctMTY4LjktMTY2LjUtMTY4LjktOTEuOS0uMS0xNjYuNiA3NS43LTE2Ni42IDE2OC44Uzc0LjcgMzY5LjggMTY2LjUgMzY5LjhjMzkuOCAwIDc2LjMtMTQuMiAxMDUtMzcuOUw0MTcuNSA0ODAgNDQ4IDQ0OXpNMTY2LjUgMzMwLjhjLTcwLjYgMC0xMjguMS01OC4zLTEyOC4xLTEyOS45Uzk1LjkgNzEgMTY2LjUgNzEgMjk0LjYgMTI5LjMgMjk0LjYgMjAwLjkgMjM3LjIgMzMwLjggMTY2LjUgMzMwLjh6Il19LEE1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwZXJpc2NvcGUiLGljb246WzQ0OCw1MTIsW10sImYzZGEiLCJNMzcwIDYzLjZjLTM4LjYtNDEtODkuNS02My42LTE0My40LTYzLjYtMTE0LjcgMC0yMDguMSA5Ni4yLTIwOC4xIDIxNC40IDAgNzUuMSA1Ny44IDE1OS44IDgyLjcgMTkyLjcgMzYuNiA0OC40IDkxLjQgMTA0LjkgMTI1LjQgMTA0LjkgNDEuNiAwIDExMi45LTk0LjIgMTIwLjktMTA1IDI0LjYtMzMuMSA4Mi0xMTguMyA4Mi0xOTIuNiAwLTU2LjUtMjEuMS0xMTAuMS01OS41LTE1MC44ek0yMjYuNiA0OTMuOWMtNDIuNSAwLTE5MC0xNjcuMy0xOTAtMjc5LjQgMC0xMDcuNCA4My45LTE5Ni4zIDE5MC0xOTYuMyAxMDAuOCAwIDE4NC43IDg5IDE4NC43IDE5Ni4zIC4xIDExMi4xLTE0Ny40IDI3OS40LTE4NC43IDI3OS40ek0zMzggMjA2LjhjMCA1OS4xLTUxLjEgMTA5LjctMTEwLjggMTA5LjctMTAwLjYgMC0xNTAuNy0xMDguMi05Mi45LTE4MS44bDAgLjRjMCAyNC41IDIwLjEgNDQuNCA0NC44IDQ0LjRzNDQuOC0xOS45IDQ0LjgtNDQuNGMwLTE4LjItMTEuMS0zMy44LTI2LjktNDAuNyA3Ni42LTE5LjIgMTQxIDM5LjMgMTQxIDExMi40eiJdfSxQNXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZXhwZWRpdGVkc3NsIixpY29uOls1MTIsNTEyLFtdLCJmMjNlIiwiTTI1NiA0My40YTIxMi42IDIxMi42IDAgMSAwIDAgNDI1LjIgMjEyLjYgMjEyLjYgMCAxIDAgMC00MjUuMnpNMTU4LjYgMTc2LjNjMC01My43IDQzLjctOTcuNCA5Ny40LTk3LjRzOTcuNCA0My43IDk3LjQgOTcuNGwwIDI2LjZjMCA1LTMuOSA4LjktOC45IDguOWwtMTcuNyAwYy01IDAtOC45LTMuOS04LjktOC45bDAtMjYuNmMwLTgyLjEtMTI0LTgyLjEtMTI0IDBsMCAyNi42YzAgNS0zLjkgOC45LTguOSA4LjlsLTE3LjcgMGMtNSAwLTguOS0zLjktOC45LTguOWwwLTI2LjYgLjIgMHpNMzk3LjcgMzgwYzAgOS43LTggMTcuNy0xNy43IDE3LjdsLTI0OCAwYy05LjcgMC0xNy43LTgtMTcuNy0xNy43bDAtMTQxLjdjMC05LjcgOC0xNy43IDE3LjctMTcuN2wyNDggMGM5LjcgMCAxNy43IDggMTcuNyAxNy43bDAgMTQxLjd6bS0yNDgtMTM3LjNsMCAxMzIuOWMwIDIuNS0xLjkgNC40LTQuNCA0LjRsLTguOSAwYy0yLjUgMC00LjQtMS45LTQuNC00LjRsMC0xMzIuOWMwLTIuNSAxLjktNC40IDQuNC00LjRsOC45IDBjMi41IDAgNC40IDEuOSA0LjQgNC40em0xNDEuNyA0OC43YzAgMTMtNy4yIDI0LjQtMTcuNyAzMC40bDAgMzEuNmMwIDUtMy45IDguOS04LjkgOC45bC0xNy43IDBjLTUgMC04LjktMy45LTguOS04LjlsMC0zMS42Yy0xMC41LTYuMS0xNy43LTE3LjQtMTcuNy0zMC40IDAtMTkuNyAxNS44LTM1LjQgMzUuNC0zNS40czM1LjUgMTUuOCAzNS41IDM1LjR6TTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnptMCAxNy43YTIzMC4zIDIzMC4zIDAgMSAxIDAgNDYwLjYgMjMwLjMgMjMwLjMgMCAxIDEgMC00NjAuNnoiXX0sRTV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5hcHN0ZXIiLGljb246WzUxMiw1MTIsW10sImYzZDIiLCJNMzA2LjMgMzczLjZjLTE0LjIgMTMuNi0zMS4zIDI0LjEtNTAuNCAzMC41LTE5LTYuNC0zNi4yLTE2LjktNTAuMy0zMC41bDEwMC43IDB6bTQ0LTE5OS42YzIwLTE2LjkgNDMuNi0yOS4yIDY5LjYtMzYuMmwwIDE2MS4yYzAgMjE5LjQtMzI4IDIxNy42LTMyOCAuM2wwLTE2MS42YzI1LjkgNi45IDQ5LjYgMTkuNiA2OS41IDM2LjQgNTYuOC00MCAxMzIuNS0zOS45IDE4OC45LS4xek0xNDEuNSAxMTUuNWM2NC40LTYwIDE2NC4zLTYwLjEgMjI4LjktLjItNy4xIDMuNS0xMy45IDcuMy0yMC42IDExLjUtNTguNy0zMC41LTEyOS4yLTMwLjQtMTg3LjkgLjEtNi4zLTQtMTMuOS04LjItMjAuNC0xMS40ek01MS44IDkzLjJsMCA2OS4zYy01OC40IDM2LjUtNTguNCAxMjEuMSAuMSAxNTguMyAyNi40IDI0NS4xIDM4MS43IDI0MC4zIDQwNy42IDEuNWwuMy0xLjdjNTguNy0zNi4zIDU4LjktMTIxLjcgLjItMTU4LjJsMC02OS4yYy0xNy4zIC41LTM0IDMtNTAuMSA3LjQtODItOTEuNS0yMjUuNS05MS41LTMwNy41IC4xLTE2LjMtNC40LTMzLjEtNy01MC42LTcuNXpNMjY3LjIgMzUyczM2LS4zIDYxLjMtMS41YzEwLjItLjUgMjEuMS00IDI1LjUtNi41IDI2LjMtMTUuMSAyNS40LTM5LjIgMjYuMi00Ny40LTc5LjUtLjYtOTkuOS0zLjktMTEzIDU1LjR6TTEzMS43IDI5Ni43Yy44IDguMi0uMSAzMi4zIDI2LjIgNDcuNCA0LjQgMi41IDE1LjIgNiAyNS41IDYuNSAyNS4zIDEuMSA2MS4zIDEuNSA2MS4zIDEuNS0xMy4yLTU5LjQtMzMuNy01Ni4xLTExMy01NS40ek0zMDAuOCA0MjAuMWMtMy4yLTUuMy02LjktNy4zLTYuOS03LjMtMjQuOCA3LjMtNTIuMiA2LjktNzUuOSAwIDAgMC0yLjkgMS41LTYuNCA2LjYtMi44IDQuMS0zLjcgOS42LTMuNyA5LjYgMjkuMSAxNy42IDY3LjEgMTcuNiA5Ni4yIDAtLjEtLjEtLjMtNC0zLjMtOC45eiJdfSxJNXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGVsaWNpb3VzIixpY29uOls0NDgsNTEyLFtdLCJmMWE1IiwiTTQ0Ni42IDY4Yy0uNC0xLjUtLjktMy0xLjQtNC41LS45LTIuNS0yLTQuOC0zLjMtNy4xLTEuNC0yLjQtMy00LjgtNC43LTYuOS0yLjEtMi41LTQuNC00LjgtNi45LTYuOC0xLjEtLjktMi4yLTEuNy0zLjMtMi41LTEuMy0uOS0yLjYtMS43LTQtMi40LTEuOC0xLTMuNi0xLjgtNS41LTIuNS0xLjctLjctMy41LTEuMy01LjQtMS43LTMuOC0xLTcuOS0xLjUtMTItMS41bC0zNTIgMEMyMS42IDMyIC4xIDUzLjUgLjEgODBsMCAzNTJjMCA0LjEgLjUgOC4yIDEuNSAxMiAyIDcuNyA1LjggMTQuNiAxMSAyMC4zIDEgMS4xIDIuMSAyLjIgMy4zIDMuMyA1LjcgNS4yIDEyLjYgOSAyMC4zIDExIDMuOCAxIDcuOSAxLjUgMTIgMS41bDM1MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzUyLjFjLS4xLTQuMS0uNi04LjItMS42LTEyek00MTYuMSA0MzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNzYgMCAwLTE5Mi0xOTIgMCAwLTE3NmMwLTguOCA3LjItMTYgMTYtMTZsMTc2IDAgMCAxOTIgMTkyIDAgMCAxNzZ6Il19LE41dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJndWlsZGVkIixpY29uOls0NDgsNTEyLFtdLCJlMDdlIiwiTTQ0My45IDY0TDUgNjRjMCAxMDMuMyAyMi4yIDE4MC4xIDQzLjQgMjIyLjQgNjQuMSAxMjcuOCAxNzYgMTYxLjYgMTc3LjMgMTYxLjYgNTUuNy0yMC41IDEwNC41LTU2LjMgMTQwLjYtMTAzLjUgMjUuOS0zMy45IDUzLjEtODcuMiA2NS45LTE0NS44bC0yNTkuOSAwYzQuMSAzNi40IDIyLjIgNjcuOSA0NS4xIDg2LjlsODguNiAwYy0xNyAyOC4yLTQ4LjIgNTQuNC04MC41IDY5LjUtMzEuMi0xMy4zLTY5LjEtNDYuNS05Ni41LTk4LjQtMjYuNy01My44LTI3LjEtMTA1LjktMjcuMS0xMDUuOWwzMzYuMSAwYzQtMjguOCA1LjktNTcuOSA1LjktODYuOXoiXX0sUjV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9ic2lkaWFuIixpY29uOlszODQsNTEyLFtdLCJlODc5IiwiTTE0Mi4zIDMyMC4zYzM2LjEtOC4yIDcwLjMtMTEgMTAxLjMgLjcgMzEuOCAxMS45IDYxLjcgMzkuNiA4Ni43IDk2LTguMSAxNy43LTEyLjQgMzYuOS0xNC43IDUzLjgtMy4xIDIyLjktMjUuNCA0MC43LTQ3LjcgMzQuNi0zMS43LTguNy02OC4zLTIyLjMtMTAxLjMtMjQuOS00LjQtLjMtNTAuNi0zLjgtNTAuNi0zLjgtMS43LS4xLTMuNC0uNC01LjEtLjggMzEuNS02NC4yIDM4LjItMTE1LjEgMzEuMy0xNTUuNHpNNTUgMjE5LjVjMjIuMyAxNC44IDQ5LjUgMzcuOCA2NC4xIDczLjYgMTYuMSAzOS40IDE3LjggOTUuNy0yMS42IDE3Ni4xLTEtLjgtMi4xLTEuNy0zLTIuN0w3LjQgMzc2LjhjLTkuNS05LjgtMTIuMS0yNC40LTYuNS0zNi45IC42LTEuMyA0NC42LTk4LjMgNTQuMS0xMjAuNHptMjY0LjMtOTEuM2M0LjkgNi4yIDcuNCAxNCA3LjQgMjEuOSAuMSAyMC44IDEuOCA2My42IDEzLjMgOTEuMiAxMS4yIDI2LjggMzEuOCA1NS44IDQyLjUgNzAgNC4xIDUuNSA0LjggMTIuOSAxLjMgMTguNy03LjYgMTIuOC0yMi42IDM3LjUtNDMuOCA2OS4yLS4zIC40LS42IC45LS44IDEuMy0yNS4yLTUyLjItNTUuOS04MC43LTkwLjQtOTMuNi05LjYtMy42LTE5LjUtNi0yOS40LTcuMy0xNy44LTQ1LjgtMjMuMi03OS43LTIyLTEwNi40IDEuMi0yNy40IDkuMi00Ny44IDE4LjItNjYuMyA4LjktMTguMSAxOS44LTM1LjkgMjQuOS01NS43IDMuMi0xMi41IDQuMi0yNS44IDEuNy00MC45bDc3LjEgOTh6TTE4NC4yIDE0LjFjMTAuMy05LjIgMjQuNi0xMC44IDM2LjMtNS41IDkuNiAyNC42IDkuNyA0Mi44IDUuNiA1OC44LTQuNiAxNy44LTE0LjEgMzMtMjMuOSA1Mi44LTkuNiAxOS41LTE4LjQgNDItMTkuNyA3Mi4zLTEuMiAyNy45IDQuMSA2MS45IDIwLjQgMTA1LjgtMjEtLjYtNDIuNSAyLjYtNjMuNyA3LjQtMS43LTYuNC0zLjgtMTIuNC02LjEtMTguMi0xNy4zLTQyLjItNDkuOS02Ny45LTc0LjEtODMuMyAzLjEtMTguNyA4LjItNTUuNCAxMS42LTc3LjUgMS4yLTcuNiA0LjktMTQuNiAxMC43LTE5LjhMMTg0LjIgMTQuMXoiXX0sRjV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Inhib3giLGljb246WzUxMiw1MTIsW10sImY0MTIiLCJNMzY5LjkgMzE4LjJjNDQuMyA1NC4zIDY0LjcgOTguOCA1NC40IDExOC43LTcuOSAxNS4xLTU2LjcgNDQuNi05Mi42IDU1LjktMjkuNiA5LjMtNjguNCAxMy4zLTEwMC40IDEwLjItMzguMi0zLjctNzYuOS0xNy40LTExMC4xLTM5LTI3LjktMTguMi0zNC4yLTI1LjctMzQuMi00MC42IDAtMjkuOSAzMi45LTgyLjMgODkuMi0xNDIuMSAzMi0zMy45IDc2LjUtNzMuNyA4MS40LTcyLjYgOS40IDIuMSA4NC4zIDc1LjEgMTEyLjMgMTA5LjV6TTE4OC42IDE0My44Yy0yOS43LTI2LjktNTguMS01My45LTg2LjQtNjMuNC0xNS4yLTUuMS0xNi4zLTQuOC0yOC43IDguMS0yOS4yIDMwLjQtNTMuNSA3OS43LTYwLjMgMTIyLjQtNS40IDM0LjItNi4xIDQzLjgtNC4yIDYwLjUgNS42IDUwLjUgMTcuMyA4NS40IDQwLjUgMTIwLjkgOS41IDE0LjYgMTIuMSAxNy4zIDkuMyA5LjktNC4yLTExLS4zLTM3LjUgOS41LTY0IDE0LjMtMzkgNTMuOS0xMTIuOSAxMjAuMy0xOTQuNHptMzExLjYgNjMuNWMtMTYuOS04MC02Ny41LTEzMC4zLTc0LjYtMTMwLjMtNy4zIDAtMjQuMiA2LjUtMzYgMTMuOS0yMy4zIDE0LjUtNDEgMzEuNC02NC4zIDUyLjggNDIuNCA1My4zIDEwMi4yIDEzOS40IDEyMi45IDIwMi4zIDYuOCAyMC43IDkuNyA0MS4xIDcuNCA1Mi4zLTEuNyA4LjUtMS43IDguNSAxLjQgNC42IDYuMS03LjcgMTkuOS0zMS4zIDI1LjQtNDMuNSA3LjQtMTYuMiAxNS00MC4yIDE4LjYtNTguNyA0LjMtMjIuNSAzLjktNzAuOC0uOC05My40ek0xNDEuMyA0M2M0Ny43LTIuNSAxMDkuNyAzNC41IDExNC4zIDM1LjQgLjcgLjEgMTAuNC00LjIgMjEuNi05LjcgNjMuOS0zMS4xIDk0LTI1LjggMTA3LjQtMjUuMi02My45LTM5LjMtMTUyLjctNTAtMjMzLjktMTEuNy0yMy40IDExLjEtMjQgMTEuOS05LjQgMTEuMnoiXX0sTzV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVudGFwcGQiLGljb246WzY0MCw1MTIsW10sImY0MDUiLCJNNDAxLjUgNDkuOUMzMjEuNyAyMTAgMzE2LjkgMjAyLjQgMzEzLjYgMjIzLjFsLTUuMiAzMi44Yy0xLjkgMTItNi42IDIzLjUtMTMuNyAzMy40TDE0NS44IDQ5Ny4xYy03LjYgMTAuNi0yMC40IDE2LjItMzMuNCAxNC42LTQwLjMtNS03Ny44LTMyLjItOTUuMy02OC41LTUuNy0xMS44LTQuNS0yNS44IDMuMS0zNi40TDE2OS4xIDE5OC45YzcuMS05LjkgMTYuNC0xOCAyNy4yLTIzLjdsMjkuMy0xNS41YzE4LjUtOS44IDkuNy0xMS45IDEzNS42LTEzOC45IDEtNC44IDEtNy4zIDMuNi04IDMtLjcgNi42LTEgNi4zLTQuNmwtLjQtNC42Yy0uMi0xLjkgMS4zLTMuNiAzLjItMy42IDQuNS0uMSAxMy4yIDEuMiAyNS42IDEwIDEyLjMgOC45IDE2LjQgMTYuOCAxNy43IDIxLjEgLjYgMS44LS42IDMuNy0yLjQgNC4ybC00LjUgMS4xYy0zLjQgLjktMi41IDQuNC0yLjMgNy40IC4xIDIuOC0yLjMgMy42LTYuNSA2LjF6TTIzMC4zIDM2LjRjMy40IC45IDIuNSA0LjQgMi4zIDcuNC0uMiAyLjcgMi4xIDMuNSA2LjQgNiA3LjkgMTUuOSAxNS4zIDMwLjUgMjIuMiA0NCAuNyAxLjMgMi4zIDEuNSAzLjMgLjUgMTEuMi0xMiAyNC42LTI2LjIgNDAuNS00Mi42IDEuMy0xLjQgMS40LTMuNSAuMS00LjktOC04LjItMTYuNS0xNi45LTI1LjYtMjYuMS0xLTQuNy0xLTcuMy0zLjYtOC0zLS44LTYuNi0xLTYuMy00LjYgLjMtMy4zIDEuNC04LjEtMi44LTguMi00LjUtLjEtMTMuMiAxLjEtMjUuNiAxMC0xMi4zIDguOS0xNi40IDE2LjgtMTcuNyAyMS4xLTEuNCA0LjIgMy42IDQuNiA2LjggNS40ek02MjAuMiA0MDYuN0w0NzEuNCAxOTguOGMtMTMuMi0xOC41LTI2LjYtMjMuNC01Ni40LTM5LjEtMTEuMi01LjktMTQuMi0xMC45LTMwLjUtMjguOS0xLTEuMS0yLjktLjktMy42IC41LTQ2LjMgODguOC00Ny4xIDgyLjgtNDkgOTQuOC0xLjcgMTAuNy0xLjMgMjAgLjMgMjkuOCAxLjkgMTIgNi42IDIzLjUgMTMuNyAzMy40TDQ5NC44IDQ5Ny4yYzcuNiAxMC42IDIwLjIgMTYuMiAzMy4xIDE0LjcgNDAuMy00LjkgNzgtMzIgOTUuNy02OC42IDUuNC0xMS45IDQuMy0yNS45LTMuNC0zNi42eiJdfSxCNXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29vZ2xlLXBsdXMtZyIsaWNvbjpbNjQwLDUxMixbXSwiZjBkNSIsIk0zODYuMyAyMjguNWMxLjggOS43IDMuMSAxOS40IDMuMSAzMiAwIDEwOS44LTczLjYgMTg3LjUtMTg0LjQgMTg3LjUtMTA2LjEgMC0xOTItODUuOS0xOTItMTkyUzk4LjkgNjQgMjA1IDY0YzUxLjkgMCA5NS4xIDE4LjkgMTI4LjYgNTAuM2wtNTIuMSA1MGMtMTQuMS0xMy42LTM5LTI5LjYtNzYuNS0yOS42LTY1LjUgMC0xMTguOSA1NC4yLTExOC45IDEyMS4zUzEzOS41IDM3Ny4zIDIwNSAzNzcuM2M3NiAwIDEwNC41LTU0LjcgMTA5LTgyLjhsLTEwOSAwIDAtNjYgMTgxLjMgMCAwIDB6bTE4NS40IDYuNGwwLTU1LjctNTYgMCAwIDU1LjctNTUuNyAwIDAgNTYgNTUuNyAwIDAgNTUuNyA1NiAwIDAtNTUuNyA1NS43IDAgMC01Ni01NS43IDB6Il19LEg1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnaXRodWItYWx0IixpY29uOls1MTIsNTEyLFtdLCJmMTEzIiwiTTIwMi4xIDMyOC43YzAgMjAuOS0xMC45IDU1LjEtMzYuNyA1NS4xcy0zNi43LTM0LjItMzYuNy01NS4xIDEwLjktNTUuMSAzNi43LTU1LjEgMzYuNyAzNC4yIDM2LjcgNTUuMXpNNDk2IDI3OC4yYzAgMzEuOS0zLjIgNjUuNy0xNy41IDk1LTM3LjkgNzYuNi0xNDIuMSA3NC44LTIxNi43IDc0LjgtNzUuOCAwLTE4Ni4yIDIuNy0yMjUuNi03NC44LTE0LjYtMjktMjAuMi02My4xLTIwLjItOTUgMC00MS45IDEzLjktODEuNSA0MS41LTExMy42LTUuMi0xNS44LTcuNy0zMi40LTcuNy00OC44IDAtMjEuNSA0LjktMzIuMyAxNC42LTUxLjggNDUuMyAwIDc0LjMgOSAxMDguOCAzNiAyOS02LjkgNTguOC0xMCA4OC43LTEwIDI3IDAgNTQuMiAyLjkgODAuNCA5LjIgMzQtMjYuNyA2My0zNS4yIDEwNy44LTM1LjIgOS44IDE5LjUgMTQuNiAzMC4zIDE0LjYgNTEuOCAwIDE2LjQtMi42IDMyLjctNy43IDQ4LjIgMjcuNSAzMi40IDM5IDcyLjMgMzkgMTE0LjJ6bS02NC4zIDUwLjVjMC00My45LTI2LjctODIuNi03My41LTgyLjYtMTguOSAwLTM3IDMuNC01NiA2LTE0LjkgMi4zLTI5LjggMy4yLTQ1LjEgMy4yLTE1LjIgMC0zMC4xLS45LTQ1LjEtMy4yLTE4LjctMi42LTM3LTYtNTYtNi00Ni44IDAtNzMuNSAzOC43LTczLjUgODIuNiAwIDg3LjggODAuNCAxMDEuMyAxNTAuNCAxMDEuM2w0OC4yIDBjNzAuMyAwIDE1MC42LTEzLjQgMTUwLjYtMTAxLjN6bS04Mi42LTU1LjFjLTI1LjggMC0zNi43IDM0LjItMzYuNyA1NS4xczEwLjkgNTUuMSAzNi43IDU1LjEgMzYuNy0zNC4yIDM2LjctNTUuMS0xMC45LTU1LjEtMzYuNy01NS4xeiJdfSxxNXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2V0LXBvY2tldCIsaWNvbjpbNDQ4LDUxMixbXSwiZjI2NSIsIk00MDcuNiA2NGwtMzY3IDBDMTguNSA2NCAwIDgyLjUgMCAxMDQuNkwwIDIzOS44QzAgMzY0LjUgOTkuNyA0NjQgMjI0LjIgNDY0IDM0OC4yIDQ2NCA0NDggMzY0LjUgNDQ4IDIzOS44bDAtMTM1LjJDNDQ4IDgyLjIgNDMwLjMgNjQgNDA3LjYgNjR6bS0xNjIgMjY4LjVjLTEyLjQgMTEuOC0zMS40IDExLjEtNDIuNCAwLTExMy43LTEwOC45LTExNC45LTEwNS4xLTExNC45LTEyMy4yIDAtMTYuOSAxMy44LTMwLjcgMzAuNy0zMC43IDE3IDAgMTYuMSAzLjggMTA1LjIgODkuMyA5MC42LTg2LjkgODguNi04OS4zIDEwNS41LTg5LjNzMzAuNyAxMy44IDMwLjcgMzAuN2MwIDE3LjgtMi45IDE1LjctMTE0LjggMTIzLjJ6Il19LFY1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnbGlkZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjJhNSIsIk0yNTIuOCAxNDguNmMwIDguOC0xLjYgMTcuNy0zLjQgMjYuNC01LjggMjcuOC0xMS42IDU1LjgtMTcuMyA4My42LTEuNCA2LjMtOC4zIDQuOS0xMy43IDQuOS0yMy44IDAtMzAuNS0yNi0zMC41LTQ1LjUgMC0yOS4zIDExLjItNjguMSAzOC41LTgzLjEgNC4zLTIuNSA5LjItNC4yIDE0LjEtNC4yIDExLjQgMCAxMi4zIDguMyAxMi4zIDE3Ljl6TTQ0OCA4MGwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsMzUyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDh6TTM4NCAyNjdjMC01LjEtMjAuOC0zNy43LTI1LjUtMzkuNS0yLjItLjktNy4yLTIuMy05LjYtMi4zLTIzLjEgMC0zOC43IDEwLjUtNTguMiAyMS41bC0uNS0uNWM0LjMtMjkuNCAxNC42LTU3LjIgMTQuNi04Ny40IDAtNDQuNi0yMy44LTYyLjctNjcuNS02Mi43LTcxLjcgMC0xMDggNzAuOC0xMDggMTIzLjUgMCA1NC43IDMyIDg1IDg2LjMgODUgNy41IDAgNi45LS42IDYuOSAyLjMtMTAuNSA4MC4zLTU2LjUgODIuOS01Ni41IDU4LjkgMC0yNC40IDI4LTM2LjUgMjguMy0zOC0uMi03LjYtMjkuMy0xNy4yLTM2LjctMTcuMi0yMS4xIDAtMzIuNyAzMy0zMi43IDUwLjYgMCAzMi4zIDIwLjQgNTQuNyA1My4zIDU0LjcgNDguMiAwIDgzLjQtNDkuNyA5NC4zLTkxLjcgOS40LTM3LjcgNy0zOS40IDEyLjMtNDIuMSAyMC0xMC4xIDM1LjgtMTYuOCA1OC40LTE2LjggMTEuMSAwIDE5IDIuMyAzNi43IDUuMiAxLjggLjEgNC4xLTEuNyA0LjEtMy41eiJdfSxqNXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYml0eSIsaWNvbjpbNTEyLDUxMixbXSwiZjM3YSIsIk04Ni41IDY3LjJjOTUuNC04OS4yIDI0Ni4xLTkxLjIgMzQzLjEgMy44IDE0LjMgMTQuMS02LjQgMzcuMS0yMi40IDIxLjUtODQuOC04Mi40LTIxNS44LTgwLjMtMjk4LjktMy4yLTE2LjMgMTUuMS0zNi41LTguMy0yMS44LTIyLjF6bTk4LjkgNDE4LjZjMTkuMyA1LjcgMjkuMy0yMy42IDcuOS0zMC0xMTIuMi0zMy45LTE3NS44LTE0OS43LTE0Ny41LTI2MSA1LTE5LjYtMjQuOS0yOC4xLTMwLjItNy4xLTMyLjEgMTI3LjQgNDEuMSAyNTkuOCAxNjkuOCAyOTguMXptMTQ4LjEtMmMxMjEuOS00MC4yIDE5Mi45LTE2Ni45IDE2NC40LTI5MS00LjUtMTkuNy0zNC45LTEzLjgtMzAgNy45IDI0LjIgMTA3LjctMzcuMSAyMTcuOS0xNDMuMiAyNTMuNC0yMS4yIDctMTAuNCAzNiA4LjggMjkuN3ptLTYyLjktNzlsLjItNzEuOGMwLTguMi02LjYtMTQuOC0xNC44LTE0LjhzLTE0LjggNi43LTE0LjggMTQuOGwtLjIgNzEuOGMwIDguMiA2LjYgMTQuOCAxNC44IDE0LjhzMTQuOC02LjYgMTQuOC0xNC44em03MS0yNjljMi4xIDkwLjkgNC43IDEzMS45LTg1LjUgMTMyLjUtOTIuNS0uNy04Ni45LTQ0LjMtODUuNS0xMzIuNSAwLTIxLjgtMzIuNS0xOS42LTMyLjUgMGwwIDcxLjZjMCA2OS4zIDYwLjcgOTAuOSAxMTggOTAuMSA1Ny4zIC44IDExOC0yMC44IDExOC05MC4xbDAtNzEuNmMwLTE5LjYtMzIuNS0yMS44LTMyLjUgMHoiXX0sVTV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndwZXhwbG9yZXIiLGljb246WzUxMiw1MTIsW10sImYyZGUiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptNDgwIDBhMjI0IDIyNCAwIDEgMCAtNDQ4IDAgMjI0IDIyNCAwIDEgMCA0NDggMHpNMTYwLjkgMTI0LjZsODYuOSAzNy4xLTM3LjEgODYuOS04Ni45LTM3LjEgMzcuMS04Ni45em0xMTAgMTY5LjFsNDYuNiA5NC0xNC42IDAtNTAtMTAwLTQ4LjkgMTAwLTE0IDAgNTEuMS0xMDYuOS0yMi4zLTkuNCA2LTE0IDY4LjYgMjkuMS02IDE0LjMtMTYuNS03LjF6TTI1OS4xIDE3Ny40bDY4LjYgMjkuNC0yOS40IDY4LjMtNjguMy0yOS4xIDI5LjEtNjguNnptODAuMyA0Mi45bDU0LjYgMjMuMS0yMy40IDU0LjMtNTQuMy0yMy4xIDIzLjEtNTQuM3oiXX0sVzV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1lZ2Fwb3J0IixpY29uOls1MTIsNTEyLFtdLCJmNWEzIiwiTTIyMi41IDIwOS42bDAgNjYuMiAzMy41IDMzLjUgMzMuMy0zMy4zIDAtNjYuNC0zMy40LTMzLjQtMzMuNCAzMy40ek0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTQwMS4xIDQyMi40bC0yNi4xIDE5LjItMjYtMTkuMiAwLTY1LjUtMzMuNC0zMy40LTMzLjQgMzMuNCAwIDY1LjUtMjYuMiAxOS4yLTI2LjEtMTkuMiAwLTY1LjUtMzMuNC0zMy40LTMzLjUgMzMuNCAwIDY1LjUtMjYuMSAxOS4yLTI2LjEtMTkuMiAwLTg3IDU5LjUtNTkuNSAwLTg3LjkgNTkuNS01OS41IDAtNzUuNiAyNi4xLTE5LjIgMjYuMSAxOS4yIDAgNzUuNiA1OS41IDU5LjUgMCA4Ny42IDU5LjcgNTkuNyAwIDg3LjEtLjEgMHoiXX0sRzV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImxlZXRjb2RlIixpY29uOls0NDgsNTEyLFtdLCJlODZhIiwiTTIzNS40IDkuM0MyNDYuNS0yLjUgMjY1LjEtMy4yIDI3NyA3LjlzMTIuNSAyOS44IDEuNCA0MS42bC00MyA0NmMyMS41IDMuMyA0Mi4xIDExLjggNTkuMSAyNS42bDc0LjYgNjAuM2MxMi42IDEwLjIgMTQuNiAyOC44IDQuNCA0MS40cy0yOC43IDE0LjYtNDEuNCA0LjRsLTc0LjYtNjAuM2MtMjYuMi0yMS4xLTcxLjktMTguMi05NC41IDUuOUw4MSAyNjFjLTIxLjUgMjMtMTkuMSA2MCA1LjYgODQuMmw5MS4yIDg5LjRjMjQuOSAyNCA2NS42IDI0IDkwLjEtLjRsNTEuMS01MWMxMS41LTExLjUgMzAuMS0xMS41IDQxLjYgLjFzMTEuNCAzMC4yLS4xIDQxLjdsLTUxLjEgNTFjLTQ3LjEgNDcuMS0xMjQgNDcuNy0xNzEuOSAxLjZsLTkyLTkwLjJDLTEuNCAzNDEuMy02IDI2Ny45IDM4IDIyMC43TDIzNS40IDkuM3pNNDExLjcgMjczLjJjMTYuMiAwIDI5LjQgMTMuMiAyOS40IDI5LjVzLTEzLjIgMjkuNS0yOS40IDI5LjVsLTIxNi45IDBjLTE2LjIgMC0yOS40LTEzLjItMjkuNC0yOS41czEzLjItMjkuNSAyOS40LTI5LjVsMjE2LjkgMHoiXX0sWTV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1kYiIsaWNvbjpbNTc2LDUxMixbXSwiZjhjYSIsIk0xNy40IDE2MC40bC0xMC40IDE5MS42IDQzLjkgMCA1LjYtNzkuOCAyNy45IDc5LjggNDQuNyAwIDI1LjUtNzcuNCA0LjggNzcuNCA0NS41IDAtMTIuOC0xOTEuNi00NS41IDAtNDAuNyAxMTcuMy00Mi4zLTExNy4zLTQ2LjMgMHptMjgxIDBsLTQ3LjkgMCAwIDE5MS42IDQ3LjkgMHM5NSAuOCA5NC4yLTk1LjhjLS44LTk0LjItOTQuMi05NS44LTk0LjItOTUuOGwwIDB6bS0xLjIgMTQ2LjVsMC0xMDIuMXM0NiA0LjMgNDYuOCA1MC42LTQ2LjggNTEuNS00Ni44IDUxLjVsMCAwem0yMzguMy03NC4yYzcuMi0xMS40IDEwLTI1IDgtMzguMy01LjMtMzUuOC01NS4xLTM0LjMtNTUuMS0zNC4zbC01MS45IDAgMCAxOTEuNiA0NS41IDBzODcgNC44IDg3LTYzLjhjMC00My4xLTMzLjUtNTUuMS0zMy41LTU1LjFsMCAwem0tNTEuOS0zMS45czEzLjYtMS42IDE2IDkuNmMxLjQgNi43LTQgMTItNCAxMmwtMTIgMCAwLTIxLjZ6bS0uMSAxMDkuNWwuMS0yNC45IDAtMTguMiAuMSAwczQxLjYtNC43IDQxLjIgMjIuNGMtLjMgMjUuNy00MS4zIDIwLjctNDEuMyAyMC43bDAgMHoiXX0sWjV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBhZ2U0IixpY29uOls1MTIsNTEyLFtdLCJmM2Q3IiwiTTI1NiA1MDRDMTE5IDUwNCA4IDM5MyA4IDI1NlMxMTkgOCAyNTYgOGMyMC45IDAgNDEuMyAyLjYgNjAuNyA3LjVMNTAuMyAzOTIgMjU2IDM5MiAyNTYgNTA0em0wLTE0My42bDAtMjEzLjYtMTQ5LjQgMjEzLjYgMTQ5LjQgMHpNMzUyIDM5MmwwIDkyLjdjNDUuNy0xOS4yIDg0LjUtNTEuNyAxMTEuNC05Mi43TDM1MiAzOTJ6bTU3LjQtMTM4LjJsLTIxLjIgOC40IDIxLjIgOC4zIDAtMTYuN3ptLTIwLjMgNTQuNWMtNi43IDAtOCA2LjMtOCAxMi45bDAgNy43IDE2LjIgMCAwLTEwYzAtNS45LTIuMy0xMC42LTguMi0xMC42ek01MDQgMjU2YzAgMzcuMy04LjIgNzIuNy0yMyAxMDQuNGwtMTI5IDAgMC0zMzMuMUM0NDEuMyA2NC44IDUwNCAxNTMuMSA1MDQgMjU2ek0zNjguNCAxNDMuNmw2OC4yIDAgMC00Ny42LTEzLjkgMCAwIDMyLjYtMTMuOSAwIDAtMjkuNi0xMy45IDAgMCAyOS42LTEyLjcgMCAwLTMyLjYtMTMuOSAwIDAgNDcuNiAuMSAwem02OC4xIDE4NS4zbC0yNi41IDAgMC0xMWMwLTE1LjQtNS42LTI1LjItMjAuOS0yNS4yLTE1LjQgMC0yMC43IDEwLjYtMjAuNyAyNS45bDAgMjUuMyA2OC4yIDAgMC0xNS0uMSAwem0wLTEwM2wtNjguMiAyOS43IDAgMTIuNCA2OC4yIDI5LjUgMC0xNi42LTE0LjQtNS43IDAtMjYuNSAxNC40LTUuOSAwLTE2Ljl6bS00LjgtNjguNWwtMzUuNiAwIDAgMjYuNiAxMy45IDAgMC0xMi4yIDExIDBjOC42IDE1LjggMS4zIDM1LjMtMTguNiAzNS4zLTIyLjUgMC0yOC4zLTI1LjMtMTUuNS0zNy43bC0xMS42LTEwLjZjLTE2LjIgMTcuNS0xMi4yIDYzLjkgMjcuMSA2My45IDM0IDAgNDQuNy0zNS45IDI5LjMtNjUuM3oiXX0sWDV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRoZS1yZWQteWV0aSIsaWNvbjpbNTEyLDUxMixbXSwiZjY5ZCIsIk00ODguNyAyNDEuN2wyMC43IDcuMWMtOS42LTIzLjktMjMuOS0zNy0zMS43LTQ0LjhsNy4xLTE4LjJjLjIgMCAxMi4zLTI3LjgtMi41LTMwLjctLjYtMTEuMy02LjYtMjctMTguNC0yNy03LjYtMTAuNi0xNy43LTEyLjMtMzAuNy01LjktOS4xIDQuNC0xNy42IDEwLTI1LjMgMTYuNS01LjMtNi40LTMgLjQtMy0yOS44LTM3LjEtMjQuMy00NS40LTExLjctNzQuOCAzbC41IC41Yy0yMi03LjctNDUuMS0xMi4yLTY4LjQtMTMuMy01LjUtOC43LTE4LjYtMTkuMS0yNS4xLTI1LjFsMjQuOCA3LjFjLTUuNS01LjUtMjYuOC0xMi45LTM0LjItMTUuMiAxOC4yLTQuMSAyOS44LTIwLjggNDIuNS0zMy0zNC45LTEwLjEtNjcuOS01LjktOTcuOSAxMS44bDEyLTQ0LjItMS44LS41Yy0zMS42IDI0LjItMzMgNDEuOS0zMy43IDQ1LjUtLjktMi40LTYuMy0xOS42LTE1LjItMjctMy4zIDguMS0zLjUgMTcuMS0uNSAyNS4zIDMgOC40IDUuOSAxNC44IDguNCAxOC45LTE2LTMuMy0yOC4zLTQuOS00OS4yIDBsLTMuNyAwIDMzIDE0LjNjLTIwLjIgMTguOS0zNi4xIDQxLjktNDYuNyA2Ny40bC0xLjcgOC40IDEuNyAxLjcgNy42LTQuN2MtMy4zIDExLjYtNS4zIDE5LjQtNi42IDI1LjgtMTAuOSAxMi4yLTIwLjIgMjUuOC0yNy44IDQwLjMtMTUgMS0zMS44IDEwLjgtNDAuMyAxNC4zbDMgMy40IDI4LjggMWMtLjUgMS0uNyAyLjItMS4yIDMuMi03LjMgNi40LTM5LjggMzcuNy0zMyA4MC43bDIwLjItMjIuNGMuNSAxLjcgLjcgMy40IDEuMiA1LjIgMCAyNS41IC40IDg5LjYgNjQuOSAxNTAuNSA0My42IDQwIDk2IDYwLjIgMTU3LjUgNjAuMiAxMjEuNyAwIDIyMy04Ny4zIDIyMy0yMTEuNSA2LjgtOS43LTEuMiAzIDE2LjctMjUuMWwxMyAxNC4zIDIuNS0uNWMtMS44LTExLjctNC44LTIzLjEtOC45LTM0LjItMS41LTQuOC0zLjgtOS4zLTYuOC0xMy4zbDAgMHpNMzk4LjUgMTExLjJsLS41IDIxLjljNS41IDE4LjEgMTYuOSAxNy4yIDIyLjQgMTcuMmwtMy40LTQuNyAyMi40LTUuNGMtOSAuNS0xOCAuNS0yNyAwIDEyLjgtMi4xIDMzLjMtMjkgNDMtMTEuMyAzLjQgNy42IDYuNCAxNy4yIDkuMyAyNy44bDEuNy01LjljLTEuMy01LTEuOC0xMC4xLTEuNy0xNS4yIDUuNCAuNSA4LjggMy40IDkuMyAxMC4xIC41IDYuNCAxLjcgMTQuOCAzLjQgMjUuM2w0LjctMTEuM2M0LjYgMCA0LjUtMy42LTIuNSAyMC43LTIwLjktOC43LTM1LjEtOC40LTQ2LjUtOC40bDE4LjItMTZjLTI1LjMgOC4yLTMzIDEwLjgtNTQuOCAyMC45LTEuMS01LjQtNS0xMy41LTE2LTE5LjktMy4yIDMuOC0yLjggLjktLjcgMTQuOGwtMi41IDBjLTEuMi04LjItNC4xLTE2LTguNC0yMy4xbDQuMi0zLjRjOC40LTcuMSAxMS44LTE0LjMgMTAuNi0yMS45LS41LTYuNC01LjQtMTMuNS0xMy41LTIwLjcgNS42LTMuNCAxNS4yLS40IDI4LjMgOC41em0tMzkuNi0xMC4xYzIuNyAxLjkgMTEuNCA1LjQgMTguOSAxNy4yIDQuMiA4LjQgNCA5LjggMy40IDExLjEtLjUgMi40LS41IDQuMy0zIDcuMS0xLjcgMi41LTUuNCA0LjctMTEuOCA3LjYtNy42LTEzLTE2LjUtMjMuNi0yNy44LTMxLjJsMjAuMy0xMS44em0tMjY3LjQgNDJsMS4yLTEuN2MxLjItMi45IDQuMi03LjYgOS4zLTE1LjJsMi41LTMuNC0xMyAxMi4zIDUuNC00LjctMTAuMSA5LjMtNC4yIDEuMmMxMi4zLTI0LjEgMjMuMS00MS4zIDMyLjUtNTAuMiA5LjMtOS4zIDE2LTE2IDIwLjItMTkuNGwtNi40IDEuMmMtMTEuMy00LjItMTkuNC03LjEtMjQuOC04LjQgMi41LS41IDMuNy0uNSAzLjItLjUgMTAuMyAwIDE3LjUgLjUgMjAuOSAxLjIgNS4yIDEuNyAxMC42IDIuNSAxNiAyLjVsLjUtMS43LTguNC0zNS44IDEzLjUgMjljMi44LTQuNCA0LjgtOS4yIDUuOS0xNC4zIDEuNy02LjQgNS40LTEzIDEwLjEtMTkuNHM3LjYtMTAuNiA5LjMtMTEuM2MtMi42IDguMy00LjcgMTYuOC02LjQgMjUuM2wtMS43IDcuMS0uNSA0LjcgMi41IDIuNWMyMS45LTEzLjUgNDUuNS0xOS40IDcxLjMtMTguOWwyMS4xIC41Yy0xMS44IDEzLjUtMjcuOCAyMS45LTQ4LjUgMjQuOC03LjcgMS40LTE1LjYgMi40LTIzLjQgMi45bC0uMi0uNS0yLjUtMS4yYy00LjgtMS05LjctLjMtMTQgMi0yLjUtLjItNC45LS41LTcuMS0uN2wtMi41IDEuNyAuNSAxLjJjMiAuMiAzLjkgLjUgNi4yIC43bC0yIDMuNCAzLjQtLjUtMTAuNiAxMS4zYy00LjIgMy01LjQgNi40LTQuMiA5LjNsNS40LTMuNCAxLjIgMGM2LjEtOC4yIDE1LjItMTMuNiAyNS4zLTE1LjJsMC0zYzYuNCAuNSAxMyAxIDE5LjQgMS4yIDYuNCAwIDguNCAuNSA1LjQgMS4yIDcuMiA0IDE0LjEgOC42IDIwLjcgMTMuNSAxMy41IDEwLjEgMjMuNiAyMS45IDMwIDM1LjQgOC44IDE4LjIgMTMuNSAzNy4xIDEzLjUgNTYuNiAwIDkuNS0xIDE5LTMgMjguMy0zLjUgMTUuOS04LjkgMzEuMy0xNiA0NmwyLjUgLjVjMTguMi0xOS43IDQxLjktMTYgNDkuMi0xNmwtNi40IDUuOSAyMi40IDE3LjctMS43IDMwLjdjLTUuNC0xMi4zLTE2LjUtMjEuMS0zMy0yNy44IDE2LjUgMTQuOCAyMy42IDIxLjEgMjEuOSAyMC4yLTQuOC0yLjgtMy41LTEuOS0xMC44LTMuNyA0LjEgNC4xIDE3LjUgMTguOCAxOC4yIDIwLjdsLjIgLjItLjIgLjJjMCAxLjggMS42LTEuMi0xNCAyMi45LTc1LjItMTUuMy0xMDYuMy00Mi43LTE0MS4yLTYzLjJsMTEuOCAxLjJjLTExLjgtMTguNS0xNS42LTE3LjctMzguNC0yNi4xbDEwLjYtOC40Yy04LjgtMy0xOC4yLTMtMjguMyAuNWw3LjYtMTAuNi0xLjItMS43Yy0xNC45IDQuMy0xOS44IDkuMi0yMi42IDExLjMtMS4xLTUuNS0yLjgtMTIuNC0xMi4zLTI4LjhsLTEuMiAyNy0xMy4yLTVjMS41LTI1LjIgNS40LTUwLjUgMTMuMi03NC42ek0zNjggNDczLjFjLTQ5LjkgMjUtNTYuMSAyMi40LTU5IDIzLjktMjkuOC0xMS44LTUwLjktMzEuNy02My41LTU4LjhsMzAgMTYuNWMtOS44LTkuMy0xOC4zLTE2LjUtMzguNC00NC4zbDExLjggMjMuMS0xNy43LTcuNmMxNC4yIDIxLjEgMjMuNSA1MS43IDY2LjYgNzMuNS0xMjAuOCAyNC4yLTE5OS03Mi4xLTIwMC45LTc0LjMgMTEuMSA5LjIgMjIuOSAxNy41IDM1LjQgMjQuOCAzLjQgMS43IDcuMSAyLjUgMTAuMSAxLjJsLTE2LTIwLjdjOS4yIDQuMiA5LjUgNC41IDY5LjEgMjktNDIuNS0yMC43LTczLjgtNDAuOC05My4yLTYwLjItLjUgNi40LTEuMiAxMC4xLTEuMiAxMC4xIDguNyA3LjMgMTUuOCAxNi40IDIwLjcgMjYuNi0zOS0xOC45LTU3LjYtNDcuNi03MS4zLTgyLjYgNDkuOSA1NS4xIDExOC45IDM3LjUgMTIwLjUgMzcuMSAzNC44IDE2LjQgNjkuOSAyMy42IDExMy45IDEwLjYgMy4zIDAgMjAuMyAxNyAyNS4zIDM5LjFsNC4yLTMtMi41LTIzLjZjOSA5IDI0LjkgMjIuNiAzNC40IDEzLTE1LjYtNS4zLTIzLjUtOS41LTI5LjUtMzEuNyA0LjYgNC4yIDcuNiA5IDI3LjggMTVsMS4yLTEuMi0xMC41LTE0LjJjMTEuNy00LjgtMy41IDEgMzItMTAuOCA0LjMgMzQuMyA5IDQ5LjIgLjcgODkuNXpNNDgzLjMgMjU4LjdsLTIuNSAuNSAzIDkuM2MtMy41IDUuOS0yMy43IDQ0LjMtNzEuNiA3OS43LTM5LjUgMjkuOC03Ni42IDM5LjEtODAuOSA0MC4zbC03LjYtNy4xLTEuMiAzIDE0LjMgMTYtNy4xLTQuNyAzLjQgNC4yLTEuMiAwLTIxLjktMTMuNSA5LjMgMjYuNi0xOS0yNy45LTEuMiAyLjUgNy42IDI5Yy02LjEtOC4yLTIxLTMyLjYtNTYuOC0zOS42bDMyLjUgMjEuMmMtMzEuMiA0LjctNjMgMi41LTkzLjItNi40LTQuMi0xLjItOC45LTIuNS0xMy41LTQuMmwxLjItMy00NC44LTIyLjQgMjYuMSAyMi40Yy01Ny43IDkuMS0xMTMtMjUuNC0xMjYuNC04My40TDI5LjMgMjg0LjggNyAzMDcuMWMxOS41LTU3LjUgMjUuNi01Ny45IDUxLjQtNzAuMS05LjEtNS4zLTEuNi0zLjMtMzguNC05LjMgMTUuOC01LjggMzMtMTUuNCA3MyA1LjIgMS4yLS43IDIuNC0xLjMgMy43LTEuNyAuNi0zLjIgLjQtLjggMS0xMS44IDMuOSAxMCAzLjYgOC43IDMgOS4zbDEuNyAuNWMxMi43LTYuNSA4LjktNC41IDE3LTguOWwtNS40IDEzLjUgMjIuMy01LjgtOC40IDguNCAyLjUgMi41YzQuNS0xLjggMzAuMyAzLjQgNDAuOCAxNmwtMjMuNi0yLjVjMzkuNCAyMyA1MS41IDU0IDU1LjggNjkuNmwxLjctMS4yYy0yLjgtMjIuMy0xMi40LTMzLjktMTYtNDAuMSA0LjIgNSAzOS4yIDM0LjYgMTEwLjQgNDYtMTEuMy0uNS0yMy4xIDUuNC0zNC45IDE4LjlsNDYuNy0yMC4yLTkuMyAyMS45YzcuNi0xMC4xIDE0LjgtMjMuNiAyMS4yLTM5LjZsMC0uNSAxLjItMy0xLjIgMTZjMTMuNS00MS44IDI1LjMtNzguNSAzNS40LTEwOS43bDEzLjUtMjcuOCAwLTItNS40LTQuMiAxMC4xIDAgNS45IDQuMiAyLjUtMS4yLTMuNC0xNiAxMi4zIDE4LjkgNDEuOC0yMC4yLTE0LjggMTMgLjUgMi45IDE3LjctLjVjMTEuMSAuNCAyMi4xIDEuOCAzMyA0LjJsLTIzLjYgMi41LTEuMiAzIDI2LjYgMjMuMWM5LjkgOS45IDE4LjkgMjAuNiAyNyAzMi0xMS4yLTMuMy0xMC4zLTMuNC0yMS4yLTMuNGwxMi4zIDMyLjUtOC45LTEyLjh6bS02LjEtNzEuM2wtMy45IDEzLTE0LjMtMTEuOCAxOC4yLTEuMnptLTI1NC44IDcuMWMxLjcgMTAuNiA0LjcgMTcuNyA4LjggMjEuOS05LjMgNi42LTI3LjUgMTMuOS00Ni41IDE2bC41IDEuMmM4LjMgMS4zIDE2LjkgLjQgMjQuOC0yLjVsLTcuMSAxM2M0LjItMS43IDEwLjEtNy4xIDE3LjctMTQuOCAxMS45LTUuNSAxMi43LTUuMSAyMC4yLTE2LTEyLjctNi40LTE1LjctMTMuNy0xOC40LTE4Ljh6bTMuNy0xMDIuM2MtNi40LTMuNC0xMC42IDMtMTIuMyAxOC45czIuNSAyOS41IDExLjggMzkuNiAxOC4yIDEwLjYgMjYuMSAzIDMuNC0yMy42LTExLjMtNDcuN2MtMy41LTUuNy04LjQtMTAuNS0xNC4zLTEzLjhsMCAwem0tNC43IDQ2LjNjNS40IDIuMiAxMC41IDEuOSAxMi4zLTEwLjZsMC00LjctMS4yIC41Yy00LjMtMy4xLTIuNS00LjUtMS43LTYuMmwuNS0uNWMtLjktMS4yLTUtOC4xLTEyLjUgNC43LS41LTEzLjUgLjUtMjEuOSAzLTI0LjggMS4yLTIuNSA0LjctMS4yIDExLjMgNC4yIDYuNCA1LjQgMTEuMyAxNiAxNS4yIDMyLjUgNi41IDI4LTE5LjggMjYuMi0yNi45IDQuOXptLTQ1LTUuNWMxLjYgLjMgOS4zLTEuMSA5LjMtMTQuOGwtLjUgMGMtNS40LTEuMS0yLjItNS41LS43LTUuOS0xLjctMy0zLjQtNC4yLTUuNC00LjctOC4xIDAtMTEuNiAxMi43LTguMSAyMS4yIC41IDEuMSAxLjMgMiAyLjIgMi44czIgMS4yIDMuMiAxLjRsMCAwem00MC4xLTUwLjFsLTIuNSAuNSAuNSAzYzkuMS0uNSAxOC4xIDEuNSAyNi4xIDUuOS0yLjUtNS41LTEwLTE0LjMtMjguMy0xNC4zbC41IDIuNSAzLjcgMi40em0tNzEuOCA0OS40YzIxLjcgMTYuOCAxNi41IDIxLjQgNDYuNSAyMy42bC0yLjktNC43YzguNC03LjIgMTMuNy0xNy4zIDE0LjgtMjguMyAxLjctMTYtMS4yLTI5LjUtOC44LTQxLjNsMTMtNy42YzAtLjMgMC0uNi0uMS0uOXMtLjItLjYtLjQtLjhjLTIuMi0uOS00LjYtMS4yLTctLjlzLTQuNiAxLjItNi41IDIuNmMtMTIuNyA2LjctMjggMjAuOS0yOSAyMi40LTEuNyAxLjctMy40IDUuOS01LjQgMTMuNS0xLjkgNy43LTIuOSAxNS42LTIuOSAyMy42LTQuNy04LTEwLjUtNi40LTE5LjktNS45bDcuMSA3LjZjLTE2LjUgMC0yMy4zIDE1LjQtMjMuNiAxNiA2LjggMCA0LjYtNy42IDMwLTEyLjMtNC4zLTYuMy0zLjMtNS00LjktNi42em0xOC43LTE4LjdjMS4yLTcuNiAzLjQtMTMgNi40LTE3LjIgNS40LTYuNCAxMC42LTEwLjEgMTYtMTEuOCA0LjItMS43IDcuMSAxLjIgMTAuMSA5LjMgMi41IDguMiAzLjUgMTYuOCAzIDI1LjMtLjUgOS4zLTMuNCAxNy4yLTguNCAyMy4xLTIuOSAzLjQtNS40IDUuOS02LjQgNy42LTMuOCAuNC03LjYgLjItMTEuMy0uNWwtNy4xLTMuNC01LjQtNi40Yy44LTEwIDEuMy0xOC44IDMuMS0yNnptNDIgNTYuMWMtMzQuOCAxNC40LTM0LjcgMTQtMzYuMSAxNC4zLTIwLjggNC43LTE5LTI0LjQtMTguOS0yNC44bDUuOS0xLjItLjUtMi41Yy0yMC4yLTIuNi0zMSA0LjItMzIuNSA0LjkgLjUgLjUgMyAzLjQgNS45IDkuMyA0LjItNi40IDguOC0xMC4xIDE1LjItMTAuNi0xLjcgMTEuMi0xLjIgMjIuNyAxLjcgMzMuNyAuMSAuNSAyLjYgMTcuNCAyNy41IDI0LjEgMTEuMyAzIDI3IDEuMiA0OC45LTUuNGwtOS4yIC41Yy00LjItMTQuOC02LjQtMjQuOC01LjktMjkuNSAxMS4zLTguOCAyMS45LTExLjMgMzAuNy03LjZsMi41IDAtMTEuOC03LjYtNy4xIC41Yy01LjkgMS4yLTEyLjMgNC4yLTE5LjQgOC40bDMuMS02LjV6Il19LEs1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqaXJhIixpY29uOls1MTIsNTEyLFtdLCJmN2IxIiwiTTQ5OC41IDI0MS43Yy03Mi45LTcyLjctMTY5LjQtMTY5LjktMjQxLjUtMjQxLjctMTY1LjUgMTY0LjktMjQyLjUgMjQxLjctMjQyLjUgMjQxLjctNy45IDcuOS03LjkgMjAuNyAwIDI4LjcgMTMyLjggMTMyLjMgNjEuOCA2MS41IDI0Mi41IDI0MS42IDM3OS40LTM3OCAxNS43LTE2LjcgMjQxLjUtMjQxLjcgOC03LjkgOC0yMC43IDAtMjguNnpNMjU3IDMzMS43bC03Ni03NS43IDc2LTc1LjcgNzYgNzUuNy03NiA3NS43eiJdfSxRNXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmVkZXgiLGljb246WzY0MCw1MTIsW10sImY3OTciLCJNNTg2IDI4NC41bDUzLjMtNTkuOS02Mi40IDAtMjEuNyAyNC44LTIyLjUtMjQuOC0xMTguNyAwIDAtMTYgNTYuMSAwIDAtNDguMS0xNTEuMiAwIDAgNzUuNS0uNSAwYy05LjYtMTEtMjEuNS0xNC44LTM1LjQtMTQuOC0yOC40IDAtNDkuOCAxOS40LTU3LjMgNDQuOS0xOC01OS40LTk3LjQtNTcuNi0xMjEuOS0xNGwwLTI0LjItNTQuOCAwIDAtMjYuMiA2MCAwIDAtNDEuMS0xMDkgMCAwIDE4NC40IDQ5IDAgMC03Ny41IDQ4LjkgMGMtMS41IDUuNy0yLjMgMTEuOC0yLjMgMTguMiAwIDczLjEgMTAyLjYgOTEuNCAxMzAuMiAyMy43bC00MiAwYy0xNC43IDIwLjktNDUuOCA4LjktNDUuOC0xNC42bDg1LjUgMGMzLjcgMzAuNSAyNy40IDU2LjkgNjAuMSA1Ni45IDE0LjEgMCAyNy02LjkgMzQuOS0xOC42bC41IDAgMCAxMS45IDIxMi4yIDAgMjIuMS0yNSAyMi4zIDI1IDY0LjQgMC01NC02MC41ek0xMzkuMyAyNjcuOWM2LjEtMjYuMyA0MS43LTI1LjYgNDYuNSAwbC00Ni41IDB6bTE1My40IDQ4LjljLTM0LjYgMC0zNC02Mi44IDAtNjIuOCAzMi42IDAgMzQuNSA2Mi44IDAgNjIuOHptMTY3LjggMTkuMWwtOTQuNCAwIDAtMTY2LjUgOTUgMCAwIDMwLjItNTYuMSAwIDAgMzMuOSA1NS41IDAgMCAyOC4xLTU2LjEgMCAwIDQ0LjcgNTYuMSAwIDAgMjkuNnptLTQ1LjktMzkuOGwwLTI0LjQgNTYuMSAwIDAtNDQgNTAuNyA1Ny01MC43IDU3IDAtNDUuNi01Ni4xIDB6bTEzOC42IDEwLjNsLTI2LjEgMjkuNS0zOC4xIDAgNDUuNi01MS4yLTQ1LjYtNTEuMiAzOS43IDAgMjYuNiAyOS4zIDI1LjYtMjkuMyAzOC41IDAtNDUuNCA1MSA0NiA1MS40LTQwLjUgMC0yNi4zLTI5LjV6Il19LEo1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJldmVybm90ZSIsaWNvbjpbMzg0LDUxMixbXSwiZjgzOSIsIk0xMjEuMSAxMzIuMmMxLjYgMjIuMy0xNy42IDIxLjYtMjEuNiAyMS42LTY4LjkgMC03My42LTEtODMuNiAzLjMtLjYgLjItLjcgMC0uNC0uNEwxMjQuMSA0Ni40Yy40LS40IC42LS4yIC40IC40LTQuNCAxMC0zLjQgMTUuMS0zLjQgODUuNHptNzkgMzA4Yy0xNC43LTM3LjEgMTMtNzYuOSA1Mi41LTc2LjYgMTcuNSAwIDIyLjYgMjMuMiA3LjkgMzEuNC02LjIgMy4zLTI0LjkgMS43LTI1LjEgMTkuMiAwIDE3LjEgMTkuNyAyNSAzMS4yIDI0LjkgNiAwIDExLjktMS4yIDE3LjUtMy41czEwLjYtNS43IDE0LjgtOS45IDcuNi05LjMgOS45LTE0LjggMy41LTExLjUgMy41LTE3LjVsMC0uMWMwLTExLjYtNy44LTQ3LjItNDcuNS01NS4zLTcuNy0xLjUtNjUtNi4zLTY4LjQtNTAuNS0zLjcgMTYuOS0xNy40IDYzLjUtNDMuMSA2OS4xLTguNyAxLjktNjkuNyA3LjYtMTEyLjktMzYuOCAwIDAtMTguNi0xNS4yLTI4LjItNTgtMy40LTE1LjctOS4zLTM5LjctMTEuMS02MiAwLTE4IDExLjEtMzAuNCAyNS4xLTMyLjIgODEgMCA5MCAyLjMgMTAxLTcuOCA5LjgtOS4yIDcuOC0xNS41IDcuOC0xMDIuOCAxLTguMyA3LjgtMzAuOCA1My40LTI0LjEgNiAuOSAzMS45IDQuMiAzNy41IDMwLjZMMjkwIDc0LjhjMjAuNCAzLjcgNzAuOSA3IDgwLjYgNTcuOSAyMi43IDEyMS4xIDguOSAyMzguNSA3LjggMjM4LjUtMTYgMTE0LjQtMTExLjEgMTA4LjktMTExLjEgMTA4LjktMTktLjItNTQuMi05LjQtNjcuMy0zOS44bDAgMHpNMjgxIDIzNS40Yy0xIDEuOS0yLjIgNiAuOSA3IDE0LjEgNC45IDM5LjggNi44IDQ1LjkgNS41IDMuMS0uMiAzLjEtNC40IDIuNS02LjYtMy41LTIxLjgtNDAuOC0yNi41LTQ5LjItNS45bDAgMHoiXX0sZTh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVzYiIsaWNvbjpbNjQwLDUxMixbXSwiZjI4NyIsIk02MzMuNSAyNTZjMCAzLjEtMS43IDYuMS00LjUgNy41TDUzOS45IDMxN2MtMS40IC44LTIuOCAxLjQtNC41IDEuNC0xLjQgMC0zLjEtLjMtNC41LTEuMS0yLjgtMS43LTQuNS00LjUtNC41LTcuOGwwLTM1LjYtMjMwLjcgMGMyNS4zIDM5LjYgNDAuNSAxMDYuOSA2OS42IDEwNi45bDI2LjcgMCAwLTI2LjhjMC01IDMuOS04LjkgOC45LTguOWw4OS4xIDBjNSAwIDguOSAzLjkgOC45IDguOWwwIDg5LjFjMCA1LTMuOSA4LjktOC45IDguOWwtODkuMSAwYy01IDAtOC45LTMuOS04LjktOC45bDAtMjYuNy0yNi43IDBjLTc1LjQgMC04MS4xLTE0Mi41LTEyNC43LTE0Mi41bC0xMDAuMyAwYy04LjEgMzAuNi0zNS45IDUzLjUtNjkgNTMuNS0zOS4zLS4xLTcxLjMtMzIuMS03MS4zLTcxLjRzMzItNzEuMyA3MS4zLTcxLjNjMzMuMSAwIDYxIDIyLjggNjkgNTMuNSAzOS4xIDAgNDMuOSA5LjUgNzQuNi02MC40IDQwLjEtODkuMSA1OC4xLTgyLjEgMTA4LjktODIuMSA3LjUtMjAuOSAyNy0zNS42IDUwLjQtMzUuNiAyOS41IDAgNTMuNSAyMy45IDUzLjUgNTMuNXMtMjMuOSA1My41LTUzLjUgNTMuNWMtMjMuNCAwLTQyLjktMTQuOC01MC40LTM1LjZsLTI5LjggMGMtMjkuMSAwLTQ0LjMgNjcuNC02OS42IDEwNi45bDMwMi4xIDAgMC0zNS42YzAtMy4zIDEuNy02LjEgNC41LTcuOHM2LjQtMS40IDguOSAuM0w2MjkgMjQ4LjhjMi44IDEuMSA0LjUgNC4xIDQuNSA3LjJ6Il19LHQ4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhbmdyeWNyZWF0aXZlIixpY29uOls2NDAsNTEyLFtdLCJmMzZlIiwiTTY0MCAyMzguMmwtMy4yIDI4LjItMzQuNSAyLjMtMiAxOC4xIDM0LjUtMi4zLTMuMiAyOC4yLTM0LjQgMi4yLTIuMyAyMC4xIDM0LjQtMi4yLTMgMjYuMS02NC43IDQuMSAxMi43LTExMy4yLTQ3LjMgMTE1LjQtMzEuOSAyLTIzLjgtMTE3LjggMzAuMy0yIDEzLjYgNzkuNCAzMS43LTgyLjQgOTMuMS02LjJ6TTQyNi44IDM3MS41bDI4LjMtMS44IDEyLjktMTIwLjEtMjguNCAxLjktMTIuOCAxMjB6TTE2MiAzODguMWwtMTkuNC0zNi0zLjUgMzcuNC0yOC4yIDEuNyAyLjctMjkuMWMtMTEgMTgtMzIgMzQuMy01Ni45IDM1LjgtMzIuOCAyLTU5LjctMjAuOS01Ni40LTU4LjIgMi42LTI5LjMgMjYuNy02Mi44IDY3LjUtNjUuNCAzNy43LTIuNCA0Ny42IDIzLjIgNTEuMyAyOC44bDIuOC0zMC44IDM4LjktMi41YzIwLjEtMS4zIDM4LjcgMy43IDQyLjUgMjMuN2wyLjYtMjYuNiA2NC44LTQuMi0yLjcgMjcuOS0zNi40IDIuNC0xLjcgMTcuOSAzNi40LTIuMy0yLjcgMjcuOS0zNi40IDIuMy0xLjkgMTkuOSAzNi4zLTIuMy0yLjEgMjAuOCA1NS0xMTcuMiAyMy44LTEuNiAzMi4xIDExMC42IDguOS04NS42LTIyLjMgMS40IDIuOS0yNy45IDc1LTQuOS0zIDI4LTI0LjMgMS42LTkuNyA5MS45LTU4IDMuNy00LjMtMTUuNi0zOS40IDIuNS04IDE2LjMtMTI2LjIgNy43em0tNDQuMy03MC4ybC0yNi40IDEuN2MtNi43LTEyLjQtMTQuNC0xNi42LTI2LjMtMTUuOC0xOSAxLjItMzMuMyAxNy41LTM0LjYgMzMuMy0xLjQgMTYgNy4zIDMyLjUgMjguNyAzMS4yIDEyLjgtLjggMjEuMy04LjYgMjguOS0xOC45bDI3LTEuNyAyLjctMjkuOHptNTYuMS03LjdjMS4yLTEyLjktNy42LTEzLjYtMjYuMS0xMi40TDE0NSAzMjYuM2MxNC4yLS45IDI3LjUtMi4xIDI4LjgtMTYuMXpNMTk0LjkgMzgxbDUuOC02MGMtNSAxMy41LTE0LjcgMjEuMS0yNy45IDI2LjZMMTk0LjkgMzgxem0xMzUuNC00NWwtNy45LTM3LjgtMTUuOCAzOS4zIDIzLjctMS41ek0xNjAuMiAyNjEuNGwtNC4zLTE3LjUtMzkuNiAyLjYtOC4xIDE4LjItMzEuOSAyLjEgNTctMTIxLjkgMjMuOS0xLjYgMzAuNyAxMDIgOS45LTEwNC43IDI3LTEuOCAzNy44IDYzLjYgNi41LTY2LjYgMjguNS0xLjktNCA0MS4yYzcuNC0xMy41IDIyLjktNDQuNyA2My42LTQ3LjUgNDAuNS0yLjggNTIuNCAyOS4zIDUzLjQgMzAuM2wzLjMtMzIgMzkuMy0yLjdjMTIuNy0uOSAyNy44IC4zIDM2LjMgOS43bC00LjQtMTEuOSAzMi4yLTIuMiAxMi45IDQzLjIgMjMtNDUuNyAzMS0yLjItNDMuNiA3OC40LTQuOCA0NC4zLTI4LjQgMS45IDQuOC00NC4zLTE1LjgtNDNjMSAyMi4zLTkuMiA0MC4xLTMyIDQ5LjZsMjUuMiAzOC44LTM2LjQgMi40LTE5LjItMzYuOC00IDM4LjMtMjguNCAxLjkgMy4zLTMxLjVjLTYuNyA5LjMtMTkuNyAzNS40LTU5LjYgMzgtMjYuMiAxLjctNDUuNi0xMC4zLTU1LjQtMzkuMmwtNCA0MC4zLTI1IDEuNi0zNy42LTYzLjMtNi4zIDY2LjItNTYuOCAzLjd6bTI3Ni42LTgyLjFjMTAuMi0uNyAxNy41LTIuMSAyMS42LTQuMyA0LjUtMi40IDctNi40IDcuNi0xMi4xIC42LTUuMy0uNi04LjgtMy40LTEwLjQtMy42LTIuMS0xMC42LTIuOC0yMi45LTJsLTIuOSAyOC44ek0zMjcuNyAyMTRjNS42IDUuOSAxMi43IDguNSAyMS4zIDcuOSA0LjctLjMgOS4xLTEuOCAxMy4zLTQuMSA1LjUtMyAxMC42LTggMTUuMS0xNC4zbC0zNC4yIDIuMyAyLjQtMjMuOSA2My4xLTQuMyAxLjItMTItMzEuMiAyLjFjLTQuMS0zLjctNy44LTYuNi0xMS4xLTguMS00LTEuNy04LjEtMi44LTEyLjItMi41LTggLjUtMTUuMyAzLjYtMjIgOS4yLTcuNyA2LjQtMTIgMTQuNS0xMi45IDI0LjQtMS4xIDkuNiAxLjQgMTcuMyA3LjIgMjMuM3ptLTIwMS4zIDguMmwyMy44LTEuNi04LjMtMzcuNi0xNS41IDM5LjJ6Il19LGE4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtaXp1bmkiLGljb246WzUxMiw1MTIsW10sImYzY2MiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek0xNzYgMzU5LjljLTMxLjQgMTAuNi01OC44IDI3LjMtODAgNDguMkw5NiAxMzZjMC0yMi4xIDE3LjktNDAgNDAtNDBzNDAgMTcuOSA0MCA0MGwwIDIyMy45ek0yOTYgMzUwYy0xMi45LTItMjYuMi0zLjEtMzkuOC0zLjEtMTMuOCAwLTI3LjIgMS4xLTQwLjIgMy4xbDAtMjE0YzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAyMTR6bTEyMCA1Ny43Yy0yMS4yLTIwLjgtNDguNi0zNy40LTgwLTQ4TDMzNiAxMzZjMC0yMi4xIDE3LjktNDAgNDAtNDBzNDAgMTcuOSA0MCA0MGwwIDI3MS43eiJdfSxyOHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaXRjaC1pbyIsaWNvbjpbNTEyLDUxMixbXSwiZjgzYSIsIk03MS45IDM0LjhDNTAuMiA0Ny43IDcuNCA5Ni44IDcgMTA5LjdsMCAyMS4zYzAgMjcuMSAyNS4zIDUwLjggNDguMiA1MC44IDI3LjYgMCA1MC41LTIyLjggNTAuNS01MCAwIDI3LjEgMjIuMiA1MCA0OS44IDUwczQ5LTIyLjggNDktNTBjMCAyNy4xIDIzLjYgNTAgNTEuMiA1MGwuNSAwYzI3LjYgMCA1MS4yLTIyLjggNTEuMi01MCAwIDI3LjEgMjEuNSA1MCA0OSA1MHM0OS44LTIyLjggNDkuOC01MGMwIDI3LjEgMjMgNTAgNTAuNSA1MCAyMyAwIDQ4LjMtMjMuOCA0OC4zLTUwLjhsMC0yMS4zYy0uNC0xMi45LTQzLjItNjIuMS02NC45LTc1LTY3LjQtMi4zLTExNC4yLTIuNy0xODQtMi43UzkxLjEgMzMuMSA3MS45IDM0Ljh6TTIwNC4yIDE2OS4yYy0yMiAzOC40LTc3LjkgMzguNy05OS44IC4yLTEzLjIgMjMuMS00My4yIDMyLjEtNTYgMjcuNy0zLjkgNDAuMi0xMy43IDIzNy4xIDE3LjcgMjY5LjIgODAgMTguNyAzMDIuMSAxOC4xIDM3OS44IDAgMzEuNi0zMi4zIDIxLjMtMjMyIDE3LjctMjY5LjItMTIuOSA0LjQtNDIuOS00LjYtNTYtMjcuNy0yMiAzOC41LTc3LjggMzguMS05OS44LS4yLTcuMSAxMi41LTIzIDI4LjktNTEuOCAyOC45LTEwLjQgLjMtMjAuOC0yLjItMjkuOS03LjNzLTE2LjctMTIuNi0yMS45LTIxLjZsMCAwem0tNDEuNiA1My44YzE2LjUgMCAzMS4xIDAgNDkuMiAxOS44IDI5LjMtMyA1OC45LTMgODguMiAwIDE4LjItMTkuNyAzMi44LTE5LjcgNDkuMi0xOS43IDUyLjMgMCA2NS4yIDc3LjUgODMuOSAxNDQuNCAxNy4zIDYyLjItNS41IDYzLjctMzQgNjMuNy00Mi4xLTEuNi02NS41LTMyLjItNjUuNS02Mi44LTM5LjMgNi40LTEwMS45IDguOC0xNTUuNiAwIDAgMzAuNi0yMy4zIDYxLjItNjUuNSA2Mi44LTI4LjQtLjEtNTEuMi0xLjYtMzMuOS02My43IDE4LjctNjcgMzEuNi0xNDQuNCA4My45LTE0NC40bDAtLjF6TTI1NiAyNzAuOHMtNDQuNCA0MC44LTUyLjQgNTUuMmwyOS0xLjIgMCAyNS4zYzAgMS41IDIxLjMgLjIgMjMuMyAuMiAxMS42IC41IDIzLjMgMSAyMy4zLS4ybDAtMjUuMyAyOSAxLjJjLTgtMTQuNS01Mi40LTU1LjItNTIuNC01NS4ybC4xIDB6Il19LGk4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3aW5kb3dzIixpY29uOls0NDgsNTEyLFtdLCJmMTdhIiwiTTAgOTMuN2wxODMuNi0yNS4zIDAgMTc3LjQtMTgzLjYgMCAwLTE1Mi4xek0wIDQxOC4zbDE4My42IDI1LjMgMC0xNzUuMi0xODMuNiAwIDAgMTQ5Ljl6bTIwMy44IDI4bDI0NC4yIDMzLjcgMC0yMTEuNi0yNDQuMiAwIDAgMTc3Ljl6bTAtMzgwLjZsMCAxODAuMSAyNDQuMiAwIDAtMjEzLjgtMjQ0LjIgMzMuN3oiXX0sczh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0dW1ibGV1cG9uIixpY29uOls1MTIsNTEyLFtdLCJmMWE0IiwiTTUwMi45IDI2NmwwIDY5LjdjMCA2Mi4xLTUwLjMgMTEyLjQtMTEyLjQgMTEyLjQtNjEuOCAwLTExMi40LTQ5LjgtMTEyLjQtMTExLjNsMC03MC4yIDM0LjMgMTYgNTEuMS0xNS4yIDAgNzAuNmMwIDE0LjcgMTIgMjYuNSAyNi43IDI2LjVTNDE3IDM1Mi43IDQxNyAzMzhsMC03MiA4NS45IDB6TTI3OC4yIDIwNy44bDM0LjMgMTYgNTEuMS0xNS4yIDAtMzUuNmMwLTYwLjUtNTEuMS0xMDktMTEyLjEtMTA5LTYwLjggMC0xMTIuMSA0OC4yLTExMi4xIDEwOC4ybDAgMTYyLjRjMCAxNC45LTEyIDI2LjctMjYuNyAyNi43Uzg2IDM0OS41IDg2IDMzNC42bDAtNjguNi04NiAwIDAgNjkuN2MwIDYyIDUwLjMgMTEyLjMgMTEyLjQgMTEyLjMgNjEuNiAwIDExMi40LTQ5LjUgMTEyLjQtMTEwLjhsMC0xNjAuM2MwLTE0LjcgMTItMjYuNyAyNi43LTI2LjdzMjYuNyAxMiAyNi43IDI2LjdsMCAzMC45eiJdfSwkRz17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29nbGUiLGljb246WzUxMiw1MTIsW10sImYxYTAiLCJNNTAwIDI2MS44QzUwMCA0MDMuMyA0MDMuMSA1MDQgMjYwIDUwNCAxMjIuOCA1MDQgMTIgMzkzLjIgMTIgMjU2UzEyMi44IDggMjYwIDhjNjYuOCAwIDEyMyAyNC41IDE2Ni4zIDY0LjlsLTY3LjUgNjQuOWMtODguMy04NS4yLTI1Mi41LTIxLjItMjUyLjUgMTE4LjIgMCA4Ni41IDY5LjEgMTU2LjYgMTUzLjcgMTU2LjYgOTguMiAwIDEzNS03MC40IDE0MC44LTEwNi45bC0xNDAuOCAwIDAtODUuMyAyMzYuMSAwYzIuMyAxMi43IDMuOSAyNC45IDMuOSA0MS40eiJdfSxvOHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGlzY29yZCIsaWNvbjpbNTc2LDUxMixbXSwiZjM5MiIsIk00OTIuNSA2OS44Yy0uMi0uMy0uNC0uNi0uOC0uNy0zOC4xLTE3LjUtNzguNC0zMC0xMTkuNy0zNy4xLS40LS4xLS44IDAtMS4xIC4xcy0uNiAuNC0uOCAuOGMtNS41IDkuOS0xMC41IDIwLjItMTQuOSAzMC42LTQ0LjYtNi44LTg5LjktNi44LTEzNC40IDAtNC41LTEwLjUtOS41LTIwLjctMTUuMS0zMC42LS4yLS4zLS41LS42LS44LS44cy0uNy0uMi0xLjEtLjJjLTQxLjMgNy4xLTgxLjYgMTkuNi0xMTkuNyAzNy4xLS4zIC4xLS42IC40LS44IC43LTc2LjIgMTEzLjgtOTcuMSAyMjQuOS04Ni45IDMzNC41IDAgLjMgLjEgLjUgLjIgLjhzLjMgLjQgLjUgLjZjNDQuNCAzMi45IDk0IDU4IDE0Ni44IDc0LjIgLjQgLjEgLjggLjEgMS4xIDBzLjctLjQgLjktLjdjMTEuMy0xNS40IDIxLjQtMzEuOCAzMC00OC44IC4xLS4yIC4yLS41IC4yLS44czAtLjUtLjEtLjgtLjItLjUtLjQtLjYtLjQtLjMtLjctLjRjLTE1LjgtNi4xLTMxLjItMTMuNC00NS45LTIxLjktLjMtLjItLjUtLjQtLjctLjZzLS4zLS42LS4zLS45IDAtLjYgLjItLjkgLjMtLjUgLjYtLjdjMy4xLTIuMyA2LjItNC43IDkuMS03LjEgLjMtLjIgLjYtLjQgLjktLjRzLjcgMCAxIC4xYzk2LjIgNDMuOSAyMDAuNCA0My45IDI5NS41IDAgLjMtLjEgLjctLjIgMS0uMnMuNyAuMiAuOSAuNGMyLjkgMi40IDYgNC45IDkuMSA3LjIgLjIgLjIgLjQgLjQgLjYgLjdzLjIgLjYgLjIgLjktLjEgLjYtLjMgLjktLjQgLjUtLjYgLjZjLTE0LjcgOC42LTMwIDE1LjktNDUuOSAyMS44LS4yIC4xLS41IC4yLS43IC40cy0uMyAuNC0uNCAuNy0uMSAuNS0uMSAuOCAuMSAuNSAuMiAuOGM4LjggMTcgMTguOCAzMy4zIDMwIDQ4LjggLjIgLjMgLjYgLjYgLjkgLjdzLjggLjEgMS4xIDBjNTIuOS0xNi4yIDEwMi42LTQxLjMgMTQ3LjEtNzQuMiAuMi0uMiAuNC0uNCAuNS0uNnMuMi0uNSAuMi0uOGMxMi4zLTEyNi44LTIwLjUtMjM2LjktODYuOS0zMzQuNXptLTMwMiAyNjcuN2MtMjkgMC01Mi44LTI2LjYtNTIuOC01OS4yczIzLjQtNTkuMiA1Mi44LTU5LjJjMjkuNyAwIDUzLjMgMjYuOCA1Mi44IDU5LjIgMCAzMi43LTIzLjQgNTkuMi01Mi44IDU5LjJ6bTE5NS40IDBjLTI5IDAtNTIuOC0yNi42LTUyLjgtNTkuMnMyMy40LTU5LjIgNTIuOC01OS4yYzI5LjcgMCA1My4zIDI2LjggNTIuOCA1OS4yIDAgMzIuNy0yMy4yIDU5LjItNTIuOCA1OS4yeiJdfSxuOHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaGFja2VyLW5ld3MiLGljb246WzQ0OCw1MTIsW10sImYxZDQiLCJNMCAzMmwwIDQ0OCA0NDggMCAwLTQ0OC00NDggMHpNMjEuMiAyMjkuMmwtLjIgMGMuMS0uMSAuMi0uMyAuMy0uNCAwIC4xIDAgLjMtLjEgLjR6bTIxOCA1My45bDAgMTAwLjktMzEuNCAwIDAtMTAyLjctNzkuOC0xNTMuMyAzNy4zIDBjNTIuNSA5OC4zIDQ5LjIgMTAxLjIgNTkuMyAxMjUuNiAxMi4zLTI3IDUuOC0yNC40IDYwLjYtMTI1LjZsMzQuOCAwLTgwLjggMTU1LjF6Il19LHBvZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlbGV2ZW50eSIsaWNvbjpbNjQwLDUxMixbIjExdHkiXSwiZTdkNiIsIk02MTUuMyAxNjguNWMyLjMgMCA0LjYgLjcgNi42IDIuMiAxLjkgMS40IDMuMSAzLjMgMy44IDUgMS40IDMuMyAxLjggNy4zIDEuOCAxMS4zIDAgMi4yLS4zIDQuOS0uNyA3LjZsMCAuNC01MC45IDI2NC45IDAgMGMtNCAyMi4xLTguNSAzOS40LTEzLjYgNTEuNy01IDEyLjEtMTAuOSAyMS42LTE4LjYgMjdsMCAwYy03LjUgNS4zLTE2LjkgNy43LTI3LjYgOGwtMyAwYy0xNiAwLTI5LjMtNC4yLTM2LjktMTQuOC0uMS0uMS0uMS0uMS0uMi0uMi0uMS0uMi0uMy0uNC0uNS0uNmwwIDBjLTEuOC0yLjQtMi41LTUuMi0yLjktNy40LS41LTIuOC0uNy02LjEtLjctOS44IDAtNy4zIC42LTEzLjUgMi4xLTE4LjIgMS40LTQuNCA0LjgtMTAuNCAxMi4yLTEwLjRsMS4zIC4xYy4yIDAgLjQgLjEgLjUgLjEgLjMgLjEgLjYgLjEgLjggLjIgLjYgLjEgMS4zIC4zIDIuMiAuNmw3LjYgMi4yIC4xIDAgNy42IDIuMWMuOSAuMiAxLjcgLjQgMi4yIC41IC40IC4xIC42IC4xIC43IC4xIDAgMCAuMSAwIC4yLS4xIC4xLS4xIC40LS4yIC44LS42IC45LS45IDIuMi0yLjYgMy42LTUuNyAyLjYtNS44IDQuMi0xNC43IDQuMi0yNy40IDAtLjctLjMtMy40LTEuMy04LjktLjktNS4xLTIuMy0xMi4yLTQuMi0yMS4xbC01Ni0yMzIuOS0uMS0uNCAwLS4zYy0uNC0yLjctLjctNS4zLS43LTcuMyAwLTMuNyAuNC03LjUgMS43LTEwLjYgLjctMS42IDEuOC0zLjQgMy41LTQuOSAxLjktMS41IDQuMi0yLjMgNi41LTIuM2wzNC42IDBjNC42IDAgOC43IDEuNyAxMS45IDVsMS4zIDEuNWMxLjIgMS42IDIgMy40IDIuNyA1LjIgLjkgMi40IDEuNSA1LjEgMiA4LjFsMzAuNCAxNjEuMiAyMy44LTE2MGMuOC01LjggMi4yLTExLjQgNS4xLTE1LjEgMy0zLjggNy4yLTUuOCAxMi01LjhsMjQgMHpNMzc1LjEgMzQuNmMyLjYgMCA1LjEgLjcgNy40IDIuMyAyLjIgMS41IDMuNyAzLjYgNC43IDUuNyAxLjkgNCAyLjUgOS4xIDIuNSAxNC41bDAgMTExLjJjMCAuMSAwIC4yIDAgLjNsMzIuNCAwYzIuNSAwIDUgLjYgNy4yIDIuMSAyLjIgMS40IDMuNyAzLjQgNC44IDUuNSAyIDMuOSAyLjYgOC44IDIuNiAxMy45bDAgMTUuNGMwIDUtLjYgOS44LTIuNiAxMy43LTEuMSAyLTIuNiA0LTQuOCA1LjQtMi4yIDEuNC00LjcgMi03LjEgMmwtMzIuNSAwIDAgMTQ1LjhjMCAxMC44IC43IDE5LjUgMiAyNi4yIDEuNCA2LjkgMy4xIDEwLjkgNC43IDEyLjkgMS4yIDEuNSAyLjIgMi41IDMuMSAzLjJsMi4yIDEuNCAuMSAuMSAyLjkgLjhjMS4yIC4yIDIuNiAuMyA0LjMgLjNsMjAuMyAwYzQuNSAwIDguOSAxLjcgMTEuOCA1LjggMi42IDMuNiAzLjMgOC4xIDMuMyAxMi4ybDAgMTcuMmMwIDQuNS0uOCA5LjMtMy40IDEzLjEtMyA0LjItNy41IDYtMTIuMyA2bDAgMC0yOS4xIC4xYy04IDAtMTUtLjYtMjEuMi0xLjctNi43LTEuMy0xMy40LTQuMS0yMC4xLTguMS03LjItNC40LTEzLTEwLjMtMTcuNS0xNy44LTQuNS03LjUtNy45LTE3LjUtMTAuNS0yOS41LTIuNi0xMi4yLTMuOS0yNi42LTMuOS00M2wwLTE0NC45LTEzLjQgMGMtMi40IDAtNC45LS42LTcuMS0yLTIuMi0xLjQtMy43LTMuNC00LjgtNS40LTItMy45LTIuNi04LjctMi42LTEzLjdsMC0xNS40YzAtNS4xIC42LTEwIDIuNi0xMy45IDEuMS0yLjEgMi42LTQgNC44LTUuNSAyLjItMS41IDQuNy0yLjEgNy4yLTIuMWwxMy40IDAgMC0uNiA1LjItMTExLjIgMC0uMSAuMy0zLjljLjUtMy44IDEuMy03LjQgMi43LTEwLjMgMi4xLTQuMiA2LTcuOSAxMS44LTcuOWwyOC42IDB6bS0yNjggMTEuN2MxLjggLjMgMy42IC45IDUuMyAyLjEgMi4xIDEuNSAzLjUgMy41IDQuNCA1LjQgMS43IDMuNyAyLjMgOC40IDIuMyAxMy4ybDAgMzc3LjhjMCA2LjctLjYgMTIuNi0yLjQgMTcuMS0uOSAyLjMtMi4zIDQuNy00LjQgNi41LTIuMyAyLTUuMSAzLTguMSAzbC00My43IDBjLTMgMC01LjgtMS4xLTguMS0zLjEtMi4xLTEuOS0zLjQtNC4zLTQuMi02LjUtMS43LTQuNS0yLjMtMTAuMy0yLjMtMTdsMC0zMTUuOGMtNC44IDEuMi04LjcgMi4yLTExLjUgMi45LTEuOSAuNS0zLjQgLjgtNC40IDEuMS0uNSAuMS0uOSAuMi0xLjIgLjMtLjEgMC0uMyAuMS0uNSAuMS0uMSAwLS4yIDAtLjMgLjEgMCAwLS4yIDAtLjMgMCAwIDAtLjIgMC0uNCAwbDAgMGMtLjEgMC0uMyAwLS40IDAtLjEgMC0uMiAwLS4yIDAtMi4yIC4xLTQuNS0uNC02LjYtMS43LTIuMy0xLjQtMy44LTMuNC00LjctNS4zLTEuOC0zLjctMi4zLTguNC0yLjMtMTNsMC0yNy40YzAtNC40IC43LTguOCAyLjYtMTIuNCAyLjEtMy45IDUuNS02LjYgOS44LTcuNmw3NS41LTE5LjVjMS40LS40IDIuOS0uNSA0LjQtLjVsMS44IC4xem0xNDMuOC0uNWMxLjggLjMgMy42IC45IDUuMiAyLjEgMi4xIDEuNSAzLjUgMy41IDQuNCA1LjQgMS43IDMuNyAyLjIgOC40IDIuMiAxMy4ybDAgMzc3LjhjMCA2LjctLjYgMTIuNi0yLjQgMTcuMS0uOSAyLjMtMi4zIDQuNy00LjQgNi41LTIuMyAyLTUuMSAzLTguMSAzbC00My43IDBjLTMgMC01LjgtMS4xLTguMS0zLjEtMi4xLTEuOS0zLjQtNC4zLTQuMi02LjUtMS43LTQuNS0yLjMtMTAuMy0yLjMtMTdsMC0zMTUuOGMtNC44IDEuMi04LjcgMi4yLTExLjUgMi45LTEuOSAuNS0zLjQgLjgtNC40IDEuMS0uNSAuMS0uOSAuMi0xLjIgLjMtLjEgMC0uMyAuMS0uNSAuMS0uMSAwLS4yIDAtLjMgLjEtLjEgMC0uMiAwLS4zIDAgMCAwLS4yIDAtLjQgMGwwIDBjLS4xIDAtLjIgMC0uMyAwLS4xIDAtLjIgMC0uMyAwLTIuMiAuMS00LjUtLjQtNi42LTEuNy0yLjMtMS40LTMuOC0zLjQtNC43LTUuMy0xLjgtMy43LTIuMy04LjMtMi4zLTEzbDAtMjcuNGMwLTQuNCAuNy04LjcgMi42LTEyLjQgMi4xLTMuOSA1LjUtNi42IDkuOC03LjZsNzUuNC0xOS40YzEuNC0uNCAyLjktLjUgNC40LS41bDEuOCAuMXoiXX0sbDh0PXBvZSxjOHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGVhbXNwZWFrIixpY29uOls1NzYsNTEyLFtdLCJmNGY5IiwiTTE1Mi44IDM3LjJjLTMyLjIgMzguMS01Ni4xIDgyLjYtNjkuOSAxMzAuNSAwIC4yLS4xIC4zLS4xIC41LTM5LjMgMTYuMi02Ni44IDU0LjgtNjYuOCA5OS44IDAgNTkuNiA0OC40IDEwOCAxMDggMTA4czEwOC00OC40IDEwOC0xMDhjMC01My41LTM4LjktOTcuOS05MC0xMDYuNSAxNS43LTQxLjggNDAuNC03OS42IDcyLjMtMTEwLjcgMS44LTEuNiA0LTIuNiA2LjMtMy4xIDM3LjItMTEuNSA3Ni43LTEzLjMgMTE0LjgtNS4yIDExOS4zIDI1LjEgMTk4LjYgMTM4LjIgMTgxLjcgMjU4LjgtOC40IDYyLjYtMzguNiAxMTIuNy04Ny43IDE1MS40LTUwLjEgMzkuNy0xMDcuNSA1NC4zLTE3MC4yIDUyLjJsLTI0LTFjMTIuNCAyLjggMjUgNC45IDM3LjYgNi4zIDQwLjcgNC4yIDgxLjQgMi4xIDEyMC4xLTEyLjUgOTQtMzUuNSAxNDkuMy0xMDIuMyAxNjIuOS0yMDIuNSA0LjgtNTIuNi01LjgtMTA1LjQtMzAuOC0xNTItNzAuNC0xMzEuOS0yMzQuMi0xODEuNi0zNjYtMTExLjItMi40IDEuNC00LjUgMy4xLTYuMyA1LjJsLjEgMHpNMzA5LjQgNDMzLjljLTIuMSAxMS41LTQuMiAyMS45LTE0LjYgMzEuMyA1My4yLTEgMTIzLjItMjkuMiAxNjEuOC05Ny4xIDM5LjctNjkuOSAzNy42LTEzOS45LTYuMy0yMDcuOC0zNi41LTU1LjMtODkuOC04Mi40LTE1Ni42LTg2LjYgMS41IDIuMyAzLjIgNC40IDUuMiA2LjNsNS4yIDYuM2MyNS4xIDMxLjMgMzcuNiA2Ny45IDQyLjggMTA3LjUgMi4xIDE1LjctMSAzMC4zLTEzLjYgNDEuOC00LjIgMy4xLTUuMiA2LjMtNC4yIDEwLjRsNy4zIDE3LjcgMjkuMyA1NC4zYzUuMiAxMS41IDQuMiAxOS44LTYuMyAyOC4yLTMuMiAyLjUtNi43IDQuNi0xMC40IDYuM2wtMTguOCA4LjQgMy4xIDEzLjZjMy4xIDYuMyAxIDEyLjUtMy4xIDE3LjctMi41IDIuNC0zLjggNS45LTMuMSA5LjQgMi4xIDExLjUtMi4xIDE5LjgtMTIuNSAyNS4xLTIuMSAxLTQuMiA1LjItNS4yIDcuM2wwLS4xem0tMTMzLjYtMy4xYzE2LjcgMTEuNSAzNC41IDIwLjkgNTMuMiAyNi4xIDI0IDUuMiA0MS44LTYuMyA0NC45LTMwLjMgMS04LjQgNS4yLTE0LjYgMTIuNS0xNy43IDcuMy00LjIgOC40LTcuMyAyLjEtMTMuNmwtOS40LTguNCAxMy42LTQuMmM2LjMtMi4xIDcuMy01LjIgNS4yLTExLjUtMS40LTMtMi40LTYuMi0zLjEtOS40LTMuMS0xNC42LTIuMS0xNS43IDExLjUtMTguOCA4LjQtMy4xIDE1LjctNi4zIDIxLjktMTIuNSAzLjEtMi4xIDMuMS00LjIgMS04LjRsLTE2LjctMzAuM2MtMS0xLjktMi4xLTMuOC0zLjEtNS43LTYuNC0xMS43LTEzLTIzLjYtMTUuNy0zNy4xLTIuMS05LjQtMS0xNy43IDguNC0yNCA1LjItNC4yIDguNC05LjQgOC40LTE2LjctLjQtMTAuMS0xLjUtMjAuMy0zLjEtMzAuMy02LjMtMzcuNi0yMy02OC45LTUxLjItOTUtNS4yLTQuMi05LjQtNi4zLTE2LjctNC4ybC0zNS42IDEyLjcgNiAzLjZjNi4zIDMuNyAxMi4yIDcuMyAxNyAxMi4xIDMwLjMgMjYuMSA0MS44IDYxLjYgNDUuOSAxMDAuMiAxIDguNCAwIDE2LjctNy4zIDIxLjktOC40IDUuMi0xMC40IDEyLjUtNy4zIDIwLjkgNC45IDEzLjIgMTAuNCAyNiAxNi43IDM4LjZMMjkxLjYgMzE4Yy02LjMgOC40LTEzLjYgMTEuNS0yMS45IDE0LjYtMTIuNSAzLjEtMTQuNiA3LjMtMTAuNCAyMC45IC42IDEuNSAxLjQgMi44IDIuMSA0LjIgMi4xIDUuMiAxIDguNC00LjIgMTAuNGwtMTIuNSAzLjEgNS4yIDQuMiA0LjIgNC4yYzQuMiA1LjIgNC4yIDguNC0yLjEgMTAuNC03LjMgNC4yLTExLjUgOS40LTExLjUgMTcuNyAwIDEyLjUtNy4zIDE5LjgtMTguOCAyNC0zLjggMS03LjYgMS41LTExLjUgMWwtMzQuNS0yLjEgLjEgLjJ6Il19LGQ4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdXBwbGUiLGljb246WzY0MCw1MTIsW10sImYzZjkiLCJNNjQwIDI2Mi41YzAgNjQuMS0xMDkgMTE2LjEtMjQzLjUgMTE2LjEtMjQuOCAwLTQ4LjYtMS44LTcxLjEtNSA3LjcgLjQgMTUuNSAuNiAyMy40IC42IDEzNC41IDAgMjQzLjUtNTYuOSAyNDMuNS0xMjcuMSAwLTI5LjQtMTkuMS01Ni40LTUxLjItNzggNjAgMjEuMSA5OC45IDU1LjEgOTguOSA5My40ek00Ny43IDIyNy45Yy0uMS03MC4yIDEwOC44LTEyNy4zIDI0My4zLTEyNy42IDcuOSAwIDE1LjYgLjIgMjMuMyAuNS0yMi41LTMuMi00Ni4zLTQuOS03MS00LjktMTM0LjUgLjQtMjQzLjQgNTIuNi0yNDMuMyAxMTYuNyAuMSAzOC4zIDM5LjEgNzIuMyA5OS4zIDkzLjMtMzIuMy0yMS41LTUxLjUtNDguNi01MS42LTc4em02MC4yIDM5LjlTMTE4LjQgMjgxIDEzNy4yIDI4MWMxNy45IDAgMjguNC0xMS41IDI4LjQtMjUuMSAwLTI4LTQwLjItMjUuMS00MC4yLTM5LjcgMC01LjQgNS4zLTkuMSAxMi41LTkuMSA1LjcgMCAxMS4zIDIuNiAxMS4zIDYuNmwwIDMuOSAxNC4yIDAgMC03LjljMC0xMi4xLTE1LjQtMTYuOC0yNS40LTE2LjgtMTYuNSAwLTI4LjUgMTAuMi0yOC41IDI0LjEgMCAyNi42IDQwLjIgMjUuNCA0MC4yIDM5LjkgMCA2LjYtNS44IDEwLjEtMTIuMyAxMC4xLTExLjkgMC0yMC43LTEwLjEtMjAuNy0xMC4xbC04LjggMTAuOXptMTIwLjgtNzMuNmwwIDU0LjRjMCAxMS4zLTcuMSAxNy44LTE3LjggMTcuOHMtMTcuOC02LjUtMTcuOC0xNy43bDAtNTQuNS0xNS44IDAgMCA1NWMwIDE4LjkgMTMuNCAzMS45IDMzLjcgMzEuOSAyMC4xIDAgMzMuNC0xMyAzMy40LTMxLjlsMC01NS0xNS43IDB6bTM0LjQgODUuNGwxNS44IDAgMC0yOS41IDE1LjUgMGMxNiAwIDI3LjItMTEuNSAyNy4yLTI4LjFzLTExLjItMjcuOC0yNy4yLTI3LjhsLTM5LjEgMCAwIDEzLjQgNy44IDAgMCA3MnptMTUuOC00M2wwLTI5LjEgMTIuOSAwYzguNyAwIDEzLjcgNS43IDEzLjcgMTQuNCAwIDguOS01LjEgMTQuNy0xNCAxNC43bC0xMi42IDB6bTU3IDQzbDE1LjggMCAwLTI5LjUgMTUuNSAwYzE2IDAgMjcuMi0xMS41IDI3LjItMjguMXMtMTEuMi0yNy44LTI3LjItMjcuOGwtMzkuMSAwIDAgMTMuNCA3LjggMCAwIDcyem0xNS43LTQzbDAtMjkuMSAxMi45IDBjOC43IDAgMTMuNyA1LjcgMTMuNyAxNC40IDAgOC45LTUgMTQuNy0xNCAxNC43bC0xMi42IDB6bTU3LjEgMzQuOGMwIDUuOCAyLjQgOC4yIDguMiA4LjJsMzcuNiAwYzUuOCAwIDguMi0yLjQgOC4yLTguMmwwLTEzLTE0LjMgMCAwIDUuMmMwIDEuNy0xIDIuNi0yLjYgMi42bC0xOC42IDBjLTEuNyAwLTIuNi0xLTIuNi0yLjZsMC02MS4yYzAtNS43LTIuNC04LjItOC4yLTguMmwtMTUuNCAwIDAgMTMuNCA1LjIgMGMxLjcgMCAyLjYgMSAyLjYgMi42bDAgNjEuMi0uMSAwem02My40IDBjMCA1LjggMi40IDguMiA4LjIgOC4ybDM4LjcgMGM1LjcgMCA4LjItMi40IDguMi04LjJsMC0xMy0xNC4zIDAgMCA1LjJjMCAxLjctMSAyLjYtMi42IDIuNmwtMTkuNyAwYy0xLjcgMC0yLjYtMS0yLjYtMi42bDAtMjAuMyAyNy43IDAgMC0xMy40LTI3LjcgMCAwLTIyLjQgMTkuMiAwYzEuNyAwIDIuNiAxIDIuNiAyLjZsMCA1LjIgMTQuMiAwIDAtMTNjMC01LjctMi41LTguMi04LjItOC4ybC01MS42IDAgMCAxMy40IDcuOCAwIDAgNjMuOSAuMSAwem01OC45LTc2bDAgNS45IDEuNiAwIDAtNS45IDIuNyAwIDAtMS4yLTcgMCAwIDEuMiAyLjcgMHptNS43LTEuMmwwIDcuMSAxLjUgMCAwLTUuNyAyLjMgNS43IDEuMyAwIDIuMy01LjcgMCA1LjcgMS41IDAgMC03LjEtMi4zIDAtMi4xIDUuMS0yLjEtNS4xLTIuNCAweiJdfSx1b2U9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXR3aXR0ZXIiLGljb246WzQ0OCw1MTIsWyJ0d2l0dGVyLXNxdWFyZSJdLCJmMDgxIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTM1MS4zIDE5OS4zYzAgODYuNy02NiAxODYuNi0xODYuNiAxODYuNi0zNy4yIDAtNzEuNy0xMC44LTEwMC43LTI5LjQgNS4zIC42IDEwLjQgLjggMTUuOCAuOCAzMC43IDAgNTguOS0xMC40IDgxLjQtMjgtMjguOC0uNi01My0xOS41LTYxLjMtNDUuNSAxMC4xIDEuNSAxOS4yIDEuNSAyOS42LTEuMi0zMC02LjEtNTIuNS0zMi41LTUyLjUtNjQuNGwwLS44YzguNyA0LjkgMTguOSA3LjkgMjkuNiA4LjMtOS02LTE2LjQtMTQuMS0yMS41LTIzLjZzLTcuOC0yMC4yLTcuNy0zMWMwLTEyLjIgMy4yLTIzLjQgOC45LTMzLjEgMzIuMyAzOS44IDgwLjggNjUuOCAxMzUuMiA2OC42LTkuMy00NC41IDI0LTgwLjYgNjQtODAuNiAxOC45IDAgMzUuOSA3LjkgNDcuOSAyMC43IDE0LjgtMi44IDI5LTguMyA0MS42LTE1LjgtNC45IDE1LjItMTUuMiAyOC0yOC44IDM2LjEgMTMuMi0xLjQgMjYtNS4xIDM3LjgtMTAuMi04LjkgMTMuMS0yMC4xIDI0LjctMzIuOSAzNCAuMiAyLjggLjIgNS43IC4yIDguNXoiXX0scDh0PXVvZSx1OHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmltIixpY29uOls1MTIsNTEyLFtdLCJlODhhIiwiTTMwMy4zIDU0LjVsMC0xMi4zIDQtMy43IDcuOS03LjIgMy41LTMuMiAxNjggMCAxNS4xIDE1LjEgMCAzOC45LTMuNSAzLjYtODAuOSA4Mi45IDg2LjkgODYuOS05MS4yIDkxLjIgOC45IDAgNy42LTguMyAxLS45YzEuMS0uOCAyLjUtMS4yIDMuOS0xLjJsMjguOSAwIDEuNSAuMmMxLjUgLjQgMi44IDEuMiAzLjggMi41bDcuNiAxMC4yYzEuMyAxLjcgMS42IDMuOSAxIDUuOWwtMjIuMyA3Mi41IDEuMiAwYzIuMiAwIDQuMiAxLjEgNS41IDIuOXMxLjUgNC4xIC43IDYuMUw0NTkgNDQ1Yy0xIDIuNi0zLjQgNC4yLTYuMiA0LjJsLTQwLjQgMGMtMi4xIDAtNC4xLTEtNS4zLTIuN3MtMS42LTMuOS0xLTUuOWwyMC02My4yLTIyLjIgMC0xNi4yIDUwLjdjMi4xIC4xIDQuMSAxLjEgNS4zIDIuOSAxLjIgMS44IDEuNCA0LjIgLjYgNi4ybC0zLjMgNy45Yy0xIDIuNS0zLjUgNC4xLTYuMSA0LjFsLTM2LjggMGMtMi4xIDAtNC4xLTEtNS40LTIuN3MtMS42LTMuOS0xLTUuOWwxMC0zMi4xLTIzLjkgMjMuOGMuMyAxLjIgLjMgMi41LS4xIDMuOGwtMi45IDguNmMtLjkgMi43LTMuNCA0LjUtNi4zIDQuNWwtNy40IDAtNTQuNiA1NC42LTgzLjgtODMuOC0zMS42IDMyLjUtMy42IDMuNy00OS4yIDAtMi44LTEuN2MtOC44LTUuMS0xNC44LTguNS0xNy45LTEwLjNsMC0xMjkuMy01OC41LTU4LjUgMi42LTIuNiA1NS45LTU2IDAtOTkuNC0xMi42IDAtMTAuOC0xMC44LTMuNi0zLjYgMC00MC43IDMuMi0zLjUgNy45LTguNSAzLjctMy45IDE2Ni42IDAgOCA4IDI3LjQtMjcuNCA0Ni40IDQ2LjR6bS0yNTEtNS42bDAgMzAuMyA5LjQgNy44IDE4LjkgMCAwIDM0Ny45IDExLjQgMTAuMyAzOC4yIDAgOTEtOTNjMC0uNCAuMS0uOCAuMi0xLjFsMi42LTEwLjVjLjctMi45IDMuNC01IDYuNC01bDcuMSAwIDE1LjUtMTUuOS0yLTJjLTEuOC0xLjgtMi40LTQuNS0xLjUtNi45bDYuOS0xOS4zYy40LTEuMSAxLjEtMiAxLjktMi44bDYuOS01LjljMS4yLTEgMi44LTEuNiA0LjMtMS42bDE5LjcgMCAxLjMgLjJjLjEgMCAuMSAuMSAuMiAuMWwxOTkuMi0yMDMuNSAwLTI4LjctOC4yLTcuNC0xNTYuMiAwLTcuOCA3LjggMCAzMC41IDguMiA3LjQgMjEgMC0xNDcgMTQ2LjQgMC0xNDYuNiAxNi45IDAgOC43LTguNyAwLTI3LjctNy40LTkuOS0xNTcuNiAwLTggOHpNMjI3LjYgMzUyLjdsMTQuOCAwLTMxLjggOTAuOSA0NS4zIDAgMy05LjYtMTIuNSAwIDMxLjUtOTEuOS00Ny42IDAtMi42IDEwLjV6bTEzNi45IDFsLTE2LjQgMC0xMC41LTEwLjgtMzUuOCAwLTMuMyA5LjggMTEuOCAwLTMwLjUgODkuOSAzOC4xIDAgMi45LTguNi04LjggMCAyMC02MyAzNy44IDAtMjIuMyA3MS42IDM2LjggMCAzLjMtNy45LTguOCAwIDIwLjMtNjQgMzYuMSAwLTIyLjcgNzEuOSA0MC40IDAgMy4zLTguNi0xMC4yIDAgMjUtODEuMS03LjUtMTAuMi0yOC45IDAtOS41IDEwLjUtMTcuNCAwLTkuOS0xMC44LTIzLjMgMC05LjggMTEuMnpNMjYyLjUgMjkzLjZsLTYuOSAxOS4zIDUuMyA1LjMgMjEuMyAwIDUuNi01LjYgNS45LTIwLjMtNC42LTQuNi0xOS43IDAtNi45IDUuOXoiXX0sTEc9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm9udC1hd2Vzb21lIixpY29uOls1MTIsNTEyLFs2MjUwMSw2MjY5NCwiZm9udC1hd2Vzb21lLWZsYWciLCJmb250LWF3ZXNvbWUtbG9nby1mdWxsIl0sImYyYjQiLCJNOTEuNyA5NkMxMDYuMyA4Ni44IDExNiA3MC41IDExNiA1MiAxMTYgMjMuMyA5Mi43IDAgNjQgMFMxMiAyMy4zIDEyIDUyYzAgMTYuNyA3LjggMzEuNSAyMCA0MWwwIDQxOSA2NCAwIDAtNjQgMzczLjYgMGMxNC42IDAgMjYuNC0xMS44IDI2LjQtMjYuNCAwLTMuNy0uOC03LjMtMi4zLTEwLjdMNDMyIDI3MiA0OTMuNyAxMzMuMWMxLjUtMy40IDIuMy03IDIuMy0xMC43IDAtMTQuNi0xMS44LTI2LjQtMjYuNC0yNi40TDkxLjcgOTZ6Il19LGY4dD1MRyxoOHQ9TEcsZm9lPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndpcnNpbmRoYW5kd2VyayIsaWNvbjpbNDQ4LDUxMixbIndzaCJdLCJlMmQwIiwiTTE4LjkgNDc5LjhsODMuNCAwIDAtMTEyLTgzLjQgNDcgMCA2NXptMzI5IDBsODIuNCAwIDAtNjUtODIuNC00NyAwIDExMnptMC00NDhsMCAyMTkuOC0xMjMuNi03Mi40LTEyMS43IDcyLjQgMC0yMTkuOC04My43IDAgMCAzNjAuOCAyMDUuNC0xMjIuMyAyMDYgMTIyLjMgMC0zNjAuOC04Mi4zIDB6Il19LG04dD1mb2UsZzh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Inpvb20iLGljb246WzY0MCw1MTIsW10sImU4N2IiLCJNMTM0LjIgMzI2LjZsLTExNC40IDBjLTggMC0xNS4yLTQuOC0xOC4zLTEyLjJTLjEgMjk4LjYgNS44IDI5Mi45bDc5LjMtNzkuMy01Ni44IDBDMTIuNyAyMTMuNiAwIDIwMSAwIDE4NS40bDEwNS41IDBjOCAwIDE1LjIgNC44IDE4LjMgMTIuMnMxLjQgMTUuOS00LjMgMjEuNmwtNzkuMyA3OS4zIDY1LjcgMGMxNS42IDAgMjguMyAxMi42IDI4LjMgMjguM3pNNjQwIDIzOC4zYzAtMzAuNC0yNC43LTU1LjEtNTUuMS01NS4xLTE2LjIgMC0zMC45IDcuMS00MSAxOC4zLTEwLjEtMTEuMi0yNC43LTE4LjMtNDEtMTguMy0zMC40IDAtNTUuMSAyNC43LTU1LjEgNTUuMWwwIDg4LjNjMTUuNiAwIDI4LjMtMTIuNyAyOC4zLTI4LjNsMC02MGMwLTE0LjggMTItMjYuOCAyNi44LTI2LjhzMjYuOCAxMiAyNi44IDI2LjhsMCA2MGMwIDE1LjYgMTIuNiAyOC4zIDI4LjMgMjguM2wwLTg4LjNjMC0xNC44IDEyLTI2LjggMjYuOC0yNi44czI2LjggMTIgMjYuOCAyNi44bDAgNjBjMCAxNS42IDEyLjYgMjguMyAyOC4zIDI4LjNsMC04OC4zek0yODguMiAyNTZhNzIuOCA3Mi44IDAgMSAxIDE0NS41IDAgNzIuOCA3Mi44IDAgMSAxIC0xNDUuNSAwem0xMTcuMyAwYTQ0LjUgNDQuNSAwIDEgMCAtODkgMCA0NC41IDQ0LjUgMCAxIDAgODkgMHptLTI3NC4xIDBhNzIuOCA3Mi44IDAgMSAxIDE0NS41IDAgNzIuOCA3Mi44IDAgMSAxIC0xNDUuNSAwem0xMTcuMyAwYTQ0LjUgNDQuNSAwIDEgMCAtODkgMCA0NC41IDQ0LjUgMCAxIDAgODkgMHoiXX0sYjh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNvbmZsdWVuY2UiLGljb246WzUxMiw1MTIsW10sImY3OGQiLCJNMi44IDQxMi4yYy00LjUgNy42LTIuMSAxNy41IDUuNSAyMi4ybDEwNS45IDY1LjJjNy43IDQuNyAxNy43IDIuNCAyMi40LTUuMyAwLS4xIC4xLS4yIC4xLS4yIDY3LjEtMTEyLjIgODAuNS05NS45IDI4MC45LS43IDguMSAzLjkgMTcuOCAuNCAyMS43LTcuNyAuMS0uMSAuMS0uMyAuMi0uNGw1MC40LTExNC4xYzMuNi04LjEtLjEtMTcuNi04LjEtMjEuMy0yMi4yLTEwLjQtNjYuMi0zMS4yLTEwNS45LTUwLjMtMjQ3LjktMTIwLjYtMzMwLjggNDUuNy0zNzMuMSAxMTIuNnpNNTEwLjIgMTAwLjFjNC41LTcuNiAyLjEtMTcuNS01LjUtMjIuMkwzOTguOSAxMi44Yy03LjUtNS0xNy42LTMuMS0yMi42IDQuNC0uMiAuMy0uNCAuNi0uNiAxLTY3LjMgMTEyLjYtODEuMSA5NS42LTI4MC42IC45LTguMS0zLjktMTcuOC0uNC0yMS43IDcuNy0uMSAuMS0uMSAuMy0uMiAuNEwyMi43IDE0MS4zYy0zLjYgOC4xIC4xIDE3LjYgOC4xIDIxLjMgMjIuMiAxMC40IDY2LjMgMzEuMiAxMDYgNTAuNCAyNDggMTIwIDMzMC44LTQ1LjQgMzczLjQtMTEyLjl6Il19LHY4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkaWdnIixpY29uOls1MTIsNTEyLFtdLCJmMWE2IiwiTTgxLjcgMTcyLjNsLTgxLjcgMCAwIDE3NC40IDEzMi43IDAgMC0yNTAuNy01MSAwIDAgNzYuM3ptMCAxMzMuNGwtMzAuOCAwIDAtOTIuMyAzMC44IDAgMCA5Mi4zek0zNzguOSAxNzIuM2wwIDE3NC40IDgxLjggMCAwIDI4LjUtODEuOCAwIDAgNDAuOCAxMzMuMSAwIDAtMjQzLjctMTMzLjEgMHptODEuOCAxMzMuNGwtMzAuOCAwIDAtOTIuMyAzMC44IDAgMCA5Mi4zem0tMjM1LjYgNDFsODIuMSAwIDAgMjguNS04Mi4xIDAgMCA0MC44IDEzMy4zIDAgMC0yNDMuNy0xMzMuMyAwIDAgMTc0LjR6bTUxLjItMTMzLjNsMzAuOCAwIDAgOTIuMy0zMC44IDAgMC05Mi4zek0xNTMuMyA5Nmw1MS4zIDAgMCA1MS01MS4zIDAgMC01MXptMCA3Ni4zbDUxLjMgMCAwIDE3NC40LTUxLjMgMCAwLTE3NC40eiJdfSx4OHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGhyZWFkcyIsaWNvbjpbNDQ4LDUxMixbXSwiZTYxOCIsIk0zMzEuNSAyMzUuN2MyLjIgLjkgNC4yIDEuOSA2LjMgMi44IDI5LjIgMTQuMSA1MC42IDM1LjIgNjEuOCA2MS40IDE1LjcgMzYuNSAxNy4yIDk1LjgtMzAuMyAxNDMuMi0zNi4yIDM2LjItODAuMyA1Mi41LTE0Mi42IDUzbC0uMyAwYy03MC4yLS41LTEyNC4xLTI0LjEtMTYwLjQtNzAuMi0zMi4zLTQxLTQ4LjktOTguMS00OS41LTE2OS42bDAtLjVDMTcgMTg0LjMgMzMuNiAxMjcuMiA2NS45IDg2LjIgMTAyLjIgNDAuMSAxNTYuMiAxNi41IDIyNi40IDE2bC4zIDBjNzAuMyAuNSAxMjQuOSAyNCAxNjIuMyA2OS45IDE4LjQgMjIuNyAzMiA1MCA0MC42IDgxLjdsLTQwLjQgMTAuOGMtNy4xLTI1LjgtMTcuOC00Ny44LTMyLjItNjUuNC0yOS4yLTM1LjgtNzMtNTQuMi0xMzAuNS01NC42LTU3IC41LTEwMC4xIDE4LjgtMTI4LjIgNTQuNC0yNi4yIDMzLjMtMzkuOCA4MS41LTQwLjMgMTQzLjIgLjUgNjEuNyAxNC4xIDEwOS45IDQwLjMgMTQzLjMgMjggMzUuNiA3MS4yIDUzLjkgMTI4LjIgNTQuNCA1MS40LS40IDg1LjQtMTIuNiAxMTMuNy00MC45IDMyLjMtMzIuMiAzMS43LTcxLjggMjEuNC05NS45LTYuMS0xNC4yLTE3LjEtMjYtMzEuOS0zNC45LTMuNyAyNi45LTExLjggNDguMy0yNC43IDY0LjgtMTcuMSAyMS44LTQxLjQgMzMuNi03Mi43IDM1LjMtMjMuNiAxLjMtNDYuMy00LjQtNjMuOS0xNi0yMC44LTEzLjgtMzMtMzQuOC0zNC4zLTU5LjMtMi41LTQ4LjMgMzUuNy04MyA5NS4yLTg2LjQgMjEuMS0xLjIgNDAuOS0uMyA1OS4yIDIuOC0yLjQtMTQuOC03LjMtMjYuNi0xNC42LTM1LjItMTAtMTEuNy0yNS42LTE3LjctNDYuMi0xNy44bC0uNyAwYy0xNi42IDAtMzkgNC42LTUzLjMgMjYuM2wtMzQuNC0yMy42YzE5LjItMjkuMSA1MC4zLTQ1LjEgODcuOC00NS4xbC44IDBjNjIuNiAuNCA5OS45IDM5LjUgMTAzLjcgMTA3LjdsLS4yIC4yIC4xIDB6bS0xNTYgNjguOGMxLjMgMjUuMSAyOC40IDM2LjggNTQuNiAzNS4zIDI1LjYtMS40IDU0LjYtMTEuNCA1OS41LTczLjItMTMuMi0yLjktMjcuOC00LjQtNDMuNC00LjQtNC44IDAtOS42IC4xLTE0LjQgLjQtNDIuOSAyLjQtNTcuMiAyMy4yLTU2LjIgNDEuOGwtLjEgLjF6Il19LGhvZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3cHJlc3NyIixpY29uOls1MTIsNTEyLFsicmVuZGFjdCJdLCJmM2U0IiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNNDI3LjMgMTY2LjZjLTE1LjIgMzQuNS0zMC40IDY5LTQ1LjYgMTAzLjUtMi40IDUuNS02LjkgOC4yLTEzIDguMi0yMyAwLTQ2IC4xLTY5IDAtNS4xIDAtOC4yIDEuOS0xMC4zIDYuNy0xMC4yIDIzLjYtMjAuNiA0Ny0zMSA3MC41LTEuNSAzLjUtNC4xIDUuMy03LjkgNS4zLTQ1LjkgMC05MS45IDAtMTM3LjggMC0zLjEgMC01LjYtMS4xLTcuNy0zLjQtMTEuMi0xMi4zLTIyLjUtMjQuNi0zMy43LTM2LjktMi43LTMtMi44LTYuMi0xLjItOS43IDguNy0xOS41IDE3LjMtMzkuMSAyNS45LTU4LjcgMTIuOS0yOS40IDI1LjktNTguNyAzOC43LTg4LjEgMS43LTMuOSA0LjMtNS43IDguNS01LjcgMTQuMiAuMSAyOC41IDAgNDIuNyAwIDYuMiAwIDkuMiA0LjggNi43IDEwLjYtMTMuNiAzMC44LTI3LjIgNjEuNi00MC43IDkyLjMtNS43IDEzLTExLjQgMjYtMTcuMSAzOS0zLjkgOSA3LjEgMTIgMTEgNS42IC4yLS40LTEuNCA0LjIgMzAtNjcuNyAxLjQtMy4xIDMuNC00LjQgNi44LTQuNCAxNS4yIC4xIDMwLjQgMCA0NS42IDAgNS42IDAgNy45IDMuNiA1LjcgOC43LTguMyAxOS0xNi43IDM3LjktMjUgNTYuOS01IDExLjQgOC4xIDEyLjUgMTEuMyA1LjMgMC0uMSAyNy45LTYzLjMgMzIuMi03My4yIDItNC42IDUuNC02LjUgMTAuMy02LjUgMjYuNCAuMSA1Mi45IDAgNzkuMyAwIDEyLjQgMCAxMy45LTEzLjYgMy45LTEzLjYtMjUuMyAwLTUwLjUgMC03NS44IDAtNi4zIDAtNy44LTIuNS01LjMtOC4zIDUuOC0xMy4xIDExLjYtMjYuMSAxNy4zLTM5LjIgMS43LTQgNC41LTUuOCA4LjgtNS44IDIzLjEgLjEgMjYgMCAxMzAuOCAwIDYuMSAwIDggMi44IDUuNiA4LjN6Il19LHk4dD1ob2Usdzh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InlvYXN0IixpY29uOls0NDgsNTEyLFtdLCJmMmIxIiwiTTkxLjMgNzZsMTg2IDAtNyAxOC45LTE3OSAwYy0zOS43IDAtNzEuOSAzMS42LTcxLjkgNzAuM2wwIDIwNS40YzAgMzUuNCAyNC45IDcwLjMgODQgNzAuM2wwIDE5LjEtMTIuMSAwQzQxLjIgNDYwIDAgNDE5LjggMCAzNzAuNUwwIDE2NS4yQzAgMTE1LjkgNDAuNyA3NiA5MS4zIDc2ek0zMjAuNCAyMGw2Ni41IDBjLTE0My44IDM3OC4xLTE0NS43IDM5OC45LTE4NC43IDQzOS4zLTIwLjggMjEuNi00OS4zIDMxLjctNzguMyAzMi43bDAtNTEuMWM0OS4yLTcuNyA2NC42LTQ5LjkgNjQuNi03NS4zIDAtMjAuMSAuNi0xMi42LTgyLjEtMjIzLjJsNjEuNCAwIDUwLjQgMTU2LjYgMTAyLjItMjc5ek00NDggMTYxLjVsMCAyOTguNS0yMTQgMGM2LjYtOS42IDEwLjctMTYuMyAxMi4xLTE5LjRsMTgyLjUgMCAwLTI3OS4xYzAtMzIuNS0xNy4xLTUxLjktNDguMi02Mi45TDM4Ny4xIDgxYzQxLjcgMTMuNiA2MC45IDQzLjEgNjAuOSA4MC41eiJdfSxNOHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibmltYmxyIixpY29uOlszODQsNTEyLFtdLCJmNWE4IiwiTTI0Ni42IDM1My4zYTI3IDI3IDAgMSAxIDAtNTQgMjcgMjcgMCAxIDEgMCA1NHptLTc5LjQtMjdhMjcuMSAyNy4xIDAgMSAxIC01NC4zIDAgMjcuMSAyNy4xIDAgMSAxIDU0LjMgMHpNMTkxLjggMTU5QzE1NyAxNTkgODkuNCAxNzguOCA1OS4yIDIyN0wxNCAwIDE0IDMzNS41QzE0IDQzMy4xIDkzLjYgNTEyIDE5MS44IDUxMlMzNjkuNSA0MzMgMzY5LjUgMzM1LjUgMjkwLjEgMTU5IDE5MS44IDE1OXptMCAzMDguMWMtNzMuMyAwLTEzMi41LTU4LjktMTMyLjUtMTMxLjZzNTkuMi0xMzEuNiAxMzIuNS0xMzEuNiAxMzIuNSA1OC45IDEzMi41IDEzMS41LTU5LjMgMTMxLjYtMTMyLjUgMTMxLjZsMCAuMXoiXX0sazh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpeGVsZmVkIixpY29uOls1MTIsNTEyLFtdLCJlN2RiIiwiTTI1NiAwYTI1NiAyNTYgMCAxIDEgMCA1MTIgMjU2IDI1NiAwIDEgMSAwLTUxMnpNMjM1LjcgMzExLjlsNDcgMGM0NC4yIDAgODAuMS0zNC45IDgwLjEtNzhzLTM1LjktNzgtODAuMS03OGwtNjcuOCAwYy0yNS41IDAtNDYuMiAyMC4xLTQ2LjIgNDVsMCAxNzUuMSA2Ny02NC4xeiJdfSx6OHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieWFob28iLGljb246WzUxMiw1MTIsW10sImYxOWUiLCJNMjIzLjggMTQxLjFsLTU2LjcgMTQzLjItNTYtMTQzLjItOTYuMSAwIDEwNS44IDI0OS4xLTM4LjYgODkuOCA5NC4yIDAgMTQwLjktMzM4LjktOTMuNiAwek0zMjkuMiAyNzYuOWE1OC4yIDU4LjIgMCAxIDAgMCAxMTYuNCA1OC4yIDU4LjIgMCAxIDAgMC0xMTYuNHpNMzk0LjcgMzJsLTkzIDIyMy41IDEwNC44IDAgOTIuNi0yMjMuNS0xMDQuNCAweiJdfSxTOHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmx1ZXNreSIsaWNvbjpbNTc2LDUxMixbXSwiZTY3MSIsIk00MDcuOCAyOTQuN2MtMy4zLS40LTYuNy0uOC0xMC0xLjMgMy40IC40IDYuNyAuOSAxMCAxLjN6TTI4OCAyMjcuMUMyNjEuOSAxNzYuNCAxOTAuOSA4MS45IDEyNC45IDM1LjMgNjEuNi05LjQgMzcuNS0xLjcgMjEuNiA1LjUgMy4zIDEzLjggMCA0MS45IDAgNTguNFM5LjEgMTk0IDE1IDIxMy45YzE5LjUgNjUuNyA4OS4xIDg3LjkgMTUzLjIgODAuNyAzLjMtLjUgNi42LS45IDEwLTEuNC0zLjMgLjUtNi42IDEtMTAgMS40LTkzLjkgMTQtMTc3LjMgNDguMi02Ny45IDE2OS45IDEyMC4zIDEyNC42IDE2NC44LTI2LjcgMTg3LjctMTAzLjQgMjIuOSA3Ni43IDQ5LjIgMjIyLjUgMTg1LjYgMTAzLjQgMTAyLjQtMTAzLjQgMjguMS0xNTYtNjUuOC0xNjkuOS0zLjMtLjQtNi43LS44LTEwLTEuMyAzLjQgLjQgNi43IC45IDEwIDEuMyA2NC4xIDcuMSAxMzMuNi0xNS4xIDE1My4yLTgwLjcgNS45LTE5LjkgMTUtMTM4LjkgMTUtMTU1LjVzLTMuMy00NC43LTIxLjYtNTIuOWMtMTUuOC03LjEtNDAtMTQuOS0xMDMuMiAyOS44LTY2LjEgNDYuNi0xMzcuMSAxNDEuMS0xNjMuMiAxOTEuOHoiXX0sQzh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNjcmliZCIsaWNvbjpbMzg0LDUxMixbXSwiZjI4YSIsIk00Mi42IDI1Mi43Yy0xNi4xLTE5LTI0LjctNDUuOS0yNC44LTc5LjkgMC0xMDAuNCA3NS4yLTE1My4xIDE2Ny4yLTE1My4xIDk4LjYtMS42IDE1Ni44IDQ5IDE4NC4zIDcwLjZsLTUwLjUgNzIuMS0zNy4zLTI0LjYgMjYuOS0zOC42Yy0zNi41LTI0LTc5LjQtMzYuNS0xMjMtMzUuOC01MC43LS44LTExMS43IDI3LjItMTExLjcgNzYuMiAwIDE4LjcgMTEuMiAyMC43IDI4LjYgMTUuNiAyMy4zLTUuMyA0MS45IC42IDU1LjggMTQgMjYuNCAyNC4zIDIzLjIgNjcuNi0uNyA5MS45LTI5LjIgMjkuNS04NS4yIDI3LjMtMTE0LjgtOC40em0zMTcuNyA1LjljLTE1LjUtMTguOC0zOC45LTI5LjQtNjMuMi0yOC42LTM4LjEtMi03MS4xIDI4LTcwLjUgNjcuMi0uNyAxNi44IDYgMzMgMTguNCA0NC4zIDE0LjEgMTMuOSAzMyAxOS43IDU2LjMgMTQuNCAxNy40LTUuMSAyOC42LTMuMSAyOC42IDE1LjYgMCA0LjMtLjUgOC41LTEuNCAxMi43LTE2LjcgNDAuOS01OS41IDY0LjQtMTIxLjQgNjQuNC01MS45IC4yLTEwMi40LTE2LjQtMTQ0LjEtNDcuM2wzMy43LTM5LjQtMzUuNi0yNy40LTYwLjggNzEuOCAxNS40IDEzLjhjNTIuNSA0Ni44IDEyMC40IDcyLjUgMTkwLjcgNzIuMiA1MS40IDAgOTQuNC0xMC41IDEzMy42LTQ0LjEgNTcuMS01MS40IDU0LjItMTQ5LjIgMjAuMy0xODkuNnoiXX0sXzh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtcGQiLGljb246WzUxMiw1MTIsW10sImY0ZWMiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2em0wIDQ0OS41Yy0xMzkuMiAwLTIzNS44LTEzOC0xOTAuMi0yNjcuOWw3OC44IDM1LjFjLTIuMSAxMC41LTMuMyAyMS41LTMuMyAzMi45IDAgOTkgNzMuOSAxMjYuOSAxMjAuNCAxMjYuOSAyMi45IDAgNTMuNS02LjcgNzkuNC0yOS41TDMwNSAzMTEuMWMtNS41IDYuMy0xNy42IDE2LjctMzYuMyAxNi43LTM3LjggMC01My43LTM5LjktNTMuOS03MS45IDIzMC40IDEwMi42IDIxNi41IDk2LjUgMjE3LjkgOTYuOC0zNC4zIDYyLjQtMTAwLjYgMTA0LjgtMTc2LjcgMTA0Ljh6bTE5NC4yLTE1MGwtMjI0LTEwMGMxOC44LTM0IDU0LjktMzAuNyA3NC43LTExbDQwLjQtNDEuNmMtMjcuMS0yMy4zLTU4LTI3LjUtNzguMS0yNy41LTQ3LjQgMC04MC45IDIwLjUtMTAwLjcgNTEuNkw4Ny42IDE0NS42YzM2LjEtNTQuOSA5OC4xLTkxLjIgMTY4LjUtOTEuMiAxMTEuMSAwIDIwMS41IDkwLjQgMjAxLjUgMjAxLjUgMCAxOC0yLjQgMzUuNC02LjggNTItLjMtLjEtLjQtLjItLjYtLjR6Il19LFQ4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlYXJseWJpcmRzIixpY29uOls1MTIsNTEyLFtdLCJmMzlhIiwiTTMyOS4zIDQ3LjVjMS4yLTEzIDIxLjMtMTQgMzYuNi04LjcgLjkgLjMgMjYuMiA5LjcgMTkgMTUuMi0yNy45LTcuNC01Ni40IDE4LjItNTUuNi02LjV6bS0yMDEgNi45YzMwLjctOC4xIDYyIDIwIDYxLjEtNy4xLTEuMy0xNC4yLTIzLjQtMTUuMy00MC4yLTkuNi0xIC4zLTI4LjcgMTAuNS0yMC45IDE2Ljd6TTMzNS41IDE2MGExNiAxNiAwIDEgMCAwIDMyIDE2IDE2IDAgMSAwIDAtMzJ6bS0xNTkuNyAwYTE2IDE2IDAgMSAwIDAgMzIgMTYgMTYgMCAxIDAgMC0zMnpNNDk0LjMgMzIzLjJjLTkuOSAyNC00MC43IDExLTYzLjktMS4yLTEzLjUgNjkuMS01OC4xIDExMS40LTEyNi4zIDEyNC4yIC4zIC45LTItLjEgMjQgMSAzMy42IDEuNCA2My44LTMuMSA5Ny40LTgtMTkuOC0xMy44LTExLjQtMzcuMS05LjgtMzguMSAxLjQtLjkgMTQuNyAxLjcgMjEuNiAxMS41IDguNi0xMi41IDI4LjQtMTQuOCAzMC4yLTEzLjYgMS42IDEuMSA2LjYgMjAuOS02LjkgMzQuNiA0LjctLjkgOC4yLTEuNiA5LjgtMi4xIDIuNi0uOCAxNy43IDExLjMgMy4xIDEzLjMtMTQuMyAyLjMtMjIuNiA1LjEtNDcuMSAxMC44LTQ1LjkgMTAuNy04NS45IDExLjgtMTE3LjcgMTIuOGwxIDExLjZjMy44IDE4LjEtMjMuNCAyNC4zLTI3LjYgNi4yIC44IDE3LjktMjcuMSAyMS44LTI4LjQtMWwtLjUgNS4zYy0uNyAxOC40LTI4LjQgMTcuOS0yOC4zLS42LTcuNSAxMy41LTI4LjEgNi44LTI2LjQtOC41bDEuMi0xMi40Yy0zNi43IC45LTU5LjcgMy4xLTYxLjggMy4xLTIwLjkgMC0yMC45LTMxLjYgMC0zMS42IDIuNCAwIDI3LjcgMS4zIDYzLjIgMi44LTYxLjEtMTUuNS0xMDMuNy01NS0xMTQuOS0xMTguMi0yNSAxMi44LTU3LjUgMjYuOC02OC4yIC44LTEwLjUtMjUuNCAyMS41LTQyLjYgNjYuOC03My40IC43LTYuNiAxLjYtMTMuMyAyLjctMTkuOC0xNC40LTE5LjYtMTEuNi0zNi4zLTE2LjEtNjAuNC0xNi44IDIuNC0yMy4yLTkuMS0yMy42LTIzLjEgLjMtNy4zIDIuMS0xNC45IDIuNC0xNS40IDEuMS0xLjggMTAuMS0yIDEyLjctMi42IDYtMzEuNyA1MC42LTMzLjIgOTAuOS0zNC41IDE5LjctMjEuOCA0NS4yLTQxLjUgODAuOS00OC4zLTE1LjMtMTkuNC0zLjQtMzkuOS0yLjQtNDAuNCAxLjctLjggMjEuMiA0LjMgMjYuMyAyMy4yIDUuMi04LjggMTguMy0xMS40IDE5LjYtMTAuNyAxLjEgLjYgNi40IDE1LTQuOSAyNS45IDQwLjMgMy41IDcyLjIgMjQuNyA5NiA1MC43IDM2LjEgMS41IDcxLjggNS45IDc3LjEgMzQgMi43IC42IDExLjYgLjggMTIuNyAyLjYgLjMgLjUgMi4xIDguMSAyLjQgMTUuNC0uNSAxMy45LTYuOCAyNS40LTIzLjYgMjMuMS0zLjIgMTcuMy0yLjcgMzIuOS04LjcgNDcuNyAyLjQgMTEuNyA0IDIzLjggNC44IDM2LjQgMzcgMjUuNCA3MC4zIDQyLjUgNjAuMyA2Ni45ek0yMjMuNSAxNTkuOWMuOS00NC0zNy45LTQyLjItNzguNi00MC4zLTIxLjcgMS0zOC45IDEuOS00NS41IDEzLjktMTEuNCAyMC45IDUuOSA5Mi45IDIzLjIgMTAxLjIgOS44IDQuNyA3My40IDcuOSA4Ni4zLTcuMSA4LjItOS40IDE1LTQ5LjQgMTQuNi02Ny43em01MiA1OC4zYy00LjMtMTIuNC02LTMwLjEtMTUuMy0zMi43LTItLjUtOS0uNS0xMSAwLTEwIDIuOC0xMC44IDIyLjEtMTcgMzcuMiAxNS40IDAgMTkuMyA5LjcgMjMuNyA5LjcgNC4zIDAgNi4zLTExLjMgMTkuNi0xNC4yem0xMzUuNy04NC43Yy02LjYtMTIuMS0yNC44LTEyLjktNDYuNS0xMy45LTQwLjItMS45LTc4LjItMy44LTc3LjMgNDAuMy0uNSAxOC4zIDUgNTguMyAxMy4yIDY3LjggMTMgMTQuOSA3Ni42IDExLjggODYuMyA3LjEgMTUuOC03LjYgMzYuNS03OC45IDI0LjMtMTAxLjN6Il19LEw4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzeW1mb255Y2FzdHMiLGljb246WzU3Niw1MTIsW10sImU4YWIiLCJNMjkzLjggMzQyLjVjMy40LTEuNSA2LjgtMS41IDEwLjIgMGw1NC4yIDIyLjZjMi42IC45IDQuNyAyLjYgNi4yIDQuOHMyLjMgNC44IDIuMyA3LjZjMCAxOS40LTMuNiAzNy4yLTEwLjcgNTMuNC02LjIgMTMuNi0xNC41IDI1LjQtMjQuOCAzNS42LTguNyA4LjUtMTcuNyAxNC42LTI3LjEgMTguNC0zLjQgMS41LTYuOCAxLjUtMTAuMiAwLTEwLjctNC4zLTIwLjYtMTEuMy0yOS43LTIwLjktMTAtMTAuNC0xNy44LTIyLjUtMjMuNS0zNi40LTYuNC0xNS42LTkuNi0zMi4zLTkuNi01MCAwLTIuOCAuNy01LjQgMi4yLTcuNiAxLjUtMi4zIDMuNi0zLjkgNi4yLTQuOGw1NC4yLTIyLjZ6TTQ3OS43IDQ4My44YTcwLjEgNzAuMSAwIDEgMSAwLTE0MC4yIDcwLjEgNzAuMSAwIDEgMSAwIDE0MC4yek0yNDQuNiAzNzcuNmMwIDE1LjMgMi42IDI5LjcgNy45IDQzLjIgNC45IDEyLjQgMTEuNiAyMy4zIDIwLjEgMzIuNSA4LjEgOC45IDE2LjkgMTUuMyAyNi4zIDE5LjIgOS4yLTMuOCAxNy44LTEwIDI1LjctMTguNyA4LjctOS4yIDE1LjQtMTkuOSAyMC4zLTMyLjIgNS41LTEzLjcgOC4yLTI4LjQgOC4yLTQ0LjFsLTU0LjItMjIuNi01NC4yIDIyLjZ6bTIzNS4xLTIwLjNhNTYuNSA1Ni41IDAgMSAwIDAgMTEzIDU2LjUgNTYuNSAwIDEgMCAwLTExM3ptLTM1Mi44IDIuM2M0LjEgMCA3LjYgMS4zIDEwLjQgMy45IDIuOCAyLjYgNC4yIDUuOSA0LjIgOS42bDAgMTYuNCAzMS4xLTE5LjJjMS41LTEuMSAzLjItMS43IDUuMS0xLjcgMi40IDAgNC42IC44IDYuMyAyLjVzMi43IDMuOCAyLjcgNi4ybDAgNzIuNmMwIDIuNi0uOSA0LjgtMi43IDYuNXMtMy45IDIuNS02LjMgMi41Yy0xLjkgMC0zLjYtLjYtNS4xLTEuN2wtMzEuMS0xOS4yIDAgMTYuNGMwIDMuOC0xLjQgNy00LjIgOS42cy02LjMgNC0xMC40IDRsLTg4LjIgMGMtNC4xIDAtNy42LTEuMy0xMC41LTRzLTQuMi01LjgtNC4yLTkuNmwwLTgxLjNjMC0zLjggMS40LTcgNC4yLTkuNnM2LjMtMy45IDEwLjUtMy45bDg4LjIgMHptMTcyIDk3LjhjLTExLjMtNy0yMC40LTE2LjQtMjcuNC0yOC4zLTcuNS0xMi40LTExLjktMjYuNi0xMy00Mi40bDQwLjQtMTcgMCA4Ny42ek0zNy41IDM3My40bDAgODAuOGMuMiAuMiAuNiAuMyAxLjIgLjNsODguMiAwYy40IDAgLjctLjEgMS4xLS4zbDAtODAuOGMtLjItLjItLjYtLjMtMS4yLS4zbC04OC4xIDBjLS40IDAtLjggLjEtMS4yIC4zem00MTguNCA1LjFjMi4zLTEuMyA0LjUtMS4zIDYuOCAwbDQ5LjggMzAuMmMyLjMgMS4zIDMuNCAzLjMgMy40IDUuOXMtMS4xIDQuNi0zLjQgNS45bC00OS44IDI4LjZjLTIuMyAxLjMtNC41IDEuMy02LjggMHMtMy40LTMuMy0zLjQtNS45bDAtNTguOGMwLTIuNiAxLjEtNC42IDMuNC01Ljl6TTE0MS41IDQwNS41bDAgMTYuNCAzMS43IDE5LjggMC01Ni0zMS43IDE5Ljh6TTQ1MS4xIDUuMmMzNS44LTEuMiA2Mi45IDE1LjEgNjMuOCA0MC44IC40IDEwLjktNS45IDMyLjItMjcuOCAzMy0xNi4zIC42LTI3LjYtOS4yLTI4LjEtMjQuMS0uMi01LjQgMS4yLTEwLjIgNC45LTE1LjggMy42LTcuMSA0LjQtNy45IDQuMy0xMS0uMy05LjQtMTQuNS05LjctMTguMy05LjUtNTMgMS44LTY2LjkgNzMuMy03OC4yIDEzMS41bC01LjYgMzAuN2MzMC41IDQuNSA1Mi4yLTEgNjQuMi04LjggMTctMTEtNC44LTIyLjQtMi0zNSAyLjgtMTIuOCAxNC40LTE5IDIzLjctMTkuMiAxMi45LS4zIDIyLjIgMTMuMSAyMS45IDI2LjctLjUgMjIuNi0zMC40IDUzLjYtOTAuMiA1Mi4zLTcuMy0uMi0xNC0uNy0yMC4yLTEuNGwtMTEuMyA2Mi4zYy0zIDE0LTYuMyAyOS41LTEwLjcgNDUuOGwyMDQgMCAuOSAuMWMuMyAuMSAuNiAuMSAuOCAuMiAyLjIgLjYgNCAyLjUgNC41IDQuOCAuNiAyLjgtMSA2LTMuNyA3LjItLjUgLjItMS4xIC40LTEuNyAuNS0uMyAwLS42IDAtLjkgLjFsLTUxNS4zIDBjLS43LS4xLS45IDAtMS43LS4yLTIuNS0uNy00LjQtMy4xLTQuNi01LjctLjItMi4zIDEtNC42IDMtNS44IC43LS41IDEuNi0uOCAyLjQtLjkgLjMgMCAuNiAwIC44LS4xbDQ4LjQgMGMtMTcuMi0xNi44LTIwLTM3LjItMTYtNTAuNSA1LjQtMTcuNiAxOS40LTIwLjkgMzMtMTYuNyAxNC42IDQuNSAyMC4zIDIyLjMgMTYuMiAzNi0uNSAxLjUtMS4yIDMuOS0yLjggNy4yLTEuNyAzLjgtNC44IDcuMS02LjIgMTEuNS0xLjUgNC45IC43IDkuMSA0LjUgMTIuNmw1OC45IDBjNC4yLTQgNy40LTkgOS4xLTE0LjYgNS4zLTE3LTUuNS0yOC45LTEwLTMzLjVsLTIxLjctMjMuMmMtOS45LTExLjEtMzEuNy00MS45LTIxLjEtNzYuNSA0LjEtMTMuNCAxMi44LTI3LjUgMjUuMy0zNi45IDI2LjUtMTkuNyA1NS4zLTIzIDgyLjctMTUuMSAzNS41IDEwLjIgNTIuNSAzMy43IDc0LjYgNTEuOCAxMi40LTM2LjMgMjkuNS03MS45IDU1LjMtMTAxLjkgMjMuMy0yNy4zIDU0LjYtNDcuMSA5MC40LTQ4LjN6TTIyOS42IDEyMS4zYy0yMi4yLTYtMzUuNy0uOS00NS4yIDExLjItMTEuMyAxNC4zLTcuNSAzMi44IDMuMyA0My43bDE4IDE5LjljMjIgMjUuNSAzNC4xIDQ1LjMgMjkuNiA3Mi0yLjIgMTMuMS04LjUgMjUuMi0xNy45IDM1LjNsNTQuMiAwYzEtNS4xIDItMTAuNCAzLjEtMTUuOGwzLjYtMjEuOWM1LjktMjkuNCAxMi40LTYyLjIgMjIuMy05NC44LTI0LjEtMTguMS0zOC41LTQwLjctNzAuOS00OS41eiJdfSxtb2U9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLW9kbm9rbGFzc25pa2kiLGljb246WzQ0OCw1MTIsWyJvZG5va2xhc3NuaWtpLXNxdWFyZSJdLCJmMjY0IiwiTTIyNCAxMzcuMWMtNS40LS4zLTEwLjggLjYtMTUuOSAyLjRzLTkuNyA0LjgtMTMuNiA4LjUtNyA4LjItOS4yIDEzLjItMy4yIDEwLjMtMy4yIDE1LjcgMS4xIDEwLjggMy4yIDE1LjcgNS4zIDkuNSA5LjIgMTMuMiA4LjYgNi42IDEzLjYgOC41IDEwLjUgMi43IDE1LjkgMi40YzUuNCAuMyAxMC44LS42IDE1LjktMi40czkuNy00LjggMTMuNi04LjUgNy04LjIgOS4yLTEzLjIgMy4yLTEwLjMgMy4yLTE1LjctMS4xLTEwLjgtMy4yLTE1LjctNS4zLTkuNS05LjItMTMuMi04LjYtNi42LTEzLjYtOC41LTEwLjUtMi43LTE1LjktMi40ek0zODQgMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NHpNMjI0IDI1OGE4MSA4MSAwIDEgMSAwLTE2Mi4xIDgxIDgxIDAgMSAxIDAgMTYyLjF6bTU5LjMgNi4yYzE2LjgtMTMuMiAyOS41LTUuNSAzNC4xIDMuNiA3LjggMTYtMS4xIDIzLjctMjEuNSAzNy0xNy4xIDEwLjktNDAuNyAxNS4yLTU2LjIgMTYuOGwxMyAxMi45IDQ3LjcgNDcuN2MxNy40IDE3LjktMTEgNDUuOC0yOC42IDI4LjYtMTItMTIuMi0yOS41LTI5LjctNDcuNy00Ny45bC00Ny43IDQ3LjljLTE3LjcgMTcuMi00Ni0xMS0yOC40LTI4LjYgMy43LTMuNyA3LjktNy45IDEyLjUtMTIuNSAxMC40LTEwLjQgMjIuNi0yMi43IDM1LjItMzUuMmwxMi45LTEyLjljLTE1LjQtMS42LTM5LjMtNS43LTU2LjYtMTYuOC0yMC4zLTEzLjMtMjkuMy0yMC45LTIxLjQtMzcgNC42LTkuMSAxNy4zLTE2LjggMzQuMS0zLjYgMCAwIDIyLjcgMTggNTkuMyAxOHM1OS4zLTE4IDU5LjMtMTh6Il19LCQ4dD1tb2UsRDh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1hcmtkb3duIixpY29uOls2NDAsNTEyLFtdLCJmNjBmIiwiTTU5My44IDU5LjFsLTU0Ny42IDBDMjAuNyA1OS4xIDAgNzkuOCAwIDEwNS4yTDAgNDA2LjdjMCAyNS41IDIwLjcgNDYuMiA0Ni4yIDQ2LjJsNTQ3LjcgMGMyNS41IDAgNDYuMi0yMC43IDQ2LjEtNDYuMWwwLTMwMS42YzAtMjUuNC0yMC43LTQ2LjEtNDYuMi00Ni4xek0zMzguNSAzNjAuNmwtNjEuNSAwIDAtMTIwLTYxLjUgNzYuOS02MS41LTc2LjkgMCAxMjAtNjEuNyAwIDAtMjA5LjIgNjEuNSAwIDYxLjUgNzYuOSA2MS41LTc2LjkgNjEuNSAwIDAgMjA5LjIgLjIgMHptMTM1LjMgMy4xbC05Mi4zLTEwNy43IDYxLjUgMCAwLTEwNC42IDYxLjUgMCAwIDEwNC42IDYxLjUgMC05Mi4yIDEwNy43eiJdfSxBOHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidHlwbzMiLGljb246WzQ0OCw1MTIsW10sImY0MmIiLCJNMTc4LjcgNzguNGMwLTI0LjcgNS40LTMyLjQgMTMuOS0zOS40LTY5LjUgOC41LTE0OS4zIDM0LTE3Ni4zIDY2LjQtNS40IDcuNy05LjMgMjAuOC05LjMgMzcuMSAwIDEwMy41IDEwNi44IDMzNy41IDE4NC4xIDMzNy41IDM2LjMgMCA5Ny4zLTU5LjUgMTQ2LjctMTM5LTcgMi4zLTExLjYgMi4zLTE4LjUgMi4zLTU3LjIgMC0xNDAuNi0xOTguNS0xNDAuNi0yNjQuOXpNMzAxLjUgMzJjLTMwLjEgMC00MS43IDUuNC00MS43IDM2LjMgMCA2Ni40IDUzLjggMTk4LjUgMTAxLjcgMTk4LjUgMjYuMyAwIDc4LjgtOTkuNyA3OC44LTE4Mi4zIDAtNDAuOS02Ny01Mi41LTEzOC44LTUyLjV6Il19LFA4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqb29tbGEiLGljb246WzQ0OCw1MTIsW10sImYxYWEiLCJNLjYgOTIuMWMwLTMzLjMgMjYuOC02MC4xIDU5LjgtNjAuMSAzMCAwIDU0LjUgMjEuOSA1OS4yIDUwLjIgMzIuNi03LjYgNjcuMSAuNiA5Ni41IDMwbC00NC4zIDQ0LjNjLTIwLjUtMjAuNS00Mi42LTE2LjMtNTUuNC0zLjUtMTQuMyAxNC4zLTE0LjMgMzcuOSAwIDUyLjJsOTkuNSA5OS41LTQ0IDQ0LjNjLTg3LjctODcuMi00OS43LTQ5LjctOTkuOC05OS43LTI2LjgtMjYuNS0zNS02NC44LTI0LjgtOTguOS0yNi45LTUuOC00Ni43LTI5LjctNDYuNy01OC4zek0xMzAuMSAyMDguNWw0NC4zIDQ0LjNjMTAtMTAgODkuNy04OS43IDk5LjctOTkuOCAxNC4zLTE0LjMgMzcuNi0xNC4zIDUxLjkgMCAxMi44IDEyLjggMTcgMzUtMy41IDU1LjRsNDQgNDQuM2MzMS4yLTMxLjIgMzguNS02Ny42IDI4LjktMTAxLjIgMjkuMi00LjEgNTEuOS0yOS4yIDUxLjktNTkuNSAwLTMzLjItMjYuOC02MC4xLTU5LjgtNjAuMS0zMC4zIDAtNTUuNCAyMi41LTU5LjUgNTEuNi0zMy44LTkuOS03MS43LTEuNS05OC4zIDI1LjEtMTguMyAxOS4xLTcxLjEgNzEuNS05OS42IDk5Ljl6TTM5Ni40IDM2MC43YzguMi0zMi43LS45LTY4LjUtMjYuMy05My45LTExLjgtMTIuMiA1IDQuNy05OS41LTk5LjdsLTQ0LjMgNDQuMyA5OS43IDk5LjdjMTQuMyAxNC4zIDE0LjMgMzcuNiAwIDUxLjktMTIuOCAxMi44LTM1IDE3LTU1LjQtMy41bC00NCA0NC4zYzI3LjYgMzAuMiA2OCAzOC44IDEwMi43IDI4IDUuNSAyNy40IDI5LjcgNDguMSA1OC45IDQ4LjEgMzMgMCA1OS44LTI2LjggNTkuOC02MC4xIDAtMzAuMi0yMi41LTU1LTUxLjYtNTkuMXptLTg0LjMtNTMuMWwtNDQtNDQuM2MtODcgODYuNC01MC40IDUwLjQtOTkuNyA5OS44LTE0LjMgMTQuMy0zNy42IDE0LjMtNTEuOSAwLTEzLjEtMTMuNC0xNi45LTM1LjMgMy4yLTU1LjRsLTQ0LTQ0LjNjLTMwLjIgMzAuMi0zOCA2NS4yLTI5LjUgOTguMy0yNi43IDYtNDYuMiAyOS45LTQ2LjIgNTguMiAwIDMzLjMgMjYuOCA2MC4xIDU5LjggNjAuMSAyOC42IDAgNTIuNS0xOS44IDU4LjYtNDYuNyAzMi43IDguMiA2OC41LS42IDk0LjItMjYgMzIuMS0zMiAxMi4yLTEyLjQgOTkuNS05OS43eiJdfSxFOHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2VpeGluIixpY29uOls1NzYsNTEyLFtdLCJmMWQ3IiwiTTM4NS4yIDE2Ny42YzYuNCAwIDEyLjYgLjMgMTguOCAxLjEtMTYuNi03OC40LTEwMC43LTEzNi43LTE5Ni4zLTEzNi43LTEwNy4yIDAtMTk0LjcgNzIuOC0xOTQuNyAxNjUuNCAwIDUzLjQgMjkuMyA5Ny41IDc3LjkgMTMxLjZsLTE5LjMgNTguNiA2OC0zNC4xYzI0LjQgNC44IDQzLjggOS43IDY4LjIgOS43IDYuMiAwIDEyLjEtLjMgMTguMy0uOC00LTEyLjktNi4yLTI2LjYtNi4yLTQwLjgtLjEtODQuOSA3Mi45LTE1NCAxNjUuMy0xNTR6TTI4MC43IDExNC43YzE0LjUgMCAyNC4yIDkuNyAyNC4yIDI0LjQgMCAxNC41LTkuNyAyNC4yLTI0LjIgMjQuMi0xNC44IDAtMjkuMy05LjctMjkuMy0yNC4yIC4xLTE0LjcgMTQuNi0yNC40IDI5LjMtMjQuNHpNMTQ0LjMgMTYzLjNjLTE0LjUgMC0yOS4zLTkuNy0yOS4zLTI0LjIgMC0xNC44IDE0LjgtMjQuNCAyOS4zLTI0LjQgMTQuOCAwIDI0LjQgOS43IDI0LjQgMjQuNCAwIDE0LjYtOS42IDI0LjItMjQuNCAyNC4yek01NjMgMzE5LjRjMC03Ny45LTc3LjktMTQxLjMtMTY1LjQtMTQxLjMtOTIuNyAwLTE2NS40IDYzLjQtMTY1LjQgMTQxLjNTMzA1IDQ2MC43IDM5Ny42IDQ2MC43YzE5LjMgMCAzOC45LTUuMSA1OC42LTkuOWw1My40IDI5LjMtMTQuOC00OC42QzUzNCA0MDIuMSA1NjMgMzYzLjIgNTYzIDMxOS40ek0zNDMuOSAyOTQuOWMtOS43IDAtMTkuMy05LjctMTkuMy0xOS42IDAtOS43IDkuNy0xOS4zIDE5LjMtMTkuMyAxNC44IDAgMjQuNCA5LjcgMjQuNCAxOS4zIDAgMTAtOS43IDE5LjYtMjQuNCAxOS42em0xMDcuMSAwYy05LjcgMC0xOS4zLTkuNy0xOS4zLTE5LjYgMC05LjcgOS43LTE5LjMgMTkuMy0xOS4zIDE0LjUgMCAyNC40IDkuNyAyNC40IDE5LjMgLjEgMTAtOS45IDE5LjYtMjQuNCAxOS42eiJdfSxJOHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ3J1bnQiLGljb246WzM4NCw1MTIsW10sImYzYWQiLCJNNjEuNiAxODkuM2MtMS4xIDEwIDUuMiAxOS4xIDUuMiAxOS4xIC43LTcuNSAyLjItMTIuOCA0LTE2LjYgLjQgMTAuMyAzLjIgMjMuNSAxMi44IDM0LjEgNi45IDcuNiAzNS42IDIzLjMgNTQuOSA2LjEgMSAyLjQgMi4xIDUuMyAzIDguNSAyLjkgMTAuMy0yLjcgMjUuMy0yLjcgMjUuM3MxNS4xLTE3LjEgMTMuOS0zMi41YzEwLjgtLjUgMjEuNC04LjQgMjEuMS0xOS41IDAgMC0xOC45IDEwLjQtMzUuNS04LjgtOS43LTExLjItNDAuOS00Mi04My4xLTMxLjggNC4zIDEgOC45IDIuNCAxMy41IDQuMWwtLjEgMGMtNC4yIDItNi41IDcuMS03IDEyem0yOC4zLTEuOGMxOS41IDExIDM3LjQgMjUuNyA0NC45IDM3LTUuNyAzLjMtMjEuNyAxMC40LTM4LTEuNy0xMC4zLTcuNi05LjgtMjYuMi02LjktMzUuM3pNMjMyIDIzMy4zYy0xLjIgMTUuNSAxMy45IDMyLjUgMTMuOSAzMi41cy01LjYtMTUtMi43LTI1LjNjLjktMy4yIDItNiAzLTguNSAxOS4zIDE3LjMgNDggMS41IDU0LjgtNi4xIDkuNi0xMC42IDEyLjMtMjMuOCAxMi44LTM0LjEgMS44IDMuOCAzLjQgOS4xIDQgMTYuNiAwIDAgNi40LTkuMSA1LjItMTkuMS0uNi01LTIuOS0xMC03LTExLjhsLS4xIDBjNC42LTEuOCA5LjItMy4yIDEzLjUtNC4xLTQyLjMtMTAuMi03My40IDIwLjYtODMuMSAzMS44LTE2LjcgMTkuMi0zNS41IDguOC0zNS41IDguOC0uMiAxMC45IDEwLjQgMTguOSAyMS4yIDE5LjN6bTYyLjctNDUuOGMzIDkuMSAzLjQgMjcuNy03IDM1LjQtMTYuMyAxMi4xLTMyLjIgNS0zNy45IDEuNiA3LjUtMTEuNCAyNS40LTI2IDQ0LjktMzd6bS0xMzQuNCAyMzFsLTI5LjQgMGMtNS41IDAtOC4yIDEuNi05LjUgMi45LTEuOSAyLTIuMiA0LjctLjkgOC4xIDMuNSA5LjEgMTEuNCAxNi41IDEzLjcgMTguNiAzLjEgMi43IDcuNSA0LjMgMTEuOCA0LjMgNC40IDAgOC4zLTEuNyAxMS00LjYgNy41LTguMiAxMS45LTE3LjEgMTMtMTkuOCAuNi0xLjUgMS4zLTQuNS0uOS02LjgtMS44LTEuOC00LjctMi43LTguOC0yLjd6TTM0OS41IDMxNy4zYy0yLjQgMTcuOS0xMyAzMy44LTI0LjYgNDMuNy0zLjEtMjIuNy0zLjctNTUuNS0zLjctNjIuNCAwLTE0LjcgOS41LTI0LjUgMTIuMi0yNi4xIDIuNS0xLjUgNS40LTMgOC4zLTQuNiAxOC05LjYgNDAuNC0yMS42IDQwLjQtNDMuNyAwLTE2LjItOS4zLTIzLjItMTUuNC0yNy44LS44LS42LTEuNS0xLjEtMi4yLTEuNy0yLjEtMS43LTMuNy0zLTQuMy00LjQtNC40LTkuOC0zLjYtMzQuMi0xLjctMzcuNiAuNi0uNiAxNi43LTIwLjkgMTEuOC0zOS4yLTItNy40LTYuOS0xMy4zLTE0LjEtMTctNS4zLTIuNy0xMS45LTQuMi0xOS41LTQuNS0uMS0yLS41LTMuOS0uOS01LjktLjYtMi42LTEuMS01LjMtLjktOC4xIC40LTQuNyAuOC05IDIuMi0xMS4zIDguNC0xMy4zIDI4LjgtMTcuNiAyOS0xNy42bDEyLjMtMi40LTguMS05LjVjLS4xLS4yLTE3LjMtMTcuNS00Ni4zLTE3LjUtNy45IDAtMTYgMS4zLTI0LjEgMy45LTI0LjIgNy44LTQyLjkgMzAuNS00OS40IDM5LjMtMy4xLTEtNi4zLTEuOS05LjYtMi43LTQuMi0xNS44IDktMzguNSA5LTM4LjVzLTEzLjYtMy0zMy43IDE1LjJjLTIuNi02LjUtOC4xLTIwLjUtMS44LTM3LjItMjkuNSAxMC40LTM2LjkgMjYuMy0zOS4xIDQwLjctNy42LTUuNC02LjctMjMuMS03LjItMjcuNi03LjUgLjktMjkuMiAyMS45LTI4LjIgNDguMy0yIC41LTMuOSAxLjEtNS45IDEuNy02LjUtOC44LTI1LjEtMzEuNS00OS40LTM5LjMtNy45LTIuMi0xNi0zLjUtMjMuOS0zLjUtMjkgMC00Ni4xIDE3LjMtNDYuMyAxNy41bC04LjEgOS40IDEyLjMgMi40Yy4yIDAgMjAuNiA0LjMgMjkgMTcuNiAxLjQgMi4yIDEuOCA2LjYgMi4yIDExLjMgLjIgMi44LS40IDUuNS0uOSA4LjEtLjQgMS45LS44IDMuOS0uOSA1LjktNy43IC4zLTE0LjIgMS44LTE5LjUgNC41LTcuMiAzLjctMTIuMSA5LjYtMTQuMSAxNy01IDE4LjIgMTEuMiAzOC41IDExLjggMzkuMiAxLjkgMy40IDIuNyAyNy44LTEuNyAzNy42LS42IDEuNC0yLjIgMi43LTQuMyA0LjQtLjcgLjUtMS40IDEuMS0yLjIgMS43LTYuMSA0LjYtMTUuNCAxMS43LTE1LjQgMjcuOCAwIDIyLjEgMjIuNCAzNC4xIDQwLjQgNDMuNyAzIDEuNiA1LjggMy4xIDguMyA0LjYgMi43IDEuNiAxMi4yIDExLjQgMTIuMiAyNi4xIDAgNi45LS42IDM5LjctMy43IDYyLjQtMTEuNi05LjktMjIuMi0yNS45LTI0LjYtNDMuOCAwIDAtMjkuMiAyMi42LTIwLjYgNzAuOCA1LjIgMjkuNSAyMy4yIDQ2LjEgNDcgNTQuNyA4LjggMTkuMSAyOS40IDQ1LjcgNjcuMyA0OS42IDE0LjQgMTEuOCAzNC40IDE5LjUgNjMuNiAxOS41bC4yIDBjMjkuMSAwIDQ5LjEtNy43IDYzLjYtMTkuNSAzNy45LTMuOSA1OC41LTMwLjUgNjcuMy00OS42IDIzLjgtOC43IDQxLjctMjUuMiA0Ny01NC43IDguMi00OC40LTIxLjEtNzAuOS0yMS4xLTcwLjl6TTMwNiAzNy43YzUuNi0xLjggMTEuNi0yLjcgMTcuNy0yLjcgMTEgMCAxOS45IDMgMjQuNyA1LTMuMSAxLjQtNi40IDMuMi05LjcgNS4zLTIuNC0uNC01LjYtLjgtOS4yLS44LTEwLjUgMC0yMC41IDMuMS0yOC43IDguOS0xMi4zIDguNy0xOCAxNi45LTIwLjcgMjIuNC0yLjItMS4zLTQuNS0yLjUtNy4xLTMuNy0xLjYtLjgtMy4xLTEuNS00LjctMi4yIDYuMS05LjEgMTkuOS0yNi41IDM3LjctMzIuMnptMjEgMTguMmMtLjggMS0xLjYgMi4xLTIuMyAzLjItMy4zIDUuMi0zLjkgMTEuNi00LjQgMTcuOC0uNSA2LjQtMS4xIDEyLjUtNC40IDE3LTQuMiAuOC04LjEgMS43LTExLjUgMi43LTIuMy0zLjEtNS42LTctMTAuNS0xMS4yIDEuNC00LjggNS41LTE2LjEgMTMuNS0yMi41IDUuNi00LjMgMTIuMi02LjcgMTkuNi03ek00NS45IDQ1LjNjLTMuMy0yLjItNi42LTQtOS43LTUuMyA0LjgtMiAxMy43LTUgMjQuNy01IDYuMSAwIDEyIC45IDE3LjcgMi43IDE3LjggNS44IDMxLjYgMjMuMiAzNy43IDMyLjEtMS42IC43LTMuMiAxLjQtNC44IDIuMi0yLjUgMS4yLTQuOSAyLjUtNy4xIDMuNy0yLjYtNS40LTguMy0xMy43LTIwLjctMjIuNC04LjMtNS44LTE4LjItOC45LTI4LjgtOC45LTMuNCAuMS02LjYgLjUtOSAuOXpNOTAuNiA4NS40Yy00LjkgNC4yLTguMyA4LTEwLjUgMTEuMi0zLjQtLjktNy4zLTEuOS0xMS41LTIuNy0zLjMtNC40LTMuOC0xMC41LTQuMy0xNi45LS41LTYuMi0xLjEtMTIuNi00LjQtMTcuOC0uNy0xLjEtMS41LTIuMi0yLjMtMy4yIDcuNCAuMyAxNCAyLjYgMTkuNSA3IDggNi4zIDEyLjEgMTcuNiAxMy41IDIyLjR6TTU4LjQgMjU5LjljLTIuNy0xLjYtNS42LTMuMS04LjQtNC42LTE0LjktOC0zMC4yLTE2LjMtMzAuMi0zMC41IDAtMTEuMSA0LjMtMTQuNiA4LjktMTguMmwuNS0uNGMuNy0uNiAxLjQtMS4yIDIuMi0xLjgtLjkgNy4yLTEuOSAxMy4zLTIuNyAxNC45IDAgMCAxMi4xLTE1IDE1LjctNDQuMyAxLjQtMTEuNS0xLjEtMzQuMy01LjEtNDMgLjIgNC45IDAgOS44LS4zIDE0LjQtLjQtLjgtLjgtMS42LTEuMy0yLjItMy4yLTQtMTEuOC0xNy41LTkuNC0yNi42IC45LTMuNSAzLjEtNiA2LjctNy44IDMuOC0xLjkgOC44LTIuOSAxNS4xLTIuOSAxMi4zIDAgMjUuOSAzLjcgMzIuOSA2IDI1LjEgOCA1NS40IDMwLjkgNjQuMSAzNy43IC4yIC4yIC40IC4zIC40IC4zbDUuNiAzLjktMy41LTUuOGMtLjItLjMtMTkuMS0zMS40LTUzLjItNDYuNSAyLTIuOSA3LjQtOC4xIDIxLjYtMTUuMSAyMS40LTEwLjUgNDYuNS0xNS44IDc0LjMtMTUuOCAyNy45IDAgNTIuOSA1LjMgNzQuMyAxNS44IDE0LjIgNi45IDE5LjYgMTIuMiAyMS42IDE1LjEtMzQgMTUuMS01Mi45IDQ2LjItNTMuMSA0Ni41bC0zLjUgNS44IDUuNi0zLjlzLjItLjEgLjQtLjNjOC43LTYuOCAzOS0yOS44IDY0LjEtMzcuNyA3LTIuMiAyMC42LTYgMzIuOS02IDYuMyAwIDExLjMgMSAxNS4xIDIuOSAzLjUgMS44IDUuNyA0LjQgNi43IDcuOCAyLjUgOS4xLTYuMSAyMi42LTkuNCAyNi42LS41IC42LS45IDEuMy0xLjMgMi4yLS4zLTQuNi0uNS05LjUtLjMtMTQuNC00IDguOC02LjUgMzEuNS01LjEgNDMgMy42IDI5LjMgMTUuNyA0NC4zIDE1LjcgNDQuMy0uOC0xLjYtMS44LTcuNy0yLjctMTQuOSAuNyAuNiAxLjUgMS4yIDIuMiAxLjhsLjUgLjRjNC42IDMuNyA4LjkgNy4xIDguOSAxOC4yIDAgMTQuMi0xNS40IDIyLjUtMzAuMiAzMC41LTIuOSAxLjUtNS43IDMuMS04LjQgNC42LTguNyA1LTE4IDE2LjctMTkuMSAzNC4yLS45IDE0LjYgLjkgNDkuOSAzLjQgNzUuOS0xMi40IDQuOC0yNi43IDYuNC0zOS43IDYuOC0yLTQuMS0zLjktOC41LTUuNS0xMy4xLS43LTItMTkuNi01MS4xLTI2LjQtNjIuMiA1LjUgMzkgMTcuNSA3My43IDIzLjUgODkuNi0zLjUtLjUtNy4zLS43LTExLjctLjdsLTExNyAwYy00LjQgMC04LjMgLjMtMTEuNyAuNyA2LTE1LjkgMTguMS01MC42IDIzLjUtODkuNi02LjggMTEuMi0yNS43IDYwLjMtMjYuNCA2Mi4yLTEuNiA0LjYtMy41IDktNS41IDEzLjEtMTMtLjQtMjcuMi0yLTM5LjctNi44IDIuNS0yNiA0LjMtNjEuMiAzLjQtNzUuOS0uOS0xNy40LTEwLjMtMjkuMi0xOS0zNC4yek0zNS4xIDQwNC42Yy0xMi4xLTIwLTguNy01NC4xLTMuNy01OS4xIDEwLjkgMzQuNCA0Ny4yIDQ0LjMgNzQuNCA0NS40LTIuNyA0LjItNS4yIDcuNi03IDEwbC0xLjQgMS40Yy03LjIgNy44LTguNiAxOC41LTQuMSAzMS44LTIyLjctLjEtNDYuMy05LjgtNTguMi0yOS41em00NS43IDQzLjVjNiAxLjEgMTIuMiAxLjkgMTguNiAyLjQgMy41IDggNy40IDE1LjkgMTIuMyAyMy4xLTE0LjQtNS45LTI0LjQtMTYtMzAuOS0yNS41em0xMTEuNSA1MC4xYy02MC42LS4xLTc4LjMtNDUuOC04NC45LTY0LjctMy43LTEwLjUtMy40LTE4LjIgLjktMjMuMSAyLjktMy4zIDkuNS03LjIgMjQuNi03LjJsMTE4LjggMGMxNS4xIDAgMjEuOCAzLjkgMjQuNiA3LjIgNC4yIDQuOCA0LjUgMTIuNiAuOSAyMy4xLTYuNiAxOC44LTI0LjMgNjQuNi04NC45IDY0Ljd6bTgwLjYtMjQuNmM0LjktNy4yIDguOC0xNS4xIDEyLjMtMjMuMSA2LjQtLjUgMTIuNi0xLjMgMTguNi0yLjQtNi41IDkuNS0xNi41IDE5LjYtMzAuOSAyNS41em03Ni42LTY5Yy0xMiAxOS43LTM1LjYgMjkuMy01OC4xIDI5LjcgNC41LTEzLjMgMy4xLTI0LjEtNC4xLTMxLjgtLjQtLjUtLjktMS0xLjQtMS41LTEuOC0yLjQtNC4zLTUuOC03LTEwIDI3LjItMS4yIDYzLjUtMTEgNzQuNC00NS40IDUgNSA4LjQgMzkuMS0zLjggNTl6TTE5Mi4yIDE4Ny43bC4yIDBjMTIuNy0uMSAyNy4yLTE3LjggMjcuMi0xNy44LTkuOSA2LTE4LjggOC4xLTI3LjMgOC4zLTguNS0uMi0xNy40LTIuMy0yNy4zLTguMyAwIDAgMTQuNSAxNy42IDI3LjIgMTcuOHptNjEuNyAyMzAuN2wtMjkuNCAwYy00LjIgMC03LjIgLjktOC45IDIuNy0yLjIgMi4zLTEuNSA1LjItLjkgNi43IDEgMi42IDUuNSAxMS4zIDEzIDE5LjMgMi43IDIuOSA2LjYgNC41IDExIDQuNXM4LjctMS42IDExLjgtNC4yYzIuMy0yIDEwLjItOS4yIDEzLjctMTguMSAxLjMtMy4zIDEtNi0uOS03LjktMS4zLTEuMy00LTIuOS05LjQtM3oiXX0sTjh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN1cHBvcnRub3ciLGljb246WzY0MCw1MTIsW10sImU4MzMiLCJNMCAxOTEuOWwyMDMuOS0uMWMxLjgtLjYgMi41LTkuNSAzLjItMTIuMiAzLjMtMTMuNSA4LjQtMjYuNCAxNC44LTM4LjdsLTE2MC4yIDAgMC00OC4yIDIzNC41IDAgMCAzOWMtNTEuMiAzNi4xLTU2LjQgOTIuNi0yMy42IDE0My45IDMzLjEgNTEuNyA5My40IDg4LjEgMTQ5LjUgMTEwLjUgNjcuOC0yNS4yIDE2NC45LTg5LjkgMTY5LjQtMTY5LjYgMy4xLTU1LjMtNDIuMi0xMDEuOC05OC43LTkxLjgtNDEuNSA3LjQtNjIuMSA0Ni43LTU0LjggODYuNGwtNDguMiAwYy03LjMtNTYuNiAyMi44LTExMi42IDc4LjQtMTMwLjMgNzguNy0yNS4xIDE1OS41IDI4IDE3MC40IDEwOC44IDE1LjIgMTEyLjMtOTUuNSAxOTkuOS0xODguMSAyMzcuOC00LjQgMS44LTI0LjQgMTAuMS0yNy41IDEwLjFsLTI4MC4zIDAgMC00OC4yIDE3OC41IDAtMzguMS0yOC45LTIzLjItMjIuMS0xOTguMyAwIDAtNDguMiAxNjMuMSAwYy03LjEtMTEuNi0xMi4zLTI0LjMtMTYuMS0zNy40LS43LTIuNS0yLjEtMTItMy44LTEyLjZsLTIwNC45LS4xIDAtNDguMiAwIDB6Il19LFI4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyb2Nrcm1zIixpY29uOls1MTIsNTEyLFtdLCJmM2U5IiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNNDEzLjQgNDI3LjVsLTkwIDAtMTEyLTEzMS4zYy0xNy45LTIwLjQtMy45LTU2LjEgMjYuNi01Ni4xbDc1LjMgMC04NC42LTk5LjMtODQuMyA5OC45LTkwIDAgMTQ3LjEtMTcyLjVjMTQuNC0xOC40IDQxLjMtMTcuMyA1NC41IDBMNDEzLjcgMjUyLjNjMTkgMjIuOCAyIDU3LjItMjcuNiA1Ni4xLS42IDAtNzQuMiAuMi03NC4yIC4yTDQxMy40IDQyNy41eiJdfSxGOHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidW5zcGxhc2giLGljb246WzQ0OCw1MTIsW10sImUwN2MiLCJNNDQ4IDIzMC4ybDAgMjQ5LjgtNDQ4IDAgMC0yNDkuOCAxNDEuMSAwIDAgMTI0LjkgMTY1LjcgMCAwLTEyNC45IDE0MS4xIDB6TTMwNi45IDMybC0xNjUuNyAwIDAgMTI0LjkgMTY1LjcgMCAwLTEyNC45eiJdfSxnb2U9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWluc3RhZ3JhbSIsaWNvbjpbNDQ4LDUxMixbImluc3RhZ3JhbS1zcXVhcmUiXSwiZTA1NSIsIk0xOTQuNCAyMTEuN2E1My4zIDUzLjMgMCAxIDAgNTkuMiA4OC42IDUzLjMgNTMuMyAwIDEgMCAtNTkuMi04OC42em0xNDIuMy02OC40Yy01LjItNS4yLTExLjUtOS4zLTE4LjQtMTItMTguMS03LjEtNTcuNi02LjgtODMuMS02LjUtNC4xIDAtNy45IC4xLTExLjIgLjFzLTcuMiAwLTExLjQtLjFjLTI1LjUtLjMtNjQuOC0uNy04Mi45IDYuNS02LjkgMi43LTEzLjEgNi44LTE4LjQgMTJzLTkuMyAxMS41LTEyIDE4LjRjLTcuMSAxOC4xLTYuNyA1Ny43LTYuNSA4My4yIDAgNC4xIC4xIDcuOSAuMSAxMS4xczAgNy0uMSAxMS4xYy0uMiAyNS41LS42IDY1LjEgNi41IDgzLjIgMi43IDYuOSA2LjggMTMuMSAxMiAxOC40czExLjUgOS4zIDE4LjQgMTJjMTguMSA3LjEgNTcuNiA2LjggODMuMSA2LjUgNC4xIDAgNy45LS4xIDExLjItLjFzNy4yIDAgMTEuNCAuMWMyNS41IC4zIDY0LjggLjcgODIuOS02LjUgNi45LTIuNyAxMy4xLTYuOCAxOC40LTEyczkuMy0xMS41IDEyLTE4LjRjNy4yLTE4IDYuOC01Ny40IDYuNS04MyAwLTQuMi0uMS04LjEtLjEtMTEuNHMwLTcuMSAuMS0xMS40Yy4zLTI1LjUgLjctNjQuOS02LjUtODMtMi43LTYuOS02LjgtMTMuMS0xMi0xOC40bDAgLjJ6bS02Ny4xIDQ0LjVjMTguMSAxMi4xIDMwLjYgMzAuOSAzNC45IDUyLjJzLS4yIDQzLjUtMTIuMyA2MS42Yy02IDktMTMuNyAxNi42LTIyLjYgMjIuNnMtMTkgMTAuMS0yOS42IDEyLjJjLTIxLjMgNC4yLTQzLjUtLjItNjEuNi0xMi4zcy0zMC42LTMwLjktMzQuOS01Mi4yIC4yLTQzLjUgMTIuMi02MS42IDMwLjktMzAuNiA1Mi4yLTM0LjkgNDMuNSAuMiA2MS42IDEyLjJsLjEgMHptMjkuMi0xLjNjLTMuMS0yLjEtNS42LTUuMS03LjEtOC42cy0xLjgtNy4zLTEuMS0xMS4xIDIuNi03LjEgNS4yLTkuOCA2LjEtNC41IDkuOC01LjIgNy42LS40IDExLjEgMS4xIDYuNSAzLjkgOC42IDcgMy4yIDYuOCAzLjIgMTAuNmMwIDIuNS0uNSA1LTEuNCA3LjNzLTIuNCA0LjQtNC4xIDYuMi0zLjkgMy4yLTYuMiA0LjItNC44IDEuNS03LjMgMS41Yy0zLjggMC03LjUtMS4xLTEwLjYtMy4ybC0uMSAwek00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMzU3IDM4OWMtMTguNyAxOC43LTQxLjQgMjQuNi02NyAyNS45LTI2LjQgMS41LTEwNS42IDEuNS0xMzIgMC0yNS42LTEuMy00OC4zLTcuMi02Ny0yNS45cy0yNC42LTQxLjQtMjUuOC02N2MtMS41LTI2LjQtMS41LTEwNS42IDAtMTMyIDEuMy0yNS42IDcuMS00OC4zIDI1LjgtNjdzNDEuNS0yNC42IDY3LTI1LjhjMjYuNC0xLjUgMTA1LjYtMS41IDEzMiAwIDI1LjYgMS4zIDQ4LjMgNy4xIDY3IDI1LjhzMjQuNiA0MS40IDI1LjggNjdjMS41IDI2LjMgMS41IDEwNS40IDAgMTMxLjktMS4zIDI1LjYtNy4xIDQ4LjMtMjUuOCA2N2wwIC4xeiJdfSxPOHQ9Z29lLEI4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmaXJzdC1vcmRlci1hbHQiLGljb246WzUxMiw1MTIsW10sImY1MGEiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2em0wIDcuOGEyNDAuMiAyNDAuMiAwIDEgMSAwIDQ4MC40IDI0MC4yIDI0MC4yIDAgMSAxIDAtNDgwLjR6bTAgMjAuNWEyMTkuNyAyMTkuNyAwIDEgMCAwIDQzOS40IDIxOS43IDIxOS43IDAgMSAwIDAtNDM5LjR6bTAgOC4yYTIxMS41IDIxMS41IDAgMSAxIDAgNDIzIDIxMS41IDIxMS41IDAgMSAxIDAtNDIzem0xODYuMiAyNjBjLTQuNCAxNy4xLTExLjIgMzMuNS0yMC4xIDQ4LjdsLTc0LjEtMzUuOSA2MS41IDU0LjhjLTEwLjYgMTQuMS0yMy4yIDI2LjYtMzcuMiAzNy4zbC01NC44LTYxLjYgMzUuOSA3NC4zYy0xNS4yIDktMzEuNiAxNS44LTQ4LjYgMjAuMmwtMjcuMy03OC41IDQuOCA4Mi45Yy04LjYgMS4yLTE3LjQgMS44LTI2LjMgMS44cy0xNy43LS42LTI2LjMtMS44bDQuOC04Mi41LTI3LjIgNzhjLTE3LjEtNC41LTMzLjQtMTEuMy00OC43LTIwLjJsMzUuOS03NC4zLTU0LjkgNjEuNmMtMTQtMTAuNy0yNi42LTIzLjItMzcuMi0zNy4zbDYxLjYtNTQuOS03NC4zIDM1LjlDODAuNyAzMzggNzQgMzIxLjcgNjkuNSAzMDQuNmw3Ny44LTI3LjEtODIuMiA0LjhjLTEuMi04LjYtMS44LTE3LjMtMS44LTI2LjIgMC05IC42LTE3LjggMS44LTI2LjVsODIuNCA0LjgtNzcuOS0yNy4yYzQuNS0xNy4xIDExLjMtMzMuNSAyMC4yLTQ4LjdsNzQuMiAzNS45LTYxLjUtNTQuOWMxMC43LTE0IDIzLjItMjYuNiAzNy4zLTM3LjJsNTQuOCA2MS41LTM1LjgtNzQuMmMxNS4yLTguOSAzMS42LTE1LjcgNDguNi0yMC4xbDI2LjkgNzcuMi00LjctODEuNmM4LjYtMS4yIDE3LjQtMS44IDI2LjMtMS44czE3LjcgLjYgMjYuMyAxLjhsLTQuNyA4Mi4yIDI3LTc3LjhjMTcuMyA0LjUgMzMuNiAxMS40IDQ4LjYgMjAuMmwtMzUuOCA3NC4xIDU0LjctNjEuNWMxNC4xIDEwLjcgMjYuNiAyMy4yIDM3LjIgMzcuMmwtNjEuNCA1NC44IDc0LjEtMzUuOWM4LjkgMTUuMiAxNS43IDMxLjYgMjAuMiA0OC42bC03Ny44IDI3LjEgODIuMi00LjdjMS4yIDguNyAxLjggMTcuNSAxLjggMjYuNSAwIDguOS0uNiAxNy42LTEuOCAyNi4ybC04Mi4xLTQuNyA3Ny43IDI3LjF6Il19LEg4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmdWxjcnVtIixpY29uOlsyNTYsNTEyLFtdLCJmNTBiIiwiTTYzLjggMTY0LjFMMjguNCAyMDcuNy03IDE2NC4xIDI4LjQgMTIwLjYgNjMuOCAxNjQuMXpNMTEyLjIgMGwtMjAuNSAxOTguMi01MSA1Ny44IDUxIDU3LjggMjAuNSAxOTguMiAwLTIxMS4xLTQxLjEtNDQuOSA0MS4xLTQ0LjkgMC0yMTEuMXptNzkuNyAxNjQuMWwzNS40IDQzLjYgMzUuNC00My42LTM1LjQtNDMuNS0zNS40IDQzLjV6bS00OC41IDQ3bDQxLjEgNDQuOS00MS4xIDQ0LjkgMCAyMTEuMSAyMC42LTE5OC4yIDUxLTU3LjgtNTEtNTcuOC0yMC42LTE5OC4yIDAgMjExLjF6Il19LHE4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhcmNoLWxpbnV4IixpY29uOls1NzYsNTEyLFtdLCJlODY3IiwiTTI4OC43LTcuOGMtMjQuMSA1OS0zOC42IDk3LjctNjUuNCAxNTUgMTYuNCAxNy40IDM2LjYgMzcuNiA2OS40IDYwLjUtMzUuMi0xNC41LTU5LjItMjguOS03Ny4yLTQ0LTM0LjMgNzEuNi04OC4xIDE3My41LTE5Ny4yIDM2OS40IDg1LjctNDkuNSAxNTIuMi04MCAyMTQuMS05MS42LTIuNy0xMS40LTQuMS0yMy44LTQtMzYuN2wuMS0yLjdjMS40LTU0LjkgMjkuOS05Ny4yIDYzLjgtOTQuNHM2MC4yIDQ5LjggNTguOCAxMDQuN2MtLjMgMTAuMy0xLjQgMjAuMi0zLjQgMjkuNCA2MS4yIDEyIDEyNyA0Mi40IDIxMS42IDkxLjItMTYuNy0zMC43LTMxLjYtNTguMy00NS44LTg0LjctMjIuNC0xNy40LTQ1LjctMzkuOS05My4zLTY0LjQgMzIuNyA4LjUgNTYuMyAxOC4zIDc0LjUgMjkuMy0xNDQuNS0yNjkuMS0xNTYuMi0zMDQuOC0yMDUuOC00MjEuMXoiXX0sVjh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZlZGl2ZXJzZSIsaWNvbjpbNTc2LDUxMixbXSwiZTg2NSIsIk0zOTQuOCA1MjYuOWE1NCA1NCAwIDEgMSA1LjgtMTA3LjggNTQgNTQgMCAxIDEgLTUuOCAxMDcuOHptLTUwLjEtODAuNmMtNS41IDEwLjktNy40IDIzLjMtNS42IDM1LjRMMTY4LjcgNDU0LjRjNS41LTEwLjkgNy41LTIzLjMgNS43LTM1LjRsMTcwLjMgMjcuM3pNMTEyLjcgNDgxLjZhNTQgNTQgMCAxIDEgNS45LTEwNy44IDU0IDU0IDAgMSAxIC01LjkgMTA3Ljh6bTI1Ny43LTYxLjRjLTEwLjkgNS42LTE5LjcgMTQuNC0yNS40IDI1LjNsLTcwLjYtNzAuOSAzMy42LTE3IDYyLjQgNjIuN3pNNDg2LjEgMjYxYzguNyA4LjYgMTkuOCAxNC4zIDMxLjkgMTYuNEw0MzkuNCA0MzAuOGMtOC43LTguNi0xOS44LTE0LjMtMzEuOS0xNi40TDQ4Ni4xIDI2MXpNMzc2LjcgMjE5LjNsMzAuNSAxOTUuMWMtMTIuMS0xLjktMjQuNS0uMS0zNS40IDUuM2wtMzIuMi0yMDYuMyAzNy4yIDZ6TTM1MC40IDMyOC45TDE3NC4yIDQxOC4yYy0yLTEyLjEtNy42LTIzLjItMTYuMi0zMmwxODYuNi05NC42IDUuOCAzNy4yem0tMTUyLjctMjJsLTQwLjMgNzguN2MtOC43LTguNi0xOS44LTE0LjMtMzEuOS0xNi4zbDQ1LjYtODkgMjYuNiAyNi43ek0xMjQuNyAzNjljLTEyLjEtMS44LTI0LjQgLjItMzUuNCA1LjZMNjIuNyAyMDQuM2MxMi4xIDEuOCAyNC41LS4xIDM1LjQtNS42TDEyNC43IDM2OXptMTQ3LjEtNDcuOGwtMzMuNiAxNy0xMzkuNC0xMzkuOWMxMC45LTUuNiAxOS43LTE0LjQgMjUuNC0yNS4zTDI3MS44IDMyMS4yem0xOTcuNS05Mi44YzIgMTIuMSA3LjYgMjMuMiAxNi4yIDMxLjlsLTg5LjMgNDUuMi01LjgtMzcuMiA3OC45LTQwem01NS42IDQ0LjNhNTQgNTQgMCAxIDEgNS45LTEwNy44IDU0IDU0IDAgMSAxIC01LjkgMTA3Ljh6TTI4NC42IDU4LjdjOC43IDguNiAxOS44IDE0LjMgMzEuOCAxNi4zbC05NS4zIDE4Ni4xLTI2LjYtMjYuNyA5MC0xNzUuOHpNNDc0LjkgMTkyLjFjLTUuNSAxMC45LTcuNSAyMy4zLTUuNyAzNS4zbC0yMDYuNC0zMy4xIDE3LjItMzMuNSAxOTUgMzEuM3pNNjguNyAxOTkuNkE1NCA1NCAwIDEgMSA3NC42IDkxLjggNTQgNTQgMCAxIDEgNjguNyAxOTkuNnptNDMyLTMzLjRjLTEwLjkgNS42LTE5LjcgMTQuNC0yNS40IDI1LjNMMzUzLjUgNjkuM2MxMC45LTUuNiAxOS43LTE0LjQgMjUuNC0yNS4zTDUwMC42IDE2Ni4yek0yMjkuMyAxNTIuNmwtMTcuMiAzMy41LTg3LjQtMTRjNS40LTEwLjkgNy40LTIzLjMgNS41LTM1LjRsOTkgMTUuOXptMTM5LjUgMTUuOWwtMzcuMi02LTEzLjYtODcuMmMxMi4xIDEuNyAyNC41LS4zIDM1LjMtNS45bDE1LjUgOTkuMXpNMjY3LjggMjYuMmMyIDEyLjEgNy42IDIzLjIgMTYuMiAzMS45bC0xNTMuOSA3OGMtMi0xMi4xLTcuNi0yMy4yLTE2LjItMzEuOWwxNTMuOS03OHptNTUuNiA0NC4zYTU0IDU0IDAgMSAxIDUuOC0xMDcuOCA1NCA1NCAwIDEgMSAtNS44IDEwNy44eiJdfSxqOHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYnJhdmUtcmV2ZXJzZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTYzZCIsIk0yOTguNSAwYzMgMCA1LjggMS4zIDcuOCAzLjZsMzguMSA0NGMuNS0uMSAxLS4yIDEuNS0uMyA5LjItMS42IDE4LjYtMi4yIDI3LjctMS4yIDExLjYgMS40IDIxLjUgNS40IDI4LjkgMTIuOSA3LjcgNy44IDE1LjQgMTUuOCAyMi42IDIzLjYgMi41IDIuNyA0LjkgNS4yIDYuOSA3LjQgLjcgLjggMS40IDEuNSAxLjkgMiAzLjQgMy43IDQuMiA4LjEgMi43IDExLjlsLTkuOCAyNC42IDEzLjEgMzguMWMuNyAyIC44IDQuMSAuMiA2LjItLjEgLjQtLjEgLjQtLjUgMi4xbC0xLjUgNS44Yy0xLjYgNi4zLTMuNSAxMy4zLTUuNCAyMC45LTUuNiAyMS42LTExLjIgNDMuMi0xNi40IDYzLjQtMTIuOSA0OS45LTIxLjQgODIuNy0yMy40IDkwLjktMTEuMSA0NC41LTE5LjkgNjAtNDguMyA4MC4zLTI0LjkgMTcuOC03Ni44IDUzLjYtODYuOCA2MC0xIC42LTIgMS4zLTMuNCAyLjMtLjUgLjQtMy4yIDIuMi0zLjkgMi43LTQuOSAzLjMtOC4zIDUuNS0xMi4xIDcuMy00LjcgMi4yLTkuMyAzLjUtMTMuOSAzLjVzLTkuMS0xLjItMTMuOS0zLjVjLTMuNy0xLjgtNy4yLTMuOS0xMi4xLTcuMy0uOC0uNS0zLjQtMi40LTMuOS0yLjctMS40LTEtMi41LTEuNy0zLjQtMi4zLTEwLTYuNC02MS45LTQyLjEtODYuOC02MC0yOC40LTIwLjQtMzcuMi0zNS44LTQ4LjMtODAuMy0yLTguMi0xMC41LTQxLTIzLjMtOTAuNS01LjMtMjAuNi0xMC45LTQyLjItMTYuNS02My44LTItNy42LTMuOC0xNC42LTUuNC0yMC45bC0xLjUtNS44LS41LTIuMWMtLjUtMi0uNC00LjIgLjItNi4ybDEzLjEtMzguMS05LjktMjQuNWMtMS41LTMuOC0uNy04LjIgMi0xMS4yIDEuMi0xLjMgMS44LTIgMi42LTIuOCAyLTIuMiA0LjQtNC43IDYuOS03LjQgNy4zLTcuNyAxNS0xNS43IDIyLjctMjMuNSA3LjQtNy41IDE3LjMtMTEuNiAyOC45LTEyLjkgOS4xLTEuMSAxOC41LS41IDI3LjcgMS4yIC41IC4xIDEgLjIgMS41IC4zbDM4LjEtNDRjMi0yLjQgNC44LTMuNyA3LjgtMy43bDE0OCAwem0tNC43IDIxLjFsLTEzOC42IDAtMzkuMSA0NS4xYy0yLjYgMy02LjcgNC4zLTEwLjYgMy4yLS4yLS4xLS43LS4yLTEuNS0uNC0xLjMtLjMtMi45LS42LTQuNS0uOS03LjQtMS4zLTE0LjktMS44LTIxLjctMS03LjMgLjktMTMgMy4yLTE2LjYgNi45LTcuNiA3LjctMTUuMiAxNS42LTIyLjMgMjMuMy0xLjcgMS44LTMuMyAzLjUtNC44IDUuMWw4LjggMjJjMSAyLjQgMSA1IC4yIDcuNUwyOS43IDE3MC42Yy40IDEuNCAuNSAxLjkgMS4yIDQuOCAxLjYgNi4zIDMuNSAxMy4zIDUuNCAyMC45IDUuNiAyMS42IDExLjIgNDMuMiAxNi40IDYzLjQgMTIuOSA1MCAyMS40IDgyLjggMjMuNCA5MSAxMC4xIDQwLjEgMTYuNCA1MS4zIDQwLjIgNjguMyAyNC42IDE3LjYgNzYuMyA1My4yIDg1LjkgNTkuMyAxLjIgLjggMi41IDEuNiA0IDIuNyAuNiAuNCAzLjIgMi4yIDMuOSAyLjcgNCAyLjggNi43IDQuNCA5LjIgNS42IDIuMiAxIDMuOSAxLjUgNS4xIDEuNXMyLjktLjUgNS4xLTEuNWMyLjUtMS4yIDUuMi0yLjggOS4yLTUuNiAuNy0uNSAzLjMtMi4zIDMuOS0yLjcgMS42LTEuMSAyLjgtMS45IDQtMi43IDkuNi02LjEgNjEuMy00MS43IDg1LjktNTkuMyAyMy44LTE3LjEgMzAuMi0yOC4yIDQwLjEtNjguMyAyLjEtOC4zIDEwLjUtNDEuMSAyMy4zLTkwLjcgNS4zLTIwLjYgMTAuOS00Mi4yIDE2LjUtNjMuOCAyLTcuNiAzLjgtMTQuNiA1LjQtMjAuOSAuNy0yLjkgLjktMy40IDEuMi00LjhsLTEzLjMtMzguOGMtLjgtMi40LS44LTUuMSAuMi03LjVsOC44LTIyYy0xLjUtMS42LTMuMS0zLjMtNC44LTUuMS03LjItNy42LTE0LjctMTUuNS0yMi4zLTIzLjMtMy43LTMuNy05LjMtNi0xNi42LTYuOS02LjgtLjgtMTQuNC0uMy0yMS43IDEtMS43IC4zLTMuMiAuNi00LjUgLjktLjggLjItMS4zIC4zLTEuNSAuNC0zLjggMS4xLTcuOS0uMi0xMC42LTMuMkwyOTMuOCAyMS4xek0yMjQuNSAzMTZjMi44IDAgMjAuOSA2LjUgMzUuNCAxNC4xczI1IDEzIDI4LjMgMTUuMiAxLjMgNi4yLTEuNyA4LjQtNDQuMSAzNC42LTQ4LjEgMzguMi05LjggOS41LTEzLjggOS41LTkuOC01LjktMTMuOC05LjUtNDUuMS0zNi00OC4xLTM4LjItNS4xLTYuMi0xLjctOC40IDEzLjktNy41IDI4LjMtMTUuMiAzMi41LTE0LjEgMzUuNC0xNC4xbC0uMiAwem0uMS0yMzAuN2MuNyAwIDguOCAuMiAyMC41IDQuMiAxMi4zIDQuMiAyNS43IDkuNCAzMS45IDkuNHM1MS45LTguOSA1MS45LTguOSA1NC4yIDY2LjcgNTQuMiA4MS02LjggMTgtMTMuNyAyNS40LTM2LjggMzkuOC00MC43IDQzLjktMTEuOSAxMC41LTcuMSAyMS44IDExLjcgMjUuOCAzLjkgNDAuNC0yMSAyNC40LTI5LjQgMjIuOC0yOC40LTEyLjItMzUuNy0xNy4xLTMwLjUtMjQuMy0zMC41LTMxLjggMjQtMjAuOCAyOC40LTIzLjkgMjQuNy0xNC44IDI1LjEtMTkuNCAuMy02LTUuNy0xNy40LTE2LjctMjYuNy0xNC45LTM2LjggMTkuMS0xNS40IDMxLjUtMjAuMiAzNi4yLTEzLjcgMzkuMi0xNS4xIDIuMi0yLjctNi44LTMuNi0zNC42LTQuMy00Ni4xLTEuMS0zMS4yIDguMi0zMi44IDEwLjktMyAyLjctMS40IDExLjggMTAuMSA1Mi44IDEwLjkgNjAuNiAyLjQgMTIuOS01LjggMTQuOC0yMi4xIDUuMi0yNi44IDUuMi0xOC42LTMuMy0yNi44LTUuMi02LjYtNy01LjgtMTQuOCA5LjMtNTEuNSAxMC45LTYwLjYgLjItOS4yLTEuNC0xMS44LTIxLjMtNy42LTMyLjgtMTAuOS0zNy4xIC4yLTQ2LjEgMS4xLTkuOCAyLjItNi44IDMuNiAyNi44IDEwLjQgMzkuMiAxNS4xIDI5LjcgMTAgMzEuNSAyMC4yLTkgMjUuNC0xNC45IDM2LjgtNi4xIDEyLjgtNS43IDE3LjQgMjAuNiAxNi40IDI1LjEgMTkuNCAyOC40IDE2LjQgMjguNCAyMy45LTIzLjIgMjctMzAuNSAzMS44LTI3LjIgMTUuNC0zNS43IDE3LjEtMjEuNy04LjItMjkuNC0yMi44LS44LTI5LjEgMy45LTQwLjQtMy4zLTE3LjctNy4xLTIxLjgtMzMuOC0zNi41LTQwLjctNDMuOS0xMy43LTExLjItMTMuNy0yNS40IDU0LjItODEgNTQuMi04MSA0NS44IDguOSA1MS45IDguOSAxOS41LTUuMiAzMS45LTkuNCAyMC42LTQuMiAyMC42LTQuMmwtLjMgMHoiXX0sVTh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImF2aWFuZXgiLGljb246WzUxMiw1MTIsW10sImYzNzQiLCJNNDUzLjIgMzJsLTMxMiAwQzEwMi4zIDMyIDY1IDYzLjIgNTcuOSAxMDEuN0wxLjMgNDEwLjNDLTUuOCA0NDguOCAyMCA0ODAgNTkgNDgwbDMxMiAwYzM4LjkgMCA3Ni4yLTMxLjIgODMuMy02OS43TDUxMSAxMDEuOEM1MTggNjMuMiA0OTIuMiAzMiA0NTMuMiAzMnpNMzk1IDM3OS4zbC0zMiAxMy41LTExNS40LTExMGMtMTQuNyAxMC0yOS4yIDE5LjUtNDEuNyAyNy4xbDIyLjEgNjQuMi0xNy45IDEyLjctNDAuNi02MS01Mi40LTQ4LjEgMTUuNy0xNS40IDU4IDMxLjFjOS4zLTEwLjUgMjAuOC0yMi42IDMyLjgtMzQuOWwtMjAuNS0yOS42LTY4LjgtOTkuOCAxOC44LTI4LjkgOC45LTQuOCAxMDMuMSAxMTIuNCA0LjkgNC41YzE5LjQtMTguOCAzMy44LTMyLjQgMzMuOC0zMi40IDcuNy02LjUgMjEuNS0yLjkgMzAuNyA3LjkgOSAxMC41IDEwLjYgMjQuNyAyLjcgMzEuMy0xLjggMS4zLTE1LjUgMTEuNC0zNS4zIDI1LjZsNC41IDcuMyA5NC45IDExOS40LTYuMyA3Ljl6Il19LFc4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJuczgiLGljb246WzY0MCw1MTIsW10sImYzZDUiLCJNMTA0LjMgMjY5LjJsMjYuMSAwIDAtMjYuMi0yNi4xIDAgMCAyNi4yek0xNTYuOCAyNDNsLS4xLTI2LjIgMC0uOWMtLjItMTAuNC00LjQtMjAuMy0xMS45LTI3LjZzLTE3LjUtMTEuMy0yNy45LTExLjEtMjAuMyA0LjQtMjcuNiAxMS44LTExLjMgMTcuNS0xMS4yIDI3LjlsMCAuMiAyNi40IDAgMC0uMmMuMS0zLjQgMS41LTYuNiAzLjktOXM1LjctMy43IDkuMS0zLjcgNi43IDEuMyA5LjEgMy43IDMuOCA1LjYgMy45IDlsMCAyNi4yIDI2LjMgMHptNTIuNCAyNS44YzAgMTItMi40IDIzLjgtNi45IDM0LjlzLTExLjMgMjEuMS0xOS43IDI5LjYtMTguNSAxNS4yLTI5LjYgMTkuNy0yMi45IDYuOS0zNC45IDYuOWwtLjYgMGMtMjQuMiAwLTQ3LjMtOS42LTY0LjQtMjYuN1MyNi4zIDI5MyAyNi4zIDI2OC44bC0yNi4zIDAgMCAuMmMwIDE1LjQgMy4xIDMwLjcgOSA0NC45czE0LjYgMjcuMiAyNS41IDM4LjEgMjMuOSAxOS41IDM4LjEgMjUuNCAyOS41IDguOSA0NC45IDguOWwuOCAwYzE1LjQgMCAzMC43LTMgNDQuOS05czI3LjItMTQuNiAzOC4xLTI1LjUgMTkuNS0yMy44IDI1LjQtMzguMSA4LjktMjkuNSA4LjktNDQuOWwwLTI2LTI2LjMgMCAwIDI2em0tMTU3LjIgMGMuMSAxNy4zIDcgMzMuOSAxOS4yIDQ2LjFzMjguOCAxOS4xIDQ2LjEgMTkuMSAzMy45LTYuOSA0Ni4xLTE5LjEgMTkuMi0yOC44IDE5LjItNDYuMWwtMjYuMyAwYy0uMiAxMC4yLTQuNCAyMC0xMS43IDI3LjJzLTE3LjEgMTEuMi0yNy40IDExLjItMjAuMS00LTI3LjQtMTEuMi0xMS41LTE2LjktMTEuNy0yNy4ybDAtMjYtMjYuMyAwIDAtMjYuNmMuMy0xNy4zIDcuNC0zMy44IDE5LjctNDUuOHMyOS0xOC44IDQ2LjMtMTguNiAzMy44IDcuMiA0NS45IDE5LjUgMTguOSAyOC45IDE4LjkgNDYuMmwwIDI1LjMgMjYuMyAwIDAtMjUuM2MwLTI0LjMtOS43LTQ3LjctMjYuOS02NC45cy00MC41LTI2LjktNjQuOS0yNi45LTQ3LjcgOS43LTY0LjkgMjYuOS0yNi45IDQwLjUtMjYuOSA2NC45bDAgMjUuNCAyNi4zIDAgMCAyNnptNDE4LjQtNzEuMmMxMy43IDAgMjQuNiA2LjYgMzAuMSAxOC4zbC43IDEuNSAyMy4yLTExLjUtLjYtMS40Yy04LTE5LjMtMjguNS0zMS4zLTUzLjQtMzEuMy0yMy4xIDAtNDMuNiAxMS40LTUxIDI4LjQtLjEgMjYuOS0uMiAyMy45IDAgMjQuOCA0LjcgMTEgMTQuNiAxOS40IDI4LjcgMjQuMiA2LjUgMiAxMy4xIDMuMyAxOS44IDQgNS41IC43IDEwLjYgMS40IDE1LjggMy4xIDYuNCAyLjEgMTAuNSA1LjMgMTIuOCA5LjhsMCA5LjljLTMuNyA3LjUtMTMuOCAxMi4zLTI1LjggMTIuMy0xNC4zIDAtMjYtNi45LTMxLjktMTlsLS43LTEuNS0yMyAxMS41IC42IDEuNGM3LjkgMTkuNCAyOS42IDMyIDU1LjMgMzIgMjMuNiAwIDQ0LjYtMTEuNCA1Mi4zLTI4LjRsLjItMjUuOS0uMi0uN2MtNC45LTExLTE1LjItMTkuNi0yOC45LTI0LjItNy43LTIuNy0xNC4zLTMuNi0yMC43LTQuNC01LS41LTEwLTEuNS0xNC44LTIuOS02LjMtMS45LTEwLjQtNS4xLTEyLjYtOS42bDAtOC40YzMuNC03LjQgMTIuOS0xMi4xIDI0LjItMTIuMWwwIDB6TTI4Ny42IDMxMS4zbDI2LjEgMCAwLTY4LjQtMjYuMSAwIDAgNjguNHpNNjM5LjggMjU4Yy0yLjktNi4zLTguMy0xMi0xNS40LTE2LjcgNS42LTMuOCAxMC4xLTkuMSAxMy0xNS4zbC4yLTI1LjMtLjItLjdjLTcuNC0xNi0yNi43LTI2LjctNDguMi0yNi43UzU0OC41IDE4NCA1NDEuMSAyMDBsLS4yIDI1LjMgLjIgLjdjMi45IDYuMSA3LjQgMTEuNCAxMyAxNS4zLTcuMiA0LjctMTIuNSAxMC41LTE1LjQgMTYuN2wtLjIgMjguOSAuMiAuN2M3LjYgMTYgMjcuOSAyNi43IDUwLjYgMjYuN3M0My4xLTEwLjcgNTAuNi0yNi43bC4yLTI4LjktLjItLjd6bS03My4yLTUwLjhjMy42LTYuMyAxMi42LTEwLjUgMjIuNi0xMC41czE5IDQuMiAyMi42IDEwLjVsMCAxMy43Yy0zLjUgNi4yLTEyLjYgMTAuMy0yMi42IDEwLjNzLTE5LjEtNC4yLTIyLjYtMTAuM2wwLTEzLjd6bTQ3LjMgNzIuMmMtMy44IDYuNi0xMy4zIDEwLjktMjQuNyAxMC45LTExLjEgMC0yMS00LjQtMjQuNy0xMC45bDAtMTYuMmMzLjctNi4zIDEzLjUtMTAuNSAyNC43LTEwLjUgMTEuMyAwIDIwLjkgNC4xIDI0LjcgMTAuNWwwIDE2LjJ6TTM3Ni40IDI2NmwtNTkuOC04OS43LTI5IDAgMCA0MC42IDI2LjUgMCAwIC40IDYyLjUgOTQuMSAyNS43IDAgMC0xMzUuMS0yNS45IDAgMCA4OS43eiJdfSxib2U9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXBpbnRlcmVzdCIsaWNvbjpbNDQ4LDUxMixbInBpbnRlcmVzdC1zcXVhcmUiXSwiZjBkMyIsIk0zODQgMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw3Mi42IDAtMi4yLS44Yy01LjQtNDguMS0zLjEtNTcuNSAxNS43LTEzNC43IDMuOS0xNiA4LjUtMzUgMTMuOS01Ny45IDAgMC03LjMtMTQuOC03LjMtMzYuNSAwLTcwLjcgNzUuNS03OCA3NS41LTI1IDAgMTMuNS01LjQgMzEuMS0xMS4yIDQ5LjgtMy4zIDEwLjYtNi42IDIxLjUtOS4xIDMyLTUuNyAyNC41IDEyLjMgNDQuNCAzNi40IDQ0LjQgNDMuNyAwIDc3LjItNDYgNzcuMi0xMTIuNCAwLTU4LjgtNDIuMy05OS45LTEwMi42LTk5LjktNjkuOSAwLTExMC45IDUyLjQtMTEwLjkgMTA2LjYgMCAyMS4xIDguMiA0My43IDE4LjMgNTYgMiAyLjQgMi4zIDQuNSAxLjcgNy0xLjEgNC43LTMuMSAxMi45LTQuNyAxOS4yLTEgNC0xLjggNy4zLTIuMSA4LjYtMS4xIDQuNS0zLjUgNS41LTguMiAzLjMtMzAuNi0xNC4zLTQ5LjgtNTkuMS00OS44LTk1LjEgMC03Ny41IDU2LjItMTQ4LjYgMTYyLjItMTQ4LjYgODUuMiAwIDE1MS40IDYwLjcgMTUxLjQgMTQxLjggMCA4NC42LTUzLjMgMTUyLjctMTI3LjQgMTUyLjctMjQuOSAwLTQ4LjMtMTIuOS01Ni4zLTI4LjIgMCAwLTEyLjMgNDYuOS0xNS4zIDU4LjQtNSAxOS4zLTE3LjYgNDIuOS0yNy40IDU5LjNMMzg0IDQ4MGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NHoiXX0sRzh0PWJvZSxZOHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmx1ZXRvb3RoLWIiLGljb246WzI1Niw1MTIsW10sImYyOTQiLCJNMTY0LjkgMjYwTDI1Ny41IDE1Ni43IDExMS42IDAgMTExLjYgMjA2LjMgMjUuNCAxMjAuMi02IDE1MS42IDEwMi4xIDI2MC02IDM2OC40IDI1LjQgMzk5LjggMTExLjYgMzEzLjcgMTE0LjMgNTEyIDI2Mi44IDM2My40IDE2NC45IDI2MHptNDAuOS0xMDNsLTUwIDUwLS4zLTEwMC4zIDUwLjMgNTAuM3ptLTUwIDE1Nmw1MCA1MC01MC4zIDUwLjMgLjMtMTAwLjN6Il19LFo4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJncmlwZmlyZSIsaWNvbjpbMzIwLDUxMixbXSwiZjNhYyIsIk04MC41IDMwMS40YzAtNzMuOCAxMDUuMS0xMjIuNSAxMDUuMS0yMDMgMC00Ny4xLTM0LTg4LTM5LjEtOTAuNCAuNCAzLjMgLjYgNi43IC42IDEwIDAgOTIuMS0xNDcuMSAxNTMuOS0xNDcuMSAyNjguNiAwIDQ5LjggMzIuMiA3OS4yIDY2LjUgMTA4LjMgNjUuMSA0Ni43IDc4LjEgNzEuNCA3OC4xIDg2LjYgMCAxMC4xLTQuOCAxNy00LjggMjIuMyAxMy4xLTE2LjcgMTcuNC0zMS45IDE3LjUtNDYuNCAwLTI5LjYtMjEuNy01Ni4zLTQ0LjItODYuNS0xNi0yMi4zLTMyLjYtNDIuNi0zMi42LTY5LjV6bTIwNS4zLTM5Yy0xMi4xLTY2LjgtNzgtMTI0LjQtOTQuNy0xMzAuOWw0IDcuMmMyLjQgNS4xIDMuNCAxMC45IDMuNCAxNy4xIDAgNDQuNy01NC4yIDExMS4yLTU2LjYgMTE2LjctMi4yIDUuMS0zLjIgMTAuNS0zLjIgMTUuOCAwIDIwLjEgMTUuMiA0Mi4xIDE3LjkgNDIuMSAyLjQgMCA1Ni42LTU1LjQgNTguMS04Ny43IDYuNCAxMS43IDkuMSAyMi42IDkuMSAzMy40IDAgNDEuMi00MS44IDk2LjktNDEuOCA5Ni45IDAgMTEuNiAzMS45IDUzLjIgMzUuNSA1My4yIDEgMCAyLjItMS40IDMuMi0yLjQgMzcuOS0zOS4zIDY3LjMtODUgNjcuMy0xMzYuOCAwLTgtLjctMTYuMi0yLjItMjQuNnoiXX0sdm9lPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1nb29nbGUtcGx1cyIsaWNvbjpbNDQ4LDUxMixbImdvb2dsZS1wbHVzLXNxdWFyZSJdLCJmMGQ0IiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek02NCAyNTZjMC01NS4zIDQ0LjctMTAwIDEwMC0xMDAgMjcgMCA0OS41IDkuOCA2NyAyNi4ybC0yNy4xIDI2LjFjLTcuNC03LjEtMjAuMy0xNS40LTM5LjgtMTUuNC0zNC4xIDAtNjEuOSAyOC4yLTYxLjkgNjMuMiAwIDM0LjkgMjcuOCA2My4yIDYxLjkgNjMuMiAzOS42IDAgNTQuNC0yOC41IDU2LjgtNDMuMWwtNTYuOSAwIDAtMzQuNCA5NC40IDBjMSA1IDEuNiAxMC4xIDEuNiAxNi42IDAgNTcuMS0zOC4zIDk3LjYtOTYgOTcuNi01NS4zIDAtMTAwLTQ0LjctMTAwLTEwMHptMjkxIDE4LjJsMCAyOS0yOS4yIDAgMC0yOS0yOSAwIDAtMjkuMiAyOSAwIDAtMjkgMjkuMiAwIDAgMjkgMjkgMCAwIDI5LjItMjkgMHoiXX0sWDh0PXZvZSxLOHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2l0ZWUiLGljb246WzUxMiw1MTIsW10sImU4NjMiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAxIDAtNTEyIDI1NiAyNTYgMCAxIDEgMCA1MTJ6TTM4NS42IDExMy44bDAgMC0xNzcgMGMtNTIuNCAwLTk0LjggNDIuNC05NC44IDk0LjhsMCAxNzdjMCA3IDUuNyAxMi42IDEyLjYgMTIuNmwxODYuNSAwYzQ3LjEgMCA4NS4zLTM4LjIgODUuMy04NS4zbDAtNzIuN2MwLTctNS43LTEyLjYtMTIuNi0xMi42bC0xNDUuNCAwYy03IDAtMTIuNiA1LjctMTIuNiAxMi42bDAgMzEuNmMwIDYuNiA1LjEgMTIuMSAxMS42IDEyLjZsMSAwIDg4LjUgMGM2LjYgMCAxMi4xIDUuMSAxMi42IDExLjZsMCAxIDAgNi4zYzAgMjAuOS0xNyAzNy45LTM3LjkgMzcuOWwtMTIwLjEgMGMtNyAwLTEyLjYtNS43LTEyLjYtMTIuNmwwLTEyMC4xYzAtMjAuNCAxNi4xLTM3LjEgMzYuNC0zNy45bDEuNiAwIDE3NyAwYzcgMCAxMi42LTUuNyAxMi42LTEyLjZsMC0zMS42YzAtNy01LjYtMTIuNi0xMi42LTEyLjZ6Il19LFE4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ4bXBwIixpY29uOls1NzYsNTEyLFtdLCJlODY0IiwiTTAgNDcuMmMzLjUgMTM3LjEgMTE3LjEgMjc4LjYgMjUyLjkgMzU2LjctMzEuNSAyNS02Ny4yIDQ0LjEtMTA2LjIgNTMuOWwwIDUuNGM1Ni40LTIuMyA5OC4xLTIwLjEgMTQxLjMtNDAuNyA2NS43IDM0LjYgMTIyLjIgMzkuOSAxNDEuNCA0MC43bDAtNS40Yy0zOS05LjgtNzQuNy0yOC44LTEwNi4yLTUzLjggMTM1LjctNzguMiAyNDkuMy0yMTkuOCAyNTIuOC0zNTYuOC01OC40IDI1LjctMTE5LjEgNDQuMi0xODAuMSA2Mi4zbDAgMGMzLjQgNTktMjAuMiAxNzAuNC0xMDcuOSAyNjIuMy04OC40LTkyLjMtMTExLjItMjA0LjEtMTA3LjgtMjYyLjNsMCAwQzExNy43IDkyLjYgNTkuMyA3MC4yIDAgNDcuMnpNOTMuOSA5N2w3My42IDIxLjhDMTY1LjQgMjE2IDIyNi44IDM1OCAzNDEuMyA0MzIuMiAxOTAuNSAzNzYuOSA4OS45IDIxNS43IDkzLjkgOTd6bTM4OC4zIDBjMy4zIDk5LTY1LjYgMjI0LjctMTcxLjcgMjk2LjQtNC43LTQuMS05LjMtOC40LTEzLjgtMTIuNyA3Ny04MC4yIDExMy4yLTE4Ni4zIDExMS45LTI2MS45TDQ4Mi4xIDk3ek0yNjQuNSA0MTAuNWMzIDEuNiA1LjkgMy4yIDguOSA0LjctMTIuNSA2LjQtMjUuNCAxMi4xLTM4LjYgMTcgMTAuMy02LjcgMjAuMi0xMy45IDI5LjctMjEuN3oiXX0sSjh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFwcC1zdG9yZSIsaWNvbjpbNTEyLDUxMixbXSwiZjM2ZiIsIk0yNTUuOSAxMjAuOWw5LjEtMTUuN2M1LjYtOS44IDE4LjEtMTMuMSAyNy45LTcuNXMxMy4xIDE4LjEgNy41IDI3LjlsLTg3LjUgMTUxLjUgNjMuMyAwYzIwLjUgMCAzMiAyNC4xIDIzLjEgNDAuOGwtMTg1LjUgMGMtMTEuMyAwLTIwLjQtOS4xLTIwLjQtMjAuNHM5LjEtMjAuNCAyMC40LTIwLjRsNTIgMCA2Ni42LTExNS40LTIwLjgtMzYuMWMtNS42LTkuOC0yLjMtMjIuMiA3LjUtMjcuOSA5LjgtNS42IDIyLjItMi4zIDI3LjkgNy41bDguOSAxNS43em0tNzguNyAyMThsLTE5LjYgMzRjLTUuNiA5LjgtMTguMSAxMy4xLTI3LjkgNy41cy0xMy4xLTE4LjEtNy41LTI3LjlsMTQuNi0yNS4yYzE2LjQtNS4xIDI5LjgtMS4yIDQwLjQgMTEuNnptMTY4LjktNjEuN2w1My4xIDBjMTEuMyAwIDIwLjQgOS4xIDIwLjQgMjAuNFM0MTAuNSAzMTggMzk5LjIgMzE4bC0yOS41IDAgMTkuOSAzNC41YzUuNiA5LjggMi4zIDIyLjItNy41IDI3LjktOS44IDUuNi0yMi4yIDIuMy0yNy45LTcuNS0zMy41LTU4LjEtNTguNy0xMDEuNi03NS40LTEzMC42LTE3LjEtMjkuNS00LjktNTkuMSA3LjItNjkuMSAxMy40IDIzIDMzLjQgNTcuNyA2MC4xIDEwNHpNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek00MCAyNTZhMjE2IDIxNiAwIDEgMSA0MzIgMCAyMTYgMjE2IDAgMSAxIC00MzIgMHoiXX0sZXB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndpeCIsaWNvbjpbNjQwLDUxMixbXSwiZjVjZiIsIk0zOTMuNCAxMzEuN2MwIDEzIDIuMSAzMi43LTI4LjcgNDMuOC05LjUgMy40LTE2IDkuNy0xNiA5LjcgMC0zMSA0LjctNDIuMiAxNy40LTQ4LjkgOS44LTUuMSAyNy4yLTQuNiAyNy4yLTQuNnpNMjc3LjYgMTY3LjJsLTM0LjIgMTMyLjctMjguNS0xMDguNmMtNy43LTMyLTIwLjgtNDguNS00OC40LTQ4LjUtMjcuNCAwLTQwLjcgMTYuMi00OC40IDQ4LjVMODkuNSAyOTkuOSA1NS4zIDE2Ny4yQzQ5LjcgMTQwLjUgMjMuOSAxMjkgMCAxMzJMNjUuNiAzNzkuOXMyMS42IDEuNiAzMi41LTRjMTQuMi03LjIgMjEtMTIuOCAyOS42LTQ2LjYgNy43LTMwLjEgMjkuMS0xMTguNCAzMS4xLTEyNC43IDQuOC0xNC45IDExLjEtMTMuOCAxNS40IDAgMiA2LjMgMjMuNSA5NC42IDMxLjEgMTI0LjcgOC42IDMzLjcgMTUuNCAzOS4zIDI5LjYgNDYuNiAxMC44IDUuNSAzMi41IDQgMzIuNSA0TDMzMi45IDEzMmMtMjQuNC0zLjEtNDkuOCA4LjktNTUuMyAzNS4zem0xMTUuOCA1LjJzLTQuMSA2LjMtMTMuNSAxMS42Yy02IDMuNC0xMS44IDUuNi0xOCA4LjYtMTUuMSA3LjMtMTMuMiAxMy45LTEzLjIgMzUuMmwwIDE1Mi4xczE2LjYgMi4xIDI3LjQtMy40YzEzLjktNy4xIDE3LjEtMTQgMTcuMy00NC44bDAtMTUwLjMgMCAwIDAtOXptMTYzLjQgODQuMUw2NDAgMTMyLjhzLTM1LjEtNi01Mi41IDkuOGMtMTMuMyAxMi4xLTI0LjQgMjkuNi01NC4yIDcyLjUtLjUgLjctNi4zIDEwLjUtMTMuMSAwLTI5LjMtNDIuMi00MC44LTYwLjMtNTQuMi03Mi41LTE3LjQtMTUuOC01Mi41LTkuOC01Mi41LTkuOGw4My4yIDEyMy43LTgzIDEyMy40czM2LjYgNC42IDU0LTExLjJjMTEuNS0xMC41IDE3LjYtMjAuNCA1Mi41LTcwLjcgNi44LTEwLjUgMTIuNi0uOCAxMy4xIDAgMjkuNCA0Mi40IDM5LjIgNTguMSA1My4xIDcwLjcgMTcuNCAxNS44IDUzLjMgMTEuMiA1My4zIDExLjJsLTgzLTEyMy40eiJdfSx0cHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaW50ZXJjb20iLGljb246WzQ0OCw1MTIsW10sImY3YWYiLCJNMzkyIDMyTDU2IDMyQzI1LjEgMzIgMCA1Ny4xIDAgODhMMCA0MjRjMCAzMC45IDI1LjEgNTYgNTYgNTZsMzM2IDBjMzAuOSAwIDU2LTI1LjEgNTYtNTZsMC0zMzZjMC0zMC45LTI1LjEtNTYtNTYtNTZ6TTI4My43IDExNC4xYzAtMTkuOCAyOS45LTE5LjggMjkuOSAwbDAgMTk5LjVjMCAxOS44LTI5LjkgMTkuOC0yOS45IDBsMC0xOTkuNXptLTc0LjYtNy41YzAtMTkuOCAyOS45LTE5LjggMjkuOSAwbDAgMjE2LjVjMCAxOS44LTI5LjkgMTkuOC0yOS45IDBsMC0yMTYuNXptLTc0LjcgNy41YzAtMTkuOCAyOS45LTE5LjggMjkuOSAwbDAgMTk5LjVjMCAxOS44LTI5LjkgMTkuOC0yOS45IDBsMC0xOTkuNXpNNTkuNyAxNDRjMC0xOS44IDI5LjktMTkuOCAyOS45IDBsMCAxMzQuM2MwIDE5LjgtMjkuOSAxOS44LTI5LjkgMGwwLTEzNC4zek0zODMuMSAzNzEuOGMtNzIuOCA2My0yNDEuNyA2NS40LTMxOC4xIDAtMTUtMTIuOCA0LjQtMzUuNSAxOS40LTIyLjcgNjUuOSA1NS4zIDIxNi4xIDUzLjkgMjc5LjMgMCAxNC45LTEyLjkgMzQuMyA5LjggMTkuNCAyMi43em01LjItOTMuNWMwIDE5LjgtMjkuOSAxOS44LTI5LjkgMGwwLTEzNC4zYzAtMTkuOCAyOS45LTE5LjggMjkuOSAwbDAgMTM0LjN6Il19LGFwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZWFjdGV1cm9wZSIsaWNvbjpbNTc2LDUxMixbXSwiZjc1ZCIsIk0yNTAuNyAyMTEuN2w1LjgtNC4xIDUuOCA0LjEtMi4xLTYuOCA1LjctNC4zLTcuMS0uMS0yLjMtNi44LTIuMyA2LjgtNy4yIC4xIDUuNyA0LjMtMiA2Ljh6bTYzLjcgMGw1LjgtNC4xIDUuOCA0LjEtMi4xLTYuOCA1LjctNC4zLTcuMi0uMS0yLjMtNi44LTIuMyA2LjgtNy4yIC4xIDUuNyA0LjMtMS45IDYuOHptLTkxLjMgNTAuNWwtMy40IDBjLTQuOCAwLTMuOCA0LTMuOCAxMi4xIDAgNC43LTIuMyA2LjEtNS44IDYuMXMtNS44LTEuNC01LjgtNi4xbDAtMzYuNmMwLTQuNyAyLjMtNi4xIDUuOC02LjFzNS44IDEuNCA1LjggNi4xYzAgNy4yLS43IDEwLjUgMy44IDEwLjVsMy40IDBjNC43LS4xIDMuOC0zLjkgMy44LTEyLjMgMC05LjktNi43LTE0LjEtMTYuOC0xNC4xbC0uMiAwYy0xMC4xIDAtMTYuOCA0LjItMTYuOCAxNC4xbDAgNDAuMWMwIDEwLjQgNi43IDE0LjEgMTYuOCAxNC4xbC4yIDBjMTAuMSAwIDE2LjgtMy44IDE2LjgtMTQuMSAwLTkuOSAxLjEtMTMuOC0zLjgtMTMuOHptLTgwLjcgMTcuNGwtMTQuNyAwIDAtMTkuMyAxMS40IDBjMi41IDAgMy44LTEuMyAzLjgtMy44bDAtMi4xYzAtMi41LTEuMy0zLjgtMy44LTMuOGwtMTEuNCAwIDAtMTguMyAxNC40IDBjMi41IDAgMy44LTEuMyAzLjgtMy44bDAtMi4xYzAtMi41LTEuMy0zLjgtMy44LTMuOGwtMjEuNyAwYy0yLjQtLjEtMy43IDEuMy0zLjcgMy44bDAgNTkuMWMwIDIuNSAxLjMgMy44IDMuOCAzLjhsMjEuOSAwYzIuNSAwIDMuOC0xLjMgMy44LTMuOGwwLTIuMWMwLTIuNS0xLjMtMy44LTMuOC0zLjh6bS00Mi0xOC41YzQuNi0yIDcuMy02IDcuMy0xMi40bDAtMTEuOWMwLTEwLjEtNi43LTE0LjEtMTYuOC0xNC4xbC0xMy40IDBjLTIuNSAwLTMuOCAxLjMtMy44IDMuOGwwIDU5LjFjMCAyLjUgMS4zIDMuOCAzLjggMy44bDMuNCAwYzIuNSAwIDMuOC0xLjMgMy44LTMuOGwwLTIyLjkgNS42IDAgNy40IDIzLjVjLjIgMSAuOCAxLjggMS42IDIuNHMxLjggLjkgMi43IC44bDMuMyAwYzIuOCAwIDQtMS44IDMuMi00LjRsLTguMS0yMy45em0tMy44LTE0YzAgNC44LTIuNSA2LjEtNi4xIDYuMWwtNS44IDAgMC0yMC45IDUuOCAwYzMuNiAwIDYuMSAxLjMgNi4xIDYuMWwwIDguN3pNMTc2LjEgMjI2Yy0uMS0uNS0uMi0xLS40LTEuNHMtLjYtLjgtMS0xLjEtLjgtLjYtMS4zLS43LTEtLjItMS41LS4xbC02LjkgMGMtLjUgMC0xIDAtMS40IC4ycy0uOSAuNC0xLjMgLjctLjcgLjctLjkgMS4xLS40IC45LS40IDEuNGwtMTEgNTkuMmMtLjUgMi43IC45IDQuMSAzLjQgNC4xbDMgMGMuNSAuMSAxIDAgMS41LS4ycy45LS40IDEuMy0uNyAuNy0uNyAuOS0xLjIgLjQtLjkgLjQtMS40bDEuOC0xMS4zIDEyLjIgMCAxLjggMTEuM2MwIC41IC4yIDEgLjQgMS40cy41IC45IC45IDEuMiAuOCAuNiAxLjMgLjcgMSAuMiAxLjUgLjJsMy41IDBjMi42IDAgMy45LTEuNCAzLjQtNC4xTDE3Ni4xIDIyNnptLTEyLjMgMzkuM2w0LjctMjkuNyA0LjcgMjkuNy05LjQgMHptODkuMyAyMC4ybDAtNTMuMiA3LjUgMGMyLjUgMCAzLjgtMS4zIDMuOC0zLjhsMC0yLjFjMC0yLjUtMS4zLTMuOC0zLjgtMy44bC0yNS44IDBjLTIuNSAwLTMuOCAxLjMtMy44IDMuOGwwIDIuMWMwIDIuNSAxLjMgMy44IDMuOCAzLjhsNy4zIDAgMCA1My4yYzAgMi41IDEuMyAzLjggMy44IDMuOGwzLjQgMGMyLjUgMCAzLjgtMS4zIDMuOC0zLjhsMCAwem0yNDgtLjhsLTE5LjQgMCAwLTI2LjcgMTYuMSAwYy4zIDAgLjUgMCAuOC0uMXMuNS0uMiAuNy0uNCAuMy0uNCAuNC0uNyAuMS0uNSAuMS0uOGwwLS44YzAtLjMgMC0uNS0uMS0uOHMtLjItLjUtLjQtLjctLjQtLjMtLjctLjQtLjUtLjEtLjgtLjFsLTE2LjEgMCAwLTI1LjggMTkuMSAwYy4zIDAgLjUgMCAuOC0uMXMuNS0uMiAuNy0uNCAuMy0uNCAuNC0uNyAuMS0uNSAuMS0uOGwwLS44YzAtLjMgMC0uNS0uMS0uOHMtLjItLjUtLjQtLjctLjQtLjMtLjctLjQtLjUtLjEtLjgtLjFsLTIyLjIgMGMtLjMtLjEtLjUtLjEtLjggMHMtLjUgLjItLjcgLjQtLjMgLjQtLjQgLjctLjEgLjUtLjEgLjhsMCA2M2MwIC4zIDAgLjUgLjEgLjhzLjIgLjUgLjQgLjYgLjQgLjMgLjcgLjQgLjUgLjEgLjggLjFsMjIuNSAwYy4zIDAgLjUgMCAuOC0uMXMuNS0uMiAuNy0uNCAuMy0uNCAuNC0uNiAuMS0uNSAuMS0uOGwwLS44YzAtLjMgMC0uNS0uMS0uOHMtLjItLjUtLjQtLjctLjQtLjMtLjctLjQtLjUtLjEtLjgtLjFsMCAwek00MDggMjIxLjhsLS44IDBjLTEwLjEgMC0xNS4zIDQuNy0xNS4zIDE0LjFsMCA0MC4xYzAgOS4zIDUuMiAxNC4xIDE1LjMgMTQuMWwuOCAwYzEwLjEgMCAxNS4zLTQuOCAxNS4zLTE0LjFsMC00MC4xYzAtOS40LTUuMi0xNC4xLTE1LjMtMTQuMWwwIDB6bTEwLjIgNTIuNGMtLjEgOC0zIDExLjEtMTAuNSAxMS4xcy0xMC41LTMuMS0xMC41LTExLjFsMC0zNi42YzAtNy45IDMtMTEuMSAxMC41LTExLjFzMTAuNSAzLjIgMTAuNSAxMS4xbDAgMzYuNnptLTQ2LjUtMTQuNWM2LjEtMS42IDkuMi02LjEgOS4yLTEzLjNsMC05LjdjMC05LjQtNS4yLTE0LjEtMTUuMy0xNC4xbC0xMy43IDBjLS4zIDAtLjUgMC0uOCAuMXMtLjUgLjItLjcgLjQtLjMgLjQtLjQgLjYtLjEgLjUtLjEgLjhsMCA2M2MwIC4zIDAgLjUgLjEgLjhzLjIgLjUgLjQgLjYgLjQgLjMgLjcgLjQgLjUgLjEgLjggLjFsMS4yIDBjLjMgMCAuNSAwIC44LS4xcy41LS4yIC42LS40IC4zLS40IC40LS42IC4xLS41IC4xLS44bDAtMjYuOSAxMS42IDAgMTAuNCAyNy4yYy4yIC41IC41IC45IC45IDEuMXMuOSAuNCAxLjQgLjRsMS41IDBjMS40IDAgMi0xIDEuNS0yLjNsLTEwLjYtMjcuM3ptLTYuNC0zLjlsLTEwLjIgMCAwLTI4LjUgMTAuMiAwYzcuNSAwIDEwLjUgMy4xIDEwLjUgMTEuMWwwIDYuNGMwIDcuOC0zIDExLTEwLjUgMTFsMCAwem04NS45LTMzLjFsLTEzLjcgMGMtLjMtLjEtLjUtLjEtLjggMHMtLjUgLjItLjcgLjQtLjMgLjQtLjQgLjctLjEgLjUtLjEgLjhsMCA2M2MwIC4zIDAgLjUgLjEgLjhzLjIgLjUgLjQgLjYgLjQgLjMgLjcgLjQgLjUgLjEgLjggLjFsMS4yIDBjLjMgMCAuNSAwIC44LS4xcy41LS4yIC42LS40IC4zLS40IC40LS42IC4xLS41IC4xLS44bDAtMjYuMSAxMC42IDBjMTAuMSAwIDE1LjMtNC44IDE1LjMtMTQuMWwwLTEwLjVjMC05LjQtNS4yLTE0LjEtMTUuMy0xNC4xem0xMC4yIDIyLjhjMCA3LjktMyAxMS4xLTEwLjUgMTEuMWwtMTAuMiAwIDAtMjkuMiAxMC4yIDBjNy41LS4xIDEwLjUgMy4xIDEwLjUgMTFsMCA3LjF6TTI1OS42IDMwOGwtMi4zLTYuOC0yLjMgNi44LTcuMSAuMSA1LjcgNC4zLTIuMSA2LjggNS44LTQuMSA1LjggNC4xLTIuMS02LjggNS43LTQuMy03LjEtLjF6TTQ4Ny4yIDE3MS45Yy0xMS43LTQuNC0yMy41LTguMS0zNS42LTExLjMgMTkuNi03OCAxMS42LTEzNC43LTIyLjMtMTUzLjktMzQuNS0xOS40LTg1LjkgNC4zLTEzOC4yIDU1LjIgMy40IDMuMyA2LjggNi43IDEwLjIgMTAuMiA4Mi41LTgwIDExOS42LTUzLjUgMTIwLjktNTIuOCAyMi40IDEyLjcgMzYgNTUuOCAxNS41IDEzNy44LTI3LjgtNi40LTU2LjEtMTAuNy04NC42LTEzLTcxLjktMTAwLjUtMTQwLjYtMTQyLjEtMTgyLjItMTQyLjEtMzAuOCAwLTQzLjggMjEtNDcuNiAyNy43LTE4LjEgMzItMTMuMyA4NC4yIC4xIDEzMy44LTcwLjUgMjAuMy0xMjAuNyA1NC4xLTEyMC4zIDk1IC41IDU5LjYgMTAzLjIgODcuOCAxMjIuMSA5Mi44LTIwLjUgODEuOS0xMC4xIDEzNS42IDIyLjMgMTUzLjkgMjggMTUuOCA3NS4xIDYgMTM4LjItNTUuMi0zLjQtMy4zLTYuOC02LjctMTAuMi0xMC4yLTgyLjUgODAtMTE5LjcgNTMuNS0xMjAuOSA1Mi44LTIyLjMtMTIuNi0zNi01NS42LTE1LjUtMTM3LjkgMTIuNCAyLjkgNDEuOCA5LjUgODQuNiAxMyA3MS45IDEwMC40IDE0MC42IDE0MiAxODIuMSAxNDIgMzAuOCAwIDQzLjgtMjEgNDcuNi0yNy43IDE4LTMxLjkgMTMuMy04NC4xLS4xLTEzMy44IDE1Mi4zLTQzLjggMTU2LjItMTMwLjIgMzMuOS0xNzYuM2wwIDB6TTEzNiAzNi44YzIuOS01LjEgMTEuOS0yMC4zIDM0LjktMjAuMyAzNi44IDAgOTguOCAzOS42IDE2My4zIDEyNi4yLTMxLjMtMS44LTYyLjctMS41LTkzLjkgLjkgMTMtMTguMyAyNy4xLTM1LjggNDIuMi01Mi40LTMuNC0zLjUtNi44LTYuOS0xMC4yLTEwLjItMTguMyAyMC4yLTM1LjMgNDEuNy01MC43IDY0LjItMjguNSAyLjctNTYuNyA3LjYtODQuNCAxNC42LS4yLTEuNC0yNC4zLTgyLjItMS4yLTEyM2wwIDB6TTQ0MC44IDQ3NS4xYy0yLjkgNS4xLTExLjggMjAuMy0zNC45IDIwLjMtMzYuNyAwLTk4LjctMzkuNC0xNjMuMy0xMjYuMiAzMS4zIDEuOCA2Mi43IDEuNSA5My45LS45LTEzIDE4LjMtMjcuMSAzNS44LTQyLjIgNTIuNCAzLjQgMy41IDYuOCA2LjkgMTAuMiAxMC4yIDE4LjQtMjAuMiAzNS4zLTQxLjcgNTAuNy02NC4yIDQ3LjMtNC43IDgwLjMtMTMuNSA4NC40LTE0LjYgMjIuNyA4NC40IDQuNSAxMTcgMS4yIDEyM3ptOS4xLTEzOC42Yy0zLjYtMTEuOS03LjctMjQuMS0xMi40LTM2LjQtMi4xIDAtNC4yLS41LTYuMS0xLjVzLTMuNS0yLjQtNC42LTQuMmwtLjEgLjFjLTEuNiAxLjUtMy40IDIuNy01LjQgMy42IDUuNyAxNC4zIDEwLjYgMjguNCAxNC43IDQyLjItMjMuNyA2LTQ3LjcgMTAuMy03MiAxMyAzLjUtNS4zIDE3LjItMjYuMiAzMi4yLTU0LjItMi4xLS44LTQuMi0xLjktNi0zLjItMS4xIDEuMi0zLjYgNC4yLTEwLjkgNC4yLTYuMiAxMS4yLTE3LjQgMzAuOS0zMy45IDU1LjItMzcuNCAzLjMtNzUgMy42LTExMi40IDEtNy45LTExLjItMjEuNS0zMS4xLTM2LjgtNTcuOC0xLS40LTItLjktMy0xLjUtMS45IDEuNi0zLjkgMy4yLTEyLjYgMy4yIDYuMyAxMS4yIDE3LjUgMzAuNyAzMy44IDU0LjYtMjQuMy0yLjMtNDguNC02LjItNzIuMi0xMS43IDMuOS0xNCA4LjYtMjguMyAxNC4xLTQyLjktMy4yIDAtNS40IC4yLTguNC0xLTIuMiAuOC00LjYgMS4xLTYuOSAxLTQuOSAxMy40LTkuMSAyNi41LTEyLjcgMzkuNC0xNTkuOS00Mi42LTE0MC4zLTEyMy42LTEuNS0xNjQgMy42IDExLjkgNy43IDI0LjEgMTIuNCAzNi40IDEwLjQgMCAxMi45IDMuNCAxNC40IDUuMyAuNy0uOCAxLjQtMS42IDIuMy0yLjItNS44LTE0LjctMTAuOS0yOS4yLTE1LjItNDMuMyA3LTEuOCAzMi40LTguNCA3Mi0xMy0xNS45IDI0LjMtMjYuNyA0My45LTMyLjggNTUuMyAzLjEgMS44IDUuMyA0LjYgNi40IDggMi41LTMuNyA2LjEtNi42IDEwLjItOC40IDYuNS0xMS43IDE3LjktMzEuOSAzNC44LTU2LjkgMzcuNC0zLjMgNzUtMy42IDExMi40LTEgMzEuNSA0NC42IDI4LjkgNDguMSA0Mi41IDY0LjUgMi42LTMuNSA2LjMtNiAxMC40LTcuNC02LjQtMTEuNC0xNy42LTMxLTM0LjMtNTUuNSA0MC40IDQuMSA2NSAxMCA3Mi4yIDExLjctNCAxNC40LTguOSAyOS4yLTE0LjYgNDQuMiAyLjUgMSA0LjggMi40IDYuOCA0LjNsLjEgLjFjMS0xLjUgMi4zLTIuOCAzLjgtMy44czMuMy0xLjYgNS4xLTEuOGM0LjktMTMuNCA5LjItMjYuNiAxMi44LTM5LjUgMTEuNyAzLjEgMjMuMiA2LjggMzQuNSAxMSAxMDYuMSAzOS45IDc0IDg3LjkgNzIuNiA5MC40LTE5LjggMzUuMS04MC4xIDU1LjItMTA1LjcgNjIuNXptLTExNC40LTExNGwtMS4yIDBjLS4zIDAtLjUgMC0uOCAuMXMtLjUgLjItLjYgLjQtLjMgLjQtLjQgLjYtLjEgLjUtLjEgLjhsMCA0OS44YzAgNy45LTIuNiAxMS4xLTEwLjEgMTEuMXMtMTAuMS0zLjEtMTAuMS0xMS4xbDAtNDkuOGMwLS4zIDAtLjUtLjEtLjhzLS4yLS41LS40LS43LS40LS4zLS43LS40LS41LS4xLS44LS4xbC0xLjIgMGMtLjMgMC0uNSAwLS44IC4xcy0uNSAuMi0uNyAuNC0uMyAuNC0uNCAuNi0uMSAuNS0uMSAuOGwwIDUxLjVjMCA5LjYgNSAxNC4xIDE1LjEgMTQuMWwuNCAwYzEwLjEgMCAxNS4xLTQuNiAxNS4xLTE0LjFsMC01MS41YzAtLjMtLjEtLjUtLjItLjhzLS4zLS41LS41LS42LS40LS4zLS43LS40LS41LS4xLS44LS4xek0zMjEuOCAzMDhsLTIuMy02LjgtMi4zIDYuOC03LjEgLjEgNS43IDQuMy0yLjEgNi44IDUuOC00LjEgNS44IDQuMS0yLjEtNi44IDUuNy00LjMtNy4xLS4xem0tMzEuMSA3LjRsLTIuMy02LjgtMi4zIDYuOC03LjEgLjEgNS43IDQuMy0yLjEgNi44IDUuOC00LjEgNS44IDQuMS0yLjEtNi44IDUuNy00LjMtNy4xLS4xem01LjEtMzAuOGwtMTkuNCAwIDAtMjYuNyAxNi4xIDBjLjMgMCAuNSAwIC44LS4xcy41LS4yIC43LS40IC4zLS40IC40LS43IC4xLS41IC4xLS44bDAtLjhjMC0uMyAwLS41LS4xLS44cy0uMi0uNS0uNC0uNy0uNC0uMy0uNy0uNC0uNS0uMS0uOC0uMWwtMTYuMSAwIDAtMjUuOCAxOS4xIDBjLjMgMCAuNSAwIC44LS4xcy41LS4yIC43LS40IC4zLS40IC40LS43IC4xLS41IC4xLS44bDAtLjhjMC0uMyAwLS41LS4xLS44cy0uMi0uNS0uNC0uNy0uNC0uMy0uNy0uNC0uNS0uMS0uOC0uMWwtMjIuMiAwYy0uMyAwLS41IDAtLjggLjFzLS41IC4yLS43IC40LS4zIC40LS40IC42LS4xIC41LS4xIC44bDAgNjNjMCAuMyAwIC41IC4xIC44cy4yIC41IC40IC42IC40IC4zIC43IC40IC41IC4xIC44IC4xbDIyLjUgMGMuMyAwIC41IDAgLjgtLjFzLjUtLjIgLjctLjQgLjMtLjQgLjQtLjcgLjEtLjUgLjEtLjhsMC0uOGMwLS4zIDAtLjYtLjEtLjhzLS4yLS41LS40LS43LS40LS40LS43LS40LS41LS4xLS44LS4xbDAgMHptLTcuNC05OS40bC0yLjMgNi44LTcuMSAuMSA1LjcgNC4zLTIuMSA2LjggNS44LTQuMSA1LjggNC4xLTIuMS02LjggNS43LTQuMy03LjEtLjEtMi4zLTYuOHoiXX0scnB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndhemUiLGljb246WzUxMiw1MTIsW10sImY4M2YiLCJNNTAyLjYgMjAxLjdjMTQuNSA4NS45LTMwLjkgMTY3LjktMTEzLjIgMjA4LjEgMTMgMzQuMS0xMi40IDcwLjItNDguMyA3MC4yLTEzLjIgMC0yNi01LjEtMzUuNi0xNC4ycy0xNS4zLTIxLjYtMTYtMzQuOGMtNi40IC4yLTY0LjIgMC03Ni4zLS42LS4zIDYuOC0xLjkgMTMuNS00LjcgMTkuNnMtNi45IDExLjctMTEuOSAxNi4zLTEwLjggOC4yLTE3LjIgMTAuNS0xMy4yIDMuNC0xOS45IDMuMWMtMzMuOS0xLjQtNTgtMzQuOC00Ny02Ny45LTM3LjItMTMuMS03Mi41LTM0LjktOTkuNi03MC44LTEzLTE3LjMtLjUtNDEuOCAyMC44LTQxLjggNDYuMyAwIDMyLjItNTQuMiA0My4yLTExMC4zIDE4LjQtOTMuOSAxMTYuOC0xNTcuMSAyMTEuNy0xNTcuMSAxMDIuNSAwIDE5Ny4yIDcwLjcgMjE0LjEgMTY5Ljd6TTM3My45IDM4OC4zYzQyLTE5LjIgODEuMy01Ni43IDk2LjMtMTAyLjEgNDAuNS0xMjMuMS02NC4yLTIyOC0xODEuNy0yMjgtODMuNCAwLTE3MC4zIDU1LjQtMTg2LjEgMTM2LTkuNSA0OC45IDUgMTMxLjQtNjguNyAxMzEuNCAyNC45IDMzLjEgNTguMyA1Mi42IDkzLjcgNjQgMjQuNy0yMS44IDYzLjktMTUuNSA3OS44IDE0LjMgMTQuMiAxIDc5LjIgMS4yIDg3LjkgLjggMy41LTYuOSA4LjUtMTIuOSAxNC43LTE3LjVzMTMuMi03LjkgMjAuOC05LjUgMTUuNC0xLjQgMjIuOSAuNCAxNC41IDUuMyAyMC41IDEwLjJ6TTIwNS41IDE4Ny4xYzAtMzQuNyA1MC44LTM0LjcgNTAuOCAwcy01MC44IDM0LjctNTAuOCAwem0xMTYuNiAwYzAtMzQuNyA1MC45LTM0LjcgNTAuOSAwcy01MC45IDM0LjgtNTAuOSAwek0xOTkuNSAyNTcuOGMtMy40LTE2LjkgMjIuMi0yMi4yIDI1LjYtNS4ybC4xIC4zYzQuMSAyMS40IDI5LjggNDQgNjQuMSA0My4xIDM1LjctLjkgNTkuMy0yMi4yIDY0LjEtNDIuOCA0LjUtMTYuMSAyOC42LTEwLjQgMjUuNSA2LTUuMiAyMi4yLTMxLjIgNjItOTEuNSA2Mi45LTQyLjYgMC04MC45LTI3LjgtODcuOS02NC4ybDAgMHoiXX0saXB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtcmVtaXgiLGljb246WzUxMiw1MTIsW10sImY0ZWUiLCJNMjU1LjYgOEMzOTcuNCA4IDUwNCAxMTguMSA1MDQgMjU2IDUwNCA0MDMuMSAzODUuNSA1MDQgMjU1LjYgNTA0IDEyMS42IDUwNCA4IDM5NC41IDggMjU2IDggMTIzLjEgMTEyLjcgOCAyNTUuNiA4em0uOCA0NC43Yy0xMTguMiAwLTIwMy43IDk3LjktMjAzLjcgMjAzLjMgMCAxMDkuOCA5MS4yIDIwMi44IDIwMy43IDIwMi44IDEwMy4yIDAgMjAyLjgtODEuMSAyMDIuOC0yMDIuOCAuMS0xMTMuOC05MC4yLTIwMy4zLTIwMi44LTIwMy4zek00MTguMSAyNjAuNGw0LjkgMi4yIDAgNzBjLTcuMiAzLjYtNjMuNCAyNy41LTY3LjMgMjguOC02LjUtMS44LTExMy43LTQ2LjgtMTM3LjMtNTYuMmwtNjQuMiAyNi42LTYzLjMtMjcuNSAwLTYzLjggNTkuMy0yNC44Yy0uNy0uNy0uNCA1LS40LTcwLjRsNjcuMy0yOS43IDE1MS45IDYyLjkgMCA2MS42IDQ5LjEgMjAuM3ptLTcwLjQgODEuNWwwLTQzLjgtLjQgMCAwLTEuOC0xMTMuOC00Ni41IDAgNDUuMiAxMTMuOCA0Ni45IDAtLjQgLjQgLjR6bTcuNS01Ny42bDM5LjktMTYuNC0zNi44LTE1LjUtMzkgMTYuNCAzNS45IDE1LjV6bTUyLjMgMzguMWwwLTQzLTQ0LjMgMTguNiAwIDQzLjQgNDQuMy0xOXoiXX0sc3B0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJhbmRjYW1wIixpY29uOls1MTIsNTEyLFtdLCJmMmQ1IiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnptNDguMiAzMjYuMWwtMTgxIDAgODQuNy0xNTYuMSAxODEgMC04NC43IDE1Ni4xeiJdfSxvcHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXdlYi1hd2Vzb21lLXN0cm9rZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTY4NCIsIk02NCA2NEM0Ni4zIDY0IDMyIDc4LjMgMzIgOTZsMCAzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMjBjMC0xNy43LTE0LjMtMzItMzItMzJMNjQgNjR6TTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0yMzUgODEuNmw1MyA0Ni40IDUyLjItMTAuNGMtMi42LTMuOS00LjItOC41LTQuMi0xMy42IDAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRjMCAxMy0xMC4zIDIzLjYtMjMuMiAyNEwzMDQuNSAzNDkuMWMtNS4yIDExLjUtMTYuNiAxOC45LTI5LjIgMTguOWwtMTAyLjYgMGMtMTIuNiAwLTI0LTcuNC0yOS4yLTE4LjlMODcuMiAyMjRjLTEyLjktLjQtMjMuMi0xMS0yMy4yLTI0IDAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRjMCA1LTEuNSA5LjctNC4yIDEzLjZMMTYwIDIyNCAyMTMuMSAxNzcuNmMtOC45LTQuMS0xNS0xMy4xLTE1LTIzLjYgMC0xNC40IDExLjYtMjYgMjYtMjZzMjYgMTEuNiAyNiAyNmMwIDEwLjUtNi4yIDE5LjUtMTUuMSAyMy42eiJdfSxucHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmltZW8tdiIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3ZCIsIk00NDcuOCAxNTMuNmMtMiA0My42LTMyLjQgMTAzLjMtOTEuNCAxNzkuMS02MC45IDc5LjItMTEyLjQgMTE4LjgtMTU0LjYgMTE4LjgtMjYuMSAwLTQ4LjItMjQuMS02Ni4zLTcyLjMtMzUuMi0xMjkuMi01MC4yLTIwNC45LTc5LjMtMjA0LjktMy40IDAtMTUuMSA3LjEtMzUuMiAyMS4xTDAgMTY4LjJjNTEuNi00NS4zIDEwMC45LTk1LjcgMTMxLjgtOTguNSAzNC45LTMuNCA1Ni4zIDIwLjUgNjQuNCA3MS41IDI4LjcgMTgxLjUgNDEuNCAyMDguOSA5My42IDEyNi43IDE4LjctMjkuNiAyOC44LTUyLjEgMzAuMi02Ny42IDQuOC00NS45LTM1LjgtNDIuOC02My4zLTMxIDIyLTcyLjEgNjQuMS0xMDcuMSAxMjYuMi0xMDUuMSA0NS44IDEuMiA2Ny41IDMxLjEgNjQuOSA4OS40eiJdfSxscHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3RyYXZhIixpY29uOlszODQsNTEyLFtdLCJmNDI4IiwiTTE1OC40IDBMNyAyOTIgOTYuMiAyOTIgMTU4LjQgMTc1LjkgMjIwLjEgMjkyIDMwOC42IDI5MiAxNTguNCAwek0zMDguNiAyOTJsLTQzLjkgODguMi00NC42LTg4LjItNjcuNiAwIDExMi4yIDIyMCAxMTEuNS0yMjAtNjcuNiAweiJdfSxjcHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidW5pcmVnaXN0cnkiLGljb246WzM4NCw1MTIsW10sImY0MDQiLCJNMTkyIDQ4MGMzOS41IDAgNzYuMi0xMS44IDEwNi44LTMyLjJsLTIxMy41IDBDMTE1LjggNDY4LjIgMTUyLjUgNDgwIDE5MiA0ODB6TTEwMi45IDI4Ni45bDAtMTIuNC0xMDIuOSAwIDAgMTIuNGMwIDIuNSAwIDUgLjEgNy40bDEwMy4xIDBjLS4yLTIuNC0uMy00LjktLjMtNy40em0yMC41IDU3bC0xMTQuOSAwYzIuNiA4LjUgNS44IDE2LjggOS42IDI0LjhsMTM4LjMgMGMtMTIuOS01LjctMjQuMS0xNC4yLTMzLTI0Ljh6bS0xNy43LTM0LjdsLTEwNC40IDBjLjkgNy42IDIuMiAxNSAzLjkgMjIuM2wxMDkuNyAwYy00LTYuOS03LjItMTQuNC05LjItMjIuM3ptLTIuOC02OS4zbC0xMDIuOSAwIDAgMTcuMyAxMDIuOSAwIDAtMTcuM3ptMC0xNzMuMmwtMTAyLjkgMCAwIDQuOSAxMDIuOSAwIDAtNC45em0wLTM0LjdsLTEwMi45IDAgMCAyLjUgMTAyLjkgMCAwLTIuNXptMCA2OS4zbC0xMDIuOSAwIDAgNy40IDEwMi45IDAgMC03LjR6bTAgMTA0bC0xMDIuOSAwIDAgMTQuOCAxMDIuOSAwIDAtMTQuOHptMC02OS4zbC0xMDIuOSAwIDAgOS45IDEwMi45IDAgMC05Ljl6bTAgMzQuNmwtMTAyLjkgMCAwIDEyLjQgMTAyLjkgMCAwLTEyLjR6TTI2OS4xIDMzMS41bDEwOS43IDBjMS44LTcuMyAzLjEtMTQuNyAzLjktMjIuM2wtMTA0LjQgMGMtMi4xIDcuOS01LjIgMTUuNC05LjIgMjIuM3ptMTItMTg1LjdsMTAyLjkgMCAwLTkuOC0xMDIuOSAwIDAgOS44em0wIDM3LjJsMTAyLjkgMCAwLTEyLjQtMTAyLjkgMCAwIDEyLjR6bTAtNzQuM2wxMDIuOSAwIDAtNy40LTEwMi45IDAgMCA3LjR6bTAtNzYuN2wwIDIuNSAxMDIuOSAwIDAtMi41LTEwMi45IDB6TTc4LjEgNDQyLjlsMjI3LjcgMGMxMS44LTguNyAyMi43LTE4LjYgMzIuMi0yOS43bC0yOTMuMSAwYzkuNiAxMSAyMS40IDIxIDMzLjIgMjkuN3ptMjAzLTM3MS4zbDEwMi45IDAgMC00LjktMTAyLjkgMCAwIDQuOXptMCAxNDguNWwxMDIuOSAwIDAtMTQuOC0xMDIuOSAwIDAgMTQuOHpNMzguOCA0MDUuN2wzMDUuMyAwYzYuNy04LjUgMTIuNi0xNy42IDE3LjgtMjcuMkwyMyAzNzguNWM1LjIgOS42IDkuMiAxOC43IDE1LjggMjcuMnptMTg4LjgtMzcuMWwxMzkuNCAwYzMuNy04IDUuOC0xNi4yIDguNS0yNC44bC0xMTUgMGMtOC44IDEwLjctMjAuMSAxOS4yLTMyLjkgMjQuOHptNTMuNS04MS43YzAgMi41LS4xIDUtLjQgNy40bDEwMy4xIDBjLjEtMi41IC4yLTQuOSAuMi03LjRsMC0xMi40LTEwMi45IDAgMCAxMi40em0wLTI5LjdsMTAyLjkgMCAwLTE3LjMtMTAyLjkgMCAwIDE3LjN6Il19LGRwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy1kaW5lcnMtY2x1YiIsaWNvbjpbNTc2LDUxMixbXSwiZjI0YyIsIk0yMzkuNyA3OS45YTE3NS44IDE3NS44IDAgMSAwIDAgMzUxLjYgMTc1LjggMTc1LjggMCAxIDAgMC0zNTEuNnpNMTk5LjggMzU5LjVjLTQxLjctMTUuOS03MS40LTU2LjQtNzEuNC0xMDMuOHMyOS43LTg3LjkgNzEuNC0xMDQuMWwwIDIwNy45em03OS44IC4zbDAtMjA4LjJjNDEuNyAxNi4yIDcxLjQgNTYuNyA3MS40IDEwNC4xcy0yOS43IDg3LjktNzEuNCAxMDQuMXpNNTI4IDMyTDQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBMMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsNDgwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNTJjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTMyOS43IDQ0OGwtOTAuMyAwQzEzMy4yIDQ0OCA0NS42IDM2Mi41IDQ1LjYgMjU3LjggNDUuNiAxNDMuMiAxMzMuMiA2NCAyMzkuNCA2NGw5MC4zIDBjMTA1IDAgMjAwLjcgNzkuMiAyMDAuNyAxOTMuOCAwIDEwNC43LTk1LjcgMTkwLjItMjAwLjcgMTkwLjJ6Il19LHBwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJrdWJlcm5ldGVzIixpY29uOls1MTIsNTEyLFtdLCJlODU3IiwiTTI1NiAzMTYuMWMzLjUtLjEgNy4yIDIgOC45IDUuMUwyOTMgMzcxLjdjLTMuNiAxLjItNy4zIDIuMy0xMS4yIDMuMS0yMS40IDQuOS00Mi43IDMuNC02Mi0zLjJsMjcuOS01MC40YzEuNy0zLjEgNC45LTUgOC4yLTUuMXptNTAuNS0yMy40bDU3LjIgOS43Yy04LjQgMjMuNS0yNC40IDQzLjktNDUuOCA1Ny41bC0yMi4yLTUzLjZjLTItNC43IC4xLTEwLjQgNC44LTEyLjYgMS45LS45IDQuMS0xLjMgNi0uOXptLTg5LjEgNy43Yy41IDIuMSAuMyA0LjItLjUgNmwtMjEuOCA1My4zYy0yMC41LTEzLjItMzYuOS0zMi45LTQ1LjctNTcuMWw1Ni43LTkuNmM1LjEtLjkgMTAuMSAyLjQgMTEuMyA3LjV6bTU4LjgtNDFsLTMuOSAxNy4xLTE1LjggNy42LTE1LjktNy43LTQtMTcuMSAxMS0xMy43IDE3LjcgMCAxMSAxMy43em0tNzMuNy0xNi43YzMuOSAzLjQgNC40IDkuNSAxLjIgMTMuNi0xLjMgMS43LTMuMSAyLjgtNSAzLjNsLTU1LjMgMTYuMmMtMi44LTI1LjcgMy4zLTUwLjcgMTYuMS03MS42bDQzLjEgMzguNnptMTUwLjctMzguNWM2LjQgMTAuNCAxMS4yIDIyIDE0LjEgMzQuNiAyLjkgMTIuNCAzLjYgMjQuOCAyLjQgMzYuOGwtNTUuNi0xNmMtNS0xLjQtOC4xLTYuNy02LjktMTEuNyAuNS0yLjEgMS42LTMuOCAzLjEtNS4xbDQyLjktMzguNXptLTExMy44IDQuNGMtLjIgNS4yLTQuNyA5LjQtOS45IDkuNC0yLjEgMC00LjEtLjctNS43LTEuOGwtNDcuMy0zMy40YzE0LjUtMTQuMyAzMy4xLTI0LjggNTQuNS0yOS43IDMuOS0uOSA3LjgtMS42IDExLjctMmwtMy4zIDU3LjZ6bTMwLjgtNTcuNmMyNSAzLjEgNDguMSAxNC40IDY1LjggMzEuN2wtNDcuMSAzMy4yYy00LjIgMy0xMCAyLjMtMTMuMy0xLjgtMS4zLTEuNy0yLTMuNi0yLjEtNS42bC0zLjMtNTcuNXpNMjU0LjUtMS4zYzUuOS0uMyAxMS43IC45IDE3IDMuNEw0NTUgODkuN2M0LjcgMi4zIDguOSA1LjYgMTIuMiA5LjdzNS42IDguOCA2LjggMTMuOWw0NS4zIDE5Ni45YzEuMiA1LjEgMS4yIDEwLjQgMCAxNS41cy0zLjUgOS45LTYuOCAxMy45TDM4NS42IDQ5Ny42Yy0zLjMgNC4xLTcuNSA3LjQtMTIuMiA5LjZzLTEwIDMuNC0xNS4yIDMuNGwtMjAzLjYgMGMtNS4zIDAtMTAuNS0xLjItMTUuMi0zLjRzLTguOS01LjUtMTIuMi05LjZMLjIgMzM5LjdjLS43LS45LTEuNC0xLjgtMi0yLjgtMi42LTMuOS00LjMtOC4zLTUuMS0xMi45cy0uNy05LjMgLjMtMTMuOEwzOC43IDExMy40YzEuMi01LjEgMy41LTkuOSA2LjgtMTMuOXM3LjUtNy40IDEyLjItOS43TDI0MS4xIDIuMWM0LjItMiA4LjgtMy4yIDEzLjQtMy40em0xLjggNjdjLTYuMSAwLTExIDUuNS0xMSAxMi4yIDAgLjEgMCAuMiAwIC4zIDAgLjktLjEgMiAwIDIuOCAuMSAzLjkgMSA2LjkgMS41IDEwLjQgLjkgNy43IDEuNyAxNCAxLjIgMTkuOS0uNSAyLjItMi4xIDQuMy0zLjYgNS43bC0uMiA0LjZjLTYuNiAuNS0xMy4yIDEuNi0xOS44IDMuMS0yOC41IDYuNS01My4xIDIxLjEtNzEuOCA0MS0xLjItLjgtMy4zLTIuMy00LTIuOC0yIC4zLTQgLjktNi41LS42LTQuOS0zLjMtOS40LTcuOS0xNC44LTEzLjQtMi41LTIuNi00LjMtNS4xLTcuMi03LjctLjctLjYtMS43LTEuNC0yLjQtMi0yLjMtMS44LTUtMi44LTcuNy0yLjktMy40LS4xLTYuNiAxLjItOC44IDMuOS0zLjggNC43LTIuNSAxMiAyLjcgMTYuMiAuMSAwIC4xIC4xIC4yIC4xIC43IC42IDEuNiAxLjMgMi4zIDEuOCAzLjEgMi4zIDYgMy41IDkuMSA1LjMgNi42IDQuMSAxMiA3LjQgMTYuMyAxMS41IDEuNyAxLjggMiA0LjkgMi4yIDYuM2wzLjUgMy4yYy0xOC44IDI4LjQtMjcuNiA2My40LTIyLjQgOTkuMWwtNC42IDEuM2MtMS4yIDEuNi0yLjkgNC00LjcgNC43LTUuNiAxLjgtMTIgMi40LTE5LjcgMy4zLTMuNiAuMy02LjcgLjEtMTAuNSAuOC0uOCAuMi0yIC40LTIuOSAuN2wtLjEgMC0uMiAuMWMtNi41IDEuNi0xMC43IDcuNS05LjMgMTMuNCAxLjMgNS45IDcuNyA5LjQgMTQuMiA4bC4yIDBjLjEgMCAuMS0uMSAuMi0uMSAuOS0uMiAyLjEtLjQgMi44LS42IDMuOC0xIDYuNS0yLjUgOS44LTMuOCA3LjMtMi42IDEzLjMtNC44IDE5LjItNS42IDIuNC0uMiA1IDEuNSA2LjMgMi4ybDQuOC0uOGMxMSAzNC4xIDM0LjEgNjEuNyA2My4zIDc5LjFsLTIgNC44Yy43IDEuOSAxLjUgNC40IDEgNi4yLTIuMSA1LjUtNS44IDExLjQtOS45IDE3LjktMiAzLTQuMSA1LjMtNS45IDguOC0uNCAuOC0xIDIuMS0xLjQgMy0yLjggNi0uOCAxMyA0LjcgMTUuNiA1LjUgMi42IDEyLjItLjEgMTUuMi02LjJsMCAwYy40LS45IDEtMiAxLjQtMi44IDEuNi0zLjYgMi4xLTYuNiAzLjItMTAuMSAyLjktNy4zIDQuNS0xNC45IDguNS0xOS43IDEuMS0xLjMgMi45LTEuOCA0LjgtMi4zbDIuNS00LjVjMjUuNSA5LjggNTQgMTIuNCA4Mi41IDUuOSA2LjUtMS41IDEyLjgtMy40IDE4LjgtNS43IC43IDEuMiAyIDMuNiAyLjMgNC4yIDEuOSAuNiAzLjkgLjkgNS42IDMuNCAzIDUuMSA1IDExLjIgNy41IDE4LjUgMS4xIDMuNCAxLjYgNi41IDMuMiAxMC4xIC40IC44IDEgMiAxLjQgMi44IDIuOSA2LjEgOS43IDguOCAxNS4yIDYuMiA1LjQtMi42IDcuNS05LjYgNC43LTE1LjYtLjQtLjktMS0yLjEtMS40LTMtMS44LTMuNC0zLjktNS43LTUuOS04LjctNC4yLTYuNS03LjYtMTEuOS05LjgtMTcuNC0uOS0yLjggLjItNC42IC44LTYuNS0uNC0uNS0xLjMtMy4yLTEuOC00LjQgMzAuNC0xNy45IDUyLjgtNDYuNiA2My4zLTc5LjYgMS40IC4yIDMuOSAuNyA0LjcgLjggMS43LTEuMSAzLjItMi41IDYuMi0yLjMgNS45IC44IDExLjkgMyAxOS4yIDUuNiAzLjQgMS4zIDYuMSAyLjggOS44IDMuOCAuOCAuMiAxLjkgLjQgMi44IC42IC4xIDAgLjEgMCAuMiAuMWwuMiAwYzYuNSAxLjQgMTIuOC0yLjIgMTQuMi04cy0yLjgtMTEuOC05LjMtMTMuNGMtLjktLjItMi4zLS42LTMuMi0uNy0zLjgtLjctNi45LS41LTEwLjUtLjgtNy43LS44LTE0LTEuNC0xOS43LTMuMi0yLjMtLjktNC0zLjctNC44LTQuOGwtNC40LTEuM2MyLjMtMTYuNiAxLjctMzMuOS0yLjMtNTEuMy00LTE3LjUtMTEuMS0zMy41LTIwLjYtNDcuNiAxLjEtMSAzLjMtMi45IDMuOS0zLjUgLjItMiAwLTQgMi4xLTYuMiA0LjMtNC4xIDkuOC03LjQgMTYuMy0xMS41IDMuMS0xLjggNi0zIDkuMS01LjMgLjctLjUgMS43LTEuMyAyLjQtMS45IDUuMy00LjIgNi41LTExLjQgMi43LTE2LjJzLTExLjEtNS4yLTE2LjQtMWMtLjcgLjYtMS44IDEuNC0yLjQgMi0yLjkgMi41LTQuOCA1LTcuMiA3LjctNS40IDUuNS05LjkgMTAuMS0xNC44IDEzLjQtMi4xIDEuMi01LjMgLjgtNi43IC43bC00LjIgM2MtMjMuOC0yNS01Ni4yLTQxLTkxLjItNDQuMS0uMS0xLjUtLjItNC4xLS4yLTQuOS0xLjQtMS40LTMuMi0yLjUtMy42LTUuNS0uNS01LjkgLjMtMTIuMyAxLjMtMTkuOSAuNS0zLjYgMS40LTYuNiAxLjUtMTAuNCAwLS45IDAtMi4yIDAtMy4xIDAtNi43LTQuOS0xMi4yLTExLTEyLjJ6Il19LHVwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaW50ZXJlc3QiLGljb246WzUxMiw1MTIsW10sImYwZDIiLCJNNTA0IDI1NmMwIDEzNy0xMTEgMjQ4LTI0OCAyNDgtMjUuNiAwLTUwLjItMy45LTczLjQtMTEuMSAxMC4xLTE2LjUgMjUuMi00My41IDMwLjgtNjUgMy0xMS42IDE1LjQtNTkgMTUuNC01OSA4LjEgMTUuNCAzMS43IDI4LjUgNTYuOCAyOC41IDc0LjggMCAxMjguNy02OC44IDEyOC43LTE1NC4zIDAtODEuOS02Ni45LTE0My4yLTE1Mi45LTE0My4yLTEwNyAwLTE2My45IDcxLjgtMTYzLjkgMTUwLjEgMCAzNi40IDE5LjQgODEuNyA1MC4zIDk2LjEgNC43IDIuMiA3LjIgMS4yIDguMy0zLjMgLjgtMy40IDUtMjAuMyA2LjktMjguMSAuNi0yLjUgLjMtNC43LTEuNy03LjEtMTAuMS0xMi41LTE4LjMtMzUuMy0xOC4zLTU2LjYgMC01NC43IDQxLjQtMTA3LjYgMTEyLTEwNy42IDYwLjkgMCAxMDMuNiA0MS41IDEwMy42IDEwMC45IDAgNjcuMS0zMy45IDExMy42LTc4IDExMy42LTI0LjMgMC00Mi42LTIwLjEtMzYuNy00NC44IDctMjkuNSAyMC41LTYxLjMgMjAuNS04Mi42IDAtMTktMTAuMi0zNC45LTMxLjQtMzQuOS0yNC45IDAtNDQuOSAyNS43LTQ0LjkgNjAuMiAwIDIyIDcuNCAzNi44IDcuNCAzNi44cy0yNC41IDEwMy44LTI5IDEyMy4yQzE2MS41IDQzNy4yIDE2My41IDQ2Ny40IDE2NS42IDQ4NyA3My40IDQ1MC45IDggMzYxLjEgOCAyNTYgOCAxMTkgMTE5IDggMjU2IDhTNTA0IDExOSA1MDQgMjU2eiJdfSxmcHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYWxnb2xpYSIsaWNvbjpbNTEyLDUxMixbXSwiZjM2YyIsIk0yNTYgMGMtMTM5LjkgMC0yNTQgMTEyLjctMjU2IDI1Mi4xLTIgMTQxLjUgMTEyLjkgMjU4LjcgMjU0LjUgMjU5LjUgNDMuNyAuMyA4NS45LTEwLjQgMTIzLjMtMzAuNyAzLjYtMiA0LjItNyAxLjEtOS43bC0yNC0yMS4yYy00LjktNC4zLTExLjgtNS41LTE3LjgtMy0yNi4xIDExLjEtNTQuNSAxNi44LTgzLjcgMTYuNC0xMTQuNC0xLjUtMjA2LjktOTYuNi0yMDUuMS0yMTEgMS44LTExMi45IDk0LjMtMjA0LjIgMjA3LjctMjA0LjJsMjA3LjcgMCAwIDM2OS0xMTcuOC0xMDQuN2MtMy44LTMuNC05LjctMi43LTEyLjcgMS4zLTE4LjkgMjUtNDkuNyA0MC42LTgzLjkgMzguMi00Ny41LTMuMy04NS45LTQxLjUtODkuNS04OC45LTQuMi01Ni42IDQwLjYtMTAzLjkgOTYuMy0xMDMuOSA1MC40IDAgOTEuOSAzOC44IDk2LjIgODggLjQgNC40IDIuNCA4LjUgNS43IDExLjRsMzAuNyAyNy4yYzMuNSAzLjEgOSAxLjIgOS45LTMuNCAyLjItMTEuOCAzLTI0LjIgMi4xLTM2LjgtNC45LTcyLTYzLjMtMTMwLTEzNS40LTEzNC40LTgyLjctNS4xLTE1MS44IDU5LjUtMTU0IDE0MC42LTIuMSA3OC45IDYyLjYgMTQ3IDE0MS42IDE0OC43IDMzIC43IDYzLjYtOS42IDg4LjMtMjcuNkw0OTUgNTA5LjRjNi42IDUuOCAxNyAxLjIgMTctNy43bDAtNDkyYzAtNS40LTQuNC05LjctOS43LTkuN0wyNTYgMHoiXX0saHB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0YWNrcGF0aCIsaWNvbjpbNDQ4LDUxMixbXSwiZjg0MiIsIk0yNDQuNiAyMzIuNGMwIDguNS00LjMgMjAuNS0yMS4zIDIwLjVsLTE5LjYgMCAwLTQxLjUgMTkuNiAwYzE3LjEgMCAyMS4zIDEyLjQgMjEuMyAyMXpNNDQ4IDMybDAgNDQ4LTQ0OCAwIDAtNDQ4IDQ0OCAwek0xNTEuMyAyODcuOGMwLTIxLjItMTIuMS0zNC41LTQ2LjctNDQuOC0yMC42LTcuNC0yNi0xMC45LTI2LTE4LjZzNy0xNC42IDIwLjQtMTQuNmMxNC4xIDAgMjAuOCA4LjQgMjAuOCAxOC40bDMwLjcgMCAuMi0uNmMuNS0xOS42LTE1LjEtNDEuNi01MS4xLTQxLjYtMjMuNCAwLTUyLjYgMTAuOC01Mi42IDM4LjMgMCAxOS40IDkuMiAzMS4zIDUwLjcgNDQuNCAxNy4zIDYuMiAyMS45IDEwLjQgMjEuOSAxOS41IDAgMTUuMi0xOS4xIDE0LjItMTkuNSAxNC4yLTIwLjQgMC0yNS43LTkuMS0yNS43LTIxLjlsLTMwLjggMC0uMiAuNmMtLjcgMzEuMyAyOC40IDQ1LjIgNTYuNiA0NS4yIDMwIDAgNTEuMS0xMy42IDUxLjEtMzguM3ptMTI1LjQtNTUuNmMwLTI1LjMtMTguNC00NS41LTUzLjQtNDUuNWwtNTEuOCAwIDAgMTM4LjIgMzIuMiAwIDAtNDcuNCAxOS42IDBjMzAuMyAwIDUzLjQtMTYgNTMuNC00NS40ek0yOTcuOSAzMjVsNDkuMS0xMzguMi0zMS4xIDAtNDcuOSAxMzguMiAyOS45IDB6TTQwNC41IDE4Ni44bC0zMS4xIDAtNDcuOSAxMzguMiAyOS45IDAgNDkuMS0xMzguMnoiXX0sbXB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9jdG9wdXMtZGVwbG95IixpY29uOls1MTIsNTEyLFtdLCJlMDgyIiwiTTQ1NS43IDM0OS4yYy00NS45LTM5LjEtMzYuNy03Ny45LTE2LjEtMTI4LjEgMzUuNy04Ny0yMy41LTE4Ni45LTEwOS42LTIxMi44LTkyLjktMjcuOS0xOTUuNyAxNi0yMzAuMyAxMDguOC04LjcgMjMuNS0xMi41IDQ4LjUtMTEgNzMuNSAxLjcgMjkuNSAxNC43IDUzIDI0LjEgODAuMyAxNy4yIDUwLjItMjguMSA5Mi43LTY2LjcgMTE3LjYtNDYuOCAzMC4yLTM2LjMgMzkuOS04LjQgNDEuOSAyMy40IDEuNyA0NC41LTQuNSA2NS4zLTE1IDkuMi00LjYgNDAuNy0xOC45IDQ1LjEtMjguNi0xMi4yIDI2LjYtMzcgNzIuNy0yMS41IDEwMi4xIDE5LjEgMzYuMiA2Ny4xLTMxLjggNzYuNy00NS44IDguNi0xMi42IDQzLTgxLjMgNjMuNi00Ni45IDE4LjkgMzEuNCA4LjYgNzYuNCAzNS43IDEwNC42IDMyLjkgMzQuMiA1MS4yLTE4LjMgNTEuNC00NC4yIC4yLTE2LjQtNi4xLTk1LjkgMjkuOS01OS45IDIxLjQgMjEuNCA1Mi45IDcxLjIgODguNiA2NyAzOC43LTQuNS0yMi4xLTY4LTI4LjMtNzguNyA1LjQgNC4zIDUzLjcgMzQuMSA1My44IDkuNSAuMS0xOC44LTMwLjEtMzQuNy00Mi41LTQ1LjN6Il19LGdwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ5YW1tZXIiLGljb246WzUxMiw1MTIsW10sImY4NDAiLCJNNTAwLjcgMTU5LjVjLS40LTEuOC0xLjItMy40LTIuMy00LjhzLTIuNS0yLjYtNC4xLTMuNWMtMy4xLTEuNi02LjctMi0xMC4xLTEuMWwtMjYuNCA2LjYgMC0uMi0yMi4zIDUuOC0xLjIgLjMtLjYtMi4yYy0xNS41LTU4LjMtNDUtMTExLjktODYuMS0xNTYuMi0yLjYtMi43LTYuMS00LjItOS44LTQuM3MtNy4zIDEuMy0xMCAzLjhsLTEwMi45IDEwMi43LTE5OS45IDBjLTYuNiAwLTEyLjkgMi42LTE3LjYgNy4zUzAgMTI0LjggMCAxMzEuNGwwIDI0OUMwIDM4NyAyLjYgMzkzLjMgNy4zIDM5OHMxMSA3LjMgMTcuNiA3LjNMMjI1IDQwNS4zIDMyOC4xIDUwOGMyLjYgMi42IDYgNCA5LjcgNHM3LjEtMS40IDkuNy00Yy4xLS4xIC4yLS4zIC40LS40IDI5LjMtMzEuNSA1Mi44LTY3LjggNjkuNi0xMDcuNCA2LjktMTYuNSAxMi43LTMzLjUgMTcuMy01MC44bDAgMCAyMC40IDUuMyAwLS4xIDI4LjMgNy4zYy45IC4yIDEuNyAuNCAyLjYgLjUgMS40IC4yIDIuOCAuMiA0LjEtLjEgMi41LS41IDQuOC0xLjcgNi43LTMuNHMzLjItNCAzLjgtNi41YzE1LjItNjMuNCAxNS4yLTEyOS42IC4xLTE5M2wwIDB6TTMzNy4xIDI0LjdsMCAwIDAgMCAwIDB6TTIyNi45IDE4OS44bC01Mi42IDkxLjNjLTEgMS43LTEuNSAzLjctMS41IDUuN2wwIDQ2LjJjMCA1LjgtMi4zIDExLjQtNi41IDE1LjZzLTkuNyA2LjQtMTUuNiA2LjRsLTMuNCAwYy01LjggMC0xMS40LTIuMy0xNS42LTYuNHMtNi41LTkuNy02LjUtMTUuNmwwLTQ1LjdjMC0xLjktLjUtMy44LTEuNC01LjVMNzIuMyAxODkuNmMtMS45LTMuNC0yLjgtNy4xLTIuOC0xMXMxLjEtNy42IDMtMTAuOSA0LjctNi4xIDguMS04IDcuMS0yLjkgMTEtMi45bDMuMyAwYzQgMCA4IDEuMSAxMS41IDMuMnM2LjMgNS4xIDguMSA4LjdsMzYuNCA3MC4zIDM3LjUtNzAuNWMxLjgtMy41IDQuNi02LjQgNy45LTguNHM3LjItMy4yIDExLjEtMy4yIDcuOCAuOSAxMS4yIDIuOCA2LjMgNC43IDguMiA4LjFjMiAzLjMgMyA3LjEgMyAxMXMtMSA3LjctMyAxMWwwIDB6TTMzNy4xIDI0LjdjMzUuOSA0MC42IDYxLjkgODkgNzUuOCAxNDEuM2wuNiAyLTExNC4xIDI5LjYgMC02Ni4xYzAtNi42LTIuNy0xMi45LTcuMy0xNy42cy0xMS03LjMtMTcuNi03LjNsLTE5LjQgMCA4Mi4xLTgxLjh6TTM5Ny42IDM5MmwwIDAgMCAwYy0xNC43IDM0LjgtMzUuMSA2Ny02MC4yIDk1LjJsLTgyLjItODEuOSAxOS4yIDBjNi42IDAgMTIuOS0yLjYgMTcuNi03LjNzNy4zLTExIDcuMy0xNy42bDAtNjYuMiAxMTQuNiAyOS45Yy00LjQgMTYuMy05LjggMzIuMy0xNi4zIDQ3LjlsMCAwem04NC01Mi40bDAgMC01MC42LTEzLjEtMTMxLjctMzQuMyAwLTcyLjUgMTE5LjctMzEgNC41LTEuMmMyOS45LTcuNyA0OS4yLTEyLjggNTguMS0xNS4xIDEyIDU1LjEgMTIgMTEyLjEgMCAxNjcuMnoiXX0sYnB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1vZHgiLGljb246WzQ0OCw1MTIsW10sImYyODUiLCJNMzU2IDI0MS44bDM2LjcgMjMuNyAwIDIxNC41LTEzMy04My44IDk2LjMtMTU0LjR6TTQ0MCA3NWwtMjEzLjcgMC0yMyAzNy44IDE1My41IDk2LjUgODMuMi0xMzQuM3pNMzUxIDIxNy44bC0yOTUuOC0xODUuOCAwIDIxNC41IDQ2IDI5IDI0OS44LTU3Ljd6TTk3IDI5NC4yTDggNDM3IDIyMS43IDQzNyAzNDYuNyAyMzYuNSA5NyAyOTQuMnoiXX0sdnB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS10aHJlYWRzIixpY29uOls0NDgsNTEyLFtdLCJlNjE5IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTI5NC4yIDI0NC4zYzE5LjUgOS4zIDMzLjcgMjMuNSA0MS4yIDQwLjkgMTAuNCAyNC4zIDExLjQgNjMuOS0yMC4yIDk1LjQtMjQuMiAyNC4xLTUzLjUgMzUtOTUuMSAzNS4zbC0uMiAwYy00Ni44LS4zLTgyLjgtMTYuMS0xMDYuOS00Ni44LTIxLjUtMjcuMy0zMi42LTY1LjQtMzMtMTEzLjFsMC0uMmMuNC00Ny43IDExLjUtODUuNyAzMy0xMTMuMSAyNC4yLTMwLjcgNjAuMi00Ni41IDEwNi45LTQ2LjhsLjIgMGM0Ni45IC4zIDgzLjMgMTYgMTA4LjIgNDYuNiAxMi4zIDE1LjEgMjEuMyAzMy4zIDI3IDU0LjRsLTI2LjkgNy4yYy00LjctMTcuMi0xMS45LTMxLjktMjEuNC00My42LTE5LjQtMjMuOS00OC43LTM2LjEtODctMzYuNC0zOCAuMy02Ni44IDEyLjUtODUuNSAzNi4yLTE3LjUgMjIuMy0yNi42IDU0LjQtMjYuOSA5NS41IC4zIDQxLjEgOS40IDczLjMgMjYuOSA5NS41IDE4LjcgMjMuOCA0Ny40IDM2IDg1LjUgMzYuMiAzNC4zLS4zIDU2LjktOC40IDc1LjgtMjcuMyAyMS41LTIxLjUgMjEuMS00Ny45IDE0LjItNjQtNC05LjQtMTEuNC0xNy4zLTIxLjMtMjMuMy0yLjQgMTgtNy45IDMyLjItMTYuNSA0My4yLTExLjQgMTQuNS0yNy43IDIyLjQtNDguNCAyMy41LTE1LjcgLjktMzAuOC0yLjktNDIuNi0xMC43LTEzLjktOS4yLTIyLTIzLjItMjIuOS0zOS41LTEuNy0zMi4yIDIzLjgtNTUuMyA2My41LTU3LjYgMTQuMS0uOCAyNy4zLS4yIDM5LjUgMS45LTEuNi05LjktNC45LTE3LjctOS44LTIzLjQtNi43LTcuOC0xNy4xLTExLjgtMzAuOC0xMS45bC0uNCAwYy0xMSAwLTI2IDMuMS0zNS42IDE3LjZsLTIzLTE1LjhjMTIuOC0xOS40IDMzLjYtMzAuMSA1OC41LTMwLjFsLjYgMGM0MS44IC4zIDY2LjYgMjYuMyA2OS4xIDcxLjggMS40IC42IDIuOCAxLjIgNC4yIDEuOWwuMSAuNXptLTcxLjggNjcuNWMxNy0uOSAzNi40LTcuNiAzOS43LTQ4LjgtOC44LTEuOS0xOC42LTIuOS0yOS0yLjktMy4yIDAtNi40IC4xLTkuNiAuMy0yOC42IDEuNi0zOC4xIDE1LjUtMzcuNCAyNy45IC45IDE2LjcgMTkgMjQuNSAzNi40IDIzLjZsLS4xLS4xeiJdfSx4cHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib2xkLXJlcHVibGljIixpY29uOls1MTIsNTEyLFtdLCJmNTEwIiwiTTI0My44IDEwLjJjNy41LS4zIDE1LS4zIDIyLjUtLjEgMy42IC4xIDcuMiAuNCAxMC44IC43IDQuOSAuMyA5LjggMSAxNC43IDEuNiAyLjkgLjQgNS44IDEgOC43IDEuNSA3LjkgMS4zIDE1LjcgMy4zIDIzLjQgNS40IDEyLjIgMy41IDI0LjIgNy45IDM1LjggMTMuMiAyNi42IDEyLjIgNTAuOSAyOS4yIDcxLjYgNDkuOSAyMCAyMC4xIDM2LjcgNDMuNSA0OC45IDY5LjIgMS4xIDIuNiAyLjQgNS4xIDMuNSA3LjcgMi44IDYuNCA1LjQgMTMgNy42IDE5LjYgNC4xIDEyLjMgNy4zIDI1IDkuNCAzNy44IC42IDMuMSAxIDYuMyAxLjQgOS41IC41IDMuOCAuOSA3LjcgMS4yIDExLjYgLjggOC4zIC44IDE2LjcgLjggMjUuMS0uMSA1LS4zIDkuOS0uNyAxNC45LS4yIDMuNC0uNSA2LjgtMSAxMC4xLS40IDIuNy0uNiA1LjUtMS4xIDguMi0uOSA1LjEtMS43IDEwLjMtMi45IDE1LjQtNC4xIDE4LjUtMTAuMyAzNi42LTE4LjUgNTMuNi0xNS44IDMyLjgtMzguOCA2Mi4yLTY3LjEgODUuMS0xNy4zIDE0LjEtMzYuNCAyNS45LTU2LjkgMzQuOS02LjIgMi43LTEyLjUgNS4zLTE4LjkgNy40LTMuNSAxLjItNyAyLjQtMTAuNiAzLjQtNi42IDEuOS0xMy4zIDMuNi0yMCA1LTQuNyAuOS05LjMgMS43LTE0IDIuNS01LjMgLjctMTAuNSAxLjQtMTUuOCAxLjctNi43IC43LTEzLjQgLjgtMjAuMSAuOC02LjggMC0xMy42LS4xLTIwLjQtLjgtMy4zLS4yLTYuNi0uNS05LjgtMS0yLjctLjQtNS41LS42LTguMi0xLjEtNC4xLS43LTguMi0xLjQtMTIuNC0yLjItNC4yLS45LTguNS0xLjktMTIuNy0zLTguNi0yLjItMTcuMS01LTI1LjQtOC4xLTEwLjUtNC4xLTIwLjgtOC43LTMwLjYtMTQuMi0yLjEtMS4yLTQuMy0yLjMtNi40LTMuNi0xMS4yLTYuNi0yMS45LTE0LjEtMzEuOS0yMi4zLTM0LjctMjguNC02MS40LTY2LjQtNzYuNC0xMDguNy0zLjEtOC43LTUuNy0xNy42LTcuOC0yNi43LTEuNS02LjItMi41LTEyLjQtMy42LTE4LjctLjQtMi4zLS42LTQuNy0xLTcuMS0uNi00LS44LTgtMS4yLTExLjktLjgtOS41LS43LTE5LS41LTI4LjUgLjEtMy41IC4zLTcgLjctMTAuNSAuMy0zLjIgLjUtNi40IC45LTkuNSAuNC0yLjggLjctNS42IDEuMi04LjQgLjctMy45IDEuMy03LjkgMi4xLTExLjggMy40LTE2LjUgOC41LTMyLjcgMTUuMy00OC4yIDEuMi0yLjkgMi42LTUuNyAzLjktOC42IDguMS0xNi43IDE3LjktMzIuNiAyOS41LTQ3LjEgMjAtMjUuNCA0NS4xLTQ2LjcgNzMuMy02Mi41IDcuNS00LjIgMTUuMi04IDIzLjEtMTEuNCAxNS44LTYuOSAzMi40LTEyIDQ5LjMtMTUuNCAzLjUtLjcgNy0xLjIgMTAuNi0xLjggMi42LS41IDUuMy0uNyA3LjktMS4xIDMuNS0uNSA3LjEtLjcgMTAuNi0xIDIuNS0uMiA0LjktLjQgNy40LS41em04LjYgMjQuNGMtOS4yIC4xLTE4LjQgMS0yNy42IDIuMi03LjMgMS4xLTE0LjUgMi42LTIxLjcgNC4zLTEzLjkgMy41LTI3LjUgOC4zLTQwLjUgMTQuNC0xMC41IDUtMjAuNiAxMC43LTMwLjIgMTcuMi00LjIgMi45LTguNCA1LjgtMTIuMyA5LTUuMSA0LTEwIDguMi0xNC43IDEyLjYtMi41IDIuMi00LjggNC43LTcuMiA3LjEtMjguMiAyOC44LTQ4LjQgNjUuNC01Ny41IDEwNC43LTIgOC40LTMuNSAxNy00LjQgMjUuNi0xLjEgOC45LTEuNCAxNy45LTEuNCAyNi44IC4xIDcuMSAuNCAxNC4zIDEuMiAyMS40IC42IDcuMSAxLjkgMTQuMiAzLjIgMjEuMiAxLjEgNC42IDIgOS4zIDMuMyAxMy45IDYuMyAyMy40IDE2LjUgNDUuNyAzMC4xIDY1LjggOC42IDEzIDE4LjggMjQuOSAzMCAzNS44IDE2LjMgMTUuOCAzNSAyOSA1NS4zIDM5LjIgNy4zIDMuNSAxNC43IDYuOSAyMi4zIDkuNiA1IDEuOCAxMC4xIDMuNiAxNS4yIDUgMTEuMyAzLjIgMjIuOCA1LjYgMzQuNCA3LjEgMi45IC4zIDUuOCAuNiA4LjcgLjkgMTMuOCAxLjEgMjcuNyAxIDQxLjUtLjQgNC40LS42IDguOS0xIDEzLjMtMS44IDMuNi0uNyA3LjMtMS4yIDEwLjktMi4xIDQuMS0xIDguMy0xLjkgMTIuNC0zLjEgMjYuNS03LjMgNTEuNi0xOS43IDczLjYtMzYuMiAxNS44LTExLjggMzAtMjUuOCA0Mi4xLTQxLjMgMy4zLTQgNi4yLTguMyA5LjEtMTIuNiAzLjQtNS4xIDYuNi0xMC4yIDkuNi0xNS41IDIuNC00LjQgNC43LTguOSA3LTEzLjQgNS43LTEyLjEgMTAuMy0yNC42IDEzLjgtMzcuNSAyLjYtMTAgNC43LTIwLjIgNS45LTMwLjQgMS44LTEzLjUgMS45LTI3LjEgMS4zLTQwLjctLjMtMy45LS43LTcuOC0xLTExLjctMi4yLTE5LjEtNi44LTM3LjktMTMuOC01NS44LTYtMTUuMS0xMy41LTI5LjYtMjIuNi00My4xLTEyLjctMTguOC0yOC4yLTM1LjctNDYtNDkuOC0yNS0yMC01NC41LTM0LjUtODUuNi00Mi4xLTcuOC0xLjktMTUuNy0zLjMtMjMuNi00LjQtMy45LS42LTcuOC0uOC0xMS44LTEuMi03LjQtLjYtMTQuOC0uNy0yMi4yLS42ek0xNDcuMyA4My41YzEzLjMtOC45IDI4LjEtMTUuNCA0My4zLTIwLjItMy4yIDEuOC02LjQgMy40LTkuNSA1LjMtMTEuMiA2LjctMjEuNSAxNC45LTMwLjQgMjQuNS02LjggNy40LTEyLjggMTUuNy0xNyAyNC45LTMuMyA2LjktNS42IDE0LjItNi45IDIxLjctLjkgNC44LTEuMyA5LjgtMS4yIDE0LjggLjEgMTMuNyA0LjQgMjcuMSAxMS4zIDM4LjggNS45IDEwLjIgMTMuNiAxOS4zIDIyLjQgMjcuMyA0LjkgNC40IDEwLjIgOC4xIDE1IDEyLjYgMi4zIDIuMiA0LjUgNC40IDYuNCA2LjkgMi42IDMuMyA0LjkgNyA2IDExLjEgLjkgMyAuNyA2LjIgLjcgOS4zIDAgNC4xIDAgOC4yIDAgMTIuMyAuMSAzLjUgMCA3LjEgLjEgMTAuNiAuMSAyLjQgMCA0LjggLjEgNy4xIC4yIDUuOCAuMSAxMS41IC4xIDE3LjMgLjEgMi45IDAgNS44IC4xIDguNyAwIDEuNiAuMSAzLjMgMCA0LjktLjkgLjEtMS44IC4yLTIuNyAuMi0xMSAwLTIxLjktMi42LTMyLTYuOS02LTIuNy0xMS44LTUuOS0xNy4xLTkuOC01LjgtNC4yLTExLjEtOS0xNS44LTE0LjMtNi41LTcuMi0xMi0xNS40LTE2LjYtMjMuOS0xLjEtMi0yLjItNC0zLjItNi4xLTEuMi0yLjYtMi42LTUuMS0zLjctNy44LTQtOS43LTYuNi0xOS45LTguMS0zMC4zLS41LTQuNC0xLjEtOC45LTEuMi0xMy4zLS43LTE1LjcgLjgtMzEuNiA0LjctNDYuOCAyLjEtOC4yIDQuOC0xNi4yIDguMy0yMy44IDYuMy0xNC4yIDE1LjMtMjcuMiAyNi4zLTM4LjIgNi4zLTYuMiAxMy4xLTExLjggMjAuNS0xNi43ek0zMjIuNyA2My40YzIuNyAuNyA1LjQgMS43IDguMSAyLjcgNi40IDIuMyAxMi43IDQuOCAxOC43IDggMTMuMSA2LjQgMjUuMyAxNC44IDM1LjggMjUgMTAuMiAxMCAxOC43IDIxLjYgMjUuMSAzNC4zIDEuMyAyLjcgMi42IDUuNSAzLjggOC4zIDYuMyAxNS4xIDEwIDMxLjMgMTEuMiA0Ny42IC40IDQuNSAuNCA5LjEgLjUgMTMuNiAuMSAxMS42LTEuNSAyMy4zLTQuMyAzNC41LTIgNy4zLTQuMyAxNC41LTcuOSAyMS4yLTMuMiA2LjYtNi43IDEzLjItMTAuOCAxOS4yLTYuOSAxMC41LTE1LjYgMTkuOS0yNS44IDI3LjItMTAuNSA3LjYtMjIuNiAxMy0zNS40IDE1LjQtMy41IC43LTcuMSAxLjEtMTAuNyAxLjItMS44IC4xLTMuNyAuMi01LjYtLjEtLjMtMi4xIDAtNC4zIDAtNi41IDAtMy43IC4xLTcuNCAuMS0xMS4yIC4yLTcgMC0xNC4xIC4yLTIxLjEgMC0yLjQgMC00LjggMC03LjEgLjItNS4xIDAtMTAuMSAuMS0xNS4yIC4xLTMtLjItNiAuNS05IC43LTIuNSAxLjgtNC45IDMuMS03LjEgNC41LTcuMyAxMS4xLTEzIDE3LjctMTguMyA1LjQtNC4yIDEwLjUtOC44IDE1LTEzLjggNy43LTguNCAxNC4yLTE3LjkgMTguOC0yOC4zIDIuNS01LjkgNC41LTEyLjEgNS41LTE4LjUgLjktNC40IDEuMS04LjggMS0xMy4zIDAtNy44LTEuNC0xNS42LTMuNi0yMy4yLTEuOC01LjctNC4zLTExLjItNy4xLTE2LjQtMy45LTYuOS04LjYtMTMuMy0xNC0xOS4yLTkuOS0xMC44LTIxLjgtMTkuOS0zNC42LTI3LjEtMS44LTEtMy44LTEuOC01LjYtM3pNMjIxLjkgMTIxLjljMS0xLjIgMi0yLjMgMy4xLTMuNC0uNiAuOS0xLjMgMS44LTIgMi43LTMuMSAzLjktNS41IDguMy03IDEzLjEtLjkgMy4zLTEuNyA2LjYtMS43IDEwLS4xIDIuNS0uMSA1LjEgLjMgNy42IDEuMSA3LjYgNC4zIDE0LjkgOC44IDIxLjEgMiAyLjcgNC4yIDUuMyA2LjkgNy4zIDEuNiAxLjMgMy41IDIuMSA1LjMgMyAzLjEgMS43IDYuMyAzLjIgOS4xIDUuNSAyLjcgMi4xIDQuNiA1LjMgNC40IDguOCAwIDczLjcgMCAxNDcuMyAwIDIyMSAwIDEuNC0uMSAyLjcgMCA0IC4xIDEuNSAuOCAyLjggMS41IDQuMSAuOSAxLjcgMS44IDMuMyAzLjIgNC42IC45IC44IDIgMS40IDMuMiAxLjIgMS41LS4yIDIuNy0xLjQgMy40LTIuNiAxLTEuNSAxLjctMy4yIDIuMy00LjkgLjgtMi4xIC40LTQuNCAuNS02LjYgLjEtNCAwLTguMSAuMS0xMi4xIDAtNS45IDAtMTEuOCAuMS0xNy43IC4xLTMuNiAwLTcuMiAuMS0xMC45IC4yLTQgMC04LjEgLjEtMTIuMSAwLTYgMC0xMiAuMS0xOCAuMS0zLjYgMC03LjIgLjEtMTAuOSAuMS0zLjkgMC03LjkgLjEtMTEuOCAwLTYgMC0xMiAuMS0xOCAuMi0zLjkgMC03LjkgLjItMTEuOCAuMyAxLjQgLjEgMi45IC4yIDQuNCAuMiAzLjYgLjQgNy4yIC44IDEwLjggLjMgMy40IC40IDYuOSAuOSAxMC4zIC40IDMuMSAuNSA2LjIgMSA5LjMgLjYgNC4xIC45IDguMiAxLjUgMTIuMyAxLjUgOSAyLjggMTguMSA1LjEgMjcgMS4xIDQuOCAyLjQgOS42IDQgMTQuMyAyLjUgNy45IDUuNyAxNS43IDEwLjMgMjIuNiAxLjcgMi42IDMuOSA1IDYuMSA3LjIgLjMgLjIgLjYgLjUgLjkgLjcgLjYgLjMgMS4zLS4xIDEuNy0uNiAuNy0uOSAxLjItMS45IDEuNy0yLjkgNC4xLTcuOCA4LjItMTUuNiAxMi4zLTIzLjMgLjctMS4zIDEuNC0yLjYgMi42LTMuNiAxLjgtMS42IDMuOC0yLjcgNi0zLjYgMi45LTEuMiA1LjktMi4yIDktMi40IDYuNi0uNiAxMy4xIC43IDE5LjYgMS44IDMuNyAuNiA3LjQgMS4yIDExLjEgMS40IDMuNyAuMSA3LjUgLjEgMTEuMi0uMyA4LjYtLjkgMTctMyAyNC45LTYuMiA1LjMtMi4yIDEwLjUtNC44IDE1LjMtNy45IDExLjUtNy4yIDIxLjUtMTYuNiAzMC0yNyAxLjItMS40IDIuMi0yLjkgMy41LTQuMy0xLjIgMy4yLTIuNyA2LjQtNC4yIDkuNS0xLjMgMi45LTIuOCA1LjYtNC4zIDguNC01LjIgOS42LTExIDE4LjktMTcuOCAyNy41LTQgNS4yLTguNSAxMC4xLTEzLjMgMTQuNi02LjYgNi4xLTE0LjEgMTEuNC0yMi40IDE0LjgtOC4yIDMuNC0xNy4zIDQuNi0yNi4xIDMuMy0zLjYtLjYtNy0xLjctMTAuNC0yLjktMi44LTEtNS40LTIuNC04LTMuNy0zLjQtMS43LTYuNi0zLjgtOS43LTYuMSAyLjcgMy4xIDUuNyA1LjkgOC43IDguNiA0LjMgMy44IDguNyA3LjMgMTMuNiAxMC4yIDQgMi41IDguMyA0LjQgMTIuOCA1LjUgMS41IC40IDMgLjUgNC41IC42LTEuMyAxLjEtMi42IDItNCAzLTkuNiA2LjUtMjAgMTEuOS0zMC43IDE2LjQtMjAuOSA4LjctNDMuMiAxNC02NS43IDE1LjMtNC43IC4yLTkuMyAuNC0xNCAuNC01LS4xLTEwLS4xLTE0LjktLjctMTEuMi0uOC0yMi4zLTIuNy0zMy4yLTUuNC0xMC40LTIuNy0yMC42LTYuMS0zMC4zLTEwLjYtOC43LTMuOS0xNy4xLTguNC0yNS0xMy44LTEuOC0xLjMtMy43LTIuNS01LjQtNC4xIDYuNi0xLjIgMTMtMy40IDE5LTYuNSA1LjctMi45IDExLTYuNyAxNS42LTExLjEgMi4yLTIuMiA0LjMtNC42IDYuMi03LjEtMy40IDIuMS02LjkgNC4yLTEwLjYgNS44LTQuNCAyLjItOS4xIDMuOC0xMy44IDUtNS43IDEuNS0xMS43IDEuNy0xNy42IDEuMS04LjEtMS0xNS45LTQuMy0yMi41LTktNC4zLTIuOS04LjItNi40LTEyLTEwLjEtOS45LTEwLjItMTguMi0yMS44LTI1LjctMzMuOS0zLjktNi4zLTcuNS0xMi43LTExLjEtMTkuMi0xLTItMi4xLTQuMS0zLjItNi4xIDIuOCAyLjkgNS42IDYgOC40IDguOSAxOS4yIDE5LjIgMzcuNiAzMi4zIDUzLjcgMzUuNSAzLjEgLjcgNi4zIC41IDkuNSAuOCAyLjggLjMgNS42IC4yIDguMyAuMyA1IC4xIDEwLjEgMCAxNS4yLS4yIDMuNi0uMiA3LjMtLjcgMTAuOS0xLjEgMi4xLS4yIDQuMS0uNyA2LjEtMS4yIDMuOS0xIDguMS0xIDExLjggLjYgNC44IDEuOCA4LjQgNS42IDExLjQgOS43IDIuMiAzIDQuMSA2LjIgNS43IDkuNiAxLjIgMi40IDIuNSA0LjggMy42IDcuMyAxIDIuMiAyLjIgNC40IDMuNCA2LjUgLjcgMSAxLjQgMi4yIDIuNiAyLjYgMS4xLS44IDEuNy0xLjkgMi4zLTMgMi4xLTQuMiAzLjQtOC42IDQuOS0xMyAyLTYuNiAzLjgtMTMuMyA1LjItMjAgMi4yLTkuMyAzLjItMTguNyA0LjUtMjguMSAuNi00IC44LTggMS4zLTEyIC45LTEwLjYgMS45LTIxLjMgMi4yLTMxLjkgLjEtMS45IC4yLTMuNyAuMy01LjYgMC00LjMgLjItOC43IC4yLTEzIDAtMi40IDAtNC44IDAtNy4xIDAtNS4xLS4yLTEwLjEtLjItMTUuMi0uMi02LjYtLjctMTMuMi0xLjMtMTkuOC0uNy01LjktMS41LTExLjgtMy4xLTE3LjUtMi03LjctNS42LTE1LTkuOC0yMS44LTMuMi01LjEtNi44LTkuOS0xMS4xLTE0LTMuOS0zLjktOC42LTcuMS0xMy45LTguNC0xLjUtLjQtMy4xLS40LTQuNi0uNiAuMS0zIC43LTUuOSAxLjMtOC44IDEuNi03LjcgMy44LTE1LjMgNi44LTIyLjYgMS41LTQgMy40LTcuOSA1LjQtMTEuNyAzLjQtNi42IDcuNi0xMi44IDEyLjUtMTguNXptMzEuMyAxLjdjLjQtLjEgLjctLjEgMS4xLS4yIC4yIDEuOCAuMSAzLjYgLjEgNS40bDAgMzguMWMwIDEuNyAuMSAzLjUtLjIgNS4yLS40IDAtLjcgMC0xLjEgMC0uOS0zLjgtMS43LTcuNi0yLjYtMTEuMy0uNC0xLjUtLjYtMy4xLTEuMS00LjYtMS43LS4yLTMuNC0uMi01LjItLjItNS4xIDAtMTAuMSAwLTE1LjIgMC0xLjcgMC0zLjMgLjEtNSAwIDAtLjQtLjMtLjkgLjItMS4yIDEuMy0uNyAyLjctLjkgNC4xLTEuNCAzLjQtMS4xIDYuOS0yLjIgMTAuMy0zLjMgMS40LS41IDIuOS0uNyA0LjItMS41IDAtLjYgMC0xLjEgMC0xLjctMS4yLS42LTIuNS0uOS0zLjgtMS4zLTMuMS0xLTYuMy0yLTkuNC0zLTEuOC0uNi0zLjctMS01LjQtMS44IDAtLjQtLjEtLjctLjEtMS4xIDUuMS0uMiAxMC4yIC4xIDE1LjMtLjEgMy40LS4xIDYuNyAuMSAxMC4xLS4xIC4xLS40IC4zLS44IC40LTEuMiAxLjEtNC45IDIuMy05LjggMy40LTE0Ljd6bTYtLjJjLjQgMCAuNyAuMSAxLjEgLjIgMSAzLjggMS43IDcuOCAyLjcgMTEuNiAuNCAxLjQgLjYgMi45IDEgNC4zIDIuNSAuMiA1LjEgMCA3LjYgMCA1LjIgLjEgMTAuMyAuMSAxNS41IC4xIC44IDAgMS41IDAgMi4zIC4xIDAgLjQtLjEgLjctLjEgMS4xLTEuOCAuOC0zLjggMS4yLTUuNyAxLjktMy43IDEuMi03LjUgMi40LTExLjIgMy42LS42IC4yLTEuMSAuNC0xLjcgLjYtLjIgLjYtLjIgMS4xLS4xIDEuNyAuOSAuNSAxLjggLjggMi44IDEuMSA0LjkgMS41IDkuNyAzLjEgMTQuNiA0LjYgLjQgLjEgLjggLjMgMS4xIC41IC40IC4zIC4yIC44IC4yIDEuMi0xLjcgLjEtMy4zIDAtNSAwLTUuMiAwLTEwLjMgMC0xNS41IDAtMS42IDAtMy4yIDAtNC44IC4yLS41IDEuNy0uNyAzLjQtMS4yIDUuMS0uOSAzLjYtMS41IDcuMi0yLjUgMTAuOC0uNCAwLS43IDAtMS4xIC4xLS4zLTEuNy0uMi0zLjUtLjItNS4ybDAtMzguMWMwLTEuOC0uMS0zLjYgLjEtNS40em0tMTg2IDQ1YzEuMS0yLjIgMi4xLTQuNCAzLjQtNi41LTEuOCA3LjYtMi45IDE1LjMtMy42IDIzLS44IDcuNy0uOCAxNS41LS41IDIzLjIgMS4xIDE5LjkgNS41IDM5LjggMTQuMiA1Ny45IDMgNiA2LjQgMTEuOCAxMC41IDE3LjEgNi4xIDcuNSAxMi41IDE0LjggMTkuOCAyMS4xIDQuOCA0LjEgMTAgNy44IDE1LjUgMTAuOCAzLjMgMS43IDYuNSAzLjQgOS45IDQuNyA1IDIgMTAuMiAzLjYgMTUuNCA0LjkgMy44IDEgNy44IDEuNCAxMS41IDIuNyA1IDEuNiA5LjUgNC42IDEzIDguNCA0LjkgNS4yIDguMSAxMS45IDEwLjIgMTguNyAxIDIuOSAxLjYgNS45IDIuMiA4LjkgLjIgLjggLjIgMS41IC4yIDIuMy02LjUgMi44LTEzLjMgNS4xLTIwLjMgNi4yLTQuMSAuOC04LjMgMS0xMi41IDEuMS0xMC4yIC4yLTIwLjUtMS44LTMwLjEtNS4xLTMuNy0xLjQtNy41LTIuOS0xMS00LjctOC4xLTMuOC0xNS42LTguNy0yMi41LTE0LjUtMi45LTIuNi01LjgtNS4xLTguNC04LTkuMi05LjgtMTYuMy0yMS40LTIxLjgtMzMuNy0yLjQtNS41LTQuNi0xMS4yLTYuNC0xNy0xLjItMy45LTIuNC03LjktMy4zLTExLjktLjctMi45LTEuMi01LjktMS45LTguOS0uNS0yLjEtLjctNC4zLTEtNi41LS44LTUuNC0xLjMtMTAuOS0xLjMtMTYuNCAuMS02LjIgLjItMTIuNCAxLjEtMTguNSAuNC0yLjkgLjctNS43IDEuMi04LjYgMS01LjcgMi4xLTExLjQgMy43LTE2LjkgMy4xLTExLjYgNy41LTIzIDEyLjctMzMuOHptMzYzLjctNi40YzEuMSAxLjcgMS45IDMuNSAyLjggNS4zIDIuMSA0LjUgNC4yIDguOSA2IDEzLjUgNy42IDE4LjggMTIuMyAzOC44IDEzIDU5IDAgMS44IC4xIDMuNSAuMSA1LjMgLjEgOS42LTEuMyAxOS4xLTMuMiAyOC41LS43IDMuNi0xLjUgNy4yLTIuNiAxMC43LTQgMTQuNy0xMCAyOS0xOC40IDQxLjgtOC4yIDEyLjYtMTkgMjMuNS0zMS44IDMxLjQtNS43IDMuNi0xMS44IDYuNi0xOCA5LjItNS44IDIuMi0xMS43IDQtMTcuOCA1LjEtNi40IDEtMTIuOSAxLjUtMTkuNCAxLjItNy45LS41LTE1LjgtMi4xLTIzLjItNC44LTEuOS0uOC0zLjktMS41LTUuOC0yLjMtLjItMS41IC4yLTMgLjUtNC41IDEuMi01LjcgMy0xMS40IDUuNy0xNi42IDIuNC00LjUgNS41LTguNyA5LjUtMTEuOSAyLjQtMi4xIDUuMi0zLjYgOC4yLTQuOCAzLjYtMS41IDcuNS0yIDExLjItMi44IDcuMi0xLjcgMTQuNC0zLjkgMjEuMi03IDEwLjMtNC43IDE5LjctMTEuNCAyNy42LTE5LjUgMS42LTEuNiAzLjItMy4yIDQuNy00LjkgMy40LTMuOCA2LjctNy42IDkuOC0xMS41IDcuNS0xMC4xIDEyLjgtMjEuNiAxNi43LTMzLjUgMS42LTUuMyAzLjItMTAuNiA0LjItMTYuMSAuNi0yLjkgMS01LjggMS41LTguNyAuOS02LjEgMS42LTEyLjIgMS43LTE4LjQgLjEtNi42IC4xLTEzLjMtLjUtMTkuOS0uNy04LTEuOS0xNi0zLjctMjMuOHoiXX0seXB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN1c2UiLGljb246WzY0MCw1MTIsW10sImY3ZDYiLCJNNjA0LjUgMjEwYTEwLjQgMTAuNCAwIDEgMSAtMTEuNC0xNy40IDEwLjQgMTAuNCAwIDEgMSAxMS40IDE3LjR6TTYyMSAxODcuMmEzOC41IDM4LjUgMCAxIDEgLTc1IDE3LjYgMzguNSAzOC41IDAgMSAxIDc1LTE3LjZ6TTQzMy43IDMzNi43YzMuMiA0LjYgNS44IDkgNy4zIDEzLjQgMSAzLjEgMi40IDcuMyA1LjUgOC45IC4yIC4xIC4zIC4yIC41IC4yIDUuNyAyLjEgMjAuMyAxLjcgMjAuMyAxLjdsMjYuOCAwYzIuMyAwIDIyLjQgMCAyMS45LTIuMy0yLjQtMTAuOC0xNC45LTEyLjctMjQuNC0xOC4zLTguNy01LjItMTctMTEuMS0yMC44LTIxLjMtMi01LjItLjgtMTcuNCAyLjYtMjEuOCAyLjUtMy4yIDYuMS01LjMgMTAtNi4yIDQuMy0uOSA4LjgtLjEgMTMuMSAuMyA1LjMgLjUgMTAuNiAxLjUgMTUuOSAyLjIgMTAuMyAxLjMgMjAuNiAxLjkgMzEgMS42IDE3LjEtLjUgMzQuMi0zLjIgNTAuNC04LjcgMTEuMy0zLjggMjIuNC04LjkgMzItMTYuMSAxMC45LTguMSA4LjEtNy40LTMtNi4yLTEzLjMgMS40LTI2LjYgMS42LTM5LjkgLjgtMTIuNC0uNy0yNC43LTIuMi0zNS45LTcuOS04LjgtNC42LTE2LjQtOS4xLTIzLjQtMTYuMi0xLTEuMS0xLjctNC4yIC4yLTYuMiAxLjktMS45IDUuOC0uOCA3IC4yIDEyLjIgMTAuMiAzMC41IDE4LjYgNDkuMyAxOS41IDEwLjIgLjUgMjAuMSAuNyAzMC40IC4zIDUuMS0uMiAxMi44LS4yIDE3LjktLjMgMi42IDAgOS44IC43IDExLjItMi4xIC40LS44IC40LTEuOCAuMy0yLjctMS41LTQwLjktNC41LTg2LjktNDcuMy0xMDYuNS0zMS45LTE0LjYtNzkuNy0zNy4yLTk5LjktNDYuNi00LjctMi4yLTEwLjIgMS4zLTEwLjIgNi41IDAgMTMuNiAuNyAzMy4zIC43IDUxLjEtOS43LTkuOS0yNi0xNi4xLTM4LjQtMjEuOC0xNC4xLTYuNS0yOC43LTEyLTQzLjUtMTYuNi0yOS44LTkuMi02MC43LTE0LjktOTEuNy0xOC0zNS4yLTMuNS03MS0xLjgtMTA1LjcgNS4zLTU2LjkgMTIuMi0xMTMuMSAzOS43LTE1NS43IDc5LjgtMjYuMSAyNC42LTQ2LjYgNTkuNy00OCA5NS4yLTIgNTAuMyAxMi4xIDc3LjMgMzggMTA1LjIgNDEuMyA0NC40IDEzMC4yIDUwLjYgMTY2LjItMiAxNi4yLTIzLjcgMTkuNy01NS44IDgtODItMTEuOC0yNi4yLTM4LjgtNDUuMS02Ny40LTQ2LTIyLjItLjctNDUuOSAxMC42LTU0LjUgMzEuMS02LjUgMTUuNy0yLjggMzUuMSA5IDQ3LjMgNC42IDQuOCAxMC45IDguNyAxNy43IDcuMSA0LS45IDcuNC0zLjkgOC04IC45LTYtNC40LTkuOS03LjYtMTQuNS01LjgtOC4zLTQuNy0yMC45IDIuNy0yNy45IDYuMi02IDE1LjMtNy44IDIzLjktNy43IDggMCAxNi4yIDEuNCAyMy4xIDUuNSA5LjcgNS43IDE2LjIgMTYuMiAxOC40IDI3LjIgNi43IDMzLTIwLjIgNTkuOS01Ni42IDYyLTE4LjYgMS4xLTM3LjYtMy44LTUyLjEtMTUuNS0zNi45LTI5LjgtNDUuOS05MC4zLTMuOC0xMjIuNyA0MC0zMC43IDkwLjQtMjIuOCAxMjAuMi02LjggMjMuOCAxMi44IDQxLjUgMzMuNiA1NSA1Ni43IDYuNyAxMS42IDEyLjUgMjMuNyAxNy44IDM2LjEgNS4xIDExLjggOS45IDIzLjggMjAuMiAzMi41IDYuOCA1LjggMTUuMiA1LjYgMjQuMSA1LjZsNTAuOCAwYzYuOSAwIDUuMi00LjYgMi4yLTcuNy02LjctNi45LTE2LjQtOC40LTI1LjQtMTAuOS0yMC41LTUuNi0xOC40LTMyLjgtMTIuNy0zMi44IDE4LjMgMCAxOC45IC42IDM0LjkgLjMgMjMuMi0uMyAzMC4yLTEuNyA0OC4zIDUgOS43IDMuNiAxOSAxMy4xIDI1LjEgMjEuN3oiXX0sd3B0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFwcC1zdG9yZS1pb3MiLGljb246WzQ0OCw1MTIsW10sImYzNzAiLCJNNDAwIDMyTDQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBMMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsMzUyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNTJjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTEyNyAzODQuNWMtNS41IDkuNi0xNy44IDEyLjgtMjcuMyA3LjMtOS42LTUuNS0xMi44LTE3LjgtNy4zLTI3LjNsMTQuMy0yNC43YzE2LjEtNC45IDI5LjMtMS4xIDM5LjYgMTEuNEwxMjcgMzg0LjV6bTEzOC45LTUzLjlMODQgMzMwLjZjLTExIDAtMjAtOS0yMC0yMHM5LTIwIDIwLTIwbDUxIDAgNjUuNC0xMTMuMi0yMC41LTM1LjRjLTUuNS05LjYtMi4yLTIxLjggNy4zLTI3LjMgOS42LTUuNSAyMS44LTIuMiAyNy4zIDcuM2w4LjkgMTUuNCA4LjktMTUuNGM1LjUtOS42IDE3LjgtMTIuOCAyNy4zLTcuMyA5LjYgNS41IDEyLjggMTcuOCA3LjMgMjcuM2wtODUuOCAxNDguNiA2Mi4xIDBjMjAuMiAwIDMxLjUgMjMuNyAyMi43IDQwem05OC4xIDBsLTI5IDAgMTkuNiAzMy45YzUuNSA5LjYgMi4yIDIxLjgtNy4zIDI3LjMtOS42IDUuNS0yMS44IDIuMi0yNy4zLTcuMy0zMi45LTU2LjktNTcuNS05OS43LTc0LTEyOC4xLTE2LjctMjktNC44LTU4IDcuMS02Ny44IDEzLjEgMjIuNyAzMi43IDU2LjcgNTguOSAxMDJsNTIgMGMxMSAwIDIwIDkgMjAgMjAgMCAxMS4xLTkgMjAtMjAgMjB6Il19LE1wdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bHRyYWx5dGljcy15b2xvIixpY29uOls1MTIsNTEyLFtdLCJlODZmIiwiTTM4My41IDEwLjhjNjEuOC0uMiAxMTIuMyA1MC42IDExMi4zIDExMi45LS4yIDIuNyAwIDAtLjEgMy4zbC4zIC4zYy0xLjUgODkuOS01MyAxNjguNC0xMjcuNCAyMDguNWwwIDUyLjhjMCA2Mi42LTUxLjEgMTEzLjUtMTEzLjcgMTEyLjktNjItLjYtMTExLjQtNTIuMi0xMTEuNC0xMTQuM2wwLTUxLjJjLTQwLjctMjEuOS03NC41LTU1LjItOTctOTUuNiAyMy4yIDE2LjUgNTEuNyAyNiA4MiAyNS45IDc4LjYtLjIgMTQyLjItNjQgMTQyLjMtMTQyLjUgLjEtNjIuMyA1MC41LTExMi43IDExMi45LTExMi45em0tMjU1IDIyNS44YTExMi45IDExMi45IDAgMSAxIDAtMjI1LjggMTEyLjkgMTEyLjkgMCAxIDEgMCAyMjUuOHoiXX0seG9lPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1kcmliYmJsZSIsaWNvbjpbNDQ4LDUxMixbImRyaWJiYmxlLXNxdWFyZSJdLCJmMzk3IiwiTTE2NS45IDEzMi41Yy0zOC4zIDE4LTY2LjggNTMuMy03NS43IDk1LjcgNi4xIC4xIDYyLjQgLjMgMTI2LjQtMTYuNy0yMi43LTQwLjItNDcuMS03NC4xLTUwLjctNzl6bTI2LjEtOS4xYzMuOCA1LjEgMjguNiAzOC45IDUxIDgwIDQ4LjYtMTguMyA2OS4xLTQ1LjkgNzEuNi00OS40LTMzLjYtMjkuOC03OS4zLTQxLjEtMTIyLjYtMzAuNnpNMjc3LjQgMzgyYy0yLTEyLTEwLTUzLjgtMjkuMi0xMDMuNi01NS4xIDE4LjgtOTMuOCA1Ni40LTEwOC4xIDg1LjYgNDAuNSAzMS42IDkzLjMgMzYuNyAxMzcuMyAxOHpNMjI3LjggMjMyLjZDMTU5LjYgMjUzIDkzLjQgMjUyLjIgODcuNCAyNTJsMCA0LjJjMCAzNS4xIDEzLjMgNjcuMSAzNS4xIDkxLjQgMjIuMi0zNy45IDY3LjEtNzcuOSAxMTYuNS05MS44LTMuNC03LjgtNy4yLTE1LjUtMTEuMS0yMy4ybC0uMSAwem03Mi41IDEzNi45YzMwLjctMjAuNyA1Mi41LTUzLjYgNTguNi05MS42LTQuNi0xLjUtNDIuMy0xMi43LTg1LjEtNS44IDE3LjkgNDkuMSAyNS4xIDg5LjEgMjYuNSA5Ny40em0tMzQuOC0xMTljNDUuNS01LjcgOTAuNyAzLjQgOTUuMiA0LjQtLjMtMzIuMy0xMS44LTYxLjktMzAuOS04NS4xLTIuOSAzLjktMjUuOCAzMy4yLTc2LjMgNTMuOSA0LjggOS44IDguMyAxNy44IDEyIDI2Ljh6TTM4NCAzMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0ek0yMjQgOTZhMTYwIDE2MCAwIDEgMSAwIDMyMCAxNjAgMTYwIDAgMSAxIDAtMzIweiJdfSxrcHQ9eG9lLHpwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1aWtpdCIsaWNvbjpbNDQ4LDUxMixbXSwiZjQwMyIsIk00NDMuOSAxMjhsMCAyNTYtMjI1LjkgMTI4LTIxOC0xMjggMC0yMTQuMyA4Ny42IDQ1LjEgMCAxMTcgMTMzLjUgNzUuNSAxMzUuOC03NS41IDAtMTUxLTEwMS4xLTU3LjYgODcuNi01My4xIDEwMC41IDU3Ljl6TTMwOC42IDQ5LjFsLTg0LjgtNDkuMS04OC42IDU0LjggODYgNDcuMyA4Ny40LTUzeiJdfSxTcHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3VwZXJwb3dlcnMiLGljb246WzQ0OCw1MTIsW10sImYyZGQiLCJNNDQ4IDMyYy04My4zIDExLTE2Ni44IDIyLTI1MCAzMy05MiAxMi41LTE2My4zIDg2LjctMTY5IDE4MC0zLjMgNTUuNSAxOCAxMDkuNSA1Ny44IDE0OC4yTDAgNDgwYzgzLjMtMTEgMTY2LjUtMjIgMjQ5LjgtMzMgOTEuOC0xMi41IDE2My4zLTg2LjggMTY4LjctMTc5LjggMy41LTU1LjUtMTgtMTA5LjUtNTcuNy0xNDguMkw0NDggMzJ6TTM2OC4zIDI2NC4zYy00LjIgNzkuNS03NCAxMzkuMi0xNTIuOCAxMzQuNS03OS41LTQuNy0xNDAuNy03MS0xMzYuMy0xNTEgNC41LTc5LjIgNzQuMy0xMzkuMyAxNTMtMTM0LjUgNzkuMyA0LjcgMTQwLjUgNzEgMTM2LjEgMTUxeiJdfSxDcHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieW91dHViZSIsaWNvbjpbNTc2LDUxMixbNjE4MDJdLCJmMTY3IiwiTTU0OS43IDEyNC4xQzU0My41IDEwMC40IDUyNC45IDgxLjggNTAxLjQgNzUuNSA0NTguOSA2NCAyODguMSA2NCAyODguMSA2NFMxMTcuMyA2NCA3NC43IDc1LjVDNTEuMiA4MS44IDMyLjcgMTAwLjQgMjYuNCAxMjQuMSAxNSAxNjcgMTUgMjU2LjQgMTUgMjU2LjRzMCA4OS40IDExLjQgMTMyLjNjNi4zIDIzLjYgMjQuOCA0MS41IDQ4LjMgNDcuOCA0Mi42IDExLjUgMjEzLjQgMTEuNSAyMTMuNCAxMS41czE3MC44IDAgMjEzLjQtMTEuNWMyMy41LTYuMyA0Mi0yNC4yIDQ4LjMtNDcuOCAxMS40LTQyLjkgMTEuNC0xMzIuMyAxMS40LTEzMi4zczAtODkuNC0xMS40LTEzMi4zek0yMzIuMiAzMzcuNmwwLTE2Mi40IDE0Mi43IDgxLjItMTQyLjcgODEuMnoiXX0sX3B0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVtYmVyIixpY29uOls2NDAsNTEyLFtdLCJmNDIzIiwiTTYzOS45IDI1NC42Yy0xLjEtMTAuNy0xMC43LTYuOC0xMC43LTYuOHMtMTUuNiAxMi4xLTI5LjMgMTAuN2MtMTMuNy0xLjMtOS40LTMyLTkuNC0zMnMzLTI4LjEtNS4xLTMwLjRjLTguMS0yLjQtMTggNy4zLTE4IDcuM3MtMTIuNCAxMy43LTE4LjMgMzEuMmwtMS42IC41czEuOS0zMC42LS4zLTM3LjZjLTEuNi0zLjUtMTYuNC0zLjItMTguOCAzcy0xNC4yIDQ5LjItMTUgNjcuMmMwIDAtMjMuMSAxOS42LTQzLjMgMjIuOHMtMjUtOS40LTI1LTkuNCA1NC44LTE1LjMgNTIuOS01OS4xLTQ0LjItMjcuNi00OS0yNGMtNC42IDMuNS0yOS40IDE4LjQtMzYuNiA1OS43LS4yIDEuNC0uNyA3LjUtLjcgNy41cy0yMS4yIDE0LjItMzMgMThjMCAwIDMzLTU1LjYtNy4zLTgwLjktMTEuNC02LjgtMjEuMy0uNS0yNy4yIDUuMyAxMy42LTE3LjMgNDYuNC02NC4yIDM2LjktMTA1LjItNS44LTI0LjQtMTgtMjcuMS0yOS4yLTIzLjEtMTcgNi43LTIzLjUgMTYuNy0yMy41IDE2LjdzLTIyIDMyLTI3LjEgNzkuNS0xMi42IDEwNS4xLTEyLjYgMTA1LjEtMTAuNSAxMC4yLTIwLjIgMTAuNy01LjQtMjguNy01LjQtMjguNyA3LjUtNDQuNiA3LTUyLjEtMS4xLTExLjYtOS45LTE0LjJjLTguOS0yLjctMTguNSA4LjYtMTguNSA4LjZzLTI1LjUgMzguNy0yNy43IDQ0LjZsLTEuMyAyLjQtMS4zLTEuNnMxOC01Mi43IC44LTUzLjUtMjguNSAxOC44LTI4LjUgMTguOC0xOS42IDMyLjgtMjAuNCAzNi41bC0xLjMtMS42czguMS0zOC4yIDYuNC00Ny42Yy0xLjYtOS40LTEwLjUtNy41LTEwLjUtNy41cy0xMS4zLTEuMy0xNC4yIDUuOS0xMy43IDU1LjMtMTUgNzAuN2MwIDAtMjguMiAyMC4yLTQ2LjggMjAuNC0xOC41IC4zLTE2LjctMTEuOC0xNi43LTExLjhzNjgtMjMuMyA0OS40LTY5LjJjLTguMy0xMS44LTE4LTE1LjUtMzEuNy0xNS4zLTEzLjcgLjMtMzAuMyA4LjYtNDEuMyAzMy4zLTUuMyAxMS44LTYuOCAyMy03LjggMzEuNSAwIDAtMTIuMyAyLjQtMTguOC0yLjlzLTEwIDAtMTAgMC0xMS4yIDE0LS4xIDE4LjMgMjguMSA2LjEgMjguMSA2LjFjMS42IDcuNSA2LjIgMTkuNSAxOS42IDI5LjcgMjAuMiAxNS4zIDU4LjgtMS4zIDU4LjgtMS4zbDE1LjktOC44cy41IDE0LjYgMTIuMSAxNi43IDE2LjQgMSAzNi41LTQ3LjljMTEuOC0yNSAxMi42LTIzLjYgMTIuNi0yMy42bDEuMy0uM3MtOS4xIDQ2LjgtNS42IDU5LjdDMTg3LjcgMzE5LjQgMjAzIDMxOCAyMDMgMzE4czguMyAyLjQgMTUtMjEuMiAxOS42LTQ5LjkgMTkuNi00OS45bDEuNiAwcy01LjYgNDguMSAzIDYzLjcgMzAuOSA1LjMgMzAuOSA1LjMgMTUuNi03LjggMTgtMTAuMmMwIDAgMTguNSAxNS44IDQ0LjYgMTIuOSA1OC4zLTExLjUgNzkuMS0yNS45IDc5LjEtMjUuOXMxMCAyNC40IDQxLjEgMjYuN2MzNS41IDIuNyA1NC44LTE4LjYgNTQuOC0xOC42cy0uMyAxMy41IDEyLjEgMTguNiAyMC43LTIyLjggMjAuNy0yMi44bDIwLjctNTcuMiAxLjkgMHMxLjEgMzcuMyAyMS41IDQzLjIgNDctMTMuNyA0Ny0xMy43IDYuNC0zLjUgNS4zLTE0LjN6bS01NzggNS4zYy44LTMyIDIxLjgtNDUuOSAyOS0zOSA3LjMgNyA0LjYgMjItOS4xIDMxLjQtMTMuNyA5LjUtMTkuOSA3LjYtMTkuOSA3LjZ6TTMzNC43IDEzNi4xczE5LjEtNDkuNyAyMy42LTI1LjUtNDAgOTYuMi00MCA5Ni4yYy41LTE2LjIgMTYuNC03MC43IDE2LjQtNzAuN3ptMjIuOCAxMzguNGMtMTIuNiAzMy00My4zIDE5LjYtNDMuMyAxOS42cy0zLjUtMTEuOCA2LjQtNDQuOSAzMy4zLTIwLjIgMzMuMy0yMC4yIDE2LjIgMTIuNCAzLjYgNDUuNXptODQuNi0xNC42cy0zLTEwLjUgOC4xLTMwLjZjMTEtMjAuMiAxOS42LTkuMSAxOS42LTkuMXM5LjQgMTAuMi0xLjMgMjUuNS0yNi40IDE0LjItMjYuNCAxNC4yeiJdfSxUcHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYm9vdHN0cmFwIixpY29uOls1NzYsNTEyLFtdLCJmODM2IiwiTTMzMy41IDIwMS40YzAtMjIuMS0xNS42LTM0LjMtNDMtMzQuM2wtNTAuNCAwIDAgNzEuMiA0Mi41IDBjMzIuOC0uMSA1MC45LTEzLjMgNTAuOS0zNi45ek01MTcgMTg4LjZjLTkuNS0zMC45LTEwLjktNjguOC05LjgtOTguMSAxLjEtMzAuNS0yMi43LTU4LjUtNTQuNy01OC41TDEyMy43IDMyYy0zMi4xIDAtNTUuOCAyOC4xLTU0LjcgNTguNSAxIDI5LjMtLjMgNjcuMi05LjggOTguMS05LjYgMzEtMjUuNyA1MC42LTUyLjIgNTMuMWwwIDI4LjVjMjYuNCAyLjUgNDIuNiAyMi4xIDUyLjIgNTMuMSA5LjUgMzAuOSAxMC45IDY4LjggOS44IDk4LjEtMS4xIDMwLjUgMjIuNyA1OC41IDU0LjcgNTguNWwzMjguNyAwYzMyLjEgMCA1NS44LTI4LjEgNTQuNy01OC41LTEtMjkuMyAuMy02Ny4yIDkuOC05OC4xIDkuNi0zMSAyNS43LTUwLjYgNTIuMS01My4xbDAtMjguNWMtMjYuMy0yLjUtNDIuNS0yMi4xLTUyLTUzLjF6TTMwMC4yIDM3NS4xbC05Ny45IDAgMC0yMzguMyA5Ny40IDBjNDMuMyAwIDcxLjcgMjMuNCA3MS43IDU5LjQgMCAyNS4zLTE5LjEgNDcuOS00My41IDUxLjhsMCAxLjNjMzMuMiAzLjYgNTUuNSAyNi42IDU1LjUgNTguMyAwIDQyLjEtMzEuMyA2Ny41LTgzLjIgNjcuNXptLTEwLTEwOC43bC01MC4xIDAgMCA3OC40IDUyLjMgMGMzNC4yIDAgNTIuMy0xMy43IDUyLjMtMzkuNSAwLTI1LjctMTguNi0zOC45LTU0LjUtMzguOXoiXX0sTHB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Iml0dW5lcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjNiNCIsIk0yMjMuNiA4MC4zYTE3MS4zIDE3MS4zIDAgMSAwIC4yIDM0Mi41IDE3MS4zIDE3MS4zIDAgMSAwIC0uMi0zNDIuNXptNzkuNCAyNDBjLTMuMiAxMy42LTEzLjUgMjEuMi0yNy4zIDIzLjgtMTIuMSAyLjItMjIuMiAyLjgtMzEuOS01LTExLjgtMTAtMTItMjYuNC0xLjQtMzYuOCA4LjQtOCAyMC4zLTkuNiAzOC0xMi44IDMtLjUgNS42LTEuMiA3LjctMy43IDMuMi0zLjYgMi4yLTIgMi4yLTgwLjggMC01LjYtMi43LTcuMS04LjQtNi4xLTQgLjctOTEuOSAxNy4xLTkxLjkgMTcuMS01IDEuMS02LjcgMi42LTYuNyA4LjMgMCAxMTYuMSAuNSAxMTAuOC0xLjIgMTE4LjUtMi4xIDktNy42IDE1LjgtMTQuOSAxOS42LTguMyA0LjYtMjMuNCA2LjYtMzEuNCA1LjItMjEuNC00LTI4LjktMjguNy0xNC40LTQyLjkgOC40LTggMjAuMy05LjYgMzgtMTIuOCAzLS41IDUuNi0xLjIgNy43LTMuNyA1LTUuNyAuOS0xMjcgMi42LTEzMy43IC40LTIuNiAxLjUtNC44IDMuNS02LjQgMi4xLTEuNyA1LjgtMi43IDYuNy0yLjcgMTAxLTE5IDExMy4zLTIxLjQgMTE1LjEtMjEuNCA1LjctLjQgOSAzIDkgOC43LS4xIDE3MC42IC40IDE2MS40LTEgMTY3LjZ6TTM0NS4yIDMyTDEwMi44IDMyQzQ1LjkgMzIgMCA3Ny45IDAgMTM0LjhMMCAzNzcuMkMwIDQzNC4xIDQ1LjkgNDgwIDEwMi44IDQ4MGwyNDIuNCAwYzU3IDAgMTAyLjgtNDUuOSAxMDIuOC0xMDIuOGwwLTI0Mi40QzQ0OCA3Ny45IDQwMi4xIDMyIDM0NS4yIDMyek0yMjMuNiA1OWExOTIuNSAxOTIuNSAwIDEgMSAwIDM4NSAxOTIuNSAxOTIuNSAwIDEgMSAwLTM4NXoiXX0seW9lPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS14aW5nIixpY29uOls0NDgsNTEyLFsieGluZy1zcXVhcmUiXSwiZjE2OSIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNOTMuOCAzMjAuMmMtNS41IDAtOC43LTUuMy02LTEwLjNsNDkuMy04Ni43Yy4xIDAgLjEtLjEgMC0uMmwtMzEuNC01NGMtMy01LjYgLjItMTAuMSA2LTEwLjFsNDYuNiAwYzUuMiAwIDkuNSAyLjkgMTIuOSA4LjdsMzEuOSA1NS4zYy0xLjMgMi4zLTE4IDMxLjctNTAuMSA4OC4yLTMuNSA2LjItNy43IDkuMS0xMi42IDkuMWwtNDYuNiAwem0xNjMuNS0zMy40bDAgLjIgNjUuNSAxMTljMi44IDUuMSAuMSAxMC4xLTYgMTAuMWwtNDYuNiAwYy01LjUgMC05LjctMi45LTEyLjktOC43bC02Ni0xMjAuM2MxLjgtMy4yIDIyLjktNDAuNCA2My4zLTExMS42IDExLjctMjAuNyAyNS4xLTQ0LjMgNDAuMS03MC44IDMuMy01LjggNy40LTguNyAxMi41LTguN2w0Ni45IDBjNS43LS4xIDguOCA0LjcgNiAxMEwyNTcuMyAyODYuOHoiXX0sJHB0PXlvZSxEcHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3NzMy1hbHQiLGljb246WzM4NCw1MTIsW10sImYzOGIiLCJNMCAzMkwzNC45IDQyNy44IDE5MiA0ODAgMzQ5LjEgNDI3LjggMzg0IDMyIDAgMzJ6bTMxMy4xIDgwbC00LjggNDcuMy0xMTUuMyA0OS4zLS4zIC4xIDExMS41IDAtMTIuOCAxNDYuNi05OC4yIDI4LjctOTguOC0yOS4yLTYuNC03My45IDQ4LjkgMCAzLjIgMzguMyA1Mi42IDEzLjMgNTQuNy0xNS40IDMuNy02MS42LTE2Ni4zLS41IDAtLjEtLjIgLjEtMy42LTQ2LjMgMTEyLjEtNDYuNyA2LjUtMi43LTEyMi45IDAtNS44LTQ3LjMgMjQyLjIgMHoiXX0sQXB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZXNwYWNlIixpY29uOls1MTIsNTEyLFtdLCJmNWJlIiwiTTE4Ni4xIDM0My4zYy05LjcgOS43LTkuNyAyNS4zIDAgMzQuOXMyNS4zIDkuNiAzNC45IDBMMzc4LjMgMjIxLjFjMTkuMy0xOS4zIDUwLjYtMTkuMyA2OS45IDBzMTkuMyA1MC42IDAgNjkuOUwyOTQgNDQ1LjFjMTkuMyAxOS4zIDUwLjUgMTkuMyA2OS44IDBsMCAwIDExOS4zLTExOS4yYzM4LjYtMzguNiAzOC42LTEwMS4xIDAtMTM5LjctMzguNi0zOC42LTEwMS4yLTM4LjYtMTM5LjcgMEwxODYuMSAzNDMuM3pNNDMwLjcgMjM4LjVjLTkuNy05LjctMjUuMy05LjctMzQuOSAwTDIzOC41IDM5NS43Yy0xOS4zIDE5LjMtNTAuNSAxOS4zLTY5LjggMGwwIDBjLTkuNi05LjYtMjUuMy05LjctMzQuOSAwbDAgMGMtOS43IDkuNi05LjcgMjUuMyAwIDM0LjlsMCAwYzM4LjYgMzguNiAxMDEuMSAzOC42IDEzOS43IDBMNDMwLjcgMjczLjVjOS42LTkuNyA5LjYtMjUuMyAwLTM0Ljl6bS0yNjIgODcuM0wzMjUuOSAxNjguN2M5LjYtOS42IDkuNi0yNS4zIDAtMzQuOS05LjYtOS42LTI1LjMtOS42LTM0LjkgMEwxMzMuNyAyOTAuOWMtMTkuMyAxOS4zLTUwLjYgMTkuMy02OS45IDBsMCAwYy0xOS4zLTE5LjMtMTkuMy01MC41IDAtNjkuOGwwIDAgMTU0LjItMTU0LjJjLTE5LjMtMTkuMy01MC41LTE5LjMtNjkuOCAwbDAgMC0xMTkuMiAxMTkuM2MtMzguNiAzOC42LTM4LjYgMTAxLjEgMCAxMzkuNyAzOC42IDM4LjYgMTAxLjEgMzguNiAxMzkuNyAwek04MS4zIDI3My41YzkuNiA5LjYgMjUuMyA5LjYgMzQuOSAwTDI3My41IDExNi4zYzE5LjMtMTkuMyA1MC42LTE5LjMgNjkuOCAwbDAgMGM5LjcgOS42IDI1LjMgOS42IDM0LjkgMHM5LjYtMjUuMyAwLTM0LjljLTM4LjYtMzguNi0xMDEuMS0zOC42LTEzOS43IDBMODEuMyAyMzguNWMtOS42IDkuNi05LjYgMjUuMyAwIDM0LjlsMCAweiJdfSxQcHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidHJlbGxvIixpY29uOls0NDgsNTEyLFtdLCJmMTgxIiwiTTM5Mi4zIDMyTDU2LjEgMzJjLTMxIDAtNTYuMSAyNS4xLTU2LjEgNTYtLjEgMCAwLTQgMCAzMzYgMCAzMC45IDI1LjEgNTYgNTYgNTZsMzM2LjIgMGMzMC44LS4yIDU1LjctMjUuMiA1NS43LTU2bDAtMzM2Yy4xLTMwLjgtMjQuOC01NS44LTU1LjYtNTZ6TTE5NyAzNzEuM2MtLjIgMTQuNy0xMi4xIDI2LjYtMjYuOSAyNi42bC04Mi43IDBjLTE0LjggLjEtMjYuOS0xMS44LTI3LTI2LjZsMC0yNTQuMmMwLTE0LjggMTItMjYuOSAyNi45LTI2LjlsODIuOSAwYzE0LjggMCAyNi45IDEyIDI2LjkgMjYuOWwwIDI1NC4yLS4xIDB6bTE5My4xLTExMmMwIDE0LjgtMTIgMjYuOS0yNi45IDI2LjlsLTgxIDBjLTE0LjggMC0yNi45LTEyLTI2LjktMjYuOWwwLTE0Mi4xYzAtMTQuOCAxMi0yNi45IDI2LjgtMjYuOWw4MS4xIDBjMTQuOCAwIDI2LjkgMTIgMjYuOSAyNi45bDAgMTQyLjF6Il19LEVwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2aWFkZW8iLGljb246WzQ0OCw1MTIsW10sImYyYTkiLCJNMjc2LjQgMTUwLjVsMCAuN2MtMTcuOS01Mi42LTQyLjYtMTAzLjQtNzAuOC0xNTEuMiA0My4zIDI5LjIgNjcgMTAwIDcwLjggMTUwLjV6bTMyLjcgMTIxLjdjNy42IDE4LjIgMTEgMzcuNSAxMSA1NyAwIDc3LjctNTcuOCAxNDEtMTM3LjggMTM5LjRsMy44LS4zYzc0LjItNDYuNyAxMDkuMy0xMTguNiAxMDkuMy0yMDUuMSAwLTM4LjEtNi41LTc1LjktMTguOS0xMTIgMSAxMS43IDEgMjMuNyAxIDM1LjQgMCA5MS44LTE4LjEgMjQxLjYtMTE2LjYgMjgwLTY1LjctMTEuNC0xMTEuMy02OC42LTExMS4zLTEzNy40IDAtNzUuNiA1Ny40LTE0Mi4zIDEzNS40LTE0Mi4zIDE2LjggMCAzMy43IDMuMSA0OS4xIDkuNiAxLjctMTUuMSA2LjUtMjkuOSAxMy40LTQzLjMtMTkuOS03LjItNDEuMi0xMC43LTYyLjUtMTAuNy0xNjEuNSAwLTIzOC43IDE5NS45LTEyOS45IDMxMy43IDY3LjkgNzQuNiAxOTIgNzMuOSAyNTkuOCAwIDU2LjYtNjEuMyA2MC45LTE0Mi40IDM2LjQtMjAxLTEyLjcgOC0yNy4xIDEzLjktNDIuMiAxN3pNNDE4LjMgMTEuN2MtMzEgNjYuNS04MS4zIDQ3LjItMTE1LjggODAuMS0xMi40IDEyLTIwLjYgMzQtMjAuNiA1MC41IDAgMTQuMSA0LjUgMjcuMSAxMiAzOC44IDQ3LjQtMTEgOTguMy00NiAxMTguMi05MC43LS43IDUuNS00LjggMTQuNC03LjIgMTkuMi0yMC4zIDM1LjctNjQuNiA2NS42LTk5LjcgODQuOSAxNC44IDE0LjQgMzMuNyAyNS44IDU1IDI1LjggNzkgMCAxMTAuMS0xMzQuNiA1OC4xLTIwOC42eiJdfSxJcHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2VhcmNoZW5naW4iLGljb246WzQ0OCw1MTIsW10sImYzZWIiLCJNMjE0LjYgMTMwLjNsLTY3LjIgMjguMiAwLTExNS4zLTU0LjcgMTkwLjMgNTQuNy0yNC4yIDAgMTMwLjMgNjcuMi0yMDkuM3pNMTMxLjQgMzMuNmwtMS4zIDQuNy0xNS4yIDUyLjlDNzQuNiAxMDYuNyA0NiAxNDUuOCA0NiAxOTEuNSA0NiAyNDMuOCA4MC4zIDI4Ny40IDEyOS40IDI5N2wwIDUzLjZDNTEuNSAzNDAuMS02IDI3Mi40LTYgMTkxLjYtNiAxMTEuMSA1My44IDQ0LjQgMTMxLjQgMzMuNnpNNDQyLjggNDgwLjhjLTExLjIgMTEuMi0yMy4xIDEyLjMtMjguNiAxMC41LTUuNC0xLjgtMjcuMS0xOS45LTYwLjQtNDQuNC0zMy4zLTI0LjYtMzMuNi0zNS43LTQzLTU2LjctOS40LTIwLjktMzAuNC00Mi42LTU3LjUtNTIuNGwtOS43LTE0LjdjLTI0LjcgMTYuOS01MyAyNi45LTgxLjMgMjguN2wyLjEtNi42IDE1LjktNDkuNWM0Ni41LTExLjkgODAuOS01NCA4MC45LTEwNC4yIDAtNTQuNS0zOC40LTEwMi4xLTk2LTEwNy4xbDAtNTIuMWM4My4yIDUuMSAxNDguOCA3NC41IDE0OC44IDE1OS4zIDAgMzMuNi0xMS4yIDY0LjctMjkgOTAuNGwxNC42IDkuNmM5LjggMjcuMSAzMS41IDQ4IDUyLjQgNTcuNHMzMi4yIDkuNyA1Ni44IDQzYzI0LjYgMzMuMiA0Mi43IDU0LjkgNDQuNSA2MC4zcy43IDE3LjMtMTAuNSAyOC41em0tOS45LTE3LjljMC00LjQtMy42LTgtOC04cy04IDMuNi04IDggMy42IDggOCA4IDgtMy42IDgtOHoiXX0sTnB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVucmVhbC1lbmdpbmUiLGljb246WzUxMiw1MTIsW10sImU4NWMiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTY1LjUtMTEzLjdsLTI1LjEtMjguMy00Mi40IDQyLjZjLTI0LjEtLjMtNDcuOS02LjItNjkuMy0xNy4ycy00MC4xLTI2LjktNTQuNS00Ni4zYzQuNSAxLjQgOS4yIDIuMyAxMy45IDIuNiA2LjkgLjEgMTQuNS0yLjQgMTQuNS0xNC4xbDAtMTE1LjFjLjEtMy0uNS01LjktMS43LTguNnMtMy4xLTUtNS40LTYuOS01LTMuMS03LjktMy43LTUuOS0uNS04LjggLjJjLTE5LjYgNC41LTM1LjMgNTMuNS0zNS4zIDUzLjUtLjItMjIuNiA0LjUtNDUgMTMuOC02NS42czIzLTM5IDQwLjEtNTMuOGMyMi41LTE5LjUgNTAuMS0zMi4yIDc5LjYtMzYuNy0yMS40IDEyLjItMzMuNSAzMi4xLTMzLjUgNDguOSAwIDI2LjkgMTYuMiAyMy42IDIxIDE5LjdsMCAxNTUuM2MuOCAxLjkgMS45IDMuOCAzLjIgNS41IDIuMSAzIDUgNS40IDguMiA3czYuOSAyLjUgMTAuNSAyLjVjMTYuMiAwIDM3LjMtMTguNSAzNy4zLTE4LjVsMC0xMjUuN2MwLTEyLjgtOS42LTI4LjItMTkuMy0zMy41IDAgMCAxNy45LTMuMiAzMS43IDcuNCAyLjYtMy4yIDUuMy02LjIgOC4yLTkuMSAzMi4yLTMxLjYgNjIuNS00MC42IDg3LjctNDUuMSAwIDAtNDUuOSAzNi4xLTQ1LjkgODQuNSAwIDM2IC45IDEyMy44IC45IDEyMy44IDE3IDE2LjQgNDIuNC03LjMgNjUuMi0zMC44LTQuNCAyMS4zLTI0IDc1LjktODYuNiAxMDUuNHoiXX0sUnB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBheXBhbCIsaWNvbjpbMzg0LDUxMixbXSwiZjFlZCIsIk0xMTEuOSAyOTUuOWMtMy41IDE5LjItMTcuNCAxMDguNy0yMS41IDEzNC0uMyAxLjgtMSAyLjUtMyAyLjVsLTc0LjYgMGMtNy42IDAtMTMuMS02LjYtMTIuMS0xMy45TDU5LjMgNDYuNmMxLjUtOS42IDEwLjEtMTYuOSAyMC0xNi45IDE1Mi4zIDAgMTY1LjEtMy43IDIwNCAxMS40IDYwLjEgMjMuMyA2NS42IDc5LjUgNDQgMTQwLjMtMjEuNSA2Mi42LTcyLjUgODkuNS0xNDAuMSA5MC4zLTQzLjQgLjctNjkuNS03LTc1LjMgMjQuMnpNMzU3LjYgMTUyYy0xLjgtMS4zLTIuNS0xLjgtMyAxLjMtMiAxMS40LTUuMSAyMi41LTguOCAzMy42LTM5LjkgMTEzLjgtMTUwLjUgMTAzLjktMjA0LjUgMTAzLjktNi4xIDAtMTAuMSAzLjMtMTAuOSA5LjQtMjIuNiAxNDAuNC0yNy4xIDE2OS43LTI3LjEgMTY5LjctMSA3LjEgMy41IDEyLjkgMTAuNiAxMi45bDYzLjUgMGM4LjYgMCAxNS43LTYuMyAxNy40LTE0LjkgLjctNS40LTEuMSA2LjEgMTQuNC05MS4zIDQuNi0yMiAxNC4zLTE5LjcgMjkuMy0xOS43IDcxIDAgMTI2LjQtMjguOCAxNDIuOS0xMTIuMyA2LjUtMzQuOCA0LjYtNzEuNC0yMy44LTkyLjZ6Il19LEZwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtYmx1ZXNreSIsaWNvbjpbNDQ4LDUxMixbXSwiZTZhMyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMjQgMjQ3LjRjMTQuNS0zMCA1NC04NS44IDkwLjctMTEzLjMgMjYuNS0xOS45IDY5LjMtMzUuMiA2OS4zIDEzLjcgMCA5LjgtNS42IDgyLjEtOC45IDkzLjgtMTEuNCA0MC44LTUzIDUxLjItOTAgNDQuOSA2NC43IDExIDgxLjIgNDcuNSA0NS42IDg0LTY3LjUgNjkuMy05Ny0xNy40LTEwNC42LTM5LjZsLS4zLS45Yy0uOS0yLjYtMS40LTQuMS0xLjgtNC4xcy0uOSAxLjUtMS44IDQuMWMtLjEgLjMtLjIgLjYtLjMgLjktNy42IDIyLjItMzcuMSAxMDguOC0xMDQuNiAzOS42LTM1LjUtMzYuNS0xOS4xLTczIDQ1LjYtODQtMzcgNi4zLTc4LjYtNC4xLTkwLTQ0LjktMy4zLTExLjctOC45LTg0LTguOS05My44IDAtNDguOSA0Mi45LTMzLjUgNjkuMy0xMy43IDM2LjcgMjcuNSA3Ni4yIDgzLjQgOTAuNyAxMTMuM3oiXX0sT3B0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImQtYW5kLWQtYmV5b25kIixpY29uOls2NDAsNTEyLFtdLCJmNmNhIiwiTTMxMy44IDI0MS41YzEzLjggMCAyMS0xMC4xIDI0LjgtMTcuOS0xLTEuMS01LTQuMi03LjQtNi42LTIuNCA0LjMtOC4yIDEwLjctMTMuOSAxMC43LTEwLjIgMC0xNS40LTE0LjctMy4yLTI2LjYtLjUtLjItNC4zLTEuOC04IDIuNCAwLTMgMS01LjEgMi4xLTYuNi0zLjUgMS4zLTkuOCA1LjYtMTEuNCA3LjkgLjItNS44IDEuNi03LjUgLjYtOWwtLjItLjJzLTguNSA1LjYtOS4zIDE0LjdjMCAwIDEuMS0xLjYgMi4xLTEuOSAuNi0uMyAxLjMgMCAuNiAxLjktLjIgLjYtNS44IDE1LjcgNS4xIDI2LS42LTEuNi0xLjktNy42IDIuNC0xLjktLjMgLjEgNS44IDcuMSAxNS43IDcuMXptNTIuNC0yMS4xYzAtNC00LjktNC40LTUuNi00LjUgMiAzLjkgLjkgNy41IC4yIDkgMi41LS40IDUuNC0xLjYgNS40LTQuNXptMTAuMyA1LjJjMC02LjQtNi4yLTExLjQtMTMuNS0xMC43IDggMS4zIDUuNiAxMy44LTUgMTEuNCAzLjctMi42IDMuMi05LjktMS4zLTEyLjUgMS40IDQuMi0zIDguMi03LjQgNC42LTIuNC0xLjktOC02LjYtMTAuNi04LjYtMi40LTIuMS01LjUtMS02LjYtMS44LTEuMy0xLjEtLjUtMy44LTIuMi01LTEuNi0uOC0zLS4zLTQuOC0xLTEuNi0uNi0yLjctMS45LTIuNi0zLjUtMi41IDQuNCAzLjQgNi4zIDQuNSA4LjUgMSAxLjktLjggNC44IDQgOC41IDE0LjggMTEuNiA5LjEgOCAxMC40IDE4LjEgLjYgNC4zIDQuMiA2LjcgNi40IDcuNC0yLjEtMS45LTIuOS02LjQgMC05LjMgMCAxMy45IDE5LjIgMTMuMyAyMy4xIDYuNC0yLjQgMS4xLTctLjItOS0xLjkgNy43IDEgMTQuMi00LjEgMTQuNi0xMC42em0tMzkuNC0xOC40YzIgLjggMS42IC43IDYuNCA0LjUgMTAuMi0yNC41IDIxLjctMTUuNyAyMi0xNS41IDIuMi0xLjkgOS44LTMuOCAxMy44LTIuNy0yLjQtMi43LTcuNS02LjItMTMuMy02LjItNC43IDAtNy40IDIuMi04IDEuMy0uOC0xLjQgMy4yLTMuNCAzLjItMy40LTUuNCAuMi05LjYgNi43LTExLjIgNS45LTEuMS0uNSAxLjQtMy43IDEuNC0zLjctNS4xIDIuOS05LjMgOS4xLTEwLjIgMTMgNC42LTUuOCAxMy44LTkuOCAxOS43LTktMTAuNSAuNS0xOS41IDkuNy0yMy44IDE1Ljh6bTI0Mi41IDUxLjljLTIwLjcgMC00MCAxLjMtNTAuMyAyLjFsNy40IDguMiAwIDc3LjItNy40IDguMmMxMC40IC44IDMwLjkgMi4xIDUxLjYgMi4xIDQyLjEgMCA1OS4xLTIwLjcgNTkuMS00OC45IDAtMjkuMy0yMy4yLTQ4LjktNjAuNC00OC45em0tMTUuMSA3NS42bDAtNTMuM2MzMC4xLTMuMyA0Ni44IDMuOCA0Ni44IDI2LjMgMCAyNS42LTIxLjQgMzAuMi00Ni44IDI3ek0zMDEuNiAxODFjLTEtMy40LS4yLTYuOSAxLjEtOS40IDEgMyAyLjYgNi40IDcuNSA5LS41LTIuNC0uMi01LjYgLjUtOC0xLjQtNS40IDIuMS05LjkgNi40LTkuOSA2LjkgMCA4LjUgOC44IDQuNyAxNC40IDIuMSAzLjIgNS41IDUuNiA3LjcgNy44IDMuMi0zLjcgNS41LTkuNSA1LjUtMTMuOCAwLTguMi01LjUtMTUuOS0xNi43LTE2LjUtMjAtLjktMjAuMiAxNi42LTIwIDE4LjkgLjUgNS4yIDMuNCA3LjggMy4zIDcuNXptLS40IDZjLS41IDEuOC03IDMuNy0xMC4yIDYuOSA0LjgtMSA3LS4yIDcuOCAxLjggLjUgMS40LS4yIDMuNC0uNSA1LjYgMS42LTEuOCA3LTUuNSAxMS02LjItMS0uMy0zLjQtLjgtNC4zLS44IDIuOS0zLjQgOS4zLTQuNSAxMi44LTMuNy0yLjItLjItNi43IDEuMS04LjUgMi42IDEuNiAuMyAzIC42IDQuMyAxLjEtMi4xIC44LTQuOCAzLjQtNS44IDYuMSA3LTUgMTMuMSA1LjIgNyA4LjIgLjggLjIgMi43IDAgMy41LS41LS4zIDEuMS0xLjkgMy0zIDMuNCAyLjkgMCA3LTEuOSA4LjItNC42IDAgMC0xLjggLjYtMi42LS4ycy4zLTQuMyAuMy00LjNjLTIuMyAyLjktMy40LTEuMy0xLjMtNC4yLTEtLjMtMy41LS42LTQuNi0uNSAzLjItMS4xIDEwLjQtMS44IDExLjItLjMgLjYgMS4xLTEgMy40LTEgMy40IDQtLjUgOC4zIDEuMSA2LjcgNS4xIDIuOS0xLjQgNS41LTUuOSA0LjgtMTAuNC0uMyAxLTEuNiAyLjQtMi45IDIuNyAuMi0xLjQtMS0yLjItMS45LTIuNiAxLjctOS42LTE0LjYtMTQuMi0xNC4xLTIzLjktMSAxLjMtMS44IDUtLjggNy4xIDIuNyAzLjIgOC43IDYuNyAxMC4xIDEyLjItMi42LTYuNC0xNS4xLTExLjQtMTQuNi0yMC4yLTEuNiAxLjYtMi42IDcuOC0xLjMgMTEgMi40IDEuNCA0LjUgMy44IDQuOCA2LjEtMi4yLTUuMS0xMS40LTYuMS0xMy45LTEyLjItLjYgMi4yLS4zIDUgMSA2LjcgMCAwLTIuMi0uOC03LS42IDEuNyAuNiA1LjEgMy41IDQuOCA1LjJ6bTI1LjkgNy40Yy0yLjcgMC0zLjUtMi4xLTQuMi00LjMgMy4zIDEuMyA0LjIgNC4zIDQuMiA0LjN6bTM4LjkgMy43bC0xLS42Yy0xLjEtMS0yLjktMS40LTQuNy0xLjQtMi45IDAtNS44IDEuMy03LjUgMy40LS44IC44LTEuNCAxLjgtMi4xIDIuNmwwIDE1LjdjMy41IDIuNiA3LjEtMi45IDMtNy4yIDEuNSAuMyA0LjYgMi43IDUuMSAzLjIgMCAwIDIuNi0uNSA1LS41IDIuMSAwIDMuOSAuMyA1LjYgMS4xbDAtMTguNGMtMS4xIC41LTIuMiAxLTIuNyAxLjRsLS43IC43ek03OS45IDMwNS45YzE3LjItNC42IDE2LjItMTggMTYuMi0xOS45IDAtMjAuNi0yNC4xLTI1LTM3LTI1bC01Ni4xIDAgOC4zIDguNiAwIDI5LjUtMTEuMyAwIDExLjQgMTQuNiAwIDMyLjMtOC40IDguNmM2MS43IDAgNzMuOCAxLjUgODYuNC01LjkgNi43LTQgOS45LTkuOCA5LjktMTcuNiAwLTUuMSAyLjYtMTguOC0xOS40LTI1LjJ6TTM4LjYgMjc4LjRjMjAgMCAyOS42LS44IDI5LjYgOS4xbDAgM2MwIDEyLjEtMTkgOC44LTI5LjYgOC44bDAtMjAuOXptMCA1OS4ybDAtMjIuNmMxMi4yIDAgMzIuNy0yLjMgMzIuNyA4LjhsMCA0LjUgLjIgMGMwIDExLjItMTIuNSA5LjMtMzIuOSA5LjN6bTEwMS4yLTE5LjNsMjMuMSAuMiAwLS4yIDE0LjEtMjEuMi0zNy4yIDAgMC0xNC45IDUyLjQgMC0xNC4xLTIxIDAtLjItNzMuNSAuMiA3LjQgOC4yIDAgNzcuMS03LjQgOC4yIDgxLjIgMCAxNC4xLTIxLjItNjAuMSAuMiAwLTE1LjR6bTIxNC43LTYwLjFjLTczLjkgMC03Ny41IDk5LjMtLjMgOTkuMyA3Ny45IDAgNzQuMS05OS4zIC4zLTk5LjN6bS0uMyA3Ny41Yy0zNy40IDAtMzYuOS01NS4zIC4yLTU1LjMgMzYuOCAuMSAzOC44IDU1LjMtLjIgNTUuM3ptLTkxLjMtOC4zbDQ0LjEtNjYuMi00MS43IDAgNi4xIDcuMi0yMC41IDM3LjItLjMgMC0yMS0zNy4yIDYuNC03LjItNDQuOSAwIDQ0LjEgNjUuOCAuMiAxOS40LTcuNyA4LjIgNDIuNiAwLTcuMi04LjItLjItMTl6TTIzNC41IDE3Ni4xYzEuNiAxLjMgMi45IDIuNCAyLjkgNi42bDAgMzguOGMwIDQuMi0uOCA1LjMtMi43IDYuNC0uMSAuMS03LjUgNC41LTcuOSA0LjZsMzUuMSAwYzEwIDAgMTcuNC0xLjUgMjYtOC42LS42LTUgLjItOS41IC44LTEyIDAtLjItMS44IDEuNC0yLjcgMy41IDAtNS43IDEuNi0xNS40IDkuNi0yMC41LS4xIDAtMy43LS44LTkgMS4xIDItMy4xIDEwLTcuOSAxMC40LTcuOS04LjItMjYtMzgtMjIuOS0zMi4yLTIyLjktMzAuOSAwLTMyLjYgLjMtMzkuOS00IC4xIC44IC41IDguMiA5LjYgMTQuOXptMjEuNSA1LjVjNC42IDAgMjMuMS0zLjMgMjMuMSAxNy4zIDAgMjAuNy0xOC40IDE3LjMtMjMuMSAxNy4zbDAtMzQuNnptMjI4LjkgNzkuNmw3IDguMyAwIDQyLjUtLjMgMGMtNS40LTE0LjQtNDIuMy00MS41LTQ1LjItNTAuOWwtMzEuNiAwIDcuNCA4LjUgMCA3Ni45LTcuMiA4LjMgMzkgMC03LjQtOC4yIDAtNDcuNCAuMyAwYzMuNyAxMC42IDQ0LjUgNDIuOSA0OC41IDU1LjZsMjEuMyAwIDAtODUuMiA3LjQtOC4zLTM5LjItLjF6TTM3OC4yIDE2NS4xYy0zMi4yIDAtMzIuOCAuMi0zOS45LTQgLjEgLjcgLjUgOC4zIDkuNiAxNC45IDMuMSAyIDIuOSA0LjMgMi45IDkuNSAxLjgtMS4xIDMuOC0yLjIgNi4xLTMtMS4xIDEuMS0yLjcgMi43LTMuNSA0LjUgMS0xLjEgNy41LTUuMSAxNC42LTMuNS0xLjYgLjMtNCAxLjEtNi4xIDIuOSAuMSAwIDIuMS0xLjEgNy41LS4zbDAtNC4zYzQuNyAwIDIzLjEtMy40IDIzLjEgMTcuMyAwIDIwLjUtMTguNSAxNy4zLTE5LjcgMTcuMyA1LjcgNC40IDUuOCAxMiAyLjIgMTYuM2wuMyAwYzMzLjQgMCAzNi43LTI3LjMgMzYuNy0zNCAwLTMuOC0xLjEtMzItMzMuOC0zMy42eiJdfSxCcHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWljcm9zb2Z0IixpY29uOls0NDgsNTEyLFtdLCJmM2NhIiwiTTAgMzJsMjE0LjYgMCAwIDIxNC42LTIxNC42IDAgMC0yMTQuNnptMjMzLjQgMGwyMTQuNiAwIDAgMjE0LjYtMjE0LjYgMCAwLTIxNC42ek0wIDI2NS40bDIxNC42IDAgMCAyMTQuNi0yMTQuNiAwIDAtMjE0LjZ6bTIzMy40IDBsMjE0LjYgMCAwIDIxNC42LTIxNC42IDAgMC0yMTQuNnoiXX0sSHB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZseSIsaWNvbjpbMzIwLDUxMixbXSwiZjQxNyIsIk0xNjUuOSA0MjcuOGMxMi45IDExLjcgMzMuNyAzMy4zIDMzLjIgNTAuNyAwIC44LS4xIDEuNi0uMSAyLjUtMS44IDE5LjgtMTguOCAzMS4xLTM5LjEgMzEtMjUtLjEtMzkuOS0xNi44LTM4LjctMzUuOCAxLTE2LjIgMjAuNS0zNi43IDMyLjQtNDcuNiAyLjMtMi4xIDIuNy0yLjcgNS42LTMuNiAzLjQgMCAzLjkgLjMgNi43IDIuOHpNMzAwIDY3LjNjLTE2LjMtMjUuNy0zOC42LTQwLjYtNjMuMy01Mi4xLTI1LjUtMTAuNy01NC42LTE1LjQtNzYuNi0xNS4yLTQ0LjEgMC03MS4yIDEzLjItODEuMSAxNy4zLTUzLjYgMjcuOS04NC40IDY5LjktODIuOSAxNDEuMyA3LjEgODIuMiA5NyAxNzYgMTU1LjggMjMzLjggMS43IDEuNiA0LjUgNC41IDYuMiA1LjFsMy4zIC4xYzIuMS0uNyAxLjgtLjUgMy41LTIuMSA1Mi4zLTQ5LjIgMTQwLjctMTQ1LjggMTU1LjktMjE1LjcgNy0zOS4yIDMuMS03Mi41LTIwLjgtMTEyLjV6TTE1NC45IDM1MS45Yy0yOC01MS4xLTY1LjItMTMwLjctNjkuMy0xODktMy40LTQ3LjUgMTEuNC0xMzEuMiA2OS4zLTEzNi43bDAgMzI1Ljd6TTI5Ni44IDE4MGMtMTYuNCA1Ni44LTc3LjMgMTI4LTExOC45IDE3MC4zIDI3LjgtNTEuOSA2NS4yLTEzMy4zIDY3LjItMTkxLjkgMS42LTQ1LjktOS44LTEwNS44LTQ4LTEzMS40IDg4LjggMTguMyAxMTUuNSA5OC4xIDk5LjcgMTUzeiJdfSxxcHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2Mtc3RyaXBlIixpY29uOls1NzYsNTEyLFtdLCJmMWY1IiwiTTQ5Mi40IDIyMC44Yy04LjkgMC0xOC43IDYuNy0xOC43IDIyLjdsMzYuNyAwYzAtMTYtOS4zLTIyLjctMTgtMjIuN3pNMzc1IDIyMy40Yy04LjIgMC0xMy4zIDIuOS0xNyA3bC4yIDUyLjhjMy41IDMuNyA4LjUgNi43IDE2LjggNi43IDEzLjEgMCAyMS45LTE0LjMgMjEuOS0zMy40IDAtMTguNi05LTMzLjItMjEuOS0zMy4xek01MjggMzJMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MEwwIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0ODAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1MmMwLTI2LjUtMjEuNS00OC00OC00OHpNMTIyLjIgMjgxLjFjMCAyNS42LTIwLjMgNDAuMS00OS45IDQwLjMtMTIuMiAwLTI1LjYtMi40LTM4LjgtOC4xbDAtMzMuOWMxMiA2LjQgMjcuMSAxMS4zIDM4LjkgMTEuMyA3LjkgMCAxMy42LTIuMSAxMy42LTguNyAwLTE3LTU0LTEwLjYtNTQtNDkuOSAwLTI1LjIgMTkuMi00MC4yIDQ4LTQwLjIgMTEuOCAwIDIzLjUgMS44IDM1LjMgNi41bDAgMzMuNGMtMTAuOC01LjgtMjQuNS05LjEtMzUuMy05LjEtNy41IDAtMTIuMSAyLjItMTIuMSA3LjcgMCAxNiA1NC4zIDguNCA1NC4zIDUwLjd6TTE5MSAyMjQuNWwtMjcgMCAwIDUwLjVjMCAyMC45IDIyLjUgMTQuNCAyNyAxMi42bDAgMjguOWMtNC43IDIuNi0xMy4zIDQuNy0yNC45IDQuNy0yMS4xIDAtMzYuOS0xNS41LTM2LjktMzYuNWwuMi0xMTMuOSAzNC43LTcuNCAwIDMwLjggMjYuOSAwIDAgMzAuM3ptNzQgMi40Yy00LjUtMS41LTE4LjctMy42LTI3LjEgNy40bDAgODQuNC0zNS41IDAgMC0xMjQuNSAzMC43IDAgMi4yIDEwLjVjOC4zLTE1LjMgMjQuOS0xMi4yIDI5LjYtMTAuNWwuMSAwIDAgMzIuN3ptNDQuMSA5MS44bC0zNS43IDAgMC0xMjQuNSAzNS43IDAgMCAxMjQuNXptMC0xNDIuOWwtMzUuNyA3LjYgMC0yOC45IDM1LjctNy42IDAgMjguOXptNzQuMSAxNDUuNWMtMTIuNCAwLTIwLTUuMy0yNS4xLTlsLS4xIDQwLjItMzUuNSA3LjUgMC0xNjUuOCAzMS4zIDAgMS44IDguOGM0LjktNC41IDEzLjktMTEuMSAyNy44LTExLjEgMjQuOSAwIDQ4LjQgMjIuNSA0OC40IDYzLjggMCA0NS4xLTIzLjIgNjUuNS00OC42IDY1LjZ6bTE2MC40LTUxLjVsLTY5LjUgMGMxLjYgMTYuNiAxMy44IDIxLjUgMjcuNiAyMS41IDE0LjEgMCAyNS4yLTMgMzQuOS03LjlsMCAyOC42Yy05LjcgNS4zLTIyLjQgOS4yLTM5LjQgOS4yLTM0LjYgMC01OC44LTIxLjctNTguOC02NC41IDAtMzYuMiAyMC41LTY0LjkgNTQuMy02NC45IDMzLjcgMCA1MS4zIDI4LjcgNTEuMyA2NS4xIDAgMy41LS4zIDEwLjktLjQgMTIuOXoiXX0sVnB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndvcmRwcmVzcy1zaW1wbGUiLGljb246WzUxMiw1MTIsW10sImY0MTEiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek0zMyAyNTZjMC0zMi4zIDYuOS02MyAxOS4zLTkwLjdMMTU4LjcgNDU2LjdDODQuMyA0MjAuNSAzMyAzNDQuMiAzMyAyNTZ6TTI1NiA0NzljLTIxLjkgMC00My0zLjItNjMtOS4xbDY2LjktMTk0LjQgNjguNSAxODcuOGMuNSAxLjEgMSAyLjEgMS42IDMuMS0yMy4xIDguMS00OCAxMi42LTc0IDEyLjZ6bTMwLjctMzI3LjVjMTMuNC0uNyAyNS41LTIuMSAyNS41LTIuMSAxMi0xLjQgMTAuNi0xOS4xLTEuNC0xOC40IDAgMC0zNi4xIDIuOC01OS40IDIuOC0yMS45IDAtNTguNy0yLjgtNTguNy0yLjgtMTItLjctMTMuNCAxNy43LTEuNCAxOC40IDAgMCAxMS40IDEuNCAyMy40IDIuMWwzNC43IDk1LjItNDguOCAxNDYuMy04MS4yLTI0MS41YzEzLjQtLjcgMjUuNS0yLjEgMjUuNS0yLjEgMTItMS40IDEwLjYtMTkuMS0xLjQtMTguNCAwIDAtMzYuMSAyLjgtNTkuNCAyLjgtNC4yIDAtOS4xLS4xLTE0LjQtLjMgMzkuOS02MC41IDEwOC40LTEwMC41IDE4Ni4zLTEwMC41IDU4IDAgMTEwLjkgMjIuMiAxNTAuNiA1OC41LTEtLjEtMS45LS4yLTIuOS0uMi0yMS45IDAtMzcuNCAxOS4xLTM3LjQgMzkuNiAwIDE4LjQgMTAuNiAzMy45IDIxLjkgNTIuMyA4LjUgMTQuOCAxOC40IDMzLjkgMTguNCA2MS41IDAgMTkuMS03LjMgNDEuMi0xNyA3Mi4xbC0yMi4yIDc0LjMtODAuNy0yMzkuNnptODEuNCAyOTcuMmw2OC4xLTE5Ni45YzEyLjctMzEuOCAxNy01Ny4yIDE3LTc5LjkgMC04LjItLjUtMTUuOC0xLjUtMjIuOSAxNy40IDMxLjggMjcuMyA2OC4yIDI3LjMgMTA3IDAgODIuMy00NC42IDE1NC4xLTExMC45IDE5Mi43eiJdfSxqcHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2VsbHN5IixpY29uOls2NDAsNTEyLFtdLCJmMjEzIiwiTTU0MCAyMzcuM2MzLjEtMTIuMyA0LjMtMjQuOCA0LjMtMzcuNCAwLTkyLjUtNzUuNC0xNjcuOS0xNjcuOS0xNjcuOS03Ny4yIDAtMTQ0LjYgNTMtMTYzIDEyNy44LTE1LjMtMTMuMi0zNC45LTIwLjUtNTUuMi0yMC41LTQ2LjMgMC04NCAzNy43LTg0IDg0IDAgNy40IC45IDE1IDMuMSAyMi40LTQyLjkgMjAuMi03MC44IDYzLjctNzAuOCAxMTEuMiAwIDY4IDU1LjUgMTIzLjIgMTIzLjIgMTIzLjJsMzgxLjIgMGM2Ny43IDAgMTIzLjItNTUuMiAxMjMuMi0xMjMuMiAwLTU2LjQtMzguOS0xMDYtOTQuMS0xMTkuNXpNMjAwLjIgNDAxLjZjMCA4LjMtNyAxNS4zLTE1LjMgMTUuM2wtMzAuOSAwYy04LjMgMC0xNS4zLTctMTUuMy0xNS4zbDAtMTEwLjljMC04LjMgNy0xNS4zIDE1LjMtMTUuM2wzMC45IDBjOC4zIDAgMTUuMyA3IDE1LjMgMTUuM2wwIDExMC45em04OS41IDBjMCA4LjMtNyAxNS4zLTE1LjMgMTUuM2wtMzAuOSAwYy04LjMgMC0xNS4zLTctMTUuMy0xNS4zbDAtMTMxLjVjMC04LjMgNy0xNS4zIDE1LjMtMTUuM2wzMC45IDBjOC4zIDAgMTUuMyA3IDE1LjMgMTUuM2wwIDEzMS41em04OS41IDBjMCA4LjMtNyAxNS4zLTE1LjMgMTUuM2wtMzEgMGMtOC4zIDAtMTUuMy03LTE1LjMtMTUuM2wwLTE2Mi43YzAtOC4zIDctMTUuMyAxNS4zLTE1LjNsMzEgMGM4LjMgMCAxNS4zIDcgMTUuMyAxNS4zbDAgMTYyLjd6bTg3IDBjMCA4LjMtNyAxNS4zLTE1LjMgMTUuM2wtMjguNSAwYy04LjMgMC0xNS4zLTctMTUuMy0xNS4zbDAtMjI0LjZjMC04LjYgNy0xNS42IDE1LjMtMTUuNmwyOC41IDBjOC4zIDAgMTUuMyA3IDE1LjMgMTUuNmwwIDIyNC42eiJdfSxVcHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGFzaGN1YmUiLGljb246WzQ0OCw1MTIsW10sImYyMTAiLCJNMzI2LjkgMTA0bC0yMTYuMiAwYy01MS4xIDAtOTEuMiA0My4zLTkxLjIgOTMuNWwwIDIyOS41YzAgNTAuNSA0MC4xIDg1IDkxLjIgODVsMjI3LjIgMGM1MS4xIDAgOTEuMi0zNC41IDkxLjItODVsMC00MjctMTAyLjIgMTA0ek0xNTQuMiA0MTYuNWMtMTcuNyAwLTMyLjQtMTUuMS0zMi40LTMyLjhsMC0xNDIuOWMwLTE3LjcgMTQuNy0zMi41IDMyLjQtMzIuNWwxNDAuNyAwYzE3LjcgMCAzMiAxNC44IDMyIDMyLjVsMCAxMjMuNSA1MS4xIDUyLjMtMjIzLjggMCAwLS4xeiJdfSxXcHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2l0dGVyIixpY29uOlszODQsNTEyLFtdLCJmNDI2IiwiTTY2LjQgMzIyLjVsLTUwLjQgMCAwLTMyMi41IDUwLjQgMCAwIDMyMi41ek0xNjYuOSA3Ni4xbC01MC40IDAgMCA0MzUuOSA1MC40IDAgMC00MzUuOXptMTAwLjYgMGwtNTAuNCAwIDAgNDM1LjkgNTAuNCAwIDAtNDM1Ljl6TTM2OCA3NmwtNTAuNCAwIDAgMjQ3IDUwLjQgMCAwLTI0N3oiXX0sR3B0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndvbGYtcGFjay1iYXR0YWxpb24iLGljb246WzQ0OCw1MTIsW10sImY1MTQiLCJNMjM2LjIgNDcxLjVsMTAuNiAxNS44IDUuMy0xMi4zIDUuMyA3IDAgMjkuOWMyMS4xLTcuOSAyMS4xLTY2LjkgMjUuNS05Ny4yIDQuNi0zMS45LS45LTkyLjggODEuNC0xNDkuMS04LjktMjMuNi0xMi00OS40LTIuNi04MCAyNy45IDMuNCA1My45IDEwLjYgNjMuMyA1NC4xbC0zMC4zIDguNGMxMS4xIDIzIDE3IDQ2LjggMTMuMiA3Mi4xbC0yNy4zLTctNi4yIDMzLjQtMTguNS03LTguOCAzMy40LTE5LjQtNyAyNi40IDIxLjEgOC44LTI4LjIgMjQuNiA1LjIgNy0zNS42IDI2LjQgMTQuNWMuMi0yMCA3LTU4LjEtOC44LTg0LjVsMjYuNCA1LjNjNC0yMi4xLTIuNC0zOS4yLTcuOS01Ni43bDIyLjQgOS43Yy0uNC0yNS4xLTI5LjktNTYuOC02MS42LTU4LjUtMjAuMi0xLjEtNTYuNy0yNS4yLTU0LjEtNTEuOSAyLTE5LjkgMTcuNC00Mi42IDQzLjEtNDkuNy00NCAzNi41LTkuNyA2Ny4zIDUuMyA3My41IDQuNC0xMS40IDE3LjUtNjkuMSAwLTEzMC4yLTQwLjQgMjIuOS04OS43IDY1LjEtOTMuMiAxNDcuOGwtNTggMzguNy0zLjUgOTMuMiAxMDcuMy01OS44IDcgNy0xNy42IDMuNS00NCAzOC43LTE1LjgtNS4zLTI4LjEgNDkuMy0zLjUgMTE5LjYgMjEuMSAxNS44LTMyLjUgMTUuOC0zMi42LTE1LjggMjEuMS0xNS44LTMuNS0xMTkuNi0yOC4yLTQ5LjMtMTUuOCA1LjMtNDQtMzguNy0xNy42LTMuNSA3LTcgMTA3LjMgNTkuOC0zLjUtOTMuMy01OC4xLTM4LjdjLTMuNS04Mi44LTUyLjctMTI1LTkzLjItMTQ3LjktMTcuNSA2MS4xLTQuNCAxMTguOCAwIDEzMC4yIDE1LTYuMiA0OS4zLTM3IDUuMy03My41IDI1LjcgNy4xIDQxLjEgMjkuOCA0My4xIDQ5LjcgMi42IDI2LjctMzMuOSA1MC44LTU0LjEgNTEuOS0zMS43IDEuNy02MS4yIDMzLjQtNjEuNiA1OC41bDIyLjQtOS43QzEzLjQgMjI0LjcgNyAyNDEuOCAxMSAyNjMuOWwyNi40LTUuM2MtMTUuOCAyNi40LTkuMSA2NC40LTguOCA4NC40bDI2LjQtMTQuNSA3IDM1LjYgMjQuNi01LjMgOC44IDI4LjIgMjYuNC0yMS4xLTE5LjQgNy04LjgtMzMuNC0xOC41IDctNi4yLTMzLjQtMjcuMyA3QzM4IDI5NC44IDQzLjggMjcxIDU1IDI0OGwtMzAuMy04LjRjOS40LTQzLjUgMzUuNS01MC44IDYzLjMtNTQuMSA5LjQgMzAuNiA2LjIgNTYuNS0yLjYgODAuMSA4Mi4zIDU2LjMgNzYuOCAxMTcuMiA4MS40IDE0OS4xIDQuNCAzMC4zIDQuNCA4OS4zIDI1LjUgOTcuMmwwLTI5LjggNS4zLTcgNS4zIDEyLjMgMTAuNi0xNS44IDExLjQgMjEuMSAxMS40LTIxLjEgMCAwem03OS4yLTk1TDI5OS41IDM2NmM3LjUtNC40IDEzLjgtOC40IDE5LjQtMTIuMy0uNiA3LjItLjMgMTMuOC0zLjUgMjIuOGwwIDB6bTI4LjItNDkuM2MtLjQgMTAuOS0uOSAyMS43LTEuOCAzMS43LTcuOC0xLjktMTUuNi0zLjgtMjEuMS03IDguMi03LjkgMTUuNi0xNi4zIDIyLjktMjQuN2wwIDB6bTI0LjYgNS4zYzAtMTMuNC0yLjEtMjQuMi01LjMtMzMuNC01LjUgOS41LTExLjcgMTguNi0xOC41IDI3LjNsMjMuOCA2LjJ6bTMuNS04MC45YzE5LjQgMTIuOCAyNy44IDMzLjcgMjkuOSA1Ni4zLTEyLjMtNC41LTI0LjYtOS4zLTM3LTEwLjYgNS4xLTEyIDYuNi0yOC4xIDctNDUuN2wwIDB6bS0xLjgtNDUuN2MuOCAxNC4zIDEuOCAyOC44IDEuOCA0Mi4yIDE5LjItOC4xIDI5LjgtOS43IDQ0LTE0LjEtMTAuNi0xOS0yNy4yLTI1LjUtNDUuOC0yOC4ybDAgMHpNMTM0LjIgMzc2LjVMMTUwIDM2NmMtNy41LTQuNC0xMy44LTguNC0xOS40LTEyLjMgLjYgNy4zIC4zIDEzLjkgMy41IDIyLjlsMCAwek0xMDYgMzI3LjNjLjQgMTAuOSAuOSAyMS43IDEuOCAzMS43IDcuOC0xLjkgMTUuNi0zLjggMjEuMS03LTguMi03LjktMTUuNi0xNi4zLTIyLjktMjQuN3ptLTI0LjYgNS4zYzAtMTMuNCAyLTI0LjIgNS4zLTMzLjQgNS41IDkuNSAxMS43IDE4LjYgMTguNSAyNy4zbC0yMy44IDYuMnptLTMuNS04MC45Yy0xOS40IDEyLjgtMjcuOCAzMy43LTI5LjkgNTYuMyAxMi4zLTQuNSAyNC42LTkuMyAzNy0xMC42LTUtMTItNi42LTI4LjEtNy00NS43bC0uMSAwem0xLjgtNDUuN2MtLjggMTQuMy0xLjggMjguOC0xLjggNDIuMi0xOS4yLTguMS0yOS44LTkuNy00NC0xNC4xIDEwLjYtMTkgMjcuMi0yNS41IDQ1LjgtMjguMXoiXX0sWXB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imxhc3RmbSIsaWNvbjpbNTEyLDUxMixbXSwiZjIwMiIsIk0yMjUuOCAzNjcuMWwtMTguOC01MXMtMzAuNSAzNC03Ni4yIDM0Yy00MC41IDAtNjkuMi0zNS4yLTY5LjItOTEuNSAwLTcyLjEgMzYuNC05Ny45IDcyLjEtOTcuOSA2Ni41IDAgNzQuOCA1My4zIDEwMC45IDEzNC45IDE4LjggNTYuOSA1NCAxMDIuNiAxNTUuNCAxMDIuNiA3Mi43IDAgMTIyLTIyLjMgMTIyLTgwLjkgMC03Mi45LTYyLjctODAuNi0xMTUtOTIuMS0yNS44LTUuOS0zMy40LTE2LjQtMzMuNC0zNCAwLTE5LjkgMTUuOC0zMS43IDQxLjYtMzEuNyAyOC4yIDAgNDMuNCAxMC42IDQ1LjcgMzUuOGw1OC42LTdjLTQuNy01Mi44LTQxLjEtNzQuNS0xMDAuOS03NC41LTUyLjggMC0xMDQuNCAxOS45LTEwNC40IDgzLjkgMCAzOS45IDE5LjQgNjUuMSA2OCA3Ni44IDQ0LjkgMTAuNiA3OS44IDEzLjggNzkuOCA0NS43IDAgMjEuNy0yMS4xIDMwLjUtNjEgMzAuNS01OS4yIDAtODMuOS0zMS4xLTk3LjktNzMuOS0zMi05Ni44LTQzLjYtMTYzLTE2MS4zLTE2My04Ni4xIDAtMTMxLjggNTQuNS0xMzEuOCAxNDcuMiAwIDg5LjEgNDUuNyAxMzcuMiAxMjcuOSAxMzcuMiA2Ni4yIDAgOTcuOS0zMS4xIDk3LjktMzEuMXoiXX0sWnB0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNob3B3YXJlIixpY29uOls1MTIsNTEyLFtdLCJmNWI1IiwiTTQwMy41IDQ1NS40Yy00Mi42IDMxLjctOTQuNCA0OC43LTE0Ny41IDQ4LjYtMTM3LjIgMC0yNDgtMTExLTI0OC0yNDggMC0xMzcuMiAxMTEtMjQ4IDI0OC0yNDggNjEuMi0uMSAxMjAuMiAyMi42IDE2NS43IDYzLjUgLjYgLjUgLjkgMS4yIDEuMSAxLjlzLjEgMS41LS4zIDIuMi0uOCAxLjMtMS41IDEuNi0xLjQgLjUtMi4yIC40Yy0xOC44LTIuNS0zNy43LTMuNy01Ni43LTMuNy0xMjkuNCAwLTIyMi40IDUzLjUtMjIyLjQgMTU1LjQgMCAxMDkgOTIuMSAxNDUuOSAxNzYuOCAxNzguNyAzMy42IDEzIDY1LjQgMjUuNCA4NyA0MS42IC40IC4zIC44IC44IDEuMSAxLjNzLjQgMSAuNCAxLjYtLjEgMS4xLS40IDEuNi0uNiAuOS0xLjEgMS4zbC0uMSAwek01MDMgMjMzLjFjLS4xLS45LS41LTEuOC0xLjMtMi40LTUxLjgtNDMtOTMuNi02MC41LTE0NC41LTYwLjUtODQuMSAwLTgwLjMgNTIuMi04MC4zIDUzLjYgMCA0Mi42IDUyLjEgNjIgMTEyLjMgODQuNSAzMS4xIDExLjYgNjMuMiAyMy42IDkyLjcgMzkuOSAuNCAuMiAuOSAuNCAxLjQgLjRzMSAwIDEuNS0uMiAuOS0uNCAxLjMtLjggLjYtLjggLjgtMS4yYzE0LjEtMzYgMTkuNS03NC44IDE2LTExMy4zeiJdfSxYcHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmxvZ2dlciIsaWNvbjpbNDQ4LDUxMixbXSwiZjM3YyIsIk0xNjIuNCAxOTZjNC44LTQuOSA2LjItNS4xIDM2LjQtNS4xIDI3LjIgMCAyOC4xIC4xIDMyLjEgMi4xIDUuOCAyLjkgOC4zIDcgOC4zIDEzLjYgMCA1LjktMi40IDEwLTcuNiAxMy40LTIuOCAxLjgtNC41IDEuOS0zMS4xIDIuMS0xNi40IC4xLTI5LjUtLjItMzEuNS0uOC0xMC4zLTIuOS0xNC4xLTE3LjctNi42LTI1LjN6bTYxLjQgOTQuNWMtNTMuOSAwLTU1LjggLjItNjAuMiA0LjEtMy41IDMuMS01LjcgOS40LTUuMSAxMy45IC43IDQuNyA0LjggMTAuMSA5LjIgMTIgMi4yIDEgMTQuMSAxLjcgNTYuMyAxLjJsNDcuOS0uNiA5LjItMS41YzktNS4xIDEwLjUtMTcuNCAzLjEtMjQuNC01LjMtNC43LTUtNC43LTYwLjQtNC43ek00NDcuMiA0MjAuNmMtMy41IDI4LjQtMjMgNTAuNC01MS4xIDU3LjUtNy4yIDEuOC05LjcgMS45LTE3Mi45IDEuOC0xNTcuOCAwLTE2NS45LS4xLTE3Mi0xLjgtOC40LTIuMi0xNS42LTUuNS0yMi4zLTEwLTUuNi0zLjgtMTMuOS0xMS44LTE3LTE2LjQtMy44LTUuNi04LjItMTUuMy0xMC0yMlMwIDQyMC4zIDAgMjU2LjNjMC0xNjMuMSAwLTE2Ni42IDEuOC0xNzMuNyA2LjMtMjQuNyAyNS45LTQzLjYgNTEuMi00OS4yIDcuMy0xLjYgMzMyLjEtMS45IDM0MC0uMyAyMS4yIDQuMyAzNy45IDE3LjEgNDcuNiAzNi40IDcuNyAxNS4zIDctMS41IDcuMyAxODAuNiAuMiAxMTUuOCAwIDE2NC41LS43IDE3MC41ek0zNjEuOCAyMzUuNGMtMS4xLTUtNC4yLTkuNi03LjctMTEuNS0xLjEtLjYtOC0xLjMtMTUuNS0xLjctMTIuNC0uNi0xMy44LS44LTE3LjgtMy4xLTYuMi0zLjYtNy45LTcuNi04LTE4LjMgMC0yMC40LTguNS0zOS40LTI1LjMtNTYuNS0xMi0xMi4yLTI1LjMtMjAuNS00MC42LTI1LjEtMy42LTEuMS0xMS44LTEuNS0zOS4yLTEuOC00Mi45LS41LTUyLjUgLjQtNjcuMSA2LjItMjcgMTAuNy00Ni4zIDMzLjQtNTMuNCA2Mi40LTEuMyA1LjQtMS42IDE0LjItMS45IDY0LjMtLjQgNjIuOCAwIDcyLjEgNCA4NC41IDkuNyAzMC43IDM3LjEgNTMuNCA2NC42IDU4LjQgOS4yIDEuNyAxMjIuMiAyLjEgMTMzLjcgLjUgMjAuMS0yLjcgMzUuOS0xMC44IDUwLjctMjUuOSAxMC43LTEwLjkgMTcuNC0yMi44IDIxLjgtMzguNSAzLjItMTAuOSAyLjktODguNCAxLjctOTMuOXoiXX0sS3B0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVkZ2UiLGljb246WzUxMiw1MTIsW10sImYyODIiLCJNMTIwLjEgMzcuNGM0MS0yNS4yIDg3LjYtMzguMiAxMzQuOS0zNy40IDE2OCAwIDI1NyAxMjMuOCAyNTcgMjE5LjUtLjEgMzIuNy0xMyA2My45LTM1LjkgODcuMi0yMi45IDIzLjItNTQgMzYuNS04Ni43IDM3LTc1LjIgMC05MS41LTIzLjEtOTEuNS0zMiAwLTMuOCAxLjItNi4yIDQuOC05LjRsMS0xLjIgLjQtMS42YzEwLjUtMTEuNSAxNS45LTI2LjIgMTUuOS00MS42IDAtNzguNy04Mi4yLTE0Mi43LTE4NC0xNDIuNy0zNy41LS4zLTc0LjUgOC45LTEwNy41IDI2LjkgMjctNTcuNSA4Mi43LTk3LjYgOTEuMy0xMDMuOCAuOC0uNiAuMy0uOCAuMy0uOHptMTUuNiAzMTguMWMtMS40IDMwIDQuNiA2MCAxNi40IDg3LjIgMTMuNiAyNi40IDMyLjcgNTEgNTYuNSA2OS4zLTU5LjUtMTEuNS0xMTEuNS00My45LTE0OS40LTg5LjMtMzguMS00Ni40LTU5LjItMTA0LjMtNTkuMi0xNjQuOCAwLTUxLjIgNjIuNC05NC40IDEzNi05NC40IDM2LjYtLjYgNzIuNCAxMC45IDEwMS44IDMyLjdsLTMuNiAxLjJjLTUxLjUgMTcuNi05OC41IDkwLjctOTguNSAxNTguMXpNNDY5LjggNDAwbC0uNyAuMWMtMTEuOCAxOC44LTI1LjkgMzUuMS00Mi4yIDQ5LjUtMzAuOCAyOC02OC4xIDQ1LjUtMTA4LjggNDkuOS0xOC42IC4zLTM2LjgtMy4yLTUzLjgtMTEuNC0yNS42LTEwLjMtNDcuMS0zMC02MS42LTUzLTE0LjQtMjMuOS0yMS4xLTUxLjctMTktNzkuNi0uNi0yMC4xIDUuNC00MC4zIDE1LTU4LjIgMTMuOSAzMy4xIDM3LjUgNjEuMyA2Ny42IDgwLjhzNjUuNSAyOS41IDEwMS40IDI4LjZjMzEgLjMgNjIuMS02LjcgOTAuMi0yMC41bDEuOS0uOWMzLjktMi4zIDcuNy0zLjkgMTEuNiAwIDQuNSA0LjkgMS44IDkuMi0xLjIgMTQtLjIgLjItLjMgLjUtLjQgLjd6Il19LFFwdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJpb3hob3N0IixpY29uOls2NDAsNTEyLFtdLCJmMjA4IiwiTTYxNiAxNjBsLTY3LjMgMEM1MTEuMiA3MC43IDQyMi45IDggMzIwIDggMTgzIDggNzIgMTE5IDcyIDI1NiA3MiAyNzIuNCA3My42IDI4OC41IDc2LjcgMzA0TDI0IDMwNGMtMTMuMyAwLTI0IDEwLjgtMjQgMjQgMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjcuMyAwYzM3LjUgODkuMyAxMjUuOCAxNTIgMjI4LjcgMTUyIDEzNyAwIDI0OC0xMTEgMjQ4LTI0OCAwLTE2LjQtMS42LTMyLjUtNC43LTQ4bDUyLjcgMGMxMy4zIDAgMjQtMTAuOCAyNC0yNCAwLTEzLjMtMTAuNy0yNC0yNC0yNHptLTk2IDk2YzAgMTEwLjUtODkuNSAyMDAtMjAwIDIwMC03NS43IDAtMTQxLjYtNDItMTc1LjUtMTA0TDQyNCAzNTJjMTMuMyAwIDI0LTEwLjggMjQtMjQgMC0xMy4zLTEwLjctMjQtMjQtMjRsLTI5OC4yIDBjLTMuOC0xNS40LTUuOC0zMS40LTUuOC00OCAwLTExMC41IDg5LjUtMjAwIDIwMC0yMDAgNzUuNyAwIDE0MS42IDQyIDE3NS41IDEwNEwyMTYgMTYwYy0xMy4zIDAtMjQgMTAuOC0yNCAyNCAwIDEzLjMgMTAuNyAyNCAyNCAyNGwyOTguMiAwYzMuOCAxNS40IDUuOCAzMS40IDUuOCA0OHpNMjE2IDIzMmwyMDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNCAwIDEzLjItMTAuNyAyNC0yNCAyNGwtMjA4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0IDAtMTMuMiAxMC43LTI0IDI0LTI0eiJdfSxKcHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2NobGl4IixpY29uOls0NDgsNTEyLFtdLCJmM2VhIiwiTTM1MC41IDE1Ny43bC01NC4yLTQ2LjEgNzMuNC0zOSA3OC4zIDQ0LjItOTcuNSA0MC45ek0xOTIgMTIyLjFsNDUuNy0yOC4yIDM0LjcgMzQuNi01NS40IDI5LTI1LTM1LjR6bS02NS4xIDYuNmwzMS45LTIyLjEgMTcuMiAyOC40LTM2LjcgMjIuNS0xMi40LTI4Ljh6bS0yMy4zIDg4LjJsLTguOC0zNC44IDI5LjYtMTguMyAxMy4xIDM1LjMtMzMuOSAxNy44ek04Mi40IDEzMy4ybDIzLjktMTguMSA4LjkgMjQtMjYuNyAxOC4zLTYuMS0yNC4yek01OSAyMDYuNWwtMy42LTI4LjQgMjIuMy0xNS41IDYuMSAyOC43LTI0LjggMTUuMnpNMjguNCAyMjMuMWwyMC44LTEyLjggMy4zIDMzLjQtMjIuOSAxMi0xLjItMzIuNnpNMS40IDI2OEwyMC42IDI1Ny44IDIxIDI5NiAwIDMwNC44IDEuNCAyNjh6bTU5LjEgNTkuM2wtMjguMyA4LjMtMS42LTQ2LjggMjUuMS0xMC43IDQuOCA0OS4yek05OSAyNjMuMmwtMzEuMSAxMy01LjItNDAuOCAyNy40LTE0LjQgOC45IDQyLjJ6TTEyMy4yIDM3N2wtNDEuNiA1LjktOC4xLTYzLjUgMzUuMi0xMC44IDE0LjUgNjguNHptMjguNS0xMzkuOWwyMS4yIDU3LjEtNDYuMiAxMy42LTEzLjctNTQuMSAzOC43LTE2LjZ6bTg1LjcgMjMwLjVsLTcwLjktMy4zLTI0LjMtOTUuOCA1NS4yLTguNiA0MCAxMDcuN3pNMTUyLjUgMTg3LjlsNDIuMi0yMi40IDI4IDQ1LjktNTAuOCAyMS4zLTE5LjQtNDQuOHptNDEgOTQuOWw2MS4zLTE4LjcgNTIuOCA4Ni42LTc5LjggMTEuMy0zNC4zLTc5LjJ6bTUxLjQtODUuNmw2Ny4zLTI4LjggNjUuNSA2NS40LTg4LjYgMjYuMi00NC4yLTYyLjh6Il19LGV1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkLWFuZC1kIixpY29uOls1NzYsNTEyLFtdLCJmMzhkIiwiTTgyLjkgOTguOWMtLjYtMTcuMiAyLTMzLjggMTIuNy00OC4yIC4zIDcuNCAxLjIgMTQuNSA0LjIgMjEuNiA1LjktMjcuNSAxOS43LTQ5LjMgNDIuMy02NS41LTEuOSA1LjktMy41IDExLjgtMyAxNy43IDguNy03LjQgMTguOC0xNy44IDQ0LjQtMjIuNyAxNC43LTIuOCAyOS43LTIgNDIuMSAxIDM4LjUgOS4zIDYxIDM0LjMgNjkuNyA3Mi4zIDUuMyAyMy4xIC43IDQ1LTguMyA2Ni40LTUuMiAxMi40LTEyIDI0LjQtMjAuNyAzNS4xLTItMS45LTMuOS0zLjgtNS44LTUuNi00Mi44LTQwLjgtMjYuOC0yNS4yLTM3LjQtMzcuNC0xLjEtMS4yLTEtMi4yLS4xLTMuNiA4LjMtMTMuNSAxMS44LTI4LjIgMTAtNDQtMS4xLTkuOC00LjMtMTguOS0xMS4zLTI2LjItMTQuNS0xNS4zLTM5LjItMTUtNTMuNSAuNi0xMS40IDEyLjUtMTQuMSAyNy40LTEwLjkgNDMuNiAuMiAxLjMgLjQgMi43IDAgMy45LTMuNCAxMy43LTQuNiAyNy42LTIuNSA0MS42IC4xIC41IC4xIDEuMSAuMSAxLjYgMCAuMy0uMSAuNS0uMiAxLjEtMjEuOC0xMS0zNi0yOC4zLTQzLjItNTIuMi04LjMgMTcuOC0xMS4xIDM1LjUtNi42IDU0LjEtMTUuNi0xNS4yLTIxLjMtMzQuMy0yMi01NS4yek01NTIuNSAyMjIuMWMtMTEuNi0xMS42LTI1LTIwLjQtNDAuMS0yNi42LTEyLjgtNS4yLTI2LTcuOS0zOS45LTcuMS0xMCAuNi0xOS42IDMuMS0yOSA2LjQtMi41IC45LTUuMSAxLjYtNy43IDIuMi00LjkgMS4yLTcuMy0zLjEtNC43LTYuOCAzLjItNC42IDMuNC00LjIgMTUtMTIgLjYtLjQgMS4yLS44IDIuMi0xLjVsLTIuNSAwYy0uNiAwLTEuMiAuMi0xLjkgLjMtMTkuMyAzLjMtMzAuNyAxNS41LTQ4LjkgMjkuNi0xMC40IDguMS0xMy44IDMuOC0xMi0uNSAxLjQtMy41IDMuMy02LjcgNS4xLTEwIDEtMS44IDIuMy0zLjQgMy41LTUuMS0uMi0uMi0uNS0uMy0uNy0uNS0yNyAxOC4zLTQ2LjcgNDIuNC01Ny43IDczLjMgLjMgLjMgLjcgLjYgMSAuOSAuMy0uNiAuNS0xLjIgLjktMS43IDEwLjQtMTIuMSAyMi44LTIxLjggMzYuNi0yOS44IDE4LjItMTAuNiAzNy41LTE4LjMgNTguNy0yMC4yIDQuMy0uNCA4LjctLjEgMTMuMS0uMS0xLjggLjctMy41IC45LTUuMyAxLjEtMTguNSAyLjQtMzUuNSA5LTUxLjUgMTguNS0zMC4yIDE3LjktNTQuNSA0Mi4yLTc1LjEgNzAuNC0uMyAuNC0uNCAuOS0uNyAxLjMgMTQuNSA1LjMgMjQgMTcuMyAzNi4xIDI1LjYgLjItLjEgLjMtLjIgLjQtLjRsMS4yLTIuN2MxMi4yLTI2LjkgMjctNTIuMyA0Ni43LTc0LjUgMTYuNy0xOC44IDM4LTI1LjMgNjIuNS0yMCA1LjkgMS4zIDExLjQgNC40IDE3LjIgNi44IDIuMy0xLjQgNS4xLTMuMiA4LTQuNyA4LjQtNC4zIDE3LjQtNyAyNi43LTkgMTQuNy0zLjEgMjkuNS00LjkgNDQuNS0xLjNsMC0uNWMtLjUtLjQtMS4yLS44LTEuNy0xLjR6TTMxNy4xIDM5Ny42Yy0zOS40LTMzLTIyLjgtMTkuNS00Mi43LTM1LjYtLjggLjkgMC0uMi0xLjkgMy0xMS4yIDE5LjEtMjUuNSAzNS4zLTQ0IDQ3LjYtMTAuMyA2LjgtMjEuNSAxMS44LTM0LjEgMTEuOC0yMS42IDAtMzguMi05LjUtNDkuNC0yNy44LTEyLTE5LjUtMTMuMy00MC43LTguMi02Mi42IDcuOC0zMy44IDMwLjEtNTUuMiAzOC42LTY0LjMtMTguNy02LjItMzMgMS43LTQ2LjQgMTMuOSAuOC0xMy45IDQuMy0yNi4yIDExLjgtMzcuMy0yNC4zIDEwLjYtNDUuOSAyNS02NC44IDQzLjktLjMtNS44IDUuNC00My43IDUuNi00NC43IC4zLTIuNy0uNi01LjMtMy03LjQtMjQuMiAyNC43LTQ0LjUgNTEuOC01Ni4xIDg0LjYgNy40LTUuOSAxNC45LTExLjQgMjMuNi0xNi4yLTguMyAyMi4zLTE5LjYgNTIuOC03LjggMTAxLjEgNC42IDE5IDExLjkgMzYuOCAyNC4xIDUyLjMgMi45IDMuNyA2LjMgNi45IDkuNSAxMC4zIC4yLS4yIC40LS4zIC42LS41LTEuNC03LTIuMi0xNC4xLTEuNS0yMS45IDIuMiAzLjIgMy45IDYgNS45IDguNiAxMi42IDE2IDI4LjcgMjcuNCA0Ny4yIDM1LjYgMjUgMTEuMyA1MS4xIDEzLjMgNzcuOSA4LjYgNTQuOS05LjcgOTAuNy00OC42IDExNi05OC44IDEtMS44IC42LTIuOS0uOS00LjJ6bTE3Mi00Ni40Yy05LjUtMy4xLTIyLjItNC4yLTI4LjctMi45IDkuOSA0IDE0LjEgNi42IDE4LjggMTIgMTIuNiAxNC40IDEwLjQgMzQuNy01LjQgNDUuNi0xMS43IDguMS0yNC45IDEwLjUtMzguOSA5LjEtMS4yLS4xLTIuMy0uNC0zLS42IDIuOC0zLjcgNi03IDguMS0xMC44IDkuNC0xNi44IDUuNC00Mi4xLTguNy01Ni4xLTIuMS0yLjEtNC42LTMuOS03LTUuOS0uMyAxLjMtLjEgMi4xIC4xIDIuOCA0LjIgMTYuNi04LjEgMzIuNC0yNC44IDMxLjgtNy42LS4zLTEzLjktMy44LTE5LjYtOC41LTE5LjUtMTYuMS0zOS4xLTMyLjEtNTguNS00OC4zLTUuOS00LjktMTIuNS04LjEtMjAuMS04LjctNC42LS40LTkuMy0uNi0xMy45LS45LTUuOS0uNC04LjgtMi44LTEwLjQtOC40LS45LTMuNC0xLjUtNi44LTIuMi0xMC4yLTEuNS04LjEtNi4yLTEzLTE0LjMtMTQuMi00LjQtLjctOC45LTEtMTMuMy0xLjUtMTMtMS40LTE5LjgtNy40LTIyLjYtMjAuMy01IDExLTEuNiAyMi40IDcuMyAyOS45IDQuNSAzLjggOS4zIDcuMyAxMy44IDExLjIgNC42IDMuOCA3LjQgOC43IDcuOSAxNC44IC40IDQuNyAuOCA5LjUgMS44IDE0LjEgMi4yIDEwLjYgOC45IDE4LjQgMTcgMjUuMSAxNi41IDEzLjcgMzMgMjcuMyA0OS41IDQxLjEgMTcuOSAxNSAxMy45IDMyLjggMTMgNTYtLjkgMjIuOSAxMi4yIDQyLjkgMzMuNSA1MS4yIDEgLjQgMiAuNiAzLjYgMS4xLTE1LjctMTguMi0xMC4xLTQ0LjEgLjctNTIuMyAuMyAyLjIgLjQgNC4zIC45IDYuNCA5LjQgNDQuMSA0NS40IDY0LjIgODUgNTYuOSAxNi0yLjkgMzAuNi04LjkgNDIuOS0xOS44IDItMS44IDMuNy00LjEgNS45LTYuNS0xOS4zIDQuNi0zNS44IC4xLTUwLjktMTAuNiAuNy0uMyAxLjMtLjMgMS45LS4zIDIxLjMgMS44IDQwLjYtMy40IDU3LTE3LjQgMTkuNS0xNi42IDI2LjYtNDIuOSAxNy40LTY2LTguMy0yMC4xLTIzLjYtMzIuMy00My44LTM4Ljl6TTk5LjggMTc5LjNjLTUuMy05LjItMTMuMi0xNS42LTIyLjEtMjEuMyAxMy43LS41IDI2LjYgLjIgMzkuNiAzLjctNy0xMi4yLTguNS0yNC43LTUtMzguNyA1LjMgMTEuOSAxMy43IDIwLjEgMjMuNiAyNi44IDE5LjcgMTMuMiAzNS43IDE5LjYgNDYuNyAzMC4yIDMuNCAzLjMgNi4zIDcuMSA5LjYgMTAuOS0uOC0yLjEtMS40LTQuMS0yLjItNi01LTEwLjYtMTMtMTguNi0yMi42LTI1LTEuOC0xLjItMi44LTIuNS0zLjQtNC41LTMuMy0xMi41LTMtMjUuMS0uNy0zNy42IDEtNS41IDIuOC0xMC45IDQuNS0xNi4zIC44LTIuNCAyLjMtNC42IDQtNi42IC42IDYuOSAwIDI1LjUgMTkuNiA0NiAxMC44IDExLjMgMjIuNCAyMS45IDMzLjkgMzIuNyA5IDguNSAxOC4zIDE2LjcgMjUuNSAyNi44IDEuMSAxLjYgMi4yIDMuMyAzLjggNC43LTUtMTMtMTQuMi0yNC4xLTI0LjItMzMuOC05LjYtOS4zLTE5LjQtMTguNC0yOS4yLTI3LjQtMy4zLTMtNC42LTYuNy01LjEtMTAuOS0xLjItMTAuNCAwLTIwLjYgNC4zLTMwLjIgLjUtMSAxLjEtMiAxLjktMy4zIC41IDQuMiAuNiA3LjkgMS40IDExLjYgNC44IDIzLjEgMjAuNCAzNi4zIDQ5LjMgNjMuNSAxMCA5LjQgMTkuMyAxOS4yIDI1LjYgMzEuNiA0LjggOS4zIDcuMyAxOSA1LjcgMjkuNi0uMSAuNiAuNSAxLjcgMS4xIDIgNi4yIDIuNiAxMCA2LjkgOS43IDE0LjMgNy43LTIuNiAxMi41LTggMTYuNC0xNC41IDQuMiAyMC4yLTkuMSA1MC4zLTI3LjIgNTguNyAuNC00LjUgNS0yMy40LTE2LjUtMjcuNy02LjgtMS4zLTEyLjgtMS4zLTIyLjktMi4xIDQuNy05IDEwLjQtMjAuNiAuNS0yMi40LTI0LjktNC42LTUyLjggMS45LTU3LjggNC42IDguMiAuNCAxNi4zIDEgMjMuNSAzLjMtMiA2LjUtNCAxMi43LTUuOCAxOC45LTEuOSA2LjUgMi4xIDE0LjYgOS4zIDkuNiAxLjItLjkgMi4zLTEuOSAzLjMtMi43LTMuMSAxNy45LTIuOSAxNS45LTIuOCAxOC4zIC4zIDEwLjIgOS41IDcuOCAxNS43IDcuMy0yLjUgMTEuOC0yOS41IDI3LjMtNDUuNCAyNS44IDctNC43IDEyLjctMTAuMyAxNS45LTE3LjktNi41IC44LTEyLjkgMS42LTE5LjIgMi40bC0uMy0uOWM0LjctMy40IDgtNy44IDEwLjItMTMuMSA4LjctMjEuMS0zLjYtMzgtMjUtMzkuOS05LjEtLjgtMTcuOCAuOC0yNS45IDUuNSA2LjItMTUuNiAxNy4yLTI2LjYgMzIuNi0zNC41LTE1LjItNC4zLTguOS0yLjctMjQuNi02LjMgMTQuNi05LjMgMzAuMi0xMy4yIDQ2LjUtMTQuNi01LjItMy4yLTQ4LjEtMy42LTcwLjIgMjAuOSA3LjkgMS40IDE1LjUgMi44IDIzLjIgNC4yLTIzLjggNy00NCAxOS43LTYyLjQgMzUuNiAxLjEtNC44IDIuNy05LjUgMy4zLTE0LjMgLjYtNC41IC44LTkuMiAuMS0xMy42LTEuNS05LjQtOC45LTE1LjEtMTkuNy0xNi4zLTcuOS0uOS0xNS42IC4xLTIzLjMgMS4zLS45IC4xLTEuNyAuMy0yLjkgMCAxNS44LTE0LjggMzYtMjEuNyA1My4xLTMzLjUgNi00LjUgNi44LTguMiAzLTE0Ljl6bTEyOC40IDI2LjhjMy4zIDE2IDEyLjYgMjUuNSAyMy44IDI0LjMtNC42LTExLjMtMTIuMS0xOS41LTIzLjgtMjQuM3oiXX0sdHV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZ1ZWpzIixpY29uOls0NDgsNTEyLFtdLCJmNDFmIiwiTTM1Ni45IDY0LjNsLTc2LjkgMC01NiA4OC42LTQ4LTg4LjYtMTc2IDAgMjI0IDM4My43IDIyNC0zODMuNy05MS4xIDB6TTU1LjcgOTYuM2w1My44IDAgMTE0LjUgMTk4LjIgMTE0LjQtMTk4LjIgNTMuOCAwLTE2OC4yIDI4OC4yLTE2OC4zLTI4OC4yeiJdfSxhdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWV0YSIsaWNvbjpbNjQwLDUxMixbXSwiZTQ5YiIsIk02NDAgMzE3LjljMCA5MS4zLTM5LjQgMTQ4LjUtMTEwLjMgMTQ4LjUtNjIuNiAwLTk1LjgtMzQuNi0xNTYuOS0xMzYuNmwtMzEuNC01Mi42Yy04LjMtMTIuNS0xNC41LTI0LjItMjEuMi0zNS0yMC4xIDMzLjgtNDcuMSA4My00Ny4xIDgzLTY3IDExNi42LTEwNC42IDE0MS4yLTE1Ni45IDE0MS4yLTcyLjggMC0xMTYuMi01Ny4zLTExNi4yLTE0NS45IDAtMTQzIDc5LjgtMjc4LjEgMTgzLjktMjc4LjEgNTAuMiAwIDkzLjggMjQuNyAxNDQuOCA4OS41IDM3LjEtNTAuMSA3OC4xLTg5LjUgMTMwLjYtODkuNSA5OS4xIDAgMTgwLjcgMTI1LjcgMTgwLjcgMjc1LjV6TTI4Ny40IDE5Mi4yYy00Mi45LTYyLjEtNzAuOS04MC41LTEwNC40LTgwLjUtNjEuOSAwLTExMy44IDEwNi4xLTExMy44IDIxMCAwIDQ4LjUgMTguNSA3NS43IDQ5LjYgNzUuNyAzMC4yIDAgNDktMTkgMTAzLjItMTAzLjggMCAwIDI0LjctMzkuMSA2NS40LTEwMS40ek01MzEuMiAzOTcuNGMzMi4yIDAgNDYuOS0yNy41IDQ2LjktNzQuOSAwLTEyNC4yLTU0LjMtMjI1LjQtMTIzLjItMjI1LjQtMzMuMiAwLTYxLjEgMjUuOS05NC45IDc4IDkuNCAxMy44IDE5LjEgMjkgMjkuMyA0NS40bDM3LjUgNjIuNGM1OC43IDk0LjEgNzMuNSAxMTQuNSAxMDQuNCAxMTQuNXoiXX0scnV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtc2hhcmUiLGljb246WzUxMiw1MTIsW10sImY0ZjIiLCJNMjU1LjYgOEMzOTcuNCA4IDUwNCAxMTguMSA1MDQgMjU2IDUwNCA0MDMuMSAzODUuNSA1MDQgMjU1LjYgNTA0IDEyMS42IDUwNCA4IDM5NC41IDggMjU2IDggMTIzLjEgMTEyLjcgOCAyNTUuNiA4em0uOCA0NC43Yy0xMTguMiAwLTIwMy43IDk3LjktMjAzLjcgMjAzLjMgMCAxMDkuOCA5MS4yIDIwMi44IDIwMy43IDIwMi44IDEwMy4yIDAgMjAyLjgtODEuMSAyMDIuOC0yMDIuOCAuMS0xMTMuOC05MC4yLTIwMy4zLTIwMi44LTIwMy4zem0xMDEgMTMyLjRjNy44IDAgMTMuNyA2LjEgMTMuNyAxMy43bDAgMTgyLjVjMCA3LjctNi4xIDEzLjctMTMuNyAxMy43bC0xMzUuMSAwYy03LjcgMC0xMy43LTYtMTMuNy0xMy43bDAtNTQtNTQgMGMtNy44IDAtMTMuNy02LTEzLjctMTMuN2wwLTE4Mi41YzAtOC4yIDYuNi0xMi43IDEyLjQtMTMuN2wxMzYuNCAwYzcuNyAwIDEzLjcgNiAxMy43IDEzLjdsMCA1NCA1NCAwek0xNjcuOSAzMDAuM2w0MC43IDAgMC0xMDEuNGMwLTcuNCA1LjgtMTIuNiAxMi0xMy43bDU1LjggMCAwLTQwLjMtMTA4LjUgMCAwIDE1NS40em0xNzYuMi04OC4xbC0xMDguNSAwIDAgMTU1LjQgMTA4LjUgMCAwLTE1NS40eiJdfSxpdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3R1ZGlvdmluYXJpIixpY29uOls1MTIsNTEyLFtdLCJmM2Y4IiwiTTQ4MC43IDE4Ny43bDQuMiAyOCAwIDI4LTI1LjEgNDQuMS0zOS44IDc4LjQtNTYuMSA2Ny41LTc5LjEgMzcuOC0xNy43IDI0LjUtNy43IDEyLTkuNiA0czE3LjMtNjMuNiAxOS40LTYzLjYgMjAuMyAuNyAyMC4zIC43bDY2LjctMzguNi05Mi41IDI2LjEtNTUuOSAzNi44LTIyLjggMjgtNi42IDEuNCAyMC44LTczLjYgNi45LTUuNSAyMC43IDEyLjkgODguMy00NS4yIDU2LjgtNTEuNSAxNC44LTY4LjQtMTI1LjQgMjMuMyAxNS4yLTE4LjItMTczLjQtNTMuMyA4MS45LTEwLjUtMTY2LTEyMi45IDExNC45IDE4LjEtMTAxLjMtMTA4IDI1Mi45IDEyNi42LTMxLjUtMzggMTI0LjQgNzQuNC0xNDMuMy05OSAxOC43IDM4LjQtNDkuNi0xOC4xLTQ1LjUtODQuMyAxOTQuNiAxMjItNDIuOS01NS44IDEwOCA5Ni40IDEyLTguOS0yMS0xNi40IDQuMi0zNy44IDM3LjgtMTAuNCAyOS4yIDI0LjcgMTEuNSA0LjItNyA2LjIgOC41IDEyLTEzLjEgNy40LTEwLjMgMjAuMiAxMC41IDIzLjl6Il19LHN1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJiaXRidWNrZXQiLGljb246WzUxMiw1MTIsWzYxODEwXSwiZjE3MSIsIk0yMi4yIDMyYy0yLjEgMC00LjIgLjQtNi4xIDEuMXMtMy43IDEuOS01LjIgMy40LTIuNyAzLjItMy41IDUuMS0xLjMgNC0xLjMgNi4xYzAgLjkgLjEgMS45IC4yIDIuOEw3NC4xIDQ2Mi43Yy44IDUuMSAzLjQgOS43IDcuMyAxM3M4LjggNS4yIDE0IDUuMmwzMjUuNyAwYzMuOCAuMSA3LjUtMS4zIDEwLjUtMy43czQuOS01LjkgNS41LTkuN0w1MDUgNTAuN2MuNy00LjItLjMtOC40LTIuOC0xMS45cy02LjItNS43LTEwLjQtNi40Yy0uOS0uMS0xLjktLjItMi44LS4yTDIyLjIgMzJ6TTMwOC4xIDMyOS44bC0xMDQgMC0yOC4xLTE0NyAxNTcuMyAwLTI1LjIgMTQ3eiJdfSxvdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmsiLGljb246WzQ0OCw1MTIsW10sImYxODkiLCJNMzEuNSA2My41QzAgOTUgMCAxNDUuNyAwIDI0N0wwIDI2NUMwIDM2Ni4zIDAgNDE3IDMxLjUgNDQ4LjVTMTEzLjcgNDgwIDIxNSA0ODBsMTcuOSAwYzEwMS40IDAgMTUyLjEgMCAxODMuNS0zMS41UzQ0OCAzNjYuMyA0NDggMjY1bDAtMTcuOWMwLTEwMS40IDAtMTUyLjEtMzEuNS0xODMuNVMzMzQuMyAzMiAyMzMgMzJMMjE1IDMyQzExMy43IDMyIDYzIDMyIDMxLjUgNjMuNXpNNzUuNiAxNjguM2w1MS4xIDBjMS43IDg1LjUgMzkuNCAxMjEuNyA2OS4zIDEyOS4ybDAtMTI5LjIgNDguMiAwIDAgNzMuN2MyOS41LTMuMiA2MC41LTM2LjggNzAuOS03My43bDQ4LjIgMGMtMy45IDE5LjItMTEuOCAzNy4zLTIzLjEgNTMuM3MtMjUuNyAyOS41LTQyLjUgMzkuNmMxOC43IDkuMyAzNS4yIDIyLjQgNDguNCAzOC41czIyLjkgMzQuOSAyOC4zIDU1bC01MyAwYy00LjktMTcuNS0xNC44LTMzLjEtMjguNi00NXMtMzAuNy0xOS40LTQ4LjctMjEuNmwwIDY2LjYtNS44IDBjLTEwMi4xIDAtMTYwLjMtNzAtMTYyLjgtMTg2LjV6Il19LG51dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnaXRodWIiLGljb246WzUxMiw1MTIsW10sImYwOWIiLCJNMTczLjkgMzk3LjRjMCAyLTIuMyAzLjYtNS4yIDMuNi0zLjMgLjMtNS42LTEuMy01LjYtMy42IDAtMiAyLjMtMy42IDUuMi0zLjYgMy0uMyA1LjYgMS4zIDUuNiAzLjZ6bS0zMS4xLTQuNWMtLjcgMiAxLjMgNC4zIDQuMyA0LjkgMi42IDEgNS42IDAgNi4yLTJzLTEuMy00LjMtNC4zLTUuMmMtMi42LS43LTUuNSAuMy02LjIgMi4zem00NC4yLTEuN2MtMi45IC43LTQuOSAyLjYtNC42IDQuOSAuMyAyIDIuOSAzLjMgNS45IDIuNiAyLjktLjcgNC45LTIuNiA0LjYtNC42LS4zLTEuOS0zLTMuMi01LjktMi45ek0yNTIuOCA4Yy0xMzguNyAwLTI0NC44IDEwNS4zLTI0NC44IDI0NCAwIDExMC45IDY5LjggMjA1LjggMTY5LjUgMjM5LjIgMTIuOCAyLjMgMTcuMy01LjYgMTcuMy0xMi4xIDAtNi4yLS4zLTQwLjQtLjMtNjEuNCAwIDAtNzAgMTUtODQuNy0yOS44IDAgMC0xMS40LTI5LjEtMjcuOC0zNi42IDAgMC0yMi45LTE1LjcgMS42LTE1LjQgMCAwIDI0LjkgMiAzOC42IDI1LjggMjEuOSAzOC42IDU4LjYgMjcuNSA3Mi45IDIwLjkgMi4zLTE2IDguOC0yNy4xIDE2LTMzLjctNTUuOS02LjItMTEyLjMtMTQuMy0xMTIuMy0xMTAuNSAwLTI3LjUgNy42LTQxLjMgMjMuNi01OC45LTIuNi02LjUtMTEuMS0zMy4zIDIuNi02Ny45IDIwLjktNi41IDY5IDI3IDY5IDI3IDIwLTUuNiA0MS41LTguNSA2Mi44LTguNXM0Mi44IDIuOSA2Mi44IDguNWMwIDAgNDguMS0zMy42IDY5LTI3IDEzLjcgMzQuNyA1LjIgNjEuNCAyLjYgNjcuOSAxNiAxNy43IDI1LjggMzEuNSAyNS44IDU4LjkgMCA5Ni41LTU4LjkgMTA0LjItMTE0LjggMTEwLjUgOS4yIDcuOSAxNyAyMi45IDE3IDQ2LjQgMCAzMy43LS4zIDc1LjQtLjMgODMuNiAwIDYuNSA0LjYgMTQuNCAxNy4zIDEyLjEgMTAwLTMzLjIgMTY3LjgtMTI4LjEgMTY3LjgtMjM5IDAtMTM4LjctMTEyLjUtMjQ0LTI1MS4yLTI0NHpNMTA1LjIgMzUyLjljLTEuMyAxLTEgMy4zIC43IDUuMiAxLjYgMS42IDMuOSAyLjMgNS4yIDEgMS4zLTEgMS0zLjMtLjctNS4yLTEuNi0xLjYtMy45LTIuMy01LjItMXptLTEwLjgtOC4xYy0uNyAxLjMgLjMgMi45IDIuMyAzLjkgMS42IDEgMy42IC43IDQuMy0uNyAuNy0xLjMtLjMtMi45LTIuMy0zLjktMi0uNi0zLjYtLjMtNC4zIC43em0zMi40IDM1LjZjLTEuNiAxLjMtMSA0LjMgMS4zIDYuMiAyLjMgMi4zIDUuMiAyLjYgNi41IDEgMS4zLTEuMyAuNy00LjMtMS4zLTYuMi0yLjItMi4zLTUuMi0yLjYtNi41LTF6bS0xMS40LTE0LjdjLTEuNiAxLTEuNiAzLjYgMCA1LjlzNC4zIDMuMyA1LjYgMi4zYzEuNi0xLjMgMS42LTMuOSAwLTYuMi0xLjQtMi4zLTQtMy4zLTUuNi0yeiJdfSxsdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY29kaWVwaWUiLGljb246WzUxMiw1MTIsW10sImYyODQiLCJNNDQyLjUgMjAyLjljMzAuNyAwIDMzLjUgNTMuMS0uMyA1My4xbC0xMC44IDAgMCA0NC4zLTI2LjYgMCAwLTk3LjQgMzcuNyAwek00OTIgMzUyLjZDNDQ5LjkgNDQ0LjUgMzcwLjQgNTA0IDI2OCA1MDQgMTMxIDUwNCAyMCAzOTMgMjAgMjU2UzEzMSA4IDI2OCA4Yzk3LjQgMCAxNzIuOCA1My43IDIxOC4yIDEzOC40TDMwMC4yIDI1NS4yIDQ5MiAzNTIuNnptLTM4LjUgMTIuNWwtNjAuMy0zMC43Yy0yNy4xIDQ0LjMtNzAuNCA3MS40LTEyMi40IDcxLjQtODIuNSAwLTE0OS4yLTY2LjctMTQ5LjItMTQ4LjkgMC04Mi41IDY2LjctMTQ5LjIgMTQ5LjItMTQ5LjIgNDguNCAwIDg4LjkgMjMuNSAxMTYuOSA2My40bDU5LjUtMzQuNkM0MDYuNSA3My45IDM0Mi41IDM2LjUgMjY4IDM2LjUgMTQ2LjggMzYuNSA0OC41IDEzNC44IDQ4LjUgMjU2UzE0Ni44IDQ3NS41IDI2OCA0NzUuNWM3OC42IDAgMTQ2LjUtNDIuMSAxODUuNS0xMTAuNHoiXX0sY3V0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpZWQtcGlwZXIiLGljb246WzQ0OCw1MTIsW10sImYyYWUiLCJNNDQwLjIgMjMuMmMtMjYuNyA2LjgtNjguMSAyOC41LTExNC42IDY3LjUtMzAuOS0xNy41LTY1LjgtMjYuNy0xMDEuNC0yNi43LTExNC45IDAtMjA4IDkzLjEtMjA4IDIwOHM5My4xIDIwOCAyMDggMjA4IDIwOC05My4xIDIwOC0yMDhjLjEtNTQuMS0yMS0xMDYuMS01OC43LTE0NC44LTYuNiA4LjUtMTIuMyAxNy43LTE3IDI3LjQgMjguOSAzMi4zIDQ0LjggNzQuMSA0NC45IDExNy40IDAgOTcuNy03OS40IDE3Ny4xLTE3Ny4xIDE3Ny4xLTMwLjggMC02MS04LjEtODcuNi0yMy40IDgyLjktMTA3LjMgMTUwLjgtMzcuOCAxODQuMy0yMjYuNiA1LjgtMzIuNiAyOC05NC4zIDEyNi4yLTE2MC4yIDguMS01LjQgMi40LTE4LjEtNy0xNS43ek0xMDkuMyA0MDYuNEM4OS44IDM4OS44IDc0LjIgMzY5LjIgNjMuNSAzNDZzLTE2LjMtNDguNS0xNi4zLTc0YzAtOTcuNyA3OS40LTE3Ny4xIDE3Ny4xLTE3Ny4xIDI2LjYgMCA1Mi44IDYuMSA3Ni42IDE3LjgtNjYgNjIuMS0xMjYuOSAxNTIuOS0xOTEuNiAyOTMuOHoiXX0sZHV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJhc3BiZXJyeS1waSIsaWNvbjpbNDQ4LDUxMixbXSwiZjdiYiIsIk0zOTIuNSAyMzIuNWwtMy43LTYuNWMuMS00Ni40LTIxLjQtNjUuMy00Ni41LTc5LjcgNy42LTIgMTUuNC0zLjYgMTcuNi0xMy4yIDEzLjEtMy4zIDE1LjgtOS40IDE3LjEtMTUuOCAzLjQtMi4zIDE0LjgtOC43IDEzLjYtMTkuNyA2LjQtNC40IDEwLTEwLjEgOC4xLTE4LjEgNi45LTcuNSA4LjctMTMuNyA1LjgtMTkuNCA4LjMtMTAuMyA0LjYtMTUuNiAxLjEtMjAuOSA2LjItMTEuMiAuNy0yMy4yLTE2LjYtMjEuMi02LjktMTAuMS0yMS45LTcuOC0yNC4yLTcuOC0yLjYtMy4yLTYtNi0xNi41LTQuNy02LjgtNi4xLTE0LjQtNS0yMi4zLTIuMS05LjMtNy4zLTE1LjUtMS40LTIyLjYgLjgtMTEuMy0zLjYtMTMuOSAxLjMtMTkuNCAzLjQtMTIuMy0yLjYtMTYuMSAzLTIyIDguOWwtNi45LS4xYy0xOC42IDEwLjgtMjcuOCAzMi44LTMxLjEgNDQuMS0zLjMtMTEuMy0xMi41LTMzLjMtMzEuMS00NC4xbC02LjkgLjFjLTUuOS01LjktOS43LTExLjUtMjItOC45LTUuNi0yLTguMS03LTE5LjQtMy40LTQuNi0xLjQtOC45LTQuNC0xMy45LTQuMy0yLjYgLjEtNS41IDEtOC43IDMuNS03LjktMy0xNS41LTQtMjIuMyAyLjEtMTAuNS0xLjMtMTQgMS40LTE2LjUgNC43LTIuMyAwLTE3LjMtMi4zLTI0LjIgNy44LTE3LjMtMi0yMi43IDEwLTE2LjUgMjEuMi0zLjUgNS40LTcuMiAxMC43IDEuMSAyMC45LTIuOSA1LjctMS4xIDExLjkgNS44IDE5LjQtMS44IDggMS44IDEzLjcgOC4xIDE4LjEtMS4yIDExIDEwLjIgMTcuNCAxMy42IDE5LjcgMS4zIDYuNCA0IDEyLjQgMTcuMSAxNS44IDIuMiA5LjUgMTAgMTEuMiAxNy42IDEzLjItMjUuMSAxNC40LTQ2LjYgMzMuMy00Ni41IDc5LjdsLTMuNyA2LjVjLTI4LjggMTcuMi01NC43IDcyLjctMTQuMiAxMTcuNyAyLjYgMTQuMSA3LjEgMjQuMiAxMSAzNS40IDUuOSA0NS4yIDQ0LjUgNjYuMyA1NC42IDY4LjggMTQuOSAxMS4yIDMwLjggMjEuOCA1Mi4yIDI5LjIgMjAuMyAyMC42IDQyLjMgMjguNCA2NC4zIDI4LjRsMSAwYzIyLjEgMCA0NC03LjggNjQuMi0yOC40IDIxLjUtNy40IDM3LjMtMTggNTIuMi0yOS4yIDEwLjItMi41IDQ4LjctMjMuNiA1NC42LTY4LjggMy45LTExLjIgOC40LTIxLjMgMTEtMzUuNCA0MC42LTQ1LjEgMTQuNy0xMDAuNS0xNC0xMTcuN3ptLTIyLjItOGMtMS41IDE4LjctOTguOS02NS4xLTgyLjEtNjcuOSA0NS43LTcuNSA4My42IDE5LjIgODIuMSA2Ny45em0tNDMgOTMuMWMtMjQuNSAxNS44LTU5LjggNS42LTc4LjgtMjIuOHMtMTQuNi02NC4yIDkuOS04MCA1OS44LTUuNiA3OC44IDIyLjggMTQuNiA2NC4yLTkuOSA4MHpNMjU5LjQgMjkuM2MuOCA0LjIgMS44IDYuOCAyLjkgNy42IDUuNC01LjggOS44LTExLjcgMTYuOC0xNy4zIDAgMy4zLTEuNyA2LjggMi41IDkuNCAzLjctNSA4LjgtOS41IDE1LjUtMTMuMy0zLjIgNS42LS42IDcuMyAxLjIgOS42IDUuMS00LjQgMTAtOC44IDE5LjQtMTIuMy0yLjYgMy4xLTYuMiA2LjItMi40IDkuOCA1LjMtMy4zIDEwLjYtNi42IDIzLjEtOC45LTIuOCAzLjEtOC43IDYuMy01LjEgOS40IDYuNi0yLjUgMTQtNC40IDIyLjEtNS40LTMuOSAzLjItNy4xIDYuMy0zLjkgOC44IDcuMS0yLjIgMTYuOS01LjEgMjYuNC0yLjZsLTYgNi4xYy0uNyAuOCAxNC4xIC42IDIzLjkgLjgtMy42IDUtNy4yIDkuNy05LjMgMTguMiAxIDEgNS44IC40IDEwLjQgMC00LjcgOS45LTEyLjggMTIuMy0xNC43IDE2LjYgMi45IDIuMiA2LjggMS42IDExLjIgLjEtMy40IDYuOS0xMC40IDExLjctMTYgMTcuMyAxLjQgMSAzLjkgMS42IDkuNyAuOS01LjIgNS41LTExLjQgMTAuNS0xOC44IDE1IDEuMyAxLjUgNS44IDEuNSAxMCAxLjYtNi43IDYuNS0xNS4zIDkuOS0yMy40IDE0LjIgNCAyLjcgNi45IDIuMSAxMCAyLjEtNS43IDQuNy0xNS40IDcuMS0yNC40IDEwIDEuNyAyLjcgMy40IDMuNCA3LjEgNC4xLTkuNSA1LjMtMjMuMiAyLjktMjcgNS42IC45IDIuNyAzLjYgNC40IDYuNyA1LjgtMTUuNCAuOS01Ny4zLS42LTY1LjQtMzIuMyAxNS43LTE3LjMgNDQuNC0zNy41IDkzLjctNjIuNi0zOC40IDEyLjgtNzMgMzAtMTAyIDUzLjUtMzQuMy0xNS45LTEwLjgtNTUuOSA1LjgtNzEuOHpNMjI1IDE0My45YzI0LjItLjMgNTQuMSAxNy44IDU0IDM0LjctLjEgMTUtMjEgMjcuMS01My44IDI2LjktMzIuMS0uNC01My43LTE1LjItNTMuNi0yOS44IDAtMTEuOSAyNi4yLTMyLjUgNTMuNC0zMS44ek0xMDIgMTMxLjFjMy43LS43IDUuNC0xLjUgNy4xLTQuMS05LTIuOC0xOC43LTUuMy0yNC40LTEwIDMuMSAwIDYgLjcgMTAtMi4xLTguMS00LjMtMTYuNy03LjctMjMuNC0xNC4yIDQuMi0uMSA4LjcgMCAxMC0xLjYtNy40LTQuNS0xMy42LTkuNS0xOC44LTE1IDUuOCAuNyA4LjMgLjEgOS43LS45LTUuNi01LjYtMTIuNy0xMC40LTE2LTE3LjMgNC4zIDEuNSA4LjMgMiAxMS4yLS4xLTEuOS00LjItMTAtNi43LTE0LjctMTYuNiA0LjYgLjQgOS40IDEgMTAuNCAwLTIuMS04LjUtNS44LTEzLjMtOS4zLTE4LjIgOS44LS4xIDI0LjYgMCAyMy45LS44bC02LTYuMWM5LjUtMi41IDE5LjMgLjQgMjYuNCAyLjYgMy4yLTIuNS0uMS01LjYtMy45LTguOCA4LjEgMS4xIDE1LjQgMi45IDIyLjEgNS40IDMuNS0zLjEtMi4zLTYuMy01LjEtOS40IDEyLjUgMi4zIDE3LjggNS42IDIzLjEgOC45IDMuOC0zLjYgLjItNi43LTIuNC05LjggOS40IDMuNCAxNC4zIDcuOSAxOS40IDEyLjMgMS43LTIuMyA0LjQtNCAxLjItOS42IDYuNyAzLjggMTEuOCA4LjMgMTUuNSAxMy4zIDQuMS0yLjYgMi41LTYuMiAyLjUtOS40IDcgNS42IDExLjQgMTEuNSAxNi44IDE3LjMgMS4xLS44IDItMy40IDIuOS03LjYgMTYuNiAxNS45IDQwLjEgNTUuOSA2IDcxLjgtMjktMjMuNS02My42LTQwLjctMTAyLTUzLjUgNDkuMyAyNSA3OCA0NS4zIDkzLjcgNjIuNi04IDMxLjgtNTAgMzMuMi02NS40IDMyLjMgMy4xLTEuNCA1LjgtMy4yIDYuNy01LjgtNC0yLjgtMTcuNi0uNC0yNy4yLTUuNnptNjAuMSAyNC4xYzE2LjggMi44LTgwLjYgODYuNS04Mi4xIDY3LjktMS41LTQ4LjcgMzYuNS03NS41IDgyLjEtNjcuOXpNNTguNyAzNDJjLTIzLjctMTguOC0zMS4zLTczLjcgMTIuNi05OC4zIDI2LjUtNyA5IDEwNy44LTEyLjYgOTguM3ptOTEgOTguMmMtMTMuMyA3LjktNDUuOCA0LjctNjguOC0yNy45LTE1LjUtMjcuNC0xMy41LTU1LjItMi42LTYzLjQgMTYuMy05LjggNDEuNSAzLjQgNjAuOSAyNS42IDE2LjkgMjAgMjQuNiA1NS4zIDEwLjUgNjUuN3pNMTIzLjMgMzIwLjVjLTI0LjUtMTUuOC0yOC45LTUxLjYtOS45LTgwczU0LjMtMzguNiA3OC44LTIyLjggMjguOSA1MS42IDkuOSA4MGMtMTkuMSAyOC40LTU0LjQgMzguNi03OC44IDIyLjh6TTIyNS41IDQ5NmMtMjkuNCAxLjItNTguMi0yMy43LTU3LjgtMzIuMy0uNC0xMi43IDM1LjgtMjIuNiA1OS4zLTIyIDIzLjctMSA1NS42IDcuNSA1NS43IDE4LjkgLjUgMTEtMjguOCAzNS45LTU3LjIgMzUuNHptNTguOS0xMjQuOWMuMiAyOS43LTI2LjIgNTMuOC01OC44IDU0cy01OS4yLTIzLjgtNTkuNC01My40bDAtLjZjLS4yLTI5LjcgMjYuMi01My44IDU4LjgtNTRzNTkuMiAyMy44IDU5LjQgNTMuNGwwIC42em04Mi4yIDQyLjdjLTI1LjMgMzQuNi01OS42IDM1LjktNzIuMyAyNi4zLTEzLjMtMTIuNC0zLjItNTAuOSAxNS4xLTcyIDIwLjktMjMuMyA0My4zLTM4LjUgNTguOS0yNi42IDEwLjUgMTAuMyAxNi43IDQ5LjEtMS43IDcyLjN6bTIyLjktNzMuMmMtMjEuNSA5LjQtMzktMTA1LjMtMTIuNi05OC4zIDQzLjkgMjQuNyAzNi4zIDc5LjYgMTIuNiA5OC4zeiJdfSxwdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3NzMyIsaWNvbjpbNTEyLDUxMixbXSwiZjEzYyIsIk00ODAgMzJsLTY0IDM2OC0yMjMuMyA4MC0xOTIuNy04MCAxOS42LTk0LjggODIgMC04IDQwLjYgMTE2LjQgNDQuNCAxMzQuMS00NC40IDE4LjgtOTcuMS0zMzMuNCAwIDE2LTgyIDMzMy43IDAgMTAuNS01Mi43LTMzMy40IDAgMTYuMy04MiA0MDcuNCAweiJdfSx1dXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaHVic3BvdCIsaWNvbjpbNDQ4LDUxMixbXSwiZjNiMiIsIk0yMzUuOCAyMTEuNmMtMjUuMSAyMy43LTQwLjggNTcuMy00MC44IDk0LjYgMCAyOS4zIDkuNyA1Ni4zIDI2IDc4TDE3MS41IDQzNGMtNC40LTEuNi05LjEtMi41LTE0LTIuNS0xMC44IDAtMjAuOSA0LjItMjguNSAxMS44cy0xMS44IDE3LjgtMTEuOCAyOC42IDQuMiAyMC45IDExLjggMjguNSAxNy44IDExLjYgMjguNSAxMS42YzEwLjggMCAyMC45LTMuOSAyOC42LTExLjYgNy42LTcuNiAxMS44LTE3LjggMTEuOC0yOC41IDAtNC4yLS42LTguMi0xLjktMTIuMWw1MC01MC4yYzIyIDE2LjkgNDkuNCAyNi45IDc5LjMgMjYuOSA3MS45IDAgMTMwLTU4LjMgMTMwLTEzMC4yIDAtNjUuMi00Ny43LTExOS4yLTExMC4yLTEyOC43bDAtNjEuNmMxNy41LTcuNCAyOC4yLTIzLjggMjguMi00Mi45IDAtMjYuMS0yMC45LTQ3LjktNDctNDcuOVMyNzkuNiA0NyAyNzkuNiA3My4xYzAgMTkuMSAxMC43IDM1LjUgMjguMiA0Mi45bDAgNjEuMmMtMTUuMiAyLjEtMjkuNiA2LjctNDIuNyAxMy42LTI3LjYtMjAuOS0xMTcuNS04NS43LTE2OC45LTEyNC44IDEuMi00LjQgMi05IDItMTMuOCAwLTI4LjgtMjMuNS01Mi4yLTUyLjQtNTIuMi0yOC44IDAtNTIuMiAyMy40LTUyLjIgNTIuMiAwIDI4LjkgMjMuNCA1Mi4zIDUyLjIgNTIuMyA5LjggMCAxOC45LTIuOSAyNi44LTcuNkwyMzUuOCAyMTEuNnptODkuNSAyNS42YTY5IDY5IDAgMSAxIDAgMTM4IDY5IDY5IDAgMSAxIDAtMTM4eiJdfSxmdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY21wbGlkIixpY29uOls2NDAsNTEyLFtdLCJlMzYwIiwiTTIyNi4xIDM4OC4yYzAtLjctLjItMS41LS42LTIuMXMtMS0xLjEtMS43LTEuNGMtLjUtLjItMS4xLS40LTEuNi0uNGwtMTQ5LjYgMGMtMy4xIDAtNi4yLS44LTguOS0yLjJzLTUuMS0zLjUtNi45LTYuMS0yLjktNS41LTMuMy04LjYgMC02LjIgMS4xLTkuMUw4MS42IDI1NS43YzItNy4yIDYuMi0xMy41IDEyLTE4LjJzMTIuOS03LjQgMjAuNC03LjhsMTQ4LjYgMGMxLjUtLjEgMi45LS42IDQtMS42czItMi4yIDIuNC0zLjZsMTAuOC00MS4xYy40LTEgLjMtMi0uMS0yLjlzLTEuMi0xLjYtMi4xLTJjLS40LS4yLS45LS4zLTEuNC0uMy0uMSAwLS4xIDAtLjIgMGwtMTQ4LjUgMGMtMjIuMiAxLjItNDMuNCA5LjItNjAuOCAyM3MtMzAgMzIuNy0zNi4yIDU0LjFMMy41IDM1OC44Yy0zLjIgOC43LTQuMiAxOC0zIDI3LjFzNC42IDE3LjkgOS45IDI1LjUgMTIuMyAxMy44IDIwLjUgMTggMTcuMyA2LjUgMjYuNSA2LjZjMSAwIDEuOSAwIDIuOS0uMWwxNDguNiAwYzEuNS0uMSAyLjktLjcgNC0xLjZzMi0yLjIgMi40LTMuNmwxMC43LTQxLjFjLjItLjUgLjMtLjkgLjMtMS40em04MC41LTMwN2MuMi0uNCAuMy0uOSAuMy0xLjQgMC0uNS0uMS0xLS4zLTEuNXMtLjUtLjktLjgtMS4yLS44LS42LTEuMi0uOC0xLS4zLTEuNS0uM2wtNDEuMiAwYy0xLjUgLjEtMi45IC42LTQgMS42cy0yIDIuMi0yLjQgMy42bC0yMS4zIDgwLjkgNTEuMSAwIDIxLjQtODAuOXptLTEyNi4zIDI4N2w1MS4xIDAgMzItMTIyLjYtNTEuMSAwLTMyIDEyMi42ek01MTEuOSA3OS43YzAtMS0uNS0xLjktMS4yLTIuNnMtMS43LTEuMS0yLjYtMS4xYy0uMSAwLS4xIDAtLjIgMGwtNDEgMGMtMS41IC4xLTIuOSAuNi00LjEgMS41cy0yIDIuMi0yLjUgMy42TDM2OC45IDQzMC42Yy0uMiAuNC0uMyAuOS0uMyAxLjMgMCAxIC40IDIgMS4xIDIuN3MxLjcgMS4xIDIuNyAxLjFsNDEuMiAwYzEuNS0uMSAyLjktLjYgNC0xLjZzMi0yLjIgMi40LTMuNkw1MTEuNSA4MS4yYy4yLS41IC4zLTEgLjMtMS41ek0zMjQuNiAzODQuNWwtNDEgMGMtMS41IC4xLTIuOSAuNy00IDEuNnMtMiAyLjItMi40IDMuNmwtMTAuNyA0MS4xYy0uMiAuNC0uMyAuOS0uMyAxLjQgMCAuNSAuMSAxIC4zIDEuNXMuNSAuOSAuOCAxLjIgLjggLjYgMS4yIC44IDEgLjMgMS41IC4zYy4xIDAgLjIgMCAuMyAwbDQwLjkgMGMxLjUtLjEgMi45LS42IDQtMS42czItMi4yIDIuNC0zLjZsMTAuOC00MS4xYy4yLS42IC4zLTEuMiAuMy0xLjhzLS4zLTEuMi0uNi0xLjctLjgtLjktMS4zLTEuMi0xLjItLjQtMS44LS40Yy0uMSAwLS4yIDAtLjMgMGwwIDB6TTYzNiA3Ni4xbC00MSAwYy0xLjUgLjEtMi45IC42LTQgMS41cy0yIDIuMi0yLjQgMy42TDQ5Ny4xIDQzMC42Yy0uMiAuNC0uMiAuOS0uMiAxLjMgMCAxIC40IDIgMS4xIDIuN3MxLjcgMS4xIDIuNyAxLjFsNDEuMSAwYzEuNS0uMSAyLjktLjYgNC0xLjZzMi0yLjIgMi40LTMuNkw2MzkuNyA4MS4yYy4yLS41IC4zLTEgLjMtMS41LS4xLTEtLjUtMS45LTEuMi0yLjVzLTEuNi0xLTIuNi0xYy0uMSAwLS4xIDAtLjIgMGwwLS4xek0zNzEuNiAyMjUuMmwxMC44LTQxLjFjLjItLjQgLjItLjkgLjItMS40IDAtMS0uNC0yLTEuMS0yLjdzLTEuNy0xLjEtMi43LTEuMWwtNDEuMyAwYy0xLjUgLjEtMi45IC43LTQgMS42cy0yIDIuMi0yLjQgMy42bC0xMC44IDQxLjFjLS4yIC41LS4zIDEtLjMgMS41bDAgLjJjLjEgMSAuNSAxLjggMS4yIDIuNXMxLjYgMSAyLjYgMWMuMSAwIC4yIDAgLjMgMGw0MS4xIDBjMS41LS4xIDIuOS0uNiA0LTEuNnMyLTIuMiAyLjQtMy42eiJdfSxodXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZHlhbG9nIixpY29uOls0NDgsNTEyLFtdLCJmMzk5IiwiTTE2IDMybDAgMTE5LjIgNjQgMCAwLTU1LjIgMTA3LjIgMEMzMDAuNiA5NiAzNjggMTc2LjIgMzY4IDI1NS45IDM2OCAzMzIgMzA5LjQgNDE2IDE4Ny4yIDQxNmwtMTcxLjIgMCAwIDY0IDE3MS4yIDBDMzQ3LjkgNDgwIDQzMiAzNjcuMyA0MzIgMjU1LjkgNDMyIDE5Ny4yIDQwOS45IDE0Mi41IDM2OS43IDEwMS42IDMyNC45IDU2IDI2MS43IDMyIDE4Ny4yIDMyTDE2IDMyeiJdfSxtdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZWxlbWVudG9yIixpY29uOls1MTIsNTEyLFtdLCJmNDMwIiwiTS41IDI1NmMwIDE0MSAxMTMuNiAyNTUgMjU0LjYgMjU1IDE0MiAwIDI1Ni0xMTQgMjU2LTI1NSAwLTE0MC0xMTQtMjUzLjktMjU2LTI1My45LTE0MSAwLTI1NC42IDExMy45LTI1NC42IDI1My45ek0xOTIuMSAxNTBsMCAyMTMtNDMgMCAwLTIxMyA0MyAwem00MiAwbDEyOCAwIDAgNDMtMTI4IDAgMC00M3ptMTI4IDg1bDAgNDMtMTI4IDAgMC00MyAxMjggMHptLTEyOCA4NWwxMjggMCAwIDQzLTEyOCAwIDAtNDN6Il19LGd1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmaXJzdC1vcmRlciIsaWNvbjpbNDQ4LDUxMixbXSwiZjJiMCIsIk0xMy4zIDIyOS4yYy4xLS4xIC4yLS4zIC4zLS40IDAgLjEgMCAuMy0uMSAuNGwtLjIgMHpNMjI0LjQgOTYuNmMtNy4xIDAtMTQuNiAuNi0yMS40IDEuN2wzLjcgNjcuNC0yMi02NGMtMTQuMyAzLjctMjcuNyA5LjQtNDAgMTYuNmwyOS40IDYxLjQtNDUuMS01MC45Yy0xMS40IDguOS0yMS43IDE5LjEtMzAuNiAzMC45bDUwLjYgNDUuNC02MS4xLTI5LjdjLTcuMSAxMi4zLTEyLjkgMjUuNy0xNi42IDQwbDY0LjMgMjIuNi02OC00Yy0uOSA3LjEtMS40IDE0LjYtMS40IDIycy42IDE0LjYgMS40IDIxLjdsNjcuNy00LTY0IDIyLjZjMy43IDE0LjMgOS40IDI3LjcgMTYuNiA0MC4zTDE0OSAzMDYuOSA5OC4xIDM1MmM4LjkgMTEuNyAxOS4xIDIyLjMgMzAuOSAzMC45bDQ0LjktNTAuOS0yOS41IDYxLjRjMTIuMyA3LjQgMjUuNyAxMy4xIDQwIDE2LjlsMjIuMy02NC42LTQgNjhjNy4xIDEuMSAxNC42IDEuNyAyMS43IDEuNyA3LjQgMCAxNC42LS42IDIxLjctMS43bC00LTY4LjYgMjIuNiA2NS4xYzE0LjMtNCAyNy43LTkuNCA0MC0xNi45bC0yOS40LTYxLjMgNDQuOSA1MC45YzExLjctOC45IDIyLTE5LjEgMzAuNi0zMC45bC01MC42LTQ1LjEgNjEuMSAyOS40YzcuMS0xMi4zIDEyLjktMjUuNyAxNi42LTQwLjNsLTY0LTIyLjMgNjcuNCA0YzEuMS03LjEgMS40LTE0LjMgMS40LTIxLjdzLS4zLTE0LjktMS40LTIybC02Ny43IDQgNjQtMjIuM2MtMy43LTE0LjMtOS4xLTI4LTE2LjYtNDAuM2wtNjAuOSAyOS43IDUwLjYtNDUuNGMtOC45LTExLjctMTkuMS0yMi0zMC42LTMwLjlsLTQ1LjEgNTAuOSAyOS40LTYxLjFjLTEyLjMtNy40LTI1LjctMTMuMS00MC0xNi45bC0yMi4zIDY0LjMgNC02Ny43Yy03LjEtMS4yLTE0LjMtMS43LTIxLjctMS43ek00NDMuOCAxMjhMNDQzLjggMzg0IDIyNC40IDUxMiA1IDM4NCA1IDEyOCAyMjQuNCAwIDQ0My44IDEyOHptLTE3LjEgMTAuM2wtMjAyLjMtMTE3LjQtMjAyLjMgMTE3LjQgMCAyMzUuMSAyMDIuMyAxMTcuNyAyMDIuMy0xMTcuNyAwLTIzNS4xek0yMjQuNCAzNy4xbDE4Ny43IDEwOS40IDAgMjE4LjktMTg3LjcgMTA5LjUtMTg3LjctMTA5LjUgMC0yMTguOCAxODcuNy0xMDkuNXptMCA1MC45Yy05Mi4zIDAtMTY2LjkgNzUuMS0xNjYuOSAxNjggMCA5Mi42IDc0LjYgMTY3LjcgMTY2LjkgMTY3LjcgOTIgMCAxNjYuOS03NS4xIDE2Ni45LTE2Ny43IDAtOTIuOS03NC45LTE2OC0xNjYuOS0xNjh6Il19LGJ1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkcmliYmJsZSIsaWNvbjpbNTEyLDUxMixbXSwiZjE3ZCIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTQyMCAxMjIuNGMyOS41IDM2IDQ3LjQgODIgNDcuOCAxMzItNy0xLjUtNzctMTUuNy0xNDcuNS02LjgtNS44LTE0LTExLjItMjYuNC0xOC42LTQxLjYgNzguMy0zMiAxMTMuOC03Ny41IDExOC4zLTgzLjV6TTM5Ni40IDk3LjljLTMuOCA1LjQtMzUuNyA0OC4zLTExMSA3Ni41LTM0LjctNjMuOC03My4yLTExNi4yLTc5LTEyNCA2Ny4yLTE2LjIgMTM4IDEuMyAxOTAuMSA0Ny41ek0xNjUuOSA2NC42YzUuNiA3LjcgNDMuNCA2MC4xIDc4LjUgMTIyLjUtOTkuMSAyNi4zLTE4Ni40IDI1LjktMTk1LjggMjUuOCAxMy43LTY1LjcgNTgtMTIwLjQgMTE3LjMtMTQ4LjN6TTQ0LjIgMjU2LjNjMC0yLjIgMC00LjMgLjEtNi41IDkuMyAuMiAxMTEuOSAxLjUgMjE3LjctMzAuMSA2LjEgMTEuOSAxMS45IDIzLjkgMTcuMiAzNS45LTc2LjYgMjEuNi0xNDYuMiA4My41LTE4MC41IDE0Mi4zLTMzLjgtMzcuNi01NC41LTg3LjItNTQuNS0xNDEuNnpNMTI2IDQyMy40YzIyLjEtNDUuMiA4Mi4yLTEwMy42IDE2Ny42LTEzMi44IDI5LjcgNzcuMyA0MiAxNDIuMSA0NS4yIDE2MC42LTY4LjEgMjktMTUwIDIxLjEtMjEyLjgtMjcuOXptMjQ4LjQgOC41Yy0yLjItMTIuOS0xMy40LTc0LjktNDEuMi0xNTEgNjYuNC0xMC42IDEyNC43IDYuOCAxMzEuOSA5LjEtOS40IDU4LjktNDMuMyAxMDkuOC05MC44IDE0MnoiXX0sREc9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGlua2VkaW4iLGljb246WzQ0OCw1MTIsW10sImYwOGMiLCJNNDE2IDMyTDMxLjkgMzJDMTQuMyAzMiAwIDQ2LjUgMCA2NC4zTDAgNDQ3LjdDMCA0NjUuNSAxNC4zIDQ4MCAzMS45IDQ4MEw0MTYgNDgwYzE3LjYgMCAzMi0xNC41IDMyLTMyLjNsMC0zODMuNEM0NDggNDYuNSA0MzMuNiAzMiA0MTYgMzJ6TTEzNS40IDQxNmwtNjYuNCAwIDAtMjEzLjggNjYuNSAwIDAgMjEzLjgtLjEgMHpNMTAyLjIgOTZhMzguNSAzOC41IDAgMSAxIDAgNzcgMzguNSAzOC41IDAgMSAxIDAtNzd6TTM4NC4zIDQxNmwtNjYuNCAwIDAtMTA0YzAtMjQuOC0uNS01Ni43LTM0LjUtNTYuNy0zNC42IDAtMzkuOSAyNy0zOS45IDU0LjlsMCAxMDUuOC02Ni40IDAgMC0yMTMuOCA2My43IDAgMCAyOS4yIC45IDBjOC45LTE2LjggMzAuNi0zNC41IDYyLjktMzQuNSA2Ny4yIDAgNzkuNyA0NC4zIDc5LjcgMTAxLjlsMCAxMTcuMnoiXX0sdnV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLXBheXBhbCIsaWNvbjpbNTc2LDUxMixbXSwiZjFmNCIsIk0xODYuMyAyNTguMmMwIDEyLjItOS43IDIxLjUtMjIgMjEuNS05LjIgMC0xNi01LjItMTYtMTUgMC0xMi4yIDkuNS0yMiAyMS43LTIyIDkuMyAwIDE2LjMgNS43IDE2LjMgMTUuNXpNODAuNSAyMDkuN2wtNC43IDBjLTEuNSAwLTMgMS0zLjIgMi43bC00LjMgMjYuNyA4LjItLjNjMTEgMCAxOS41LTEuNSAyMS41LTE0LjIgMi4zLTEzLjQtNi4yLTE0LjktMTcuNS0xNC45em0yODQgMGwtNC41IDBjLTEuOCAwLTMgMS0zLjIgMi43bC00LjIgMjYuNyA4LS4zYzEzIDAgMjItMyAyMi0xOC0uMS0xMC42LTkuNi0xMS4xLTE4LjEtMTEuMXpNNTc2IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmw0ODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTI4LjMgMjE1LjRjMC0yMS0xNi4yLTI4LTM0LjctMjhsLTQwIDBjLTIuNSAwLTUgMi01LjIgNC43TDMyIDI5NC4yYy0uMyAyIDEuMiA0IDMuMiA0bDE5IDBjMi43IDAgNS4yLTIuOSA1LjUtNS43bDQuNS0yNi42YzEtNy4yIDEzLjItNC43IDE4LTQuNyAyOC42IDAgNDYuMS0xNyA0Ni4xLTQ1Ljh6bTg0LjIgOC44bC0xOSAwYy0zLjggMC00IDUuNS00LjIgOC4yLTUuOC04LjUtMTQuMi0xMC0yMy43LTEwLTI0LjUgMC00My4yIDIxLjUtNDMuMiA0NS4yIDAgMTkuNSAxMi4yIDMyLjIgMzEuNyAzMi4yIDkgMCAyMC4yLTQuOSAyNi41LTExLjktLjUgMS41LTEgNC43LTEgNi4yIDAgMi4zIDEgNCAzLjIgNGwxNy4yIDBjMi43IDAgNS0yLjkgNS41LTUuN2wxMC4yLTY0LjNjLjMtMS45LTEuMi0zLjktMy4yLTMuOXpNMjUzIDMyMi4xbDYzLjctOTIuNmMuNS0uNSAuNS0xIC41LTEuNyAwLTEuNy0xLjUtMy41LTMuMi0zLjVsLTE5LjIgMGMtMS43IDAtMy41IDEtNC41IDIuNWwtMjYuNSAzOS0xMS0zNy41Yy0uOC0yLjItMy00LTUuNS00bC0xOC43IDBjLTEuNyAwLTMuMiAxLjgtMy4yIDMuNSAwIDEuMiAxOS41IDU2LjggMjEuMiA2Mi4xLTIuNyAzLjgtMjAuNSAyOC42LTIwLjUgMzEuNiAwIDEuOCAxLjUgMy4yIDMuMiAzLjJsMTkuMiAwYzEuOC0uMSAzLjUtMS4xIDQuNS0yLjZ6TTQxMi4zIDIxNS40YzAtMjEtMTYuMi0yOC0zNC43LTI4bC0zOS43IDBjLTIuNyAwLTUuMiAyLTUuNSA0LjdsLTE2LjIgMTAyYy0uMiAyIDEuMyA0IDMuMiA0bDIwLjUgMGMyIDAgMy41LTEuNSA0LTMuMmw0LjUtMjljMS03LjIgMTMuMi00LjcgMTgtNC43IDI4LjQgMCA0NS45LTE3IDQ1LjktNDUuOHptODQuMiA4LjhsLTE5IDBjLTMuOCAwLTQgNS41LTQuMyA4LjItNS41LTguNS0xNC0xMC0yMy43LTEwLTI0LjUgMC00My4yIDIxLjUtNDMuMiA0NS4yIDAgMTkuNSAxMi4yIDMyLjIgMzEuNyAzMi4yIDkuMyAwIDIwLjUtNC45IDI2LjUtMTEuOS0uMyAxLjUtMSA0LjctMSA2LjIgMCAyLjMgMSA0IDMuMiA0bDE3LjMgMGMyLjcgMCA1LTIuOSA1LjUtNS43bDEwLjItNjQuM2MuMy0xLjktMS4yLTMuOS0zLjItMy45ek01NDQgMTkwLjljMC0yLTEuNS0zLjUtMy4yLTMuNWwtMTguNSAwYy0xLjUgMC0zIDEuMi0zLjIgMi43bC0xNi4yIDEwNC0uMyAuNWMwIDEuOCAxLjUgMy41IDMuNSAzLjVsMTYuNSAwYzIuNSAwIDUtMi45IDUuMi01LjdsMTYuMi0xMDEuMiAwLS4zem0tOTAgNTEuOGMtMTIuMiAwLTIxLjcgOS43LTIxLjcgMjIgMCA5LjcgNyAxNSAxNi4yIDE1IDEyIDAgMjEuNy05LjIgMjEuNy0yMS41IC4xLTkuOC02LjktMTUuNS0xNi4yLTE1LjV6Il19LHh1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkaGwiLGljb246WzY0MCw1MTIsW10sImY3OTAiLCJNMjM4IDMwMS4ybDU4LjcgMCAyMi4zLTMwLjItNTguNyAwLTIyLjMgMzAuMnpNMCAyODIuOWwwIDYuNCA4MS44IDAgNC43LTYuNC04Ni41IDB6TTE3Mi45IDI3MWMtOC43IDAtNi0zLjYtNC42LTUuNSAyLjgtMy44IDcuNi0xMC40IDEwLjQtMTQuMXMyLjgtNS45LTIuOC01LjlsLTUxIDAtNDEuMSA1NS44IDEwMC4xIDBjMzMuMSAwIDUxLjUtMjIuNSA1Ny4yLTMwLjNsLTY4LjIgMHptMzE3LjUtNi45bDM5LjMtNTMuNC02Mi4yIDAtMzkuMyA1My40IDYyLjIgMHpNOTUuMyAyNzFsLTk1LjMgMCAwIDYuNCA5MC42IDAgNC43LTYuNHptMTExLTI2LjZjLTIuOCAzLjgtNy41IDEwLjQtMTAuMyAxNC4yLTEuNCAyLTQuMSA1LjUgNC42IDUuNWw0NS42IDBzNy4zLTEwIDEzLjUtMTguNGM4LjQtMTEuNCAuNy0zNS0yOS4yLTM1bC0xMTcuOSAwLTIwLjQgMjcuOCAxMTEuNCAwYzUuNiAwIDUuNSAyLjIgMi43IDUuOXpNMCAzMDEuMmw3My4xIDAgNC43LTYuNC03Ny44IDAgMCA2LjR6bTMyMyAwbDU4LjcgMCAyMi4zLTMwLjItNTguNyAwYy0uMSAwLTIyLjMgMzAuMi0yMi4zIDMwLjJ6bTIyMiAuMWw5NSAwIDAtNi40LTkwLjMgMC00LjcgNi40ek01NjcuMyAyNzFsLTQuNyA2LjQgNzcuNCAwIDAtNi40LTcyLjcgMHptLTEzLjUgMTguM2w4Ni4yIDAgMC02LjQtODEuNSAwLTQuNyA2LjR6TTM4OS42IDIxMC43bC0yMi41IDMwLjYtMjYuMiAwIDIyLjUtMzAuNi01OC43IDAtMzkuMyA1My40IDE0My42IDAgMzkuMy01My40LTU4LjcgMHpNNDIzLjEgMjcxcy00LjMgNS45LTYuNCA4LjdjLTcuNCAxMC0uOSAyMS42IDIzLjIgMjEuNmw5NC4zIDAgMjIuMy0zMC4zLTEzMy40IDB6Il19LHl1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0ZXgiLGljb246WzY0MCw1MTIsW10sImU3ZmYiLCJNNjIwLjggOTUuNGMtMzAuOCAuNC00Mi4xIDE2LjYtNDcuNyAyNC41bC0uMSAuMS01NS43IDgwLjUgODIuOCAxMjEuMWM3LjUgMTAuNiAxMS4zIDEyLjUgMzUuNCAxMi41bDAgOS4xYy05LjEtLjctMjgtLjctMzcuNy0uNy0xMi40IDAtMzAuOCAwLTQyLjkgLjdsMC05LjFjMTMuMi0uOCAxNi42LTcuMyAxNi42LTEwLjIgMC0xLjEgMC0yLjMtMy02LjRsLTY1LjUtOTYuMy02MC4yIDg3LjljLTEuOSAyLjctMy44IDUuNC0zLjggMTAuMiAwIDYuMSAzLjQgMTMuNiAxNSAxNC43bDAgOS4xYy05LjQtLjctMjcuMS0uNy0zNy4yLS43bC0yLjggMC0xMS43IDgyLjYtMTk1LjkgMCAwLTkuMWMyNi43IDAgMzAuOSAwIDMwLjktMTYuOWwwLTIwMy4yYzAtMTYuOS00LjMtMTYuOS0zMC45LTE2LjlsMC0xMC4zIDE5LjggMGMtNC44LTYxLjEtMTAuOC03MS43LTY4LTcxLjhsLTIwLjcgMGMtNi44IDEuNS02LjggNi4xLTYuOCAxNC40bDAgMjA1YzAgMTMuNiAxLjEgMTcuOCAzMi40IDE3LjhsMTAuNSAwIDAgOS4xLS40IDBjLTE3LjktLjMtMzYuNy0uNy01NC45LS43cy0zNi45IC4zLTU0LjggLjdsLS42IDAgMC05LjEgMTAuNyAwYzMxLjcgMCAzMi44LTQuMSAzMi44LTE3LjhsMC0yMDVjMC04LjcgMC0xMy4yLTcuMi0xNC4zbC0yMC44IDBjLTU4LjQgMC02My43IDEwLjktNjguNiA3My4zbC02LjggMCA2LjMtODMuMyAyMTcuNSAwIDYuMSA4MS44IDE2NC4xIDAgOSA4My4zLTYuOCAwYy01LjMtNDkuOC0xMi4xLTczLTcwLjMtNzNsLTUxLjUgMGMtMTUgMC0xNS44IDEuOS0xNS44IDE0LjZsMCA5My4zIDM1LjUgMGMzNS41IDAgMzguOS0xMi44IDM4LjktNDRsNiAwIDAgOTcuOS02IDBjMC0zMS44LTMuNC00NC44LTM4LjktNDQuOGwtMzUuNSAwIDAgMTA1LjJjMCAxMyAuNyAxNC44IDE1LjggMTQuOGw1Mi4yIDBjNjEuMSAwIDY5LjktMjUuOCA3Ny40LTczLjYtNy43IDAtMTYuMyAuMi0yMi4yIC43bDAtOS4xYzcuMiAwIDMxLjctLjQgNDcuOC0yMy44bDY1LjUtOTUuNy03Mi43LTEwNi43Yy04LjMtMTEuNy0xNS4xLTEyLjUtMzUuOC0xMi41bDAtOS4xYzkuMSAuNyAyNy45IC43IDM3LjcgLjcgMTIuNCAwIDMwLjggMCA0Mi45LS43bDAgOS4xYy0xMi41IC40LTE2LjYgNi44LTE2LjYgMTAuMiAwIDEuMSAuNCAyLjMgMyA2LjRsNTUuNyA4MS42IDQ5LjctNzIuMWMyLjctMy43IDQuNS02LjggNC41LTExLjMgMC02LjEtMy0xMy42LTE1LTE0LjhsMC05LjFjOS40IC43IDI0LjggLjcgMzcuMiAuNyA5IDAgMjMuMyAwIDMyLS43bDAgOS4xeiJdfSx3dXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2xhdWRlIixpY29uOls1MTIsNTEyLFtdLCJlODYxIiwiTTEwMC40IDM0MC41bDEwMC43LTU2LjUgMS43LTQuOS0xLjctMi43LTQuOSAwLTE2LjgtMS01Ny41LTEuNi00OS45LTIuMS00OC4zLTIuNi0xMi4yLTIuNi0xMS40LTE1IDEuMi03LjUgMTAuMi02LjkgMTQuNyAxLjNjMTguOSAxLjMgNDUuOSAzLjEgODEgNS42bDM1LjIgMi4xIDUyLjIgNS40IDguMyAwIDEuMi0zLjQtMi44LTIuMS0yLjItMi4xLTUwLjMtMzQuMS01NC40LTM2LTI4LjUtMjAuNy0xNS40LTEwLjUtNy44LTkuOC0zLjQtMjEuNSAxNC0xNS40IDE4LjggMS4zIDQuOCAxLjMgMTkgMTQuNyA0MC43IDMxLjUgNTMuMSAzOS4xIDcuOCA2LjUgMy4xLTIuMiAuNC0xLjYtMy41LTUuOC0yOC45LTUyLjItMzAuOC01My4xLTEzLjctMjItMy42LTEzLjJjLTEuMy01LjQtMi4yLTEwLTIuMi0xNS41bDE1LjktMjEuNiA4LjgtMi44IDIxLjIgMi44IDguOSA3LjggMTMuMiAzMC4yIDIxLjQgNDcuNSAzMy4yIDY0LjYgOS43IDE5LjIgNS4yIDE3LjggMS45IDUuNCAzLjQgMCAwLTMuMSAyLjctMzYuNCA1LTQ0LjcgNC45LTU3LjUgMS43LTE2LjIgOC0xOS40IDE1LjktMTAuNSAxMi40IDUuOSAxMC4yIDE0LjctMS40IDkuNS02LjEgMzkuNS0xMS45IDYxLjktNy44IDQxLjUgNC41IDAgNS4yLTUuMiAyMS0yNy44IDM1LjItNDQuMSAxNS41LTE3LjUgMTguMS0xOS4zIDExLjYtOS4yIDIyIDAgMTYuMiAyNC4xLTcuMyAyNC45LTIyLjcgMjguNy0xOC44IDI0LjQtMjcgMzYuMy0xNi44IDI5IDEuNiAyLjMgNC0uNCA2MC45LTEzIDMyLjktNS45IDM5LjMtNi43IDE3LjggOC4zIDEuOSA4LjQtNyAxNy4yLTQyIDEwLjQtNDkuMiA5LjgtNzMuMyAxNy4zLS45IC43IDEgMS4zIDMzIDMuMSAxNC4xIC44IDM0LjYgMCA2NC40IDQuOCAxNi44IDExLjEgMTAuMSAxMy42LTEuNyAxMC40LTI1LjkgMTMuMmMtMTUuNS0zLjctNTQuNC0xMi45LTExNi42LTI3LjdsLTI4LTctMy45IDAgMCAyLjMgMjMuMyAyMi44IDQyLjcgMzguNiA1My41IDQ5LjggMi43IDEyLjMtNi45IDkuNy03LjMtMS00Ny0zNS40LTE4LjEtMTUuOS00MS4xLTM0LjYtMi43IDAgMCAzLjYgOS41IDEzLjkgNTAgNzUuMiAyLjYgMjMtMy42IDcuNS0xMyA0LjUtMTQuMi0yLjYtMjkuMy00MS4xLTMwLjItNDYuMy0yNC40LTQxLjUtMyAxLjctMTQuNCAxNTQuOC02LjcgNy45LTE1LjUgNS45LTEzLTkuOC02LjktMTUuOSA2LjktMzEuNSA4LjMtNDEuMSA2LjctMzIuNyA2LjEtNDAuNiAzLjYtMTMuNS0uMi0uOS0zIC40LTMwLjYgNDItNDYuNSA2Mi45LTM2LjggMzkuNC04LjggMy41LTE1LjMtNy45IDEuNC0xNC4xIDguNS0xMi42IDUwLjktNjQuOCAzMC43LTQwLjIgMTkuOC0yMy4yLS4xLTMuNC0xLjIgMC0xMzUuMyA4Ny44LTI0LjEgMy4xLTEwLjQtOS43IDEuMy0xNS45IDQuOS01LjIgNDAuNy0yOC0uMSAuMSAwIC4xeiJdfSxNdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2hvcGlmeSIsaWNvbjpbNDQ4LDUxMixbXSwiZTA1NyIsIk0zODguNSAxMDQuMWMtLjItMS4xLS43LTIuMS0xLjUtMi44cy0xLjgtMS4yLTIuOS0xLjJjLTIgMC0zNy4yLS44LTM3LjItLjhzLTIxLjYtMjAuOC0yOS42LTI4LjhsMCA0MzIuNyAxMjUuNy0zMS4ycy01NC0zNjUuNS01NC40LTM2Ny45ek0yODguOSA3MC41Yy0xLjktNi4xLTQuMy0xMS45LTcuMi0xNy42LTEwLjQtMjAtMjYtMzAuOS00NC40LTMwLjktMS4zIDAtMi43IC4xLTQgLjQtLjQtLjgtMS4yLTEuMi0xLjYtMi04LTguOC0xOC40LTEyLjgtMzAuOC0xMi40LTI0IC44LTQ4IDE4LTY3LjIgNDguOC0xMy42IDIxLjYtMjQgNDguOC0yNi44IDcwLjEtMjcuNiA4LjQtNDYuOCAxNC40LTQ3LjIgMTQuOC0xNCA0LjQtMTQuNCA0LjgtMTYgMTgtMS4yIDEwLTM4IDI5MS44LTM4IDI5MS44bDMwMi42IDUyLjUgMC00MzguM2MtMS41IC4xLTIuOSAuMi00LjQgLjQgMCAwLTUuNiAxLjYtMTQuOCA0LjR6TTIzMy42IDg3LjdjLTE2IDQuOC0zMy42IDEwLjQtNTAuOCAxNS42IDQuOC0xOC44IDE0LjQtMzcuNiAyNS42LTUwIDQuNC00LjQgMTAuNC05LjYgMTcuMi0xMi44IDYuOCAxNC40IDguNCAzNCA4IDQ3LjJ6TTIwMC44IDI0LjRjNS0uMiAxMCAxLjEgMTQuNCAzLjYtNi40IDMuMi0xMi44IDguNC0xOC44IDE0LjQtMTUuMiAxNi40LTI2LjggNDItMzEuNiA2Ni41LTE0LjQgNC40LTI4LjggOC44LTQyIDEyLjggOC44LTM4LjQgNDEuMi05Ni40IDc4LTk3LjJ6TTE1NC40IDI0NC42YzEuNiAyNS42IDY5LjIgMzEuMiA3My4yIDkxLjcgMi44IDQ3LjYtMjUuMiA4MC4xLTY1LjYgODIuNS00OC44IDMuMi03NS42LTI1LjYtNzUuNi0yNS42bDEwLjQtNDRzMjYuOCAyMC40IDQ4LjQgMTguOGMxNC0uOCAxOS4yLTEyLjQgMTguOC0yMC40LTItMzMuNi01Ny4yLTMxLjYtNjAuOC04Ni45LTMuMi00Ni40IDI3LjItOTMuMyA5NC41LTk3LjcgMjYtMS42IDM5LjIgNC44IDM5LjIgNC44bC0xNS4yIDU3LjZzLTE3LjItOC0zNy42LTYuNGMtMjkuNiAyLTMwIDIwLjgtMjkuNiAyNS42ek0yNDkuNiA4Mi45YzAtMTItMS42LTI5LjItNy4yLTQzLjYgMTguNCAzLjYgMjcuMiAyNCAzMS4yIDM2LjQtNy4yIDItMTUuMiA0LjQtMjQgNy4yeiJdfSx3b2U9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXJlZGRpdCIsaWNvbjpbNDQ4LDUxMixbInJlZGRpdC1zcXVhcmUiXSwiZjFhMiIsIk02NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJ6TTMwNS45IDE2Ni40YzIwLjYgMCAzNy4zLTE2LjcgMzcuMy0zNy4zcy0xNi43LTM3LjMtMzcuMy0zNy4zYy0xOCAwLTMzLjEgMTIuOC0zNi42IDI5LjgtMzAuMiAzLjItNTMuOCAyOC44LTUzLjggNTkuOWwwIC4yYy0zMi44IDEuNC02Mi44IDEwLjctODYuNiAyNS41LTguOC02LjgtMTkuOS0xMC45LTMyLTEwLjktMjguOSAwLTUyLjMgMjMuNC01Mi4zIDUyLjMgMCAyMSAxMi4zIDM5IDMwLjEgNDcuNCAxLjcgNjAuNyA2Ny45IDEwOS42IDE0OS4zIDEwOS42czE0Ny42LTQ4LjkgMTQ5LjMtMTA5LjdjMTcuNy04LjQgMjkuOS0yNi40IDI5LjktNDcuMyAwLTI4LjktMjMuNC01Mi4zLTUyLjMtNTIuMy0xMiAwLTIzIDQtMzEuOSAxMC44LTI0LTE0LjktNTQuMy0yNC4yLTg3LjUtMjUuNGwwLS4xYzAtMjIuMiAxNi41LTQwLjcgMzcuOS00My43IDMuOSAxNi41IDE4LjcgMjguNyAzNi4zIDI4LjdsLjItLjJ6TTE1NSAyNDguMWMxNC42IDAgMjUuOCAxNS40IDI1IDM0LjRzLTExLjggMjUuOS0yNi41IDI1LjktMjcuNS03LjctMjYuNi0yNi43IDEzLjUtMzMuNSAyOC4xLTMzLjVsMC0uMXptMTY2LjQgMzMuNWMuOSAxOS0xMiAyNi43LTI2LjYgMjYuN3MtMjUuNi02LjktMjYuNS0yNS45IDEwLjMtMzQuNCAyNS0zNC40IDI3LjMgMTQuNiAyOC4xIDMzLjVsMCAuMXptLTQyLjEgNDkuNmMtOSAyMS41LTMwLjMgMzYuNy01NS4xIDM2LjdzLTQ2LjEtMTUuMS01NS4xLTM2LjdjLTEuMS0yLjYgLjctNS40IDMuNC01LjcgMTYuMS0xLjYgMzMuNS0yLjUgNTEuNy0yLjVzMzUuNiAuOSA1MS43IDIuNWMyLjcgLjMgNC41IDMuMSAzLjQgNS43eiJdfSxrdXQ9d29lLHp1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLW5jIixpY29uOls1MTIsNTEyLFtdLCJmNGU4IiwiTTI1NS42IDhDMzk1LjQgOCA1MDQgMTE1LjkgNTA0IDI1NiA1MDQgNDAzLjIgMzg1LjUgNTA0IDI1NS42IDUwNCAxMjEuMSA1MDQgOCAzOTMuMiA4IDI1NiA4IDEyMy4xIDExMi43IDggMjU1LjYgOHpNNjMuOCAxODkuMWMtNy40IDIwLjQtMTEuMSA0Mi43LTExLjEgNjYuOSAwIDExMC45IDkyLjEgMjAyLjQgMjAzLjcgMjAyLjQgMTIyLjQgMCAxNzcuMi0xMDEuOCAxNzguNS0xMDQuMWwtOTMuNC00MS42Yy03LjcgMzcuMS00MS4yIDUzLTY4LjIgNTUuNGwwIDM4LjEtMjguOCAwIDAtMzguMmMtMjcuNS0uMy01Mi42LTEwLjItNzUuMy0yOS43bDM0LjEtMzQuNWMzMS43IDI5LjQgODYuNCAzMS44IDg2LjQtMi4yIDAtNi4yLTIuMi0xMS4yLTYuNi0xNS4xLTE0LjItNi0xLjgtLjEtMjE5LjMtOTcuNHpNMjU2LjQgNTIuM0MyMTggNTIuMyAxNDQgNjEgODUuOSAxNDUuM2w5NC44IDQyLjVjMTAtMzEuMyA0MC40LTQyLjkgNjMuOC00NC4zbDAtMzguMSAyOC44IDAgMCAzOC4xYzIyLjcgMS4yIDQzLjQgOC45IDYyIDIzTDMwMyAxOTkuN2MtNDIuNy0yOS45LTgzLjUtOC03MCAxMS4xIDUzLjQgMjQuMSA0My44IDE5LjggOTMgNDEuNmwxMjcuMSA1Ni43YzQuMS0xNy40IDYuMi0zNS4xIDYuMi01My4xIDAtNTctMTkuOC0xMDUtNTkuMy0xNDMuOS0zOS4zLTM5LjktODcuMi01OS44LTE0My42LTU5Ljh6Il19LFN1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnYWxhY3RpYy1yZXB1YmxpYyIsaWNvbjpbNTEyLDUxMixbXSwiZjUwYyIsIk0yNTYgOGEyNDggMjQ4IDAgMSAxIDAgNDk2IDI0OCAyNDggMCAxIDEgMC00OTZ6bTAgMTYuNWEyMzEuNSAyMzEuNSAwIDEgMCAwIDQ2Mi45IDIzMS41IDIzMS41IDAgMSAwIDAtNDYyLjl6bTI3LjYgMjEuOGwwIDI0LjZjMzAuMyA0LjUgNTkgMTYuMyA4My42IDM0LjVsMTcuNC0xNy40Yy0yOC43LTIyLjEtNjMuMy0zNi45LTEwMS00MS44em0tNTUuNCAuMWMtMzcuNiA0LjktNzIuMiAxOS44LTEwMC45IDQxLjlsMTcuMyAxNy40IC4xIDBjMjQuMS0xNy44IDUyLjYtMzAuMSA4My41LTM0LjdsMC0yNC41em0xMi4yIDUwLjJsMCA4Mi45Yy0xMCAyLTE5LjQgNS45LTI3LjcgMTEuNGwtNTguNi01OC42LTIxLjkgMjEuOSA1OC43IDU4LjdjLTUuNSA4LjItOS40IDE3LjYtMTEuNSAyNy42bC04Mi45IDAgMCAzMSA4Mi45IDBjMiAxMCA2IDE5LjMgMTEuNSAyNy41bC01OC43IDU4LjcgMjEuOSAyMS45IDU4LjYtNTguNmM4LjQgNS42IDE3LjggOS41IDI3LjcgMTEuNWwwIDgyLjkgMzEgMCAwLTgyLjljMTAtMiAxOS40LTYuMSAyNy42LTExLjVsNTguNyA1OC43IDIxLjktMjEuOS01OC43LTU4LjdjNS41LTguMiA5LjUtMTcuNSAxMS41LTI3LjVsODIuOSAwIDAtMzEtODIuOSAwYy0yLTEwLTYtMTkuNC0xMS41LTI3LjZsNTguNy01OC43LTIxLjktMjEuOS01OC43IDU4LjdjLTguMi01LjUtMTcuNi05LjUtMjcuNi0xMS41bDAtODIuOS0zMSAwem0xODMuMiAzMC43bC0xNy40IDE3LjRjMTguMyAyNC42IDMwLjIgNTMuNCAzNC43IDgzLjdsMjQuNiAwYy01LTM3LjctMTkuOC03Mi4zLTQxLjktMTAxem0tMzM1LjYgLjFjLTIyLjEgMjguNy0zNi45IDYzLjMtNDEuOCAxMDAuOWwyNC42IDBjNC42LTMxIDE2LjgtNTkuNCAzNC42LTgzLjVMODguMiAxMjcuNHpNNDYuMyAyODMuN2M0LjkgMzcuNiAxOS43IDcyLjIgNDEuOCAxMDAuOWwxNy40LTE3LjRDODcuNyAzNDMuMSA3NS42IDMxNC42IDcxIDI4My43bC0yNC42IDAgMCAwem0zOTQuNyAwYy00LjYgMzEtMTYuOCA1OS41LTM0LjcgODMuNmwxNy40IDE3LjRjMjIuMS0yOC43IDM3LTYzLjMgNDEuOS0xMDFsLTI0LjYgMHpNMTQ0LjcgNDA2LjRsLTE3LjQgMTcuNGMyOC43IDIyLjEgNjMuMyAzNyAxMDEgNDEuOWwwLTI0LjZjLTMxLTQuNi01OS41LTE2LjgtODMuNi0zNC42em0yMjIuNSAwYy0yNC4xIDE3LjgtNTIuNiAzMC4xLTgzLjYgMzQuN2wwIDI0LjZjMzcuNy00LjkgNzIuMi0xOS44IDEwMS00MS44bC0xNy4zLTE3LjQtLjEgMHoiXX0sQUc9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmFjZWJvb2siLGljb246WzUxMiw1MTIsWzYyZTNdLCJmMDlhIiwiTTUxMiAyNTZDNTEyIDExNC42IDM5Ny40IDAgMjU2IDBTMCAxMTQuNiAwIDI1NkMwIDM3NiA4Mi43IDQ3Ni44IDE5NC4yIDUwNC41bDAtMTcwLjMtNTIuOCAwIDAtNzguMiA1Mi44IDAgMC0zMy43YzAtODcuMSAzOS40LTEyNy41IDEyNS0xMjcuNSAxNi4yIDAgNDQuMiAzLjIgNTUuNyA2LjRsMCA3MC44Yy02LS42LTE2LjUtMS0yOS42LTEtNDIgMC01OC4yIDE1LjktNTguMiA1Ny4ybDAgMjcuOCA4My42IDAtMTQuNCA3OC4yLTY5LjMgMCAwIDE3NS45QzQxMy44IDQ5NC44IDUxMiAzODYuOSA1MTIgMjU2eiJdfSxDdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2l0bGFiIixpY29uOls1MTIsNTEyLFtdLCJmMjk2IiwiTTUwNCAyMDQuNmwtLjctMS44LTY5LjctMTgxLjhjLTEuNC0zLjYtMy45LTYuNi03LjItOC42LTIuNC0xLjYtNS4xLTIuNS04LTIuOHMtNS43IC4xLTguNCAxLjEtNS4xIDIuNy03LjEgNC44Yy0xLjkgMi4xLTMuMyA0LjctNC4xIDcuNGwtNDcgMTQ0LTE5MC41IDAtNDcuMS0xNDRjLS44LTIuOC0yLjItNS4zLTQuMS03LjQtMi0yLjEtNC40LTMuNy03LjEtNC44LTIuNi0xLTUuNS0xLjQtOC40LTEuMXMtNS42IDEuMi04IDIuOGMtMy4yIDItNS44IDUuMS03LjIgOC42TDkuOCAyMDIuOCA5IDIwNC42Yy0xMCAyNi4yLTExLjMgNTUtMy41IDgyIDcuNyAyNi45IDI0IDUwLjcgNDYuNCA2Ny42bC4zIC4yIC42IC40IDEwNiA3OS41YzM4LjUgMjkuMSA2Ni43IDUwLjMgODQuNiA2My45IDMuNyAxLjkgOC4zIDQuMyAxMyA0LjNzOS4zLTIuNCAxMy00LjNjMTcuOS0xMy41IDQ2LjEtMzQuOSA4NC42LTYzLjlsMTA2LjctNzkuOSAuMy0uM2MyMi40LTE2LjkgMzguNy00MC42IDQ1LjYtNjcuNSA4LjYtMjcgNy40LTU1LjgtMi42LTgyeiJdfSxfdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicXEiLGljb246WzQ0OCw1MTIsW10sImYxZDYiLCJNNDM0LjEgNDIwLjRjLTExLjUgMS40LTQ0LjktNTIuNy00NC45LTUyLjcgMCAzMS4zLTE2LjEgNzIuMi01MSAxMDEuOCAxNi44IDUuMiA1NC44IDE5LjIgNDUuOCAzNC40LTcuMyAxMi4zLTEyNS41IDcuOS0xNTkuNiA0LTM0LjEgMy44LTE1Mi4zIDguMy0xNTkuNi00LTktMTUuMiAyOC45LTI5LjIgNDUuOC0zNC40LTM0LjktMjkuNS01MS4xLTcwLjQtNTEuMS0xMDEuOCAwIDAtMzMuMyA1NC4xLTQ0LjkgNTIuNy01LjQtLjYtMTIuNC0yOS42IDkuMy05OS43IDEwLjMtMzMgMjItNjAuNSA0MC4xLTEwNS44LTMuMS0xMTYuOSA0NS4yLTIxNSAxNjAuMy0yMTUgMTEzLjcgMCAxNjMuMiA5Ni4xIDE2MC4zIDIxNSAxOC4xIDQ1LjIgMjkuOSA3Mi45IDQwLjEgMTA1LjggMjEuOCA3MC4xIDE0LjcgOTkuMSA5LjMgOTkuN3oiXX0sVHV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0cmlwZSIsaWNvbjpbNjQwLDUxMixbXSwiZjQyOSIsIk0xNjUgMTQ0LjdsLTQzLjMgOS4yLS4yIDE0Mi40YzAgMjYuMyAxOS44IDQzLjMgNDYuMSA0My4zIDE0LjYgMCAyNS4zLTIuNyAzMS4yLTUuOWwwLTMzLjhjLTUuNyAyLjMtMzMuNyAxMC41LTMzLjctMTUuN2wwLTYzLjIgMzMuNyAwIDAtMzcuOC0zMy43IDAtLjEtMzguNXptODkuMSA1MS42bC0yLjctMTMuMS0zOC40IDAgMCAxNTMuMiA0NC4zIDAgMC0xMDMuMWMxMC41LTEzLjggMjguMi0xMS4xIDMzLjktOS4zbDAtNDAuOGMtNi0yLjEtMjYuNy02LTM3LjEgMTMuMXpNMzQ2LjQgMTI0bC00NC42IDkuNSAwIDM2LjIgNDQuNi05LjUgMC0zNi4yek00NC45IDIyOC4zYzAtNi45IDUuOC05LjYgMTUuMS05LjcgMTMuNSAwIDMwLjcgNC4xIDQ0LjIgMTEuNGwwLTQxLjhjLTE0LjctNS44LTI5LjQtOC4xLTQ0LjEtOC4xLTM2IDAtNjAgMTguOC02MCA1MC4yIDAgNDkuMiA2Ny41IDQxLjIgNjcuNSA2Mi40IDAgOC4yLTcuMSAxMC45LTE3IDEwLjktMTQuNyAwLTMzLjctNi4xLTQ4LjYtMTQuMmwwIDQwYzE2LjUgNy4xIDMzLjIgMTAuMSA0OC41IDEwLjEgMzYuOSAwIDYyLjMtMTUuOCA2Mi4zLTQ3LjggMC01Mi45LTY3LjktNDMuNC02Ny45LTYzLjR6TTY0MCAyNjEuNmMwLTQ1LjUtMjItODEuNC02NC4yLTgxLjRzLTY3LjkgMzUuOS02Ny45IDgxLjFjMCA1My41IDMwLjMgNzguMiA3My41IDc4LjIgMjEuMiAwIDM3LjEtNC44IDQ5LjItMTEuNWwwLTMzLjRjLTEyLjEgNi4xLTI2IDkuOC00My42IDkuOC0xNy4zIDAtMzIuNS02LjEtMzQuNS0yNi45bDg2LjkgMGMuMi0yLjMgLjYtMTEuNiAuNi0xNS45em0tODcuOS0xNi44YzAtMjAgMTIuMy0yOC40IDIzLjQtMjguNCAxMC45IDAgMjIuNSA4LjQgMjIuNSAyOC40bC00NS45IDB6TTQzOS4yIDE4MC4yYy0xNy40IDAtMjguNiA4LjItMzQuOCAxMy45bC0yLjMtMTEtMzkuMSAwIDAgMjA0LjggNDQuNC05LjQgLjEtNTAuMmM2LjQgNC43IDE1LjkgMTEuMiAzMS40IDExLjIgMzEuOCAwIDYwLjgtMjMuMiA2MC44LTc5LjYgLjEtNTEuNi0yOS4zLTc5LjctNjAuNS03OS43ek00MjguNiAzMDIuN2MtMTAuNCAwLTE2LjYtMy44LTIwLjktOC40bC0uMy02NmM0LjYtNS4xIDExLTguOCAyMS4yLTguOCAxNi4yIDAgMjcuNCAxOC4yIDI3LjQgNDEuNCAuMSAyMy45LTEwLjkgNDEuOC0yNy40IDQxLjh6TTMwMS45IDMzNi40bDQ0LjYgMCAwLTE1My4yLTQ0LjYgMCAwIDE1My4yeiJdfSxMdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGFpbHltb3Rpb24iLGljb246WzQ0OCw1MTIsW10sImUwNTIiLCJNMjk4LjkgMjY3Yy03LjQtNC4yLTE1LjgtNi4zLTI0LjQtNi4yLTEzLjIgMC0yNC40IDQuNC0zMy40IDEzLjNzLTEzLjYgMjAtMTMuNiAzMy40YzAgMTQuMSA0LjQgMjUuNiAxMy4zIDM0LjZzMjAgMTMuNCAzMy40IDEzLjRjMTMuNyAwIDI1LTQuNiAzNC4xLTEzLjhTMzIyIDMyMS4xIDMyMiAzMDcuNWMwLTguMi0yLjEtMTYuMy02LjEtMjMuNS00LTcuMS05LjgtMTMtMTctMTd6TTAgMzJsMCA0NDggNDQ4IDAgMC00NDgtNDQ4IDB6TTM3NC43IDQwNS4zbC01My4xIDAgMC0yMy45LS43IDBjLTEwLjUgMTcuNS0yOS4xIDI2LjItNTUuOCAyNi4yLTE4LjQgMC0zNC43LTQuNC00OC45LTEzLjEtMTQuMS04LjYtMjUuNS0yMS0zMi45LTM1LjgtNy43LTE1LjEtMTEuNi0zMi4xLTExLjYtNTAuOSAwLTE4LjQgMy45LTM1LjEgMTEuOC01MC4yIDcuNS0xNC43IDE4LjktMjcuMSAzMi45LTM1LjggMTQuMS04LjcgMzAtMTMuMSA0Ny43LTEzLjEgMTAuMi0uMSAyMC4yIDEuNiAyOS43IDUuMiA4LjkgMy41IDE3LjIgOS4xIDI1IDE3bDAtNzcuOSA1NS44LTEyLjEgMCAyNjQuNHoiXX0sJHV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0ZWFtIixpY29uOls1MTIsNTEyLFtdLCJmMWI2IiwiTTUwNCAyNTZjMCAxMzctMTExLjIgMjQ4LTI0OC40IDI0OC0xMTMuOCAwLTIwOS42LTc2LjMtMjM5LTE4MC40bDk1LjIgMzkuM2M2LjQgMzIuMSAzNC45IDU2LjQgNjguOSA1Ni40IDM5LjIgMCA3MS45LTMyLjQgNzAuMi03My41bDg0LjUtNjAuMmM1Mi4xIDEuMyA5NS44LTQwLjkgOTUuOC05My41IDAtNTEuNi00Mi05My41LTkzLjctOTMuNXMtOTMuNyA0Mi05My43IDkzLjVsMCAxLjItNTkuMiA4NS43Yy0xNS41LS45LTMwLjcgMy40LTQzLjUgMTIuMUw4IDIzNi4xQzE4LjIgMTA4LjQgMTI1LjEgOCAyNTUuNiA4IDM5Mi44IDggNTA0IDExOSA1MDQgMjU2ek0xNjMuNyAzODQuM2wtMzAuNS0xMi42YzUuNiAxMS42IDE1LjMgMjAuOCAyNy4yIDI1LjggMjYuOSAxMS4yIDU3LjgtMS42IDY5LTI4LjQgNS40LTEzIDUuNS0yNy4zIC4xLTQwLjNTMjE0IDMwNS42IDIwMSAzMDAuMmMtMTIuOS01LjQtMjYuNy01LjItMzguOS0uNmwzMS41IDEzYzE5LjggOC4yIDI5LjIgMzAuOSAyMC45IDUwLjctOC4zIDE5LjktMzEgMjkuMi01MC44IDIxek0zMzcuNSAxMjkuOGE2Mi4zIDYyLjMgMCAxIDEgMCAxMjQuNiA2Mi4zIDYyLjMgMCAxIDEgMC0xMjQuNnptLjEgMTA5YTQ2LjggNDYuOCAwIDEgMCAwLTkzLjYgNDYuOCA0Ni44IDAgMSAwIDAgOTMuNnoiXX0sRHV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZlbm1vLXYiLGljb246WzUxMiw1MTIsW10sImU4NWIiLCJNNDY2LjUgMTQuOGMxNy40IDI4LjcgMjUuMyA1OC4yIDI1LjMgOTUuNSAwIDExOS0xMDEuOSAyNzMuNS0xODQuNyAzODIuMWwtMTg4LjkgMC03NS44LTQ1MS41IDE2NS40LTE1LjcgNDAuMSAzMjEuM2MzNy40LTYwLjggODMuNi0xNTYuMyA4My42LTIyMS40IDAtMzUuNi02LjEtNTkuOS0xNS43LTc5LjlMNDY2LjUgMTQuOHoiXX0sTW9lPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNuYXBjaGF0IixpY29uOls1MTIsNTEyLFs2MjEyNCwic25hcGNoYXQtZ2hvc3QiXSwiZjJhYiIsIk00OTcuMSAzNjYuNmMtMy40LTkuMi05LjgtMTQuMS0xNy4xLTE4LjItMS40LS44LTIuNi0xLjUtMy43LTEuOS0yLjItMS4xLTQuNC0yLjItNi42LTMuNC0yMi44LTEyLjEtNDAuNi0yNy4zLTUzLTQ1LjQtMy41LTUuMS02LjYtMTAuNS05LjEtMTYuMS0xLjEtMy0xLTQuNy0uMi02LjMgLjgtMS4yIDEuNy0yLjIgMi45LTMgMy45LTIuNiA4LTUuMiAxMC43LTcgNC45LTMuMiA4LjgtNS43IDExLjItNy40IDkuNC02LjUgMTUuOS0xMy41IDIwLTIxLjMgMi45LTUuNCA0LjUtMTEuMyA0LjktMTcuNHMtLjYtMTIuMi0yLjgtMTcuOGMtNi4yLTE2LjMtMjEuNi0yNi40LTQwLjMtMjYuNC0zLjkgMC03LjkgLjQtMTEuNyAxLjItMSAuMi0yLjEgLjUtMy4xIC43IC4yLTExLjItLjEtMjIuOS0xLjEtMzQuNS0zLjUtNDAuOC0xNy44LTYyLjEtMzIuNy03OS4yLTkuNS0xMC43LTIwLjctMTkuNy0zMy4yLTI2LjctMjIuNi0xMi45LTQ4LjItMTkuNC03Ni4xLTE5LjRzLTUzLjQgNi41LTc2IDE5LjRjLTEyLjUgNy0yMy43IDE2LjEtMzMuMyAyNi44LTE0LjkgMTctMjkuMiAzOC40LTMyLjcgNzkuMi0xIDExLjYtMS4yIDIzLjQtMS4xIDM0LjUtMS0uMy0yLS41LTMuMS0uNy0zLjktLjgtNy44LTEuMi0xMS43LTEuMi0xOC43IDAtMzQuMSAxMC4xLTQwLjMgMjYuNC0yLjIgNS43LTMuMiAxMS44LTIuOCAxNy44czIgMTIgNC45IDE3LjRjNC4xIDcuOCAxMC43IDE0LjcgMjAgMjEuMyAyLjUgMS43IDYuNCA0LjIgMTEuMiA3LjQgMi42IDEuNyA2LjUgNC4yIDEwLjMgNi43IDEuMyAuOSAyLjQgMiAzLjMgMy4zIC44IDEuNiAuOCAzLjQtLjQgNi42LTIuNSA1LjUtNS41IDEwLjgtOC45IDE1LjgtMTIuMSAxNy43LTI5LjQgMzIuNi01MS40IDQ0LjYtMTEuNyA2LjItMjMuOSAxMC4zLTI5IDI0LjMtMy45IDEwLjUtMS4zIDIyLjUgOC41IDMyLjYgMy42IDMuOCA3LjggNi45IDEyLjQgOS40IDkuNiA1LjMgMTkuOCA5LjMgMzAuMyAxMi4xIDIuMiAuNiA0LjMgMS41IDYuMSAyLjcgMy42IDMuMSAzLjEgNy45IDcuOCAxNC44IDIuNCAzLjYgNS40IDYuNyA5IDkuMSAxMCA2LjkgMjEuMyA3LjQgMzMuMiA3LjggMTAuOCAuNCAyMyAuOSAzNi45IDUuNSA1LjggMS45IDExLjggNS42IDE4LjcgOS45IDE2LjcgMTAuMyAzOS42IDI0LjMgNzcuOCAyNC4zczYxLjMtMTQuMSA3OC4xLTI0LjRjNi45LTQuMiAxMi45LTcuOSAxOC41LTkuOCAxMy45LTQuNiAyNi4yLTUuMSAzNi45LTUuNSAxMS45LS41IDIzLjItLjkgMzMuMi03LjggNC4yLTIuOSA3LjctNi43IDEwLjItMTEuMiAzLjQtNS44IDMuNC05LjkgNi42LTEyLjggMS44LTEuMiAzLjctMi4xIDUuOC0yLjYgMTAuNy0yLjggMjEtNi45IDMwLjgtMTIuMiA0LjktMi42IDkuMy02LjEgMTMtMTAuMmwuMS0uMmM5LjItOS45IDExLjUtMjEuNSA3LjgtMzEuOHptLTM0IDE4LjNjLTIwLjcgMTEuNS0zNC41IDEwLjItNDUuMyAxNy4xLTkuMSA1LjktMy43IDE4LjUtMTAuMyAyMy4xLTguMSA1LjYtMzIuMi0uNC02My4yIDkuOS0yNS42IDguNS00MiAzMi44LTg4IDMyLjhzLTYyLTI0LjMtODguMS0zMi45Yy0zMS0xMC4zLTU1LjEtNC4yLTYzLjItOS45LTYuNi00LjYtMS4yLTE3LjItMTAuMy0yMy4xLTEwLjctNi45LTI0LjUtNS43LTQ1LjMtMTcuMS0xMy4yLTcuMy01LjctMTEuOC0xLjMtMTMuOSA3NS4xLTM2LjQgODcuMS05Mi42IDg3LjctOTYuNyAuNi01IDEuNC05LTQuMi0xNC4xLTUuNC01LTI5LjItMTkuNy0zNS44LTI0LjMtMTAuOS03LjYtMTUuNy0xNS4zLTEyLjItMjQuNiAyLjUtNi41IDguNS04LjkgMTQuOS04LjkgMiAwIDQgLjIgNiAuNyAxMiAyLjYgMjMuNyA4LjYgMzAuNCAxMC4yIC44IC4yIDEuNiAuMyAyLjUgLjMgMy42IDAgNC45LTEuOCA0LjYtNS45LS44LTEzLjEtMi42LTM4LjctLjYtNjIuNiAyLjgtMzIuOSAxMy40LTQ5LjIgMjYtNjMuNiA2LjEtNi45IDM0LjUtMzcgODguOS0zN1MzMzkgNzQuMiAzNDUgODEuMWMxMi42IDE0LjQgMjMuMiAzMC43IDI2IDYzLjYgMi4xIDIzLjkgLjMgNDkuNS0uNiA2Mi42LS4zIDQuMyAxIDUuOSA0LjYgNS45IC44IDAgMS43LS4xIDIuNS0uMyA2LjctMS42IDE4LjQtNy42IDMwLjQtMTAuMiAyLS40IDQtLjcgNi0uNyA2LjQgMCAxMi40IDIuNSAxNC45IDguOSAzLjUgOS40LTEuMiAxNy0xMi4yIDI0LjYtNi42IDQuNi0zMC40IDE5LjMtMzUuOCAyNC4zLTUuNiA1LjEtNC44IDkuMS00LjIgMTQuMiAuNSA0LjIgMTIuNSA2MC40IDg3LjcgOTYuNyA0LjQgMi4yIDExLjkgNi43LTEuMyAxNC4xeiJdfSxBdXQ9TW9lLFB1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnYWxhY3RpYy1zZW5hdGUiLGljb246WzUxMiw1MTIsW10sImY1MGQiLCJNMjQ5LjkgMzMuNWwwIDI2LjFjLTEzLjYgMjAuNi0yMy45IDEwOC42LTI0LjUgMjE1LjMgMTEuNy0xNS42IDE5LjEtMzMuMyAxOS4xLTQ4LjJsMC0xNi45YzAtNS4zIC44LTEwLjUgMi4yLTE1LjYgLjYtMi4xIDEuNC00LjEgMi42LTUuOHMzLjQtMy44IDYuNy0zLjggNS40IDIuMSA2LjcgMy44YzEuMiAxLjggMiAzLjcgMi42IDUuOCAxLjQgNS4xIDIuMiAxMC4zIDIuMiAxNS42bDAgMTYuOWMwIDE0LjkgNy40IDMyLjYgMTkuMSA0OC4yLS42LTEwNi44LTEwLjktMTk0LjctMjQuNS0yMTUuM2wwLTI2LjEtMTIuMyAwek0yMjMuNSAxODEuM2MtOS41IDIuMS0xOC43IDUuMi0yNy41IDkuMSA4LjkgMTYuMSA5LjggMzIuNiAxLjcgMzcuMy04IDQuNi0yMS44LTQuMi0zMS40LTE5LjgtMTEuNiA4LjgtMjEuOSAxOS4zLTMwLjYgMzEuMSAxNC43IDkuNiAyMi45IDIyLjkgMTguMyAzMC43LTQuNSA3LjctMjAgNy4xLTM1LjUtMS01LjggMTMuMi05LjcgMjcuNS0xMS42IDQyLjQgOS43IC4yIDE4LjcgMi40IDI2LjIgNiAxNy44LS4zIDMyLjgtMiA0MC41LTQuMiA1LjYtMjYuNCAyMy00OC4yIDQ2LjMtNTkuNSAuNy0yNS42IDEuOS00OS43IDMuNS03Mi4xem02NSAwYzEuNiAyMi40IDIuNyA0Ni41IDMuNSA3Mi4xIDIzLjMgMTEuMyA0MC44IDMzLjIgNDYuMyA1OS41IDcuNyAyLjMgMjIuNyAzLjkgNDAuNSA0LjIgNy41LTMuNyAxNi41LTUuOCAyNi4yLTYtMS45LTE0LjktNS45LTI5LjItMTEuNy00Mi40LTE1LjQgOC4xLTMwLjkgOC43LTM1LjUgMS00LjYtNy43IDMuNi0yMS4xIDE4LjMtMzAuNy04LjctMTEuOC0xOS0yMi4zLTMwLjYtMzEuMS05LjUgMTUuNi0yMy40IDI0LjQtMzEuNCAxOS44LTguMS00LjYtNy4yLTIxLjIgMS43LTM3LjMtOC44LTMuOS0xOC03LTI3LjQtOS4xek0yNTYgMTg5LjljLTMuMiAwLTUuOSA4LjgtNi4xIDE5LjlsMCAwIDAgMTYuOWMwIDQxLjQtNDkgOTUtOTMuNSA5NS01MiAwLTEyMi44LTEuNC0xNTYuNCAyOS4ybDAgMi41YzkuNCAxNy4xIDIwLjYgMzMuMiAzMy4yIDQ4IDEyLjUtMjEuMSA1MS42LTQxIDEwOC00MS40IDQ1LjcgMSA3OSAyMC4zIDkwLjggNDAuOSAwIDAgMCAwIDAgLjEgNy43IDIuMSAxNS44IDMuMiAyNCAzLjIgOC4yIDAgMTYuNC0xLjEgMjQtMy4yIDAgMCAwIDAgMC0uMSAxMS43LTIwLjUgNDUuMS0zOS44IDkwLjgtNDAuOSA1Ni40IC40IDk1LjUgMjAuMyAxMDggNDEuNCAxMi42LTE0LjggMjMuOC0zMC45IDMzLjItNDhsMC0yLjVjLTMzLjYtMzAuNi0xMDQuNC0yOS4yLTE1Ni40LTI5LjItNDQuNSAwLTkzLjUtNTMuNi05My41LTk1bDAtMTYuOS0uMSAwYy0uMi0xMS4xLTIuOS0xOS45LTYuMS0xOS45em0wIDE3Ny45YTQwLjYgNDAuNiAwIDEgMSAwLTgxLjMgNDAuNiA0MC42IDAgMSAxIDAgODEuM3ptMC03My42YTMzIDMzIDAgMSAwIDAgNjUuOSAzMyAzMyAwIDEgMCAwLTY1Ljl6bTAgNTkuOGEyNi44IDI2LjggMCAxIDEgMC01My42IDI2LjggMjYuOCAwIDEgMSAwIDUzLjZ6bS0xMTQuOCAxM2MtMTAuMiAuMS0yMS42IC40LTMwLjUgMS43IC40IDQuNCAxLjUgMTguNiA3LjEgMjkuOCA5LjEtMi42IDE4LjQtMy45IDI3LjYtMy45IDQxLjMgLjkgNzEuNSAzNC40IDc4LjMgNzQuNWwuMSA0LjdjMTAuNCAxLjkgMjEuMiAyLjkgMzIuMiAyLjkgMTEgMCAyMS44LTEgMzIuMi0yLjlsLjEtNC43YzYuOC00MC4xIDM3LTczLjUgNzguMy03NC41IDkuMyAwIDE4LjUgMS4zIDI3LjYgMy45IDUuNi0xMS4xIDYuNy0yNS4zIDcuMS0yOS44LTguOS0xLjMtMjAuMy0xLjYtMzAuNS0xLjctMTguOCAuNC0zNS4yIDQuMi00OC42IDkuNy0xMi41IDE2LTI5LjIgMzAtNDkuNiAzMy4xLS4xIDAtLjIgMC0uMyAwIDAgMC0uMSAwLS4yIC4xLTUuMiAxLjEtMTAuNiAxLjYtMTYuMiAxLjYtNS41IDAtMTAuOS0uNS0xNi4yLTEuNi0uMSAwLS4xIDAtLjItLjEtLjEgMC0uMiAwLS4zIDAtMjAuNC0zLTM3LTE3LTQ5LjYtMzMuMS0xMy40LTUuNS0yOS45LTkuMi00OC42LTkuN3oiXX0sRXV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBob2VuaXgtZnJhbWV3b3JrIixpY29uOls2NDAsNTEyLFtdLCJmM2RjIiwiTTIxMi45IDM0NC4zYzMuOC0uMSAyMi44LTEuNCAyNS42LTIuMi0yLjQtMi42LTQzLjYtMS02OC00OS42LTQuMy04LjYtNy41LTE3LjYtNi40LTI3LjYgMi45LTI1LjUgMzIuOS0zMCA1Mi0xOC41IDM2IDIxLjYgNjMuMyA5MS4zIDExMy43IDk3LjUgMzcgNC41IDg0LjYtMTcgMTA4LjItNDUuNC0uNi0uMS0uOC0uMi0xLS4xLS40IC4xLS44IC4yLTEuMSAuMy0zMy4zIDEyLjEtOTQuMyA5LjctMTM0LjctMTQuOC0zNy42LTIyLjgtNTMuMS01OC43LTUxLjgtNzQuNiAxLjgtMjEuMyAyMi45LTIzLjIgMzUuOS0xOS42IDE0LjQgMy45IDI0LjQgMTcuNiAzOC45IDI3LjQgMTUuNiAxMC40IDMyLjkgMTMuNyA1MS4zIDEwLjMgMTQuOS0yLjcgMzQuNC0xMi4zIDM2LjUtMTQuNS0xLjEtLjEtMS44LS4xLTIuNS0uMi02LjItLjYtMTIuNC0uOC0xOC41LTEuNy0xMTEuMi0xNi41LTEyOC45LTE2My42LTI1Mi41LTE3My4xLTQ0LjMtMy40LTk5LjQgOC4xLTEzNi4zIDM1LS44IC42LTEuNSAxLjItMi4yIDEuOCAuMSAuMiAuMSAuMyAuMiAuNSAuOCAwIDEuNi0uMSAyLjQtLjIgNi4zLTEgMTIuNS0uOCAxOC43IC4zIDIzLjggNC4zIDQ3LjcgMjMuMSA1NS45IDc2LjUgNS4zIDM0LjMtLjcgNTAuOCA4IDg2LjEgMTkgNzcuMSA5MSAxMDcuNiAxMjcuNyAxMDYuNHpNNzUuMyA2NC45Yy0uOS0xLS45LTEuMi0xLjMtMiAxMi4xLTIuNiAyNC4yLTQuMSAzNi42LTQuOC0xLjEgMTQuNy0yMi4yIDIxLjMtMzUuMyA2Ljh6TTI3Mi4yIDQxNS40Yy00Mi44IDEuMi05Mi0yNi43LTEyMy41LTYxLjQtNC42LTUtMTYuOC0yMC4yLTE4LjYtMjMuNGwuNC0uNGM2LjYgNC4xIDI1LjcgMTguNiA1NC44IDI3IDI0LjIgNyA0OC4xIDYuMyA3MS42LTMuMyAyMi43LTkuMyA0MS0uNSA0My4xIDIuOS0xOC41IDMuOC0yMC4xIDQuNC0yNCA3LjktNS4xIDQuNC00LjYgMTEuNyA3IDE3LjIgMjYuMiAxMi40IDYzLTIuOCA5Ny4yIDI1LjQgMi40IDIgOC4xIDcuOCAxMC4xIDEwLjctLjEgLjItLjMgLjMtLjQgLjUtNC44LTEuNS0xNi40LTcuNS00MC4yLTkuMy0yNC43LTItNDYuMyA1LjMtNzcuNSA2LjJ6TTQ0NyAxNjMuNGMxNi40LTUuMiA0MS4zLTEzLjQgNjYuNS0zLjMgMTYuMSA2LjUgMjYuMiAxOC43IDMyLjEgMzQuNiAzLjUgOS40IDUuMSAxOS43IDUuMSAyOC43LS4yIDAtLjQgMC0uNiAuMS0uMi0uNC0uNC0uOS0uNS0xLjMtNS0yMi0yOS45LTQzLjgtNjcuNi0yOS45LTUwLjIgMTguNi0xMzAuNCA5LjctMTc2LjktNDgtLjctLjktMi40LTEuNy0xLjMtMy4yIC4xLS4yIDIuMSAuNiAzIDEuMyAxOC4xIDEzLjQgMzguMyAyMS45IDYwLjMgMjYuMiAzMC41IDYuMSA1NC42IDIuOSA3OS45LTUuMnpNNTQ5LjcgMjgwLjljLTMyLjQgLjItMzMuOCA1MC4xLTEwMy42IDY0LjQtMTguMiAzLjctMzguNyA0LjYtNDQuOSA0LjJsMC0uNGMyLjgtMS41IDE0LjctMi42IDI5LjctMTYuNiA3LjktNy4zIDE1LjMtMTUuMSAyMi44LTIyLjkgMTkuNS0yMC4yIDQxLjQtNDIuMiA4MS45LTM5IDIzLjEgMS44IDI5LjMgOC4yIDM2LjEgMTIuNyAuMyAuMiAuNCAuNSAuNyAuOS0uNSAwLS43IC4xLS45IDAtNy0yLjctMTQuMy0zLjMtMjEuOC0zLjN6bS0xMi4zLTI0LjFjLS4xIC4yLS4xIC40LS4yIC42LTI4LjktNC40LTQ4LTcuOS02OC41IDQtMTcgOS45LTMxLjQgMjAuNS02MiAyNC40LTI3LjEgMy40LTQ1LjEgMi40LTY2LjEtOC0uMy0uMi0uNi0uNC0xLS42IDAtLjIgLjEtLjMgLjEtLjUgMjQuOSAzLjggMzYuNCA1LjEgNTUuNS01LjggMjIuMy0xMi45IDQwLjEtMjYuNiA3MS4zLTMxIDI5LjYtNC4xIDUxLjMgMi41IDcwLjkgMTYuOXpNMjY4LjYgOTcuM2MtLjYtLjYtMS4xLTEuMi0yLjEtMi4zIDcuNiAwIDI5LjctMS4yIDUzLjQgOC40IDE5LjcgOCAzMi4yIDIxIDUwLjIgMzIuOSAxMS4xIDcuMyAyMy40IDkuMyAzNi40IDguMSA0LjMtLjQgOC41LTEuMiAxMi44LTEuNyAuNC0uMSAuOSAwIDEuNSAuMy0uNiAuNC0xLjIgLjktMS44IDEuMi04LjEgNC0xNi43IDYuMy0yNS42IDcuMS0yNi4xIDIuNi01MC4zLTMuNy03My40LTE1LjQtMTkuMy05LjktMzYuNC0yMi45LTUxLjQtMzguNnpNNjQwIDMzNS43Yy0zLjUgMy4xLTIyLjcgMTEuNi00Mi43IDUuMy0xMi4zLTMuOS0xOS41LTE0LjktMzEuNi0yNC4xLTEwLTcuNi0yMC45LTcuOS0yOC4xLTguNCAuNi0uOCAuOS0xLjIgMS4yLTEuNCAxNC44LTkuMiAzMC41LTEyLjIgNDcuMy02LjUgMTIuNSA0LjIgMTkuMiAxMy41IDMwLjQgMjQuMiAxMC44IDEwLjQgMjEgOS45IDIzLjEgMTAuNSAuMS0uMSAuMiAwIC40IC40em0tMjEyLjUgMTM3YzIuMiAxLjIgMS42IDEuNSAxLjUgMi0xOC41LTEuNC0zMy45LTcuNi00Ni44LTIyLjItMjEuOC0yNC43LTQxLjctMjcuOS00OC42LTI5LjcgLjUtLjIgLjgtLjQgMS4xLS40IDEzLjEgLjEgMjYuMSAuNyAzOC45IDMuOSAyNS4zIDYuNCAzNSAyNS40IDQxLjYgMzUuMyAzLjIgNC44IDcuMyA4LjMgMTIuMyAxMS4xeiJdfSxJdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2l0IixpY29uOls1MTIsNTEyLFtdLCJmMWQzIiwiTTIxNi4zIDE1OC40bC03OS4zIDBjLTQwLTEwLjUtMTMwLjUtNy44LTEzMC41IDc0LjggMCAzMC4xIDE1IDUxLjIgMzUgNjEtMjUuMSAyMy0zNyAzMy44LTM3IDQ5LjIgMCAxMSA0LjUgMjEuMSAxNy45IDI2LjgtMTQuMyAxMy40LTIyLjQgMjMuMS0yMi40IDQxLjQgMCAzMi4xIDI4IDUwLjggMTAxLjYgNTAuOCA3MC44IDAgMTExLjgtMjYuNCAxMTEuOC03My4yIDAtNTguNy00NS4yLTU2LjUtMTUxLjYtNjNsMTMuNC0yMS42YzI3LjMgNy42IDExOC43IDEwIDExOC43LTY3LjkgMC0xOC43LTcuNy0zMS43LTE1LTQxLjFsMzcuNC0yLjggMC0zNC41ek0xNTIuOSA0MDAuM2MwIDMyLjEtMTA0LjkgMzIuMS0xMDQuOSAyLjQgMC04LjEgNS4zLTE1IDEwLjYtMjEuNSA3Ny43IDUuMyA5NC4zIDMuNCA5NC4zIDE5LjF6TTEwMi4xIDI2NS43Yy01Mi44IDAtNTAuNS03MS4yIDEuMi03MS4yIDQ5LjUgMCA1MC44IDcxLjItMS4yIDcxLjJ6TTIzNS40IDM2Ni4ybDAtMzIuMWMyNi43LTMuNyAyNy4yLTIgMjcuMi0xMWwwLTExOS41YzAtOC41LTIuMS03LjQtMjcuMi0xNi4zbDQuNS0zMi45IDg0LjIgMCAwIDE2OC43YzAgNi41IC40IDcuMyA2LjUgOC4xbDIwLjcgMi44IDAgMzIuMS0xMTUuOSAwem01Mi41LTI0NC4zYy0yMy4yIDAtMzYuNi0xMy40LTM2LjYtMzYuNnMxMy40LTM1LjggMzYuNi0zNS44YzIzLjYgMCAzNyAxMi42IDM3IDM1LjhzLTEzLjQgMzYuNi0zNyAzNi42ek01MTIgMzUwLjVjLTE3LjUgOC41LTQzLjEgMTYuMy02Ni4zIDE2LjMtNDguNCAwLTY2LjctMTkuNS02Ni43LTY1LjVsMC0xMDYuNWMwLTUuNCAxLTQuMS0zMS43LTQuMWwwLTM2LjJjMzUuOC00LjEgNTAtMjIgNTQuNS02Ni4zbDM4LjYgMGMwIDY1LjgtMS4zIDYxLjggMy4zIDYxLjhsNTcuMyAwIDAgNDAuNi02MC42IDAgMCA5Ny4xYzAgNi45LTQuOSA1MS40IDYwLjYgMjYuOGwxMSAzNS44eiJdfSxOdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib3B0aW4tbW9uc3RlciIsaWNvbjpbNTc2LDUxMixbXSwiZjIzYyIsIk01NzIuOCA0MjEuNGM1LjYtOS41IDQuNy0xNS4yLTUuNC0xMS42LTMtNC45LTctOS41LTExLjEtMTMuOCAyLjktOS43LS43LTE0LjItMTAuOC05LjItNC42LTMuMi0xMC4zLTYuNS0xNS45LTkuMiAwLTE1LjEtMTEuNi0xMS42LTE3LjYtNS43LTEwLjQtMS41LTE4LjctLjMtMjYuOCA1LjcgLjMtNi41IC4zLTEzIC4zLTE5LjcgMTIuNiAwIDQwLjItMTEgNDUuOS0zNi4yIDEuNC02LjggMS42LTEzLjgtLjMtMjEuOS0zLTEzLjUtMTQuMy0yMS4zLTI1LjEtMjUuNy0uOC01LjktNy42LTE0LjMtMTQuOS0xNS45cy0xMi40IDQuOS0xNC4xIDEwLjNjLTguNSAwLTE5LjIgMi44LTIxLjEgOC40LTUuNC0uNS0xMS4xLTEuNC0xNi44LTEuOSAyLjctMS45IDUuNC0zLjUgOC40LTQuNiA1LjQtOS4yIDE0LjYtMTEuNCAyNS43LTExLjZsMC0yLjhjMTkuNS0uNSA0My01LjkgNTMuOC0xOC4xIDEyLjctMTMuOCAxNC42LTM3LjMgMTIuNC01NS4xLTIuNC0xNy4zLTkuNy0zNy42LTI0LjYtNDguMS04LjQtNS45LTIxLjYtLjgtMjIuNyA5LjUtMi4yIDE5LjYgMS4yIDMwLTM4LjYgMjUuMS0xMC4zLTIzLjgtMjQuNi00NC42LTQyLjctNjAtNjkuNi01OS43LTE2Ny43LTUzLjgtMjQ0LjItMzcuNiAxOS43IDQuNiA0MS4xIDguNiA1OS43IDE2LjUtMjYuMiAyLjQtNTIuNyAxMS4zLTc2LjIgMjMuMi0zMi44IDE3LTQ0IDI5LjktNTYuNyA0Mi40IDE0LjktMi4yIDI4LjktNS4xIDQzLjgtMy44LTkuNyA1LjQtMTguNCAxMi4yLTI2LjUgMjAtMjUuOCAuOS0yMy44LTUuMy0yNi4yLTI1LjktMS4xLTEwLjUtMTQuMy0xNS40LTIyLjctOS43LTI4LjEgMTkuOS0zMy41IDc5LjktMTIuMiAxMDMuNSAxMC44IDEyLjIgMzUuMSAxNy4zIDU0LjkgMTcuOC0uMyAxLjEtLjMgMS45LS4zIDIuNyAxMC44IC41IDE5LjUgMi43IDI0LjYgMTEuNiAzIDEuMSA1LjcgMi43IDguMSA0LjYtNS40IC41LTExLjEgMS40LTE2LjUgMS45LTMuMy02LjYtMTMuNy04LjEtMjEuMS04LjEtMS42LTUuNy02LjUtMTIuMi0xNC4xLTEwLjMtNi44IDEuOS0xNC4xIDEwLTE0LjkgMTUuOS0yMi41IDkuNS0zMC4xIDI2LjgtMjUuMSA0Ny42IDUuMyAyNC44IDMzIDM2LjIgNDUuOSAzNi4ybDAgMTkuN2MtNi42LTUtMTQuMy03LjUtMjYuOC01LjctNS41LTUuNS0xNy4zLTEwLjEtMTcuMyA1LjctNS45IDIuNy0xMS40IDUuOS0xNS45IDkuMi05LjgtNC45LTEzLjYtMS43LTExLjEgOS4yLTQuMSA0LjMtNy44IDguNi0xMS4xIDEzLjgtMTAuMi0zLjctMTEgMi4yLTUuNCAxMS42LTEuMSAzLjUtMS42IDctMS45IDEwLjgtLjUgMzEuNiA0NC42IDY0IDczLjUgNjUuMSAxNy4zIC41IDM0LjYtOC40IDQzLTIzLjUgMTEzLjIgNC45IDIyNi43IDQuMSAzNDAuMiAwIDguMSAxNS4xIDI1LjQgMjQuMyA0Mi43IDIzLjUgMjkuMi0xLjEgNzQuMy0zMy41IDczLjUtNjUuMSAuMi0zLjctLjctNy4yLTEuNy0xMC43ek00OTkgMTY3LjRjMS4xLTMgMi40LTguNCAyLjQtMTQuNiAwLTUuOSA2LjgtOC4xIDE0LjEtLjggMTEuMSAxMS42IDE0LjkgNDAuNSAxMy44IDUxLjEtNC4xLTEzLjYtMTMtMjktMzAuMy0zNS43em0tNC42IDYuN2MxOS41IDYuMiAyOC42IDI3LjYgMjkuNyA0OC45LTEuMSAyLjctMyA1LjQtNC45IDcuNi01LjcgNS45LTE1LjQgMTAtMjYuMiAxMi4yIDQuMy0yMS4zIC4zLTQ3LjMtMTIuNy02MyA0LjktLjggMTAuOS0yLjQgMTQuMS01Ljd6bS0yNC4xIDYuOGMxMy44IDExLjkgMjAgMzkuMiAxNC4xIDYzLjUtNC4xIC41LTguMSAuOC0xMS42IC44LTEuOS0yMS45LTYuOC00NC0xNC4zLTY0LjYgMy43IC4zIDguMSAuMyAxMS44IC4zek00Ny43IDIwM2MtMS4xLTEwLjUgMi40LTM5LjUgMTMuOC01MS4xIDctNy4zIDE0LjEtNS4xIDE0LjEgLjggMCA2LjIgMS40IDExLjYgMi40IDE0LjYtMTcuMyA2LjgtMjYuMiAyMi4yLTMwLjMgMzUuN3ptOS43IDI3LjZjLTEuOS0yLjItMy41LTQuOS00LjktNy42IDEuNC0yMS4zIDEwLjMtNDIuNyAyOS43LTQ4LjkgMy4yIDMuMiA5LjIgNC45IDE0LjEgNS43LTEzIDE1LjctMTcgNDEuNi0xMi43IDYzLTEwLjgtMi4yLTIwLjUtNi0yNi4yLTEyLjJ6bTQ3LjkgMTQuNmMtNC4xIDAtOC4xLS4zLTEyLjctLjgtNC42LTE4LjYtMS45LTM4LjkgNS40LTUzbDAgLjMgMTIuMi01LjFjNC45LTEuOSA5LjctMy44IDE0LjktNC45LTEwLjcgMTkuNy0xNy40IDQxLjMtMTkuOCA2My41em0xODQtMTAuNWE3Ni4xIDc2LjEgMCAxIDEgMC0xNTIuMiA3Ni4xIDc2LjEgMCAxIDEgMCAxNTIuMnptMTE1LjYgMjIuMWMtLjMgMTcuOC03IDQ4LjktMjMgNTctMTMuMiA2LjYtNi41LTcuNS0xNi41LTU4LjEgMTMuMyAuMyAyNi42IC4zIDM5LjUgMS4xem0tNTQtMS42Yy44IDQuOSAzLjggNDAuMy0xLjYgNDEuOS0xMS42IDMuNS00MCA0LjMtNTEuMS0xLjEtNC4xLTMtNC42LTM1LjktNC4zLTQxLjFsMCAuM2MxOC45LS4zIDM4LjEtLjMgNTcgMHpNMjc4LjUgMzA5Yy0xMyAzLjUtNDEuNiA0LjEtNTQuNi0xLjYtNi41LTIuNy0zLjgtNDIuNC0xLjktNTEuNiAxOS4yLS41IDM4LjQtLjUgNTcuOC0uOGwwIC4zYzEuMSA4LjMgMy4zIDUxLjItMS4zIDUzLjd6TTE3MiAyNTcuOWMxMi4yLS44IDI0LjYtMS40IDM2LjgtMS42LTIuNCAxNS40LTMgNDMuNS00LjkgNTIuMi0xLjEgNi44LTQuMyA2LjgtOS43IDQuMy0yMS45LTkuOC0yNy42LTM1LjItMjIuMi01NC45em0tMzUuNCAzMS4zYzcuOC0xLjEgMTUuNy0xLjkgMjMuNS0yLjcgMS42IDYuMiAzLjggMTEuOSA3IDE3LjYgMTAgMTcgNDQgMzUuNyA0NS4xIDcgNi4yIDE0LjkgNDAuOCAxMi4yIDU0LjkgMTAuOCAxNS43LTEuNCAyMy44LTEuNCAyNi44LTE0LjMgMTIuNCA0LjMgMzAuOCA0LjEgNDQgMyAxMS4zLS44IDIwLjgtLjUgMjQuNi04LjkgMS4xIDUuMSAxLjkgMTEuNiA0LjYgMTYuOCAxMC44IDIxLjMgMzcuMyAxLjQgNDYuOC0zMS42IDguNiAuOCAxNy42IDEuOSAyNi41IDIuNy0uNCAxLjMtMy44IDcuMyA3LjMgMTEuNi00Ny42IDQ3LTk1LjcgODcuOC0xNjMuMiAxMDctNjMuMi0yMC44LTExMi4xLTU5LjUtMTU1LjktMTA2LjUgOS42LTMuNCAxMC40LTguOCA4LTEyLjV6TTExNSA0NjEuN2MtMy44IDE3LjgtMjEuOSAyOS43LTM5LjcgMjguOS0xOS4yLS44LTQ2LjUtMTctNTkuMi0zNi41LTIuNy0zMS4xIDQzLjgtNjEuMyA2Ni4yLTU0LjYgMTQuOSA0LjMgMjcuOCAzMC44IDMzLjUgNTQgMCAzLS4zIDUuNy0uOCA4LjJ6bS04LjctNjZjLS41LTEzLjUtLjUtMjctLjMtNDAuNWwuMyAwYzIuNy0xLjYgNS43LTMuOCA3LjgtNi41IDYuNS0xLjYgMTMtNS4xIDE1LjEtOS4yIDMuMy03LjEtNy03LjUtNS40LTEyLjQgMi43LTEuMSA1LjctMi4yIDcuOC0zLjUgMjkuMiAyOS4yIDU4LjYgNTYuNSA5Ny4zIDc3LTM2LjggMTEuMy03Mi40IDI3LjYtMTA1LjkgNDctMS4yLTE4LjYtNy43LTM1LjktMTYuNy01MS45em0zMzcuNiA2NC42Yy0xMDMgMy41LTIwNi4yIDQuMS0zMDkuNCAwIDAgLjMgMCAuMy0uMyAuM2wwLS4zIC4zIDBjMzUuMS0yMS42IDcyLjItMzkuMiAxMTIuNC01MC44IDExLjYgNS4xIDIzIDkuNSAzNC45IDEzLjIgMi4yIC44IDIuMiAuOCA0LjMgMCAxNC4zLTQuMSAyOC40LTkuMiA0Mi4yLTE1LjQgNDEuNSAxMS43IDc4LjggMzEuNyAxMTUuNiA1M3ptMTAuNS0xMi40Yy0zNS45LTE5LjUtNzMtMzUuOS0xMTEuOS00Ny42IDM4LjEtMjAgNzEuOS00Ny4zIDEwMy41LTc2LjcgMi4yIDEuNCA0LjYgMi40IDcuNiAzLjIgMCAuOCAuMyAxLjkgLjUgMi40LTQuNiAyLjctNy44IDYuMi01LjkgMTAuMyAyLjIgMy44IDguNiA3LjYgMTUuMSA4LjkgMi40IDIuNyA1LjEgNS4xIDguMSA2LjggMCAxMy44LS4zIDI3LjYtLjggNDEuM2wuMy0uM2MtOS4zIDE1LjktMTUuNSAzNy0xNi41IDUxLjd6bTEwNS45IDYuMmMtMTIuNyAxOS41LTQwIDM1LjctNTkuMiAzNi41LTE5LjMgLjktNDAuNS0xMy4yLTQwLjUtMzcgNS43LTIzLjIgMTguOS00OS43IDMzLjUtNTQgMjIuNy02LjkgNjkuMiAyMy40IDY2LjIgNTQuNXpNMzczLjEgNzUuMmMtMy44LTcyLjEtMTAwLjgtNzkuNy0xMjYtMjMuNSA0NC42LTI0LjMgOTAuMy0xNS43IDEyNiAyMy41ek03NSA0MDcuMWMtMTUuNyAxLjYtNDkuNSAyNS40LTQ5LjUgNDMuMiAwIDExLjYgMTUuNyAxOS41IDMyLjIgMTQuOSAxMi4yLTMuMiAzMS4xLTE3LjYgMzUuOS0yNy4zIDYtMTEuNi0zLjctMzIuNy0xOC42LTMwLjh6TTI5MC45IDIzMC45YzI4LjYgMCA1MS45LTIxLjYgNTEuOS00OC40IDAtMzYuMS00MC41LTU4LjEtNzIuMi00NC4zIDkuNSAzIDE2LjUgMTEuNiAxNi41IDIxLjYgMCAyMy4zLTMzLjMgMzItNDYuNSAxMS4zLTcuMyAzNC4xIDE5LjQgNTkuOCA1MC4zIDU5Ljh6TTY4LjIgNDc0LjFjLjUgNi41IDEyLjIgMTIuNyAyMS42IDkuNSA2LjgtMi43IDE0LjYtMTAuNSAxNy4zLTE2LjIgMy03LTEuMS0yMC05LjctMTguNC04LjkgMS42LTI5LjcgMTYuNy0yOS4yIDI1LjF6bTQzMy4yLTY3Yy0xNC45LTEuOS0yNC42IDE5LjItMTguOSAzMC44IDQuOSA5LjcgMjQuMSAyNC4xIDM2LjIgMjcuMyAxNi41IDQuNiAzMi4yLTMuMiAzMi4yLTE0LjkgMC0xNy44LTMzLjgtNDEuNi00OS41LTQzLjJ6TTQ3OSA0NDljLTguNC0xLjYtMTIuNCAxMS4zLTkuNSAxOC40IDIuNCA1LjcgMTAuMyAxMy41IDE3LjMgMTYuMiA5LjIgMy4yIDIxLjEtMyAyMS4zLTkuNSAuOS04LjQtMjAuMi0yMy41LTI5LjEtMjUuMXoiXX0sUnV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImplbmtpbnMiLGljb246WzQ0OCw1MTIsW10sImYzYjYiLCJNNDU1LjQgNDI1Yy0xLjQtMTEuMi0xOS0yMy4xLTI4LjItMzEuOS01LjEtNS0yOS0yMy4xLTMwLjQtMjkuOS0xLjQtNi42IDkuNy0yMS41IDEzLjMtMjguOSA1LjEtMTAuNyA4LjgtMjMuNyAxMS4zLTMyLjYgMTguOC02Ni4xIDIwLjctMTU2LjktNi4yLTIxMS4yLTEwLjItMjAuNi0zOC42LTQ5LTU2LjQtNjIuNS00Mi0zMS43LTExOS42LTM1LjMtMTcwLjEtMTYuNi0xNC4xIDUuMi0yNy44IDkuOC00MC4xIDE3LjEtMzMuMSAxOS40LTY4LjMgMzIuNS03OC4xIDcxLjYtMjQuMiAxMC44LTMxLjUgNDEuOC0zMC4zIDc3LjggLjIgNyA0LjEgMTUuOCAyLjcgMjIuNC0uNyAzLjMtNS4yIDcuNi02LjEgOS44LTExLjYgMjcuNy0yLjMgNjQgMTEuMSA4My43IDguMSAxMS45IDIxLjUgMjIuNCAzOS4yIDI1LjIgLjcgMTAuNiAzLjMgMTkuNyA4LjIgMzAuNCAzLjEgNi44IDE0LjcgMTkgMTAuNCAyNy43LTIuMiA0LjQtMjEgMTMuOC0yNy4zIDE3LjYtMjEuMSAxMi41LTM2LjQgMjAuMy01NS45IDM0LjMtMTIuNiA5LTMyLjMgMTAuMi0yOS4yIDMxLjEgMi4xIDE0LjEgMTAuMSAzMS42IDE0LjcgNDUuOCAuNyAyIDEuNCA0LjEgMi4xIDZsNDIyIDBjNC45LTE1LjMgOS43LTMwLjkgMTQuNi00Ny4yIDMuNC0xMS40IDEwLjItMjcuOCA4LjctMzkuN3pNMTc0LjIgMzMuN2MxLjgtLjUgMy40IC43IDQuOSAyLjQtLjIgNS4yLTUuNCA1LjEtOC45IDYuOC01LjQgNi43LTEzLjQgOS44LTIwIDE3LjItNi44IDcuNS0xNC40IDI3LjctMjMuNCAzMC00LjUgMS4xLTkuNy0uOC0xMy42LS41LTEwLjQgLjctMTcuNyA2LTI4LjMgNy41IDEzLjYtMjkuOSA1Ni4xLTU0IDg5LjMtNjMuNHpNNjkuNCAxMjcuM2MxMy41LTE0LjkgMzIuMS0yNC4xIDU0LjgtMjUuOSAxMS43IDI5LjctOC40IDY1LS45IDk3LjYgMi4zIDkuOSAxMC4yIDI1LjQtMi40IDI1LjcgLjMtMjguMy0zNC44LTQ2LjMtNjEuMy0yOS42LTEuOC0yMS41LTQuOS01MS43IDkuOC02Ny44em0zNi43IDIwMC4yYy0xLTQuMS0yLjctMTIuOS0yLjMtMTUuMSAxLjYtOC43IDE3LjEtMTIuNSAxMS0yNC43LTExLjMtLjEtMTMuOCAxMC4yLTI0LjEgMTEuMy0yNi43IDIuNi00NS42LTM1LjQtNDQuNC01OC40IDEtMTkuNSAxNy42LTM4LjIgNDAuMS0zNS44IDE2IDEuOCAyMS40IDE5LjIgMjQuNSAzNC43IDkuMiAuNSAyMi41LS40IDI2LjktNy42LS42LTE3LjUtOC44LTMxLjYtOC4yLTQ3LjcgMS0zMC4zIDE3LjUtNTcuNiA0LjgtODcuNCAxMy42LTMwLjkgNTMuNS01NS4zIDgzLjEtNzAgMzYuNi0xOC4zIDk0LjktMy43IDEyOS4zIDE1LjggMTkuNyAxMS4xIDM0LjQgMzIuNyA0OC4zIDUwLjctMTkuNS01LjgtMzYuMSA0LjItMzMuMSAyMC4zIDE2LjMtMTQuOSA0NC4yLS4yIDUyLjUgMTYuNCA3LjkgMTUuOCA3LjggMzkuMyA5IDYyLjggMi45IDU3LTEwLjQgMTE1LjktMzkuMSAxNTcuMS03LjcgMTEtMTQuMSAyMy0yNC45IDMwLjYtMjYgMTguMi02NS40IDM0LjctOTkuMiAyMy40LTQ0LjctMTUtNjUtNDQuOC04OS41LTc4LjggLjcgMTguNyAxMy44IDM0LjEgMjYuOCA0OC40IDExLjMgMTIuNSAyNSAyNi42IDM5LjcgMzIuNC0xMi4zLTIuOS0zMS4xLTMuOC0zNi4yIDcuMi0yOC42LTEuOS01NS4xLTQuOC02OC43LTI0LjItMTAuNi0xNS40LTIxLjQtNDEuNC0yNi4zLTYxLjR6bTIyMiAxMjQuMWM0LjEtMyAxMS4xLTIuOSAxNy40LTMuNi01LjQtMi43LTEzLTMuNy0xOS4zLTIuMi0uMS00LjItMi02LjgtMy4yLTEwLjIgMTAuNi0zLjggMzUuNS0yOC41IDQ5LjYtMjAuMyA2LjcgMy45IDkuNSAyNi4yIDEwLjEgMzcgLjQgOS0uOCAxOC00LjUgMjIuOC0xOC44LS42LTM1LjgtMi44LTUwLjctNyAuOS02LjEtMS0xMi4xIC42LTE2LjV6bS0xNy4yLTIwYy0xNi44IC44LTI2LTEuMi0zOC4zLTEwLjggLjItLjggMS40LS41IDEuNS0xLjQgMTggOCA0MC44LTMuMyA1OS00LjktNy45IDUuMS0xNC42IDExLjYtMjIuMiAxNy4xem0tMTIuMSAzMy4yYy0xLjYtOS40LTMuNS0xMi0yLjgtMjAuMiAyNS0xNi42IDI5LjcgMjguNiAyLjggMjAuMnpNMTk0LjMgNDM4LjZjLTExLjYtLjctNDguMS0xNC0zOC41LTIzLjcgOS40IDYuNSAyNy41IDQuOSA0MS4zIDcuMyAuOCA0LjQtMi44IDEwLjItMi44IDE2LjR6TTI2IDQ5Ny4xYy00LjMtMTIuNy05LjItMjUuMS0xNC44LTM2LjkgMzAuOC0yMy44IDY1LjMtNDguOSAxMDIuMi02My41IDIuOC0xLjEgMjMuMiAyNS40IDI2LjIgMjcuNiAxNi41IDExLjcgMzcgMjEgNTYuMiAzMC4yIDEuMiA4LjggMy45IDIwLjIgOC43IDM1LjUgLjcgMi4zIDEuNCA0LjcgMi4yIDcuMmwtMTgwLjcgMCAwLS4xem0yNDAuNiA1LjdsLS44IDBjLjMtLjIgLjUtLjQgLjgtLjVsMCAuNXptNy41LTUuN2MyLjEtMS40IDQuMy0yLjggNi40LTQuMyAxLjEgMS40IDIuMiAyLjggMy4yIDQuM2wtOS42IDB6bTE1LjEtMjQuN2MtMTAuOCA3LjMtMjAuNiAxOC4zLTMzLjMgMjUuMi02IDMuMy0yNyAxMS43LTMzLjQgMTAuMi0zLjYtLjgtMy45LTUuMy01LjQtOS41LTMuMS05LTEwLjEtMjMuNC0xMC44LTM3LS44LTE3LjItMi41LTQ2IDE2LTQyLjQgMTQuOSAyLjkgMzIuMyA5LjcgNDMuOSAxNi4xIDcuMSAzLjkgMTEuMSA4LjYgMjEuOSA5LjUtLjEgMS40LS4xIDIuOC0uMiA0LjMtNS45IDMuOS0xNS4zIDMuOC0yMS44IDcuMSA5LjUgLjQgMTcgMi43IDIzLjUgNS45LS4xIDMuNC0uMyA3LS40IDEwLjZ6bTUzLjQgMjQuN2wtMTQgMGMtLjEtMy4yLTIuOC01LjgtNi4xLTUuOHMtNS45IDIuNi02LjEgNS44bC0xNy40IDBjLTIuOC00LjQtNS43LTguNi04LjktMTIuNSAyLjEtMi4yIDQtNC43IDYtNi45IDkgMy43IDE0LjgtNC45IDIxLjctNC4yIDcuOSAuOCAxNC4yIDExLjcgMjUuNCAxMWwtLjYgMTIuNnptOC43IDBjLjItNCAuNC03LjggLjYtMTEuNSAxNS42LTcuMyAyOSAxLjMgMzUuNyAxMS41bC0zNi4zIDB6bTgzLjQtMzdjLTIuMyAxMS4yLTUuOCAyNC05LjkgMzcuMS0uMi0uMS0uNC0uMS0uNi0uMWwtMjcuOSAwYy42LTEuMSAxLjItMi4yIDEuOS0zLjMtMi42LTYuMS05LTguNy0xMC45LTE1LjUgMTIuMS0yMi43IDYuNS05My40LTI0LjItNzguNSA0LjMtNi4zIDE1LjYtMTEuNSAyMC44LTE5LjMgMTMgMTAuNCAyMC44IDIwLjMgMzMuMiAzMS40IDYuOCA2IDIwIDEzLjMgMjEuNCAyMy4xIC44IDUuNS0yLjYgMTguOS0zLjggMjUuMXpNMTkwLjUgMTMwLjVjNS40LTE0LjkgMjcuMi0zNC43IDQ1LTMyIDcuNyAxLjIgMTggOC4yIDEyLjIgMTcuNy0zMC4yLTctNDUuMiAxMi42LTU0LjQgMzMuMS04LjEtMi00LjktMTMuMS0yLjgtMTguOHptMTg0LjEgNjMuMWM4LjItMy42IDIyLjQtLjcgMjkuNi01LjMtNC4yLTExLjUtMTAuMy0yMS40LTkuMy0zNy43IC41IDAgMSAwIDEuNCAuMSA2LjggMTQuMiAxMi43IDI5LjIgMjEuNCA0MS43LTUuNyAxMy41LTQzLjYgMjUuNC00My4xIDEuMnptLTk2LjggMi43Yy02LjgtMTAuOS0xOS0zMi41LTE0LjUtNDUuMyA2LjUgMTEuOSA4LjYgMjQuNCAxNy44IDMzLjMgNC4xIDQgMTIuMiA5IDguMiAyMC4yLS45IDIuNy03LjggOC42LTExLjcgOS43LTE0LjQgNC4zLTQ3LjkgLjktMzYuNi0xNy4xIDExLjkgLjcgMjcuOSA3LjggMzYuOC0uOHptMjcuMyA3MGMzLjggNi42IDEuNCAxOC43IDEyLjEgMjAuNiAyMC4yIDMuNCA0My42LTEyLjMgNTguMS0xNy44IDktMTUuMi0uOC0yMC43LTguOS0zMC41LTE2LjYtMjAtMzguOC00NC44LTM4LTc0LjcgNi43LTQuOSA3LjMgNy40IDguMiA5LjcgOC43IDIwLjMgMzAuNCA0Ni4yIDQ2LjMgNjMuNSAzLjkgNC4zIDEwLjMgOC40IDExIDExLjIgMi4xIDguMi01LjQgMTgtNC41IDIzLjUtMjEuNyAxMy45LTQ1LjggMjkuMS04MS40IDI1LjYtNy40LTYuNy0xMC4zLTIxLjQtMi45LTMxLjF6bS0yMDEuMy05LjJjLTYuOC0zLjktOC40LTIxLTE2LjQtMjEuNC0xMS40LS43LTkuMyAyMi4yLTkuMyAzNS41LTcuOC03LjEtOS4yLTI5LjEtMy41LTQwLjMtNi42LTMuMi05LjUgMy42LTEzLjEgNS45IDQuNy0zNC4xIDQ5LjgtMTUuOCA0Mi4zIDIwLjN6bTI5OS42IDI4LjhjLTEwLjEgMTkuMi0yNC40IDQwLjQtNTQgNDEtLjYtNi4yLTEuMS0xNS42IDAtMTkuNCAyMi43LTIuMiAzNi42LTEzLjcgNTQtMjEuNnpNMjYxLjUgMjk4LjNjMTguOSA5LjkgNTMuNiAxMSA3OS4zIDEwLjIgMS40IDUuNiAxLjMgMTIuNiAxLjQgMTkuNC0zMyAxLjgtNzItNi40LTgwLjctMjkuNnpNMzUzLjcgMzQ1Yy0xLjcgNC4zLTUuMyA5LjMtOS44IDExLjEtMTIuMSA0LjktNDUuNiA4LjctNjIuNC0uMy0xMC43LTUuNy0xNy41LTE4LjUtMjMuNC0yNi0yLjgtMy42LTE2LjktMTIuOS0uMi0xMi45IDEzLjEgMzIuNyA1OCAyOSA5NS44IDI4LjF6Il19LEZ1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzbGlkZXNoYXJlIixpY29uOls1MTIsNTEyLFtdLCJmMWU3IiwiTTE4Ny45IDE1My43Yy0zNCAwLTYxLjcgMjUuNy02MS43IDU3LjcgMCAzMS43IDI3LjcgNTcuNyA2MS43IDU3LjdzNjEuNy0yNiA2MS43LTU3LjdjMC0zMi0yNy43LTU3LjctNjEuNy01Ny43em0xNDMuNCAwYy0zNCAwLTYxLjcgMjUuNy02MS43IDU3LjcgMCAzMS43IDI3LjcgNTcuNyA2MS43IDU3LjcgMzQuMyAwIDYxLjctMjYgNjEuNy01Ny43IC4xLTMyLTI3LjQtNTcuNy02MS43LTU3Ljd6bTE1Ni42IDkwbC02IDQuMyAwLTE5OC4zYzAtMjcuNC0yMC42LTQ5LjctNDYtNDkuN0w3Ni44IDBjLTI1LjQgMC00NiAyMi4zLTQ2IDQ5LjdsMCAxOTguM2MtMi0xLjQtNC4zLTIuOS02LjMtNC4zLTE1LjEtMTAuNi0yNS4xIDQtMTYgMTcuNyAxOC4zIDIyLjYgNTMuMSA1MC4zIDEwNi4zIDcyLTU2LjMgMTkxLjcgMTM3LjQgMjIyLjMgMTM0LjMgMTI0LjEgMC0uNyAuMy01Ni42IC4zLTk2LjYgNS4xIDEuMSA5LjQgMi4zIDEzLjcgMy4xIDAgMzkuNyAuMyA5Mi44IC4zIDkzLjUtMy4xIDk4LjMgMTkwLjYgNjcuNyAxMzQuMy0xMjQgNTMuMS0yMS43IDg4LTQ5LjQgMTA2LjMtNzIgOS4xLTEzLjgtLjktMjguMy0xNi4xLTE3Ljh6bS0zMC41IDE5LjJjLTY4LjkgMzcuNC0xMjguMyAzMS4xLTE2MC42IDI5LjctMjMuNy0uOS0zMi42IDkuMS0zMy43IDI0LjktMTAuMy03LjctMTguNi0xNS41LTIwLjMtMTcuMS01LjEtNS40LTEzLjctOC0yNy4xLTcuNy0zMS43IDEuMS04OS43IDcuNC0xNTcuNC0yOGwwLTE5Mi40YzAtMzQuOSA4LjktNDUuNyA0MC42LTQ1LjdsMzE3LjcgMGMzMC4zIDAgNDAuOSAxMi45IDQwLjkgNDUuN2wwIDE5MC42LS4xIDB6Il19LE91dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1YmVyIixpY29uOls0NDgsNTEyLFtdLCJmNDAyIiwiTTQxNC4xIDMyTDMzLjkgMzJDMTUuMiAzMiAwIDQ3LjIgMCA2NS45TDAgNDQ2YzAgMTguOCAxNS4yIDM0IDMzLjkgMzRMNDE0IDQ4MGMxOC43IDAgMzMuOS0xNS4yIDMzLjktMzMuOWwwLTM4MC4yQzQ0OCA0Ny4yIDQzMi44IDMyIDQxNC4xIDMyek0yMzcuNiAzOTEuMUMxNjMgMzk4LjYgOTYuNCAzNDQuMiA4OC45IDI2OS42bDk0LjQgMCAwIDIwLjRjMCAzLjcgMyA2LjggNi44IDYuOGw2Ny45IDBjMy43IDAgNi44LTMgNi44LTYuOGwwLTY3LjljMC0zLjctMy02LjgtNi44LTYuOGwtNjcuOSAwYy0zLjcgMC02LjggMy02LjggNi44bDAgMjAuNC05NC40IDBjNy02OS40IDY1LjQtMTIyLjIgMTM1LjEtMTIyLjJzMTI4LjEgNTIuOCAxMzUuMSAxMjIuMmM3LjUgNzQuNS00Ni45IDE0MS4xLTEyMS41IDE0OC42eiJdfSxCdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGlnaXRhbC1vY2VhbiIsaWNvbjpbNTEyLDUxMixbXSwiZjM5MSIsIk04NyA0ODEuOGw3My43IDAgMC03My42LTczLjcgMCAwIDczLjZ6TTI1LjQgMzQ2LjZsMCA2MS42IDYxLjYgMCAwLTYxLjYtNjEuNiAwek00OTEuNiAxNzYuOUM0NjguNiAxMDIuNyA0MDkuMiA0My42IDMzNSAyMC4zIDE2NC45LTMyLjggOCA5My43IDggMjU1LjlsOTUuOCAwYzAtMTAxLjggMTAxLTE4MC41IDIwOC4xLTE0MS43IDM5LjcgMTQuMyA3MS41IDQ2LjEgODUuOCA4NS43IDM5LjEgMTA3LTM5LjcgMjA3LjgtMTQxLjQgMjA4bDAgLjMtLjMgMCAwIDk1LjhjMTYyLjYgMCAyODguOC0xNTYuOCAyMzUuNi0zMjcuMXptLTIzNS4zIDIzMWwwLTk1LjMtOTUuNiAwIDAgOTUuNiA5NS4zIDAgMC0uMyAuMyAweiJdfSxIdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic291bmRjbG91ZCIsaWNvbjpbNjQwLDUxMixbXSwiZjFiZSIsIk02NDAuMiAyOTguNmMtMS4zIDIzLjEtMTEuNSA0NC44LTI4LjQgNjAuNXMtMzkuMiAyNC40LTYyLjMgMjQuMWwtMjE4IDBjLTQuOCAwLTkuNC0yLTEyLjgtNS40cy01LjMtOC01LjMtMTIuOGwwLTIzNC44Yy0uMi00IC45LTggMy4xLTExLjRzNS4zLTYuMSA5LTcuN2MwIDAgMjAuMS0xMy45IDYyLjMtMTMuOSAyNS44IDAgNTEuMSA2LjkgNzMuMyAyMC4xIDE3LjMgMTAuMiAzMi4zIDIzLjggNDQuMSA0MC4xczIwIDM0LjggMjQuMiA1NC40YzcuNS0yLjEgMTUuMy0zLjIgMjMuMS0zLjIgMTEuNy0uMSAyMy4zIDIuMiAzNC4yIDYuN3MyMC41IDExLjMgMjguNyAxOS43IDE0LjYgMTguMyAxOC45IDI5LjMgNi4zIDIyLjYgNS45IDM0LjN6bS0zNTQtMTUzLjVjLjEtMSAwLTItLjMtMi45cy0uOC0xLjgtMS41LTIuNi0xLjUtMS4zLTIuNC0xLjdjLTEuOC0uOC00LS44LTUuOCAwLS45IC40LTEuNyAxLTIuNCAxLjdzLTEuMiAxLjYtMS41IDIuNi0uNCAxLjktLjMgMi45Yy02IDc4LjktMTAuNiAxNTIuOSAwIDIzMS42IC4yIDEuNyAxIDMuMyAyLjMgNC41IDIuNiAyLjQgNi44IDIuNCA5LjQgMCAxLjMtMS4yIDIuMS0yLjggMi4zLTQuNSAxMS4zLTc5LjQgNi42LTE1MiAwLTIzMS42bC4yIDB6bS00NCAyNy4zYy0uMi0xLjgtMS4xLTMuNS0yLjQtNC43cy0zLjEtMS45LTUtMS45LTMuNiAuNy01IDEuOS0yLjIgMi45LTIuNCA0LjdjLTcuOSA2Ny45LTcuOSAxMzYuNSAwIDIwNC40IC4zIDEuOCAxLjIgMy40IDIuNSA0LjVzMy4xIDEuOCA0LjggMS44IDMuNS0uNiA0LjgtMS44IDIuMi0yLjggMi41LTQuNWM4LjgtNjcuOCA4LjgtMTM2LjUgLjEtMjA0LjRsLjEgMHptLTQ0LjMtNi45Yy0uMi0xLjgtMS0zLjQtMi4zLTQuNnMtMy0xLjgtNC44LTEuOC0zLjUgLjctNC44IDEuOC0yLjEgMi44LTIuMyA0LjZjLTYuNyA3Mi0xMC4yIDEzOS4zIDAgMjExLjEgMCAxLjkgLjcgMy43IDIuMSA1czMuMSAyLjEgNSAyLjEgMy43LS43IDUtMi4xIDIuMS0zLjEgMi4xLTVjMTAuNS03Mi44IDcuMy0xMzguMiAuMS0yMTEuMWwtLjEgMHptLTQ0IDIwLjZjMC0xLjktLjgtMy44LTIuMS01LjJzLTMuMi0yLjEtNS4yLTIuMS0zLjggLjgtNS4yIDIuMS0yLjEgMy4yLTIuMSA1LjJjLTguMSA2My4zLTguMSAxMjcuNSAwIDE5MC44IC4yIDEuOCAxIDMuNCAyLjQgNC42czMuMSAxLjkgNC44IDEuOSAzLjUtLjcgNC44LTEuOSAyLjItMi44IDIuNC00LjZjOC44LTYzLjMgOC45LTEyNy41IC4zLTE5MC44bC0uMSAwem0tNDQuNSA0Ny42YzAtMS45LS44LTMuOC0yLjEtNS4xcy0zLjItMi4xLTUuMS0yLjEtMy44IC44LTUuMSAyLjEtMi4xIDMuMi0yLjEgNS4xYy0xMC41IDQ5LjItNS41IDkzLjkgLjQgMTQzLjYgLjMgMS42IDEuMSAzLjEgMi4zIDQuMnMyLjggMS43IDQuNSAxLjcgMy4yLS42IDQuNS0xLjcgMi4xLTIuNSAyLjMtNC4yYzYuNi01MC40IDExLjYtOTQuMSAuNC0xNDMuNnptLTQ0LjEtNy41Yy0uMi0xLjgtMS4xLTMuNS0yLjQtNC44cy0zLjItMS45LTUtMS45LTMuNiAuNy01IDEuOS0yLjIgMi45LTIuNCA0LjhjLTkuMyA1MC4yLTYuMiA5NC40IC4zIDE0NC41IC43IDcuNiAxMy42IDcuNSAxNC40IDAgNy4yLTUwLjkgMTAuNS05My44IC4zLTE0NC41bC0uMiAwek0yMC43IDI1MC44Yy0uMi0xLjgtMS4xLTMuNS0yLjQtNC44cy0zLjItMS45LTUtMS45LTMuNiAuNy01IDEuOS0yLjMgMi45LTIuNCA0LjhjLTguNSAzMy43LTUuOSA2MS42IC42IDk1LjQgLjIgMS43IDEgMy4zIDIuMyA0LjRzMi45IDEuOCA0LjcgMS44IDMuNC0uNiA0LjctMS44IDIuMS0yLjcgMi4zLTQuNGM3LjUtMzQuNSAxMS4yLTYxLjggLjQtOTUuNGwtLjIgMHoiXX0scXV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1maWdtYSIsaWNvbjpbNDQ4LDUxMixbXSwiZTdlNCIsIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek0xNzMuNyA5NmMtMzMgMC01OS44IDI2LjgtNTkuOCA1OS44IDAgMjEgMTAuOCAzOS40IDI3LjIgNTAuMS0xNi40IDEwLjctMjcuMiAyOS4xLTI3LjIgNTAuMXMxMC44IDM5LjUgMjcuMiA1MC4xYy0xNi40IDEwLjctMjcuMiAyOS4xLTI3LjIgNTAuMSAwIDMzLjEgMjcuMSA1OS44IDYwLjEgNTkuOCAzMy4yIDAgNjAuNi0yNi45IDYwLjYtNjAuM2wwLTU1LjdjMTAuNiA5LjggMjQuOCAxNS44IDQwLjQgMTUuOGwxLjEgMGMzMyAwIDU5LjgtMjYuOCA1OS44LTU5LjggMC0yMS0xMC44LTM5LjUtMjcuMi01MC4xIDE2LjQtMTAuNyAyNy4yLTI5LjEgMjcuMi01MC4xIDAtMzMtMjYuOC01OS44LTU5LjgtNTkuOEwxNzMuNyA5NnptNDEuNiAyMTkuOGwwIDM5LjljMCAyMi42LTE4LjYgNDEtNDEuMyA0MS0yMi40IDAtNDAuNy0xOC4yLTQwLjctNDAuNSAwLTIyLjMgMTguMS00MC40IDQwLjMtNDAuNGw0MS43IDB6bTAtMTAwLjNsMCA4MC45LTQxLjcgMGMtMjIuMy0uMS00MC4zLTE4LjItNDAuMy00MC41IDAtMjIuMyAxOC4xLTQwLjUgNDAuNS00MC41bDQxLjYgMHptNjAuOCAwYzIyLjMgMCA0MC41IDE4LjEgNDAuNSA0MC41cy0xOC4xIDQwLjUtNDAuNSA0MC41bC0xLjEgMGMtMjIuMyAwLTQwLjQtMTguMS00MC40LTQwLjVzMTguMS00MC41IDQwLjQtNDAuNWwxLjEgMHptLTYwLjgtMTkuM2wtNDEuNiAwYy0yMi4zIDAtNDAuNS0xOC4xLTQwLjUtNDAuNHMxOC4xLTQwLjUgNDAuNS00MC41bDQxLjYgMCAwIDgwLjl6bTYwLjgtODAuOWMyMi4zIDAgNDAuNSAxOC4xIDQwLjUgNDAuNXMtMTguMSA0MC40LTQwLjUgNDAuNGwtNDEuNSAwIDAtODAuOSA0MS41IDB6Il19LFZ1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLXNhIixpY29uOls1MTIsNTEyLFtdLCJmNGVmIiwiTTI1NS42IDhDMzk3LjQgOCA1MDQgMTE4LjEgNTA0IDI1NiA1MDQgNDAzLjEgMzg1LjUgNTA0IDI1NS42IDUwNCAxMjEuNiA1MDQgOCAzOTQuNSA4IDI1NiA4IDEyMy4xIDExMi43IDggMjU1LjYgOHptLjggNDQuN2MtMTE4LjIgMC0yMDMuNyA5Ny45LTIwMy43IDIwMy4zIDAgMTA5LjggOTEuMiAyMDIuOCAyMDMuNyAyMDIuOCAxMDMuMiAwIDIwMi44LTgxLjEgMjAyLjgtMjAyLjggLjEtMTEzLjgtOTAuMi0yMDMuMy0yMDIuOC0yMDMuM3pNMTQ1LjcgMjIxYzEzLTgzLjkgODAuNS05NS43IDEwOC45LTk1LjcgOTkuOCAwIDEyNy41IDgyLjUgMTI3LjUgMTM0LjIgMCA2My42LTQxIDEzMi45LTEyOC45IDEzMi45LTM4LjkgMC05OS4xLTIwLTEwOS40LTk3bDYyLjUgMGMxLjUgMzAuMSAxOS42IDQ1LjIgNTQuNSA0NS4yIDIzLjMgMCA1OC0xOC4yIDU4LTgyLjggMC04Mi41LTQ5LjEtODAuNi01Ni43LTgwLjYtMzMuMSAwLTUxLjcgMTQuNi01NS44IDQzLjhsMTguMiAwLTQ5LjIgNDkuMi00OS00OS4yIDE5LjQgMHoiXX0sanV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNocm9tZSIsaWNvbjpbNTEyLDUxMixbXSwiZjI2OCIsIk0wIDI1NmMwLTQ2LjYgMTIuNS05MC40IDM0LjMtMTI4LjlMMTQ0LjEgMzE4LjNjMjEuOSAzOS4yIDYzLjggNjUuNyAxMTEuOSA2NS43IDE0LjMgMCAyNy4xLTIuMyA0MC44LTYuNkwyMjAuNSA1MDkuNkM5NS45IDQ5Mi4zIDAgMzg1LjMgMCAyNTZ6bTM2NS4xIDY1LjZjMTIuMy0xOS4yIDE4LjktNDIuNSAxOC45LTY1LjYgMC0zOC4yLTE2LjgtNzIuNS00My4zLTk2bDE1Mi43IDBjMTIgMjkuNiAxOC42IDYyLjEgMTguNiA5NiAwIDE0MS40LTExNC42IDI1NS4xLTI1NiAyNTZMMzY1LjEgMzIxLjZ6TTQ3Ny44IDEyOEwyNTYgMTI4Yy02Mi45IDAtMTEzLjcgNDQuMS0xMjUuNSAxMDIuN0w1NC4yIDk4LjVDMTAxIDM4LjUgMTc0IDAgMjU2IDAgMzUwLjggMCA0MzMuNSA1MS41IDQ3Ny44IDEyOHpNMzQ0IDI1NmE4OCA4OCAwIDEgMSAtMTc2IDAgODggODggMCAxIDEgMTc2IDB6Il19LFV1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0cmFkZS1mZWRlcmF0aW9uIixpY29uOls1MTIsNTEyLFtdLCJmNTEzIiwiTTI1NiA4LjhhMjQ3LjIgMjQ3LjIgMCAxIDAgMCA0OTQuNCAyNDcuMiAyNDcuMiAwIDEgMCAwLTQ5NC40em0wIDExLjZhMjM1LjYgMjM1LjYgMCAxIDEgMCA0NzEuMiAyMzUuNiAyMzUuNiAwIDEgMSAwLTQ3MS4yek00MTEuMSAxNjMuMWwwLTQ2LjgtMTkzLjggMCAwIDgxLjctMTU1LjEgMCAzNi43IDQ2IDExNy43IDAgMCAxOTYuOCA0OC44IDAgMC0xOTUuOCA4My4zIDAgMC00Ny04My4zIDAgMC0zNC44IDE0NS43IDAgMC0uMXptLTczLjMgNDUuMWwwIDIzLjktODIuOSAwIDAgMTk3LjQtMjYuOCAwIDAtMTk3LjQtMTIzLjggMC0yMC4xLTIzLjkgMTQzLjkgMCAwLTgwLjYgMTcxLjggMCAwIDI0LjQtMTQ1IDAgMCA1Ni4yIDgyLjkgMHptLTE2MS4zLTY5bC0xMi40LTIwLjcgMi4xIDIzLjgtMjMuNSA1LjQgMjMuMyA1LjQtMi4xIDI0IDEyLjMtMjAuNSAyMi4yIDkuNS0xNS43LTE4LjEgMTUuOC0xOC4xLTIyIDkuM3ptLTI5LjYtMTkuN2w5LjMtMTEuNS0xMi43IDUuOS04LTEyLjQgMS43IDEzLjktMTQuMyAzLjggMTMuNyAyLjctLjggMTQuNyA2LjgtMTIuMiAxMy44IDUuMy05LjUtMTAuMnpNMzEyLjMgMjY0LjdsLTEzLjEgNS42LTcuMy0xMi4yIDEuMyAxNC4yLTEzLjkgMy4yIDEzLjkgMy4yLTEuMiAxNC4yIDcuMy0xMi4yIDEzLjEgNS41LTkuNC0xMC43IDkuMy0xMC44em0xMDYuOS03Ny4ybC0yMC45IDkuMS0xMi0xOS42IDIuMiAyMi43LTIyLjMgNS40IDIyLjIgNC45LTEuOCAyMi45IDExLjUtMTkuNiAyMS4yIDguOC0xNS4xLTE3IDE1LTE3LjZ6TTI1NiAyOS45YTIyNi4xIDIyNi4xIDAgMSAwIDAgNDUyLjIgMjI2LjEgMjI2LjEgMCAxIDAgMC00NTIuMnpNMzUwLjYgMTk2bDAgNTEtODMuMyAwIDAgMTk1LjctNTIuNyAwIDAtMTk2LjgtMTE2LjcgMC00MC00OS45IDE1Ny40IDAgMC04MS42IDE5Ny44IDAgMCA1MC43LTE0NS43IDAgMCAzMC45IDgzLjIgMHpNMjU2IDQzLjJjNjAuMyAwIDExNC44IDI1IDE1My42IDY1LjJsLTE5OS4xIDAgMCA4MS42LTE1Ny40IDBDODEuMSAxMDQuOCAxNjEuNCA0My4yIDI1NiA0My4yem0wIDQyNy4xYy0xMTcuOSAwLTIxMy42LTk1LjYtMjEzLjYtMjEzLjUgMC0yMS4yIDMuMS00MS44IDguOS02MS4xbDQzLjggNTYuMyAxMTQuNyAwIDAgMTk2LjggNjQuNiAwIDAtMTk1LjggODMuMyAwIDAtNjIuNy04My4yIDAgMC0xOS4yIDE0NS42IDAgMC01MC44YzMwLjggMzcgNDkuMyA4NC42IDQ5LjMgMTM2LjUgLjEgMTE3LjktOTUuNSAyMTMuNS0yMTMuNCAyMTMuNXpNMTg2LjggMjc1bC0xMS0yMS40IDEuNyAyNC41LTIzLjcgMy45IDIzLjggNS45LTMuNyAyMy44IDEzLTIwLjkgMjEuNSAxMC44LTE1LjgtMTguOCAxNi45LTE3LjEtMjIuNyA5LjN6Il19LFd1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2YWFkaW4iLGljb246WzQ0OCw1MTIsW10sImY0MDgiLCJNMjI0LjUgMTQwLjdDMjI2IDEyMy4xIDIyOS40IDg4IDI3NC4zIDg4bDk4LjYgMGMyMC43IDAgMzIuMS03LjggMzIuMS0yMS42bDAtMTIuM2MwLTEyLjIgOS4zLTIyLjEgMjEuNS0yMi4xUzQ0OCA0MS45IDQ0OCA1NC4xbDAgMzYuNWMwIDQyLjktMjEuNSA2Mi02Ni44IDYybC0xMDAuNSAwYy0zMC4xIDAtMzMgMTQuNy0zMyAyNy4xIDAgMS4zLS4xIDIuNS0uMiAzLjctLjcgMTIuMy0xMC45IDIyLjItMjMuNCAyMi4ycy0yMi43LTkuOC0yMy40LTIyLjJjLS4xLTEuMi0uMi0yLjQtLjItMy43IDAtMTIuMy0zLTI3LjEtMzMtMjcuMWwtMTAwLjcgMEMyMS41IDE1Mi42IDAgMTMzLjUgMCA5MC42TDAgNTQuMUMwIDQxLjkgOS40IDMyIDIxLjYgMzJzMjEuNSA5LjkgMjEuNSAyMi4xbDAgMTIuM0M0My4xIDgwLjIgNTQuNSA4OCA3NS4yIDg4bDk4LjYgMGM0NC44IDAgNDguMyAzNS4xIDQ5LjggNTIuN2wuOSAwek0yMjQgNDU2YzExLjUgMCAyMS40LTcgMjUuNy0xNi4zIDEuMS0xLjggOTcuMS0xNjkuNiA5OC4yLTE3MS40IDExLjktMTkuNi0zLjItNDQuMy0yNy4yLTQ0LjMtMTMuOSAwLTIzLjMgNi40LTI5LjggMjAuM0wyMjQgMzYyIDE1Ny4xIDI0NC4zYy02LjQtMTMuOS0xNS45LTIwLjMtMjkuOC0yMC4zLTI0IDAtMzkuMSAyNC42LTI3LjIgNDQuMyAxLjEgMS45IDk3LjEgMTY5LjYgOTguMiAxNzEuNCA0LjMgOS4zIDE0LjIgMTYuMyAyNS43IDE2LjN6Il19LEd1dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkZXZpYW50YXJ0IixpY29uOlszMjAsNTEyLFtdLCJmMWJkIiwiTTMyMCA5My4ybC05OC4yIDE3OS4xIDcuNCA5LjUgOTAuOCAwIDAgMTI3LjctMTYwLjkgMC0xMy41IDkuMi00My43IDg0Yy0uMyAwLTguNiA4LjYtOS4yIDkuMmwtOTIuNyAwIDAtOTMuMiA5My4yLTE3OS40LTcuNC05LjItODUuOCAwIDAtMTI3LjYgMTU2IDAgMTMuNS05LjIgNDMuNy04NGMuMyAwIDguNi04LjYgOS4yLTkuMmw5Ny42IDAgMCA5My4xeiJdfSxXZj17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtZWRpdW0iLGljb246WzQ0OCw1MTIsWzYyNDA3LCJtZWRpdW0tbSJdLCJmMjNhIiwiTTM2OS40IDMyYzQzLjQgMCA3OC42IDM1LjIgNzguNiA3OC42bDAgODMuOGMtMS45LS4xLTMuOC0uMi01LjctLjJsLS40IDBjLTEwIDAtMjIuMyAyLjQtMzEuMSA2LjgtMTAgNC42LTE4LjcgMTEuNS0yNiAyMC42LTExLjggMTQuNi0xOC45IDM0LjMtMjAuNiA1Ni40LS4xIC43LS4xIDEuMy0uMiAycy0uMSAxLjItLjEgMS45Yy0uMSAxLjItLjEgMi40LS4xIDMuNiAwIDEuOS0uMSAzLjggMCA1LjggMS4yIDUwLjEgMjguMiA5MC4yIDc2LjMgOTAuMiAyLjcgMCA1LjMtLjEgNy45LS40bDAgMjAuNGMwIDQzLjQtMzUuMiA3OC42LTc4LjYgNzguNkw3OC42IDQ4MEMzNS4yIDQ4MCAwIDQ0NC44IDAgNDAxLjRMMCAxMTAuNkMwIDY3LjIgMzUuMiAzMiA3OC42IDMybDI5MC44IDB6TTgyLjMgMTM4LjlsLjMgLjFjMTMuMiAzIDE5LjggNy40IDE5LjggMjMuNGwwIDE4Ny4yYzAgMTYtNi43IDIwLjQtMTkuOSAyMy40bC0uMyAuMSAwIDIuOCA1Mi44IDAgMC0yLjgtLjMtLjFjLTEzLjItMy0xOS45LTcuNC0xOS45LTIzLjRsMC0xNzYuMyA4Ni4xIDIwMi41IDQuOSAwIDg4LjYtMjA4LjIgMCAxODYuNmMtMS4xIDEyLjYtNy44IDE2LjUtMTkuNyAxOS4ybC0uMyAuMSAwIDIuNyA5MS45IDAgMC0yLjctLjMtLjFjLTExLjktMi43LTE4LjctNi42LTE5LjktMTkuMmwtLjEtMTkxLjggLjEgMGMwLTE2IDYuNy0yMC40IDE5LjktMjMuNGwuMy0uMSAwLTIuNy03Mi4yIDAtNjcgMTU3LjQtNjctMTU3LjQtNzcuOCAwIDAgMi43ek00NDggMzQwLjNjLTI1LjEtNy40LTQzLTM1LjEtNDEuMi02Ny44bDAgMCA0MS4xIDAgMCA2Ny44em0tNi40LTEzNS42YzIuMyAwIDQuNCAuMyA2LjQgLjlsMCA1Ny40LTQwLjIgMGMxLjUtMzMuNiAxMy42LTU3LjkgMzMuOC01OC4zeiJdfSxZdXQ9V2YsWnV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9wZW5jYXJ0IixpY29uOls2NDAsNTEyLFtdLCJmMjNkIiwiTTMzMS44IDQ0MC40YTQ1LjggNDUuOCAwIDEgMSA5MS41IC4zIDQ1LjggNDUuOCAwIDEgMSAtOTEuNS0uM3pNMTY5LjQgMzk0LjlhNDUuNyA0NS43IDAgMSAwIC4zIDkxLjMgNDUuNyA0NS43IDAgMSAwIC0uMy05MS4zem0yOTEuNy0yNzBjLTMwMi4yIDAtMzc5LjItMTIuOC00NjEuMS05OS4yIDM0LjQgNTEuNyA1My4zIDE0OC45IDM3My4xIDE0NC4yIDMzMy4zLTUgMTMwIDg2LjEgNzAuOCAxODguOSAxODYuNy0xNjYuNyAzMTkuNC0yMzMuOSAxNy4yLTIzMy45eiJdfSxYdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieS1jb21iaW5hdG9yIixpY29uOls0NDgsNTEyLFtdLCJmMjNiIiwiTTQ0OCAzMmwwIDQ0OC00NDggMCAwLTQ0OCA0NDggMHpNMjM2IDI4Ny41bDc3LjUtMTQ1LjUtMzIuNyAwLTQ1LjggOTFjLTQuNyA5LjMtOSAxOC4zLTEyLjggMjYuOGwtMTIuMi0yNi44LTQ1LjItOTEtMzUgMCA3Ni43IDE0My44IDAgOTQuNSAyOS41IDAgMC05Mi44eiJdfSxLdXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGluZSIsaWNvbjpbNTEyLDUxMixbXSwiZjNjMCIsIk0zMTEgMTk2LjhsMCA4MS4zYzAgMi4xLTEuNiAzLjctMy43IDMuN2wtMTMgMGMtMS4zIDAtMi40LS43LTMtMS41TDI1NCAyMzAgMjU0IDI3OC4yYzAgMi4xLTEuNiAzLjctMy43IDMuN2wtMTMgMGMtMi4xIDAtMy43LTEuNi0zLjctMy43bDAtODEuM2MwLTIuMSAxLjYtMy43IDMuNy0zLjdsMTIuOSAwYzEuMSAwIDIuNCAuNiAzIDEuNmwzNy4zIDUwLjMgMC00OC4yYzAtMi4xIDEuNi0zLjcgMy43LTMuN2wxMyAwYzIuMS0uMSAzLjggMS42IDMuOCAzLjVsMCAuMXptLTkzLjctMy43bC0xMyAwYy0yLjEgMC0zLjcgMS42LTMuNyAzLjdsMCA4MS4zYzAgMi4xIDEuNiAzLjcgMy43IDMuN2wxMyAwYzIuMSAwIDMuNy0xLjYgMy43LTMuN2wwLTgxLjNjMC0xLjktMS42LTMuNy0zLjctMy43em0tMzEuNCA2OC4xbC0zNS42IDAgMC02NC40YzAtMi4xLTEuNi0zLjctMy43LTMuN2wtMTMgMGMtMi4xIDAtMy43IDEuNi0zLjcgMy43bDAgODEuM2MwIDEgLjMgMS44IDEgMi41IC43IC42IDEuNSAxIDIuNSAxbDUyLjIgMGMyLjEgMCAzLjctMS42IDMuNy0zLjdsMC0xM2MwLTEuOS0xLjYtMy43LTMuNS0zLjdsLjEgMHptMTkzLjctNjguMWwtNTIuMyAwYy0xLjkgMC0zLjcgMS42LTMuNyAzLjdsMCA4MS4zYzAgMS45IDEuNiAzLjcgMy43IDMuN2w1Mi4yIDBjMi4xIDAgMy43LTEuNiAzLjctMy43bDAtMTMuMWMwLTIuMS0xLjYtMy43LTMuNy0zLjdsLTM1LjUgMCAwLTEzLjYgMzUuNSAwYzIuMSAwIDMuNy0xLjYgMy43LTMuN2wwLTEzLjFjMC0yLjEtMS42LTMuNy0zLjctMy43bC0zNS41IDAgMC0xMy43IDM1LjUgMGMyLjEgMCAzLjctMS42IDMuNy0zLjdsMC0xM2MtLjEtMS45LTEuNy0zLjctMy43LTMuN2wuMSAwek01MTIgOTMuNGwwIDMyNmMtLjEgNTEuMi00Mi4xIDkyLjctOTMuNCA5Mi42bC0zMjYgMEM0MS40IDUxMS45LS4xIDQ2OS44IDAgNDE4LjZsMC0zMjZDLjEgNDEuNCA0Mi4yLS4xIDkzLjQgMGwzMjYgMGM1MS4yIC4xIDkyLjcgNDIuMSA5Mi42IDkzLjR6TTQ0MS42IDIzMy41YzAtODMuNC04My43LTE1MS4zLTE4Ni40LTE1MS4zUzY4LjggMTUwLjEgNjguOCAyMzMuNWMwIDc0LjcgNjYuMyAxMzcuNCAxNTUuOSAxNDkuMyAyMS44IDQuNyAxOS4zIDEyLjcgMTQuNCA0Mi4xLS44IDQuNy0zLjggMTguNCAxNi4xIDEwLjFzMTA3LjMtNjMuMiAxNDYuNS0xMDguMmMyNy0yOS43IDM5LjktNTkuOCAzOS45LTkzLjFsMC0uMnoiXX0sUXV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFtaWxpYSIsaWNvbjpbNDQ4LDUxMixbXSwiZjM2ZCIsIk0yNDAuMiAzMmMtNjEuOSAwLTEzMS41IDE2LjktMTg0LjIgNTUuNC01LjEgMy4xLTkuMSA5LjItNy4yIDE5LjQgMS4xIDUuMSA1LjEgMjcuNCAxMC4yIDM5LjYgNC4xIDEwLjIgMTQuMiAxMC4yIDIwLjMgNi4xIDMyLjUtMjIuMyA5Ni41LTQ3LjcgMTUyLjMtNDcuNyA1Ny45IDAgNTguOSAyOC40IDU4LjkgNzMuMWwwIDM4LjVDMjAzLjEgMjI3LjcgNzguMyAyNTEgNDYuOCAyNjQuMiAxMS4zIDI4MC41IDE2LjQgMzU3LjcgMTYuNCAzNzZTMzEuNiA0ODAgMTQxLjMgNDgwYzQ3LjggMCAxMTMuNy0yMC43IDE1My4zLTQyLjFsMCAyNS40YzAgMyAyLjEgOC4yIDYuMSA5LjEgMy4xIDEgNTAuNyAyIDU5LjkgMnM2Mi41IC4zIDY2LjUtLjdjNC4xLTEgNS4xLTYuMSA1LjEtOS4xbDAtMjk2LjZjLS4xLTgwLjMtNTcuOS0xMzYtMTkyLTEzNnptNTAuMiAzNDhjLTIxLjQgMTMuMi00OC43IDI0LjQtNzkuMSAyNC40LTUyLjggMC01OC45LTMzLjUtNTktNDQuNyAwLTEyLjItMy00Mi43IDE4LjMtNTIuOSAyNC4zLTEzLjIgNzUuMS0yOS40IDExOS44LTMzLjVsMCAxMDYuN3oiXX0sSnV0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFzeW1tZXRyaWsiLGljb246WzU3Niw1MTIsW10sImYzNzIiLCJNNTE3LjUgMzA5LjJjMzguOC00MCA1OC4xLTgwIDU4LjUtMTE2LjEgLjgtNjUuNS01OS40LTExOC4yLTE2OS40LTEzNS0xMjguNy0xOS43LTI4OC41IDE1LjUtNDA2LjYgODIuNCA1Mi0yNi41IDExMC42LTQ4LjIgMTcwLjctNTguMiA3NC41LTIwLjUgMTUzLTI1LjQgMjIxLjMtMTQuOCAxNTIuNSAyMy44IDE5Ni44IDEyNy41IDk4LjggMjMxLjctMTAuMiAxMC44LTIyIDIxLjEtMzUgMzAuNkwzMDQuOSAxMDMuNCAxMTQuNyAzODguOWMtNjUuNi0yOS40LTc2LjUtOTAuMi0xOS4xLTE1MS4yIDIwLjgtMjIuMiA0OC4zLTQxLjkgNzkuNS01OC4xIDIwLTEyLjIgMzkuNy0yMi42IDYyLTMwLjctNjUuMSAyMC4zLTEyMi43IDUyLjktMTYxLjYgOTIuOS0yNy43IDI4LjYtNDEuNCA1Ny4xLTQxLjcgODIuOS0uNSAzNS4xIDIzLjQgNjUuMSA2OC40IDgzbC0zNC41IDUxLjcgMTAxLjYgMCAyMi0zNC40YzIyLjIgMSA0NS4zIDAgNjguNi0yLjdsLTIyLjggMzcuMSAxMzUuNSAwLTMyLjYtNTMuMWMxOC42LTUuMyAzNi45LTExLjUgNTQuNS0xOC43bDQ1LjkgNzEuOCAxMDEuNiAwLTczLjQtMTEwLjRjMTguNS0xMi4xIDM1LTI1LjUgNDguOS0zOS44ek0zMjkuOSAzODkuN2wtMjUtNDAuNi0zMi43IDUzLjNjLTIzLjQgMy41LTQ2LjcgNS4xLTY5LjIgNC40bDEwMS45LTE1OS4zIDc4LjcgMTIzYy0xNy4yIDcuNC0zNS4zIDEzLjktNTMuNyAxOS4yeiJdfSxlZnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGhhYnJpY2F0b3IiLGljb246WzUxMiw1MTIsW10sImYzZGIiLCJNMzMxLjEgMjYyLjFsLS4xLTEzczIxLjctMTkuOCAyMS4xLTIxLjJsLTkuNS0yMGMtLjYtMS40LTI5LjUtLjUtMjkuNS0uNWwtOS40LTkuM3MuMi0yOC41LTEuMi0yOS4xbC0yMC4xLTkuMmMtMS40LS42LTIwLjcgMjEtMjAuNyAyMWwtMTMuMS0uMnMtMjAuNS0yMS40LTIxLjktMjAuOGwtMjAgOC4zYy0xLjQgLjUgLjIgMjguOSAuMiAyOC45bC05LjEgOS4xcy0yOS4yLS45LTI5LjcgLjRMMTYwIDIyNi4zYy0uNiAxLjQgMjEgMjEgMjEgMjFsLjEgMTIuOVMxNTkuNCAyODAgMTYwIDI4MS40bDkuNSAyMGMuNiAxLjQgMjkuNSAuNSAyOS41IC41bDkuNCA5LjNzLS4yIDMxLjggMS4yIDMyLjNsMjAuMSA4LjNjMS40IC42IDIwLjctMjMuNSAyMC43LTIzLjVsMTMuMSAuMnMyMC41IDIzLjggMjEuOCAyMy4zbDIwLTcuNWMxLjQtLjYtLjItMzIuMS0uMi0zMi4xbDkuMS05LjFzMjkuMiAuOSAyOS43LS41bDguMS0xOS44Yy43LTEuMS0yMC45LTIwLjctMjAuOS0yMC43em0tNDQuOS04LjdjLjcgMTcuMS0xMi44IDMxLjYtMzAuMSAzMi40cy0zMi4xLTEyLjUtMzIuOC0yOS42IDEyLjgtMzEuNiAzMC4xLTMyLjNjMTcuMy0uOCAzMi4xIDEyLjUgMzIuOCAyOS41em0yMDEuMi0zNy45bC05Ny05Ny0uMSAuMWMtNzUuMS03My4zLTE5NS40LTcyLjgtMjY5LjggMS42LTUwLjkgNTEtMjcuOCAyNy45LTk1LjcgOTUuMy0yMi4zIDIyLjMtMjIuMyA1OC43IDAgODEgNjkuOSA2OS40IDQ2LjQgNDYgOTcuNCA5N2wuMS0uMWM3NS4xIDczLjMgMTk1LjQgNzIuOSAyNjkuOC0xLjYgNTEtNTAuOSAyNy45LTI3LjkgOTUuMy05NS4zIDIyLjMtMjIuMyAyMi4zLTU4LjcgMC04MXpNMzYzLjUgMTQ4LjJhMTUyLjMgMTUyLjMgMCAxIDEgLTIxNSAyMTUuNiAxNTIuMyAxNTIuMyAwIDEgMSAyMTUtMjE1LjZ6Il19LHRmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJib3RzIixpY29uOls2NDAsNTEyLFtdLCJlMzQwIiwiTTg2LjMgMTk3LjhjLTgtLjEtMTUuOSAxLjctMjMuMSA1LjFzLTEzLjUgOC42LTE4LjQgMTQuOWwwLTYxLjljMC0yLjItLjktNC4zLTIuNC01LjhzLTMuNi0yLjQtNS44LTIuNGwtMjguNCAwYy0yLjIgMC00LjMgLjktNS44IDIuNFMwIDE1My44IDAgMTU2TDAgMzMzLjZjMCAxLjEgLjIgMi4xIC42IDMuMXMxIDEuOSAxLjggMi43IDEuNyAxLjQgMi43IDEuOCAyLjEgLjYgMy4xIC42bDI4LjQgMGMxLjEgMCAyLjEtLjIgMy4xLS42czEuOS0xIDIuNy0xLjggMS40LTEuNyAxLjgtMi43IC42LTIuMSAuNi0zLjFsMC04LjFjMTEuNiAxMy40IDI1LjkgMTkuOCA0MS42IDE5LjggMzQuNiAwIDYxLjktMjYuMiA2MS45LTczLjggMC00NS45LTI3LTczLjYtNjEuOS03My42ek03MS41IDMwNS43Yy05LjYgMC0yMS4yLTQuOS0yNi43LTEyLjVsMC00M2M1LjUtNy42IDE3LjItMTIuOCAyNi43LTEyLjggMTcuNyAwIDMxLjEgMTMuMSAzMS4xIDM0IDAgMjEuMi0xMy40IDM0LjMtMzEuMSAzNC4zem0xNTYuNC01OWExNy40IDE3LjQgMCAxIDAgMCAzNC44IDE3LjQgMTcuNCAwIDEgMCAwLTM0Ljh6bTQ2LjEtOTBsMC00NC43YzIuOC0xLjIgNS4yLTMuMyA2LjYtNnMxLjktNS44IDEuMy04LjktMi4yLTUuNy00LjYtNy43LTUuNC0zLTguNC0zLTYuMSAxLjEtOC40IDMtNCA0LjctNC42IDcuNy0uMSA2LjEgMS4zIDguOSAzLjggNC44IDYuNiA2bDAgNDQuN2MtMjggMS4zLTU0LjQgMTMuNi03My42IDM0LjFzLTI5LjUgNDcuNy0yOC44IDc1LjggMTIuMyA1NC43IDMyLjQgNzQuMyA0NyAzMC42IDc1LjEgMzAuNiA1NS0xMSA3NS4xLTMwLjYgMzEuNy00Ni4zIDMyLjQtNzQuMy05LjctNTUuMy0yOC44LTc1LjgtNDUuNS0zMi44LTczLjYtMzQuMXptODYgMTA3LjRjMCAzMC41LTQwLjggNTUuMy05MS4xIDU1LjNzLTkxLjEtMjQuNy05MS4xLTU1LjMgNDAuOC01NS4zIDkxLjEtNTUuMyA5MS4xIDI0LjcgOTEuMSA1NS4zbDAgMHptLTUwLjIgMTcuNGMzLjQgMCA2LjgtMSA5LjctMi45czUuMS00LjYgNi40LTcuOCAxLjctNi43IDEtMTAuMS0yLjMtNi41LTQuOC04LjktNS41LTQuMS04LjktNC44LTYuOS0uMy0xMC4xIDEtNS45IDMuNS03LjggNi40LTIuOSA2LjItMi45IDkuN2MwIDQuNiAxLjggOSA1LjEgMTIuM3M3LjcgNS4xIDEyLjMgNS4xbDAgMHptMjcwLjktMzFjLTE0LjgtMi42LTIyLjQtMy44LTIyLjQtOS45IDAtNS41IDcuMy05LjkgMTcuNy05LjkgMTIuMiAuMSAyNC4yIDMuNiAzNC41IDEwLjEgMS44IDEuMiA0IDEuNiA2LjIgMS4xczQtMS43IDUuMS0zLjZjLjEtLjEgLjEtLjIgLjItLjNsOC42LTE0LjljMS4xLTEuOSAxLjQtNC4xIC44LTYuMXMtMS45LTMuOS0zLjctNWMtMTUuNy05LjQtMzMuNy0xNC4zLTUyLTE0LjEtMzkgMC02MC4yIDIxLjUtNjAuMiA0Ni4yIDAgMzYuMyAzMy43IDQxLjkgNTcuNiA0NS42IDEzLjQgMi4zIDI0LjEgNC40IDI0LjEgMTEgMCA2LjQtNS41IDEwLjgtMTguOSAxMC44LTEzLjYgMC0zMS02LjItNDIuNi0xMy42LS45LS42LTEuOS0xLTMtMS4ycy0yLjEtLjItMy4yIC4xLTIuMSAuNy0yLjkgMS4zLTEuNiAxLjQtMi4yIDIuM2MwIC4xLS4xIC4xLS4xIC4ybC0xMC4yIDE2LjljLTEuMSAxLjgtMS40IDQtMSA2czEuNyAzLjkgMy41IDVjMTUuMiAxMC4zIDM3LjcgMTYuNyA1OS40IDE2LjcgNDAuNCAwIDY0LTE5LjggNjQtNDYuNSAwLTM4LjEtMzUuNS00My45LTU5LjMtNDguM3ptLTk1LjkgNjAuOGMtLjUtMi0xLjgtMy43LTMuNi00LjhzLTMuOS0xLjUtNS45LTEuMWMtMS40IC4zLTIuOCAuNC00LjIgLjQtNy44IDAtMTIuNS02LjEtMTIuNS0xNC4ybDAtNTEuMiAyMC4zIDBjMi4yIDAgNC4yLS45IDUuOC0yLjRzMi40LTMuNiAyLjQtNS44bDAtMjIuN2MwLTIuMi0uOS00LjItMi40LTUuOHMtMy42LTIuNC01LjgtMi40bC0yMC4zIDAgMC0zMC4yYzAtMi4yLS45LTQuMi0yLjQtNS44cy0zLjYtMi40LTUuOC0yLjRsLTI4LjIgMGMtMi4yIDAtNC4yIC45LTUuOCAyLjRzLTIuNCAzLjYtMi40IDUuOGwwIDMwLjItMTUuMSAwYy0xLjEgMC0yLjEgLjItMy4xIC42cy0xLjkgMS0yLjYgMS44LTEuNCAxLjctMS44IDIuNi0uNiAyLS42IDMuMWwwIDIyLjdjMCAxLjEgLjIgMi4xIC42IDMuMXMxIDEuOSAxLjggMi42IDEuNyAxLjQgMi42IDEuOCAyIC42IDMuMSAuNmwxNS4xIDAgMCA2My43YzAgMjcgMTUuNCA0MS4zIDQzLjkgNDEuMyAxMi4yIDAgMjEuNC0yLjIgMjcuNi01LjQgMS42LS44IDIuOS0yLjIgMy43LTMuOXMuOS0zLjYgLjUtNS40bC01LTE5LjN6Il19LGFmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2aW5lIixpY29uOlszODQsNTEyLFtdLCJmMWNhIiwiTTM4NCAyNTQuN2wwIDUyLjFjLTE4LjQgNC4yLTM2LjkgNi4xLTUyLjEgNi4xLTM2LjkgNzcuNC0xMDMgMTQzLjgtMTI1LjEgMTU2LjItMTQgNy45LTI3LjEgOC40LTQyLjctLjgtMjcuMS0xNi4zLTEyOS45LTEwMC42LTE2NC4xLTM2NS42bDc0LjUgMGMxOC43IDE1OS4xIDY0LjUgMjQwLjcgMTE0LjggMzAxLjggMjcuOS0yNy45IDU0LjgtNjUuMSA3NS42LTEwNi45LTQ5LjgtMjUuMy04MC4xLTgwLjktODAuMS0xNDUuNiAwLTY1LjYgMzcuNy0xMTUuMSAxMDIuMi0xMTUuMSAxMTQuOSAwIDEwNi4yIDEyNy45IDgxLjYgMTgxLjUgMCAwLTQ2LjQgOS4yLTYzLjUtMjAuNSAzLjQtMTEuMyA4LjItMzAuOCA4LjItNDguNSAwLTMxLjMtMTEuMy00Ni42LTI4LjQtNDYuNi0xOC4yIDAtMzAuOCAxNy4xLTMwLjggNTAgLjEgNzkuMiA1OS40IDExOC43IDEyOS45IDEwMS45eiJdfSxyZnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWVkcnQiLGljb246WzU3Niw1MTIsW10sImYzYzgiLCJNMTI5LjcgMjU2YzAgMTIxLjggODMuOSAyMjIuOCAxOTMuNSAyNDEuMS0xOC43IDQuNS0zOC4yIDYuOS01OC4yIDYuOS0xMzcuNiAwLTI0OS0xMTEtMjQ5LTI0OFMxMjcuNCA4IDI2NC45IDhjMjAuMSAwIDM5LjYgMi40IDU4LjIgNi45LTEwOS42IDE4LjMtMTkzLjQgMTE5LjMtMTkzLjQgMjQxLjF6TTQyNy4xIDM1Ni4zYy03Ny43IDU1LjQtMTc5LjYgNDcuNS0yNDAuNC0xNC42IDUuNSAxNC4xIDEyLjcgMjcuNyAyMS43IDQwLjUgNjEuNiA4OC4yIDE4Mi40IDEwOS4zIDI2OS43IDQ3czEwOC4xLTE4NC4zIDQ2LjUtMjcyLjZjLTktMTIuOS0xOS4zLTI0LjMtMzAuNS0zNC4yIDM3LjQgNzguOCAxMC43IDE3OC41LTY3IDIzMy45em0tMjE4LjgtMjQ0Yy0xLjQgMS0yLjcgMi4xLTQgMy4xIDY0LjMtMTcuOCAxMzUuOSA0IDE3OC45IDYwLjUgMzUuNyA0NyA0Mi45IDEwNi42IDI0LjQgMTU4IDU2LjctNTYuMiA2Ny42LTE0Mi4xIDIyLjMtMjAxLjgtNTAtNjUuNS0xNDkuMS03NC40LTIyMS42LTE5Ljh6TTMxMiAyMjRjLTQuNCAwLTgtMy42LTgtOGwwLTQwYzAtNC40LTMuNi04LTgtOGwtNDggMGMtNC40IDAtOCAzLjYtOCA4bDAgNDBjMCA0LjQtMy42IDgtOCA4bC00MCAwYy00LjQgMC04IDMuNi04IDhsMCA0OGMwIDQuNCAzLjYgOCA4IDhsNDAgMGM0LjQgMCA4IDMuNiA4IDhsMCA0MGMwIDQuNCAzLjYgOCA4IDhsNDggMGM0LjQgMCA4LTMuNiA4LThsMC00MGMwLTQuNCAzLjYtOCA4LThsNDAgMGM0LjQgMCA4LTMuNiA4LThsMC00OGMwLTQuNC0zLjYtOC04LThsLTQwIDB6Il19LGlmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvc2kiLGljb246WzUxMiw1MTIsW10sImY0MWEiLCJNOCAyNjYuNGMyLjMtMTM1LjggOTcuNC0yMzIuNCAyMTMuOC0yNDguMSAxMzguOC0xOC42IDI1NS42IDc1LjggMjc4IDIwMS4xIDIxLjMgMTE4LjgtNDQgMjMwLTE1MS42IDI3NC05LjMgMy44LTE0LjQgMS43LTE4LTcuNy0xNy44LTQ2LjMtMzUuNi05Mi42LTUzLjQtMTM5LTMuMS04LjEtMS0xMy4yIDctMTYuOCAyNC4yLTExIDM5LjMtMjkuNCA0My4zLTU1LjggMS41LTkuNyAxLTE5LjYtMS41LTI5LjFzLTYuOS0xOC40LTEyLjktMjYuMS0xMy42LTE0LjEtMjIuMi0xOC44LTE4LjEtNy41LTI3LjktOC4zYy0zOS0zLjQtNzEuOCAyMy43LTc3LjUgNTkuNy01LjIgMzMgMTEuMSA2My43IDQxLjkgNzcuNyA5LjYgNC40IDExLjUgOC42IDcuOCAxOC40LTE3LjkgNDYuNi0zNS44IDkzLjItNTMuNyAxMzkuOS0yLjYgNi45LTguMyA5LjMtMTUuNSA2LjUtNTIuNi0yMC4zLTEwMS40LTYxLTEzMC44LTExOS0yNC45LTQ5LjItMjUuMi04Ny43LTI2LjgtMTA4Ljd6bTIwLjktMS45Yy40IDYuNiAuNiAxNC4zIDEuMyAyMi4xIDYuMyA3MS45IDQ5LjYgMTQzLjUgMTMxIDE4My4xIDMuMiAxLjUgNC40IC44IDUuNi0yLjMgMTQuOS0zOS4xIDI5LjktNzguMiA0NS0xMTcuMyAxLjMtMy4zIC42LTQuOC0yLjQtNi43LTMxLjYtMTkuOS00Ny4zLTQ4LjUtNDUuNi04NiAxLTIxLjYgOS4zLTQwLjUgMjMuOC01Ni4zIDMwLTMyLjcgNzctMzkuOCAxMTUuNS0xNy42IDE1LjYgOSAyOC4yIDIyLjMgMzYuMiAzOC40czExLjIgMzQuMiA5IDUyYy0zLjYgMzAuNi0xOS4zIDUzLjktNDUuNyA2OS44LTIuNyAxLjYtMy41IDIuOS0yLjMgNiAxNS4yIDM5LjIgMzAuMyA3OC40IDQ1LjIgMTE3LjcgMS4yIDMuMSAyLjQgMy44IDUuNiAyLjMgMzUuNS0xNi42IDY1LjItNDAuMyA4OC4xLTcyIDM0LjgtNDguMiA0OS4xLTEwMS45IDQyLjMtMTYxLTEzLjctMTE3LjUtMTE5LjQtMjE0LjgtMjU1LjUtMTk4LTEwNi4xIDEzLTE5NS4zIDEwMi41LTE5Ny4xIDIyNS44eiJdfSxzZnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2ciLGljb246WzUxMiw1MTIsW10sImYyNjAiLCJNMTc5LjIgMjMwLjRsMTAyLjQgMTAyLjQtMTAyLjQgMTAyLjQtMTc5LjItMTc5LjIgMTc5LjItMTc5LjIgNDQuOCA0NC44LTI1LjYgMjUuNi0xOS4yLTE5LjItMTI4IDEyOCAxMjggMTI4IDUxLjUtNTEuNS03Ny4xLTc2LjUgMjUuNi0yNS42ek0zMzIuOCA3Ni44bC0xMDIuNCAxMDIuNCAxMDIuNCAxMDIuNCAyNS42LTI1LjYtNzcuMS03Ni41IDUxLjUtNTEuNSAxMjggMTI4LTEyOCAxMjgtMTkuMi0xOS4yLTI1LjYgMjUuNiA0NC44IDQ0LjggMTc5LjItMTc5LjItMTc5LjItMTc5LjJ6Il19LG9mdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJidXlzZWxsYWRzIixpY29uOls0NDgsNTEyLFtdLCJmMjBkIiwiTTIyNCAxNTAuN2w0Mi45IDE2MC43LTg1LjggMCA0Mi45LTE2MC43ek00NDggODBsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDM1MiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0zODIuNyA0MDUuM2wtOTQuNS0yOTguNy0xMjguNCAwLTk0LjUgMjk4LjcgOTAuNyAwIDExMS43LTkxLjYgMjQuMiA5MS42IDkwLjggMHoiXX0sbmZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2dsZS1wbHVzIixpY29uOls1MTIsNTEyLFtdLCJmMmIzIiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNMTg1LjMgMzgwYy0zMi45IDAtNjQuNC0xMy4xLTg3LjctMzYuM3MtMzYuMy01NC44LTM2LjMtODcuNyAxMy4xLTY0LjQgMzYuMy04Ny43IDU0LjgtMzYuMyA4Ny43LTM2LjNjMzEuMyAwIDYwLjEgMTEgODMgMzIuM2wtMzMuNiAzMi42Yy0xMy4yLTEyLjktMzEuMy0xOS4xLTQ5LjQtMTkuMS00Mi45IDAtNzcuMiAzNS41LTc3LjIgNzguMVMxNDIuMyAzMzQgMTg1LjMgMzM0YzMyLjYgMCA2NC45LTE5LjEgNzAuMS01My4zbC03MC4xIDAgMC00Mi42IDExNi45IDBjMS4zIDYuOCAxLjkgMTMuOCAxLjkgMjAuNyAwIDcwLjgtNDcuNSAxMjEuMi0xMTguOCAxMjEuMnpNNDE1LjUgMjczLjhsMCAzNS41LTM1LjUgMCAwLTM1LjUtMzUuNSAwIDAtMzUuNSAzNS41IDAgMC0zNS41IDM1LjUgMCAwIDM1LjUgMzUuMiAwIDAgMzUuNS0zNS4yIDB6Il19LGxmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzY3JlZW5wYWwiLGljb246WzUxMiw1MTIsW10sImU1NzAiLCJNMjc4LjYgMjIuNWEyMi41IDIyLjUgMCAxIDEgLTQ1IDAgMjIuNSAyMi41IDAgMSAxIDQ1IDB6TTE5OC43IDI1OWE1Ny40IDU3LjQgMCAxIDEgMTE0LjggMCA1Ny40IDU3LjQgMCAxIDEgLTExNC44IDB6bTEzOC42IDkxYzIyLjMtMTkuOSAzNi41LTQ3LjMgMzkuOS03N2wxMTkuNSAwYy0zLjUgNjEuNC0zMC40IDExOS4yLTc1LjIgMTYxLjQtNDQuNyA0Mi4yLTEwMy45IDY1LjgtMTY1LjQgNjUuOFMxMzUuNCA0NzYuNiA5MC43IDQzNC40QzQ1LjkgMzkyLjIgMTkuMSAzMzQuNCAxNS41IDI3M2wxMTkuNyAwYzMuNCAyOS43IDE3LjYgNTcuMSAzOS45IDc3czUxLjIgMzAuOSA4MS4xIDMwLjljMjkgMCA1OC43LTExIDgxLjEtMzAuOXpNMjguMyAxNDEuN2EyMi41IDIyLjUgMCAxIDEgNDUtMS40IDIyLjUgMjIuNSAwIDEgMSAtNDUgMS40em00NTUuNi0uN2EyMi40IDIyLjQgMCAxIDEgLTQ0LjkgMCAyMi40IDIyLjQgMCAxIDEgNDQuOSAwek0zMTggOTUuM2MtMTcuMyAxMy44LTM5LjIgMjIuOC02MS45IDIyLjhzLTQ0LjYtOS02MS45LTIyLjhjLTE3LjMtMTQuNy0yOC44LTM1LjEtMzIuNC01Ny41IDE1LjEtNi40IDMwLjgtMTEuMyA0Ni45LTE0LjUgMCAxMi42IDUgMjQuNiAxMy45IDMzLjVzMjAuOSAxMy45IDMzLjUgMTMuOSAyNC42LTUgMzMuNS0xMy45IDEzLjktMjAuOSAxMy45LTMzLjVjMTYuMSAzLjIgMzEuOCA4LjEgNDYuOSAxNC41LTMuNiAyMi40LTE1LjEgNDIuOC0zMi40IDU3LjV6TTgyLjkgMjMxYy0yMS40IDcuNi00NC43IDcuNC02NS45LS42IDItMTYuMyA1LjYtMzIuMyAxMC44LTQ3LjkgNS40IDMuMSAxMS4zIDUuMSAxNy41IDYgNi4yIC44IDEyLjQgLjQgMTguNS0xLjIgNi0xLjcgMTEuNi00LjQgMTYuNi04LjJzOS4xLTguNSAxMi4yLTEzLjkgNS4xLTExLjQgNi0xNy41Yy44LTYuMiAuNC0xMi41LTEuMi0xOC41cy00LjQtMTEuNi04LjItMTYuNmMtMy44LTQuOS04LjUtOS4xLTEzLjktMTIuMiAxMC44LTEyLjMgMjIuOS0yMy41IDM2LTMzLjMgMTcuNiAxNC4zIDI5LjUgMzQuNSAzMy42IDU2LjhzLjEgNDUuNC0xMS4yIDY1Yy0xMS40IDE5LjYtMjkuNCAzNC41LTUwLjcgNDIuMXptMzQ2LjQgLjFjLTIxLjMtNy42LTM5LjMtMjIuNi01MC43LTQyLjItMTEuMy0xOS42LTE1LjItNDIuNy0xMS4xLTY1IDQuMS0yMi4yIDE2LTQyLjQgMzMuNS01Ni43IDEzLjEgOS44IDI1LjIgMjEgMzYgMzMuMy0xMC43IDYuNC0xOC40IDE2LjctMjEuNSAyOC44LTMuMiAxMi0yLjMgMjQuOCA0LjggMzUuNiA2LjIgMTAuOCAxNi40IDE4LjcgMjguNCAyMnMyNC45IDEuNyAzNS43LTQuM2M1LjMgMTUuNSA4LjkgMzEuNiAxMC45IDQ3LjgtMjIuMSA4LjEtNDQuNiA4LjMtNjYgLjd6Il19LGNmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJiaXRjb2luIixpY29uOls1MTIsNTEyLFtdLCJmMzc5IiwiTTggMjU2YTI0OCAyNDggMCAxIDEgNDk2IDAgMjQ4IDI0OCAwIDEgMSAtNDk2IDB6bTM1NC4zLTM1LjNjNC45LTMzLTIwLjItNTAuNy01NC42LTYyLjZsMTEuMS00NC43LTI3LjItNi44LTEwLjkgNDMuNWMtNy4yLTEuOC0xNC41LTMuNS0yMS44LTUuMWwxMC45LTQzLjgtMjcuMi02LjgtMTEuMiA0NC43Yy01LjktMS4zLTExLjctMi43LTE3LjQtNC4xbDAtLjEtMzcuNS05LjQtNy4yIDI5LjFzMjAuMiA0LjYgMTkuOCA0LjljMTEgMi44IDEzIDEwIDEyLjcgMTUuOGwtMTIuNyA1MC45Yy44IC4yIDEuNyAuNSAyLjggLjktLjktLjItMS45LS41LTIuOS0uN2wtMTcuOCA3MS4zYy0xLjMgMy4zLTQuOCA4LjQtMTIuNSA2LjUgLjMgLjQtMTkuOC00LjktMTkuOC00LjlsLTEzLjUgMzEuMSAzNS40IDguOGM2LjYgMS43IDEzIDMuNCAxOS40IDVsLTExLjMgNDUuMiAyNy4yIDYuOCAxMS4yLTQ0LjdjNy4yIDIgMTQuNCAzLjggMjEuNyA1LjZsLTExLjEgNDQuNSAyNy4yIDYuOCAxMS4zLTQ1LjFjNDYuNCA4LjggODEuMyA1LjIgOTYtMzYuNyAxMS44LTMzLjgtLjYtNTMuMy0yNS02NiAxNy44LTQuMSAzMS4yLTE1LjggMzQuNy0zOS45em0tNjIuMiA4Ny4yYy04LjQgMzMuOC02NS4zIDE1LjUtODMuOCAxMC45bDE0LjktNTkuOWMxOC40IDQuNiA3Ny42IDEzLjcgNjguOCA0OXptOC40LTg3LjdjLTcuNyAzMC43LTU1IDE1LjEtNzAuNCAxMS4zbDEzLjUtNTQuM2MxNS40IDMuOCA2NC44IDExIDU2LjggNDN6Il19LGRmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzd2lmdCIsaWNvbjpbNDQ4LDUxMixbXSwiZjhlMSIsIk00NDggMTU2LjFjMC00LjUtLjEtOS0uMi0xMy41LS4xLTkuOS0xLTE5LjctMi42LTI5LjQtMS43LTkuNy00LjgtMTkuMi05LjItMjgtOS0xNy43LTIzLjQtMzIuMS00MS4yLTQxLjEtOC44LTQuNS0xOC4zLTcuNi0yOC05LjItOS43LTEuNi0xOS42LTIuNS0yOS40LTIuNi00LjUtLjEtOS0uMi0xMy41LS4yTDEyNC4xIDMyYy00LjUgMC05IC4xLTEzLjUgLjItMi40IC4xLTQuOSAuMi03LjQgLjMtNy40IC4zLTE0LjggMS4xLTIyLjEgMi4zLTcuMyAxLjMtMTQuNCAzLjMtMjEuMiA2LjEtMi4zIDEtNC42IDItNi44IDMuMS02LjYgMy40LTEyLjggNy41LTE4LjQgMTIuMy0xLjkgMS42LTMuNyAzLjMtNS40IDUtNyA3LTEyLjkgMTUtMTcuNCAyMy44LTQuNCA4LjgtNy42IDE4LjMtOS4yIDI4LTEuNiA5LjctMi40IDE5LjYtMi41IDI5LjQtLjEgNC41LS4yIDktLjIgMTMuNUwwIDM1NS45YzAgNC41IC4xIDkgLjIgMTMuNSAuMSA5LjkgMSAxOS43IDIuNiAyOS40IDEuNyA5LjcgNC44IDE5LjIgOS4yIDI4IDkgMTcuNyAyMy40IDMyLjEgNDEuMSA0MS4xIDguOCA0LjQgMTguMyA3LjUgMjggOS4yIDkuNyAxLjYgMTkuNiAyLjUgMjkuNCAyLjYgNC41IC4xIDkgLjIgMTMuNSAuMmwxOTkuOCAwYzQuNSAwIDktLjEgMTMuNS0uMiA5LjktLjEgMTkuNy0xIDI5LjQtMi42IDkuNy0xLjcgMTkuMi00LjggMjgtOS4yIDE3LjctOSAzMi4xLTIzLjQgNDEuMS00MS4yIDQuNC04LjggNy42LTE4LjMgOS4yLTI4IDEuNi05LjcgMi41LTE5LjYgMi42LTI5LjQgLjEtNC41IC4yLTkgLjItMTMuNWwwLTE4My44YzAtNS40IDAtMTAuNyAwLTE2em0tNjkuOSAyNDFjLTIwLTM4LjktNTcuMi0yOS4zLTc2LjMtMTkuNS0xLjcgMS0zLjUgMi01LjIgM2wtLjQgLjJjLTM5LjUgMjEtOTIuNSAyMi41LTE0NS44LS40LTQzLjQtMTguOC04MC4xLTUwLjMtMTA1LjMtOTAuNCAxMi4zIDkuMSAyNS40IDE2LjkgMzkuMiAyMy40IDU2LjQgMjYuNCAxMTMgMjQuNSAxNTMgMC01Ny00My44LTEwNC42LTEwMS0xNDEuMS0xNDcuMi03LTguMS0xMy4yLTE2LjgtMTguOC0yNS45IDQzLjcgNDAgMTEyLjcgOTAuMiAxMzcuNSAxMDQuMS01Mi42LTU1LjUtOTguOS0xMjMuOS05Ni43LTEyMS43IDgyLjggODMuNCAxNTkuMiAxMzAuNiAxNTkuMiAxMzAuNiAyLjkgMS42IDUgMi44IDYuNyA0IDEuNi00LjEgMy04LjIgNC4yLTEyLjUgMTMuMi00OC4zLTEuNy0xMDMuNi0zNS4zLTE0OS4yIDc2LjggNDYuMSAxMjIuMiAxMzMuNyAxMDMuNiAyMDcuOC0uNCAxLjctMSAzLjQtMS40IDUuMSAzOC41IDQ3LjQgMjggOTguMiAyMy4xIDg4LjZsMCAweiJdfSxwZnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmlsZXMtcGlud2hlZWwiLGljb246WzUxMiw1MTIsW10sImU2OWYiLCJNMjUzLjUgMjQ2LjRMMTM3LjIgMTMwLjJjLS42LS42LTEtMS4zLTEuNC0ycy0uNS0xLjYtLjUtMi40IC4yLTEuNiAuNS0yLjQgLjgtMS40IDEuNC0yTDI1My42IDUuMWMuOS0uOSAyLTEuNSAzLjItMS43czIuNS0uMSAzLjYgLjMgMi4xIDEuMyAyLjggMi4zIDEuMSAyLjIgMS4xIDMuNWwwIDIzMi41YzAgMS4zLS4zIDIuNS0xIDMuNnMtMS43IDEuOS0yLjkgMi40LTIuNSAuNi0zLjcgLjMtMi40LS45LTMuMi0xLjl6bTQwLjMtNC40bDAtMTM0LjRjMC0uOCAuMS0xLjYgLjUtMi40cy44LTEuNSAxLjMtMi4xIDEuMy0xLjEgMi0xLjQgMS42LS41IDIuNC0uNWwxMzQuNCAwYzEuMiAwIDIuNSAuNCAzLjUgMS4xczEuOCAxLjcgMi4zIDIuOCAuNiAyLjQgLjMgMy42LS45IDIuMy0xLjcgMy4yTDMwNC4zIDI0Ni40Yy0uOSAuOC0yIDEuNC0zLjIgMS42cy0yLjQgLjEtMy41LS40LTIuMS0xLjMtMi44LTIuMy0xLjEtMi4yLTEuMS0zLjRsLjEgLjF6bTMwLjYgMzVjLTEuMiAwLTIuNS0uMy0zLjUtMXMtMS45LTEuNi0yLjQtMi44LS42LTIuNC0uNC0zLjYgLjgtMi4zIDEuNy0zLjJMNDA0IDE4Mi4yYy42LS42IDEuMy0xIDItMS40czEuNi0uNSAyLjQtLjUgMS42IC4yIDIuNCAuNSAxLjQgLjggMiAxLjRsODQuNCA4NC4yYy45IC45IDEuNSAyIDEuNyAzLjJzLjEgMi41LS4zIDMuNi0xLjMgMi4xLTIuMyAyLjgtMi4yIDEuMS0zLjUgMS4xbC0xNjguNSAwIC4xLS4xem05MC43IDEzMWwtOTUuMy05NS4yYy0uOS0uOS0xLjUtMi0xLjctMy4ycy0uMS0yLjUgLjQtMy43IDEuMy0yLjEgMi40LTIuOCAyLjMtMSAzLjUtMWw5NS4yIDBjMS43IDAgMy4yIC43IDQuNCAxLjhzMS44IDIuOCAxLjggNC40bDAgOTUuM2MwIDEuMi0uNCAyLjUtMS4xIDMuNXMtMS43IDEuOC0yLjggMi4zLTIuNCAuNi0zLjYgLjMtMi4zLS45LTMuMi0xLjd6TTE2LjggMzAyLjFsMjE2LjkgMGMxLjIgMCAyLjUgLjQgMy41IDEuMXMxLjggMS43IDIuMyAyLjggLjYgMi40IC4zIDMuNi0uOCAyLjMtMS43IDMuMkwxMjkuNyA0MjEuMmMtLjYgLjYtMS4zIDEtMiAxLjRzLTEuNiAuNS0yLjQgLjUtMS42LS4yLTIuNC0uNS0xLjQtLjgtMi0xLjRMMTIuMyAzMTIuOGMtLjktLjktMS41LTItMS43LTMuMnMtLjEtMi41IC40LTMuNiAxLjMtMi4xIDIuMy0yLjggMi4zLTEgMy41LTFsMC0uMXpNMjY0LjMgNDY1LjNjMCAuOC0uMiAxLjYtLjUgMi40cy0uOCAxLjUtMS40IDItMS4zIDEtMiAxLjQtMS42IC41LTIuNCAuNWwtMTI4IDBjLTEuMiAwLTIuNS0uNC0zLjUtMS4xcy0xLjgtMS43LTIuMy0yLjgtLjYtMi40LS4zLTMuNiAuOC0yLjMgMS43LTMuMmwxMjgtMTI4Yy45LS45IDItMS41IDMuMi0xLjdzMi41LS4xIDMuNiAuMyAyLjEgMS4zIDIuOCAyLjMgMS4xIDIuMiAxLjEgMy41bDAgMTI4em00MC0xMzIuNWw4Mi44IDgyLjdjLjYgLjYgMSAxLjMgMS40IDJzLjUgMS42IC41IDIuNC0uMiAxLjYtLjUgMi40LS44IDEuNC0xLjQgMkwzMDQuMyA1MDdjLS45IC45LTIgMS41LTMuMiAxLjdzLTIuNSAuMS0zLjYtLjMtMi4xLTEuMy0yLjgtMi4zLTEuMS0yLjItMS4xLTMuNWwwLTE2NS40YzAtMS4yIC40LTIuNSAxLjEtMy41czEuNy0xLjggMi44LTIuMyAyLjQtLjYgMy42LS4zIDIuMyAuOCAzLjIgMS43ek03OSAxMjIuNGMwLTEuMiAuMy0yLjUgMS0zLjVzMS43LTEuOCAyLjgtMi4zIDIuNC0uNiAzLjYtLjQgMi4zIC44IDMuMiAxLjdMMjM4LjEgMjY2LjRjLjkgLjkgMS41IDIgMS43IDMuMnMuMSAyLjUtLjMgMy42LTEuMyAyLjEtMi4zIDIuOC0yLjIgMS4xLTMuNSAxLjFsLTE0OC40IDBjLTEuNyAwLTMuMi0uNy00LjQtMS44cy0xLjgtMi44LTEuOC00LjRsMC0xNDguNC0uMS0uMXoiXX0sdWZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImxhcmF2ZWwiLGljb246WzUxMiw1MTIsW10sImYzYmQiLCJNNTA0LjYgMTE1LjhjLS4xLS4yLS4yLS41LS4zLS43LS4xLS40LS4zLS44LS41LTEuMi0uMi0uMi0uMy0uNS0uNS0uNy0uMi0uMy0uNS0uNi0uNy0uOS0uMi0uMi0uNS0uNC0uOC0uNi0uMy0uMi0uNi0uNS0uOS0uN0w0MDQuNiA1NS41Yy0xLjItLjctMi42LTEuMS00LTEuMXMtMi44IC40LTQgMS4xTDMwMC4zIDExMWMtLjMgLjItLjYgLjQtLjkgLjctLjMgLjItLjUgLjQtLjggLjYtLjMgLjMtLjUgLjYtLjcgLjktLjIgLjItLjQgLjQtLjUgLjctLjIgLjQtLjQgLjgtLjUgMS4yLS4xIC4yLS4yIC40LS4zIC43LS4yIC43LS4zIDEuNC0uMyAyLjFsMCAxMDUuMi04MC4yIDQ2LjIgMC0yMDUuOWMwLS43LS4xLTEuNC0uMy0yLjEtLjEtLjItLjItLjQtLjMtLjctLjEtLjQtLjMtLjgtLjUtMS4yLS4xLS4zLS40LS41LS41LS43LS4yLS4zLS41LS42LS43LS45LS4yLS4yLS41LS40LS44LS42LS4zLS4yLS42LS41LS45LS43TDExNS44IDEuMWMtMS4yLS43LTIuNi0xLjEtNC0xLjFzLTIuOCAuNC00IDEuMUwxMS41IDU2LjVjLS4zIC4yLS42IC40LS45IC43LS4zIC4yLS41IC40LS44IC42LS4zIC4zLS41IC42LS43IC45LS4yIC4zLS40IC41LS42IC43LS4yIC40LS40IC44LS41IDEuMi0uMSAuMi0uMiAuNC0uMyAuNy0uMiAuNy0uMyAxLjQtLjMgMi4xbDAgMzI5LjdjMCAxLjQgLjQgMi44IDEuMSA0czEuNyAyLjIgMi45IDIuOUwyMDQgNTEwLjljLjQgLjIgLjkgLjQgMS4zIC41IC4yIC4xIC40IC4yIC42IC4zIDEuMyAuNCAyLjggLjQgNC4xIDAgLjItLjEgLjQtLjIgLjYtLjIgLjUtLjIgMS0uMyAxLjQtLjZMNDA0LjYgNDAwLjFjMS4yLS43IDIuMi0xLjcgMi45LTIuOXMxLjEtMi42IDEuMS00bDAtMTA1LjMgOTIuMi01My4xYzEuMi0uNyAyLjItMS43IDIuOS0zczEuMS0yLjYgMS4xLTRsMC0xMDkuOGMwLS43LS4xLTEuNC0uMi0yLjF6TTExMS44IDE3LjNsODAuMiA0Ni4xLTgwLjIgNDYuMi04MC4yLTQ2LjIgODAuMi00Ni4yem04OC4yIDYwbDAgMjAxLjNjLTMzLjIgMTkuMS01OS45IDM0LjUtODAuMiA0Ni4ybDAtMjAxLjNDMTUzIDEwNC40IDE3OS43IDg5IDIwMCA3Ny4zem0wIDQxMi44TDIzLjUgMzg4LjUgMjMuNSA3Ny4zYzIwLjMgMTEuNyA0Ny4xIDI3LjEgODAuMiA0Ni4ybDAgMjE1LjJjMCAuMyAuMSAuNiAuMSAuOSAwIC40IC4xIC44IC4yIDEuMiAuMSAuMyAuMiAuNiAuNCAuOSAuMSAuMyAuMyAuNyAuNCAxIC4yIC4zIC40IC41IC42IC44IC4yIC4zIC40IC42IC43IC44IC4yIC4yIC41IC40IC44IC42IC4zIC4yIC42IC41IC45IC43bDkyLjIgNTIuMiAuMSA5Mi40em04LTEwNi4yTDEyOCAzMzguNmM1NC43LTMxLjUgMTEzLjUtNjUuMyAxNzYuMy0xMDEuNWw4MC4xIDQ2LjFDMzU1IDMwMCAyOTYuMiAzMzMuNSAyMDggMzgzLjl6bTE4NC41IDQuNmwtMTc2LjUgMTAxLjYgMC05Mi4zQzMxNy40IDM0MCAzNzYuMiAzMDYuNCAzOTIuNSAyOTdsMCA5MS40em0wLTExOS4xYy0yMC4zLTExLjYtNDcuMS0yNy04MC4yLTQ2LjFsMC05MS40YzIwLjMgMTEuNyA0Ny4xIDI3LjEgODAuMiA0Ni4ybDAgOTEuM3ptOC0xMDUuM2wtODAuMi00Ni4yIDgwLjItNDYuMiA4MC4yIDQ2LjEtODAuMiA0Ni4yem04IDEwNS4zbDAtOTEuM2MzMy4yLTE5LjEgNjAtMzQuNSA4MC4zLTQ2LjJsMCA5MS40LTgwLjMgNDYuMnoiXX0sZmZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndwZm9ybXMiLGljb246WzQ0OCw1MTIsW10sImYyOTgiLCJNNDQ4IDc1LjJsMCAzNjEuN2MwIDI0LjMtMTkgNDMuMi00My4yIDQzLjJsLTM2MS42IDBDMTkuMyA0ODAgMCA0NjEuNCAwIDQzNi44TDAgNzUuMkMwIDUxLjEgMTguOCAzMiA0My4yIDMybDM2MS43IDBjMjQgMCA0My4xIDE4LjggNDMuMSA0My4yek00MTAuNyA0MzYuOGwwLTM2MS42YzAtMy0yLjYtNS44LTUuOC01LjhsLTkuMyAwLTExMC4zIDc0LjYtNjEuMy00OS45LTYxLjIgNDkuOS0xMTAuMy03NC43LTkuMyAwYy0zLjIgMC01LjggMi44LTUuOCA1LjhsMCAzNjEuN2MwIDMgMi42IDUuOCA1LjggNS44bDM2MS43IDBjMy4yIC4xIDUuOC0yLjcgNS44LTUuOHpNMTUwLjIgMTg2bDAgMzctNzMuNSAwIDAtMzcgNzMuNSAwem0wIDc0LjRsMCAzNy4zLTczLjUgMCAwLTM3LjMgNzMuNSAwem0xMS4xLTE0Ny4zbDU0LTQzLjctMTE4LjUgMCA2NC41IDQzLjd6bTIxMCA3Mi45bDAgMzctMTk2IDAgMC0zNyAxOTYgMHptMCA3NC40bDAgMzcuMy0xOTYgMCAwLTM3LjMgMTk2IDB6TTI4Ni43IDExMy4xbDY0LjUtNDMuNy0xMTguNCAwIDUzLjkgNDMuN3pNMzcxLjMgMzM1bDAgMzcuMy05OS40IDAgMC0zNy4zIDk5LjQgMHoiXX0saGZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNwZWFrZXItZGVjayIsaWNvbjpbNTEyLDUxMixbXSwiZjgzYyIsIk0yMTMuOSAyOTZMMTAwIDI5NmMtMjYuNSAwLTUyLTEwLjUtNzAuNy0yOS4zUzAgMjIyLjUgMCAxOTYgMTAuNSAxNDQgMjkuMyAxMjUuMyA3My41IDk2IDEwMCA5NmwxMzIuOCAwYzEwLjYgMCAyMC44IDQuMiAyOC4zIDExLjdzMTEuNyAxNy43IDExLjcgMjguMy00LjIgMjAuOC0xMS43IDI4LjMtMTcuNyAxMS43LTI4LjMgMTEuN0w5OCAxNzZjLTI2LjUgMC0yNi40IDQwIDAgNDBsMTEzLjggMGMyNi41IDAgNTIgMTAuNSA3MC43IDI5LjNzMjkuMyA0NC4yIDI5LjMgNzAuNy0xMC41IDUyLTI5LjMgNzAuNy00NC4yIDI5LjMtNzAuNyAyOS4zTDQwIDQxNmMtMTAuNiAwLTIwLjgtNC4yLTI4LjMtMTEuN1MwIDM4Ni42IDAgMzc2IDQuMiAzNTUuMiAxMS43IDM0Ny43IDI5LjQgMzM2IDQwIDMzNmwxNzMuOSAwYzI2LjUgMCAyNi41LTQwIDAtNDB6TTI5OCA0MTZjMTMuNS05LjIgMjUtMjEgMzMuOC0zNC43czE0LjctMjkuMiAxNy4zLTQ1LjNsNjQuNiAwYzIuNiAwIDUuMi0uNiA3LjYtMS42czQuNi0yLjUgNi40LTQuNCAzLjMtNC4xIDQuMi02LjUgMS41LTUgMS40LTcuNmwwLTEyMGMwLTIuNi0uNS01LjItMS40LTcuNnMtMi40LTQuNi00LjItNi41LTQtMy4zLTYuNC00LjQtNS0xLjYtNy42LTEuNmwtMTE3LjIgMGM5LjctMTEuMSAxNS0yNS4zIDE1LTQwcy01LjMtMjguOS0xNS00MGwxMzYuOSAwYzQzLjQgMCA3OC42IDM1LjggNzguNiA4MGwwIDE2MGMwIDQ0LjItMzUuMiA4MC03OC42IDgwTDI5OCA0MTZ6Il19LG1mdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmbGlja3IiLGljb246WzQ0OCw1MTIsW10sImYxNmUiLCJNNDAwIDMyTDQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBMMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsMzUyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNTJjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTE0NC41IDE5MmE2My41IDYzLjUgMCAxIDEgMCAxMjcgNjMuNSA2My41IDAgMSAxIDAtMTI3em0xNTkgMGE2My41IDYzLjUgMCAxIDEgMCAxMjcgNjMuNSA2My41IDAgMSAxIDAtMTI3eiJdfSxnZnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2MtdmlzYSIsaWNvbjpbNTc2LDUxMixbXSwiZjFmMCIsIk00NzAuMSAyMzEuM3M3LjYgMzcuMiA5LjMgNDVsLTMzLjQgMGMzLjMtOC45IDE2LTQzLjUgMTYtNDMuNS0uMiAuMyAzLjMtOS4xIDUuMy0xNC45bDIuOCAxMy40ek01NzYgODBsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDQ4MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0xNTIuNSAzMzEuMmw2My4yLTE1NS4yLTQyLjUgMC0zOS4zIDEwNi00LjMtMjEuNS0xNC03MS40Yy0yLjMtOS45LTkuNC0xMi43LTE4LjItMTMuMWwtNjQuNyAwLS43IDMuMWMxNS44IDQgMjkuOSA5LjggNDIuMiAxNy4xbDM1LjggMTM1IDQyLjUgMHptOTQuNCAuMmwyNS4yLTE1NS40LTQwLjIgMC0yNS4xIDE1NS40IDQwLjEgMHptMTM5LjktNTAuOGMuMi0xNy43LTEwLjYtMzEuMi0zMy43LTQyLjMtMTQuMS03LjEtMjIuNy0xMS45LTIyLjctMTkuMiAuMi02LjYgNy4zLTEzLjQgMjMuMS0xMy40IDEzLjEtLjMgMjIuNyAyLjggMjkuOSA1LjlsMy42IDEuNyA1LjUtMzMuNmMtNy45LTMuMS0yMC41LTYuNi0zNi02LjYtMzkuNyAwLTY3LjYgMjEuMi02Ny44IDUxLjQtLjMgMjIuMyAyMCAzNC43IDM1LjIgNDIuMiAxNS41IDcuNiAyMC44IDEyLjYgMjAuOCAxOS4zLS4yIDEwLjQtMTIuNiAxNS4yLTI0LjEgMTUuMi0xNiAwLTI0LjYtMi41LTM3LjctOC4zbC01LjMtMi41LTUuNiAzNC45YzkuNCA0LjMgMjYuOCA4LjEgNDQuOCA4LjMgNDIuMiAuMSA2OS43LTIwLjggNzAtNTN6TTUyOCAzMzEuNGwtMzIuNC0xNTUuNC0zMS4xIDBjLTkuNiAwLTE2LjkgMi44LTIxIDEyLjlsLTU5LjcgMTQyLjUgNDIuMiAwczYuOS0xOS4yIDguNC0yMy4zbDUxLjYgMGMxLjIgNS41IDQuOCAyMy4zIDQuOCAyMy4zbDM3LjIgMHoiXX0sYmZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVwd29yayIsaWNvbjpbNjQwLDUxMixbXSwiZTY0MSIsIk00OTMuOSAyOTUuNmMtNTAuMyAwLTgzLjUtMzguOS05Mi44LTUzLjkgMTEuOS05NS4zIDQ2LjgtMTI1LjQgOTIuOC0xMjUuNCA0NS41IDAgODAuOSAzNi40IDgwLjkgODkuN3MtMzUuNCA4OS43LTgwLjkgODkuN2wwLS4xem0wLTIzNy44Yy04MS45IDAtMTI3LjggNTMuNC0xNDEgMTA4LjQtMTQuOS0yOC0yNS45LTY1LjUtMzQuNS0xMDAuM2wtMTEzLjIgMCAwIDE0MWMwIDUxLjEtMjMuMyA4OS02OC44IDg5cy03MS42LTM3LjgtNzEuNi04OWwuNS0xNDEtNjUuMyAwIDAgMTQxYzAgNDEuMSAxMy4zIDc4LjQgMzcuNiAxMDUuMSAyNSAyNy41IDU5LjIgNDEuOCA5OC44IDQxLjggNzguOCAwIDEzMy44LTYwLjQgMTMzLjgtMTQ2LjlsMC05NC44YzguMiAzMS4yIDI3LjggOTEuMSA2NS4zIDE0My42bC0zNSAxOTkuNCA2Ni40IDAgMjMuMS0xNDEuM2M3LjYgNi4zIDE1LjcgMTIgMjQuMiAxNyAyMi4yIDE0IDQ3LjcgMjEuOSA3My45IDIyLjggMCAwIDQgLjIgNi4xIC4yIDgxLjIgMCAxNDUuOS02Mi45IDE0NS45LTE0Ny44UzU3NS4zIDU3LjkgNDk0LjEgNTcuOWwtLjItLjF6Il19LHZmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJrYWthby10YWxrIixpY29uOls1NzYsNTEyLFtdLCJlN2Q3IiwiTTI4OCAyLjVjMTU5LjEgMCAyODggMTAxLjcgMjg4IDIyNy4xIDAgMTI1LjQtMTI4LjkgMjI3LjEtMjg4IDIyNy4xLTE3LjUgMC0zNC42LTEuMi01MS4yLTMuNi0xNi42IDExLjctMTEyLjYgNzkuMS0xMjEuNyA4MC40IDAgMC0zLjcgMS40LTYuOS0uNHMtMi42LTYuNy0yLjYtNi43QzEwNi42IDUxOS44IDEzMC42IDQzNy4yIDEzNSA0MjEuOSA1My45IDM4MS44IDAgMzEwLjYgMCAyMjkuNSAwIDEwNC4xIDEyOC45IDIuNSAyODggMi41ek04Ni4yIDE2MS43Yy05IDAtMTYuMyA3LjMtMTYuMyAxNi4zczcuMyAxNi4zIDE2LjMgMTYuM2wyNS45IDAgMCA5OC43YzAgOC44IDcuNSAxNS45IDE2LjYgMTUuOXMxNi42LTcuMSAxNi42LTE1LjlsMC05OC43IDI1LjkgMGM5IDAgMTYuMy03LjMgMTYuMy0xNi4zcy03LjMtMTYuMy0xNi4zLTE2LjNsLTg1LjEgMHptMTQwLjggMGMtMTAuOCAuMi0xOS4zIDguNC0yMi4xIDE2LjRMMTY1LjIgMjgyLjdjLTUgMTUuNy0uNiAyMS41IDMuOSAyMy42IDMuMiAxLjUgNi45IDIuMyAxMC42IDIuMyA2LjkgMCAxMi4yLTIuOCAxMy44LTcuM2w4LjItMjEuNiA1MC43IDAgOC4yIDIxLjVjMS42IDQuNSA2LjkgNy4zIDEzLjggNy4zIDMuNyAwIDcuMy0uOCAxMC42LTIuMyA0LjYtMi4xIDktNy45IDMuOS0yMy42TDI0OS4yIDE3OC4xYy0yLjgtOC0xMS4zLTE2LjItMjIuMi0xNi40em0xODAuOSAwYy05LjIgMC0xNi42IDcuNS0xNi42IDE2LjZsMCAxMTMuN2MwIDkuMiA3LjUgMTYuNiAxNi42IDE2LjZzMTYuNi03LjUgMTYuNi0xNi42bDAtMzYuMiA1LjgtNS44IDM4LjkgNTEuNmMzLjIgNC4yIDggNi42IDEzLjMgNi42IDMuNiAwIDcuMS0xLjEgMTAtMy4zIDMuNS0yLjcgNS44LTYuNiA2LjQtMTFzLS41LTguOC0zLjItMTIuM2wtNDAuOS01NC4yIDM3LjktMzcuOGMyLjYtMi42IDMuOS02LjIgMy43LTEwLjEtLjItMy45LTItNy42LTQuOS0xMC41LTMuMS0zLjEtNy4zLTQuOS0xMS40LTQuOS0zLjYgMC02LjggMS4zLTkuMiAzLjdsLTQ2LjMgNDYuNCAwLTM1LjdjMC05LjItNy41LTE2LjYtMTYuNi0xNi42em0tOTEuMyAwYy05LjMgMC0xNi45IDcuNS0xNi45IDE2LjZsMCAxMTIuOGMwIDguNCA3LjEgMTUuMiAxNS45IDE1LjNsNTMuMyAwYzguOCAwIDE1LjktNi45IDE1LjktMTUuM3MtNy4yLTE1LjItMTUuOS0xNS4ybC0zNS4zIDAgMC05Ny42YzAtOS4yLTcuNi0xNi42LTE3LTE2LjZ6bS03MyA4OC42bC0zMy4yIDAgMTYuNi00Ny4xIDE2LjYgNDcuMXoiXX0seGZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZsdXR0ZXIiLGljb246WzQ0OCw1MTIsW10sImU2OTQiLCJNNDI5LjUgMjM2LjNMMjkxLjcgMzc0LjEgNDI5LjUgNTEyIDI3MiA1MTJjLTM2LjEtMzYuMS04Mi4xLTgyLjEtMTM3LjktMTM3LjlsMTM3LjktMTM3LjggMTU3LjUgMHpNMjcyIDBMMTYgMjU2IDk0LjggMzM0LjggNDI5LjUgMCAyNzIgMHoiXX0seWZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJ1ZmZlciIsaWNvbjpbNDQ4LDUxMixbXSwiZjgzNyIsIk00MjguMiAzODAuN0wyMzEuNyA0NzguNWMtMi4zIDEtNC44IDEuNS03LjMgMS41cy01LS41LTcuMy0xLjVMMjAuNSAzODAuN2MtNC0yLTQtNS4zIDAtNy4zTDY3LjYgMzUwYzIuMy0xIDQuOC0xLjUgNy4zLTEuNXM1IC41IDcuMyAxLjVsMTM0LjggNjdjMi4zIDEgNC44IDEuNSA3LjMgMS41czUtLjUgNy4zLTEuNWwxMzQuOC02N2MyLjMtMSA0LjgtMS41IDcuMy0xLjVzNSAuNSA3LjMgMS41bDQ3LjEgMjMuNGM0IDIgNCA1LjIgMCA3LjJ6bTAtMTM2LjVsLTQ3LjEtMjMuNGMtMi4zLTEtNC44LTEuNS03LjMtMS41cy01IC41LTcuMyAxLjVMMjMxLjcgMjg3LjhjLTIuMyAxLTQuOCAxLjUtNy4zIDEuNXMtNS0uNS03LjMtMS41TDgyLjMgMjIwLjdjLTIuMy0xLTQuOC0xLjUtNy4zLTEuNXMtNSAuNS03LjMgMS41TDIwLjUgMjQ0LjFjLTQgMi00IDUuMyAwIDcuM2wxOTYuNSA5Ny44YzIuMyAxIDQuOCAxLjUgNy4zIDEuNXM1LS41IDcuMy0xLjVsMTk2LjUtOTcuOGM0LTIgNC01LjMgMC03LjN6TTIwLjUgMTMwLjRMMjE3IDIyMC43YzQuNyAxLjkgMTAgMS45IDE0LjcgMGwxOTYuNS05MC4zYzQtMS45IDQtNC45IDAtNi43TDIzMS43IDMzLjRjLTQuNy0xLjktMTAtMS45LTE0LjcgMEwyMC41IDEyMy43Yy00IDEuOC00IDQuOSAwIDYuN3oiXX0sd2Z0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdyYXRpcGF5IixpY29uOls1MTIsNTEyLFtdLCJmMTg0IiwiTTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTIgMjU2IDI1NiAwIDEgMCAwLTUxMnpNMzc0LjMgMjMzLjdMMjU3LjcgMzkxLjMgMTQxLjMgMjMzLjdjLTktMTIuMy0xOS43LTUyIDE0LTc0LjMgMjktMTguNyA1Ni40LTQuMyA3MC43IDEyLjMgMTYuNCAxOC41IDQ4LjEgMTcuNCA2My43IDAgMTQuMy0xNi42IDQxLjctMzEgNzAuMy0xMi4zIDM0IDIyLjMgMjMuMyA2MS45IDE0LjIgNzQuM3oiXX0sTWZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2dsZS1wYXkiLGljb246WzY0MCw1MTIsW10sImUwNzkiLCJNMTA1LjcgMjE1bDAgNDEuMiA1Ny4xIDBjLTEuMiA2LjYtMy42IDEyLjktNy4yIDE4LjVzLTguNCAxMC40LTEzLjkgMTQuMWMtOS41IDYuNi0yMS43IDEwLjMtMzYgMTAuMy0yNy42IDAtNTAuOS0xOC45LTU5LjMtNDQuMi00LjQtMTMuMy00LjQtMjcuNyAwLTQxIDguNC0yNS41IDMxLjctNDQuNCA1OS4zLTQ0LjQgNy41LS4xIDE0LjkgMS4yIDIxLjkgNHMxMy4zIDYuOSAxOC42IDEyLjFMMTc2LjUgMTU1Yy0xOS4xLTE4LjEtNDQuNC0yOC4xLTcwLjctMjcuOC0xOS43IC4xLTM4LjkgNS43LTU1LjYgMTYuMXMtMzAuMSAyNS4zLTM4LjggNDNDMy45IDIwMS4yIDAgMjE3LjcgMCAyMzQuNHMzLjkgMzMuMiAxMS4zIDQ4LjFsMCAuMmM4LjcgMTcuNyAyMi4xIDMyLjUgMzguOCA0M3MzNS45IDE2IDU1LjYgMTZjMjguNSAwIDUyLjUtOS41IDcwLTI1LjkgMjAtMTguNiAzMS40LTQ2LjIgMzEuNC03OC45IDAtNy4zLS42LTE0LjYtMS44LTIxLjhsLTk5LjcgMHptMzg5LjQtNGMtMTAuMS05LjQtMjMuOS0xNC4xLTQxLjQtMTQuMS0yMi41IDAtMzkuMyA4LjMtNTAuNSAyNC45TDQyNC4xIDIzNWM3LjYtMTEuMyAxOC4xLTE3IDMxLjMtMTcgOC40IDAgMTYuNSAzLjIgMjIuNyA4LjggMyAyLjYgNS41IDUuOSA3LjEgOS42czIuNSA3LjYgMi41IDExLjdsMCA1LjVjLTkuMS01LjEtMjAuNi03LjgtMzQuNi03LjgtMTYuNCAwLTI5LjYgMy45LTM5LjUgMTEuOHMtMTQuOCAxOC4zLTE0LjggMzEuNmMtLjIgNS45IDEgMTEuOCAzLjQgMTcuMnM2IDEwLjIgMTAuNSAxNC4xYzkuMiA4LjMgMjEgMTIuNSAzNC44IDEyLjUgMTYuMyAwIDI5LjItNy4zIDM5LTIxLjlsMSAwIDAgMTcuNyAyMi42IDAgMC03OC43Yy4xLTE2LjYtNC45LTI5LjctMTUtMzl6bS0xOS4yIDg5LjNjLTMuNSAzLjUtNy42IDYuMy0xMi4yIDguMnMtOS41IDIuOS0xNC40IDIuOWMtNi43IC4xLTEzLjEtMi4xLTE4LjMtNi4yLTIuNC0xLjgtNC40LTQuMi01LjctNi45cy0yLTUuNy0yLTguN2MwLTcgMy4yLTEyLjggOS41LTE3LjRzMTQuNS03IDI0LjEtN2MxMy4yLS4yIDIzLjUgMi44IDMwLjggOC44IDAgMTAuMS00IDE4LjktMTEuNyAyNi40em0tOTMuNy0xNDJjLTUuMy01LjMtMTEuNi05LjUtMTguNi0xMi4zcy0xNC40LTQuMi0yMS45LTRsLTYyLjcgMCAwIDE4Ni43IDIzLjYgMCAwLTc1LjYgMzkgMGMxNiAwIDI5LjUtNS40IDQwLjUtMTUuOSAuOS0uOSAxLjgtMS44IDIuNi0yLjcgOS42LTEwLjUgMTQuOC0yNC40IDE0LjMtMzguNnMtNi42LTI3LjctMTYuOS0zNy42bDAgMHptLTE2LjYgNjIuMmMtMyAzLjItNi42IDUuNy0xMC42IDcuNHMtOC40IDIuNS0xMi43IDIuM2wtMzkuNiAwIDAtNjUuMiAzOS42IDBjOC41IDAgMTYuNiAzLjMgMjIuNiA5LjIgNi4xIDYuMSA5LjYgMTQuMyA5LjggMjNzLTMuMSAxNy05IDIzLjNsMCAwek02MTQuMyAyMDFsLTM2LjUgOTEuNy0uNSAwLTM3LjQtOTEuNy0yNS43IDAgNTEuOCAxMTkuNi0yOS40IDY0LjMgMjQuMyAwIDc5LTE4My45LTI1LjcgMHoiXX0sa2Z0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFwcGxlIixpY29uOlszODQsNTEyLFtdLCJmMTc5IiwiTTMxOS4xIDI2OC43Yy0uMi0zNi43IDE2LjQtNjQuNCA1MC04NC44LTE4LjgtMjYuOS00Ny4yLTQxLjctODQuNy00NC42LTM1LjUtMi44LTc0LjMgMjAuNy04OC41IDIwLjctMTUgMC00OS40LTE5LjctNzYuNC0xOS43LTU1LjggLjktMTE1LjEgNDQuNS0xMTUuMSAxMzMuMiAwIDI2LjIgNC44IDUzLjMgMTQuNCA4MS4yIDEyLjggMzYuNyA1OSAxMjYuNyAxMDcuMiAxMjUuMiAyNS4yLS42IDQzLTE3LjkgNzUuOC0xNy45IDMxLjggMCA0OC4zIDE3LjkgNzYuNCAxNy45IDQ4LjYtLjcgOTAuNC04Mi41IDEwMi42LTExOS4zLTY1LjItMzAuNy02MS43LTkwLTYxLjctOTEuOXpNMjYyLjUgMTA0LjVjMjcuMy0zMi40IDI0LjgtNjEuOSAyNC03Mi41LTI0LjEgMS40LTUyIDE2LjQtNjcuOSAzNC45LTE3LjUgMTkuOC0yNy44IDQ0LjMtMjUuNiA3MS45IDI2LjEgMiA0OS45LTExLjQgNjkuNS0zNC4zeiJdfSx6ZnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidHVtYmxyIixpY29uOlszMjAsNTEyLFtdLCJmMTczIiwiTTMwOS45IDQ4MC4zYy0xMy42IDE0LjUtNTAgMzEuNy05Ny40IDMxLjctMTIwLjggMC0xNDctODguOC0xNDctMTQwLjZsMC0xNDQtNDcuNSAwYy01LjUgMC0xMC00LjUtMTAtMTBsMC02OGMwLTcuMiA0LjUtMTMuNiAxMS4zLTE2IDYyLTIxLjggODEuNS03NiA4NC4zLTExNy4xIC44LTExIDYuNS0xNi4zIDE2LjEtMTYuM2w3MC45IDBjNS41IDAgMTAgNC41IDEwIDEwbDAgMTE1LjIgODMgMGM1LjUgMCAxMCA0LjQgMTAgOS45bDAgODEuN2MwIDUuNS00LjUgMTAtMTAgMTBsLTgzLjQgMCAwIDEzMy4yYzAgMzQuMiAyMy43IDUzLjYgNjggMzUuOCA0LjgtMS45IDktMy4yIDEyLjctMi4yIDMuNSAuOSA1LjggMy40IDcuNCA3LjlsMjIgNjQuM2MxLjggNSAzLjMgMTAuNi0uNCAxNC41eiJdfSxTZnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGhvZW5peC1zcXVhZHJvbiIsaWNvbjpbNTEyLDUxMixbXSwiZjUxMSIsIk05NiA2My40YzQ2LjUtMzYuMSAxMDUuNi01Ni4xIDE2NC41LTU0LjYgMjkuNi0uNCA1OS4xIDUuNCA4Ni45IDE1LjMtMjQuMS00LjYtNDktNi4zLTczLjQtMi41LTQyLjkgNS4zLTgzIDI3LjItMTExLjggNTkuMiA1LjctMSAxMC44LTMuNyAxNi01LjkgMTguMS03LjkgMzcuNS0xMy4zIDU3LjItMTQuOCAxOS43LTIuMSAzOS42LS40IDU5LjMgMS45LTE0LjQgMi44LTI5LjEgNC42LTQzIDkuNi0zNC40IDExLjEtNjUuMyAzMy4yLTg2LjMgNjIuNi0xMy44IDE5LjctMjMuNiA0Mi45LTI0LjcgNjcuMS0uNCAxNi41IDUuMiAzNC44IDE5LjggNDQgMTEuMiA2LjggMjQuNiA5LjIgMzcuNSA2LjcgMTUuNC0yLjUgMzAuMS04LjYgNDMuNi0xNi4zIDExLjUtNi44IDIyLjctMTQuNiAzMi0yNC4zIDMuOC0zLjIgMi41LTguNCAyLjYtMTIuOC0yLjEtLjMtNC40LTEuMS02LjMgLjMtMTEuNCA2LjMtMjMuNCAxMS40LTM1LjggMTUuNC0yMCA2LjItNDIuMiA4LjUtNjIuMSAuOCAxMi44IDEuNyAyNi4xIC4zIDM3LjctNS40IDIwLjItOS43IDM2LjgtMjUuMiA1NC40LTM4LjggMjcuNy0yMS4zIDU3LjUtMzkuOSA4OC45LTU1LjMgMjUuNy0xMiA1Mi45LTIyLjggODEuNi0yNC4xLTE1LjYgMTMuNy0zMi4xIDI2LjUtNDYuOCA0MS40LTE0LjUgMTQtMjcuNSAyOS41LTQwLjEgNDUuMi0zLjUgNC42LTkgNi45LTEzLjYgMTAuMi0yMi40IDE1LTQwLjMgMzUuOC01MS45IDYwLjEtOS4zIDE5LjctMTQuNSA0MS45LTExLjggNjMuNiAxLjkgMTMuNyA4LjcgMjcuNiAyMC45IDM0LjkgMTIuOSA4IDI5IDguMSA0My41IDUuMSAzMi44LTcuNCA2MS40LTI4LjkgODEtNTUuOCAyMC40LTI3LjUgMzAuNS02Mi4yIDI5LjItOTYuMy0uNS03LjUtMS42LTE1LTEuNy0yMi41IDggMTkuNSAxNC44IDM5LjcgMTYuNiA2MC44IDIgMTQuMyAuNyAyOC44LTEuNiA0Mi45LTEuOSAxMS01LjcgMjEuNS03LjggMzIuNCAyMC40LTIyLjkgMzQtNTAuOSAzOS4zLTgxLjEgNS42LTM1LjUgLjctNzEuOS0xNC4yLTEwNC42IDIwLjggMzIgMzIuMyA2OS42IDM1LjcgMTA3LjUgLjUgMTIuNyAuNSAyNS41IDAgMzguMi0yLjggMzQuMy0xMi45IDY3LjYtMjkuNiA5Ny44LTI2LjEgNDcuMy02OCA4NS42LTExNy4yIDEwOC03OC4zIDM2LjItMTc0LjcgMzEuMy0yNDgtMTQuNy0zOS0yMy44LTcwLjYtNTgtOTEuNC05OC43LTE0LjctMjguOS0yMy4zLTYwLjUtMjUuNC05Mi45bDAtMzEuM0MzLjkgMTcyIDQwLjkgMTA1LjggOTYgNjMuNHptMjIyIDgwLjNjNS41LS45IDEwLjgtMi40IDE2LTQuNSA1LTEuOCA5LjItNS45IDEwLjMtMTEuMi05IDUtMTggOS45LTI2LjMgMTUuN3oiXX0sQ2Z0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNlbnRlcmNvZGUiLGljb246WzUxMiw1MTIsW10sImYzODAiLCJNMjAxLjggMjU0LjhhNjQuMSA2NC4xIDAgMSAxIDEyNy40IDEzLjggNjQuMSA2NC4xIDAgMSAxIC0xMjcuNC0xMy44em00MS42IDI0OC45Qzk2LjcgNDk2LTguMiAzNjUuNSAxMC4xIDIyNC4zIDIxLjMgMTM3LjcgNzUuOSA2Ny40IDE0OS4yIDMyLjMgMzEwLjItNDQuOCA0OTguOSA2OS43IDUwMy45IDI0OC45IDUwOCAzOTUuOSAzODUuNSA1MTEuMSAyNDMuNCA1MDMuN3ptMTc5LjktMTgwYzI3LjktMTE4LTE2MC41LTIwNS45LTIzNy4yLTIzNC4yLTU3LjUgNTYuMy02OS4xIDE4OC42LTMzLjggMzQ0LjQgNjguOCAxNS44IDE2OS4xLTI2LjQgMjcxLTExMC4yeiJdfSxfZnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGViaWFuIixpY29uOls0NDgsNTEyLFtdLCJlNjBiIiwiTTM4MC40IDI0NS42YzMtNy42IDUuNS0xNCA1LjItMjQuNGwtNC4zIDljNC40LTEzLjIgNC0yNy4xIDMuNi00MC40LS4yLTYtLjMtMTEuOCAwLTE3LjRsLTEuOC0uNWMtMS41LTQ1LjItNDAuNi05My4xLTc1LjMtMTA5LjQtMzAtMTMuOC03Ni4xLTE2LjItOTcuMy01LjggMS4zLTEuMSA0LjItMiA2LjgtMi43bC4zLS4xYzMuMy0xIDYtMS43IDQtMi45LTE5LjIgMS45LTI0LjkgNS41LTMxLjEgOS40bC0uMSAwYy00LjYgMi45LTkuNSA2LTIwLjMgOC43LTMuNSAzLjQgMS43IDIgNS44IC45czcuMi0xLjktLjEgMi40Yy0zLjUgMS02LjYgMS4zLTkuNiAxLjZsLS4xIDBjLTguMyAuOC0xNS44IDEuNi0zMC43IDE3IC44IDEuMyAzLjQtLjIgNS4zLTEuM2wuMS0uMWMyLjMtMS40IDMuNC0yLTEuNyA0LjQtMTkuMS0yLjQtNjAuMyA0My43LTY5LjEgNTlsNC42IC44Yy0zLjIgOC02LjggMTQuOC0xMCAyMC44LTQuMyA4LjEtNy45IDE0LjktOC43IDIxLjMtLjMgNS4xLTEgMTEtMS43IDE3LjMtLjEgMS0uMiAyLS4zIDNsLS4xIC42Yy0zIDI3LjMtNi43IDYwLjggMy45IDczbC0xLjMgMTNjLjYgMS4yIDEuMSAyLjMgMS42IDMuNSAuMiAuNCAuNCAuOCAuNSAxLjEgMSAyLjEgMiA0LjIgMy4zIDYuMmwtMyAuMmM3IDIyLjEgMTAuOCAyMi41IDE1LjEgMjIuOSA0LjQgLjQgOS4zIC45IDE4LjcgMjQuMi0yLjctLjktNS41LTEuOS05LjQtNy4yLS41IDQuMSA1LjggMTYuMyAxMy4xIDI1LjhsLTMuMSAzLjZjMi4xIDMuNyA0LjggNi4yIDcuNiA4LjggMSAuOSAyLjEgMS45IDMuMSAyLjktMTEuOS02LjUgMy4yIDEzLjcgMTEuOSAyNS4yIC44IDEuMSAxLjUgMiAyLjIgMi45IDEuNCAxLjkgMi41IDMuNCAyLjkgNC4xbDIuNC00LjJjLS4zIDYuMSA0LjMgMTMuOSAxMy4xIDI0LjdsNy4zLS4zYzMgNiAxNCAxNi43IDIwLjcgMTcuMmwtNC40IDUuOGM4LjEgMi42IDEwLjMgNC4zIDEyLjcgNi4yIDIuNiAyLjEgNS40IDQuMyAxNi4xIDguMWwtNC4yLTcuNGMzLjUgMyA2LjIgNS45IDguOCA4LjdsLjEgLjFjNS4yIDUuNiA5LjkgMTAuNiAxOS43IDE1LjMgMTAuNyAzLjcgMTYuNiA0LjcgMjIuNyA1LjggLjMgMCAuNiAuMSAuOSAuMSA1LjQgLjggMTEuMiAxLjggMjAuOCA0LjUtMS4xLS4xLTIuMi0uMS0zLjMtLjEtMi4zLS4xLTQuNy0uMS03LS4xLTE0LjQtLjItMjkuMi0uNC00Mi43LTUuMi05Ni42LTI1LjctMTg0LjktMTM5LTE3OC40LTI1NS42LS42LTkuOS0uMy0yMC45IDAtMzAuNyAuNC0xMy41IC43LTI0LjgtMS42LTI4LjNsMS0zLjFjNS4zLTE3LjQgMTEuNy0zOC4yIDIzLjgtNjIuOGwtLjEtLjIgMC0uMWMuNCAuNCAzLjQgMy40IDguOC01LjggLjgtMS44IDEuNi0zLjcgMi40LTUuNiAuNS0xLjEgLjktMi4yIDEuNC0zLjIgMi41LTYuMSA1LjEtMTIuMyA4LjQtMTcuOWwyLjYtLjZjMS43LTEwLjEgMTctMjMuOCAyOS44LTM1LjJsMS4xLTFjNS43LTUuMSAxMC43LTkuNyAxMy42LTEzLjFsLjcgNC40YzE3LTE1LjkgNDQuNi0yNy41IDY1LjYtMzYuNGwuNS0uMmM0LjgtMiA5LjMtMy45IDEzLjMtNS43LTMuNCAzLjggMi4yIDIuNyAxMCAxIDQuOC0xIDEwLjQtMi4xIDE1LjMtMi40bC0zLjkgMi4xYy0yLjcgMS40LTUuNCAyLjgtOCA0LjYgOC4xLTIgMTEuNy0xLjQgMTUuNy0uOGwuMyAwYzMuNSAuNiA3LjMgMS4yIDE0LjYgLjItNS42IC44LTEyLjMgMy0xMS4yIDMuOCA3LjkgLjkgMTIuOC0uMSAxNy4yLTFsLjIgMGM1LjUtMS4xIDEwLjMtMiAxOS4zIC45bC0xLTQuOGM3LjMgMi42IDEyLjcgNC4zIDE3LjUgNS44bC41IC4xYzEwIDMgMTcuNiA1LjMgMzQuMiAxNC4xIDMuMiAuMiA1LjMtLjUgNy40LTEuMmwuMSAwYzMuNi0xLjEgNy0yLjEgMTUuMiAxLjIgLjMgLjUgLjUgMSAuNyAxLjQgLjEgLjIgLjIgLjUgLjMgLjdsMCAuMWMxIDIuNiAxLjggNC42IDE0LjYgMTIuMSAxLjctLjctMi43LTQuNy02LjQtOC4ybC0uMS0uMWMtLjItLjEtLjMtLjMtLjUtLjQgMzIuMiAxNy4zIDY3LjMgNTQuMSA3OCA5My41LTYtMTEuMS01LjItNS41LTQuMyAuNSAuNiA0IDEuMiA4LjEtLjIgNy41IDQuNSAxMi4xIDguMSAyNC41IDEwLjQgMzcuNGwtLjgtMi45LS4xLS4zYy0zLjMtMTEuOS05LjYtMzQuMy0xOS45LTQ5LjMtLjQgNC4zLTIuOCAzLjktNS4yIDMuNWwtLjEgMGMtMy4zLS42LTYuMi0xLjEtMS45IDEyLjYgMi42IDMuOCAzLjEgMi40IDMuNSAxLjEgLjUtMS41IC45LTIuNyA0LjcgNS4yIC4xIDQuMSAxIDguMiAyLjEgMTIuN2wuMSAuNmMuMSAuMyAuMSAuNSAuMiAuOGwuMSAuNmMuNiAyLjYgMS4zIDUuNCAxLjggOC40LTEuMS0uMi0yLjMtMi4yLTMuNC00LjItMS40LTIuNC0yLjgtNC43LTMuNy0zLjIgMi40IDExLjUgNi41IDE3LjQgOCAxOC4zLS4zIC42LS42IC43LTEuMSAuNy0uOCAwLTEuOCAuMS0xLjkgNS4zIC43IDEzLjcgMy4zIDEyLjUgNS4zIDExLjYgLjYtLjMgMS4yLS42IDEuNy0uNC0uNiAyLjUtMS42IDUuMS0yLjcgNy45LTIuOCA3LjEtNiAxNS40LTMuNCAyNi4xLS44LTMtMi02LTMuMS04LjlsLS4xLS40Yy0uMi0uNS0uNC0xLS42LTEuNS0uMy0uOC0uNi0xLjYtLjktMi4zLS42IDQuNC0uMyA3LjctLjEgMTAuNmwwIC43Yy40IDUuMyAuNyAxMC0zIDE5LjkgNC4zLTE0LjIgMy44LTI2LjktLjItMjAuOCAxIDEwLjktMy43IDIwLjQtOCAyOC45bC0uMSAuMmMtMy42IDcuMS02LjggMTMuNS01LjkgMTkuM2wtNS4yLTcuMWMtNy41IDEwLjktNyAxMy4zLTYuNSAxNS41bDAgLjFjLjUgMS45IDEgMy44LTMuNCAxMC44IDEuNy0yLjkgMS4zLTMuNiAxLTQuMi0uNC0uOC0uNy0xLjUgMS43LTUuMS0xLjYgLjEtNS41IDMuOS0xMC4xIDguNS0zLjkgMy45LTguNSA4LjQtMTIuOCAxMS44LTM3LjUgMzAuMS04Mi4zIDM0LTEyNS42IDE3LjggLjItMS0uMi0yLjEtMy4xLTQuMS0zNi44LTI4LjItNTguNS01Mi4xLTUwLjktMTA3LjUgMi4xLTEuNiAzLjYtNS44IDUuMy0xMC44bC4yLS40IC4xLS4zIDAtLjFjMi45LTguNCA2LjUtMTguOCAxNC4zLTIzLjggNy44LTE3LjMgMzEuMy0zMy4zIDU2LjQtMzMuNyAyNS42LTEuNCA0Ny4yIDEzLjcgNTguMSAyNy45LTE5LjgtMTguNC01Mi4xLTI0LTc5LjctMTAuNC0yOC4yIDEyLjctNDUgNDMuOC00Mi41IDc0LjcgLjMtLjQgLjYtLjYgLjktLjhsLjItLjJjLjYtLjUgMS4xLS45IDEuNC0zLjMtLjkgNjAuMiA2NC44IDEwNC4zIDExMi4xIDgybC42IDEuM2MxMi43LTMuNSAxNS45LTYuNSAyMC4zLTEwLjdsLjEtLjFjMi4yLTIuMSA0LjctNC41IDguOS03LjMtLjMgLjctMS4zIDEuNy0yLjQgMi43LTIuMiAyLjEtNC42IDQuNS0xLjYgNC42IDUtMS4zIDE4LjUtMTMuNCAyOC41LTIyLjMgLjYtLjUgMS4yLTEgMS43LTEuNSAxLjUtMS4zIDIuOC0yLjUgNC0zLjZsLjMtLjNjMS45LTQuMiAxLjYtNS42IDEuMy03bDAtLjFjLS40LTEuNi0uOC0zLjMgMi40LTkuNmw3LjMtMy43Yy44LTIuMSAxLjUtNC4xIDIuMi02IC4yLS42IC41LTEuMiAuNy0xLjhsLS40LS4yLS4xLS4xek0yNDggMzM0LjFjLTYtMy0xMy43LTguOS0xNC44LTExLjRsLS40IC4zYy0uMyAuNi0uNSAxLjMtLjIgMi4yLTEyLjItNS43LTIzLjQtMTQuMy0zMi42LTI0LjkgNC45IDcuMSAxMC4xIDE0LjEgMTcgMTkuNS02LjktMi4zLTE1LjEtMTEuOC0yMS42LTE5LjNsLS4xLS4xYy00LjMtNS03LjktOS4xLTkuNy05LjUgMTkuOCAzNS41IDgwLjUgNjIuMyAxMTIuMyA0OS0xNC43IC41LTMzLjQgLjMtNDkuOS01Ljh6bTc5LjMtMTE5LjdsLS4xLS4yYy0uNS0xLjUtMS4xLTMuMS0xLjctMy40IDEuNC01LjggNS40LTEwLjcgNC40IDQuNi0xIDMuOC0xLjggMS41LTIuNi0xem0tNC4yIDIyLjJjLTEuMyA3LjktNSAxNS41LTEwLjEgMjIuNSAuMi0yLTEuMi0yLjQtMi42LTIuOC0yLjktLjgtNS45LTEuNiA1LjYtMTYuMS0uNSAxLjktMi4xIDQuNi0zLjcgNy4zbC0uMyAuNGMtMy42IDUuOS02LjcgMTEgNCA0LjNsMS0xLjhjMi42LTQuNSA1LTguOCA2LTEzLjhsLjEgMHptLTU1LjYgMzMuOWM3LjEgLjYgMTQuMSAuNiAyMS0xLjEtMi41IDIuNC01LjIgNC44LTguMyA3LjItMTEuMS0xLjctMjEuMi02LTEyLjctNi4xem0tOTIuNiAxMS42YzMuNiA3LjEgNi40IDExLjUgOSAxNS43bC4xIC4yYzIuMyAzLjcgNC40IDcuMSA2LjggMTEuNy01LjEtNC4yLTguNy05LjUtMTIuNS0xNWwtLjMtLjVjLTEuNC0yLjEtMi44LTQuMi00LjQtNi4ybDEuMi01LjkgLjEgMHptNy41LTkuNmMxLjYgMy4zIDMuMiA2LjQgNS43IDkuMWwyLjYgNy43LTEuMy0yLjFjLTMuMi01LjMtNi4zLTEwLjYtOC0xNi43bDEgMnptMjM4LjktNDEuNmMtMi4zIDE3LjQtNy43IDM0LjYtMTYgNTAuMyA3LjYtMTQuOSAxMi41LTMwLjkgMTQuOC00Ny4ybDEuMi0zLjF6TTM1LjggMTEwLjZjLjQgLjggMS40IC41IDIuMyAuMyAxLjktLjUgMy42LS45LS4xIDcuNi0uNSAuMy0xIC43LTEuNSAxLTEuNCAuOS0yLjggMS45LTMuOSAzIDEuOS0zLjggMy41LTcuNCAzLjItMTEuOXpNMjUuNSAxNTIuM2MtLjcgMy43LTEuNSA3LjktMy40IDEzLjkgLjItMS45IDAtMy41LS4yLTQuOWwwLS4xYy0uNC0zLjQtLjctNi4zIDQuMy0xMi44LS4zIDEuMi0uNSAyLjUtLjcgMy44bDAgLjF6Il19LFRmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtYXN0b2RvbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjRmNiIsIk00MzMgMTc5LjFjMC05Ny4yLTYzLjctMTI1LjctNjMuNy0xMjUuNy02Mi41LTI4LjctMjI4LjYtMjguNC0yOTAuNSAwIDAgMC02My43IDI4LjUtNjMuNyAxMjUuNyAwIDExNS43LTYuNiAyNTkuNCAxMDUuNiAyODkuMSA0MC41IDEwLjcgNzUuMyAxMyAxMDMuMyAxMS40IDUwLjgtMi44IDc5LjMtMTguMSA3OS4zLTE4LjFsLTEuNy0zNi45cy0zNi4zIDExLjQtNzcuMSAxMC4xYy00MC40LTEuNC04My00LjQtODkuNi01NC0uNi00LjYtLjktOS4zLS45LTEzLjkgODUuNiAyMC45IDE1OC43IDkuMSAxNzguNyA2LjcgNTYuMS02LjcgMTA1LTQxLjMgMTExLjItNzIuOSA5LjgtNDkuOCA5LTEyMS41IDktMTIxLjV6TTM1Ny45IDMwNC4zbC00Ni42IDAgMC0xMTQuMmMwLTQ5LjctNjQtNTEuNi02NCA2LjlsMCA2Mi41LTQ2LjMgMCAwLTYyLjVjMC01OC41LTY0LTU2LjYtNjQtNi45bDAgMTE0LjItNDYuNyAwYzAtMTIyLjEtNS4yLTE0Ny45IDE4LjQtMTc1IDI1LjktMjguOSA3OS44LTMwLjggMTAzLjggNi4xbDExLjYgMTkuNSAxMS42LTE5LjVjMjQuMS0zNy4xIDc4LjEtMzQuOCAxMDMuOC02LjEgMjMuNyAyNy4zIDE4LjQgNTMgMTguNCAxNzVsMCAweiJdfSxMZnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2tldGNoIixpY29uOls1MTIsNTEyLFtdLCJmN2M2IiwiTTI3LjggMTYyLjJsLTE4LjUgMjQuOSA5MC41IDAgNi45LTEzMC43LTc4LjkgMTA1Ljh6TTM5Ni42IDQ1LjdMMjY4IDMyIDQwMy43IDE3OS4yIDM5Ni42IDQ1Ljd6TTExMi41IDIxOC4zbC0xMS4yLTIyLTkxLjEgMCAyMjQuOSAyNjEuNy0xMjIuNi0yMzkuN3ptMi0zMS4ybDI4NCAwQzM0MC42IDEyNC4zIDI5My4zIDcyLjkgMjU2LjYgMzNMMTE0LjUgMTg3LjF6bTI5Ny4zIDkuMWwtMTMzLjkgMjYxLjggMjI0LjgtMjYxLjctOTAuOSAwIDAtLjF6TTQxNS43IDY5bC05LjQtMTIuNiAuOSAxNy4zIDYuMSAxMTMuNCA5MC4zIDAtODcuOS0xMTguMXpNMTEzLjggOTMuNUwxMDkuMiAxNzkuMSAyNDUgMzIgMTE2LjQgNDUuNyAxMTMuOCA5My41ek00MDEuNSAxOTYuMmwtMjkwIDBjMTguMiAzNS42IDY2LjYgMTMwLjIgMTQ1LjEgMjgzLjhMNDAxLjUgMTk2LjJ6Il19LCRmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3ZWItYXdlc29tZSIsaWNvbjpbNjQwLDUxMixbXSwiZTY4MiIsIk0zNzIuMiA1MmMwIDIwLjktMTIuNCAzOS0zMC4yIDQ3LjJMNDQ4IDE5MiA1NTIuNCAxNzEuMWMtNS4zLTcuNy04LjQtMTcuMS04LjQtMjcuMSAwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4YzAgMjYtMjAuNiA0Ny4xLTQ2LjQgNDhMNDgxIDQ0Mi4zYy0xMC4zIDIzLTMzLjIgMzcuNy01OC40IDM3LjdsLTIwNS4yIDBjLTI1LjIgMC00OC0xNC44LTU4LjQtMzcuN0w0Ni40IDE5MkMyMC42IDE5MS4xIDAgMTcwIDAgMTQ0IDAgMTE3LjUgMjEuNSA5NiA0OCA5NnM0OCAyMS41IDQ4IDQ4YzAgMTAuMS0zLjEgMTkuNC04LjQgMjcuMUwxOTIgMTkyIDI5OC4xIDk5LjFjLTE3LjctOC4zLTMwLTI2LjMtMzAtNDcuMSAwLTI4LjcgMjMuMy01MiA1Mi01MnM1MiAyMy4zIDUyIDUybC4xIDB6Il19LERmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzYXNzIixpY29uOls2NDAsNTEyLFtdLCJmNDFlIiwiTTMwMS44IDM3OC45bDAgMHptMjQ5LjEtODdjLTIwLjEgMC00MCA0LjYtNTggMTMuNS01LjktMTEuOS0xMi0yMi4zLTEzLTMwLjEtMS4yLTkuMS0yLjUtMTQuNS0xLjEtMjUuM3M3LjctMjYuMSA3LjYtMjcuMi0xLjQtNi42LTE0LjMtNi43LTI0IDIuNS0yNS4zIDUuOWMtMi4zIDYuMi00LjEgMTIuNi01LjMgMTkuMS0yLjMgMTEuNy0yNS44IDUzLjUtMzkuMSA3NS4zLTQuNC04LjUtOC4xLTE2LTguOS0yMi0xLjItOS4xLTIuNS0xNC41LTEuMS0yNS4zczcuNy0yNi4xIDcuNi0yNy4yLTEuNC02LjYtMTQuMy02LjctMjQgMi41LTI1LjMgNS45LTIuNyAxMS40LTUuMyAxOS4xLTMzLjkgNzcuMy00Mi4xIDk1LjRjLTQuMiA5LjItNy44IDE2LjYtMTAuNCAyMS42LS40IC44LS43IDEuMy0uOSAxLjcgLjMtLjUgLjUtMSAuNS0uOC0yLjIgNC4zLTMuNSA2LjctMy41IDYuN2wwIC4xYy0xLjcgMy4yLTMuNiA2LjEtNC41IDYuMS0uNiAwLTEuOS04LjQgLjMtMTkuOSA0LjctMjQuMiAxNS44LTYxLjggMTUuNy02My4xLS4xLS43IDIuMS03LjItNy4zLTEwLjctOS4xLTMuMy0xMi40IDIuMi0xMy4yIDIuMnMtMS40IDItMS40IDIgMTAuMS00Mi40LTE5LjQtNDIuNGMtMTguNCAwLTQ0IDIwLjItNTYuNiAzOC41LTcuOSA0LjMtMjUgMTMuNi00MyAyMy41LTYuOSAzLjgtMTQgNy43LTIwLjcgMTEuNC0uNS0uNS0uOS0xLTEuNC0xLjUtMzUuOC0zOC4yLTEwMS45LTY1LjItOTkuMS0xMTYuNSAxLTE4LjcgNy41LTY3LjggMTI3LjEtMTI3LjQgOTgtNDguOCAxNzYuMy0zNS40IDE4OS44LTUuNiAxOS40IDQyLjUtNDEuOSAxMjEuNi0xNDMuNyAxMzMtMzguOCA0LjMtNTkuMi0xMC43LTY0LjMtMTYuMy01LjMtNS45LTYuMS02LjItOC4xLTUuMS0zLjMgMS44LTEuMiA3IDAgMTAuMSAzIDcuOSAxNS41IDIxLjkgMzYuOCAyOC45IDE4LjcgNi4xIDY0LjIgOS41IDExOS4yLTExLjggNjEuOC0yMy44IDEwOS45LTkwLjEgOTUuOC0xNDUuNi0xNC40LTU2LjQtMTA3LjktNzQuOS0xOTYuMy00My41LTUyLjcgMTguNy0xMDkuNyA0OC4xLTE1MC43IDg2LjQtNDguNyA0NS42LTU2LjUgODUuMy01My4zIDEwMS45IDExLjQgNTguOSA5Mi42IDk3LjMgMTI1LjEgMTI1LjctMS42IC45LTMuMSAxLjctNC41IDIuNS0xNi4zIDguMS03OC4yIDQwLjUtOTMuNyA3NC43LTE3LjUgMzguOCAyLjkgNjYuNiAxNi4zIDcwLjQgNDEuOCAxMS42IDg0LjYtOS4zIDEwNy42LTQzLjZzMjAuMi03OS4xIDkuNi05OS41Yy0uMS0uMy0uMy0uNS0uNC0uOCA0LjItMi41IDguNS01IDEyLjgtNy41IDguMy00LjkgMTYuNC05LjQgMjMuNS0xMy4zLTQgMTAuOC02LjkgMjMuOC04LjQgNDIuNi0xLjggMjIgNy4zIDUwLjUgMTkuMSA2MS43IDUuMiA0LjkgMTEuNSA1IDE1LjQgNSAxMy44IDAgMjAtMTEuNCAyNi45LTI1IDguNS0xNi42IDE2LTM1LjkgMTYtMzUuOXMtOS40IDUyLjIgMTYuMyA1Mi4yYzkuNCAwIDE4LjgtMTIuMSAyMy0xOC4zbDAgLjFzLjItLjQgLjctMS4yYzEtMS41IDEuNS0yLjQgMS41LTIuNGwwLS4zYzMuOC02LjUgMTIuMS0yMS40IDI0LjYtNDYgMTYuMi0zMS44IDMxLjctNzEuNSAzMS43LTcxLjUgMS41IDguNyAzLjYgMTcuMyA2LjIgMjUuOCAyLjggOS41IDguNyAxOS45IDEzLjQgMzAtMy44IDUuMi02LjEgOC4yLTYuMSA4LjIgMCAuMSAwIC4xIC4xIC4yLTMgNC02LjQgOC4zLTkuOSAxMi41LTEyLjggMTUuMi0yOCAzMi42LTMwIDM3LjYtMi40IDUuOS0xLjggMTAuMyAyLjggMTMuNyAzLjQgMi42IDkuNCAzIDE1LjcgMi41IDExLjUtLjggMTkuNi0zLjYgMjMuNS01LjQgNy4yLTIuNiAxNC02LjEgMjAuMi0xMC42IDEyLjUtOS4yIDIwLjEtMjIuNCAxOS40LTM5LjgtLjQtOS42LTMuNS0xOS4yLTcuMy0yOC4yIDEuMS0xLjYgMi4zLTMuMyAzLjQtNSAxOS44LTI4LjkgMzUuMS02MC42IDM1LjEtNjAuNiAxLjUgOC43IDMuNiAxNy4zIDYuMiAyNS44IDIuNCA4LjEgNy4xIDE3IDExLjQgMjUuNy0xOC42IDE1LjEtMzAuMSAzMi42LTM0LjEgNDQuMS03LjQgMjEuMy0xLjYgMzAuOSA5LjMgMzMuMSA0LjkgMSAxMS45LTEuMyAxNy4xLTMuNSA3LjctMi42IDE1LTYuMyAyMS42LTExLjEgMTIuNS05LjIgMjQuNi0yMi4xIDIzLjgtMzkuNi0uMy03LjktMi41LTE1LjgtNS40LTIzLjQgMTUuNy02LjYgMzYuMS0xMC4yIDYyLjEtNy4yIDU1LjcgNi41IDY2LjYgNDEuMyA2NC41IDU1LjhzLTEzLjggMjIuNi0xNy43IDI1LTUuMSAzLjMtNC44IDUuMWMuNSAyLjYgMi4zIDIuNSA1LjYgMS45IDQuNi0uOCAyOS4yLTExLjggMzAuMy0zOC43IDEuNi0zNC0zMS4xLTcxLjQtODktNzEuMWwwIDB6TTEyMS44IDQzNi42Yy0xOC40IDIwLjEtNDQuMiAyNy43LTU1LjMgMjEuMy0xMS45LTYuOS03LjItMzYuNSAxNS41LTU3LjkgMTMuOC0xMyAzMS42LTI1IDQzLjQtMzIuNCAyLjctMS42IDYuNi00IDExLjQtNi45IC44LS41IDEuMi0uNyAxLjItLjcgLjktLjYgMS45LTEuMSAyLjktMS43IDguMyAzMC40IC4zIDU3LjItMTkuMSA3OC4zbDAgMHptMTM0LjQtOTEuNGMtNi40IDE1LjctMTkuOSA1NS43LTI4LjEgNTMuNi03LTEuOC0xMS4zLTMyLjMtMS40LTYyLjMgNS0xNS4xIDE1LjYtMzMuMSAyMS45LTQwLjEgMTAuMS0xMS4zIDIxLjItMTQuOSAyMy44LTEwLjQgMy41IDUuOS0xMi4yIDQ5LjQtMTYuMiA1OS4yem0xMTEgNTNjLTIuNyAxLjQtNS4yIDIuMy02LjQgMS42LS45LS41IDEuMS0yLjQgMS4xLTIuNHMxMy45LTE0LjkgMTkuNC0yMS43YzMuMi00IDYuOS04LjcgMTAuOS0xMy45IDAgLjUgLjEgMSAuMSAxLjYtLjEgMTcuOS0xNy4zIDMwLTI1LjEgMzQuOGwwIDB6bTg1LjYtMTkuNWMtMi0xLjQtMS43LTYuMSA1LTIwLjcgMi42LTUuNyA4LjYtMTUuMyAxOS0yNC41IDEuMiAzLjUgMS44IDcuMSAxLjkgMTAuOC0uMSAyMi41LTE2LjIgMzAuOS0yNS45IDM0LjRsMCAweiJdfSxBZnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGhyZWVtYSIsaWNvbjpbMzg0LDUxMixbXSwiZTg1ZiIsIk04Ny40IDQ0NS4xYzE4LjUgMCAzMy41IDE1IDMzLjUgMzMuNFMxMDUuOSA1MTIgODcuNCA1MTIgNTQgNDk3IDU0IDQ3OC41IDY5IDQ0NS4xIDg3LjQgNDQ1LjF6bTEwOS4yIDBjMTguNSAwIDMzLjUgMTUgMzMuNSAzMy40cy0xNSAzMy41LTMzLjUgMzMuNS0zMy40LTE1LTMzLjQtMzMuNSAxNS0zMy40IDMzLjQtMzMuNHptMTA5LjMgMGMxOC41IDAgMzMuNSAxNSAzMy41IDMzLjRzLTE1IDMzLjUtMzMuNSAzMy41LTMzLjUtMTUtMzMuNS0zMy41IDE1LTMzLjQgMzMuNS0zMy40ek0xOTIuMyAuM2MxMDkuOCAwIDE5OS4yIDg5LjMgMTk5LjIgMTk5LjFTMzAyLjIgMzk4LjUgMTkyLjQgMzk4LjVjLTQwLjUgMC03OC4xLTEyLjEtMTA5LjYtMzIuOWwtNzYuNSAyNC41IDI0LjgtNzRDNy4zIDI4My40LTYuOCAyNDMtNi44IDE5OS40LTYuOCA4OS43IDgyLjUgLjMgMTkyLjMgLjN6bS4xIDkzLjdjLTMxLjYgMC01Ny4zIDI1LjgtNTcuMyA1Ny4zbDAgMjYuNy0xLjggMGMtMTAgMC0xOCA4LTE4IDE4bDAgNzIuM2MwIDEwIDggMTggMTggMThsMTE4LjEgMGMxMCAwIDE4LTggMTgtMThsLjEgMCAwLTcyLjNjMC0xMC04LjEtMTgtMTgtMThsLTEuOCAwIDAtMjYuN2MwLTMxLjYtMjUuOC01Ny4zLTU3LjMtNTcuM3ptLS4xIDIzLjVjMTguNiAwIDMzLjggMTUuMSAzMy44IDMzLjhsMCAyNi43LTY3LjYgMCAwLTI2LjdjMC0xOC42IDE1LjEtMzMuOCAzMy44LTMzLjh6Il19LGtvZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtd2hhdHNhcHAiLGljb246WzQ0OCw1MTIsWyJ3aGF0c2FwcC1zcXVhcmUiXSwiZjQwYyIsIk05Mi4xIDI1NC42YzAgMjQuOSA3IDQ5LjIgMjAuMiA3MC4xbDMuMSA1LTEzLjMgNDguNiA0OS45LTEzLjEgNC44IDIuOWMyMC4yIDEyIDQzLjQgMTguNCA2Ny4xIDE4LjRsLjEgMGM3Mi42IDAgMTMzLjMtNTkuMSAxMzMuMy0xMzEuOCAwLTM1LjItMTUuMi02OC4zLTQwLjEtOTMuMi0yNS0yNS01OC0zOC43LTkzLjItMzguNy03Mi43IDAtMTMxLjggNTkuMS0xMzEuOSAxMzEuOHpNMjc0LjggMzMwYy0xMi42IDEuOS0yMi40IC45LTQ3LjUtOS45LTM2LjgtMTUuOS02MS44LTUxLjUtNjYuOS01OC43LS40LS42LS43LS45LS44LTEuMS0yLTIuNi0xNi4yLTIxLjUtMTYuMi00MSAwLTE4LjQgOS0yNy45IDEzLjItMzIuMyAuMy0uMyAuNS0uNSAuNy0uOCAzLjYtNCA3LjktNSAxMC42LTUgMi42IDAgNS4zIDAgNy42IC4xbC44IDBjMi4zIDAgNS4yIDAgOC4xIDYuOCAxLjIgMi45IDMgNy4zIDQuOSAxMS44IDMuMyA4IDYuNyAxNi4zIDcuMyAxNy42IDEgMiAxLjcgNC4zIC4zIDYuOS0zLjQgNi44LTYuOSAxMC40LTkuMyAxMy0zLjEgMy4yLTQuNSA0LjctMi4zIDguNiAxNS4zIDI2LjMgMzAuNiAzNS40IDUzLjkgNDcuMSA0IDIgNi4zIDEuNyA4LjYtMSAyLjMtMi42IDkuOS0xMS42IDEyLjUtMTUuNSAyLjYtNCA1LjMtMy4zIDguOS0yczIzLjEgMTAuOSAyNy4xIDEyLjljLjggLjQgMS41IC43IDIuMSAxIDIuOCAxLjQgNC43IDIuMyA1LjUgMy42IC45IDEuOSAuOSA5LjktMi40IDE5LjEtMy4zIDkuMy0xOS4xIDE3LjctMjYuNyAxOC44ek00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMTQ4LjEgMzkzLjlMNjQgNDE2IDg2LjUgMzMzLjhjLTEzLjktMjQtMjEuMi01MS4zLTIxLjItNzkuMyAuMS04Ny40IDcxLjItMTU4LjUgMTU4LjYtMTU4LjUgNDIuNCAwIDgyLjIgMTYuNSAxMTIuMiA0Ni41IDI5LjkgMzAgNDcuOSA2OS44IDQ3LjkgMTEyLjIgMCA4Ny40LTcyLjcgMTU4LjUtMTYwLjEgMTU4LjUtMjYuNiAwLTUyLjctNi43LTc1LjgtMTkuM3oiXX0sUGZ0PWtvZSxFZnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2t5cGUiLGljb246WzQ0OCw1MTIsW10sImYxN2UiLCJNNDI0LjcgMjk5LjhjMi45LTE0IDQuNy0yOC45IDQuNy00My44IDAtMTEzLjUtOTEuOS0yMDUuMy0yMDUuMy0yMDUuMy0xNC45IDAtMjkuNyAxLjctNDMuOCA0LjctMTktMTQuNy00Mi42LTIzLjQtNjguMy0yMy40LTYxLjggMC0xMTIgNTAuMi0xMTIgMTEyIDAgMjUuNyA4LjcgNDkuMyAyMy4zIDY4LjItMi45IDE0LTQuNyAyOC45LTQuNyA0My44IDAgMTEzLjUgOTEuOSAyMDUuMyAyMDUuMyAyMDUuMyAxNC45IDAgMjkuNy0xLjcgNDMuOC00LjcgMTkgMTQuNiA0Mi42IDIzLjMgNjguMiAyMy4zIDYxLjggMCAxMTItNTAuMiAxMTItMTEyIC4xLTI1LjYtOC42LTQ5LjItMjMuMi02OC4xek0yMzAuMSAzOTEuM2MtNjUuNiAwLTEyMC41LTI5LjItMTIwLjUtNjUgMC0xNiA5LTMwLjYgMjkuNS0zMC42IDMxLjIgMCAzNC4xIDQ0LjkgODguMSA0NC45IDI1LjcgMCA0Mi4zLTExLjQgNDIuMy0yNi4zIDAtMTguNy0xNi0yMS42LTQyLTI4LTYyLjUtMTUuNC0xMTcuOC0yMi0xMTcuOC04Ny4yIDAtNTkuMiA1OC42LTgxLjEgMTA5LjEtODEuMSA1NS4xIDAgMTEwLjggMjEuOSAxMTAuOCA1NS40IDAgMTYuOS0xMS40IDMxLjgtMzAuMyAzMS44LTI4LjMgMC0yOS4yLTMzLjUtNzUtMzMuNS0yNS43IDAtNDIgNy00MiAyMi41IDAgMTkuOCAyMC44IDIxLjggNjkuMSAzMyA0MS40IDkuMyA5MC43IDI2LjggOTAuNyA3Ny42IDAgNTkuMS01Ny4xIDg2LjUtMTEyIDg2LjV6Il19LElmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhbmd1bGFyIixpY29uOls0NDgsNTEyLFtdLCJmNDIwIiwiTTE4NS43IDI2OC4xbDc2LjIgMC0zOC4xLTkxLjYtMzguMSA5MS42ek0yMjMuOCAzMkwxNiAxMDYuNCA0Ny44IDM4Mi4xIDIyMy44IDQ4MCAzOTkuOCAzODIuMSA0MzEuNiAxMDYuNCAyMjMuOCAzMnpNMzU0IDM3My44bC00OC42IDAtMjYuMi02NS40LTExMC42IDAtMjYuMiA2NS40LTQ4LjcgMCAxMzAuMS0yOTIuMyAxMzAuMiAyOTIuM3oiXX0sTmZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNpcmNsZS16dWxpcCIsaWNvbjpbNTEyLDUxMixbXSwiZTg1MSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDEgMC01MTIgMjU2IDI1NiAwIDEgMSAwIDUxMnpNMjQzLjUgMjQwYzEuMi0xLjktLjktNC4yLTIuNi0yLjhsLTg5IDc5LjVjLTkuMiA3LjItMTUuMiAxOS4xLTE1LjIgMzIuNSAwIDIxLjkgMTYgMzkuOCAzNS43IDM5LjhsMTY3LjMgMGMxOS42IDAgMzUuNy0xNy45IDM1LjctMzkuOCAwLTIxLjktMTYuMS0zOS43LTM1LjctMzkuOGwtMTI2LjYgMGMtMS45IDAtMy0yLjMtMi4xLTQuMUwyNDMuNSAyNDB6TTE3Mi40IDEyMy4xYy0xOS42IDAtMzUuNyAxNy45LTM1LjcgMzkuOHMxNiAzOS44IDM1LjcgMzkuOGwxMjYuNiAwYzEuOSAwIDMuMSAyLjIgMi4yIDQuMUwyNjguNSAyNzJjLTEuMiAxLjkgLjkgNC4yIDIuNiAyLjhsODktNzkuNWM5LjItNy4yIDE1LjItMTkuMSAxNS4yLTMyLjUgMC0yMS45LTE2LTM5LjctMzUuNy0zOS44bC0xNjcuMyAweiJdfSxSZnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib3BlbnN1c2UiLGljb246WzY0MCw1MTIsW10sImU2MmIiLCJNNDcxLjEgMTAyLjdzLS4zIDE4LjMtLjMgMjAuM2MtOS4xLTMtNzQuNC0yNC4xLTEzNS43LTI2LjMtNTEuOS0xLjgtMTIyLjgtNC4zLTIyMyA1Ny4zLTE5LjQgMTIuNC03My45IDQ2LjEtOTkuNiAxMDkuNy01LjUgMTMuMy0xMi42IDQzLjMtNS41IDcxLjQgMy4zIDEyLjggOC45IDI0LjkgMTYuNSAzNS43IDE3LjQgMjUgNDYuNiA0MS42IDc4LjEgNDQuNCA0NC40IDMuOSA3OC4xLTE2IDkwLTUzLjMgOC4yLTI1LjggMC02My42LTMxLjUtODIuOS0yNS42LTE1LjctNTMuMy0xMi4xLTY5LjItMS42LTEzLjkgOS4yLTIxLjggMjMuNS0yMS42IDM5LjIgLjMgMjcuOCAyNC4zIDQyLjYgNDEuNSA0Mi42IDUuNCAwIDEwLjctLjkgMTUuOC0yLjcgNi41LTEuOCAxMy4zLTYuNSAxMy4zLTE0LjkgMC0xMi4xLTExLjYtMTQuOC0xNi44LTEzLjktMi45IC41LTQuNSAyLTExLjggMi40LTItLjItMTItMy4xLTEyLTE0bDAtLjFjLjItMTIuMyAxMy4yLTE4IDI1LjUtMTYuOSAzMi4zIDIuOCA0Ny43IDQwLjcgMjguNSA2NS43LTE4LjMgMjMuNy03Ni42IDIzLjItOTkuNy0yMC40LTI2LTQ5LjIgMTIuNy0xMTEuMiA4Ny05OC40IDMzLjIgNS43IDgzLjYgMzUuNSAxMDIuNCAxMDQuM2w0NS45IDBjLTUuNy0xNy42LTguOS02OC4zIDQyLjctNjguMyA1Ni43IDAgNjMuOSAzOS45IDc5LjggNjguM2w0OC42IDBjLTEyLjgtMTguMy0yMS43LTM4LjctMTguOS01NS44IDUuNi0zMy44IDM5LjctMTguNCA4Mi40LTE3LjQgNjYuNSAuNCAxMDIuMS0yNyAxMDMuMS0yOCAzLjctMy4xIDYuNS0xNS44IDctMTcuNyAxLjMtNS4xLTMuMi0yLjQtMy4yLTIuNC04LjcgNS4yLTMwLjUgMTUuMi01MC45IDE1LjYtMjUuMyAuNS03Ni4yLTI1LjQtODEuNi0yOC4yLS4zLS40IC4xIDEuMi0xMS0yNS41IDg4LjQgNTguMyAxMTguMyA0MC41IDE0NS4yIDIxLjcgLjgtLjYgNC4zLTIuOSAzLjYtNS43LTEzLjgtNDguMS0yMi40LTYyLjctMzQuNS02OS42LTM3LTIxLjYtMTI1LTM0LjctMTI5LjItMzUuMyAuMS0uMS0uOS0uMy0uOSAuN3ptNjAuNCA3Mi44YTM3LjYgMzcuNiAwIDEgMSA3NS4yIDIuNiAzNy42IDM3LjYgMCAxIDEgLTc1LjItMi42em0zOC42LTI1LjNjLTMuNi0uMy03LjEgLjEtMTAuNSAxLjJzLTYuNSAyLjktOS4yIDUuMy00LjggNS4zLTYuMyA4LjUtMi40IDYuNy0yLjUgMTAuMyAuNSA3LjEgMS44IDEwLjQgMy4zIDYuMyA1LjggOC45IDUuNSA0LjUgOC44IDUuOSA2LjkgMiAxMC40IDEuOWMzLjYgLjMgNy4xLS4xIDEwLjUtMS4yczYuNS0yLjkgOS4yLTUuMyA0LjgtNS4zIDYuMy04LjUgMi40LTYuNyAyLjUtMTAuMy0uNS03LjEtMS44LTEwLjQtMy4zLTYuMy01LjgtOC45LTUuNS00LjUtOC44LTUuOS02LjktMi0xMC40LTEuOXptNC4zIDI4LjhjLTE1LjQgMC0xNS40LTE1LjYgMC0xNS42czE1LjQgMTUuNiAwIDE1LjZ6Il19LEZmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkcm9wYm94IixpY29uOls1NzYsNTEyLFtdLCJmMTZiIiwiTTI4OC40IDExNi4zbC0xMzIgODQuMyAxMzIgODQuMy0xMzIgODQuMy0xMzIuNC04NS4xIDEzMi4zLTg0LjMtMTMyLjMtODMuNSAxMzIuMy04NC4zIDEzMi4xIDg0LjN6TTE1NS42IDM5NS43bDEzMi04NC4zIDEzMiA4NC4zLTEzMiA4NC4zLTEzMi04NC4zek0yODguNCAyODQuMWwxMzItODQuMy0xMzItODMuNiAxMzEuMy04NC4yIDEzMi4zIDg0LjMtMTMyLjMgODQuMyAxMzIuMyA4NC4yLTEzMi4zIDg0LjMtMTMxLjMtODV6Il19LE9mdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkZWV6ZXIiLGljb246WzUxMiw1MTIsW10sImUwNzciLCJNMTQuOCAxMDEuMUM2LjYgMTAxLjEgMCAxMjcuNiAwIDE2MC4zczYuNiA1OS4yIDE0LjggNTkuMiAxNC44LTI2LjUgMTQuOC01OS4yLTYuNi01OS4yLTE0LjgtNTkuMnpNNDQ4LjcgNDAuOWMtNy43IDAtMTQuNSAxNy4xLTE5LjQgNDQuMS03LjctNDYuNy0yMC4yLTc3LTM0LjItNzctMTYuOCAwLTMxLjEgNDIuOS0zOCAxMDUuNC02LjYtNDUuNC0xNi44LTc0LjItMjguMy03NC4yLTE2LjEgMC0yOS42IDU2LjktMzQuNyAxMzYuMi05LjQtNDAuOC0yMy4yLTY2LjMtMzguMy02Ni4zcy0yOC44IDI1LjUtMzguMyA2Ni4zYy01LjEtNzkuMy0xOC42LTEzNi4yLTM0LjctMTM2LjItMTEuNSAwLTIxLjcgMjguOC0yOC4zIDc0LjItNi42LTYyLjUtMjEuMi0xMDUuNC0zNy44LTEwNS40LTE0IDAtMjYuNSAzMC40LTM0LjIgNzctNC44LTI3LTExLjctNDQuMS0xOS40LTQ0LjEtMTQuMyAwLTI2IDU5LjItMjYgMTMyLjFTNDkgMzA1LjIgNjMuMyAzMDUuMmM1LjkgMCAxMS41LTkuOSAxNS44LTI2LjggNi45IDYxLjcgMjEuMiAxMDQuMSAzOCAxMDQuMSAxMyAwIDI0LjUtMjUuNSAzMi4xLTY1LjYgNS40IDc2LjMgMTguNiAxMzAuNCAzNC4yIDEzMC40IDkuNyAwIDE4LjYtMjEuNCAyNS4zLTU2LjQgNy45IDcyLjIgMjYuMyAxMjIuNyA0Ny43IDEyMi43czM5LjUtNTAuNSA0Ny43LTEyMi43YzYuNiAzNSAxNS42IDU2LjQgMjUuMyA1Ni40IDE1LjYgMCAyOC44LTU0LjEgMzQuMi0xMzAuNCA3LjcgNDAuMSAxOS40IDY1LjYgMzIuMSA2NS42IDE2LjYgMCAzMC45LTQyLjMgMzgtMTA0LjEgNC4zIDE2LjggOS43IDI2LjggMTUuOCAyNi44IDE0LjMgMCAyNi01OS4yIDI2LTEzMi4xUzQ2MyA0MC45IDQ0OC43IDQwLjl6bTQ4LjUgNjAuMmMtOC4yIDAtMTQuOCAyNi41LTE0LjggNTkuMnM2LjYgNTkuMiAxNC44IDU5LjIgMTQuOC0yNi41IDE0LjgtNTkuMi02LjYtNTkuMi0xNC44LTU5LjJ6Il19LEJmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nIixpY29uOls1MTIsNTEyLFtdLCJmNGYwIiwiTTI1NS42IDhDMzk3LjQgOCA1MDQgMTE4LjEgNTA0IDI1NiA1MDQgNDAzLjEgMzg1LjUgNTA0IDI1NS42IDUwNCAxMjEuNiA1MDQgOCAzOTQuNSA4IDI1NiA4IDEyMy4xIDExMi43IDggMjU1LjYgOHptLjggNDQuN2MtMTE4LjIgMC0yMDMuNyA5Ny45LTIwMy43IDIwMy4zIDAgMTA5LjggOTEuMiAyMDIuOCAyMDMuNyAyMDIuOCAxMDMuMiAwIDIwMi44LTgxLjEgMjAyLjgtMjAyLjggLjEtMTEzLjgtOTAuMi0yMDMuMy0yMDIuOC0yMDMuM3ptMy42IDUzLjJjMi44LS4zIDExLjUgMSAxMS41IDExLjVsNi42IDEwNy4yIDQuOS01OS4zYzAtNiA0LjctMTAuNiAxMC42LTEwLjZzMTAuNiA0LjcgMTAuNiAxMC42YzAgMi41LS41LTUuNyA1LjcgODEuNWw1LjgtNjQuMmMuMy0yLjkgMi45LTkuMyAxMC4yLTkuMyAzLjggMCA5LjkgMi4zIDEwLjYgOC45bDExLjUgOTYuNSA1LjMtMTIuOGMxLjgtNC40IDUuMi02LjYgMTAuMi02LjZsNTggMCAwIDIxLjMtNTAuOSAwLTE4LjIgNDQuM2MtMy45IDkuOS0xOS41IDkuMS0yMC44LTMuMWwtNC0zMS45LTcuNSA5Mi42Yy0uMyAzLTMgOS4zLTEwLjIgOS4zLTMgMC05LjgtMi4xLTEwLjYtOS4zIDAtMS45IC42IDUuOC02LjItNzcuOWwtNS4zIDcyLjJjLTEuMSA0LjgtNC44IDkuMy0xMC42IDkuMy0yLjkgMC05LjgtMi0xMC42LTkuMyAwLTEuOSAuNSA2LjctNS44LTg3LjdMMjU1IDM4My45YzAgNi4zLTMuNiAxMi40LTEwLjYgMTIuNC01LjIgMC0xMC42LTQuMS0xMC42LTEyTDIyOCAyOTYuNmMtNS44IDkyLjUtNS4zIDg0LTUuMyA4NS45LTEuMSA0LjgtNC44IDkuMy0xMC42IDkuMy0zIDAtOS44LTIuMS0xMC42LTkuMyAwLS43LS40LTEuMS0uNC0yLjZsLTYuMi04OC42LTQuOSA1Ni43Yy0uNyA2LjUtNi43IDkuMy0xMC42IDkuMy01LjggMC05LjYtNC4xLTEwLjYtOC45TDE1Ny43IDI3MmMtMiA0LTMuNSA4LjQtMTEuMSA4LjRsLTUxLjQgMCAwLTIxLjMgNDQuOCAwIDEzLjctMjcuOWM0LjQtOS45IDE4LjItNy4yIDE5LjkgMi43bDMuMSAyMC40IDguNC05Ny45YzAtNiA0LjgtMTAuNiAxMC42LTEwLjYgLjUgMCAxMC42LS4yIDEwLjYgMTIuNGw0LjkgNjkuMSA2LjYtOTIuNmMwLTEwLjEgOS41LTEwLjYgMTAuMi0xMC42IC42IDAgMTAuNiAuNyAxMC42IDEwLjZsNS4zIDgwLjYgNi4yLTk3LjljLjEtMS4xLS42LTEwLjMgOS45LTExLjV6Il19LEhmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqZWRpLW9yZGVyIixpY29uOls0NDgsNTEyLFtdLCJmNTBlIiwiTTM5OC45IDM3My42Yzk1LjktMTIyLjEgMTcuMi0yMzMuMSAxNy4yLTIzMy4xIDQ1LjQgODUuOC00MS40IDE3MC41LTQxLjQgMTcwLjUgMTA1LTE3MS41LTYwLjUtMjcxLjUtNjAuNS0yNzEuNSA5Ni45IDcyLjctMTAuMSAxOTAuNy0xMC4xIDE5MC43IDg1LjggMTU4LjQtNjguNiAyMzAuMS02OC42IDIzMC4xcy0uNC0xNi45LTIuMi04NS43YzQuMyA0LjUgMzQuNSAzNi4yIDM0LjUgMzYuMmwtMjQuMi00Ny40IDYyLjYtOS4xLTYyLjYtOS4xIDIwLjItNTUuNS0zMS40IDQ1LjljLTIuMi04Ny43LTcuOC0zMDUuMS03LjktMzA2LjkgMCAxLTUuNiAyMTktNy45IDMwNi45bC0zMS40LTQ1LjkgMjAuMiA1NS41LTYyLjYgOS4xIDYyLjYgOS4xLTI0LjIgNDcuNCAzNC41LTM2LjJjLTEuOCA2OC44LTIuMiA4NS43LTIuMiA4NS43UzU5LjEgMzg4LjYgMTQ0LjkgMjMwLjJjMCAwLTEwNy0xMTguMS0xMC4xLTE5MC43IDAgMC0xNjUuNSA5OS45LTYwLjUgMjcxLjUgMCAwLTg2LjgtODQuOC00MS40LTE3MC41IDAgMC03OC43IDExMSAxNy4yIDIzMy4xIDAgMC0yNi4yLTE2LjEtNDkuNC03Ny43IDAgMCAxNi45IDE4My4zIDIyMiAxODUuN2w0LjEgMGMyMDUtMi40IDIyMi0xODUuNyAyMjItMTg1LjctMjMuNiA2MS41LTQ5LjkgNzcuNy00OS45IDc3Ljd6Il19LHFmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyLXByb2plY3QiLGljb246WzU3Niw1MTIsW10sImY0ZjciLCJNNTc4LjUgMjI2LjZDNTc4LjUgMTE5LjEgNDQ4LjQgMzIgMjg4IDMyUy0yLjUgMTE5LjEtMi41IDIyNi42YzAgOTUuOCAxMDMuMyAxNzUuNCAyMzkuNCAxOTEuNWwwIDYxLjkgOTkuMSAwIDAtNjEuNWMyNC4zLTIuNyA0Ny42LTcuNCA2OS40LTEzLjlsNDAuMSA3NS40IDExMiAwLTY3LjQtMTEzLjdjNTQuNS0zNS40IDg4LjQtODQuOSA4OC40LTEzOS43ek0xMTEuNyAyNDEuMWMwLTczLjUgOTguOS0xMzMgMjIwLjgtMTMzczIxMS45IDQwLjcgMjExLjkgMTMzYzAgNTAuMS0yNi41IDg1LTcwLjMgMTA2LjQtMi40LTEuNi00LjctMi45LTYuNC0zLjctMTAuMi01LjItMjcuOC0xMC41LTI3LjgtMTAuNXM4Ni42LTYuNCA4Ni42LTkyLjctOTAuNi04Ny45LTkwLjYtODcuOWwtMTk5IDAgMCAyMDguM2MtNzQuMS0yMS41LTEyNS4yLTY3LjEtMTI1LjItMTE5Ljl6bTIyNS4xIDM4LjNsMC01NS42YzU3LjggMCA4Ny44LTYuOCA4Ny44IDI3LjMgMCAzNi41LTM4LjIgMjguMy04Ny44IDI4LjN6bS0uOSA3Mi41bDI2LjYgMGMxMC44IDAgMTguOSAxMS43IDI0IDE5LjItMTYuMSAxLjktMzMgMi44LTUwLjYgMi45bDAtMjIuMXoiXX0sVmZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imluc3RhbG9kIixpY29uOls1MTIsNTEyLFtdLCJlMDgxIiwiTTE1My42IDQ4MGwyMzMuNyAwIDExNS40LTIwNC4yLTI5OC4zIDU3LjQtNTAuOCAxNDYuOHpNNTA1IDI0MC4xTDM4Ny40IDMyIDE1NS45IDMyIDM2MC41IDI2Ny45IDUwNSAyNDAuMXpNMTI0LjYgNDguOEw3LjUgMjU2IDEyMy41IDQ2MS4yIDIyNS45IDE2NS42IDEyNC42IDQ4Ljh6Il19LGpmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYW5hZGlhbi1tYXBsZS1sZWFmIixpY29uOls1MTIsNTEyLFtdLCJmNzg1IiwiTTM4My44IDM1MS43YzIuNS0yLjUgMTA1LjItOTIuNCAxMDUuMi05Mi40bC0xNy41LTcuNWMtMTAtNC45LTcuNC0xMS41LTUtMTcuNCAyLjQtNy42IDIwLjEtNjcuMyAyMC4xLTY3LjNzLTQ3LjcgMTAtNTcuNyAxMi41Yy03LjUgMi40LTEwLTIuNS0xMi41LTcuNXMtMTUtMzIuNC0xNS0zMi40LTUyLjYgNTkuOS01NS4xIDYyLjNjLTEwIDcuNS0yMC4xIDAtMTcuNi0xMCAwLTEwIDI3LjYtMTI5LjYgMjcuNi0xMjkuNnMtMzAuMSAxNy40LTQwLjEgMjIuNGMtNy41IDUtMTIuNiA1LTE3LjYtNS01LjEtNy41LTQyLjctNzkuOC00Mi43LTc5LjhzLTM3LjUgNzIuMy00Mi41IDc5LjhjLTUgMTAtMTAgMTAtMTcuNiA1LTEwLTUtNDAuMS0yMi40LTQwLjEtMjIuNFMxODMuMyAxODIgMTgzLjMgMTkyYzIuNSAxMC03LjUgMTcuNS0xNy42IDEwLTIuNS0yLjUtNTUuMS02Mi4zLTU1LjEtNjIuM3MtMTIuNSAyNy4zLTE1IDMyLjMtNSA5LjktMTIuNSA3LjVDNzMgMTc3IDI1LjQgMTY3IDI1LjQgMTY3UzQzIDIyNi43IDQ1LjUgMjM0LjNjMi40IDYgNSAxMi41LTUgMTcuNEwyMyAyNTkuM3MxMDIuNiA4OS45IDEwNS4yIDkyLjRjNS4xIDUgMTAgNy41IDUuMSAyMi41LTUuMSAxNS0xMC4xIDM1LjEtMTAuMSAzNS4xczk1LjItMjAuMSAxMDUuMy0yMi42YzguNy0uOSAxOC4zIDIuNSAxOC4zIDEyLjVTMjQxIDUxMiAyNDEgNTEybDMwIDBzLTUuOC0xMDIuNy01LjgtMTEyLjggOS41LTEzLjQgMTguNC0xMi41YzEwIDIuNSAxMDUuMiAyMi42IDEwNS4yIDIyLjZzLTUtMjAuMS0xMC0zNS4xIDAtMTcuNSA1LTIyLjV6Il19LFVmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJldGhlcmV1bSIsaWNvbjpbMzIwLDUxMixbXSwiZjQyZSIsIk0zMTEuOSAyNjAuOEwxNjAgMzUzLjYgOCAyNjAuOCAxNjAgMCAzMTEuOSAyNjAuOHpNMTYwIDM4My40TDggMjkwLjYgMTYwIDUxMiAzMTIgMjkwLjYgMTYwIDM4My40eiJdfSxXZnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaG91enoiLGljb246WzQ0OCw1MTIsW10sImYyN2MiLCJNMjc2IDMzMC43bC0xMDQuNiAwIDAgMTQ5LjMtMTU0LjMgMCAwLTQ0OCAxMDkuNSAwIDAgMTA0LjUgMzA1LjEgODUuNiAwIDI1Ny45LTE1NS43IDAgMC0xNDkuM3oiXX0sR2Z0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZpYmVyIixpY29uOls1MTIsNTEyLFtdLCJmNDA5IiwiTTQ0NC4zIDQ5LjljLTEyLjctMTEuNy02NC4xLTQ5LTE3OC43LTQ5LjUgMCAwLTEzNS4xLTguMS0yMDAuOSA1Mi4zLTM2LjYgMzYuNi00OS41IDkwLjMtNTAuOSAxNTYuOHMtMy4xIDE5MS4xIDExNyAyMjQuOWwuMSAwLS4xIDUxLjZzLS44IDIwLjkgMTMgMjUuMWMxNi42IDUuMiAyNi40LTEwLjcgNDIuMy0yNy44IDguNy05LjQgMjAuNy0yMy4yIDI5LjgtMzMuNyA4Mi4yIDYuOSAxNDUuMy04LjkgMTUyLjUtMTEuMiAxNi42LTUuNCAxMTAuNS0xNy40IDEyNS43LTE0MiAxNS44LTEyOC42LTcuNi0yMDkuOC00OS44LTI0Ni41ek00NTguMiAyODdjLTEyLjkgMTA0LTg5IDExMC42LTEwMyAxMTUuMS02IDEuOS02MS41IDE1LjctMTMxLjIgMTEuMiAwIDAtNTIgNjIuNy02OC4yIDc5LTUuMyA1LjMtMTEuMSA0LjgtMTEtNS43IDAtNi45IC40LTg1LjcgLjQtODUuN2wwIDBDNDMuNCAzNzIuNyA0OS40IDI2Ni42IDUwLjUgMjExLjFzMTEuNi0xMDEgNDIuNi0xMzEuNmM1NS43LTUwLjUgMTcwLjQtNDMgMTcwLjQtNDMgOTYuOSAuNCAxNDMuMyAyOS42IDE1NC4xIDM5LjQgMzUuNyAzMC42IDUzLjkgMTAzLjggNDAuNiAyMTEuMXptLTEzOS04MC44Yy40IDguNi0xMi41IDkuMi0xMi45IC42LTEuMS0yMi0xMS40LTMyLjctMzIuNi0zMy45LTguNi0uNS03LjgtMTMuNCAuNy0xMi45IDI3LjkgMS41IDQzLjQgMTcuNSA0NC44IDQ2LjJ6bTIwLjMgMTEuM2MxLTQyLjQtMjUuNS03NS42LTc1LjgtNzkuMy04LjUtLjYtNy42LTEzLjUgLjktMTIuOSA1OCA0LjIgODguOSA0NC4xIDg3LjggOTIuNS0uMSA4LjYtMTMuMSA4LjItMTIuOS0uM3ptNDcgMTMuNGMuMSA4LjYtMTIuOSA4LjctMTIuOSAuMS0uNi04MS41LTU0LjktMTI1LjktMTIwLjgtMTI2LjQtOC41LS4xLTguNS0xMi45IDAtMTIuOSA3My43IC41IDEzMyA1MS40IDEzMy43IDEzOS4yek0zNzUuMiAzMjlsMCAuMmMtMTAuOCAxOS0zMSA0MC01MS44IDMzLjNsLS4yLS4zYy0yMS4xLTUuOS03MC44LTMxLjUtMTAyLjItNTYuNS0xNi4yLTEyLjgtMzEtMjcuOS00Mi40LTQyLjQtMTAuMy0xMi45LTIwLjctMjguMi0zMC44LTQ2LjYtMjEuMy0zOC41LTI2LTU1LjctMjYtNTUuNy02LjctMjAuOCAxNC4yLTQxIDMzLjMtNTEuOGwuMiAwYzkuMi00LjggMTgtMy4yIDIzLjkgMy45IDAgMCAxMi40IDE0LjggMTcuNyAyMi4xIDUgNi44IDExLjcgMTcuNyAxNS4yIDIzLjggNi4xIDEwLjkgMi4zIDIyLTMuNyAyNi42bC0xMiA5LjZjLTYuMSA0LjktNS4zIDE0LTUuMyAxNHMxNy44IDY3LjMgODQuMyA4NC4zYzAgMCA5LjEgLjggMTQtNS4zbDkuNi0xMmM0LjYtNiAxNS43LTkuOCAyNi42LTMuNyAxNC43IDguMyAzMy40IDIxLjIgNDUuOCAzMi45IDcgNS43IDguNiAxNC40IDMuOCAyMy42eiJdfSx6b2U9e3ByZWZpeDoiZmFiIixpY29uTmFtZToia2lja3N0YXJ0ZXIiLGljb246WzQ0OCw1MTIsWyJzcXVhcmUta2lja3N0YXJ0ZXIiXSwiZjNiYiIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0zMjAuOCAyMzNsLTIzLjMgMjMuMSAyMy4zIDIyLjljMjQuMSAyMy45IDI0LjEgNjMgMCA4Ni45cy02My40IDIzLjktODcuNiAwbC04LjUtOC40Yy0xMS4zIDE2LTI5LjcgMjYuNS01MC45IDI2LjUtMzQuMSAwLTYxLjktMjcuNS02MS45LTYxLjRsMC0xMzMuMmMwLTMzLjggMjcuNy02MS40IDYxLjktNjEuNCAyMS4xIDAgMzkuNiAxMC41IDUwLjkgMjYuNWw4LjUtOC40YzI0LjEtMjMuOSA2My40LTIzLjkgODcuNiAwczI0LjEgNjMgMCA4Ni45eiJdfSxZZnQ9em9lLFpmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcG90aWZ5IixpY29uOls1MTIsNTEyLFtdLCJmMWJjIiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNMzU2LjcgMzcyLjljLTQuMiAwLTYuOC0xLjMtMTAuNy0zLjYtNjIuNC0zNy42LTEzNS0zOS4yLTIwNi43LTI0LjUtMy45IDEtOSAyLjYtMTEuOSAyLjYtOS43IDAtMTUuOC03LjctMTUuOC0xNS44IDAtMTAuMyA2LjEtMTUuMiAxMy42LTE2LjggODEuOS0xOC4xIDE2NS42LTE2LjUgMjM3IDI2LjIgNi4xIDMuOSA5LjcgNy40IDkuNyAxNi41cy03LjEgMTUuNC0xNS4yIDE1LjR6bTI2LjktNjUuNmMtNS4yIDAtOC43LTIuMy0xMi4zLTQuMi02Mi41LTM3LTE1NS43LTUxLjktMjM4LjYtMjkuNC00LjggMS4zLTcuNCAyLjYtMTEuOSAyLjYtMTAuNyAwLTE5LjQtOC43LTE5LjQtMTkuNHM1LjItMTcuOCAxNS41LTIwLjdjMjcuOC03LjggNTYuMi0xMy42IDk3LjgtMTMuNiA2NC45IDAgMTI3LjYgMTYuMSAxNzcgNDUuNSA4LjEgNC44IDExLjMgMTEgMTEuMyAxOS43LS4xIDEwLjgtOC41IDE5LjUtMTkuNCAxOS41em0zMS03Ni4yYy01LjIgMC04LjQtMS4zLTEyLjktMy45LTcxLjItNDIuNS0xOTguNS01Mi43LTI4MC45LTI5LjctMy42IDEtOC4xIDIuNi0xMi45IDIuNi0xMy4yIDAtMjMuMy0xMC4zLTIzLjMtMjMuNiAwLTEzLjYgOC40LTIxLjMgMTcuNC0yMy45IDM1LjItMTAuMyA3NC42LTE1LjIgMTE3LjUtMTUuMiA3MyAwIDE0OS41IDE1LjIgMjA1LjQgNDcuOCA3LjggNC41IDEyLjkgMTAuNyAxMi45IDIyLjYgMCAxMy42LTExIDIzLjMtMjMuMiAyMy4zeiJdfSxYZnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGVhbnB1YiIsaWNvbjpbNTc2LDUxMixbXSwiZjIxMiIsIk0zODYuNiAxMTEuNWwxNS4xIDI0OS0xMS0uM2MtMzYuMi0uOC03MS42IDguOC0xMDIuNyAyOC0zMS0xOS4yLTY2LjQtMjgtMTAyLjctMjgtNDUuNiAwLTgyLjEgMTAuNy0xMjMuNSAyNy43TDkzLjIgMTI5LjZjMjguNS0xMS44IDYxLjUtMTguMSA5Mi4yLTE4LjEgNDEuMiAwIDczLjggMTMuMiAxMDIuNyA0Mi41IDI3LjctMjguMyA1OS00MS43IDk4LjUtNDIuNXpNNTY5LjIgNDQ4Yy0yNS41IDAtNDcuNS01LjItNzAuNS0xNS42LTM0LjMtMTUuNi03MC0yNS0xMDcuOS0yNS0zOSAwLTc0LjkgMTIuOS0xMDIuNyA0MC42LTI3LjctMjcuNy02My43LTQwLjYtMTAyLjctNDAuNi0zNy45IDAtNzMuNiA5LjMtMTA3LjkgMjUtMjIuMiA5LjktNDQuNyAxNS42LTY5LjIgMTUuNkw3IDQ0OCA0OS42IDk4LjljMzkuMy0yMi4yIDg3LTM0LjkgMTMyLjMtMzQuOSAzNy4xIDAgNzUuMiA3LjcgMTA2LjIgMjkuMSAzMS0yMS40IDY5LjItMjkuMSAxMDYuMi0yOS4xIDQ1LjMgMCA5MyAxMi42IDEzMi4zIDM0LjlMNTY5LjIgNDQ4em0tNDMuNC00NC43TDQ5MS44IDEyM2MtMzAuNy0xNC02Ny4yLTIxLjQtMTAxLTIxLjQtMzguNCAwLTc0LjQgMTIuMS0xMDIuNyAzOC43LTI4LjMtMjYuNi02NC4yLTM4LjctMTAyLjctMzguNy0zMy44IDAtNzAuMyA3LjQtMTAxIDIxLjRsLTM0IDI4MC4yYzQ3LjItMTkuNSA4Mi45LTMzLjUgMTM1LTMzLjUgMzcuNiAwIDcwLjggOS42IDEwMi43IDI5LjYgMzEuOC0yMCA2NS4xLTI5LjYgMTAyLjctMjkuNiA1Mi4yIDAgODcuOCAxNCAxMzUgMzMuNXoiXX0sS2Z0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImphdmEiLGljb246WzM4NCw1MTIsW10sImY0ZTQiLCJNMjc3LjggMzEyLjljOS44LTYuNyAyMy40LTEyLjUgMjMuNC0xMi41cy0zOC43IDctNzcuMiAxMC4yYy00Ny4xIDMuOS05Ny43IDQuNy0xMjMuMSAxLjMtNjAuMS04IDMzLTMwLjEgMzMtMzAuMXMtMzYuMS0yLjQtODAuNiAxOWMtNTIuNSAyNS40IDEzMCAzNyAyMjQuNSAxMi4xem0tODUuNC0zMi4xYy0xOS00Mi43LTgzLjEtODAuMiAwLTE0NS44IDEwMy43LTgxLjggNTAuNS0xMzUgNTAuNS0xMzUgMjEuNSA4NC41LTc1LjYgMTEwLjEtMTEwLjcgMTYyLjYtMjMuOSAzNS45IDExLjcgNzQuNCA2MC4yIDExOC4yek0zMDcgMTA0LjZjLjEgMC0xNzUuMiA0My44LTkxLjUgMTQwLjIgMjQuNyAyOC40LTYuNSA1NC02LjUgNTRzNjIuNy0zMi40IDMzLjktNzIuOUMyMTYgMTg4LjEgMTk1LjQgMTY5LjMgMzA3IDEwNC42em0tNi4xIDI3MC41Yy0uNSAxLTEuMiAxLjgtMiAyLjYgMTI4LjMtMzMuNyA4MS4xLTExOC45IDE5LjgtOTcuMy0zLjMgMS4yLTYuMiAzLjQtOC4yIDYuMyAzLjYtMS4zIDcuMy0yLjMgMTEtMyAzMS02LjUgNzUuNSA0MS41LTIwLjYgOTEuNHpNMzQ4IDQzNy40czE0LjUgMTEuOS0xNS45IDIxLjJjLTU3LjkgMTcuNS0yNDAuOCAyMi44LTI5MS42IC43LTE4LjMtNy45IDE2LTE5IDI2LjgtMjEuMyAxMS4yLTIuNCAxNy43LTIgMTcuNy0yLTIwLjMtMTQuMy0xMzEuMyAyOC4xLTU2LjQgNDAuMiAyMDQuMiAzMy4yIDM3Mi40LTE0LjkgMzE5LjQtMzguOHpNMTI0LjUgMzk2Yy03OC43IDIyIDQ3LjkgNjcuNCAxNDguMSAyNC41LTkuOC0zLjgtMTkuMi04LjQtMjguMi0xMy44LTQ0LjcgOC41LTY1LjQgOS4xLTEwNiA0LjUtMzMuNS0zLjgtMTMuOS0xNS4yLTEzLjktMTUuMnptMTc5LjggOTcuMmMtNzguNyAxNC44LTE3NS44IDEzLjEtMjMzLjMgMy42IDAtLjEgMTEuOCA5LjcgNzIuNCAxMy42IDkyLjIgNS45IDIzMy44LTMuMyAyMzcuMS00Ni45IDAgMC02LjQgMTYuNS03Ni4yIDI5Ljd6TTI2MC43IDM1M2MtNTkuMiAxMS40LTkzLjUgMTEuMS0xMzYuOCA2LjYtMzMuNS0zLjUtMTEuNi0xOS43LTExLjYtMTkuNy04Ni44IDI4LjggNDguMiA2MS40IDE2OS41IDI1LjktNy44LTIuOC0xNS03LjEtMjEuMS0xMi44eiJdfSxRZnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibmZjLXN5bWJvbCIsaWNvbjpbNTEyLDUxMixbXSwiZTUzMSIsIk0zNjAuOSAzMi40YzcuNy0xLjMgMTUuNyAuNSAyMS4yIDUgODQuMSA1OC43IDEyOS45IDEzNi4zIDEyOS45IDIxNy43IDAgODMuMS00NS44IDE2MC44LTEyOS45IDIxOS41LTQuOCA0LTExLjcgNS45LTE4LjYgNS4zLTctLjYtMTMuNS0zLjYtMTguNC04LjVMMTYxLjcgMjg4LjdjLTUuNi01LjUtOC43LTEzLTkuNi0yMC45IDAtNy44IDQtMTUuMyA5LjUtMjAuOSA1LjYtNS41IDEzLjEtOC43IDIwLjktOC43IDcuOSAwIDE1LjQgMy4xIDIwLjkgOC42TDM2OC41IDQxMS4yYzU0LjYtNDQuNyA4NC4zLTk5LjIgODQuMy0xNTYuMSAwLTYxLjYtMzYuOS0xMjIuMi0xMDMuOS0xNjkuMy02LjQtNC41LTEwLjgtMTEuNC0xMi4xLTE5LjEtMS40LTcuNyAuNC0xNS43IDUtMjIuMSA0LjUtNi40IDExLjQtMTAuOCAxOS4xLTEyLjF6bS0yMDYgNDQ3LjJjLTcuNyAxLjMtMTUuNi0uNS0yMi4xLTUtODMuMS01OC43LTEyOS0xMzYuNC0xMjktMjE5LjUgMC04MS40IDQ1LjgtMTU5IDEyOS0yMTcuNyA1LjctNCAxMi42LTUuOSAxOS42LTUuMyA2LjkgLjYgMTMuNCAzLjYgMTguMyA4LjVMMzU0LjEgMjIzLjNjNS42IDUuNSA4LjcgMTMgOC43IDIwLjkgLjEgNi45LTMgMTUuMy04LjYgMjAuOS01LjUgNS41LTEzIDguNy0yMC45IDguNy03LjggMC0xNi4yLTMuMS0yMC45LTguNkwxNDcuMyAxMDAuN2MtNTQuNiA0NS4yLTg0LjMgOTkuMi04NC4zIDE1NC40IDAgNjMuNCAzNi45IDEyNCAxMDMuMSAxNzEuMSA3LjMgNC42IDExLjYgMTEuNCAxMyAxOS4yIDEuMyA3LjctLjUgMTUuNy01IDIyLjFzLTExLjQgMTAuNy0xOS4yIDEyLjF6Il19LEpmdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3b2R1IixpY29uOls2NDAsNTEyLFtdLCJlMDg4IiwiTTE3OC40IDMzOS43bC0zNy4zIDAtMjguOS0xMTYuMi0uNSAwLTI4LjUgMTE2LjItMzggMC00NS4yLTE3MC44IDM3LjUgMCAyNyAxMTYuMiAuNSAwIDI5LjctMTE2LjIgMzUuMiAwIDI5LjIgMTE3LjcgLjUgMCAyOC0xMTcuNyAzNi44IDAtNDUuOSAxNzAuOHptOTMtMTI3YzM5IDAgNjQuMSAyNS44IDY0LjEgNjUuMyAwIDM5LjItMjUuMSA2NS02NC4xIDY1LTM4LjcgMC02My45LTI1LjgtNjMuOS02NSAwLTM5LjUgMjUuMS02NS4zIDYzLjktNjUuM3ptMCAxMDQuOGMyMy4yIDAgMzAuMS0xOS45IDMwLjEtMzkuNSAwLTE5LjktNi45LTM5LjctMzAuMS0zOS43LTI3LjcgMC0yOS45IDE5LjktMjkuOSAzOS43IDAgMTkuNiA2LjkgMzkuNSAyOS45IDM5LjV6bTE2My43IDYuNWwtLjUgMGMtNy45IDEzLjQtMjEuOCAxOS4xLTM3LjUgMTkuMS0zNy4zIDAtNTUuNS0zMi01NS41LTY2LjIgMC0zMy4yIDE4LjQtNjQuMSA1NC44LTY0LjEgMTQuNiAwIDI4LjkgNi4yIDM2LjggMTguNGwuMiAwIDAtNjIuMiAzNCAwIDAgMTcwLjgtMzIuMyAwIDAtMTUuOHptLTI5LjctODUuNmMtMjIuMiAwLTI5LjkgMTkuMS0yOS45IDM5LjUgMCAxOS40IDguOCAzOS43IDI5LjkgMzkuNyAyMi41IDAgMjkuMi0xOS42IDI5LjItMzkuOSAwLTIwLjEtNy4yLTM5LjItMjkuMi0zOS4yek01OTMgMzM5LjdsLTMyLjMgMCAwLTE3LjItLjcgMGMtOC42IDEzLjktMjMuNCAyMC42LTM3LjggMjAuNi0zNi4xIDAtNDUuMi0yMC4zLTQ1LjItNTAuOWwwLTc2LjEgMzQgMCAwIDY5LjhjMCAyMC4zIDYgMzAuNCAyMS44IDMwLjQgMTguNCAwIDI2LjMtMTAuMyAyNi4zLTM1LjRsMC02NC44IDM0IDAgMCAxMjMuNnptOS41LTM2LjhsMzcuNSAwIDAgMzYuOC0zNy41IDAgMC0zNi44eiJdfSxTb2U9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXN0ZWFtIixpY29uOls0NDgsNTEyLFsic3RlYW0tc3F1YXJlIl0sImYxYjciLCJNMTY1LjYgMzA5LjFjMTguNiA3LjcgMjcuMyAyOC45IDE5LjYgNDcuNHMtMjkgMjcuMi00Ny42IDE5LjRsLTI4LjUtMTEuOGM1IDEwLjYgMTMuOCAxOS40IDI1LjQgMjQuMiAyNS4yIDEwLjUgNTQuMS0xLjQgNjQuNi0yNi41IDUuMS0xMi4xIDUuMS0yNS41IC4xLTM3LjctNS4xLTEyLjEtMTQuNS0yMS42LTI2LjctMjYuNy0xMi4xLTUtMjUtNC44LTM2LjQtLjVsMjkuNSAxMi4yek00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NmwwIDE0NC43IDExNi42IDQ4LjFjMTItOC4yIDI2LjItMTIuMSA0MC43LTExLjNsNTUuNC04MC4yIDAtMS4xYzAtNDguMiAzOS4zLTg3LjUgODcuNi04Ny41czg3LjYgMzkuMyA4Ny42IDg3LjVjMCA0OS4yLTQwLjkgODguNy04OS42IDg3LjVsLTc5IDU2LjNjMS42IDM4LjUtMjkuMSA2OC44LTY1LjcgNjguOC0zMS44IDAtNTguNS0yMi43LTY0LjUtNTIuN0wwIDMxOS4yIDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0yNDEuOSAxOTYuMmE1OC40IDU4LjQgMCAxIDAgMTE2LjggMCA1OC40IDU4LjQgMCAxIDAgLTExNi44IDB6bTEwMi40LS4xYTQzLjkgNDMuOSAwIDEgMSAtODcuOCAwIDQzLjkgNDMuOSAwIDEgMSA4Ny44IDB6Il19LGU3dD1Tb2UsdDd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtbmMtZXUiLGljb246WzUxMiw1MTIsW10sImY0ZTkiLCJNMjU1LjcgOEMxMTEuNiA4IDggMTI0LjggOCAyNTYgOCAzOTIuMyAxMTkuNyA1MDQgMjU1LjcgNTA0IDM4NS45IDUwNCA1MDQgNDAzLjEgNTA0IDI1NiA1MDQgMTE3IDM5Ni40IDggMjU1LjcgOHptLjYgNDUwLjdjLTExMiAwLTIwMy42LTkyLjUtMjAzLjYtMjAyLjcgMC0yMy4yIDMuNy00NS4yIDEwLjktNjZsNjUuNyAyOS4xLTQuNyAwIDAgMjkuNSAyMy4zIDBjMCA2LjItLjQgMy4yLS40IDE5LjVsLTIyLjggMCAwIDI5LjUgMjcgMGMxMS40IDY3IDY3LjIgMTAxLjMgMTI0LjYgMTAxLjMgMjYuNiAwIDUwLjYtNy45IDY0LjgtMTUuOGwtMTAtNDYuMWMtOC43IDQuNi0yOC4yIDEwLjgtNDcuMyAxMC44LTI4LjIgMC01OC4xLTEwLjktNjcuMy01MC4ybDkwLjMgMCAxMjguMyA1Ni44Yy0xLjUgMi4xLTU2LjIgMTA0LjMtMTc4LjggMTA0LjN6TTIzOS42IDI2OC4xbC0uNS0uNCAuOSAuNC0uNCAwem03Ny4yLTE5LjVsMy43IDAgMC0yOS41LTcwLjMgMC0yOC42LTEyLjZjMi41LTUuNSA1LjQtMTAuNSA4LjgtMTQuMyAxMi45LTE1LjggMzEuMS0yMi40IDUxLjEtMjIuNCAxOC4zIDAgMzUuMyA1LjQgNDYuMSAxMGwxMS42LTQ3LjNjLTE1LTYuNi0zNy0xMi40LTYyLjMtMTIuNC0zOSAwLTcyLjIgMTUuOC05NS45IDQyLjMtNS4zIDYuMS05LjggMTIuOS0xMy45IDIwLjFMODUuNSAxNDYuNGM2NC42LTk2LjggMTU3LjctOTMuNiAxNzAuNy05My42IDExMyAwIDIwMyA5MC4yIDIwMyAyMDMuNCAwIDE4LjctMi4xIDM2LjMtNi4zIDUyLjlMMzE2LjggMjQ4LjZ6Il19LGE3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJucG0iLGljb246WzU3Niw1MTIsW10sImYzZDQiLCJNMjg4IDI4OGwtMzIgMCAwLTY0IDMyIDAgMCA2NHpNNTc2IDE2MGwwIDE5Mi0yODggMCAwIDMyLTEyOCAwIDAtMzItMTYwIDAgMC0xOTIgNTc2IDB6TTE2MCAxOTJsLTEyOCAwIDAgMTI4IDY0IDAgMC05NiAzMiAwIDAgOTYgMzIgMCAwLTEyOHptMTYwIDBsLTEyOCAwIDAgMTYwIDY0IDAgMC0zMiA2NCAwIDAtMTI4em0yMjQgMGwtMTkyIDAgMCAxMjggNjQgMCAwLTk2IDMyIDAgMCA5NiAzMiAwIDAtOTYgMzIgMCAwIDk2IDMyIDAgMC0xMjh6Il19LHI3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjbG91ZHNjYWxlIixpY29uOls0NDgsNTEyLFtdLCJmMzgzIiwiTTMxOC4xIDE1NGwtOS40IDcuNmMtMjIuNS0xOS4zLTUxLjUtMzMuNi04My4zLTMzLjYtNzEuNiAwLTEyOS40IDYwLjgtMTI5LjQgMTMyLjMgMCA2LjYgLjQgMTMuMSAxLjQgMTkuNC0yLTU2IDQxLjgtOTcuNCA5Mi42LTk3LjQgMjQuMiAwIDQ2LjIgOS40IDYyLjYgMjQuN2wtMjUuMiAyMC40Yy04LjMtLjktMTYuOCAxLjgtMjMuMSA4LjEtMTEuMSAxMS0xMS4xIDI4LjkgMCA0MCAxMS4xIDExIDI4LjkgMTEgNDAgMCA2LjMtNi4zIDktMTQuOSA4LjEtMjMuMWw3NS4yLTg4LjhjNi4zLTYuNS0zLjMtMTUuOS05LjUtOS42ek0yMTMuNyAyNDYuNWExNCAxNCAwIDEgMSAyMC42IDE5IDE0IDE0IDAgMSAxIC0yMC42LTE5ek0yMjQgMzJhMjI0IDIyNCAwIDEgMCAwIDQ0OCAyMjQgMjI0IDAgMSAwIDAtNDQ4em0wIDY0YTE2MCAxNjAgMCAxIDEgMCAzMjAgMTYwIDE2MCAwIDEgMSAwLTMyMHoiXX0saTd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRoZW1lY28iLGljb246WzQ0OCw1MTIsW10sImY1YzYiLCJNMjAyLjkgOC40YzkuOS01LjcgMjYtNS44IDM2LS4yTDQzMCAxMTUuOWMxMCA1LjYgMTggMTkuNCAxOCAzMC45TDQ0OCAzNjRjMCAxMS40LTguMSAyNS4zLTE4IDMxTDIzOC44IDUwMy43Yy05LjkgNS43LTI2IDUuNi0zNS44LS4yTDE3LjkgMzk1LjFDOCAzODkuMyAwIDM3NS40IDAgMzY0TDAgMTQ2LjdjMC0xMS40IDgtMjUuNCAxNy45LTMxLjFMMjAyLjkgOC40ek0xMjUuNSAyMDguM2MtMTUuOSAwLTMxLjkgLjEtNDcuOCAuMWwwIDEwMS40IDE5LjEgMCAwLTI5LjggMjguNyAwYzQ5LjcgMCA0OS42LTcxLjcgMC03MS43ek0yNjUuNiAzMDguNmwtMzAuNy0zNC42YzM3LTcuNSAzNC44LTY1LjItMTAuOS02NS41LTE2LjEgMC0zMi4yLS4xLTQ4LjMtLjFsMCAxMDEuNiAxOS4xIDAgMC0zMy45IDE4LjQgMCAyOS42IDMzLjkgMjIuOCAwIDAtMS4zem0tNDEuNi04Mi4zYzIzLjMgMCAyMy4zIDMyLjUgMCAzMi41bC0yOS4xIDAgMC0zMi41IDI5LjEgMHptLTk1LjYtMS42YzIxLjIgMCAyMS4xIDM4LjkgMCAzOC45bC0zMi4zIDAgMC0zOC44IDMyLjMgMHptMTkyLjYtMTguMmMtNjguNSAwLTcxIDEwNS44IDAgMTA1LjggNjkuNSAwIDY5LjQtMTA1LjggMC0xMDUuOHptMCAxNy40YzQ0LjEgMCA0NC44IDcwLjkgMCA3MC45cy00NC40LTcwLjkgMC03MC45eiJdfSxzN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29vZ2xlLXBsYXkiLGljb246WzQ0OCw1MTIsW10sImYzYWIiLCJNMjkzLjYgMjM0LjNMNzIuOSAxMyAzNTMuNyAxNzQuMiAyOTMuNiAyMzQuM3pNMTUuMyAwQzIuMyA2LjgtNi40IDE5LjItNi40IDM1LjNsMCA0NDEuM2MwIDE2LjEgOC43IDI4LjUgMjEuNyAzNS4zTDI3MS45IDI1NS45IDE1LjMgMHpNNDQwLjUgMjI1LjZsLTU4LjktMzQuMS02NS43IDY0LjUgNjUuNyA2NC41IDYwLjEtMzQuMWMxOC0xNC4zIDE4LTQ2LjUtMS4yLTYwLjh6TTcyLjkgNDk5TDM1My43IDMzNy44IDI5My42IDI3Ny43IDcyLjkgNDk5eiJdfSxvN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToia29ydnVlIixpY29uOls0NDgsNTEyLFtdLCJmNDJmIiwiTTM4Ny42IDM0bC0zMjcgMEMyNy45IDM0IDEuMSA2MC44IDEuMSA5My41bDAgMzI3LjFjMCAzMi42IDI2LjggNTkuNCA1OS41IDU5LjRsMzI3LjEgMGMzMyAwIDU5LjUtMjYuOCA1OS41LTU5LjVsMC0zMjdDNDQ3LjEgNjAuOCA0MjAuMyAzNCAzODcuNiAzNHpNODguMiAxMjAuOGw5NiAwIDAgMTE2IDYxLjgtMTE2IDExMC45IDAtODEuMiAxMzItMTg3LjUgMCAwLTEzMnpNMjUwIDM5Mi45bC02NS43LTExMy42IDAgMTEzLjYtOTYgMCAwLTEzMC44IDE5MS41IDAgODguNiAxMzAuOC0xMTguNCAweiJdfSxuN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidzNjIixpY29uOls2NDAsNTEyLFtdLCJlN2RlIiwiTTEwNS4yIDMwNS4zbDMwLjktMTA0LjdjNy45LTI2LjcgOC42LTQwLjYgLjItNjguOGwtMTAuMS0zMy45IDQ0LjEgMCA2MSAyMDcuNCA0NS43LTE1NS41YzEzLjMtNDUuMyAyMS4xLTUxLjkgNTkuNC01MS45bDEzMi44IDBjLTI0LjIgNDIuOS00OS4zIDg1LjItNzMuOSAxMjcuOSAyLjYgLjggNS4yIDEuOCA3LjcgMi44IDE3LjMgNy4xIDMyLjIgMTkuNCA0MiAzNS41IDExLjIgMTguNSAxNi44IDQwLjIgMTYuOCA2NS4yIDAgMzAuOC04LjIgNTYuOC0yNC42IDc3LjgtMTQuNSAxOC42LTM1IDI5LjUtNTguMiAzMS4yIDAgLjMtNS4yIC40LTUuOCAuNC0zOS43LS4xLTcwLjgtMzIuMS04My4xLTY4LjdsNDIuOSAwYzMuNSA1LjMgNi44IDEwLjcgMTEuMiAxNS41IDguMSA3LjMgMTguNSAxMC45IDI5LjMgMTEuMSAxMy4xIDAgMjMuMy05LjEgMjkuOS0xOS44IDguMS0xMy4yIDEyLjItMjkgMTIuMi00Ny41IDAtMTMuMS0xLjgtMjQuMy01LjMtMzMuNi0uOS0yLjMtMS45LTQuNS0zLTYuNi0xLjQtMi42LTIuOS01LjEtNC43LTcuNC0xMC4xLTEzLjItMjkuMy0xOS43LTQ3LjUtMTkuOGwtMjguMiAwIDcwLjMtMTIyLTM1LjYgMGMtNDMuMSAwLTM1LjktNS40LTUwLjQgNDMuM2wtNzUuNyAyNTUuMy00LjIgMC02My4xLTIxMS4xLTYzLjEgMjExLjEtNC4yIDAtMTAxLTM0MC43IDQ0LjIgMCA2MSAyMDcuNHpNNDY3IDMzNS43Yy4zIC42IDExLjMgMjAuMyAxOC4zIDMwLjMgNy4xIDEwLjEgMTkuOCAyMC45IDI0LjggMjQuNnMxOS4xIDEyLjUgMzQuMyAxMy45YzE1LjIgMS41IDIzLjMgLjIgMzguNy02LjYgMTUuNC02LjggMjcuOS0yMC40IDM0LjktMjguMSA2LjktNy42IDE3LjktMjcuMyAxOC4yLTI3LjdsMy4zIDE2LjhjMS43IDktMSAyMy43LTQuMSAzMC00LjMgOC42LTcuNiAxMy41LTE0IDIwLjMtNi4xIDYuNS0xNi43IDEzLjUtMjEuMyAxNi40LTQuNiAyLjktMjMuMSAxNS4xLTUwLjEgMTAuM3MtNDQuNy0yNS45LTUzLjktMzguMmMtOS44LTEzLjItMTYuNy0yOC4zLTE5LTMzLjItMy44LTguNC05LjktMjguMi0xMC4xLTI4Ljh6bTE2OS43LTIxOGMzLjMgMjAuMy0uMSAyOC43LTkuMSA0NmwtMTIuNyAyNC4yYy0uMy0uNi0xMC0yMC43LTI1LjktMzEuOS0xMy42LTkuNi0yMi41LTExLjctMzYuMy04LjgtMTcuOCAzLjctMzggMjUtNDYuOCA1MS4yLTEwLjUgMzEuNC0xMC43IDQ2LjYtMTEgNjAuNi0uNiAyMi40IDIuOSAzNS42IDIuOSAzNS42cy0xNS40LTI4LjUtMTUuMi03MC4xYy4xLTI5LjcgNC44LTU2LjcgMTguNS04My4zIDEyLjEtMjMuNCAzMC4xLTM3LjQgNDYuMS0zOS4xIDE2LjUtMS43IDI5LjYgNi4zIDM5LjcgMTQuOSAxMC42IDkgMjEuMyAyOC44IDIxLjMgMjguOGwyNC45LTQ5LjggMy42IDIxLjh6Il19LGw3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJncmF2IixpY29uOls1MTIsNTEyLFtdLCJmMmQ2IiwiTTMwMi42IDIxMC42YzQuNSA0LjUgNC41IDEyLjMgMCAxNi44bC0xMCAxMGMtNC41IDQuOS0xMi4zIDQuOS0xNy4xIDBsLTEwLjgtMTAuOGMtNC41LTQuOS00LjUtMTIuMyAwLTE3LjFsMTAtMTBjNC41LTQuNSAxMi4zLTQuNSAxNy4xIDBsMTAuOCAxMS4xem0tMzEuMi0yMC4zYTcuNyA3LjcgMCAxIDAgLTEwLjYtMTEgNy43IDcuNyAwIDEgMCAxMC42IDExem0tMjYuOCA1LjVhNy41IDcuNSAwIDEgMCAxMC43IDEwLjUgNy41IDcuNSAwIDEgMCAtMTAuNy0xMC41ek0zMTkuNCAxODJjLTIwLjUtMTQuOS0zNC45LTQ0LjYtMTIuMy03MC4zIDIyLjMtMjUuNyA0Mi0xNy44IDYxLjcgLjggMTIuMyAxMS43IDMwLjIgMjUuNyAxNy44IDQ5LjgtMTIuOSAyNC4zLTQ2LjYgMzQuMy02Ny4yIDE5Ljd6bTQ5LjItNDUuOWMtOS4yLTEwLjMtMjQuMSA3LjEtMTYgMTYuNiA3LjYgOS4zIDMzLjEgMi41IDE2LTE2LjZ6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTQ0My43IDQ0YzIuNi0xNi42LTIwLjktMTcuMS0yNi0yNi41LTE0LTI0LjktMjguNi0zOC01Ni4zLTMxLjQgMTItOC4zIDI0LjMtNi4zIDI0LjMtNi4zIC4zLTYuNiAwLTEzLjQtOS43LTI1LjcgNC0xMi45IC4zLTIzLjEgLjMtMjMuMSAxNi04LjkgMjcuNy0yNS4yIDMwLTQ0LjYgMy43LTMyLTE5LjQtNjEuMS01MS40LTY0LjgtMjIuOC0yLjYtNDUuMSA3LjktNTYuMSAyNi41LTIzLjkgNDEuNCAxLjQgNzMuMiAyMy4xIDg0LTE0LjktMS40LTM1LjQtMTIuMy00MS40LTM1LjQtNi44LTI2LjUgMi45LTUxLjQgOS4yLTYzLjQgMCAwLTQuNS02LTguMy05LjIgMCAwLTE0LjIgMC0yNS40IDUuNSAxMi4zLTE1LjcgMjYtMTQuOSAyNi0xNC45IDAtNi42LS42LTE1LjQtMy43LTIyLjMtNS42LTExLjQtMjQuNi0xMy4zLTMyLjcgMi45IC4xLS4yIC4zLS40IC40LS41LTUuMiAxMi4zLTEuMSA1Ny43IDE3LjQgOTAtMi42IDEuNC05LjQgNi4zLTEzLjQgMTAuMy0yMi4zIDEwLTU4IDYyLjItNTggNjIuMi0yOS4xIDExLjEtNzkuNyA1Mi41LTcyLjkgODIuMyAuMyAzLjEgMS40IDUuNyAzLjEgNy43LTIuOSAyLjMtNS43IDUuMi04LjYgOC42LTEyLjMgMTQuMi01LjUgMzYuMyAxOC4zIDI1LjIgMTYuMy03LjQgMzAuNi0yMC45IDM3LjUtMzEuNCAwIDAtNS43LTUuMi0xNi44LTQuNSAyOC42LTYuOCAzNS40LTkuNyA0Ny43LTkuNCA4LjMgNCA4LjMtMzUuNCA4LjMtMzUuNCAwLTE1LjItMi4zLTMyLTExLjUtNDIuOCAxMi45IDEyLjYgMzAgMzMuOCAyOC45IDYyLjYtLjggMTguOS0xNS43IDIzLjctMTUuNyAyMy43LTkuNCAxNy4xLTQ0LjYgNjgtMzEuNCAxMDkuNCAwIDAtMTAtMTUuNC0xMC41LTIyLjgtMTggMjAtNDggNTQtMjUuNCA2Ni42IDI3LjUgMTUuMiAxMTIuMy05MS41IDEzMC4zLTE0Ni45IDM1LjctMjEuNSA1Ny4yLTQ4LjggNjYtNjcuMSAyMi43IDQ0LjkgOTguNCA5Ny41IDEwNC40IDYwLjl6Il19LGM3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhd3MiLGljb246WzY0MCw1MTIsW10sImYzNzUiLCJNMTgwLjQgMjAzYy0uNyAyMi42IDEwLjYgMzIuNyAxMC45IDM5LS4xIDEuMy0uNiAyLjUtMS4zIDMuNnMtMS43IDItMi44IDIuNmwtMTIuOCA5Yy0xLjcgMS4yLTMuNiAxLjgtNS42IDEuOS0uNCAwLTguMiAxLjgtMjAuNS0yNS42LTcuNSA5LjQtMTcgMTYuOS0yNy45IDIycy0yMi43IDcuNy0zNC43IDcuNWMtMTYuMyAuOS02MC40LTkuMi01OC4xLTU2LjItMS42LTM4LjMgMzQuMS02Mi4xIDcwLjktNjAgNy4xIDAgMjEuNiAuNCA0NyA2LjNsMC0xNS42YzIuNy0yNi41LTE0LjctNDctNDQuOC00My45LTIuNCAwLTE5LjQtLjUtNDUuOCAxMC4xLTcuNCAzLjQtOC4zIDIuOC0xMC44IDIuOC03LjQgMC00LjQtMjEuNS0yLjktMjQuMiA1LjItNi40IDM1LjktMTguNCA2NS45LTE4LjIgMjAuMS0xLjggNDAuMSA0LjQgNTUuNyAxNy4zIDYuMyA3LjEgMTEuMiAxNS40IDE0LjIgMjQuNHM0LjIgMTguNSAzLjUgMjhsMCA2OS4zek05NCAyMzUuNGMzMi40LS41IDQ2LjItMjAgNDkuMy0zMC41IDIuNS0xMC4xIDIuMS0xNi40IDIuMS0yNy40LTkuNy0yLjMtMjMuNi00LjktMzkuNi00LjktMTUuMi0xLjEtNDIuOCA1LjYtNDEuNyAzMi4zLTEuMiAxNi44IDExLjEgMzEuNCAzMCAzMC41em0xNzAuOSAyMy4xYy03LjkgLjctMTEuNS00LjktMTIuNy0xMC40TDIwMi40IDgzLjRjLTEtMi44LTEuNi01LjYtMS45LTguNi0uMi0xLjIgLjEtMi40IC44LTMuNHMxLjgtMS42IDMtMS44Yy4yIDAtMi4xIDAgMjIuMiAwIDguOC0uOSAxMS42IDYgMTIuNiAxMC40TDI3NC45IDIyMC44IDMwOC4xIDgwYy41LTMuMiAyLjktMTEuMSAxMi44LTEwLjJsMTcuMiAwYzIuMi0uMiAxMS4xLS41IDEyLjcgMTAuNEwzODQuMSAyMjIuNyA0MjEgODAuMWMuNS0yLjIgMi43LTExLjQgMTIuNy0xMC40bDE5LjcgMGMuOS0uMSA2LjItLjggNS4zIDguNi0uNCAxLjggMy40LTEwLjctNTIuOCAxNjkuOS0xLjEgNS41LTQuOCAxMS4xLTEyLjcgMTAuNGwtMTguNyAwYy0xMC45IDEuMi0xMi41LTkuNy0xMi43LTEwLjdsLTMzLjItMTM3LjEtMzIuOCAxMzdjLS4yIDEuMS0xLjcgMTEuOS0xMi43IDEwLjdsLTE4LjMgMCAwIDB6bTI3My41IDUuNmMtNS45IDAtMzMuOS0uMy01Ny40LTEyLjMtMi4zLTEtNC4zLTIuNi01LjctNC44cy0yLjEtNC42LTIuMS03LjFsMC0xMC43YzAtOC41IDYuMi02LjkgOC44LTUuOSAxMCA0LjEgMTYuNSA3LjEgMjguOCA5LjYgMzYuNyA3LjUgNTIuOC0yLjMgNTYuNy00LjUgMTMuMi03LjggMTQuMi0yNS43IDUuMy0zNC45LTEwLjUtOC44LTE1LjUtOS4xLTUzLjEtMjEtNC42LTEuMy00My43LTEzLjYtNDMuOC01Mi40LS42LTI4LjIgMjUtNTYuMiA2OS41LTU2IDEyLjcgMCA0Ni40IDQuMSA1NS42IDE1LjYgMS40IDIuMSAyIDQuNiAxLjkgN2wwIDEwLjFjMCA0LjQtMS42IDYuNy00LjkgNi43LTcuNy0uOS0yMS40LTExLjItNDkuMi0xMC44LTYuOS0uNC0zOS45IC45LTM4LjQgMjUtLjQgMTkgMjYuNiAyNi4xIDI5LjcgMjYuOSAzNi41IDExIDQ4LjYgMTIuOCA2My4xIDI5LjYgMTcuMSAyMi4yIDcuOSA0OC4zIDQuMyA1NS40LTE5LjEgMzcuNS02OC40IDM0LjQtNjkuMyAzNC40em00MC4yIDEwNC45Yy03MCA1MS43LTE3MS43IDc5LjItMjU4LjUgNzkuMi0xMTcuMSAuOC0yMzAuMy00Mi4zLTMxNy4zLTEyMC43LTYuNS01LjktLjgtMTQgNy4yLTkuNSA5Ni41IDU1LjIgMjA1LjcgODQuMiAzMTYuOSA4NC4xIDgzLS40IDE2NS4xLTE3LjMgMjQxLjYtNDkuNSAxMS44LTUgMjEuOCA3LjggMTAuMSAxNi40em0yOS4yLTMzLjNjLTktMTEuNS01OS4zLTUuNC04MS44LTIuNy02LjggLjgtNy45LTUuMS0xLjgtOS41IDQwLjEtMjguMiAxMDUuOS0yMC4xIDExMy40LTEwLjYgNy41IDkuNS0yLjEgNzUuNC0zOS42IDEwNi45LTUuOCA0LjktMTEuMyAyLjMtOC43LTQuMSA4LjQtMjEuMyAyNy40LTY4LjUgMTguNC04MHoiXX0sZDd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdsaWRlLWciLGljb246WzQ0OCw1MTIsW10sImYyYTYiLCJNNDA3LjEgMjExLjJjLTMuNS0xLjQtMTEuNi0zLjgtMTUuNC0zLjgtMzcuMSAwLTYyLjIgMTYuOC05My41IDM0LjVsLS45LS45YzctNDcuMyAyMy41LTkxLjkgMjMuNS0xNDAuNCAwLTcxLjUtMzguMi0xMDAuNi0xMDguNC0xMDAuNi0xMTUuMSAwLTE3My40IDExMy43LTE3My40IDE5OC40IDAgODcuOSA1MS4zIDEzNi42IDEzOC42IDEzNi42IDEyIDAgMTEtMSAxMSAzLjgtMTYuOSAxMjguOS05MC44IDEzMy4xLTkwLjggOTQuNiAwLTM5LjIgNDUtNTguNiA0NS41LTYxLS4zLTEyLjItNDctMjcuNi01OC45LTI3LjYtMzMuOSAuMS01Mi40IDUxLjItNTIuNCA3OS4zIDAgNTEuOSAzMi44IDg3LjkgODUuNSA4Ny45IDc3LjQgMCAxMzQtNzcuOCAxNTEuNC0xNDUuNCAxNS4xLTYwLjUgMTEuMi02My4zIDE5LjctNjcuNiAzMi4yLTE2LjIgNTcuNS0yNyA5My44LTI3IDE3LjggMCAzMC41IDMuNyA1OC45IDguNCAyLjkgMCA2LjctMi45IDYuNy01LjggMC04LTMzLjQtNjAuNS00MC45LTYzLjR6TTIzMS44IDEyNi44Yy05LjMgNDQuNy0xOC42IDg5LjYtMjcuOCAxMzQuMy0yLjMgMTAuMi0xMy4zIDcuOC0yMiA3LjgtMzguMyAwLTQ5LTQxLjgtNDktNzMuMSAwLTQ3IDE4LTEwOS4zIDYxLjgtMTMzLjQgNy00LjEgMTQuOC02LjcgMjIuNi02LjcgMTguNiAwIDIwIDEzLjMgMjAgMjguNy0uMSAxNC4zLTIuNyAyOC41LTUuNiA0Mi40eiJdfSxwN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToianNmaWRkbGUiLGljb246WzU3Niw1MTIsW10sImYxY2MiLCJNNTExLjEgMjM3LjVjLTQuNy0yLjYtNS43LTUuNy02LjQtMTAuOC0yLjQtMTYuNS0zLjUtMzMuNi05LjEtNDkuMS0zNS45LTEwMC0xNTQtMTQzLjQtMjQ2LjgtOTEuNi0yNy40IDE1LjItNDkgMzYuNC02NS41IDYzLjktMy4yLTEuNS01LjUtMi43LTcuOC0zLjctMzAuMS0xMi40LTU5LTEwLjEtODUuMyA5LjItMjUuNSAxOC43LTM2LjQgNDQuNS0zMi43IDc2LjQgLjQgMy0yIDcuNi00LjUgOS41LTM5LjcgMzAtNTYgNzguMS00MS45IDEyNC42IDEzLjggNDUuNiA1Ny41IDc5LjggMTA1LjYgODEuNCAzMC4zIDEgNjAuNiAuNSA5MSAuNSA4NCAwIDE2OC4xIC41IDI1Mi4xLS41IDUyLjctLjYgOTYuMS0zNi45IDEwOC4yLTg3LjMgMTEuNS00OC4xLTExLjEtOTcuMy01Ni44LTEyMi42em0yMS4xIDE1Ni45Yy0xOC4yIDIyLjQtNDIuMyAzNS4zLTcxLjMgMzUuNy01Ni45IC44LTExMy44IC4yLTE3MC43IC4yIDAgLjctMTYzIC4yLTE2My43IC4yLTQzLjktLjMtNzYuNy0xOS44LTk1LjItNjAtMTguOS00MS4yLTQtOTAuOCAzNC4yLTExNi4xIDkuMi02LjEgMTIuNS0xMS42IDEwLjEtMjMuMS01LjUtMjYuNCA0LjUtNDggMjYuNC02MyAyMy0xNS43IDQ3LjQtMTYuMSA3Mi0zLjEgMTAuMyA1LjQgMTQuNiAxMS42IDIyLjItMi41IDE0LjItMjYuNCAzNC42LTQ2LjcgNjAuNy02MS4zIDk3LjUtNTQuNCAyMjguNCA3LjYgMjMwLjIgMTMyLjcgLjEgOC4yIDIuNCAxMi40IDkuOCAxNS45IDU3LjYgMjYuOCA3NC41IDk2LjEgMzUuMSAxNDQuNXptLTg3LjgtODAuNWMtNS44IDMxLjItMzQuNiA1NS4xLTY2LjcgNTUuMS0xNyAwLTMyLjEtNi41LTQ0LjEtMTcuNy0yNy43LTI1LjctNzEuMS03NS05NS45LTkzLjQtMjAuMS0xNC45LTQyLTEyLjMtNjAuMyAzLjgtNTAgNDQuMSAxNS45IDEyMS44IDY3LjEgNzcuMiA0LjUtNCA3LjgtOS41IDEyLjctMTIuOCA4LjItNS41IDIwLjgtLjkgMTMuMiAxMC42LTE3LjQgMjYuMy00OS4zIDM4LjItNzguOSAyOS4zLTI4LjktOC43LTQ4LjgtMzYtNDguNi03MC4yIDEuMi0yMi41IDEyLjQtNDMuMSAzNS40LTU2IDIyLjYtMTIuNiA0Ni40LTEzLjEgNjcgMi41IDUwLjggMzguNSA3NS42IDgxLjcgMTA3LjMgMTAxLjIgMjQuNiAxNS4xIDU0LjMgNy40IDY4LjgtMTcuNSAyOC44LTQ5LjItMzQuNi0xMDUtNzguOS02My41LTQgMy43LTYuOSA4LjktMTEuNCAxMS43LTExIDYuOC0xNy4zLTQuMS0xMi44LTEwLjQgMjAuNy0yOC42IDUwLjUtNDAuNCA4My4zLTI4LjIgMzEuNCAxMS43IDQ5LjEgNDQuNCA0Mi44IDc4LjJ6Il19LHU3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJrZXliYXNlIixpY29uOls0NDgsNTEyLFtdLCJmNGY1IiwiTTI4Ni4yIDQxOWExOCAxOCAwIDEgMCAwIDM2IDE4IDE4IDAgMSAwIDAtMzZ6TTM5OC4xIDI3MS40Yy05LjUtMTQuNi0zOS40LTUyLjQtODcuMy03My43LTYuMS0yLjctMTIuMi01LjEtMTguNC03LjMgNC4xLTkuOSA2LTIwLjYgNS44LTMxLjRzLTIuNy0yMS4zLTcuMi0zMS4xLTEwLjktMTguNS0xOC45LTI1LjctMTcuNC0xMi42LTI3LjYtMTZjLTEyLjQtNC4xLTIzLjMtNi0zMi40LTUuOC0uNi0yLTEuOS0xMSA5LjQtMzVsLTIyLjktMTMuNS01LjUgNy42Yy04LjcgMTIuMS0xNi45IDIzLjYtMjQuMyAzNC45LTIuNy0uNi01LjUtMS4xLTguMy0xLjItNDEuNS0yLjQtMzktMi4zLTQxLjEtMi4zLTUwLjYgMC01MC44IDUyLjEtNTAuOCA0NS45bC0yLjQgMzYuN2MtMS42IDI3IDE5LjggNTAuMiA0Ny42IDUxLjhsOC45IC41QzEwNiAyMTUuNSA5MC40IDIyNy41IDc2LjYgMjQxLjQgMTQgMzA0LjcgMTQgMzc0IDE0IDQyOS44bDAgMzMuNiAyMy4zLTI5LjhjMy4xIDEzLjEgOCAyNS44IDE0LjYgMzcuNiA1LjggMTAuMSAxNC45IDkuNCAxOS42IDcuMyA0LjItMS45IDEwLTYuOSAzLjgtMjAuMS04LTE2LjgtMTMuMy0zNC43LTE1LjgtNTMuMWw0Ni44LTU5LjgtMjQuNyA3NC4xYzU4LjItNDIuNCAxNTcuNC02MS44IDIzNi4yLTM4LjYgMzQuMiAxMC4xIDY3LjQgLjcgODQuNy0yMy44IC43LTEgMS4yLTIuMiAxLjgtMy4yIDEuOCA5LjQgMi43IDE4LjkgMi44IDI4LjQgMCAyMy4zLTMuNyA1Mi45LTE0LjkgODEuNi0yLjUgNi41IDEuOCAxNC41IDguNiAxNS43IDcuNCAxLjYgMTUuMy0zLjEgMTguNC0xMS4xIDkuNi0yNS41IDE0LjYtNTQuNiAxNC42LTg2LjIgMC0zOC42LTEzLTc3LjUtMzUuOS0xMTAuOXpNMTQyLjQgMTI4LjZsLTE1LjctLjktMS40IDIxLjggMTMuMSAuOGMtLjYgNi41LS41IDEzLjEgLjMgMTkuNmwtMjIuNC0xLjNjLTEuNi0uMS0zLjItLjUtNC43LTEuMXMtMi44LTEuNi0zLjktMi44LTEuOS0yLjYtMi41LTQuMS0uOC0zLjEtLjctNC43TDEwNyAxMTljMS0xMi4yIDEzLjktMTEuMyAxMy4zLTExLjNsMjkuMSAxLjdjLTIuOCA2LjItNS4xIDEyLjYtNyAxOS4yek0yOTAuOCAzMDAuOGMtMi4xIDEuNi00LjggMi40LTcuNSAyLjJzLTUuMS0xLjUtNi45LTMuNWwtOS43LTExLjUtMzQuNCAyN2MtMS42IDEuMy0zLjcgMS45LTUuOCAxLjdzLTQtMS4yLTUuMy0yLjhsLTE1LjgtMTguNmMtMS4yLTEuNi0xLjctMy41LTEuNS01LjRzMS4zLTMuNyAyLjgtNC45bDM0LjYtMjcuMi0xNC4xLTE2LjctMTcuMSAxMy41Yy0xLjYgMS4yLTMuNSAxLjgtNS41IDEuNnMtMy44LTEuMS01LjEtMi42YzAgMC0zLjctNC40LTMuOC00LjUtMS4yLTEuNi0xLjctMy41LTEuNS01LjVzMS4zLTMuNyAyLjgtNC45TDIxNCAyMjUuMnMtMTguNS0yMi0xOC42LTIyLjFjLS44LTEtMS4zLTIuMS0xLjctMy4zcy0uNC0yLjUtLjMtMy43IC42LTIuNCAxLjItMy41IDEuNS0yIDIuNS0yLjhjMi4xLTEuNyA0LjgtMi40IDcuNC0yLjJzNS4xIDEuNSA2LjkgMy42bDgxLjEgOTYuM2MuOCAxIDEuMyAyLjEgMS43IDMuM3MuNCAyLjUgLjMgMy43LS42IDIuNS0xLjIgMy41LTEuNSAyLjEtMi41IDIuOHpNMTg3LjQgNDE5YTE4IDE4IDAgMSAwIDAgMzYgMTggMTggMCAxIDAgMC0zNnoiXX0sZjd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imx1bW9uLWRyb3AiLGljb246WzU3Niw1MTIsW10sImU3ZTMiLCJNNDgwIDMyYzUzIDAgOTYgNDMgOTYgOTZsMCAyMjRjMCA1My00MyA5Ni05NiA5Nkw5NiA0NDhjLTUzIDAtOTYtNDMtOTYtOTZMMCAxMjhDMCA3NSA0MyAzMiA5NiAzMmwzODQgMHpNMzAyLjQgMTE0LjdjLTkuOC0xNi40LTIwLjUtMTYuNC0yOS42IDBsLTY4LjkgMTE0Yy0xMC43IDE1LjYtMTYuNCAzMi44LTE2LjQgNTIuNSAwIDUwLjkgNDQuMyA5NC4zIDEwMC4xIDk0LjMgNTUgMCAxMDAuOS00My41IDEwMC45LTk0LjMgMC0xOS43LTYuNi0zNy44LTE3LjItNTIuNWwtNjguOS0xMTR6Il19LGg3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmb3JnZWpvIixpY29uOlszMjAsNTEyLFtdLCJlODYwIiwiTTI2MS41IDEuMmMzNCAwIDYxLjYgMjcuNiA2MS42IDYxLjZzLTI3LjYgNjEuNi02MS42IDYxLjZjLTIzIDAtNDMuMS0xMi43LTUzLjctMzEuNGwtMjguNSAwYy0yNCAwLTQ3IDkuNS02NCAyNi41cy0yNi41IDQwLTI2LjUgNjRsMCA0My41YzI2LTE5LjUgNTcuNy0zMC4yIDkwLjYtMzAuMmwyOC41IDBjMTAuNi0xOC43IDMwLjYtMzEuNCA1My43LTMxLjQgMzQgMCA2MS42IDI3LjYgNjEuNiA2MS42cy0yNy42IDYxLjYtNjEuNiA2MS42Yy0yMyAwLTQzLjEtMTIuNy01My43LTMxLjRsLTI4LjUgMGMtMjQgMC00NyA5LjUtNjQgMjYuNXMtMjYuNSA0MC0yNi41IDY0bDAgNDcuOGMxOC43IDEwLjYgMzEuNCAzMC42IDMxLjQgNTMuNiAwIDM0LTI3LjYgNjEuNi02MS42IDYxLjZTLTMgNDgzLjItMyA0NDkuMmMwLTIzIDEyLjctNDMuMSAzMS40LTUzLjZsMC0yMTJjMC00MCAxNS45LTc4LjQgNDQuMi0xMDYuN3M2Ni43LTQ0LjIgMTA2LjctNDQuMmwyOC41IDBjMTAuNi0xOC43IDMwLjYtMzEuNCA1My43LTMxLjR6TTU4LjYgNDIzLjljLTE0IDAtMjUuMyAxMS4zLTI1LjMgMjUuM3MxMS4zIDI1LjQgMjUuMyAyNS40IDI1LjQtMTEuNCAyNS40LTI1LjQtMTEuNC0yNS4zLTI1LjQtMjUuM3pNMjYxLjUgMjAxLjdhMjUuNCAyNS40IDAgMSAwIDAgNTAuNyAyNS40IDI1LjQgMCAxIDAgMC01MC43em0wLTE2NC4yYTI1LjQgMjUuNCAwIDEgMCAwIDUwLjcgMjUuNCAyNS40IDAgMSAwIDAtNTAuN3oiXX0sbTd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBvc3RncmVzcWwiLGljb246WzUxMiw1MTIsW10sImU4NTgiLCJNMjE5LjggMTcxLjNjMy45IC41IDEzLjEgMi43IDEyLjMgOC41LS44IDUuOS05LjIgOS4xLTE0LjIgOC40LTQuNy0uNy0xMy4yLTYuMS0xMi4zLTEyLjFsLjMtMi4xYzQuMiAwIDguMy0zLjUgMTMuOS0yLjd6bTE2OC4xLTMuNGMxMC44IDIuNi0xLjEgMTMuNS02LjggMTQuMy00LjMgLjYtMTIuMS0yLjItMTIuOC03LjQtMS03LjQgMTUuNy03LjkgMTkuNy02Ljl6bS0yMi0xNDAuOGMzNS43LS4zIDgxLjMgOS40IDExNC4zIDUxLjcgNy4yIDkuMiAxMCAyNCA5LjcgNDAuOS0uOCA0OS42LTI2IDEyOS40LTcwLjcgMTk3LjQgNC41IDIuOSAxNy42IDcuNCA1MS4xIC41IDUuNi0xLjIgMTIuNy0yLjIgMTcuNiAxLjYgMTguMiAxMy45LTE5LjYgMzUuMS0yOC40IDM5LjItMTMuMiA2LjItMzQuOCA5LjUtNTEuMiA4LjctMi4xLS4yLTQuMy0uMi02LjMtLjYtNS4xLTEuMS03LjQtMS04LjMtLjctMS4xIC4zLTEuNCAyLjktMS42IDMuOC0yLjggMjQuOS03LjcgNjQuNy0xMC43IDgyLTIuOCAxNi4zLTcuNyAyOS4zLTE3LjIgMzkuMi05LjUgOS45LTIyLjggMTUuNy00MC42IDE5LjUtMjIuMyA0LjgtMzcuOS0uMS00OC43LTkuMS0xMC4zLTguNy0xNS4yLTIwLjQtMTgtMjcuNC0xLjgtNC41LTMtMTEuNS00LTE5LjgtMi4zLTE5LjgtMy4zLTUwLjQtMy04My4zLTI0LjYgMjIuMS01NSAxNy4yLTY4LjIgMTMuOS0xMC41LTIuNi0zMy0xNi4xLTE3LjUtMjguNyAxMS45LTkuNyAzMC4zLTUuNSA0Mi4yLTE1IDIuNC0xLjkgMTEuNC0xMC42IDExLjQtMTMuNS0xMC0uMy0xOS42LTIuOS0yOC4xLTcuNS0xMy41IDE0LjUtMjYuNCAyOS41LTM5LjMgNDQuNi04LjMgOS45LTE3LjQgMTUuOC0yNy40IDE2LjItOS45IC40LTE4LjctNC42LTI2LjEtMTEuOC03LjMtNy4xLTE0LjEtMTcuMi0yMC40LTI5LTE5LTM1LjUtMzMuMi04Ni4xLTQyLjMtMTI2LjQtNi0yNi43LTkuNi00OS4xLTEwLjEtNTktMi4yLTQ0LjMgOC03NC4xIDI2LTkzLjIgMTcuOS0xOSA0Mi40LTI2IDY2LjEtMjcuNCAzNS42LTIgNzEgOC41IDg2LjYgMTMuOGw1IDEuOGMxNS45LTEwLjggMzYuMS0xNy40IDYxLjctMTcgMTMuMiAuMiAyNS41IDIuMiAzNi43IDQuMiAxOC42LTcuMSAzOS44LTkuNSA1OS40LTkuN3ptLTk2IDIwLjVjLTI0LjctLjQtNDIuOSA2LjUtNTYuNiAxNi44LS44IC42LTEuOCAxLTIuOCAxLjItMTQuNCAxMS44LTIzLjkgMjgtMzAuMyA0NC44LTcuMiAxOS4xLTEwIDM4LjUtMTEuMSA1MS41IDcuNi00LjMgMTcuOS04LjcgMjguNy0xMS4yIDEwLjUtMi40IDIyLjQtMy4yIDMyLjcgLjggMTAuOSA0LjIgMTkgMTMuMyAyMi4yIDI4LjEgNy41IDM0LjcgNi43IDU4LjIgMi43IDc1LjktNC44IDIxLTE2LjggMzkuNS0yMS45IDYwLjQgMy41LS45IDcuMS0uNiA5LjggLjFsNy4yIDIuOWM3LjcgNC40IDEyLjggMTMgMTQgMjEuNyAyIDYgLjEgMTQuMyAwIDIwLjYgNi43IDE2LjMgNy4yIDM2LjEgNi43IDUzLjMtLjcgMjUtMSA0MC4yIDMuMiA1MS43IDIuOSA3LjkgNC43IDE2LjQgMTAuNCAyMi44IDIuNiAzIDYuMSA1LjUgMTAuOSA2LjggMTguNSA1LjEgNDQtNC43IDU2LjYtMTguMiA3LjctOC4yIDEyLjMtMTkuMyAxMy40LTMzLjkgMS4xLTEzLjYgNC4yLTI3LjYgNi4zLTQxLjFsMi45LTguOGMxLjctMTQuOCAzLjQtMjkuNiA1LTQ0LjQtLjQtOS4xIC45LTE2LjEgMy45LTIxLjUgMy4xLTUuNyA3LjYtOC45IDExLjgtMTAuOCAxLjgtLjggMy45LTEuMiA1LjYtMi0xLjYtMi40LTMuNi00LjYtNS4zLTYuOC04LjItMTAuNC0xMy4zLTIyLjMtMTkuNy0zMy44LTguNS0xNS4yLTIzLjgtNDIuMi0zMC4xLTY3LjUtNC4xLTE2LjQtNC45LTM0LjUgNi00NyA5LjgtMTEuMiAyNi45LTE1LjUgNTEuOS0xMy0zLjQtMTAtMTEuNC0yNy41LTI0LjgtNDQuNy0xOC0yMy00NS43LTQ1LjktODUuNy01My4xLTcuMy0uOS0xNS4yLTEuNS0yMy42LTEuN3ptLTMyLjIgMjgyYy04IC43LTE1LjUgMTguMi0yMS43IDIzLjEtNi4yIDQuOS0xNC41IDcuNi0zMCAxMC43LTQuNSAuOS03LjcgMS45LTkuNyAyLjggMjIuMyAxNS44IDU4LjMgMy4yIDcyLjYtMTYuOCAxLjctMi40IDIuMS02IC41LTEwLjItMS43LTQuNS02LjQtMTAuMS0xMS45LTkuNnpNMTE3LjYgNDkuMmMtMjEuNiAxLjItNDIgNy41LTU2LjQgMjIuOC0xNC40IDE1LjItMjQuMiA0MC42LTIyLjEgODIuNSAuNCA4LjUgMy44IDMwIDkuOCA1Ni42IDguOSAzOS44IDIzLjcgOTAuMyA0MC42IDEyMi4yIDYgMTEuMSAxNy40IDMzIDMyLjggMzIuMyA0LjQtLjIgMTAuMS0yLjggMTctMTEgMTIuNi0xNC44IDI1LjItMjkuNSAzOC41LTQzLjctMTcuOS0xNS40LTI4LjUtNDAuMy0yNC44LTY3LjIgMy40LTI0LjMgLjUtNDguMiAxLjItNzIuNSAuNC0xMS45IDIuMy0zOC43IDEyLjYtNjUuOCA1LjktMTUuNSAxNC41LTMxLjMgMjcuNC00NC4yLTE2LjQtNS40LTQ3LjEtMTMuNS03Ni42LTExLjl6TTQwNS4xIDMyOC45Yy0zLjggMS4xLTYuNyAyLjItOC43IDUuOC0xLjMgMi40LTIuNSA2LjctMi4yIDE0LjIgNC44IDMuOSAxNC4xIDMuMyAxOS44IDMuMiAxMy45LS4yIDI5LjktMy4xIDM5LjMtNy41IDcuOS0zLjcgMTQuNy04LjMgMTktMTIuMi0zOC4yIDcuNy01NS40IDIuMS02My4yLTQuOC0xLjMgLjQtMi45IC45LTMuOSAxLjJ6TTIyNS4zIDE2NC45Yy0xNS40LTUuOS0zNS40IDEuOC00OC45IDkuNC0zLjYgMi02LjUgNC03LjkgNS4yIC40IDguOCAyLjggMzYuMS0xLjQgNjYuMy01LjEgMzYuNiAyMS43IDY2LjYgNTIuNSA2Ni43IDUuMS0yMC44IDE3LTM5LjIgMjEuOC02MC4xIDMuNS0xNS4zIDQuNS0zNi42LTIuNy02OS43LTIuMy0xMC41LTcuNC0xNS40LTEzLjQtMTcuN3pNMzcwLjEgNDIuMmMtMTUuMi0uMi0yOC44IDEuNy0zOS4yIDMuOCAyNiAxMS44IDQ1LjYgMjkuNyA1OS42IDQ3LjYgMTcuNCAyMi4yIDI2LjMgNDQuMSAyOSA1NSAuNyAyLjcgMS4zIDUuNyAuNSA4LjQgLjYgMTguOS00IDMxLjMtNC42IDQ5LjItLjQgMTIuOSAyLjkgMjguMSAzLjcgNDQuNyAuOCAxNS43LTEgMzIuNS0xMS4yIDQ5LjUgLjggMSAxLjYgMi4xIDIuNCAzLjEgMjYuOC00Mi4yIDQ2LTg4LjYgNTYuMy0xMjguNSA1LjUtMjEuNCA4LjQtNDAuNyA4LjctNTYuMSAuMi0xNS4yLTItMjUuNC01LjgtMzAuNC0yOC4zLTM2LjEtNjYuOC00NS44LTk5LjMtNDYuMnptMzUuNiAxMTkuNWMtMjUuMy0zLjItMzcuMyAxLjUtNDIuOCA3LjctNiA2LjgtNi44IDE4LjUtMi45IDM0LjEgNS43IDIyLjYgMjAuMSA0OC42IDI4LjcgNjQgMy42IDYuNCA2LjQgMTMuMSAxMCAxOS40IDUuNS0xMS43IDYuNi0yMy41IDYtMzUuNS0uNy0xNS00LjItMzAuMy0zLjctNDUuOGwuNC03LjRjMS4yLTE0LjMgNC4xLTI0LjYgNC4yLTM2LjV6Il19LGc3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3ZWVibHkiLGljb246WzUxMiw1MTIsW10sImY1Y2MiLCJNNDI1LjEgNjUuOGMtMzkuOSAwLTczLjMgMjUuNy04My43IDY0LjMtMTguMi01OC4xLTY1LjUtNjQuMy04NS02NC4zLTE5LjggMC02Ni44IDYuMy04NS4zIDY0LjMtMTAuNC0zOC42LTQzLjQtNjQuMy04My43LTY0LjMtNDkgMC04Ny41IDMzLjktODcuNSA3Ny4yIDAgMjkgNC4yIDMzLjMgNzcuMiAyMzMuNSAyMi40IDYwLjYgNjcuOCA2OS40IDkyLjcgNjkuNCAzOS4yIDAgNzAtMTkuNSA4NS45LTU0IDE1LjkgMzQuOCA0Ni43IDU0LjMgODUuOSA1NC4zIDI1IDAgNzAuNC05LjEgOTIuNy02OS43IDc2LjYtMjA4LjYgNzcuNS0yMDUuNiA3Ny41LTIyNy4yIC42LTQ4LjMtMzYtODMuNS04Ni45LTgzLjV6bTI2LjMgMTE0LjhMMzg1LjkgMzU3LjFjLTcuOSAyMS41LTIxLjIgMzcuMi00Ni4yIDM3LjItMjMuNCAwLTM3LjQtMTIuNC00NC0zMy45bC0zOS4zLTExNy40LTEgMC0zOS4zIDExNy40Yy03IDIxLjUtMjAuOSAzMy42LTQ0IDMzLjYtMjUgMC0zOC4zLTE1LjctNDYuMi0zNy4yTDYwLjkgMTgxLjZjLTUuNC0xNC44LTcuOS0yMy45LTcuOS0zNC41IDAtMTYuMyAxNS44LTI5LjQgMzguMy0yOS40IDE4LjcgMCAzMiAxMS44IDM2LjEgMjkuMWw0NCAxMzkuOCAxIDAgNDQuNy0xMzYuOGM2LTE5LjcgMTYuNS0zMi4xIDM5LTMyLjFzMzIuOSAxMi4xIDM5IDMyLjFsNDQuNyAxMzYuOCAxIDAgNDQtMTM5LjhjNC4xLTE3LjIgMTcuNC0yOS4xIDM2LjEtMjkuMSAyMi4yIDAgMzguMyAxMy4zIDM4LjMgMzUuNy0uMyA3LjktNC4xIDE2LTcuNiAyNy4yeiJdfSxiN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZG9ja2VyIixpY29uOls2NDAsNTEyLFtdLCJmMzk1IiwiTTM0OS45IDIzNi4zbC02Ni4xIDAgMC01OS40IDY2LjEgMCAwIDU5LjR6bTAtMjA0LjNsLTY2LjEgMCAwIDYwLjcgNjYuMSAwIDAtNjAuN3ptNzguMiAxNDQuOGwtNjYuMSAwIDAgNTkuNCA2Ni4xIDAgMC01OS40ek0yNzEuOCAxMDQuN2wtNjYuMSAwIDAgNjAuMSA2Ni4xIDAgMC02MC4xem03OC4xIDBsLTY2LjEgMCAwIDYwLjEgNjYuMSAwIDAtNjAuMXptMjc2LjggMTAwYy0xNC40LTkuNy00Ny42LTEzLjItNzMuMS04LjQtMy4zLTI0LTE2LjctNDQuOS00MS4xLTYzLjdsLTE0LTkuMy05LjMgMTRjLTE4LjQgMjcuOC0yMy40IDczLjYtMy43IDEwMy44LTguNyA0LjctMjUuOCAxMS4xLTQ4LjQgMTAuN2wtNDM0LjcgMGMtOC43IDUwLjggNS44IDExNi44IDQ0IDE2Mi4xIDM3LjEgNDMuOSA5Mi43IDY2LjIgMTY1LjQgNjYuMiAxNTcuNCAwIDI3My45LTcyLjUgMzI4LjQtMjA0LjIgMjEuNCAuNCA2Ny42IC4xIDkxLjMtNDUuMiAxLjUtMi41IDYuNi0xMy4yIDguNS0xNy4xbC0xMy4zLTguOXpNMTE1LjYgMTc2LjhsLTY2IDAgMCA1OS40IDY2LjEgMCAwLTU5LjQtLjEgMHptNzguMSAwbC02Ni4xIDAgMCA1OS40IDY2LjEgMCAwLTU5LjR6bTc4LjEgMGwtNjYuMSAwIDAgNTkuNCA2Ni4xIDAgMC01OS40em0tNzguMS03Mi4xbC02Ni4xIDAgMCA2MC4xIDY2LjEgMCAwLTYwLjF6Il19LHY3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtYWdlbnRvIixpY29uOls0NDgsNTEyLFtdLCJmM2M0IiwiTTQ0NS45IDEyNy45bDAgMjU2LjEtNjMuNCAzNi41IDAtMjU1LjgtMTU4LjUtOTEuNi0xNTguNiA5MS42IC40IDI1NS45LTYzLjMtMzYuNiAwLTI1NS45IDIyMS45LTEyOC4xIDIyMS41IDEyNy45ek0yNTUuOCA0MjAuNWwtMzEuNiAxOC40LTMxLjgtMTguMiAwLTI1Ni02My4zIDM2LjYgLjEgMjU1LjkgOTQuOSA1NC45IDk1LjEtNTQuOSAwLTI1Ni02My40LTM2LjYgMCAyNTUuOXoiXX0seDd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRvci1icm93c2VyIixpY29uOls1MTIsNTEyLFtdLCJlODM4IiwiTTI1Ni41IDQ2NS40bDAtMzFjOTguMy0uMyAxNzcuOS04MCAxNzcuOS0xNzguNFMzNTQuOCA3Ny45IDI1Ni41IDc3LjZsMC0zMUMzNzIgNDYuOCA0NjUuNCAxNDAuNSA0NjUuNCAyNTZTMzcyIDQ2NS4yIDI1Ni41IDQ2NS40em0wLTEwOC42YzU1LjQtLjMgMTAwLjMtNDUuMyAxMDAuMy0xMDAuOFMzMTIgMTU1LjUgMjU2LjUgMTU1LjJsMC0zMWM3Mi42IC4zIDEzMS40IDU5LjIgMTMxLjQgMTMxLjhTMzI5LjEgMzg3LjYgMjU2LjUgMzg3LjhsMC0zMXptMC0xNTUuMWMyOS43IC4zIDUzLjggMjQuNSA1My44IDU0LjNzLTI0IDU0LTUzLjggNTQuM2wwLTEwOC42ek0wIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwIDI1NiAyNTYgMCAxIDAgLTUxMiAweiJdfSx5N3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2l0LWFsdCIsaWNvbjpbNDQ4LDUxMixbXSwiZjg0MSIsIk00MzkuNiAyMzYuMUwyNDQgNDAuNUMyMzguNiAzNSAyMzEuMiAzMiAyMjMuNiAzMnMtMTUgMy0yMC40IDguNGwtNDAuNyA0MC42IDUxLjUgNTEuNWMyNy4xLTkuMSA1Mi43IDE2LjggNDMuNCA0My43bDQ5LjcgNDkuN2MzNC4yLTExLjggNjEuMiAzMSAzNS41IDU2LjctMjYuNSAyNi41LTcwLjItMi45LTU2LTM3LjNsLTQ2LjMtNDYuMyAwIDEyMS45YzI1LjMgMTIuNSAyMi4zIDQxLjggOS4xIDU1LTYuNCA2LjQtMTUuMiAxMC4xLTI0LjMgMTAuMXMtMTcuOC0zLjYtMjQuMy0xMC4xYy0xNy42LTE3LjYtMTEuMS00Ni45IDExLjItNTZsMC0xMjNjLTIwLjgtOC41LTI0LjYtMzAuNy0xOC42LTQ1TDE0Mi42IDEwMSA4LjUgMjM1LjFDMyAyNDAuNiAwIDI0Ny45IDAgMjU1LjVzMyAxNSA4LjUgMjAuNEwyMDQuMSA0NzEuNmM1LjQgNS40IDEyLjcgOC40IDIwLjQgOC40czE1LTMgMjAuNC04LjRMNDM5LjYgMjc2LjljNS40LTUuNCA4LjQtMTIuOCA4LjQtMjAuNHMtMy0xNS04LjQtMjAuNHoiXX0sdzd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZpcmVmb3gtYnJvd3NlciIsaWNvbjpbNTEyLDUxMixbXSwiZTAwNyIsIk0xMzAuMiAxMjcuNWwwIDB6bTM1MS40IDQ1LjRjLTEwLjYtMjUuNS0zMi4xLTUzLTQ4LjktNjEuNyAxMy43IDI2LjkgMjEuNyA1My45IDI0LjcgNzQgMCAuMSAwIC4zIC4xIC40LTI3LjYtNjguOC03NC40LTk2LjUtMTEyLjYtMTU2LjgtMTUtMjMuNy0xMC45LTI1LjItMTMuMS0yNC43bC0uMSAuMWMtNDYuNyAyNi03NS4zIDc4LjQtODIuNiAxMjIuNy0xNi42IC45LTMyLjkgNS00Ny45IDEyLjEtMS40IC42LTIuNSAxLjctMy4xIDNzLS45IDIuOC0uNiA0LjNjLjIgLjggLjYgMS42IDEuMSAyLjNzMS4yIDEuMyAxLjkgMS43IDEuNiAuNyAyLjQgLjggMS43IDAgMi41LS4zbC41LS4yYzE1LjUtNy4zIDMyLjQtMTEuMiA0OS41LTExLjMgNjIuOC0uNiA5Ny4yIDQ0IDEwNy42IDYyLjMtMTMtOS4yLTM2LjQtMTguMi01OC44LTE0LjMgODcuNyA0My45IDY0LjIgMTk0LjUtNTcuNCAxODkuMi01OS41LTIuNi05Ny4xLTUxLTEwMC41LTkwLjggMCAwIDExLjItNDEuOSA4MC42LTQxLjkgNy41IDAgMjguOS0yMC45IDI5LjMtMjctLjEtMi00Mi41LTE4LjktNTkuMS0zNS4yLTguOC04LjctMTMuMS0xMi45LTE2LjgtMTYuMS0yLTEuNy00LjEtMy4zLTYuMy00LjgtNS42LTE5LjUtNS44LTQwLS43LTU5LjYtMjUuMSAxMS40LTQ0LjYgMjkuNC01OC43IDQ1LjRsLS4xIDBjLTkuNy0xMi4yLTktNTIuNi04LjQtNjEuMS0uMS0uNS03LjIgMy43LTguMiA0LjMtOC42IDYuMS0xNi41IDEyLjktMjMuOCAyMC40LTE2LjMgMTYuNi00NC4xIDUwLjItNTUuNSAxMDEuMi00LjUgMjAuNC02LjggNDQuNC02LjggNTIuMyAwIDEzNC43IDEwOS4yIDI0My45IDI0My45IDI0My45IDEyMC42IDAgMjIzLTg3LjIgMjQwLjQtMjAyLjYgMTEuNi03Ni43LTE0LjctMTMxLjEtMTQuNy0xMzJ6Il19LE03dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjbG91ZHNtaXRoIixpY29uOls1MTIsNTEyLFtdLCJmMzg0IiwiTTUxMiAyMjcuNkw1MTIgMjg0LjUgMjg0LjQgNTEyIDIyNy42IDUxMiAwIDI4NC40IDAgMjI3LjYgMjI3LjYgMCAyODQuNSAwIDUxMiAyMjcuNnptLTI1NiAxNjJjMTcuOCAuNSAzNS42LTIuNiA1Mi4yLTkuMXMzMS44LTE2LjIgNDQuNi0yOC43IDIzLTI3LjMgMjkuOS00My44IDEwLjUtMzQuMSAxMC41LTUyLTMuNi0zNS41LTEwLjUtNTItMTcuMS0zMS4zLTI5LjktNDMuOC0yOC0yMi4yLTQ0LjYtMjguNy0zNC40LTkuNi01Mi4yLTkuMWMtMTcuOC0uNS0zNS42IDIuNi01Mi4yIDkuMXMtMzEuOCAxNi4zLTQ0LjYgMjguNy0yMyAyNy4zLTI5LjkgNDMuOC0xMC41IDM0LjEtMTAuNSA1MiAzLjYgMzUuNSAxMC41IDUyIDE3LjEgMzEuMyAyOS45IDQzLjggMjggMjIuMiA0NC42IDI4LjcgMzQuNCA5LjYgNTIuMiA5LjF6Il19LGs3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3aXphcmRzLW9mLXRoZS1jb2FzdCIsaWNvbjpbNjQwLDUxMixbXSwiZjczMCIsIk0yMTkuMiAzNDUuN2MtMS45IDEuNC0xMS4xIDguNC0uMyAyMy42IDQuNiA2LjQgMTQuMSAxMi44IDIxLjcgNi42IDYuNS00LjkgNy40LTEyLjkgLjMtMjMtNS41LTcuOC0xNC4zLTEyLjktMjEuNy03LjF6bTMzNi44IDc1LjljLS4zIDEuNy0uNiAxLjcgLjggMCAyLjEtNC4yIDQuMi0xMC4yIDUtMTkuOSAzLjEtMzguNS00MC4zLTcxLjUtMTAxLjMtNzgtNTQuNy02LTEyNC40IDkuMi0xODguOCA2MC41bC0uMyAxLjZjMi42IDUgNSAxMC43IDMuNCAyMS4ybC44IC4zYzYzLjktNTguNCAxMzEuMi03Ny4yIDE4NC40LTczLjggNTguNCAzLjcgMTAwIDM0IDEwMCA2OC4xIDAgMTAtMi42IDE1LjctMy45IDIwLjJ6TTM5Mi4zIDI0MC40Yy44IDcuMSA0LjIgMTAuMiA5LjIgMTAuNSA1LjUgLjMgOS40LTIuNiAxMC41LTYuNiAuOC0zLjQgMi4xLTI5LjggMi4xLTI5LjhTNDAyLjggMjIxIDM5OS4xIDIyNWMtMy43IDMuNy03LjMgOC40LTYuOCAxNS41em0tNTAtMTUxLjFjLTIwNC41IDAtMzI5LjIgMTM3LjUtMzQxLjUgMTUxLjktMSAuNS0xLjMgLjggLjggMS4zIDYwLjUgMTYuNSAxNTUuOCA4MS4yIDE5Ni4xIDIwMi4ybDEgLjNjNTUuMi02OS45IDE0MC45LTEyOC4xIDIzNy0xMjguMSA4MC45IDAgMTMwLjIgNDIuMiAxMzAuMiA4MC40IDAgMTguMy02LjYgMzMuNS0yMi4zIDQ2LjMgMCAxLS4yIC44IC44IC44IDE0LjctMTAuNyAyNy41LTI4LjggMjcuNS00OC4yIDAtMjIuOC0xMi4xLTM4LjItMTIuMS0zOC4yIDcuMSA3LjEgMTAuNyAxNi4yIDEwLjcgMTYuMiA1LjgtNDAuOSAyNy02Mi4zIDI3LTYyLjMtMi40LTkuNy02LjgtMTcuOC02LjgtMTcuOCA3LjYgOC4xIDE0LjQgMjcuNSAxNC40IDQxLjQgMCAxMC41LTMuNCAyMi44LTEyLjYgMzEuOWwuMyAuNWM4LjEtNSAxNi41LTE2LjggMTYuNS0zOCAwLTE1LjctNC43LTI1LjktNC43LTI1LjkgNS44LTUuMiAxMS4zLTkuMiAxNi0xMS44IC44IDMuNCAyLjEgOS43IDIuNCAxNC45IDAgMSAuOCAxLjggMSAwIC44LTUuOC0uMy0xNi4yLS4zLTE2LjUgNi0zLjEgOS43LTQuNSA5LjctNC41LTE1LjctMTEwLjMtMTQ0LTE5Ni45LTI5MS4yLTE5Ni45ek0yNDMgMzc4LjljLTExLjEgOS0yNC4yIDQuMS0zMC42LTQuMi03LjQtOS42LTYuOC0yNC4xIDQuMi0zMi41IDE0LjgtMTEuNCAyNy4xLS41IDMxLjIgNS41IC4zIC40IDEyLjEgMTYuNi00LjcgMzEuMnptMi4xLTEzNi40bDkuNC0xNy44IDExLjggNzEtMTIuNiA2LTI0LjYtMjguOCAxNC4xLTI2LjcgMy43IDQuNC0xLjgtOC4xem0xOC42IDExNy42bC0uMy0uM2MyLTQuMS0yLjUtNi42LTE3LjUtMzEuNy0xLjMtMi40LTMuMS0yLjktNC40LTIuNmwtLjMtLjVjNy45LTUuOCAxNS40LTEwLjIgMjUuNC0xNS43bC41IC4zYzEuMyAxLjggMi4xIDIuOSAzLjQgNC43bC0uMyAuNWMtMS0uMy0yLjQtLjgtNS4yIC4zLTIuMSAuOC03LjkgMy43LTEyLjMgNy42bDAgMS4zYzEuNiAyLjQgMy45IDYuNiA1LjggOS43bC4zIDBjMTAtNi4zIDcuNi00LjUgMTEuNS03LjlsLjMgMGMuNSAxLjggLjUgMS44IDEuOCA1LjVsLS4zIC4zYy0zLjEgLjYtNC43IC4zLTExLjUgNS41bDAgLjNjOS41IDE3IDExIDE2LjggMTIuNiAxNmwuMyAuM2MtMi4zIDEuNi02LjMgNC4yLTkuNyA2LjZ6TTMxOSAzMjcuNmMtMy4xIDEuNi02IDIuOS0xMCA1bC0uMy0uM2MxLjMtMi42IDEuMi0yLjctMTEuOC0zMi41bC0uMy0uM2MtLjIgMC04LjkgMy43LTEwIDcuM2wtLjUgMC0xLTUuOCAuMy0uNWM3LjMtNC42IDI1LjUtMTEuNiAyNy44LTEyLjZsLjUgLjMgMy4xIDUtLjMgLjVjLTMuNS0xLjgtNy40IC44LTEyLjMgMi42bDAgLjNjMTIuMyAzMiAxMi43IDMwLjYgMTQuNyAzMC42bDAgLjJ6bTQ0LjgtMTYuNWMtNC4yIDEtNS4yIDEuMy05LjcgMi45bC0uMy0uMyAuNS00LjVjLTEtMy40LTMuMS0xMS41LTMuNy0xMy42bC0uMy0uM2MtMy40IC44LTguOSAyLjYtMTIuOCAzLjlsLS4zIC4zYy44IDIuNiAzLjEgOS45IDQuMiAxMy45IC44IDIuNCAxLjggMi45IDIuOSAzLjFsMCAuNWMtMy43IDEtNy4xIDIuNi0xMC4yIDMuOWwtLjMtLjNjMS0xLjMgMS0yLjkgLjMtNS0xLTMuMS04LjEtMjMuOC05LjItMjcuMi0uNS0xLjgtMS42LTMuMS0yLjYtMy4xbDAtLjVjMy4xLTEgNi0yLjEgMTAuNy0zLjRsLjMgLjMtLjMgNC43YzEuMyAzLjkgMi40IDcuNiAzLjEgOS43bC4zIDBjMy45LTEuMyA5LjQtMi45IDEyLjgtMy45bC4zLS4zLTIuNi05LjRjLS41LTEuOC0xLTMuNC0yLjYtMy45bDAtLjNjNC40LTEgNy4zLTEuOCAxMC43LTIuNGwuMyAuM2MtMSAxLjMtMSAyLjktLjUgNC40IDEuNiA2LjMgNC43IDIwLjQgNi4zIDI2LjUgLjUgMi42IDEuOCAzLjQgMi42IDMuOXptMzIuMi02LjhsLS4zIC4zYy00LjcgLjUtMTQuMSAyLjQtMjIuNSA0LjJsLS4zLS4zIC44LTQuMmMtMS42LTcuOS0zLjQtMTguNi01LTI2LjItLjMtMS44LS44LTIuOS0yLjYtMy43bC44LS41YzkuMi0xLjYgMjAuMi0yLjQgMjQuOS0yLjZsLjMgLjNjLjUgMi40IC44IDMuMSAxLjYgNS41bC0uMyAuM2MtMS4xLTEuMS0zLjMtMy4yLTE2LjItLjhsLS4zIC4zYy4zIDEuNiAxIDYuNiAxLjYgOS45bC4zIC4zYzkuNS0xLjcgNC44LS4xIDEwLjctMi40bC4zIDBjMCAxLjYtLjMgMS44LS4zIDUuMmwtLjMgMGMtNC44LTEtMi4yLS45LTEwLjIgMGwtLjMgLjNjLjMgMi4xIDEuNiA5LjQgMi4xIDEyLjZsLjMgLjNjMS4yIC40IDE0LjItLjYgMTYuMi00LjdsLjMgMGMtLjUgMi40LTEgNC4yLTEuNiA2em0xMC43LTQ0LjVjLTQuNSAyLjQtOC4xIDIuOS0xMSAyLjktLjIgMC0xMS40IDEuMS0xNy41LTEwLTYuNy0xMC44LTEtMjUuMiA1LjUtMzEuNyA4LjgtOC4xIDIzLjQtMTAuMSAyOC41LTE3IDgtMTAuMy0xMy0yMi4zLTI5LjYtNS44bC0yLjYtMi45IDUuMi0xNi4yYzI1LjYtMS42IDQ1LjItMyA1MCAxNi4yIC44IDMuMSAwIDkuNC0uMyAxMi4xIDAgMi42LTEuOCAxOC44LTIuMSAyMy0uNSA0LjItLjggMTguMy0uOCAyMC43IC4zIDIuNCAuNSA0LjIgMS42IDUuNSAxLjYgMS44IDUuOCAxLjggNS44IDEuOGwtLjggNC43Yy0xMS44LTEuMS0xMC4zLS42LTIwLjQtMS0zLjItNS4xLTIuMi0zLjMtNC4yLTcuOSAwIDAtNC4yIDMuOS03LjMgNS41ek00NDMuOSAyODFjLTYuNC0xMC42LTE5LjgtNy4yLTIxLjcgNS41LTIuNiAxNy4xIDE0LjMgMTkuOCAyMC43IDEwLjJsLjMgLjNjLS41IDEuOC0xLjggNi0xLjggNi4zbC0uNSAuNWMtMTAuMyA2LjktMjguNS0yLjUtMjUuNy0xOC42IDEuOS0xMC45IDE0LjQtMTguOSAyOC44LTkuOWwuMyAuNWMwIDEuMS0uMyAzLjQtLjMgNS4zem01LjgtODcuN2wwLTYuNmMuNyAwIDE5LjYgMy4zIDI3LjggNy4zbC0xLjYgMTcuNXMxMC4yLTkuNCAxNS40LTEwLjdjNS4yLTEuNiAxNC45IDcuMyAxNC45IDcuM2wtMTEuMyAxMS4zYy0xMi4xLTYuNC0xOS42LS4xLTIwLjcgLjgtNS4zIDM4LjctOC42IDQyLjIgNC40IDQ2LjFsLS41IDQuN2MtMTcuNi00LjMtMTguNS00LjUtMzYuOS03LjNsLjgtNC43YzcuMyAwIDcuNS01LjMgNy42LTYuOCAwIDAgNS01My4yIDUtNTUuMyAwLTIuOS01LTMuNy01LTMuN3ptMTEgMTE0LjRjLTguMS0yLjEtMTQuMS0xMS0xMC43LTIwLjcgMy4xLTkuNCAxMi4zLTEyLjMgMTguOS0xMC4yIDkuMiAyLjYgMTIuOCAxMS44IDEwLjcgMTkuNC0yLjYgOC45LTkuNCAxMy45LTE4LjkgMTEuNXptNDIuMiA5LjdjLTIuNC0uNS03LjEtMi40LTguNi0yLjlsMC0uMyAxLjYtMS44Yy42LTguMiAuNi03LjMgLjMtNy42LTQuOC0xLjgtNi43LTIuNC03LjEtMi40LTEuMyAxLjgtMi45IDQuNS0zLjcgNS41bC0uOCAzLjQgMCAuM2MtMS4zLS4zLTMuOS0xLjMtNi0xLjZsMC0uMyAyLjYtMS44YzMuNC00LjcgMTAtMTQuMSAxMy45LTIwLjJsMC0yLjEgLjUtLjNjMi4xIC44IDUuNSAyLjEgNy42IDIuOSAuNSAuNSAuMi0xLjktMSAyNS4xLS4yIDEuOCAwIDIuNiAuOCAzLjl6bS00LjctODkuOGMxMS4zLTE4LjMgMzAuOC0xNi4yIDM0LTMuNGw3LjYtMjYuMmMyLjMtNi4yLTIuOC05LjktNC41LTExLjNsMS44LTMuN2MxMi4yIDEwLjQgMTYuNCAxNCAyMi41IDIwLjQtMjUuOSA3My4xLTMwLjggODAuOC0yNC42IDg0LjNsLTEuOCA0LjRjLTYuNC0zLjMtOC45LTQuNC0xNy44LTguNmwyLjEtNi44Yy0uMy0uMy0zLjkgMy45LTkuNyAzLjctMTkuMS0xLjMtMjIuOS0zMS43LTkuNy01Mi45em0yOS4zIDc5LjNjMC01LjctNi4zLTcuOS03LjktNS4yLTEuMyAyLjEgMSA1IDIuOSA4LjQgMS42IDIuNiAyLjYgNi4zIDEgOS40LTIuNiA2LjMtMTIuNCA1LjMtMTUuNC0uOCAwLS43LS4zIC4xIDEuOC00LjdsLjgtLjNjLS42IDUuNyA2LjEgOS42IDguNCA1IDEtMi4xLS41LTUuNS0yLjEtOC40LTEuNi0yLjYtMy43LTYuMy0xLjgtOS43IDIuNy01LjEgMTEuMy00LjUgMTQuNyAyLjRsMCAuNS0yLjQgMy40em0yMS4yIDEzLjRjLTItMy4zLS45LTIuMS00LjUtNC43bC0uMyAwYy0yLjQgNC4yLTUuOCAxMC41LTguNiAxNi4yLTEuMyAyLjQtMSAzLjQtLjggMy45bC0uMyAuMy01LjgtNC40IC4zLS4zIDIuMS0xLjNjMy4xLTUuOCA2LjYtMTIuMSA5LjItMTdsMC0uM2MtMi42LTItMS4yLTEuNS02LTEuOGwwLS4zIDMuMS0zLjQgLjMgMGMzLjcgMi40IDEwIDYuOCAxMi4zIDguOWwuMyAuMy0xLjMgMy45ek01NzUuOCAyNzZsLTIuOS0yLjljLjgtMi40IDEuOC01IDIuMS03LjYgLjctOS43LTExLjUtMTEuOC0xMS41LTUgMCA1IDcuOSAxOS40IDcuOSAyNy44IDAgMTAuMi01LjggMTUuNy0xMy45IDE2LjUtOC40IC44LTIwLjItMTAuNS0yMC4yLTEwLjVsNS0xNC40IDIuOSAyLjFjLTMgMTcuOCAxNy43IDIwLjQgMTMuMyA1LjItMS4xLTQtMTguNy0zNC4yIDIuMS0zOC4yIDEzLjYtMi40IDIzIDE2LjUgMjMgMTYuNUw1NzUuOCAyNzZ6bTM1LjYtMTAuMmMtMTEtMzAuNC02MC41LTEyNy41LTE5Mi0xMjkuNi01My40LTEtOTQuMyAxNS40LTEzMi44IDM4bDg1LjYtOS4yLTkxLjQgMjAuNyAyNS4xIDE5LjYtMy45LTE2LjVjNy41LTEuNyAzOS4xLTguNSA2Ni44LTguOWwtMjIuMyA4MC40YzEzLjYtLjcgMTktOSAxOS42LTIyLjhsNS0xIC4zIDI2LjdjLTIyLjUgMy4yLTM3LjMgNi43LTQ5LjUgOS45bDEzLjEtNDMuMi02MS41LTM2LjcgMi40IDguMSAxMC4yIDVjNi4zIDE4LjYgMTkuNCA1Ni42IDIwLjQgNTguNyAyIDQuMyAzLjIgNS44IDEyIDQuNWwxLjEgNWMtMTYuMSA0LjktMjMuNyA3LjYtMzkgMTQuNGwtMi40LTQuN2M0LjQtMi45IDguNy0zLjkgNS41LTEyLjgtMjMuNy02Mi41LTIxLjUtNTguMS0yMi44LTU5LjRsMi40LTQuNCAzMy41IDY3LjNjLTMuOC0xMS45IDEuNyAxLjctMzMtNzguOGwtNDEuOSA4OC41IDQuNy0xMy45LTM1LjktNDIuMiAyNy44IDkzLjUtMTEuOCA4LjRjLTExMS45LTEwMS43LTEwNS44LTk4LjQtMTEzLjctOTguNy01LjUtLjMtMTMuNiA1LjUtMTMuNiA1LjVsLTUtNmMzMC42LTIzLjUgMzEuNi0yNC4zIDU4LjQtNDIuN2w0LjIgNy4xcy01LjggNC4yLTcuOSA3LjFjLTUuOSA5LjMgMS43IDEzLjMgNjEuOCA3NS43bC0xOC44LTU4LjkgMzkuOC0xMC4yIDI1LjcgMzAuNiA0LjQtMTIuMy01LTI0LjYgMTMuMS0zLjQgLjUgMy4xIDMuNy0xMC41LTk0LjMgMjkuMyAxMS4zLTUtMTMuNi00Mi40IDE3LjMtOS4yIDMwLjEgMzYuMSAyOC41LTEzLjFjLTEuNC03LjUtMi41LTE0LjUtNC43LTE5LjZsMTcuMyAxMy45IDQuNy0yLjEtNTkuMi00Mi43IDIzLjEgMTEuNWMxOS02LjEgMjUuMi03LjUgMzIuMi05LjdsMi42IDExYy0xMi42IDEyLjYgMS40IDE2LjggNi41IDE5LjRsLTEzLjYtNjEgMTIgMjguM2M0LjItMS4zIDcuMy0yLjEgNy4zLTIuMWwyLjYgOC42cy0zLjEgMS02LjMgMi4xbDguOSAyMSAzMy44LTY1LjctMjAuNyA2MWM0Mi40LTI0LjEgODEuNC0zNi43IDEzMi0zNS45IDY3IDEgMTY3LjMgNDAuOCAxOTkuOCAxMzkuOCAuOCAyLjEgMCAyLjYtLjggLjN6bS00MDgtMTEzLjRzMS44LS41IDQuMi0xLjNsOS40IDcuNmMtLjQgMC0zLjQtLjMtMTEuMyAyLjRsLTIuNC04LjZ6bTE0My44IDM4LjVjLTEuNi0uNi0yNi41LTQuOC0zMy4zIDIwLjdsMjEuNyAxNyAxMS41LTM3Ljd6TTMxOC40IDY3LjFjLTU4LjQgMC0xMDYuMSAxMi0xMTUgMTQuNGwwIC44YzguNCAyLjEgMTQuNCA0LjIgMjEuMiAxMS44bDEuNiAuM2M2LjYtMS44IDQ5LTEzLjkgMTEwLjItMTMuOSAxODAuMiAwIDMwMS43IDExNi44IDMwMS43IDIyMy40bDAgMTBjMCAxLjMgLjggMi42IDEuMSAuNSAuNS0yLjEgLjgtOC42IC44LTE5LjYgLjMtODMuOC05Ni42LTIyNy42LTMyMS42LTIyNy42ek01MjkuNSAyMzYuOGMxLjMtNS44IDAtMTIuMy03LjMtMTMuMS05LjYtMS4xLTE2LjEgMjMuOC0xNyAzMy41LS44IDUuNS0xLjMgMTQuOSA2IDE0LjkgNC43IDAgOS43LS45IDE4LjMtMzUuNHpNNDY4IDI3OS43Yy0yLjYtLjgtOS40LS44LTEyLjYgMTAuNS0xLjggNi44IC41IDEzLjQgNiAxNC43IDMuNyAxLjEgOC45IC41IDExLjgtMTAuNyAyLjYtOS45LTEuOC0xMy42LTUuMi0xNC40em0yMyAyMWMxLjggLjUgMy4xIDEgNS44IDEuOCAwLTEuOCAuNS04LjQgLjgtMTIuMS0xIDEuMy01LjUgOC4xLTYuNiAxMGwwIC4zeiJdfSx6N3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1uZCIsaWNvbjpbNTEyLDUxMixbXSwiZjRlYiIsIk0yNTUuNiA4QzM5Ny40IDggNTA0IDExOC4xIDUwNCAyNTYgNTA0IDQwMy4xIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjYgNTA0IDggMzk0LjUgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6bS44IDQ0LjdjLTExOC4yIDAtMjAzLjcgOTcuOS0yMDMuNyAyMDMuMyAwIDEwOS44IDkxLjIgMjAyLjggMjAzLjcgMjAyLjggMTAzLjIgMCAyMDIuOC04MS4xIDIwMi44LTIwMi44IC4xLTExMy44LTkwLjItMjAzLjMtMjAyLjgtMjAzLjN6bTk0IDE0NC4zbDAgNDIuNS0xODAuMyAwIDAtNDIuNSAxODAuMyAwem0wIDc5LjhsMCA0Mi41LTE4MC4zIDAgMC00Mi41IDE4MC4zIDB6Il19LFM3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1c3BzIixpY29uOls1MTIsNTEyLFtdLCJmN2UxIiwiTTQyOC4zIDI0MS43YzI1LjgtNDEuMyAxNS4yLTQ4LjgtMTEuNy00OC44bC0yNyAwYy0uMSAwLTEuNS0xLjQtMTAuOSA4LTExLjIgNS42LTM3LjkgNi4zLTM3LjkgOC43IDAgNC41IDcwLjMtMy4xIDg4LjEgMCA5LjUgMS41LTEuNSAyMC40LTQuNCAzMi0uNSA0LjUgMi40IDIuMyAzLjggLjF6TTMxNi4yIDI2NC4zYzY0LTIxLjMgOTcuMy0yMy45IDEwMi0yNi4yIDQuNC0yLjktNC40LTYuNi0yNi4yLTUuOC01MS43IDIuMi0xMzcuNiAzNy4xLTE3Mi42IDUzLjlsLTMwLjctOTMuMyAxOTYuNiAwYy0yLjctMjguMi0xNTIuOS0yMi42LTMzNy45LTIyLjZMLTUgNDE1LjhjMTk2LjQtOTcuMyAyNTguOS0xMzAuMyAzMjEuMi0xNTEuNXpNNjIuNyA5NmMyNTMuMyA1My43IDMzMCA2NS43IDMzMi4xIDg1LjIgMzYuNCAwIDQ1LjkgMCA1Mi40IDYuNiAyMS4xIDE5LjctMTQuNiA2Ny43LTE0LjYgNjcuNy00LjQgMi45LTQwNi40IDE2MC4yLTQwNi40IDE2MC4yTDQ0OS4zIDQxNS43IDUxNyA5NiA2Mi43IDk2eiJdfSxDN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWxldHRlcmJveGQiLGljb246WzQ0OCw1MTIsW10sImU2MmUiLCJNMzg0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMHpNMTA1LjEgMTg3QzY2LjQgMTg3IDM1IDIxOC4zIDM1IDI1N3MzMS40IDcwIDcwLjEgNzBjMjQuOCAwIDQ2LjUtMTIuOCA1OS0zMi4ybC41LS43LS40LS42Yy02LjUtMTAuNi0xMC4yLTIzLjEtMTAuMi0zNi41IDAtMTMuNiAzLjktMjYuMyAxMC42LTM3LjEtMTIuNC0xOS44LTM0LjQtMzIuOS01OS41LTMyLjl6TTIyNCAxODdjLTI0LjggMC00Ni41IDEyLjgtNTkgMzIuMmwtLjUgLjcgLjQgLjZjNi41IDEwLjYgMTAuMiAyMy4xIDEwLjIgMzYuNSAwIDEzLjYtMy45IDI2LjMtMTAuNiAzNy4xIDEyLjQgMTkuNyAzNC40IDMyLjkgNTkuNSAzMi45IDI0LjggMCA0Ni41LTEyLjggNTktMzIuMmwuNS0uNy0uNC0uNmMtNi41LTEwLjYtMTAuMi0yMy4xLTEwLjItMzYuNSAwLTEzLjYgMy45LTI2LjMgMTAuNi0zNy4xLTEyLjQtMTkuNy0zNC40LTMyLjktNTkuNS0zMi45em0xMTguOSAwYy0yNC44IDAtNDYuNSAxMi44LTU5IDMyLjJsLS41IC43IC40IC42YzYuNSAxMC42IDEwLjIgMjMuMSAxMC4yIDM2LjUgMCAxMy42LTMuOSAyNi4zLTEwLjYgMzcuMSAxMi40IDE5LjggMzQuNCAzMi45IDU5LjUgMzIuOSAzOC43IDAgNzAuMS0zMS4zIDcwLjEtNzBzLTMxLjQtNzAtNzAuMS03MHoiXX0sXzd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1hbmRhbG9yaWFuIixpY29uOlszODQsNTEyLFtdLCJmNTBmIiwiTTIwMC42IDUxMS45Yy0xLTMuMy0xLjctMTUuOC0xLjQtMjQuNiAuNi0xNS45IDEtMjQuNyAxLjQtMjguOCAuNi02LjIgMi45LTIwLjcgMy4zLTIxLjQgLjYtMSAuNC0yNy45LS4yLTMzLjEtLjMtMi42LS42LTExLjktLjctMjAuNy0uMS0xNi41LS41LTIwLjEtMi43LTI0LjgtMS4xLTIuMy0xLjItMy44LTEtMTEuNCAuMi00LjIgLjEtOC41LS4zLTEyLjctMi0xMy0zLjUtMjcuNy0zLjItMzMuOXMuNC03LjEgMi4xLTkuN2MzLjEtNC43IDYuNS0xNCA4LjYtMjMuMyAyLjMtOS45IDMuOS0xNy4yIDQuNi0yMC43IDEuMS01LjEgMi42LTEwLjEgNC40LTE1LjEgMi4zLTYuMiAyLjUtMTUuNCAuNC0xNS40LS4zIDAtMS40IDEuMi0yLjQgMi43cy00LjggNC44LTguMyA3LjRjLTguNCA2LjEtMTEuNyA5LjQtMTIuNyAxMi42cy0xIDcuMi0uMiA3LjhjLjMgLjIgMS4zIDIuNCAyLjEgNC45IDEuNiA1IDEuOSAxMC4zIC43IDE1LjQtLjQgMS44LTEgNS41LTEuNSA4LjJzLTEgNi41LTEuMyA4LjJjLS4yIDEuNS0uNyAzLTEuNSA0LjMtMSAxLTEuMSAuOS0yLjEtLjUtLjctMS41LTEuMi0zLjEtMS40LTQuNy0uMi0xLjctMS42LTcuMS0zLjEtMTEuOS0zLjMtMTAuOS0zLjUtMTYuMi0xLTIxIC44LTEuNCAxLjQtMyAxLjctNC42IDAtMi40LTIuMi01LjMtNy40LTkuOS03LTYuMi04LjYtNy45LTEwLjItMTEuMy0xLjctMy42LTMuMS00LjEtNC41LTEuNS0xLjggMy0yLjYgOS4xLTMgMjJsLS4zIDEyLjIgMiAyLjJjMy4yIDMuNyAxMi4xIDE2LjUgMTMuOCAxOS44IDMuNCA2LjcgNC4zIDExLjcgNC40IDIzLjZzMSAyMi44IDIgMjQuN2MuNCAuNyAuNSAxLjQgLjMgMS41cy40IDIuMSAxLjMgNC4zYzEgMi45IDEuNyA1LjkgMi4xIDkgLjQgMy41IC45IDcgMS43IDEwLjQgMi4yIDkuNiAyLjggMTQuMSAyLjQgMjAuMS0uMiAzLjMtLjUgMTEuMS0uNyAxNy4zLTEuMyA0MS44LTEuOCA1OC0yIDYxLjItLjEgMi0uNCAxMS41LS42IDIxLjEtLjQgMTYuMy0xLjMgMjcuNC0yLjQgMjguNi0uNiAuNy04LjEtNC45LTEyLjUtOS41LTMuOC0zLjktNC00LjgtMi44LTkuOSAuNy0zIDIuMy0xOC4zIDMuMy0zMi42IC40LTQuOCAuOC0xMC41IDEtMTIuNyAuOC05LjQgMS43LTIwLjMgMi42LTM0LjggLjYtOC41IDEuMy0xNi40IDEuNy0xNy43cy45LTkuOSAxLjEtMTkuMWwuNC0xNi44LTIuMy00LjNjLTEuNy0zLjMtNC45LTYuOS0xMy4yLTE1LjMtNi02LjEtMTEuOC0xMi4zLTEyLjktMTMuOGwtMi0yLjggLjgtMTAuOWMxLjEtMTUuNyAxLjEtNDguNiAwLTU5LjFsLS45LTguNy0zLjMtNC41Yy01LjktOC4xLTUuOC03LjctNi4yLTMzLjMtLjEtNi4xLS40LTExLjUtLjYtMTIuMS0uOC0xLjktMy0yLjctOC41LTMtOC45LS42LTExLTEuOS0yMy44LTE0LjYtNi4yLTYtMTIuMy0xMi0xMy44LTEzLjItMi44LTIuNC0yLjgtMi0uNi05LjZsMS40LTQuNi0xLjctM2MtLjgtMS40LTEuNi0yLjgtMi42LTQuMS0xLjMtMS41LTUuNS0xMC45LTYtMTMuNS0uMi0uNy0uMi0xLjQtLjEtMi4xcy41LTEuMyAuOS0xLjhjMi4yLTIuOSAzLjQtNS43IDQuNS0xMC43IDIuMy0xMS4yIDcuNy0yNi4xIDEwLjYtMjkuMiAzLjItMy41IDcuNy0xIDkuNCA1IDEuMyA0LjggMS40IDkuOCAuMSAxOC42LS41IDMuNy0uOSA3LjQtMSAxMS4xIDAgNCAuMiA0LjcgMi4zIDcuNCAzLjMgNC40IDcuNyA3LjQgMTUuMiAxMC41IDEuNyAuNyAzLjMgMS43IDQuNyAyLjggMTEuMiAxMC43IDE4LjYgMTYuMiAyMi45IDE2LjkgNS4yIC44IDggNC41IDEwIDEzLjQgMS4zIDUuNyA0IDExLjEgNS41IDExLjEgMS4yLS4yIDIuMy0uNyAzLjMtMS40IDItMS4yIDIuMi0xLjcgMi4yLTQuMi0uMy02LS45LTExLjktMi0xNy44LS40LTEuNy0uOC00LjEtLjktNS40cy0uNi0zLjgtMS01LjdjLTIuNi0xMS4yLTMuNi0xNS41LTQuMS0xNi0xLjYtMi00LjEtMTAuMi00LjktMTUuOS0xLjYtMTEuMS00LTE0LjItMTIuOS0xNy40LTQuOS0xLjgtOS40LTQuNS0xMy4zLTcuOS0xLjItMS00LTMuMi02LjQtNS4xcy00LjQtMy41LTQuNi0zLjhjLS44LS43LTEuNy0xLjQtMi43LTItNi4yLTQuMi04LjgtNy0xMS4zLTEybC0yLjQtNWMtLjEtOC43LS4zLTE3LjMtLjQtMjZsNi45LTYuNmM0LTMuOCA4LjUtNy40IDEwLjYtOC40IDMuMy0xLjcgNC40LTEuOSAxMS40LTIgOC41LS4yIDEwLjEgMCAxMS43IDEuNnMxLjQgNi40LS4zIDguNWMtLjYgLjctMS4xIDEuNS0xLjMgMi4zIDAgLjYtMi42IDQuOS01LjQgOS0xLjEgMi4yLTEuOSA0LjUtMi40IDYuOCAyMC40IDEzLjQgMjEuNiAzLjggMTQuMSAyOWwxMS40IDIuNWMzLjEtOC43IDYuNS0xNy4zIDguNi0yNi4yIC4zLTcuNi0xMi00LjItMTUuNC04LjctMi4zLTUuOSAzLjEtMTQuMiA2LjEtMTkuMiAxLjYtMi4zIDYuNi00LjcgOC44LTQuMSAuOSAuMiA0LjItLjQgNy40LTEuMyAyLjUtLjggNS0xLjMgNy41LTEuNyAyLS4yIDQuMS0uNyA2LTEuMyAzLjctMS4xIDQuNS0xLjIgNi4zLS40IDEuOSAuNiAzLjggMS4xIDUuOCAxLjQgMi4xIC4zIDQuMSAuOSA2IDEuOSAxLjYgLjkgMy4zIDEuNyA1IDIuMiAyLjUgLjcgMyAuNiA3LTEuN0wyMjYgNS40IDIzNi43IDVjMTAuNC0uNCAxMC44LS41IDE1LjMtMi43TDI1Ni41IDAgMjU5IDEuNGMxLjggMSAzLjEgMi43IDQuOSA2IDIuNCA0LjUgMi40IDQuNiAxLjQgNy40LS45IDIuNC0uOSAzLjMtLjEgNi40IC41IDIgMS4yIDQgMi4xIDUuOSAuNiAxLjMgMS4xIDIuNiAxLjMgNCAuMyA0LjMgMCA1LjMtMi40IDYuOS0yLjIgMS41LTcgNy45LTcgOS4zLS4yIDEtLjYgMi0xLjEgMy01IDExLjUtNi44IDEzLjYtMTQuMyAxNy05LjIgNC4yLTEyLjMgNS4yLTE2LjIgNS4yLTMuMSAwLTQgLjItNC41IDEuMy0xLjIgMS40LTIuNSAyLjctNC4xIDMuNy0xLjggMS4yLTMuMyAyLjktNC40IDQuOC0uNSAxLjItMS40IDIuMi0yLjUgMi45LS45IC40LTEuOCAxLTIuNSAxLjctMi4yIDEuOS00LjYgMy43LTcgNS40LTMuMyAyLjMtNi45IDUtNy45IDYtLjcgLjctMS41IDEuMy0yLjQgMS43LS44IC40LTEuNiAuOS0yLjEgMS42LTEuMyAxLjQtMS41IDIuMS0xLjEgNC42IC4zIDIgLjggNCAxLjQgNS45IDEuMyAzLjggMS4zIDcuOSAwIDEwLjZzLS45IDYuNyAxLjQgOS42YzIgMi42IDIuMiA0LjYgLjcgOC44LS44IDIuOS0xLjEgNS45LTEuMSA4LjkgMCA0LjkgLjIgNi4zIDEuNSA4LjRzMS44IDIuNSAzLjIgMi4zYzItLjIgMi4zLTEuMSA0LjctMTIuMSAyLjItMTAgMy43LTExLjkgMTMuOC0xNy4xIDIuOS0xLjUgNy41LTQgMTAtNS40czYuOC0zLjcgOS40LTQuOWM1LjktMi42IDExLjItNi42IDE1LjItMTEuNyA3LjEtOC44IDEwLTE2LjIgMTIuOC0zMy4zIC40LTIuOCAxLjMtNS40IDIuOS03LjcgMS40LTIuMiAyLjQtNC43IDIuOS03LjMgMS01LjMgMi45LTkuMSA1LjYtMTEuNSA0LjctNC4yIDYtMS4xIDQuNiAxMC45LS41IDMuOS0xLjEgMTAuMy0xLjQgMTQuNGwtLjYgNy40YzMgMi43IDUuOSA1LjUgOC45IDguMmwuMSA4LjRjLjEgNC42IC41IDkuNSAuOSAxMC45bC44IDIuNS02LjQgNi4zYy04LjUgOC4zLTEyLjkgMTMuOS0xNi44IDIxLjYtMS44IDMuNS0zLjcgNy4xLTQuNCA4LTIuMiAzLjEtNi41IDEzLTguOCAyMC4zbC0yLjMgNy4yLTcgNi41Yy0zLjggMy42LTggNy4yLTkuMiA4LjItMyAyLjMtNC4zIDUuMS00LjMgMTAtLjEgMi41IC40IDUgMS42IDcuMyAuOCAxLjYgMS41IDMuMiAyLjEgNC44IC4zIDEgLjkgMiAxLjYgMi45IDEuNCAxLjYgMS45IDE2LjEgLjggMjMuMi0uNyA0LjUtMy42IDEyLTQuNyAxMi0xLjggMC00LjEgOS4zLTUuMSAyMC43LS4yIDItLjYgNS45LTEgOC43cy0xIDEwLTEuNCAxNmMtLjggMTIuMi0uMiAxOC44IDIgMjMuMiAzLjQgNi43IC41IDEyLjctMTEgMjIuOGwtNCAzLjUgLjEgNS4yYy4xIDMgLjQgNiAxLjEgOC45IDQuNiAxNiA0LjcgMTYuOSA0LjQgMzcuMS0uNSAyNi40LS4zIDQwLjMgLjYgNDQuMiAuNSAyLjMgLjkgNC42IDEuMSA3IC4yIDIgLjcgNS4zIDEuMSA3LjQgLjUgMi4zIC44IDExIC44IDIyLjdsMCAxOS4xLTEuOCAyLjZjLTIuNyAzLjktMTUuMSAxMy41LTE1LjUgMTIuM2wuMSAwem0yOS41LTQ1LjFjLS4yLS4zLS4zLTYuOS0uMy0xNC42IDAtMTQuMS0uOS0yNy41LTIuMy0zNC40LS40LTItLjgtOS43LS45LTE3LjEtLjItMTEuOS0xLjQtMjQuNC0yLjYtMjYuNC0uNy0xLjEtMy0xNy43LTMtMjEuMyAwLTQuMiAxLTYgNS4zLTkuMXM0LjktMy4xIDUuNS0uN2MuMyAxLjEgMS40IDUuNiAyLjYgMTAgMy45IDE1LjEgNC4xIDE2LjMgNCAyMS43LS4xIDUuOC0uMSA2LjEtMS43IDE3LjctMSA3LjEtMS4yIDEyLjQtMSAyOC40IC4yIDE5LjQtLjYgMzUuNy0yIDQxLjMtLjcgMi44LTIuOCA1LjUtMy40IDQuNGwtLjEgMHptLTcxLTM3LjZjLS44LTMuNi0xLjMtNy4yLTEuNy0xMC44cy0xLTcuMi0xLjctMTAuOGMtLjUtMi4xLS45LTQuMy0xLTYuNS0uMy0zLjItLjktNy41LTEuMy05LjUtMS00LjgtMy4zLTE5LjQtMy40LTIxLjEgMC0uNy0uMy00LS43LTcuNC0uNy02LjItLjgtMjcuNy0uMi0yOC4zIDEtMSA2LjYgMi44IDExLjMgNy40bDUuMyA1LjMtLjQgNi41Yy0uMiAzLjYtLjYgMTAuMi0uOCAxNC44LS41IDEzLjMtLjcgOC43LTEuNiAyOC40LS44IDE3LjQtMS45IDMxLjMtMi42IDMyLS4xIC4xLS4yIC4xLS4yIC4ycy0uMiAwLS4zIDAtLjIgMC0uMy0uMS0uMS0uMS0uMi0uMmwwIDB6TTcyIDE2Mi42YzIxLjEgMTIuOCAxNy44IDE0LjIgMjguNSAxNy43IDEzIDQuMyAxOC45IDcuMSAyMy4yIDE2LjktNDMuNyAzNi4xLTY5IDU3LjktNzYuNyA3MC45LTMxIDUyLTYgMTAxLjYgNjIuOCA4Ny4yLTE0LjIgMjkuMi03OCAyOC42LTk4LjctNC45LTI0LjctNDAtMjIuMS0xMTguMyA2MS0xODcuN2wwIDB6bTIxMC44IDE3OWM1Ni43IDYuOSA4Mi4zLTM3LjcgNDYuNS04OS4yIDAgMC0yNi45LTI5LjMtNjQuMy02OCAzLTE1LjUgOS41LTMyLjEgMzAuNi01My44IDg5LjIgNjMuNSA5MiAxNDEuNiA5Mi41IDE0OS40IDQuMyA3MC42LTc4LjcgOTEuMi0xMDUuMyA2MS43bDAgMHoiXX0sQ29lPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNsYWNrIixpY29uOls0NDgsNTEyLFs2MjQ0Nywic2xhY2staGFzaCJdLCJmMTk4IiwiTTk0LjEgMzE1LjFjMCAyNS45LTIxLjIgNDcuMS00Ny4xIDQ3LjFTMCAzNDEgMCAzMTUuMSAyMS4yIDI2OCA0Ny4xIDI2OGw0Ny4xIDAgMCA0Ny4xem0yMy43IDBjMC0yNS45IDIxLjItNDcuMSA0Ny4xLTQ3LjFTMjEyIDI4OS4yIDIxMiAzMTUuMWwwIDExNy44YzAgMjUuOS0yMS4yIDQ3LjEtNDcuMSA0Ny4xcy00Ny4xLTIxLjItNDcuMS00Ny4xbDAtMTE3Ljh6bTQ3LjEtMTg5Yy0yNS45IDAtNDcuMS0yMS4yLTQ3LjEtNDcuMVMxMzkgMzIgMTY0LjkgMzIgMjEyIDUzLjIgMjEyIDc5LjFsMCA0Ny4xLTQ3LjEgMHptMCAyMy43YzI1LjkgMCA0Ny4xIDIxLjIgNDcuMSA0Ny4xUzE5MC44IDI0NCAxNjQuOSAyNDRMNDcuMSAyNDRDMjEuMiAyNDQgMCAyMjIuOCAwIDE5Ni45czIxLjItNDcuMSA0Ny4xLTQ3LjFsMTE3LjggMHptMTg5IDQ3LjFjMC0yNS45IDIxLjItNDcuMSA0Ny4xLTQ3LjFTNDQ4IDE3MSA0NDggMTk2LjkgNDI2LjggMjQ0IDQwMC45IDI0NGwtNDcuMSAwIDAtNDcuMXptLTIzLjcgMGMwIDI1LjktMjEuMiA0Ny4xLTQ3LjEgNDcuMVMyMzYgMjIyLjggMjM2IDE5Ni45bDAtMTE3LjhDMjM2IDUzLjIgMjU3LjIgMzIgMjgzLjEgMzJzNDcuMSAyMS4yIDQ3LjEgNDcuMWwwIDExNy44em0tNDcuMSAxODljMjUuOSAwIDQ3LjEgMjEuMiA0Ny4xIDQ3LjFTMzA5IDQ4MCAyODMuMSA0ODAgMjM2IDQ1OC44IDIzNiA0MzIuOWwwLTQ3LjEgNDcuMSAwem0wLTIzLjdjLTI1LjkgMC00Ny4xLTIxLjItNDcuMS00Ny4xUzI1Ny4yIDI2OCAyODMuMSAyNjhsMTE3LjggMGMyNS45IDAgNDcuMSAyMS4yIDQ3LjEgNDcuMXMtMjEuMiA0Ny4xLTQ3LjEgNDcuMWwtMTE3LjggMHoiXX0sUEc9Q29lLFQ3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhbmdlbGxpc3QiLGljb246WzM4NCw1MTIsW10sImYyMDkiLCJNMzE1LjYgMjE1LjRjMTEuNy0zMi42IDQ1LjQtMTI2LjkgNDUuNC0xNTcuMSAwLTI2LjYtMTUuNy00OC45LTQzLjctNDguOS00NC42IDAtODQuNiAxMzEuNy05Ny4xIDE2My4xLTkuNy0yOC41LTU1LjEtMTcyLjUtOTUuMS0xNzIuNS0zMS4xIDAtNDUuNyAyMi45LTQ1LjcgNTEuNyAwIDM1LjMgMzQuMiAxMjYuOCA0Ni42IDE2Mi02LjMtMi4zLTEzLjEtNC4zLTIwLTQuMy0yMy40IDAtNDguMyAyOS4xLTQ4LjMgNTIuNiAwIDguOSA0LjkgMjEuNCA4IDI5LjctMzYuOSAxMC01MS4xIDM0LjYtNTEuMSA3MS43LS4xIDcyLjIgNjguMyAxNDguNiAxNjQuNSAxNDguNiAxMTggMCAxOTEuNC04OC42IDE5MS40LTIwMi45IDAtNDMuMS02LjktODItNTQuOS05My43ek0yODAuMiAxMDhjNC0xMi4zIDIxLjEtNjQuMyAzNy4xLTY0LjMgOC42IDAgMTAuOSA4LjkgMTAuOSAxNiAwIDE5LjEtMzguNiAxMjQuNi00Ny4xIDE0OGwtMzQtNiAzMy4xLTkzLjd6TTExMC44IDQ4LjNjMC0xMS45IDE0LjUtNDUuNyA0Ni4zIDQ3LjFsMzQuNiAxMDAuM2MtMTUuNi0xLjMtMjcuNy0zLTM1LjQgMS40LTEwLjktMjguOC00NS41LTExOS43LTQ1LjUtMTQ4Ljh6TTEwOC41IDI0NGMyOS4zIDAgNjcuMSA5NC42IDY3LjEgMTA3LjQgMCA1LjEtNC45IDExLjQtMTAuNiAxMS40LTIwLjkgMC03Ni45LTc2LjktNzYuOS05Ny43IC4xLTcuNyAxMi43LTIxLjEgMjAuNC0yMS4xek0yOTIuOCA0MzAuM2MtMjkuMSAzMi02Ni4zIDQ4LjYtMTA5LjcgNDguNi01OS40IDAtMTA2LjMtMzIuNi0xMjguOS04OC4zLTE3LjEtNDMuNCAzLjgtNjguMyAyMC42LTY4LjMgMTEuNCAwIDU0LjMgNjAuMyA1NC4zIDczLjEgMCA0LjktNy43IDguMy0xMS43IDguMy0xNi4xIDAtMjIuNC0xNS41LTUxLjEtNTEuNC0yOS43IDI5LjcgMjAuNSA4Ni45IDU4LjMgODYuOSAyNi4xIDAgNDMuMS0yNC4yIDM4LTQyIDMuNyAwIDguMyAuMyAxMS43LS42IDEuMSAyNy4xIDkuMSA1OS40IDQxLjcgNjEuNyAwLS45IDItNy4xIDItNy40IDAtMTcuNC0xMC42LTMyLjYtMTAuNi01MC4zIDAtMjguMyAyMS43LTU1LjcgNDMuNy03MS43IDgtNiAxNy43LTkuNyAyNy4xLTEzLjEgOS43LTMuNyAyMC04IDI3LjQtMTUuNC0xLjEtMTEuMi01LjctMjEuMS0xNi45LTIxLjEtMjcuNyAwLTEyMC42IDQtMTIwLjYtMzkuNyAwLTYuNyAuMS0xMy4xIDE3LjQtMTMuMSAzMi4zIDAgMTE0LjMgOCAxMzguMyAyOS4xIDE4LjEgMTYuMSAyNC4zIDExMy4yLTMxIDE3NC43em0tOTguNi0xMjZjOS43IDMuMSAxOS43IDQgMjkuNyA2LTcuNCA1LjQtMTQgMTItMjAuMyAxOS4xLTIuOC04LjUtNi4yLTE2LjgtOS40LTI1LjF6Il19LEw3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhbmRyb2lkIixpY29uOls1NzYsNTEyLFtdLCJmMTdiIiwiTTQyMC41IDI1My45YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptLTI2NS4xIDBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0yNzMuNy05Ni41bDQ3LjktODNjLjgtMS4xIDEuMy0yLjQgMS41LTMuOHMuMi0yLjctLjEtNC4xLS45LTIuNi0xLjctMy43LTEuOC0yLTMtMi43LTIuNS0xLjEtMy45LTEuMy0yLjcgMC00IC40LTIuNSAxLjEtMy42IDEuOS0xLjkgMi0yLjUgMy4ybC00OC41IDg0LjFjLTM4LjgtMTcuNC04MC44LTI2LjQtMTIzLjMtMjYuNHMtODQuNSA5LTEyMy4zIDI2LjRMMTE2LjIgNjQuNGMtLjYtMS4yLTEuNS0yLjMtMi41LTMuMnMtMi4zLTEuNS0zLjYtMS45LTIuNy0uNS00LS40LTIuNyAuNi0zLjkgMS4zLTIuMiAxLjYtMyAyLjctMS40IDIuNC0xLjcgMy43LS4zIDIuNy0uMSA0LjEgLjggMi42IDEuNSAzLjhsNDcuOSA4M0M2NC41IDIwMi4yIDguMiAyODUuNSAwIDM4NGw1NzYgMGMtOC4yLTk4LjUtNjQuNS0xODEuOC0xNDYuOS0yMjYuNnoiXX0sJDd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1lZXR1cCIsaWNvbjpbNTc2LDUxMixbXSwiZjJlMCIsIk0xMzEuMSA0MTQuM2MxLjEgNS43LTIuMyAxMS4xLTggMTIuMy01LjQgMS4xLTEwLjktMi4zLTEyLTgtMS4xLTUuNCAyLjMtMTEuMSA3LjctMTIuM3MxMS4xIDIuMyAxMi4zIDh6bTE0My4xIDcxLjRjLTYuMyA0LjYtOCAxMy40LTMuNyAyMCA0LjYgNi42IDEzLjQgOC4zIDIwIDMuNyA2LjMtNC42IDgtMTMuNCAzLjQtMjAtNC4yLTYuNS0xMy4xLTguMy0xOS43LTMuN3ptLTg2LTQ2Mi4zYTExLjggMTEuOCAwIDEgMCAtNC45LTIzIDExLjggMTEuOCAwIDEgMCA0LjkgMjN6TTY2LjUgMjI2LjNhMjIuMiAyMi4yIDAgMSAwIC0yNC43IDM2LjkgMjIuMiAyMi4yIDAgMSAwIDI0LjctMzYuOXptMjcyLTE3MC45YTIyLjEgMjIuMSAwIDEgMCAtMjIuNC0zOCAyMi4xIDIyLjEgMCAxIDAgMjIuNCAzOHptLTE5MS4xIDU4YTE2LjkgMTYuOSAwIDEgMCAtMTguOC0yOCAxNi45IDE2LjkgMCAxIDAgMTguOCAyOHptMzcyLjMgMTU2Yy03LjQgMS43LTEyLjMgOS4xLTEwLjYgMTYuOSAxLjQgNy40IDguOSAxMi4zIDE2LjMgMTAuNiA3LjQtMS40IDEyLjMtOC45IDEwLjYtMTYuNi0xLjUtNy40LTguOS0xMi4zLTE2LjMtMTAuOXptMzkuNy01Ni44YTEwLjEgMTAuMSAwIDEgMCAtMTkuOCA0LjMgMTAuMSAxMC4xIDAgMSAwIDE5LjgtNC4zem0tODAuMy03My43YTE4LjggMTguOCAwIDEgMCAyMC43IDMxLjMgMTguOCAxOC44IDAgMSAwIC0yMC43LTMxLjN6bS02LjMgMTM5LjRjMjYuMyA0My4xIDE1LjEgMTAwLTI2LjMgMTI5LjEtMTcuNCAxMi4zLTM3LjEgMTcuNy01Ni45IDE3LjEtMTIgNDcuMS02OS40IDY0LjYtMTA1LjEgMzIuNi0xLjEgLjktMi42IDEuNy0zLjcgMi45LTM5LjEgMjcuMS05Mi4zIDE3LjQtMTE5LjQtMjIuMy05LjctMTQuMy0xNC42LTMwLjYtMTUuMS00Ni45LTY1LjQtMTAuOS05MC05NC00MS4xLTEzOS43LTI4LjMtNDYuOSAuNi0xMDcuNCA1My40LTExNC45IDI1LjEtNjYuMiAxMDcuNi05Ny42IDE2My42LTU0LjIgNjcuNC0yMi4zIDEzNi4zIDI5LjQgMTMwLjkgMTAxLjEgNDEuMSAxMi42IDUyLjggNjYuOSAxOS43IDk1LjJ6bS03MCA3NC4zYy0zLjEtMjAuNi00MC45LTQuNi00My4xLTI3LjEtMy4xLTMyIDQzLjctMTAxLjEgNDAtMTI4LTMuNC0yNC0xOS40LTI5LjEtMzMuNC0yOS40LTEzLjQtLjMtMTYuOSAyLTIxLjQgNC42LTIuOSAxLjctNi42IDQuOS0xMS43LS4zLTYuMy02LTExLjEtMTEuNy0xOS40LTEyLjktMTIuMy0yLTE3LjcgMi0yNi42IDkuNy0zLjQgMi45LTEyIDEyLjktMjAgOS4xLTMuNC0xLjctMTUuNC03LjctMjQtMTEuNC0xNi4zLTcuMS00MCA0LjYtNDguNiAyMC0xMi45IDIyLjktMzggMTEzLjEtNDEuNyAxMjUuMS04LjYgMjYuNiAxMC45IDQ4LjYgMzYuOSA0Ny4xIDExLjEtLjYgMTguMy00LjYgMjUuNC0xNy40IDQtNy40IDQxLjctMTA3LjcgNDQuNi0xMTIuNiAyLTMuNCA4LjktOCAxNC42LTUuMSA1LjcgMy4xIDYuOSA5LjQgNiAxNS4xLTEuMSA5LjctMjggNzAuOS0yOC45IDc3LjctMy40IDIyLjkgMjYuOSAyNi42IDM4LjYgNCAzLjctNy4xIDQ1LjctOTIuNiA0OS40LTk4LjMgNC4zLTYuMyA3LjQtOC4zIDExLjctOCAzLjEgMCA4LjMgLjkgNy4xIDEwLjktMS40IDkuNC0zNS4xIDcyLjMtMzguOSA4Ny43LTQuNiAyMC42IDYuNiA0MS40IDI0LjkgNTAuNiAxMS40IDUuNyA2Mi41IDE1LjcgNTguNS0xMS4xem01LjcgOTIuM2EyMy4zIDIzLjMgMCAxIDAgMjYuMiAzOC40IDIzLjMgMjMuMyAwIDEgMCAtMjYuMi0zOC40eiJdfSxEN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm9udGljb25zLWZpIixpY29uOlszODQsNTEyLFtdLCJmM2EyIiwiTTExNC40IDIyNGw5Mi40IDAtMTUuMiA1MS4yLTc2LjQgMCAwIDE1Ny44YzAgOC0yLjggOS4yIDQuNCAxMGw1OS42IDUuNiAwIDM0LjQtMTc5LjIgMCAwLTM1LjIgMjkuMi0yLjhjNy4yLS44IDkuMi0zLjIgOS4yLTEwLjhsMC0xNTUuOGMwLTMuMi00LTMuMi04LTMuMmwtMzAuNCAwIDAtNTEuMiAzOC40IDAgMC0yOC44YzAtNjggMzYuNC05NiAxMDYtOTYgNDYuOCAwIDg4LjggMTEuMiA4OC44IDcyLjRMMTYzLjYgMTgwYy40LTI1LjYtNi0zMS42LTIyLjQtMzEuNi0yNS4yIDAtMjYgMTMuNi0yNiAzNy42bDAgMzJjMCAzLjItNC44IDYtLjggNnpNMzg0IDQ4M2wtMTQwLjggMCAwLTM0LjQgMjgtMy42YzcuMi0uOCAxMC40LTIuNCAxMC40LTEwbDAtMTQ4YzAtNS42LTQtOS4yLTkuMi0xMC44bC0zMy4yLTguOCA5LjItNDAuNCAxMTAgMCAwIDIwOGMwIDgtMy42IDguOCA0IDEwbDIxLjYgMy42IDAgMzQuNHpNMzU0IDEzNS44bDEyLjQgNDUuNi0xMCAxMC00Mi44LTIyLjgtNDIuOCAyMi44LTEwLTEwIDEyLjQtNDUuNi0zMC0zNi40IDQuOC0xMCAzOCAwIDIxLjItMzguNCAxMi44IDAgMjEuMiAzOC40IDM4IDAgNC44IDEzLjItMzAgMzMuMnoiXX0sQTd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBhbGZlZCIsaWNvbjpbNTc2LDUxMixbXSwiZjNkOCIsIk0zODQuOSAxOTMuOWMwLTQ3LjQtNTUuMi00NC4yLTk1LjQtMjkuOC0xLjMgMzkuNC0yLjUgODAuNy0zIDExOS44IC43IDIuOCAyLjYgNi4yIDE1LjEgNi4yIDM2LjggMCA4My40LTQyLjggODMuMy05Ni4yek0xOTAuNCAyNjYuMWMuMiAwIDYuNS0yLjcgMTEuMi0yLjcgMjYuNiAwIDIwLjcgNDQuMS0xNC40IDQ0LjEtMjEuNSAwLTM3LjEtMTguMS0zNy4xLTQzIDAtNDIgNDIuOS05NS42IDEwMC43LTEyNi41IDEtMTIuNCAzLTIyIDEwLjUtMjguMiAxMS4yLTkgMjYuNi0zLjUgMjkuNSAxMS4xIDcyLjItMjIuMiAxMzUuMiAxIDEzNS4yIDcyIDAgNzcuOS03OS4zIDE1Mi42LTE0MC4xIDEzOC4yLS4xIDM5LjQgLjkgNzQuNCAyLjcgMTAwbDAgLjJjLjIgMy40IC42IDEyLjUtNS4zIDE5LjEtOS42IDEwLjYtMzMuNCAxMC0zNi40LTIyLjMtNC4xLTQ0LjQgLjItMjA2LjEgMS40LTI0Mi41LTIxLjUgMTUtNTguNSA1MC4zLTU4LjUgNzUuOSAuMiAyLjUgLjQgNCAuNiA0LjZ6TTggMTgxLjFzLS4xIDM3LjQgMzguNCAzNy40bDMwIDAgMjIuNCAyMTcuMnMwIDQ0LjMgNDQuNyA0NC4zbDI4OC45IDBzNDQuNy0uNCA0NC43LTQ0LjNsMjIuNC0yMTcuMiAzMCAwczM4LjQgMS4yIDM4LjQtMzcuNGMwIDAgLjEtMzcuNC0zOC40LTM3LjRsLTMwLjEgMGMtNy4zLTI1LjYtMzAuMi03NC4zLTExOS40LTc0LjNsLTI4IDAgMC0xOS4xcy0yLjctMTguNC0yMS4xLTE4LjRsLTg1LjggMFMyMjQgMzEuOSAyMjQgNTAuM2wwIDE5LjEtMjguMSAwcy0xMDUgNC4yLTEyMC41IDc0LjNsLTI5IDBTOCAxNDIuNSA4IDE4MS4xeiJdfSxQN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid3BiZWdpbm5lciIsaWNvbjpbNTEyLDUxMixbXSwiZjI5NyIsIk00NjMuMiAzMjIuNGM1Ni4yIDY0LjMgNC4yIDE1Ny42LTkxLjkgMTU3LjYtMzkuNiAwLTc4LjgtMTcuNy0xMDAuMS01MC02LjkgLjQtMjIuNyAuNC0yOS42IDAtMjEuNCAzMi40LTYwLjYgNTAtMTAwLjEgNTAtOTUuNSAwLTE0OC4zLTkzLTkxLjktMTU3LjYtNzkuMS0xMzEuOSAzMS4zLTI5MC40IDIwNi44LTI5MC40IDE3NS42IDAgMjg1LjkgMTU4LjYgMjA2LjggMjkwLjR6bS0zMzkuNi04M2w0MS41IDAgMC01OC4xLTQxLjUgMCAwIDU4LjF6bTIxNy4yIDg2LjFsMC0yMy44Yy02MC41IDIwLjktMTMyLjQgOS4yLTE4Ny42LTM0bC4yIDI0LjljNTEuMSA0Ni40IDEzMS43IDU3LjkgMTg3LjMgMzIuOXpNMTkwIDIzOS40bDE2Ni4xIDAgMC01OC4xLTE2Ni4xIDAgMCA1OC4xeiJdfSxFN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGlhc3BvcmEiLGljb246WzQ0OCw1MTIsW10sImY3OTEiLCJNMjE5LjcgMzU0LjZjLTEuNCAwLTg4IDExOS45LTg4LjcgMTE5LjlTNDQuNCA0MTQgNDQgNDEzLjMgMTMwLjYgMjg3LjUgMTMwLjYgMjg1LjhjMC0yLjItMTI5LjYtNDQtMTM3LjYtNDcuMS0xLjMtLjUgMzEuNC0xMDEuOCAzMS43LTEwMi4xIC42LS43IDE0NC40IDQ3IDE0NS41IDQ3IC40IDAgLjktLjYgMS0xLjMgLjQtMiAxLTE0OC42IDEuNy0xNDkuNiAuOC0xLjIgMTA0LjUtLjcgMTA1LjEtLjMgMS41IDEgMy41IDE1Ni4xIDYuMSAxNTYuMSAxLjQgMCAxMzguNy00NyAxMzkuMy00Ni4zIC44IC45IDMxLjkgMTAyLjIgMzEuNSAxMDIuNi0uOSAuOS0xNDAuMiA0Ny4xLTE0MC42IDQ4LjgtLjMgMS40IDgyLjggMTIyLjEgODIuNSAxMjIuOXMtODUuNSA2My41LTg2LjMgNjMuNWMtMS0uMi04OS0xMjUuNS05MC45LTEyNS41bDAgMHoiXX0sSTd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InByb2R1Y3QtaHVudCIsaWNvbjpbNTEyLDUxMixbXSwiZjI4OCIsIk0zMjYuMyAyMTguOGMwIDIwLjUtMTYuNyAzNy4yLTM3LjIgMzcuMmwtNzAuMyAwIDAtNzQuNCA3MC4zIDBjMjAuNSAwIDM3LjIgMTYuNyAzNy4yIDM3LjJ6TTggMjU2YTI0OCAyNDggMCAxIDEgNDk2IDAgMjQ4IDI0OCAwIDEgMSAtNDk2IDB6bTM2Ny45LTM3LjJjMC00Ny45LTM4LjktODYuOC04Ni44LTg2LjhsLTExOS45IDAgMCAyNDggNDkuNiAwIDAtNzQuNCA3MC4zIDBjNDcuOSAwIDg2LjgtMzguOSA4Ni44LTg2Ljh6Il19LE43dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtdXB3b3JrIixpY29uOls0NDgsNTEyLFtdLCJlNjdjIiwiTTU2IDMybDMzNiAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgMzM2YzAgMzAuOS0yNS4xIDU2LTU2IDU2TDU2IDQ4MGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZMMCA4OEMwIDU3LjEgMjUuMSAzMiA1NiAzMnpNMjcwLjkgMjc0LjJjNi42LTUyLjkgMjUuOS02OS41IDUxLjQtNjkuNSAyNS4zIDAgNDQuOSAyMC4yIDQ0LjkgNDkuN3MtMTkuNyA0OS43LTQ0LjkgNDkuN2MtMjcuOSAwLTQ2LjMtMjEuNS01MS40LTI5Ljl6bS0yNi43LTQxLjhjLTguMi0xNS41LTE0LjMtMzYuMy0xOS4yLTU1LjZsLTYyLjkgMCAwIDc4LjFjMCAyOC40LTEyLjkgNDkuNC0zOC4yIDQ5LjRTODQuMSAyODMuNCA4NC4xIDI1NWwuMy03OC4xLTM2LjIgMCAwIDc4LjFjMCAyMi44IDcuNCA0My41IDIwLjkgNTguMiAxMy45IDE1LjIgMzIuOCAyMy4yIDU0LjggMjMuMiA0My43IDAgNzQuMi0zMy41IDc0LjItODEuNWwwLTUyLjVjNC42IDE3LjMgMTUuNCA1MC41IDM2LjIgNzkuN2wtMTkuMyAxMTAuNSAzNi44IDAgMTIuOC03OC40YzQuMiAzLjUgOC43IDYuNiAxMy40IDkuNCAxMi4zIDcuOCAyNi40IDEyLjIgNDAuOSAxMi42bDMuNCAwYzQ1LjEgMCA4MC45LTM0LjkgODAuOS04MS45cy0zNS45LTgyLjItODAuOS04Mi4yYy00NS40IDAtNzAuOSAyOS43LTc4LjEgNjAuMWwwIC4yeiJdfSxSN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3V0dGxlZmlzaCIsaWNvbjpbNDQ4LDUxMixbXSwiZjM4YyIsIk0zNDggMzA1LjVjLTE3LjUgMzEuNi01Ny40IDU0LjUtOTYgNTQuNS01Ni42IDAtMTA0LTQ3LjQtMTA0LTEwNHM0Ny40LTEwNCAxMDQtMTA0YzM4LjYgMCA3OC41IDIyLjkgOTYgNTQuNSAxMy43LTUwLjkgNDEuNy05My4zIDg3LTExNy44LTQ1LjMtNDkuNi0xMTAuNS04MC43LTE4My04MC43LTEzNyAwLTI0OCAxMTEtMjQ4IDI0OFMxMTUgNTA0IDI1MiA1MDRjNzIuNSAwIDEzNy43LTMxLjEgMTgzLTgwLjctNDUuMy0yNC41LTczLjMtNjYuOS04Ny0xMTcuOHoiXX0sRjd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1lZGFwcHMiLGljb246WzMyMCw1MTIsW10sImYzYzYiLCJNMTE4LjMgMjM4LjRjMy41LTEyLjUgNi45LTMzLjYgMTMuMi0zMy42IDguMyAxLjggOS42IDIzLjQgMTguNiAzNi42IDQuNi0yMy41IDUuMy04NS4xIDE0LjEtODYuNyA5LS43IDE5LjcgNjYuNSAyMiA3Ny41IDkuOSA0LjEgNDguOSA2LjYgNDguOSA2LjYgMS45IDcuMy0yNCA3LjYtNDAgNy44LTQuNiAxNC44LTUuNCAyNy43LTExLjQgMjgtNC43IC4yLTguMi0yOC44LTE3LjUtNDkuNmwtOS40IDY1LjVjLTQuNCAxMy0xNS41LTIyLjUtMjEuOS0zOS4zLTMuMy0uMS02Mi40LTEuNi00Ny42LTcuOGwzMS01ek0yMjggNDQ4YzIxLjIgMCAyMS4yLTMyIDAtMzJMOTIgNDE2Yy0yMS4yIDAtMjEuMiAzMiAwIDMybDEzNiAwem0tMjQgNjRjMjEuMiAwIDIxLjItMzIgMC0zMmwtODggMGMtMjEuMiAwLTIxLjIgMzIgMCAzMmw4OCAwem0zNC4yLTE0MS41YzMuMi0xOC45IDUuMi0zNi40IDExLjktNDguOCA3LjktMTQuNyAxNi4xLTI4LjEgMjQtNDEgMjQuNi00MC40IDQ1LjktNzUuMiA0NS45LTEyNS41IDAtODUuNi03MS44LTE1NS4yLTE2MC0xNTUuMlMwIDY5LjYgMCAxNTUuMmMwIDUwLjIgMjEuMyA4NS4xIDQ1LjkgMTI1LjUgNy45IDEyLjkgMTYgMjYuMyAyNCA0MSA2LjcgMTIuNSA4LjcgMjkuOCAxMS45IDQ4LjkgMy41IDIxIDM2LjEgMTUuNyAzMi42LTUuMS0zLjYtMjEuNy01LjYtNDAuNy0xNS4zLTU4LjYtMzIuNi02MC40LTY2LjEtOTUuNi02Ni4xLTE1MS43IDAtNjcuOSA1Ny0xMjMuMiAxMjctMTIzLjJTMjg3IDg3LjMgMjg3IDE1NS4yYzAgNTYuMS0zMy41IDkxLjMtNjYuMSAxNTEuNi05LjcgMTgtMTEuNyAzNy40LTE1LjMgNTguNi0zLjQgMjAuNiAyOSAyNi40IDMyLjYgNS4xeiJdfSxPN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGl4IixpY29uOls1MTIsNTEyLFtdLCJlNDNhIiwiTTI0Mi40IDI5Mi41YzUuNC01LjQgMTQuNy01LjQgMjAuMSAwbDc3IDc3YzE0LjIgMTQuMiAzMy4xIDIyIDUzLjEgMjJsMTUuMSAwLTk3LjEgOTcuMWMtMzAuMyAyOS41LTc5LjUgMjkuNS0xMDkuOCAwbC05Ny41LTk3LjQgOS4zIDBjMjAgMCAzOC45LTcuOCA1My4xLTIybDc2LjctNzYuN3ptMjAuMS03My42Yy02LjQgNS41LTE0LjYgNS42LTIwLjEgMGwtNzYuNy03Ni43Yy0xNC4yLTE1LjEtMzMuMS0yMi01My4xLTIybC05LjMgMCA5Ny40LTk3LjRjMzAuNC0zMC4zIDc5LjYtMzAuMyAxMDkuOSAwbDk3LjIgOTcuMS0xNS4yIDBjLTIwIDAtMzguOSA3LjgtNTMuMSAyMmwtNzcgNzd6TTExMi42IDE0Mi43YzEzLjggMCAyNi41IDUuNiAzNy4xIDE1LjRsNzYuNyA3Ni43YzcuMiA2LjMgMTYuNiAxMC44IDI2LjEgMTAuOCA5LjQgMCAxOC44LTQuNSAyNi0xMC44bDc3LTc3YzkuOC05LjcgMjMuMy0xNS4zIDM3LjEtMTUuM2wzNy43IDAgNTguMyA1OC4zYzMwLjMgMzAuMyAzMC4zIDc5LjUgMCAxMDkuOGwtNTguMyA1OC4zLTM3LjcgMGMtMTMuOCAwLTI3LjMtNS42LTM3LjEtMTUuNGwtNzctNzdjLTEzLjktMTMuOS0zOC4yLTEzLjktNTIuMSAuMWwtNzYuNyA3Ni42Yy0xMC42IDkuOC0yMy4zIDE1LjQtMzcuMSAxNS40bC0zMS44IDAtNTgtNThjLTMwLjMtMzAuMy0zMC4zLTc5LjUgMC0xMDkuOGw1OC01OC4xIDMxLjggMHoiXX0sX29lPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS10dW1ibHIiLGljb246WzQ0OCw1MTIsWyJ0dW1ibHItc3F1YXJlIl0sImYxNzQiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTI1Ni44IDQxNmMtNzUuNSAwLTkxLjktNTUuNS05MS45LTg3LjlsMC05MC0yOS43IDBjLTMuNCAwLTYuMi0yLjgtNi4yLTYuMmwwLTQyLjVjMC00LjUgMi44LTguNSA3LjEtMTAgMzguOC0xMy43IDUwLjktNDcuNSA1Mi43LTczLjIgLjUtNi45IDQuMS0xMC4yIDEwLTEwLjJsNDQuMyAwYzMuNCAwIDYuMiAyLjggNi4yIDYuMmwwIDcyIDUxLjkgMGMzLjQgMCA2LjIgMi44IDYuMiA2LjJsMCA1MS4xYzAgMy40LTIuOCA2LjItNi4yIDYuMmwtNTIuMSAwIDAgODMuM2MwIDIxLjQgMTQuOCAzMy41IDQyLjUgMjIuNCAzLTEuMiA1LjYtMiA4LTEuNCAyLjIgLjUgMy42IDIuMSA0LjYgNC45TDMxOCAzODcuMWMxIDMuMiAyIDYuNy0uMyA5LjEtOC41IDkuMS0zMS4yIDE5LjgtNjAuOSAxOS44eiJdfSxCN3Q9X29lLEg3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZWFjdCIsaWNvbjpbNTEyLDUxMixbXSwiZjQxYiIsIk00MTguMiAxNzcuMmMtNS40LTEuOC0xMC44LTMuNS0xNi4yLTUuMSAuOS0zLjcgMS43LTcuNCAyLjUtMTEuMSAxMi4zLTU5LjYgNC4yLTEwNy41LTIzLjEtMTIzLjMtMjYuMy0xNS4xLTY5LjIgLjYtMTEyLjYgMzguNC00LjMgMy43LTguNSA3LjYtMTIuNSAxMS41LTIuNy0yLjYtNS41LTUuMi04LjMtNy43LTQ1LjUtNDAuNC05MS4xLTU3LjQtMTE4LjQtNDEuNS0yNi4yIDE1LjItMzQgNjAuMy0yMyAxMTYuNyAxLjEgNS42IDIuMyAxMS4xIDMuNyAxNi43LTYuNCAxLjgtMTIuNyAzLjgtMTguNiA1LjktNTMuNCAxOC41LTkxLjcgNDcuNy05MS43IDc3LjkgMCAzMS4yIDQwLjggNjIuNSA5Ni4zIDgxLjUgNC41IDEuNSA5IDMgMTMuNiA0LjMtMS41IDYtMi44IDExLjktNCAxOC0xMC41IDU1LjUtMi4zIDk5LjUgMjMuOSAxMTQuNiAyNyAxNS42IDcyLjQtLjQgMTE2LjYtMzkuMSAzLjUtMy4xIDctNi4zIDEwLjUtOS43IDQuNCA0LjMgOSA4LjQgMTMuNiAxMi40IDQyLjggMzYuOCA4NS4xIDUxLjcgMTExLjIgMzYuNiAyNy0xNS42IDM1LjgtNjIuOSAyNC40LTEyMC41LS45LTQuNC0xLjktOC45LTMtMTMuNSAzLjItLjkgNi4zLTEuOSA5LjQtMi45IDU3LjctMTkuMSA5OS41LTUwIDk5LjUtODEuNyAwLTMwLjMtMzkuNC01OS43LTkzLjgtNzguNHpNMjgyLjkgOTIuM2MzNy4yLTMyLjQgNzEuOS00NS4xIDg3LjctMzYgMTYuOSA5LjcgMjMuNCA0OC45IDEyLjggMTAwLjQtLjcgMy40LTEuNCA2LjctMi4zIDEwLTIyLjItNS00NC43LTguNi02Ny4zLTEwLjYtMTMtMTguNi0yNy4yLTM2LjQtNDIuNi01My4xIDMuOS0zLjcgNy43LTcuMiAxMS43LTEwLjd6TTE2Ny4yIDMwNy41YzUuMSA4LjcgMTAuMyAxNy40IDE1LjggMjUuOS0xNS42LTEuNy0zMS4xLTQuMi00Ni40LTcuNSA0LjQtMTQuNCA5LjktMjkuMyAxNi4zLTQ0LjUgNC42IDguOCA5LjMgMTcuNSAxNC4zIDI2LjF6TTEzNi45IDE4Ny4yYzE0LjQtMy4yIDI5LjctNS44IDQ1LjYtNy44LTUuMyA4LjMtMTAuNSAxNi44LTE1LjQgMjUuNC00LjkgOC41LTkuNyAxNy4yLTE0LjIgMjYtNi4zLTE0LjktMTEuNi0yOS41LTE2LTQzLjZ6bTI3LjQgNjguOWM2LjYtMTMuOCAxMy44LTI3LjMgMjEuNC00MC42czE1LjgtMjYuMiAyNC40LTM4LjljMTUtMS4xIDMwLjMtMS43IDQ1LjktMS43czMxIC42IDQ1LjkgMS43YzguNSAxMi42IDE2LjYgMjUuNSAyNC4zIDM4LjdzMTQuOSAyNi43IDIxLjcgNDAuNGMtNi43IDEzLjgtMTMuOSAyNy40LTIxLjYgNDAuOC03LjYgMTMuMy0xNS43IDI2LjItMjQuMiAzOS0xNC45IDEuMS0zMC40IDEuNi00Ni4xIDEuNnMtMzAuOS0uNS00NS42LTEuNGMtOC43LTEyLjctMTYuOS0yNS43LTI0LjYtMzlzLTE0LjgtMjYuOC0yMS41LTQwLjZ6bTE4MC42IDUxLjJjNS4xLTguOCA5LjktMTcuNyAxNC42LTI2LjcgNi40IDE0LjUgMTIgMjkuMiAxNi45IDQ0LjMtMTUuNSAzLjUtMzEuMiA2LjItNDcgOCA1LjQtOC40IDEwLjUtMTcgMTUuNS0yNS42em0xNC40LTc2LjVjLTQuNy04LjgtOS41LTE3LjYtMTQuNS0yNi4yLTQuOS04LjUtMTAtMTYuOS0xNS4zLTI1LjIgMTYuMSAyIDMxLjUgNC43IDQ1LjkgOC00LjYgMTQuOC0xMCAyOS4yLTE2LjEgNDMuNHpNMjU2LjIgMTE4LjNjMTAuNSAxMS40IDIwLjQgMjMuNCAyOS42IDM1LjgtMTkuOC0uOS0zOS43LS45LTU5LjUgMCA5LjgtMTIuOSAxOS45LTI0LjkgMjkuOS0zNS44ek0xNDAuMiA1N2MxNi44LTkuOCA1NC4xIDQuMiA5My40IDM5IDIuNSAyLjIgNSA0LjYgNy42IDctMTUuNSAxNi43LTI5LjggMzQuNS00Mi45IDUzLjEtMjIuNiAyLTQ1IDUuNS02Ny4yIDEwLjQtMS4zLTUuMS0yLjQtMTAuMy0zLjUtMTUuNS05LjQtNDguNC0zLjItODQuOSAxMi42LTk0ek0xMTUuNyAzMjAuNmMtNC4yLTEuMi04LjMtMi41LTEyLjQtMy45LTIxLjMtNi43LTQ1LjUtMTcuMy02My0zMS4yLTEwLjEtNy0xNi45LTE3LjgtMTguOC0yOS45IDAtMTguMyAzMS42LTQxLjcgNzcuMi01Ny42IDUuNy0yIDExLjUtMy44IDE3LjMtNS41IDYuOCAyMS43IDE1IDQzIDI0LjUgNjMuNi05LjYgMjAuOS0xNy45IDQyLjUtMjQuOCA2NC41em0xMTYuNiA5OGMtMTYuNSAxNS4xLTM1LjYgMjcuMS01Ni40IDM1LjMtMTEuMSA1LjMtMjMuOSA1LjgtMzUuMyAxLjMtMTUuOS05LjItMjIuNS00NC41LTEzLjUtOTIgMS4xLTUuNiAyLjMtMTEuMiAzLjctMTYuNyAyMi40IDQuOCA0NSA4LjEgNjcuOSA5LjggMTMuMiAxOC43IDI3LjcgMzYuNiA0My4yIDUzLjQtMy4yIDMuMS02LjQgNi4xLTkuNiA4Ljl6bTI0LjUtMjQuM2MtMTAuMi0xMS0yMC40LTIzLjItMzAuMy0zNi4zIDkuNiAuNCAxOS41IC42IDI5LjUgLjYgMTAuMyAwIDIwLjQtLjIgMzAuNC0uNy05LjIgMTIuNy0xOS4xIDI0LjgtMjkuNiAzNi40em0xMzAuNyAzMGMtLjkgMTIuMi02LjkgMjMuNi0xNi41IDMxLjMtMTUuOSA5LjItNDkuOC0yLjgtODYuNC0zNC4yLTQuMi0zLjYtOC40LTcuNS0xMi43LTExLjUgMTUuMy0xNi45IDI5LjQtMzQuOCA0Mi4yLTUzLjYgMjIuOS0xLjkgNDUuNy01LjQgNjguMi0xMC41IDEgNC4xIDEuOSA4LjIgMi43IDEyLjIgNC45IDIxLjYgNS43IDQ0LjEgMi41IDY2LjN6bTE4LjItMTA3LjVjLTIuOCAuOS01LjYgMS44LTguNSAyLjYtNy0yMS44LTE1LjYtNDMuMS0yNS41LTYzLjggOS42LTIwLjQgMTcuNy00MS40IDI0LjUtNjIuOSA1LjIgMS41IDEwLjIgMy4xIDE1IDQuNyA0Ni42IDE2IDc5LjMgMzkuOCA3OS4zIDU4IDAgMTkuNi0zNC45IDQ0LjktODQuOCA2MS40ek0yNTYgMzAxLjhhNDUuOCA0NS44IDAgMSAwIDAtOTEuNiA0NS44IDQ1LjggMCAxIDAgMCA5MS42eiJdfSxxN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaHVnZ2luZy1mYWNlIixpY29uOls1NzYsNTEyLFtdLCJlODY5IiwiTTI4Ni44IDguMmMxMzAgMCAyMzUuNCAxMDUuOCAyMzUuNCAyMzYuMyAwIDE3LjctMS45IDM1LTUuNiA1MS43LTEuNCA2LjUtMy4xIDEyLjgtNS4xIDE5LjEgNi41LS42IDEzIC42IDE4LjcgMy41IDEyLjYgNi41IDIwLjIgMjEuNyAxOC4yIDM1LjctLjcgNC45LTIuNCA5LjQtNC44IDEzLjUgNS4yIDQuMiA5IDEwLjEgMTAuOCAxNy4xIDEuNCA1LjUgMi45IDE3LjEtNC44IDI4LjkgNS44IDkuMiA2LjYgMjAuNiAyLjIgMzAuNi02LjIgMTQuMS0yMS43IDI1LjMtNTEuNyAzNy4zLTMyLjUgMTMtNjcuMSAyMS45LTEwMi4zIDIxLjktMzIgMC01NS45LTguOS03MS0yNi40LTEzIDIuMi0yNi4zIDMuNC00MCAzLjQtMTIuNyAwLTI1LjItMS0zNy4zLTIuOS0xNS4xIDE3LjItMzguOCAyNS45LTcwLjYgMjUuOS0zNS4xIDAtNzAtOS0xMDIuNC0yMS45LTMwLTEyLTQ1LjUtMjMuMS01MS43LTM3LjMtNC40LTkuOS0zLjYtMjEuNCAyLjItMzAuNi03LjctMTEuOS02LjMtMjMuNC00LjgtMjguOSAxLjgtNyA1LjctMTIuOSAxMC44LTE3LjEtMi41LTQuMS00LjEtOC42LTQuOC0xMy41LTEuNS0xMC40IDItMjAuNyA5LjctMjkuMiA2LjEtNi43IDE1LjEtMTAuMyAyNC4yLTEwLjItMS45LTYuMS0zLjYtMTIuNC01LTE4LjctMy43LTE2LjctNS43LTM0LTUuNy01MS44IDAtMTMwLjUgMTA1LjQtMjM2LjMgMjM1LjQtMjM2LjN6TTExNy41IDMxMWMtMTMtOC4yLTIyLjEtMy42LTE5IDEzLjRzNTcuMiA1OC4yIDUyIDY3LjJjLTUuMiA4LjgtMjMuNS0xMC4xLTIzLjgtMTAuNSAwIDAtNTguMi01My4xLTcwLjgtMzkuMy0xMi42IDEzLjggOS42IDI1LjQgNDEuMyA0NC43czM0LjIgMjQuNCAyOS43IDMxLjctNzQuNS01Mi04MS4xLTI2LjhjLTYuNSAyNS4xIDcxLjQgMzIuNCA2Ni43IDQ5LjgtNC44IDE3LjQtNTQuOS0zMi44LTY1LjItMTMuMy0xMC4zIDE5LjYgNzAuOCA0Mi42IDcxLjQgNDIuNyAyNi4yIDYuOCA5Mi42IDIxLjMgMTE1LjktMTIuOSAxNi43LTI0LjYgMTUuNi00My4xLTcuNC02Ni4xcy0zNi4zLTU2LjctMzYuMy01Ni43YzAtLjItNS0xOS41LTE2LjMtMTcuOC0xMS40IDEuOC0xOS43IDMxIDQuMSA0OC45IDIzLjggMTcuOS00LjcgMzAtMTMuOSAxMy4zLTkuMi0xNi44LTM0LjItNTkuOS00Ny4xLTY4LjJ6bTM2MC42IDEzLjRjMy4xLTE3LTYuMS0yMS42LTE5LTEzLjQtMTMgOC4zLTM3LjkgNTEuNC00Ny4xIDY4LjJzLTM3LjcgNC42LTEzLjktMTMuMyAxNS40LTQ3LjEgNC4xLTQ4LjktMTYuMyAxNy44LTE2LjMgMTcuOGMtLjEgLjItMTMuNCAzMy43LTM2LjMgNTYuNy0yMi45IDIzLTI0LjEgNDEuNS03LjQgNjYuMSAyMy4yIDM0LjIgODkuNyAxOS43IDExNS45IDEyLjkgMS41LS40IDgxLjYtMjMuMyA3MS40LTQyLjctMTAuMy0xOS41LTYwLjQgMzAuNi02NS4zIDEzLjMtNC44LTE3LjMgNzMuMi0yNC42IDY2LjctNDkuOC02LjYtMjUuMS03Ni42IDM0LjEtODEuMSAyNi44LTQuNS03LjMtMi0xMi40IDI5LjctMzEuNyAzMS43LTE5LjMgNTQtMzAuOSA0MS4zLTQ0LjctMTIuNy0xMy44LTcwLjggMzkuMy03MC44IDM5LjMtLjQgLjQtMTguNiAxOS4zLTIzLjggMTAuNS01LjMtOC45IDQ4LjktNTAuMSA1Mi02Ny4yek0yODYuOCAzMi42Yy0xMTYuNiAwLTIxMS4xIDk0LjktMjExLjEgMjExLjkgMCAxNy4xIDIgMzMuOCA1LjggNDkuNyAwLS4xIC4xLS4xIC4yLS4yIDYuMS03LjQgMTQuOS0xMS40IDI0LjctMTEuNCAxNy43IDAgMzEuMSAxMS45IDQxLjUgMjQuOSA2LjgtOS40IDE3LjEtMTUgMjcuOS0xNSAyMC43IDAgMzMuMiAxOC4xIDM3LjkgMzQuMyAyLjMgNS41IDEzLjYgMzAuNSAzMC40IDQ3LjQgMjUuNyAyNS44IDMyLjIgNTIuNCAxOS40IDgwLjkgMTYgMS44IDMyLjggMS43IDQ5LjItLjMtMTIuNS0yOC40LTYtNTQuOSAxOS42LTgwLjYgMTYuOS0xNi45IDI4LjEtNDEuOSAzMC41LTQ3LjQgNC43LTE2LjIgMTcuMi0zNC4zIDM3LjktMzQuMyAxMC45IDAgMjEuMiA1LjYgMjcuOSAxNSAxMC40LTEzIDIzLjgtMjQuOSA0MS41LTI0LjkgOC43IDAgMTYuNiAzLjEgMjIuNSA4LjkgNS0yMiA2LjQtNDUuOCA0LjEtNjguNy0xMC44LTEwNi45LTEwMC43LTE5MC4zLTIxMC0xOTAuM3ptMS41IDIzNC4yYzQzLjYgMCA3OS00MiA3OS0xNC41IDAgMjcuNC0xOS4yIDgwLjktNzguOCA4MC45LTE5LjIgMC0zNC4yLTUuNS00NS44LTEzLjktMjMuMi0xOS40LTMzLjQtNDguMi0zMy40LTY2LjkgMC0yNy40IDM1LjQgMTQuNSA3OSAxNC41em0tMTMuMyAyNWMtOC4yIDIuNC0xNS41IDYuOC0yMS41IDEyLjYgMjIgMTIuOCA1MC40IDEyLjkgNzEuNy0xLjMtNS41LTQuOS0xMi04LjctMTkuMS0xMS01LjEtMS42LTEwLjQgMTUuOC0xNiAxNS44LTUuMiAwLTEwLjMtMTcuNi0xNS4xLTE2LjJ6TTE0Ny4xIDIxNS41YTE5LjggMTkuOCAwIDEgMSAwLTM5LjYgMTkuOCAxOS44IDAgMSAxIDAgMzkuNnptMjgyLjQgMGExOS44IDE5LjggMCAxIDEgMC0zOS42IDE5LjggMTkuOCAwIDEgMSAwIDM5LjZ6bS0yNDQtNTUuNGM3LjktMTQuOSAyNi4zLTIwLjUgNDEuMS0xMi42czIwLjQgMjYuNCAxMi42IDQxLjJjLTMuNyA3LTE1LjUtNC40LTIyLjQtMS45LTcuNyAyLjctMTAuOCAxOC43LTE4LjYgMTQuNi0xNC44LTcuOS0yMC40LTI2LjQtMTIuNi00MS4yem0xNjQuNC0xMi42YzE0LjgtNy45IDMzLjItMi4zIDQxLjEgMTIuNnMyLjIgMzMuMy0xMi42IDQxLjJjLTcuOCA0LjItMTAuOS0xMS44LTE4LjctMTQuNi02LjktMi40LTE4LjcgOS0yMi40IDEuOS03LjktMTQuOS0yLjItMzMuMyAxMi42LTQxLjJ6Il19LFY3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqeGwiLGljb246WzQ0OCw1MTIsW10sImU2N2IiLCJNNDEyLjIgMzJMMzUuOCAzMkMxNiAzMiAwIDQ4IDAgNjcuOEwwIDQ0NC4yQzAgNDY0IDE2IDQ4MCAzNS44IDQ4MGwzNzYuNCAwYzE5LjggMCAzNS44LTE2IDM1LjgtMzUuOGwwLTM3Ni40QzQ0OCA0OCA0MzIgMzIgNDEyLjIgMzJ6TTM3OC42IDMzMy43YzAgNDAuMi0zMi42IDcyLjgtNzIuOCA3Mi44bC0yMzUuNiAwYzAtNDAuMiAzMi42LTcyLjggNzIuOC03Mi44bDIzNS42IDB6bTAtMTEzLjljMCA0MC4yLTMyLjYgNzIuOC03Mi44IDcyLjhsLTIzNS42IDBjMC00MC4yIDMyLjYtNzIuOCA3Mi44LTcyLjhsMjM1LjYgMHptMC0xMTMuOWMwIDQwLjItMzIuNiA3Mi44LTcyLjggNzIuOGwtMjM1LjYgMGMwLTQwLjIgMzIuNi03Mi44IDcyLjgtNzIuOGwyMzUuNiAweiJdfSxqN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWxpbmtlZGluIixpY29uOls0NDgsNTEyLFtdLCJlN2QwIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTUgMTcwLjJsNjYuNSAwIDAgMjEzLjgtNjYuNSAwIDAtMjEzLjh6bTcxLjctNjcuN2EzOC41IDM4LjUgMCAxIDEgLTc3IDAgMzguNSAzOC41IDAgMSAxIDc3IDB6TTMxNy45IDQxNmwwLTEwNGMwLTI0LjgtLjUtNTYuNy0zNC41LTU2LjctMzQuNiAwLTM5LjkgMjctMzkuOSA1NC45bDAgMTA1LjgtNjYuNCAwIDAtMjEzLjggNjMuNyAwIDAgMjkuMiAuOSAwYzguOS0xNi44IDMwLjYtMzQuNSA2Mi45LTM0LjUgNjcuMiAwIDc5LjcgNDQuMyA3OS43IDEwMS45bDAgMTE3LjItNjYuNCAweiJdfSxVN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3NzIixpY29uOls0NDgsNTEyLFtdLCJlNmEyIiwiTTM3Ni4zIDMyTDAgMzIgMCA0MDguM2MwIDE5IDcuNiAzNy4yIDIxIDUwLjdzMzEuNyAyMSA1MC43IDIxbDMwNC42IDBjMTkgMCAzNy4yLTcuNiA1MC43LTIxczIxLTMxLjcgMjEtNTAuN2wwLTMwNC42YzAtMTktNy42LTM3LjItMjEtNTAuN3MtMzEuNy0yMS01MC43LTIxek0zMzIuNCA0MzEuNGMtNy43LTguNS0xMS43LTIwLjctMTItMzYuNmwzMS4zIDBjLjIgMTQuMSA1LjEgMjEuMSAxNC44IDIxLjFjNC45IDAgOC40LTEuNiAxMC41LTQuN2MyLTMuMSAzLTggMy0xNC44YzAtNS40LTEuMy05LjktNC0xMy40Yy0zLjUtNC4yLTguMS03LjUtMTMuMi05LjVMMzUxLjIgMzY4Yy0xMC4zLTQuOS0xNy44LTEwLjgtMjIuNS0xNy42Yy00LjUtNi44LTYuNy0xNi4zLTYuNy0yOC40YzAtMTMuNiA0LTI0LjYgMTEuOC0zMy4xYzguMS04LjUgMTkuMS0xMi43IDMzLjItMTIuN2MxMy42IDAgMjQuMSA0LjIgMzEuNSAxMi41YzcuNSA4LjQgMTEuNSAyMC4zIDExLjggMzUuOWwtMzAuMSAwYy4yLTUuMS0uOS0xMC4yLTMtMTQuOGMtMS43LTMuNC01LTUuMS0xMC01LjFjLTguOCAwLTEzLjIgNS4yLTEzLjIgMTUuN2MwIDUuMyAxLjEgOS40IDMuMiAxMi42YzMuMSAzLjUgNyA2LjIgMTEuNCA3LjhsMTEuMSA0LjljMTEuNSA1LjMgMTkuNyAxMS43IDI0LjggMTkuNGM1LjEgNy43IDcuNiAxOCA3LjYgMzFjMCAxNS41LTQgMjcuNC0xMi4zIDM1LjdjLTguMiA4LjMtMTkuNSAxMi41LTM0LjEgMTIuNXMtMjUuNi00LjItMzMuNC0xMi43em0tMTAxIDBjLTcuNy04LjUtMTEuNy0yMC43LTEyLTM2LjZsMzEuMyAwYy4yIDE0LjEgNS4xIDIxLjEgMTQuOCAyMS4xYzQuOSAwIDguNC0xLjYgMTAuNC00LjdjMi0zLjEgMy04IDMtMTQuOGMwLTUuNC0xLjMtOS45LTMuOS0xMy40Yy0zLjUtNC4yLTguMS03LjUtMTMuMi05LjVMMjUwLjIgMzY4Yy0xMC4zLTQuOS0xNy44LTEwLjgtMjIuNS0xNy42Yy00LjUtNi44LTYuNy0xNi4zLTYuNy0yOC40YzAtMTMuNiA0LTI0LjYgMTEuOC0zMy4xYzguMS04LjUgMTkuMS0xMi43IDMzLjItMTIuN2MxMy42IDAgMjQuMSA0LjIgMzEuNCAxMi41YzcuNiA4LjQgMTEuNSAyMC4zIDExLjkgMzUuOWwtMzAuMSAwYy4yLTUuMS0uOS0xMC4yLTMtMTQuOGMtMS43LTMuNC01LTUuMS0xMC01LjFjLTguOCAwLTEzLjIgNS4yLTEzLjIgMTUuN2MwIDUuMyAxLjEgOS40IDMuMiAxMi42YzMuMSAzLjUgNyA2LjIgMTEuNCA3LjhsMTEuMSA0LjljMTEuNSA1LjMgMTkuNyAxMS43IDI0LjggMTkuNGM1LjEgNy43IDcuNiAxOCA3LjYgMzFjMCAxNS41LTQuMSAyNy40LTEyLjMgMzUuN3MtMTkuNSAxMi41LTM0LjEgMTIuNXMtMjUuNi00LjItMzMuNC0xMi43em0tMTA1LjYgMS4xYy04LjQtNy43LTEyLjUtMTkuMi0xMi41LTM0LjVsMC03NS40YzAtMTUuMiA0LjQtMjYuNyAxMy4yLTM0LjZjOC45LTcuOCAyMC43LTExLjggMzUuMi0xMS44YzE0LjEgMCAyNS4yIDQgMzMuNCAxMmM4LjMgOCAxMi41IDIwIDEyLjUgMzUuOWwwIDYtMzMuMSAwIDAtNS44YzAtNi4xLTEuMy0xMC43LTQtMTMuNmMtMS4xLTEuNS0yLjYtMi43LTQuMy0zLjVzLTMuNS0xLjItNS40LTEuMWMtNS40IDAtOS4yIDEuOC0xMS40IDUuNmMtMi4zIDUuMi0zLjMgMTAuOC0zIDE2LjRsMCA2NS41YzAgMTMuNyA0LjggMjAuNiAxNC40IDIwLjhjNC41IDAgNy45LTEuNiAxMC4yLTQuOGMyLjUtNC4xIDMuNy04LjggMy41LTEzLjZsMC00LjkgMzMuMSAwIDAgNS4xYzAgMTAuNi0yLjEgMTkuNS02LjIgMjYuNmMtNCA2LjktOS45IDEyLjUtMTcuMSAxNmMtNy43IDMuNy0xNi4xIDUuNS0yNC42IDUuM2MtMTQuMiAwLTI1LjUtMy45LTMzLjgtMTEuNnoiXX0sVzd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imhhc2hub2RlIixpY29uOls1MTIsNTEyLFtdLCJlNDk5IiwiTTM1LjcgMTcxLjFjLTQ2LjkgNDYtNDYuOSAxMjIuOSAwIDE2OS44TDE3MS42IDQ3Ni44YzQ2IDQ2LjkgMTIyLjkgNDYuOSAxNjkuOCAwTDQ3Ny4zIDM0MC45YzQ2LjktNDYuOSA0Ni45LTEyMy44IDAtMTY5LjhMMzQxLjQgMzUuMmMtNDYuOS00Ni45LTEyMy44LTQ2LjktMTY5LjggMEwzNS43IDE3MS4xek0xOTYgMTk2LjVhODQuNSA4NC41IDAgMSAxIDEyMCAxMTkgODQuNSA4NC41IDAgMSAxIC0xMjAtMTE5eiJdfSxHN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmVkZGl0LWFsaWVuIixpY29uOls1MTIsNTEyLFtdLCJmMjgxIiwiTTM3MyAxMzguNmMtMjUuMiAwLTQ2LjMtMTcuNS01MS45LTQxLTMwLjYgNC4zLTU0LjIgMzAuNy01NC4yIDYyLjRsMCAuMmM0Ny40IDEuOCA5MC42IDE1LjEgMTI0LjkgMzYuMyAxMi42LTkuNyAyOC40LTE1LjUgNDUuNS0xNS41IDQxLjMgMCA3NC43IDMzLjQgNzQuNyA3NC43IDAgMjkuOC0xNy40IDU1LjUtNDIuNyA2Ny41LTIuNCA4Ni44LTk3IDE1Ni42LTIxMy4yIDE1Ni42UzQ1LjUgNDEwLjEgNDMgMzIzLjRjLTI1LjQtMTEuOS00My0zNy43LTQzLTY3LjcgMC00MS4zIDMzLjQtNzQuNyA3NC43LTc0LjcgMTcuMiAwIDMzIDUuOCA0NS43IDE1LjYgMzQtMjEuMSA3Ni44LTM0LjQgMTIzLjctMzYuNGwwLS4zYzAtNDQuMyAzMy43LTgwLjkgNzYuOC04NS41IDQuOS0yNC4yIDI2LjMtNDIuNCA1Mi4xLTQyLjQgMjkuNCAwIDUzLjMgMjMuOSA1My4zIDUzLjNzLTIzLjkgNTMuMy01My4zIDUzLjN6TTE1Ny41IDI1NS4zYy0yMC45IDAtMzguOSAyMC44LTQwLjIgNDcuOXMxNy4xIDM4LjEgMzggMzguMSAzNi42LTkuOCAzNy44LTM2LjktMTQuNy00OS4xLTM1LjctNDkuMWwuMSAwek0zOTUgMzAzLjFjLTEuMi0yNy4xLTE5LjItNDcuOS00MC4yLTQ3LjlzLTM2LjkgMjItMzUuNyA0OS4xIDE2LjkgMzYuOSAzNy44IDM2LjkgMzkuMy0xMSAzOC0zOC4xbC4xIDB6bS02MC4xIDcwLjhjMS41LTMuNi0xLTcuNy00LjktOC4xLTIzLTIuMy00Ny45LTMuNi03My44LTMuNnMtNTAuOCAxLjMtNzMuOCAzLjZjLTMuOSAuNC02LjQgNC41LTQuOSA4LjEgMTIuOSAzMC44IDQzLjMgNTIuNCA3OC43IDUyLjRzNjUuOC0yMS42IDc4LjctNTIuNHoiXX0sRUc9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGlrdG9rIixpY29uOls0NDgsNTEyLFtdLCJlMDdiIiwiTTQ0OC41IDIwOS45Yy00NCAuMS04Ny0xMy42LTEyMi44LTM5LjJsMCAxNzguN2MwIDMzLjEtMTAuMSA2NS40LTI5IDkyLjZzLTQ1LjYgNDgtNzYuNiA1OS42LTY0LjggMTMuNS05Ni45IDUuMy02MC45LTI1LjktODIuNy01MC44LTM1LjMtNTYtMzktODguOSAyLjktNjYuMSAxOC42LTk1LjIgNDAtNTIuNyA2OS42LTY3LjcgNjIuOS0yMC41IDk1LjctMTZsMCA4OS45Yy0xNS00LjctMzEuMS00LjYtNDYgLjRzLTI3LjkgMTQuNi0zNyAyNy4zLTE0IDI4LjEtMTMuOSA0My45IDUuMiAzMSAxNC41IDQzLjcgMjIuNCAyMi4xIDM3LjQgMjYuOSAzMS4xIDQuOCA0Ni0uMSAyOC0xNC40IDM3LjItMjcuMSAxNC4yLTI4LjEgMTQuMi00My44bDAtMzQ5LjQgODggMGMtLjEgNy40IC42IDE0LjkgMS45IDIyLjIgMy4xIDE2LjMgOS40IDMxLjkgMTguNyA0NS43czIxLjMgMjUuNiAzNS4yIDM0LjZjMTkuOSAxMy4xIDQzLjIgMjAuMSA2NyAyMC4xbDAgODcuNHoiXX0sWTd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndvcmRwcmVzcyIsaWNvbjpbNTEyLDUxMixbXSwiZjE5YSIsIk02MS43IDE2OS40bDEwMS41IDI3OGMtNzEtMzQuNC0xMTkuOS0xMDcuMi0xMTkuOS0xOTEuNCAwLTMwLjkgNi42LTYwLjEgMTguNC04Ni42em0zMzcuOSA3NS45YzAtMjYuMy05LjQtNDQuNS0xNy41LTU4LjctMTAuOC0xNy41LTIwLjktMzIuNC0yMC45LTQ5LjkgMC0xOS42IDE0LjgtMzcuOCAzNS43LTM3LjggLjkgMCAxLjggLjEgMi44IC4yLTM3LjktMzQuNy04OC4zLTU1LjktMTQzLjctNTUuOS03NC4zIDAtMTM5LjcgMzguMS0xNzcuOCA5NS45IDUgLjIgOS43IC4zIDEzLjcgLjMgMjIuMiAwIDU2LjctMi43IDU2LjctMi43IDExLjUtLjcgMTIuOCAxNi4yIDEuNCAxNy41IDAgMC0xMS41IDEuMy0yNC4zIDJsNzcuNSAyMzAuNCA0Ni42LTEzOS42LTMzLjEtOTAuOGMtMTEuNS0uNy0yMi4zLTItMjIuMy0yLTExLjUtLjctMTAuMS0xOC4yIDEuMy0xNy41IDAgMCAzNS4xIDIuNyA1NiAyLjcgMjIuMiAwIDU2LjctMi43IDU2LjctMi43IDExLjUtLjcgMTIuOCAxNi4yIDEuNCAxNy41IDAgMC0xMS41IDEuMy0yNC4zIDJsNzYuOSAyMjguNyAyMS4yLTcwLjljOS0yOS40IDE2LTUwLjUgMTYtNjguN3pNMjU5LjcgMjc0LjZMMTk1LjkgNDYwLjFjMTkuMSA1LjYgMzkuMiA4LjcgNjAuMSA4LjcgMjQuOCAwIDQ4LjUtNC4zIDcwLjYtMTIuMS0uNi0uOS0xLjEtMS45LTEuNS0yLjlMMjU5LjcgMjc0LjZ6bTE4My0xMjAuN2MuOSA2LjggMS40IDE0IDEuNCAyMS45IDAgMjEuNi00IDQ1LjgtMTYuMiA3Ni4ybC02NSAxODcuOWM2My4zLTM2LjkgMTA1LjgtMTA1LjQgMTA1LjgtMTgzLjkgMC0zNy05LjQtNzEuOC0yNi0xMDIuMXpNOCAyNTZhMjQ4IDI0OCAwIDEgMSA0OTYgMCAyNDggMjQ4IDAgMSAxIC00OTYgMHptNDg0LjYgMGEyMzYuNiAyMzYuNiAwIDEgMCAtNDczLjIgMCAyMzYuNiAyMzYuNiAwIDEgMCA0NzMuMiAweiJdfSxaN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaWRlYWwiLGljb246WzUxMiw1MTIsW10sImUwMTMiLCJNOTMuOCAxNjUuNWE0OS4xIDQ5LjEgMCAxIDAgMCA5OC4xIDQ5LjEgNDkuMSAwIDEgMCAwLTk4LjF6TTU0LjMgNDI1LjhsNzguOSAwIDAtMTQwLjUtNzguOSAwIDAgMTQwLjV6TTIwNS44IDIxNC4yYzAtMjAtMTAtMjIuNS0xOC43LTIyLjVsLTE0IDAgMCA0NS44IDE0IDBjOS43IDAgMTguNy0yLjggMTguNy0yMy4zem0yMDEuNyA0NmwwLTkxLjMgMjIuOCAwIDAgNjguNiAzMy43IDBDNDU0LjYgMTEzLjEgMzU2LjggODYuMiAyNjcuOCA4Ni4ybC05NC44IDAgMCA4Mi44IDE0IDBjMjUuNiAwIDQxLjUgMTcuNCA0MS41IDQ1LjMgMCAyOC44LTE1LjUgNDYtNDEuNSA0NmwtMTQgMCAwIDE2NS42IDk0LjggMGMxNDQuNiAwIDE5NC45LTY3LjIgMTk2LjctMTY1LjZsLTU3LjEgMHptLTEwOS44IDBsLTU2LjIgMCAwLTkxLjIgNTQuNCAwIDAgMjIuNy0zMS43IDAgMCAxMC42IDMwIDAgMCAyMi43LTMwIDAgMCAxMi41IDMzLjUgMCAwIDIyLjd6bTc0LjcgMGwtNS4yLTE3LjctMjkuNyAwLTUuMiAxNy43LTIzLjcgMCAyNy41LTkxLjMgMzIuMyAwIDI3LjUgOTEuMy0yMy43IDB6TTI2Ny44IDMyTC4xIDMyIC4xIDQ4MCAyNjcuOCA0ODBjMTYxLjggMCAyNTEtNzkuNyAyNTEtMjI0LjUgMC04My41LTMyLjYtMjIzLjUtMjUxLTIyMy41em0wIDQyNi45bC0yNDYuNiAwIDAtNDA1LjkgMjQ2LjYgMGMxNDIuMSAwIDIyOS45IDY0LjYgMjI5LjkgMjAyLjQgMCAxMzQuMS04MSAyMDMuNC0yMjkuOSAyMDMuNHptODMuOS0yNjQuOWwtNy41IDI1LjggMTYuNCAwLTcuNS0yNS44LTEuNCAweiJdfSxYN3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGllZC1waXBlci1wcCIsaWNvbjpbNDQ4LDUxMixbXSwiZjFhNyIsIk0yMDUuMyAxNzQuNmMwIDIxLjEtMTQuMiAzOC4xLTMxLjcgMzguMS03LjEgMC0xMi44LTEuMi0xNy4yLTMuN2wwLTY4YzQuNC0yLjcgMTAuMS00LjIgMTcuMi00LjIgMTcuNSAwIDMxLjcgMTYuOSAzMS43IDM3Ljh6bTUyLjYgNjdjLTcuMSAwLTEyLjggMS41LTE3LjIgNC4ybDAgNjhjNC40IDIuNSAxMC4xIDMuNyAxNy4yIDMuNyAxNy40IDAgMzEuNy0xNi45IDMxLjctMzcuOCAwLTIxLjEtMTQuMy0zOC4xLTMxLjctMzguMXpNNDQ4IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmwzNTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTg1IDI1NS4xYzQxIDAgNzQuMi0zNS42IDc0LjItNzkuNlMyMjYgOTUuOSAxODUgOTUuOWMtMTIgMC0yNC4xIDMuMi0zNC42IDguOGwtNDUuNyAwIDAgMjA2LjMgNTEuOC0xMC4xIDAtNTAuNmM4LjYgMy4xIDE4LjEgNC44IDI4LjUgNC44em0xNTguNCAyNS4zYzAtNDQtMzMuMi03OS42LTczLjktNzkuNi0zLjIgMC02LjQgLjItOS42IC43LTMuNyAxMi41LTEwLjEgMjMuOC0xOS4yIDMzLjQtMTMuOCAxNS0zMi4yIDIzLjgtNTEuOCAyNC44bDAgMTU2LjMgNTEuOC0xMC4xIDAtNTAuNmM4LjYgMy4yIDE4LjIgNC43IDI4LjcgNC43IDQwLjggMCA3NC0zNS42IDc0LTc5LjZ6Il19LEs3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1c3N1bm5haCIsaWNvbjpbNTEyLDUxMixbXSwiZjQwNyIsIk00OTYuOSAyNjguMWMwIDYzLjktMjUuNCAxMjUuMi03MC42IDE3MC4zUzMxOS45IDUwOSAyNTYgNTA5IDEzMC44IDQ4My41IDg1LjcgNDM4LjQgMTUuMSAzMzEuOSAxNS4xIDI2OGMwLTYzLjkgMjUuNC0xMjUuMiA3MC42LTE3MC40UzE5Mi4yIDI3LjEgMjU2LjEgMjcuMSAzODEuMyA1Mi40IDQyNi41IDk3LjYgNDk3IDIwNC4xIDQ5NyAyNjhsLS4xIC4xek0zOS41IDI2OGMtLjYgMjguOCA0LjUgNTcuNSAxNS4xIDg0LjNzMjYuNCA1MS4yIDQ2LjYgNzEuOCA0NC4yIDM3IDcwLjggNDguMSA1NS4xIDE2LjkgODMuOSAxNi45IDU3LjQtNS44IDgzLjktMTYuOSA1MC42LTI3LjUgNzAuOC00OC4xIDM2LTQ1IDQ2LjYtNzEuOCAxNS43LTU1LjUgMTUuMS04NC4zYy42LTI4LjgtNC41LTU3LjUtMTUuMS04NC4zcy0yNi40LTUxLjItNDYuNi03MS44LTQ0LjItMzctNzAuOC00OC4xLTU1LjEtMTYuOS04My45LTE2LjktNTcuNCA1LjgtODMuOSAxNi45LTUwLjYgMjcuNS03MC44IDQ4LjEtMzYgNDUtNDYuNiA3MS44LTE1LjcgNTUuNS0xNS4xIDg0LjN6bTM4NS45IDYzLjNjLTEyLjcgMC0yMS42LTEuOS0yNi43LTUuOS01LjUtNC4zLTguMi0xMi4zLTguMi0yMy44bDAtOTYuNWMwLTYuNS01LjItMjAuMi0xNS43LTQxLjIgNyAwIDE3LTkuMSAzMC0yNy4ybDAgMTQ3LjhjMCAxMSAyLjQgMTkuNCA3IDI1LjMgMy43IDQuNyAxMC4xIDguOSAxOSAxMi42IDEuMiAuNCAyLjYgLjkgNC4xIDEuNCAyLjkgLjkgNi4zIDIuMSAxMC4zIDMuNS0xLjggMi43LTguMyA0LTE5LjkgNGwuMSAwem0tMjE5IDBjLTEuMyAyLjQtMy42IDUuNS02LjggOS40bC0xOC41IDIyLjVjLTEtNi4xLTQtMTMtOS4zLTIwLjZzLTkuNy0xMS40LTEzLjQtMTEuNGwtODkuOCAwYzMuMy01LjMgNC45LTguOCA0LjktMTAuOHMtLjgtNS4zLTIuNC05LjdjLTEuNS00LjQtMi40LTguNS0yLjQtMTIuNCAwLTcuNCAyLjEtMTMuOSA2LjMtMTkuM2wyMC0yNS42LTcuMS0xNy43IDE2LjEtMTkuOCA2LjcgMTYuOCA4LTEwLjNjLTEuOCA2LjQtMi42IDEyLjMtMi42IDE3LjcgMCA0LjIgMi44IDEzLjMgOC4zIDI3LjNsMTYuMiA0MC43IDE3LjcgMGMyLjggLjQgNy43IDUgMTQuNiAxMy45IDEuOCAyLjQgNC4zIDUuOCA3LjcgMTAuMiAxLjQgMS45IDIuOSAzLjkgNC42IDYuMSAxLjMtMi4zIDItNC42IDItNy4xIDAtMi0xLjMtNi42LTQtMTMuNEwxNzggMzA0LjFjLTQtMTAuNi02LjEtMTcuNy02LjEtMjEuMyAwLTYuMyAxLjktMTIuMyA1LjgtMTcuOSAuNS0uNiAxLTEuMyAxLjUtMS45IDQuNC01LjYgOC44LTExLjEgMTMuMy0xNi41LTEuMSA0LjYtMS43IDguNy0xLjcgMTIgMCAzLjcgMS43IDkuOSA1LjEgMTguOGw3LjkgMjAuNGMxLjkgNC43IDMgOC4yIDMuNyAxMC4zbDI1LjkgMC0uOS0yLjZjLTEuNC0zLjktNC03LTcuNy05LjNsMTUuNi0yMC4xIDEyLjMgMzIgMTMuNCAwLTYuMS0xNS44Yy0xLjUtMy45LTQtNy03LjctOS4zbDE1LjctMjAuMSAxNy4zIDQ1LjIgMTMuNCAwLTExLjQtMjkuNGMtMS41LTMuOS00LTctNy43LTkuM2wxNS42LTIwIDIyLjQgNTguNyAyNi4yIDBjMS41IDAgMy0xLjEgNC41LTMuMXMyLjItNC4xIDIuMi02LjNsMC05My41YzAtNi41LTQuNS0yMC4zLTEzLjctNDEuMiA1LjQgMCAxNC4xLTkuMSAyNi4yLTI3LjJsMCAxNjMuNWMwIDcuMiAuNiAxMiAxLjcgMTQuNiAxLjYgMy40IDUuMyA2LjIgMTEuMSA4LjItMy45IDUuNi04LjcgOC41LTE0LjUgOC41bC0xNTQuOCAwLS4xLS4yem0tOTgtNDRjLTIuNy02LjctNC0xMS43LTQtMTUtLjYgMS4yLTIuNCAzLjctNS40IDcuNi0xLjQgMS45LTIuMiAzLjctMi4yIDUuMyAwIDIuNiAuOCA1LjcgMi4yIDkuM2w1LjYgMTMuOWM1IDAgOSAwIDExLjktLjFsLTguMi0yMC45IC4xLS4xem0xMy41LTcyLjRjLTMtNS4yLTctOS4zLTExLjktMTEuOS0zLjUtMS45LTUuMy00LjMtNS4zLTcuNCAwLTIuNCA0LjYtOC42IDE0LTE4LjMgLjIgMy44IDEuOSA3LjYgNC45IDExLjIgMy4xIDMuNiA0LjYgNyA0LjYgMTAuMSAwIDIuNi0yLjEgOC02LjIgMTYuM2wtLjEgMHptLTI3LjYgMGMtMy01LjItNy05LjMtMTEuOS0xMS45LTMuNS0xLjktNS4zLTQuMy01LjMtNy40IDAtMi40IDQuNi04LjYgMTQtMTguMyAuMiAzLjggMS45IDcuNiA0LjkgMTEuMiAzLjEgMy42IDQuNiA3IDQuNiAxMC4xIDAgMi42LTIuMSA4LTYuMiAxNi4zbC0uMSAwem04NyAyNy41Yy0zLTUuMi03LTkuMy0xMS45LTExLjktMy41LTEuOS01LjMtNC4zLTUuMy03LjQgMC0yLjQgNC42LTguNiAxNC0xOC4zIC4yIDMuOCAxLjkgNy42IDQuOSAxMS4yIDMuMSAzLjYgNC42IDcgNC42IDEwLjEgMCAyLjYtMi4xIDgtNi4yIDE2LjNsLS4xIDB6Il19LFE3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmb3J0LWF3ZXNvbWUtYWx0IixpY29uOls1MTIsNTEyLFtdLCJmM2EzIiwiTTIwOCAyMzcuNGwtMjIuMiAwYy0yLjEgMC0zLjcgMS42LTMuNyAzLjdsMCA1MS43YzAgMi4xIDEuNiAzLjcgMy43IDMuN2wyMi4yIDBjMi4xIDAgMy43LTEuNiAzLjctMy43bDAtNTEuN2MwLTIuMS0xLjYtMy43LTMuNy0zLjd6bTExOC4yIDBsLTIyLjIgMGMtMi4xIDAtMy43IDEuNi0zLjcgMy43bDAgNTEuN2MwIDIuMSAxLjYgMy43IDMuNyAzLjdsMjIuMiAwYzIuMSAwIDMuNy0xLjYgMy43LTMuN2wwLTUxLjdjLS4xLTIuMS0xLjctMy43LTMuNy0zLjd6bTEzMi0xMjUuMWMtMi4zLTMuMi00LjYtNi40LTcuMS05LjUtOS44LTEyLjUtMjAuOC0yNC0zMi44LTM0LjQtNC41LTMuOS05LjEtNy42LTEzLjktMTEuMi0xLjYtMS4yLTMuMi0yLjMtNC44LTMuNS0yNy42LTE5LjYtNTkuMy0zMy43LTkzLjYtNDAuNy0xNi4yLTMuMy0zMi45LTUtNTAtNXMtMzMuOSAxLjctNTAgNWMtMzQuMyA3LjEtNjYgMjEuMi05My4zIDQwLjgtMS42IDEuMS0zLjIgMi4zLTQuOCAzLjUtNC44IDMuNi05LjQgNy4zLTEzLjkgMTEuMi0zIDIuNi01LjkgNS4zLTguOCA4cy01LjcgNS41LTguNCA4LjRjLTUuNSA1LjctMTAuNyAxMS44LTE1LjYgMTgtMi40IDMuMS00LjggNi4zLTcuMSA5LjUtMjguOSA0MC42LTQ1LjggOTAuMS00NS44IDE0My42IDAgMiAuMSA0IC4xIDYgLjEgLjcgLjEgMS4zIC4xIDIgLjEgMS4zIC4xIDIuNyAuMiA0IDAgLjggLjEgMS41IC4xIDIuMyAwIDEuMyAuMSAyLjUgLjIgMy43IC4xIC44IC4xIDEuNiAuMiAyLjQgLjEgMS4xIC4yIDIuMyAuMyAzLjUgMCAuOCAuMSAxLjYgLjIgMi40IC4xIDEuMiAuMyAyLjQgLjQgMy42IC4xIC44IC4yIDEuNSAuMyAyLjMgLjEgMS4zIC4zIDIuNiAuNSAzLjkgLjEgLjYgLjIgMS4zIC4zIDEuOWwuOSA1LjdjLjEgLjYgLjIgMS4xIC4zIDEuNyAuMyAxLjMgLjUgMi43IC44IDQgLjIgLjggLjMgMS42IC41IDIuNCAuMiAxIC41IDIuMSAuNyAzLjIgLjIgLjkgLjQgMS43IC42IDIuNiAuMiAxIC40IDIgLjcgMyAuMiAuOSAuNSAxLjggLjcgMi43IC4zIDEgLjUgMS45IC44IDIuOSAuMyAuOSAuNSAxLjggLjggMi43IC4yIC45IC41IDEuOSAuOCAyLjhzLjUgMS44IC44IDIuN2MuMyAxIC42IDEuOSAuOSAyLjggLjYgMS42IDEuMSAzLjMgMS43IDQuOSAuNCAxIC43IDEuOSAxIDIuOCAuMyAxIC43IDIgMS4xIDMgLjMgLjggLjYgMS41IC45IDIuM2wxLjIgM2MuMyAuNyAuNiAxLjUgLjkgMi4yIC40IDEgLjkgMiAxLjMgM2wuOSAyLjFjLjUgMSAuOSAyIDEuNCAzIC4zIC43IC42IDEuMyAuOSAyIC41IDEgMSAyLjEgMS41IDMuMSAuMiAuNiAuNSAxLjEgLjggMS43IC42IDEuMSAxLjEgMi4yIDEuNyAzLjMgLjEgLjIgLjIgLjMgLjMgLjUgMi4yIDQuMSA0LjQgOC4yIDYuOCAxMi4yIC4yIC40IC41IC44IC43IDEuMiAuNyAxLjEgMS4zIDIuMiAyIDMuMyAuMyAuNSAuNiAuOSAuOSAxLjQgLjYgMS4xIDEuMyAyLjEgMiAzLjIgLjMgLjUgLjYgLjkgLjkgMS40IC43IDEuMSAxLjQgMi4xIDIuMSAzLjIgLjIgLjQgLjUgLjggLjggMS4yIC43IDEuMSAxLjUgMi4yIDIuMyAzLjMgLjIgLjIgLjMgLjUgLjUgLjcgMzcuNSA1MS43IDk0LjQgODguNSAxNjAgOTkuNCAuOSAuMSAxLjcgLjMgMi42IC40IDEgLjIgMi4xIC40IDMuMSAuNXMxLjkgLjMgMi44IC40YzEgLjIgMiAuMyAzIC40IC45IC4xIDEuOSAuMiAyLjkgLjNzMS45IC4yIDIuOSAuMyAyLjEgLjIgMy4xIC4zYy45IC4xIDEuOCAuMSAyLjcgLjIgMS4xIC4xIDIuMyAuMSAzLjQgLjIgLjggMCAxLjcgLjEgMi41IC4xIDEuMyAwIDIuNiAuMSAzLjkgLjEgLjcgLjEgMS40IC4xIDIuMSAuMSAyIC4xIDQgLjEgNiAuMXM0LS4xIDYtLjFjLjcgMCAxLjQtLjEgMi4xLS4xIDEuMyAwIDIuNiAwIDMuOS0uMSAuOCAwIDEuNy0uMSAyLjUtLjEgMS4xLS4xIDIuMy0uMSAzLjQtLjIgLjkgMCAxLjgtLjEgMi43LS4yIDEtLjEgMi4xLS4yIDMuMS0uM3MxLjktLjIgMi45LS4zYy45LS4xIDEuOS0uMiAyLjktLjNzMi0uMyAzLS40IDEuOS0uMyAyLjgtLjRjMS0uMiAyLjEtLjMgMy4xLS41IC45LS4xIDEuNy0uMyAyLjYtLjQgNjUuNi0xMSAxMjIuNS00Ny43IDE2MC4xLTEwMi40IC4yLS4yIC4zLS41IC41LS43IC44LTEuMSAxLjUtMi4yIDIuMy0zLjMgLjItLjQgLjUtLjggLjgtMS4yIC43LTEuMSAxLjQtMi4xIDIuMS0zLjIgLjMtLjUgLjYtLjkgLjktMS40IC42LTEuMSAxLjMtMi4xIDItMy4yIC4zLS41IC42LS45IC45LTEuNCAuNy0xLjEgMS4zLTIuMiAyLTMuMyAuMi0uNCAuNS0uOCAuNy0xLjIgMi40LTQgNC42LTguMSA2LjgtMTIuMiAuMS0uMiAuMi0uMyAuMy0uNSAuNi0xLjEgMS4xLTIuMiAxLjctMy4zIC4yLS42IC41LTEuMSAuOC0xLjcgLjUtMSAxLTIuMSAxLjUtMy4xIC4zLS43IC42LTEuMyAuOS0yIC41LTEgMS0yIDEuNC0zbC45LTIuMWMuNS0xIC45LTIgMS4zLTMgLjMtLjcgLjYtMS41IC45LTIuMmwxLjItM2MuMy0uOCAuNi0xLjUgLjktMi4zIC40LTEgLjctMiAxLjEtM3MuNy0xLjkgMS0yLjhjLjYtMS42IDEuMi0zLjMgMS43LTQuOSAuMy0xIC42LTEuOSAuOS0yLjhzLjUtMS44IC44LTIuN2MuMi0uOSAuNS0xLjkgLjgtMi44cy42LTEuOCAuOC0yLjdjLjMtMSAuNS0xLjkgLjgtMi45IC4yLS45IC41LTEuOCAuNy0yLjcgLjItMSAuNS0yIC43LTMgLjItLjkgLjQtMS43IC42LTIuNiAuMi0xIC41LTIuMSAuNy0zLjIgLjItLjggLjMtMS42IC41LTIuNCAuMy0xLjMgLjYtMi43IC44LTQgLjEtLjYgLjItMS4xIC4zLTEuN2wuOS01LjdjLjEtLjYgLjItMS4zIC4zLTEuOSAuMS0xLjMgLjMtMi42IC41LTMuOSAuMS0uOCAuMi0xLjUgLjMtMi4zIC4xLTEuMiAuMy0yLjQgLjQtMy42IDAtLjggLjEtMS42IC4yLTIuNCAuMS0xLjEgLjItMi4zIC4zLTMuNSAuMS0uOCAuMS0xLjYgLjItMi40IC4xIDEuNyAuMSAuNSAuMi0uNyAwLS44IC4xLTEuNSAuMS0yLjMgLjEtMS4zIC4yLTIuNyAuMi00IC4xLS43IC4xLTEuMyAuMS0yIC4xLTIgLjEtNCAuMS02IDAtNTMuNS0xNi45LTEwMy00NS44LTE0My43ek00NDggMzcxLjVjLTkuNCAxNS41LTIwLjYgMjkuOS0zMy42IDQyLjktMjAuNiAyMC42LTQ0LjUgMzYuNy03MS4yIDQ4LTEzLjkgNS44LTI4LjIgMTAuMy00Mi45IDEzLjJsMC03NS44YzAtNTguNi04OC42LTU4LjYtODguNiAwbDAgNzUuOGMtMTQuNy0yLjktMjktNy4zLTQyLjktMTMuMi0yNi43LTExLjMtNTAuNi0yNy40LTcxLjItNDgtMTMtMTMtMjQuMi0yNy40LTMzLjYtNDIuOWwwLTcxLjNjMC0yLjEgMS42LTMuNyAzLjctMy43bDIyLjEgMGMyLjEgMCAzLjcgMS42IDMuNyAzLjdsMCAyNS44IDI5LjYgMCAwLTE0NGMwLTIuMSAxLjYtMy43IDMuNy0zLjdsMjIuMSAwYzIuMSAwIDMuNyAxLjYgMy43IDMuN2wwIDI1LjkgMjkuNSAwIDAtMjUuOWMwLTIuMSAxLjYtMy43IDMuNy0zLjdsMjIuMiAwYzIuMSAwIDMuNyAxLjYgMy43IDMuN2wwIDI1LjkgMjkuNSAwIDAtMjUuOWMwLTQuOCA2LjUtMy43IDkuNS0zLjdsMC05MC4yYy00LjQtMi03LjQtNi43LTcuNC0xMS41IDAtMTYuOCAyNS40LTE2LjggMjUuNCAwIDAgNC44LTMgOS40LTcuNCAxMS41bDAgMy45YzYuMy0xLjQgMTIuNy0yLjMgMTkuMi0yLjMgOS40IDAgMTguNCAzLjUgMjYuMyAzLjUgNy4yIDAgMTUuMi0zLjUgMTkuNC0zLjUgMi4xIDAgMy43IDEuNiAzLjcgMy43bDAgNDguNGMwIDUuNi0xOC43IDYuNS0yMi40IDYuNS04LjYgMC0xNi42LTMuNS0yNS40LTMuNS03IDAtMTQuMSAxLjItMjAuOCAyLjhsMCAzMC43YzMgMCA5LjUtMS4xIDkuNSAzLjdsMCAyNS45IDI5LjUgMCAwLTI1LjljMC0yLjEgMS42LTMuNyAzLjctMy43bDIyLjIgMGMyLjEgMCAzLjcgMS42IDMuNyAzLjdsMCAyNS45IDI5LjUgMCAwLTI1LjljMC0yLjEgMS42LTMuNyAzLjctMy43bDIyLjEgMGMyLjEgMCAzLjcgMS42IDMuNyAzLjdsMCAxNDQgMjkuNSAwIDAtMjUuOGMwLTIuMSAxLjYtMy43IDMuNy0zLjdsMjIuMiAwYzIuMSAwIDMuNyAxLjYgMy43IDMuN2wwIDcxLjN6Il19LEo3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJidXJvbW9iZWxleHBlcnRlIixpY29uOls0NDgsNTEyLFtdLCJmMzdmIiwiTTAgMzJsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6TTEyMCAxNTJsLTExMiAwIDAtMTEyIDExMiAwIDAgMTEyek0xNjAgMzJsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6TTI4MCAxNTJsLTExMiAwIDAtMTEyIDExMiAwIDAgMTEyek0zMjAgMzJsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6TTQ0MCAxNTJsLTExMiAwIDAtMTEyIDExMiAwIDAgMTEyek0wIDE5MmwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHpNMTIwIDMxMmwtMTEyIDAgMC0xMTIgMTEyIDAgMCAxMTJ6bTQwLTEyMGwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHpNMjgwIDMxMmwtMTEyIDAgMC0xMTIgMTEyIDAgMCAxMTJ6bTQwLTEyMGwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHpNNDQwIDMxMmwtMTEyIDAgMC0xMTIgMTEyIDAgMCAxMTJ6TTAgMzUybDAgMTI4IDEyOCAwIDAtMTI4LTEyOCAwek0xMjAgNDcybC0xMTIgMCAwLTExMiAxMTIgMCAwIDExMnptNDAtMTIwbDAgMTI4IDEyOCAwIDAtMTI4LTEyOCAwek0yODAgNDcybC0xMTIgMCAwLTExMiAxMTIgMCAwIDExMnptNDAtMTIwbDAgMTI4IDEyOCAwIDAtMTI4LTEyOCAweiJdfSxlaHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmlsaWJpbGkiLGljb246WzUxMiw1MTIsW10sImUzZDkiLCJNNDg4LjYgMTA0LjFjMTYuNyAxOC4xIDI0LjQgMzkuNyAyMy4zIDY1LjdsMCAyMDIuNGMtLjQgMjYuNC05LjIgNDguMS0yNi41IDY1LjEtMTcuMiAxNy0zOS4xIDI1LjktNjUuNSAyNi43TDkyIDQ2NGMtMjYuNC0uOC00OC4yLTkuOC02NS4zLTI3LjItMTcuMS0xNy40LTI2LTQwLjMtMjYuNy02OC42TDAgMTY5LjhjLjgtMjYgOS43LTQ3LjYgMjYuNy02NS43IDE3LjEtMTYuMyAzOC44LTI1LjMgNjUuMy0yNi4xbDI5LjQgMC0yNS40LTI1LjhjLTUuNy01LjctOC42LTEzLTguNi0yMS44czIuOS0xNi4xIDguNi0yMS44IDEzLTguNiAyMS45LTguNiAxNi4xIDIuOSAyMS45IDguNmw3My4zIDY5LjQgODggMCA3NC41LTY5LjRDMzgxLjcgMi45IDM4OS4yIDAgMzk4IDBzMTYuMSAyLjkgMjEuOSA4LjZjNS43IDUuNyA4LjYgMTMgOC42IDIxLjhzLTIuOSAxNi4xLTguNiAyMS44TDM5NC42IDc4IDQyMy45IDc4YzI2LjQgLjggNDggOS44IDY0LjcgMjYuMXptLTM4LjggNjkuN2MtLjQtOS42LTMuNy0xNy40LTEwLjctMjMuNS01LjItNi4xLTE0LTkuNC0yMi43LTkuOGwtMzIwLjQgMGMtOS42IC40LTE3LjQgMy43LTIzLjYgOS44LTYuMSA2LjEtOS40IDEzLjktOS44IDIzLjVsMCAxOTQuNGMwIDkuMiAzLjMgMTcgOS44IDIzLjVzMTQuNCA5LjggMjMuNiA5LjhsMzIwLjQgMGM5LjIgMCAxNy0zLjMgMjMuMy05LjhzOS43LTE0LjMgMTAuMS0yMy41bDAtMTk0LjR6TTE4NS41IDIxNi41YzYuMyA2LjMgOS43IDE0LjEgMTAuMSAyMy4ybDAgMzMuM2MtLjQgOS4yLTMuNyAxNi45LTkuOCAyMy4yLTYuMiA2LjMtMTQgOS41LTIzLjYgOS41cy0xNy41LTMuMi0yMy42LTkuNS05LjQtMTQtOS44LTIzLjJsMC0zMy4zYy40LTkuMSAzLjgtMTYuOSAxMC4xLTIzLjJzMTMuMi05LjYgMjMuMy0xMGM5LjIgLjQgMTcgMy43IDIzLjMgMTB6bTE5MS41IDBjNi4zIDYuMyA5LjcgMTQuMSAxMC4xIDIzLjJsMCAzMy4zYy0uNCA5LjItMy43IDE2LjktOS44IDIzLjJzLTE0IDkuNS0yMy42IDkuNS0xNy40LTMuMi0yMy42LTkuNWMtNy02LjMtOS40LTE0LTkuNy0yMy4ybDAtMzMuM2MuMy05LjEgMy43LTE2LjkgMTAtMjMuMnMxNC4xLTkuNiAyMy4zLTEwYzkuMiAuNCAxNyAzLjcgMjMuMyAxMHoiXX0sdGh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5lb3MiLGljb246WzQ0OCw1MTIsW10sImY2MTIiLCJNMzgzLjggNTEybC05NS4xIDAtMTA4LjItMTU0LjUgMCA5MS4xLTg2LjQgNjMuNC05Ny43IDAgMC00ODIuMiA0MC41LTI5LjggMTA4IDAgMTIzLjcgMTc2LjEgMC0xMTIuNyA4Ni40LTYzLjQgOTcuNyAwIDAgNDYxLjUtNjguOSA1MC41ek03LjIgMzUuM2wwIDQ2MC43IDcyLTUyLjkgMC0yNDkuMSAyMTUuNSAzMDcuNiA4NC44IDAgNTIuNC0zOC4yLTc4LjMgMC0zMTYuMS00NTAuNS0zMC4yIDIyLjN6TTg5LjcgNTAxLjlsODAtNTguOCAwLTEwMS03OS44LTExNC40IDAgMjIwLjktNzIuNiA1My4zIDcyLjMgMCAwIDB6TTQ5IDEwLjhsMzEwLjYgNDQyLjYgODIuNCAwIDAtNDQyLjYtNzkuOCAwIDAgMzE3LjYtMjIyLjktMzE3LjYtOTAuMyAwek0yNzkuNCAxOTEuNmw3MiAxMDIuOCAwLTI3OC41LTcyIDUzIDAgMTIyLjd6Il19LGFodD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkZXYiLGljb246WzQ0OCw1MTIsW10sImY2Y2MiLCJNMTIwLjEgMjA4LjNjLTMuOS0yLjktNy44LTQuMy0xMS42LTQuM2wtMTcuNCAwIDAgMTA0LjUgMTcuNCAwYzMuOSAwIDcuOC0xLjQgMTEuNi00LjNzNS44LTcuMyA1LjgtMTMuMWwwLTY5LjdjMC01LjgtMi0xMC4yLTUuOC0xMy4xek00MDQuMSAzMkw0My45IDMyQzE5LjcgMzIgLjEgNTEuNiAwIDc1LjhMMCA0MzYuMkMuMSA0NjAuNCAxOS43IDQ4MCA0My45IDQ4MGwzNjAuMiAwYzI0LjIgMCA0My44LTE5LjYgNDMuOS00My44bDAtMzYwLjRDNDQ3LjkgNTEuNiA0MjguMyAzMiA0MDQuMSAzMnpNMTU0LjIgMjkxLjJjMCAxOC44LTExLjYgNDcuMy00OC40IDQ3LjNsLTQ2LjQgMCAwLTE2NS41IDQ3LjQgMGMzNS40IDAgNDcuNCAyOC41IDQ3LjQgNDcuM2wwIDcwLjl6bTEwMC43LTg4LjdsLTUzLjMgMCAwIDM4LjQgMzIuNiAwIDAgMjkuNi0zMi42IDAgMCAzOC40IDUzLjMgMCAwIDI5LjYtNjIuMiAwYy0xMS4yIC4zLTIwLjQtOC41LTIwLjctMTkuN2wwLTEyNS4xYy0uMy0xMS4xIDguNi0yMC40IDE5LjctMjAuN2w2My4yIDAgMCAyOS41ek0zNTguNSAzMTcuOGMtMTMuMiAzMC43LTM2LjggMjQuNi00Ny40IDBsLTM4LjUtMTQ0LjggMzIuNiAwIDI5LjcgMTEzLjcgMjkuNi0xMTMuNyAzMi42IDAtMzguNSAxNDQuOHoiXX0scmh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImhvdGphciIsaWNvbjpbNTEyLDUxMixbXSwiZjNiMSIsIk0zNjEuOCAwYzAgMTMxLjYtODAuNyAxNzYuOC0xNDAuMiAyMDkuNC0uNiAuMy0xLjEgLjYtMS42IC45LTUzLjggMzAuMi04OC43IDQ5LjgtODkuNiAxMjJsLTk4LjEgMGMwLTEzMS41IDgwLjctMTc2LjcgMTQwLjItMjA5LjMgNTQuOC0yOS44IDkwLjMtNTAgOTAuMy0xMjNsOTkgMHpNMzAxLjMgMzAyLjZjNTQuOC0yOS44IDkwLjMtNTAgOTAuMy0xMjNsOTggMGMwIDEzMS42LTgwLjcgMTc2LjctMTQwLjIgMjA5LjQtNTQuOCAyOS44LTkwLjMgNTAtOTAuMyAxMjNsLTk4IDBjMC0xMzEuNiA4MC43LTE3Ni44IDE0MC4yLTIwOS40eiJdfSxpaHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZG9jaHViIixpY29uOls0NDgsNTEyLFtdLCJmMzk0IiwiTTQxMy45IDE2MEwyNzIgMTYwIDI3MiAxOS42IDQxMy45IDE2MHpNMzIwIDE5MmwwIDEzMGMwIDY2LjgtMzYuNSAxMDAuMS0xMTMuMyAxMDAuMWwtOTQuNyAwIDAtMzM3LjMgOTQuNyAwYzEyIDAgMjMuMSAuOCAzMy4xIDIuNWwwLTg0QzIyOC45IDEuMSAyMTcuNCAwIDIwNS4yIDBMMTYgMCAxNiA1MTIgMjA1LjIgNTEyQzM0NS43IDUxMiA0MTYgNDQ3LjQgNDE2IDMxOC4xbDAtMTI2LjEtOTYgMHoiXX0sc2h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZpbWVvIixpY29uOls0NDgsNTEyLFtdLCJmNDBhIiwiTTQwMy4yIDMyTDQ0LjggMzJDMjAuMSAzMiAwIDUyLjEgMCA3Ni44TDAgNDM1LjJDMCA0NTkuOSAyMC4xIDQ4MCA0NC44IDQ4MGwzNTguNCAwYzI0LjcgMCA0NC44LTIwLjEgNDQuOC00NC44bDAtMzU4LjRDNDQ4IDUyLjEgNDI3LjkgMzIgNDAzLjIgMzJ6TTM3NyAxODAuOGMtMS40IDMxLjUtMjMuNCA3NC43LTY2IDEyOS40LTQ0IDU3LjItODEuMyA4NS44LTExMS43IDg1LjgtMTguOSAwLTM0LjgtMTcuNC00Ny45LTUyLjMtMjUuNS05My4zLTM2LjQtMTQ4LTU3LjQtMTQ4LTIuNCAwLTEwLjkgNS4xLTI1LjQgMTUuMkw1My40IDE5MS4zYzM3LjMtMzIuOCA3Mi45LTY5LjIgOTUuMi03MS4yIDI1LjItMi40IDQwLjcgMTQuOCA0Ni41IDUxLjcgMjAuNyAxMzEuMiAyOS45IDE1MSA2Ny42IDkxLjYgMTMuNS0yMS40IDIwLjgtMzcuNyAyMS44LTQ4LjkgMy41LTMzLjItMjUuOS0zMC45LTQ1LjgtMjIuNCAxNS45LTUyLjEgNDYuMy03Ny40IDkxLjItNzYgMzMuMyAuOSA0OSAyMi41IDQ3LjEgNjQuN3oiXX0sb2h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1heGNkbiIsaWNvbjpbNTEyLDUxMixbXSwiZjEzNiIsIk00NjEuMSA0NDIuN2wtOTcuNCAwIDUxLjktMjQyLjdjMi4zLTEwLjIgLjktMTkuNS00LjQtMjUuNy01LTYuMS0xMy43LTkuNi0yNC4yLTkuNmwtNDkuMyAwLTU5LjUgMjc4LTk3LjQgMCA1OS41LTI3OC04My40IDAtNTkuNSAyNzgtOTcuNCAwIDU5LjUtMjc4LTQ0LjYtOTUuNCAzNzIuMSAwYzM5LjQgMCA3NS4zIDE2LjMgOTguMyA0NC45IDIzLjMgMjguNiAzMS44IDY3LjQgMjMuNiAxMDUuOUw0NjEuMSA0NDIuN3oiXX0sVG9lPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1mb250LWF3ZXNvbWUtc3Ryb2tlIixpY29uOls0NDgsNTEyLFsiZm9udC1hd2Vzb21lLWFsdCJdLCJmMzVjIiwiTTY0IDY0QzQ2LjMgNjQgMzIgNzguMyAzMiA5NmwwIDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMkw2NCA2NHpNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTE1NCA1OGMwIDkuMy00LjggMTcuNC0xMi4xIDIybDE4OC45IDBjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgMS44LS40IDMuNy0xLjEgNS40TDMxMiAyNjQgMzQyLjkgMzMzLjRjLjggMS43IDEuMSAzLjUgMS4xIDUuNCAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJsLTE4Ni44IDAgMCAzMi0zMiAwIDAtMjA5LjVjLTYuMS00LjgtMTAtMTIuMi0xMC0yMC41IDAtMTQuNCAxMS42LTI2IDI2LTI2czI2IDExLjYgMjYgMjZ6Il19LG5odD1Ub2UsbGh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNwZWFrYXAiLGljb246WzQ0OCw1MTIsW10sImYzZjMiLCJNNjQuNCAzOTEuOEMtMTUgMzAzLjYtNy42IDE2Ny40IDgxLjEgODcuNnMyMjQuOC03MyAzMDQuMiAxNS4yIDcyIDIyNC40LTE2LjYgMzA0LjFjLTE4LjcgMTYuOSA2NCA0My4xIDQyIDUyLjMtODIuMSAzNC4yLTI1My45IDM1LTM0Ni4yLTY3LjVsMCAwek0yNzcuNyAxODAuMmwzOC41LTQwLjljLTkuNi04LjktMzItMjYuOC03Ni4yLTI3LjYtNTIuMy0uOS05NS45IDI4LjMtOTYuOCA4MC0uMiAxMS4zIC4zIDM2LjcgMjkuNCA1NC44IDM0LjUgMjEuNCA4Ni41IDIxLjUgODYgNTIuMy0uNCAyMS4zLTI2LjQgMjUuOC0zOC42IDI1LjYtMyAwLTMwLjItLjUtNDcuNi0yNC42bC00MCA0Mi42YzI4LjIgMjcgNTkgMzIuNiA4My41IDMzIDEwLjIgLjIgOTYuNCAuMyA5Ny44LTgxIC4zLTE1LjgtMi4xLTM5LjctMjguOS01Ni42LTM0LjQtMjEuNi04NS0xOS40LTg0LjQtNDkuNyAuNC0yMy4zIDMxLTI1LjQgMzcuNS0yNS4zIC40IDAgMjYuNiAuMyAzOS42IDE3LjRsMCAweiJdfSxjaHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmFudGFzeS1mbGlnaHQtZ2FtZXMiLGljb246WzUxMiw1MTIsW10sImY2ZGMiLCJNMjU2IDMyLjlMMzIuOSAyNTYgMjU2IDQ3OS4xIDQ3OS4xIDI1NiAyNTYgMzIuOXpNODguMyAyNTUuOGMyLTIgMTEuOS0xMi4zIDk2LjUtOTcuNSA0MS40LTQxLjggODYuMi00My44IDExOS44LTE4LjcgMjQuNiAxOC40IDYyLjEgNTguOSA2Mi4xIDU5IC43IC43IDEuMSAyLjkgLjYgMy40LTExLjMgMTEuOC0yMi43IDIzLjUtMzMuNSAzNC43LTM0LjItMzIuMy00MC41LTM4LjItNDguNS00NC0xNy44LTEyLjctNDEuNC0xMC4xLTU3IDUuMS0yLjIgMi4xLTEuOCAzLjQgLjEgNS40IDIuOSAyLjkgMjguMSAyOC4zIDM1LjEgMzUuOC0xMS45IDExLjYtMjMuNyAyMy0zNS43IDM0LjctMTItMTIuNS0yNC41LTI1LjUtMzYuNS0zOC4xLTIxLjQgMjEuMS00MS43IDQxLjEtNjEuOCA2MUw4OC4zIDI1NS44ek0zMjMuMiAzNTcuNGMtMzUuNSAzNS40LTc4LjEgMzguMS0xMDcgMjAuNS0yMi4xLTEzLjUtMzkuNC0zMi4xLTcyLjktNjYuOCAxMi0xMi40IDIzLjgtMjQuNCAzNS40LTM2LjMgMzMgMzEuOSAzNy4xIDM2IDQ0LjcgNDIuMSAxOC41IDE0LjcgNDIuNSAxMy43IDU5LjMtMS44IDMuNy0zLjQgMy43LTMuNiAuMS03LjItMTAuNi0xMC43LTIxLjItMjEuNC0zMS44LTMyLjItMS4zLTEuMy0zLTIuNS0uOC00LjcgMTAuOC0xMC43IDIxLjUtMjEuNSAzMi4yLTMyLjMgLjMtLjMgLjYtLjQgMS45LTEuMSAxMi40IDEyLjkgMjQuOSAyNS45IDM3LjIgMzguOCAyMS0yMC43IDQxLjItNDAuNyA2MS4zLTYwLjQgMTMuNyAxMy40IDI3LjEgMjYuNiA0MC45IDQwLTIwLjIgMjAuOS04MS43IDgyLjctMTAwLjUgMTAxLjV6TTI1NiAwTDAgMjU2IDI1NiA1MTIgNTEyIDI1NiAyNTYgMHpNMTYgMjU2TDI1NiAxNiA0OTYgMjU2IDI1NiA0OTYgMTYgMjU2eiJdfSxkaHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGludXgiLGljb246WzQ0OCw1MTIsW10sImYxN2MiLCJNMjIwLjkgMTIzLjNjMSAuNSAxLjggMS43IDMgMS43IDEuMSAwIDIuOC0uNCAyLjktMS41IC4yLTEuNC0xLjktMi4zLTMuMi0yLjktMS43LS43LTMuOS0xLTUuNS0uMS0uNCAuMi0uOCAuNy0uNiAxLjEgLjMgMS4zIDIuMyAxLjEgMy40IDEuN3pNMTk5IDEyNWMxLjIgMCAyLTEuMiAzLTEuNyAxLjEtLjYgMy4xLS40IDMuNS0xLjYgLjItLjQtLjItLjktLjYtMS4xLTEuNi0uOS0zLjgtLjYtNS41IC4xLTEuMyAuNi0zLjQgMS41LTMuMiAyLjkgLjEgMSAxLjggMS41IDIuOCAxLjR6TTQyMCA0MDMuOGMtMy42LTQtNS4zLTExLjYtNy4yLTE5LjctMS44LTguMS0zLjktMTYuOC0xMC41LTIyLjQtMS4zLTEuMS0yLjYtMi4xLTQtMi45LTEuMy0uOC0yLjctMS41LTQuMS0yIDkuMi0yNy4zIDUuNi01NC41LTMuNy03OS4xLTExLjQtMzAuMS0zMS4zLTU2LjQtNDYuNS03NC40LTE3LjEtMjEuNS0zMy43LTQxLjktMzMuNC03MiAuNS00NS45IDUuMS0xMzEuMi03NS44LTEzMS4zLTEwMi40LS4yLTc2LjggMTAzLjQtNzcuOSAxMzUuMi0xLjcgMjMuNC02LjQgNDEuOC0yMi41IDY0LjctMTguOSAyMi41LTQ1LjUgNTguOC01OC4xIDk2LjctNiAxNy45LTguOCAzNi4xLTYuMiA1My4zLTYuNSA1LjgtMTEuNCAxNC43LTE2LjYgMjAuMi00LjIgNC4zLTEwLjMgNS45LTE3IDguM3MtMTQgNi0xOC41IDE0LjVjLTIuMSAzLjktMi44IDguMS0yLjggMTIuNCAwIDMuOSAuNiA3LjkgMS4yIDExLjggMS4yIDguMSAyLjUgMTUuNyAuOCAyMC44LTUuMiAxNC40LTUuOSAyNC40LTIuMiAzMS43IDMuOCA3LjMgMTEuNCAxMC41IDIwLjEgMTIuMyAxNy4zIDMuNiA0MC44IDIuNyA1OS4zIDEyLjUgMTkuOCAxMC40IDM5LjkgMTQuMSA1NS45IDEwLjQgMTEuNi0yLjYgMjEuMS05LjYgMjUuOS0yMC4yIDEyLjUtLjEgMjYuMy01LjQgNDguMy02LjYgMTQuOS0xLjIgMzMuNiA1LjMgNTUuMSA0LjEgLjYgMi4zIDEuNCA0LjYgMi41IDYuN2wwIC4xYzguMyAxNi43IDIzLjggMjQuMyA0MC4zIDIzIDE2LjYtMS4zIDM0LjEtMTEgNDguMy0yNy45IDEzLjYtMTYuNCAzNi0yMy4yIDUwLjktMzIuMiA3LjQtNC41IDEzLjQtMTAuMSAxMy45LTE4LjMgLjQtOC4yLTQuNC0xNy4zLTE1LjUtMjkuN3pNMjIzLjggODcuM2M5LjgtMjIuMiAzNC4yLTIxLjggNDQtLjQgNi41IDE0LjIgMy42IDMwLjktNC4zIDQwLjQtMS42LS44LTUuOS0yLjYtMTIuNi00LjkgMS4xLTEuMiAzLjEtMi43IDMuOS00LjYgNC44LTExLjgtLjItMjctOS4xLTI3LjMtNy4zLS41LTEzLjkgMTAuOC0xMS44IDIzLTQuMS0yLTkuNC0zLjUtMTMtNC40LTEtNi45LS4zLTE0LjYgMi45LTIxLjh6TTE4My4xIDc1LjhjMTAuMSAwIDIwLjggMTQuMiAxOS4xIDMzLjUtMy41IDEtNy4xIDIuNS0xMC4yIDQuNiAxLjItOC45LTMuMy0yMC4xLTkuNi0xOS42LTguNCAuNy05LjggMjEuMi0xLjggMjguMSAxIC44IDEuOS0uMi01LjkgNS41LTE1LjYtMTQuNi0xMC41LTUyLjEgOC40LTUyLjF6bS0xMy42IDYwLjdjNi4yLTQuNiAxMy42LTEwIDE0LjEtMTAuNSA0LjctNC40IDEzLjUtMTQuMiAyNy45LTE0LjIgNy4xIDAgMTUuNiAyLjMgMjUuOSA4LjkgNi4zIDQuMSAxMS4zIDQuNCAyMi42IDkuMyA4LjQgMy41IDEzLjcgOS43IDEwLjUgMTguMi0yLjYgNy4xLTExIDE0LjQtMjIuNyAxOC4xLTExLjEgMy42LTE5LjggMTYtMzguMiAxNC45LTMuOS0uMi03LTEtOS42LTIuMS04LTMuNS0xMi4yLTEwLjQtMjAtMTUtOC42LTQuOC0xMy4yLTEwLjQtMTQuNy0xNS4zLTEuNC00LjkgMC05IDQuMi0xMi4zem0zLjMgMzM0Yy0yLjcgMzUuMS00My45IDM0LjQtNzUuMyAxOC0yOS45LTE1LjgtNjguNi02LjUtNzYuNS0yMS45LTIuNC00LjctMi40LTEyLjcgMi42LTI2LjRsMC0uMmMyLjQtNy42IC42LTE2LS42LTIzLjktMS4yLTcuOC0xLjgtMTUgLjktMjAgMy41LTYuNyA4LjUtOS4xIDE0LjgtMTEuMyAxMC4zLTMuNyAxMS44LTMuNCAxOS42LTkuOSA1LjUtNS43IDkuNS0xMi45IDE0LjMtMTggNS4xLTUuNSAxMC04LjEgMTcuNy02LjkgOC4xIDEuMiAxNS4xIDYuOCAyMS45IDE2bDE5LjYgMzUuNmM5LjUgMTkuOSA0My4xIDQ4LjQgNDEgNjguOXptLTEuNC0yNS45Yy00LjEtNi42LTkuNi0xMy42LTE0LjQtMTkuNiA3LjEgMCAxNC4yLTIuMiAxNi43LTguOSAyLjMtNi4yIDAtMTQuOS03LjQtMjQuOS0xMy41LTE4LjItMzguMy0zMi41LTM4LjMtMzIuNS0xMy41LTguNC0yMS4xLTE4LjctMjQuNi0yOS45cy0zLTIzLjMtLjMtMzUuMmM1LjItMjIuOSAxOC42LTQ1LjIgMjcuMi01OS4yIDIuMy0xLjcgLjggMy4yLTguNyAyMC44LTguNSAxNi4xLTI0LjQgNTMuMy0yLjYgODIuNCAuNi0yMC43IDUuNS00MS44IDEzLjgtNjEuNSAxMi0yNy40IDM3LjMtNzQuOSAzOS4zLTExMi43IDEuMSAuOCA0LjYgMy4yIDYuMiA0LjEgNC42IDIuNyA4LjEgNi43IDEyLjYgMTAuMyAxMi40IDEwIDI4LjUgOS4yIDQyLjQgMS4yIDYuMi0zLjUgMTEuMi03LjUgMTUuOS05IDkuOS0zLjEgMTcuOC04LjYgMjIuMy0xNSA3LjcgMzAuNCAyNS43IDc0LjMgMzcuMiA5NS43IDYuMSAxMS40IDE4LjMgMzUuNSAyMy42IDY0LjYgMy4zLS4xIDcgLjQgMTAuOSAxLjQgMTMuOC0zNS43LTExLjctNzQuMi0yMy4zLTg0LjktNC43LTQuNi00LjktNi42LTIuNi02LjUgMTIuNiAxMS4yIDI5LjIgMzMuNyAzNS4yIDU5IDIuOCAxMS42IDMuMyAyMy43IC40IDM1LjcgMTYuNCA2LjggMzUuOSAxNy45IDMwLjcgMzQuOC0yLjItLjEtMy4yIDAtNC4yIDAgMy4yLTEwLjEtMy45LTE3LjYtMjIuOC0yNi4xLTE5LjYtOC42LTM2LTguNi0zOC4zIDEyLjUtMTIuMSA0LjItMTguMyAxNC43LTIxLjQgMjcuMy0yLjggMTEuMi0zLjYgMjQuNy00LjQgMzkuOS0uNSA3LjctMy42IDE4LTYuOCAyOS0zMi4xIDIyLjktNzYuNyAzMi45LTExNC4zIDcuMnptMjU3LjQtMTEuNWMtLjkgMTYuOC00MS4yIDE5LjktNjMuMiA0Ni41LTEzLjIgMTUuNy0yOS40IDI0LjQtNDMuNiAyNS41cy0yNi41LTQuOC0zMy43LTE5LjNjLTQuNy0xMS4xLTIuNC0yMy4xIDEuMS0zNi4zIDMuNy0xNC4yIDkuMi0yOC44IDkuOS00MC42IC44LTE1LjIgMS43LTI4LjUgNC4yLTM4LjcgMi42LTEwLjMgNi42LTE3LjIgMTMuNy0yMS4xIC4zLS4yIC43LS4zIDEtLjUgLjggMTMuMiA3LjMgMjYuNiAxOC44IDI5LjUgMTIuNiAzLjMgMzAuNy03LjUgMzguNC0xNi4zIDktLjMgMTUuNy0uOSAyMi42IDUuMSA5LjkgOC41IDcuMSAzMC4zIDE3LjEgNDEuNiAxMC42IDExLjYgMTQgMTkuNSAxMy43IDI0LjZ6TTE3My40IDE0OC43YzIgMS45IDQuNyA0LjUgOCA3LjEgNi42IDUuMiAxNS44IDEwLjYgMjcuMyAxMC42IDExLjYgMCAyMi41LTUuOSAzMS44LTEwLjggNC45LTIuNiAxMC45LTcgMTQuOC0xMC40czUuOS02LjMgMy4xLTYuNi0yLjYgMi42LTYgNS4xYy00LjQgMy4yLTkuNyA3LjQtMTMuOSA5LjgtNy40IDQuMi0xOS41IDEwLjItMjkuOSAxMC4ycy0xOC43LTQuOC0yNC45LTkuN2MtMy4xLTIuNS01LjctNS03LjctNi45LTEuNS0xLjQtMS45LTQuNi00LjMtNC45LTEuNC0uMS0xLjggMy43IDEuNyA2LjV6Il19LHBodD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjb3R0b24tYnVyZWF1IixpY29uOls1MTIsNTEyLFtdLCJmODllIiwiTTQ3NC4zIDMzMC40QzQ1MC42IDQyMi4zIDM4MC4xIDQ3NSAyNzIuNCA0NzguOGwwLTQ5LjJjMC00OCAyNi40LTc0LjQgNzQuNC03NC40IDYyIDAgOTkuMi0zNy4yIDk5LjItOTkuMiAwLTYxLjQtMzYuNS05OC4zLTk3LjQtOTkuMS0zMy02OS4zLTE0Ni41LTY0LjctMTc3LjIgMC02MC45IC44LTk3LjQgMzcuNy05Ny40IDk5LjEgMCA2Mi4xIDM3LjMgOTkuNCA5OS40IDk5LjQgNDggMCA3NC42IDI2LjIgNzQuNiA3NC40bDAgNDkuMmMtMTM0LjQtNS0yMTEuMS04NS4xLTIxMS4xLTIyMyAwLTE0MS44IDgxLjQtMjIzLjIgMjIzLjItMjIzLjIgMTE0LjggMCAxODkuOCA1My4yIDIxNC43IDE0OC44bDI1LjMgMEM0NzMuOSA3MS41IDM4OC4yIDggMjU5LjggOCAxMDUgOCAxMiAxMDEuMiAxMiAyNTUuOCAxMiA0MTEuMSAxMDUuMiA1MDQuMyAyNTkuOCA1MDQgMzg4LjEgNTA0IDQ3My43IDQ0MC4yIDQ5OS41IDMzMC40bC0yNS4yIDB6TTM1NyAxODIuM2M0MS40IDMuNCA2NC4yIDI5IDY0LjIgNzMuNyAwIDQ4LTI2LjQgNzQuNC03NC40IDc0LjQtMjguNiAwLTQ5LjMtOS42LTYxLjYtMjcuMyA4My4xLTE2LjUgNzUuNi05OS43IDcxLjgtMTIwLjd6bS04MS43IDk3LjRjLTIuNS0xMC4zLTE2LjMtODcgNTYuMi05NyAyLjMgMTAuMSAxNi41IDg3LjEtNTYuMyA5N2wwIDB6TTI2MCAxMzJjMjguNiAwIDQ5IDkuNyA2MS40IDI3LjYtMjguNCA1LjUtNDkuNCAyMC42LTYxLjYgNDMuNC0xMi4yLTIyLjktMzMuMi0zOC02MS42LTQzLjQgMTIuNC0xNy43IDMzLjMtMjcuNCA2MS42LTI3LjRsLjItLjN6bS03MS41IDUwLjdjNzMuMiAxMC42IDU4LjkgODYuOCA1Ni41IDk3LTcyLjQtOS44LTU5LTg3LTU2LjItOTdsLS4yIDB6TTE3My4yIDMzMC40Yy00OCAwLTc0LjQtMjYuNC03NC40LTc0LjQgMC00NC40IDIyLjktNzAgNjQuMi03My43LTYuOCAzNy4yLTEuNCAxMDYuNSA3MS42IDEyMC43LTEyLjEgMTcuNi0zMi44IDI3LjMtNjEuMSAyNy4zbC0uMyAwem01My4yIDEyLjRjMTQuMy03LjYgMjYtMTkuMyAzMy42LTMzLjUgNy44IDE0LjUgMTkuMyAyNS41IDMzLjggMzMuNS0xNC40IDcuNi0yNi4xIDE5LjQtMzMuNiAzMy44LTgtMTQuNS0xOS4xLTI2LjItMzMuNi0zMy44bC0uMyAweiJdfSx1aHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29vZ2xlLXdhbGxldCIsaWNvbjpbNDQ4LDUxMixbXSwiZjFlZSIsIk0xNTYuOCAxMjYuOGMzNy42IDYwLjYgNjQuMiAxMTMuMSA4NC4zIDE2Mi41LTguMyAzMy44LTE4LjggNjYuNS0zMS4zIDk4LjMtMTMuMi01Mi4zLTI2LjUtMTAxLjMtNTYtMTQ4LjUgNi41LTM2LjQgMi4zLTczLjYgMy0xMTIuM3pNMTA5LjMgMjAwbC05My4yIDBjLTYuNSAwLTEwLjUgNy41LTYuNSAxMi43IDQyLjIgNTQuMyA3MS43IDExNy44IDkxLjcgMTg3LjNsMTAzLjUgMGMtMTYuMi02OS43LTM4LjctMTMzLjctODIuNS0xOTMuNS0zLTQtOC02LjUtMTMtNi41em00Ny44LTg4YzY4LjUgMTA4IDEzMCAyMzQuNSAxMzguMiAzNjhMNDA5IDQ4MGMtMTItMTM4LTY4LjQtMjY1LTE0My4yLTM2OGwtMTA4LjcgMHpNNDA4LjkgNDMuNWMtMS44LTYuOC04LjItMTEuNS0xNS4yLTExLjVsLTg4LjMgMGMtNS4zIDAtOSA1LTcuOCAxMC4zIDEzLjIgNDYuNSAyMi4zIDk1LjUgMjYuNSAxNDYgNDguMiA4Ni4yIDc5LjcgMTc4LjMgOTAuNiAyNzAuOCAxNS44LTYwLjUgMjUuMy0xMzMuNSAyNS4zLTIwMyAwLTczLjYtMTIuMS0xNDUuMS0zMS4xLTIxMi42eiJdfSxmaHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm91cnNxdWFyZSIsaWNvbjpbMzg0LDUxMixbXSwiZjE4MCIsIk0zMzEuMSAzTDU3LjkgM0MyMC40IDMgOCAzMS4zIDggNDkuMUw4IDQ4Mi45YzAgMjAuMyAxMi4xIDI3LjcgMTguMiAzMC4xIDYuMiAyLjUgMjIuOCA0LjYgMzIuOS03LjEgMTI4LjktMTQ5LjQgMTMxLjEtMTUxLjkgMTMxLjEtMTUxLjkgMy4xLTMuNCAzLjQtMy4xIDYuOC0zLjFsODMuNCAwYzM1LjEgMCA0MC42LTI1LjIgNDQuMy0zOS43bDQ4LjYtMjQzQzM4MS44IDI1LjggMzcxLjEgMyAzMzEuMSAzek0zMTQuOCA3Ni44bC0xMS40IDU5LjdjLTEuMiA2LjUtOS41IDEzLjItMTYuOSAxMy4ybC0xMDYuNCAwYy0xMiAwLTIwLjYgOC4zLTIwLjYgMjAuM2wwIDEzYzAgMTIgOC42IDIwLjYgMjAuNiAyMC42bDkwLjQgMGM4LjMgMCAxNi42IDkuMiAxNC44IDE4LjItMS44IDguOS0xMC41IDUzLjgtMTEuNCA1OC44LS45IDQuOS02LjggMTMuNS0xNi45IDEzLjVsLTczLjUgMGMtMTMuNSAwLTE3LjIgMS44LTI2LjUgMTIuNiAwIDAtOC45IDExLjQtODkuNSAxMDguMy0uOSAuOS0xLjggLjYtMS44LS4zbDAtMzM4LjhjMC03LjcgNi44LTE2LjYgMTYuNi0xNi42bDIxOSAwYzguMiAwIDE1LjYgNy43IDEzLjUgMTcuNXoiXX0saGh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNoaXJ0c2luYnVsayIsaWNvbjpbNDQ4LDUxMixbXSwiZjIxNCIsIk0xMDAgNDEwLjNsMzAuNiAxMy40IDQuNC05LjktMzAuNi0xMy40LTQuNCA5Ljl6bTM5LjQgMTcuNWwzMC42IDEzLjQgNC40LTkuOS0zMC42LTEzLjQtNC40IDkuOXptMTcyLjEtMTRsNC40IDkuOSAzMC42LTEzLjQtNC40LTkuOS0zMC42IDEzLjR6TTE3OS4xIDQ0NWwzMC4zIDEzLjcgNC40LTkuOS0zMC4zLTEzLjQtNC40IDkuNnpNNjAuNCAzOTIuOGwzMC42IDEzLjQgNC40LTkuNi0zMC42LTEzLjctNC40IDkuOXptMjExLjQgMzguNWw0LjQgOS45IDMwLjYtMTMuNC00LjQtOS45LTMwLjYgMTMuNHptLTM5LjMgMTcuNWw0LjQgOS45IDMwLjYtMTMuNy00LjQtOS42LTMwLjYgMTMuNHptMTE4LjQtNTIuMmw0LjQgOS42IDMwLjYtMTMuNC00LjQtOS45LTMwLjYgMTMuN3pNMTcwIDQ2LjZsLTMzLjUgMCAwIDEwLjUgMzMuNSAwIDAtMTAuNXptLTQ3LjIgMGwtMzMuNiAwIDAgMTAuNSAzMy41IDAgLjEtMTAuNXptLTQ3LjMgMGwtMzMuMiAwIDAgMTAuNSAzMy4zIDAtLjEtMTAuNXptMTQxLjUgMGwtMzMuMiAwIDAgMTAuNSAzMy4yIDAgMC0xMC41em05NC41IDBsLTMzLjUgMCAwIDEwLjUgMzMuNSAwIDAtMTAuNXptNDcuMyAwbC0zMy41IDAgMCAxMC41IDMzLjUgMCAwLTEwLjV6bS05NC42IDBsLTMzLjIgMCAwIDEwLjUgMzMuMiAwIDAtMTAuNXptMTQxLjUgMGwtMzMuMyAwIDAgMTAuNSAzMy4zIDAgMC0xMC41ek01Mi44IDM1MS4xbC0xMC44IDAgMCAzMy41IDEwLjggMCAwLTMzLjV6bTcwLTIxNS45bC0zMy42IDAgMCAxMC41IDMzLjUgMCAuMS0xMC41em0tNzAgMTAuNmwyMi44IDAgMC0xMC41LTMzLjYgMCAwIDMzLjUgMTAuOCAwIDAtMjN6TTIyMS43IDM3NC40YTkxLjMgOTEuMyAwIDEgMCAwLTE4Mi42IDkxLjMgOTEuMyAwIDEgMCAwIDE4Mi42ek0xNzMuNSAyNjMuM2MwLTI1LjQgMjkuNS0zMS44IDQ5LjYtMzEuOCAxNi45IDAgMjkuMiA1LjggNDQuMyAxMmwtOC44IDE2LjktLjkgMGMtNi40LTkuOS0yNC44LTEzLjEtMzUuNi0xMy4xLTkgMC0yOS44IDEuOC0yOS44IDE0LjkgMCAyMS42IDc4LjUtMTAuMiA3OC41IDM3LjkgMCAyNS40LTMxLjUgMzEuMi01MSAzMS4yLTE4LjEgMC0zMi40LTIuOS00Ny4yLTEyLjJsOS0xOC40IC45IDBjNi4xIDEyLjIgMjMuNiAxNC45IDM1LjkgMTQuOSA4LjcgMCAzMi43LTEuMiAzMi43LTE0LjMgMC0yNi4xLTc3LjYgNi4zLTc3LjYtMzh6TTUyLjggMTc4LjRsLTEwLjggMCAwIDMzLjYgMTAuOCAwIDAtMzMuNnpNMzk1LjIgMzg0LjZsMTAuOCAwIDAtMzMuNS0xMC44IDAgMCAzMy41ek01Mi44IDMwNy45bC0xMC44IDAgMCAzMy41IDEwLjggMCAwLTMzLjV6TTAgMy43bDAgNDA2IDIyMS43IDk4LjYgMjI2LjMtOTguNiAwLTQwNi00NDggMHpNNDE4LjggMzkwLjhsLTE5Ni44IDg1LjctMTkyLjgtODUuNyAwLTI3MC4xIDM4OS43IDAgMCAyNzAuMS0uMSAwem0wLTI5OS4zbC0zODkuNiAwIDAtNTguNiAzODkuNyAwIDAgNTguNi0uMSAwek01Mi44IDIyMS42bC0xMC44IDAgMCAzMy41IDEwLjggMCAwLTMzLjV6bTAgNDMuMmwtMTAuOCAwIDAgMzMuNSAxMC44IDAgMC0zMy41ek0xNzAgMTM1LjJsLTMzLjUgMCAwIDEwLjUgMzMuNSAwIDAtMTAuNXpNMzk1LjIgMjk4LjNsMTAuOCAwIDAtMzMuNS0xMC44IDAgMCAzMy41em0wLTQzLjJsMTAuOCAwIDAtMzMuNS0xMC44IDAgMCAzMy41ek0yMTcgMTM1LjJsLTMzLjIgMCAwIDEwLjUgMzMuMiAwIDAtMTAuNXpNMzk1LjIgMjEybDEwLjggMCAwLTMzLjUtMTAuOCAwIDAgMzMuNXptMCAxMjkuNWwxMC44IDAgMC0zMy41LTEwLjggMCAwIDMzLjV6bS0xMzEtMjA2LjNsLTMzLjIgMCAwIDEwLjUgMzMuMiAwIDAtMTAuNXptNDcuMyAwbC0zMy41IDAgMCAxMC41IDMzLjUgMCAwLTEwLjV6bTgzLjcgMzMuNmwxMC44IDAgMC0zMy41LTMzLjUgMCAwIDEwLjUgMjIuOCAwLS4xIDIzem0tMzYuNC0zMy42bC0zMy41IDAgMCAxMC41IDMzLjUgMCAwLTEwLjV6Il19LG1odD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtaW50Yml0IixpY29uOls1MTIsNTEyLFtdLCJlNjJmIiwiTTczLjIgNTEybDAtNzMuMSAyOTIuNSAwIDAtNzMuMiA3My4yIDAgMC0xNDYuMyA3My4xIDAgMC0yMTkuNC0yMTkuNCAwIDAgNzMuMS0xNDYuMyAwIDAgNzMuMi03My4xIDAgMCAyOTIuNi03My4yIDAgMCA3My4xIDczLjIgMHptNzMuMS0yMTkuNGw3My4yIDAgMCA3My4xLTczLjIgMCAwLTczLjF6bTczLjItNzMuMWw3My4xIDAgMCA3My4xLTczLjIgMCAwLTczLjIgLjEgLjF6bTczLjEgMGwwLTczLjIgNzMuMiAwIDAgNzMuMS03My4yIDAgMCAuMXpNMzY1LjcgNzMuMWw3My4yIDAgMCA3My4yLTczLjIgMCAwLTczLjJ6Il19LGdodD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ6dWxpcCIsaWNvbjpbNDQ4LDUxMixbXSwiZTg1MyIsIk00MjQgOTljMCAyMi42LTEwLjEgNDIuNi0yNS41IDU0LjhMMjQ5LjMgMjg3LjdjLTIuOCAyLjQtNi40LTEuNS00LjQtNC43bDU0LjctMTEwLjFjMS41LTMuMS0uNS02LjktMy42LTYuOUw4My44IDE2NkM1MC45IDE2NiAyNCAxMzUuOSAyNCA5OSAyNCA2Mi4xIDUwLjkgMzIgODMuOCAzMmwyODAuNCAwQzM5Ny4xIDMyIDQyNCA2Mi4xIDQyNCA5OXpNODMuOCA0ODBsMjgwLjQgMGMzMi45IDAgNTkuOC0zMC4yIDU5LjgtNjdzLTI2LjktNjctNTkuOC02N2wtMjEyLjMgMGMtMy4xIDAtNS4xLTMuOC0zLjYtNi45TDIwMy4xIDIyOWMyLTMuMi0xLjYtNy4xLTQuNC00LjdMNDkuNSAzNTguMkMzNC4xIDM3MC40IDI0IDM5MC40IDI0IDQxMyAyNCA0NDkuOCA1MC45IDQ4MCA4My44IDQ4MHoiXX0sYmh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0YXlsaW5rZWQiLGljb246WzQ0OCw1MTIsW10sImYzZjUiLCJNMzg2LjcgMjkyLjVsMi43IDIuNy0xNzAtMTY3LjNjLTMuNS0zLjUtOS43LTMuNy0xMy44LS41TDE0OC4zIDE3MWMtNC4yIDMuMi00LjYgOC43LTEuMSAxMi4ybDY4LjEgNjQuM2MzLjYgMy41IDkuOSAzLjcgMTQgLjVsLjEtLjFjNC4xLTMuMiAxMC40LTMgMTQgLjVsODQgODEuM2MzLjYgMy41IDMuMiA5LS45IDEyLjJsLTkzLjIgNzRjLTQuMiAzLjMtMTAuNSAzLjEtMTQuMi0uNEw2Ny4yIDI2OGMtMy41LTMuNS05LjctMy43LTEzLjktLjVMNy41IDMwMi40Yy00LjIgMy4yLTQuNyA4LjctMS4yIDEyLjJMMjE1IDUxMC43czcuNCA2LjggMTcuMy0uOEw0MzAuMyAzNDZjNC0zLjIgNC40LTguNyAuNy0xMi4ybC00NC4zLTQxLjN6bTU0LjUtODMuNEwyMzAuNyAyLjVjLTEuNS0xLjItOC01LjUtMTYuMyAxLjFMNy42IDE2NS43Yy00LjIgMy4yLTQuOCA4LjctMS4yIDEyLjJsNDIuMyA0MS43IDE3MS43IDE2NS4xYzMuNyAzLjUgMTAuMSAzLjcgMTQuMyAuNGw1MC4yLTM4LjgtLjMtLjMgNy43LTZjNC4yLTMuMiA0LjYtOC43IC45LTEyLjJsLTU3LjEtNTQuNGMtMy42LTMuNS0xMC0zLjctMTQuMi0uNWwtLjEgLjFjLTQuMiAzLjItMTAuNSAzLjEtMTQuMi0uNEwxMTMgMTgwLjhjLTMuNi0zLjUtMy4xLTguOSAxLjEtMTIuMmw5Mi4yLTcxLjVjNC4xLTMuMiAxMC4zLTMgMTMuOSAuNWwxNjAuNCAxNTljMy43IDMuNSAxMCAzLjcgMTQuMSAuNWw0NS44LTM1LjhjNC4xLTMuMiA0LjQtOC43IC43LTEyLjJ6Il19LHZodD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3ZWJmbG93IixpY29uOls2NDAsNTEyLFtdLCJlNjVjIiwiTTY0MCA2NGwtMjA0LjIgMzk5LjItMTkxLjggMCA4NS41LTE2NS41LTMuOCAwQzI1NS4xIDM4OS4zIDE0OS45IDQ0OS41IDAgNDYzLjJMMCAzMDAuMXM5NS45LTUuNyAxNTIuMy02NC45bC0xNTIuMyAwIDAtMTcxLjIgMTcxLjEgMCAwIDE0MC44IDMuOCAwIDcwLTE0MC44IDEyOS40IDAgMCAxMzkuOSAzLjggMCA3Mi42LTEzOS45IDE4OS4zIDB6Il19LHhodD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZW5yZW4iLGljb246WzUxMiw1MTIsW10sImYxOGIiLCJNMjE0IDE2OS4xQzIxNCAyNzkuNSAxNTMgMzc0LjUgNjYuNCA0MTYuNSAzMCAzNzMuMiA4IDMxNy43IDggMjU2LjYgOCAxMzMuOSA5Ny4xIDMyLjIgMjE0IDEyLjVsMCAxNTYuNnpNMjU1IDUwNGMtNDIuOSAwLTgzLjMtMTEtMTE4LjUtMzAuNCA1Ny4yLTM2LjEgMTAzLjQtOTAuNyAxMTguNS0xNTQuNiAxNS41IDYzLjkgNjEuNyAxMTguNSAxMTguOCAxNTQuNy0zNS4xIDE5LjMtNzUuNSAzMC4zLTExOC44IDMwLjN6bTE5MC42LTg3LjVDMzU5IDM3NC41IDI5OCAyNzkuNiAyOTggMTY5LjFsMC0xNTYuNmMxMTYuOSAxOS43IDIwNiAxMjEuNCAyMDYgMjQ0LjEgMCA2MS4xLTIyIDExNi42LTU4LjQgMTU5Ljl6Il19LHlodD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJrby1maSIsaWNvbjpbNTEyLDUxMixbXSwiZTg1NiIsIk0yNDkuOCA3NWM4OS44IDAgMTEzIDEuMSAxNDYuMyA0LjQgNzguMSA3LjggMTIzLjYgNTYgMTIzLjYgMTI1LjJsMCA4LjljMCA2NC4zLTQ3LjEgMTE2LjktMTEwLjggMTIyLjQtNSAxNi42LTEyLjggMzMuMi0yMy4zIDQ5LjktMjQuNCAzNy43LTczLjEgODUuMy0xNjIuOSA4NS4zbC0xNy43IDBjLTczLjEgMC0xMjkuNy0zMS42LTE2My41LTg5LjItMjkuOS01MC40LTMzLjgtMTA2LjQtMzMuOC0xODEuMiAwLTczLjcgNDQuNC0xMTMuNiA5Ni40LTEyMC4yIDM5LjMtNSA4OC4xLTUuNSAxNDUuNy01LjV6bTAgNDEuNmMtNjAuNCAwLTEwMy42IC41LTEzNi4zIDUuNS00NiA2LjctNjQuMyAzMi43LTY0LjMgNzkuMmwuMiAyNS43YzEuMiA1Ny4zIDcuMSA5Ny4xIDI3LjUgMTM0LjUgMjYuNiA0OS4zIDc0LjggNjguMiAxMjkuNyA2OC4ybDE3LjIgMGM3MiAwIDEwNy0zNC45IDEyNi4zLTY1LjQgOS40LTE1LjUgMTcuNy0zMi43IDIyLjItNTQuM2wzLjMtMTMuOCAxOS45IDBjNDQuMyAwIDgyLjYtMzYgODIuNi04MmwwLTguM2MwLTUxLjUtMzIuMi03OC43LTg4LjEtODUuMy0zMS42LTIuOC01MC40LTMuOS0xNDAuMi0zLjl6TTI2NyAxNjkuMmMzOC4yIDAgNjQuOCAzMS42IDY0LjggNjcgMCAzMi43LTE4LjMgNjEtNDIuMSA4My4xLTE1IDE1LTM5LjMgMzAuNS01NS45IDQwLjUtNC40IDIuOC0xMCA0LjQtMTYuNyA0LjQtNS41IDAtMTAuNS0xLjctMTUuNS00LjQtMTYuNi0xMC00MS0yNS41LTU2LjUtNDAuNS0yMS44LTIwLjgtMzkuMi00Ni45LTQxLjMtNzdsLS4yLTYuMWMwLTM1LjUgMjUuNS02NyA2NC4zLTY3IDIyLjcgMCAzOC44IDExLjYgNDkuMyAyNy43IDExLjYtMTYuMSAyNy4yLTI3LjcgNDkuOS0yNy43em0xMjIuNS0zLjljMjguMyAwIDQzLjggMTYuNiA0My44IDQzLjJzLTE1LjUgNDIuNy00My44IDQyLjdjLTguOSAwLTEzLjgtNS0xMy44LTExLjdsMC02Mi42YzAtNi43IDUtMTEuNiAxMy44LTExLjZ6Il19LHdodD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZXYiLGljb246WzQ0OCw1MTIsW10sImY1YjIiLCJNMTU4LjcgMjc0LjlhNjUuNiA2NS42IDAgMSAxIDEzMS4yIDAgNjUuNiA2NS42IDAgMSAxIC0xMzEuMiAwem0yNzAuNy01LjFsLS4xIDBjLS43LTI5LjMtNy43LTU4LjItMjAuNS04NC42cy0zMS4yLTQ5LjctNTMuOC02OC40TDMwOS42IDE0M2MyMiAxNC4yIDQwLjEgMzMuOCA1Mi43IDU2LjhzMTkuMSA0OC44IDE5LjEgNzUuMWMwIDg2LjYtNzAuNSAxNTcuMS0xNTcuMSAxNTcuMVM2Ny4yIDM2MS41IDY3LjIgMjc0LjljMC04MS45IDYzLTE0OS4zIDE0My0xNTYuNGwwIDM5LjEgMTA4LjgtNjIuOC0xMDguOC02Mi44IDAgMzguM2MtMTA2LjcgNy4yLTE5MSA5Ni0xOTEgMjA0LjYgMCAxMTEuNiA4OS4xIDIwMi4zIDIwMC4xIDIwNWwwIC4xIDIxMC4yIDAgMC0yMTAuMnoiXX0sTWh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImtleWNkbiIsaWNvbjpbNTEyLDUxMixbXSwiZjNiYSIsIk02My44IDQwOS4zbDYwLjUtNTljMzIuMSA0Mi44IDcxLjEgNjYgMTI2LjYgNjcuNCAzMC41IC43IDYwLjMtNyA4Ni40LTIyLjQgNS4xIDUuMyAxOC41IDE5LjUgMjAuOSAyMi0zMi4yIDIwLjctNjkuNiAzMS4xLTEwOC4xIDMwLjItNDMuMy0xLjEtODQuNi0xNi43LTExNy43LTQ0LjQgLjMtLjYtMzguMiAzNy41LTM4LjYgMzcuOSA5LjUgMjkuOC0xMy4xIDYyLjQtNDYuMyA2Mi40LTI2LjgtLjEtNDcuNS0yMS43LTQ3LjUtNDguNSAwLTM0LjMgMzMuMS01Ni42IDYzLjgtNDUuNnpNNDE4LjcgMTU2LjljMTkuMSAzMS4zIDI5LjYgNjcuNCAyOC43IDEwNC0xLjEgNDQuOC0xOSA4Ny41LTQ4LjYgMTIxIC4zIC4zIDIzLjggMjUuMiAyNC4xIDI1LjUgOS42LTEuMyAxOS4yIDIgMjUuOSA5LjEgMTEuMyAxMiAxMC45IDMwLjktMS4xIDQyLjQtMTIgMTEuMy0zMC45IDEwLjktNDIuNC0xLjEtNi43LTctOS40LTE2LjgtNy42LTI2LjMtMjQuOS0yNi42LTQ0LjQtNDcuMi00NC40LTQ3LjIgNDIuNy0zNC4xIDYzLjMtNzkuNiA2NC40LTEyNC4yIC43LTI4LjktNy4yLTU3LjItMjEuMS04Mi4ybDIyLjEtMjF6TTEwNCA1My4xYzYuNyA3IDkuNCAxNi44IDcuNiAyNi4zbDQ1LjkgNDguMWMtNC43IDMuOC0xMy4zIDEwLjQtMjIuOCAyMS4zLTI1LjQgMjguNS0zOS42IDY0LjgtNDAuNyAxMDIuOS0uNyAyOC45IDYuMSA1Ny4yIDIwIDgyLjRMOTIgMzU1LjZjLTE5LjMtMzEuNi0yOC45LTY3LjctMjcuOC0xMDQuNyAxLTQ0LjYgMTguMy04Ny42IDQ3LjUtMTIxLjFMODYuNCAxMDMuNGMtOS42IDEuMy0xOS4yLTItMjUuOS05LjEtMTEuMy0xMi0xMC45LTMwLjkgMS4xLTQyLjQgMTEuOS0xMS4yIDMwLjYtMTAuOSA0Mi40IDEuMnpNNDY0LjkgOGMyNiAwIDQ3LjEgMjIuNCA0Ny4xIDQ4LjNTNDkwLjkgMTA0IDQ2NC45IDEwNGMtNi4zIC4xLTE0LTEuMS0xNS45LTEuOGwtNjIuOSA1OS43Yy0zMi43LTQzLjYtNzYuNy02NS45LTEyNi45LTY3LjItMzAuNS0uNy02MC4zIDYuOC04Ni4yIDIyLjRsLTIxLjEtMjJDMTg0LjEgNzQuMyAyMjEuNSA2NCAyNjAgNjQuOSAzMDMuMyA2NiAzNDQuNiA4MS42IDM3Ny43IDEwOS41bDQxLjEtMzguNmMtMS41LTQuNy0yLjItOS42LTIuMi0xNC41LS4xLTI2LjcgMjIuMy00OC40IDQ4LjMtNDguNHpNMjU2LjcgMTEzLjRjNS41IDAgMTAuOSAuNCAxNi40IDEuMSA3OC4xIDkuOCAxMzMuNCA4MS4xIDEyMy44IDE1OS4xLTkuOCA3OC4xLTgxLjEgMTMzLjQtMTU5LjEgMTIzLjgtNzguMS05LjgtMTMzLjQtODEuMS0xMjMuOC0xNTkuMiA5LjMtNzIuNCA3MC4xLTEyNC42IDE0Mi43LTEyNC44em0tNTkgMTE5LjRjLjYgMjIuNyAxMi4yIDQxLjggMzIuNCA1Mi4ybC0xMSA1MS43IDczLjcgMC0xMS01MS43YzIwLjEtMTAuOSAzMi4xLTI5IDMyLjQtNTIuMi0uNC0zMi44LTI1LjgtNTcuNS01OC4zLTU4LjMtMzIuMSAuOC01Ny4zIDI0LjgtNTguMiA1OC4zeiJdfSxraHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaGlyZS1hLWhlbHBlciIsaWNvbjpbNTEyLDUxMixbXSwiZjNiMCIsIk00NDMuMSAwTDcxLjkgMEM2Ny45IDM3LjMgMzcuNCA2Ny44IDAgNzEuN0wwIDQ0My4yYzM3LjQgNC45IDY2IDMyLjQgNzEuOSA2OC44bDM3Mi4yIDBjMy0zNi40IDMyLjUtNjUuOCA2Ny45LTY5LjhsMC0zNzAuNUM0NzUuNiA2NS44IDQ0NyAzNi40IDQ0My4xIDB6bS0zNyA0MDQuOWMtMzYuMyAwLTE4LjgtMi01NS4xLTItMzUuOCAwLTIxIDItNTYuMSAyLTUuOSAwLTQuOS04LjIgMC05LjggMjIuOC03LjYgMjIuOS0xMC4yIDI0LjYtMTIuOCAxMC40LTE1LjYgNS45LTgzIDUuOS0xMTMgMC01LjMtNi40LTEyLjgtMTMuOC0xMi44bC0xMTEuMiAwYy03LjQgMC0xMy44IDcuNS0xMy44IDEyLjggMCAzMC00LjUgOTcuNCA1LjkgMTEzIDEuNyAyLjUgMS44IDUuMiAyNC42IDEyLjggNC45IDEuNiA2IDkuOCAwIDkuOC0zNS4xIDAtMjAuMy0yLTU2LjEtMi0zNi4zIDAtMTguOCAyLTU1LjEgMi03LjkgMC01LjgtMTAuOCAwLTEwLjggMTAuMi0zLjQgMTMuNS0zLjUgMjEuNy0xMy44IDcuNy0xMi45IDcuOS00NC40IDcuOS0xMjcuOGwwLTEwMS4yYzAtMjIuMi0xMi4yLTI4LjMtMjguNi0zMi40LTguOC0yLjItNC0xMS44IDEtMTEuOCAzNi41IDAgMjAuNiAyIDU3LjEgMiAzMi43IDAgMTYuNS0yIDQ5LjItMiAzLjMgMCA4LjUgOC4zIDEgMTAuOC00LjkgMS42LTI3LjYgMy43LTI3LjYgMzkuMyAwIDQ1LjYtLjIgNTUuOCAxIDY4LjggMCAxLjMgMi4zIDEyLjggMTIuOCAxMi44bDEwOS4yIDBjMTAuNSAwIDEyLjgtMTEuNSAxMi44LTEyLjggMS4yLTEzIDEtMjMuMiAxLTY4LjggMC0zNS42LTIyLjctMzcuNy0yNy42LTM5LjMtNy41LTIuNS0yLjMtMTAuOCAxLTEwLjggMzIuNyAwIDE2LjUgMiA0OS4yIDIgMzYuNSAwIDIwLjYtMiA1Ny4xLTIgNC45IDAgOS45IDkuNiAxIDExLjgtMTYuNCA0LjEtMjguNiAxMC4zLTI4LjYgMzIuNGwwIDEwMS4yYzAgODMuNCAuMSAxMTQuOSA3LjkgMTI3LjggOC4yIDEwLjIgMTEuNCAxMC40IDIxLjcgMTMuOCA1LjggMCA3LjggMTAuOCAwIDEwLjh6Il19LExvZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtaGFja2VyLW5ld3MiLGljb246WzQ0OCw1MTIsWyJoYWNrZXItbmV3cy1zcXVhcmUiXSwiZjNhZiIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMjEgMjI5LjJzLjEtLjEgLjEtLjIgLjEtLjIgLjItLjJjMCAuMSAwIC4zLS4xIC40bC0uMiAwek0yMzkuMiAzODRsLTMxLjQgMCAwLTEwMi43LTc5LjgtMTUzLjMgMzcuMyAwYzQxLjUgNzcuNyA0OC4xIDk1LjggNTQuMSAxMTIgMS42IDQuMyAzLjEgOC41IDUuMiAxMy42IDMuMi03IDUuMS0xMS45IDcuMS0xNy4zIDUuOS0xNS4zIDEyLjgtMzMuMiA1My41LTEwOC4zbDM0LjggMC04MC44IDE1NS4xIDAgMTAwLjl6Il19LHpodD1Mb2UsU2h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0IixpY29uOls1MTIsNTEyLFtdLCJmNGVkIiwiTTI1NS42IDhDMTEyLjcgOCA4IDEyMy4xIDggMjU2IDggMzk0LjUgMTIxLjYgNTA0IDI1NS42IDUwNCAzODUuNSA1MDQgNTA0IDQwMy4xIDUwNCAyNTYgNTA0IDExOC4xIDM5Ny40IDggMjU1LjYgOHptLjggNDUwLjhjLTExMi41IDAtMjAzLjctOTMtMjAzLjctMjAyLjggMC0xMDUuNCA4NS41LTIwMy4zIDIwMy43LTIwMy4zIDExMi42IDAgMjAyLjkgODkuNSAyMDIuOCAyMDMuMyAwIDEyMS43LTk5LjYgMjAyLjgtMjAyLjggMjAyLjh6TTMyNC43IDE4NmwtNTMuMiAwIDAgMTM3LjIgNTMuMiAwYzIxLjQgMCA3MC01LjEgNzAtNjguNiAwLTYzLjQtNDguNi02OC42LTcwLTY4LjZ6bS44IDEwOC41bC0xOS45IDAgMC03OS43IDE5LjQtLjFjMy44IDAgMzUtMi4xIDM1IDM5LjkgMCAyNC42LTEwLjUgMzkuOS0zNC41IDM5Ljl6TTIxMS43IDE4NmwtNjguMiAwIDAgMTM3LjMgMzQuNiAwIDAtNDQuMyAyNyAwYzU0LjEgMCA1Ny4xLTM3LjUgNTcuMS00Ni41IDAtMzEtMTYuOC00Ni41LTUwLjUtNDYuNXptLTQuOSA2Ny4zbC0yOS4yIDAgMC00MS42IDI4LjMgMGMzMC45IDAgMjguOCA0MS42IC45IDQxLjZ6Il19LENodD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvcmNpZCIsaWNvbjpbNTEyLDUxMixbXSwiZjhkMiIsIk0yOTQuNyAxODguMmwtNDUuOSAwIDAgMTUzLjggNDcuNSAwYzY3LjYgMCA4My4xLTUxLjMgODMuMS03Ni45IDAtNDEuNi0yNi41LTc2LjktODQuNy03Ni45ek0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTE3NS4yIDM2OC44bC0yOS44IDAgMC0yMDcuNSAyOS44IDAgMCAyMDcuNXpNMTYwLjMgOTguNWExOS42IDE5LjYgMCAxIDEgMCAzOS4yIDE5LjYgMTkuNiAwIDEgMSAwLTM5LjJ6TTMwMCAzNjlsLTgxIDAgMC0yMDcuNyA4MC42IDBjNzYuNyAwIDExMC40IDU0LjggMTEwLjQgMTAzLjkgMCA1My4zLTQxLjcgMTAzLjktMTEwIDEwMy45eiJdfSwkb2U9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYm9hcmQtZ2FtZS1nZWVrIixpY29uOls2NDAsNTEyLFsiYmdnIl0sImU4NTUiLCJNMTY4LjggMTY4LjNsMzAuMS04LjItMTIuMyA5OC44IDE2LjcgMTYuMS0zOC45IDkxLjItMTExLjggNDEuMi01Mi42LTEzMS44IDE3LjctMTctMTAuNS04NC4zIDE5MS4yLTcwLjMtMjkuNSA2NC4zem0xODAuNiAxNi41YzExLjYgMCAxOSA3LjQgMTkgMTcuOWwwIDMxLjVjMCA5LjctNi4zIDE4LjktMTkuNSAyMi4xIDEzLjEgMy4xIDIwLjUgMTIgMjAuNSAyMS40bDAgMzAuOWMwIDExLjEtNy40IDE4LjEtMTkgMTguMWwtODkuMSAwIDAtMTQxLjggODggMHpNMjk4IDI5OS44bDMzIDBjMS41IDAgMi4xLTEgMi4xLTIuMWwwLTI2LjljMC0xLS42LTIuMy0yLjEtMi4zbC0zMyAwIDAgMzEuM3ptMC01Ny4zbDMzIDBjMS41IDAgMi4xLTEuMSAyLjEtMi4zbDAtMjQuOGMwLTEtLjYtMi4zLTIuMS0yLjNsLTMzIDAgMCAyOS40em0yMDQuMS0yNy4ybC02NS42IDBjLTEgMC0yLjEgMS4xLTIuMSAyLjNsMCA3Ni4xYzAgMS4zIDEgMi4xIDIuMSAyLjFsMjkuNyAwYzEuNSAwIDIuMy0uOCAyLjMtMi4xbDAtMjQtMTkuMyAwIDEyLjgtMzAgNDAuMSAwIDAgNzAuOGMwIDkuMi03LjIgMTYuMi0xNi4zIDE2LjJsLTcxLjUgMGMtOS4xIDAtMTYuNS03LTE2LjUtMTYuMmwwLTEwOS43YzAtOC42IDcuNC0xNiAxNi41LTE2bDg3LjggMCAwIDMwLjV6bTEzMi42IDBsLTY1LjYgMGMtMS4xIDAtMi4xIDEuMS0yLjEgMi4zbDAgNzYuMWMwIDEuMyAxIDIuMSAyLjEgMi4xbDI5LjYgMGMxLjUgMCAyLjMtLjggMi4zLTIuMWwwLTI0LTE5LjIgMCAxMi44LTMwIDQwLjEgMCAwIDcwLjhjMCA5LjItNy4yIDE2LjItMTYuMyAxNi4ybC03MS41IDBjLTkuMSAwLTE2LjUtNi45LTE2LjUtMTYuMmwwLTEwOS43YzAtOC42IDcuNC0xNiAxNi41LTE2bDg3LjggMCAwIDMwLjV6Il19LF9odD0kb2UsVGh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJlaGFuY2UiLGljb246WzU3Niw1MTIsW10sImYxYjQiLCJNMjMyIDIzNy4yYzMxLjgtMTUuMiA0OC40LTM4LjIgNDguNC03NCAwLTcwLjYtNTIuNi04Ny44LTExMy4zLTg3LjhsLTE2Ny4xIDAgMCAzNTQuNCAxNzEuOCAwYzY0LjQgMCAxMjQuOS0zMC45IDEyNC45LTEwMi45IDAtNDQuNS0yMS4xLTc3LjQtNjQuNy04OS43ek03Ny45IDEzNS45bDczLjEgMGMyOC4xIDAgNTMuNCA3LjkgNTMuNCA0MC41IDAgMzAuMS0xOS43IDQyLjItNDcuNSA0Mi4ybC03OSAwIDAtODIuN3ptODMuMyAyMzMuN2wtODMuMyAwIDAtOTcuNiA4NC45IDBjMzQuMyAwIDU2IDE0LjMgNTYgNTAuNiAwIDM1LjgtMjUuOSA0Ny01Ny42IDQ3ek01MTkuNyAxMjguOWwtMTQzLjcgMCAwLTM0LjkgMTQzLjcgMCAwIDM0Ljl6TTU3NiAzMDUuMmMwLTc1LjktNDQuNC0xMzkuMi0xMjQuOS0xMzkuMi03OC4yIDAtMTMxLjMgNTguOC0xMzEuMyAxMzUuOCAwIDc5LjkgNTAuMyAxMzQuNyAxMzEuMyAxMzQuNyA2MS4zIDAgMTAxLTI3LjYgMTIwLjEtODYuM2wtNjIuMiAwYy02LjcgMjEuOS0zNC4zIDMzLjUtNTUuNyAzMy41LTQxLjMgMC02My0yNC4yLTYzLTY1LjNsMTg1LjEgMGMuMy00LjIgLjYtOC43IC42LTEzLjJ6TTM5MC40IDI3NGMyLjMtMzMuNyAyNC43LTU0LjggNTguNS01NC44IDM1LjQgMCA1My4yIDIwLjggNTYuMiA1NC44bC0xMTQuNyAweiJdfSxMaHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibW9uZXJvIixpY29uOls1MTIsNTEyLFtdLCJmM2QwIiwiTTM2MCAzODRsMTA4LjQgMEM0MjUgNDU1LjkgMzQ2LjEgNTA0IDI1NiA1MDRTODcgNDU1LjkgNDMuNiAzODRsMTA4LjQgMCAwLTEyNy44IDEwNCAxMDQuOCAxMDQtMTA1IDAgMTI4ek05NiAzMzZsMC0yMDggMTU5LjQgMTU5LjQgMTYwLjYtMTU5LjQgMCAyMDggNzQuOCAwYzguNS0yNS4xIDEzLjItNTIgMTMuMi04MCAwLTEzNy0xMTEtMjQ4LTI0OC0yNDhTOCAxMTkgOCAyNTZjMCAyOCA0LjYgNTQuOSAxMy4yIDgwTDk2IDMzNnoiXX0sJGh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZpZ21hIixpY29uOlszODQsNTEyLFtdLCJmNzk5IiwiTTE0IDk1LjhDMTQgNDIuOSA1Ni45IDAgMTA5LjggMEwyNzQuMiAwYzUyLjkgMCA5NS44IDQyLjkgOTUuOCA5NS44IDAgMzMuNS0xNy4yIDYzLTQzLjIgODAuMSAyNiAxNy4xIDQzLjIgNDYuNiA0My4yIDgwLjEgMCA1Mi45LTQyLjkgOTUuOC05NS44IDk1LjhsLTIuMSAwYy0yNC44IDAtNDcuNC05LjQtNjQuNC0yNC45bDAgODguM2MwIDUzLjYtNDQgOTYuOC05Ny40IDk2LjgtNTIuOCAwLTk2LjMtNDIuOC05Ni4zLTk1LjggMC0zMy41IDE3LjItNjMgNDMuMi04MC4xLTI2LTE3LjEtNDMuMi00Ni42LTQzLjItODAuMXMxNy4yLTYzIDQzLjItODAuMUMzMS4yIDE1OC44IDE0IDEyOS4zIDE0IDk1Ljh6bTE2Mi4zIDk1LjhsLTY2LjUgMGMtMzUuNiAwLTY0LjQgMjguOC02NC40IDY0LjQgMCAzNS40IDI4LjYgNjQuMiA2NCA2NC40bDY2LjkgMCAwLTEyOC44ek0yMDcuNyAyNTZjMCAzNS42IDI4LjggNjQuNCA2NC40IDY0LjRsMi4xIDBjMzUuNiAwIDY0LjQtMjguOCA2NC40LTY0LjRzLTI4LjgtNjQuNC02NC40LTY0LjRsLTIuMSAwYy0zNS42IDAtNjQuNCAyOC44LTY0LjQgNjQuNHptLTk3LjkgOTUuOGwtLjQgMGMtMzUuNCAuMi02NCAyOS02NCA2NC40czI5LjIgNjQuNCA2NC45IDY0LjRjMzYuMyAwIDY2LTI5LjQgNjYtNjUuNWwwLTYzLjQtNjYuNSAwem0wLTMyMC40Yy0zNS42IDAtNjQuNCAyOC44LTY0LjQgNjQuNHMyOC44IDY0LjQgNjQuNCA2NC40bDY2LjUgMCAwLTEyOC44LTY2LjUgMHptOTcuOSAxMjguOGw2Ni41IDBjMzUuNiAwIDY0LjQtMjguOCA2NC40LTY0LjRzLTI4LjgtNjQuNC02NC40LTY0LjRsLTY2LjUgMCAwIDEyOC44eiJdfSxJRz17cHJlZml4OiJmYWIiLGljb25OYW1lOiJpbnN0YWdyYW0iLGljb246WzQ0OCw1MTIsW10sImYxNmQiLCJNMjI0LjMgMTQxYTExNSAxMTUgMCAxIDAgLS42IDIzMCAxMTUgMTE1IDAgMSAwIC42LTIzMHptLS42IDQwLjRhNzQuNiA3NC42IDAgMSAxIC42IDE0OS4yIDc0LjYgNzQuNiAwIDEgMSAtLjYtMTQ5LjJ6bTkzLjQtNDUuMWEyNi44IDI2LjggMCAxIDEgNTMuNiAwIDI2LjggMjYuOCAwIDEgMSAtNTMuNiAwem0xMjkuNyAyNy4yYy0xLjctMzUuOS05LjktNjcuNy0zNi4yLTkzLjktMjYuMi0yNi4yLTU4LTM0LjQtOTMuOS0zNi4yLTM3LTIuMS0xNDcuOS0yLjEtMTg0LjkgMC0zNS44IDEuNy02Ny42IDkuOS05My45IDM2LjFzLTM0LjQgNTgtMzYuMiA5My45Yy0yLjEgMzctMi4xIDE0Ny45IDAgMTg0LjkgMS43IDM1LjkgOS45IDY3LjcgMzYuMiA5My45czU4IDM0LjQgOTMuOSAzNi4yYzM3IDIuMSAxNDcuOSAyLjEgMTg0LjkgMCAzNS45LTEuNyA2Ny43LTkuOSA5My45LTM2LjIgMjYuMi0yNi4yIDM0LjQtNTggMzYuMi05My45IDIuMS0zNyAyLjEtMTQ3LjggMC0xODQuOHpNMzk5IDM4OGMtNy44IDE5LjYtMjIuOSAzNC43LTQyLjYgNDIuNi0yOS41IDExLjctOTkuNSA5LTEzMi4xIDlzLTEwMi43IDIuNi0xMzIuMS05Yy0xOS42LTcuOC0zNC43LTIyLjktNDIuNi00Mi42LTExLjctMjkuNS05LTk5LjUtOS0xMzIuMXMtMi42LTEwMi43IDktMTMyLjFjNy44LTE5LjYgMjIuOS0zNC43IDQyLjYtNDIuNiAyOS41LTExLjcgOTkuNS05IDEzMi4xLTlzMTAyLjctMi42IDEzMi4xIDljMTkuNiA3LjggMzQuNyAyMi45IDQyLjYgNDIuNiAxMS43IDI5LjUgOSA5OS41IDkgMTMyLjFzMi43IDEwMi43LTkgMTMyLjF6Il19LERodD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwZXJieXRlIixpY29uOls0NDgsNTEyLFtdLCJlMDgzIiwiTTMwNS4zIDI4NC42bC01OC43IDAgMCA5OC43IDU4LjcgMGMxNi4zIDAgMjktNC42IDM4LjItMTMuOHMxMy44LTIxLjIgMTMuOC0zNi4xYzAtMTQuNi00LjctMjYuMy0xNC0zNS4zcy0yMi0xMy41LTM3LjktMTMuNXpNMTQ5LjQgMTI4LjdsLTU4LjcgMCAwIDk4LjcgNTguNyAwYzE2LjMgMCAyOS00LjYgMzguMi0xMy44czEzLjgtMjEuMiAxMy44LTM2LjFjMC0xNC42LTQuNy0yNi4zLTE0LTM1LjNzLTIyLTEzLjUtMzcuOS0xMy41ek0zNjYuNiAzMkw4MS40IDMyYy0yMS42IDAtNDIuMiA4LjYtNTcuNSAyMy45UzAgOTEuOCAwIDExMy40TDAgMzk4LjZjMCAyMS42IDguNiA0Mi4yIDIzLjkgNTcuNVM1OS44IDQ4MCA4MS40IDQ4MGwyODUuMyAwYzIxLjYgMCA0Mi4yLTguNiA1Ny41LTIzLjlTNDQ4IDQyMC4yIDQ0OCAzOTguNmwwLTI4NS4zYzAtMjEuNi04LjYtNDIuMi0yMy45LTU3LjVTMzg4LjIgMzIgMzY2LjYgMzJ6bTYzLjYgMzY2LjZjMCAxNi45LTYuNyAzMy0xOC43IDQ1cy0yOC4xIDE4LjYtNDUgMTguN2wtMjg1LjMgMGMtMTYuOSAwLTMzLTYuNy00NS0xOC43cy0xOC42LTI4LjEtMTguNy00NWwwLTI4NS4zYzAtMTYuOSA2LjctMzMgMTguNy00NXMyOC4xLTE4LjYgNDUtMTguN2wyODUuMyAwYzE2LjkgMCAzMyA2LjcgNDUgMTguN3MxOC42IDI4LjEgMTguNyA0NWwwIDI4NS4zem0tMTI1LTI2OS45bC01OC43IDAgMCA5OC43IDU4LjcgMGMxNi4zIDAgMjktNC42IDM4LjItMTMuOHMxMy44LTIxLjIgMTMuOC0zNi4xYzAtMTQuNi00LjctMjYuMy0xNC0zNS4zcy0yMi0xMy41LTM3LjktMTMuNXoiXX0sRG9lPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS12aW1lbyIsaWNvbjpbNDQ4LDUxMixbInZpbWVvLXNxdWFyZSJdLCJmMTk0IiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0zMTguNSAzMDkuNWMtNDMuNSA1Ni41LTgwLjMgODQuOC0xMTAuNCA4NC44LTE4LjcgMC0zNC40LTE3LjItNDcuMy01MS42LTMuOC0xMy45LTcuMy0yNi45LTEwLjUtMzktMTguMi02OC4zLTI4LjYtMTA3LjQtNDYuMi0xMDcuNC0yLjQgMC0xMC44IDUtMjUuMSAxNS4xTDY0IDE5MmM3LTYuMSAxMy45LTEyLjQgMjAuNi0xOC41IDI5LjEtMjYuMyA1NS42LTUwLjMgNzMuNS01MS45IDI0LjktMi40IDQwLjIgMTQuNiA0NiA1MS4xIDIwLjUgMTI5LjYgMjkuNiAxNDkuMiA2Ni44IDkwLjUgMTMuNC0yMS4yIDIwLjYtMzcuMiAyMS41LTQ4LjMgMy40LTMyLjgtMjUuNi0zMC42LTQ1LjItMjIuMiAxNS43LTUxLjUgNDUuOC03Ni41IDkwLjEtNzUuMSAzMi45IDEgNDguNCAyMi40IDQ2LjUgNjQtMS40IDMxLjEtMjMuMiA3My44LTY1LjMgMTI3Ljl6Il19LEFodD1Eb2UsUGh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InB1c2hlZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjNlMSIsIk00MTUuMSAxMTEuOWwtOTguNS05IDE0LTMzLjRjMTAuNC0yMy41LTEwLjgtNDAuNC0yOC43LTM3TDMwLjYgNzYuOWMtMTUuMSAyLjctMjYgMTguMy0yMS40IDM2LjZMMTE0LjMgNDYxLjhjNi41IDIxLjMgMzYuNyAyNC4yIDQ3LjcgN0wxOTcuMyAzODggNDMyLjUgMTU2LjdjMTYuNC0xNi44IDQuMy00Mi45LTE3LjQtNDQuOHpNMzA1LjcgNTMuNmM1LjEtLjcgNy41IDIuNSA1LjIgNy40bC0xNi44IDM5LjktMTc3LjQtMTYuMyAxODktMzF6TTMwLjggMTA3LjljLTMuMS01LjEgMS0xMCA2LjEtOS4xbDI0OC43IDIyLjctOTYuOSAyMzAuNy0xNTcuOS0yNDQuM3pNMTQ0LjEgNDU2LjRjLTIuNiA0LTcuOSAzLjEtOS40LTEuMkw1MS42IDE3OS43IDE3OS4zIDM3Ny4zYy03IDE1LTM1LjIgNzkuMS0zNS4yIDc5LjF6TTQxNi45IDE0MS45bC0xOTguNyAxOTUuNCA4OS43LTIxMy43IDEwNi40IDkuN2M0IDEuMSA1LjcgNS4zIDIuNiA4LjZ6Il19LEVodD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtaXhjbG91ZCIsaWNvbjpbNjQwLDUxMixbXSwiZjI4OSIsIk0yMTMgMzQ2LjZsLTMzLjIgMCAwLTE1MS41IDYuMi0yMS42LTEwLjcgMC0zOC4xIDE3My4xLTYxIDAtMzguNC0xNzMuMS0xMC41IDAgNS45IDIxLjYgMCAxNTEuNS0zMy4yIDAgMC0xODEuNiA2NS43IDAgMzYuNiAxNzMuMSA4LjUgMCAzNi42LTE3My4xIDY1LjcgMCAwIDE4MS42em0zMzEuNS02M2wtODYgNjIuMSAwLTM4LjEgNzIuOS01MS44LTcyLjktNTEuOCAwLTM4LjEgODYgNjIuMyA5LjMgMCA4Ni4zLTYyLjMgMCAzOC4xLTczLjEgNTEuOCA3My4xIDUxLjggMCAzOC4xLTg2LjMtNjIuMS05LjMgMHpNNDMwLjIgMjcyLjNsLTE4MiAwIDAtMzMuMSAxODIgMCAwIDMzLjF6Il19LElodD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ5YW5kZXgtaW50ZXJuYXRpb25hbCIsaWNvbjpbMzIwLDUxMixbXSwiZjQxNCIsIk0xMjkuNSA1MTJsMC0xNjYuMS0xMTEtMjk3LjkgNTUuOCAwIDgxLjggMjI5LjcgOTQuMS0yNzcuNyA1MS4zIDAtMTIwLjcgMzQ3LjggMCAxNjQuMi01MS4zIDB6Il19LE5odD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJoaXZlIixpY29uOls1MTIsNTEyLFtdLCJlMDdmIiwiTTI2MC40IDI1NC45TDEzMS41IDMzLjFjLS4yLS4zLS41LS42LS44LS44cy0uNy0uMy0xLjEtLjMtLjggLjEtMS4xIC4zLS42IC41LS44IC44TC4zIDI1NC45Yy0uMiAuMy0uMyAuNy0uMyAxLjFzLjEgLjggLjMgMS4xTDEyOS4xIDQ3OC45Yy4yIC4zIC41IC42IC44IC44cy43IC4zIDEuMSAuMyAuOC0uMSAxLjEtLjMgLjYtLjUgLjgtLjhMMjYwLjQgMjU3LjFjLjItLjMgLjMtLjcgLjMtMS4xcy0uMS0uOC0uMy0xLjF6bTM5LjEtMjUuN2MuMiAuMyAuNSAuNiAuOCAuOHMuNyAuMyAxLjEgLjNsNjYuNSAwYy40IDAgLjgtLjEgMS4xLS4zcy42LS41IC44LS44IC4zLS43IC4zLTEuMS0uMS0uOC0uMy0xLjFMMjU5LjEgMzMuMWMtLjItLjMtLjUtLjYtLjgtLjhzLS43LS4zLTEuMS0uM2wtNjYuNSAwYy0uNCAwLS44IC4xLTEuMSAuM3MtLjYgLjUtLjggLjgtLjMgLjctLjMgMS4xIC4xIC44IC4zIDEuMUwyOTkuNCAyMjkuMnptMjEyLjMgMjUuN0wzODQuOSAzMy4xYy0uMi0uMy0uNS0uNi0uOC0uOHMtLjctLjMtMS4xLS4zbC02Ni42IDBjLS40IDAtLjggLjEtMS4xIC4zcy0uNiAuNS0uOCAuOC0uMyAuNy0uMyAxLjEgLjEgLjggLjMgMS4xTDQ0MC43IDI1NiAzMTQuNSA0NzYuN2MtLjIgLjMtLjMgLjctLjMgMS4xcy4xIC44IC4zIDEuMSAuNSAuNiAuOCAuOCAuNyAuMyAxLjEgLjNsNjYuNiAwYy40IDAgLjgtLjEgMS4xLS4zcy42LS41IC44LS44TDUxMS43IDI1Ny4xYy4yLS4zIC4zLS43IC4zLTEuMXMtLjEtLjgtLjMtMS4xek0zNjYgMjg0LjlsLTY2LjUgMGMtLjQgMC0uOCAuMS0xLjEgLjNzLS42IC41LS44IC44TDE4OC44IDQ3Ni43Yy0uMiAuMy0uMyAuNy0uMyAxLjFzLjEgLjggLjMgMS4xIC41IC42IC44IC44IC43IC4zIDEuMSAuM2w2Ni41IDBjLjQgMCAuOC0uMSAxLjEtLjNzLjYtLjUgLjgtLjhMMzY3LjkgMjg4LjNjLjItLjMgLjMtLjcgLjMtMS4xcy0uMS0uOC0uMy0xLjEtLjUtLjYtLjgtLjgtLjctLjMtMS4xLS4zeiJdfSxSaHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy16ZXJvIixpY29uOls1MTIsNTEyLFtdLCJmNGYzIiwiTTI1NS42IDhDMzk3LjQgOCA1MDQgMTE4LjEgNTA0IDI1NiA1MDQgNDAzLjEgMzg1LjUgNTA0IDI1NS42IDUwNCAxMjEuNiA1MDQgOCAzOTQuNSA4IDI1NiA4IDEyMy4xIDExMi43IDggMjU1LjYgOHptLjggNDQuN2MtMTE4LjIgMC0yMDMuNyA5Ny45LTIwMy43IDIwMy4zIDAgMTA5LjggOTEuMiAyMDIuOCAyMDMuNyAyMDIuOCAxMDMuMiAwIDIwMi44LTgxLjEgMjAyLjgtMjAyLjggLjEtMTEzLjgtOTAuMi0yMDMuMy0yMDIuOC0yMDMuM3ptLS40IDYwLjVjLTgxLjkgMC0xMDIuNSA3Ny4zLTEwMi41IDE0Mi44UzE3NC4xIDM5OC44IDI1NiAzOTguOCAzNTguNSAzMjEuNSAzNTguNSAyNTYgMzM3LjkgMTEzLjIgMjU2IDExMy4yem0wIDUzLjljMy4zIDAgNi40IC41IDkuMiAxLjIgNS45IDUuMSA4LjggMTIuMSAzLjEgMjEuOUwyMTMuOCAyOTAuNGMtMS43LTEyLjctMS45LTI1LjEtMS45LTM0LjQgMC0yOC44IDItODguOSA0NC4xLTg4Ljl6bTQwLjggNDYuMmMyLjkgMTUuNCAzLjMgMzEuNCAzLjMgNDIuNyAwIDI4LjktMiA4OC45LTQ0LjEgODguOS0xMy41IDAtMzIuNi03LjctMjAuMS0yNi40bDYwLjktMTA1LjJ6Il19LEFvZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtc25hcGNoYXQiLGljb246WzQ0OCw1MTIsWyJzbmFwY2hhdC1zcXVhcmUiXSwiZjJhZCIsIk0zODQgMzJMNjQgMzJjLTE3IDAtMzMuMyA2LjctNDUuMyAxOC43UzAgNzkgMCA5NkwwIDQxNmMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM1M0NyA0ODAgNjQgNDgwbDMyMCAwYzE3IDAgMzMuMy02LjcgNDUuMy0xOC43UzQ0OCA0MzMgNDQ4IDQxNmwwLTMyMGMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM1M0MDEgMzIgMzg0IDMyem0tMy45IDMxOS4zbC0uMSAuMWMtMi41IDIuOC01LjQgNS4xLTguNyA2LjgtNi41IDMuNi0xMy40IDYuMy0yMC42IDguMi0xLjQgLjQtMi43IDEtMy45IDEuOC0yLjIgMS45LTIuMSA0LjYtNC40IDguNi0xLjcgMy00IDUuNS02LjggNy41LTYuNyA0LjYtMTQuMiA0LjktMjIuMiA1LjItNy4yIC4zLTE1LjQgLjYtMjQuNyAzLjctMy44IDEuMi03LjggMy43LTEyLjQgNi41LTExLjMgNi45LTI2LjcgMTYuNC01Mi4zIDE2LjRzLTQwLjktOS40LTUyLjEtMTYuM2MtNC43LTIuOS04LjctNS40LTEyLjUtNi42LTkuMy0zLjEtMTcuNS0zLjQtMjQuNy0zLjctOC0uMy0xNS41LS42LTIyLjItNS4yLTIuNC0xLjYtNC40LTMuNy02LTYuMS0zLjItNC42LTIuOS03LjgtNS4zLTkuOS0xLjMtLjgtMi42LTEuNS00LjEtMS44LTcuMS0xLjktMTMuOS00LjYtMjAuMy04LjEtMy4xLTEuNi01LjktMy44LTguMy02LjMtNi42LTYuOC04LjMtMTQuOC01LjctMjEuOCAzLjQtOS4zIDExLjYtMTIuMSAxOS40LTE2LjMgMTQuOC04IDI2LjMtMTguMSAzNC40LTI5LjkgMi4zLTMuMyA0LjMtNi45IDYtMTAuNiAuOC0yLjIgLjgtMy4zIC4yLTQuNC0uNi0uOS0xLjMtMS42LTIuMi0yLjItMi41LTEuNy01LjEtMy40LTYuOS00LjUtMy4zLTIuMS01LjktMy44LTcuNS01LTYuMy00LjQtMTAuNi05LTEzLjQtMTQuMi0xLjktMy42LTMtNy42LTMuMy0xMS42cy40LTguMSAxLjktMTEuOWM0LjEtMTAuOSAxNC41LTE3LjcgMjctMTcuNyAyLjYgMCA1LjMgLjMgNy44IC44IC43IC4yIDEuNCAuMyAyIC41LS4xLTcuNCAuMS0xNS40IC43LTIzLjEgMi40LTI3LjMgMTEuOS00MS42IDIxLjktNTMgNi40LTcuMiAxMy45LTEzLjIgMjIuMy0xNy45IDE1LjEtOC42IDMyLjItMTMgNTAuOS0xM3MzNS44IDQuNCA1MC45IDEzYzguMyA0LjcgMTUuOSAxMC44IDIyLjIgMTcuOSAxMCAxMS40IDE5LjUgMjUuNyAyMS45IDUzIC42IDcuNyAuOSAxNS40IC43IDIzLjEgLjctLjIgMS40LS4zIDIuMS0uNSAyLjYtLjYgNS4yLS44IDcuOC0uOCAxMi41IDAgMjIuOCA2LjggMjcgMTcuNyAxLjUgMy44IDIuMSA3LjkgMS45IDExLjlzLTEuNCA4LTMuMyAxMS42Yy0yLjcgNS4yLTcuMSA5LjktMTMuNCAxNC4yLTEuNyAxLjItNC4zIDIuOS03LjUgNS0xLjggMS4yLTQuNSAyLjktNy4yIDQuNy0uOCAuNS0xLjQgMS4yLTEuOSAyLS41IDEtLjUgMi4yIC4yIDQuMiAxLjcgMy44IDMuNyA3LjQgNi4xIDEwLjggOC4zIDEyLjEgMjAuMiAyMi4zIDM1LjUgMzAuNCAxLjUgLjggMyAxLjUgNC40IDIuMyAuNyAuMyAxLjYgLjggMi41IDEuMyA0LjkgMi43IDkuMiA2IDExLjUgMTIuMiAyLjUgNi45IDEgMTQuNy01LjIgMjEuM3ptLTE2LjctMTguNWMtNTAuMy0yNC4zLTU4LjMtNjEuOS01OC43LTY0LjctLjQtMy40LS45LTYgMi44LTkuNSAzLjYtMy4zIDE5LjUtMTMuMiAyNC0xNi4zIDcuMy01LjEgMTAuNS0xMC4yIDguMi0xNi41LTEuNy00LjMtNS43LTYtMTAtNi0xLjMgMC0yLjcgLjItNCAuNC04IDEuNy0xNS44IDUuOC0yMC40IDYuOS0uNSAuMS0xLjEgLjItMS43IC4yLTIuNCAwLTMuMy0xLjEtMy4xLTQgLjYtOC44IDEuOC0yNS45IC40LTQxLjktMS45LTIyLTktMzIuOS0xNy40LTQyLjYtNC4xLTQuNi0yMy4xLTI0LjctNTkuNS0yNC43cy01NS40IDIwLjEtNTkuNSAyNC44Yy04LjQgOS43LTE1LjUgMjAuNi0xNy40IDQyLjYtMS40IDE2LS4xIDMzLjEgLjQgNDEuOSAuMiAyLjgtLjcgNC0zLjEgNC0uNiAwLTEuMS0uMS0xLjctLjItNC41LTEuMS0xMi4zLTUuMS0yMC4zLTYuOS0xLjMtLjMtMi42LS40LTQtLjQtNC4zIDAtOC4zIDEuNi0xMCA2LTIuNCA2LjMgLjggMTEuNCA4LjIgMTYuNSA0LjQgMy4xIDIwLjQgMTMgMjQgMTYuMyAzLjcgMy40IDMuMiA2LjEgMi44IDkuNS0uNCAyLjgtOC40IDQwLjQtNTguNyA2NC43LTIuOSAxLjQtOCA0LjQgLjkgOS4zIDEzLjkgNy42IDIzLjEgNi44IDMwLjMgMTEuNCA2LjEgMy45IDIuNSAxMi40IDYuOSAxNS40IDUuNSAzLjggMjEuNi0uMyA0Mi4zIDYuNiAxNy40IDUuNyAyOC4xIDIyIDU5IDIyczQxLjgtMTYuMyA1OC45LTIyYzIwLjgtNi45IDM2LjktMi44IDQyLjMtNi42IDQuNC0zLjEgLjgtMTEuNSA2LjktMTUuNCA3LjItNC42IDE2LjQtMy44IDMwLjMtMTEuNSA4LjgtNC45IDMuOC03LjkgLjktOS40eiJdfSxGaHQ9QW9lLE9odD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0aGVtZWlzbGUiLGljb246WzUxMiw1MTIsW10sImYyYjIiLCJNMjA4IDg4LjNjMC0xMCA2LjMtMjEuNyAxNy43LTIxLjcgMTEuMSAwIDE3LjcgMTEuNyAxNy43IDIxLjcgMCAxMC4zLTYuNiAyMS43LTE3LjcgMjEuNy0xMS40IDAtMTcuNy0xMS40LTE3LjctMjEuN3ptMzA0IDE2MGMwIDM2LTExLjQgMTAyLjMtMzYuMyAxMjkuNy0yMi45IDI0LjktODcuNCA2MS4xLTEyMC45IDcwLjZsLTEuMSAuMyAwIDMyLjZjMCAxNi4zLTEyLjYgMzAuNi0yOS4xIDMwLjYtMTAgMC0xOS40LTUuNy0yNC42LTE0LjMtNS40IDguNi0xNC45IDE0LjMtMjQuOSAxNC4zcy0xOS40LTUuNy0yNC45LTE0LjNjLTUuMSA4LjYtMTQuNiAxNC4zLTI0LjYgMTQuMy0xMC4zIDAtMTkuNC01LjctMjQuOS0xNC4zLTUuMSA4LjYtMTQuNiAxNC4zLTI0LjYgMTQuMy0xOC45IDAtMjkuNC0xNS43LTI5LjQtMzIuOS0xNi4zIDEyLjMtMzUuNyAxOS40LTU2LjYgMTkuNC0yMiAwLTQzLjQtOC4zLTYwLjMtMjIuOSAxMC4zLS4zIDIwLjYtMi4zIDMwLjMtNS43LTIwLjktNS43LTM5LjQtMTguOS01Mi0zNi4zIDIxLjQgNC42IDQ2LjIgMS43IDY3LjEtMTEuMS0yMi0yMi01Ni42LTU4LjktNjguNi04Ny40LTUuNy0xMy40LTYuOS0zMS40LTYuOS00NS43IDAtNDkuNyAyMC4zLTE2MCA4Ni4zLTE2MCAxMC42IDAgMTguOSA0LjkgMjMuMSAxNC45IDMuNy01LjQgNy43LTEwLjUgMTItMTUuNCAyLTIuNiA1LjctNS40IDcuMS04LjMgOC0xMi42IDExLjctMjEuMSAyMS43LTM0IDMyLjMtNDEuMSA4MS43LTY5LjQgMTM0LjktNjkuNCA2IDAgMTIgLjMgMTcuNyAxLjEgMTAuOS0xMS43IDI2LTE4LjMgNDEuNy0xOC4zIDE0LjYgMCAyOS43IDYgNDAgMTYuMyAuOSAuOSAxLjQgMi4zIDEuNCAzLjQgMCAzLjctMTAuMyAxMy40LTEyLjkgMTYuMyA0LjMgMS40IDE1LjcgNi45IDE1LjcgMTIgMCAyLjktMi45IDUuMS00LjYgNy4xIDMxLjQgMjcuNyA0OS40IDY3LjEgNTYuMyAxMDggNC4zLTUuMSAxMC4zLTguNiAxNy4xLTguNiAxMC42IDAgMjAuOSA3LjEgMjguNiAxNCAyMC45IDE4LjYgMjUuNyA1My4xIDI1LjcgNzkuN3pNMTg4IDg5LjRjMCAxOC4zIDEyLjYgMzcuMSAzMi4zIDM3LjFzMzIuMy0xOC45IDMyLjMtMzcuMWMwLTE4LTEyLjYtMzYuOS0zMi4zLTM2LjlTMTg4IDcxLjQgMTg4IDg5LjR6TTIzNy43IDE5NGMwLTE5LjcgMy43LTM5LjEgOC42LTU4LjMtNTIgNzkuNS0xMy41IDE4NC42IDY4LjkgMTg0LjYgMjEuNCAwIDQyLjYtNy43IDYwLTIwIDItNy40IDMuNy0xNC45IDMuNy0yMi42IDAtMTQuMy02LjMtMjEuNC0yMC42LTIxLjQtNC42IDAtOS4xIC45LTEzLjQgMS43LTYzLjMgMTIuNy0xMDcuMSAzLjctMTA3LjEtNjR6TTE5Ni42IDQ0OC45YzAtMTEuMS04LjktMjAuOS0yMC4zLTIwLjlzLTIwIDkuNy0yMCAyMC45bDAgMzIuNmMwIDExLjEgOC42IDIxLjEgMjAgMjEuMXMyMC4zLTkuNyAyMC4zLTIxLjFsMC0zMi42em00OS4xIDBjMC0xMS4xLTguNi0yMC45LTIwLTIwLjlzLTIwLjMgOS43LTIwLjMgMjAuOWwwIDMyLjZjMCAxMS4xIDguOSAyMS4xIDIwLjMgMjEuMXMyMC0xMCAyMC0yMS4xbDAtMzIuNnptNDkuNyAwYzAtMTEuMS04LjktMjAuOS0yMC4zLTIwLjlzLTIwLjMgOS43LTIwLjMgMjAuOWwwIDMyLjZjMCAxMS4xIDguOSAyMS4xIDIwLjMgMjEuMXMyMC4zLTkuNyAyMC4zLTIxLjFsMC0zMi42em00OS43IDBjMC0xMS4xLTguOS0yMC45LTIwLjMtMjAuOXMtMjAuMyA5LjctMjAuMyAyMC45bDAgMzIuNmMwIDExLjEgOC45IDIxLjEgMjAuMyAyMS4xczIwLjMtMTAgMjAuMy0yMS4xbDAtMzIuNnpNNDIxLjcgMjg2Yy0zMC45IDU5LjEtOTAuMyAxMDIuNi0xNTguNiAxMDIuNi05Ni42IDAtMTYwLjYtODQuNi0xNjAuNi0xNzYuNiAwLTE2LjkgMi0zMy40IDYtNDkuNy0yMCAzMy43LTI5LjcgNzIuNi0yOS43IDExMS40IDAgNjAuMyAyNC45IDEyMS43IDcxLjQgMTYwLjkgNS4xLTkuNyAxNC45LTE2LjMgMjYtMTYuMyAxMCAwIDE5LjQgNS43IDI0LjYgMTQuMyA1LjQtOC42IDE0LjYtMTQuMyAyNC45LTE0LjMgMTAgMCAxOS40IDUuNyAyNC42IDE0LjMgNS40LTguNiAxNC45LTE0LjMgMjQuOS0xNC4zczE5LjQgNS43IDI0LjkgMTQuM2M1LjEtOC42IDE0LjYtMTQuMyAyNC42LTE0LjMgMTAuOSAwIDIwLjkgNi42IDI1LjcgMTYgNDMuNC0zNi4zIDY4LjYtOTIgNzEuNC0xNDguM3ptMTAuNi05OS43YzAtNTMuNy0zNC42LTEwNS43LTkyLjYtMTA1LjctMzAuMyAwLTU4LjYgMTUuMS03OC45IDM2LjktMjAgNjYuNC0yNy40IDEzNi42IDQxLjQgMTM2LjYgMjguOCAwIDk3LjQtMjguNSA4NC4zIDM2LjkgMjguOS0yNiA0NS43LTY1LjcgNDUuNy0xMDQuNnoiXX0sQmh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRhcnQtbGFuZyIsaWNvbjpbNTEyLDUxMixbXSwiZTY5MyIsIk0zNzguNiA3OC45Yy0yLjgtLjEtNS42LS4yLTguNS0uMmwtMjY0LjEgMCAxNDMuMi03MmM3LjQtNC40IDE4LjgtNi43IDMwLjQtNi43IDEzLjUgMCAyOS40IDkuMiAzNyAxNi44bDYyIDYyIDAgLjF6TTEwNy4zIDk2LjVsMjYyLjggMGMxNiAwIDI1LjQgMS40IDM1LjQgOS4zbDEwNi41IDEwNi40IDAgMjA4LjgtNzkuMyAuNy0zMjUuNC0zMjUuMnpNOTYuNSAzNzNsMC0yNjIuMiAzMjMuOCAzMjMuOCAuNyA3Ny40LTIxMi4yIDAtOTguMS05OC4yQzk5LjQgNDAyLjUgOTYuNSAzOTguNSA5Ni41IDM3M3pNNzguNyAxMDUuM2wwIDI2Ny43YzAgMy4zIC4xIDYuMyAuMiA5LjFsLTYyLTYyQzYuNSAzMDkuMyAwIDI5NC4zIDAgMjc5LjYgMCAyNzIuOCAzLjkgMjYyLjEgNi43IDI1Nmw3Mi0xNTAuN3oiXX0sSGh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRlcGxveWRvZyIsaWNvbjpbNTEyLDUxMixbXSwiZjM4ZSIsIk0zODIuMiAxMzZsNTEuNyAwIDAgMjM5LjYtNTEuNyAwIDAtMjAuN2MtMTkuOCAyNC44LTUyLjggMjQuMS03My44IDE0LjctMjYuMi0xMS43LTQ0LjMtMzguMS00NC4zLTcxLjggMC0yOS44IDE0LjgtNTcuOSA0My4zLTcwLjggMjAuMi05LjEgNTIuNy0xMC42IDc0LjggMTIuOWwwLTEwMy45ek0zMTcuNSAyOTcuOGEzMy4yIDMzLjIgMCAxIDAgNjYuNCAxIDMzLjIgMzMuMiAwIDEgMCAtNjYuNC0xek0xODguNSAxMzZsNTEuNyAwIDAgMjM5LjYtNTEuNyAwIDAtMjAuN2MtMTkuOCAyNC44LTUyLjggMjQuMS03My44IDE0LjctMjYuMi0xMS43LTQ0LjMtMzguMS00NC4zLTcxLjggMC0yOS44IDE0LjgtNTcuOSA0My4zLTcwLjggMjAuMi05LjEgNTIuNy0xMC42IDc0LjggMTIuOWwwLTEwMy45ek0xMjMuOCAyOTcuOGEzMy4yIDMzLjIgMCAxIDAgNjYuNCAxIDMzLjIgMzMuMiAwIDEgMCAtNjYuNC0xek00NDggOTZjMTcuNSAwIDMyIDE0LjQgMzIgMzJsMCAyNTZjMCAxNy41LTE0LjQgMzItMzIgMzJMNjQgNDE2Yy0xNy41IDAtMzItMTQuNC0zMi0zMmwwLTI1NmMwLTE3LjUgMTQuNC0zMiAzMi0zMmwzODQgMHptMC0zMkw2NCA2NEMyOC44IDY0IDAgOTIuOCAwIDEyOEwwIDM4NGMwIDM1LjIgMjguOCA2NCA2NCA2NGwzODQgMGMzNS4yIDAgNjQtMjguOCA2NC02NGwwLTI1NmMwLTM1LjItMjguOC02NC02NC02NHoiXX0scWh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZsaXBib2FyZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjQ0ZCIsIk0wIDMybDAgNDQ4IDQ0OCAwIDAtNDQ4LTQ0OCAwek0zNTguNCAyMTEuMmwtODkuNiAwIDAgODkuNi04OS42IDAgMCA4OS42LTg5LjYgMCAwLTI2OC44IDI2OC44IDAgMCA4OS42eiJdfSxWaHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYnV5LW4tbGFyZ2UiLGljb246WzU3Niw1MTIsW10sImY4YTYiLCJNMjg4LjIgMzJDMTMzLjUgMzIgOCAxMzIuMyA4IDI1NlMxMzMuNSA0ODAgMjg4LjIgNDgwIDU2OC40IDM3OS43IDU2OC40IDI1NiA0NDIuOSAzMiAyODguMiAzMnpNMjAyLjggMzg5LjJsLTEzOC41IDEuNCA3Ny4yLTI5MC43IDEzMy40IDBjNjMuMiAwIDg0LjkgMjguNiA3OCA3Mi44LS40IDIuMy0uOSA0LjYtMS41IDYuOS01LjYtMS4zLTExLjQtMS45LTE3LjItMS45LTQyLjMgMC03Ni43IDMzLjktNzYuNyA3NS43IDAgMzcuMSAyNy4xIDY4IDYyLjkgNzQuNS0xOC4yIDM3LjItNTYuMiA2MC45LTExNy43IDYxLjV6TTM1OC4yIDIwNy4xbDMyIDAtMjIuMiA5MC4zLTM1LjQgMC0xMS4yLTM1LjYtNy44IDM1LjYtMzcuOCAwIDI2LjYtOTAuMyAzMS4zIDAgMTUgMzYuOCA5LjQtMzYuOHpNNTA0LjEgMzg5LjJsLTE5Ny4xIDAgMTUuOC02MS4yYzMuOCAuNiA3LjYgLjggMTEuNSAuOCA0Mi4zIDAgNzYuNy0zMy45IDc2LjctNzUuNiAwLTMyLjYtMjEtNjAuNS01MC40LTcxLjFsMjEuMy04Mi40IDkyLjUgMC01MyAyMDUuNCAxMDMuOSAwLTIxLjIgODQuMXpNMjExLjkgMjY5LjRsLTI0LjcgMC0xMy44IDU2LjUgMjQuNyAwYzE2LjEgMCAzMi4xLTMuMiAzNy45LTI2LjYgNS42LTIyLjMtOC0yOS44LTI0LjEtMjkuOHpNMjMzLjIgMTcwbC0yMS4zIDAtMTEuNyA0Ny43IDIxLjQgMGMxOCAwIDM1LjQtMTQuNiAzOS4yLTMwLjEgNC42LTE4LjktOS41LTE3LjYtMjcuNi0xNy42eiJdfSxqaHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2F0Y2htYW4tbW9uaXRvcmluZyIsaWNvbjpbNTEyLDUxMixbXSwiZTA4NyIsIk0yNTYgMTZhMjQwIDI0MCAwIDEgMCAwIDQ4MCAyNDAgMjQwIDAgMSAwIDAtNDgwek0xMjEuNyA0MjkuMWMtNTEuNi00MC4yLTg0LjktMTAyLjgtODQuOS0xNzMuMSAwLTIxLjcgMy4yLTQzLjMgOS42LTY0LjFsMTAyLjktMTcuOS0uMSAxMS0xMy45IDJzLS4xIDEyLjUtLjEgMTkuNWMwIDIgLjQgNCAxLjIgNS44czIuMSAzLjQgMy43IDQuNmw5LjUgNy40LTI3LjcgMjA0Ljl6TTIyNy40IDE0NS45bDguNS03LjZzNi45LTUuNC0uMS05LjNjLTcuMi00LTM5LjUtMzQuNS0zOS41LTM0LjUtNS4zLTUuNS04LjMtNy4zLTE1LjUgMCAwIDAtMzIuMyAzMC41LTM5LjUgMzQuNS03LjEgNC0uMSA5LjMtLjEgOS4zbDguNSA3LjYgMCA0LjQtNzMuNS0xOS4yYzM5LjYtNTYuOSAxMDUuNS05NC4zIDE4MC05NC4zIDMxLjMgMCA2Mi4yIDYuNyA5MC42IDE5LjZzNTMuOCAzMS44IDc0LjMgNTUuNGwtMTkzLjUgMzcuNyAwLTMuNnptMzQuMSAzMjkuM2wtMzMuOS0yNTAuOSA5LjUtNy40YzEuNi0xLjIgMi44LTIuOCAzLjctNC42czEuMy0zLjggMS4yLTUuOGMwLTctLjEtMTkuNS0uMS0xOS41bC0xMy45LTItLjEtMTAuNSAyNDEuNyAzMS40YzMuOSAxNi40IDUuOCAzMy4zIDUuOCA1MC4xIDAgMTE5LjEtOTUuNCAyMTYuMi0yMTMuOCAyMTkuMXoiXX0sVWh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImhpcHMiLGljb246WzY0MCw1MTIsW10sImY0NTIiLCJNMjUxLjYgMTU3LjZjMC0xLjktLjktMi44LTIuOC0yLjhsLTQwLjkgMGMtMS42IDAtMi43IDEuNC0yLjcgMi44bDAgMjAxLjhjMCAxLjQgMS4xIDIuOCAyLjcgMi44bDQwLjkgMGMxLjkgMCAyLjgtLjkgMi44LTIuOGwwLTIwMS44ek0xNTYuNSAxNjhjLTE2LjEtMTEuOC0zNi4zLTE3LjktNjAuMy0xOC0xOC4xLS4xLTM0LjYgMy43LTQ5LjggMTEuNGwwLTgxLjJjMC0xLjgtLjktMi43LTIuOC0yLjdsLTQwLjkgMEMuOSA3Ny41IDAgNzguNCAwIDgwLjJMMCAzNTkuNGMwIDEuOSAuOSAyLjggMi43IDIuOGw0MSAwYzEuOSAwIDIuOC0uOSAyLjgtMi44bDAtMTM2LjFjMC0uOC0yLjgtMjcgNDUuOC0yNyA0OC41IDAgNDUuOCAyNi4xIDQ1LjggMjdsMCAxMjIuNmMwIDkgNy4zIDE2LjMgMTYuNCAxNi4zbDI3LjMgMGMxLjggMCAyLjctLjkgMi43LTIuOGwwLTEzNi4xYzAtMjMuNC05LjMtNDEuOC0yOC01NS4zek02MzQuOSAyNzguMWMtNi44LTE1LjctMTguNC0yNy0zNC45LTM0LjFsLTU3LjYtMjUuM2MtOC42LTMuNi05LjItMTEuMi0yLjYtMTYuMSA3LjQtNS41IDQ0LjMtMTMuOSA4NCA2LjggMS43IDEgNC0uMyA0LTIuNGwwLTQ0LjdjMC0xLjMtLjYtMi4xLTEuOS0yLjYtMTcuNy02LjYtMzYuMS05LjktNTUuMS05LjktMjYuNSAwLTQ1LjMgNS44LTU4LjUgMTUuNC0uNSAuNC0yOC40IDIwLTIyLjcgNTMuNyAzLjQgMTkuNiAxNS44IDM0LjIgMzcuMiA0My42TDU4MC40IDI4NmMxMS42IDUuMSAxNS4yIDEzLjMgMTIuMiAyMS4yLTMuNyA5LjEtMTMuMiAxMy42LTM2LjUgMTMuNi0yNC4zIDAtNDQuNy04LjktNTguNC0xOS4xLTIuMS0xLjQtNC40IC4yLTQuNCAyLjNsMCAzNC40YzAgMTAuNCA0LjkgMTcuMyAxNC42IDIwLjcgMTUuNiA1LjUgMzEuNiA4LjIgNDguMiA4LjIgMTIuNyAwIDI1LjgtMS4yIDM2LjMtNC4zIC43LS4zIDM2LTguOSA0NS42LTQ1LjggMy41LTEzLjUgMi40LTI2LjUtMy4xLTM5LjF6TTM3Ni4yIDE0OS44Yy0zMS43IDAtMTA0LjIgMjAuMS0xMDQuMiAxMDMuNWwwIDE4My41YzAgLjggLjYgMi43IDIuNyAyLjdsNDAuOSAwYzEuOSAwIDIuOC0uOSAyLjgtMi43bDAtODguOGMxNi41IDEyLjcgMzUuOCAxOS4xIDU3LjcgMTkuMSA2MC41IDAgMTA4LjctNDguNSAxMDguNy0xMDguNyAuMS02MC4zLTQ4LjItMTA4LjYtMTA4LjYtMTA4LjZ6bTAgNDYuNmE2Mi4yIDYyLjIgMCAxIDEgMCAxMjQuMyA2Mi4yIDYyLjIgMCAxIDEgMC0xMjQuM3pNMjI4LjMgNzIuNWMtMTUuOSAwLTI4LjggMTIuOS0yOC45IDI4LjkgMCAxNS42IDEyLjcgMjguOSAyOC45IDI4LjlzMjguOS0xMy4xIDI4LjktMjguOWMwLTE2LjItMTMtMjguOS0yOC45LTI4Ljl6Il19LFdodD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjbG91ZHZlcnNpZnkiLGljb246WzY0MCw1MTIsW10sImYzODUiLCJNMTYwLjYgMzA0YzguMiA2OC41IDY3LjQgMTE1LjUgMTQ2IDExMS4zIDUxLjIgNDMuMyAxMzYuOCA0NS44IDE4Ni40LTUuNiA2OS4yIDEuMSAxMTguNS00NC42IDEzMS41LTk5LjUgMTQuOC02Mi41LTE4LjItMTMyLjUtOTIuMS0xNTUuMS0zMy04OC4xLTEzMS40LTEwMS41LTE4Ni41LTg1LTU3LjMgMTcuMy04NC4zIDUzLjItOTkuMyAxMDkuNy03LjggMi43LTI2LjUgOC45LTQ1IDI0LjEgMTEuNyAwIDE1LjIgOC45IDE1LjIgMTkuNWwwIDIwLjRjMCAxMC43LTguNyAxOS41LTE5LjUgMTkuNWwtMjAuMiAwYy0xMC43IDAtMTkuNS02LTE5LjUtMTYuN2wwLTYuNi00Ni44IDBjLTMuOCAwLTEwLjggNC4zLTEwLjggMTEuOWwwIDQwLjRjMCA2LjQgNS4zIDExLjggMTEuNyAxMS44bDQ4LjkgMCAwLS4xek0zODggMzEyYy0xMC43IDQ2LjMgMjEuNyA3Mi40IDU1LjMgODYuOC0xMDcuMiAzMy44LTE3MS42LTUwLjgtMTM1LjMtMTEwLjgtMzMuMiAyMS42LTMzLjcgNzEuMi0yOS4yIDkyLjktMTcuOS0xMi40LTUzLjgtMzIuNC01Ny40LTc5LjgtMy0zOS45IDIxLjUtNzUuNyA1Ny05My45IDMwLjYtMTUuOCAxMDMuNS04LjUgMTMzLjYgNDAuOC0xNC4xLTQ4LTUzLjgtNzAuMS0xMDEuOC03NC44IDMwLjktMzAuNyA2NC40LTUwLjMgMTE0LjItNDMuNyA2OS44IDkuMyAxMzMuMiA4Mi44IDY3LjcgMTUwLjUgMzUtMTYuMyA0OC43LTU0LjQgNDcuNS03Ni45bDEwLjUgMTkuNmMxMS44IDIyIDE1LjIgNDcuNiA5LjQgNzItOS4yIDM5LTQwLjYgNjguOC03OS43IDc2LjUtMzIuMSA2LjMtODMuMS01LjEtOTEuOC01OS4yek0xNDAgMjA4bC0zOS44IDBjLTguOSAwLTE2LjItNy4zLTE2LjItMTYuMmwwLTM5LjZjMC04LjkgNy4zLTE2LjIgMTYuMi0xNi4ybDM5LjggMGM4LjkgMCAxNi4yIDcuMyAxNi4yIDE2LjJsMCAzOS42YzAgOC45LTcuMyAxNi4yLTE2LjIgMTYuMnpNMjIuMSAxNjhjLTUuNiAwLTEwLjEtNC41LTEwLjEtMTAuMWwwLTI3LjhjMC01LjYgNC41LTEwLjEgMTAuMS0xMC4xbDI3LjcgMGM1LjUgMCAxMC4xIDQuNSAxMC4xIDEwLjFsMCAyNy44YzAgNS42LTQuNSAxMC4xLTEwLjEgMTAuMWwtMjcuNyAwek0xODAgMTQyLjdsMC0yMS40YzAtNS4xIDQuMi05LjMgOS4zLTkuM2wyMS40IDBjNS4xIDAgOS4zIDQuMiA5LjMgOS4zbDAgMjEuNGMwIDUuMS00LjIgOS4zLTkuMyA5LjNsLTIxLjQgMGMtNS4xIDAtOS4zLTQuMi05LjMtOS4zek02OCAyMzUuNWwwIDI1YzAgNi4zLTUuMSAxMS41LTExLjQgMTEuNWwtMjUuMiAwYy02LjMgMC0xMS40LTUuMi0xMS40LTExLjVsMC0yNWMwLTYuMyA1LjEtMTEuNSAxMS40LTExLjVsMjUuMSAwYzYuNCAwIDExLjUgNS4yIDExLjUgMTEuNXoiXX0sR2h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2RyZWFkcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjNhOCIsIk0yOTkuOSAxOTEuMmM1LjEgMzcuMy00LjcgNzktMzUuOSAxMDAuNy0yMi4zIDE1LjUtNTIuOCAxNC4xLTcwLjggNS43LTM3LjEtMTcuMy00OS41LTU4LjYtNDYuOC05Ny4yIDQuMy02MC45IDQwLjktODcuOSA3NS4zLTg3LjUgNDYuOS0uMiA3MS44IDMxLjggNzguMiA3OC4zek00NDggODhsMCAzMzZjMCAzMC45LTI1LjEgNTYtNTYgNTZMNTYgNDgwYy0zMC45IDAtNTYtMjUuMS01Ni01NkwwIDg4QzAgNTcuMSAyNS4xIDMyIDU2IDMybDMzNiAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2ek0zMzAgMzEzLjJzLS4xLTM0LS4xLTIxNy4zbC0yOSAwIDAgNDAuM2MtLjggLjMtMS4yLS41LTEuNi0xLjItOS42LTIwLjctMzUuOS00Ni4zLTc2LTQ2LTUxLjkgLjQtODcuMiAzMS4yLTEwMC42IDc3LjgtNC4zIDE0LjktNS44IDMwLjEtNS41IDQ1LjYgMS43IDc3LjkgNDUuMSAxMTcuOCAxMTIuNCAxMTUuMiAyOC45LTEuMSA1NC41LTE3IDY5LTQ1LjIgLjUtMSAxLjEtMS45IDEuNy0yLjkgLjIgLjEgLjQgLjEgLjYgLjIgLjMgMy44IC4yIDMwLjcgLjEgMzQuNS0uMiAxNC44LTIgMjkuNS03LjIgNDMuNS03LjggMjEtMjIuMyAzNC43LTQ0LjUgMzkuNS0xNy44IDMuOS0zNS42IDMuOC01My4yLTEuMi0yMS41LTYuMS0zNi41LTE5LTQxLjEtNDEuOC0uMy0xLjYtMS4zLTEuMy0yLjMtMS4zbC0yNi44IDBjLjggMTAuNiAzLjIgMjAuMyA4LjUgMjkuMiAyNC4yIDQwLjUgODIuNyA0OC41IDEyOC4yIDM3LjQgNDkuOS0xMi4zIDY3LjMtNTQuOSA2Ny40LTEwNi4zeiJdfSxZaHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGlkYWwiLGljb246WzY0MCw1MTIsW10sImU3ZGMiLCJNMTA3LjIgNDhsLTEuMyAwYy0zMi4zIDMzLjEtNjUuNCA2NS41LTk4IDk4LjUtMi42IDIuOC02LjEgNS4xLTcuOSA4LjYgMzUuNiAzNS40IDcxIDcxIDEwNi42IDEwNi40IDM1LjQtMzUuMyA3MC43LTcwLjggMTA2LjEtMTA2LjFsMC0xLjMtNzMuMi03My4yQzEyOC44IDY5LjggMTE3LjMgNTkuNiAxMDcuMiA0OHptMjEzLjUgMGwtMS4zIDBjLTM0LjkgMzYuMS03MS41IDcxLTEwNi4zIDEwNy4yIDM1LjkgMzUuMSA3MSA3MSAxMDYuNyAxMDYuMyAzNC4zLTM0LjEgNjguNC02OC40IDEwMi42LTEwMi40IDEuNS0xLjUgMy4zLTIuOCA0LjEtNC44LTM0LjYtMzMuOC02OC40LTY4LjItMTAyLjYtMTAyLjEtMS4zLTEuMy0yLjMtMi42LTMuMy00LjF6bTIxMy41IDBsLTEuMyAwYy0xNy4yIDE4LTM1LjEgMzUuMy01Mi42IDUzLTE3LjkgMTcuNy0zNS40IDM1LjctNTMuNSA1My4zIC44IDIuMyAzIDMuNiA0LjYgNS41TDUzMy4zIDI2MS41YzM2LjEtMzQuOSA3MC44LTcxLjIgMTA2LjctMTA2LjEtLjUtMi4yLTIuNi0zLjUtNC01TDU1NS44IDcwLjJjLTcuMS03LjQtMTQuOS0xNC4yLTIxLjUtMjIuMnpNMzE5LjYgMjYxLjdjLTM0LjkgMzUuMS03MCA3MC0xMDQuOSAxMDQuOS0uMyAuNy0uNyAxLjctMSAyLjMgMjQgMjMuNyA0Ny43IDQ3LjUgNzEuNSA3MS4zIDExLjggMTEuMyAyMi44IDIzLjUgMzQuOSAzNC40IDguNC03LjQgMTYuNC0xNi40IDI0LjctMjQuMyAyNS41LTI1LjMgNTEtNTEgNzYuNS03Ni4zIDEuOC0yLjIgNC4zLTMuNiA1LjUtNi4zLTM1LjQtMzQuOS03MC41LTcwLjItMTA1LjYtMTA1LjRsLTEuNS0uN3oiXX0sWmh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVuaXR5IixpY29uOls0NDgsNTEyLFtdLCJlMDQ5IiwiTTI0My42IDkxLjZsODAuMSA0Ni44YzIuOSAxLjYgMyA2LjIgMCA3LjhsLTk1LjIgNTUuNmMtMi45IDEuNy02LjMgMS42LTkgMGwtOTUuMi01NS42Yy0yLjktMS42LTMtNi4zIDAtNy44bDgwLjEtNDYuOCAwLTkxLjYtMjA0LjQgMTE5LjQgMCAyMzguOCA3OC40LTQ1LjggMC05My42Yy0uMS0zLjMgMy44LTUuNyA2LjctMy45bDk1LjIgNTUuNmMyLjkgMS43IDQuNSA0LjcgNC41IDcuOGwwIDExMS4yYy4xIDMuMy0zLjggNS43LTYuNyAzLjlMOTggMzQ2LjggMTkuNiAzOTIuNiAyMjQgNTEyIDQyOC40IDM5Mi42IDM1MCAzNDYuOCAyNjkuOSAzOTMuNmMtMi44IDEuNy02LjgtLjUtNi43LTMuOWwwLTExMS4yYzAtMy4zIDEuOC02LjMgNC41LTcuOEwzNjIuOSAyMTVjMi44LTEuNyA2LjggLjUgNi43IDMuOWwwIDkzLjYgNzguNCA0NS44IDAtMjM4LjgtMjA0LjQtMTE5LjQgMCA5MS42eiJdfSxYaHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGVuY2VudC13ZWlibyIsaWNvbjpbMzIwLDUxMixbXSwiZjFkNSIsIk00MC41IDQ5NS44YzEuNCAxOS45LTI3LjYgMjIuMi0yOS43IDIuOS0xMS42LTEyOS45IDMxLjEtMjM5LjUgMTAxLjQtMzEzLjItMTUuNi0zNCA5LjItNzcuMSA1MC42LTc3LjEgMzAuMyAwIDU1LjEgMjQuNiA1NS4xIDU1LjEgMCA0NC00OS41IDcwLjgtODYuOSA0NS4xLTY1LjcgNzEuMy0xMDEuNCAxNjkuOC05MC41IDI4Ny4yek0xNjAuMiAuMWMtMTI1LjkgMC0yMDQuMyAxMzQuMi0xNDguMyAyNDIuMyA4LjcgMTcuNCAzNS4zIDQuNSAyNi4zLTEzLjQtNDYuMy05Mi42IDIxLTE5OS4yIDEyMi0xOTkuMiA3NS40IDAgMTM2LjkgNjEuNCAxMzYuOSAxMzYuOSAwIDkwLjgtODYuOSAxNTMuOS0xNjcuNyAxMzMuMS0xOS4xLTQuMS0yNS42IDI0LjQtNi42IDI5LjEgMTEwLjcgMjMuMiAyMDQtNjAgMjA0LTE2Mi4zIDAtOTEuOS03NC42LTE2Ni41LTE2Ni42LTE2Ni41eiJdfSxLaHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZnJlZS1jb2RlLWNhbXAiLGljb246WzU3Niw1MTIsW10sImYyYzUiLCJNOTcuNCA5Ni4yYzEwLjQtMTAuNiAxNi0xNy4xIDE2LTIxLjkgMC0yLjgtMS45LTUuNS0zLjgtNy40LTIuNC0xLjgtNS40LTIuOC04LjQtMi44LTguNSAwLTIwLjkgOC44LTM1LjggMjUuNy00MS41IDQ3LjMtNjIuNyA5My4xLTYxLjggMTYwLjZTMjEgMzY3LjMgNTcuNiA0MTIuMmMxOC44IDIzLjYgMzMuMiAzNS44IDQzLjUgMzUuOCAzLjItLjMgNi4xLTEuNiA4LjQtMy44IDEuOS0yLjggMy44LTUuNiAzLjgtOC40IDAtNS42LTMuOS0xMi4yLTEzLjItMjAuNi00NC41LTQyLjMtNjcuMy05Ny02Ny41LTE2NS0uMi02MS40IDIxLjYtMTEyLjQgNjQuOC0xNTR6TTIzOS42IDQyMC4xYy42IC40IC45IC42IC45IC42bC0uOS0uNnptOTMuOCAuNmwuMi0uMWMtLjIgLjEtLjMgLjItLjIgLjF6bTMuMS0xNTguMmMtMTYuMi00LjIgNTAuNC04Mi45LTY4LjEtMTc3LjIgMCAwIDE1LjUgNDkuNC02Mi44IDE1OS42LTc0LjMgMTA0LjQgMjMuNSAxNjguNyAzNCAxNzUuMi02LjctNC4zLTQ3LjQtMzUuNyA5LjYtMTI4LjYgMTEtMTguMyAyNS41LTM0LjkgNDMuNS03Mi4yIDAgMCAxNS45IDIyLjQgNy42IDcxLjEtMTIuNSA3My42IDUzLjggNTIuNSA1NC44IDUzLjUgMjIuOCAyNi44LTE3LjcgNzMuNS0yMS42IDc2LjYgNS41LTMuNyAxMTcuNy03OCAzMy0xODguMS02IDYtMTMuOCAzNC4yLTMwIDMwLjF6TTUxMSA4OS43Yy0xNC45LTE2LjktMjcuNC0yNS43LTM1LjktMjUuNy0zIC4xLTUuOSAxLjEtOC40IDIuOC0xLjkgMS45LTMuOCA0LjctMy44IDcuNCAwIDQuOCA1LjYgMTEuMyAxNiAyMS45IDQzLjIgNDEuNiA2NSA5Mi42IDY0LjggMTU0LjEtLjIgNjgtMjMgMTIyLjYtNjcuNSAxNjUtOS4zIDguNC0xMy4yIDE0LjktMTMuMiAyMC42IDAgMi43IDEuOSA1LjYgMy44IDguNCAyLjMgMi4yIDUuMiAzLjYgOC40IDMuOCAxMC4zIDAgMjQuNy0xMi4xIDQzLjUtMzUuOCAzNi42LTQ0LjkgNTMuMS05NC40IDU0LjEtMTYxLjlTNTUyLjUgMTM3IDUxMSA4OS43eiJdfSxRaHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieC10d2l0dGVyIixpY29uOls0NDgsNTEyLFtdLCJlNjFiIiwiTTM1Ny4yIDQ4TDQyNy44IDQ4IDI3My42IDIyNC4yIDQ1NSA0NjQgMzEzIDQ2NCAyMDEuNyAzMTguNiA3NC41IDQ2NCAzLjggNDY0IDE2OC43IDI3NS41LTUuMiA0OCAxNDAuNCA0OCAyNDAuOSAxODAuOSAzNTcuMiA0OHpNMzMyLjQgNDIxLjhsMzkuMSAwLTI1Mi40LTMzMy44LTQyIDAgMjU1LjMgMzMzLjh6Il19LEpodD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdGlja2VyLW11bGUiLGljb246WzU3Niw1MTIsW10sImYzZjciLCJNNTYxLjcgMTk5LjZsMCAwem0tNi4yLTc3LjRjLTcuNy0yMi4zLTUuMS03LjItMTMuNC0zNi45LTEuNi02LjUtMy42LTE0LjUtNi4yLTIwLTQuNC04LjctNC42LTcuNS00LjYtOS41IDAtNS4zIDMwLjctNDUuMyAxOS00Ni45LTUuNy0uNi0xMi4yIDExLjYtMjAuNiAxNy04LjYgNC4yLTggNS0xMC4zIDUtMi42IDAtNS43LTMtNi4yLTUtMi01LjcgMS45LTI1LjktMy42LTI1LjktMy42IDAtMTIuMyAyNC44LTE3IDI1LjgtNS4yIDEuMy0yNy45LTExLjQtNzUuMSAxOC0yNS4zIDEzLjItODYuOSA2NS4yLTg3IDY1LjMtNi43IDQuNy0yMCA0LjctMzUuNSAxNi00NC40IDMwLjEtMTA5LjYgOS40LTExMC43IDktMTEwLjYtMjYuOC0xMjgtMTUuMi0xNTkgMTEuNS0yMC44IDE3LjktMjMuNyAzNi41LTI0LjIgMzguOS00LjIgMjAuNCA1LjIgNDguMyA2LjcgNjQuMyAxLjggMTkuMy0yLjcgMTcuNyA3LjcgOTguMyAuNSAxIDQuMSAwIDUuMSAxLjUgMCA4LjQtMy44IDEyLjEtNC4xIDEzLTEuNSA0LjUtMS41IDEwLjUgMCAxNiAyLjMgOC4yIDguMiAzNy4yIDguMiA0Ni45IDAgNDEuOCAuNCA0NCAyLjYgNDkuNCAzLjkgMTAgMTIuNSA5LjEgMTcgMTIgMy4xIDMuNS0uNSA4LjUgMSAxMi41IC41IDIgMy42IDQgNi4yIDUgOS4yIDMuNiAyNyAuMyAyOS45LTIuNSAxLjYtMS41IC41LTQuNSAzLjEtNSA1LjEgMCAxMC44LS41IDE0LjQtMi41IDUuMS0yLjUgNC4xLTYgMS41LTEwLjUtLjQtLjgtNy0xMy4zLTkuOC0xNi0yLjEtMi01LjEtMy03LjItNC41LTUuOC00LjktMTAuMy0xOS40LTEwLjMtMTkuNS00LjYtMTkuNC0xMC4zLTQ2LjMtNC4xLTY2LjggNC42LTE3LjIgMzkuNS04Ny43IDM5LjYtODcuOCA0LjEtNi41IDE3LTExLjUgMjcuMy03IDYgMS45IDE5LjMgMjIgNjUuNCAzMC45IDQ3LjkgOC43IDk3LjQtMiAxMTIuMi0yIDIuOCAyLTEuOSAxMy0uNSAzOC45IDAgMjYuNC0uNCAxMy43LTQuMSAyOS45LTIuMiA5LjcgMy40IDIzLjItMS41IDQ2LjktMS40IDkuOC05LjkgMzIuNy04LjIgNDMuNCAuNSAxIDEgMiAxLjUgMy41IC41IDQuNSAxLjUgOC41IDQuNiAxMCA3LjMgMy42IDEyLTMuNSA5LjggMTEuNS0uNyAzLjEtMi42IDEyIDEuNSAxNSA0LjQgMy43IDMwLjYgMy40IDM2LjUgLjUgMi42LTEuNSAxLjYtNC41IDYuNC03LjQgMS45LS45IDExLjMtLjQgMTEuMy02LjUgLjMtMS44LTkuMi0xOS45LTkuMy0yMC0yLjYtMy41LTkuMi00LjUtMTEuMy04LTYuOS0xMC4xLTEuNy01Mi42IC41LTU5LjQgMy0xMSA1LjYtMjIuNCA4LjctMzIuNCAxMS00Mi41IDEwLjMtNTAuNiAxNi41LTY4LjMgLjgtMS44IDYuNC0yMy4xIDEwLjMtMjkuOSA5LjMtMTcgMjEuNy0zMi40IDMzLjUtNDcuNCAxOC0yMi45IDM0LTQ2LjkgNTItNjkuOCA2LjEtNyA4LjItMTMuNyAxOC04IDEwLjggNS43IDIxLjYgNyAzMS45IDE3IDE0LjYgMTIuOCAxMC4yIDE4LjIgMTEuOCAyMi45IDEuNSA1IDcuNyAxMC41IDE0LjkgOS41IDEwLjQtMiAxMy0yLjUgMTMuNC0yLjUgMi42LS41IDUuNy01IDcuMi04IDMuMS01LjUgNy4yLTkgNy4yLTE2LjUgMC03LjctLjQtMi44LTIwLjYtNTIuOXoiXX0sZW10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InR3aXRjaCIsaWNvbjpbNDQ4LDUxMixbXSwiZjFlOCIsIk0zNTkuNCAxMDMuNWwtMzguNiAwIDAgMTA5LjcgMzguNiAwIDAtMTA5Ljd6TTI1My4yIDEwM2wtMzguNiAwIDAgMTA5LjggMzguNiAwIDAtMTA5Ljh6TTg5IDBsLTk2LjUgOTEuNCAwIDMyOS4yIDExNS44IDAgMCA5MS40IDk2LjUtOTEuNCA3Ny4zIDAgMTczLjgtMTY0LjYgMC0yNTYtMzY2LjkgMHpNNDE3LjMgMjM3LjhsLTc3LjIgNzMuMS03Ny4yIDAtNjcuNiA2NCAwLTY0LTg2LjkgMCAwLTI3NC4zIDMwOC45IDAgMCAyMDEuMnoiXX0sdG10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImtpY2tzdGFydGVyLWsiLGljb246WzQ0OCw1MTIsW10sImYzYmMiLCJNMzU2LjcgMjU2LjJsNDAuOC00MC41YzQyLjItNDEuOSA0Mi4yLTExMC4zIDAtMTUyLjFzLTExMS00MS45LTE1My4yIDBMMjI5LjMgNzguNEMyMDkuNiA1MC4zIDE3Ny4xIDMyIDE0MC4yIDMyIDgwLjUgMzIgMzIgODAuMiAzMiAxMzkuNWwwIDIzM2MwIDU5LjQgNDguNSAxMDcuNSAxMDguMiAxMDcuNSAzNy4xIDAgNjkuMy0xOC4zIDg5LTQ2LjRsMTQuOSAxNC43YzQyLjIgNDEuOSAxMTEgNDEuOSAxNTMuMiAwczQyLjItMTEwLjMgMC0xNTIuMWwtNDAuOC00MCAuMSAweiJdfSxhbXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JpdGljYWwtcm9sZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjZjOSIsIk0yMjUuOCAwYy4zIC4yIDIxNi42IDEyNC41IDIxNy4xIDEyNC43IDMgMS4yIDMuNyAzLjUgMy43IDYuNi0uMSA4My40LS4xIDE2Ni45IDAgMjUwLjQgLjEgMS4yLS4yIDIuNC0uOCAzLjRzLTEuNSAxLjktMi42IDIuNGMtMjEuNCAxMi0yMDcuOSAxMTguMy0yMTguOSAxMjQuNmwtMyAwYy03OS4zLTQ1LjctMjE4LjMtMTI1LjQtMjE4LjQtMTI1LjUtLjYtLjMtMS4xLS43LTEuNC0xLjNzLS41LTEuMi0uNC0xLjljMC0uOSAwLTIyNS45LS4xLTI1My4xLS4xLTEgLjItMiAuNy0yLjlzMS4zLTEuNiAyLjItMkMyNy4yIDExMi4xIDIxMy4yIDYgMjI0LjEgMGwxLjggMHpNMjE1LjQgMjAuNGwtLjItLjJjLTY0LjcgMzYuOS0xMjkuNSA3My43LTE5NC4yIDExMC42IDAgLjEgLjEgLjIgLjEgLjRMNTIgMTQyLjljLTcuNyA2LTguMyA2LTEwLjYgNS4xLS4xIDAtMjQuMi05LjMtMjYuOC0xMGwwIDIzMC40Yy45LTEuNCA2NC4xLTExMC45IDY0LjEtMTExIDEuNi0yLjggMy0xLjkgOS4xLTEuNSAxLjQgLjEgMS41IC4yIC44IDEuNC00MS4yIDcxLjMtMzYuNCA2My02Ny41IDExNi45LS44IDEuNC0uNiAxLjEgMS4yIDEuMWwxODYuNSAwYzEuNCAwIDEuNy0uMiAxLjctMS42bDAtOC45YzAtMS4zIDIuNC0uOC0xOC40LTEtNy41LS4xLTE0LjEtMy4yLTIxLjQtMTIuNy03LjQtOS43LTE0LjYtMTkuNC0yMS44LTI5LjItMi4zLTMuMS0zLjQtMi40LTE2LjgtMi40LTEuOCAwLTEuOCAwLTEuOCAxLjggLjMgMjYuMiAuMiAyNS4zIDEgMzIuNyAuNSA0LjQgMi4yIDQuMiA5LjcgNC44IDMuMSAuMyAzLjkgNC4xIC41IDQuOS0xLjYgLjQtMzEuNiAuNS0zMy43LS4xLS41LS4xLTEtLjUtMS4zLS45cy0uNS0xLS40LTEuNiAuMy0xLjEgLjYtMS41IC45LS43IDEuNC0uOGMzLjMtLjggNi4yIC44IDYuNy00LjQgMS4zLTEzLjcgMS4yLTkgMS4xLTc5LjQgMC0xMC44LS40LTEyLjYtNS40LTEzLjYtMS4yLS4yLTMuNS0uMi00LjctLjYtMi45LTEtMi00LjggMS44LTQuOCAzMy43IDAgNDYuMS0xLjEgNTYuMSA0LjkgNy43IDQuNiAxMiAxMS41IDEyLjUgMjAuNCAuOSAxNC42LTYuNSAyMi4zLTE1IDMyLjYtLjIgLjEtLjMgLjMtLjQgLjVzLS4xIC40LS4xIC42IDAgLjQgLjEgLjYgLjIgLjQgLjQgLjVjMi42IDMuMiA1IDYuNiA3LjcgOS44IDI3LjYgMzMuMiAyNC4xIDMwLjUgNDEuMyAzMy4xIC45IC4xIDEtLjQgMS0xLjJsMC0xMWMwLTEgLjMtMS40IDEuNC0xLjMgNy44IDEuMiAxNS44IDEuMSAyMy42LS4zIDEuMS0uMSAxLjUgLjIgMS41IDEuMyAwIC4xIC45IDI2LjcgLjkgMjYuOCAwIDEuNSAuNyAxLjYgMS45IDEuNmwxODYuNyAwYy0yNy4yLTQ3LTU0LjItOTQtODEuMi0xNDAuOCAyLjMtLjctLjQgMCA2LjctMS40IDItLjQgMi4xLS40IDMuMSAxLjQgNy4zIDEyLjYgNzcuMyAxMzQgNzcuNCAxMzQuMWwwLTIzMC40Yy0xLjcgLjUtMTAzLjMgMzguNy0xMDUuOCAzOS43LTEuMSAuNC0xLjUgLjItMS45LS45LS42LTEuOS0xLjMtMy44LTIuMS01LjYtLjMtLjgtLjEtMS4xIC42LTEuNCAuMSAwIDk1LjUtMzUuOCAxMDMtMzguOC02NS40LTM3LjYtMTMwLjYtNzUtMTk2LTExMi42bDg2LjggMTUwLjQtLjMgLjNjLTkuNi0uOS0xMC41LTEuNi0xMS44LTMuOS0xLTEuNy03My41LTEyNy43LTgyLTE0Mi4yLTkuMSAxNC43LTgzLjYgMTQ2LjItODUuNCAxNDYuMy0yLjkgLjItNS45IC4xLTkuMiAuMSAyOC44LTQ5LjggNTcuNi05OS41IDg2LjItMTQ5bDAgMHptNTEuOSAxMjkuOWMxLjktLjEgMy43LS40IDUuNS0uOCAxLjctLjMgMi41IC4yIDIuNiAxLjkgMCAuMSAuMSAxOS4xLS45IDIwLjVzLTEuOSAxLjItMi42LS4yYy01LTkuNyA2LjItOS43LTM5LjEtMTItLjcgMC0xIC4yLTEgLjkgMCAuMSAzLjcgMTIyIDMuNyAxMjIuMSAwIC45IC41IDEuMiAxLjIgMS41IDMgMS4yIDUuOSAyLjUgOC43IDQgNy4zIDQuMyAxMS40IDEwLjggMTIuNCAxOS4zIDEuNCAxMS44LTIuOCAzNS44LTMyLjIgMzcuMS0yLjggLjEtMjguMyAxLjEtMzQuMS0yMy4zLTQuNy0xOS4zIDguMy0zMi43IDE5LjktMzYuNCAuNi0uMSAxLjItLjQgMS41LS45cy41LTEuMSAuNS0xLjdjLjEtNS42IDMtMTA3LjEgMy43LTEyMS4zIDAtMS4xLS42LTEuMi0xLjQtMS4xLTMyLjMgLjUtMzYuNy0uMy00MC4yIDguNS0yLjQgNi4yLTQuMSAxLjMtNCAuMiAxLjEtNiAyLjItMTIgMy4zLTE4IC40LTIuMSAxLjQtMi42IDMuNC0xLjkgNS42IDIuMSA2LjcgMS43IDM3LjIgMS45IDEuNyAwIDEuOC0uMSAxLjgtMS44IC43LTI3LjUgLjYtMjIuNiAxLTI5LjYgLjEtLjYtLjEtMS4yLS4zLTEuN3MtLjctLjktMS4zLTEuMWMtNS42LTIuOS04LjgtNy42LTguOS0xMy45LS40LTE0LjggMTcuNy0yMS43IDI3LjQtMTEuNSA2LjggNy4yIDUuOCAxOC45LTIuNSAyNC4yLS44IC40LTEuNCAxLjEtMS44IDEuOHMtLjYgMS42LS40IDIuNWMwIC42LS4xLTQuMyAxIDMwIDAgLjkgLjQgMS4xIDEuMiAxLjEgLjEgMCAyMy0uMSAzNC41LS40bDAtLjF6TTY4LjMgMTQxLjdjMTkuOC00LjUgMzIuNy0uNiA1Mi41IDEuNyAyLjggLjMgMy43IDEuMiAzLjYgNC0uMiA1LTEuMiAyMi4zLTEuMiAyMy4xIDAgLjUtLjIgMS0uNSAxLjRzLS43IC43LTEuMiAuOWMtNC4xIDEuNy0zLjYtNC40LTQtNy4zLTMuMS0yMi40LTczLjktMzIuNy03NC42IDI1LjQtLjMgMjMuOSAxNyA1My42IDU0LjEgNTAuOSAyNy4yLTIgMTktMjAuMiAyNC44LTIwLjUgLjQtLjEgLjkgMCAxLjMgLjFzLjggLjQgMS4xIC43IC41IC43IC42IDEuMiAuMSAuOSAwIDEuM2MtMS44IDEwLjgtMy40IDE5LTMuNCAxOS4yLTEuNSA5LjItODYuNyAyMi4xLTkzLjQtNDIuMS0yLjctMjUuOCAxMC40LTUzLjQgNDAuMy02MC4yem04MCA4Ny43bC0xOS41IDBjLS42IDAtMS4yLS4xLTEuNi0uNHMtLjgtLjgtMS0xLjRjMi40LTMuOCA1LjkgLjkgNS45LTYuMS0uMS0yNS44IC4yLTM4IC4yLTQwLjEgMC0zLjQtLjUtNC42LTMuMy00LjktNy0uNy0zLjEtMy40LTEuMS0zLjQgMTEuOC0uMSAyMi42LS4yIDMwIC43IDguOCAxLjEgMTYuNyAxMi42IDcuOSAyMi42LTIgMi4yLTQgNC40LTYuMSA2LjcgMSAxLjIgNi45IDguOCAxNy4zIDE5LjcgMi43IDIuOCA2LjIgMy41IDkuOSAzLjEgLjYgMCAxLjEtLjIgMS41LS42cy43LS45IC43LTEuNWMuMy0zLjQgLjMgNC43IC40LTQwLjYgMC01LjYtLjMtNi42LTMuMi02LjgtNC0uNC00LTIuMy0uNy0zLjRsMTkuMS0uMWMuMyAwIDQuNSAuNSAxIDMuNCAwIDAtLjIgMC0uMiAwLTMuNiAuMy0zLjkgMS00IDQuNi0uMyA0My45IC4xIDQwLjIgLjQgNDIuOCAuMSAuOCAuMyAyLjIgNS4xIDIuMSAyLjUgMCAzLjkgMy40IDAgMy40LTEwLjQgLjEtMjAuNyAwLTMxLjEgLjEtMTAuNyAwLTEzLjUtNi4yLTI0LjItMjAuOC0xLjYtMi4yLTguMy0yLjQtOC4yLS40IC45IDE2LjUgMCAxNy44IDQgMTcuNyA0LjgtLjEgNC43IDMuNiAuOCAzLjVsLjEgMHptMjc1LTEwLjFjLTEuMiA3LjEgLjIgMTAuNC01LjMgMTAuMy02MS41LS40LTQ3LjgtLjItNTAuNy0uMy0xLjItLjEtMi40LS40LTMuNi0uNy0yLjUtLjYgMS41LTEuMi0uNC01LjYtMS40LTMuNC0yLjgtNi44LTQuMS0xMC4yLS4xLS40LS40LS44LS43LTEuMXMtLjgtLjQtMS4zLS40Yy00LjktLjItOS43LS4yLTE0LjYgLjEtLjMgMC0uNiAuMi0uOSAuM3MtLjUgLjQtLjcgLjdjLTEuNiAzLjYtMy4xIDcuMy00LjUgMTEtMS4zIDMuMiA3LjkgMS4zIDEyLjIgMi4yIDMgLjYgNC41IDMuNyAuNyAzLjdsLTI2LjQgMGMtMi45IDAtMy4xLTMuMi0uNy0zLjIgMS4yIC4xIDIuNC0uMiAzLjUtLjlzMS45LTEuNSAyLjQtMi42YzEuNS0zIDIuOC02IDQuMS05LjEgMTguMi00Mi4xIDE3LjEtNDAuMiAxOC40LTQxLjYgLjItLjIgLjQtLjQgLjctLjZzLjYtLjIgLjgtLjIgLjYgLjEgLjggLjIgLjUgLjMgLjcgLjZjMi45IDMuMyAxOC40IDQ0LjcgMjMuNiA1MS45IDIgMi43IDUuNyAyIDYuNCAyIDMuNiAuMSA0LTEuMSA0LjEtNC4zIC4xLTEuOSAuMSAxLjIgLjEtNDEuMiAwLTQuNS0yLjQtMy43LTUuNi00LjMtLjMgMC0yLjYtLjYtLjEtMy4xIC4yLS4yLS45LS4yIDIxLjctLjIgMi4zIDAgNS4zIDIuOC0xLjIgMy40LS40IDAtLjcgMC0xLjEgLjJzLS42IC4zLS45IC42LS40IC42LS42IC45LS4yIC43LS4xIDEuMWMtLjEgMS42LS4yIDM4LjkgLjMgNDEuMiAuMiAuNyAuNiAxLjQgMS4yIDEuOHMxLjMgLjcgMi4xIC42YzEzLjMgLjQgMTQuOSAuNCAxNi0zLjQgMS43LTUuOCA0LjEtMi41IDMuNy0uMmwwIC4xek0zMTguNiAyODMuNmMtNC4yIDAtNC40LTMuNC0uNi0zLjQgMzUuOS0uMiAyOC4xIC40IDM3LjItLjYgMS43LS4yIDIuNCAuMiAyLjMgMS45LS4zIDMuNC0uNiA2LjgtMSAxMC4yLS4yIDIuMi0zLjIgMi42LTMuNC0uMi0uNC01LjMtMi4yLTQuNS0xNS42LTUuMS0xLjYtLjEtMS42IDAtMS42IDEuNWwwIDE2LjFjMCAxLjcgMCAxLjYgMS42IDEuNSAzLjEtLjIgMTAuMyAuMyAxNS43LTEuNSAuNS0uMiAzLjMtMS44IDMuMSAxLjggMCAuMi0uOCAxMC40LTEuMiAxMS40LS41IDEuMy0xLjkgMS41LTIuNiAuMy0xLjItMiAwLTUuMS0zLjctNS4zLTE1LjQtLjktMTIuOS0yLjUtMTIuOSA2IDAgMTIuMy0uOCAxNi4xIDMuOSAxNi4yIDE2LjYgLjUgMTQuNCAwIDE2LjQtNS43IC44LTIuNCAzLjUtMS44IDMuMiAuNi0uNCAzLjItLjggNi40LTEuMiA5LjYgMCAuNC0uMiAyLjQtNC43IDIuNC0zNy4yLS4xLTM0LjUtLjItMzUuMi0uMy0yLjctLjUtMi4yLTMgLjItMy40IDEuMS0uMiA0IC41IDQuMi0yLjYgMi40LTU2LjItLjEtNTEuMy0zLjktNTEuM2wwIDB6bS0uNC0xMDkuNWMyLjUgLjYgMy4xIDEuOCAzIDQuNi0uMyA1LjMtLjMgOS0uNiA5LjctLjcgMi4yLTMuMSAyLjEtMy4zLS4zLS40LTQuOC0zLTcuOC03LjYtOS4xLTI2LjMtNy43LTMyLjggMTUuNS0yNy4yIDMwLjIgNS45IDE1LjQgMjIgMTUuOSAyOC45IDEzLjggNS45LTEuOSA1LjktNi41IDYuOS03LjYgMS4yLTEuMyAyLjItMS44IDMuMSAxLjEgMCAuMSAuNiAxMS45LTYgMTIuNy0xLjYgLjItMTkuNCAzLjctMzIuNy0zLjQtMjEtMTEuMi0xNi43LTM1LjUtNi45LTQ1LjMgMTQtMTQuMSAzOS45LTcuMSA0Mi4zLTYuNWwwIDB6TTI4OS44IDI4MC4xYzMuMyAwIDMuNyAzIC4yIDMuNC0yLjYgLjMtNS0uNC01IDUuNSAwIDItLjIgMjkgLjQgNDEuNCAuMSAyLjMgMS4yIDMuNSAzLjQgMy43IDIyIDEuMiAxNS0xLjcgMTguOC02LjMgMS44LTIuMiAyLjggLjggMi44IDEuMSAuMyAxMy42LTQgMTIuNC01LjIgMTIuNGwtMzguMi0uMmMtMS45LS4yLTIuMS0zLS40LTMuNCAyLS41IDQuOSAuNCA1LjEtMi44IDEtMTUuOSAuNi00NC42IC4zLTQ3LjgtLjMtMy44LTIuOC0zLjMtNS43LTMuNy0yLjUtLjQtMi0zLjIgLjMtMy4yIDEuNCAwIDE4IDAgMjMuMSAwem0tMzEuNi01Ny44Yy4xIDQuMSAyLjkgMy41IDYgMy42IDIuNiAuMSAyLjUgMy40LS4xIDMuNC02LjUgMC0xMy43IDAtMjEuNi0uMS0zLjggMC0zLjQtMy40IDAtMy40IDQuNSAwIDMuMiAxLjYgMy40LTQ1LjUgMC01LjEtMy4zLTMuNS00LjctNC4yLTIuNi0xLjItMS40LTMuMSAuNC0zLjIgMS4zIDAgMjAuMi0uNCAyMS4yIC4yczEuOSAxLjYtLjQgMi45Yy0xIC41LTMuOS0uMy00LjIgMi41IDAgLjItLjggMS42LS4xIDQzLjhsMCAwek0yMjEuMyA0OTYuNmMuNSAuMyAxIC41IDEuNiAuNXMxLjEtLjIgMS42LS41YzE3LTkuOCAxODItMTAzLjYgMTk3LjQtMTEyLjUtLjEtLjQgMTEuMy0uMi0xODEuNS0uMy0xLjIgMC0xLjYgLjQtMS41IDEuNiAwIC4xIDEuMyA0NC41IDEuMiA1MC40LS4xIDIuNi0uNiA1LjItMS40IDcuNy0uNiAxLjggLjQtLjUtMTMuNSAzMi4yLS43IDEuNy0xIDIuMi0yLS4xLTQuMi0xMC4zLTguMy0yMC43LTEyLjYtMzEtMS41LTMuNC0yLjItNy4xLTItMTAuOCAuMi0yLjUgLjgtMTYuMSAxLjUtNDggMC0xLjkgMC0yLTItMmwtMTgzIDBjMi42IDEuNiAxNzguMyAxMDIuNiAxOTYgMTEyLjhsLjEgMHpNMTMwLjQgMzA3LjljMCAyLjQgLjQgMi44IDIuOCAzIDExLjUgMS4yIDIxIDMuNyAyNS42LTcuMyA2LTE0LjUgMi43LTM0LjQtMTIuNS0zOC44LTItLjYtMTYtMi44LTE1LjkgMS41IDAgOCAwIDExLjYgMCA0MS42em0xMDUuOC0xNWMwIDIuMSAxLjEgMzguNyAxLjEgMzkuMSAuMyA5LjktMjUuNiA1LjgtMjUuMi0yLjYgLjEtMiAxLjQtMzcuNCAxLjEtMzkuNC0xNC4xIDcuNC0xNC40IDQwLjIgNi40IDQ4LjggNCAxLjcgOC40IDEuOSAxMi41IC42czcuNi00IDkuOS03LjdjNC45LTcuOCA2LjgtMjkuNS01LjQtMzktLjEgLjEtLjIgLjEtLjQgLjFsMCAwem0tMTIuMy0xOThjLTkuOCAwLTkuNyAxNC44LS4xIDE0LjlzMTAuMS0xNC45IC4xLTE0LjlsMCAwek0xNDMuNyAxOTguNmMwIDEuOCAuNCAyLjQgMi4yIDIuNiAxMy42IDEuNCAxMi41LTExIDEyLjItMTMuNC0xLjctMTEuMi0xNC40LTEwLjItMTQuNC03LjggMCA0LjUgMCAxMy43IDAgMTguNnpNMzU2IDIwNWwtNi4xLTE1LjhjLTIuMiA1LjUtNC4yIDEwLjYtNi4yIDE1LjhsMTIuMyAweiJdfSxybXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3RlYW0tc3ltYm9sIixpY29uOls0NDgsNTEyLFtdLCJmM2Y2IiwiTTI3My41IDE3Ny41YTYxIDYxIDAgMSAxIDEyMiAwIDYxIDYxIDAgMSAxIC0xMjIgMHptMTc0LjUgLjJjMCA2My01MSAxMTMuOC0xMTMuNyAxMTMuOEwyMjUgMzcxLjNjLTQgNDMtNDAuNSA3Ni44LTg0LjUgNzYuOC00MC41IDAtNzQuNy0yOC44LTgzLTY3TDAgMzU4IDAgMjUwLjcgOTcuMiAyOTBjMTUuMS05LjIgMzIuMi0xMy4zIDUyLTExLjVsNzEtMTAxLjdDMjIwLjcgMTE0LjUgMjcxLjcgNjQgMzM0LjIgNjQgMzk3IDY0IDQ0OCAxMTUgNDQ4IDE3Ny43ek0yMDMgMzYzYzAtMzQuNy0yNy44LTYyLjUtNjIuNS02Mi41LTQuNSAwLTkgLjUtMTMuNSAxLjVsMjYgMTAuNWMyNS41IDEwLjIgMzggMzkgMjcuNyA2NC41LTEwLjIgMjUuNS0zOS4yIDM4LTY0LjcgMjcuNS0xMC4yLTQtMjAuNS04LjMtMzAuNy0xMi4yIDEwLjUgMTkuNyAzMS4yIDMzLjIgNTUuMiAzMy4yIDM0LjcgMCA2Mi41LTI3LjggNjIuNS02Mi41ek00MTAuNSAxNzcuN2E3Ni40IDc2LjQgMCAxIDAgLTE1Mi44IDAgNzYuNCA3Ni40IDAgMSAwIDE1Mi44IDB6Il19LGltdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtYWlsY2hpbXAiLGljb246WzQ0OCw1MTIsW10sImY1OWUiLCJNMzMxIDI0My41YzMuMS0uNCA2LjItLjQgOS4zIDAgMS43LTMuOCAyLTEwLjQgLjUtMTcuNi0yLjItMTAuNy01LjMtMTcuMS0xMS41LTE2LjFzLTYuNSA4LjctNC4yIDE5LjRjMS4zIDYgMy41IDExLjEgNiAxNC4zbDAgMHpNMjc3LjQgMjUyYzQuNSAyIDcuMiAzLjMgOC4zIDIuMSAxLjktMS45LTMuNS05LjQtMTIuMS0xMy4xLTUtMi4xLTEwLjQtMi44LTE1LjgtMi4ycy0xMC41IDIuNy0xNC44IDUuOGMtMyAyLjItNS44IDUuMi01LjQgNy4xIC45IDMuNyAxMC0yLjcgMjIuNi0zLjUgNy0uNCAxMi44IDEuOCAxNy4zIDMuN2wwIDB6bS05IDUuMWMtOS4xIDEuNC0xNSA2LjUtMTMuNSAxMC4xIC45IC4zIDEuMiAuOCA1LjItLjggNi0yLjMgMTIuNC0yLjkgMTguNy0xLjkgMi45IC4zIDQuMyAuNSA0LjktLjUgMS41LTIuMi01LjctOC0xNS40LTYuOWwwIDB6bTU0LjIgMTcuMWMzLjQtNi45LTEwLjktMTMuOS0xNC4zLTdzMTAuOSAxMy45IDE0LjMgN2wwIDB6bTE1LjctMjAuNWMtNy43LS4xLTggMTUuOC0uMyAxNS45czgtMTUuOCAuMy0xNmwwIDB6TTExOS41IDMzMi43Yy0xLjMgLjMtNiAxLjUtOC41LTIuMy01LjItOCAxMS4xLTIwLjQgMy0zNS44LTkuMS0xNy41LTI3LjgtMTMuNS0zNS01LjUtOC43IDkuNi04LjcgMjMuNS01IDI0LjEgNC4zIC42IDQuMS02LjUgNy40LTExLjYgLjktMS40IDIuMS0yLjYgMy41LTMuNnMzLTEuNiA0LjYtMiAzLjQtLjQgNSAwIDMuMyAxIDQuNyAxLjljMTEuNiA3LjYgMS40IDE3LjggMi4zIDI4LjYgMS40IDE2LjcgMTguNCAxNi40IDIxLjYgOSAuMi0uNCAuMy0uOCAuMy0xLjJzLS4yLS44LS41LTEuMWMwIC45IC43LTEuMy0zLjQtLjRsMCAwem0yOTkuNy0xNy4xYy0zLjMtMTEuNy0yLjYtOS4yLTYuOC0yMC41IDIuNC0zLjcgMTUuMy0yNC0zLjEtNDMuMy0xMC40LTEwLjktMzMuOS0xNi41LTQxLjEtMTguNS0xLjUtMTEuNCA0LjYtNTguNy0yMS41LTgzIDIwLjgtMjEuNiAzMy44LTQ1LjMgMzMuNy02NS43LS4xLTM5LjItNDguMi01MS0xMDcuNC0yNi41bC0xMi41IDUuM2MtLjEgMC0yMi43LTIyLjMtMjMuMS0yMi42LTY3LjUtNTguOS0yNzguOCAxNzUuOS0yMTEuMyAyMzIuOWwxNC44IDEyLjVjLTQgMTAuNy01LjQgMjIuMi00LjEgMzMuNSAzLjQgMzMuNCAzNiA2MC40IDY3LjUgNjAuNCA1Ny43IDEzMy4xIDI2Ny45IDEzMy4zIDMyMi4zIDMgMS43LTQuNSA5LjEtMjQuNiA5LjEtNDIuNHMtMTAuMS0yNS4zLTE2LjUtMjUuM2wwIDB6bS0zMTYgNDguMmMtMjIuOC0uNi00Ny41LTIxLjEtNDkuOS00NS41LTYuMi02MS4zIDc0LjMtNzUuMyA4NC0xMi4zIDQuNSAyOS42LTQuNyA1OC41LTM0LjEgNTcuOGwwIDB6TTg0LjcgMjQ5LjZjLTE1LjIgMy0yOC41IDExLjUtMzYuNyAyMy41LTQuOS00LjEtMTQtMTItMTUuNi0xNS0xMy0yNC44IDE0LjItNzMgMzMuMy0xMDAuMiA0Ny4xLTY3LjIgMTIwLjktMTE4LjEgMTU1LTEwOC45IDUuNSAxLjYgMjMuOSAyMi45IDIzLjkgMjIuOXMtMzQuMSAxOC45LTY1LjggNDUuM0MxMzYuMiAxNTAgMTA0IDE5Ny43IDg0LjcgMjQ5LjZ6TTMyMy42IDM1MC43cy0zNS43IDUuMy02OS41LTcuMWM2LjItMjAuMiAyNyA2LjEgOTYuNC0xMy44IDE1LjMtNC40IDM1LjQtMTMgNTEtMjUuNCAzLjQgNy44IDUuOCAxNS45IDcuMSAyNC4zIDMuNy0uNyAxNC4yLS41IDExLjQgMTguMS0zLjMgMTkuOS0xMS43IDM2LTI1LjkgNTAuOC04LjkgOS42LTE5LjQgMTcuNS0zMS4yIDIzLjMtNi41IDMuNC0xMy4zIDYuMy0yMC4zIDguNi01My41IDE3LjUtMTA4LjMtMS43LTEyNi00My0xLjQtMy4xLTIuNi02LjQtMy42LTkuNy03LjUtMjcuMi0xLjEtNTkuOCAxOC44LTgwLjQgMS4yLTEuMyAyLjUtMi45IDIuNS00LjgtLjItMS43LS44LTMuMy0xLjktNC41LTctMTAuMS0zMS4yLTI3LjQtMjYuMy02MC44IDMuNS0yNCAyNC41LTQwLjkgNDQuMS0zOS45bDUgLjNjOC41IC41IDE1LjkgMS42IDIyLjkgMS45IDExLjcgLjUgMjIuMi0xLjIgMzQuNi0xMS42IDQuMi0zLjUgNy42LTYuNSAxMy4zLTcuNSAyLjMtLjYgNC43LS43IDctLjNzNC42IDEuMiA2LjYgMi41YzEwIDYuNiAxMS40IDIyLjcgMTEuOSAzNC41IC4zIDYuNyAxLjEgMjMgMS40IDI3LjYgLjYgMTAuNyAzLjQgMTIuMiA5LjEgMTQgMy4yIDEgNi4yIDEuOCAxMC41IDMuMSAxMy4yIDMuNyAyMSA3LjUgMjYgMTIuMyAyLjUgMi41IDQuMiA1LjggNC43IDkuMyAxLjYgMTEuNC04LjggMjUuNC0zNi4zIDM4LjItNDYuNyAyMS43LTkzLjcgMTQuNC0xMDAuNSAxMy43LTIwLjItMi43LTMxLjYgMjMuMy0xOS41IDQxLjEgMjIuNiAzMy40IDEyMi40IDIwIDE1MS40LTIxLjQgLjctMSAuMS0xLjYtLjctMS00MS44IDI4LjYtOTcuMSAzOC4yLTEyOC41IDI2LTQuOC0xLjgtMTQuNy02LjQtMTUuOS0xNi43IDQzLjYgMTMuNSA3MSAuNyA3MSAuN3MyLTIuOC0uNi0yLjV6TTE3MS43IDE1Ny41YzE2LjctMTkuNCAzNy40LTM2LjIgNTUuOC00NS42IC4xLS4xIC4zLS4xIC41LS4xcy4zIC4xIC40IC4yIC4yIC4zIC4yIC40IDAgLjMtLjEgLjVjLTEuNSAyLjctNC4zIDguMy01LjIgMTIuNyAwIC4xIDAgLjMgMCAuNHMuMiAuMyAuMyAuNCAuMyAuMSAuNCAuMSAuMyAwIC40LS4xYzExLjUtNy44IDMxLjUtMTYuMiA0OS0xNy4zIC4yIDAgLjMgMCAuNSAuMXMuMiAuMiAuMyAuNCAuMSAuMyAwIC41LS4xIC4zLS4zIC40Yy0yLjkgMi4yLTUuNSA0LjgtNy43IDcuNy0uMSAuMS0uMSAuMi0uMSAuNHMwIC4zIC4xIC40IC4yIC4yIC4zIC4zIC4yIC4xIC40IC4xYzEyLjMgLjEgMjkuNyA0LjQgNDEgMTAuNyAuOCAuNCAuMiAxLjktLjYgMS43LTY5LjUtMTUuOS0xMjMuMSAxOC41LTEzNC41IDI2LjgtLjIgLjEtLjMgLjEtLjUgLjFzLS4zLS4xLS41LS4yLS4yLS4zLS4yLS41IC4xLS40IC4yLS41bC0uMSAweiJdfSxzbXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibHVtb24iLGljb246WzY0MCw1MTIsW10sImU3ZTIiLCJNNDUyLjUgMjIzLjVjOS44IDAgMTYuNSA2LjMgMTYuNSAxNi42bDAgMzEuOGMwIDEwLjMtNi42IDE2LjYtMTYuNiAxNi42bC01Ni4yIDBjLTkuOCAwLTE2LjUtNi4zLTE2LjUtMTYuNmwwLTMxLjhjMC0xMC4zIDYuNy0xNi42IDE2LjUtMTYuNmw1Ni4zIDB6bS0yNS43IDEzLjFjLTEuNS0yLjYtMy4yLTIuNi00LjYgMGwtMTAuNyAxNy42Yy0xLjcgMi40LTIuNiA1LjEtMi42IDguMiAwIDcuOSA2LjkgMTQuNiAxNS42IDE0LjYgOC41IDAgMTUuNi02LjcgMTUuNi0xNC42IDAtMy0xLTUuOC0yLjctOC4ybC0xMC43LTE3LjZ6TTg1LjggMjIzLjhjMSAwIDEuNSAuNiAxLjUgMS41bDAgNTAuMyA2NC42IDBjMSAwIDEuNiAuNiAxLjYgMS41bDAgOS43YzAgLjktLjYgMS41LTEuNiAxLjVsLTc4LjQgMGMtMSAwLTEuNi0uNi0xLjYtMS41bDAtNjEuNGMwLS45IC42LTEuNSAxLjYtMS41bDEyLjMgMHptODguMyAwYzEgMCAxLjUgLjYgMS41IDEuNWwwIDQ1YzAgNCAyIDUuMiA1LjcgNS4ybDQ2LjkgMGMzLjggMCA1LjctMS4zIDUuNy01LjJsMC00NWMwLS45IC41LTEuNSAxLjUtMS41bDEyLjMgMGMxIDAgMS42IC42IDEuNiAxLjVsMCA0NmMwIDEwLjUtNS4zIDE2LjgtMTcuNiAxNi44bC01NCAwYy0xMi4zIDAtMTcuNi02LjMtMTcuNi0xNi44bDAtNDZjMC0uOSAuNi0xLjUgMS42LTEuNWwxMi4zIDB6bTEwOC4yIDBjMSAwIDEuNiAuNSAyLjIgMS40bDMwLjUgNDYuNCAxLjQgMCAzMC41LTQ2LjRjLjYtLjkgMS4yLTEuNCAyLjItMS40bDE4IDBjMSAwIDEuNSAuNiAxLjUgMS41bDAgNjEuNGMwIC45LS41IDEuNS0xLjUgMS41bC0xMi4zIDBjLTEgMC0xLjYtLjYtMS42LTEuNWwwLTQzLjgtMS4xIDAtMjguNyA0My44Yy0uNiAuOS0xLjMgMS41LTIuNCAxLjVsLTEwLjcgMGMtMSAwLTEuNy0uNi0yLjMtMS41bC0yOC43LTQzLjgtMS4xIDAgMCA0My44YzAgLjktLjUgMS41LTEuNSAxLjVsLTEyLjMgMGMtMSAwLTEuNi0uNi0xLjYtMS41bDAtNjEuNGMwLS45IC42LTEuNSAxLjYtMS41bDE3LjkgMHptMjE0LjQgMGMuOSAwIDEuMyAuNCAyLjIgMS4xbDUyLjcgNDYuMyAxLjMgMCAwLTQ2YzAtLjkgLjYtMS41IDEuNi0xLjVsMTIuMyAwYzEgMCAxLjYgLjYgMS42IDEuNWwwIDYxLjRjMCAuOS0uNiAxLjUtMS42IDEuNWwtMTQuNCAwYy0xIDAtMS40LS40LTIuMy0xLjFsLTUyLjYtNDYuMy0xLjQgMCAwIDQ2YzAgLjktLjUgMS41LTEuNSAxLjVsLTEyLjMgMGMtMSAwLTEuNi0uNi0xLjYtMS41bDAtNjEuNGMwLS45IC42LTEuNSAxLjYtMS41bDE0LjQgMHpNMzIwIDExNC4xYzg3LjkgMCAxNjcuNyAxNS43IDIyNS41IDQxbDIuNyAxLjJDNTg3LjEgMTczLjggNjQwIDIwNi41IDY0MCAyNTZzLTUyLjkgODIuMi05MS44IDk5LjZsLTIuNyAxLjJjLTU3LjggMjUuNC0xMzcuNiA0MS0yMjUuNSA0MS03Ni4yIDAtMTU1LjEtMTAuNS0yMjUuNS00MS0zOS42LTE3LjQtOTQuNS01MC4zLTk0LjUtMTAwLjhzNTQuOS04My41IDk0LjUtMTAwLjhjNzAuNC0zMC41IDE0OS4zLTQxIDIyNS41LTQxem0tODguOSAyMjljMjAuMyAyOSA1Mi44IDQ5LjYgODguOSA0OS42IDM2LjIgMCA2OC43LTIwLjYgODktNDkuN2wtMTc3LjkgLjF6bS05Ni4xIDBjNDMuMyAyOS43IDk2LjcgNDMuNSAxNDguNCA0OC0yNC4yLTkuMS00NC40LTI2LjctNTguNi00OC4xbC04OS45IDB6bTI4MC4zLS4xYy0xNC4yIDIxLjQtMzQuNCAzOS4xLTU4LjYgNDguMSA1MS44LTQuNSAxMDUuMy0xOC4zIDE0OC42LTQ4LjJsLTkwIDB6bS0zMzcuNCAuMWM0NC4xIDIzLjEgOTMuNyAzNS40IDE0Mi43IDQyLjYtMzMuNC04LjYtNjYuNS0yMS45LTk0LjQtNDIuNmwtNDguMyAwem00MzYuMi0uMmMtMjcuOSAyMC44LTYxLjEgMzQuMi05NC42IDQyLjggNDcuMy02LjkgODkuNi0xOC41IDEyMy45LTMzLjZsMS43LS44YzYuMS0yLjcgMTEuOS01LjUgMTcuNC04LjRsLTQ4LjUgMHpNNTIwIDE3My42YzEwLjcgOC43IDE5LjggMTguMSAyNyAyOC4yIC40IC42IC41IDEuMyAuMSAycy0xIDEtMS43IDFsLTEuNiAwYy0uNiAwLTEuMi0uMy0xLjUtLjgtNy45LTEwLjktMTguMi0yMS4xLTMwLjYtMzAuNGwtOTMuNSAwYzUuNCA4LjggOS45IDE4LjUgMTMuNCAyOC42IC4yIC42IC4xIDEuMi0uMiAxLjdzLS45IC44LTEuNiAuOGwtMS40IDBjLS44IDAtMS41LS41LTEuOC0xLjMtMy44LTEwLjctOC43LTIwLjgtMTQuNS0yOS45bC0xODQuMyAuMWMtNS44IDkuMS0xMC43IDE5LjEtMTQuNCAyOS44LS4zIC44LTEgMS4zLTEuOCAxLjNsLTEuNCAwYy0uNiAwLTEuMi0uMy0xLjYtLjhzLS41LTEuMS0uMi0xLjdjMy41LTEwLjIgOC0xOS43IDEzLjQtMjguNmwtOTMuNiAwYy0xMi4zIDkuMy0yMi42IDE5LjQtMzAuNCAzMC4zLS40IC41LS45IC44LTEuNSAuOGwtMS42IDBjLS43IDAtMS40LS40LTEuNy0xcy0uMy0xLjQgLjEtMmM3LjYtMTAuNSAxNi43LTE5LjkgMjYuOC0yOGwtNTEgMGMtMjguOSAxNi42LTYyIDQzLjMtNjMuNSA3OS43bDQ0LjcgMGMuNSAwIDEgLjIgMS4zIC42cy42IC44IC42IDEuM2wwIDEuM2MwIDEuMS0uOSAxLjktMS45IDEuOWwtNDQuNyAwQzYuOCAyOTUgNDAgMzIxLjcgNjkgMzM4LjNsNTAuOSAwYy0xMC4zLTguNC0xOS4xLTE3LjQtMjYuMS0yN2wtLjgtMS4xYy0uNC0uNi0uNS0xLjMtLjEtMnMxLTEgMS43LTFsMS42IDAgLjIgMGMuNSAuMSAxIC4zIDEuMyAuOCA3LjkgMTAuOSAxOC4xIDIxIDMwLjUgMzAuM2w5My42IDBjLTUuMy04LjgtOS44LTE4LjQtMTMuNC0yOC41LS4yLS42LS4xLTEuMiAuMi0xLjdzLjktLjggMS42LS44bDEuNCAwIC4yIDBjLjcgLjEgMS40IC42IDEuNyAxLjMgMy44IDEwLjcgOC42IDIwLjcgMTQuNCAyOS44bDE4NC41LS4xYzUuOC05LjEgMTAuNi0xOS4xIDE0LjQtMjkuN2wuMS0uMWMuMy0uNyAxLTEuMSAxLjctMS4xbDEuNCAwYy42IDAgMS4yIC4zIDEuNiAuOHMuNSAxLjIgLjIgMS43Yy0zLjUgMTAuMS04IDE5LjctMTMuMyAyOC41bDkzLjcgMGMxMi4zLTkuMyAyMi41LTE5LjQgMzAuMy0zMC4ybC4xLS4yYy40LS40IC45LS42IDEuNC0uNmwxLjYgMGMuNyAwIDEuNCAuNCAxLjcgMXMuMyAxLjQtLjEgMmMtNy4xIDEwLTE2LjEgMTkuMy0yNi43IDI3LjlsNTEuMSAwYzI4LjgtMTYuNiA2MS44LTQzLjMgNjMuNC03OS42bC00NC43IDBjLTEgMC0xLjktLjktMS45LTEuOWwwLTEuM2MwLTEuMSAuOS0xLjkgMS45LTEuOWw0NC43IDBjLTEuNi0zNi41LTM0LjktNjMuMy02My45LTc5LjlsLTUwLjkgMHpNMjIwLjUgMTI2LjJjLTQ5LjEgNy4xLTk4LjcgMTkuNS0xNDMgNDIuN2w0OC40IDBjMjcuOS0yMC44IDYxLTM0LjEgOTQuNS00Mi43em02Mi44LTUuNGMtNTEuOCA0LjUtMTA1LjIgMTguMy0xNDguNiA0OC4xbDkwIDBjMTQuMi0yMS40IDM0LjQtMzkgNTguNi00OC4xem0zNi42LTEuNmMtMzYuMiAwLTY4LjcgMjAuNi04OSA0OS43bDE3Ny45LS4xYy0yMC4zLTI5LjEtNTIuNy00OS42LTg4LjktNDkuNnptMzYuNiAxLjZjMjQuMiA5LjEgNDQuNCAyNi42IDU4LjUgNDhsODkuOCAwYy00My4zLTI5LjctOTYuNi00My41LTE0OC4zLTQ4em02Mi44IDUuNGMzMy40IDguNSA2Ni40IDIxLjkgOTQuMyA0Mi41bDQ4LjMgMGMtNDQuMS0yMy4xLTkzLjYtMzUuNC0xNDIuNi00Mi41eiJdfSxvbXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibnV0cml0aW9uaXgiLGljb246WzQ0OCw1MTIsW10sImYzZDYiLCJNMTEyIDguMVMyNDUuNC0uMSAyMzMgMTEyLjVjMCAwIDE5LjEtNzQuOSAxMDMtNDAuNiAwIDAtMTcuNyA3NC04OCA1NiAwIDAgMTQuNi01NC42IDY2LjEtNTYuNiAwIDAtMzkuOS0xMC4zLTgyLjEgNDguOCAwIDAtMTkuOC05NC41LTkzLjYtOTkuNyAwIDAgNzUuMiAxOS40IDc3LjYgMTA3LjUgMCAuMS0xMDYuNCA3LTEwNC0xMTkuOHpNNDI0IDMyMy43YzAgNDguNS05LjcgOTUuMy0zMiAxMzIuMy00Mi4yIDMwLjktMTA1IDQ4LTE2OCA0OC02Mi45IDAtMTI1LjgtMTcuMS0xNjgtNDgtMjIuMy0zNy0zMi04My44LTMyLTEzMi4zIDAtNDguNCAxNy43LTk0LjcgNDAtMTMxLjcgNDIuMi0zMC45IDk3LjEtNDguNiAxNjAtNDguNiA2MyAwIDExNy44IDE3LjYgMTYwIDQ4LjYgMjIuMyAzNyA0MCA4My4zIDQwIDEzMS43ek0xNDQgNDI4YTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6bTAtNjYuMmEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwem0wLTY2LjJhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHpNMjE2IDQyOGEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwem0wLTY2LjJhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHptMC02Ni4yYTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6TTI4OCA0MjhhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHptMC02Ni4yYTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6bTAtNjYuMmEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwek0zNjAgNDI4YTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6bTAtNjYuMmEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwem0wLTY2LjJhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHpNMzg0IDI1NmMtNC44LTIyLjMtNy40LTM2LjktMTYtNTYtMzguOC0xOS45LTkwLjUtMzItMTQ0LTMyUzExOC44IDE4MC4xIDgwIDIwMGMtOC44IDE5LjUtMTEuMiAzMy45LTE2IDU2IDQyLjItNy45IDk4LjctMTQuOCAxNjAtMTQuOHMxMTcuOCA2LjkgMTYwIDE0Ljh6Il19LG5tdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLXNhbXBsaW5nLXBsdXMiLGljb246WzUxMiw1MTIsW10sImY0ZjEiLCJNMjU1LjYgOEMzOTcuNCA4IDUwNCAxMTguMSA1MDQgMjU2IDUwNCA0MDMuMSAzODUuNSA1MDQgMjU1LjYgNTA0IDEyMS42IDUwNCA4IDM5NC41IDggMjU2IDggMTIzLjEgMTEyLjcgOCAyNTUuNiA4em0uOCA0NC43Yy0xMTguMiAwLTIwMy43IDk3LjktMjAzLjcgMjAzLjMgMCAxMDkuOCA5MS4yIDIwMi44IDIwMy43IDIwMi44IDEwMy4yIDAgMjAyLjgtODEuMSAyMDIuOC0yMDIuOCAuMS0xMTMuOC05MC4yLTIwMy4zLTIwMi44LTIwMy4zem0xMDcgMjA1LjZjLTQuNyAwLTkgMi44LTEwLjcgNy4ybC00IDkuNS0xMS05Mi44Yy0xLjctMTMuOS0yMi0xMy40LTIzLjEgLjRsLTQuMyA1MS40LTUuMi02OC44Yy0xLjEtMTQuMy0yMi4xLTE0LjItMjMuMiAwbC0zLjUgNDQuOS01LjktOTQuM2MtLjktMTQuNS0yMi4zLTE0LjQtMjMuMiAwbC01LjEgODMuNy00LjMtNjYuM2MtLjktMTQuNC0yMi4yLTE0LjQtMjMuMiAwbC01LjMgODAuMi00LjEtNTdjLTEuMS0xNC4zLTIyLTE0LjMtMjMuMi0uMmwtNy43IDg5LjgtMS44LTEyLjJjLTEuNy0xMS40LTE3LjEtMTMuNi0yMi0zLjNsLTEzLjIgMjcuNy00My45IDAgMCAyMy4yIDUxLjMgMGM0LjQgMCA4LjQtMi41IDEwLjQtNi40bDEwLjcgNzMuMWMyIDEzLjUgMjEuOSAxMyAyMy4xLS43bDMuOC00My42IDUuNyA3OC4zYzEuMSAxNC40IDIyLjMgMTQuMiAyMy4yLS4xbDQuNi03MC40IDQuOCA3My4zYy45IDE0LjQgMjIuMyAxNC40IDIzLjItLjFsNC45LTgwLjUgNC41IDcxLjhjLjkgMTQuMyAyMi4xIDE0LjUgMjMuMiAuMmw0LjYtNTguNiA0LjkgNjQuNGMxLjEgMTQuMyAyMiAxNC4yIDIzLjEgLjFsNi44LTgzIDIuNyAyMi4zYzEuNCAxMS44IDE3LjcgMTQuMSAyMi4zIDMuMWwxOC00My40IDUwLjUgMCAwLTIzLjItNTguNCAuM3ptLTc4IDUuMmwtMjEuOSAwIDAgMjEuOWMwIDQuMS0zLjMgNy41LTcuNSA3LjUtNC4xIDAtNy41LTMuMy03LjUtNy41bDAtMjEuOS0yMS45IDBjLTQuMSAwLTcuNS0zLjMtNy41LTcuNSAwLTQuMSAzLjQtNy41IDcuNS03LjVsMjEuOSAwIDAtMjEuOWMwLTQuMSAzLjQtNy41IDcuNS03LjVzNy41IDMuMyA3LjUgNy41bDAgMjEuOSAyMS45IDBjNC4xIDAgNy41IDMuMyA3LjUgNy41IDAgNC4xLTMuNCA3LjUtNy41IDcuNXoiXX0sbG10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlZGhhdCIsaWNvbjpbNTEyLDUxMixbXSwiZjdiYyIsIk0zNDEuNSAyODUuNmMzMy43IDAgODIuMy02LjkgODIuMy00NyAuMi02LjcgLjktMS44LTIwLjktOTYuMi00LjYtMTkuMS04LjctMjcuOC00Mi4zLTQ0LjYtMjYuMS0xMy4zLTgyLjktMzUuNC05OS43LTM1LjQtMTUuNyAwLTIwLjIgMjAuMi0zOC45IDIwLjItMTggMC0zMS4zLTE1LjEtNDguMS0xNS4xLTE2LjEgMC0yNi43IDExLTM0LjggMzMuNi0yNy41IDc3LjYtMjYuMyA3NC4zLTI2LjEgNzguMyAwIDI0LjggOTcuNiAxMDYuMSAyMjguNSAxMDYuMXpNNDI5IDI1NC44YzQuNyAyMiA0LjcgMjQuMyA0LjcgMjcuMiAwIDM3LjctNDIuMyA1OC42LTk4IDU4LjYtMTI1LjcgLjEtMjM1LjktNzMuNi0yMzUuOS0xMjIuMyAwLTYuOCAxLjQtMTMuNSA0LjEtMTkuNy00NS4yIDIuMy0xMDMuOCAxMC4zLTEwMy44IDYyIDAgODQuNyAyMDAuNiAxODkgMzU5LjUgMTg5IDEyMS44IDAgMTUyLjUtNTUuMSAxNTIuNS05OC42IDAtMzQuMi0yOS42LTczLTgyLjktOTYuMnoiXX0sUG9lPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1waWVkLXBpcGVyIixpY29uOls0NDgsNTEyLFsicGllZC1waXBlci1zcXVhcmUiXSwiZTAxZSIsIk0zMi4xIDQxOWwtMzIgNjAuMiAuOC0zMjhDLjkgODUuMyA1NC4xIDMyIDEyMC4xIDMybDMyNy4yIDBDMzU0LjMgNjAuOSAyNTcuNCAxMjYuMiAxOTMuNCAyMDAuNiAxMjIuOCAyODIgODIuNyAzMzggMzIuMSA0MTl6bTQxNi0zODdTMzA1LjMgOTguOCAyNjEuNyAxOTkuMWMtMjMuMiA1My42LTI4LjkgMTE4LjEtNzEgMTU4LjYtMjguOSAyNy44LTY5LjggMzguMi0xMDUuMyA1Ni4zLTIzLjIgMTItNjYuNCA0MC41LTg0LjkgNjZsMzI4LjQgMGM2NiAwIDExOS4zLTUzLjMgMTE5LjMtMTE5LjItLjEgMC0uMS0zMjguOC0uMS0zMjguOHoiXX0sY210PVBvZSxkbXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2hhdHNhcHAiLGljb246WzQ0OCw1MTIsW10sImYyMzIiLCJNMzgwLjkgOTcuMWMtNDEuOS00Mi05Ny43LTY1LjEtMTU3LTY1LjEtMTIyLjQgMC0yMjIgOTkuNi0yMjIgMjIyIDAgMzkuMSAxMC4yIDc3LjMgMjkuNiAxMTFMMCA0ODAgMTE3LjcgNDQ5LjFjMzIuNCAxNy43IDY4LjkgMjcgMTA2LjEgMjdsLjEgMGMxMjIuMyAwIDIyNC4xLTk5LjYgMjI0LjEtMjIyIDAtNTkuMy0yNS4yLTExNS02Ny4xLTE1N3ptLTE1NyAzNDEuNmMtMzMuMiAwLTY1LjctOC45LTk0LTI1LjdsLTYuNy00LTY5LjggMTguMyAxOC42LTY4LjEtNC40LTdjLTE4LjUtMjkuNC0yOC4yLTYzLjMtMjguMi05OC4yIDAtMTAxLjcgODIuOC0xODQuNSAxODQuNi0xODQuNSA0OS4zIDAgOTUuNiAxOS4yIDEzMC40IDU0LjFzNTYuMiA4MS4yIDU2LjEgMTMwLjVjMCAxMDEuOC04NC45IDE4NC42LTE4Ni42IDE4NC42ek0zMjUuMSAzMDAuNWMtNS41LTIuOC0zMi44LTE2LjItMzcuOS0xOC01LjEtMS45LTguOC0yLjgtMTIuNSAyLjhzLTE0LjMgMTgtMTcuNiAyMS44Yy0zLjIgMy43LTYuNSA0LjItMTIgMS40LTMyLjYtMTYuMy01NC0yOS4xLTc1LjUtNjYtNS43LTkuOCA1LjctOS4xIDE2LjMtMzAuMyAxLjgtMy43IC45LTYuOS0uNS05LjdzLTEyLjUtMzAuMS0xNy4xLTQxLjJjLTQuNS0xMC44LTkuMS05LjMtMTIuNS05LjUtMy4yLS4yLTYuOS0uMi0xMC42LS4ycy05LjcgMS40LTE0LjggNi45Yy01LjEgNS42LTE5LjQgMTktMTkuNCA0Ni4zczE5LjkgNTMuNyAyMi42IDU3LjRjMi44IDMuNyAzOS4xIDU5LjcgOTQuOCA4My44IDM1LjIgMTUuMiA0OSAxNi41IDY2LjYgMTMuOSAxMC43LTEuNiAzMi44LTEzLjQgMzcuNC0yNi40czQuNi0yNC4xIDMuMi0yNi40Yy0xLjMtMi41LTUtMy45LTEwLjUtNi42eiJdfSxwbXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaW1kYiIsaWNvbjpbNDQ4LDUxMixbXSwiZjJkOCIsIk04OS41IDMyMy42bC0zNS42IDAgMC0xMzcuNCAzNS42IDAgMCAxMzcuNHptNjYuNi03My4xbDkuMS02NC4zIDQ2LjMgMCAwIDEzNy40LTMxIDAgMC05Mi43LTEzLjQgOTIuNy0yMS4zIDAtMTMtOTAuNy0uMSA5MC43LTMxLjIgMCAwLTEzNy40IDQ2LjEgMGMuNSA4LjMgMi44IDE4LjEgNC4zIDI5LjRsNC4yIDM0Ljl6bTY3LjYgNzMuMWwwLTEzNy40IDI2LjYgMGMxNyAwIDI3IC45IDMzIDIuNCA2LjEgMS43IDEwLjcgNC4yIDEzLjkgNy45IDMuMSAzLjMgNS4xIDYuNiA1LjggMTIgLjkgNC40IDEuNCAxMy4xIDEuNCAyNi4ybDAgNDguMmMwIDEyLjMtLjcgMjAuNS0xLjkgMjQuNy0xLjEgNC4xLTMuMSA3LjQtNiA5LjctMi44IDIuNC02LjQgNC4xLTEwLjcgNS00LjIgLjgtMTAuNiAxLjMtMTkuMSAxLjNsLTQzIDB6bTM1LjUtMTEzLjlsMCA4OS40YzUuMSAwIDguMy0xIDkuNC0yLjMgMS4xLTIgMS44LTcuNiAxLjgtMTYuN2wwLTUzLjNjMC02LjItLjEtMTAuMi0uNy0xMi0uMy0xLjgtMS4yLTMtMi42LTQuNy0xLjQgMC00LjEtLjQtNy45LS40em01Ny4zIDExMy45bDAtMTM3LjQgMzQuMSAwIDAgNDMuOWMyLjktMi40IDYuMS00LjkgOS41LTYuNiAzLjYtMS41IDguOC0yLjQgMTIuOC0yLjQgNC44IDAgOC45IC44IDEyLjMgMi4yIDMuNCAxLjUgNiAzLjUgOCA2LjIgMS43IDIuNiAyLjcgNS4zIDMuMSA3LjggLjQgMi42LS4yIDgtLjIgMTYuMmwwIDM4LjZjMCA4LjIgLjIgMTQuMy0uOCAxOC40LTEuMSA0LTMuOCA3LjYtNy44IDkuNi00LjEgMy45LTguOSA1LjMtMTQuNiA1LjMtNCAwLTkuMi0uOS0xMi43LTIuNS0zLjUtMS44LTYuNy00LjUtOS42LThsLTIuMSA4LjctMzIgMHptNDUuMS0yMC43Yy43LTEuOCAxLTYgMS0xMi41bDAtMzUuNGMwLTUuNi0uMy05LjUtMS4xLTExLjItLjctMS45LTMuNy0yLjctNS44LTIuNy0yIDAtMy40IC44LTQuMSAyLjMtLjYgMS41LTEgNS40LTEgMTEuNmwwIDM2LjRjMCA2LjEgLjQgMTAgMS4yIDExLjYgLjYgMS43IDIuMSAyLjUgNC4xIDIuNSAyLjIgMCA0LjItLjggNS43LTIuNnpNNDE4LjQgMzJjMTUuNyAxLjIgMjguNyAxNS4yIDI4LjcgMzEuOWwwIDM4NC4yYzAgMTYuNC0xMS45IDMwLjQtMjguMiAzMS0uMyAwLS41IC45LS44IC45TDI5LjkgNDgwYy0uMyAwLS42LS45LS44LS4xLTE1LjctMS40LTI3LjktMTMuOC0yOS0zMC4yTDAgNjEuOEMxLjEgNDUuOSAxMy44IDMzLjEgMzAuMyAzMS4xbDM4Ny40IDBjLjIgMCAuNSAuOSAuNyAuOXpNMzAuMyA0MS4zQzE5IDQyIDEwIDUxIDkuMyA2Mi40bDAgMzg3LjNjLjQgNS40IDIuNyAxMC41IDYuNCAxNC4zIDMuOCAzLjkgOC44IDYuMyAxNC4yIDYuN2wzODguMiAwYzExLjUtMSAyMC42LTExLjYgMjAuNi0yMi42bDAtMzg0LjJjMC01LjctMi4xLTExLjMtNi0xNS41cy05LjMtNi44LTE1LTcuMmwtMzg3LjQgMHoiXX0sdW10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InB5dGhvbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjNlMiIsIk00MzkuOCAyMDAuNWMtNy43LTMwLjktMjIuMy01NC4yLTUzLjQtNTQuMmwtNDAuMSAwIDAgNDcuNGMwIDM2LjgtMzEuMiA2Ny44LTY2LjggNjcuOGwtMTA2LjggMGMtMjkuMiAwLTUzLjQgMjUtNTMuNCA1NC4zbDAgMTAxLjhjMCAyOSAyNS4yIDQ2IDUzLjQgNTQuMyAzMy44IDkuOSA2Ni4zIDExLjcgMTA2LjggMCAyNi45LTcuOCA1My40LTIzLjUgNTMuNC01NC4zbDAtNDAuNy0xMDYuNyAwIDAtMTMuNiAxNjAuMiAwYzMxLjEgMCA0Mi42LTIxLjcgNTMuNC01NC4yIDExLjItMzMuNSAxMC43LTY1LjcgMC0xMDguNnpNMjg2LjIgNDQ0LjdhMjAuNCAyMC40IDAgMSAxIDAtNDAuNyAyMC40IDIwLjQgMCAxIDEgMCA0MC43ek0xNjcuOCAyNDguMWwxMDYuOCAwYzI5LjcgMCA1My40LTI0LjUgNTMuNC01NC4zbDAtMTAxLjljMC0yOS0yNC40LTUwLjctNTMuNC01NS42LTM1LjgtNS45LTc0LjctNS42LTEwNi44IC4xLTQ1LjIgOC01My40IDI0LjctNTMuNCA1NS42bDAgNDAuNyAxMDYuOSAwIDAgMTMuNi0xNDcgMGMtMzEuMSAwLTU4LjMgMTguNy02Ni44IDU0LjItOS44IDQwLjctMTAuMiA2Ni4xIDAgMTA4LjYgNy42IDMxLjYgMjUuNyA1NC4yIDU2LjggNTQuMmwzNi43IDAgMC00OC44YzAtMzUuMyAzMC41LTY2LjQgNjYuOC02Ni40ek0xNjEuMiA2NC43YTIwLjQgMjAuNCAwIDEgMSAwIDQwLjggMjAuNCAyMC40IDAgMSAxIDAtNDAuOHoiXX0sZm10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNhc2gtYXBwIixpY29uOls0NDgsNTEyLFtdLCJlN2Q0IiwiTTQ0MC4zIDk2LjljLTkuNC0yNi41LTMwLjMtNDcuNC01Ni44LTU3LTI0LjEtNy45LTQ2LjMtNy45LTkxLjYtNy45TDE1NiAzMmMtNDQuOCAwLTY3LjIgMC05MS4zIDcuNS0yNi41IDkuNi00Ny40IDMwLjUtNTcgNTctNy43IDI0LjMtNy43IDQ2LjctNy43IDkxLjdMMCAzMjMuOGMwIDQ1LjIgMCA2Ny40IDcuNSA5MS41IDkuNiAyNi41IDMwLjUgNDcuNCA1NyA1NyAyNC4zIDcuNyA0Ni43IDcuNyA5MS42IDcuN2wxMzUuNyAwYzQ1IDAgNjcuNCAwIDkxLjYtNy43IDI2LjUtOS42IDQ3LjQtMzAuNSA1Ny01NyA3LjctMjQuMyA3LjctNDYuNyA3LjctOTEuNWwwLTEzNS41YzAtNDUgMC02Ny40LTcuNy05MS41ek0zMjMuMSAxODUuNGwtMjUuOCAyMS4xYy0yLjMgMS45LTUuNSAxLjUtNy4zLS45LTEzLjItMTYuMi0zMy43LTI1LjQtNTYuMS0yNS40LTI1IDAtNDAuNiAxMC45LTQwLjYgMjYuMi0uNCAxMi44IDExLjcgMTkuNiA0OS4xIDI3LjcgNDcuMiAxMCA2OC43IDI5LjcgNjguNyA2Mi43IDAgNDEuNC0zMy43IDcxLjktODYuNCA3NS4zbC01LjEgMjQuNWMtLjQgMi4zLTIuNiA0LjEtNS4xIDQuMWwtNDAuNiAwYy0zLjQgMC01LjgtMy4yLTUuMS02LjRsNi40LTI3LjNjLTI2LTcuNS00Ny4yLTIyLTU5LjMtMzkuNy0xLjUtMi4zLTEuMS01LjMgMS4xLTdsMjguMi0yMmMyLjMtMS45IDUuOC0xLjMgNy41IDEuMSAxNC45IDIwLjkgMzggMzMuMyA2NS43IDMzLjMgMjUgMCA0My44LTEyLjIgNDMuOC0yOS43IDAtMTMuNC05LjQtMTkuNi00MS4yLTI2LjItNTQuMi0xMS43LTc1LjgtMzEuOC03NS44LTY0LjkgMC0zOC40IDMyLjItNjcuMiA4MC45LTcxbDUuMy0yNS40Yy40LTIuMyAyLjYtNC4xIDUuMS00LjFsMzkuOSAwYzMuMiAwIDUuOCAzIDUuMSA2LjJsLTYuMiAyOC40YzIwLjkgNi40IDM4IDE3LjkgNDguNyAzMi4yIDEuNyAyLjEgMS4zIDUuMy0uOSA3eiJdfSxobXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGludGVyZXN0LXAiLGljb246WzM4NCw1MTIsW10sImYyMzEiLCJNMjA0IDYuNWMtMTAyLjYgMC0yMDQgNjguNC0yMDQgMTc5LjEgMCA3MC40IDM5LjYgMTEwLjQgNjMuNiAxMTAuNCA5LjkgMCAxNS42LTI3LjYgMTUuNi0zNS40IDAtOS4zLTIzLjctMjkuMS0yMy43LTY3LjggMC04MC40IDYxLjItMTM3LjQgMTQwLjQtMTM3LjQgNjguMSAwIDExOC41IDM4LjcgMTE4LjUgMTA5LjggMCA1My4xLTIxLjMgMTUyLjctOTAuMyAxNTIuNy0yNC45IDAtNDYuMi0xOC00Ni4yLTQzLjggMC0zNy44IDI2LjQtNzQuNCAyNi40LTExMy40IDAtNjYuMi05My45LTU0LjItOTMuOSAyNS44IDAgMTYuOCAyLjEgMzUuNCA5LjYgNTAuNy0xMy44IDU5LjQtNDIgMTQ3LjktNDIgMjA5LjEgMCAxOC45IDIuNyAzNy41IDQuNSA1Ni40IDMuNCAzLjggMS43IDMuNCA2LjkgMS41IDUwLjQtNjkgNDguNi04Mi41IDcxLjQtMTcyLjggMTIuMyAyMy40IDQ0LjEgMzYgNjkuMyAzNiAxMDYuMiAwIDE1My45LTEwMy41IDE1My45LTE5Ni44IDAtOTkuMy04NS44LTE2NC4xLTE4MC0xNjQuMXoiXX0sbW10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndobWNzIixpY29uOls0NDgsNTEyLFtdLCJmNDBkIiwiTTQ0OCAxNjFsMC0yMS4zLTI4LjUtOC44LTIuMi0xMC40IDIwLjEtMjAuNy0xMC40LTE5LjQtMjkgNy41LTcuMi03LjUgNy41LTI4LjItMTkuMS0xMS42LTIxLjMgMjEtMTAuNy0zLjItNy0yNi40LTIyLjYgMC02LjIgMjYuNC0xMi4xIDMuMi0xOS43LTIxLTE5LjQgMTEgOC4xIDI3LjctOC4xIDguNC0yOC41LTcuNS0xMSAxOS4xIDIwLjcgMjEtMi45IDEwLjQtMjguNSA3LjgtLjMgMjEuNyAyOC44IDcuNSAyLjQgMTIuMS0yMC4xIDE5LjkgMTAuNCAxOC41IDI5LjYtNy41IDcuMiA4LjYtOC4xIDI2LjkgMTkuOSAxMS42IDE5LjQtMjAuNCAxMS42IDIuOSA2LjcgMjguNSAyMi42IC4zIDYuNy0yOC44IDExLjYtMy41IDIwLjcgMjEuNiAyMC40LTEyLjEtOC44LTI4IDcuOC04LjEgMjguOCA4LjggMTAuMy0yMC4xLTIwLjktMTguOCAyLjItMTIuMSAyOS4xLTd6TTMyOC44IDkyLjZhNTYuOCA1Ni44IDAgMSAxIDAgMTEzLjYgNTYuOCA1Ni44IDAgMSAxIDAtMTEzLjZ6bTcyLjMgMTMwbDQ2LjkgMTQuNSAwIDM5LjktNTUuMSAxMy40LTQuMSAyMi43IDM4LjkgMzUuMy0xOS4yIDM3LjktNTQtMTYuNy0xNC42IDE1LjIgMTYuNyA1Mi41LTM4LjMgMjIuNy0zOC45LTQwLjUtMjEuNyA2LjYtMTIuNiA1NC00Mi40LS41LTEyLjYtNTMuNi0yMS43LTUuNi0zNi40IDM4LjQtMzcuNC0yMS43IDE1LjItNTAuNS0xMy43LTE2LjEtNTUuNSAxNC4xLTE5LjctMzQuOCAzNy45LTM3LjQtNC44LTIyLjgtNTQtMTQuMSAuNS00MC45IDUzLjUtMTQuNyA1LjctMTkuNy0zOC45LTM5LjQgMjAuNy0zNS44IDUzLjYgMTQuMSAxNS4yLTE1LjctMTUuMi01MiAzNi40LTIwLjcgMzYuOCAzOS40IDIyLjctNi4xIDExLjYtNTIgNDIuNCAwIDExLjYgNDUuOS0yMi42LTUuOS02LjMtMS43LTMuMyA1LjctMTEgMTkuMS0zLjMgNS42IDQuNiA0LjYgMTcuMiAxNy40LS4zIDEtMjMuOCA2LjUtNi4yIDEuN2MwIDMuMi0uMSA5LjYtLjMgMTkuMy00Ny41IDEwLjQtODMuMyA1Mi44LTgzLjMgMTAzLjUgMCA1OC4zIDQ3LjMgMTA1LjcgMTA1LjcgMTA1LjcgNTAuNSAwIDkyLjctMzUuNCAxMDMuMi04Mi44IDkuOSAuMSAxNi42IC4yIDIwLjEgLjNsMS42LTYuNyA1LjYtMjQgMS45LS42IDE3LjEgMTcuOCA0LjcgNC45IDUuOC0zLjQgMjAuNC0xMi4xIDUuOC0zLjUtMi02LjUtNi44LTIxLjJ6Il19LGdtdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqb2dldCIsaWNvbjpbNTEyLDUxMixbXSwiZjNiNyIsIk0zODYuMSA0NUMzNDUuNiAxOS45IDMwMC42IDggMjU2LjIgOCAxNzMgOCA5MS44IDQ5LjkgNDQuOSAxMjUuOS0yNyAyNDIuNSA5LjMgMzk1LjIgMTI1LjkgNDY3LjFzMjY5LjMgMzUuNiAzNDEuMi04MC45QzUzOSAyNjkuNiA1MDIuNyAxMTYuOCAzODYuMSA0NXptNTEuOCAzMjMuMmMtNDAuNCA2NS41LTExMC40IDEwMS41LTE4MiAxMDEuNS02LjggMC0xMy42LS40LTIwLjQtMS05LTEzLjYtMTkuOS0zMy4zLTIzLjctNDIuNC01LjctMTMuNy0yNy4yLTQ1LjYgMzEuMi02Ny4xIDUxLjctMTkuMSAxNzYuNy0xNi41IDIwOC44LTE3LjYtNCA5LTguNiAxNy45LTEzLjkgMjYuNnpNMjM3LjEgMjgxLjljLTU1LjUtMS40LTgxLjctMjAuOC01OC41LTQ4LjJzNTEuMS00MC43IDY4LjktNTEuMmMxNy45LTEwLjUgMjcuMy0zMy43LTIzLjYtMjkuNy0xMjguNiA4LjctMTY3LjMgOTkuMy0xNzguMyAxNDAuMi04LjgtNDkuNy0uMS0xMDIuNyAyOC41LTE0OS4xIDYxLjktMTAwLjUgMTkzLjUtMTMxLjcgMjk0LTY5LjggNzQuOCA0Ni4xIDExMS4yIDEzMC45IDk5LjMgMjEyLjctMjQuOS0uNS0xNzkuMy0zLjYtMjMwLjMtNC45em0xODMuOC01NC44Yy0yMi43LTYtNTcgMTEuMy04Ni43IDI3LjItMjkuNyAxNS44LTMxLjEgOC4yLTMxLjEgOC4yczQwLjItMjguMSA1MC43LTM0LjUgMzEuOS0xNCAxMy40LTI0LjZjLTMuMi0xLjgtNi43LTIuNy0xMC40LTIuNy0xNy44IDAtNDEuNSAxOC43LTY3LjUgMzUuNi0zMS41IDIwLjUtNjUuMyAzMS4zLTY1LjMgMzEuM0wzOTMuNSAyNjYgNDQwIDI0Mi42czMuNi05LjUtMTkuMS0xNS41eiJdfSxFb2U9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXlvdXR1YmUiLGljb246WzQ0OCw1MTIsWzYxNzk4LCJ5b3V0dWJlLXNxdWFyZSJdLCJmNDMxIiwiTTI4MiAyNTYuMmwtOTUuMi01NC4xIDAgMTA4LjIgOTUuMi01NC4xek0zODQgMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NHptMTQuNCAxMzYuMWM3LjYgMjguNiA3LjYgODguMiA3LjYgODguMnMwIDU5LjYtNy42IDg4LjFjLTQuMiAxNS44LTE2LjUgMjcuNy0zMi4yIDMxLjktMjguMyA3LjctMTQyLjIgNy43LTE0Mi4yIDcuN3MtMTEzLjkgMC0xNDIuMi03LjZjLTE1LjctNC4yLTI4LTE2LjEtMzIuMi0zMS45LTcuNi0yOC42LTcuNi04OC4yLTcuNi04OC4yczAtNTkuNyA3LjYtODguMmM0LjItMTUuOCAxNi41LTI4LjIgMzIuMi0zMi40IDI4LjMtNy43IDE0Mi4yLTcuNyAxNDIuMi03LjdzMTEzLjkgMCAxNDIuMiA3LjdjMTUuNyA0LjIgMjggMTYuNiAzMi4yIDMyLjR6Il19LGJtdD1Fb2Usdm10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImF0bGFzc2lhbiIsaWNvbjpbNTEyLDUxMixbXSwiZjc3YiIsIk0xNTIuMiAyMzYuNGMtNy43LTguMi0xOS43LTcuNy0yNC44IDIuOEwxLjYgNDkwLjJjLTUgMTAgMi40IDIxLjcgMTMuNCAyMS43bDE3NSAwYzUuOCAuMSAxMS0zLjIgMTMuNC04LjQgMzcuOS03Ny44IDE1LjEtMTk2LjMtNTEuMi0yNjcuMXpNMjQ0LjQgOC4xYy0xMjIuMyAxOTMuNC04LjUgMzQ4LjYgNjUgNDk1LjUgMi41IDUuMSA3LjcgOC40IDEzLjQgOC40TDQ5NyA1MTJjMTEuMiAwIDE4LjQtMTEuOCAxMy40LTIxLjcgMCAwLTIzNC41LTQ3MC42LTI0MC40LTQ4Mi4zLTUuMy0xMC42LTE4LjgtMTAuOC0yNS42IC4xeiJdfSx4bXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGllZC1waXBlci1oYXQiLGljb246WzY0MCw1MTIsW10sImY0ZTUiLCJNNjQwIDI0LjljLTgwLjggNTMuNi04OS40IDkyLjUtOTYuNCAxMDQuNC02LjcgMTIuMi0xMS43IDYwLjMtMjMuMyA4My42LTExLjcgMjMuNi01NC4yIDQyLjItNjYuMSA1MC0xMS43IDcuOC0yOC4zIDM4LjEtNDEuOSA2NC4yLTEwOC4xLTQuNC0xNjcuNCAzOC44LTI1OS4yIDkzLjYgMjkuNC05LjcgNDMuMy0xNi43IDQzLjMtMTYuNyA5NC4yLTM2IDEzOS4zLTY4LjMgMjgxLjEtNDkuMiAxLjEgMCAxLjkgLjYgMi44IC44IDMuOSAyLjIgNS4zIDYuOSAzLjEgMTAuOGwtNTMuOSA5NS44Yy0yLjUgNC43LTcuOCA3LjItMTMuMSA2LjEtMTI2LjgtMjMuOC0yMjYuOSAxNy4zLTMxOC45IDE4LjYtNzMuNCAxLjEtOTcuNS0zMy41LTk3LjUtMzUuMSAwLTEuMSAuNi0xLjcgMS43LTEuNyAwIDAgMzguMyAwIDEwMy4xLTE1LjMgNzMuNi0xNDAuMyAxMzkuMi0xODkuNCAyMTAuNi0xODkuNCAwIDAgNzEuNyAwIDkwLjYgNjEuOSAyMi44LTM5LjcgMjguMy00OS4yIDI4LjMtNDkuMiA1LjMtOS40IDM1LTc3LjIgODYuNC0xNDEuNCA1MS41LTY0IDkwLjQtNzkuOSAxMTkuMy05MS44eiJdfSx5bXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaW50ZXJuZXQtZXhwbG9yZXIiLGljb246WzUxMiw1MTIsW10sImYyNmIiLCJNNDgzLjEgMTU5LjdjMTAuOS0yNC42IDIxLjQtNjAuNCAyMS40LTg3LjkgMC03Mi43LTc5LjYtOTguNC0yMDkuNy0zOC42LTEwNy42LTcuMi0yMTEuMiA3My43LTIzNy4xIDE4Ni41IDMwLjktMzQuOSA3OC4zLTgyLjMgMTIyLTEwMS4yLTU0LjMgNDguMy0xMDAuNiAxMDkuNC0xMzUuNyAxNzMuMi0yMC43IDM3LjktNDQgOTkuMi00NCAxNDUgMCA5OC42IDkyLjkgODYuNSAxODAuMyA0MiAzMS40IDE1LjQgNjYuNiAxNS42IDEwMS43IDE1LjYgOTcuMSAwIDE4NC4yLTU0LjMgMjE2LjgtMTQ2bC0xMjAuOCAwYy01Mi41IDg4LjYtMTk2LjggNTMtMTk2LjgtNDcuNGwzMjguOCAwYzYuNC00My42LTEuNy05NS43LTI2LjktMTQxLjJ6TTY0LjYgMzQ2LjlDODIuMyAzOTggMTE4LjMgNDQyLjcgMTY0LjggNDcwLjIgNzYuMSA1MTkuMS04LjQgNDk5LjMgNjQuNiAzNDYuOXpNMTgwLjUgMjM4YzItNTUuMiA1MC4zLTk0LjkgMTA0LTk0LjkgNTMuNCAwIDEwMiAzOS43IDEwNCA5NC45bC0yMDggMHpNMzY1LjEgNTAuNGMyMS40LTEwLjMgNDguNi0yMiA3Mi42LTIyIDMxLjQgMCA1NC4zIDIxLjcgNTQuMyA1My43IDAgMjAtNy40IDQ5LTE0LjYgNjcuOS0yNi4zLTQyLjMtNjYtODEuNi0xMTIuMy05OS42eiJdfSx3bXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYWlyYm5iIixpY29uOls0NDgsNTEyLFtdLCJmODM0IiwiTTIyNC41IDM3My4xYy0yNS4yLTMxLjctNDAuMS01OS40LTQ1LTgzLjItMjIuNS04OCAxMTIuNi04OCA5MC4xIDAtNS40IDI0LjItMjAuMyA1Mi00NSA4My4ybC0uMSAwem0xMzguMiA3My4yYy00Mi4xIDE4LjMtODMuNy0xMC45LTExOS4zLTUwLjUgMTAzLjktMTMwLjEgNDYuMS0yMDAtMTguOC0yMDAtNTQuOSAwLTg1LjIgNDYuNS03My4zIDEwMC41IDYuOSAyOS4yIDI1LjIgNjIuNCA1NC40IDk5LjUtMzIuNSAzNi02MC41IDUyLjctODUuMiA1NC45LTUwIDcuNC04OS4xLTQxLjEtNzEuMy05MS4xIDE1LjEtMzkuMiAxMTEuNy0yMzEuMiAxMTUuOS0yNDEuNiAxNS44LTMwLjEgMjUuNi01Ny40IDU5LjQtNTcuNCAzMi4zIDAgNDMuNCAyNS45IDYwLjQgNTkuOSAzNiA3MC42IDg5LjQgMTc3LjUgMTE0LjggMjM5LjEgMTMuMiAzMy4xLTEuNCA3MS4zLTM3IDg2LjZ6bTQ3LTEzNi4xYy0xMjguOS0yNzQuMy0xMzYtMjc4LjItMTg1LjEtMjc4LjItNDUuNSAwLTY0LjkgMzEuNy04NC43IDcyLjgtMTA2LjIgMjEyLjMtMTE2LjQgMjQyLjQtMTE3LjMgMjQ1LTI1LjIgNjkuMyAyNi43IDEzMC4yIDg5LjYgMTMwLjIgMjEuNyAwIDYwLjYtNi4xIDExMi40LTYyLjQgNTguNyA2My44IDEwMS4zIDYyLjQgMTEyLjQgNjIuNCA2Mi45IC4xIDExNC45LTYwLjkgODkuNi0xMzAuMiAwLTMuOS0xNi44LTM4LjktMTYuOC0zOS42bDAgMHoiXX0sTW10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImpzIixpY29uOls0NDgsNTEyLFtdLCJmM2I4IiwiTTAgMzJsMCA0NDggNDQ4IDAgMC00NDgtNDQ4IDB6TTI0My44IDM4MS40YzAgNDMuNi0yNS42IDYzLjUtNjIuOSA2My41LTMzLjcgMC01My4yLTE3LjQtNjMuMi0zOC41TDE1MiAzODUuN2M2LjYgMTEuNyAxMi42IDIxLjYgMjcuMSAyMS42IDEzLjggMCAyMi42LTUuNCAyMi42LTI2LjVsMC0xNDMuMSA0Mi4xIDAgMCAxNDMuN3ptOTkuNiA2My41Yy0zOS4xIDAtNjQuNC0xOC42LTc2LjctNDNMMzAxIDM4Mi4xYzkgMTQuNyAyMC44IDI1LjYgNDEuNSAyNS42IDE3LjQgMCAyOC42LTguNyAyOC42LTIwLjggMC0xNC40LTExLjQtMTkuNS0zMC43LTI4bC0xMC41LTQuNWMtMzAuNC0xMi45LTUwLjUtMjkuMi01MC41LTYzLjUgMC0zMS42IDI0LjEtNTUuNiA2MS42LTU1LjYgMjYuOCAwIDQ2IDkuMyA1OS44IDMzLjdMMzY4IDI5MGMtNy4yLTEyLjktMTUtMTgtMjcuMS0xOC0xMi4zIDAtMjAuMSA3LjgtMjAuMSAxOCAwIDEyLjYgNy44IDE3LjcgMjUuOSAyNS42bDEwLjUgNC41YzM1LjggMTUuMyA1NS45IDMxIDU1LjkgNjYuMiAwIDM3LjgtMjkuOCA1OC42LTY5LjcgNTguNnoiXX0sa210PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InF1aW5zY2FwZSIsaWNvbjpbNTEyLDUxMixbXSwiZjQ1OSIsIk0zMTMuNyA0NzQuNmwtMSAwYy00MS45IDAtODIuMS0xNi43LTExMS44LTQ2LjNzLTQ2LjMtNjkuOS00Ni4zLTExMS44IDE2LjctODIuMSA0Ni4zLTExMS44IDY5LjktNDYuMyAxMTEuOC00Ni4zYzk0LjkgMCAxNjguMiA4My4xIDE1NyAxNzYuNiA0IDUuMSA4LjIgOS42IDExLjIgMTUuMyAxMy40LTMwLjMgMjAuMy02Mi40IDIwLjMtOTcuNyAwLTEzNS4xLTEwOS41LTI0NC42LTI0NC42LTI0NC42UzEyLjEgMTE3LjUgMTIuMSAyNTIuNiAxMjEuNiA0OTcuMiAyNTYuNiA0OTcuMmMyMy44IC4yIDQ3LjYtMy4yIDcwLjQtMTAuMS01LjItMy41LTguOS04LjEtMTMuMy0xMi41em03OC4zLTE2OWE5OS4yIDk5LjIgMCAxIDAgMCAxOTguNCA5OS4yIDk5LjIgMCAxIDAgMC0xOTguNHoiXX0sem10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFkdmVyc2FsIixpY29uOls1MTIsNTEyLFtdLCJmMzZhIiwiTTQ4Mi4xIDMyTDI4LjcgMzJDNS44IDMyIDAgMzcuOSAwIDYwLjlMMCA0NTEuMUMwIDQ3NC40IDUuOCA0ODAgMjguNyA0ODBsNDUzLjQgMGMyNC40IDAgMjkuOS01LjIgMjkuOS0yOS43bDAtMzg4LjFjMC0yNC42LTUuNC0zMC4yLTI5LjktMzAuMnpNMTc4LjQgMjIwLjNjLTI3LjUtMjAuMi03Mi4xLTguNy04NC4yIDIzLjQtNC4zIDExLjEtOS4zIDkuNS0xNy41IDguMy05LjctMS41LTE3LjItMy4yLTIyLjUtNS41LTI4LjgtMTEuNCA4LjYtNTUuMyAyNC45LTY0LjMgNDEuMS0yMS40IDgzLjQtMjIuMiAxMjUuMy00LjggNDAuOSAxNi44IDM0LjUgNTkuMiAzNC41IDEyOC41IDIuNyAyNS44LTQuMyA1OC4zIDkuMyA4OC44IDEuOSA0LjQgLjQgNy45LTIuNyAxMC43LTguNCA2LjctMzkuMyAyLjItNDYuNi03LjQtMS45LTIuMi0xLjgtMy42LTMuOS02LjItMy42LTMuOS03LjMtMi4yLTExLjkgMS01Ny40IDM2LjQtMTQwLjMgMjEuNC0xNDctNDMuMy0zLjEtMjkuMyAxMi40LTU3LjEgMzkuNi03MSAzOC4yLTE5LjUgMTEyLjItMTEuOCAxMTQtMzAuOSAxLjEtMTAuMi0xLjktMjAuMS0xMS4zLTI3LjN6bTI4Ni43IDIyMmMwIDE1LjEtMTEuMSA5LjktMTcuOCA5LjlsLTM5NC45IDBjLTcuNCAwLTE4LjIgNC44LTE3LjgtMTAuNyAuNC0xMy45IDEwLjUtOS4xIDE3LjEtOS4xIDEzMi4zLS40IDI2NC41LS40IDM5Ni44IDAgNi44IDAgMTYuNi00LjQgMTYuNiA5Ljl6bTMuOC0zNDAuNWwwIDI5MWMwIDUuNy0uNyAxMy45LTguMSAxMy45LTEyLjQtLjQtMjcuNSA3LjEtMzYuMS01LjYtNS44LTguNy03LjgtNC0xMi40LTEuMi01My40IDI5LjctMTI4LjEgNy4xLTE0NC40LTg1LjItNi4xLTMzLjQtLjctNjcuMSAxNS43LTEwMCAxMS44LTIzLjkgNTYuOS03Ni4xIDEzNi4xLTMwLjVsMC03MWMwLTI2LjItLjEtMjYuMiAyNi0yNi4yIDMuMSAwIDYuNiAuNCA5LjcgMCAxMC4xLS44IDEzLjYgNC40IDEzLjYgMTQuMy0uMSAuMi0uMSAuMy0uMSAuNXpNNDE3LjQgMzM0LjFjLTE5LjUgNDcuNi03Mi45IDQzLjMtOTAgNS4yLTE1LjEtMzMuMy0xNS41LTY4LjIgLjQtMTAxLjUgMTYuMy0zNC4xIDU5LjctMzUuNyA4MS41LTQuOCAyMC42IDI4LjggMTQuOSA4NC42IDguMSAxMDEuMXpNMTIyLjYgMzY5LjRjLTcuNS0xLjMtMzMtMy4zLTMzLjctMjcuOC0uNC0xMy45IDcuOC0yMyAxOS44LTI1LjggMjQuNC01LjkgNDkuMy05LjkgNzMuNy0xNC43IDguOS0yIDcuNCA0LjQgNy44IDkuNSAxLjQgMzMtMjYuMSA1OS4yLTY3LjYgNTguOHoiXX0sU210PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMiLGljb246WzUxMiw1MTIsW10sImYyNWUiLCJNMjUzLjggMjE0LjlsLTMzLjIgMTcuM2MtOS40LTE5LjYtMjUuMi0xOS45LTI3LjUtMTkuOS0yMi4xIDAtMzMuMiAxNC42LTMzLjIgNDMuOCAwIDIzLjYgOS4yIDQzLjggMzMuMiA0My44IDE0LjUgMCAyNC42LTcuMSAzMC42LTIxLjNsMzAuNiAxNS41Yy02LjIgMTEuNS0yNS43IDM5LTY1LjEgMzktMjIuNiAwLTc0LTEwLjMtNzQtNzcgMC01OC43IDQzLTc3LjEgNzIuNi03Ny4xIDMwLjcgMCA1Mi43IDExLjkgNjYgMzUuOXptMTQzIDBsLTMyLjggMTcuM2MtOS41LTE5LjgtMjUuNy0xOS45LTI3LjktMTkuOS0yMi4xIDAtMzMuMiAxNC42LTMzLjIgNDMuOCAwIDIzLjUgOS4yIDQzLjggMzMuMiA0My44IDE0LjQgMCAyNC42LTcuMSAzMC41LTIxLjNsMzEgMTUuNWMtMi4xIDMuOC0yMS40IDM5LTY1LjEgMzktMjIuNyAwLTc0LTkuOS03NC03NyAwLTU4LjcgNDMtNzcuMSA3Mi42LTc3LjEgMzAuNyAwIDUyLjYgMTEuOSA2NS42IDM1Ljl6TTI1NS42IDhDMTEyLjcgOCA4IDEyMy4xIDggMjU2LjEgOCAzOTQuNSAxMjEuNiA1MDQuMSAyNTUuNiA1MDQuMSAzODUuNSA1MDQuMSA1MDQgNDAzLjIgNTA0IDI1Ni4xIDUwNCAxMTguMiAzOTcuNCA4IDI1NS42IDh6bS45IDQ1MC44Yy0xMTIuNSAwLTIwMy43LTkzLTIwMy43LTIwMi44IDAtMTA1LjQgODUuNC0yMDMuMyAyMDMuNy0yMDMuMyAxMTIuNSAwIDIwMi44IDg5LjUgMjAyLjggMjAzLjMgMCAxMjEuNy05OS43IDIwMi44LTIwMi44IDIwMi44eiJdfSxDbXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibm90aW9uIixpY29uOls1MTIsNTEyLFtdLCJlN2Q5IiwiTTk0LjkgMTAwLjJjMTQuOSAxMi4xIDIwLjUgMTEuMiA0OC42IDkuM0w0MDcuOCA5My42YzUuNiAwIC45LTUuNi0uOS02LjVMMzYyLjkgNTUuNGMtOC40LTYuNS0xOS42LTE0LTQxLjEtMTIuMUw2NS45IDYxLjljLTkuMyAuOS0xMS4yIDUuNi03LjUgOS4zbDM2LjQgMjguOXptMTUuOSA2MS42bDAgMjc4LjFjMCAxNC45IDcuNSAyMC41IDI0LjMgMTkuNmwyOTAuNS0xNi44YzE2LjgtLjkgMTguNy0xMS4yIDE4LjctMjMuM2wwLTI3Ni4yYzAtMTIuMS00LjctMTguNy0xNS0xNy43TDEyNS43IDE0My4xYy0xMS4yIC45LTE0LjkgNi41LTE0LjkgMTguN3ptMjg2LjcgMTQuOWMxLjkgOC40IDAgMTYuOC04LjQgMTcuOGwtMTQgMi44IDAgMjA1LjNjLTEyLjIgNi41LTIzLjQgMTAuMy0zMi43IDEwLjMtMTUgMC0xOC43LTQuNy0yOS45LTE4LjdsLTkxLjUtMTQzLjcgMCAxMzkgMjkgNi41czAgMTYuOC0yMy40IDE2LjhsLTY0LjQgMy43Yy0xLjktMy43IDAtMTMuMSA2LjUtMTQuOWwxNi44LTQuNyAwLTE4My44LTIzLjMtMS45Yy0xLjktOC40IDIuOC0yMC41IDE1LjktMjEuNWw2OS4xLTQuNyA5NS4zIDE0NS42IDAtMTI4LjgtMjQuMy0yLjhjLTEuOS0xMC4zIDUuNi0xNy43IDE0LjktMTguN2w2NC41LTMuOHpNNDQuNCAzNi43TDMxMC42IDE3LjFjMzIuNy0yLjggNDEuMS0uOSA2MS42IDE0bDg1IDU5LjdjMTQgMTAuMyAxOC43IDEzLjEgMTguNyAyNC4zbDAgMzI3LjZjMCAyMC41LTcuNSAzMi43LTMzLjYgMzQuNUwxMzMuMiA0OTUuOGMtMTkuNiAuOS0yOS0xLjktMzkuMi0xNC45TDMxLjQgMzk5LjdjLTExLjItMTQuOS0xNS45LTI2LjEtMTUuOS0zOS4ybDAtMjkxLjJjMC0xNi44IDcuNS0zMC44IDI4LjktMzIuN3oiXX0sX210PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNocm9tZWNhc3QiLGljb246WzUxMiw1MTIsW10sImY4MzgiLCJNNDQ4IDY0TDY0LjIgNjRjLTIzLjYgMC00Mi43IDE5LjEtNDIuNyA0Mi43bDAgNjMuOSA0Mi43IDAgMC02My45IDM4My44IDAgMCAyOTguNi0xNDkuMiAwIDAgNDIuNyAxNDkuNCAwYzIzLjYgMCA0Mi43LTE5LjEgNDIuNy00Mi43bDAtMjk4LjZDNDkwLjkgODMuMSA0NzEuNiA2NCA0NDggNjR6TTIxLjUgMzgzLjZsMCA2My45IDYzLjkgMGMwLTM1LjMtMjguNi02My45LTYzLjktNjMuOXptMC04NWwwIDQyLjRjNTguOSAwIDEwNi42IDQ4LjEgMTA2LjYgMTA3bDQyLjcgMGMuMS04Mi40LTY2LjktMTQ5LjMtMTQ5LjMtMTQ5LjR6TTIxMy42IDQ0OGw0Mi43IDBDMjU1LjggMzE4LjUgMTUxIDIxMy43IDIxLjUgMjEzLjRsMCA0Mi40YzEwNi0uMiAxOTIgODYuMiAxOTIuMSAxOTIuMnoiXX0sVG10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVsdHJhbHl0aWNzLWh1YiIsaWNvbjpbNTEyLDUxMixbXSwiZTg2ZSIsIk0xMzAuNCAxNmM2MC45IDAgMTEwLjQgNDkuNSAxMTAuNCAxMTAuNGwwIDI0LjljNC44LS43IDkuNy0xIDE0LjYtMSA4OC4xLS4yIDE2NS4xIDQ5IDIwNS40IDEyMS4yLTIyLjgtMTYuMi01MC43LTI1LjQtODAuNC0yNS4zLTc3LjEgLjItMTM5LjUgNjIuNi0xMzkuNiAxMzkuNC0uMSA2MC45LTQ5LjUgMTEwLjMtMTEwLjcgMTEwLjUtNjAuNiAuMi0xMTAuMi00OS41LTExMC4yLTExMC41IC4yLTIuNiAwIDAgLjEtMy4ybDAtMjU2QzIwLjEgNjUuNSA2OS41IDE2IDEzMC40IDE2ek0zODAuMyA0OTZhMTEwLjQgMTEwLjQgMCAxIDEgMC0yMjAuOSAxMTAuNCAxMTAuNCAwIDEgMSAwIDIyMC45eiJdfSxMbXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2lraXBlZGlhLXciLGljb246WzY0MCw1MTIsW10sImYyNjYiLCJNNjQwIDUxLjJsLS4zIDEyLjJjLTI4LjEgLjgtNDUgMTUuOC01NS44IDQwLjMtMjUgNTcuOC0xMDMuMyAyNDAtMTU1LjMgMzU4LjZsLTEzLjYgMC04MS45LTE5My4xYy0zMi41IDYzLjYtNjguMyAxMzAtOTkuMiAxOTMuMS0uMyAuMy0xNSAwLTE1LS4zLTQ2LjktMTA5LjctOTYuMS0yMTguNi0xNDMuMS0zMjguNi0xMS40LTI2LjctNDkuNC03MC03NS42LTY5LjcgMC0zLjEtLjMtMTAtLjMtMTQuMmwxNjEuOSAwIDAgMTMuOWMtMTkuMiAxLjEtNTIuOCAxMy4zLTQzLjMgMzQuMiAyMS45IDQ5LjcgMTAzLjYgMjQwLjMgMTI1LjYgMjg4LjYgMTUtMjkuNyA1Ny44LTEwOS4yIDc1LjMtMTQyLjgtMTMuOS0yOC4zLTU4LjYtMTMzLjktNzIuOC0xNjAtOS43LTE3LjgtMzYuMS0xOS40LTU1LjgtMTkuN2wwLTEzLjkgMTQyLjUgLjMgMCAxMy4xYy0xOS40IC42LTM4LjEgNy44LTI5LjQgMjYuMSAxOC45IDQwIDMwLjYgNjguMSA0OC4xIDEwNC43IDUuNi0xMC44IDM0LjctNjkuNCA0OC4xLTEwMC44IDguOS0yMC42LTMuOS0yOC42LTM4LjYtMjkuNCAuMy0zLjYgMC0xMC4zIC4zLTEzLjYgNDQuNC0uMyAxMTEuMS0uMyAxMjMuMS0uNmwwIDEzLjZDNDYyLjQgNjQgNDM5LjEgNzYgNDI2LjggOTQuOUwzNjcuNiAyMTcuN2M2LjQgMTYuMSA2My4zIDE0Mi44IDY5LjIgMTU2LjdMNTU5LjIgOTEuOGMtOC42LTIzLjEtMzYuNC0yOC4xLTQ3LjItMjguM2wwLTEzLjkgMTI3LjggMS4xIC4yIC41eiJdfSwkbXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2l0cm94IixpY29uOls0NDgsNTEyLFtdLCJlNDRhIiwiTTIxMi40IDBsMCAwIDIzNS42IDAgMCAxMjgtMzg0IDBDNjQgNTcuNiAxNDEuOCAuNSAyMTIuNCAwem0yNC44IDE5MmwwIDBjNjkuOSAuNSAxNDYuNyA1Ny42IDE0Ni43IDEyOGwtMTczLjIgMCAwIDBDMTQwLjkgMzE5LjYgNjQgMjYyLjQgNjQgMTkybDE3My4zIDB6bS0xLjcgMzIwYzcwLjctLjUgMTQ4LjQtNTcuNiAxNDguNC0xMjhsLTM4NCAwIDAgMTI4IDIzNS42IDAgMCAweiJdfSxJb2U9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWdpdGxhYiIsaWNvbjpbNDQ4LDUxMixbImdpdGxhYi1zcXVhcmUiXSwiZTVhZSIsIk0wIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZ6bTMzNy41IDEyLjVsNDQuNiAxMTYuNCAuNCAxLjJjNS42IDE2LjggNy4yIDM1LjIgMi4zIDUyLjUtNSAxNy4yLTE1LjQgMzIuNC0yOS44IDQzLjNsLS4yIC4xLTY4LjQgNTEuMi01NC4xIDQwLjljLS41IC4yLTEuMSAuNS0xLjcgLjgtMiAxLTQuNCAyLTYuNyAyLTMgMC02LjgtMS44LTguMy0yLjhsLTU0LjItNDAuOS02Ny45LTUwLjktLjQtLjMtLjItLjFjLTE0LjMtMTAuOC0yNC44LTI2LTI5LjctNDMuM3MtNC4yLTM1LjcgMi4yLTUyLjVsLjUtMS4yIDQ0LjctMTE2LjRjLjktMi4zIDIuNS00LjMgNC41LTUuNiAxLjYtMSAzLjQtMS42IDUuMi0xLjggMS4zLS43IDIuMS0uNCAzLjQgLjEgLjYgLjIgMS4yIC41IDIgLjcgMSAuNCAxLjYgLjkgMi40IDEuNSAuNiAuNCAxLjIgMSAyLjEgMS41IDEuMiAxLjQgMi4yIDMgMi43IDQuOGwyOS4yIDkyLjIgMTIyLjkgMCAzMC4yLTkyLjJjLjUtMS44IDEuNC0zLjQgMi42LTQuOHMyLjgtMi40IDQuNS0zLjFjMS43LS42IDMuNi0uOSA1LjQtLjdzMy42IC44IDUuMiAxLjhjMiAxLjMgMy43IDMuMyA0LjYgNS42eiJdfSxEbXQ9SW9lLEFtdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzaG9lbGFjZSIsaWNvbjpbNTEyLDUxMixbXSwiZTYwYyIsIk00MDUuMiAzMzFjMi4yLTEuMSA0LjQtMi4zIDYuNS0zLjdsOC4zLTQuOGMxLjUtMS4xIDQuNC0zLjQgOC43LTYuN2wuNS0uNWMzLjQtMy40IDcuMi01IDExLjMtNC45IDEuOCAwIDMuOSAuNSA2LjQgMS41bDMxLTI3LjVjLjktLjcgMS43LTEuMyAyLjYtMS44bC4yIDBjMy4zLTEuOSA2LTEuOCA4LjIgLjQgMy45IDIuMSA0LjIgNS42IC45IDEwLjZMNDU3LjIgMzIyYy4yIC41IC40IDEgLjQgMS41IC41IDIuMiAuMyA0LjQtLjUgNi42LS43IDEuNS0xLjggMi45LTMuMSA0LjItMS40IDEuNC0yLjcgMi44LTQuMiA0LjJMNDMxIDM1Mi4yYy0xLjcgMS4yLTMuNCAyLjMtNS4xIDMuMy0yLjEgMS4zLTQuMyAyLjUtNi42IDMuNi0xIC40LTEuOSAuOS0yLjkgMS4zLTUuOSAyLjUtMTEuOSA0LjItMTguMiA1LTIuOSAyNC41LTExLjMgNDcuMS0yNS4xIDY3LjgtMTcuNSAyNS43LTQxLjQgNDUuNC03MS44IDU4LjgtMzAuMiAxMy41LTYzIDIwLjItOTguMiAyMC4yLTQ4LjYtLjUtODgtMTEuNC0xMTguMi0zMi44LTM1LjEtMjUtNTIuNi01Ny45LTUyLjYtOTkuMWwwLTUuNmMxLjItMjguMSA5LjUtNTQuNiAyNC44LTc5LjggMTUuMS0yNC45IDM3LjEtNDEuNyA2Ni4xLTUwLjUgMTQuOS00LjQgMjkuOS02LjYgNDUtNi42IDE1LjUgMCAzMS42IDIuOSA0OC4xIDguNnMzNS4yIDE1LjUgNTUuOSAyOS41bDU0LjEgMzYuM2MxNS4xIDkuOCAyOC44IDE2LjUgNDEuMiAyMC0yLjYtMjUuMS0xMS43LTQ2LjYtMjcuMy02NC41LTE1LjctMTguMS0zNS42LTMxLjMtNTkuOS0zOS43TDI1NyAyMjBjLTIxLjQtNy41LTM3LjMtMTQuOS00Ny43LTIyLjItMjguMi0xOS4xLTQzLjgtNDUuMi00Ny03OC41bC0uNS05LjhjMC0zMi4xIDEzLTU4LjkgMzktODAuNSAyMy0xOS4zIDUwLjYtMjkgODIuNS0yOSAyNCAwIDQ1LjYgNi45IDY0LjcgMjAuOCAxOS4yIDE0IDMwLjEgMzMuOCAzMi42IDU5LjRsLjUgMTBjMCAxOC42LTQuOCAzNC41LTE0LjQgNDcuNy05LjggMTMuMi0xOC41IDE5LjktMjYgMTkuOS0xLjYtLjEtMy4xLS4zLTQuNS0uNmwtMzQgMzJjLTUuNSAzLTkuMiAyLjUtMTEuMS0xLjYtMS45LTIuMi0xLjgtNC45IC41LTguMmwuMi0uMmMuNS0uNyAxLjItMS41IDItMi40bDMxLjYtMzBjLS40LTEuNS0uNi0zLjEtLjYtNC44IDAtNC4xIDEuNi03LjYgNC45LTEwLjQgMTMuOC0xMi40IDIwLjgtMjYuNyAyMC44LTQyLjggMC0xNi02LjEtMjkuNS0xOC4yLTQwLjRzLTI4LjctMTYuNS00OS43LTE2LjhjLTI2LjIgMC00Ny44IDcuOS02NC43IDIzLjdTMTkyLjYgODkuOSAxOTIuNiAxMTJjMCAxNy44IDYuOSAzMy45IDIwLjYgNDguMyAxMy42IDE0LjIgMzQuNiAyNS40IDYzIDMzLjUgMzkuOCAxMS41IDcwLjIgMzEgOTEuMyA1OC4zIDE4LjcgMjQuMiAyOS4xIDUxLjMgMzEuMyA4MS40IDIuMi0uNyA0LjMtMS41IDYuNS0yLjZsLS4xIC4xek0yOTQuNCAxNzguN2MwIDEuMSAuNiAxLjYgMS44IDEuNiAuMSAwIDkuNy04LjkgMjguOC0yNi42IDAtMi40LTUuMSAuOS0xNS4zIDEwLTEwLjIgOS4yLTE1LjMgMTQuMi0xNS4zIDE0LjlsMCAuMXptOCA2LjRjMC0xLS41LTEuNS0xLjUtMS41LTEuMSAwLTIuMSAuNS0yLjkgMS42LTEuOS0uMS0zLjMgLjEtNC4yIC43LS40IC4yLS41IC41LS41IC43IDAgLjcgLjUgMS4zIDEuNSAxLjZsMy4zIDBjMi45LTEuMSA0LjQtMi4yIDQuNC0zLjNsLS4xIC4yek0zMjUgMTY1LjJjMC0yLjgtMS42LTIuOC00LjkgMC0xLjYgMS41LTMuNiAzLjUtNiA2LjItLjggLjYtMi42IDIuMi01LjMgNC45LTIuOCAyLjktNC4yIDQuNy00LjIgNS4zbC4yIDEuM2MuNyAuMiAxLjIgLjQgMS41IC40IC4xIDAgMy4zLTIuOSA5LjUtOC43czkuMy04LjkgOS4zLTkuM2wtLjEtLjF6bTE1OS43IDEyMGwtMzAuNiAyN2MxLjggMSAzLjIgMi40IDQgNC4ybDMwLjItMjdjLjItMS4yIC4xLTIuMi0uNS0yLjktLjYtLjUtMS42LS45LTMuMS0xLjN6bS0xLjYtLjlsLS43LS43LTI3IDIxLjkgMS42IDIgMjYtMjMuMSAuMS0uMXpNMzY2LjkgMzYzLjljLTgtMi4xLTE1LjQtNC42LTIyLjItNy41LTE1LjMtNi4yLTM0LjMtMTctNTctMzIuNGwtMzcuNC0yNS4zYy0xNS44LTEwLjEtMzAuMi0xNy42LTQzLjItMjIuNi0xMy4xLTQuOS0yNi03LjMtMzguNi03LjNsLTUuNSAwYy0zMi4yIDEuNy01Ny4yIDEzLjgtNzUgMzYuMi0xNi42IDIwLjgtMjUgNDUuMy0yNSA3My42IDAgMzEuOCAxMi44IDU2LjcgMzguMiA3NC43IDI1LjQgMTguMSA2MC4yIDI3LjEgMTA0LjQgMjcuMSAzNC43IDAgNjQtNi4yIDg3LjgtMTguNiAyMy43LTEyLjQgNDIuMS0yOC44IDU1LjItNDkuMiA5LjgtMTUuNSAxNS45LTMxLjggMTguMi00OC44bC4xIC4xeiJdfSxQbXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib3BlbnN0cmVldG1hcCIsaWNvbjpbNTEyLDUxMixbXSwiZTg2YiIsIk02MSA0OTguN2MtNy4xLTEuOC0xMC44LTQuNy0yOS42LTIzLjYtMjIuNS0yMi40LTIzLjktMjQuNi0yMy45LTM2LjMgMC0xMy0zLjktOC40IDY3LjktODAuMyA3Mi41LTcyLjcgNjguNy02OS41IDgxLjktNjkuNSA2LjEgMCA3LjYgLjQgMTIuNSAyLjhsNS42IDIuOGMxMS43LTExLjcgMjMuNC0yMy40IDM1LjEtMzUuMWwtNC40LTYuOWMtOC42LTEzLjMtMTYuNi0zMi44LTIwLjMtNDguOS0xMC4yLTQ1LjQgLjgtOTMuMyAyOS44LTEyOS43IDUwLjEtNjIuOCAxNDAuMS03Ni43IDIwNi42LTMyIDM2LjUgMjQuNSA2MC4zIDYyLjUgNjcgMTA3IDEuNCA5LjQgMS40IDMxLjggMCA0MS44LTQuOSAzNC42LTE5LjcgNjQtNDQuNCA4OC43LTEyLjcgMTIuNy0yMyAyMC4xLTM5LjIgMjguMi0xOS4zIDkuNy0zNS43IDE0LjMtNTggMTYuMS0zMS43IDIuNi02Ni45LTYuMS05My44LTIzLjRsLTYuOS00LjRjLTExLjcgMTEuNy0yMy40IDIzLjQtMzUuMSAzNS4xbDIuOCA1LjZjMi41IDQuOSAyLjggNi40IDIuOCAxMi41IDAgMTMuMSAzLjEgOS40LTY5IDgxLjUtNTUuNiA1NS41LTY0LjEgNjMuNy02OC40IDY1LjctNS41IDIuNS0xMy45IDMuNC0xOSAyLjF6TTM1OS40IDI5Ni45YzQwLjEtNy4zIDc1LjEtMzQgOTIuNy03MC43IDI4LTU4LjQgOS4yLTEyNy00NC44LTE2My4zLTEyLjktOC43LTMwLjgtMTYtNDcuNy0xOS40LTExLjctMi40LTM2LjQtMi4xLTQ4LjYgLjUtMTguMiAzLjktMzQuOSAxMS4xLTQ5LjQgMjEuNC04LjkgNi40LTIzLjcgMjEuMS0yOS45IDI5LjktMzQuNiA0OS0zMS41IDExNC4xIDcuNyAxNTkuMyAyMC4xIDIzLjIgNDcuOCAzOC40IDc4LjYgNDMgMTAuMiAxLjUgMzEgMS4yIDQxLjUtLjh6bS0zNS41LTE3LjRjLTEzLjgtMi4yLTI1LjYtNS43LTM1LjEtMTAuNWwtNS40LTIuNyAwLTQ5LjktOS41IDBjLTguMiAwLTE5LjUgMS42LTI3LjcgNC0xLjEgLjMtMS41IDEuNi0xLjcgNC44bC0uMyA0LjQtNC4xLTcuOGMtOS0xNy4yLTEyLjItMzAuNy0xMi4yLTUxLjQgMC0xNiAxLjEtMjMuNCA1LjYtMzYuMyAyLjQtNi44IDguMi0xOC45IDEwLjgtMjIuMyAxLjEtMS41IDEuMi0xLjEgMS4zIDMuM2wwIDVjMTguOC0uMiAzNy42LS4zIDU2LjQtLjUgLjItNC43IC4zLTkuNSAuNS0xNC4ybC0xOSAwIDAtMzEgMy40LTEuN2M1LjYtMi44IDE1LjktNi43IDIxLjctOC4yIDMtLjggNi4xLTEuNiA2LjktMS44IDEuMi0uNCAxLjMgLjEgLjcgMy4zLTEuMiA2LjEtLjkgMjMgLjUgMjkgMi44IDExLjkgOS44IDIwLjcgMTkuMiAyNC4zIDUuNiAyLjEgMTYuMyAyLjYgMjIuNSAuOSA1LjktMS42IDEyLjUtNi40IDE1LjktMTEuNSA1LTcuNSA2LjctMTQuMSA3LjItMjcuMWwuNC0xMS40IDcgMy42YzggNC4yIDE3LjggMTEuMiAyNC45IDE4IDQuOCA0LjYgNSA0LjggNSA5LjJsMCA0LjUtMTguOSAwIDAgMTQuNiAzNSAwYzEuMyAyLjYgMi41IDUuMiAzLjggNy43bC05LjcgMGMtNi43IDAtMTIuNyAuNi0xOS40IDEuOWwtOS43IDEuOSAwIDcuMWMwIDMuOSAuMiA3LjEgLjMgNy4xczQuMS0uOCA4LjctMS43IDguNy0xLjcgOS4xLTEuN2MuNCAwIC44IDExLjMgLjggMjUuOGwwIDI1LjhjLTYuMiAuMi0xMi4zIC4zLTE4LjUgLjUtLjIgNC43LS4zIDkuNC0uNSAxNC4yIDEzLjUgLjIgMjcgLjMgNDAuNCAuNS0xIDIuMy0yIDQuNS0zIDYuOGwtMTAuNyAuMWMtOS45IC4xLTExLjEgLjItMTUuNiAyLjUtMTEuOCA1LjgtMTguMSAxOC45LTE4LjMgMzcuOWwtLjEgOS4zLTUuOCAzYy01IDIuNi0yMi42IDktMjQuOSA5LS41IDAtLjgtMTItLjgtMzAuNmwwLTMwLjYtOS40IDBjLTYgMC0xMi40IC42LTE3LjkgMS43LTEyLjYgMi42LTExLjUgMS43LTExLjUgOS41IDAgNSAuMyA2LjggMS4xIDYuOCAuNiAwIDQuNi0uOCA4LjgtMS43czgtMS43IDguMy0xLjcgLjYgMTEgLjYgMjQuNWwwIDI0LjUtNy41LS4xYy00LjEtLjEtOC41LS4zLTkuNy0uNXptLTM5LjQtNzEuNmM4LjktMy45IDE1LjYtMTIuOSAxOC4zLTI0LjQgMS42LTYuOSAxLjctMjIuNiAwLTMwLjItMi41LTEyLTkuNi0yMS4xLTE5LjMtMjQuOC02LjktMi42LTE4LjQtMi42LTI1LjMgMC05LjcgMy43LTE2LjQgMTIuOC0xOS4yIDI1LjYtMS42IDcuNS0xLjYgMjEuNCAwIDI4LjkgMi42IDEyLjUgMTAuNSAyMi4zIDIwLjYgMjUuNiA3IDIuMyAxOC45IDIgMjQuOS0uN3ptLTE5LjktMTQuNWMtMy41LTMtNS4yLTguOS01LjgtMjAuNi0uNi0xMC41IC42LTIxLjMgMi45LTI2IDItNC4zIDUuOC02LjQgMTAuNC02IDcuNCAuOCAxMC4zIDYuNSAxMS4xIDIyLjUgLjkgMTYuNy0xLjkgMjguOS03IDMxLjMtMy45IDEuOC04LjYgMS4zLTExLjYtMS4yem05NC45IDE1LjFjMTUtNC42IDIyLjgtMjAuMSAyMS45LTQzLjUtLjgtMTkuOS03LjktMzIuMS0yMS41LTM3LjItNS43LTIuMS0xOC0xLjgtMjQgLjUtOS42IDMuNy0xNi40IDEyLjQtMTkuMyAyNC43LTIgOC42LTEuMyAyOCAxLjMgMzUuMiA0IDExLjMgMTEuNiAxOC43IDIxLjQgMjEgNS44IDEuNCAxNC40IDEgMjAuMy0uOHptLTE2LjctMTQuMmMtNS0yLjctNy4zLTEzLjItNi41LTMwLjEgLjYtMTIuOCAxLjUtMTYuNyA0LjgtMjAuNCA0LjctNS4zIDEzLjYtMy44IDE2LjcgMi44IDMuNCA3LjMgNCAzMC4xIDEgNDAuMi0xLjcgNS43LTUuMiA4LjgtMTAuMSA4LjctMiAwLTQuNi0uNi01LjgtMS4zem0tODUuMiA1MS41Yy03LjMtNy42LTkuOS0xMS40LTguNC0xMS45IDIuOS0uOSAxMy45LTMuMSAxNC4yLTIuOCAuMiAuMiAuMiA0LjkgLjEgMTAuNGwtLjIgMTAuMS01LjYtNS45em0xNTYuNC0xLjJjLjctNiAzLjEtMTEuNSA1LjctMTMuMiAyLjktMS44IDYuNC0yLjYgOC0xLjcgMS4yIC43IC45IDEuNS0yLjQgNS45LTIuMSAyLjgtNS42IDctNy44IDkuNGwtNCA0LjMgLjUtNC43ek00MzguNCAxNjFsLjEtMzIuOSAyLjYgNy43YzUuMSAxNS4zIDYuOSAzMS44IDUuMSA0Ni42LTEuNCAxMS42LTEuNCAxMS41LTQuOSAxMS41bC0zIDAgLjEtMzIuOXpNMzQ0IDEwNi4yYy0yLjYtMS01LjMtNC44LTYuNS05LTEuMi00LTEuNS0yOC41LS40LTMzLjUgLjYtMyAuOS0zLjIgMy44LTMuMiA2LjIgMCAxOC4zIDIgMTguNyAzLjEgLjIgLjYgLjcgNC45IDEgOS41IC43IDkuNy0uNyAyMy4yLTIuOCAyNy42LTIuNCA1LjEtOC41IDcuNS0xMy43IDUuM3ptLTk0LjMtMi40Yy40LS44IDMuNy00LjYgNy4zLTguNGw2LjUtNi45YzAgNS42IDAgMTEuMiAuMSAxNi44bC03LjMgMGMtNi43IDAtNy4zLS4xLTYuNS0xLjV6bTM0LjQgMzQxLjdjLTI0LTYuOS00My45LTEyLjktNDQuMi0xMy4xLS41LS42IDI0LjMtODguNSAyNS4zLTg5LjYgLjUtLjUgODUuNCAyMy4zIDg4LjkgMjQuOSAxLjIgLjYtLjEgNS44LTEwLjYgNDIuNC02LjYgMjMtMTIuNCA0My4yLTEyLjggNDVzLTEuNCAzLjItMS45IDMuMS0yMC43LTUuOC00NC43LTEyLjd6TTM0Mi44IDQ1NmMwLTEuMSAyNC43LTg3LjMgMjUuMS04Ny42IC45LS43IDg3LjEtMjQuNyA4Ny40LTI0LjQgLjQgLjQtMjQuMSA4Ny4zLTI0LjcgODcuOS0uNCAuMy04My4yIDI0LTg1LjggMjQuNS0xLjEgLjItMS45IC4xLTEuOS0uNHpNMTk5LjYgNDE3LjVjMTctMTcuMSAzMi4yLTMyLjcgMzMuNy0zNC43IDMuNC00LjUgOC4yLTE0LjggOS41LTIwLjUgLjUtMi40IDEuMS03LjEgMS4yLTEwLjVsLjItNi4yIDMuNy0xYzItLjYgMy44LS45IDQtLjcgLjUgLjUtMjQuMyA4Ny0yNS4xIDg3LjgtLjQgLjMtMTMuNiA0LjMtMjkuNCA4LjhsLTI4LjcgOC4yIDMxLTMxLjF6bTE2Ni45LTYxLjZjLS4yLS4zLS43LTItMS4yLTMuN2wtLjktMy4yIDMuMi0uNWMyNy00LjYgNTUuOS0xNy4zIDc4LjctMzQuNSAzLjMtMi41IDUuMS0zLjQgNS4zLTIuNyAxLjEgMy4zIDUuNSAxOS4xIDUuNCAxOS4zLS43IC43LTkwLjIgMjUuOC05MC41IDI1LjR6TTYyLjkgMzI5LjhjLTEtLjgtMjMuOC03Ny45LTI1LjUtODYuNC0uMy0xLjcgMy0uOSA0My44IDEwLjggNDIuNyAxMi4yIDQ0LjIgMTIuNyA0NC44IDE0LjkgLjUgMiAuMiAyLjYtMi41IDQuNS0xLjcgMS4yLTE1LjUgMTQuNi0zMC43IDI5LjhzLTI3LjggMjcuNi0yOCAyNy42LTEuMS0uNS0xLjgtMS4xem0xNi41LTg4LjJjLTIzLjktNi45LTQzLjUtMTIuNi00My42LTEyLjYtLjMtLjIgMjUuMy04OS4zIDI1LjktODkuOCAuNC0uNCA4OS4xIDI0LjQgOTAgMjUuMiAuMiAuMi01LjQgMjAuNS0xMi40IDQ1LjEtMTEuNiA0MC43LTEyLjkgNDQuOC0xNC41IDQ0LjctMSAwLTIxLjMtNS43LTQ1LjItMTIuNnptNTkuNiAxMC44Yy4yLS42IDQuMy0xNC41IDguOS0zMC45bDguNS0yOS43IDEuMSA2LjVjMS45IDExLjIgNS4zIDIzLjkgOS4zIDM1LjEgMi4xIDUuOSAzLjggMTAuOSAzLjYgMTFzLTYuNyAyLTE0LjUgNC4zLTE0LjkgNC4yLTE1LjggNC41Yy0xLjEgLjMtMS41IC4xLTEuMi0uN3pNMTA2IDEzOS4xYy0yMy45LTYuOS00My43LTEyLjgtNDMuOS0xMy4yLS44LTEuMy0yNS4xLTg3LTI0LjctODcuNCAuNS0uNSA4Ni44IDI0LjMgODcuNiAyNS4xIC45IDEgMjUuOCA4OC4yIDI1LjEgODgtLjMgMC0yMC4xLTUuNy00NC0xMi42em00My4yLTM0LjVDMTM2LjUgNjAgMTM5IDY4LjggMTM3LjIgNjIuNWwzNC4xLTkuN2MxOC44LTUuNCAzNC43LTkuOSAzNS40LTEwLjJzLTEuNiAyLjgtNS4yIDYuOGMtMTkuMSAyMS4zLTMxLjUgNDQtMzkuNCA3MS45LTEuNSA1LjItMi43IDEwLjMtMi43IDExLjMgMCA1LjktMi4zLS41LTEwLjItMjh6Il19LEVtdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzZWxsY2FzdCIsaWNvbjpbNDQ4LDUxMixbXSwiZjJkYSIsIk0zNTMuNSAzMkw5NC44IDMyQzQyLjcgMzIgLjEgNzQuNiAuMSAxMjYuNmwwIDI1OC43Qy4xIDQzNy40IDQyLjcgNDgwIDk0LjggNDgwbDI1OC43IDBjNTIuMSAwIDk0LjctNDIuNiA5NC43LTk0LjZsMC0yNTguOGMwLTUyLTQyLjYtOTQuNi05NC43LTk0LjZ6bS01MCAzMTYuNGMtMjcuOSA0OC4yLTg5LjkgNjQuOS0xMzguMiAzNy4yLTIyLjkgMzkuOC01NC45IDguNi00Mi4zLTEzLjJsMTUuNy0yNy4yYzUuOS0xMC4zIDE5LjItMTMuOSAyOS41LTcuOSAxOC42IDEwLjgtLjEtLjEgMTguNSAxMC43IDI3LjYgMTUuOSA2My40IDYuMyA3OS40LTIxLjMgMTUuOS0yNy42IDYuMy02My40LTIxLjMtNzkuNC0xNy44LTEwLjItLjYtLjQtMTguNi0xMC42LTI0LjYtMTQuMi0zLjQtNTEuOSAyMS42LTM3LjUgMTguNiAxMC44LS4xLS4xIDE4LjUgMTAuNyA0OC40IDI4IDY1LjEgOTAuMyAzNy4yIDEzOC41em0yMS44LTIwOC44Yy0xNyAyOS41LTE2LjMgMjguOC0xOSAzMS41LTYuNSA2LjUtMTYuMyA4LjctMjYuNSAzLjYtMTguNi0xMC44IC4xIC4xLTE4LjUtMTAuNy0yNy42LTE1LjktNjMuNC02LjMtNzkuNCAyMS4zcy02LjMgNjMuNCAyMS4zIDc5LjRjMCAwIDE4LjUgMTAuNiAxOC42IDEwLjYgMjQuNiAxNC4yIDMuNCA1MS45LTIxLjYgMzcuNS0xOC42LTEwLjggLjEgLjEtMTguNS0xMC43LTQ4LjItMjcuOC02NC45LTkwLjEtMzcuMS0xMzguNCAyNy45LTQ4LjIgODkuOS02NC45IDEzOC4yLTM3LjJsNC44LTguNGMxNC4zLTI0LjkgNTItMy4zIDM3LjcgMjEuNXoiXX0sSW10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1peCIsaWNvbjpbNDQ4LDUxMixbXSwiZjNjYiIsIk0wIDY0TDAgNDEyLjljMCA1Ni4yIDg4IDU4LjEgODggMGwwLTIzOC42YzcuOS01Mi45IDg4LTUwLjQgODggNi41bDAgMTc1LjNjMCA1Ny45IDk2IDU4IDk2IDBMMjcyIDI0MGM1LjMtNTQuNyA4OC01Mi41IDg4IDQuM2wwIDIzLjhjMCA1OS45IDg4IDU2LjYgODggMEw0NDggNjQgMCA2NHoiXX0sTm10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLWFwcGxlLXBheSIsaWNvbjpbNTc2LDUxMixbXSwiZjQxNiIsIk0zMDIuMiAyMTguNGMwIDE3LjItMTAuNSAyNy4xLTI5IDI3LjFsLTI0LjMgMCAwLTU0LjIgMjQuNCAwYzE4LjQgMCAyOC45IDkuOCAyOC45IDI3LjF6TTM0OS43IDI4MWMwIDguMyA3LjIgMTMuNyAxOC41IDEzLjcgMTQuNCAwIDI1LjItOS4xIDI1LjItMjEuOWwwLTcuNy0yMy41IDEuNWMtMTMuMyAuOS0yMC4yIDUuOC0yMC4yIDE0LjR6TTU3NiA3OWwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA0NzljLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgNzlDMCA1Mi41IDIxLjUgMzEgNDggMzFsNDgwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDh6TTEyNy44IDE5Ny4yYzguNCAuNyAxNi44LTQuMiAyMi4xLTEwLjQgNS4yLTYuNCA4LjYtMTUgNy43LTIzLjctNy40IC4zLTE2LjYgNC45LTIxLjkgMTEuMy00LjggNS41LTguOSAxNC40LTcuOSAyMi44em02MC42IDc0LjVjLS4yLS4yLTE5LjYtNy42LTE5LjgtMzAtLjItMTguNyAxNS4zLTI3LjcgMTYtMjguMi04LjgtMTMtMjIuNC0xNC40LTI3LjEtMTQuNy0xMi4yLS43LTIyLjYgNi45LTI4LjQgNi45LTUuOSAwLTE0LjctNi42LTI0LjMtNi40LTEyLjUgLjItMjQuMiA3LjMtMzAuNSAxOC42LTEzLjEgMjIuNi0zLjQgNTYgOS4zIDc0LjQgNi4yIDkuMSAxMy43IDE5LjEgMjMuNSAxOC43IDkuMy0uNCAxMy02IDI0LjItNiAxMS4zIDAgMTQuNSA2IDI0LjMgNS45IDEwLjItLjIgMTYuNS05LjEgMjIuOC0xOC4yIDYuOS0xMC40IDkuOC0yMC40IDEwLTIxem0xMzUuNC01My40YzAtMjYuNi0xOC41LTQ0LjgtNDQuOS00NC44bC01MS4yIDAgMCAxMzYuNCAyMS4yIDAgMC00Ni42IDI5LjMgMGMyNi44IDAgNDUuNi0xOC40IDQ1LjYtNDV6bTkwIDIzLjdjMC0xOS43LTE1LjgtMzIuNC00MC0zMi40LTIyLjUgMC0zOS4xIDEyLjktMzkuNyAzMC41bDE5LjEgMGMxLjYtOC40IDkuNC0xMy45IDIwLTEzLjkgMTMgMCAyMC4yIDYgMjAuMiAxNy4ybDAgNy41LTI2LjQgMS42Yy0yNC42IDEuNS0zNy45IDExLjYtMzcuOSAyOS4xIDAgMTcuNyAxMy43IDI5LjQgMzMuNCAyOS40IDEzLjMgMCAyNS42LTYuNyAzMS4yLTE3LjRsLjQgMCAwIDE2LjQgMTkuNiAwIDAtNjggLjEgMHpNNTE2IDIxMC45bC0yMS41IDAtMjQuOSA4MC42LS40IDAtMjQuOS04MC42LTIyLjMgMCAzNS45IDk5LjMtMS45IDZjLTMuMiAxMC4yLTguNSAxNC4yLTE3LjkgMTQuMi0xLjcgMC00LjktLjItNi4yLS4zbDAgMTYuNGMxLjIgLjQgNi41IC41IDguMSAuNSAyMC43IDAgMzAuNC03LjkgMzguOS0zMS44TDUxNiAyMTAuOXoiXX0sUm10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNvbGFuYSIsaWNvbjpbNTEyLDUxMixbXSwiZTg1ZSIsIk01MTAuNSAzODUuMmwtODQuOSA4OC43Yy0xLjggMS45LTQuMSAzLjUtNi42IDQuNXMtNS4yIDEuNi03LjkgMS42TDguOSA0ODBjLTEuOSAwLTMuOC0uNS01LjQtMS42cy0yLjktMi41LTMuNi00LjItMS0zLjYtLjctNS41IDEuMi0zLjYgMi41LTQuOWw4NC45LTg4LjdjMS44LTEuOSA0LjEtMy41IDYuNS00LjVzNS4xLTEuNiA3LjgtMS42bDQwMi40IDBjMS45IDAgMy44IC41IDUuNCAxLjZzMi45IDIuNSAzLjYgNC4yIDEgMy42IC43IDUuNS0xLjIgMy42LTIuNSA0Ljl6TTQyNS43IDIwNi42Yy0xLjgtMS45LTQuMS0zLjUtNi42LTQuNXMtNS4yLTEuNi03LjktMS42bC00MDIuNCAwYy0xLjkgMC0zLjggLjUtNS40IDEuNnMtMi45IDIuNS0zLjYgNC4yLTEgMy42LS43IDUuNSAxLjIgMy42IDIuNSA0LjlsODQuOSA4OC43YzEuOCAxLjkgNC4xIDMuNSA2LjUgNC41czUuMSAxLjYgNy44IDEuNmw0MDIuNCAwYzEuOSAwIDMuOC0uNSA1LjQtMS42czIuOS0yLjUgMy42LTQuMiAxLTMuNiAuNy01LjUtMS4yLTMuNi0yLjUtNC45bC04NC45LTg4Ljd6TTguOSAxNDIuOWw0MDIuNCAwYzIuNyAwIDUuNC0uNSA3LjktMS42czQuNy0yLjYgNi42LTQuNWw4NC45LTg4LjdjMS4zLTEuNCAyLjItMy4xIDIuNS00LjlzLjEtMy43LS43LTUuNS0yLTMuMi0zLjYtNC4yLTMuNS0xLjYtNS40LTEuNkwxMDEgMzJjLTIuNyAwLTUuNCAuNS03LjggMS42cy00LjcgMi42LTYuNSA0LjVMMS43IDEyNi44Yy0xLjMgMS40LTIuMiAzLjEtMi41IDQuOXMtLjEgMy43IC43IDUuNSAyIDMuMiAzLjYgNC4yIDMuNSAxLjYgNS40IDEuNnoiXX0sRm10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InR5cGVzY3JpcHQiLGljb246WzQ0OCw1MTIsW10sImU4NDAiLCJNMTYuOCAzMmw0MTQuNCAwYzkuMyAwIDE2LjggNy41IDE2LjggMTYuOGwwIDQxNC40YzAgOS4zLTcuNSAxNi44LTE2LjggMTYuOEwxNi44IDQ4MEM3LjUgNDgwIDAgNDcyLjUgMCA0NjMuMkwwIDQ4LjhDMCAzOS41IDcuNSAzMiAxNi44IDMyek0yNDkgMjcwLjNsMC0zNi43LTE1OS40IDAgMCAzNi43IDU2LjkgMCAwIDE2My42IDQ1LjMgMCAwLTE2My42IDU3LjIgMHptMTguMSAxNTkuM2M3LjMgMy43IDE1LjkgNi41IDI1LjkgOC40czIwLjUgMi44IDMxLjUgMi44YzEwLjggMCAyMS0xIDMwLjctMy4xczE4LjItNS40IDI1LjUtMTAuMSAxMy4xLTEwLjkgMTcuNC0xOC40IDYuNC0xNyA2LjQtMjguMmMwLTguMS0xLjItMTUuMi0zLjctMjEuM3MtNS45LTExLjUtMTAuNS0xNi4zLTEwLjEtOS0xNi41LTEyLjgtMTMuNy03LjMtMjEuNy0xMC43Yy01LjktMi40LTExLjItNC44LTE1LjktNy4xcy04LjctNC42LTExLjktNy01LjgtNC45LTcuNi03LjUtMi43LTUuNy0yLjctOWMwLTMuMSAuOC01LjggMi40LTguM3MzLjgtNC42IDYuNy02LjQgNi41LTMuMSAxMC43LTQuMSA4LjktMS41IDE0LjEtMS41YzMuNyAwIDcuNyAuMyAxMS45IC44czguNCAxLjQgMTIuNiAyLjYgOC4zIDIuNiAxMi4zIDQuNCA3LjcgMy44IDExIDYuMWwwLTQxLjhjLTYuOC0yLjYtMTQuMy00LjUtMjIuNC01LjhzLTE3LjQtMS45LTI3LjktMS45Yy0xMC43IDAtMjAuOCAxLjEtMzAuNCAzLjRzLTE4IDUuOC0yNS4yIDEwLjctMTMgMTEtMTcuMiAxOC41LTYuMyAxNi41LTYuMyAyNi45YzAgMTMuMyAzLjkgMjQuNyAxMS42IDM0LjFzMTkuNSAxNy40IDM1LjIgMjMuOWM2LjIgMi41IDExLjkgNSAxNy4zIDcuNHMxMCA0LjkgMTMuOCA3LjUgNyA1LjQgOS4yIDguNSAzLjQgNi42IDMuNCAxMC41YzAgMi45LS43IDUuNi0yLjEgOHMtMy41IDQuNi02LjQgNi40LTYuNCAzLjItMTAuNyA0LjMtOS4zIDEuNS0xNSAxLjVjLTkuNyAwLTE5LjQtMS43LTI4LjktNS4xcy0xOC40LTguNS0yNi42LTE1LjNsMCA0NC43eiJdfSxPbXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYnJhdmUiLGljb246WzQ0OCw1MTIsW10sImU2M2MiLCJNMTQ1LjYgMGwxNTcgMCA0NC43IDUwLjhzMzkuMy0xMC45IDU3LjggNy42IDMzLjggMzQuOSAzMy44IDM0LjlsLTEyIDI5LjUgMTUuMyA0My43cy00NC45IDE3MC4yLTUwLjEgMTkxYy0xMC40IDQwLjktMTcuNCA1Ni44LTQ2LjkgNzcuNXMtODIuOSA1Ni44LTkxLjYgNjIuMmMtMS45IDEuMi0zLjkgMi41LTUuOSAzLjktNy41IDUuMS0xNS44IDEwLjgtMjMuNSAxMC44cy0xNi4xLTUuNy0yMy41LTEwLjhjLTItMS40LTQtMi44LTUuOS0zLjktOC43LTUuNS02Mi4xLTQxLjUtOTEuNi02Mi4ycy0zNi41LTM2LjYtNDYuOS03Ny41Yy01LjMtMjAuOC01MC4xLTE5MS01MC4xLTE5MUwyMS41IDEyMi44IDkuMyA5My4zczE1LjMtMTYuNCAzMy44LTM0LjkgNTcuOC03LjYgNTcuOC03LjZMMTQ1LjYgMHptNzguNSA0MDcuNmMzLjcgMCA4LjktNC43IDEzLTguNCAuNi0uNSAxLjItMS4xIDEuNy0xLjUgNC4yLTMuNyA0Ny44LTM3LjUgNTEtMzkuOHM1LjQtNi41IDEuOS04LjdjLTIuOC0xLjctMTAtNS41LTIwLjMtMTAuOC0zLTEuNi02LjMtMy4yLTkuNy01LTE1LjQtOC0zNC41LTE0LjctMzcuNS0xNC43cy0yMi4xIDYuOC0zNy41IDE0LjdjLTMuNSAxLjgtNi43IDMuNS05LjcgNS0xMC4zIDUuMy0xNy42IDkuMS0yMC4zIDEwLjgtMy42IDIuMi0xLjQgNi40IDEuOSA4LjdzNDYuOCAzNi4xIDUxIDM5LjhjLjUgLjUgMS4xIDEgMS43IDEuNSA0LjEgMy43IDkuMyA4LjQgMTMgOC40bC0uMiAwem0wLTE2NS43YzQuNyAwIDE3LjYtMyAyNi40LTVsMi0uNWM3LjgtMS44IDcuMy02LjMgNi40LTEzLS4xLS44LS4yLTEuNi0uMy0yLjQtLjYtNi4xLTUuOC0zMy4xLTkuMS01MC4zLTEuMS01LjgtMi0xMC41LTIuNC0xMi45LTEuNS04LjEtLjYtOS40IC43LTExLjMgLjItLjMgLjUtLjcgLjctMS4xIDEuNC0yLjMgMTYtNi4yIDI3LjktOS41IDIuNS0uNyA0LjgtMS4zIDYuOS0xLjkgMTAuNi0zIDMyLjQtLjYgNDQuMiAuNiAxLjggLjIgMy40IC40IDQuNyAuNSA5LjYgLjkgMTAuNCAyLjMgNy4yIDMuOC0yLjMgMS4xLTE2LjIgNi4zLTI4LjcgMTAuOS00LjcgMS44LTkuMiAzLjUtMTIuOCA0LjgtMS41IC41LTMgMS4xLTQuNSAxLjctMTIuNSA0LjYtMjcuMiAxMC0yOC45IDE5LjQtMS41IDguMyA1LjIgMTkuOSAxMS4zIDMwLjMgMS42IDIuOCAzLjIgNS41IDQuNiA4LjEgNi4zIDExLjkgNi41IDEzLjMgNi4xIDE4LjEtLjQgMy45LTE0LjUgMTIuNy0yMi40IDE3LjYtMS44IDEuMS0zLjMgMi4xLTQuMiAyLjctLjggLjUtMi4xIDEuNC0zLjggMi40LTguNiA1LjItMjYuMyAxNi0yNi4zIDIyLjUgMCA3LjggMjQuNiAyOC4xIDMyLjQgMzMuMnMyOC45IDE2LjEgMzcuOSAxNy44IDIzLTguNSAzMS4yLTIzLjhjNy43LTE0LjQgMS43LTI4LjUtMy4yLTQwbC0uOS0yLjJjLTQuNS0xMC42IDEuOS0xNyA2LjItMjEuMyAuNS0uNSAxLTEgMS40LTEuNGw0My00NS43YzEuMy0xLjMgMi41LTIuNiAzLjctMy44IDUuOC01LjcgMTAuOC0xMC41IDEwLjgtMjIuOCAwLTE0LjktNTcuNS04NC41LTU3LjUtODQuNXMtNDguNSA5LjMtNTUuMSA5LjNjLTUuMiAwLTE1LjMtMy41LTI1LjgtNy4xLTIuNy0uOS01LjQtMS45LTgtMi43LTEzLTQuMy0yMS44LTQuNC0yMS44LTQuNHMtOC43IDAtMjEuOCA0LjRjLTIuNyAuOS01LjQgMS44LTggMi43LTEwLjUgMy42LTIwLjYgNy4xLTI1LjggNy4xLTYuNSAwLTU1LjEtOS4zLTU1LjEtOS4zcy01Ny41IDY5LjYtNTcuNSA4NC41YzAgMTIuMyA0LjkgMTcuMSAxMC44IDIyLjggMS4yIDEuMiAyLjUgMi40IDMuNyAzLjhsNDMuMSA0NS44Yy40IC41IC45IC45IDEuNCAxLjQgNC4zIDQuMyAxMC42IDEwLjcgNi4yIDIxLjNsLS45IDIuMmMtNC45IDExLjUtMTEgMjUuNi0zLjIgNDAgOC4yIDE1LjMgMjIuMiAyNS41IDMxLjIgMjMuOHMzMC4xLTEyLjcgMzcuOS0xNy44IDMyLjQtMjUuNCAzMi40LTMzLjJjMC02LjUtMTcuNy0xNy4zLTI2LjMtMjIuNS0xLjctMS0zLjEtMS45LTMuOC0yLjQtLjktLjYtMi40LTEuNS00LjItMi43LTcuOS00LjktMjItMTMuNy0yMi40LTE3LjYtLjQtNC44LS4zLTYuMiA2LjEtMTguMSAxLjMtMi41IDIuOS01LjMgNC42LTguMSA2LTEwLjQgMTIuOC0yMiAxMS4zLTMwLjMtMS43LTkuNC0xNi40LTE0LjgtMjguOS0xOS40LTEuNi0uNi0zLjEtMS4xLTQuNS0xLjctMy42LTEuNC04LjEtMy4xLTEyLjgtNC44bC0uMSAwYy0xMi41LTQuNy0yNi40LTkuOS0yOC43LTEwLjktMy4yLTEuNS0yLjMtMi44IDcuMi0zLjggMS4zLS4xIDIuOS0uMyA0LjctLjUgMTEuOC0xLjMgMzMuNi0zLjYgNDQuMi0uNiAyLjEgLjYgNC40IDEuMiA2LjkgMS45IDExLjkgMy4yIDI2LjUgNy4yIDI3LjkgOS41IC4yIC40IC41IC43IC43IDEuMSAxLjMgMS45IDIuMiAzLjIgLjcgMTEuMy0uNCAyLjQtMS4zIDcuMS0yLjQgMTIuOS0zLjMgMTcuMi04LjUgNDQuMi05LjEgNTAuMy0uMSAuOC0uMiAxLjctLjMgMi40LS44IDYuNy0xLjQgMTEuMiA2LjQgMTNsMiAuNWM4LjggMiAyMS44IDUgMjYuNCA1bDAtLjF6Il19LEJtdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJldHN5IixpY29uOlszODQsNTEyLFtdLCJmMmQ3IiwiTTM4NCAzNDhjLTEuOCAxMC43LTEzLjggMTEwLTE1LjUgMTMyLTExNy45LTQuMy0yMTkuOS00LjctMzY4LjUgMGwwLTI1LjVjNDUuNS04LjkgNjAuNi04IDYxLTM1LjIgMS44LTcyLjMgMy41LTI0NC4xIDAtMzIyLTEtMjguNS0xMi4xLTI2LjgtNjEtMzZMMCAzNS44YzczLjkgMi40IDI1NS45IDguNiAzNjMtMy44LTMuNSAzOC4yLTcuOCAxMjYuNS03LjggMTI2LjVsLTIzLjIgMEMzMjAuOSAxMTUuNyAzMTMuMiA2OCAyNzcuMyA2OGwtMTM3IDBjLTEwLjIgMC0xMC43IDMuNS0xMC43IDkuOGwwIDE2My44YzU4IC41IDg4LjUtMi41IDg4LjUtMi41IDI5LjgtMSAyNy42LTguNSA0MC43LTY1LjNsMjUuOCAwYy00LjQgMTAxLjQtMy45IDYxLjgtMS44IDE2MC4zTDI1NyAzMzRjLTkuMi00MC4xLTkuMS02MS0zOS41LTYxLjUgMCAwLTIxLjUtMi04OC0ybDAgMTM5YzAgMjYgMTQuMyAzOC4zIDQ0LjMgMzguM2w4OS4zIDBjNjMuNiAwIDY2LjYtMjUgOTguNy05OS44bDIyLjIgMHoiXX0sSG10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJ0YyIsaWNvbjpbMzg0LDUxMixbXSwiZjE1YSIsIk0zMTAuNCAyNDIuNmMyNy43LTE0LjIgNDUuNC0zOS40IDQxLjMtODEuMy01LjQtNTcuNC01Mi41LTc2LjYtMTE0LjgtODEuOWwwLTc5LjQtNDguNSAwIDAgNzcuMmMtMTIuNiAwLTI1LjUgLjMtMzguNCAuNmwwLTc3LjgtNDguNSAwIDAgNzkuNGMtMTcuOCAuNS0zOC42IC4zLTk3LjQgMGwwIDUxLjdjMzguMy0uNyA1OC40LTMuMSA2MyAyMS40bDAgMjE3LjRjLTIuOSAxOS41LTE4LjUgMTYuNy01My4zIDE2LjFMNCA0NDMuN2M4OC41IDAgOTcuNCAuMyA5Ny40IC4zbDAgNjggNDguNSAwIDAtNjcuMWMxMy4yIC4zIDI2LjIgLjMgMzguNCAuM2wwIDY2LjcgNDguNSAwIDAtNjhjODEuMy00LjQgMTM1LjYtMjQuOSAxNDIuOS0xMDEuNSA1LjctNjEuNC0yMy4zLTg4LjktNjkuMy05OS45ek0xNTAuOCAxMzQuNmMyNy40IDAgMTEzLjEtOC41IDExMy4xIDQ4LjUgMCA1NC41LTg1LjcgNDguMi0xMTMuMSA0OC4ybDAtOTYuN3ptMCAyNTEuOGwwLTEwNi41YzMyLjggMCAxMzMuMS05LjEgMTMzLjEgNTMuMyAwIDYwLjItMTAwLjQgNTMuMy0xMzMuMSA1My4zeiJdfSxxbXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYWRuIixpY29uOls1MTIsNTEyLFtdLCJmMTcwIiwiTTI1NiAxNjcuNWw2NC45IDk4LjgtMTI5LjggMCA2NC45LTk4Ljh6TTggMjU2YTI0OCAyNDggMCAxIDEgNDk2IDAgMjQ4IDI0OCAwIDEgMSAtNDk2IDB6bTM5Ni4yIDgyLjdsLTE0OC4yLTIyMy4yLTE0OC4yIDIyMy4yIDMwLjQgMCAzMy42LTUxLjcgMTY4LjYgMCAzMy42IDUxLjcgMzAuMiAweiJdfSxWbXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXgtdHdpdHRlciIsaWNvbjpbNDQ4LDUxMixbXSwiZTYxYSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem0yOTcuMSA4NGwtMTAzLjggMTE4LjYgMTIyLjEgMTYxLjQtOTUuNiAwLTc0LjgtOTcuOS04NS43IDk3LjktNDcuNSAwIDExMS0xMjYuOS0xMTcuMS0xNTMuMSA5OCAwIDY3LjcgODkuNSA3OC4yLTg5LjUgNDcuNSAwek0zMjMuMyAzNjcuNmwtMTY5LjktMjI0LjctMjguMyAwIDE3MS44IDIyNC43IDI2LjQgMHoiXX0sam10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1mb250LWF3ZXNvbWUiLGljb246WzQ0OCw1MTIsW10sImU1YWQiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptOTAgMTIyYzAgOS4zLTQuOCAxNy40LTEyLjEgMjJsMTg4LjkgMGM3LjMgMCAxMy4yIDUuOSAxMy4yIDEzLjIgMCAxLjgtLjQgMy43LTEuMSA1LjRMMzEyIDI2NCAzNDIuOSAzMzMuNGMuNyAxLjcgMS4xIDMuNSAxLjEgNS40IDAgNy4zLTUuOSAxMy4yLTEzLjIgMTMuMmwtMTg2LjggMCAwIDMyLTMyIDAgMC0yMDkuNWMtNi4xLTQuOC0xMC0xMi4yLTEwLTIwLjUgMC0xNC40IDExLjYtMjYgMjYtMjZzMjYgMTEuNiAyNiAyNnoiXX0sVW10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZvcnVtYmVlIixpY29uOls0NDgsNTEyLFtdLCJmMjExIiwiTTUuOCAzMDkuN0MyIDI5Mi43IDAgMjc1LjUgMCAyNTguMyAwIDEzNSA5OS44IDM1IDIyMy4xIDM1IDIzOS43IDM1IDI1Ni40IDM3IDI3Mi40IDQwLjUgMTQ5IDg3LjUgNTEuOSAxODYgNS44IDMwOS43ek0zOTguNyAxMjAuNWMtMTMuNy0xNy41LTI5LjctMzIuNy00Ny44LTQ1LjMtMTQ5LjYgNDQuMy0yNjYuMyAxNjIuMS0zMDkuNyAzMTIgMTIuNSAxOC4xIDI4IDM1LjYgNDUuMiA0OSA0My4xLTE1MS4zIDE2MS4yLTI3MS43IDMxMi4zLTMxNS43em0xNS44IDI1Mi43YzE1LjItMjUuMSAyNS40LTUzLjcgMjkuNS04Mi44LTc5LjQgNDIuOS0xNDUgMTEwLjYtMTg3LjYgMTkwLjMgMzAtNC40IDU4LjktMTUuMyA4NC42LTMxLjMgMzUgMTMuMSA3MC45IDI0LjMgMTA3IDMzLjYtOS4zLTM2LjUtMjAuNC03NC41LTMzLjUtMTA5Ljh6bTI5LjctMTQ1LjVjLTIuNi0xOS41LTcuOS0zOC43LTE1LjgtNTYuOC0xMzcuOSA0NS44LTI0Ni40IDE1Ni42LTI5MS4zIDI5NS4xIDE4LjEgNy42IDM3IDEyLjUgNTYuNiAxNS4yIDQ2LjMtMTE0LjEgMTM2LjgtMjA2LjggMjUwLjUtMjUzLjV6Il19LE5vZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiI0Mi1ncm91cCIsaWNvbjpbNjQwLDUxMixbImlubm9zb2Z0Il0sImUwODAiLCJNMzIwIDk2bDAgMzIwYzIxIDAgNDEuOC00LjEgNjEuMi0xMi4yczM3LTE5LjggNTEuOS0zNC43IDI2LjYtMzIuNSAzNC43LTUxLjkgMTIuMi00MC4yIDEyLjItNjEuMi00LjEtNDEuOC0xMi4yLTYxLjItMTkuOC0zNy4xLTM0LjctNTEuOS0zMi41LTI2LjYtNTEuOS0zNC43LTQwLjItMTIuMi02MS4yLTEyLjJ6TTAgMjU2TDE2MCA0MTYgMzIwIDI1NiAxNjAgOTYgMCAyNTZ6bTQ4MCAwYzAgMjEgNC4xIDQxLjggMTIuMiA2MS4yczE5LjggMzcgMzQuNyA1MS45IDMyLjUgMjYuNiA1MS45IDM0LjcgNDAuMiAxMi4yIDYxLjIgMTIuMmwwLTMyMGMtNDIuNCAwLTgzLjEgMTYuOS0xMTMuMSA0Ni45UzQ4MCAyMTMuNiA0ODAgMjU2eiJdfSxXbXQ9Tm9lLEdtdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdHVtYmxldXBvbi1jaXJjbGUiLGljb246WzUxMiw1MTIsW10sImYxYTMiLCJNMjY0IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2em0wIDE3Ny41Yy05LjggMC0xNy44IDgtMTcuOCAxNy44bDAgMTA2LjljMCA0MC45LTMzLjkgNzMuOS03NC45IDczLjktNDEuNCAwLTc0LjktMzMuNS03NC45LTc0LjlsMC00Ni41IDU3LjMgMCAwIDQ1LjhjMCAxMCA4IDE3LjggMTcuOCAxNy44czE3LjgtNy45IDE3LjgtMTcuOGwwLTEwOC40YzAtNDAgMzQuMi03Mi4xIDc0LjctNzIuMSA0MC43IDAgNzQuNyAzMi4zIDc0LjcgNzIuNmwwIDIzLjctMzQuMSAxMC4xLTIyLjktMTAuNyAwLTIwLjZjLjEtOS42LTcuOS0xNy42LTE3LjctMTcuNnpNNDMxLjYgMzA5LjFjMCA0MS40LTMzLjUgNzQuOS03NC45IDc0LjktNDEuMiAwLTc0LjktMzMuMi03NC45LTc0LjJsMC00Ni44IDIyLjkgMTAuNyAzNC4xLTEwLjEgMCA0Ny4xYzAgOS44IDggMTcuNiAxNy44IDE3LjZzMTcuOC03LjkgMTcuOC0xNy42bDAtNDggNTcuMyAwYy0uMSA0NS45LS4xIDQ2LjQtLjEgNDYuNHoiXX0sWW10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN5bWZvbnkiLGljb246WzUxMiw1MTIsW10sImY4M2QiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek0zODkuNyAxNTEuNWMtMTEuNSAuNC0xOS40LTYuNC0xOS44LTE2LjktLjMtOS4yIDYuNy0xMy40IDYuNS0xOC45LS4yLTYuNS0xMC4yLTYuOC0xMi45LTYuNy0zOS44IDEuMy00OC42IDU3LTU4LjkgMTEzLjggMjEuNCAzLjIgMzYuNi0uNyA0NS4xLTYuMiAxMi03LjctMy4zLTE1LjctMS40LTI0LjYgNC0xOC4yIDMyLjYtMTkgMzIgNS4zLS40IDE3LjktMjUuOSA0MS44LTc3LjYgMzUuNy0xMC44IDU5LjUtMTguNCAxMTUtNTguMiAxNjEuNy0yOSAzNC41LTU4LjQgMzkuOC03MS42IDQwLjMtMjQuNiAuOS00MS0xMi4zLTQxLjYtMjkuOC0uNi0xNyAxNC40LTI2LjMgMjQuMy0yNi42IDIxLjktLjggMzAuMSAyNS43IDE0LjkgMzQtMTIuMSA5LjcgLjEgMTIuNiAyLjEgMTIuNiAxMC40LS40IDE3LjMtNS41IDIyLjItOSAyNC0yMCAzMy4yLTU0LjkgNDUuNC0xMTguMyA4LjItNDkuNyAxNy03OCAxOC4yLTgyLTE2LjktMTIuNy0yNy4xLTI4LjYtNDkuOC0zNC43LTE1LjYtNC4yLTI1LjEtLjYtMzEuOCA3LjgtNy45IDEwLTUuMyAyMyAyLjQgMzAuN2wxMi42IDE0YzE1LjUgMTcuOSAyNCAzMS45IDIwLjggNTAuNi01LjEgMjkuOS00MC43IDUyLjktODIuOSAzOS45LTM2LTExLjEtNDIuNy0zNi42LTM4LjQtNTAuNiA3LjUtMjQuMiA0Mi40LTExLjcgMzQuNiAxMy42LTIuOCA4LjYtNC45IDguNy02LjMgMTMuMS00LjYgMTQuOCA0MS44IDI4LjQgNTEtMS40IDQuNS0xNC41LTUuMy0yMS43LTIyLjItMzkuOS0yOC41LTMxLjctMTYtNjUuNSAyLjktNzkuNyA1Mi44LTM5LjQgMTAwLjUgMTcuNSAxMTAuNiAyNS44IDM3LjItMTA5IDEwMC41LTEwNS41IDEwMi40LTEwNS41IDI1LjItLjggNDQuMiAxMC42IDQ0LjggMjguNiAuMiA3LjctNC4yIDIyLjYtMTkuNSAyMy4xeiJdfSxabXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2FsZXNmb3JjZSIsaWNvbjpbNjQwLDUxMixbXSwiZjgzYiIsIk0yNDkuNCAyNDUuNmwtMjYuNCAwYy43LTUuMiAzLjMtMTQuMSAxMy42LTE0LjEgNi44IDAgMTIgMy44IDEyLjcgMTQuMXpNMzg2IDIzMS44Yy0uNSAwLTE0LjEtMS44LTE0LjEgMjBzMTMuNiAyMCAxNC4xIDIwYzEzIDAgMTQuMS0xMy41IDE0LjEtMjAgMC0yMS44LTEzLjctMjAtMTQuMS0yMHpNMTQyLjggMjU1LjVjLTEuMSAuOS0yIDItMi41IDMuMnMtLjggMi43LS43IDRjMCA0LjggMi4xIDYuMSAzLjMgNyA0LjcgMy43IDE1LjEgMi4xIDIwLjkgMWwwLTE2LjljLTUuMy0xLjEtMTYuNy0yLTIwLjkgMS42ek02NDAuNSAyMzJjMCA4Ny42LTgwIDE1NC40LTE2NS40IDEzNi40LTE4LjQgMzMtNzAuNyA3MC44LTEzMi4yIDQxLjYtNDEuMiA5Ni0xNzcuOSA5Mi4yLTIxMy44LTUuMi0xMTkuNyAyMy45LTE3OC44LTEzOC40LTc1LjMtMTk5LjMtMzQuOC03OS40IDIyLjYtMTczLjYgMTE0LjMtMTczLjYgMTkuMSAwIDM3LjkgNC40IDU1IDEyLjlzMzIgMjAuNyA0My42IDM1LjhjMjAuNy0yMS40IDQ5LjQtMzQuOCA4MS4xLTM0LjggNDIuMyAwIDc5IDIzLjUgOTguOCA1OC42IDkyLjgtNDAuNyAxOTMuOCAyOC4yIDE5My44IDEyNy41ek0xMjAuOSAyNjMuOGMwLTExLjgtMTEuNy0xNS4yLTE3LjktMTcuMi01LjMtMi4xLTEzLjQtMy41LTEzLjQtOC45IDAtOS41IDE3LTYuNyAyNS4yLTIuMSAwIDAgMS4yIC43IDEuNi0uNSAuMi0uNyAyLjQtNi42IDIuNi03LjMgLjEtLjMgLjEtLjYtLjEtLjhzLS40LS41LS42LS42Yy0xMi4zLTcuNi00MC43LTguNS00MC43IDEyLjcgMCAxMi41IDExLjUgMTUuNCAxNy45IDE3LjIgNC43IDEuNiAxMy4yIDMgMTMuMiA4LjcgMCA0LTMuNSA3LjEtOS4yIDcuMS02LjkgMC0xMy41LTIuMi0xOS02LjMtLjUtLjItMS40LS43LTEuNiAuN2wtMi40IDcuNWMtLjUgLjkgLjIgMS4yIC4yIDEuNCAxLjggMS40IDEwLjMgNi42IDIyLjggNi42IDEzLjIgMCAyMS40LTcuMSAyMS40LTE4LjFsMCAwem0zMi00Mi42Yy0xMC4xIDAtMTguNyAzLjItMjEuNCA1LjItLjEgLjEtLjIgLjItLjMgLjNzLS4xIC4yLS4xIC40IDAgLjMgMCAuNCAuMSAuMyAuMiAuNGwyLjYgNy4xYy4xIC4yIC4yIC41IC41IC42cy41IC4yIC43IC4xYy42IDAgNi44LTQgMTYuOS00IDQgMCA3LjEgLjcgOS4yIDIuNCAzLjYgMi44IDMuMSA4LjMgMy4xIDEwLjYtNC44LS4zLTE5LjEtMy40LTI5LjQgMy44LTIuMyAxLjYtNC4zIDMuOC01LjUgNi4zcy0xLjkgNS40LTEuOCA4LjJjMCA1LjkgMS41IDEwLjQgNi42IDE0LjQgMTIuMiA4LjIgMzYuMyAyIDM4LjEgMS40IDEuNi0uMyAzLjUtLjcgMy41LTEuOWwwLTMzLjljMC00LjYgLjMtMjEuNi0yMi44LTIxLjZsMCAuMXptNDYuNi0yMWMwLS4yIDAtLjMtLjEtLjVzLS4xLS4zLS4zLS40LS4yLS4yLS40LS4zLS4zLS4xLS41LS4xbC05LjggMGMtLjIgMC0uMyAwLS41IC4xcy0uMyAuMS0uNCAuMy0uMiAuMi0uMyAuNC0uMSAuMy0uMSAuNWwwIDc5YzAgLjIgMCAuMyAuMSAuNXMuMSAuMyAuMyAuNCAuMiAuMiAuNCAuMyAuMyAuMSAuNSAuMWw5LjkgMGMuMiAwIC4zIDAgLjUtLjFzLjMtLjEgLjQtLjMgLjItLjIgLjMtLjQgLjEtLjMgLjEtLjVsLS4xLTc5em01NS43IDI4LjljLTIuMS0yLjMtNi44LTcuNS0xNy42LTcuNS0zLjUgMC0xNC4yIC4yLTIwLjcgOC45LTYuNCA3LjYtNi42IDE4LjEtNi42IDIxLjQgMCAzLjEgLjIgMTQuMyA3LjEgMjEuMiAyLjYgMi45IDkuMSA4LjIgMjIuOCA4LjIgMTAuOCAwIDE2LjUtMi4zIDE4LjYtMy44IC41LS4yIC43LS43IC4yLTEuOWwtMi4zLTYuOGMtLjEtLjMtLjMtLjUtLjYtLjZzLS41LS4yLS44LS4xYy0yLjYgLjktNi4zIDIuOC0xNS4zIDIuOC0xNy40IDAtMTYuOC0xNC43LTE2LjktMTYuN2wzNy4yIDBjLjMgMCAuNS0uMSAuNy0uM3MuNC0uNCAuNC0uN2MtLjMgMCAyLjEtMTQuNy02LjEtMjQuMmwwIDB6bTM2LjcgNTIuN2MxMy4yIDAgMjEuNC03LjEgMjEuNC0xOC4xIDAtMTEuOC0xMS43LTE1LjItMTcuOS0xNy4yLTQuMS0xLjctMTMuNC0zLjQtMTMuNC04LjkgMC0zLjggMy4zLTYuNCA4LjUtNi40IDUuOCAuMSAxMS41IDEuNiAxNi43IDQuMiAwIDAgMS4yIC43IDEuNi0uNSAuMi0uNyAyLjQtNi42IDIuNi03LjMgLjEtLjMgLjEtLjYtLjEtLjhzLS40LS41LS42LS42Yy03LjktNC45LTE2LjctNC45LTIwLjItNC45LTEyIDAtMjAuNSA3LjMtMjAuNSAxNy42IDAgMTIuNSAxMS41IDE1LjQgMTcuOSAxNy4yIDYuMSAyIDEzLjIgMy4zIDEzLjIgOC43IDAgNC0zLjUgNy4xLTkuMiA3LjEtNi45IDAtMTMuNS0yLjItMTktNi40LS4xLS4xLS4zLS4yLS41LS4ycy0uNCAwLS41IC4xLS4zIC4yLS40IC4zLS4yIC4zLS4yIC41bC0yLjMgNy41Yy0uNSAuOSAuMiAxLjIgLjIgMS40IDEuNyAxLjQgMTAuMyA2LjYgMjIuOCA2LjZsMCAwek0zNTcuNiAyMjRjMC0uNy0uMi0xLjItMS4yLTEuMmwtMTEuOCAwYzAtLjEgLjktOC45IDQuNS0xMi41IDQuMi00LjIgMTEuOC0xLjYgMTItMS42IDEuMiAuNSAxLjQgMCAxLjYtLjVsMi44LTcuOGMuNy0uOSAwLTEuMi0uMi0xLjQtNS4xLTItMTcuNC0yLjktMjQuNSA0LjItNS41IDUuNS03IDEzLjktOCAxOS41bC04LjUgMGMtLjMgMC0uNiAuMi0uOCAuNHMtLjMgLjUtLjQgLjhsLTEuNCA3LjhjMCAuNyAuMiAxLjIgMS4yIDEuMmw4LjIgMGMtOC41IDQ3LjktOC43IDUwLjItMTAuMyA1NS41LTEuMSAzLjYtMy4zIDYuOS01LjkgNy44LS4xIDAtMy45IDEuNy05LjYtLjIgMCAwLS45LS41LTEuNCAuNy0uMiAuNy0yLjYgNi44LTIuOCA3LjVzMCAxLjQgLjUgMS40YzUuMSAyIDEzIDEuOCAxNy45IDAgNi4zLTIuMyA5LjctNy45IDExLjUtMTIuOSAyLjgtNy43IDIuOC05LjggMTEuOC01OS43bDEyLjIgMGMuMyAwIC42LS4yIC44LS40cy4zLS41IC40LS44bDEuNC03Ljh6TTQxMSAyNDBjLS42LTEuNy01LjEtMTguMS0yNS4yLTE4LjEtMTUuMiAwLTIzIDEwLTI1LjIgMTguMS0xIDMtMy4yIDE0IDAgMjMuNSAuMSAuMyA0LjQgMTguMSAyNS4yIDE4LjEgMTUgMCAyMi45LTkuNiAyNS4yLTE4LjEgMy4yLTkuNiAxLTIwLjUgMC0yMy41em00NS40LTE2LjdjLTUtMS43LTE2LjYtMS45LTIyLjEgNS40bDAtNC41YzAtLjIgMC0uMy0uMS0uNXMtLjEtLjMtLjMtLjQtLjItLjItLjQtLjMtLjMtLjEtLjUtLjFsLTkuNCAwYy0uMiAwLS4zIDAtLjUgLjFzLS4zIC4xLS40IC4zLS4yIC4yLS4zIC40LS4xIC4zLS4xIC41bDAgNTUuM2MwIC4yIDAgLjMgLjEgLjVzLjEgLjMgLjMgLjQgLjIgLjIgLjQgLjMgLjMgLjEgLjUgLjFsOS42IDBjLjIgMCAuMyAwIC41LS4xcy4zLS4xIC40LS4zIC4yLS4yIC4zLS40IC4xLS4zIC4xLS41bDAtMjcuOGMwLTIuOSAuMS0xMS40IDQuNS0xNS4xIDQuOS00LjkgMTItMy40IDEzLjQtMy4xIC4zIDAgLjYtLjEgLjgtLjNzLjQtLjQgLjYtLjdjMS4yLTIuNiAyLjItNS4zIDMuMS04IC4xLS4zIC4xLS41IDAtLjhzLS4zLS41LS41LS42bDAgMHptNDYuOCA1NC4xbC0yLjEtNy4zYy0uNS0xLjItMS40LS43LTEuNC0uNy00LjIgMS44LTEwLjEgMS45LTExLjMgMS45LTQuNiAwLTE3LjItMS4xLTE3LjItMTkuOCAwLTYuMiAxLjgtMTkuOCAxNi41LTE5LjggMy45LS4xIDcuOCAuNSAxMS41IDEuNiAwIDAgLjkgLjUgMS4yLS43IC45LTIuNiAxLjYtNC41IDIuNi03LjUgLjItLjktLjUtMS4yLS43LTEuMi0xMS42LTMuOS0yMi4zLTIuNS0yNy44IDAtMS42IC43LTE2LjIgNi41LTE2LjIgMjcuNSAwIDIuOS0uNiAzMC4xIDI4LjkgMzAuMSA1LjMgMCAxMC42LTEgMTUuNS0yLjggLjItLjIgLjQtLjQgLjUtLjZzLjEtLjUgMC0uOGwwIDB6bTUzLjktMzkuNWMtLjgtMy01LjQtMTYuMi0yMi4zLTE2LjItMTYgMC0yMy41IDEwLjEtMjUuNiAxOC42LTEuMiAzLjgtMS43IDcuOC0xLjcgMTEuOCAwIDI1LjkgMTguOCAyOS40IDI5LjkgMjkuNCAxMC44IDAgMTYuNS0yLjMgMTguNi0zLjggLjUtLjIgLjctLjcgLjItMS45bC0yLjQtNi44Yy0uMS0uMy0uMy0uNS0uNi0uNnMtLjYtLjItLjgtLjFjLTIuNiAuOS02LjMgMi44LTE1LjMgMi44LTE3LjQgMC0xNi45LTE0LjctMTYuOS0xNi43bDM3LjIgMGMuMyAwIC41LS4xIC43LS4zcy40LS40IC40LS43Yy0uMiAwIC45LTcuMS0xLjQtMTUuNWwwIDB6bS0yMy4zLTYuNGMtMTAuMyAwLTEzIDktMTMuNiAxNC4xbDI2LjQgMGMtLjktMTEuOS03LjYtMTQuMS0xMi43LTE0LjFsMCAweiJdfSxYbXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic291cmNldHJlZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjdkMyIsIk00MjcuNCAyMDNjMC0xMTIuMS05MC45LTIwMy0yMDMtMjAzLTExMi4xLS4yLTIwMyA5MC42LTIwMy4yIDIwMi42LS4xIDQzIDEzLjUgODQuOCAzOC43IDExOS42czYwLjkgNjAuNiAxMDEuOCA3My44bDAgMTAxLjdjMCAzLjggMS41IDcuNCA0LjIgMTAuMXM2LjMgNC4yIDEwLjEgNC4ybDk2LjQgMGMzLjggMCA3LjQtMS41IDEwLjEtNC4yczQuMi02LjMgNC4yLTEwLjFsMC0xMDEuNmM0MC44LTEzLjIgNzYuNS0zOSAxMDEuNy03My43czM4LjktNzYuNSAzOS0xMTkuNHptLTI3MS42IDBjMC05MC44IDEzNy4zLTkwLjggMTM3LjMgMC0uMSA4OS45LTEzNy4zIDkxLTEzNy4zIDB6Il19LEttdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsaW5rZWRpbi1pbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjBlMSIsIk0xMDAuMyA0NDhsLTkyLjkgMCAwLTI5OS4xIDkyLjkgMCAwIDI5OS4xek01My44IDEwOC4xQzI0LjEgMTA4LjEgMCA4My41IDAgNTMuOCAwIDM5LjUgNS43IDI1LjkgMTUuOCAxNS44czIzLjgtMTUuOCAzOC0xNS44IDI3LjkgNS43IDM4IDE1LjggMTUuOCAyMy44IDE1LjggMzhjMCAyOS43LTI0LjEgNTQuMy01My44IDU0LjN6TTQ0Ny45IDQ0OGwtOTIuNyAwIDAtMTQ1LjZjMC0zNC43LS43LTc5LjItNDguMy03OS4yLTQ4LjMgMC01NS43IDM3LjctNTUuNyA3Ni43bDAgMTQ4LjEtOTIuOCAwIDAtMjk5LjEgODkuMSAwIDAgNDAuOCAxLjMgMGMxMi40LTIzLjUgNDIuNy00OC4zIDg3LjktNDguMyA5NCAwIDExMS4zIDYxLjkgMTExLjMgMTQyLjNsMCAxNjQuMy0uMSAweiJdfSxRbXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaHRtbDUiLGljb246WzM4NCw1MTIsW10sImYxM2IiLCJNMCAzMkwzNC45IDQyNy44IDE5MS41IDQ4MCAzNDkuMSA0MjcuOCAzODQgMzIgMCAzMnpNMzA4LjIgMTU5LjlsLTE4My44IDAgNC4xIDQ5LjQgMTc1LjYgMC0xMy42IDE0OC40LTk3LjkgMjcgMCAuMy0xLjEgMC05OC43LTI3LjMtNi03NS44IDQ3LjcgMCAzLjUgMzguMSA1My41IDE0LjUgNTMuNy0xNC41IDYtNjIuMi0xNjYuOSAwLTEyLjgtMTQ1LjYgMjQxLjEgMC00LjQgNDcuN3oiXX0sSm10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJ1c3QiLGljb246WzUxMiw1MTIsW10sImUwN2EiLCJNNTA4LjUgMjQ5LjhsLTIxLjgtMTMuNWMtLjItMi0uMy0zLjktLjUtNS45bDE4LjctMTcuNWMuOS0uOSAxLjYtMS45IDItMy4xcy41LTIuNSAuMi0zLjctLjgtMi40LTEuNi0zLjMtMS44LTEuNy0zLTIuMWwtMjQtOWMtLjUtMS45LTEuMS0zLjgtMS43LTUuNmwxNS0yMC44Yy43LTEgMS4yLTIuMiAxLjMtMy40czAtMi41LS41LTMuNy0xLjItMi4yLTIuMi0yLjktMi4xLTEuMy0zLjQtMS41bC0yNS40LTQuMmMtLjktMS43LTEuOC0zLjQtMi43LTUuMmwxMC43LTIzLjRjLjUtMS4xIC43LTIuNCAuNi0zLjZzLS41LTIuNC0xLjItMy41LTEuNi0xLjktMi44LTIuNS0yLjQtLjgtMy42LS44bC0yNS44IC45Yy0xLjItMS41LTIuNC0yLjktMy42LTQuNEw0MzkgODEuOGMuMy0xLjIgLjMtMi41LS4xLTMuN3MtMS0yLjMtMS45LTMuMi0yLTEuNS0zLjItMS45LTIuNS0uNC0zLjctLjFMNDA1IDc4LjljLTEuNC0xLjItMi45LTIuNC00LjQtMy42bC45LTI1LjhjLjEtMS4zLS4yLTIuNS0uOC0zLjZzLTEuNC0yLjEtMi41LTIuOC0yLjItMS4xLTMuNS0xLjItMi41IC4xLTMuNyAuNkwzNjcuNyA1My4yYy0xLjctLjktMy40LTEuOC01LjEtMi43bC00LjItMjUuNGMtLjItMS4yLS43LTIuNC0xLjUtMy40cy0xLjgtMS43LTIuOS0yLjItMi40LS43LTMuNy0uNS0yLjQgLjYtMy40IDEuM0wzMjYgMzUuM2MtMS45LS42LTMuOC0xLjEtNS42LTEuN2wtOS0yNGMtLjQtMS4yLTEuMi0yLjItMi4xLTNzLTIuMS0xLjQtMy4zLTEuNi0yLjUtLjItMy43IC4yLTIuMyAxLjEtMy4xIDJMMjgxLjYgMjUuOWMtMi0uMi0zLjktLjQtNS45LS41TDI2Mi4zIDMuNWMtLjctMS4xLTEuNi0xLjktMi43LTIuNnMtMi4zLS45LTMuNi0uOS0yLjUgLjMtMy42IC45LTIgMS41LTIuNyAyLjZMMjM2LjIgMjUuM2MtMiAuMi0zLjkgLjMtNS45IC42TDIxMi45IDcuMWMtLjktLjktMS45LTEuNi0zLjEtMnMtMi41LS41LTMuNy0uMi0yLjQgLjgtMy4zIDEuNi0xLjcgMS44LTIuMSAzbC05IDI0Yy0xLjkgLjYtMy44IDEuMS01LjcgMS43bC0yMC44LTE1Yy0xLS43LTIuMi0xLjItMy40LTEuM3MtMi41IDAtMy43IC41LTIuMiAxLjItMi45IDIuMi0xLjMgMi4xLTEuNSAzLjRsLTQuMiAyNS40Yy0xLjcgLjktMy40IDEuOC01LjIgMi43TDEyMC45IDQyLjZjLTEuMS0uNS0yLjQtLjctMy43LS42cy0yLjUgLjUtMy41IDEuMi0xLjkgMS43LTIuNSAyLjgtLjggMi40LS44IDMuNmwuOSAyNS44Yy0xLjUgMS4yLTMgMi40LTQuNCAzLjZMODEuOCA3M2MtMS4yLS4zLTIuNS0uMy0zLjcgLjFzLTIuMyAxLTMuMiAxLjktMS41IDItMS45IDMuMi0uNCAyLjUtLjEgMy43TDc4LjkgMTA3Yy0xLjIgMS40LTIuNCAyLjktMy42IDQuNGwtMjUuOC0uOWMtMS4zIDAtMi41IC4yLTMuNiAuOHMtMi4xIDEuNC0yLjggMi40LTEuMSAyLjItMS4yIDMuNSAuMSAyLjUgLjYgMy42bDEwLjcgMjMuNGMtLjkgMS43LTEuOCAzLjQtMi43IDUuMmwtMjUuNCA0LjFjLTEuMiAuMi0yLjQgLjctMy40IDEuNXMtMS43IDEuOC0yLjIgMi45LS43IDIuNC0uNSAzLjcgLjYgMi40IDEuMyAzLjRsMTUgMjAuOGMtLjYgMS45LTEuMSAzLjgtMS43IDUuN2wtMjQgOWMtMS4yIC40LTIuMiAxLjItMyAyLjFzLTEuNCAyLjEtMS42IDMuMy0uMiAyLjUgLjIgMy43IDEuMSAyLjMgMiAzLjFsMTguNyAxNy41Yy0uMiAyLS40IDMuOS0uNiA1LjlMMy41IDI0OS44Yy0xLjEgLjctMS45IDEuNi0yLjYgMi43cy0uOSAyLjMtLjkgMy42IC4zIDIuNSAuOSAzLjYgMS41IDIgMi42IDIuN2wyMS44IDEzLjVjLjIgMiAuMyAzLjkgLjYgNS45TDcuMSAyOTkuMWMtLjkgLjktMS42IDEuOS0yIDMuMXMtLjUgMi41LS4yIDMuNyAuOCAyLjQgMS42IDMuMyAxLjggMS43IDMgMi4xbDI0IDljLjYgMS45IDEuMSAzLjggMS43IDUuNmwtMTUgMjAuOGMtLjcgMS0xLjIgMi4yLTEuMyAzLjRzMCAyLjUgLjUgMy43IDEuMiAyLjIgMi4yIDIuOSAyLjEgMS4zIDMuNCAxLjVsMjUuNCA0LjJjLjkgMS43IDEuOCAzLjQgMi43IDUuMUw0Mi42IDM5MS4xYy0uNSAxLjEtLjcgMi40LS42IDMuNnMuNSAyLjUgMS4yIDMuNWMuNyAxLjEgMS42IDEuOSAyLjcgMi41czIuNCAuOCAzLjYgLjhsMjUuOC0uOWMxLjIgMS41IDIuNCAyLjkgMy42IDQuNEw3MyA0MzAuMmMtLjMgMS4yLS4zIDIuNSAuMSAzLjdzMSAyLjMgMS45IDMuMiAyIDEuNSAzLjIgMS45IDIuNSAuNCAzLjcgLjFsMjUuMi01LjljMS41IDEuMiAyLjkgMi40IDQuNCAzLjZsLS45IDI1LjhjMCAxLjMgLjIgMi41IC44IDMuNnMxLjQgMi4xIDIuNSAyLjggMi4yIDEuMSAzLjUgMS4yIDIuNS0uMSAzLjYtLjZsMjMuNC0xMC43YzEuNyAuOSAzLjQgMS44IDUuMSAyLjdsNC4yIDI1LjRjLjIgMS4yIC43IDIuNCAxLjUgMy40czEuOCAxLjggMi45IDIuMiAyLjQgLjcgMy43IC41IDIuNC0uNiAzLjQtMS4zbDIwLjgtMTVjMS45IC42IDMuOCAxLjEgNS42IDEuN2w5IDI0Yy40IDEuMiAxLjIgMi4yIDIuMSAzczIuMSAxLjQgMy4zIDEuNiAyLjUgLjIgMy43LS4yIDIuMy0xLjEgMy4xLTJsMTcuNS0xOC43YzIgLjIgMy45IC40IDUuOSAuNmwxMy41IDIxLjhjLjcgMS4xIDEuNiAxLjkgMi43IDIuNnMyLjMgLjkgMy42IC45IDIuNS0uMyAzLjYtLjkgMi0xLjUgMi43LTIuNmwxMy41LTIxLjhjMi0uMiAzLjktLjMgNS45LS42bDE3LjUgMTguN2MuOSAuOSAxLjkgMS42IDMuMSAyczIuNSAuNSAzLjcgLjIgMi40LS44IDMuMy0xLjYgMS43LTEuOCAyLjEtM2w5LTI0YzEuOS0uNiAzLjgtMS4xIDUuNi0xLjdsMjAuOCAxNWMxIC43IDIuMiAxLjIgMy40IDEuM3MyLjUgMCAzLjctLjUgMi4yLTEuMiAyLjktMi4yIDEuMy0yLjEgMS41LTMuNGw0LjItMjUuNGMxLjctLjkgMy40LTEuOCA1LjEtMi43bDIzLjQgMTAuN2MxLjEgLjUgMi40IC43IDMuNiAuNnMyLjQtLjUgMy41LTEuMiAxLjktMS42IDIuNS0yLjggLjgtMi40IC44LTMuNmwtLjktMjUuOGMxLjUtMS4yIDIuOS0yLjQgNC40LTMuNmwyNS4yIDUuOWMxLjIgLjMgMi41IC4zIDMuNy0uMXMyLjMtMSAzLjItMS45IDEuNS0yIDEuOS0zLjIgLjQtMi41IC4xLTMuN0w0MzMuMSA0MDVjMS4yLTEuNCAyLjQtMi45IDMuNi00LjRsMjUuOCAuOWMxLjMgLjEgMi41LS4yIDMuNi0uOHMyLjEtMS40IDIuOC0yLjVjLjctMSAxLjEtMi4yIDEuMi0zLjVzLS4xLTIuNS0uNi0zLjZsLTEwLjctMjMuNGMuOS0xLjcgMS44LTMuNCAyLjctNS4xbDI1LjQtNC4yYzEuMi0uMiAyLjQtLjcgMy40LTEuNXMxLjgtMS44IDIuMi0yLjkgLjctMi40IC41LTMuNy0uNi0yLjQtMS4zLTMuNGwtMTUtMjAuOGMuNi0xLjkgMS4xLTMuOCAxLjctNS42bDI0LTljMS4yLS40IDIuMi0xLjIgMy0yLjFzMS40LTIuMSAxLjYtMy4zIC4yLTIuNS0uMi0zLjctMS4xLTIuMy0yLTMuMWwtMTguNy0xNy41Yy4yLTEuOSAuNC0zLjkgLjYtNS45bDIxLjgtMTMuNWMxLjEtLjcgMS45LTEuNiAyLjYtMi43cy45LTIuMyAuOS0zLjYtLjMtMi41LS45LTMuNi0xLjUtMi0yLjYtMi43bDAgMHptLTE1MSAxMjkuMWMtMy42LS44LTcuNC0uMS0xMC41IDEuOXMtNS4zIDUuMi02IDguOGwtNy42IDM1LjdjLTI0LjYgMTEuMS01MS4zIDE2LjgtNzguMyAxNi43cy01My42LTYuMS03OC4xLTE3LjRsLTcuNi0zNS43Yy0uNC0xLjgtMS4xLTMuNS0yLjEtNXMtMi40LTIuOC0zLjktMy44LTMuMi0xLjctNS0yLTMuNi0uMy01LjQgLjFsLTMxLjUgNi44Yy01LjgtNi0xMS4zLTEyLjUtMTYuMy0xOS4ybDE1My4yIDBjMS43IDAgMi45LS4zIDIuOS0xLjlsMC01NC4yYzAtMS42LTEuMi0xLjktMi45LTEuOWwtNDQuOCAwIDAtMzQuNCA0OC41IDBjNC40IDAgMjMuNyAxLjMgMjkuOCAyNS45IDEuOSA3LjUgNi4yIDMyLjEgOS4xIDQwIDIuOSA4LjggMTQuNiAyNi41IDI3LjEgMjYuNWw3OSAwYy01LjMgNy4xLTExLjEgMTMuOC0xNy4zIDIwLjFsLTMyLjEtNi45em0yNS44IDM0LjVjMCAzLS45IDYtMi42IDguNXMtNCA0LjUtNi44IDUuNi01LjggMS41LTguOCAuOS01LjctMi03LjgtNC4yLTMuNi00LjgtNC4yLTcuOC0uMy02IC44LTguOCAzLjEtNS4yIDUuNi02LjkgNS40LTIuNiA4LjUtMi42bC40IDBjNCAuMSA3LjcgMS44IDEwLjUgNC42czQuMyA2LjcgNC4zIDEwLjZsLjEgMHptLTIyNS42LS43YzAgMy0uOSA2LTIuNiA4LjVzLTQuMSA0LjUtNi44IDUuNi01LjggMS41LTguOCAuOS01LjctMi03LjgtNC4yLTMuNi00LjgtNC4yLTcuOC0uMy02IC45LTguOCAzLjEtNS4yIDUuNi02LjggNS40LTIuNiA4LjUtMi42bC41IDBjNCAuMSA3LjcgMS44IDEwLjUgNC42czQuMyA2LjcgNC4zIDEwLjZsLjEgMHpNNjkuNiAyMzQuMmwzMi44LTE0LjZjMS43LS43IDMuMi0xLjggNC40LTMuMXMyLjItMi45IDIuOS00LjYgMS0zLjUgLjktNS4zLS41LTMuNi0xLjItNS4zbC02LjgtMTUuMiAyNi42IDAgMCAxMTkuNy01My42IDBjLTYuNi0yMy4yLTguNy00Ny42LTYuMS03MS42ek01OC4zIDE5OC4xYzAtMiAuNC00IDEuMi01LjhzMS45LTMuNSAzLjMtNC45IDMuMS0yLjUgNC45LTMuMyAzLjgtMS4yIDUuOC0xLjJsLjUgMGMzIC4xIDUuOSAxIDguMyAyLjhzNC4zIDQuMSA1LjQgNi45IDEuMyA1LjggLjcgOC44LTIuMSA1LjYtNC4zIDcuNy00LjkgMy41LTcuOCA0LjEtNiAuMi04LjctLjktNS4xLTMuMS02LjgtNS42LTIuNS01LjQtMi41LTguNGwwIDB6bTE1NS4yIDI0LjVsMC0zNS4zIDYzLjMgMGMzLjMgMCAyMy4xIDMuOCAyMy4xIDE4LjYgMCAxMi4zLTE1LjIgMTYuNy0yNy43IDE2LjdsLTU4LjcgMHpNMzk5IDMwNi43Yy05LjggMS4xLTIwLjYtNC4xLTIyLTEwLjEtNS44LTMyLjUtMTUuNC0zOS40LTMwLjYtNTEuNCAxOC45LTEyIDM4LjUtMjkuNiAzOC41LTUzLjMgMC0yNS41LTE3LjUtNDEuNi0yOS40LTQ5LjUtMTYuOC0xMS0zNS4zLTEzLjItNDAuMy0xMy4ybC0xOTguOSAwYzI3LjUtMzAuNyA2NC40LTUxLjUgMTA0LjktNTkuMmwyMy41IDI0LjZjMS4zIDEuMyAyLjggMi40IDQuNCAzLjFzMy41IDEuMSA1LjMgMS4yIDMuNi0uMyA1LjMtLjkgMy4yLTEuNyA0LjYtMi45bDI2LjMtMjVjMjYuOCA1IDUyLjEgMTUuOCA3NC4zIDMxLjZzNDAuNiAzNi4yIDU0LjEgNTkuOWwtMTggNDAuNmMtMS41IDMuNC0xLjUgNy4yLS4yIDEwLjZzMy45IDYuMiA3LjMgNy43bDM0LjYgMTUuM2MxLjEgMTAuOCAxLjIgMjEuNyAuNCAzMi41bC0xOS4zIDBjLTEuOSAwLTIuNyAxLjMtMi43IDMuMWwwIDguOGMwIDIwLjgtMTEuNyAyNS4zLTIyIDI2LjV6TTI0MCA2MC4yYzAtNCAxLjYtNy45IDQuNS0xMC43czYuNy00LjUgMTAuNy00LjVsLjQgMGMzIC4xIDUuOSAxIDguNCAyLjhzNC4zIDQuMSA1LjQgNi45IDEuMyA1LjggLjcgOC44LTIuMSA1LjYtNC4zIDcuNy00LjkgMy41LTcuOCA0LTYgLjItOC43LS45LTUuMS0zLjEtNi44LTUuNi0yLjUtNS40LTIuNS04LjR6TTQzNi44IDIxNGMtMiAwLTQtLjQtNS44LTEuMnMtMy41LTEuOS00LjktMy4zLTIuNS0zLjEtMy4zLTQuOS0xLjItMy44LTEuMi01LjggLjQtNCAxLjItNS44IDEuOS0zLjUgMy4zLTQuOSAzLjEtMi41IDQuOS0zLjMgMy44LTEuMiA1LjgtMS4ybC40IDBjNCAuMSA3LjkgMS43IDEwLjcgNC42czQuNCA2LjggNC4zIDEwLjgtMS43IDcuOS00LjYgMTAuNy02LjggNC40LTEwLjggNC4zeiJdfSxlOXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaG9ybmJpbGwiLGljb246WzUxMiw1MTIsW10sImY1OTIiLCJNNzYuOCAzNzAuM2MxIDcuOC0uNCAxNS44LTQuMSAyMi44cy05LjYgMTIuNi0xNi43IDE2LjEtMTUuMSA0LjctMjIuOSAzLjMtMTUtNS4xLTIwLjYtMTAuNy05LjItMTIuOS0xMC41LTIwLjcgMC0xNS44IDMuNi0yMi45IDkuMy0xMi44IDE2LjMtMTYuNSAxNS01IDIyLjktMy45Yy03OC4zLTExMS4zIDUyLTE5MC41IDUyLTE5MC41LTUuOSA0My04LjIgOTEuMi04LjIgOTEuMi02Ny4zIDQxLjUgLjkgNjQuMSAzOS44IDcyLjkgOS45IDI3IDI3LjggNTAuMiA1MS40IDY2LjdzNTEuNiAyNS4zIDgwLjMgMjUuM2MxLjkgMCAzLjgtLjIgNS43LS4zbC4xIDE4LjljLTk5LjIgMS40LTE1OC43LTI5LjEtMTg4LjktNTEuNnptMTA4LTMyNy43Yy45LTcuMi0uMi0xNC42LTMuNC0yMS4yLTMtNi4yLTcuNi0xMS41LTEzLjQtMTUuM3MtMTIuNS01LjktMTkuNC02LjItMTMuOCAxLjQtMTkuOCA0LjctMTEuMSA4LjMtMTQuNSAxNC4zLTUuMiAxMi44LTUgMTkuNyAyLjIgMTMuNyA1LjkgMTkuNSA4LjkgMTAuNiAxNS4xIDEzLjYgMTMuMSA0LjQgMjAgMy45Yy0yMi42IDI5LjktNTMuOCA4OS42LTUyLjQgMTkwbDIxLjgtLjJjMC0uOS0uMS0xLjgtLjEtMi43IDAtMjggOC40LTU1LjMgMjQuMS03OC41czM3LjktNDEuMiA2My44LTUxLjZjOC0zNy43IDMwLjctMTE0LjMgNzMuOC00NC4zIDAgMCA0OC4xIDIuNCA5MS4yIDguMiAwIDAtNzcuOC0xMjgtMTg3LjYtNTQuMWwwIDB6TTQ4OSAxNzYuOGM2LjMtMyAxMS43LTcuNyAxNS41LTEzLjZzNS45LTEyLjcgNi4xLTE5LjgtMS42LTE0LTUuMi0yMC04LjctMTEtMTQuOS0xNC4zLTEzLjItNC44LTIwLjItNC40LTEzLjggMi44LTE5LjUgNi45LTEwLjIgOS42LTEzIDE2LjEtMy43IDEzLjYtMi43IDIwLjVjLTMxLjctMjEuOS04OS44LTQ5LjEtMTgzLjQtNDcuN2wuMSAyMi41YzIuNy0uMiA1LjQtLjQgOC4xLS40IDI4LjEgMCA1NS42IDguNSA3OC45IDI0LjNzNDEuMiAzOC4zIDUxLjYgNjQuNWMzOS4xIDkgMTA1LjEgMzEuNiAzOC41IDcyLjUgMCAwLTIuMyA0OC4xLTguMiA5MS4yIDAgMCAxMzMuNC04MS4yIDQ5LTE5NC42IDYuNiAuNiAxMy4zLS42IDE5LjMtMy41bDAgMHpNMzc0LjQgNDM2LjJjMjEuNC0zMi41IDQ2LjQtODkuNyA0NS4xLTE3OS43bC0xOS41IC4xYy4xIDIuMSAuMyA0LjEgLjMgNi4yIDAgMjguNi04LjggNTYuNS0yNS4xIDgwcy0zOS41IDQxLjQtNjYuMyA1MS40Yy04LjkgMzktMzEuNCAxMDYuNy03Mi44IDM5LjUgMCAwLTQ4LjEtMi4zLTkxLjItOC4yIDAgMCA3OS45IDEzMS4zIDE5MS45IDUxIC4zIDQuOSAxLjUgOS42IDMuNiAxNCAyLjkgNi4xIDcuNSAxMS40IDEzLjEgMTUuMXMxMi4yIDYgMTkgNi40IDEzLjYtMS4xIDE5LjYtNC4yIDExLjEtNy44IDE0LjctMTMuNiA1LjYtMTIuNCA1LjctMTkuMi0xLjUtMTMuNS00LjgtMTkuNC04LjItMTAuOS0xNC4xLTE0LjMtMTIuNi01LjItMTkuNC01LjFsMC0uMXoiXX0sdDl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBocCIsaWNvbjpbNjQwLDUxMixbXSwiZjQ1NyIsIk0zMjAgMTA0LjVjMTcxLjQgMCAzMDMuMiA3Mi4yIDMwMy4yIDE1MS41UzQ5MS4zIDQwNy41IDMyMCA0MDcuNUMxNDguNiA0MDcuNSAxNi44IDMzNS4zIDE2LjggMjU2UzE0OC43IDEwNC41IDMyMCAxMDQuNXptMC0xNi44QzE0My4zIDg3LjcgMCAxNjMgMCAyNTZTMTQzLjMgNDI0LjMgMzIwIDQyNC4zIDY0MCAzNDkgNjQwIDI1NiA0OTYuNyA4Ny43IDMyMCA4Ny43ek0yMTguMiAyNDIuNWMtNy45IDQwLjUtMzUuOCAzNi4zLTcwLjEgMzYuM2wxMy43LTcwLjZjMzggMCA2My44LTQuMSA1Ni40IDM0LjN6TTk3LjQgMzUwLjNsMzYuNyAwIDguNy00NC44YzQxLjEgMCA2Ni42IDMgOTAuMi0xOS4xIDI2LjEtMjQgMzIuOS02Ni43IDE0LjMtODguMS05LjctMTEuMi0yNS4zLTE2LjctNDYuNS0xNi43bC03MC43IDAtMzIuNyAxNjguN3pNMjgzLjEgMTM2LjdsMzYuNSAwLTguNyA0NC44YzMxLjUgMCA2MC43LTIuMyA3NC44IDEwLjcgMTQuOCAxMy42IDcuNyAzMS04LjMgMTEzLjFsLTM3IDBjMTUuNC03OS40IDE4LjMtODYgMTIuNy05Mi01LjQtNS44LTE3LjctNC42LTQ3LjQtNC42bC0xOC44IDk2LjYtMzYuNSAwIDMyLjctMTY4LjZ6TTUwNSAyNDIuNWMtOCA0MS4xLTM2LjcgMzYuMy03MC4xIDM2LjNsMTMuNy03MC42YzM4LjIgMCA2My44LTQuMSA1Ni40IDM0LjN6TTM4NC4yIDM1MC4zbDM2LjggMCA4LjctNDQuOGM0My4yIDAgNjcuMSAyLjUgOTAuMi0xOS4xIDI2LjEtMjQgMzIuOS02Ni43IDE0LjMtODguMS05LjctMTEuMi0yNS4zLTE2LjctNDYuNS0xNi43bC03MC43IDAtMzIuOCAxNjguN3oiXX0sYTl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRpc3F1cyIsaWNvbjpbNTc2LDUxMixbXSwiZTdkNSIsIk0yOTAuMiA1MTJjLTYyLjYgMC0xMTkuOS0yMi45LTE2NC4yLTYwLjhMMTcgNDY2LjEgNTkuMSAzNjIuMmMtMTQuNy0zMi40LTIyLjktNjguMy0yMi45LTEwNi4yIDAtMTQxLjQgMTEzLjctMjU2IDI1NC0yNTYgMTQwLjMgMCAyNTQgMTE0LjYgMjU0IDI1NiAwIDE0MS40LTExMy43IDI1Ni0yNTQgMjU2ek00MjguOSAyNTUuM2wwLS43QzQyOC45IDE4MC43IDM3Ni44IDEyOCAyODcgMTI4bC05NyAwIDAgMjU2IDk1LjYgMGM5MC41IDAgMTQzLjQtNTQuOSAxNDMuNC0xMjguN3pNMjg4IDMyMS4xbC0yOC40IDAgMC0xMzAuMiAyOC40IDBjNDEuNyAwIDY5LjMgMjMuOCA2OS4zIDY0LjdsMCAuN2MwIDQxLjMtMjcuNyA2NC43LTY5LjMgNjQuN3oiXX0scjl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IjUwMHB4IixpY29uOlszODQsNTEyLFtdLCJmMjZlIiwiTTcxLjggMzQ0LjNjLTYuNS0xNC4yLTYuOS0xOC4zIDcuNC0yMy4xIDI1LjYtOCA4IDkuMiA0My4yIDQ5LjJsLjMgMCAwLTkzLjljMS4yLTUwLjIgNDQtOTIuMiA5Ny43LTkyLjIgNTMuOSAwIDk3LjcgNDMuNSA5Ny43IDk2LjggMCA2My40LTYwLjggMTEzLjItMTI4LjUgOTMuMy0xMC41LTQuMi0yLjEtMzEuNyA4LjUtMjguNiA1MyAwIDg5LjQtMTAuMSA4OS40LTY0LjQgMC02MS03Ny4xLTg5LjYtMTE2LjktNDQuNi0yMy41IDI2LjQtMTcuNiA0Mi4xLTE3LjYgMTU3LjYgNTAuNyAzMSAxMTguMyAyMiAxNjAuNC0yMC4xIDI0LjgtMjQuOCAzOC41LTU4IDM4LjUtOTMgMC0zNS4yLTEzLjgtNjguMi0zOC44LTkzLjMtMjQuOC0yNC44LTU3LjgtMzguNS05My4zLTM4LjVTMTUxIDE2My4zIDEyNi4zIDE4OGMtLjMgLjMtMTYgMTYuNS0yMS4yIDIzLjlsLS41IC42Yy0zLjMgNC43LTYuMyA5LjEtMjAuMSA2LjEtNi45LTEuNy0xNC4zLTUuOC0xNC4zLTExLjhMNzAuMiAyMGMwLTUgMy45LTEwLjUgMTAuNS0xMC41TDMyMiA5LjVjOC4zIDAgOC4zIDExLjYgOC4zIDE1LjEgMCAzLjkgMCAxNS4xLTguMyAxNS4xbC0yMjMuMiAwIDAgMTMyLjkgLjMgMGMxMDQuMi0xMDkuOCAyODIuOC0zNiAyODIuOCAxMDguOSAwIDE3OC4xLTI0NC44IDIyMC4zLTMxMC4xIDYyLjh6TTEzNS4xIDgzLjVjLS41IDQuMiA0LjYgMjQuNSAxNC42IDIwLjYgMTI0LjgtNDcuNSAyMDIuOCA0MC40IDIwOS40IDQwLjQgNC44IDAgMjIuOC0xNS4zIDE0LjMtMjIuOC05My4yLTg5LTIzNC41LTU3LTIzOC4zLTM4LjJ6TTM2MS41IDQxNC43Yy0xMTAgMTA5LjktMjk5IDYwLjgtMzMyLTEwNC4yIDAtMTIuMi0zMC40LTcuNC0yOC45IDMuMyAyNCAxNzMuNCAyNDYgMjU2LjkgMzgxLjYgMTIxLjMgNi45LTcuOC0xMi42LTI4LjQtMjAuNy0yMC40ek0xODIuMSAzMDYuNmMwIDQgNC4zIDcuMyA1LjUgOC41IDMgMyA2LjEgNC40IDguNSA0LjQgMy44IDAgMi42IC4yIDIyLjMtMTkuNSAxOS42IDE5LjMgMTkuMSAxOS41IDIyLjMgMTkuNSA1LjQgMCAxOC41LTEwLjQgMTAuNy0xOC4ybC0xNy4zLTE3LjMgMTguMi0xOC4yYzYuMy02LjgtMTAuMS0yMS44LTE2LjItMTUuN0wyMTguMiAyNjhjLTE4LjYtMTguOC0xOC40LTE5LjUtMjEuNS0xOS41LTUgMC0xOCAxMS43LTEyLjQgMTcuM0wyMDIuNSAyODRjLTE4LjEgMTcuOS0yMC40IDE5LjItMjAuNCAyMi42eiJdfSxpOXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYWZmaWxpYXRldGhlbWUiLGljb246WzUxMiw1MTIsW10sImYzNmIiLCJNMTU5LjcgMjM3LjRDMTA4LjQgMzA4LjMgNDMuMSAzNDguMiAxNCAzMjYuNi0xNS4yIDMwNC45IDIuOCAyMzAgNTQuMiAxNTkuMSAxMDUuNSA4OC4yIDE3MC44IDQ4LjMgMTk5LjkgNjkuOXMxMS4xIDk2LjYtNDAuMiAxNjcuNXptMzUxLjItNTcuM2MtNzMuOCAxMjMuNC0xOTEuOSAxODcuNy0yNjQuNSAxNDMuNi0yNS0xNS4yLTQxLjMtNDEuMi00OS03My44LTMzLjYgNjQuOC05Mi44IDExMy44LTE2NC4xIDEzMy4yIDQ5LjggNTkuMyAxMjQuMSA5Ni45IDIwNyA5Ni45IDE1MCAwIDI3MS42LTEyMy4xIDI3MS42LTI3NC45IC4xLTguNS0uMy0xNi44LTEtMjV6Il19LHM5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZWQtcml2ZXIiLGljb246WzQ0OCw1MTIsW10sImYzZTMiLCJNMzUzLjIgMzJMOTQuOCAzMkM0Mi40IDMyIDAgNzQuNCAwIDEyNi44TDAgMzg1LjJDMCA0MzcuNiA0Mi40IDQ4MCA5NC44IDQ4MGwyNTguNCAwYzUyLjQgMCA5NC44LTQyLjQgOTQuOC05NC44bDAtMjU4LjRDNDQ4IDc0LjQgNDA1LjYgMzIgMzUzLjIgMzJ6TTE0NC45IDIwMC45bDAgNTYuM2MwIDI3LTIxLjkgNDguOS00OC45IDQ4LjlsMC0xNTQuMmMwLTEzLjIgMTAuNy0yMy45IDIzLjktMjMuOWwxNTQuMiAwYzAgMjctMjEuOSA0OC45LTQ4LjkgNDguOWwtNTYuMyAwYy0xMi4zLS42LTI0LjYgMTEuNi0yNCAyNHptMTc2LjMgNzJsLTU2LjMgMGMtMTIuMy0uNi0yNC42IDExLjYtMjQgMjRsMCA1Ni4zYzAgMjctMjEuOSA0OC45LTQ4LjkgNDguOWwwLTE1NC4yYzAtMTMuMiAxMC43LTIzLjkgMjMuOS0yMy45bDE1NC4yIDBjMCAyNy0yMS45IDQ4LjktNDguOSA0OC45eiJdfSxORz17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0d2l0dGVyIixpY29uOls1MTIsNTEyLFtdLCJmMDk5IiwiTTQ1OS40IDE1MS43Yy4zIDQuNSAuMyA5LjEgLjMgMTMuNiAwIDEzOC43LTEwNS42IDI5OC42LTI5OC42IDI5OC42LTU5LjUgMC0xMTQuNy0xNy4yLTE2MS4xLTQ3LjEgOC40IDEgMTYuNiAxLjMgMjUuMyAxLjMgNDkuMSAwIDk0LjItMTYuNiAxMzAuMy00NC44LTQ2LjEtMS04NC44LTMxLjItOTguMS03Mi44IDYuNSAxIDEzIDEuNiAxOS44IDEuNiA5LjQgMCAxOC44LTEuMyAyNy42LTMuNi00OC4xLTkuNy04NC4xLTUyLTg0LjEtMTAzbDAtMS4zYzE0IDcuOCAzMC4yIDEyLjcgNDcuNCAxMy4zLTI4LjMtMTguOC00Ni44LTUxLTQ2LjgtODcuNCAwLTE5LjUgNS4yLTM3LjQgMTQuMy01MyA1MS43IDYzLjcgMTI5LjMgMTA1LjMgMjE2LjQgMTA5LjgtMS42LTcuOC0yLjYtMTUuOS0yLjYtMjQgMC01Ny44IDQ2LjgtMTA0LjkgMTA0LjktMTA0LjkgMzAuMiAwIDU3LjUgMTIuNyA3Ni43IDMzLjEgMjMuNy00LjUgNDYuNS0xMy4zIDY2LjYtMjUuMy03LjggMjQuNC0yNC40IDQ0LjgtNDYuMSA1Ny44IDIxLjEtMi4zIDQxLjYtOC4xIDYwLjQtMTYuMi0xNC4zIDIwLjgtMzIuMiAzOS4zLTUyLjYgNTQuM3oiXX0sbzl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZvcnQtYXdlc29tZSIsaWNvbjpbNTEyLDUxMixbXSwiZjI4NiIsIk00ODkuNSAyODcuOWwtMjcuNCAwYy0yLjYgMC00LjYgMi00LjYgNC42bDAgMzItMzYuNiAwIDAtMTc4LjNjMC0yLjYtMi00LjYtNC42LTQuNmwtMjcuNCAwYy0yLjYgMC00LjYgMi00LjYgNC42bDAgMzItMzYuNiAwIDAtMzJjMC0yLjYtMi00LjYtNC42LTQuNmwtMjcuNCAwYy0yLjYgMC00LjYgMi00LjYgNC42bDAgMzItMzYuNiAwIDAtMzJjMC02LTgtNC42LTExLjctNC42bDAtMzhjOC4zLTIgMTcuMS0zLjQgMjUuNy0zLjQgMTAuOSAwIDIwLjkgNC4zIDMxLjQgNC4zIDQuNiAwIDI3LjctMS4xIDI3LjctOGwwLTYwYzAtMi42LTItNC42LTQuNi00LjYtNS4xIDAtMTUuMSA0LjMtMjQgNC4zLTkuNyAwLTIwLjktNC4zLTMyLjYtNC4zLTggMC0xNiAxLjEtMjMuNyAyLjlsMC00LjljNS40LTIuNiA5LjEtOC4zIDkuMS0xNC4zIDAtMjAuNy0zMS40LTIwLjgtMzEuNCAwIDAgNiAzLjcgMTEuNyA5LjEgMTQuM2wwIDExMS43Yy0zLjcgMC0xMS43LTEuNC0xMS43IDQuNmwwIDMyLTM2LjYgMCAwLTMyYzAtMi42LTItNC42LTQuNi00LjZsLTI3LjQgMGMtMi42IDAtNC42IDItNC42IDQuNmwwIDMyLTM2LjMgMCAwLTMyYzAtMi42LTItNC42LTQuNi00LjZsLTI3LjQgMGMtMi42IDAtNC42IDItNC42IDQuNmwwIDE3OC4zLTM2LjYgMCAwLTMyYzAtMi42LTItNC42LTQuNi00LjZsLTI3LjQgMGMtMi42IDAtNC42IDItNC42IDQuNmwwIDIxOS41IDE4Mi45IDAgMC05NmMwLTcyLjYgMTA5LjctNzIuNiAxMDkuNyAwbDAgOTYgMTgyLjkgMCAwLTIxOS41Yy4xLTIuNi0xLjktNC42LTQuNS00LjZ6bS0yODguMS00LjVjMCAyLjYtMiA0LjYtNC42IDQuNmwtMjcuNCAwYy0yLjYgMC00LjYtMi00LjYtNC42bDAtNjRjMC0yLjYgMi00LjYgNC42LTQuNmwyNy40IDBjMi42IDAgNC42IDIgNC42IDQuNmwwIDY0em0xNDYuNCAwYzAgMi42LTIgNC42LTQuNiA0LjZsLTI3LjQgMGMtMi42IDAtNC42LTItNC42LTQuNmwwLTY0YzAtMi42IDItNC42IDQuNi00LjZsMjcuNCAwYzIuNiAwIDQuNiAyIDQuNiA0LjZsMCA2NHoiXX0sbjl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1peGVyIixpY29uOls0NDgsNTEyLFtdLCJlMDU2IiwiTTgyLjYgNzYuMWMtMy44LTUuMS04LjctOS40LTE0LjItMTIuNXMtMTEuNy01LjEtMTguMS01LjctMTIuOCAuMS0xOC44IDIuMi0xMS42IDUuMy0xNi4zIDkuNmMtMTcuNiAxNi4yLTE5IDQzLjUtNC44IDYyLjhsOTEuOCAxMjMtOTIuMyAxMjQuMWMtMTQuMiAxOS4zLTEzLjEgNDYuNiA0LjcgNjIuOCA0LjcgNC4zIDEwLjMgNy42IDE2LjMgOS42czEyLjUgMi44IDE4LjggMi4yIDEyLjUtMi41IDE4LjEtNS43IDEwLjQtNy40IDE0LjItMTIuNUwyMTAuOSAyNjIuN2MxLjUtMi4xIDIuMy00LjYgMi4zLTcuMXMtLjgtNS0yLjMtNy4xTDgyLjYgNzYuMXpNNDM4LjIgMzc5LjZsLTkyLjMtMTI0LjEgOTEuOC0xMjNjMTQuMi0xOS4yIDEyLjgtNDYuNi00LjctNjIuOC00LjctNC4zLTEwLjMtNy42LTE2LjMtOS42cy0xMi41LTIuOC0xOC44LTIuMi0xMi41IDIuNS0xOC4xIDUuNy0xMC40IDcuNC0xNC4yIDEyLjVsLTEyOCAxNzIuMWMtMS41IDIuMS0yLjMgNC42LTIuMyA3LjFzLjggNSAyLjMgNy4xTDM2NiA0MzUuOWMzLjggNS4xIDguNyA5LjQgMTQuMiAxMi41czExLjcgNS4xIDE4LjEgNS43IDEyLjgtLjEgMTguOC0yLjIgMTEuNi01LjMgMTYuMy05LjZjMTcuOC0xNi4yIDE5LTQzLjUgNC43LTYyLjh6Il19LGw5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJseWZ0IixpY29uOls1MTIsNTEyLFtdLCJmM2MzIiwiTTAgODEuMWw3Ny44IDAgMCAyMDguN2MwIDMzLjEgMTUgNTIuOCAyNy4yIDYxLTEyLjcgMTEuMS01MS4yIDIwLjktODAuMi0yLjgtMTctMTQtMjQuOC0zNy4zLTI0LjgtNTlMMCA4MS4xek00ODUuOSAyNTQuNmwwLTIyIDIzLjggMCAwLTc2LjgtMjYuMSAwYy0xMC4xLTQ2LjMtNTEuMi04MC43LTEwMC4zLTgwLjctNTYuNiAwLTEwMi43IDQ2LTEwMi43IDEwMi43bDAgMTc5LjJjMTYgMi4zIDM1LjQtLjMgNTEuNy0xNCAxNy4xLTE0IDI0LjgtMzcuMiAyNC44LTU5bDAtNi43IDM4LjggMCAwLTc2LjgtMzguOCAwIDAtMjMuM2MwLTM0LjYgNTIuMi0zNC42IDUyLjIgMGwwIDc3LjFjMCA1Ni42IDQ2IDEwMi43IDEwMi43IDEwMi43bDAtNzYuNWMtMTQuNSAwLTI2LjEtMTEuNy0yNi4xLTI1Ljl6bS0yOTQuMy05OWwwIDExM2MwIDE1LjQtMjMuOCAxNS40LTIzLjggMGwwLTExMy03Ni44IDAgMCAxMzIuN2MwIDIzLjggOCA1NCA0NSA2My45IDM3IDkuOCA1OC4yLTEwLjYgNTguMi0xMC42LTIuMSAxMy40LTE0LjUgMjMuMy0zNC45IDI1LjMtMTUuNSAxLjYtMzUuMi0zLjYtNDUtNy44bDAgNzAuM2MyNS4xIDcuNSA1MS41IDkuOCA3Ny42IDQuNyA0Ny4xLTkuMSA3Ni44LTQ4LjQgNzYuOC0xMDAuOGwwLTE3OC4yLTc3LjEgMCAwIC41eiJdfSxjOXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXBwbGUtcGF5IixpY29uOls2NDAsNTEyLFtdLCJmNDE1IiwiTTExNi45IDE1OC41Yy03LjUgOC45LTE5LjUgMTUuOS0zMS41IDE0LjktMS41LTEyIDQuNC0yNC44IDExLjMtMzIuNiA3LjUtOS4xIDIwLjYtMTUuNiAzMS4zLTE2LjEgMS4yIDEyLjQtMy43IDI0LjctMTEuMSAzMy44em0xMC45IDE3LjJjLTE3LjQtMS0zMi4zIDkuOS00MC41IDkuOS04LjQgMC0yMS05LjQtMzQuOC05LjEtMTcuOSAuMy0zNC41IDEwLjQtNDMuNiAyNi41LTE4LjggMzIuMy00LjkgODAgMTMuMyAxMDYuMyA4LjkgMTMgMTkuNSAyNy4zIDMzLjUgMjYuOCAxMy4zLS41IDE4LjUtOC42IDM0LjUtOC42IDE2LjEgMCAyMC44IDguNiAzNC44IDguNCAxNC41LS4zIDIzLjYtMTMgMzIuNS0yNiAxMC4xLTE0LjggMTQuMy0yOS4xIDE0LjUtMjkuOS0uMy0uMy0yOC0xMC45LTI4LjMtNDIuOS0uMy0yNi44IDIxLjktMzkuNSAyMi45LTQwLjMtMTIuNS0xOC42LTMyLTIwLjYtMzguOC0yMS4xem0xMDAuNC0zNi4ybDAgMTk0LjkgMzAuMyAwIDAtNjYuNiA0MS45IDBjMzguMyAwIDY1LjEtMjYuMyA2NS4xLTY0LjNzLTI2LjQtNjQtNjQuMS02NGwtNzMuMiAwek0yNTguNSAxNjVsMzQuOSAwYzI2LjMgMCA0MS4zIDE0IDQxLjMgMzguNnMtMTUgMzguOC00MS40IDM4LjhsLTM0LjggMCAwLTc3LjR6TTQyMC43IDMzNS45YzE5IDAgMzYuNi05LjYgNDQuNi0yNC45bC42IDAgMCAyMy40IDI4IDAgMC05N2MwLTI4LjEtMjIuNS00Ni4zLTU3LjEtNDYuMy0zMi4xIDAtNTUuOSAxOC40LTU2LjggNDMuNmwyNy4zIDBjMi4zLTEyIDEzLjQtMTkuOSAyOC42LTE5LjkgMTguNSAwIDI4LjkgOC42IDI4LjkgMjQuNWwwIDEwLjgtMzcuOCAyLjNjLTM1LjEgMi4xLTU0LjEgMTYuNS01NC4xIDQxLjUgLjEgMjUuMiAxOS43IDQyIDQ3LjggNDJ6bTguMi0yMy4xYy0xNi4xIDAtMjYuNC03LjgtMjYuNC0xOS42IDAtMTIuMyA5LjktMTkuNCAyOC44LTIwLjVsMzMuNi0yLjEgMCAxMWMwIDE4LjItMTUuNSAzMS4yLTM2IDMxLjJ6bTEwMi41IDc0LjZjMjkuNSAwIDQzLjQtMTEuMyA1NS41LTQ1LjRsNTMuMS0xNDktMzAuOCAwLTM1LjYgMTE1LjEtLjYgMC0zNS42LTExNS4xLTMxLjYgMCA1MS4yIDE0MS45LTIuOCA4LjZjLTQuNiAxNC42LTEyLjEgMjAuMy0yNS41IDIwLjMtMi40IDAtNy0uMy04LjktLjVsMCAyMy40YzEuOCAuNCA5LjMgLjcgMTEuNiAuN3oiXX0sZDl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFydHN0YXRpb24iLGljb246WzUxMiw1MTIsW10sImY3N2EiLCJNMi4xIDM3Ny40bDQzIDc0LjNjNC4zIDguNSAxMC44IDE1LjcgMTguOSAyMC43czE3LjQgNy42IDI3IDcuNmwyODUuNCAwLTU5LjItMTAyLjYtMzE1LjEgMHpNNTAxLjkgMzUwTDMzNS43IDU5LjNjLTQuNC04LjItMTAuOS0xNS4xLTE4LjktMjBTMjk5LjcgMzIgMjkwLjQgMzJsLTg4LjQgMCAyNTcuMyA0NDcuNiA0MC43LTcwLjVjMS45LTMuMiAyMS0yOS43IDItNTkuMXpNMjc1LjIgMzA0LjVsLTExNS41LTIwMC0xMTUuNSAyMDAgMjMxIDB6Il19LHA5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJub2RlLWpzIixpY29uOls0NDgsNTEyLFtdLCJmM2QzIiwiTTIyNC41IDUwOGMtNi43IDAtMTMuNS0xLjgtMTkuNC01LjJsLTYxLjctMzYuNWMtOS4yLTUuMi00LjctNy0xLjctOCAxMi4zLTQuMyAxNC44LTUuMiAyNy45LTEyLjcgMS40LS44IDMuMi0uNSA0LjYgLjRsNDcuNCAyOC4xYzEuNyAxIDQuMSAxIDUuNyAwTDQxMiAzNjcuNWMxLjctMSAyLjgtMyAyLjgtNWwwLTIxMy4yYzAtMi4xLTEuMS00LTIuOS01LjFMMjI3LjMgMzcuN2MtMS43LTEtNC0xLTUuNyAwTDM3LjEgMTQ0LjNjLTEuOCAxLTIuOSAzLTIuOSA1LjFsMCAyMTMuMWMwIDIgMS4xIDQgMi45IDQuOWw1MC42IDI5LjJjMjcuNSAxMy43IDQ0LjMtMi40IDQ0LjMtMTguN2wwLTIxMC40YzAtMyAyLjQtNS4zIDUuNC01LjNsMjMuNCAwYzIuOSAwIDUuNCAyLjMgNS40IDUuM2wwIDIxMC41YzAgMzYuNi0yMCA1Ny42LTU0LjcgNTcuNi0xMC43IDAtMTkuMSAwLTQyLjUtMTEuNkwyMC42IDM5Ni4xYy0xMi02LjktMTkuNC0xOS44LTE5LjQtMzMuN2wwLTIxMy4xYzAtMTMuOCA3LjQtMjYuOCAxOS40LTMzLjdMMjA1LjEgOWMxMS43LTYuNiAyNy4yLTYuNiAzOC44IDBMNDI4LjYgMTE1LjdjMTIgNi45IDE5LjQgMTkuOCAxOS40IDMzLjdsMCAyMTMuMWMwIDEzLjgtNy40IDI2LjctMTkuNCAzMy43TDI0My45IDUwMi44Yy01LjkgMy40LTEyLjYgNS4yLTE5LjQgNS4yek0zNzMuNiAyOTcuOWMwLTM5LjktMjctNTAuNS04My43LTU4LTU3LjQtNy42LTYzLjItMTEuNS02My4yLTI0LjkgMC0xMS4xIDQuOS0yNS45IDQ3LjQtMjUuOSAzNy45IDAgNTEuOSA4LjIgNTcuNyAzMy44IC41IDIuNCAyLjcgNC4yIDUuMiA0LjJsMjQgMGMxLjUgMCAyLjktLjYgMy45LTEuN3MxLjUtMi42IDEuNC00LjFjLTMuNy00NC4xLTMzLTY0LjYtOTIuMi02NC42LTUyLjcgMC04NC4xIDIyLjItODQuMSA1OS41IDAgNDAuNCAzMS4zIDUxLjYgODEuOCA1Ni42IDYwLjUgNS45IDY1LjIgMTQuOCA2NS4yIDI2LjcgMCAyMC42LTE2LjYgMjkuNC01NS41IDI5LjQtNDguOSAwLTU5LjYtMTIuMy02My4yLTM2LjYtLjQtMi42LTIuNi00LjUtNS4zLTQuNWwtMjMuOSAwYy0zIDAtNS4zIDIuNC01LjMgNS4zIDAgMzEuMSAxNi45IDY4LjIgOTcuOCA2OC4yIDU4LjQtLjEgOTItMjMuMiA5Mi02My40eiJdfSx1OXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidW5jaGFydGVkIixpY29uOls0NDgsNTEyLFtdLCJlMDg0IiwiTTE3MS44IDIzMi44YzEuMSAwIDIuMS0uMyAzLS45czEuNi0xLjQgMi0yLjRjMi4yLTkuOCA3LjQtMTguNiAxNC45LTI1LjMgMS4yLS44IDEuNy0yLjUgMS43LTQuMS0uMS0uNy0uMy0xLjMtLjYtMS45cy0uOS0xLjEtMS40LTEuNEw3NC41IDEyOC41IDE0OS4xIDg1YzEuNS0uOCAyLjctMiAzLjYtMy41czEuNC0zLjEgMS40LTQuOGMwLTEuNy0uNC0zLjQtMS4zLTQuOXMtMi4yLTIuNy0zLjctMy40TDEyNi43IDU1LjZjLTEuNS0uOC0zLjEtMS4yLTQuOC0xLjJzLTMuMyAuNC00LjggMS4yTDE3IDExMy42Yy0xLjUgLjgtMi43IDItMy42IDMuNXMtMS40IDMuMS0xLjQgNC44TDEyIDIzN2MwIDEuNyAuNCAzLjQgMS4zIDQuOXMyLjIgMi43IDMuNyAzLjRsMjIuNCAxMi44YzEuNSAuOSAzLjIgMS4zIDUgMS4yIDIuNCAuMSA0LjgtLjggNi42LTIuNSAxLjgtMS45IDIuOC00LjQgMi45LTdsMC04NS4zIDExNS45IDY3LjljLjYgLjMgMS40IC40IDIuMSAuNHpNMzIzLjQgMzc3LjdjLTEuNyAuMS0zLjQgLjUtNSAxLjJsLTc0LjUgNDMuMSAwLTEzNC4yYzAtMi45LTIuOS01LjgtNi4yLTQuNi05LjQgMi44LTE5LjUgMy0yOSAuNC0uNy0uMi0xLjUtLjItMi4yLS4xcy0xLjQgLjQtMiAuOS0xLjEgMS0xLjQgMS43LS41IDEuNC0uNSAyLjFsMCAxMzMuMy03NC41LTQzLjFjLTEuNS0uOS0zLjItMS4zLTUtMS4yLTIuNSAwLTQuOSAxLTYuNyAyLjhzLTIuOCA0LjItMi44IDYuN2wwIDI2LjFjMCAxLjcgLjQgMy40IDEuMyA0LjlzMi4yIDIuNyAzLjcgMy40bDEwMC4yIDU3LjZjMS41IC45IDMuMiAxLjMgNSAxLjIgMS43IDAgMy40LS40IDUtMS4ybDEwMC4yLTU3LjZjMS41LS44IDIuNy0yIDMuNi0zLjVzMS40LTMuMSAxLjQtNC44bDAtMjYuMWMtLjgtNC42LTUuNC05LjEtMTAuNC05LjF6TTI4Ni4xIDc4YTIzIDIzIDAgMSAwIDAtNDYgMjMgMjMgMCAxIDAgMCA0NnptNjMuNi0xMC4xYTIzIDIzIDAgMSAwIDAgNDYgMjMgMjMgMCAxIDAgMC00NnptNjMuMiA4My43YTIzIDIzIDAgMSAwIDAtNDYgMjMgMjMgMCAxIDAgMCA0NnptLTYzLjItOS4yYTIzIDIzIDAgMSAwIDAgNDYgMjMgMjMgMCAxIDAgMC00NnptLTYzLjYgODMuMmM0LjUgMCA5LTEuMyAxMi44LTMuOXM2LjctNi4xIDguNS0xMC4zIDIuMi04LjggMS4zLTEzLjMtMy4xLTguNi02LjMtMTEuOC03LjMtNS40LTExLjgtNi4zLTkuMS0uNC0xMy4zIDEuMy03LjggNC43LTEwLjMgOC41LTMuOSA4LjItMy45IDEyLjhjMCAzIC42IDYgMS44IDguOHMyLjkgNS4zIDUgNy41IDQuNyAzLjggNy41IDUgNS44IDEuOCA4LjggMS44bDAgMHpNMjI0IDI2MmM0LjUgMCA5LTEuNCAxMi44LTMuOXM2LjctNi4xIDguNS0xMC4zIDIuMi04LjggMS4zLTEzLjMtMy4xLTguNi02LjMtMTEuOC03LjMtNS40LTExLjgtNi4zLTkuMS0uNC0xMy4zIDEuMy03LjggNC43LTEwLjMgOC41LTMuOSA4LjItMy45IDEyLjhjMCAzIC42IDYgMS43IDguOHMyLjggNS4zIDUgNy41IDQuNyAzLjggNy41IDUgNS44IDEuOCA4LjggMS44bDAgMHptMTg4LjktODIuNGMtNC42IDAtOSAxLjMtMTIuOCAzLjlzLTYuNyA2LjEtOC41IDEwLjMtMi4yIDguOC0xLjMgMTMuMyAzLjEgOC42IDYuMyAxMS44IDcuMyA1LjQgMTEuOCA2LjMgOS4xIC40IDEzLjMtMS4zIDcuOC00LjcgMTAuMy04LjUgMy45LTguMiAzLjktMTIuOGMwLTYuMS0yLjQtMTEuOS02LjctMTYuM3MtMTAuMi02LjctMTYuMy02LjdsMCAwem0wIDcyLjNjLTQuNiAwLTkgMS4zLTEyLjggMy45cy02LjcgNi4xLTguNSAxMC4zLTIuMiA4LjgtMS4zIDEzLjMgMy4xIDguNiA2LjMgMTEuOCA3LjMgNS40IDExLjggNi4zIDkuMSAuNCAxMy4zLTEuMyA3LjgtNC43IDEwLjMtOC41IDMuOS04LjIgMy45LTEyLjhjMC02LjEtMi40LTExLjktNi43LTE2LjNzLTEwLjItNi43LTE2LjMtNi43bDAgMHoiXX0sZjl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBsYXlzdGF0aW9uIixpY29uOls1NzYsNTEyLFtdLCJmM2RmIiwiTTU3MSAzNzIuM2MtMTEuMyAxNC4yLTM4LjggMjQuMy0zOC44IDI0LjNsLTIwNS4xIDczLjYgMC01NC4zIDE1MC45LTUzLjhjMTcuMS02LjEgMTkuOC0xNC44IDUuOC0xOS40LTEzLjktNC42LTM5LjEtMy4zLTU2LjIgMi45bC0xMDAuNSAzNS41IDAtNTYuNGMyMy4yLTcuOCA0Ny4xLTEzLjYgNzUuNy0xNi44IDQwLjktNC41IDkwLjkgLjYgMTMwLjIgMTUuNSA0NC4yIDE0IDQ5LjIgMzQuNyAzOCA0OC45ek0zNDYuNiAyNzkuOGwwLTEzOWMwLTE2LjMtMy0zMS4zLTE4LjMtMzUuNi0xMS43LTMuOC0xOSA3LjEtMTkgMjMuNGwwIDM0Ny45LTkzLjgtMjkuOCAwLTQxNC43YzM5LjkgNy40IDk4IDI0LjkgMTI5LjIgMzUuNCA3OS41IDI3LjMgMTA2LjQgNjEuMyAxMDYuNCAxMzcuOCAwIDc0LjUtNDYgMTAyLjgtMTA0LjUgNzQuNnpNNDMuMyA0MTAuMmMtNDUuNC0xMi44LTUzLTM5LjUtMzIuMy01NC44IDE5LjEtMTQuMiA1MS43LTI0LjkgNTEuNy0yNC45bDEzNC41LTQ3LjggMCA1NC41LTk2LjggMzQuNmMtMTcuMSA2LjEtMTkuNyAxNC44LTUuOCAxOS40czM5LjEgMy4zIDU2LjItMi45bDQ2LjQtMTYuOSAwIDQ4LjhjLTUxLjYgOS4zLTEwMS40IDcuMy0xNTMuOS0xMHoiXX0saDl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1pY3JvYmxvZyIsaWNvbjpbNDQ4LDUxMixbXSwiZTAxYSIsIk0zOTkuOCAzNjIuMmMyOS41LTM0LjcgNDcuMS03OC4zIDQ3LjEtMTI1LjggMC0xMTMtOTkuNi0yMDQuNC0yMjIuNS0yMDQuNFMyIDEyMy41IDIgMjM2LjQgMTAxLjYgNDQwLjkgMjI0LjUgNDQwLjljMjcgMCA1My45LTQuNSA3OS40LTEzLjQgMS40LS41IDMtLjUgNC41LS4xczIuNyAxLjQgMy42IDIuNmMxOC42IDI1LjEgNDcuNiA0Mi43IDc5LjkgNDkuOSAxLjEgLjIgMi4zIDAgMy4zLS42czEuNy0xLjYgMS45LTIuOGMuMS0uNiAuMS0xLjMgMC0xLjlzLS40LTEuMi0uOC0xLjdjLTEyLjMtMTYtMTguNy0zNS44LTE4LTU2czguNC0zOS41IDIxLjctNTQuN2wtLjIgLjF6TTMzMCAyMTIuNGwtNTcuMyA0My41IDIwLjggNjguOWMuNCAxLjMgLjQgMi43LS4xIDRzLTEuMiAyLjQtMi4zIDMuMi0yLjQgMS4yLTMuOCAxLjItMi43LS40LTMuOC0xLjJsLTU5LjEtNDEtNTkuMSA0MS4xYy0xLjEgLjgtMi40IDEuMi0zLjggMS4ycy0yLjctLjQtMy44LTEuMi0xLjktMS45LTIuMy0zLjItLjUtMi43LS4xLTRsMjAuOC02OC45LTU3LjMtNDMuNWMtMS4xLS44LTEuOS0xLjktMi4zLTMuMnMtLjQtMi43IDAtNCAxLjItMi40IDIuMy0zLjIgMi40LTEuMyAzLjctMS4zbDcxLjktMS41IDIzLjctNjcuOWMuNC0xLjMgMS4zLTIuNCAyLjQtMy4yczIuNC0xLjIgMy44LTEuMiAyLjcgLjQgMy44IDEuMiAxLjkgMS45IDIuNCAzLjJsMjMuNyA2Ny45IDcxLjkgMS41YzEuNCAwIDIuNyAuNCAzLjggMS4yczEuOSAxLjkgMi4zIDMuMiAuNCAyLjcgMCA0LTEuMiAyLjQtMi4zIDMuM2wwIDB6Il19LG05dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnaXRrcmFrZW4iLGljb246WzU3Niw1MTIsW10sImYzYTYiLCJNNTU3LjcgMTE4LjFjLTIuMy02LjEtOS4zLTkuMi0xNS4zLTYuNi01LjcgMi40LTguNSA4LjktNi4zIDE0LjYgMTAuOSAyOSAxNi45IDYwLjUgMTYuOSA5My4zIDAgMTM0LjYtMTAwLjMgMjQ1LjctMjMwLjIgMjYyLjdsMC0xMjMuN2M3LjktMS41IDE1LjUtMy42IDIzLTYuMmwwIDEwNGMxMDYuNy0yNS45IDE4NS45LTEyMi4xIDE4NS45LTIzNi44IDAtOTEuOC01MC44LTE3MS44LTEyNS44LTIxMy4zLTUuNy0zLjItMTMtLjktMTUuOSA1LTIuNyA1LjUtLjYgMTIuMiA0LjcgMTUuMSA2Ny45IDM3LjYgMTEzLjkgMTEwIDExMy45IDE5My4yIDAgOTMuMy01Ny45IDE3My4xLTEzOS44IDIwNS40bDAtOTIuMmMxNC4yLTQuNSAyNC45LTE3LjcgMjQuOS0zMy41IDAtMTMuMS02LjgtMjQuNC0xNy4zLTMwLjUgOC4zLTc5LjUgNDQuNS01OC42IDQ0LjUtODMuOWwwLTE0LjdjMC0zOC04Ny45LTE2MS44LTEyOS0xNjQuNy0yLjUtLjItNS0uMi03LjYgMC00MS4yIDMtMTI5LjEgMTI2LjctMTI5LjEgMTY0LjdsMCAxNC44YzAgMjUuMyAzNi4zIDQuMyA0NC41IDgzLjktMTAuNiA2LjEtMTcuMyAxNy40LTE3LjMgMzAuNSAwIDE1LjggMTAuNiAyOSAyNC44IDMzLjVsMCA5Mi4yYy04MS45LTMyLjItMTM5LjgtMTEyLTEzOS44LTIwNS40IDAtODMuMSA0Ni0xNTUuNSAxMTMuOS0xOTMuMiA1LjQtMyA3LjQtOS42IDQuNy0xNS4xLTIuOS01LjktMTAuMS04LjItMTUuOS01LTc1IDQxLjUtMTI1LjggMTIxLjUtMTI1LjggMjEzLjMgMCAxMTQuNyA3OS4yIDIxMC44IDE4NS45IDIzNi44bDAtMTA0YzcuNiAyLjUgMTUuMSA0LjYgMjMgNi4ybDAgMTIzLjdjLTEyOS44LTE3LTIzMC4yLTEyOC4xLTIzMC4yLTI2Mi43IDAtMzIuOCA2LTY0LjMgMTYuOS05My4zIDIuMi01LjgtLjYtMTIuMi02LjMtMTQuNi02LTIuNi0xMyAuNC0xNS4zIDYuNi0xMS44IDMxLjUtMTguMyA2NS42LTE4LjMgMTAxLjMgMCAxNTUuMSAxMjIuNiAyODEuNiAyNzYuMyAyODcuOGwwLTE0NS45YzYuOCAuNCAxNSAuNSAyMy40IDBsMCAxNDUuOGMxNTMuNy02LjEgMjc2LjMtMTMyLjYgMjc2LjMtMjg3LjcgMC0zNS43LTYuNS02OS44LTE4LjMtMTAxLjR6TTM1Ny45IDMyMi45YTIzLjcgMjMuNyAwIDEgMSAwLTQ3LjQgMjMuNyAyMy43IDAgMSAxIDAgNDcuNHpNMjE4LjEgMjc1LjRhMjMuNyAyMy43IDAgMSAxIDAgNDcuNCAyMy43IDIzLjcgMCAxIDEgMC00Ny40eiJdfSxSb2U9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGVsZWdyYW0iLGljb246WzUxMiw1MTIsWzYyNDYyLCJ0ZWxlZ3JhbS1wbGFuZSJdLCJmMmM2IiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNMzcxIDE3Ni43Yy0zLjcgMzkuMi0xOS45IDEzNC40LTI4LjEgMTc4LjMtMy41IDE4LjYtMTAuMyAyNC44LTE2LjkgMjUuNC0xNC40IDEuMy0yNS4zLTkuNS0zOS4zLTE4LjctMjEuOC0xNC4zLTM0LjItMjMuMi01NS4zLTM3LjItMjQuNS0xNi4xLTguNi0yNSA1LjMtMzkuNSAzLjctMy44IDY3LjEtNjEuNSA2OC4zLTY2LjcgLjItLjcgLjMtMy4xLTEuMi00LjRzLTMuNi0uOC01LjEtLjVjLTIuMiAuNS0zNy4xIDIzLjUtMTA0LjYgNjkuMS05LjkgNi44LTE4LjkgMTAuMS0yNi45IDkuOS04LjktLjItMjUuOS01LTM4LjYtOS4xLTE1LjUtNS0yNy45LTcuNy0yNi44LTE2LjMgLjYtNC41IDYuNy05IDE4LjQtMTMuNyA3Mi4zLTMxLjUgMTIwLjUtNTIuMyAxNDQuNi02Mi4zIDY4LjktMjguNiA4My4yLTMzLjYgOTIuNS0zMy44IDIuMSAwIDYuNiAuNSA5LjYgMi45IDIgMS43IDMuMiA0LjEgMy41IDYuNyAuNSAzLjIgLjYgNi41IC40IDkuOHoiXX0sZzl0PVJvZSxiOXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidWx0cmFseXRpY3MiLGljb246WzUxMiw1MTIsW10sImU4NmQiLCJNMzkxLjQgMzkuN2M2NS44LS4yIDExOC42IDUxLjggMTIwLjQgMTE2LjYgLjcgMjYuNC0xLjUgNTQuMS0zLjggNzQuMS0xNy4yIDE0OC42LTEyMi40IDI0Mi0yNTIuNCAyNDItOTUuNC0uMS0xNzkuNC01Mi43LTIyMy4yLTEzMC42IDI0LjQgMTcuNCA1NC41IDI3LjQgODcuNiAyNy40IDgzLjIgLjEgMTUxLjQtNjcuNCAxNTEuMi0xNTBsLjEtNjAuNmMtLjItNjUuNyA1My45LTExOSAxMjAuMS0xMTguOXpNMTE5LjkgMTAwLjJjNjYuMiAwIDExOS45IDUzLjMgMTE5LjkgMTE5UzE4Ni4xIDMzOC4zIDExOS45IDMzOC4zIDAgMjg1IDAgMjE5LjNjMC02NS43IDUzLjctMTE5IDExOS45LTExOXoiXX0sdjl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Iml0dW5lcy1ub3RlIixpY29uOlszODQsNTEyLFtdLCJmM2I1IiwiTTM4MS45IDM4OC4yYy02LjQgMjcuNC0yNy4yIDQyLjgtNTUuMSA0OC0yNC41IDQuNS00NC45IDUuNi02NC41LTEwLjItMjMuOS0yMC4xLTI0LjItNTMuNC0yLjctNzQuNCAxNy0xNi4yIDQwLjktMTkuNSA3Ni44LTI1LjggNi0xLjEgMTEuMi0yLjUgMTUuNi03LjQgNi40LTcuMiA0LjQtNC4xIDQuNC0xNjMuMiAwLTExLjItNS41LTE0LjMtMTctMTIuMy04LjIgMS40LTE4NS43IDM0LjYtMTg1LjcgMzQuNi0xMC4yIDIuMi0xMy40IDUuMi0xMy40IDE2LjcgMCAyMzQuNyAxLjEgMjIzLjktMi41IDIzOS41LTQuMiAxOC4yLTE1LjQgMzEuOS0zMC4yIDM5LjUtMTYuOCA5LjMtNDcuMiAxMy40LTYzLjQgMTAuNC00My4yLTguMS01OC40LTU4LTI5LjEtODYuNiAxNy0xNi4yIDQwLjktMTkuNSA3Ni44LTI1LjggNi0xLjEgMTEuMi0yLjUgMTUuNi03LjQgMTAuMS0xMS41IDEuOC0yNTYuNiA1LjItMjcwLjIgLjgtNS4yIDMtOS42IDcuMS0xMi45IDQuMi0zLjUgMTEuOC01LjUgMTMuNC01LjUgMjA0LTM4LjIgMjI4LjktNDMuMSAyMzIuNC00My4xIDExLjUtLjggMTguMSA2IDE4LjEgMTcuNiAuMiAzNDQuNSAxLjEgMzI2LTEuOCAzMzguNXoiXX0seDl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imxlc3MiLGljb246WzY0MCw1MTIsW10sImY0MWQiLCJNNjEzLjIgMjE5YzAtMjAuNSAzLjItMzIuNiAzLjItNTQuNiAwLTM0LjItMTIuNi00NS4yLTQwLjUtNDUuMmwtMjAuNSAwIDAgMjQuMiA2LjMgMGMxNC4yIDAgMTcuMyA0LjcgMTcuMyAyMi4xIDAgMTYuMy0xLjYgMzIuNi0xLjYgNTEuNSAwIDI0LjIgNy45IDMzLjYgMjMuNiAzNy4zbDAgMS42Yy0xNS44IDMuNy0yMy42IDEzLjEtMjMuNiAzNy4zIDAgMTguOSAxLjYgMzQuMiAxLjYgNTEuNSAwIDE3LjktMy43IDIyLjYtMTcuMyAyMi42bDAgLjUtNi4zIDAgMCAyNS4yIDIwLjUgMGMyNy44IDAgNDAuNS0xMSA0MC41LTQ1LjIgMC0yMi42LTMuMi0zNC4yLTMuMi01NC42IDAtMTEgNi44LTIyLjYgMjcuMy0yMy42bDAtMjcuM2MtMjAuNS0uNy0yNy4zLTEyLjMtMjcuMy0yMy4zek01MDcuNiAyNTFjLTE1LjgtNi4zLTMwLjUtMTAtMzAuNS0yMC41IDAtNy45IDYuMy0xMi42IDE3LjktMTIuNnMyMi4xIDQuNyAzMy42IDEzLjFsMjEtMjcuOGMtMTMuMS0xMC0zMS0yMC41LTU1LjItMjAuNS0zNS43IDAtNTkuOSAyMC41LTU5LjkgNDkuNCAwIDI1LjcgMjIuNiAzOC45IDQxLjUgNDYuMiAxNi4zIDYuMyAzMi4xIDExLjYgMzIuMSAyMi4xIDAgNy45LTYuMyAxMy4xLTIwLjUgMTMuMS0xMy4xIDAtMjYuMy01LjMtNDAuNS0xNi4zbC0yMSAzMC41YzE1LjggMTMuMSAzOS45IDIyLjEgNTkuOSAyMi4xIDQyIDAgNjQuNi0yMi4xIDY0LjYtNTFzLTIyLjUtNDEtNDMtNDcuOHpNMTQ4LjcgMzEwLjRjLTMuNyAwLTguNC0zLjItOC40LTEzLjFsMC0xNzguMi03NC42IDBjLTI4LjQgMC00MSAxMS00MSA0NS4yIDAgMjIuNiAzLjIgMzUuMiAzLjIgNTQuNiAwIDExLTYuOCAyMi42LTI3LjMgMjMuNmwwIDI3LjNjMjAuNSAuNSAyNy4zIDEyLjEgMjcuMyAyMy4xIDAgMTkuNC0zLjIgMzEtMy4yIDUzLjYgMCAzNC4yIDEyLjYgNDUuMiA0MC41IDQ1LjJsMjAuNSAwIDAtMjQuMi02LjMgMGMtMTMuMSAwLTE3LjMtNS4zLTE3LjMtMjIuNnMxLjYtMzIuMSAxLjYtNTEuNWMwLTI0LjItNy45LTMzLjYtMjMuNi0zNy4zbDAtMS42YzE1LjgtMy43IDIzLjYtMTMuMSAyMy42LTM3LjMgMC0xOC45LTEuNi0zNC4yLTEuNi01MS41czMuNy0yMi4xIDE3LjMtMjIuMWwxNC4xIDAgMCAxNTAuOGMwIDMyLjEgMTEgNTMuMSA0My4xIDUzLjEgMTAgMCAxNy45LTEuNiAyMy42LTMuN2wtNS4zLTM0LjJjLTMuMSAuOC00LjYgLjgtNi4yIC44ek0zODAuNCAyNTFjLTE2LjMtNi4zLTMxLTEwLTMxLTIwLjUgMC03LjkgNi4zLTEyLjYgMTcuOS0xMi42czIyLjEgNC43IDMzLjYgMTMuMWwyMS0yNy44Yy0xMy4xLTEwLTMxLTIwLjUtNTUuMi0yMC41LTM1LjcgMC01OS45IDIwLjUtNTkuOSA0OS40IDAgMjUuNyAyMi42IDM4LjkgNDEuNSA0Ni4yIDE2LjMgNi4zIDMyLjEgMTEuNiAzMi4xIDIyLjEgMCA3LjktNi4zIDEzLjEtMjAuNSAxMy4xLTEzLjEgMC0yNi4zLTUuMy00MC41LTE2LjNsLTIwLjUgMzAuNWMxNS44IDEzLjEgMzkuOSAyMi4xIDU5LjkgMjIuMSA0MiAwIDY0LjYtMjIuMSA2NC42LTUxIC4xLTI4LjktMjIuNS00MS00My00Ny44em0tMTU1LTY4LjhjLTM4LjQgMC03NS4xIDMyLjEtNzQuMSA4Mi41IDAgNTIgMzQuMiA4Mi41IDc5LjMgODIuNSAxOC45IDAgMzkuOS02LjggNTYuMi0xNy45TDI3MSAzMDEuNWMtMTEuNiA2LjgtMjIuNiAxMC0zNC4yIDEwLTIxIDAtMzcuMy0xMC00MS41LTM0LjJsOTUuMiAwYy41LTMuNyAxLjYtMTEgMS42LTE5LjQgLjYtNDIuNi0yMi42LTc1LjctNjYuNy03NS43em0tMzAgNjYuMmMzLjItMjEgMTUuOC0zMSAzMC41LTMxIDE4LjkgMCAyNi4zIDEzLjEgMjYuMyAzMWwtNTYuOCAweiJdfSx5OXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmlyZWZveCIsaWNvbjpbNTEyLDUxMixbXSwiZjI2OSIsIk01MDMuNSAyNDEuNWMtLjEtMS42LS4yLTMuMS0uMi00LjdsMC0uMS0uNC00LjcgMC0uMWMtMS4zLTEzLjktMy43LTI3LjctNy4zLTQxLjIgMC0uMSAwLS4xLS4xLS4ybC0xLjEtNGMtLjEtLjItLjEtLjUtLjItLjYtLjQtMS4yLS43LTIuNS0xLjEtMy43LS4xLS4yLS4xLS42LS4yLS44LS40LTEuMi0uNy0yLjQtMS4xLTMuNS0uMS0uNC0uMi0uNi0uNC0xLS40LTEuMi0uNy0yLjMtMS4yLTMuNWwtLjQtMS4xYy0uNC0xLjEtLjgtMi4zLTEuMi0zLjQtLjEtLjMtLjItLjctLjQtMS0uNS0xLjEtLjgtMi4zLTEuMy0zLjQtLjEtLjItLjItLjYtLjQtLjgtLjUtMS4yLTEtMi4zLTEuNC0zLjUgMC0uMS0uMS0uMi0uMS0uNC0xLjYtMy44LTMuMi03LjctNS0xMS40bC0uNC0uN2MtLjUtMS0uOC0xLjgtMS4zLTIuNi0uMi0uNS0uNS0xLjEtLjctMS42LS40LS44LS44LTEuNi0xLjItMi40LS40LS42LS42LTEuMi0xLTEuOHMtLjgtMS40LTEuMi0yLjNjLS40LS42LS43LTEuMy0xLjEtMS45cy0uOC0xLjQtMS4yLTIuMmMtLjQtLjctLjgtMS40LTEuMi0yLS40LS43LS44LTEuMy0xLjItMnMtLjgtMS4zLTEuMi0yLS44LTEuMy0xLjItMS45LS44LTEuNC0xLjMtMi4yYy0uNC0uNi0uOC0xLjItMS4yLTEuOGwtMS40LTIuMWMtLjQtLjYtLjgtMS4yLTEuMi0xLjgtLjUtLjctMS4xLTEuNi0xLjYtMi4zLS40LS41LS43LTEuMS0xLjEtMS42bC0xLjgtMi41Yy0uNC0uNS0uNi0uOC0xLTEuMy0xLTEuMy0xLjgtMi41LTIuOC0zLjctNy4yLTkuNC0xNS0xOC4zLTIzLjUtMjYuNi01LjctNi0xMS44LTExLjUtMTguMy0xNi43LTQtMy41LTguMi02LjctMTIuNS05LjgtNy43LTUuOC0xNi0xMC44LTI0LjYtMTUuMS0yLjQtMS4zLTQuOC0yLjUtNy4yLTMuNy0xNy43LTguNi0zNi4zLTE1LjItNTUuNC0xOS42LTEuOS0uNC0zLjgtLjgtNS42LTEuMmwtLjEgMGMtMS0uMS0xLjgtLjQtMi44LS41LTEyLjUtMi40LTI1LjItMy43LTM4LTRsLTEwLjYgMGMtMTUuMyAuMi0zMC41IDEuOS00NS41IDUtMzMuNiA3LjEtNjMuMiAyMS4yLTgyLjkgMzktMS4xIDEtMS45IDEuNy0yLjQgMi4ybC0uNSAuNSAuMSAwYzAgMCAuMSAwIC4xIDBzMC0uMSAwLS4xbC0uMSAuMWMuMS0uMSAuMS0uMSAuMi0uMSAxNC42LTguOCAzNC45LTE2IDQ5LjQtMTkuNmw1LjktMS40Yy40LS4xIC44LS4xIDEuMi0uMiAxLjctLjQgMy40LS43IDUuMi0xLjEgLjIgMCAuNi0uMSAuOC0uMSA2NC4yLTExLjcgMTMyLjYgNy41IDE4MC4yIDUzIDEwLjMgOS44IDE5LjMgMjAuOCAyNi45IDMyLjggMzAuNCA0OS4yIDI3LjUgMTExLjEgMy44IDE0Ny42LTM0LjQgNTMtMTExLjQgNzEuMy0xNTkgMjQuOC0xNi0xNS41LTI1LjItMzYuNy0yNS42LTU5LS4yLTEwLjcgMi0yMS4yIDYuMi0zMSAxLjctMy44IDEzLjEtMjUuNyAxOC4yLTI0LjYtMTMuMS0yLjgtMzcuNSAyLjYtNTQuNyAyOC4yLTE1LjQgMjIuOS0xNC41IDU4LjItNSA4My4zLTYtMTIuNC0xMC4xLTI1LjYtMTIuMS0zOS4yLTEyLjItODIuNiA0My4zLTE1MyA5NC4zLTE3MC41LTI3LjUtMjQtOTYuNS0yMi4zLTE0Ny43IDE1LjQtMjkuOSAyMi01MS4yIDUzLjItNjIuNSA5MC40IDEuNy0yMC45IDkuNi01Mi4xIDI1LjgtODMuOS0xNy4yIDguOS0zOSAzNy00OS44IDYyLjktMTUuNiAzNy40LTIxIDgyLjItMTYuMSAxMjQuOCAuNCAzLjIgLjcgNi40IDEuMSA5LjYgMTkuOSAxMTcuMSAxMjIgMjA2LjQgMjQ0LjggMjA2LjQgMTM3LjEgMCAyNDguMy0xMTEuMiAyNDguMy0yNDguNC0uMS00LjUtLjItOS4xLS41LTEzLjV6Il19LHc5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJrYWdnbGUiLGljb246WzMyMCw1MTIsW10sImY1ZmEiLCJNMzA0LjIgNTAxLjVMMTU4LjQgMzIwLjMgMjk4LjIgMTg1YzIuNi0yLjcgMS43LTEwLjUtNS4zLTEwLjVsLTY5LjIgMGMtMy41IDAtNyAxLjgtMTAuNSA1LjNsLTEzMi4zIDEzMy43IDAtMzA2YzAtNS0yLjUtNy41LTcuNS03LjVMMjEuNSAwQzE2LjUgMCAxNCAyLjUgMTQgNy41bDAgNDk3YzAgNSAyLjUgNy41IDcuNSA3LjVsNTEuOSAwYzUgMCA3LjUtMi41IDcuNS03LjVsMC0xMDkgMzAuOC0yOS4zIDExMC41IDE0MC42YzMgMy41IDYuNSA1LjMgMTAuNSA1LjNsNjYuOSAwYzMuNSAwIDUuNS0xIDYtM2wtMS40LTcuNnoiXX0sTTl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZhY2Vib29rLW1lc3NlbmdlciIsaWNvbjpbNTEyLDUxMixbXSwiZjM5ZiIsIk0yNTYuNiA4Yy0xNDAgMC0yNDguNiAxMDIuMy0yNDguNiAyNDAuNiAwIDcyLjMgMjkuNyAxMzQuOCA3OC4xIDE3Ny45IDguMyA3LjUgNi42IDExLjkgOCA1OC4yIC4xIDMuMiAxIDYuNCAyLjYgOS4yczMuOSA1LjIgNi43IDYuOSA1LjkgMi44IDkuMSAzIDYuNS0uMyA5LjUtMS42QzE3NC45IDQ3OSAxNzUuNiA0NzcuMiAxODQuNiA0NzkuNiAzMzcuOCA1MjEuOCA1MDQgNDIzLjcgNTA0IDI0OC42IDUwNCAxMTAuMyAzOTYuNiA4IDI1Ni42IDh6TTQwNS44IDE5My4xbC03MyAxMTUuNmMtMi44IDQuMy02LjQgOC4xLTEwLjYgMTFzLTkuMSA0LjgtMTQuMSA1LjgtMTAuMyAuOC0xNS4zLS40LTkuNy0zLjQtMTMuOC02LjRsLTU4LjEtNDMuNWMtMi42LTEuOS01LjgtMy05LTNzLTYuNCAxLjEtOSAzbC03OC40IDU5LjRjLTEwLjUgNy45LTI0LjItNC42LTE3LjEtMTUuN2w3My0xMTUuNmMyLjgtNC4zIDYuNC04LjEgMTAuNi0xMXM5LjEtNC44IDE0LjEtNS44IDEwLjMtLjggMTUuMyAuNCA5LjcgMy40IDEzLjkgNi40bDU4LjEgNDMuNWMyLjYgMS45IDUuOCAzIDkgM3M2LjQtMS4xIDktM2w3OC40LTU5LjRjMTAuNC04IDI0LjEgNC41IDE3LjEgMTUuNnoiXX0sazl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImF1ZGlibGUiLGljb246WzY0MCw1MTIsW10sImYzNzMiLCJNNjQwIDE5OS45bDAgNTQtMzIwIDIwMC0zMjAtMTk5LjkgMC01NCAzMjAgMjAwIDMyMC0yMDAuMXptLTE5NC41IDcybDQ3LjEtMjkuNGMtMzcuMi01NS44LTEwMC43LTkyLjYtMTcyLjctOTIuNnMtMTM1LjUgMzYuNy0xNzIuNiA5Mi40bC4zIDBjMi41LTIuMyA1LjEtNC41IDcuNy02LjcgODkuNy03NC40IDIxOS40LTU4LjEgMjkwLjIgMzYuM3pNMjI1LjQgMjkwLjdjMTYuOS0xMS45IDM2LjUtMTguNyA1Ny40LTE4LjcgMzQuNCAwIDY1LjIgMTguNCA4Ni40IDQ3LjZsNDUuNC0yOC40Yy0yMC45LTI5LjktNTUuNi00OS41LTk0LjgtNDkuNS0zOC45IDAtNzMuNCAxOS40LTk0LjQgNDl6TTEwMy42IDE2MS4xQzIzNS40IDU2LjggNDIxLjggODQuNyA1MjEuMSAyMjMuMmwuNyAxIDQ4LjgtMzAuNGMtNTMuNS04MS43LTE0NS44LTEzNS43LTI1MC43LTEzNS43LTEwMy41IDAtMTk2LjYgNTMuNS0yNTAuNSAxMzUuNiA5LjktMTAuNSAyMi43LTIzLjUgMzQuMi0zMi42eiJdfSx6OXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGF0cmVvbiIsaWNvbjpbNTEyLDUxMixbXSwiZjNkOSIsIk00OTAgMTUzLjhjLS4xLTY1LjQtNTEtMTE5LTExMC43LTEzOC4zLTc0LjItMjQtMTcyLTIwLjUtMjQyLjkgMTIuOS04NS44IDQwLjUtMTEyLjggMTI5LjMtMTEzLjggMjE3LjgtLjggNzIuOCA2LjQgMjY0LjQgMTE0LjYgMjY1LjggODAuMyAxIDkyLjMtMTAyLjUgMTI5LjUtMTUyLjMgMjYuNC0zNS41IDYwLjUtNDUuNSAxMDIuNC01NS45IDcyLTE3LjggMTIxLjEtNzQuNyAxMjEtMTUwbC0uMSAweiJdfSxTOXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidm52IixpY29uOls2NDAsNTEyLFtdLCJmNDBiIiwiTTEwNC45IDM1MmMtMzQuMSAwLTQ2LjQtMzAuNC00Ni40LTMwLjRMMi42IDIxMC4xUy03LjggMTkyIDEzIDE5MmwzMi44IDBjMTAuNCAwIDEzLjIgOC43IDE4LjggMTguMWwzNi43IDc0LjVzNS4yIDEzLjEgMjEuMSAxMy4xIDIxLjEtMTMuMSAyMS4xLTEzLjFsMzYuNy03NC41YzUuNi05LjUgOC40LTE4LjEgMTguOC0xOC4xbDMyLjggMGMyMC44IDAgMTAuNCAxOC4xIDEwLjQgMTguMUwxODYuNCAzMjEuNlMxNzQuMiAzNTIgMTQwIDM1MmwtMzUuMSAwem0zOTUgMGMtMzQuMSAwLTQ2LjQtMzAuNC00Ni40LTMwLjRMMzk3LjYgMjEwLjFTMzg3LjIgMTkyIDQwOCAxOTJsMzIuOCAwYzEwLjQgMCAxMy4yIDguNyAxOC44IDE4LjFsMzYuNyA3NC41czUuMiAxMy4xIDIxLjEgMTMuMSAyMS4xLTEzLjEgMjEuMS0xMy4xbDM2LjgtNzQuNWM1LjYtOS41IDguNC0xOC4xIDE4LjgtMTguMWwzMi45IDBjMjAuOCAwIDEwLjQgMTguMSAxMC40IDE4LjFMNTgxLjUgMzIxLjZTNTY5LjMgMzUyIDUzNS4xIDM1MmwtMzUuMiAwek0zMzcuNiAxOTJjMzQuMSAwIDQ2LjQgMzAuNCA0Ni40IDMwLjRsNTUuOSAxMTEuNVM0NTAuMyAzNTIgNDI5LjUgMzUybC0zMi44IDBjLTEwLjQgMC0xMy4yLTguNy0xOC44LTE4LjFsLTM2LjctNzQuNXMtNS4yLTEzLjEtMjEuMS0xMy4xLTIxLjEgMTMuMS0yMS4xIDEzLjFsLTM2LjcgNzQuNWMtNS42IDkuNC04LjQgMTguMS0xOC44IDE4LjFsLTMyLjkgMGMtMjAuOCAwLTEwLjQtMTguMS0xMC40LTE4LjFsNTUuOS0xMTEuNVMyNjguMyAxOTIgMzAyLjUgMTkybDM1LjEgMHoiXX0sQzl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBhZ2VsaW5lcyIsaWNvbjpbMzg0LDUxMixbXSwiZjE4YyIsIk0zODQuMSAzMTIuN2MtNTUuMSAxMzYuNy0xODcuMSA1NC0xODcuMSA1NC00MC41IDgxLjgtMTA3LjQgMTM0LjQtMTg0LjYgMTM0LjctMTYuMSAwLTE2LjYtMjQuNCAwLTI0LjQgNjQuNC0uMyAxMjAuNS00Mi43IDE1Ny4yLTExMC4xLTQxLjEgMTUuOS0xMTguNiAyNy45LTE2MS42LTgyLjIgMTA5LTQ0LjkgMTU5LjEgMTEuMiAxNzguMyA0NS41IDkuOS0yNC40IDE3LTUwLjkgMjEuNi03OS43IDAgMC0xMzkuNyAyMS45LTE0OS41LTk4LjEgMTE5LjEtNDcuOSAxNTIuNiA3Ni43IDE1Mi42IDc2LjcgMS42LTE2LjcgMy4zLTUyLjYgMy4zLTUzLjQgMCAwLTEwNi4zLTczLjctMzguMS0xNjUuMiAxMjQuNiA0MyA2MS40IDE2Mi40IDYxLjQgMTYyLjQgLjUgMS42IC41IDIzLjggMCAzMy40IDAgMCA0NS4yLTg5IDEzNi40LTU3LjUtNC4yIDEzNC0xNDEuOSAxMDYuNC0xNDEuOSAxMDYuNC00LjQgMjcuNC0xMS4yIDUzLjQtMjAgNzcuNSAwIDAgODMtOTEuOCAxNzItMjB6Il19LF85dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhbWF6b24iLGljb246WzQ0OCw1MTIsW10sImYyNzAiLCJNMjU3LjcgMTYyLjdjLTQ4LjcgMS44LTE2OS41IDE1LjUtMTY5LjUgMTE3LjUgMCAxMDkuNSAxMzguMyAxMTQgMTgzLjUgNDMuMiA2LjUgMTAuMiAzNS40IDM3LjUgNDUuMyA0Ni44bDU2LjgtNTZzLTMyLjMtMjUuMy0zMi4zLTUyLjhsMC0xNDcuMUMzNDEuNSA4OSAzMTcgMzIgMjI5LjIgMzIgMTQxLjIgMzIgOTQuNSA4NyA5NC41IDEzNi4zbDczLjUgNi44YzE2LjMtNDkuNSA1NC4yLTQ5LjUgNTQuMi00OS41IDQwLjctLjEgMzUuNSAyOS44IDM1LjUgNjkuMXptMCA4Ni44YzAgODAtODQuMiA2OC04NC4yIDE3LjIgMC00Ny4yIDUwLjUtNTYuNyA4NC4yLTU3LjhsMCA0MC42ek0zOTMuNyA0MTNjLTcuNyAxMC03MCA2Ny0xNzQuNSA2N1MzNC43IDQwOC41IDEwLjIgMzc5Yy02LjgtNy43IDEtMTEuMyA1LjUtOC4zIDczLjMgNDQuNSAxODcuOCAxMTcuOCAzNzIuNSAzMC4zIDcuNS0zLjcgMTMuMyAyIDUuNSAxMnptMzkuOCAyLjJjLTYuNSAxNS44LTE2IDI2LjgtMjEuMiAzMS01LjUgNC41LTkuNSAyLjctNi41LTMuOHMxOS4zLTQ2LjUgMTIuNy01NWMtNi41LTguMy0zNy00LjMtNDgtMy4yLTEwLjggMS0xMyAyLTE0LS4zLTIuMy01LjcgMjEuNy0xNS41IDM3LjUtMTcuNSAxNS43LTEuOCA0MS0uOCA0NiA1LjcgMy43IDUuMSAwIDI3LjEtNi41IDQzLjF6Il19LFQ5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlbnZpcmEiLGljb246WzQ0OCw1MTIsW10sImYyOTkiLCJNMCAzMmM0NzcuNiAwIDM2Ni42IDMxNy4zIDM2Ny4xIDM2Ni4zbDgwLjkgODEuNy0yNiAwLTcwLjQtNzEuMkMzMTIuNiA0MTMgMjI3LjIgNDQzLjMgMTM3LjIgMzcxLjggNDcgMzAwLjMgNTIgMjE0LjcgMCAzMnpNNzkuNyA3OGMtNDkuNy0yMy41LTUuMiA5LjItNS4yIDkuMiA0NS4yIDMxLjIgNjYgNzMuNyA5MC4yIDExOS45IDMxLjUgNjAuMiA3OSAxMzkuNyAxNDQuMiAxNjcuNyA2NSAyOCAzNC4yIDEyLjUgNi04LjUtMjguMi0yMS4yLTY4LjItODctOTEtMTMwLjItMzEuNy02MC02MS0xMTguNi0xNDQuMi0xNTguMXoiXX0sTDl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imxpbm9kZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjJiOCIsIk0zNjYuMyAxODYuOWwtNTkuNSAzNi45LS44IDM2LjktMjkuMy0xOS4zLTM5LjQgMjQuM2MyLjIgNTUuMiAyLjUgNTkuMyAyLjUgNTkuNWwtOTcuMiA2NS40LTE1LjEtMTA0LjcgMTA4LjEtNjItNDAuMi0yNi03NS40IDM4LjUtMjEtMTQzLjMgMTI5LTQ5LjQtOTEuMy00My42LTEyNS43IDM5LjQgMjcuNyAxMzQuOSA0MS45IDMyLjctMzEuOCAxNS4xIDIwLjkgMTAxLjQgMjkuMyAyNy43LTIwLjkgMTIuNiAxNi44IDc4LjggNjYuMiA2OS42Yy0xMC44LTc0LjgtMTEuNy03OC42LTExLjctNzguOGw3Ny45LTU1LjNDMjQ0IDM2NS40IDI0Mi4zIDM2NyAyNDIuMyAzNjdsLjggMjQuMyAzMy41IDI4LjUtLjgtNzcuMSA0Ni45LTMzLjUgMjYuOC0xOC40LTIuNSAzNiAyNS4xIDE3LjYgNi43LTc0LjYgNTguNy00My42LTcxLjItMzkuNHoiXX0sJDl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFjY3Vzb2Z0IixpY29uOls2NDAsNTEyLFtdLCJmMzY5IiwiTTMyMi4xIDI1MmwwLTEtNTEuMi02NS44cy0xMiAxLjYtMjUgMTUuMWMtOSA5LjMtMjQyLjEgMjM5LjEtMjQzLjQgMjQwLjktNyAxMCAxLjYgNi44IDE1LjcgMS43IC44IDAgMTE0LjUtMzYuNiAxMTQuNS0zNi42IC41LS42LS4xLS4xIC42LS42LS40LTUuMS0uOC0yNi4yLTEtMjcuNy0uNi01LjIgMi4yLTYuOSA3LTguOWw5Mi42LTMzLjhjLjYtLjggODguNS04MS43IDkwLjItODMuM3pNNDgyLjIgMzcyLjFjMTMuMyAxNi4xIDIwLjcgMTMuMyAzMC44IDkuMyAzLjItMS4yIDExNS40LTQ3LjYgMTE3LjgtNDguOSA4LTQuMy0xLjctMTYuNy03LjItMjMuNC0yLjEtMi41LTIwNS4xLTI0NS42LTIwNy4yLTI0OC4zLTkuNy0xMi4yLTE0LjMtMTIuOS0zOC40LTEyLjgtMTAuMiAwLTEwNi44IC41LTExNi41IC42LTE5LjIgLjEtMzIuOS0uMy0xOS4yIDE2LjkgNy43IDkuNSAyMzQuMiAyOTkuNyAyMzkuOSAzMDYuNnptMTUyLjcgMS42Yy0yLjMtLjMtMjQuNi00LjctMzgtNy4yIDAgMC0xMTUgNTAuNC0xMTcuNSA1MS42LTE2IDcuMy0yNi45LTMuMi0zNi43LTE0LjZsLTU3LjEtNzRjLTUuNC0uOS02MC40LTkuNi02NS4zLTkuMy0zLjEgLjItOS42IC44LTE0LjQgMi45LTQuOSAyLjEtMTQ1LjIgNTIuOC0xNTAuMiA1NC43LTUuMSAyLTExLjQgMy42LTExLjEgNy42IC4yIDIuNSAyIDIuNiA0LjYgMy41IDIuNyAuOCAzMDAuOSA2Ny42IDMwOCA2OS4xIDE1LjYgMy4zIDM4LjUgMTAuNSA1My42IDEuNyAyLjEtMS4yIDEyMy44LTc2LjQgMTI1LjgtNzcuOCA1LjQtNCA0LjMtNi44LTEuNy04LjJ6Il19LEQ5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlcmxhbmciLGljb246WzY0MCw1MTIsW10sImYzOWQiLCJNODcuMiA1My41bC04Ny4yIDAgMCA0MDUgMTAwLjQgMGMtNDkuNy01Mi42LTc4LjgtMTI1LjMtNzguNy0yMTIuMS0uMS03Ni43IDI0LTE0Mi43IDY1LjUtMTkyLjl6bTIzOC4yIDkuN2MtNDUuOSAuMS04NS4xIDMzLjUtODkuMiA4My4ybDE2OS45IDBjLTEuMS00OS43LTM0LjUtODMuMS04MC43LTgzLjJ6bTIzMC43LTkuNmwuMyAwLS4xLS4xLS4yIC4xem0uMyAwYzMxLjQgNDIuNyA0OC43IDk3LjUgNDYuMiAxNjIuNyAuNSA2IC41IDExLjcgMCAyNC4xbC0zNzIuNCAwYy0uMiAxMDkuNyAzOC45IDE5NC45IDEzOC42IDE5NS4zIDY4LjUtLjMgMTE4LTUxIDE1MS45LTEwNi4xbDk2LjQgNDguMmMtMTcuNCAzMC45LTM2LjUgNTcuOC01Ny45IDgwLjhsODAuOCAwIDAtNDA1LTgzLjYgMHoiXX0sQTl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVuaXNvbiIsaWNvbjpbNTEyLDUxMixbXSwiZTg1NCIsIk00MzUuMSAxNjEuN2ExMy45IDEzLjkgMCAxIDEgMTkuNi0xOS43IDEzLjkgMTMuOSAwIDEgMSAtMTkuNiAxOS43ek0zNjkuNyA5Ny44YzEwLjQgMi4xIDIwLjYgNS4yIDMwLjQgOS4yIDYuOCAyLjggMTAuMSAxMC44IDcuMyAxNy43LTIuOCA2LjctMTAuOSAxMC4xLTE3LjYgNy4zLTguMy0zLjQtMTYuOC01LjgtMjUuNy03LjgtOC42LTEuNy0xNy4zLTIuNS0yNi0yLjUtMTkuMyAwLTM3LjEtMTAuMy00Ni43LTI3LTguNy0xNS4xLTIwLjYtMjguOS0zNC43LTM5LjctNTkuMS00NS41LTE0My44LTM0LjMtMTg5LjIgMjUtMi42IDMuMy02LjUgNS4zLTEwLjcgNS4zLTcuNCAwLTEzLjUtNi4xLTEzLjUtMTMuNSAwLTMuMiAxLjItNi4zIDMuMi04LjggMTIuOS0xNi43IDI4LjktMzAuNyA0Ny4xLTQxLjIgNzcuNC00NC44IDE3Ni40LTE4LjIgMjIxLjEgNTkuNCA0LjMgOC4yIDEzLjcgMTMuMyAyMi44IDEzLjUgMTAuOCAwIDIxLjYgMSAzMi4yIDMuMXpNMzUgMjcwYzQuNi04LjIgNC42LTE4LjIgMC0yNi40LTIxLjktMzYuNS0yNy4zLTgyLjMtMTYuMy0xMjMuMiAxLjYtNS45IDYuOS0xMCAxMy0xMCA4LjcgMCAxNS4zIDguNyAxMyAxNy05LjUgMzUuNC0zLjQgNzEgMTMuNyAxMDIuOSA5LjMgMTYuNSA5LjMgMzYuNyAwIDUzLjEtOC43IDE1LjctMTQuOCAzMi40LTE3LjIgNTAuMy05LjcgNzMuOSA0Mi4zIDE0MS43IDExNi4yIDE1MS40IDcuMyAxIDEyLjYgNy45IDExLjYgMTUuMi0xIDcuMy03LjggMTIuNi0xNS4xIDExLjYtMjEuMS0yLjgtNDEuNC05LjctNTkuOC0yMC4zLTc1LjYtNDMuNi0xMDQuOS0xNDUuOC01OS4yLTIyMS41ek0yMTYuOSA1MDljLTcuNCAyLTE1LjEtMi40LTE3LjEtOS44czIuNS0xNSA5LjktMTYuOWM4LjUtMi4yIDE3LjQgNC41IDE3LjQgMTMuNCAwIDYuMi00LjIgMTEuNi0xMC4yIDEzLjN6bTEyMi4zLTkxYy05LjUgMC0xOC40IDUtMjMuMiAxMy4yLTQuOSA5LjQtMTEuNyAxOC4yLTE4LjcgMjYuMmwwIDBjLTcuMSA4LTE0LjggMTUuMi0yMy4yIDIxLjctNS45IDQuNS0xNC40IDMuNC0xOS0yLjVzLTMuNC0xNC40IDIuNS0xOC45YzctNS40IDEzLjUtMTEuNSAxOS40LTE4LjFsMCAwYzUuOS02LjYgMTEuMS0xMy44IDE1LjUtMjEuNiA5LjctMTYuNyAyNy41LTI3IDQ2LjgtMjcgMTcuOCAwIDM1LjQtMy41IDUxLjgtMTAuMyA2OC4zLTI4LjMgMTAxLjEtMTA4LjMgNzMuMi0xNzYuNS0uNi0xLjYtMS0zLjMtMS01IDAtNy40IDYuMS0xMy41IDEzLjUtMTMuNSA1LjQgMCAxMC4zIDMuMiAxMi40IDguMiA4LjIgMTkuNyAxMi40IDQwLjggMTIuNCA2Mi4xIDAgODkuNS03Mi43IDE2Mi4xLTE2Mi40IDE2Mi4xbDAgMHptLTEzLjEtMjY4YzMuOS0uNCA3LjktLjYgMTEuOS0uNiA1OS4zIDAgMTA4LjIgNDguNyAxMDguMiAxMDcuOFMzOTcuMyAzNjUgMzM4IDM2NWMtNCAwLTcuOS0uMi0xMS44LS42LTIyLjItMS43LTQzLjMgMTAuNC01Mi45IDMwLjQtMTcuMiAzOS4xLTU2LjIgNjQuNS05OS4xIDY0LjUtNTkuMyAwLTEwOC4yLTQ4LjctMTA4LjItMTA3LjggMC0yMy4yIDcuNS00NS43IDIxLjQtNjQuMyAxMi4yLTE4LjMgMTIuMS00Mi4zLS40LTYwLjUtMTMuNi0xOC41LTIwLjktNDAuOC0yMC45LTYzLjcgMC01OS4xIDQ4LjgtMTA3LjggMTA4LjItMTA3LjggNDIuOCAwIDgxLjggMjUuNCA5OSA2NC40IDkuNiAyMCAzMC43IDMyLjEgNTIuOSAzMC40ek0xMDYuOCAzOTMuNGMxNC40IDI1LjIgNDEuMSA0MC44IDY5LjggNDAuOCA0NC4yIDAgODAuNi0zNi44IDgwLjYtODEuNnMtMzYuNC04MS42LTgwLjYtODEuNmMtMTQuMiAwLTI4LjEgMy44LTQwLjMgMTAuOS0zOC4zIDIyLjQtNTEuNiA3Mi43LTI5LjUgMTExLjR6TTI2OCAyOThjMTQuNCAyNS4yIDQxLjEgNDAuOCA2OS44IDQwLjggNDQuMiAwIDgwLjYtMzYuOCA4MC42LTgxLjZzLTM2LjQtODEuNi04MC42LTgxLjZjLTE0LjIgMC0yOC4xIDMuOC00MC4zIDEwLjktMzguMyAyMi40LTUxLjYgNzIuNy0yOS41IDExMS40em0tOTEuMi01NC42YzQ0LjIgMCA4MC41LTM2LjggODAuNS04MS42cy0zNi40LTgxLjYtODAuNi04MS42LTgwLjYgMzYuOC04MC42IDgxLjZjMCA0NC43IDM2LjQgODEuNiA4MC42IDgxLjZ6Il19LFA5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy1kaXNjb3ZlciIsaWNvbjpbNTc2LDUxMixbXSwiZjFmMiIsIk01MjAuNCAxOTYuMWMwLTcuOS01LjUtMTIuMS0xNS42LTEyLjFsLTQuOSAwIDAgMjQuOSA0LjcgMGMxMC4zIDAgMTUuOC00LjQgMTUuOC0xMi44ek01MjggMzJMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MEwwIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0ODAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1MmMwLTI2LjUtMjEuNS00OC00OC00OHpNNDgzLjkgMTcwLjljMjIuNiAwIDUyLjktNC4xIDUyLjkgMjQuNCAwIDEyLjYtNi42IDIwLjctMTguNyAyMy4ybDI1LjggMzQuNC0xOS42IDAtMjIuMi0zMi44LTIuMiAwIDAgMzIuOC0xNiAwIDAtODJ6TTQyOCAxNzFsNDUuMyAwIDAgMTQtMjkuMyAwIDAgMTguMiAyOC4zIDAgMCAxMy44LTI4LjMgMCAwIDIyLjIgMjkuMyAwIDAgMTMuOC00NS4zIDAgMC04MnptLTY4LjcgMGwyMS45IDU1LjIgMjIuMi01NS4yIDE3LjUgMC0zNS41IDg0LjItOC42IDAtMzUtODQuMiAxNy41IDB6bS01NS45IDg2LjJhNDQuNiA0NC42IDAgMSAxIDAtODkuMiA0NC42IDQ0LjYgMCAxIDEgMCA4OS4yem0tNDkuMy04My4xbDAgMTljLTIwLjEtMjAuMS00Ni44LTQuNy00Ni44IDE5IDAgMjUgMjcuNSAzOC41IDQ2LjggMTkuMmwwIDE5Yy0yOS43IDE0LjMtNjMuMy01LjctNjMuMy0zOC4yIDAtMzEuMiAzMy4xLTUzIDYzLjMtMzh6bS05Ny4yIDY2LjNjMTEuNCAwIDIyLjQtMTUuMy0zLjMtMjQuNC0xNS01LjUtMjAuMi0xMS40LTIwLjItMjIuNyAwLTIzLjIgMzAuNi0zMS40IDQ5LjctMTQuM2wtOC40IDEwLjhjLTEwLjQtMTEuNi0yNC45LTYuMi0yNC45IDIuNSAwIDQuNCAyLjcgNi45IDEyLjMgMTAuMyAxOC4yIDYuNiAyMy42IDEyLjUgMjMuNiAyNS42IDAgMjkuNS0zOC44IDM3LjQtNTYuNiAxMS4zbDEwLjMtOS45YzMuNyA3LjEgOS45IDEwLjggMTcuNSAxMC44ek01NS40IDI1M2wtMjMuNCAwIDAtODIgMjMuNCAwYzI2LjEgMCA0NC4xIDE3IDQ0LjEgNDEuMSAwIDE4LjUtMTMuMiA0MC45LTQ0LjEgNDAuOXptNjcuNSAwbC0xNiAwIDAtODIgMTYgMCAwIDgyek01NDQgNDMzYzAgOC4yLTYuOCAxNS0xNSAxNWwtNDAxIDBjMTg5LjYtMzUuNiAzODIuNy0xMzkuMiA0MTYtMTYwbDAgMTQ1ek03NC4xIDE5MS42Yy01LjItNC45LTExLjYtNi42LTIxLjktNi42bC00LjIgMCAwIDU0LjIgNC4yIDBjMTAuMyAwIDE3LTIgMjEuOS02LjQgNS43LTUuMiA4LjktMTIuOCA4LjktMjAuN3MtMy4yLTE1LjUtOC45LTIwLjV6Il19LEU5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzYWZhcmkiLGljb246WzUxMiw1MTIsW10sImYyNjciLCJNMjc0LjcgMjc0LjdMMjM3LjMgMjM3LjMgMTY2IDM0NiAyNzQuNyAyNzQuN3pNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek00MTEuOCAxODIuOGwxNC44LTYuMWMxLS40IDItLjYgMy4xLS42czIuMSAuMiAzLjEgLjYgMS44IDEgMi42IDEuNyAxLjMgMS42IDEuNyAyLjYgLjYgMiAuNiAzLjEtLjIgMi4xLS42IDMuMS0xIDEuOS0xLjcgMi42LTEuNiAxLjMtMi42IDEuN0w0MTggMTk3LjZjLTIgLjgtNC4yIC44LTYuMSAwcy0zLjUtMi40LTQuMy00LjMtLjgtNC4yIDAtNi4xIDIuNC0zLjUgNC4zLTQuM3pNMzE0LjQgOTRsNi4xLTE0LjhjLjgtMiAyLjQtMy41IDQuMy00LjNzNC4yLS44IDYuMSAwIDMuNSAyLjQgNC4zIDQuMyAuOCA0LjIgMCA2LjFsLTYuMSAxNC44Yy0uOCAyLTIuNCAzLjUtNC4zIDQuM3MtNC4yIC44LTYuMSAwYy0xLS40LTEuOS0xLTIuNi0xLjdzLTEuMy0xLjYtMS43LTIuNi0uNi0yLS42LTMuMSAuMi0yLjEgLjYtMy4xek0yNTYgNjBjMi4xIDAgNC4yIC44IDUuNyAyLjNTMjY0IDY1LjkgMjY0IDY4bDAgMTZjMCAyLjEtLjggNC4yLTIuMyA1LjdzLTMuNSAyLjMtNS43IDIuMy00LjItLjgtNS43LTIuMy0yLjMtMy41LTIuMy01LjdsMC0xNmMwLTIuMSAuOC00LjIgMi4zLTUuN1MyNTMuOSA2MCAyNTYgNjB6TTE4MSA3NC45YzEtLjQgMi0uNiAzLjEtLjZzMi4xIC4yIDMuMSAuNiAxLjkgMSAyLjYgMS43IDEuMyAxLjYgMS43IDIuNkwxOTcuNiA5NGMuNCAxIC43IDIgLjcgMy4xcy0uMiAyLjEtLjYgMy4xLTEgMS45LTEuNyAyLjYtMS42IDEuNC0yLjYgMS44LTIgLjYtMy4xIC42LTIuMS0uMi0zLjEtLjYtMS45LTEtMi42LTEuOC0xLjMtMS43LTEuNy0yLjdsLTYuMS0xNC44Yy0uOC0yLS44LTQuMiAwLTYuMXMyLjQtMy41IDQuMy00LjN6bS02My42IDQyLjVjMS41LTEuNSAzLjUtMi4zIDUuNy0yLjNzNC4yIC44IDUuNyAyLjNMMTQwIDEyOC43YzEuNSAxLjUgMi4zIDMuNSAyLjMgNS42cy0uOCA0LjEtMi4zIDUuNmMtMS41IDEuNS0zLjUgMi4zLTUuNyAyLjNzLTQuMi0uOC01LjctMi4zbC0xMS4zLTExLjNjLTEuNS0xLjUtMi4zLTMuNS0yLjMtNS42cy44LTQuMSAyLjMtNS42bDAgMHpNNjAgMjU2YzAtMi4xIC44LTQuMiAyLjMtNS43UzY1LjkgMjQ4IDY4IDI0OGwxNiAwYzIuMSAwIDQuMiAuOCA1LjcgMi4zczIuMyAzLjUgMi4zIDUuNy0uOCA0LjItMi4zIDUuNy0zLjUgMi4zLTUuNyAyLjNsLTE2IDBjLTIuMSAwLTQuMi0uOC01LjctMi4zUzYwIDI1OC4xIDYwIDI1NnptNDAuMiA3My4ybC0xNC44IDYuMWMtMSAuNC0yIC42LTMuMSAuNnMtMi4xLS4yLTMuMS0uNi0xLjktMS0yLjYtMS43LTEuMy0xLjYtMS43LTIuNi0uNi0yLS42LTMuMSAuMi0yLjEgLjYtMy4xIDEtMS45IDEuNy0yLjYgMS42LTEuMyAyLjYtMS43TDk0IDMxNC40YzItLjggNC4yLS44IDYuMSAwczMuNSAyLjQgNC4zIDQuMyAuOCA0LjIgMCA2LjEtMi40IDMuNS00LjMgNC4zem00LjMtMTM2Yy0uNCAxLTEgMS45LTEuNyAyLjZzLTEuNiAxLjMtMi42IDEuNy0yIC42LTMuMSAuNi0yLjEtLjItMy4xLS42bC0xNC44LTYuMWMtMi0uOC0zLjUtMi40LTQuMy00LjNzLS44LTQuMiAwLTYuMSAyLjQtMy41IDQuMy00LjMgNC4yLS44IDYuMSAwbDE0LjggNi4xYzIgLjggMy41IDIuNCA0LjMgNC4zcy44IDQuMiAwIDYuMWwwIDB6TTE5Ny42IDQxOGwtNi4xIDE0LjhjLS40IDEtMSAxLjktMS43IDIuNnMtMS42IDEuMy0yLjYgMS43LTIgLjYtMy4xIC42LTIuMS0uMi0zLjEtLjYtMS45LTEtMi42LTEuNy0xLjMtMS42LTEuNy0yLjYtLjYtMi0uNi0zLjEgLjItMi4xIC42LTMuMWw2LjEtMTQuOGMuNC0xIDEtMS45IDEuNy0yLjdzMS42LTEuNCAyLjYtMS44IDItLjYgMy4xLS42IDIuMSAuMiAzLjEgLjYgMS45IDEgMi42IDEuOCAxLjMgMS43IDEuNyAyLjYgLjYgMiAuNiAzLjEtLjIgMi4xLS43IDMuMXpNMjY0IDQ0NGMwIDIuMS0uOCA0LjItMi4zIDUuN3MtMy41IDIuMy01LjcgMi4zLTQuMi0uOC01LjctMi4zLTIuMy0zLjUtMi4zLTUuN2wwLTE2YzAtMi4xIC44LTQuMiAyLjMtNS43czMuNS0yLjMgNS43LTIuMyA0LjIgLjggNS43IDIuMyAyLjMgMy41IDIuMyA1LjdsMCAxNnptNjctNi45Yy0xIC40LTIgLjYtMy4xIC42cy0yLjEtLjItMy4xLS42LTEuOS0xLTIuNi0xLjctMS4zLTEuNi0xLjctMi42TDMxNC40IDQxOGMtLjgtMi0uOC00LjIgMC02LjFzMi40LTMuNSA0LjMtNC4zIDQuMi0uOCA2LjEgMCAzLjUgMi40IDQuMyA0LjNsNi4xIDE0LjhjLjggMiAuOCA0LjIgMCA2LjFzLTIuNCAzLjUtNC4zIDQuM3ptNjMuNi00Mi41Yy0xLjUgMS41LTMuNSAyLjMtNS43IDIuM3MtNC4yLS44LTUuNy0yLjNMMzcyIDM4My4zYy0xLjUtMS41LTIuMy0zLjUtMi4zLTUuNnMuOC00LjEgMi4zLTUuNiAzLjUtMi4zIDUuNy0yLjMgNC4yIC44IDUuNyAyLjNsMTEuMyAxMS4zYzEuNSAxLjUgMi4zIDMuNSAyLjMgNS42cy0uOCA0LjEtMi4zIDUuNmwwIDB6TTI4Ni4yIDI4Ni4yTDExMC4zIDQwMS43IDIyNS44IDIyNS44IDQwMS43IDExMC4zIDI4Ni4yIDI4Ni4yek00MzcuMSAzMzFjLS44IDItMi40IDMuNS00LjMgNC4zcy00LjIgLjgtNi4xIDBsLTE0LjgtNi4xYy0yLS44LTMuNS0yLjQtNC4zLTQuM3MtLjgtNC4yIDAtNi4xYy40LTEgMS0xLjkgMS43LTIuNnMxLjYtMS4zIDIuNi0xLjcgMi0uNiAzLjEtLjYgMi4xIC4yIDMuMSAuNmwxNC44IDYuMWMyIC44IDMuNSAyLjQgNC4zIDQuM3MuOCA0LjIgMCA2LjF6bTYuOS02N2wtMTYgMGMtMi4xIDAtNC4yLS44LTUuNy0yLjNzLTIuMy0zLjUtMi4zLTUuNyAuOC00LjIgMi4zLTUuNyAzLjUtMi4zIDUuNy0yLjNsMTYgMGMyLjEgMCA0LjIgLjggNS43IDIuM3MyLjMgMy41IDIuMyA1LjctLjggNC4yLTIuMyA1LjctMy41IDIuMy01LjcgMi4zeiJdfSxJOXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3BhY2UtYXdlc29tZSIsaWNvbjpbNTEyLDUxMixbXSwiZTVhYyIsIk05NiAyNTZsMzIgMCAwIDI1Ni0xMjggMCAwLTE2MCAzMiAwIDAtMzIgMzIgMCAwLTMyIDMyIDAgMC0zMnptNDE2IDk2bDAgMTYwLTEyOCAwIDAtMjU2IDMyIDAgMCAzMiAzMiAwIDAgMzIgMzIgMCAwIDMyIDMyIDB6TTMyMCA2NGwzMiAwIDAgMzg0LTMyIDAgMC0zMi0xMjggMCAwIDMyLTMyIDAgMC0zODQgMzIgMCAwLTMyIDMyIDAgMC0zMiA2NCAwIDAgMzIgMzIgMCAwIDMyem0tMzIgNjRsLTY0IDAgMCA2NCA2NCAwIDAtNjR6Il19LE45dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJub2RlIixpY29uOls2NDAsNTEyLFtdLCJmNDE5IiwiTTMxNi4zIDQ1MmMtMi4xIDAtNC4yLS42LTYuMS0xLjZMMjkxIDQzOWMtMi45LTEuNi0xLjUtMi4yLS41LTIuNSAzLjgtMS4zIDQuNi0xLjYgOC43LTQgLjQtLjIgMS0uMSAxLjQgLjFsMTQuOCA4LjhjLjUgLjMgMS4zIC4zIDEuOCAwTDM3NSA0MDhjLjUtLjMgLjktLjkgLjktMS42bDAtNjYuN2MwLS43LS4zLTEuMy0uOS0xLjZsLTU3LjgtMzMuM2MtLjUtLjMtMS4yLS4zLTEuOCAwbC01Ny44IDMzLjNjLS42IC4zLS45IDEtLjkgMS42bDAgNjYuN2MwIC42IC40IDEuMiAuOSAxLjVsMTUuOCA5LjFjOC42IDQuMyAxMy45LS44IDEzLjktNS44bDAtNjUuOWMwLS45IC43LTEuNyAxLjctMS43bDcuMyAwYy45IDAgMS43IC43IDEuNyAxLjdsMCA2NS45YzAgMTEuNS02LjIgMTgtMTcuMSAxOC0zLjMgMC02IDAtMTMuMy0zLjZsLTE1LjItOC43Yy0zLjctMi4yLTYuMS02LjItNi4xLTEwLjVsMC02Ni43YzAtNC4zIDIuMy04LjQgNi4xLTEwLjVsNTcuOC0zMy40YzMuNy0yLjEgOC41LTIuMSAxMi4xIDBsNTcuOCAzMy40YzMuNyAyLjIgNi4xIDYuMiA2LjEgMTAuNWwwIDY2LjdjMCA0LjMtMi4zIDguNC02LjEgMTAuNWwtNTcuOCAzMy40Yy0xLjcgMS4xLTMuOCAxLjctNiAxLjd6TTM2MyAzODYuMmMwLTEyLjUtOC40LTE1LjgtMjYuMi0xOC4yLTE4LTIuNC0xOS44LTMuNi0xOS44LTcuOCAwLTMuNSAxLjUtOC4xIDE0LjgtOC4xIDExLjkgMCAxNi4zIDIuNiAxOC4xIDEwLjYgLjIgLjggLjggMS4zIDEuNiAxLjNsNy41IDBjLjUgMCAuOS0uMiAxLjItLjUgLjMtLjQgLjUtLjggLjQtMS4zLTEuMi0xMy44LTEwLjMtMjAuMi0yOC44LTIwLjItMTYuNSAwLTI2LjMgNy0yNi4zIDE4LjYgMCAxMi43IDkuOCAxNi4xIDI1LjYgMTcuNyAxOC45IDEuOSAyMC40IDQuNiAyMC40IDguMyAwIDYuNS01LjIgOS4yLTE3LjQgOS4yLTE1LjMgMC0xOC43LTMuOC0xOS44LTExLjQtLjEtLjgtLjgtMS40LTEuNy0xLjRsLTcuNSAwYy0uOSAwLTEuNyAuNy0xLjcgMS43IDAgOS43IDUuMyAyMS4zIDMwLjYgMjEuMyAxOC41IDAgMjktNy4yIDI5LTE5Ljh6bTU0LjUtNTAuMWMwIDYuMS01IDExLjEtMTEuMSAxMS4xcy0xMS4xLTUtMTEuMS0xMS4xYzAtNi4zIDUuMi0xMS4xIDExLjEtMTEuMSA2LS4xIDExLjEgNC44IDExLjEgMTEuMXptLTEuOCAwYzAtNS4yLTQuMi05LjMtOS40LTkuMy01LjEgMC05LjMgNC4xLTkuMyA5LjNzNC4yIDkuNCA5LjMgOS40YzUuMi0uMSA5LjQtNC4zIDkuNC05LjR6bS00LjUgNi4ybC0yLjYgMGMtLjEtLjYtLjUtMy44LS41LTMuOS0uMi0uNy0uNC0xLjEtMS4zLTEuMWwtMi4yIDAgMCA1LTIuNCAwIDAtMTIuNSA0LjMgMGMxLjUgMCA0LjQgMCA0LjQgMy4zIDAgMi4zLTEuNSAyLjgtMi40IDMuMSAxLjcgLjEgMS44IDEuMiAyLjEgMi44IC4xIDEgLjMgMi43IC42IDMuM3ptLTIuOC04LjhjMC0xLjctMS4yLTEuNy0xLjgtMS43bC0yIDAgMCAzLjUgMS45IDBjMS42IDAgMS45LTEuMSAxLjktMS44ek0xMzcuMyAxOTFjMC0yLjctMS40LTUuMS0zLjctNi40TDcyLjMgMTQ5LjNjLTEtLjYtMi4yLS45LTMuNC0xbC0uNiAwYy0xLjIgMC0yLjMgLjQtMy40IDFMMy43IDE4NC42QzEuNCAxODUuOSAwIDE4OC40IDAgMTkxbC4xIDk1YzAgMS4zIC43IDIuNSAxLjggMy4yczIuNSAuNyAzLjcgMEw0MiAyNjguM2MyLjMtMS40IDMuNy0zLjggMy43LTYuNGwwLTQ0LjRjMC0yLjYgMS40LTUuMSAzLjctNi40bDE1LjUtOC45YzEuMi0uNyAyLjQtMSAzLjctMXMyLjYgLjMgMy43IDFsMTUuNSA4LjljMi4zIDEuMyAzLjcgMy44IDMuNyA2LjRsMCA0NC40YzAgMi42IDEuNCA1LjEgMy43IDYuNGwzNi40IDIwLjljMS4xIC43IDIuNiAuNyAzLjcgMCAxLjEtLjYgMS44LTEuOSAxLjgtMy4ybC4yLTk1ek00NzIuNSA4Ny4zbDAgMTc2LjRjMCAyLjYtMS40IDUuMS0zLjcgNi40bC02MS4zIDM1LjRjLTIuMyAxLjMtNS4xIDEuMy03LjQgMGwtNjEuMy0zNS40Yy0yLjMtMS4zLTMuNy0zLjgtMy43LTYuNGwwLTcwLjhjMC0yLjYgMS40LTUuMSAzLjctNi40bDYxLjMtMzUuNGMyLjMtMS4zIDUuMS0xLjMgNy40IDBsMTUuMyA4LjhjMS43IDEgMy45LS4zIDMuOS0yLjJsMC05NGMwLTIuOCAzLTQuNiA1LjUtMy4ybDM2LjUgMjAuNGMyLjMgMS4yIDMuOCAzLjcgMy44IDYuNHptLTQ2IDEyOC45YzAtLjctLjQtMS4zLS45LTEuNmwtMjEtMTIuMmMtLjYtLjMtMS4zLS4zLTEuOSAwbC0yMSAxMi4yYy0uNiAuMy0uOSAuOS0uOSAxLjZsMCAyNC4zYzAgLjcgLjQgMS4zIC45IDEuNmwyMSAxMi4xYy42IC4zIDEuMyAuMyAxLjggMGwyMS0xMi4xYy42LS4zIC45LS45IC45LTEuNmwwLTI0LjMgLjEgMHptMjA5LjgtLjdjMi4zLTEuMyAzLjctMy44IDMuNy02LjRsMC0xNy4xYzAtMi42LTEuNC01LjEtMy43LTYuNGwtNjAuOS0zNS40Yy0yLjMtMS4zLTUuMS0xLjMtNy40IDBsLTYxLjMgMzUuNGMtMi4zIDEuMy0zLjcgMy44LTMuNyA2LjRsMCA3MC44YzAgMi43IDEuNCA1LjEgMy43IDYuNGw2MC45IDM0LjdjMi4yIDEuMyA1IDEuMyA3LjMgMGwzNi44LTIwLjVjMi41LTEuNCAyLjUtNSAwLTYuNEw1NTAgMjQxLjZjLTEuMi0uNy0xLjktMS45LTEuOS0zLjJsMC0yMi4yYzAtMS4zIC43LTIuNSAxLjktMy4ybDE5LjItMTEuMWMxLjEtLjcgMi42LS43IDMuNyAwTDU5Mi4xIDIxM2MxLjEgLjcgMS45IDEuOSAxLjkgMy4ybDAgMTcuNGMwIDIuOCAzLjEgNC42IDUuNiAzLjJsMzYuNy0yMS4zek01NTkgMjE5Yy0uNCAuMy0uNyAuNy0uNyAxLjJsMCAxMy42YzAgLjUgLjMgMSAuNyAxLjJsMTEuOCA2LjhjLjQgLjMgMSAuMyAxLjQgMEw1ODQgMjM1Yy40LS4zIC43LS43IC43LTEuMmwwLTEzLjZjMC0uNS0uMy0xLS43LTEuMmwtMTEuOC02LjhjLS40LS4zLTEtLjMtMS40IDBMNTU5IDIxOXpNMzA0LjggMjYyLjVsMC03MC40YzAtMi42LTEuNi01LjEtMy45LTYuNGwtNjEuMS0zNS4yYy0yLjEtMS4yLTUtMS40LTcuNCAwbC02MS4xIDM1LjJjLTIuMyAxLjMtMy45IDMuNy0zLjkgNi40bDAgNzAuNGMwIDIuOCAxLjkgNS4yIDQgNi40bDYxLjIgMzUuMmMyLjQgMS40IDUuMiAxLjMgNy40IDBsNjEtMzUuMmMxLjgtMSAzLjEtMi43IDMuNi00LjcgLjEtLjUgLjItMS4xIC4yLTEuN3pNMjMwLjUgMTM3LjZsLS44IC41IDEuMSAwLS4zLS41em03Ni4yIDEzMC4ybC0uNC0uNyAwIC45IC40LS4yeiJdfSxSOXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY29kZXBlbiIsaWNvbjpbNTEyLDUxMixbXSwiZjFjYiIsIk01MDIuMyAxNTkuN2wtMjM0LTE1NmMtOC00LjktMTYuNS01LTI0LjYgMGwtMjM0IDE1NmMtNiA0LTkuNyAxMS4xLTkuNyAxOC4zTDAgMzM0YzAgNy4xIDMuNyAxNC4zIDkuNyAxOC4zbDIzNCAxNTZjOCA0LjkgMTYuNSA1IDI0LjYgMGwyMzQtMTU2YzYtNCA5LjctMTEuMSA5LjctMTguM2wwLTE1NmMwLTcuMS0zLjctMTQuMy05LjctMTguM3pNMjc4IDYzLjFsMTcyLjMgMTE0LjktNzYuOSA1MS40LTk1LjQtNjMuNyAwLTEwMi42em0tNDQgMEwyMzQgMTY1LjcgMTM4LjYgMjI5LjQgNjEuNyAxNzggMjM0IDYzLjF6TTQ0IDIxOS4xTDk5LjEgMjU2IDQ0IDI5Mi44IDQ0IDIxOS4xek0yMzQgNDQ4LjhMNjEuNyAzMzQgMTM4LjYgMjgyLjYgMjM0IDM0Ni4zIDIzNCA0NDguOHpNMjU2IDMwOGwtNzcuNy01MiA3Ny43LTUyIDc3LjcgNTItNzcuNyA1MnptMjIgMTQwLjlsMC0xMDIuNiA5NS40LTYzLjcgNzYuOSA1MS40LTE3Mi4zIDExNC45em0xOTAtMTU2bC01NS4xLTM2LjkgNTUuMS0zNi45IDAgNzMuN3oiXX0sRjl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJhdmVscnkiLGljb246WzUxMiw1MTIsW10sImYyZDkiLCJNNDk4LjYgMjM0LjJjLTEuMi0xMC4zLTEuNy0yMC44LTMuNy0zMS0yLjUtMTIuNC01LjctMjQuNi05LjYtMzYuNi02LjgtMjAuOS0xNy4yLTQwLjMtMzAuOS01Ny41LTUuOS03LjYtMTIuMS0xNC44LTE4LjgtMjEuNy0xNC4xLTE0LTMwLTI2LjEtNDcuMS0zNi4xLTE3LjgtMTAuNi0zNi44LTE4LjktNTYuNy0yNC43LTExLTMuMS0yMi4zLTUuNC0zMy41LTcuNi02LjgtMS4zLTEzLjctMS43LTIwLjYtMi41LS4zIDAtLjYtLjQtLjktLjYtMTAuOCAwLTIxLjUgMC0zMi4zIDAtMi40IC40LTQuOCAuOS03LjIgMS4yLTExLjYgMS4yLTIzLjEgMy42LTM0LjMgNy4xLTEzLjggNC4xLTI3LjEgOS42LTM5LjggMTYuNC0xMy4zIDctMjYuMSAxNS4xLTM4LjEgMjQuMi02LjIgNC42LTEyLjMgOS40LTE4IDE0LjUtMTAuMiA5LjItMjAuNCAxOC40LTI5LjkgMjguMy0xMi44IDEzLjMtMjQuMSAyOC4xLTMzLjYgNDQtOC42IDE0LTE1LjUgMjktMjAuNSA0NC42LTcuMiAyMi43LTEwLjMgNDYuNi05LjIgNzAuMyAuNiAxMy41IDIgMjYuOSA0LjQgNDAuMiAzLjQgMTguNCA5IDM2LjMgMTYuNyA1My4zIDEzLjYgMjkuMiAzMi4xIDUxLjUgNTAuNCA2Ny45IDEyLjggMTEuNiAyNi44IDIxLjkgNDEuOCAzMC42IDE3LjcgMTAuNCAzNi40IDE4LjkgNTUuOSAyNS4zIDEzLjMgNC4zIDI2LjkgNy42IDQwLjYgOS44IDYuMSAxIDEyLjMgMS4zIDE4LjQgMS45IC40IC4xIC44IC4zIDEuMiAuNmwzMi4zIDBjMi41LS40IDUtLjkgNy41LTEuMSAxNi4zLTEuMyAzMi4xLTUuMyA0Ny41LTEwLjcgMTcuMi01LjkgMzMuNy0xMy45IDQ5LTIzLjggOS43LTYuNCAxOS40LTEzLjEgMjguNy0yMC4xIDUuOC00LjMgMTEtOS41IDE2LjMtMTQuNSA0LTMuNyA3LjgtNy42IDExLjUtMTEuNSAxMi0xMi43IDIyLjYtMjYuNiAzMS40LTQxLjYgOS41LTE2IDE3LjQtMzIuOSAyMi4zLTUwLjkgMi45LTEwLjQgNC45LTIxIDctMzEuNyAxLTUuMyAxLjMtMTAuNyAxLjktMTYuMSAwLS4zIC40LS42IC42LS45bDAtMzcuMWMtLjItLjYtLjQtMS4yLS42LTEuOHptLTE2MS4xLTEuMnMtMTYuNi0zLTI4LjUtM2MtMjcuMiAwLTMzLjYgMTQuOS0zMy42IDM3bDAgOTMuNy03My41IDAgMC0xOTAuNyA3My41IDAgMCAzMS45YzguOS0yNi44IDI2LjgtMzYuMiA2Mi0zNi4ybDAgNjcuM3oiXX0sTzl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFsaXBheSIsaWNvbjpbNDQ4LDUxMixbXSwiZjY0MiIsIk0zNzcuNyAzMkw3MC4zIDMyQzMxLjQgMzIgMCA2My40IDAgMTAyLjNMMCA0MDkuN0MwIDQ0OC42IDMxLjQgNDgwIDcwLjMgNDgwbDMwNy41IDBjMzguNSAwIDY5LjgtMzEuMSA3MC4zLTY5LjYtNDYtMjUuNi0xMTAuNi02MC4zLTE3MS42LTg4LjQtMzIuMSA0NC04NC4xIDgxLTE0OC42IDgxLTcwLjYgMC05My43LTQ1LjMtOTctNzYuNC00LTM5IDE0LjktODEuNSA5OS41LTgxLjUgMzUuNCAwIDc5LjQgMTAuMiAxMjcuMSAyNSAxNi41LTMwLjEgMjYuNS02MC4zIDI2LjUtNjAuM2wtMTc4LjIgMCAwLTE2LjcgOTIuMSAwIDAtMzEuMi0xMDkuNCAwIDAtMTkgMTA5LjQgMCAwLTUwLjQgNTAuOSAwIDAgNTAuNCAxMDkuNCAwIDAgMTktMTA5LjQgMCAwIDMxLjIgODguOCAwcy0xNS4yIDQ2LjYtMzguMyA5MC45YzQ4LjkgMTYuNyAxMDAgMzYgMTQ4LjYgNTIuN2wwLTIzNC40Yy4yLTM4LjctMzEuMi03MC4zLTY5LjktNzAuM3pNNDcuMyAzMjNjMSAyMC4yIDEwLjIgNTMuNyA2OS45IDUzLjcgNTIuMSAwIDkyLjYtMzkuNyAxMTcuOS03Mi45LTQ0LjYtMTguNy04NC41LTMxLjQtMTA5LjQtMzEuNC02Ny40IDAtNzkuNCAzMy4xLTc4LjQgNTAuNnoiXX0sQjl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLWFtZXgiLGljb246WzU3Niw1MTIsW10sImYxZjMiLCJNMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsNDgwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xLjEtNjEuNyAwLTMxLjktMzUuMS0zMS45IDM1LjEtMjAzLjcgMCAwLTE2My44LTY1LjggMCA4MS43LTE4NC43IDc4LjYgMCAyOC4xIDYzLjIgMC02My4yIDk3LjIgMCAxNi45IDQ3LjYgMTctNDcuNiA3NS41IDAgMC0yLjRjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MEwwIDQzMnptNDQwLjQtMjEuN2w0Mi4yLTQ2LjMgNDIgNDYuMyA1MS40IDAtNjgtNzIuMSA2OC03Mi4xLTUwLjYgMC00MiA0Ni43LTQxLjUtNDYuNy01MS40IDAgNjcuNSA3Mi41LTY3LjQgNzEuNiAwLTMzLjEtODMgMCAwLTIyLjIgODAuOSAwIDAtMzIuMy04MC45IDAgMC0yMi40IDgzIDAgMC0zMy4xLTEyMiAwIDAgMTQzLjIgMTcxLjggMHptOTYuMy03MmwzOS4zIDQxLjkgMC04My4zLTM5LjMgNDEuNHptLTM2LjMtOTJsMzYuOS0xMDAuNiAwIDEwMC42IDM4LjcgMCAwLTE0My4zLTYwLjIgMC0zMi4yIDg5LjMtMzEuOS04OS4zLTYxLjIgMCAwIDE0My4xLTYzLjItMTQzLjEtNTEuMiAwLTYyLjQgMTQzLjMgNDMgMCAxMS45LTI4LjcgNjUuOSAwIDEyIDI4LjcgODIuNyAwIDAtMTAwLjMgMzYuOCAxMDAuMyAzNC40IDB6TTI4MiAxODUuNGwxOS41LTQ2LjkgMTkuNCA0Ni45LTM4LjkgMHoiXX0sSDl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpZWQtcGlwZXItYWx0IixpY29uOls1NzYsNTEyLFtdLCJmMWE4IiwiTTI0NCAyNDZjLTMuMi0yLTYuMy0yLjktMTAuMS0yLjktNi42IDAtMTIuNiAzLjItMTkuMyAzLjdsMS43IDQuOSAyNy43LTUuN3pNMzc5LjkgNDQzLjljLTE5IDAtNjQuMSA5LjUtNzkuOSAxOS44bDYuOSA0NS4xYzM1LjcgNi4xIDcwLjEgMy42IDEwNi05LjgtNC44LTEwLTIzLjUtNTUuMS0zMy01NS4xek0zNDAuOCAxNzdjNi42IDIuOCAxMS41IDkuMiAyMi43IDIyLjEgMi0xLjQgNy41LTUuMiA3LjUtOC42IDAtNC45LTExLjgtMTMuMi0xMy4yLTIzIDExLjItNS43IDI1LjItNiAzNy42LTguOSA2OC4xLTE2LjQgMTE2LjMtNTIuOSAxNDYuOC0xMTYuNyA2LjEtMTIuNiAxMS44LTI1LjggMTIuNC0zOS45bC0yIDIuNmMtMjguNCA1MC0zMyA2My4yLTgxLjMgMTAwLTMxLjkgMjQuNC02OS4yIDQwLjItMTA2LjYgNTQuNmwtNi4zLS4zIDAtMjEuOGMtMTkuNiAxLjYtMTkuNy0xNC42LTMxLjYtMjMtMTguNyAyMC42LTMxLjYgNDAuOC01OC45IDUxLjEtMTIuNyA0LjgtMTkuNiAxMC0yNS45IDIxLjggMzQuOS0xNi40IDkxLjItMTMuNSA5OC44LTEwek01NTUuNSAwbC0uNiAxLjEtLjMgLjkgLjYtLjYgLjMtMS40ek00OTYuMyAzODIuMWMtMzMuOS01Ni45LTc1LjMtMTE4LjQtMTUwLTExNS41bC0uMy02Yy0xLjEtMTMuNSAzMi44IDMuMiAzNS4xLTMxbC0xNC40IDcuMmMtMTkuOC00NS43LTguNi01NC4zLTY1LjUtNTQuMy0xNC43IDAtMjYuNyAxLjctNDEuNCA0LjYgMi45IDE4LjYgMi4yIDM2LjctMTAuOSA1MC4zbDE5LjUgNS41Yy0xLjcgMy4yLTIuOSA2LjMtMi45IDkuOCAwIDIxIDQyLjggMi45IDQyLjggMzMuNiAwIDE4LjQtMzYuOCA2MC4xLTU0LjkgNjAuMS04IDAtNTMuNy01MC01My40LTYwLjFsLjMtNC42IDUyLjMtMTEuNWMxMy0yLjYgMTIuMy0yMi43LTIuOS0yMi43LTMuNyAwLTQzLjEgOS4yLTQ5LjQgMTAuNi0yLTUuMi03LjUtMTQuMS0xMy44LTE0LjEtMy4yIDAtNi4zIDMuMi05LjUgNC05LjIgMi42LTMxIDIuOS0yMS41IDIwLjFMMTUuOSAyOTguNWMtNS41IDEuMS04LjkgNi4zLTguOSAxMS44IDAgNiA1LjUgMTAuOSAxMS41IDEwLjkgOCAwIDEzMS4zLTI4LjQgMTQ3LjQtMzIuMiAyLjYgMy4yIDQuNiA2LjMgNy44IDguNiAyMC4xIDE0LjQgNTkuOCA4NS45IDc2LjQgODUuOSAyNC4xIDAgNTgtMjIuNCA3MS4zLTQxLjkgMy4yLTQuMyA2LjktNy41IDEyLjQtNi45IC42IDEzLjgtMzEuNiAzNC4yLTMzIDQzLjctMS40IDEwLjItMSAzNS4yLS4zIDQxLjEgMjYuNyA4LjEgNTItMy42IDc3LjktMi45IDQuMy0yMSAxMC42LTQxLjkgOS44LTYzLjVsLS4zLTkuNWMtMS40LTM0LjItMTAuOS0zOC41LTM0LjgtNTguNi0xLjEtMS4xLTIuNi0yLjYtMy43LTQgMi4yLTEuNCAxLjEtMSA0LjYtMS43IDg4LjUgMCA1Ni4zIDE4My42IDExMS41IDIyOS45IDMzLjEtMTUgNzIuNS0yNy45IDEwMy41LTQ3LjItMjktMjUuNi01Mi42LTQ1LjctNzIuNy03OS45ek0zMDAuMSA0MjguMmwwIDI3LjIgMTEuOC0zLjQtMi45LTIzLjgtOC45IDB6TTIzMS40IDI3Ny44bDI0LjEgNjEuMiAyMS0xMy44LTMxLjMtNTAuOS0xMy44IDMuNXptODQuNCAxNTQuOWwyIDEyLjRjOS0xLjUgNTguNC02LjYgNTguNC0xNC4xIDAtMS40LS42LTMuMi0uOS00LjYtMjYuOCAwLTM2LjkgMy44LTU5LjUgNi4zeiJdfSxxOXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGV0dGVyYm94ZCIsaWNvbjpbNjQwLDUxMixbXSwiZTYyZCIsIk01MjEuMyAxMjhDNTg2LjkgMTI4IDY0MCAxODEuMSA2NDAgMjQ2LjZTNTg2LjkgMzY1LjIgNTIxLjMgMzY1LjJjLTQyLjUgMC03OS43LTIyLjMtMTAwLjctNTUuOCAxMS40LTE4LjIgMTgtMzkuNyAxOC02Mi44cy02LjYtNDQuNi0xOC02Mi44bC44LTEuMmMyMC44LTMyLjMgNTYuOC01My45IDk3LjktNTQuNmwyIDB6TTMyMCAxMjhjNDIuNSAwIDc5LjcgMjIuMyAxMDAuNyA1NS44LTExLjQgMTguMi0xOCAzOS43LTE4IDYyLjhzNi42IDQ0LjYgMTggNjIuOGwtLjggMS4yYy0yMC44IDMyLjMtNTYuOCA1My45LTk3LjkgNTQuNmwtMiAwYy00Mi41IDAtNzkuNy0yMi4zLTEwMC43LTU1LjggMTEuNC0xOC4yIDE4LTM5LjcgMTgtNjIuOHMtNi42LTQ0LjYtMTgtNjIuOGwuOC0xLjJjMjAuOC0zMi4zIDU2LjgtNTMuOSA5Ny45LTU0LjZsMiAwem0tMjAxLjMgMGM0Mi41IDAgNzkuNyAyMi4zIDEwMC43IDU1LjgtMTEuNCAxOC4yLTE4IDM5LjctMTggNjIuOHM2LjYgNDQuNiAxOCA2Mi44bC0uOCAxLjJjLTIwLjggMzIuMy01Ni44IDUzLjktOTcuOSA1NC42bC0yIDBDNTMuMSAzNjUuMSAwIDMxMi4xIDAgMjQ2LjZTNTMuMSAxMjggMTE4LjcgMTI4eiJdfSxWOXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib3BlcmEiLGljb246WzUxMiw1MTIsW10sImYyNmEiLCJNMzIxLjkgMzIuN2MtMTcwLjIgMC0yNTIuNiAyMjMuOC0xNDcuNSAzNTUuMSAzNi41IDQ1LjQgODguNiA3NS42IDE0Ny41IDc1LjYgMzYuMyAwIDcwLjMtMTEuMSA5OS40LTMwLjQtNDMuOCAzOS4yLTEwMS45IDYzLTE2NS4zIDYzLTMuOSAwLTggMC0xMS45LS4zLTEzMS41LTYuMS0yMzYuMS0xMTQuNi0yMzYuMS0yNDcuNyAwLTEzNyAxMTEtMjQ4IDI0OC0yNDhsLjggMGM2My4xIC4zIDEyMC43IDI0LjEgMTY0LjQgNjMuMS0yOS0xOS40LTYzLjEtMzAuNC05OS4zLTMwLjR6TTQyMy43IDQzMC40Yy00MC45IDI0LjctOTAuNyAyMy42LTEzMi01LjggNTYuMi0yMC41IDk3LjctOTEuNiA5Ny43LTE3Ni42IDAtODQuNy00MS4yLTE1NS44LTk3LjQtMTc2LjYgNDEuOC0yOS4yIDkxLjItMzAuMyAxMzIuOS01IDEwNS45IDk4LjcgMTA1LjUgMjY1LjctMS4yIDM2NHoiXX0sajl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndlaWJvIixpY29uOls1MTIsNTEyLFtdLCJmMThhIiwiTTQwNyAxNzcuNmM3LjYtMjQtMTMuNC00Ni44LTM3LjQtNDEuNy0yMiA0LjgtMjguOC0yOC4xLTcuMS0zMi44IDUwLjEtMTAuOSA5Mi4zIDM3LjEgNzYuNSA4NC44LTYuOCAyMS4yLTM4LjggMTAuOC0zMi0xMC4zek0yMTQuOCA0NDYuN2MtMTA2LjMgMC0yMTQuOC01MS40LTIxNC44LTEzNi4zIDAtNDQuMyAyOC05NS40IDc2LjMtMTQzLjcgOTkuNy05OS43IDIwMy4yLTEwMC45IDE3My42LTUuNy00IDEzLjEgMTIuMyA1LjcgMTIuMyA2IDc5LjUtMzMuNiAxNDAuNS0xNi44IDExNCA1MS40LTMuNyA5LjQgMS4xIDEwLjkgOC4zIDEzLjEgMTM1LjcgNDIuMyAzNC44IDIxNS4yLTE2OS43IDIxNS4yek0zNTguNSAzMDAuNGMtNS40LTU1LjctNzguNS05NC0xNjMuNC04NS43LTg0LjggOC42LTE0OC44IDYwLjMtMTQzLjQgMTE2czc4LjUgOTQgMTYzLjQgODUuN2M4NC44LTguNiAxNDguOC02MC4zIDE0My40LTExNnpNMzQ3LjkgMzUuMWMtMjUuOSA1LjYtMTYuOCA0My43IDguMyAzOC4zIDcyLjMtMTUuMiAxMzQuOCA1Mi44IDExMS43IDEyNC03LjQgMjQuMiAyOS4xIDM3IDM3LjQgMTIgMzEuOS05OS44LTU1LjEtMTk1LjktMTU3LjQtMTc0LjN6bS03OC41IDMxMWMtMTcuMSAzOC44LTY2LjggNjAtMTA5LjEgNDYuMy00MC44LTEzLjEtNTgtNTMuNC00MC4zLTg5LjcgMTcuNy0zNS40IDYzLjEtNTUuNCAxMDMuNC00NS4xIDQyIDEwLjggNjMuMSA1MC4yIDQ2IDg4LjV6bS04Ni4zLTMwYy0xMi45LTUuNC0zMCAuMy0zOCAxMi45LTguMyAxMi45LTQuMyAyOCA4LjYgMzQgMTMuMSA2IDMwLjggLjMgMzkuMS0xMi45IDgtMTMuMSAzLjctMjguMy05LjctMzR6bTMyLjYtMTMuNGMtNS4xLTEuNy0xMS40IC42LTE0LjMgNS40LTIuOSA1LjEtMS40IDEwLjYgMy43IDEyLjkgNS4xIDIgMTEuNy0uMyAxNC42LTUuNCAyLjgtNS4yIDEuMS0xMC45LTQtMTIuOXoiXX0sVTl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlYWRtZSIsaWNvbjpbNTc2LDUxMixbXSwiZjRkNSIsIk01MjguMyA0Ni41bC0xMzkuOCAwYy00OC4xIDAtODkuOSAzMy4zLTEwMC40IDgwLjMtMTAuNi00Ny01Mi4zLTgwLjMtMTAwLjQtODAuM0w0OCA0Ni41QzIxLjUgNDYuNSAwIDY4IDAgOTQuNUwwIDM0MC4zYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDg5LjcgMGMxMDIuMiAwIDEzMi43IDI0LjQgMTQ3LjMgNzUgLjcgMi44IDUuMiAyLjggNiAwIDE0LjctNTAuNiA0NS4yLTc1IDE0Ny4zLTc1bDg5LjcgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTI0NS43YzAtMjYuNC0yMS4zLTQ3LjktNDcuNy00OC4xek0yNDIgMzExLjljMCAxLjktMS41IDMuNS0zLjUgMy41bC0xNjAuMyAwYy0xLjkgMC0zLjUtMS41LTMuNS0zLjVsMC0yMi45YzAtMS45IDEuNS0zLjUgMy41LTMuNWwxNjAuNCAwYzEuOSAwIDMuNSAxLjUgMy41IDMuNWwwIDIyLjktLjEgMHptMC02MC45YzAgMS45LTEuNSAzLjUtMy41IDMuNWwtMTYwLjMgMGMtMS45IDAtMy41LTEuNS0zLjUtMy41bDAtMjIuOWMwLTEuOSAxLjUtMy41IDMuNS0zLjVsMTYwLjQgMGMxLjkgMCAzLjUgMS41IDMuNSAzLjVsMCAyMi45LS4xIDB6bTAtNjAuOWMwIDEuOS0xLjUgMy41LTMuNSAzLjVsLTE2MC4zIDBjLTEuOSAwLTMuNS0xLjUtMy41LTMuNWwwLTIyLjljMC0xLjkgMS41LTMuNSAzLjUtMy41bDE2MC40IDBjMS45IDAgMy41IDEuNSAzLjUgMy41bDAgMjIuOS0uMSAwek01MDEuMyAzMTEuOGMwIDEuOS0xLjUgMy41LTMuNSAzLjVsLTE2MC4zIDBjLTEuOSAwLTMuNS0xLjUtMy41LTMuNWwwLTIyLjljMC0xLjkgMS41LTMuNSAzLjUtMy41bDE2MC40IDBjMS45IDAgMy41IDEuNSAzLjUgMy41bDAgMjIuOS0uMSAwem0wLTYwLjljMCAxLjktMS41IDMuNS0zLjUgMy41bC0xNjAuMyAwYy0xLjkgMC0zLjUtMS41LTMuNS0zLjVsMC0yMi45YzAtMS45IDEuNS0zLjUgMy41LTMuNWwxNjAuNCAwYzEuOSAwIDMuNSAxLjUgMy41IDMuNWwwIDIyLjktLjEgMHptMC02MC45YzAgMS45LTEuNSAzLjUtMy41IDMuNWwtMTYwLjMgMGMtMS45IDAtMy41LTEuNS0zLjUtMy41bDAtMjIuOGMwLTEuOSAxLjUtMy41IDMuNS0zLjVsMTYwLjQgMGMxLjkgMCAzLjUgMS41IDMuNSAzLjVsMCAyMi44LS4xIDB6Il19LFc5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb2xhbmciLGljb246WzY0MCw1MTIsW10sImU0MGYiLCJNNDAwLjEgMTk0LjhjLTEwLjkgMi44LTE5LjkgNC4zLTI5LjEgNy42LTcuMyAxLjktMTQuNyAzLjktMjMuMiA2LjFsLS42IC4xYy00LjIgMS4yLTQuNiAxLjMtOC41LTMuMi00LjctNS4zLTguMS04LjctMTQuNi0xMS45LTE5LjctOS42LTM4LjctNi44LTU2LjQgNC43LTIxLjIgMTMuNy0zMi4xIDM0LTMxLjggNTkuMiAuMyAyNSAxNy40IDQ1LjUgNDEuMiA0OC45IDIyIDIuOCAzOS44LTQuNiA1My44LTIwLjUgMi4xLTIuNiA0LTUuMyA2LjEtOC4zIC44LTEgMS41LTIuMSAyLjMtMy4zbC02MC4xIDBjLTYuNSAwLTguMS00LTUuOS05LjMgNC05LjcgMTEuNS0yNS45IDE1LjktMzQgLjktMS44IDMuMS01LjggNi45LTUuOGwxMDEuMSAwYzQuNS0xMy40IDExLjgtMjYuOSAyMS42LTM5LjcgMjIuNy0yOS45IDQ5LjMtNDUuNSA4Ny4yLTUyIDMxLjgtNS42IDYxLjctMi41IDg4LjkgMTUuOSAyNC42IDE2LjggMzkuOCAzOS42IDQzLjkgNjkuNSA1LjMgNDIuMS02LjkgNzYuMy0zNi43IDEwNS42LTE5LjcgMjAuOS00NC45IDM0LTczLjkgMzkuOS01LjYgMS0xMS4xIDEuNS0xNi41IDItMi45IC4yLTUuNyAuNS04LjUgLjgtMjguMy0uNi01NC4yLTguNy03Ni0yNy40LTE1LjMtMTMuMy0yNS45LTI5LjYtMzEuMS00OC41LTMuNyA3LjMtOCAxNC40LTE0IDIxLjEtMjEuNiAyOS42LTUwLjkgNDgtODcuOSA1Mi45LTMwLjYgNC4xLTU4LjktMS44LTgzLjktMjAuNS0yMy0xNy41LTM2LjEtNDAuNS0zOS41LTY5LjItNC4xLTM0IDUuOS02NS40IDI2LjQtOTEuMyAyMi4yLTI5IDUxLjUtNDcuNCA4Ny4zLTUzLjkgMjkuMy02LjIgNTcuMy0xLjkgODIuNiAxNS4zIDE2LjUgMTAuOSAyOC4zIDI1LjggMzYuMSA0My45IDEuOSAyLjggLjYgNC40LTMuMSA1LjN6TTQ4LjMgMjAwLjRjLTEuMyAwLTEuNi0uNi0uOS0xLjZsNi42LTguNGMuNi0uOSAyLjItMS41IDMuNC0xLjVsMTExLjMgMGMxLjIgMCAxLjUgLjkgLjkgMS44bC01LjMgOC4xYy0uNiAxLTIuMiAxLjktMy4xIDEuOWwtMTEyLjgtLjN6TTEuMiAyMjkuMWMtMS4yIDAtMS42LS43LS45LTEuNmw2LjUtOC40Yy42LS45IDIuMi0xLjYgMy40LTEuNmwxNDIuMSAwYzEuMiAwIDEuOCAxIDEuNSAxLjlsLTIuNSA3LjVjLS4zIDEuMi0xLjUgMS45LTIuOCAxLjlMMS4yIDIyOS4xem03NC41IDI2LjhjLS42IC45LS4zIDEuOCAuOSAxLjhsNjggLjNjLjkgMCAyLjItLjkgMi4yLTIuMWwuNi03LjVjMC0xLjMtLjYtMi4yLTEuOS0yLjJsLTYyLjMgMGMtMS4yIDAtMi41IC45LTMuMSAxLjlsLTQuNCA3Ljh6bTUwMS41LTE4Yy0uMi0yLjYtLjMtNC44LS43LTctNS42LTMwLjgtMzQtNDguMy02My42LTQxLjQtMjkgNi41LTQ3LjcgMjQuOS01NC41IDU0LjItNS42IDI0LjMgNi4yIDQ4LjkgMjguNiA1OC45IDE3LjIgNy41IDM0LjMgNi42IDUwLjgtMS45IDI0LjYtMTMuNiAzOC0zMi43IDM5LjYtNTkuNS0uMS0xLjItLjEtMi4zLS4yLTMuM3oiXX0sRzl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0YWNrLWV4Y2hhbmdlIixpY29uOls0NDgsNTEyLFtdLCJmMThkIiwiTTE4LjEgMzMyLjNsNDEyLjcgMCAwIDIyYzAgMzcuNy0yOS4zIDY4LTY1LjMgNjhsLTE5IDAtODYuOCA4OS43IDAtODkuNy0xNzYuMyAwYy0zNiAwLTY1LjMtMzAuMy02NS4zLTY4bDAtMjJ6bTAtMjMuNmw0MTIuNyAwIDAtODUtNDEyLjcgMCAwIDg1em0wLTEwOS40bDQxMi43IDAgMC04NS00MTIuNyAwIDAgODV6TTM2NS40IDBMODMuNCAwYy0zNiAwLTY1LjMgMzAuMy02NS4zIDY3LjdsMCAyMi4zIDQxMi43IDAgMC0yMi4zQzQzMC43IDMwLjMgNDAxLjQgMCAzNjUuNCAweiJdfSxZOXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ3VscCIsaWNvbjpbMjU2LDUxMixbXSwiZjNhZSIsIk0yMTAgMzkxLjFsLTE0LjEgMjQuNi00LjYgODAuMmMwIDguOS0yOC4zIDE2LjEtNjMuMSAxNi4xcy02My4xLTcuMi02My4xLTE2LjFsLTUuOC03OS40LTE0LjktMjUuNGM0MS4yIDE3LjMgMTI2IDE2LjcgMTY1LjYgMHpNMTQgMTM3LjhMMjcuNiAyNjMuM2M1LjktMjAgMjAuOC00NyA0MC01NS4yIDYuMy0yLjcgMTIuNy0yLjcgMTguNyAuOSA1LjIgMyA5LjYgOS4zIDEwLjEgMTEuOCAxLjIgNi41LTIgOS4xLTQuNSA5LjEtMyAwLTUuMy00LjYtNi44LTcuMy00LjEtNy4zLTEwLjMtNy42LTE2LjktMi44LTYuOSA1LTEyLjkgMTMuNC0xNy4xIDIwLjctNS4xIDguOC05LjQgMTguNS0xMiAyOC4yLTEuNSA1LjYtMi45IDE0LjYtLjYgMTkuOSAxIDIuMiAyLjUgMy42IDQuOSAzLjYgNSAwIDEyLjMtNi42IDE1LjgtMTAuMSA0LjUtNC41IDEwLjMtMTEuNSAxMi41LTE2bDUuMi0xNS41YzIuNi02LjggOS45LTUuNiA5LjkgMCAwIDEwLjItMy43IDEzLjYtMTAgMzQuNy01LjggMTkuNS03LjYgMjUuOC03LjYgMjUuOC0uNyAyLjgtMy40IDcuNS02LjMgNy41LTEuMiAwLTIuMS0uNC0yLjYtMS4yLTEtMS40LS45LTUuMy0uOC02LjMgLjItMy4yIDYuMy0yMi4yIDcuMy0yNS4yLTIgMi4yLTQuMSA0LjQtNi40IDYuNi01LjQgNS4xLTE0LjEgMTEuOC0yMS41IDExLjgtMy40IDAtNS42LS45LTcuNy0yLjRsNy42IDc5LjZjMiA1IDM5LjIgMTcuMSA4OC4yIDE3LjEgNDkuMSAwIDg2LjMtMTIuMiA4OC4yLTE3LjFsMTAuOS05NC42Yy01LjcgNS4yLTEyLjMgMTEuNi0xOS42IDE0LjgtNS40IDIuMy0xNy40IDMuOC0xNy40LTUuNyAwLTUuMiA5LjEtMTQuOCAxNC40LTIxLjUgMS40LTEuNyA0LjctNS45IDQuNy04LjEgMC0yLjktNi0yLjItMTEuNyAyLjUtMy4yIDIuNy02LjIgNi4zLTguNyA5LjctNC4zIDYtNi42IDExLjItOC41IDE1LjUtNi4yIDE0LjItNC4xIDguNi05LjEgMjItNSAxMy4zLTQuMiAxMS44LTUuMiAxNC0uOSAxLjktMi4yIDMuNS00IDQuNS0xLjkgMS00LjUgLjktNi4xLS4zLS45LS42LTEuMy0xLjktMS4zLTMuNyAwLS45IC4xLTEuOCAuMy0yLjcgMS41LTYuMSA3LjgtMTguMSAxNS0zNC4zIDEuNi0zLjcgMS0yLjYgLjgtMi4zLTYuMiA2LTEwLjkgOC45LTE0LjQgMTAuNS01LjggMi42LTEzIDIuNi0xNC41LTQuMS0uMS0uNC0uMS0uOC0uMi0xLjItMTEuOCA5LjItMjQuMyAxMS43LTIwLTguMS00LjYgOC4yLTEyLjYgMTQuOS0yMi40IDE0LjktNC4xIDAtNy4xLTEuNC04LjYtNS4xLTIuMy01LjUgMS4zLTE0LjkgNC42LTIzLjggMS43LTQuNSA0LTkuOSA3LjEtMTYuMiAxLjYtMy40IDQuMi01LjQgNy42LTQuNSAuNiAuMiAxLjEgLjQgMS42IC43IDIuNiAxLjggMS42IDQuNSAuMyA3LjItMy44IDcuNS03LjEgMTMtOS4zIDIwLjgtLjkgMy4zLTIgOSAxLjUgOSAyLjQgMCA0LjctLjggNi45LTIuNCA0LjYtMy40IDguMy04LjUgMTEuMS0xMy41IDItMy42IDQuNC04LjMgNS42LTEyLjMgLjUtMS43IDEuMS0zLjMgMS44LTQuOCAxLjEtMi41IDIuNi01LjEgNS4yLTUuMSAxLjMgMCAyLjQgLjUgMy4yIDEuNSAxLjcgMi4yIDEuMyA0LjUgLjQgNi45LTIgNS42LTQuNyAxMC42LTYuOSAxNi43LTEuMyAzLjUtMi43IDgtMi43IDExLjcgMCAzLjQgMy43IDIuNiA2LjggMS4yIDIuNC0xLjEgNC44LTIuOCA2LjgtNC41IDEuMi00LjkgLjktMy44IDI2LjQtNjguMiAxLjMtMy4zIDMuNy00LjcgNi4xLTQuNyAxLjIgMCAyLjIgLjQgMy4yIDEuMSAxLjcgMS4zIDEuNyA0LjEgMSA2LjItLjcgMS45LS42IDEuMy00LjUgMTAuNS01LjIgMTIuMS04LjYgMjAuOC0xMy4yIDMxLjktMS45IDQuNi03LjcgMTguOS04LjcgMjIuMy0uNiAyLjItMS4zIDUuOCAxIDUuOCA1LjQgMCAxOS4zLTEzLjEgMjMuMS0xNyAuMi0uMyAuNS0uNCAuOS0uNiAuNi0xLjkgMS4yLTMuNyAxLjctNS41IDEuNC0zLjggMi43LTguMiA1LjMtMTEuMyAuOC0xIDEuNy0xLjYgMi43LTEuNiAyLjggMCA0LjIgMS4yIDQuMiA0IDAgMS4xLS43IDUuMS0xLjEgNi4yIDEuNC0xLjUgMi45LTMgNC41LTQuNSAxNS0xMy45IDI1LjctNi44IDI1LjcgLjIgMCA3LjQtOC45IDE3LjctMTMuOCAyMy40LTEuNiAxLjktNC45IDUuNC01IDYuNCAwIDEuMyAuOSAxLjggMi4yIDEuOCAyIDAgNi40LTMuNSA4LTQuNyA1LTMuOSAxMS44LTkuOSAxNi42LTE0LjFsMTQuOC0xMzYuOGMtMzAuNSAxNy4xLTE5Ny42IDE3LjItMjI4LjMgLjJ6bTIyOS43LTguNWMwIDIxLTIzMS4yIDIxLTIzMS4yIDAgMC04LjggNTEuOC0xNS45IDExNS42LTE1LjkgOSAwIDE3LjggLjEgMjYuMyAuNEwxNjcgNjUuMSAyMjguMyAuNmMxLjQtMS40IDUuOC0uMiA5LjkgMy41czYuNiA3LjkgNS4zIDkuM2wtLjEgLjEtNTcuMyA2MC41LTEwIDQwLjdjMzkuOSAyLjYgNjcuNiA4LjEgNjcuNiAxNC42em0tNjkuNCA0LjZjMC0uOC0uOS0xLjUtMi41LTIuMWwtLjIgLjhjMCAxLjMtNSAyLjQtMTEuMSAyLjRzLTExLjEtMS4xLTExLjEtMi40YzAtLjEgMC0uMiAuMS0uM2wuMi0uN2MtMS44IC42LTMgMS40LTMgMi4zIDAgMi4xIDYuMiAzLjcgMTMuNyAzLjcgNy43IC4xIDEzLjktMS42IDEzLjktMy43eiJdfSxaOXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieWVscCIsaWNvbjpbMzg0LDUxMixbXSwiZjFlOSIsIk00Mi45IDI0MC4zbDk5LjYgNDguNmMxOS4yIDkuNCAxNi4yIDM3LjUtNC41IDQyLjdMMzAuNSAzNTguNWMtMy4yIC44LTYuNCAuOS05LjYgLjNzLTYuMi0xLjgtOC45LTMuNy00LjktNC4zLTYuNi03LjEtMi43LTUuOS0zLjEtOS4yYy0zLjMtMjguOC0uMi01Ny45IDktODUuMyAxLTMuMSAyLjctNS45IDQuOS04LjNzNC45LTQuMiA3LjktNS41IDYuMi0xLjggOS41LTEuOCA2LjQgLjkgOS4zIDIuM3ptNDQgMjM5LjNjMjMuOCAxNi4zIDUwLjkgMjcuMyA3OS40IDMyLjEgMy4yIC42IDYuNSAuNCA5LjYtLjRzNi4xLTIuMyA4LjYtNC40IDQuNi00LjYgNi03LjUgMi4zLTYuMSAyLjQtOS40bDMuOS0xMTAuOGMuNy0yMS4zLTI1LjUtMzEuOS0zOS44LTE2LjFMODIuOCA0NDUuNWMtMi4yIDIuNC0zLjggNS4zLTQuOCA4LjRzLTEuMyA2LjQtLjkgOS42IDEuNSA2LjMgMy4xIDkuMSAzLjkgNS4yIDYuNiA3bDAgMHpNMjMyLjIgMzY5LjdsNTguOCA5NGMxLjcgMi44IDQgNS4xIDYuOCA2LjlzNS44IDMgOSAzLjUgNi41IC4zIDkuNy0uNSA2LjEtMi40IDguNi00LjRjMjIuMy0xOC40IDQwLjMtNDEuNSA1Mi43LTY3LjYgMS40LTIuOSAyLjEtNi4xIDIuMi05LjRzLS42LTYuNS0xLjktOS40LTMuMi01LjctNS42LTcuOC01LjItMy45LTguMy00LjlMMjU4LjcgMzM1LjdjLTIwLjMtNi41LTM3LjggMTUuOC0yNi41IDMzLjl6TTM4MC42IDIzNy40Yy0xMS41LTI2LjUtMjguNy01MC4yLTUwLjQtNjkuMy0yLjQtMi4xLTUuMy0zLjctOC40LTQuN3MtNi40LTEuMi05LjYtLjgtNi4zIDEuNS05LjEgMy4yLTUuMSA0LTYuOSA2LjdsLTYyIDkxLjljLTExLjkgMTcuNyA0LjcgNDAuNiAyNS4yIDM0LjdMMzY2IDI2OC42YzMuMS0uOSA2LTIuNSA4LjUtNC42czQuNS00LjcgNS44LTcuNyAyLjEtNi4yIDIuMi05LjQtLjYtNi41LTEuOS05LjVsMCAwek02Mi4xIDMwLjJjLTIuOCAxLjQtNS40IDMuMy03LjQgNS43cy0zLjYgNS4yLTQuNSA4LjItMS4yIDYuMi0uOSA5LjMgMS4zIDYuMSAyLjkgOC45TDE1Ni4zIDI0Mi42YzExLjcgMjAuMiA0Mi42IDExLjkgNDIuNi0xMS40bDAtMjA4LjNjMC0zLjEtLjYtNi4zLTEuOC05LjJzLTMuMS01LjUtNS40LTcuNi01LTMuOC04LTQuOC02LjEtMS40LTkuMy0xLjJjLTM5IDMuMS03NyAxMy4zLTExMi4zIDMwLjF6Il19LFg5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb2ZvcmUiLGljb246WzQ0OCw1MTIsW10sImYzYTciLCJNMzQ4IDMxOS44bC0xMy4yIDAgMCAzNC43Yy0yNC41IDIzLjEtNTYuMyAzNS44LTg5LjkgMzUuOC03My4yIDAtMTMyLjQtNjAuMi0xMzIuNC0xMzQuNCAwLTc0LjEgNTkuMi0xMzQuNCAxMzIuNC0xMzQuNCAzNS4zIDAgNjguNiAxNCA5My42IDM5LjRsNjIuMy02My4zYy00MS44LTQyLjMtOTcuMS02NS42LTE1Ni4xLTY1LjYtMTIyLjcgMC0yMjAuNyAxMDAuNi0yMjAuNyAyMjQgMCAxMjIuNSA5NyAyMjQgMjIwLjcgMjI0IDYzLjIgMCAxMjQuNS0yNi4yIDE3MS04Mi41LTItMjcuNi0xMy40LTc3LjctNjcuNy03Ny43ek0zMzUuOSAyMDcuM2wtMTA2LjMgMCAwIDg5IDExOC40IDBjMzMuNSAwIDYwLjUgMTUuMSA3NiA0MS44bDAtMzAuNmMwLTY1LjItNDAuNC0xMDAuMi04OC4xLTEwMC4yeiJdfSxLOXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXZpYXRvIixpY29uOls2NDAsNTEyLFtdLCJmNDIxIiwiTTEwNy4yIDI4My41bC0xOS00MS44LTUyLjEgMC0xOSA0MS44LTE3LjEgMCA2Mi4yLTEzMS40IDYyLjIgMTMxLjQtMTcuMiAwem0tNDUtOTguMWwtMTkuNiA0Mi41IDM5LjIgMC0xOS42LTQyLjV6TTE3NC45IDI4Ny44bC02Mi4yLTEzMS40IDE3LjEgMCA0NS4xIDk2IDQ1LjEtOTYgMTcgMC02Mi4xIDEzMS40em04MC42LTQuM2wwLTEyNy4xIDE1LjUgMCAwIDEyNy4xLTE1LjUgMHpNNDY0LjYgMTY3LjlsMCAxMTUuNi0xNy4zIDAgMC0xMTUuNi00MS4yIDAgMC0xMS41IDk5LjYgMCAwIDExLjUtNDEuMSAwek02NDAgMjE4LjhjMCA5LjItMS43IDE3LjgtNS4xIDI1LjhzLTguMiAxNS4xLTE0LjIgMjEuMS0xMy4xIDEwLjgtMjEuMSAxNC4yLTE2LjYgNS4xLTI1LjggNS4xLTE3LjgtMS43LTI1LjgtNS4xLTE1LjEtOC4yLTIxLjEtMTQuMi0xMC44LTEzLTE0LjItMjEuMWMtMy40LTgtNS4xLTE2LjYtNS4xLTI1LjhzMS43LTE3LjggNS4xLTI1LjggOC4yLTE1LjEgMTQuMi0yMS4xIDEzLTguNCAyMS4xLTExLjljOC0zLjQgMTYuNi01LjEgMjUuOC01LjFzMTcuOCAxLjcgMjUuOCA1LjEgMTUuMSA1LjggMjEuMSAxMS45YzYgNiAxMC43IDEzLjEgMTQuMiAyMS4xIDMuNCA4IDUuMSAxNi42IDUuMSAyNS44em0tMTUuNSAwYzAtNy4zLTEuMy0xNC0zLjktMjAuM3MtNi4yLTExLjctMTAuOC0xNi4zLTEwLTguMi0xNi4yLTEwLjktMTIuOC00LTE5LjgtNC0xMy42IDEuMy0xOS44IDQtMTEuNiA2LjMtMTYuMiAxMC45LTguMiAxMC0xMC44IDE2LjMtMy45IDEzLjEtMy45IDIwLjNjMCA3LjMgMS4zIDE0IDMuOSAyMC4zczYuMiAxMS43IDEwLjggMTYuMyAxMCA4LjIgMTYuMiAxMC45IDEyLjggNCAxOS44IDQgMTMuNi0xLjMgMTkuOC00IDExLjYtNi4zIDE2LjItMTAuOSA4LjItMTAgMTAuOC0xNi4zIDMuOS0xMy4xIDMuOS0yMC4zem0tOTQuOCA5Ni43bDAtNi4zIDg4LjktMTAtMjQyLjkgMTMuNGMuNi0yLjIgMS4xLTQuNiAxLjQtNy4yIC4zLTIgLjUtNC4yIC42LTYuNWw2NC44LTguMS02NC45IDEuOWMwLS40LS4xLS43LS4xLTEuMS0yLjgtMTcuMi0yNS41LTIzLjctMjUuNS0yMy43bC0xLjEtMjYuMyAyMy44IDAgMTkgNDEuOCAxNy4xIDAtNjIuMi0xMzEuNC02Mi4yIDEzMS40IDE3LjEgMCAxOS00MS44IDIzLjYgMC0xLjEgMjYuNHMtMjIuNyA2LjUtMjUuNSAyMy43Yy0uMSAuMy0uMSAuNy0uMSAxLjFsLTY0LjktMS45IDY0LjggOC4xYy4xIDIuMyAuMyA0LjQgLjYgNi41IC4zIDIuNiAuOCA1IDEuNCA3LjJsLTI0Mi45LTEzLjUgODguOSAxMCAwIDYuM2MtNS45IC45LTEwLjUgNi0xMC41IDEyLjIgMCA2LjggNS42IDEyLjQgMTIuNCAxMi40czEyLjQtNS42IDEyLjQtMTIuNGMwLTYuMi00LjYtMTEuMy0xMC41LTEyLjJsMC01LjggODAuMyA5IDAgNS40Yy01LjcgMS4xLTkuOSA2LjItOS45IDEyLjEgMCA2LjggNS42IDEwLjIgMTIuNCAxMC4yczEyLjQtMy40IDEyLjQtMTAuMmMwLTYtNC4zLTExLTkuOS0xMi4xbDAtNC45IDI4LjQgMy4yIDAgMjMuNy01LjkgMCAwIDEzLjkgNS45IDAgMC02LjYgNSAwIDAgNi42IDUuOSAwIDAtMTMuOC01LjkgMCAwLTIzLjIgMzguMyA0LjNjOC4xIDExLjQgMTkgMTMuNiAxOSAxMy42bC0uMSA2LjctNS4xIC4yLS4xIDEyLjEgNC4xIDAgLjEtNSA1LjIgMCAuMSA1IDQuMSAwLS4xLTEyLjEtNS4xLS4yLS4xLTYuN3MxMC45LTIuMSAxOS0xMy42bDM4LjMtNC4zIDAgMjMuMi01LjkgMCAwIDEzLjggNS45IDAgMC02LjYgNSAwIDAgNi42IDUuOSAwIDAtMTMuOC01LjkgMCAwLTIzLjcgMjguNC0zLjIgMCA0LjljLTUuNyAxLjEtOS45IDYuMi05LjkgMTIuMSAwIDYuOCA1LjYgMTAuMiAxMi40IDEwLjJzMTIuNC0zLjQgMTIuNC0xMC4yYzAtNi00LjMtMTEtOS45LTEyLjFsMC01LjQgODAuMy05IDAgNS44Yy01LjkgLjktMTAuNSA2LTEwLjUgMTIuMiAwIDYuOCA1LjYgMTIuNCAxMi40IDEyLjRzMTIuNC01LjYgMTIuNC0xMi40Yy0uMi02LjMtNC43LTExLjQtMTAuNy0xMi4zek0zMjguOSAyMjcuOWwxOS42LTQyLjUgMTkuNiA0Mi41LTE3LjkgMC0xLjctNDAuMy0xLjcgNDAuMy0xNy45IDB6Il19LFE5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwYWRsZXQiLGljb246WzY0MCw1MTIsW10sImU0YTAiLCJNMjk3LjkgMGwuMSAwYzcuNiAuMSAxNC40IDQuNyAxNy41IDExLjhsMTMyIDMwOC41IC4zLS4xIC4yIC40LTIuOCAxMC00Mi45IDE1OGMtMy43IDE2LjItMTkuNyAyNi4zLTM1LjggMjIuNmwtNjguNC0xNS42LTY4LjUgMTUuNmMtMTYuMSAzLjctMzIuMS02LjQtMzUuOC0yMi42bC00Mi45LTE1OC0yLjctMTAgLjEtLjQgMTMyLjEtMzA4LjRjMy03IDkuOS0xMS42IDE3LjUtMTEuOHpNMTYwLjEgMzIyLjFsMTMxIDM5LjEgNi45IDEyMi41IDcuOS0xMjEuNSAxMzAuNi0zOS4zIC4yLS4xLTEzMSAyNS4xLTguNi0zMjAuMi01LjIgMzIwLjItMTMxLjgtMjUuOHpNNDI2IDIyMi42bDk0LjQtNDEgNzMuOCAwLTE1NyAyNDcuNiAzMS42LTEwOS00Mi44LTk3LjZ6bTE3MS41LTQxLjJsNDEuNCA3Ni4yYzQgNy41LTMuOSAxNS45LTExLjYgMTIuMmwtNDcuNi0yMi43IDE3LjgtNjUuN3pNMTI3LjMgMzE4LjVMMTU4LjcgNDMwIDEuNiAxNTQuNWMtNS45LTEwLjQgNS41LTIyIDE1LjktMTYuMmwxNTEuOCA4NC4yLTQyLjEgOTZ6Il19LEo5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlZGdlLWxlZ2FjeSIsaWNvbjpbNDQ4LDUxMixbXSwiZTA3OCIsIk0tNiAyMjguMmwuNC0uNWMwIC4yIDAgLjMtLjEgLjVsLS4zIDB6bTQ2MC42IDE1LjVjMC00NC03LjgtODQuNS0yOC44LTEyMi40LTQxLTczLjQtMTEzLjYtMTEzLjMtMTk4LjYtMTEzLjMtMTM5LjktLjMtMjE4LjMgMTA1LjItMjMyLjggMjE5LjcgNDIuNC02MS4zIDExNy4xLTEyMS40IDIyMC40LTEyNSAwIDAgMTA5LjcgMCA5OS40IDEwNWwtMTc1LjggMGM2LjQtMzcuNCAxOC41LTU5IDM0LjMtNzguOS03NSAzNC45LTEyMS44IDk2LjEtMTIwLjggMTg4LjMgLjggNzEuNSA1MC4xIDE0NC44IDEyMC44IDE3MiA4My40IDMxLjggMTkyLjggNy4yIDI0MC4xLTIxLjNsMC0xMDQuNGMtODAuOSA1Ni41LTI3MC45IDYwLjktMjcyLjMtNjcuNmwzMTQuMSAwIDAtNTIuMXoiXX0sRm9lPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1sYXN0Zm0iLGljb246WzQ0OCw1MTIsWyJsYXN0Zm0tc3F1YXJlIl0sImYyMDMiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTIxMC43IDI4MC44Yy0xLjgtNS41LTMuNC0xMC44LTUtMTUuOS0xMi45LTQxLjktMjEtNjguNC01OC02OC40LTIyLjQgMC00NS4xIDE2LjEtNDUuMSA2MS4yIDAgMzUuMiAxOCA1Ny4yIDQzLjMgNTcuMiAyOC42IDAgNDcuNi0yMS4zIDQ3LjYtMjEuM2wxMS43IDMxLjlzLTE5LjggMTkuNC02MS4yIDE5LjRjLTUxLjMgMC03OS45LTMwLjEtNzkuOS04NS44IDAtNTcuOSAyOC42LTkyIDgyLjUtOTIgNjcuOSAwIDc5LjMgMzUuMyA5Ni40IDg4LjQgMS40IDQuNCAyLjkgOC45IDQuNCAxMy41IDguOCAyNi44IDI0LjIgNDYuMiA2MS4yIDQ2LjIgMjQuOSAwIDM4LjEtNS41IDM4LjEtMTkuMSAwLTE3LjUtMTYuOS0yMS4yLTQwLTI2LjQtMy4yLS43LTYuNS0xLjQtOS45LTIuMi0zMC40LTcuMy00Mi41LTIzLjEtNDIuNS00OCAwLTQwIDMyLjMtNTIuNCA2NS4yLTUyLjQgMzcuNCAwIDYwLjEgMTMuNiA2MyA0Ni42bC0zNi43IDQuNGMtMS41LTE1LjgtMTEtMjIuNC0yOC42LTIyLjQtMTYuMSAwLTI2IDcuMy0yNiAxOS44IDAgMTEgNC44IDE3LjYgMjAuOSAyMS4zIDIuMiAuNSA0LjUgMSA2LjcgMS40IDMxLjEgNi41IDY1LjEgMTMuNyA2NS4xIDU2LjEgLjEgMzYuNy0zMC43IDUwLjYtNzYuMSA1MC42LTYzLjQgMC04NS40LTI4LjYtOTcuMS02NC4xeiJdfSxlZ3Q9Rm9lLHRndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29kcmVhZHMtZyIsaWNvbjpbMzIwLDUxMixbXSwiZjNhOSIsIk0xMC44IDQwMy4zbDIuOCAwYzEyLjcgMCAyNS41IDAgMzguMiAuMSAxLjYgMCAzLjEtLjQgMy42IDIuMSA3LjEgMzQuOSAzMCA1NC42IDYyLjkgNjMuOSAyNi45IDcuNiA1NC4xIDcuOCA4MS4zIDEuOCAzMy44LTcuNCA1Ni0yOC4zIDY4LTYwLjQgOC0yMS41IDEwLjctNDMuOCAxMS02Ni41IC4xLTUuOCAuMy00Ny0uMi01Mi44bC0uOS0uM2MtLjggMS41LTEuNyAyLjktMi41IDQuNC0yMi4xIDQzLjEtNjEuMyA2Ny40LTEwNS40IDY5LjEtMTAzIDQtMTY5LjQtNTctMTcyLTE3Ni4yLS41LTIzLjcgMS44LTQ2LjkgOC4zLTY5LjcgMjAuNi03MS4xIDc0LjYtMTE4LjIgMTUzLjktMTE4LjggNjEuMy0uNCAxMDEuNSAzOC43IDExNi4yIDcwLjMgLjUgMS4xIDEuMyAyLjMgMi40IDEuOWwwLTYxLjYgNDQuMyAwYzAgMjgwLjMgLjEgMzMyLjIgLjEgMzMyLjItLjEgNzguNS0yNi43IDE0My43LTEwMyAxNjIuMi02OS41IDE2LjktMTU5IDQuOC0xOTYtNTcuMi04LTEzLjUtMTEuOC0yOC4zLTEzLTQ0LjV6TTE1Ny4xIDM2LjVjLTUyLjUtLjUtMTA4LjUgNDAuNy0xMTUgMTMzLjgtNC4xIDU5IDE0LjggMTIyLjIgNzEuNSAxNDguNiAyNy42IDEyLjkgNzQuMyAxNSAxMDguMy04LjcgNDcuNi0zMy4yIDYyLjctOTcgNTQuOC0xNTQtOS43LTcxLjEtNDcuOC0xMjAtMTE5LjYtMTE5Ljd6Il19LGFndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy1tYXN0ZXJjYXJkIixpY29uOls1NzYsNTEyLFtdLCJmMWYxIiwiTTQ4Mi45IDQxMC4zYzAgNi44LTQuNiAxMS43LTExLjIgMTEuNy02LjggMC0xMS4yLTUuMi0xMS4yLTExLjdzNC40LTExLjcgMTEuMi0xMS43YzYuNiAwIDExLjIgNS4yIDExLjIgMTEuN3pNMTcyLjEgMzk4LjZjLTcuMSAwLTExLjIgNS4yLTExLjIgMTEuN1MxNjUgNDIyIDE3Mi4xIDQyMmM2LjUgMCAxMC45LTQuOSAxMC45LTExLjctLjEtNi41LTQuNC0xMS43LTEwLjktMTEuN3ptMTE3LjUtLjNjLTUuNCAwLTguNyAzLjUtOS41IDguN2wxOS4xIDBjLS45LTUuNy00LjQtOC43LTkuNi04Ljd6bTEwNy44IC4zYy02LjggMC0xMC45IDUuMi0xMC45IDExLjdzNC4xIDExLjcgMTAuOSAxMS43IDExLjItNC45IDExLjItMTEuN2MwLTYuNS00LjQtMTEuNy0xMS4yLTExLjd6bTEwNS45IDI2LjFjMCAuMyAuMyAuNSAuMyAxLjEgMCAuMy0uMyAuNS0uMyAxLjEtLjMgLjMtLjMgLjUtLjUgLjgtLjMgLjMtLjUgLjUtMS4xIC41LS4zIC4zLS41IC4zLTEuMSAuMy0uMyAwLS41IDAtMS4xLS4zLS4zIDAtLjUtLjMtLjgtLjUtLjMtLjMtLjUtLjUtLjUtLjgtLjMtLjUtLjMtLjgtLjMtMS4xIDAtLjUgMC0uOCAuMy0xLjEgMC0uNSAuMy0uOCAuNS0xLjEgLjMtLjMgLjUtLjMgLjgtLjUgLjUtLjMgLjgtLjMgMS4xLS4zIC41IDAgLjggMCAxLjEgLjMgLjUgLjMgLjggLjMgMS4xIC41cy4yIC42IC41IDEuMXptLTIuMiAxLjRjLjUgMCAuNS0uMyAuOC0uMyAuMy0uMyAuMy0uNSAuMy0uOHMwLS41LS4zLS44Yy0uMyAwLS41LS4zLTEuMS0uM2wtMS42IDAgMCAzLjUgLjggMCAwLTEuNCAuMyAwIDEuMSAxLjQgLjggMC0xLjEtMS4zek01NzYgODFsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgxYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDgxQzAgNTQuNSAyMS41IDMzIDQ4IDMzbDQ4MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek02NCAyMjAuNmMwIDc2LjUgNjIuMSAxMzguNSAxMzguNSAxMzguNSAyNy4yIDAgNTMuOS04LjIgNzYuNS0yMy4xLTcyLjktNTkuMy03Mi40LTE3MS4yIDAtMjMwLjUtMjIuNi0xNS00OS4zLTIzLjEtNzYuNS0yMy4xLTc2LjQtLjEtMTM4LjUgNjItMTM4LjUgMTM4LjJ6TTI4OCAzMjkuNGM3MC41LTU1IDcwLjItMTYyLjIgMC0yMTcuNS03MC4yIDU1LjMtNzAuNSAxNjIuNiAwIDIxNy41ek0xNDUuNyA0MDUuN2MwLTguNy01LjctMTQuNC0xNC43LTE0LjctNC42IDAtOS41IDEuNC0xMi44IDYuNS0yLjQtNC4xLTYuNS02LjUtMTIuMi02LjUtMy44IDAtNy42IDEuNC0xMC42IDUuNGwwLTQuNC04LjIgMCAwIDM2LjcgOC4yIDBjMC0xOC45LTIuNS0zMC4yIDktMzAuMiAxMC4yIDAgOC4yIDEwLjIgOC4yIDMwLjJsNy45IDBjMC0xOC4zLTIuNS0zMC4yIDktMzAuMiAxMC4yIDAgOC4yIDEwIDguMiAzMC4ybDguMiAwIDAtMjMtLjIgMHpNMTkwLjYgMzkybC03LjkgMCAwIDQuNGMtMi43LTMuMy02LjUtNS40LTExLjctNS40LTEwLjMgMC0xOC4yIDguMi0xOC4yIDE5LjMgMCAxMS4yIDcuOSAxOS4zIDE4LjIgMTkuMyA1LjIgMCA5LTEuOSAxMS43LTUuNGwwIDQuNiA3LjkgMCAwLTM2Ljh6bTQwLjUgMjUuNmMwLTE1LTIyLjktOC4yLTIyLjktMTUuMiAwLTUuNyAxMS45LTQuOCAxOC41LTEuMWwzLjMtNi41Yy05LjQtNi4xLTMwLjItNi0zMC4yIDguMiAwIDE0LjMgMjIuOSA4LjMgMjIuOSAxNSAwIDYuMy0xMy41IDUuOC0yMC43IC44bC0zLjUgNi4zYzExLjIgNy42IDMyLjYgNiAzMi42LTcuNXptMzUuNCA5LjNsLTIuMi02LjhjLTMuOCAyLjEtMTIuMiA0LjQtMTIuMi00LjFsMC0xNi42IDEzLjEgMCAwLTcuNC0xMy4xIDAgMC0xMS4yLTguMiAwIDAgMTEuMi03LjYgMCAwIDcuMyA3LjYgMCAwIDE2LjdjMCAxNy42IDE3LjMgMTQuNCAyMi42IDEwLjl6bTEzLjMtMTMuNGwyNy41IDBjMC0xNi4yLTcuNC0yMi42LTE3LjQtMjIuNi0xMC42IDAtMTguMiA3LjktMTguMiAxOS4zIDAgMjAuNSAyMi42IDIzLjkgMzMuOCAxNC4ybC0zLjgtNmMtNy44IDYuNC0xOS42IDUuOC0yMS45LTQuOXpNMzM4LjkgMzkyYy00LjYtMi0xMS42LTEuOC0xNS4yIDQuNGwwLTQuNC04LjIgMCAwIDM2LjcgOC4yIDAgMC0yMC43YzAtMTEuNiA5LjUtMTAuMSAxMi44LTguNGwyLjQtNy42em0xMC42IDE4LjNjMC0xMS40IDExLjYtMTUuMSAyMC43LTguNGwzLjgtNi41Yy0xMS42LTkuMS0zMi43LTQuMS0zMi43IDE1IDAgMTkuOCAyMi40IDIzLjggMzIuNyAxNWwtMy44LTYuNWMtOS4yIDYuNS0yMC43IDIuNi0yMC43LTguNnpNNDE2LjIgMzkybC04LjIgMCAwIDQuNGMtOC4zLTExLTI5LjktNC44LTI5LjkgMTMuOSAwIDE5LjIgMjIuNCAyNC43IDI5LjkgMTMuOWwwIDQuNiA4LjIgMCAwLTM2Ljh6bTMzLjcgMGMtMi40LTEuMi0xMS0yLjktMTUuMiA0LjRsMC00LjQtNy45IDAgMCAzNi43IDcuOSAwIDAtMjAuN2MwLTExIDktMTAuMyAxMi44LTguNGwyLjQtNy42em00MC4zLTE0LjlsLTcuOSAwIDAgMTkuM2MtOC4yLTEwLjktMjkuOS01LjEtMjkuOSAxMy45IDAgMTkuNCAyMi41IDI0LjYgMjkuOSAxMy45bDAgNC42IDcuOSAwIDAtNTEuN3ptNy42LTc1LjFsMCA0LjYgLjggMCAwLTQuNiAxLjkgMCAwLS44LTQuNiAwIDAgLjggMS45IDB6bTYuNiAxMjMuOGMwLS41IDAtMS4xLS4zLTEuNi0uMy0uMy0uNS0uOC0uOC0xLjFzLS44LS41LTEuMS0uOGMtLjUgMC0xLjEtLjMtMS42LS4zLS4zIDAtLjggLjMtMS40IC4zLS41IC4zLS44IC41LTEuMSAuOC0uNSAuMy0uOCAuOC0uOCAxLjEtLjMgLjUtLjMgMS4xLS4zIDEuNiAwIC4zIDAgLjggLjMgMS40IDAgLjMgLjMgLjggLjggMS4xIC4zIC4zIC41IC41IDEuMSAuOCAuNSAuMyAxLjEgLjMgMS40IC4zIC41IDAgMS4xIDAgMS42LS4zIC4zLS4zIC44LS41IDEuMS0uOHMuNS0uOCAuOC0xLjFjLjMtLjYgLjMtMS4xIC4zLTEuNHptMy4yLTEyNC43bC0xLjQgMC0xLjYgMy41LTEuNi0zLjUtMS40IDAgMCA1LjQgLjggMCAwLTQuMSAxLjYgMy41IDEuMSAwIDEuNC0zLjUgMCA0LjEgMS4xIDAgMC01LjR6bTQuNC04MC41YzAtNzYuMi02Mi4xLTEzOC4zLTEzOC41LTEzOC4zLTI3LjIgMC01My45IDguMi03Ni41IDIzLjEgNzIuMSA1OS4zIDczLjIgMTcxLjUgMCAyMzAuNSAyMi42IDE1IDQ5LjUgMjMuMSA3Ni41IDIzLjEgNzYuNCAuMSAxMzguNS02MS45IDEzOC41LTEzOC40eiJdfSxyZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGlzY291cnNlIixpY29uOls0NDgsNTEyLFtdLCJmMzkzIiwiTTIyNS45IDMyQzEwMy4zIDMyIDAgMTMwLjUgMCAyNTIuMSAwIDI1NiAuMSA0ODAgLjEgNDgwbDIyNS44LS4yQzM0OC42IDQ3OS44IDQ0OCAzNzcuNSA0NDggMjU1LjlTMzQ4LjYgMzIgMjI1LjkgMzJ6TTIyNCAzODRjLTE5LjQgMC0zNy45LTQuMy01NC40LTEyLjFMODguNSAzOTIgMTExLjQgMzE3Yy05LjgtMTguMS0xNS40LTM4LjktMTUuNC02MSAwLTcwLjcgNTcuMy0xMjggMTI4LTEyOHMxMjggNTcuMyAxMjggMTI4LTU3LjMgMTI4LTEyOCAxMjh6Il19LGlndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJibGFjay10aWUiLGljb246WzQ0OCw1MTIsW10sImYyN2UiLCJNMCAzMmwwIDQ0OCA0NDggMCAwLTQ0OC00NDggMHpNMzE2LjUgMzU3LjJsLTkyLjUgODguNy05Mi41LTg4LjcgNjQuNS0xODQtNjQuNS04Ni42IDE4NC45IDAtNjQuNCA4Ni42IDY0LjUgMTg0eiJdfSxPb2U9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWZhY2Vib29rIixpY29uOls0NDgsNTEyLFsiZmFjZWJvb2stc3F1YXJlIl0sImYwODIiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw5OC4yIDAgMC0xNDUuOC01Mi44IDAgMC03OC4yIDUyLjggMCAwLTMzLjdjMC04Ny4xIDM5LjQtMTI3LjUgMTI1LTEyNy41IDE2LjIgMCA0NC4yIDMuMiA1NS43IDYuNGwwIDcwLjhjLTYtLjYtMTYuNS0xLTI5LjYtMS00MiAwLTU4LjIgMTUuOS01OC4yIDU3LjJsMCAyNy44IDgzLjYgMC0xNC40IDc4LjItNjkuMyAwIDAgMTQ1LjggMTI5IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6Il19LHNndD1Pb2Usb2d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJhdHRsZS1uZXQiLGljb246WzUxMiw1MTIsW10sImY4MzUiLCJNNDQ4LjggMjI1LjZjMjYuOSAuMiAzNS42LTcuNCAzOC45LTEyLjQgMTIuNS0xNi4zLTcuMS00Ny42LTUyLjgtNzEuMyAxNy44LTMzLjYgMzAuMS02My43IDM2LjMtODUuMyAzLjQtMTEuOCAxLjEtMTkgLjUtMjAuMy0xLjcgMTAuNS0xNS44IDQ4LjUtNDguMiAxMDAtMjUtMTEuMi01Ni41LTIwLjEtOTMuOC0yMy44LTguOS0xNi45LTM0LjktNjMuOS02MC41LTg4LjktMTYuOC0xNi41LTMwLjMtMjIuNi00MC44LTIzLjVsMCAwYy0xMy44LTEuNi0yMi43IDUuOC0yNy40IDExLTE3LjIgMTguNS0yNC4zIDQ4LjktMjUgODQuMS03LjItMTIuMy0xNy4yLTI0LjYtMjguNS0yNS45bC0uMiAwYy0yMC43LTMuNS0zOC40IDI5LjItMzYgODEuMy0zOC40IDEuNC03MSA1LjgtOTMgMTEuMi05LjkgMi40LTE2LjIgNy4zLTE3LjggOS43IDEtLjQgMjIuNC05LjIgMTExLjYtOS4yIDUuMiA1MyAyOS44IDEwMS44IDI2IDkzLjItOS43IDE1LjQtMzguMiA2Mi40LTQ3LjMgOTcuNy01LjkgMjIuOS00LjQgMzcuNiAuMiA0Ny4xIDUuNiAxMi44IDE2LjQgMTYuNyAyMy4yIDE4LjMgMjUgNS43IDU1LjQtMy42IDg2LjctMjEuMS03LjUgMTIuOC0xMy45IDI4LjUtOS4xIDM5LjMgNy4zIDE5LjYgNDQuNSAxOC43IDg4LjQtOS40IDIwLjIgMzIuMiA0MC4xIDU3LjkgNTUuNyA3NC4xIDIuNiAyLjggNS41IDUuMiA4LjggNy4xIDUuMSAzLjIgOC42IDMuNCA4LjYgMy40LTguMi02LjctMzQtMzgtNjIuNS05MS44IDIyLjItMTYgNDUuNy0zOC45IDY3LjUtNjkuMyAxMjIuOCA0LjYgMTQzLjMtMjQuOCAxNDgtMzEuNiAxNC43LTE5LjkgMy40LTU3LjQtNTcuMy05My43ek0zNzEgMzMxLjhjMjMuOC0zNy43IDMwLjMtNjcuOCAyOS40LTkyLjMgMjcuOSAxNy42IDQ3LjIgMzcuNiA0OS4xIDU4LjggMS4xIDEyLjktOC4xIDI5LjEtNzguNSAzMy41ek0yMTcuMSAzODcuN2M5LjgtNi4yIDE5LjUtMTMuMSAyOS4yLTIwLjUgNi43IDEzLjMgMTMuNiAyNi4xIDIwLjYgMzguMi00MC42IDIxLjktNjguOCAxMi44LTQ5LjgtMTcuN3ptMjE1LTE3MS4zYy0xMC4zLTUuMy0yMS4yLTEwLjMtMzIuNC0xNSA3LjktMTIuMSAxNS41LTI0LjQgMjIuNy0zNi45IDM5LjEgMjQuMSA0NS45IDUzLjIgOS42IDUxLjl6TTI3OS40IDM5OGMtNS41LTExLjQtMTEtMjMuNS0xNi41LTM2LjQgNDMuMiAxLjMgNjIuNC0xOC43IDYzLjMtMjAuNCAwIC4xLTI1IDE1LjYtNjIuNSAxMi4yIDMwLjYtMjUuNiA1OS4xLTUzLjcgODUuMS04NCA4LjctMTAuMiAxNy0yMC42IDI0LjktMzEuMS0uNC0uMy0xLjUtMy0xNi41LTEyLTUxLjcgNjAuMy0xMDIuMyA5OC0xMzIuOCAxMTUuOS0yMC42LTExLjItNDAuOC0zMS44LTU1LjctNjEuNS0yMC0zOS45LTMwLTgyLjQtMzEuNi0xMTYuMSAxMi4zIC45IDI1LjMgMi4yIDM4LjggMy45LTIyLjMgMzYuOC0xNC40IDYzLTEzLjUgNjQuMiAwLS4xLTEtMjkuMiAyMC4xLTU5LjYgOSA1Mi41IDI0IDEwMy44IDQ0LjcgMTUyLjggLjktLjQgMS44IC45IDE4LjctOC4yLTI2LjMtNzQuNS0zMy44LTEzOC4yLTM0LTE3My40IDIwLTEyLjQgNDguMi0xOS44IDgxLjYtMTcuOCA0NC42IDIuNyA4Ni40IDE1LjIgMTE2LjMgMzAuNy03LjEgMTAuNC0xNC45IDIxLjMtMjMuMyAzMi41LTIwLjctMzcuNy00Ny4zLTQzLjktNDguOS00My43IC4xIDAgMjUuOSAxNC4xIDQxLjUgNDcuMi0zNy41LTEzLjgtNzYuMS0yNC40LTExNS4zLTMxLjctMTMuMS0yLjQtMjYuMi00LjQtMzkuNC02LS4xIC40LTEuOCAxLjgtMi4yIDIwLjMgNzcuOSAxNC41IDEzNi42IDM5LjkgMTY3LjIgNTcuMiAuNyAyMy42LTcgNTEuNi0yNS40IDc5LjYtMjQuNiAzNy4zLTU2LjQgNjcuMi04NC44IDg1LjR6bTI3LjQtMjg3Yy00NC42LTEuNy03My42IDcuNC05NC43IDIwLjcgMi01Mi4zIDIxLjMtNzYuNCAzOC4yLTc1LjMgMTYuOS00LjIgNTQuOSA1Mi4yIDU2LjUgNTQuNnptLTEzMC43IDMuMWMuNSAxMi4xIDEuNiAyNC42IDMuMiAzNy4zLTE0LjYtLjktMjguNy0xLjMtNDIuNC0xLjMtLjEgMy4yLS4xLTUxIDI0LjctNDkuNmwuMSAwYzUuOCAxLjEgMTAuNiA2LjkgMTQuNCAxMy42em0tMjguMSAxNjJjMjAuOCAzOS43IDQzLjMgNjAuNiA2NS4zIDcyLjMtNDYuOCAyNC44LTc3LjUgMjAtODQuOSA0LjUtLjItLjItMTEuMS0xNS4zIDE5LjctNzYuOGwwIDB6Il19LG5ndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJiaW1vYmplY3QiLGljb246WzQ0OCw1MTIsW10sImYzNzgiLCJNNDE2IDMyTDMyIDMyQzE0LjQgMzIgMCA0Ni40IDAgNjRMMCA0NDhjMCAxNy42IDE0LjQgMzIgMzIgMzJsMzg0IDBjMTcuNiAwIDMyLTE0LjQgMzItMzJsMC0zODRjMC0xNy42LTE0LjQtMzItMzItMzJ6TTM1MiAyODkuNGMwIDQ5LjQtMTEuNCA4Mi42LTEwMy44IDgyLjZsLTE2LjkgMGMtNDQuMSAwLTYyLjQtMTQuOS03MC40LTM4LjhsLS45IDAgMCAzNC44LTY0IDAgMC0yMzIgNjQgMCAwIDc0LjcgMS4xIDBjNC42LTMwLjUgMzkuNy0zOC44IDY5LjctMzguOGwxNy4zIDBjOTIuNCAwIDEwMy44IDMzLjEgMTAzLjggODIuNWwwIDM1IC4xIDB6bS02NC0yOC45bDAgMjIuOWMwIDIxLjctMy40IDMzLjgtMzguNCAzMy44bC00NS4zIDBjLTI4LjkgMC00NC4xLTYuNS00NC4xLTM1LjdsMC0xOWMwLTI5LjMgMTUuMi0zNS43IDQ0LjEtMzUuN2w0NS4zIDBjMzUtLjIgMzguNCAxMiAzOC40IDMzLjd6Il19LGxndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdmVsdGUiLGljb246WzQ0OCw1MTIsW10sImU4NjgiLCJNMjAyLjEgMjYuNGM2Ni44LTQyLjYgMTU5LjMtMjIuNyAyMDYuMSA0NC4zIDExLjEgMTUuNSAxOSAzMy4xIDIzLjIgNTEuOHM0LjcgMzcuOSAxLjMgNTYuN2MtMy4yIDE4LTEwLjEgMzUuMS0yMC4xIDUwLjMgMTQuNiAyNy45IDE5LjYgNjAgMTQgOTEtMy4zIDE4LjQtMTAuNCAzNi0yMC45IDUxLjVzLTI0LjEgMjguNy0zOS45IDM4LjdMMjQ4LjMgNDg1LjZjLTY2LjggNDIuNi0xNTkuMyAyMi43LTIwNi4xLTQ0LjItMTEuMS0xNS41LTE5LTMzLjItMjMuMi01MS44cy00LjctMzcuOS0xLjMtNTYuN2MzLjItMTggMTAuMS0zNS4xIDIwLjEtNTAuMy0xNC43LTI3LjktMTkuNi02MC0xNC05MS4xIDMuMy0xOC40IDEwLjQtMzYgMjAuOS01MS41czI0LjEtMjguNyAzOS45LTM4LjdMMjAyLjEgMjYuNHpNMzE1LjYgNjcuMmMtMTcuOS02LjYtMzcuNC03LjYtNTUuOS0yLjgtOC40IDIuMy0xNi41IDUuOC0yMy44IDEwLjVMMTE4LjUgMTQ5LjdjLTkuNSA2LTE3LjcgMTMuOS0yNCAyMy4zUzg0IDE5Mi44IDgyIDIwMy45Yy0yIDExLjMtMS43IDIyLjkgLjggMzQuMXM3LjMgMjEuOCAxMy45IDMxLjJjMTAuOSAxNS43IDI2LjMgMjcuNiA0NC4yIDM0LjNzMzcuNCA3LjYgNTUuOSAyLjhjOC40LTIuMyAxNi41LTUuOCAyMy44LTEwLjVsNDQuOC0yOC42YzIuMi0xLjQgNC43LTIuNSA3LjItMy4yIDUuNi0xLjQgMTEuNC0xLjIgMTYuOCAuOHMxMCA1LjYgMTMuMyAxMC4zYzIgMi44IDMuNSA2IDQuMiA5LjRzLjkgNi45IC4zIDEwLjNjLS42IDMuMy0xLjkgNi41LTMuOCA5LjMtMS45IDIuOC00LjQgNS4yLTcuMiA3TDE3OC44IDM4Ni4xYy0yLjIgMS40LTQuNyAyLjUtNy4yIDMuMi01LjYgMS40LTExLjQgMS4yLTE2LjgtLjhzLTEwLTUuNi0xMy4zLTEwLjNjLTMuNi01LjEtNS4zLTExLjItNC43LTE3LjRsLjQtNC40LTQuMy0xLjNjLTE2LjUtNS0zMi4xLTEyLjctNDUuOS0yMi45bC02LTQuNC0yLjIgNi43Yy0xLjIgMy42LTIuMSA3LjMtMi44IDExLTIgMTEuMy0xLjcgMjIuOSAuOCAzNC4xczcuMyAyMS44IDEzLjkgMzEuMWMxMC45IDE1LjcgMjYuMyAyNy42IDQ0LjIgMzQuM3MzNy40IDcuNiA1NS44IDIuOGM4LjQtMi4zIDE2LjUtNS44IDIzLjktMTAuNWwxMTcuMy03NC44YzkuNS02IDE3LjctMTMuOSAyNC0yMy4zczEwLjYtMTkuOSAxMi42LTMxYzItMTEuMyAxLjgtMjIuOS0uOC0zNC4xcy03LjMtMjEuOC0xNC0zMS4xYy0xMC45LTE1LjctMjYuMy0yNy42LTQ0LjItMzQuM3MtMzcuNC03LjYtNTUuOS0yLjhjLTguNCAyLjMtMTYuNSA1LjgtMjMuOCAxMC41TDE4NSAyNDQuOGMtMi4yIDEuNC00LjYgMi41LTcuMiAzLjItNS42IDEuNC0xMS41IDEuMi0xNi44LS44cy0xMC01LjYtMTMuMy0xMC4zYy0yLTIuOC0zLjQtNi00LjItOS40cy0uOS02LjktLjItMTAuM2MuNi0zLjMgMS45LTYuNSAzLjgtOS4zczQuNC01LjIgNy4yLTdsMTE3LjQtNzQuOGMyLjItMS40IDQuNy0yLjUgNy4yLTMuMiA1LjYtMS40IDExLjQtMS4xIDE2LjggLjlzMTAgNS42IDEzLjMgMTAuM2MzLjYgNS4xIDUuMiAxMS4zIDQuNyAxNy40bC0uNCA0LjQgNC40IDEuM2MxNi41IDUgMzIgMTIuOCA0NS45IDIzbDYgNC40IDIuMi02LjhjMS4yLTMuNiAyLjEtNy4zIDIuOC0xMSAyLTExLjMgMS44LTIyLjktLjgtMzQuMXMtNy4zLTIxLjgtMTQtMzEuMWMtMTAuOS0xNS43LTI2LjMtMjcuNi00NC4yLTM0LjN6Il19LGNndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZGVza3BybyIsaWNvbjpbNDQ4LDUxMixbXSwiZTg0NCIsIk00MDguOCAzMkM0MzAuNCAzMiA0NDggNDkuNiA0NDggNzEuMmwwIDM2OS42YzAgMjEuNi0xNy42IDM5LjItMzkuMiAzOS4yTDM5LjIgNDgwQzE3LjYgNDgwIDAgNDYyLjQgMCA0NDAuOEwwIDcxLjJDMCA0OS42IDE3LjYgMzIgMzkuMiAzMmwzNjkuNiAwek0xMTAuOSAyNzQuMWwwIDExNC40IDg5LjEtLjFjMjAuNiAwIDM5LjQtMy4yIDU2LjMtOS41czMxLjMtMTUuNCA0My4yLTI3YzEyLjItMTEuOSAyMS42LTI2IDI4LjItNDIuMSA0LjYtMTEuMSA3LjctMjMgOS4yLTM1LjdsLTQzLjggMGMtMS4xIDYuNC0yLjggMTIuNC01LjEgMTguMi00LjIgMTAuOS0xMC4zIDIwLjMtMTguMiAyOC4yLTcuOSA3LjctMTcuNCAxMy43LTI4LjYgMTcuOS0xMS4xIDQuMy0yMy41IDYuNC0zNy4zIDYuNGwtNTAgMCAwLTcwLjYtNDMgLjF6bTAtMTUxLjRsMCAxMTQuNCA0My0uMSAwLTcwLjcgNTAgMGMxMy43IDAgMjYuMiAyLjEgMzcuMyA2LjQgMTEuMSA0LjMgMjAuNiAxMC4zIDI4LjYgMTguMyA3LjkgNy43IDE0IDE3LjEgMTguMiAyOC4yIDIuMyA1LjYgNCAxMS41IDUuMSAxNy44bDQzLjkgLjFjLTEuNC0xMi42LTQuNC0yNC40LTguOS0zNS4zLTYuNi0xNi40LTE2LTMwLjUtMjguMS00Mi4yLTEyLjEtMTEuOS0yNi43LTIxLjEtNDMuNi0yNy41LTE2LjktNi40LTM1LjctOS41LTU2LjMtOS41bC04OSAuMXoiXX0sZGd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRhaWx3aW5kLWNzcyIsaWNvbjpbNjQwLDUxMixbXSwiZTg2NiIsIk0zMjAgNjRjLTg1LjMgMC0xMzguNyA0Mi43LTE2MCAxMjggMzItNDIuNyA2OS4zLTU4LjcgMTEyLTQ4IDI0LjMgNi4xIDQxLjcgMjMuOCA2MSA0My4zIDMxLjQgMzEuOCA2Ny43IDY4LjcgMTQ3IDY4LjcgODUuMyAwIDEzOC43LTQyLjcgMTYwLTEyOC0zMiA0Mi43LTY5LjMgNTguNy0xMTIgNDgtMjQuMy02LjEtNDEuNy0yMy44LTYxLTQzLjMtMzEuNC0zMS44LTY3LjctNjguNy0xNDctNjguN3pNMTYwIDI1NmMtODUuMyAwLTEzOC43IDQyLjctMTYwIDEyOCAzMi00Mi43IDY5LjMtNTguNyAxMTItNDggMjQuMyA2LjEgNDEuNyAyMy44IDYxIDQzLjMgMzEuNCAzMS44IDY3LjcgNjguNyAxNDcgNjguNyA4NS4zIDAgMTM4LjctNDIuNyAxNjAtMTI4LTMyIDQyLjctNjkuMyA1OC43LTExMiA0OC0yNC4zLTYuMS00MS43LTIzLjgtNjEtNDMuMy0zMS40LTMxLjgtNjcuNy02OC43LTE0Ny02OC43eiJdfSxPYmE9e2ZhU3F1YXJlR2l0aHViOm9vZSxmYUdpdGh1YlNxdWFyZTpuNnQsZmFUaGlua1BlYWtzOmw2dCxmYUdvb2dsZURyaXZlOmM2dCxmYUF1dG9wcmVmaXhlcjpkNnQsZmFTcXVhcmVWaWFkZW86bm9lLGZhVmlhZGVvU3F1YXJlOnA2dCxmYUNwYW5lbDp1NnQsZmFNZW5kZWxleTpmNnQsZmFEcmFmdDJkaWdpdGFsOmg2dCxmYVJlcGx5ZDptNnQsZmFFbXBpcmU6ZzZ0LGZhQWNjZXNzaWJsZUljb246YjZ0LGZhUXVvcmE6djZ0LGZhQ2NKY2I6eDZ0LGZhRmVkb3JhOnk2dCxmYUR1b2xpbmdvOnc2dCxmYUZpcnN0ZHJhZnQ6TTZ0LGZhRnJlZWJzZDprNnQsZmFPZHlzZWU6ejZ0LGZhR2dDaXJjbGU6UzZ0LGZhQ2xvdWRmbGFyZTpDNnQsZmFIYWNrZXJyYW5rOl82dCxmYVNreWF0bGFzOlQ2dCxmYURlc2twcm86TDZ0LGZhUmVzb2x2aW5nOiQ2dCxmYUJsYWNrYmVycnk6RDZ0LGZhU3RyaXBlUzpBNnQsZmFTcXVhcmVCZWhhbmNlOmxvZSxmYUJlaGFuY2VTcXVhcmU6UDZ0LGZhU2VydmljZXN0YWNrOkU2dCxmYVJvY2tldGNoYXQ6STZ0LGZhUmViZWw6TjZ0LGZhU3F1YXJlV2ViQXdlc29tZTpSNnQsZmFMaW5rdHJlZTpGNnQsZmFTaW1wbHlidWlsdDpPNnQsZmFTdHViYmVyOkI2dCxmYUFwcGVyOkg2dCxmYUdvb2dsZVNjaG9sYXI6cTZ0LGZhWWFybjpWNnQsZmFTdGFja092ZXJmbG93Omo2dCxmYUJsdWV0b290aDpVNnQsZmFDcmVhdGl2ZUNvbW1vbnNOY0pwOlc2dCxmYVJlZGRpdDpHNnQsZmFDb25uZWN0ZGV2ZWxvcDpZNnQsZmFSZXNlYXJjaGdhdGU6WjZ0LGZhU2lnbmFsTWVzc2VuZ2VyOlg2dCxmYVhpbmc6SzZ0LGZhU3F1YXJlSnM6Y29lLGZhSnNTcXVhcmU6UTZ0LGZhRm9udGljb25zOko2dCxmYVVwczplNXQsZmFBbWF6b25QYXk6dDV0LGZhUGFuZG9yYTphNXQsZmFPcGVuaWQ6cjV0LGZhVnNjbzppNXQsZmFHbG9iYWxlYWtzOnM1dCxmYVZlbm1vOm81dCxmYVVidW50dTpuNXQsZmFWaWFjb2luOmw1dCxmYVpoaWh1OmM1dCxmYVlhbmRleDpkNXQsZmFQaXhpdjpwNXQsZmFPcGVuYWk6dTV0LGZhU2l0aDpmNXQsZmFKdWxpYTpoNXQsZmFOZmNEaXJlY3Rpb25hbDptNXQsZmFDcmVhdGl2ZUNvbW1vbnNCeTpnNXQsZmFVbWJyYWNvOmI1dCxmYUhvb2xpOnY1dCxmYVNxdWFyZUdpdDpkb2UsZmFHaXRTcXVhcmU6eDV0LGZhT2Rub2tsYXNzbmlraTp5NXQsZmFEcnVwYWw6dzV0LGZhQmxvZ2dlckI6TTV0LGZhSW52aXNpb246azV0LGZhRmFjZWJvb2tGOno1dCxmYUNlbnRvczpTNXQsZmFTY2FsZXdheTpDNXQsZmFDY0FtYXpvblBheTpfNXQsZmFFYmF5OlQ1dCxmYUNvbnRhbzpMNXQsZmFFbGxvOiQ1dCxmYVNpc3RyaXg6RDV0LGZhUGVyaXNjb3BlOkE1dCxmYUV4cGVkaXRlZHNzbDpQNXQsZmFOYXBzdGVyOkU1dCxmYURlbGljaW91czpJNXQsZmFHdWlsZGVkOk41dCxmYU9ic2lkaWFuOlI1dCxmYVhib3g6RjV0LGZhVW50YXBwZDpPNXQsZmFHb29nbGVQbHVzRzpCNXQsZmFHaXRodWJBbHQ6SDV0LGZhR2V0UG9ja2V0OnE1dCxmYUdsaWRlOlY1dCxmYUJpdHk6ajV0LGZhV3BleHBsb3JlcjpVNXQsZmFNZWdhcG9ydDpXNXQsZmFMZWV0Y29kZTpHNXQsZmFNZGI6WTV0LGZhUGFnZTQ6WjV0LGZhVGhlUmVkWWV0aTpYNXQsZmFKaXJhOks1dCxmYUZlZGV4OlE1dCxmYUV2ZXJub3RlOko1dCxmYVVzYjplOHQsZmFBbmdyeWNyZWF0aXZlOnQ4dCxmYU1penVuaTphOHQsZmFJdGNoSW86cjh0LGZhV2luZG93czppOHQsZmFTdHVtYmxldXBvbjpzOHQsZmFHb29nbGU6JEcsZmFEaXNjb3JkOm84dCxmYUhhY2tlck5ld3M6bjh0LGZhRWxldmVudHk6cG9lLGZhMTF0eTpsOHQsZmFUZWFtc3BlYWs6Yzh0LGZhU3VwcGxlOmQ4dCxmYVNxdWFyZVR3aXR0ZXI6dW9lLGZhVHdpdHRlclNxdWFyZTpwOHQsZmFWaW06dTh0LGZhRm9udEF3ZXNvbWU6TEcsZmFGb250QXdlc29tZUZsYWc6Zjh0LGZhRm9udEF3ZXNvbWVMb2dvRnVsbDpoOHQsZmFXaXJzaW5kaGFuZHdlcms6Zm9lLGZhV3NoOm04dCxmYVpvb206Zzh0LGZhQ29uZmx1ZW5jZTpiOHQsZmFEaWdnOnY4dCxmYVRocmVhZHM6eDh0LGZhV3ByZXNzcjpob2UsZmFSZW5kYWN0Onk4dCxmYVlvYXN0Onc4dCxmYU5pbWJscjpNOHQsZmFQaXhlbGZlZDprOHQsZmFZYWhvbzp6OHQsZmFCbHVlc2t5OlM4dCxmYVNjcmliZDpDOHQsZmFDcmVhdGl2ZUNvbW1vbnNQZDpfOHQsZmFFYXJseWJpcmRzOlQ4dCxmYVN5bWZvbnljYXN0czpMOHQsZmFTcXVhcmVPZG5va2xhc3NuaWtpOm1vZSxmYU9kbm9rbGFzc25pa2lTcXVhcmU6JDh0LGZhTWFya2Rvd246RDh0LGZhVHlwbzM6QTh0LGZhSm9vbWxhOlA4dCxmYVdlaXhpbjpFOHQsZmFHcnVudDpJOHQsZmFTdXBwb3J0bm93Ok44dCxmYVJvY2tybXM6Ujh0LGZhVW5zcGxhc2g6Rjh0LGZhU3F1YXJlSW5zdGFncmFtOmdvZSxmYUluc3RhZ3JhbVNxdWFyZTpPOHQsZmFGaXJzdE9yZGVyQWx0OkI4dCxmYUZ1bGNydW06SDh0LGZhQXJjaExpbnV4OnE4dCxmYUZlZGl2ZXJzZTpWOHQsZmFCcmF2ZVJldmVyc2U6ajh0LGZhQXZpYW5leDpVOHQsZmFOczg6Vzh0LGZhU3F1YXJlUGludGVyZXN0OmJvZSxmYVBpbnRlcmVzdFNxdWFyZTpHOHQsZmFCbHVldG9vdGhCOlk4dCxmYUdyaXBmaXJlOlo4dCxmYVNxdWFyZUdvb2dsZVBsdXM6dm9lLGZhR29vZ2xlUGx1c1NxdWFyZTpYOHQsZmFHaXRlZTpLOHQsZmFYbXBwOlE4dCxmYUFwcFN0b3JlOko4dCxmYVdpeDplcHQsZmFJbnRlcmNvbTp0cHQsZmFSZWFjdGV1cm9wZTphcHQsZmFXYXplOnJwdCxmYUNyZWF0aXZlQ29tbW9uc1JlbWl4OmlwdCxmYUJhbmRjYW1wOnNwdCxmYVNxdWFyZVdlYkF3ZXNvbWVTdHJva2U6b3B0LGZhVmltZW9WOm5wdCxmYVN0cmF2YTpscHQsZmFVbmlyZWdpc3RyeTpjcHQsZmFDY0RpbmVyc0NsdWI6ZHB0LGZhS3ViZXJuZXRlczpwcHQsZmFQaW50ZXJlc3Q6dXB0LGZhQWxnb2xpYTpmcHQsZmFTdGFja3BhdGg6aHB0LGZhT2N0b3B1c0RlcGxveTptcHQsZmFZYW1tZXI6Z3B0LGZhTW9keDpicHQsZmFTcXVhcmVUaHJlYWRzOnZwdCxmYU9sZFJlcHVibGljOnhwdCxmYVN1c2U6eXB0LGZhQXBwU3RvcmVJb3M6d3B0LGZhVWx0cmFseXRpY3NZb2xvOk1wdCxmYVNxdWFyZURyaWJiYmxlOnhvZSxmYURyaWJiYmxlU3F1YXJlOmtwdCxmYVVpa2l0OnpwdCxmYVN1cGVycG93ZXJzOlNwdCxmYVlvdXR1YmU6Q3B0LGZhRW1iZXI6X3B0LGZhQm9vdHN0cmFwOlRwdCxmYUl0dW5lczpMcHQsZmFTcXVhcmVYaW5nOnlvZSxmYVhpbmdTcXVhcmU6JHB0LGZhQ3NzM0FsdDpEcHQsZmFTcXVhcmVzcGFjZTpBcHQsZmFUcmVsbG86UHB0LGZhVmlhZGVvOkVwdCxmYVNlYXJjaGVuZ2luOklwdCxmYVVucmVhbEVuZ2luZTpOcHQsZmFQYXlwYWw6UnB0LGZhU3F1YXJlQmx1ZXNreTpGcHQsZmFEQW5kREJleW9uZDpPcHQsZmFNaWNyb3NvZnQ6QnB0LGZhRmx5OkhwdCxmYUNjU3RyaXBlOnFwdCxmYVdvcmRwcmVzc1NpbXBsZTpWcHQsZmFTZWxsc3k6anB0LGZhRGFzaGN1YmU6VXB0LGZhR2l0dGVyOldwdCxmYVdvbGZQYWNrQmF0dGFsaW9uOkdwdCxmYUxhc3RmbTpZcHQsZmFTaG9wd2FyZTpacHQsZmFCbG9nZ2VyOlhwdCxmYUVkZ2U6S3B0LGZhSW94aG9zdDpRcHQsZmFTY2hsaXg6SnB0LGZhREFuZEQ6ZXV0LGZhVnVlanM6dHV0LGZhTWV0YTphdXQsZmFDcmVhdGl2ZUNvbW1vbnNTaGFyZTpydXQsZmFTdHVkaW92aW5hcmk6aXV0LGZhQml0YnVja2V0OnN1dCxmYVZrOm91dCxmYUdpdGh1YjpudXQsZmFDb2RpZXBpZTpsdXQsZmFQaWVkUGlwZXI6Y3V0LGZhUmFzcGJlcnJ5UGk6ZHV0LGZhQ3NzMzpwdXQsZmFIdWJzcG90OnV1dCxmYUNtcGxpZDpmdXQsZmFEeWFsb2c6aHV0LGZhRWxlbWVudG9yOm11dCxmYUZpcnN0T3JkZXI6Z3V0LGZhRHJpYmJibGU6YnV0LGZhTGlua2VkaW46REcsZmFDY1BheXBhbDp2dXQsZmFEaGw6eHV0LGZhVGV4Onl1dCxmYUNsYXVkZTp3dXQsZmFTaG9waWZ5Ok11dCxmYVNxdWFyZVJlZGRpdDp3b2UsZmFSZWRkaXRTcXVhcmU6a3V0LGZhQ3JlYXRpdmVDb21tb25zTmM6enV0LGZhR2FsYWN0aWNSZXB1YmxpYzpTdXQsZmFGYWNlYm9vazpBRyxmYUdpdGxhYjpDdXQsZmFRcTpfdXQsZmFTdHJpcGU6VHV0LGZhRGFpbHltb3Rpb246THV0LGZhU3RlYW06JHV0LGZhVmVubW9WOkR1dCxmYVNuYXBjaGF0Ok1vZSxmYVNuYXBjaGF0R2hvc3Q6QXV0LGZhR2FsYWN0aWNTZW5hdGU6UHV0LGZhUGhvZW5peEZyYW1ld29yazpFdXQsZmFHaXQ6SXV0LGZhT3B0aW5Nb25zdGVyOk51dCxmYUplbmtpbnM6UnV0LGZhU2xpZGVzaGFyZTpGdXQsZmFVYmVyOk91dCxmYURpZ2l0YWxPY2VhbjpCdXQsZmFTb3VuZGNsb3VkOkh1dCxmYVNxdWFyZUZpZ21hOnF1dCxmYUNyZWF0aXZlQ29tbW9uc1NhOlZ1dCxmYUNocm9tZTpqdXQsZmFUcmFkZUZlZGVyYXRpb246VXV0LGZhVmFhZGluOld1dCxmYURldmlhbnRhcnQ6R3V0LGZhTWVkaXVtOldmLGZhTWVkaXVtTTpZdXQsZmFPcGVuY2FydDpadXQsZmFZQ29tYmluYXRvcjpYdXQsZmFMaW5lOkt1dCxmYUFtaWxpYTpRdXQsZmFBc3ltbWV0cmlrOkp1dCxmYVBoYWJyaWNhdG9yOmVmdCxmYUJvdHM6dGZ0LGZhVmluZTphZnQsZmFNZWRydDpyZnQsZmFPc2k6aWZ0LGZhR2c6c2Z0LGZhQnV5c2VsbGFkczpvZnQsZmFHb29nbGVQbHVzOm5mdCxmYVNjcmVlbnBhbDpsZnQsZmFCaXRjb2luOmNmdCxmYVN3aWZ0OmRmdCxmYUZpbGVzUGlud2hlZWw6cGZ0LGZhTGFyYXZlbDp1ZnQsZmFXcGZvcm1zOmZmdCxmYVNwZWFrZXJEZWNrOmhmdCxmYUZsaWNrcjptZnQsZmFDY1Zpc2E6Z2Z0LGZhVXB3b3JrOmJmdCxmYUtha2FvVGFsazp2ZnQsZmFGbHV0dGVyOnhmdCxmYUJ1ZmZlcjp5ZnQsZmFHcmF0aXBheTp3ZnQsZmFHb29nbGVQYXk6TWZ0LGZhQXBwbGU6a2Z0LGZhVHVtYmxyOnpmdCxmYVBob2VuaXhTcXVhZHJvbjpTZnQsZmFDZW50ZXJjb2RlOkNmdCxmYURlYmlhbjpfZnQsZmFNYXN0b2RvbjpUZnQsZmFTa2V0Y2g6TGZ0LGZhV2ViQXdlc29tZTokZnQsZmFTYXNzOkRmdCxmYVRocmVlbWE6QWZ0LGZhU3F1YXJlV2hhdHNhcHA6a29lLGZhV2hhdHNhcHBTcXVhcmU6UGZ0LGZhU2t5cGU6RWZ0LGZhQW5ndWxhcjpJZnQsZmFDaXJjbGVadWxpcDpOZnQsZmFPcGVuc3VzZTpSZnQsZmFEcm9wYm94OkZmdCxmYURlZXplcjpPZnQsZmFDcmVhdGl2ZUNvbW1vbnNTYW1wbGluZzpCZnQsZmFKZWRpT3JkZXI6SGZ0LGZhUlByb2plY3Q6cWZ0LGZhSW5zdGFsb2Q6VmZ0LGZhQ2FuYWRpYW5NYXBsZUxlYWY6amZ0LGZhRXRoZXJldW06VWZ0LGZhSG91eno6V2Z0LGZhVmliZXI6R2Z0LGZhS2lja3N0YXJ0ZXI6em9lLGZhU3F1YXJlS2lja3N0YXJ0ZXI6WWZ0LGZhU3BvdGlmeTpaZnQsZmFMZWFucHViOlhmdCxmYUphdmE6S2Z0LGZhTmZjU3ltYm9sOlFmdCxmYVdvZHU6SmZ0LGZhU3F1YXJlU3RlYW06U29lLGZhU3RlYW1TcXVhcmU6ZTd0LGZhQ3JlYXRpdmVDb21tb25zTmNFdTp0N3QsZmFOcG06YTd0LGZhQ2xvdWRzY2FsZTpyN3QsZmFUaGVtZWNvOmk3dCxmYUdvb2dsZVBsYXk6czd0LGZhS29ydnVlOm83dCxmYVczYzpuN3QsZmFHcmF2Omw3dCxmYUF3czpjN3QsZmFHbGlkZUc6ZDd0LGZhSnNmaWRkbGU6cDd0LGZhS2V5YmFzZTp1N3QsZmFMdW1vbkRyb3A6Zjd0LGZhRm9yZ2VqbzpoN3QsZmFQb3N0Z3Jlc3FsOm03dCxmYVdlZWJseTpnN3QsZmFEb2NrZXI6Yjd0LGZhTWFnZW50bzp2N3QsZmFUb3JCcm93c2VyOng3dCxmYUdpdEFsdDp5N3QsZmFGaXJlZm94QnJvd3Nlcjp3N3QsZmFDbG91ZHNtaXRoOk03dCxmYVdpemFyZHNPZlRoZUNvYXN0Oms3dCxmYUNyZWF0aXZlQ29tbW9uc05kOno3dCxmYVVzcHM6Uzd0LGZhU3F1YXJlTGV0dGVyYm94ZDpDN3QsZmFNYW5kYWxvcmlhbjpfN3QsZmFTbGFjazpDb2UsZmFTbGFja0hhc2g6UEcsZmFBbmdlbGxpc3Q6VDd0LGZhQW5kcm9pZDpMN3QsZmFNZWV0dXA6JDd0LGZhRm9udGljb25zRmk6RDd0LGZhUGFsZmVkOkE3dCxmYVdwYmVnaW5uZXI6UDd0LGZhRGlhc3BvcmE6RTd0LGZhUHJvZHVjdEh1bnQ6STd0LGZhU3F1YXJlVXB3b3JrOk43dCxmYUN1dHRsZWZpc2g6Ujd0LGZhTWVkYXBwczpGN3QsZmFQaXg6Tzd0LGZhU3F1YXJlVHVtYmxyOl9vZSxmYVR1bWJsclNxdWFyZTpCN3QsZmFSZWFjdDpIN3QsZmFIdWdnaW5nRmFjZTpxN3QsZmFKeGw6Vjd0LGZhU3F1YXJlTGlua2VkaW46ajd0LGZhQ3NzOlU3dCxmYUhhc2hub2RlOlc3dCxmYVJlZGRpdEFsaWVuOkc3dCxmYVRpa3RvazpFRyxmYVdvcmRwcmVzczpZN3QsZmFJZGVhbDpaN3QsZmFQaWVkUGlwZXJQcDpYN3QsZmFVc3N1bm5haDpLN3QsZmFGb3J0QXdlc29tZUFsdDpRN3QsZmFCdXJvbW9iZWxleHBlcnRlOko3dCxmYUJpbGliaWxpOmVodCxmYU5lb3M6dGh0LGZhRGV2OmFodCxmYUhvdGphcjpyaHQsZmFEb2NodWI6aWh0LGZhVmltZW86c2h0LGZhTWF4Y2RuOm9odCxmYVNxdWFyZUZvbnRBd2Vzb21lU3Ryb2tlOlRvZSxmYUZvbnRBd2Vzb21lQWx0Om5odCxmYVNwZWFrYXA6bGh0LGZhRmFudGFzeUZsaWdodEdhbWVzOmNodCxmYUxpbnV4OmRodCxmYUNvdHRvbkJ1cmVhdTpwaHQsZmFHb29nbGVXYWxsZXQ6dWh0LGZhRm91cnNxdWFyZTpmaHQsZmFTaGlydHNpbmJ1bGs6aGh0LGZhTWludGJpdDptaHQsZmFadWxpcDpnaHQsZmFTdGF5bGlua2VkOmJodCxmYVdlYmZsb3c6dmh0LGZhUmVucmVuOnhodCxmYUtvRmk6eWh0LGZhUmV2OndodCxmYUtleWNkbjpNaHQsZmFIaXJlQUhlbHBlcjpraHQsZmFTcXVhcmVIYWNrZXJOZXdzOkxvZSxmYUhhY2tlck5ld3NTcXVhcmU6emh0LGZhQ3JlYXRpdmVDb21tb25zUGRBbHQ6U2h0LGZhT3JjaWQ6Q2h0LGZhQm9hcmRHYW1lR2Vlazokb2UsZmFCZ2c6X2h0LGZhQmVoYW5jZTpUaHQsZmFNb25lcm86TGh0LGZhRmlnbWE6JGh0LGZhSW5zdGFncmFtOklHLGZhUGVyYnl0ZTpEaHQsZmFTcXVhcmVWaW1lbzpEb2UsZmFWaW1lb1NxdWFyZTpBaHQsZmFQdXNoZWQ6UGh0LGZhTWl4Y2xvdWQ6RWh0LGZhWWFuZGV4SW50ZXJuYXRpb25hbDpJaHQsZmFIaXZlOk5odCxmYUNyZWF0aXZlQ29tbW9uc1plcm86Umh0LGZhU3F1YXJlU25hcGNoYXQ6QW9lLGZhU25hcGNoYXRTcXVhcmU6Rmh0LGZhVGhlbWVpc2xlOk9odCxmYURhcnRMYW5nOkJodCxmYURlcGxveWRvZzpIaHQsZmFGbGlwYm9hcmQ6cWh0LGZhQnV5TkxhcmdlOlZodCxmYVdhdGNobWFuTW9uaXRvcmluZzpqaHQsZmFIaXBzOlVodCxmYUNsb3VkdmVyc2lmeTpXaHQsZmFHb29kcmVhZHM6R2h0LGZhVGlkYWw6WWh0LGZhVW5pdHk6Wmh0LGZhVGVuY2VudFdlaWJvOlhodCxmYUZyZWVDb2RlQ2FtcDpLaHQsZmFYVHdpdHRlcjpRaHQsZmFTdGlja2VyTXVsZTpKaHQsZmFUd2l0Y2g6ZW10LGZhS2lja3N0YXJ0ZXJLOnRtdCxmYUNyaXRpY2FsUm9sZTphbXQsZmFTdGVhbVN5bWJvbDpybXQsZmFNYWlsY2hpbXA6aW10LGZhTHVtb246c210LGZhTnV0cml0aW9uaXg6b210LGZhQ3JlYXRpdmVDb21tb25zU2FtcGxpbmdQbHVzOm5tdCxmYVJlZGhhdDpsbXQsZmFTcXVhcmVQaWVkUGlwZXI6UG9lLGZhUGllZFBpcGVyU3F1YXJlOmNtdCxmYVdoYXRzYXBwOmRtdCxmYUltZGI6cG10LGZhUHl0aG9uOnVtdCxmYUNhc2hBcHA6Zm10LGZhUGludGVyZXN0UDpobXQsZmFXaG1jczptbXQsZmFKb2dldDpnbXQsZmFTcXVhcmVZb3V0dWJlOkVvZSxmYVlvdXR1YmVTcXVhcmU6Ym10LGZhQXRsYXNzaWFuOnZtdCxmYVBpZWRQaXBlckhhdDp4bXQsZmFJbnRlcm5ldEV4cGxvcmVyOnltdCxmYUFpcmJuYjp3bXQsZmFKczpNbXQsZmFRdWluc2NhcGU6a210LGZhQWR2ZXJzYWw6em10LGZhQ3JlYXRpdmVDb21tb25zOlNtdCxmYU5vdGlvbjpDbXQsZmFDaHJvbWVjYXN0Ol9tdCxmYVVsdHJhbHl0aWNzSHViOlRtdCxmYVdpa2lwZWRpYVc6TG10LGZhU2l0cm94OiRtdCxmYVNxdWFyZUdpdGxhYjpJb2UsZmFHaXRsYWJTcXVhcmU6RG10LGZhU2hvZWxhY2U6QW10LGZhT3BlbnN0cmVldG1hcDpQbXQsZmFTZWxsY2FzdDpFbXQsZmFNaXg6SW10LGZhQ2NBcHBsZVBheTpObXQsZmFTb2xhbmE6Um10LGZhVHlwZXNjcmlwdDpGbXQsZmFCcmF2ZTpPbXQsZmFFdHN5OkJtdCxmYUJ0YzpIbXQsZmFBZG46cW10LGZhU3F1YXJlWFR3aXR0ZXI6Vm10LGZhU3F1YXJlRm9udEF3ZXNvbWU6am10LGZhRm9ydW1iZWU6VW10LGZhNDJHcm91cDpOb2UsZmFJbm5vc29mdDpXbXQsZmFTdHVtYmxldXBvbkNpcmNsZTpHbXQsZmFTeW1mb255OlltdCxmYVNhbGVzZm9yY2U6Wm10LGZhU291cmNldHJlZTpYbXQsZmFMaW5rZWRpbkluOkttdCxmYUh0bWw1OlFtdCxmYVJ1c3Q6Sm10LGZhSG9ybmJpbGw6ZTl0LGZhUGhwOnQ5dCxmYURpc3F1czphOXQsZmE1MDBweDpyOXQsZmFBZmZpbGlhdGV0aGVtZTppOXQsZmFSZWRSaXZlcjpzOXQsZmFUd2l0dGVyOk5HLGZhRm9ydEF3ZXNvbWU6bzl0LGZhTWl4ZXI6bjl0LGZhTHlmdDpsOXQsZmFBcHBsZVBheTpjOXQsZmFBcnRzdGF0aW9uOmQ5dCxmYU5vZGVKczpwOXQsZmFVbmNoYXJ0ZWQ6dTl0LGZhUGxheXN0YXRpb246Zjl0LGZhTWljcm9ibG9nOmg5dCxmYUdpdGtyYWtlbjptOXQsZmFUZWxlZ3JhbTpSb2UsZmFUZWxlZ3JhbVBsYW5lOmc5dCxmYVVsdHJhbHl0aWNzOmI5dCxmYUl0dW5lc05vdGU6djl0LGZhTGVzczp4OXQsZmFGaXJlZm94Onk5dCxmYUthZ2dsZTp3OXQsZmFGYWNlYm9va01lc3NlbmdlcjpNOXQsZmFBdWRpYmxlOms5dCxmYVBhdHJlb246ejl0LGZhVm52OlM5dCxmYVBhZ2VsaW5lczpDOXQsZmFBbWF6b246Xzl0LGZhRW52aXJhOlQ5dCxmYUxpbm9kZTpMOXQsZmFBY2N1c29mdDokOXQsZmFFcmxhbmc6RDl0LGZhVW5pc29uOkE5dCxmYUNjRGlzY292ZXI6UDl0LGZhU2FmYXJpOkU5dCxmYVNwYWNlQXdlc29tZTpJOXQsZmFOb2RlOk45dCxmYUNvZGVwZW46Ujl0LGZhUmF2ZWxyeTpGOXQsZmFBbGlwYXk6Tzl0LGZhQ2NBbWV4OkI5dCxmYVBpZWRQaXBlckFsdDpIOXQsZmFMZXR0ZXJib3hkOnE5dCxmYU9wZXJhOlY5dCxmYVdlaWJvOmo5dCxmYVJlYWRtZTpVOXQsZmFHb2xhbmc6Vzl0LGZhU3RhY2tFeGNoYW5nZTpHOXQsZmFHdWxwOlk5dCxmYVllbHA6Wjl0LGZhR29mb3JlOlg5dCxmYUF2aWF0bzpLOXQsZmFQYWRsZXQ6UTl0LGZhRWRnZUxlZ2FjeTpKOXQsZmFTcXVhcmVMYXN0Zm06Rm9lLGZhTGFzdGZtU3F1YXJlOmVndCxmYUdvb2RyZWFkc0c6dGd0LGZhQ2NNYXN0ZXJjYXJkOmFndCxmYURpc2NvdXJzZTpyZ3QsZmFCbGFja1RpZTppZ3QsZmFTcXVhcmVGYWNlYm9vazpPb2UsZmFGYWNlYm9va1NxdWFyZTpzZ3QsZmFCYXR0bGVOZXQ6b2d0LGZhQmltb2JqZWN0Om5ndCxmYVN2ZWx0ZTpsZ3QsZmFTcXVhcmVEZXNrcHJvOmNndCxmYVRhaWx3aW5kQ3NzOmRndH19KTt2YXIgQmJhLEJvZSx1Z3QsZmd0LEhvZSxoZ3QsWmYsbWd0LGdndCxiZ3Qsdmd0LHFvZSx4Z3QseWd0LHdndCxYZixNZ3QsVm9lLGtndCxqb2Usemd0LFNndCxDZ3QsX2d0LFVvZSxUZ3QsV29lLExndCxHb2UsJGd0LFlvZSxEZ3QsWm9lLEFndCxYb2UsUGd0LEtvZSxFZ3QsSWd0LFFvZSxOZ3QsSm9lLFJndCxlbmUsRmd0LHRuZSxPZ3QsQmd0LGFuZSxIZ3Qscm5lLHFndCxpbmUsVmd0LHNuZSxqZ3Qsb25lLFVndCxXZ3QsR2d0LFJHLFlndCxaZ3QsWGd0LEtndCxRZ3QsSmd0LGVidCx0YnQsRkcsYWJ0LHJidCxubmUsaWJ0LHNidCxvYnQsbmJ0LGxidCxjYnQsZGJ0LHBidCxsbmUsdWJ0LGZidCxoYnQsQTgsbWJ0LGdidCxjbmUsYmJ0LHZidCxkbmUseGJ0LFVHLHlidCx3YnQsT0csTWJ0LGtidCxwbmUsemJ0LFNidCxDYnQsdW5lLF9idCxmbmUsVGJ0LEJHLExidCwkYnQsaG5lLERidCxtbmUsQWJ0LFBidCxFYnQsZ25lLElidCxibmUsTmJ0LHZuZSxSYnQseG5lLEZidCxPYnQsQmJ0LEhidCx5bmUscWJ0LFZidCx3bmUsamJ0LFVidCxNbmUsV2J0LEdidCxrbmUsWWJ0LFpidCxYYnQsR2YsS2J0LFFidCxKYnQsS2YsZXZ0LHR2dCxhdnQsem5lLHJ2dCxpdnQsU25lLHN2dCxDbmUsb3Z0LFlmLG52dCxsdnQsY3Z0LF9uZSxkdnQsSEcscHZ0LHV2dCxmdnQsaHZ0LFRuZSxtdnQscUcsZ3Z0LGJ2dCxMbmUsdnZ0LCRuZSx4dnQseXZ0LERuZSx3dnQsQW5lLE12dCxWRyxrdnQsenZ0LFN2dCxRZixDdnQsX3Z0LFR2dCxMdnQsUG5lLCR2dCxFbmUsRHZ0LEluZSxBdnQsTm5lLFB2dCxSbmUsRXZ0LEZuZSxJdnQsakcsTnZ0LFJ2dCxGdnQsT3Z0LE9uZSxCdnQsQm5lLEh2dCxIbmUscXZ0LHFuZSxWdnQsanZ0LFV2dCxXdnQsR3Z0LFl2dCxadnQsVm5lLFh2dCxqbmUsS3Z0LFF2dCxVbmUsSnZ0LFduZSxleHQsR25lLHR4dCxXRyxheHQsWW5lLHJ4dCxpeHQsWm5lLHN4dCxYbmUsb3h0LG54dCxseHQsS25lLGN4dCxkeHQsUW5lLHB4dCx1eHQsZnh0LGh4dCxKbmUsbXh0LGVsZSxneHQsdGxlLGJ4dCx2eHQseHh0LGFsZSx5eHQscmxlLHd4dCxpbGUsTXh0LGt4dCxzbGUsenh0LG9sZSxTeHQsQ3h0LG5sZSxfeHQsVHh0LEx4dCxIYmEsJHh0PWMoKCk9PntCYmE9ImZhciIsQm9lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNxdWFyZS1taW51cyIsaWNvbjpbNDQ4LDUxMixbNjE3NjcsIm1pbnVzLXNxdWFyZSJdLCJmMTQ2IiwiTTY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjBjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyMGMwLTguOC03LjItMTYtMTYtMTZMNjQgODB6TTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek0xMzYgMjMybDE3NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNzYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sdWd0PUJvZSxmZ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2FsZW5kYXItY2hlY2siLGljb246WzQ0OCw1MTIsW10sImYyNzQiLCJNMzI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0MCAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzIgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MCAxNjAgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0ek02NCAxMTJjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjg4YzAtOC44LTcuMi0xNi0xNi0xNkw2NCAxMTJ6bTIzMC43IDY1LjljNy44LTEwLjcgMjIuOC0xMy4xIDMzLjUtNS4zIDEwLjcgNy44IDEzLjEgMjIuOCA1LjMgMzMuNUwyMTEuNCAzNzQuMWMtNC4xIDUuNy0xMC41IDkuMy0xNy41IDkuOC03IC41LTEzLjktMi0xOC44LTYuOWwtNTUuOS01NS45Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzYgMzYgMTA1LjYtMTQ1LjJ6Il19LEhvZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWtpc3MiLGljb246WzUxMiw1MTIsWzEyODUzNSwia2lzcyJdLCJmNTk2IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMjQwIDBsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OCAwIDEyLjMtNC42IDIzLjUtMTIuMiAzMiA3LjYgOC41IDEyLjIgMTkuNyAxMi4yIDMyIDAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnptLTk2LTQ4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LGhndD1Ib2UsWmY9e3ByZWZpeDoiZmFyIixpY29uTmFtZToicGFzdGUiLGljb246WzUxMiw1MTIsWyJmaWxlLWNsaXBib2FyZCJdLCJmMGVhIiwiTTY0IDQ4bDIyNCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQ4IDQ4IDAgMC00OGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxMTIgMCAwLTQ4LTExMiAwYy04LjggMC0xNi03LjItMTYtMTZMNDggNjRjMC04LjggNy4yLTE2IDE2LTE2em0xNzYgNzJjMC0xMy4zLTEwLjctMjQtMjQtMjRMMTA0IDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDEwNS42IDBjOC44LTguNiAxOS0xNS44IDMwLjItMjEuMSAuMS0uOSAuMi0xLjkgLjItMi45ek00NDggNDY0bC0xNjAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjI0YzAtOC44IDcuMi0xNiAxNi0xNmwxMDEuNSAwYzQuMiAwIDguMyAxLjcgMTEuMyA0LjdsNTguNSA1OC41YzMgMyA0LjcgNy4xIDQuNyAxMS4zTDQ2NCA0NDhjMCA4LjgtNy4yIDE2LTE2IDE2ek0yMjQgMjI0bDAgMjI0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE2MCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTY1LjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNsLTU4LjUtNTguNWMtMTItMTItMjguMy0xOC43LTQ1LjMtMTguN0wyODggMTYwYy0zNS4zIDAtNjQgMjguNy02NCA2NHoiXX0sbWd0PVpmLGdndD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLXBvaW50LWxlZnQiLGljb246WzUxMiw1MTIsW10sImYwYTUiLCJNNjQgMTI4bDE3Ny42IDBjLTEgNS4yLTEuNiAxMC41LTEuNiAxNmwwIDE2LTE3NiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0yMjQgMTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMjQgMGM2Ni4zIDAgMTIwIDUzLjcgMTIwIDEyMGwwIDQ4YzAgNTIuNS0zMy43IDk3LjEtODAuNyAxMTMuNCAuNS0zLjEgLjctNi4yIC43LTkuNCAwLTIwLTkuMi0zNy45LTIzLjYtNDkuNyA0LjktOSA3LjYtMTkuNCA3LjYtMzAuMyAwLTE1LjEtNS4zLTI5LTE0LTQwIDguOC0xMSAxNC0yNC45IDE0LTQwbDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwem0zMi04MGwwIDBjLTE4IDAtMzQuNiA2LTQ4IDE2TDY0IDgwQzI4LjcgODAgMCAxMDguNyAwIDE0NHMyOC43IDY0IDY0IDY0bDgyIDBjLTEuMyA1LjEtMiAxMC41LTIgMTYgMCAyNS4zIDE0LjcgNDcuMiAzNiA1Ny42LTIuNiA3LTQgMTQuNS00IDIyLjQgMCAyMCA5LjIgMzcuOSAyMy42IDQ5LjctNC45IDktNy42IDE5LjQtNy42IDMwLjMgMCAzNS4zIDI4LjcgNjQgNjQgNjRsODggMGM5Mi44IDAgMTY4LTc1LjIgMTY4LTE2OGwwLTQ4YzAtOTIuOC03NS4yLTE2OC0xNjgtMTY4bC0yNCAwek0yNTYgNDAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTY0IDB6TTI0MCAyMjRjMCA1LjUgLjcgMTAuOSAyIDE2bC0zNCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDMyIDAgMCAxNnptMjQgNjRsNDAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwyNCAweiJdfSxiZ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZS1leGNlbCIsaWNvbjpbMzg0LDUxMixbXSwiZjFjMyIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwem05OS4yIDI2NS42Yy04LTEwLjYtMjMtMTIuOC0zMy42LTQuOHMtMTIuOCAyMy00LjggMzMuNkwxNjIgMzQ0IDEyNC44IDM5My42Yy04IDEwLjYtNS44IDI1LjYgNC44IDMzLjZzMjUuNiA1LjggMzMuNi00LjhMMTkyIDM4NCAyMjAuOCA0MjIuNGM4IDEwLjYgMjMgMTIuOCAzMy42IDQuOHMxMi44LTIzIDQuOC0zMy42TDIyMiAzNDQgMjU5LjIgMjk0LjRjOC0xMC42IDUuOC0yNS42LTQuOC0zMy42cy0yNS42LTUuOC0zMy42IDQuOEwxOTIgMzA0IDE2My4yIDI2NS42eiJdfSx2Z3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZW52ZWxvcGUiLGljb246WzUxMiw1MTIsWzEyODM4Niw5OTkzLDYxNDQzXSwiZjBlMCIsIk02MS40IDY0QzI3LjUgNjQgMCA5MS41IDAgMTI1LjQgMCAxMjYuMyAwIDEyNy4xIC4xIDEyOEwwIDEyOCAwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1Ni0uMSAwYzAtLjkgLjEtMS43IC4xLTIuNiAwLTMzLjktMjcuNS02MS40LTYxLjQtNjEuNEw2MS40IDY0ek00NjQgMTkyLjNMNDY0IDM4NGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xOTEuNyAxNTQuOCAxMTcuNGMzMS40IDIzLjkgNzQuOSAyMy45IDEwNi40IDBMNDY0IDE5Mi4zek00OCAxMjUuNEM0OCAxMTggNTQgMTEyIDYxLjQgMTEybDM4OS4yIDBjNy40IDAgMTMuNCA2IDEzLjQgMTMuNCAwIDQuMi0yIDguMi01LjMgMTAuN0wyODAuMiAyNzEuNWMtMTQuMyAxMC44LTM0LjEgMTAuOC00OC40IDBMNTMuMyAxMzYuMWMtMy4zLTIuNS01LjMtNi41LTUuMy0xMC43eiJdfSxxb2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3F1YXJlLWNhcmV0LWRvd24iLGljb246WzQ0OCw1MTIsWyJjYXJldC1zcXVhcmUtZG93biJdLCJmMTUwIiwiTTM4NCA0MzJjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIwYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzIwYzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMHptNjQtMTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwek0yMjQgMzUyYy02LjcgMC0xMy0yLjgtMTcuNi03LjdsLTEwNC0xMTJjLTYuNS03LTguMi0xNy4yLTQuNC0yNS45UzExMC41IDE5MiAxMjAgMTkybDIwOCAwYzkuNSAwIDE4LjIgNS43IDIyIDE0LjRzMi4xIDE4LjktNC40IDI1LjlsLTEwNCAxMTJjLTQuNSA0LjktMTAuOSA3LjctMTcuNiA3Ljd6Il19LHhndD1xb2UseWd0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InRydWNrIixpY29uOls1NzYsNTEyLFsxMjg2NjYsOTk1MV0sImYwZDEiLCJNNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsMy4zIDBjMTAuNC0zNi45IDQ0LjQtNjQgODQuNy02NHM3NC4yIDI3LjEgODQuNyA2NGwxMDIuNiAwYzQuOS0xNy40IDE1LjEtMzIuNyAyOC43LTQzLjlMMzY4IDk2YzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MHptMy4zIDM2OEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMjg4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMiA1NS40IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdsNDAuNiA0MC42YzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMNTc2IDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMy4zIDBjLTEwLjQgMzYuOS00NC40IDY0LTg0LjcgNjRzLTc0LjItMjcuMS04NC43LTY0bC0xMDIuNiAwYy0xMC40IDM2LjktNDQuNCA2NC04NC43IDY0cy03NC4yLTI3LjEtODQuNy02NHpNNDE2IDI1NmwxMTIgMCAwLTIzLjRjMC00LjItMS43LTguMy00LjctMTEuM2wtNDAuNi00MC42Yy0zLTMtNy4xLTQuNy0xMS4zLTQuN2wtNTUuNCAwIDAgODB6bTAgNDhsMCAzMi40YzIuNi0uMiA1LjMtLjQgOC0uNCA0MC4zIDAgNzQuMiAyNy4xIDg0LjcgNjRsMy4zIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtODAtMTEyIDB6TTE1MiA0NjRhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwem0yNzIgMGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6Il19LHdndD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJiZWxsIixpY29uOls0NDgsNTEyLFsxMjgyNzYsNjE2MDJdLCJmMGYzIiwiTTIyNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDkuN0MxMTguNiA0NS4zIDU2IDExNS40IDU2IDIwMGwwIDE0LjVjMCAzNy43LTEwIDc0LjctMjkgMTA3LjNMNS4xIDM1OS4yQzEuOCAzNjUgMCAzNzEuNSAwIDM3OC4yIDAgMzk5LjEgMTYuOSA0MTYgMzcuOCA0MTZsMzcyLjQgMGMyMC45IDAgMzcuOC0xNi45IDM3LjgtMzcuOCAwLTYuNy0xLjgtMTMuMy01LjEtMTlMNDIxIDMyMS43Yy0xOS0zMi42LTI5LTY5LjYtMjktMTA3LjNsMC0xNC41YzAtODQuNi02Mi42LTE1NC43LTE0NC0xNjYuM2wwLTkuN2MwLTEzLjMtMTAuNy0yNC0yNC0yNHpNMzkyLjQgMzY4bC0zMzYuOSAwIDEyLjktMjIuMUM5MS43IDMwNiAxMDQgMjYwLjYgMTA0IDIxNC41bDAtMTQuNWMwLTY2LjMgNTMuNy0xMjAgMTIwLTEyMHMxMjAgNTMuNyAxMjAgMTIwbDAgMTQuNWMwIDQ2LjIgMTIuMyA5MS41IDM1LjUgMTMxLjRMMzkyLjQgMzY4ek0xNTYuMSA0NjRjOS45IDI4IDM2LjYgNDggNjcuOSA0OHM1OC0yMCA2Ny45LTQ4bC0xMzUuOCAweiJdfSxYZj17cHJlZml4OiJmYXIiLGljb25OYW1lOiJtZXNzYWdlIixpY29uOls1MTIsNTEyLFsiY29tbWVudC1hbHQiXSwiZjI3YSIsIk0yMDMuNyA1MTIuOXMwIDAgMCAwbC0zNy44IDI2LjdjLTcuMyA1LjItMTYuOSA1LjgtMjQuOSAxLjdTMTI4IDUyOSAxMjggNTIwbDAtNzItMzIgMGMtNTMgMC05Ni00My05Ni05NkwwIDEyOEMwIDc1IDQzIDMyIDk2IDMybDMyMCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAyMjRjMCA1My00MyA5Ni05NiA5NmwtMTIwLjQgMC05MS45IDY0Ljl6bTY0LjMtMTA0LjFjOC4xLTUuNyAxNy44LTguOCAyNy43LTguOEw0MTYgNDAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjI0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDk2IDgwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDIyNGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw1NiAwYzEwLjQgMCAxOS4zIDYuNiAyMi42IDE1LjkgLjkgMi41IDEuNCA1LjIgMS40IDguMWwwIDQ5LjdjMzIuNy0yMy4xIDYzLjMtNDQuNyA5MS45LTY0Ljl6Il19LE1ndD1YZixWb2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1kaXp6eSIsaWNvbjpbNTEyLDUxMixbImRpenp5Il0sImY1NjciLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0xMzQuMSAxNTMuOWwyNS45IDI1LjkgMjUuOS0yNS45YzcuOC03LjggMjAuNS03LjggMjguMyAwczcuOCAyMC41IDAgMjguM2wtMjUuOSAyNS45IDI1LjkgMjUuOWM3LjggNy44IDcuOCAyMC41IDAgMjguM3MtMjAuNSA3LjgtMjguMyAwbC0yNS45LTI1LjktMjUuOSAyNS45Yy03LjggNy44LTIwLjUgNy44LTI4LjMgMHMtNy44LTIwLjUgMC0yOC4zbDI1LjktMjUuOS0yNS45LTI1LjljLTcuOC03LjgtNy44LTIwLjUgMC0yOC4zczIwLjUtNy44IDI4LjMgMHptMTkyIDBsMjUuOSAyNS45IDI1LjktMjUuOWM3LjgtNy44IDIwLjUtNy44IDI4LjMgMHM3LjggMjAuNSAwIDI4LjNsLTI1LjkgMjUuOSAyNS45IDI1LjljNy44IDcuOCA3LjggMjAuNSAwIDI4LjNzLTIwLjUgNy44LTI4LjMgMGwtMjUuOS0yNS45LTI1LjkgMjUuOWMtNy44IDcuOC0yMC41IDcuOC0yOC4zIDBzLTcuOC0yMC41IDAtMjguM2wyNS45LTI1LjktMjUuOS0yNS45Yy03LjgtNy44LTcuOC0yMC41IDAtMjguM3MyMC41LTcuOCAyOC4zIDB6TTI1NiAyODhhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LGtndD1Wb2Usam9lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNhbGVuZGFyLWRheXMiLGljb246WzQ0OCw1MTIsWyJjYWxlbmRhci1hbHQiXSwiZjA3MyIsIk0xMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwIDE2MCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTM4NCA0MzJjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjQtODggMCAwIDgwIDcyIDB6bTE2LTEyOGwwLTgwLTg4IDAgMCA4MCA4OCAwem0tMTM2IDBsMC04MC04MCAwIDAgODAgODAgMHptLTEyOCAwbDAtODAtODggMCAwIDgwIDg4IDB6TTQ4IDM1MmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmw3MiAwIDAtODAtODggMHptMTM2IDBsMCA4MCA4MCAwIDAtODAtODAgMHpNMTIwIDExMmwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNDggMzUyIDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTI2NCAweiJdfSx6Z3Q9am9lLFNndD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLXBvaW50LXVwIixpY29uOlszODQsNTEyLFs5NzU3XSwiZjBhNiIsIk02NCA2NGwwIDE3Ny42YzUuMi0xIDEwLjUtMS42IDE2LTEuNmwxNiAwIDAtMTc2YzAtOC44LTcuMi0xNi0xNi0xNlM2NCA1NS4yIDY0IDY0ek04MCAyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMjRjMCA2Ni4zIDUzLjcgMTIwIDEyMCAxMjBsNDggMGM1Mi41IDAgOTcuMS0zMy43IDExMy40LTgwLjctMy4xIC41LTYuMiAuNy05LjQgLjctMjAgMC0zNy45LTkuMi00OS43LTIzLjYtOSA0LjktMTkuNCA3LjYtMzAuMyA3LjYtMTUuMSAwLTI5LTUuMy00MC0xNC0xMSA4LjgtMjQuOSAxNC00MCAxNGwtNDAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw0MCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC04MCAwek0wIDMyMGwwIDBjMC0xOCA2LTM0LjYgMTYtNDhMMTYgNjRDMTYgMjguNyA0NC43IDAgODAgMHM2NCAyOC43IDY0IDY0bDAgODJjNS4xLTEuMyAxMC41LTIgMTYtMiAyNS4zIDAgNDcuMiAxNC43IDU3LjYgMzYgNy0yLjYgMTQuNS00IDIyLjQtNCAyMCAwIDM3LjkgOS4yIDQ5LjcgMjMuNiA5LTQuOSAxOS40LTcuNiAzMC4zLTcuNiAzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDg4YzAgOTIuOC03NS4yIDE2OC0xNjggMTY4bC00OCAwQzc1LjIgNTEyIDAgNDM2LjggMCAzNDRsMC0yNHptMzM2LTY0YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0ek0xNjAgMjQwYzUuNSAwIDEwLjkgLjcgMTYgMmwwLTM0YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMzIgMTYgMHptNjQgMjRsMCA0MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAyNHoiXX0sQ2d0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQtbGl6YXJkIixpY29uOls1MTIsNTEyLFtdLCJmMjU4IiwiTTcyIDExMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNjggMGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NGwtMTA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTUyIDBjNC41IDAgOC45IDEuMyAxMi43IDMuNmw2NCA0MGM3IDQuNCAxMS4zIDEyLjEgMTEuMyAyMC40bDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMC43LTQ2LjktMjkuMy0xNDUuMSAwYy0zOS44IDAtNzItMzIuMi03Mi03MnMzMi4yLTcyIDcyLTcybDEwNCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2TDcyIDIwOGMtMzkuOCAwLTcyLTMyLjItNzItNzJTMzIuMiA2NCA3MiA2NGwyMDkuNiAwYzQ2LjcgMCA5MC45IDIxLjUgMTE5LjcgNTguM2w3OC40IDEwMC4xYzIwLjkgMjYuNyAzMi4zIDU5LjcgMzIuMyA5My43TDUxMiA0MjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMDcuOWMwLTIzLjItNy44LTQ1LjgtMjIuMS02NC4xTDM2My41IDE1MS45Yy0xOS43LTI1LjItNDkuOS0zOS45LTgxLjktMzkuOUw3MiAxMTJ6Il19LF9ndD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzcXVhcmUtZnVsbCIsaWNvbjpbNTEyLDUxMixbMTI4OTk3LDEyODk5OCwxMjg5OTksMTI5ZTMsMTI5MDAxLDEyOTAwMiwxMjkwMDMsMTEwMzUsMTEwMzZdLCJmNDVjIiwiTTQ0OCA0OGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzODRjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNmwzODQgMHpNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHoiXX0sVW9lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1wYXVzZSIsaWNvbjpbNTEyLDUxMixbNjIwOTIsInBhdXNlLWNpcmNsZSJdLCJmMjhiIiwiTTI1NiA0OGEyMDggMjA4IDAgMSAxIDAgNDE2IDIwOCAyMDggMCAxIDEgMC00MTZ6bTAgNDY0YTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjI0IDE4NGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE0NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTQ0em0xMTIgMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE0NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTQ0eiJdfSxUZ3Q9VW9lLFdvZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYXJkLWRyaXZlIixpY29uOls0NDgsNTEyLFsxMjg0MzYsImhkZCJdLCJmMGEwIiwiTTY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNjJjNS4xLTEuMyAxMC41LTIgMTYtMmwzMjAgMGM1LjUgMCAxMC45IC43IDE2IDJsMC0xNjJjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDgwek00OCAzMjBsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtOTZjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDMwNGMtOC44IDAtMTYgNy4yLTE2IDE2ek0wIDMyMEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC05NnptMjE2IDQ4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEyMC0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LExndD1Xb2UsR29lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZpbGUtemlwcGVyIixpY29uOlszODQsNTEyLFsiZmlsZS1hcmNoaXZlIl0sImYxYzYiLCJNNjQgNDhsMTEyIDAgMCA4OGMwIDM5LjggMzIuMiA3MiA3MiA3Mmw4OCAwIDAgMjQwYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA2NGMwLTguOCA3LjItMTYgMTYtMTZ6TTIyNCA2Ny45bDkyLjEgOTIuMS02OC4xIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNjguMXpNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNjEuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNDIuNyAxOC43QzIzMC43IDYuNyAyMTQuNSAwIDE5Ny41IDBMNjQgMHpNODAgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDE2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0em0wIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDMyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0em02NCA1NmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0OGMwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4bDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJ6bS0xNiA2NGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6Il19LCRndD1Hb2UsWW9lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZsb3BweS1kaXNrIixpY29uOls0NDgsNTEyLFsxMjgxOTAsMTI4NDI2LCJzYXZlIl0sImYwYzciLCJNNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjQyLjdjMC00LjItMS43LTguMy00LjctMTEuM0wzMjAgODYuNiAzMjAgMTc2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xNjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05Ni0zMiAwem04MCAwbDAgODAgMTI4IDAgMC04MC0xMjggMHpNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwyNDIuNyAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDQyOS4zIDEyOGMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDQ0OCA0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek0xNjAgMzIwYTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHoiXX0sRGd0PVlvZSxab2U9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluLXRvbmd1ZS1zcXVpbnQiLGljb246WzUxMiw1MTIsWzEyODU0MSwiZ3Jpbi10b25ndWUtc3F1aW50Il0sImY1OGEiLCJNNDY0IDI1NmMwLTExNC45LTkzLjEtMjA4LTIwOC0yMDhTNDggMTQxLjEgNDggMjU2YzAgNzUuOSA0MC43IDE0Mi40IDEwMS41IDE3OC43LTMuNi0xMC45LTUuNS0yMi42LTUuNS0zNC43bDAtMzcuNWMtMTAuMi0xMi42LTE4LjMtMjYuOS0yMy44LTQyLjQtNC4xLTExLjYgNy44LTIxLjQgMTkuNi0xNy44IDM0LjcgMTAuNiA3NC4yIDE2LjUgMTE2LjEgMTYuNSA0MiAwIDgxLjUtNiAxMTYuMy0xNi42IDExLjgtMy42IDIzLjcgNi4xIDE5LjYgMTcuOC01LjUgMTUuNi0xMy42IDI5LjktMjMuOCA0Mi41bDAgMzcuNWMwIDEyLjEtMS45IDIzLjgtNS41IDM0LjcgNjAuOC0zNi4zIDEwMS41LTEwMi43IDEwMS41LTE3OC43ek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0xMjUuOC03NS43Yy02LjItNS4yLTcuNi0xNC4zLTMuMS0yMS4xczEzLjMtOS4yIDIwLjYtNS41bDc5LjYgNDBjNS40IDIuNyA4LjggOC4yIDguOCAxNC4zcy0zLjQgMTEuNi04LjggMTQuM2wtNzkuNiA0MGMtNy4zIDMuNi0xNi4xIDEuMy0yMC42LTUuNXMtMy4xLTE1LjkgMy4xLTIxLjFMMTU5IDIwOCAxMjUuOCAxODAuM3ptMjYzLjYtMjEuMWM0LjUgNi44IDMuMSAxNS45LTMuMSAyMS4xTDM1MyAyMDggMzg2LjIgMjM1LjdjNi4yIDUuMiA3LjYgMTQuMyAzLjEgMjEuMXMtMTMuMyA5LjItMjAuNiA1LjVsLTc5LjYtNDBjLTUuNC0yLjctOC44LTguMi04LjgtMTQuM3MzLjQtMTEuNiA4LjgtMTQuM2w3OS42LTQwYzcuMy0zLjYgMTYuMS0xLjMgMjAuNiA1LjV6TTMyMCA0MTZsMC0zNy40YzAtMTQuNy0xMS45LTI2LjYtMjYuNi0yNi42bC0yIDBjLTExLjMgMC0yMS4xIDcuOS0yMy42IDE4LjktMi44IDEyLjYtMjAuOCAxMi42LTIzLjYgMC0yLjUtMTEuMS0xMi4zLTE4LjktMjMuNi0xOC45bC0yIDBjLTE0LjcgMC0yNi42IDExLjktMjYuNiAyNi42bDAgMzcuNGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0eiJdfSxBZ3Q9Wm9lLFhvZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjYW1lcmEiLGljb246WzUxMiw1MTIsWzYyMjU4LCJjYW1lcmEtYWx0Il0sImYwMzAiLCJNMTkzLjEgMzJjLTE4LjcgMC0zNi4yIDkuNC00Ni42IDI0LjlMMTIwLjUgOTYgNjQgOTZDMjguNyA5NiAwIDEyNC43IDAgMTYwTDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC01Ni41IDAtMjYtMzkuMUMzNTUuMSA0MS40IDMzNy42IDMyIDMxOC45IDMyTDE5My4xIDMyem0tNi43IDUxLjZjMS41LTIuMiA0LTMuNiA2LjctMy42bDEyNS43IDBjMi43IDAgNS4yIDEuMyA2LjcgMy42bDMzLjIgNDkuOGM0LjUgNi43IDExLjkgMTAuNyAyMCAxMC43bDY5LjMgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyNTZjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQzMmMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjU2YzAtOC44IDcuMi0xNiAxNi0xNmw2OS4zIDBjOCAwIDE1LjUtNCAyMC0xMC43bDMzLjItNDkuOHpNMjU2IDM4NGExMTIgMTEyIDAgMSAwIDAtMjI0IDExMiAxMTIgMCAxIDAgMCAyMjR6TTE5MiAyNzJhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAweiJdfSxQZ3Q9WG9lLEtvZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4tc3RhcnMiLGljb246WzUxMiw1MTIsWzEyOTMyMSwiZ3Jpbi1zdGFycyJdLCJmNTg3IiwiTTAgMjU2YzAtMjkuNiA1LTU3LjkgMTQuMi04NC40bDE3LjMgMTYuOS00LjYgMjdjLTQuMiAyNC40IDUuNiA0Ni4yIDIyIDU5LjkgOS44IDEwNS44IDk4LjggMTg4LjcgMjA3LjEgMTg4LjdzMTk3LjQtODIuOCAyMDcuMS0xODguNmMxNi40LTEzLjcgMjYuMS0zNS40IDIyLTU5LjlsLTQuNi0yNyAxNy4zLTE2LjljOS4yIDI2LjQgMTQuMiA1NC44IDE0LjIgODQuNCAwIDE0MS40LTExNC42IDI1Ni0yNTYgMjU2UzAgMzk3LjQgMCAyNTZ6TTI1NiA0OGMtMTUuMiAwLTMwIDEuNi00NC4zIDQuN0wyMDEuNCAzMS44QzE5NyAyMyAxOTEuMSAxNS44IDE4NC4yIDEwLjIgMjA3IDMuNiAyMzEuMSAwIDI1NiAwczQ5IDMuNiA3MS44IDEwLjJDMzIwLjkgMTUuOCAzMTUgMjMgMzEwLjYgMzEuOEwzMDAuMyA1Mi43QzI4NiA0OS42IDI3MS4yIDQ4IDI1NiA0OHpNMzcyLjIgMzAyLjNjMTEuOC0zLjYgMjMuNyA2LjEgMTkuNiAxNy44LTE5LjggNTUuOS03My4xIDk2LTEzNS44IDk2LTYyLjcgMC0xMTYtNDAtMTM1LjgtOTUuOS00LjEtMTEuNiA3LjgtMjEuNCAxOS42LTE3LjggMzQuNyAxMC42IDc0LjIgMTYuNSAxMTYuMSAxNi41IDQyIDAgODEuNS02IDExNi4zLTE2LjZ6TTM1My43IDUzLjFjNS45LTExLjkgMjIuOC0xMS45IDI4LjcgMGwyMy4zIDQ3LjIgNTIgNy42YzEzLjEgMS45IDE4LjQgMTggOC45IDI3LjNsLTM3LjcgMzYuNyA4LjkgNTEuOGMyLjIgMTMuMS0xMS41IDIzLTIzLjIgMTYuOUwzNjggMjE2IDMyMS41IDI0MC41Yy0xMS43IDYuMi0yNS41LTMuOC0yMy4yLTE2LjlsOC45LTUxLjgtMzcuNy0zNi43Yy05LjUtOS4zLTQuMy0yNS40IDguOS0yNy4zbDUyLTcuNiAyMy4zLTQ3LjJ6bS0xOTUuMyAwbDIzLjMgNDcuMiA1MiA3LjZjMTMuMSAxLjkgMTguNCAxOCA4LjkgMjcuM2wtMzcuNyAzNi43IDguOSA1MS44YzIuMiAxMy4xLTExLjUgMjMtMjMuMiAxNi45TDE0NCAyMTYgOTcuNSAyNDAuNWMtMTEuNyA2LjItMjUuNS0zLjgtMjMuMi0xNi45bDguOS01MS44LTM3LjctMzYuN2MtOS41LTkuMy00LjMtMjUuNCA4LjktMjcuM2w1Mi03LjYgMjMuMy00Ny4yYzUuOS0xMS45IDIyLjgtMTEuOSAyOC43IDB6Il19LEVndD1Lb2UsSWd0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImV5ZSIsaWNvbjpbNTc2LDUxMixbMTI4MDY1XSwiZjA2ZSIsIk0yODggODBDMjIyLjggODAgMTY5LjIgMTA5LjYgMTI4LjEgMTQ3LjcgODkuNiAxODMuNSA2MyAyMjYgNDkuNCAyNTYgNjMgMjg2IDg5LjYgMzI4LjUgMTI4LjEgMzY0LjMgMTY5LjIgNDAyLjQgMjIyLjggNDMyIDI4OCA0MzJzMTE4LjgtMjkuNiAxNTkuOS02Ny43QzQ4Ni40IDMyOC41IDUxMyAyODYgNTI2LjYgMjU2IDUxMyAyMjYgNDg2LjQgMTgzLjUgNDQ3LjkgMTQ3LjcgNDA2LjggMTA5LjYgMzUzLjIgODAgMjg4IDgwek05NS40IDExMi42QzE0Mi41IDY4LjggMjA3LjIgMzIgMjg4IDMyczE0NS41IDM2LjggMTkyLjYgODAuNmM0Ni44IDQzLjUgNzguMSA5NS40IDkzIDEzMS4xIDMuMyA3LjkgMy4zIDE2LjcgMCAyNC42LTE0LjkgMzUuNy00Ni4yIDg3LjctOTMgMTMxLjEtNDcuMSA0My43LTExMS44IDgwLjYtMTkyLjYgODAuNlMxNDIuNSA0NDMuMiA5NS40IDM5OS40Yy00Ni44LTQzLjUtNzguMS05NS40LTkzLTEzMS4xLTMuMy03LjktMy4zLTE2LjcgMC0yNC42IDE0LjktMzUuNyA0Ni4yLTg3LjcgOTMtMTMxLjF6TTI4OCAzMzZjNDQuMiAwIDgwLTM1LjggODAtODAgMC0yOS42LTE2LjEtNTUuNS00MC02OS4zLTEuNCA1OS43LTQ5LjYgMTA3LjktMTA5LjMgMTA5LjMgMTMuOCAyMy45IDM5LjcgNDAgNjkuMyA0MHptLTc5LjYtODguNGMyLjUgLjMgNSAuNCA3LjYgLjQgMzUuMyAwIDY0LTI4LjcgNjQtNjQgMC0yLjYtLjItNS4xLS40LTcuNi0zNy40IDMuOS02Ny4yIDMzLjctNzEuMSA3MS4xem00NS42LTExNWMxMC44LTMgMjIuMi00LjUgMzMuOS00LjUgOC44IDAgMTcuNSAuOSAyNS44IDIuNiAuMyAuMSAuNSAuMSAuOCAuMiA1Ny45IDEyLjIgMTAxLjQgNjMuNyAxMDEuNCAxMjUuMiAwIDcwLjctNTcuMyAxMjgtMTI4IDEyOC02MS42IDAtMTEzLTQzLjUtMTI1LjItMTAxLjQtMS44LTguNi0yLjgtMTcuNS0yLjgtMjYuNiAwLTExIDEuNC0yMS44IDQtMzIgLjItLjcgLjMtMS4zIC41LTEuOSAxMS45LTQzLjQgNDYuMS03Ny42IDg5LjUtODkuNXoiXX0sUW9lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2Utc2FkLXRlYXIiLGljb246WzUxMiw1MTIsWzEyODU0Niwic2FkLXRlYXIiXSwiZjViNCIsIk00NjQgMjU2YzAtMTE0LjktOTMuMS0yMDgtMjA4LTIwOFM0OCAxNDEuMSA0OCAyNTZjMCA0MS44IDEyLjMgODAuNyAzMy42IDExMy4zIDguMiA0NC43IDQ3LjMgNzguNiA5NC4zIDc4LjcgMjQuNyAxMC4zIDUxLjcgMTYgODAuMSAxNiAxMTQuOSAwIDIwOC05My4xIDIwOC0yMDh6TTI4OCAzNTJjLTUuNSAwLTEwLjkgLjYtMTYgMS44IDAtLjYgMC0xLjIgMC0xLjggMC0xNi4yLTQtMzEuNS0xMS4xLTQ0LjkgOC43LTIgMTcuOC0zLjEgMjcuMS0zLjEgNDAuMiAwIDc1LjcgMTkuOCA5Ny41IDUwIDcuNyAxMC44IDUuMyAyNS44LTUuNSAzMy41cy0yNS44IDUuMy0zMy41LTUuNWMtMTMuMS0xOC4yLTM0LjQtMzAtNTguNS0zMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTc2LTgwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTE4NS40IDI3Ni44YzYuNSA3LjggMTIuNiAxNi4xIDE4LjMgMjQuNiA5IDEzLjQgMjAuMyAzMC4yIDIwLjMgNDcuNCAwIDI4LjMtMjEuNSA1MS4yLTQ4IDUxLjJzLTQ4LTIyLjktNDgtNTEuMmMwLTE3LjIgMTEuMi0zNCAyMC4zLTQ3LjQgNS43LTguNSAxMS45LTE2LjcgMTguMy0yNC42IDIuNC0yLjkgNS43LTQuOCA5LjQtNC44czcgMS45IDkuNCA0Ljh6Il19LE5ndD1Rb2UsSm9lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNoYXJlLWZyb20tc3F1YXJlIixpY29uOls1NzYsNTEyLFs2MTUwOSwic2hhcmUtc3F1YXJlIl0sImYxNGQiLCJNNDI1LjUgN2MtNi45LTYuOS0xNy4yLTguOS0yNi4yLTUuMlMzODQuNSAxNC4zIDM4NC41IDI0bDAgNTYtNDggMGMtODguNCAwLTE2MCA3MS42LTE2MCAxNjAgMCA0Ni43IDIwLjcgODAuNCA0My42IDEwMy40IDguMSA4LjIgMTYuNSAxNC45IDI0LjMgMjAuNCA5LjIgNi41IDIxLjcgNS43IDMwLjEtMS45czEwLjItMjAgNC41LTI5LjhjLTMuNi02LjMtNi41LTE0LjktNi41LTI2LjcgMC0zNi4yIDI5LjMtNjUuNSA2NS41LTY1LjVsNDYuNSAwIDAgNTZjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yczE5LjMgMS43IDI2LjItNS4ybDEzNi0xMzZjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlMNDI1LjUgN3ptNyA5N2wwLTIyLjEgNzguMSA3OC4xLTc4LjEgNzguMSAwLTIyLjFjMC0xMy4zLTEwLjctMjQtMjQtMjRMMzM4IDE5MmMtNTAuOSAwLTkzLjkgMzMuNS0xMDguMyA3OS42LTMuMy05LjQtNS4yLTE5LjgtNS4yLTMxLjYgMC02MS45IDUwLjEtMTEyIDExMi0xMTJsNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHptLTMyMC04Yy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDI1NmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwyNTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNCAweiJdfSxSZ3Q9Sm9lLGVuZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJub3RlLXN0aWNreSIsaWNvbjpbNDQ4LDUxMixbNjIwMjYsInN0aWNreS1ub3RlIl0sImYyNDkiLCJNMjQwIDQzMkw2NCA0MzJjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA5NmMwLTguOCA3LjItMTYgMTYtMTZsMzIwIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTc2LTg4IDBjLTM5LjggMC03MiAzMi4yLTcyIDcybDAgODh6TTM4MC4xIDMyMEwyODggNDEyLjEgMjg4IDM0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw2OC4xIDB6TTAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5Ny41IDBjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdMNDI5LjMgMzM4LjdjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0w0NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNnoiXX0sRmd0PWVuZSx0bmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1iYWNrLWZpc3QiLGljb246WzM4NCw1MTIsWyJoYW5kLXJvY2siXSwiZjI1NSIsIk05NiA0MDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMkw5NiA0MDB6TTczLjIgMzUybDY0LjYgMC03OS41LTg4LjNDNTEuNyAyNTYuMyA0OCAyNDYuOCA0OCAyMzYuOUw0OCAyMDRjMC0xNi4xIDExLjktMjkuNSAyNy40LTMxLjcgMTEuOC0xLjcgMjAuNi0xMS44IDIwLjYtMjMuOEw5NiA3MmMwLTEzLjMgMTAuNy0yNCAyNC0yNCA3LjIgMCAxMy42IDMuMSAxOCA4LjEgNC42IDUuMiAxMS4xIDguMSAxOCA4LjFzMTMuNC0zIDE4LTguMWM0LjQtNSAxMC44LTguMSAxOC04LjEgOC41IDAgMTUuOSA0LjQgMjAuMiAxMS4xIDYuOSAxMC43IDIwLjkgMTQuMiAzMiA4IDMuNS0xLjkgNy40LTMuMSAxMS44LTMuMSAxMC42IDAgMTkuNyA2LjkgMjIuOCAxNi42IDMuOCAxMS43IDE1LjkgMTguNyAyOCAxNiAxLjctLjQgMy40LS42IDUuMi0uNiAxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDkyLjJjMCAxNC40LTMuNSAyOC41LTEwLjIgNDEuMmwtNTIuMiA5OC42IDU0LjMgMCA0MC4zLTc2LjJjMTAuNC0xOS42IDE1LjgtNDEuNSAxNS44LTYzLjZsMC05Mi4yYzAtMzguNC0zMC4xLTY5LjgtNjguMS03MS45LTEyLjktMTkuMy0zNC45LTMyLjEtNTkuOS0zMi4xLTUuNyAwLTExLjIgLjctMTYuNSAxLjktMTIuNy0xMS4xLTI5LjMtMTcuOS00Ny41LTE3LjktMTMuMSAwLTI1LjQgMy41LTM2IDkuNi0xMC42LTYuMS0yMi45LTkuNi0zNi05LjYtMzkuOCAwLTcyIDMyLjItNzIgNzJsMCA1OC43QzE5LjcgMTQzIDAgMTcxLjIgMCAyMDRsMCAzMi45YzAgMjEuNyA4IDQyLjcgMjIuNiA1OC45TDczLjIgMzUyeiJdfSxPZ3Q9dG5lLEJndD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaGVzcy1xdWVlbiIsaWNvbjpbNTEyLDUxMixbOTgxOV0sImY0NDUiLCJNMzI1LjMgOTAuOGM5LjEtNC44IDIwLjYtMy4zIDI4LjIgNC4zbDM5LjggMzkuOCAzLjcgMy4zYzkuMSA3LjEgMjAuOSAxMCAzMi40IDcuN2w0Ni40LTkuMyAzLjUtLjRjOC0uNCAxNS44IDMuMiAyMC42IDkuOCA1LjUgNy42IDYuMSAxNy42IDEuNiAyNS44bC0xMTIuNiAyMDIuNiA1MS41IDcwLjkgMS44IDIuN2M0IDYuNiA2LjIgMTQuMiA2LjIgMjIgMCAyMy4zLTE4LjkgNDIuMS00Mi4xIDQyLjFsLTI5OS44IDBjLTIxLjggMC0zOS44LTE2LjYtNDEuOS0zNy44bC0uMi00LjMgLjEtMy4zYy42LTcuNyAzLjQtMTUuMSA3LjktMjEuNGw1MS41LTcwLjktMTEyLjUtMjAyLjZjLTQuNS04LjItMy45LTE4LjMgMS42LTI1LjhzMTQuOS0xMS4yIDI0LjEtOS40bDQ2LjQgOS4zYzEzLjEgMi42IDI2LjctMS41IDM2LjEtMTAuOUwxNTkuNSA5NSAxNjMgOTIuMmM4LjYtNS44IDIwLjEtNS42IDI4LjUgMS4xbDQwIDMyIDIuOCAyLjFjMTQuNCA5LjYgMzMuNSA4LjkgNDcuMi0yLjFsNDAtMzIgMy44LTIuNXpNMTY0LjcgNDAwbC00Ni42IDY0IDI3Ni43IDAtNDYuNi02NC0xODMuNiAwek0zMTEuNSAxNjIuOGMtMzAuMSAyNC4xLTcyLjEgMjUuNi0xMDMuOCA0LjVsLTYuMi00LjUtMjMuMy0xOC42LTI0LjYgMjQuNmMtMTkuOCAxOS44LTQ3LjcgMjguOS03NS4xIDI0LjhsODguMSAxNTguNSAxNzkuOCAwIDg4LTE1OC41Yy0yNS43IDMuOC01MS43LTMuOS03MS4xLTIxbC00LTMuNy0yNC42LTI0LjYtMjMuMiAxOC42ek0yNTYuNSA3MmE0MCA0MCAwIDEgMSAwLTgwIDQwIDQwIDAgMSAxIDAgODB6Il19LGFuZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4tdGVhcnMiLGljb246WzY0MCw1MTIsWzEyODUxNCwiZ3Jpbi10ZWFycyJdLCJmNTg4IiwiTTUwNC4xIDM1M0M1MTIuOSAzNjcuMiA1MjUuMyAzNzkgNTM5LjggMzg3LjIgNDk1LjEgNDYyIDQxMy40IDUxMiAzMjAgNTEyUzE0NC45IDQ2MiAxMDAuMiAzODcuMmMxNC42LTguMiAyNi45LTIwIDM1LjgtMzQuMyAzNC45IDY2IDEwNC4yIDExMSAxODQuMSAxMTFzMTQ5LjItNDUgMTg0LjEtMTExem0xNi40LTE1Mi41QzQ5Ni4yIDExMi42IDQxNS43IDQ4IDMyMCA0OFMxNDMuOCAxMTIuNiAxMTkuNSAyMDAuNWMtMTAuNi00LjgtMjIuNy02LjgtMzUuNC01bC0xMy40IDEuOUM5Ny4yIDg0LjMgMTk4LjggMCAzMjAgMFM1NDIuOCA4NC4zIDU2OS4zIDE5Ny40bC0xMy40LTEuOWMtMTIuNy0xLjgtMjQuOCAuMi0zNS40IDV6TTQ1NS44IDMyMGMtMTkuOCA1NS45LTczLjEgOTYtMTM1LjggOTYtNjIuNyAwLTExNi00MC0xMzUuOC05NS45LTQuMS0xMS42IDcuOC0yMS40IDE5LjYtMTcuOCAzNC43IDEwLjYgNzQuMiAxNi41IDExNi4xIDE2LjUgNDIgMCA4MS41LTYgMTE2LjMtMTYuNiAxMS44LTMuNiAyMy43IDYuMSAxOS42IDE3Ljh6TTIxMiAyMDhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHptMTg4LTI4Yy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4ek02NDAgMzAwLjZjMCAyOC40LTIzIDUxLjQtNTEuNCA1MS40LTI1LjYgMC00Ny4zLTE4LjgtNTAuOS00NC4xTDUzMSAyNjEuMWMtMS41LTEwLjYgNy41LTE5LjYgMTguMS0xOC4xbDQ2LjcgNi43YzI1LjMgMy42IDQ0LjEgMjUuMyA0NC4xIDUwLjl6bS02NDAgMGMwLTI1LjYgMTguOC00Ny4zIDQ0LjEtNTAuOUw5MC45IDI0M2MxMC42LTEuNSAxOS42IDcuNSAxOC4xIDE4LjFsLTYuNyA0Ni43Qzk4LjcgMzMzLjIgNzcgMzUyIDUxLjQgMzUyIDIzIDM1MiAwIDMyOSAwIDMwMC42eiJdfSxIZ3Q9YW5lLHJuZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJwZW4tdG8tc3F1YXJlIixpY29uOls1MTIsNTEyLFsiZWRpdCJdLCJmMDQ0IiwiTTQ0MSA1OC45TDQ1My4xIDcxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45TDQyNCAxMzQuMSAzNzcuOSA4OCA0MDcgNTguOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHpNMjA5LjggMjU2LjJMMzQ0IDEyMS45IDM5MC4xIDE2OCAyNTUuOCAzMDIuMmMtMi45IDIuOS02LjUgNS0xMC40IDYuMWwtNTguNSAxNi43IDE2LjctNTguNWMxLjEtMy45IDMuMi03LjUgNi4xLTEwLjR6TTM3My4xIDI1TDE3NS44IDIyMi4yYy04LjcgOC43LTE1IDE5LjQtMTguMyAzMS4xbC0yOC42IDEwMGMtMi40IDguNC0uMSAxNy40IDYuMSAyMy42czE1LjIgOC41IDIzLjYgNi4xbDEwMC0yOC42YzExLjgtMy40IDIyLjUtOS43IDMxLjEtMTguM0w0ODcgMTM4LjljMjguMS0yOC4xIDI4LjEtNzMuNyAwLTEwMS44TDQ3NC45IDI1QzQ0Ni44LTMuMSA0MDEuMi0zLjEgMzczLjEgMjV6TTg4IDY0QzM5LjQgNjQgMCAxMDMuNCAwIDE1MkwwIDQyNGMwIDQ4LjYgMzkuNCA4OCA4OCA4OGwyNzIgMGM0OC42IDAgODgtMzkuNCA4OC04OGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDIyLjEtMTcuOSA0MC00MCA0MEw4OCA0NjRjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtMjcyYzAtMjIuMSAxNy45LTQwIDQwLTQwbDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDg4IDY0eiJdfSxxZ3Q9cm5lLGluZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4tYmVhbS1zd2VhdCIsaWNvbjpbNTc2LDUxMixbMTI4NTE3LCJncmluLWJlYW0tc3dlYXQiXSwiZjU4MyIsIk01MzAuMiAxNS45Yy04LjgtMTAuNy0xOC41LTIwLjktMjktMzAtMy0yLjYtNy40LTIuNi0xMC40IDAtMTAuNSA5LjEtMjAuMSAxOS4zLTI5IDMwLTE0LjcgMTcuOC0yOS44IDQwLjEtMjkuOCA2NC4xIDAgMzYuNCAyNy42IDY0IDY0IDY0czY0LTI3LjYgNjQtNjRjMC0yNC0xNS4yLTQ2LjMtMjkuOC02NC4xem0tMTMyIDguOUMzNjQuOCA4LjkgMzI3LjQgMCAyODggMCAxNDYuNiAwIDMyIDExNC42IDMyIDI1NlMxNDYuNiA1MTIgMjg4IDUxMiA1NDQgMzk3LjQgNTQ0IDI1NmMwLTI0LjQtMy40LTQ4LTkuOC03MC40LTExLjkgNC4yLTI0LjcgNi40LTM4LjIgNi40LTMuNCAwLTYuOC0uMS0xMC4yLS40IDYuNiAyMC4zIDEwLjIgNDEuOSAxMC4yIDY0LjQgMCAxMTQuOS05My4xIDIwOC0yMDggMjA4UzgwIDM3MC45IDgwIDI1NiAxNzMuMSA0OCAyODggNDhjMzQuOCAwIDY3LjUgOC41IDk2LjMgMjMuNiAxLjQtMTcuNCA2LjktMzMuMSAxMy44LTQ2Ljh6TTQyMy44IDMyMGM0LjEtMTEuNi03LjgtMjEuNC0xOS42LTE3LjgtMzQuOCAxMC42LTc0LjMgMTYuNi0xMTYuMyAxNi42LTQxLjkgMC04MS40LTYtMTE2LjEtMTYuNS0xMS44LTMuNi0yMy43IDYuMS0xOS42IDE3LjggMTkuOCA1NS45IDczLjEgOTUuOSAxMzUuOCA5NS45IDYyLjcgMCAxMTYtNDAuMSAxMzUuOC05NnpNMTgwIDIwOGMwLTE1LjUgMTIuNS0yOCAyOC0yOHMyOCAxMi41IDI4IDI4bDAgOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLThjMC0zNy42LTMwLjQtNjgtNjgtNjhzLTY4IDMwLjQtNjggNjhsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOHptMTg4LTI4YzE1LjUgMCAyOCAxMi41IDI4IDI4bDAgOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLThjMC0zNy42LTMwLjQtNjgtNjgtNjhzLTY4IDMwLjQtNjggNjhsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOGMwLTE1LjUgMTIuNS0yOCAyOC0yOHoiXX0sVmd0PWluZSxzbmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2xvY2siLGljb246WzUxMiw1MTIsWzEyODMzOSwiY2xvY2stZm91ciJdLCJmMDE3IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMSAtNDE2IDAgMjA4IDIwOCAwIDEgMSA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMCAyNTYgMjU2IDAgMSAwIC01MTIgMHpNMjMyIDEyMGwwIDEzNmMwIDggNCAxNS41IDEwLjcgMjBsOTYgNjRjMTEgNy40IDI1LjkgNC40IDMzLjMtNi43czQuNC0yNS45LTYuNy0zMy4zTDI4MCAyNDMuMiAyODAgMTIwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0eiJdfSxqZ3Q9c25lLG9uZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWxhdWdoLXdpbmsiLGljb246WzUxMiw1MTIsWyJsYXVnaC13aW5rIl0sImY1OWMiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0xMTguMyA1OC4yYy00LjItMTMuNyA3LjEtMjYuMiAyMS40LTI2LjJsMjMyLjYgMGMxNC4zIDAgMjUuNiAxMi41IDIxLjQgMjYuMi0xOCA1OC45LTcyLjkgMTAxLjgtMTM3LjcgMTAxLjhTMTM2LjMgMzczLjEgMTE4LjMgMzE0LjJ6TTE0NCAxOTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTY0IDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwYzAtMzMuMSAyNi45LTYwIDYwLTYwbDE2IDBjMzMuMSAwIDYwIDI2LjkgNjAgNjAgMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwLTktMjAtMjAtMjBsLTE2IDBjLTExIDAtMjAgOS0yMCAyMHoiXX0sVWd0PW9uZSxXZ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToicGFwZXItcGxhbmUiLGljb246WzU3Niw1MTIsWzYxOTEzXSwiZjFkOCIsIk0yOTAuNSAyODcuN0w0OTEuNCA4Ni45IDM1OSA0NTYuMyAyOTAuNSAyODcuN3pNNDU3LjQgNTNMMjU2LjYgMjUzLjggODggMTg1LjMgNDU3LjQgNTN6TTM4LjEgMjE2LjhsMjA1LjggODMuNiA4My42IDIwNS44YzUuMyAxMy4xIDE4LjEgMjEuNyAzMi4zIDIxLjcgMTQuNyAwIDI3LjgtOS4yIDMyLjgtMjMuMUw1NzAuNiA4YzMuNS05LjggMS0yMC42LTYuMy0yOHMtMTguMi05LjgtMjgtNi4zTDM5LjQgMTUxLjdjLTEzLjkgNS0yMy4xIDE4LjEtMjMuMSAzMi44IDAgMTQuMiA4LjYgMjcgMjEuNyAzMi4zeiJdfSxHZ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGVhcnQiLGljb246WzUxMiw1MTIsWzEyODE1MywxMjgxNTQsMTI4MTU1LDEyODE1NiwxMjg0MjAsMTI5MjkzLDEyOTI5NCwxMjk1MDUsOTgyOSwxMDA4NCw2MTU3OF0sImYwMDQiLCJNMzc4LjkgODBjLTI3LjMgMC01MyAxMy4xLTY5IDM1LjJsLTM0LjQgNDcuNmMtNC41IDYuMi0xMS43IDkuOS0xOS40IDkuOXMtMTQuOS0zLjctMTkuNC05LjlsLTM0LjQtNDcuNmMtMTYtMjIuMS00MS43LTM1LjItNjktMzUuMi00NyAwLTg1LjEgMzguMS04NS4xIDg1LjEgMCA0OS45IDMyIDk4LjQgNjguMSAxNDIuMyA0MS4xIDUwIDkxLjQgOTQgMTI1LjkgMTIwLjMgMy4yIDIuNCA3LjkgNC4yIDE0IDQuMnMxMC44LTEuOCAxNC00LjJjMzQuNS0yNi4zIDg0LjgtNzAuNCAxMjUuOS0xMjAuMyAzNi4yLTQzLjkgNjguMS05Mi40IDY4LjEtMTQyLjMgMC00Ny0zOC4xLTg1LjEtODUuMS04NS4xek0yNzEgODcuMWMyNS0zNC42IDY1LjItNTUuMSAxMDcuOS01NS4xIDczLjUgMCAxMzMuMSA1OS42IDEzMy4xIDEzMy4xIDAgNjguNi00Mi45IDEyOC45LTc5LjEgMTcyLjgtNDQuMSA1My42LTk3LjMgMTAwLjEtMTMzLjggMTI3LjktMTIuMyA5LjQtMjcuNSAxNC4xLTQzLjEgMTQuMXMtMzAuOC00LjctNDMuMS0xNC4xQzE3Ni40IDQzOCAxMjMuMiAzOTEuNSA3OS4xIDMzOCA0Mi45IDI5NC4xIDAgMjMzLjcgMCAxNjUuMSAwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMWwxNSAyMC43IDE1LTIwLjd6Il19LFJHPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZvbnQtYXdlc29tZSIsaWNvbjpbNTEyLDUxMixbNjI1MDEsNjI2OTQsImZvbnQtYXdlc29tZS1mbGFnIiwiZm9udC1hd2Vzb21lLWxvZ28tZnVsbCJdLCJmMmI0IiwiTTkxLjcgOTZDMTA2LjMgODYuOCAxMTYgNzAuNSAxMTYgNTIgMTE2IDIzLjMgOTIuNyAwIDY0IDBTMTIgMjMuMyAxMiA1MmMwIDE2LjcgNy44IDMxLjUgMjAgNDFsMCA0MTkgNDggMCAwLTY0IDM4OS42IDBjMTQuNiAwIDI2LjQtMTEuOCAyNi40LTI2LjQgMC0zLjctLjgtNy4zLTIuMy0xMC43TDQzMiAyNzIgNDkzLjcgMTMzLjFjMS41LTMuNCAyLjMtNyAyLjMtMTAuNyAwLTE0LjYtMTEuOC0yNi40LTI2LjQtMjYuNEw5MS43IDk2ek04MCA0MDBsMC0yNTYgMzU2LjQgMC00OC4yIDEwOC41Yy01LjUgMTIuNC01LjUgMjYuNiAwIDM5TDQzNi40IDQwMCA4MCA0MDB6Il19LFlndD1SRyxaZ3Q9UkcsWGd0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNsb25lIixpY29uOls1MTIsNTEyLFtdLCJmMjRkIiwiTTI4OCA0NjRMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZsMC0yMjRjMC04LjggNy4yLTE2IDE2LTE2bDQ4IDAgMC00OC00OCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTQ4LTQ4IDAgMCA0OGMwIDguOC03LjIgMTYtMTYgMTZ6TTIyNCAzMDRjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTIyNGMwLTguOCA3LjItMTYgMTYtMTZsMjI0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjI0YzAgOC44LTcuMiAxNi0xNiAxNmwtMjI0IDB6bS02NC0xNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIyNGMwLTM1LjMtMjguNy02NC02NC02NEwyMjQgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyMjR6Il19LEtndD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmb2xkZXItb3BlbiIsaWNvbjpbNTc2LDUxMixbMTI4MTk0LDEyODQ0OSw2MTcxN10sImYwN2MiLCJNOTcuNSA0MDBsNTAtMTYwIDM3OS40IDAtNTAgMTYwLTM3OS40IDB6bTE5MC43IDQ4TDQ3NyA0NDhjMjEgMCAzOS42LTEzLjYgNDUuOC0zMy43bDUwLTE2MGM5LjctMzAuOS0xMy40LTYyLjMtNDUuOC02Mi4zbC0zNzkuNCAwYy0yMSAwLTM5LjYgMTMuNi00NS44IDMzLjdMODAuMiAyOTQuNCA4MC4yIDk2YzAtOC44IDcuMi0xNiAxNi0xNmwxMzguNyAwYzMuNSAwIDYuOCAxLjEgOS42IDMuMkwyODIuOSAxMTJjMTMuOCAxMC40IDMwLjcgMTYgNDggMTZsMTE3LjMgMGM4LjggMCAxNiA3LjIgMTYgMTZsNDggMGMwLTM1LjMtMjguNy02NC02NC02NEwzMzAuOSA4MGMtNi45IDAtMTMuNy0yLjItMTkuMi02LjRMMjczLjMgNDQuOEMyNjIuMiAzNi41IDI0OC44IDMyIDIzNC45IDMyTDk2LjIgMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMjg4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5MiAweiJdfSxRZ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToid2luZG93LW1pbmltaXplIixpY29uOls1MTIsNTEyLFsxMjg0NjldLCJmMmQxIiwiTTAgNDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ2NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDQ0OGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6Il19LEpndD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzdGFyLWhhbGYiLGljb246WzU3Niw1MTIsWzYxNzMxXSwiZjA4OSIsIk0yODUuNy0xNS44YzEwLjggMi42IDE4LjQgMTIuMiAxOC40IDIzLjNsMCAzODcuMWMwIDktNS4xIDE3LjMtMTMuMSAyMS40TDE0My44IDQ5MWMtOCA0LjEtMTcuNyAzLjMtMjUtMnMtMTEtMTQuMi05LjYtMjMuMkwxMzQuNCAzMDUuOSAyMCAxOTEuNGMtNi40LTYuNC04LjYtMTUuOC01LjgtMjQuNHMxMC4xLTE0LjkgMTkuMS0xNi4zTDE5My4xIDEyNS4zIDI1OC44LTMuM2M1LTkuOSAxNi4yLTE1IDI3LTEyLjR6TTI1Ni4xIDEwNy40TDIzMC4zIDE1OGMtMy41IDYuOC0xMCAxMS42LTE3LjYgMTIuOGwtMTI1LjUgMjAgODkuOCA4OS45YzUuNCA1LjQgNy45IDEzLjEgNi43IDIwLjdsLTE5LjggMTI1LjUgOTIuMi00Ni45IDAtMjcyLjZ6Il19LGVidD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJhbGFybS1jbG9jayIsaWNvbjpbNTEyLDUxMixbOTIwMF0sImYzNGUiLCJNNDAyLjYgNTAuMmMtNS40IDEuNy0xMS4zIDEuOC0xNi4yLS45LTUuOC0zLjItMTEuOC02LjItMTcuOC04LjktMTAuNC00LjctMTMuNy0xOC4zLTQuMS0yNC42IDE1LTkuOSAzMy0xNS43IDUyLjMtMTUuNyA1Mi42IDAgOTUuMiA0Mi42IDk1LjIgOTUuMiAwIDEzLjItMi43IDI1LjgtNy42IDM3LjMtNC41IDEwLjUtMTguNCA5LjgtMjQuOSAuNC0zLjgtNS41LTcuOC0xMC44LTEyLTE2LTMuNS00LjQtNC41LTEwLjItMy44LTE1LjggLjItMS45IC40LTMuOSAuNC01LjkgMC0yNi4xLTIxLjItNDcuMi00Ny4yLTQ3LjItNC45IDAtOS43IC44LTE0LjIgMi4yek0zMi41IDEzMi45Yy02LjUgOS40LTIwLjUgMTAuMS0yNC45LS40LTQuOS0xMS41LTcuNi0yNC4xLTcuNi0zNy4zIDAtNTIuNiA0Mi42LTk1LjIgOTUuMi05NS4yIDE5LjMgMCAzNy4zIDUuOCA1Mi4zIDE1LjcgOS42IDYuMyA2LjMgMTkuOS00LjEgMjQuNi02LjEgMi44LTEyIDUuNy0xNy44IDguOS00LjkgMi43LTEwLjkgMi42LTE2LjIgLjktNC41LTEuNC05LjItMi4yLTE0LjItMi4yLTI2LjEgMC00Ny4yIDIxLjItNDcuMiA0Ny4yIDAgMiAuMSA0IC40IDUuOSAuNyA1LjYtLjMgMTEuNC0zLjggMTUuOC00LjIgNS4yLTguMiAxMC41LTEyIDE2ek00MzIgMjg4YTE3NiAxNzYgMCAxIDAgLTM1MiAwIDE3NiAxNzYgMCAxIDAgMzUyIDB6TTM5Ni41IDQ2Mi41QzM1OC4xIDQ5My40IDMwOS4yIDUxMiAyNTYgNTEycy0xMDIuMS0xOC42LTE0MC41LTQ5LjVMNzMgNTA1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQyLjUtNDIuNUM1MC42IDM5MC4xIDMyIDM0MS4yIDMyIDI4OCAzMiAxNjQuMyAxMzIuMyA2NCAyNTYgNjRTNDgwIDE2NC4zIDQ4MCAyODhjMCA1My4yLTE4LjYgMTAyLjEtNDkuNSAxNDAuNUw0NzMgNDcxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQyLjUtNDIuNXpNMjgwIDE4NGwwIDk0LjEgNDEgNDFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDgtNDhjLTQuNS00LjUtNy0xMC42LTctMTdsMC0xMDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHoiXX0sdGJ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6Im5ld3NwYXBlciIsaWNvbjpbNTEyLDUxMixbMTI4MjQwXSwiZjFlYSIsIk0xNjggODBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMzA0YzAgOC40LTEuNCAxNi41LTQuMSAyNEw0NDAgNDMyYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMzA0YzAtMTMuMy0xMC43LTI0LTI0LTI0TDE2OCA4MHpNNzIgNDgwYy0zOS44IDAtNzItMzIuMi03Mi03MkwwIDExMkMwIDk4LjcgMTAuNyA4OCAyNCA4OHMyNCAxMC43IDI0IDI0bDAgMjk2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMDRjMC0zOS44IDMyLjItNzIgNzItNzJsMjcyIDBjMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCAzMDRjMCAzOS44LTMyLjIgNzItNzIgNzJMNzIgNDgwek0xOTIgMTUyYzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OHptMTUyIDI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6TTIxNiAyNTZsMTc2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE3NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0wIDgwbDE3NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNzYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sRkc9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaG9zcGl0YWwiLGljb246WzU3Niw1MTIsWzEyNzk3Myw2MjU4OSwiaG9zcGl0YWwtYWx0IiwiaG9zcGl0YWwtd2lkZSJdLCJmMGY4IiwiTTE3NiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDQ4LTQ4IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjcyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC00OCAwIDAtNDhjMC0zNS4zLTI4LjctNjQtNjQtNjRMMTc2IDB6TTE2MCA2NGMwLTguOCA3LjItMTYgMTYtMTZsMjI0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyNzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNzYgMCAwLTgwYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDgwLTE3NiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yNzJjMC04LjggNy4yLTE2IDE2LTE2bDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC03MnpNMTEyIDIyNGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek05NiAzMzZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMzIwIDBsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYtMTEyYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTI2NCAxMDRsMCAzMi0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMCAwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyIDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwIDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZ6Il19LGFidD1GRyxyYnQ9Rkcsbm5lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1zdG9wIixpY29uOls1MTIsNTEyLFs2MjA5NCwic3RvcC1jaXJjbGUiXSwiZjI4ZCIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2MCAxOTJsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJsLTEyOCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnptNDggMTEybDAtOTYgOTYgMCAwIDk2LTk2IDB6Il19LGlidD1ubmUsc2J0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6Im9iamVjdC11bmdyb3VwIixpY29uOls2NDAsNTEyLFtdLCJmMjQ4IiwiTTQ4LjIgNjYuOGMtLjEtLjgtLjItMS43LS4yLTIuNWwwLS4yYzAtOC44IDcuMi0xNiAxNi0xNiAuOSAwIDEuOSAuMSAyLjggLjIgNy41IDEuMyAxMy4yIDcuOSAxMy4yIDE1LjggMCA4LjgtNy4yIDE2LTE2IDE2LTcuOSAwLTE0LjUtNS43LTE1LjgtMTMuMnpNMCA2NGMwIDI2LjkgMTYuNSA0OS45IDQwIDU5LjNsMCAxMDUuM2MtMjMuNSA5LjUtNDAgMzIuNS00MCA1OS4zIDAgMzUuMyAyOC43IDY0IDY0IDY0IDI2LjkgMCA0OS45LTE2LjUgNTkuMy00MGwyMDEuMyAwYzkuNSAyMy41IDMyLjUgNDAgNTkuMyA0MCAzNS4zIDAgNjQtMjguNyA2NC02NCAwLTI2LjktMTYuNS00OS45LTQwLTU5LjNsMC0xMDUuM2MyMy41LTkuNSA0MC0zMi41IDQwLTU5LjMgMC0zNS4zLTI4LjctNjQtNjQtNjQtMjYuOSAwLTQ5LjkgMTYuNS01OS4zIDQwTDEyMy4zIDQwQzExMy45IDE2LjUgOTAuOSAwIDY0IDAgMjguNyAwIDAgMjguNyAwIDY0em0zNjggMGExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwek0zMjQuNyA4OGM2LjUgMTYgMTkuMyAyOC45IDM1LjMgMzUuM2wwIDEwNS4zYy0xNiA2LjUtMjguOSAxOS4zLTM1LjMgMzUuM2wtMjAxLjMgMGMtNi41LTE2LTE5LjMtMjguOS0zNS4zLTM1LjNsMC0xMDUuM2MxNi02LjUgMjguOS0xOS4zIDM1LjMtMzUuM2wyMDEuMyAwek0zODQgMjcyYTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnpNODAgMjg4YzAgNy45LTUuNyAxNC41LTEzLjIgMTUuOC0uOCAuMS0xLjcgLjItMi41IC4ybC0uMiAwYy04LjggMC0xNi03LjItMTYtMTYgMC0uOSAuMS0xLjkgLjItMi44IDEuMy03LjUgNy45LTEzLjIgMTUuOC0xMy4yIDguOCAwIDE2IDcuMiAxNiAxNnptNDM2LjctNDBjNi41IDE2IDE5LjMgMjguOSAzNS4zIDM1LjNsMCAxMDUuM2MtMTYgNi41LTI4LjkgMTkuMy0zNS4zIDM1LjNsLTIwMS4zIDBjLTYuNS0xNi0xOS4zLTI4LjktMzUuMy0zNS4zbDAtMjAuNy00OCAwIDAgMjAuN2MtMjMuNSA5LjUtNDAgMzIuNS00MCA1OS4zIDAgMzUuMyAyOC43IDY0IDY0IDY0IDI2LjkgMCA0OS45LTE2LjUgNTkuMy00MGwyMDEuMyAwYzkuNSAyMy41IDMyLjUgNDAgNTkuMyA0MCAzNS4zIDAgNjQtMjguNyA2NC02NCAwLTI2LjktMTYuNS00OS45LTQwLTU5LjNsMC0xMDUuM2MyMy41LTkuNSA0MC0zMi41IDQwLTU5LjMgMC0zNS4zLTI4LjctNjQtNjQtNjQtMjYuOSAwLTQ5LjkgMTYuNS01OS4zIDQwbC01Mi43IDAgMCA5LjZjMTAuNyAxMC45IDE5LjEgMjMuOSAyNC42IDM4LjRsMjggMHptNTkuMy04YTE2IDE2IDAgMSAxIDAtMzIgMTYgMTYgMCAxIDEgMCAzMnpNMjcxLjggNDUwLjdhMTYgMTYgMCAxIDEgLTMxLjUtNS41IDE2IDE2IDAgMSAxIDMxLjUgNS41em0zMDEuNSAxM2MtNy41LTEuMy0xMy4yLTcuOS0xMy4yLTE1LjggMC04LjggNy4yLTE2IDE2LTE2IDcuOSAwIDE0LjUgNS43IDE1LjggMTMuMmwwIC4xYy4xIC45IC4yIDEuOCAuMiAyLjcgMCA4LjgtNy4yIDE2LTE2IDE2LS45IDAtMS45LS4xLTIuOC0uMnoiXX0sb2J0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNvbW1lbnQiLGljb246WzUxMiw1MTIsWzEyODQ4OSw2MTY2OV0sImYwNzUiLCJNNTEuOSAzODQuOUMxOS4zIDM0NC42IDAgMjk0LjQgMCAyNDAgMCAxMDcuNSAxMTQuNiAwIDI1NiAwUzUxMiAxMDcuNSA1MTIgMjQwIDM5Ny40IDQ4MCAyNTYgNDgwYy0zNi41IDAtNzEuMi03LjItMTAyLjYtMjBMMzcgNTA5LjljLTMuNyAxLjYtNy41IDIuMS0xMS41IDIuMS0xNC4xIDAtMjUuNS0xMS40LTI1LjUtMjUuNSAwLTQuMyAxLjEtOC41IDMuMS0xMi4ybDQ4LjgtODkuNHptMzcuMy0zMC4yYzEyLjIgMTUuMSAxNC4xIDM2LjEgNC44IDUzLjJsLTE4IDMzLjEgNTguNS0yNS4xYzExLjgtNS4xIDI1LjItNS4yIDM3LjEtLjMgMjUuNyAxMC41IDU0LjIgMTYuNCA4NC4zIDE2LjQgMTE3LjggMCAyMDgtODguOCAyMDgtMTkyUzM3My44IDQ4IDI1NiA0OCA0OCAxMzYuOCA0OCAyNDBjMCA0Mi44IDE1LjEgODIuNCA0MS4yIDExNC43eiJdfSxuYnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2hlc3MtcGF3biIsaWNvbjpbMzg0LDUxMixbOTgyM10sImY0NDMiLCJNMTkyLTMyYzY2LjMgMCAxMjAgNTMuNyAxMjAgMTIwIDAgMjcuNi05LjMgNTIuOS0yNC45IDczLjIgOS44IDMgMTYuOSAxMi4xIDE2LjkgMjIuOCAwIDEzLjMtMTAuNyAyNC0yNCAyNGwtLjYgMCAyNC42IDE2MCA1My42IDY3YzYuNyA4LjQgMTAuNCAxOC44IDEwLjQgMjkuNiAwIDI2LjItMjEuMiA0Ny40LTQ3LjQgNDcuNEw2My40IDUxMmMtMjYuMiAwLTQ3LjQtMjEuMi00Ny40LTQ3LjQgMC0xMC44IDMuNy0yMS4yIDEwLjQtMjkuNmw1My42LTY3IDI0LjYtMTYwLS42IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0IDAtMTAuOCA3LjEtMTkuOCAxNi45LTIyLjgtMTUuNi0yMC4zLTI0LjktNDUuNi0yNC45LTczLjIgMC02Ni4zIDUzLjctMTIwIDEyMC0xMjB6TTExNS45IDQwMGwtNTEuMiA2NCAyNTQuNyAwLTUxLjItNjQtMTUyLjIgMHptMzYuMi0xODQuN2wtMjEgMTM2LjcgMTIxLjkgMC0yMS0xMzYuNy0xLjEtNy4zLTc3LjYgMC0xLjEgNy4zek0xOTIgMTZhNzIgNzIgMCAxIDAgMCAxNDQgNzIgNzIgMCAxIDAgMC0xNDR6Il19LGxidD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjYWxlbmRhci1wbHVzIixpY29uOls0NDgsNTEyLFtdLCJmMjcxIiwiTTEyMCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDAgMTYwIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHptMCAxMTJsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjg4YzAtOC44LTcuMi0xNi0xNi0xNmwtMjY0IDB6bTEwNCA2NGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4IDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDAgMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQ4LTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDggMCAwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0eiJdfSxjYnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2xpcGJvYXJkIixpY29uOlszODQsNTEyLFsxMjgyMDNdLCJmMzI4IiwiTTIzMiA5NmwtODAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0em0wIDQ4YzM3LjEgMCA2Ny42LTI4IDcxLjYtNjRMMzIwIDgwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDM1MmMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMNDggOTZjMC04LjggNy4yLTE2IDE2LTE2bDE2LjQgMGM0IDM2IDM0LjUgNjQgNzEuNiA2NGw4MCAwek0yOTEuOSAzMkMyNzkgMTIuNyAyNTcgMCAyMzIgMEwxNTIgMGMtMjUgMC00NyAxMi43LTU5LjkgMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM1MmMwLTM1LjMtMjguNy02NC02NC02NGwtMjguMSAweiJdfSxkYnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToidGh1bWJzLWRvd24iLGljb246WzUxMiw1MTIsWzEyODA3OCw2MTU3Nl0sImYxNjUiLCJNMzYwIDMybDcuNCAuNGMzNSAzLjYgNjIuNSAzMi4yIDY0LjQgNjcuNyAxNy44IDExLjggMzAuMSAzMS40IDMyIDUzLjlsLjIgNmMwIDUuNy0uNyAxMS4yLTIgMTYuNSAxMC4yIDExLjUgMTYuOCAyNi4zIDE3LjggNDIuN2wuMiA0LjhjMCAxMy4yLTMuNiAyNS40LTkuOCAzNiA0LjkgOC40IDguMiAxNy45IDkuMyAyOGwuNCA4YzAgMzcuMy0yOC4zIDY3LjktNjQuNiA3MS42bC03LjQgLjQtMTA5LjcgMCAxNC4xIDMwIDMuMSA3LjZjMTIuNSAzNS43LTEuOCA3NS41LTM0LjIgOTVsLTcuMiAzLjljLTM3LjUgMTcuNi04MS43IDMuNi0xMDIuNi0zMS4ybC0uNi0uOS0yLjctNS0uNi0xLjItMzAuMS02NGMtOS40IDE3LjgtMjggMjkuOS00OS41IDI5LjlsLTMyIDBjLTMwLjkgMC01Ni0yNS4xLTU2LTU2TDAgMTUyYzAtMzAuOSAyNS4xLTU2IDU2LTU2bDMyIDBjMTIuNCAwIDIzLjkgNC4xIDMzLjIgMTEgMTMuMi0yMS40IDMyLTM5LjQgNTUtNTEuNmwxMi4yLTYuNSAuNy0uMyA2LjYtMy4yIC43LS4zIDcuMS0zYzE2LjctNi42IDM0LjUtOS45IDUyLjYtOS45TDM2MCAzMnpNMjU1LjkgODBjLTEyIDAtMjMuOSAyLjMtMzUuMSA2LjZsLTQuNyAyLTUuMyAyLjYgMCAwLTEyLjIgNi41Yy0yOS4yIDE1LjUtNDguMyA0NC45LTUwLjcgNzcuNmwtLjIgOCAwIDExMi45IC4xIDQuMWMuNSA4LjIgMi41IDE2LjIgNiAyMy43bDU2LjggMTIwLjkgMi4xIDMuOGM4LjQgMTMuNyAyNiAxOS4xIDQwLjggMTIuMmwyLjktMS42YzEzLTcuOCAxOC43LTIzLjcgMTMuNy0zOGwtMS4yLTMtMzAuMi02NC4yYy0zLjUtNy40LTIuOS0xNi4xIDEuNS0yMy4xczEyLTExLjEgMjAuMi0xMS4xbDE0Ny41IDAgMi40LS4xYzExLjMtMS4xIDIwLjMtMTAuMSAyMS40LTIxLjRsLjEtMi41YzAtNy4xLTMuMS0xMy41LTguMi0xOC01LjItNC42LTguMi0xMS4xLTguMi0xOHMzLTEzLjQgOC4yLTE4YzQuNC0zLjkgNy40LTkuMyA4LTE1LjNsLjItMi43YzAtOC40LTQuNC0xNS45LTExLjItMjAuMi0xMC43LTYuOS0xNC4yLTIwLjktOC0zMiAxLjUtMi42IDIuNS01LjYgMi45LTguNmwuMi0zLjJjMC0xMC42LTYuOS0xOS42LTE2LjYtMjIuOC0xMS43LTMuOC0xOC43LTE1LjktMTYtMjggLjItLjkgLjMtMS44IC40LTIuNmwuMi0yLjZjMC0xMi40LTkuNS0yMi42LTIxLjYtMjMuOEwzNjAgODAgMjU1LjkgODB6TTU2IDE0NGMtNC40IDAtOCAzLjYtOCA4bDAgMjI0YzAgNC40IDMuNiA4IDggOGwzMiAwYzQuNCAwIDgtMy42IDgtOGwwLTIyNGMwLTQuNC0zLjYtOC04LThsLTMyIDB6Il19LHBidD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJpZC1iYWRnZSIsaWNvbjpbMzg0LDUxMixbXSwiZjJjMSIsIk0yNTYgNDhsMCAxNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNi02NCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzODRjMCA4LjggNy4yIDE2IDE2IDE2bDI1NiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTM4NGMwLTguOC03LjItMTYtMTYtMTZsLTY0IDB6TTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHpNMTYwIDMyMGw2NCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNkw5NiA0MTZjLTguOCAwLTE2LTcuMi0xNi0xNiAwLTQ0LjIgMzUuOC04MCA4MC04MHptLTI0LTk2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHoiXX0sbG5lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNxdWFyZS1jaGVjayIsaWNvbjpbNDQ4LDUxMixbOTc0NSw5OTg5LDYxNTEwLCJjaGVjay1zcXVhcmUiXSwiZjE0YSIsIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek02NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzIwYzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMjBjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDgwem0yMzAuNyA4OS45YzcuOC0xMC43IDIyLjgtMTMuMSAzMy41LTUuMyAxMC43IDcuOCAxMy4xIDIyLjggNS4zIDMzLjVMMjExLjQgMzY2LjFjLTQuMSA1LjctMTAuNSA5LjMtMTcuNSA5LjgtNyAuNS0xMy45LTItMTguOC02LjlsLTU1LjktNTUuOWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDM2IDM2IDEwNS42LTE0NS4yeiJdfSx1YnQ9bG5lLGZidD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaGVzcy1iaXNob3AiLGljb246WzMyMCw1MTIsWzk4MjFdLCJmNDNhIiwiTTIxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwIDgxLjggOTguMWMyNC43IDI5LjYgMzguMiA2NyAzOC4yIDEwNS42IDAgNDMuNy0xNy40IDg1LjctNDguMyAxMTYuNmwtOC42IDguNiA0Ni41IDU4LjJjNi43IDguNCAxMC40IDE4LjggMTAuNCAyOS42IDAgMjYuMi0yMS4yIDQ3LjQtNDcuNCA0Ny40TDQ3LjQgNTEyQzIxLjIgNTEyIDAgNDkwLjggMCA0NjQuNiAwIDQ1My45IDMuNyA0NDMuNCAxMC40IDQzNWw0Ni41LTU4LjItOC42LTguNkMxNy40IDMzNy40IDAgMjk1LjQgMCAyNTEuNyAwIDIxMy4xIDEzLjUgMTc1LjggMzguMiAxNDYuMUwxMjAgNDggMTA0IDQ4QzkwLjcgNDggODAgMzcuMyA4MCAyNFM5MC43IDAgMTA0IDBMMjE2IDB6TTk0LjQgNDA2LjhsLTQ1LjcgNTcuMiAyMjIuNyAwLTQ1LjctNTcuMS01LjUtNi45LTEyMC4zIDAtNS41IDYuOHpNMTU2LjkgNzguN0w3NS4xIDE3Ni44Yy0xNS4zIDE4LjQtMjQuNiA0MS0yNi43IDY0LjdMNDggMjUxLjdjMCAzMSAxMi4zIDYwLjcgMzQuMiA4Mi43bDE3LjcgMTcuNyAxMjAuMiAwYzYuMi02LjIgMTIuMS0xMi4xIDE3LjgtMTcuNyAyMS45LTIxLjkgMzQuMi01MS42IDM0LjItODIuNmwtLjQtMTAuMmMtMS41LTE3LTYuNy0zMy4zLTE1LjItNDhMMjA5IDI0MWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw1MS44LTUxLjgtNjMuNy03Ni41LTMuMS0zLjgtMy4xIDMuOHoiXX0saGJ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImVudmVsb3BlLW9wZW4iLGljb246WzUxMiw1MTIsWzYyMTM1XSwiZjJiNiIsIk01MTIgNDE2YzAgMzUuMy0yOC41IDY0LTYzLjkgNjRMNjQgNDgwYy0zNS40IDAtNjQtMjguNy02NC02NEwwIDE2NGMuMS0xNS41IDcuOC0zMCAyMC41LTM4LjhMMjA2LTIuN2MzMC4xLTIwLjcgNjkuOC0yMC43IDk5LjkgMEw0OTEuNSAxMjUuMmMxMi44IDguOCAyMC40IDIzLjMgMjAuNSAzOC44bDAgMjUyek02NCA0MzJsMzg0LjEgMGM4LjggMCAxNS45LTcuMSAxNS45LTE2bDAtMTkxLjctMTU0LjggMTE3LjRjLTMxLjQgMjMuOS03NC45IDIzLjktMTA2LjQgMEw0OCAyMjQuMyA0OCA0MTZjMCA4LjkgNy4yIDE2IDE2IDE2ek00NjMuNiAxNjQuNEwyNzguNyAzNi44Yy0xMy43LTkuNC0zMS43LTkuNC00NS40IDBMNDguNCAxNjQuNCAyMzEuOCAzMDMuNWMxNC4zIDEwLjggMzQuMSAxMC44IDQ4LjQgMEw0NjMuNiAxNjQuNHoiXX0sQTg9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLXhtYXJrIixpY29uOls1MTIsNTEyLFs2MTUzMiwidGltZXMtY2lyY2xlIiwieG1hcmstY2lyY2xlIl0sImYwNTciLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDEgMCA0MTYgMjA4IDIwOCAwIDEgMSAwLTQxNnptMCA0NjRhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjcgMTY3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw1NSA1NS01NSA1NWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDU1LTU1IDU1IDU1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTUtNTUgNTUtNTVjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNTUgNTUtNTUtNTVjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAweiJdfSxtYnQ9QTgsZ2J0PUE4LGNuZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzcXVhcmUtY2FyZXQtdXAiLGljb246WzQ0OCw1MTIsWyJjYXJldC1zcXVhcmUtdXAiXSwiZjE1MSIsIk02NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzIwYzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMjBjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDgwek0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnptMjI0IDY0YzYuNyAwIDEzIDIuOCAxNy42IDcuN2wxMDQgMTEyYzYuNSA3IDguMiAxNy4yIDQuNCAyNS45UzMzNy41IDMyMCAzMjggMzIwbC0yMDggMGMtOS41IDAtMTguMi01LjctMjItMTQuNHMtMi4xLTE4LjkgNC40LTI1LjlsMTA0LTExMmM0LjUtNC45IDEwLjktNy43IDE3LjYtNy43eiJdfSxiYnQ9Y25lLHZidD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLWltYWdlIixpY29uOlszODQsNTEyLFsxMjg0NDNdLCJmMWM1IiwiTTE3NiA0OEw2NCA0OGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzg0YzAgOC44IDcuMiAxNiAxNiAxNmwyNTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNDAtODggMGMtMzkuOCAwLTcyLTMyLjItNzItNzJsMC04OHpNMzE2LjEgMTYwTDIyNCA2Ny45IDIyNCAxMzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjguMSAwek0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwxOTcuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDE0MS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6TTI1OS40IDQzMmwtMTM0LjggMGMtMTUuOCAwLTI4LjYtMTIuOC0yOC42LTI4LjYgMC02LjQgMi4xLTEyLjUgNi0xNy42bDY3LjYtODYuOUMxNzUgMjkyIDE4My4zIDI4OCAxOTIgMjg4czE3IDQgMjIuNCAxMC45TDI4MiAzODUuOWMzLjkgNSA2IDExLjIgNiAxNy42IDAgMTUuOC0xMi44IDI4LjYtMjguNiAyOC42ek0xMTIgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sZG5lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNxdWFyZS1jYXJldC1yaWdodCIsaWNvbjpbNDQ4LDUxMixbImNhcmV0LXNxdWFyZS1yaWdodCJdLCJmMTUyIiwiTTQwMCA5NmMwLTguOC03LjItMTYtMTYtMTZMNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIwek0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek0zMjAgMjU2YzAgNi43LTIuOCAxMy03LjcgMTcuNmwtMTEyIDEwNGMtNyA2LjUtMTcuMiA4LjItMjUuOSA0LjRTMTYwIDM2OS41IDE2MCAzNjBsMC0yMDhjMC05LjUgNS43LTE4LjIgMTQuNC0yMnMxOC45LTIuMSAyNS45IDQuNGwxMTIgMTA0YzQuOSA0LjUgNy43IDEwLjkgNy43IDE3LjZ6Il19LHhidD1kbmUsVUc9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3VuIixpY29uOls1NzYsNTEyLFs5NzI4XSwiZjE4NSIsIk0yODgtMzJjOCAwIDE1LjQgNCAxOS45IDEwLjZsNTguOCA4Ny40IDEwMy40LTIwLjJjNy44LTEuNSAxNS45IC45IDIxLjYgNi42czguMSAxMy44IDYuNiAyMS42TDQ3OCAxNzcuMyA1NjUuNCAyMzYuMUM1NzIgMjQwLjUgNTc2IDI0OCA1NzYgMjU2cy00IDE1LjQtMTAuNiAxOS45TDQ3OCAzMzQuNyA0OTguMiA0MzhjMS41IDcuOC0uOSAxNS45LTYuNiAyMS42cy0xMy44IDguMS0yMS42IDYuNkwzNjYuNyA0NDYgMzA3LjkgNTMzLjRDMzAzLjQgNTQwIDI5NiA1NDQgMjg4IDU0NHMtMTUuNC00LTE5LjktMTAuNkwyMDkuMyA0NDYgMTA1LjkgNDY2LjJjLTcuOCAxLjUtMTUuOS0uOS0yMS42LTYuNnMtOC4xLTEzLjgtNi42LTIxLjZMOTggMzM0LjcgMTAuNiAyNzUuOUM0IDI3MS40IDAgMjY0IDAgMjU2czQtMTUuNCAxMC42LTE5LjlMOTggMTc3LjMgNzcuOCA3My45Yy0xLjUtNy44IC45LTE1LjkgNi42LTIxLjZzMTMuOC04LjEgMjEuNi02LjZsMTAzLjMgMjAuMiA1OC44LTg3LjQgMS44LTIuM0MyNzQuNC0yOSAyODEtMzIgMjg4LTMyem0tNDcuOCAxMzhjLTUuNCA4LTE1IDEyLTI0LjUgMTAuMmwtODQtMTYuNCAxNi40IDg0YzEuOCA5LjUtMi4yIDE5LjEtMTAuMiAyNC41TDY3IDI1NiAxMzggMzAzLjhjOCA1LjQgMTIgMTUgMTAuMiAyNC41bC0xNi40IDg0IDg0LTE2LjQgMy41LS40YzguMy0uNCAxNi4zIDMuNiAyMSAxMC42bDQ3LjggNzEgNDcuOC03MSAyLjItMi44YzUuNi02LjEgMTQtOSAyMi4zLTcuM2w4NCAxNi40LTE2LjQtODRjLTEuOC05LjUgMi4yLTE5LjEgMTAuMi0yNC41bDcxLTQ3LjgtNzEtNDcuOGMtOC01LjQtMTItMTUtMTAuMi0yNC41bDE2LjQtODQtODQgMTYuNGMtOS41IDEuOC0xOS4xLTIuMi0yNC41LTEwLjJsLTQ3LjgtNzEtNDcuOCA3MXpNMjg4IDM3NmExMjAgMTIwIDAgMSAxIDAtMjQwIDEyMCAxMjAgMCAxIDEgMCAyNDB6bTAtMTkyYTcyIDcyIDAgMSAwIDAgMTQ0IDcyIDcyIDAgMSAwIDAtMTQ0eiJdfSx5YnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaW1hZ2UiLGljb246WzQ0OCw1MTIsW10sImYwM2UiLCJNNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIwYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MHpNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTEyOCAzMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEzNiA3MmM4LjUgMCAxNi40IDQuNSAyMC43IDExLjhsODAgMTM2YzQuNCA3LjQgNC40IDE2LjYgLjEgMjQuMVMzNTIuNiAzODQgMzQ0IDM4NGwtMjQwIDBjLTguOSAwLTE3LjItNS0yMS4zLTEyLjlzLTMuNS0xNy41IDEuNi0yNC44bDU2LTgwYzQuNS02LjQgMTEuOC0xMC4yIDE5LjctMTAuMnMxNS4yIDMuOCAxOS43IDEwLjJsMTcuMiAyNC42IDQ2LjUtNzljNC4zLTcuMyAxMi4yLTExLjggMjAuNy0xMS44eiJdfSx3YnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibGlnaHRidWxiIixpY29uOlszODQsNTEyLFsxMjgxNjFdLCJmMGViIiwiTTI5Ni41IDI5MS4xQzMyMSAyNjUuMiAzMzYgMjMwLjQgMzM2IDE5MiAzMzYgMTEyLjUgMjcxLjUgNDggMTkyIDQ4UzQ4IDExMi41IDQ4IDE5MmMwIDM4LjQgMTUgNzMuMiAzOS41IDk5LjEgMjEuMyAyMi40IDQ0LjkgNTQgNTMuMyA5Mi45bDEwMi40IDBjOC40LTM5IDMyLTcwLjUgNTMuMy05Mi45em0zNC44IDMzQzMwNy43IDM0OSAyODggMzc5LjQgMjg4IDQxMy43bDAgMTguM2MwIDQ0LjItMzUuOCA4MC04MCA4MGwtMzIgMGMtNDQuMiAwLTgwLTM1LjgtODAtODBsMC0xOC4zQzk2IDM3OS40IDc2LjMgMzQ5IDUyLjcgMzI0LjEgMjAgMjg5LjcgMCAyNDMuMiAwIDE5MiAwIDg2IDg2IDAgMTkyIDBTMzg0IDg2IDM4NCAxOTJjMCA1MS4yLTIwIDk3LjctNTIuNyAxMzIuMXpNMTQ0IDE4NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTQ4LjYgMzkuNC04OCA4OC04OCAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMjIuMSAwLTQwIDE3LjktNDAgNDB6Il19LE9HPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImFkZHJlc3MtY2FyZCIsaWNvbjpbNTc2LDUxMixbNjIxNDAsImNvbnRhY3QtY2FyZCIsInZjYXJkIl0sImYyYmIiLCJNNTEyIDgwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyMGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDMyYy04LjggMC0xNi03LjItMTYtMTZMNDggOTZjMC04LjggNy4yLTE2IDE2LTE2bDQ0OCAwek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMDggMjQ4YTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyem0tMzIgNDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwIDAgOC44IDcuMiAxNiAxNiAxNmwxOTIgMGM4LjggMCAxNi03LjIgMTYtMTYgMC00NC4yLTM1LjgtODAtODAtODBsLTY0IDB6TTM3NiAxNDRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAweiJdfSxNYnQ9T0csa2J0PU9HLHBuZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLW1laCIsaWNvbjpbNTEyLDUxMixbMTI4NTI4LCJtZWgiXSwiZjExYSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDEgLTQxNiAwIDIwOCAyMDggMCAxIDEgNDE2IDB6TTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTIgMjU2IDI1NiAwIDEgMCAwLTUxMnpNMTc2IDI0MGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTE5Mi0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0xODQgMzIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHoiXX0semJ0PXBuZSxTYnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibWFwIixpY29uOls1MTIsNTEyLFsxMjg1MDYsNjIwNzJdLCJmMjc5IiwiTTUxMiA0OGMwLTguMy00LjMtMTYtMTEuMy0yMC40cy0xNS45LTQuOC0yMy4zLTEuMUwzNTIuNSA4OC4xIDE4MCAyOS40Yy0xMy43LTQuNy0yOC43LTMuOC00MS45IDIuM0wxMy44IDkwLjNDNS40IDk0LjIgMCAxMDIuNyAwIDExMkwwIDQ2NGMwIDguMiA0LjIgMTUuOSAxMS4xIDIwLjNzMTUuNiA0LjkgMjMuMSAxLjRsMTI3LjMtNTkuOSAxNzAuNyA1Ni45YzEzLjcgNC42IDI4LjUgMy43IDQxLjYtMi41bDEyNC40LTU4LjVjOC40LTQgMTMuOC0xMi40IDEzLjgtMjEuN2wwLTM1MnpNMTQ0IDgyLjFsMCAyOTktOTYgNDUuMiAwLTI5OSA5Ni00NS4yem00OCAzMDMuM2wwLTMwMS4xIDEyOCA0My41IDAgMzAwLjMtMTI4LTQyLjd6TTM2OCAxMzRsOTYtNDcuNCAwIDI5OC4yLTk2IDQ1LjIgMC0yOTZ6Il19LENidD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLXBvaW50LWRvd24iLGljb246WzM4NCw1MTIsW10sImYwYTciLCJNNjQgNDQ4bDAtMTc3LjZjNS4yIDEgMTAuNSAxLjYgMTYgMS42bDE2IDAgMCAxNzZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZ6TTgwIDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNGMwLTY2LjMgNTMuNy0xMjAgMTIwLTEyMGw0OCAwYzUyLjUgMCA5Ny4xIDMzLjcgMTEzLjQgODAuNy0zLjEtLjUtNi4yLS43LTkuNC0uNy0yMCAwLTM3LjkgOS4yLTQ5LjcgMjMuNi05LTQuOS0xOS40LTcuNi0zMC4zLTcuNi0xNS4xIDAtMjkgNS4zLTQwIDE0LTExLTguOC0yNC45LTE0LTQwLTE0bC00MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTgwIDB6TTAgMTkybDAgMGMwIDE4IDYgMzQuNiAxNiA0OGwwIDIwOGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0bDAtODJjNS4xIDEuMyAxMC41IDIgMTYgMiAyNS4zIDAgNDcuMi0xNC43IDU3LjYtMzYgNyAyLjYgMTQuNSA0IDIyLjQgNCAyMCAwIDM3LjktOS4yIDQ5LjctMjMuNiA5IDQuOSAxOS40IDcuNiAzMC4zIDcuNiAzNS4zIDAgNjQtMjguNyA2NC02NGwwLTg4QzM4NCA3NS4yIDMwOC44IDAgMjE2IDBMMTY4IDBDNzUuMiAwIDAgNzUuMiAwIDE2OGwwIDI0em0zMzYgNjRjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNjR6TTE2MCAyNzJjNS41IDAgMTAuOS0uNyAxNi0ybDAgMzRjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0zMiAxNiAwem02NC0yNGwwLTQwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA2NGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTI0eiJdfSx1bmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1tZWgtYmxhbmsiLGljb246WzUxMiw1MTIsWzEyODU2NiwibWVoLWJsYW5rIl0sImY1YTQiLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDAgMCA0MTYgMjA4IDIwOCAwIDEgMCAwLTQxNnpNNTEyIDI1NmEyNTYgMjU2IDAgMSAxIC01MTIgMCAyNTYgMjU2IDAgMSAxIDUxMiAwek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LF9idD11bmUsZm5lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi10b25ndWUiLGljb246WzUxMiw1MTIsWzEyODUzOSwiZ3Jpbi10b25ndWUiXSwiZjU4OSIsIk00NjQgMjU2YzAtMTE0LjktOTMuMS0yMDgtMjA4LTIwOFM0OCAxNDEuMSA0OCAyNTZjMCA3NC4xIDM4LjggMTM5LjIgOTcuMSAxNzYtLjctNS4yLTEuMS0xMC42LTEuMS0xNmwwLTUzLjVjLTEwLjItMTIuNi0xOC4zLTI2LjktMjMuOC00Mi40LTQuMS0xMS42IDcuOC0yMS40IDE5LjYtMTcuOCAzNC43IDEwLjYgNzQuMiAxNi41IDExNi4xIDE2LjUgNDIgMCA4MS41LTYgMTE2LjMtMTYuNiAxMS44LTMuNiAyMy43IDYuMSAxOS42IDE3LjgtNS41IDE1LjYtMTMuNiAyOS45LTIzLjggNDIuNWwwIDUzLjVjMCA1LjQtLjQgMTAuOC0xLjEgMTYgNTguNC0zNi44IDk3LjEtMTAxLjkgOTcuMS0xNzZ6bTQ4IDBjMCAxMTYuMy03Ny42IDIxNC42LTE4My45IDI0NS43LTE5LjUgMTYuNC00NC42IDI2LjMtNzIuMSAyNi4zcy01Mi42LTkuOS03Mi4xLTI2LjNDNzcuNiA0NzAuNiAwIDM3Mi4zIDAgMjU2IDAgMTE0LjYgMTE0LjYgMCAyNTYgMFM1MTIgMTE0LjYgNTEyIDI1NnpNMTc2IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNiAyMDhsMC0zNy40YzAtMTQuNy0xMS45LTI2LjYtMjYuNi0yNi42bC0yIDBjLTExLjMgMC0yMS4xIDcuOS0yMy42IDE4LjktMi44IDEyLjYtMjAuOCAxMi42LTIzLjYgMC0yLjUtMTEuMS0xMi4zLTE4LjktMjMuNi0xOC45bC0yIDBjLTE0LjcgMC0yNi42IDExLjktMjYuNiAyNi42bDAgMzcuNGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0eiJdfSxUYnQ9Zm5lLEJHPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZ1dGJvbCIsaWNvbjpbNTEyLDUxMixbOTkxNywiZnV0Ym9sLWJhbGwiLCJzb2NjZXItYmFsbCJdLCJmMWUzIiwiTTM4NyAyMjguM2MtNC40LTIuOC03LjYtNy05LjItMTEuOXMtMS40LTEwLjIgLjUtMTVMNDExLjYgMTE4Yy0xOS45LTIyLjQtNDQuNi00MC41LTcyLjQtNTIuN2wtNjkuMSA1Ny42Yy00IDMuMy05IDUuMS0xNC4xIDUuMXMtMTAuMi0xLjgtMTQuMS01LjFMMTcyLjggNjUuM2MtMjcuOCAxMi4yLTUyLjUgMzAuMy03Mi40IDUyLjdsMzMuNCA4My40YzEuOSA0LjggMi4xIDEwLjEgLjUgMTVzLTQuOSA5LjEtOS4yIDExLjlMNDkgMjc2LjJjMyAzMC45IDEyLjcgNTkuNyAyNy42IDg1LjJsODkuNy02YzUuMi0uMyAxMC4zIDEuMSAxNC41IDQuMnM3LjIgNy40IDguNCAxMi41bDIyIDg3LjJjMTQuNCAzLjIgMjkuNCA0LjggNDQuOCA0LjhzMzAuMy0xLjcgNDQuOC00LjhsMjItODcuMmMxLjMtNSA0LjItOS40IDguNC0xMi41czkuMy00LjUgMTQuNS00LjJsODkuNyA2YzE1LTI1LjQgMjQuNy01NC4zIDI3LjYtODUuMUwzODcgMjI4LjN6TTI1NiAwYTI1NiAyNTYgMCAxIDEgMCA1MTIgMjU2IDI1NiAwIDEgMSAwLTUxMnptNjIgMjIxYzguNCA2LjEgMTEuOSAxNi45IDguNyAyNi44bC0xOC4zIDU2LjNjLTMuMiA5LjktMTIuNCAxNi42LTIyLjggMTYuNmwtNTkuMiAwYy0xMC40IDAtMTkuNi02LjctMjIuOC0xNi42bC0xOC4zLTU2LjNjLTMuMi05LjkgLjMtMjAuNyA4LjctMjYuOGw0Ny45LTM0LjhjOC40LTYuMSAxOS44LTYuMSAyOC4yIDBMMzE4IDIyMXoiXX0sTGJ0PUJHLCRidD1CRyxobmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1zdXJwcmlzZSIsaWNvbjpbNTEyLDUxMixbMTI4NTU4LCJzdXJwcmlzZSJdLCJmNWMyIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTc2LTgwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bS00OCA4MGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHoiXX0sRGJ0PWhuZSxtbmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZm9sZGVyIixpY29uOls1MTIsNTEyLFsxMjgxOTMsMTI4NDQ3LDYxNzE2LCJmb2xkZXItYmxhbmsiXSwiZjA3YiIsIk02NCA0MDBsMzg0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjQwYzAtOC44LTcuMi0xNi0xNi0xNmwtMTQ5LjMgMGMtMTcuMyAwLTM0LjItNS42LTQ4LTE2TDIxMi4zIDgzLjJjLTIuOC0yLjEtNi4xLTMuMi05LjYtMy4yTDY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAyODhjMCA4LjggNy4yIDE2IDE2IDE2em0zODQgNDhMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDEzOC43IDBjMTMuOCAwIDI3LjMgNC41IDM4LjQgMTIuOGwzOC40IDI4LjhjNS41IDQuMiAxMi4zIDYuNCAxOS4yIDYuNEw0NDggODBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNDBjMCAzNS4zLTI4LjcgNjQtNjQgNjR6Il19LEFidD1tbmUsUGJ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNsb3VkIixpY29uOls1NzYsNTEyLFs5NzI5XSwiZjBjMiIsIk04MCAxOTJjMC04OC40IDcxLjYtMTYwIDE2MC0xNjAgNDcuMSAwIDg5LjQgMjAuNCAxMTguNyA1Mi43IDEwLjYtMy4xIDIxLjgtNC43IDMzLjMtNC43IDY2LjMgMCAxMjAgNTMuNyAxMjAgMTIwIDAgMTMuMi0yLjEgMjUuOS02LjEgMzcuOCA0MS42IDIxLjEgNzAuMSA2NC4zIDcwLjEgMTE0LjIgMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTMwNCAwYy03OS41IDAtMTQ0LTY0LjUtMTQ0LTE0NCAwLTU2LjggMzIuOS0xMDUuOSA4MC43LTEyOS40LS40LTQuOC0uNy05LjctLjctMTQuNnpNMjQwIDgwYy02MS45IDAtMTEyIDUwLjEtMTEyIDExMiAwIDguNCAuOSAxNi42IDIuNyAyNC41IDIuNyAxMi4xLTQuMyAyNC4zLTE2LjEgMjguMS0zOC43IDEyLjQtNjYuNiA0OC43LTY2LjYgOTEuNCAwIDUzIDQzIDk2IDk2IDk2bDMwNCAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwIDAtMzcuNC0yNS43LTY4LjktNjAuNS03Ny42LTcuNS0xLjktMTMuNi03LjItMTYuNS0xNC4zcy0yLjEtMTUuMiAyLTIxLjdjNy0xMS4xIDExLTI0LjIgMTEtMzguMyAwLTM5LjgtMzIuMi03Mi03Mi03Mi0xMS4xIDAtMjEuNSAyLjUtMzAuOCA2LjktMTAuNSA1LTIzLjEgMS43LTI5LjgtNy44LTIwLjMtMjguNi01My43LTQ3LjEtOTEuMy00Ny4xeiJdfSxFYnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlIixpY29uOls1MTIsNTEyLFsxMjgzMDgsMTI4MzA5LDEyODk5MiwxMjg5OTMsMTI4OTk0LDEyODk5NSwxMjg5OTYsOTY3OSw5ODk4LDk4OTksMTEwNDQsNjE3MDgsNjE5MTVdLCJmMTExIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHoiXX0sZ25lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1zcXVpbnQiLGljb246WzUxMiw1MTIsWzEyODUxOCwiZ3Jpbi1zcXVpbnQiXSwiZjU4NSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTM3Mi4yIDQ2LjNjMTEuOC0zLjYgMjMuNyA2LjEgMTkuNiAxNy44LTE5LjggNTUuOS03My4xIDk2LTEzNS44IDk2LTYyLjcgMC0xMTYtNDAtMTM1LjgtOTUuOS00LjEtMTEuNiA3LjgtMjEuNCAxOS42LTE3LjggMzQuNyAxMC42IDc0LjIgMTYuNSAxMTYuMSAxNi41IDQyIDAgODEuNS02IDExNi4zLTE2LjZ6bS0yNDkuNi0xNDNjNC41LTYuOCAxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAyMDggMTI1LjggMTgwLjNjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjF6bTI2My42IDIxLjFMMzUzIDIwOCAzODYuMiAyMzUuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXMzLjEgMTUuOS0zLjEgMjEuMXoiXX0sSWJ0PWduZSxibmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLXVzZXIiLGljb246WzUxMiw1MTIsWzYyMTQyLCJ1c2VyLWNpcmNsZSJdLCJmMmJkIiwiTTQwNi41IDM5OS42QzM4Ny40IDM1Mi45IDM0MS41IDMyMCAyODggMzIwbC02NCAwYy01My41IDAtOTkuNCAzMi45LTExOC41IDc5LjYtMzUuNi0zNy4zLTU3LjUtODcuOS01Ny41LTE0My42IDAtMTE0LjkgOTMuMS0yMDggMjA4LTIwOHMyMDggOTMuMSAyMDggMjA4YzAgNTUuNy0yMS45IDEwNi4yLTU3LjUgMTQzLjZ6bS00MC4xIDMyLjdDMzM0LjQgNDUyLjQgMjk2LjYgNDY0IDI1NiA0NjRzLTc4LjQtMTEuNi0xMTAuNS0zMS43YzcuMy0zNi43IDM5LjctNjQuMyA3OC41LTY0LjNsNjQgMGMzOC44IDAgNzEuMiAyNy42IDc4LjUgNjQuM3pNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTAtMjcyYTQwIDQwIDAgMSAxIDAtODAgNDAgNDAgMCAxIDEgMCA4MHptLTg4LTQwYTg4IDg4IDAgMSAwIDE3NiAwIDg4IDg4IDAgMSAwIC0xNzYgMHoiXX0sTmJ0PWJuZSx2bmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToicmVjdGFuZ2xlLWxpc3QiLGljb246WzUxMiw1MTIsWyJsaXN0LWFsdCJdLCJmMDIyIiwiTTY0IDExMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjU2YzAgOC44IDcuMiAxNiAxNiAxNmwzODQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNTZjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDExMnpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHpNMTYwIDMyMGEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0tMzItOTZhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0xMDQtNTZsMTYwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0wIDEyOGwxNjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LFJidD12bmUseG5lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQiLGljb246WzUxMiw1MTIsWzEyOTMwNiw5OTk1LCJoYW5kLXBhcGVyIl0sImYyNTYiLCJNMjU2LjUgMGMtMjUuMyAwLTQ3LjIgMTQuNy01Ny42IDM2LTctMi42LTE0LjUtNC0yMi40LTQtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAxNjUuNS0yLjctMi43Yy0yNS0yNS02NS41LTI1LTkwLjUgMHMtMjUgNjUuNSAwIDkwLjVMMTA3IDQzN2M0OCA0OCAxMTMuMSA3NSAxODEgNzVsMTYuNSAwYzEuNSAwIDMtLjEgNC41LS40IDkxLjctNi4yIDE2NS03OS40IDE3MS4xLTE3MS4xIC4zLTEuNSAuNC0zIC40LTQuNWwwLTE3NmMwLTM1LjMtMjguNy02NC02NC02NC01LjUgMC0xMC45IC43LTE2IDJsMC0yYzAtMzUuMy0yOC43LTY0LTY0LTY0LTcuOSAwLTE1LjQgMS40LTIyLjQgNC0xMC40LTIxLjMtMzIuMy0zNi01Ny42LTM2em0tMTYgOTYuMWwwLS4xIDAtMzJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTM2YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxMzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTcyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNzIuOWMtLjEgLjYtLjEgMS4zLS4yIDEuOS0zLjQgNjkuNy01OS4zIDEyNS42LTEyOSAxMjktLjYgMC0xLjMgLjEtMS45IC4yTDI4OCA0NjRDMjMyLjkgNDY0IDE4MCA0NDIuMSAxNDEgNDAzLjFMNTMuMiAzMTUuM2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDQzLjcgNDMuN2M2LjkgNi45IDE3LjIgOC45IDI2LjIgNS4yczE0LjgtMTIuNSAxNC44LTIyLjJsMC0yMjMuNGMwLTguOCA3LjItMTYgMTYtMTYgOC44IDAgMTYgNy4xIDE2IDE1LjlsMCAxMzYuMWMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTM1Ljl6Il19LEZidD14bmUsT2J0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InRodW1icy11cCIsaWNvbjpbNTEyLDUxMixbMTI4MDc3LDYxNTc1XSwiZjE2NCIsIk0xNzEuNSAzOC44QzE5Mi4zIDQgMjM2LjUtMTAgMjc0IDcuNmw3LjIgMy44QzMxNiAzMi4zIDMzMCA3Ni41IDMxMi40IDExNGwwIDAtMTQuMSAzMCAxMDkuNyAwIDcuNCAuNGMzNi4zIDMuNyA2NC42IDM0LjQgNjQuNiA3MS42IDAgMTMuMi0zLjYgMjUuNC05LjggMzYgNi4xIDEwLjYgOS43IDIyLjggOS44IDM2IDAgMTguMy02LjkgMzQuOC0xOCA0Ny41IDEuMyA1LjMgMiAxMC44IDIgMTYuNSAwIDI1LjEtMTIuOSA0Ny0zMi4yIDU5LjktMS45IDM1LjUtMjkuNCA2NC4yLTY0LjQgNjcuN2wtNy40IC40LTEwNC4xIDBjLTE4IDAtMzUuOS0zLjQtNTIuNi05LjlsLTcuMS0zLS43LS4zLTYuNi0zLjItLjctLjMtMTIuMi02LjVjLTEyLjMtNi41LTIzLjMtMTQuNy0zMi45LTI0LjEtNC4xIDI2LjktMjcuMyA0Ny40LTU1LjMgNDcuNGwtMzIgMGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZMMCAyMDBjMC0zMC45IDI1LjEtNTYgNTYtNTZsMzIgMGMxMC44IDAgMjAuOSAzLjEgMjkuNSA4LjVsNTAuMS0xMDYuNSAuNi0xLjIgMi43LTUgLjYtLjl6TTU2IDE5MmMtNC40IDAtOCAzLjYtOCA4bDAgMjI0YzAgNC40IDMuNiA4IDggOGwzMiAwYzQuNCAwIDgtMy42IDgtOGwwLTIyNGMwLTQuNC0zLjYtOC04LThsLTMyIDB6TTI1My42IDUxYy0xNC44LTYuOS0zMi4zLTEuNi00MC43IDEybC0yLjIgNC01Ni44IDEyMC45Yy0zLjUgNy41LTUuNSAxNS41LTYgMjMuN2wtLjEgNC4yIDAgMTEyLjkgLjIgNy45YzIuNCAzMi43IDIxLjQgNjIuMSA1MC43IDc3LjdsMTEuNSA2LjEgNi4zIDMuMWMxMi40IDUuNiAyNS44IDguNSAzOS40IDguNWwxMDQuMSAwIDIuNC0uMWMxMi4xLTEuMiAyMS42LTExLjUgMjEuNi0yMy45bC0uMi0yLjZjLS4xLS45LS4yLTEuNy0uNC0yLjYtMi43LTEyLjEgNC4zLTI0LjIgMTYtMjggOS43LTMuMSAxNi42LTEyLjIgMTYuNi0yMi44IDAtNC4zLTEuMS04LjItMy4xLTExLjgtNi4zLTExLjEtMi44LTI1LjIgOC0zMiA2LjgtNC4zIDExLjItMTEuOCAxMS4yLTIwLjIgMC03LjEtMy4xLTEzLjUtOC4yLTE4LTUuMi00LjYtOC4yLTExLjEtOC4yLTE4czMtMTMuNCA4LjItMThjNS4xLTQuNSA4LjItMTAuOSA4LjItMThsLS4xLTIuNGMtMS4xLTExLjMtMTAuMS0yMC4zLTIxLjQtMjEuNGwtMi40LS4xLTE0Ny41IDBjLTguMiAwLTE1LjgtNC4yLTIwLjItMTEuMS00LjQtNi45LTUtMTUuNy0xLjUtMjMuMUwyNjkgOTMuNmM3LTE1IDEuNC0zMi43LTEyLjUtNDFMMjUzLjYgNTF6Il19LEJidD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJidWlsZGluZyIsaWNvbjpbMzg0LDUxMixbMTI3OTcwLDYxNjg3XSwiZjFhZCIsIk02NCA0OGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzg0YzAgOC44IDcuMiAxNiAxNiAxNmw4MCAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDgwIDgwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzg0YzAtOC44LTcuMi0xNi0xNi0xNkw2NCA0OHpNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em05NiA0OGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNDAgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNOTYgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE0NC0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxIYnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2hlc3Mtcm9vayIsaWNvbjpbMzg0LDUxMixbOTgyMF0sImY0NDciLCJNMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMzguN2MwIDEzLjgtNC41IDI3LjMtMTIuOCAzOC40bC0zNS4yIDQ2LjkgMCAxMTIgNDAuOCA2OC4xYzQuNyA3LjggNy4yIDE2LjcgNy4yIDI1LjggMCAyNy43LTIyLjQgNTAuMS01MC4xIDUwLjFMNTAuMSA1MTJjLTI3LjcgMC01MC4xLTIyLjQtNTAuMS01MC4xIDAtOS4xIDIuNS0xOCA3LjItMjUuOEw0OCAzNjggNDggMjU2IDEyLjggMjA5LjFDNC41IDE5OCAwIDE4NC41IDAgMTcwLjdMMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMMzUyIDB6TTQ4LjMgNDYwLjhsLS4zIDEuMWMwIDEuMiAxIDIuMSAyLjEgMi4xbDI4My44IDBjMS4yIDAgMi4xLTEgMi4xLTIuMWwtLjMtMS4xLTM2LjUtNjAuOC0yMTQuNCAwLTM2LjUgNjAuOHpNNDggMTcwLjdjMCAyLjYgLjYgNS4xIDEuOCA3LjRsMS40IDIuMiAwIDAgMzUuMiA0Ni45IDkuNiAxMi44IDAgMTEyIDE5MiAwIDAtMTEyIDkuNi0xMi44IDM1LjItNDYuOSAwIDAgMS40LTIuMmMxLjItMi4zIDEuOC00LjggMS44LTcuNGwwLTEyMi43LTY0IDAgMCAyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTI0LTY0IDAgMCAyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTI0LTY0IDAgMCAxMjIuN3oiXX0seW5lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1xdWVzdGlvbiIsaWNvbjpbNTEyLDUxMixbNjIxMDgsInF1ZXN0aW9uLWNpcmNsZSJdLCJmMDU5IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMjU2LTgwYy0xNy43IDAtMzIgMTQuMy0zMiAzMiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgNDcuMi0zNiA2Ny4yLTU2IDc0LjVsMCAzLjhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC04LjFjMC0yMC41IDE0LjgtMzUuMiAzMC4xLTQwLjIgNi40LTIuMSAxMy4yLTUuNSAxOC4yLTEwLjMgNC4zLTQuMiA3LjctMTAgNy43LTE5LjYgMC0xNy43LTE0LjMtMzItMzItMzJ6TTIyNCAzNjhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0scWJ0PXluZSxWYnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZSIsaWNvbjpbMzg0LDUxMixbMTI4MTk2LDEyODQ1OSw2MTQ2Ml0sImYxNWIiLCJNMTc2IDQ4TDY0IDQ4Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzODRjMCA4LjggNy4yIDE2IDE2IDE2bDI1NiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0MC04OCAwYy0zOS44IDAtNzItMzIuMi03Mi03MmwwLTg4ek0zMTYuMSAxNjBMMjI0IDY3LjkgMjI0IDEzNmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2OC4xIDB6TTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDE5Ny41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTQxLjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHoiXX0sd25lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2Utc2FkLWNyeSIsaWNvbjpbNTEyLDUxMixbMTI4NTU3LCJzYWQtY3J5Il0sImY1YjMiLCJNNDAwIDQwNi4xTDQwMCAyODhjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNTIuNmMtMjguNyAxNS02MS40IDIzLjQtOTYgMjMuNHMtNjcuMy04LjUtOTYtMjMuNEwxNjAgMjg4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTE4LjFDNzIuNiAzNjguMiA0OCAzMTUgNDggMjU2IDQ4IDE0MS4xIDE0MS4xIDQ4IDI1NiA0OHMyMDggOTMuMSAyMDggMjA4YzAgNTktMjQuNiAxMTIuMi02NCAxNTAuMXpNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE1MiAxOTZsMTYgMGMxMSAwIDIwIDkgMjAgMjBzOSAyMCAyMCAyMCAyMC05IDIwLTIwYzAtMzMuMS0yNi45LTYwLTYwLTYwbC0xNiAwYy0zMy4xIDAtNjAgMjYuOS02MCA2MCAwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMCA5LTIwIDIwLTIwem0xNzIgMjBjMC0xMSA5LTIwIDIwLTIwbDE2IDBjMTEgMCAyMCA5IDIwIDIwczkgMjAgMjAgMjAgMjAtOSAyMC0yMGMwLTMzLjEtMjYuOS02MC02MC02MGwtMTYgMGMtMzMuMSAwLTYwIDI2LjktNjAgNjAgMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjB6TTIwOCAzMzZsMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4bDAtMzJjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6Il19LGpidD13bmUsVWJ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNhbGVuZGFyLW1pbnVzIixpY29uOls0NDgsNTEyLFtdLCJmMjcyIiwiTTEyMCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDAgMTYwIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHptMCAxMTJsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjg4YzAtOC44LTcuMi0xNi0xNi0xNmwtMjY0IDB6bTMyIDEzNmwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LE1uZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLXRpcmVkIixpY29uOls1MTIsNTEyLFsxMjg1NTUsInRpcmVkIl0sImY1YzgiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0xNzYuNSA2NC4zQzE5Ni4xIDMwMi4xIDIyMy44IDI4OCAyNTYgMjg4czU5LjkgMTQuMSA3OS41IDMyLjNjMTkgMTcuOCAzMi41IDQxLjcgMzIuNSA2My43IDAgNS40LTIuNyAxMC40LTcuMiAxMy40cy0xMC4yIDMuNC0xNS4yIDEuM2wtMTcuMi03LjVjLTIyLjgtMTAtNDcuNS0xNS4xLTcyLjQtMTUuMXMtNDkuNiA1LjItNzIuNCAxNS4xbC0xNy4yIDcuNWMtNC45IDIuMi0xMC43IDEuNy0xNS4yLTEuM3MtNy4yLTgtNy4yLTEzLjRjMC0yMiAxMy41LTQ1LjkgMzIuNS02My43ek0xMjIuNiAxNTkuMmM0LjUtNi44IDEzLjMtOS4yIDIwLjYtNS41bDc5LjYgNDBjNS40IDIuNyA4LjggOC4yIDguOCAxNC4zcy0zLjQgMTEuNi04LjggMTQuM2wtNzkuNiA0MGMtNy4zIDMuNi0xNi4xIDEuMy0yMC42LTUuNXMtMy4xLTE1LjkgMy4xLTIxLjFMMTU5IDIwOCAxMjUuOCAxODAuM2MtNi4yLTUuMi03LjYtMTQuMy0zLjEtMjEuMXptMjYzLjYgMjEuMUwzNTMgMjA4IDM4Ni4yIDIzNS43YzYuMiA1LjIgNy42IDE0LjMgMy4xIDIxLjFzLTEzLjMgOS4yLTIwLjYgNS41bC03OS42LTQwYy01LjQtMi43LTguOC04LjItOC44LTE0LjNzMy40LTExLjYgOC44LTE0LjNsNzkuNi00MGM3LjMtMy42IDE2LjEtMS4zIDIwLjYgNS41czMuMSAxNS45LTMuMSAyMS4xeiJdfSxXYnQ9TW5lLEdidD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLXBvaW50LXJpZ2h0IixpY29uOls1MTIsNTEyLFtdLCJmMGE0IiwiTTQ0OCAxMjhsLTE3Ny42IDBjMSA1LjIgMS42IDEwLjUgMS42IDE2bDAgMTYgMTc2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZ6TTIyNCAxNDRjMC0xNy43LTE0LjMtMzItMzItMzJsLTI0IDBjLTY2LjMgMC0xMjAgNTMuNy0xMjAgMTIwbDAgNDhjMCA1Mi41IDMzLjcgOTcuMSA4MC43IDExMy40LS41LTMuMS0uNy02LjItLjctOS40IDAtMjAgOS4yLTM3LjkgMjMuNi00OS43LTQuOS05LTcuNi0xOS40LTcuNi0zMC4zIDAtMTUuMSA1LjMtMjkgMTQtNDAtOC44LTExLTE0LTI0LjktMTQtNDBsMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwek0xOTIgNjRsMCAwYzE4IDAgMzQuNiA2IDQ4IDE2bDIwOCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0bC04MiAwYzEuMyA1LjEgMiAxMC41IDIgMTYgMCAyNS4zLTE0LjcgNDcuMi0zNiA1Ny42IDIuNiA3IDQgMTQuNSA0IDIyLjQgMCAyMC05LjIgMzcuOS0yMy42IDQ5LjcgNC45IDkgNy42IDE5LjQgNy42IDMwLjMgMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTg4IDBDNzUuMiA0NDggMCAzNzIuOCAwIDI4MGwwLTQ4QzAgMTM5LjIgNzUuMiA2NCAxNjggNjRsMjQgMHptNjQgMzM2YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC02NCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDY0IDB6bTE2LTE3NmMwIDUuNS0uNyAxMC45LTIgMTZsMzQgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMzIgMCAwIDE2em0tMjQgNjRsLTQwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNjQgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMjQgMHoiXX0sa25lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS11cCIsaWNvbjpbNTEyLDUxMixbNjE0NjcsImFycm93LWFsdC1jaXJjbGUtdXAiXSwiZjM1YiIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTExLjMtMzg3LjNjLTYuMi02LjItMTYuNC02LjItMjIuNiAwbC0xMDQgMTA0Yy00LjYgNC42LTUuOSAxMS41LTMuNSAxNy40czguMyA5LjkgMTQuOCA5LjlsNzIgMCAwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTA0IDcyIDBjNi41IDAgMTIuMy0zLjkgMTQuOC05LjlzMS4xLTEyLjktMy41LTE3LjRsLTEwNC0xMDR6Il19LFlidD1rbmUsWmJ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQtc2Npc3NvcnMiLGljb246WzUxMiw1MTIsW10sImYyNTciLCJNLjIgMjc2LjNjLTEuMi0zNS4zIDI2LjQtNjUgNjEuNy02Ni4ybDMuMy0uMS04LjItMS44QzIyLjUgMjAwLjUgLjcgMTY2LjMgOC4zIDEzMS44UzUwLjIgNzUuNSA4NC43IDgzLjJsMTczIDM4LjNjMi4zLTIuOSA0LjYtNS43IDcuMS04LjVsMTguNC0yMC4zQzI5OS45IDc0LjUgMzIzLjUgNjQgMzQ4LjMgNjRsMTAuMiAwYzU0LjEgMCAxMDQuMSAyOC43IDEzMS4zIDc1LjRsMS41IDIuNmMxMy42IDIzLjIgMjAuNyA0OS43IDIwLjcgNzYuNkw1MTIgMzQ0YzAgNjYuMy01My43IDEyMC0xMjAgMTIwbC0xMDQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yLjggLjItNS42IC41LTguMy0xOS40LTExLTMyLjUtMzEuOC0zMi41LTU1LjcgMC0uOCAwLTEuNiAwLTIuNEw2Ni40IDMzOGMtMzUuMyAxLjItNjUtMjYuNC02Ni4yLTYxLjd6bTYzLjQtMTguMmMtOC44IC4zLTE1LjcgNy43LTE1LjQgMTYuNnM3LjcgMTUuNyAxNi41IDE1LjRsMTYxLjUtNS42YzkuOC0uMyAxOC43IDUuMyAyMi43IDE0LjJzMi4yIDE5LjMtNC41IDI2LjRjLTIuOCAyLjktNC40IDYuNy00LjQgMTEgMCA4LjggNy4yIDE2IDE2IDE2IDkuMSAwIDE3LjQgNS4xIDIxLjUgMTMuM3MzLjIgMTcuOS0yLjMgMjUuMWMtMiAyLjctMy4yIDYtMy4yIDkuNiAwIDguOCA3LjIgMTYgMTYgMTZsMTA0IDBjMzkuOCAwIDcyLTMyLjIgNzItNzJsMC0xMjUuNGMwLTE4LjQtNC45LTM2LjUtMTQuMi01Mi40bC0xLjUtMi42Yy0xOC42LTMyLTUyLjgtNTEuNi04OS44LTUxLjZsLTEwLjIgMGMtMTEuMyAwLTIyIDQuOC0yOS42IDEzLjFsMCAwLTE4LjQgMjAuM2MtLjYgLjYtMS4xIDEuMy0xLjcgMS45bDU3IDEzLjJjOC42IDIgMTQgMTAuNiAxMiAxOS4ycy0xMC42IDE0LTE5LjIgMTJMMjYyLjggMTcxLjggNzQuMyAxMzBjLTguNi0xLjktMTcuMiAzLjUtMTkuMSAxMi4yczMuNSAxNy4yIDEyLjIgMTkuMWwxODcuNSA0MS42YzEwLjIgMi4zIDE3LjggMTAuOSAxOC43IDIxLjRsLjEgMWMuNiA2LjYtMS41IDEzLjEtNS44IDE4LjFzLTEwLjYgNy45LTE3LjIgOC4yTDYzLjYgMjU4LjF6Il19LFhidD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJnZW0iLGljb246WzUxMiw1MTIsWzEyODE0Ml0sImYzYTUiLCJNMTY4LjUgNzJsODcuNSA5MyA4Ny41LTkzLTE3NSAwek0zODMuOSA5OS4xbC03Mi4zIDc2LjkgMTI5IDAtNTYuNi03Ni45em01MCAxMjQuOUw3OC4xIDIyNCAyNTYgNDIwLjMgNDMzLjkgMjI0ek03MS41IDE3NmwxMjkgMC03Mi4zLTc2LjktNTYuNiA3Ni45em00MzQuMyA0MC4xbC0yMzIgMjU2Yy00LjUgNS0xMSA3LjktMTcuOCA3LjlzLTEzLjItMi45LTE3LjgtNy45bC0yMzItMjU2Yy03LjctOC41LTguMy0yMS4yLTEuNS0zMC40bDExMi0xNTJjNC41LTYuMSAxMS43LTkuOCAxOS4zLTkuOGwyNDAgMGM3LjYgMCAxNC44IDMuNiAxOS4zIDkuOGwxMTIgMTUyYzYuOCA5LjIgNi4xIDIxLjktMS41IDMwLjR6Il19LEdmPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InJlY3RhbmdsZS14bWFyayIsaWNvbjpbNTEyLDUxMixbNjIxNjQsInJlY3RhbmdsZS10aW1lcyIsInRpbWVzLXJlY3RhbmdsZSIsIndpbmRvdy1jbG9zZSJdLCJmNDEwIiwiTTY0IDExMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjU2YzAgOC44IDcuMiAxNiAxNiAxNmwzODQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNTZjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDExMnpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptMzM0LjEgNDkuOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNDQuMSA0NC4xIDQ0LjEgNDQuMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00NC4xLTQ0LjEtNDQuMSA0NC4xYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQ0LjEtNDQuMS00NC4xLTQ0LjFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0NC4xIDQ0LjEgNDQuMS00NC4xYzkuNC05LjQgMjQuNi05LjQgMzMuOSAweiJdfSxLYnQ9R2YsUWJ0PUdmLEpidD1HZixLZj17cHJlZml4OiJmYXIiLGljb25OYW1lOiJ0cmFzaC1jYW4iLGljb246WzQ0OCw1MTIsWzYxNDYwLCJ0cmFzaC1hbHQiXSwiZjJlZCIsIk0xNjYuMi0xNmMtMTMuMyAwLTI1LjMgOC4zLTMwIDIwLjhMMTIwIDQ4IDI0IDQ4QzEwLjcgNDggMCA1OC43IDAgNzJTMTAuNyA5NiAyNCA5Nmw0MDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtOTYgMC0xNi4yLTQzLjJDMzA3LjEtNy43IDI5NS4yLTE2IDI4MS44LTE2TDE2Ni4yLTE2ek0zMiAxNDRsMCAzMDRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMDQtNDggMCAwIDMwNGMwIDguOC03LjIgMTYtMTYgMTZMOTYgNDY0Yy04LjggMC0xNi03LjItMTYtMTZsMC0zMDQtNDggMHptMTYwIDcyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTc2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNzZ6bTExMiAwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTc2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNzZ6Il19LGV2dD1LZix0dnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibGlmZS1yaW5nIixpY29uOls1MTIsNTEyLFtdLCJmMWNkIiwiTTM4NS4xIDQxOS4xQzM0OS43IDQ0Ny4yIDMwNC44IDQ2NCAyNTYgNDY0cy05My43LTE2LjgtMTI5LjEtNDQuOWw4MC40LTgwLjRjMTQuMyA4LjQgMzEgMTMuMyA0OC44IDEzLjNzMzQuNS00LjggNDguOC0xMy4zbDgwLjQgODAuNHptNjguMSAuMkM0ODkuOSAzNzQuOSA1MTIgMzE4LjEgNTEyIDI1NlM0ODkuOSAxMzcuMSA0NTMuMiA5Mi43TDQ2NSA4MWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDQxOS4zIDU4LjhDMzc0LjkgMjIuMSAzMTguMSAwIDI1NiAwUzEzNy4xIDIyLjEgOTIuNyA1OC44TDgxIDQ3Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMzNy43IDcxLjYgNDcgODFMNTguOCA5Mi43QzIyLjEgMTM3LjEgMCAxOTMuOSAwIDI1NlMyMi4xIDM3NC45IDU4LjggNDE5LjNMNDcgNDMxYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMTEuOC0xMS44QzEzNy4xIDQ4OS45IDE5My45IDUxMiAyNTYgNTEyczExOC45LTIyLjEgMTYzLjMtNTguOEw0MzEgNDY1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTEuOC0xMS44em0tMzQuMS0zNC4xbC04MC40LTgwLjRjOC40LTE0LjMgMTMuMy0zMSAxMy4zLTQ4LjhzLTQuOC0zNC41LTEzLjMtNDguOGw4MC40LTgwLjRDNDQ3LjIgMTYyLjMgNDY0IDIwNy4yIDQ2NCAyNTZzLTE2LjggOTMuNy00NC45IDEyOS4xek0zODUuMSA5Mi45bC04MC40IDgwLjRjLTE0LjMtOC40LTMxLTEzLjMtNDguOC0xMy4zcy0zNC41IDQuOC00OC44IDEzLjNMMTI2LjkgOTIuOUMxNjIuMyA2NC44IDIwNy4yIDQ4IDI1NiA0OHM5My43IDE2LjggMTI5LjEgNDQuOXpNMTczLjMgMzA0LjhMOTIuOSAzODUuMUM2NC44IDM0OS43IDQ4IDMwNC44IDQ4IDI1NnMxNi44LTkzLjcgNDQuOS0xMjkuMWw4MC40IDgwLjRjLTguNCAxNC4zLTEzLjMgMzEtMTMuMyA0OC44czQuOCAzNC41IDEzLjMgNDguOHpNMjA4IDI1NmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAweiJdfSxhdnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY29weXJpZ2h0IixpY29uOls1MTIsNTEyLFsxNjldLCJmMWY5IiwiTTI1NiA0OGEyMDggMjA4IDAgMSAxIDAgNDE2IDIwOCAyMDggMCAxIDEgMC00MTZ6bTAgNDY0YTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjA1LjEgMzA2LjljLTI4LjEtMjguMS0yOC4xLTczLjcgMC0xMDEuOHM3My43LTI4LjEgMTAxLjggMGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjljLTQ2LjktNDYuOS0xMjIuOC00Ni45LTE2OS43IDBzLTQ2LjkgMTIyLjggMCAxNjkuNyAxMjIuOCA0Ni45IDE2OS43IDBjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGMtMjguMSAyOC4xLTczLjcgMjguMS0xMDEuOCAweiJdfSx6bmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLWxlZnQiLGljb246WzUxMiw1MTIsWzYxODQwLCJhcnJvdy1hbHQtY2lyY2xlLWxlZnQiXSwiZjM1OSIsIk00OCAyNTZhMjA4IDIwOCAwIDEgMSA0MTYgMCAyMDggMjA4IDAgMSAxIC00MTYgMHptNDY0IDBhMjU2IDI1NiAwIDEgMCAtNTEyIDAgMjU2IDI1NiAwIDEgMCA1MTIgMHpNMTI0LjcgMjQ0LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42bDEwNCAxMDRjNC42IDQuNiAxMS41IDUuOSAxNy40IDMuNXM5LjktOC4zIDkuOS0xNC44bDAtNzIgMTA0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xNmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMTA0IDAgMC03MmMwLTYuNS0zLjktMTIuMy05LjktMTQuOHMtMTIuOS0xLjEtMTcuNCAzLjVsLTEwNCAxMDR6Il19LHJ2dD16bmUsaXZ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNhbGVuZGFyIixpY29uOls0NDgsNTEyLFsxMjgxOTcsMTI4MTk4XSwiZjEzMyIsIk0xMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwIDE2MCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTAgMTEybC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCA0OCAzNTIgMCAwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNmwtMjY0IDB6TTQ4IDIyNGwwIDE5MmMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTkyLTM1MiAweiJdfSxTbmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1mcm93bi1vcGVuIixpY29uOls1MTIsNTEyLFsxMjg1NTAsImZyb3duLW9wZW4iXSwiZjU3YSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6TTE4Mi40IDM4Mi41Yy0xMi40IDUuMi0yNi41LTQuMS0yMS4xLTE2LjQgMTYtMzYuNiA1Mi40LTYyLjEgOTQuOC02Mi4xczc4LjggMjUuNiA5NC44IDYyLjFjNS40IDEyLjMtOC43IDIxLjYtMjEuMSAxNi40LTIyLjQtOS41LTQ3LjQtMTQuOC03My43LTE0LjhzLTUxLjMgNS4zLTczLjcgMTQuOHpNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxzdnQ9U25lLENuZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaGFydC1iYXIiLGljb246WzUxMiw1MTIsWyJiYXItY2hhcnQiXSwiZjA4MCIsIk00OCA1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNFMwIDQyLjcgMCA1NkwwIDQwMGMwIDQ0LjIgMzUuOCA4MCA4MCA4MGw0MDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw4MCA0MzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDQ4IDU2em0xMDQgNzJsMjA4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMTUyIDgwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0em0wIDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHptMCAxMTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI3MiAweiJdfSxvdnQ9Q25lLFlmPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhvdXNlIixpY29uOls1MTIsNTEyLFsxMjc5NjgsNjM0OTgsNjM1MDAsImhvbWUiLCJob21lLWFsdCIsImhvbWUtbGctYWx0Il0sImYwMTUiLCJNMjQwIDYuMWM5LjEtOC4yIDIyLjktOC4yIDMyIDBsMjMyIDIwOGM5LjkgOC44IDEwLjcgMjQgMS44IDMzLjlzLTI0IDEwLjctMzMuOSAxLjhsLTgtNy4yIDAgMjA1LjNjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTI4OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTIwNS4zLTggNy4yYy05LjkgOC44LTI1IDgtMzMuOS0xLjhzLTgtMjUgMS44LTMzLjlMMjQwIDYuMXptMTYgNTAuMUw5NiAxOTkuNyA5NiA0NDhjMCA4LjggNy4yIDE2IDE2IDE2bDQ4IDAgMC0xMDRjMC0zOS44IDMyLjItNzIgNzItNzJsNDggMGMzOS44IDAgNzIgMzIuMiA3MiA3MmwwIDEwNCA0OCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0OC4zLTE2MC0xNDMuNHpNMjA4IDQ2NGw5NiAwIDAtMTA0YzAtMTMuMy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDEwNHoiXX0sbnZ0PVlmLGx2dD1ZZixjdnQ9WWYsX25lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZnJvd24iLGljb246WzUxMiw1MTIsWzk3ODUsImZyb3duIl0sImYxMTkiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0zMzQuNyAzODQuNkMzMTkuNyAzNjkgMjkzLjYgMzUyIDI1NiAzNTJzLTYzLjcgMTctNzguNyAzMi42Yy05LjIgOS42LTI0LjQgOS45LTMzLjkgLjdzLTkuOS0yNC40LS43LTMzLjljMjIuMS0yMyA2MC00Ny40IDExMy4zLTQ3LjRzOTEuMiAyNC40IDExMy4zIDQ3LjRjOS4yIDkuNiA4LjkgMjQuOC0uNyAzMy45cy0yNC44IDguOS0zMy45LS43ek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LGR2dD1fbmUsSEc9e3ByZWZpeDoiZmFyIixpY29uTmFtZToidXNlciIsaWNvbjpbNDQ4LDUxMixbMTI4MTAwLDYyMTQ0LDYyNDcwLCJ1c2VyLWFsdCIsInVzZXItbGFyZ2UiXSwiZjAwNyIsIk0xNDQgMTI4YTgwIDgwIDAgMSAxIDE2MCAwIDgwIDgwIDAgMSAxIC0xNjAgMHptMjA4IDBhMTI4IDEyOCAwIDEgMCAtMjU2IDAgMTI4IDEyOCAwIDEgMCAyNTYgMHpNNDggNDgwYzAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4bDk2IDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04YzAtOTcuMi03OC44LTE3Ni0xNzYtMTc2bC05NiAwQzc4LjggMzA0IDAgMzgyLjggMCA0ODBsMCA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04eiJdfSxwdnQ9SEcsdXZ0PUhHLGZ2dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzbm93Zmxha2UiLGljb246WzUxMiw1MTIsWzEwMDUyLDEwMDU0XSwiZjJkYyIsIk0yODAuMS04YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNzguMS0yMy0yM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw1NyA1NyAwIDc2LjUtNjYuMi0zOC4yLTIwLjktNzcuOGMtMy40LTEyLjgtMTYuNi0yMC40LTI5LjQtMTdTOTUuMiA5OCA5OC43IDExMC44bDguNCAzMS41LTY3LjYtMzlDMjggOTYuNiAxMy4zIDEwMC41IDYuNyAxMTJTNCAxMzguMiAxNS41IDE0NC44bDY3LjYgMzktMzEuNSA4LjRjLTEyLjggMy40LTIwLjQgMTYuNi0xNyAyOS40czE2LjYgMjAuNCAyOS40IDE3bDc3LjgtMjAuOSA2Ni4yIDM4LjItNjYuMiAzOC4yLTc3LjgtMjAuOWMtMTIuOC0zLjQtMjYgNC4yLTI5LjQgMTdzNC4yIDI2IDE3IDI5LjRsMzEuNSA4LjQtNjcuNiAzOUM0IDM3My44IC4xIDM4OC41IDYuNyA0MDBzMjEuMyAxNS40IDMyLjggOC44bDY3LjYtMzktOC40IDMxLjVjLTMuNCAxMi44IDQuMiAyNiAxNyAyOS40czI2LTQuMiAyOS40LTE3bDIwLjktNzcuOCA2Ni4yLTM4LjIgMCA3Ni41LTU3IDU3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMjMtMjMgMCA3OC4xYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC03OC4xIDIzIDIzYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTctNTcgMC03Ni41IDY2LjIgMzguMiAyMC45IDc3LjhjMy40IDEyLjggMTYuNiAyMC40IDI5LjQgMTdzMjAuNC0xNi42IDE3LTI5LjRsLTguNC0zMS41IDY3LjYgMzljMTEuNSA2LjYgMjYuMiAyLjcgMzIuOC04LjhzMi43LTI2LjItOC44LTMyLjhsLTY3LjYtMzkgMzEuNS04LjRjMTIuOC0zLjQgMjAuNC0xNi42IDE3LTI5LjRzLTE2LjYtMjAuNC0yOS40LTE3bC03Ny44IDIwLjktNjYuMi0zOC4yIDY2LjItMzguMiA3Ny44IDIwLjljMTIuOCAzLjQgMjYtNC4yIDI5LjQtMTdzLTQuMi0yNi0xNy0yOS40bC0zMS41LTguNCA2Ny42LTM5YzExLjUtNi42IDE1LjQtMjEuMyA4LjgtMzIuOHMtMjEuMy0xNS40LTMyLjgtOC44bC02Ny42IDM5IDguNC0zMS41YzMuNC0xMi44LTQuMi0yNi0xNy0yOS40cy0yNiA0LjItMjkuNCAxN2wtMjAuOSA3Ny44LTY2LjIgMzguMiAwLTc2LjUgNTctNTdjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMjMgMjMgMC03OC4xeiJdfSxodnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiYm9va21hcmsiLGljb246WzM4NCw1MTIsWzEyODI3OCw2MTU5MV0sImYwMmUiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA0MTcuMWMwIDI1LjYtMjguNSA0MC44LTQ5LjggMjYuNkwxOTIgNDEyLjggNDkuOCA1MDcuN0MyOC41IDUyMS45IDAgNTA2LjYgMCA0ODEuMUwwIDY0ek02NCA0OGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzg3LjIgMTE3LjQtNzguMmMxNi4xLTEwLjcgMzcuMS0xMC43IDUzLjIgMEwzMzYgNDUxLjIgMzM2IDY0YzAtOC44LTcuMi0xNi0xNi0xNkw2NCA0OHoiXX0sVG5lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNxdWFyZS1jYXJldC1sZWZ0IixpY29uOls0NDgsNTEyLFsiY2FyZXQtc3F1YXJlLWxlZnQiXSwiZjE5MSIsIk00OCA0MTZjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyMGMwLTguOC03LjItMTYtMTYtMTZMNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMHptMTYgNjRjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwem02NC0yMjRjMC02LjcgMi44LTEzIDcuNy0xNy42bDExMi0xMDRjNy02LjUgMTcuMi04LjIgMjUuOS00LjRTMjg4IDE0Mi41IDI4OCAxNTJsMCAyMDhjMCA5LjUtNS43IDE4LjItMTQuNCAyMnMtMTguOSAyLjEtMjUuOS00LjRsLTExMi0xMDRjLTQuOS00LjUtNy43LTEwLjktNy43LTE3LjZ6Il19LG12dD1UbmUscUc9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZHNoYWtlIixpY29uOls2NDAsNTEyLFsxMjkzMDksNjI2NjIsImhhbmRzaGFrZS1hbHQiLCJoYW5kc2hha2Utc2ltcGxlIl0sImYyYjUiLCJNNTk4LjEgNzUuNGMxMC43LTcuOCAxMy4xLTIyLjggNS4zLTMzLjVzLTIyLjgtMTMuMS0zMy41LTUuM2wtNzQuNSA1NC4yLTkuOS02LjZDNDY1LjggNzEgNDQyLjYgNjQgNDE4LjkgNjRsLTU5LjIgMC0uNCAwLTE0My42IDBjLTI2LjcgMC01Mi41IDguOS03My40IDI1LjFMNzAuMSAzNi42Yy0xMC43LTcuOC0yNS43LTUuNC0zMy41IDUuM3MtNS40IDI1LjcgNS4zIDMzLjVsODggNjRjOS42IDYuOSAyMi43IDUuOSAzMS4xLTIuNGwzLjktMy45YzEzLjUtMTMuNSAzMS44LTIxLjEgNTAuOS0yMS4xbDQ2LjMgMC05MS43IDkxLjdjLTE1LjYgMTUuNi0xNS42IDQwLjkgMCA1Ni42bC44IC44QzIxOCAzMDggMjk0IDMwOCAzNDAuOSAyNjEuMWwyNy4xLTI3LjEgOTcuOCA5Ny44YzE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42bC05LjggOS44LTMxLTMxYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDI4IDI4Yy0xNy41IDEwLjQtMzcuMiAxNi43LTU3LjYgMTguNUwzMTMgMzk5Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDE1IDE1LTMuOCAwYy0zNi4xIDAtNzAuNy0xNC4zLTk2LjItMzkuOEw2NSAyNzljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlMMTYwLjIgNDQyLjFjMzQuNSAzNC41IDgxLjMgNTMuOSAxMzAuMSA1My45bDUxLjggMCAxIDEgMS0xIDUuNyAwYzQ4LjggMCA5NS42LTE5LjQgMTMwLjEtNTMuOWwxOS45LTE5LjljMS4yLTEuMiAyLjMtMi4zIDMuNC0zLjUgLjctLjUgMS4zLTEuMSAxLjktMS43TDYwOSAzMTNjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNTMuOCA1My44Yy00LjItMTIuOC0xMS4zLTI0LjktMjEuNS0zNS4xTDM4NSAxODNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC00NC4xIDQ0LjFjLTI2LjUgMjYuNS02OC41IDI4LTk2LjcgNC42bDk4LjctOTguN2MxMy40LTEzLjQgMzEuNi0yMSA1MC42LTIxLjFsOC41IDAgLjIgMCA1MC44IDBjMTQuMiAwIDI4LjEgNC4yIDM5LjkgMTIuMUw0ODIuNyAxNDBjOC40IDUuNiAxOS4zIDUuMyAyNy40LS42bDg4LTY0eiJdfSxndnQ9cUcsYnZ0PXFHLExuZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLXNtaWxlLXdpbmsiLGljb246WzUxMiw1MTIsWzEyODUyMSwic21pbGUtd2luayJdLCJmNGRhIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTc3LjMgNjMuNEMxOTIuMyAzMzUgMjE4LjQgMzUyIDI1NiAzNTJzNjMuNy0xNyA3OC43LTMyLjZjOS4yLTkuNiAyNC40LTkuOSAzMy45LS43czkuOSAyNC40IC43IDMzLjljLTIyLjEgMjMtNjAgNDcuNC0xMTMuMyA0Ny40cy05MS4yLTI0LjQtMTEzLjMtNDcuNGMtOS4yLTkuNi04LjktMjQuOCAuNy0zMy45czI0LjgtOC45IDMzLjkgLjd6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTY0IDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwYzAtMzMuMSAyNi45LTYwIDYwLTYwbDE2IDBjMzMuMSAwIDYwIDI2LjkgNjAgNjAgMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwLTktMjAtMjAtMjBsLTE2IDBjLTExIDAtMjAgOS0yMCAyMHoiXX0sdnZ0PUxuZSwkbmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluLXNxdWludC10ZWFycyIsaWNvbjpbNTEyLDUxMixbMTI5MzE1LCJncmluLXNxdWludC10ZWFycyJdLCJmNTg2IiwiTTQwMy4xIDQwMy4xYzY3LjItNjcuMiA3OC44LTE2OC45IDM0LjktMjQ4bDM2LjctNS4yYzQuNS0uNiA4LjgtMS42IDEzLjEtMi44IDQ0LjYgOTQuOSAyNy43IDIxMS41LTUwLjcgMjkwcy0xOTUuMSA5NS4zLTI5MCA1MC43YzEuMi00LjIgMi4xLTguNiAyLjgtMTMuMWw1LjItMzYuN2M3OS4xIDQzLjkgMTgwLjggMzIuMyAyNDgtMzQuOXpNNzUgNzVjNzguNC03OC40IDE5NS4xLTk1LjMgMjkwLTUwLjctMS4yIDQuMi0yLjEgOC42LTIuOCAxMy4xbC01LjIgMzYuN2MtNzkuMS00My45LTE4MC44LTMyLjMtMjQ4IDM0LjlzLTc4LjggMTY4LjktMzQuOSAyNDhsLTM2LjcgNS4yYy00LjUgLjYtOC44IDEuNi0xMy4xIDIuOC00NC42LTk0LjktMjcuNy0yMTEuNSA1MC43LTI5MHpNMzcwLjkgMjA2LjVjNS44LTEwLjkgMjEuMS0xMi40IDI2LjQtMS4zIDI1LjYgNTMuNSAxNi4yIDExOS42LTI4LjIgMTYzLjktNDQuMyA0NC4zLTExMC4zIDUzLjctMTYzLjggMjguMi0xMS4xLTUuMy05LjYtMjAuNiAxLjMtMjYuNCAzMi0xNy4xIDY0LjItNDAuOCA5My44LTcwLjQgMjkuNy0yOS43IDUzLjQtNjEuOSA3MC41LTk0ek05My4zIDI4MS45Yy0xLjctOCAyLjktMTUuOSAxMC42LTE4LjRsODQuNi0yOGM1LjctMS45IDEyLjEtLjQgMTYuMyAzLjlzNS44IDEwLjYgMy45IDE2LjNsLTI4IDg0LjZjLTIuNiA3LjctMTAuNSAxMi4zLTE4LjQgMTAuNnMtMTMuNC05LTEyLjctMTcuMWwzLjktNDMuMS00My4xIDMuOWMtOC4xIC43LTE1LjUtNC43LTE3LjEtMTIuN3pNMjk0LjYgMTEwLjRsLTMuOSA0My4xIDQzLjEtMy45YzguMS0uNyAxNS41IDQuNyAxNy4xIDEyLjdzLTIuOSAxNS45LTEwLjYgMTguNGwtODQuNiAyOGMtNS43IDEuOS0xMi4xIC40LTE2LjMtMy45cy01LjgtMTAuNi0zLjktMTYuM2wyOC04NC42YzIuNi03LjcgMTAuNS0xMi4zIDE4LjQtMTAuNnMxMy40IDkgMTIuNyAxNy4xek01MTIgNTEuNGMwIDI1LjYtMTguOCA0Ny4zLTQ0LjEgNTAuOUw0MjEuMSAxMDljLTEwLjYgMS41LTE5LjYtNy41LTE4LjEtMTguMWw2LjctNDYuN0M0MTMuMyAxOC44IDQzNSAwIDQ2MC42IDAgNDg5IDAgNTEyIDIzIDUxMiA1MS40ek00NC4xIDQwOS43TDkwLjkgNDAzYzEwLjYtMS41IDE5LjYgNy41IDE4LjEgMTguMWwtNi43IDQ2LjdDOTguNyA0OTMuMiA3NyA1MTIgNTEuNCA1MTIgMjMgNTEyIDAgNDg5IDAgNDYwLjYgMCA0MzUgMTguOCA0MTMuMyA0NC4xIDQwOS43eiJdfSx4dnQ9JG5lLHl2dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLWF1ZGlvIixpY29uOlszODQsNTEyLFtdLCJmMWM3IiwiTTY0IDQ4bDExMiAwIDAgODhjMCAzOS44IDMyLjIgNzIgNzIgNzJsODggMCAwIDI0MGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMNDggNjRjMC04LjggNy4yLTE2IDE2LTE2ek0yMjQgNjcuOWw5Mi4xIDkyLjEtNjguMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTY4LjF6TTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjYxLjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjQyLjcgMTguN0MyMzAuNyA2LjcgMjE0LjUgMCAxOTcuNSAwTDY0IDB6TTIyMS45IDI2Ny42Yy00LjcgMTAtLjMgMjEuOSA5LjcgMjYuNiAxOS4yIDguOSAzMi40IDI4LjMgMzIuNCA1MC44cy0xMy4yIDQxLjktMzIuNCA1MC44Yy0xMCA0LjctMTQuNCAxNi42LTkuNyAyNi42czE2LjYgMTQuNCAyNi42IDkuN0MyODEuMiA0MTYuOCAzMDQgMzgzLjYgMzA0IDM0NXMtMjIuOC03MS45LTU1LjYtODcuMWMtMTAtNC43LTIxLjktLjMtMjYuNiA5Ljd6TTEwNCAzMDVjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTYgMCAyNy4yIDM0YzMgMy44IDcuNiA2IDEyLjUgNmwuMyAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTEyOGMwLTguOC03LjItMTYtMTYtMTZsLS4zIDBjLTQuOSAwLTkuNSAyLjItMTIuNSA2bC0yNy4yIDM0LTE2IDB6TTIyMy4zIDM3M2M5LjktNS40IDE2LjctMTYgMTYuNy0yOC4xcy02LjctMjIuNy0xNi43LTI4LjFjLTcuOC00LjItMTUuMyAzLjMtMTUuMyAxMi4xbDAgMzJjMCA4LjggNy42IDE2LjMgMTUuMyAxMi4xeiJdfSxEbmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2FsZW5kYXIteG1hcmsiLGljb246WzQ0OCw1MTIsWyJjYWxlbmRhci10aW1lcyJdLCJmMjczIiwiTTEyMCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDAgMTYwIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHptMCAxMTJsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjg4YzAtOC44LTcuMi0xNi0xNi0xNmwtMjY0IDB6bTE3MS45IDkyLjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTMzLjkgMzMuOSAzMy45IDMzLjljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtMzMuOS0zMy45LTMzLjkgMzMuOWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMy45LTMzLjktMzMuOS0zMy45Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzMuOSAzMy45IDMzLjktMzMuOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHoiXX0sd3Z0PURuZSxBbmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLWRvd24iLGljb246WzUxMiw1MTIsWzYxNDY2LCJhcnJvdy1hbHQtY2lyY2xlLWRvd24iXSwiZjM1OCIsIk0yNTYgNDY0YTIwOCAyMDggMCAxIDEgMC00MTYgMjA4IDIwOCAwIDEgMSAwIDQxNnpNMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMiAyNTYgMjU2IDAgMSAwIDAtNTEyek0yNDQuNyAzODcuM2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGwxMDQtMTA0YzQuNi00LjYgNS45LTExLjUgMy41LTE3LjRTMzY2LjUgMjU2IDM2MCAyNTZsLTcyIDAgMC0xMDRjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTE2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTA0LTcyIDBjLTYuNSAwLTEyLjMgMy45LTE0LjggOS45cy0xLjEgMTIuOSAzLjUgMTcuNGwxMDQgMTA0eiJdfSxNdnQ9QW5lLFZHPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZpbGUtbGluZXMiLGljb246WzM4NCw1MTIsWzEyODQ0MSwxMjg0NjIsNjE2ODYsImZpbGUtYWx0IiwiZmlsZS10ZXh0Il0sImYxNWMiLCJNNjQgNDhsMTEyIDAgMCA4OGMwIDM5LjggMzIuMiA3MiA3MiA3Mmw4OCAwIDAgMjQwYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA2NGMwLTguOCA3LjItMTYgMTYtMTZ6TTIyNCA2Ny45bDkyLjEgOTIuMS02OC4xIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNjguMXpNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNjEuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNDIuNyAxOC43QzIzMC43IDYuNyAyMTQuNSAwIDE5Ny41IDBMNjQgMHptNTYgMjU2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LGt2dD1WRyx6dnQ9VkcsU3Z0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNvbW1lbnRzIixpY29uOls1NzYsNTEyLFsxMjg0OTAsNjE2NzBdLCJmMDg2IiwiTTc2LjIgMjU4LjdjNi4xLTE1LjIgNC0zMi42LTUuNi00NS45LTE0LjUtMjAuMS0yMi42LTQzLjctMjIuNi02OC44IDAtNjYuOCA2MC41LTEyOCAxNDQtMTI4czE0NCA2MS4yIDE0NCAxMjgtNjAuNSAxMjgtMTQ0IDEyOGMtMTUuOSAwLTMxLjEtMi4zLTQ1LjMtNi41LTEwLjMtMy4xLTIxLjQtMi41LTMxLjQgMS41bC01MC40IDIwLjIgMTEuNC0yOC41ek0wIDE0NGMwIDM1LjggMTEuNiA2OS4xIDMxLjcgOTYuOEwxLjkgMzE1LjJjLTEuMyAzLjItMS45IDYuNi0xLjkgMTAgMCAxNC44IDEyIDI2LjggMjYuOCAyNi44IDMuNCAwIDYuOC0uNyAxMC0xLjlsOTYuMy0zOC41YzE4LjYgNS41IDM4LjQgOC40IDU4LjkgOC40IDEwNiAwIDE5Mi03OC44IDE5Mi0xNzZTMjk4LTMyIDE5Mi0zMiAwIDQ2LjggMCAxNDR6TTM4NCA1MTJjMjAuNiAwIDQwLjMtMyA1OC45LTguNGw5Ni4zIDM4LjVjMy4yIDEuMyA2LjYgMS45IDEwIDEuOSAxNC44IDAgMjYuOC0xMiAyNi44LTI2LjggMC0zLjQtLjctNi44LTEuOS0xMGwtMjkuNy03NC40YzIwLTI3LjggMzEuNy02MS4xIDMxLjctOTYuOCAwLTgyLjQtNjEuNy0xNTEuNS0xNDUtMTcwLjctMS42IDE2LjMtNS4xIDMxLjktMTAuMSA0Ni45IDYzLjkgMTQuOCAxMDcuMiA2Ny4zIDEwNy4yIDEyMy45IDAgMjUuMS04LjEgNDguNy0yMi42IDY4LjgtOS42IDEzLjMtMTEuNyAzMC42LTUuNiA0NS45bDExLjQgMjguNS01MC40LTIwLjJjLTEwLTQtMjEuMS00LjUtMzEuNC0xLjUtMTQuMiA0LjItMjkuNCA2LjUtNDUuMyA2LjUtNzIuMiAwLTEyNy4xLTQ1LjctMTQwLjctMTAxLjItMTUuNiAzLjItMzEuNyA1LTQ4LjEgNS4yIDE2LjQgODEuOSA5NC43IDE0NCAxODguOCAxNDR6Il19LFFmPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1jaGVjayIsaWNvbjpbNTEyLDUxMixbNjE1MzMsImNoZWNrLWNpcmNsZSJdLCJmMDU4IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMSAwLTUxMiAyNTYgMjU2IDAgMSAxIDAgNTEyem0wLTQ2NGEyMDggMjA4IDAgMSAwIDAgNDE2IDIwOCAyMDggMCAxIDAgMC00MTZ6bTcwLjcgMTIxLjljNy44LTEwLjcgMjIuOC0xMy4xIDMzLjUtNS4zIDEwLjcgNy44IDEzLjEgMjIuOCA1LjMgMzMuNUwyNDMuNCAzNjYuMWMtNC4xIDUuNy0xMC41IDkuMy0xNy41IDkuOC03IC41LTEzLjktMi0xOC44LTYuOWwtNTUuOS01NS45Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzYgMzYgMTA1LjYtMTQ1LjJ6Il19LEN2dD1RZixfdnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibW9vbiIsaWNvbjpbNTEyLDUxMixbMTI3NzY5LDkyMTRdLCJmMTg2IiwiTTIzOS4zIDQ4LjdjLTEwNy4xIDguNS0xOTEuMyA5OC4xLTE5MS4zIDIwNy4zIDAgMTE0LjkgOTMuMSAyMDggMjA4IDIwOCAzMy4zIDAgNjQuNy03LjggOTIuNi0yMS43LTEwMy40LTIzLjQtMTgwLjYtMTE1LjgtMTgwLjYtMjI2LjMgMC02NS44IDI3LjQtMTI1LjEgNzEuMy0xNjcuM3pNMCAyNTZjMC0xNDEuNCAxMTQuNi0yNTYgMjU2LTI1NiAxOS40IDAgMzguNCAyLjIgNTYuNyA2LjMgOS45IDIuMiAxNy4zIDEwLjUgMTguNSAyMC41cy00IDE5LjgtMTMuMSAyNC40Yy02MC42IDMwLjItMTAyLjEgOTIuNy0xMDIuMSAxNjQuOCAwIDEwMS42IDgyLjQgMTg0IDE4NCAxODQgNSAwIDkuOS0uMiAxNC44LS42IDEwLjEtLjggMTkuNiA0LjggMjMuOCAxNC4xczIgMjAuMS01LjMgMjcuMUMzODcuMyA0ODQuOCAzMjQuOCA1MTIgMjU2IDUxMiAxMTQuNiA1MTIgMCAzOTcuNCAwIDI1NnoiXX0sVHZ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNsb3NlZC1jYXB0aW9uaW5nIixpY29uOls1MTIsNTEyLFtdLCJmMjBhIiwiTTQ0OCAxMTJjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjU2YzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0MDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTI1NmMwLTguOCA3LjItMTYgMTYtMTZsMzg0IDB6TTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0em04OCAxNDRsMzIgMGM0LjQgMCA4IDMuNiA4IDggMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTMwLjktMjUuMS01Ni01Ni01NmwtMzIgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4MGMwIDMwLjkgMjUuMSA1NiA1NiA1NmwzMiAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2IDAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgNC40LTMuNiA4LTggOGwtMzIgMGMtNC40IDAtOC0zLjYtOC04bDAtODBjMC00LjQgMy42LTggOC04em0xNjggOGMwLTQuNCAzLjYtOCA4LThsMzIgMGM0LjQgMCA4IDMuNiA4IDggMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTMwLjktMjUuMS01Ni01Ni01NmwtMzIgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4MGMwIDMwLjkgMjUuMSA1NiA1NiA1NmwzMiAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2IDAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgNC40LTMuNiA4LTggOGwtMzIgMGMtNC40IDAtOC0zLjYtOC04bDAtODB6Il19LEx2dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJpbWFnZXMiLGljb246WzU3Niw1MTIsW10sImYzMDIiLCJNNDgwIDgwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDI1NmMwIDguOC03LjIgMTYtMTYgMTZsLTMyMCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yNTZjMC04LjggNy4yLTE2IDE2LTE2bDMyMCAwek0xNjAgMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMjU2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDE2MCAzMnptODAgMTEyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTE0MC43IDMuOGMtNC4zLTcuMy0xMi4yLTExLjgtMjAuNy0xMS44cy0xNi40IDQuNS0yMC43IDExLjhsLTQ2LjUgNzktMTcuMi0yNC42Yy00LjUtNi40LTExLjgtMTAuMi0xOS43LTEwLjJzLTE1LjIgMy44LTE5LjcgMTAuMmwtNTYgODBjLTUuMSA3LjMtNS44IDE2LjktMS42IDI0LjhTMTkxLjEgMzIwIDIwMCAzMjBsMjQwIDBjOC42IDAgMTYuNi00LjYgMjAuOC0xMi4xczQuMi0xNi43LS4xLTI0LjFsLTgwLTEzNnpNNDggMTUyYzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMTM4LjcgMCAxNTJMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzYwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZsMC0yOTZ6Il19LFBuZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUtcmlnaHQiLGljb246WzUxMiw1MTIsWzYxODM4LCJhcnJvdy1hbHQtY2lyY2xlLXJpZ2h0Il0sImYzNWEiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAxIC00MTYgMCAyMDggMjA4IDAgMSAxIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwIDI1NiAyNTYgMCAxIDAgLTUxMiAwem0zODcuMyAxMS4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC0xMDQtMTA0Yy00LjYtNC42LTExLjUtNS45LTE3LjQtMy41UzI1NiAxNDUuNSAyNTYgMTUybDAgNzItMTA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTA0IDAgMCA3MmMwIDYuNSAzLjkgMTIuMyA5LjkgMTQuOHMxMi45IDEuMSAxNy40LTMuNWwxMDQtMTA0eiJdfSwkdnQ9UG5lLEVuZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJpZC1jYXJkIixpY29uOls1NzYsNTEyLFs2MjE0NywiZHJpdmVycy1saWNlbnNlIl0sImYyYzIiLCJNNDggNDE2bDAtMjU2IDQ4MCAwIDAgMjU2YzAgOC44LTcuMiAxNi0xNiAxNmwtMTkyIDBjMC00NC4yLTM1LjgtODAtODAtODBsLTY0IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwbC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZ6TTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTIwOCAzMTJhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTM3NiAyMDhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAweiJdfSxEdnQ9RW5lLEluZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUtcGxheSIsaWNvbjpbNTEyLDUxMixbNjE0NjksInBsYXktY2lyY2xlIl0sImYxNDQiLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDEgMCA0MTYgMjA4IDIwOCAwIDEgMSAwLTQxNnptMCA0NjRhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMTIuNSAxNDcuNWMtNy40LTQuNS0xNi43LTQuNy0yNC4zLS41UzE3NiAxNTkuMyAxNzYgMTY4bDAgMTc2YzAgOC43IDQuNyAxNi43IDEyLjMgMjAuOXMxNi44IDQuMSAyNC4zLS41bDE0NC04OGM3LjEtNC40IDExLjUtMTIuMSAxMS41LTIwLjVzLTQuNC0xNi4xLTExLjUtMjAuNWwtMTQ0LTg4ek0yOTggMjU2bC03NCA0NS4yIDAtOTAuNCA3NCA0NS4yeiJdfSxBdnQ9SW5lLE5uZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWxhdWdoLWJlYW0iLGljb246WzUxMiw1MTIsWzEyODUxMywibGF1Z2gtYmVhbSJdLCJmNTlhIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTE4LjMgNTguMmMtNC4yLTEzLjcgNy4xLTI2LjIgMjEuNC0yNi4ybDIzMi42IDBjMTQuMyAwIDI1LjYgMTIuNSAyMS40IDI2LjItMTggNTguOS03Mi45IDEwMS44LTEzNy43IDEwMS44UzEzNi4zIDM3My4xIDExOC4zIDMxNC4yek0xNzYgMTgwYy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0sUHZ0PU5uZSxSbmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiYWRkcmVzcy1ib29rIixpY29uOls1MTIsNTEyLFs2MjEzOCwiY29udGFjdC1ib29rIl0sImYyYjkiLCJNMzg0IDQ4YzguOCAwIDE2IDcuMiAxNiAxNmwwIDM4NGMwIDguOC03LjIgMTYtMTYgMTZMOTYgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMODAgNjRjMC04LjggNy4yLTE2IDE2LTE2bDI4OCAwek05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI4OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDB6TTI0MCAyNDhhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6bS0zMiA0MGMtNDQuMiAwLTgwIDM1LjgtODAgODAgMCA4LjggNy4yIDE2IDE2IDE2bDE5MiAwYzguOCAwIDE2LTcuMiAxNi0xNiAwLTQ0LjItMzUuOC04MC04MC04MGwtNjQgMHpNNTEyIDgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0ek00OTYgMTkyYy04LjggMC0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2em0xNiAxNDRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjR6Il19LEV2dD1SbmUsRm5lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhvdXJnbGFzcyIsaWNvbjpbMzg0LDUxMixbOTIwMyw2MjAzMiwiaG91cmdsYXNzLWVtcHR5Il0sImYyNTQiLCJNMjQgMEMxMC43IDAgMCAxMC43IDAgMjRTMTAuNyA0OCAyNCA0OGw4IDAgMCAxOWMwIDQwLjMgMTYgNzkgNDQuNSAxMDcuNWw4MS41IDgxLjUtODEuNSA4MS41QzQ4IDM2NiAzMiA0MDQuNyAzMiA0NDVsMCAxOS04IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzM2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTggMCAwLTE5YzAtNDAuMy0xNi03OS00NC41LTEwNy41bC04MS41LTgxLjUgODEuNS04MS41QzMzNiAxNDYgMzUyIDEwNy4zIDM1MiA2N2wwLTE5IDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNFMzNzMuMyAwIDM2MCAwTDI0IDB6TTE5MiAyODkuOWw4MS41IDgxLjVDMjkzIDM5MSAzMDQgNDE3LjQgMzA0IDQ0NWwwIDE5LTIyNCAwIDAtMTljMC0yNy42IDExLTU0IDMwLjUtNzMuNUwxOTIgMjg5Ljl6bTAtNjcuOWwtODEuNS04MS41QzkxIDEyMSA4MCA5NC42IDgwIDY3bDAtMTkgMjI0IDAgMCAxOWMwIDI3LjYtMTEgNTQtMzAuNSA3My41TDE5MiAyMjIuMXoiXX0sSXZ0PUZuZSxqRz17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoZWFkcGhvbmVzIixpY29uOls0NDgsNTEyLFsxMjc5MTEsNjI4NjMsImhlYWRwaG9uZXMtYWx0IiwiaGVhZHBob25lcy1zaW1wbGUiXSwiZjAyNSIsIk00OCAyMjRjMC05Ny4yIDc4LjgtMTc2IDE3Ni0xNzZzMTc2IDc4LjggMTc2IDE3NmwwIDQ0LjhjLTE0LjEtOC4yLTMwLjUtMTIuOC00OC0xMi44bC0xNiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDEyOGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxNiAwYzUzIDAgOTYtNDMgOTYtOTZsMC0xNjBDNDQ4IDEwMC4zIDM0Ny43IDAgMjI0IDBTMCAxMDAuMyAwIDIyNEwwIDM4NGMwIDUzIDQzIDk2IDk2IDk2bDE2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xMjhjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTE2IDBjLTE3LjUgMC0zMy45IDQuNy00OCAxMi44TDQ4IDIyNHptMCAxMjhjMC0yNi41IDIxLjUtNDggNDgtNDhsMTYgMCAwIDEyOC0xNiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTMyem0zNTIgMGwwIDMyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNiAwIDAtMTI4IDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDh6Il19LE52dD1qRyxSdnQ9akcsRnZ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZpbGUtcG93ZXJwb2ludCIsaWNvbjpbMzg0LDUxMixbXSwiZjFjNCIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwem04OCAyNTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTI4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNiAyOCAwYzM3LjYgMCA2OC0zMC40IDY4LTY4cy0zMC40LTY4LTY4LTY4bC01MiAwem01MiA4OGwtMjggMCAwLTQwIDI4IDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIweiJdfSxPdnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToid2luZG93LW1heGltaXplIixpY29uOls1MTIsNTEyLFsxMjg0NzBdLCJmMmQwIiwiTTQ4IDIyNGwwIDE2MGMwIDguOCA3LjIgMTYgMTYgMTZsMzg0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTYwLTQxNiAwek0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4eiJdfSxPbmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY29tbWVudC1kb3RzIixpY29uOls1MTIsNTEyLFsxMjgxNzIsNjIwNzUsImNvbW1lbnRpbmciXSwiZjRhZCIsIk0wIDI0MGMwIDU0LjQgMTkuMyAxMDQuNiA1MS45IDE0NC45TDMuMSA0NzQuM2MtMiAzLjctMy4xIDcuOS0zLjEgMTIuMiAwIDE0LjEgMTEuNCAyNS41IDI1LjUgMjUuNSA0IDAgNy44LS42IDExLjUtMi4xTDE1My40IDQ2MGMzMS40IDEyLjkgNjYuMSAyMCAxMDIuNiAyMCAxNDEuNCAwIDI1Ni0xMDcuNSAyNTYtMjQwUzM5Ny40IDAgMjU2IDAgMCAxMDcuNSAwIDI0MHpNOTQgNDA3LjljOS4zLTE3LjEgNy40LTM4LjEtNC44LTUzLjItMjYuMS0zMi4zLTQxLjItNzEuOS00MS4yLTExNC43IDAtMTAzLjIgOTAuMi0xOTIgMjA4LTE5MnMyMDggODguOCAyMDggMTkyLTkwLjIgMTkyLTIwOCAxOTJjLTMwLjIgMC01OC43LTUuOS04NC4zLTE2LjQtMTEuOS00LjktMjUuMy00LjgtMzcuMSAuM0w3NiA0NDAuOSA5NCA0MDcuOXpNMTQ0IDI3MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTE0NC0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem04MCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LEJ2dD1PbmUsQm5lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi10b25ndWUtd2luayIsaWNvbjpbNTEyLDUxMixbMTI4NTQwLCJncmluLXRvbmd1ZS13aW5rIl0sImY1OGIiLCJNMzY2LjkgNDMyYy44LTUuMiAxLjEtMTAuNiAxLjEtMTZsMC01My41YzEwLjItMTIuNiAxOC4zLTI2LjkgMjMuOC00Mi41IDQuMS0xMS42LTcuOC0yMS40LTE5LjYtMTcuOC0zNC44IDEwLjYtNzQuMyAxNi42LTExNi4zIDE2LjYtNDEuOSAwLTgxLjQtNi0xMTYuMS0xNi41LTExLjgtMy42LTIzLjcgNi4xLTE5LjYgMTcuOCA1LjUgMTUuNSAxMy42IDI5LjkgMjMuOCA0Mi40bDAgNTMuNWMwIDUuNCAuNCAxMC44IDEuMSAxNi01OC40LTM2LjgtOTcuMS0xMDEuOS05Ny4xLTE3NiAwLTExNC45IDkzLjEtMjA4IDIwOC0yMDhzMjA4IDkzLjEgMjA4IDIwOGMwIDc0LjEtMzguOCAxMzkuMi05Ny4xIDE3NnptLTM4LjggNjkuN0M0MzQuNCA0NzAuNiA1MTIgMzcyLjMgNTEyIDI1NiA1MTIgMTE0LjYgMzk3LjQgMCAyNTYgMFMwIDExNC42IDAgMjU2QzAgMzcyLjMgNzcuNiA0NzAuNiAxODMuOSA1MDEuNyAyMDMuNCA1MTguMSAyMjguNSA1MjggMjU2IDUyOHM1Mi42LTkuOSA3Mi4xLTI2LjN6TTMyMCAzNzguNmwwIDM3LjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRsMC0zNy40YzAtMTQuNyAxMS45LTI2LjYgMjYuNi0yNi42bDIgMGMxMS4zIDAgMjEuMSA3LjkgMjMuNiAxOC45IDIuOCAxMi42IDIwLjggMTIuNiAyMy42IDAgMi41LTExLjEgMTIuMy0xOC45IDIzLjYtMTguOWwyIDBjMTQuNyAwIDI2LjYgMTEuOSAyNi42IDI2LjZ6TTEzMiAyMzJjMC0xMSA5LTIwIDIwLTIwbDE2IDBjMTEgMCAyMCA5IDIwIDIwczkgMjAgMjAgMjAgMjAtOSAyMC0yMGMwLTMzLjEtMjYuOS02MC02MC02MGwtMTYgMGMtMzMuMSAwLTYwIDI2LjktNjAgNjAgMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjB6bTIyOC40LTI0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTI4OCAyMDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptMTI4IDBhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAweiJdfSxIdnQ9Qm5lLEhuZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJob3VyZ2xhc3MtaGFsZiIsaWNvbjpbMzg0LDUxMixbImhvdXJnbGFzcy0yIl0sImYyNTIiLCJNMCAyNEMwIDEwLjcgMTAuNyAwIDI0IDBMMzYwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTggMCAwIDE5YzAgNDAuMy0xNiA3OS00NC41IDEwNy41bC04MS41IDgxLjUgODEuNSA4MS41QzMzNiAzNjYgMzUyIDQwNC43IDM1MiA0NDVsMCAxOSA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDggMCAwLTE5YzAtNDAuMyAxNi03OSA0NC41LTEwNy41bDgxLjUtODEuNS04MS41LTgxLjVDNDggMTQ2IDMyIDEwNy4zIDMyIDY3bDAtMTktOCAwQzEwLjcgNDggMCAzNy4zIDAgMjR6TTExMC41IDM3MS41Yy0zLjkgMy45LTcuNSA4LjEtMTAuNyAxMi41bDE4NC40IDBjLTMuMi00LjQtNi44LTguNi0xMC43LTEyLjVsLTgxLjUtODEuNS04MS41IDgxLjV6TTgwLjggNDMyYy0uNSA0LjMtLjggOC42LS44IDEzbDAgMTkgMjI0IDAgMC0xOWMwLTQuNC0uMy04LjctLjgtMTNMODAuOCA0MzJ6TTI1NC4xIDE2MGwtMTI0LjEgMCA2Mi4xIDYyLjEgNjIuMS02Mi4xem0zOS43LTQ4QzMwMC40IDk4LjEgMzA0IDgyLjcgMzA0IDY3bDAtMTktMjI0IDAgMCAxOWMwIDE1LjcgMy42IDMxLjEgMTAuMiA0NWwyMDMuNSAweiJdfSxxdnQ9SG5lLHFuZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjcmVkaXQtY2FyZCIsaWNvbjpbNTEyLDUxMixbMTI4MTc5LDYyMDgzLCJjcmVkaXQtY2FyZC1hbHQiXSwiZjA5ZCIsIk00NDggMTEyYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyLTQxNiAwIDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDM4NCAwem0xNiAxMTJsMCAxNjBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQwMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTYwIDQxNiAwek02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHpNODAgMzQ0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0em0xNDQgMGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC02NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHoiXX0sVnZ0PXFuZSxqdnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1zcG9jayIsaWNvbjpbNTEyLDUxMixbMTI4NDA2XSwiZjI1OSIsIk0xMzguMyA4MC44Yy05LjItMzMuOCAxMC41LTY4LjggNDQuMy03OC40IDM0LTkuNiA2OS40IDEwLjIgNzkgNDQuMkwyOTEuOSAxNTMuNyAzMDUuMSA4NGM2LjYtMzQuNyA0MC4xLTU3LjUgNzQuOC01MC45IDMxLjQgNiA1MyAzMy45IDUyIDY0LjkgMTAtMi42IDIwLjgtMi44IDMxLjUtLjEgMzQuMyA4LjYgNTUuMSA0My4zIDQ2LjYgNzcuNkw0NTQuNyAzOTcuMkM0MzcuOCA0NjQuNyAzNzcuMiA1MTIgMzA3LjYgNTEybC0zMy43IDBjLTU2LjkgMC0xMTIuMi0xOS0xNTcuMi01My45bC05Mi03MS42Yy0yNy45LTIxLjctMzIuOS02MS45LTExLjItODkuOHM2MS45LTMyLjkgODkuOC0xMS4ybDE3IDEzLjItNTEuOC0xMzEuMmMtMTMtMzIuOSAzLjItNzAuMSAzNi04MyAxMS4xLTQuNCAyMi43LTUuNCAzMy43LTMuN3ptNzcuMS0yMS4yYy0yLjQtOC41LTExLjItMTMuNC0xOS43LTExcy0xMy40IDExLjItMTEgMTkuN2w1NC44IDE4Mi40YzMuNSAxMi4zLTMuMyAyNS4yLTE1LjQgMjkuM3MtMjUuMy0yLTMwLTEzLjlMMTQyLjkgMTM4LjFjLTMuMi04LjItMTIuNS0xMi4zLTIwLjgtOXMtMTIuMyAxMi41LTkgMjAuOGw3My4zIDE4NS42YzEyIDMwLjMtMjMuNyA1Ny00OS40IDM3TDczLjggMzIzLjRjLTctNS40LTE3LTQuMi0yMi41IDIuOHMtNC4yIDE3IDIuOCAyMi41bDkyIDcxLjZjMzYuNSAyOC40IDgxLjQgNDMuOCAxMjcuNyA0My44bDMzLjcgMGM0Ny41IDAgODktMzIuNCAxMDAuNS03OC41bDU1LjQtMjIxLjZjMi4xLTguNi0zLjEtMTcuMy0xMS42LTE5LjRzLTE3LjMgMy4xLTE5LjQgMTEuNmwtMjYgMTA0Yy0yLjkgMTEuNy0xMy40IDE5LjktMjUuNSAxOS45LTE2LjUgMC0yOC45LTE1LTI1LjgtMzEuMkwzODMuNyA5OWMxLjctOC43LTQtMTcuMS0xMi43LTE4LjdTMzU0IDg0LjMgMzUyLjMgOTNMMzIwLjUgMjYwYy0yLjIgMTEuNi0xMi40IDIwLTI0LjIgMjAtMTEgMC0yMC43LTcuMy0yMy43LTE3LjlMMjE1LjQgNTkuNnoiXX0sVXZ0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImJlbGwtc2xhc2giLGljb246WzU3Niw1MTIsWzEyODI3Nyw2MTk0M10sImYxZjYiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtODcuOC04Ny44YzE3LjUtMy4zIDMwLjgtMTguNyAzMC44LTM3LjEgMC02LjctMS44LTEzLjMtNS4xLTE5TDQ4NSAzMjEuN2MtMTktMzIuNi0yOS02OS42LTI5LTEwNy4zbDAtMTQuNWMwLTg0LjYtNjIuNi0xNTQuNy0xNDQtMTY2LjNsMC05LjdjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA5LjdjLTQyLjIgNi03OS40IDI3LjgtMTA1LjQgNTkuMUw0MS0yNC45ek0xOTIuOCAxMjYuOUMyMTQuNyA5OC40IDI0OS4yIDgwIDI4OCA4MCAzNTQuMyA4MCA0MDggMTMzLjcgNDA4IDIwMGwwIDE0LjVjMCA0Ni4yIDEyLjMgOTEuNSAzNS41IDEzMS40bDEyLjkgMjIuMS0yMi42IDAtMjQxLjEtMjQxLjF6TTEzMi41IDM0NS45YzE5LjUtMzMuNCAzMS4zLTcwLjcgMzQuNi0xMDlsLTQ2LjctNDYuN2MtLjIgMy4zLS4zIDYuNi0uMyA5LjlsMCAxNC41YzAgMzcuNy0xMCA3NC43LTI5IDEwNy4zTDY5LjEgMzU5LjJjLTMuNCA1LjgtNS4xIDEyLjMtNS4xIDE5IDAgMjAuOSAxNi45IDM3LjggMzcuOCAzNy44bDI0NC40IDAtNDgtNDgtMTc4LjYgMCAxMi45LTIyLjF6TTIyMC4xIDQ2NGM5LjkgMjggMzYuNiA0OCA2Ny45IDQ4czU4LTIwIDY3LjktNDhsLTEzNS44IDB6Il19LFd2dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzdGFyIixpY29uOls1NzYsNTEyLFsxMTA4OCw2MTQ0Nl0sImYwMDUiLCJNMjg4LjEtMzJjOSAwIDE3LjMgNS4xIDIxLjQgMTMuMUwzODMgMTI1LjMgNTQyLjkgMTUwLjdjOC45IDEuNCAxNi4zIDcuNyAxOS4xIDE2LjNzLjUgMTgtNS44IDI0LjRMNDQxLjcgMzA1LjkgNDY3IDQ2NS44YzEuNCA4LjktMi4zIDE3LjktOS42IDIzLjJzLTE3IDYuMS0yNSAyTDI4OC4xIDQxNy42IDE0My44IDQ5MWMtOCA0LjEtMTcuNyAzLjMtMjUtMnMtMTEtMTQuMi05LjYtMjMuMkwxMzQuNCAzMDUuOSAyMCAxOTEuNGMtNi40LTYuNC04LjYtMTUuOC01LjgtMjQuNHMxMC4xLTE0LjkgMTkuMS0xNi4zbDE1OS45LTI1LjQgNzMuNi0xNDQuMmM0LjEtOCAxMi40LTEzLjEgMjEuNC0xMy4xem0wIDc2LjhMMjMwLjMgMTU4Yy0zLjUgNi44LTEwIDExLjYtMTcuNiAxMi44bC0xMjUuNSAyMCA4OS44IDg5LjljNS40IDUuNCA3LjkgMTMuMSA2LjcgMjAuN2wtMTkuOCAxMjUuNSAxMTMuMy01Ny42YzYuOC0zLjUgMTQuOS0zLjUgMjEuOCAwbDExMy4zIDU3LjYtMTkuOC0xMjUuNWMtMS4yLTcuNiAxLjMtMTUuMyA2LjctMjAuN2w4OS44LTg5LjktMTI1LjUtMjBjLTcuNi0xLjItMTQuMS02LTE3LjYtMTIuOEwyODguMSA0NC44eiJdfSxHdnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmxhZyIsaWNvbjpbNDQ4LDUxMixbMTI3OTg4LDYxNzI1XSwiZjAyNCIsIk00OCAyNEM0OCAxMC43IDM3LjMgMCAyNCAwUzAgMTAuNyAwIDI0TDAgNDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMDAgODAuMy0yMC4xYzQxLjEtMTAuMyA4NC42LTUuNSAxMjIuNSAxMy40IDQ0LjIgMjIuMSA5NS41IDI0LjggMTQxLjcgNy40bDM0LjctMTNjMTIuNS00LjcgMjAuOC0xNi42IDIwLjgtMzBsMC0yNzkuN2MwLTIzLTI0LjItMzgtNDQuOC0yNy43bC05LjYgNC44Yy00Ni4zIDIzLjItMTAwLjggMjMuMi0xNDcuMSAwLTM1LjEtMTcuNi03NS40LTIyLTExMy41LTEyLjVMNDggNTIgNDggMjR6bTAgNzcuNWw5Ni42LTI0LjJjMjctNi43IDU1LjUtMy42IDgwLjQgOC44IDU0LjkgMjcuNCAxMTguNyAyOS43IDE3NSA2LjhsMCAyNDEuOC0yNC40IDkuMWMtMzMuNyAxMi42LTcxLjIgMTAuNy0xMDMuNC01LjQtNDguMi0yNC4xLTEwMy4zLTMwLjEtMTU1LjYtMTcuMWwtNjguNiAxNy4yIDAtMjM3eiJdfSxZdnQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibGVtb24iLGljb246WzQ0OCw1MTIsWzEyNzgxOV0sImYwOTQiLCJNMzY4IDgwYy0zLjIgMC02LjIgLjQtOC45IDEuMy0xOS4xIDUuNS00Ni4xIDEwLjctNzQuMyAzLjMtNTcuNC0xNC45LTEyNC42IDcuNC0xNzQuNyA1Ny41UzM3LjcgMjU5LjQgNTIuNiAzMTYuOGM3LjMgMjguMiAyLjIgNTUuMi0zLjMgNzQuMy0uOCAyLjgtMS4zIDUuOC0xLjMgOC45IDAgMTcuNyAxNC4zIDMyIDMyIDMyIDMuMiAwIDYuMi0uNCA4LjktMS4zIDE5LjEtNS41IDQ2LjEtMTAuNyA3NC4zLTMuMyA1Ny40IDE0LjkgMTI0LjYtNy40IDE3NC43LTU3LjVzNzIuNC0xMTcuMyA1Ny41LTE3NC43Yy03LjMtMjguMi0yLjItNTUuMiAzLjMtNzQuMyAuOC0yLjggMS4zLTUuOCAxLjMtOC45IDAtMTcuNy0xNC4zLTMyLTMyLTMyem0wLTQ4YzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgNy43LTEuMSAxNS4yLTMuMSAyMi4zLTQuNiAxNS44LTcuMSAzMi45LTMgNDguOSAyMC4xIDc3LjYtMTAuOSAxNjEuNS03MCAyMjAuN3MtMTQzLjEgOTAuMi0yMjAuNyA3MGMtMTYtNC4xLTMzLTEuNi00OC45IDMtNy4xIDItMTQuNiAzLjEtMjIuMyAzLjEtNDQuMiAwLTgwLTM1LjgtODAtODAgMC03LjcgMS4xLTE1LjIgMy4xLTIyLjMgNC42LTE1LjggNy4xLTMyLjkgMy00OC45LTIwLjEtNzcuNiAxMC45LTE2MS41IDcwLTIyMC43UzIxOS4zIDE4IDI5Ni44IDM4LjFjMTYgNC4xIDMzIDEuNiA0OC45LTMgNy4xLTIgMTQuNi0zLjEgMjIuMy0zLjF6TTI0Ni43IDE2N2MtNTIgMTUuMi05Ni41IDU5LjctMTExLjcgMTExLjctMy43IDEyLjctMTcuMSAyMC0yOS44IDE2LjNTODUuMiAyNzggODkgMjY1LjNjMTkuOC02Ny43IDc2LjYtMTI0LjUgMTQ0LjMtMTQ0LjMgMTIuNy0zLjcgMjYuMSAzLjYgMjkuOCAxNi4zcy0zLjYgMjYuMS0xNi4zIDI5Ljh6Il19LFp2dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJ3aW5kb3ctcmVzdG9yZSIsaWNvbjpbNTc2LDUxMixbXSwiZjJkMiIsIk01MTIgODBMMjI0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNi00OCAwIDAtMTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMjg4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxOTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTQ4IDAgMC00OCA0OCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTE5MmMwLTguOC03LjItMTYtMTYtMTZ6TTM2OCAyODhsLTMyMCAwIDAgMTI4YzAgOC44IDcuMiAxNiAxNiAxNmwyODggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMjh6TTY0IDE2MGwyODggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE5MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0eiJdfSxWbmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluLWhlYXJ0cyIsaWNvbjpbNTEyLDUxMixbMTI4NTI1LCJncmluLWhlYXJ0cyJdLCJmNTg0IiwiTTQ2NCAyNTZjMCAxMTQuOS05My4xIDIwOC0yMDggMjA4UzQ4IDM3MC45IDQ4IDI1NmMwLTMuNSAuMS03LjEgLjMtMTAuNi0xNC0xMy45LTI5LjctMzMuMS0zOS4zLTU2LjctNS44IDIxLjQtOC45IDQ0LTguOSA2Ny4zIDAgMTQxLjQgMTE0LjYgMjU2IDI1NiAyNTZTNTEyIDM5Ny40IDUxMiAyNTZjMC0yMy4zLTMuMS00NS45LTguOS02Ny4zLTkuNiAyMy43LTI1LjQgNDIuOC0zOS4zIDU2LjcgLjIgMy41IC4zIDcgLjMgMTAuNnpNMzY4IDU4LjljMTEuNy02IDI0LjUtOS42IDM3LjctMTAuNi00Mi4xLTMwLjQtOTMuOC00OC4zLTE0OS43LTQ4LjNTMTQ4LjQgMTcuOSAxMDYuMyA0OC4zYzEzLjIgMSAyNiA0LjYgMzcuNyAxMC42IDEzLjgtNy4xIDI5LjMtMTAuOSA0NS4xLTEwLjlsMi45IDBjOC45IDAgMTcuNiAxLjIgMjUuOCAzLjUgMTIuNC0yLjMgMjUuMi0zLjUgMzguMi0zLjVzMjUuOCAxLjIgMzguMiAzLjVjOC4yLTIuMyAxNi45LTMuNSAyNS44LTMuNWwyLjkgMGMxNS44IDAgMzEuMyAzLjggNDUuMSAxMC45em00LjIgMjQzLjRjLTM0LjggMTAuNi03NC4zIDE2LjYtMTE2LjMgMTYuNi00MS45IDAtODEuNC02LTExNi4xLTE2LjUtMTEuOC0zLjYtMjMuNyA2LjEtMTkuNiAxNy44IDE5LjggNTUuOSA3My4xIDk1LjkgMTM1LjggOTUuOSA2Mi43IDAgMTE2LTQwLjEgMTM1LjgtOTYgNC4xLTExLjYtNy44LTIxLjQtMTkuNi0xNy44ek0zMjIuOSA5NkwzMjAgOTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4IDAgNTMuNCA2Ni45IDk1LjcgODkgMTA4LjIgNC40IDIuNSA5LjYgMi41IDE0IDAgMjIuMS0xMi41IDg5LTU0LjggODktMTA4LjIgMC0yNi41LTIxLjUtNDgtNDgtNDhsLTIuOSAwYy0xMy41IDAtMjYuNSA1LjQtMzYgMTQuOWwtOS4xIDkuMS05LjEtOS4xYy05LjUtOS41LTIyLjUtMTQuOS0zNi0xNC45em0tMTg4IDE0LjljLTkuNS05LjUtMjIuNS0xNC45LTM2LTE0LjlMOTYgOTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4IDAgNTMuNCA2Ni45IDk1LjcgODkgMTA4LjIgNC40IDIuNSA5LjYgMi41IDE0IDAgMjIuMS0xMi41IDg5LTU0LjggODktMTA4LjIgMC0yNi41LTIxLjUtNDgtNDgtNDhsLTIuOSAwYy0xMy41IDAtMjYuNSA1LjQtMzYgMTQuOWwtOS4xIDkuMS05LjEtOS4xeiJdfSxYdnQ9Vm5lLGpuZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWtpc3MtYmVhbSIsaWNvbjpbNTEyLDUxMixbMTI4NTM3LCJraXNzLWJlYW0iXSwiZjU5NyIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTI0MCAxNmwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgMTIuMy00LjYgMjMuNS0xMi4yIDMyIDcuNiA4LjUgMTIuMiAxOS43IDEyLjIgMzIgMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0tNjQtOTJjLTE1LjUgMC0yOCAxMi41LTI4IDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjh6bTEzMiAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4eiJdfSxLdnQ9am5lLFF2dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLXBkZiIsaWNvbjpbNTc2LDUxMixbXSwiZjFjMSIsIk0yMDggNDhMOTYgNDhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDM4NGMwIDguOCA3LjIgMTYgMTYgMTZsODAgMCAwIDQ4LTgwIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDMyIDY0QzMyIDI4LjcgNjAuNyAwIDk2IDBMMjI5LjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzOTcuMyAxNDEuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zbDAgMTQ5LjUtNDggMCAwLTEyOC04OCAwYy0zOS44IDAtNzItMzIuMi03Mi03MmwwLTg4ek0zNDguMSAxNjBMMjU2IDY3LjkgMjU2IDEzNmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2OC4xIDB6TTI0MCAzODBsMzIgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MHMtMjYuOSA2MC02MCA2MGwtMTIgMCAwIDI4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTEyOGMwLTExIDktMjAgMjAtMjB6bTMyIDgwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtMTIgMCAwIDQwIDEyIDB6bTk2LTgwbDMyIDBjMjguNyAwIDUyIDIzLjMgNTIgNTJsMCA2NGMwIDI4LjctMjMuMyA1Mi01MiA1MmwtMzIgMGMtMTEgMC0yMC05LTIwLTIwbDAtMTI4YzAtMTEgOS0yMCAyMC0yMHptMzIgMTI4YzYuNiAwIDEyLTUuNCAxMi0xMmwwLTY0YzAtNi42LTUuNC0xMi0xMi0xMmwtMTIgMCAwIDg4IDEyIDB6bTc2LTEwOGMwLTExIDktMjAgMjAtMjBsNDggMGMxMSAwIDIwIDkgMjAgMjBzLTkgMjAtMjAgMjBsLTI4IDAgMCAyNCAyOCAwYzExIDAgMjAgOSAyMCAyMHMtOSAyMC0yMCAyMGwtMjggMCAwIDQ0YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTEyOHoiXX0sVW5lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi13aWRlIixpY29uOls1MTIsNTEyLFsxMjg1MTUsImdyaW4tYWx0Il0sImY1ODEiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0zNzIuMiA0Ni4zYzExLjgtMy42IDIzLjcgNi4xIDE5LjYgMTcuOC0xOS44IDU1LjktNzMuMSA5Ni0xMzUuOCA5Ni02Mi43IDAtMTE2LTQwLTEzNS44LTk1LjktNC4xLTExLjYgNy44LTIxLjQgMTkuNi0xNy44IDM0LjcgMTAuNiA3NC4yIDE2LjUgMTE2LjEgMTYuNSA0MiAwIDgxLjUtNiAxMTYuMy0xNi42ek0yMjQgMTkyYzAgMzUuMy0xNC4zIDY0LTMyIDY0cy0zMi0yOC43LTMyLTY0IDE0LjMtNjQgMzItNjQgMzIgMjguNyAzMiA2NHptOTYgNjRjLTE3LjcgMC0zMi0yOC43LTMyLTY0czE0LjMtNjQgMzItNjQgMzIgMjguNyAzMiA2NC0xNC4zIDY0LTMyIDY0eiJdfSxKdnQ9VW5lLFduZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWxhdWdoLXNxdWludCIsaWNvbjpbNTEyLDUxMixbImxhdWdoLXNxdWludCJdLCJmNTliIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTI1LjIgNzYuNGMtNi41LTE0IDUtMjguNCAyMC40LTI4LjRsMjIwLjggMGMxNS40IDAgMjYuOCAxNC40IDIwLjQgMjguNC0yMi44IDQ5LjQtNzIuOCA4My42LTEzMC44IDgzLjZzLTEwNy45LTM0LjItMTMwLjgtODMuNnptLTIuNi0xNzMuMmM0LjUtNi44IDEzLjMtOS4yIDIwLjYtNS41bDc5LjYgNDBjNS40IDIuNyA4LjggOC4yIDguOCAxNC4zcy0zLjQgMTEuNi04LjggMTQuM2wtNzkuNiA0MGMtNy4zIDMuNi0xNi4xIDEuMy0yMC42LTUuNXMtMy4xLTE1LjkgMy4xLTIxLjFMMTU5IDIwOCAxMjUuOCAxODAuM2MtNi4yLTUuMi03LjYtMTQuMy0zLjEtMjEuMXptMjYzLjYgMjEuMUwzNTMgMjA4IDM4Ni4yIDIzNS43YzYuMiA1LjIgNy42IDE0LjMgMy4xIDIxLjFzLTEzLjMgOS4yLTIwLjYgNS41bC03OS42LTQwYy01LjQtMi43LTguOC04LjItOC44LTE0LjNzMy40LTExLjYgOC44LTE0LjNsNzkuNi00MGM3LjMtMy42IDE2LjEtMS4zIDIwLjYgNS41czMuMSAxNS45LTMuMSAyMS4xeiJdfSxleHQ9V25lLEduZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWtpc3Mtd2luay1oZWFydCIsaWNvbjpbNjQwLDUxMixbMTI4NTM2LCJraXNzLXdpbmstaGVhcnQiXSwiZjU5OCIsIk0zODYgNDM5LjVjLTI5LjIgMTUuNi02Mi41IDI0LjUtOTggMjQuNS0xMTQuOSAwLTIwOC05My4xLTIwOC0yMDhTMTczLjIgNDggMjg4IDQ4YzExMy4yIDAgMjA1LjIgOTAuNCAyMDcuOSAyMDIuOSAxNC4zIDEuNSAyOC42IDYgNDEuOSAxMy43IDIgMS4yIDQgMi40IDUuOSAzLjcgLjItNC4xIC4zLTguMiAuMy0xMi4zIDAtMTQxLjQtMTE0LjYtMjU2LTI1Ni0yNTZTMzIgMTE0LjYgMzIgMjU2IDE0Ni42IDUxMiAyODggNTEyYzQxLjQgMCA4MC41LTkuOCAxMTUuMS0yNy4zLTUuOC0xMi45LTEyLTI4LjUtMTcuMi00NS4yek0yNTYgMjg4YzAgOC44IDcuMiAxNiAxNiAxNmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMzIgMGMyNi41IDAgNDgtMjEuNSA0OC00OCAwLTEyLjMtNC42LTIzLjUtMTIuMi0zMiA3LjYtOC41IDEyLjItMTkuNyAxMi4yLTMyIDAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bS00OC00OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTE1Mi00NGwxNiAwYzExIDAgMjAgOSAyMCAyMHM5IDIwIDIwIDIwIDIwLTkgMjAtMjBjMC0zMy4xLTI2LjktNjAtNjAtNjBsLTE2IDBjLTMzLjEgMC02MCAyNi45LTYwIDYwIDAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwIDktMjAgMjAtMjB6TTU0Mi44IDM1MGMtMi4yLTE4LjMtMTIuOS0zNC42LTI4LjktNDMuOC0yOC4xLTE2LjItNjMuOS02LjYtODAuMSAyMS41bC0yLjcgNC42Yy0yNC41IDQyLjUgNy45IDExNy45IDI0LjQgMTUwLjggNS4xIDEwLjEgMTUuNSAxNi4xIDI2LjggMTUuNSAzNi43LTIuMiAxMTguMi0xMS43IDE0Mi44LTU0LjJsMi43LTQuNmMxNi4yLTI4LjEgNi42LTYzLjktMjEuNS04MC4xLTE2LTkuMi0zNS40LTEwLjQtNTIuNC0zLjFsLTkuOCA0LjItMS4zLTEwLjZ6Il19LHR4dD1HbmUsV0c9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY29weSIsaWNvbjpbNDQ4LDUxMixbXSwiZjBjNSIsIk0zODQgMzM2bC0xOTIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjU2YzAtOC44IDcuMi0xNiAxNi0xNmwxMzMuNSAwYzQuMiAwIDguMyAxLjcgMTEuMyA0LjdsNTguNSA1OC41YzMgMyA0LjcgNy4xIDQuNyAxMS4zTDQwMCAzMjBjMCA4LjgtNy4yIDE2LTE2IDE2ek0xOTIgMzg0bDE5MiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTk3LjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMzcwLjcgMTguN0MzNTguNyA2LjcgMzQyLjUgMCAzMjUuNSAwTDE5MiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NHpNNjQgMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE2LTQ4IDAgMCAxNmMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZsMC0yNTZjMC04LjggNy4yLTE2IDE2LTE2bDE2IDAgMC00OC0xNiAweiJdfSxheHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2hlc3Mta2luZyIsaWNvbjpbNDQ4LDUxMixbOTgxOF0sImY0M2YiLCJNMjI0LTMyYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDAgNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMCAwIDgwIDE2MS44IDBjMjEuMSAwIDM4LjIgMTcuMSAzOC4yIDM4LjIgMCA2LjQtMS42IDEyLjctNC43IDE4LjNMMzU3LjIgMzc0LjUgNDA1LjYgNDM1YzYuNyA4LjQgMTAuNCAxOC44IDEwLjQgMjkuNiAwIDI2LjItMjEuMiA0Ny40LTQ3LjQgNDcuNEw3OS40IDUxMmMtMjYuMiAwLTQ3LjQtMjEuMi00Ny40LTQ3LjQgMC0xMC44IDMuNy0yMS4yIDEwLjQtMjkuNkw5MC44IDM3NC41IDQuNyAyMTYuNkMxLjYgMjEwLjkgMCAyMDQuNiAwIDE5OC4yIDAgMTc3LjEgMTcuMSAxNjAgMzguMiAxNjBsMTYxLjggMCAwLTgwLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDggMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0ek0xMzEuOCA0MDBsLTMuNiA0LjQtNDcuNiA1OS42IDI4Ni42IDAtNDcuNi01OS42LTMuNi00LjQtMTg0LjMgMHptMS4xLTQ4LjVsLjMgLjUgMTgxLjYgMCAuMy0uNSA3OC4zLTE0My41LTMzOC43IDAgNzguMyAxNDMuNXoiXX0sWW5lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNxdWFyZS1wbHVzIixpY29uOls0NDgsNTEyLFs2MTg0NiwicGx1cy1zcXVhcmUiXSwiZjBmZSIsIk02NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzIwYzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMjBjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDgwek0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnpNMjAwIDM0NGwwLTY0LTY0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNjQgMCAwLTY0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA2NCA2NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC02NCAwIDAgNjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjR6Il19LHJ4dD1ZbmUsaXh0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZpbGUtY29kZSIsaWNvbjpbMzg0LDUxMixbXSwiZjFjOSIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwek0xNzAuMiAyOTUuNmM4LjYtMTAuMSA3LjUtMjUuMi0yLjYtMzMuOHMtMjUuMi03LjUtMzMuOCAyLjZsLTQ4IDU2Yy03LjcgOS03LjcgMjIuMiAwIDMxLjJsNDggNTZjOC42IDEwLjEgMjMuOCAxMS4yIDMzLjggMi42czExLjItMjMuOCAyLjYtMzMuOGwtMzQuNi00MC40IDM0LjYtNDAuNHptODAtMzEuMmMtOC42LTEwLjEtMjMuOC0xMS4yLTMzLjgtMi42cy0xMS4yIDIzLjgtMi42IDMzLjhsMzQuNiA0MC40LTM0LjYgNDAuNGMtOC42IDEwLjEtNy41IDI1LjIgMi42IDMzLjhzMjUuMiA3LjUgMzMuOC0yLjZsNDgtNTZjNy43LTkgNy43LTIyLjIgMC0zMS4ybC00OC01NnoiXX0sWm5lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi13aW5rIixpY29uOls1MTIsNTEyLFsiZ3Jpbi13aW5rIl0sImY1OGMiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0zNzIuMiA0Ni4zYzExLjgtMy42IDIzLjcgNi4xIDE5LjYgMTcuOC0xOS44IDU1LjktNzMuMSA5Ni0xMzUuOCA5Ni02Mi43IDAtMTE2LTQwLTEzNS44LTk1LjktNC4xLTExLjYgNy44LTIxLjQgMTkuNi0xNy44IDM0LjcgMTAuNiA3NC4yIDE2LjUgMTE2LjEgMTYuNSA0MiAwIDgxLjUtNiAxMTYuMy0xNi42ek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE2NCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGMwLTMzLjEgMjYuOS02MCA2MC02MGwxNiAwYzMzLjEgMCA2MCAyNi45IDYwIDYwIDAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMC05LTIwLTIwLTIwbC0xNiAwYy0xMSAwLTIwIDktMjAgMjB6Il19LHN4dD1abmUsWG5lPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6Im1vbmV5LWJpbGwtMSIsaWNvbjpbNTEyLDUxMixbIm1vbmV5LWJpbGwtYWx0Il0sImYzZDEiLCJNMTEyIDExMmMwIDM1LjMtMjguNyA2NC02NCA2NGwwIDE2MGMzNS4zIDAgNjQgMjguNyA2NCA2NGwyODggMGMwLTM1LjMgMjguNy02NCA2NC02NGwwLTE2MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsLTI4OCAwek0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4em0yNTYgMTZhMTEyIDExMiAwIDEgMSAwIDIyNCAxMTIgMTEyIDAgMSAxIDAtMjI0em0tMTYgNDRjLTExIDAtMjAgOS0yMCAyMCAwIDkuNyA2LjkgMTcuNyAxNiAxOS42bDAgNDguNC00IDBjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwbDQ4IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC00IDAgMC02OGMwLTExLTktMjAtMjAtMjBsLTE2IDB6Il19LG94dD1YbmUsbnh0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImV5ZS1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZjA3MCIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC05Ni40LTk2LjRjMi43LTIuNCA1LjQtNC44IDgtNy4yIDQ2LjgtNDMuNSA3OC4xLTk1LjQgOTMtMTMxLjEgMy4zLTcuOSAzLjMtMTYuNyAwLTI0LjYtMTQuOS0zNS43LTQ2LjItODcuNy05My0xMzEuMS00Ny4xLTQzLjctMTExLjgtODAuNi0xOTIuNi04MC42LTU2LjggMC0xMDUuNiAxOC4yLTE0NiA0NC4yTDQxLTI0Ljl6TTE3Ni45IDExMS4xYzMyLjEtMTguOSA2OS4yLTMxLjEgMTExLjEtMzEuMSA2NS4yIDAgMTE4LjggMjkuNiAxNTkuOSA2Ny43IDM4LjUgMzUuNyA2NS4xIDc4LjMgNzguNiAxMDguMy0xMy42IDMwLTQwLjIgNzIuNS03OC42IDEwOC4zLTMuMSAyLjgtNi4yIDUuNi05LjQgOC40TDM5My44IDMyOGMxNC0yMC41IDIyLjItNDUuMyAyMi4yLTcyIDAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4LTI2LjcgMC01MS41IDguMi03MiAyMi4ybC0zOS4xLTM5LjF6bTE4MiAxODJsLTEwOC0xMDhjMTEuMS01LjggMjMuNy05LjEgMzcuMS05LjEgNDQuMiAwIDgwIDM1LjggODAgODAgMCAxMy40LTMuMyAyNi05LjEgMzcuMXpNMTAzLjQgMTczLjJsLTM0LTM0Yy0zMi42IDM2LjgtNTUgNzUuOC02Ni45IDEwNC41LTMuMyA3LjktMy4zIDE2LjcgMCAyNC42IDE0LjkgMzUuNyA0Ni4yIDg3LjcgOTMgMTMxLjEgNDcuMSA0My43IDExMS44IDgwLjYgMTkyLjYgODAuNiAzNy4zIDAgNzEuMi03LjkgMTAxLjUtMjAuNkwzNTIuMiA0MjJjLTIwIDYuNC00MS40IDEwLTY0LjIgMTAtNjUuMiAwLTExOC44LTI5LjYtMTU5LjktNjcuNy0zOC41LTM1LjctNjUuMS03OC4zLTc4LjYtMTA4LjMgMTAuNC0yMy4xIDI4LjYtNTMuNiA1NC04Mi44eiJdfSxseHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZS13b3JkIixpY29uOlszODQsNTEyLFtdLCJmMWMyIiwiTTY0IDQ4bDExMiAwIDAgODhjMCAzOS44IDMyLjIgNzIgNzIgNzJsODggMCAwIDI0MGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMNDggNjRjMC04LjggNy4yLTE2IDE2LTE2ek0yMjQgNjcuOWw5Mi4xIDkyLjEtNjguMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTY4LjF6TTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjYxLjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjQyLjcgMTguN0MyMzAuNyA2LjcgMjE0LjUgMCAxOTcuNSAwTDY0IDB6bTcxLjMgMjc0LjJjLTMuMi0xMi45LTE2LjItMjAuNy0yOS4xLTE3LjVTODUuNSAyNzMgODguNyAyODUuOGwzMiAxMjhjMi41IDEwLjIgMTEuNCAxNy41IDIxLjkgMTguMXMyMC4xLTUuNyAyMy44LTE1LjVsMjUuNS02OC4xIDI1LjUgNjguMWMzLjcgOS44IDEzLjMgMTYuMSAyMy44IDE1LjVzMTkuNC03LjkgMjEuOS0xOC4xbDMyLTEyOGMzLjItMTIuOS00LjYtMjUuOS0xNy41LTI5LjFzLTI1LjkgNC42LTI5LjEgMTcuNWwtMTMuMyA1My4yLTIwLjktNTUuOEMyMTEgMjYyLjIgMjAyIDI1NiAxOTIgMjU2cy0xOSA2LjItMjIuNSAxNS42bC0yMC45IDU1LjgtMTMuMy01My4yeiJdfSxLbmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1hbmdyeSIsaWNvbjpbNTEyLDUxMixbMTI4NTQ0LCJhbmdyeSJdLCJmNTU2IiwiTTI1NiA0OGEyMDggMjA4IDAgMSAxIDAgNDE2IDIwOCAyMDggMCAxIDEgMC00MTZ6bTAgNDY0YTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnptMC0xNDRjMjQuMSAwIDQ1LjQgMTEuOCA1OC41IDMwIDcuNyAxMC44IDIyLjcgMTMuMiAzMy41IDUuNXMxMy4yLTIyLjcgNS41LTMzLjVjLTIxLjctMzAuMi01Ny4zLTUwLTk3LjUtNTBzLTc1LjcgMTkuOC05Ny41IDUwYy03LjcgMTAuOC01LjMgMjUuOCA1LjUgMzMuNXMyNS44IDUuMyAzMy41LTUuNWMxMy4xLTE4LjIgMzQuNC0zMCA1OC41LTMwem0tODAtOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0uMyA5LjcgMy4yYzEwLjUgMy41IDIxLjgtMi4yIDI1LjMtMTIuNnMtMi4yLTIxLjgtMTIuNi0yNS4zbC05Ni0zMmMtMTAuNS0zLjUtMjEuOCAyLjItMjUuMyAxMi42czIuMiAyMS44IDEyLjYgMjUuM2wyOC45IDkuNmMtNC4xIDUuNC02LjYgMTIuMS02LjYgMTkuNCAwIDE3LjcgMTQuMyAzMiAzMiAzMnptMTkyLTMyYzAtNy4zLTIuNC0xNC02LjYtMTkuNGwyOC45LTkuNmMxMC41LTMuNSAxNi4xLTE0LjggMTIuNi0yNS4zcy0xNC44LTE2LjEtMjUuMy0xMi42bC05NiAzMmMtMTAuNSAzLjUtMTYuMSAxNC44LTEyLjYgMjUuM3MxNC44IDE2LjEgMjUuMyAxMi42bDkuNy0zLjIgMCAuM2MwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyeiJdfSxjeHQ9S25lLGR4dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaGVzcy1rbmlnaHQiLGljb246WzQ0OCw1MTIsWzk4MjJdLCJmNDQxIiwiTTIzMi0zMmMxMTAuNSAwIDIwMCA4OS41IDIwMCAyMDBsMCAxMjcuN2MwIDE4LjktNi4xIDM3LjEtMTcuMiA1Mi4ybC01LjEgNi4yLTM2LjMgNDAuNyAzMi4xIDQwLjJjNi43IDguNCAxMC40IDE4LjggMTAuNCAyOS42bC0uMiA0LjhjLTIuNCAyMy45LTIyLjYgNDIuNS00Ny4xIDQyLjVsLTI4OS4yIDAtNC44LS4yYy0yMy45LTIuNC00Mi41LTIyLjYtNDIuNS00Ny4xIDAtMTAuOCAzLjctMjEuMiAxMC40LTI5LjZsMzcuNi00NyAwLTI0LjNjMC0yNC4zIDEwLjEtNDcuNiAyNy44LTY0LjJsNjMuNS01OS41LTE3LjQgMC0uMiAuMmMtMjAuMyAyMC4zLTQ5LjYgMjguMi03Ny4xIDIxLjFsLTUuNS0xLjZjLTMwLjktMTAuMy01Mi4zLTM4LTU0LjktNzAuMWwtLjItNi40IDAtMS40YzAtMTkuNyA3LjEtMzguOCAxOS45LTUzLjhsNzYuMS04OC44IDAtNDcuMSAuMS0yLjVDMTEzLjQtMjIuNiAxMjMuNi0zMiAxMzYtMzJsOTYgMHpNODAuNyA0NjRsMjg2LjYgMC0zOC40LTQ4LTIwOS45IDAtMzguNCA0OHpNMTYwIDQ4YzAgNS43LTIuMSAxMS4zLTUuOCAxNS42TDcyLjMgMTU5LjFDNjcgMTY1LjQgNjQgMTczLjQgNjQgMTgxLjdsMCAxLjQgLjQgNS4yYzEuOSAxMS45IDEwLjMgMjEuOSAyMS45IDI1LjhsNC41IDEuMWMxMC41IDEuOSAyMS4zLTEuNCAyOS05bDcuMi03LjIgMy43LTNjMy45LTIuNiA4LjUtNCAxMy4zLTRsODggMGM5LjggMCAxOC43IDYgMjIuMyAxNS4yczEuMyAxOS42LTUuOSAyNi4zbC0xMDcuOCAxMDFjLTguMSA3LjYtMTIuNyAxOC4xLTEyLjcgMjkuMmwwIDQuMyAyMDUuMiAwIDQwLjctNDUuOCAyLjMtMi44YzUuMS02LjggNy44LTE1LjIgNy44LTIzLjdMMzg0IDE2OGMwLTgzLjktNjguMS0xNTItMTUyLTE1MmwtNzIgMCAwIDMyem0zMiA3MmEyNCAyNCAwIDEgMSAwLTQ4IDI0IDI0IDAgMSAxIDAgNDh6Il19LFFuZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4tYmVhbSIsaWNvbjpbNTEyLDUxMixbMTI4NTE2LCJncmluLWJlYW0iXSwiZjU4MiIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTM3Mi4yIDQ2LjNjMTEuOC0zLjYgMjMuNyA2LjEgMTkuNiAxNy44LTE5LjggNTUuOS03My4xIDk2LTEzNS44IDk2LTYyLjcgMC0xMTYtNDAtMTM1LjgtOTUuOS00LjEtMTEuNiA3LjgtMjEuNCAxOS42LTE3LjggMzQuNyAxMC42IDc0LjIgMTYuNSAxMTYuMSAxNi41IDQyIDAgODEuNS02IDExNi4zLTE2LjZ6TTE3NiAxODBjLTE1LjUgMC0yOCAxMi41LTI4IDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjh6bTEzMiAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4eiJdfSxweHQ9UW5lLHV4dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLXBlYWNlIixpY29uOls0NDgsNTEyLFs5OTk2XSwiZjI1YiIsIk0yMTkgMS40Yy0zNS4yLTMuNy02Ni42IDIxLjgtNzAuMyA1N2wtNi40IDYwLjYtMTcuNC00OS40QzExMy4yIDM2LjMgNzYuNiAxOC44IDQzLjMgMzAuNVMtNy42IDc4LjggNC4xIDExMi4xTDU2LjkgMjYyLjJDNDEuNyAyNzYuNyAzMi4yIDI5Ny4zIDMyLjIgMzIwbDAgMjRjMCA5Mi44IDc1LjIgMTY4IDE2OCAxNjhsNDggMGM5Mi44IDAgMTY4LTc1LjIgMTY4LTE2OGwwLTEyMGMwLTM1LjMtMjguNy02NC02NC02NC03LjkgMC0xNS40IDEuNC0yMi40IDQtMTAuNC0yMS4zLTMyLjMtMzYtNTcuNi0zNi0uNyAwLTEuNSAwLTIuMiAwbDUuOS01Ni4zYzMuNy0zNS4yLTIxLjgtNjYuNi01Ny03MC4zem0tLjIgMTU1LjRjLTYuNiAxMC4xLTEwLjUgMjIuMi0xMC41IDM1LjJsMCA0OGMwIC43IDAgMS40IDAgMi01LjEtMS4zLTEwLjUtMi0xNi0ybC03LjQgMC01LjQtMTUuMyAxNy0xNjEuM2MuOS04LjggOC44LTE1LjIgMTcuNi0xNC4yczE1LjIgOC44IDE0LjIgMTcuNmwtOS41IDkwLjF6TTc5LjYgODUuNmw1NC4zIDE1NC40LTIxLjcgMGMtNCAwLTggLjMtMTEuOSAuOUw0OS40IDk2LjJjLTIuOS04LjMgMS41LTE3LjUgOS44LTIwLjRzMTcuNSAxLjUgMjAuNCA5Ljh6TTI1Ni4yIDE5MmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC00OHptMzguNCAxMDhjMTAuNCAyMS4zIDMyLjMgMzYgNTcuNiAzNiA1LjUgMCAxMC45LS43IDE2LTJsMCAxMGMwIDY2LjMtNTMuNyAxMjAtMTIwIDEyMGwtNDggMGMtNjYuMyAwLTEyMC01My43LTEyMC0xMjBsMC0yNGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw4MCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC00MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjQgMC0uNyAwLTEuNCAwLTIgNS4xIDEuMyAxMC41IDIgMTYgMiA3LjkgMCAxNS40LTEuNCAyMi40LTR6bTczLjYtMjhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC00OGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNDh6Il19LGZ4dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjb21wYXNzIixpY29uOls1MTIsNTEyLFsxMjk1MTddLCJmMTRlIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMzA2LjcgNjkuMUwxNjIuNCAzODAuNmMtMTkuNCA3LjUtMzguNS0xMS42LTMxLTMxbDU1LjUtMTQ0LjNjMy4zLTguNSA5LjktMTUuMSAxOC40LTE4LjRsMTQ0LjMtNTUuNWMxOS40LTcuNSAzOC41IDExLjYgMzEgMzFMMzI1LjEgMzA2LjdjLTMuMyA4LjUtOS45IDE1LjEtMTguNCAxOC40ek0yODggMjU2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LGh4dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzcXVhcmUiLGljb246WzQ0OCw1MTIsWzk2MzIsOTcyMyw5NzI0LDYxNTkwXSwiZjBjOCIsIk0zODQgODBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzIwYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0MzJjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA5NmMwLTguOCA3LjItMTYgMTYtMTZsMzIwIDB6TTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6Il19LEpuZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4iLGljb246WzUxMiw1MTIsWzEyODUxMiwiZ3JpbiJdLCJmNTgwIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMzcyLjIgNDYuM2MxMS44LTMuNiAyMy43IDYuMSAxOS42IDE3LjgtMTkuOCA1NS45LTczLjEgOTYtMTM1LjggOTYtNjIuNyAwLTExNi00MC0xMzUuOC05NS45LTQuMS0xMS42IDcuOC0yMS40IDE5LjYtMTcuOCAzNC43IDEwLjYgNzQuMiAxNi41IDExNi4xIDE2LjUgNDIgMCA4MS41LTYgMTE2LjMtMTYuNnpNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxteHQ9Sm5lLGVsZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLXNtaWxlIixpY29uOls1MTIsNTEyLFsxMjg1NzgsInNtaWxlIl0sImYxMTgiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0xNzcuMyA2My40QzE5Mi4zIDMzNSAyMTguNCAzNTIgMjU2IDM1MnM2My43LTE3IDc4LjctMzIuNmM5LjItOS42IDI0LjQtOS45IDMzLjktLjdzOS45IDI0LjQgLjcgMzMuOWMtMjIuMSAyMy02MCA0Ny40LTExMy4zIDQ3LjRzLTkxLjItMjQuNC0xMTMuMy00Ny40Yy05LjItOS42LTguOS0yNC44IC43LTMzLjlzMjQuOC04LjkgMzMuOSAuN3pNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxneHQ9ZWxlLHRsZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLXNtaWxlLWJlYW0iLGljb246WzUxMiw1MTIsWzEyODUyMiwic21pbGUtYmVhbSJdLCJmNWI4IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTc3LjMgNjMuNEMxOTIuMyAzMzUgMjE4LjQgMzUyIDI1NiAzNTJzNjMuNy0xNyA3OC43LTMyLjZjOS4yLTkuNiAyNC40LTkuOSAzMy45LS43czkuOSAyNC40IC43IDMzLjljLTIyLjEgMjMtNjAgNDcuNC0xMTMuMyA0Ny40cy05MS4yLTI0LjQtMTEzLjMtNDcuNGMtOS4yLTkuNi04LjktMjQuOCAuNy0zMy45czI0LjgtOC45IDMzLjkgLjd6TTE3NiAxODBjLTE1LjUgMC0yOCAxMi41LTI4IDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjh6bTEzMiAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4eiJdfSxieHQ9dGxlLHZ4dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmb2xkZXItY2xvc2VkIixpY29uOls1MTIsNTEyLFtdLCJlMTg1IiwiTTQ0OCA0MDBMNjQgNDAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNDQgNDE2IDAgMCAxNDRjMCA4LjgtNy4yIDE2LTE2IDE2em0xNi0yMDhsLTQxNiAwIDAtOTZjMC04LjggNy4yLTE2IDE2LTE2bDEzOC43IDBjMy41IDAgNi44IDEuMSA5LjYgMy4yTDI1MC43IDExMmMxMy44IDEwLjQgMzAuNyAxNiA0OCAxNkw0NDggMTI4YzguOCAwIDE2IDcuMiAxNiAxNmwwIDQ4ek02NCA0NDhsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNDBjMC0zNS4zLTI4LjctNjQtNjQtNjRMMjk4LjcgODBjLTYuOSAwLTEzLjctMi4yLTE5LjItNi40TDI0MS4xIDQ0LjhDMjMwIDM2LjUgMjE2LjUgMzIgMjAyLjcgMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NHoiXX0seHh0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImtleWJvYXJkIixpY29uOls1NzYsNTEyLFs5ZTNdLCJmMTFjIiwiTTY0IDExMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjU2YzAgOC44IDcuMiAxNiAxNiAxNmw0NDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNTZjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDExMnpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHpNMTc2IDMyMGwyMjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTIyNCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZ6bS03Mi03MmMwLTguOCA3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2em0xNi05NmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZjMC04LjggNy4yLTE2IDE2LTE2em02NCA5NmMwLTguOCA3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2em0xNi05NmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZjMC04LjggNy4yLTE2IDE2LTE2em02NCA5NmMwLTguOCA3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2em0xNi05NmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZjMC04LjggNy4yLTE2IDE2LTE2em02NCA5NmMwLTguOCA3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2em0xNi05NmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZjMC04LjggNy4yLTE2IDE2LTE2em02NCA5NmMwLTguOCA3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2em0xNi05NmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxhbGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1yb2xsaW5nLWV5ZXMiLGljb246WzUxMiw1MTIsWzEyODU4MCwibWVoLXJvbGxpbmctZXllcyJdLCJmNWE1IiwiTTI1NiA0OGEyMDggMjA4IDAgMSAxIDAgNDE2IDIwOCAyMDggMCAxIDEgMC00MTZ6bTAgNDY0YTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTc2IDM3NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxMTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTEyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0ek0xNjAgMjY0Yy0yMi4xIDAtNDAtMTcuOS00MC00MCAwLTkuNSAzLjMtMTguMSA4LjgtMjUgMy4yIDE0LjMgMTYgMjUgMzEuMiAyNXMyOC0xMC43IDMxLjItMjVjNS41IDYuOCA4LjggMTUuNSA4LjggMjUgMCAyMi4xLTE3LjkgNDAtNDAgNDB6bTAgNDBhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6bTE5Mi00MGMtMjIuMSAwLTQwLTE3LjktNDAtNDAgMC05LjUgMy4zLTE4LjEgOC44LTI1IDMuMiAxNC4zIDE2IDI1IDMxLjIgMjVzMjgtMTAuNyAzMS4yLTI1YzUuNSA2LjggOC44IDE1LjUgOC44IDI1IDAgMjIuMS0xNy45IDQwLTQwIDQwem0wIDQwYTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYweiJdfSx5eHQ9YWxlLHJsZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW1hY2UiLGljb246WzUxMiw1MTIsWzEyODU1NiwiZ3JpbWFjZSJdLCJmNTdmIiwiTTI1NiA0OGEyMDggMjA4IDAgMSAwIDAgNDE2IDIwOCAyMDggMCAxIDAgMC00MTZ6TTUxMiAyNTZhMjU2IDI1NiAwIDEgMSAtNTEyIDAgMjU2IDI1NiAwIDEgMSA1MTIgMHpNMTUyIDM1MmMwIDExLjkgOC42IDIxLjggMjAgMjMuN2wwLTQ3LjNjLTExLjQgMS45LTIwIDExLjgtMjAgMjMuN3ptODQgMjRsMC00OC0yNCAwIDAgNDggMjQgMHptNjQgMGwwLTQ4LTI0IDAgMCA0OCAyNCAwem00MC0uM2MxMS40LTEuOSAyMC0xMS44IDIwLTIzLjdzLTguNi0yMS44LTIwLTIzLjdsMCA0Ny4zek0xNzYgMjg4bDE2MCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0bC0xNjAgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NHptMC0xMTJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sd3h0PXJsZSxpbGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLWRvdCIsaWNvbjpbNTEyLDUxMixbMTI4MjgwLCJkb3QtY2lyY2xlIl0sImYxOTIiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAxIDAtNTEyIDI1NiAyNTYgMCAxIDEgMCA1MTJ6bTAtNDY0YTIwOCAyMDggMCAxIDAgMCA0MTYgMjA4IDIwOCAwIDEgMCAwLTQxNnptMCAzMDRhOTYgOTYgMCAxIDEgMC0xOTIgOTYgOTYgMCAxIDEgMCAxOTJ6Il19LE14dD1pbGUsa3h0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6Im9iamVjdC1ncm91cCIsaWNvbjpbNTc2LDUxMixbXSwiZjI0NyIsIk00MCA2NGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem00OCA1OS4zYzE2LTYuNSAyOC45LTE5LjMgMzUuMy0zNS4zbDMyOS4zIDBjNi41IDE2IDE5LjMgMjguOSAzNS4zIDM1LjNsMCAyNjUuM2MtMTYgNi41LTI4LjkgMTkuMy0zNS4zIDM1LjNsLTMyOS4zIDBjLTYuNS0xNi0xOS4zLTI4LjktMzUuMy0zNS4zbDAtMjY1LjN6TTUxMiAwYy0yNi45IDAtNDkuOSAxNi41LTU5LjMgNDBMMTIzLjMgNDBDMTEzLjkgMTYuNSA5MC45IDAgNjQgMCAyOC43IDAgMCAyOC43IDAgNjQgMCA5MC45IDE2LjUgMTEzLjkgNDAgMTIzLjNsMCAyNjUuM2MtMjMuNSA5LjUtNDAgMzIuNS00MCA1OS4zIDAgMzUuMyAyOC43IDY0IDY0IDY0IDI2LjkgMCA0OS45LTE2LjUgNTkuMy00MGwzMjkuMyAwYzkuNSAyMy41IDMyLjUgNDAgNTkuMyA0MCAzNS4zIDAgNjQtMjguNyA2NC02NCAwLTI2LjktMTYuNS00OS45LTQwLTU5LjNsMC0yNjUuM2MyMy41LTkuNSA0MC0zMi41IDQwLTU5LjMgMC0zNS4zLTI4LjctNjQtNjQtNjR6TTQ4OCA2NGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek02NCA0MjRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em00MjQgMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNMTkyIDE3Nmw4OCAwIDAgNTYtODggMCAwLTU2em0tOC00MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA3MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMDQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTcyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMDQgMHptNzIgMTg0bDAgMjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTA0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC03MmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMjQgMGMwIDE0LjYtMy45IDI4LjItMTAuNyA0MGwyNi43IDAgMCA1Ni04OCAwIDAtMTYuNGMtMi42IC4zLTUuMyAuNC04IC40bC0zMiAweiJdfSxzbGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1mbHVzaGVkIixpY29uOls1MTIsNTEyLFsxMjg1NjMsImZsdXNoZWQiXSwiZjU3OSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDEgLTQxNiAwIDIwOCAyMDggMCAxIDEgNDE2IDB6TTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTIgMjU2IDI1NiAwIDEgMCAwLTUxMnpNMTYwIDI0OGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTIxNi0yNGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwek0xOTIgMzUyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDEyOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMjggMHpNMTYwIDE3NmE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6bTAgMTI4YTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwem0xNDQtODBhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptMTI4IDBhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAweiJdfSx6eHQ9c2xlLG9sZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzdGFyLWhhbGYtc3Ryb2tlIixpY29uOls1NzYsNTEyLFsic3Rhci1oYWxmLWFsdCJdLCJmNWMwIiwiTTMwOS41LTE4LjljLTQuMS04LTEyLjQtMTMuMS0yMS40LTEzLjFzLTE3LjMgNS4xLTIxLjQgMTMuMUwxOTMuMSAxMjUuMyAzMy4yIDE1MC43Yy04LjkgMS40LTE2LjMgNy43LTE5LjEgMTYuM3MtLjUgMTggNS44IDI0LjRsMTE0LjQgMTE0LjUtMjUuMiAxNTkuOWMtMS40IDguOSAyLjMgMTcuOSA5LjYgMjMuMnMxNi45IDYuMSAyNSAyTDI4OC4xIDQxNy42IDQzMi40IDQ5MWM4IDQuMSAxNy43IDMuMyAyNS0yczExLTE0LjIgOS42LTIzLjJMNDQxLjcgMzA1LjkgNTU2LjEgMTkxLjRjNi40LTYuNCA4LjYtMTUuOCA1LjgtMjQuNHMtMTAuMS0xNC45LTE5LjEtMTYuM0wzODMgMTI1LjMgMzA5LjUtMTguOXpNMjY0LjEgOTEuOGwwIDI4NC4xLTEwMC4xIDUwLjkgMTkuOC0xMjUuNWMxLjItNy42LTEuMy0xNS4zLTYuNy0yMC43bC04OS44LTg5LjkgMTI1LjUtMjBjNy42LTEuMiAxNC4xLTYgMTcuNi0xMi44bDMzLjgtNjYuMnptNDggMjg0LjFsMC0yODQuMSAzMy44IDY2LjJjMy41IDYuOCAxMCAxMS42IDE3LjYgMTIuOGwxMjUuNSAyMC04OS44IDg5LjljLTUuNCA1LjQtNy45IDEzLjEtNi43IDIwLjdsMTkuOCAxMjUuNS0xMDAuMS01MC45eiJdfSxTeHQ9b2xlLEN4dD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLXZpZGVvIixpY29uOlszODQsNTEyLFtdLCJmMWM4IiwiTTY0IDQ4bDExMiAwIDAgODhjMCAzOS44IDMyLjIgNzIgNzIgNzJsODggMCAwIDI0MGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMNDggNjRjMC04LjggNy4yLTE2IDE2LTE2ek0yMjQgNjcuOWw5Mi4xIDkyLjEtNjguMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTY4LjF6TTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjYxLjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjQyLjcgMTguN0MyMzAuNyA2LjcgMjE0LjUgMCAxOTcuNSAwTDY0IDB6TTgwIDI4OGwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yNCAzNSAzNWMzLjIgMy4yIDcuNSA1IDEyIDUgOS40IDAgMTctNy42IDE3LTE3bDAtOTQuMWMwLTkuNC03LjYtMTctMTctMTctNC41IDAtOC44IDEuOC0xMiA1bC0zNSAzNSAwLTI0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnoiXX0sbmxlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtbGF1Z2giLGljb246WzUxMiw1MTIsWyJsYXVnaCJdLCJmNTk5IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTE4LjMgNTguMmMtNC4yLTEzLjcgNy4xLTI2LjIgMjEuNC0yNi4ybDIzMi42IDBjMTQuMyAwIDI1LjYgMTIuNSAyMS40IDI2LjItMTggNTguOS03Mi45IDEwMS44LTEzNy43IDEwMS44UzEzNi4zIDM3My4xIDExOC4zIDMxNC4yek0xNDQgMTkyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LF94dD1ubGUsVHh0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQtcG9pbnRlciIsaWNvbjpbNDQ4LDUxMixbXSwiZjI1YSIsIk0xNjAgNjRjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDEzNmMwIDEwLjMgNi42IDE5LjUgMTYuNCAyMi44czIwLjYtLjEgMjYuOC04LjNjMy0zLjkgNy42LTYuNCAxMi44LTYuNCA4LjggMCAxNiA3LjIgMTYgMTYgMCAxMC4zIDYuNiAxOS41IDE2LjQgMjIuOHMyMC42LS4xIDI2LjgtOC4zYzMtMy45IDcuNi02LjQgMTIuOC02LjQgNy44IDAgMTQuMyA1LjYgMTUuNyAxMyAxLjYgOC4yIDcuMyAxNS4xIDE1LjEgMThzMTYuNyAxLjYgMjMuMy0zLjZjMi43LTIuMSA2LjEtMy40IDkuOS0zLjQgOC44IDAgMTYgNy4yIDE2IDE2bDAgMTIwYzAgMzkuOC0zMi4yIDcyLTcyIDcybC0xMTYuNiAwYy0zNy40IDAtNzIuNC0xOC43LTkzLjItNDkuOUw1MC43IDMxMi45Yy00LjktNy40LTIuOS0xNy4zIDQuNC0yMi4yczE3LjMtMi45IDIyLjIgNC40TDExNiAzNTMuMmM1LjkgOC44IDE2LjggMTIuNyAyNi45IDkuN3MxNy0xMi40IDE3LTIzTDE2MCA2NHpNMTc2IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMTk3LjdDOTEuMiAyMzggNTUuNSAyMzIuOCAyOC41IDI1MC43LS45IDI3MC40LTguOSAzMTAuMSAxMC44IDMzOS41TDc4LjMgNDQwLjhjMjkuNyA0NC41IDc5LjYgNzEuMiAxMzMuMSA3MS4yTDMyOCA1MTJjNjYuMyAwIDEyMC01My43IDEyMC0xMjBsMC0xMjBjMC0zNS4zLTI4LjctNjQtNjQtNjQtNC41IDAtOC44IC41LTEzIDEuMy0xMS43LTE1LjQtMzAuMi0yNS4zLTUxLTI1LjMtNi45IDAtMTMuNSAxLjEtMTkuNyAzLjEtMTEuNi0xNi40LTMwLjctMjcuMS01Mi4zLTI3LjEtMi43IDAtNS40IC4yLTggLjVMMjQwIDY0YzAtMzUuMy0yOC43LTY0LTY0LTY0em00OCAzMDRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZ6bTQ4LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZjMC04LjgtNy4yLTE2LTE2LTE2em04MCAxNmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDk2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC05NnoiXX0sTHh0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InJlZ2lzdGVyZWQiLGljb246WzUxMiw1MTIsWzE3NF0sImYyNWQiLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDEgMCA0MTYgMjA4IDIwOCAwIDEgMSAwLTQxNnptMCA0NjRhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMDAgMTQ0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE3NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNTYgMzQuNCAwIDQxIDY4LjNjNi44IDExLjQgMjEuNiAxNSAzMi45IDguMnMxNS0yMS42IDguMi0zMi45bC0zMC4yLTUwLjNjMjQuNi0xMS41IDQxLjYtMzYuNCA0MS42LTY1LjMgMC0zOS44LTMyLjItNzItNzItNzJsLTgwIDB6bTcyIDk2bC00OCAwIDAtNDggNTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOCAweiJdfSxIYmE9e2ZhU3F1YXJlTWludXM6Qm9lLGZhTWludXNTcXVhcmU6dWd0LGZhQ2FsZW5kYXJDaGVjazpmZ3QsZmFGYWNlS2lzczpIb2UsZmFLaXNzOmhndCxmYVBhc3RlOlpmLGZhRmlsZUNsaXBib2FyZDptZ3QsZmFIYW5kUG9pbnRMZWZ0OmdndCxmYUZpbGVFeGNlbDpiZ3QsZmFFbnZlbG9wZTp2Z3QsZmFTcXVhcmVDYXJldERvd246cW9lLGZhQ2FyZXRTcXVhcmVEb3duOnhndCxmYVRydWNrOnlndCxmYUJlbGw6d2d0LGZhTWVzc2FnZTpYZixmYUNvbW1lbnRBbHQ6TWd0LGZhRmFjZURpenp5OlZvZSxmYURpenp5OmtndCxmYUNhbGVuZGFyRGF5czpqb2UsZmFDYWxlbmRhckFsdDp6Z3QsZmFIYW5kUG9pbnRVcDpTZ3QsZmFIYW5kTGl6YXJkOkNndCxmYVNxdWFyZUZ1bGw6X2d0LGZhQ2lyY2xlUGF1c2U6VW9lLGZhUGF1c2VDaXJjbGU6VGd0LGZhSGFyZERyaXZlOldvZSxmYUhkZDpMZ3QsZmFGaWxlWmlwcGVyOkdvZSxmYUZpbGVBcmNoaXZlOiRndCxmYUZsb3BweURpc2s6WW9lLGZhU2F2ZTpEZ3QsZmFGYWNlR3JpblRvbmd1ZVNxdWludDpab2UsZmFHcmluVG9uZ3VlU3F1aW50OkFndCxmYUNhbWVyYTpYb2UsZmFDYW1lcmFBbHQ6UGd0LGZhRmFjZUdyaW5TdGFyczpLb2UsZmFHcmluU3RhcnM6RWd0LGZhRXllOklndCxmYUZhY2VTYWRUZWFyOlFvZSxmYVNhZFRlYXI6Tmd0LGZhU2hhcmVGcm9tU3F1YXJlOkpvZSxmYVNoYXJlU3F1YXJlOlJndCxmYU5vdGVTdGlja3k6ZW5lLGZhU3RpY2t5Tm90ZTpGZ3QsZmFIYW5kQmFja0Zpc3Q6dG5lLGZhSGFuZFJvY2s6T2d0LGZhQ2hlc3NRdWVlbjpCZ3QsZmFGYWNlR3JpblRlYXJzOmFuZSxmYUdyaW5UZWFyczpIZ3QsZmFQZW5Ub1NxdWFyZTpybmUsZmFFZGl0OnFndCxmYUZhY2VHcmluQmVhbVN3ZWF0OmluZSxmYUdyaW5CZWFtU3dlYXQ6Vmd0LGZhQ2xvY2s6c25lLGZhQ2xvY2tGb3VyOmpndCxmYUZhY2VMYXVnaFdpbms6b25lLGZhTGF1Z2hXaW5rOlVndCxmYVBhcGVyUGxhbmU6V2d0LGZhSGVhcnQ6R2d0LGZhRm9udEF3ZXNvbWU6UkcsZmFGb250QXdlc29tZUZsYWc6WWd0LGZhRm9udEF3ZXNvbWVMb2dvRnVsbDpaZ3QsZmFDbG9uZTpYZ3QsZmFGb2xkZXJPcGVuOktndCxmYVdpbmRvd01pbmltaXplOlFndCxmYVN0YXJIYWxmOkpndCxmYUFsYXJtQ2xvY2s6ZWJ0LGZhTmV3c3BhcGVyOnRidCxmYUhvc3BpdGFsOkZHLGZhSG9zcGl0YWxBbHQ6YWJ0LGZhSG9zcGl0YWxXaWRlOnJidCxmYUNpcmNsZVN0b3A6bm5lLGZhU3RvcENpcmNsZTppYnQsZmFPYmplY3RVbmdyb3VwOnNidCxmYUNvbW1lbnQ6b2J0LGZhQ2hlc3NQYXduOm5idCxmYUNhbGVuZGFyUGx1czpsYnQsZmFDbGlwYm9hcmQ6Y2J0LGZhVGh1bWJzRG93bjpkYnQsZmFJZEJhZGdlOnBidCxmYVNxdWFyZUNoZWNrOmxuZSxmYUNoZWNrU3F1YXJlOnVidCxmYUNoZXNzQmlzaG9wOmZidCxmYUVudmVsb3BlT3BlbjpoYnQsZmFDaXJjbGVYbWFyazpBOCxmYVRpbWVzQ2lyY2xlOm1idCxmYVhtYXJrQ2lyY2xlOmdidCxmYVNxdWFyZUNhcmV0VXA6Y25lLGZhQ2FyZXRTcXVhcmVVcDpiYnQsZmFGaWxlSW1hZ2U6dmJ0LGZhU3F1YXJlQ2FyZXRSaWdodDpkbmUsZmFDYXJldFNxdWFyZVJpZ2h0OnhidCxmYVN1bjpVRyxmYUltYWdlOnlidCxmYUxpZ2h0YnVsYjp3YnQsZmFBZGRyZXNzQ2FyZDpPRyxmYUNvbnRhY3RDYXJkOk1idCxmYVZjYXJkOmtidCxmYUZhY2VNZWg6cG5lLGZhTWVoOnpidCxmYU1hcDpTYnQsZmFIYW5kUG9pbnREb3duOkNidCxmYUZhY2VNZWhCbGFuazp1bmUsZmFNZWhCbGFuazpfYnQsZmFGYWNlR3JpblRvbmd1ZTpmbmUsZmFHcmluVG9uZ3VlOlRidCxmYUZ1dGJvbDpCRyxmYUZ1dGJvbEJhbGw6TGJ0LGZhU29jY2VyQmFsbDokYnQsZmFGYWNlU3VycHJpc2U6aG5lLGZhU3VycHJpc2U6RGJ0LGZhRm9sZGVyOm1uZSxmYUZvbGRlckJsYW5rOkFidCxmYUNsb3VkOlBidCxmYUNpcmNsZTpFYnQsZmFGYWNlR3JpblNxdWludDpnbmUsZmFHcmluU3F1aW50OklidCxmYUNpcmNsZVVzZXI6Ym5lLGZhVXNlckNpcmNsZTpOYnQsZmFSZWN0YW5nbGVMaXN0OnZuZSxmYUxpc3RBbHQ6UmJ0LGZhSGFuZDp4bmUsZmFIYW5kUGFwZXI6RmJ0LGZhVGh1bWJzVXA6T2J0LGZhQnVpbGRpbmc6QmJ0LGZhQ2hlc3NSb29rOkhidCxmYUNpcmNsZVF1ZXN0aW9uOnluZSxmYVF1ZXN0aW9uQ2lyY2xlOnFidCxmYUZpbGU6VmJ0LGZhRmFjZVNhZENyeTp3bmUsZmFTYWRDcnk6amJ0LGZhQ2FsZW5kYXJNaW51czpVYnQsZmFGYWNlVGlyZWQ6TW5lLGZhVGlyZWQ6V2J0LGZhSGFuZFBvaW50UmlnaHQ6R2J0LGZhQ2lyY2xlVXA6a25lLGZhQXJyb3dBbHRDaXJjbGVVcDpZYnQsZmFIYW5kU2Npc3NvcnM6WmJ0LGZhR2VtOlhidCxmYVJlY3RhbmdsZVhtYXJrOkdmLGZhUmVjdGFuZ2xlVGltZXM6S2J0LGZhVGltZXNSZWN0YW5nbGU6UWJ0LGZhV2luZG93Q2xvc2U6SmJ0LGZhVHJhc2hDYW46S2YsZmFUcmFzaEFsdDpldnQsZmFMaWZlUmluZzp0dnQsZmFDb3B5cmlnaHQ6YXZ0LGZhQ2lyY2xlTGVmdDp6bmUsZmFBcnJvd0FsdENpcmNsZUxlZnQ6cnZ0LGZhQ2FsZW5kYXI6aXZ0LGZhRmFjZUZyb3duT3BlbjpTbmUsZmFGcm93bk9wZW46c3Z0LGZhQ2hhcnRCYXI6Q25lLGZhQmFyQ2hhcnQ6b3Z0LGZhSG91c2U6WWYsZmFIb21lOm52dCxmYUhvbWVBbHQ6bHZ0LGZhSG9tZUxnQWx0OmN2dCxmYUZhY2VGcm93bjpfbmUsZmFGcm93bjpkdnQsZmFVc2VyOkhHLGZhVXNlckFsdDpwdnQsZmFVc2VyTGFyZ2U6dXZ0LGZhU25vd2ZsYWtlOmZ2dCxmYUJvb2ttYXJrOmh2dCxmYVNxdWFyZUNhcmV0TGVmdDpUbmUsZmFDYXJldFNxdWFyZUxlZnQ6bXZ0LGZhSGFuZHNoYWtlOnFHLGZhSGFuZHNoYWtlQWx0Omd2dCxmYUhhbmRzaGFrZVNpbXBsZTpidnQsZmFGYWNlU21pbGVXaW5rOkxuZSxmYVNtaWxlV2luazp2dnQsZmFGYWNlR3JpblNxdWludFRlYXJzOiRuZSxmYUdyaW5TcXVpbnRUZWFyczp4dnQsZmFGaWxlQXVkaW86eXZ0LGZhQ2FsZW5kYXJYbWFyazpEbmUsZmFDYWxlbmRhclRpbWVzOnd2dCxmYUNpcmNsZURvd246QW5lLGZhQXJyb3dBbHRDaXJjbGVEb3duOk12dCxmYUZpbGVMaW5lczpWRyxmYUZpbGVBbHQ6a3Z0LGZhRmlsZVRleHQ6enZ0LGZhQ29tbWVudHM6U3Z0LGZhQ2lyY2xlQ2hlY2s6UWYsZmFDaGVja0NpcmNsZTpDdnQsZmFNb29uOl92dCxmYUNsb3NlZENhcHRpb25pbmc6VHZ0LGZhSW1hZ2VzOkx2dCxmYUNpcmNsZVJpZ2h0OlBuZSxmYUFycm93QWx0Q2lyY2xlUmlnaHQ6JHZ0LGZhSWRDYXJkOkVuZSxmYURyaXZlcnNMaWNlbnNlOkR2dCxmYUNpcmNsZVBsYXk6SW5lLGZhUGxheUNpcmNsZTpBdnQsZmFGYWNlTGF1Z2hCZWFtOk5uZSxmYUxhdWdoQmVhbTpQdnQsZmFBZGRyZXNzQm9vazpSbmUsZmFDb250YWN0Qm9vazpFdnQsZmFIb3VyZ2xhc3M6Rm5lLGZhSG91cmdsYXNzRW1wdHk6SXZ0LGZhSGVhZHBob25lczpqRyxmYUhlYWRwaG9uZXNBbHQ6TnZ0LGZhSGVhZHBob25lc1NpbXBsZTpSdnQsZmFGaWxlUG93ZXJwb2ludDpGdnQsZmFXaW5kb3dNYXhpbWl6ZTpPdnQsZmFDb21tZW50RG90czpPbmUsZmFDb21tZW50aW5nOkJ2dCxmYUZhY2VHcmluVG9uZ3VlV2luazpCbmUsZmFHcmluVG9uZ3VlV2luazpIdnQsZmFIb3VyZ2xhc3NIYWxmOkhuZSxmYUhvdXJnbGFzczI6cXZ0LGZhQ3JlZGl0Q2FyZDpxbmUsZmFDcmVkaXRDYXJkQWx0OlZ2dCxmYUhhbmRTcG9jazpqdnQsZmFCZWxsU2xhc2g6VXZ0LGZhU3RhcjpXdnQsZmFGbGFnOkd2dCxmYUxlbW9uOll2dCxmYVdpbmRvd1Jlc3RvcmU6WnZ0LGZhRmFjZUdyaW5IZWFydHM6Vm5lLGZhR3JpbkhlYXJ0czpYdnQsZmFGYWNlS2lzc0JlYW06am5lLGZhS2lzc0JlYW06S3Z0LGZhRmlsZVBkZjpRdnQsZmFGYWNlR3JpbldpZGU6VW5lLGZhR3JpbkFsdDpKdnQsZmFGYWNlTGF1Z2hTcXVpbnQ6V25lLGZhTGF1Z2hTcXVpbnQ6ZXh0LGZhRmFjZUtpc3NXaW5rSGVhcnQ6R25lLGZhS2lzc1dpbmtIZWFydDp0eHQsZmFDb3B5OldHLGZhQ2hlc3NLaW5nOmF4dCxmYVNxdWFyZVBsdXM6WW5lLGZhUGx1c1NxdWFyZTpyeHQsZmFGaWxlQ29kZTppeHQsZmFGYWNlR3Jpbldpbms6Wm5lLGZhR3Jpbldpbms6c3h0LGZhTW9uZXlCaWxsMTpYbmUsZmFNb25leUJpbGxBbHQ6b3h0LGZhRXllU2xhc2g6bnh0LGZhRmlsZVdvcmQ6bHh0LGZhRmFjZUFuZ3J5OktuZSxmYUFuZ3J5OmN4dCxmYUNoZXNzS25pZ2h0OmR4dCxmYUZhY2VHcmluQmVhbTpRbmUsZmFHcmluQmVhbTpweHQsZmFIYW5kUGVhY2U6dXh0LGZhQ29tcGFzczpmeHQsZmFTcXVhcmU6aHh0LGZhRmFjZUdyaW46Sm5lLGZhR3JpbjpteHQsZmFGYWNlU21pbGU6ZWxlLGZhU21pbGU6Z3h0LGZhRmFjZVNtaWxlQmVhbTp0bGUsZmFTbWlsZUJlYW06Ynh0LGZhRm9sZGVyQ2xvc2VkOnZ4dCxmYUtleWJvYXJkOnh4dCxmYUZhY2VSb2xsaW5nRXllczphbGUsZmFNZWhSb2xsaW5nRXllczp5eHQsZmFGYWNlR3JpbWFjZTpybGUsZmFHcmltYWNlOnd4dCxmYUNpcmNsZURvdDppbGUsZmFEb3RDaXJjbGU6TXh0LGZhT2JqZWN0R3JvdXA6a3h0LGZhRmFjZUZsdXNoZWQ6c2xlLGZhRmx1c2hlZDp6eHQsZmFTdGFySGFsZlN0cm9rZTpvbGUsZmFTdGFySGFsZkFsdDpTeHQsZmFGaWxlVmlkZW86Q3h0LGZhRmFjZUxhdWdoOm5sZSxmYUxhdWdoOl94dCxmYUhhbmRQb2ludGVyOlR4dCxmYVJlZ2lzdGVyZWQ6THh0fX0pO3ZhciBxYmEsRHh0LEF4dCxQeHQsRXh0LEl4dCxOeHQsUnh0LEZ4dCxPeHQsQnh0LEdHLEh4dCxxeHQsVnh0LGp4dCxsbGUsVXh0LGNsZSxXeHQsR3h0LFl4dCxkbGUsWnh0LFh4dCxLeHQsUXh0LG03LEp4dCxleXQscGxlLHR5dCxheXQscnl0LGl5dCxzeXQsb3l0LG55dCxseXQsdWxlLGN5dCxkeXQscHl0LGZsZSx1eXQsZnl0LGh5dCxteXQsZ3l0LGc3LGJ5dCxobGUsdnl0LHh5dCxZRyx5eXQsd3l0LG1sZSxNeXQsZ2xlLGt5dCx6eXQsYmxlLFN5dCx2bGUsQ3l0LHhsZSxfeXQsVHl0LEx5dCwkeXQsRHl0LEF5dCxQeXQseWxlLEV5dCxJeXQsTnl0LFJ5dCx3bGUsRnl0LE95dCxCeXQsSHl0LHF5dCxWeXQsWkcsanl0LFV5dCxXeXQsWEcsR3l0LFl5dCxaeXQsTWxlLFh5dCxLeXQsUXl0LEp5dCxrbGUsZXd0LGpZLHR3dCxVWSxhd3Qscnd0LHpsZSxpd3QsU2xlLHN3dCxvd3QsS0csbnd0LGx3dCxjd3QsZHd0LHB3dCx1d3QsZnd0LGh3dCxXWSxiNyxtd3QsZ3d0LENsZSxid3Qsdnd0LEpmLHh3dCx5d3Qsd3d0LF9sZSxNd3Qsa3d0LHp3dCxUbGUsU3d0LExsZSxDd3QsX3d0LFR3dCxMd3QsJGxlLCR3dCxEd3QsQXd0LERsZSxQd3QsQWxlLEV3dCxJd3QsTnd0LFJ3dCxRRyxGd3QsT3d0LEJ3dCxId3QscXd0LFZ3dCxqd3QsUGxlLFV3dCxXd3QsR3d0LFl3dCxad3QsRWxlLFh3dCxLd3QsZTcsUXd0LEp3dCxlTXQsdE10LGFNdCxyTXQsSkcsaU10LHNNdCxvTXQsbk10LGxNdCxJbGUsY010LGRNdCxwTXQsdU10LGZNdCxoTXQsTmxlLG1NdCxnTXQsYk10LHZNdCxSbGUseE10LHlNdCx3TXQsRmxlLE1NdCxrTXQsT2xlLHpNdCxCbGUsU010LENNdCxIbGUsX010LFRNdCxxbGUsTE10LFZsZSwkTXQsRE10LHY3LEFNdCx4NyxQTXQsRU10LGVZLElNdCxOTXQsUk10LGpsZSxGTXQsT010LFVsZSxCTXQsSE10LHFNdCxWTXQsV2xlLGpNdCxVTXQsV010LEdNdCxZTXQsR2xlLFpNdCxYTXQsS010LFFNdCxZbGUsSk10LFpsZSxla3QsdGt0LGFrdCxya3QsaWt0LFhsZSxza3Qsb2t0LG5rdCxsa3QsS2xlLGNrdCxka3QsUWxlLHBrdCxKbGUsdWt0LGZrdCxoa3QsbWt0LGdrdCxia3QsZTBlLHZrdCx4a3QseWt0LHdrdCxNa3QsdDBlLGtrdCx6a3QsU2t0LENrdCxhMGUsX2t0LHIwZSxUa3QsR1ksWVksaTBlLExrdCxzMGUsJGt0LERrdCxBa3QsRDcsbzBlLFBrdCxFa3QsSWt0LE5rdCxSa3QsRmt0LG4wZSxPa3QsWlksQmt0LEhrdCxxa3QsVmt0LGprdCxsMGUsVWt0LGMwZSxXa3QsR2t0LFlrdCxaa3QsZDBlLFhrdCx0WSxLa3QsUWt0LEprdCxwMGUsZXp0LHR6dCxhenQscnp0LHUwZSxpenQsc3p0LG96dCxuenQsZjBlLGx6dCxjenQsZHp0LHB6dCx1enQsZnp0LGh6dCxtenQsZ3p0LGJ6dCx2enQseHp0LHl6dCxoMGUsd3p0LE16dCxrenQsenp0LFN6dCxDenQsX3p0LG0wZSxUenQsTHp0LCR6dCxQOCxEenQsQXp0LFB6dCxFenQsSXp0LGcwZSxOenQsYjBlLFJ6dCx2MGUsRnp0LHgwZSxPenQseTBlLEJ6dCx5NyxIenQsdzBlLHF6dCxNMGUsVnp0LGswZSxqenQsVXp0LFd6dCxHenQsejBlLFl6dCxaenQsUzBlLFh6dCxLenQsQzBlLFF6dCxKenQsZVN0LHRTdCxfMGUsYVN0LHJTdCxpU3QsVDBlLHNTdCxvU3QsdDcsblN0LGxTdCxjU3QsZFN0LHBTdCx1U3QsTDBlLGZTdCwkMGUsaFN0LG1TdCxnU3QsRDBlLGJTdCx2U3QseFN0LEEwZSx5U3QsUDBlLHdTdCxhWSxNU3Qsa1N0LHpTdCxTU3QsQ1N0LF9TdCxUU3QsTFN0LCRTdCxEU3QsQVN0LFBTdCxFU3QsSVN0LGE3LE5TdCxSU3QsRlN0LE9TdCxCU3QsSFN0LHFTdCxWU3QsRTBlLGpTdCxVU3QsV1N0LEdTdCxZU3QsWlN0LFhTdCxLU3QsUVN0LEpTdCxJMGUsZUN0LHRDdCxhQ3QsckN0LGlDdCxzQ3Qsb0N0LE4wZSxuQ3QsUjBlLGxDdCxjQ3QsRjBlLGRDdCxwQ3QsdUN0LGZDdCxPMGUsaEN0LG1DdCxnQ3QsQjBlLGJDdCxIMGUsdkN0LHhDdCxxMGUseUN0LHdDdCxNQ3Qsa0N0LFYwZSx6Q3QsU0N0LENDdCxYWSxfQ3QsVEN0LExDdCxqMGUsJEN0LERDdCxBQ3QsUEN0LEVDdCxVMGUsSUN0LE5DdCxSQ3QsRkN0LE9DdCxXMGUsQkN0LEhDdCxxQ3QsRzBlLFZDdCxqQ3QsclksVUN0LFdDdCxHQ3QsWUN0LFkwZSxaQ3QsWEN0LEtDdCxaMGUsUUN0LFgwZSxKQ3QsZV90LHRfdCxhX3Qsdzcscl90LEswZSxpX3Qsc190LG9fdCxuX3QsbF90LFEwZSxjX3QsSjBlLGRfdCxlY2UscF90LHVfdCxpWSxmX3QsaF90LHRjZSxtX3Qsc1ksZ190LGJfdCx2X3QseF90LHlfdCx3X3QsTV90LGtfdCxhY2Usel90LFNfdCxDX3QsX190LFRfdCxyY2UsTF90LCRfdCxEX3QsaWNlLEFfdCxzY2UsUF90LG9jZSxFX3QsSV90LE5fdCxSX3QsRl90LE9fdCxCX3QsbmNlLEhfdCxxX3QsVl90LGpfdCxsY2UsVV90LFdfdCxHX3QsWV90LFpfdCxYX3QsY2NlLEtfdCxRX3QsZGNlLEpfdCxlVHQscGNlLHRUdCxhVHQsclR0LGlUdCx1Y2Usc1R0LG9UdCxuVHQsZmNlLGxUdCxoY2UsY1R0LGRUdCxwVHQsdVR0LG1jZSxmVHQsaFR0LG1UdCxnVHQsYlR0LGdjZSx2VHQsYmNlLHhUdCx2Y2UseVR0LHdUdCx4Y2UsTVR0LHljZSxrVHQselR0LFNUdCxDVHQsX1R0LFRUdCxMVHQsJFR0LERUdCxBVHQsUFR0LG9ZLEVUdCxJVHQsUjgsTlR0LFJUdCxGVHQsblksT1R0LEJUdCxIVHQscVR0LFZUdCxqVHQsVVR0LHdjZSxXVHQsTWNlLEdUdCxZVHQsWlR0LGtjZSxYVHQsemNlLEtUdCxRVHQsbFksSlR0LGVMdCx0THQsYUx0LEU4LHJMdCxpTHQsc0x0LG9MdCxuTHQsbEx0LGNMdCxTY2UsZEx0LHBMdCx1THQsZkx0LENjZSxoTHQsbUx0LGdMdCxiTHQsdkx0LHhMdCx5THQsX2NlLHdMdCxNTHQsa0x0LHpMdCxTTHQsQ0x0LFRjZSxfTHQsS1ksTGNlLFRMdCxMTHQsJEx0LCRjZSxETHQsRGNlLEFMdCxQTHQsRUx0LEFjZSxJTHQsTkx0LFBjZSxSTHQsRkx0LE9MdCxCTHQsRWNlLEhMdCxxTHQsVkx0LGpMdCxVTHQsV0x0LEljZSxHTHQsWUx0LFFZLFpMdCxYTHQsTmNlLEtMdCxRTHQsSkx0LHI3LGUkdCx0JHQsYSR0LHIkdCxpNyxpJHQscyR0LG8kdCxuJHQsbCR0LGMkdCxSY2UsZCR0LGNZLHAkdCx1JHQsZiR0LEZjZSxoJHQsbSR0LGckdCxiJHQsdiR0LHgkdCx5JHQsT2NlLHckdCxKWSxNJHQsayR0LHokdCxCY2UsUyR0LEhjZSxDJHQsXyR0LHFjZSxUJHQsczcsTCR0LCQkdCxEJHQsQSR0LFAkdCxFJHQsSSR0LE4kdCxSJHQsVmNlLEYkdCxPJHQsQiR0LEgkdCxkWSxxJHQsViR0LGpjZSxqJHQsVSR0LFckdCxVY2UsRyR0LFkkdCxaJHQsV2NlLFgkdCxLJHQsUSR0LEokdCxlRHQsdER0LGFEdCxyRHQsaUR0LEdjZSxzRHQsWWNlLG9EdCxuRHQsbER0LGNEdCxkRHQscER0LHVEdCxaY2UsZkR0LGhEdCxtRHQsWGNlLGdEdCxiRHQsS2NlLHZEdCxRY2UseER0LEpjZSx5RHQsd0R0LE1EdCxlNGUsa0R0LHQ0ZSx6RHQsYTRlLFNEdCxDRHQscjRlLF9EdCxpNGUsVER0LHM0ZSxMRHQsJER0LG80ZSxERHQsQUR0LFBEdCxFRHQsSUR0LE5EdCxSRHQsRkR0LE9EdCxCRHQsbjRlLEhEdCxsNGUscUR0LGM0ZSxWRHQsakR0LGVaLFVEdCxkNGUsV0R0LEdEdCxZRHQscDRlLFpEdCxYRHQsdTRlLEtEdCxNNyxRRHQsSkR0LGVBdCxmNGUsdEF0LGg0ZSxhQXQsckF0LG00ZSxpQXQsZzRlLHNBdCxiNGUsb0F0LG5BdCxsQXQsY0F0LGRBdCx2NGUscEF0LHg0ZSx1QXQsZkF0LGhBdCxtQXQseTRlLGdBdCxiQXQsdkF0LHc0ZSx4QXQseUF0LHdBdCxNNGUsTUF0LGtBdCx6QXQsU0F0LGs0ZSxDQXQsX0F0LHo0ZSxUQXQsTEF0LCRBdCxTNGUsREF0LEFBdCxQQXQsQzRlLEVBdCxfNGUsSUF0LHBZLE5BdCxSQXQsRkF0LFQ0ZSxPQXQsQkF0LEhBdCxMNGUscUF0LFZBdCxqQXQsJDRlLFVBdCxXQXQsR0F0LFlBdCxaQXQsWEF0LEtBdCxRQXQsSkF0LGVQdCx0UHQsYVB0LEQ0ZSxyUHQsdFosaVB0LEE0ZSxzUHQsb1B0LG5QdCxsUHQsUDRlLGNQdCxkUHQscFB0LHVQdCxmUHQsaFB0LG1QdCxvNyxnUHQsYlB0LHZQdCx4UHQsazcseVB0LEU0ZSx3UHQsTVB0LGtQdCxJNGUselB0LFNQdCxONGUsQ1B0LF9QdCxUUHQsTFB0LCRQdCxSNGUsRFB0LEY0ZSxBUHQsUFB0LEVQdCxPNGUsSVB0LE5QdCxSUHQsQjRlLEZQdCxPUHQsQlB0LEhQdCxxUHQsVlB0LGpQdCxINGUsVVB0LGFaLFdQdCxHUHQsWVB0LHE0ZSxaUHQsWFB0LFY0ZSxLUHQsajRlLFFQdCxKUHQsZUV0LFU0ZSx0RXQsVzRlLGFFdCxHNGUsckV0LGlFdCxZNGUsc0V0LG9FdCxuRXQsbEV0LFo0ZSxjRXQsbjcsZEV0LHBFdCx1RXQsZkV0LFg0ZSxoRXQsSzRlLG1FdCxnRXQsYkV0LHZFdCxRNGUseEV0LGw3LHlFdCx3RXQsTUV0LEo0ZSxrRXQsekV0LFNFdCxDRXQsZTNlLF9FdCx0M2UsVEV0LExFdCwkRXQsYTNlLERFdCxyM2UsQUV0LFBFdCxpM2UsRUV0LHMzZSxJRXQsbzNlLE5FdCxuM2UsUkV0LEZFdCxPRXQsQkV0LGwzZSxIRXQscUV0LFZFdCxqRXQsVUV0LFdFdCxHRXQsWUV0LGMzZSxaRXQsZDNlLFhFdCxLRXQsUUV0LEpFdCxwM2UsZUl0LHRJdCx1WSxhSXQsckl0LGlJdCxzSXQsb0l0LG5JdCxsSXQsYzcsY0l0LGRJdCxwSXQsdUl0LGZJdCxoSXQsbUl0LGdJdCxiSXQsdkl0LHhJdCx5SXQsd0l0LGZZLE1JdCxrSXQsekl0LFNJdCxDSXQsX0l0LHUzZSxUSXQsZjNlLExJdCwkSXQsREl0LGhZLEFJdCxQSXQsRUl0LGgzZSxJSXQsbVksTkl0LFJJdCxGSXQsT0l0LHJaLGdZLEJJdCxISXQsbTNlLHFJdCxWSXQsakl0LFVJdCxnM2UsV0l0LEdJdCxiM2UsWUl0LFpJdCx2M2UsWEl0LEtJdCxRSXQsSkl0LGVOdCx0TnQsYlksYU50LHJOdCx4M2UsaU50LHNOdCxvTnQsbk50LGxOdCxjTnQsZE50LHBOdCx5M2UsdU50LGZOdCx3M2UsaE50LE0zZSxtTnQsZ050LGlsLGJOdCx2TnQseE50LHlOdCxrM2Usd050LE1OdCxrTnQsek50LHozZSxTTnQsUzNlLENOdCx2WSxfTnQsVE50LExOdCxDM2UsJE50LGlaLEROdCxBTnQsXzNlLFBOdCx4WSxFTnQsSU50LE5OdCxSTnQsRk50LE9OdCx6NyxCTnQsSE50LFQzZSxxTnQsVk50LGpOdCxMM2UsVU50LCQzZSxXTnQsZDcsR050LFlOdCxaTnQsWE50LEtOdCxRTnQsSk50LEQzZSxlUnQsdFJ0LEEzZSxhUnQsUDNlLHJSdCxFM2UsaVJ0LHNSdCxvUnQsblJ0LGxSdCxjUnQsSTNlLGRSdCxwUnQsdVJ0LGZSdCxoUnQsTjNlLG1SdCxSM2UsZ1J0LEYzZSxiUnQsdlJ0LHhSdCx5WSx5UnQsd1J0LE1SdCxrUnQselJ0LE8zZSxTUnQsQjNlLENSdCxfUnQsVFJ0LExSdCxIM2UsJFJ0LHEzZSxEUnQsQVJ0LHdZLFBSdCxFUnQsSVJ0LE5SdCxSUnQsVjNlLEZSdCxPUnQsajNlLEJSdCxVM2UsSFJ0LHFSdCxWUnQsalJ0LFVSdCxXUnQsR1J0LFlSdCxaUnQsWFJ0LFczZSxLUnQsUVJ0LEpSdCxlRnQsTVksdEZ0LGFGdCxyRnQsaUZ0LEczZSxzRnQsb0Z0LFkzZSxuRnQsbEZ0LGNGdCxkRnQsWjNlLHBGdCx1RnQsZkZ0LFM3LGhGdCxtRnQsa1ksZ0Z0LGJGdCxYM2UsdkZ0LHhGdCx5RnQsd0Z0LE1GdCxLM2Usa0Z0LHpGdCxRM2UsU0Z0LEozZSxDRnQsX0Z0LFRGdCxMRnQsJEZ0LGVkZSxERnQsdGRlLEFGdCxhZGUsUEZ0LEVGdCxJRnQsTkZ0LHJkZSxSRnQsRkZ0LGlkZSxPRnQsQkZ0LEhGdCxzZGUscUZ0LFZGdCx6WSxqRnQsVUZ0LG9kZSxXRnQsbmRlLEdGdCxsZGUsWUZ0LHNaLGNkZSxaRnQsZGRlLFhGdCxLRnQsUUZ0LEpGdCxlT3QsdE90LFNZLGFPdCxyT3QsaU90LHBkZSxzT3Qsb090LG5PdCxDWSxsT3QsY090LGRPdCxwT3QsX1ksdU90LGZPdCxoT3QsbU90LHVkZSxnT3QsZmRlLGJPdCx2T3QseE90LHlPdCx3T3QsVFksTU90LGtPdCx6T3QsU090LENPdCxfT3QsTFksVE90LExPdCwkT3QsaGRlLERPdCxBT3QsUE90LEVPdCxtZGUsSU90LE5PdCxST3QsRk90LE9PdCxCT3QsZ2RlLEhPdCxxT3QsVk90LGpPdCxiZGUsVU90LFdPdCxwNyxHT3QsWU90LFpPdCx2ZGUsWE90LEtPdCxRT3QsSk90LGVCdCx0QnQsYUJ0LHJCdCxpQnQseGRlLHNCdCxvQnQseWRlLG5CdCxsQnQsY0J0LHdkZSxkQnQscEJ0LHVCdCxmQnQsaEJ0LE1kZSxtQnQsb1osa2RlLGdCdCxiQnQsdkJ0LHhCdCx5QnQsemRlLHdCdCxNQnQsa0J0LHpCdCxTQnQsU2RlLENCdCxfQnQsVEJ0LExCdCwkQnQsJFksREJ0LEFCdCxQQnQsRUJ0LElCdCxDZGUsTkJ0LF9kZSxSQnQsRkJ0LE9CdCxEWSxCQnQsSEJ0LHFCdCxUZGUsVkJ0LExkZSxqQnQsVUJ0LFdCdCxHQnQsWUJ0LFpCdCwkZGUsWEJ0LEtCdCxEZGUsUUJ0LEFkZSxKQnQsUGRlLGVIdCx0SHQsRWRlLGFIdCxJZGUsckh0LGlIdCxzSHQsb0h0LG5IdCxsSHQsY0h0LGRIdCxwSHQsTmRlLHVIdCxmSHQsQVksaEh0LG1IdCxSZGUsZ0h0LGJIdCx2SHQsRmRlLHhIdCx5SHQsd0h0LE1IdCxPZGUsa0h0LHpIdCxTSHQsQ0h0LF9IdCxCZGUsVEh0LExIdCwkSHQsUFksREh0LEFIdCxQSHQsRUh0LElIdCxOSHQsRVksUkh0LEZIdCxPSHQsSGRlLEJIdCxxZGUsSEh0LHFIdCxWSHQsakh0LFZkZSxVSHQsamRlLFdIdCxHSHQsVWRlLFlIdCxaSHQsV2RlLFhIdCxLSHQsUUh0LEpIdCxHZGUsZXF0LHRxdCxhcXQscnF0LEM3LGlxdCxuWixzcXQsb3F0LG5xdCxscXQsWWRlLGNxdCxaZGUsZHF0LHBxdCx1cXQsZnF0LHU3LGhxdCxtcXQsZ3F0LGY3LGJxdCx2cXQseHF0LFhkZSx5cXQsd3F0LElZLE1xdCxrcXQsenF0LFNxdCxLZGUsQ3F0LF9xdCxUcXQsUWRlLExxdCwkcXQsRHF0LEFxdCxQcXQsSmRlLEVxdCxOWSxJcXQsTnF0LFJxdCxGcXQsT3F0LEJxdCxlNmUsSHF0LHQ2ZSxxcXQsYTZlLFZxdCxqcXQscjZlLFVxdCxsWixpNmUsV3F0LEdxdCxZcXQsczZlLFpxdCxYcXQsY1osbzZlLEtxdCxRcXQsSnF0LGVWdCxJOCx0VnQsYVZ0LHJWdCxpVnQsbjZlLHNWdCxvVnQsblZ0LGw2ZSxsVnQsY1Z0LGRWdCxwVnQsYzZlLHVWdCxmVnQsaFZ0LG1WdCxnVnQsUlksYlZ0LHZWdCxfNyx4VnQsZDZlLHlWdCxwNmUsd1Z0LE1WdCxrVnQselZ0LHU2ZSxTVnQsQ1Z0LF9WdCxUVnQsZjZlLExWdCwkVnQsRFZ0LGg2ZSxBVnQsUFZ0LEVWdCxJVnQsbTZlLE5WdCxSVnQsRlZ0LGc2ZSxPVnQsQlZ0LEhWdCxUNyxxVnQsVlZ0LGI2ZSxqVnQsdjZlLFVWdCx4NmUsV1Z0LHk2ZSxHVnQsWVZ0LHc2ZSxaVnQsWFZ0LEtWdCxRVnQsSlZ0LGVqdCxNNmUsdGp0LGFqdCxrNmUscmp0LGlqdCx6NmUsc2p0LG9qdCxuanQsUzZlLGxqdCxjanQsZGp0LHBqdCx1anQsTjgsZmp0LGhqdCxtanQsZ2p0LGJqdCx2anQseGp0LHlqdCx3anQsTWp0LGtqdCx6anQsU2p0LENqdCxfanQsVGp0LExqdCxDNmUsJGp0LERqdCxBanQsUGp0LF82ZSxFanQsSWp0LE5qdCxoNyxSanQsRmp0LE9qdCxCanQsSGp0LFQ2ZSxxanQsTDcsVmp0LGpqdCxVanQsTDZlLFdqdCxHanQsWWp0LFpqdCwkNmUsWGp0LEtqdCxENmUsUWp0LEpqdCxlVXQsQTZlLHRVdCxhVXQsUDZlLHJVdCxFNmUsaVV0LHNVdCxvVXQsblV0LGxVdCxJNmUsY1V0LGRVdCxwVXQsTjZlLHVVdCxmVXQsaFV0LG1VdCxnVXQsYlV0LHZVdCxSNmUseFV0LEY2ZSx5VXQsTzZlLHdVdCxGWSxNVXQsa1V0LEI2ZSx6VXQsSDZlLFNVdCxxNmUsQ1V0LF9VdCxUVXQsTFV0LCRVdCxEVXQsVjZlLEFVdCxqNmUsUFV0LEVVdCxJVXQsTlV0LFJVdCxVNmUsRlV0LFc2ZSxPVXQsRzZlLEJVdCxZNmUsSFV0LHFVdCxWVXQsalV0LFo2ZSxVVXQsV1V0LE9ZLEdVdCxZVXQsWDZlLFpVdCxYVXQsS1V0LFFVdCxLNmUsSlV0LGVXdCx0V3QsYVd0LFE2ZSxyV3QsRjgsaVd0LHNXdCxKNmUsb1d0LGU1ZSxuV3QsbFd0LGNXdCxCWSxkV3QscFd0LHVXdCx0NWUsZld0LGE1ZSxoV3QscjVlLG1XdCxpNWUsZ1d0LGJXdCx2V3QseFd0LHlXdCx3V3QsTVd0LEhZLGtXdCx6V3QsU1d0LENXdCxfV3QsczVlLFRXdCxMV3QsJFd0LERXdCxBV3QsUFd0LG81ZSxFV3QsSVd0LG41ZSxOV3QsUld0LHFZLEZXdCxPV3QsQld0LCQ3LEhXdCxxV3QsVld0LGw1ZSxqV3QsYzVlLFVXdCxXV3QsR1d0LFlXdCxaV3QsZDVlLFhXdCxLV3QsUVd0LEpXdCxlR3QsVlksdEd0LGFHdCxyR3QsaUd0LHNHdCxwNWUsb0d0LHU1ZSxuR3QsbEd0LGY1ZSxjR3QsaDVlLGRHdCxtNWUscEd0LGc1ZSx1R3QsZkd0LGI1ZSxoR3QsbUd0LGdHdCxiR3Qsdkd0LHhHdCxWYmEseUd0PWMoKCk9PntxYmE9ImZhcyIsRHh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IjAiLGljb246WzMyMCw1MTIsW10sIjMwIiwiTTAgMTkyQzAgMTAzLjYgNzEuNiAzMiAxNjAgMzJzMTYwIDcxLjYgMTYwIDE2MGwwIDEyOGMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MFMwIDQwOC40IDAgMzIwTDAgMTkyek0xNjAgOTZjLTUzIDAtOTYgNDMtOTYgOTZsMCAxMjhjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwwLTEyOGMwLTUzLTQzLTk2LTk2LTk2eiJdfSxBeHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiMSIsaWNvbjpbMjU2LDUxMixbXSwiMzEiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDY0IDAgMCAzMjAtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTM1MmMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAzMnoiXX0sUHh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IjIiLGljb246WzM4NCw1MTIsW10sIjMyIiwiTTQ4IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE3MSAwYzYwLjIgMCAxMDkgNDguOCAxMDkgMTA5IDAgNDMuOC0yNi4yIDgzLjMtNjYuNCAxMDAuNGwtMTM5LjEgNTlDMTE5IDMxNS40IDk2IDM1MC4yIDk2IDM4OC43bDAgMjcuMyAyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw2NCA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNTkuM2MwLTY0LjIgMzguNC0xMjIuMiA5Ny41LTE0Ny4zbDEzOS4xLTU5YzE2LjYtNy4xIDI3LjQtMjMuNCAyNy40LTQxLjQgMC0yNC45LTIwLjItNDUtNDUtNDVMODAgOTZDNjIuMyA5NiA0OCA4MS43IDQ4IDY0eiJdfSxFeHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiMyIsaWNvbjpbMzIwLDUxMixbXSwiMzMiLCJNODAgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDExMiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0cy0yOC43LTY0LTY0LTY0TDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjRTMTQuMyAzMiAzMiAzMmwxNjAgMGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOCAwIDM4LjItMTYuOCA3Mi41LTQzLjMgOTYgMjYuNiAyMy41IDQzLjMgNTcuOCA0My4zIDk2IDAgNzAuNy01Ny4zIDEyOC0xMjggMTI4TDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NEw4MCAyODh6Il19LEl4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiI0IixpY29uOlszODQsNTEyLFtdLCIzNCIsIk02NCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDQ2LjMgMCA2NEwwIDI4OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMCAwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjI0LTE5MiAwIDAtMjI0eiJdfSxOeHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiNSIsaWNvbjpbMzIwLDUxMixbXSwiMzUiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDAgMCAxMTIgMTIwIDBjNzUuMSAwIDEzNiA2MC45IDEzNiAxMzZTMjU5LjEgNDgwIDE4NCA0ODBMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE1MiAwYzM5LjggMCA3Mi0zMi4yIDcyLTcycy0zMi4yLTcyLTcyLTcyTDMyIDI3MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMCA2NHoiXX0sUnh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IjYiLGljb246WzM4NCw1MTIsW10sIjM2IiwiTTI1NiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtODggMGMtNDguNiAwLTg4IDM5LjQtODggODhsMCAzMi4yYzIyLjktMTUuMyA1MC40LTI0LjIgODAtMjQuMmw0OCAwYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0UzI4Ny41IDQ4MCAyMDggNDgwbC00OCAwQzgwLjUgNDgwIDE2IDQxNS41IDE2IDMzNmwwLTE1MkMxNiAxMDAuMSA4NC4xIDMyIDE2OCAzMmw4OCAwek04MCAzMzZjMCA0NC4yIDM1LjggODAgODAgODBsNDggMGM0NC4yIDAgODAtMzUuOCA4MC04MHMtMzUuOC04MC04MC04MGwtNDggMGMtNDQuMiAwLTgwIDM1LjgtODAgODB6Il19LEZ4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiI3IixpY29uOlszMjAsNTEyLFtdLCIzNyIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDI1NiAwYzExLjUgMCAyMiA2LjEgMjcuNyAxNi4xczUuNyAyMi4yLS4xIDMyLjFsLTIyNCAzODRjLTguOSAxNS4zLTI4LjUgMjAuNC00My44IDExLjVzLTIwLjQtMjguNS0xMS41LTQzLjhMMjMyLjMgOTYgMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHoiXX0sT3h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IjgiLGljb246WzMyMCw1MTIsW10sIjM4IiwiTTMwNCAxNjBjMC03MC43LTU3LjMtMTI4LTEyOC0xMjhsLTMyIDBjLTcwLjcgMC0xMjggNTcuMy0xMjggMTI4IDAgMzQuNiAxMy43IDY2IDM2IDg5LTMxLjUgMjMuMy01MiA2MC44LTUyIDEwMyAwIDcwLjcgNTcuMyAxMjggMTI4IDEyOGw2NCAwYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4IDAtNDIuMi0yMC41LTc5LjctNTItMTAzIDIyLjMtMjMgMzYtNTQuNCAzNi04OXpNMTc2LjEgMjg4bDE1LjkgMGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NGwtNjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGw0OC4xIDB6bTAtNjRMMTQ0IDIyNGMtMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NCAwIDM1LjMtMjguNiA2NC02NCA2NHoiXX0sQnh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IjkiLGljb246WzM4NCw1MTIsW10sIjM5IiwiTTIwOCAzMjBjMjkuNiAwIDU3LjEtOC45IDgwLTI0LjJsMCAzMi4yYzAgNDguNi0zOS40IDg4LTg4IDg4TDk2IDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMDQgMGM4My45IDAgMTUyLTY4LjEgMTUyLTE1MmwwLTE1Mi4xQzM1MS45IDk2LjQgMjg3LjUgMzIgMjA4IDMybC00OCAwQzgwLjUgMzIgMTYgOTYuNSAxNiAxNzZTODAuNSAzMjAgMTYwIDMyMGw0OCAwem04MC0xNDRjMCA0NC4yLTM1LjggODAtODAgODBsLTQ4IDBjLTQ0LjIgMC04MC0zNS44LTgwLTgwczM1LjgtODAgODAtODBsNDggMGM0NC4yIDAgODAgMzUuOCA4MCA4MHoiXX0sR0c9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG9sbGFyLXNpZ24iLGljb246WzMyMCw1MTIsWzEyODE3OCw2MTc4MSwiZG9sbGFyIiwidXNkIl0sIjI0IiwiTTEzNiAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTE0LjkgMGMtMjQuOSAwLTQ1LjEgMjAuMi00NS4xIDQ1LjEgMCAyMi41IDE2LjUgNDEuNSAzOC43IDQ0LjdsOTEuNiAxMy4xYzUzLjggNy43IDkzLjcgNTMuNyA5My43IDEwOCAwIDYwLjMtNDguOSAxMDkuMS0xMDkuMSAxMDkuMWwtMTAuOSAwIDAgNDBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00MC03MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDEzMC45IDBjMjQuOSAwIDQ1LjEtMjAuMiA0NS4xLTQ1LjEgMC0yMi41LTE2LjUtNDEuNS0zOC43LTQ0LjdsLTkxLjYtMTMuMUM1NS45IDI3My41IDE2IDIyNy40IDE2IDE3My4xIDE2IDExMi45IDY0LjkgNjQgMTI1LjEgNjRsMTAuOSAwIDAtNDB6Il19LEh4dD1HRyxxeHQ9R0csVnh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvZyIsaWNvbjpbNTc2LDUxMixbMTI4MDIxXSwiZjZkMyIsIk0zMiAxMTJjMTYuNiAwIDMwLjIgMTIuNiAzMS44IDI4LjdsLjMgNi42QzY1LjggMTYzLjQgNzkuNCAxNzYgOTYgMTc2bDE3OS4xIDAgMTQwLjkgNjAuNCAwIDI0My42YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEzMS4zQzI5NiAzNjEgMjY4LjggMzY4IDI0MCAzNjhzLTU2LTctODAtMTkuM0wxNjAgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTI0NS42Yy0zNy4zLTEzLjItNjQtNDguNi02NC05MC40IDAtMTcuNyAxNC4zLTMyIDMyLTMyek0zNTUuOC0zMmM3LjcgMCAxNC45IDMuNiAxOS42IDkuOEwzOTIgMCA0NDQuMSAwYzEyLjcgMCAyNC45IDUuMSAzMy45IDE0LjFMNDk2IDMyIDU1MiAzMmMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDI0YzAgNDQuMi0zNS44IDgwLTgwIDgwbC02NCAwLTcgMjgtMTI0LjctNTMuNCAzMS42LTE0Ny4yQzMzNC4zLTIzLjkgMzQ0LjItMzIgMzU1LjgtMzJ6TTQ0OCA0NGEyMCAyMCAwIDEgMCAwIDQwIDIwIDIwIDAgMSAwIDAtNDB6Il19LGp4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1tb3ZpbmciLGljb246WzY0MCw1MTIsW10sImY0ZGYiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQyNGMwIDQ4LjYgMzkuNCA4OCA4OCA4OCAyNS4yIDAgNDgtMTAuNiA2NC0yNy42IDE2IDE3IDM4LjggMjcuNiA2NCAyNy42IDQwLjMgMCA3NC4yLTI3LjEgODQuNy02NGwxMzQuNiAwYzEwLjQgMzYuOSA0NC40IDY0IDg0LjcgNjQgNDMgMCA3OC45LTMwLjkgODYuNS03MS43IDIwLTEwLjggMzMuNS0zMiAzMy41LTU2LjNsMC0xNDYuN2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0w1NzYgMTQ2LjdjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdsLTUwLjcgMCAwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek00ODAgMTkybDUwLjcgMCA0NS4zIDQ1LjMgMCA1MC43LTk2IDAgMC05NnpNODggMzg0YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHptMzkyIDQwYTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTIxNiAzODRhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgweiJdfSxsbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm90YXRlIixpY29uOls1MTIsNTEyLFsxMjgyNjAsInN5bmMtYWx0Il0sImYyZjEiLCJNNDgwLjEgMTkybDcuOSAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTQ0YzAtOS43LTUuOC0xOC41LTE0LjgtMjIuMlM0NzcuOSAuMiA0NzEgN0w0MTkuMyA1OC44QzM3NSAyMi4xIDMxOCAwIDI1NiAwIDEyNyAwIDIwLjMgOTUuNCAyLjYgMjE5LjUgLjEgMjM3IDEyLjIgMjUzLjIgMjkuNyAyNTUuN3MzMy43LTkuNyAzNi4yLTI3LjFDNzkuMiAxMzUuNSAxNTkuMyA2NCAyNTYgNjQgMzAwLjQgNjQgMzQxLjIgNzkgMzczLjcgMTA0LjNMMzI3IDE1MWMtNi45IDYuOS04LjkgMTcuMi01LjIgMjYuMlMzMzQuMyAxOTIgMzQ0IDE5MmwxMzYuMSAwem0yOS40IDEwMC41YzIuNS0xNy41LTkuNy0zMy43LTI3LjEtMzYuMnMtMzMuNyA5LjctMzYuMiAyNy4xYy0xMy4zIDkzLTkzLjQgMTY0LjUtMTkwLjEgMTY0LjUtNDQuNCAwLTg1LjItMTUtMTE3LjctNDAuM0wxODUgMzYxYzYuOS02LjkgOC45LTE3LjIgNS4yLTI2LjJTMTc3LjcgMzIwIDE2OCAzMjBMMjQgMzIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNEwwIDQ4OGMwIDkuNyA1LjggMTguNSAxNC44IDIyLjJTMzQuMSA1MTEuOCA0MSA1MDVsNTEuOC01MS44QzEzNyA0ODkuOSAxOTQgNTEyIDI1NiA1MTIgMzg1IDUxMiA0OTEuNyA0MTYuNiA1MDkuNCAyOTIuNXoiXX0sVXh0PWxsZSxjbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLW1pbnVzIixpY29uOls0NDgsNTEyLFs2MTc2NywibWludXMtc3F1YXJlIl0sImYxNDYiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNzIgMjAwbDE3NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNzYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sV3h0PWNsZSxHeHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYWxpZ24tanVzdGlmeSIsaWNvbjpbNDQ4LDUxMixbXSwiZjAzOSIsIk00NDggNjRjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyem0wIDI1NmMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6TTAgMTkyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTQ0OCA0NDhjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyeiJdfSxZeHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FsZW5kYXItY2hlY2siLGljb246WzQ0OCw1MTIsW10sImYyNzQiLCJNMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMiAxMjggMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0yMiAxNjEuN2MtMTAuNy03LjgtMjUuNy01LjQtMzMuNSA1LjNMMTg5LjEgMzMxLjIgMTM3IDI3OS4xYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDcyIDcyYzUgNSAxMS45IDcuNSAxOC44IDdzMTMuNC00LjEgMTcuNS05LjhMMzQ3LjMgMTk1LjJjNy44LTEwLjcgNS40LTI1LjctNS4zLTMzLjV6Il19LGRsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWtpc3MiLGljb246WzUxMiw1MTIsWzEyODUzNSwia2lzcyJdLCJmNTk2IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yNDAgMjg4bDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCAxMi4zLTQuNiAyMy41LTEyLjIgMzIgNy42IDguNSAxMi4yIDE5LjcgMTIuMiAzMiAwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bS05Ni04MGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxaeHQ9ZGxlLFh4dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJraXRjaGVuLXNldCIsaWNvbjpbNTc2LDUxMixbXSwiZTUxYSIsIk0yNDAgMTQ0YTk2IDk2IDAgMSAwIC0xOTIgMCA5NiA5NiAwIDEgMCAxOTIgMHptNDQuNCAzMkMyNjkuOSAyNDAuMSAyMTIuNSAyODggMTQ0IDI4OCA2NC41IDI4OCAwIDIyMy41IDAgMTQ0UzY0LjUgMCAxNDQgMGM2OC41IDAgMTI1LjkgNDcuOSAxNDAuNCAxMTJsNzEuOCAwYzguOC05LjggMjEuNi0xNiAzNS44LTE2bDEwNCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4bC0xMDQgMGMtMTQuMiAwLTI3LTYuMi0zNS44LTE2bC03MS44IDB6TTE0NCA4MGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpNNDAwIDI0MGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDggOTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjQwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOTYgMCAwLThjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTI4OCA0NjRsMC0xMTIgMjI0IDAgMCAxMTJjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OHpNNDggMzIwbDEyOCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4bC0xNiAwYzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnptMTI4IDY0YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwIDAgMzIgMTYgMHpNMjQgNDY0bDE3NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sS3h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRuYSIsaWNvbjpbMzg0LDUxMixbMTI5NTE2XSwiZjQ3MSIsIk0zNTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMiAwIDU3LjgtMjQuNCAxMDQuOC01Ny40IDE0NC41LTI0LjEgMjguOS01My44IDU1LjEtODMuNiA3OS41IDI5LjggMjQuNSA1OS41IDUwLjYgODMuNiA3OS41IDMzIDM5LjYgNTcuNCA4Ni43IDU3LjQgMTQ0LjUgMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJMNjQgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDk3LjcgMCA0ODBDMCA0MjIuMiAyNC40IDM3NS4yIDU3LjQgMzM1LjUgODEuNSAzMDYuNiAxMTEuMiAyODAuNSAxNDEgMjU2IDExMS4yIDIzMS41IDgxLjUgMjA1LjQgNTcuNCAxNzYuNSAyNC40IDEzNi44IDAgODkuOCAwIDMyIDAgMTQuMyAxNC4zIDAgMzIgMFM2NCAxNC4zIDY0IDMybDI1NiAwYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0yODMuNSAzODRsLTE4Mi45IDBjLTguMiAxMC41LTE1LjEgMjEuMS0yMC42IDMybDIyNC4yIDBjLTUuNi0xMC45LTEyLjUtMjEuNS0yMC42LTMyek0yMzggMzM2Yy0xNC4zLTEzLTI5LjgtMjUuOC00Ni0zOS0xNi4yIDEzLjEtMzEuNyAyNi00NiAzOWw5MiAwek0xMDAuNSAxMjhsMTgyLjkgMGM4LjItMTAuNSAxNS4xLTIxLjEgMjAuNi0zMkw3OS45IDk2YzUuNiAxMC45IDEyLjUgMjEuNSAyMC42IDMyek0xNDYgMTc2YzE0LjMgMTMgMjkuOCAyNS44IDQ2IDM5IDE2LjItMTMuMSAzMS43LTI2IDQ2LTM5bC05MiAweiJdfSxReHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hpbGQtcmVhY2hpbmciLGljb246WzM4NCw1MTIsW10sImU1OWQiLCJNMjU2IDY0YTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpNMTUyLjkgMTY5LjNjLTIzLjctOC40LTQ0LjUtMjQuMy01OC44LTQ1LjhMNzQuNiA5NC4yQzY0LjggNzkuNSA0NSA3NS42IDMwLjMgODUuNFMxMS42IDExNSAyMS40IDEyOS44TDQwLjkgMTU5YzE4LjEgMjcuMSA0Mi44IDQ4LjQgNzEuMSA2Mi40TDExMiA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2IDMyIDAgMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjU4LjRjMjkuMS0xNC4yIDU0LjQtMzYuMiA3Mi43LTY0LjJsMTguMi0yNy45YzkuNi0xNC44IDUuNC0zNC42LTkuNC00NC4zcy0zNC42LTUuNS00NC4zIDkuNEwyOTEgMTIyLjRjLTIxLjggMzMuNC01OC45IDUzLjYtOTguOCA1My42LTEyLjYgMC0yNC45LTItMzYuNi01LjgtLjktLjMtMS44LS43LTIuNy0uOXoiXX0sbTc9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGFzdGUiLGljb246WzUxMiw1MTIsWyJmaWxlLWNsaXBib2FyZCJdLCJmMGVhIiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDExMiAwIDAtMjI0YzAtNjEuOSA1MC4xLTExMiAxMTItMTEybDY0IDAgMC00OGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek0yNDggMTEybC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNHptNDAgNDhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMjI0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE2MCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTY1LjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNsLTU4LjUtNTguNWMtMTItMTItMjguMy0xOC43LTQ1LjMtMTguN0wyODggMTYweiJdfSxKeHQ9bTcsZXl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1ldGVvciIsaWNvbjpbNTEyLDUxMixbOTczMl0sImY3NTMiLCJNNDkzLjcgLjlsLTE5NC4yIDc0LjcgMi4zLTI5LjNjMS0xMi44LTEyLjgtMjEuNS0yNC0xNS4xTDEwMS4zIDEzMy40QzM4LjYgMTY5LjcgMCAyMzYuNiAwIDMwOSAwIDQyMS4xIDkwLjkgNTEyIDIwMyA1MTIgMjc1LjQgNTEyIDM0Mi4zIDQ3My40IDM3OC42IDQxMC43TDQ4MC44IDIzNC4zYzYuNS0xMS4xLTIuMi0yNS0xNS4xLTI0bC0yOS4zIDIuMyA3NC43LTE5NC4yYy42LTEuNSAuOS0zLjIgLjktNC44IDAtNy41LTYtMTMuNS0xMy41LTEzLjUtMS43IDAtMy4zIC4zLTQuOCAuOXpNMTkyIDE5MmExMjggMTI4IDAgMSAxIDAgMjU2IDEyOCAxMjggMCAxIDEgMC0yNTZ6bTAgOTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMTYgOTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyeiJdfSxwbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2VhcnMiLGljb246WzY0MCw1MTIsWyJjb2dzIl0sImYwODUiLCJNNDE1LjkgMjEwLjVjMTIuMi0zLjMgMjUgMi41IDMwLjUgMTMuOEw0NjUgMjYxLjljMTAuMyAxLjQgMjAuNCA0LjIgMjkuOSA4LjFsMzUtMjMuM2MxMC41LTcgMjQuNC01LjYgMzMuMyAzLjNsMTkuMiAxOS4yYzguOSA4LjkgMTAuMyAyMi45IDMuMyAzMy4zbC0yMy4zIDM0LjljMS45IDQuNyAzLjYgOS42IDUgMTQuNyAxLjQgNS4xIDIuMyAxMC4xIDMgMTUuMmwzNy43IDE4LjZjMTEuMyA1LjYgMTcuMSAxOC40IDEzLjggMzAuNWwtNyAyNi4yYy0zLjMgMTIuMS0xNC42IDIwLjMtMjcuMiAxOS41bC00Mi0yLjdjLTYuMyA4LjEtMTMuNiAxNS42LTIxLjkgMjJsMi43IDQxLjljLjggMTIuNi03LjQgMjQtMTkuNSAyNy4ybC0yNi4yIDdjLTEyLjIgMy4zLTI0LjktMi41LTMwLjUtMTMuOGwtMTguNi0zNy42Yy0xMC4zLTEuNC0yMC40LTQuMi0yOS45LTguMWwtMzUgMjMuM2MtMTAuNSA3LTI0LjQgNS42LTMzLjMtMy4zbC0xOS4yLTE5LjJjLTguOS04LjktMTAuMy0yMi44LTMuMy0zMy4zbDIzLjMtMzVjLTEuOS00LjctMy42LTkuNi01LTE0LjdzLTIuMy0xMC4yLTMtMTUuMmwtMzcuNy0xOC42Yy0xMS4zLTUuNi0xNy0xOC40LTEzLjgtMzAuNWw3LTI2LjJjMy4zLTEyLjEgMTQuNi0yMC4zIDI3LjItMTkuNWw0MS45IDIuN2M2LjMtOC4xIDEzLjYtMTUuNiAyMS45LTIybC0yLjctNDEuOGMtLjgtMTIuNiA3LjQtMjQgMTkuNS0yNy4ybDI2LjItN3pNNDQ4LjQgMzQwYTQ0IDQ0IDAgMSAwIC4xIDg4IDQ0IDQ0IDAgMSAwIC0uMS04OHpNMjI0LjktNDUuNWwyNi4yIDdjMTIuMSAzLjMgMjAuMyAxNC43IDE5LjUgMjcuMmwtMi43IDQxLjhjOC4zIDYuNCAxNS42IDEzLjggMjEuOSAyMmw0Mi0yLjdjMTIuNS0uOCAyMy45IDcuNCAyNy4yIDE5LjVsNyAyNi4yYzMuMiAxMi4xLTIuNSAyNC45LTEzLjggMzAuNWwtMzcuNyAxOC42Yy0uNyA1LjEtMS43IDEwLjItMyAxNS4ycy0zLjEgMTAtNSAxNC43bDIzLjMgMzVjNyAxMC41IDUuNiAyNC40LTMuMyAzMy4zTDMwNy4zIDI2MmMtOC45IDguOS0yMi44IDEwLjMtMzMuMyAzLjNMMjM5IDI0MmMtOS41IDMuOS0xOS42IDYuNy0yOS45IDguMWwtMTguNiAzNy42Yy01LjYgMTEuMy0xOC40IDE3LTMwLjUgMTMuOGwtMjYuMi03Yy0xMi4yLTMuMy0yMC4zLTE0LjctMTkuNS0yNy4ybDIuNy00MS45Yy04LjMtNi40LTE1LjYtMTMuOC0yMS45LTIybC00MiAyLjdjLTEyLjUgLjgtMjMuOS03LjQtMjcuMi0xOS41bC03LTI2LjJjLTMuMi0xMi4xIDIuNS0yNC45IDEzLjgtMzAuNWwzNy43LTE4LjZjLjctNS4xIDEuNy0xMC4xIDMtMTUuMiAxLjQtNS4xIDMtMTAgNS0xNC43TDU1LjEgNDYuNWMtNy0xMC41LTUuNi0yNC40IDMuMy0zMy4zTDc3LjYtNmM4LjktOC45IDIyLjgtMTAuMyAzMy4zLTMuM2wzNSAyMy4zYzkuNS0zLjkgMTkuNi02LjcgMjkuOS04LjFsMTguNi0zNy42YzUuNi0xMS4zIDE4LjMtMTcgMzAuNS0xMy44ek0xOTIuNCA4NGE0NCA0NCAwIDEgMCAwIDg4IDQ0IDQ0IDAgMSAwIDAtODh6Il19LHR5dD1wbGUsYXl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtY2lyY2xlLXBsdXMiLGljb246WzU3Niw1MTIsWzU4NjA2XSwiZTQ5NCIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE4MCAwYy0yMi43LTMxLjUtMzYtNzAuMi0zNi0xMTIgMC0xMDAuNiA3Ny40LTE4My4yIDE3Ni0xOTEuM2wwLTM4LjFjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjkwLjcgMTguN0MyNzguNyA2LjcgMjYyLjUgMCAyNDUuNSAwTDk2IDB6TTM1Ny41IDE3NkwyNjQgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyNDAgNTguNSAzNTcuNSAxNzZ6TTQzMiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0xNi0yMDhsMCA0OCA0OCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC00OCAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC00OC00OCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDQ4IDAgMC00OGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2eiJdfSxyeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaWNpY2xlcyIsaWNvbjpbNTEyLDUxMixbXSwiZjdhZCIsIk03NS44IDMwNC44TDEgMzUuN0MuMyAzMy4yIDAgMzAuNyAwIDI4LjIgMCAxMi42IDEyLjYgMCAyOC4yIDBMNDgyLjQgMGMxNi4zIDAgMjkuNiAxMy4yIDI5LjYgMjkuNiAwIDEuNi0uMSAzLjMtLjQgNC45TDQzNC42IDQ5Ni4xYy0xLjUgOS4yLTkuNSAxNS45LTE4LjggMTUuOS05LjIgMC0xNy4xLTYuNi0xOC43LTE1LjZMMzM2IDE2MCAzMDcuMiAzMDMuOWMtMS45IDkuMy0xMC4xIDE2LjEtMTkuNiAxNi4xLTkuMiAwLTE3LjItNi4yLTE5LjQtMTUuMUwyNDAgMTkyIDIxMC42IDM2OC4yYy0xLjUgOS4xLTkuNCAxNS44LTE4LjYgMTUuOHMtMTcuMS02LjctMTguNi0xNS44TDE0NCAxOTIgMTE1LjkgMzA0LjNjLTIuMyA5LjItMTAuNiAxNS43LTIwLjEgMTUuNy05LjMgMC0xNy41LTYuMi0yMC0xNS4yeiJdfSxpeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdHJlbmQtdXAiLGljb246WzU3Niw1MTIsW10sImUwOTgiLCJNMzg0IDE2MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTgyLjctMTY5LjQgMTY5LjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwTDE5MiAyNjkuMyA1NC42IDQwNi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2wxNjAtMTYwYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwTDMyMCAzMDYuNyA0NjYuNyAxNjAgMzg0IDE2MHoiXX0sc3l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhleGFnb24tbm9kZXMtYm9sdCIsaWNvbjpbNTc2LDUxMixbXSwiZTY5YSIsIk0yNDggMTA2LjZjMTguOS05IDMyLTI4LjMgMzItNTAuNmMwLTMwLjktMjUuMS01Ni01Ni01NnMtNTYgMjUuMS01NiA1NmMwIDIyLjMgMTMuMSA0MS42IDMyIDUwLjZsMCA5OC44Yy0yLjggMS4zLTUuNSAyLjktOCA0LjdsLTgwLjEtNDUuOGMxLjYtMjAuOC04LjYtNDEuNi0yNy45LTUyLjhDNTcuMiA5NiAyMyAxMDUuMiA3LjUgMTMyUzEuMiAxOTMgMjggMjA4LjVjMS4zIC44IDIuNiAxLjUgNCAyLjFsMCA5MC44Yy0xLjMgLjYtMi43IDEuMy00IDIuMUMxLjIgMzE5LTggMzUzLjIgNy41IDM4MFM1Ny4yIDQxNiA4NCA0MDAuNWMxOS4zLTExLjEgMjkuNC0zMiAyNy44LTUyLjhsNTAuNS0yOC45Yy0xMS41LTExLjItMTkuOS0yNS42LTIzLjgtNDEuN0w4OCAzMDYuMWMtMi42LTEuOC01LjItMy4zLTgtNC43bDAtOTAuOGMyLjgtMS4zIDUuNS0yLjkgOC00LjdsODAuMSA0NS44Yy0uMSAxLjQtLjIgMi44LS4yIDQuM2MwIDIyLjMgMTMuMSA0MS42IDMyIDUwLjZsMCA5OC44Yy0xOC45IDktMzIgMjguMy0zMiA1MC42YzAgMzAuOSAyNS4xIDU2IDU2IDU2YzMwLjcgMCA1NS42LTI0LjcgNTYtNTUuMmMtNy41LTEyLjktMTMuNS0yNi44LTE3LjYtNDEuNWMtNC4yLTQtOS4xLTcuMy0xNC40LTkuOWwwLTk4LjhjMi44LTEuMyA1LjUtMi45IDgtNC43bDEwLjUgNmM1LjUtMTUuMyAxMy4xLTI5LjUgMjIuNC00Mi41bC05LjEtNS4yYy4xLTEuNCAuMi0yLjggLjItNC4zYzAtMjIuMy0xMy4xLTQxLjYtMzItNTAuNmwwLTk4Ljh6TTQ0MC41IDEzMkM0MjUgMTA1LjIgMzkwLjggOTYgMzY0IDExMS41Yy0xOS4zIDExLjEtMjkuNCAzMi0yNy44IDUyLjhsLTUwLjYgMjguOWMxMS41IDExLjIgMTkuOSAyNS42IDIzLjggNDEuN0wzNjAgMjA1LjljLjQgLjMgLjggLjYgMS4zIC45YzIxLjctOS41IDQ1LjYtMTQuOCA3MC44LTE0LjhjMiAwIDQgMCA1LjkgLjFjMTIuMS0xNy4zIDEzLjgtNDAuNiAyLjYtNjAuMXpNNDMyIDUxMmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTQ3LjktMjI1YzQuMyAzLjcgNS40IDkuOSAyLjYgMTQuOUw0NTIuNCAzNTZsMzUuNiAwYzUuMiAwIDkuOCAzLjMgMTEuNCA4LjJzLS4xIDEwLjMtNC4yIDEzLjRsLTk2IDcyYy00LjUgMy40LTEwLjggMy4yLTE1LjEtLjZzLTUuNC05LjktMi42LTE0LjlMNDExLjYgMzgwIDM3NiAzODBjLTUuMiAwLTkuOC0zLjMtMTEuNC04LjJzLjEtMTAuMyA0LjItMTMuNGw5Ni03MmM0LjUtMy40IDEwLjgtMy4yIDE1LjEgLjZ6Il19LG95dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJxdWVzdGlvbiIsaWNvbjpbMzIwLDUxMixbMTAwNjcsMTAwNjgsNjE3MzZdLCIzZiIsIk02NCAxNjBjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmMwIDQyLjctMjcuOSA3OC45LTY2LjUgOTEuNC0yOC40IDkuMi02MS41IDM1LjMtNjEuNSA3Ni42bDAgMjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI0YzAtMS43IC42LTQuMSAzLjUtNy4zIDMtMy4zIDcuOS02LjUgMTMuNy04LjQgNjQuMy0yMC43IDExMC44LTgxIDExMC44LTE1Mi4zIDAtODguNC03MS42LTE2MC0xNjAtMTYwUzAgNzEuNiAwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyem05NiAzNTJjMjIuMSAwIDQwLTE3LjkgNDAtNDBzLTE3LjktNDAtNDAtNDAtNDAgMTcuOS00MCA0MCAxNy45IDQwIDQwIDQweiJdfSxueXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZHMtYm91bmQiLGljb246WzU3Niw1MTIsW10sImU0ZjkiLCJNNjQgMzJDNjQgMTQuMyA0OS43IDAgMzIgMFMwIDE0LjMgMCAzMkwwIDIxMy45YzAgMTQuMiA1LjEgMjcuOSAxNC4zIDM4LjdMOTkuNiAzNTIgOTYgMzUyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDM4NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zLjYgMCA4NS4zLTk5LjVjOS4yLTEwLjggMTQuMy0yNC41IDE0LjMtMzguN0w1NzYgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxMTIuOC02OS4zIDkyLjRjLTUuNyA3LjYtMTYuMSA5LjYtMjQuMiA0LjgtOS43LTUuNy0xMi4xLTE4LjctNS4xLTI3LjVMNDQxIDE4MGMxMC44LTEzLjUgOC45LTMzLjMtNC40LTQ0LjVzLTMzLTkuOC00NC41IDMuMmwtNDYuNyA1Mi41QzMyOSAyMDkuNyAzMjAgMjMzLjQgMzIwIDI1OC4xbDAgOTMuOS02NCAwIDAtOTMuOWMwLTI0LjYtOS00OC40LTI1LjQtNjYuOGwtNDYuNy01Mi41Yy0xMS41LTEzLTMxLjMtMTQuNC00NC41LTMuMlMxMjQuMiAxNjYuNCAxMzUgMTgwbDI3LjYgMzQuNWM3IDguOCA0LjcgMjEuOC01LjEgMjcuNS04LjEgNC44LTE4LjYgMi43LTI0LjItNC44TDY0IDE0NC44IDY0IDMyem02NCA0NDhsMCAzMiAxMjggMCAwLTMyIDY0IDAgMCAzMiAxMjggMCAwLTMyIDMyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMOTYgNDMyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDB6Il19LGx5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24td2Fsa2luZy1sdWdnYWdlIixpY29uOls1MTIsNTEyLFtdLCJlNTU0IiwiTTI2NC4zIDI0YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHptLTggMTgxLjNsLTIyLjYgMjIuNmMtNiA2LTkuNCAxNC4xLTkuNCAyMi42bDAgMzcuNWMwIDEyLjMtNyAyMy0xNy4yIDI4LjQtLjkgNC4yLTIuNCA4LjQtNC4zIDEyLjNsLTY5IDEzOC4xLS44LS40LTI3LjcgNTUuM2MtOS45IDE5LjgtMzMuOSAyNy44LTUzLjcgMTcuOUwxNC42IDUyMWMtMTkuOC05LjktMjcuOC0zMy45LTE3LjktNTMuN0w0Ny4zIDM2Ni4zYzkuOS0xOS44IDMzLjktMjcuOCA1My43LTE3LjlsMzAuNyAxNS4zIDI4LjMtNTYuNmMuMy0uNiAuNC0xLjIgLjQtMS44bDAtMTYuOWMwLS4yIDAtLjMgMC0uNWwwLTM3LjVjMC0yNS41IDEwLjEtNDkuOSAyOC4xLTY3LjlsMzUuMS0zNS4xYzIyLjgtMjIuOCA1My42LTM1LjYgODUuOC0zNS42IDM2LjkgMCA3MS44IDE2LjggOTQuOCA0NS42TDQyMi4xIDE4MGM2LjEgNy42IDE1LjMgMTIgMjUgMTJsMzMuMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMy4yIDBjLTI5LjIgMC01Ni43LTEzLjMtNzUtMzZsLTMuOC00LjcgMCAxMTUuMiAzNC41IDI5LjZjMTcuNyAxNS4yIDI5LjMgMzYuMiAzMi42IDU5LjNMNDQ4IDUwNy41YzIuNSAxNy41LTkuNyAzMy43LTI3LjIgMzYuMnMtMzMuNy05LjctMzYuMi0yNy4yTDM3MiA0MjguNGMtMS4xLTcuNy01LTE0LjctMTAuOS0xOS44bC03MS40LTYxLjJjLTIxLjMtMTguMi0zMy41LTQ0LjktMzMuNS03Mi45bDAtNjkuM3ptLjEgMTY1LjhjMi40IDIuMyA0LjggNC42IDcuNCA2LjhsNDYgMzkuNC0yLjIgNy42Yy00LjUgMTUuNy0xMi45IDMwLTI0LjQgNDEuNWwtNjguMyA2OC4zYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyMzggNDIxLjFjMy44LTMuOCA2LjYtOC42IDguMS0xMy44TDI1Ni40IDM3MXoiXX0sdWxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtYXJyb3ctZG93biIsaWNvbjpbMzg0LDUxMixbImZpbGUtZG93bmxvYWQiXSwiZjU2ZCIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNMTc1IDQ0MWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw2NC02NGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC0yMyAyMyAwLTg2LjFjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA4Ni4xLTIzLTIzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDY0IDY0eiJdfSxjeXQ9dWxlLGR5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tYm9vdGgiLGljb246WzU3Niw1MTIsW10sImY3NTYiLCJNNDAgMjRBNTYgNTYgMCAxIDEgMTUyIDI0IDU2IDU2IDAgMSAxIDQwIDI0em01MS4xIDg4YzIzLjUgMCA0NS41IDExLjMgNTkuMSAzMC40bDQ4LjcgNjguMmM2IDguNCAxNS43IDEzLjQgMjYgMTMuNGwzMS4xIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMxLjEgMGMtMzEgMC02MC4xLTE1LTc4LjEtNDAuMmwtMi44LTMuOSAwIDgwLjEgNDEuNiAzMS4yQzIwOS44IDM3My4zIDIyNCA0MDEuOCAyMjQgNDMybDAgODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC04MGMwLTEwLjEtNC43LTE5LjYtMTIuOC0yNS42TDcwLjQgMzQ4LjhDNDYuMiAzMzAuNyAzMiAzMDIuMiAzMiAyNzJsMC0xMDAuOUMzMiAxMzguNSA1OC41IDExMiA5MS4xIDExMnpNMzIgNTEybDAtMTMyLjdjMy4xIDIuNyA2LjMgNS40IDkuNiA3LjlMOTYgNDI4IDk2IDUxMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMnptNTQ0LTg4bDAgOTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC03Mi0xNjggMGMtNy4xIDAtMTMuOC0zLjEtMTguNC04LjZzLTYuNS0xMi42LTUuMy0xOS42bDMwLjctMTc2LjctNjMuMS0xMzcuNiAwIDcyYy01LjItMS0xMC41LTEuNi0xNi0xLjZsLTMyIDAgMC0xMjBjMC0zMC45IDI1LjEtNTYgNTYtNTZMNTIwIDBjMzAuOSAwIDU2IDI1LjEgNTYgNTZsMCAzNjh6TTI4OCAzMzZjNS41IDAgMTAuOC0uNiAxNi0xLjZMMzA0IDUyMGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE4NCAzMiAweiJdfSxweXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibG9jdXN0IixpY29uOls1NzYsNTEyLFtdLCJlNTIwIiwiTTMyOCAzMmMxMzcgMCAyNDggMTExIDI0OCAyNDhsMCA0MC0uNCA4LjJDNTcxLjUgMzY4LjUgNTM3LjQgNDAwIDQ5NiA0MDBsLTEyLjMgMCAyNS4yIDQ0LjFjNi42IDExLjUgMi42IDI2LjItOC45IDMyLjhzLTI2LjIgMi42LTMyLjctOC45bC0zOC44LTY3LjktODAuNCAwLTQ4LjIgNjkuN2MtNy41IDEwLjktMjIuNSAxMy42LTMzLjQgNi4xcy0xMy42LTIyLjUtNi4xLTMzLjRsMjkuMy00Mi4zLTc0LjUgMC01MS43IDcwLjJjLTcuOSAxMC43LTIyLjkgMTIuOS0zMy42IDUuMXMtMTIuOS0yMi45LTUuMS0zMy42bDQwLjUtNTUtNDMtMTYuNC03OS4zIDEwMC41Yy04LjIgMTAuNC0yMy4zIDEyLjItMzMuNyA0cy0xMi4yLTIzLjMtNC0zMy43bDI0MC0zMDQgMi4xLTIuM2M1LjItNS4xIDEyLjUtNy41IDE5LjktNi42IDguNCAxLjEgMTUuNiA2LjUgMTguOSAxNC4zbDIxLjcgNTAuNyA0MC45LTU1LjUgMi4xLTIuNGM1LjEtNS4zIDEyLjUtOCAyMC03LjIgOC41IDEgMTUuOSA2LjUgMTkuMyAxNC40bDQxLjggOTcuNSA2NC4yIDBjMTAuMiAwIDIwIDIgMjkgNS41LTE2LjQtOTQtOTguMy0xNjUuNS0xOTctMTY1LjVsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTYgMHpNNDg4IDI5NmEyNCAyNCAwIDEgMCAwIDQ4IDI0IDI0IDAgMSAwIDAtNDh6TTQzLjUgMzMxLjFDMzYuMiAzMjEuNCAzMiAzMDkuNSAzMiAyOTYuOCAzMiAyNjUuNSA1Ny41IDI0MCA4OC45IDI0MGwyNy42IDAtNzIuOSA5MS4xek0yMjUuMSAyNDBsNDguMiAwIDEuNC0xLjktMTYuOS0zOS41LTMyLjcgNDEuNXptMTA3LjggMGw0Ni43IDAtMTcuMi00MC0yOS41IDQweiJdfSxmbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmlnaHQtbG9uZyIsaWNvbjpbNTc2LDUxMixbImxvbmctYXJyb3ctYWx0LXJpZ2h0Il0sImYzMGIiLCJNNTY2LjYgMjMzLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTEyOCAxMjhjLTkuMiA5LjItMjIuOSAxMS45LTM0LjkgNi45UzM4NCAzOTYuOSAzODQgMzg0bDAtNjQtMzM2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMzJjMC0yNi41IDIxLjUtNDggNDgtNDhsMzM2IDAgMC02NGMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42czI1LjctMi4yIDM0LjkgNi45bDEyOCAxMjh6Il19LHV5dD1mbGUsZnl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLWRyb3BsZXQiLGljb246WzU3Niw1MTIsW10sImU1OGMiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzLjMgMGMxMC40IDM2LjkgNDQuNCA2NCA4NC43IDY0czc0LjItMjcuMSA4NC43LTY0bDEwMi42IDBjMTAuNCAzNi45IDQ0LjQgNjQgODQuNyA2NHM3NC4yLTI3LjEgODQuNy02NGwzLjMgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE0Ni43YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDUxMiAxNDYuN2MtMTItMTItMjguMy0xOC43LTQ1LjMtMTguN2wtNTAuNyAwIDAtMzJjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTUxMiAyMzcuM2wwIDUwLjctOTYgMCAwLTk2IDUwLjcgMCA0NS4zIDQ1LjN6TTE1MiAzODRhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgwem0yMzIgNDBhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHpNMjA4IDMwNGMtMzkuOCAwLTcyLTMyLjItNzItNzIgMC0zMy4yIDM0LjUtNzggNTUuOC0xMDIuNCA4LjctMTAgMjMuOC0xMCAzMi41IDAgMjEuMiAyNC40IDU1LjggNjkuMSA1NS44IDEwMi40IDAgNDgtMzIuMiA3Mi03MiA3MnoiXX0saHl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtaG9sZGluZy1tZWRpY2FsIixpY29uOls1NzYsNTEyLFtdLCJlMDVjIiwiTTI0MCAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNTYgNTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC01NiAwIDAgNTZjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNTYtNTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw1NiAwIDAtNTZ6TTY2LjcgMzg0bDQyLjUtNDIuNWMyNC0yNCA1Ni42LTM3LjUgOTAuNS0zNy41TDM1MiAzMDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTEyLjYgMCAxMTkuNy04OC4yYzE3LjgtMTMuMSA0Mi44LTkuMyA1NS45IDguNXM5LjMgNDIuOC04LjUgNTUuOUw0MzMuMSA0ODUuNWMtMjMuNCAxNy4yLTUxLjYgMjYuNS04MC43IDI2LjVMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM0LjcgMHoiXX0sbXl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtcG9pbnQtbGVmdCIsaWNvbjpbNTEyLDUxMixbXSwiZjBhNSIsIk0zMiA5NkMxNC4zIDk2IDAgMTEwLjMgMCAxMjhzMTQuMyAzMiAzMiAzMmwyMDggMCAwLTY0LTIwOCAwek0xOTIgMjg4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDB6bS02NC02NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC00OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnptOTYgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDB6bTg4LTk2bC0uNiAwYzUuNCA5LjQgOC42IDIwLjMgOC42IDMyIDAgMTMuMi00IDI1LjQtMTAuOCAzNS42IDI0LjkgOC43IDQyLjggMzIuNSA0Mi44IDYwLjQgMCAxMS43LTMuMSAyMi42LTguNiAzMmw4LjYgMGM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MGwwLTYxLjdjMC00Mi40LTE2LjktODMuMS00Ni45LTExMy4xbC0xMS42LTExLjZDNDI5LjUgNzcuNSAzOTYuOSA2NCAzNjMgNjRsLTI3IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgODhjMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MGwwLTU2YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA1NmMwIDM5LjgtMzIuMiA3Mi03MiA3MnoiXX0sZ3l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbGN1bGF0b3IiLGljb246WzM4NCw1MTIsWzEyODQyNV0sImYxZWMiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHpNOTYgNjRsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkw5NiAxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTE2IDE2OGEyNCAyNCAwIDEgMSAtNDggMCAyNCAyNCAwIDEgMSA0OCAwem04MCAyNGEyNCAyNCAwIDEgMSAwLTQ4IDI0IDI0IDAgMSAxIDAgNDh6bTEyOC0yNGEyNCAyNCAwIDEgMSAtNDggMCAyNCAyNCAwIDEgMSA0OCAwek04OCAzNTJhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4em0xMjgtMjRhMjQgMjQgMCAxIDEgLTQ4IDAgMjQgMjQgMCAxIDEgNDggMHptODAgMjRhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4ek02NCA0MjRjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTEyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMODggNDQ4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMjMyLTI0YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0LTI0LTEwLjctMjQtMjQgMTAuNy0yNCAyNC0yNHoiXX0sZzc9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWludXMiLGljb246WzQ0OCw1MTIsWzgyMTEsODcyMiwxMDEzNCwic3VidHJhY3QiXSwiZjA2OCIsIk0wIDI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxieXQ9ZzcsaGxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLXotYSIsaWNvbjpbNTEyLDUxMixbInNvcnQtYWxwaGEtdXAtYWx0Il0sImY4ODIiLCJNMTUwLjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTgwIDgwYy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDk2IDE0MS4zIDk2IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzA2LjcgMjUuNCAyNS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTgwLTgwek0yODggNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNTAuNyAwLTczLjQgNzMuNGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlTMzA3LjEgMjI0IDMyMCAyMjRsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTUwLjcgMCA3My40LTczLjRjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTNDYxIDMyIDQ0OCAzMkwzMjAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek00MTIuNiAyNzMuN0M0MDcuMiAyNjIuOCAzOTYuMSAyNTYgMzg0IDI1NnMtMjMuMiA2LjgtMjguNiAxNy43bC04MCAxNjBjLTcuOSAxNS44LTEuNSAzNSAxNC4zIDQyLjlzMzUgMS41IDQyLjktMTQuM2w3LjItMTQuMyA4OC40IDAgNy4yIDE0LjNjNy45IDE1LjggMjcuMSAyMi4yIDQyLjkgMTQuM3MyMi4yLTI3LjEgMTQuMy00Mi45bC04MC0xNjB6TTM4NCAzNTkuNmwyMC4yIDQwLjQtNDAuNCAwIDIwLjItNDAuNHoiXX0sdnl0PWhsZSx4eXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWljcm9waG9uZS1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZjEzMSIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDQyNC43IDM1OC44QzQ1OC45IDMyNC4yIDQ4MCAyNzYuNiA0ODAgMjI0bDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MGMwIDM5LjMtMTUuNyA3NC45LTQxLjMgMTAwLjlMMzU2LjggMjkxQzM3My42IDI3My43IDM4NCAyNTAgMzg0IDIyNGwwLTEyOGMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmwwIDMwLjItMTUxLTE1MXptMjk4LjMgNDM0bC00MS40LTQxLjRjLTMuMyAuMi02LjUgLjMtOS44IC4zLTc5LjUgMC0xNDQtNjQuNS0xNDQtMTQ0bDAtMTAuMi00My42LTQzLjZjLTIuOCAzLjktNC40IDguNy00LjQgMTMuOGwwIDQwYzAgOTcuOSA3My4zIDE3OC43IDE2OCAxOTAuNWwwIDQ5LjUtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMCAwLTQ5LjVjOS4zLTEuMiAxOC40LTMgMjcuMy01LjR6Il19LFlHPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1wZW4iLGljb246WzQ0OCw1MTIsWyJwZW4tc3F1YXJlIiwicGVuY2lsLXNxdWFyZSJdLCJmMTRiIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTMyNS44IDEzOS43bDE0LjQgMTQuNGMxNS42IDE1LjYgMTUuNiA0MC45IDAgNTYuNmwtMjMuOCAyMy44LTcxLTcxIDIzLjgtMjMuOGMxNS42LTE1LjYgNDAuOS0xNS42IDU2LjYgMHpNMTE5LjkgMjg5bDkxLjUtOTEuNiA3MSA3MS05MS42IDkxLjVjLTQuMSA0LjEtOS4yIDctMTQuOSA4LjRsLTYwLjEgMTVjLTUuNSAxLjQtMTEuMi0uMi0xNS4yLTQuMnMtNS42LTkuNy00LjItMTUuMmwxNS02MC4xYzEuNC01LjYgNC4zLTEwLjggOC40LTE0Ljl6Il19LHl5dD1ZRyx3eXQ9WUcsbWxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtZmlzdCIsaWNvbjpbMzg0LDUxMixbOTk5NCwiZmlzdC1yYWlzZWQiXSwiZjZkZSIsIk0xNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDExMi02NCAwIDAtMTEyYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0zMiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMlM5NiA0Ni4zIDk2IDY0bDAgODAtNjQgMCAwLTgwem0xOTIgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NnptOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6bS05NiA4OGwwLS42YzkuNCA1LjQgMjAuMyA4LjYgMzIgOC42IDEzLjIgMCAyNS40LTQgMzUuNi0xMC44IDguNyAyNC45IDMyLjUgNDIuOCA2MC40IDQyLjggMTEuNyAwIDIyLjYtMy4xIDMyLTguNmwwIDguNmMwIDUyLjMtMjUuMSA5OC44LTY0IDEyOGwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xNjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC03OC40Yy0xNy4zLTcuOS0zMy4yLTE4LjgtNDYuOS0zMi41TDM3LjUgMzU3LjVDMTMuNSAzMzMuNSAwIDMwMC45IDAgMjY3bDAtMjdjMC0zNS4zIDI4LjctNjQgNjQtNjRsODggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MGwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw1NiAwYzM5LjggMCA3Mi0zMi4yIDcyLTcyeiJdfSxNeXQ9bWxlLGdsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21tZW50LXNtcyIsaWNvbjpbNTEyLDUxMixbInNtcyJdLCJmN2NkIiwiTTI1NiA0ODBjMTQxLjQgMCAyNTYtMTA3LjUgMjU2LTI0MFMzOTcuNCAwIDI1NiAwIDAgMTA3LjUgMCAyNDBjMCA1NC4zIDE5LjIgMTA0LjMgNTEuNiAxNDQuNUwyLjggNDc2LjhjLTQuOCA5LTMuMyAyMCAzLjYgMjcuNXMxNy44IDkuOCAyNy4xIDUuOGwxMTguNC01MC43QzE4My43IDQ3Mi42IDIxOC45IDQ4MCAyNTYgNDgwek0xNDAuOCAxNzIuOGwxOS4yIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE5LjIgMGMtNS4zIDAtOS42IDQuMy05LjYgOS42czQuMyA5LjYgOS42IDkuNmMyMyAwIDQxLjYgMTguNiA0MS42IDQxLjZzLTE4LjYgNDEuNi00MS42IDQxLjZsLTI1LjYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwyNS42IDBjNS4zIDAgOS42LTQuMyA5LjYtOS42cy00LjMtOS42LTkuNi05LjZjLTIzIDAtNDEuNi0xOC42LTQxLjYtNDEuNnMxOC42LTQxLjYgNDEuNi00MS42em0xODguOCA0MS42YzAtMjMgMTguNi00MS42IDQxLjYtNDEuNmwxOS4yIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE5LjIgMGMtNS4zIDAtOS42IDQuMy05LjYgOS42czQuMyA5LjYgOS42IDkuNmMyMyAwIDQxLjYgMTguNiA0MS42IDQxLjZzLTE4LjYgNDEuNi00MS42IDQxLjZsLTI1LjYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwyNS42IDBjNS4zIDAgOS42LTQuMyA5LjYtOS42cy00LjMtOS42LTkuNi05LjZjLTIzIDAtNDEuNi0xOC42LTQxLjYtNDEuNnptLTk4LjMtMzMuOGwyNC43IDQxLjEgMjQuNy00MS4xYzMuNy02LjIgMTEuMS05LjEgMTgtNy4yczExLjcgOC4yIDExLjcgMTUuNGwwIDEwMi40YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNDQuNi04LjcgMTQuNWMtMi45IDQuOC04LjEgNy44LTEzLjcgNy44cy0xMC44LTMtMTMuNy03LjhsLTguNy0xNC41IDAgNDQuNmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTEwMi40YzAtNy4yIDQuOC0xMy41IDExLjctMTUuNHMxNC4zIDEgMTggNy4yeiJdfSxreXQ9Z2xlLHp5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaW0tY2FyZCIsaWNvbjpbMzg0LDUxMixbXSwiZjdjNCIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyNTguNyAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDgwYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6TTk2IDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0MCAxMjggMCAwLTcyLTk2IDB6TTY0IDQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw0OCAwIDAtNzItODAgMCAwIDQwem0yNTYgMGwwLTQwLTEyOCAwIDAgNzIgOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnptMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJsLTQ4IDAgMCA3MiA4MCAwIDAtNDB6Il19LGJsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY2FsZS1iYWxhbmNlZCIsaWNvbjpbNjQwLDUxMixbOTg3OCwiYmFsYW5jZS1zY2FsZSJdLCJmMjRlIiwiTTM4NCAzMmwxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzOTguNCA5NmMtNS4yIDI1LjgtMjIuOSA0Ny4xLTQ2LjQgNTcuM2wwIDI5NC43IDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zODQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNjAgMCAwLTI5NC43Yy0yMy41LTEwLjMtNDEuMi0zMS42LTQ2LjQtNTcuM0wxMjggOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTI4IDBjMTQuNi0xOS40IDM3LjgtMzIgNjQtMzJzNDkuNCAxMi42IDY0IDMyem01NS42IDI4OEw1ODQuNCAzMjAgNTEyIDE5NS44IDQzOS42IDMyMHpNNTEyIDQxNmMtNjIuOSAwLTExNS4yLTM0LTEyNi03OC45LTIuNi0xMSAxLTIyLjMgNi43LTMyLjFsOTUuMi0xNjMuMmM1LTguNiAxNC4yLTEzLjggMjQuMS0xMy44czE5LjEgNS4zIDI0LjEgMTMuOGw5NS4yIDE2My4yYzUuNyA5LjggOS4zIDIxLjEgNi43IDMyLjEtMTAuOCA0NC44LTYzLjEgNzguOS0xMjYgNzguOXpNMTI2LjggMTk1LjhMNTQuNCAzMjAgMTk5LjMgMzIwIDEyNi44IDE5NS44ek0uOSAzMzcuMWMtMi42LTExIDEtMjIuMyA2LjctMzIuMWw5NS4yLTE2My4yYzUtOC42IDE0LjItMTMuOCAyNC4xLTEzLjhzMTkuMSA1LjMgMjQuMSAxMy44bDk1LjIgMTYzLjJjNS43IDkuOCA5LjMgMjEuMSA2LjcgMzIuMS0xMC44IDQ0LjgtNjMuMSA3OC45LTEyNiA3OC45UzExLjcgMzgyIC45IDMzNy4xeiJdfSxTeXQ9YmxlLHZsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXIiLGljb246WzUxMiw1MTIsWzEyODY2NCwiYXV0b21vYmlsZSJdLCJmMWI5IiwiTTEzNS4yIDExNy40bC0yNi4xIDc0LjYgMjkzLjggMC0yNi4xLTc0LjZDMzcyLjMgMTA0LjYgMzYwLjIgOTYgMzQ2LjYgOTZMMTY1LjQgOTZjLTEzLjYgMC0yNS43IDguNi0zMC4yIDIxLjR6TTM5LjYgMTk2LjhMNzQuOCA5Ni4zQzg4LjMgNTcuOCAxMjQuNiAzMiAxNjUuNCAzMmwxODEuMiAwYzQwLjggMCA3Ny4xIDI1LjggOTAuNiA2NC4zbDM1LjIgMTAwLjVjMjMuMiA5LjYgMzkuNiAzMi41IDM5LjYgNTkuMmwwIDE5MmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMi0zMjAgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwwIDI1NmMwLTI2LjcgMTYuNC00OS42IDM5LjYtNTkuMnpNMTI4IDMwNGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0yODggMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxDeXQ9dmxlLHhsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjcm9wLXNpbXBsZSIsaWNvbjpbNTEyLDUxMixbImNyb3AtYWx0Il0sImY1NjUiLCJNMTI4IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyUzY0IDE0LjMgNjQgMzJsMCAzMi0zMiAwQzE0LjMgNjQgMCA3OC4zIDAgOTZzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMjU2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDIwOCAwIDAtNjQtMjA4IDAgMC0zNTJ6TTM4NCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTIwOCAwIDAgNjQgMjA4IDAgMCAzNTJ6Il19LF95dD14bGUsVHl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1lZGFsIixpY29uOls0NDgsNTEyLFsxMjc5NDFdLCJmNWEyIiwiTTIyNC4zIDEyOEwxMzkuNy0xMi45Yy02LjUtMTAuOC0yMC4xLTE0LjctMzEuMy05LjFMMjEuOCAyMS4zQzkuOSAyNy4yIDUuMSA0MS42IDExIDUzLjVMODAuNiAxOTIuNmMtMzAuMSAzMy45LTQ4LjMgNzguNS00OC4zIDEyNy40IDAgMTA2IDg2IDE5MiAxOTIgMTkyczE5Mi04NiAxOTItMTkyYzAtNDguOS0xOC4zLTkzLjUtNDguMy0xMjcuNEw0MzcuNiA1My41YzUuOS0xMS45IDEuMS0yNi4zLTEwLjctMzIuMkwzNDAuMi0yMi4xYy0xMS4yLTUuNi0yNC45LTEuNi0zMS4zIDkuMUwyMjQuMyAxMjh6bTMwLjggMTQyLjVjMS40IDIuOCA0IDQuNyA3IDUuMWw1MC4xIDcuM2M3LjcgMS4xIDEwLjcgMTAuNSA1LjIgMTZsLTM2LjMgMzUuNGMtMi4yIDIuMi0zLjIgNS4yLTIuNyA4LjNsOC42IDQ5LjljMS4zIDcuNi02LjcgMTMuNS0xMy42IDkuOWwtNDQuOC0yMy42Yy0yLjctMS40LTYtMS40LTguNyAwbC00NC44IDIzLjZjLTYuOSAzLjYtMTQuOS0yLjItMTMuNi05LjlsOC42LTQ5LjljLjUtMy0uNS02LjEtMi43LTguM2wtMzYuMy0zNS40Yy01LjYtNS40LTIuNS0xNC44IDUuMi0xNmw1MC4xLTcuM2MzLS40IDUuNy0yLjQgNy01LjFsMjIuNC00NS40YzMuNC03IDEzLjMtNyAxNi44IDBsMjIuNCA0NS40eiJdfSxMeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Nyb2xsIixpY29uOls1NzYsNTEyLFsxMjgyMjBdLCJmNzBlIiwiTTAgMTEyQzAgNzAuNSAzMS42IDM2LjQgNzIgMzIuNGwwLS40IDI4MCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAxNzYtMTc2IDBjLTM5LjggMC03MiAzMi4yLTcyIDcybDAgNjBjMCAyNC4zLTE5LjcgNDQtNDQgNDRzLTQ0LTE5LjctNDQtNDRsMC0yMjgtNjQgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC00OHpNMjM2LjggNDgwYzcuMS0xMy4xIDExLjItMjguMSAxMS4yLTQ0bDAtNjBjMC0xMy4zIDEwLjctMjQgMjQtMjRsMjQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyNGMwIDQ0LjItMzUuOCA4MC04MCA4MGwtMjI3LjIgMHpNODAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDggNjQgMCAwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSwkeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1leGNlbCIsaWNvbjpbMzg0LDUxMixbXSwiZjFjMyIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNMTY0IDI2Ni43Yy03LjQtMTEtMjIuMy0xNC0zMy4zLTYuN3MtMTQgMjIuMy02LjcgMzMuM0wxNjMuMiAzNTIgMTI0IDQxMC43Yy03LjQgMTEtNC40IDI1LjkgNi43IDMzLjNzMjUuOSA0LjQgMzMuMy02LjdsMjgtNDIgMjggNDJjNy40IDExIDIyLjMgMTQgMzMuMyA2LjdzMTQtMjIuMyA2LjctMzMuM0wyMjAuOCAzNTIgMjYwIDI5My4zYzcuNC0xMSA0LjQtMjUuOS02LjctMzMuM3MtMjUuOS00LjQtMzMuMyA2LjdsLTI4IDQyLTI4LTQyeiJdfSxEeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsdGVyIixpY29uOls1MTIsNTEyLFtdLCJmMGIwIiwiTTMyIDY0QzE5LjEgNjQgNy40IDcxLjggMi40IDgzLjhTLjIgMTA5LjUgOS40IDExOC42TDE5MiAzMDEuMyAxOTIgNDE2YzAgOC41IDMuNCAxNi42IDkuNCAyMi42bDY0IDY0YzkuMiA5LjIgMjIuOSAxMS45IDM0LjkgNi45UzMyMCA0OTIuOSAzMjAgNDgwbDAtMTc4LjcgMTgyLjYtMTgyLjZjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTNDkyLjkgNjQgNDgwIDY0TDMyIDY0eiJdfSxBeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZHJ1bSIsaWNvbjpbNTEyLDUxMixbMTI5MzQ1XSwiZjU2OSIsIk01MDEuMiA3Ni4xYzExLjEtNy4zIDE0LjItMjIuMSA2LjktMzMuMnMtMjIuMS0xNC4yLTMzLjItNi45TDM3MC4yIDEwNC41QzMzNS44IDk4LjcgMjk3IDk2IDI1NiA5NiAxMTQuNiA5NiAwIDEyOCAwIDIwOEwwIDM2OGMwIDMxLjMgMjcuNCA1OC44IDcyIDc4LjdMNzIgMzQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMTkuNGMzMyA4LjkgNzEuMSAxNC41IDExMiAxNi4xTDIzMiAzNzZjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEwMy41YzQwLjktMS42IDc5LTcuMiAxMTItMTYuMUwzOTIgMzQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMDIuN2M0NC42LTE5LjkgNzItNDcuNCA3Mi03OC43bDAtMTYwYzAtNDEuMS0zMC4yLTY5LjUtNzguOC04Ny40bDY3LjktNDQuNXpNMzA3LjQgMTQ1LjZsLTY0LjYgNDIuM2MtMTEuMSA3LjMtMTQuMiAyMi4xLTYuOSAzMy4yczIyLjEgMTQuMiAzMy4yIDYuOWwxMTEuMS03Mi44YzE0LjcgMy4yIDI3LjkgNyAzOS40IDExLjUgMzguOCAxNS4xIDQ0LjQgMzAuNiA0NC40IDQxLjMgMCAuOC0yLjcgMTcuMi00NiAzNS45LTM4LjkgMTYuOC05NiAyOC4xLTE2MiAyOC4xUzEzMi45IDI2MC43IDk0IDI0My45Yy00My4zLTE4LjctNDYtMzUuMS00Ni0zNS45IDAtMTAuNiA1LjYtMjYuMiA0NC40LTQxLjMgMzguMy0xNC45IDk1LjQtMjIuNyAxNjMuNi0yMi43IDE4IDAgMzUuMSAuNSA1MS40IDEuNnoiXX0sUHl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcC1waW4iLGljb246WzMyMCw1MTIsWzEyODIwNV0sImYyNzYiLCJNMTkyIDI4NC40QzI1Ni4xIDI2OS45IDMwNCAyMTIuNSAzMDQgMTQ0IDMwNCA2NC41IDIzOS41IDAgMTYwIDBTMTYgNjQuNSAxNiAxNDRjMCA2OC41IDQ3LjkgMTI1LjkgMTEyIDE0MC40TDEyOCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE5NS42ek0xNjggOTZjLTMwLjkgMC01NiAyNS4xLTU2IDU2IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNTcuNCA0Ni42LTEwNCAxMDQtMTA0IDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0eiJdfSx5bGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2NhbGUtdW5iYWxhbmNlZC1mbGlwIixpY29uOls2NDAsNTEyLFsiYmFsYW5jZS1zY2FsZS1yaWdodCJdLCJmNTE2IiwiTTExOC4yIDYyLjRDMTAxLjUgNTYuOCA5Mi40IDM4LjYgOTggMjEuOVMxMjEuNy0zLjkgMTM4LjUgMS42bDExMyAzNy43YzEzLjktMjMuNSAzOS42LTM5LjMgNjguOS0zOS4zIDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgMy0uMiA1LjktLjUgOC44bDEyMi42IDQwLjljMTYuOCA1LjYgMjUuOCAyMy43IDIwLjIgNDAuNXMtMjMuNyAyNS44LTQwLjUgMjAuMkwzNjYuNyAxNDUuMmMtNC41IDMuMi05LjMgNS45LTE0LjQgOC4ybDAgMzI2LjdjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2MCAwIDAtMjk0LjdjLTIxLTkuMi0zNy4yLTI3LTQ0LjItNDlsLTEyNS45LTQyek0yMDAuOCAyODhMMTI4LjMgMTYzLjggNTUuOSAyODggMjAwLjggMjg4em0tNzIuNCA5NmMtNjIuOSAwLTExNS4yLTM0LTEyNi03OC45LTIuNi0xMSAxLTIyLjMgNi43LTMyLjFsOTUuMi0xNjMuMmM1LTguNiAxNC4yLTEzLjggMjQuMS0xMy44czE5LjEgNS4zIDI0LjEgMTMuOGw5NS4yIDE2My4yYzUuNyA5LjggOS4zIDIxLjEgNi43IDMyLjEtMTAuOCA0NC44LTYzLjEgNzguOS0xMjYgNzguOXptMzgyLjgtOTIuMmwtNzIuNCAxMjQuMiAxNDQuOSAwLTcyLjQtMTI0LjJ6bTEyNiAxNDEuM0M2MjYuNCA0NzggNTc0LjEgNTEyIDUxMS4yIDUxMnMtMTE1LjItMzQtMTI2LTc4LjljLTIuNi0xMSAxLTIyLjMgNi43LTMyLjFsOTUuMi0xNjMuMmM1LTguNiAxNC4yLTEzLjggMjQuMS0xMy44czE5LjEgNS4zIDI0LjEgMTMuOGw5NS4yIDE2My4yYzUuNyA5LjggOS4zIDIxLjEgNi43IDMyLjF6Il19LEV5dD15bGUsSXl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy10by1jaXJjbGUiLGljb246WzUxMiw1MTIsW10sImU0YmQiLCJNOS40IDkuNEMyMS45LTMuMSA0Mi4xLTMuMSA1NC42IDkuNEwxMjggODIuNyAxMjggNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE4LjcgMC03My40LTczLjRDLTMuMSA0Mi4xLTMuMSAyMS45IDkuNCA5LjR6TTIwMCAyNTZhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwek01MDIuNiA1NC42TDQyOS4zIDEyOCA0NDggMTI4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxOC43IDczLjQtNzMuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zem0tNDUuMyA0NDhMMzg0IDQyOS4zIDM4NCA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOC43IDAgNzMuNCA3My40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwek05LjQgNDU3LjRMODIuNyAzODQgNjQgMzg0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE4LjctNzMuNCA3My40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM3oiXX0sTnl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVudmVsb3BlIixpY29uOls1MTIsNTEyLFsxMjgzODYsOTk5Myw2MTQ0M10sImYwZTAiLCJNNDggNjRjLTI2LjUgMC00OCAyMS41LTQ4IDQ4IDAgMTUuMSA3LjEgMjkuMyAxOS4yIDM4LjRsMjA4IDE1NmMxNy4xIDEyLjggNDAuNSAxMi44IDU3LjYgMGwyMDgtMTU2YzEyLjEtOS4xIDE5LjItMjMuMyAxOS4yLTM4LjQgMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggNjR6TTAgMTk2TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTg4LTE5OC40IDE0OC44Yy0zNC4xIDI1LjYtODEuMSAyNS42LTExNS4yIDBMMCAxOTZ6Il19LFJ5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWJ5IixpY29uOlszODQsNTEyLFtdLCJmNzdjIiwiTTEyMCA4OGE3MiA3MiAwIDEgMSAxNDQgMCA3MiA3MiAwIDEgMSAtMTQ0IDB6TTcuNyAxNDQuNWMxMy0xNy45IDM4LTIxLjggNTUuOS04LjhMOTkuOCAxNjJjMjYuOCAxOS41IDU5LjEgMzAgOTIuMiAzMHM2NS40LTEwLjUgOTIuMi0zMGwzNi4yLTI2LjRjMTcuOS0xMyA0Mi45LTkgNTUuOSA4LjhzOSA0Mi45LTguOCA1NS45bC0zNi4yIDI2LjRjLTEzLjYgOS45LTI4LjEgMTguMi00My4zIDI1bDAgMzYuMy0xOTIgMCAwLTM2LjNjLTE1LjItNi43LTI5LjctMTUuMS00My4zLTI1TDE2LjUgMjAwLjNjLTE3LjktMTMtMjEuOC0zOC04LjgtNTUuOXpNOTcuNSAzMjkuM2w2MC42IDUzLTI2IDM3LjIgMjQuMyAyNC4zYzE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42cy00MC45IDE1LjYtNTYuNiAwbC00OC00OEMzOCA0MzguNiAzNi4xIDQxNyA0Ny4yIDQwMS4xbDUwLjItNzEuOHptMTI4LjUgNTNsNjAuNi01MyA1MC4yIDcxLjhjMTEuMSAxNS45IDkuMiAzNy41LTQuNSA1MS4ybC00OCA0OGMtMTUuNiAxNS42LTQwLjkgMTUuNi01Ni42IDBzLTE1LjYtNDAuOSAwLTU2LjZsMjQuMy0yNC4zLTI2LTM3LjJ6Il19LHdsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtY2FyZXQtZG93biIsaWNvbjpbNDQ4LDUxMixbImNhcmV0LXNxdWFyZS1kb3duIl0sImYxNTAiLCJNMzg0IDQ4MGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwek0yMjQgMzUyYy02LjcgMC0xMy0yLjgtMTcuNi03LjdsLTEwNC0xMTJjLTYuNS03LTguMi0xNy4yLTQuNC0yNS45UzExMC41IDE5MiAxMjAgMTkybDIwOCAwYzkuNSAwIDE4LjIgNS43IDIyIDE0LjRzMi4xIDE4LjktNC40IDI1LjlsLTEwNCAxMTJjLTQuNSA0LjktMTAuOSA3LjctMTcuNiA3Ljd6Il19LEZ5dD13bGUsT3l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbnQiLGljb246WzUxMiw1MTIsW10sImU1N2QiLCJNMjYuOSAyMDYuOUwzLjcgNDQ0LjlDMS44IDQ2My43IDE2LjYgNDgwIDM1LjUgNDgwbDE3Mi43IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xMjljMC04LjMgNi43LTE1IDE1LTE1IDUuNSAwIDEwLjYgMyAxMy4yIDcuOWw4Ni4xIDE1OWM4LjQgMTUuNSAyNC42IDI1LjEgNDIuMiAyNS4xbDY0LjEgMGMxOC45IDAgMzMuNy0xNi4zIDMxLjgtMzUuMUw0ODUuNiAyMDcuMWMtMS45LTE5LjYtMTIuOC0zNy4zLTI5LjUtNDcuOEwyODAuOSA0OC4zYy0xNS43LTEwLTM1LjgtOS45LTUxLjUgLjFMNTYuMSAxNTkuMmMtMTYuNSAxMC42LTI3LjMgMjguMi0yOS4yIDQ3Ljd6Il19LEJ5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhIixpY29uOlszODQsNTEyLFs5N10sIjQxIiwiTTIyMS41IDUxLjdDMjE2LjYgMzkuOCAyMDQuOSAzMiAxOTIgMzJzLTI0LjYgNy44LTI5LjUgMTkuN2MtOTMuMyAyMjQtMTQ2LjcgMzUyLTE2MCAzODQtNi44IDE2LjMgLjkgMzUgMTcuMiA0MS44czM1LS45IDQxLjgtMTcuMmwzMS44LTc2LjMgMTk3LjMgMCAzMS44IDc2LjNjNi44IDE2LjMgMjUuNSAyNCA0MS44IDE3LjJzMjQtMjUuNSAxNy4yLTQxLjhjLTEzLjMtMzItNjYuNy0xNjAtMTYwLTM4NHpNMjY0IDMyMGwtMTQ0IDAgNzItMTcyLjggNzIgMTcyLjh6Il19LEh5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYXJhY2h1dGUtYm94IixpY29uOls1MTIsNTEyLFtdLCJmNGNkIiwiTTEyOCAyMjRDMTI4IDE1Mi4yIDE0NC4zIDg4LjQgMTY5LjUgNDMuNCAxOTUuMS0yLjQgMjI2LjYtMjQgMjU2LTI0czYwLjkgMjEuNiA4Ni41IDY3LjRDMzY3LjcgODguNCAzODQgMTUyLjIgMzg0IDIyNGwtMTA0IDAgMCA5NiA4IDBjOS4zIDAgMTguMSAyIDI2IDUuNWwxMTguNC0xMDEuNS0uNSAwYzAtNzguNC0xNy43LTE1MC42LTQ3LjYtMjA0LTYuMS0xMS0xMi45LTIxLjMtMjAuMy0zMC45IDg2LjUgMzUuOSAxNDcuOCAxMTUuMSAxNDcuOCAyMTguOSAwIDctMy4xIDEzLjctOC40IDE4LjJMMzQ3LjQgMzYwLjFjMyA3LjQgNC42IDE1LjQgNC42IDIzLjlsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtNjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTguNCAxLjYtMTYuNSA0LjYtMjMuOUw4LjQgMjI2LjJDMy4xIDIyMS43IDAgMjE1IDAgMjA4IDAgMTA0LjIgNjEuMyAyNC45IDE0Ny44LTEwLjkgMTQwLjUtMS40IDEzMy43IDkgMTI3LjYgMjAgOTcuNyA3My40IDgwIDE0NS42IDgwIDIyNGwtLjUgMCAxMTguNCAxMDEuNWM4LTMuNSAxNi44LTUuNSAyNi01LjVsOCAwIDAtOTYtMTA0IDB6Il19LHF5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXJ0LWFycm93LWRvd24iLGljb246WzY0MCw1MTIsW10sImYyMTgiLCJNMCA4QzAtNS4zIDEwLjctMTYgMjQtMTZsNDUuMyAwYzI3LjEgMCA1MC4zIDE5LjQgNTUuMSA0NmwuNCAyIDE4Ny4yIDAgMCAxMDIuMS0zMS0zMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw3MiA3MmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw3Mi03MmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC0zMSAzMSAwLTEwMi4xIDE3Ny40IDBjMjAgMCAzNS4xIDE4LjIgMzEuNCAzNy45TDUzNy44IDIzNS44Yy01LjcgMzAuMy0zMi4xIDUyLjItNjIuOSA1Mi4ybC0zMDMuNiAwIDUuMSAyOC4zYzIuMSAxMS40IDEyIDE5LjcgMjMuNiAxOS43TDQ1NiAzMzZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI1NS45IDBjLTM0LjggMC02NC42LTI0LjktNzAuOC01OS4xTDc3LjIgMzguNmMtLjctMy44LTQtNi42LTcuOS02LjZMMjQgMzJDMTAuNyAzMiAwIDIxLjMgMCA4ek0xNjAgNDY0YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTIyNCAwYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6Il19LFZ5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmlkZ2UtY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls1NzYsNTEyLFtdLCJlNGNhIiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nmw4IDAgMCA2NC00MCAwIDAgMTEyYzM3LjYgOS40IDY0IDQzLjIgNjQgODJsMCA5NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC01MyA0My05NiA5Ni05NiA2LjQgMCAxMi43IC42IDE4LjcgMS44IDM0LjctNDkuNSA5Mi4yLTgxLjggMTU3LjMtODEuOCAyOC42IDAgNTUuNiA2LjIgODAgMTcuNGwwLTY1LjQtNDAgMCAwLTY0IDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnpNNDI0IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTI5NiA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek04OCA5Nmw4MCAwIDAgNjQtODAgMCAwLTY0ek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sWkc9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtYXJyb3ctdXAiLGljb246WzU3Niw1MTIsWzYyMzM4LCJjbG91ZC11cGxvYWQiLCJjbG91ZC11cGxvYWQtYWx0Il0sImYwZWUiLCJNMTQ0IDQ4MGMtNzkuNSAwLTE0NC02NC41LTE0NC0xNDQgMC02My40IDQxLTExNy4yIDk3LjktMTM2LjUtMS4zLTcuNy0xLjktMTUuNS0xLjktMjMuNSAwLTc5LjUgNjQuNS0xNDQgMTQ0LTE0NCA1NS40IDAgMTAzLjUgMzEuMyAxMjcuNiA3Ny4xIDE0LjItOC4zIDMwLjgtMTMuMSA0OC40LTEzLjEgNTMgMCA5NiA0MyA5NiA5NiAwIDE1LjctMy44IDMwLjYtMTAuNSA0My43IDQ0IDIwLjMgNzQuNSA2NC43IDc0LjUgMTE2LjMgMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTMwNCAwek0zMDUgMTkxYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtNzIgNzJjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwzMS0zMSAwIDEwMi4xYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMDIuMSAzMSAzMWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTcyLTcyeiJdfSxqeXQ9WkcsVXl0PVpHLFd5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhdCIsaWNvbjpbNTEyLDUxMixbNjE5NDZdLCI0MCIsIk0yNTYgNjRDMTUwIDY0IDY0IDE1MCA2NCAyNTZzODYgMTkyIDE5MiAxOTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJDMTE0LjYgNTEyIDAgMzk3LjQgMCAyNTZTMTE0LjYgMCAyNTYgMCA1MTIgMTE0LjYgNTEyIDI1NmwwIDMyYzAgNTMtNDMgOTYtOTYgOTYtMjkuMyAwLTU1LjYtMTMuMi03My4yLTMzLjktMjIuOCAyMS01My4zIDMzLjktODYuOCAzMy45LTcwLjcgMC0xMjgtNTcuMy0xMjgtMTI4czU3LjMtMTI4IDEyOC0xMjhjMjcuOSAwIDUzLjcgOC45IDc0LjcgMjQuMSA1LjctNSAxMy4xLTguMSAyMS4zLTguMSAxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDExMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzJjMC0xMDYtODYtMTkyLTE5Mi0xOTJ6bTY0IDE5MmE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6Il19LFhHPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImluZGlhbi1ydXBlZS1zaWduIixpY29uOlszMjAsNTEyLFsiaW5kaWFuLXJ1cGVlIiwiaW5yIl0sImUxYmMiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwyNjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNzYuNyAwYzE3LjcgMTkuOCAzMC4xIDQ0LjYgMzQuNyA3Mmw0MiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00MiAwYy0xMC40IDYyLjItNjAuOCAxMTAuOS0xMjMuOCAxMTguOUwyNzQuNiA0MjJjMTQuNCAxMC4zIDE3LjcgMzAuMyA3LjQgNDQuNnMtMzAuMyAxNy43LTQ0LjYgNy40TDEzLjQgMzE0QzIuMSAzMDYtMi43IDI5MS41IDEuNSAyNzguMlMxOC4xIDI1NiAzMiAyNTZsODAgMGMzNS44IDAgNjYuMS0yMy41IDc2LjMtNTZMMjQgMjAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE2NC4zIDBjLTEwLjItMzIuNS00MC41LTU2LTc2LjMtNTZMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHoiXX0sR3l0PVhHLFl5dD1YRyxaeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2siLGljb246WzU3Niw1MTIsWzEyODY2Niw5OTUxXSwiZjBkMSIsIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDI4OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIgNTAuNyAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDU1Ny4zIDE5MmMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDU3NiAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTMuMyAwYy0xMC40IDM2LjktNDQuNCA2NC04NC43IDY0cy03NC4yLTI3LjEtODQuNy02NGwtMTAyLjYgMGMtMTAuNCAzNi45LTQ0LjQgNjQtODQuNyA2NHMtNzQuMi0yNy4xLTg0LjctNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek01MTIgMjg4bDAtNTAuNy00NS4zLTQ1LjMtNTAuNyAwIDAgOTYgOTYgMHpNMTkyIDQyNGE0MCA0MCAwIDEgMCAtODAgMCA0MCA0MCAwIDEgMCA4MCAwem0yMzIgNDBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgweiJdfSxNbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhbGtib2FyZC11c2VyIixpY29uOls2NDAsNTEyLFsiY2hhbGtib2FyZC10ZWFjaGVyIl0sImY1MWMiLCJNMTkyIDM4NGM1MyAwIDk2IDQzIDk2IDk2IDAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzIgMC01MyA0My05NiA5Ni05Nmw5NiAwek01NDQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzMy4xLTI1LjIgNjAuNC01Ny41IDYzLjdsLTYuNSAuMy0yMTEuMSAwYy01LjEtMjQuMi0xNi4zLTQ2LjEtMzIuMS02NGw1MS4yIDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMzIgMCAwLTI4OC0zNTIgMCAwIDU3LjNjLTE0LjgtNi0zMS05LjMtNDgtOS4zLTUuNCAwLTEwLjggLjMtMTYgMWwwLTQ5YzAtMzUuMyAyOC43LTY0IDY0LTY0bDM1MiAwek0xNDQgMzUyYTgwIDgwIDAgMSAxIDAtMTYwIDgwIDgwIDAgMSAxIDAgMTYweiJdfSxYeXQ9TWxlLEt5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJmNGZjIiwiTTI4NiAzMDRjOTguNSAwIDE3OC4zIDc5LjggMTc4LjMgMTc4LjMgMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMNzggNTEyYy0xNi40IDAtMjkuNy0xMy4zLTI5LjctMjkuNyAwLTk4LjUgNzkuOC0xNzguMyAxNzguMy0xNzguM2w1OS40IDB6TTU4NS43IDEwNS45YzcuOC0xMC43IDIyLjgtMTMuMSAzMy41LTUuM3MxMy4xIDIyLjggNS4zIDMzLjVMNTIyLjEgMjc0LjljLTQuMiA1LjctMTAuNyA5LjQtMTcuNyA5LjhzLTE0LTIuMi0xOC45LTcuM2wtNDYuNC00OGMtOS4yLTkuNS05LTI0LjcgLjYtMzMuOSA5LjUtOS4yIDI0LjctOC45IDMzLjkgLjZsMjYuNSAyNy40IDg1LjYtMTE3Ljd6TTI1Ni4zIDI0OGExMjAgMTIwIDAgMSAxIDAtMjQwIDEyMCAxMjAgMCAxIDEgMCAyNDB6Il19LFF5dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLW5pbmphIixpY29uOls0NDgsNTEyLFsxMjkzOTldLCJmNTA0IiwiTTM1MiAxMjhjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjgtNTcuMiAwLTEwNS42LTM3LjUtMTIyLTg5LjMtMS4xIDEuMy0yLjIgMi42LTMuNSAzLjgtMTUuOCAxNS44LTM4LjggMjAuNy01My42IDIyLjEtOC4xIC44LTE0LjYtNS43LTEzLjgtMTMuOCAxLjQtMTQuNyA2LjMtMzcuOCAyMi4xLTUzLjYgNS44LTUuOCAxMi42LTEwLjEgMTkuNi0xMy40LTctMy4yLTEzLjgtNy42LTE5LjYtMTMuNC0xNS44LTE1LjgtMjAuNy0zOC44LTIyLjEtNTMuNi0uOC04LjEgNS43LTE0LjYgMTMuOC0xMy44IDE0LjcgMS40IDM3LjggNi4zIDUzLjYgMjIuMSA0LjggNC44IDguNyAxMC40IDExLjcgMTYuMSAyMS4zLTQxLjIgNjQuMy02OS40IDExMy44LTY5LjQgNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjh6TTE0NCAxMTJjMCA4LjggNy4yIDE2IDE2IDE2bDEyOCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2TDE2MCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2em0tMS40IDIxMWw2NyA1MC4yYzguNSA2LjQgMjAuMyA2LjQgMjguOCAwbDY3LTUwLjJjNi41LTQuOSAxNS4yLTYuMiAyMi42LTIuOCA2MS40IDI4LjIgMTA0LjEgOTAuMiAxMDQuMSAxNjIuMSAwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0w0NS43IDUxMmMtMTYuNCAwLTI5LjctMTMuMy0yOS43LTI5LjcgMC03MiA0Mi43LTEzNCAxMDQuMS0xNjIuMSA3LjQtMy40IDE2LjEtMi4xIDIyLjYgMi44eiJdfSxKeXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbnQtd2lsdCIsaWNvbjpbNTEyLDUxMixbXSwiZTVhYSIsIk0zNDQtMzJjNjYuMyAwIDEyMCA1My43IDEyMCAxMjBsMCA2LjJjMjkuMyAxMi4yIDQ4IDQxLjMgNDggNzYuOSAwIDI3LjktMjUuMyA3NC44LTY2IDExMS43LTMuOCAzLjUtOC44IDUuMy0xNCA1LjNzLTEwLjItMS44LTE0LTUuM2MtNDAuNy0zNi44LTY2LTgzLjctNjYtMTExLjcgMC0zNS42IDE4LjctNjQuNyA0OC03Ni45bDAtNi4yYzAtMzAuOS0yNS4xLTU2LTU2LTU2cy01NiAyNS4xLTU2IDU2bDAgNDI0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMjk2YzAtMzAuOS0yNS4xLTU2LTU2LTU2cy01NiAyNS4xLTU2IDU2bDAgMzguMmMyOS4zIDEyLjIgNDggNDEuMyA0OCA3Ni45IDAgMjcuOS0yNS4zIDc0LjgtNjYgMTExLjctMy44IDMuNS04LjggNS4zLTE0IDUuM3MtMTAuMi0xLjgtMTQtNS4zQzI1LjMgNDA1LjkgMCAzNTkgMCAzMzEuMSAwIDI5NS40IDE4LjcgMjY2LjQgNDggMjU0LjJMNDggMjE2YzAtNjYuMyA1My43LTEyMCAxMjAtMTIwIDIwLjIgMCAzOS4zIDUgNTYgMTMuOEwyMjQgODhjMC02Ni4zIDUzLjctMTIwIDEyMC0xMjB6Il19LGtsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3ZWlnaHQtc2NhbGUiLGljb246WzQ0OCw1MTIsWyJ3ZWlnaHQiXSwiZjQ5NiIsIk0xMTYuNiAxOTJjLTMtMTAuMS00LjYtMjAuOS00LjYtMzIgMC02MS45IDUwLjEtMTEyIDExMi0xMTJTMzM2IDk4LjEgMzM2IDE2MGMwIDExLjEtMS42IDIxLjktNC42IDMybC03MSAwIDI0LjYtNDQuM2M2LjQtMTEuNiAyLjMtMjYuMi05LjMtMzIuNnMtMjYuMi0yLjMtMzIuNiA5LjNsLTM3LjYgNjcuNy04OC44IDB6TTEyOCAzMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwQzI5My4zIDExLjkgMjYwIDAgMjI0IDBzLTY5LjMgMTEuOS05NiAzMnoiXX0sZXd0PWtsZSxqWT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXJldC1yaWdodCIsaWNvbjpbMjU2LDUxMixbXSwiZjBkYSIsIk0yNDkuMyAyMzUuOGMxMC4yIDEyLjYgOS41IDMxLjEtMi4yIDQyLjhsLTEyOCAxMjhjLTkuMiA5LjItMjIuOSAxMS45LTM0LjkgNi45UzY0LjUgMzk2LjkgNjQuNSAzODRsMC0yNTZjMC0xMi45IDcuOC0yNC42IDE5LjgtMjkuNnMyNS43LTIuMiAzNC45IDYuOWwxMjggMTI4IDIuMiAyLjR6Il19LHR3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmbG9yaW4tc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTE4NCIsIk0zMTQuNyAzMmMtMzguOCAwLTczLjcgMjMuMy04OC42IDU5LjFMMTcwLjcgMjI0IDY0IDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw4MCAwLTQ1LjEgMTA4LjNjLTUgMTEuOS0xNi42IDE5LjctMjkuNSAxOS43TDMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzNy4zIDBjMzguOCAwIDczLjctMjMuMyA4OC42LTU5LjFMMjEzLjMgMjg4IDMyMCAyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTgwIDAgNDUuMS0xMDguM2M1LTExLjkgMTYuNi0xOS43IDI5LjUtMTkuN0wzNTIgOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTM3LjMgMHoiXX0sVVk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmVsbCIsaWNvbjpbNDQ4LDUxMixbMTI4Mjc2LDYxNjAyXSwiZjBmMyIsIk0yMjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzLjJDMTE5IDUwIDY0IDExNC42IDY0IDE5MmwwIDIxLjdjMCA0OC4xLTE2LjQgOTQuOC00Ni40IDEzMi40TDcuOCAzNTguM0MyLjcgMzY0LjYgMCAzNzIuNCAwIDM4MC41IDAgNDAwLjEgMTUuOSA0MTYgMzUuNSA0MTZsMzc2LjkgMGMxOS42IDAgMzUuNS0xNS45IDM1LjUtMzUuNSAwLTguMS0yLjctMTUuOS03LjgtMjIuMmwtOS44LTEyLjJDNDAwLjQgMzA4LjUgMzg0IDI2MS44IDM4NCAyMTMuN2wwLTIxLjdjMC03Ny40LTU1LTE0Mi0xMjgtMTU2LjhsMC0zLjJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTE2MiA0NjRjNy4xIDI3LjYgMzIuMiA0OCA2MiA0OHM1NC45LTIwLjQgNjItNDhsLTEyNCAweiJdfSxhd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFyaS1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMWM4IiwiTTE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDEuNWM3LjktMSAxNS45LTEuNSAyNC0xLjVzMTYuMSAuNSAyNCAxLjVMMjE2IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA1NGM1OC45IDIzLjggMTAzLjIgNzYgMTE2LjIgMTM5LjcgMy41IDE3LjMtNy43IDM0LjItMjUgMzcuN3MtMzQuMi03LjctMzcuNy0yNWMtNi43LTMzLjItMjYuNC02MS44LTUzLjQtODAuMmwwIDgxLjhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMDEuOGMtNy44LTEuNS0xNS44LTIuMi0yNC0yLjJzLTE2LjIgLjgtMjQgMi4yTDE2OCAyMzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC04MS44Yy0zMy44IDIzLTU2IDYxLjktNTYgMTA1LjggMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2LjkgMEMxOC41IDM1MCAwIDMwNS4yIDAgMjU2IDAgMTc1LjQgNDkuNiAxMDYuNCAxMjAgNzhsMC01NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHoiXX0scnd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pbGwtc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTFlZCIsIk0yOTctMjIuMmMxMi4zIDUgMTguMiAxOSAxMy4yIDMxLjNsLTI5IDcxLjNDMzM4LjggODUuMSAzODQgMTMzLjMgMzg0IDE5MmwwIDIwOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIwOGMwLTI2LjUtMjEuNS00OC00OC00OC02LjQgMC0xMi41IDEuMi0xOCAzLjVsLTMwIDczLjggMCAxNzguN2MwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIxLjItNTcuOCAxNDIuMmMtNSAxMi4zLTE5IDE4LjItMzEuMyAxMy4ycy0xOC4yLTE5LTEzLjItMzEuM0wxNjAgMjUxLjMgMTYwIDE5MmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OGwwIDIwOGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQxNy43IDAgNDAwTDAgMTEyYzAtMTcuNyAxNC4zLTMyIDMyLTMyIDEwLjkgMCAyMC41IDUuNCAyNi4zIDEzLjcgMTYtOC43IDM0LjMtMTMuNyA1My43LTEzLjcgMzEuMyAwIDU5LjcgMTIuOSA4MCAzMy42IDkuNi05LjggMjAuOS0xNy44IDMzLjUtMjMuNUwyNjUuOC05YzUtMTIuMyAxOS0xOC4yIDMxLjMtMTMuMnoiXX0semxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1zbm93Ym9hcmRpbmciLGljb246WzU3Niw1MTIsWzEyNzkzOCwic25vd2JvYXJkaW5nIl0sImY3Y2UiLCJNNDI0LjUgMTZhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTE2Ni40IDQ1LjVjMTAuMi0xNC40IDMwLjItMTcuOSA0NC42LTcuN2wyNzIgMTkyYzE0LjQgMTAuMiAxNy45IDMwLjIgNy43IDQ0LjZzLTMwLjIgMTcuOS00NC42IDcuN2wtOTIuMi02NS4xLTYyLjIgNTMuMyAzMi4xIDI2LjdjMTguMiAxNS4yIDI4LjggMzcuNyAyOC44IDYxLjVsMCA4Ny44IDc3LjUgMTUuMmM2LjIgMS4yIDEyLjYgLjkgMTguNy0uOGw0MS4yLTExLjhjMTIuNy0zLjYgMjYgMy43IDI5LjcgMTYuNXMtMy43IDI2LTE2LjUgMjkuN2wtNDEuMiAxMS44Yy0xMy40IDMuOC0yNy40IDQuNC00MS4xIDEuOEw4Ny4xIDQ0My4zYy0xNy4yLTMuNC0zMy0xMS44LTQ1LjMtMjQuMUwxNS41IDM5M2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDI2LjIgMjYuMmM1LjYgNS42IDEyLjggOS40IDIwLjYgMTFsNjQuMiAxMi42IDAtMTIzLjdjMC0yNy43IDEyLTU0IDMyLjgtNzIuMmw2OS02MC40LTg4LjItNjIuM0MxNTkuNiA4MCAxNTYuMiA2MCAxNjYuNCA0NS41em01OC4xIDM3NS43bDY0IDEyLjUgMC03NS4zYzAtNC43LTIuMS05LjMtNS44LTEyLjNsLTU4LjItNDguNSAwIDEyMy42eiJdfSxpd3Q9emxlLFNsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0dHkiLGljb246WzUxMiw1MTIsWyJ0ZWxldHlwZSJdLCJmMWU0IiwiTTQ1MC4yIDI2Ni44YzE1LjggNi41IDM0LjEgLjMgNDIuNi0xNC42bDIuNC00LjJjMjcuOS00OC45IDIzLjYtMTE4LjgtMzEuMy0xNTQuNS0xMjYtODItMjg5LjYtODItNDE1LjYgMC01NC45IDM1LjctNTkuMyAxMDUuNy0zMS4zIDE1NC41bDIuNCA0LjJjOC41IDE0LjkgMjYuNyAyMS4xIDQyLjYgMTQuNmw4MS45LTMzLjdjMTMuOS01LjcgMjIuNC0xOS45IDIwLjktMzQuOWwtNS4xLTUxYzYyLjUtMjEgMTMwLjgtMTkuOSAxOTIuNiAzLjNsLTQuOCA0Ny43Yy0xLjUgMTUgNyAyOS4yIDIwLjkgMzQuOWw4MS45IDMzLjd6TTMyIDM1MmEzMiAzMiAwIDEgMCA2NCAwIDMyIDMyIDAgMSAwIC02NCAwem05NiAwYTMyIDMyIDAgMSAwIDY0IDAgMzIgMzIgMCAxIDAgLTY0IDB6TTY0IDQxNmEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6bTM1MiAzMmEzMiAzMiAwIDEgMCA2NCAwIDMyIDMyIDAgMSAwIC02NCAwek0yNTYgMzIwYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHptNjQgMzJhMzIgMzIgMCAxIDAgNjQgMCAzMiAzMiAwIDEgMCAtNjQgMHptMTI4LTMyYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHpNMTI4IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTkyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyeiJdfSxzd3Q9U2xlLG93dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2Vycy1yZWN0YW5nbGUiLGljb246WzU3Niw1MTIsW10sImU1OTQiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptMjI0IDcyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyem0wIDE1MmM1MyAwIDk2IDQzIDk2IDk2bDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTI0YzAtNTMgNDMtOTYgOTYtOTZ6bTk2LTY0YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTE2OCAyNzIuM2MtMTUuMiAyMi44LTI0IDUwLjItMjQgNzkuN2wwIDI0YzAgOC40IDEuNCAxNi41IDQuMSAyNGwtNDYuOCAwQzg5LjYgNDAwIDgwIDM5MC40IDgwIDM3OC43TDgwIDM2OGMwLTUwLjMgMzguNy05MS42IDg4LTk1Ljd6TTQyNy45IDQwMGMyLjctNy41IDQuMS0xNS42IDQuMS0yNGwwLTI0YzAtMjkuNS04LjgtNTYuOS0yNC03OS43IDQ5LjMgNC4xIDg4IDQ1LjMgODggOTUuN2wwIDEwLjdjMCAxMS44LTkuNiAyMS4zLTIxLjMgMjEuM2wtNDYuOCAwek05NiAxOTJhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHoiXX0sS0c9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9iaWxlIixpY29uOlszODQsNTEyLFsxMjgyNDEsIm1vYmlsZS1hbmRyb2lkIiwibW9iaWxlLXBob25lIl0sImYzY2UiLCJNODAgMEM0NC43IDAgMTYgMjguNyAxNiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw4MCAwem03MiA0MTZsODAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtODAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sbnd0PUtHLGx3dD1LRyxjd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXR1cm4tdG8tZG90cyIsaWNvbjpbNDQ4LDUxMixbXSwiZTRjMSIsIk0yNjUuNC02LjZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM0wyODUuMyA2NCAzNTIgNjRjNTMgMCA5NiA0MyA5NiA5NmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJsLTY2LjcgMCAyNS40IDI1LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTgwLTgwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w4MC04MHptLTgyLjcgMjcybDgwIDgwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC04MCA4MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMTYyLjcgNDAwIDk2IDQwMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ4MS43IDAgNDY0bDAtMzJjMC01MyA0My05NiA5Ni05Nmw2Ni43IDAtMjUuNC0yNS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwek0zMjAgMzY4YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNNjQgMTYwYTY0IDY0IDAgMSAxIDAtMTI4IDY0IDY0IDAgMSAxIDAgMTI4eiJdfSxkd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXhjbGFtYXRpb24iLGljb246WzEyOCw1MTIsWzEwMDY5LDEwMDcxLDYxNzM4XSwiMjEiLCJNNjQgNDMyYzIyLjEgMCA0MCAxNy45IDQwIDQwcy0xNy45IDQwLTQwIDQwLTQwLTE3LjktNDAtNDBjMC0yMi4xIDE3LjktNDAgNDAtNDB6TTY0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCAuNiAwIDEuMSAwIDEuN2wtMTYgMzA0Yy0uOSAxNy0xNSAzMC4zLTMyIDMwLjNTMzMgMzcwLjcgMzIgMzUzLjdMMTYgNDkuN2MwLS42IDAtMS4xIDAtMS43IDAtMjYuNSAyMS41LTQ4IDQ4LTQ4eiJdfSxwd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2h1cmNoIixpY29uOls1MTIsNTEyLFs5OTYyXSwiZjUxZCIsIk0yODAtOGMwLTEzLjMtMTAuNy0yNC0yNC0yNFMyMzItMjEuMyAyMzItOGwwIDI0LTMyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzIgMCAwIDQ4LTk4LjYgNjUuOEMxMjAgMTg2LjcgMTEyIDIwMS42IDExMiAyMTcuN2wwIDM4LjMtNzkuOCA0NS42QzEyLjMgMzEzIDAgMzM0LjIgMCAzNTcuMUwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NCA3NC43IDAgODUuNCAwIDMyMCAwbDY0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC05MC45YzAtMjMtMTIuMy00NC4yLTMyLjItNTUuNkw0MDAgMjU2IDQwMCAyMTcuN2MwLTE2LTgtMzEtMjEuNC0zOS45bC05OC42LTY1LjggMC00OCAzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMiAwIDAtMjR6TTI1NiAzMjBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA4MC0xMjggMCAwLTgwYzAtMzUuMyAyOC43LTY0IDY0LTY0eiJdfSx1d3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9nZ2xlLW9mZiIsaWNvbjpbNTc2LDUxMixbXSwiZjIwNCIsIk0zODQgMTI4YzcwLjcgMCAxMjggNTcuMyAxMjggMTI4UzQ1NC43IDM4NCAzODQgMzg0bC0xOTIgMGMtNzAuNyAwLTEyOC01Ny4zLTEyOC0xMjhzNTcuMy0xMjggMTI4LTEyOGwxOTIgMHpNNTc2IDI1NmMwLTEwNi04Ni0xOTItMTkyLTE5MkwxOTIgNjRDODYgNjQgMCAxNTAgMCAyNTZTODYgNDQ4IDE5MiA0NDhsMTkyIDBjMTA2IDAgMTkyLTg2IDE5Mi0xOTJ6TTE5MiAzMzZhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6Il19LGZ3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaG9lLXByaW50cyIsaWNvbjpbNTc2LDUxMixbXSwiZjU0YiIsIk0yOTYgMTkyYy0yMS4xLTEyLjEtNDIuMy0yNC4yLTcyLTI5LjNsMC0xNDAuM0MyNTcuNyAxMyAzMTEuNCAwIDM1MiAwIDQ0OCAwIDU3NiA0OCA1NzYgMTI4cy0xMTkuNiA5Ni0xNzYgOTZjLTQ4IDAtNzYtMTYtMTA0LTMyek0xMjggMzJsNDggMCAwIDEyOC00OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0ek0yMzIgMzIwYzI4LTE2IDU2LTMyIDEwNC0zMiA1Ni40IDAgMTc2IDE2IDE3NiA5NlMzODQgNTEyIDI4OCA1MTJjLTQwLjUgMC05NC4zLTEzLTEyOC0yMi40bDAtMTQwLjNjMjkuNy01LjIgNTAuOS0xNy4zIDcyLTI5LjR6TTY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGw0OCAwIDAgMTI4LTQ4IDB6Il19LGh3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNTc2LDUxMixbXSwiZTRlYiIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE4MCAwYy0yMi43LTMxLjUtMzYtNzAuMi0zNi0xMTIgMC0xMDAuNiA3Ny40LTE4My4yIDE3Ni0xOTEuM2wwLTM4LjFjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjkwLjcgMTguN0MyNzguNyA2LjcgMjYyLjUgMCAyNDUuNSAwTDk2IDB6TTM1Ny41IDE3NkwyNjQgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyNDAgNTguNSAzNTcuNSAxNzZ6TTQzMiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTEwMGEyMCAyMCAwIDEgMSAwIDQwIDIwIDIwIDAgMSAxIDAtNDB6bTAtMTQwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxXWT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YWxsZXQiLGljb246WzUxMiw1MTIsW10sImY1NTUiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5MmMwLTM1LjMtMjguNy02NC02NC02NEw3MiAxMjhjLTEzLjMgMC0yNC0xMC43LTI0LTI0UzU4LjcgODAgNzIgODBsMzg0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMNjQgMzJ6TTQxNiAyNTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxiNz17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtZXNzYWdlIixpY29uOls1MTIsNTEyLFsiY29tbWVudC1hbHQiXSwiZjI3YSIsIk0wIDM1MkwwIDEyOEMwIDc1IDQzIDMyIDk2IDMybDMyMCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAyMjRjMCA1My00MyA5Ni05NiA5NmwtMTIwIDBjLTUuMiAwLTEwLjIgMS43LTE0LjQgNC44TDE2Ni40IDUzOS4yYy00LjIgMy4xLTkuMiA0LjgtMTQuNCA0LjgtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC03Mi0zMiAwYy01MyAwLTk2LTQzLTk2LTk2eiJdfSxtd3Q9YjcsZ3d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyb3BoeSIsaWNvbjpbNTEyLDUxMixbMTI3OTQyXSwiZjA5MSIsIk0xNDQuMyAwbDIyNCAwYzI2LjUgMCA0OC4xIDIxLjggNDcuMSA0OC4yLS4yIDUuMy0uNCAxMC42LS43IDE1LjhsNDkuNiAwYzI2LjEgMCA0OS4xIDIxLjYgNDcuMSA0OS44LTcuNSAxMDMuNy02MC41IDE2MC43LTExOCAxOTAuNS0xNS44IDguMi0zMS45IDE0LjMtNDcuMiAxOC44LTIwLjIgMjguNi00MS4yIDQzLjctNTcuOSA1MS44bDAgNzMuMSA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwIDAtNzMuMWMtMTYtNy43LTM1LjktMjItNTUuMy00OC4zLTE4LjQtNC44LTM4LjQtMTIuMS01Ny45LTIzLjEtNTQuMS0zMC4zLTEwMi45LTg3LjQtMTA5LjktMTg5LjktMS45LTI4LjEgMjEtNDkuNyA0Ny4xLTQ5LjdsNDkuNiAwYy0uMy01LjItLjUtMTAuNC0uNy0xNS44LTEtMjYuNSAyMC42LTQ4LjIgNDcuMS00OC4yek0xMDEuNSAxMTJsLTUyLjQgMGM2LjIgODQuNyA0NS4xIDEyNy4xIDg1LjIgMTQ5LjYtMTQuNC0zNy4zLTI2LjMtODYtMzIuOC0xNDkuNnpNMzgwIDI1Ni44YzQwLjUtMjMuOCA3Ny4xLTY2LjEgODMuMy0xNDQuOEw0MTEgMTEyYy02LjIgNjAuOS0xNy40IDEwOC4yLTMxIDE0NC44eiJdfSxDbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1kaXp6eSIsaWNvbjpbNTEyLDUxMixbImRpenp5Il0sImY1NjciLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTEzNC4xIDE1My45bDI1LjkgMjUuOSAyNS45LTI1LjljNy44LTcuOCAyMC41LTcuOCAyOC4zIDBzNy44IDIwLjUgMCAyOC4zbC0yNS45IDI1LjkgMjUuOSAyNS45YzcuOCA3LjggNy44IDIwLjUgMCAyOC4zcy0yMC41IDcuOC0yOC4zIDBsLTI1LjktMjUuOS0yNS45IDI1LjljLTcuOCA3LjgtMjAuNSA3LjgtMjguMyAwcy03LjgtMjAuNSAwLTI4LjNsMjUuOS0yNS45LTI1LjktMjUuOWMtNy44LTcuOC03LjgtMjAuNSAwLTI4LjNzMjAuNS03LjggMjguMyAwem0xOTIgMGwyNS45IDI1LjkgMjUuOS0yNS45YzcuOC03LjggMjAuNS03LjggMjguMyAwczcuOCAyMC41IDAgMjguM2wtMjUuOSAyNS45IDI1LjkgMjUuOWM3LjggNy44IDcuOCAyMC41IDAgMjguM3MtMjAuNSA3LjgtMjguMyAwbC0yNS45LTI1LjktMjUuOSAyNS45Yy03LjggNy44LTIwLjUgNy44LTI4LjMgMHMtNy44LTIwLjUgMC0yOC4zbDI1LjktMjUuOS0yNS45LTI1LjljLTcuOC03LjgtNy44LTIwLjUgMC0yOC4zczIwLjUtNy44IDI4LjMgMHpNMjU2IDMwNGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHoiXX0sYnd0PUNsZSx2d3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFjdGVyaWEiLGljb246WzY0MCw1MTIsW10sImUwNTkiLCJNMjU2LTMyYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTFjOC42IDIuMiAxNi45IDUuNiAyNC44IDEwLjNMMzExIDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC02LjMgNi4zYzQuNiA3LjggOCAxNi4yIDEwLjMgMjQuOGwxMSAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMSAwYy0yLjIgOC42LTUuNiAxNi45LTEwLjMgMjQuOEwzNDUgMTUxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQuMS00LjEtMzAuMSAzMC4xIDQuMSA0LjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNC4xLTQuMWMtMTAgMTAtMjAgMjAtMzAuMSAzMC4xTDIxNyAyNzljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNi4zLTYuM2MtNy44IDQuNi0xNi4yIDgtMjQuOCAxMC4zbDAgMTFjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMWMtOC42LTIuMi0xNi45LTUuNi0yNC44LTEwLjNMNzMgMzEzYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDYuMy02LjNjLTQuNi03LjgtOC0xNi4yLTEwLjMtMjQuOGwtMTEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxMSAwYzIuMi04LjYgNS42LTE2LjkgMTAuMy0yNC44TDM5IDE2OWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQuMSA0LjFjMTAtMTAgMjAtMjAgMzAuMS0zMC4xTDEwMyAxMDVjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0LjEgNC4xIDMwLjEtMzAuMS00LjEtNC4xYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOVMxOTEuNi0yLjMgMjAxIDdsNi4zIDYuM2M3LjgtNC42IDE2LjItOCAyNC44LTEwLjNsMC0xMWMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMTI4IDI1NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTI0MCAxNDRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMjk2IDQwbDAgMTFjOC42IDIuMiAxNi45IDUuNiAyNC44IDEwLjNMNTY3IDE5OWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTYuMyA2LjNjNC42IDcuOCA4IDE2LjIgMTAuMyAyNC44bDExIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTExIDBjLTIuMiA4LjYtNS42IDE2LjktMTAuMyAyNC44TDYwMSAzNDNjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNC4xLTQuMS0zMC4xIDMwLjEgNC4xIDQuMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00LjEtNC4xYy0xMCAxMC0yMCAyMC0zMC4xIDMwLjFMNDczIDQ3MWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC02LjMtNi4zYy03LjggNC42LTE2LjIgOC0yNC44IDEwLjNsMCAxMWMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTExYy04LjYtMi4yLTE2LjktNS42LTI0LjgtMTAuM0wzMjkgNTA1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDYuMy02LjNjLTQuNi03LjgtOC0xNi4yLTEwLjMtMjQuOGwtMTEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxMSAwYzIuMi04LjYgNS42LTE2LjkgMTAuMy0yNC44TDI5NSAzNjFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0LjEgNC4xYzEwLTEwIDIwLTIwIDMwLjEtMzAuMUwzNTkgMjk3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNC4xIDQuMSAzMC4xLTMwLjEtNC4xLTQuMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDYuMyA2LjNjNy44LTQuNiAxNi4yLTggMjQuOC0xMC4zbDAtMTFjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHpNNDQ4IDM4NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAweiJdfSxKZj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlYXItZGVhZiIsaWNvbjpbNTEyLDUxMixbImRlYWYiLCJkZWFmbmVzcyIsImhhcmQtb2YtaGVhcmluZyJdLCJmMmE0IiwiTTUwMi42IDU0LjZsLTQwIDQwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2w0MC00MGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zem0tMzIwIDMyMGwtMTI4IDEyOGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTI4LTEyOGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zek0yNDAgMTI4Yy01Ny42IDAtMTA1LjEgNDMuNi0xMTEuMyA5OS41LTEuOSAxNy42LTE3LjggMzAuMi0zNS4zIDI4LjNzLTMwLjItMTcuOC0yOC4zLTM1LjNjOS43LTg4IDg0LjMtMTU2LjUgMTc0LjktMTU2LjUgOTcuMiAwIDE3NiA3OC44IDE3NiAxNzYgMCA0Ni0xNy43IDg3LjktNDYuNiAxMTkuMy0xMiAxMy0xNy40IDI0LjgtMTcuNCAzNC43bDAgNi4xYzAgNjEuOS01MC4xIDExMi0xMTIgMTEyLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02LjFjMC0zMi45IDE3LjQtNTkuNiAzNC40LTc4IDE4LjQtMjAgMjkuNi00Ni42IDI5LjYtNzUuOSAwLTYxLjktNTAuMS0xMTItMTEyLTExMnptMCA4MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0seHd0PUpmLHl3dD1KZix3d3Q9SmYsX2xlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlb3BsZS1hcnJvd3MiLGljb246WzUxMiw1MTIsWyJwZW9wbGUtYXJyb3dzLWxlZnQtcmlnaHQiXSwiZTA2OCIsIk0zMiA2NEE2NCA2NCAwIDEgMSAxNjAgNjQgNjQgNjQgMCAxIDEgMzIgNjR6TTAgMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDBjMy4yIDAgNi40IC4yIDkuNSAuN0w5My4xIDIwNS4xQzY1IDIzMy4yIDY1IDI3OC44IDkzLjEgMzA2LjlsNTYgNTZjMy40IDMuNCA3IDYuNCAxMC45IDlsMCA5Mi4xYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTEyMC42QzEyLjkgMzMyLjQgMCAzMTEuNyAwIDI4OGwwLTY0ek0zNTIgNjRhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwem02Ni45IDE0MS4xbC00NC40LTQ0LjRjMy4xLS41IDYuMy0uNyA5LjUtLjdsNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMjMuNy0xMi45IDQ0LjQtMzIgNTUuNEw0ODAgNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTkyLjFjMy45LTIuNiA3LjUtNS42IDEwLjktOWw1Ni01NmMyOC4xLTI4LjEgMjguMS03My43IDAtMTAxLjh6TTMwMi44IDE3Ny44YzktMy43IDE5LjMtMS43IDI2LjIgNS4ybDU2IDU2YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC01NiA1NmMtNi45IDYuOS0xNy4yIDguOS0yNi4yIDUuMlMyODggMzIxLjcgMjg4IDMxMmwwLTI0LTY0IDAgMCAyNGMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC01Ni01NmMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsNTYtNTZjNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMlMyMjQgMTkwLjMgMjI0IDIwMGwwIDI0IDY0IDAgMC0yNGMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJ6Il19LE13dD1fbGUsa3d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzLWNsYXBwaW5nIixpY29uOls1MTIsNTEyLFtdLCJlMWE4IiwiTTM0NCA4bDAgNjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC02NGMwLTEzLjMgMTAuNy0yNCAyNC0yNFMzNDQtNS4zIDM0NCA4ek0yMjAgMTAuN2wzMiA0OGM3LjQgMTEgNC40IDI1LjktNi43IDMzLjNzLTI1LjkgNC40LTMzLjMtNi43bC0zMi00OGMtNy40LTExLTQuNC0yNS45IDYuNy0zMy4zUzIxMi42LS4zIDIyMCAxMC43ek0xMzUgMTE5YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwTDI5Mi43IDI0Mi43YzEwLjEgMTAuMSAyNy4zIDIuOSAyNy4zLTExLjNsMC0zOS40YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxNTMuNmMwIDU3LjEtMzAgMTEwLTc4LjkgMTM5LjQtNjQgMzguNC0xNDUuOCAyOC4zLTE5OC41LTI0LjRMNyAzNjFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw1MyA1M2M2LjEgNi4xIDE2IDYuMSAyMi4xIDBzNi4xLTE2IDAtMjIuMUwyMyAyNjVjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw5MyA5M2M2LjEgNi4xIDE2IDYuMSAyMi4xIDBzNi4xLTE2IDAtMjIuMUw1NSAxODVjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwxMTcgMTE3YzYuMSA2LjEgMTYgNi4xIDIyLjEgMHM2LjEtMTYgMC0yMi4xbC05My05M2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6TTQzMy4xIDQ4NC45Yy0yNC4yIDE0LjUtNTAuOSAyMi4xLTc3LjcgMjMuMSA0OC4xLTM5LjYgNzYuNi05OSA3Ni42LTE2Mi40bDAtOTguMWM4LjItLjEgMTYtNi40IDE2LTE2bDAtMzkuNGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTUzLjZjMCA1Ny4xLTMwIDExMC03OC45IDEzOS40ek00NTMuMyA0YzExIDcuNCAxNCAyMi4zIDYuNyAzMy4zbC0zMiA0OGMtNy40IDExLTIyLjMgMTQtMzMuMyA2LjdzLTE0LTIyLjMtNi43LTMzLjNsMzItNDhjNy40LTExIDIyLjMtMTQgMzMuMy02Ljd6Il19LHp3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aXJ1cy1jb3ZpZC1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZTRhOSIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC04My04MyAxMS40LTExLjRjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMTEuMyAxMS4zLTIzLjgtMjMuOGMxNy45LTIzLjUgMjkuOS01MS43IDM0LjEtODIuM2wzMy42IDAgMCAxNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtODBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNi0zMy42IDBjLTQuMi0zMC43LTE2LjMtNTguOC0zNC4xLTgyLjNsMjMuOC0yMy44IDExLjMgMTEuM2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNDQwLjcgNDYuN2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwxMS4zIDExLjMtMjMuOCAyMy44QzM3MC44IDk3LjkgMzQyLjcgODUuOCAzMTIgODEuNmwwLTMzLjYgMTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNFMzNDEuMyAwIDMyOCAwTDI0OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE2IDAgMCAzMy42Yy0zMC43IDQuMi01OC44IDE2LjMtODIuMyAzNC4xTDE1Ny45IDkyIDE2OS4yIDgwLjZjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEwxMjMuOSA1OC4xIDQxLTI0Ljl6TTExMy42IDIzMmwtMzMuNiAwIDAtMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYgMzMuNiAwYzQuMiAzMC43IDE2LjMgNTguOCAzNC4xIDgyLjNsLTIzLjggMjMuOC0xMS4zLTExLjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNTYuNiA1Ni42YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTEuMy0xMS4zIDIzLjgtMjMuOGMyMy41IDE3LjkgNTEuNyAyOS45IDgyLjMgMzQuMWwwIDMzLjYtMTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNiAwIDAtMzMuNmMxMy40LTEuOCAyNi40LTUuMiAzOC43LTkuOUwxMjMuNSAxOTMuM2MtNC43IDEyLjMtOCAyNS4yLTkuOSAzOC43eiJdfSxUbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FsZW5kYXItZGF5cyIsaWNvbjpbNDQ4LDUxMixbImNhbGVuZGFyLWFsdCJdLCJmMDczIiwiTTEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMTI4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNjQgMjQwbDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTEyOCAwbDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE0NC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek02NCAzNjhsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTQ0LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTExMiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2eiJdfSxTd3Q9VGxlLExsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWFtb25kLXR1cm4tcmlnaHQiLGljb246WzUxMiw1MTIsWyJkaXJlY3Rpb25zIl0sImY1ZWIiLCJNMjE1IDE3TDE3IDIxNUM2LjEgMjI1LjkgMCAyNDAuNiAwIDI1NnM2LjEgMzAuMSAxNyA0MUwyMTUgNDk1YzEwLjkgMTAuOSAyNS42IDE3IDQxIDE3czMwLjEtNi4xIDQxLTE3TDQ5NSAyOTdjMTAuOS0xMC45IDE3LTI1LjYgMTctNDFzLTYuMS0zMC4xLTE3LTQxTDI5NyAxN0MyODYuMSA2LjEgMjcxLjQgMCAyNTYgMHMtMzAuMSA2LjEtNDEgMTd6TTM4NSAyNTdsLTcyIDcyYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMxLTMxLTc4LjEgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQwYzAtMzkuOCAzMi4yLTcyIDcyLTcybDc4LjEgMC0zMS0zMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDcyIDcyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45eiJdfSxDd3Q9TGxlLF93dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXBvaW50LXVwIixpY29uOlszODQsNTEyLFs5NzU3XSwiZjBhNiIsIk0zMiAzMkMzMiAxNC4zIDQ2LjMgMCA2NCAwUzk2IDE0LjMgOTYgMzJsMCAyMDgtNjQgMCAwLTIwOHpNMjI0IDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NHptLTY0LTY0YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC00OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTYwIDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0em0tOTYgODhsMC0uNmM5LjQgNS40IDIwLjMgOC42IDMyIDguNiAxMy4yIDAgMjUuNC00IDM1LjYtMTAuOCA4LjcgMjQuOSAzMi41IDQyLjggNjAuNCA0Mi44IDExLjcgMCAyMi42LTMuMSAzMi04LjZsMCA4LjZjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBsLTYxLjcgMGMtNDIuNCAwLTgzLjEtMTYuOS0xMTMuMS00Ni45TDM3LjUgNDUzLjVDMTMuNSA0MjkuNSAwIDM5Ni45IDAgMzYzbDAtMjdjMC0zNS4zIDI4LjctNjQgNjQtNjRsODggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MGwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw1NiAwYzM5LjggMCA3Mi0zMi4yIDcyLTcyeiJdfSxUd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmV6aWVyLWN1cnZlIixpY29uOls2NDAsNTEyLFtdLCJmNTViIiwiTTI5NiAxMzZsMC00OCA0OCAwIDAgNDgtNDggMHpNMjg4IDMyYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDQtMTE4LjQgMEMxMTEuMiA2Mi43IDg5LjMgNDggNjQgNDggMjguNyA0OCAwIDc2LjcgMCAxMTJzMjguNyA2NCA2NCA2NGMyNS4zIDAgNDcuMi0xNC43IDU3LjYtMzZsNjYuOSAwYy01OC45IDM5LjYtOTguOSAxMDUtMTA0IDE4MEw4MCAzMjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjRjMCAyNi41IDIxLjUgNDggNDggNDhsNjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zLjMgMGM1LjktNjcgNDguNS0xMjMuNCAxMDcuNS0xNDkuMSA4LjYgMTIuNyAyMy4yIDIxLjEgMzkuOCAyMS4xbDY0IDBjMTYuNiAwIDMxLjEtOC40IDM5LjgtMjEuMSA1OSAyNS43IDEwMS42IDgyLjEgMTA3LjUgMTQ5LjFsLTMuMyAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NGMwLTI2LjUtMjEuNS00OC00OC00OGwtNC41IDBjLTUtNzUtNDUuMS0xNDAuNC0xMDQtMTgwbDY2LjkgMGMxMC40IDIxLjMgMzIuMyAzNiA1Ny42IDM2IDM1LjMgMCA2NC0yOC43IDY0LTY0cy0yOC43LTY0LTY0LTY0Yy0yNS4zIDAtNDcuMiAxNC43LTU3LjYgMzZsLTExOC40IDAgMC00YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC02NCAwek04OCAzNzZsNDggMCAwIDQ4LTQ4IDAgMC00OHptNDE2IDQ4bDAtNDggNDggMCAwIDQ4LTQ4IDB6Il19LEx3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24taGFsZi1kcmVzcyIsaWNvbjpbMzg0LDUxMixbXSwiZTU0OCIsIk0xNDMuNC0zLjljOS43LTE2LjggMjcuOC0yOC4xIDQ4LjYtMjguMSAzMC45IDAgNTYgMjUuMSA1NiA1NiAwIDI1LjQtMTYuOSA0Ni44LTQwIDUzLjdsMCAwYy01LjEgMS41LTEwLjQgMi4zLTE2IDIuMy0zMC45IDAtNTYtMjUuMS01Ni01NmwwIDBjMC0xMC4xIDIuNy0xOS43IDcuNC0yNy45ek0zMTguMyAyOTkuMUwyNzIgMjM2LjcgMjcyIDUxMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE2MCAwLS40IDAtMjM4LjZjMzYuMiA0LjQgNjkuMiAyMy40IDkxLjIgNTNsNzAuNSA5NWMxMC41IDE0LjIgNy42IDM0LjItNi42IDQ0LjhzLTM0LjIgNy42LTQ0LjgtNi42ek0xNzYgMTEzbDAgMzk5YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4LTI1LjggMGMtMTAuOSAwLTE4LjYtMTAuNy0xNS4yLTIxLjFsNDMtMTI5LTQ4LjMgNjUuMWMtMTAuNSAxNC4yLTMwLjYgMTcuMi00NC44IDYuNnMtMTcuMi0zMC42LTYuNi00NC44bDcwLjUtOTVjMjItMjkuNiA1NS4xLTQ4LjYgOTEuMi01M3oiXX0sJGxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1wb2xsLWhvcml6b250YWwiLGljb246WzQ0OCw1MTIsWyJwb2xsLWgiXSwiZjY4MiIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMjU2IDE1MmMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtMTEyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTEyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjR6bTcyIDgwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yMDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyMDggMHpNMTkyIDM2MGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0eiJdfSwkd3Q9JGxlLER3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY2hvb2wtY2lyY2xlLXhtYXJrIixpY29uOls2NDAsNTEyLFtdLCJlNTZkIiwiTTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjc2IDBjLTEwLjUtMTQuNi0xOS0zMC43LTI1LjEtNDhsLTkwLjkgMCAwLTg4YzAtMjIuMSAxNy45LTQwIDQwLTQwbDQ4IDBjMSAwIDEuOSAwIDIuOSAuMSAyNi4zLTc0LjYgOTcuNS0xMjguMSAxODEuMS0xMjguMSAyOC42IDAgNTUuNiA2LjIgODAgMTcuNGwwLTMzLjRjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTY0IDAtMTI3LjktMTE1LjFjLTE4LjMtMTYuNC00Ni0xNi40LTY0LjIgMEwxMjggMTI4IDY0IDEyOHptNjQgMjQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJ6TTExMiAyNTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNnpNMjg4IDEyOGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdsLTM2LjcgMzYuNyAzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtMzYuNy0zNi43LTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzNi43LTM2LjctMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMzYuNyAzNi43IDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6Il19LEF3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLWxpemFyZCIsaWNvbjpbNTEyLDUxMixbXSwiZjI1OCIsIk0wIDExMkMwIDg1LjUgMjEuNSA2NCA0OCA2NGwyMzguNSAwYzM2LjggMCA3MS4yIDE4IDkyLjEgNDguMmwxMTMuNSAxNjRjMTMgMTguNyAxOS45IDQxIDE5LjkgNjMuOGwwIDc2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTEzLjgtNzguMS01MC4yLTE2MS45IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4czIxLjUtNDggNDgtNDhsMTI4IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhMNDggMTYwYy0yNi41IDAtNDgtMjEuNS00OC00OHoiXX0sRGxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYWxrYm9hcmQiLGljb246WzU3Niw1MTIsWyJibGFja2JvYXJkIl0sImY1MWIiLCJNOTYgNjRjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDUxMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDY0ek00ODAgMzg0bC02NCAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJsLTk2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzItMTYwIDAgMC0yNTYgMzg0IDAgMCAyNTZ6Il19LFB3dD1EbGUsQWxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVwLXJpZ2h0LWZyb20tc3F1YXJlIixpY29uOls1MTIsNTEyLFsiZXh0ZXJuYWwtbGluay1hbHQiXSwiZjM1ZCIsIk0yOTAuNCAxOS44QzI5NS40IDcuOCAzMDcuMSAwIDMyMCAwTDQ4MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTYwYzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZzLTI1LjcgMi4yLTM0LjktNi45TDQwMCAxNTcuMyAyNDYuNiAzMTAuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMzU0LjcgMTEyIDI5Ny40IDU0LjZjLTkuMi05LjItMTEuOS0yMi45LTYuOS0zNC45ek0wIDE3NmMwLTQ0LjIgMzUuOC04MCA4MC04MGw4MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC04MCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAyNTZjMCA4LjggNy4yIDE2IDE2IDE2bDI1NiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA4MGMwIDQ0LjItMzUuOCA4MC04MCA4MEw4MCA1MTJjLTQ0LjIgMC04MC0zNS44LTgwLTgwTDAgMTc2eiJdfSxFd3Q9QWxlLEl3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtZnVsbCIsaWNvbjpbNTEyLDUxMixbMTI4OTk3LDEyODk5OCwxMjg5OTksMTI5ZTMsMTI5MDAxLDEyOTAwMiwxMjkwMDMsMTEwMzUsMTEwMzZdLCJmNDVjIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDQ0OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHoiXX0sTnd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3ZlciIsaWNvbjpbNTEyLDUxMixbXSwiZTEzOSIsIk0zMTAuNCAxNkMzNDYuNiAxNiAzNzYgNDUuNCAzNzYgODEuN2wwIDUuMmMwIDExLjItMi43IDIyLjMtNy44IDMyLjJsLTIuMyA0LjItMjAuMSAzMy41Yy0xLjEgMS45LTEuMiAzLjQtMS4xIDQuNSAuMiAxLjMgLjkgMi43IDIuMSAzLjlzMi42IDEuOSAzLjkgMi4xYzEuMSAuMiAyLjYgLjEgNC41LTEuMWwzMy41LTIwLjEgNC4yLTIuM2MxMC01LjEgMjEtNy44IDMyLjItNy44bDUuMiAwYzM2LjIgMCA2NS42IDI5LjQgNjUuNiA2NS43IDAgMTcuNC02LjkgMzQuMS0xOS4yIDQ2LjRsLTEuMyAxLjNjLTMuNyAzLjctMy43IDkuNiAwIDEzLjNsMS4zIDEuM2MxMi4zIDEyLjMgMTkuMiAyOSAxOS4yIDQ2LjQgMCAzNi4yLTI5LjQgNjUuNi02NS42IDY1LjZsLTUuMiAwYy0xMi44IDAtMjUuNS0zLjUtMzYuNS0xMC4xbC0zMy41LTIwLjFjLTEuOS0xLjEtMy40LTEuMi00LjUtMS4xLTEuMyAuMi0yLjcgLjktMy45IDIuMXMtMS45IDIuNi0yLjEgMy45Yy0uMiAxLjEtLjEgMi42IDEuMSA0LjVsMjAuMSAzMy41YzYuNiAxMSAxMC4xIDIzLjYgMTAuMSAzNi41bDAgNS4yYzAgMzYuMi0yOS40IDY1LjYtNjUuNiA2NS42LTE3LjQgMC0zNC4xLTYuOS00Ni40LTE5LjJsLTEuMy0xLjNjLTMuNy0zLjctOS42LTMuNy0xMy4zIDBsLTEuMyAxLjNjLTEyLjMgMTIuMy0yOSAxOS4yLTQ2LjQgMTkuMi0zNi4yIDAtNjUuNi0yOS40LTY1LjctNjUuNmwwLTUuMmMwLTEyLjggMy41LTI1LjUgMTAuMS0zNi41bDIwLjEtMzMuNWMxLjEtMS45IDEuMi0zLjQgMS4xLTQuNS0uMi0xLjMtLjktMi43LTIuMS0zLjlzLTIuNi0xLjktMy45LTIuMWMtLjUtLjEtMS4yLS4xLTEuOSAwbC0yLjUgMS0zMy41IDIwLjFjLTExIDYuNi0yMy42IDEwLjEtMzYuNSAxMC4xbC01LjIgMEM0NS40IDM3NiAxNiAzNDYuNiAxNiAzMTAuNCAxNiAyOTMgMjIuOSAyNzYuMyAzNS4yIDI2NGwxLjMtMS4zIDEuMi0xLjVjMi4xLTMuMSAyLjEtNy4yIDAtMTAuM2wtMS4yLTEuNS0xLjMtMS4zQzIyLjkgMjM1LjggMTYgMjE5LjEgMTYgMjAxLjcgMTYgMTY1LjQgNDUuNCAxMzYgODEuNyAxMzZsNS4yIDBjMTIuOCAwIDI1LjUgMy41IDM2LjUgMTAuMWwzMy41IDIwLjEgMi41IDFjLjcgLjEgMS40IC4xIDEuOSAuMSAxLjMtLjIgMi43LS45IDMuOS0yLjFzMS45LTIuNiAyLjEtMy45Yy4xLS41IC4xLTEuMi0uMS0xLjlsLTEtMi41LTIwLjEtMzMuNWMtNi42LTExLTEwLjEtMjMuNi0xMC4xLTM2LjVsMC01LjJjMC0zNi4yIDI5LjQtNjUuNyA2NS43LTY1LjcgMTcuNCAwIDM0LjEgNi45IDQ2LjQgMTkuMmwxLjMgMS4zYzMuNyAzLjYgOS42IDMuNyAxMy4zIDBsMS4zLTEuMyA0LjgtNC40QzI4MC41IDIxLjMgMjk1LjEgMTYgMzEwLjQgMTZ6Il19LFJ3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZWV0aC1vcGVuIixpY29uOls1MTIsNTEyLFtdLCJmNjJmIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZsMCA4MGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTgwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem0wIDI3MmMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTQ4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMwNHptODAtMTYwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhsMCAyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC0yNHptMTI4IDBjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDI0YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTI0ek04MCAxMTJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC0yNGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMzIwIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC0yNHpNNDggMzg0bDAtMTZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJ6bTE0NCA0OGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZsNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDI2LjUtMjEuNSA0OC00OCA0OHptMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTZjMC04LjggNy4yLTE2IDE2LTE2bDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCAyNi41LTIxLjUgNDgtNDggNDh6bTExMi0xNmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDE3LjctMTQuMyAzMi0zMiAzMnoiXX0sUUc9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFycy1zdGFnZ2VyZWQiLGljb246WzUxMiw1MTIsWyJyZW9yZGVyIiwic3RyZWFtIl0sImY1NTAiLCJNMCA5NkMwIDc4LjMgMTQuMyA2NCAzMiA2NGwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAxMjhDMTQuMyAxMjggMCAxMTMuNyAwIDk2ek02NCAyNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMOTYgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6Il19LEZ3dD1RRyxPd3Q9UUcsQnd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndhcmVob3VzZSIsaWNvbjpbNTc2LDUxMixbXSwiZjQ5NCIsIk0wIDE0Mi4xTDAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNDBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNDBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMzNy45YzAtMjcuNS0xNy42LTUyLTQzLjgtNjAuN0wzMDMuMiA1LjFjLTkuOS0zLjMtMjAuNS0zLjMtMzAuNCAwTDQzLjggODEuNEMxNy42IDkwLjEgMCAxMTQuNiAwIDE0Mi4xek00NjQgMjU2bC0zNTIgMCAwIDY0IDM1MiAwIDAtNjR6TTExMiA0MTZsMzUyIDAgMC02NC0zNTIgMCAwIDY0em0zNTIgMzJsLTM1MiAwIDAgNjQgMzUyIDAgMC02NHoiXX0sSHd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN3YXRjaGJvb2siLGljb246WzUxMiw1MTIsW10sImY1YzMiLCJNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDBsOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDM2OGMwIDUzLTQzIDk2LTk2IDk2UzAgNDY5IDAgNDE2TDAgNDh6TTI0MCA0MDkuNmwwLTI3MS41IDQ4LjEtNDguMWMxOC43LTE4LjcgNDkuMS0xOC43IDY3LjkgMGw2Ny45IDY3LjljMTguNyAxOC43IDE4LjcgNDkuMSAwIDY3LjlMMjQwIDQwOS42ek0yMDUuNSA1MTJsMTkyLTE5MiA2Ni42IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMjU4LjUgMHpNODAgNjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNkw4MCA2NHpNNjQgMjA4bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTk2IDQ0MGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6Il19LHF3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYW1wZ3JvdW5kIixpY29uOls1MTIsNTEyLFs5OTc4XSwiZjZiYiIsIk0zNDQuOCA1Mi4zYzExLjItMTMuNyA5LjItMzMuOC00LjUtNDVzLTMzLjgtOS4yLTQ1IDQuNWwtMzkuMiA0OC0zOS4yLTQ4QzIwNS42LTEuOSAxODUuNC00IDE3MS43IDcuMnMtMTUuNyAzMS40LTQuNSA0NWw0Ny40IDU4LTIwMiAyNDYuOUM0LjUgMzY3LjEgMCAzNzkuNiAwIDM5Mi42TDAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzkuNGMwLTEyLjktNC41LTI1LjUtMTIuNy0zNS41bC0yMDItMjQ2LjkgNDcuNC01OHpNMjU2IDI4OGwxMTIgMTI4LTIyNCAwIDExMi0xMjh6Il19LFZ3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24td2Fsa2luZy1hcnJvdy1yaWdodCIsaWNvbjpbNTc2LDUxMixbXSwiZTU1MiIsIk0xMDQuNSAyNGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6bS04IDE4MS4zTDczLjkgMjI3LjljLTYgNi05LjQgMTQuMS05LjQgMjIuNmwwIDM3LjVjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zNy41YzAtMjUuNSAxMC4xLTQ5LjkgMjguMS02Ny45bDM1LjEtMzUuMWMyMi44LTIyLjggNTMuNi0zNS42IDg1LjgtMzUuNiAzNi45IDAgNzEuOCAxNi44IDk0LjggNDUuNkwyNjIuMyAxODBjNi4xIDcuNiAxNS4zIDEyIDI1IDEybDMzLjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzMuMiAwYy0yOS4yIDAtNTYuNy0xMy4zLTc1LTM2bC0zLjgtNC43IDAgMTE1LjIgMzQuNSAyOS42YzE3LjcgMTUuMiAyOS4zIDM2LjIgMzIuNiA1OS4zbDEyLjYgODguMWMyLjUgMTcuNS05LjcgMzMuNy0yNy4yIDM2LjJzLTMzLjctOS43LTM2LjItMjcuMmwtMTIuNi04OC4xYy0xLjEtNy43LTUtMTQuNy0xMC45LTE5LjhMMTMwIDM0Ny41Yy0yMS4zLTE4LjItMzMuNS00NC45LTMzLjUtNzIuOWwwLTY5LjN6TTk2LjYgMzcxYzIuNCAyLjMgNC44IDQuNiA3LjQgNi44bDQ2IDM5LjQtMi4yIDcuNmMtNC41IDE1LjctMTIuOSAzMC0yNC40IDQxLjVMNTUuMSA1MzQuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsNjguMy02OC4zYzMuOC0zLjggNi42LTguNiA4LjEtMTMuOEw5Ni42IDM3MXpNNTA1LjUgMzQ1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMxLTMxLTEwMi4xIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTAyLjEgMC0zMS0zMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDcyIDcyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC03MiA3MnoiXX0sand0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdsYXNzZXMiLGljb246WzU3Niw1MTIsW10sImY1MzAiLCJNMTQzLjMgOTZjLTE0IDAtMjYuNSA5LjItMzAuNiAyMi42TDcwLjQgMjU2IDIyNCAyNTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJsNjQgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxNTMuNiAwLTQyLjMtMTM3LjRDNDU5LjIgMTA1LjIgNDQ2LjggOTYgNDMyLjcgOTZMNDAwIDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyLjcgMGM0Mi4xIDAgNzkuNCAyNy41IDkxLjggNjcuOGw0NS40IDE0Ny41YzQuMSAxMy4yIDYuMSAyNi45IDYuMSA0MC43bDAgOTZjMCA1My00MyA5Ni05NiA5NmwtNjQgMGMtNTMgMC05Ni00My05Ni05NmwwLTMyLTY0IDAgMCAzMmMwIDUzLTQzIDk2LTk2IDk2bC02NCAwYy01MyAwLTk2LTQzLTk2LTk2bDAtOTZjMC0xMy44IDIuMS0yNy41IDYuMS00MC43TDUxLjUgOTkuOEM2My45IDU5LjUgMTAxLjEgMzIgMTQzLjMgMzJMMTc2IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMi43IDB6TTY0IDMyMGwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NC0xMjggMHptNDE2IDk2YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjQtMTI4IDAgMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAweiJdfSxQbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLXBhdXNlIixpY29uOls1MTIsNTEyLFs2MjA5MiwicGF1c2UtY2lyY2xlIl0sImYyOGIiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTIyNCAxOTJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptMTI4IDBsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnoiXX0sVXd0PVBsZSxXd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWVtb3J5IixpY29uOls1MTIsNTEyLFtdLCJmNTM4IiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4bDAgNy40QzAgMTQyLjIgNC40IDE0OCAxMC4xIDE1MS43IDIzLjMgMTYwLjMgMzIgMTc1LjEgMzIgMTkycy04LjcgMzEuNy0yMS45IDQwLjNDNC40IDIzNiAwIDI0MS44IDAgMjQ4LjZsMCA1NS40IDUxMiAwIDAtNTUuNGMwLTYuOC00LjQtMTIuNi0xMC4xLTE2LjMtMTMuMi04LjYtMjEuOS0yMy40LTIxLjktNDAuM3M4LjctMzEuNyAyMS45LTQwLjNjNS43LTMuNyAxMC4xLTkuNSAxMC4xLTE2LjNsMC03LjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6TTUxMiA0MTZsMC02NC01MTIgMCAwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDAgMC0yNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMjQgODggMCAwLTI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAyNCA4OCAwIDAtMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDI0IDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6TTE2MCAxNjBsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6bTEyOCAwbDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyem0xMjggMGwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnoiXX0sR3d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdpZnQiLGljb246WzUxMiw1MTIsWzEyNzg3M10sImYwNmIiLCJNMzIxLjUgNjguOEMzMjkuMSA1NS45IDM0Mi45IDQ4IDM1Ny44IDQ4bDIuMiAwYzIyLjEgMCA0MCAxNy45IDQwIDQwcy0xNy45IDQwLTQwIDQwbC03My4zIDAgMzQuOC01OS4yem0tMTMxIDBsMzQuOCA1OS4yLTczLjMgMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBzMTcuOS00MCA0MC00MGwyLjIgMGMxNC45IDAgMjguOCA3LjkgMzYuMyAyMC44em04OS42LTI0LjNsLTI0LjEgNDEtMjQuMS00MUMyMTUuNyAxNi45IDE4Ni4xIDAgMTU0LjIgMEwxNTIgMGMtNDguNiAwLTg4IDM5LjQtODggODggMCAxNC40IDMuNSAyOCA5LjYgNDBMMzIgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDQ0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJsLTQxLjYgMGM2LjEtMTIgOS42LTI1LjYgOS42LTQwIDAtNDguNi0zOS40LTg4LTg4LTg4bC0yLjIgMGMtMzEuOSAwLTYxLjUgMTYuOS03Ny43IDQ0LjR6TTQ4MCAyNzJsLTIwMCAwIDAgMjA4IDEzNiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTQ0em0tMjQ4IDBsLTIwMCAwIDAgMTQ0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDEzNiAwIDAtMjA4eiJdfSxZd3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9uZXktYmlsbC13aGVhdCIsaWNvbjpbNTEyLDUxMixbXSwiZTUyYSIsIk0xNzYtMTZjNDQuMiAwIDgwIDM1LjggODAgODAgMCA4LjgtNy4yIDE2LTE2IDE2LTQ0LjIgMC04MC0zNS44LTgwLTgwIDAtOC44IDcuMi0xNiAxNi0xNnpNNTYgMGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDU2IDQ4QzQyLjcgNDggMzIgMzcuMyAzMiAyNFM0Mi43IDAgNTYgMHpNMjQgNzJsMTEyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgMTIwQzEwLjcgMTIwIDAgMTA5LjMgMCA5NlMxMC43IDcyIDI0IDcyem04IDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0yNzIgMGMwLTguOCA3LjItMTYgMTYtMTYgNDQuMiAwIDgwIDM1LjggODAgODAgMCA4LjgtNy4yIDE2LTE2IDE2LTQ0LjIgMC04MC0zNS44LTgwLTgwek00MDAtMTZjNDQuMiAwIDgwIDM1LjggODAgODAgMCA4LjgtNy4yIDE2LTE2IDE2LTQ0LjIgMC04MC0zNS44LTgwLTgwIDAtOC44IDcuMi0xNiAxNi0xNnptODAgMTQ0YzAgNDQuMi0zNS44IDgwLTgwIDgwLTguOCAwLTE2LTcuMi0xNi0xNiAwLTQ0LjIgMzUuOC04MCA4MC04MCA4LjggMCAxNiA3LjIgMTYgMTZ6TTM1MiAxMTJjOC44IDAgMTYgNy4yIDE2IDE2IDAgNDQuMi0zNS44IDgwLTgwIDgwLTguOCAwLTE2LTcuMi0xNi0xNiAwLTQ0LjIgMzUuOC04MCA4MC04MHptLTk2IDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwLTguOCAwLTE2LTcuMi0xNi0xNiAwLTQ0LjIgMzUuOC04MCA4MC04MCA4LjggMCAxNiA3LjIgMTYgMTZ6TTAgMzA0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDQxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTYwYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAzMDR6TTQ4IDQxNmwwIDQ4IDQ4IDBjMC0yNi41LTIxLjUtNDgtNDgtNDh6TTk2IDMwNGwtNDggMCAwIDQ4YzI2LjUgMCA0OC0yMS41IDQ4LTQ4ek00NjQgNDE2Yy0yNi41IDAtNDggMjEuNS00OCA0OGw0OCAwIDAtNDh6TTQxNiAzMDRjMCAyNi41IDIxLjUgNDggNDggNDhsMC00OC00OCAwem0tOTYgODBhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAweiJdfSxad3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZHVuZ2VvbiIsaWNvbjpbNTEyLDUxMixbXSwiZjZkOSIsIk0zNDcuNSAxNDQuOGM2LjUgNS40IDEyLjUgMTEuMyAxOCAxNy43IDguNyAxMC4yIDIzLjcgMTQgMzUuMSA2LjlsNTQuMS0zMy44YzExLjItNyAxNC43LTIxLjcgNi45LTMyLjItMTUuMy0yMC41LTMzLjUtMzguNi01NC4xLTUzLjgtMTAuNC03LjYtMjQuNy00LjMtMzEuOCA2LjRsLTM1LjEgNTIuNmMtNy44IDExLjYtMy44IDI3LjMgNyAzNi4yek0zMjcuOCA0MS4xYzguNi0xMi45IDIuOS0zMC41LTEyLjItMzQuMS0xOS4xLTQuNi0zOS4xLTctNTkuNi03cy00MC40IDIuNC01OS42IDdjLTE1LjEgMy42LTIwLjggMjEuMi0xMi4yIDM0LjFsNDAgNjBjNS4yIDcuOCAxNC41IDExLjcgMjMuOSAxMS4yIDUuMi0uMyAxMC42LS4zIDE1LjggMCA5LjQgLjUgMTguNy0zLjQgMjMuOS0xMS4ybDQwLTYwek01MC41IDEwMy4zYy03LjkgMTAuNS00LjMgMjUuMyA2LjkgMzIuMmw1NC4xIDMzLjhjMTEuNCA3LjEgMjYuMyAzLjMgMzUuMS02LjkgNS41LTYuNCAxMS41LTEyLjMgMTgtMTcuNyAxMC44LTguOSAxNC44LTI0LjYgNy0zNi4yTDEzNi40IDU1LjljLTcuMS0xMC43LTIxLjUtMTQtMzEuOC02LjQtMjAuNiAxNS4xLTM4LjggMzMuMy01NC4xIDUzLjh6bTYyIDE0MS4xYy44LTkuOS0zLjMtMTkuOS0xMS44LTI1LjFMNDEgMTgyYy0xMi45LTgtMjkuOS0yLjMtMzMuNiAxMi41LTQuOSAxOS43LTcuNSA0MC4zLTcuNSA2MS42bDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTI0YzAtMy45IC4yLTcuOCAuNS0xMS42em0yODcuMSAwYy4zIDMuOCAuNSA3LjcgLjUgMTEuNmwwIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0yNGMwLTIxLjItMi42LTQxLjgtNy41LTYxLjYtMy42LTE0LjctMjAuNy0yMC41LTMzLjYtMTIuNWwtNTkuNyAzNy4zYy04LjQgNS4zLTEyLjYgMTUuMi0xMS44IDI1LjF6TTg4IDM1MmwtNjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRMMCA0ODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHptNDAwIDBsLTY0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTI4MCAxODRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAzMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMwNHptLTgwIDMyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjcyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yNzJ6bTE2MCAwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjcyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yNzJ6Il19LEVsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdWl0Y2FzZS1tZWRpY2FsIixpY29uOls1MTIsNTEyLFsibWVka2l0Il0sImYwZmEiLCJNMTkyIDU2bDAgNDAgMTI4IDAgMC00MGMwLTQuNC0zLjYtOC04LThMMjAwIDQ4Yy00LjQgMC04IDMuNi04IDh6bS00OCA4bDAtOGMwLTMwLjkgMjUuMS01NiA1Ni01NkwzMTIgMGMzMC45IDAgNTYgMjUuMSA1NiA1NmwwIDQyNC0yMjQgMCAwLTQxNnpNOTYgMTc2bDAgMzA0LTMyIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTYwYzAtMzUuMyAyOC43LTY0IDY0LTY0bDMyIDAgMCA4MHpNNDE2IDQ4MGwwLTM4NCAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0zMiAwek0yNDQgMjA4Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzNi0zNiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAyNGMwIDguOCA3LjIgMTYgMTYgMTZsMzYgMCAwIDM2YzAgOC44IDcuMiAxNiAxNiAxNmwyNCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTM2IDM2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjRjMC04LjgtNy4yLTE2LTE2LTE2bC0zNiAwIDAtMzZjMC04LjgtNy4yLTE2LTE2LTE2bC0yNCAweiJdfSxYd3Q9RWxlLEt3dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tY2FuZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTUzYyIsIk0yMzItMzJhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTE0NCAyMzYuN0w5Ny43IDI5OS4xYy0xMC41IDE0LjItMzAuNiAxNy4yLTQ0LjggNi42cy0xNy4yLTMwLjYtNi42LTQ0LjhsNzAuNS05NUMxNDIgMTMyIDE4MS43IDExMiAyMjQgMTEyczgyIDIwIDEwNy4yIDUzLjlsNzAuNSA5NWMxMC41IDE0LjIgNy42IDM0LjItNi42IDQ0LjhzLTM0LjIgNy42LTQ0LjgtNi42TDMwNCAyMzYuNyAzMDQgNTEyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTYwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMjc1LjN6TTM5MiAzODRjLTQuNCAwLTggMy42LTggOCAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTMwLjkgMjUuMS01NiA1Ni01NnM1NiAyNS4xIDU2IDU2bDAgMTI4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTI4YzAtNC40LTMuNi04LTgtOHoiXX0sZTc9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2F1Z2UiLGljb246WzUxMiw1MTIsWyJkYXNoYm9hcmQiLCJnYXVnZS1tZWQiLCJ0YWNob21ldGVyLWFsdC1hdmVyYWdlIl0sImY2MjQiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMzIwIDk2YzAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM0wyODAgMTIwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTcyLjdjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuMyAwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0ek0xNDQgMTc2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptLTE2IDgwYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTI4OCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTQwMCAxNDRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHoiXX0sUXd0PWU3LEp3dD1lNyxlTXQ9ZTcsdE10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVudmVsb3BlLW9wZW4tdGV4dCIsaWNvbjpbNTc2LDUxMixbXSwiZjY1OCIsIk0yODggMzMuOUw5Ni40IDE3NS44IDI1NC41IDI5M2M1LjMgMy45IDExLjIgNi45IDE3LjUgOC43TDI3MiA0NjRjMCA1LjUgLjUgMTAuOCAxLjMgMTZMOTYgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTIzOS45YzAtMjAuMyA5LjYtMzkuNCAyNS45LTUxLjRMMjU0LjUtMjFjOS43LTcuMiAyMS40LTExIDMzLjUtMTFzMjMuOCAzLjkgMzMuNSAxMUw1MTguMSAxMjQuN2M3LjIgNS4zIDEzLjEgMTIgMTcuNCAxOS42LTIuNS0uMi01LS4zLTcuNS0uM0w0MzYuNiAxNDQgMjg4IDMzLjl6TTMyMCAyNDBjMC0yNi41IDIxLjUtNDggNDgtNDhsMTYwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAyMjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTE2MCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTIyNHptODAgMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsOTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtOTYgMHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw1NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC01NiAweiJdfSxhTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9vbGJveCIsaWNvbjpbNTEyLDUxMixbMTI5NTIwXSwiZjU1MiIsIk0xNzYgNTZsMCA0MCAxNjAgMCAwLTQwYzAtNC40LTMuNi04LTgtOEwxODQgNDhjLTQuNCAwLTggMy42LTggOHpNMTI4IDk2bDAtNDBjMC0zMC45IDI1LjEtNTYgNTYtNTZMMzI4IDBjMzAuOSAwIDU2IDI1LjEgNTYgNTZsMCA0MCAyOC4xIDBjMTIuNyAwIDI0LjkgNS4xIDMzLjkgMTQuMWw1MS45IDUxLjljOSA5IDE0LjEgMjEuMiAxNC4xIDMzLjlsMCA3Ni4xLTEzNiAwIDAtMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNi0xNDQgMCAwLTE2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTYtMTM2IDAgMC03Ni4xYzAtMTIuNyA1LjEtMjQuOSAxNC4xLTMzLjlsNTEuOS01MS45YzktOSAyMS4yLTE0LjEgMzMuOS0xNC4xTDEyOCA5NnpNMCA0MTZsMC05NiAxMzYgMCAwIDE2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNiAxNDQgMCAwIDE2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNiAxMzYgMCAwIDk2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjR6Il19LHJNdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwb3dlci1vZmYiLGljb246WzUxMiw1MTIsWzkyMTFdLCJmMDExIiwiTTI4OCAwYzAtMTcuNy0xNC4zLTMyLTMyLTMyUzIyNC0xNy43IDIyNCAwbDAgMjU2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJMMjg4IDB6TTE0Ni4zIDk4LjRjMTQuNS0xMC4xIDE4LTMwLjEgNy45LTQ0LjZzLTMwLjEtMTgtNDQuNi03LjlDNDMuNCA5Mi4xIDAgMTY5IDAgMjU2IDAgMzk3LjQgMTE0LjYgNTEyIDI1NiA1MTJTNTEyIDM5Ny40IDUxMiAyNTZjMC04Ny00My40LTE2My45LTEwOS43LTIxMC4xLTE0LjUtMTAuMS0zNC40LTYuNi00NC42IDcuOXMtNi42IDM0LjQgNy45IDQ0LjZjNDkuOCAzNC44IDgyLjMgOTIuNCA4Mi4zIDE1Ny42IDAgMTA2LTg2IDE5Mi0xOTIgMTkyUzY0IDM2MiA2NCAyNTZjMC02NS4yIDMyLjUtMTIyLjkgODIuMy0xNTcuNnoiXX0sSkc9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2lnbmFsIixpY29uOls1MTIsNTEyLFsxMjgyNDYsInNpZ25hbC01Iiwic2lnbmFsLXBlcmZlY3QiXSwiZjAxMiIsIk00ODggNTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwMHpNMzYwIDEyOGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAzMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMwNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHpNMjgwIDI0OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDIwOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjA4ek0xNTIgMzIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0ek00OCAzODRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxpTXQ9Skcsc010PUpHLG9NdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3Mtc3BpbiIsaWNvbjpbNTEyLDUxMixbXSwiZTRiYiIsIk00ODEuNyAyNDAuMWMtMTcuNi0xLjItMzIuOSAxMi0zNC4yIDI5LjctMy4zIDQ3LTIzLjYgODkuNC01NC44IDEyMUwzNjEgMzU5Yy02LjktNi45LTE3LjItOC45LTI2LjItNS4yUzMyMCAzNjYuMyAzMjAgMzc2bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDExMiAwYzkuNyAwIDE4LjUtNS44IDIyLjItMTQuOHMxLjctMTkuMy01LjItMjYuMmwtMzUtMzVjNDEuNy00Mi4yIDY4LjktOTguOCA3My40LTE2MS44IDEuMi0xNy42LTEyLTMyLjktMjkuNy0zNC4yek0zOSA0MUw3NCA3NmMtNDEuNyA0Mi4yLTY4LjkgOTguOC03My40IDE2MS44LTEuMiAxNy42IDEyIDMyLjkgMjkuNyAzNC4yczMyLjktMTIgMzQuMi0yOS43YzMuMy00NyAyMy42LTg5LjQgNTQuOC0xMjFMMTUxIDE1M2M2LjkgNi45IDE3LjIgOC45IDI2LjIgNS4yUzE5MiAxNDUuNyAxOTIgMTM2bDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0TDU2IDBDNDYuMyAwIDM3LjUgNS44IDMzLjggMTQuOFMzMi4yIDM0LjEgMzkgNDF6bTIwMS0xMC43Yy0xLjIgMTcuNiAxMiAzMi45IDI5LjcgMzQuMiA0NyAzLjMgODkuNCAyMy42IDEyMSA1NC44TDM1OSAxNTFjLTYuOSA2LjktOC45IDE3LjItNS4yIDI2LjJTMzY2LjMgMTkyIDM3NiAxOTJsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xMTJjMC05LjctNS44LTE4LjUtMTQuOC0yMi4yUzQ3Ny45IDMyLjIgNDcxIDM5TDQzNiA3NGMtNDIuMi00MS43LTk4LjgtNjguOS0xNjEuOC03My40LTE3LjYtMS4yLTMyLjkgMTItMzQuMiAyOS43ek00MSA0NzNsMzUtMzVjNDIuMiA0MS43IDk4LjggNjguOSAxNjEuOCA3My40IDE3LjYgMS4yIDMyLjktMTIgMzQuMi0yOS43cy0xMi0zMi45LTI5LjctMzQuMmMtNDctMy4zLTg5LjQtMjMuNi0xMjEtNTQuOEwxNTMgMzYxYzYuOS02LjkgOC45LTE3LjIgNS4yLTI2LjJTMTQ1LjcgMzIwIDEzNiAzMjBMMjQgMzIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNEwwIDQ1NmMwIDkuNyA1LjggMTguNSAxNC44IDIyLjJTMzQuMSA0NzkuOCA0MSA0NzN6Il19LG5NdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJqb2ludCIsaWNvbjpbNTc2LDUxMixbXSwiZjU5NSIsIk0zNjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDE5YzAgNDAuMyAxNiA3OSA0NC41IDEwNy41bDIxIDIxQzQ2OSAxOTEgNDgwIDIxNy40IDQ4MCAyNDVsMCAxOWMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE5YzAtMTQuOS01LjktMjkuMS0xNi40LTM5LjZsLTIxLTIxQzM1Ny4xIDE0Ni45IDMzNiA5NiAzMzYgNDNsMC0xOWMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNNTUyIDI4OGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC0xOWMwLTQwLjMtMTYtNzktNDQuNS0xMDcuNWwtMjEtMjFDNDQzIDk3IDQzMiA3MC42IDQzMiA0M2wwLTE5YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxOWMwIDE0LjkgNS45IDI5LjEgMTYuNCAzOS42bDIxIDIxQzU1NC45IDE0MS4xIDU3NiAxOTIgNTc2IDI0NWwwIDE5YzAgMTMuMy0xMC43IDI0LTI0IDI0ek0yOTIuNyAzMjBjNS42IDAgMTAuNyAyLjkgMTMuNiA3LjZMMzk0LjYgNDcxYzEuMyAyLjEgMCA0LjktMi40IDUuMi0xNi4xIDIuNS0zMi40IDMuNy00OC43IDMuN2wtMzguMSAwYy01LjYgMC0xMC43LTIuOS0xMy42LTcuNmwtNzktMTI4LjRjLTYtOS44IDAtMjIuNiAxMS41LTIzLjMgNi43LS40IDEzLjQtLjYgMjAuMi0uNmw0OC4zIDB6TTQ1OS4zIDQ2NS45Yy02LjQgMS0xMi43LTEuOS0xNi4xLTcuNEwzNzQuMSAzNDYuMWMtNi43LTEwLjkgMS41LTI0LjcgMTQuMi0yMi45IDEuMyAuMiAyLjYgLjQgMy44IC42bDEzNi40IDIxYzI3LjMgNC4yIDQ3LjQgMjcuNyA0Ny40IDU1LjNzLTIwLjEgNTEuMS00Ny40IDU1LjNsLTY5LjIgMTAuNnpNMTM4LjcgMzM2YzYuNy0xLjUgMTMuNiAxLjQgMTcuMiA3LjJsNjguOSAxMTJjNi42IDEwLjctMS4yIDI0LjQtMTMuOCAyMy4xLTEzLTEuNC0yNS45LTMuNS0zOC42LTYuNUwzMS4yIDQzOS4yQzEyLjkgNDM1IDAgNDE4LjcgMCA0MDBzMTIuOS0zNSAzMS4yLTM5LjJMMTM4LjcgMzM2eiJdfSxsTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJhaWxsZSIsaWNvbjpbMzg0LDUxMixbXSwiZjJhMSIsIk04MCAxNDRhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6bTAgMTkyYTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwem0wIDEzNmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNCAyNCAxMC43IDI0IDI0LTEwLjcgMjQtMjQgMjR6bTAgNTZjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODAtODAgMzUuOC04MCA4MCAzNS44IDgwIDgwIDgwem0yNDgtODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjQgMTAuNy0yNCAyNC0yNCAyNCAxMC43IDI0IDI0em01NiAwYzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwIDM1LjggODAgODAgODAgODAtMzUuOCA4MC04MHpNMzA0IDIzMmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTAgMTA0YTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwem0wLTE5MmE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHoiXX0sSWxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhc2tldC1zaG9wcGluZyIsaWNvbjpbNTc2LDUxMixbInNob3BwaW5nLWJhc2tldCJdLCJmMjkxIiwiTTI4OCAwYzYuNiAwIDEyLjkgMi43IDE3LjQgNy41bDE0NCAxNTIgLjUgLjUgNzguMSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyIDAgMTQuNS05LjYgMjYuNy0yMi44IDMwLjdMNDkxLjEgNDI5LjljLTYuNSAyOS4zLTMyLjUgNTAuMS02Mi41IDUwLjFsLTI4MS4zIDBjLTMwIDAtNTYtMjAuOC02Mi41LTUwLjFsLTQ2LTIwNy4yYy0xMy4yLTMuOS0yMi44LTE2LjItMjIuOC0zMC43IDAtMTcuNyAxNC4zLTMyIDMyLTMybDc4LjEgMCAuNS0uNSAxNDQtMTUyQzI3NS4xIDIuNyAyODEuNCAwIDI4OCAwem0wIDU4LjlMMTkyLjIgMTYwIDM4My44IDE2MCAyODggNTguOXpNMjA4IDI2NGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTEyem04MC0yNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHptMTI4IDI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMTJ6Il19LGNNdD1JbGUsZE10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyaWRnZSIsaWNvbjpbNTEyLDUxMixbXSwiZTRjOCIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsOCAwIDAgNjQtNDAgMCAwIDExMmMzNy42IDkuNCA2NCA0My4yIDY0IDgybDAgOTRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtOTRjMC0zOC44IDI2LjQtNzIuNiA2NC04MmwwLTExMi00MCAwIDAtNjQgOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyek00MjQgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNMjk2IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTg4IDk2bDgwIDAgMCA2NC04MCAwIDAtNjR6Il19LHBNdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbGFuZS1hcnJpdmFsIixpY29uOls1NzYsNTEyLFsxMjg3NDhdLCJmNWFmIiwiTTM4Ni42IDE5My4xTDI2NS45IDMuN2MtNC44LTcuNi0xMi42LTEyLjgtMjEuNC0xNC4zbC00My4xLTcuNmMtMTAuOC0xLjktMjAuMiA3LjMtMTguNiAxOC4xbDI0IDE2MS42LTEwNS0xOC41LTMzLjgtNjEuOEM2NC41IDc0LjcgNTguMiA3MC4yIDUxLjEgNjlMMzQgNjZjLTkuOC0xLjctMTguOCA1LjktMTguOCAxNS44bC42IDEwNi4zYy4yIDMwLjkgMjIuNCA1Ny4zIDUyLjkgNjIuN2wxMy41IDIuNCAwIDAgNDE3LjYgNzMuNmMzMC41IDUuNCA1OS41LTE1IDY0LjktNDUuNHMtMTUtNTkuNS00NS40LTY0LjlMMzg2LjYgMTkzLjF6TTIyNCAzODRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0xMzEuMi0xNS4zYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1MTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0NDh6Il19LHVNdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXNoLXJlZ2lzdGVyIixpY29uOls1MTIsNTEyLFtdLCJmNzg4IiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRzMjguNyA2NCA2NCA2NGw0OCAwIDAgMzItNTcgMGMtMzEuNiAwLTU4LjUgMjMuMS02My4zIDU0LjRMMS4xIDM2NC4xQy40IDM2OC44IDAgMzczLjYgMCAzNzguNEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY5LjZjMC00LjgtLjQtOS42LTEuMS0xNC40TDQ4OC4yIDIxNC40QzQ4My41IDE4My4xIDQ1Ni42IDE2MCA0MjUgMTYwbC0yMTcgMCAwLTMyIDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRTMjkxLjMgMCAyNTYgMEw5NiAwem0wIDQ4bDE2MCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2TDk2IDgwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2ek02NCA0MjRjMC0xMy4zIDEwLjctMjQgMjQtMjRsMzM2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMODggNDQ4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptNDgtMTYwYTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHptMTIwLTI0YTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6TTE2MCAzNDRhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4ek0zMjggMjQwYTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6TTI1NiAzNDRhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4ek00MjQgMjQwYTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6TTM1MiAzNDRhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4eiJdfSxmTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmluZyIsaWNvbjpbNTEyLDUxMixbXSwiZjcwYiIsIk02NCAyMDhjMCA3LjggNC40IDE4LjcgMTcuMSAzMC4zIDQ1LjQtMjQuMiAxMDcuNy0zOC4zIDE3NC45LTM4LjNzMTI5LjUgMTQuMSAxNzQuOSAzOC4zYzEyLjgtMTEuNiAxNy4xLTIyLjUgMTcuMS0zMC4zIDAtMTIuMy0xMC44LTMyLTQ3LjktNTAuNi0zNS4yLTE3LjYtODYuMS0yOS40LTE0NC4xLTI5LjRzLTEwOC45IDExLjgtMTQ0LjEgMjkuNEM3NC44IDE3NiA2NCAxOTUuNyA2NCAyMDh6bTE5MiA0MGMtNDcgMC04OS4zIDcuNi0xMjIuOSAxOS43IDMzLjIgMTIuNCA3NS43IDIwLjMgMTIyLjkgMjAuM3M4OS43LTcuOCAxMjIuOS0yMC4zQzM0NS4zIDI1NS42IDMwMyAyNDggMjU2IDI0OHpNMCAyMDhDMCAxNTguNCAzOS40IDEyMi4yIDgzLjMgMTAwLjIgMTI5LjEgNzcuMyAxOTAuMyA2NCAyNTYgNjRzMTI2LjkgMTMuMyAxNzIuNyAzNi4yYzQzLjkgMjIgODMuMyA1OC4yIDgzLjMgMTA3LjhsMCA5NmMwIDQ5LjYtMzkuNCA4NS44LTgzLjMgMTA3LjgtNDUuOSAyMi45LTEwNyAzNi4yLTE3Mi43IDM2LjJTMTI5LjEgNDM0LjcgODMuMyA0MTEuOEMzOS40IDM4OS44IDAgMzUzLjYgMCAzMDRsMC05NnoiXX0saE10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFxdWFyaXVzIixpY29uOls1NzYsNTEyLFtdLCJlODQ1IiwiTTQwMS43IDI5MS40YzktNC41IDE5LjYtNC41IDI4LjYgMGwxMjggNjRjMTUuOCA3LjkgMjIuMiAyNy4xIDE0LjMgNDIuOXMtMjcuMSAyMi4yLTQyLjkgMTQuM0w0MTYgMzU1LjggMzAyLjMgNDEyLjZjLTkgNC41LTE5LjYgNC41LTI4LjYgMEwxNjAgMzU1LjggNDYuMyA0MTIuNmMtMTUuOCA3LjktMzUgMS41LTQyLjktMTQuM3MtMS41LTM1IDE0LjMtNDIuOWwxMjgtNjRjOS00LjUgMTkuNi00LjUgMjguNiAwTDI4OCAzNDguMiA0MDEuNyAyOTEuNHptMy40LTE5My41YzguMi0zIDE3LjMtMi41IDI1LjIgMS41bDEyOCA2NGMxNS44IDcuOSAyMi4yIDI3LjEgMTQuMyA0Mi45cy0yNy4xIDIyLjItNDIuOSAxNC4zTDQxNiAxNjMuOCAzMDIuMyAyMjAuNmMtOSA0LjUtMTkuNiA0LjUtMjguNiAwTDE2MCAxNjMuOCA0Ni4zIDIyMC42Yy0xNS44IDcuOS0zNSAxLjUtNDIuOS0xNC4zcy0xLjUtMzUgMTQuMy00Mi45bDEyOC02NCAzLjQtMS41YzguMi0zIDE3LjMtMi41IDI1LjIgMS41bDExMy43IDU2LjggMTEzLjctNTYuOCAzLjQtMS41eiJdfSxObGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hhcmUtbm9kZXMiLGljb246WzUxMiw1MTIsWyJzaGFyZS1hbHQiXSwiZjFlMCIsIk0zODQgMTkyYzUzIDAgOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2LTk2IDQzLTk2IDk2YzAgNS40IC41IDEwLjggMS4zIDE2TDE1OS42IDE4NC4xYy0xNi45LTE1LTM5LjItMjQuMS02My42LTI0LjEtNTMgMC05NiA0My05NiA5NnM0MyA5NiA5NiA5NmMyNC40IDAgNDYuNi05LjEgNjMuNi0yNC4xTDI4OS4zIDQwMGMtLjkgNS4yLTEuMyAxMC41LTEuMyAxNiAwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2LTQzLTk2LTk2LTk2Yy0yNC40IDAtNDYuNiA5LjEtNjMuNiAyNC4xTDE5MC43IDI3MmMuOS01LjIgMS4zLTEwLjUgMS4zLTE2cy0uNS0xMC44LTEuMy0xNmwxMjkuNy03Mi4xYzE2LjkgMTUgMzkuMiAyNC4xIDYzLjYgMjQuMXoiXX0sbU10PU5sZSxnTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNjQwLDUxMixbXSwiZTUzZiIsIk0yODAgMjRhNTYgNTYgMCAxIDAgLTExMiAwIDU2IDU2IDAgMSAwIDExMiAwem0yNCAyMTIuN0wzNDEgMjg2LjZjMTIuOC0xNy41IDI4LjUtMzIuNyA0Ni4zLTQ1bC01Ni4yLTc1LjdDMzA2IDEzMiAyNjYuMyAxMTIgMjI0IDExMnMtODIgMjAtMTA3LjIgNTMuOWwtNzAuNSA5NWMtMTAuNSAxNC4yLTcuNiAzNC4yIDYuNiA0NC44czM0LjIgNy42IDQ0LjgtNi42TDE0NCAyMzYuNyAxNDQgNTEyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjc1LjN6TTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTEwMGEyMCAyMCAwIDEgMSAwIDQwIDIwIDIwIDAgMSAxIDAtNDB6bTAtMTQwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxiTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmlub2N1bGFycyIsaWNvbjpbNTEyLDUxMixbXSwiZjFlNSIsIk0xMjggMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyLTk2IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptNjQgOTZsMCAzMjBjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTU5LjFjMC0zNC42IDkuNC02OC42IDI3LjItOTguMyAxMy43LTIyLjggMjIuNS00OC4yIDI1LjgtNzQuNkw2MC41IDE1NmMyLTE2IDE1LjYtMjggMzEuOC0yOGw5OS44IDB6bTIyNy44IDBjMTYuMSAwIDI5LjggMTIgMzEuOCAyOEw0NTkgMjE2YzMuMyAyNi40IDEyLjEgNTEuOCAyNS44IDc0LjYgMTcuOCAyOS43IDI3LjIgNjMuNyAyNy4yIDk4LjNsMCA1OS4xYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMjAgOTkuOCAwek0zMjAgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyLTk2IDAgMC0zMnptLTMyIDY0bDAgMTYwLTY0IDAgMC0xNjAgNjQgMHoiXX0sdk10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImtpcC1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMWM0IiwiTTM0MC44IDg4LjNjMTMuNC0xMS41IDE1LTMxLjcgMy41LTQ1LjFzLTMxLjctMTUtNDUuMS0zLjVMMTI4IDE4Ni40IDEyOCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMlM2NCA0Ni4zIDY0IDY0bDAgMTY4LTMyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzIgMCAwIDE2OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTIyLjQgMTcxLjIgMTQ2LjdjMTMuNCAxMS41IDMzLjYgOS45IDQ1LjEtMy41czkuOS0zMy42LTMuNS00NS4xTDE3My4yIDI4MCAzNTIgMjgwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDE3My4yIDIzMiAzNDAuOCA4OC4zeiJdfSxSbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFyZC1kcml2ZSIsaWNvbjpbNDQ4LDUxMixbMTI4NDM2LCJoZGQiXSwiZjBhMCIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMjYwLjFDMTguMSAyNDcuNCA0MC4yIDI0MCA2NCAyNDBsMzIwIDBjMjMuOCAwIDQ1LjkgNy40IDY0IDIwLjFMNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek00NDggMzUyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDI4OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0ek0yMjQgMzg0YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTEyOC0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LHhNdD1SbGUseU10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJhbmtpbmctc3RhciIsaWNvbjpbNTc2LDUxMixbXSwiZTU2MSIsIk0zMjEuOCA1NC4xTDI5OC4yIDYuM2MtMy45LTguMy0xNi4xLTguNi0yMC40IDBsLTIzLjYgNDcuOC01Mi4zIDcuNWMtOS4zIDEuNC0xMy4zIDEyLjktNi40IDE5LjhsMzggMzctOSA1Mi4xYy0xLjQgOS4zIDguMiAxNi41IDE2LjggMTIuMmw0Ni45LTI0LjggNDYuNiAyNC40YzguNiA0LjMgMTguMy0yLjkgMTYuOC0xMi4ybC05LTUyLjEgMzgtMzYuNmM2LjgtNi44IDIuOS0xOC4zLTYuNC0xOS44bC01Mi4zLTcuNXpNMjU2IDI1NmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNjBjMCAyNi41IDIxLjUgNDggNDggNDhsNjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE2MGMwLTI2LjUtMjEuNS00OC00OC00OGwtNjQgMHpNNDggMzIwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTI2LjUtMjEuNS00OC00OC00OGwtNjQgMHpNNDE2IDQzMmwwIDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zMmMwLTI2LjUtMjEuNS00OC00OC00OGwtNjQgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDh6Il19LHdNdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLXRpZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjUwOCIsIk0yMjQgMjQ4YTEyMCAxMjAgMCAxIDEgMC0yNDAgMTIwIDEyMCAwIDEgMSAwIDI0MHptLTMwLjUgNTZsNjEgMGM5LjcgMCAxNy41IDcuOCAxNy41IDE3LjUgMCA0LjItMS41IDguMi00LjIgMTEuNGwtMjcuNCAzMiAzMSAxMTUuMSAuNiAwIDM0LjYtMTM4LjVjMi4yLTguNyAxMS4xLTE0IDE5LjUtMTAuOCA2MS45IDIzLjYgMTA1LjkgODMuNiAxMDUuOSAxNTMuOCAwIDE1LjEtMTIuMyAyNy40LTI3LjQgMjcuNEw0My40IDUxMmMtMTUuMSAwLTI3LjQtMTIuMy0yNy40LTI3LjQgMC03MC4yIDQ0LTEzMC4yIDEwNS45LTE1My44IDguNC0zLjIgMTcuMyAyLjEgMTkuNSAxMC44bDM0LjYgMTM4LjUgLjYgMCAzMS0xMTUuMS0yNy40LTMyYy0yLjctMy4yLTQuMi03LjItNC4yLTExLjQgMC05LjcgNy44LTE3LjUgMTcuNS0xNy41eiJdfSxGbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWxsaXBzaXMiLGljb246WzQ0OCw1MTIsWyJlbGxpcHNpcy1oIl0sImYxNDEiLCJNMCAyNTZhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwem0xNjggMGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6bTIyNC01NmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnoiXX0sTU10PUZsZSxrTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3RvcmUtc2xhc2giLGljb246WzU3Niw1MTIsW10sImUwNzEiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTguNi01OC42YzEuMS00IDEuNi04LjIgMS42LTEyLjVsMC0xNTEuMmMtMTIuNSA0LjYtMjYuMSA3LjItNDAuNSA3LjItOC4xIDAtMTUuOS0uOC0yMy41LTIuNGwwIDY2LjQtMzAuMiAwLTEzNy41LTEzNy41YzIuOS0zLjYgNS41LTcuNCA3LjYtMTEuNSAxMS42IDIyIDM0LjcgMzcgNjEuMyAzNyAyNi44IDAgNDkuOC0xNS4xIDYxLjQtMzcuMSAxMS40IDIyLjEgMzQuNSAzNy4xIDYwLjggMzcuMSA0NS42IDAgNzguNC00My43IDY1LjYtODcuNUw1MTMuOCA3Mi4zQzUwNi44IDQ4LjQgNDg0LjkgMzIgNDYwIDMyTDExNiAzMmMtNS41IDAtMTAuOCAuOC0xNS45IDIuM0w0MS0yNC45ek0xNTEuNSAyMjEuM0w0OC43IDExOC42IDM4LjkgMTUyLjVjLTEyLjggNDMuNyAyMCA4Ny41IDY1LjYgODcuNSAxOC4xIDAgMzQuNy03LjEgNDctMTguN3pNNDEwLjIgNDgwbC0xMjgtMTI4LTE1NC4yIDAgMC02Ni40Yy03LjYgMS42LTE1LjUgMi40LTIzLjUgMi40LTE0LjQgMC0yOC0yLjYtNDAuNS03LjJMNjQgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDI5OC4yIDB6Il19LE9sZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJjZW50IixpY29uOls0NDgsNTEyLFs2MjEwMSw2Mjc4NSwicGVyY2VudGFnZSJdLCIyNSIsIk0xOTIgMTI4YTk2IDk2IDAgMSAwIC0xOTIgMCA5NiA5NiAwIDEgMCAxOTIgMHpNNDQ4IDM4NGE5NiA5NiAwIDEgMCAtMTkyIDAgOTYgOTYgMCAxIDAgMTkyIDB6TTQzOC42IDg2LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTM4NCAzODRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMzg0LTM4NHoiXX0sek10PU9sZSxCbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS16aXBwZXIiLGljb246WzM4NCw1MTIsWyJmaWxlLWFyY2hpdmUiXSwiZjFjNiIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNNjQgNzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw4OCA0OEM3NC43IDQ4IDY0IDU4LjcgNjQgNzJ6bTAgOTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTY0IDcybC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDhsMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTE2IDY0YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnoiXX0sU010PUJsZSxDTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGlzcGxheSIsaWNvbjpbNTEyLDUxMixbXSwiZTE2MyIsIk00NDggOTZsMCAyNTYtMzg0IDAgMC0yNTYgMzg0IDB6TTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzNTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTQ0IDAtMTYgNDgtNzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNzIgMC0xNi00OCAxNDQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnoiXX0sSGxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imljb25zIixpY29uOls1MTIsNTEyLFsiaGVhcnQtbXVzaWMtY2FtZXJhLWJvbHQiXSwiZjg2ZCIsIk0xNzQuOSAyNzJjMTAuNyAwIDIwLjcgNS4zIDI2LjYgMTQuMmwxMS44IDE3LjggMjYuNyAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTEyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAzNTJjMC0yNi41IDIxLjUtNDggNDgtNDhsMjYuNyAwIDExLjgtMTcuOGM1LjktOC45IDE1LjktMTQuMiAyNi42LTE0LjJsNjEuNyAwem0yNzguNi0xMmM1LjYtNC45IDEzLjktNS4zIDE5LjktLjlzOC4zIDEyLjQgNS4zIDE5LjNMNDQwLjMgMzY4IDQ5NiAzNjhjNi43IDAgMTIuNiA0LjEgMTUgMTAuNHMuNiAxMy4zLTQuNCAxNy43bC0xMjggMTEyYy01LjYgNC45LTEzLjkgNS4zLTE5LjkgLjlzLTguMy0xMi40LTUuMy0xOS4zbDM4LjUtODkuNy01NS44IDBjLTYuNyAwLTEyLjYtNC4xLTE1LTEwLjRzLS42LTEzLjMgNC40LTE3LjdsMTI4LTExMnpNMTQ0IDM2MGE0OCA0OCAwIDEgMCAwIDk2IDQ4IDQ4IDAgMSAwIDAtOTZ6TTQ4My44IC40YzYuNS0xLjEgMTMuMSAuNCAxOC41IDQuNCA2LjEgNC41IDkuNyAxMS43IDkuNyAxOS4ybDAgMTUyLS4zIDQuOWMtMy4zIDI0LjItMzAuNSA0My4xLTYzLjcgNDMuMS0zNS4zIDAtNjQtMjEuNS02NC00OHMyOC43LTQ4IDY0LTQ4YzUuNSAwIDEwLjkgLjYgMTYgMS42bDAtNDkuMy0xMTIgMzMuNiAwIDExMC4yLS4zIDQuOWMtMy4zIDI0LjItMzAuNSA0My4xLTYzLjcgNDMuMS0zNS4zIDAtNjQtMjEuNS02NC00OHMyOC43LTQ4IDY0LTQ4YzUuNSAwIDEwLjkgLjYgMTYgMS42TDMwNCA3MmMwLTEwLjYgNy0yMCAxNy4xLTIzbDE2MC00OCAyLjctLjZ6TTE4OC45IDBDMjI2IDAgMjU2IDMwIDI1NiA2Ny4xbDAgNi4xYzAgNTYuMS03NS4yIDExMi4xLTExMC4zIDEzNS4zLTEwLjggNy4xLTI0LjYgNy4xLTM1LjQgMC0zNS4xLTIzLjEtMTEwLjMtNzkuMi0xMTAuMy0xMzUuM2wwLTYuMUMwIDMwIDMwIDAgNjcuMSAwIDg4LjIgMCAxMDggOS45IDEyMC43IDI2LjhsNy4zIDkuOCA3LjMtOS44QzE0OCA5LjkgMTY3LjggMCAxODguOSAweiJdfSxfTXQ9SGxlLFRNdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydWxlci12ZXJ0aWNhbCIsaWNvbjpbMjU2LDUxMixbXSwiZjU0OCIsIk0wIDE2QzAtMTAuNSAyMS41LTMyIDQ4LTMybDE2MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMjQtMTA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTA0IDAgMCA0OC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDcyIDAgMCA0OC0xMDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMDQgMCAwIDQ4LTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNzIgMCAwIDQ4LTEwNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDEwNCAwIDAgMjRjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTQ0Yy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDE2eiJdfSxxbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFwLWxvY2F0aW9uLWRvdCIsaWNvbjpbNjQwLDUxMixbIm1hcC1tYXJrZWQtYWx0Il0sImY1YTAiLCJNNTc2IDQ4YzAtMTEuMS01LjctMjEuNC0xNS4yLTI3LjJzLTIxLjItNi40LTMxLjEtMS40TDQxMy41IDc3LjUgMjM0LjEgMTcuNmMtOC4xLTIuNy0xNi44LTIuMS0yNC40IDEuN2wtMTI4IDY0QzcwLjggODguOCA2NCA5OS45IDY0IDExMmwwIDM1MmMwIDExLjEgNS43IDIxLjQgMTUuMiAyNy4yczIxLjIgNi40IDMxLjEgMS40bDExNi4xLTU4LjEgMTczLjMgNTcuOGMtNC4zLTYuNC04LjUtMTMuMS0xMi42LTE5LjktMTEtMTguMy0yMS45LTM5LjMtMzAtNjEuOGwtMTAxLjItMzMuNyAwLTI4NC41IDEyOCA0Mi43IDAgOTkuM2MzMS0zNS44IDc3LTU4LjQgMTI4LTU4LjQgMjIuNiAwIDQ0LjIgNC40IDY0IDEyLjVMNTc2IDQ4ek01MTIgMjI0Yy02Ni4zIDAtMTIwIDUyLjgtMTIwIDExNy45IDAgNjguOSA2NC4xIDE1MC40IDk4LjYgMTg5LjMgMTEuNiAxMyAzMS4zIDEzIDQyLjkgMCAzNC41LTM4LjkgOTguNi0xMjAuNCA5OC42LTE4OS4zIDAtNjUuMS01My43LTExNy45LTEyMC0xMTcuOXpNNDcyIDM0NGE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAweiJdfSxMTXQ9cWxlLFZsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFydC1jcmFjayIsaWNvbjpbNTEyLDUxMixbMTI4MTQ4LCJoZWFydC1icm9rZW4iXSwiZjdhOSIsIk0xMzMuMSAzMmMxNy4zIDAgMzQuMiAzLjQgNDkuOSA5LjdsNTQuOCA4NS4yLTc1LjQgNzUuNGMtMS41IDEuNS0yLjQgMy42LTIuMyA1LjhzMSA0LjIgMi42IDUuN2wxMTIgMTA0YzIuOSAyLjcgNy40IDIuOSAxMC41IC4zczMuOC03IDEuNy0xMC40bC02MC40LTk4LjEgOTAuNy03NS42YzIuNi0yLjEgMy41LTUuNyAyLjQtOC44TDI5Ni40IDYwLjZDMzE5LjYgNDIuMyAzNDguNiAzMiAzNzguOSAzMiA0NTIuNCAzMiA1MTIgOTEuNiA1MTIgMTY1LjFsMCAyLjZjMCAxMTIuMi0xMzkuOSAyNDIuNS0yMTIuOSAyOTguMi0xMi40IDkuNC0yNy42IDE0LjEtNDMuMSAxNC4xcy0zMC44LTQuNi00My4xLTE0LjFDMTM5LjkgNDEwLjIgMCAyNzkuOSAwIDE2Ny43bDAtMi42QzAgOTEuNiA1OS42IDMyIDEzMy4xIDMyeiJdfSwkTXQ9VmxlLERNdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb3ciLGljb246WzY0MCw1MTIsWzEyODAwNF0sImY2YzgiLCJNOTYgMjI0bDAgMTkyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC04OC4yYzkuOSA2LjYgMjAuNiAxMiAzMiAxNi4xbDAgMjQuMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMTYuOWM1LjMgLjYgMTAuNiAuOSAxNiAuOXMxMC43LS4zIDE2LS45bDAgMTYuOWMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMjQuMmMxMS40LTQgMjIuMS05LjQgMzItMTYuMWwwIDg4LjJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE2MCAzMiAzMiAwIDQ5LjVjMCA5LjUgMi44IDE4LjcgOC4xIDI2LjZMNTMwIDQyN2M4LjggMTMuMSAyMy41IDIxIDM5LjMgMjEgMjIuNSAwIDQxLjktMTUuOSA0Ni4zLTM4bDIwLjMtMTAxLjZjMi42LTEzLS4zLTI2LjUtOC0zNy4zbC0zLjktNS41IDAtODEuNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE0LjQtNTIuOS03NC4xQzQ5NiA4Ni41IDQ1Mi40IDY0IDQwNS45IDY0TDE0NCA2NEM3Ny43IDY0IDI0IDExNy43IDI0IDE4NGwwIDU0QzkuNCAyNDkuOCAwIDI2Ny44IDAgMjg4bDAgMTcuNmMwIDggNi40IDE0LjQgMTQuNCAxNC40IDMxLjggMCA1Ny42LTI1LjggNTcuNi01Ny42TDcyIDE4NGMwLTI0LjMgMTIuMS00NS44IDMwLjUtNTguOS00LjIgMTAuOC02LjUgMjIuNi02LjUgMzQuOWwwIDY0ek01NjAgMzM2YTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6TTE2Ni42IDE2Ni42Yy00LjItNC4yLTYuNi0xMC02LjYtMTYgMC0xMi41IDEwLjEtMjIuNiAyMi42LTIyLjZsMTc4LjcgMGMxMi41IDAgMjIuNiAxMC4xIDIyLjYgMjIuNiAwIDYtMi40IDExLjgtNi42IDE2bC0yMy40IDIzLjRDMzMyLjIgMjExLjggMzAyLjcgMjI0IDI3MiAyMjRzLTYwLjItMTIuMi04MS45LTMzLjlsLTIzLjQtMjMuNHoiXX0sdjc9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicnNzIixpY29uOls0NDgsNTEyLFsiZmVlZCJdLCJmMDllIiwiTTAgNjRjMC0xNy43IDE0LjMtMzIgMzItMzIgMjI5LjggMCA0MTYgMTg2LjIgNDE2IDQxNiAwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMkMzODQgMjUzLjYgMjI2LjQgOTYgMzIgOTYgMTQuMyA5NiAwIDgxLjcgMCA2NHpNMCA0MTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek0zMiAxNjBjMTU5LjEgMCAyODggMTI4LjkgMjg4IDI4OCAwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmMwLTEyMy43LTEwMC4zLTIyNC0yMjQtMjI0LTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LEFNdD12Nyx4Nz17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYWduaWZ5aW5nLWdsYXNzIixpY29uOls1MTIsNTEyLFsxMjgyNjksInNlYXJjaCJdLCJmMDAyIiwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZDMjk2LjMgNDAxLjEgMjUzLjkgNDE2IDIwOCA0MTYgOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDAgNDE2IDkzLjEgNDE2IDIwOHpNMjA4IDM1MmExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6Il19LFBNdD14NyxFTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtbW9vbiIsaWNvbjpbNjQwLDUxMixbXSwiZjZjMyIsIk00ODAgMGMxNC42IDAgMjguOCAxLjYgNDIuNSA0LjcgNy40IDEuNyAxMyA3LjggMTMuOSAxNS40cy0zIDE0LjktOS44IDE4LjNjLTQ1LjQgMjIuNi03Ni42IDY5LjUtNzYuNiAxMjMuNiAwIDc2LjIgNjEuOCAxMzggMTM4IDEzOCAzLjcgMCA3LjQtLjEgMTEuMS0uNCA3LjYtLjYgMTQuNyAzLjYgMTcuOCAxMC42czEuNSAxNS4xLTMuOSAyMC40Yy0yNiAyNS01OS4xIDQyLjctOTUuOSA0OS45LTExLjEtMjUuMy0zMC4yLTQ2LjMtNTQuMS01OS44LTcuNi02My40LTYxLjYtMTEyLjYtMTI3LjEtMTEyLjYtMTEuMiAwLTIyLjEgMS41LTMyLjUgNC4yLTQuOC00LjItOS45LTguMi0xNS4yLTExLjgtLjEtMi44LS4yLTUuNi0uMi04LjQgMC0xMDYgODYtMTkyIDE5Mi0xOTJ6bS0uMSA0MzEuOWMwIDQ0LjItMzUuOCA4MC04MCA4MGwtMjcxLjkgMGMtNTMgMC05Ni00My05Ni05NiAwLTQ3LjYgMzQuNi04NyA4MC05NC42LS40LTUyLjggNDIuOS05Ny4zIDk2LTk3LjMgMzQuOSAwIDY1LjQgMTguNiA4Mi4yIDQ2LjQgMTMtOS4xIDI4LjgtMTQuNCA0NS44LTE0LjQgNDQuMiAwIDgwIDM1LjggODAgODAgMCA1LjktLjYgMTEuNy0xLjkgMTcuMiAzNy40IDYuNyA2NS44IDM5LjQgNjUuOCA3OC43eiJdfSxlWT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3hlcy1zdGFja2VkIixpY29uOls1MTIsNTEyLFs2MjYyNSwiYm94ZXMiLCJib3hlcy1hbHQiXSwiZjQ2OCIsIk0yMjQgMGwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0IDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMjhjMCA1LjUtLjcgMTAuOS0yIDE2bC0yNTIgMGMtMS4zLTUuMS0yLTEwLjUtMi0xNmwwLTEyOGMwLTM1LjMgMjguNy02NCA2NC02NGwzMiAwem05NiA1MTJjLTExLjIgMC0yMS44LTIuOS0zMS04IDkuNS0xNi41IDE1LTM1LjYgMTUtNTZsMC0xMjhjMC0yMC40LTUuNS0zOS41LTE1LTU2IDkuMi01LjEgMTkuNy04IDMxLThsMzIgMCAwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0IDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTEyOCAwek0wIDMyMGMwLTM1LjMgMjguNy02NCA2NC02NGwzMiAwIDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjQgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEyOGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMzIweiJdfSxJTXQ9ZVksTk10PWVZLFJNdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2RlLWJyYW5jaCIsaWNvbjpbNDQ4LDUxMixbXSwiZjEyNiIsIk04MCAxMDRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04MC0yNGMwIDMyLjgtMTkuNyA2MS00OCA3My4zbDAgNzAuNyAxNzYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTIyLjdjLTI4LjMtMTIuMy00OC00MC41LTQ4LTczLjMgMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDMyLjgtMTkuNyA2MS00OCA3My4zbDAgMjIuN2MwIDYxLjktNTAuMSAxMTItMTEyIDExMmwtMTc2IDAgMCA3MC43YzI4LjMgMTIuMyA0OCA0MC41IDQ4IDczLjMgMCA0NC4yLTM1LjggODAtODAgODBTMCA0NzYuMiAwIDQzMmMwLTMyLjggMTkuNy02MSA0OC03My4zbDAtMjA1LjNDMTkuNyAxNDEgMCAxMTIuOCAwIDgwIDAgMzUuOCAzNS44IDAgODAgMHM4MCAzNS44IDgwIDgwem0yMzIgMGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwek04MCA0NTZhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSxqbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFuIixpY29uOls1MTIsNTEyLFsxMjg2ODMsImNhbmNlbCJdLCJmMDVlIiwiTTM2Ny4yIDQxMi41TDk5LjUgMTQ0LjhjLTIyLjQgMzEuNC0zNS41IDY5LjgtMzUuNSAxMTEuMiAwIDEwNiA4NiAxOTIgMTkyIDE5MiA0MS41IDAgNzkuOS0xMy4xIDExMS4yLTM1LjV6bTQ1LjMtNDUuM2MyMi40LTMxLjQgMzUuNS02OS44IDM1LjUtMTExLjIgMC0xMDYtODYtMTkyLTE5Mi0xOTItNDEuNSAwLTc5LjkgMTMuMS0xMTEuMiAzNS41TDQxMi41IDM2Ny4yek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAweiJdfSxGTXQ9amxlLE9NdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJqdWctZGV0ZXJnZW50IixpY29uOlszODQsNTEyLFtdLCJlNTE5IiwiTTk2IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyNCA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMODggOTZDNzQuNyA5NiA2NCA4NS4zIDY0IDcyUzc0LjcgNDggODggNDhsOCAwIDAtMjR6TTAgMjU2YzAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4bDEyOCAwYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4bDAgMTkyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyNTZ6bTI1NiAwbDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyeiJdfSxVbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmVwbHkiLGljb246WzUxMiw1MTIsWzYxNzE0LCJtYWlsLXJlcGx5Il0sImYzZTUiLCJNMjA0LjIgMTguNGMxMiA1IDE5LjggMTYuNiAxOS44IDI5LjZsMCA4MCAxMTIgMGM5Ny4yIDAgMTc2IDc4LjggMTc2IDE3NiAwIDExMy4zLTgxLjUgMTYzLjktMTAwLjIgMTc0LjEtMi41IDEuNC01LjMgMS45LTguMSAxLjktMTAuOSAwLTE5LjctOC45LTE5LjctMTkuNyAwLTcuNSA0LjMtMTQuNCA5LjgtMTkuNSA5LjQtOC44IDIyLjItMjYuNCAyMi4yLTU2LjcgMC01My00My05Ni05Ni05NmwtOTYgMCAwIDgwYzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZzLTI1LjcgMi4yLTM0LjktNi45bC0xNjAtMTYwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2wxNjAtMTYwYzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45eiJdfSxCTXQ9VWxlLEhNdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdW4tcGxhbnQtd2lsdCIsaWNvbjpbNjQwLDUxMixbXSwiZTU3YSIsIk0xNjAgMGMtNS41IDAtMTAuNiAyLjgtMTMuNSA3LjRsLTEuMSAyLjEtMjQuOCA1NS40LTU2LjctMjEuN2MtNS45LTIuMi0xMi41LS44LTE3IDMuN1M0MSA1OCA0My4yIDYzLjlsMjEuNyA1Ni43LTU1LjQgMjQuOEMzLjcgMTQ4IDAgMTUzLjcgMCAxNjBzMy43IDEyIDkuNSAxNC42bDU1LjQgMjQuOC0yMS43IDU2LjdjLTIuMiA1LjktLjggMTIuNSAzLjcgMTdzMTEuMSA1LjkgMTcgMy43bDU2LjctMjEuNyAyNC44IDU1LjRjMi42IDUuOCA4LjMgOS41IDE0LjYgOS41czEyLTMuNyAxNC42LTkuNWwyNC44LTU1LjQgNTYuOCAyMS43YzUuOSAyLjIgMTIuNSAuOCAxNy0zLjdzNS45LTExLjEgMy43LTE3bC0yMS43LTU2LjcgNTUuNC0yNC44YzUuOC0yLjYgOS41LTguMyA5LjUtMTQuNnMtMy43LTEyLTkuNS0xNC42bC01NS40LTI0LjggMjEuNy01Ni43IC43LTIuMmMxLjItNS4zLS40LTEwLjktNC4zLTE0LjhzLTkuNS01LjUtMTQuOC00LjNsLTIuMiAuNy01Ni44IDIxLjctMjQuOC01NS40QzE3MiAzLjcgMTY2LjMgMCAxNjAgMHptMCA5NmE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHptMzIgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMzc2IDE2bDAgNTMuNGMtMTQuOCA3LjctMjQgMjMuMS0yNCA0NC42IDAgMTYuOCAxNiA0NCAzNy40IDY3LjIgNS44IDYuMiAxNS41IDYuMiAyMS4yIDAgMjEuNC0yMy4zIDM3LjQtNTAuNiAzNy40LTY3LjIgMC0yMS41LTkuMi0zNy0yNC00NC42bDAtNTMuNGMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGwwIDIyLjdjLTkuOC00LjMtMjAuNi02LjctMzItNi43LTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMjEuNGMtMTQuOCA3LjYtMjQgMjMuMS0yNCA0NC42IDAgMTYuOCAxNiA0NCAzNy40IDY3LjIgNS44IDYuMiAxNS41IDYuMiAyMS4yIDAgMjEuNC0yMy4zIDM3LjQtNTAuNiAzNy40LTY3LjIgMC0yMS41LTkuMi0zNy0yNC00NC42bDAtMjEuNGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTc2LTQyNCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDU3NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMDQgMCAwLTI3MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyeiJdfSxxTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFjdGVyaXVtIixpY29uOls1NzYsNTEyLFtdLCJlMDVhIiwiTTQwOCAxNmMwLTEzLjMtMTAuNy0yNC0yNC0yNFMzNjAgMi43IDM2MCAxNmwwIDIzLjRjLTEzLjkgNS4zLTI2LjkgMTMuNS0zOC4yIDI0LjVMMzA1IDQ3Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDE2LjggMTYuOC0zMC4xIDMwLjEtMTYuOC0xNi44Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDE2LjggMTYuOGMtMTAgMTAtMjAgMjAtMzAuMSAzMC4xTDE3NyAxNzVjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMTYuOCAxNi44LTMwLjEgMzAuMS0xNi44LTE2LjhjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMTYuOCAxNi44Yy0xMSAxMS4zLTE5LjIgMjQuMy0yNC41IDM4LjJMNDggMzI4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE2LjMgMGMxLjMgMTguMyA3LjEgMzYuNCAxNy40IDUyLjRMNzEgNDM5Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMTAuNi0xMC42YzE2IDEwLjMgMzQuMSAxNi4xIDUyLjQgMTcuNGwwIDE2LjNjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTIzLjRjMTMuOS01LjMgMjYuOS0xMy41IDM4LjItMjQuNUwyNzEgNDY1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTYuOC0xNi44IDMwLjEtMzAuMSAxNi44IDE2LjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0xNi44LTE2LjhjMTAtMTAgMjAtMjAgMzAuMS0zMC4xTDM5OSAzMzdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0xNi44LTE2LjggMzAuMS0zMC4xIDE2LjggMTYuOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTE2LjgtMTYuOGMxMS0xMS4zIDE5LjItMjQuMyAyNC41LTM4LjJsMjMuNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNi4zIDBjLTEuMy0xOC4zLTcuMS0zNi40LTE3LjQtNTIuNEw1MDUgNzNjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEw0NjAuNCA0OS43Yy0xNi0xMC4zLTM0LjEtMTYuMS01Mi40LTE3LjRMNDA4IDE2ek0xNjAgMzUyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTI3MiAyNDBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxWTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmVjb3JkLXZpbnlsIixpY29uOls1MTIsNTEyLFtdLCJmOGQ5IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTI1Ni05NmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnptMCAyNDBhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTExMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LFdsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmbG9wcHktZGlzayIsaWNvbjpbNDQ4LDUxMixbMTI4MTkwLDEyODQyNiwic2F2ZSJdLCJmMGM3IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNDIuN2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wzNTIgNTAuN0MzNDAgMzguNyAzMjMuNyAzMiAzMDYuNyAzMkw2NCAzMnptMzIgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjR6TTIyNCAyODhhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LGpNdD1XbGUsVU10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvaWxldHMtcG9ydGFibGUiLGljb246WzUxMiw1MTIsW10sImU1ODQiLCJNNjQgMGw5NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTYtMjI0IDAgMC0xNkMwIDI4LjcgMjguNyAwIDY0IDB6TTAgMTI4bDIyNCAwIDAgMzYwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtOC0xMjggMCAwIDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRTMCA1MDEuMyAwIDQ4OEwwIDEyOHpNMTI4IDI0OGwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDI0IDAgMC05Ni0yNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHpNMzUyIDBsOTYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE2LTIyNCAwIDAtMTZjMC0zNS4zIDI4LjctNjQgNjQtNjR6TTI4OCAxMjhsMjI0IDAgMCAzNjBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC04LTEyOCAwIDAgOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTM2MHpNNDE2IDI0OGwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDI0IDAgMC05Ni0yNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHoiXX0sV010PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im8iLGljb246WzQ0OCw1MTIsWzExMV0sIjRmIiwiTTIyNCA5NmExNjAgMTYwIDAgMSAwIDAgMzIwIDE2MCAxNjAgMCAxIDAgMC0zMjB6TTQ0OCAyNTZhMjI0IDIyNCAwIDEgMSAtNDQ4IDAgMjI0IDIyNCAwIDEgMSA0NDggMHoiXX0sR010PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhbGV0dGUiLGljb246WzUxMiw1MTIsWzEyNzkxMl0sImY1M2YiLCJNNTEyIDI1NmMwIC45IDAgMS44IDAgMi43LS40IDM2LjUtMzMuNiA2MS4zLTcwLjEgNjEuM0wzNDQgMzIwYy0yNi41IDAtNDggMjEuNS00OCA0OCAwIDMuNCAuNCA2LjcgMSA5LjkgMi4xIDEwLjIgNi41IDIwIDEwLjggMjkuOSA2LjEgMTMuOCAxMi4xIDI3LjUgMTIuMSA0MiAwIDMxLjgtMjEuNiA2MC43LTUzLjQgNjItMy41IC4xLTcgLjItMTAuNiAuMi0xNDEuNCAwLTI1Ni0xMTQuNi0yNTYtMjU2UzExNC42IDAgMjU2IDAgNTEyIDExNC42IDUxMiAyNTZ6TTEyOCAyODhhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMC05NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTI4OCA5NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem05NiA5NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LFlNdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1bmxvY2siLGljb246WzM4NCw1MTIsWzEyODI3NV0sImYwOWMiLCJNMTI4IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0IDMxLjcgMCA1OCAyMyA2My4xIDUzLjMgMi45IDE3LjQgMTkuNCAyOS4yIDM2LjkgMjYuM3MyOS4yLTE5LjQgMjYuMy0zNi45QzMwOC4xIDE0LjEgMjU1LjUtMzIgMTkyLTMyIDEyMS4zLTMyIDY0IDI1LjMgNjQgOTZsMCA2NGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMjRjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTE5MiAwIDAtNjR6Il19LEdsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlYXItbGlzdGVuIixpY29uOls1MTIsNTEyLFsiYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zIl0sImYyYTIiLCJNMzc5LjYgLjNjLTguOSAxLjItMTcuMiA2LjItMjIuNCAxNC4xLTYuOCAxMC40LTcgMjQuMS0uNCAzNC42IDUuNiA4LjkgMTUuNSAxMi43IDIzLjggMTguNSA3LjUgNS4yIDE3LjYgMTMuMiAyNy43IDI0LjIgMjAgMjEuNyAzOS41IDU0LjMgMzkuNSAxMDAuMyAwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtNjYtMjguNS0xMTMuNC01Ni41LTE0My43LTEzLjktMTUuMS0yNy44LTI2LjEtMzguMy0zMy4zLTExLTcuNi0yMy41LTE2LjYtMzcuNi0xNC43ek0yNDAgMTI4Yy01Ny42IDAtMTA1LjEgNDMuNi0xMTEuMyA5OS41LTEuOSAxNy42LTE3LjggMzAuMi0zNS4zIDI4LjNzLTMwLjItMTcuOC0yOC4zLTM1LjNjOS43LTg4IDg0LjMtMTU2LjUgMTc0LjktMTU2LjUgOTcuMiAwIDE3NiA3OC44IDE3NiAxNzYgMCA0Ni0xNy43IDg3LjktNDYuNiAxMTkuMy0xMiAxMy0xNy40IDI0LjgtMTcuNCAzNC43bDAgNi4xYzAgNjEuOS01MC4xIDExMi0xMTIgMTEyLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02LjFjMC0zMi45IDE3LjQtNTkuNiAzNC40LTc4IDE4LjQtMjAgMjkuNi00Ni42IDI5LjYtNzUuOSAwLTYxLjktNTAuMS0xMTItMTEyLTExMnpNMCA0ODBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTYwLTk2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNODYuNiAzNjEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtNjQtNjR6TTI0MCAyMDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xNy43LTE0LjMtMzItMzItMzJ6Il19LFpNdD1HbGUsWE10PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvZGUtcHVsbC1yZXF1ZXN0IixpY29uOls1MTIsNTEyLFtdLCJlMTNjIiwiTTMyOCAyNGMwLTkuNy01LjgtMTguNS0xNC44LTIyLjJTMjkzLjkgLjIgMjg3IDdMMjMxIDYzYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw1NiA1NmM2LjkgNi45IDE3LjIgOC45IDI2LjIgNS4yUzMyOCAxNDUuNyAzMjggMTM2bDAtMjQgMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDIxNC43Yy0yOC4zIDEyLjMtNDggNDAuNS00OCA3My4zIDAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0zMi44LTE5LjctNjEtNDgtNzMuM0w0NDggMTQ0YzAtNTMtNDMtOTYtOTYtOTZsLTI0IDAgMC0yNHpNNzIgODBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptNTYgNzMuM2MyOC4zLTEyLjMgNDgtNDAuNSA0OC03My4zIDAtNDQuMi0zNS44LTgwLTgwLTgwUzE2IDM1LjggMTYgODBjMCAzMi44IDE5LjcgNjEgNDggNzMuM2wwIDIwNS4zYy0yOC4zIDEyLjMtNDggNDAuNS00OCA3My4zIDAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0zMi44LTE5LjctNjEtNDgtNzMuM2wwLTIwNS4zek03MiA0MzJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMzQ0LTI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHoiXX0sS010PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImtleSIsaWNvbjpbNTEyLDUxMixbMTI4MjczXSwiZjA4NCIsIk0zMzYgMzUyYzk3LjIgMCAxNzYtNzguOCAxNzYtMTc2UzQzMy4yIDAgMzM2IDAgMTYwIDc4LjggMTYwIDE3NmMwIDE4LjcgMi45IDM2LjggOC4zIDUzLjdMNyAzOTFjLTQuNSA0LjUtNyAxMC42LTcgMTdsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDAgNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQwIDQwIDBjNi40IDAgMTIuNS0yLjUgMTctN2wzMy4zLTMzLjNjMTYuOSA1LjQgMzUgOC4zIDUzLjcgOC4zek0zNzYgOTZhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgweiJdfSxRTXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2t1bGwiLGljb246WzUxMiw1MTIsWzEyODEyOF0sImY1NGMiLCJNNDE2IDQyNy40YzU4LjUtNDQgOTYtMTExLjYgOTYtMTg3LjQgMC0xMzIuNS0xMTQuNi0yNDAtMjU2LTI0MFMwIDEwNy41IDAgMjQwYzAgNzUuOCAzNy41IDE0My40IDk2IDE4Ny40TDk2IDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzMiAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDY0IDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgMzIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM2LjZ6TTk2IDI1NmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6bTI1Ni02NGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHoiXX0sWWxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcnMtc3Ryb2tlLXVwIixpY29uOlszODQsNTEyLFs5ODk2LCJtYXJzLXN0cm9rZS12Il0sImYyMmEiLCJNMTkyIDI1NmExMTIgMTEyIDAgMSAwIDAgMjI0IDExMiAxMTIgMCAxIDAgMC0yMjR6TTE2IDM2OGMwLTg2LjMgNjIuMS0xNTguMSAxNDQuMS0xNzMuMS0uMS0uOS0uMS0xLjktLjEtMi45bDAtMTYtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwIDAtNjEuNC0yOCAyMi40Yy0xMy44IDExLTMzLjkgOC44LTQ1LTVzLTguOC0zMy45IDUtNDVsODAtNjRjMTEuNy05LjMgMjguMy05LjMgNDAgMGw4MCA2NGMxMy44IDExIDE2IDMxLjIgNSA0NXMtMzEuMiAxNi00NSA1bC0yOC0yMi40IDAgNjEuNCAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMTZjMCAxIDAgMS45LS4xIDIuOSA4MiAxNSAxNDQuMSA4Ni44IDE0NC4xIDE3My4xIDAgOTcuMi03OC44IDE3Ni0xNzYgMTc2UzE2IDQ2NS4yIDE2IDM2OHoiXX0sSk10PVlsZSxabGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlyZS1mbGFtZS1zaW1wbGUiLGljb246WzM4NCw1MTIsWyJidXJuIl0sImY0NmEiLCJNMzcyLjUgMjU2LjVsLS43LTEuOUMzMzcuOCAxNjAuOCAyODIgNzYuNSAyMDkuMSA4LjVsLTMuMy0zQzIwMi4xIDIgMTk3LjEgMCAxOTIgMHMtMTAuMSAyLTEzLjggNS41bC0zLjMgM0MxMDIgNzYuNSA0Ni4yIDE2MC44IDEyLjIgMjU0LjZsLS43IDEuOUMzLjkgMjc3LjMgMCAyOTkuNCAwIDMyMS42IDAgNDI2LjcgODYuOCA1MTIgMTkyIDUxMnMxOTItODUuMyAxOTItMTkwLjRjMC0yMi4yLTMuOS00NC4yLTExLjUtNjUuMXptLTkwLjggNDkuNWM0LjEgOS4zIDYuMiAxOS40IDYuMiAyOS41IDAgNTMtNDMgOTYuNS05NiA5Ni41cy05Ni00My41LTk2LTk2LjVjMC0xMC4xIDIuMS0yMC4zIDYuMi0yOS41bDEuOS00LjNjMTUuOC0zNS40IDM3LjktNjcuNyA2NS4zLTk1LjFsOC45LTguOWMzLjYtMy42IDguNS01LjYgMTMuNi01LjZzMTAgMiAxMy42IDUuNmw4LjkgOC45YzI3LjQgMjcuNCA0OS42IDU5LjcgNjUuMyA5NS4xbDEuOSA0LjN6Il19LGVrdD1abGUsdGt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyZWUiLGljb246WzQ0OCw1MTIsWzEyNzc5NF0sImYxYmIiLCJNMjI0LTMyYzcgMCAxMy43IDMuMSAxOC4zIDguNWwxMzYgMTYwYzYuMSA3LjEgNy40IDE3LjEgMy41IDI1LjZTMzY5LjQgMTc2IDM2MCAxNzZsLTI0LjkgMCA3NS4yIDg4LjVjNi4xIDcuMSA3LjQgMTcuMSAzLjUgMjUuNlM0MDEuNCAzMDQgMzkyIDMwNGwtMzguNSAwIDg4LjggMTA0LjVjNi4xIDcuMSA3LjQgMTcuMSAzLjUgMjUuNlM0MzMuNCA0NDggNDI0IDQ0OGwtMTY4IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0LTE2OCAwYy05LjQgMC0xNy45LTUuNC0yMS44LTEzLjlzLTIuNi0xOC41IDMuNS0yNS42TDk0LjUgMzA0IDU2IDMwNGMtOS40IDAtMTcuOS01LjQtMjEuOC0xMy45cy0yLjYtMTguNSAzLjUtMjUuNkwxMTIuOSAxNzYgODggMTc2Yy05LjQgMC0xNy45LTUuNC0yMS44LTEzLjlzLTIuNi0xOC41IDMuNS0yNS42bDEzNi0xNjBDMjEwLjMtMjguOSAyMTctMzIgMjI0LTMyeiJdfSxha3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic21vZyIsaWNvbjpbNTc2LDUxMixbXSwiZjc1ZiIsIk0xNzYgMjg4Qzk2LjUgMjg4IDMyIDIyMy41IDMyIDE0NFM5Ni41IDAgMTc2IDBjMjcuMiAwIDUyLjYgNy41IDc0LjMgMjAuNiAyMC4xLTEzIDQ0LTIwLjYgNjkuNy0yMC42IDQ3LjQgMCA4OC43IDI1LjcgMTEwLjkgNjRsMS4xIDBjNjEuOSAwIDExMiA1MC4xIDExMiAxMTIgMCA2MC4zLTQ3LjYgMTA5LjQtMTA3LjIgMTExLjktMjIuNiAyMC01Mi4zIDMyLjEtODQuOCAzMi4xLTMyLjUgMC02Mi4xLTEyLjEtODQuNy0zMkwxNzYgMjg4ek01MTIgMzkyYzAgMTMuMy0xMC43IDI0LTI0IDI0TDI0IDQxNmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw0NjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHpNODggNDY0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTgwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTE3NiAwbDI4OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yODggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0scmt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InMiLGljb246WzMyMCw1MTIsWzExNV0sIjUzIiwiTTAgMTU3LjVDMCA4OC4yIDU2LjIgMzIgMTI1LjUgMzJMMjcyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDEyNS41IDk2Yy0zNCAwLTYxLjUgMjcuNS02MS41IDYxLjUgMCAzMSAyMy4xIDU3LjIgNTMuOSA2MUwyMTAuMSAyMzBDMjcyLjkgMjM3LjkgMzIwIDI5MS4yIDMyMCAzNTQuNSAzMjAgNDIzLjggMjYzLjggNDgwIDE5NC41IDQ4MEw0OCA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTQ2LjUgMGMzNCAwIDYxLjUtMjcuNSA2MS41LTYxLjUgMC0zMS0yMy4xLTU3LjItNTMuOS02MUwxMDkuOSAyODJDNDcuMSAyNzQuMSAwIDIyMC44IDAgMTU3LjV6Il19LGlrdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJqZWRpIixpY29uOls1NzYsNTEyLFtdLCJmNjY5IiwiTTI0NiAzMTUuN2wtMjEuMi0zMS45Yy0yLjEtMy4yLTEuNy03LjQgMS0xMC4xczYuOS0zLjEgMTAuMS0xbDI5LjUgMTkuN2MyLjEgMS40IDQuOS0uMSA1LTIuNkwyNzkuNyA4Yy4xLTQuNSAzLjgtOCA4LjMtOHM4LjEgMy41IDguMyA4bDkuNCAyODEuOWMuMSAyLjUgMi45IDMuOSA1IDIuNmwyOS41LTE5LjdjMy4yLTIuMSA3LjQtMS43IDEwLjEgMXMzLjEgNi45IDEgMTAuMUwzMzAgMzE1LjdjLTEuMyAxLjktLjIgNC41IDIgNC45bDM3LjYgNy41YzMuNyAuNyA2LjQgNCA2LjQgNy44cy0yLjcgNy4xLTYuNCA3LjhMMzMyIDM1MS40Yy0yLjIgLjQtMy4zIDMtMiA0LjlsMjEuMiAzMS45YzIuMSAzLjIgMS43IDcuNC0xIDEwLjFzLTYuOSAzLjEtMTAuMSAxbC0yNi4zLTE3LjZjLTIuMi0xLjQtNS4xIC4yLTUgMi44bDIuMSA2MS41YzU5LjgtMTAuOCAxMDUuMS02My4xIDEwNS4xLTEyNiAwLTM3LTE1LjctNzAuNC00MC44LTkzLjctNy02LjUtNi41LTE4LjYgMS0yNC40IDM0LTI2LjMgNTUuOC02Ny41IDU1LjgtMTEzLjkgMC0xNi44LTIuOS0zMy04LjItNDgtNC42LTEzIDEwLjItMzAgMjEuNC0yMiA1My41IDM4IDkyLjcgOTQuOCAxMDcuOCAxNjAuNyAuNSAyLjEtLjIgNC4zLTEuNyA1LjlsLTI4LjQgMjguNGMtNCA0LTEuMiAxMC45IDQuNSAxMC45bDI2IDBjMy40IDAgNi4yIDIuNiA2LjMgNiAuMSAzLjMgLjIgNi42IC4yIDEwIDAgMTcuNS0xLjcgMzQuNy00LjggNTEuMy0uMiAxLjItLjkgMi40LTEuNyAzLjNsLTQ2LjUgNDYuNWMtNCA0LTEuMiAxMC45IDQuNSAxMC45bDE0LjYgMGM0LjYgMCA3LjcgNC44IDUuNyA5LTQ0LjUgODkuNS0xMzYuOSAxNTEtMjQzLjcgMTUxUzg4LjggNDUwLjUgNDQuMyAzNjFjLTIuMS00LjIgMS05IDUuNy05bDE0LjYgMGM1LjcgMCA4LjYtNi45IDQuNS0xMC45TDIyLjYgMjk0LjZjLS45LS45LTEuNS0yLTEuNy0zLjMtMy4yLTE2LjYtNC44LTMzLjgtNC44LTUxLjMgMC0zLjMgLjEtNi43IC4yLTEwIC4xLTMuNCAyLjktNiA2LjMtNmwyNiAwYzUuNyAwIDguNi02LjkgNC41LTEwLjlMMjQuNiAxODQuNmMtMS41LTEuNS0yLjItMy44LTEuNy01LjkgMTUuMi02NiA1NC4zLTEyMi44IDEwNy44LTE2MC43IDExLjMtOCAyNiA4LjkgMjEuNCAyMi01LjMgMTUtOC4yIDMxLjItOC4yIDQ4IDAgNDYuMyAyMS45IDg3LjUgNTUuOCAxMTMuOSA3LjUgNS44IDggMTcuOSAxIDI0LjQtMjUuMSAyMy40LTQwLjggNTYuNy00MC44IDkzLjcgMCA2Mi45IDQ1LjQgMTE1LjIgMTA1LjEgMTI2bDIuMS02MS41Yy4xLTIuNi0yLjgtNC4yLTUtMi44bC0yNi4zIDE3LjZjLTMuMiAyLjEtNy40IDEuNy0xMC4xLTFzLTMuMS02LjktMS0xMC4xTDI0NiAzNTYuM2MxLjMtMS45IC4yLTQuNS0yLTQuOWwtMzcuNi03LjVjLTMuNy0uNy02LjQtNC02LjQtNy44czIuNy03LjEgNi40LTcuOGwzNy42LTcuNWMyLjItLjQgMy4zLTMgMi00Ljl6Il19LFhsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24taGlraW5nIixpY29uOls0NDgsNTEyLFsiaGlraW5nIl0sImY2ZWMiLCJNMTkyLTMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0xMjggMTczLjZjMC0zNCAyNy42LTYxLjYgNjEuNi02MS42IDIwLjMgMCAzOS43IDguMSA1NCAyMi40bDQ4LjIgNDguMmM2IDYgMTQuMSA5LjQgMjIuNiA5LjRsMzcuNSAwYzUuOCAwIDExLjMgMS42IDE2IDQuM2wwLTc2LjNjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwMGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTI2OC4zYy00LjcgMi43LTEwLjIgNC4zLTE2IDQuM2wtMzcuNSAwYy0yNS41IDAtNDkuOS0xMC4xLTY3LjktMjguMWwtNi42LTYuNiAwIDEwOS4yIDM0LjUgMjkuNmMxNy43IDE1LjIgMjkuMyAzNi4yIDMyLjYgNTkuM2wxMi42IDg4LjFjMi41IDE3LjUtOS43IDMzLjctMjcuMiAzNi4ycy0zMy43LTkuNy0zNi4yLTI3LjJsLTEyLjYtODguMWMtMS4xLTcuNy01LTE0LjctMTAuOS0xOS44bC03MS40LTYxLjJjLTIxLjMtMTguMi0zMy41LTQ0LjktMzMuNS03Mi45bDAtMTAxem0tNC44IDIwMy43YzIuMyAyLjMgNC43IDQuNCA3LjEgNi41bDQ0LjkgMzguNWMtMy42IDguNC04LjUgMTYuMy0xNC40IDIzLjRMODguNiA1MzIuNWMtMTEuMyAxMy42LTMxLjUgMTUuNC00NS4xIDQuMXMtMTUuNC0zMS41LTQuMS00NS4xbDcyLjMtODYuN2MyLjYtMy4xIDQuNS02LjYgNS44LTEwLjRsNS43LTE3LjF6TTAgMTYwYzAtMzUuMyAyOC43LTY0IDY0LTY0IDE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2eiJdfSxza3Q9WGxlLG9rdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtdXAtdG8tbGluZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTRjMiIsIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlMxNC4zIDY0IDMyIDY0bDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyUzQzMy43IDAgNDE2IDBMMzIgMHptODYuNiAxMzcuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDY0IDIzNy4zIDY0IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjQyLjcgOS40IDkuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC02NC02NHptMjU2IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw5LjQtOS40IDAgMjQyLjdjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI0Mi43IDkuNCA5LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtNjQtNjR6Il19LG5rdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJzLWRvdWJsZSIsaWNvbjpbNjQwLDUxMixbOTg5MV0sImYyMjciLCJNMjg4IDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyTDQ0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNTAuNy05NSA5NWMxOS41IDI4LjQgMzEgNjIuNyAzMSA5OS44IDAgOTcuMi03OC44IDE3Ni0xNzYgMTc2UzAgNDAxLjIgMCAzMDQgNzguOCAxMjggMTc2IDEyOGMzNyAwIDcxLjQgMTEuNCA5OS44IDMxbDk1LTk1LTUwLjcgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTE3NiA0MTZhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0em0xNjAgNjRjLTYuOCAwLTEzLjQtLjQtMjAtMS4xIDIzLjYtMTguOSA0My4zLTQyLjUgNTcuNi02OS40IDQzLjMtMTUuNSA3NC40LTU2LjkgNzQuNC0xMDUuNSAwLTI1LjItOC4zLTQ4LjUtMjIuNC02Ny4yIDcuMSAyLjEgMTQuNiAzLjIgMjIuNCAzLjIgMTcgMCAzMi43LTUuMyA0NS43LTE0LjMgMTEuNyAyMy42IDE4LjMgNTAuMiAxOC4zIDc4LjMgMCA5Ny4yLTc4LjggMTc2LTE3NiAxNzZ6TTUyOCAxNTcuM0w1MjggMzJjMC0xMS40LTIuNC0yMi4yLTYuNy0zMkw2MDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTUwLjctNDggNDh6Il19LGxrdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0aGVybW9tZXRlciIsaWNvbjpbNTEyLDUxMixbXSwiZjQ5MSIsIk05NiAzODIuMWwwLTg4LjhjMC0xNC45IDUuOS0yOS4xIDE2LjQtMzkuNmwyMS43LTIxLjcgNDEgNDFjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC00MS00MSA0Ni4xLTQ2LjEgNDEgNDFjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC00MS00MSA0Ni4xLTQ2LjEgNDEgNDFjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC00MS00MSA3LjgtNy44YzE5LjQtMTkuNCA0NS42LTMwLjIgNzMtMzAuMiA1NyAwIDEwMy4yIDQ2LjIgMTAzLjIgMTAzLjIgMCAyNy40LTEwLjkgNTMuNi0zMC4yIDczTDI1OC4zIDM5OS42Yy0xMC41IDEwLjUtMjQuNyAxNi40LTM5LjYgMTYuNGwtODguOCAwLTg5IDg5Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMFMtMi4zIDQ4MC40IDcgNDcxbDg5LTg5eiJdfSxLbGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGFpbnRicnVzaCIsaWNvbjpbNTc2LDUxMixbMTI4Mzk2LCJwYWludC1icnVzaCJdLCJmMWZjIiwiTTQ4MC41IDEwLjNMMjU5LjEgMTU4Yy0yOS4xIDE5LjQtNDcuNiA1MC45LTUwLjYgODUuMyA2Mi4zIDEyLjggMTExLjQgNjEuOSAxMjQuMyAxMjQuMyAzNC41LTMgNjUuOS0yMS41IDg1LjMtNTAuNkw1NjUuNyA5NS41YzYuNy0xMC4xIDEwLjMtMjEuOSAxMC4zLTM0LjEgMC0zMy45LTI3LjUtNjEuNC02MS40LTYxLjQtMTIuMSAwLTI0IDMuNi0zNC4xIDEwLjN6TTI4OCA0MDBjMC02MS45LTUwLjEtMTEyLTExMi0xMTJTNjQgMzM4LjEgNjQgNDAwYzAgMy45IC4yIDcuOCAuNiAxMS42IDEuOCAxNy41LTEwLjIgMzYuNC0yNy44IDM2LjRMMzIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE0NCAwYzYxLjkgMCAxMTItNTAuMSAxMTItMTEyeiJdfSxja3Q9S2xlLGRrdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJuZXV0ZXIiLGljb246WzM4NCw1MTIsWzk5MDZdLCJmMjJjIiwiTTgwIDE3NmExMTIgMTEyIDAgMSAxIDIyNCAwIDExMiAxMTIgMCAxIDEgLTIyNCAwek0yMjMuOSAzNDkuMUMzMDUuOSAzMzQuMSAzNjggMjYyLjMgMzY4IDE3NiAzNjggNzguOCAyODkuMiAwIDE5MiAwUzE2IDc4LjggMTYgMTc2YzAgODYuMyA2Mi4xIDE1OC4xIDE0NC4xIDE3My4xLS4xIDEtLjEgMS45LS4xIDIuOWwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtMSAwLTEuOS0uMS0yLjl6Il19LFFsZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtcGhvbmUtZmxpcCIsaWNvbjpbNDQ4LDUxMixbInBob25lLXNxdWFyZS1hbHQiXSwiZjg3YiIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem0yMzIgOTYuN2wyLjggLjhjMzIuMyA4LjggNTkuOSA0MC4xIDUxLjggNzguMi0xOC41IDg3LjUtODcuNCAxNTYuMy0xNzQuOSAxNzQuOS0zOC4xIDguMS02OS40LTE5LjUtNzguMi01MS44bC0uOC0yLjhjLTIuNy05LjggMi40LTIwLjEgMTEuOC0yNGw0OC43LTIwLjNjOC4zLTMuNCAxNy44LTEuMSAyMy41IDUuOWwxOS4zIDIzLjZjMzUuMS0xNy40IDYzLjQtNDYuNiA3OS42LTgyLjRsLTIyLjEtMThjLTYuOS01LjctOS4zLTE1LjItNS45LTIzLjVsMjAuMy00OC43YzMuOS05LjQgMTQuMi0xNC40IDI0LTExLjh6Il19LHBrdD1RbGUsSmxlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi10b25ndWUtc3F1aW50IixpY29uOls1MTIsNTEyLFsxMjg1NDEsImdyaW4tdG9uZ3VlLXNxdWludCJdLCJmNThhIiwiTTAgMjU2YzAgMTA0LjQgNjIuNSAxOTQuMiAxNTIuMiAyMzQuMS01LjMtMTMtOC4yLTI3LjItOC4yLTQyLjFsMC02MS43Yy0xNi45LTE2LjUtMzAuMS0zNi43LTM4LjMtNTkuMy00LjMtMTEuOCA3LjctMjEuOCAxOS42LTE4LjEgMzkuMiAxMi4yIDgzLjcgMTkuMSAxMzAuNyAxOS4xczkxLjUtNi45IDEzMC43LTE5LjFjMTEuOS0zLjcgMjMuOSA2LjMgMTkuNiAxOC4xLTguMyAyMi42LTIxLjUgNDIuOC0zOC4zIDU5LjNsMCA2MS43YzAgMTQuOS0yLjkgMjkuMS04LjIgNDIuMSA4OS43LTM5LjggMTUyLjItMTI5LjYgMTUyLjItMjM0LjEgMC0xNDEuNC0xMTQuNi0yNTYtMjU2LTI1NlMwIDExNC42IDAgMjU2em0xMjUuOC05MS43Yy02LjItNS4yLTcuNi0xNC4zLTMuMS0yMS4xczEzLjMtOS4yIDIwLjYtNS41bDc5LjYgNDBjNS40IDIuNyA4LjggOC4yIDguOCAxNC4zcy0zLjQgMTEuNi04LjggMTQuM2wtNzkuNiA0MGMtNy4zIDMuNi0xNi4xIDEuMy0yMC42LTUuNXMtMy4xLTE1LjkgMy4xLTIxLjFMMTU5IDE5MiAxMjUuOCAxNjQuM3ptMjYzLjYtMjEuMWM0LjUgNi44IDMuMSAxNS45LTMuMSAyMS4xTDM1MyAxOTIgMzg2LjIgMjE5LjdjNi4yIDUuMiA3LjYgMTQuMyAzLjEgMjEuMXMtMTMuMyA5LjItMjAuNiA1LjVsLTc5LjYtNDBjLTUuNC0yLjctOC44LTguMi04LjgtMTQuM3MzLjQtMTEuNiA4LjgtMTQuM2w3OS42LTQwYzcuMy0zLjYgMTYuMS0xLjMgMjAuNiA1LjV6TTMyMCA0NDhsMC00NS40YzAtMTQuNy0xMS45LTI2LjYtMjYuNi0yNi42bC0yIDBjLTExLjMgMC0yMS4xIDcuOS0yMy42IDE4LjktMi44IDEyLjYtMjAuOCAxMi42LTIzLjYgMC0yLjUtMTEuMS0xMi4zLTE4LjktMjMuNi0xOC45bC0yIDBjLTE0LjcgMC0yNi42IDExLjktMjYuNiAyNi42bDAgNDUuNGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0eiJdfSx1a3Q9SmxlLGZrdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21tZW50LWRvbGxhciIsaWNvbjpbNTEyLDUxMixbXSwiZjY1MSIsIk0yNTYgNDgwYzE0MS40IDAgMjU2LTEwNy41IDI1Ni0yNDBTMzk3LjQgMCAyNTYgMCAwIDEwNy41IDAgMjQwYzAgNTQuMyAxOS4yIDEwNC4zIDUxLjYgMTQ0LjVMMi44IDQ3Ni44Yy00LjggOS0zLjMgMjAgMy42IDI3LjVzMTcuOCA5LjggMjcuMSA1LjhsMTE4LjQtNTAuN0MxODMuNyA0NzIuNiAyMTguOSA0ODAgMjU2IDQ4MHptNC0zNTJjMTEgMCAyMCA5IDIwIDIwbDAgNCA4IDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwbC00Ny41IDBjLTYuOSAwLTEyLjUgNS42LTEyLjUgMTIuNSAwIDYuMSA0LjQgMTEuMyAxMC40IDEyLjNsNDEuNyA3YzI1LjMgNC4yIDQzLjkgMjYuMSA0My45IDUxLjggMCAyNi4xLTE5IDQ3LjctNDQgNTEuOGwwIDQuN2MwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC00LTI0IDBjLTExIDAtMjAtOS0yMC0yMHM5LTIwIDIwLTIwbDU1LjUgMGM2LjkgMCAxMi41LTUuNiAxMi41LTEyLjUgMC02LjEtNC40LTExLjMtMTAuNC0xMi4zbC00MS43LTdjLTI1LjMtNC4yLTQzLjktMjYuMS00My45LTUxLjggMC0yOC44IDIzLjItNTIuMiA1Mi01Mi41bDAtNGMwLTExIDktMjAgMjAtMjB6Il19LGhrdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoaXBwbyIsaWNvbjpbNjQwLDUxMixbMTI5NDM1XSwiZjZlZCIsIk00MDcgNDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMTcuMiAxNy4yYzEuOS0uMSAzLjktLjIgNS44LS4ybDMyIDBjMTEuMiAwIDIxLjkgMi4zIDMxLjYgNi41TDU0MyA1NWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlMNTY0IDEwMS45YzcuNiAxMi4yIDEyIDI2LjcgMTIgNDIuMSAwIDEwLjIgNy40IDE4LjggMTYuNyAyMyAyNy45IDEyLjUgNDcuMyA0MC41IDQ3LjMgNzMgMCAyNi4yLTEyLjYgNDkuNC0zMiA2NGwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTYtNjQgMCAwIDE2YzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTcuNmMtMTEuOC0yLjQtMjIuNy03LjQtMzItMTQuNC0xLjUtMS4xLTIuOS0yLjMtNC4zLTMuNS0xNy0xNC43LTI3LjctMzYuNC0yNy43LTYwLjUgMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZjMCA0NC43IDI2LjIgODMuMiA2NCAxMDEuMmwwIDEwLjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTc2Yy0xOS44IDcuNy00MS40IDEyLTY0IDEycy00NC4yLTQuMy02NC0xMmwwIDc2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTExOC45LTE4LjEgNDAuN2MtNS40IDEyLjEtMTkuNiAxNy42LTMxLjcgMTIuMlMtMy4zIDM2Mi40IDIuMSAzNTAuM0wyNCAzMDAuOWM1LjMtMTEuOSA4LTI0LjcgOC0zNy43IDAtMTA3LjUgODUuMi0xOTUuMiAxOTEuOC0xOTkuMWwuMi0uMSA2NCAwYzQxLjcgMCA4My40IDEyLjEgMTE3LjIgMjUuNyAxLjctMS44IDMuNS0zLjYgNS4zLTUuMkw0MDcgODFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45em03MyAxODVhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptODggMjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4ek00ODAgMTQ0YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bTQ4IDE2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnoiXX0sbWt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvd2wtZm9vZCIsaWNvbjpbNTEyLDUxMixbXSwiZTRjNiIsIk0wIDE3NmMwLTM1LjMgMjguNy02NCA2NC02NCAuNSAwIDEuMSAwIDEuNiAwIDcuNC0zNi41IDM5LjctNjQgNzguNC02NCAxNSAwIDI5IDQuMSA0MC45IDExLjIgMTMuMy0yNS43IDQwLjEtNDMuMiA3MS4xLTQzLjJzNTcuOCAxNy42IDcxLjEgNDMuMmMxMi03LjEgMjYtMTEuMiA0MC45LTExLjIgMzguNyAwIDcxIDI3LjUgNzguNCA2NCAuNSAwIDEuMSAwIDEuNiAwIDM1LjMgMCA2NCAyOC43IDY0IDY0IDAgMTEuNy0zLjEgMjIuNi04LjYgMzJMOC42IDIwOEMzLjEgMTk4LjYgMCAxODcuNyAwIDE3NnpNMCAyODMuNEMwIDI2OC4zIDEyLjMgMjU2IDI3LjQgMjU2bDQ1Ny4xIDBjMTUuMSAwIDI3LjQgMTIuMyAyNy40IDI3LjQgMCA3MC41LTQ0LjQgMTMwLjctMTA2LjcgMTU0LjFMNDAzLjUgNDUyYy0yIDE2LTE1LjYgMjgtMzEuOCAyOGwtMjMxLjUgMGMtMTYuMSAwLTI5LjgtMTItMzEuOC0yOGwtMS44LTE0LjRDNDQuNCA0MTQuMSAwIDM1My45IDAgMjgzLjR6Il19LGdrdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtdmlydXMiLGljb246WzQ0OCw1MTIsW10sImU1NzgiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptMTYwIDgwYzEzLjMgMCAyNCAxMC43IDI0IDI0IDAgMjIuOSAyNy43IDM0LjQgNDMuOSAxOC4yIDkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWMtMTYuMiAxNi4yLTQuNyA0My45IDE4LjIgNDMuOSAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMjIuOSAwLTM0LjQgMjcuNy0xOC4yIDQzLjkgOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGMtMTYuMi0xNi4yLTQzLjktNC43LTQzLjkgMTguMiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTIyLjktMjcuNy0zNC40LTQzLjktMTguMi05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45YzE2LjItMTYuMiA0LjctNDMuOS0xOC4yLTQzLjktMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMyMi45IDAgMzQuNC0yNy43IDE4LjItNDMuOS05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBjMTYuMiAxNi4yIDQzLjkgNC43IDQzLjktMTguMiAwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMTkyIDI0OGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTg4IDQwYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6Il19LGJrdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1zdW4tcmFpbiIsaWNvbjpbNjQwLDUxMixbMTI3NzgyXSwiZjc0MyIsIk0yNTQuOSA0NDguMmM0LjItMTIuNiAxNy44LTE5LjQgMzAuMy0xNS4yIDEyLjYgNC4yIDE5LjQgMTcuOCAxNS4yIDMwLjRsLTIxLjQgNjQuMWMtNC4yIDEyLjYtMTcuOCAxOS40LTMwLjQgMTUuMnMtMTkuNC0xNy44LTE1LjItMzAuM2wyMS40LTY0LjJ6bTEyMCAwYzQuMi0xMi42IDE3LjgtMTkuNCAzMC4zLTE1LjIgMTIuNiA0LjIgMTkuNCAxNy44IDE1LjIgMzAuNGwtMjEuNCA2NC4xYy00LjIgMTIuNi0xNy44IDE5LjQtMzAuNCAxNS4ycy0xOS40LTE3LjgtMTUuMi0zMC4zbDIxLjQtNjQuMnptMTIwIDBjNC4yLTEyLjYgMTcuOC0xOS40IDMwLjMtMTUuMiAxMi42IDQuMiAxOS40IDE3LjggMTUuMiAzMC40bC0yMS40IDY0LjFjLTQuMiAxMi42LTE3LjggMTkuNC0zMC40IDE1LjJzLTE5LjQtMTcuOC0xNS4yLTMwLjNsMjEuNC02NC4yek00NDguMyAxMjhjNDQuMiAwIDgwIDM1LjggODAgODAgMCA3LjUtMS4xIDE0LjctMyAyMS41IDI5LjggMTEuNiA1MSA0MC42IDUxIDc0LjUgMCA0NC4yLTM1LjggODAtODAgODBsLTE5MiAwLTguMi0uNGMtNDAuMy00LjEtNzEuOC0zOC4yLTcxLjgtNzkuNiAwLTM5IDI3LjktNzEuNSA2NC45LTc4LjUtLjUtMy4xLS45LTYuMi0uOS05LjUgMC0zMC45IDI1LjEtNTYgNTYtNTYgMTIuNCAwIDIzLjkgNC4xIDMzLjIgMTAuOSAxMy40LTI1LjUgNDAuMS00Mi45IDcwLjgtNDIuOXpNMjQwLjMtMzEuOGM1LjMgMCAxMC4zIDIuNyAxMy4zIDcuMWw0Ny4zIDcwLjQgODMuMy0xNi4zYzUuMi0xIDEwLjYgLjcgMTQuMyA0LjQgMy44IDMuOCA1LjQgOS4yIDQuNCAxNC40bC04LjYgNDMuOGMtMTEuOSA1LjUtMjIuOCAxMi45LTMyLjQgMjEuNi01LjctMS0xMS43LTEuNS0xNy43LTEuNS0xNC4zIDAtMjggMy00MC40IDguMi0xNi45LTE1LTM5LjItMjQuMi02My42LTI0LjItNTMgMC05NiA0My05NiA5NiAwIDMwLjkgMTQuNiA1OC4yIDM3LjIgNzUuOC0zLjQgMTEuNS01LjIgMjMuNi01LjIgMzYuMiAwIDEzLjIgMiAyNS45IDUuNyAzNy45bC0yLjQtMy41LTgzLjIgMTYuM2MtNS4yIDEtMTAuNi0uNy0xNC4zLTQuNC0zLjgtMy44LTUuNC05LjItNC40LTE0LjRsMTYuMy04My4zLTcwLjQtNDcuNGMtNC40LTMtNy4xLTgtNy4xLTEzLjMgMC01LjMgMi42LTEwLjMgNy0xMy4ybDcwLjQtNDcuNC0xNi4zLTgzLjItLjItMmMtLjMtNC42IDEuMy05LjEgNC42LTEyLjQgMy44LTMuOCA5LjItNS40IDE0LjQtNC40bDgzLjIgMTYuMyA0Ny4zLTcwLjQgMS4yLTEuNmMzLTMuNSA3LjQtNS41IDEyLjEtNS41em0wIDE3NS44YzguNiAwIDE2LjYgMi4zIDIzLjYgNi4yLTkuNyAxMS45LTE2LjkgMjUuOS0yMC43IDQxLjMtMTUgOC4xLTI4LjIgMTkuMi0zOC44IDMyLjMtNy41LTguNS0xMi4yLTE5LjYtMTIuMi0zMS44IDAtMjYuNSAyMS41LTQ4IDQ4LTQ4eiJdfSxlMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctcmlnaHQtbG9uZyIsaWNvbjpbNTc2LDUxMixbImxvbmctYXJyb3ctcmlnaHQiXSwiZjE3OCIsIk01NjYuNiAyNzguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMNDY2LjcgMjI0IDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw0MzQuNyAwLTczLjQgNzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4eiJdfSx2a3Q9ZTBlLHhrdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy11biIsaWNvbjpbNTEyLDUxMixbXSwiZTRkOSIsIk0zMiA2NEMzMiAyOC43IDYwLjcgMCA5NiAwTDM1MiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjcyLTExMiAwYy0yMC45IDAtMzkuNSAxMC4xLTUxLjIgMjUuNi04LTYtMTgtOS42LTI4LjgtOS42LTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjQgNjQgMCAwIDQ4LTE0NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwzMiA2NHpNMTQ0IDk2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTExMiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNDQgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTExMiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek00MjcuNCAzODAuNWM5LTIuMSAxOC4zIDIuMiAyMi41IDEwLjVsMjYuMSA1Mi4yIDAtNDMuM2MwLTExIDktMjAgMjAtMjBzMjAgOSAyMCAyMGwwIDEyOGMwIDkuMy02LjQgMTcuMy0xNS40IDE5LjVzLTE4LjMtMi4yLTIyLjUtMTAuNUw0NTIgNDg0LjcgNDUyIDUyOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC0xMjhjMC05LjMgNi40LTE3LjMgMTUuNC0xOS41ek0zMjQgNDAwbDAgOTZjMCA2LjYgNS40IDEyIDEyIDEyczEyLTUuNCAxMi0xMmwwLTk2YzAtMTEgOS0yMCAyMC0yMHMyMCA5IDIwIDIwbDAgOTZjMCAyOC43LTIzLjMgNTItNTIgNTJzLTUyLTIzLjMtNTItNTJsMC05NmMwLTExIDktMjAgMjAtMjBzMjAgOSAyMCAyMHoiXX0seWt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbXBlcmF0dXJlLWxvdyIsaWNvbjpbNTEyLDUxMixbXSwiZjc2YiIsIk05NiA5NmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgMTY0LjdjMjkuNSAyNi40IDQ4IDY0LjcgNDggMTA3LjMgMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRTNDggNDQ3LjUgNDggMzY4YzAtNDIuNiAxOC41LTgxIDQ4LTEwNy4zTDk2IDk2em05NiAzMzZjMzUuMyAwIDY0LTI4LjcgNjQtNjQgMC0yNi45LTE2LjUtNDkuOS00MC01OS4zbDAtMjguN2MwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI4LjdjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuMyAwIDM1LjMgMjguNyA2NCA2NCA2NHpNNDY0IDgwYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTM1MiA4MGE4MCA4MCAwIDEgMSAxNjAgMCA4MCA4MCAwIDEgMSAtMTYwIDB6Il19LHdrdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkb29yLW9wZW4iLGljb246WzQ0OCw1MTIsW10sImY1MmIiLCJNMjg4IDY0bDY0IDAgMCA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NGwtOTYgMCAwIDAtMTYwIDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC00MTZ6TTE2MCAyNTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sTWt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFsaWduLWxlZnQiLGljb246WzQ0OCw1MTIsW10sImYwMzYiLCJNMjg4IDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjRTMTQuMyAzMiAzMiAzMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnptMCAyNTZjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgMzUyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyek0wIDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAyMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek00NDggNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnoiXX0sdDBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbWVyYSIsaWNvbjpbNTEyLDUxMixbNjIyNTgsImNhbWVyYS1hbHQiXSwiZjAzMCIsIk0xNDkuMSA2NC44TDEzOC43IDk2IDY0IDk2QzI4LjcgOTYgMCAxMjQuNyAwIDE2MEwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NGwtNzQuNyAwLTEwLjQtMzEuMkMzNTYuNCA0NS4yIDMzOC4xIDMyIDMxNy40IDMyTDE5NC42IDMyYy0yMC43IDAtMzkgMTMuMi00NS41IDMyLjh6TTI1NiAxOTJhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6Il19LGtrdD10MGUsemt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXJzLXJheXMiLGljb246WzY0MCw1MTIsW10sImU1OTMiLCJNMzEtMzNDMjEuNy0yMy42IDIxLjctOC40IDMxIDFMODcgNTdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDY1LTMzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHpNNjA5LTMzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMEw1MTkgMjNjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMEw2MDkgMWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXpNNjUgNTQ1bDU2LTU2YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMMzEgNTExYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDB6bTU0NCAwYzkuNC05LjQgOS40LTI0LjYgMC0zMy45bC01Ni01NmMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw1NiA1NmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHpNMzIwIDIwOGE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHptMCAzMmMtNjEuOSAwLTExMiA1MC4xLTExMiAxMTJsMCA4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtOGMwLTYxLjktNTAuMS0xMTItMTEyLTExMnptMjE2LTgwYTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHpNNDUxLjIgMjYwLjRDNDY5LjQgMjg2LjMgNDgwIDMxNy45IDQ4MCAzNTJsMCA4YzAgOC40LTEuNCAxNi41LTQuMSAyNGw3OC44IDBjMTEuOCAwIDIxLjMtOS42IDIxLjMtMjEuM2wwLTEwLjdjMC01My00My05Ni05Ni05Ni0xMCAwLTE5LjcgMS41LTI4LjggNC40em0tMjYyLjQgMGMtOS4xLTIuOS0xOC44LTQuNC0yOC44LTQuNC01MyAwLTk2IDQzLTk2IDk2bDAgMTAuN2MwIDExLjggOS42IDIxLjMgMjEuMyAyMS4zbDc4LjggMGMtMi43LTcuNS00LjEtMTUuNi00LjEtMjRsMC04YzAtMzQuMSAxMC42LTY1LjcgMjguOC05MS42ek0yMTYgMTYwYTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHoiXX0sU2t0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJhaW5ib3ciLGljb246WzY0MCw1MTIsWzEyNzc1Ml0sImY3NWIiLCJNMzIwIDk2QzE3OC42IDk2IDY0IDIxMC42IDY0IDM1MmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDMzLjcgMCA0MTZsMC02NEMwIDE3NS4zIDE0My4zIDMyIDMyMCAzMlM2NDAgMTc1LjMgNjQwIDM1MmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRDNTc2IDIxMC42IDQ2MS40IDk2IDMyMCA5NnptMCAxMTJjLTc5LjUgMC0xNDQgNjQuNS0xNDQgMTQ0bDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTExNC45IDkzLjEtMjA4IDIwOC0yMDhzMjA4IDkzLjEgMjA4IDIwOGwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC03OS41LTY0LjUtMTQ0LTE0NC0xNDR6TTI4OCAzNTJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyeiJdfSxDa3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2l0ZW1hcCIsaWNvbjpbNTEyLDUxMixbXSwiZjBlOCIsIk0xOTIgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC04IDAgMCA2NCAxMjAgMGMzOS44IDAgNzIgMzIuMiA3MiA3MmwwIDU2IDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDggMCAwLTU2YzAtMTMuMy0xMC43LTI0LTI0LTI0bC0xMjAgMCAwIDgwIDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDggMCAwLTgwLTEyMCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDU2IDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDggMCAwLTU2YzAtMzkuOCAzMi4yLTcyIDcyLTcybDEyMCAwIDAtNjQtOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0eiJdfSxhMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLXN0YXJzIixpY29uOls1MTIsNTEyLFsxMjkzMjEsImdyaW4tc3RhcnMiXSwiZjU4NyIsIk0yNTYgNTEyYzE0MS40IDAgMjU2LTExNC42IDI1Ni0yNTYgMC0yNC40LTMuNC00OC4xLTkuOC03MC41IDE4LjYtMzYuMS0yLjctODMuNi00Ni43LTkwLTQ2LjktNTguMy0xMTguOS05NS41LTE5OS41LTk1LjVTMTAzLjQgMzcuMyA1Ni41IDk1LjVjLTQ0IDYuNC02NS4zIDUzLjktNDYuNyA5MC02LjQgMjIuNC05LjggNDYtOS44IDcwLjUgMCAxNDEuNCAxMTQuNiAyNTYgMjU2IDI1NnpNMzg2LjcgMzI0LjljMTEuOS0zLjcgMjMuOSA2LjMgMTkuNiAxOC4xLTIyLjQgNjEuMy04MS4zIDEwNS4xLTE1MC4zIDEwNS4xUzEyOC4xIDQwNC4yIDEwNS43IDM0Mi45Yy00LjMtMTEuOCA3LjctMjEuOCAxOS42LTE4LjEgMzkuMiAxMi4yIDgzLjcgMTkuMSAxMzAuNyAxOS4xczkxLjUtNi45IDEzMC43LTE5LjF6bS0zMS42LTIzMWM1LjMtMTAuNyAyMC41LTEwLjcgMjUuOCAwbDIwLjkgNDIuNCA0Ni43IDYuOGMxMS44IDEuNyAxNi41IDE2LjIgOCAyNC41bC0zMy44IDMzIDggNDYuNmMyIDExLjctMTAuMyAyMC43LTIwLjkgMTUuMmwtNDEuOC0yMi00MS44IDIyYy0xMC41IDUuNS0yMi45LTMuNC0yMC45LTE1LjJsOC00Ni42LTMzLjgtMzNjLTguNS04LjMtMy44LTIyLjggOC0yNC41bDQ2LjctNi44IDIwLjktNDIuNHptLTE5OC4yIDBsMjAuOSA0Mi40IDQ2LjcgNi44YzExLjggMS43IDE2LjUgMTYuMiA4IDI0LjVsLTMzLjggMzMgOCA0Ni42YzIgMTEuNy0xMC4zIDIwLjctMjAuOSAxNS4ybC00MS44LTIyLTQxLjggMjJjLTEwLjUgNS41LTIyLjktMy40LTIwLjktMTUuMmw4LTQ2LjYtMzMuOC0zM2MtOC41LTguMy0zLjgtMjIuOCA4LTI0LjVsNDYuNy02LjggMjAuOS00Mi40YzUuMy0xMC43IDIwLjUtMTAuNyAyNS44IDB6Il19LF9rdD1hMGUscjBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNvcnQtdXAiLGljb246WzM4NCw1MTIsWyJzb3J0LWFzYyJdLCJmMGRlIiwiTTMyIDIyNGMtMTIuOSAwLTI0LjYtNy44LTI5LjYtMTkuOFMuMiAxNzguNSA5LjQgMTY5LjRsMTYwLTE2MGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGwxNjAgMTYwYzkuMiA5LjIgMTEuOSAyMi45IDYuOSAzNC45UzM2NC45IDIyNCAzNTIgMjI0TDMyIDIyNHoiXX0sVGt0PXIwZSxHWT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJleWUiLGljb246WzU3Niw1MTIsWzEyODA2NV0sImYwNmUiLCJNMjg4IDMyYy04MC44IDAtMTQ1LjUgMzYuOC0xOTIuNiA4MC42LTQ2LjggNDMuNS03OC4xIDk1LjQtOTMgMTMxLjEtMy4zIDcuOS0zLjMgMTYuNyAwIDI0LjYgMTQuOSAzNS43IDQ2LjIgODcuNyA5MyAxMzEuMSA0Ny4xIDQzLjcgMTExLjggODAuNiAxOTIuNiA4MC42czE0NS41LTM2LjggMTkyLjYtODAuNmM0Ni44LTQzLjUgNzguMS05NS40IDkzLTEzMS4xIDMuMy03LjkgMy4zLTE2LjcgMC0yNC42LTE0LjktMzUuNy00Ni4yLTg3LjctOTMtMTMxLjEtNDcuMS00My43LTExMS44LTgwLjYtMTkyLjYtODAuNnpNMTQ0IDI1NmExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0xNDQtNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjQtMTEuNSAwLTIyLjMtMy0zMS43LTguNC0xIDEwLjktLjEgMjIuMSAyLjkgMzMuMiAxMy43IDUxLjIgNjYuNCA4MS42IDExNy42IDY3LjlzODEuNi02Ni40IDY3LjktMTE3LjZjLTEyLjItNDUuNy01NS41LTc0LjgtMTAxLjEtNzAuOCA1LjMgOS4zIDguNCAyMC4xIDguNCAzMS43eiJdfSxZWT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXJldC1sZWZ0IixpY29uOlsyNTYsNTEyLFtdLCJmMGQ5IiwiTTcuNyAyMzUuOGMtMTAuMyAxMi42LTkuNSAzMS4xIDIuMiA0Mi44bDEyOCAxMjhjOS4yIDkuMiAyMi45IDExLjkgMzQuOSA2LjlzMTkuOC0xNi42IDE5LjgtMjkuNmwwLTI1NmMwLTEyLjktNy44LTI0LjYtMTkuOC0yOS42cy0yNS43LTIuMi0zNC45IDYuOWwtMTI4IDEyOC0yLjIgMi40eiJdfSxpMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXBwbGUtd2hvbGUiLGljb246WzQ0OCw1MTIsWzEyNzgyMiwxMjc4MjMsImFwcGxlLWFsdCJdLCJmNWQxIiwiTTIyNCAxMTJjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwbDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA0NC4yLTM1LjggODAtODAgODBsLTE2IDB6TTAgMjg4YzAtNzYuMyAzNS43LTE2MCAxMTItMTYwIDI3LjMgMCA1OS43IDEwLjMgODIuNyAxOS4zIDE4LjggNy4zIDM5LjkgNy4zIDU4LjcgMCAyMi45LTguOSA1NS40LTE5LjMgODIuNy0xOS4zIDc2LjMgMCAxMTIgODMuNyAxMTIgMTYwIDAgMTI4LTgwIDIyNC0xNjAgMjI0LTE2LjUgMC0zOC4xLTYuNi01MS41LTExLjMtOC4xLTIuOC0xNi45LTIuOC0yNSAwLTEzLjQgNC43LTM1IDExLjMtNTEuNSAxMS4zLTgwIDAtMTYwLTk2LTE2MC0yMjR6Il19LExrdD1pMGUsczBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjcm9sbC10b3JhaCIsaWNvbjpbNTc2LDUxMixbInRvcmFoIl0sImY2YTAiLCJNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDAgNjguOSAwIDg2LjcgMTMuNCA5My4zIDMybDM4OS41IDBjNi42LTE4LjYgMjQuNC0zMiA0NS4zLTMyIDI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4LTIwLjkgMC0zOC43LTEzLjQtNDUuMy0zMkw5My4zIDQ4MGMtNi42IDE4LjYtMjQuNCAzMi00NS4zIDMyLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgNDh6TTE3Ny45IDMwMWMtMS4yIDItMS45IDQuMi0xLjkgNi42IDAgNi45IDUuNiAxMi41IDEyLjUgMTIuNWw1Ni45IDAgMzAuNSA0OS4yYzIuNiA0LjIgNy4yIDYuOCAxMi4yIDYuOHM5LjYtMi42IDEyLjItNi44bDMwLjUtNDkuMiA1Ni45IDBjNi45IDAgMTIuNS01LjYgMTIuNS0xMi41IDAtMi4zLS42LTQuNi0xLjktNi42bC0yNy44LTQ1IDI3LjgtNDVjMS4yLTIgMS45LTQuMiAxLjktNi42IDAtNi45LTUuNi0xMi41LTEyLjUtMTIuNWwtNTYuOSAwLTMwLjUtNDkuMmMtMi42LTQuMi03LjItNi44LTEyLjItNi44cy05LjYgMi42LTEyLjIgNi44bC0zMC41IDQ5LjItNTYuOSAwYy02LjkgMC0xMi41IDUuNi0xMi41IDEyLjUgMCAyLjMgLjYgNC42IDEuOSA2LjZsMjcuOCA0NS0yNy44IDQ1eiJdfSwka3Q9czBlLERrdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNTEwIiwiTTUyOCAyMjQuMWM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODB6TTI2OC42IDYuNWMxMi4yLTkuMyAyOS43LTguNyA0MS4yIDJsMTg1IDE3MS44QzQ0MC4yIDE5NSA0MDAgMjQ0LjggNDAwIDMwNGwwIDI0LjRjLTE5LjYgMTcuNi0zMiA0My4xLTMyIDcxLjVsMCA5NmMwIDUuNSAuNSAxMC45IDEuMyAxNi4xTDE0NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOCAyLjQtMnpNMjcyIDMyMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NiA5NiAwIDAtODcuM2MwLTE2LjUgNy0zMS41IDE4LjQtNDIuMS04LjctOS0yMC45LTE0LjYtMzQuNC0xNC42bC0zMiAwem0yNTYtNDcuOWMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45YzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSxBa3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLWxlZnQtcmlnaHQtdG8tbGluZSIsaWNvbjpbNTc2LDUxMixbXSwiZTRiYSIsIk0zMiA5NkMxNC4zIDk2IDAgMTEwLjMgMCAxMjhMMCAzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI1NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMzkwLjYgMzQyLjZsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5LjQgOS40LTEzMy41IDAgOS40LTkuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTYgNi05LjQgMTQuMS05LjQgMjIuNnMzLjQgMTYuNiA5LjQgMjIuNmw2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05LjQtOS40IDEzMy41IDAtOS40IDkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMHpNNTc2IDEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDI1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjU2eiJdfSxENz17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFzaCIsaWNvbjpbNDQ4LDUxMixbXSwiZjFmOCIsIk0xMzYuNyA1LjlMMTI4IDMyIDMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5NmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMC04LjctMjYuMUMzMDYuOS03LjIgMjk0LjctMTYgMjgwLjktMTZMMTY3LjEtMTZjLTEzLjggMC0yNiA4LjgtMzAuNCAyMS45ek00MTYgMTQ0TDMyIDE0NCA1My4xIDQ2Ny4xQzU0LjcgNDkyLjQgNzUuNyA1MTIgMTAxIDUxMkwzNDcgNTEyYzI1LjMgMCA0Ni4zLTE5LjYgNDcuOS00NC45TDQxNiAxNDR6Il19LG8wZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLXNhZC10ZWFyIixpY29uOls1MTIsNTEyLFsxMjg1NDYsInNhZC10ZWFyIl0sImY1YjQiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMjcxIDk4YzUuNS0xLjMgMTEuMS0yIDE3LTIgMjQuMSAwIDQ1LjQgMTEuOCA1OC41IDMwIDcuNyAxMC44IDIyLjcgMTMuMiAzMy41IDUuNXMxMy4yLTIyLjcgNS41LTMzLjVjLTIxLjctMzAuMi01Ny4zLTUwLTk3LjUtNTAtMTIuNSAwLTI0LjYgMS45LTM1LjkgNS41IDkuOCAxMi43IDE2LjUgMjcuOSAxOC45IDQ0LjZ6TTE3NiAyNDBhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0xOTItMzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMTg1LjQgMjkyLjhjLTIuNC0yLjktNS43LTQuOC05LjQtNC44cy03IDEuOS05LjQgNC44Yy02LjUgNy44LTEyLjYgMTYuMS0xOC4zIDI0LjYtOSAxMy40LTIwLjMgMzAuMi0yMC4zIDQ3LjQgMCAyOC4zIDIxLjUgNTEuMiA0OCA1MS4yczQ4LTIyLjkgNDgtNTEuMmMwLTE3LjItMTEuMi0zNC0yMC4zLTQ3LjQtNS43LTguNS0xMS45LTE2LjctMTguMy0yNC42eiJdfSxQa3Q9bzBlLEVrdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYXgiLGljb246WzUxMiw1MTIsWzEyODIyNCwxMjg0MzldLCJmMWFjIiwiTTE2MCA2NGwwIDgwIDY0IDAgMC04MCAxNDYuNyAwIDQ1LjMgNDUuMyAwIDM0LjcgNjQgMCAwLTM0LjdjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNDE2IDE4LjdDNDA0IDYuNyAzODcuNyAwIDM3MC43IDBMMjI0IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0ek0zMiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyTDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yODhjMC0xNy43LTE0LjMtMzItMzItMzJsLTQ4IDB6bTQ0OCA2NGwtMzIwIDAgMCAyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yMjRjMC0xNy43LTE0LjMtMzItMzItMzJ6TTIyNCAyODhhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMCA5NmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek0zMzYgMjY0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMzEyIDM4NGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek00MjQgMjY0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNNDAwIDM4NGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxJa3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWNpcmNsZS1wbHVzIixpY29uOls2NDAsNTEyLFtdLCJlNTQxIiwiTTI4MCAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43TDM0MSAyODYuNmMxMi44LTE3LjUgMjguNS0zMi43IDQ2LjMtNDVsLTU2LjItNzUuN0MzMDYgMTMyIDI2Ni4zIDExMiAyMjQgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTQ0IDIzNi43IDE0NCA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3pNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTE2LTIwOGwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTQ4IDAgMCA0OGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTQ4LTQ4IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsNDggMCAwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6Il19LE5rdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW1zYSIsaWNvbjpbNTEyLDUxMixbXSwiZjY2NSIsIk0zNC42IDI4OEw4MCAyODhjOC44IDAgMTYtNy4yIDE2LTE2TDk2IDcyYzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAxMzJjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0xNjRjMC0yMi4xIDE3LjktNDAgNDAtNDBzNDAgMTcuOSA0MCA0MGwwIDE2NGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTEzMmMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwbDAgMjAwYzAgOC44IDcuMiAxNiAxNiAxNmw0NS40IDBjMTkuMSAwIDM0LjYgMTUuNSAzNC42IDM0LjYgMCA4LjYtMy4yIDE2LjktOSAyMy4zTDQxNi42IDQ0MWMtNDEuMSA0NS4yLTk5LjQgNzEtMTYwLjYgNzFTMTM2LjYgNDg2LjIgOTUuNCA0NDFMOSAzNDUuOWMtNS44LTYuNC05LTE0LjctOS0yMy4zIDAtMTkuMSAxNS41LTM0LjYgMzQuNi0zNC42ek0yNTYgMjg4Yy0zOC40IDAtNzYuOCAzNS44LTkwLjYgNTAuMi0zLjYgMy43LTUuNCA4LjctNS40IDEzLjhzMS44IDEwLjEgNS40IDEzLjhDMTc5LjIgMzgwLjIgMjE3LjYgNDE2IDI1NiA0MTZzNzYuOC0zNS44IDkwLjYtNTAuMmMzLjYtMy43IDUuNC04LjcgNS40LTEzLjhzLTEuOC0xMC4xLTUuNC0xMy44QzMzMi44IDMyMy44IDI5NC40IDI4OCAyNTYgMjg4em0wIDMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sUmt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1jaXJjbGUtcXVlc3Rpb24iLGljb246WzY0MCw1MTIsW10sImU1NDIiLCJNMjgwIDI0YTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHptMjQgMjEyLjdMMzQxIDI4Ni42YzEyLjgtMTcuNSAyOC41LTMyLjcgNDYuMy00NWwtNTYuMi03NS43QzMwNiAxMzIgMjY2LjMgMTEyIDIyNCAxMTJzLTgyIDIwLTEwNy4yIDUzLjlsLTcwLjUgOTVjLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNkwxNDQgMjM2LjcgMTQ0IDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI3NS4zek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTEwMGMtMTEuNiAwLTIxLjMgOC4yLTIzLjUgMTkuMi0xLjggOC43LTEwLjIgMTQuMy0xOC45IDEyLjVzLTE0LjMtMTAuMi0xMi41LTE4LjljNS4yLTI1LjYgMjcuOC00NC44IDU0LjktNDQuOCAzMC45IDAgNTYgMjUuMSA1NiA1NiAwIDE5LjgtMTEuNyAzNy44LTI5LjggNDUuOWwtMTAuNCA0LjZjLTEuMiA3LjctNy44IDEzLjUtMTUuOCAxMy41LTguOCAwLTE2LTcuMi0xNi0xNiAwLTExLjIgNi42LTIxLjMgMTYuOC0yNS45bDEyLjQtNS41YzYuNi0yLjkgMTAuOC05LjQgMTAuOC0xNi42IDAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxGa3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xpcGJvYXJkLWNoZWNrIixpY29uOlszODQsNTEyLFtdLCJmNDZjIiwiTTI1NiAwYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMmw4LjYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM1MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsOC42IDBDODMuNiAxMi45IDEwNC4zIDAgMTI4IDBMMjU2IDB6bTI2LjkgMjEyLjZjLTEwLjctNy44LTI1LjctNS40LTMzLjUgNS4zbC04NS42IDExNy43LTI2LjUtMjcuNGMtOS4yLTkuNS0yNC40LTkuOC0zMy45LS42cy05LjggMjQuNC0uNiAzMy45bDQ2LjQgNDhjNC45IDUuMSAxMS44IDcuOCAxOC45IDcuM3MxMy42LTQuMSAxNy44LTkuOEwyODguMiAyNDYuMWM3LjgtMTAuNyA1LjQtMjUuNy01LjMtMzMuNXpNMTM2IDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDEzNiA2NHoiXX0sbjBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoYXJlLWZyb20tc3F1YXJlIixpY29uOls1NzYsNTEyLFs2MTUwOSwic2hhcmUtc3F1YXJlIl0sImYxNGQiLCJNMzg0LjUgMjRsMCA3Mi02NCAwYy03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NCAwIDkzLjQgODIuOCAxMzQuOCAxMDAuNiAxNDIuNiAyLjIgMSA0LjYgMS40IDcuMSAxLjRsMi41IDBjOS44IDAgMTcuOC04IDE3LjgtMTcuOCAwLTguMy01LjktMTUuNS0xMi44LTIwLjMtOC45LTYuMi0xOS4yLTE4LjItMTkuMi00MC41IDAtNDUgMzYuNS04MS41IDgxLjUtODEuNWwzMC41IDAgMCA3MmMwIDkuNyA1LjggMTguNSAxNC44IDIyLjJzMTkuMyAxLjcgMjYuMi01LjJsMTM2LTEzNmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOUw0MjUuNSA3Yy02LjktNi45LTE3LjItOC45LTI2LjItNS4yUzM4NC41IDE0LjMgMzg0LjUgMjR6bS0yNzIgNzJjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMjU2YzAgNDQuMiAzNS44IDgwIDgwIDgwbDI1NiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTI1NiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yNTZjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE2IDB6Il19LE9rdD1uMGUsWlk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmVjZWlwdCIsaWNvbjpbMzg0LDUxMixbMTI5NTM0XSwiZjU0MyIsIk0xNCAyLjJDMjIuNS0xLjcgMzIuNS0uMyAzOS42IDUuOEw4MCA0MC40IDEyMC40IDUuOGM5LTcuNyAyMi4zLTcuNyAzMS4yIDBMMTkyIDQwLjQgMjMyLjQgNS44YzktNy43IDIyLjItNy43IDMxLjIgMEwzMDQgNDAuNCAzNDQuNCA1LjhjNy4xLTYuMSAxNy4xLTcuNSAyNS42LTMuNlMzODQgMTQuNiAzODQgMjRsMCA0NjRjMCA5LjQtNS41IDE3LjktMTQgMjEuOHMtMTguNSAyLjUtMjUuNi0zLjZsLTQwLjQtMzQuNi00MC40IDM0LjZjLTkgNy43LTIyLjIgNy43LTMxLjIgMGwtNDAuNC0zNC42LTQwLjQgMzQuNmMtOSA3LjctMjIuMyA3LjctMzEuMiAwTDgwIDQ3MS42IDM5LjYgNTA2LjJjLTcuMSA2LjEtMTcuMSA3LjUtMjUuNiAzLjZTMCA0OTcuNCAwIDQ4OEwwIDI0QzAgMTQuNiA1LjUgNi4xIDE0IDIuMnpNMTA0IDEzNmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTc2IDB6TTgwIDM1MmMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTc2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0em0yNC0xMjBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE3NiAweiJdfSxCa3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXF1YWxzIixpY29uOls0NDgsNTEyLFs2Mjc2NF0sIjNkIiwiTTMyIDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAxMjh6bTAgMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyMHoiXX0sSGt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXZyb24tdXAiLGljb246WzQ0OCw1MTIsW10sImYwNzciLCJNMjAxLjQgMTA1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTkyIDE5MmMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwyMjQgMTczLjMgNTQuNiAzNDIuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTkyLTE5MnoiXX0scWt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpcnVzLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJlMDc1IiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTg4LjYtODguNmMxLjctMTIuMS0yLTI0LjgtMTEuMy0zNC0zMS4yLTMxLjItOS4xLTg0LjUgMzUtODQuNSAyMi4xIDAgNDAtMTcuOSA0MC00MHMtMTcuOS00MC00MC00MGMtNDQuMSAwLTY2LjEtNTMuMy0zNS04NC41IDE1LjYtMTUuNiAxNS42LTQwLjkgMC01Ni42cy00MC45LTE1LjYtNTYuNiAwYy0zMS4yIDMxLjItODQuNSA5LjEtODQuNS0zNSAwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MGMwIDQ0LjEtNTMuMyA2Ni4xLTg0LjUgMzUtOS4zLTkuMy0yMi0xMy0zNC0xMS4zTDQxLTI0Ljl6TTcyIDIxNmMtMjIuMSAwLTQwIDE3LjktNDAgNDBzMTcuOSA0MCA0MCA0MGM0NC4xIDAgNjYuMSA1My4zIDM1IDg0LjUtMTUuNiAxNS42LTE1LjYgNDAuOSAwIDU2LjZzNDAuOSAxNS42IDU2LjYgMGMzMS4yLTMxLjIgODQuNS05LjEgODQuNSAzNSAwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwYzAtMjEuNCAxMi42LTM3LjYgMjkuMS00NS4xbC0yNDAtMjQwQzEwOS42IDIwMy40IDkzLjQgMjE2IDcyIDIxNnoiXX0sVmt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJmNzE1IiwiTTctMjVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBMNTY5IDUwM2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDcgOUMtMi4zLS40LTIuMy0xNS42IDctMjV6Il19LGprdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJleHBhbmQiLGljb246WzQ0OCw1MTIsW10sImYwNjUiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NGwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NCA2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyek02NCAzNTJjMC0xNy43LTE0LjMtMzItMzItMzJTMCAzMzQuMyAwIDM1MmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC02NHpNMzIwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY0IDAgMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJsLTk2IDB6TTQ0OCAzNTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA2NC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC05NnoiXX0sbDBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im5vdGUtc3RpY2t5IixpY29uOls0NDgsNTEyLFs2MjAyNiwic3RpY2t5LW5vdGUiXSwiZjI0OSIsIk02NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyMTMuNWMwIDE3LTYuNyAzMy4zLTE4LjcgNDUuM0wzMjIuNyA0NjEuM2MtMTIgMTItMjguMyAxOC43LTQ1LjMgMTguN0w2NCA0ODB6TTM4OS41IDMwNEwyOTYgMzA0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDkzLjUgMTE3LjUtMTE3LjV6Il19LFVrdD1sMGUsYzBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxlLWNvbHVtbnMiLGljb246WzQ0OCw1MTIsWyJjb2x1bW5zIl0sImYwZGIiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTY0IDY0bDAgMjU2IDEyOCAwIDAtMjU2LTEyOCAwem0zMjAgMGwtMTI4IDAgMCAyNTYgMTI4IDAgMC0yNTZ6Il19LFdrdD1jMGUsR2t0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1zaGVsdGVyIixpY29uOls1MTIsNTEyLFtdLCJlNTRmIiwiTTI3MS45IDQuMmMtOS44LTUuNi0yMS45LTUuNi0zMS44IDBsLTIyNCAxMjhDNi4yIDEzNy45IDAgMTQ4LjUgMCAxNjBMMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMkw2NCAxNzguNiAyNTYgNjguOSA0NDggMTc4LjYgNDQ4IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIwYzAtMTEuNS02LjItMjIuMS0xNi4xLTI3LjhsLTIyNC0xMjh6TTI1NiAyMDhhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgwem0tOCAxOTJsMTYgMCAwIDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNzQuNSAyNi45IDQ5LjljNi4zIDExLjcgMjAuOCAxNiAzMi41IDkuOHMxNi0yMC44IDkuOC0zMi41bC0zMy4yLTYxLjdDMzI5LjcgMjQ1LjEgMjk0LjQgMjI0IDI1NiAyMjRzLTczLjcgMjEuMS05MS45IDU0LjlsLTMzLjIgNjEuN2MtNi4zIDExLjctMS45IDI2LjIgOS44IDMyLjVzMjYuMiAxLjkgMzIuNS05LjhMMjAwIDMxMy41IDIwMCA0ODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTg4eiJdfSxZa3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLW5vdGNoIixpY29uOls1MTIsNTEyLFtdLCJmMWNlIiwiTTIyMi43IDMyLjFjNSAxNi45LTQuNiAzNC44LTIxLjUgMzkuOC03OS4zIDIzLjYtMTM3LjEgOTcuMS0xMzcuMSAxODQuMSAwIDEwNiA4NiAxOTIgMTkyIDE5MnMxOTItODYgMTkyLTE5MmMwLTg2LjktNTcuOC0xNjAuNC0xMzcuMS0xODQuMS0xNi45LTUtMjYuNi0yMi45LTIxLjUtMzkuOHMyMi45LTI2LjYgMzkuOC0yMS41QzQzNC45IDQyLjEgNTEyIDE0MCA1MTIgMjU2IDUxMiAzOTcuNCAzOTcuNCA1MTIgMjU2IDUxMlMwIDM5Ny40IDAgMjU2YzAtMTE2IDc3LjEtMjEzLjkgMTgyLjktMjQ1LjQgMTYuOS01IDM0LjggNC42IDM5LjggMjEuNXoiXX0sWmt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndhdGVyIixpY29uOls1MTIsNTEyLFtdLCJmNzczIiwiTTQxMC42IDEyNC4xYzIwLjcgMTUuNiA0NiAzMC43IDc0LjIgMzQuNSAxMy4xIDEuOCAyNS4yLTcuNSAyNy0yMC42cy03LjUtMjUuMi0yMC42LTI3Yy0xNS45LTIuMS0zMy4yLTExLjMtNTEuNy0yNS4yLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yNCAxOC4xLTQwLjcgMjYuMy01NC41IDI2LjNzLTMwLjUtOC4yLTU0LjUtMjYuM2MtMzguNC0yOS05MC41LTI5LTEyOSAwLTE4LjUgMTMuOS0zNS44IDIzLjEtNTEuNyAyNS4yLTEzLjEgMS44LTIyLjQgMTMuOC0yMC42IDI3czEzLjggMjIuNCAyNyAyMC42YzI4LjItMy44IDUzLjYtMTguOSA3NC4yLTM0LjUgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOWMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMHptMCAxNDRjMjAuNyAxNS42IDQ2IDMwLjcgNzQuMiAzNC41IDEzLjEgMS44IDI1LjItNy41IDI3LTIwLjZzLTcuNS0yNS4yLTIwLjYtMjdjLTE1LjktMi4xLTMzLjItMTEuMy01MS43LTI1LjItMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM3MtMzAuNS04LjItNTQuNS0yNi4zYy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMTguNSAxMy45LTM1LjggMjMuMS01MS43IDI1LjItMTMuMSAxLjctMjIuNCAxMy44LTIwLjYgMjdzMTMuOCAyMi40IDI3IDIwLjZjMjguMi0zLjggNTMuNi0xOC45IDc0LjItMzQuNSAyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMCAyNC4yIDE4LjMgNTIuMyAzNS45IDgzLjQgMzUuOXM1OS4xLTE3LjcgODMuNC0zNS45YzIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwem0tNzEuMiAxNDRjMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjAuNyAxNS42IDQ2IDMwLjcgNzQuMiAzNC41IDEzLjEgMS44IDI1LjItNy41IDI3LTIwLjZzLTcuNS0yNS4yLTIwLjYtMjdjLTE1LjktMi4xLTMzLjItMTEuMy01MS43LTI1LjItMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM3MtMzAuNS04LjItNTQuNS0yNi4zYy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMTguNSAxMy45LTM1LjggMjMuMS01MS43IDI1LjItMTMuMSAxLjgtMjIuNCAxMy44LTIwLjYgMjdzMTMuOCAyMi40IDI3IDIwLjZjMjguMi0zLjggNTMuNi0xOC45IDc0LjItMzQuNSAyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMCAyNC4yIDE4LjMgNTIuMyAzNS45IDgzLjQgMzUuOXM1OS4xLTE3LjcgODMuNC0zNS45eiJdfSxkMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGVsZXRlLWxlZnQiLGljb246WzY0MCw1MTIsWzkwMDMsImJhY2tzcGFjZSJdLCJmNTVhIiwiTTU3NiAxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRMMjA1LjMgNjRjLTE3IDAtMzMuMyA2LjctNDUuMyAxOC43TDkuNCAyMzMuNGMtNiA2LTkuNCAxNC4xLTkuNCAyMi42czMuNCAxNi42IDkuNCAyMi42TDE2MCA0MjkuM2MxMiAxMiAyOC4zIDE4LjcgNDUuMyAxOC43TDUxMiA0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZ6TTI4NC4xIDE4OC4xYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDMzLjkgMzMuOSAzMy45LTMzLjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC0zMy45IDMzLjkgMzMuOSAzMy45YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTMzLjktMzMuOS0zMy45IDMzLjljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzMuOS0zMy45LTMzLjktMzMuOWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6Il19LFhrdD1kMGUsdFk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJvb20tYmFsbCIsaWNvbjpbNTc2LDUxMixbInF1aWRkaXRjaCIsInF1aWRkaXRjaC1icm9vbS1iYWxsIl0sImY0NTgiLCJNNDk2IDU0NGE4MCA4MCAwIDEgMSAwLTE2MCA4MCA4MCAwIDEgMSAwIDE2MHpNMTA2LjggMjc3LjJjMzAuNi0zMC42IDczLjEtNDUuOSAxMTUuOC00Mi4yTDM0MSAzNTMuM2MzLjcgNDIuOC0xMS42IDg1LjItNDIuMiAxMTUuOS0yNy40IDI3LjQtNjQuNiA0Mi44LTEwMy4zIDQyLjhMMjIuMSA1MTJjLTEyLjIgMC0yMi4xLTkuOS0yMi4xLTIyLjEgMC02LjMgMi43LTEyLjMgNy4zLTE2LjVMMTMzLjcgMzU5LjdjNC4yLTMuNy0uNC0xMC40LTUuNC03LjlMNzcuMiAzNzcuNGMtNi4xIDMtMTMuMi0xLjQtMTMuMi04LjIgMC0zMS41IDEyLjUtNjEuOCAzNC44LTg0bDgtOHptNDE3LTI3MGMxMi42LTEwLjMgMzEuMS05LjUgNDIuOCAyLjJzMTIuNCAzMC4yIDIuMiA0Mi44bC0yLjIgMi40LTE5MiAxOTIgMzQuOCAzNC43YzQuMiA0LjIgNi42IDEwIDYuNiAxNiAwIDEyLjUtMTAuMSAyMi42LTIyLjYgMjIuNmwtMjkuMSAwLTEwOC4zLTEwOC4zIDAtMjkuMWMwLTEyLjUgMTAuMS0yMi42IDIyLjYtMjIuNiA2IDAgMTEuOCAyLjQgMTYgNi42bDM0LjggMzQuNyAxOTItMTkyIDIuNC0yLjJ6Il19LEtrdD10WSxRa3Q9dFksSmt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImoiLGljb246WzMyMCw1MTIsWzEwNl0sIjRhIiwiTTI4OCAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDI1NmMwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MFMwIDQwOC40IDAgMzIwbDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyYzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZsMC0yNTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LHAwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaHV0dGxlLXNwYWNlIixpY29uOls1NzYsNTEyLFsic3BhY2Utc2h1dHRsZSJdLCJmMTk3IiwiTTAgMzY4bDAgNjRjMCAyNi41IDIxLjUgNDggNDggNDhsNTAgMGM0MC42IDAgODAuNC0xMSAxMTUuMi0zMS45bDEzMy41LTgwLjEtOTMuMyAwLTY0LjkgMzguOWMtMTQgOC40LTI4LjkgMTQuNy00NC41IDE5bDAtNjYuNGM5LjctNS42IDE3LjgtMTMuNyAyMy40LTIzLjRsMTk4LjggMGM2Ny4xIDAgMTI3LjgtMjAuNiAxNzAuMy03MC42IDQuNi01LjQgNC42LTEzLjMgMC0xOC44LTQyLjUtNTAuMS0xMDMuMi03MC42LTE3MC4zLTcwLjZsLTE5OC44IDBjLTUuNi05LjctMTMuNy0xNy44LTIzLjQtMjMuNGwwLTY2LjRjMTUuNiA0LjIgMzAuNiAxMC42IDQ0LjUgMTlsNjQuOSAzOC45IDkzLjMgMC0xMzMuNS04MC4xQzE3OC40IDQzIDEzOC42IDMyIDk4IDMyTDQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBMMCAzNjh6bTk2IDBsMCA2NC00OCAwIDAtNjQgNDggMHpNOTYgODBsMCA2NC00OCAwIDAtNjQgNDggMHpNNDE2IDIyNGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sZXp0PXAwZSx0enQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToieWluLXlhbmciLGljb246WzUxMiw1MTIsWzk3NzVdLCJmNmFkIiwiTTIyNCAxNjBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMzIgMzUyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnptMC00NDhjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTYtOTYgNDMtOTYgOTYgNDMgOTYgOTYgOTZDMTUwIDQ0OCA2NCAzNjIgNjQgMjU2UzE1MCA2NCAyNTYgNjR6TTIyNCAzNTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sYXp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0b3AiLGljb246WzQ0OCw1MTIsWzkyMDldLCJmMDRkIiwiTTY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMnoiXX0scnp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyb3dlbCIsaWNvbjpbNTc2LDUxMixbXSwiZTU4OSIsIk00MDcuOSAxODEuNEwyNzcuMyAzMTIgMzQyLjYgMzc3LjRjNy45IDcuOSAxMS4xIDE5LjQgOC40IDMwLjNzLTEwLjggMTkuNi0yMS41IDIyLjlsLTI1NiA4MGMtMTEuNCAzLjUtMjMuOCAuNS0zMi4yLTcuOXMtMTEuNS0yMC44LTcuOS0zMi4ybDgwLTI1NmMzLjMtMTAuNyAxMi0xOC45IDIyLjktMjEuNXMyMi40IC41IDMwLjMgOC40TDIzMiAyNjYuNyAzNjIuNiAxMzYuMWMtMTQuMy0xNC42LTE0LjItMzggLjMtNTIuNWw5NS40LTk1LjRjMjYuOS0yNi45IDcwLjUtMjYuOSA5Ny41IDBzMjYuOSA3MC41IDAgOTcuNWwtOTUuNCA5NS40Yy0xNC41IDE0LjUtMzcuOSAxNC42LTUyLjUgLjN6Il19LHUwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLWJhY2stZmlzdCIsaWNvbjpbMzg0LDUxMixbImhhbmQtcm9jayJdLCJmMjU1IiwiTTcuNCAyNTMuNkMyLjYgMjQ1LjkgMCAyMzcuMSAwIDIyOGwwLTM2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDE2IDAgMC04MGMwLTI2LjUgMjEuNS00OCA0OC00OCAxNy4zIDAgMzIuNCA5LjEgNDAuOSAyMi44IDQuMy0yMi4xIDIzLjgtMzguOCA0Ny4xLTM4LjggMjMuNCAwIDQyLjkgMTYuOCA0Ny4xIDM4LjkgNy4zLTQuNCAxNS44LTYuOSAyNC45LTYuOSAyMi4xIDAgNDAuOCAxNSA0Ni4zIDM1LjQgNS41LTIuMiAxMS40LTMuNCAxNy43LTMuNCAyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2LjljMCA5LjktMi4zIDE5LjctNi44IDI4LjZsLTM5LjYgNzkuMWMtMTAuOCAyMS43LTMzIDM1LjQtNTcuMiAzNS40TDk2IDM1MmMtMTYuNSAwLTMxLjgtOC40LTQwLjYtMjIuNGwtNDgtNzZ6TTMyIDQ4MGwwLTQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDhjMCAxNy43LTE0LjMgMzItMzIgMzJMNjQgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnoiXX0saXp0PXUwZSxzenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVtcGVyYXR1cmUtaGlnaCIsaWNvbjpbNTEyLDUxMixbXSwiZjc2OSIsIk05NiA5NmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgMTY0LjdjMjkuNSAyNi40IDQ4IDY0LjcgNDggMTA3LjMgMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRTNDggNDQ3LjUgNDggMzY4YzAtNDIuNiAxOC41LTgxIDQ4LTEwNy4zTDk2IDk2em05NiAzMzZjMzUuMyAwIDY0LTI4LjcgNjQtNjQgMC0yNi45LTE2LjUtNDkuOS00MC01OS4zTDIxNiA5NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDIxMi43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjR6TTQ2NCA4MGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zNTIgODBhODAgODAgMCAxIDEgMTYwIDAgODAgODAgMCAxIDEgLTE2MCAweiJdfSxvenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3JlYXRlci10aGFuIixpY29uOls1MTIsNTEyLFs2Mjc2OV0sIjNlIiwiTTM0LjkgNTAuNmMtNy40IDE2LS40IDM1LjEgMTUuNiA0Mi41TDQwMy42IDI1NiA1MC42IDQxOWMtMTYgNy40LTIzLjEgMjYuNC0xNS42IDQyLjVzMjYuNCAyMyA0Mi41IDE1LjZsNDE2LTE5MmMxMS4zLTUuMiAxOC42LTE2LjYgMTguNi0yOS4xcy03LjMtMjMuOC0xOC42LTI5LjFMNzcuNCAzNWMtMTYtNy40LTM1LjEtLjQtNDIuNSAxNS42eiJdfSxuenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3J1dGNoIixpY29uOls1MTIsNTEyLFtdLCJmN2Y3IiwiTTI5Ny40IDkuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGwxNjAgMTYwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC0xLjQtMS40LTE1OC42IDE1OC42Yy0xOCAxOC00Mi40IDI4LjEtNjcuOSAyOC4xbC01OSAwYy04LjUgMC0xNi42IDMuNC0yMi42IDkuNC02MS43IDYxLjctOTIuOCA5Mi44LTkzLjMgOTMuMy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2wxNi0xNiAwIDAgNzcuMy03Ny4zYzYtNiA5LjQtMTQuMSA5LjQtMjIuNmwwLTU5YzAtMjUuNSAxMC4xLTQ5LjkgMjguMS02Ny45TDI5OC43IDU2IDI5Ny40IDU0LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zek0zNDQgMTAxLjNMMjYxLjMgMTg0IDMyOCAyNTAuNyA0MTAuNyAxNjggMzQ0IDEwMS4zem0tMTI4IDEyOGwtMzAuNiAzMC42Yy02IDYtOS40IDE0LjEtOS40IDIyLjZsMCA1My41IDUzLjUgMGM4LjUgMCAxNi42LTMuNCAyMi42LTkuNEwyODIuNyAyOTYgMjE2IDIyOS4zeiJdfSxmMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2VwdGFnb24iLGljb246WzU3Niw1MTIsWyJoZXB0YWdvbiJdLCJlODIwIiwiTTI2Ny40LTMxLjVjMTUuOS01LjUgMzMuNS00LjYgNDguOCAyLjdsMTcyLjQgODMgNi4zIDMuNWMxNC4yIDkgMjQuNSAyMy4zIDI4LjMgMzkuOWw0Mi42IDE4Ni41IDEuMiA3LjJjMS42IDE0LjMtMS43IDI4LjgtOS40IDQxLjFsLTQuMiA1LjktMTE5LjMgMTQ5LjZjLTEyLjEgMTUuMi0zMC42IDI0LjEtNTAgMjQuMWwtMTkxLjMgMGMtMTkuNSAwLTM3LjktOC45LTUwLTI0LjFMMjMuNSAzMzguNGMtMTIuMS0xNS4yLTE2LjctMzUuMi0xMi4zLTU0LjJsNDIuNi0xODYuNSAyLTdjNS42LTE1LjkgMTcuMi0yOSAzMi42LTM2LjRsMTcyLjQtODMgNi43LTIuN3oiXX0sbHp0PWYwZSxjenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3RyZWV0LXZpZXciLGljb246WzUxMiw1MTIsW10sImYyMWQiLCJNMjU2IDBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTIyNCAxNjBsNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xLjggMC0xMS4xIDk5LjVjLTEuOCAxNi4yLTE1LjUgMjguNS0zMS44IDI4LjVsLTM4LjcgMGMtMTYuMyAwLTMwLTEyLjMtMzEuOC0yOC41bC0xMS4xLTk5LjUtMS44IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNDhjMC0zNS4zIDI4LjctNjQgNjQtNjR6TTQxMi40IDQwMC4yYy0xNi4xLTQuMi0zNC44LTcuNi01NS40LTEwLjJsNS4zLTQ3LjdjMjIuNyAyLjkgNDMuNyA2LjcgNjIuMSAxMS41IDIyLjQgNS44IDQyLjYgMTMuMyA1Ny44IDIzLjMgMTQuNyA5LjYgMjkuOCAyNC45IDI5LjggNDdzLTE1LjEgMzcuNC0yOS44IDQ3Yy0xNS4yIDkuOS0zNS41IDE3LjUtNTcuOCAyMy4zLTQ1LjEgMTEuNy0xMDUuMyAxNy44LTE2OC40IDE3LjhzLTEyMy4zLTYuMS0xNjguNC0xNy44QzY1LjIgNDg4LjQgNDUgNDgwLjkgMjkuOCA0NzEgMTUuMSA0NjEuNCAwIDQ0Ni4xIDAgNDI0czE1LjEtMzcuNCAyOS44LTQ3YzE1LjItOS45IDM1LjUtMTcuNSA1Ny44LTIzLjMgMTguNS00LjggMzkuNS04LjYgNjIuMS0xMS41TDE1NSAzOTBjLTIwLjYgMi42LTM5LjMgNi4xLTU1LjQgMTAuMi01Ni42IDE0LjYtNTYuNiAzMi45IDAgNDcuNSAzOS45IDEwLjMgOTUuOCAxNi4yIDE1Ni40IDE2LjJzMTE2LjUtNS45IDE1Ni40LTE2LjJjNTYuNi0xNC42IDU2LjYtMzIuOSAwLTQ3LjV6Il19LGR6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YXZlLXNxdWFyZSIsaWNvbjpbNTEyLDUxMixbXSwiZjgzZSIsIk02NCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDI4OCA5NiAwIDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDAgMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTI4OC05NiAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC0xMjh6Il19LHB6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmdsZS1sZWZ0IixpY29uOlsyNTYsNTEyLFs4MjQ5XSwiZjEwNCIsIk05LjQgMjMzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0w3Ny4zIDI1NiAyMTQuNiAxMTguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTYwIDE2MHoiXX0sdXp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjcmV3ZHJpdmVyIixpY29uOls1NzYsNTEyLFsxMjk2OTFdLCJmNTRhIiwiTTM1Mi4xIDE0Ni43bDAtNDkuNmMwLTEwLjcgNS4zLTIwLjcgMTQuMi0yNi42TDQ4NS4yLTguN2M2LjMtNC4yIDE0LjgtMy40IDIwLjIgMmw0NS40IDQ1LjVjNS40IDUuNCA2LjIgMTMuOCAyIDIwLjJMNDczLjYgMTc3LjhjLTUuOSA4LjktMTUuOSAxNC4yLTI2LjYgMTQuMmwtNDkuNiAwLTkwLjcgOTAuN2MxNSAzMy4zIDguOSA3My45LTE4LjUgMTAxLjNMMTYyLjEgNTEwLjFjLTE4LjcgMTguNy00OS4xIDE4LjctNjcuOSAwTDM0LjEgNDQ5LjljLTE4LjctMTguNy0xOC43LTQ5LjEgMC02Ny45TDE2MC4xIDI1NmMyNy40LTI3LjQgNjcuOS0zMy42IDEwMS4zLTE4LjVsOTAuNy05MC43eiJdfSxmenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJhY3RvciIsaWNvbjpbNTc2LDUxMixbMTI4NjY4XSwiZjcyMiIsIk0xNjAgOTZsMCA5NiAxMzMuNCAwLTU3LjYtOTYtNzUuOCAwek05NiAyMjNMOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTA3LjggMGMyMi41IDAgNDMuMyAxMS44IDU0LjkgMzEuMWw3Ny40IDEyOC45IDY0IDAgMC03MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNzIgNDggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQxLjVjMCAxNC4yLTYuMyAyNy44LTE3LjMgMzYuOWwtMzUgMjkuMmMyNi41IDE1LjIgNDQuMyA0My43IDQ0LjMgNzYuNCAwIDQ4LjYtMzkuNCA4OC04OCA4OHMtODgtMzkuNC04OC04OGMwLTE0LjQgMy41LTI4IDkuNi00MGwtMTAxLjIgMGMtMyAxMy40LTcuOSAyNi0xNC40IDM3LjcgNy43IDkuNCA3LjIgMjMuNC0xLjYgMzIuMmwtMjIuNiAyMi42Yy04LjggOC44LTIyLjcgOS4zLTMyLjIgMS42LTkuMyA1LjItMTkuMyA5LjMtMjkuOCAxMi4zLTEuMiAxMi4xLTExLjQgMjEuNi0yMy45IDIxLjZsLTMyIDBjLTEyLjQgMC0yMi43LTkuNS0yMy45LTIxLjYtMTAuNS0zLTIwLjQtNy4yLTI5LjgtMTIuMy05LjQgNy43LTIzLjQgNy4yLTMyLjItMS42TDM1LjUgNDUzLjhjLTguOC04LjgtOS4zLTIyLjctMS42LTMyLjItNS4yLTkuMy05LjMtMTkuMy0xMi4zLTI5LjgtMTIuMS0xLjItMjEuNi0xMS40LTIxLjYtMjMuOWwwLTMyYzAtMTIuNCA5LjUtMjIuNyAyMS42LTIzLjkgMy0xMC41IDcuMi0yMC40IDEyLjMtMjkuOC03LjctOS40LTcuMi0yMy40IDEuNi0zMi4ybDIyLjYtMjIuNmM4LjgtOC44IDIyLjctOS4zIDMyLjItMS42IDEuOS0xIDMuNy0yIDUuNy0zem02NCA2NWE2NCA2NCAwIDEgMCAwIDEyOCA2NCA2NCAwIDEgMCAwLTEyOHpNNDQwIDQyNGE0MCA0MCAwIDEgMCA4MCAwIDQwIDQwIDAgMSAwIC04MCAweiJdfSxoenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJpZGdlLWNpcmNsZS14bWFyayIsaWNvbjpbNTc2LDUxMixbXSwiZTRjYiIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsOCAwIDAgNjQtNDAgMCAwIDExMmMzNy42IDkuNCA2NCA0My4yIDY0IDgybDAgOTRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtNTMgNDMtOTYgOTYtOTYgNi40IDAgMTIuNyAuNiAxOC43IDEuOCAzNC43LTQ5LjUgOTIuMi04MS44IDE1Ny4zLTgxLjggMjguNiAwIDU1LjYgNi4yIDgwIDE3LjRsMC02NS40LTQwIDAgMC02NCA4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6TTQyNCA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek0yOTYgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNODggOTZsODAgMCAwIDY0LTgwIDAgMC02NHpNNDMyIDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdsLTM2LjcgMzYuNyAzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtMzYuNy0zNi43LTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzNi43LTM2LjctMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMzYuNyAzNi43IDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6Il19LG16dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aWFscyIsaWNvbjpbNTEyLDUxMixbXSwiZjQ5MyIsIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlMxNC4zIDY0IDMyIDY0bDAgMzUyYzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZsMC0zNTIgNjQgMCAwIDM1MmMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMzUyYzE3LjcgMCAzMi0xNC4zIDMyLTMyUzQ5Ny43IDAgNDgwIDBMMzIgMHpNMTYwIDY0bDAgMTI4LTY0IDAgMC0xMjggNjQgMHptMjU2IDBsMCAxMjgtNjQgMCAwLTEyOCA2NCAweiJdfSxnenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3RldGhvc2NvcGUiLGljb246WzU3Niw1MTIsWzEyOTY1OF0sImYwZjEiLCJNMzIgNDhDMzIgMjEuNSA1My41IDAgODAgMGw0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMTI4YzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZsMC0xMjgtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJTMjM4LjMgMCAyNTYgMGw0OCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTQ0YzAgNzcuNC01NSAxNDItMTI4IDE1Ni44bDAgMTkuMmMwIDYxLjkgNTAuMSAxMTIgMTEyIDExMnMxMTItNTAuMSAxMTItMTEybDAtODUuNWMtMzcuMy0xMy4yLTY0LTQ4LjctNjQtOTAuNSAwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2YzAgNDEuOC0yNi43IDc3LjQtNjQgOTAuNWwwIDg1LjVjMCA5Ny4yLTc4LjggMTc2LTE3NiAxNzZTMTYwIDQ2NS4yIDE2MCAzNjhsMC0xOS4yQzg3IDMzNCAzMiAyNjkuNCAzMiAxOTJMMzIgNDh6TTQ4MCAyMjRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxienQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicG9kY2FzdCIsaWNvbjpbNDQ4LDUxMixbXSwiZjJjZSIsIk0zMzYgMzU5LjhjMzkuMS0zMi4zIDY0LTgxLjEgNjQtMTM1LjggMC05Ny4yLTc4LjgtMTc2LTE3Ni0xNzZTNDggMTI2LjggNDggMjI0QzQ4IDI3OC43IDcyLjkgMzI3LjUgMTEyIDM1OS44IDExMi40IDM3Ny40IDExNS4yIDQwMC4yIDExOC40IDQyMS42IDQ4IDM4My45IDAgMzA5LjUgMCAyMjQgMCAxMDAuMyAxMDAuMyAwIDIyNCAwUzQ0OCAxMDAuMyA0NDggMjI0YzAgODUuNi00OCAxNTkuOS0xMTguNSAxOTcuNiAzLjMtMjEuNCA2LTQ0LjIgNi40LTYxLjh6bS0xNC01My40Yy04LjMtMTIuNi0xOS4yLTIxLjYtMzAuNC0yNy44LTIuMS0xLjEtNC4yLTIuMi02LjMtMy4yIDExLjctMTMuOSAxOC44LTMxLjkgMTguOC01MS41IDAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwYzAgMTkuNiA3LjEgMzcuNiAxOC44IDUxLjUtMi4xIDEtNC4yIDItNi4zIDMuMi0xMS4yIDYuMi0yMi4xIDE1LjItMzAuNCAyNy44LTE4LjgtMjIuMy0zMC4xLTUxLTMwLjEtODIuNCAwLTcwLjcgNTcuMy0xMjggMTI4LTEyOHMxMjggNTcuMyAxMjggMTI4YzAgMzEuNC0xMS4zIDYwLjItMzAuMSA4Mi40ek0yMjQgMzEyYzMyLjkgMCA2NCA4LjYgNjQgNDMuOCAwIDMzLTEyLjkgMTA0LjEtMjAuNiAxMzIuOS01LjEgMTktMjQuNSAyMy40LTQzLjQgMjMuNHMtMzguMi00LjQtNDMuNC0yMy40Yy03LjgtMjguNS0yMC42LTk5LjctMjAuNi0xMzIuOCAwLTM1LjEgMzEuMS00My44IDY0LTQzLjh6bTAtMTI4YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHoiXX0sdnp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLXJpZ2h0LWRvdHMiLGljb246WzUxMiw1MTIsW10sImU0YjciLCJNOTYgMzJDNzguMyAzMiA2NCA0Ni4zIDY0IDY0Uzc4LjMgOTYgOTYgOTZMMTE0LjcgOTYgOS40IDIwMS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE2MCAxNDEuMyAxNjAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMkw5NiAzMnpNNDAzLjggNzAuMWEzOC4xIDM4LjEgMCAxIDAgNzYuMiAwIDM4LjEgMzguMSAwIDEgMCAtNzYuMiAwek0yNzkuNyAxOTQuMmEzOC4xIDM4LjEgMCAxIDAgNzYuMiAwIDM4LjEgMzguMSAwIDEgMCAtNzYuMiAwem0xNjIuMi0zOC4xYTM4LjEgMzguMSAwIDEgMCAwIDc2LjIgMzguMSAzOC4xIDAgMSAwIDAtNzYuMnpNMTU2LjIgMzE3LjhhMzguMSAzOC4xIDAgMSAwIDc2LjIgMCAzOC4xIDM4LjEgMCAxIDAgLTc2LjIgMHptMTYxLjYtMzguMWEzOC4xIDM4LjEgMCAxIDAgMCA3Ni4yIDM4LjEgMzguMSAwIDEgMCAwLTc2LjJ6bTg2LjEgMzguMWEzOC4xIDM4LjEgMCAxIDAgNzYuMiAwIDM4LjEgMzguMSAwIDEgMCAtNzYuMiAwek03MC4xIDQwMy44YTM4LjEgMzguMSAwIDEgMCAwIDc2LjIgMzguMSAzOC4xIDAgMSAwIDAtNzYuMnptODYuMSAzOC4xYTM4LjEgMzguMSAwIDEgMCA3Ni4yIDAgMzguMSAzOC4xIDAgMSAwIC03Ni4yIDB6bTE2MS42LTM4LjFhMzguMSAzOC4xIDAgMSAwIDAgNzYuMiAzOC4xIDM4LjEgMCAxIDAgMC03Ni4yem04Ni4xIDM4LjFhMzguMSAzOC4xIDAgMSAwIDc2LjIgMCAzOC4xIDM4LjEgMCAxIDAgLTc2LjIgMHoiXX0seHp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXNzLXF1ZWVuIixpY29uOls1MTIsNTEyLFs5ODE5XSwiZjQ0NSIsIk0yNTYgODBhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek01LjUgMTg1TDEyOCAzODQgNzEuOCA0NTQuM2MtNSA2LjMtNy44IDE0LjEtNy44IDIyLjIgMCAxOS42IDE1LjkgMzUuNSAzNS41IDM1LjVsMzEyLjkgMGMxOS42IDAgMzUuNS0xNS45IDM1LjUtMzUuNSAwLTguMS0yLjctMTUuOS03LjgtMjIuMkwzODQgMzg0IDUwNi41IDE4NWMzLjYtNS45IDUuNS0xMi43IDUuNS0xOS42bDAtLjZjMC0yMC4zLTE2LjUtMzYuOC0zNi44LTM2LjgtNy4zIDAtMTQuNCAyLjItMjAuNCA2LjJsLTE2LjkgMTEuM2MtMTIuNyA4LjUtMjkuNiA2LjgtNDAuNC00bC0zNC4xLTM0LjFDMzU2LjEgMTAwLjEgMzQ2LjIgOTYgMzM2IDk2cy0yMC4xIDQuMS0yNy4zIDExLjNsLTMwLjEgMzAuMWMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTMwLjEtMzAuMUMxOTYuMSAxMDAuMSAxODYuMiA5NiAxNzYgOTZzLTIwLjEgNC4xLTI3LjMgMTEuM2wtMzQuMSAzNC4xYy0xMC44IDEwLjgtMjcuNyAxMi41LTQwLjQgNEw1Ny4zIDEzNC4yYy02LjEtNC0xMy4yLTYuMi0yMC40LTYuMi0yMC4zIDAtMzYuOCAxNi41LTM2LjggMzYuOGwwIC42YzAgNi45IDEuOSAxMy43IDUuNSAxOS42eiJdfSx5enQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5jaG9yLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNjQwLDUxMixbXSwiZTRhYiIsIk0zMjAuNSA5NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0tMzItOTZjLTUzIDAtOTYgNDMtOTYgOTYgMCA0MS44IDI2LjcgNzcuNCA2NCA5MC41bDAgMjU3LjljLTYyLjktMTQuMy0xMTAuMi02OS43LTExMS45LTEzNi41bDE2LjEgMTQuMWMxMCA4LjcgMjUuMSA3LjcgMzMuOS0yLjNzNy43LTI1LjEtMi4zLTMzLjlsLTY0LTU2Yy05LTcuOS0yMi42LTcuOS0zMS42IDBsLTY0IDU2Yy0xMCA4LjctMTEgMjMuOS0yLjMgMzMuOXMyMy45IDExIDMzLjkgMi4zbDE2LjItMTQuMmMyLjEgMTEzLjEgOTQuNCAyMDQuMSAyMDggMjA0LjEgMTYuNiAwIDMyLjctMS45IDQ4LjItNS42LTIwLjMtMzAuNS0zMi4yLTY3LTMyLjItMTA2LjQgMC0yNy4zIDUuNy01My4zIDE2LTc2LjlsMC0xMzYuNmMzNy4zLTEzLjIgNjQtNDguNyA2NC05MC41IDAtNTMtNDMtOTYtOTYtOTZ6bTIwOCA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTEwMGEyMCAyMCAwIDEgMSAwIDQwIDIwIDIwIDAgMSAxIDAtNDB6bTAtMTQwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxoMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWxsaXBzaXMtdmVydGljYWwiLGljb246WzEyOCw1MTIsWyJlbGxpcHNpcy12Il0sImYxNDIiLCJNNjQgMTQ0YTU2IDU2IDAgMSAxIDAtMTEyIDU2IDU2IDAgMSAxIDAgMTEyem0wIDIyNGMzMC45IDAgNTYgMjUuMSA1NiA1NnMtMjUuMSA1Ni01NiA1Ni01Ni0yNS4xLTU2LTU2IDI1LjEtNTYgNTYtNTZ6bTU2LTExMmMwIDMwLjktMjUuMSA1Ni01NiA1NnMtNTYtMjUuMS01Ni01NiAyNS4xLTU2IDU2LTU2IDU2IDI1LjEgNTYgNTZ6Il19LHd6dD1oMGUsTXp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYXJ0LWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNTc2LDUxMixbXSwiZTRmZSIsIk0yNDEgODcuMWwxNSAyMC43IDE1LTIwLjdDMjk2IDUyLjUgMzM2LjIgMzIgMzc4LjkgMzIgNDUyLjQgMzIgNTEyIDkxLjYgNTEyIDE2NS4xbDAgMi42YzAgMTcuNi0zLjQgMzUuNi05LjUgNTMuNy0yMS44LTguNi00NS42LTEzLjQtNzAuNS0xMy40LTEwNiAwLTE5MiA4Ni0xOTIgMTkyIDAgMjguNSA2LjIgNTUuNiAxNy40IDgwLS41IDAtLjkgMC0xLjQgMC0xNS41IDAtMzAuOC00LjYtNDMuMS0xNC4xLTczLTU1LjctMjEyLjktMTg2LTIxMi45LTI5OC4ybDAtMi42QzAgOTEuNiA1OS42IDMyIDEzMy4xIDMyIDE3NS44IDMyIDIxNiA1Mi41IDI0MSA4Ny4xek00MzIgMjU2YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMCAyMjhhMjAgMjAgMCAxIDAgMC00MCAyMCAyMCAwIDEgMCAwIDQwem0wLTE4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwYzAtOC44LTcuMi0xNi0xNi0xNnoiXX0sa3p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNTc2LDUxMixbXSwiZTRkMyIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE4MCAwYy0xMC41LTE0LjYtMTktMzAuNy0yNS4xLTQ4bC03NC45IDAgMC04MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzIgMCA0IC4yIDUuOSAuNSA2LTIzLjYgMTYuMy00NS40IDMwLjEtNjQuNWwtNCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0YzI3LjUtMTkuOCA2MC4zLTMyLjQgOTYtMzUuNEw0MTYgNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMOTYgMHptMzIgMTEyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTI3MiA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xMjggMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTQzMiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTEwMGEyMCAyMCAwIDEgMSAwIDQwIDIwIDIwIDAgMSAxIDAtNDB6bTAtMTQwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2eiJdfSx6enQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWFycm93LXVwLWZyb20tbGluZSIsaWNvbjpbNTc2LDUxMixbXSwiZTUzOSIsIk0xOTItMzJhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTMxOC4zIDI5OS4xbC00Ni4zLTYyLjQgMCAyNDMuMyAyNzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1NDRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsODAgMCAwLTI0My4zLTQ2LjMgNjIuNGMtMTAuNSAxNC4yLTMwLjYgMTcuMi00NC44IDYuNnMtMTcuMi0zMC42LTYuNi00NC44bDcwLjUtOTVDMTEwIDEzMiAxNDkuNyAxMTIgMTkyIDExMnM4MiAyMCAxMDcuMiA1My45bDcwLjUgOTVjMTAuNSAxNC4yIDcuNiAzNC4yLTYuNiA0NC44cy0zNC4yIDcuNi00NC44LTYuNnpNMjA4IDQ4MGwwLTEyOGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDEyOCAzMiAwek01NjYuNiAxMDIuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBMNDk2IDc3LjMgNDk2IDIyNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE0Ni43LTI1LjQgMjUuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsODAtODBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsODAgODBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjN6Il19LFN6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJub3QtZXF1YWwiLGljb246WzQ0OCw1MTIsW10sImY1M2UiLCJNMzc4LjYgODEuOGM5LjgtMTQuNyA1LjgtMzQuNi04LjktNDQuNHMtMzQuNi01LjgtNDQuNCA4LjlMMjcwLjkgMTI4IDMyIDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxOTYuMiAwLTg1LjMgMTI4LTExMC45IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjguMiAwLTMwLjggNDYuMmMtOS44IDE0LjctNS44IDM0LjYgOC45IDQ0LjRzMzQuNiA1LjggNDQuNC04LjlMMTc3LjEgMzg0IDQxNiAzODRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE5Ni4yIDAgODUuMy0xMjggMTEwLjkgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjguMiAwIDMwLjgtNDYuMnoiXX0sQ3p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYWluLXRyYW0iLGljb246WzM4NCw1MTIsWzEyODY1MF0sImU1YjQiLCJNMCA4QzAtNS4zIDEwLjctMTYgMjQtMTZsMzM2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAzMmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTgtMTIwIDAgMCA2NCA0MCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAxNjBjMCAzMS4yLTE0LjkgNTktMzggNzYuNWw2NC4zIDc2YzguNiAxMC4xIDcuMyAyNS4zLTIuOCAzMy44cy0yNS4zIDcuMy0zMy44LTIuOGwtNzQuNi04OC4xYy0zLjYgLjQtNy4zIC42LTExLjEgLjZsLTEyOCAwYy0zLjggMC03LjUtLjItMTEuMS0uNkw0Mi4zIDUzNS41Yy04LjYgMTAuMS0yMy43IDExLjQtMzMuOCAyLjhzLTExLjQtMjMuNy0yLjgtMzMuOGw2NC4zLTc2QzQ2LjkgNDExIDMyIDM4My4yIDMyIDM1MmwwLTE2MGMwLTUzIDQzLTk2IDk2LTk2bDQwIDAgMC02NC0xMjAgMCAwIDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRTMCA1My4zIDAgNDBMMCA4ek0xMjggMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJsLTEyOCAwem0zMiAxOTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptOTYgMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxfenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUtZGVwYXJ0dXJlIixpY29uOls1NzYsNTEyLFsxMjg3NDddLCJmNWIwIiwiTTM3MiAxNDMuOUwxNzIuNyA0MC4yYy04LTQuMS0xNy4zLTQuOC0yNS43LTEuN2wtNDEuMSAxNWMtMTAuMyAzLjctMTMuOCAxNi40LTcuMSAyNUwyMDAuMyAyMDYuNCAxMDAuMSAyNDIuOCA0MCAyMDYuMmMtNi4yLTMuOC0xMy44LTQuNS0yMC43LTIuMUwzIDIxMC4xYy05LjQgMy40LTEzLjQgMTQuNS04LjMgMjMuMWw1My42IDkxLjhjMTUuNiAyNi43IDQ4LjEgMzguNCA3Ny4xIDI3LjhsMTIuOS00LjcgMCAwIDM5OC40LTE0NWMyOS4xLTEwLjYgNDQtNDIuNyAzMy41LTcxLjhzLTQyLjctNDQtNzEuOC0zMy41TDM3MiAxNDMuOXpNMzIuMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTUxMiAweiJdfSxtMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmlnaHQtdG8tYnJhY2tldCIsaWNvbjpbNTEyLDUxMixbInNpZ24taW4tYWx0Il0sImYyZjYiLCJNMzQ1IDI3M2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOUwyMDEgOTVjLTYuOS02LjktMTcuMi04LjktMjYuMi01LjJTMTYwIDEwMi4zIDE2MCAxMTJsMCA4MC0xMTIgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMTIgMCAwIDgwYzAgOS43IDUuOCAxOC41IDE0LjggMjIuMnMxOS4zIDEuNyAyNi4yLTUuMkwzNDUgMjczem03IDE0M2MtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzUzIDAgOTYtNDMgOTYtOTZsMC0yNTZjMC01My00My05Ni05Ni05NmwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAweiJdfSxUenQ9bTBlLEx6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzZC1jYXJkIixpY29uOlszODQsNTEyLFtdLCJmN2MyIiwiTTM4NCA2NGMwLTM1LjMtMjguNy02NC02NC02NEwxMjUuMyAwQzEwOC4zIDAgOTIgNi43IDgwIDE4LjdMMTguNyA4MEM2LjcgOTIgMCAxMDguMyAwIDEyNS4zTDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0ek0xNjAgODhsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6bTg4IDBsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6bTg4IDBsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6Il19LCR6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU1MGEiLCJNNDk2IDU0NGExNDQgMTQ0IDAgMSAxIDAtMjg4IDE0NCAxNDQgMCAxIDEgMCAyODh6TTI2OC42IDYuNWMxMi4yLTkuMyAyOS43LTguNyA0MS4yIDJsMjE3LjYgMjAyYy0xMC4yLTEuNy0yMC43LTIuNi0zMS4zLTIuNi03OC42IDAtMTQ2LjEgNDcuMi0xNzUuOCAxMTQuOC01LjEtMS44LTEwLjUtMi44LTE2LjItMi44bC0zMiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDk2IDkxIDBjNi4xIDE3LjMgMTQuNiAzMy40IDI1LjEgNDhMMTQ0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNzYtMTYgMGMtMTMuMiAwLTI1LTguMS0yOS44LTIwLjNzLTEuNi0yNi4yIDgtMzUuMWwyMjQtMjA4IDIuNC0yek00OTYgNDQ0YTIwIDIwIDAgMSAwIDAgNDAgMjAgMjAgMCAxIDAgMC00MHptMC0xNDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDgwYzAgOC44IDcuMiAxNiAxNiAxNiA4LjggMCAxNi03LjIgMTYtMTZsMC04MGMwLTguOC03LjItMTYtMTYtMTZ6Il19LFA4PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoZWtlbC1zaWduIixpY29uOls0NDgsNTEyLFs4MzYyLCJpbHMiLCJzaGVrZWwiLCJzaGVxZWwiLCJzaGVxZWwtc2lnbiJdLCJmMjBiIiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM1MiAxMjggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4TDMyIDMyek0zMjAgNDgwYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4bDAtMjg4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0xMjggMCAwLTIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDI1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNjAgMHoiXX0sRHp0PVA4LEF6dD1QOCxQenQ9UDgsRXp0PVA4LEl6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyYWRpbyIsaWNvbjpbNTEyLDUxMixbMTI4MjUxXSwiZjhkNyIsIk00OTQuOCAxNWMxMi43LTMuNyAyMC0xNy4xIDE2LjMtMjkuOFM0OTQtMzQuOCA0ODEuMy0zMUw1MS44IDk0LjlDNDIuNCA5Ny42IDMzLjkgMTAyLjEgMjYuNiAxMDggMTAuNSAxMTkuNyAwIDEzOC42IDAgMTYwTDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDIxOC41IDk2IDQ5NC44IDE1ek0zNjggMjA4YTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwek02NCAyNDhjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTEyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMODggMjcyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxMTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw4OCAzNjhjLTEzLjMgMC0yNC0xMC43LTI0LTI0eiJdfSxnMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1kb3RzIixpY29uOls1MTIsNTEyLFsiYWxsZXJnaWVzIl0sImY0NjEiLCJNMjg4IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjA4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTc2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjcyYzAgMS41IDAgMy4xIC4xIDQuNkw2Ny42IDI4M2MtMTYtMTUuMi00MS4zLTE0LjYtNTYuNiAxLjRTLTMuNiAzMjUuNyAxMi40IDM0MUwxMjQuOCA0NDhjNDMuMSA0MS4xIDEwMC40IDY0IDE2MCA2NGwxOS4yIDBjOTcuMiAwIDE3Ni03OC44IDE3Ni0xNzZsMC0yMDhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxMTJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xNzZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNzZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0yMDh6TTIwMCAzNTJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTIwLTU2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNDAgODhhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptLTg4IDI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHoiXX0sTnp0PWcwZSxiMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9vay1za3VsbCIsaWNvbjpbNDQ4LDUxMixbImJvb2stZGVhZCJdLCJmNmI3IiwiTTk2IDUxMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTY2LjdjMTguNi02LjYgMzItMjQuNCAzMi00NS4zbDAtMjg4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDk2IDBDNDMgMCAwIDQzIDAgOTZMMCA0MTZjMCA1MyA0MyA5NiA5NiA5NnpNNjQgNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDI1NiAwIDAgNjQtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0yNzIgMTYzLjJsMCAxMi44YzAgOC44LTcuMiAxNi0xNiAxNmwtNjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTIuOGMtMTkuNC0xMS43LTMyLTMwLjMtMzItNTEuMiAwLTM1LjMgMzUuOC02NCA4MC02NHM4MCAyOC43IDgwIDY0YzAgMjAuOS0xMi42IDM5LjUtMzIgNTEuMnpNMjA4IDExMmExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem00OCAxNmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bTc0LjIgOTUuN2M0LjYgMTAuMSAuMSAyMS45LTkuOSAyNi41bC00Ny45IDIxLjggNDcuOSAyMS44YzEwLjEgNC42IDE0LjUgMTYuNCA5LjkgMjYuNXMtMTYuNCAxNC41LTI2LjUgOS45TDIyNCAyOTQgMTQ0LjMgMzMwLjJjLTEwLjEgNC42LTIxLjkgLjEtMjYuNS05LjlzLS4xLTIxLjkgOS45LTI2LjVsNDcuOS0yMS44LTQ3LjktMjEuOGMtMTAuMS00LjYtMTQuNS0xNi40LTkuOS0yNi41czE2LjQtMTQuNSAyNi41LTkuOUwyMjQgMjUwIDMwMy43IDIxMy44YzEwLjEtNC42IDIxLjktLjEgMjYuNSA5Ljl6Il19LFJ6dD1iMGUsdjBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVubG9jay1rZXlob2xlIixpY29uOlszODQsNTEyLFsidW5sb2NrLWFsdCJdLCJmMTNlIiwiTTE5MiAzMmMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA2NCAxOTIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDIyNGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDAtNjRjMC03MC43IDU3LjMtMTI4IDEyOC0xMjggNjMuNSAwIDExNi4xIDQ2LjEgMTI2LjIgMTA2LjcgMi45IDE3LjQtOC44IDMzLjktMjYuMyAzNi45cy0zMy45LTguOC0zNi45LTI2LjNDMjUwIDU1LjEgMjIzLjcgMzIgMTkyIDMyem00MCAzMjhjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTgwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMHoiXX0sRnp0PXYwZSx4MGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1hcnJvdy11cCIsaWNvbjpbMzg0LDUxMixbImZpbGUtdXBsb2FkIl0sImY1NzQiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTIwOSAyNjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC02NCA2NGMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDIzLTIzIDAgODYuMWMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtODYuMSAyMyAyM2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTY0LTY0eiJdfSxPenQ9eDBlLHkwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4tdGVhcnMiLGljb246WzY0MCw1MTIsWzEyODUxNCwiZ3Jpbi10ZWFycyJdLCJmNTg4IiwiTTU1NC44IDIwMy40bDE2LjMgMi4zQzU0Ny43IDg4LjQgNDQ0LjIgMCAzMjAgMFM5Mi4zIDg4LjQgNjguOSAyMDUuN2wxNi4zLTIuM2MzNy01LjMgNjguNiAyNi40IDYzLjQgNjMuNGwtNi43IDQ2LjdjLTQuMSAyOS0yMS42IDUzLjItNDUuOCA2Ni44IDQzLjcgNzguNSAxMjcuNiAxMzEuNyAyMjMuOCAxMzEuN3MxODAuMS01My4xIDIyMy44LTEzMS43Yy0yNC4xLTEzLjUtNDEuNi0zNy44LTQ1LjgtNjYuOGwtNi43LTQ2LjdjLTUuMy0zNyAyNi40LTY4LjYgNjMuNC02My40ek00NzAuMyAzMjYuOUM0NDcuOSAzODguMiAzODkuMSA0MzIgMzIwIDQzMlMxOTIuMSAzODguMiAxNjkuNyAzMjYuOWMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xYzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMXpNMjEyIDIwOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4em0xODgtMjhjLTE1LjUgMC0yOCAxMi41LTI4IDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjh6TTY0MCAzMDAuNmMwLTI1LjYtMTguOC00Ny4zLTQ0LjEtNTAuOUw1NDkuMSAyNDNjLTEwLjYtMS41LTE5LjYgNy41LTE4LjEgMTguMWw2LjcgNDYuN2MzLjYgMjUuMyAyNS4zIDQ0LjEgNTAuOSA0NC4xIDI4LjQgMCA1MS40LTIzIDUxLjQtNTEuNHptLTY0MCAwQzAgMzI5IDIzIDM1MiA1MS40IDM1MiA3NyAzNTIgOTguNyAzMzMuMiAxMDIuMyAzMDcuOWw2LjctNDYuN2MxLjUtMTAuNi03LjUtMTkuNi0xOC4xLTE4LjFsLTQ2LjcgNi43QzE4LjggMjUzLjMgMCAyNzUgMCAzMDAuNnoiXX0sQnp0PXkwZSx5Nz17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW4tdG8tc3F1YXJlIixpY29uOls1MTIsNTEyLFsiZWRpdCJdLCJmMDQ0IiwiTTQ3MS42IDIxLjdjLTIxLjktMjEuOS01Ny4zLTIxLjktNzkuMiAwTDM2OCA0Ni4xIDQ2NS45IDE0NCA0OTAuMyAxMTkuNmMyMS45LTIxLjkgMjEuOS01Ny4zIDAtNzkuMkw0NzEuNiAyMS43em0tMjk5LjIgMjIwYy02LjEgNi4xLTEwLjggMTMuNi0xMy41IDIxLjlsLTI5LjYgODguOGMtMi45IDguNi0uNiAxOC4xIDUuOCAyNC42czE1LjkgOC43IDI0LjYgNS44bDg4LjgtMjkuNmM4LjItMi43IDE1LjctNy40IDIxLjktMTMuNUw0MzIgMTc3LjkgMzM0LjEgODAgMTcyLjQgMjQxLjd6TTk2IDY0QzQzIDY0IDAgMTA3IDAgMTYwTDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZsMjU2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJMOTYgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDk2IDY0eiJdfSxIenQ9eTcsdzBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVhcnRoLWV1cm9wZSIsaWNvbjpbNTEyLDUxMixbImdsb2JlLWV1cm9wZSJdLCJmN2EyIiwiTTI1Ni4yIDQ4YzExNC44IC4xIDIwNy44IDkzLjIgMjA3LjggMjA4IDAgMjIuMS0zLjQgNDMuNC05LjggNjMuNC0yIC40LTQuMSAuNi02LjIgLjZsLTIuNyAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtMjkuMy0yOS4zYy02LTYtOS40LTE0LjEtOS40LTIyLjZsMC01MC43YzAtOC44IDcuMi0xNiAxNi0xNnMxNi03LjIgMTYtMTYtNy4yLTE2LTE2LTE2bC0yNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMtMTAuNyAyNC0yNCAyNGwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2cy03LjIgMTYtMTYgMTZsLTI1LjQgMGMtMTIuNSAwLTIyLjYtMTAuMS0yMi42LTIyLjYgMC02IDIuNC0xMS44IDYuNi0xNmw3MC4xLTcwLjFjMi4xLTIuMSAzLjMtNSAzLjMtOCAwLTYuMi01LjEtMTEuMy0xMS4zLTExLjNsLTE0LjEgMGMtMTIuNSAwLTIyLjYtMTAuMS0yMi42LTIyLjYgMC02IDIuNC0xMS44IDYuNi0xNmwyMy4xLTIzLjFjLjgtLjggMS42LTEuNSAyLjUtMi4yek00MzguNCAzNTYuMWMtMzIuOCA1OS42LTkzLjkgMTAxLjQtMTY1LjIgMTA3LjItLjctMi4zLTEuMS00LjgtMS4xLTcuMyAwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMjYuNyAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtMjkuMy0yOS4zYy02LTYtOS40LTE0LjEtOS40LTIyLjZsMC02Ni43YzAtMTcuNyAxNC4zLTMyIDMyLTMybDk4LjcgMGM4LjUgMCAxNi42IDMuNCAyMi42IDkuNGwyOS4zIDI5LjNjNiA2IDE0LjEgOS40IDIyLjYgOS40bDUuNSAwYzguNSAwIDE2LjYgMy40IDIyLjYgOS40bDE2IDE2YzQuMiA0LjIgMTAgNi42IDE2IDYuNiA0LjggMCA5LjMgMS41IDEzIDQuMXpNMjU2IDUxMmwyNi4yLTEuM2MtOC42IC45LTE3LjMgMS4zLTI2LjIgMS4zem0yNi4yLTEuM0M0MTEuMyA0OTcuNiA1MTIgMzg4LjYgNTEyIDI1NiA1MTIgMTE0LjYgMzk3LjQgMCAyNTYgMGwwIDBDMTE0LjYgMCAwIDExNC42IDAgMjU2IDAgMzgzLjUgOTMuMiA0ODkuMyAyMTUuMyA1MDguOCAyMjguNSA1MTAuOSAyNDIuMSA1MTIgMjU2IDUxMnpNMTg3LjMgMTIzLjNsLTMyIDMyYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDMyLTMyYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnoiXX0scXp0PXcwZSxNMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLWJlYW0tc3dlYXQiLGljb246WzU3Niw1MTIsWzEyODUxNywiZ3Jpbi1iZWFtLXN3ZWF0Il0sImY1ODMiLCJNNTQ2LjItLjFjMTQuNyAxNy44IDI5LjggNDAuMSAyOS44IDY0LjEgMCAzNi40LTI3LjYgNjQtNjQgNjRzLTY0LTI3LjYtNjQtNjRjMC0yNCAxNS4yLTQ2LjMgMjkuOC02NC4xIDguOC0xMC43IDE4LjUtMjAuOCAyOS0zMCAzLTIuNiA3LjQtMi42IDEwLjQgMCAxMC41IDkuMSAyMC4xIDE5LjMgMjkgMzB6TTI4OCAwYzQyLjUgMCA4Mi42IDEwLjQgMTE3LjggMjguNy0zLjYgMTAuOS01LjggMjIuNy01LjggMzUuMyAwIDYyLjkgNDkuMSAxMTIgMTEyIDExMiA2LjQgMCAxMi43LS41IDE4LjgtMS41IDguNiAyNS42IDEzLjIgNTMgMTMuMiA4MS41IDAgMTQxLjQtMTE0LjYgMjU2LTI1NiAyNTZTMzIgMzk3LjQgMzIgMjU2IDE0Ni42IDAgMjg4IDB6TTQxOC43IDMwOC45QzM3OS41IDMyMS4xIDMzNS4xIDMyOCAyODggMzI4cy05MS41LTYuOS0xMzAuNy0xOS4xYy0xMS45LTMuNy0yMy45IDYuMy0xOS42IDE4LjEgMjIuNCA2MS4zIDgxLjMgMTA1LjEgMTUwLjMgMTA1LjFzMTI3LjktNDMuOCAxNTAuMy0xMDUuMWM0LjMtMTEuOC03LjctMjEuOC0xOS42LTE4LjF6TTIwOCAxODBjMTUuNSAwIDI4IDEyLjUgMjggMjhsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOGMwLTM3LjYtMzAuNC02OC02OC02OHMtNjggMzAuNC02OCA2OGwwIDhjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC04YzAtMTUuNSAxMi41LTI4IDI4LTI4em0xMzIgMjhjMC0xNS41IDEyLjUtMjggMjgtMjhzMjggMTIuNSAyOCAyOGwwIDhjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC04YzAtMzcuNi0zMC40LTY4LTY4LTY4cy02OCAzMC40LTY4IDY4bDAgOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTh6Il19LFZ6dD1NMGUsazBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1oYWxmLXN0cm9rZSIsaWNvbjpbNTEyLDUxMixbOTY4MCwiYWRqdXN0Il0sImYwNDIiLCJNNDQ4IDI1NmMwLTEwNi04Ni0xOTItMTkyLTE5MmwwIDM4NGMxMDYgMCAxOTItODYgMTkyLTE5MnpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHoiXX0sanp0PWswZSxVenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLW1pbGl0YXJ5LXRvLXBlcnNvbiIsaWNvbjpbNTEyLDUxMixbXSwiZTU0YyIsIk03MSAxMi41Yy04LjYgMS0xNSA4LjItMTUgMTYuOCAwIDkuMyA3LjUgMTYuOCAxNi43IDE2LjlsMTExLjQgMGM4LjgtLjEgMTUuOS03LjIgMTUuOS0xNkwyMDAgMTZjMC05LjUtOC4zLTE3LTE3LjgtMTUuOUw3MSAxMi41ek0xODkuNSA3OC4xbC0xMjIuOSAwYy0xLjYgNS43LTIuNSAxMS43LTIuNSAxNy45IDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRjMC02LjItLjktMTIuMi0yLjUtMTcuOXpNMzIgMjU2bDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMS44IDAgMy41LS4xIDUuMi0uNEw1MyAyMDguNkM0MC4xIDIyMC4zIDMyIDIzNy4yIDMyIDI1NnptMTkwLjIgNDIuNWMxLjEtMy4zIDEuOC02LjggMS44LTEwLjVsMC0zMmMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMGMtMy43IDAtNy40IC4zLTEwLjkgLjlMMjIyLjIgMjk4LjV6TTM4NCAxNjBhNjQgNjQgMCAxIDAgMC0xMjggNjQgNjQgMCAxIDAgMCAxMjh6bS0zMiAzMmMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwek0yMTUuOCA0NTAuMWM1LjItNC42IDguMi0xMS4xIDguMi0xOC4xcy0zLTEzLjUtOC4yLTE4LjFsLTY0LTU2Yy03LjEtNi4yLTE3LjEtNy43LTI1LjctMy44UzExMiAzNjYuNiAxMTIgMzc2bDAgMzItODggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw4OCAwIDAgMzJjMCA5LjQgNS41IDE4IDE0LjEgMjEuOXMxOC42IDIuNCAyNS43LTMuOGw2NC01NnpNMjg4IDQzMS45YzAgNi45IDMgMTMuNSA4LjEgMTguMWw2NCA1Ni40YzcuMSA2LjIgMTcuMSA3LjggMjUuNyAzLjlTNDAwIDQ5Ny44IDQwMCA0ODguNGwwLTMyLjQgODggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODggMCAwLTMyYzAtOS40LTUuNS0xOC0xNC4xLTIxLjlzLTE4LjYtMi40LTI1LjcgMy44bC02NCA1NmMtNS4yIDQuNS04LjIgMTEuMS04LjIgMTh6Il19LFd6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZS1jZWxscy1jb2x1bW4tbG9jayIsaWNvbjpbNjQwLDUxMixbXSwiZTY3OCIsIk0yNTYgMjI0bDAgMTkyIDY0IDAgMC0xOTItNjQgMHptMjU2LTc5Yy00Ni43IDUuOC04NS42IDM2LjgtMTAyLjcgNzlsLTI1LjMgMCAwIDkwLjhjLTEwLjEgMTUuMi0xNiAzMy40LTE2IDUzLjFsMCA5NmMwIDUuNSAuNSAxMC45IDEuMyAxNi4xTDEyOCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDY0IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNDl6TTEyOCAyMjRsMCAxOTIgNjQgMCAwLTE5Mi02NCAwem00MzIgNDguMWMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ3LjkgNjQgMCAwLTQ3Ljl6TTQxNiAzNjhjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zbDAtNTAuNmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNTAuNmMxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjNsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZ6Il19LEd6dD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1maWVsZC11biIsaWNvbjpbNjQwLDUxMixbXSwiZTU4ZSIsIk05NiAzMkM2MC43IDMyIDMyIDYwLjcgMzIgOTZsMCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwwIDQ4YzAgMjEuMSAxMy43IDM5LjEgMzIuNiA0NS41LS40IDMuNC0uNiA3LS42IDEwLjUgMCA0OC42IDM5LjQgODggODggODhzODgtMzkuNCA4OC04OGMwLTIuNy0uMS01LjQtLjQtOGwxNDQuNyAwYy0uMiAyLjYtLjQgNS4zLS40IDggMCA0OC42IDM5LjQgODggODggODhzODgtMzkuNCA4OC04OGMwLTIuNy0uMS01LjQtLjQtOGwuNCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTI0LjcgMC0xLjctNC4yLTQzLjgtMTA2LjNjLTEyLjMtMzAtNDEuNi00OS41LTc0LTQ5LjVsLTQwLjQgMEMzNjQuNCA0NC45IDM0My43IDMyIDMyMCAzMkw5NiAzMnpNMzg0IDIyNGwwLTk2IDMxLjkgMGM2LjUgMCAxMi4zIDMuOSAxNC44IDkuOWwzNS40IDg2LjEtODIuMSAwek0xNTIgMzUyYTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHptMjgwIDQwYTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTI1Ni42IDEzMi45bDI3LjQgNDEgMC0yOS45YzAtMTEgOS0yMCAyMC0yMHMyMCA5IDIwIDIwbDAgOTZjMCA4LjgtNS44IDE2LjYtMTQuMiAxOS4xcy0xNy41LS43LTIyLjQtOGwtMjcuNC00MSAwIDI5LjljMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOTZjMC04LjggNS44LTE2LjYgMTQuMi0xOS4xczE3LjUgLjcgMjIuNCA4ek0xMzIgMTQ0bDAgNjRjMCA2LjYgNS40IDEyIDEyIDEyczEyLTUuNCAxMi0xMmwwLTY0YzAtMTEgOS0yMCAyMC0yMHMyMCA5IDIwIDIwbDAgNjRjMCAyOC43LTIzLjMgNTItNTIgNTJzLTUyLTIzLjMtNTItNTJsMC02NGMwLTExIDktMjAgMjAtMjBzMjAgOSAyMCAyMHoiXX0sejBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb2NrIixpY29uOls1MTIsNTEyLFsxMjgzMzksImNsb2NrLWZvdXIiXSwiZjAxNyIsIk0yNTYgMGEyNTYgMjU2IDAgMSAxIDAgNTEyIDI1NiAyNTYgMCAxIDEgMC01MTJ6TTIzMiAxMjBsMCAxMzZjMCA4IDQgMTUuNSAxMC43IDIwbDk2IDY0YzExIDcuNCAyNS45IDQuNCAzMy4zLTYuN3M0LjQtMjUuOS02LjctMzMuM0wyODAgMjQzLjIgMjgwIDEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHoiXX0sWXp0PXowZSxaenQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9vayIsaWNvbjpbNDQ4LDUxMixbMTI4MjEyXSwiZjAyZCIsIk0zODQgNTEyTDk2IDUxMmMtNTMgMC05Ni00My05Ni05NkwwIDk2QzAgNDMgNDMgMCA5NiAwTDQwMCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMjg4YzAgMjAuOS0xMy40IDM4LjctMzIgNDUuM2wwIDY2LjdjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDB6TTk2IDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyNTYgMCAwLTY0LTI1NiAwem0zMi0yMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE3NiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptMjQgNzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE3NiAweiJdfSxTMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1sYXVnaC13aW5rIixpY29uOls1MTIsNTEyLFsibGF1Z2gtd2luayJdLCJmNTljIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xMDEuNiAzMTRjLTMuNy0xMy43IDcuNS0yNiAyMS43LTI2bDI2NS40IDBjMTQuMiAwIDI1LjQgMTIuMyAyMS43IDI2LTE4LjUgNjgtODAuNiAxMTgtMTU0LjQgMTE4UzEyMCAzODIgMTAxLjYgMzE0ek0xNDQgMTkyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE2NCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGMwLTMzLjEgMjYuOS02MCA2MC02MGwxNiAwYzMzLjEgMCA2MCAyNi45IDYwIDYwIDAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMC05LTIwLTIwLTIwbC0xNiAwYy0xMSAwLTIwIDktMjAgMjB6Il19LFh6dD1TMGUsS3p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkLW1lYXRiYWxsIixpY29uOls1MTIsNTEyLFtdLCJmNzNiIiwiTTAgMjI0YzAgNTMgNDMgOTYgOTYgOTZsMjYuOSAwYzMuNS0xMi4xIDEwLjEtMjMuMyAxOS4yLTMyLjRsMS40LTEuNGMxNS0xNSAzNS4zLTIyLjkgNTYuMS0yMi4yIDE0LjItMTUuMSAzNC4yLTIzLjkgNTUuNC0yMy45bDIgMGMyMS4xIDAgNDEuMSA4LjggNTUuNCAyMy45IDIwLjgtLjYgNDEuMSA3LjMgNTYuMSAyMi4ybDEuNCAxLjRjOS4yIDkuMiAxNS43IDIwLjQgMTkuMiAzMi40bDI2LjkgMGM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NmMtLjUgMC0xLjEgMC0xLjYgMCAxLjEtNS4yIDEuNi0xMC41IDEuNi0xNiAwLTQ0LjItMzUuOC04MC04MC04MC0yNC4zIDAtNDYuMSAxMC45LTYwLjggMjgtMTguNy0zNS43LTU2LjEtNjAtOTkuMi02MC02MS45IDAtMTEyIDUwLjEtMTEyIDExMiAwIDcuMSAuNyAxNC4xIDEuOSAyMC44LTM4LjMgMTIuNi02NS45IDQ4LjctNjUuOSA5MS4yek0xNTYuNSA0MjQuM2M5LjUgNi4zIDE0LjIgMTcuNyAxMS45IDI4LjgtMS44IDkuMiAxIDE4LjcgNy43IDI1LjNsMS40IDEuNGM2LjYgNi42IDE2LjEgOS41IDI1LjMgNy43IDExLjEtMi4yIDIyLjUgMi41IDI4LjggMTEuOSA1LjIgNy44IDE0IDEyLjUgMjMuMyAxMi41bDIgMGM5LjQgMCAxOC4xLTQuNyAyMy4zLTEyLjUgNi4zLTkuNSAxNy43LTE0LjIgMjguOC0xMS45IDkuMiAxLjggMTguNy0xIDI1LjMtNy43bDEuNC0xLjRjNi42LTYuNiA5LjUtMTYuMSA3LjctMjUuMy0yLjItMTEuMSAyLjUtMjIuNSAxMS45LTI4LjggNy44LTUuMiAxMi41LTE0IDEyLjUtMjMuM2wwLTJjMC05LjQtNC43LTE4LjEtMTIuNS0yMy4zLTkuNS02LjMtMTQuMi0xNy43LTExLjktMjguOCAxLjgtOS4yLTEtMTguNy03LjctMjUuM2wtMS40LTEuNGMtNi42LTYuNi0xNi4xLTkuNS0yNS4zLTcuNy0xMS4xIDIuMi0yMi41LTIuNS0yOC44LTExLjktNS4yLTcuOC0xNC0xMi41LTIzLjMtMTIuNWwtMiAwYy05LjQgMC0xOC4xIDQuNy0yMy4zIDEyLjUtNi4zIDkuNS0xNy43IDE0LjItMjguOCAxMS45LTkuMi0xLjgtMTguNyAxLTI1LjMgNy43bC0xLjQgMS40Yy02LjYgNi42LTkuNSAxNi4xLTcuNyAyNS4zIDIuMiAxMS4xLTIuNSAyMi41LTExLjkgMjguOC03LjggNS4yLTEyLjUgMTQtMTIuNSAyMy4zbDAgMmMwIDkuNCA0LjcgMTguMSAxMi41IDIzLjN6TTQ4IDQ0OGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTQxNiAwYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnoiXX0sQzBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYXJ0LWFyZWEiLGljb246WzUxMiw1MTIsWyJhcmVhLWNoYXJ0Il0sImYxZmUiLCJNMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMzZjMCA4LjggNy4yIDE2IDE2IDE2bDQwMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDgwIDQ4MGMtNDQuMiAwLTgwLTM1LjgtODAtODBMMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMnpNMjQwIDk2YzYuNyAwIDEzLjEgMi44IDE3LjcgNy44TDMyOC44IDE4MS4zIDM3NSAxMzVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsNjQgNjRjNC41IDQuNSA3IDEwLjYgNyAxN2wwIDExMmMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtMzA0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMTEyYzAtNiAyLjMtMTEuOCA2LjMtMTYuMmw4OC05NmM0LjUtNSAxMS03LjggMTcuNy03Ljh6Il19LFF6dD1DMGUsSnp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJ1cGlhaC1zaWduIixpY29uOls1MTIsNTEyLFtdLCJlMjNkIiwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsODAgMGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NCAwIDU0LjMtMzAgMTAxLjUtNzQuNCAxMjYuMWw0MSAxMzYuN2M1LjEgMTYuOS00LjUgMzQuOC0yMS41IDM5LjhzLTM0LjgtNC41LTM5LjgtMjEuNUwxMjAuMSAzMTkuOGMtMi43IC4xLTUuNCAuMi04LjEgLjJsLTQ4IDAgMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0NjUuNyAwIDQ0OEwwIDY0ek02NCAyNTZsNDggMGM0NC4yIDAgODAtMzUuOCA4MC04MHMtMzUuOC04MC04MC04MGwtNDggMCAwIDE2MHptMjU2LTMybDgwIDBjNjEuOSAwIDExMiA1MC4xIDExMiAxMTJTNDYxLjkgNDQ4IDQwMCA0NDhsLTQ4IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptODAgMTYwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4bC00OCAwIDAgOTYgNDggMHoiXX0sZVN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRleHQtd2lkdGgiLGljb246WzQ0OCw1MTIsW10sImYwMzUiLCJNNDAgMEMxNy45IDAgMCAxNy45IDAgNDBMMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIgMTI4IDAgMCAxNjAtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTE2MCAxMjggMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC01NmMwLTIyLjEtMTcuOS00MC00MC00MEw0MCAwem03OC42IDQwNi42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOS40LTkuNCAyMjkuNSAwLTkuNCA5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5LjQgOS40LTIyOS41IDAgOS40LTkuNHoiXX0sdFN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNhdGVsbGl0ZSIsaWNvbjpbNTEyLDUxMixbMTI4NzUyXSwiZjdiZiIsIk0xOTkgN2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw4OS40IDg5LjQgNTUtNTVjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsNDggNDhjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTU1IDU1IDg5LjQgODkuNGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtOTYgOTZjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwbC04OS40LTg5LjQtMTUuNSAxNS41YzExLjQgMjQuNiAxNy44IDUyIDE3LjggODAuOSAwIDMxLjctNy43IDYxLjUtMjEuMiA4Ny44LTQuNyA5LTE2LjcgMTAuMy0yMy44IDMuMWwtOTYuMy05Ni4zLTYwIDYwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2w2MC02MC05Ni4zLTk2LjNjLTcuMi03LjItNS45LTE5LjIgMy4xLTIzLjggMjYuMy0xMy42IDU2LjItMjEuMiA4Ny44LTIxLjIgMjguOSAwIDU2LjMgNi40IDgwLjkgMTcuOEwxOTIuNCAyMjYuMyAxMDMgMTM3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOUwxOTkgN3ptMTcgNTAuOWwtNjIuMSA2Mi4xIDcyLjQgNzIuNCA2Mi4xLTYyLjEtNzIuNC03Mi40ek0zOTIgMzU4LjFsNjIuMS02Mi4xLTcyLjQtNzIuNC02Mi4xIDYyLjEgNzIuNCA3Mi40eiJdfSxfMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFnbmlmeWluZy1nbGFzcy1taW51cyIsaWNvbjpbNTEyLDUxMixbInNlYXJjaC1taW51cyJdLCJmMDEwIiwiTTQxNiAyMDhjMCA0NS45LTE0LjkgODguMy00MCAxMjIuN0w1MDIuNiA0NTcuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMEwzMzAuNyAzNzZDMjk2LjMgNDAxLjEgMjUzLjkgNDE2IDIwOCA0MTYgOTMuMSA0MTYgMCAzMjIuOSAwIDIwOFM5My4xIDAgMjA4IDAgNDE2IDkzLjEgNDE2IDIwOHpNMTM2IDE4NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LGFTdD1fMGUsclN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlb3BsZS1ncm91cCIsaWNvbjpbNTEyLDUxMixbXSwiZTUzMyIsIk0yNTYgMGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHptOTYgMzEyYzAgMjUtMTIuNyA0Ny0zMiA1OS45bDAgOTIuMWMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05Mi4xQzE3Mi43IDM1OSAxNjAgMzM3IDE2MCAzMTJsMC00MGMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgNDB6TTk2IDMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyem0xNiAyNDBsMCAzMmMwIDMyLjUgMTIuMSA2Mi4xIDMyIDg0LjdsMCA3NS4zYzAgMS4yIDAgMi41IC4xIDMuNy04LjUgNy42LTE5LjcgMTIuMy0zMi4xIDEyLjNsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtNTYuNkMxMi45IDM2NC40IDAgMzQzLjcgMCAzMjBsMC0zMmMwLTUzIDQzLTk2IDk2LTk2IDEyLjcgMCAyNC44IDIuNSAzNS45IDYuOS0xMi42IDIxLjQtMTkuOSA0Ni40LTE5LjkgNzMuMXpNMzY4IDQ2NGwwLTc1LjNjMTkuOS0yMi41IDMyLTUyLjIgMzItODQuN2wwLTMyYzAtMjYuNy03LjMtNTEuNi0xOS45LTczLjEgMTEuMS00LjUgMjMuMi02LjkgMzUuOS02LjkgNTMgMCA5NiA0MyA5NiA5NmwwIDMyYzAgMjMuNy0xMi45IDQ0LjQtMzIgNTUuNGwwIDU2LjZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTEyLjMgMC0yMy42LTQuNi0zMi4xLTEyLjMgMC0xLjIgLjEtMi41IC4xLTMuN3pNNDE2IDMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyeiJdfSxpU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWJpbmFyeSIsaWNvbjpbNDQ4LDUxMixbXSwiZTY5YiIsIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnptMTQ0IDRjLTI0LjMgMC00NCAxOS43LTQ0IDQ0bDAgNDhjMCAyNC4zIDE5LjcgNDQgNDQgNDRsMzIgMGMyNC4zIDAgNDQtMTkuNyA0NC00NGwwLTQ4YzAtMjQuMy0xOS43LTQ0LTQ0LTQ0bC0zMiAwem0tNCA0NGMwLTIuMiAxLjgtNCA0LTRsMzIgMGMyLjIgMCA0IDEuOCA0IDRsMCA0OGMwIDIuMi0xLjggNC00IDRsLTMyIDBjLTIuMiAwLTQtMS44LTQtNGwwLTQ4em0xNDAtNDRjLTExIDAtMjAgOS0yMCAyMCAwIDkuNyA2LjkgMTcuNyAxNiAxOS42bDAgNzYuNGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTk2YzAtMTEtOS0yMC0yMC0yMGwtMTYgMHpNMTMyIDI5NmMwIDkuNyA2LjkgMTcuNyAxNiAxOS42bDAgNzYuNGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTk2YzAtMTEtOS0yMC0yMC0yMGwtMTYgMGMtMTEgMC0yMCA5LTIwIDIwem05NiAyNGwwIDQ4YzAgMjQuMyAxOS43IDQ0IDQ0IDQ0bDMyIDBjMjQuMyAwIDQ0LTE5LjcgNDQtNDRsMC00OGMwLTI0LjMtMTkuNy00NC00NC00NGwtMzIgMGMtMjQuMyAwLTQ0IDE5LjctNDQgNDR6bTQ0LTRsMzIgMGMyLjIgMCA0IDEuOCA0IDRsMCA0OGMwIDIuMi0xLjggNC00IDRsLTMyIDBjLTIuMiAwLTQtMS44LTQtNGwwLTQ4YzAtMi4yIDEuOC00IDQtNHoiXX0sVDBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hc2tzLXRoZWF0ZXIiLGljb246WzU3Niw1MTIsWzEyNzkxNywidGhlYXRlci1tYXNrcyJdLCJmNjMwIiwiTS01IDExOEwyMy41IDI3OS43YzE0IDc5LjUgNzYuMyAxNDEuOCAxNTUuOCAxNTUuOGwxMi43IDIuMmMtMTYuNS0yOC42LTI3LjEtNjAuNy0zMC42LTk0LjVsLTI0LjEgNC4zYy05LjcgMS43LTE4LjgtNS44LTE2LjktMTUuNSA0LjgtMjQuNyAxOS4xLTQ2LjYgMzkuNy02MC45bDAtNzQuNmMtMS40IC44LTMgMS4zLTQuNyAxLjZsLTYzIDExLjFjLTguNyAxLjUtMTcuMy00LjQtMTUuOS0xMy4xIDMuMS0xOS42IDE4LjQtMzYgMzkuMS0zOS43IDE3LjItMyAzMy45IDMuNSA0NC42IDE1LjhsMC0yMi43YzAtMjIuNSA2LjktNTIuNCAzMi4zLTczLjQgMjYtMjEuNSA2Ny43LTQzLjkgMTI0LjktNTQuMi0zMC41LTE2LjMtODYuMy0zMi0xNjMuOC0xOC40LTgwLjMgMTQuMi0xMjggNTAuMS0xNTAuMSA3Ni4xLTkgMTAuNS0xMC44IDI0LjktOC40IDM4LjV6TTIwOCAxMzguN2wwIDE3NC44YzAgODAuNyA1MC41IDE1Mi45IDEyNi40IDE4MC40TDM2Mi4xIDUwNGMxNC4xIDUuMSAyOS42IDUuMSA0My43IDBMNDMzLjYgNDk0QzUwOS41IDQ2Ni40IDU2MCAzOTQuMyA1NjAgMzEzLjVsMC0xNzQuOGMwLTYuOS0yLjEtMTMuOC03LTE4LjYtMjIuNi0yMi41LTc4LjItNTYtMTY5LTU2cy0xNDYuNCAzMy42LTE2OSA1NmMtNC45IDQuOS03IDExLjctNyAxOC42em02Ni4xIDE4Ny4xYy0xLjQtNyA3LTExIDEyLjctNi42IDI2LjkgMjAuNiA2MC42IDMyLjkgOTcuMiAzMi45czcwLjItMTIuMyA5Ny4yLTMyLjljNS43LTQuNCAxNC4xLS40IDEyLjcgNi42LTEwLjEgNTEuNC01NS41IDkwLjMtMTA5LjkgOTAuM3MtOTkuOC0zOC44LTEwOS45LTkwLjN6bS41LTEwMS41QzI4MS4yIDIwNS41IDI5OSAxOTIgMzIwIDE5MnMzOC45IDEzLjUgNDUuNCAzMi4zYzIuOSA4LjQtNC41IDE1LjctMTMuNCAxNS43bC02NCAwYy04LjggMC0xNi4zLTcuNC0xMy40LTE1Ljd6TTQ4MCAyNDBsLTY0IDBjLTguOCAwLTE2LjMtNy40LTEzLjQtMTUuNyA2LjUtMTguOCAyNC40LTMyLjMgNDUuNC0zMi4zczM4LjkgMTMuNSA0NS40IDMyLjNjMi45IDguNC00LjUgMTUuNy0xMy40IDE1Ljd6Il19LHNTdD1UMGUsb1N0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcnQtcGx1cyIsaWNvbjpbNjQwLDUxMixbXSwiZjIxNyIsIk0wIDhDMC01LjMgMTAuNy0xNiAyNC0xNmw0NS4zIDBjMjcuMSAwIDUwLjMgMTkuNCA1NS4xIDQ2bC40IDIgNDEyLjcgMGMyMCAwIDM1LjEgMTguMiAzMS40IDM3LjlMNTM3LjggMjM1LjhjLTUuNyAzMC4zLTMyLjEgNTIuMi02Mi45IDUyLjJsLTMwMy42IDAgNS4xIDI4LjNjMi4xIDExLjQgMTIgMTkuNyAyMy42IDE5LjdMNDU2IDMzNmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjU1LjkgMGMtMzQuOCAwLTY0LjYtMjQuOS03MC44LTU5LjFMNzcuMiAzOC42Yy0uNy0zLjgtNC02LjYtNy45LTYuNkwyNCAzMkMxMC43IDMyIDAgMjEuMyAwIDh6TTE2MCA0NjRhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptMjI0IDBhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMzM2IDc4LjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMzMuNi0zMy42IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzMuNiAwIDAgMzMuNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzMuNiAzMy42IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMzLjYgMCAwLTMzLjZjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LHQ3PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzLWFzbC1pbnRlcnByZXRpbmciLGljb246WzY0MCw1MTIsWyJhbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZyIsImFzbC1pbnRlcnByZXRpbmciLCJoYW5kcy1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZyJdLCJmMmEzIiwiTTE1Ni42IDQ2LjNjNy45LTE1LjggMS41LTM1LTE0LjMtNDIuOXMtMzUtMS41LTQyLjkgMTQuM0wxMy41IDE4OS40QzQuNiAyMDcuMiAwIDIyNi44IDAgMjQ2LjdMMCAyNTZjMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhsODAgMCAwLS4zYzM1LjItMi43IDY1LjQtMjIuOCA4Mi4xLTUxLjcgOC44LTE1LjMgMy42LTM0LjktMTEuNy00My43cy0zNC45LTMuNi00My43IDExLjdjLTcgMTItMTkuOSAyMC0zNC43IDIwLTIyLjEgMC00MC0xNy45LTQwLTQwczE3LjktNDAgNDAtNDBjMTQuOCAwIDI3LjcgOCAzNC43IDIwIDguOCAxNS4zIDI4LjQgMjAuNSA0My43IDExLjdzMjAuNS0yOC40IDExLjctNDMuN2MtMTIuOC0yMi4xLTMzLjYtMzkuMS01OC40LTQ3LjFsODAuOC0yMmMxNy00LjYgMjcuMS0yMi4yIDIyLjUtMzkuM3MtMjIuMi0yNy4xLTM5LjMtMjIuNWwtMTAwLjcgMjcuNSA4MS42LTY4YzEzLjYtMTEuMyAxNS40LTMxLjUgNC4xLTQ1LjFTMjQ5LjEtMy45IDIzNS41IDcuNGwtMTAxLjkgODQuOSAyMy00NnpNNDgzLjQgNDY1LjdjLTcuOSAxNS44LTEuNSAzNSAxNC4zIDQyLjlzMzUgMS41IDQyLjktMTQuM2w4NS45LTE3MS43YzguOS0xNy44IDEzLjUtMzcuNCAxMy41LTU3LjJsMC05LjNjMC03MC43LTU3LjMtMTI4LTEyOC0xMjhsLTgwIDAgMCAuM2MtMzUuMiAyLjctNjUuNCAyMi44LTgyLjEgNTEuNy04LjkgMTUuMy0zLjYgMzQuOSAxMS43IDQzLjdzMzQuOSAzLjYgNDMuNy0xMS43YzctMTIgMTkuOS0yMCAzNC43LTIwIDIyLjEgMCA0MCAxNy45IDQwIDQwcy0xNy45IDQwLTQwIDQwYy0xNC44IDAtMjcuNy04LTM0LjctMjAtOC45LTE1LjMtMjguNC0yMC41LTQzLjctMTEuN3MtMjAuNSAyOC40LTExLjcgNDMuN2MxMi44IDIyLjEgMzMuNiAzOS4xIDU4LjQgNDcuMWwtODAuOCAyMmMtMTcuMSA0LjYtMjcuMSAyMi4yLTIyLjUgMzkuM3MyMi4yIDI3LjEgMzkuMyAyMi41bDEwMC43LTI3LjUtODEuNiA2OGMtMTMuNiAxMS4zLTE1LjQgMzEuNS00LjEgNDUuMXMzMS41IDE1LjQgNDUuMSA0LjFsMTAxLjktODQuOS0yMyA0NnoiXX0sblN0PXQ3LGxTdD10NyxjU3Q9dDcsZFN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxlLWNlbGxzLXJvdy11bmxvY2siLGljb246WzY0MCw1MTIsW10sImU2OTEiLCJNMjU2IDIyNGwwIDE5MiA2NCAwIDAtMTkyLTY0IDB6bTI1Ni03OWMtNDYuNyA1LjgtODUuNiAzNi44LTEwMi43IDc5bC0yNS4zIDAgMCA5MC44Yy0xMC4xIDE1LjItMTYgMzMuNC0xNiA1My4xbDAgOTZjMCA1LjUgLjUgMTAuOSAxLjMgMTYuMUwxMjggNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEw2NCA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDQ5ek0xMjggMjI0bDAgMTkyIDY0IDAgMC0xOTItNjQgMHptNDMyIDQ4Yy0uMS0xNy42LTE0LjQtMzEuOS0zMi0zMS45LTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDcuOSA5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODAgNDQuMiAwIDc5LjkgMzUuOCA4MCA3OS45bC00OCAweiJdfSxwU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9ja2V0IixpY29uOls1MTIsNTEyLFtdLCJmMTM1IiwiTTEyOCAzMjBMMjQuNSAzMjBjLTI0LjkgMC00MC4yLTI3LjEtMjcuNC00OC41TDUwIDE4My4zQzU4LjcgMTY4LjggNzQuMyAxNjAgOTEuMiAxNjBsOTUgMGM3Ni4xLTEyOC45IDE4OS42LTEzNS40IDI2NS41LTEyNC4zIDEyLjggMS45IDIyLjggMTEuOSAyNC42IDI0LjYgMTEuMSA3NS45IDQuNiAxODkuNC0xMjQuMyAyNjUuNWwwIDk1YzAgMTYuOS04LjggMzIuNS0yMy4zIDQxLjJsLTg4LjIgNTIuOWMtMjEuMyAxMi44LTQ4LjUtMi42LTQ4LjUtMjcuNEwxOTIgMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0uMSAwek00MDAgMTYwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6Il19LHVTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaHJpbXAiLGljb246WzUxMiw1MTIsWzEyOTQyNF0sImU0NDgiLCJNNzIgMzJDMzIuMiAzMiAwIDY0LjIgMCAxMDQgMCAxNDEuOSAyOS4zIDE3Mi45IDY2LjQgMTc1LjggNzcuNiAyNTcuMiAxNDcuNCAzMjAgMjMyIDMyMGw1NiAwIDAtMTkyLTIxNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNFM1OC43IDgwIDcyIDgwbDM4NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDcyIDMyek0yMjQgNDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDcyIDAgMC03Mi4yLTY0LjEtMjIuNGMtMTIuNS00LjQtMjYuMiAyLjItMzAuNiAxNC43czIuMiAyNi4yIDE0LjcgMzAuNmw0LjUgMS42QzIzMyA0MzMuOSAyMjQgNDQzLjkgMjI0IDQ1NnptMTI4IDIzLjNjMzYuNC0zLjMgNjkuNS0xNy42IDk2LjEtMzkuNmwtODYuNS0zNC42Yy0zIDEuOC02LjIgMy4yLTkuNiA0LjNsMCA2OS45ek00NzIuNiA0MTVjMjQuNi0zMC4zIDM5LjQtNjguOSAzOS40LTExMSAwLTEyLjMtMS4zLTI0LjMtMy43LTM1LjlMMzgyLjggMzU1LjFjLjggMy40IDEuMiA3IDEuMiAxMC42IDAgNC42LS43IDktMS45IDEzLjFMNDcyLjYgNDE1ek0zMzYgMTI4bC0xNiAwIDAgMTkyIDE4LjMgMGM5LjkgMCAxOS4xIDMuMiAyNi42IDguNWwxMzMuNS05Mi40QzQ3MS44IDE3Mi42IDQwOS4xIDEyOCAzMzYgMTI4ek0xNjggMTkyYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6Il19LEwwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW5nZS1zaWduIixpY29uOlszODQsNTEyLFs4Mzc2LCJ0ZW5nZSJdLCJmN2Q3IiwiTTAgNTZDMCA0Mi43IDEwLjcgMzIgMjQgMzJsMzM2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgODBDMTAuNyA4MCAwIDY5LjMgMCA1NnpNMCAxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEyOCAwIDAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMjU2LTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnoiXX0sZlN0PUwwZSwkMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY2hpbW5leS1tZWRpY2FsIixpY29uOls1MTIsNTEyLFsiY2xpbmljLW1lZGljYWwiXSwiZjdmMiIsIk0yMzQuMiA4LjZjMTIuMy0xMS40IDMxLjMtMTEuNCA0My41IDBMMzY4IDkyLjMgMzY4IDgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMDEuNSAzNy44IDM1LjFjOS42IDkgMTIuOCAyMi45IDggMzUuMVM0OTMuMiAyNzIgNDgwIDI3MmwtMTYgMCAwIDE3NmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMjg4IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOHpNMjI0IDI0OGwwIDQwLTQwIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0MCAwIDAgNDBjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNDAgNDAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQwIDAgMC00MGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnoiXX0saFN0PSQwZSxtU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlcnMtc2xhc2giLGljb246WzY0MCw1MTIsW10sImUwNzMiLCJNNzMtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTMjkuNy0uMyAzOSA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMMzIxLjggMjI0YzU2LjYtMSAxMDIuMi00Ny4yIDEwMi4yLTEwNCAwLTU3LjQtNDYuNi0xMDQtMTA0LTEwNC01Ni44IDAtMTAzIDQ1LjYtMTA0IDEwMi4yTDczLTI0Ljl6TTUxMiAyODhjLTE3LjIgMC0zMy43IDMuNC00OC43IDkuNmwxNzAgMTcwYzQuMi01LjQgNi43LTEyLjIgNi43LTE5LjZsMC0zMmMwLTcwLjctNTcuMy0xMjgtMTI4LTEyOHpNNTkuOSA5Ny43Yy0yMS41IDEyLjUtMzUuOSAzNS43LTM1LjkgNjIuMyAwIDM5LjggMzIuMiA3MiA3MiA3MiAyNi42IDAgNDkuOC0xNC40IDYyLjMtMzUuOUw1OS45IDk3Ljd6TTI1MC4yIDI4OEMxOTYuOCAzMTMuOSAxNjAgMzY4LjcgMTYwIDQzMmwwIDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI1MC4yIDAtMTkyLTE5MnpNMTI4IDI4OEM1Ny4zIDI4OCAwIDM0NS4zIDAgNDE2bDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsODYuNyAwYy00LjMtOS44LTYuNy0yMC42LTYuNy0zMmwwLTE2YzAtNTMuMiAyMC0xMDEuOCA1Mi45LTEzOC42LTExLjctMy41LTI0LjEtNS40LTM2LjktNS40ek02MTYgMTYwYTcyIDcyIDAgMSAwIC0xNDQgMCA3MiA3MiAwIDEgMCAxNDQgMHoiXX0sZ1N0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhcGVyLXBsYW5lIixpY29uOls1NzYsNTEyLFs2MTkxM10sImYxZDgiLCJNNTM2LjQtMjYuM2M5LjgtMy41IDIwLjYtMSAyOCA2LjNzOS44IDE4LjIgNi4zIDI4bC0xNzggNDk2LjljLTUgMTMuOS0xOC4xIDIzLjEtMzIuOCAyMy4xLTE0LjIgMC0yNy04LjYtMzIuMy0yMS43bC02NC4yLTE1OGMtNC41LTExLTIuNS0yMy42IDUuMi0zMi42bDk0LjUtMTEyLjRjNS4xLTYuMSA0LjctMTUtLjktMjAuNnMtMTQuNi02LTIwLjYtLjlMMjI5LjIgMjc2LjFjLTkuMSA3LjYtMjEuNiA5LjYtMzIuNiA1LjJMMzguMSAyMTYuOGMtMTMuMS01LjMtMjEuNy0xOC4xLTIxLjctMzIuMyAwLTE0LjcgOS4yLTI3LjggMjMuMS0zMi44bDQ5Ni45LTE3OHoiXX0sRDBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stYXRsYXMiLGljb246WzQ0OCw1MTIsWyJhdGxhcyJdLCJmNTU4IiwiTTk2IDUxMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTY2LjdjMTguNi02LjYgMzItMjQuNCAzMi00NS4zbDAtMjg4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDk2IDBDNDMgMCAwIDQzIDAgOTZMMCA0MTZjMCA1MyA0MyA5NiA5NiA5NnpNNjQgNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDI1NiAwIDAgNjQtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0zMTAuNiAyMDhMMjc5IDIwOGMtMS40IDIzLjEtNiA0NC4yLTEyLjYgNjEuMiAyMi43LTEyLjUgMzkuNC0zNC44IDQ0LjItNjEuMnptLTE3My4xIDBjNC44IDI2LjQgMjEuNSA0OC43IDQ0LjIgNjEuMi02LjctMTctMTEuMi0zOC0xMi42LTYxLjJsLTMxLjYgMHptNzYuNCA1NWM0LjUgOS42IDguMiAxMy44IDEwLjIgMTUuNSAyLTEuNyA1LjctNS44IDEwLjItMTUuNSA2LjItMTMuNCAxMS4xLTMyLjUgMTIuNy01NWwtNDUuOCAwYzEuNiAyMi41IDYuNSA0MS42IDEyLjcgNTV6bS0xMi43LTg3bDQ1LjggMGMtMS42LTIyLjUtNi41LTQxLjYtMTIuNy01NS00LjUtOS42LTguMi0xMy44LTEwLjItMTUuNS0yIDEuNy01LjcgNS44LTEwLjIgMTUuNS02LjIgMTMuNC0xMS4xIDMyLjUtMTIuNyA1NXptMTA5LjUgMGMtNC44LTI2LjQtMjEuNS00OC43LTQ0LjItNjEuMiA2LjcgMTcgMTEuMiAzOCAxMi42IDYxLjJsMzEuNiAwek0xNjkgMTc2YzEuNC0yMy4xIDYtNDQuMiAxMi42LTYxLjItMjIuNyAxMi41LTM5LjQgMzQuOC00NC4yIDYxLjJsMzEuNiAwek05NiAxOTJhMTI4IDEyOCAwIDEgMSAyNTYgMCAxMjggMTI4IDAgMSAxIC0yNTYgMHoiXX0sYlN0PUQwZSx2U3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGUiLGljb246WzQ0OCw1MTIsW10sImYwY2UiLCJNMzg0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0bC0zMjAgMC02LjUtLjNDMjUuMiA0NzYuNCAwIDQ0OS4xIDAgNDE2TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDB6TTY0IDMyMGwwIDk2IDEyOCAwIDAtOTYtMTI4IDB6bTE5MiAwbDAgOTYgMTI4IDAgMC05Ni0xMjggMHpNNjQgMjU2bDEyOCAwIDAtOTYtMTI4IDAgMCA5NnptMTkyIDBsMTI4IDAgMC05Ni0xMjggMCAwIDk2eiJdfSx4U3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQiLGljb246WzUxMiw1MTIsWzEyODE1MywxMjgxNTQsMTI4MTU1LDEyODE1NiwxMjg0MjAsMTI5MjkzLDEyOTI5NCwxMjk1MDUsOTgyOSwxMDA4NCw2MTU3OF0sImYwMDQiLCJNMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43QzI5NiA1Mi41IDMzNi4yIDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDExMi4yLTEzOS45IDI0Mi41LTIxMi45IDI5OC4yLTEyLjQgOS40LTI3LjYgMTQuMS00My4xIDE0LjFzLTMwLjgtNC42LTQzLjEtMTQuMUMxMzkuOSA0MTAuMiAwIDI3OS45IDAgMTY3LjdsMC0yLjZDMCA5MS42IDU5LjYgMzIgMTMzLjEgMzIgMTc1LjggMzIgMjE2IDUyLjUgMjQxIDg3LjF6Il19LEEwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtY2hldnJvbi11cCIsaWNvbjpbNTEyLDUxMixbImNoZXZyb24tY2lyY2xlLXVwIl0sImYxMzkiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM3NyAyNzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtODctODctODcgODdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMjM5IDE2N2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwzNzcgMjcxeiJdfSx5U3Q9QTBlLFAwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXR0ZXJ5LWhhbGYiLGljb246WzY0MCw1MTIsWyJiYXR0ZXJ5LTMiXSwiZjI0MiIsIk01MjggMTI4YzguOCAwIDE2IDcuMiAxNiAxNmwwIDIyNGMwIDguOC03LjIgMTYtMTYgMTZsLTQxNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yMjRjMC04LjggNy4yLTE2IDE2LTE2bDQxNiAwek0xMTIgNjRjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMjI0YzAgNDQuMiAzNS44IDgwIDgwIDgwbDQxNiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtNDhjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwwLTQ4YzAtNDQuMi0zNS44LTgwLTgwLTgwTDExMiA2NHptNTYgMTEyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LHdTdD1QMGUsYVk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9udC1hd2Vzb21lIixpY29uOls1MTIsNTEyLFs2MjUwMSw2MjY5NCwiZm9udC1hd2Vzb21lLWZsYWciLCJmb250LWF3ZXNvbWUtbG9nby1mdWxsIl0sImYyYjQiLCJNOTEuNyA5NkMxMDYuMyA4Ni44IDExNiA3MC41IDExNiA1MiAxMTYgMjMuMyA5Mi43IDAgNjQgMFMxMiAyMy4zIDEyIDUyYzAgMTYuNyA3LjggMzEuNSAyMCA0MWwwIDQxOSA2NCAwIDAtNjQgMzczLjYgMGMxNC42IDAgMjYuNC0xMS44IDI2LjQtMjYuNCAwLTMuNy0uOC03LjMtMi4zLTEwLjdMNDMyIDI3MiA0OTMuNyAxMzMuMWMxLjUtMy40IDIuMy03IDIuMy0xMC43IDAtMTQuNi0xMS44LTI2LjQtMjYuNC0yNi40TDkxLjcgOTZ6Il19LE1TdD1hWSxrU3Q9YVkselN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRjdWZmcyIsaWNvbjpbNTc2LDUxMixbXSwiZTRmOCIsIk0zMjAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzIgMTQuMyAzMiAzMiAzMiAzMi0xNC4zIDMyLTMyek0xOTIgNjRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0xNTIgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTZjMCAxIC4xIDEuOSAuMiAyLjktNzQuNyAyNi4zLTEyOC4yIDk3LjUtMTI4LjIgMTgxLjEgMCAxMDYgODYgMTkyIDE5MiAxOTJzMTkyLTg2IDE5Mi0xOTJjMC04My43LTUzLjUtMTU0LjgtMTI4LjItMTgxLjEgLjEtLjkgLjItMS45IC4yLTIuOWwwLTE2YzAtMTMuMy0xMC43LTI0LTI0LTI0bC04MCAwek02NCAzMjBhMTI4IDEyOCAwIDEgMSAyNTYgMCAxMjggMTI4IDAgMSAxIC0yNTYgMHptNDQ4IDBjMCA2Ni45LTUxLjMgMTIxLjgtMTE2LjYgMTI3LjUtMTQuMyAyMi44LTMyLjQgNDMuMS01My40IDU5LjkgMTMuNSAzIDI3LjYgNC42IDQyIDQuNiAxMDYgMCAxOTItODYgMTkyLTE5MiAwLTgzLjctNTMuNS0xNTQuOC0xMjguMi0xODEuMSAuMS0uOSAuMi0xLjkgLjItMi45bDAtMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTgwIDBjLTEyLjMgMC0yMi40IDkuMi0yMy44IDIxLjEgMzAuMyAxOS4yIDU2LjEgNDUgNzUuMiA3NS40IDY1LjQgNS44IDExNi42IDYwLjYgMTE2LjYgMTI3LjV6TTM4NCA2NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LFNTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYXQtY293Ym95LXNpZGUiLGljb246WzY0MCw1MTIsW10sImY4YzEiLCJNNjQwIDM4OC4zYzAgMTYuOS03LjEgMzIuMi0xOC40IDQzLjFsLTM1LTIzLjMtMjkyLjctMTk1LjFjLTM2LjEtMjQuMS03OC42LTM2LjktMTIyLTM2LjlsLTMuOSAwYy0yLjcgMC01LjQgMC04IC4xbDIyLjItMTAwYzUuNy0yNS44IDI4LjYtNDQuMSA1NS00NC4xIDEyLjIgMCAyNC4xIDQgMzMuOCAxMS4zbDQuNyAzLjVjMjYuMyAxOS43IDYyLjQgMTkuNyA4OC42IDBsNC43LTMuNWM5LjgtNy4zIDIxLjYtMTEuMyAzMy44LTExLjMgMjYuNCAwIDQ5LjMgMTguMyA1NSA0NC4xbDMzIDE0OC41QzU3NC41IDIzMi4zIDY0MCAzMDIuNiA2NDAgMzg4LjN6TTE3MS45IDIyNGMzMy45IDAgNjcuMSAxMCA5NS40IDI4LjlMNTYwIDQ0OCA1NiA0NDhjLTMwLjkgMC01Ni0yNS4xLTU2LTU2IDAtOTIuOCA3NS4yLTE2OCAxNjgtMTY4bDMuOSAweiJdfSxDU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaW5kdXN0cnkiLGljb246WzUxMiw1MTIsW10sImYyNzUiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0MTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTI3OS44YzAtMTguMi0xOS40LTI5LjctMzUuNC0yMS4xbC0xNTYuNiA4NC4zIDAtNjMuMmMwLTE4LjItMTkuNC0yOS43LTM1LjQtMjEuMUwxMjggMjE1LjQgMTI4IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDMyeiJdfSxfU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGluZXMtbGVhbmluZyIsaWNvbjpbMzg0LDUxMixbXSwiZTUxZSIsIk0xOTAuNCA3NC4xYzUuNi0xNi44LTMuNS0zNC45LTIwLjItNDAuNXMtMzQuOSAzLjUtNDAuNSAyMC4ybC0xMjggMzg0Yy01LjYgMTYuOCAzLjUgMzQuOSAyMC4yIDQwLjVzMzQuOS0zLjUgNDAuNS0yMC4ybDEyOC0zODR6bTcwLjktNDEuN2MtMTcuNC0yLjktMzMuOSA4LjktMzYuOCAyNi4zbC02NCAzODRjLTIuOSAxNy40IDguOSAzMy45IDI2LjMgMzYuOHMzMy45LTguOSAzNi44LTI2LjNsNjQtMzg0YzIuOS0xNy40LTguOS0zMy45LTI2LjMtMzYuOHpNMzUyIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDM4NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzg0YzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSxUU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGFzc3BvcnQiLGljb246WzM4NCw1MTIsW10sImY1YWIiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek05NiA0MDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHpNMjc4LjYgMjA4Yy00LjggMjYuNC0yMS41IDQ4LjctNDQuMiA2MS4yIDYuNy0xNyAxMS4yLTM4IDEyLjYtNjEuMmwzMS42IDB6bS0xNzMuMSAwbDMxLjYgMGMxLjQgMjMuMSA2IDQ0LjIgMTIuNiA2MS4yLTIyLjctMTIuNS0zOS40LTM0LjgtNDQuMi02MS4yem03Ni40IDU1Yy02LjItMTMuNC0xMS4xLTMyLjUtMTIuNy01NWw0NS44IDBjLTEuNiAyMi41LTYuNSA0MS42LTEyLjcgNTUtNC41IDkuNi04LjIgMTMuOC0xMC4yIDE1LjUtMi0xLjctNS43LTUuOC0xMC4yLTE1LjV6bTAtMTQyYzQuNS05LjYgOC4yLTEzLjggMTAuMi0xNS41IDIgMS43IDUuNyA1LjggMTAuMiAxNS41IDYuMiAxMy40IDExLjEgMzIuNSAxMi43IDU1bC00NS44IDBjMS42LTIyLjUgNi41LTQxLjYgMTIuNy01NXptOTYuNyA1NUwyNDcgMTc2Yy0xLjQtMjMuMS02LTQ0LjItMTIuNi02MS4yIDIyLjcgMTIuNSAzOS40IDM0LjggNDQuMiA2MS4yek0xMzcgMTc2bC0zMS42IDBjNC44LTI2LjQgMjEuNS00OC43IDQ0LjItNjEuMi02LjcgMTctMTEuMiAzOC0xMi42IDYxLjJ6bTE4MyAxNmExMjggMTI4IDAgMSAwIC0yNTYgMCAxMjggMTI4IDAgMSAwIDI1NiAweiJdfSxMU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaW5maW5pdHkiLGljb246WzY0MCw1MTIsWzg3MzQsOTg1NF0sImY1MzQiLCJNMCAyNTZjMC04OC40IDcxLjYtMTYwIDE2MC0xNjAgNTAuNCAwIDk3LjggMjMuNyAxMjggNjRsMzIgNDIuNyAzMi00Mi43YzMwLjItNDAuMyA3Ny42LTY0IDEyOC02NCA4OC40IDAgMTYwIDcxLjYgMTYwIDE2MFM1NjguNCA0MTYgNDgwIDQxNmMtNTAuNCAwLTk3LjgtMjMuNy0xMjgtNjRsLTMyLTQyLjctMzIgNDIuN2MtMzAuMiA0MC4zLTc3LjYgNjQtMTI4IDY0LTg4LjQgMC0xNjAtNzEuNi0xNjAtMTYwem0yODAgMGwtNDMuMi01Ny42Yy0xOC4xLTI0LjItNDYuNi0zOC40LTc2LjgtMzguNC01MyAwLTk2IDQzLTk2IDk2czQzIDk2IDk2IDk2YzMwLjIgMCA1OC43LTE0LjIgNzYuOC0zOC40TDI4MCAyNTZ6bTgwIDBsNDMuMiA1Ny42YzE4LjEgMjQuMiA0Ni42IDM4LjQgNzYuOCAzOC40IDUzIDAgOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2Yy0zMC4yIDAtNTguNyAxNC4yLTc2LjggMzguNEwzNjAgMjU2eiJdfSwkU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvbmUiLGljb246WzUxMiw1MTIsW10sImYyNGQiLCJNMjg4IDQ0OGwtMjI0IDAgMC0yMjQgNDggMCAwLTY0LTQ4IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDIyNCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNDgtNjQgMCAwIDQ4em0tNjQtOTZsMjI0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMMjI0IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMjI0YzAgMzUuMyAyOC43IDY0IDY0IDY0eiJdfSxEU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9yd2FyZCIsaWNvbjpbNTc2LDUxMixbOTE5M10sImYwNGUiLCJNMzcxLjcgNDMuMUMzNjAuMSAzMiAzNDMgMjguOSAzMjguMyAzNS4yUzMwNCA1NiAzMDQgNzJsMCAxMzYuMy0xNzIuMy0xNjUuMUMxMjAuMSAzMiAxMDMgMjguOSA4OC4zIDM1LjJTNjQgNTYgNjQgNzJsMCAzNjhjMCAxNiA5LjYgMzAuNSAyNC4zIDM2LjhzMzEuOCAzLjIgNDMuNC03LjlMMzA0IDMwMy43IDMwNCA0NDBjMCAxNiA5LjYgMzAuNSAyNC4zIDM2LjhzMzEuOCAzLjIgNDMuNC03LjlsMTkyLTE4NGM3LjktNy41IDEyLjMtMTggMTIuMy0yOC45cy00LjUtMjEuMy0xMi4zLTI4LjlsLTE5Mi0xODR6Il19LEFTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtIixpY29uOls0NDgsNTEyLFsxMDldLCI0ZCIsIk0yMi43IDMzLjRjMTMuNS00LjEgMjguMSAxLjEgMzUuOSAxMi45TDIyNCAyOTQuMyAzODkuNCA0Ni4zYzcuOC0xMS43IDIyLjQtMTcgMzUuOS0xMi45UzQ0OCA0OS45IDQ0OCA2NGwwIDM4NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI3OC4zLTEzMy40IDIwMC4xYy01LjkgOC45LTE1LjkgMTQuMi0yNi42IDE0LjJzLTIwLjctNS4zLTI2LjYtMTQuMkw2NCAxNjkuNyA2NCA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0NjUuNyAwIDQ0OEwwIDY0QzAgNDkuOSA5LjIgMzcuNSAyMi43IDMzLjR6Il19LFBTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb2FkLXNwaWtlcyIsaWNvbjpbNjQwLDUxMixbXSwiZTU2OCIsIk02NCAxMTYuOGMwLTE1LjggMjAuNS0yMiAyOS4zLTguOWw5OC43IDE0OCAwLTEzOS4yYzAtMTUuOCAyMC41LTIyIDI5LjMtOC45bDk4LjcgMTQ4IDAtMTM5LjJjMC0xNS44IDIwLjUtMjIgMjkuMy04LjlsOTguNyAxNDggMC0xMzkuMmMwLTE1LjggMjAuNS0yMiAyOS4zLTguOUw2MDYuOCAzMDIuMmMxNC4yIDIxLjMtMS4xIDQ5LjgtMjYuNiA0OS44TDY0IDM1MiA2NCAxMTYuOHpNMzIgMzg0bDU3NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnoiXX0sRVN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vdW50YWluIixpY29uOls1MTIsNTEyLFsxMjc5NTZdLCJmNmZjIiwiTTI1Ni41IDBjMTQuNyAwIDI4LjIgOC4xIDM1LjIgMjFsMjE2IDQwMGM2LjcgMTIuNCA2LjQgMjcuNC0uOCAzOS41LTcuMiAxMi4xLTIwLjMgMTkuNS0zNC4zIDE5LjVsLTQzMiAwYy0xNC4xIDAtMjcuMS03LjQtMzQuMy0xOS41cy03LjUtMjcuMS0uOC0zOS41bDIxNi00MDAgMi45LTQuNkMyMzEuNyA2LjIgMjQzLjYgMCAyNTYuNSAwek0xNzAuNCAyNDkuOWwyNi44IDI2LjhjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNDMuMy00My4zYzYtNiAxNC4xLTkuNCAyMi42LTkuNGw0Mi44IDAtNzIuMS0xMzMuNS04Ni4xIDE1OS40eiJdfSxJU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlc3MiLGljb246WzUxMiw1MTIsW10sImY0MzkiLCJNMTY4IDU2bDAgNDAtNzguMSAwYy0xNC4zIDAtMjUuOSAxMS42LTI1LjkgMjUuOSAwIDQgLjkgOCAyLjcgMTEuNmwzMy40IDY2LjhjLTExLjQgMS44LTIwLjIgMTEuNy0yMC4yIDIzLjcgMCAxMy4zIDEwLjcgMjQgMjQgMjRsNS42IDAtMTMuNiAxMzYtNTYuMiA3MC4zYy01IDYuMy03LjggMTQuMS03LjggMjIuMiAwIDE5LjYgMTUuOSAzNS41IDM1LjUgMzUuNWwyNDguOSAwYzE5LjYgMCAzNS41LTE1LjkgMzUuNS0zNS41IDAtOC4xLTIuNy0xNS45LTcuOC0yMi4yTDI4OCAzODQgMjc0LjQgMjQ4IDI4MCAyNDhjMTMuMyAwIDI0LTEwLjcgMjQtMjQgMC0xMS45LTguNy0yMS45LTIwLjItMjMuN2wzMy40LTY2LjhjMS44LTMuNiAyLjctNy42IDIuNy0xMS42IDAtMTQuMy0xMS42LTI1LjktMjUuOS0yNS45bC03OC4xIDAgMC00MCAxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0UzI0NS4zIDggMjMyIDhsLTE2IDAgMC0xNmMwLTEzLjMtMTAuNy0yNC0yNC0yNFMxNjgtMjEuMyAxNjgtOGwwIDE2LTE2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTYgMHpNMzI1LjggMjc5LjZsOC41IDg1LjUgNDcuNCA1OS4yIDQuMiA1LjdjOS4yIDEzLjcgMTQuMSAyOS45IDE0LjEgNDYuNSAwIDEyLjctMi44IDI0LjgtNy45IDM1LjVsODMuMSAwYzIwLjMgMCAzNi44LTE2LjUgMzYuOC0zNi44IDAtNy4zLTIuMi0xNC40LTYuMi0yMC40bC0yNS44LTM4LjcgMC02NCAxMy4zLTEzLjNjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0w1MTIgMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTYtMzIgMCAwLTE2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzJjMCAyMi40LTEwLjIgNDIuNC0yNi4yIDU1LjZ6Il19LGE3PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbXBlcmF0dXJlLXRocmVlLXF1YXJ0ZXJzIixpY29uOlszMjAsNTEyLFsidGVtcGVyYXR1cmUtMyIsInRoZXJtb21ldGVyLTMiLCJ0aGVybW9tZXRlci10aHJlZS1xdWFydGVycyJdLCJmMmM4IiwiTTE2MCAwQzEwNyAwIDY0IDQzIDY0IDk2bDAgMTY0LjdDMzQuNSAyODcgMTYgMzI1LjQgMTYgMzY4IDE2IDQ0Ny41IDgwLjUgNTEyIDE2MCA1MTJzMTQ0LTY0LjUgMTQ0LTE0NGMwLTQyLjYtMTguNS04MS00OC0xMDcuM0wyNTYgOTZjMC01My00My05Ni05Ni05NnptNjQgMzY4YzAgMzUuMy0yOC43IDY0LTY0IDY0cy02NC0yOC43LTY0LTY0YzAtMjYuOSAxNi41LTQ5LjkgNDAtNTkuM0wxMzYgMTUyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxNTYuN2MyMy41IDkuNSA0MCAzMi41IDQwIDU5LjN6Il19LE5TdD1hNyxSU3Q9YTcsRlN0PWE3LE9TdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiIixpY29uOlszMjAsNTEyLFs5OF0sIjQyIiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjggMC00Ni41LTI0LjgtODcuMy02Mi0xMDkuNyAxOC43LTIyLjMgMzAtNTEgMzAtODIuMyAwLTcwLjctNTcuMy0xMjgtMTI4LTEyOEwzMiAzMnpNMTYwIDIyNGwtOTYgMCAwLTEyOCA5NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0ek02NCAyODhsMTI4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRsLTEyOCAwIDAtMTI4eiJdfSxCU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hpZWxkLXZpcnVzIixpY29uOls1MTIsNTEyLFtdLCJlMDZjIiwiTTI1My40IDIuOUMyNDkuMiAxIDI0NC43IDAgMjQwIDBzLTkuMiAxLTEzLjQgMi45TDM4LjMgODIuOGMtMjIgOS4zLTM4LjQgMzEtMzguMyA1Ny4yIC41IDk5LjIgNDEuMyAyODAuNyAyMTMuNiAzNjMuMiAxNi43IDggMzYuMSA4IDUyLjggMCAxNzIuNC04Mi41IDIxMy4yLTI2NCAyMTMuNi0zNjMuMiAuMS0yNi4yLTE2LjMtNDcuOS0zOC4zLTU3LjJMMjUzLjQgMi45ek0yNDAgMTI4YzEzLjMgMCAyNCAxMC43IDI0IDI0IDAgMjIuOSAyNy43IDM0LjQgNDMuOSAxOC4yIDkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWMtMTYuMiAxNi4yLTQuNyA0My45IDE4LjIgNDMuOSAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMjIuOSAwLTM0LjQgMjcuNy0xOC4yIDQzLjkgOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGMtMTYuMi0xNi4yLTQzLjktNC43LTQzLjkgMTguMiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTIyLjktMjcuNy0zNC40LTQzLjktMTguMi05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45YzE2LjItMTYuMiA0LjctNDMuOS0xOC4yLTQzLjktMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMyMi45IDAgMzQuNC0yNy43IDE4LjItNDMuOS05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBjMTYuMiAxNi4yIDQzLjkgNC43IDQzLjktMTguMiAwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMjA4IDI2NGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTg4IDQwYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6Il19LEhTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsaXRlY29pbi1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMWQzIiwiTTEyOCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMlM2NCA0Ni4zIDY0IDY0bDAgMTU3LjktMzguNiAxMWMtMTIuNyAzLjYtMjAuMSAxNi45LTE2LjUgMjkuN3MxNi45IDIwLjEgMjkuNyAxNi41TDY0IDI3MS44IDY0IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyNTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjI0IDAgMC0xNjIuNSAxMzQuNi0zOC41YzEyLjctMy42IDIwLjEtMTYuOSAxNi41LTI5LjdzLTE2LjktMjAuMS0yOS43LTE2LjVMMTI4IDIwMy42IDEyOCA2NHoiXX0scVN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpY2UtZDYiLGljb246WzUxMiw1MTIsW10sImY2ZDEiLCJNMjI0LjQgOC4zQzI0NC0yLjggMjY4LTIuOCAyODcuNiA4LjNsMTc2IDk5LjdjMjAgMTEuNCAzMi40IDMyLjYgMzIuNCA1NS43bDAgMTk3LjRjMCAyMy0xMi40IDQ0LjMtMzIuNCA1NS43bC0xNzYgOTkuN2MtMTkuNiAxMS4xLTQzLjYgMTEuMS02My4xIDBsLTE3Ni05OS43QzI4LjQgNDA1LjUgMTYgMzg0LjIgMTYgMzYxLjJsMC0xOTcuNGMwLTIzIDEyLjQtNDQuMyAzMi40LTU1LjdsMTc2LTk5Ljd6TTEwMi42IDE1NS42Yy04LjgtMy4xLTE4LjggLjMtMjMuOCA4LjZzLTMuMiAxOC43IDMuNiAyNWwzLjIgMi40IDE1MC4yIDkwLjIgMCAxNDguN2MwIDExIDkgMjAgMjAgMjAgMTEgMCAyMC05IDIwLTIwbDAtMTQ4LjcgMTUwLjMtOTAuMmM5LjUtNS43IDEyLjYtMTggNi45LTI3LjRzLTE4LTEyLjUtMjcuNC02LjlsLTE0OS43IDg5LjgtMTQ5LjctODkuOC0zLjctMS43eiJdfSxWU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3JpcC1saW5lcy12ZXJ0aWNhbCIsaWNvbjpbMTkyLDUxMixbXSwiZjdhNSIsIk02NCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyTDY0IDY0em0xMjggMGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDM4NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzg0eiJdfSxFMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ29sZi1iYWxsLXRlZSIsaWNvbjpbMzg0LDUxMixbImdvbGYtYmFsbCJdLCJmNDUwIiwiTTI5OC41IDM4NC4xYzEyLjEgMS4yIDIxLjUgMTEuNSAyMS41IDIzLjlzLTkuNCAyMi42LTIxLjUgMjMuOWwtMi41IC4xLTgwIDAgMCA4OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTg4LTgwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0IDAtMTIuNCA5LjQtMjIuNiAyMS41LTIzLjlsMi41LS4xIDIwOCAwIDIuNSAuMXpNMTkyIDBjMTA2IDAgMTkyIDg2IDE5MiAxOTIgMCA1Ny40LTI1LjIgMTA4LjgtNjUuMSAxNDRMNjUuMSAzMzZDMjUuMiAzMDAuOCAwIDI0OS40IDAgMTkyIDAgODYgODYgMCAxOTIgMHptMzIgMjQwYy03LjcgMC0xNC4yIDUuNS0xNS43IDEyLjhsLS42IDYuNGMtMS4zIDYuMy02LjIgMTEuMi0xMi41IDEyLjVsLTYuNCAuNmMtNy4zIDEuNS0xMi44IDgtMTIuOCAxNS43IDAgOC44IDcuMiAxNiAxNiAxNiAyNi41IDAgNDgtMjEuNSA0OC00OCAwLTguOC03LjItMTYtMTYtMTZ6bTY0LTY0Yy03LjcgMC0xNC4yIDUuNS0xNS43IDEyLjhsLS42IDYuNGMtMS4zIDYuMy02LjIgMTEuMi0xMi41IDEyLjVsLTYuNCAuNmMtNy4zIDEuNS0xMi44IDgtMTIuOCAxNS43IDAgOC44IDcuMiAxNiAxNiAxNiAyNi41IDAgNDgtMjEuNSA0OC00OCAwLTguOC03LjItMTYtMTYtMTZ6bS04MC0xNmMtNy43IDAtMTQuMiA1LjUtMTUuNyAxMi44bC0uNiA2LjRjLTEuMyA2LjMtNi4yIDExLjItMTIuNSAxMi41bC02LjQgLjZjLTcuMyAxLjUtMTIuOCA4LTEyLjggMTUuNyAwIDguOCA3LjIgMTYgMTYgMTYgMjYuNSAwIDQ4LTIxLjUgNDgtNDggMC04LjgtNy4yLTE2LTE2LTE2eiJdfSxqU3Q9RTBlLFVTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZXhhZ29uIixpY29uOls1NzYsNTEyLFsxMTA0M10sImYzMTIiLCJNMzMuNSAyMjAuM2MtMTIuNyAyMi4yLTEyLjcgNDkuNCAwIDcxLjVsOTYuMiAxNjguMWMxMi44IDIyLjQgMzYuNyAzNi4yIDYyLjUgMzYuMmwxOTEuNiAwYzI1LjggMCA0OS43LTEzLjggNjIuNS0zNi4ybDk2LjItMTY4LjFjMTIuNy0yMi4yIDEyLjctNDkuNCAwLTcxLjVMNDQ2LjMgNTIuMkM0MzMuNSAyOS44IDQwOS42IDE2IDM4My44IDE2TDE5Mi4yIDE2Yy0yNS44IDAtNDkuNyAxMy44LTYyLjUgMzYuMkwzMy41IDIyMC4zeiJdfSxXU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9sZGVyLW9wZW4iLGljb246WzU3Niw1MTIsWzEyODE5NCwxMjg0NDksNjE3MTddLCJmMDdjIiwiTTU2IDIyNS42TDMyLjQgMjk2LjIgMzIuNCA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwxMzguNyAwYzEzLjggMCAyNy4zIDQuNSAzOC40IDEyLjhsMzguNCAyOC44YzUuNSA0LjIgMTIuMyA2LjQgMTkuMiA2LjRsMTE3LjMgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE2LTM2NS40IDBjLTQxLjMgMC03OCAyNi40LTkxLjEgNjUuNnpNNDc3LjggNDQ4TDk5IDQ0OGMtMzIuOCAwLTU1LjktMzIuMS00NS41LTYzLjJsNDgtMTQ0QzEwOCAyMjEuMiAxMjYuNCAyMDggMTQ3IDIwOGwzNzguOCAwYzMyLjggMCA1NS45IDMyLjEgNDUuNSA2My4ybC00OCAxNDRjLTYuNSAxOS42LTI0LjkgMzIuOC00NS41IDMyLjh6Il19LEdTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJrYWFiYSIsaWNvbjpbNTEyLDUxMixbMTI4MzMxXSwiZjY2YiIsIk0yNTYgNTEuM0w5Mi44IDExMi40IDI0Ny41IDE3MS4xYzUuNSAyLjEgMTEuNSAyLjEgMTcgMEw0MTkuMiAxMTIuNCAyNTYgNTEuM3pNMCAxMjkuM2MwLTIwIDEyLjQtMzcuOSAzMS4xLTQ0LjlsMjA4LTc4YzEwLjktNC4xIDIyLjgtNC4xIDMzLjcgMGwyMDggNzhjMTguNyA3IDMxLjEgMjQuOSAzMS4xIDQ0LjlsMCAzNi0yNTMuMiA5NmMtMS44IC43LTMuOCAuNy01LjcgMGwtMjUzLjItOTYgMC0zNnptMCAxNDBsMC01Mi43IDIzNi4xIDg5LjZjMTIuOCA0LjkgMjYuOSA0LjkgMzkuNyAwbDIzNi4xLTg5LjYgMCA1Mi43LTEyOCA0OC42IDAgNTEuMyAxMjgtNDguNiAwIDYyLjJjMCAyMC0xMi40IDM3LjktMzEuMSA0NC45bC0yMDggNzhjLTEwLjkgNC4xLTIyLjggNC4xLTMzLjcgMGwtMjA4LTc4QzEyLjQgNDIwLjcgMCA0MDIuNyAwIDM4Mi43bDAtNjIuMiAxMjggNDguNiAwLTUxLjMtMTI4LTQ4LjZ6TTIzNi4xIDQxMC4xYzEyLjggNC45IDI2LjkgNC45IDM5LjcgMGw2MC4xLTIyLjggMC01MS4zLTc3LjIgMjkuM2MtMS44IC43LTMuOCAuNy01LjcgMGwtNzcuMi0yOS4zIDAgNTEuMyA2MC4xIDIyLjh6Il19LFlTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLWhvbGRpbmciLGljb246WzU3Niw1MTIsW10sImY0YmQiLCJNNjYuNyAzODRsNDIuNS00Mi41YzI0LTI0IDU2LjYtMzcuNSA5MC41LTM3LjVMMzUyIDMwNGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMTIuNiAwIDExOS43LTg4LjJjMTcuOC0xMy4xIDQyLjgtOS4zIDU1LjkgOC41czkuMyA0Mi44LTguNSA1NS45TDQzMy4xIDQ4NS41Yy0yMy40IDE3LjItNTEuNiAyNi41LTgwLjcgMjYuNUwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzQuNyAweiJdfSxaU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2luZ2xlLXF1b3RlLXJpZ2h0IixpY29uOlsxOTIsNTEyLFtdLCJlODFjIiwiTTY0IDQxNmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw4IDBjMzAuOSAwIDU2LTI1LjEgNTYtNTZsMC04LTY0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEzNmMwIDY2LjMtNTMuNyAxMjAtMTIwIDEyMGwtOCAweiJdfSxYU3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm90dGxlLWRyb3BsZXQiLGljb246WzMyMCw1MTIsW10sImU0YzQiLCJNODAgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgMTAzLjNjNjQuOSAyMC40IDExMiA4MSAxMTIgMTUyLjdsMCAxOTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTQ0Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDI4OGMwLTcxLjYgNDcuMS0xMzIuMyAxMTItMTUyLjdMMTEyIDMyQzk0LjMgMzIgODAgMTcuNyA4MCAwem04MCA0MTZjMzUuMyAwIDY0LTMyLjQgNjQtNjQgMC0yMS4yLTI4LjktNjQuNS00Ny45LTkwLjYtOC4xLTExLjEtMjQuMi0xMS4xLTMyLjMgMC0xOSAyNi4xLTQ3LjkgNjkuNC00Ny45IDkwLjYgMCAzMS42IDI4LjcgNjQgNjQgNjR6Il19LEtTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3aW5kb3ctbWluaW1pemUiLGljb246WzUxMiw1MTIsWzEyODQ2OV0sImYyZDEiLCJNMCA0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJsNDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnoiXX0sUVN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXZyb24tcmlnaHQiLGljb246WzMyMCw1MTIsWzkwMDJdLCJmMDU0IiwiTTMxMS4xIDIzMy40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xOTIgMTkyYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyNDMuMiAyNTYgNzMuOSA4Ni42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDE5MiAxOTJ6Il19LEpTdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlZ2ciLGljb246WzM4NCw1MTIsWzEyOTM3MF0sImY3ZmIiLCJNMTkyIDQ5NkM4NiA0OTYgMCAzOTQgMCAyODggMCAxNzYgNjQgMTYgMTkyIDE2UzM4NCAxNzYgMzg0IDI4OGMwIDEwNi04NiAyMDgtMTkyIDIwOHpNMTU0LjggMTM0YzYuNS02IDctMTYuMSAxLTIyLjZzLTE2LjEtNy0yMi42LTFjLTIzLjkgMjEuOC00MS4xIDUyLjctNTIuMyA4NC4yLTExLjIgMzEuNi0xNi45IDY1LjEtMTYuOSA5My41IDAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZjMC0yNC41IDUtNTQuNCAxNS4xLTgyLjggMTAuMS0yOC41IDI1LTU0LjEgNDMuNy03MS4yeiJdfSxJMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFuZG1hcmstZG9tZSIsaWNvbjpbNTEyLDUxMixbImxhbmRtYXJrLWFsdCJdLCJmNzUyIiwiTTI1NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMiAwIC45IDAgMS44IC4xIDIuNi04MC41IDEzLjQtMTQ0IDc2LjktMTU3LjUgMTU3LjRMNjQgMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDAgMTYwLTUxLjIgMzguNEM0LjcgNDYwLjQgMCA0NjkuOSAwIDQ4MCAwIDQ5Ny43IDE0LjMgNTEyIDMyIDUxMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMiAwLTEwLjEtNC43LTE5LjYtMTIuOC0yNS42TDQ0OCA0MTYgNDQ4IDI1NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMi43IDBjLTEzLjUtODAuNC03Ny0xNDMuOS0xNTcuNS0xNTcuNCAuMS0uOSAuMS0xLjcgLjEtMi42IDAtMTcuNy0xNC4zLTMyLTMyLTMyem04MCAyNTZsNjQgMCAwIDE2MC02NCAwIDAtMTYwek0yMjQgNDE2bDAtMTYwIDY0IDAgMCAxNjAtNjQgMHpNMTEyIDI1Nmw2NCAwIDAgMTYwLTY0IDAgMC0xNjB6Il19LGVDdD1JMGUsdEN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Indvcm0iLGljb246WzQ0OCw1MTIsW10sImU1OTkiLCJNMjI0IDk2YzAtNTMgNDMtOTYgOTYtOTZsMzguNCAwQzQwNy45IDAgNDQ4IDQwLjEgNDQ4IDg5LjZMNDQ4IDM3NmMwIDc1LjEtNjAuOSAxMzYtMTM2IDEzNlMxNzYgNDUxLjEgMTc2IDM3NmwwLTgwYzAtMjIuMS0xNy45LTQwLTQwLTQwcy00MCAxNy45LTQwIDQwbDAgMTY4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4UzAgNDkwLjUgMCA0NjRMMCAyOTZjMC03NS4xIDYwLjktMTM2IDEzNi0xMzZzMTM2IDYwLjkgMTM2IDEzNmwwIDgwYzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBsMC0xODQtMzIgMGMtNTMgMC05Ni00My05Ni05NnptMTQ0LThhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0sYUN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItaW5qdXJlZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjcyOCIsIk0yNDIuNyA4MEwzMzQgODBjLTEwLjctMjQuNi0yOS41LTQ0LjktNTIuOS01Ny42TDI0Mi43IDgwem0tLjktNzAuN0MyMzYgOC40IDIzMCA4IDIyNCA4IDE3NC44IDggMTMyLjUgMzcuNiAxMTQgODBsODAuNiAwIDQ3LjEtNzAuN3pNMjI0IDI0OGM2Ni4zIDAgMTIwLTUzLjcgMTIwLTEyMGwtMjQwIDBjMCA2Ni4zIDUzLjcgMTIwIDEyMCAxMjB6TTk4LjcgMzQxLjhDNDkuMyAzNzAuMiAxNiA0MjMuNSAxNiA0ODQuNiAxNiA0OTkuNyAyOC4zIDUxMiA0My40IDUxMmwxNTEgMC05NS44LTE3MC4yem00NS4xLTE3LjdsNDIuNyA3NS45IDg1LjUgMGM0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDExLjQtMi40IDIyLjItNi43IDMybDU5LjIgMGMxNS4xIDAgMjcuNC0xMi4zIDI3LjQtMjcuNCAwLTkwLjktNzMuNy0xNjQuNi0xNjQuNi0xNjQuNmwtODYuOSAwYy0xMi42IDAtMjQuOSAxLjQtMzYuNyA0LjF6TTIxMy41IDQ0OGwzNiA2NCAyMi41IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTU4LjUgMHoiXX0sckN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0cmlrZXRocm91Z2giLGljb246WzUxMiw1MTIsW10sImYwY2MiLCJNOTYgMTU3LjVDOTYgODguMiAxNTIuMiAzMiAyMjEuNSAzMkwzNjggMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMjIxLjUgOTZjLTM0IDAtNjEuNSAyNy41LTYxLjUgNjEuNSAwIDMxIDIzLjEgNTcuMiA1My45IDYxbDQ0LjEgNS41IDIyMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw4My4xIDBDMTAzIDIwNC42IDk2IDE4MS44IDk2IDE1Ny41ek0zNDkuMiAzMzZsNjUuNSAwYy45IDYuMSAxLjQgMTIuMiAxLjQgMTguNSAwIDY5LjMtNTYuMiAxMjUuNS0xMjUuNSAxMjUuNUwxNDQgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE0Ni41IDBjMzQgMCA2MS41LTI3LjUgNjEuNS02MS41IDAtNi40LTEtMTIuNy0yLjgtMTguNXoiXX0saUN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJsb2ciLGljb246WzUxMiw1MTIsW10sImY3ODEiLCJNMjI0IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0IDE0NS44IDAgMjY0IDExOC4yIDI2NCAyNjQgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xMTkuMy05Ni43LTIxNi0yMTYtMjE2LTEzLjMgMC0yNC0xMC43LTI0LTI0ek04MCA5NmMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDIyNGMwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4LTIxLjUtNDgtNDgtNDhjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTY0YzAtOC44IDcuMi0xNiAxNi0xNiA3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NFMyNTUuNSA1MTIgMTc2IDUxMiAzMiA0NDcuNSAzMiAzNjhsMC0yMjRjMC0yNi41IDIxLjUtNDggNDgtNDh6bTE2OCAwYzkyLjggMCAxNjggNzUuMiAxNjggMTY4IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNjYuMy01My43LTEyMC0xMjAtMTIwLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LHNDdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdG9wd2F0Y2gtMjAiLGljb246WzQ0OCw1MTIsW10sImUwNmYiLCJNMTY4LjUgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMiAwIDAgMjUuM2MtMTA4IDExLjktMTkyIDEwMy41LTE5MiAyMTQuNyAwIDExOS4zIDk2LjcgMjE2IDIxNiAyMTZzMjE2LTk2LjcgMjE2LTIxNmMwLTM5LjgtMTAuOC03Ny4xLTI5LjYtMTA5LjJsMjguMi0yOC4yYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0yMy40IDIzLjRjLTMyLjktMzAuMi03NS4yLTUwLjMtMTIyLTU1LjVsMC0yNS4zIDMyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTExMiAwem0tNjAgMjQwYzAtMjguNyAyMy4zLTUyIDUyLTUyczUyIDIzLjMgNTIgNTJsMCAzLjhjMCAxMS43LTMuMiAyMy4xLTkuMyAzM2wtNDMuOCA3MS4yIDMzLjEgMGMxMSAwIDIwIDkgMjAgMjBzLTkgMjAtMjAgMjBsLTU3LjggMGMtMTQuNSAwLTI2LjItMTEuNy0yNi4yLTI2LjIgMC00LjkgMS4zLTkuNiAzLjktMTMuOGw1Ni43LTkyLjFjMi4yLTMuNiAzLjQtNy44IDMuNC0xMi4xbDAtMy44YzAtNi42LTUuNC0xMi0xMi0xMnMtMTIgNS40LTEyIDEyYzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMHptMTgwLTUyYzI4LjcgMCA1MiAyMy4zIDUyIDUybDAgOTZjMCAyOC43LTIzLjMgNTItNTIgNTJzLTUyLTIzLjMtNTItNTJsMC05NmMwLTI4LjcgMjMuMy01MiA1Mi01MnptLTEyIDUybDAgOTZjMCA2LjYgNS40IDEyIDEyIDEyczEyLTUuNCAxMi0xMmwwLTk2YzAtNi42LTUuNC0xMi0xMi0xMnMtMTIgNS40LTEyIDEyeiJdfSxvQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stcGlja3VwIixpY29uOls2NDAsNTEyLFsxMjg3NjNdLCJmNjNjIiwiTTM2My44IDk2bDU3LjYgOTYtMTMzLjQgMCAwLTk2IDc1LjggMHpNNDk2IDE5Mkw0MTguNiA2My4xQzQwNy4xIDQzLjggMzg2LjIgMzIgMzYzLjggMzJMMjU2IDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDEyOC0xNDQgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA4MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMi40IDBjLS4yIDIuNi0uNCA1LjMtLjQgOCAwIDQ4LjYgMzkuNCA4OCA4OCA4OHM4OC0zOS40IDg4LTg4YzAtMi43LS4xLTUuNC0uNC04bDE2MC43IDBjLS4yIDIuNi0uNCA1LjMtLjQgOCAwIDQ4LjYgMzkuNCA4OCA4OCA4OHM4OC0zOS40IDg4LTg4YzAtMi43LS4xLTUuNC0uNC04bDMyLjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTgwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC02NCAwek0xMTIgMzkyYTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6bTM3Ni00MGE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6Il19LE4wZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzZWVkbGluZyIsaWNvbjpbNTEyLDUxMixbMTI3NzkzLCJzcHJvdXQiXSwiZjRkOCIsIk01MTIgMzJDNTEyIDE0MC4xIDQzNS40IDIzMC4zIDMzMy42IDI1MS40IDMyNS43IDE5My4zIDI5OS42IDE0MSAyNjEuMSAxMDAuNSAzMDEuMiA0MCAzNjkuOSAwIDQ0OCAwbDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6TTAgOTZDMCA3OC4zIDE0LjMgNjQgMzIgNjRsMzIgMGMxMjMuNyAwIDIyNCAxMDAuMyAyMjQgMjI0bDAgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTYwQzEwMC4zIDMyMCAwIDIxOS43IDAgOTZ6Il19LG5DdD1OMGUsUjBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYW5zZ2VuZGVyIixpY29uOls1NzYsNTEyLFs5ODk1LCJ0cmFuc2dlbmRlci1hbHQiXSwiZjIyNSIsIk0xMjgtMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMOTcuOSAzMiAxMzYgNzAuMSAxNTEgNTVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC0xNSAxNSAxNC4yIDE0LjJjMjcuOS0yMy44IDY0LjItMzguMiAxMDMuOC0zOC4yIDM2LjcgMCA3MC42IDEyLjQgOTcuNiAzMy4yTDQ2Ni43IDMyIDQ0OCAzMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOC43LTg0LjQgODQuNGMxMyAyMy4xIDIwLjQgNDkuOSAyMC40IDc4LjMgMCA3Ny40LTU1IDE0Mi0xMjggMTU2LjhsMCAzNS4yIDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDAgMCAxNmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE2LTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTM1LjJjLTczLTE0LjgtMTI4LTc5LjQtMTI4LTE1Ni44IDAtMzEuNCA5LTYwLjcgMjQuNy04NS40bC0xNi43LTE2LjctMTUgMTVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMTUtMTUtMzguMS0zOC4xIDAgMzAuMWMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDExMy43IDAgOTZMMCAwQzAtMTcuNyAxNC4zLTMyIDMyLTMybDk2IDB6TTI4OCAzMzZhOTYgOTYgMCAxIDAgMC0xOTIgOTYgOTYgMCAxIDAgMCAxOTJ6Il19LGxDdD1SMGUsY0N0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YXItaGFsZiIsaWNvbjpbNTc2LDUxMixbNjE3MzFdLCJmMDg5IiwiTTMwNC4xIDcuNmMwLTExLjEtNy42LTIwLjctMTguNC0yMy4zcy0yMS45IDIuNS0yNyAxMi40TDE5My4xIDEyNS4zIDMzLjIgMTUwLjdjLTguOSAxLjQtMTYuMyA3LjctMTkuMSAxNi4zcy0uNSAxOCA1LjggMjQuNGwxMTQuNCAxMTQuNS0yNS4yIDE1OS45Yy0xLjQgOC45IDIuMyAxNy45IDkuNiAyMy4yczE2LjkgNi4xIDI1IDJMMjkxIDQxNi4xYzgtNC4xIDEzLjEtMTIuNCAxMy4xLTIxLjRsMC0zODcuMXoiXX0sRjBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBob3RvLWZpbG0iLGljb246WzY0MCw1MTIsWyJwaG90by12aWRlbyJdLCJmODdjIiwiTTE5MiA2NGMwLTM1LjMgMjguNy02NCA2NC02NEw1NzYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDIyNGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMzIwIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMjI0ek0zMjAgOTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMTU2LjUgMTEuNUM0NzIuMSAxMDAuNCA0NjQuNCA5NiA0NTYgOTZzLTE2LjEgNC40LTIwLjUgMTEuNWwtNTQgODguMy0xNy45LTI1LjZjLTQuNS02LjQtMTEuOC0xMC4yLTE5LjctMTAuMnMtMTUuMiAzLjgtMTkuNyAxMC4ybC01NiA4MGMtNS4xIDcuMy01LjggMTYuOS0xLjYgMjQuOFMyNzkuMSAyODggMjg4IDI4OGwyNTYgMGM4LjcgMCAxNi43LTQuNyAyMC45LTEyLjNzNC4xLTE2LjgtLjUtMjQuM2wtODgtMTQ0ek0xNDQgMTI4bDAgMTYwYzAgNjEuOSA1MC4xIDExMiAxMTIgMTEybDE5MiAwIDAgMTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE5MmMwLTM1LjMgMjguNy02NCA2NC02NGw4MCAwek01MiAxOTZsMCAyNGMwIDguOCA3LjIgMTYgMTYgMTZsMjQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNGMwLTguOC03LjItMTYtMTYtMTZsLTI0IDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI0YzAgOC44IDcuMiAxNiAxNiAxNmwyNCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0YzAtOC44LTcuMi0xNi0xNi0xNmwtMjQgMHptMCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjRjMCA4LjggNy4yIDE2IDE2IDE2bDI0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjRjMC04LjgtNy4yLTE2LTE2LTE2bC0yNCAweiJdfSxkQ3Q9RjBlLHBDdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaWN0dXJlLWluLXBpY3R1cmUiLGljb246WzUxMiw1MTIsW10sImU4MGIiLCJNNDQ4IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTEyLTY0IDAgMC0xMTItMzg0IDAgMCAzMjAgMTQ0IDAgMCA2NC0xNDQgMC02LjUtLjNjLTMwLjEtMy4xLTU0LjEtMjctNTcuMS01Ny4xTDAgNDE2IDAgOTZDMCA2Mi45IDI1LjIgMzUuNiA1Ny41IDMyLjNMNjQgMzIgNDQ4IDMyem0xNiAyMjRjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxMjhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTE2MCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTEyOGMwLTI2LjUgMjEuNS00OCA0OC00OGwxNjAgMHoiXX0sdUN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InB1bXAtbWVkaWNhbCIsaWNvbjpbMzIwLDUxMixbXSwiZTA2YSIsIk05NiAwbDAgODAgMTI4IDAgMC0yNCA3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0UzMwOS4zIDggMjk2IDhsLTcyIDAgMC04YzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwQzExMC4zLTMyIDk2LTE3LjcgOTYgMHpNNjQgMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAxMjh6bTY0IDEyMGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCA0MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDAgMCAwIDQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MHoiXX0sZkN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpcmUiLGljb246WzQ0OCw1MTIsWzEyODI5M10sImYwNmQiLCJNMTYwLjUtMjYuNGM5LjMtNy44IDIzLTcuNSAzMS45IC45IDEyLjMgMTEuNiAyMy4zIDI0LjQgMzMuOSAzNy40IDEzLjUgMTYuNSAyOS43IDM4LjMgNDUuMyA2NC4yIDUuMi02LjggMTAtMTIuOCAxNC4yLTE3LjkgMS4xLTEuMyAyLjItMi43IDMuMy00LjEgNy45LTkuOCAxNy43LTIyLjEgMzAuOC0yMi4xIDEzLjQgMCAyMi44IDExLjkgMzAuOCAyMi4xIDEuMyAxLjcgMi42IDMuMyAzLjkgNC44IDEwLjMgMTIuNCAyNCAzMC4zIDM3LjcgNTIuNCAyNy4yIDQzLjkgNTUuNiAxMDYuNCA1NS42IDE3Ni42IDAgMTIzLjctMTAwLjMgMjI0LTIyNCAyMjRTMCA0MTEuNyAwIDI4OGMwLTkxLjEgNDEuMS0xNzAgODAuNS0yMjUgMTkuOS0yNy43IDM5LjctNDkuOSA1NC42LTY1LjEgOC4yLTguNCAxNi41LTE2LjcgMjUuNS0yNC4yek0yMjUuNyA0MTZjMjUuMyAwIDQ3LjctNyA2OC44LTIxIDQyLjEtMjkuNCA1My40LTg4LjIgMjguMS0xMzQuNC00LjUtOS0xNi05LjYtMjIuNS0ybC0yNS4yIDI5LjNjLTYuNiA3LjYtMTguNSA3LjQtMjQuNy0uNS0xNy4zLTIyLjEtNDkuMS02Mi40LTY1LjMtODMtNS40LTYuOS0xNS4yLTgtMjEuNS0xLjktMTguMyAxNy44LTUxLjUgNTYuOC01MS41IDEwNC4zIDAgNjguNiA1MC42IDEwOS4yIDExMy43IDEwOS4yeiJdfSxPMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFnbmlmeWluZy1nbGFzcy1wbHVzIixpY29uOls1MTIsNTEyLFsic2VhcmNoLXBsdXMiXSwiZjAwZSIsIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2QzI5Ni4zIDQwMS4xIDI1My45IDQxNiAyMDggNDE2IDkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwIDQxNiA5My4xIDQxNiAyMDh6TTIwOCAxMTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDgtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0OCAwIDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQ4IDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDAgMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0saEN0PU8wZSxtQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmxhc2siLGljb246WzQ0OCw1MTIsW10sImYwYzMiLCJNMjg4IDBMMTI4IDBDMTEwLjMgMCA5NiAxNC4zIDk2IDMyczE0LjMgMzIgMzIgMzJMMTI4IDIxNS41IDcuNSA0MjYuM0MyLjYgNDM1IDAgNDQ0LjcgMCA0NTQuNyAwIDQ4Ni40IDI1LjYgNTEyIDU3LjMgNTEybDMzMy40IDBjMzEuNiAwIDU3LjMtMjUuNiA1Ny4zLTU3LjMgMC0xMC0yLjYtMTkuOC03LjUtMjguNEwzMjAgMjE1LjUgMzIwIDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMyUzMzNy43IDAgMzIwIDBMMjg4IDB6TTE5MiAyMTUuNWwwLTE1MS41IDY0IDAgMCAxNTEuNWMwIDExLjEgMi45IDIyLjEgOC40IDMxLjhsNDEuNiA3Mi43LTE2NCAwIDQxLjYtNzIuN2M1LjUtOS43IDguNC0yMC42IDguNC0zMS44eiJdfSxnQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYWxpZ24tcmlnaHQiLGljb246WzQ0OCw1MTIsW10sImYwMzgiLCJNNDQ4IDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDE5MiA5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnptMCAyNTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTIyNCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyek0wIDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAyMjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek00NDggNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnoiXX0sQjBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhYmxlLWNhciIsaWNvbjpbNTEyLDUxMixbMTI4NjczLDU3NTUxLCJ0cmFtIl0sImY3ZGEiLCJNMjg4LTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTYwIDI0YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTMyIDI4OGMwLTM1LjMgMjguNy02NCA2NC02NGwxMzYgMCAwLTk2LjItMTkzLjQgNTUuM2MtMTIuNyAzLjYtMjYtMy43LTI5LjctMTYuNXMzLjctMjYgMTYuNS0yOS43bDIyNC02NCAwIDAgMjI0LTY0YzEyLjctMy42IDI2IDMuNyAyOS43IDE2LjVzLTMuNyAyNi0xNi41IDI5LjdsLTIwNi42IDU5IDAgMTA5LjkgMTM2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE2MHptODAgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2bDU2IDAgMC05Ni01NiAwem0xODQgOTZsMC05Ni04MCAwIDAgOTYgODAgMHptNDggMGw1NiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNmwtNTYgMCAwIDk2eiJdfSxiQ3Q9QjBlLEgwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJraXQtbWVkaWNhbCIsaWNvbjpbNTEyLDUxMixbImZpcnN0LWFpZCJdLCJmNDc5IiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE2IDAgMC0zODQtMTYgMHptNjQgMGwwIDM4NCAyNTYgMCAwLTM4NC0yNTYgMHpNNDQ4IDQ0OGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NGwtMTYgMCAwIDM4NCAxNiAwek0yMjQgMTg0YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQwIDQwIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00MCAwIDAgNDBjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00MC00MCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDAgMCAwLTQweiJdfSx2Q3Q9SDBlLHhDdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJncmlwLWxpbmVzIixpY29uOls0NDgsNTEyLFtdLCJmN2E0IiwiTTMyIDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAyODh6bTAtMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDE2MHoiXX0scTBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1cmdlciIsaWNvbjpbNTEyLDUxMixbImhhbWJ1cmdlciJdLCJmODA1IiwiTTQ4IDM4NGMtOC44IDAtMTYgNy4yLTE2IDE2IDAgNDQuMiAzNS44IDgwIDgwIDgwbDI4OCAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwIDAtOC44LTcuMi0xNi0xNi0xNkw0OCAzODR6TTMyIDIwMmMwIDEyLjIgOS45IDIyIDIyIDIyTDQ1OCAyMjRjMTIuMiAwIDIyLTkuOSAyMi0yMiAwLTE3LjItMi42LTM0LjQtMTAuOC00OS41LTIyLjItNDAuOC04Mi4zLTEyMC41LTIxMy4yLTEyMC41UzY1IDExMS42IDQyLjggMTUyLjVDMzQuNiAxNjcuNiAzMiAxODQuOCAzMiAyMDJ6TTAgMzA0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDQ0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDI3MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTI1NiA3MmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTEyMCAxMjhhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMjQ4LTI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHoiXX0seUN0PXEwZSx3Q3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic25vd21hbiIsaWNvbjpbNjQwLDUxMixbOTczMSw5OTI0XSwiZjdkMCIsIk00MDMgMjExLjdjMzIuMi0yNC45IDUzLTYzLjkgNTMtMTA3LjcgMC03NS4xLTYwLjktMTM2LTEzNi0xMzZTMTg0IDI4LjkgMTg0IDEwNGMwIDQzLjkgMjAuOCA4Mi45IDUzIDEwNy43LTMyLjIgMTYuMy01OSA0MS44LTc2LjggNzMuMUwxMTIgMjY0LjIgMTEyIDIyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE5LjYtMjIuNS05LjdjLTEyLjItNS4yLTI2LjMgLjQtMzEuNSAxMi42cy40IDI2LjMgMTIuNiAzMS41YzM2LjEgMTUuNSA3NS45IDMyLjUgMTE5LjQgNTEuMi0zLjkgMTQuOS02IDMwLjYtNiA0Ni43IDAgNzAgMzkuMSAxMzAuOCA5Ni42IDE2MS45IDcuOSA0LjMgMTYuOSA2LjEgMjUuOSA2LjFsMTIzIDBjOSAwIDE4LTEuOCAyNS45LTYuMSA1Ny41LTMxLjEgOTYuNi05MiA5Ni42LTE2MS45IDAtMTYuMi0yLjEtMzEuOC02LTQ2LjcgNDMuNS0xOC43IDgzLjQtMzUuNyAxMTkuNC01MS4yIDEyLjItNS4yIDE3LjgtMTkuMyAxMi42LTMxLjVzLTE5LjMtMTcuOC0zMS41LTEyLjZsLTIyLjUgOS43IDAtMTkuNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwLjItNDguMiAyMC42Yy0xNy45LTMxLjMtNDQuNi01Ni44LTc2LjgtNzMuMXpNMjk2IDQxNmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0yNC0xMjBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek0yNDggODBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNMzY4IDU2YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMjkyLjIgMTU5LjNjLTIuNy00LjgtNC4yLTEwLjItNC4yLTE1LjcgMC0xNy41IDE0LjItMzEuNiAzMS42LTMxLjZsLjggMGMxNy41IDAgMzEuNiAxNC4yIDMxLjYgMzEuNiAwIDUuNS0xLjQgMTAuOS00LjIgMTUuN0wzMjcgMTk1LjhjLTMuMSA1LjQtMTAuOCA1LjQtMTMuOSAwbC0yMC45LTM2LjZ6Il19LE1DdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3RlbCIsaWNvbjpbNTEyLDUxMixbMTI3OTc2XSwiZjU5NCIsIk0xNiAyNEMxNiAxMC43IDI2LjcgMCA0MCAwTDQ3MiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04IDAgMCA0MTYgOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDQwIDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw4IDAgMC00MTYtOCAwQzI2LjcgNDggMTYgMzcuMyAxNiAyNHptMjA4IDg4bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTEyOCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem05NiAxMTJsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMzUyIDk2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTExMiAyMDhsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMjQwLTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTI4OCAzODRsNDMuOCAwYzkuOSAwIDE3LjUtOSAxNC0xOC4yLTEzLjgtMzYuMS00OC44LTYxLjgtODkuNy02MS44cy03NS45IDI1LjctODkuNyA2MS44Yy0zLjUgOS4yIDQuMSAxOC4yIDE0IDE4LjJsNDMuOCAwIDAgODAgNjQgMCAwLTgweiJdfSxrQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicHJpbnQiLGljb246WzUxMiw1MTIsWzEyODQyNCwxMjg0MzgsOTExM10sImYwMmYiLCJNNjQgNjRDNjQgMjguNyA5Mi43IDAgMTI4IDBMMzQxLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN2w0Mi41IDQyLjVjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM2wwIDM3LjUtMzg0IDAgMC04MHpNMCAyNTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0yNTYgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2ek0xMjggNDE2bDAgMzIgMjU2IDAgMC05Ni0yNTYgMCAwIDY0ek00NTYgMjcyYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6Il19LFYwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2b2xsZXliYWxsIixpY29uOls1MTIsNTEyLFsxMjc5NTIsInZvbGxleWJhbGwtYmFsbCJdLCJmNDVmIiwiTTUxMiAyNTguOWMtMjMuNCA4LTQ3LjggMTMuMS03Mi42IDE1LjEgNS45LTk4LjYtMzAuNy0xOTEuMS05NC45LTI1OC4zIDk3LjggMzYgMTY3LjUgMTMwIDE2Ny41IDI0MC4zIDAgMSAwIDEuOSAwIDIuOXptLTUuOSA1MmMtNS4yIDIzLjctMTMuNiA0Ni4yLTI0LjkgNjYuOS05NC43IDUyLjItMjE0IDUwLTMwOC40LTEzLjYgMjEuNy0zMS4zIDQ5LjgtNTguOSA4My44LTgwLjUgNzkuNSA0MS42IDE2OC41IDQ5LjEgMjQ5LjUgMjcuMXpNMjc5LjcgMjQxLjZjLTMuNy04OS43LTQxLjctMTcwLjUtMTAxLjMtMjI5LjcgMjIuMy03LjEgNDYtMTEuMiA3MC41LTExLjkgOTIuNSA1NS45IDE1MC4zIDE2MC4zIDE0Mi40IDI3My44LTM4LTMuMi03NS45LTEzLjctMTExLjYtMzIuM3pNMTMwLjUgMzIuOEMxNDkuMSA0OS4xIDE2NS44IDY3LjcgMTc5LjkgODguMiA5MS41IDEzMi4zIDI5LjcgMjEwLjMgMy43IDI5OS41IDEuMyAyODUuMyAwIDI3MC44IDAgMjU2IDAgMTYwLjIgNTIuNiA3Ni43IDEzMC41IDMyLjh6bTczLjQgOTdjMTYuMyAzNC41IDI2LjEgNzIuNiAyNy45IDExMi44LTc1LjggNDgtMTI2LjggMTIxLjMtMTQ4LjMgMjAyLjUtMTcuNi0xNi4xLTMzLTM0LjYtNDUuNS01NSAyLjEtMTA4LjEgNjMuNy0yMTAuNCAxNjUuOS0yNjAuM3pNMjU2IDUxMmMtNDcuNyAwLTkyLjMtMTMtMTMwLjUtMzUuNyA0LjgtMjQuMyAxMi42LTQ4IDIzLjItNzAuNCA4Mi40IDU0LjQgMTgwLjggNjguOSAyNzEgNDctNDQuNCAzNy0xMDEuNSA1OS4yLTE2My43IDU5LjJ6Il19LHpDdD1WMGUsU0N0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYWZmaWMtbGlnaHQiLGljb246WzMyMCw1MTIsWzEyODY3OF0sImY2MzciLCJNNjQtMzJDMjguNy0zMiAwLTMuMyAwIDMyTDAgMzg0YzAgODguNCA3MS42IDE2MCAxNjAgMTYwczE2MC03MS42IDE2MC0xNjBsMC0zNTJjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQtMzJ6bTk2IDM5MmMzMC45IDAgNTYgMjUuMSA1NiA1NnMtMjUuMSA1Ni01NiA1Ni01Ni0yNS4xLTU2LTU2IDI1LjEtNTYgNTYtNTZ6bTU2LTEwNGE1NiA1NiAwIDEgMSAtMTEyIDAgNTYgNTYgMCAxIDEgMTEyIDB6TTE2MCAxNTJhNTYgNTYgMCAxIDEgMC0xMTIgNTYgNTYgMCAxIDEgMCAxMTJ6Il19LENDdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbGFuZS1jaXJjbGUtY2hlY2siLGljb246WzY0MCw1MTIsW10sImU1NTUiLCJNMjMyIDI0YzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZsMCAxMjcuMyA3OCA3MS41Yy02OS4zIDI5LTExOCA5Ny40LTExOCAxNzcuMiAwIDQ5LjMgMTguNiA5NC4zIDQ5LjEgMTI4LjNMMjg4IDUxMiAxNzkuOSA1MzljLTEwLjEgMi41LTE5LjktNS4xLTE5LjktMTUuNWwwLTE5LjhjMC00LjkgMi4yLTkuNSA2LTEyLjVsNjYtNTIuOCAwLTk5LjctMTYyLjkgNTQuM0M1OC43IDM5Ni40IDQ4IDM4OC43IDQ4IDM3Ny44bDAtNDMuN2MwLTkgMy44LTE3LjUgMTAuNC0yMy42TDIzMiAxNTEuMyAyMzIgMjR6TTM1MiA0MDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjAxLjQtNjAuOWMtNy4xLTUuMi0xNy4yLTMuNi0yMi40IDMuNWwtNTMgNzIuOS0yNi44LTI2LjhjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsNDAgNDBjMy4zIDMuMyA3LjkgNSAxMi42IDQuNnM4LjktMi44IDExLjctNi41bDY0LTg4YzUuMi03LjEgMy42LTE3LjItMy41LTIyLjN6Il19LFhZPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXJzIixpY29uOls2NDAsNTEyLFtdLCJmMGMwIiwiTTMyMCAxNmExMDQgMTA0IDAgMSAxIDAgMjA4IDEwNCAxMDQgMCAxIDEgMC0yMDh6TTk2IDg4YTcyIDcyIDAgMSAxIDAgMTQ0IDcyIDcyIDAgMSAxIDAtMTQ0ek0wIDQxNmMwLTcwLjcgNTcuMy0xMjggMTI4LTEyOCAxMi44IDAgMjUuMiAxLjkgMzYuOSA1LjQtMzIuOSAzNi44LTUyLjkgODUuNC01Mi45IDEzOC42bDAgMTZjMCAxMS40IDIuNCAyMi4yIDYuNyAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJ6bTUyMS4zIDY0YzQuMy05LjggNi43LTIwLjYgNi43LTMybDAtMTZjMC01My4yLTIwLTEwMS44LTUyLjktMTM4LjYgMTEuNy0zLjUgMjQuMS01LjQgMzYuOS01LjQgNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtODYuNyAwek00NzIgMTYwYTcyIDcyIDAgMSAxIDE0NCAwIDcyIDcyIDAgMSAxIC0xNDQgMHpNMTYwIDQzMmMwLTg4LjQgNzEuNi0xNjAgMTYwLTE2MHMxNjAgNzEuNiAxNjAgMTYwbDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2eiJdfSxfQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2VydGlmaWNhdGUiLGljb246WzU3Niw1MTIsW10sImYwYTMiLCJNMjM5LjItOGMtNi4xLTYuMi0xNS04LjctMjMuNC02LjRTMjAwLjktNS42IDE5OC44IDIuOEwxODMuNSA2M2MtMS4xIDQuNC01LjYgNy05LjkgNS43TDExMy44IDUxLjljLTguNC0yLjQtMTcuNCAwLTIzLjUgNi4xcy04LjUgMTUuMS02LjEgMjMuNWwxNi45IDU5LjhjMS4yIDQuMy0xLjQgOC44LTUuNyA5LjlMMzUuMSAxNjYuNWMtOC40IDIuMS0xNSA4LjctMTcuMyAxNy4xcy4yIDE3LjMgNi40IDIzLjRsNDQuNSA0My4zYzMuMiAzLjEgMy4yIDguMyAwIDExLjVMMjQuMyAzMDUuMWMtNi4yIDYuMS04LjcgMTUtNi40IDIzLjRzOC45IDE0LjkgMTcuMyAxNy4xbDYwLjIgMTUuM2M0LjQgMS4xIDcgNS42IDUuNyA5LjlMODQuMiA0MzAuNWMtMi40IDguNCAwIDE3LjQgNi4xIDIzLjVzMTUuMSA4LjUgMjMuNSA2LjFsNTkuOC0xNi45YzQuMy0xLjIgOC44IDEuNCA5LjkgNS43bDE1LjMgNjAuMmMyLjEgOC40IDguNyAxNSAxNy4xIDE3LjNzMTcuMy0uMiAyMy40LTYuNGw0My4zLTQ0LjVjMy4xLTMuMiA4LjMtMy4yIDExLjUgMEwzMzcuMyA1MjBjNi4xIDYuMiAxNSA4LjcgMjMuNCA2LjRzMTQuOS04LjkgMTcuMS0xNy4zTDM5My4xIDQ0OWMxLjEtNC40IDUuNi03IDkuOS01LjdsNTkuOCAxNi45YzguNCAyLjQgMTcuNCAwIDIzLjUtNi4xczguNS0xNS4xIDYuMS0yMy41bC0xNi45LTU5LjhjLTEuMi00LjMgMS40LTguOCA1LjctOS45bDYwLjItMTUuM2M4LjQtMi4xIDE1LTguNyAxNy4zLTE3LjFzLS4yLTE3LjQtNi40LTIzLjRsLTQ0LjUtNDMuM2MtMy4yLTMuMS0zLjItOC4zIDAtMTEuNWw0NC41LTQzLjNjNi4yLTYuMSA4LjctMTUgNi40LTIzLjRzLTguOS0xNC45LTE3LjMtMTcuMWwtNjAuMi0xNS4zYy00LjQtMS4xLTctNS42LTUuNy05LjlsMTYuOS01OS44YzIuNC04LjQgMC0xNy40LTYuMS0yMy41cy0xNS4xLTguNS0yMy41LTYuMUw0MDMgNjguOGMtNC4zIDEuMi04LjgtMS40LTkuOS01LjdMMzc3LjggMi44Yy0yLjEtOC40LTguNy0xNS0xNy4xLTE3LjNzLTE3LjMgLjItMjMuNCA2LjRMMjk0IDM2LjVjLTMuMSAzLjItOC4zIDMuMi0xMS41IDBMMjM5LjItOHoiXX0sVEN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFsYXJtLWNsb2NrIixpY29uOls1MTIsNTEyLFs5MjAwXSwiZjM0ZSIsIk01MDQuNCAxMzIuNWMtNC41IDEwLjUtMTguNCA5LjgtMjQuOSAuNC0yNy44LTQwLTY2LjEtNzIuMi0xMTEtOTIuNi0xMC40LTQuNy0xMy43LTE4LjMtNC4xLTI0LjYgMTUtOS45IDMzLTE1LjcgNTIuMy0xNS43IDUyLjYgMCA5NS4yIDQyLjYgOTUuMiA5NS4yIDAgMTMuMi0yLjcgMjUuOC03LjYgMzcuM3ptLTQ3MS45IC40Yy02LjUgOS40LTIwLjUgMTAuMS0yNC45LS40LTQuOS0xMS41LTcuNi0yNC4xLTcuNi0zNy4zIDAtNTIuNiA0Mi42LTk1LjIgOTUuMi05NS4yIDE5LjMgMCAzNy4zIDUuOCA1Mi4zIDE1LjcgOS42IDYuMyA2LjMgMTkuOS00LjEgMjQuNi00NC44IDIwLjQtODMuMSA1Mi42LTExMSA5Mi42ek0zOTAuMiA0NjcuNEMzNTIuOCA0OTUuNCAzMDYuMyA1MTIgMjU2IDUxMnMtOTYuOC0xNi42LTEzNC4xLTQ0LjZMODYuNiA1MDIuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMzUuMi0zNS4yQzQ4LjYgMzg0LjggMzIgMzM4LjMgMzIgMjg4IDMyIDE2NC4zIDEzMi4zIDY0IDI1NiA2NFM0ODAgMTY0LjMgNDgwIDI4OGMwIDUwLjMtMTYuNiA5Ni44LTQ0LjYgMTM0LjJsMzUuMiAzNS4yYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC0zNS4yLTM1LjJ6TTI4MCAxODRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMDRjMCA2LjQgMi41IDEyLjUgNyAxN2w1NiA1NmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTQ5LTQ5IDAtOTQuMXoiXX0sTEN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlbGljb3B0ZXItc3ltYm9sIixpY29uOls1MTIsNTEyLFtdLCJlNTAyIiwiTTQ0NS40IDIyNGw2NC43IDBDNDk1LjYgMTA4LjIgNDAzLjggMTYuNCAyODggMmwwIDY0LjdDMzY4LjQgODAuMSA0MzEuOSAxNDMuNiA0NDUuNCAyMjR6TTUxMCAyODhsLTY0LjcgMEM0MzEuOSAzNjguNCAzNjguNCA0MzEuOSAyODggNDQ1LjNsMCA2NC43YzExNS44LTE0LjQgMjA3LjYtMTA2LjIgMjIyLTIyMnpNMiAyODhDMTYuNCA0MDMuOCAxMDguMiA0OTUuNiAyMjQgNTEwbDAtNjQuN0MxNDMuNiA0MzEuOSA4MC4yIDM2OC40IDY2LjcgMjg4TDIgMjg4em0wLTY0bDY0LjcgMEM4MC4yIDE0My42IDE0My42IDgwLjEgMjI0IDY2LjdMMjI0IDJDMTA4LjIgMTYuNCAxNi40IDEwOC4yIDIgMjI0em0yMDYtNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDk2IDAgMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjQtOTYgMCAwLTY0eiJdfSxqMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY2hpbW5leS1jcmFjayIsaWNvbjpbNTEyLDUxMixbImhvdXNlLWRhbWFnZSJdLCJmNmYxIiwiTTIzNC4yIDguNmMxMi4zLTExLjQgMzEuMy0xMS40IDQzLjUgMEwzNjggOTIuMyAzNjggODBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEwMS41IDM3LjggMzUuMWM5LjYgOSAxMi44IDIyLjkgOCAzNS4xUzQ5My4yIDI3MiA0ODAgMjcybC0xNiAwIDAgMTc2YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0xMDUuNiAwLTM4LjQtNjQgODAuOC02Ny4zYzcuOC02LjUgNy42LTE4LjYtLjQtMjQuOUwyMTguNiAyNjMuMmMtMTQuNi0xMS41LTMzLjggNy0yMi44IDIyTDI1NiAzNjggMTcwLjUgNDM5LjJjLTYuMSA1LTcuNSAxMy44LTMuNSAyMC41bDMxLjMgNTIuMi04Ni40IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOHoiXX0sJEN0PWowZSxEQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLW1pbGl0YXJ5LXBvaW50aW5nIixpY29uOls1MTIsNTEyLFtdLCJlNTRhIiwiTTIxNC45IDE0LjFDMjAyIDE1LjIgMTkyIDI2IDE5MiAzOSAxOTIgNTIuOCAyMDMuMiA2NCAyMTcgNjRsMTUxIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzAuNkMzODQgOCAzNzYgLjcgMzY2LjcgMS40TDIxNC45IDE0LjF6TTIwOCAxMTJjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTUuNS0uNi0xMC44LTEuNi0xNkwyMDkuNiA5NmMtMSA1LjItMS42IDEwLjUtMS42IDE2ek00MCAyMjRjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBsMTUyIDAgMCA4OS40IDE2Mi44LTE2Mi44Yy0xMy4zLTQuMy0yNy4zLTYuNS00MS42LTYuNUw0MCAyMjR6bTM0NS43IDIwLjlsLTE3MS4xIDE3MS4xIDE2OS40IDAgMC00Ni4zIDUzLjYgOTAuNmMxMS4yIDE5IDM1LjggMjUuMyA1NC44IDE0LjFzMjUuMy0zNS44IDE0LjEtNTQuOEw0MzAuMyAyOTAuOGMtMTEuMi0xOS0yNi42LTM0LjUtNDQuNi00NS45ek0xOTIgNDQ4bDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMi0xOTIgMHoiXX0sQUN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRhdGFiYXNlIixpY29uOls0NDgsNTEyLFtdLCJmMWMwIiwiTTQ0OCAyMDUuOGMtMTQuOCA5LjgtMzEuOCAxNy43LTQ5LjUgMjQtNDcgMTYuOC0xMDguNyAyNi4yLTE3NC41IDI2LjJTOTYuNCAyNDYuNSA0OS41IDIyOS44Yy0xNy42LTYuMy0zNC43LTE0LjItNDkuNS0yNEwwIDI4OGMwIDQ0LjIgMTAwLjMgODAgMjI0IDgwczIyNC0zNS44IDIyNC04MGwwLTgyLjJ6bTAtNzcuOGwwLTQ4QzQ0OCAzNS44IDM0Ny43IDAgMjI0IDBTMCAzNS44IDAgODBsMCA0OGMwIDQ0LjIgMTAwLjMgODAgMjI0IDgwczIyNC0zNS44IDIyNC04MHpNMzk4LjUgMzg5LjhDMzUxLjYgNDA2LjUgMjg5LjkgNDE2IDIyNCA0MTZTOTYuNCA0MDYuNSA0OS41IDM4OS44Yy0xNy42LTYuMy0zNC43LTE0LjItNDkuNS0yNEwwIDQzMmMwIDQ0LjIgMTAwLjMgODAgMjI0IDgwczIyNC0zNS44IDIyNC04MGwwLTY2LjJjLTE0LjggOS44LTMxLjggMTcuNy00OS41IDI0eiJdfSxQQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibmV3c3BhcGVyIixpY29uOls1MTIsNTEyLFsxMjgyNDBdLCJmMWVhIiwiTTAgNDE2TDAgMTIwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAyODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNEw5NiA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwyODggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0ek0xNjAgMTI4bDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnptMjQgMjQwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNDAgMHptLTI0LTcyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDI0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTM2MCAxNzZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNjQgMHoiXX0sRUN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkLXJhaW4iLGljb246WzUxMiw1MTIsWzEyNzc4Myw5OTI2XSwiZjczZCIsIk05NiAzMjBjLTUzIDAtOTYtNDMtOTYtOTYgMC00Mi41IDI3LjYtNzguNiA2NS45LTkxLjItMS4zLTYuNy0xLjktMTMuNy0xLjktMjAuOCAwLTYxLjkgNTAuMS0xMTIgMTEyLTExMiA0My4xIDAgODAuNSAyNC4zIDk5LjIgNjAgMTQuNy0xNy4xIDM2LjUtMjggNjAuOC0yOCA0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDUuNS0uNiAxMC44LTEuNiAxNiAuNSAwIDEuMSAwIDEuNiAwIDUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2TDk2IDMyMHptMS42IDY4LjJjMS4xLTIuNSAzLjYtNC4yIDYuNC00LjJzNS4zIDEuNiA2LjQgNC4ybDMwLjIgNjguMmMyLjIgNS4xIDMuNCAxMC41IDMuNCAxNiAwIDIxLjktMTguMSAzOS42LTQwIDM5LjZzLTQwLTE3LjctNDAtMzkuNmMwLTUuNSAxLjItMTEgMy40LTE2bDMwLjItNjguMnptMTUyIDBjMS4xLTIuNSAzLjYtNC4yIDYuNC00LjJzNS4zIDEuNiA2LjQgNC4ybDMwLjIgNjguMmMyLjIgNS4xIDMuNCAxMC41IDMuNCAxNiAwIDIxLjktMTguMSAzOS42LTQwIDM5LjZzLTQwLTE3LjctNDAtMzkuNmMwLTUuNSAxLjItMTEgMy40LTE2bDMwLjItNjguMnptMTIxLjggNjguMmwzMC4yLTY4LjJjMS4xLTIuNSAzLjYtNC4yIDYuNC00LjJzNS4zIDEuNiA2LjQgNC4ybDMwLjIgNjguMmMyLjIgNS4xIDMuNCAxMC41IDMuNCAxNiAwIDIxLjktMTguMSAzOS42LTQwIDM5LjZzLTQwLTE3LjctNDAtMzkuNmMwLTUuNSAxLjItMTEgMy40LTE2eiJdfSxVMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWF4aW1pemUiLGljb246WzQ0OCw1MTIsWyJleHBhbmQtYXJyb3dzLWFsdCJdLCJmMzFlIiwiTTE2OCAzMkwyNCAzMkMxMC43IDMyIDAgNDIuNyAwIDU2TDAgMjAwYzAgOS43IDUuOCAxOC41IDE0LjggMjIuMlMzNC4xIDIyMy44IDQxIDIxN2w0MC00MCA3OSA3OS03OSA3OS00MC00MGMtNi45LTYuOS0xNy4yLTguOS0yNi4yLTUuMlMwIDMwMi4zIDAgMzEyTDAgNDU2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDE0NCAwYzkuNyAwIDE4LjUtNS44IDIyLjItMTQuOHMxLjctMTkuMy01LjItMjYuMmwtNDAtNDAgNzktNzkgNzkgNzktNDAgNDBjLTYuOSA2LjktOC45IDE3LjItNS4yIDI2LjJTMjcwLjMgNDgwIDI4MCA0ODBsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xNDRjMC05LjctNS44LTE4LjUtMTQuOC0yMi4ycy0xOS4zLTEuNy0yNi4yIDUuMmwtNDAgNDAtNzktNzkgNzktNzkgNDAgNDBjNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMlM0NDggMjA5LjcgNDQ4IDIwMGwwLTE0NGMwLTEzLjMtMTAuNy0yNC0yNC0yNEwyODAgMzJjLTkuNyAwLTE4LjUgNS44LTIyLjIgMTQuOFMyNTYuMiA2Ni4xIDI2MyA3M2w0MCA0MC03OSA3OS03OS03OSA0MC00MGM2LjktNi45IDguOS0xNy4yIDUuMi0yNi4yUzE3Ny43IDMyIDE2OCAzMnoiXX0sSUN0PVUwZSxOQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibG9jYXRpb24tYXJyb3ciLGljb246WzUxMiw1MTIsW10sImYxMjQiLCJNNDc3LjkgNzUuNWM0LjUtMTEuOCAxLjctMjUuMi03LjItMzQuMXMtMjIuMy0xMS44LTM0LjEtNy4ybC00MTYgMTYwQzcuOSAxOTktLjMgMjExLjIgMCAyMjQuN3M5LjEgMjUuNCAyMS45IDI5LjZsMTc2LjggNTguOSA1OC45IDE3Ni44YzQuMyAxMi44IDE2LjEgMjEuNiAyOS42IDIxLjlzMjUuNy03LjkgMzAuNi0yMC41bDE2MC00MTZ6Il19LFJDdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXR5IixpY29uOls1NzYsNTEyLFsxMjc5NjFdLCJmNjRmIiwiTTMyMCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDMyLTQ4IDAgMC03MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDcyLTY0IDAgMC03MkM5NiAxMC43IDg1LjMgMCA3MiAwUzQ4IDEwLjcgNDggMjRsMCA3NGMtMjcuNiA3LjEtNDggMzIuMi00OCA2MkwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5MmMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMCAwLTEyOGMwLTM1LjMtMjguNy02NC02NC02NEwzMjAgMHptNjQgMTEybDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZ6bS0xNiA4MGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwem0xNiAxMTJsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnptMTEyLTE2YzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDB6TTI1NiAzMDRsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnpNMjQwIDE5MmM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwek0xMjggMzA0bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZ6TTExMiAxOTJjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMHoiXX0sRkN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IngtcmF5IixpY29uOls1MTIsNTEyLFtdLCJmNDk3IiwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsNDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAzMjBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6bTI4MCA1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE2LTY0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNjQgMCAwIDQ4LTgwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMCAwIDQ4LTY0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNjQgMCAwIDE2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNiA2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC02NCAwIDAtNDggODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMCAwLTQ4IDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTY0IDAgMC0xNnoiXX0sT0N0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVtYnJlbGxhLWJlYWNoIixpY29uOls1MTIsNTEyLFsxMjc5NThdLCJmNWNhIiwiTTQ5Ny41IDM0MS4xYy01LjkgMTYuNy0yNS4zIDIzLTQxLjEgMTUuMWwtMTc4LjItODkuMS0xLjYgMy4yLTg4LjggMTc3LjcgMjkyLjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsODQuMiAwIDEwMy4yLTIwNi4zIDEuNi0zLjItMTY1LjQtODIuN2MtMTUuOC03LjktMjIuNC0yNy4zLTEyLjUtNDIgNDUuOS02OC42IDEyNC4xLTExMy44IDIxMi45LTExMy44IDE0MS40IDAgMjU2IDExNC42IDI1NiAyNTYgMCAyOS44LTUuMSA1OC41LTE0LjUgODUuMXoiXX0sVzBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJpZ2h0LXRvLWJyYWNrZXQiLGljb246WzUxMiw1MTIsWyJzaWduLWluIl0sImYwOTAiLCJNMzUyIDk2bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMjU2YzAtNTMtNDMtOTYtOTYtOTZsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6bS05LjQgMTgyLjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjhjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDI0Mi43IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjEwLjcgMC03My40IDczLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTI4LTEyOHoiXX0sQkN0PVcwZSxIQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhZHNldCIsaWNvbjpbNDQ4LDUxMixbXSwiZjU5MCIsIk0yMjQgNjRjLTc5IDAtMTQ0LjcgNTcuMy0xNTcuNyAxMzIuNyA5LjMtMyAxOS4zLTQuNyAyOS43LTQuN2wxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTE2IDBjLTUzIDAtOTYtNDMtOTYtOTZsMC02NEMwIDEwMC4zIDEwMC4zIDAgMjI0IDBTNDQ4IDEwMC4zIDQ0OCAyMjRsMCAxNjguMWMwIDY2LjMtNTMuOCAxMjAtMTIwLjEgMTIwbC04Ny45LS4xLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4czIxLjUtNDggNDgtNDhsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDAgNDAgMGMzOS44IDAgNzItMzIuMiA3Mi03MmwwLTIwLjljLTE0LjEgOC4yLTMwLjUgMTIuOC00OCAxMi44bC0xNiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDE2IDBjMTAuNCAwIDIwLjMgMS42IDI5LjcgNC43LTEzLTc1LjMtNzguNi0xMzIuNy0xNTcuNy0xMzIuN3oiXX0scUN0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNwbG90Y2giLGljb246WzUxMiw1MTIsW10sImY1YmMiLCJNMjA4LjUgNjIuM2wyOC4xLTM2LjlDMjQ4LjggOS40IDI2Ny44IDAgMjg4IDAgMzE2LjUgMCAzNDEuNiAxOC43IDM0OS44IDQ2bDE3LjggNTkuNGMxMC4zIDM0LjQgMzYuMSA2MiA2OS44IDc0LjZsMzkuOCAxNC45YzIwLjkgNy45IDM0LjggMjcuOSAzNC44IDUwLjIgMCAxNi45LTcuOSAzMi44LTIxLjUgNDIuOWwtNjcuMyA1MC41Yy0yNC4zIDE4LjItMzcuMiA0Ny45LTMzLjggNzguMWwyLjUgMjIuN2M0LjMgMzguNy0yNiA3Mi42LTY1IDcyLjYtMTQuOCAwLTI5LjMtNS4xLTQwLjktMTQuM2wtNTUuMy00NC4zYy00LjUtMy42LTkuMy02LjctMTQuNS05LjItMTUuOC03LjktMzMuNy0xMC40LTUxLTcuM0w4Mi40IDQ1MS45Yy0zNC42IDYuMy02Ni40LTIwLjMtNjYuNC01NS40IDAtMTMuMiA0LjctMjYgMTMuMS0zNi4ybDExLjItMTMuNGMxNC42LTE3LjQgMjIuNi0zOS40IDIyLjYtNjIuMSAwLTE4LjgtNS41LTM3LjItMTUuOC01M0w4LjggMTczLjVDMy4xIDE2NC43IDAgMTU0LjQgMCAxNDMuOSAwIDExMC41IDMwLjEgODUuMSA2MyA5MC43bDUxLjMgOC43YzM1LjkgNi4xIDcyLjItOC4yIDk0LjItMzcuMXoiXX0sRzBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVwLWxvbmciLGljb246WzMyMCw1MTIsWyJsb25nLWFycm93LWFsdC11cCJdLCJmMzBjIiwiTTEzNy40LTIyLjZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTI4IDEyOGM5LjIgOS4yIDExLjkgMjIuOSA2LjkgMzQuOVMzMDAuOSAxNjAgMjg4IDE2MGwtNjQgMCAwIDMzNmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0zMzYtNjQgMGMtMTIuOSAwLTI0LjYtNy44LTI5LjYtMTkuOFMuMiAxMTQuNSA5LjQgMTA1LjRsMTI4LTEyOHoiXX0sVkN0PUcwZSxqQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGV4YWdvbi1ub2RlcyIsaWNvbjpbNDQ4LDUxMixbXSwiZTY5OSIsIk0yNDggMTA2LjZjMTguOS05IDMyLTI4LjMgMzItNTAuNmMwLTMwLjktMjUuMS01Ni01Ni01NnMtNTYgMjUuMS01NiA1NmMwIDIyLjMgMTMuMSA0MS42IDMyIDUwLjZsMCA5OC44Yy0yLjggMS4zLTUuNSAyLjktOCA0LjdsLTgwLjEtNDUuOGMxLjYtMjAuOC04LjYtNDEuNi0yNy45LTUyLjhDNTcuMiA5NiAyMyAxMDUuMiA3LjUgMTMyUzEuMiAxOTMgMjggMjA4LjVjMS4zIC44IDIuNiAxLjUgNCAyLjFsMCA5MC44Yy0xLjMgLjYtMi43IDEuMy00IDIuMUMxLjIgMzE5LTggMzUzLjIgNy41IDM4MFM1Ny4yIDQxNiA4NCA0MDAuNWMxOS4zLTExLjEgMjkuNC0zMiAyNy44LTUyLjhsNTAuNS0yOC45Yy0xMS41LTExLjItMTkuOS0yNS42LTIzLjgtNDEuN0w4OCAzMDYuMWMtMi42LTEuOC01LjItMy4zLTgtNC43bDAtOTAuOGMyLjgtMS4zIDUuNS0yLjkgOC00LjdsODAuMSA0NS44Yy0uMSAxLjQtLjIgMi44LS4yIDQuM2MwIDIyLjMgMTMuMSA0MS42IDMyIDUwLjZsMCA5OC44Yy0xOC45IDktMzIgMjguMy0zMiA1MC42YzAgMzAuOSAyNS4xIDU2IDU2IDU2czU2LTI1LjEgNTYtNTZjMC0yMi4zLTEzLjEtNDEuNi0zMi01MC42bDAtOTguOGMyLjgtMS4zIDUuNS0yLjkgOC00LjdsODAuMSA0NS44Yy0xLjYgMjAuOCA4LjYgNDEuNiAyNy44IDUyLjhjMjYuOCAxNS41IDYxIDYuMyA3Ni41LTIwLjVzNi4zLTYxLTIwLjUtNzYuNWMtMS4zLS44LTIuNy0xLjUtNC0yLjFsMC05MC44YzEuNC0uNiAyLjctMS4zIDQtMi4xYzI2LjgtMTUuNSAzNi00OS43IDIwLjUtNzYuNVMzOTAuOCA5NiAzNjQgMTExLjVjLTE5LjMgMTEuMS0yOS40IDMyLTI3LjggNTIuOGwtNTAuNiAyOC45YzExLjUgMTEuMiAxOS45IDI1LjYgMjMuOCA0MS43TDM2MCAyMDUuOWMyLjYgMS44IDUuMiAzLjMgOCA0LjdsMCA5MC44Yy0yLjggMS4zLTUuNSAyLjktOCA0LjZsLTgwLjEtNDUuOGMuMS0xLjQgLjItMi44IC4yLTQuM2MwLTIyLjMtMTMuMS00MS42LTMyLTUwLjZsMC05OC44eiJdfSxyWT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3NwaXRhbCIsaWNvbjpbNTc2LDUxMixbMTI3OTczLDYyNTg5LCJob3NwaXRhbC1hbHQiLCJob3NwaXRhbC13aWRlIl0sImYwZjgiLCJNMTI4IDY0YzAtMzUuMyAyOC43LTY0IDY0LTY0TDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjQgNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTkyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDAgMC02NHpNMjcyIDM1MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA4MCA5NiAwIDAtODBjMC0xNy43LTE0LjMtMzItMzItMzJsLTMyIDB6TTEyOCAzNjhsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnpNMTEyIDI1NmM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwek01MTIgMzY4bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6TTQ5NiAyNTZjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHpNMjY0IDEwNGwwIDMyLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwIDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIgMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDAgMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnoiXX0sVUN0PXJZLFdDdD1yWSxHQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWhhcmFzc2luZyIsaWNvbjpbNTc2LDUxMixbXSwiZTU0OSIsIk0xOTIgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek01OS40IDMwNC41TDg4IDI1Ni45IDg4IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDE2IDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI0NC43IDQ3LjQgNTcuMWMxMS4zIDEzLjYgMzEuNSAxNS41IDQ1LjEgNC4yczE1LjUtMzEuNSA0LjItNDUuMWwtNzMuNy04OC45Yy0xOC4yLTIyLTQ1LjMtMzQuNy03My45LTM0LjdsLTM1LjkgMGMtMzMuNyAwLTY0LjkgMTcuNy04Mi4zIDQ2LjZsLTU4LjMgOTdjLTkuMSAxNS4xLTQuMiAzNC44IDEwLjkgNDMuOXMzNC44IDQuMiA0My45LTEwLjl6TTQ4MCAyNDBhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNNDY0IDM0NGwwIDU4LjctNDEuNC00MS40Yy03LjMtNy4zLTE3LjYtMTAuNi0yNy44LTlzLTE4LjkgOC4xLTIzLjUgMTcuM2wtNDggOTZjLTcuOSAxNS44LTEuNSAzNSAxNC4zIDQyLjlzMzUgMS41IDQyLjktMTQuM2wyOC4xLTU2LjMgNTQuNyA1NC43YzEyLjQgMTIuNCAyOS4xIDE5LjMgNDYuNiAxOS4zIDM2LjQgMCA2NS45LTI5LjUgNjUuOS02NS45TDU3NiAzNDRjMC0zMC45LTI1LjEtNTYtNTYtNTZzLTU2IDI1LjEtNTYgNTZ6TTI4OCA0OGMwIDguOCA3LjIgMTYgMTYgMTZsNTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0tLjggNDkuN2MtNy45LTQtMTcuNS0uNy0yMS41IDcuMnMtLjcgMTcuNSA3LjIgMjEuNWw0OCAyNGM3LjkgNCAxNy41IC43IDIxLjUtNy4ycy43LTE3LjUtNy4yLTIxLjVsLTQ4LTI0eiJdfSxZQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9uZXktYmlsbC10cmVuZC11cCIsaWNvbjpbNTEyLDUxMixbXSwiZTUyOSIsIk00ODAgOGMwLTEzLjMtMTAuNy0yNC0yNC0yNEwzNTQuMi0xNmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0My45IDAtMTExLjMgMTExLjMtOTUuMS04MS41Yy05LTcuNy0yMi4yLTcuNy0zMS4yIDBsLTExMiA5NmMtMTAuMSA4LjYtMTEuMiAyMy44LTIuNiAzMy44czIzLjggMTEuMiAzMy44IDIuNmw5Ni40LTgyLjYgOTYuNCA4Mi42YzkuNSA4LjIgMjMuNyA3LjYgMzIuNi0xLjNsMTI3LTEyNyAwIDQzLjljMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNEw0ODAgOHpNNDggMjU2Yy0yNi41IDAtNDggMjEuNS00OCA0OEwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0MTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE2MGMwLTI2LjUtMjEuNS00OC00OC00OEw0OCAyNTZ6bTQ3LjMgNTZjLTMuNCAyMC4xLTE5LjIgMzYtMzkuNCAzOS40LTQuNCAuNy04LTIuOS04LTcuM2wwLTMyYzAtNC40IDMuNi04IDgtOGwzMiAwYzQuNCAwIDguMSAzLjYgNy4zIDh6bTAgMTQ0LjFjLjcgNC40LTIuOSA4LTcuMyA4bC0zMiAwYy00LjQgMC04LTMuNi04LThsMC0zMmMwLTQuNCAzLjYtOC4xIDgtNy4zIDIwLjEgMy40IDM2IDE5LjIgMzkuNCAzOS40ek00NTYgNDE2LjdjNC40LS43IDggMi45IDggNy4zbDAgMzJjMCA0LjQtMy42IDgtOCA4bC0zMiAwYy00LjQgMC04LjEtMy42LTcuMy04IDMuNC0yMC4xIDE5LjItMzYgMzkuNC0zOS40ek00MTYuNyAzMTJjLS43LTQuNCAyLjktOCA3LjMtOGwzMiAwYzQuNCAwIDggMy42IDggOGwwIDMyYzAgNC40LTMuNiA4LjEtOCA3LjMtMjAuMS0zLjQtMzYtMTkuMi0zOS40LTM5LjR6TTE5MiAzODRhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAweiJdfSxZMGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVuLXJ1bGVyIixpY29uOls1MTIsNTEyLFsicGVuY2lsLXJ1bGVyIl0sImY1YWUiLCJNNDA0IDBjMTkuMiAwIDM3LjYgNy42IDUxLjEgMjEuMmwzNS43IDM1LjdDNTA0LjQgNzAuNCA1MTIgODguOCA1MTIgMTA4cy03LjYgMzcuNi0yMS4yIDUxLjFMNDQ1LjkgMjA0IDMwOCA2Ni4xIDM1Mi45IDIxLjJDMzY2LjQgNy42IDM4NC44IDAgNDA0IDB6TTU4LjkgMzE1LjFMMjc0LjEgMTAwIDQxMiAyMzcuOSAxOTYuOSA0NTMuMWMtMTAuNyAxMC43LTI0LjEgMTguNS0zOC43IDIyLjZMMzAuNCA1MTEuMWMtOC4zIDIuMy0xNy4zIDAtMjMuNC02LjJzLTguNS0xNS4xLTYuMi0yMy40TDM2LjQgMzUzLjhjNC4xLTE0LjYgMTEuOC0yNy45IDIyLjYtMzguN3pNMjI1LjQgODAuOEw4MC44IDIyNS40IDExLjcgMTU2LjNjLTE1LjYtMTUuNi0xNS42LTQwLjkgMC01Ni42bDg4LTg4YzE1LjYtMTUuNiA0MC45LTE1LjYgNTYuNiAwbDUuOSA1LjktNTYuMyA1Ni4zYy03LjggNy44LTcuOCAyMC41IDAgMjguM3MyMC41IDcuOCAyOC4zIDBsNTYuMy01Ni4zIDM0LjkgMzQuOXpNNDMxLjIgMjg2LjZsMzQuOSAzNC45LTU2LjMgNTYuM2MtNy44IDcuOC03LjggMjAuNSAwIDI4LjNzMjAuNSA3LjggMjguMyAwbDU2LjMtNTYuMyA1LjkgNS45YzE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42bC04OCA4OGMtMTUuNiAxNS42LTQwLjkgMTUuNi01Ni42IDBsLTY5LjEtNjkuMSAxNDQuNi0xNDQuNnoiXX0sWkN0PVkwZSxYQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmVwZWF0IixpY29uOls1MTIsNTEyLFsxMjgyNTddLCJmMzYzIiwiTTQ3MC42IDExOC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtOS4yLTkuMi0yMi45LTExLjktMzQuOS02LjlTMzUyIDE5LjEgMzUyIDMybDAgMzItMTYwIDBDODYgNjQgMCAxNTAgMCAyNTYgMCAyNzMuNyAxNC4zIDI4OCAzMiAyODhzMzItMTQuMyAzMi0zMmMwLTcwLjcgNTcuMy0xMjggMTI4LTEyOGwxNjAgMCAwIDMyYzAgMTIuOSA3LjggMjQuNiAxOS44IDI5LjZzMjUuNyAyLjIgMzQuOS02LjlsNjQtNjR6TTQxLjQgMzkzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzkuMiA5LjIgMjIuOSAxMS45IDM0LjkgNi45UzE2MCA0OTIuOSAxNjAgNDgwbDAtMzIgMTYwIDBjMTA2IDAgMTkyLTg2IDE5Mi0xOTIgMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTE2MCAwIDAtMzJjMC0xMi45LTcuOC0yNC42LTE5LjgtMjkuNnMtMjUuNy0yLjItMzQuOSA2LjlsLTY0IDY0eiJdfSxLQ3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9uZSIsaWNvbjpbNjQwLDUxMixbMTI5NDYwXSwiZjVkNyIsIk0xOTcuNCAxNjBjLTMuOSAwLTcuMi0yLjgtOC4xLTYuNi0xMC4yLTQyLjEtNDguMS03My40LTkzLjMtNzMuNC01MyAwLTk2IDQzLTk2IDk2IDAgMjkuMSAxMi45IDU1LjEgMzMuMyA3Mi43IDQuMyAzLjcgNC4zIDEwLjggMCAxNC41LTIwLjQgMTcuNi0zMy4zIDQzLjctMzMuMyA3Mi43IDAgNTMgNDMgOTYgOTYgOTYgNDUuMiAwIDgzLjEtMzEuMyA5My4zLTczLjQgLjktMy44IDQuMi02LjYgOC4xLTYuNmwyNDUuMSAwYzMuOSAwIDcuMiAyLjggOC4xIDYuNiAxMC4yIDQyLjEgNDguMSA3My40IDkzLjMgNzMuNCA1MyAwIDk2LTQzIDk2LTk2IDAtMjkuMS0xMi45LTU1LjEtMzMuMy03Mi43LTQuMy0zLjctNC4zLTEwLjggMC0xNC41IDIwLjQtMTcuNiAzMy4zLTQzLjcgMzMuMy03Mi43IDAtNTMtNDMtOTYtOTYtOTYtNDUuMiAwLTgzLjEgMzEuMy05My4zIDczLjQtLjkgMy44LTQuMiA2LjYtOC4xIDYuNmwtMjQ1LjEgMHoiXX0sWjBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpcmUtZmxhbWUtY3VydmVkIixpY29uOlszODQsNTEyLFsiZmlyZS1hbHQiXSwiZjdlNCIsIk0xNTMuNiAyOS45bDE2LTIxLjNDMTczLjYgMy4yIDE4MCAwIDE4Ni43IDAgMTk4LjQgMCAyMDggOS42IDIwOCAyMS4zbDAgMjIuMWMwIDEzLjEgNS40IDI1LjcgMTQuOSAzNC43TDMwNy42IDE1OUMzNTYuNCAyMDUuNiAzODQgMjcwLjIgMzg0IDMzNy43IDM4NCA0MzQgMzA2IDUxMiAyMDkuNyA1MTJMMTkyIDUxMkM4NiA1MTIgMCA0MjYgMCAzMjBsMC0zLjhjMC00OC44IDE5LjQtOTUuNiA1My45LTEzMC4xbDMuNS0zLjVjNC4yLTQuMiAxMC02LjYgMTYtNi42IDEyLjUgMCAyMi42IDEwLjEgMjIuNiAyMi42TDk2IDI4OGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0bDAtMy45YzAtMTgtNy4yLTM1LjMtMTkuOS00OGwtMzguNi0zOC42Yy0yNC0yNC0zNy41LTU2LjctMzcuNS05MC43IDAtMjcuNyA5LTU0LjggMjUuNi03Ni45eiJdfSxRQ3Q9WjBlLFgwZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidXMtc2ltcGxlIixpY29uOls0NDgsNTEyLFsiYnVzLWFsdCJdLCJmNTVlIiwiTTk2IDBDNDMgMCAwIDQzIDAgOTZMMCAzODRjMCAyOS44IDIwLjQgNTQuOSA0OCA2MmwwIDM0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMiAxOTIgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zNGMyNy42LTcuMSA0OC0zMi4yIDQ4LTYybDAtMjg4YzAtNTMtNDMtOTYtOTYtOTZMOTYgMHpNNjQgMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJMOTYgMjU2Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2ek05NiAzMjBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0yNTYgMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LEpDdD1YMGUsZV90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZlbnVzLW1hcnMiLGljb246WzY0MCw1MTIsWzk4OTJdLCJmMjI4IiwiTTQ4MC02NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJTNDYyLjMgMCA0ODAgMEw1MzAuNyAwIDQ3NCA1Ni43Yy0yNi4zLTE1LjctNTcuMS0yNC43LTkwLTI0LjctMzUuNCAwLTY4LjQgMTAuNS05NiAyOC41LTI3LjYtMTgtNjAuNi0yOC41LTk2LTI4LjUtOTcuMiAwLTE3NiA3OC44LTE3NiAxNzYgMCA4Ni4zIDYyLjEgMTU4LjEgMTQ0IDE3My4xbDAgMzQuOS0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTM0LjljMjMuMy00LjMgNDQuOS0xMy4xIDY0LTI1LjYgMjcuNiAxOCA2MC42IDI4LjUgOTYgMjguNSA5Ny4yIDAgMTc2LTc4LjggMTc2LTE3NiAwLTQxLjEtMTQuMS03OS0zNy44LTEwOUw1NzYgNDUuMyA1NzYgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMkw0ODAtNjR6TTMzNiAzMDkuMmMyMC4yLTI4LjYgMzItNjMuNSAzMi0xMDEuMnMtMTEuOC03Mi42LTMyLTEwMS4yYzE0LjYtNi45IDMwLjgtMTAuOCA0OC0xMC44IDYxLjkgMCAxMTIgNTAuMSAxMTIgMTEyUzQ0NS45IDMyMCAzODQgMzIwYy0xNy4yIDAtMzMuNS0zLjktNDgtMTAuOHpNMjg4IDE1MC4zYzEwLjIgMTYuOSAxNiAzNi42IDE2IDU3LjdzLTUuOCA0MC45LTE2IDU3LjdjLTEwLjItMTYuOS0xNi0zNi42LTE2LTU3LjdzNS44LTQwLjkgMTYtNTcuN3ptLTQ4LTQzLjVjLTIwLjIgMjguNi0zMiA2My41LTMyIDEwMS4yczExLjggNzIuNiAzMiAxMDEuMmMtMTQuNSA2LjktMzAuOCAxMC44LTQ4IDEwLjgtNjEuOSAwLTExMi01MC4xLTExMi0xMTJTMTMwLjEgOTYgMTkyIDk2YzE3LjIgMCAzMy41IDMuOSA0OCAxMC44eiJdfSx0X3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmxlbmRlciIsaWNvbjpbNTEyLDUxMixbXSwiZjUxNyIsIk0wIDU2QzAgMjUuMSAyNS4xIDAgNTYgMEw0MzcuNiAwYzIxLjMgMCAzNi42IDIwLjMgMzAuOCA0MC44TDQ1Ny4xIDgwIDM0NCA4MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw5OS40IDAtMTguMyA2NC04MS4xIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNjcuNCAwLTI3LjQgOTYtMjU2IDAtOS4xLTk2LTYyLjkgMGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZMMCA1NnpNMTE0LjMgMTkyTDEwMC42IDQ4IDU2IDQ4Yy00LjQgMC04IDMuNi04IDhsMCAxMjhjMCA0LjQgMy42IDggOCA4bDU4LjMgMHpNMTM2IDM4NGwyNDAgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQwbC0yNDAgMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MHptMTIwIDg4YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0sYV90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InUiLGljb246WzM4NCw1MTIsWzExN10sIjU1IiwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjI0YzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4czEyOC01Ny4zIDEyOC0xMjhsMC0yMjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDIyNGMwIDEwNi04NiAxOTItMTkyIDE5MlMwIDM5NCAwIDI4OEwwIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyeiJdfSx3Nz17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGFyZSIsaWNvbjpbNTEyLDUxMixbIm1haWwtZm9yd2FyZCJdLCJmMDY0IiwiTTMwNy44IDE4LjRjLTEyIDUtMTkuOCAxNi42LTE5LjggMjkuNmwwIDgwLTExMiAwYy05Ny4yIDAtMTc2IDc4LjgtMTc2IDE3NiAwIDExMy4zIDgxLjUgMTYzLjkgMTAwLjIgMTc0LjEgMi41IDEuNCA1LjMgMS45IDguMSAxLjkgMTAuOSAwIDE5LjctOC45IDE5LjctMTkuNyAwLTcuNS00LjMtMTQuNC05LjgtMTkuNS05LjQtOC44LTIyLjItMjYuNC0yMi4yLTU2LjcgMC01MyA0My05NiA5Ni05Nmw5NiAwIDAgODBjMCAxMi45IDcuOCAyNC42IDE5LjggMjkuNnMyNS43IDIuMiAzNC45LTYuOWwxNjAtMTYwYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xNjAtMTYwYy05LjItOS4yLTIyLjktMTEuOS0zNC45LTYuOXoiXX0scl90PXc3LEswZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaG9uZS1mbGlwIixpY29uOls1MTIsNTEyLFsxMjgzODEsInBob25lLWFsdCJdLCJmODc5IiwiTTM1MS44IDI1YzcuOC0xOC44IDI4LjQtMjguOSA0OC4xLTIzLjVsNS41IDEuNWM2NC42IDE3LjYgMTE5LjggODAuMiAxMDMuNyAxNTYuNC0zNy4xIDE3NS0xNzQuOCAzMTIuNy0zNDkuOCAzNDkuOC03Ni4zIDE2LjItMTM4LjgtMzkuMS0xNTYuNC0xMDMuN2wtMS41LTUuNWMtNS40LTE5LjcgNC43LTQwLjMgMjMuNS00OC4xbDk3LjMtNDAuNWMxNi41LTYuOSAzNS42LTIuMSA0NyAxMS44bDM4LjYgNDcuMmM3MC4zLTM0LjkgMTI2LjgtOTMuMyAxNTkuMy0xNjQuOWwtNDQuMS0zNi4xYy0xMy45LTExLjMtMTguNi0zMC40LTExLjgtNDdMMzUxLjggMjV6Il19LGlfdD1LMGUsc190PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvaWxldC1wb3J0YWJsZSIsaWNvbjpbMzIwLDUxMixbXSwiZTU4MyIsIk0wIDY0bDAgMTYgMzIwIDAgMC0xNmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwQzI4LjcgMCAwIDI4LjcgMCA2NHptMjQgNjRMMCAxMjggMCA0ODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTggMjI0IDAgMCA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zNjAtMjk2IDB6bTIyNCA5NmwyNCAwIDAgOTYtMjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHoiXX0sb190PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1wcmVnbmFudCIsaWNvbjpbMzg0LDUxMixbXSwiZTMxZSIsIk0xOTIgODBhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6bTgwIDMyMS4yYzguNi00LjUgMTYuOC0xMCAyNC4zLTE2LjVsNC0zLjRjMjIuNi0xOS40IDM1LjctNDcuNyAzNS43LTc3LjYgMC0zNS45LTE4LjgtNjkuMS00OS42LTg3LjZsLTMwLjQtMTguMiAwLTEuOGMwLTQ2LjUtMzcuNy04NC4xLTg0LjEtODQuMS0yOC4xIDAtNTQuNCAxNC4xLTcwIDM3LjVMMjEuNCAyNzAuMmMtOS44IDE0LjctNS44IDM0LjYgOC45IDQ0LjRzMzQuNiA1LjggNDQuNC04LjlsMjktNDMuNS0zMC41IDExMy41Yy0yLjYgOS42LS42IDE5LjkgNS41IDI3LjhTOTQgNDE2IDEwNCA0MTZsOCAwIDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2IDMyIDAgMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTEwLjh6Il19LG5fdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsZXNzLXRoYW4iLGljb246WzUxMiw1MTIsWzYyNzc0XSwiM2MiLCJNNDc3LjEgNTAuNmM3LjQgMTYgLjQgMzUuMS0xNS42IDQyLjVMMTA4LjQgMjU2IDQ2MS40IDQxOWMxNiA3LjQgMjMgMjYuNCAxNS42IDQyLjVzLTI2LjQgMjMtNDIuNSAxNS42bC00MTYtMTkyQzcuMyAyNzkuOCAwIDI2OC41IDAgMjU2UzcuMyAyMzIuMiAxOC42IDIyN2w0MTYtMTkyYzE2LTcuNCAzNS4xLS40IDQyLjUgMTUuNnoiXX0sbF90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN1cGVyc2NyaXB0IixpY29uOls1NzYsNTEyLFtdLCJmMTJiIiwiTTU0NCAzMmMwLTExLjEtNS43LTIxLjQtMTUuMi0yNy4ycy0yMS4yLTYuNC0zMS4xLTEuNGwtMzIgMTZDNDQ5LjkgMjcuMyA0NDMuNSA0Ni41IDQ1MS40IDYyLjMgNDU3IDczLjUgNDY4LjMgODAgNDgwIDgwbDAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTEyOHpNOTYgNjRDNzguMyA2NCA2NCA3OC4zIDY0IDk2czE0LjMgMzIgMzIgMzJsMTUuMyAwIDg5LjYgMTI4LTg5LjYgMTI4LTE1LjMgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwYzEwLjQgMCAyMC4yLTUuMSAyNi4yLTEzLjZMMjQwIDMxMS44IDMyNS44IDQzNC40YzYgOC42IDE1LjggMTMuNiAyNi4yIDEzLjZsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTUuMyAwLTg5LjYtMTI4IDg5LjYtMTI4IDE1LjMgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMGMtMTAuNCAwLTIwLjIgNS4xLTI2LjIgMTMuNkwyNDAgMjAwLjIgMTU0LjIgNzcuNkMxNDguMiA2OS4xIDEzOC40IDY0IDEyOCA2NEw5NiA2NHoiXX0sUTBlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1zdG9wIixpY29uOls1MTIsNTEyLFs2MjA5NCwic3RvcC1jaXJjbGUiXSwiZjI4ZCIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTkyIDE2MGwxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxjX3Q9UTBlLEowZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtdXAtZG93biIsaWNvbjpbMjU2LDUxMixbImFycm93cy12Il0sImYwN2QiLCJNMTUwLjYtMjIuNmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDk2IDc3LjMgOTYgNDM0LjcgNTQuNiAzOTMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOTYgOTZjNiA2IDE0LjEgOS40IDIyLjYgOS40czE2LjYtMy40IDIyLjYtOS40bDk2LTk2YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC00MS40IDQxLjQgMC0zNTcuNSA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6Il19LGRfdD1KMGUsZWNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBvby1zdG9ybSIsaWNvbjpbNTEyLDUxMixbInBvby1ib2x0Il0sImY3NWEiLCJNMjY4LjktMzEuOGMtNS41LS43LTExIDEuNC0xNC41IDUuN3MtNC42IDEwLjEtMi44IDE1LjNjMi44IDguMiA0LjMgMTYuOSA0LjMgMjYuMSAwIDIxLjctOC41IDM3LjItMjEuOSA0Ny42LTEzLjkgMTAuOC0zNC4xIDE3LTU4LjEgMTdsLTI0IDBjLTQ4LjYgMC04OCAzOS40LTg4IDg4IDAgMTQuOCAzLjcgMjguOCAxMC4yIDQxLjEtNDIgNi42LTc0LjIgNDMtNzQuMiA4Ni45IDAgNDYuNiAzNi4yIDg0LjcgODEuOSA4Ny44IDMuMS0xMi40IDkuOS0yMy44IDE5LjYtMzIuNUwyNDIuNyAyMjVjMTIuMi0xMC45IDI4LTE3IDQ0LjQtMTcgNDQuNiAwIDc2LjUgNDMgNjMuNyA4NS43bC0xMi43IDQyLjRjMjguOCAxLjIgNTIuNyAyMS4xIDU5LjggNDcuOWwyNi4yIDBjNDguNiAwIDg4LTM5LjQgODgtODggMC00My45LTMyLjEtODAuMy03NC4yLTg2LjkgNi41LTEyLjMgMTAuMi0yNi4yIDEwLjItNDEuMSAwLTQ4LjYtMzkuNC04OC04OC04OGwtOS40IDBjLjktNS40IDEuNC0xMC45IDEuNC0xNi42IDAtNDguNy0zNi4xLTg4LjktODMuMS05NS4yek0xNDQuNiA0MTZsNjEuOCAwLTMxLjIgMTA0LjFjLTMuNiAxMS45IDUuMyAyMy45IDE3LjggMjMuOSA0LjYgMCA5LTEuNyAxMi40LTQuN0wzNDYuNSA0MTIuOWMzLjUtMy4xIDUuNS03LjYgNS41LTEyLjQgMC05LjItNy40LTE2LjYtMTYuNi0xNi42bC02MS44IDAgMzEuMi0xMDQuMWMzLjYtMTEuOS01LjMtMjMuOS0xNy44LTIzLjktNC42IDAtOSAxLjctMTIuNCA0LjdMMTMzLjUgMzg3LjFjLTMuNSAzLjEtNS41IDcuNi01LjUgMTIuNCAwIDkuMiA3LjQgMTYuNiAxNi42IDE2LjZ6Il19LHBfdD1lY2UsdV90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpZGVvLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJmNGUyIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTE1My0xNTMgMC0yMjIuMmMwLTM1LjMtMjguNy02NC02NC02NEwxMjkuOCA2NCA0MS0yNC45ek0zMiAxMjhsMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjNy44IDAgMTUuMy0xLjQgMjIuMi00TDM2IDEwNS44Yy0yLjYgNi45LTQgMTQuNC00IDIyLjJ6TTQ2NCAzMzZsNzMuNSA1OC44YzQuMiAzLjQgOS40IDUuMiAxNC44IDUuMiAxMy4xIDAgMjMuNy0xMC42IDIzLjctMjMuN2wwLTI0MC42YzAtMTMuMS0xMC42LTIzLjctMjMuNy0yMy43LTUuNCAwLTEwLjYgMS44LTE0LjggNS4yTDQ2NCAxNzYgNDY0IDMzNnoiXX0saVk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXhtYXJrIixpY29uOls0NDgsNTEyLFsxMDA2MiwidGltZXMtc3F1YXJlIiwieG1hcmstc3F1YXJlIl0sImYyZDMiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNzEgMTM1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDU1IDU1IDU1LTU1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNTUgNTUgNTUgNTVjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNTUtNTUtNTUgNTVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNTUtNTUtNTUtNTVjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45eiJdfSxmX3Q9aVksaF90PWlZLHRjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLWhvbGRpbmctZHJvcGxldCIsaWNvbjpbNTc2LDUxMixbImhhbmQtaG9sZGluZy13YXRlciJdLCJmNGMxIiwiTTI3NS41IDYuNkwyMDkuMiAxMDNDMTk4IDExOS4zIDE5MiAxMzguNiAxOTIgMTU4LjNsMCAxLjdjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwwLTEuN2MwLTE5LjgtNi0zOS0xNy4yLTU1LjNMMzAwLjUgNi42QzI5Ny43IDIuNSAyOTMgMCAyODggMHMtOS43IDIuNS0xMi41IDYuNnpNMTA5LjMgMzQxLjVMNjYuNyAzODQgMzIgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyMC41IDBjMjkgMCA1Ny4zLTkuMyA4MC43LTI2LjVsMTI2LjYtOTMuM2MxNy44LTEzLjEgMjEuNi0zOC4xIDguNS01NS45cy0zOC4xLTIxLjYtNTUuOS04LjVMMzkyLjYgNDE2IDI4MCA0MTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTUyLjIgMGMtMzMuOSAwLTY2LjUgMTMuNS05MC41IDM3LjV6Il19LG1fdD10Y2Usc1k9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid29uLXNpZ24iLGljb246WzUxMiw1MTIsWzgzNjEsImtydyIsIndvbiJdLCJmMTU5IiwiTTYyLjQgNTMuOUM1Ni44IDM3LjEgMzguNyAyOC4xIDIxLjkgMzMuNlMtMy45IDU3LjQgMS43IDc0LjFMNTYuOSAyNDAgMzIgMjQwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwLjkgMCA1Ni43IDE3MC4xYzQuNSAxMy41IDE3LjQgMjIuNCAzMS42IDIxLjlzMjYuNC0xMC40IDI5LjgtMjQuMkwyMzMgMjg4IDI3OSAyODggMzIxIDQ1NS44YzMuNCAxMy44IDE1LjYgMjMuNyAyOS44IDI0LjJzMjcuMS04LjQgMzEuNi0yMS45TDQzOS4xIDI4OCA0ODAgMjg4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNC45IDAgNTUuMy0xNjUuOWM1LjYtMTYuOC0zLjUtMzQuOS0yMC4yLTQwLjVzLTM0LjkgMy41LTQwLjUgMjAuMmwtNjIgMTg2LjEtNTQuNiAwLTQ1LjktMTgzLjhDMjgzLjUgNDIgMjcwLjcgMzIgMjU2IDMycy0yNy41IDEwLTMxIDI0LjJMMTc5IDI0MCAxMjQuNCAyNDAgNjIuNCA1My45em03OCAyMzQuMWwyNi42IDAtMTEuNCA0NS42LTE1LjItNDUuNnpNMjQ1IDI0MGwxMS00NC4xIDExIDQ0LjEtMjIgMHptMTAwIDQ4bDI2LjYgMC0xNS4yIDQ1LjYtMTEuNC00NS42eiJdfSxnX3Q9c1ksYl90PXNZLHZfdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvYmplY3QtdW5ncm91cCIsaWNvbjpbNjQwLDUxMixbXSwiZjI0OCIsIk0zMiAxMTkuNEMxMi45IDEwOC40IDAgODcuNyAwIDY0IDAgMjguNyAyOC43IDAgNjQgMCA4Ny43IDAgMTA4LjQgMTIuOSAxMTkuNCAzMmwyMDkuMSAwYzExLjEtMTkuMSAzMS43LTMyIDU1LjQtMzIgMzUuMyAwIDY0IDI4LjcgNjQgNjQgMCAyMy43LTEyLjkgNDQuNC0zMiA1NS40bDAgMTEzLjFjMTkuMSAxMS4xIDMyIDMxLjcgMzIgNTUuNCAwIDM1LjMtMjguNyA2NC02NCA2NC0yMy43IDAtNDQuNC0xMi45LTU1LjQtMzJsLTIwOS4xIDBjLTExLjEgMTkuMS0zMS43IDMyLTU1LjQgMzItMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yMy43IDEyLjktNDQuNCAzMi01NS40bDAtMTEzLjF6TTExOS40IDk2Yy01LjYgOS43LTEzLjcgMTcuOC0yMy40IDIzLjRsMCAxMTMuMWM5LjcgNS42IDE3LjggMTMuNyAyMy40IDIzLjRsMjA5LjEgMGM1LjYtOS43IDEzLjctMTcuOCAyMy40LTIzLjRsMC0xMTMuMWMtOS43LTUuNi0xNy44LTEzLjctMjMuNC0yMy40TDExOS40IDk2ek01NDQgMjc5LjRjLTkuNy01LjYtMTcuOC0xMy43LTIzLjQtMjMuNGwtMjkuMiAwYy01LjMtMTcuNy0xNC44LTMzLjUtMjcuNC00Ni40bDAtMTcuNiA1Ni42IDBjMTEuMS0xOS4xIDMxLjctMzIgNTUuNC0zMiAzNS4zIDAgNjQgMjguNyA2NCA2NCAwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRsMCAxMTMuMWMxOS4xIDExLjEgMzIgMzEuNyAzMiA1NS40IDAgMzUuMy0yOC43IDY0LTY0IDY0LTIzLjcgMC00NC40LTEyLjktNTUuNC0zMmwtMjA5LjEgMGMtMTEuMSAxOS4xLTMxLjcgMzItNTUuNCAzMi0zNS4zIDAtNjQtMjguNy02NC02NCAwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRsMC0yNC42IDY0IDAgMCAyNC42YzkuNyA1LjYgMTcuOCAxMy43IDIzLjQgMjMuNGwyMDkuMSAwYzUuNi05LjcgMTMuNy0xNy44IDIzLjQtMjMuNGwwLTExMy4xeiJdfSx4X3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudCIsaWNvbjpbNTEyLDUxMixbMTI4NDg5LDYxNjY5XSwiZjA3NSIsIk01MTIgMjQwYzAgMTMyLjUtMTE0LjYgMjQwLTI1NiAyNDAtMzcuMSAwLTcyLjMtNy40LTEwNC4xLTIwLjdMMzMuNSA1MTAuMWMtOS40IDQtMjAuMiAxLjctMjcuMS01LjhTLTIgNDg1LjggMi44IDQ3Ni44bDQ4LjgtOTIuMkMxOS4yIDM0NC4zIDAgMjk0LjMgMCAyNDAgMCAxMDcuNSAxMTQuNiAwIDI1NiAwUzUxMiAxMDcuNSA1MTIgMjQweiJdfSx5X3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGlsbC1hdmFsYW5jaGUiLGljb246WzU3Niw1MTIsW10sImU1MDciLCJNNDQwLjEgNDAxLjljMzQuMiAyMy4xIDgxLjEgMTkuNSAxMTEuNC0xMC44IDM0LjQtMzQuNCAzNC40LTkwLjEgMC0xMjQuNS0yNy44LTI3LjgtNjkuNS0zMy4xLTEwMi42LTE2LTExLjggNi4xLTE2LjQgMjAuNi0xMC4zIDMyLjNzMjAuNiAxNi40IDMyLjMgMTAuM2MxNS4xLTcuOCAzNC01LjMgNDYuNiA3LjMgMTUuNiAxNS42IDE1LjYgNDAuOSAwIDU2LjZzLTQwLjkgMTUuNi01Ni42IDBsLTgxLjctODEuN2MyMi4zLTE0LjIgMzcuMS0zOS4xIDM3LjEtNjcuNSAwLTMzLjktMjEuMS02Mi45LTUwLjktNzQuNSAxLjktNi44IDIuOS0xNCAyLjktMjEuNSAwLTQ0LjItMzUuOC04MC04MC04MC0yNy4zIDAtNTEuNSAxMy43LTY1LjkgMzQuNi01LjgtMjAtMjQuMi0zNC42LTQ2LjEtMzQuNi0yNi41IDAtNDggMjEuNS00OCA0OCAwIDQgLjUgNy45IDEuNCAxMS42TDQ0MC4xIDQwMS45ek00ODAuNCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0wIDEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTY4LjcgODdDNDMuNSA2MS44IC40IDc5LjcgLjQgMTE1LjNMLjQgNDMyYzAgNDQuMiAzNS44IDgwIDgwIDgwbDMxNi43IDBjMzUuNiAwIDUzLjUtNDMuMSAyOC4zLTY4LjNMNjguNyA4N3oiXX0sd190PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy10by1leWUiLGljb246WzY0MCw1MTIsW10sImU0YmYiLCJNMTc2IDU2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMzguMS02My02M2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTMjEuNyA1NS42IDMxIDY1bDYzIDYzLTM4LjEgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw5NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtOTZ6bTAgNDAwbDAtOTZjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTk2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzguMSAwLTYzIDYzYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNjMtNjMgMCAzOC4xYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjR6bTMxMiAyNGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTM4LjEgNjMgNjNjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02My02MyAzOC4xIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTk2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgOTZjMCAxMy4zIDEwLjcgMjQgMjQgMjR6TTQ2NCA1NmwwIDk2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDk2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTM4LjEgMCA2My02M2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC02MyA2MyAwLTM4LjFjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6TTMyMCAxMjBjLTU3LjMgMC05OS40IDM0LTEyNS42IDY0LjMtMjAgMjMuMS0zMi40IDQ1LjgtMzcuNiA1Ni4xLTIuNSA1LTQuOSA5LjctNC45IDE1LjZzMi4zIDEwLjYgNC45IDE1LjZjNS4yIDEwLjMgMTcuNiAzMyAzNy42IDU2LjEgMjYuMiAzMC4zIDY4LjIgNjQuMyAxMjUuNiA2NC4zczk5LjQtMzQgMTI1LjYtNjQuM2MyMC0yMy4xIDMyLjQtNDUuOCAzNy42LTU2LjEgMi41LTUgNC45LTkuNyA0LjktMTUuNnMtMi4zLTEwLjYtNC45LTE1LjZjLTUuMi0xMC4zLTE3LjYtMzMtMzcuNi01Ni4xLTI2LjItMzAuMy02OC4yLTY0LjMtMTI1LjYtNjQuM3pNMjU2IDI1NmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6Il19LE1fdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzbm93cGxvdyIsaWNvbjpbNjQwLDUxMixbXSwiZjdkMiIsIk0xMjggMTYwbDAtOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRMMjk2LjQgMGMyNC4yIDAgNDYuNCAxMy43IDU3LjIgMzUuNGw4Ny42IDE3NS4xYzQuNCA4LjkgNi44IDE4LjcgNi44IDI4LjZsMCA1Ni45IDgwIDAgMC04MGMwLTQ4LjYgMzkuNC04OCA4OC04OCAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMjIuMSAwLTQwIDE3LjktNDAgNDBsMCAyMDhjMCAyMi4xIDE3LjkgNDAgNDAgNDAgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTQ4LjYgMC04OC0zOS40LTg4LTg4bDAtODAtNjMgMGM5LjUgMTYuNSAxNSAzNS42IDE1IDU2IDAgNjEuOS01MC4xIDExMi0xMTIgMTEybC0yMjQgMGMtNjEuOSAwLTExMi01MC4xLTExMi0xMTIgMC0zMC41IDEyLjItNTguMiAzMi03OC40TDY0IDIyNGMwLTM1LjMgMjguNy02NCA2NC02NHptOTEuNyAzNC45bDQzLjYgMjkuMSAxMTMuMiAwLTgwLTE2MC0xMDQuNCAwIDAgMTA4LjggMjcuNyAyMi4xek00MTYgNDAwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0yMjQgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhzMjEuNSA0OCA0OCA0OGwyMjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OHptLTI4MCAwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTIxNi0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTIzMiA0MDBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0sa190PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYXJ0LWdhbnR0IixpY29uOls1MTIsNTEyLFtdLCJlMGU0IiwiTTY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgNDAwYzAgNDQuMiAzNS44IDgwIDgwIDgwbDQwMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDQxNmMtOC44IDAtMTYtNy4yLTE2LTE2TDY0IDY0em05NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDB6bTY0IDExMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTI4IDB6TTM4NCAyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMHoiXX0sYWNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpZGVvIixpY29uOls1NzYsNTEyLFsidmlkZW8tY2FtZXJhIl0sImYwM2QiLCJNOTYgNjRjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMjU2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDY0ek00NjQgMzM2bDczLjUgNTguOGM0LjIgMy40IDkuNCA1LjIgMTQuOCA1LjIgMTMuMSAwIDIzLjctMTAuNiAyMy43LTIzLjdsMC0yNDAuNmMwLTEzLjEtMTAuNi0yMy43LTIzLjctMjMuNy01LjQgMC0xMC42IDEuOC0xNC44IDUuMkw0NjQgMTc2IDQ2NCAzMzZ6Il19LHpfdD1hY2UsU190PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXNzLXBhd24iLGljb246WzM4NCw1MTIsWzk4MjNdLCJmNDQzIiwiTTE5Mi0zMmM2Ni4zIDAgMTIwIDUzLjcgMTIwIDEyMCAwIDI3LTguOSA1MS45LTI0IDcyIDE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMC43IDAgMjYuNyAxNjAgNTYuMiA3MC4zYzUgNi4zIDcuOCAxNC4xIDcuOCAyMi4yIDAgMTkuNi0xNS45IDM1LjUtMzUuNSAzNS41TDUxLjUgNTEyYy0xOS42IDAtMzUuNS0xNS45LTM1LjUtMzUuNSAwLTguMSAyLjctMTUuOSA3LjgtMjIuMkw4MCAzODQgMTA2LjcgMjI0IDk2IDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmMtMTUuMS0yMC4xLTI0LTQ1LTI0LTcyIDAtNjYuMyA1My43LTEyMCAxMjAtMTIweiJdfSxDX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3luYWdvZ3VlIixpY29uOls1NzYsNTEyLFsxMjgzMzNdLCJmNjliIiwiTTE2IDgwYzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRsMCAzMi0xMjggMCAwLTMyem0wIDM2OGwwLTI4OCAxMjggMCAxMjYuMi04NC4yYzEwLjctNy4yIDI0LjgtNy4yIDM1LjUgMGwxMjYuMiA4NC4yIDEyOCAwIDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDgwIDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjR6TTU2MCAxMTJsLTEyOCAwIDAtMzJjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NGwwIDMyek0yMjQgMzg0bDAgODAgMTI4IDAgMC04MGMwLTM1LjMtMjguNy02NC02NC02NHMtNjQgMjguNy02NCA2NHptNjQtMTUyYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHoiXX0sX190PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLWNpcmNsZS1jaGVjayIsaWNvbjpbNTc2LDUxMixbXSwiZTRkMiIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE4MCAwYy0xMC41LTE0LjYtMTktMzAuNy0yNS4xLTQ4bC03NC45IDAgMC04MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzIgMCA0IC4yIDUuOSAuNSA2LTIzLjYgMTYuMy00NS40IDMwLjEtNjQuNWwtNCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0YzI3LjUtMTkuOCA2MC4zLTMyLjQgOTYtMzUuNEw0MTYgNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMOTYgMHptMzIgMTEyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTI3MiA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xMjggMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTU3NiA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTg2LjYtNjAuOWM3LjEgNS4yIDguNyAxNS4yIDMuNSAyMi4zbC02NCA4OGMtMi44IDMuOC03IDYuMi0xMS43IDYuNXMtOS4zLTEuMy0xMi42LTQuNmwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwyNi44IDI2LjggNTMtNzIuOWM1LjItNy4xIDE1LjItOC43IDIyLjQtMy41eiJdfSxUX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FsZW5kYXItcGx1cyIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3MSIsIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTk2IDE5MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDAgMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDggNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMCAwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxyY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2hlZWxjaGFpci1tb3ZlIixpY29uOls0NDgsNTEyLFsid2hlZWxjaGFpci1hbHQiXSwiZTJjZSIsIk0zMTIgNTZhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwek0yMDUuNCAxMjQuMWMtNi40LTUuMi0xNS42LTQuNy0yMS40IDEuMWwtMzMuNCAzMy40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wxMzguOCA4MGMyOS0yOSA3NS4yLTMxLjQgMTA3LTUuNWw4MS4zIDY2YzIxLjQgMTcuNCAyMy44IDQ5LjIgNS4yIDY5LjVsLTQxLjggNDYgOTggMGMzMC4zIDAgNTMgMjcuNyA0Ny4xIDU3LjRMNDA3LjQgNDU0LjNjLTMuNSAxNy4zLTIwLjMgMjguNi0zNy43IDI1LjFzLTI4LjYtMjAuMy0yNS4xLTM3LjdMMzY5IDMyMCAzMTYuOCAzMjBjMi4xIDEwLjMgMy4yIDIxIDMuMiAzMiAwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MFMwIDQ0MC40IDAgMzUyIDcxLjYgMTkyIDE2MCAxOTJjNiAwIDExLjkgLjMgMTcuOCAxbDUwLjQtNTAuNC0yMi43LTE4LjV6TTE2MCA0NDhhOTYgOTYgMCAxIDAgMC0xOTIgOTYgOTYgMCAxIDAgMCAxOTJ6Il19LExfdD1yY2UsJF90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItc2hpZWxkIixpY29uOls1NzYsNTEyLFtdLCJmNTA1IiwiTTIyNCAyNDhhMTIwIDEyMCAwIDEgMCAwLTI0MCAxMjAgMTIwIDAgMSAwIDAgMjQwem0tMjkuNyA1NkM5NS44IDMwNCAxNiAzODMuOCAxNiA0ODIuMyAxNiA0OTguNyAyOS4zIDUxMiA0NS43IDUxMmwyNTEuNSAwQzI2MSA0NjkuNCAyNDAgNDE0LjUgMjQwIDM1Ni40bDAtMzEuMWMwLTcuMyAxLTE0LjUgMi45LTIxLjNsLTQ4LjYgMHptMjUxIDE4NC41bC0xMy4zIDYuMyAwLTE4OC4xIDk2IDMyIDAgMTkuNmMwIDU1LjgtMzIuMiAxMDYuNS04Mi43IDEzMC4zek00MjEuOSAyNTkuNWwtMTEyIDM3LjNjLTEzLjEgNC40LTIxLjkgMTYuNi0yMS45IDMwLjRsMCAzMS4xYzAgNzQuNCA0MyAxNDIuMSAxMTAuMiAxNzMuN2wxOC41IDguN2M0LjggMi4yIDEwIDMuNCAxNS4yIDMuNHMxMC41LTEuMiAxNS4yLTMuNGwxOC41LTguN0M1MzMgNTAwLjMgNTc2IDQzMi42IDU3NiAzNTguMmwwLTMxLjFjMC0xMy44LTguOC0yNi0yMS45LTMwLjRsLTExMi0zNy4zYy02LjYtMi4yLTEzLjctMi4yLTIwLjIgMHoiXX0sRF90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvbGQiLGljb246WzM4NCw1MTIsW10sImYwMzIiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDMyIDAgMCAzMjAtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyMjQgMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOCAwLTQ2LjUtMjQuOC04Ny4zLTYyLTEwOS43IDE4LjctMjIuMyAzMC01MSAzMC04Mi4zIDAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4TDMyIDMyek0yODggMTYwYzAgMzUuMy0yOC43IDY0LTY0IDY0bC05NiAwIDAtMTI4IDk2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjR6TTEyOCA0MTZsMC0xMjggMTI4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRsLTEyOCAweiJdfSxpY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQtcHVsc2UiLGljb246WzUxMiw1MTIsWyJoZWFydGJlYXQiXSwiZjIxZSIsIk0yNTYgMTA3LjlMMjQxIDg3LjFDMjE2IDUyLjUgMTc1LjkgMzIgMTMzLjEgMzIgNTkuNiAzMiAwIDkxLjYgMCAxNjUuMWwwIDIuNmMwIDIzLjYgNi4yIDQ4IDE2LjYgNzIuM2wxMDYgMGMzLjIgMCA2LjEtMS45IDcuNC00LjlsMzEuOC03Ni4zYzMuNy04LjggMTIuMy0xNC42IDIxLjgtMTQuOHMxOC4zIDUuNCAyMi4yIDE0LjFsNTEuMyAxMTMuOSA0MS40LTgyLjhjNC4xLTguMSAxMi40LTEzLjMgMjEuNS0xMy4zczE3LjQgNS4xIDIxLjUgMTMuM2wyMy4yIDQ2LjNjMS40IDIuNyA0LjEgNC40IDcuMiA0LjRsMTIzLjYgMGMxMC41LTI0LjMgMTYuNi00OC43IDE2LjYtNzIuM2wwLTIuNkM1MTIgOTEuNiA0NTIuNCAzMiAzNzguOSAzMiAzMzYuMiAzMiAyOTYgNTIuNSAyNzEgODcuMWwtMTUgMjAuN3pNNDY5LjYgMjg4bC05Ny44IDBjLTIxLjIgMC00MC42LTEyLTUwLjEtMzFsLTEuNy0zLjQtNDIuNSA4NS4xYy00LjEgOC4zLTEyLjcgMTMuNS0yMiAxMy4zcy0xNy42LTUuNy0yMS40LTE0LjFsLTQ5LjMtMTA5LjUtMTAuNSAyNS4yYy04LjcgMjAuOS0yOS4xIDM0LjUtNTEuNyAzNC41bC04MC4yIDBjNDcuMiA3My44IDEyMyAxNDEuNyAxNzAuNCAxNzcuOSAxMi40IDkuNCAyNy42IDE0LjEgNDMuMSAxNC4xczMwLjgtNC42IDQzLjEtMTQuMUMzNDYuNiA0MjkuNyA0MjIuNCAzNjEuOCA0NjkuNiAyODh6Il19LEFfdD1pY2Usc2NlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1yb290LXZhcmlhYmxlIixpY29uOls1NzYsNTEyLFsic3F1YXJlLXJvb3QtYWx0Il0sImY2OTgiLCJNMjgyLjYgNzguMWM4LTI3LjMgMzMtNDYuMSA2MS40LTQ2LjFsMjAwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzQ0IDk2IDIzOC43IDQ1N2MtMy42IDEyLjMtMTQuMSAyMS4yLTI2LjggMjIuOHMtMjUuMS00LjYtMzEuNS0xNS42TDc3LjYgMjg4IDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0NS42IDBjMjIuOCAwIDQzLjggMTIuMSA1NS4zIDMxLjhsNjUuMiAxMTEuOCA4NC40LTI4OS41ek0zOTMuNCAyMzMuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw0MS40IDQxLjQgNDEuNC00MS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTQxLjQgNDEuNCA0MS40IDQxLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTQxLjQtNDEuNC00MS40IDQxLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDQxLjQtNDEuNC00MS40LTQxLjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zeiJdfSxQX3Q9c2NlLG9jZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kcy1idWJibGVzIixpY29uOls1MTIsNTEyLFsiaGFuZHMtd2FzaCJdLCJlMDVlIiwiTTM4NCA2NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTk2IDEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTEyOCA0NjRhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMCAxNjBsLjEgNzIuNmMwIDQ0LjggMTcuNiA4Ny4xIDQ3LjkgMTE4LjQgLjMtNzcgNDAuMS0xNDguNCAxMDUuNC0xODkuM2wxLjktMS4yYy0yLjUtMy43LTIuOC04LjYtLjQtMTIuN2w2Mi0xMDcuNGM2LjYtMTEuNSAyLjctMjYuMi04LjgtMzIuOFMxODIgNSAxNzUuNCAxNi41bC02OCAxMTcuOCAwIDAgMCAwLTQzLjMgNzUgMC00OS4zYzAtMTcuNy0xNC40LTMyLTMyLTMyUzAgMTQyLjQgMCAxNjB6bTIxMy42LTM1LjljMTQuMS04LjggMjkuOC0xMi43IDQ1LjItMTIuMWwzNi41LTYzLjNjNi42LTExLjUgMi43LTI2LjItOC44LTMyLjhzLTI2LjItMi43LTMyLjggOC44bC02Ny4xIDExNi4yIDI3LTE2Ljl6bTg2LjUtMzUuN2wtMTYuNCAyOC40YzE1LjEgNS41IDI4LjYgMTUuNiAzOC4zIDI5LjdsMTkuNy0zNC4yYzYuNi0xMS41IDIuNy0yNi4yLTguOC0zMi44cy0yNi4yLTIuNy0zMi44IDguOHptNDYuNCA2My43bC0xMi41IDIxLjdjMiA4LjYgMi41IDE3LjUgMS43IDI2LjFsNC4zIDAgMCAwIDM0LjQgMCAxMy43LTIzLjhjNi42LTExLjUgMi43LTI2LjItOC44LTMyLjhzLTI2LjItMi43LTMyLjggOC44ek0yODMuMSAxNzVjLTkuNC0xNS0yOS4xLTE5LjUtNDQuMS0xMC4ybC02MC4yIDM3LjZDMTI3LjMgMjM0LjcgOTYgMjkxLjIgOTYgMzUybDAgOGMwIDguOSAuOCAxNy42IDIuMiAyNi4xIDM1LjQgOC4yIDYxLjggNDAgNjEuOCA3Ny45IDAgNi4zLS43IDEyLjUtMi4xIDE4LjQgMjUuMiAxOC42IDU2LjQgMjkuNiA5MC4xIDI5LjZsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTkyIDBjLTYuNiAwLTEyLTUuNC0xMi0xMnM1LjQtMTIgMTItMTJsMTI0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTEyNCAwYy02LjYgMC0xMi01LjQtMTItMTJzNS40LTEyIDEyLTEybDE1NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNTYgMGMtNi42IDAtMTItNS40LTEyLTEyczUuNC0xMiAxMi0xMmwxMjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTM2IDAgMCAwIDAgMC05My4yIDAgNDYuMi0yOC45YzE1LTkuNCAxOS41LTI5LjEgMTAuMi00NC4xeiJdfSxFX3Q9b2NlLElfdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJrZXIiLGljb246WzUxMiw1MTIsW10sImY1YTEiLCJNNDA4LjggMGMtMjcuNCAwLTUzLjYgMTAuOS03MyAzMC4yTDMxOC4xIDQ4IDMwNSAzNC45Yy0yOC4xLTI4LjEtNzMuNy0yOC4xLTEwMS44IDBMMTAzIDEzNWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwTDIzNy4xIDY4LjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMjg0LjEgODEuOSAxODQgMTgyLjEgMzI5LjkgMzI4IDQ4MS44IDE3Ni4yYzE5LjQtMTkuNCAzMC4yLTQ1LjYgMzAuMi03MyAwLTU3LTQ2LjItMTAzLjItMTAzLjItMTAzLjJ6TTEwMi40IDI2My43Yy00OS45IDQ5LjktODMuMyAxMTQtOTUuNSAxODMuNUwuNCA0ODMuOEMtMSA0OTEuNiAxLjUgNDk5LjQgNyA1MDVzMTMuNCA4IDIxLjEgNi43bDM2LjctNi41YzY5LjUtMTIuMyAxMzMuNi00NS42IDE4My41LTk1LjVMMjk2IDM2MS45IDE1MC4xIDIxNiAxMDIuNCAyNjMuN3oiXX0sTl90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsaXBib2FyZCIsaWNvbjpbMzg0LDUxMixbMTI4MjAzXSwiZjMyOCIsIk0zMjAgMzJsLTguNiAwQzMwMC40IDEyLjkgMjc5LjcgMCAyNTYgMEwxMjggMEMxMDQuMyAwIDgzLjYgMTIuOSA3Mi42IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zNTJjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTEzNiAxMTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTEyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTExMiAweiJdfSxSX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhY2Utb2Ytd29yc2hpcCIsaWNvbjpbNTEyLDUxMixbXSwiZjY3ZiIsIk0xNjAgNzlsMCA4MS00NC44IDMzLjZDMTAzLjEgMjAyLjcgOTYgMjE2LjkgOTYgMjMybDAgNDAtNjAuNiAzMC4zQzEzLjcgMzEzLjIgMCAzMzUuMyAwIDM1OS42TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0IDc0LjcgMCA4NS40IDAgMzIwIDBsNjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTg4LjRjMC0yNC4yLTEzLjctNDYuNC0zNS40LTU3LjJMNDE2IDI3MiA0MTYgMjMyYzAtMTUuMS03LjEtMjkuMy0xOS4yLTM4LjRMMzUyIDE2MCAzNTIgNzljMC05LjUtNC4yLTE4LjUtMTEuNS0yNC42TDI3MS40LTMuMmMtOC45LTcuNC0yMS44LTcuNC0zMC43IDBMMTcxLjUgNTQuNEMxNjQuMiA2MC41IDE2MCA2OS41IDE2MCA3OXptOTYgMjQxYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgODAtMTI4IDAgMC04MGMwLTM1LjMgMjguNy02NCA2NC02NHoiXX0sRl90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbm5hYmlzIixpY29uOls1MTIsNTEyLFtdLCJmNTVmIiwiTTI1NiAwYzUuMyAwIDEwLjMgMi43IDEzLjMgNy4xIDE1LjggMjMuNSAzNi43IDYzLjcgNDkuMiAxMDkgNy4zIDI2LjQgMTEuOCA1NS4zIDEwLjMgODQgMTEuNi04LjkgMjMuNy0xNi43IDM1LjktMjMuNyA0MS0yMy4zIDg0LjQtMzYuOSAxMTIuMi00Mi41IDUuMi0xIDEwLjcgLjYgMTQuNCA0LjRzNS40IDkuMiA0LjQgMTQuNWMtNS42IDI3LjctMTkuMyA3MC45LTQyLjcgMTExLjctOS4xIDE1LjktMTkuOSAzMS43LTMyLjUgNDYuMyAyNy45IDYuNiA1Mi41IDE3LjIgNjcuMyAyNS40IDUuMSAyLjggOC4yIDguMiA4LjIgMTRzLTMuMiAxMS4yLTguMiAxNGMtMTUuMiA4LjQtNDAuOSAxOS41LTY5LjggMjYuMS0yMC4yIDQuNi00Mi45IDcuMi02NS4yIDQuNmw4LjMgMzMuMmMxLjUgNi4xLS42IDEyLjUtNS41IDE2LjRzLTExLjYgNC42LTE3LjIgMS44TDI4MCA0MTcuMiAyODAgNDg4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNzAuOC01OC41IDI5LjFjLTUuNiAyLjgtMTIuMyAyLjEtMTcuMi0xLjhzLTctMTAuMy01LjUtMTYuNGw4LjMtMzMuMmMtMjIuMiAyLjYtNDUgMC02NS4yLTQuNi0yOC45LTYuNi01NC41LTE3LjYtNjkuOC0yNi4xLTUuMS0yLjgtOC4yLTguMi04LjItMTRzMy4yLTExLjIgOC4yLTE0bDYuMi0zLjNjMTUtNy42IDM2LjgtMTYuNCA2MS4xLTIyLjItMTIuNS0xNC41LTIzLjMtMzAuNC0zMi40LTQ2LjItMjMuNC00MC44LTM3LjEtODQtNDIuNy0xMTEuNy0xLjEtNS4yIC42LTEwLjcgNC40LTE0LjVzOS4yLTUuNCAxNC40LTQuNGMyNy45IDUuNSA3MS4yIDE5LjIgMTEyLjIgNDIuNSAxMi4yIDYuOSAyNC4zIDE0LjggMzUuOCAyMy43LTEuNC0yOC43IDMuMS01Ny42IDEwLjMtODQgMTIuNS00NS4zIDMzLjQtODUuNSA0OS4yLTEwOWwxLjItMS42QzI0Ni45IDIgMjUxLjMgMCAyNTYgMHoiXX0sT190PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlb3BsZS1yb29mIixpY29uOls1NzYsNTEyLFtdLCJlNTM3IiwiTTMwMi4zLTEyLjZjLTktNC41LTE5LjYtNC41LTI4LjYgMGwtMjU2IDEyOEMxLjkgMTIzLjMtNC41IDE0Mi41IDMuNCAxNTguM3MyNy4xIDIyLjIgNDIuOSAxNC4zTDI4OCA1MS44IDUyOS43IDE3Mi42YzE1LjggNy45IDM1IDEuNSA0Mi45LTE0LjNzMS41LTM1LTE0LjMtNDIuOWwtMjU2LTEyOHpNMjg4IDI3MmE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnptMCA0OGMtNTMgMC05NiA0My05NiA5NmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzJjMC01My00My05Ni05Ni05NnpNMTYwIDI1NmE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwem0zNTIgMGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0xMTIgMzM2Yy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDMzLjFjMCAxNyAxMy44IDMwLjkgMzAuOSAzMC45bDg3LjggMGMtNC4zLTkuOC02LjctMjAuNi02LjctMzJsMC00OGMwLTE4LjQgMy41LTM2IDkuOC01Mi4yLTEyLjItNy41LTI2LjUtMTEuOC00MS44LTExLjh6TTQyNS40IDQ4MGw4Ny44IDBjMTcgMCAzMC45LTEzLjggMzAuOS0zMC45bDAtMzMuMWMwLTQ0LjItMzUuOC04MC04MC04MC0xNS4zIDAtMjkuNiA0LjMtNDEuOCAxMS44IDYuMyAxNi4yIDkuOCAzMy44IDkuOCA1Mi4ybDAgNDhjMCAxMS40LTIuNCAyMi4yLTYuNyAzMnoiXX0sQl90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpc2Vhc2UiLGljb246WzUxMiw1MTIsW10sImY3ZmEiLCJNMjM2LjUgMjkuNEwyMjQgNDhjLTIwIDMwLTUzLjYgNDgtODkuNyA0OEw2OCA5NmMtMzcuNSAwLTY3LjkgMzAuNC02Ny45IDY3LjkgMCAxOCA3LjIgMzUuMiAxOS45IDQ3LjlsMjcgMjdjMTEgMTEgMTcuMiAyNS45IDE3LjIgNDEuNSAwIDE1LjgtNi40IDMwLjktMTcuNyA0MkwzMy40IDMzNS4xYy0xMS4xIDEwLjgtMTcuMyAyNS43LTE3LjMgNDEuMiAwIDM2LjggMzQuMSA2NC4yIDcwLjEgNTYuMmw2Mi4zLTEzLjhjNy43LTEuNyAxNS43LTIuNiAyMy42LTIuNiAzMi44IDAgNjQuMiAxNC42IDg1LjIgMzkuOGwzMC41IDM2LjZjMTAuNCAxMi40IDI1LjcgMTkuNiA0MS45IDE5LjYgMzAuMSAwIDU0LjUtMjQuNCA1NC41LTU0LjVsMC01MS4yYzAtNDEuNCAyNS40LTc4LjUgNjQtOTMuNWwyMi4yLTguNmMyNS4yLTkuOCA0MS44LTM0LjEgNDEuOC02MS4xIDAtMjYuNC0xNS45LTUwLjMtNDAuMy02MC41TDQyOSAxNjQuOGMtMzMuMi0xMy45LTU3LjYtNDMtNjUuNS03OC4xbC03LjktMzUuMmMtNi44LTMwLjEtMzMuNS01MS41LTY0LjMtNTEuNS0yMiAwLTQyLjYgMTEtNTQuOCAyOS40ek0xNjAgMTkyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptOTYgMGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0zMiA5NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LG5jZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLWJpYmxlIixpY29uOls0NDgsNTEyLFsiYmlibGUiXSwiZjY0NyIsIk05NiA1MTJjLTUzIDAtOTYtNDMtOTYtOTZMMCA5NkMwIDQzIDQzIDAgOTYgMEw0MDAgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDI4OGMwIDIwLjktMTMuNCAzOC43LTMyIDQ1LjNsMCA2Ni43YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDk2IDUxMnptMC0xMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjU2IDAgMC02NC0yNTYgMHpNMTkyIDgwbDAgNDgtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDQ4IDAgMCAxMTJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTEyIDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC00OCAwIDAtNDhjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6Il19LEhfdD1uY2UscV90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXNzLWJvYXJkIixpY29uOls0NDgsNTEyLFtdLCJmNDNjIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTY0IDY0bDAgNjQgNjQgMCAwLTY0IDY0IDAgMCA2NCA2NCAwIDAtNjQgNjQgMCAwIDY0LTY0IDAgMCA2NCA2NCAwIDAgNjQtNjQgMCAwIDY0IDY0IDAgMCA2NC02NCAwIDAtNjQtNjQgMCAwIDY0LTY0IDAgMC02NC02NCAwIDAgNjQtNjQgMCAwLTY0IDY0IDAgMC02NC02NCAwIDAtNjQgNjQgMCAwLTY0LTY0IDAgMC02NCA2NCAwem02NCAxMjhsNjQgMCAwLTY0LTY0IDAgMCA2NHptMCA2NGwwLTY0LTY0IDAgMCA2NCA2NCAwem02NCAwbC02NCAwIDAgNjQgNjQgMCAwLTY0em0wIDBsNjQgMCAwLTY0LTY0IDAgMCA2NHoiXX0sVl90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcnMiLGljb246WzUxMiw1MTIsWzk3OTRdLCJmMjIyIiwiTTMyMCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMkw0ODAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTUwLjctOTUgOTVjMTkuNSAyOC40IDMxIDYyLjcgMzEgOTkuOCAwIDk3LjItNzguOCAxNzYtMTc2IDE3NlMzMiA0MDEuMiAzMiAzMDQgMTEwLjggMTI4IDIwOCAxMjhjMzcgMCA3MS40IDExLjQgOTkuOCAzMWw5NS05NS01MC43IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0yMDggNDE2YTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHoiXX0sal90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhcHRvcCIsaWNvbjpbNjQwLDUxMixbMTI4MTg3XSwiZjEwOSIsIk0xMjggMzJDOTIuNyAzMiA2NCA2MC43IDY0IDk2bDAgMjQwIDY0IDAgMC0yNDAgMzg0IDAgMCAyNDAgNjQgMCAwLTI0MGMwLTM1LjMtMjguNy02NC02NC02NEwxMjggMzJ6TTE5LjIgMzg0QzguNiAzODQgMCAzOTIuNiAwIDQwMy4yIDAgNDQ1LjYgMzQuNCA0ODAgNzYuOCA0ODBsNDg2LjQgMGM0Mi40IDAgNzYuOC0zNC40IDc2LjgtNzYuOCAwLTEwLjYtOC42LTE5LjItMTkuMi0xOS4yTDE5LjIgMzg0eiJdfSxsY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci14bWFyayIsaWNvbjpbNTc2LDUxMixbInVzZXItdGltZXMiXSwiZjIzNSIsIk0yNTQuMSAzMDRjOTguNSAwIDE3OC4zIDc5LjggMTc4LjMgMTc4LjMgMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMNDYuMSA1MTJjLTE2LjQgMC0yOS43LTEzLjMtMjkuNy0yOS43IDAtOTguNSA3OS44LTE3OC4zIDE3OC4zLTE3OC4zbDU5LjQgMHpNNTMwLjMgMTA4LjFjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC0zMy45IDMzLjkgMzMuOSAzMy45YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTMzLjktMzMuOS0zMy45IDMzLjljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzMuOS0zMy45LTMzLjktMzMuOWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDMzLjkgMzMuOSAzMy45LTMzLjl6TTIyNC40IDI0OGExMjAgMTIwIDAgMSAxIDAtMjQwIDEyMCAxMjAgMCAxIDEgMCAyNDB6Il19LFVfdD1sY2UsV190PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZsYWctdXNhIixpY29uOls0NDgsNTEyLFtdLCJmNzRkIiwiTTMyIDBDNDkuNyAwIDY0IDE0LjMgNjQgMzJsMCAxNiA2OS0xNy4yYzM4LjEtOS41IDc4LjMtNS4xIDExMy41IDEyLjUgNDYuMyAyMy4yIDEwMC44IDIzLjIgMTQ3LjEgMGw5LjYtNC44QzQyMy44IDI4LjEgNDQ4IDQzLjEgNDQ4IDY2LjFsMCAzNi4xLTQ0LjcgMTYuMmMtNDIuOCAxNS42LTkwIDEzLjktMTMxLjYtNC42bC0xNi4xLTcuMmMtMjAuMy05LTQxLjgtMTQuNy02My42LTE2LjlsMCAzMi4yYzE3LjQgMi4xIDM0LjQgNi43IDUwLjYgMTMuOWwxNi4xIDcuMmM0OS4yIDIxLjkgMTA1IDIzLjggMTU1LjYgNS40bDMzLjctMTIuMyAwIDYyLTQ0LjcgMTYuMmMtNDIuOCAxNS42LTkwIDEzLjktMTMxLjYtNC42bC0xNi4xLTcuMmMtNDAuMi0xNy45LTg1LTIyLjUtMTI4LjEtMTMuM2wtNjMuNSAxMy42IDAgMzIuNyA3MC4yLTE1LjFjMzYuNC03LjggNzQuMy0zLjkgMTA4LjQgMTEuM2wxNi4xIDcuMmM0OS4yIDIxLjkgMTA1IDIzLjggMTU1LjYgNS40bDMzLjctMTIuMyAwIDYxLjktNDQuNyAxNi4yYy00Mi44IDE1LjYtOTAgMTMuOS0xMzEuNi00LjZsLTE2LjEtNy4yYy00MC4yLTE3LjktODUtMjIuNS0xMjguMS0xMy4zbC02My41IDEzLjYgMCAzMi43IDcwLjItMTUuMWMzNi40LTcuOCA3NC4zLTMuOSAxMDguNCAxMS4zbDE2LjEgNy4yYzQ5LjIgMjEuOSAxMDUgMjMuOCAxNTUuNiA1LjRsMzMuNy0xMi4zIDAgMzMuNWMwIDEzLjMtOC4zIDI1LjMtMjAuOCAzMGwtMzQuNyAxM2MtNDYuMiAxNy4zLTk3LjYgMTQuNi0xNDEuNy03LjQtMzcuOS0xOS04MS40LTIzLjctMTIyLjUtMTMuNEw2NCA0MDAgNjQgNDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDk3LjcgMCA0ODBMMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDB6bTgwIDk2YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6bTMyIDBhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem0tMzIgNDhhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptMzIgMGExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6Il19LEdfdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLW1pZGRsZS1maW5nZXIiLGljb246WzQ0OCw1MTIsWzEyODQwNV0sImY4MDYiLCJNMjMyIDBjLTIyLjEgMC00MCAxNy45LTQwIDQwbDAgMTY0LjJjLTguNS03LjYtMTkuNy0xMi4yLTMyLTEyLjItMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTU1LjdjLTIgMS40LTMuOSAzLTUuOCA0LjVMNTUgMjg0LjhDNDAuNCAyOTcgMzIgMzE1IDMyIDMzNEwzMiAzNzJjMCAzOCAxNi45IDc0IDQ2LjEgOTguM2w1LjQgNC41YzI4LjggMjQgNjUgMzcuMSAxMDIuNCAzNy4xTDMwNCA1MTJjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhsMC05NmMwLTI2LjUtMjEuNS00OC00OC00OC0xMi40IDAtMjMuNiA0LjctMzIuMSAxMi4zLTEuOS0yNC44LTIyLjYtNDQuMy00Ny45LTQ0LjMtMTIuMyAwLTIzLjUgNC42LTMyIDEyLjJMMjcyIDQwYzAtMjIuMS0xNy45LTQwLTQwLTQweiJdfSxZX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9ydGFyLXBlc3RsZSIsaWNvbjpbNTEyLDUxMixbXSwiZjVhNyIsIk01MDQuMyAxMS4xQzQ5My4zLTEuNiA0NzQuNS0zLjcgNDYxIDYuMkwyNTIuMyAxNjAgMzk3LjMgMTYwIDUwMi42IDU0LjZjMTEuOC0xMS44IDEyLjYtMzAuOCAxLjYtNDMuNXpNMzIgMTkyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyYzAgODIuNSA0My40IDE0Ny43IDEyMy45IDE3Ni4yLTExLjEgMTMuOS0xOS40IDMwLjMtMjMuOSA0OC4xLTQuNCAxNy4xIDEwLjQgMzEuNyAyOC4xIDMxLjdsMTkyIDBjMTcuNyAwIDMyLjQtMTQuNiAyOC4xLTMxLjctNC41LTE3LjgtMTIuOC0zNC4xLTIzLjktNDguMSA4MC41LTI4LjYgMTIzLjktOTMuNyAxMjMuOS0xNzYuMiAxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAxOTJ6Il19LFpfdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFkLXNpZGUtY291Z2giLGljb246WzUxMiw1MTIsW10sImUwNjEiLCJNOTYgNTEybDY0IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNmwxIDBjMjYgMCA0Ny0yMSA0Ny00NyAwLTExLTMuOS0yMS42LTEwLjktMzAuMUwyNzMuMyAyMDBDMjcxLjQgMTk3LjYgMjcwLjEgMTk0LjcgMjY5LjcgMTkxLjcgMjU0IDgzLjMgMTYwLjcgMCA0OCAwIDQwLjQgMCAzMi45IC40IDI1LjQgMS4xIDEwLjUgMi42IDAgMTUuOSAwIDMwLjlMMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMHptMTYtMzIwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTYzLjEgMjM3LjJsLTQxLjUtMy41Yy0xMi4yLTEtMjEuNi0xMS4yLTIxLjYtMjMuNCAwLTEwLjggNy4zLTIwLjIgMTcuOC0yMi44bDQwLjQtMTAuMWMxOS4yLTQuOCAzNy44IDkuNyAzNy44IDI5LjUgMCAxNy44LTE1LjIgMzEuOC0zMi45IDMwLjN6TTQ4MCAzMTJhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0tNDAgMjRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptLTY0IDQ4YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6bTEyOCAwYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTQ4MCA1MDRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0tNDAtNzJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0sWF90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLWxvY2siLGljb246WzY0MCw1MTIsW10sImU1NTgiLCJNMjMyIDI0YzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZsMCAxMjcuMyA4Mi4xIDc1LjJDNDA5LjcgMjQ4LjEgNDAwIDI3NC45IDQwMCAzMDRsMCAyNC40Yy03LjMgNi42LTEzLjYgMTQuMi0xOC43IDIyLjdsLTM3LjMtMTIuNCAwIDk5LjcgMjQgMTkuMiAwIDM4LjNjMCAxMy41IDIuOCAyNi40IDcuOCAzOC4xTDI4OCA1MTIgMTc5LjkgNTM5Yy0xMC4xIDIuNS0xOS45LTUuMS0xOS45LTE1LjVsMC0xOS44YzAtNC45IDIuMi05LjUgNi0xMi41bDY2LTUyLjggMC05OS43LTE2Mi45IDU0LjNDNTguNyAzOTYuNCA0OCAzODguNyA0OCAzNzcuOGwwLTQzLjdjMC05IDMuOC0xNy41IDEwLjQtMjMuNkwyMzIgMTUxLjMgMjMyIDI0ek01NjAgMzA0LjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek00MTYgNDAwYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxjY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmF0dGVyeS10aHJlZS1xdWFydGVycyIsaWNvbjpbNjQwLDUxMixbImJhdHRlcnktNCJdLCJmMjQxIiwiTTUyOCAxMjhjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjI0YzAgOC44LTcuMiAxNi0xNiAxNmwtNDE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTIyNGMwLTguOCA3LjItMTYgMTYtMTZsNDE2IDB6TTExMiA2NGMtNDQuMiAwLTgwIDM1LjgtODAgODBsMCAyMjRjMCA0NC4yIDM1LjggODAgODAgODBsNDE2IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC00OGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybDAtNDhjMC00NC4yLTM1LjgtODAtODAtODBMMTEyIDY0em01NiAxMTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDIyNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0bC0yMjQgMHoiXX0sS190PWNjZSxRX3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZnJhbmMtc2lnbiIsaWNvbjpbMzIwLDUxMixbXSwiZTE4ZiIsIk04MCAzMkM2Mi4zIDMyIDQ4IDQ2LjMgNDggNjRsMCAyNTYtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNCAwIDAgODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTgwIDg4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTg4IDAgMC02NCAxNDQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTQ0IDAgMC05NiAxNzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw4MCAzMnoiXX0sZGNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbHRlci1jaXJjbGUtZG9sbGFyIixpY29uOls1NzYsNTEyLFsiZnVubmVsLWRvbGxhciJdLCJmNjYyIiwiTTMyIDY0QzE5LjEgNjQgNy40IDcxLjggMi40IDgzLjhTLjIgMTA5LjUgOS40IDExOC42TDE5MiAzMDEuMyAxOTIgNDE2YzAgOC41IDMuNCAxNi42IDkuNCAyMi42bDY0IDY0YzIuNSAyLjUgNS4zIDQuNSA4LjMgNi0yMS4yLTMwLjktMzMuNi02OC4zLTMzLjYtMTA4LjYgMC05OS40IDc1LjUtMTgxLjEgMTcyLjMtMTkxbDkwLjQtOTAuNGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVM0OTIuOSA2NCA0ODAgNjRMMzIgNjR6TTU3NiA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHpNNDE2IDMyMGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgOCAxNiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC00NS44IDBjLTUuNiAwLTEwLjIgNC42LTEwLjIgMTAuMiAwIDQuOSAzLjUgOS4xIDguMyAxMGw0NSA4LjJjMjAgMy42IDM0LjYgMjEuMSAzNC42IDQxLjUgMCAyMy4zLTE4LjkgNDIuMi00Mi4yIDQyLjJsLTUuOCAwIDAgOGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw1My44IDBjNS42IDAgMTAuMi00LjYgMTAuMi0xMC4yIDAtNC45LTMuNS05LjEtOC4zLTEwbC00NS04LjJjLTIwLTMuNi0zNC42LTIxLjEtMzQuNi00MS41IDAtMjIuNiAxNy43LTQxIDQwLTQyLjFsMC04LjF6Il19LEpfdD1kY2UsZVR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZWVzZSIsaWNvbjpbNTEyLDUxMixbXSwiZjdlZiIsIk01MTIgMjQwLjJsMCAxNS44LTUxMiAwYzAtMjAgMTAtMzguNyAyNi42LTQ5LjhMMjc0LjkgNDAuN2M4LjYtNS43IDE4LjYtOC43IDI4LjktOC43IDExNSAwIDIwOC4yIDkzLjIgMjA4LjIgMjA4LjJ6bTAgNjMuOGwwIDExMmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTEyIDUxMiAweiJdfSxwY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWgiLGljb246WzUxMiw1MTIsWzk0MDUsImhvc3BpdGFsLXN5bWJvbCJdLCJmNDdlIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem05Ni0zNDRsMCAxNzZjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC02NC05NiAwIDAgNjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xNzZjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDY0IDk2IDAgMC02NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0eiJdfSx0VHQ9cGNlLGFUdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY2hvb2wiLGljb246WzU3Niw1MTIsWzEyNzk3OV0sImY1NDkiLCJNMCAxOTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjQgMCAxMjcuOS0xMTUuMWMxOC4zLTE2LjQgNDYtMTYuNCA2NC4yIDBMNDQ4IDEyOCA1MTIgMTI4YzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxOTJ6TTIyNCAzNzZsMCA4OCAxMjggMCAwLTg4YzAtMjIuMS0xNy45LTQwLTQwLTQwbC00OCAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MHptLTExMiA4YzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDB6bTE2LTE0NGwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2ek00OTYgMzg0YzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDB6bTE2LTE0NGwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2ek0yODggMjU2YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4eiJdfSxyVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGljZS1maXZlIixpY29uOls0NDgsNTEyLFs5ODYwXSwiZjUyMyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem02NCA5NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTk2IDM1MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0yMjQgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptNjQtNjRhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMzIgMTYwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0saVR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvcm5hZG8iLGljb246WzQ0OCw1MTIsWzEyNzc4Nl0sImY3NmYiLCJNMCAzMkwwIDQ1LjZDMCA2Mi43IDEuNyA3OS42IDUgOTZsMzUyLjggMGMzLjItNi45IDcuNS0xMy4zIDEzLTE4LjhsMzguNi0zOC42YzQuMi00LjIgNi42LTEwIDYuNi0xNiAwLTEyLjUtMTAuMS0yMi42LTIyLjYtMjIuNkwzMiAwQzE0LjMgMCAwIDE0LjMgMCAzMnpNMzU1LjcgMTQ0bC0zMzYgMGMxMi40IDI5LjcgMzAuMiA1Ni44IDUyLjcgODBsMzM5LjYgMC00Ny4yLTYyLjljLTMuOS01LjItNy0xMS05LjItMTcuMXpNMjQyLjYgMzM0LjdjOC4yIDQuOCAxNS44IDEwLjcgMjIuNSAxNy4zTDQ0NSAzNTJjMi05LjggMy0xOS45IDMtMzAuMSAwLTE3LjEtMi45LTM0LTguNi00OS45TDEzNiAyNzIgMjQyLjYgMzM0Ljd6TTI5NC4zIDQwMGM1LjMgMTcgNi41IDM1LjIgMy42IDUzbC01LjkgMzUuN2MtMiAxMi4yIDcuNCAyMy40IDE5LjggMjMuNCA1LjMgMCAxMC40LTIuMSAxNC4yLTUuOWw3OC4yLTc4LjJjOC41LTguNSAxNS44LTE3LjggMjEuOS0yNy45bC0xMzEuOCAweiJdfSx1Y2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiamV0LWZpZ2h0ZXIiLGljb246WzU3Niw1MTIsWyJmaWdodGVyLWpldCJdLCJmMGZiIiwiTTQ5Ni4yIDIwNi44Yy0xMC43LTQuNS0yMi4yLTYuOC0zMy44LTYuOEwzNjIgMjAwIDI0OCA0OCAyOTYgNDhjMTMuMyAwIDI0LTEwLjcgMjQtMjRTMzA5LjMgMCAyOTYgMEwxNTIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw4IDAgMCAxNTItNTQuNCAwLTUyLjgtNjZjLTMtMy44LTcuNi02LTEyLjUtNkwxNiAxMjhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDg4IDQwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQwIDAgMCA4OGMwIDguOCA3LjIgMTYgMTYgMTZsMjQuMyAwYzQuOSAwIDkuNS0yLjIgMTIuNS02bDUyLjgtNjYgNTQuNCAwIDAgMTUyLTggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMCAxMTQtMTUyIDEwMC40IDBjMTEuNiAwIDIzLjEtMi4zIDMzLjgtNi44bDY1LTI3LjFjOC45LTMuNyAxNC44LTEyLjUgMTQuOC0yMi4ycy01LjgtMTguNC0xNC44LTIyLjJsLTY1LTI3LjF6Il19LHNUdD11Y2Usb1R0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRodW1icy1kb3duIixpY29uOls1MTIsNTEyLFsxMjgwNzgsNjE1NzZdLCJmMTY1IiwiTTM4NCAzMmMyNi41IDAgNDggMjEuNSA0OCA0OCAwIDYuMy0xLjMgMTIuMi0zLjQgMTcuNyAyMC40IDUuNSAzNS40IDI0LjEgMzUuNCA0Ni4zIDAgOS4xLTIuNiAxNy42LTcgMjQuOSAyMi4yIDQuMiAzOSAyMy43IDM5IDQ3LjEgMCAxOS43LTExLjkgMzYuNi0yOC45IDQ0IDE3IDcuNCAyOC45IDI0LjMgMjguOSA0NCAwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTYwIDAgMjguMiA3MC40YzIuNSA2LjMgMy44IDEzLjEgMy44IDE5LjlsMCA0LjJjMCAyNy4zLTIyLjEgNDkuNC00OS40IDQ5LjQtMTguNyAwLTM1LjgtMTAuNi00NC4yLTI3LjNMMTcwLjEgMzU2LjNjLTYuNy0xMy4zLTEwLjEtMjgtMTAuMS00Mi45bDAtMTg2LjZjMC0xOS40IDguOS0zNy44IDI0LTUwbDEyLjItOS43QzIyNC42IDQ0LjQgMjU5LjggMzIgMjk2LjEgMzJMMzg0IDMyek04MCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNDggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMCAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsNDggMHoiXX0sblR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyb29tIixpY29uOls1NzYsNTEyLFsxMjk1MjldLCJmNTFhIiwiTTU2Ni42IDU0LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE5MiAxOTItMzQuNy0zNC43Yy00LjItNC4yLTEwLTYuNi0xNi02LjYtMTIuNSAwLTIyLjYgMTAuMS0yMi42IDIyLjZsMCAyOS4xIDEwOC4zIDEwOC4zIDI5LjEgMGMxMi41IDAgMjIuNi0xMC4xIDIyLjYtMjIuNiAwLTYtMi40LTExLjgtNi42LTE2bC0zNC43LTM0LjcgMTkyLTE5MnpNMzQxLjEgMzUzLjRMMjIyLjYgMjM0LjljLTQyLjctMy43LTg1LjIgMTEuNy0xMTUuOCA0Mi4zbC04IDhjLTIyLjMgMjIuMy0zNC44IDUyLjUtMzQuOCA4NCAwIDYuOCA3LjEgMTEuMiAxMy4yIDguMmw1MS4xLTI1LjVjNS0yLjUgOS41IDQuMSA1LjQgNy45TDcuMyA0NzMuNEMyLjcgNDc3LjYgMCA0ODMuNiAwIDQ4OS45IDAgNTAyLjEgOS45IDUxMiAyMi4xIDUxMmwxNzMuMyAwYzM4LjggMCA3NS45LTE1LjQgMTAzLjQtNDIuOCAzMC42LTMwLjYgNDUuOS03My4xIDQyLjMtMTE1Ljh6Il19LGZjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWltcG9ydCIsaWNvbjpbMzg0LDUxMixbImFycm93LXJpZ2h0LXRvLWZpbGUiXSwiZjU2ZiIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NGwwIDI0MCAxODIuMSAwLTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNzIgNzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTcyIDcyYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMxLTMxLTE4Mi4xIDAgMCA5NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI3Ny41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI1OC43IDE4LjdDMjQ2LjcgNi43IDIzMC41IDAgMjEzLjUgMEw2NCAwek0zMjUuNSAxNzZMMjMyIDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjA4IDU4LjUgMzI1LjUgMTc2eiJdfSxsVHQ9ZmNlLGhjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1dGVuc2lscyIsaWNvbjpbNTEyLDUxMixbMTI3ODYwLDYxNjg1LCJjdXRsZXJ5Il0sImYyZTciLCJNNjMuOSAxNC40QzYzLjEgNi4yIDU2LjIgMCA0OCAwcy0xNS4xIDYuMi0xNiAxNC4zTDE3LjkgMTQ5LjdjLTEuMyA2LTEuOSAxMi4xLTEuOSAxOC4yIDAgNDUuOSAzNS4xIDgzLjYgODAgODcuN0w5NiA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIyNC40YzQ0LjktNC4xIDgwLTQxLjggODAtODcuNyAwLTYuMS0uNi0xMi4yLTEuOS0xOC4yTDIyMy45IDE0LjNDMjIzLjEgNi4yIDIxNi4yIDAgMjA4IDBzLTE1LjEgNi4yLTE1LjkgMTQuNEwxNzguNSAxNDkuOWMtLjYgNS43LTUuNCAxMC4xLTExLjEgMTAuMS01LjggMC0xMC42LTQuNC0xMS4yLTEwLjJMMTQzLjkgMTQuNkMxNDMuMiA2LjMgMTM2LjMgMCAxMjggMHMtMTUuMiA2LjMtMTUuOSAxNC42TDk5LjggMTQ5LjhjLS41IDUuOC01LjQgMTAuMi0xMS4yIDEwLjItNS44IDAtMTAuNi00LjQtMTEuMS0xMC4xTDYzLjkgMTQuNHpNNDQ4IDBDNDMyIDAgMzIwIDMyIDMyMCAxNzZsMCAxMTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNDQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSxjVHQ9aGNlLGRUdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpZC1iYWRnZSIsaWNvbjpbMzg0LDUxMixbXSwiZjJjMSIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwem05NiAzNTJsNjQgMGM0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDguOC03LjIgMTYtMTYgMTZMOTYgNDQ4Yy04LjggMC0xNi03LjItMTYtMTYgMC00NC4yIDM1LjgtODAgODAtODB6bS0yNC05NmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTE1MiA2NGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxwVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3BpZGVyIixpY29uOls1MTIsNTEyLFsxMjgzNzVdLCJmNzE3IiwiTTM2OS4zLTMxYzExLjktMy41IDI0LjQgMi43IDI5IDEzLjlsLjggMi4zIDQwIDEzNmMyLjUgOC40IC4xIDE3LjUtNi4xIDIzLjdsLTY0LjEgNjQuMSA3Ni40LTIwLjggMTkuOS01OS44IC45LTIuM2M1LTExLjEgMTcuNy0xNi44IDI5LjUtMTIuOSAxMS44IDMuOSAxOC41IDE2LjEgMTUuOCAyOGwtLjcgMi40LTI0IDcyYy0yLjUgNy42LTguNyAxMy40LTE2LjUgMTUuNmwtOTEuMSAyNC44IDkxLjEgMjQuOGM3LjcgMi4xIDEzLjkgOCAxNi41IDE1LjZsMjQgNzIgLjcgMi40YzIuNyAxMS45LTQuMSAyNC4xLTE1LjggMjgtMTEuOCAzLjktMjQuNS0xLjgtMjkuNS0xMi45bC0uOS0yLjMtMTkuOS01OS44LTc2LjQtMjAuOCA2NC4xIDY0LjFjNi4xIDYuMSA4LjUgMTUuMSA2LjIgMjMuNGwtNDAgMTQ0LS44IDIuM2MtNC40IDExLjMtMTYuOCAxNy43LTI4LjggMTQuNC0xMi0zLjMtMTkuMy0xNS4yLTE3LjItMjcuMmwuNS0yLjQgMzYuMi0xMzAuNS0zNy4yLTM3LjJDMzUxIDQwNiAzMDguNCA0NDggMjU2IDQ0OHMtOTUtNDItOTYtOTQuMWwtMzcgMzcgMzYgMTIyLjMgLjYgMi40YzIuMiAxMS45LTQuOSAyMy45LTE2LjggMjcuNC0xMS45IDMuNS0yNC40LTIuNy0yOS0xMy45bC0uOC0yLjMtNDAtMTM2Yy0yLjUtOC40LS4xLTE3LjUgNi4xLTIzLjhsNjQuMS02NC4xLTc2LjQgMjAuOC0xOS45IDU5LjgtLjkgMi4zYy01IDExLjEtMTcuNyAxNi44LTI5LjUgMTIuOXMtMTguNS0xNi4xLTE1LjgtMjhsLjctMi40IDI0LTcyYzIuNS03LjYgOC43LTEzLjQgMTYuNS0xNS42bDkxLjEtMjQuOC05MS4xLTI0LjhjLTcuNy0yLjEtMTMuOS04LTE2LjUtMTUuNmwtMjQtNzItLjctMi40Yy0yLjctMTEuOSA0LjEtMjQuMSAxNS44LTI4czI0LjUgMS44IDI5LjUgMTIuOWwuOSAyLjMgMTkuOSA1OS44IDc2LjQgMjAuOC02NC4xLTY0LjFjLTYuMi02LjItOC41LTE1LjMtNi4xLTIzLjdsNDAtMTM2IC44LTIuM2M0LjYtMTEuMyAxNy4xLTE3LjQgMjktMTMuOSAxMS45IDMuNSAxOSAxNS41IDE2LjggMjcuNGwtLjYgMi40LTM2IDEyMi4zIDUzIDUzYzEtNDMuMyAzNi40LTc4LjEgNzkuOS03OC4xczc4LjkgMzQuOCA3OS45IDc4LjJsNTMuMS01My4xLTM2LTEyMi4zLS42LTIuNGMtMi4yLTEyIDQuOS0yMy45IDE2LjgtMjcuNHoiXX0sdVR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vYmlsZS1yZXRybyIsaWNvbjpbMzg0LDUxMixbXSwiZTUyNyIsIk0xNiA2NEMxNiAyOC43IDQ0LjcgMCA4MCAwTDMwNCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDgwIDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMTYgNjR6bTgwIDk2bDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem04IDE5MmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTI0IDcyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0IDEwLjcgMjQgMjQgMjQgMjQtMTAuNyAyNC0yNHptNjQtNzJhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0yNCA3MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNCAxMC43IDI0IDI0IDI0IDI0LTEwLjcgMjQtMjR6bTY0LTcyYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMjQgNzJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjQgMTAuNyAyNCAyNCAyNCAyNC0xMC43IDI0LTI0ek0xNjggNDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMHoiXX0sbWNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpZ25zLXBvc3QiLGljb246WzUxMiw1MTIsWyJtYXAtc2lnbnMiXSwiZjI3NyIsIk0yNTYuNCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTE2MCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2MCAwIDAgNjQtMTUzLjQgMGMtNC4yIDAtOC4zIDEuNy0xMS4zIDQuN2wtNDggNDhjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42bDQ4IDQ4YzMgMyA3LjEgNC43IDExLjMgNC43bDE1My40IDAgMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTYgMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTYwIDAgMC02NCAxNTMuNCAwYzQuMiAwIDguMy0xLjcgMTEuMy00LjdsNDgtNDhjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZsLTQ4LTQ4Yy0zLTMtNy4xLTQuNy0xMS4zLTQuN2wtMTUzLjQgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSxmVHQ9bWNlLGhUdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJncm91cC1hcnJvd3Mtcm90YXRlIixpY29uOls1MTIsNTEyLFtdLCJlNGY2IiwiTTM3LjYgMTIyLjNjLTExLjUgMTguNy0yMC42IDM5LTI3IDYwLjUtNSAxNi45IDQuNiAzNC44IDIxLjUgMzkuOHMzNC44LTQuNiAzOS44LTIxLjVjMTguNC02MS45IDY3LjMtMTEwLjggMTI5LjItMTI5LjIgMTYuOS01IDI2LjYtMjIuOSAyMS41LTM5LjhTMTk5LjggNS42IDE4Mi45IDEwLjZDMTYxLjQgMTcgMTQxLjEgMjYuMSAxMjIuMyAzNy42IDExMi4zIDE1LjQgODkuOSAwIDY0IDAgMjguNyAwIDAgMjguNyAwIDY0IDAgODkuOSAxNS40IDExMi4zIDM3LjYgMTIyLjN6bTQzNi43IDBjMjIuMi0xMCAzNy42LTMyLjQgMzcuNi01OC4zIDAtMzUuMy0yOC43LTY0LTY0LTY0LTI1LjkgMC00OC4zIDE1LjQtNTguMyAzNy42LTE4LjctMTEuNS0zOS0yMC42LTYwLjUtMjctMTYuOS01LTM0LjggNC42LTM5LjggMjEuNXM0LjYgMzQuOCAyMS41IDM5LjhjNjEuOSAxOC40IDExMC44IDY3LjMgMTI5LjIgMTI5LjIgNSAxNi45IDIyLjkgMjYuNiAzOS44IDIxLjVzMjYuNi0yMi45IDIxLjUtMzkuOGMtNi40LTIxLjUtMTUuNS00MS44LTI3LTYwLjV6TTUxMiA0NDhjMC0yNS45LTE1LjQtNDguMy0zNy42LTU4LjMgMTEuNS0xOC43IDIwLjYtMzkgMjctNjAuNSA1LTE2LjktNC42LTM0LjgtMjEuNS0zOS44cy0zNC44IDQuNi0zOS44IDIxLjVjLTE4LjQgNjEuOS02Ny4zIDExMC44LTEyOS4yIDEyOS4yLTE2LjkgNS0yNi42IDIyLjktMjEuNSAzOS44czIyLjkgMjYuNiAzOS44IDIxLjVjMjEuNS02LjQgNDEuOC0xNS41IDYwLjUtMjcgMTAgMjIuMiAzMi40IDM3LjYgNTguMyAzNy42IDM1LjMgMCA2NC0yOC43IDY0LTY0ek0zNy42IDM4OS43Yy0yMi4yIDEwLTM3LjYgMzIuNC0zNy42IDU4LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjQgMjUuOSAwIDQ4LjMtMTUuNCA1OC4zLTM3LjYgMTguNyAxMS41IDM5IDIwLjYgNjAuNSAyNyAxNi45IDUgMzQuOC00LjYgMzkuOC0yMS41cy00LjYtMzQuOC0yMS41LTM5LjhjLTYxLjktMTguNC0xMTAuOC02Ny4zLTEyOS4yLTEyOS4yLTUtMTYuOS0yMi45LTI2LjYtMzkuOC0yMS41UzUuNiAzMTIuMiAxMC42IDMyOS4xYzYuNCAyMS41IDE1LjUgNDEuOCAyNyA2MC41ek0yNTYgMTkyYzE1LjYgMCAzMCA1LjYgNDEuMSAxNC45bC0xNS4zIDE1LjNjLTYuNiA2LjYtMS45IDE3LjggNy40IDE3LjhsNjAuNSAwYzUuNyAwIDEwLjQtNC43IDEwLjQtMTAuNGwwLTYwLjVjMC05LjMtMTEuMi0xMy45LTE3LjgtNy40bC0xMS4yIDExLjJjLTE5LjgtMTcuOS00Ni4yLTI4LjktNzUuMS0yOC45LTQzLjYgMC04MS4zIDI0LjktOTkuOCA2MS4xLTYgMTEuOC0xLjQgMjYuMyAxMC40IDMyLjNzMjYuMyAxLjQgMzIuMy0xMC40YzEwLjYtMjAuOCAzMi4yLTM0LjkgNTctMzQuOXptNTguNiA5My4xYy0xMC42IDIwLjgtMzIuMiAzNC45LTU3IDM0LjktMTUuNyAwLTMwLTUuNi00MS4xLTE0LjlsMTUuMy0xNS4zYzYuNi02LjYgMS45LTE3LjgtNy40LTE3LjhMMTY0IDI3MmMtNS43IDAtMTAuNCA0LjctMTAuNCAxMC40bDAgNjAuNWMwIDkuMyAxMS4yIDEzLjkgMTcuOCA3LjRsMTEuMi0xMS4yYzE5LjggMTcuOSA0Ni4yIDI4LjkgNzUuMSAyOC45IDQzLjYgMCA4MS4zLTI0LjkgOTkuOC02MS4xIDYtMTEuOCAxLjQtMjYuMy0xMC40LTMyLjNzLTI2LjMtMS40LTMyLjMgMTAuNHoiXX0sbVR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy1zcGxpdC11cC1hbmQtbGVmdCIsaWNvbjpbNTEyLDUxMixbXSwiZTRiYyIsIk0zNDIuNi0yMi42Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNDEuNC00MS40IDAgMTk1LjljLTE4LjgtMTAuOS00MC43LTE3LjEtNjQtMTcuMWwtMTE0LjcgMCA0MS40LTQxLjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDEwOS4zIDMyMCAyMjQgMzIwYzM1LjMgMCA2NCAyOC43IDY0IDY0IDAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4bDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzA2LjcgNDEuNCA0MS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2eiJdfSxnVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsbC1kcmlwIixpY29uOls1NzYsNTEyLFtdLCJmNTc2IiwiTTMwOS43IDcxLjZsLTY0LjQgNjQuNCAzMy40IDMzLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTMzLjQtMzMuNC05Ni40IDk2LjRjLTIuOSAyLjktNS4xIDYuNS02LjMgMTAuM2wzMjEuNSAwIDUzLjctNTMuN2M0LjktNC45IDcuNi0xMS41IDcuNi0xOC4zcy0yLjctMTMuNS03LjYtMTguM0wzNDYuMyA3MS42QzM0MS41IDY2LjcgMzM0LjkgNjQgMzI4IDY0cy0xMy41IDIuNy0xOC4zIDcuNnpNNTguMyAyMzIuNGw5Ni40LTk2LjQtNDkuNC00OS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDIwMCA5MC43IDI2NC40IDI2LjNDMjgxLjMgOS41IDMwNC4xIDAgMzI4IDBzNDYuNyA5LjUgNjMuNiAyNi4zTDUxNy43IDE1Mi40QzUzNC41IDE2OS4zIDU0NCAxOTIuMSA1NDQgMjE2cy05LjUgNDYuNy0yNi4zIDYzLjZMMzExLjYgNDg1LjdDMjk0LjcgNTAyLjUgMjcxLjkgNTEyIDI0OCA1MTJzLTQ2LjctOS41LTYzLjYtMjYuM0w1OC4zIDM1OS42QzQxLjUgMzQyLjcgMzIgMzE5LjkgMzIgMjk2czkuNS00Ni43IDI2LjMtNjMuNnpNNTEyIDU0NGMtMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yNS4yIDMyLjYtNzkuNiA1MS4yLTEwOC43IDYtOS40IDE5LjUtOS40IDI1LjUgMCAxOC43IDI5LjEgNTEuMiA4My41IDUxLjIgMTA4LjcgMCAzNS4zLTI4LjcgNjQtNjQgNjR6Il19LGJUdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGllbGQtaGVhcnQiLGljb246WzUxMiw1MTIsW10sImU1NzQiLCJNMjY5LjQgMi45QzI2NS4yIDEgMjYwLjcgMCAyNTYgMHMtOS4yIDEtMTMuNCAyLjlMNTQuMyA4Mi44Yy0yMiA5LjMtMzguNCAzMS0zOC4zIDU3LjIgLjUgOTkuMiA0MS4zIDI4MC43IDIxMy42IDM2My4yIDE2LjcgOCAzNi4xIDggNTIuOCAwIDE3Mi40LTgyLjUgMjEzLjItMjY0IDIxMy42LTM2My4yIC4xLTI2LjItMTYuMy00Ny45LTM4LjMtNTcuMkwyNjkuNCAyLjl6TTI0OS42IDE4My41bDYuNCA4LjUgNi40LTguNWMxMS4xLTE0LjggMjguNS0yMy41IDQ2LjktMjMuNSAzMi40IDAgNTguNyAyNi4zIDU4LjcgNTguN2wwIDUuM2MwIDQ5LjEtNjUuOCA5OC4xLTk2LjUgMTE4LjMtOS41IDYuMi0yMS41IDYuMi0zMC45IDAtMzAuNy0yMC4yLTk2LjUtNjkuMy05Ni41LTExOC4zbDAtNS4zYzAtMzIuNCAyNi4zLTU4LjcgNTguNy01OC43IDE4LjUgMCAzNS45IDguNyA0Ni45IDIzLjV6Il19LGdjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tc2tpaW5nLW5vcmRpYyIsaWNvbjpbNTc2LDUxMixbInNraWluZy1ub3JkaWMiXSwiZjdjYSIsIk00MjQuOCAxNmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnptOTkuOCAxOTMuN2M3LjYgMTUuMiAxLjkgMzMuNi0xMi42IDQybDAgMTgwLjMtMzIgMCAwLTE2NC4yLTEwLjEgNWMtMjcuNCAxMy43LTYwLjcgNi4xLTc5LjQtMTguMmwtMTkuNi0yNS41LTM5LjUgNjguOCAyNC44IDEyLjRjMjkuNSAxNC43IDQyLjkgNDkuNSAzMS4xIDgwLjJsLTI4LjIgNzMuNCAxNDkuNCAwYzcuOSAwIDE1LjYtMi4zIDIyLjItNi43bDcuOS01LjNjMTEtNy40IDI1LjktNC40IDMzLjMgNi43czQuNCAyNS45LTYuNyAzMy4zbC03LjkgNS4zQzU0MyA1MDYuOSA1MjYgNTEyIDUwOC42IDUxMmwtMTg5LjEgMGMtLjUgMC0xIDAtMS41IDBMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDg4IDBjMC04LjIgMy4xLTE2LjQgOS40LTIyLjZsNzQuMS03NC4xIDEwLjItMzUuOWMxMS4zIDE4LjMgMjcuNyAzMy44IDQ4LjQgNDQuMmw0LjggMi40LTEuOSA2LjhjLTMgMTAuNS04LjYgMjAtMTYuMyAyNy43bC01MS41IDUxLjUgMTAxLjMgMCAzNy4xLTk2LjQtNTUuNi0yNy44QzIzMC40IDMxOSAyMTUuMyAyNjcgMjM5LjMgMjI3LjFsMzcuNy02Mi43LTI3LjctNy43Yy05LTIuNS0xOC4xIDMuMi0yMCAxMi4zbC01LjkgMjkuM2MtMy4xIDE1LjYtMTcuMSAyNi4zLTMyLjUgMjUuN2wtMTMwIDIwOC0zNy43IDAgMTQwLjYtMjI1Yy0zLjQtNi4zLTQuNi0xMy44LTMuMS0yMS4zbDUuOS0yOS4zYzkuMS00NS42IDU1LjEtNzMuOCA5OS45LTYxLjRsMzIuNSA5YzQ2LjcgMTMgODggNDAuOCAxMTcuNiA3OS4zbDI0LjkgMzIuMyA0MC40LTIwLjJjMTUuOC03LjkgMzUtMS41IDQyLjkgMTQuM3oiXX0sdlR0PWdjZSxiY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWNoZWNrIixpY29uOls0NDgsNTEyLFs5NzQ1LDk5ODksNjE1MTAsImNoZWNrLXNxdWFyZSJdLCJmMTRhIiwiTTM4NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDB6TTM0MiAxNDUuN2MtMTAuNy03LjgtMjUuNy01LjQtMzMuNSA1LjNMMTg5LjEgMzE1LjIgMTM3IDI2My4xYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDcyIDcyYzUgNSAxMS45IDcuNSAxOC44IDdzMTMuNC00LjEgMTcuNS05LjhMMzQ3LjMgMTc5LjJjNy44LTEwLjcgNS40LTI1LjctNS4zLTMzLjV6Il19LHhUdD1iY2UsdmNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhdGgiLGljb246WzUxMiw1MTIsWzEyODcwNSwiYmF0aHR1YiJdLCJmMmNkIiwiTTk2IDc3LjNjMC03LjMgNS45LTEzLjMgMTMuMy0xMy4zIDMuNSAwIDYuOSAxLjQgOS40IDMuOWwxNC45IDE0LjljLTMuNiA5LjEtNS41IDE4LjktNS41IDI5LjIgMCAxOS45IDcuMiAzOCAxOS4yIDUyLTUuMyA5LjItNCAyMS4xIDMuOCAyOSA5LjQgOS40IDI0LjYgOS40IDMzLjkgMEwyODkgODljOS40LTkuNCA5LjQtMjQuNiAwLTMzLjktNy44LTcuOS0xOS44LTkuMS0yOS0zLjgtMTQtMTItMzIuMS0xOS4yLTUyLTE5LjItMTAuMyAwLTIwLjIgMi0yOS4yIDUuNUwxNjMuOSAyMi42QzE0OS40IDguMSAxMjkuNyAwIDEwOS4zIDAgNjYuNiAwIDMyIDM0LjYgMzIgNzcuM0wzMiAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMCA0OGMwIDI4LjQgMTIuNCA1NCAzMiA3MS42TDY0IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYgMjU2IDAgMCAxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNDAuNGMxOS42LTE3LjYgMzItNDMuMSAzMi03MS42bDAtNDhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMOTYgMjU2IDk2IDc3LjN6Il19LHlUdD12Y2Usd1R0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXNzLWJpc2hvcCIsaWNvbjpbMzIwLDUxMixbOTgyMV0sImY0M2EiLCJNNjQgMzg0TDQ4LjMgMzY4LjNDMTcuNCAzMzcuNCAwIDI5NS40IDAgMjUxLjcgMCAyMTMuMSAxMy41IDE3NS44IDM4LjIgMTQ2LjFMMTA2LjcgNjQgOTYgNjRDNzguMyA2NCA2NCA0OS43IDY0IDMyUzc4LjMgMCA5NiAwTDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMC43IDAgNDcuNiA1Ny4xLTg1LjkgODUuOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDgyLjMtODIuM2MxOC43IDI3LjMgMjguNyA1OS43IDI4LjcgOTMgMCA0My43LTE3LjQgODUuNy00OC4zIDExNi42TDI1NiAzODQgMzEyLjIgNDU0LjNjNSA2LjMgNy44IDE0LjEgNy44IDIyLjIgMCAxOS42LTE1LjkgMzUuNS0zNS41IDM1LjVMMzUuNSA1MTJjLTE5LjYgMC0zNS41LTE1LjktMzUuNS0zNS41IDAtOC4xIDIuNy0xNS45IDcuOC0yMi4yTDY0IDM4NHoiXX0seGNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InByZXNjcmlwdGlvbi1ib3R0bGUtbWVkaWNhbCIsaWNvbjpbMzg0LDUxMixbInByZXNjcmlwdGlvbi1ib3R0bGUtYWx0Il0sImY0ODYiLCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0TDAgMzJ6TTMyIDE0NGwzMjAgMCAwIDMwNGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzA0ek0xNjAgMjQ4bDAgNDAtNDAgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDQwIDAgMCA0MGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC00MCA0MCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtNDAgMCAwLTQwYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2eiJdfSxNVHQ9eGNlLHljZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkcmF3LXBvbHlnb24iLGljb246WzUxMiw1MTIsWzU4MDU1LCJ2ZWN0b3ItcG9seWdvbiJdLCJmNWVlIiwiTTY0IDBjMjMuNyAwIDQ0LjQgMTIuOSA1NS40IDMybDI3My4xIDBjMTEuMS0xOS4xIDMxLjctMzIgNTUuNC0zMiAzNS4zIDAgNjQgMjguNyA2NCA2NCAwIDM0LTI2LjUgNjEuOC02MCA2My45bC0yLjEgMi45LTcxLjUgOTkuMWMzLjYgOCA1LjYgMTYuOSA1LjYgMjYuMnMtMiAxOC4yLTUuNiAyNi4ybDIuMiAzLjEgNjkuMyA5NiAyLjEgMi45YzMzLjUgMi4xIDYwIDI5LjkgNjAgNjMuOSAwIDM1LjMtMjguNyA2NC02NCA2NC0yMy43IDAtNDQuNC0xMi45LTU1LjQtMzJsLTI3My4xIDBjLTExLjEgMTkuMS0zMS43IDMyLTU1LjQgMzItMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yMy43IDEyLjktNDQuNCAzMi01NS40bDAtMjczLjFDMTIuOSAxMDguNCAwIDg3LjcgMCA2NCAwIDI4LjcgMjguNyAwIDY0IDB6TTM5NC4yIDQxMy40bC02NS41LTkwLjYtMi4yLTMuMWMtMi4xIC4yLTQuMyAuMy02LjUgLjMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGMyLjIgMCA0LjQgLjEgNi41IC4zbDY3LjctOTMuN2MtLjYtLjktMS4xLTEuNy0xLjYtMi42TDExOS40IDk2Yy01LjYgOS43LTEzLjcgMTcuOC0yMy40IDIzLjRsMCAyNzMuMWM5LjcgNS42IDE3LjggMTMuNyAyMy40IDIzLjRsMjczLjEgMGMuNS0uOSAxLjEtMS44IDEuNi0yLjZ6Il19LGtUdD15Y2UselR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImktY3Vyc29yIixpY29uOlsyNTYsNTEyLFtdLCJmMjQ2IiwiTS4xIDI5LjNDLTEuNCA0NyAxMS43IDYyLjQgMjkuMyA2My45bDggLjdDNzAuNSA2Ny4zIDk2IDk1IDk2IDEyOC4zbDAgOTUuNy0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCA5NS43YzAgMzMuMy0yNS41IDYxLTU4LjcgNjMuOGwtOCAuN0MxMS43IDQ0OS42LTEuNCA0NjUgLjEgNDgyLjdTMTcgNTEzLjQgMzQuNyA1MTEuOWw4LS43YzM0LjEtMi44IDY0LjItMTguOSA4NS40LTQyLjkgMjEuMiAyNCA1MS4yIDQwIDg1LjQgNDIuOWw4IC43YzE3LjYgMS41IDMzLjEtMTEuNiAzNC41LTI5LjJzLTExLjYtMzMuMS0yOS4yLTM0LjVsLTgtLjdDMTg1LjUgNDQ0LjcgMTYwIDQxNyAxNjAgMzgzLjdsMC05NS43IDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC05NS43YzAtMzMuMyAyNS41LTYxIDU4LjctNjMuOGw4LS43YzE3LjYtMS41IDMwLjctMTYuOSAyOS4yLTM0LjVTMjM5LTEuNCAyMjEuMyAuMWwtOCAuN2MtMzQuMSAyLjgtNjQuMiAxOC45LTg1LjQgNDIuOS0yMS4yLTI0LTUxLjItNDAtODUuNC00Mi45bC04LS43QzE3LTEuNCAxLjYgMTEuNyAuMSAyOS4zeiJdfSxTVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQtY2lyY2xlLXBsdXMiLGljb246WzU3Niw1MTIsW10sImU1MDAiLCJNMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43QzI5NiA1Mi41IDMzNi4yIDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDE3LjYtMy40IDM1LjYtOS41IDUzLjctMjEuOC04LjYtNDUuNi0xMy40LTcwLjUtMTMuNC0xMDYgMC0xOTIgODYtMTkyIDE5MiAwIDI4LjUgNi4yIDU1LjYgMTcuNCA4MC0uNSAwLS45IDAtMS40IDAtMTUuNSAwLTMwLjgtNC42LTQzLjEtMTQuMS03My01NS43LTIxMi45LTE4Ni0yMTIuOS0yOTguMmwwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMXpNNDMyIDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTE2IDgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNDgtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTQ4IDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTQ4IDAgMC00OHoiXX0sQ1R0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoaWVsZC1kb2ciLGljb246WzUxMiw1MTIsW10sImU1NzMiLCJNMjY5LjQgMi45QzI2NS4yIDEgMjYwLjcgMCAyNTYgMHMtOS4yIDEtMTMuNCAyLjlMNTQuMyA4Mi44Yy0yMiA5LjMtMzguNCAzMS0zOC4zIDU3LjIgLjUgOTkuMiA0MS4zIDI4MC43IDIxMy42IDM2My4yIDE2LjcgOCAzNi4xIDggNTIuOCAwIDE3Mi40LTgyLjUgMjEzLjItMjY0IDIxMy42LTM2My4yIC4xLTI2LjItMTYuMy00Ny45LTM4LjMtNTcuMkwyNjkuNCAyLjl6TTE2MC45IDI4Ni4yYzQuOCAxLjIgOS45IDEuOCAxNS4xIDEuOCAzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0IDQ0LjIgMGMxMi4xIDAgMjMuMiA2LjggMjguNiAxNy43bDcuMiAxNC4zIDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA0NC4yLTM1LjggODAtODAgODBsLTQ4IDAgMCA1MC43YzAgNy4zLTUuOSAxMy4zLTEzLjMgMTMuMy0xLjggMC0zLjYtLjQtNS4yLTEuMWwtOTguNy00Mi4zYy02LjYtMi44LTEwLjgtOS4zLTEwLjgtMTYuNCAwLTIuOCAuNi01LjUgMS45LThsMTUtMzB6TTE2MCAxNjBsNDggMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDhjMC04LjggNy4yLTE2IDE2LTE2em0xMjggNDhhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHoiXX0sX1R0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdyZWF0ZXItdGhhbi1lcXVhbCIsaWNvbjpbNDQ4LDUxMixbXSwiZjUzMiIsIk0yMS45IDk0LjRDNS4xIDg4LjgtMy45IDcwLjYgMS43IDUzLjlTMjUuNCAyOC4xIDQyLjEgMzMuNmwzODQgMTI4QzQzOS4yIDE2NiA0NDggMTc4LjIgNDQ4IDE5MnMtOC44IDI2LTIxLjkgMzAuNGwtMzg0IDEyOGMtMTYuOCA1LjYtMzQuOS0zLjUtNDAuNS0yMC4yczMuNS0zNC45IDIwLjItNDAuNUwzMTQuOCAxOTIgMjEuOSA5NC40ek00MTYgNDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzODQgMHoiXX0sVFR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVudmVsb3BlLW9wZW4iLGljb246WzUxMiw1MTIsWzYyMTM1XSwiZjJiNiIsIk02NC40IDE3NS44TDI1NiAzMy45IDQ0Ny42IDE3NS44IDI4OS41IDI5M2MtOS43IDcuMi0yMS40IDExLTMzLjUgMTFzLTIzLjgtMy45LTMzLjUtMTFMNjQuNCAxNzUuOHpNMjU2LTMyYy0xMi4xIDAtMjMuOCAzLjktMzMuNSAxMUwyNS45IDEyNC43QzkuNiAxMzYuOCAwIDE1NS44IDAgMTc2LjFMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMzkuOWMwLTIwLjMtOS42LTM5LjQtMjUuOS01MS40TDI4OS41LTIxYy05LjctNy4yLTIxLjQtMTEtMzMuNS0xMXoiXX0sTFR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vdW5kIixpY29uOls1MTIsNTEyLFtdLCJlNTJkIiwiTTExMi40IDE3OS4yQzE0MiAxMjcuNyAxOTYuOCA5NiAyNTYuMiA5NnMxMTQuMiAzMS43IDE0My45IDgzLjJMNTA4LjcgMzY4YzEyLjMgMjEuMy0zLjEgNDgtMjcuNyA0OEwzMS41IDQxNmMtMjQuNiAwLTQwLTI2LjYtMjcuNy00OEwxMTIuNCAxNzkuMnoiXX0sJFR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvaWNlbWFpbCIsaWNvbjpbNjQwLDUxMixbXSwiZjg5NyIsIk0xNDQgMTYwYTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwek0yNjMuOCAzMjBjMTUuMy0yMi45IDI0LjItNTAuNCAyNC4yLTgwIDAtNzkuNS02NC41LTE0NC0xNDQtMTQ0UzAgMTYwLjUgMCAyNDAgNjQuNSAzODQgMTQ0IDM4NGwzNTIgMGM3OS41IDAgMTQ0LTY0LjUgMTQ0LTE0NFM1NzUuNSA5NiA0OTYgOTYgMzUyIDE2MC41IDM1MiAyNDBjMCAyOS42IDguOSA1Ny4xIDI0LjIgODBsLTExMi41IDB6TTQ5NiAxNjBhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6Il19LERUdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2ZXN0IixpY29uOls0NDgsNTEyLFtdLCJlMDg1IiwiTTIwMCA0NjRsMC0xNzAuMWMwLTMuOS0uNS03LjgtMS40LTExLjZMMTQ0LjQgNjUuNEMxNjIuMSA3Ny4yIDE4OC4yIDg4IDIyNCA4OHM2MS45LTEwLjggNzkuNi0yMi42TDI0OS40IDI4Mi4zYy0xIDMuOC0xLjQgNy43LTEuNCAxMS42TDI0OCA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsMTA0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xOTMuNWMwLTkuNS0yLjgtMTguNy04LjEtMjYuNmwtNDcuOS03MS44Yy01LjMtNy45LTguMS0xNy4xLTguMS0yNi42TDM4NCA0OGMwLTI2LjUtMjEuNS00OC00OC00OGwtMy41IDBjLS4zIDAtLjYgMC0xIDAtLjYgMC0xLjIgMC0xLjggMC0xOC44IDAtMzQuMSA5LjctNDQuMSAxOC44LTkuMyA4LjQtMjguNSAyMS4yLTYxLjcgMjEuMnMtNTIuNC0xMi44LTYxLjctMjEuMmMtMTAtOS4xLTI1LjMtMTguOC00NC4xLTE4LjgtLjYgMC0xLjIgMC0xLjggMC0uMyAwLS42IDAtMSAwTDExMiAwQzg1LjUgMCA2NCAyMS41IDY0IDQ4bDAgOTcuNWMwIDkuNS0yLjggMTguNy04LjEgMjYuNkw4LjEgMjQzLjlDMi44IDI1MS44IDAgMjYxLjEgMCAyNzAuNUwwIDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMDQgMGMyNi41IDAgNDgtMjEuNSA0OC00OHoiXX0sQVR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImF1ZGlvLWRlc2NyaXB0aW9uIixpY29uOls1MTIsNTEyLFtdLCJmMjllIiwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6bTk2IDk2bDAgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yNCA0OCAwIDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEwNGMwLTM1LjMtMjguNy02NC02NC02NGwtMTYgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjR6bTQ4IDMybDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzItNDggMHptMTUyLTk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE0NGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzM5LjggMCA3Mi0zMi4yIDcyLTcybDAtNDhjMC0zOS44LTMyLjItNzItNzItNzJsLTQ4IDB6bTQ4IDE0NGwtMjQgMCAwLTk2IDI0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHoiXX0sUFR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InciLGljb246WzU3Niw1MTIsWzExOV0sIjU3IiwiTTIwLjggMzRjMTYuNS02LjIgMzUgMi4yIDQxLjIgMTguN0wxNzIuMiAzNDYuNyAyNTcuMyA1NWM0LTEzLjcgMTYuNS0yMyAzMC43LTIzczI2LjcgOS40IDMwLjcgMjNMNDAzLjggMzQ2LjcgNTE0IDUyLjhjNi4yLTE2LjUgMjQuNi0yNC45IDQxLjItMTguN1M1ODAuMiA1OC43IDU3NCA3NS4ybC0xNDQgMzg0Yy00LjggMTIuOS0xNy40IDIxLjMtMzEuMiAyMC43cy0yNS43LTkuOC0yOS41LTIzTDI4OCAxNzguMyAyMDYuNyA0NTdjLTMuOSAxMy4yLTE1LjggMjIuNS0yOS41IDIzcy0yNi4zLTcuOC0zMS4yLTIwLjdMMiA3NS4yQy00LjIgNTguNyA0LjIgNDAuMiAyMC44IDM0eiJdfSxvWT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJleWUtZHJvcHBlciIsaWNvbjpbNTEyLDUxMixbImV5ZS1kcm9wcGVyLWVtcHR5IiwiZXllZHJvcHBlciJdLCJmMWZiIiwiTTM0MS42IDI5LjJsLTEwMS42IDEwMS42LTkuNC05LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOS40LTkuNCAxMDEuNi0xMDEuNmMzOS0zOSAzOS0xMDIuMiAwLTE0MS4xcy0xMDIuMi0zOS0xNDEuMSAwek01NS40IDMyMy4zYy0xNSAxNS0yMy40IDM1LjQtMjMuNCA1Ni42bDAgNDIuNC0yNi42IDM5LjljLTguNSAxMi43LTYuOCAyOS42IDQgNDAuNHMyNy43IDEyLjUgNDAuNCA0bDM5LjktMjYuNiA0Mi40IDBjMjEuMiAwIDQxLjYtOC40IDU2LjYtMjMuNGwxMDkuNC0xMDkuNC00NS4zLTQ1LjMtMTA5LjQgMTA5LjRjLTMgMy03LjEgNC43LTExLjMgNC43bC0zNi4xIDAgMC0zNi4xYzAtNC4yIDEuNy04LjMgNC43LTExLjNsMTA5LjQtMTA5LjQtNDUuMy00NS4zLTEwOS40IDEwOS40eiJdfSxFVHQ9b1ksSVR0PW9ZLFI4PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS14bWFyayIsaWNvbjpbNTEyLDUxMixbNjE1MzIsInRpbWVzLWNpcmNsZSIsInhtYXJrLWNpcmNsZSJdLCJmMDU3IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjcgMTY3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDU1IDU1IDU1LTU1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNTUgNTUgNTUgNTVjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNTUtNTUtNTUgNTVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNTUtNTUtNTUtNTVjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45eiJdfSxOVHQ9UjgsUlR0PVI4LEZUdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFpbGVyIixpY29uOls2NDAsNTEyLFtdLCJlMDQxIiwiTTMyIDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI5Ni40IDBjLjIgMi42IC40IDUuMyAuNCA4IDAgNDguNi0zOS40IDg4LTg4IDg4cy04OC0zOS40LTg4LTg4YzAtMi43IC4xLTUuNCAuNC04TDk2IDQxNmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMzIgOTZ6bTQwOCAxNmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxNjBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE2MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHpNMTEyIDEzNmwwIDE2MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0em0xNzYtMjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTYwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNjBjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTI2NCA0MjRhNDAgNDAgMCAxIDAgLTgwIDAgNDAgNDAgMCAxIDAgODAgMHoiXX0sblk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHVya2lzaC1saXJhLXNpZ24iLGljb246WzQ0OCw1MTIsWyJ0cnkiLCJ0dXJraXNoLWxpcmEiXSwiZTJiYiIsIk0xNjAgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0My42IDEyMS40LTM0LjdjMTIuNy0zLjYgMjYgMy43IDI5LjcgMTYuNXMtMy43IDI2LTE2LjUgMjkuN2wtMTM0LjYgMzguNSAwIDQ2LjEgMTIxLjQtMzQuN2MxMi43LTMuNiAyNiAzLjcgMjkuNyAxNi41cy0zLjcgMjYtMTYuNSAyOS43bC0xMzQuNiAzOC41IDAgMTYyLjUgNzIgMGM1MyAwIDk2LTQzIDk2LTk2IDAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBsLTEwNCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE3Ni4yLTI1LjQgNy4zYy0xMi43IDMuNi0yNi0zLjctMjkuNy0xNi41czMuNy0yNiAxNi41LTI5LjdsMzguNi0xMSAwLTQ2LjEtMjUuNCA3LjNjLTEyLjcgMy42LTI2LTMuNy0yOS43LTE2LjVzMy43LTI2IDE2LjUtMjkuN2wzOC42LTExIDAtNjEuOWMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sT1R0PW5ZLEJUdD1uWSxIVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidm9sY2FubyIsaWNvbjpbNTEyLDUxMixbMTI3NzU1XSwiZjc3MCIsIk0xNjAgMTQ0Yy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0YzE1LjcgMCAzMCA1LjYgNDEuMiAxNSAxMS4yLTE4LjYgMzEuNi0zMSA1NC44LTMxczQzLjYgMTIuNCA1NC44IDMxYzExLjEtOS40IDI1LjUtMTUgNDEuMi0xNSAzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NGMtMTQuNyAwLTI4LjMtNS0zOS4xLTEzLjNsLTMyIDQ4QzI3NS4zIDE4NyAyNjYgMTkyIDI1NiAxOTJzLTE5LjMtNS0yNC45LTEzLjNsLTMyLTQ4QzE4OC4zIDEzOSAxNzQuNyAxNDQgMTYwIDE0NHpNMTQ0IDM1Mmw0OC40LTI0LjJjMTAuMi01LjEgMjEuNi03LjggMzMtNy44IDE5LjYgMCAzOC40IDcuOCA1Mi4yIDIxLjZsMzIuNSAzMi41YzYuMyA2LjMgMTQuOSA5LjkgMjMuOCA5LjkgMTEuMyAwIDIxLjgtNS42IDI4LTE1bDkuNy0xNC42LTU5LTY2LjNjLTkuMS0xMC4yLTIyLjItMTYuMS0zNS45LTE2LjFsLTQxLjggMGMtMTMuNyAwLTI2LjggNS45LTM1LjkgMTYuMWwtNTkuOSA2Ny40IDQuNy0zLjV6bTE5LjQtOTUuOGMxOC4yLTIwLjUgNDQuMy0zMi4yIDcxLjgtMzIuMmw0MS44IDBjMjcuNCAwIDUzLjUgMTEuNyA3MS44IDMyLjJsMTUwLjIgMTY5YzguNSA5LjUgMTMuMiAyMS45IDEzLjIgMzQuNyAwIDI4LjgtMjMuNCA1Mi4yLTUyLjIgNTIuMkw1Mi4yIDUxMkMyMy40IDUxMiAwIDQ4OC42IDAgNDU5LjggMCA0NDcuMSA0LjcgNDM0LjcgMTMuMiA0MjUuMmwxNTAuMi0xNjl6Il19LHFUdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YW5kLXNwYXJrbGVzIixpY29uOls1MTIsNTEyLFtdLCJmNzJiIiwiTTQ2NCA2LjFjOS41LTguNSAyNC04LjEgMzMgLjlsOCA4YzkgOSA5LjQgMjMuNSAuOSAzM2wtODUuOCA5NS45Yy0yLjYgMi45LTQuMSA2LjctNC4xIDEwLjdsMCAyMS40YzAgOC44LTcuMiAxNi0xNiAxNmwtMTUuOCAwYy00LjYgMC04LjkgMS45LTExLjkgNS4zTDEwMC43IDUwMC45Yy02LjMgNy4xLTE1LjMgMTEuMS0yNC44IDExLjEtOC44IDAtMTcuMy0zLjUtMjMuNS05LjhMOS43IDQ1OS43Yy02LjItNi4yLTkuNy0xNC43LTkuNy0yMy41IDAtOS41IDQtMTguNSAxMS4xLTI0LjhsMTExLjYtOTkuOGMzLjQtMyA1LjMtNy40IDUuMy0xMS45bDAtMjcuNmMwLTguOCA3LjItMTYgMTYtMTZsMzQuNiAwYzMuOSAwIDcuNy0xLjUgMTAuNy00LjFMNDY0IDYuMXpNNDMyIDI4OGMzLjYgMCA2LjcgMi40IDcuNyA1LjhsMTQuOCA1MS43IDUxLjcgMTQuOGMzLjQgMSA1LjggNC4xIDUuOCA3LjdzLTIuNCA2LjctNS44IDcuN2wtNTEuNyAxNC44LTE0LjggNTEuN2MtMSAzLjQtNC4xIDUuOC03LjcgNS44cy02LjctMi40LTcuNy01LjhsLTE0LjgtNTEuNy01MS43LTE0LjhjLTMuNC0xLTUuOC00LjEtNS44LTcuN3MyLjQtNi43IDUuOC03LjdsNTEuNy0xNC44IDE0LjgtNTEuN2MxLTMuNCA0LjEtNS44IDcuNy01Ljh6TTg3LjcgNjkuOGwxNC44IDUxLjcgNTEuNyAxNC44YzMuNCAxIDUuOCA0LjEgNS44IDcuN3MtMi40IDYuNy01LjggNy43bC01MS43IDE0LjgtMTQuOCA1MS43Yy0xIDMuNC00LjEgNS44LTcuNyA1LjhzLTYuNy0yLjQtNy43LTUuOEw1Ny41IDE2Ni41IDUuOCAxNTEuN2MtMy40LTEtNS44LTQuMS01LjgtNy43czIuNC02LjcgNS44LTcuN2w1MS43LTE0LjggMTQuOC01MS43YzEtMy40IDQuMS01LjggNy43LTUuOHM2LjcgMi40IDcuNyA1Ljh6TTIwOCAwYzMuNyAwIDYuOSAyLjUgNy44IDYuMWw2LjggMjcuMyAyNy4zIDYuOGMzLjYgLjkgNi4xIDQuMSA2LjEgNy44cy0yLjUgNi45LTYuMSA3LjhsLTI3LjMgNi44LTYuOCAyNy4zYy0uOSAzLjYtNC4xIDYuMS03LjggNi4xcy02LjktMi41LTcuOC02LjFsLTYuOC0yNy4zLTI3LjMtNi44Yy0zLjYtLjktNi4xLTQuMS02LjEtNy44czIuNS02LjkgNi4xLTcuOGwyNy4zLTYuOCA2LjgtMjcuM2MuOS0zLjYgNC4xLTYuMSA3LjgtNi4xeiJdfSxWVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWljcm9waG9uZSIsaWNvbjpbMzg0LDUxMixbXSwiZjEzMCIsIk0xOTIgMEMxMzkgMCA5NiA0MyA5NiA5NmwwIDEyOGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMTI4YzAtNTMtNDMtOTYtOTYtOTZ6TTQ4IDE4NGMwLTEzLjMtMTAuNy0yNC0yNC0yNFMwIDE3MC43IDAgMTg0bDAgNDBjMCA5Ny45IDczLjMgMTc4LjcgMTY4IDE5MC41bDAgNDkuNS00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwIDAtNDkuNWM5NC43LTExLjggMTY4LTkyLjYgMTY4LTE5MC41bDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MGMwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NFM0OCAzMDMuNSA0OCAyMjRsMC00MHoiXX0salR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNyb3duIixpY29uOls1NzYsNTEyLFsxMjgwODFdLCJmNTIxIiwiTTMxMyA4Ny4yYzkuMi03LjMgMTUtMTguNiAxNS0zMS4yIDAtMjIuMS0xNy45LTQwLTQwLTQwcy00MCAxNy45LTQwIDQwYzAgMTIuNiA1LjkgMjMuOSAxNSAzMS4yTDE5NC42IDE5NC44Yy0xMCAxNS43LTMxLjMgMTkuNi00Ni4yIDguNEw4OC45IDE1OC43YzQuNS02LjQgNy4xLTE0LjMgNy4xLTIyLjcgMC0yMi4xLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBjMCAyMS44IDE3LjUgMzkuNiAzOS4yIDQwTDg3LjggMzkzLjVjNC43IDMxLjMgMzEuNiA1NC41IDYzLjMgNTQuNWwyNzMuOCAwYzMxLjcgMCA1OC42LTIzLjIgNjMuMy01NC41TDUyMC44IDE3NmMyMS43LS40IDM5LjItMTguMiAzOS4yLTQwIDAtMjIuMS0xNy45LTQwLTQwLTQwcy00MCAxNy45LTQwIDQwYzAgOC40IDIuNiAxNi4zIDcuMSAyMi43bC01OS40IDQ0LjZjLTE0LjkgMTEuMi0zNi4yIDcuMy00Ni4yLTguNEwzMTMgODcuMnoiXX0sVVR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbnQtYXJyb3ctdHVybi1sZWZ0IixpY29uOls1MTIsNTEyLFtdLCJlNTgwIiwiTS0uNSAxMTNsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0zMS0zMSAzNTAuMSAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTI0YzAtNDguNi0zOS40LTg4LTg4LTg4bC0zNTAuMSAwIDMxLTMxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45UzgwLjktMi4zIDcxLjUgN0wtLjUgNzljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45ek02MC4zIDI5Mi42TDM3LjEgNDc2Yy0yLjQgMTkuMSAxMi41IDM2IDMxLjcgMzZsMTU0LjUgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTExNy40YzAtNS45IDQuNy0xMC42IDEwLjYtMTAuNiA0IDAgNy43IDIuMyA5LjUgNS45bDY4LjIgMTM2LjVjNS40IDEwLjggMTYuNSAxNy43IDI4LjYgMTcuN2w3MS45IDBjMTkuMyAwIDM0LjItMTYuOSAzMS43LTM2TDQ1Mi43IDI5Mi43Yy0xLjItOS43LTYuOS0xOC40LTE1LjMtMjMuNEwyNzEuOSAxNjkuOWMtMTAuMi02LjEtMjIuOS02LjEtMzMuMSAuMUw3NS40IDI2OS4zYy04LjMgNS4xLTEzLjkgMTMuNy0xNS4xIDIzLjN6Il19LHdjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1mYXN0IixpY29uOls2NDAsNTEyLFsic2hpcHBpbmctZmFzdCJdLCJmNDhiIiwiTTY0IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDI4OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIgNTAuNyAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDYyMS4zIDE5MmMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDY0MCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTMuMyAwYy0xMC40IDM2LjktNDQuNCA2NC04NC43IDY0cy03NC4yLTI3LjEtODQuNy02NGwtMTAyLjYgMGMtMTAuNCAzNi45LTQ0LjQgNjQtODQuNyA2NHMtNzQuMi0yNy4xLTg0LjctNjRsLTMuMyAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTQ4LTQwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMjQgMjQwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDI0IDE0NGMtMTMuMyAwLTI0LTEwLjctMjQtMjRTMTAuNyA5NiAyNCA5Nmw0MCAwek01NzYgMjg4bDAtNTAuNy00NS4zLTQ1LjMtNTAuNyAwIDAgOTYgOTYgMHpNMjU2IDQyNGE0MCA0MCAwIDEgMCAtODAgMCA0MCA0MCAwIDEgMCA4MCAwem0yMzIgNDBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgweiJdfSxXVHQ9d2NlLE1jZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLXBlbiIsaWNvbjpbNjQwLDUxMixbInVzZXItZWRpdCJdLCJmNGZmIiwiTTI1Ni4xIDI0OGExMjAgMTIwIDAgMSAwIDAtMjQwIDEyMCAxMjAgMCAxIDAgMCAyNDB6bS0yOS43IDU2Yy05OC41IDAtMTc4LjMgNzkuOC0xNzguMyAxNzguMyAwIDE2LjQgMTMuMyAyOS43IDI5LjcgMjkuN2wxOTYuNSAwIDEwLjktNTQuNWM0LjMtMjEuNyAxNS00MS42IDMwLjYtNTcuMmw2Ny4zLTY3LjNjLTI4LTE4LjMtNjEuNC0yOC45LTk3LjQtMjguOWwtNTkuNCAwek0zMzIuMyA0NjYuOWwtMTEuOSA1OS42Yy0uMiAuOS0uMyAxLjktLjMgMi45IDAgOCA2LjUgMTQuNiAxNC42IDE0LjYgMSAwIDEuOS0uMSAyLjktLjNsNTkuNi0xMS45YzEyLjQtMi41IDIzLjgtOC42IDMyLjctMTcuNWwxMTguOS0xMTguOS04MC04MC0xMTguOSAxMTguOWMtOC45IDguOS0xNSAyMC4zLTE3LjUgMzIuN3ptMjY3LjgtMTIzYzIyLjEtMjIuMSAyMi4xLTU3LjkgMC04MHMtNTcuOS0yMi4xLTgwIDBsLTI4LjggMjguOCA4MCA4MCAyOC44LTI4Ljh6Il19LEdUdD1NY2UsWVR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItY2xvY2siLGljb246WzU3Niw1MTIsW10sImY0ZmQiLCJNMjI0IDhhMTIwIDEyMCAwIDEgMSAwIDI0MCAxMjAgMTIwIDAgMSAxIDAtMjQwek0xOTQuMyAzMDRsNTkuNCAwYzMuOSAwIDcuOSAuMSAxMS44IC40LTE2LjIgMjguMi0yNS41IDYwLjgtMjUuNSA5NS42IDAgNDEuOCAxMy40IDgwLjUgMzYgMTEyTDQ1LjcgNTEyQzI5LjMgNTEyIDE2IDQ5OC43IDE2IDQ4Mi4zIDE2IDM4My44IDk1LjggMzA0IDE5NC4zIDMwNHpNMjg4IDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0xNDQtODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmw0OCAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0zMiAwIDAtNDhjMC04LjgtNy4yLTE2LTE2LTE2eiJdfSxaVHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hvd2VyIixpY29uOls1MTIsNTEyLFsxMjg3MDNdLCJmMmNjIiwiTTY0IDEzMS45YzAtMTkuOCAxNi4xLTM1LjkgMzUuOS0zNS45IDkuNSAwIDE4LjYgMy44IDI1LjQgMTAuNWwxNi4yIDE2LjJjLTIxIDM4LjktMTcuNCA4Ny41IDEwLjkgMTIzTDE1MSAyNDdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMEwzNDUgMTIxYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTEuMyAxLjNjLTM1LjUtMjguMy04NC4xLTMxLjktMTIzLTEwLjlMMTcwLjUgNjEuM0MxNTEuOCA0Mi41IDEyNi40IDMyIDk5LjkgMzIgNDQuNyAzMiAwIDc2LjcgMCAxMzEuOUwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzE2LjF6TTI1NiAzNTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em02NCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0wLTEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTY0IDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTAtMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptNjQgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMzItMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxrY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWNhcmV0LXVwIixpY29uOls0NDgsNTEyLFsiY2FyZXQtc3F1YXJlLXVwIl0sImYxNTEiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjI0IDE2MGM2LjcgMCAxMyAyLjggMTcuNiA3LjdsMTA0IDExMmM2LjUgNyA4LjIgMTcuMiA0LjQgMjUuOVMzMzcuNSAzMjAgMzI4IDMyMGwtMjA4IDBjLTkuNSAwLTE4LjItNS43LTIyLTE0LjRzLTIuMS0xOC45IDQuNC0yNS45bDEwNC0xMTJjNC41LTQuOSAxMC45LTcuNyAxNy42LTcuN3oiXX0sWFR0PWtjZSx6Y2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFwLWxvY2F0aW9uIixpY29uOls2NDAsNTEyLFsibWFwLW1hcmtlZCJdLCJmNTlmIiwiTTU3NiA0OGMwLTExLjEtNS43LTIxLjQtMTUuMi0yNy4ycy0yMS4yLTYuNC0zMS4xLTEuNEw0MTMuNSA3Ny41IDIzNC4xIDE3LjZjLTguMS0yLjctMTYuOC0yLjEtMjQuNCAxLjdsLTEyOCA2NEM3MC44IDg4LjggNjQgOTkuOSA2NCAxMTJsMCAzNTJjMCAxMS4xIDUuNyAyMS40IDE1LjIgMjcuMnMyMS4yIDYuNCAzMS4xIDEuNGwxMTYuMS01OC4xIDE3My4zIDU3LjhjLTQuMy02LjQtOC41LTEzLjEtMTIuNi0xOS45LTExLTE4LjMtMjEuOS0zOS4zLTMwLTYxLjhsLTEwMS4yLTMzLjcgMC0yODQuNSAxMjggNDIuNyAwIDk5LjNjMzEtMzUuOCA3Ny01OC40IDEyOC01OC40IDIyLjYgMCA0NC4yIDQuNCA2NCAxMi41TDU3NiA0OHpNMzkyIDM0MS45YzAgNjguOSA2NC4xIDE1MC40IDk4LjYgMTg5LjMgMTEuNiAxMyAzMS4zIDEzIDQyLjkgMCAzNC41LTM4LjkgOTguNi0xMjAuNCA5OC42LTE4OS4zIDAtNjUuMS01My43LTExNy45LTEyMC0xMTcuOVMzOTIgMjc2LjggMzkyIDM0MS45eiJdfSxLVHQ9emNlLFFUdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW4tZmFuY3kiLGljb246WzUxMiw1MTIsWzEyODM5NSwxMDAwMl0sImY1YWMiLCJNMzczLjUgMjcuMWMxNS0xNy4yIDM2LjctMjcuMSA1OS42LTI3LjEgNDMuNiAwIDc5IDM1LjQgNzkgNzkgMCAyMi44LTkuOSA0NC42LTI3LjEgNTkuNkwyODMuNyAzMTMuOCAyNzMgMzAzIDIwOSAyMzkgMTk4LjIgMjI4LjMgMzczLjUgMjcuMXpNMTYxLjEgMjU5QzE2MiAyNjAgMTg4IDI4NiAyMzkgMzM3bDEzLjkgMTMuOS0xNy4xIDc0LjJjLTMuOSAxNy4xLTE2LjkgMzAuNy0zMy44IDM1LjRsLTE2OS44IDQ3LjUgOTIuMy05Mi4zYzEuMiAuMSAyLjMgLjIgMy41IC4yIDE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyLTMyIDE0LjMtMzIgMzJjMCAxLjIgLjEgMi40IC4yIDMuNUwzLjkgNDc5LjggNTEuNSAzMTBjNC43LTE2LjkgMTguMy0yOS45IDM1LjQtMzMuOEwxNjEuMSAyNTl6Il19LGxZPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImV1cm8tc2lnbiIsaWNvbjpbNDQ4LDUxMixbODM2NCwiZXVyIiwiZXVybyJdLCJmMTUzIiwiTTczLjMgMTkyQzEwMC44IDk5LjUgMTg2LjUgMzIgMjg4IDMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTY1LjYgMC0xMjIgMzkuNS0xNDYuNyA5NkwyNzIgMTkyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDMuMiAwYy0uNSA1LjMtLjggMTAuNi0uOCAxNnMuMyAxMC43IC44IDE2TDI3MiAyNzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTEzMC43IDBjMjQuNyA1Ni41IDgxLjEgOTYgMTQ2LjcgOTZsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTAxLjUgMC0xODcuMi02Ny41LTIxNC43LTE2MEw0MCAzMjBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjQuNiAwYy0uNy0xMC41LS43LTIxLjUgMC0zMkw0MCAyNDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMzMuMyAweiJdfSxKVHQ9bFksZUx0PWxZLHRMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1jaXJjbGUteG1hcmsiLGljb246WzY0MCw1MTIsW10sImU1MGIiLCJNNDk2IDU0NGExNDQgMTQ0IDAgMSAxIDAtMjg4IDE0NCAxNDQgMCAxIDEgMCAyODh6TTI2OC42IDYuNWMxMi4yLTkuMyAyOS43LTguNyA0MS4yIDJsMjE3LjYgMjAyYy0xMC4yLTEuNy0yMC43LTIuNi0zMS4zLTIuNi03OC42IDAtMTQ2LjIgNDcuMi0xNzUuOSAxMTQuOC01LTEuOC0xMC41LTIuOC0xNi4xLTIuOGwtMzIgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NiA5MC45IDBjNi4xIDE3LjMgMTQuNiAzMy40IDI1LjIgNDhMMTQ0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNzYtMTYgMGMtMTMuMiAwLTI1LTguMS0yOS44LTIwLjNzLTEuNi0yNi4yIDgtMzUuMWwyMjQtMjA4IDIuNC0yek01NTUuMyAzNDAuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBsLTM2LjcgMzYuNy0zNi43LTM2LjdjLTYuMi02LjItMTYuNC02LjItMjIuNiAwcy02LjIgMTYuNCAwIDIyLjZsMzYuNyAzNi43LTM2LjcgMzYuN2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDM2LjctMzYuNyAzNi43IDM2LjdjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC0zNi43LTM2LjcgMzYuNy0zNi43YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42eiJdfSxhTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlyYS1zaWduIixpY29uOlszODQsNTEyLFs4MzU2XSwiZjE5NSIsIk04NC45IDI1NmwtMjguNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDExLjYgMEM1My4yIDEyNC43IDExNi44IDQyIDIwNy42IDQybDguMiAwYzMzLjYgMCA2Ni4yIDExLjMgOTIuNSAzMi4ybDE2LjEgMTIuN2MxMy45IDExIDE2LjIgMzEuMSA1LjIgNDVzLTMxLjEgMTYuMi00NSA1LjJsLTE2LjEtMTIuN2MtMTUtMTEuOS0zMy42LTE4LjQtNTIuOC0xOC40bC04LjIgMGMtNTMuOCAwLTkwLjEgNTIuOS03My41IDEwMmwxNjIuNCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDUuMSAwYzIuMyAxMC42IDMuNiAyMS4zIDMuOSAzMmwxNDEuMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDE1MCAzMzZjLTQuOCAxOC42LTEyLjYgMzYuNS0yMy42IDUyLjlsLTE4LjEgMjcuMSAyMTIuMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNzIgMGMtMTEuOCAwLTIyLjYtNi41LTI4LjItMTYuOXMtNS0yMyAxLjYtMzIuOWw1MS4yLTc2LjhjMy43LTUuNiA2LjktMTEuNCA5LjQtMTcuNGwtMjYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwzNC44IDBjLS41LTEwLjgtMi42LTIxLjYtNi40LTMyeiJdfSxFOD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ5ZW4tc2lnbiIsaWNvbjpbMzg0LDUxMixbMTY1LCJjbnkiLCJqcHkiLCJybWIiLCJ5ZW4iXSwiZjE1NyIsIk03NC45IDQ2LjdjLTkuNi0xNC45LTI5LjQtMTkuMi00NC4yLTkuNlMxMS41IDY2LjQgMjEuMSA4MS4zTDE0My43IDI3MiA4OCAyNzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNzIgMCAwIDMyLTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNzIgMCAwIDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC00OCA3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC03MiAwIDAtMzIgNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNTUuNyAwIDEyMi42LTE5MC43YzkuNi0xNC45IDUuMy0zNC43LTkuNi00NC4ycy0zNC43LTUuMy00NC4yIDkuNkwxOTIgMjI4LjggNzQuOSA0Ni43eiJdfSxyTHQ9RTgsaUx0PUU4LHNMdD1FOCxvTHQ9RTgsbkx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJveC1vcGVuIixpY29uOls2NDAsNTEyLFtdLCJmNDllIiwiTTU2MC4zIDIzNy4yYzEwLjQgMTEuOCAyOC4zIDE0LjQgNDEuOCA1LjUgMTQuNy05LjggMTguNy0yOS43IDguOS00NC40bC00OC03MmMtMi44LTQuMi02LjYtNy43LTExLjEtMTAuMkwzNTEuNCA0LjdjLTE5LjMtMTAuNy00Mi44LTEwLjctNjIuMiAwTDg4LjggMTE2Yy01LjQgMy05LjcgNy40LTEyLjYgMTIuOEwyNy43IDIxOC43Yy0xMi42IDIzLjQtMy44IDUyLjUgMTkuNiA2NS4xbDMzIDE3LjcgMCA1My4zYzAgMjMgMTIuNCA0NC4zIDMyLjQgNTUuN2wxNzYgOTkuN2MxOS42IDExLjEgNDMuNSAxMS4xIDYzLjEgMGwxNzYtOTkuN2MyMC4xLTExLjQgMzIuNC0zMi42IDMyLjQtNTUuN2wwLTExNy41em0tMjQwLTkuOEwxNzAuMiAxNDQgMzIwLjMgNjAuNiA0NzAuNCAxNDQgMzIwLjMgMjI3LjR6bS00MS41IDUwLjJsLTIxLjMgNDYuMi0xNjUuOC04OC44IDI1LjQtNDcuMiAxNjEuNyA4OS44eiJdfSxsTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stZmllbGQiLGljb246WzY0MCw1MTIsW10sImU1OGQiLCJNMzIgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMjI0IDBjMjMuNyAwIDQ0LjQgMTIuOSA1NS40IDMybDQwLjQgMGMzMi40IDAgNjEuNiAxOS42IDc0IDQ5LjVsNDMuOCAxMDYuMyAxLjcgNC4yIDI0LjcgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0uNCAwYy4yIDIuNiAuNCA1LjMgLjQgOCAwIDQ4LjYtMzkuNCA4OC04OCA4OHMtODgtMzkuNC04OC04OGMwLTIuNyAuMS01LjQgLjQtOGwtMTQ0LjcgMGMuMiAyLjYgLjQgNS4zIC40IDggMCA0OC42LTM5LjQgODgtODggODhzLTg4LTM5LjQtODgtODhjMC0zLjYgLjItNy4xIC42LTEwLjUtMTktNi40LTMyLjYtMjQuNC0zMi42LTQ1LjVsMC00OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwwLTMyem0zNTIgMzJsMCA5NiA4Mi4xIDAtMzUuNC04Ni4xYy0yLjUtNi04LjMtOS45LTE0LjgtOS45TDM4NCAxMjh6TTE5MiAzOTJhNDAgNDAgMCAxIDAgLTgwIDAgNDAgNDAgMCAxIDAgODAgMHptMjgwIDQwYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHoiXX0sY0x0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxvY2F0aW9uLXBpbi1sb2NrIixpY29uOls1MTIsNTEyLFtdLCJlNTFmIiwiTTAgMTg4LjZDMCA4NC40IDg2IDAgMTkyIDAgMjk0LjEgMCAzNzcuNiA3OC4zIDM4My42IDE3NyAzMjAuNyAxODUuMSAyNzIgMjM4LjggMjcyIDMwNGwwIDI0LjRjLTE5LjYgMTcuNi0zMiA0My4xLTMyIDcxLjVsMCA3NS43Yy05LjkgMTEuNi0xOC45IDIxLjctMjYuNCAyOS44LTExLjggMTIuOC0zMS41IDEyLjgtNDMuMyAwLTUwLjItNTQuNS0xNzAuNC0xOTcuNS0xNzAuNC0zMTYuOHpNMTkyIDI1NmE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHptMjQwIDQ4LjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek0yODggNDAwYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxTY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXByYXlpbmciLGljb246WzM4NCw1MTIsWzEyODcyMCwicHJheSJdLCJmNjgzIiwiTTMyMCA2NGE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6TTIwMC43IDI2NGwyMi45IDMxLjVjNi41IDguOSAxNi4zIDE0LjcgMjcuMiAxNi4xczIxLjktMS43IDMwLjQtOC43bDg4LTcyYzE3LjEtMTQgMTkuNi0zOS4yIDUuNi01Ni4zcy0zOS4yLTE5LjYtNTYuMy01LjZsLTU1LjIgNDUuMi0yNi4yLTM2Yy0xNS42LTIxLjUtNDAuNi0zNC4yLTY3LjItMzQuMi0zMC45IDAtNTkuMiAxNy4xLTczLjYgNDQuNEw0Ny44IDI4MC45Yy0yMC4yIDM4LjUtOS40IDg1LjkgMjUuNiAxMTEuOEwxMjYuNiA0MzIgNDAgNDMyYy0yMi4xIDAtNDAgMTcuOS00MCA0MHMxNy45IDQwIDQwIDQwbDIwOCAwYzE3LjMgMCAzMi42LTExLjEgMzgtMjcuNXMtLjMtMzQuNC0xNC4yLTQ0LjdsLTExNi4xLTg1LjggNDUtOTB6Il19LGRMdD1TY2UscEx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsaXBib2FyZC1saXN0IixpY29uOlszODQsNTEyLFtdLCJmNDZkIiwiTTMxMS40IDMybDguNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzUyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmw4LjYgMEM4My42IDEyLjkgMTA0LjMgMCAxMjggMEwyNTYgMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJ6TTI0OCAxMTJjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMTM2IDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExMiAwek0xMjggMjU2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTMyIDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTExMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptMCAxMjhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTExMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHpNOTYgNDE2YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sdUx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNhY2stZG9sbGFyIixpY29uOls1MTIsNTEyLFsxMjgxNzZdLCJmODFkIiwiTTMyOCAxMTJsLTE0NCAwLTM3LjMtNzQuNWMtMS44LTMuNi0yLjctNy42LTIuNy0xMS42IDAtMTQuMyAxMS42LTI1LjkgMjUuOS0yNS45TDM0Mi4xIDBjMTQuMyAwIDI1LjkgMTEuNiAyNS45IDI1LjkgMCA0LS45IDgtMi43IDExLjZMMzI4IDExMnpNMTY5LjYgMTYwbDE3Mi44IDAgNDguNyA0MC42QzQ1Ny42IDI1NiA0OTYgMzM4IDQ5NiA0MjQuNSA0OTYgNDcyLjggNDU2LjggNTEyIDQwOC41IDUxMmwtMzA1LjEgMEM1NS4yIDUxMiAxNiA0NzIuOCAxNiA0MjQuNSAxNiAzMzggNTQuNCAyNTYgMTIwLjkgMjAwLjZMMTY5LjYgMTYwek0yNjAgMjI0Yy0xMSAwLTIwIDktMjAgMjBsMCA0Yy0yOC44IC4zLTUyIDIzLjctNTIgNTIuNSAwIDI1LjcgMTguNSA0Ny42IDQzLjkgNTEuOGw0MS43IDdjNiAxIDEwLjQgNi4yIDEwLjQgMTIuMyAwIDYuOS01LjYgMTIuNS0xMi41IDEyLjVMMjE2IDM4NGMtMTEgMC0yMCA5LTIwIDIwczkgMjAgMjAgMjBsMjQgMCAwIDRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC00LjdjMjUtNC4xIDQ0LTI1LjcgNDQtNTEuOCAwLTI1LjctMTguNS00Ny42LTQzLjktNTEuOGwtNDEuNy03Yy02LTEtMTAuNC02LjItMTAuNC0xMi4zIDAtNi45IDUuNi0xMi41IDEyLjUtMTIuNWw0Ny41IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC04IDAgMC00YzAtMTEtOS0yMC0yMC0yMHoiXX0sZkx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vdW50YWluLXN1biIsaWNvbjpbNTc2LDUxMixbXSwiZTUyZiIsIk0yNTYuNSAwYzE0LjcgMCAyOC4yIDguMSAzNS4yIDIxbDIxNiA0MDBjNi43IDEyLjQgNi40IDI3LjQtLjggMzkuNS03LjIgMTIuMS0yMC4zIDE5LjUtMzQuMyAxOS41bC00MzIgMGMtMTQuMSAwLTI3LjEtNy40LTM0LjMtMTkuNXMtNy41LTI3LjEtLjgtMzkuNWwyMTYtNDAwIDIuOS00LjZDMjMxLjcgNi4yIDI0My42IDAgMjU2LjUgMHpNMTcwLjQgMjQ5LjlsMjYuOCAyNi44YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwbDQzLjMtNDMuM2M2LTYgMTQuMS05LjQgMjIuNi05LjRsNDIuOCAwLTcyLjEtMTMzLjUtODYuMSAxNTkuNHpNNDk2LjUgMTYwYTgwIDgwIDAgMSAxIDAtMTYwIDgwIDgwIDAgMSAxIDAgMTYweiJdfSxDY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtd2lkZS1zaG9ydCIsaWNvbjpbNTc2LDUxMixbInNvcnQtYW1vdW50LXVwIl0sImYxNjEiLCJNMTUwLjYgNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDk2IDE0MS4zIDk2IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzA2LjcgNDEuNCA0MS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2ek0zMjAgNDgwbDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6bTAtMTI4bDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6bTAtMTI4bDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnptMC0xMjhsMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyeiJdfSxoTHQ9Q2NlLG1MdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2Vycy1saW5lIixpY29uOls1NzYsNTEyLFtdLCJlNTkyIiwiTTIyNCAxMjhhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek0xNzYgMzM2YzAtNjEuOSA1MC4xLTExMiAxMTItMTEyczExMiA1MC4xIDExMiAxMTJsMCA4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC0xNzYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC04ek0zOTIgMTQ0YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHptMjcuMiAxMDAuNGM5LjEtMi45IDE4LjgtNC40IDI4LjgtNC40IDUzIDAgOTYgNDMgOTYgOTZsMCAxMC43YzAgMTEuOC05LjYgMjEuMy0yMS4zIDIxLjNsLTc4LjggMGMyLjctNy41IDQuMS0xNS42IDQuMS0yNGwwLThjMC0zNC4xLTEwLjYtNjUuNy0yOC44LTkxLjZ6bS0yNjIuNCAwYy0xOC4yIDI2LTI4LjggNTcuNS0yOC44IDkxLjZsMCA4YzAgOC40IDEuNCAxNi41IDQuMSAyNGwtNzguOCAwQzQxLjYgMzY4IDMyIDM1OC40IDMyIDM0Ni43TDMyIDMzNmMwLTUzIDQzLTk2IDk2LTk2IDEwIDAgMTkuNyAxLjUgMjguOCA0LjR6TTcyIDE0NGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTAgNDQwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDUyOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDQ2NGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6Il19LGdMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFyLW9mLWRhdmlkIixpY29uOls1MTIsNTEyLFsxMDAxN10sImY2OWEiLCJNNDE1LjkgMzExLjlsLTI3LjggNDguMSA1NS43IDAtMjcuOC00OC4xek0zODMuNiAyNTZsLTYwLjItMTA0LTEzNC44IDAtNjAuMiAxMDQgNjAuMiAxMDQgMTM0LjggMCA2MC4yLTEwNHptNjQuNyAwbDU4LjQgMTAwLjljMy41IDYgNS4zIDEyLjggNS4zIDE5LjcgMCAyMS43LTE3LjYgMzkuNC0zOS40IDM5LjRsLTExNyAwLTYxLjMgMTA1LjhDMjg2LjUgNTM1LjYgMjcxLjggNTQ0IDI1NiA1NDRzLTMwLjUtOC40LTM4LjQtMjIuMmwtNjEuMy0xMDUuOC0xMTcgMGMtMjEuNyAwLTM5LjQtMTcuNi0zOS40LTM5LjQgMC02LjkgMS44LTEzLjcgNS4zLTE5LjdMNjMuNyAyNTYgNS4zIDE1NS4xQzEuOCAxNDkuMSAwIDE0Mi4zIDAgMTM1LjQgMCAxMTMuNiAxNy42IDk2IDM5LjQgOTZsMTE3IDAgNjEuMy0xMDUuOEMyMjUuNS0yMy42IDI0MC4yLTMyIDI1Ni0zMnMzMC41IDguNCAzOC40IDIyLjJsNjEuMyAxMDUuOCAxMTcgMGMyMS43IDAgMzkuNCAxNy42IDM5LjQgMzkuNCAwIDYuOS0xLjggMTMuNy01LjMgMTkuN0w0NDguMyAyNTZ6TTM4OC4xIDE1MmwyNy44IDQ4LjEgMjcuOC00OC4xLTU1LjcgMHpNMjkxIDk2bC0zNS02MC40LTM1IDYwLjQgNzAgMHpNMTIzLjkgMTUybC01NS43IDAgMjcuOCA0OC4xIDI3LjgtNDguMXpNOTYuMSAzMTEuOWwtMjcuOCA0OC4xIDU1LjcgMC0yNy44LTQ4LjF6TTIyMSA0MTZsMzUgNjAuNCAzNS02MC40LTcwIDB6Il19LGJMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJub3Rlcy1tZWRpY2FsIixpY29uOls1MTIsNTEyLFtdLCJmNDgxIiwiTTk2IDM1MmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODEuNSAwYzE3IDAgMzMuMy02LjcgNDUuMy0xOC43TDQ5My4zIDI5MC43YzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNMNTEyIDY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDE2MCAwQzEyNC43IDAgOTYgMjguNyA5NiA2NGwwIDI4OHpNMjg4IDExMmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00OCAwIDAgNDhjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00OC00OCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDggMCAwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNnpNNDggMTIwYzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMTA2LjcgMCAxMjBMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZsMC0zMjh6Il19LHZMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhdXN0cmFsLXNpZ24iLGljb246WzQ0OCw1MTIsW10sImUwYTkiLCJNMjY2LjUgMjQwbC04NSAwIDQyLjUtMTA2LjQgNDIuNSAxMDYuNHptNjguOSAwTDI2Mi45IDU4LjNDMjU2LjUgNDIuNCAyNDEuMSAzMiAyMjQgMzJzLTMyLjUgMTAuNC0zOC45IDI2LjNMMTEyLjYgMjQwIDMyIDI0MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw2MS40IDAtMTkuMiA0OC00Mi4zIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjMuMSAwLTIwLjggNTIuMWMtNi42IDE2LjQgMS40IDM1IDE3LjkgNDEuNnMzNS0xLjQgNDEuNi0xNy45bDMwLjMtNzUuOSAyMDAgMCAzMC4zIDc1LjljNi42IDE2LjQgMjUuMiAyNC40IDQxLjYgMTcuOXMyNC40LTI1LjIgMTcuOS00MS42TDM5Mi45IDM4NCA0MTYgMzg0YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00Mi4zIDAtMTkuMi00OCA2MS40IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTgwLjYgMHptLTQ5LjcgNDhsMTkuMiA0OC0xNjEuNiAwIDE5LjItNDggMTIzLjMgMHoiXX0seEx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsaXBib2FyZC11c2VyIixpY29uOlszODQsNTEyLFtdLCJmN2YzIiwiTTMxMS40IDMybDguNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzUyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmw4LjYgMEM4My42IDEyLjkgMTA0LjMgMCAxMjggMEwyNTYgMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJ6TTI0OCAxMTJjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMTM2IDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExMiAwek0xOTIgMzQ0YTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyek05OC4zIDQxM2MtMTIuOSAxNS42IDIuMiAzNSAyMi40IDM1bDE0Mi41IDBjMjAuMiAwIDM1LjMtMTkuNCAyMi40LTM1LTE0LjctMTcuNy0zNi45LTI5LTYxLjctMjlsLTY0IDBjLTI0LjggMC00NyAxMS4zLTYxLjcgMjl6Il19LHlMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWltYWdlIixpY29uOlszODQsNTEyLFsxMjg0NDNdLCJmMWM1IiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek0xMjggMjU2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTkyLjYgNDQ4bDE5OC44IDBjMTUuOCAwIDI4LjYtMTIuOCAyOC42LTI4LjYgMC03LjMtMi44LTE0LjQtNy45LTE5LjdMMjE1LjMgMjk3LjljLTYtNi4zLTE0LjQtOS45LTIzLjItOS45bC0uMyAwYy04LjggMC0xNy4xIDMuNi0yMy4yIDkuOUw3MS45IDM5OS43QzY2LjggNDA1IDY0IDQxMi4xIDY0IDQxOS40IDY0IDQzNS4yIDc2LjggNDQ4IDkyLjYgNDQ4eiJdfSxfY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWNhcmV0LXJpZ2h0IixpY29uOls0NDgsNTEyLFsiY2FyZXQtc3F1YXJlLXJpZ2h0Il0sImYxNTIiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTMyMCAyNTZjMCA2LjctMi44IDEzLTcuNyAxNy42bC0xMTIgMTA0Yy03IDYuNS0xNy4yIDguMi0yNS45IDQuNFMxNjAgMzY5LjUgMTYwIDM2MGwwLTIwOGMwLTkuNSA1LjctMTguMiAxNC40LTIyczE4LjktMi4xIDI1LjkgNC40bDExMiAxMDRjNC45IDQuNSA3LjcgMTAuOSA3LjcgMTcuNnoiXX0sd0x0PV9jZSxNTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlhbCIsaWNvbjpbNTEyLDUxMixbMTI5NTE0XSwiZjQ5MiIsIk0zNDIuNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDMwNi43IDY0IDI4LjEgMzQyLjZDMTAuMSAzNjAuNiAwIDM4NSAwIDQxMC41TDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZsNS41IDBjMjUuNSAwIDQ5LjktMTAuMSA2Ny45LTI4LjFsMjc4LjYtMjc4LjYgOS40IDkuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC0xNjAtMTYwek0yMDUuMyAyNTZsMTQ2LjctMTQ2LjcgNTAuNyA1MC43LTk2IDk2LTEwMS41IDB6Il19LGtMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWxpY29wdGVyIixpY29uOls1NzYsNTEyLFsxMjg2NDFdLCJmNTMzIiwiTTE3NiAzMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNTIgMCAwIDQ4LTIyMC44IDAtMzIuOC0zOS40QzY5LjkgODMuMiA2My4xIDgwIDU2IDgwTDI0IDgwQzE1LjcgODAgOCA4NC4zIDMuNiA5MS40cy00LjggMTUuOS0xLjEgMjMuNGw0OCA5NkM1NC42IDIxOC45IDYyLjkgMjI0IDcyIDIyNGwxMDcuOCAwIDEwNCAxNDMuMWMxNS4xIDIwLjcgMzkuMSAzMi45IDY0LjcgMzIuOWw3NS41IDBjNzUuMSAwIDEzNi02MC45IDEzNi0xMzZTNDk5LjEgMTI4IDQyNCAxMjhsLTQ4IDAgMC00OCAxNTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwxNzYgMzJ6TTM3NiAxOTJsNDggMGMzOS44IDAgNzIgMzIuMiA3MiA3MnMtMzIuMiA3Mi03MiA3MmwtNDggMCAwLTE0NHpNNTUyIDQxNmMtMTMuMyAwLTI0IDEwLjctMjQgMjQgMCA0LjQtMy42IDgtOCA4bC0yNzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNzIgMGMzMC45IDAgNTYtMjUuMSA1Ni01NiAwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0sekx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pdHRlbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjdiNSIsIk0zNTIgMzg0TDY0IDM4NCA1LjQgMTc4LjlDMS44IDE2Ni40IDAgMTUzLjQgMCAxNDAuMyAwIDYyLjggNjIuOCAwIDE0MC4zIDBsMy40IDBjNjYgMCAxMjMuNSA0NC45IDEzOS41IDEwOC45bDMxLjQgMTI1LjggMTcuNi0yMC4xQzM0NC44IDIwMC4yIDM2Mi45IDE5MiAzODIgMTkybDIuOCAwYzM0LjkgMCA2My4zIDI4LjMgNjMuMyA2My4zIDAgMTUuOS02IDMxLjItMTYuOCA0Mi45TDM1MiAzODR6TTMyIDQ2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyODggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDY0IDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNnoiXX0sU0x0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imdhcy1wdW1wIixpY29uOls1MTIsNTEyLFs5OTgxXSwiZjUyZiIsIk0zMiA2NEMzMiAyOC43IDYwLjcgMCA5NiAwTDI1NiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTkyIDggMGM0OC42IDAgODggMzkuNCA4OCA4OGwwIDMyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNTRjLTI3LjYtNy4xLTQ4LTMyLjItNDgtNjJsMC01OS41LTI1LjgtMjguM2MtOC45LTkuOC04LjItMjUgMS42LTMzLjlzMjUtOC4yIDMzLjkgMS42bDcxLjcgNzguOGM5LjQgMTAuMyAxNC42IDIzLjcgMTQuNiAzNy43TDUxMiAzNzZjMCAzOS44LTMyLjIgNzItNzIgNzJzLTcyLTMyLjItNzItNzJsMC0zMmMwLTIyLjEtMTcuOS00MC00MC00MGwtOCAwIDAgMTYxLjRjOS4zIDMuMyAxNiAxMi4yIDE2IDIyLjYgMCAxMy4zLTEwLjcgMjQtMjQgMjRMNDAgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNCAwLTEwLjUgNi43LTE5LjMgMTYtMjIuNkwzMiA2NHpNOTYgODBsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZsMTI4IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtOTZjMC04LjgtNy4yLTE2LTE2LTE2TDExMiA2NGMtOC44IDAtMTYgNy4yLTE2IDE2eiJdfSxDTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZW52ZWxvcGUtY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNGU4IiwiTTY0IDExMmMwLTI2LjUgMjEuNS00OCA0OC00OGw0MTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDgxLjRjLTI0LjQtMTEuMi01MS40LTE3LjQtODAtMTcuNC04Ny43IDAtMTYxLjcgNTguOC0xODQuNyAxMzkuMi03LjEtMS4zLTE0LjEtNC4yLTIwLjEtOC44bC0yMDgtMTU2QzcxLjEgMTQxLjMgNjQgMTI3LjEgNjQgMTEyek0zMDQgMzY4YzAgMjguNiA2LjIgNTUuNiAxNy40IDgwTDEyOCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTg4IDE5OC40IDE0OC44YzEyLjYgOS40IDI2LjkgMTUuNCA0MS43IDE3LjkgMCAxLjgtLjEgMy41LS4xIDUuM3ptNDggMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMDEuNC02MC45Yy03LjEtNS4yLTE3LjItMy42LTIyLjQgMy41bC01MyA3Mi45LTI2LjgtMjYuOGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGMzLjMgMy4zIDcuOSA1IDEyLjYgNC42czguOS0yLjggMTEuNy02LjVsNjQtODhjNS4yLTcuMSAzLjYtMTcuMi0zLjUtMjIuM3oiXX0sVGNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1za2F0aW5nIixpY29uOls1MTIsNTEyLFsic2thdGluZyJdLCJmN2M1IiwiTTM2OCA1NmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTEyOCAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsMTUwLjEgMGM0OS45IDAgNzQuOSA2MC4zIDM5LjYgOTUuNmwtNjMuOSA2My45IDY5LjggMzFjMTcuMyA3LjcgMjguNSAyNC45IDI4LjUgNDMuOWwwIDg1LjZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC03NS4yLTgyLjQtMzYuNmMtNDEtMTguMi01MS03Mi0xOS4zLTEwMy43bDQwLjQtNDAuNC05OC43IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek04OS40IDM2MS40bDc1LjktNzUuOWM3LjcgMTkuNyAyMS42IDM3LjMgNDEgNDkuNmwtNzEuNiA3MS42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM3ptMzQ2LjUgODcuMWM4LjYgMi4xIDEzLjggMTAuOCAxMS42IDE5LjRsLS40IDEuN2MtNi4yIDI0LjktMjguNiA0Mi40LTU0LjMgNDIuNEwzMDQgNTEyYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDg4LjggMGMxMSAwIDIwLjYtNy41IDIzLjMtMTguMmwuNC0xLjdjMi4xLTguNiAxMC44LTEzLjggMTkuNC0xMS42ek0xNDMuMiA0ODYuM2wtNi4yIDMuMWMtMjEuNiAxMC44LTQ3LjYgNi42LTY0LjYtMTAuNUwxMi43IDQxOS4zYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsNTkuNiA1OS42YzcuMyA3LjMgMTguNSA5LjEgMjcuNyA0LjVsNi4yLTMuMWM3LjktNCAxNy41LS43IDIxLjUgNy4ycy43IDE3LjUtNy4yIDIxLjV6Il19LF9MdD1UY2UsS1k9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VuIixpY29uOls1NzYsNTEyLFs5NzI4XSwiZjE4NSIsIk0yODgtMzJjOC40IDAgMTYuMyA0LjQgMjAuNiAxMS43TDM2NC4xIDcyLjMgNDY4LjkgNDZjOC4yLTIgMTYuOSAuNCAyMi44IDYuM1M1MDAgNjcgNDk4IDc1LjFsLTI2LjMgMTA0LjcgOTIuNyA1NS41YzcuMiA0LjMgMTEuNyAxMi4yIDExLjcgMjAuNnMtNC40IDE2LjMtMTEuNyAyMC42TDQ3MS43IDMzMi4xIDQ5OCA0MzYuOGMyIDguMi0uNCAxNi45LTYuMyAyMi44UzQ3NyA0NjggNDY4LjkgNDY2bC0xMDQuNy0yNi4zLTU1LjUgOTIuN2MtNC4zIDcuMi0xMi4yIDExLjctMjAuNiAxMS43cy0xNi4zLTQuNC0yMC42LTExLjdMMjExLjkgNDM5LjcgMTA3LjIgNDY2Yy04LjIgMi0xNi44LS40LTIyLjgtNi4zUzc2IDQ0NSA3OCA0MzYuOGwyNi4yLTEwNC43LTkyLjYtNTUuNUM0LjQgMjcyLjIgMCAyNjQuNCAwIDI1NnM0LjQtMTYuMyAxMS43LTIwLjZMMTA0LjMgMTc5LjkgNzggNzUuMWMtMi04LjIgLjMtMTYuOCA2LjMtMjIuOFM5OSA0NCAxMDcuMiA0NmwxMDQuNyAyNi4yIDU1LjUtOTIuNiAxLjgtMi42YzQuNS01LjcgMTEuNC05LjEgMTguOC05LjF6bTAgMTQ0YTE0NCAxNDQgMCAxIDAgMCAyODggMTQ0IDE0NCAwIDEgMCAwLTI4OHptMCAyNDBhOTYgOTYgMCAxIDEgMC0xOTIgOTYgOTYgMCAxIDEgMCAxOTJ6Il19LExjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXNlYmFsbCIsaWNvbjpbNTEyLDUxMixbMTI5MzU4LDk5MTgsImJhc2ViYWxsLWJhbGwiXSwiZjQzMyIsIk0yMzIuNCAxLjFjLTEyMi4yIDExLjQtMjE5LjUgMTA4LjctMjMwLjkgMjMwLjkgMTYuMi0uMSAzMi0xLjggNDcuMi01IDEzLTIuNyAyNS43IDUuNSAyOC40IDE4LjVzLTUuNSAyNS43LTE4LjUgMjguNGMtMTguNCAzLjktMzcuNiA2LTU3LjEgNi4xIDExLjQgMTIyLjIgMTA4LjcgMjE5LjUgMjMwLjkgMjMwLjkgLjEtMTkuNSAyLjItMzguNyA2LjEtNTcuMSAyLjctMTMgMTUuNS0yMS4zIDI4LjQtMTguNXMyMS4zIDE1LjUgMTguNSAyOC40Yy0zLjIgMTUuMi00LjkgMzEtNSA0Ny4yIDEyMi4yLTExLjQgMjE5LjUtMTA4LjcgMjMwLjktMjMwLjktMTYuMiAuMS0zMiAxLjgtNDcuMiA1LTEzIDIuNy0yNS43LTUuNS0yOC40LTE4LjVzNS41LTI1LjcgMTguNS0yOC40YzE4LjQtMy45IDM3LjYtNiA1Ny4xLTYuMS0xMS40LTEyMi4yLTEwOC43LTIxOS41LTIzMC45LTIzMC45LS4xIDE5LjUtMi4yIDM4LjctNi4xIDU3LjEtMi43IDEzLTE1LjUgMjEuMy0yOC40IDE4LjVzLTIxLjMtMTUuNS0xOC41LTI4LjRjMy4yLTE1LjIgNC45LTMxIDUtNDcuMnptMi44IDE1MS40Yy0yMS40IDMyLjktNDkuNSA2MC45LTgyLjMgODIuMy0xMS4xIDcuMi0yNiA0LjEtMzMuMi03cy00LjEtMjYgNy0zMy4yYzI3LjItMTcuNyA1MC41LTQxIDY4LjMtNjguMyA3LjItMTEuMSAyMi4xLTE0LjMgMzMuMi03czE0LjMgMjIuMSA3IDMzLjJ6TTM5My4xIDI4NC4yYzcuMiAxMS4xIDQuMSAyNi03IDMzLjItMjcuMiAxNy43LTUwLjUgNDEtNjguMyA2OC4zLTcuMiAxMS4xLTIyLjEgMTQuMy0zMy4yIDdzLTE0LjMtMjIuMS03LTMzLjJjMjEuNC0zMi45IDQ5LjUtNjAuOSA4Mi4zLTgyLjMgMTEuMS03LjIgMjYtNC4xIDMzLjIgN3oiXX0sVEx0PUxjZSxMTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaW1hZ2UiLGljb246WzQ0OCw1MTIsW10sImYwM2UiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNjQgODBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2ek0yNzIgMjI0YzguNCAwIDE2LjEgNC40IDIwLjUgMTEuNWw4OCAxNDRjNC41IDcuNCA0LjcgMTYuNyAuNSAyNC4zUzM2OC43IDQxNiAzNjAgNDE2TDg4IDQxNmMtOC45IDAtMTcuMi01LTIxLjMtMTIuOXMtMy41LTE3LjUgMS42LTI0LjhsNTYtODBjNC41LTYuNCAxMS44LTEwLjIgMTkuNy0xMC4yczE1LjIgMy44IDE5LjcgMTAuMmwyNi40IDM3LjggNjEuNC0xMDAuNWM0LjQtNy4xIDEyLjEtMTEuNSAyMC41LTExLjV6Il19LCRMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJub3RkZWYiLGljb246WzM4NCw1MTIsW10sImUxZmUiLCJNNjQgMzkwLjNMMTUzLjUgMjU2IDY0IDEyMS43IDY0IDM5MC4zek0xMDIuNSA0NDhMMjgxLjUgNDQ4IDE5MiAzMTMuNyAxMDIuNSA0NDh6bTEyOC0xOTJMMzIwIDM5MC4zIDMyMCAxMjEuNyAyMzAuNSAyNTZ6TTI4MS41IDY0TDEwMi41IDY0IDE5MiAxOTguMyAyODEuNSA2NHpNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDBMMzM2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0MTZjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDQ4eiJdfSwkY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFza2V0YmFsbCIsaWNvbjpbNTEyLDUxMixbMTI3OTM2LCJiYXNrZXRiYWxsLWJhbGwiXSwiZjQzNCIsIk05Mi43IDU4LjhsNzguNCA3OC40YzE4LjItMjUgMjguOS01NS45IDI4LjktODkuMiAwLTE0LjEtMS45LTI3LjctNS41LTQwLjYtMzggOS40LTcyLjYgMjcuMi0xMDEuOCA1MS40ek01OC44IDkyLjdjLTI0LjIgMjkuMi00MiA2My44LTUxLjQgMTAxLjggMTIuOSAzLjYgMjYuNSA1LjUgNDAuNiA1LjUgMzMuMyAwIDY0LjEtMTAuNyA4OS4yLTI4LjlMNTguOCA5Mi43ek0yNTYgMGMtNC42IDAtOS4yIC4xLTEzLjcgLjQgMy43IDE1LjMgNS43IDMxLjIgNS43IDQ3LjYgMCA0Ni42LTE1LjkgODkuNC00Mi42IDEyMy40TDI1NiAyMjIuMSA0MTkuMyA1OC44QzM3NC45IDIyLjEgMzE4LjEgMCAyNTYgMHpNNDggMjQ4Yy0xNi40IDAtMzIuNC0yLTQ3LjYtNS43LS4yIDQuNS0uNCA5LjEtLjQgMTMuNyAwIDYyLjEgMjIuMSAxMTguOSA1OC44IDE2My4zTDIyMi4xIDI1NiAxNzEuNCAyMDUuNEMxMzcuNCAyMzIuMSA5NC42IDI0OCA0OCAyNDh6bTQ2My42IDIxLjdjLjItNC41IC40LTkuMSAuNC0xMy43IDAtNjIuMS0yMi4xLTExOC45LTU4LjgtMTYzLjNMMjg5LjkgMjU2IDM0MC42IDMwNi42YzM0LTI2LjcgNzYuOS00Mi42IDEyMy40LTQyLjYgMTYuNCAwIDMyLjQgMiA0Ny42IDUuN3ptLTcuMSA0Ny44Yy0xMi45LTMuNi0yNi41LTUuNS00MC42LTUuNS0zMy4zIDAtNjQuMSAxMC43LTg5LjIgMjguOWw3OC40IDc4LjRjMjQuMi0yOS4yIDQyLTYzLjggNTEuNC0xMDEuOHpNMzQwLjkgMzc0LjhjLTE4LjIgMjUtMjguOSA1NS45LTI4LjkgODkuMiAwIDE0LjEgMS45IDI3LjcgNS41IDQwLjYgMzgtOS40IDcyLjYtMjcuMiAxMDEuOC01MS40bC03OC40LTc4LjR6bS0zNC4zLTM0LjNMMjU2IDI4OS45IDkyLjcgNDUzLjJjNDQuMyAzNi43IDEwMS4yIDU4LjggMTYzLjMgNTguOCA0LjYgMCA5LjItLjEgMTMuNy0uNC0zLjctMTUuMy01LjctMzEuMi01LjctNDcuNiAwLTQ2LjYgMTUuOS04OS40IDQyLjYtMTIzLjR6Il19LERMdD0kY2UsRGNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlbmNpbCIsaWNvbjpbNTEyLDUxMixbOTk5OSw2MTUwNCwicGVuY2lsLWFsdCJdLCJmMzAzIiwiTTM2LjQgMzUzLjJjNC4xLTE0LjYgMTEuOC0yNy45IDIyLjYtMzguN2wxODEuMi0xODEuMiAzMy45LTMzLjljMTYuNiAxNi42IDUxLjMgNTEuMyAxMDQgMTA0bDMzLjkgMzMuOS0zMy45IDMzLjktMTgxLjIgMTgxLjJjLTEwLjcgMTAuNy0yNC4xIDE4LjUtMzguNyAyMi42TDMwLjQgNTEwLjZjLTguMyAyLjMtMTcuMyAwLTIzLjQtNi4yUy0xLjQgNDg5LjMgLjkgNDgxTDM2LjQgMzUzLjJ6bTU1LjYtMy43Yy00LjQgNC43LTcuNiAxMC40LTkuMyAxNi42bC0yNC4xIDg2LjkgODYuOS0yNC4xYzYuNC0xLjggMTIuMi01LjEgMTctOS43TDkxLjkgMzQ5LjV6bTM1NC0xNDYuMWMtMTYuNi0xNi42LTUxLjMtNTEuMy0xMDQtMTA0TDMwOCA2NS41QzMzNC41IDM5IDM0OS40IDI0LjEgMzUyLjkgMjAuNiAzNjYuNCA3IDM4NC44LS42IDQwNC0uNlM0NDEuNiA3IDQ1NS4xIDIwLjZsMzUuNyAzNS43QzUwNC40IDY5LjkgNTEyIDg4LjMgNTEyIDEwNy40cy03LjYgMzcuNi0yMS4yIDUxLjFjLTMuNSAzLjUtMTguNCAxOC40LTQ0LjkgNDQuOXoiXX0sQUx0PURjZSxQTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXdhbGtpbmctYXJyb3ctbG9vcC1sZWZ0IixpY29uOls2NDAsNTEyLFtdLCJlNTUxIiwiTTE2MCA4MGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnpNNzMuNCAyMjcuOWwyMi42LTIyLjYgMCA2OS4zYzAgMjggMTIuMiA1NC43IDMzLjUgNzIuOWw3MS40IDYxLjJjNS45IDUuMSA5LjggMTIuMSAxMC45IDE5LjhsMTIuNiA4OC4xYzIuNSAxNy41IDE4LjcgMjkuNyAzNi4yIDI3LjJzMjkuNy0xOC43IDI3LjItMzYuMmwtMTIuNi04OC4xYy0zLjMtMjMuMS0xNC45LTQ0LjEtMzIuNi01OS4zbC0zNC41LTI5LjYgMC0xMTUuMiAzLjggNC43YzE4LjIgMjIuOCA0NS44IDM2IDc1IDM2bDMzLjIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzMuMiAwYy05LjcgMC0xOC45LTQuNC0yNS0xMmwtMTcuOS0yMi40Yy0yMy0yOC44LTU3LjktNDUuNi05NC44LTQ1LjYtMzIuMiAwLTYzLjEgMTIuOC04NS44IDM1LjZMMjguMSAxODIuNkMxMC4xIDIwMC42IDAgMjI1IDAgMjUwLjVMMCAyODhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM3LjVjMC04LjUgMy40LTE2LjYgOS40LTIyLjZ6TTg1LjggNDA3LjNjLTEuNSA1LjItNC4zIDEwLTguMSAxMy44TDkuNCA0ODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw2OC4zLTY4LjNjMTEuNS0xMS41IDE5LjktMjUuOCAyNC40LTQxLjVsMi4yLTcuNi00Ni0zOS40Yy0yLjUtMi4yLTUtNC40LTcuNC02LjhMODUuOCA0MDcuM3pNMzU5IDMzNWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0zMS0zMSAxMDIuMSAwYzEuMiAwIDIuNC0uMSAzLjUtLjMgNTYuMS0zLjkgMTAwLjUtNTAuNiAxMDAuNS0xMDcuNyAwLTU5LjYtNDguNC0xMDgtMTA4LTEwOGwtOTIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw5MiAwYzMzLjEgMCA2MCAyNi45IDYwIDYwcy0yNi45IDYwLTYwIDYwbC05OC4xIDAgMzEtMzFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNzIgNzJ6Il19LEVMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlLXNpeCIsaWNvbjpbNDQ4LDUxMixbOTg2MV0sImY1MjYiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTE2MCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0xMjggMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMzIgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzIwIDE5MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTMyIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTMyMCAzODRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxBY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5nbGVzLWRvd24iLGljb246WzM4NCw1MTIsWyJhbmdsZS1kb3VibGUtZG93biJdLCJmMTAzIiwiTTIxNC42IDQ3MC42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtMTYwLTE2MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEwxOTIgNDAyLjcgMzI5LjQgMjY1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtMTYwIDE2MHptMTYwLTM1MmwtMTYwIDE2MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTE2MC0xNjBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMMTkyIDIxMC43IDMyOS40IDczLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3oiXX0sSUx0PUFjZSxOTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3lyaW5nZSIsaWNvbjpbNTc2LDUxMixbMTI4MTM3XSwiZjQ4ZSIsIk00OTcuNS0xN2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwxNSAxNS00Ni4xIDQ2LjEtNjMtNjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNyA3LTc4LjEgNzguMSA0MSA0MWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00MS00MS00Ni4xIDQ2LjEgNDEgNDFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDEtNDEtMzcuNyAzNy43Yy0xMC41IDEwLjUtMTYuNCAyNC43LTE2LjQgMzkuNmwwIDg4LjgtNTcgNTdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw1Ny01NyA4OC44IDBjMTQuOSAwIDI5LjEtNS45IDM5LjYtMTYuNGwyMjkuNy0yMjkuNyA3IDdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02My02MyA0Ni4xLTQ2LjEgMTUgMTVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02NC02NHoiXX0sUGNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndoZWF0LWF3biIsaWNvbjpbNTc2LDUxMixbIndoZWF0LWFsdCJdLCJlMmNkIiwiTTc5LjcgMjM0LjZjNi4yLTQuMSAxNC43LTMuNCAyMC4xIDIuMWw0Ni4xIDQ2LjEgNi4xIDYuN2MxOS43IDIzLjggMjYuMyA1NSAxOS4yIDgzLjkgMzEuNy03LjcgNjYuMiAxIDkwLjYgMjUuM2w0Ni4xIDQ2LjFjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTcuNCA3LjRjLTM3LjUgMzcuNS05OC4zIDM3LjUtMTM1LjggMEwxMzQuMSA0NDQuMyA0OS40IDUyOWMtOS40IDkuNC0yNC41IDkuNC0zMy45IDAtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsODQuNy04NC43LTMwLjUtMzAuNWMtMzcuNS0zNy41LTM3LjUtOTguMyAwLTEzNS43bDcuNC03LjQgMi41LTIuMXptMTA0LTEwNGM2LjItNC4xIDE0LjctMy40IDIwLjEgMi4xbDQ2LjEgNDYuMSA2LjEgNi43YzE5LjcgMjMuOCAyNi4zIDU1IDE5LjIgODMuOSAzMS43LTcuNyA2Ni4yIDEgOTAuNiAyNS4zbDQ2LjEgNDYuMWM2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtNy40IDcuNGMtMzcuNSAzNy41LTk4LjMgMzcuNS0xMzUuOCAwbC05NC45LTk0LjljLTM3LjUtMzcuNS0zNy41LTk4LjMgMC0xMzUuN2w3LjQtNy40IDIuNS0yLjF6TTQ5NS4yIDE1YzkuNC05LjQgMjQuNi05LjQgMzQgMCA4LjggOC44IDkuMyAyMi43IDEuNiAzMi4yTDUyOS4yIDQ5IDQxNC43IDE2My40YzcuNyAxIDE1LjIgMyAyMi41IDUuOUw0OTUuNSAxMTFjOS40LTkuNCAyNC42LTkuNCAzNCAwIDguOCA4LjggOS4zIDIyLjcgMS42IDMyLjFsLTEuNyAxLjgtNTIuNyA1Mi43IDM5IDM5YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03LjQgNy40Yy0zNy41IDM3LjUtOTguMyAzNy41LTEzNS44IDBsLTk0LjktOTQuOWMtMzcuNS0zNy41LTM3LjUtOTguMyAwLTEzNS43bDcuNC03LjQgMi41LTIuMWM2LjItNC4xIDE0LjctMy40IDIwLjEgMi4xbDM5IDM5IDUyLjctNTIuN2M5LjQtOS40IDI0LjYtOS40IDM0IDAgOC44IDguOCA5LjMgMjIuNyAxLjYgMzIuMWwtMS43IDEuOC01OC4zIDU4LjNjMi44IDcuMSA0LjcgMTQuNSA1LjcgMjIuMUw0OTUuMiAxNXoiXX0sUkx0PVBjZSxGTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUtdXAiLGljb246WzUxMiw1MTIsW10sImUyMmQiLCJNMjAwIDI0YzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZsMCAxMjcuMyAxNzMuNiAxNTkuMmM2LjYgNi4xIDEwLjQgMTQuNiAxMC40IDIzLjZsMCA0My43YzAgMTAuOS0xMC43IDE4LjYtMjEuMSAxNS4ybC0xNjIuOS01NC4zIDAgOTkuNyA2NiA1Mi44YzMuOCAzIDYgNy42IDYgMTIuNWwwIDE5LjhjMCAxMC40LTkuOCAxOC0xOS45IDE1LjVMMjU2IDUxMiAxNDcuOSA1MzljLTEwLjEgMi41LTE5LjktNS4xLTE5LjktMTUuNWwwLTE5LjhjMC00LjkgMi4yLTkuNSA2LTEyLjVsNjYtNTIuOCAwLTk5LjctMTYyLjkgNTQuM0MyNi43IDM5Ni40IDE2IDM4OC43IDE2IDM3Ny44bDAtNDMuN2MwLTkgMy44LTE3LjUgMTAuNC0yMy42TDIwMCAxNTEuMyAyMDAgMjR6Il19LE9MdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbGlnbi1jZW50ZXIiLGljb246WzQ0OCw1MTIsW10sImYwMzciLCJNMzUyIDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDEyOCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnptOTYgMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnpNMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMzUyIDMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTkyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6Il19LEJMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob2NrZXktcHVjayIsaWNvbjpbNTEyLDUxMixbXSwiZjQ1MyIsIk0yNTYgMjU2QzExNC42IDI1NiAwIDIxMyAwIDE2MHMxMTQuNi05NiAyNTYtOTYgMjU2IDQzIDI1NiA5Ni0xMTQuNiA5Ni0yNTYgOTZ6TTAgMzUyTDAgMjQyLjdjMTYuOSAxMi4zIDM3IDIyLjIgNTguMSAzMC4xIDUzIDE5LjkgMTIzIDMxLjIgMTk3LjkgMzEuMnMxNDQuOS0xMS4zIDE5Ny45LTMxLjJjMjEuMi03LjkgNDEuMi0xNy44IDU4LjEtMzAuMUw1MTIgMzUyYzAgNTMtMTE0LjYgOTYtMjU2IDk2UzAgNDA1IDAgMzUyeiJdfSxFY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWFycm93LWxlZnQiLGljb246WzUxMiw1MTIsWyJhcnJvdy1jaXJjbGUtbGVmdCJdLCJmMGE4IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xMzUgMjM5bDgwLTgwYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMzkgMzkgMTUwLjEgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTUwLjEgMCAzOSAzOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC04MC04MGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6Il19LEhMdD1FY2UscUx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsdWctY2lyY2xlLWJvbHQiLGljb246WzY0MCw1MTIsW10sImU1NWIiLCJNMTkyLTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgMTI4IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgOTYgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDQ4LjdjLTk4LjYgOC4xLTE3NiA5MC43LTE3NiAxOTEuMyAwIDI3LjMgNS43IDUzLjMgMTYgNzYuOWwwIDMuMWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY2LjdDMTY1LjIgMzk4LjEgOTYgMzE5LjEgOTYgMjI0bDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzc4LjMgOTYgOTYgOTZsNjQgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0zNTIgNDAwYTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTE3Ny40LTc3Yy01LjgtNC4yLTEzLjgtNC0xOS40IC41bC04MCA2NGMtNS4zIDQuMi03LjQgMTEuNC01LjEgMTcuOFM0MzMuMiA0MTYgNDQwIDQxNmwzMi45IDAtMTUuOSA0Mi40Yy0yLjUgNi43LS4yIDE0LjMgNS42IDE4LjZzMTMuOCA0IDE5LjQtLjVsODAtNjRjNS4zLTQuMiA3LjQtMTEuNCA1LjEtMTcuOFM1NTguOCAzODQgNTUyIDM4NGwtMzIuOSAwIDE1LjktNDIuNGMyLjUtNi43IC4yLTE0LjMtNS42LTE4LjZ6Il19LFZMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZXN0cm9vbSIsaWNvbjpbNjQwLDUxMixbXSwiZjdiZCIsIk04MCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00MCAzMDRsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNTQuOGMtOC4xIDkuMi0yMS4xIDEzLjItMzMuNSA5LjQtMTYuOS01LjMtMjYuMy0yMy4yLTIxLTQwLjFsMjkuNy05NS4yQzQ0LjQgMTU2LjkgODMuNiAxMjggMTI4IDEyOHM4My42IDI4LjkgOTYuOCA3MS4ybDI5LjcgOTUuMmM1LjMgMTYuOS00LjEgMzQuOC0yMSA0MC4xLTEyLjQgMy45LTI1LjQtLjItMzMuNS05LjRMMjAwIDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOC0xNiAwek0zMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQ2NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNNDY0IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTQ0MCA0ODBsMC05Ni0xNy44IDBjLTEwLjkgMC0xOC42LTEwLjctMTUuMi0yMS4xbDktMjYuOWMtMy4yIDAtNi40LS41LTkuNS0xLjUtMTYuOS01LjMtMjYuMy0yMy4yLTIxLTQwLjFsMjkuNy05NS4yQzQyOC40IDE1Ni45IDQ2Ny42IDEyOCA1MTIgMTI4czgzLjYgMjguOSA5Ni44IDcxLjJsMjkuNyA5NS4yYzUuMyAxNi45LTQuMSAzNC44LTIxIDQwLjEtMy4yIDEtNi40IDEuNS05LjUgMS41bDkgMjYuOWMzLjUgMTAuNC00LjMgMjEuMS0xNS4yIDIxLjFsLTE3LjggMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTYtMTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyeiJdfSxqTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5jaG9yLWxvY2siLGljb246WzY0MCw1MTIsW10sImU0YWQiLCJNMzIwLjUgOTZhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptLTMyLTk2Yy01MyAwLTk2IDQzLTk2IDk2IDAgNDEuOCAyNi43IDc3LjQgNjQgOTAuNWwwIDI1Ny45Yy02Mi45LTE0LjMtMTEwLjItNjkuNy0xMTEuOS0xMzYuNWwxNi4xIDE0LjFjMTAgOC43IDI1LjEgNy43IDMzLjktMi4zczcuNy0yNS4xLTIuMy0zMy45bC02NC01NmMtOS03LjktMjIuNi03LjktMzEuNiAwbC02NCA1NmMtMTAgOC43LTExIDIzLjktMi4zIDMzLjlzMjMuOSAxMSAzMy45IDIuM2wxNi4yLTE0LjJjMi4xIDExMy4xIDk0LjQgMjA0LjEgMjA4IDIwNC4xIDI4LjMgMCA1NS40LTUuNyA4MC0xNS45bDAtLjIgMC03Mi4yYy0xNC40IDkuNi0zMC42IDE2LjctNDggMjAuN2wwLTI1Ny45YzM3LjMtMTMuMiA2NC00OC43IDY0LTkwLjUgMC01My00My05Ni05Ni05NnptMjcyIDMwNC4xbDAgNDcuOS02NCAwIDAtNDcuOWMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyek00MTYuNSA0MDBsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTk2YzAtMjAuOS0xMy40LTM4LjctMzItNDUuM2wwLTUwLjZjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBsMCA1MC42Yy0xOC42IDYuNi0zMiAyNC40LTMyIDQ1LjN6Il19LFVMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0aW1lbGluZSIsaWNvbjpbNTc2LDUxMixbXSwiZTI5YyIsIk0xNjAgMTY5LjNjMjguMy0xMi4zIDQ4LTQwLjUgNDgtNzMuMyAwLTQ0LjItMzUuOC04MC04MC04MFM0OCA1MS44IDQ4IDk2YzAgMzIuOCAxOS43IDYxIDQ4IDczLjNsMCA1NC43LTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjI0IDAgMCA1NC43Yy0yOC4zIDEyLjMtNDggNDAuNS00OCA3My4zIDAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0zMi44LTE5LjctNjEtNDgtNzMuM2wwLTU0LjcgMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC01NC43YzI4LjMtMTIuMyA0OC00MC41IDQ4LTczLjMgMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBjMCAzMi44IDE5LjcgNjEgNDggNzMuM2wwIDU0LjctMjU2IDAgMC01NC43eiJdfSxXTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlnaHRidWxiIixpY29uOlszODQsNTEyLFsxMjgxNjFdLCJmMGViIiwiTTI5Mi45IDM4NGM3LjMtMjIuMyAyMS45LTQyLjUgMzguNC01OS45IDMyLjctMzQuNCA1Mi43LTgwLjkgNTIuNy0xMzIuMSAwLTEwNi04Ni0xOTItMTkyLTE5MlMwIDg2IDAgMTkyYzAgNTEuMiAyMCA5Ny43IDUyLjcgMTMyLjEgMTYuNSAxNy40IDMxLjIgMzcuNiAzOC40IDU5LjlsMjAxLjcgMHpNMjg4IDQzMmwtMTkyIDAgMCAxNmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwzMiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtMTZ6TTE4NCAxMTJjLTM5LjggMC03MiAzMi4yLTcyIDcyIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNjYuMyA1My43LTEyMCAxMjAtMTIwIDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0eiJdfSxJY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWFycm93LXJpZ2h0IixpY29uOls1MTIsNTEyLFsiYXJyb3ctY2lyY2xlLXJpZ2h0Il0sImYwYTkiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTQxLTE1OWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzOS0zOS0xNTAuMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE1MC4xIDAtMzktMzljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw4MCA4MGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtODAgODB6Il19LEdMdD1JY2UsWUx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcnMtYW5kLXZlbnVzIixpY29uOls1MTIsNTEyLFs5ODkzXSwiZjIyNCIsIk0zNjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxMTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDExMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTM0LjctNjMgNjNjMTkuNSAyOC40IDMxIDYyLjcgMzEgOTkuOCAwIDg2LjMtNjIuMSAxNTguMS0xNDQgMTczLjFsMCAzNC45IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTM0LjljLTgxLjktMTUtMTQ0LTg2LjgtMTQ0LTE3My4xIDAtOTcuMiA3OC44LTE3NiAxNzYtMTc2IDM3IDAgNzEuNCAxMS40IDk5LjggMzFsNjMtNjMtMzQuNyAwek0zNTIgMjA4YTExMiAxMTIgMCAxIDAgLTIyNCAwIDExMiAxMTIgMCAxIDAgMjI0IDB6Il19LFFZPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im5ldHdvcmstd2lyZWQiLGljb246WzU3Niw1MTIsW10sImY2ZmYiLCJNMjQ4IDg4bDgwIDAgMCA0OC04MCAwIDAtNDh6bS04LTU2Yy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE2IDAgMCAzMi0yMjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwIDAgMzItMTYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw5NiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTE2IDAgMC0zMiAxOTIgMCAwIDMyLTE2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjRjMCAyNi41IDIxLjUgNDggNDggNDhsOTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0xNiAwIDAtMzIgOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjI0IDAgMC0zMiAxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTk2IDB6TTQ0OCAzNzZsOCAwIDAgNDgtODAgMCAwLTQ4IDcyIDB6bS0yNTYgMGw4IDAgMCA0OC04MCAwIDAtNDggNzIgMHoiXX0sWkx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLXNoaWVsZCIsaWNvbjpbNTc2LDUxMixbXSwiZTRkOCIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDIwMS4yIDBjLTEyLjUtMTQuNy0yMy4yLTMwLjgtMzEuOC00OGwtODkuNSAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMCAwLTI2LjdjMC0xOC4xIDYuMS0zNS4yIDE2LjYtNDguOC0uNC0xLjQtLjYtMi45LS42LTQuNWwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDEgODYuNy0yOC45YzMuMS0xIDYuMi0xLjggOS4zLTIuNUw0MTYgNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMOTYgMHptMzIgMTEyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTI3MiA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xMjggMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTQ0NS4zIDQ4OC41bC0xMy4zIDYuMyAwLTE4OC4xIDk2IDMyIDAgMTkuNmMwIDU1LjgtMzIuMiAxMDYuNS04Mi43IDEzMC4zek00MjEuOSAyNTkuNWwtMTEyIDM3LjNjLTEzLjEgNC40LTIxLjkgMTYuNi0yMS45IDMwLjRsMCAzMS4xYzAgNzQuNCA0MyAxNDIuMSAxMTAuMiAxNzMuN2wxOC41IDguN2M0LjggMi4yIDEwIDMuNCAxNS4yIDMuNHMxMC41LTEuMiAxNS4yLTMuNGwxOC41LTguN0M1MzMgNTAwLjMgNTc2IDQzMi42IDU3NiAzNTguMmwwLTMxLjFjMC0xMy44LTguOC0yNi0yMS45LTMwLjRsLTExMi0zNy4zYy02LjYtMi4yLTEzLjctMi4yLTIwLjIgMHoiXX0sWEx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvZGUiLGljb246WzU3Niw1MTIsW10sImYxMjEiLCJNMzYwLjggMS4yYy0xNy00LjktMzQuNyA1LTM5LjYgMjJsLTEyOCA0NDhjLTQuOSAxNyA1IDM0LjcgMjIgMzkuNnMzNC43LTUgMzkuNi0yMmwxMjgtNDQ4YzQuOS0xNy01LTM0LjctMjItMzkuNnptNjQuNiAxMzYuMWMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNzMuNCA3My40LTczLjQgNzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw5Ni05NmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwem0tMjc0LjcgMGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDc3LjMgMjU2IDE1MC42IDE4Mi42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zeiJdfSxOY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmVhdGhlci1wb2ludGVkIixpY29uOls1MTIsNTEyLFsiZmVhdGhlci1hbHQiXSwiZjU2YiIsIk00NzUuMyAuMWM5LjktLjggMTkuNiAzIDI2LjYgMTBzMTAuOCAxNi43IDEwIDI2LjZjLTQgNDkuMy0xNy40IDEyNi4yLTQ2LjMgMTk5LjctMS44IDQuNS01LjUgNy45LTEwLjIgOS4zTDM3NC41IDI3MGMtMy45IDEuMi02LjUgNC43LTYuNSA4LjggMCA1LjEgNC4xIDkuMiA5LjIgOS4ybDM4LjYgMGMxMiAwIDE5LjcgMTIuOCAxMy41IDIzLjEtNCA2LjctOC4zIDEzLjItMTIuNyAxOS42LTIgMi45LTUgNS04LjQgNi4xTDMxMC41IDM2NmMtMy45IDEuMi02LjUgNC43LTYuNSA4LjggMCA1LjEgNC4xIDkuMiA5LjIgOS4ybDE2IDBjMTQuNiAwIDIxIDE3LjQgOC44IDI1LjQtNjggNDUtMTM3LjcgNDMuMy0xODIuNCAzMS4zLTEyLjctMy40LTI0LTkuOS0zNC40LTE3LjlMNDggNDk2Yy04LjggOC44LTIzLjIgOC44LTMyIDBzLTguOC0yMy4yIDAtMzJsODAtODAgLjUgLjVjLjctMS4zIDEuNi0yLjUgMi43LTMuNkwyNTYgMjI0YzguOC04LjggOC44LTIzLjIgMC0zMnMtMjMuMi04LjgtMzIgMEw4OS43IDMyNi4yYy04LjkgOC45LTI0IDQuNC0yNS04LjItNC4zLTUzLjIgOS4zLTEyMy4xIDcyLjYtMTg2LjQgOTEuMS05MS4xIDI1NC4yLTEyNC43IDMzNy45LTEzMS41eiJdfSxLTHQ9TmNlLFFMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWNpcmNsZS1xdWVzdGlvbiIsaWNvbjpbNTc2LDUxMixbXSwiZTRlZiIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE4MCAwYy0yMi43LTMxLjUtMzYtNzAuMi0zNi0xMTIgMC0xMDAuNiA3Ny40LTE4My4yIDE3Ni0xOTEuM2wwLTM4LjFjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjkwLjcgMTguN0MyNzguNyA2LjcgMjYyLjUgMCAyNDUuNSAwTDk2IDB6TTM1Ny41IDE3NkwyNjQgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyNDAgNTguNSAzNTcuNSAxNzZ6TTQzMiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTEwMGEyMCAyMCAwIDEgMSAwIDQwIDIwIDIwIDAgMSAxIDAtNDB6bTAtMTAwYy0xMS42IDAtMjEuMyA4LjItMjMuNSAxOS4yLTEuOCA4LjctMTAuMiAxNC4zLTE4LjkgMTIuNXMtMTQuMy0xMC4yLTEyLjUtMTguOWM1LjItMjUuNiAyNy44LTQ0LjggNTQuOS00NC44IDMwLjkgMCA1NiAyNS4xIDU2IDU2IDAgMTkuOC0xMS43IDM3LjgtMjkuOCA0NS45bC0xMC40IDQuNmMtMS4yIDcuNy03LjggMTMuNS0xNS44IDEzLjUtOC44IDAtMTYtNy4yLTE2LTE2IDAtMTEuMiA2LjYtMjEuMyAxNi44LTI1LjlsMTIuNC01LjVjNi42LTIuOSAxMC44LTkuNCAxMC44LTE2LjYgMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LEpMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaWduYXR1cmUiLGljb246WzY0MCw1MTIsW10sImY1YjciLCJNMTkyIDEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNy44YzAgMjcuNy0yLjQgNTUuMy03LjEgODIuNWwtODQuNCAyNS4zYy00MC42IDEyLjItNjguNCA0OS42LTY4LjQgOTJsMCAzMi40LTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNzIuNSAwYzQuMiAzNiAzNC44IDY0IDcyIDY0IDI2IDAgNTAtMTMuOSA2Mi45LTM2LjVsMTMuOS0yNC4zYzI2LjgtNDcgNDYuNS05Ny43IDU4LjQtMTUwLjVsOTQuNC0yOC4zLTEyLjUgMzcuNWMtMy4zIDkuOC0xLjYgMjAuNSA0LjQgMjguOFM0MDUuNyAzMjAgNDE2IDMyMGwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtODMuNiAwIDE4LTUzLjljMy44LTExLjMgLjktMjMuOC03LjQtMzIuNHMtMjAuNy0xMS44LTMyLjItOC40TDMxNi40IDE5OC4xYzIuNC0yMC43IDMuNi00MS40IDMuNi02Mi4zbDAtNy44YzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2bDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyem0tOS4yIDE3N2w0OS0xNC43Yy0xMC40IDMzLjgtMjQuNSA2Ni40LTQyLjEgOTcuMmwtMTMuOSAyNC4zYy0xLjUgMi42LTQuMyA0LjMtNy40IDQuMy00LjcgMC04LjUtMy44LTguNS04LjVsMC03MS45YzAtMTQuMSA5LjMtMjYuNiAyMi44LTMwLjd6TTYxNiA0MTZjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI5Mi45IDBjLTYuNSAxNi4zLTEzLjcgMzIuMy0yMS42IDQ4TDYxNiA0MTZ6Il19LHI3PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVhcnRoLWFtZXJpY2FzIixpY29uOls1MTIsNTEyLFsxMjc3NTgsImVhcnRoIiwiZWFydGgtYW1lcmljYSIsImdsb2JlLWFtZXJpY2FzIl0sImY1N2QiLCJNNTUuNyAxOTkuN2wzMC45IDMwLjljNiA2IDE0LjEgOS40IDIyLjYgOS40bDIxLjUgMGM4LjUgMCAxNi42IDMuNCAyMi42IDkuNGwyOS4zIDI5LjNjNiA2IDkuNCAxNC4xIDkuNCAyMi42bDAgMzcuNWMwIDguNSAzLjQgMTYuNiA5LjQgMjIuNmwxMy4zIDEzLjNjNiA2IDkuNCAxNC4xIDkuNCAyMi42bDAgMTguN2MwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMi43YzAtOC41IDMuNC0xNi42IDkuNC0yMi42bDQ1LjMtNDUuM2M2LTYgOS40LTE0LjEgOS40LTIyLjZsMC0zNC43YzAtMTcuNy0xNC4zLTMyLTMyLTMybC04Mi43IDBjLTguNSAwLTE2LjYtMy40LTIyLjYtOS40bC0xNi0xNmMtNC4yLTQuMi02LjYtMTAtNi42LTE2IDAtMTIuNSAxMC4xLTIyLjYgMjIuNi0yMi42bDM0LjcgMGMxMi41IDAgMjIuNi0xMC4xIDIyLjYtMjIuNiAwLTYtMi40LTExLjgtNi42LTE2bC0xOS43LTE5LjdDMjQyIDEzMCAyNDAgMTI1LjEgMjQwIDEyMHMyLTEwIDUuNy0xMy43bDE3LjMtMTcuM2M1LjgtNS44IDkuMS0xMy43IDkuMS0yMS45IDAtNy4yLTIuNC0xMy43LTYuNC0xOC45LTMuMi0uMS02LjQtLjItOS42LS4yLTk1LjQgMC0xNzUuNyA2NC4yLTIwMC4zIDE1MS43ek00NjQgMjU2YzAtMzQuNi04LjQtNjcuMi0yMy40LTk1LjgtNi40IC45LTEyLjcgMy45LTE3LjkgOS4xbC0xMy40IDEzLjRjLTYgNi05LjQgMTQuMS05LjQgMjIuNmwwIDM0LjdjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjQuMSAwYzIuNSAwIDUtLjMgNy4zLS44IC40LTUgLjUtMTAuMSAuNS0xNS4yek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAweiJdfSxlJHQ9cjcsdCR0PXI3LGEkdD1yNyxyJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2Fycm90IixpY29uOls2NDAsNTEyLFsxMjkzNjVdLCJmNzg3IiwiTTQ1My4xLTM2LjdMNDQwLjktMjQuNmMtMzEuMiAzMS4yLTMxLjIgODEuOSAwIDExMy4xIDE1LjYgMTUuNiAzMS4yIDMxLjIgNDYuOSA0Ni45IDMxLjIgMzEuMiA4MS45IDMxLjIgMTEzLjEgMGwxMi4xLTEyLjFjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZMNjAwLjkgODguNmMtMzEuMi0zMS4yLTgxLjktMzEuMi0xMTMuMSAwIDMxLjItMzEuMiAzMS4yLTgxLjkgMC0xMTMuMUw0NzUuNy0zNi43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHpNMzMxLjYgOTZjLTQ1LjIgMC04Ny4xIDIwLjQtMTE1IDU0LjNMMjczLjMgMjA3YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBMMTkxLjYgMTkzLjIgNjcuMiA0NjYuOGMtNS41IDEyLjEtMi45IDI2LjQgNi41IDM1LjlzMjMuNyAxMiAzNS45IDYuNWwxNDEuNi02NC40LTQzLjgtNDMuOGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDU2LjUgNTYuNSA5NS4zLTQzLjNjNTMuMS0yNC4xIDg3LjItNzcuMSA4Ny4yLTEzNS41IDAtODIuMi02Ni42LTE0OC44LTE0OC44LTE0OC44eiJdfSxpNz17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW1wZXJhdHVyZS1mdWxsIixpY29uOlszMjAsNTEyLFsidGVtcGVyYXR1cmUtNCIsInRoZXJtb21ldGVyLTQiLCJ0aGVybW9tZXRlci1mdWxsIl0sImYyYzciLCJNMTYwIDBDMTA3IDAgNjQgNDMgNjQgOTZsMCAxNjQuN0MzNC41IDI4NyAxNiAzMjUuNCAxNiAzNjggMTYgNDQ3LjUgODAuNSA1MTIgMTYwIDUxMnMxNDQtNjQuNSAxNDQtMTQ0YzAtNDIuNi0xOC41LTgxLTQ4LTEwNy4zTDI1NiA5NmMwLTUzLTQzLTk2LTk2LTk2em02NCAzNjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRjMC0yNi45IDE2LjUtNDkuOSA0MC01OS4zTDEzNiA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMjEyLjdjMjMuNSA5LjUgNDAgMzIuNSA0MCA1OS4zeiJdfSxpJHQ9aTcscyR0PWk3LG8kdD1pNyxuJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGUtY2VsbHMtcm93LWxvY2siLGljb246WzY0MCw1MTIsW10sImU2N2EiLCJNMjU2IDI4OGwwLTY0IDE1My4zIDBjMTcuMS00Mi4yIDU2LTczLjIgMTAyLjctNzlsMC00OWMwLTM1LjMtMjguNy02NC02NC02NEwxMjggMzJDOTIuNyAzMiA2NCA2MC43IDY0IDk2bDAgMzIwYzAgMzUuMyAyOC43IDY0IDY0IDY0bDI0MS4zIDBjLS45LTUuMi0xLjMtMTAuNi0xLjMtMTYuMWwwLTQ3LjktMTEyIDAgMC02NCAxMTMuMyAwYzMuNy0yMiAxNC44LTQxLjQgMzAuNy01NS42bDAtOC40LTE0NCAwem0wLTE5MmwxOTIgMCAwIDY0LTE5MiAwIDAtNjR6TTU2MCAyNzIuMWwwIDQ3LjktNjQgMCAwLTQ3LjljMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnpNNDE2IDM2OGwwIDk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDEyOCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTZjMC0yMC45LTEzLjQtMzguNy0zMi00NS4zbDAtNTAuNmMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGwwIDUwLjZjLTE4LjYgNi42LTMyIDI0LjQtMzIgNDUuM3oiXX0sbCR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvbHQtbGlnaHRuaW5nIixpY29uOlszODQsNTEyLFtdLCJlMGI3IiwiTTAgMjU2TDI4LjUgMjhjMi0xNiAxNS42LTI4IDMxLjgtMjhMMjI4LjkgMGMxNSAwIDI3LjEgMTIuMSAyNy4xIDI3LjEgMCAzLjItLjYgNi41LTEuNyA5LjVMMjA4IDE2MCAzNDcuMyAxNjBjMjAuMiAwIDM2LjcgMTYuNCAzNi43IDM2LjcgMCA3LjQtMi4yIDE0LjYtNi40IDIwLjdsLTE5Mi4yIDI4MWMtNS45IDguNi0xNS42IDEzLjctMjUuOSAxMy43bC0yLjkgMGMtMTUuNyAwLTI4LjUtMTIuOC0yOC41LTI4LjUgMC0yLjMgLjMtNC42IC45LTYuOUwxNzYgMjg4IDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LGMkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1zaG93ZXJzLXdhdGVyIixpY29uOls1MTIsNTEyLFtdLCJlNGU0IiwiTTI3OS4yIDU1LjdDMjYzLjkgMjIuOCAyMzAuNiAwIDE5MiAwIDEzOSAwIDk2IDQzIDk2IDk2IDYwLjcgOTYgMzIgMTI0LjcgMzIgMTYwczI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRzLTI4LjctNjQtNjQtNjRsLTEuNiAwYy03LjQtMzYuNS0zOS43LTY0LTc4LjQtNjQtMjIuMiAwLTQyLjMgOS4xLTU2LjggMjMuN3pNNDEwLjYgNDc2LjFjMjAuNyAxNS42IDQ2IDMwLjcgNzQuMiAzNC41IDEzLjEgMS44IDI1LjItNy41IDI3LTIwLjZzLTcuNS0yNS4yLTIwLjYtMjdjLTE1LjktMi4xLTMzLjItMTEuMy01MS43LTI1LjItMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM3MtMzAuNS04LjItNTQuNS0yNi4zYy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMTguNSAxMy45LTM1LjggMjMuMS01MS43IDI1LjItMTMuMSAxLjgtMjIuNCAxMy44LTIwLjYgMjdzMTMuOCAyMi40IDI3IDIwLjZjMjguMi0zLjggNTMuNi0xOC45IDc0LjItMzQuNSAyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMCAyNC4yIDE4LjMgNTIuMyAzNS45IDgzLjQgMzUuOXM1OS4xLTE3LjcgODMuNC0zNS45YzIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwek0xMDAuMSAzMDMuNmM0LjItMTIuNi0yLjYtMjYuMi0xNS4yLTMwLjRzLTI2LjIgMi42LTMwLjQgMTUuMmwtMjEuMyA2NEMyOSAzNjUgMzUuOCAzNzguNiA0OC40IDM4Mi44czI2LjItMi42IDMwLjQtMTUuMmwyMS4zLTY0em0xMjAgMGM0LjItMTIuNi0yLjYtMjYuMi0xNS4yLTMwLjRzLTI2LjIgMi42LTMwLjQgMTUuMmwtMjEuMyA2NGMtNC4yIDEyLjYgMi42IDI2LjIgMTUuMiAzMC40czI2LjItMi42IDMwLjQtMTUuMmwyMS4zLTY0em0xMTIgMGM0LjItMTIuNi0yLjYtMjYuMi0xNS4yLTMwLjRzLTI2LjIgMi42LTMwLjQgMTUuMmwtMjEuMyA2NGMtNC4yIDEyLjYgMi42IDI2LjIgMTUuMiAzMC40czI2LjItMi42IDMwLjQtMTUuMmwyMS4zLTY0em0xMjAgMGM0LjItMTIuNi0yLjYtMjYuMi0xNS4yLTMwLjRzLTI2LjIgMi42LTMwLjQgMTUuMmwtMjEuMyA2NGMtNC4yIDEyLjYgMi42IDI2LjIgMTUuMiAzMC40czI2LjItMi42IDMwLjQtMTUuMmwyMS4zLTY0eiJdfSxSY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtbG9uZyIsaWNvbjpbMzIwLDUxMixbImxvbmctYXJyb3ctdXAiXSwiZjE3NiIsIk0xODIuNi0yMi42Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxMjggNzcuMyAxMjggNTEyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC00MzQuNyA3My40IDczLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOHoiXX0sZCR0PVJjZSxjWT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhZGRyZXNzLWNhcmQiLGljb246WzU3Niw1MTIsWzYyMTQwLCJjb250YWN0LWNhcmQiLCJ2Y2FyZCJdLCJmMmJiIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTgwIDI1Nmw2NCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNkw4MCAzODRjLTguOCAwLTE2LTcuMi0xNi0xNiAwLTQ0LjIgMzUuOC04MCA4MC04MHptLTI0LTk2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHptMjQwLTQ4bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMTIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMCA5NmwxMTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTEyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LHAkdD1jWSx1JHQ9Y1ksZiR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuZ2xlLXJpZ2h0IixpY29uOlsyNTYsNTEyLFs4MjUwXSwiZjEwNSIsIk0yNDcuMSAyMzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTYwIDE2MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMTc5LjIgMjU2IDQxLjkgMTE4LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsMTYwIDE2MHoiXX0sRmNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtbWVoIixpY29uOls1MTIsNTEyLFsxMjg1MjgsIm1laCJdLCJmMTFhIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNzYgMTc2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTE3NiAzMjBsMTYwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxoJHQ9RmNlLG0kdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC1mcm9tLWdyb3VuZC13YXRlciIsaWNvbjpbNjQwLDUxMixbXSwiZTRiNSIsIk0zMDMgN2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMGw4OCA4OGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00Ny00NyAwIDI3OC4xYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMjc4LjEtNDcgNDdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMzAzIDd6TTI0MCAxOTJsMCAxNjMuMWMtMTAuNi0yLjItMjEuMy0zLjItMzItMy4xLTMyLjUgLjItNjQuOSAxMC43LTkyLjMgMzEuNC04LjggNi42LTE1LjkgMTAuOS0yMS43IDEzLjVsLS44IC40Yy0zLjcgMS43LTYuNCAyLjktOS44IC4zLTYtNC41LTEyLjYtOC0xOS4zLTEwLjRMNjQgMjQwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDEyOCAwem0zMzYgNDhsMCAxNTUuMmMtMS4xIC44LTIuMiAxLjUtMy4zIDIuNC00LjEgMy4xLTguMyAuOC0xMi42LTEuNS0uNi0uMy0xLjItLjYtMS44LTEtNS4yLTIuNy0xMS4xLTYuNi0xOC0xMS43LTI4LjEtMjEuMS02MS4zLTMxLjYtOTQuNC0zMS40LTE1LjUgLjEtMzEgMi41LTQ2IDcuM2wwLTE2Ny4zIDEyOCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek00MDMuNCA0NzYuMUMzNzkuMSA0OTQuMyAzNTEuMSA1MTIgMzIwIDUxMnMtNTkuMS0xNy43LTgzLjQtMzUuOWMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDAtMjMuOCAxNy45LTU0LjEgMzUuNS04OC4xIDM1LjMtMjAuNC0uMS00MC43LTYuNy01OS44LTIxLjEtMTAuNi04LTEyLjctMjMtNC43LTMzLjZzMjMtMTIuNyAzMy42LTQuN2MxMS4zIDguNSAyMS42IDExLjQgMzEuMiAxMS41IDE3LjYgLjEgMzcuMy05LjQgNTguOS0yNS43IDM4LjQtMjkgOTAuNS0yOSAxMjkgMCAyNCAxOC4xIDQwLjcgMjYuMyA1NC41IDI2LjNzMzAuNS04LjIgNTQuNS0yNi4zYzM4LjQtMjkgOTAuNS0yOSAxMjkgMCAxNi45IDEyLjcgMzIuOSAyMS41IDQ3LjggMjQuNiAxMy43IDIuOCAyNy40IC45IDQyLjMtMTAuMyAxMC42LTggMjUuNi01LjkgMzMuNiA0LjdzNS45IDI1LjYtNC43IDMzLjZjLTI2LjQgMTkuOS01NC4yIDI0LjQtODAuNyAxOS4xLTI1LjMtNS4xLTQ4LjEtMTguOS02Ny4yLTMzLjMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDB6Il19LGckdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXAiLGljb246WzUxMiw1MTIsWzEyODUwNiw2MjA3Ml0sImYyNzkiLCJNNTEyIDQ4YzAtMTEuMS01LjctMjEuNC0xNS4yLTI3LjJzLTIxLjItNi40LTMxLjEtMS40TDM0OS41IDc3LjUgMTcwLjEgMTcuNmMtOC4xLTIuNy0xNi44LTIuMS0yNC40IDEuN2wtMTI4IDY0QzYuOCA4OC44IDAgOTkuOSAwIDExMkwwIDQ2NGMwIDExLjEgNS43IDIxLjQgMTUuMiAyNy4yczIxLjIgNi40IDMxLjEgMS40bDExNi4xLTU4LjEgMTc5LjQgNTkuOGM4LjEgMi43IDE2LjggMi4xIDI0LjQtMS43bDEyOC02NGMxMC44LTUuNCAxNy43LTE2LjUgMTcuNy0yOC42bDAtMzUyek0xOTIgMzc2LjlsMC0yODQuNSAxMjggNDIuNyAwIDI4NC41LTEyOC00Mi43eiJdfSxiJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1wbHVzIixpY29uOls2NDAsNTEyLFtdLCJmMjM0IiwiTTI4NS43IDMwNGM5OC41IDAgMTc4LjMgNzkuOCAxNzguMyAxNzguMyAwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0w3Ny43IDUxMkM2MS4zIDUxMiA0OCA0OTguNyA0OCA0ODIuMyA0OCAzODMuOCAxMjcuOCAzMDQgMjI2LjMgMzA0bDU5LjQgMHpNNTI4IDgwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDggNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMCAwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDgtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw0OCAwIDAtNDhjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTI1NiAyNDhhMTIwIDEyMCAwIDEgMSAwLTI0MCAxMjAgMTIwIDAgMSAxIDAgMjQweiJdfSx2JHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmVudXMiLGljb246WzM4NCw1MTIsWzk3OTJdLCJmMjIxIiwiTTgwIDE3NmExMTIgMTEyIDAgMSAxIDIyNCAwIDExMiAxMTIgMCAxIDEgLTIyNCAwek0yMjMuOSAzNDkuMUMzMDUuOSAzMzQuMSAzNjggMjYyLjMgMzY4IDE3NiAzNjggNzguOCAyODkuMiAwIDE5MiAwUzE2IDc4LjggMTYgMTc2YzAgODYuMyA2Mi4xIDE1OC4xIDE0NC4xIDE3My4xLS4xIDEtLjEgMS45LS4xIDIuOWwwIDY0LTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtNjRjMC0xIDAtMS45LS4xLTIuOXoiXX0seCR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpYWdyYW0tc3VjY2Vzc29yIixpY29uOls0NDgsNTEyLFtdLCJlNDdhIiwiTTI4OS4yIDEzNy45YzIuNS02IDguMy05LjkgMTQuOC05LjlsNDAgMCAwLTI0YzAtMTMuMy0xMC43LTI0LTI0LTI0bC05OCAwYzEuMyA1LjEgMiAxMC41IDIgMTZsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtOTYgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwyNTYgMGMzOS44IDAgNzIgMzIuMiA3MiA3MmwwIDI0IDQwIDBjNi41IDAgMTIuMyAzLjkgMTQuOCA5LjlzMS4xIDEyLjktMy41IDE3LjRsLTY0IDY0Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtNjQtNjRjLTQuNi00LjYtNS45LTExLjUtMy41LTE3LjR6TTM4NCA0ODBMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjR6TTE2MCAxNjBsMC02NC05NiAwIDAgNjQgOTYgMHoiXX0seSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYWQtc2lkZS1jb3VnaC1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZTA2MiIsIk01MzUtMjQuOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlMNDEgNTM3LjFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMjUtMjUgMC00NDcuMmMwLTE1IDEwLjUtMjguMyAyNS40LTI5LjggNy40LS43IDE0LjktMS4xIDIyLjYtMS4xIDExMi43IDAgMjA2IDgzLjMgMjIxLjcgMTkxLjcgLjQgMyAxLjcgNS45IDMuNiA4LjNsMi4yIDIuNiAyMjcuNS0yMjcuNXpNMTMzLjggNTEyTDI4OCAzNTcuOCAyODggNDE2YzAgNTMtNDMgOTYtOTYgOTZsLTU4LjIgMHpNMTc2IDIyNGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTMzNiA0MGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bS04OCA3MmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0tNjQgNDhhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTI4IDBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMjQgNzJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0tODgtMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0sT2NlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpYWdyYW0tcHJvamVjdCIsaWNvbjpbNTEyLDUxMixbInByb2plY3QtZGlhZ3JhbSJdLCJmNTQyIiwiTTAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2IDEyOCAwIDAtMTZjMC0yNi41IDIxLjUtNDggNDgtNDhsOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC05NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE2LTEyOCAwIDAgMTZjMCA3LjMtMS43IDE0LjMtNC42IDIwLjVsNjguNiA5MS41IDgwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtOTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NmMwLTcuMyAxLjctMTQuMyA0LjYtMjAuNUwxMjggMjI0IDQ4IDIyNGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MHoiXX0sdyR0PU9jZSxKWT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZXJtaW5hbCIsaWNvbjpbNTEyLDUxMixbXSwiZjEyMCIsIk05LjQgMTE4LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsMTYwIDE2MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTYwIDE2MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMTQ2LjcgMjU2IDkuNCAxMTguNnpNMjI0IDM4NGwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LE0kdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1maXJlIixpY29uOls2NDAsNTEyLFtdLCJlNTBjIiwiTTQ0OCAxOTJjMTQuMSAuNCAyMy44IDExLjQgMzIuNyAyMS43IDIgMi4zIDQgNC42IDYgNi43bDE5IDE5LjkgMTIuMi0xMy44YzUuNC02LjEgMTMuMy04LjkgMjAuOS04LjkgNy4yIDAgMTQuMyAyLjYgMTkuOSA3LjggMTkuNyAxOC4zIDM5LjggNDMuMiA1NSA3MC42IDE1LjEgMjcuMiAyNi4yIDU4LjIgMjYuMiA4OC4yIDAgODguNy03MS4zIDE1OS44LTE2MCAxNTkuOC04OS42IDAtMTYwLTcxLjMtMTYwLTE1OS44IDAtMzcuMyAxNi03My40IDM2LjgtMTA0LjUgMjAuOS0zMS4zIDQ3LjUtNTkgNzAuOS04MC4xIDUuNy01LjIgMTMuMS03LjcgMjAuMy03LjV6TTI2OC42IDYuNWMxMi4yLTkuMyAyOS43LTguNyA0MS4yIDJsMTQ3LjUgMTM3Yy0xOS4yLTQuMy00MCAuNS01NS41IDE0LjQtMzYuNCAzMi42LTY3LjcgNjkuOC05MC4zIDEwNi40LTEwLjMgMTYuNi0xOS43IDM0LjktMjYuOCA1My43TDI3MiAzMjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTYgNjQuNiAwYzcuMyAxNy4yIDE2LjggMzMuNCAyOC4yIDQ4TDE0NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOCAyLjQtMnpNNDg5LjMgMzQzLjdjLTUuNC00LjctMTMuMS00LjctMTguNSAwLTE3LjcgMTUuNC01NC43IDUxLjktNTQuNyA4OC40IDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRjMC0zNi41LTM3LTczLTU0LjctODguNHoiXX0sayR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hc2siLGljb246WzU3Niw1MTIsW10sImY2ZmEiLCJNMjg4IDY0QzY0IDY0IDAgMTYwIDAgMjcyUzgwIDQ0OCAxNzYgNDQ4bDguNCAwYzI0LjIgMCA0Ni40LTEzLjcgNTcuMi0zNS40bDIzLjItNDYuM2M0LjQtOC44IDEzLjMtMTQuMyAyMy4yLTE0LjNzMTguOCA1LjUgMjMuMiAxNC4zbDIzLjIgNDYuM2MxMC44IDIxLjcgMzMgMzUuNCA1Ny4yIDM1LjRsOC40IDBjOTYgMCAxNzYtNjQgMTc2LTE3NlM1MTIgNjQgMjg4IDY0ek05NiAyNTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwem0zMjAtNjRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LHokdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJodXJyaWNhbmUiLGljb246WzM4NCw1MTIsW10sImY3NTEiLCJNMCAyMDhDMCAxMDQuNCA3NS43IDE4LjUgMTc0LjkgMi42IDE4NCAxLjIgMTkyIDguNiAxOTIgMTcuOWwwIDYzLjNjMCA4LjQgNi41IDE1LjMgMTQuNyAxNi41IDEwMC4zIDE0LjkgMTc3LjMgMTAxLjMgMTc3LjMgMjA1LjcgMCAxMDMuNi03NS43IDE4OS41LTE3NC45IDIwNS40LTkuMiAxLjUtMTcuMS01LjktMTcuMS0xNS4ybDAtNjMuM0MxOTIgNDIxLjkgMTg1LjUgNDE1IDE3Ny4zIDQxMy43IDc3IDM5OC45IDAgMzEyLjQgMCAyMDh6bTI4OCA0OGE5NiA5NiAwIDEgMCAtMTkyIDAgOTYgOTYgMCAxIDAgMTkyIDB6bS05Ni0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LEJjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlYXJ0aC1hZnJpY2EiLGljb246WzUxMiw1MTIsWzEyNzc1NywiZ2xvYmUtYWZyaWNhIl0sImY1N2MiLCJNNDQ3LjYgMTc1Yy0zMS42LTc0LjYtMTA1LjUtMTI3LTE5MS42LTEyNy0yMi4xIDAtNDMuNCAzLjUtNjMuNCA5LjgtLjQgMi0uNiA0LjEtLjYgNi4ybDAgNzMuNGMwIDEyLjUgMTAuMSAyMi42IDIyLjYgMjIuNiA2IDAgMTEuOC0yLjQgMTYtNi42bDE2LTE2YzYtNiAxNC4xLTkuNCAyMi42LTkuNGw1LjUgMGMyOC41IDAgNDIuOCAzNC41IDIyLjYgNTQuNi02IDYtMTQuMSA5LjQtMjIuNiA5LjRsLTYxLjUgMGMtOC41IDAtMTYuNiAzLjQtMjIuNiA5LjRsLTIxLjMgMjEuM2MtNiA2LTkuNCAxNC4xLTkuNCAyMi42bDAgNDIuN2MwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMi43IDBjOC41IDAgMTYuNi0zLjQgMjIuNi05LjRsMjkuMy0yOS4zYzYtNiA5LjQtMTQuMSA5LjQtMjIuNmwwLTE4LjdjMC04LjggNy4yLTE2IDE2LTE2czE2LTcuMiAxNi0xNmwwLTM0LjdjMC04LjUtMy40LTE2LjYtOS40LTIyLjZsLTE2LTE2Yy00LjItNC4yLTYuNi0xMC02LjYtMTYgMC0xMi41IDEwLjEtMjIuNiAyMi42LTIyLjZsNDUgMGMxMi40IDAgMjIuNy03LjEgMjgtMTd6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6Il19LFMkdD1CY2UsSGNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRodW1idGFjayIsaWNvbjpbMzg0LDUxMixbMTI4MjA0LDEyODM5MiwidGh1bWItdGFjayJdLCJmMDhkIiwiTTMyIDMyQzMyIDE0LjMgNDYuMyAwIDY0IDBMMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI5LjUgMCAxMC4zIDEzNC4xYzM3LjEgMjEuMiA2NS44IDU2LjQgNzguMiA5OS43bDMuOCAxMy40YzIuOCA5LjcgLjggMjAtNS4yIDI4LjFTMzYyIDM1MiAzNTIgMzUyTDMyIDM1MmMtMTAgMC0xOS41LTQuNy0yNS41LTEyLjdzLTgtMTguNC01LjItMjguMUw1IDI5Ny44YzEyLjQtNDMuMyA0MS03OC41IDc4LjItOTkuN0w5My41IDY0IDY0IDY0QzQ2LjMgNjQgMzIgNDkuNyAzMiAzMnpNMTYwIDQwMGw2NCAwIDAgMTEyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTEyeiJdfSxDJHQ9SGNlLF8kdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXBvaW50LWRvd24iLGljb246WzM4NCw1MTIsW10sImYwYTciLCJNMzIgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yMDgtNjQgMCAwIDIwOHpNMjI0IDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA2NHptLTY0IDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnptMTYwLTk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDY0em0tOTYtODhsMCAuNmM5LjQtNS40IDIwLjMtOC42IDMyLTguNiAxMy4yIDAgMjUuNCA0IDM1LjYgMTAuOCA4LjctMjQuOSAzMi41LTQyLjggNjAuNC00Mi44IDExLjcgMCAyMi42IDMuMSAzMiA4LjZsMC04LjZDMzg0IDcxLjYgMzEyLjQgMCAyMjQgMEwxNjIuMyAwQzExOS44IDAgNzkuMSAxNi45IDQ5LjEgNDYuOUwzNy41IDU4LjVDMTMuNSA4Mi41IDAgMTE1LjEgMCAxNDlsMCAyN2MwIDM1LjMgMjguNyA2NCA2NCA2NGw4OCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwcy0xNy45LTQwLTQwLTQwbC01NiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDU2IDBjMzkuOCAwIDcyIDMyLjIgNzIgNzJ6Il19LHFjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLW1laC1ibGFuayIsaWNvbjpbNTEyLDUxMixbMTI4NTY2LCJtZWgtYmxhbmsiXSwiZjVhNCIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0yMDgtNDhhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMTI4IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sVCR0PXFjZSxzNz17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW1wZXJhdHVyZS1lbXB0eSIsaWNvbjpbMzIwLDUxMixbInRlbXBlcmF0dXJlLTAiLCJ0aGVybW9tZXRlci0wIiwidGhlcm1vbWV0ZXItZW1wdHkiXSwiZjJjYiIsIk02NCA5NmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgMTY0LjdjMjkuNSAyNi40IDQ4IDY0LjcgNDggMTA3LjMgMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRTMTYgNDQ3LjUgMTYgMzY4YzAtNDIuNiAxOC41LTgxIDQ4LTEwNy4zTDY0IDk2em05NiAzMzZjMzUuMyAwIDY0LTI4LjcgNjQtNjRzLTI4LjctNjQtNjQtNjQtNjQgMjguNy02NCA2NCAyOC43IDY0IDY0IDY0eiJdfSxMJHQ9czcsJCR0PXM3LEQkdD1zNyxBJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9yZGVyLW5vbmUiLGljb246WzQ0OCw1MTIsW10sImY4NTAiLCJNMzIgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyIDMyLTE0LjMgMzItMzItMTQuMy0zMi0zMi0zMnpNMTYwIDMyYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHpNMjg4IDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMiAzMi0xNC4zIDMyLTMyLTE0LjMtMzItMzItMzJ6TTE2MCA0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzItMzIgMTQuMy0zMiAzMiAxNC4zIDMyIDMyIDMyek0yODggMzJhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0ek00MTYgNDgwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyLTMyIDE0LjMtMzIgMzIgMTQuMyAzMiAzMiAzMnptMC0zODRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0zMiAzMmEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6TTQxNiAzNTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0zMiAxNjBhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0em0wIDE5MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTQxNiAxNjBhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0eiJdfSxQJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGlnaGxpZ2h0ZXIiLGljb246WzU3Niw1MTIsW10sImY1OTEiLCJNMzE1IDMxNUw0NzMuNCA5OS45IDQ0NC4xIDcwLjYgMjI5IDIyOSAzMTUgMzE1em0tMTg3IDVsMCAwIDAtNzEuN2MwLTE1LjMgNy4yLTI5LjYgMTkuNS0zOC42TDQyMC42IDguNEM0MjggMi45IDQzNyAwIDQ0Ni4yIDAgNDU3LjYgMCA0NjguNSA0LjUgNDc2LjYgMTIuNmw1NC44IDU0LjhjOC4xIDguMSAxMi42IDE5IDEyLjYgMzAuNSAwIDkuMi0yLjkgMTguMi04LjQgMjUuNkwzMzQuNCAzOTYuNWMtOSAxMi4zLTIzLjQgMTkuNS0zOC42IDE5LjVsLTcxLjcgMC0yNS40IDI1LjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC01MC43LTUwLjdjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zTDEyOCAzMjB6TTcgNDY2LjNsNTEuNy01MS43IDcwLjYgNzAuNi0xOS43IDE5LjdjLTQuNSA0LjUtMTAuNiA3LTE3IDdMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQuN2MwLTYuNCAyLjUtMTIuNSA3LTE3eiJdfSxFJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9uZXktYmlsbC13YXZlIixpY29uOls1MTIsNTEyLFtdLCJmNTNhIiwiTTAgNDE5LjZMMCAxMDkuNWMwLTIzLjIgMjQuMS0zOC42IDQ2LjMtMzIgODcuNyAyNi4yIDE0OS43IDUuNSAyMTIuMS0xNS4zIDY0LjUtMjEuNSAxMjkuNC00My4xIDIyMy4zLTEzLjEgMTguNSA1LjkgMzAuMyAyMy44IDMwLjMgNDMuM2wwIDMxMC4xYzAgMjMuMi0yNC4xIDM4LjYtNDYuMiAzMi04Ny43LTI2LjItMTQ5LjgtNS41LTIxMi4xIDE1LjMtNjQuNSAyMS41LTEyOS40IDQzLjEtMjIzLjMgMTMuMS0xOC41LTUuOS0zMC4zLTIzLjgtMzAuMy00My4zek0zMzYgMjU2YzAtNTMtMzUuOC05Ni04MC05NnMtODAgNDMtODAgOTYgMzUuOCA5NiA4MCA5NiA4MC00MyA4MC05NnpNMTIwIDQxMy42YzQuNCAwIDcuOS0zLjggNy4yLTguMS00LjYtMjcuOC0yNy00OS41LTU1LjItNTMtNC40LS41LTggMy4xLTggNy41bDAgMzkuOWMwIDMuNiAyLjQgNi44IDYgNy43IDE3LjkgNC4yIDM0LjMgNi4xIDUwIDYuMXptMzE4LjUtNTEuMWM1IC44IDkuNS0zIDkuNS04bDAtNDIuNmMwLTQuNC0zLjYtOC4xLTgtNy41LTI1LjIgMy4xLTQ1LjkgMjAuOS01My4yIDQ0LjYtMS40IDQuNyAyLjMgOS4xIDcuMiA5LjIgMTQuMiAuNCAyOSAxLjcgNDQuNCA0LjN6TTQ0OCAxNTJsMC0zOS45YzAtMy42LTIuNS02LjgtNi03LjctMTcuOS00LjItMzQuMy02LjEtNTAtNi4xLTQuNCAwLTcuOSAzLjgtNy4yIDguMSA0LjYgMjcuOCAyNyA0OS41IDU1LjIgNTMgNC40IC41IDgtMy4xIDgtNy41ek0xMjUuMiAxNjIuOWMxLjQtNC43LTIuMy05LjEtNy4yLTkuMi0xNC4yLS40LTI5LTEuNy00NC40LTQuMy01LS44LTkuNSAzLTkuNSA4TDY0IDIwMGMwIDQuNCAzLjYgOC4xIDggNy41IDI1LjItMy4xIDQ1LjktMjAuOSA1My4yLTQ0LjZ6Il19LEkkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b2lsZXQtcGFwZXItc2xhc2giLGljb246WzU3Niw1MTIsW10sImUwNzIiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtOTQuNS05NC41YzQwLjItMjMgNjkuNS05Ni45IDY5LjUtMTg0LjYgMC0xMDYtNDMtMTkyLTk2LTE5MnMtOTYgODYtOTYgMTkyYzAgMjQuMSAyLjIgNDcuMiA2LjMgNjguNEwzMDQgMjM4LjIgMzA0IDIyNGMwLTU4LjkgMTEuOC0xMTQuNSAzMy4yLTE1Ny4yIDUuOS0xMS43IDEzLjEtMjMuNyAyMS45LTM0LjhMMTI4IDMyYy04LjMgMC0xNi40IDIuMS0yNC4xIDYuMWwtNjMtNjN6TTMyIDIyNGwwIDI2NGMwIDMwLjkgMjUuMSA1NiA1NiA1NmwxNjAgMGMzMC45IDAgNTYtMjUuMSA1Ni01NmwwLTExNC4yLTI1Ni0yNTZDMzcuOSAxNDguMiAzMiAxODQuNyAzMiAyMjR6bTQxNiA2NGMtMTcuNyAwLTMyLTI4LjctMzItNjRzMTQuMy02NCAzMi02NCAzMiAyOC43IDMyIDY0LTE0LjMgNjQtMzIgNjR6Il19LE4kdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXNoaWVsZCIsaWNvbjpbNTc2LDUxMixbXSwiZTRmMCIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDIwMS4yIDBDMjYxIDQ2OS40IDI0MCA0MTQuNSAyNDAgMzU2LjRsMC0zMS4xYzAtMzQuNCAyMi02NSA1NC43LTc1LjlsMTEyLTM3LjNjMy4xLTEgNi4yLTEuOCA5LjMtMi41bDAtMzkuMWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnptODcuOCAzMTIuNWwtMTMuMyA2LjMgMC0xODguMSA5NiAzMiAwIDE5LjZjMCA1NS44LTMyLjIgMTA2LjUtODIuNyAxMzAuM3pNNDIxLjkgMjU5LjVsLTExMiAzNy4zYy0xMy4xIDQuNC0yMS45IDE2LjYtMjEuOSAzMC40bDAgMzEuMWMwIDc0LjQgNDMgMTQyLjEgMTEwLjIgMTczLjdsMTguNSA4LjdjNC44IDIuMiAxMCAzLjQgMTUuMiAzLjRzMTAuNS0xLjIgMTUuMi0zLjRsMTguNS04LjdDNTMzIDUwMC4zIDU3NiA0MzIuNiA1NzYgMzU4LjJsMC0zMS4xYzAtMTMuOC04LjgtMjYtMjEuOS0zMC40bC0xMTItMzcuM2MtNi42LTIuMi0xMy43LTIuMi0yMC4yIDB6Il19LFIkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZXh0LWhlaWdodCIsaWNvbjpbNTc2LDUxMixbXSwiZjAzNCIsIk00MCAzMkMxNy45IDMyIDAgNDkuOSAwIDcybDAgNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDY0IDAgMCAzMjAtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTMyMCA2NCAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTU2YzAtMjIuMS0xNy45LTQwLTQwLTQwTDQwIDMyek00MzguNiAzNjEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTkuNCA5LjQgMC0yMjkuNSA5LjQgOS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy02LTYtMTQuMS05LjQtMjIuNi05LjRzLTE2LjYgMy40LTIyLjYgOS40bC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw5LjQtOS40IDAgMjI5LjUtOS40LTkuNHoiXX0sVmNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi10b25ndWUiLGljb246WzUxMiw1MTIsWzEyODUzOSwiZ3Jpbi10b25ndWUiXSwiZjU4OSIsIk0wIDI1NmMwIDEwNC40IDYyLjUgMTk0LjIgMTUyLjIgMjM0LjEtNS4zLTEzLTguMi0yNy4yLTguMi00Mi4xbDAtNjEuN2MtMTYuOS0xNi41LTMwLjEtMzYuNy0zOC4zLTU5LjMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xYzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMS04LjMgMjIuNi0yMS41IDQyLjgtMzguMyA1OS4zbDAgNjEuN2MwIDE0LjktMi45IDI5LjEtOC4yIDQyLjEgODkuNy0zOS44IDE1Mi4yLTEyOS42IDE1Mi4yLTIzNC4xIDAtMTQxLjQtMTE0LjYtMjU2LTI1Ni0yNTZTMCAxMTQuNiAwIDI1NnptMTc2LTgwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE2IDI0MGwwLTQ1LjRjMC0xNC43LTExLjktMjYuNi0yNi42LTI2LjZsLTIgMGMtMTEuMyAwLTIxLjEgNy45LTIzLjYgMTguOS0yLjggMTIuNi0yMC44IDEyLjYtMjMuNiAwLTIuNS0xMS4xLTEyLjMtMTguOS0yMy42LTE4LjlsLTIgMGMtMTQuNyAwLTI2LjYgMTEuOS0yNi42IDI2LjZsMCA0NS40YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6Il19LEYkdD1WY2UsTyR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtc2lnbmF0dXJlIixpY29uOls2NDAsNTEyLFtdLCJmNTczIiwiTTY0LjEgNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRMMjc3LjYgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0w0MjkuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zbDAgOTcuNS0xMzIgMTMyLTQyLjEgMC0xNi4xLTUzLjZjLTQuNy0xNS43LTE5LjEtMjYuNC0zNS41LTI2LjQtMTEuMyAwLTIxLjkgNS4xLTI4LjkgMTMuOUwxMzMuMyA0MDljLTguMyAxMC4zLTYuNiAyNS41IDMuNyAzMy43czI1LjUgNi42IDMzLjctMy44bDQ3LjEtNTguOCAxNS4yIDUwLjdjMyAxMC4yIDEyLjQgMTcuMSAyMyAxNy4xbDMxLjUgMGMtLjkgMy4xLTEuNyA2LjMtMi4zIDkuNWwtMTAuOSA1NC41LTE0Ni4yIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzg0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNGw5My41IDAtMTE3LjUtMTE3LjV6bTYwLjIgNDA4LjRjMi41LTEyLjQgOC42LTIzLjggMTcuNS0zMi43bDExOC45LTExOC45IDgwIDgwLTExOC45IDExOC45Yy04LjkgOC45LTIwLjMgMTUtMzIuNyAxNy41bC01OS42IDExLjljLS45IC4yLTEuOSAuMy0yLjkgLjMtOCAwLTE0LjYtNi41LTE0LjYtMTQuNiAwLTEgLjEtMS45IC4zLTIuOWwxMS45LTU5LjZ6bTI2Ny44LTEyM2wtMjguOCAyOC44LTgwLTgwIDI4LjgtMjguOGMyMi4xLTIyLjEgNTcuOS0yMi4xIDgwIDBzMjIuMSA1Ny45IDAgODB6Il19LEIkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy13aGVhdCIsaWNvbjpbNjQwLDUxMixbXSwiZTRkYiIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI0OS4zIDBjLTYtMTQuOC05LjMtMzEtOS4zLTQ4IDAtMTcuNyA3LjItMzMuNyAxOC44LTQ1LjMtMTEuOS0xOS40LTE4LjgtNDIuMy0xOC44LTY2LjcgMC0xNy43IDcuMi0zMy43IDE4LjgtNDUuMy0xMS45LTE5LjQtMTguOC00Mi4zLTE4LjgtNjYuNyAwLTI1LjIgMTQuNS00Ni45IDM1LjYtNTcuNC0yLjQtNy4xLTMuNi0xNC43LTMuNi0yMi42bDAtMzJDMzY4IDk2LjcgMzg4IDcwLjEgNDE1LjkgNjAuMSA0MTMuOSAyNi42IDM4NiAwIDM1MiAwTDk2IDB6TTIwOCAzNTJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDgwLTk2IDAgMC04MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMTI4IDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNzIgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMTI4IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyem0xNDQtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnptMzUyIDBsLTE2IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwIDAgOC44IDcuMiAxNiAxNiAxNmwxNiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwIDAtOC44LTcuMi0xNi0xNi0xNnptMTYgMTI4YzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMGMtNDQuMiAwLTgwIDM1LjgtODAgODAgMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjNDQuMiAwIDgwLTM1LjggODAtODB6bTAgMTEyYzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMGMtNDQuMiAwLTgwIDM1LjgtODAgODAgMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjNDQuMiAwIDgwLTM1LjggODAtODB6TTQ5NiA1MjhjMC00NC4yLTM1LjgtODAtODAtODBsLTE2IDBjLTguOCAwLTE2IDcuMi0xNiAxNiAwIDQ0LjIgMzUuOCA4MCA4MCA4MGwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnptLTE2LTk2YzguOCAwIDE2LTcuMiAxNi0xNiAwLTQ0LjItMzUuOC04MC04MC04MGwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2IDAgNDQuMiAzNS44IDgwIDgwIDgwbDE2IDB6bTE2LTEyOGMwLTQ0LjItMzUuOC04MC04MC04MGwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2IDAgNDQuMiAzNS44IDgwIDgwIDgwbDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2ek01MTIgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMDRjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTk2IDY0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMyek00NDAgMTA0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDMyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0sSCR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsdWctY2lyY2xlLW1pbnVzIixpY29uOls2NDAsNTEyLFtdLCJlNTVlIiwiTTE5Mi0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDEyOCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA0OC43Yy05OC42IDguMS0xNzYgOTAuNy0xNzYgMTkxLjMgMCAyNy4zIDUuNyA1My4zIDE2IDc2LjlsMCAzLjFjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02Ni43QzE2NS4yIDM5OC4xIDk2IDMxOS4xIDk2IDIyNGwwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlM3OC4zIDk2IDk2IDk2bDY0IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzUyIDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMjQgMGMwLTguOC03LjItMTYtMTYtMTZsLTEyOCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDEyOCAwYzguOCAwIDE2LTcuMiAxNi0xNnoiXX0sZFk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZnV0Ym9sIixpY29uOls1MTIsNTEyLFs5OTE3LCJmdXRib2wtYmFsbCIsInNvY2Nlci1iYWxsIl0sImYxZTMiLCJNNDE3LjMgMzYwLjFsLTcxLjYtNC44Yy01LjItLjMtMTAuMyAxLjEtMTQuNSA0LjJzLTcuMiA3LjQtOC40IDEyLjVsLTE3LjYgNjkuNkMyODkuNSA0NDUuOCAyNzMgNDQ4IDI1NiA0NDhzLTMzLjUtMi4yLTQ5LjItNi40TDE4OS4yIDM3MmMtMS4zLTUtNC4zLTkuNC04LjQtMTIuNXMtOS4zLTQuNS0xNC41LTQuMmwtNzEuNiA0LjhjLTE3LjYtMjcuMi0yOC41LTU5LjItMzAuNC05My42TDEyNSAyMjguM2M0LjQtMi44IDcuNi03IDkuMi0xMS45czEuNC0xMC4yLS41LTE1bC0yNi43LTY2LjZDMTI4IDEwOS4yIDE1NS4zIDg5IDE4Ni43IDc2LjlsNTUuMiA0NmM0IDMuMyA5IDUuMSAxNC4xIDUuMXMxMC4yLTEuOCAxNC4xLTUuMWw1NS4yLTQ2YzMxLjMgMTIuMSA1OC43IDMyLjMgNzkuNiA1Ny45bC0yNi43IDY2LjZjLTEuOSA0LjgtMi4xIDEwLjEtLjUgMTVzNC45IDkuMSA5LjIgMTEuOWw2MC43IDM4LjJjLTEuOSAzNC40LTEyLjggNjYuNC0zMC40IDkzLjZ6TTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem0xNC4xLTMyNS43Yy04LjQtNi4xLTE5LjgtNi4xLTI4LjIgMEwxOTQgMjIxYy04LjQgNi4xLTExLjkgMTYuOS04LjcgMjYuOGwxOC4zIDU2LjNjMy4yIDkuOSAxMi40IDE2LjYgMjIuOCAxNi42bDU5LjIgMGMxMC40IDAgMTkuNi02LjcgMjIuOC0xNi42bDE4LjMtNTYuM2MzLjItOS45LS4zLTIwLjctOC43LTI2LjhsLTQ3LjktMzQuOHoiXX0scSR0PWRZLFYkdD1kWSxqY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLXBsdXMiLGljb246WzUxMiw1MTIsWyJwbHVzLWNpcmNsZSJdLCJmMDU1IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMzIgMzQ0bDAtNjQtNjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw2NCAwIDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDY0IDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY0IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHoiXX0saiR0PWpjZSxVJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJhemlsaWFuLXJlYWwtc2lnbiIsaWNvbjpbNTEyLDUxMixbXSwiZTQ2YyIsIk00MDAgMTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNiAxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC00OC45IDBjLTI2IDAtNDcuMSAyMS4xLTQ3LjEgNDcuMSAwIDIyLjUgMTUuOSA0MS44IDM3LjkgNDYuMmwzMi44IDYuNmM1MS45IDEwLjQgODkuMyA1NiA4OS4zIDEwOSAwIDUwLjYtMzMuOCA5My4zLTgwIDEwNi43bDAgMjAuNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE2LTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQuOSAwYzI2IDAgNDcuMS0yMS4xIDQ3LjEtNDcuMSAwLTIyLjUtMTUuOS00MS44LTM3LjktNDYuMmwtMzIuOC02LjZjLTUxLjktMTAuNC04OS4zLTU2LTg5LjMtMTA5IDAtNTAuNiAzMy44LTkzLjIgODAtMTA2LjdMMzY4IDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDgwIDBjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDQgMCA1NC4zLTMwIDEwMS41LTc0LjQgMTI2LjFsNDEgMTM2LjdjNS4xIDE2LjktNC41IDM0LjgtMjEuNSAzOS44cy0zNC44LTQuNS0zOS44LTIxLjVMMTIwLjEgMzE5LjhjLTIuNyAuMS01LjQgLjItOC4xIC4ybC00OCAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NHpNNjQgMjU2bDQ4IDBjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBsLTQ4IDAgMCAxNjB6Il19LFckdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFyLWFuZC1jcmVzY2VudCIsaWNvbjpbNTEyLDUxMixbOTc3MF0sImY2OTkiLCJNMCAyNTZjMC0xNDEuNCAxMTQuNi0yNTYgMjU2LTI1NiAzMyAwIDY0LjYgNi4zIDkzLjYgMTcuNyA3LjQgMi45IDExLjUgMTAuNyA5LjggMTguNHMtOC44IDEzLTE2LjcgMTIuNGMtNC44LS4zLTkuNy0uNS0xNC42LS41LTExNC45IDAtMjA4IDkzLjEtMjA4IDIwOHM5My4xIDIwOCAyMDggMjA4YzQuOSAwIDkuOC0uMiAxNC42LS41IDcuOS0uNSAxNSA0LjcgMTYuNyAxMi40cy0yLjQgMTUuNS05LjggMTguNEMzMjAuNiA1MDUuNyAyODkgNTEyIDI1NiA1MTIgMTE0LjYgNTEyIDAgMzk3LjQgMCAyNTZ6TTM3NS40IDEzNy40YzMuNS03LjEgMTMuNy03LjEgMTcuMiAwbDMxLjUgNjMuOGMxLjQgMi44IDQuMSA0LjggNy4yIDUuM2w3MC40IDEwLjJjNy45IDEuMSAxMSAxMC44IDUuMyAxNi40bC01MC45IDQ5LjZjLTIuMyAyLjItMy4zIDUuNC0yLjggOC41bDEyIDcwLjFjMS4zIDcuOC02LjkgMTMuOC0xMy45IDEwLjFsLTYzLTMzLjFjLTIuOC0xLjUtNi4xLTEuNS04LjkgMGwtNjMgMzMuMWMtNyAzLjctMTUuMy0yLjMtMTMuOS0xMC4xbDEyLTcwLjFjLjUtMy4xLS41LTYuMy0yLjgtOC41TDI2MSAyMzMuMWMtNS43LTUuNi0yLjYtMTUuMiA1LjMtMTYuNGw3MC40LTEwLjJjMy4xLS41IDUuOC0yLjQgNy4yLTUuM2wzMS41LTYzLjh6Il19LFVjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLXN1cnByaXNlIixpY29uOls1MTIsNTEyLFsxMjg1NTgsInN1cnByaXNlIl0sImY1YzIiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE3NiAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptLTQ4IDgwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4eiJdfSxHJHQ9VWNlLFkkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3NwaXRhbC11c2VyIixpY29uOls2NDAsNTEyLFtdLCJmODBkIiwiTTY0IDY0QzY0IDI4LjcgOTIuNyAwIDEyOCAwTDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTIxLjNjLTQ2LjkgMTktODAgNjUtODAgMTE4LjcgMCAyNy43IDguOCA1My40IDIzLjggNzQuNC01MS41IDIxLTg3LjggNzEuNi04Ny44IDEzMC43IDAgMSAwIDEuOSAwIDIuOWwtMTc2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDY0IDY0ek0yMDggNDAwbDAgNjQgNTMuNCAwYzcuMi0yOS40IDIxLjMtNTYuMSA0MC40LTc4LjMtNi4xLTE5LjUtMjQuMy0zMy43LTQ1LjgtMzMuNy0yNi41IDAtNDggMjEuNS00OCA0OHpNMjQ4IDg4Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMi0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMCAwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyIDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwIDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwek00MTYgMzA0YTgwIDgwIDAgMSAxIDE2MCAwIDgwIDgwIDAgMSAxIC0xNjAgMHpNMzUyIDUxMmMwLTUzIDQzLTk2IDk2LTk2bDk2IDBjNTMgMCA5NiA0MyA5NiA5NiAwIDE3LjctMTQuMyAzMi0zMiAzMmwtMjI0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxaJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctZG93bi11cC1sb2NrIixpY29uOls1NzYsNTEyLFtdLCJlNGIwIiwiTTI2Mi42IDQyMi42bC04MCA4MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTgwLTgwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDI1LjQgMjUuNCAwLTExNC43LTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMjU2IDAgMC0xMTQuNy0yNS40IDI1LjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDgwLTgwYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDgwIDgwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC0yNS40LTI1LjQgMCA5NC44Yy0yNS4zIDIwLjMtNDIuOCA1MC4xLTQ3IDgzLjlsLTE0NSAwIDAgMTE0LjcgMjUuNC0yNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6TTE5MiAzMmwwIDE0NC02NCAwIDAtMTQ0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6TTQ5NiAzMDQuMWMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ3LjkgNjQgMCAwLTQ3Ljl6TTM1MiA0MDBjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zbDAtNTAuNmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNTAuNmMxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjNsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZ6Il19LFdjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb2xkZXIiLGljb246WzUxMiw1MTIsWzEyODE5MywxMjg0NDcsNjE3MTYsImZvbGRlci1ibGFuayJdLCJmMDdiIiwiTTY0IDQ0OGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI0MGMwLTM1LjMtMjguNy02NC02NC02NEwyOTguNyA4MGMtNi45IDAtMTMuNy0yLjItMTkuMi02LjRMMjQxLjEgNDQuOEMyMzAgMzYuNSAyMTYuNSAzMiAyMDIuNyAzMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0eiJdfSxYJHQ9V2NlLEskdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob2xseS1iZXJyeSIsaWNvbjpbNTEyLDUxMixbXSwiZjdhYSIsIk0yNTYuMiA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bS04MCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTI3NyAzODMuOGMxIC4xIDIuMSAuMiAzLjIgLjIgMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCAyMi43YzAgMTYuNCAxNiAyNy45IDMxLjYgMjIuOGwxMi44LTQuM2MxOC02IDM3LjMtNi41IDU1LjYtMS41bDE5LjQgNS4zYzE3LjkgNC45IDM0LjQtMTEuNiAyOS41LTI5LjVMNDk1LjkgNDUyYy01LTE4LjMtNC40LTM3LjYgMS41LTU1LjZsNC4zLTEyLjhjNS4yLTE1LjUtNi40LTMxLjYtMjIuOC0zMS42LTM0LjYgMC02Mi43LTI4LjEtNjIuNy02Mi43bDAtMzJjMC0xNi40LTE2LTI3LjktMzEuNi0yMi44bC0xMi44IDQuM2MtMTggNi0zNy4zIDYuNS01NS42IDEuNWwtMjkuNi04LjFjLTIuOS0uOC01LjktMS04LjctLjcgNC4yIDkuNyA1LjggMjAuOCAzLjcgMzIuM2wtNi4zIDM0LjhjLTEuNSA4LjQtMS40IDE3IC41IDI1LjNsNS4zIDIzLjljMi44IDEyLjcgMS4xIDI1LjItNCAzNS45ek0xMjcuOCAyMzQuNWMtMTUuNS01LjItMzEuNiA2LjQtMzEuNiAyMi44bDAgMzJjMCAzNC42LTI4LjEgNjIuNy02Mi43IDYyLjctMTYuNCAwLTI3LjkgMTYtMjIuOCAzMS42TDE1IDM5Ni40YzYgMTggNi41IDM3LjMgMS41IDU1LjZsLTUuMyAxOS40QzYuNCA0ODkuNCAyMi44IDUwNS44IDQwLjcgNTAxbDE5LjQtNS4zYzE4LjMtNSAzNy42LTQuNSA1NS42IDEuNWwxMi44IDQuM2MxNS41IDUuMiAzMS42LTYuNCAzMS42LTIyLjhsMC0zMmMwLTM0LjYgMjguMS02Mi43IDYyLjctNjIuNyAxNi40IDAgMjcuOS0xNiAyMi44LTMxLjZsLTQuMy0xMi44Yy02LTE4LTYuNS0zNy4zLTEuNS01NS42bDUuMy0xOS40YzQuOS0xNy45LTExLjYtMzQuNC0yOS41LTI5LjVsLTE5LjQgNS4zYy0xOC4zIDUtMzcuNiA0LjQtNTUuNi0xLjVsLTEyLjgtNC4zek0zODQuMiAxNDRhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHoiXX0sUSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZlbnVzLWRvdWJsZSIsaWNvbjpbNjQwLDUxMixbOTg5MF0sImYyMjYiLCJNMTkyIDI4OGExMTIgMTEyIDAgMSAwIDAtMjI0IDExMiAxMTIgMCAxIDAgMCAyMjR6TTM2OCAxNzZjMCA4Ni4zLTYyLjEgMTU4LjEtMTQ0LjEgMTczLjEgLjEgMSAuMSAxLjkgLjEgMi45bDAgNjQgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwIDAtNjRjMC0xIDAtMS45IC4xLTIuOS04Mi0xNS0xNDQuMS04Ni44LTE0NC4xLTE3My4xIDAtOTcuMiA3OC44LTE3NiAxNzYtMTc2UzM2OCA3OC44IDM2OCAxNzZ6TTM1Ny41IDMyN2MxNC40LTE1LjggMjYuNi0zMy43IDM2LjEtNTMuMSAxNi4xIDkgMzQuNyAxNC4xIDU0LjUgMTQuMSA2MS45IDAgMTEyLTUwLjEgMTEyLTExMlM1MDkuOSA2NCA0NDggNjRjLTE5LjggMC0zOC4zIDUuMS01NC41IDE0LjEtOS41LTE5LjQtMjEuNi0zNy4zLTM2LjEtNTMuMSAyNi40LTE1LjkgNTcuNC0yNSA5MC41LTI1IDk3LjIgMCAxNzYgNzguOCAxNzYgMTc2IDAgODYuMy02Mi4xIDE1OC4xLTE0NC4xIDE3My4xIC4xIC45IC4xIDEuOSAuMSAyLjlsMCA2NCAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC02NGMwLTEgMC0xLjkgLjEtMi45LTIxLjEtMy45LTQwLjktMTEuNS01OC42LTIyLjJ6Il19LEokdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbGlwYm9hcmQtcXVlc3Rpb24iLGljb246WzM4NCw1MTIsW10sImU0ZTMiLCJNMzExLjQgMzJsOC42IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzNTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDguNiAwQzgzLjYgMTIuOSAxMDQuMyAwIDEyOCAwTDI1NiAwYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMnpNMjQ4IDExMmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwxMzYgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTEyIDB6TTE5MiAyNDhjMTYuMSAwIDI5LjIgMTMuMSAyOS4yIDI5LjIgMCA4LjctMy4xIDEzLjktNi45IDE3LjctNC41IDQuNC0xMC43IDcuNS0xNi44IDkuNS0xNC45IDUtMjkuNSAxOS4zLTI5LjUgMzkuNSAwIDEzLjMgMTAuNyAyNCAyNCAyNCAxMS41IDAgMjEuMi04LjEgMjMuNS0xOSAxOS4yLTcuMSA1My43LTI2LjMgNTMuNy03MS44IDAtNDIuNi0zNC42LTc3LjItNzcuMi03Ny4ycy03Ny4yIDM0LjYtNzcuMiA3Ny4yYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xNi4xIDEzLjEtMjkuMiAyOS4yLTI5LjJ6bTI4IDE2OGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOCAxMi41IDI4IDI4IDI4IDI4LTEyLjUgMjgtMjh6Il19LGVEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3Rkb2ciLGljb246WzUxMiw1MTIsWzEyNzc4OV0sImY4MGYiLCJNMjg4IDBjLTIwLjUgMC00MC4xIDguMS01NC42IDIyLjZMMjIuNiAyMzMuNEM4LjEgMjQ3LjkgMCAyNjcuNSAwIDI4OCAwIDMwMC4yIDIuOSAzMTIuMSA4LjIgMzIyLjdMMzIyLjcgOC4yQzMxMi4xIDIuOSAzMDAuMiAwIDI4OCAwek0yMjQgNTEyYzIwLjUgMCA0MC4xLTguMSA1NC42LTIyLjZMNDg5LjQgMjc4LjZjMTQuNS0xNC41IDIyLjYtMzQuMSAyMi42LTU0LjYgMC0xMi4yLTIuOS0yNC4xLTguMi0zNC43TDE4OS4zIDUwMy44YzEwLjcgNS40IDIyLjYgOC4yIDM0LjcgOC4yek00NTYuNiAxNjguNmMzMS4yLTMxLjIgMzEuMi04MS45IDAtMTEzLjFzLTgxLjktMzEuMi0xMTMuMSAwbC0yODggMjg4Yy0zMS4yIDMxLjItMzEuMiA4MS45IDAgMTEzLjFzODEuOSAzMS4yIDExMy4xIDBsMjg4LTI4OHoiXX0sdER0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLWZyb20tYnJhY2tldCIsaWNvbjpbNDQ4LDUxMixbXSwiZTA5YSIsIk0yNDYuNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMjggMTI4Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDE5MiAxMDkuMyAxOTIgMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yMTAuNyA3My40IDczLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOHpNNjQgMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgMzM0LjMgMCAzNTJsMCA2NGMwIDUzIDQzIDk2IDk2IDk2bDI1NiAwYzUzIDAgOTYtNDMgOTYtOTZsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NHoiXX0sYUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pY3Jvc2NvcGUiLGljb246WzUxMiw1MTIsWzEyODMwMF0sImY2MTAiLCJNMTc2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMjA4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NCAzMiAwYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4UzM5MC43IDQ0OCAzMjAgNDQ4TDMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTYuOSAwYzMwLjQtMzQgNDguOS03OC44IDQ4LjktMTI4IDAtMTA2LTg2LTE5Mi0xOTItMTkybC0zMiAwIDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhMMTc2IDB6TTEyMCAzNTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE3NiAweiJdfSxyRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQiLGljb246WzU3Niw1MTIsWzk3MjldLCJmMGMyIiwiTTAgMzM2YzAgNzkuNSA2NC41IDE0NCAxNDQgMTQ0bDMwNCAwYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4IDAtNTEuNi0zMC41LTk2LjEtNzQuNS0xMTYuMyA2LjctMTMuMSAxMC41LTI4IDEwLjUtNDMuNyAwLTUzLTQzLTk2LTk2LTk2LTE3LjcgMC0zNC4yIDQuOC00OC40IDEzLjEtMjQuMS00NS44LTcyLjItNzcuMS0xMjcuNi03Ny4xLTc5LjUgMC0xNDQgNjQuNS0xNDQgMTQ0IDAgOCAuNyAxNS45IDEuOSAyMy41LTU2LjkgMTkuMi05Ny45IDczLjEtOTcuOSAxMzYuNXoiXX0saUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhc2ViYWxsLWJhdC1iYWxsIixpY29uOls1NzYsNTEyLFtdLCJmNDMyIiwiTTQ2NC4xIDU0NGE4MCA4MCAwIDEgMSAwLTE2MCA4MCA4MCAwIDEgMSAwIDE2MHptOC40LTU3NmMxNS4xIDAgMjkuNyA1LjggNDAuNyAxNi4ybDQ3LjIgNDQuOGMxMi42IDEyIDE5LjEgMjkgMTcuNSA0Ni4zLTEuMiAxMy4zLTcgMjUuOC0xNi41IDM1LjJMMzYzLjEgMzA5Yy03LjMgNy4zLTE1LjcgMTMuNC0yNSAxOEwyMDYgMzkzYy05LjIgNC42LTE3LjcgMTAuNy0yNSAxOGwtOTIgOTIgMS43IDEuOGM3LjcgOS40IDcuMSAyMy4zLTEuNyAzMi4xcy0yMi43IDkuMy0zMi4xIDEuN2wtMS44LTEuNy00OC00OC0xLjctMS44Yy03LjctOS40LTcuMS0yMy4zIDEuNy0zMi4xczIyLjctOS4zIDMyLjEtMS43bDEuOCAxLjcgOTItOTJjNy4zLTcuMyAxMy40LTE1LjcgMTgtMjVsNjYuMS0xMzIuMWM0LjYtOS4yIDEwLjctMTcuNyAxOC0yNUw0MzAuOC0xNC43QzQ0MS45LTI1LjggNDU2LjktMzIgNDcyLjUtMzJ6Il19LEdjZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXItcmVhciIsaWNvbjpbNTEyLDUxMixbImNhci1hbHQiXSwiZjVkZSIsIk0xNjUuNCA5NmwxODEuMiAwYzEzLjYgMCAyNS43IDguNiAzMC4yIDIxLjRsMjYuMSA3NC42LTI5My44IDAgMjYuMS03NC42YzQuNS0xMi44IDE2LjYtMjEuNCAzMC4yLTIxLjR6bS05MC42IC4zTDM5LjYgMTk2LjhDMTYuNCAyMDYuNCAwIDIyOS4zIDAgMjU2bDAgOTZjMCAyMy43IDEyLjkgNDQuNCAzMiA1NS40TDMyIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzIgMjU2IDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNDAuNmMxOS4xLTExLjEgMzItMzEuNyAzMi01NS40bDAtOTZjMC0yNi43LTE2LjQtNDkuNi0zOS42LTU5LjJMNDM3LjIgOTYuM0M0MjMuNyA1Ny44IDM4Ny40IDMyIDM0Ni42IDMyTDE2NS40IDMyYy00MC44IDAtNzcuMSAyNS44LTkwLjYgNjQuM3pNMjA4IDI4OGw5NiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtOTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek00OCAyODBjMC0xMy4zIDEwLjctMjQgMjQtMjRsMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTM2MC0yNGwzMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0zMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxzRHQ9R2NlLFljZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0aHVtYnRhY2stc2xhc2giLGljb246WzU3Niw1MTIsWyJ0aHVtYi10YWNrLXNsYXNoIl0sImU2OGYiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw0MTcuOCAzNTIgNDQ4IDM1MmMxMCAwIDE5LjUtNC43IDI1LjUtMTIuN3M4LTE4LjQgNS4yLTI4LjFMNDc1IDI5Ny44Yy0xMi40LTQzLjMtNDEtNzguNS03OC4yLTk5LjdMMzg2LjUgNjQgNDE2IDY0YzE3LjcgMCAzMi0xNC4zIDMyLTMyUzQzMy43IDAgNDE2IDBMMTYwIDBjLTcuNCAwLTE0LjEgMi41LTE5LjUgNi42TDE5MC4xIDU2LjMgMTg1LjMgMTE5LjQgNDEtMjQuOXpNMjgyLjIgMzUyTDE0OS43IDIxOS42Yy0yMi43IDIwLjUtMzkuOCA0Ny40LTQ4LjcgNzguM2wtMy44IDEzLjRjLTIuOCA5LjctLjggMjAgNS4yIDI4LjFTMTE4IDM1MiAxMjggMzUybDE1NC4yIDB6TTI1NiA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTExMi02NCAwIDAgMTEyeiJdfSxvRHQ9WWNlLG5EdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVzLW1pbnVzIixpY29uOlszODQsNTEyLFtdLCJlNDNjIiwiTTIyNCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDEyOC0xMjggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMjggMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMjggMCAwLTEyOHpNMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnoiXX0sbER0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWNpcmNsZS1jaGVjayIsaWNvbjpbNjQwLDUxMixbXSwiZTUwOSIsIk00OTYgNTQ0YTE0NCAxNDQgMCAxIDEgMC0yODggMTQ0IDE0NCAwIDEgMSAwIDI4OHpNMjY4LjYgNi41YzEyLjItOS4zIDI5LjctOC43IDQxLjIgMmwyMTcuNiAyMDJjLTEwLjItMS43LTIwLjctMi42LTMxLjMtMi42LTc4LjYgMC0xNDYuMSA0Ny4yLTE3NS44IDExNC44LTUuMS0xLjgtMTAuNS0yLjgtMTYuMi0yLjhsLTMyIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTYgOTEgMGM2LjEgMTcuMyAxNC42IDMzLjQgMjUuMSA0OEwxNDQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDggMi40LTJ6TTU1My40IDMzOS4xYy03LjEtNS4yLTE3LjEtMy42LTIyLjMgMy41bC01MyA3Mi44LTI2LjctMjYuOGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDAtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZsNDAgNDBjMy4zIDMuMyA3LjkgNSAxMi42IDQuN3M4LjktMi44IDExLjctNi42bDY0LTg4YzUuMi03LjEgMy42LTE3LjEtMy41LTIyLjN6Il19LGNEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxlbmRhci1kYXkiLGljb246WzQ0OCw1MTIsW10sImY3ODMiLCJNMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAxMjggMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMiAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0wIDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDB6Il19LGREdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsaWJyYSIsaWNvbjpbNTEyLDUxMixbXSwiZTg0YiIsIk00ODAgMzg0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0NDggMHpNMjU2IDMyYzk3LjIgMCAxNzYgNzguOCAxNzYgMTc2IDAgMTYuNi0yLjQgMzIuNy02LjcgNDhsNTQuNyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMDQuMiAwYy0xMS44IDAtMjIuNy02LjUtMjguMi0xNi45cy00LjktMjMuMSAxLjYtMzIuOWMxMS45LTE3LjggMTguOC0zOS4xIDE4LjgtNjIuMiAwLTYxLjktNTAuMS0xMTItMTEyLTExMlMxNDQgMTQ2LjEgMTQ0IDIwOGMwIDIzLjEgNi45IDQ0LjQgMTguOCA2Mi4yIDYuNiA5LjggNy4yIDIyLjUgMS42IDMyLjlTMTQ4LjEgMzIwIDEzNi4yIDMyMEwzMiAzMjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNTQuOCAwYy00LjMtMTUuMy02LjgtMzEuNC02LjgtNDggMC05Ny4yIDc4LjgtMTc2IDE3Ni0xNzZ6Il19LHBEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUiLGljb246WzUxMiw1MTIsWzEyODMwOCwxMjgzMDksMTI4OTkyLDEyODk5MywxMjg5OTQsMTI4OTk1LDEyODk5Niw5Njc5LDk4OTgsOTg5OSwxMTA0NCw2MTcwOCw2MTkxNV0sImYxMTEiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHoiXX0sdUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vYmlsZS12aWJyYXRlIixpY29uOls1NzYsNTEyLFtdLCJlODE2IiwiTTM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0xOTIgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0zODRjMC0zNS4zIDI4LjctNjQgNjQtNjRMMzg0IDB6TTI0OCA0MTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMHpNNDguOCAxMzMuNGM5LjQtNy43IDIzLjMtNy4xIDMyLjEgMS43IDkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC0zMSAzMSAyNS40IDI1LjQgMi45IDMuMmM2LjMgNy43IDkuOCAxNy40IDkuOCAyNy40IDAgMTEuNS00LjYgMjIuNS0xMi43IDMwLjZsLTI1LjQgMjUuNCAzMSAzMSAxLjcgMS44YzcuNyA5LjQgNy4xIDIzLjMtMS43IDMyLjFzLTIyLjcgOS4zLTMyLjEgMS43TDQ3IDM3NyAxMi43IDM0Mi42QzUuNiAzMzUuNSAxLjIgMzI2LjIgLjIgMzE2LjNMMCAzMTIgLjIgMzA3LjdjMS05LjkgNS40LTE5LjIgMTIuNS0yNi4zTDM4LjEgMjU2IDEyLjcgMjMwLjZDNS42IDIyMy41IDEuMiAyMTQuMiAuMiAyMDQuM0wwIDIwMCAuMiAxOTUuN2MxLTkuOSA1LjQtMTkuMiAxMi41LTI2LjNMNDcgMTM1IDQ4LjggMTMzLjR6TTQ5NSAxMzVjOC44LTguOCAyMi43LTkuMyAzMi4xLTEuN2wxLjggMS43IDM0LjMgMzQuM2M3LjEgNy4xIDExLjUgMTYuNCAxMi41IDI2LjNsLjIgNC4zLS4yIDQuM2MtMSA5LjktNS40IDE5LjItMTIuNSAyNi4zbC0yNS40IDI1LjQgMjUuNCAyNS40YzcuMSA3LjEgMTEuNSAxNi40IDEyLjUgMjYuM2wuMiA0LjMtLjIgNC4zYy0xIDkuOS01LjQgMTkuMi0xMi41IDI2LjNsLTM0LjMgMzQuMy0xLjggMS43Yy05LjQgNy43LTIzLjMgNy4xLTMyLjEtMS43cy05LjMtMjIuNy0xLjctMzIuMWwxLjctMS44IDMxLTMxLTI1LjQtMjUuNGMtOC4xLTguMS0xMi43LTE5LjEtMTIuNy0zMC42IDAtMTAgMy41LTE5LjcgOS44LTI3LjRsMi45LTMuMiAyNS40LTI1LjQtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45eiJdfSxaY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLXNxdWludCIsaWNvbjpbNTEyLDUxMixbMTI4NTE4LCJncmluLXNxdWludCJdLCJmNTg1IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0zODYuNyAzMDguOWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjEtMjIuNCA2MS4zLTgxLjMgMTA1LjEtMTUwLjMgMTA1LjFTMTI4LjEgMzg4LjIgMTA1LjcgMzI2LjljLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMXpNMTIyLjYgMTQzLjJjNC41LTYuOCAxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAxOTIgMTI1LjggMTY0LjNjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjF6bTI2My42IDIxLjFMMzUzIDE5MiAzODYuMiAyMTkuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXMzLjEgMTUuOS0zLjEgMjEuMXoiXX0sZkR0PVpjZSxoRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlcnMtYmV0d2Vlbi1saW5lcyIsaWNvbjpbNTc2LDUxMixbXSwiZTU5MSIsIk0yNCAxNmw1MjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCA2NEMxMC43IDY0IDAgNTMuMyAwIDQwUzEwLjcgMTYgMjQgMTZ6bTAgNDQ4bDUyOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMzkyIDE5MmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6bTI3LjIgMTAwLjRjOS4xLTIuOSAxOC44LTQuNCAyOC44LTQuNCA1MyAwIDk2IDQzIDk2IDk2bDAgMTAuN2MwIDExLjgtOS42IDIxLjMtMjEuMyAyMS4zbC03OC44IDBjMi43LTcuNSA0LjEtMTUuNiA0LjEtMjRsMC04YzAtMzQuMS0xMC42LTY1LjctMjguOC05MS42em0tMjYyLjQgMEMxMzguNiAzMTguMyAxMjggMzQ5LjkgMTI4IDM4NGwwIDhjMCA4LjQgMS40IDE2LjUgNC4xIDI0bC03OC44IDBDNDEuNiA0MTYgMzIgNDA2LjQgMzIgMzk0LjdMMzIgMzg0YzAtNTMgNDMtOTYgOTYtOTYgMTAgMCAxOS43IDEuNSAyOC44IDQuNHpNNzIgMTkyYTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHptMTUyLTE2YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNMTc2IDM4NGMwLTYxLjkgNTAuMS0xMTIgMTEyLTExMnMxMTIgNTAuMSAxMTIgMTEybDAgOGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtMTc2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtOHoiXX0sbUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLW1lZGljYWwtY2lyY2xlLXhtYXJrIixpY29uOls2NDAsNTEyLFtdLCJlNTEzIiwiTTMwOS44IDguNmMtMTIuMy0xMS40LTMxLjMtMTEuNC00My41IDBsLTIyNCAyMDhjLTkuNiA5LTEyLjggMjIuOS04IDM1LjFTNTAuOCAyNzIgNjQgMjcybDE2IDAgMCAxNzZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTk2IDBjLTIxLjItMjkuNS0zNC4zLTY1LjMtMzUuOS0xMDRMMjcyIDQwOGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCAyMCAwYzM0LjktNDguNSA5MS43LTgwIDE1Ni04MCAxMC43IDAgMjEuMSAuOSAzMS4zIDIuNUwzMDkuOCA4LjZ6TTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0yMi42LTE0NGwzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtMzYuNy0zNi43LTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzNi43LTM2LjctMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMzYuNyAzNi43IDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZMNTE4LjYgNDAweiJdfSxYY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGUtbGlzdCIsaWNvbjpbNDQ4LDUxMixbInRoLWxpc3QiXSwiZjAwYiIsIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnptNjQgMGwwIDY0IDY0IDAgMC02NC02NCAwem0zMjAgMGwtMTkyIDAgMCA2NCAxOTIgMCAwLTY0ek02NCAyMjRsMCA2NCA2NCAwIDAtNjQtNjQgMHptMzIwIDBsLTE5MiAwIDAgNjQgMTkyIDAgMC02NHpNNjQgMzUybDAgNjQgNjQgMCAwLTY0LTY0IDB6bTMyMCAwbC0xOTIgMCAwIDY0IDE5MiAwIDAtNjR6Il19LGdEdD1YY2UsYkR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZsYXNrLXZpYWwiLGljb246WzY0MCw1MTIsW10sImU0ZjMiLCJNMTg0LjYgNDExLjVjLTMuMSA3LjMtNS40IDE0LjktNi44IDIyLjYtMTQuNSA4LjgtMzEuNSAxMy45LTQ5LjggMTMuOS01MyAwLTk2LTQzLTk2LTk2TDMyIDY0QzE0LjMgNjQgMCA0OS43IDAgMzJTMTQuMyAwIDMyIDBMMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAyNTUuNi0zOS40IDkxLjl6TTk2IDY0bDAgMTI4IDY0IDAgMC0xMjgtNjQgMHpNMzUyIDBMNTEyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAxNTMuNCA5MS4zIDIxM2MyLjMgNS40IDMuOCAxMS4xIDQuNCAxN2wuMyAuNi0uMyAwYy4yIDEuOCAuMyAzLjYgLjMgNS40IDAgMzIuMy0yNi4yIDU4LjYtNTguNiA1OC42bC0yNjYuOSAwYy0zMi4zIDAtNTguNi0yNi4yLTU4LjYtNTguNiAwLTEuOCAuMS0zLjYgLjMtNS40bC0uMyAwIC4zLS42Yy42LTUuOCAyLjEtMTEuNiA0LjQtMTdMMzIwIDIxNy40IDMyMCA2NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJTMzAyLjMgMCAzMjAgMGwzMiAwek00NTMuMiAyNDIuNmMtMy40LTgtNS4yLTE2LjUtNS4yLTI1LjJsMC0xNTMuNC02NCAwIDAgMTUzLjRjMCA4LjctMS44IDE3LjItNS4yIDI1LjJsLTMzLjIgNzcuNCAxNDAuNyAwLTMzLjItNzcuNHoiXX0sS2NlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNTEyLDUxMixbImV4Y2xhbWF0aW9uLWNpcmNsZSJdLCJmMDZhIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMSAwLTUxMiAyNTYgMjU2IDAgMSAxIDAgNTEyem0wLTE5MmEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6bTAtMTkyYy0xOC4yIDAtMzIuNyAxNS41LTMxLjQgMzMuN2w3LjQgMTA0Yy45IDEyLjYgMTEuNCAyMi4zIDIzLjkgMjIuMyAxMi42IDAgMjMtOS43IDIzLjktMjIuM2w3LjQtMTA0YzEuMy0xOC4yLTEzLjEtMzMuNy0zMS40LTMzLjd6Il19LHZEdD1LY2UsUWNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRheGkiLGljb246WzUxMiw1MTIsWzEyODY2MiwiY2FiIl0sImYxYmEiLCJNMTkyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzItOC45IDBjLTQyIDAtNzkuMSAyNy4zLTkxLjYgNjcuNGwtMjMgNzMuNUMxNC41IDIxOS4xIDAgMjQzLjkgMCAyNzJMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyIDMyMCAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE3NmMwLTI4LjEtMTQuNS01Mi45LTM2LjQtNjcuMWwtMjMtNzMuNUM0NDAuMSA5MS4zIDQwMi45IDY0IDM2MC45IDY0bC04LjkgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDE5MiAwek0xNTEuMSAxMjhsMjA5LjkgMGMxNCAwIDI2LjQgOS4xIDMwLjUgMjIuNWwxMyA0MS41LTI5Ni45IDAgMTMtNDEuNWM0LjItMTMuNCAxNi41LTIyLjUgMzAuNS0yMi41ek05NiAyNzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0yODggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0seER0PVFjZSxKY2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGV4dC1zbGFzaCIsaWNvbjpbNTc2LDUxMixbInJlbW92ZS1mb3JtYXQiXSwiZjg3ZCIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDMyMi43IDI1Ni45IDM2OC4yIDk2IDQ3MSA5NiA0NjUgMTIwLjJjLTQuMyAxNy4xIDYuMSAzNC41IDIzLjMgMzguOHMzNC41LTYuMSAzOC44LTIzLjNsMTEtNDQuMUM1NDUuNiA2MS4zIDUyMi43IDMyIDQ5MS41IDMybC0zMTkgMGMtMTkuOCAwLTM3LjMgMTIuMS00NC41IDMwLjFsLTg3LTg3ek0xODAuNCAxMTQuNWw0LjYtMTguNSAxMTYuNyAwLTMwLjggMTA5LTkwLjUtOTAuNXpNMjQxIDMxMC44TDIxMS4zIDQxNiAxNjAgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC00Mi4yIDAgMTUuMS01My4zLTUxLjktNTEuOXoiXX0seUR0PUpjZSx3RHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVvcGxlLXB1bGxpbmciLGljb246WzU3Niw1MTIsW10sImU1MzUiLCJNODAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyIDkuOCAwIDE4LjUtNC40IDI0LjQtMTEuMkw4MC40IDQ4NS4zYzIuOSAxNy40IDE5LjQgMjkuMiAzNi44IDI2LjNzMjkuMi0xOS40IDI2LjMtMzYuOGwtMjAuNS0xMjIuNyAxNS43IDAgMzAgMTM0LjljMy44IDE3LjMgMjAuOSAyOC4xIDM4LjIgMjQuM3MyOC4xLTIwLjkgMjQuMy0zOC4ybC01Ny4zLTI1OCAxMTYuMyA1My44Yy41IC4zIDEuMSAuNSAxLjYgLjcgOC42IDMuNiAxOCAzLjEgMjUuOS0uNyAzLjQtMS42IDYuNi0zLjkgOS4zLTYuNyAzLjEtMy4yIDUuNS03IDcuMS0xMS40IC4xLS4zIC4yLS43IC4zLTFsMi41LTcuNWM1LjctMTcuMSAxOC4zLTMwLjkgMzQuNy0zOC4ybDgtMy41YzEtLjQgMS45LS44IDIuOS0xLjJsLTE2LjkgNjMuNWMtNS42IDIxLjEtLjEgNDMuNiAxNC43IDU5LjdsNzAuNyA3Ny4xIDIyIDg4LjFjNC4zIDE3LjEgMjEuNyAyNy42IDM4LjggMjMuM3MyNy42LTIxLjcgMjMuMy0zOC44bC0yMy05Mi4xYy0xLjktNy44LTUuOC0xNC45LTExLjItMjAuOGwtNDkuNS01NCAxOS4zLTY1LjUgOS42IDIzYzQuNCAxMC42IDEyLjUgMTkuMyAyMi44IDI0LjVsMjYuNyAxMy4zYzE1LjggNy45IDM1IDEuNSA0Mi45LTE0LjNzMS41LTM1LTE0LjMtNDIuOWwtMjEuNC0xMC43LTE1LjMtMzYuOGMtMTcuMS00MS4xLTU3LjMtNjcuOS0xMDEuOS02Ny45LTIyLjggMC00NS4zIDQuOC02Ni4xIDE0bC04IDMuNWMtMjQuNCAxMC45LTQ0LjYgMjktNTguMSA1MS42TDE1Ny4zIDEzNi45QzE0NC43IDEzMSAxMzAuOSAxMjggMTE3IDEyOGwtNTMgMHpNNDY0IDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMzQ5LjcgMzM1LjZsLTI1IDYyLjQtNTkuNCA1OS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDM3Mi4zIDQ0MWM0LjYtNC42IDguMi0xMC4xIDEwLjYtMTYuMWwxNC41LTM2LjItNDAuNy00NC40Yy0yLjUtMi43LTQuOC01LjYtNy04LjZ6Il19LE1EdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWNrd2FyZCIsaWNvbjpbNTc2LDUxMixbOTE5NF0sImYwNGEiLCJNMjA0LjMgNDMuMUMyMTUuOSAzMiAyMzMgMjguOSAyNDcuNyAzNS4yUzI3MiA1NiAyNzIgNzJsMCAxMzYuMyAxNzIuMy0xNjUuMUM0NTUuOSAzMiA0NzMgMjguOSA0ODcuNyAzNS4yUzUxMiA1NiA1MTIgNzJsMCAzNjhjMCAxNi05LjYgMzAuNS0yNC4zIDM2LjhzLTMxLjggMy4yLTQzLjQtNy45TDI3MiAzMDMuNyAyNzIgNDQwYzAgMTYtOS42IDMwLjUtMjQuMyAzNi44cy0zMS44IDMuMi00My40LTcuOWwtMTkyLTE4NEM0LjUgMjc3LjMgMCAyNjYuOSAwIDI1NnM0LjUtMjEuMyAxMi4zLTI4LjlsMTkyLTE4NHoiXX0sZTRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhci1idXJzdCIsaWNvbjpbNjQwLDUxMixbImNhci1jcmFzaCJdLCJmNWUxIiwiTTIzMiAxNi4xbDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0ek0zMiAxNjguMWw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0ek0yODEuNSA3MC42YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDMzLjktMzMuOWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDI4MS41IDM2LjZjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45em0tMTgxIDIxNWwzMy45LTMzLjljOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEw2Ni42IDI1MS42Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDB6TTY2LjYgMi43Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWwzMy45IDMzLjljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDEwMC41IDIuN0M5MS4xLTYuNyA3Ni02LjcgNjYuNiAyLjd6TTM1Mi45IDE3NS40TDUwNSAyMTYuMmM2LjQgMS43IDExLjEgNy4zIDExLjggMTMuOWw3LjIgNzQtMjMxLjUtNjIgNDMuMi02MC41YzMuOS01LjQgMTAuNy03LjkgMTcuMi02LjJ6TTIyMy42IDIyOC41bC0yLjEgMi45Yy0yMS43IDUuNS0zOS45IDIyLjMtNDYuMSA0NS41LTQuMSAxNS41LTEyLjQgNDYuNC0yNC44IDkyLjdsLTguMyAzMC45Yy00LjYgMTcuMSA1LjYgMzQuNiAyMi42IDM5LjJsMTUuNSA0LjFjMTcuMSA0LjYgMzQuNi01LjYgMzkuMi0yMi42bDguMy0zMC45IDI3OC4yIDc0LjUtOC4zIDMwLjljLTQuNiAxNy4xIDUuNiAzNC42IDIyLjYgMzkuMmwxNS41IDQuMWMxNy4xIDQuNiAzNC42LTUuNiAzOS4yLTIyLjYgNC4xLTE1LjUgMTIuNC00Ni40IDI0LjgtOTIuN2w4LjMtMzAuOWM2LjItMjMuMi0xLjEtNDYuOC0xNy4yLTYyLjVsLS4zLTMuNi0xMC0xMDNjLTMuMi0zMy4yLTI2LjctNjAuOS01OC45LTY5LjVMMzY5LjUgMTEzLjZjLTMyLjItOC42LTY2LjQgMy42LTg1LjggMzAuOGwtNjAuMiA4NC4yem00OC43IDU3LjhhMzIgMzIgMCAxIDEgLTE2LjYgNjEuOCAzMiAzMiAwIDEgMSAxNi42LTYxLjh6bTIwOC4xIDg4LjlhMzIgMzIgMCAxIDEgNjEuOCAxNi42IDMyIDMyIDAgMSAxIC02MS44LTE2LjZ6Il19LGtEdD1lNGUsdDRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxpbmsiLGljb246WzU3Niw1MTIsWzEyODI3OSwiY2hhaW4iXSwiZjBjMSIsIk00MTkuNSA5NmMtMTYuNiAwLTMyLjcgNC41LTQ2LjggMTIuNy0xNS44LTE2LTM0LjItMjkuNC01NC41LTM5LjUgMjguMi0yNCA2NC4xLTM3LjIgMTAxLjMtMzcuMiA4Ni40IDAgMTU2LjUgNzAgMTU2LjUgMTU2LjUgMCA0MS41LTE2LjUgODEuMy00NS44IDExMC42bC03MS4xIDcxLjFjLTI5LjMgMjkuMy02OS4xIDQ1LjgtMTEwLjYgNDUuOC04Ni40IDAtMTU2LjUtNzAtMTU2LjUtMTU2LjUgMC0xLjUgMC0zIC4xLTQuNSAuNS0xNy43IDE1LjItMzEuNiAzMi45LTMxLjFzMzEuNiAxNS4yIDMxLjEgMzIuOWMwIC45IDAgMS44IDAgMi42IDAgNTEuMSA0MS40IDkyLjUgOTIuNSA5Mi41IDI0LjUgMCA0OC05LjcgNjUuNC0yNy4xbDcxLjEtNzEuMWMxNy4zLTE3LjMgMjcuMS00MC45IDI3LjEtNjUuNCAwLTUxLjEtNDEuNC05Mi41LTkyLjUtOTIuNXpNMjc1LjIgMTczLjNjLTEuOS0uOC0zLjgtMS45LTUuNS0zLjEtMTIuNi02LjUtMjctMTAuMi00Mi4xLTEwLjItMjQuNSAwLTQ4IDkuNy02NS40IDI3LjFMOTEuMSAyNTguMmMtMTcuMyAxNy4zLTI3LjEgNDAuOS0yNy4xIDY1LjQgMCA1MS4xIDQxLjQgOTIuNSA5Mi41IDkyLjUgMTYuNSAwIDMyLjYtNC40IDQ2LjctMTIuNiAxNS44IDE2IDM0LjIgMjkuNCA1NC42IDM5LjUtMjguMiAyMy45LTY0IDM3LjItMTAxLjMgMzcuMi04Ni40IDAtMTU2LjUtNzAtMTU2LjUtMTU2LjUgMC00MS41IDE2LjUtODEuMyA0NS44LTExMC42bDcxLjEtNzEuMWMyOS4zLTI5LjMgNjkuMS00NS44IDExMC42LTQ1LjggODYuNiAwIDE1Ni41IDcwLjYgMTU2LjUgMTU2LjkgMCAxLjMgMCAyLjYgMCAzLjktLjQgMTcuNy0xNS4xIDMxLjYtMzIuOCAzMS4ycy0zMS42LTE1LjEtMzEuMi0zMi44YzAtLjggMC0xLjUgMC0yLjMgMC0zMy43LTE4LTYzLjMtNDQuOC03OS42eiJdfSx6RHQ9dDRlLGE0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWNrd2FyZC1zdGVwIixpY29uOlszODQsNTEyLFsic3RlcC1iYWNrd2FyZCJdLCJmMDQ4IiwiTTM2MyAzNi44Yy0xMi45LTctMjguNy02LjMtNDEgMS44TDY0IDIwOC4xIDY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNDQuMSAyNTggMTY5LjZjMTIuMyA4LjEgMjggOC44IDQxIDEuOHMyMS0yMC41IDIxLTM1LjJsMC0zNjhjMC0xNC43LTguMS0yOC4yLTIxLTM1LjJ6Il19LFNEdD1hNGUsQ0R0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IngiLGljb246WzM4NCw1MTIsWzEyMF0sIjU4IiwiTTM3Ni42IDg0LjVjMTEuMy0xMy42IDkuNS0zMy44LTQuMS00NS4xcy0zMy44LTkuNS00NS4xIDQuMUwxOTIgMjA2IDU2LjYgNDMuNUM0NS4zIDI5LjkgMjUuMSAyOC4xIDExLjUgMzkuNFMtMy45IDcwLjkgNy40IDg0LjVMMTUwLjMgMjU2IDcuNCA0MjcuNWMtMTEuMyAxMy42LTkuNSAzMy44IDQuMSA0NS4xczMzLjggOS41IDQ1LjEtNC4xTDE5MiAzMDYgMzI3LjQgNDY4LjVjMTEuMyAxMy42IDMxLjUgMTUuNCA0NS4xIDQuMXMxNS40LTMxLjUgNC4xLTQ1LjFMMjMzLjcgMjU2IDM3Ni42IDg0LjV6Il19LHI0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtdXNlciIsaWNvbjpbNTEyLDUxMixbNjIxNDIsInVzZXItY2lyY2xlIl0sImYyYmQiLCJNMzk5IDM4NC4yQzM3Ni45IDM0NS44IDMzNS40IDMyMCAyODggMzIwbC02NCAwYy00Ny40IDAtODguOSAyNS44LTExMSA2NC4yIDM1LjIgMzkuMiA4Ni4yIDYzLjggMTQzIDYzLjhzMTA3LjgtMjQuNyAxNDMtNjMuOHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMjU2IDE2YTcyIDcyIDAgMSAwIDAtMTQ0IDcyIDcyIDAgMSAwIDAgMTQ0eiJdfSxfRHQ9cjRlLGk0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZWN0YW5nbGUtbGlzdCIsaWNvbjpbNTEyLDUxMixbImxpc3QtYWx0Il0sImYwMjIiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6bTk2IDI1NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0tMzItOTZhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0xMjAtNTZsMTQ0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0wIDEyOGwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LFREdD1pNGUsczRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQiLGljb246WzUxMiw1MTIsWzEyOTMwNiw5OTk1LCJoYW5kLXBhcGVyIl0sImYyNTYiLCJNMjg4IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjA4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTc2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjcyYzAgMS41IDAgMy4xIC4xIDQuNkw2Ny42IDI4M2MtMTYtMTUuMi00MS4zLTE0LjYtNTYuNiAxLjRTLTMuNiAzMjUuNyAxMi40IDM0MUwxMjQuOCA0NDhjNDMuMSA0MS4xIDEwMC40IDY0IDE2MCA2NGwxOS4yIDBjOTcuMiAwIDE3Ni03OC44IDE3Ni0xNzZsMC0yMDhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxMTJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xNzZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNzZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0yMDh6Il19LExEdD1zNGUsJER0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbmNlciIsaWNvbjpbNTEyLDUxMixbXSwiZTg0NyIsIk00MDggMTUyYzU3LjQgMCAxMDQgNDYuNiAxMDQgMTA0IDAgMTQxLjQtMTE0LjYgMjU2LTI1NiAyNTYtNTQuMyAwLTEwNC44LTE3LTE0Ni4zLTQ1LjktMTQuNS0xMC4xLTE4LTMwLjEtNy45LTQ0LjZzMzAuMS0xOCA0NC42LTcuOWMzMS4xIDIxLjcgNjguOSAzNC40IDEwOS43IDM0LjQgNjcuOSAwIDEyNy41LTM1LjMgMTYxLjctODguNS0zLjIgLjMtNi40IC41LTkuNyAuNS01Ny40IDAtMTA0LTQ2LjYtMTA0LTEwNHM0Ni42LTEwNCAxMDQtMTA0ek0yNTYgMGM1NC4zIDAgMTA0LjggMTcgMTQ2LjMgNDUuOSAxNC41IDEwLjEgMTggMzAuMSA3LjkgNDQuNnMtMzAuMSAxOC00NC42IDcuOWMtMzEuMS0yMS43LTY4LjktMzQuNC0xMDkuNy0zNC40LTY3LjkgMC0xMjcuNSAzNS4yLTE2MS43IDg4LjQgMy4yLS4zIDYuNC0uNCA5LjctLjQgNTcuNCAwIDEwNCA0Ni42IDEwNCAxMDRTMTYxLjQgMzYwIDEwNCAzNjAgMCAzMTMuNCAwIDI1NkMwIDI1NC4xIDAgMjUyLjIgLjEgMjUwLjQgMy4xIDExMS42IDExNi41IDAgMjU2IDB6TTEwNCAyMTZhNDAgNDAgMCAxIDAgMCA4MCA0MCA0MCAwIDEgMCAwLTgwem0zMDQgMGE0MCA0MCAwIDEgMCAwIDgwIDQwIDQwIDAgMSAwIDAtODB6Il19LG80ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2YW4tc2h1dHRsZSIsaWNvbjpbNTc2LDUxMixbMTI4NjU2LCJzaHV0dGxlLXZhbiJdLCJmNWI2IiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzM2YzAgMzUuMyAyOC43IDY0IDY0IDY0bC40IDBjNCA0NC45IDQxLjcgODAgODcuNiA4MHM4My42LTM1LjEgODcuNi04MGwxMDQuNyAwYzQgNDQuOSA0MS43IDgwIDg3LjYgODAgNDYuMSAwIDgzLjktMzUuNCA4Ny43LTgwLjUgMzEuNy0zLjggNTYuMy0zMC44IDU2LjMtNjMuNWwwLTEwMS4zYzAtMTMuOC00LjUtMjcuMy0xMi44LTM4LjRsLTgwLTEwNi43QzQ3MS4xIDczLjUgNDUyLjEgNjQgNDMyIDY0TDY0IDY0ek01MDQgMjI0bC0xMjAgMCAwLTk2IDQ4IDAgNzIgOTZ6TTY0IDIyNGwwLTk2IDk2IDAgMCA5Ni05NiAwem0xNjAgMGwwLTk2IDk2IDAgMCA5Ni05NiAwek0zOTIgMzkyYTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTE1MiAzNTJhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgweiJdfSxERHQ9bzRlLEFEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFpcnMiLGljb246WzU3Niw1MTIsW10sImUyODkiLCJNMzg0IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5NiAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDk2IDAgMC05NnoiXX0sUER0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvcnNlLWhlYWQiLGljb246WzUxMiw1MTIsW10sImY3YWIiLCJNMCA0NjRMMCAzMTYuOUMwIDIwOC41IDY4LjMgMTExLjggMTcwLjUgNzUuNkwzNDAuMiAxNS41YzIxLjQtNy42IDQzLjggOC4zIDQzLjggMzAuOSAwIDExLTUuNSAyMS4yLTE0LjYgMjcuM0wzMzYgOTZjNDguMSAwIDkxLjIgMjkuOCAxMDguMSA3NC45bDQ4LjYgMTI5LjVjMTEuOCAzMS40IDQuMSA2Ni44LTE5LjYgOTAuNS0xNiAxNi0zNy44IDI1LjEtNjAuNSAyNS4xbC0zLjQgMGMtMjYuMSAwLTUwLjktMTEuNi02Ny42LTMxLjdsLTMyLjMtMzguN2MtMTEuNyA0LjEtMjQuMiA2LjQtMzcuMyA2LjRsLS4xIDBjLTYuMyAwLTEyLjUtLjUtMTguNi0xLjUtMy42LS42LTcuMi0xLjQtMTAuNy0yLjNsMCAwYy0yOC45LTcuOC01My4xLTI2LjgtNjcuOC01Mi4yLTQuNC03LjctMTQuMi0xMC4zLTIxLjktNS44cy0xMC4zIDE0LjItNS44IDIxLjljMjQgNDEuNSA2OC4zIDcwIDExOS4zIDcxLjlsNDcuMiA3MC44YzQgNi4xIDYuMiAxMy4yIDYuMiAyMC40IDAgMjAuMy0xNi41IDM2LjgtMzYuOCAzNi44TDQ4IDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6TTMyOCAyMjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSxFRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmF1bHQiLGljb246WzUxMiw1MTIsW10sImUyYzUiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NCAwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDI1NiAwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTI1NiAyNTZhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwek02NCAyNTZhMTI4IDEyOCAwIDEgMSAyNTYgMCAxMjggMTI4IDAgMSAxIC0yNTYgMHptMzg0LTQ4YzAgMTcuOC05LjcgMzMuMy0yNCA0MS42bDAgNzguNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTc4LjRjLTE0LjMtOC4zLTI0LTIzLjgtMjQtNDEuNiAwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4eiJdfSxJRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvc2VkLWNhcHRpb25pbmctc2xhc2giLGljb246WzU3Niw1MTIsW10sImUxMzUiLCJNNy0yNC45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwTDEyOS44IDY0IDQ4MCA2NGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDI1LjUtMTQuOSA0Ny40LTM2LjQgNTcuOEw1NjkgNTAzLjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw3IDkuMUMtMi4zLS4zLTIuMy0xNS41IDctMjQuOXptMzQ1IDMxMWwwLTcwLjJjMC00LjQgMy42LTggOC04bDMyIDBjNC40IDAgOCAzLjYgOCA4IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zMC45LTI1LjEtNTYtNTYtNTZsLTMyIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgMjIuMiA0OCA0OHptNjEuNSA2MS41YzIwLjItOC40IDM0LjUtMjguNCAzNC41LTUxLjcgMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRjMCA0LjQtMy42IDgtOCA4bC0yMi4yIDAgNDMuNyA0My43ek0xMzAuMyAyMDAuMWMtMS41IDUtMi4zIDEwLjQtMi4zIDE1LjlsMCA4MGMwIDMwLjkgMjUuMSA1NiA1NiA1NmwzMiAwYzE4LjEgMCAzNC4xLTguNSA0NC40LTIxLjhMMzc4LjIgNDQ4IDk2IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0yNTZjMC03LjggMS40LTE1LjMgNC0yMi4ybDk0LjMgOTQuM3ptOTMuOCA5My44Yy0uMSAuNy0uMSAxLjQtLjEgMi4xIDAgNC40LTMuNiA4LTggOGwtMzIgMGMtNC40IDAtOC0zLjYtOC04bDAtNTAuMiA0OC4xIDQ4LjF6Il19LE5EdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkcnVtLXN0ZWVscGFuIixpY29uOls1NzYsNTEyLFtdLCJmNTZhIiwiTTI4OCAzMmMxNTkuMSAwIDI4OCA0OCAyODggMTI4bDAgMTkyYzAgODAtMTI4LjkgMTI4LTI4OCAxMjhTMCA0MzIgMCAzNTJMMCAxNjBDMCA4MCAxMjguOSAzMiAyODggMzJ6TTUyOCAxNjBjMC05LjktOC0yOS45LTU1LTQ5LjgtMTguNi03LjktNDAuOS0xNC40LTY2LTE5LjRsLTI3LjggNDMuNmMtNy4zIDExLjUtMTEuMiAyNC44LTExLjIgMzguNCAwIDE3LjUgNi40IDM0LjQgMTguMSA0Ny41bDkuOCAxMWMyOS44LTUuMiA1NS45LTEyLjUgNzcuMi0yMS41IDQ3LjEtMTkuOSA1NS0zOS45IDU1LTQ5Ljh6TTM0OS4yIDIzNy4zYy04LTI2LjItMzIuNC00NS4zLTYxLjItNDUuM3MtNTMuMyAxOS4xLTYxLjIgNDUuM2MxOS40IDEuNyAzOS45IDIuNyA2MS4yIDIuN3M0MS44LS45IDYxLjItMi43ek0xNjkgOTAuOGMtMjUuMiA1LTQ3LjQgMTEuNi02NiAxOS40LTQ3LjEgMTkuOS01NSAzOS45LTU1IDQ5LjhzOCAyOS45IDU1IDQ5LjhjMjEuMyA5IDQ3LjQgMTYuMyA3Ny4yIDIxLjVsOS44LTExYzExLjYtMTMuMSAxOC4xLTMwIDE4LjEtNDcuNSAwLTEzLjYtMy45LTI2LjktMTEuMi0zOC40TDE2OSA5MC44em01Ni4zLThjLS45IDQuMy0xLjQgOC43LTEuNCAxMy4yIDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRjMC00LjUtLjUtOS0xLjQtMTMuMi0xOS44LTEuOC00MC44LTIuOC02Mi42LTIuOHMtNDIuOCAxLTYyLjYgMi44eiJdfSxSRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGh1bWJzLXVwIixpY29uOls1MTIsNTEyLFsxMjgwNzcsNjE1NzVdLCJmMTY0IiwiTTgwIDE2MGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNDggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJsNDggMHpNMjcwLjYgMTZDMjk3LjkgMTYgMzIwIDM4LjEgMzIwIDY1LjRsMCA0LjJjMCA2LjgtMS4zIDEzLjYtMy44IDE5LjlMMjg4IDE2MCA0NDggMTYwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgMTkuNy0xMS45IDM2LjYtMjguOSA0NCAxNyA3LjQgMjguOSAyNC4zIDI4LjkgNDQgMCAyMy40LTE2LjggNDIuOS0zOSA0Ny4xIDQuNCA3LjMgNyAxNS44IDcgMjQuOSAwIDIyLjItMTUgNDAuOC0zNS40IDQ2LjMgMi4yIDUuNSAzLjQgMTEuNSAzLjQgMTcuNyAwIDI2LjUtMjEuNSA0OC00OCA0OGwtODcuOSAwYy0zNi4zIDAtNzEuNi0xMi40LTk5LjktMzUuMUwxODQgNDM1LjJjLTE1LjItMTIuMS0yNC0zMC41LTI0LTUwbDAtMTg2LjZjMC0xNC45IDMuNS0yOS42IDEwLjEtNDIuOUwyMjYuMyA0My4zQzIzNC43IDI2LjYgMjUxLjggMTYgMjcwLjYgMTZ6Il19LEZEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFtcCIsaWNvbjpbNTEyLDUxMixbXSwiZjViZiIsIk0zMTIgMjAxLjhjMC0xNy40IDkuMi0zMy4yIDE5LjktNDcgMTIuNi0xNi4yIDIwLjEtMzYuNiAyMC4xLTU4LjggMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZjMCAyMi4xIDcuNSA0Mi41IDIwLjEgNTguOCAxMC43IDEzLjggMTkuOSAyOS42IDE5LjkgNDcgMCAyOS45LTI0LjMgNTQuMi01NC4yIDU0LjJMMTEyIDI1NmMtNjEuOSAwLTExMiA1MC4xLTExMiAxMTIgMCAyNi41IDIxLjUgNDggNDggNDhsNDE2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDggMC02MS45LTUwLjEtMTEyLTExMi0xMTJsLTMzLjggMGMtMjkuOSAwLTU0LjItMjQuMy01NC4yLTU0LjJ6TTU2IDQ2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw1NiA0NjR6Il19LE9EdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtZW5vcmFoIixpY29uOls2NDAsNTEyLFtdLCJmNjc2IiwiTTIwLjggNy40QzIyLjggMi45IDI3LjEgMCAzMiAwczkuMiAyLjkgMTEuMiA3LjRMNjEuMyA0OS43YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMUw2NCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDgxLjcgMCA2NGwwLTEuMmMwLTQuNSAuOS04LjkgMi43LTEzLjFMMjAuOCA3LjR6bTk2IDBDMTE4LjggMi45IDEyMy4xIDAgMTI4IDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMyUzk2IDgxLjcgOTYgNjRsMC0xLjJjMC00LjUgLjktOC45IDIuNy0xMy4xTDExNi44IDcuNHptNzcuOCA0Mi40TDIxMi44IDcuNEMyMTQuOCAyLjkgMjE5LjEgMCAyMjQgMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFsMCAxLjJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xLjJjMC00LjUgLjktOC45IDIuNy0xMy4xek0zMDguOCA3LjRDMzEwLjggMi45IDMxNS4xIDAgMzIwIDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMUwzMDguOCA3LjR6bTc3LjggNDIuNEw0MDQuOCA3LjRDNDA2LjggMi45IDQxMS4xIDAgNDE2IDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMXpNNTAwLjggNy40QzUwMi44IDIuOSA1MDcuMSAwIDUxMiAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMWwwIDEuMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEuMmMwLTQuNSAuOS04LjkgMi43LTEzLjFMNTAwLjggNy40em03Ny44IDQyLjRMNTk2LjggNy40QzU5OC44IDIuOSA2MDMuMSAwIDYwOCAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMWwwIDEuMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEuMmMwLTQuNSAuOS04LjkgMi43LTEzLjF6TTMyIDEyOGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxOTIgMCAwLTE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTYwIDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxMjhjMCA1My00MyA5Ni05NiA5NmwtMTkyIDAgMCA2NCAxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTI4IDAgMC02NC0xOTIgMGMtNTMgMC05Ni00My05Ni05NkwwIDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOC02NCAwIDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyem05NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4LTY0IDAgMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4LTY0IDAgMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjgtNjQgMCAwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sQkR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoaWxkcmVuIixpY29uOls2NDAsNTEyLFtdLCJlNGUxIiwiTTE2MC41IDBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6bS03MiA0ODBsMC04MC0xNy44IDBjLTEwLjkgMC0xOC42LTEwLjctMTUuMi0yMS4xTDg2LjcgMjg1LjUgNTggMzIzLjNjLTEwLjcgMTQuMS0zMC44IDE2LjgtNDQuOCA2LjJTLTMuNyAyOTguNyA3IDI4NC43TDY1LjkgMjA3YzIyLjQtMjkuNiA1Ny41LTQ3IDk0LjYtNDdzNzIuMiAxNy40IDk0LjYgNDdMMzE0IDI4NC43YzEwLjcgMTQuMSA3LjkgMzQuMi02LjIgNDQuOHMtMzQuMiA3LjktNDQuOC02LjJsLTI4LjctMzcuOCAzMS4xIDkzLjRjMy41IDEwLjQtNC4zIDIxLjEtMTUuMiAyMS4xbC0xNy44IDAgMCA4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTgwLTE2IDAgMCA4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMnpNNDgwLjUgMGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHptLTggMzg0bDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNzkuNS0xMi45IDIwLjVjLTkuNCAxNS0yOS4yIDE5LjQtNDQuMSAxMHMtMTkuNC0yOS4yLTEwLTQ0LjFsNTEuNy04Mi4xYzE3LjYtMjcuOSA0OC4zLTQ0LjkgODEuMi00NC45bDEyLjMgMGMzMyAwIDYzLjcgMTYuOSA4MS4yIDQ0LjlMNjE5LjYgMjg3YzkuNCAxNSA0LjkgMzQuNy0xMCA0NC4xcy0zNC43IDQuOS00NC4xLTEwbC0xMi45LTIwLjUgMCAxNzkuNWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2LTE2IDB6Il19LG40ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFydC1saW5lIixpY29uOls1MTIsNTEyLFsibGluZS1jaGFydCJdLCJmMjAxIiwiTTY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgNDAwYzAgNDQuMiAzNS44IDgwIDgwIDgwbDQwMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDQxNmMtOC44IDAtMTYtNy4yLTE2LTE2TDY0IDY0em00MDYuNiA4Ni42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDMyMCAyMTAuNyAyNjIuNiAxNTMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDczLjQtNzMuNCA1Ny40IDU3LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTI4LTEyOHoiXX0sSER0PW40ZSxsNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWVudmVsb3BlIixpY29uOls0NDgsNTEyLFsiZW52ZWxvcGUtc3F1YXJlIl0sImYxOTkiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjA5LjEgMjY3LjlMMTA4LjQgMjA3LjRjLTcuNy00LjYtMTIuNC0xMi45LTEyLjQtMjEuOSAwLTE0LjEgMTEuNC0yNS41IDI1LjUtMjUuNWwyMDQuOSAwYzE0LjEgMCAyNS41IDExLjQgMjUuNSAyNS41IDAgOS00LjcgMTcuMy0xMi40IDIxLjlMMjM4LjkgMjY3LjljLTQuNSAyLjctOS42IDQuMS0xNC45IDQuMXMtMTAuNC0xLjQtMTQuOS00LjF6TTM1MiAyMzcuM2wwIDgyLjdjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTgyLjcgOTYuNyA1OEMyMDIuMSAzMDEgMjEzIDMwNCAyMjQgMzA0czIxLjktMyAzMS4zLTguN2w5Ni43LTU4eiJdfSxxRHQ9bDRlLGM0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYW4tc21va2luZyIsaWNvbjpbNTEyLDUxMixbMTI4Njg1LCJzbW9raW5nLWJhbiJdLCJmNTRkIiwiTTk5LjUgMTQ0LjhsNzkuMiA3OS4yLTUwLjcgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNDYuNyAwIDkyLjUgOTIuNWMtMzEuNCAyMi40LTY5LjggMzUuNS0xMTEuMiAzNS41LTEwNiAwLTE5Mi04Ni0xOTItMTkyIDAtNDEuNSAxMy4xLTc5LjkgMzUuNS0xMTEuMnpNMzMzLjMgMjg4bC0zMi0zMiA4Mi43IDAgMCAzMi01MC43IDB6bTMyIDMybDE4LjcgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDI2OS4zIDIyNCAxNDQuOCA5OS41YzMxLjQtMjIuNCA2OS44LTM1LjUgMTExLjItMzUuNSAxMDYgMCAxOTIgODYgMTkyIDE5MiAwIDQxLjUtMTMuMSA3OS45LTM1LjUgMTExLjJMMzY1LjMgMzIwek0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjcyIDk2Yy04LjggMC0xNiA3LjItMTYgMTYgMCAyNi41IDIxLjUgNDggNDggNDhsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzNy4yIDE2IDE2IDE2IDE2LTcuMiAxNi0xNmMwLTI2LjUtMjEuNS00OC00OC00OGwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2cy03LjItMTYtMTYtMTZ6Il19LFZEdD1jNGUsakR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLWZyb250IixpY29uOls0NDgsNTEyLFtdLCJlMmI3IiwiTTAgMTEyQzAgNjcuOCAzNS44IDMyIDgwIDMybDI4OCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMjU2YzAgMjYuMi0xMi42IDQ5LjQtMzIgNjRsMCA0OGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMi0xOTIgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTQ4QzEyLjYgNDE3LjQgMCAzOTQuMiAwIDM2OEwwIDExMnptOTYgODBsMCA2NCAyNTYgMCAwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xOTIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTMyIDE2MGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0yMjQgMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxlWj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZyIsaWNvbjpbMzg0LDUxMixbMTI3OTcwLDYxNjg3XSwiZjFhZCIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek0xNzYgMzUybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA4MC05NiAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTk2IDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNDAgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNOTYgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE0NC0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxVRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVsbHNleWUiLGljb246WzUxMiw1MTIsW10sImYxNDAiLCJNNDQ4IDI1NmExOTIgMTkyIDAgMSAwIC0zODQgMCAxOTIgMTkyIDAgMSAwIDM4NCAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0yNTYgODBhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6bTAtMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHpNMjI0IDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSxkNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctbGVmdC1sb25nIixpY29uOls1NzYsNTEyLFsibG9uZy1hcnJvdy1sZWZ0Il0sImYxNzciLCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMjggMTI4YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMTA5LjMgMjg4IDU0NCAyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQzNC43IDAgNzMuNC03My40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0xMjggMTI4eiJdfSxXRHQ9ZDRlLEdEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGVzcy1yb29rIixpY29uOlszODQsNTEyLFs5ODIwXSwiZjQ0NyIsIk0wIDMyTDAgMTMzLjVjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNMNjQgMjI0IDY0IDM4NCA3LjggNDU0LjNDMi43IDQ2MC42IDAgNDY4LjQgMCA0NzYuNSAwIDQ5Ni4xIDE1LjkgNTEyIDM1LjUgNTEybDMxMi45IDBjMTkuNiAwIDM1LjUtMTUuOSAzNS41LTM1LjUgMC04LjEtMi43LTE1LjktNy44LTIyLjJsLTU2LjItNzAuMyAwLTE2MCA0NS4zLTQ1LjNjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0wzODQgMzJjMC0xNy43LTE0LjMtMzItMzItMzJMMzIwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzItNDggMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDE3NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTQ4IDAgMC0zMkM5NiAxNC4zIDgxLjcgMCA2NCAwTDMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyeiJdfSxZRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmxlbmRlci1waG9uZSIsaWNvbjpbNTc2LDUxMixbXSwiZjZiNiIsIk0xNTEuNCAxMy4yYzEwLjIgNS44IDE0LjUgMTguNCAxMCAyOS4zTDEzOC4yIDk4LjhjLTMuOSA5LjYtMTMuNyAxNS40LTI0IDE0LjRsLTIwLjItMkM3OC43IDE1Mi45IDc4IDE5OC45IDkxLjkgMjQxLjFsMjIuNC0yLjJjMTAuMy0xIDIwIDQuOCAyNCAxNC40bDIzLjIgNTYuM2M0LjUgMTAuOSAuMiAyMy40LTEwIDI5LjNsLTIuOSAxLjZjLTMzLjYgMTkuMi04MS43IDE2LjItMTA2LjItMjEuNi01Ni4zLTg2LjYtNTYuMy0xOTkuMSAwLTI4NS43IDI0LjYtMzcuNyA3Mi43LTQwLjcgMTA2LjItMjEuNmwyLjkgMS42ek0yMjQgMzM2TDE5My43IDE3LjVDMTkyLjggOC4xIDIwMC4yIDAgMjA5LjYgMGwzMjQgMGMyMS4zIDAgMzYuNiAyMC4zIDMwLjggNDAuOEw1NTMuMSA4MCA0NDAgODBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsOTkuNCAwLTE4LjMgNjQtODEuMSAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDY3LjQgMC0yNy40IDk2LTI1NiAwem04IDQ4bDI0MCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDBsLTI0MCAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTQ4YzAtMjIuMSAxNy45LTQwIDQwLTQwem0xMjAgODhhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSxwNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdHVybi11cCIsaWNvbjpbMzg0LDUxMixbImxldmVsLXVwIl0sImYxNDgiLCJNMzIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTMwNi43IDczLjQgNzMuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxNjAgMTA5LjMgMTYwIDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMHoiXX0sWkR0PXA0ZSxYRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmljeWNsZSIsaWNvbjpbNjQwLDUxMixbMTI4NjkwXSwiZjIwNiIsIk0zMzEuNyA0My4zQzMzNiAzNi4zIDM0My43IDMyIDM1MiAzMmwxMDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNjUuNiAwIDcyLjIgMTQ4LjRjMTAuNy0yLjkgMjEuOS00LjQgMzMuNC00LjQgNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhzLTU3LjMgMTI4LTEyOCAxMjgtMTI4LTU3LjMtMTI4LTEyOGMwLTQyIDIwLjItNzkuMiA1MS40LTEwMi42bC0yMC40LTQxLjktNzMuNSAxNDdjLTIuMyA0LjgtNi4zIDguOC0xMS40IDExLjItLjYgLjMtMS4yIC41LTEuOCAuNy0yLjkgMS4xLTUuOSAxLjYtOC45IDEuNUwyNzEgMzY4Yy03LjkgNjMuMS02MS43IDExMi0xMjcgMTEyLTcwLjcgMC0xMjgtNTcuMy0xMjgtMTI4UzczLjMgMjI0IDE0NCAyMjRjMTAuOCAwIDIxLjIgMS4zIDMxLjIgMy44bDI4LjUtNTYuOS0xMS41LTI2LjktNDAuMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDU2IDBjOS42IDAgMTguMyA1LjcgMjIuMSAxNC41bDE0LjMgMzMuNSAxMjMuNyAwLTM3LjctNzcuNWMtMy42LTcuNC0zLjItMTYuMiAxLjItMjMuMnpNMjI4LjUgMjI4LjdsLTQ1LjYgOTEuMyA4NC44IDAtMzkuMS05MS4zek0zMDUuNyAyODdsNDcuNS05NS04OC4yIDAgNDAuNyA5NXptMTY4LjcgNzUuNWwtMjkuNy02MWMtMTIuOCAxMy0yMC43IDMwLjgtMjAuNyA1MC41IDAgMzkuOCAzMi4yIDcyIDcyIDcyczcyLTMyLjIgNzItNzItMzIuMi03Mi03Mi03MmMtMi43IDAtNS41IC4yLTguMSAuNWwyOS43IDYxYzUuOCAxMS45IC44IDI2LjMtMTEuMSAzMi4xcy0yNi4zIC44LTMyLjEtMTEuMXpNMTQ5LjIgMzY4Yy0yMC4yIDAtMzMuNC0yMS4zLTI0LjMtMzkuNGwyNC4yLTQ4LjVjLTEuNy0uMS0zLjQtLjItNS4xLS4yLTM5LjggMC03MiAzMi4yLTcyIDcyczMyLjIgNzIgNzIgNzJjMzQuMyAwIDYyLjktMjMuOSA3MC4yLTU2bC02NSAweiJdfSx1NGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWFycm93LWRvd24iLGljb246WzUxMiw1MTIsWyJhcnJvdy1jaXJjbGUtZG93biJdLCJmMGFiIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMzkgMzc3bC04MC04MGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDM5IDM5IDAtMTUwLjFjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDE1MC4xIDM5LTM5YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtODAgODBjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAweiJdfSxLRHQ9dTRlLE03PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdlYXIiLGljb246WzUxMiw1MTIsWzk4ODEsImNvZyJdLCJmMDEzIiwiTTE5NS4xIDkuNUMxOTguMS01LjMgMjExLjItMTYgMjI2LjQtMTZsNTkuOCAwYzE1LjIgMCAyOC4zIDEwLjcgMzEuMyAyNS41TDMzMiA3OS41YzE0LjEgNiAyNy4zIDEzLjcgMzkuMyAyMi44bDY3LjgtMjIuNWMxNC40LTQuOCAzMC4yIDEuMiAzNy44IDE0LjRsMjkuOSA1MS44YzcuNiAxMy4yIDQuOSAyOS44LTYuNSAzOS45TDQ0NyAyMzMuM2MuOSA3LjQgMS4zIDE1IDEuMyAyMi43cy0uNSAxNS4zLTEuMyAyMi43bDUzLjQgNDcuNWMxMS40IDEwLjEgMTQgMjYuOCA2LjUgMzkuOWwtMjkuOSA1MS44Yy03LjYgMTMuMS0yMy40IDE5LjItMzcuOCAxNC40bC02Ny44LTIyLjVjLTEyLjEgOS4xLTI1LjMgMTYuNy0zOS4zIDIyLjhsLTE0LjQgNjkuOWMtMy4xIDE0LjktMTYuMiAyNS41LTMxLjMgMjUuNWwtNTkuOCAwYy0xNS4yIDAtMjguMy0xMC43LTMxLjMtMjUuNWwtMTQuNC02OS45Yy0xNC4xLTYtMjcuMi0xMy43LTM5LjMtMjIuOEw3My41IDQzMi4zYy0xNC40IDQuOC0zMC4yLTEuMi0zNy44LTE0LjRMNS44IDM2Ni4xYy03LjYtMTMuMi00LjktMjkuOCA2LjUtMzkuOWw1My40LTQ3LjVjLS45LTcuNC0xLjMtMTUtMS4zLTIyLjdzLjUtMTUuMyAxLjMtMjIuN0wxMi4zIDE4NS44Yy0xMS40LTEwLjEtMTQtMjYuOC02LjUtMzkuOUwzNS43IDk0LjFjNy42LTEzLjIgMjMuNC0xOS4yIDM3LjgtMTQuNGw2Ny44IDIyLjVjMTIuMS05LjEgMjUuMy0xNi43IDM5LjMtMjIuOEwxOTUuMSA5LjV6TTI1Ni4zIDMzNmE4MCA4MCAwIDEgMCAtLjYtMTYwIDgwIDgwIDAgMSAwIC42IDE2MHoiXX0sUUR0PU03LEpEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJzLWFuZC12ZW51cy1idXJzdCIsaWNvbjpbNjQwLDUxMixbXSwiZTUyMyIsIk00NjQtMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzQuNyAwLTYzIDYzYy0yOC40LTE5LjUtNjIuNy0zMS05OS44LTMxLTk3LjIgMC0xNzYgNzguOC0xNzYgMTc2IDAgODYuMyA2Mi4xIDE1OC4xIDE0NCAxNzMuMWwwIDM0LjktMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0zNC45YzgxLjktMTUgMTQ0LTg2LjggMTQ0LTE3My4xIDAtMzctMTEuNC03MS40LTMxLTk5LjhsNjMtNjMgMCAzNC43YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMTJjMC0xNy43LTE0LjMtMzItMzItMzJMNDk2LTY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMzY4IDk2YTExMiAxMTIgMCAxIDEgMCAyMjQgMTEyIDExMiAwIDEgMSAwLTIyNHpNMTkwLjktMjEuOUMxODguNC0yOCAxODIuNi0zMiAxNzYtMzJzLTEyLjQgNC0xNC45IDEwLjFsLTI5LjQgNzQtNzYuMi0yMy4xYy02LjMtMS45LTEzLjEgLjItMTcuMiA1LjNTMzMuOCA0Ni41IDM3IDUyLjJsMzkuNSA2OS4xLTY1LjYgNDUuMWMtNS40IDMuNy04IDEwLjMtNi41IDE2LjdzNi43IDExLjIgMTMuMSAxMi4ybDc4LjcgMTIuMi01LjYgNzkuNGMtLjUgNi41IDMuMSAxMi43IDkgMTUuNXMxMi45IDEuOCAxNy44LTIuNkwxNTIuMSAyNjhjLTUuMy0xOS4xLTguMS0zOS4yLTguMS02MCAwLTY1LjQgMjgtMTI0LjIgNzIuNi0xNjUuMUwxOTAuOS0yMS45eiJdfSxlQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToib3R0ZXIiLGljb246WzY0MCw1MTIsWzEyOTQ0Nl0sImY3MDAiLCJNMTgxLjUgMTk3LjFsMTIuOSA2LjRjNS45IDMgMTIuNCA0LjUgMTkuMSA0LjUgMjMuNSAwIDQyLjYtMTkuMSA0Mi42LTQyLjZsMC0yMS40YzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDIxLjRjMCAyMy41IDE5LjEgNDIuNiA0Mi42IDQyLjYgNi42IDAgMTMuMS0xLjUgMTkuMS00LjUgOS4zLTQuNyAxNi40LTguMiAyMS4yLTEwLjZMMTM1LjEgMTg1Yy00LjUtMy03LjEtOC03LjEtMTMuM2wwLTMuN2MwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMy43YzAgNS4zLTIuNyAxMC4zLTcuMSAxMy4zbC0xMS44IDcuOSA4LjQgNC4yem0tOC42IDQ5LjRsLTEyLjktNi40LTEyLjkgNi40Yy0xMi42IDYuMy0yNi41IDkuNi00MC41IDkuNi0zLjYgMC03LjEtLjItMTAuNi0uNmwwIC42YzAgMzUuMyAyOC43IDY0IDY0IDY0bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMTYwIDAgMC02NGMwLTIzLjcgMTIuOS00NC40IDMyLTU1LjQgOS40LTUuNCAyMC4zLTguNiAzMi04LjZsMC0xNmMwLTI2LjUgMjEuNS00OCA0OC00OCA4LjggMCAxNiA3LjIgMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTkuN2MwLTQ4LjItMzAuOC05MS03Ni42LTEwNi4zbC04LjUtMi44Yy04LTIuNy0xMi42LTExLjEtMTAuNC0xOS4zczEwLjMtMTMuMiAxOC42LTExLjZsMTkuOSA0QzU3NiA4Ni4xIDY0MCAxNjQuMiA2NDAgMjU0LjlsMCAxLjEgMCAwYzAgMTIzLjctMTAwLjMgMjI0LTIyNCAyMjRsLTE2MC42IDBDMTMyIDQ4MCAzMiAzODAgMzIgMjU2LjZsMC0zOS44Yy0xMC4xLTE0LjYtMTYtMzIuMy0xNi01MS40bDAtMjEuNCAwLTEuNEM2LjcgMTM5LjMgMCAxMzAuNSAwIDEyMCAwIDEwNi43IDEwLjcgOTYgMjQgOTZsMi44IDBDNDQuOCA1OC4yIDgzLjMgMzIgMTI4IDMybDY0IDBjNDQuNyAwIDgzLjIgMjYuMiAxMDEuMiA2NGwyLjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNCAwIDEwLjUtNi43IDE5LjMtMTYgMjIuNmwwIDEuNCAwIDIxLjRjMCAxLjQgMCAyLjgtLjEgNC4zIDEyLTYuMiAyNS43LTkuNiA0MC4xLTkuNmw4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA4IDU2LjQgMGMtMTUuMiAxNy0yNC40IDM5LjQtMjQuNCA2NGwtMzIgMGMtNDIuMyAwLTc4LjItMjcuNC05MS02NS4zLTUuMSAuOS0xMC4zIDEuMy0xNS42IDEuMy0xNC4xIDAtMjcuOS0zLjMtNDAuNS05LjZ6TTk2IDEyOGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6bTExMiAxNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAweiJdfSxmNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWNoZXZyb24tbGVmdCIsaWNvbjpbNTEyLDUxMixbImNoZXZyb24tY2lyY2xlLWxlZnQiXSwiZjEzNyIsIk01MTIgMjU2YTI1NiAyNTYgMCAxIDAgLTUxMiAwIDI1NiAyNTYgMCAxIDAgNTEyIDB6TTI3MSAxMzVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC04NyA4NyA4NyA4N2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDE2NyAyNzNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDI3MSAxMzV6Il19LHRBdD1mNGUsaDRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1xdWVzdGlvbiIsaWNvbjpbNTEyLDUxMixbNjIxMDgsInF1ZXN0aW9uLWNpcmNsZSJdLCJmMDU5IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem0wLTMzNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDQ3LjItMzYgNjcuMi01NiA3NC41bDAgMy44YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtOC4xYzAtMjAuNSAxNC44LTM1LjIgMzAuMS00MC4yIDYuNC0yLjEgMTMuMi01LjUgMTguMi0xMC4zIDQuMy00LjIgNy43LTEwIDcuNy0xOS42IDAtMTcuNy0xNC4zLTMyLTMyLTMyek0yMjQgMzY4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LGFBdD1oNGUsckF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndhbGtpZS10YWxraWUiLGljb246WzM4NCw1MTIsW10sImY4ZWYiLCJNODgtMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA3MiA0OCAwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMzIgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNjAuOWMwIDkuOS0yLjMgMTkuNy02LjggMjguNmwtMjAuMiA0MC40Yy0zLjMgNi43LTUuMSAxNC01LjEgMjEuNWwwIDg0LjdjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTg0LjdjMC03LjUtMS43LTE0LjgtNS4xLTIxLjVMNi44IDMwMS41QzIuMyAyOTIuNiAwIDI4Mi44IDAgMjcyLjlMMCAxMTJDMCA4NS41IDIxLjUgNjQgNDggNjRsMTYgMCAwLTcyYzAtMTMuMyAxMC43LTI0IDI0LTI0em0zMiAxNzZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAwem0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHoiXX0sbTRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItZ3JvdXAiLGljb246WzU3Niw1MTIsWzEyODEwMSwidXNlci1mcmllbmRzIl0sImY1MDAiLCJNNjQgMTI4YTExMiAxMTIgMCAxIDEgMjI0IDAgMTEyIDExMiAwIDEgMSAtMjI0IDB6TTAgNDY0YzAtOTcuMiA3OC44LTE3NiAxNzYtMTc2czE3NiA3OC44IDE3NiAxNzZsMCA2YzAgMjMuMi0xOC44IDQyLTQyIDQyTDQyIDUxMmMtMjMuMiAwLTQyLTE4LjgtNDItNDJsMC02ek00MzIgNjRhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6bTAgMjQwYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0bDAgMjIuNGMwIDIzLTE4LjYgNDEuNi00MS42IDQxLjZsLTE0NC44IDBjNi42LTEyLjUgMTAuNC0yNi44IDEwLjQtNDJsMC02YzAtNTEuNS0xNy40LTk4LjktNDYuNS0xMzYuNyAyMi42LTE0LjcgNDkuNi0yMy4zIDc4LjUtMjMuM3oiXX0saUF0PW00ZSxnNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY2hpbW5leSIsaWNvbjpbNTEyLDUxMixbNjM0OTksImhvbWUtbGciXSwiZTNhZiIsIk0yMzQuMiA4LjZjMTIuMy0xMS40IDMxLjMtMTEuNCA0My41IDBMMzY4IDkyLjMgMzY4IDgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMDEuNSAzNy44IDM1LjFjOS42IDkgMTIuOCAyMi45IDggMzUuMVM0OTMuMiAyNzIgNDgwIDI3MmwtMTYgMCAwIDE3NmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMjg4IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOHpNMjQwIDMyMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NiAxMjggMCAwLTk2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zMiAweiJdfSxzQXQ9ZzRlLGI0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyaWdodC1mcm9tLWJyYWNrZXQiLGljb246WzUxMiw1MTIsWyJzaWduLW91dC1hbHQiXSwiZjJmNSIsIk01MDUgMjczYzkuNC05LjQgOS40LTI0LjYgMC0zMy45TDM2MSA5NWMtNi45LTYuOS0xNy4yLTguOS0yNi4yLTUuMlMzMjAgMTAyLjMgMzIwIDExMmwwIDgwLTExMiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDExMiAwIDAgODBjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yczE5LjMgMS43IDI2LjItNS4yTDUwNSAyNzN6TTE2MCA5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw5NiAzMkM0MyAzMiAwIDc1IDAgMTI4TDAgMzg0YzAgNTMgNDMgOTYgOTYgOTZsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMHoiXX0sb0F0PWI0ZSxuQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZSIsaWNvbjpbMzg0LDUxMixbMTI4MTk2LDEyODQ1OSw2MTQ2Ml0sImYxNWIiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNzcuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNTguNyAxOC43QzI0Ni43IDYuNyAyMzAuNSAwIDIxMy41IDBMNjQgMHpNMzI1LjUgMTc2TDIzMiAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDIwOCA1OC41IDMyNS41IDE3NnoiXX0sbEF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJlMDY5IiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTE4My40LTE4My40IDcuMS03LjcgMTI3LjMgMGMzMC45IDAgNTYtMjUuMSA1Ni01NnMtMjUuMS01Ni01Ni01NkwzOTIuNyAyMDAgMjMzLjUgMjYuNEMyMjcuNSAxOS44IDIxOC45IDE2IDIwOS45IDE2bC00My43IDBjLTEwLjkgMC0xOC42IDEwLjctMTUuMiAyMS4xTDE3NS4xIDEwOS4yIDQxLTI0Ljl6TTEzMC4yIDIwMGwtMjQuNiAwLTUyLjgtNjZjLTMtMy44LTcuNi02LTEyLjUtNmwtMTkuOCAwYy0xMC40IDAtMTggOS44LTE1LjUgMTkuOUwzMiAyNTYgNSAzNjQuMUMyLjQgMzc0LjIgMTAuMSAzODQgMjAuNSAzODRsMTkuOCAwYzQuOSAwIDkuNS0yLjIgMTIuNS02bDUyLjgtNjYgOTkuNyAwLTU0LjMgMTYyLjljLTMuNSAxMC40IDQuMyAyMS4xIDE1LjIgMjEuMWw0My43IDBjOSAwIDE3LjUtMy44IDIzLjYtMTAuNEwzMjAuNyAzOTAuNSAxMzAuMiAyMDB6Il19LGNBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1zaG93ZXJzLWhlYXZ5IixpY29uOls1MTIsNTEyLFtdLCJmNzQwIiwiTTk2IDMyMGMtNTMgMC05Ni00My05Ni05NiAwLTQyLjUgMjcuNi03OC42IDY1LjktOTEuMi0xLjMtNi43LTEuOS0xMy43LTEuOS0yMC44IDAtNjEuOSA1MC4xLTExMiAxMTItMTEyIDQzLjEgMCA4MC41IDI0LjMgOTkuMiA2MCAxNC43LTE3LjEgMzYuNS0yOCA2MC44LTI4IDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgNS41LS42IDEwLjgtMS42IDE2IC41IDAgMS4xIDAgMS42IDAgNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZMOTYgMzIwem02LjggNzkuNmwtMzIgOTZDNjYuNiA1MDguMiA1MyA1MTUgNDAuNCA1MTAuOFMyMSA0OTMgMjUuMiA0ODAuNGwzMi05NkM2MS40IDM3MS44IDc1IDM2NSA4Ny42IDM2OS4yUzEwNyAzODcgMTAyLjggMzk5LjZ6bTEyMCAwbC0zMiA5NmMtNC4yIDEyLjYtMTcuOCAxOS40LTMwLjQgMTUuMlMxNDEgNDkzIDE0NS4yIDQ4MC40bDMyLTk2YzQuMi0xMi42IDE3LjgtMTkuNCAzMC40LTE1LjJTMjI3IDM4NyAyMjIuOCAzOTkuNnptMTEyIDBsLTMyIDk2Yy00LjIgMTIuNi0xNy44IDE5LjQtMzAuNCAxNS4yUzI1MyA0OTMgMjU3LjIgNDgwLjRsMzItOTZjNC4yLTEyLjYgMTcuOC0xOS40IDMwLjQtMTUuMlMzMzkgMzg3IDMzNC44IDM5OS42em0xMjAgMGwtMzIgOTZjLTQuMiAxMi42LTE3LjggMTkuNC0zMC40IDE1LjJTMzczIDQ5MyAzNzcuMiA0ODAuNGwzMi05NmM0LjItMTIuNiAxNy44LTE5LjQgMzAuNC0xNS4yUzQ1OSAzODcgNDU0LjggMzk5LjZ6Il19LGRBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tZmFsbGluZyIsaWNvbjpbNTEyLDUxMixbXSwiZTU0NiIsIk0zMjAgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA1LjRjMCA0NS0yMy42IDg2LjYtNjIuMSAxMDkuOGwtNC42IDIuOEMxMzEuNCAxODQuNyA5NiAyNDcuMSA5NiAzMTQuNkw5NiAzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY5LjRjMC0xNi43IDMuMy0zMyA5LjQtNDhMMzU5LjIgNTAwLjJjMTEuMSAxMy43IDMxLjMgMTUuOCA0NSA0LjdzMTUuOC0zMS4zIDQuNy00NUwyOTUuMiAzMjAgNDAwIDMyMCA0MzguNCAzNzEuMmMxMC42IDE0LjEgMzAuNyAxNyA0NC44IDYuNHMxNy0zMC43IDYuNC00NC44bC00My4yLTU3LjZDNDM3LjMgMjYzLjEgNDIzLjEgMjU2IDQwOCAyNTZsLTg5IDAtNjIuOS03NS41YzQwLjMtMzYgNjMuOS04Ny45IDYzLjktMTQzLjFsMC01LjR6TTEwNCAxNDRhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6Il19LHY0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0dXJuLWRvd24iLGljb246WzM4NCw1MTIsWzEwNTQ5LCJsZXZlbC1kb3duLWFsdCJdLCJmM2JlIiwiTTE2OS40IDUwMi42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjhjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTMzMyLjkgMzIwIDMyMCAzMjBsLTY0IDAgMC0xNjBDMjU2IDcxLjYgMTg0LjQgMCA5NiAwTDMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyTDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2MC02NCAwYy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOWwxMjggMTI4eiJdfSxwQXQ9djRlLHg0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1cC1yaWdodC1hbmQtZG93bi1sZWZ0LWZyb20tY2VudGVyIixpY29uOls1MTIsNTEyLFsiZXhwYW5kLWFsdCJdLCJmNDI0IiwiTTM0NCAwTDQ4OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTQ0YzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTM5LTM5LTg3IDg3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtMzItMzJjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDg3LTg3LTM5LTM5Yy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yUzMzNC4zIDAgMzQ0IDB6TTE2OCA1MTJMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwwIDM0NGMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJTMzQuMSAzMjAuMiA0MSAzMjdsMzkgMzkgODctODdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMzIgMzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTg3IDg3IDM5IDM5YzYuOSA2LjkgOC45IDE3LjIgNS4yIDI2LjJTMTc3LjcgNTEyIDE2OCA1MTJ6Il19LHVBdD14NGUsZkF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItdGFnIixpY29uOls2NDAsNTEyLFtdLCJmNTA3IiwiTTI1Ni4xIDhhMTIwIDEyMCAwIDEgMSAwIDI0MCAxMjAgMTIwIDAgMSAxIDAtMjQwek0yMjYuNCAzMDRsNTkuNCAwYzYuNyAwIDEzLjIgLjQgMTkuNyAxLjEtLjkgNC45LTEuNCA5LjktMS40IDE1bDAgOTIuMWMwIDI1LjUgMTAuMSA0OS45IDI4LjEgNjcuOWwzMS45IDMxLjktMjg2LjMgMGMtMTYuNCAwLTI5LjctMTMuMy0yOS43LTI5LjcgMC05OC41IDc5LjgtMTc4LjMgMTc4LjMtMTc4LjN6TTM1Mi4xIDQxMi4ybDAtOTIuMWMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5Mi4xIDBjMTIuNyAwIDI0LjkgNS4xIDMzLjkgMTQuMWw5NiA5NmMxOC43IDE4LjcgMTguNyA0OS4xIDAgNjcuOWwtNzYuMSA3Ni4xYy0xOC43IDE4LjctNDkuMSAxOC43LTY3LjkgMGwtOTYtOTZjLTktOS0xNC4xLTIxLjItMTQuMS0zMy45em0xMDQtNDQuMmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxoQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1zcGFya2xlcyIsaWNvbjpbNjQwLDUxMixbXSwiZTA1ZCIsIk0zMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDIwOGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMTc2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxNzZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTExMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTc4LjJjLTE5LjIgNS40LTM0LjcgMjAuNC00MC40IDQwLjNsLTYuNSAyMi43LTIyLjcgNi41Yy0yNS4yIDcuMi00Mi41IDMwLjItNDIuNSA1Ni40IDAgMjIuMSAxMi40IDQyIDMxLjQgNTEuOS0yNy41IDE3LjgtNjAuMiAyOC4xLTk1LjQgMjguMWwtMTkuMiAwYy01OS42IDAtMTE2LjktMjIuOS0xNjAtNjRMNzYuNCAzNDFjLTE2LTE1LjItMTYuNi00MC42LTEuNC01Ni42czQwLjYtMTYuNiA1Ni42LTEuNGw2MC41IDU3LjZjMC0xLjUtLjEtMy4xLS4xLTQuNmwwLTI3MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTc2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0yMDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS03LjMgMzI2LjZjLTEuMS0zLjktNC43LTYuNi04LjctNi42cy03LjYgMi43LTguNyA2LjZsLTcuMyAyNS40LTI1LjQgNy4zYy0zLjkgMS4xLTYuNiA0LjctNi42IDguN3MyLjcgNy42IDYuNiA4LjdsMjUuNCA3LjMgNy4zIDI1LjRjMS4xIDMuOSA0LjcgNi42IDguNyA2LjZzNy42LTIuNyA4LjctNi42bDcuMy0yNS40IDI1LjQtNy4zYzMuOS0xLjEgNi42LTQuNyA2LjYtOC43cy0yLjctNy42LTYuNi04LjdsLTI1LjQtNy4zLTcuMy0yNS40ek0xMDQgMTIwbDQ4LjMgMTMuOGM0LjYgMS4zIDcuNyA1LjUgNy43IDEwLjJzLTMuMSA4LjktNy43IDEwLjJMMTA0IDE2OCA5MC4yIDIxNi4zYy0xLjMgNC42LTUuNSA3LjctMTAuMiA3LjdzLTguOS0zLjEtMTAuMi03LjdMNTYgMTY4IDcuNyAxNTQuMkMzLjEgMTUyLjkgMCAxNDguNyAwIDE0NHMzLjEtOC45IDcuNy0xMC4yTDU2IDEyMCA2OS44IDcxLjdDNzEuMSA2Ny4xIDc1LjMgNjQgODAgNjRzOC45IDMuMSAxMC4yIDcuN0wxMDQgMTIwek01ODQgNDA4bDQ4LjMgMTMuOGM0LjYgMS4zIDcuNyA1LjUgNy43IDEwLjJzLTMuMSA4LjktNy43IDEwLjJMNTg0IDQ1NiA1NzAuMiA1MDQuM2MtMS4zIDQuNi01LjUgNy43LTEwLjIgNy43cy04LjktMy4xLTEwLjItNy43TDUzNiA0NTYgNDg3LjcgNDQyLjJjLTQuNi0xLjMtNy43LTUuNS03LjctMTAuMnMzLjEtOC45IDcuNy0xMC4yTDUzNiA0MDggNTQ5LjggMzU5LjdjMS4zLTQuNiA1LjUtNy43IDEwLjItNy43czguOSAzLjEgMTAuMiA3LjdMNTg0IDQwOHoiXX0sbUF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy10by1kb3QiLGljb246WzUxMiw1MTIsW10sImU0YmUiLCJNMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAzMiAwYzEyLjkgMCAyNC42IDcuOCAyOS42IDE5LjhzMi4yIDI1LjctNi45IDM0LjlsLTY0IDY0Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtNjQtNjRjLTkuMi05LjItMTEuOS0yMi45LTYuOS0zNC45UzE3OS4xIDY0IDE5MiA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTE2OS40IDM5My40bDY0LTY0YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDY0IDY0YzkuMiA5LjIgMTEuOSAyMi45IDYuOSAzNC45UzMzMi45IDQ0OCAzMjAgNDQ4bC0zMiAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0zMiAwYy0xMi45IDAtMjQuNi03LjgtMjkuNi0xOS44cy0yLjItMjUuNyA2LjktMzQuOXpNMzIgMjI0bDMyIDAgMC0zMmMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42czI1LjctMi4yIDM0LjkgNi45bDY0IDY0YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC02NCA2NGMtOS4yIDkuMi0yMi45IDExLjktMzQuOSA2LjlTNjQgMzMyLjkgNjQgMzIwbDAtMzItMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMjk3LjQgNTQuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsNjQtNjRjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlTNDQ4IDE3OS4xIDQ0OCAxOTJsMCAzMiAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMzJjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlsLTY0LTY0ek0yNTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0seTRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Utc2FkLWNyeSIsaWNvbjpbNTEyLDUxMixbMTI4NTU3LCJzYWQtY3J5Il0sImY1YjMiLCJNMzUyIDQ5My40Yy0yOS42IDEyLTYyLjEgMTguNi05NiAxOC42cy02Ni40LTYuNi05Ni0xOC42TDE2MCAyOTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNzEuN0M0NC40IDQyMS42IDAgMzQ0IDAgMjU2IDAgMTE0LjYgMTE0LjYgMCAyNTYgMFM1MTIgMTE0LjYgNTEyIDI1NmMwIDg4LTQ0LjQgMTY1LjYtMTEyIDIxMS43TDQwMCAyOTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxOTcuNHpNMTUyIDE5NmwxNiAwYzExIDAgMjAgOSAyMCAyMHM5IDIwIDIwIDIwIDIwLTkgMjAtMjBjMC0zMy4xLTI2LjktNjAtNjAtNjBsLTE2IDBjLTMzLjEgMC02MCAyNi45LTYwIDYwIDAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwIDktMjAgMjAtMjB6bTE3MiAyMGMwLTExIDktMjAgMjAtMjBsMTYgMGMxMSAwIDIwIDkgMjAgMjBzOSAyMCAyMCAyMCAyMC05IDIwLTIwYzAtMzMuMS0yNi45LTYwLTYwLTYwbC0xNiAwYy0zMy4xIDAtNjAgMjYuOS02MCA2MCAwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMHpNMjA4IDMzNmwwIDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDhsMC0zMmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHoiXX0sZ0F0PXk0ZSxiQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG9uZy1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMTY5IiwiTTI4OC0xNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMi0xMDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMDQgMCAwIDcyLjJjLTIyLjktMTUuMy01MC40LTI0LjItODAtMjQuMi03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NFM5Ni41IDQzMiAxNzYgNDMyYzMwIDAgNTcuOC05LjEgODAuOC0yNC44IDMuMyAxNC4yIDE2IDI0LjggMzEuMiAyNC44IDE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzA0IDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQwIDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNOTYgMjg4YTgwIDgwIDAgMSAxIDE2MCAwIDgwIDgwIDAgMSAxIC0xNjAgMHpNMjQgNDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMzNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDI0IDQ2NHoiXX0sdkF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlb3BsZS1saW5lIixpY29uOls1NzYsNTEyLFtdLCJlNTM0IiwiTTI4OCAwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4em05NiAzMTJjMCAyNS0xMi43IDQ3LTMyIDU5LjlsMCA0NC4xLTEyOCAwIDAtNDQuMUMyMDQuNyAzNTkgMTkyIDMzNyAxOTIgMzEybDAtNDBjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDQwem0xNiAxMDRsMC0yNy4zYzE5LjktMjIuNSAzMi01Mi4yIDMyLTg0LjdsMC0zMmMwLTI2LjctNy4zLTUxLjYtMTkuOS03My4xIDExLjEtNC41IDIzLjItNi45IDM1LjktNi45IDUzIDAgOTYgNDMgOTYgOTZsMCAzMmMwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRsMCA0MC42LTExMiAwek02NCAzNzUuNEM0NC45IDM2NC40IDMyIDM0My43IDMyIDMyMGwwLTMyYzAtNTMgNDMtOTYgOTYtOTYgMTIuNyAwIDI0LjggMi41IDM1LjkgNi45LTEyLjYgMjEuNC0xOS45IDQ2LjQtMTkuOSA3My4xbDAgMzJjMCAzMi41IDEyLjEgNjIuMSAzMiA4NC43bDAgMjcuMy0xMTIgMCAwLTQwLjZ6TTEyOCAzMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnptMzIwIDBhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTI0IDQ2NGw1MjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LHc0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtcnNzIixpY29uOls0NDgsNTEyLFsicnNzLXNxdWFyZSJdLCJmMTQzIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTk2IDEzNmMwLTEzLjMgMTAuNy0yNCAyNC0yNCAxMzcgMCAyNDggMTExIDI0OCAyNDggMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xMTAuNS04OS41LTIwMC0yMDAtMjAwLTEzLjMgMC0yNC0xMC43LTI0LTI0em0wIDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0IDgzLjkgMCAxNTIgNjguMSAxNTIgMTUyIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNTcuNC00Ni42LTEwNC0xMDQtMTA0LTEzLjMgMC0yNC0xMC43LTI0LTI0em0wIDEyMGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSx4QXQ9dzRlLHlBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxlbmRhci1taW51cyIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3MiIsIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTI0IDI2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LHdBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFydC1kaWFncmFtIixpY29uOls1MTIsNTEyLFtdLCJlNjk1IiwiTTgwIDMyQzUzLjUgMzIgMzIgNTMuNSAzMiA4MHMyMS41IDQ4IDQ4IDQ4bDE1MiAwIDAgNDAtNDggNDgtNzIgMGMtMzkuOCAwLTcyIDMyLjItNzIgNzJsMCA2NC04IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC04IDAgMC02NGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw3MiAwIDQ4IDQ4IDAgNDAtOCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOCAwIDAtNDAgNDgtNDggNzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDY0LTggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTggMCAwLTY0YzAtMzkuOC0zMi4yLTcyLTcyLTcybC03MiAwLTQ4LTQ4IDAtNDAgMTUyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhMODAgMzJ6Il19LE00ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLXRpcmVkIixpY29uOls1MTIsNTEyLFsxMjg1NTUsInRpcmVkIl0sImY1YzgiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NC43IDMyOC43YzIyLTIyIDUzLjktNDAuNyA5MS4zLTQwLjdzNjkuMyAxOC43IDkxLjMgNDAuN2MxMS4xIDExLjEgMjAuMSAyMy40IDI2LjQgMzUuNCA2LjIgMTEuNyAxMC4zIDI0LjQgMTAuMyAzNS45IDAgNS4yLTIuNiAxMC4yLTYuOSAxMy4ycy05LjggMy43LTE0LjcgMS44bC0yMC41LTcuN2MtMjYuOS0xMC4xLTU1LjUtMTUuMy04NC4zLTE1LjNsLTMuMiAwYy0yOC44IDAtNTcuMyA1LjItODQuMyAxNS4zTDE0OS42IDQxNWMtNC45IDEuOC0xMC40IDEuMi0xNC43LTEuOFMxMjggNDA1LjIgMTI4IDQwMGMwLTExLjYgNC4yLTI0LjIgMTAuMy0zNS45IDYuMy0xMiAxNS4zLTI0LjMgMjYuNC0zNS40ek0xMjIuNiAxNTkuMmM0LjUtNi44IDEzLjMtOS4yIDIwLjYtNS41bDc5LjYgNDBjNS40IDIuNyA4LjggOC4yIDguOCAxNC4zcy0zLjQgMTEuNi04LjggMTQuM2wtNzkuNiA0MGMtNy4zIDMuNi0xNi4xIDEuMy0yMC42LTUuNXMtMy4xLTE1LjkgMy4xLTIxLjFMMTU5IDIwOCAxMjUuOCAxODAuM2MtNi4yLTUuMi03LjYtMTQuMy0zLjEtMjEuMXptMjYzLjYgMjEuMUwzNTMgMjA4IDM4Ni4yIDIzNS43YzYuMiA1LjIgNy42IDE0LjMgMy4xIDIxLjFzLTEzLjMgOS4yLTIwLjYgNS41bC03OS42LTQwYy01LjQtMi43LTguOC04LjItOC44LTE0LjNzMy40LTExLjYgOC44LTE0LjNsNzkuNi00MGM3LjMtMy42IDE2LjEtMS4zIDIwLjYgNS41czMuMSAxNS45LTMuMSAyMS4xeiJdfSxNQXQ9TTRlLGtBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXBvaW50LXJpZ2h0IixpY29uOls1MTIsNTEyLFtdLCJmMGE0IiwiTTQ4MCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjA4IDAgMC02NCAyMDggMHpNMzIwIDI4OGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwem02NC02NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNDggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyek0yODggMzg0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0IDB6bS04OC05NmwuNiAwYy01LjQgOS40LTguNiAyMC4zLTguNiAzMiAwIDEzLjIgNCAyNS40IDEwLjggMzUuNi0yNC45IDguNy00Mi44IDMyLjUtNDIuOCA2MC40IDAgMTEuNyAzLjEgMjIuNiA4LjYgMzJsLTguNiAwQzcxLjYgNDQ4IDAgMzc2LjQgMCAyODhsMC02MS43YzAtNDIuNCAxNi45LTgzLjEgNDYuOS0xMTMuMWwxMS42LTExLjZDODIuNSA3Ny41IDExNS4xIDY0IDE0OSA2NGwyNyAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgODhjMCAyMi4xLTE3LjkgNDAtNDAgNDBzLTQwLTE3LjktNDAtNDBsMC01NmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDU2YzAgMzkuOCAzMi4yIDcyIDcyIDcyeiJdfSx6QXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAiLGljb246WzM4NCw1MTIsWzg1OTNdLCJmMDYyIiwiTTIxNC42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTYwIDEwOS4zIDE2MCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM3MC43IDEwNS40IDEwNS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjB6Il19LFNBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjdWJlcy1zdGFja2VkIixpY29uOls1MTIsNTEyLFtdLCJlNGU2IiwiTTE5MiAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjR6bTMyIDM1Mmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTE5MiAwbDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzIwIDE5Mmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS0xODIuNi0zLjljMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsNDUuMyA0NS4zYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC00NS4zIDQ1LjNjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwTDkyLjEgMjc4LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDQ1LjMtNDUuM3pNMzIgMzg0bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sazRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoaWxkLWNvbWJhdGFudCIsaWNvbjpbNTc2LDUxMixbImNoaWxkLXJpZmxlIl0sImU0ZTAiLCJNMTc2LjUgMTI4YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4em0tMTYgMzUybDAtOTYgMzIgMCAwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xOTIuMiAyMC45IDMzLjJjOS40IDE1IDI5LjIgMTkuNCA0NC4xIDEwczE5LjQtMjkuMiAxMC00NC4xbC0zOS45LTYzLjNDMjY2LjggMTg0IDIyMy4zIDE2MCAxNzYuNSAxNjBTODYuMiAxODQgNjEuMyAyMjMuNkwyMS40IDI4N2MtOS40IDE1LTQuOSAzNC43IDEwIDQ0LjFzMzQuNyA0LjkgNDQuMS0xMGwyMC45LTMzLjIgMCAxOTIuMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyek00NDguNSAwbC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDAgMTAwLjNjLTkuNiA1LjUtMTYgMTUuOS0xNiAyNy43bDAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTQ0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDAgMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZsNTkuNSAwYzEwLjQgMCAxOC05LjggMTUuNS0xOS45bC0yMy05Mi4xIDQ0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC00OCAwIDAtMjYuNyA1My4xLTE3LjdjNi41LTIuMiAxMC45LTguMyAxMC45LTE1LjJsMC04NC41YzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNTYtMTYgNS4zIDAtMTA5LjNjMC0xMS44LTYuNC0yMi4yLTE2LTI3LjdsMC0xMTYuM2MwLTguOC03LjItMTYtMTYtMTZ6Il19LENBdD1rNGUsX0F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZlc3QtcGF0Y2hlcyIsaWNvbjpbNDQ4LDUxMixbXSwiZTA4NiIsIk0yMDAgMjkzLjlMMjAwIDQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMjcwLjVjMC05LjUgMi44LTE4LjcgOC4xLTI2LjZsNDcuOS03MS44YzUuMy03LjkgOC4xLTE3LjEgOC4xLTI2LjZMNjQgNDhDNjQgMjEuNSA4NS41IDAgMTEyIDBsMy41IDBjLjMgMCAuNiAwIDEgMCAuNiAwIDEuMiAwIDEuOCAwIDE4LjggMCAzNC4xIDkuNyA0NC4xIDE4LjggOS4zIDguNCAyOC41IDIxLjIgNjEuNyAyMS4yczUyLjQtMTIuOCA2MS43LTIxLjJjMTAtOS4xIDI1LjMtMTguOCA0NC4xLTE4LjggLjYgMCAxLjIgMCAxLjggMCAuMyAwIC42IDAgMSAwTDMzNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTcuNWMwIDkuNSAyLjggMTguNyA4LjEgMjYuNmw0Ny45IDcxLjhjNS4zIDcuOSA4LjEgMTcuMSA4LjEgMjYuNkw0NDggNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMDQgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNzAuMWMwLTMuOSAuNS03LjggMS40LTExLjZMMzAzLjYgNjUuNEMyODUuOSA3Ny4yIDI1OS44IDg4IDIyNCA4OHMtNjEuOS0xMC44LTc5LjYtMjIuNmw1NC4yIDIxNi44YzEgMy44IDEuNCA3LjcgMS40IDExLjZ6TTk2IDQ1NmE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6TTYzLjUgMjU1LjVjLTQuNyA0LjctNC43IDEyLjMgMCAxN0w3OSAyODggNjMuNSAzMDMuNWMtNC43IDQuNy00LjcgMTIuMyAwIDE3czEyLjMgNC43IDE3IDBMOTYgMzA1IDExMS41IDMyMC41YzQuNyA0LjcgMTIuMyA0LjcgMTcgMHM0LjctMTIuMyAwLTE3TDExMyAyODggMTI4LjUgMjcyLjVjNC43LTQuNyA0LjctMTIuMyAwLTE3cy0xMi4zLTQuNy0xNyAwTDk2IDI3MSA4MC41IDI1NS41Yy00LjctNC43LTEyLjMtNC43LTE3IDB6TTMwNCAyODBsMCA0MGMwIDguOCA3LjIgMTYgMTYgMTZsNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtOCAwIDAtOGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHoiXX0sejRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcnRpbmktZ2xhc3MtZW1wdHkiLGljb246WzUxMiw1MTIsWyJnbGFzcy1tYXJ0aW5pIl0sImYwMDAiLCJNMzIgMzJDMTkuMSAzMiA3LjQgMzkuOCAyLjQgNTEuOFMuMiA3Ny41IDkuNCA4Ni42bDIxNC42IDIxNC42IDAgMTQ2LjctNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTE0Ni43IDIxNC42LTIxNC42YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ5Mi45IDMyIDQ4MCAzMkwzMiAzMnpNMjU2IDI0Mi43TDEwOS4zIDk2IDQwMi43IDk2IDI1NiAyNDIuN3oiXX0sVEF0PXo0ZSxMQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFnbmV0IixpY29uOls0NDgsNTEyLFsxMjk1MjJdLCJmMDc2IiwiTTAgMTc2TDAgMjg4QzAgNDExLjcgMTAwLjMgNTEyIDIyNCA1MTJTNDQ4IDQxMS43IDQ0OCAyODhsMC0xMTItMTI4IDAgMCAxMTJjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZsMC0xMTItMTI4IDB6bTAtNDhsMTI4IDAgMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0bDAgNjR6bTMyMCAwbDEyOCAwIDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjR6Il19LCRBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb2FkLWJhcnJpZXIiLGljb246WzY0MCw1MTIsW10sImU1NjIiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyTDY0IDI2Ni4zIDE0OS4yIDk2IDY0IDk2IDY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyek00MDUuMiA5NmwtNzQuMyAwLTUuNCAxMC43LTkwLjYgMTgxLjMgNzQuMyAwIDUuNC0xMC43IDkwLjYtMTgxLjN6TTM2Mi44IDI4OGw3NC4zIDAgNS40LTEwLjcgOTAuNi0xODEuMy03NC4zIDAtNS40IDEwLjctOTAuNiAxODEuM3pNMjAyLjggOTZsLTUuNCAxMC43LTkwLjYgMTgxLjMgNzQuMyAwIDUuNC0xMC43IDkwLjYtMTgxLjMtNzQuMyAwem0yODggMTkybDg1LjIgMCAwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzg0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNTMuNy04NS4yIDE3MC4zeiJdfSxTNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tcGFzcy1kcmFmdGluZyIsaWNvbjpbNTEyLDUxMixbImRyYWZ0aW5nLWNvbXBhc3MiXSwiZjU2OCIsIk05OS4zIDI1Ni4xbDY5LjQtMTE5LjljLTUuNi0xMi4yLTguOC0yNS44LTguOC00MC4yIDAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZjMCAxNC4zLTMuMSAyNy45LTguOCA0MC4ybDQ0LjQgNzYuN2MtMjMuMSAyNi01My43IDQ1LjEtODguNCA1My44TDI1NiAxOTEuOSAxODcuOSAzMDkuNWMyMS41IDYuOCA0NC4zIDEwLjUgNjguMSAxMC41IDcwLjcgMCAxMzMuOC0zMi43IDE3NC45LTg0IDExLjEtMTMuOCAzMS4yLTE2IDQ1LTVzMTYgMzEuMiA1IDQ1Yy01Mi43IDY1LjgtMTMzLjkgMTA4LTIyNC44IDEwOC0zNS40IDAtNjkuNC02LjQtMTAwLjctMTguMUw5OC43IDQ2My43Qzk0IDQ3MS44IDg3IDQ3OC40IDc4LjYgNDgyLjZMMjMuMiA1MTAuM2MtNSAyLjUtMTAuOSAyLjItMTUuNi0uN1MwIDUwMS41IDAgNDk2bDAtNTUuNGMwLTguNCAyLjItMTYuNyA2LjUtMjQuMWw2MC0xMDMuN2MtMTIuOC0xMS4yLTI0LjYtMjMuNS0zNS4zLTM2LjgtMTEuMS0xMy44LTguOC0zMy45IDUtNDVzMzMuOS04LjggNDUgNWM1LjcgNy4xIDExLjggMTMuOCAxOC4yIDIwLjF6TTM4MS4xIDQwNy45YzMyLjUtMTMgNjIuNC0zMSA4OC45LTUyLjlsMzUuNiA2MS41YzQuMiA3LjMgNi41IDE1LjYgNi41IDI0LjFsMCA1NS40YzAgNS41LTIuOSAxMC43LTcuNiAxMy42cy0xMC42IDMuMi0xNS42IC43bC01NS40LTI3LjdjLTguNC00LjItMTUuNC0xMC44LTIwLjEtMTguOWwtMzIuMy01NS44ek0yNTYgMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sREF0PVM0ZSxBQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXBlcnNvbi1jb25maW5lZCIsaWNvbjpbNDQ4LDUxMixbXSwiZTU3NyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem05NiAxMTJhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptODAgMTA0YzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZsMCAxMDIuMWMwIDM2LjQtMjkuNSA2NS45LTY1LjkgNjUuOS0xNy41IDAtMzQuMy02LjktNDYuNi0xOS4zbC01NC43LTU0LjctMjguMSA1Ni4zYy03LjkgMTUuOC0yNy4xIDIyLjItNDIuOSAxNC4zcy0yMi4yLTI3LjEtMTQuMy00Mi45bDQ4LTk2YzQuNi05LjIgMTMuMy0xNS42IDIzLjUtMTcuM3MyMC41IDEuNyAyNy44IDlsNDEuNCA0MS40IDAtNTguN3oiXX0sUEF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYXRlLXdoZWF0IixpY29uOls1MTIsNTEyLFtdLCJlNTVhIiwiTTE3NiAzMmM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNi00NC4yIDAtODAtMzUuOC04MC04MGwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnpNNTYgNjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRTNDIuNyA2NCA1NiA2NHpNMjQgMTM2bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDE4NGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptOCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMjcyIDQ4YzAtOC44IDcuMi0xNiAxNi0xNiA0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNi00NC4yIDAtODAtMzUuOC04MC04MGwwLTE2ek00MDAgMzJjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxNmMwIDguOC03LjIgMTYtMTYgMTYtNDQuMiAwLTgwLTM1LjgtODAtODBsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2MGwwIDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwIDguOCAwIDE2IDcuMiAxNiAxNnpNMzUyIDE3NmM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDQ0LjItMzUuOCA4MC04MCA4MC04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MHptLTk2IDE2bDAgMTZjMCA0NC4yLTM1LjggODAtODAgODAtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZjMC00NC4yIDM1LjgtODAgODAtODAgOC44IDAgMTYgNy4yIDE2IDE2ek0zLjUgMzQ3LjZDMS42IDMzMi45IDEzIDMyMCAyNy44IDMyMGw0NTYuNCAwYzE0LjggMCAyNi4yIDEyLjkgMjQuNCAyNy42LTYuMyA1MC4yLTQ0LjQgODkuNC05Mi42IDk4LjRsMCAyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yYy00OC4yLTktODYuMy00OC4yLTkyLjUtOTguNHoiXX0sQzRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpZ24taGFuZ2luZyIsaWNvbjpbNTEyLDUxMixbInNpZ24iXSwiZjRkOSIsIk05NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTM1MiAwIDAgMzUyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzUyLTMyIDBDMTQuMyAxMjggMCAxMTMuNyAwIDk2UzE0LjMgNjQgMzIgNjRsMzIgMCAwLTMyQzY0IDE0LjMgNzguMyAwIDk2IDB6TTIwOCAxNzZsMjQwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNDRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTI0MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE0NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sRUF0PUM0ZSxfNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyLWJhdHRlcnkiLGljb246WzUxMiw1MTIsWyJiYXR0ZXJ5LWNhciJdLCJmNWRmIiwiTTgwIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsOTYgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDE2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwxNiAwek0zOTIgMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMzItMzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMiAwIDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMyIDMyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMyIDAgMC0zMnpNNjQgMjQwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDg4IDIxNmMtMTMuMyAwLTI0IDEwLjctMjQgMjR6Il19LElBdD1fNGUscFk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hpcnQiLGljb246WzY0MCw1MTIsWzEyODA4NSwidC1zaGlydCIsInRzaGlydCJdLCJmNTUzIiwiTTMyMC4yIDExMmM0NC4yIDAgODAtMzUuOCA4MC04MGw1My41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMNjE3LjYgMTY5LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTUwLjcgNTAuN2MtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTQxLjQtNDEuNCAwIDIyNGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMTkyIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMjI0LTQxLjQgNDEuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBMMjIuOSAyMTQuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNMMTQxLjUgNTAuN2MxMi0xMiAyOC4zLTE4LjcgNDUuMy0xOC43bDUzLjUgMGMwIDQ0LjIgMzUuOCA4MCA4MCA4MHoiXX0sTkF0PXBZLFJBdD1wWSxGQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGFyYWdyYXBoIixpY29uOls0NDgsNTEyLFsxODJdLCJmMWRkIiwiTTE2MCAwTDQxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDE2LTQ4IDAgMCA0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjAtNDggMEM3MS42IDMyMCAwIDI0OC40IDAgMTYwUzcxLjYgMCAxNjAgMHoiXX0sVDRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVudmVsb3Blcy1idWxrIixpY29uOls1NzYsNTEyLFsibWFpbC1idWxrIl0sImY2NzQiLCJNMTEyIDBDODUuNSAwIDY0IDIxLjUgNjQgNDhsMCAxNjAgODAgMCAwLTMyYzAtNTMgNDMtOTYgOTYtOTZsMjA4IDAgMC0zMmMwLTI2LjUtMjEuNS00OC00OC00OEwxMTIgMHpNMjQwIDEyOGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAzMiA4MCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAxMTIgMTYwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xOTJjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTI4OCAwem0yMDAgNjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0ek00OCAyNTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTAuNCAxNTYuNiA4Ni4yYzEuMSAuNiAyLjIgLjkgMy40IC45czIuNC0uMyAzLjQtLjlMMzIwIDMxNC40IDMyMCAzMDRjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMjU2ek0zMjAgMzY5LjJMMTg2LjYgNDQyLjZjLTguMSA0LjUtMTcuMyA2LjgtMjYuNiA2LjhzLTE4LjQtMi40LTI2LjYtNi44TDAgMzY5LjIgMCA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsMjI0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NC44eiJdfSxPQXQ9VDRlLEJBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJndWl0YXIiLGljb246WzUxMiw1MTIsW10sImY3YTYiLCJNNDY1IDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDM4MyA1NWMtMi40IDIuNC00LjMgNS4zLTUuNSA4LjVsLTE1LjQgNDEtNzcuNSA3Ny42Yy00NS4xLTI5LjQtOTkuMy0zMC4yLTEzMSAxLjYtMTEgMTEtMTggMjQuNi0yMS40IDM5LjYtMy43IDE2LjYtMTkuMSAzMC43LTM2LjEgMzEuNi0yNS42IDEuMy00OS4zIDEwLjctNjcuMyAyOC42LTQ0LjggNDQuOC0zNi40IDEyNS44IDE4LjcgMTgwLjlTMTgzLjYgNTI4IDIyOC40IDQ4My4yYzE3LjktMTcuOSAyNy40LTQxLjcgMjguNi02Ny4zIC45LTE3IDE1LTMyLjMgMzEuNi0zNi4xIDE1LTMuNCAyOC42LTEwLjUgMzkuNi0yMS40IDMxLjgtMzEuOCAzMS04NS45IDEuNi0xMzFsNzcuNi03Ny42IDQxLTE1LjRjMy4yLTEuMiA2LjEtMy4xIDguNS01LjVsNDgtNDhjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlMNDY1IDd6TTIwOCAyNTZhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2eiJdfSxIQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VpdGNhc2UiLGljb246WzUxMiw1MTIsWzEyOTUyM10sImYwZjIiLCJNMjAwIDQ4bDExMiAwYzQuNCAwIDggMy42IDggOGwwIDQwLTEyOCAwIDAtNDBjMC00LjQgMy42LTggOC04em0tNTYgOGwwIDQyNCAyMjQgMCAwLTQyNGMwLTMwLjktMjUuMS01Ni01Ni01NkwyMDAgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZ6TTQxNiA5NmwwIDM4NCAzMiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zMiAwek05NiA0ODBsMC0zODQtMzIgMEMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIgMHoiXX0sTDRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS11cCIsaWNvbjpbNTEyLDUxMixbNjE0NjcsImFycm93LWFsdC1jaXJjbGUtdXAiXSwiZjM1YiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnptMTEuMy0zODcuM2wxMDQgMTA0YzQuNiA0LjYgNS45IDExLjUgMy41IDE3LjRTMzY2LjUgMjU2IDM2MCAyNTZsLTU2IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05Ni01NiAwYy02LjUgMC0xMi4zLTMuOS0xNC44LTkuOXMtMS4xLTEyLjkgMy41LTE3LjRsMTA0LTEwNGM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHoiXX0scUF0PUw0ZSxWQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZiIsaWNvbjpbMzIwLDUxMixbMTAyXSwiNDYiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwIDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMCAwLTEyOCAyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnoiXX0sakF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InhtYXJrcy1saW5lcyIsaWNvbjpbNjQwLDUxMixbXSwiZTU5YSIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsNTc2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6bTAgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDU3NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDQxNnpNNyAxNjdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDU1IDU1LTU1IDU1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNTUtNTUgNTUgNTVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01NS01NSA1NS01NWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC01NSA1NS01NS01NWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDB6TTI2NSAxNjdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNTUgNTUtNTUgNTVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw1NS01NSA1NSA1NWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU1LTU1IDU1LTU1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTU1IDU1LTU1LTU1ek00NTUgMTY3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw1NSA1NS01NSA1NWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDU1LTU1IDU1IDU1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTUtNTUgNTUtNTVjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNTUgNTUtNTUtNTVjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAweiJdfSwkNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWFydGgtb2NlYW5pYSIsaWNvbjpbNTEyLDUxMixbImdsb2JlLW9jZWFuaWEiXSwiZTQ3YiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTkyIDE1MC42YzAtMTIuNSAxMC4xLTIyLjYgMjIuNi0yMi42bDQxLjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTguNyAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtMTYtMTZjLTQuMi00LjItNi42LTEwLTYuNi0xNnpNNDMyIDI1NmM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNDExLjMgMzc5LjNsLTMyIDMyYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDMyLTMyYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpNMjI0IDQzMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2em0tOTYtODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTguN2MwLTguNSAzLjQtMTYuNiA5LjQtMjIuNmw0OC00OGM0LjItNC4yIDEwLTYuNiAxNi02LjZsNi42IDBjOC44IDAgMTYgNy4yIDE2IDE2czcuMiAxNiAxNiAxNiAxNi03LjIgMTYtMTYgNy4yLTE2IDE2LTE2bDYuNiAwYzYgMCAxMS44IDIuNCAxNiA2LjZsNDggNDhjNiA2IDkuNCAxNC4xIDkuNCAyMi42bDAgNTAuN2MwIDE3LjctMTQuMyAzMi0zMiAzMmwtNTAuNyAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtMTMuMy0xMy4zYy02LTYtMTQuMS05LjQtMjIuNi05LjRMMTI4IDM1MnoiXX0sVUF0PSQ0ZSxXQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudC1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZjRiMyIsIk00MS0yNUMzMS42LTM0LjMgMTYuNC0zNC4zIDctMjVTLTIuMy0uNCA3IDlMNTM1IDUzN2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTk2LjYtOTYuNmM0NC40LTQzLjIgNzEuNi0xMDEuOCA3MS42LTE2Ni41IDAtMTMyLjUtMTE0LjYtMjQwLTI1Ni0yNDAtNjMgMC0xMjAuOCAyMS40LTE2NS40IDU2LjhMNDEtMjV6bTE5LjQgMTU1QzQyLjIgMTYzIDMyIDIwMC4zIDMyIDIzOS45IDMyIDI5NC4yIDUxLjIgMzQ0LjIgODMuNiAzODQuNEwzNC44IDQ3Ni43Yy00LjggOS0zLjMgMjAgMy42IDI3LjVTNTYuMSA1MTQgNjUuNSA1MTBsMTE4LjQtNTAuN2MzMS44IDEzLjMgNjcuMSAyMC43IDEwNC4xIDIwLjcgMzYuNCAwIDcwLjktNy4xIDEwMi4zLTE5LjlMNjAuMyAxMzAuMXoiXX0sR0F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYXkiLGljb246WzQ0OCw1MTIsWzk2NTRdLCJmMDRiIiwiTTkxLjIgMzYuOWMtMTIuNC02LjgtMjcuNC02LjUtMzkuNiAuN1MzMiA1Ny45IDMyIDcybDAgMzY4YzAgMTQuMSA3LjUgMjcuMiAxOS42IDM0LjRzMjcuMiA3LjUgMzkuNiAuN2wzMzYtMTg0YzEyLjgtNyAyMC44LTIwLjUgMjAuOC0zNS4xcy04LTI4LjEtMjAuOC0zNS4xbC0zMzYtMTg0eiJdfSxZQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlhbC1jaXJjbGUtY2hlY2siLGljb246WzUxMiw1MTIsW10sImU1OTYiLCJNMzIgMzJDMzIgMTQuMyA0Ni4zIDAgNjQgMEwyODggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDE2MS40Yy02Ni4xIDMwLjMtMTEyIDk3LjEtMTEyIDE3NC42IDAgMzkuNyAxMiA3Ni42IDMyLjcgMTA3LjItMTAuMyAzLjEtMjEuMyA0LjgtMzIuNyA0LjgtNjEuOSAwLTExMi01MC4xLTExMi0xMTJMNjQgNjRDNDYuMyA2NCAzMiA0OS43IDMyIDMyem05NiAzMmwwIDEyOCA5NiAwIDAtMTI4LTk2IDB6bTk2IDMzNmExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMDEuNC02MC45Yy03LjEtNS4yLTE3LjItMy42LTIyLjQgMy41bC01MyA3Mi45LTI2LjgtMjYuOGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGMzLjMgMy4zIDcuOSA1IDEyLjYgNC42czguOS0yLjggMTEuNy02LjVsNjQtODhjNS4yLTcuMSAzLjYtMTcuMi0zLjUtMjIuM3oiXX0sWkF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyaWRnZS1jaXJjbGUtY2hlY2siLGljb246WzU3Niw1MTIsW10sImU0YzkiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDggMCAwIDY0LTQwIDAgMCAxMTJjMzcuNiA5LjQgNjQgNDMuMiA2NCA4MmwwIDk0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2IDYuNCAwIDEyLjcgLjYgMTguNyAxLjggMzQuNy00OS41IDkyLjItODEuOCAxNTcuMy04MS44IDI4LjYgMCA1NS42IDYuMiA4MCAxNy40bDAtNjUuNC00MCAwIDAtNjQgOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyek00MjQgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNMjk2IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTg4IDk2bDgwIDAgMCA2NC04MCAwIDAtNjR6TTU3NiA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTg2LjYtNjAuOWM3LjEgNS4yIDguNyAxNS4yIDMuNSAyMi4zbC02NCA4OGMtMi44IDMuOC03IDYuMi0xMS43IDYuNXMtOS4zLTEuMy0xMi42LTQuNmwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwyNi44IDI2LjggNTMtNzIuOWM1LjItNy4xIDE1LjItOC43IDIyLjQtMy41eiJdfSxYQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2VkaS1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMGRmIiwiTTIzMiAzMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI2LjVDODguOCA3My45IDE2IDE1Ni40IDE2IDI1NlM4OC44IDQzOC4xIDE4NCA0NTMuNWwwIDI2LjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTI0LjZjNDYuOC0zLjcgODkuMS0yMy42IDEyMS4zLTUzLjkgMTIuOS0xMi4xIDEzLjQtMzIuNCAxLjMtNDUuMnMtMzIuNC0xMy40LTQ1LjItMS4zYy0yMC43IDE5LjYtNDcuNiAzMi43LTc3LjMgMzYuMmwwLTI3MC4xYzI5LjggMy41IDU2LjYgMTYuNiA3Ny4zIDM2LjIgMTIuOSAxMi4xIDMzLjEgMTEuNSA0NS4yLTEuM3MxMS41LTMzLjEtMS4zLTQ1LjJDMzIxLjEgODAuMiAyNzguOCA2MC4zIDIzMiA1Ni42TDIzMiAzMnptLTQ4IDkxLjhsMCAyNjQuNEMxMjQuMyAzNzMuOCA4MCAzMjAuMSA4MCAyNTZzNDQuMy0xMTcuOCAxMDQtMTMyLjJ6Il19LEtBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwdXp6bGUtcGllY2UiLGljb246WzUxMiw1MTIsWzEyOTUxM10sImYxMmUiLCJNMjI0IDBjMzUuMyAwIDY0IDIxLjUgNjQgNDggMCAxMC40LTQuNCAyMC0xMiAyNy45LTYuNiA2LjktMTIgMTUuMy0xMiAyNC45IDAgMTUgMTIuMiAyNy4yIDI3LjIgMjcuMmw0NC44IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0NC44YzAgMTUgMTIuMiAyNy4yIDI3LjIgMjcuMiA5LjUgMCAxOC01LjQgMjQuOS0xMiA3LjktNy41IDE3LjUtMTIgMjcuOS0xMiAyNi41IDAgNDggMjguNyA0OCA2NHMtMjEuNSA2NC00OCA2NGMtMTAuNCAwLTIwLjEtNC40LTI3LjktMTItNi45LTYuNi0xNS4zLTEyLTI0LjktMTItMTUgMC0yNy4yIDEyLjItMjcuMiAyNy4yTDM4NCA0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTU2LjggMGMtMTIuOCAwLTIzLjItMTAuNC0yMy4yLTIzLjIgMC05LjIgNS44LTE3LjMgMTMuMi0yMi44IDExLjYtOC43IDE4LjgtMjAuNyAxOC44LTM0IDAtMjYuNS0yOC43LTQ4LTY0LTQ4cy02NCAyMS41LTY0IDQ4YzAgMTMuMyA3LjIgMjUuMyAxOC44IDM0IDcuNCA1LjUgMTMuMiAxMy41IDEzLjIgMjIuOCAwIDEyLjgtMTAuNCAyMy4yLTIzLjIgMjMuMkw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMzQzLjJjMC0xMi44IDEwLjQtMjMuMiAyMy4yLTIzLjIgOS4yIDAgMTcuMyA1LjggMjIuOCAxMy4yIDguNyAxMS42IDIwLjcgMTguOCAzNCAxOC44IDI2LjUgMCA0OC0yOC43IDQ4LTY0cy0yMS41LTY0LTQ4LTY0Yy0xMy4zIDAtMjUuMyA3LjItMzQgMTguOC01LjUgNy40LTEzLjUgMTMuMi0yMi44IDEzLjItMTIuOCAwLTIzLjItMTAuNC0yMy4yLTIzLjJMMCAxNzZjMC0yNi41IDIxLjUtNDggNDgtNDhsMTA4LjggMGMxNSAwIDI3LjItMTIuMiAyNy4yLTI3LjIgMC05LjUtNS40LTE4LTEyLTI0LjktNy41LTcuOS0xMi0xNy41LTEyLTI3LjkgMC0yNi41IDI4LjctNDggNjQtNDh6Il19LFFBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWxtZXQtdW4iLGljb246WzUxMiw1MTIsW10sImU1MDMiLCJNNDc5LjUgMjI0QzQ3MS4yIDk4LjkgMzY3LjIgMCAyNDAgMCAxMDcuNSAwIDAgMTA3LjUgMCAyNDBsMCA1Ni4zQzAgMzQ0LjggMzkuMiAzODQgODcuNyAzODRsMTI3LjMgMCAxMjguNiAxMjEuNGM0LjUgNC4yIDEwLjQgNi42IDE2LjUgNi42bDk2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTg2LjUgMC0xLjUtMS41IDAtMTc0LjUgMTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLS41IDB6TTMyMCA0MTcuMmwtNzgtNzMuNyAzMi40LTU1LjUgNDUuNiAwIDAgMTI5LjJ6TTI4NS4zIDEwMy4xbDM0LjcgNTIgMC00My4yYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA5NmMwIDcuMS00LjYgMTMuMy0xMS40IDE1LjNzLTE0LS42LTE3LjktNi40bC0zNC43LTUyIDAgNDMuMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTk2YzAtNy4xIDQuNi0xMy4zIDExLjQtMTUuM3MxNCAuNiAxNy45IDYuNHpNMTYwIDExMmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2eiJdfSxKQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2xhc3Mtd2F0ZXIiLGljb246WzM4NCw1MTIsW10sImU0ZjQiLCJNMzIgMEMyMy4xIDAgMTQuNiAzLjcgOC42IDEwLjJTLS42IDI1LjQgLjEgMzQuM0wyOC45IDQzNy43YzMgNDEuOSAzNy44IDc0LjMgNzkuOCA3NC4zbDE2Ni42IDBjNDIgMCA3Ni44LTMyLjQgNzkuOC03NC4zTDM4My45IDM0LjNjLjYtOC45LTIuNC0xNy42LTguNS0yNC4xUzM2MC45IDAgMzUyIDBMMzIgMHpNNzMgMTU2LjVsLTYuNi05Mi41IDI1MS4zIDAtNi42IDkyLjUtMjQuMiAxMi4xYy0xOS40IDkuNy00Mi4yIDkuNy02MS42IDAtMjAuOS0xMC40LTQ1LjUtMTAuNC02Ni40IDAtMTkuNCA5LjctNDIuMiA5LjctNjEuNiAwTDczIDE1Ni41eiJdfSxlUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQtY2lyY2xlLWJvbHQiLGljb246WzU3Niw1MTIsW10sImU0ZmMiLCJNMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43QzI5NiA1Mi41IDMzNi4yIDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDE3LjYtMy40IDM1LjYtOS41IDUzLjctMjEuOC04LjYtNDUuNi0xMy40LTcwLjUtMTMuNC0xMDYgMC0xOTIgODYtMTkyIDE5MiAwIDI4LjUgNi4yIDU1LjYgMTcuNCA4MC0uNSAwLS45IDAtMS40IDAtMTUuNSAwLTMwLjgtNC42LTQzLjEtMTQuMS03My01NS43LTIxMi45LTE4Ni0yMTIuOS0yOTguMmwwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMXpNMjg4IDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0xNzcuNC03N2MtNS44LTQuMi0xMy44LTQtMTkuNCAuNWwtODAgNjRjLTUuMyA0LjItNy40IDExLjQtNS4xIDE3LjhTMzY5LjIgNDE2IDM3NiA0MTZsMzIuOSAwLTE1LjkgNDIuNGMtMi41IDYuNy0uMiAxNC4zIDUuNiAxOC42czEzLjggNCAxOS40LS41bDgwLTY0YzUuMy00LjIgNy40LTExLjQgNS4xLTE3LjhTNDk0LjggMzg0IDQ4OCAzODRsLTMyLjkgMCAxNS45LTQyLjRjMi41LTYuNyAuMi0xNC4zLTUuNi0xOC42eiJdfSx0UHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicHVtcC1zb2FwIixpY29uOlszMjAsNTEyLFtdLCJlMDZiIiwiTTk2IDBsMCA4MCAxMjggMCAwLTI0IDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRTMzA5LjMgOCAyOTYgOGwtNzIgMCAwLThjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBDMTEwLjMtMzIgOTYtMTcuNyA5NiAwek02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5MiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDEyOHpNMjI0IDM0NGMwIDM1LjMtMjguNyA1Ni02NCA1NnMtNjQtMjAuNy02NC01NmMwLTMyLjUgMzctODAuOSA1MC45LTk3LjkgMy4yLTMuOSA4LjEtNi4xIDEzLjEtNi4xczkuOSAyLjIgMTMuMSA2LjFDMTg3IDI2My4xIDIyNCAzMTEuNSAyMjQgMzQ0eiJdfSxhUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1zY2lzc29ycyIsaWNvbjpbNTEyLDUxMixbXSwiZjI1NyIsIk00MCAyMDhjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBsMTgwLjIgMGMtNy42IDguNS0xMi4yIDE5LjctMTIuMiAzMiAwIDI1LjMgMTkuNSA0NiA0NC4zIDQ3LjktNy43IDguNS0xMi4zIDE5LjgtMTIuMyAzMi4xIDAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDk2IDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhsMC0xMTMuMWMwLTQwLjItMTYtNzguOC00NC40LTEwNy4zLTIyLjgtMjIuOC01My42LTM1LjYtODUuOC0zNS42TDMzNiA2NGMtMjEuMyAwLTM5LjMgMTMuOS00NS42IDMzLjFsNzQuNSAyMy43YzguNCAyLjcgMTMuMSAxMS43IDEwLjQgMjAuMXMtMTEuNyAxMy4xLTIwLjEgMTAuNGwtNjcuMS0yMS40IDAgLjEtMjA0LTY0LjFDNjIuOSA1OS4yIDQwLjUgNzAuOSAzMy45IDkyczUuMSA0My41IDI2LjIgNTAuMkwyNjkuNSAyMDggNDAgMjA4eiJdfSxENGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG9sbHkiLGljb246WzU3Niw1MTIsWyJkb2xseS1ib3giXSwiZjQ3MiIsIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlMxNC4zIDY0IDMyIDY0bDcyLjkgMCA5Mi4xIDI3Ni4yYy0yMi41IDE3LjYtMzcgNDUtMzcgNzUuOCAwIDUzIDQzIDk2IDk2IDk2IDUyLjQgMCA5NS4xLTQyIDk2LTk0LjNsMjAyLjEtNjcuNGMxNi44LTUuNiAyNS44LTIzLjcgMjAuMi00MC41cy0yMy43LTI1LjgtNDAuNS0yMC4yTDMzMS44IDM1N2MtMTcuMi0yMi4xLTQzLjktMzYuNS03NC0zN0wxNjUuNyA0My44QzE1Ni45IDE3LjYgMTMyLjUgMCAxMDQuOSAwTDMyIDB6TTIwOCA0MTZhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMjgwLjUgODkuM2MtMjUuMiA4LjItMzkgMzUuMy0zMC44IDYwLjVsMzkuNiAxMjEuN2M4LjIgMjUuMiAzNS4zIDM5IDYwLjUgMzAuOGwxMjEuNy0zOS42YzI1LjItOC4yIDM5LTM1LjMgMzAuOC02MC41TDQ2Mi44IDgwLjVjLTguMi0yNS4yLTM1LjMtMzktNjAuNS0zMC44TDI4MC41IDg5LjN6Il19LHJQdD1ENGUsdFo9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGFwZXJjbGlwIixpY29uOls1MTIsNTEyLFsxMjgyMDZdLCJmMGM2IiwiTTIyNC42IDEyLjhjNTYuMi01Ni4yIDE0Ny40LTU2LjIgMjAzLjYgMHM1Ni4yIDE0Ny40IDAgMjAzLjZsLTE2NCAxNjRjLTM0LjQgMzQuNC05MC4xIDM0LjQtMTI0LjUgMHMtMzQuNC05MC4xIDAtMTI0LjVMMjkyLjUgMTAzLjNjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM0wxODUgMzAxLjNjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwxNjQtMTY0YzMxLjItMzEuMiAzMS4yLTgxLjkgMC0xMTMuMXMtODEuOS0zMS4yLTExMy4xIDBsLTE2NCAxNjRjLTUzLjEgNTMuMS01My4xIDEzOS4yIDAgMTkyLjNzMTM5LjIgNTMuMSAxOTIuMyAwTDQyOC4zIDI4NC4zYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNMMzQzLjQgNDU5LjZjLTc4LjEgNzguMS0yMDQuNyA3OC4xLTI4Mi44IDBzLTc4LjEtMjA0LjcgMC0yODIuOGwxNjQtMTY0eiJdfSxpUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGVtb2NyYXQiLGljb246WzY0MCw1MTIsW10sImY3NDciLCJNNjQgMzJjMC04LjkgMy44LTIwLjkgNi4yLTI3LjMgMS0yLjggMy44LTQuNyA2LjgtNC43IDEuOSAwIDMuOCAuNyA1LjIgMi4xTDEyOCA0NS43IDE3My44IDIuMWMxLjQtMS4zIDMuMi0yLjEgNS4yLTIuMSAzIDAgNS44IDEuOCA2LjggNC43IDIuNCA2LjUgNi4yIDE4LjQgNi4yIDI3LjMgMCAyNi41LTIxLjkgNDItMjkuNSA0Ni42bDc2LjIgNzIuNmM2IDUuNyAxMy45IDguOCAyMi4xIDguOGwyMTkuMiAwIDMyIDBjNDAuMyAwIDc4LjIgMTkgMTAyLjQgNTEuMmwxOS4yIDI1LjZjMTAuNiAxNC4xIDcuNyAzNC4yLTYuNCA0NC44cy0zNC4yIDcuNy00NC44LTYuNGwtMTkuMi0yNS42Yy01LjMtNy0xMS44LTEyLjgtMTkuMi0xN2wwIDg3LjQtMzUyIDAtNDAuNC05NC4zYy0zLjktOS4yLTE1LjMtMTIuNi0yMy42LTdsLTQyLjEgMjhjLTkuMSA2LjEtMTkuNyA5LjMtMzAuNyA5LjNsLTIgMEMyMy45IDI1NiAwIDIzMi4xIDAgMjAyLjcgMCAxOTAuNiA0LjEgMTc4LjkgMTEuNyAxNjkuNEw4Ny42IDc0LjZDNzguMSA2Ny40IDY0IDUzLjIgNjQgMzJ6TTU0NCAzNTJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjQtMTYwIDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMjggMzUyIDB6TTI1NiAyODBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0yNDgtMjRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNMzY4IDI4MGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6Il19LEE0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtYXJyb3ctdXAtcmlnaHQiLGljb246WzQ0OCw1MTIsWyJleHRlcm5hbC1saW5rLXNxdWFyZSJdLCJmMTRjIiwiTTM4NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDB6TTI3MiAyOTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMTEyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTQuMSAwLTEwMyAxMDNjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwxMDMtMTAzIDAgNTQuMXoiXX0sc1B0PUE0ZSxvUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmVycnkiLGljb246WzY0MCw1MTIsW10sImU0ZWEiLCJNMjI0IDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyTDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgNDggMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDEyOC0uMSAwYy4xIC43IC4xIDEuMyAuMSAyIDAgMzAuMi03LjYgNTkuOC0yMiA4Ni4zbC0xMi43IDIzLjMtLjYgMWMtMjIuMy0xMS4zLTQ2LjUtMTYuOC03MC44LTE2LjctMzIuNSAuMi02NC45IDEwLjctOTIuNCAzMS40LTIyLjEgMTYuNi0yOS4xIDE2LjYtNTEuMiAwLTI4LjEtMjEuMS02MS4zLTMxLjYtOTQuNC0zMS40LTIzLjYgLjItNDcuMSA1LjctNjguNyAxNi43bC0uNi0xLTEyLjctMjMuM2MtMTQuNC0yNi41LTIyLTU2LjItMjItODYuMyAwLS43IDAtMS40IC4xLTJsLS4xIDAgMC0xMjhjMC00NC4yIDM1LjgtODAgODAtODBsNDggMCAwLTMyek0xNjAgMjU2bDMyMCAwIDAtMTEyYzAtOC44LTcuMi0xNi0xNi0xNmwtMjg4IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDExMnpNNDAzLjQgNDc2LjFDMzc5LjEgNDk0LjMgMzUxLjEgNTEyIDMyMCA1MTJzLTU5LjEtMTcuNy04My40LTM1LjljLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAwLTIzLjggMTcuOS01NC4xIDM1LjUtODguMSAzNS4zLTIwLjQtLjEtNDAuNy02LjctNTkuOC0yMS4xLTEwLjYtOC0xMi43LTIzLTQuNy0zMy42czIzLTEyLjcgMzMuNi00LjdjMTEuMyA4LjUgMjEuNiAxMS40IDMxLjIgMTEuNSAxNy42IC4xIDM3LjMtOS40IDU4LjktMjUuNyAzOC40LTI5IDkwLjUtMjkgMTI5IDAgMjQgMTguMSA0MC43IDI2LjMgNTQuNSAyNi4zczMwLjUtOC4yIDU0LjUtMjYuM2MzOC40LTI5IDkwLjUtMjkgMTI5IDAgMTYuOSAxMi43IDMyLjkgMjEuNSA0Ny44IDI0LjYgMTMuNyAyLjggMjcuNCAuOSA0Mi4zLTEwLjMgMTAuNi04IDI1LjYtNS45IDMzLjYgNC43czUuOSAyNS42LTQuNyAzMy42Yy0yNi40IDE5LjktNTQuMiAyNC40LTgwLjcgMTkuMS0yNS4zLTUuMS00OC4xLTE4LjktNjcuMi0zMy4zLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAweiJdfSxuUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9zcXVpdG8iLGljb246WzU3Niw1MTIsW10sImU1MmIiLCJNMTc4LjUgNDk1LjJjLTcuNSA5LjYtMjEgMTIuMS0zMS4zIDUuM1MxMzMuNSA0ODAgMTM4LjkgNDY5bDEuMi0yLjIgMzYuMi01OCAwLTQxIC4zLTRjLjYtMy45IDIuMi03LjcgNC42LTEwLjlsMzkuMy01Mi4yLTY2LjIgNTkuNWMtMTcgMTUuMy0zOSAyMy43LTYxLjkgMjMuOGwtOC4xIDBjLTQ2LjYgMC04NC40LTM3LjgtODQuNC04NC40IDAtNDMgMzIuNC03OS4yIDc1LjEtODMuOWwxMzAuNS0xNC41LTQ0LjgtMzguMy0yLjQtMi40Yy01LjMtNi03LjMtMTQuNC01LjMtMjIuM2wxMy4zLTUzLjQtMjUuOS0zOC45LTEuMy0yLjFjLTUuOC0xMC44LTIuNy0yNC42IDcuNC0zMS43IDEwLjEtNy4xIDIzLjctNS4xIDMxLjQgNC4zbDEuNSAyIDMyIDQ4IDEuNCAyLjJjMi44IDUuMyAzLjUgMTEuNiAyLjEgMTcuNmwtMTIuMyA0OS4yIDUzLjMgNDUuNyAwLTI4LjhjMC0xMS44IDYuNS0yMi4xIDE2LTI3LjdsMC02MC41IC4zLTMuM2MxLjUtNy4zIDgtMTIuNyAxNS43LTEyLjdzMTQuMiA1LjUgMTUuNyAxMi43bC4zIDMuMiAwIDYwLjVjOS42IDUuNSAxNiAxNS44IDE2IDI3LjdsMCAyOC45IDUzLjQtNDUuOC0xMi4zLTQ5LjJjLTEuNS01LjktLjctMTIuMiAyLjEtMTcuNmwxLjQtMi4yIDMyLTQ4IDEuNS0yYzcuNy05LjQgMjEuMy0xMS41IDMxLjQtNC4zIDEwLjEgNy4xIDEzLjEgMjAuOSA3LjQgMzEuN2wtMS4zIDIuMS0yNS45IDM4LjkgMTMuMyA1My40YzIgOC0uMSAxNi4zLTUuMyAyMi4zbC0yLjQgMi40LTQ0LjcgMzguMyAxMzAuNSAxNC41YzQyLjggNC44IDc1LjEgNDAuOSA3NS4xIDgzLjkgMCA0Ni42LTM3LjggODQuNC04NC40IDg0LjRsLTguMSAwYy0yMi44IDAtNDQuOS04LjUtNjEuOS0yMy44bC02Ni4xLTU5LjUgMzkuMiA1Mi4yYzIuNCAzLjIgNCA3IDQuNiAxMC45bC4zIDQgMCA0MSAzNi4yIDU4IDEuMiAyLjFjNS40IDExIDIgMjQuNy04LjMgMzEuNXMtMjMuOCA0LjQtMzEuMy01LjNsLTEuNC0yLTQwLTY0LTEuNi0zLjFjLTEuNC0zLjEtMi4xLTYuNi0yLjEtMTAuMWwwLTM5LjgtMzIuNC00My4xIDAgNzQuN2MwIDE3LjctMTQuMyAzMi0zMiAzMi0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTc0LjYtMzIuMyA0MyAwIDM5LjhjMCAzLjUtLjcgNi45LTIuMSAxMC4xbC0xLjYgMy4xLTQwIDY0LTEuNCAyeiJdfSxsUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctY2lyY2xlLWFycm93LXJpZ2h0IixpY29uOls1NzYsNTEyLFtdLCJlNGQxIiwiTTMyIDY0QzMyIDI4LjcgNjAuNyAwIDk2IDBMMzUyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNDQuN2MtMzUuNyAyLjktNjguNSAxNS42LTk2IDM1LjRsMC00YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDQgMGMtMTMuOCAxOS4yLTI0LjEgNDEtMzAuMSA2NC41LTEuOS0uNC0zLjktLjUtNS45LS41bC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDgwIDc0LjkgMGM2LjEgMTcuMyAxNC42IDMzLjQgMjUuMSA0OEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDMyIDY0ek0xNDQgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMTEyIDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTE0NCAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNMjg4IDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0xNDAuNy02Ny4zYy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNmwyOC43IDI4LjctODkuNCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDg5LjQgMC0yOC43IDI4LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGw1Ni01NmM2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtNTYtNTZjLTYuMi02LjItMTYuNC02LjItMjIuNiAweiJdfSxQNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGVmdC1yaWdodCIsaWNvbjpbNTEyLDUxMixbODU5NiwiYXJyb3dzLWFsdC1oIl0sImYzMzciLCJNNTAyLjYgNDA2LjZsLTk2IDk2Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOVMzNTIgNDkyLjkgMzUyIDQ4MGwwLTY0LTMyMCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyMCAwIDAtNjRjMC0xMi45IDcuOC0yNC42IDE5LjgtMjkuNnMyNS43LTIuMiAzNC45IDYuOWw5NiA5NmMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3pNOS40IDE1MC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w5Ni05NmM5LjItOS4yIDIyLjktMTEuOSAzNC45LTYuOVMxNjAgMTkuMSAxNjAgMzJsMCA2NCAzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIwIDAgMCA2NGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOWwtOTYtOTZ6Il19LGNQdD1QNGUsZFB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpcnVzIixpY29uOls1MTIsNTEyLFtdLCJlMDc0IiwiTTI5NiA0MGMwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MGMwIDQ0LjEtNTMuMyA2Ni4xLTg0LjUgMzUtMTUuNi0xNS42LTQwLjktMTUuNi01Ni42IDBzLTE1LjYgNDAuOSAwIDU2LjZjMzEuMiAzMS4yIDkuMSA4NC41LTM1IDg0LjUtMjIuMSAwLTQwIDE3LjktNDAgNDBzMTcuOSA0MCA0MCA0MGM0NC4xIDAgNjYuMSA1My4zIDM1IDg0LjUtMTUuNiAxNS42LTE1LjYgNDAuOSAwIDU2LjZzNDAuOSAxNS42IDU2LjYgMGMzMS4yLTMxLjIgODQuNS05LjEgODQuNSAzNSAwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwYzAtNDQuMSA1My4zLTY2LjEgODQuNS0zNSAxNS42IDE1LjYgNDAuOSAxNS42IDU2LjYgMHMxNS42LTQwLjkgMC01Ni42Yy0zMS4yLTMxLjItOS4xLTg0LjUgMzUtODQuNSAyMi4xIDAgNDAtMTcuOSA0MC00MHMtMTcuOS00MC00MC00MGMtNDQuMSAwLTY2LjEtNTMuMy0zNS04NC41IDE1LjYtMTUuNiAxNS42LTQwLjkgMC01Ni42cy00MC45LTE1LjYtNTYuNiAwQzM0OS4zIDEwNi4xIDI5NiA4NC4xIDI5NiA0MHpNMTYwIDIyNGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNjAgMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxwUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2VtIixpY29uOls1MTIsNTEyLFsxMjgxNDJdLCJmM2E1IiwiTTExNi43IDMzLjhjNC41LTYuMSAxMS43LTkuOCAxOS4zLTkuOGwyNDAgMGM3LjYgMCAxNC44IDMuNiAxOS4zIDkuOGwxMTIgMTUyYzYuOCA5LjIgNi4xIDIxLjktMS41IDMwLjRsLTIzMiAyNTZjLTQuNSA1LTExIDcuOS0xNy44IDcuOXMtMTMuMi0yLjktMTcuOC03LjlsLTIzMi0yNTZjLTcuNy04LjUtOC4zLTIxLjItMS41LTMwLjRsMTEyLTE1MnptMzguNSAzOS44Yy0zLjMgMi41LTQuMiA3LTIuMSAxMC41TDIxMC41IDE3OS44IDYzLjMgMTkyYy00LjEgLjMtNy4zIDMuOC03LjMgOHMzLjIgNy42IDcuMyA4bDE5MiAxNmMuNCAwIC45IDAgMS4zIDBsMTkyLTE2YzQuMS0uMyA3LjMtMy44IDcuMy04cy0zLjItNy42LTcuMy04bC0xNDcuMi0xMi4zIDU3LjQtOTUuNmMyLjEtMy41IDEuMi04LjEtMi4xLTEwLjVzLTcuOS0yLTEwLjcgMUwyNTYgMTcyLjIgMTY1LjkgNzQuNmMtMi44LTMtNy40LTMuNC0xMC43LTF6Il19LHVQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b2lsZXQiLGljb246WzQ0OCw1MTIsWzEyODcwMV0sImY3ZDgiLCJNMjQgMEMxMC43IDAgMCAxMC43IDAgMjRTMTAuNyA0OCAyNCA0OGw4IDAgMCAxNDguOWMtMS45IDEuNC0zLjggMi45LTUuNiA0LjQtMTUuNSAxMy4yLTI2LjQgMzEuNi0yNi40IDU0LjYgMCA0Ni45IDE0LjMgODQuMSAzNyAxMTIuNSAxNC4yIDE3LjcgMzEuMSAzMS4zIDQ4LjUgNDEuOEw2NS42IDQ2OS45Yy0zLjMgOS44LTEuNiAyMC41IDQuNCAyOC44Uzg1LjcgNTEyIDk2IDUxMmwyNTYgMGMxMC4zIDAgMTkuOS00LjkgMjYtMTMuM3M3LjctMTkuMSA0LjQtMjguOGwtMTkuOC01OS41YzE3LjQtMTAuNSAzNC4zLTI0LjEgNDguNS00MS44IDIyLjctMjguNCAzNy02NS41IDM3LTExMi41IDAtMjMuMS0xMC45LTQxLjUtMjYuNC01NC42LTEuOC0xLjUtMy43LTMtNS42LTQuNGwwLTE0OC45IDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNFM0MzcuMyAwIDQyNCAwTDI0IDB6TTk2IDgwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZ6TTIyNCAyODhjLTg4LjQgMC0xNjAtMTQuMy0xNjAtMzJzNzEuNi0zMiAxNjAtMzIgMTYwIDE0LjMgMTYwIDMyLTcxLjYgMzItMTYwIDMyeiJdfSxmUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2luZ2xlLXF1b3RlLWxlZnQiLGljb246WzE5Miw1MTIsW10sImU4MWIiLCJNMTI4IDk2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC04IDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgOCA2NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTY0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjE2QzAgMTQ5LjcgNTMuNyA5NiAxMjAgOTZsOCAweiJdfSxoUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9uZXktYmlsbHMiLGljb246WzU3Niw1MTIsW10sImUxZjMiLCJNMTYwIDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDIyNGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzNTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIyNGMwLTM1LjMtMjguNy02NC02NC02NEwxNjAgMzJ6bTE3NiA5NmE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpNMTYwIDE1MmwwLTQ4YzAtNC40IDMuNi04IDgtOGw0OCAwYzQuNCAwIDguMSAzLjYgNy41IDgtMy42IDI5LTI2LjYgNTEuOS01NS41IDU1LjUtNC40IC41LTgtMy4xLTgtNy41em0wIDExMmMwLTQuNCAzLjYtOC4xIDgtNy41IDI5IDMuNiA1MS45IDI2LjYgNTUuNSA1NS41IC41IDQuNC0zLjEgOC03LjUgOGwtNDggMGMtNC40IDAtOC0zLjYtOC04bDAtNDh6TTUwNCAxNTkuNWMtMjktMy42LTUxLjktMjYuNi01NS41LTU1LjUtLjUtNC40IDMuMS04IDcuNS04bDQ4IDBjNC40IDAgOCAzLjYgOCA4bDAgNDhjMCA0LjQtMy42IDguMS04IDcuNXpNNTEyIDI2NGwwIDQ4YzAgNC40LTMuNiA4LTggOGwtNDggMGMtNC40IDAtOC4xLTMuNi03LjUtOCAzLjYtMjkgMjYuNi01MS45IDU1LjUtNTUuNSA0LjQtLjUgOCAzLjEgOCA3LjV6TTQ4IDE1MmMwLTEzLjMtMTAuNy0yNC0yNC0yNFMwIDEzOC43IDAgMTUyTDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM5MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDY0IDQzMmMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjY0eiJdfSxtUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGV0LWJ1dHRvbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjEwYSIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek0yMjQgNDAwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sbzc9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmVjdGFuZ2xlLXhtYXJrIixpY29uOls1MTIsNTEyLFs2MjE2NCwicmVjdGFuZ2xlLXRpbWVzIiwidGltZXMtcmVjdGFuZ2xlIiwid2luZG93LWNsb3NlIl0sImY0MTAiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6TTE2NyAxNjdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsNTUgNTUgNTUtNTVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC01NSA1NSA1NSA1NWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC01NS01NS01NSA1NWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw1NS01NS01NS01NWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6Il19LGdQdD1vNyxiUHQ9bzcsdlB0PW83LHhQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3cmVuY2giLGljb246WzU3Niw1MTIsWzEyODI5NV0sImYwYWQiLCJNNTA5LjQgOTguNmM3LjYtNy42IDIwLjMtNS43IDI0LjEgNC4zIDYuOCAxNy43IDEwLjUgMzcgMTAuNSA1Ny4xIDAgODguNC03MS42IDE2MC0xNjAgMTYwLTE3LjUgMC0zNC40LTIuOC01MC4yLThMMTQ2LjkgNDk4LjljLTI4LjEgMjguMS03My43IDI4LjEtMTAxLjggMHMtMjguMS03My43IDAtMTAxLjhMMjMyIDIxMC4yYy01LjItMTUuOC04LTMyLjYtOC01MC4yIDAtODguNCA3MS42LTE2MCAxNjAtMTYwIDIwLjEgMCAzOS40IDMuNyA1Ny4xIDEwLjUgMTAgMy44IDExLjggMTYuNSA0LjMgMjQuMWwtODguNyA4OC43Yy0zIDMtNC43IDcuMS00LjcgMTEuM2wwIDQxLjRjMCA4LjggNy4yIDE2IDE2IDE2bDQxLjQgMGM0LjIgMCA4LjMtMS43IDExLjMtNC43bDg4LjctODguN3oiXX0sazc9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJhc2gtY2FuIixpY29uOls0NDgsNTEyLFs2MTQ2MCwidHJhc2gtYWx0Il0sImYyZWQiLCJNMTM2LjcgNS45QzE0MS4xLTcuMiAxNTMuMy0xNiAxNjcuMS0xNmwxMTMuOSAwYzEzLjggMCAyNiA4LjggMzAuNCAyMS45TDMyMCAzMiA0MTYgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NFMxNC4zIDMyIDMyIDMybDk2IDAgOC43LTI2LjF6TTMyIDE0NGwzODQgMCAwIDMwNGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzA0em04OCA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxOTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE5MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHptMTA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTkyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xOTJjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTEwNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE5MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTkyYzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSx5UHQ9azcsRTRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxlLWNlbGxzIixpY29uOls0NDgsNTEyLFsidGgiXSwiZjAwYSIsIk0zODQgOTZsMCA2NC02NCAwIDAtNjQgNjQgMHptMCAxMjhsMCA2NC02NCAwIDAtNjQgNjQgMHptMCAxMjhsMCA2NC02NCAwIDAtNjQgNjQgMHpNMjU2IDI4OGwtNjQgMCAwLTY0IDY0IDAgMCA2NHptLTY0IDY0bDY0IDAgMCA2NC02NCAwIDAtNjR6bS02NC02NGwtNjQgMCAwLTY0IDY0IDAgMCA2NHpNNjQgMzUybDY0IDAgMCA2NC02NCAwIDAtNjR6bTAtMTkybDAtNjQgNjQgMCAwIDY0LTY0IDB6bTEyOCAwbDAtNjQgNjQgMCAwIDY0LTY0IDB6TTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6Il19LHdQdD1FNGUsTVB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJpYmJvbiIsaWNvbjpbMzg0LDUxMixbMTI3ODk1XSwiZjRkNiIsIk0yMzUuMSAwYzMzLjQgMCA2NC41IDE3LjQgODEuOSA0NS45IDEuMiAyIDEzIDIxLjMgMzUuMyA1Ny44IDIxLjEgMzQuNSAxOC4zIDc4LjUtNyAxMTBMMjc4LjMgMjk3LjcgMzY0LjUgNDA2YzUuNSA2LjkgNC40IDE2LjktMi41IDIyLjVsLTgwIDY0Yy02LjkgNS41LTE3IDQuNC0yMi41LTIuNUwzOC42IDIxMy44QzEzLjMgMTgyLjMgMTAuNSAxMzguMyAzMS42IDEwMy44IDU0IDY3LjIgNjUuNyA0Ny45IDY3IDQ1LjkgODQuNCAxNy40IDExNS40IDAgMTQ4LjkgMGw4Ni4zIDB6TTE5MiAxODkuMmw0OC42LTYxLjItOTcuMyAwIDQ4LjYgNjEuMnpNNzUgMzM2LjJsODYuMiAxMDcuOC0zNi44IDQ2Yy01LjUgNi45LTE1LjYgOC0yMi41IDIuNWwtODAtNjRjLTYuOS01LjUtOC0xNS42LTIuNS0yMi41TDc1IDMzNi4yeiJdfSxrUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFuZG1hcmstZmxhZyIsaWNvbjpbNTEyLDUxMixbXSwiZTUxYyIsIk0zNTItMzJMMjQwLTMyYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNDQtMTc2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYgMCAwIDIyNC01MS4yIDM4LjRDNC43IDQ2MC40IDAgNDY5LjkgMCA0ODAgMCA0OTcuNyAxNC4zIDUxMiAzMiA1MTJsNDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzIgMC0xMC4xLTQuNy0xOS42LTEyLjgtMjUuNmwtNTEuMi0zOC40IDAtMjI0IDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE5MiAwIDAtNjQgODAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZ6bTQ4IDIyNGwwIDIyNC02NCAwIDAtMjI0IDY0IDB6bS0xMTIgMGwwIDIyNC02NCAwIDAtMjI0IDY0IDB6bS0xMTIgMGwwIDIyNC02NCAwIDAtMjI0IDY0IDB6Il19LEk0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1cC1kb3duLWxlZnQtcmlnaHQiLGljb246WzUxMiw1MTIsWyJhcnJvd3MtYWx0Il0sImYwYjIiLCJNMjc4LjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45UzE3OS4xIDEyOCAxOTIgMTI4bDMyIDAgMCA5Ni05NiAwIDAtMzJjMC0xMi45LTcuOC0yNC42LTE5LjgtMjkuNnMtMjUuNy0yLjItMzQuOSA2LjlsLTY0IDY0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGM5LjIgOS4yIDIyLjkgMTEuOSAzNC45IDYuOVMxMjggMzMyLjkgMTI4IDMyMGwwLTMyIDk2IDAgMCA5Ni0zMiAwYy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOWw2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw2NC02NGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVMzMzIuOSAzODQgMzIwIDM4NGwtMzIgMCAwLTk2IDk2IDAgMCAzMmMwIDEyLjkgNy44IDI0LjYgMTkuOCAyOS42czI1LjcgMi4yIDM0LjktNi45bDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtOS4yLTkuMi0yMi45LTExLjktMzQuOS02LjlTMzg0IDE3OS4xIDM4NCAxOTJsMCAzMi05NiAwIDAtOTYgMzIgMGMxMi45IDAgMjQuNi03LjggMjkuNi0xOS44czIuMi0yNS43LTYuOS0zNC45bC02NC02NHoiXX0selB0PUk0ZSxTUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyLXNpZGUiLGljb246WzY0MCw1MTIsWzEyODY2M10sImY1ZTQiLCJNMTQ3IDEwNi43bC0yOS44IDg1LjMgMTIyLjkgMCAwLTk2LTc3LjkgMGMtNi44IDAtMTIuOSA0LjMtMTUuMSAxMC43ek00OC42IDE5My45TDg2LjUgODUuNkM5Ny44IDUzLjUgMTI4LjEgMzIgMTYyLjEgMzJMMzYwIDMyYzI1LjIgMCA0OC45IDExLjkgNjQgMzJsOTYuMiAxMjguM0M1ODcuMSAxOTYuNSA2NDAgMjUyLjEgNjQwIDMyMGwwIDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0xNi40IDBjLTQgNDQuOS00MS43IDgwLTg3LjYgODBzLTgzLjYtMzUuMS04Ny42LTgwbC0xNDQuNyAwYy00IDQ0LjktNDEuNyA4MC04Ny42IDgwcy04My42LTM1LjEtODcuNi04MGwtLjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC04MGMwLTMwLjEgMjAuNy01NS4zIDQ4LjYtNjIuMXpNNDQwIDE5MmwtNjcuMi04OS42Yy0zLTQtNy44LTYuNC0xMi44LTYuNGwtNzIgMCAwIDk2IDE1MiAwek0xNTIgNDMyYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHptMzYwLTQwYTQwIDQwIDAgMSAwIC04MCAwIDQwIDQwIDAgMSAwIDgwIDB6Il19LE40ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFzaC1hcnJvdy11cCIsaWNvbjpbNDQ4LDUxMixbInRyYXNoLXJlc3RvcmUiXSwiZjgyOSIsIk0xNjcuMS0xNmwxMTMuOSAwYzEzLjggMCAyNiA4LjggMzAuNCAyMS45TDMyMCAzMiA0MTYgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NFMxNC4zIDMyIDMyIDMybDk2IDAgOC43LTI2LjFDMTQxLjEtNy4yIDE1My4zLTE2IDE2Ny4xLTE2ek0zMiAxNDRsMzg0IDAtMjEuMSAzMjMuMUMzOTMuMyA0OTIuNCAzNzIuMyA1MTIgMzQ3IDUxMkwxMDEgNTEyYy0yNS4zIDAtNDYuMy0xOS42LTQ3LjktNDQuOUwzMiAxNDR6bTIwOSA3OWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBsLTcyIDcyYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMzEtMzEgMCAxMDIuMWMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTAyLjEgMzEgMzFjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC03Mi03MnoiXX0sQ1B0PU40ZSxfUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlmZS1yaW5nIixpY29uOls1MTIsNTEyLFtdLCJmMWNkIiwiTTM2Ny4yIDQxMi41QzMzNS45IDQzNC45IDI5Ny41IDQ0OCAyNTYgNDQ4cy03OS45LTEzLjEtMTExLjItMzUuNWw1OC01OGMxNS44IDguNiAzNCAxMy41IDUzLjMgMTMuNXMzNy40LTQuOSA1My4zLTEzLjVsNTggNTh6bTkwLjcgLjhjMzMuOC00My40IDU0LTk4IDU0LTE1Ny4zUzQ5MS44IDE0Mi4xIDQ1OCA5OC43YzktMTIuNSA3LjktMzAuMS0zLjQtNDEuM1M0MjUuOCA0NSA0MTMuMyA1NEMzNjkuOSAyMC4yIDMxNS4zIDAgMjU2IDBTMTQyLjEgMjAuMiA5OC43IDU0Yy0xMi41LTktMzAuMS03LjktNDEuMyAzLjRTNDUgODYuMiA1NCA5OC43QzIwLjIgMTQyLjEgMCAxOTYuNyAwIDI1NlMyMC4yIDM2OS45IDU0IDQxMy4zYy05IDEyLjUtNy45IDMwLjEgMy40IDQxLjNTODYuMiA0NjcgOTguNyA0NThjNDMuNCAzMy44IDk4IDU0IDE1Ny4zIDU0czExMy45LTIwLjIgMTU3LjMtNTRjMTIuNSA5IDMwLjEgNy45IDQxLjMtMy40czEyLjQtMjguOCAzLjQtNDEuM3ptLTQ1LjUtNDYuMWwtNTgtNThjOC42LTE1LjggMTMuNS0zNCAxMy41LTUzLjNzLTQuOS0zNy40LTEzLjUtNTMuM2w1OC01OEM0MzQuOSAxNzYuMSA0NDggMjE0LjUgNDQ4IDI1NnMtMTMuMSA3OS45LTM1LjUgMTExLjJ6TTM2Ny4yIDk5LjVsLTU4IDU4Yy0xNS44LTguNi0zNC0xMy41LTUzLjMtMTMuNXMtMzcuNCA0LjktNTMuMyAxMy41bC01OC01OEMxNzYuMSA3Ny4xIDIxNC41IDY0IDI1NiA2NHM3OS45IDEzLjEgMTExLjIgMzUuNXpNMTU3LjUgMzA5LjNsLTU4IDU4Qzc3LjEgMzM1LjkgNjQgMjk3LjUgNjQgMjU2czEzLjEtNzkuOSAzNS41LTExMS4ybDU4IDU4Yy04LjYgMTUuOC0xMy41IDM0LTEzLjUgNTMuM3M0LjkgMzcuNCAxMy41IDUzLjN6TTIwOCAyNTZhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHoiXX0sVFB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvcHlyaWdodCIsaWNvbjpbNTEyLDUxMixbMTY5XSwiZjFmOSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjA1LjEgMzA2LjljMjguMSAyOC4xIDczLjcgMjguMSAxMDEuOCAwIDkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWMtNDYuOSA0Ni45LTEyMi44IDQ2LjktMTY5LjcgMHMtNDYuOS0xMjIuOCAwLTE2OS43IDEyMi44LTQ2LjkgMTY5LjcgMGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwYy0yOC4xLTI4LjEtNzMuNy0yOC4xLTEwMS44IDBzLTI4LjEgNzMuNyAwIDEwMS44eiJdfSxMUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1wcmVzY3JpcHRpb24iLGljb246WzM4NCw1MTIsW10sImY1NzIiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTg4IDE5MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxNDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwIDIyLjUgMCA1OC40IDU1LTMzLjQgMzEuNmMtOS42IDkuMS0xMC4xIDI0LjMtLjkgMzMuOXMyNC4zIDEwLjEgMzMuOSAuOWwzNS40LTMzLjUgMzUuNiAzMy41YzkuNyA5LjEgMjQuOCA4LjYgMzMuOS0xczguNi0yNC44LTEtMzMuOWwtMzMuNi0zMS42IDMzLjYtMzEuOGM5LjYtOS4xIDEwLjEtMjQuMyAuOS0zMy45cy0yNC4zLTEwLjEtMzMuOS0uOWwtMzUuNyAzMy43LTQwLjktMzguNWMxMi45LTExLjcgMjEuMS0yOC42IDIxLjEtNDcuNSAwLTM1LjMtMjguNy02NC02NC02NGwtNTYgMHptMzIgODBsLTggMCAwLTMyIDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTI0IDB6Il19LCRQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlcmFzZXIiLGljb246WzU3Niw1MTIsW10sImYxMmQiLCJNMTc4LjUgNDE2bDEyMyAwIDY1LjMtNjUuMy0xNzMuNS0xNzMuNS0xMjYuNyAxMjYuNyAxMTIgMTEyek0yMjQgNDgwbC00NS41IDBjLTE3IDAtMzMuMy02LjctNDUuMy0xOC43TDE3IDM0NUM2LjEgMzM0LjEgMCAzMTkuNCAwIDMwNHM2LjEtMzAuMSAxNy00MUwyNjMgMTdDMjczLjkgNi4xIDI4OC42IDAgMzA0IDBzMzAuMSA2LjEgNDEgMTdMNTI3IDE5OWMxMC45IDEwLjkgMTcgMjUuNiAxNyA0MXMtNi4xIDMwLjEtMTcgNDFsLTEzNSAxMzUgMTIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI4OCAweiJdfSxSNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91cmdsYXNzLXN0YXJ0IixpY29uOlszODQsNTEyLFsiaG91cmdsYXNzLTEiXSwiZjI1MSIsIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlMxNC4zIDY0IDMyIDY0bDAgMTFjMCA0Mi40IDE2LjkgODMuMSA0Ni45IDExMy4xbDY3LjkgNjcuOS02Ny45IDY3LjlDNDguOSAzNTMuOSAzMiAzOTQuNiAzMiA0MzdsMCAxMWMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTExYzAtNDIuNC0xNi45LTgzLjEtNDYuOS0xMTMuMWwtNjcuOS02Ny45IDY3LjktNjcuOWMzMC0zMCA0Ni45LTcwLjcgNDYuOS0xMTMuMWwwLTExYzE3LjcgMCAzMi0xNC4zIDMyLTMyUzM2OS43IDAgMzUyIDBMMzIgMHpNMjg4IDQzN2wwIDExLTE5MiAwIDAtMTFjMC0yNS41IDEwLjEtNDkuOSAyOC4xLTY3LjlsNjcuOS02Ny45IDY3LjkgNjcuOWMxOCAxOCAyOC4xIDQyLjQgMjguMSA2Ny45eiJdfSxEUHQ9UjRlLEY0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtbGVmdCIsaWNvbjpbNTEyLDUxMixbNjE4NDAsImFycm93LWFsdC1jaXJjbGUtbGVmdCJdLCJmMzU5IiwiTTUxMiAyNTZhMjU2IDI1NiAwIDEgMCAtNTEyIDAgMjU2IDI1NiAwIDEgMCA1MTIgMHpNMTI0LjcgMjQ0LjdsMTA0LTEwNGM0LjYtNC42IDExLjUtNS45IDE3LjQtMy41czkuOSA4LjMgOS45IDE0LjhsMCA1NiA5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDAgMCA1NmMwIDYuNS0zLjkgMTIuMy05LjkgMTQuOHMtMTIuOSAxLjEtMTcuNC0zLjVsLTEwNC0xMDRjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42eiJdfSxBUHQ9RjRlLFBQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjcnV6ZWlyby1zaWduIixpY29uOls0NDgsNTEyLFtdLCJlMTUyIiwiTTI0MCA5NmMtODguNCAwLTE2MCA3MS42LTE2MCAxNjAgMCA3MS42IDQ3LjEgMTMyLjMgMTEyIDE1Mi43TDE5MiAyNTZjMC0xMy4zIDEwLjctMjQgMjQtMjQgMTIuOCAwIDIzLjMgMTAuMSAyNCAyMi43IDE1LjUtOS41IDMzLjUtMTQuNyA1Mi4zLTE0LjdsMTEuOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMS44IDBjLTE4LjggMC0zNi4xIDEwLTQ1LjQgMjYuMy00LjUgNy45LTYuOSAxNi44LTYuOSAyNS45bDAgNzUuOGM0Mi41IDAgODEuMS0xNi42IDEwOS44LTQzLjYgMTIuOS0xMi4xIDMzLjEtMTEuNSA0NS4yIDEuM3MxMS41IDMzLjEtMS4zIDQ1LjJDMzUzLjcgNDU2LjggMjk5LjUgNDgwIDI0MCA0ODAgMTE2LjMgNDgwIDE2IDM3OS43IDE2IDI1NlMxMTYuMyAzMiAyNDAgMzJjNTkuNSAwIDExMy43IDIzLjIgMTUzLjcgNjEuMSAxMi45IDEyLjEgMTMuNCAzMi40IDEuMyA0NS4ycy0zMi40IDEzLjQtNDUuMiAxLjNDMzIxLjEgMTEyLjYgMjgyLjUgOTYgMjQwIDk2eiJdfSxFUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic21va2luZyIsaWNvbjpbNTc2LDUxMixbMTI4Njg0XSwiZjQ4ZCIsIk0zNjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDE5YzAgNDAuMyAxNiA3OSA0NC41IDEwNy41bDIxIDIxQzQ2OSAxOTEgNDgwIDIxNy40IDQ4MCAyNDVsMCAxOWMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE5YzAtMTQuOS01LjktMjkuMS0xNi40LTM5LjZsLTIxLTIxQzM1Ny4xIDE0Ni45IDMzNiA5NiAzMzYgNDNsMC0xOWMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNNTUyIDI4OGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC0xOWMwLTQwLjMtMTYtNzktNDQuNS0xMDcuNWwtMjEtMjFDNDQzIDk3IDQzMiA3MC42IDQzMiA0M2wwLTE5YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxOWMwIDE0LjkgNS45IDI5LjEgMTYuNCAzOS42bDIxIDIxQzU1NC45IDE0MS4xIDU3NiAxOTIgNTc2IDI0NWwwIDE5YzAgMTMuMy0xMC43IDI0LTI0IDI0ek0zMjAgNDQ4bDk2IDAgMC0zMi05NiAwIDAgMzJ6TTAgNDE2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTMyem01NzYtNDBsMCAxMTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMTJjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHoiXX0sTzRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1wb2xsLXZlcnRpY2FsIixpY29uOls0NDgsNTEyLFsicG9sbCJdLCJmNjgxIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTU2IDE5MmMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDExMmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTExMmMwLTEzLjMgMTAuNy0yNCAyNC0yNHptMTg0IDg4YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQ4ek0yMjQgMTI4YzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjA4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMjA4YzAtMTMuMyAxMC43LTI0IDI0LTI0eiJdfSxJUHQ9TzRlLE5QdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tY2lyY2xlLW1pbnVzIixpY29uOls2NDAsNTEyLFtdLCJlNTQwIiwiTTI4MCAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43TDM0MSAyODYuNmMxMi44LTE3LjUgMjguNS0zMi43IDQ2LjMtNDVsLTU2LjItNzUuN0MzMDYgMTMyIDI2Ni4zIDExMiAyMjQgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTQ0IDIzNi43IDE0NCA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3pNNjQwIDQwMGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tNjQgMGMwIDguOC03LjIgMTYtMTYgMTZsLTEyOCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDEyOCAwYzguOCAwIDE2IDcuMiAxNiAxNnoiXX0sUlB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJpb2hhemFyZCIsaWNvbjpbNTc2LDUxMixbOTc2M10sImY3ODAiLCJNMjYwIDEyLjZjMC04LjMtNy42LTE0LjUtMTUuNS0xMi4xLTYwLjkgMTguOC0xMDUuMSA3NS44LTEwNS4xIDE0My4xIDAgMjUuMSA2LjEgNDguNyAxNyA2OS41LTIxIDEuOC00MiA4LjItNjEuNSAxOS41LTU3LjkgMzMuNi04NC44IDEwMC4yLTcwLjkgMTYyLjUgMS45IDguNCAxMS40IDEyIDE4LjkgNy42IDUtMi45IDcuNi04LjYgNy4xLTE0LjQtLjMtMy4zLS40LTYuNi0uNC0xMC4xIDAtMTIzLjUgMTg0LjQtMTIzLjUgMTg0LjQgMCAwIDg4LjQtOTQuNSAxMTMuNi0xNDguMiA3NS40LTQuNS0zLjItMTAuNS0zLjktMTUuMy0xLjEtNyA0LjEtOC42IDEzLjYtMi43IDE5LjEgNDYuNiA0My44IDExOCA1My45IDE3Ni4xIDIwLjIgMTcuOS0xMC40IDMyLjgtMjMuOSA0NC41LTM5LjQgMTEuNyAxNS42IDI2LjYgMjkuMSA0NC41IDM5LjQgNTguMSAzMy43IDEyOS41IDIzLjYgMTc2LjEtMjAuMiA1LjktNS41IDQuMy0xNS4xLTIuNy0xOS4xLTQuOC0yLjgtMTAuOC0yLjEtMTUuMyAxLjEtNTMuNyAzOC4yLTE0OC4yIDEzLTE0OC4yLTc1LjQgMC0xMjMuNSAxODQuNC0xMjMuNSAxODQuNCAwIDAgMy40LS4xIDYuOC0uNCAxMC4xLS41IDUuOCAyLjEgMTEuNSA3LjEgMTQuNCA3LjQgNC4zIDE3IC44IDE4LjktNy42IDEzLjktNjIuMi0xMy0xMjguOS03MC45LTE2Mi41LTE5LjUtMTEuMy00MC40LTE3LjctNjEuNS0xOS41IDEwLjktMjAuOCAxNy00NC40IDE3LTY5LjUgMC02Ny4zLTQ0LjItMTI0LjMtMTA1LjEtMTQzLjEtNy45LTIuNC0xNS41IDMuOC0xNS41IDEyLjEgMCA1LjkgNCAxMSA5LjUgMTMuMiA4My40IDMzLjYgNzAuOCAxNzguNC0zNy44IDE3OC40UzE2Ny4xIDU5LjQgMjUwLjUgMjUuOGM1LjUtMi4yIDkuNS03LjMgOS41LTEzLjJ6TTI0OC40IDI4OGE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwek00MzUgMzE3LjdjLTE2LjIgMC0zMS40IDUuNS00Mi4xIDE1LTEwLjEgOS4xLTE4LjEgMjMuNC0xOC4xIDQ1LjYgMCAyMS4xIDcuMiAzNSAxNi41IDQ0LjEgMzIuMi0yNC42IDU1LjUtNjAuNSA2My45LTEwMS44LTYuMy0xLjktMTMuMi0zLTIwLjItM3pNMjAyIDM3OC4zYzAtMjIuMy04LTM2LjYtMTguMS00NS42LTEwLjctOS42LTI1LjktMTUtNDIuMS0xNS03IDAtMTMuOSAxLTIwLjIgMyA4LjQgNDEuMyAzMS42IDc3LjIgNjMuOSAxMDEuOCA5LjQtOS4xIDE2LjUtMjMuMSAxNi41LTQ0LjJ6bTQxLjItMjI0LjNjOSAxMC4yIDIzLjIgMTguMiA0NS4yIDE4LjJzMzYuMi04IDQ1LjItMTguMmM2LjctNy42IDExLjUtMTcuNSAxMy42LTI4LjQtMTguMy02LjgtMzguMi0xMC41LTU4LjgtMTAuNXMtNDAuNSAzLjctNTguOCAxMC41YzIuMiAxMC45IDYuOSAyMC44IDEzLjYgMjguNXoiXX0sQjRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJlbGwtY29uY2llcmdlIixpY29uOls1MTIsNTEyLFsxMjg3MTgsImNvbmNpZXJnZS1iZWxsIl0sImY1NjIiLCJNMjE2IDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE2IDAgMCAzMy4zQzEyNC44IDE1Ni43IDQwLjIgMjQzLjcgMzIuNiAzNTJsNDQ2LjkgMEM0NzEuOCAyNDMuNyAzODcuMiAxNTYuNyAyODAgMTQ1LjNsMC0zMy4zIDE2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTgwIDB6TTI0IDQwMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0NjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwyNCA0MDB6Il19LEZQdD1CNGUsT1B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJ1bGVyLWhvcml6b250YWwiLGljb246WzU3Niw1MTIsW10sImY1NDciLCJNNDggMzg0Yy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDE3NmMwLTI2LjUgMjEuNS00OCA0OC00OGwyNCAwIDAgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMDQgNDggMCAwIDcyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC03MiA0OCAwIDAgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMDQgNDggMCAwIDcyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC03MiA0OCAwIDAgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMDQgMjQgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2MGMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCAzODR6Il19LEJQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3JzZSIsaWNvbjpbNTc2LDUxMixbMTI4MDE0XSwiZjZmMCIsIk00NDggMjM4LjFsMC03OC4xIDE2IDAgOS44IDE5LjZjMTIuNSAyNS4xIDQyLjIgMzYuNCA2OC4zIDI2IDIwLjUtOC4yIDMzLjktMjggMzMuOS01MC4xTDU3NiA4MGMwLTE5LjEtOC40LTM2LjMtMjEuNy00OGw1LjcgMGM4LjggMCAxNi03LjIgMTYtMTZTNTY4LjggMCA1NjAgMEw0NDggMEMzNzcuMyAwIDMyMCA1Ny4zIDMyMCAxMjhsLTE3MS4yIDBDMTE4LjEgMTI4IDkxLjIgMTQ0LjMgNzYuMyAxNjguOCAzMy4yIDE3NC41IDAgMjExLjQgMCAyNTZsMCA1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNTZjMC0xMy40IDYuNi0yNS4yIDE2LjctMzIuNSAxLjYgMTMgNi4zIDI1LjQgMTMuNiAzNi40bDI4LjIgNDIuNGM4LjMgMTIuNCA2LjQgMjguNy0xLjIgNDEuNi0xNi41IDI4LTIwLjYgNjIuMi0xMCA5My45bDE3LjUgNTIuNGM0LjQgMTMuMSAxNi42IDIxLjkgMzAuNCAyMS45bDMzLjcgMGMyMS44IDAgMzcuMy0yMS40IDMwLjQtNDIuMWwtMjAuOC02Mi41Yy0yLjEtNi40LS41LTEzLjQgNC4zLTE4LjJsMTIuNy0xMi43YzEzLjItMTMuMiAyMC42LTMxLjEgMjAuNi00OS43IDAtMi4zLS4xLTQuNi0uMy02LjlsODQgMjRjNC4xIDEuMiA4LjIgMi4xIDEyLjMgMi44TDMyMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE2NC4zYzE5LjItMTkuMiAzMS41LTQ1LjcgMzItNzUuN2wwIDAgMC0xLjl6TTQ5NiA2NGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6Il19LEhQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxlbmRhciIsaWNvbjpbNDQ4LDUxMixbMTI4MTk3LDEyODE5OF0sImYxMzMiLCJNMTI4IDBDMTEwLjMgMCA5NiAxNC4zIDk2IDMybDAgMzItMzIgMEMyOC43IDY0IDAgOTIuNyAwIDEyOGwwIDQ4IDQ0OCAwIDAtNDhjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTMyIDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMyLTEyOCAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTAgMjI0TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyLTQ0OCAweiJdfSxxUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZHMtaG9sZGluZy1jaGlsZCIsaWNvbjpbNjQwLDUxMixbXSwiZTRmYSIsIk0zMjAtMzJhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgwek00MCA2NGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDE2MC4yYzAgMTcgNi43IDMzLjMgMTguNyA0NS4zbDUxLjEgNTEuMWM4LjMgOC4zIDIxLjMgOS42IDMxIDMuMSAxMi45LTguNiAxNC43LTI2LjkgMy43LTM3LjgtNy4zLTcuMy0yMy4xLTIzLjEtNDcuMi00Ny4yLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBjMjQuMSAyNC4xIDM5LjkgMzkuOSA0Ny4yIDQ3LjJsMCAwIDI1LjMgMjUuM2MyMSAyMSAzMi44IDQ5LjUgMzIuOCA3OS4ybDAgNzguOWMwIDI2LjUtMjEuNSA0OC00OCA0OGwtNjYuNyAwYy0xNyAwLTMzLjMtNi43LTQ1LjMtMTguN0wyOC4xIDM5My40QzEwLjEgMzc1LjQgMCAzNTEgMCAzMjUuNUwwIDEwNEMwIDgxLjkgMTcuOSA2NCA0MCA2NHptNTYwIDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCAyMjEuNWMwIDI1LjUtMTAuMSA0OS45LTI4LjEgNjcuOUw1MTIgNDkzLjNjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdMNDAwIDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC03OC45YzAtMjkuNyAxMS44LTU4LjIgMzIuOC03OS4ybDI1LjMtMjUuMyAwIDBjNy4zLTcuMyAyMy4xLTIzLjEgNDcuMi00Ny4yIDEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNjLTI0LjEgMjQuMS0zOS45IDM5LjktNDcuMiA0Ny4yLTExIDExLTkuMiAyOS4yIDMuNyAzNy44IDkuNyA2LjUgMjIuNyA1LjIgMzEtMy4xbDUxLjEtNTEuMWMxMi0xMiAxOC43LTI4LjMgMTguNy00NS4zTDU2MCAxMDRjMC0yMi4xIDE3LjktNDAgNDAtNDB6TTM4NC41IDE0OWwtMTkuOC0xNi43IDExLjEgODguOGMxLjYgMTMuMi03LjcgMjUuMS0yMC44IDI2LjhzLTI1LjEtNy43LTI2LjgtMjAuOGwtNC40LTM1LTcuNiAwLTQuNCAzNWMtMS42IDEzLjItMTMuNiAyMi41LTI2LjggMjAuOHMtMjIuNS0xMy42LTIwLjgtMjYuOGwxMS4xLTg4LjgtMTkuOCAxNi43Yy0xMC4xIDguNi0yNS4zIDcuMy0zMy44LTIuOHMtNy4zLTI1LjMgMi44LTMzLjhsMjcuOS0yMy42QzI3MS4zIDcyLjggMjk1LjMgNjQgMzIwIDY0czQ4LjcgOC44IDY3LjYgMjQuN2wyNy45IDIzLjZjMTAuMSA4LjYgMTEuNCAyMy43IDIuOCAzMy44cy0yMy43IDExLjQtMzMuOCAyLjh6Il19LFZQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpdGFsaWMiLGljb246WzM4NCw1MTIsW10sImYwMzMiLCJNMTI4IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC01OC43IDAtMTMzLjMgMzIwIDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDU4LjcgMCAxMzMuMy0zMjAtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LGpQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJraGFuZGEiLGljb246WzUxMiw1MTIsWzk3NzJdLCJmNjZkIiwiTTI0MC43IDhjOC45LTcuNCAyMS44LTcuNCAzMC43IDBsMzcuOCAzMS41YzguNyA3LjMgMTEuMSAxOS42IDYgMjkuNi0xLjIgMi40LTIuOCA1LjUtNC42IDkuMiAzNC4yIDE5LjIgNTcuMyA1NS44IDU3LjMgOTcuOHMtMjMuMSA3OC42LTU3LjMgOTcuOGMxLjggMy43IDMuMyA2LjggNC42IDkuMiA1LjEgMTAgMi43IDIyLjMtNiAyOS42bC0zNy4yIDMxIDAgMTkuOGMyMi45LTE1LjcgNDguNC0zMy4zIDc2LjctNTIuNyA0Mi44LTI5LjQgNjguNC03OCA2OC40LTEzMGwwLTExLjFjMC0yMy45LTcuMS00Ny4zLTIwLjQtNjcuMi01LjEtNy43LTQuNi0xNy44IDEuNy0yNC42IDYuNi03LjEgMTcuMi04LjEgMjUuMi0yLjggMjcuNSAxOC4xIDg5LjQgNjcuNSA4OS40IDE0OS4xIDAgNDYuNS0yMC4yIDg4LjYtNDEuOCAxMjAuNC0yMS42IDMyLTQ1LjYgNTUtNTUuMyA2My44LTcuOCA3LjEtMTkgNy45LTI3LjYgM2wtNzAuOC00MC4zLTMyLjcgMjIuNSA0NS41IDMxLjNjMS44LS40IDMuNy0uNyA1LjctLjcgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTEyLjIgMC0yMi4zLTkuMS0yMy44LTIxbC00MC4yLTI3LjYgMCAyOC45YzkuNiA1LjUgMTYgMTUuOSAxNiAyNy43IDAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyYzAtMTEuOCA2LjQtMjIuMiAxNi0yNy43bDAtMjguMS00MC4zIDI3LjdjLTEuOCAxMS40LTExLjggMjAuMS0yMy43IDIwLjEtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMyLjIgMCA0LjQgLjMgNi41IC45bDQ1LjgtMzEuNS0zMi43LTIyLjUtNzAuOCA0MC4zYy04LjcgNC45LTE5LjggNC4xLTI3LjYtMy05LjctOC44LTMzLjctMzEuOS01NS4zLTYzLjgtMjEuNS0zMS44LTQxLjgtNzMuOS00MS44LTEyMC40IDAtODEuNyA2MS45LTEzMS4xIDg5LjQtMTQ5LjEgOC4xLTUuMyAxOC42LTQuMyAyNS4yIDIuOCA2LjQgNi45IDYuOCAxNyAxLjcgMjQuNi0xMy4zIDE5LjktMjAuNCA0My4zLTIwLjQgNjcuMmwwIDExLjFjMCA1MS45IDI1LjYgMTAwLjYgNjguNCAxMzAgMjguNCAxOS42IDUzLjcgMzYuOSA3NS42IDUybDAtMTkuMS0zNy4yLTMxYy04LjctNy4zLTExLjEtMTkuNi02LTI5LjYgMS4yLTIuNCAyLjgtNS41IDQuNi05LjItMzQuMi0xOS4yLTU3LjMtNTUuOC01Ny4zLTk3LjhzMjMuMS03OC42IDU3LjMtOTcuOGMtMS44LTMuNy0zLjMtNi44LTQuNi05LjItNS4xLTEwLTIuNy0yMi4zIDYtMjkuNkwyNDAuNyA4ek0yMjAuMyAxMjIuOWMtMTcgMTEuNS0yOC4yIDMxLTI4LjIgNTMuMXMxMS4yIDQxLjYgMjguMiA1My4xYzYuOC0xOS4yIDExLjgtMzguNCAxMS44LTUzLjFzLTQuOS0zMy45LTExLjgtNTMuMXptNzEuNSAxMDYuMmMxNy0xMS41IDI4LjItMzEgMjguMi01My4xcy0xMS4yLTQxLjYtMjguMi01My4xYy02LjggMTkuMi0xMS44IDM4LjQtMTEuOCA1My4xczQuOSAzMy45IDExLjggNTMuMXoiXX0sSDRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZnJvd24tb3BlbiIsaWNvbjpbNTEyLDUxMixbMTI4NTUwLCJmcm93bi1vcGVuIl0sImY1N2EiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE3NiAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMTgyLjQgMzgyLjVjLTEyLjQgNS4yLTI2LjUtNC4xLTIxLjEtMTYuNCAxNi0zNi42IDUyLjQtNjIuMSA5NC44LTYyLjFzNzguOCAyNS42IDk0LjggNjIuMWM1LjQgMTIuMy04LjcgMjEuNi0yMS4xIDE2LjQtMjIuNC05LjUtNDcuNC0xNC44LTczLjctMTQuOHMtNTEuMyA1LjMtNzMuNyAxNC44eiJdfSxVUHQ9SDRlLGFaPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZWNrIixpY29uOls0NDgsNTEyLFsxMDAwMywxMDAwNF0sImYwMGMiLCJNNDM0LjggNzAuMWMxNC4zIDEwLjQgMTcuNSAzMC40IDcuMSA0NC43bC0yNTYgMzUyYy01LjUgNy42LTE0IDEyLjMtMjMuNCAxMy4xcy0xOC41LTIuNy0yNS4xLTkuM2wtMTI4LTEyOGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxMDEuNSAxMDEuNSAyMzQtMzIxLjdjMTAuNC0xNC4zIDMwLjQtMTcuNSA0NC43LTcuMXoiXX0sV1B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbmdlcnByaW50IixpY29uOls1MTIsNTEyLFtdLCJmNTc3IiwiTTQ4IDI1NmMwLTExNC45IDkzLjEtMjA4IDIwOC0yMDggNjMuMSAwIDExOS42IDI4LjEgMTU3LjggNzIuNSA4LjYgMTAuMSAyMy44IDExLjIgMzMuOCAyLjZzMTEuMi0yMy44IDIuNi0zMy44QzQwMy4zIDM0LjYgMzMzLjcgMCAyNTYgMCAxMTQuNiAwIDAgMTE0LjYgMCAyNTZsMCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDB6bTQ1OC41LTUyLjljLTIuNy0xMy0xNS41LTIxLjMtMjguNC0xOC41cy0yMS4zIDE1LjUtMTguNSAyOC40YzIuOSAxMy45IDQuNSAyOC4zIDQuNSA0My4xbDAgNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwYzAtMTguMS0xLjktMzUuOC01LjUtNTIuOXpNMjU2IDgwYy0xOSAwLTM3LjQgMy01NC41IDguNi0xNS4yIDUtMTguNyAyMy43LTguMyAzNS45IDcuMSA4LjMgMTguOCAxMC44IDI5LjQgNy45IDEwLjYtMi45IDIxLjgtNC40IDMzLjQtNC40IDcwLjcgMCAxMjggNTcuMyAxMjggMTI4bDAgMjQuOWMwIDI1LjItMS41IDUwLjMtNC40IDc1LjMtMS43IDE0LjYgOS40IDI3LjggMjQuMiAyNy44IDExLjggMCAyMS45LTguNiAyMy4zLTIwLjMgMy4zLTI3LjQgNS01NSA1LTgyLjdsMC0yNC45YzAtOTcuMi03OC44LTE3Ni0xNzYtMTc2ek0xNTAuNyAxNDguN2MtOS4xLTEwLjYtMjUuMy0xMS40LTMzLjktLjQtMjMuMSAyOS44LTM2LjggNjcuMS0zNi44IDEwNy43bDAgMjQuOWMwIDI0LjItMi42IDQ4LjQtNy44IDcxLjktMy40IDE1LjYgNy45IDMxLjEgMjMuOSAzMS4xIDEwLjUgMCAxOS45LTcgMjIuMi0xNy4zIDYuNC0yOC4xIDkuNy01Ni44IDkuNy04NS44bDAtMjQuOWMwLTI3LjIgOC41LTUyLjQgMjIuOS03My4xIDcuMi0xMC40IDgtMjQuNi0uMi0zNC4yek0yNTYgMTYwYy01MyAwLTk2IDQzLTk2IDk2bDAgMjQuOWMwIDM1LjktNC42IDcxLjUtMTMuOCAxMDYuMS0zLjggMTQuMyA2LjcgMjkgMjEuNSAyOSA5LjUgMCAxNy45LTYuMiAyMC40LTE1LjQgMTAuNS0zOSAxNS45LTc5LjIgMTUuOS0xMTkuN2wwLTI0LjljMC0yOC43IDIzLjMtNTIgNTItNTJzNTIgMjMuMyA1MiA1MmwwIDI0LjljMCAzNi4zLTMuNSA3Mi40LTEwLjQgMTA3LjktMi43IDEzLjkgNy43IDI3LjIgMjEuOCAyNy4yIDEwLjIgMCAxOS03IDIxLTE3IDcuNy0zOC44IDExLjYtNzguMyAxMS42LTExOC4xbDAtMjQuOWMwLTUzLTQzLTk2LTk2LTk2em0yNCA5NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI0LjljMCA1OS45LTExIDExOS4zLTMyLjUgMTc1LjJsLTUuOSAxNS4zYy00LjggMTIuNCAxLjQgMjYuMyAxMy44IDMxczI2LjMtMS40IDMxLTEzLjhsNS45LTE1LjNDMjY3LjkgNDExLjkgMjgwIDM0Ni43IDI4MCAyODAuOWwwLTI0Ljl6Il19LEdQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFyZ2luZy1zdGF0aW9uIixpY29uOls1NzYsNTEyLFtdLCJmNWU3IiwiTTY0IDY0QzY0IDI4LjcgOTIuNyAwIDEyOCAwTDI4OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjI0YzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMTJjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0xMjcuN2MtMzIuNS0xMC4yLTU2LTQwLjUtNTYtNzYuM2wwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwIDAtNDhjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDQ4IDMyIDAgMC00OGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNDggMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDM1LjgtMjMuNSA2Ni4xLTU2IDc2LjNMNTIwIDM4MGMwIDM3LjYtMzAuNCA2OC02OCA2OHMtNjgtMzAuNC02OC02OGwwLTEyYzAtMTcuNy0xNC4zLTMyLTMyLTMybDAgMTI5LjRjOS4zIDMuMyAxNiAxMi4yIDE2IDIyLjYgMCAxMy4zLTEwLjcgMjQtMjQgMjRMNzIgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNCAwLTEwLjUgNi43LTE5LjMgMTYtMjIuNkw2NCA2NHptODIuNyAxMjUuN2wzOSAwLTIwLjkgNjYuOWMtMi40IDcuNiAzLjMgMTUuNCAxMS4zIDE1LjQgMi45IDAgNS42LTEgNy44LTIuOWw5NC42LTgyYzMuMS0yLjcgNC45LTYuNiA0LjktMTAuNyAwLTcuOC02LjMtMTQuMS0xNC4xLTE0LjFsLTM5IDAgMjAuOS02Ni45YzIuNC03LjYtMy4zLTE1LjQtMTEuMy0xNS40LTIuOSAwLTUuNiAxLTcuOCAyLjlsLTk0LjYgODJjLTMuMSAyLjctNC45IDYuNi00LjkgMTAuNyAwIDcuOCA2LjMgMTQuMSAxNC4xIDE0LjF6Il19LFlQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLWxvY2siLGljb246WzU3Niw1MTIsW10sImY1MDIiLCJNMjI0IDhhMTIwIDEyMCAwIDEgMSAwIDI0MCAxMjAgMTIwIDAgMSAxIDAtMjQwek0xOTQuMyAzMDRsNTkuNCAwYzI5LjcgMCA1Ny43IDcuMyA4Mi4zIDIwLjFsMCA0LjNjLTE5LjYgMTcuNi0zMiA0My4xLTMyIDcxLjVsMCA5NmMwIDUuNSAuNSAxMC45IDEuMyAxNi4xTDQ1LjcgNTEyQzI5LjMgNTEyIDE2IDQ5OC43IDE2IDQ4Mi4zIDE2IDM4My44IDk1LjggMzA0IDE5NC4zIDMwNHptMzAxLjcgLjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek0zNTIgNDAwYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxxNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9iaWxlLXNjcmVlbi1idXR0b24iLGljb246WzM4NCw1MTIsWyJtb2JpbGUtYWx0Il0sImYzY2QiLCJNMTYgNjRDMTYgMjguNyA0NC43IDAgODAgMEwzMDQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEw4MCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDE2IDY0em02NCAwbDAgMzA0IDIyNCAwIDAtMzA0LTIyNCAwek0xOTIgNDcyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyLTMyIDE0LjMtMzIgMzIgMTQuMyAzMiAzMiAzMnoiXX0sWlB0PXE0ZSxYUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5jaG9yLWNpcmNsZS1jaGVjayIsaWNvbjpbNjQwLDUxMixbXSwiZTRhYSIsIk0zMjAgOTZhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHpNMjg4IDBjLTUzIDAtOTYgNDMtOTYgOTYgMCA0MS44IDI2LjcgNzcuNCA2NCA5MC41bDAgMjU3LjljLTYyLjktMTQuMy0xMTAuMi02OS43LTExMS45LTEzNi41bDE2LjEgMTQuMWMxMCA4LjcgMjUuMSA3LjcgMzMuOS0yLjNzNy43LTI1LjEtMi4zLTMzLjlsLTY0LTU2Yy05LTcuOS0yMi42LTcuOS0zMS42IDBsLTY0IDU2Yy0xMCA4LjctMTEgMjMuOS0yLjMgMzMuOXMyMy45IDExIDMzLjkgMi4zTDgwIDMwNy45YzIuMSAxMTMuMSA5NC40IDIwNC4xIDIwOCAyMDQuMSAxNi42IDAgMzIuNy0xLjkgNDguMi01LjYtMjAuMy0zMC41LTMyLjItNjctMzIuMi0xMDYuNCAwLTI3LjMgNS43LTUzLjMgMTYtNzYuOWwwLTEzNi42YzM3LjMtMTMuMiA2NC00OC43IDY0LTkwLjUgMC01My00My05Ni05Ni05NnpNNjQwIDQwMGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tODYuNi02MC45YzcuMSA1LjIgOC43IDE1LjIgMy41IDIyLjNsLTY0IDg4Yy0yLjggMy44LTcgNi4yLTExLjcgNi41cy05LjMtMS4zLTEyLjYtNC42bC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDI2LjggMjYuOCA1My03Mi45YzUuMi03LjEgMTUuMi04LjcgMjIuNC0zLjV6Il19LFY0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24td2Fsa2luZy13aXRoLWNhbmUiLGljb246WzU3Niw1MTIsWyJibGluZCJdLCJmMjlkIiwiTTIyNC0zMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnpNMTYwIDIwNS4zbC0yMi42IDIyLjZjLTYgNi05LjQgMTQuMS05LjQgMjIuNmwwIDM3LjVjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zNy41YzAtMjUuNSAxMC4xLTQ5LjkgMjguMS02Ny45bDM0LjQtMzQuNGMyMy4yLTIzLjIgNTQuNi0zNi4yIDg3LjMtMzYuMiAzNi4xIDAgNzAuMyAxNS44IDkzLjggNDMuMWw2OC42IDgwYzExLjUgMTMuNCA5LjkgMzMuNi0zLjUgNDUuMXMtMzMuNiA5LjktNDUuMS0zLjVsLTU1LjctNjUgMCAxMTguNiAzNC41IDI5LjZjMTcuNyAxNS4yIDI5LjMgMzYuMiAzMi42IDU5LjNsMTIuNiA4OC4xYzIuNSAxNy41LTkuNyAzMy43LTI3LjIgMzYuMnMtMzMuNy05LjctMzYuMi0yNy4ybC0xMi42LTg4LjFjLTEuMS03LjctNS0xNC43LTEwLjktMTkuOGwtNzEuNC02MS4yYy0yMS4zLTE4LjItMzMuNS00NC45LTMzLjUtNzIuOWwwLTY5LjN6bS4xIDE2NS44YzIuNCAyLjMgNC44IDQuNiA3LjQgNi44bDQ2IDM5LjQtMi4yIDcuNmMtNC41IDE1LjctMTIuOSAzMC0yNC40IDQxLjVsLTY4LjMgNjguM2MtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsNjguMy02OC4zYzMuOC0zLjggNi42LTguNiA4LjEtMTMuOEwxNjAuMSAzNzF6bTIzMy41LTYyLjJjMTAuNi04IDI1LjYtNS44IDMzLjYgNC44bDE0NCAxOTJjOCAxMC42IDUuOCAyNS42LTQuOCAzMy42cy0yNS42IDUuOC0zMy42LTQuOGwtMTQ0LTE5MmMtOC0xMC42LTUuOC0yNS42IDQuOC0zMy42eiJdfSxLUHQ9VjRlLGo0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXdhdmVmb3JtIixpY29uOlszODQsNTEyLFsiZmlsZS1tZWRpY2FsLWFsdCJdLCJmNDc4IiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC05NiA2MC4zIDAgNDguOCA2Mi43YzUuMSA2LjYgMTMuMyAxMCAyMS42IDkuMXMxNS41LTYuMSAxOS4xLTEzLjZsNDIuOS05MS4yIDkuOSAxOS44YzQuMSA4LjEgMTIuNCAxMy4zIDIxLjUgMTMuM2w3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC01Ny4yIDAtMjUuNC01MC43Yy00LjEtOC4yLTEyLjYtMTMuNC0yMS44LTEzLjNzLTE3LjUgNS41LTIxLjQgMTMuOGwtNDcuMyAxMDAuNi0zMi00MS4xQzg2LjQgMzA3LjQgNzkuNCAzMDQgNzIgMzA0TDAgMzA0IDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXoiXX0sUVB0PWo0ZSxKUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY3JhY2siLGljb246WzUxMiw1MTIsW10sImUzYjEiLCJNMjc3LjggOC42Yy0xMi4zLTExLjQtMzEuMy0xMS40LTQzLjUgMGwtMjI0IDIwOGMtOS42IDktMTIuOCAyMi45LTggMzUuMVMxOC44IDI3MiAzMiAyNzJsMTYgMCAwIDE3NmMwIDM1LjMgMjguNyA2NCA2NCA2NGw4Ni40IDAtMzEuMy01Mi4yYy00LjEtNi44LTIuNi0xNS41IDMuNS0yMC41TDI1NiAzNjggMTk1LjggMjg1LjJjLTEwLjktMTUgOC4yLTMzLjUgMjIuOC0yMmwxMTcuOSA5Mi42YzggNi4zIDguMiAxOC40IC40IDI0LjlMMjU2IDQ0OCAyOTQuNCA1MTIgNDAwIDUxMmMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE3NiAxNiAwYzEzLjIgMCAyNS04LjEgMjkuOC0yMC4zczEuNi0yNi4yLTgtMzUuMWwtMjI0LTIwOHoiXX0sZUV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhdC13aXphcmQiLGljb246WzUxMiw1MTIsW10sImY2ZTgiLCJNNjQgNDAwbDg1LjctMjA4LjJjMTctNDEuMyA0Ny44LTc1LjMgODcuMi05Ni4zTDM4My44IDE3LjJjMTIuMy02LjYgMjYuNSA0LjcgMjMgMTguMkwzNjkuNiAxNzcuOGMtMS4xIDQuMS0xLjYgOC4zLTEuNiAxMi42IDAgNi4zIDEuMiAxMi42IDMuNiAxOC41bDc2LjQgMTkxLjEtMjA3LjEgMCAxMS44LTM1LjQgNDAuNC0xMy41YzYuNS0yLjIgMTAuOS04LjMgMTAuOS0xNS4ycy00LjQtMTMtMTAuOS0xNS4ybC00MC40LTEzLjUtMTMuNS00MC40QzIzNyAyNjAuNCAyMzAuOSAyNTYgMjI0IDI1NnMtMTMgNC40LTE1LjIgMTAuOWwtMTMuNSA0MC40LTQwLjQgMTMuNUMxNDguNCAzMjMgMTQ0IDMyOS4xIDE0NCAzMzZzNC40IDEzIDEwLjkgMTUuMmw0MC40IDEzLjUgMTEuOCAzNS40LTE0My4xIDB6TTI3OS42IDE0MS41Yy0xLjEtMy4zLTQuMS01LjUtNy42LTUuNXMtNi41IDIuMi03LjYgNS41bC02LjcgMjAuMi0yMC4yIDYuN2MtMy4zIDEuMS01LjUgNC4xLTUuNSA3LjZzMi4yIDYuNSA1LjUgNy42bDIwLjIgNi43IDYuNyAyMC4yYzEuMSAzLjMgNC4xIDUuNSA3LjYgNS41czYuNS0yLjIgNy42LTUuNWw2LjctMjAuMiAyMC4yLTYuN2MzLjMtMS4xIDUuNS00LjEgNS41LTcuNnMtMi4yLTYuNS01LjUtNy42bC0yMC4yLTYuNy02LjctMjAuMnpNMzIgNDQ4bDQ0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnoiXX0sVTRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItZG9jdG9yIixpY29uOls0NDgsNTEyLFsidXNlci1tZCJdLCJmMGYwIiwiTTIyNCA4YTEyMCAxMjAgMCAxIDAgMCAyNDAgMTIwIDEyMCAwIDEgMCAwLTI0MHptNjAgMzEyLjhjLTUuNC0uNS0xMS0uOC0xNi42LS44bC04Ni45IDBjLTUuNiAwLTExLjEgLjMtMTYuNiAuOGwwIDY3LjVjMTYuNSA3LjYgMjggMjQuMyAyOCA0My42IDAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4YzAtMTkuNCAxMS41LTM2LjEgMjgtNDMuNmwwLTU4LjRDNjEgMzUzIDE2IDQxMy42IDE2IDQ4NC42IDE2IDQ5OS43IDI4LjMgNTEyIDQzLjQgNTEybDM2MS4xIDBjMTUuMSAwIDI3LjQtMTIuMyAyNy40LTI3LjQgMC03MS00NS0xMzEuNS0xMDgtMTU0LjZsMCAzNy40YzIzLjMgOC4yIDQwIDMwLjUgNDAgNTYuNmwwIDMyYzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTMyYzAtMTEtOS0yMC0yMC0yMHMtMjAgOS0yMCAyMGwwIDMyYzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTMyYzAtMjYuMSAxNi43LTQ4LjMgNDAtNTYuNmwwLTQ2LjZ6Il19LHRFdD1VNGUsVzRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYXJ0LWJhciIsaWNvbjpbNTEyLDUxMixbImJhci1jaGFydCJdLCJmMDgwIiwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzM2YzAgOC44IDcuMiAxNiAxNiAxNmw0MDAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw4MCA0ODBjLTQ0LjIgMC04MC0zNS44LTgwLTgwTDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6bTk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTMyIDgwbDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxMTJsMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyeiJdfSxhRXQ9VzRlLEc0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcHJheS1jYW4tc3BhcmtsZXMiLGljb246WzU3Niw1MTIsWyJhaXItZnJlc2hlbmVyIl0sImY1ZDAiLCJNMTYwIDMybDAgODAgMTI4IDAgMC04MGMwLTE3LjctMTQuMy0zMi0zMi0zMkwxOTIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTAgMTI4Yy01MyAwLTk2IDQzLTk2IDk2bDAgMjA4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDIyNCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjA4YzAtNTMtNDMtOTYtOTYtOTZsLTEyOCAwem02NCA5NmE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpNNDQ4IDQ4YzAtMS40LTEtMy0yLjItMy42TDQxNiAzMiA0MDMuNiAyLjJDNDAzIDEgNDAxLjQgMCA0MDAgMHMtMyAxLTMuNiAyLjJMMzg0IDMyIDM1NC4yIDQ0LjRjLTEuMiAuNi0yLjIgMi4yLTIuMiAzLjYgMCAxLjQgMSAzIDIuMiAzLjZMMzg0IDY0IDM5Ni40IDkzLjhDMzk3IDk1IDM5OC42IDk2IDQwMCA5NnMzLTEgMy42LTIuMkw0MTYgNjQgNDQ1LjggNTEuNkM0NDcgNTEgNDQ4IDQ5LjQgNDQ4IDQ4em03Ni40IDQ1LjhDNTI1IDk1IDUyNi42IDk2IDUyOCA5NnMzLTEgMy42LTIuMkw1NDQgNjQgNTczLjggNTEuNmMxLjItLjYgMi4yLTIuMiAyLjItMy42IDAtMS40LTEtMy0yLjItMy42TDU0NCAzMiA1MzEuNiAyLjJDNTMxIDEgNTI5LjQgMCA1MjggMHMtMyAxLTMuNiAyLjJMNTEyIDMyIDQ4Mi4yIDQ0LjRjLTEuMiAuNi0yLjIgMi4yLTIuMiAzLjYgMCAxLjQgMSAzIDIuMiAzLjZMNTEyIDY0IDUyNC40IDkzLjh6bTcuMiAxMDAuNGMtLjYtMS4yLTIuMi0yLjItMy42LTIuMnMtMyAxLTMuNiAyLjJMNTEyIDIyNCA0ODIuMiAyMzYuNGMtMS4yIC42LTIuMiAyLjItMi4yIDMuNiAwIDEuNCAxIDMgMi4yIDMuNkw1MTIgMjU2IDUyNC40IDI4NS44Yy42IDEuMiAyLjIgMi4yIDMuNiAyLjJzMy0xIDMuNi0yLjJMNTQ0IDI1NiA1NzMuOCAyNDMuNmMxLjItLjYgMi4yLTIuMiAyLjItMy42IDAtMS40LTEtMy0yLjItMy42TDU0NCAyMjQgNTMxLjYgMTk0LjJ6TTUxMiAxNDRjMC0xLjQtMS0zLTIuMi0zLjZMNDgwIDEyOCA0NjcuNiA5OC4yQzQ2NyA5NyA0NjUuNCA5NiA0NjQgOTZzLTMgMS0zLjYgMi4yTDQ0OCAxMjggNDE4LjIgMTQwLjRjLTEuMiAuNi0yLjIgMi4yLTIuMiAzLjYgMCAxLjQgMSAzIDIuMiAzLjZMNDQ4IDE2MCA0NjAuNCAxODkuOGMuNiAxLjIgMi4yIDIuMiAzLjYgMi4yczMtMSAzLjYtMi4yTDQ4MCAxNjAgNTA5LjggMTQ3LjZjMS4yLS42IDIuMi0yLjIgMi4yLTMuNnoiXX0sckV0PUc0ZSxpRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFodC1zaWduIixpY29uOlszMjAsNTEyLFtdLCJlMGFjIiwiTTEzNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQwLTc0LjQgMEMxNi44IDY0IDAgODAuOCAwIDEwMS42TDAgNDA2LjNjMCAyMyAxOC43IDQxLjcgNDEuNyA0MS43bDcwLjMgMCAwIDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MCA0OCAwYzYxLjkgMCAxMTItNTAuMSAxMTItMTEyIDAtNDAuMS0yMS4xLTc1LjMtNTIuNy05NS4xIDEzLjEtMTguMyAyMC43LTQwLjcgMjAuNy02NC45IDAtNjEuOS01MC4xLTExMi0xMTItMTEybC0xNiAwIDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTExMiAxMjhsMCA5Ni00OCAwIDAtOTYgNDggMHptNDggOTZsMC05NiAxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4bC0xNiAwem0tNDggNjRsMCA5Ni00OCAwIDAtOTYgNDggMHptNDggOTZsMC05NiA0OCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4bC00OCAweiJdfSxZNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVtcGVyYXR1cmUtYXJyb3ctdXAiLGljb246WzUxMiw1MTIsWyJ0ZW1wZXJhdHVyZS11cCJdLCJlMDQwIiwiTTY0LjUgOTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDE2NC43YzI5LjUgMjYuNCA0OCA2NC43IDQ4IDEwNy4zIDAgNzkuNS02NC41IDE0NC0xNDQgMTQ0cy0xNDQtNjQuNS0xNDQtMTQ0YzAtNDIuNiAxOC41LTgxIDQ4LTEwNy4zTDY0LjUgOTZ6bTk2IDMzNmMzNS4zIDAgNjQtMjguNyA2NC02NCAwLTI2LjktMTYuNS00OS45LTQwLTU5LjNsMC0yMTIuN2MwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDIxMi43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjR6TTQzOS4xIDkuNGw2NCA2NGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGwtOS40LTkuNCAwIDE3OC43YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTc4LjctOS40IDkuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsNjQtNjRjNi02IDE0LjEtOS40IDIyLjYtOS40czE2LjYgMy40IDIyLjYgOS40eiJdfSxzRXQ9WTRlLG9FdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3ZWItYXdlc29tZSIsaWNvbjpbNjQwLDUxMixbXSwiZTY4MiIsIk0zNzIuMiA1MmMwIDIwLjktMTIuNCAzOS0zMC4yIDQ3LjJMNDQ4IDE5MiA1NTIuNCAxNzEuMWMtNS4zLTcuNy04LjQtMTcuMS04LjQtMjcuMSAwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4YzAgMjYtMjAuNiA0Ny4xLTQ2LjQgNDhMNDgxIDQ0Mi4zYy0xMC4zIDIzLTMzLjIgMzcuNy01OC40IDM3LjdsLTIwNS4yIDBjLTI1LjIgMC00OC0xNC44LTU4LjQtMzcuN0w0Ni40IDE5MkMyMC42IDE5MS4xIDAgMTcwIDAgMTQ0IDAgMTE3LjUgMjEuNSA5NiA0OCA5NnM0OCAyMS41IDQ4IDQ4YzAgMTAuMS0zLjEgMTkuNC04LjQgMjcuMUwxOTIgMTkyIDI5OC4xIDk5LjFjLTE3LjctOC4zLTMwLTI2LjMtMzAtNDcuMSAwLTI4LjcgMjMuMy01MiA1Mi01MnM1MiAyMy4zIDUyIDUyeiJdfSxuRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibm9uLWJpbmFyeSIsaWNvbjpbMzg0LDUxMixbXSwiZTgwNyIsIk0xOTIgNTQ0Yy05Ny4yIDAtMTc2LTc4LjgtMTc2LTE3NiAwLTg2LjMgNjIuMS0xNTggMTQ0LTE3M2wwLTQ3LjItNDkuNyAyNC44LTMgMS4zYy0xNS4yIDUuNy0zMi41LS44LTM5LjktMTUuNy03LjQtMTQuOC0yLjItMzIuNiAxMS41LTQxLjNsMi44LTEuNiAzOC44LTE5LjQtMzguOC0xOS40Yy0xNS44LTcuOS0yMi4yLTI3LjEtMTQuMy00Mi45IDcuNC0xNC44IDI0LjgtMjEuNCA0MC0xNS42bDMgMS4zIDQ5LjcgMjQuOCAwLTQ0LjJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDQ0LjIgNDkuNy0yNC44IDMtMS4zYzE1LjItNS44IDMyLjUgLjggMzkuOSAxNS42czIuMiAzMi43LTExLjUgNDEuM2wtMi44IDEuNi0zOC43IDE5LjQgMzguNyAxOS4zYzE1LjggNy45IDIyLjIgMjcuMSAxNC4zIDQyLjktNy40IDE0LjgtMjQuNyAyMS40LTM5LjkgMTUuNmwtMy0xLjMtNDkuNy0yNC44IDAgNDcuMmM4MS45IDE1LjEgMTQ0IDg2LjggMTQ0IDE3MyAwIDk3LjItNzguOCAxNzYtMTc2IDE3NnptMC02NGExMTIgMTEyIDAgMSAwIDAtMjI0IDExMiAxMTIgMCAxIDAgMCAyMjR6Il19LGxFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJuIixpY29uOlszODQsNTEyLFsxMTBdLCI0ZSIsIk0yMS4xIDMzLjljMTIuNy00LjYgMjYuOS0uNyAzNS41IDkuNkwzMjAgMzU5LjYgMzIwIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzODRjMCAxMy41LTguNCAyNS41LTIxLjEgMzAuMXMtMjYuOSAuNy0zNS41LTkuNkw2NCAxNTIuNCA2NCA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0NjUuNyAwIDQ0OEwwIDY0QzAgNTAuNSA4LjQgMzguNSAyMS4xIDMzLjl6Il19LFo0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtdXAtZG93bi1sZWZ0LXJpZ2h0IixpY29uOls1MTIsNTEyLFsiYXJyb3dzIl0sImYwNDciLCJNMjc4LjYgOS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsOS40LTkuNCAwIDExNC43LTExNC43IDAgOS40LTkuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTkuNC05LjQgMTE0LjcgMCAwIDExNC43LTkuNC05LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC05LjQgOS40IDAtMTE0LjcgMTE0LjcgMC05LjQgOS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOS40IDkuNC0xMTQuNyAwIDAtMTE0LjcgOS40IDkuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC02NC02NHoiXX0sY0V0PVo0ZSxuNz17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZSIsaWNvbjpbNTEyLDUxMixbMTI3OTY4LDYzNDk4LDYzNTAwLCJob21lIiwiaG9tZS1hbHQiLCJob21lLWxnLWFsdCJdLCJmMDE1IiwiTTI3Ny44IDguNmMtMTIuMy0xMS40LTMxLjMtMTEuNC00My41IDBsLTIyNCAyMDhjLTkuNiA5LTEyLjggMjIuOS04IDM1LjFTMTguOCAyNzIgMzIgMjcybDE2IDAgMCAxNzZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjg4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNzYgMTYgMGMxMy4yIDAgMjUtOC4xIDI5LjgtMjAuM3MxLjYtMjYuMi04LTM1LjFsLTIyNC0yMDh6TTI0MCAzMjBsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2LTEyOCAwIDAtOTZjMC0yNi41IDIxLjUtNDggNDgtNDh6Il19LGRFdD1uNyxwRXQ9bjcsdUV0PW43LGZFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcGlubmVyIixpY29uOls1MTIsNTEyLFtdLCJmMTEwIiwiTTIwOCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem0wIDQxNmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek00OCAyMDhhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2em0zNjggNDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNNzUgMzY5LjFBNDggNDggMCAxIDEgMTQyLjkgNDM3IDQ4IDQ4IDAgMSAxIDc1IDM2OS4xek03NSA3NUE0OCA0OCAwIDEgMSAxNDIuOSAxNDIuOSA0OCA0OCAwIDEgMSA3NSA3NXpNNDM3IDM2OS4xQTQ4IDQ4IDAgMSAxIDM2OS4xIDQzNyA0OCA0OCAwIDEgMSA0MzcgMzY5LjF6Il19LFg0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnYXZlbCIsaWNvbjpbNTc2LDUxMixbImxlZ2FsIl0sImYwZTMiLCJNMTY5LjYgMTUzLjRsLTE4LjctMTguN2MtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNMMjY1LjYtMjUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMEwzMjkuNi02LjZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNMMjE0LjkgMTUzLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwek0yNzYgMjExLjdsLTMxLjQtMzEuNCAxMTItMTEyIDExOS40IDExOS40LTExMiAxMTItMzEuNC0zMS40LTIzMiAyMzJjLTE1LjYgMTUuNi00MC45IDE1LjYtNTYuNiAwcy0xNS42LTQwLjkgMC01Ni42bDIzMi0yMzJ6TTM5MC45IDM3NC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM0w1MDUuNiAyMTQuNmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGwxOC43IDE4LjdjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNMNDU0LjkgMzkzLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC0xOC43LTE4Ljd6Il19LGhFdD1YNGUsSzRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRpY2tldC1zaW1wbGUiLGljb246WzU3Niw1MTIsWyJ0aWNrZXQtYWx0Il0sImYzZmYiLCJNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA2NGMwIDguOC03LjQgMTUuNy0xNS43IDE4LjYtMTguOCA2LjUtMzIuMyAyNC40LTMyLjMgNDUuNHMxMy41IDM4LjkgMzIuMyA0NS40YzguMyAyLjkgMTUuNyA5LjggMTUuNyAxOC42bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0QzAgMzExLjIgNy40IDMwNC4zIDE1LjcgMzAxLjQgMzQuNSAyOTQuOSA0OCAyNzcgNDggMjU2cy0xMy41LTM4LjktMzIuMy00NS40QzcuNCAyMDcuNyAwIDIwMC44IDAgMTkybDAtNjR6Il19LG1FdD1LNGUsZ0V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvdmUiLGljb246WzUxMiw1MTIsWzEyODMzMF0sImY0YmEiLCJNNDk2IDY0YzEzLjIgMCAyMC43IDE1LjEgMTIuOCAyNS42TDQ4MCAxMjggNDgwIDMwNGMwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NGwtMTEyIDAtNDYuMyA0Ni4zYy0xMC40IDEwLjQtMjYuNSAxMi40LTM5LjEgNC44TDQxLjUgNDQwLjljLTE3LTEwLjItMTUtMzUuNSAzLjQtNDIuOUwxNjAgMzUyQzIzLjggMzExLjEgNy41IDE2OS44IDIyIDk1LjcgMjUuNiA3Ny45IDQ1LjMgNzEuNCA2MS4zIDgwLjJMMzIwIDIyNCAzMjAgMTQ0YzAtNDQuMiAzNS44LTgwIDgwLTgwbDk2IDB6bS05NiA1NmEyNCAyNCAwIDEgMCAwIDQ4IDI0IDI0IDAgMSAwIDAtNDh6TTE4Mi41LTkuNmMxMi40LTEzLjcgMzMuMy04LjkgNDIuNSA3LjFsNTYuNCA5OC4zYy01LjggMTQuNC05LjIgMzAuMS05LjQgNDYuNUwxMzguMSA2OGMxMC4xLTMxLjYgMjctNTguNCA0NC40LTc3LjZ6Il19LGJFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YXJwLWRyb3BsZXQiLGljb246WzUxMiw1MTIsW10sImU1N2MiLCJNMjU2IDE2MGMzNS4zIDAgNjQtMjYuOSA2NC02MCAwLTI0LTMzLjctNzAuMS01Mi4yLTkzLjUtNi4xLTcuNy0xNy41LTcuNy0yMy42IDAtMTguNSAyMy40LTUyLjIgNjkuNS01Mi4yIDkzLjUgMCAzMy4xIDI4LjcgNjAgNjQgNjB6TTM2OCA5NmMwIDYxLjktNTAuMSAxMTItMTEyIDExMlMxNDQgMTU3LjkgMTQ0IDk2YzAtMTEuMSAxLjYtMjEuOSA0LjYtMzJMNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjc3LjUgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN0w0OTMuMyAzMjIuN2MxMi0xMiAxOC43LTI4LjMgMTguNy00NS4zTDUxMiAxMjhjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTg0LjYgMGMzIDEwLjEgNC42IDIwLjkgNC42IDMyem04NS41IDE3NkwzMzYgMzg5LjUgMzM2IDI5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGw5My41IDB6TTk2IDEyOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LHZFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmVlLWNpdHkiLGljb246WzY0MCw1MTIsW10sImU1ODciLCJNMjg4IDQ4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0OCA0OCAwIDAtNzJjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDcyIDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzMjBjMCAyNi41LTIxLjUgNDgtNDggNDhsLTI1NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTQxNnptNjQgNjRsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNMzUyIDMwNGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek01MjggMTkyYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTUxMiAzMDRsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNOTYgNDgwbDAtMTYwLTE2IDBjLTQ0LjIgMC04MC0zNS44LTgwLTgwIDAtMjYuNyAxMy4xLTUwLjMgMzMuMi02NC45LS44LTQuOS0xLjItMTAtMS4yLTE1LjEgMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDk2YzAgMzUuMy0yOC43IDY0LTY0IDY0bDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyeiJdfSxRNGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHVybi11cCIsaWNvbjpbMzg0LDUxMixbMTA1NDgsImxldmVsLXVwLWFsdCJdLCJmM2JmIiwiTTE2OS40IDkuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGwxMjggMTI4YzkuMiA5LjIgMTEuOSAyMi45IDYuOSAzNC45UzMzMi45IDE5MiAzMjAgMTkybC02NCAwIDAgMTYwYzAgODguNC03MS42IDE2MC0xNjAgMTYwbC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xNjAtNjQgMGMtMTIuOSAwLTI0LjYtNy44LTI5LjYtMTkuOHMtMi4yLTI1LjcgNi45LTM0LjlsMTI4LTEyOHoiXX0seEV0PVE0ZSxsNz17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW1wZXJhdHVyZS1xdWFydGVyIixpY29uOlszMjAsNTEyLFsidGVtcGVyYXR1cmUtMSIsInRoZXJtb21ldGVyLTEiLCJ0aGVybW9tZXRlci1xdWFydGVyIl0sImYyY2EiLCJNMTYwIDBDMTA3IDAgNjQgNDMgNjQgOTZsMCAxNjQuN0MzNC41IDI4NyAxNiAzMjUuNCAxNiAzNjggMTYgNDQ3LjUgODAuNSA1MTIgMTYwIDUxMnMxNDQtNjQuNSAxNDQtMTQ0YzAtNDIuNi0xOC41LTgxLTQ4LTEwNy4zTDI1NiA5NmMwLTUzLTQzLTk2LTk2LTk2em02NCAzNjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRjMC0yNi45IDE2LjUtNDkuOSA0MC01OS4zbDAtMjguN2MwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMjguN2MyMy41IDkuNSA0MCAzMi41IDQwIDU5LjN6Il19LHlFdD1sNyx3RXQ9bDcsTUV0PWw3LEo0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzbGlkZXJzIixpY29uOls1MTIsNTEyLFsic2xpZGVycy1oIl0sImYxZGUiLCJNMzIgNjRDMTQuMyA2NCAwIDc4LjMgMCA5NnMxNC4zIDMyIDMyIDMybDg2LjcgMGMxMi4zIDI4LjMgNDAuNSA0OCA3My4zIDQ4czYxLTE5LjcgNzMuMy00OEw0ODAgMTI4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDI2NS4zIDY0QzI1MyAzNS43IDIyNC44IDE2IDE5MiAxNnMtNjEgMTkuNy03My4zIDQ4TDMyIDY0em0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyNDYuNyAwYzEyLjMgMjguMyA0MC41IDQ4IDczLjMgNDhzNjEtMTkuNyA3My4zLTQ4bDU0LjcgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNTQuNyAwYy0xMi4zLTI4LjMtNDAuNS00OC03My4zLTQ4cy02MSAxOS43LTczLjMgNDhMMzIgMjI0em0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1NC43IDBjMTIuMyAyOC4zIDQwLjUgNDggNzMuMyA0OHM2MS0xOS43IDczLjMtNDhMNDgwIDQ0OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjQ2LjcgMGMtMTIuMy0yOC4zLTQwLjUtNDgtNzMuMy00OHMtNjEgMTkuNy03My4zIDQ4TDMyIDM4NHoiXX0sa0V0PUo0ZSx6RXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9zcXVlIixpY29uOls1NzYsNTEyLFsxMjgzMzJdLCJmNjc4IiwiTTE3NC44IDIyNGwyMjYuNCAwYzQzLjUgMCA3OC44LTM1LjMgNzguOC03OC44IDAtMjUuNS0xMi4zLTQ5LjQtMzMuMS02NC4yTDI5Ny4zLTI1LjRjLTUuNi0zLjktMTMtMy45LTE4LjUgMEwxMjkuMSA4MUMxMDguMyA5NS44IDk2IDExOS43IDk2IDE0NS4yIDk2IDE4OC43IDEzMS4zIDIyNCAxNzQuOCAyMjR6TTUxMiA1MTJjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0OC00NDggMCAwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgMjA2LjMgMCAyMjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDB6TTI0MCAzODRjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDgwLTk2IDAgMC04MHoiXX0sU0V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImgiLGljb246WzM4NCw1MTIsWzEwNF0sIjQ4IiwiTTMyMCAyODhsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE2MC0yNTYgMCAwLTE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwIDI1NiAweiJdfSxDRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaW5mbyIsaWNvbjpbMTkyLDUxMixbXSwiZjEyOSIsIk00OCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek0wIDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjU2IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC0yMjQtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LGUzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24td2Fsa2luZyIsaWNvbjpbMzg0LDUxMixbMTI4Njk0LCJ3YWxraW5nIl0sImY1NTQiLCJNMTkyIDgwYTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyek0xMDUuNCAyMjcuOWwyMi42LTIyLjYgMCA2OS4zYzAgMjggMTIuMiA1NC43IDMzLjUgNzIuOWw3MS40IDYxLjJjNS45IDUuMSA5LjggMTIuMSAxMC45IDE5LjhsMTIuNiA4OC4xYzIuNSAxNy41IDE4LjcgMjkuNyAzNi4yIDI3LjJzMjkuNy0xOC43IDI3LjItMzYuMmwtMTIuNi04OC4xYy0zLjMtMjMuMS0xNC45LTQ0LjEtMzIuNi01OS4zbC0zNC41LTI5LjYgMC0xMTUuMiAzLjggNC43YzE4LjIgMjIuOCA0NS44IDM2IDc1IDM2bDMzLjIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzMuMiAwYy05LjcgMC0xOC45LTQuNC0yNS0xMmwtMTcuOS0yMi40Yy0yMy0yOC44LTU3LjktNDUuNi05NC44LTQ1LjYtMzIuMiAwLTYzLjEgMTIuOC04NS44IDM1LjZMNjAuMSAxODIuNkM0Mi4xIDIwMC42IDMyIDIyNSAzMiAyNTAuNUwzMiAyODhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM3LjVjMC04LjUgMy40LTE2LjYgOS40LTIyLjZ6bTEyLjQgMTc5LjRjLTEuNSA1LjItNC4zIDEwLTguMSAxMy44TDQxLjQgNDg5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNjguMy02OC4zYzExLjUtMTEuNSAxOS45LTI1LjggMjQuNC00MS41bDIuMi03LjYtNDYtMzkuNGMtMi41LTIuMi01LTQuNC03LjQtNi44bC0xMC40IDM2LjJ6Il19LF9FdD1lM2UsdDNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXR1cm4tZG93biIsaWNvbjpbMzg0LDUxMixbImxldmVsLWRvd24iXSwiZjE0OSIsIk0zMiA2NEMxNC4zIDY0IDAgNDkuNyAwIDMyUzE0LjMgMCAzMiAwbDk2IDBjNTMgMCA5NiA0MyA5NiA5NmwwIDMwNi43IDczLjQtNzMuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC0xMjggMTI4Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtMTI4LTEyOGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEwxNjAgNDAyLjcgMTYwIDk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDY0eiJdfSxURXQ9dDNlLExFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb2FkIixpY29uOls1MTIsNTEyLFsxMjg3MzldLCJmMDE4IiwiTTIyMy45IDMybC03Ni4yIDBjLTI5LjQgMC01NS4xIDIwLjEtNjIuMSA0OC42TDEuNCA0MjAuNUMtNi4xIDQ1MC43IDE2LjggNDgwIDQ4IDQ4MGwxNzUuOSAwIDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDY0IDE3Ni4xIDBjMzEuMiAwIDU0LjEtMjkuMyA0Ni42LTU5LjVMNDI2LjUgODAuNkM0MTkuNCA1Mi4xIDM5My44IDMyIDM2NC4zIDMybC03Ni40IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0em02NCAxOTJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6Il19LCRFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcGlyYWwiLGljb246WzUxMiw1MTIsW10sImU4MGEiLCJNMTE1LjUgNy40YzEzLjYtMTEuMyAzMy44LTkuNSA0NS4xIDQuMXM5LjUgMzMuOC00LjEgNDUuMUMxMDAuMiAxMDMuNSA2NCAxNzUuMiA2NCAyNTYgNjQgMzYyIDE1MCA0NDggMjU2IDQ0OHMxOTItODYgMTkyLTE5MmMwLTc1LjEtNjAuOS0xMzYtMTM2LTEzNlMxNzYgMTgwLjkgMTc2IDI1NmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyYzAtNDguNiAzOS40LTg4IDg4LTg4czg4IDM5LjQgODggODhjMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRTMTEyIDMzNS41IDExMiAyNTZjMC0xMTAuNSA4OS41LTIwMCAyMDAtMjAwczIwMCA4OS41IDIwMCAyMDBjMCAxNDEuNC0xMTQuNiAyNTYtMjU2IDI1NlMwIDM5Ny40IDAgMjU2QzAgMTU1LjggNDUgNjYuMSAxMTUuNSA3LjR6Il19LGEzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWZyb3duIixpY29uOls1MTIsNTEyLFs5Nzg1LCJmcm93biJdLCJmMTE5IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem05MC42LTExMy45Yy0yMC40LTI4LTUzLjQtNDYuMS05MC42LTQ2LjFzLTcwLjIgMTguMS05MC42IDQ2LjFjLTcuOCAxMC43LTIyLjggMTMuMS0zMy41IDUuM3MtMTMuMS0yMi44LTUuMy0zMy41QzE1NS43IDMzMCAyMDIuOCAzMDQgMjU2IDMwNHMxMDAuMyAyNiAxMjkuNCA2NS45YzcuOCAxMC43IDUuNCAyNS43LTUuMyAzMy41cy0yNS43IDUuNC0zMy41LTUuM3pNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxERXQ9YTNlLHIzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3aW5lLWdsYXNzLWVtcHR5IixpY29uOlszMjAsNTEyLFsid2luZS1nbGFzcy1hbHQiXSwiZjVjZSIsIk02NCAwQzQ4LjcgMCAzNS42IDEwLjggMzIuNiAyNS43TDMuMiAxNzNDMS4xIDE4My41IDAgMTk0LjIgMCAyMDVsMCAzYzAgNzcuNCA1NSAxNDIgMTI4IDE1Ni44bDAgMTE1LjItNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTExNS4yQzI2NSAzNTAgMzIwIDI4NS40IDMyMCAyMDhsMC0zYzAtMTAuNy0xLjEtMjEuNC0zLjItMzJMMjg3LjQgMjUuN0MyODQuNCAxMC44IDI3MS4zIDAgMjU2IDBMNjQgMHptMS45IDE4NS42TDkwLjIgNjQgMjI5LjggNjQgMjU0LjEgMTg1LjZjMS4zIDYuNCAxLjkgMTIuOSAxLjkgMTkuNGwwIDNjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZsMC0zYzAtNi41IC42LTEzIDEuOS0xOS40eiJdfSxBRXQ9cjNlLFBFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbGFwcGVyYm9hcmQiLGljb246WzUxMiw1MTIsW10sImUxMzEiLCJNNDQ4IDY0YzIgMCAzLjkgLjEgNS44IC4zbC05NS43IDk1LjcgNjcuOSAwIDcyLTcyYzguOCAxMSAxNCAyNC45IDE0IDQwbDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsNzAuMSAwLTk2IDk2IDY3LjkgMCA5NS05NSAxLTEgOTIuMSAwLTk2IDk2IDY3LjkgMCA5NS05NSAxLTEgODYuMSAweiJdfSxpM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9yd2FyZC1zdGVwIixpY29uOlszODQsNTEyLFsic3RlcC1mb3J3YXJkIl0sImYwNTEiLCJNMjEgMzYuOGMxMi45LTcgMjguNy02LjMgNDEgMS44TDMyMCAyMDguMSAzMjAgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDM4NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE0NC4xLTI1OCAxNjkuNmMtMTIuMyA4LjEtMjggOC44LTQxIDEuOFMwIDQ1NC43IDAgNDQwTDAgNzJDMCA1Ny4zIDguMSA0My44IDIxIDM2Ljh6Il19LEVFdD1pM2UsczNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS11cC1yaWdodCIsaWNvbjpbNDQ4LDUxMixbODU5OSwiZXh0ZXJuYWwtbGluay1zcXVhcmUtYWx0Il0sImYzNjAiLCJNMzg0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMHpNMTY4IDE2MGMtOS43IDAtMTguNSA1LjgtMjIuMiAxNC44cy0xLjcgMTkuMyA1LjIgMjYuMmwzNSAzNS02NyA2N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsMjQgMjRjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsNjctNjcgMzUgMzVjNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMlMzMjAgMzIxLjcgMzIwIDMxMmwwLTEyOGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMTI4IDB6Il19LElFdD1zM2UsbzNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stam91cm5hbC13aGlsbHMiLGljb246WzQ0OCw1MTIsWyJqb3VybmFsLXdoaWxscyJdLCJmNjZhIiwiTTk2IDUxMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTY2LjdjMTguNi02LjYgMzItMjQuNCAzMi00NS4zbDAtMjg4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDk2IDBDNDMgMCAwIDQzIDAgOTZMMCA0MTZjMCA1MyA0MyA5NiA5NiA5NnpNNjQgNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDI1NiAwIDAgNjQtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0yNzQuMSA5OS4yYzIuNi0yLjYgNi43LTMuMSA5LjktMS4xIDMyLjEgMjAgNTMuNCA1NS42IDUzLjQgOTYuMiAwIDYyLjYtNTAuNyAxMTMuMy0xMTMuMyAxMTMuM1MxMTAuNyAyNTYuOSAxMTAuNyAxOTQuM2MwLTQwLjYgMjEuNC03Ni4yIDUzLjQtOTYuMiAzLjEtMiA3LjItMS41IDkuOSAxLjFzMy4xIDYuNyAxLjIgOS44Yy01LjIgOC42LTguMiAxOC43LTguMiAyOS41IDAgMTUuMSA1LjkgMjguOCAxNS41IDM5LjEgMi41IDIuNyAyLjkgNi43IC45IDkuNy00LjcgNy40LTcuNCAxNi4xLTcuNCAyNS41IDAgMjEuNiAxNC4zIDM5LjkgMzQgNDUuOWwxLTI0LjhjLTcuMS00LjQtMTEuOC0xMi4yLTExLjgtMjEuMSAwLTkuNiA1LjUtMTggMTMuNS0yMi4xbDMuMy04MS44Yy4yLTQuMyAzLjctNy43IDgtNy43czcuOCAzLjQgOCA3LjdsMy4zIDgxLjhjOCA0LjEgMTMuNSAxMi40IDEzLjUgMjIuMSAwIDguOS00LjcgMTYuNy0xMS44IDIxLjFsMSAyNC44YzE5LjYtNiAzMy45LTI0LjEgMzQtNDUuNmwwLS42Yy0uMS05LjMtMi43LTE3LjktNy40LTI1LjItMS45LTMuMS0xLjYtNy4xIC45LTkuNyA5LjYtMTAuMiAxNS41LTIzLjkgMTUuNS0zOS4xIDAtMTAuOC0zLTIwLjktOC4yLTI5LjUtMS45LTMuMi0xLjQtNy4yIDEuMi05Ljh6Il19LE5FdD1vM2UsbjNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYW1wYWduZS1nbGFzc2VzIixpY29uOls2NDAsNTEyLFsxMjkzNDYsImdsYXNzLWNoZWVycyJdLCJmNzlmIiwiTTE1NS42IDE3LjNDMTYzIDMgMTc5LjktMy42IDE5NSAxLjlsMTI1IDQ1LjYgMTI1LTQ1LjZjMTUuMS01LjUgMzIgMS4xIDM5LjQgMTUuNGw3OC44IDE1Mi45YzI4LjggNTUuOCAxMC4zIDEyMi4zLTM4LjUgMTU2LjZsMzEuMyA4Ni4yIDQxLTE1YzE2LjYtNiAzNSAyLjUgNDEgMTkuMXMtMi41IDM1LTE5LjEgNDFjLTQ3LjQgMTcuMy05NC44IDM0LjUtMTQyLjIgNTEuOC0xNi42IDYuMS0zNS0yLjUtNDEtMTkuMXMyLjUtMzUgMTkuMS00MWw0MS0xNS0zMS4zLTg2LjJjLTU5LjQgNS4yLTExNi4yLTMzLjktMTMwLTk1LjJsLTE0LjYtNjQuNy0xNC42IDY0LjdjLTEzLjggNjEuMy03MC42IDEwMC40LTEzMCA5NS4ybC0zMS4zIDg2LjIgNDEgMTVjMTYuNiA2LjEgMjUuMiAyNC40IDE5LjEgNDFzLTI0LjQgMjUuMi00MSAxOS4xYy00Ny40LTE3LjMtOTQuOC0zNC42LTE0Mi4yLTUxLjgtMTYuNi02LjEtMjUuMi0yNC40LTE5LjEtNDFTMjYuMyAzOTIgNDIuOSAzOThsNDEgMTUgMzEuMy04Ni4yQzY2LjUgMjkyLjUgNDguMSAyMjYgNzYuOSAxNzAuMkwxNTUuNiAxNy4zem00NCA1NC40bC0yNy4yIDUyLjggODkuMiAzMi41IDEzLjEtNTcuOS03NS4xLTI3LjR6bTI0MC45IDBsLTc1LjEgMjcuNCAxMy4xIDU3LjkgODkuMi0zMi41LTI3LjItNTIuOHoiXX0sUkV0PW4zZSxGRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZHVtcHN0ZXIiLGljb246WzU3Niw1MTIsW10sImY3OTMiLCJNMTMyLjMgNjRMMTA2LjcgMTkyIDI0IDE5MmMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00LjFjMC0yLjYgLjQtNS4xIDEuMi03LjZMMjYuNSA4MC40QzI5LjggNzAuNiAzOSA2NCA0OS4zIDY0bDgzIDB6bTIzLjQgMTI4bDI1LjYtMTI4IDgyLjcgMCAwIDEyOC0xMDguMyAwek0zMTIgNjRsODIuNyAwIDI1LjYgMTI4LTEwOC4zIDAgMC0xMjh6bTEzMS43IDBsODMgMGMxMC4zIDAgMTkuNSA2LjYgMjIuOCAxNi40bDI1LjMgNzUuOWMuOCAyLjQgMS4yIDUgMS4yIDcuNmwwIDQuMWMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtODIuNyAwLTI1LjYtMTI4ek0yNS43IDI0MGw1MjQuNyAwYy0uNCAyLjEtMTMuMyA3My40LTM4LjkgMjEzLjctMyAxNi4zLTE3LjkgMjcuNi0zNC40IDI2LjFTNDQ4IDQ2NC42IDQ0OCA0NDhsMC0xNi0zMjAgMCAwIDE2YzAgMTYuNi0xMi42IDMwLjQtMjkuMSAzMS45UzY3LjUgNDcwIDY0LjUgNDUzLjdDMzkgMzEzLjMgMjYgMjQyLjEgMjUuNyAyNDB6Il19LE9FdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFydC1jaXJjbGUteG1hcmsiLGljb246WzU3Niw1MTIsW10sImU1MDEiLCJNMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43QzI5NiA1Mi41IDMzNi4yIDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDE3LjYtMy40IDM1LjYtOS41IDUzLjctMjEuOC04LjYtNDUuNi0xMy40LTcwLjUtMTMuNC0xMDYgMC0xOTIgODYtMTkyIDE5MiAwIDI4LjUgNi4yIDU1LjYgMTcuNCA4MC0uNSAwLS45IDAtMS40IDAtMTUuNSAwLTMwLjgtNC42LTQzLjEtMTQuMS03My01NS43LTIxMi45LTE4Ni0yMTIuOS0yOTguMmwwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMXpNNDMyIDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTU5LjMgMTA3LjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMGwtMzYuNyAzNi43LTM2LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmwzNi43IDM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzYuNy0zNi43IDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTM2LjctMzYuNyAzNi43LTM2Ljd6Il19LEJFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21wdXRlciIsaWNvbjpbNTc2LDUxMixbXSwiZTRlNSIsIk0zNDguOCAzMkMzNDAuNyA0Ni4xIDMzNiA2Mi41IDMzNiA4MGwwIDE2LTI3MiAwIDAgMjI0IDI3MiAwIDAgNjQtMjcyIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMjg0LjggMHpNMzM2IDQzMmMwIDE3LjUgNC43IDMzLjkgMTIuOCA0OEwxMjAgNDgwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDIxNiAwek00MzIgMzJsOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtOTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0zNTJjMC0yNi41IDIxLjUtNDggNDgtNDh6bTI0IDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMHptNTYgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LGwzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YW5kLW1hZ2ljIixpY29uOls1MTIsNTEyLFsibWFnaWMiXSwiZjBkMCIsIk0zOTguNSAxMi4ybC04OC4yIDg4LjIgMTAxLjMgMTAxLjMgODguMi04OC4yQzUwNy42IDEwNS42IDUxMiA5NSA1MTIgODRzLTQuNC0yMS42LTEyLjItMjkuNUw0NTcuNSAxMi4yQzQ0OS42IDQuNCA0MzkgMCA0MjggMHMtMjEuNiA0LjQtMjkuNSAxMi4yek0yNzYuNCAxMzQuM0wxMi4yIDM5OC41QzQuNCA0MDYuNCAwIDQxNyAwIDQyOHM0LjQgMjEuNiAxMi4yIDI5LjVsNDIuMyA0Mi4zQzYyLjQgNTA3LjYgNzMgNTEyIDg0IDUxMnMyMS42LTQuNCAyOS41LTEyLjJMMzc3LjcgMjM1LjYgMjc2LjQgMTM0LjN6Il19LEhFdD1sM2UscUV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyYWluIixpY29uOls1MTIsNTEyLFsxMjk1MDRdLCJmNWRjIiwiTTEyMCA1NmMwLTMwLjkgMjUuMS01NiA1Ni01NmwyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0yOS44IDAtNTQuOS0yMC40LTYyLTQ4LS43IDAtMS4zIDAtMiAwLTQ0LjIgMC04MC0zNS44LTgwLTgwIDAtMTggNi0zNC42IDE2LTQ4LTE5LjQtMTQuNi0zMi0zNy44LTMyLTY0IDAtMzAuOSAxNy42LTU3LjggNDMuMi03MS4xLTcuMS0xMi0xMS4yLTI2LTExLjItNDAuOSAwLTQ0LjIgMzUuOC04MCA4MC04MGwwLTI0em0yNzIgMGwwIDI0YzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgMTUtNC4xIDI5LTExLjIgNDAuOSAyNS43IDEzLjMgNDMuMiA0MC4xIDQzLjIgNzEuMSAwIDI2LjItMTIuNiA0OS40LTMyIDY0IDEwIDEzLjQgMTYgMzAgMTYgNDggMCA0NC4yLTM1LjggODAtODAgODAtLjcgMC0xLjMgMC0yIDAtNy4xIDI3LjYtMzIuMiA0OC02MiA0OGwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC00NDhjMC0xNy43IDE0LjMtMzIgMzItMzJsMjQgMGMzMC45IDAgNTYgMjUuMSA1NiA1NnoiXX0sVkV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyaWVmY2FzZS1tZWRpY2FsIixpY29uOls1MTIsNTEyLFtdLCJmNDY5IiwiTTIwMCA0OGwxMTIgMGM0LjQgMCA4IDMuNiA4IDhsMCA0MC0xMjggMCAwLTQwYzAtNC40IDMuNi04IDgtOHptLTU2IDhsMCA0MC04MCAwQzI4LjcgOTYgMCAxMjQuNyAwIDE2MEwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NGwtODAgMCAwLTQwYzAtMzAuOS0yNS4xLTU2LTU2LTU2TDIwMCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NnptODAgMTYwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQwIDQwIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00MCAwIDAgNDBjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00MC00MCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDAgMCAwLTQweiJdfSxqRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtbWVkaWNhbC1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU1MTIiLCJNMzA5LjggOC42Yy0xMi4zLTExLjQtMzEuMy0xMS40LTQzLjUgMGwtMjI0IDIwOGMtOS42IDktMTIuOCAyMi45LTggMzUuMVM1MC44IDI3MiA2NCAyNzJsMTYgMCAwIDE3NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTYgMGMtMjEuMi0yOS41LTM0LjMtNjUuMy0zNS45LTEwNEwyNzIgNDA4Yy04LjggMC0xNi03LjItMTYtMTZsMC00MC00MCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDAgMCAwLTQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQwIDIwIDBjMzQuOS00OC41IDkxLjctODAgMTU2LTgwIDEwLjcgMCAyMS4xIC45IDMxLjMgMi41TDMwOS44IDguNnpNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtMTAwYTIwIDIwIDAgMSAxIDAgNDAgMjAgMjAgMCAxIDEgMC00MHptMC0xNDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6Il19LFVFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2RlLWNvbW1pdCIsaWNvbjpbNTc2LDUxMixbXSwiZjM4NiIsIk0yODggMzM2YTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwem0xNTYuOC00OEM0MzAgMzYxIDM2NS40IDQxNiAyODggNDE2UzE0NiAzNjEgMTMxLjIgMjg4TDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5OS4yIDBDMTQ2IDE1MSAyMTAuNiA5NiAyODggOTZzMTQyIDU1IDE1Ni44IDEyOGw5OS4yIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk5LjIgMHoiXX0sV0V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1icmVhc3RmZWVkaW5nIixpY29uOls0NDgsNTEyLFtdLCJlNTNhIiwiTTIyNCAwYTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwek00MzYuOCAzODIuOEwzNzMuNSA0NjJjLTE2LjYgMjAuNy00Ni44IDI0LjEtNjcuNSA3LjUtMTcuNi0xNC4xLTIyLjctMzguMS0xMy41LTU3LjdsLS43LS4xYy0zOC45LTUuNi03NC4zLTI1LjEtOTkuNy01NC44bDAtMzYuOGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ4YzAgLjggMCAxLjYgLjEgMi40bDEwMS40IDUwLjdjMjMuNyAxMS45IDMzLjMgNDAuNyAyMS41IDY0LjRzLTQwLjcgMzMuMy02NC40IDIxLjVMMjcuMiA0MjcuM2MtMS4xLS41LTIuMi0xLjEtMy4zLTEuNy00LjktMi44LTkuMi02LjQtMTIuNi0xMC42LTQuNi01LjQtNy44LTExLjctOS42LTE4LjQtMy4zLTEyLTEuOS0yNS4yIDQuOC0zNi42IC42LTEuMSAxLjMtMi4yIDItMy4yTDc1LjYgMjU2LjFjMjYuNy00MC4xIDcxLjctNjQuMSAxMTkuOC02NC4xbDc1LjIgMGM0Ni41IDAgOTAuMSAyMi41IDExNy4yIDYwLjNsNTAuNyA3MC45YzIuMiAzIDQgNi4xIDUuNSA5LjQgMi45IDYuNyA0LjMgMTMuOCA0IDIwLjgtLjMgMTAuNi00LjIgMjEtMTEuMiAyOS40ek0zMjAgMzMyYTQ0IDQ0IDAgMSAwIC04OCAwIDQ0IDQ0IDAgMSAwIDg4IDB6Il19LEdFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tcmF5cyIsaWNvbjpbNTEyLDUxMixbXSwiZTU0ZCIsIk0zMTIuNSAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43bDQ2LjMgNjIuNGMxMC41IDE0LjIgMzAuNiAxNy4yIDQ0LjggNi42czE3LjItMzAuNiA2LjYtNDQuOGwtNzAuNS05NUMzMzguNSAxMzIgMjk4LjggMTEyIDI1Ni41IDExMnMtODIgMjAtMTA3LjIgNTMuOWwtNzAuNSA5NWMtMTAuNSAxNC4yLTcuNiAzNC4yIDYuNiA0NC44czM0LjIgNy42IDQ0LjgtNi42bDQ2LjMtNjIuNCAwIDI3NS4zYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjc1LjN6TTcuNSA3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw4MCA4MGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNDEuNSA3QzMyLjEtMi4zIDE2LjktMi4zIDcuNSA3em00NjQgMGwtODAgODBjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw4MC04MGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwek03LjUgNTA1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDgwLTgwYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTgwIDgwYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXptNDY0IDBjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC04MC04MGMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw4MCA4MHoiXX0sWUV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hbmF0LXNpZ24iLGljb246WzM4NCw1MTIsW10sImUxZDUiLCJNMTkyIDMyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQxLjVDNzMuMyAxMDkuMyAwIDE5MC4xIDAgMjg4TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC02Mi41IDQ0LjgtMTE0LjUgMTA0LTEyNS44TDE2OCA0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTI5My44YzU5LjIgMTEuMiAxMDQgNjMuMyAxMDQgMTI1LjhsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTk3LjktNzMuMy0xNzguNy0xNjgtMTkwLjVMMjE2IDU2YzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxjM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic29ydCIsaWNvbjpbMzg0LDUxMixbInVuc29ydGVkIl0sImYwZGMiLCJNMi40IDIwNC4yYzUgMTIgMTYuNiAxOS44IDI5LjYgMTkuOGwzMjAgMGMxMi45IDAgMjQuNi03LjggMjkuNi0xOS44czIuMi0yNS43LTYuOS0zNC45bC0xNjAtMTYwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTYwIDE2MGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0Ljl6bTAgMTAzLjVjLTUgMTItMi4yIDI1LjcgNi45IDM0LjlsMTYwIDE2MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxNjAtMTYwYzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzM2NC45IDI4OCAzNTIgMjg4TDMyIDI4OGMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOHoiXX0sWkV0PWMzZSxkM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLXJhZGlhdGlvbiIsaWNvbjpbNTEyLDUxMixbOTc2MiwicmFkaWF0aW9uLWFsdCJdLCJmN2JhIiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTgwIDBsNjQuMyAwYzguNyAwIDE1LjctNy4xIDE3LjMtMTUuNiA0LjQtMjQuNCAxOC4xLTQ1LjUgMzcuMi01OS43IDcuNC01LjUgMTAuNi0xNS42IDYtMjMuNmwtMzIuNS01Ni4zYy00LjMtNy41LTEzLjktMTAuMy0yMS4yLTUuNS00OC4yIDMxLjUtODEuMyA4NC4yLTg2LjMgMTQ0LjgtLjcgOC44IDYuNSAxNiAxNS4zIDE2em0xMzcuOSA4OS44Yy04LjUtMy43LTE4LjgtMS40LTIzLjUgNi42bC0zMSA1My44Yy00LjMgNy41LTEuOSAxNy4yIDUuOCAyMS4xIDI2LjEgMTMuMiA1NS41IDIwLjcgODYuOCAyMC43czYwLjctNy41IDg2LjgtMjAuN2M3LjctMy45IDEwLjEtMTMuNiA1LjgtMjEuMWwtMzEtNTMuOGMtNC42LTgtMTUtMTAuMy0yMy41LTYuNi0xMS43IDUtMjQuNSA3LjgtMzguMSA3LjhzLTI2LjQtMi44LTM4LjEtNy44ek0zNTAuNCAyNDAuNGMxLjYgOC42IDguNSAxNS42IDE3LjMgMTUuNmw2NC4zIDBjOC44IDAgMTYuMS03LjIgMTUuMy0xNi01LTYwLjYtMzguMS0xMTMuMi04Ni4zLTE0NC44LTcuMy00LjgtMTYuOC0yLTIxLjIgNS41TDMwNy4zIDE1N2MtNC42IDgtMS40IDE4LjEgNiAyMy42IDE5LjEgMTQuMiAzMi43IDM1LjQgMzcuMiA1OS43ek0yNTYgMzA1LjdhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2eiJdfSxYRXQ9ZDNlLEtFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsYXB0b3AtY29kZSIsaWNvbjpbNjQwLDUxMixbXSwiZjVmYyIsIk02NCA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI0MC02NCAwIDAtMjQwLTM4NCAwIDAgMjQwLTY0IDAgMC0yNDB6TTAgNDAzLjJDMCAzOTIuNiA4LjYgMzg0IDE5LjIgMzg0bDYwMS42IDBjMTAuNiAwIDE5LjIgOC42IDE5LjIgMTkuMiAwIDQyLjQtMzQuNCA3Ni44LTc2LjggNzYuOEw3Ni44IDQ4MEMzNC40IDQ4MCAwIDQ0NS42IDAgNDAzLjJ6TTI4MSAyMDlsLTMxIDMxIDMxIDMxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQ4LTQ4Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw0OC00OGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjl6TTM5MyAxNzVsNDggNDhjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTQ4IDQ4Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMxLTMxLTMxLTMxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDB6Il19LFFFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaW5rIixpY29uOls1MTIsNTEyLFtdLCJlMDZkIiwiTTI4OCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyIDE0LjMgMzIgMzIgMzIgMzItMTQuMyAzMi0zMmMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmwwIDE5Mi02NCAwIDAtNDBjMC0zMC45LTI1LjEtNTYtNTYtNTZsLTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMGM0LjQgMCA4IDMuNiA4IDhsMCA0MC04MCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDAgNjRjMCA1MyA0MyA5NiA5NiA5NmwyNTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTgwIDAgMC00MGMwLTQuNCAzLjYtOCA4LThsNTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNTYgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA0MC02NCAwIDAtMTkyeiJdfSxKRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtZnJvbS13YXRlci1wdW1wIixpY29uOls2NDAsNTEyLFtdLCJlNGI2IiwiTTE0NCAzMmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNzYtMTYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA3OS42YzE3LjYtMiAzNiAyLjUgNTEuMyAxNCAzLjQgMi42IDYuMSAxLjQgOS44LS4zbC44LS40YzUuNy0yLjYgMTIuOS02LjkgMjEuNy0xMy41IDI3LjUtMjAuNyA1OS45LTMxLjIgOTIuMy0zMS40IDMzLjEtLjIgNjYuMyAxMC4yIDk0LjQgMzEuNCAyMi4xIDE2LjYgMjkuMSAxNi42IDUxLjIgMCAyNy41LTIwLjcgNTkuOS0zMS4yIDkyLjQtMzEuNCAzMy4xLS4yIDY2LjMgMTAuMiA5NC40IDMxLjQgNi45IDUuMiAxMi44IDkgMTggMTEuNyAuNiAuMyAxLjIgLjYgMS44IDEgNC4yIDIuMyA4LjUgNC42IDEyLjYgMS41IDEwLjctOC4xIDIyLjktMTIuNyAzNS4zLTE0LjFsMC03OS41YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC01NiAwIDAtMTQyLjEgNDcgNDdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDQ5NyAzOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBsLTg4IDg4Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNDctNDcgMCAxNDIuMS0xMzYgMCAwLTE3NmMwLTI2LjUtMjEuNS00OC00OC00OEwxNDQgMzJ6TTQ3NC42IDQ3Ni4xYzE5IDE0LjQgNDEuOSAyOC4yIDY3LjIgMzMuMyAyNi41IDUuNCA1NC4zIC44IDgwLjctMTkuMSAxMC42LTggMTIuNy0yMyA0LjctMzMuNnMtMjMtMTIuNy0zMy42LTQuN2MtMTQuOSAxMS4yLTI4LjYgMTMuMS00Mi4zIDEwLjMtMTQuOS0zLTMwLjktMTEuOS00Ny44LTI0LjYtMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM3MtMzAuNS04LjItNTQuNS0yNi4zYy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjEuNiAxNi4zLTQxLjMgMjUuOC01OC45IDI1LjctOS42LS4xLTE5LjktMy0zMS4yLTExLjUtMTAuNi04LTI1LjYtNS45LTMzLjYgNC43UzcgNDgyLjMgMTcuNiA0OTAuM2MxOS4xIDE0LjQgMzkuNCAyMSA1OS44IDIxLjEgMzMuOSAuMiA2NC4zLTE3LjQgODguMS0zNS4zIDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1LjljMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDB6Il19LHAzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtaWNyb3Bob25lLWxpbmVzLXNsYXNoIixpY29uOls1NzYsNTEyLFsibWljcm9waG9uZS1hbHQtc2xhc2giXSwiZjUzOSIsIk03LTI0LjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMTUxIDE1MSAwLTMwLjJjMC01MyA0My05NiA5Ni05NiA1MC4zIDAgOTEuNiAzOC43IDk1LjcgODhMMzI4IDg4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDU2IDAgMCA0OC01NiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDU1LjcgMGMtMS45IDIyLjktMTEuOCA0My40LTI2LjkgNTlsMzMuOSAzMy45YzI1LjUtMjYgNDEuMy02MS42IDQxLjMtMTAwLjlsMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDBjMCA1Mi42LTIxLjEgMTAwLjItNTUuMyAxMzQuOEw1NjkgNTAzLjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw3IDkuMUMtMi4zLS4zLTIuMy0xNS41IDctMjQuOXpNMjk3LjggMzY3LjdsNDEuNCA0MS40Yy04LjggMi40LTE3LjkgNC4zLTI3LjMgNS40bDAgNDkuNSA0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw0OCAwIDAtNDkuNUMxNjkuMyA0MDIuNyA5NiAzMjEuOSA5NiAyMjRsMC00MGMwLTUuMSAxLjYtOS45IDQuNC0xMy44bDQzLjYgNDMuNiAwIDEwLjJjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDQgMy4zIDAgNi42LS4xIDkuOC0uM3oiXX0sZUl0PXAzZSx0SXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2VydmVyIixpY29uOls0NDgsNTEyLFtdLCJmMjMzIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem0yMTYgNzJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em01NiAyNGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek02NCAyODhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC02NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAyODh6bTIxNiA3MmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTU2IDI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6Il19LHVZPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXIiLGljb246WzQ0OCw1MTIsWzEyODEwMCw2MjE0NCw2MjQ3MCwidXNlci1hbHQiLCJ1c2VyLWxhcmdlIl0sImYwMDciLCJNMjI0IDI0OGExMjAgMTIwIDAgMSAwIDAtMjQwIDEyMCAxMjAgMCAxIDAgMCAyNDB6bS0yOS43IDU2Qzk1LjggMzA0IDE2IDM4My44IDE2IDQ4Mi4zIDE2IDQ5OC43IDI5LjMgNTEyIDQ1LjcgNTEybDM1Ni42IDBjMTYuNCAwIDI5LjctMTMuMyAyOS43LTI5LjcgMC05OC41LTc5LjgtMTc4LjMtMTc4LjMtMTc4LjNsLTU5LjQgMHoiXX0sYUl0PXVZLHJJdD11WSxpSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic25vd2ZsYWtlIixpY29uOls1MTIsNTEyLFsxMDA1MiwxMDA1NF0sImYyZGMiLCJNMjg4LjIgMGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDYyLjEtMTUtMTVjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNDkgNDkgMCA3MC42LTYxLjItMzUuMy0xNy45LTY2LjljLTMuNC0xMi44LTE2LjYtMjAuNC0yOS40LTE3Uzk1LjMgOTggOTguNyAxMTAuOGw1LjUgMjAuNS01My43LTMxQzM1LjIgOTEuNSAxNS42IDk2LjcgNi44IDExMnMtMy42IDM0LjkgMTEuNyA0My43bDUzLjcgMzEtMjAuNSA1LjVjLTEyLjggMy40LTIwLjQgMTYuNi0xNyAyOS40czE2LjYgMjAuNCAyOS40IDE3bDY2LjktMTcuOSA2MS4yIDM1LjMtNjEuMiAzNS4zLTY2LjktMTcuOWMtMTIuOC0zLjQtMjYgNC4yLTI5LjQgMTdzNC4yIDI2IDE3IDI5LjRsMjAuNSA1LjUtNTMuNyAzMUMzLjIgMzY1LjEtMiAzODQuNyA2LjggNDAwczI4LjQgMjAuNiA0My43IDExLjdsNTMuNy0zMS01LjUgMjAuNWMtMy40IDEyLjggNC4yIDI2IDE3IDI5LjRzMjYtNC4yIDI5LjQtMTdsMTcuOS02Ni45IDYxLjItMzUuMyAwIDcwLjYtNDkgNDljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwxNS0xNSAwIDYyLjFjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTYyLjEgMTUgMTVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC00OS00OSAwLTcwLjYgNjEuMiAzNS4zIDE3LjkgNjYuOWMzLjQgMTIuOCAxNi42IDIwLjQgMjkuNCAxN3MyMC40LTE2LjYgMTctMjkuNGwtNS41LTIwLjUgNTMuNyAzMWMxNS4zIDguOCAzNC45IDMuNiA0My43LTExLjdzMy42LTM0LjktMTEuNy00My43bC01My43LTMxIDIwLjUtNS41YzEyLjgtMy40IDIwLjQtMTYuNiAxNy0yOS40cy0xNi42LTIwLjQtMjkuNC0xN2wtNjYuOSAxNy45LTYxLjItMzUuMyA2MS4yLTM1LjMgNjYuOSAxNy45YzEyLjggMy40IDI2LTQuMiAyOS40LTE3cy00LjItMjYtMTctMjkuNGwtMjAuNS01LjUgNTMuNy0zMWMxNS4zLTguOCAyMC42LTI4LjQgMTEuNy00My43cy0yOC40LTIwLjUtNDMuNy0xMS43bC01My43IDMxIDUuNS0yMC41YzMuNC0xMi44LTQuMi0yNi0xNy0yOS40cy0yNiA0LjItMjkuNCAxN2wtMTcuOSA2Ni45LTYxLjIgMzUuMyAwLTcwLjYgNDktNDljOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMTUgMTUgMC02Mi4xeiJdfSxzSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGF1cnVzIixpY29uOlszODQsNTEyLFtdLCJlODRmIiwiTTMzNi0xNmMxNy43IDAgMzIgMTQuMyAzMiAzMiAwIDU4LjUtMjguNiAxMTAuMy03Mi41IDE0Mi4zIDUzLjIgMzQuMSA4OC41IDkzLjggODguNSAxNjEuNyAwIDEwNi04NiAxOTItMTkyIDE5MlMwIDQyNiAwIDMyMEMwIDI1Mi4xIDM1LjMgMTkyLjQgODguNSAxNTguMyA0NC42IDEyNi4zIDE2IDc0LjUgMTYgMTYgMTYtMS43IDMwLjMtMTYgNDgtMTZTODAtMS43IDgwIDE2YzAgNjEuOSA1MC4xIDExMiAxMTIgMTEyUzMwNCA3Ny45IDMwNCAxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMTkyIDE5MmExMjggMTI4IDAgMSAwIDAgMjU2IDEyOCAxMjggMCAxIDAgMC0yNTZ6Il19LG9JdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJza3VsbC1jcm9zc2JvbmVzIixpY29uOls0NDgsNTEyLFsxMjgzNjksOTc2MF0sImY3MTQiLCJNMzg0IDE0NEMzODQgNjQuNSAzMTIuNCAwIDIyNCAwUzY0IDY0LjUgNjQgMTQ0YzAgNDcuMSAyNS4xIDg4LjkgNjQgMTE1LjJsMCAyOC44YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjguOGMzOC45LTI2LjMgNjQtNjguMSA2NC0xMTUuMnpNMTYwIDEyOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTk2IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTQ0NS41IDMzOS43Yy02LjgtMTYuMy0yNS41LTI0LTQxLjgtMTcuMkwyMjQgMzk3LjMgNDQuMyAzMjIuNWMtMTYuMy02LjgtMzUgLjktNDEuOCAxNy4ycy45IDM1IDE3LjIgNDEuOEwxNDAuOCA0MzIgMTkuNyA0ODIuNUMzLjQgNDg5LjMtNC4zIDUwOCAyLjUgNTI0LjNzMjUuNSAyNCA0MS44IDE3LjJMMjI0IDQ2Ni43IDQwMy43IDU0MS41YzE2LjMgNi44IDM1LS45IDQxLjgtMTcuMnMtLjktMzUtMTcuMi00MS44TDMwNy4yIDQzMiA0MjguMyAzODEuNWMxNi4zLTYuOCAyNC0yNS41IDE3LjItNDEuOHoiXX0sbkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlc28tc2lnbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTIyMiIsIk0xMTIgMzJDOTQuMyAzMiA4MCA0Ni4zIDgwIDY0bDAgNjQtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNCAwIDAgMzItMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNCAwIDAgMTkyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiA5NiAwYzY1LjYgMCAxMjItMzkuNSAxNDYuNy05NmwzNy4zIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI0LjggMGMuNS01LjMgLjgtMTAuNiAuOC0xNnMtLjMtMTAuNy0uOC0xNmwyNC44IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTM3LjMgMEMzNjIgNzEuNSAzMDUuNiAzMiAyNDAgMzJMMTEyIDMyem0xOTkuNiA5NmwtMTY3LjYgMCAwLTMyIDk2IDBjMjguNCAwIDU0IDEyLjQgNzEuNiAzMnpNMTQ0IDE3NmwxOTAuNyAwYy45IDUuMiAxLjMgMTAuNSAxLjMgMTZzLS41IDEwLjgtMS4zIDE2bC0xOTAuNyAwIDAtMzJ6bTE2Ny42IDgwYy0xNy42IDE5LjYtNDMuMSAzMi03MS42IDMybC05NiAwIDAtMzIgMTY3LjYgMHoiXX0sbEl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndpbmUtZ2xhc3MiLGljb246WzMyMCw1MTIsWzEyNzg2M10sImY0ZTMiLCJNMzIuNiAyNS43QzM1LjYgMTAuOCA0OC43IDAgNjQgMEwyNTYgMGMxNS4zIDAgMjguNCAxMC44IDMxLjQgMjUuN0wzMTYuOCAxNzNjMi4xIDEwLjUgMy4yIDIxLjIgMy4yIDMybDAgM2MwIDc3LjQtNTUgMTQyLTEyOCAxNTYuOGwwIDExNS4yIDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNTQ0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0IDAgMC0xMTUuMkM1NSAzNTAgMCAyODUuNCAwIDIwOGwwLTNjMC0xMC43IDEuMS0yMS40IDMuMi0zMkwzMi42IDI1Ljd6TTc3LjQgMTI4bDE2NS4xIDAtMTIuOC02NC0xMzkuNSAwLTEyLjggNjR6Il19LGM3PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbXBlcmF0dXJlLWhhbGYiLGljb246WzMyMCw1MTIsWzEyNzc3NywidGVtcGVyYXR1cmUtMiIsInRoZXJtb21ldGVyLTIiLCJ0aGVybW9tZXRlci1oYWxmIl0sImYyYzkiLCJNMTYwIDBDMTA3IDAgNjQgNDMgNjQgOTZsMCAxNjQuN0MzNC41IDI4NyAxNiAzMjUuNCAxNiAzNjggMTYgNDQ3LjUgODAuNSA1MTIgMTYwIDUxMnMxNDQtNjQuNSAxNDQtMTQ0YzAtNDIuNi0xOC41LTgxLTQ4LTEwNy4zTDI1NiA5NmMwLTUzLTQzLTk2LTk2LTk2em02NCAzNjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRjMC0yNi45IDE2LjUtNDkuOSA0MC01OS4zbDAtOTIuN2MwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgOTIuN2MyMy41IDkuNSA0MCAzMi41IDQwIDU5LjN6Il19LGNJdD1jNyxkSXQ9YzcscEl0PWM3LHVJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0aWNrZXQiLGljb246WzU3Niw1MTIsWzEyNzkwM10sImYxNDUiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhsMCA2NEMwIDIwMC44IDcuNCAyMDcuNyAxNS43IDIxMC42IDM0LjUgMjE3LjEgNDggMjM1IDQ4IDI1NnMtMTMuNSAzOC45LTMyLjMgNDUuNEM3LjQgMzA0LjMgMCAzMTEuMiAwIDMyMGwwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNjRjMC04LjgtNy40LTE1LjctMTUuNy0xOC42LTE4LjgtNi41LTMyLjMtMjQuNC0zMi4zLTQ1LjRzMTMuNS0zOC45IDMyLjMtNDUuNGM4LjMtMi45IDE1LjctOS44IDE1LjctMTguNmwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0ek00MTYgMzM2bDAtMTYwLTI1NiAwIDAgMTYwIDI1NiAwek0xMTIgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDI4OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yODggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xOTJ6Il19LGZJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3aGVhdC1hd24tY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNTk4IiwiTTQ5NiA1NzZhMTQ0IDE0NCAwIDEgMSAwLTI4OCAxNDQgMTQ0IDAgMSAxIDAgMjg4ek04MSA1MjljLTkuNCA5LjMtMjQuNSA5LjMtMzMuOSAwLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDgxIDUyOXptMzAuMi0yOTQuNGM2LjItNC4xIDE0LjctMy40IDIwLjEgMi4xbDQ2LjEgNDYuMSA2LjEgNi43YzE5LjcgMjMuOCAyNi4zIDU1IDE5LjMgODMuOSAzMS43LTcuNyA2Ni4yIDEgOTAuNiAyNS4zbDEyIDEyYy0uOCA3LTEuMiAxNC4yLTEuMiAyMS40IDAgMjAgMyAzOS4zIDguNyA1Ny40LTM2LjggMjEuOC04NSAxNy0xMTYuNi0xNC43TDE2NS42IDQ0NC4zIDgxIDUyOUM2OS43IDUxNy43IDU4LjQgNTA2LjMgNDcgNDk1bDg0LjctODQuNy0zMC41LTMwLjVjLTM3LjUtMzcuNS0zNy41LTk4LjMgMC0xMzUuN2w3LjQtNy40IDIuNS0yLjF6TTQ5NiA0NzZhMjAgMjAgMCAxIDAgMCA0MCAyMCAyMCAwIDEgMCAwLTQwem0wLTE0MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODBjMCA4LjggNy4yIDE2IDE2IDE2IDguOCAwIDE2LTcuMiAxNi0xNmwwLTgwYzAtOC44LTcuMi0xNi0xNi0xNnpNMjE1LjIgMTMwLjZjNi4yLTQuMSAxNC43LTMuNCAyMC4xIDIuMWw0Ni4xIDQ2LjEgNi4xIDYuN2MxOS43IDIzLjggMjYuMyA1NSAxOS4zIDgzLjkgMjQuMi01LjkgNTAuMS0yLjEgNzEuOSAxMC44LTMyLjIgMjQuOS01Ni4yIDU5LjgtNjcuNCAxMDAuMS0zLjgtMi44LTcuNS02LTExLTkuNWwtOTQuOS05NC45Yy0zNy41LTM3LjUtMzcuNS05OC4zIDAtMTM1LjdsNy40LTcuNCAyLjUtMi4xek01MjYuNyAxNWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMCA4LjggOC44IDkuMyAyMi43IDEuNyAzMi4xTDU2MC42IDQ5IDQ0Ni4yIDE2My40YzcuNyAxIDE1LjMgMyAyMi41IDUuOUw1MjcgMTExYzkuNC05LjQgMjQuNi05LjQgMzQgMCA4LjggOC44IDkuMyAyMi43IDEuNiAzMi4xbC0xLjcgMS44LTUyLjcgNTIuNyAzOSAzOWMzLjIgMy4yIDQuNyA3LjQgNC43IDExLjYtMTcuNy01LjQtMzYuNS04LjMtNTUuOS04LjMtMzQuMiAwLTY2LjMgOC45LTk0LjEgMjQuNmwtOTIuNy05Mi43Yy0zNy41LTM3LjUtMzcuNS05OC4zIDAtMTM1LjhsNy40LTcuNCAyLjUtMi4xYzYuMi00LjEgMTQuNy0zLjQgMjAuMSAyLjFsMzkgMzkgNTIuNy01Mi43YzkuNC05LjQgMjQuNi05LjQgMzQgMCA4LjggOC44IDkuMyAyMi43IDEuNiAzMi4xTDQ2NSA0OSA0MDYuNyAxMDcuM2MyLjggNy4xIDQuNyAxNC41IDUuOCAyMi4xTDUyNi43IDE1eiJdfSxoSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXR1cm4tcmlnaHQiLGljb246WzQ0OCw1MTIsW10sImU0YzAiLCJNMzEzLjQtNi42YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDgwIDgwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC04MCA4MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMzM4LjcgMTI4IDEyOCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJTMCAyNDEuNyAwIDIyNGwwLTMyQzAgMTIxLjMgNTcuMyA2NCAxMjggNjRsMjEwLjcgMC0yNS40LTI1LjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zem0tOTYgMjU2YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDgwIDgwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC04MCA4MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjQyLjcgMzg0IDk2IDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ2NS43IDAgNDQ4bDAtMzJjMC01MyA0My05NiA5Ni05NmwxNDYuNyAwLTI1LjQtMjUuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjN6Il19LG1JdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYW5keS1jYW5lIixpY29uOls0NDgsNTEyLFtdLCJmNzg2IiwiTTQyMS44IDM5LjZDNDUyIDg1LjIgNDU2LjUgMTQyLjkgNDM1LjEgMTkybC0xNjUuNCAwIDQxLjQtNDEuNGMuOC0uOCAxLjUtMS42IDIuMi0yLjRMNDIxLjggMzkuNnpNMjY4IDEwMi45Yy0uOCAuNy0xLjYgMS40LTIuNCAyLjJsLTI4LjEgMjguMWMtMjUgMjUtNjUuNSAyNS05MC41IDBzLTI1LTY1LjUgMC05MC41TDE3NSAxNC42QzIyOS45LTQwLjIgMzE0LjUtNDYuNyAzNzYuNS01LjZMMjY4IDEwMi45ek0xMjUuNyAzMzZsODAtODAgMTgxIDAtODIuNSA4Mi41IDAtMi41LTE3OC41IDB6bTExNyA2NEwxNDEuNCA1MDEuM2MtMjUgMjUtNjUuNSAyNS05MC41IDBzLTI1LTY1LjUgMC05MC41bDEwLjctMTAuNyAxODEgMHoiXX0sZ0l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndoZWVsY2hhaXIiLGljb246WzUxMiw1MTIsW10sImYxOTMiLCJNMTM2IDQwYTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTE3LjkgMTk3LjZsMTIuNiA2M2MtMzguNiAxMi40LTY2LjUgNDguNy02Ni41IDkxLjQgMCA1MyA0MyA5NiA5NiA5NiAzNS42IDAgNjYuNy0xOS40IDgzLjMtNDguMiAyLjMgLjEgNC42IC4yIDcgLjJsNC4xIDBjMSAwIDIuMSAwIDMuMSAwbDU1LjIgMGMtMjAuNCA2NC45LTgxIDExMi0xNTIuNyAxMTItODguNCAwLTE2MC03MS42LTE2MC0xNjAgMC03My44IDUwLTEzNS45IDExNy45LTE1NC40em0xNDguNi0yOC4xbDIzLjcgMTE4LjUgNjAuNSAwYzMzLjMgMCA2My4yIDIwLjcgNzQuOSA1MS45bDI1LjUgNjggMTguNy02LjJjMTYuOC01LjYgMzQuOSAzLjUgNDAuNSAyMC4ycy0zLjUgMzQuOS0yMC4yIDQwLjVsLTQ4IDE2Yy0xNi4zIDUuNC0zNC0zLTQwLjEtMTkuMWwtMzYuMy05Ni45Yy0yLjMtNi4yLTguMy0xMC40LTE1LTEwLjRsLTg2LjEgMGMtLjQgMC0uOCAwLTEuMyAwbC0xMy4xIDBjLTMwLjUgMC01Ni44LTIxLjUtNjIuOC01MS40TDE2NS4zIDE4OS43Yy02LjQtMzEuOSAxOC02MS43IDUwLjYtNjEuNyAyNC42IDAgNDUuOCAxNy40IDUwLjYgNDEuNXoiXX0sYkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNwZWxsLWNoZWNrIixpY29uOls1NzYsNTEyLFtdLCJmODkxIiwiTTEyMCAzMmMtNDguNiAwLTg4IDM5LjQtODggODhsMCAxNjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDY0IDAgMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTY4YzAtNDguNi0zOS40LTg4LTg4LTg4bC0xNiAwem00MCAxMjhsLTY0IDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDB6TTMwNCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAyMjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNzIgMGM0OC42IDAgODgtMzkuNCA4OC04OCAwLTIzLjYtOS4zLTQ1LTI0LjQtNjAuOCAxMC4zLTE0LjQgMTYuNC0zMi4xIDE2LjQtNTEuMiAwLTQ4LjYtMzkuNC04OC04OC04OGwtNjQgMHptNjQgMTEybC0zMiAwIDAtNDggMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNHpNMzM2IDI1NmwwLTQ4IDQwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQwIDB6bTIzMyA4NGMxMS0xMy44IDguOC0zMy45LTUtNDVzLTMzLjktOC44LTQ1IDVsLTEwNS43IDEzMi4xLTM4LjctMzguN2MtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjNi40IDYuNCAxNS4zIDkuOCAyNC40IDkuM3MxNy41LTQuOSAyMy4yLTEyTDU2OSAzNDB6Il19LHZJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2b2x1bWUtb2ZmIixpY29uOlszMjAsNTEyLFtdLCJmMDI2IiwiTTk2IDM1MmwtNDggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NmMwLTI2LjUgMjEuNS00OCA0OC00OGw0OCAwIDEzNC4xLTExOS4yYzYuNC01LjcgMTQuNi04LjggMjMuMS04LjggMTkuMiAwIDM0LjggMTUuNiAzNC44IDM0LjhsMCAzNzguNGMwIDE5LjItMTUuNiAzNC44LTM0LjggMzQuOC04LjUgMC0xNi43LTMuMS0yMy4xLTguOEw5NiAzNTJ6Il19LHhJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsdW5ncyIsaWNvbjpbNTc2LDUxMixbMTI5NzI5XSwiZjYwNCIsIk0zMjAgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNDEuOS0zMiAxOS4yIDAtMTE2LjdjMC0yNC41LTE5LjktNDQuNC00NC40LTQ0LjQtMTIuNSAwLTI0LjQgNS4zLTMyLjggMTQuNWwtMjYuNCAyOUM0Mi45IDE2MC44IDAgMjcxLjggMCAzODdsMCAzMC41YzAgNTIuMiA0Mi4zIDk0LjUgOTQuNSA5NC41IDIyIDAgNDMuNy01LjEgNjMuNC0xNWw1LTIuNWMzNy40LTE4LjcgNjEtNTYuOSA2MS05OC44bDAtMTI4IDY0LTM4LjQgNjQgMzguNCAwIDEyOGMwIDQxLjggMjMuNiA4MC4xIDYxIDk4LjhsNSAyLjVjMTkuNyA5LjggNDEuNCAxNSA2My40IDE1IDUyLjIgMCA5NC41LTQyLjMgOTQuNS05NC41bDAtNi4yYzAtMTExLjEtMzYuNy0yMTktMTA0LjQtMzA3TDQyOC45IDQ4LjdjLTguMS0xMC42LTIwLjctMTYuNy0zNC0xNi43LTIzLjcgMC00Mi45IDE5LjItNDIuOSA0Mi45bDAgMTE4LjItMzItMTkuMiAwLTE0MS45eiJdfSx5SXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9va21hcmsiLGljb246WzM4NCw1MTIsWzEyODI3OCw2MTU5MV0sImYwMmUiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0ODBjMCAxMS41IDYuMiAyMi4yIDE2LjIgMjcuOHMyMi4zIDUuNSAzMi4yLS40TDE5MiA0MjEuMyAzMzUuNSA1MDcuNGM5LjkgNS45IDIyLjIgNi4xIDMyLjIgLjRTMzg0IDQ5MS41IDM4NCA0ODBsMC00MTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHoiXX0sd0l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhcmNvZGUiLGljb246WzQ0OCw1MTIsW10sImYwMmEiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyTDY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyem04OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQwMGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDAwYzAtMTMuMy0xMC43LTI0LTI0LTI0em03MiAzMmwwIDM4NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzg0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyem0yMDgtOGwwIDQwMGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDAwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0em0tOTYgMGwwIDQwMGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDAwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0eiJdfSxmWT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsaXN0LW9sIixpY29uOls1MTIsNTEyLFsibGlzdC0xLTIiLCJsaXN0LW51bWVyaWMiXSwiZjBjYiIsIk0wIDcyQzAgNTguOCAxMC43IDQ4IDI0IDQ4bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxMDQgMjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyNCAwIDAtODAtMjQgMEMxMC43IDk2IDAgODUuMyAwIDcyek0zMC40IDMwMS4yQzQxLjggMjkyLjYgNTUuNyAyODggNzAgMjg4bDQuOSAwYzMzLjcgMCA2MS4xIDI3LjQgNjEuMSA2MS4xIDAgMTkuNi05LjQgMzcuOS0yNS4yIDQ5LjRsLTI0IDE3LjUgMzMuMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC05MC43IDBDMTMuMSA0NjQgMCA0NTAuOSAwIDQzNC43IDAgNDI1LjMgNC41IDQxNi41IDEyLjEgNDExbDcwLjUtNTEuM2MzLjQtMi41IDUuNC02LjQgNS40LTEwLjYgMC03LjItNS45LTEzLjEtMTMuMS0xMy4xTDcwIDMzNmMtMy45IDAtNy43IDEuMy0xMC44IDMuNkwzOC40IDM1NS4yYy0xMC42IDgtMjUuNiA1LjgtMzMuNi00LjhTLTEgMzI0LjggOS42IDMxNi44bDIwLjgtMTUuNnpNMjI0IDY0bDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxNjBsMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDE2MGwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LE1JdD1mWSxrSXQ9Zlksekl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtY2lyY2xlLXhtYXJrIixpY29uOls1NzYsNTEyLFtdLCJlNWExIiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTgwIDBjLTIyLjctMzEuNS0zNi03MC4yLTM2LTExMiAwLTEwMC42IDc3LjQtMTgzLjIgMTc2LTE5MS4zbDAtMzguMWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnpNNDMyIDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdsLTM2LjcgMzYuNyAzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtMzYuNy0zNi43LTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzNi43LTM2LjctMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMzYuNyAzNi43IDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6Il19LFNJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjdWJlIixpY29uOls1MTIsNTEyLFtdLCJmMWIyIiwiTTIyNC4zLTIuNWMxOS44LTExLjQgNDQuMi0xMS40IDY0IDBMNDY0LjIgOTljMTkuOCAxMS40IDMyIDMyLjYgMzIgNTUuNGwwIDIwM2MwIDIyLjktMTIuMiA0NC0zMiA1NS40TDI4OC4zIDUxNC41Yy0xOS44IDExLjQtNDQuMiAxMS40LTY0IDBMNDguNSA0MTNjLTE5LjgtMTEuNC0zMi0zMi42LTMyLTU1LjRsMC0yMDNjMC0yMi45IDEyLjItNDQgMzItNTUuNEwyMjQuMy0yLjV6bTIwNy44IDM2MGwwLTE2Ni4xLTE0My44IDgzIDAgMTY2LjEgMTQzLjgtODN6Il19LENJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YXBlIixpY29uOls1NzYsNTEyLFtdLCJmNGRiIiwiTTQxMi44IDQxNmM0MS41LTQwLjcgNjcuMi05Ny4zIDY3LjItMTYwIDAtMTIzLjctMTAwLjMtMjI0LTIyNC0yMjRTMzIgMTMyLjMgMzIgMjU2IDEzMi4zIDQ4MCAyNTYgNDgwbDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMzEuMiAwek0yNTYgMTYwYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyem00OCA5NmE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSxfSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9tYiIsaWNvbjpbNTc2LDUxMixbMTI4MTYzXSwiZjFlMiIsIk00ODAtMTZjNi45IDAgMTMgNC40IDE1LjIgMTAuOWwxMy41IDQwLjQgNDAuNCAxMy41QzU1NS42IDUxIDU2MCA1Ny4xIDU2MCA2NHMtNC40IDEzLTEwLjkgMTUuMmwtNDAuNCAxMy41LTEzLjUgNDAuNEM0OTMgMTM5LjYgNDg2LjkgMTQ0IDQ4MCAxNDRzLTEzLTQuNC0xNS4yLTEwLjlsLTEzLjUtNDAuNC00MC40LTEzLjVDNDA0LjQgNzcgNDAwIDcwLjkgNDAwIDY0czQuNC0xMyAxMC45LTE1LjJsNDAuNC0xMy41IDEzLjUtNDAuNEM0NjctMTEuNiA0NzMuMS0xNiA0ODAtMTZ6TTMyMS40IDk3LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsODAgODBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTEwLjkgMTAuOWM3LjkgMjIgMTIuMiA0NS43IDEyLjIgNzAuNSAwIDExNC45LTkzLjEgMjA4LTIwOCAyMDhTMzIgNDE4LjkgMzIgMzA0IDEyNS4xIDk2IDI0MCA5NmMyNC43IDAgNDguNSA0LjMgNzAuNSAxMi4zbDEwLjktMTAuOXpNMTQ0IDMwNGMwLTUzIDQzLTk2IDk2LTk2IDEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0Yy03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NCAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0eiJdfSx1M2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2NhbGUtdW5iYWxhbmNlZCIsaWNvbjpbNjQwLDUxMixbImJhbGFuY2Utc2NhbGUtbGVmdCJdLCJmNTE1IiwiTTUxOS44IDYyLjRjMTYuOC01LjYgMjUuOC0yMy43IDIwLjItNDAuNVM1MTYuMy0zLjkgNDk5LjYgMS42bC0xMTMgMzcuN2MtMTMuOS0yMy41LTM5LjYtMzkuMy02OC45LTM5LjMtNDQuMiAwLTgwIDM1LjgtODAgODAgMCAzIC4yIDUuOSAuNSA4LjhMMTE1LjYgMTI5LjZjLTE2LjggNS42LTI1LjggMjMuNy0yMC4yIDQwLjVzMjMuNyAyNS44IDQwLjUgMjAuMmwxMzUuNS00NS4yYzQuNSAzLjIgOS4zIDUuOSAxNC40IDguMmwwIDMyNi43YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMCAwLTI5NC43YzIxLTkuMiAzNy4yLTI3IDQ0LjItNDlsMTI1LjktNDJ6TTQzNy4zIDI4OGw3Mi40LTEyNC4yIDcyLjQgMTI0LjItMTQ0LjkgMHptNzIuNCA5NmM2Mi45IDAgMTE1LjItMzQgMTI2LTc4LjkgMi42LTExLTEtMjIuMy02LjctMzIuMUw1MzMuOCAxMDkuOGMtNS04LjYtMTQuMi0xMy44LTI0LjEtMTMuOHMtMTkuMSA1LjMtMjQuMSAxMy44TDM5MC40IDI3My4xYy01LjcgOS44LTkuMyAyMS4xLTYuNyAzMi4xIDEwLjggNDQuOCA2My4xIDc4LjkgMTI2IDc4Ljl6TTEyNi44IDI5MS44bDcyLjQgMTI0LjItMTQ0LjkgMCA3Mi40LTEyNC4yek0uOSA0MzMuMUMxMS43IDQ3OCA2NCA1MTIgMTI2LjggNTEyczExNS4yLTM0IDEyNi03OC45YzIuNi0xMS0xLTIyLjMtNi43LTMyLjFMMTUwLjkgMjM3LjhjLTUtOC42LTE0LjItMTMuOC0yNC4xLTEzLjhzLTE5LjEgNS4zLTI0LjEgMTMuOEw3LjYgNDAxLjFjLTUuNyA5LjgtOS4zIDIxLjEtNi43IDMyLjF6Il19LFRJdD11M2UsZjNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1jYXJldC1sZWZ0IixpY29uOls0NDgsNTEyLFsiY2FyZXQtc3F1YXJlLWxlZnQiXSwiZjE5MSIsIk0wIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2ek0xMjggMjU2YzAtNi43IDIuOC0xMyA3LjctMTcuNmwxMTItMTA0YzctNi41IDE3LjItOC4yIDI1LjktNC40UzI4OCAxNDIuNSAyODggMTUybDAgMjA4YzAgOS41LTUuNyAxOC4yLTE0LjQgMjJzLTE4LjkgMi4xLTI1LjktNC40bC0xMTItMTA0Yy00LjktNC41LTcuNy0xMC45LTcuNy0xNy42eiJdfSxMSXQ9ZjNlLCRJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydWxlciIsaWNvbjpbNTc2LDUxMixbMTI4MjA3XSwiZjU0NSIsIk0yMDkuMSA1MTYuMmMtMTguNyAxOC43LTQ5LjEgMTguNy02Ny45IDBMMjguMSA0MDMuMWMtMTguNy0xOC43LTE4LjctNDkuMSAwLTY3LjlsMTctMTcgNzMuNSA3My41YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNzMuNS03My41IDMzLjktMzMuOSA1MC45IDUwLjljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01MC45LTUwLjkgMzMuOS0zMy45IDczLjUgNzMuNWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTczLjUtNzMuNSAzMy45LTMzLjkgNTAuOSA1MC45YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTAuOS01MC45IDMzLjktMzMuOSA3My41IDczLjVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC03My41LTczLjUgMTctMTdjMTguNy0xOC43IDQ5LjEtMTguNyA2Ny45IDBMNTQ4LjUgMTA4LjljMTguNyAxOC43IDE4LjcgNDkuMSAwIDY3LjlMMjA5LjEgNTE2LjJ6Il19LERJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpIixpY29uOlszMjAsNTEyLFsxMDVdLCI0OSIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsOTYgMCAwIDMyMC05NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI1NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC05NiAwIDAtMzIwIDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6Il19LGhZPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvbHVtZS14bWFyayIsaWNvbjpbNTc2LDUxMixbInZvbHVtZS1tdXRlIiwidm9sdW1lLXRpbWVzIl0sImY2YTkiLCJNNDggMzUybDQ4IDAgMTM0LjEgMTE5LjJjNi40IDUuNyAxNC42IDguOCAyMy4xIDguOCAxOS4yIDAgMzQuOC0xNS42IDM0LjgtMzQuOGwwLTM3OC40YzAtMTkuMi0xNS42LTM0LjgtMzQuOC0zNC44LTguNSAwLTE2LjcgMy4xLTIzLjEgOC44TDk2IDE2MCA0OCAxNjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTZjMCAyNi41IDIxLjUgNDggNDggNDh6TTM2NyAxNzVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDQ3IDQ3LTQ3IDQ3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNDctNDcgNDcgNDdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC00Ny00NyA0Ny00N2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC00NyA0Ny00Ny00N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDB6Il19LEFJdD1oWSxQSXQ9aFksRUl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFyY2h3YXkiLGljb246WzUxMiw1MTIsW10sImY1NTciLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDQ0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyem0wIDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxMjggMCAwLTEyOGMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgMTI4IDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMjcyLTQ0OCAwIDAgMjcyeiJdfSxoM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWRpZ2dpbmciLGljb246WzU3Niw1MTIsWyJkaWdnaW5nIl0sImY4NWUiLCJNMjA4IDQwYTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTAuNSAxODEuM2M1LjktMTEuOSAyMC4zLTE2LjcgMzIuMi0xMC43bDI0LjYgMTIuMyAxMi4yLTIwLjRjMTguOS0zMS41IDUzLjItNTAuNSA4OS42LTUwLjUgNDYuMiAwIDg3LjcgMzAuNSAxMDAuNSA3NS40bDMyLjIgMTEyLjcgOTIuOSA0Ni40IDI1LjgtNDNjNS44LTkuNiAxNi4yLTE1LjUgMjcuNC0xNS41czIxLjcgNS45IDI3LjQgMTUuNWw5NiAxNjBjNS45IDkuOSA2LjEgMjIuMiAuNCAzMi4yUzU1NS41IDUxMiA1NDQgNTEybC0xOTIgMGMtMTEuNSAwLTIyLjItNi4yLTI3LjgtMTYuMnMtNS41LTIyLjMgLjQtMzIuMkwzNzAgMzg3LjggMjEuMyAyMTMuNWMtMTEuOS01LjktMTYuNy0yMC4zLTEwLjctMzIuMnpNOTQuMyAzMDcuNGwxMTIgNTZjMTAuOCA1LjQgMTcuNyAxNi41IDE3LjcgMjguNmwwIDg4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjguMi02MS4zLTMwLjctMzYuMyAxMDljLTUuNiAxNi44LTIzLjcgMjUuOC00MC41IDIwLjJTLTMuOSA0ODYuNiAxLjcgNDY5LjlsNDgtMTQ0YzIuOS04LjggOS41LTE1LjkgMTguMS0xOS40czE4LjMtMy4yIDI2LjYgLjl6Il19LElJdD1oM2UsbVk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2F1Z2UtaGlnaCIsaWNvbjpbNTEyLDUxMixbNjI0NjEsInRhY2hvbWV0ZXItYWx0IiwidGFjaG9tZXRlci1hbHQtZmFzdCJdLCJmNjI1IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6TTI4OCA5NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0yNTYgNDE2YzM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMTYuMi02LTMxLjEtMTYtNDIuM2w2OS41LTEzOC45YzUuOS0xMS45IDEuMS0yNi4zLTEwLjctMzIuMnMtMjYuMy0xLjEtMzIuMiAxMC43TDI2MS4xIDI4OC4yYy0xLjctLjEtMy40LS4yLTUuMS0uMi0zNS4zIDAtNjQgMjguNy02NCA2NHMyOC43IDY0IDY0IDY0ek0xNzYgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTk2IDI4OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTM1Mi0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAweiJdfSxOSXQ9bVksUkl0PW1ZLEZJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnZW5kZXJsZXNzIixpY29uOlszODQsNTEyLFtdLCJmMjJkIiwiTTE5MiAxMjhhMTI4IDEyOCAwIDEgMSAwIDI1NiAxMjggMTI4IDAgMSAxIDAtMjU2em0wIDMyMGExOTIgMTkyIDAgMSAwIDAtMzg0IDE5MiAxOTIgMCAxIDAgMCAzODR6Il19LE9JdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1zdW4iLGljb246WzY0MCw1MTIsWzk5MjVdLCJmNmM0IiwiTTIwOC4zIDE5MmM0My4xIDAgODAuNSAyNC40IDk5LjIgNjAuMSAxNC43LTE3LjIgMzYuNC0yOC4xIDYwLjgtMjguMSA0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDUuNS0uNiAxMC45LTEuNiAxNiAuNSAwIDEuMSAwIDEuNiAwIDUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2bC0zMjAgMGMtNTMgMC05Ni00My05Ni05NiAwLTQyLjUgMjcuNy03OC41IDY2LTkxLjItMS4zLTYuOC0yLTEzLjctMi0yMC44IDAtNjEuOSA1MC4xLTExMiAxMTItMTEyem0xOTItMjIzLjhjNS4zIDAgMTAuMyAyLjcgMTMuMyA3LjFsNDcuMyA3MC40IDgzLjMtMTYuM2M1LjItMSAxMC42IC43IDE0LjMgNC40IDMuOCAzLjggNS40IDkuMiA0LjQgMTQuNGwtMTYuMyA4My4zIDcwLjQgNDcuM2M0LjQgMyA3LjEgOCA3LjEgMTMuMyAwIDUuMy0yLjYgMTAuMy03IDEzLjJsLTcwLjQgNDcuMyAxNC41IDc0LjJjLTE3LjItMjEuNy00MC40LTM4LjQtNjcuMi00Ny4zLTIuNS0xMi43LTYuOS0yNC42LTEyLjgtMzUuNyA5LjYtMTQuOSAxNS4yLTMyLjcgMTUuMi01MS43IDAtNTMtNDMtOTYtOTYtOTYtNDcuOSAwLTg3LjYgMzUuMS05NC44IDgwLjktMjAuOS0xNi00NS45LTI3LTczLjEtMzEuMWwyMS41LTE0LjUtMTYuMy04My4yLS4zLTJjLS4zLTQuNiAxLjMtOS4xIDQuNi0xMi40IDMuOC0zLjggOS4yLTUuNCAxNC40LTQuNGw4My4zIDE2LjMgNDcuMy03MC40IDEuMi0xLjZjMy0zLjUgNy40LTUuNSAxMi4xLTUuNXptMCAxNzUuOGMyNi41IDAgNDggMjEuNSA0OCA0OCAwIDMuOC0uNSA3LjYtMS40IDExLjEtMjEuNy0xNi45LTQ4LjktMjcuMS03OC42LTI3LjEtNC42IDAtOS4xIC4yLTEzLjUgLjcgNi40LTE5IDI0LjMtMzIuNyA0NS41LTMyLjd6Il19LHJaPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJpZ2h0IixpY29uOls1MTIsNTEyLFs4NTk0XSwiZjA2MSIsIk01MDIuNiAyNzguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMNDAyLjcgMjI0IDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzNzAuNyAwLTEwNS40IDEwNS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjB6Il19LGdZPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzaGFrZSIsaWNvbjpbNTc2LDUxMixbMTI5MzA5LDYyNjYyLCJoYW5kc2hha2UtYWx0IiwiaGFuZHNoYWtlLXNpbXBsZSJdLCJmMmI1IiwiTTI2OC45IDg1LjJMMTUyLjMgMjE0LjhjLTQuNiA1LjEtNC40IDEzIC41IDE3LjkgMzAuNSAzMC41IDgwIDMwLjUgMTEwLjUgMGwzMS44LTMxLjhjNC4yLTQuMiA5LjUtNi41IDE0LjktNi45IDYuOC0uNiAxMy44IDEuNyAxOSA2LjlMNTA1LjYgMzc2IDU3NiAzMjAgNTc2IDMyIDQ2NCA5NiA0NDAuMiA4MC4xQzQyNC40IDY5LjYgNDA1LjkgNjQgMzg2LjkgNjRsLTcwLjQgMGMtMS4xIDAtMi4zIDAtMy40IC4xLTE2LjkgLjktMzIuOCA4LjUtNDQuMiAyMS4xek0xMTYuNiAxODIuN0wyMjMuNCA2NCAxODMuOCA2NGMtMjUuNSAwLTQ5LjkgMTAuMS02Ny45IDI4LjFMMTEyIDk2IDAgMzIgMCAzMjAgMTU2LjQgNDUwLjNjMjMgMTkuMiA1MiAyOS43IDgxLjkgMjkuN2wxNS43IDAtNy03Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNDEgNDEgOSAwYzE5LjEgMCAzNy44LTQuMyA1NC44LTEyLjNMMzU5IDQ0MWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDMyIDMyIDE3LjUtMTcuNWM4LjktOC45IDExLjUtMjEuOCA3LjYtMzMuMWwtMTM3LjktMTM2LjgtMTQuOSAxNC45Yy00OS4zIDQ5LjMtMTI5LjEgNDkuMy0xNzguNCAwLTIzLTIzLTIzLjktNTkuOS0yLjItODR6Il19LEJJdD1nWSxISXQ9Z1ksbTNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1za2lpbmciLGljb246WzU3Niw1MTIsWzk5NzUsInNraWluZyJdLCJmN2M5IiwiTTQxNiA1NmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTIuNyAzMDAuOWM2LjEtMTEuOCAyMC42LTE2LjMgMzIuNC0xMC4ybDE5Ny44IDEwMi43IDYyLjMtODcuMi04Mi05Mi4yYy0xMS0xMi40LTE2LjItMjcuNS0xNi4yLTQyLjRsMTExLjYgNTMuNCA0Mi45IDQ4LjJjMTQuOSAxNi43IDE2LjIgNDEuNiAzLjIgNTkuOGwtNjQuNCA5MC4yIDEyOC4zIDY2LjZjMTMuNiA3LjEgMjkuOCA3LjIgNDMuNiAuM2wxNS4yLTcuNmMxMS45LTUuOSAyNi4zLTEuMSAzMi4yIDEwLjdzMS4xIDI2LjMtMTAuNyAzMi4ybC0xNS4yIDcuNmMtMjcuNSAxMy43LTU5LjkgMTMuNS04Ny4yLS43TDEyLjkgMzMzLjNDMS4yIDMyNy4yLTMuNCAzMTIuNyAyLjcgMzAwLjl6TTEwMyA0OS42bDE4IDguNyA4LjctMTcuNGM0LTcuOSAxMy42LTExLjEgMjEuNS03LjJzMTEuMSAxMy42IDcuMiAyMS41bC04LjUgMTcgODQuOCA0MSAuNC0uMiA3Ni4xLTMzLjhjMzEuMy0xMy45IDY3LjktLjcgODMuMiAyOS45bDI4LjkgNTcuOCA2OC43IDI3LjVjMTYuNCA2LjYgMjQuNCAyNS4yIDE3LjggNDEuNnMtMjUuMiAyNC40LTQxLjYgMTcuOEwzOTMuOCAyMjRjLTEwLjktNC40LTE5LjgtMTIuNi0yNS4xLTIzLjFsLTExLjUtMjMuMWMtMTYuNCA5LjQtMjUuOSAxNC44LTI4LjUgMTYuM2wtNy42LTMuNy0xODUuNi04OS42LTkuMiAxOC4zYy00IDcuOS0xMy42IDExLjEtMjEuNSA3LjJzLTExLjEtMTMuNi03LjItMjEuNWw5LTE3LjktMTcuNi04LjVDODEuMSA3NC42IDc3LjggNjUgODEuNiA1N1M5NSA0NS43IDEwMyA0OS42eiJdfSxxSXQ9bTNlLFZJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmlkZ2Utd2F0ZXIiLGljb246WzY0MCw1MTIsW10sImU0Y2UiLCJNNjQgNjRsNTEyIDAgMCAxMTJjLTM3LjYgOS40LTY0IDQzLjItNjQgODJsMCA3Ni40Yy0yMS05LjctNDMuNS0xNC41LTY2LTE0LjQtMTAgLjEtMjAuMSAxLjEtMzAgMy4xbDAtMzUuMWMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmwwIDMyLjdjLTUuMy0uNS0xMC43LS44LTE2LS43LTI3LjcgLjItNTUuNCA3LjgtODAgMjNsMC04NWMwLTM4LjgtMjYuNC03Mi42LTY0LTgyTDY0IDY0ek00MDMuNCA0NDQuMUMzNzkuMSA0NjIuMyAzNTEuMSA0ODAgMzIwIDQ4MHMtNTkuMS0xNy43LTgzLjQtMzUuOWMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDAtMjMuOCAxNy45LTU0LjEgMzUuNS04OC4xIDM1LjMtMjAuNC0uMS00MC43LTYuNy01OS44LTIxLjEtMTAuNi04LTEyLjctMjMtNC43LTMzLjZzMjMtMTIuNyAzMy42LTQuN2MxMS4zIDguNSAyMS42IDExLjQgMzEuMiAxMS41IDE3LjYgLjEgMzcuMy05LjQgNTguOS0yNS43IDM4LjQtMjkgOTAuNS0yOSAxMjkgMCAyNCAxOC4xIDQwLjcgMjYuMyA1NC41IDI2LjNzMzAuNS04LjIgNTQuNS0yNi4zYzM4LjQtMjkgOTAuNS0yOSAxMjkgMCAxNi45IDEyLjcgMzIuOSAyMS41IDQ3LjggMjQuNiAxMy43IDIuOCAyNy40IC45IDQyLjMtMTAuMyAxMC42LTggMjUuNi01LjkgMzMuNiA0LjdzNS45IDI1LjYtNC43IDMzLjZjLTI2LjQgMTkuOS01NC4yIDI0LjQtODAuNyAxOS4xLTI1LjMtNS4xLTQ4LjEtMTguOS02Ny4yLTMzLjMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDB6Il19LGpJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1uZ28iLGljb246WzU3Niw1MTIsW10sImU0ZDciLCJNMTI4IDBDOTIuNyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDggMCAwLTExMmMwLTM1LjMgMjguNy02NCA2NC02NGwyMDggMCAwLTI3MmMwLTM1LjMtMjguNy02NC02NC02NEwxMjggMHptMzIgMTEyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTMwNCA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xNjAgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE0NC0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek01MjAgMzgwYy0yNC4zIDAtNDQgMTkuNy00NCA0NGwwIDgwYzAgMjQuMyAxOS43IDQ0IDQ0IDQ0bDE2IDBjMjQuMyAwIDQ0LTE5LjcgNDQtNDRsMC04MGMwLTI0LjMtMTkuNy00NC00NC00NGwtMTYgMHptLTQgNDRjMC0yLjIgMS44LTQgNC00bDE2IDBjMi4yIDAgNCAxLjggNCA0bDAgODBjMCAyLjItMS44IDQtNCA0bC0xNiAwYy0yLjIgMC00LTEuOC00LTRsMC04MHptLTE2OCAwbDAgODBjMCAyNC4zIDE5LjcgNDQgNDQgNDRsMTYgMGMyNC4zIDAgNDQtMTkuNyA0NC00NGwwLTI0YzAtMTEtOS0yMC0yMC0yMGwtOCAwYy0xMSAwLTIwIDktMjAgMjAgMCA2LjUgMy4xIDEyLjQgOCAxNmwwIDhjMCAyLjItMS44IDQtNCA0bC0xNiAwYy0yLjIgMC00LTEuOC00LTRsMC04MGMwLTIuMiAxLjgtNCA0LTRsMjAuNCAwYzEuOSA5LjEgOS45IDE2IDE5LjYgMTYgMTEgMCAyMC05IDIwLTIwIDAtMTkuOS0xNi4xLTM2LTM2LTM2bC0yNCAwYy0yNC4zIDAtNDQgMTkuNy00NCA0NHptLTkwLjEtMzIuOWMtNC4xLTguMy0xMy41LTEyLjctMjIuNS0xMC41UzIyMCAzOTAuNyAyMjAgNDAwbDAgMTI4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtNDMuMyAyNi4xIDUyLjJjNC4xIDguMyAxMy41IDEyLjcgMjIuNSAxMC41UzMyNCA1MzcuMyAzMjQgNTI4bDAtMTI4YzAtMTEtOS0yMC0yMC0yMHMtMjAgOS0yMCAyMGwwIDQzLjMtMjYuMS01Mi4yeiJdfSxVSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaWdsb28iLGljb246WzU3Niw1MTIsW10sImY3YWUiLCJNMzIwIDMzLjhsMCAxMjYuMi0yNzEuNSAwYzUxLjctNzcuMiAxMzkuNi0xMjggMjM5LjUtMTI4IDEwLjggMCAyMS41IC42IDMyIDEuOHpNMzY4IDE2MGwwLTExNi43YzY2IDE5IDEyMi4yIDYxIDE1OS41IDExNi43TDM2OCAxNjB6TTIyLjYgMjA4bDczLjQgMCAwIDExMi05NiAwYzAtMzkuNyA4LTc3LjYgMjIuNi0xMTJ6TTE3NiAzMjBsLTMyIDAgMC0xMTIgMjg4IDAgMCAxMTItMzIgMCAwIDQ4IDE3NiAwIDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTY0IDE3NiAwIDAtNDh6bTMwNCAwbDAtMTEyIDczLjQgMEM1NjggMjQyLjQgNTc2IDI4MC4zIDU3NiAzMjBsLTk2IDB6TTI4OCAyODhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgODAgMTI4IDAgMC04MGMwLTM1LjMtMjguNy02NC02NC02NHoiXX0sZzNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1kb2xsYXItdG8tc2xvdCIsaWNvbjpbNTc2LDUxMixbImRvbmF0ZSJdLCJmNGI5IiwiTTk2IDIyNGExOTIgMTkyIDAgMSAxIDM4NCAwIDE5MiAxOTIgMCAxIDEgLTM4NCAwem0xNzYtOTJsMCA0Yy0yOC44IC4zLTUyIDIzLjctNTIgNTIuNSAwIDI1LjcgMTguNSA0Ny42IDQzLjkgNTEuOGw0MS43IDdjNiAxIDEwLjQgNi4yIDEwLjQgMTIuMyAwIDYuOS01LjYgMTIuNS0xMi41IDEyLjVMMjQ4IDI3MmMtMTEgMC0yMCA5LTIwIDIwczkgMjAgMjAgMjBsMjQgMCAwIDRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC00LjdjMjUtNC4xIDQ0LTI1LjcgNDQtNTEuOCAwLTI1LjctMTguNS00Ny42LTQzLjktNTEuOGwtNDEuNy03Yy02LTEtMTAuNC02LjItMTAuNC0xMi4zIDAtNi45IDUuNi0xMi41IDEyLjUtMTIuNWw0Ny41IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC04IDAgMC00YzAtMTEtOS0yMC0yMC0yMHMtMjAgOS0yMCAyMHpNNDggMzQ0bDAgMTA0YzAgOC44IDcuMiAxNiAxNiAxNmw0NDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEwNGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMzQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6Il19LFdJdD1nM2UsR0l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InkiLGljb246WzM4NCw1MTIsWzEyMV0sIjU5IiwiTTU4IDQ1LjRDNDcuOCAzMSAyNy44IDI3LjcgMTMuNCAzOFMtNC4zIDY4LjIgNiA4Mi42TDE2MCAyOTguMyAxNjAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNDkuNyAxNTQtMjE1LjdjMTAuMy0xNC40IDYuOS0zNC40LTcuNC00NC42UzMzNi4yIDMxIDMyNiA0NS40TDE5MiAyMzIuOSA1OCA0NS40eiJdfSxiM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1zbWlsZS13aW5rIixpY29uOls1MTIsNTEyLFsxMjg1MjEsInNtaWxlLXdpbmsiXSwiZjRkYSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTY1LjQgMzIxLjljMjAuNCAyOCA1My40IDQ2LjEgOTAuNiA0Ni4xczcwLjItMTguMSA5MC42LTQ2LjFjNy44LTEwLjcgMjIuOC0xMy4xIDMzLjUtNS4zczEzLjEgMjIuOCA1LjMgMzMuNUMzNTYuMyAzOTAgMzA5LjIgNDE2IDI1NiA0MTZzLTEwMC4zLTI2LTEyOS40LTY1LjljLTcuOC0xMC43LTUuNC0yNS43IDUuMy0zMy41czI1LjctNS40IDMzLjUgNS4zek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE2NCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGMwLTMzLjEgMjYuOS02MCA2MC02MGwxNiAwYzMzLjEgMCA2MCAyNi45IDYwIDYwIDAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMC05LTIwLTIwLTIwbC0xNiAwYy0xMSAwLTIwIDktMjAgMjB6Il19LFlJdD1iM2UsWkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpY2UtZm91ciIsaWNvbjpbNDQ4LDUxMixbOTg1OV0sImY1MjQiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTE2MCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0xMjggMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMzUyIDE2MGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zMjAgMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sdjNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1zcXVpbnQtdGVhcnMiLGljb246WzU3Niw1MTIsWzEyOTMxNSwiZ3Jpbi1zcXVpbnQtdGVhcnMiXSwiZjU4NiIsIk01NjAgMzUuNGMwIDI1LjYtMTguOCA0Ny4zLTQ0LjEgNTAuOUw0NjkuMSA5M2MtMTAuNiAxLjUtMTkuNi03LjUtMTguMS0xOC4xbDYuNy00Ni43QzQ2MS4zIDIuOCA0ODMtMTYgNTA4LjYtMTYgNTM3LTE2IDU2MCA3IDU2MCAzNS40ek00MDMuNSA2OC4xYy02IDQyLjIgMzAuMiA3OC40IDcyLjQgNzIuNGwzNy44LTUuNEM1NjUuNyAyMzIgNTUwLjggMzU1LjMgNDY5IDQzN3MtMjA1IDk2LjYtMzAxLjkgNDQuN2w1LjQtMzcuOGM2LTQyLjItMzAuMi03OC40LTcyLjQtNzIuNGwtMzcuOCA1LjRDMTAuMyAyODAgMjUuMiAxNTYuNyAxMDcgNzVTMzEyLTIxLjcgNDA4LjkgMzAuM2wtNS40IDM3Ljh6TTQxNy44IDIwMWMtMTkuMSAzNi40LTQ1LjYgNzIuNy03OC45IDEwNnMtNjkuNiA1OS44LTEwNiA3OC45Yy0xMS4xIDUuOC0xMi40IDIxLjQtMS4xIDI2LjYgNTkuMiAyNy41IDEzMS44IDE2LjggMTgwLjYtMzJzNTkuNS0xMjEuNCAzMi0xODAuNmMtNS4zLTExLjMtMjAuOC0xMC0yNi42IDEuMXpNMTEzLjkgMjcwLjZjMS43IDggOSAxMy40IDE3LjEgMTIuN2w0My4xLTMuOS0zLjkgNDMuMWMtLjcgOC4xIDQuNyAxNS41IDEyLjcgMTcuMXMxNS45LTIuOSAxOC40LTEwLjZsMjgtODQuNmMxLjktNS43IC40LTEyLjEtMy45LTE2LjNzLTEwLjYtNS44LTE2LjMtMy45bC04NC42IDI4Yy03LjcgMi42LTEyLjMgMTAuNS0xMC42IDE4LjV6TTMxNS4yIDk5LjFjLjctOC4xLTQuNy0xNS41LTEyLjctMTcuMXMtMTUuOSAyLjktMTguNSAxMC42bC0yOCA4NC42Yy0xLjkgNS43LS40IDEyLjEgMy45IDE2LjNzMTAuNiA1LjggMTYuMyAzLjlsODQuNi0yOGM3LjctMi42IDEyLjMtMTAuNSAxMC42LTE4LjRzLTktMTMuNC0xNy4xLTEyLjdsLTQzLjEgMy45IDMuOS00My4xek02MC4xIDQyNS43bDQ2LjctNi43YzEwLjYtMS41IDE5LjYgNy41IDE4LjEgMTguMWwtNi43IDQ2LjdDMTE0LjcgNTA5LjIgOTMgNTI4IDY3LjQgNTI4IDM5IDUyOCAxNiA1MDUgMTYgNDc2LjYgMTYgNDUxIDM0LjggNDI5LjMgNjAuMSA0MjUuN3oiXX0sWEl0PXYzZSxLSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1hdWRpbyIsaWNvbjpbMzg0LDUxMixbXSwiZjFjNyIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXptNTMuOCAxODUuMmMtOS4xLTYuMy0yMS41LTQuMS0yNy44IDVzLTQuMSAyMS41IDUgMjcuOGMyMy45IDE2LjcgMzkuNCA0NC4zIDM5LjQgNzUuNXMtMTUuNiA1OC45LTM5LjQgNzUuNWMtOS4xIDYuMy0xMS4zIDE4LjgtNSAyNy44czE4LjggMTEuMyAyNy44IDVjMzQuMS0yMy44IDU2LjYtNjMuNSA1Ni42LTEwOC4zUzI5NiAyNjcuNSAyNjEuOCAyNDMuN3pNODAgMzEyYy04LjggMC0xNiA3LjItMTYgMTZsMCA0OGMwIDguOCA3LjIgMTYgMTYgMTZsMjQgMCAyNy4yIDM0YzMgMy44IDcuNiA2IDEyLjUgNmwuMyAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTEyOGMwLTguOC03LjItMTYtMTYtMTZsLS4zIDBjLTQuOSAwLTkuNSAyLjItMTIuNSA2bC0yNy4yIDM0LTI0IDB6bTEyOCA3Mi4yYzAgMTAuNyAxMC41IDE4LjIgMTguOSAxMS42IDEyLjktMTAuMyAyMS4xLTI2LjEgMjEuMS00My44cy04LjItMzMuNS0yMS4xLTQzLjhjLTguNC02LjctMTguOSAuOS0xOC45IDExLjZsMCA2NC41eiJdfSxRSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLWRvd24tdG8tbGluZSIsaWNvbjpbNTEyLDUxMixbXSwiZTRiOCIsIk0yMTQuNiAzMTAuNmwtNjQgNjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC02NC02NGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAyNzQuNyA5NiAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMjQyLjcgOS40LTkuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zem0yNTYgMGwtNjQgNjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC02NC02NGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGw5LjQgOS40IDAtMjQyLjdjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDI0Mi43IDkuNC05LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3pNMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDQ0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMnoiXX0sSkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImciLGljb246WzQ0OCw1MTIsWzEwM10sIjQ3IiwiTTIyNCA5NkMxMzUuNiA5NiA2NCAxNjcuNiA2NCAyNTZzNzEuNiAxNjAgMTYwIDE2MGM3Ny40IDAgMTQyLTU1IDE1Ni44LTEyOEwyNTYgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE0NCAwYzI1LjggMCA0OS42IDIxLjQgNDcuMiA1MC42LTkuNSAxMTUtMTA1LjggMjA1LjQtMjIzLjIgMjA1LjQtMTIzLjcgMC0yMjQtMTAwLjMtMjI0LTIyNFMxMDAuMyAzMiAyMjQgMzJjNTcuNCAwIDEwOS43IDIxLjYgMTQ5LjMgNTcgMTMuMiAxMS44IDE0LjMgMzIgMi41IDQ1LjJzLTMyIDE0LjMtNDUuMiAyLjVDMzAyLjMgMTExLjQgMjY1IDk2IDIyNCA5NnoiXX0sZU50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpaGFyYSIsaWNvbjpbNTc2LDUxMixbXSwiZjZhNyIsIk0yNzMuNi0zLjJjOC41LTYuNCAyMC4zLTYuNCAyOC44IDBMNDQzLjIgMTAyLjRjOC4zIDYuMiAxOC40IDkuNiAyOC44IDkuNiAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjQgMCAwIDQ4IDU4LjcgNjQgMTMuMyAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04IDAgMCA0OCAyNC40IDMyIDE1LjYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDAgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMTI4IDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTEyOCAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi00MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDIyLjEgMCAxNy45LTMyIDAtNDgtOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEzLjMgMCA1OC43LTY0IDAtNDgtMjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMxMC40IDAgMjAuNS0zLjQgMjguOC05LjZMMjczLjYtMy4yek0xMjggMzY4bDMyMCAwIDAtNDgtMzIwIDAgMCA0OHpNMzg0IDE2MGwtMTkyIDAgMCA0OCAxOTIgMCAwLTQ4eiJdfSx0TnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmxhZy1jaGVja2VyZWQiLGljb246WzQ0OCw1MTIsWzEyNzkzN10sImYxMWUiLCJNMzIgMEM0OS43IDAgNjQgMTQuMyA2NCAzMmwwIDE2IDY5LTE3LjJjMzguMS05LjUgNzguMy01LjEgMTEzLjUgMTIuNSA0Ni4zIDIzLjIgMTAwLjggMjMuMiAxNDcuMSAwbDkuNi00LjhDNDIzLjggMjguMSA0NDggNDMuMSA0NDggNjYuMWwwIDI3OS43YzAgMTMuMy04LjMgMjUuMy0yMC44IDMwbC0zNC43IDEzYy00Ni4yIDE3LjMtOTcuNiAxNC42LTE0MS43LTcuNC0zNy45LTE5LTgxLjQtMjMuNy0xMjIuNS0xMy40TDY0IDM4NCA2NCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0OTcuNyAwIDQ4MEwwIDMyQzAgMTQuMyAxNC4zIDAgMzIgMHpNNjQgMTg3LjFsNjQtMTMuOSAwIDY1LjUtNjQgMTMuOSAwIDY1LjUgNDguOC0xMi4yYzUuMS0xLjMgMTAuMS0yLjQgMTUuMi0zLjNsMC02My45IDM4LjktOC40YzguMy0xLjggMTYuNy0yLjUgMjUuMS0yLjFsMC02NGMxMy42IC40IDI3LjIgMi42IDQwLjQgNi40bDIzLjYgNi45IDAgNjYuNy00MS43LTEyLjNjLTcuMy0yLjEtMTQuOC0zLjQtMjIuMy0zLjhsMCA3MS40YzIxLjggMS45IDQzLjMgNi43IDY0IDE0LjRsMC02OS44IDIyLjcgNi43YzEzLjUgNCAyNy4zIDYuNCA0MS4zIDcuNGwwLTY0LjJjLTcuOC0uOC0xNS42LTIuMy0yMy4yLTQuNWwtNDAuOC0xMiAwLTYyYy0xMy0zLjgtMjUuOC04LjgtMzguMi0xNS04LjItNC4xLTE2LjktNy0yNS44LTguOGwwIDcyLjRjLTEzLS40LTI2IC44LTM4LjcgMy42bC0yNS4zIDUuNSAwLTc1LjItNjQgMTYgMCA3My4xek0zMjAgMzM1LjdjMTYuOCAxLjUgMzMuOS0uNyA1MC02LjhsMTQtNS4yIDAtNzEuNy03LjkgMS44Yy0xOC40IDQuMy0zNy4zIDUuNy01Ni4xIDQuNWwwIDc3LjR6bTY0LTE0OS40bDAtNzAuOGMtMjAuOSA2LjEtNDIuNCA5LjEtNjQgOS4xbDAgNjkuNGMxMy45IDEuNCAyOCAuNSA0MS43LTIuNmwyMi4zLTUuMnoiXX0sYlk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2F1Z2Utc2ltcGxlIixpY29uOls1MTIsNTEyLFsiZ2F1Z2Utc2ltcGxlLW1lZCIsInRhY2hvbWV0ZXItYXZlcmFnZSJdLCJmNjI5IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTMyMCA5NmMwLTI2LjktMTYuNS00OS45LTQwLTU5LjNMMjgwIDEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE3Mi43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHoiXX0sYU50PWJZLHJOdD1iWSx4M2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmlnaHQtbGVmdCIsaWNvbjpbNTEyLDUxMixbImV4Y2hhbmdlLWFsdCJdLCJmMzYyIiwiTTUwMi42IDE1MC42bC05NiA5NmMtOS4yIDkuMi0yMi45IDExLjktMzQuOSA2LjlTMzUyIDIzNi45IDM1MiAyMjRsMC02NC0zMjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJTMTQuMyA5NiAzMiA5NmwzMjAgMCAwLTY0YzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZzMjUuNy0yLjIgMzQuOSA2LjlsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjN6bS0zOTcuMyAzNTJsLTk2LTk2Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w5Ni05NmM5LjItOS4yIDIyLjktMTEuOSAzNC45LTYuOVMxNjAgMjc1LjEgMTYwIDI4OGwwIDY0IDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMjAgMCAwIDY0YzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZzLTI1LjcgMi4yLTM0LjktNi45eiJdfSxpTnQ9eDNlLHNOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaWxscyIsaWNvbjpbNTEyLDUxMixbXSwiZjQ4NCIsIk02NCAxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDExMi05NiAwIDAtMTEyek0xNzYgMzY4YzAtNDguNyAxOC4xLTkzLjIgNDgtMTI3bDAtMTI5QzIyNCA1MC4xIDE3My45IDAgMTEyIDBTMCA1MC4xIDAgMTEyTDAgNDAwYzAgNjEuOSA1MC4xIDExMiAxMTIgMTEyIDM3LjMgMCA3MC4zLTE4LjIgOTAuNy00Ni4zLTE3LTI4LjYtMjYuNy02Mi0yNi43LTk3Ljd6bTY0LjcgNjcuNGM0LjYgOC43IDE2LjMgOS43IDIzLjMgMi43TDQzOC4xIDI2NGM3LTcgNi0xOC43LTIuNy0yMy4zLTIwLjEtMTAuNy00My0xNi43LTY3LjQtMTYuNy03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NCAwIDI0LjMgNiA0Ny4zIDE2LjcgNjcuNHpNMjk3LjkgNDcyYy03IDctNiAxOC43IDIuNyAyMy4zIDIwLjEgMTAuNyA0MyAxNi43IDY3LjQgMTYuNyA3OS41IDAgMTQ0LTY0LjUgMTQ0LTE0NCAwLTI0LjMtNi00Ny4zLTE2LjctNjcuNC00LjYtOC43LTE2LjMtOS43LTIzLjMtMi43TDI5Ny45IDQ3MnoiXX0sb050PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImV4cGxvc2lvbiIsaWNvbjpbNTEyLDUxMixbXSwiZTRlOSIsIk0yNTYtMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0em0wIDE2MGMxMi40IDAgMjIuNyA5LjQgMjMuOSAyMS43TDI5My40IDI5MS42IDQ2Ny42IDExLjNjNi43LTEwLjcgMjAuNS0xNC41IDMxLjctOC41czE1LjggMTkuNSAxMC42IDMxTDM3Mi44IDMzOC42YzIuMiAyLjMgNC4zIDQuNyA2LjMgNy4xbDk3LjItNTQuN2MxMC41LTUuOSAyMy42LTMuMSAzMC45IDYuNHM2LjMgMjMtMi4yIDMxLjVsLTg3IDg3LTcxLjQgMGMtMTMuMi0zNy4zLTQ4LjctNjQtOTAuNS02NHMtNzcuNCAyNi43LTkwLjUgNjRsLTc5LjYgMC03NS41LTUyLjNDLjYgMzU3LTIuOCAzNDQuMSAyLjQgMzMzLjVzMTcuNC0xNS45IDI4LjctMTIuNGw5Ny4yIDMwLjRjMy0zLjkgNi4xLTcuNiA5LjQtMTEuM0w3NS40IDIzNi4zYy02LjEtMTAuMS0zLjktMjMuMSA1LjEtMzAuN3MyMi4yLTcuNSAzMS4xIC4xTDIxNCAyOTMuNmMxLjUtLjQgMy0uOCA0LjUtMS4xbDEzLjYtMTQyLjdjMS4yLTEyLjMgMTEuNS0yMS43IDIzLjktMjEuN3pNMzIgNDY0bDQ1NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw4IDB6Il19LG5OdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtZG93bi10by1wZW9wbGUiLGljb246WzUxMiw1MTIsW10sImU0YjkiLCJNMTEzIDE1M2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBMMTUgODlDNS43IDc5LjYgNS43IDY0LjQgMTUgNTVTMzkuNiA0NS43IDQ5IDU1TDcyIDc4LjEgNzItOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgODYuMSAyMy0yM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTY0IDY0em0zMjAgMGMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBMMzM1IDg5Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMjMgMjMgMC04Ni4xYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA4Ni4xIDIzLTIzYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNjQgNjR6TTI1NiAxOTJhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6bTAgMTYwYzUzIDAgOTYgNDMgOTYgOTZsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjMC01MyA0My05NiA5Ni05NnpNMzIgMjg4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTM1MiAwYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTgwIDM2OGMxNS4zIDAgMjkuNiA0LjMgNDEuOCAxMS44LTYuMyAxNi4yLTkuOCAzMy44LTkuOCA1Mi4ybDAgNDhjMCAxMS40IDIuNCAyMi4yIDYuNyAzMmwtODcuOCAwQzEzLjggNTEyIDAgNDk4LjIgMCA0ODEuMUwwIDQ0OGMwLTQ0LjIgMzUuOC04MCA4MC04MHpNMzkzLjMgNTEyYzQuMy05LjggNi43LTIwLjYgNi43LTMybDAtNDhjMC0xOC40LTMuNS0zNi05LjgtNTIuMiAxMi4yLTcuNSAyNi41LTExLjggNDEuOC0xMS44IDQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMzMuMWMwIDE3LTEzLjggMzAuOS0zMC45IDMwLjlsLTg3LjggMHoiXX0sbE50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXJzLXZpZXdmaW5kZXIiLGljb246WzU3Niw1MTIsW10sImU1OTUiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRsMCA3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNzJjMC04LjggNy4yLTE2IDE2LTE2bDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRTMTQ5LjMgMCAxMzYgMEw2NCAwek00NDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw3MiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDcyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC03MmMwLTM1LjMtMjguNy02NC02NC02NEw0NDAgMHpNNDggMzc2YzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMzYyLjcgMCAzNzZsMCA3MmMwIDM1LjMgMjguNyA2NCA2NCA2NGw3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC03MiAwYy04LjggMC0xNi03LjItMTYtMTZsMC03MnptNTI4IDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA3MmMwIDguOC03LjIgMTYtMTYgMTZsLTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNzIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTcyek0yODggMjE2YTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyem0wIDQwYy01MyAwLTk2IDQzLTk2IDk2bDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0yNGMwLTUzLTQzLTk2LTk2LTk2em0xOTItNjRhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMTY4IDI3Mi4zYy00OS4zIDQuMS04OCA0NS4zLTg4IDk1LjdsMCAxMC43YzAgMTEuOCA5LjYgMjEuMyAyMS4zIDIxLjNsNDYuOCAwYy0yLjctNy41LTQuMS0xNS42LTQuMS0yNGwwLTI0YzAtMjkuNSA4LjgtNTYuOSAyNC03OS43ek00MjcuOSA0MDBsNDYuOCAwYzExLjggMCAyMS4zLTkuNiAyMS4zLTIxLjNsMC0xMC43YzAtNTAuMy0zOC43LTkxLjYtODgtOTUuNyAxNS4yIDIyLjggMjQgNTAuMiAyNCA3OS43bDAgMjRjMCA4LjQtMS40IDE2LjUtNC4xIDI0ek0xOTIgMTkyYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6Il19LGNOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXItb24iLGljb246WzQ0OCw1MTIsW10sImU0ZGQiLCJNMjQ4LThjMC0xMy4zLTEwLjctMjQtMjQtMjRTMjAwLTIxLjMgMjAwLThsMCA2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNjR6TTE0NS4zIDIwOGwxNTcuNSAwYzYuNyAwIDEyLjYgNC4xIDE1IDEwLjRsMjYuMSA2OS42LTIzOS42IDAgMjYuMS02OS42YzIuMy02LjIgOC4zLTEwLjQgMTUtMTAuNHpNMzQgMjkyLjhsLTEuMyAzLjRDMTMuMiAzMDcuMSAwIDMyOCAwIDM1MkwwIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzIgMjg4IDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMjQtMTMuMi00NC45LTMyLjgtNTUuOWwtMS4zLTMuNC0zNi4zLTk2LjljLTExLjctMzEuMi00MS42LTUxLjktNzQuOS01MS45bC0xNTcuNSAwYy0zMy4zIDAtNjMuMiAyMC43LTc0LjkgNTEuOUwzNCAyOTIuOHpNOTYgMzM2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMjI0IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTcgN0MtMi4zIDE2LjQtMi4zIDMxLjYgNyA0MUw1NSA4OWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMFM5OC4zIDY0LjQgODkgNTVMNDEgN0MzMS42LTIuMyAxNi40LTIuMyA3IDd6TTQwNyA3TDM1OSA1NWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDQ4LTQ4YzkuNC05LjQgOS40LTI0LjYgMC0zMy45UzQxNi40LTIuMyA0MDcgN3oiXX0sZE50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNsZWlnaCIsaWNvbjpbNjQwLDUxMixbXSwiZjdjYyIsIk02NCAzMkM0Ni4zIDMyIDMyIDQ2LjMgMzIgNjRTNDYuMyA5NiA2NCA5NmwwIDE2MGMwIDQxLjggMjYuNyA3Ny40IDY0IDkwLjVsMCA2OS41LTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTA0IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC04YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtODAgMCAwLTY0YzUzIDAgOTYtNDMgOTYtOTZsMC05NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDM1LjMtMjguNyA2NC02NCA2NGwtNDguOSAwYy00OC41IDAtOTIuOC0yNy40LTExNC41LTcwLjhsLTI1LjItNTAuNUMyMzcuNyA1OS40IDE5My40IDMyIDE0NC45IDMyTDY0IDMyek00MzIgNDE2bC0yNTYgMCAwLTY0IDI1NiAwIDAgNjR6Il19LHBOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkdW1iYmVsbCIsaWNvbjpbNjQwLDUxMixbXSwiZjQ0YiIsIk05NiAxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDExMiAyNTYgMCAwLTExMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMTYgMTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgNDhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTE2IDAgMCAxNmMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGwwLTExMi0yNTYgMCAwIDExMmMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGwwLTE2LTE2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtNDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMC00OGMwLTI2LjUgMjEuNS00OCA0OC00OGwxNiAwIDAtMTZ6Il19LHkzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWJ5LWNhcnJpYWdlIixpY29uOls1MTIsNTEyLFsiY2FycmlhZ2UtYmFieSJdLCJmNzdkIiwiTTY0IDIwOGwwIDgwYzAgNTMgNDMgOTYgOTYgOTZsMTkyIDBjNTMgMCA5Ni00MyA5Ni05NmwwLTExMiA0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC02NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDU2LTMzNiAwem0uMi00OGwyMjMuOCAwIDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDIzMiAwQzE0MS45IDAgNjguNCA3MC45IDY0LjIgMTYwek0xNjAgNDY0YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bTI4OCAwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6Il19LHVOdD15M2UsZk50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imtpd2ktYmlyZCIsaWNvbjpbNTc2LDUxMixbXSwiZjUzNSIsIk0yOTEuMiAzODguNGMzMS4yLTE4LjggNjQuNy0zNi40IDEwMS4xLTM2LjRsNTUuNyAwYzQuNiAwIDkuMS0uMiAxMy42LS43bDg1LjMgMTIxLjljNCA1LjcgMTEuMyA4LjIgMTcuOSA2LjFTNTc2IDQ3MSA1NzYgNDY0bDAtMjQwYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4bC01NS43IDBDMzU1LjkgOTYgMzIyLjQgNzguNCAyOTEuMiA1OS42IDI2Mi4zIDQyLjEgMjI4LjMgMzIgMTkyIDMyIDg2IDMyIDAgMTE4IDAgMjI0IDAgMjk1LjEgMzguNiAzNTcuMSA5NiAzOTAuM0w5NiA0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQ2YzE1LjMgMy45IDMxLjQgNiA0OCA2IDUuNCAwIDEwLjctLjIgMTYtLjdsMCA0MC43YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC01MC45YzEyLjQtNC40IDI0LjItMTAgMzUuMi0xNi43ek00NDggMjAwYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHoiXX0sdzNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbGVuZGFyLXhtYXJrIixpY29uOls0NDgsNTEyLFsiY2FsZW5kYXItdGltZXMiXSwiZjI3MyIsIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTI5MS45IDIyMC4xYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtMzMuOSAzMy45LTMzLjktMzMuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwzMy45IDMzLjktMzMuOSAzMy45Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMzMuOS0zMy45IDMzLjkgMzMuOWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTMzLjktMzMuOSAzMy45LTMzLjljOS40LTkuNCA5LjQtMjQuNiAwLTMzLjl6Il19LGhOdD13M2UsTTNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1kb3duIixpY29uOls1MTIsNTEyLFs2MTQ2NiwiYXJyb3ctYWx0LWNpcmNsZS1kb3duIl0sImYzNTgiLCJNMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMiAyNTYgMjU2IDAgMSAwIDAtNTEyek0yNDQuNyAzODcuM2wtMTA0LTEwNGMtNC42LTQuNi01LjktMTEuNS0zLjUtMTcuNHM4LjMtOS45IDE0LjgtOS45bDU2IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgNTYgMGM2LjUgMCAxMi4zIDMuOSAxNC44IDkuOXMxLjEgMTIuOS0zLjUgMTcuNGwtMTA0IDEwNGMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDB6Il19LG1OdD1NM2UsZ050PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtbWVkaWNhbCIsaWNvbjpbMzg0LDUxMixbXSwiZjQ3NyIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNMTYwIDI4MGwwIDQwLTQwIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0MCAwIDAgNDBjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNDAgNDAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQwIDAgMC00MGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnoiXX0saWw9e3ByZWZpeDoiZmFzIixpY29uTmFtZToieG1hcmsiLGljb246WzM4NCw1MTIsWzEyODQ3MywxMDAwNSwxMDAwNiwxMDA2MCwyMTUsImNsb3NlIiwibXVsdGlwbHkiLCJyZW1vdmUiLCJ0aW1lcyJdLCJmMDBkIiwiTTU1LjEgNzMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMTQ3LjIgMjU2IDkuOSAzOTMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxOTIuNSAzMDEuMyAzMjkuOSA0MzguNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDIzNy44IDI1NiAzNzUuMSAxMTguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxOTIuNSAyMTAuNyA1NS4xIDczLjR6Il19LGJOdD1pbCx2TnQ9aWwseE50PWlsLHlOdD1pbCxrM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hhcGVzIixpY29uOls1MTIsNTEyLFsidHJpYW5nbGUtY2lyY2xlLXNxdWFyZSJdLCJmNjFmIiwiTTI1NiAwYzExLjIgMCAyMS43IDUuOSAyNy40IDE1LjVsOTYgMTYwYzUuOSA5LjkgNi4xIDIyLjIgLjQgMzIuMlMzNjMuNSAyMjQgMzUyIDIyNGwtMTkyIDBjLTExLjUgMC0yMi4yLTYuMi0yNy44LTE2LjJzLTUuNS0yMi4zIC40LTMyLjJsOTYtMTYwQzIzNC4zIDUuOSAyNDQuOCAwIDI1NiAwek0xMjggMjcyYTExMiAxMTIgMCAxIDEgMCAyMjQgMTEyIDExMiAwIDEgMSAwLTIyNHptMjAwIDE2bDExMiAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgMTEyYzAgMjIuMS0xNy45IDQwLTQwIDQwbC0xMTIgMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC0xMTJjMC0yMi4xIDE3LjktNDAgNDAtNDB6Il19LHdOdD1rM2UsTU50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpY2Utb25lIixpY29uOls0NDgsNTEyLFs5ODU2XSwiZjUyNSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMjQgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sa050PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxvY2stb3BlbiIsaWNvbjpbNTc2LDUxMixbXSwiZjNjMSIsIk0zODQgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NGwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMmMwLTcwLjctNTcuMy0xMjgtMTI4LTEyOFMzMjAgMjUuMyAzMjAgOTZsMCA2NC0xNjAgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyMjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMjRjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTMyIDAgMC02NHoiXX0sek50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcHBlci1ob3QiLGljb246WzU3Niw1MTIsWzEyNzc5OF0sImY4MTYiLCJNNTQ1IDY1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMNDc4LjkgNjMuMkM0NTIuMyA0My42IDQxOS41IDMyIDM4NCAzMiAzNDguOSAzMiAzMTYuNSA0My4zIDI5MC4xIDYyLjQgMjc0LjEgNzQuMSAyODQuMiA5NiAzMDQgOTZsMjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyNGMwIDE5LjggMjEuOSAyOS45IDMzLjYgMTMuOSAxOS4xLTI2LjQgMzAuNC01OC44IDMwLjQtOTMuOSAwLTM1LjUtMTEuNi02OC4zLTMxLjItOTQuOUw1NDUgNjV6TTI3MCAxMzUuNWwtMTU5LjYgMjI4QzEwMS4zIDM3Ni40IDg2LjcgMzg0IDcxIDM4NGwtNyAwYy0yNi41IDAtNDggMjEuNS00OCA0OHMyMS41IDQ4IDQ4IDQ4bDI3LjEgMGM2NS43IDAgMTI5LjctMjAuMiAxODMuNS01Ny44TDQ0MC41IDMwNi4xQzQzNSAyOTUuOSA0MzIgMjg0LjIgNDMyIDI3MmwtNTYgMGMtMzkuOCAwLTcyLTMyLjItNzItNzJsMC01NmMtMTIuMiAwLTIzLjktMy0zNC04LjV6Il19LHozZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkcm9wbGV0LXNsYXNoIixpY29uOls1NzYsNTEyLFsidGludC1zbGFzaCJdLCJmNWM3IiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNDYzLjYgMzk3LjhjMTAuNS0yMy44IDE2LjQtNTAuMSAxNi40LTc3LjggMC05MS4yLTEzMC4yLTI3NC4xLTE2Ni42LTMyMy41LTUuOS04LTE1LjItMTIuNS0yNS4yLTEyLjVsLS40IDBjLTEwIDAtMTkuMyA0LjUtMjUuMiAxMi41LTE1LjYgMjEuMi00OC41IDY2LjktODAuOSAxMTkuNEw0MS0yNC45em05MiAyMjcuN2MtMjEuNiA0My44LTM3IDg1LjktMzcgMTE3LjIgMCAxMDYgODYgMTkyIDE5MiAxOTIgNDMuNCAwIDgzLjQtMTQuNCAxMTUuNS0zOC42TDEzMyAyMDIuOHoiXX0sU050PXozZSxTM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZHJvcGxldCIsaWNvbjpbMzg0LDUxMixbMTI4MTY3LCJ0aW50Il0sImYwNDMiLCJNMTkyIDUxMkM4NiA1MTIgMCA0MjYgMCAzMjAgMCAyMjguOCAxMzAuMiA0NS45IDE2Ni42LTMuNSAxNzIuNS0xMS41IDE4MS44LTE2IDE5MS44LTE2bC40IDBjMTAgMCAxOS4zIDQuNSAyNS4yIDEyLjUgMzYuNCA0OS40IDE2Ni42IDIzMi4zIDE2Ni42IDMyMy41IDAgMTA2LTg2IDE5Mi0xOTIgMTkyek0xMTIgMzEyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgNzUuMSA2MC45IDEzNiAxMzYgMTM2IDEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0Yy00OC42IDAtODgtMzkuNC04OC04OHoiXX0sQ050PVMzZSx2WT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWxpbmVzIixpY29uOlszODQsNTEyLFsxMjg0NDEsMTI4NDYyLDYxNjg2LCJmaWxlLWFsdCIsImZpbGUtdGV4dCJdLCJmMTVjIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek0xMjAgMjU2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LF9OdD12WSxUTnQ9dlksTE50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbW1lbnRzLWRvbGxhciIsaWNvbjpbNTc2LDUxMixbXSwiZjY1MyIsIk0xOTIgMzIwYzEwNiAwIDE5Mi03OC44IDE5Mi0xNzZTMjk4LTMyIDE5Mi0zMiAwIDQ2LjggMCAxNDRjMCAzOS42IDE0LjMgNzYuMiAzOC40IDEwNS42TDIuOCAzMTYuOEMtMi4xIDMyNi4xLS40IDMzNy41IDcgMzQ1czE4LjkgOS4yIDI4LjIgNC4yTDExNi44IDMwNmMyMy4xIDkgNDguNSAxNCA3NS4yIDE0em0zLjIgNDhjMTYuNCA4MS45IDk0LjcgMTQ0IDE4OC44IDE0NCAyNi43IDAgNTIuMS01IDc1LjItMTRsODEuNiA0My4yYzkuMyA0LjkgMjAuNyAzLjIgMjguMi00LjJzOS4yLTE4LjkgNC4yLTI4LjJsLTM1LjYtNjcuMmMyNC4xLTI5LjQgMzguNC02NiAzOC40LTEwNS42IDAtODIuNC02MS43LTE1MS41LTE0NS0xNzAuNy0xMS41IDExNS44LTExNS44IDIwMS4yLTIzNS44IDIwMi43ek0xOTYgMzJjMTEgMCAyMCA5IDIwIDIwbDAgNCA4IDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwbC00Ny41IDBjLTYuOSAwLTEyLjUgNS42LTEyLjUgMTIuNSAwIDYuMSA0LjQgMTEuMyAxMC40IDEyLjNsNDEuNyA3YzI1LjMgNC4yIDQzLjkgMjYuMSA0My45IDUxLjggMCAyNi4xLTE5IDQ3LjctNDQgNTEuOGwwIDQuN2MwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC00LTI0IDBjLTExIDAtMjAtOS0yMC0yMHM5LTIwIDIwLTIwbDU1LjUgMGM2LjkgMCAxMi41LTUuNiAxMi41LTEyLjUgMC02LjEtNC40LTExLjMtMTAuNC0xMi4zbC00MS43LTdjLTI1LjMtNC4yLTQzLjktMjYuMS00My45LTUxLjggMC0yOC44IDIzLjItNTIuMiA1Mi01Mi41bDAtNGMwLTExIDktMjAgMjAtMjB6Il19LEMzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYWduaWZ5aW5nLWdsYXNzLWxvY2F0aW9uIixpY29uOls1MTIsNTEyLFsic2VhcmNoLWxvY2F0aW9uIl0sImY2ODkiLCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NkMyOTYuMyA0MDEuMSAyNTMuOSA0MTYgMjA4IDQxNiA5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMCA0MTYgOTMuMSA0MTYgMjA4ek0yODggMTc2YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwYzAgNDguOCA0Ni41IDExMS42IDY4LjYgMTM4LjYgNiA3LjMgMTYuOCA3LjMgMjIuNyAwIDIyLjEtMjcgNjguNi04OS44IDY4LjYtMTM4LjZ6bS0xMTIgMGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSwkTnQ9QzNlLGlaPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtaW52b2ljZSIsaWNvbjpbMzg0LDUxMixbXSwiZjU3MCIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI3Ny41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI1OC43IDE4LjdDMjQ2LjcgNi43IDIzMC41IDAgMjEzLjUgMEw2NCAwek0zMjUuNSAxNzZMMjMyIDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjA4IDU4LjUgMzI1LjUgMTc2ek02NCAzODRsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDQxNmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTg4IDY0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0Uzc0LjcgNjQgODggNjR6bTAgOTZsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sRE50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlbnRhZ29uIixpY29uOls1NzYsNTEyLFtdLCJlNzkwIiwiTTMxNi40LTMuMWMtMTYuOC0xMi4yLTM5LjYtMTIuMi01Ni40IDBMMzUuMyAxNjAuMmMtMTYuOCAxMi4yLTIzLjkgMzMuOS0xNy40IDUzLjdsODUuOCAyNjQuMWM2LjQgMTkuOCAyNC45IDMzLjIgNDUuNyAzMy4ybDI3Ny43IDBjMjAuOCAwIDM5LjItMTMuNCA0NS43LTMzLjJsODUuOC0yNjQuMWM2LjQtMTkuOC0uNi00MS40LTE3LjQtNTMuN0wzMTYuNC0zLjF6Il19LEFOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZXB1YmxpY2FuIixpY29uOls2NDAsNTEyLFtdLCJmNzVlIiwiTTAgMTkyQzAgMTAzLjYgNzEuNiAzMiAxNjAgMzJsMjI0IDBjODguNCAwIDE2MCA3MS42IDE2MCAxNjBsMCA2NC01NDQgMCAwLTY0em0xNTItMzJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptMjMyIDI0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpNMjgwIDE2MGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwek0xMjggMjg4bDQxNiAwIDAgMTEyYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC00OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDhjMCA0NC4yLTM1LjggODAtODAgODBzLTgwLTM1LjgtODAtODBsMC00OC0zMiAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjQtMTkyIDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNjAgMTI4IDB6Il19LF8zZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaG9wIixpY29uOls1NzYsNTEyLFsic3RvcmUtYWx0Il0sImY1NGYiLCJNMjEuNSAxODEuMUw3OC4zIDY3LjRDODkuMiA0NS43IDExMS4zIDMyIDEzNS42IDMybDMwNC45IDBjMjQuMiAwIDQ2LjQgMTMuNyA1Ny4yIDM1LjRsNTYuOCAxMTMuN2MzLjYgNy4yIDUuNSAxNS4xIDUuNSAyMy4yIDAgMjcuMy0yMS4yIDQ5LjctNDggNTEuNkw1MTIgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTkyLTk2IDAgMCAxNzZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTE5MiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE3Ni4xYy0yNi44LTEuOS00OC0yNC4zLTQ4LTUxLjYgMC04IDEuOS0xNiA1LjUtMjMuMnpNMTI4IDI1NmwwIDExMmMwIDguOCA3LjIgMTYgMTYgMTZsMTI4IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTEyLTE2MCAweiJdfSxQTnQ9XzNlLHhZPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbG0iLGljb246WzQ0OCw1MTIsWzEyNzkwMiw2MjM2OCwiZmlsbS1hbHQiLCJmaWxtLXNpbXBsZSJdLCJmMDA4IiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek00OCAzNjhsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMzA0LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTQ4IDI0MGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0zMDQtMTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNNDggMTEybDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDk2Yy04LjggMC0xNiA3LjItMTYgMTZ6TTM1MiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAweiJdfSxFTnQ9eFksSU50PXhZLE5OdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1jaXJjbGUteG1hcmsiLGljb246WzU3Niw1MTIsW10sImU0ZDQiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMTAuNS0xNC42LTE5LTMwLjctMjUuMS00OGwtNzQuOSAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMyIDAgNCAuMiA1LjkgLjUgNi0yMy42IDE2LjMtNDUuNCAzMC4xLTY0LjVsLTQgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNGMyNy41LTE5LjggNjAuMy0zMi40IDk2LTM1LjRMNDE2IDY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDB6bTMyIDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNzIgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMTI4IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMjIuNi0xNDRsMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTM2LjctMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMzYuNy0zNi43LTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDM2LjcgMzYuNyAzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42TDQ1NC42IDQwMHoiXX0sUk50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbW1lbnRzIixpY29uOls1NzYsNTEyLFsxMjg0OTAsNjE2NzBdLCJmMDg2IiwiTTM4NCAxNDRjMCA5Ny4yLTg2IDE3Ni0xOTIgMTc2LTI2LjcgMC01Mi4xLTUtNzUuMi0xNEwzNS4yIDM0OS4yYy05LjMgNC45LTIwLjcgMy4yLTI4LjItNC4ycy05LjItMTguOS00LjItMjguMmwzNS42LTY3LjJDMTQuMyAyMjAuMiAwIDE4My42IDAgMTQ0IDAgNDYuOCA4Ni0zMiAxOTItMzJTMzg0IDQ2LjggMzg0IDE0NHptMCAzNjhjLTk0LjEgMC0xNzIuNC02Mi4xLTE4OC44LTE0NCAxMjAtMS41IDIyNC4zLTg2LjkgMjM1LjgtMjAyLjcgODMuMyAxOS4yIDE0NSA4OC4zIDE0NSAxNzAuNyAwIDM5LjYtMTQuMyA3Ni4yLTM4LjQgMTA1LjZsMzUuNiA2Ny4yYzQuOSA5LjMgMy4yIDIwLjctNC4yIDI4LjJzLTE4LjkgOS4yLTI4LjIgNC4yTDQ1OS4yIDQ5OGMtMjMuMSA5LTQ4LjUgMTQtNzUuMiAxNHoiXX0sRk50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhZ3MiLGljb246WzU3Niw1MTIsW10sImYwMmMiLCJNNDAxLjIgMzkuMUw1NDkuNCAxODkuNGMyNy43IDI4LjEgMjcuNyA3My4xIDAgMTAxLjJMMzkzIDQ0OC45Yy05LjMgOS40LTI0LjUgOS41LTMzLjkgLjJzLTkuNS0yNC41LS4yLTMzLjlMNTE1LjMgMjU2LjhjOS4yLTkuMyA5LjItMjQuNCAwLTMzLjdMMzY3IDcyLjljLTkuMy05LjQtOS4yLTI0LjYgLjItMzMuOXMyNC42LTkuMiAzMy45IC4yek0zMi4xIDIyOS41TDMyLjEgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTMzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN2wxNDQgMTQ0YzI1IDI1IDI1IDY1LjUgMCA5MC41TDI4NS40IDQxOC43Yy0yNSAyNS02NS41IDI1LTkwLjUgMGwtMTQ0LTE0NGMtMTItMTItMTguNy0yOC4zLTE4LjctNDUuM3ptMTQ0LTg1LjVhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHoiXX0sT050PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imd1biIsaWNvbjpbNTc2LDUxMixbXSwiZTE5YiIsIk01MjggNTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA4LTQ0OCAwQzE0LjMgNjQgMCA3OC4zIDAgOTZMMCAyMDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTAgMGMyMC44IDAgMzYuMSAxOS42IDMxIDM5LjhMMzMgNDQwLjJjLTIuNCA5LjYtLjIgMTkuNyA1LjggMjcuNVM1NC4xIDQ4MCA2NCA0ODBsOTYgMGMxNC43IDAgMjcuNS0xMCAzMS0yNC4yTDIxNyAzNTIgMzIxLjQgMzUyYzIzLjcgMCA0NC44LTE0LjkgNTIuNy0zNy4ybDI2LjctNzQuOCAzMS4xIDBjOC41IDAgMTYuNi0zLjQgMjIuNi05LjRsMjIuNi0yMi42IDY2LjcgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTgwYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtOHpNMzIxLjQgMzA0bC05Mi41IDAgMTYtNjQgMTA1IDAtMjEgNTguN2MtMS4xIDMuMi00LjIgNS4zLTcuNSA1LjN6TTgwIDEyOGwzODQgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkw4MCAxNjBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6Il19LHo3PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1jaGVjayIsaWNvbjpbNTEyLDUxMixbNjE1MzMsImNoZWNrLWNpcmNsZSJdLCJmMDU4IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMSAwLTUxMiAyNTYgMjU2IDAgMSAxIDAgNTEyek0zNzQgMTQ1LjdjLTEwLjctNy44LTI1LjctNS40LTMzLjUgNS4zTDIyMS4xIDMxNS4yIDE2OSAyNjMuMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw3MiA3MmM1IDUgMTEuOCA3LjUgMTguOCA3czEzLjQtNC4xIDE3LjUtOS44TDM3OS4zIDE3OS4yYzcuOC0xMC43IDUuNC0yNS43LTUuMy0zMy41eiJdfSxCTnQ9ejcsSE50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjb3JwaW8iLGljb246WzY0MCw1MTIsW10sImU4NGUiLCJNMzY4IDMyYzYxLjkgMCAxMTIgNTAuMSAxMTIgMTEybDAgMjg5LjdjMCA3LjkgNi40IDE0LjMgMTQuMyAxNC4zIDMuOSAwIDcuNi0xLjYgMTAuMi00LjNsNDAuMS00MS4xLTkuNy05LjdjLTYuOS02LjktOC45LTE3LjItNS4yLTI2LjJTNTQyLjMgMzUyIDU1MiAzNTJsNjQgMCAyLjUgLjFjMTIuMSAxLjIgMjEuNSAxMS41IDIxLjUgMjMuOWwwIDY0LS4zIDMuNmMtMS4yIDguMi02LjcgMTUuMy0xNC41IDE4LjYtOSAzLjctMTkuMyAxLjYtMjYuMi01LjJsLTkuMS05LjEtMzkuNiA0MC42Yy0xNC43IDE1LjEtMzQuOSAyMy42LTU2IDIzLjYtNDMuMyAwLTc4LjMtMzUuMS03OC4zLTc4LjNMNDE2IDE0NGMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OGwwIDMwNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMwNGMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OGwwIDMwNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyMGMwLTE2LjYtMTIuNi0zMC4yLTI4LjctMzEuOGwtNi42LS4zQzQ0LjYgOTQuMiAzMiA4MC42IDMyIDY0IDMyIDQ2LjMgNDYuMyAzMiA2NCAzMiA5MSAzMiAxMTUuMyA0My4xIDEzMi43IDYxIDE1Mi42IDQzIDE3OSAzMiAyMDggMzIgMjM5LjMgMzIgMjY3LjcgNDQuOSAyODggNjUuNyAzMDguMyA0NC45IDMzNi42IDMyIDM2OCAzMnoiXX0sVDNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImlkLWNhcmQtY2xpcCIsaWNvbjpbNTc2LDUxMixbImlkLWNhcmQtYWx0Il0sImY0N2YiLCJNMjU2LTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NC0xMjggMCAwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyek02NCAzMmwxMTIgMCAwIDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDEyOCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzIgMTEyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMyek0xNzYgNDAwYzAgOC44IDcuMiAxNiAxNiAxNmwxOTIgMGM4LjggMCAxNi03LjIgMTYtMTYgMC00NC4yLTM1LjgtODAtODAtODBsLTY0IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwek0yODggMjgwYTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyeiJdfSxxTnQ9VDNlLFZOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb29uIixpY29uOls1MTIsNTEyLFsxMjc3NjksOTIxNF0sImYxODYiLCJNMjU2IDBDMTE0LjYgMCAwIDExNC42IDAgMjU2UzExNC42IDUxMiAyNTYgNTEyYzY4LjggMCAxMzEuMy0yNy4yIDE3Ny4zLTcxLjQgNy4zLTcgOS40LTE3LjkgNS4zLTI3LjFzLTEzLjctMTQuOS0yMy44LTE0LjFjLTQuOSAuNC05LjggLjYtMTQuOCAuNi0xMDEuNiAwLTE4NC04Mi40LTE4NC0xODQgMC03Mi4xIDQxLjUtMTM0LjYgMTAyLjEtMTY0LjggOS4xLTQuNSAxNC4zLTE0LjMgMTMuMS0yNC40UzMyMi42IDguNSAzMTIuNyA2LjNDMjk0LjQgMi4yIDI3NS40IDAgMjU2IDB6Il19LGpOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvaWwtd2VsbCIsaWNvbjpbNTc2LDUxMixbXSwiZTUzMiIsIk01MjguMyA2MS4zYy0xMS40LTQyLjctNTUuMy02OC05OC01Ni42TDQxNC45IDguOEMzOTcuOCAxMy40IDM4Ny43IDMxIDM5Mi4zIDQ4bDI0LjUgOTEuNC0xMDguMiAyOC4xLTYuMy0xOC4xQzI5Ny43IDEzNi42IDI4NS42IDEyOCAyNzIgMTI4cy0yNS43IDguNi0zMC4yIDIxLjRsLTEzLjYgMzktMTMyLjIgMzQuMyAwLTM4LjZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyNjQtMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1MTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTM3LjMgMC02MS40LTE3NS40LTYyLjIgMTYuMSAyMi4xIDYzLjItNjYuNiAwIDE5LjktNTYuOS03NC42IDE5LjMtNDYuNyAxMzMuNS00MS4zIDAgMC0xNTkuMiAzMzcuNC04Ny41IDI1LjIgOTRjNC42IDE3LjEgMjIuMSAyNy4yIDM5LjIgMjIuNmwxNS41LTQuMWM0Mi43LTExLjQgNjgtNTUuMyA1Ni42LTk4TDUyOC4zIDYxLjN6TTIwNS4xIDQ0OGwxNi44LTQ4IDEwMC4yIDAgMTYuOCA0OC0xMzMuOCAweiJdfSxMM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFjaG9ncmFwaC1kaWdpdGFsIixpY29uOls1NzYsNTEyLFsiZGlnaXRhbC10YWNob2dyYXBoIl0sImY1NjYiLCJNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptNjQgMzJsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDk2IDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTg4IDM1MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw4OCAzNTJ6bTI1NiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHpNNDk2IDE5MmE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6TTg4IDMxMmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTEwNC0yNGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwem01NiAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6Il19LFVOdD1MM2UsJDNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxldCIsaWNvbjpbNDQ4LDUxMixbInRhYmxldC1hbmRyb2lkIl0sImYzZmIiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHpNMTg0IDQwMGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxXTnQ9JDNlLGQ3PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJ1YmxlLXNpZ24iLGljb246WzQ0OCw1MTIsWzgzODEsInJvdWJsZSIsInJ1YiIsInJ1YmxlIl0sImYxNTgiLCJNMTEyIDMyQzk0LjMgMzIgODAgNDYuMyA4MCA2NGwwIDIwOC00MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwIDAgMCA0OC00MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwIDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIgMTUyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE1MiAwIDAtNDggMTEyIDBjNzkuNSAwIDE0NC02NC41IDE0NC0xNDRTMzM1LjUgMzIgMjU2IDMyTDExMiAzMnpNMjU2IDI1NmwtMTEyIDAgMC0xNjAgMTEyIDBjNDQuMiAwIDgwIDM1LjggODAgODBzLTM1LjggODAtODAgODB6Il19LEdOdD1kNyxZTnQ9ZDcsWk50PWQ3LFhOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG9zZWQtY2FwdGlvbmluZyIsaWNvbjpbNTEyLDUxMixbXSwiZjIwYSIsIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4em0xNTIgODBsMzIgMGM0LjQgMCA4IDMuNiA4IDggMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTMwLjktMjUuMS01Ni01Ni01NmwtMzIgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4MGMwIDMwLjkgMjUuMSA1NiA1NiA1NmwzMiAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2IDAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgNC40LTMuNiA4LTggOGwtMzIgMGMtNC40IDAtOC0zLjYtOC04bDAtODBjMC00LjQgMy42LTggOC04em0xNjggOGMwLTQuNCAzLjYtOCA4LThsMzIgMGM0LjQgMCA4IDMuNiA4IDggMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTMwLjktMjUuMS01Ni01Ni01NmwtMzIgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4MGMwIDMwLjkgMjUuMSA1NiA1NiA1NmwzMiAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2IDAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgNC40LTMuNiA4LTggOGwtMzIgMGMtNC40IDAtOC0zLjYtOC04bDAtODB6Il19LEtOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW4iLGljb246WzUxMiw1MTIsWzEyODM5NF0sImYzMDQiLCJNMzUyLjkgMjEuMkwzMDggNjYuMSA0NDUuOSAyMDQgNDkwLjggMTU5LjFDNTA0LjQgMTQ1LjYgNTEyIDEyNy4yIDUxMiAxMDhzLTcuNi0zNy42LTIxLjItNTEuMUw0NTUuMSAyMS4yQzQ0MS42IDcuNiA0MjMuMiAwIDQwNCAwcy0zNy42IDcuNi01MS4xIDIxLjJ6TTI3NC4xIDEwMEw1OC45IDMxNS4xYy0xMC43IDEwLjctMTguNSAyNC4xLTIyLjYgMzguN0wuOSA0ODEuNmMtMi4zIDguMyAwIDE3LjMgNi4yIDIzLjRzMTUuMSA4LjUgMjMuNCA2LjJsMTI3LjgtMzUuNWMxNC42LTQuMSAyNy45LTExLjggMzguNy0yMi42TDQxMiAyMzcuOSAyNzQuMSAxMDB6Il19LFFOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbGFuZSIsaWNvbjpbNTc2LDUxMixbXSwiZjA3MiIsIk01MjAgMjAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2cy0yNS4xIDU2LTU2IDU2bC0xMjcuMyAwLTE1OS4yIDE3My42Yy02LjEgNi42LTE0LjYgMTAuNC0yMy42IDEwLjRsLTQzLjcgMGMtMTAuOSAwLTE4LjYtMTAuNy0xNS4yLTIxLjFsNTQuMy0xNjIuOS05OS43IDAtNTIuOCA2NmMtMyAzLjgtNy42IDYtMTIuNSA2bC0xOS44IDBjLTEwLjQgMC0xOC05LjgtMTUuNS0xOS45TDMyIDI1NiA1IDE0Ny45QzIuNCAxMzcuOCAxMC4xIDEyOCAyMC41IDEyOGwxOS44IDBjNC45IDAgOS41IDIuMiAxMi41IDZsNTIuOCA2NiA5OS43IDAtNTQuMy0xNjIuOUMxNDcuNiAyNi43IDE1NS4zIDE2IDE2Ni4yIDE2bDQzLjcgMGM5IDAgMTcuNSAzLjggMjMuNiAxMC40TDM5Mi43IDIwMCA1MjAgMjAweiJdfSxKTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaW1hZ2VzIixpY29uOls1NzYsNTEyLFtdLCJmMzAyIiwiTTk2IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0zMjAgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMOTYgOTZ6TTI0IDEyOGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDI5NmMwIDguOCA3LjIgMTYgMTYgMTZsMzYwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE1MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHptMTY4IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMTk2LjUgMTEuNWMtNC40LTcuMS0xMi4xLTExLjUtMjAuNS0xMS41cy0xNi4xIDQuNC0yMC41IDExLjVsLTU2LjMgOTIuMS0yNC41LTMwLjZjLTQuNi01LjctMTEuNC05LTE4LjctOXMtMTQuMiAzLjMtMTguNyA5bC02NCA4MGMtNS44IDcuMi02LjkgMTcuMS0yLjkgMjUuNFMxNzQuOCAzNTIgMTg0IDM1MmwyNzIgMGM4LjcgMCAxNi43LTQuNyAyMC45LTEyLjNzNC4xLTE2LjgtLjUtMjQuM2wtODgtMTQ0eiJdfSxEM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9iaWxlLXNjcmVlbiIsaWNvbjpbMzg0LDUxMixbIm1vYmlsZS1hbmRyb2lkLWFsdCJdLCJmM2NmIiwiTTE2IDY0QzE2IDI4LjcgNDQuNyAwIDgwIDBMMzA0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMODAgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwxNiA2NHpNMTI4IDQ0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHpNMzA0IDY0bC0yMjQgMCAwIDMwNCAyMjQgMCAwLTMwNHoiXX0sZVJ0PUQzZSx0UnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3VhcmFuaS1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMTlhIiwiTTE5MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQxLjVDNzMuMyA3Ny4zIDAgMTU4LjEgMCAyNTZTNzMuMyA0MzQuNyAxNjggNDQ2LjVsMCA0MS41YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MS41Yzk0LjctMTEuOCAxNjgtOTIuNiAxNjgtMTkwLjUgMC0xNy43LTE0LjMtMzItMzItMzJsLTEzNiAwIDAtOTMuOGMyNS4zIDQuOCA0Ny45IDE3IDY1LjYgMzQuMyAxMi42IDEyLjQgMzIuOSAxMi4yIDQ1LjMtLjRzMTIuMi0zMi45LS41LTQ1LjNDMjk3LjIgOTAuMiAyNTguOCA3MC44IDIxNiA2NS41TDIxNiAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHpNMTY4IDEzMC4ybDAgMjUxLjVDMTA4LjggMzcwLjUgNjQgMzE4LjUgNjQgMjU2czQ0LjgtMTE0LjUgMTA0LTEyNS44em00OCAyNTEuNWwwLTkzLjggMTAwIDBjLTEyLjMgNDcuNi01MS4yIDg0LjUtMTAwIDkzLjh6Il19LEEzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWctc2hvcHBpbmciLGljb246WzQ0OCw1MTIsWyJzaG9wcGluZy1iYWciXSwiZjI5MCIsIk0xNjAgODBjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NGwwIDQ4LTEyOCAwIDAtNDh6bS00OCA0OGwtNjQgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhMMCAzODRjMCA1MyA0MyA5NiA5NiA5NmwyNTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMjA4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC02NCAwIDAtNDhjMC02MS45LTUwLjEtMTEyLTExMi0xMTJTMTEyIDE4LjEgMTEyIDgwbDAgNDh6bTI0IDQ4YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptMTUyIDI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6Il19LGFSdD1BM2UsUDNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1yaWdodCIsaWNvbjpbNTEyLDUxMixbNjE4MzgsImFycm93LWFsdC1jaXJjbGUtcmlnaHQiXSwiZjM1YSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwIDI1NiAyNTYgMCAxIDAgLTUxMiAwem0zODcuMyAxMS4zbC0xMDQgMTA0Yy00LjYgNC42LTExLjUgNS45LTE3LjQgMy41UzI1NiAzNjYuNSAyNTYgMzYwbDAtNTYtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwIDAtNTZjMC02LjUgMy45LTEyLjMgOS45LTE0LjhzMTIuOS0xLjEgMTcuNCAzLjVsMTA0IDEwNGM2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnoiXX0sclJ0PVAzZSxFM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGhvbmUtdm9sdW1lIixpY29uOls1NzYsNTEyLFsidm9sdW1lLWNvbnRyb2wtcGhvbmUiXSwiZjJhMCIsIk0zNDQtMzJjMTI4LjEgMCAyMzIgMTAzLjkgMjMyIDIzMiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTEwMS42LTgyLjQtMTg0LTE4NC0xODQtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptOCAxOTJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0zMjAgODhjMC0xMy4zIDEwLjctMjQgMjQtMjQgNzUuMSAwIDEzNiA2MC45IDEzNiAxMzYgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC00OC42LTM5LjQtODgtODgtODgtMTMuMyAwLTI0LTEwLjctMjQtMjR6TTE0NC4xIDEuNGMxOS43LTUuNCA0MC4zIDQuNyA0OC4xIDIzLjVsNDAuNSA5Ny4zYzYuOSAxNi41IDIuMSAzNS42LTExLjggNDdsLTQ0LjEgMzYuMWMzMi41IDcxLjYgODkgMTMwIDE1OS4zIDE2NC45TDM3NC43IDMyM2MxMS4zLTEzLjkgMzAuNC0xOC42IDQ3LTExLjhMNTE5IDM1MS44YzE4LjggNy44IDI4LjkgMjguNCAyMy41IDQ4LjFsLTEuNSA1LjVDNTIzLjQgNDcwLjEgNDYwLjkgNTI1LjMgMzg0LjYgNTA5LjIgMjA5LjYgNDcyLjEgNzEuOSAzMzQuNCAzNC44IDE1OS40IDE4LjcgODMuMSA3My45IDIwLjYgMTM4LjUgMi45bDUuNS0xLjV6Il19LGlSdD1FM2Usc1J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImN1YmVzIixpY29uOls1MTIsNTEyLFtdLCJmMWIzIiwiTTI4NC0xLjNjLTE3LjMtMTAtMzguNy0xMC01NiAwTDE0My44IDQ3LjNjLTE3LjMgMTAtMjggMjguNS0yOCA0OC41bDAgMTAxLjktODguMyA1MWMtMTcuMyAxMC0yOCAyOC41LTI4IDQ4LjVsMCA5Ny4zYzAgMjAgMTAuNyAzOC41IDI4IDQ4LjVsODQuMyA0OC42YzE3LjMgMTAgMzguNyAxMCA1NiAwbDg4LjMtNTEgODguMyA1MWMxNy4zIDEwIDM4LjcgMTAgNTYgMEw0ODQuNSA0NDNjMTcuMy0xMCAyOC0yOC41IDI4LTQ4LjVsMC05Ny4zYzAtMjAtMTAuNy0zOC41LTI4LTQ4LjVsLTg4LjMtNTEgMC0xMDEuOWMwLTIwLTEwLjctMzguNS0yOC00OC41TDI4NC0xLjN6TTIzMiAyOTIuNmwwIDEwNi41LTg4LjMgNTFjLTEuMiAuNy0yLjYgMS4xLTQgMS4xbDAtMTA1LjMgOTIuMy01My4zem0yMzEuNCAuNmMuNyAxLjIgMS4xIDIuNiAxLjEgNGwwIDk3LjNjMCAyLjktMS41IDUuNS00IDYuOWwtODQuMyA0OC42Yy0xLjIgLjctMi42IDEuMS00IDEuMWwwLTEwNS4zIDkxLjItNTIuNnpNMzQ4LjMgOTUuOGwwIDEwMS45LTkyLjMgNTMuMyAwLTEwNi41IDkxLjItNTIuNmMuNyAxLjIgMS4xIDIuNiAxLjEgNHoiXX0sb1J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBob25lIixpY29uOls1MTIsNTEyLFsxMjgyMjIsMTI4Mzc5XSwiZjA5NSIsIk0xNjAuMiAyNUMxNTIuMyA2LjEgMTMxLjctMy45IDExMi4xIDEuNGwtNS41IDEuNWMtNjQuNiAxNy42LTExOS44IDgwLjItMTAzLjcgMTU2LjQgMzcuMSAxNzUgMTc0LjggMzEyLjcgMzQ5LjggMzQ5LjggNzYuMyAxNi4yIDEzOC44LTM5LjEgMTU2LjQtMTAzLjdsMS41LTUuNWM1LjQtMTkuNy00LjctNDAuMy0yMy41LTQ4LjFsLTk3LjMtNDAuNWMtMTYuNS02LjktMzUuNi0yLjEtNDcgMTEuOGwtMzguNiA0Ny4yQzIzMy45IDMzNS40IDE3Ny4zIDI3NyAxNDQuOCAyMDUuM0wxODkgMTY5LjNjMTMuOS0xMS4zIDE4LjYtMzAuNCAxMS44LTQ3TDE2MC4yIDI1eiJdfSxuUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9yaWktZ2F0ZSIsaWNvbjpbNDQ4LDUxMixbOTk2MV0sImY2YTEiLCJNMCA5NkwwIDI4LjVDMCAyMS42IDUuNiAxNiAxMi41IDE2IDE0LjggMTYgMTcgMTYuNiAxOSAxNy44TDU4IDQxLjJDODIuOSA1Ni4xIDExMS4zIDY0IDE0MC4zIDY0bDE2Ny40IDBjMjkgMCA1Ny41LTcuOSA4Mi4zLTIyLjhsMzktMjMuNGMxLjktMS4yIDQuMi0xLjggNi40LTEuOCA2LjkgMCAxMi41IDUuNiAxMi41IDEyLjVMNDQ4IDk2YzAgMzUuMy0yOC43IDY0LTY0IDY0bDAgNjQgMTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYgMCAwIDE5MmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE5Mi0xOTIgMCAwIDE5MmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE5Mi0xNiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC02NEMyOC43IDE2MCAwIDEzMS4zIDAgOTZ6TTEyOCAyMjRsNjQgMCAwLTY0LTY0IDAgMCA2NHptMTI4IDBsNjQgMCAwLTY0LTY0IDAgMCA2NHoiXX0sbFJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhY29uIixpY29uOls1NzYsNTEyLFsxMjkzNjNdLCJmN2U1IiwiTTU1NyA5Ni43YzE0LjQgMTQuNCAxMi40IDM4LjQtNC4zIDUwLjJsLTY0LjYgNDUuN2MtNDMuNyAzMC45LTc5LjIgNzEuOS0xMDMuNCAxMTkuNmwtMjUuMyA0OS44Yy0yNS4xIDQ5LjMtNjIuMSA5MS41LTEwNy44IDEyMi42bC03NC4xIDUwLjZjLTEzLjEgOC45LTMwLjcgNy4zLTQxLjgtMy45bC00NC45LTQ0LjkgODYuNS02Ni41YzQyLjMtMzIuNSA3Ni43LTc0LjMgMTAwLjYtMTIybDI0LjUtNDkuMWMyNC41LTQ5IDYxLjgtOTAuNiAxMDcuOS0xMjAuMmwxMDguNy02OS45IDM4IDM4ek00ODQuMiAyMy45TDM4NC4zIDg4LjJjLTUzLjQgMzQuMy05Ni41IDgyLjQtMTI0LjkgMTM5LjFsLTI0LjUgNDkuMWMtMjAuNiA0MS4zLTUwLjMgNzcuMy04Ni45IDEwNS40bC05MS40IDcwLjMtMzYuOS0zNi45Yy0xNC40LTE0LjQtMTIuNC0zOC40IDQuMy01MC4ybDY0LjYtNDUuN2M0My43LTMwLjkgNzkuMi03MS45IDEwMy40LTExOS42bDI1LjMtNDkuOEMyNDIuMyAxMDAuOCAyNzkuMyA1OC42IDMyNSAyNy40bDc0LjEtNTAuNmMxMy4xLTguOSAzMC42LTcuMyA0MS44IDMuOWw0My4zIDQzLjN6Il19LGNSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tZmFsbGluZy1idXJzdCIsaWNvbjpbNTc2LDUxMixbXSwiZTU0NyIsIk0yNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDUuNGMwIDU1LjItMjMuNyAxMDctNjMuOSAxNDMuMWw2Mi45IDc1LjUgODkgMGMxNS4xIDAgMjkuMyA3LjEgMzguNCAxOS4ybDQzLjIgNTcuNmMxMC42IDE0LjEgNy43IDM0LjItNi40IDQ0LjhzLTM0LjIgNy43LTQ0LjgtNi40TDM2OCAzMjAgMjYzLjIgMzIwIDM3Ni44IDQ1OS44YzExLjEgMTMuNyA5LjEgMzMuOS00LjcgNDVzLTMzLjkgOS4xLTQ1LTQuN0wxMzcuNCAyNjYuNmMtNi4xIDE1LTkuNCAzMS4zLTkuNCA0OGwwIDY5LjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02OS40YzAtNjcuNCAzNS40LTEyOS45IDkzLjItMTY0LjZsNC42LTIuOEMyMDAuNCAxMjQgMjI0IDgyLjQgMjI0IDM3LjRsMC01LjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTE2IDg4QTU2IDU2IDAgMSAxIDEyOCA4OCA1NiA1NiAwIDEgMSAxNiA4OHptMzc2LTcuOWMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0OHptMTA0IDE1MmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwem0tNTQuNS05Ny41Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWwzMy45LTMzLjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC0zMy45IDMzLjljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAweiJdfSxJM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicXVvdGUtcmlnaHQiLGljb246WzQ0OCw1MTIsWzgyMjEsInF1b3RlLXJpZ2h0LWFsdCJdLCJmMTBlIiwiTTQ0OCAyOTZjMCA2Ni4zLTUzLjcgMTIwLTEyMCAxMjBsLTggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw4IDBjMzAuOSAwIDU2LTI1LjEgNTYtNTZsMC04LTY0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEzNnptLTI1NiAwYzAgNjYuMy01My43IDEyMC0xMjAgMTIwbC04IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOCAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2bDAtOC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMzZ6Il19LGRSdD1JM2UscFJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLW1lZGljYWwtZmxhZyIsaWNvbjpbNjQwLDUxMixbXSwiZTUxNCIsIk00ODAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDAgMCAyODhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC00NDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTI2Ny41IDU5LjFMNDAwIDE4Ni45IDQwMCA1MDMuNGMtOS40IDUuNC0yMC4zIDguNi0zMiA4LjZsLTI1NiAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE0NC0xOS45IDBDMTIuNiAzMDQgMCAyOTEuNCAwIDI3NS45IDAgMjY4LjMgMy4xIDI2MSA4LjYgMjU1LjdMMjEyLjUgNTkuMUMyMTkuOSA1MiAyMjkuNyA0OCAyNDAgNDhzMjAuMSA0IDI3LjUgMTEuMXpNMjA0LjggMjU2LjhsMCA0NC00NCAwYy05LjcgMC0xNy42IDcuOS0xNy42IDE3LjZsMCAzNS4yYzAgOS43IDcuOSAxNy42IDE3LjYgMTcuNmw0NCAwIDAgNDRjMCA5LjcgNy45IDE3LjYgMTcuNiAxNy42bDM1LjIgMGM5LjcgMCAxNy42LTcuOSAxNy42LTE3LjZsMC00NCA0NCAwYzkuNyAwIDE3LjYtNy45IDE3LjYtMTcuNmwwLTM1LjJjMC05LjctNy45LTE3LjYtMTcuNi0xNy42bC00NCAwIDAtNDRjMC05LjctNy45LTE3LjYtMTcuNi0xNy42bC0zNS4yIDBjLTkuNyAwLTE3LjYgNy45LTE3LjYgMTcuNnoiXX0sdVJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InByZXNjcmlwdGlvbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjViMSIsIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMkwwIDI4OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjQgNTAuNyAwIDEyOCAxMjgtMTA1LjQgMTA1LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMjg4IDM5Ny4zIDM5My40IDUwMi42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMzMzLjMgMzUyIDQzOC42IDI0Ni42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDI4OCAzMDYuNyAyMDIuMiAyMjAuOUMyNTEuNCAyMDkuMSAyODggMTY0LjggMjg4IDExMiAyODggNTAuMSAyMzcuOSAwIDE3NiAwTDMyIDB6TTE3NiAxNjBsLTExMiAwIDAtOTYgMTEyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDh6Il19LGZSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlLXRocmVlIixpY29uOls0NDgsNTEyLFs5ODU4XSwiZjUyNyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem02NCA5NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTY0IDEyOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xMjggNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxoUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctbG9jayIsaWNvbjpbNTc2LDUxMixbXSwiZTRkNiIsIk0zMiA2NEMzMiAyOC43IDYwLjcgMCA5NiAwTDM1MiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTIxLjNjLTQ2LjkgMTktODAgNjUtODAgMTE4LjdsMCAyNC40Yy0xOS42IDE3LjYtMzIgNDMuMS0zMiA3MS41bDAgOTZjMCA1LjUgLjUgMTAuOSAxLjMgMTYuMUw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDMyIDY0ek0xNzYgMzg0bDAgODAgODAgMCAwLTY0LjFjMC0xMy43IDEuOS0yNyA1LjUtMzkuNi01LjctNS4yLTEzLjItOC4zLTIxLjUtOC4zbC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMzA3IDIyNC4zYy0xLS4yLTItLjMtMy0uM2wtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDE2LjcgMGMyLjEtMjIuOCA4LjQtNDQuMyAxOC4zLTYzLjd6TTE0NCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0xMTIgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTQ0IDIyNGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0zNTIgODAuMWMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ3LjkgNjQgMCAwLTQ3Ljl6TTM1MiA0MDBjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zbDAtNTAuNmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNTAuNmMxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjNsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZ6Il19LE4zZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpZC1jYXJkIixpY29uOls1NzYsNTEyLFs2MjE0NywiZHJpdmVycy1saWNlbnNlIl0sImYyYzIiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmw0NDggMGMzNS4zIDAgNjQgMjguNyA2NCA2NEwwIDk2em0wIDQ4bDU3NiAwIDAgMjcyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxNDR6TTI0Ny4zIDQxNmMyMC4yIDAgMzUuMy0xOS40IDIyLjQtMzUtMTQuNy0xNy43LTM2LjktMjktNjEuNy0yOWwtNjQgMGMtMjQuOCAwLTQ3IDExLjMtNjEuNyAyOS0xMi45IDE1LjYgMi4yIDM1IDIyLjQgMzVsMTQyLjUgMHpNMTc2IDMxMmE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnpNMzYwIDIwOGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTEyIDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTExMiAweiJdfSxtUnQ9TjNlLFIzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtcGxheSIsaWNvbjpbNTEyLDUxMixbNjE0NjksInBsYXktY2lyY2xlIl0sImYxNDQiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHpNMTg4LjMgMTQ3LjFjLTcuNiA0LjItMTIuMyAxMi4zLTEyLjMgMjAuOWwwIDE3NmMwIDguNyA0LjcgMTYuNyAxMi4zIDIwLjlzMTYuOCA0LjEgMjQuMy0uNWwxNDQtODhjNy4xLTQuNCAxMS41LTEyLjEgMTEuNS0yMC41cy00LjQtMTYuMS0xMS41LTIwLjVsLTE0NC04OGMtNy40LTQuNS0xNi43LTQuNy0yNC4zLS41eiJdfSxnUnQ9UjNlLEYzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWxhdWdoLWJlYW0iLGljb246WzUxMiw1MTIsWzEyODUxMywibGF1Z2gtYmVhbSJdLCJmNTlhIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xMDEuNiAzMTRjLTMuNy0xMy43IDcuNS0yNiAyMS43LTI2bDI2NS40IDBjMTQuMiAwIDI1LjQgMTIuMyAyMS43IDI2LTE4LjUgNjgtODAuNiAxMTgtMTU0LjQgMTE4UzEyMCAzODIgMTAxLjYgMzE0ek0xNzYgMTY0Yy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0sYlJ0PUYzZSx2UnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGVhZiIsaWNvbjpbNTEyLDUxMixbXSwiZjA2YyIsIk00NzEuMyA2LjdDNDc3LjcgLjYgNDg3LTEuNiA0OTUuNiAxLjIgNTA1LjQgNC41IDUxMiAxMy43IDUxMiAyNGwwIDE4Ni45YzAgMTMxLjItMTA4LjEgMjM3LjEtMjM4LjggMjM3LjEtNzcgMC0xNDMuNC00OS41LTE2Ny41LTExOC43LTM1LjQgMzAuOC01Ny43IDc2LjEtNTcuNyAxMjYuNyAwIDEzLjMtMTAuNyAyNC0yNCAyNFMwIDQ2OS4zIDAgNDU2QzAgMzgxLjEgMzguMiAzMTUuMSA5Ni4xIDI3Ni4zIDEzMS40IDI1Mi43IDE3My41IDI0MCAyMTYgMjQwbDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTgwIDBjLTM5LjcgMC03Ny4zIDguOC0xMTEgMjQuNSAyMy4zLTcwIDg5LjItMTIwLjUgMTY3LTEyMC41IDY2LjQgMCAxMTUuOC0yMi4xIDE0OC43LTQ0IDE5LjItMTIuOCAzNS41LTI4LjEgNTAuNy00NS4zeiJdfSx4UnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY2hpbW5leS11c2VyIixpY29uOls1MTIsNTEyLFtdLCJlMDY1IiwiTTIzNC4yIDguNmMxMi4zLTExLjQgMzEuMy0xMS40IDQzLjUgMEwzNjggOTIuMyAzNjggODBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEwMS41IDM3LjggMzUuMWM5LjYgOSAxMi44IDIyLjkgOCAzNS4xUzQ5My4yIDI3MiA0ODAgMjcybC0xNiAwIDAgMTc2YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0yODggMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNzYtMTYgMGMtMTMuMiAwLTI1LTguMS0yOS44LTIwLjNzLTEuNi0yNi4yIDgtMzUuMWwyMjQtMjA4ek0zMTIgMjU2YTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHpNMTQ0IDQzMmMwIDguOCA3LjIgMTYgMTYgMTZsMTkyIDBjOC44IDAgMTYtNy4yIDE2LTE2IDAtNDQuMi0zNS44LTgwLTgwLTgwbC02NCAwYy00NC4yIDAtODAgMzUuOC04MCA4MHoiXX0seVk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm90YXRlLXJpZ2h0IixpY29uOls1MTIsNTEyLFsicmVkby1hbHQiLCJyb3RhdGUtZm9yd2FyZCJdLCJmMmY5IiwiTTQ4OCAxOTJsLTE0NCAwYy05LjcgMC0xOC41LTUuOC0yMi4yLTE0LjhzLTEuNy0xOS4zIDUuMi0yNi4ybDQ2LjctNDYuN2MtNzUuMy01OC42LTE4NC4zLTUzLjMtMjUzLjUgMTUuOS03NSA3NS03NSAxOTYuNSAwIDI3MS41czE5Ni41IDc1IDI3MS41IDBjOC4yLTguMiAxNS41LTE2LjkgMjEuOS0yNi4xIDEwLjEtMTQuNSAzMC4xLTE4IDQ0LjYtNy45czE4IDMwLjEgNy45IDQ0LjZjLTguNSAxMi4yLTE4LjIgMjMuOC0yOS4xIDM0LjctMTAwIDEwMC0yNjIuMSAxMDAtMzYyIDBTLTI1IDE3NSA3NSA3NWM5NC4zLTk0LjMgMjQzLjctOTkuNiAzNDQuMy0xNi4yTDQ3MSA3YzYuOS02LjkgMTcuMi04LjkgMjYuMi01LjJTNTEyIDE0LjMgNTEyIDI0bDAgMTQ0YzAgMTMuMy0xMC43IDI0LTI0IDI0eiJdfSx5UnQ9eVksd1J0PXlZLE1SdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b290aCIsaWNvbjpbNDQ4LDUxMixbMTI5NDYzXSwiZjVjOSIsIk0xNDUgNS43TDIyNCAzMiAzMDMgNS43QzMxNC4zIDEuOSAzMjYgMCAzMzcuOSAwIDM5OC43IDAgNDQ4IDQ5LjMgNDQ4IDExMC4xbDAgNjguNWMwIDI5LjQtOS41IDU4LjEtMjcuMiA4MS42bC0xLjEgMS41Yy0xMi45IDE3LjItMjEuMyAzNy40LTI0LjMgNTguN0wzNzMuNyA0NzEuOWMtMy4zIDIzLTIzIDQwLjEtNDYuMiA0MC4xLTIyLjggMC00Mi4zLTE2LjUtNDYtMzlMMjYxLjMgMzUxLjZjLTMtMTguMi0xOC44LTMxLjYtMzcuMy0zMS42cy0zNC4yIDEzLjQtMzcuMyAzMS42TDE2Ni41IDQ3M2MtMy44IDIyLjUtMjMuMiAzOS00NiAzOS0yMy4yIDAtNDIuOS0xNy4xLTQ2LjItNDAuMUw1Mi42IDMyMC41Yy0zLTIxLjMtMTEuNC00MS41LTI0LjMtNTguN2wtMS4xLTEuNUM5LjUgMjM2LjcgMCAyMDguMSAwIDE3OC43bDAtNjguNUMwIDQ5LjMgNDkuMyAwIDExMC4xIDAgMTIyIDAgMTMzLjcgMS45IDE0NSA1Ljd6Il19LGtSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1jaGltbmV5LXdpbmRvdyIsaWNvbjpbNTEyLDUxMixbXSwiZTAwZCIsIk0yMzQuMiA4LjZjMTIuMy0xMS40IDMxLjMtMTEuNCA0My41IDBMMzY4IDkyLjMgMzY4IDgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMDEuNSAzNy44IDM1LjFjOS42IDkgMTIuOCAyMi45IDggMzUuMVM0OTMuMiAyNzIgNDgwIDI3MmwtMTYgMCAwIDE3NmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMjg4IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOHpNMjE2IDIyNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtODBjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTgwIDB6Il19LHpSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb3RvcmN5Y2xlIixpY29uOls2NDAsNTEyLFsxMjc5NDldLCJmMjFjIiwiTTI4MCAxNmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw1Ni42IDAgMjIuNSA0OC43LTk1LjEgNzEuM2MtMzMuNC0yNS4xLTc1LTQwLTEyMC00MGwtNTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw1NiAwYzc4LjUgMCAxNDMuMiA1OS42IDE1MS4yIDEzNmwtMjUuNCAwYy0xMS4yLTU5LjItNjMuMy0xMDQtMTI1LjgtMTA0LTcwLjcgMC0xMjggNTcuMy0xMjggMTI4UzczLjMgNDgwIDE0NCA0ODBjNjIuNSAwIDExNC41LTQ0LjggMTI1LjgtMTA0bDUwLjIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTIyLjVjMC00NS4xIDI1LjctODUuNCA2NS41LTEwNy43bDEyLjEgMjYuMWMtMzIuNCAyMy4yLTUzLjUgNjEuMi01My41IDEwNC4xIDAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4czEyOC01Ny4zIDEyOC0xMjgtNTcuMy0xMjgtMTI4LTEyOGMtMTAuNyAwLTIxIDEuMy0zMC45IDMuOEw0MzMuOCAxNjAgNDg4IDE2MGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0bC01My4zIDBjLTYuOSAwLTEzLjcgMi4yLTE5LjIgNi40bC0xNy4xIDEyLjgtMjQuNi01My4zQzM2OS45IDIxLjQgMzYxLjQgMTYgMzUyIDE2bC03MiAwek00NDUuOCAzMDAuNGwyOC40IDYxLjZjNS42IDEyIDE5LjggMTcuMyAzMS44IDExLjdzMTcuMy0xOS44IDExLjctMzEuOGwtMjguNS02MS42YzIuMi0uMiA0LjQtLjMgNi43LS4zIDM5LjggMCA3MiAzMi4yIDcyIDcycy0zMi4yIDcyLTcyIDcyLTcyLTMyLjItNzItNzJjMC0yMC4yIDguMy0zOC41IDIxLjgtNTEuNnpNMTQ0IDQyNGMtMzkuOCAwLTcyLTMyLjItNzItNzJzMzIuMi03MiA3Mi03MmMzMS4zIDAgNTggMjAgNjcuOSA0OEwxNDQgMzI4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDY3LjkgMGMtOS45IDI4LTM2LjYgNDgtNjcuOSA0OHoiXX0sTzNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhY2t3YXJkLWZhc3QiLGljb246WzUxMiw1MTIsWzkxOTgsImZhc3QtYmFja3dhcmQiXSwiZjA0OSIsIk00OTIuMiA0NzcuNmMtMTIgNS0yNS43IDIuMi0zNC45LTYuOUwyODggMzAxLjMgMjg4IDQ0OGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOUw2NCAzMDEuMyA2NCA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0NjUuNyAwIDQ0OEwwIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyUzY0IDQ2LjMgNjQgNjRMNjQgMjEwLjcgMjMzLjQgNDEuNGM5LjItOS4yIDIyLjktMTEuOSAzNC45LTYuOVMyODggNTEuMSAyODggNjRsMCAxNDYuNyAxNjkuNC0xNjkuNGM5LjItOS4yIDIyLjktMTEuOSAzNC45LTYuOVM1MTIgNTEuMSA1MTIgNjRsMCAzODRjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnoiXX0sU1J0PU8zZSxCM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYWRkcmVzcy1ib29rIixpY29uOls1MTIsNTEyLFs2MjEzOCwiY29udGFjdC1ib29rIl0sImYyYjkiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyODggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw5NiAwek0yMDggMjg4bDY0IDBjNDQuMiAwIDgwIDM1LjggODAgODAgMCA4LjgtNy4yIDE2LTE2IDE2bC0xOTIgMGMtOC44IDAtMTYtNy4yLTE2LTE2IDAtNDQuMiAzNS44LTgwIDgwLTgwem0tMjQtOTZhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwek01MTIgODBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjR6bTAgMTI4YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0ek00OTYgMzIwYy04LjggMC0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2eiJdfSxDUnQ9QjNlLF9SdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzYWlsYm9hdCIsaWNvbjpbNTEyLDUxMixbXSwiZTQ0NSIsIk0yNDAgMzUuOWwwIDM0OC4xLTIyNCAwYy04LjggMC0xNiA3LjItMTYgMTYgMCA2MS45IDUwLjEgMTEyIDExMiAxMTJsMjg4IDBjNjEuOSAwIDExMi01MC4xIDExMi0xMTIgMC04LjgtNy4yLTE2LTE2LTE2bC0yMDggMCAwLTQ4IDE2MS43IDBjMTIuOSAwIDIwLjUtMTQuNCAxMy4yLTI1TDI2OS4yIDI2LjljLTguOS0xMy0yOS4yLTYuNy0yOS4yIDl6TTE5MiAzMjBsMC0xODQuMmMwLTE2LjEtMjEtMjIuMS0yOS42LTguNUw0Ny4zIDMxMS41Yy02LjcgMTAuNyAxIDI0LjUgMTMuNiAyNC41TDE3NiAzMzZjOC44IDAgMTYtNy4yIDE2LTE2eiJdfSxUUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9vay1ib29rbWFyayIsaWNvbjpbNDQ4LDUxMixbXSwiZTBiYiIsIk05NiA1MTJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02Ni43YzE4LjYtNi42IDMyLTI0LjQgMzItNDUuM2wwLTI4OGMwLTI2LjUtMjEuNS00OC00OC00OGwtNDggMCAwIDE2OS40YzAgMTIuNS0xMC4xIDIyLjYtMjIuNiAyMi42LTYgMC0xMS44LTIuNC0xNi02LjZMMjcyIDE0NCAyMzAuNiAxODUuNGMtNC4yIDQuMi0xMCA2LjYtMTYgNi42LTEyLjUgMC0yMi42LTEwLjEtMjIuNi0yMi42TDE5MiAwIDk2IDBDNDMgMCAwIDQzIDAgOTZMMCA0MTZjMCA1MyA0MyA5NiA5NiA5NnpNNjQgNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDI1NiAwIDAgNjQtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxMUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFnbmlmeWluZy1nbGFzcy1hcnJvdy1yaWdodCIsaWNvbjpbNTEyLDUxMixbXSwiZTUyMSIsIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2QzI5Ni4zIDQwMS4xIDI1My45IDQxNiAyMDggNDE2IDkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwIDQxNiA5My4xIDQxNiAyMDh6TTMwNSAyMjVjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlsLTcyLTcyYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDMxIDMxLTEwMi4xIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTAyLjEgMC0zMSAzMWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDcyLTcyeiJdfSxIM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWljcm9waG9uZS1saW5lcyIsaWNvbjpbMzg0LDUxMixbMTI3ODk3LCJtaWNyb3Bob25lLWFsdCJdLCJmM2M5IiwiTTk2IDk2YzAtNTMgNDMtOTYgOTYtOTYgNTAuMyAwIDkxLjYgMzguNyA5NS43IDg4TDIzMiA4OGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw1NiAwIDAgNDgtNTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw1NS43IDBjLTQuMSA0OS4zLTQ1LjMgODgtOTUuNyA4OC01MyAwLTk2LTQzLTk2LTk2TDk2IDk2ek0yNCAxNjBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0MGMwIDc5LjUgNjQuNSAxNDQgMTQ0IDE0NHMxNDQtNjQuNSAxNDQtMTQ0bDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwYzAgOTcuOS03My4zIDE3OC43LTE2OCAxOTAuNWwwIDQ5LjUgNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDggMCAwLTQ5LjVDNzMuMyA0MDIuNyAwIDMyMS45IDAgMjI0bDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjR6Il19LCRSdD1IM2UscTNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlcGx5LWFsbCIsaWNvbjpbNTc2LDUxMixbIm1haWwtcmVwbHktYWxsIl0sImYxMjIiLCJNMzMyLjIgMTguNGMxMiA1IDE5LjggMTYuNiAxOS44IDI5LjZsMCA4MCA0OCAwYzk3LjIgMCAxNzYgNzguOCAxNzYgMTc2IDAgMTEzLjMtODEuNSAxNjMuOS0xMDAuMiAxNzQuMS0yLjUgMS40LTUuMyAxLjktOC4xIDEuOS0xMC45IDAtMTkuNy04LjktMTkuNy0xOS43IDAtNy41IDQuMy0xNC40IDkuOC0xOS41IDkuNC04LjggMjIuMi0yNi40IDIyLjItNTYuNyAwLTUzLTQzLTk2LTk2LTk2bC0zMiAwIDAgODBjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlsLTE2MC0xNjBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDE2MC0xNjBjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02Ljl6TTIwNS42IDIzLjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlMNTQuNiAyMDggMjA1LjYgMzU4LjljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEwxMCAyMzEuMmMtNi40LTYtMTAtMTQuNC0xMC0yMy4yczMuNi0xNy4yIDEwLTIzLjJMMTcxLjYgMjMuMWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHoiXX0sRFJ0PXEzZSxBUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidW5pdmVyc2FsLWFjY2VzcyIsaWNvbjpbNTEyLDUxMixbXSwiZjI5YSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0xNjEuNS04Ni4xYy0xMi4yLTUuMi0yNi4zIC40LTMxLjUgMTIuNnMuNCAyNi4zIDEyLjYgMzEuNWwxMS45IDUuMWMxNy4zIDcuNCAzNS4yIDEyLjkgNTMuNiAxNi4zbDAgNTAuMWMwIDQuMy0uNyA4LjYtMi4xIDEyLjZsLTI4LjcgODYuMWMtNC4yIDEyLjYgMi42IDI2LjIgMTUuMiAzMC40czI2LjItMi42IDMwLjQtMTUuMmwyNC40LTczLjJjMS4zLTMuOCA0LjgtNi40IDguOC02LjRzNy42IDIuNiA4LjggNi40bDI0LjQgNzMuMmM0LjIgMTIuNiAxNy44IDE5LjQgMzAuNCAxNS4yUzMzOSAzOTcgMzM0LjggMzg0LjRsLTI4LjctODYuMWMtMS40LTQuMS0yLjEtOC4zLTIuMS0xMi42bDAtNTAuMWMxOC40LTMuNSAzNi4zLTguOSA1My42LTE2LjNsMTEuOS01LjFjMTIuMi01LjIgMTcuOC0xOS4zIDEyLjYtMzEuNXMtMTkuMy0xNy44LTMxLjUtMTIuNkwzMzguNyAxNzVjLTI2LjEgMTEuMi01NC4yIDE3LTgyLjcgMTdzLTU2LjUtNS44LTgyLjctMTdsLTExLjktNS4xek0yNTYgMTYwYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHoiXX0sd1k9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9pbGV0LXBhcGVyIixpY29uOls1MTIsNTEyLFsxMjk1MzEsNjMyNjMsInRvaWxldC1wYXBlci1hbHQiLCJ0b2lsZXQtcGFwZXItYmxhbmsiXSwiZjcxZSIsIk0zMjcuMSAzMmMtOC44IDExLjEtMTYgMjMuMS0yMS45IDM0LjgtMjEuNCA0Mi43LTMzLjIgOTguNC0zMy4yIDE1Ny4ybDAgMjY0YzAgMzAuOS0yNS4xIDU2LTU2IDU2TDU2IDU0NGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZMMCAyMjRDMCAxMTggNDMgMzIgOTYgMzJsMjMxLjEgMHpNNDE2IDQxNmMtNTMgMC05Ni04Ni05Ni0xOTJzNDMtMTkyIDk2LTE5MiA5NiA4NiA5NiAxOTItNDMgMTkyLTk2IDE5MnptMC0xMjhjMTcuNyAwIDMyLTI4LjcgMzItNjRzLTE0LjMtNjQtMzItNjQtMzIgMjguNy0zMiA2NCAxNC4zIDY0IDMyIDY0eiJdfSxQUnQ9d1ksRVJ0PXdZLElSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2ci1jYXJkYm9hcmQiLGljb246WzU3Niw1MTIsW10sImY3MjkiLCJNNTEyIDk2TDY0IDk2QzI4LjcgOTYgMCAxMjQuNyAwIDE2MEwwIDM1MmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxMTcuNSAwYzE3IDAgMzMuMy02LjcgNDUuMy0xOC43bDMzLjktMzMuOWM3LjItNy4yIDE3LjEtMTEuMyAyNy4zLTExLjNzMjAuMSA0LjEgMjcuMyAxMS4zbDMzLjkgMzMuOWMxMiAxMiAyOC4zIDE4LjcgNDUuMyAxOC43TDUxMiA0MTZjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xOTJjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTgwIDI0MGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6bTM1Mi02NGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHoiXX0sTlJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBpenphLXNsaWNlIixpY29uOls1MTIsNTEyLFtdLCJmODE4IiwiTTE2OS43IC45Yy0yMi44LTEuNi00MS45IDE0LTQ3LjUgMzQuN0wxMTIuNSA3MkMyOTMuMyA3Mi4zIDQzOS43IDIxOC43IDQ0MCAzOTkuNWwzNi40LTkuN2MyMC44LTUuNSAzNi4zLTI0LjcgMzQuNy00Ny41LTEyLjYtMTgyLjgtMTU4LjYtMzI4LjgtMzQxLjQtMzQxLjR6bTIyMiA0MTEuNWMuMi00LjEgLjMtOC4yIC4zLTEyLjQgMC0xNTQuNi0xMjUuNC0yODAtMjgwLTI4MC00LjEgMC04LjMgLjEtMTIuNCAuM0wuNSA0OTEuOWMtMS41IDUuNSAuMSAxMS40IDQuMSAxNS40czkuOSA1LjYgMTUuNCA0LjFsMzcxLjYtOTkuMXpNMTc2IDIwOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTY0IDEyOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek05NiAzODRhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sUlJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNwcmF5LWNhbiIsaWNvbjpbNTc2LDUxMixbXSwiZjViZCIsIk0xOTIgMGw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgODAtMTI4IDAgMC04MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNjQgMjU2YzAtNTMgNDMtOTYgOTYtOTZsMTI4IDBjNTMgMCA5NiA0MyA5NiA5NmwwIDIwOGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMjI0IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMjA4em0yNDAgODBhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAwek0zMjAgNjRhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNNDQ4IDMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptNjQgMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMzIgNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek01MTIgMjU2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTQ0OCAxMjhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxWM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidm9sdW1lLWxvdyIsaWNvbjpbNDQ4LDUxMixbMTI4MjY0LCJ2b2x1bWUtZG93biJdLCJmMDI3IiwiTTQ4IDM1Mmw0OCAwIDEzNC4xIDExOS4yYzYuNCA1LjcgMTQuNiA4LjggMjMuMSA4LjggMTkuMiAwIDM0LjgtMTUuNiAzNC44LTM0LjhsMC0zNzguNGMwLTE5LjItMTUuNi0zNC44LTM0LjgtMzQuOC04LjUgMC0xNi43IDMuMS0yMy4xIDguOEw5NiAxNjAgNDggMTYwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4ek0zODAuNiAxODEuNWMtMTAuMy04LjQtMjUuNC02LjgtMzMuOCAzLjVzLTYuOCAyNS40IDMuNSAzMy44QzM2MS4xIDIyNy42IDM2OCAyNDEgMzY4IDI1NnMtNi45IDI4LjQtMTcuNyAzNy4zYy0xMC4zIDguNC0xMS44IDIzLjUtMy41IDMzLjhzMjMuNSAxMS44IDMzLjggMy41QzQwMi4xIDMxMi45IDQxNiAyODYuMSA0MTYgMjU2cy0xMy45LTU2LjktMzUuNS03NC41eiJdfSxGUnQ9VjNlLE9SdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjcm9zcyIsaWNvbjpbMzg0LDUxMixbMTI4MzI3LDEwMDEzXSwiZjY1NCIsIk0xNzYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA4MC04MCAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDgwIDAgMCAyMDhjMCAyNi41IDIxLjUgNDggNDggNDhsMzIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTIwOCA4MCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzJjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTgwIDAgMC04MGMwLTI2LjUtMjEuNS00OC00OC00OEwxNzYgMHoiXX0sajNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbiIsaWNvbjpbMzg0LDUxMixbMTI5NDg1LCJtYWxlIl0sImYxODMiLCJNMjQ4IDI0YTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHptMjQgMjEyLjdsNDYuMyA2Mi40YzEwLjUgMTQuMiAzMC42IDE3LjIgNDQuOCA2LjZzMTcuMi0zMC42IDYuNi00NC44bC03MC41LTk1QzI3NCAxMzIgMjM0LjMgMTEyIDE5MiAxMTJzLTgyIDIwLTEwNy4yIDUzLjlsLTcwLjUgOTVjLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNkwxMTIgMjM2LjcgMTEyIDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI3NS4zeiJdfSxCUnQ9ajNlLFUzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VyZ2xhc3MiLGljb246WzM4NCw1MTIsWzkyMDMsNjIwMzIsImhvdXJnbGFzcy1lbXB0eSJdLCJmMjU0IiwiTTAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwTDM1MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgMTFjMCA0Mi40LTE2LjkgODMuMS00Ni45IDExMy4xbC02Ny45IDY3LjkgNjcuOSA2Ny45YzMwIDMwIDQ2LjkgNzAuNyA0Ni45IDExMy4xbDAgMTFjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDAtMTFjMC00Mi40IDE2LjktODMuMSA0Ni45LTExMy4xbDY3LjktNjcuOS02Ny45LTY3LjlDNDguOSAxNTguMSAzMiAxMTcuNCAzMiA3NWwwLTExQzE0LjMgNjQgMCA0OS43IDAgMzJ6TTk2IDY0bDAgMTFjMCAyNS41IDEwLjEgNDkuOSAyOC4xIDY3LjlsNjcuOSA2Ny45IDY3LjktNjcuOWMxOC0xOCAyOC4xLTQyLjQgMjguMS02Ny45bDAtMTEtMTkyIDB6bTAgMzg0bDE5MiAwIDAtMTFjMC0yNS41LTEwLjEtNDkuOS0yOC4xLTY3LjlsLTY3LjktNjcuOS02Ny45IDY3LjljLTE4IDE4LTI4LjEgNDIuNC0yOC4xIDY3LjlsMCAxMXoiXX0sSFJ0PVUzZSxxUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlzaCIsaWNvbjpbNTc2LDUxMixbMTI4MDMxXSwiZjU3OCIsIk0xODAuNSAxNDEuNUMyMTkuNyAxMDguNSAyNzIuNiA4MCAzMzYgODBzMTE2LjMgMjguNSAxNTUuNSA2MS41YzM5LjEgMzMgNjYuOSA3Mi40IDgxIDk5LjggNC43IDkuMiA0LjcgMjAuMSAwIDI5LjMtMTQuMSAyNy40LTQxLjkgNjYuOC04MSA5OS44LTM5LjIgMzMuMS05MiA2MS41LTE1NS41IDYxLjVzLTExNi4zLTI4LjUtMTU1LjUtNjEuNWMtMTYuMi0xMy43LTMwLjUtMjguNS00Mi43LTQzLjFMNDguMSAzNzkuNmMtMTIuNSA3LjMtMjguNCA1LjMtMzguNy00LjlzLTEyLjQtMjYtNS4zLTM4LjZMNTAgMjU2IDQuMiAxNzUuOWMtNy4yLTEyLjYtNS0yOC40IDUuMy0zOC42czI2LjEtMTIuMiAzOC43LTQuOWw4OS43IDUyLjNjMTIuMi0xNC42IDI2LjUtMjkuNCA0Mi43LTQzLjF6TTQ0OCAyNTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHoiXX0sVlJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRydW1zdGljay1iaXRlIixpY29uOls1MTIsNTEyLFtdLCJmNmQ3IiwiTTE2MCAyNjUuMmMwIDguNS0zLjQgMTYuNi05LjQgMjIuNmwtMjYuOCAyNi44Yy0xMi4zIDEyLjMtMzIuNSAxMS40LTQ5LjQgNy4yLTQuNi0xLjEtOS41LTEuOC0xNC41LTEuOC0zMy4xIDAtNjAgMjYuOS02MCA2MHMyNi45IDYwIDYwIDYwYzYuMyAwIDEyIDUuNyAxMiAxMiAwIDMzLjEgMjYuOSA2MCA2MCA2MHM2MC0yNi45IDYwLTYwYzAtNS0uNi05LjgtMS44LTE0LjUtNC4yLTE2LjktNS4yLTM3LjEgNy4yLTQ5LjRsMjYuOC0yNi44YzYtNiAxNC4xLTkuNCAyMi42LTkuNGw4OS4yIDBjNi4zIDAgMTIuNC0uMyAxOC41LTEgMTEuOS0xLjIgMTYuNC0xNS41IDEwLjgtMjYtOC41LTE1LjgtMTMuMy0zMy44LTEzLjMtNTMgMC02MS45IDUwLjEtMTEyIDExMi0xMTIgOCAwIDE1LjcgLjggMjMuMiAyLjQgMTEuNyAyLjUgMjQuMS01LjkgMjItMTcuNi0xNC43LTgyLjMtODYuNy0xNDQuOC0xNzMuMi0xNDQuOC05Ny4yIDAtMTc2IDc4LjgtMTc2IDE3NmwwIDg5LjJ6Il19LGpSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFydC1zaW1wbGUiLGljb246WzUxMiw1MTIsW10sImU0NzMiLCJNMTkyIDgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMzUyek0wIDI3MmMwLTI2LjUgMjEuNS00OCA0OC00OGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTYwYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDI3MnpNNDMyIDk2bDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAyODhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMjg4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4eiJdfSxVUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXRvbSIsaWNvbjpbNDQ4LDUxMixbOTg4M10sImY1ZDIiLCJNMjI0IDM5OC44Yy0xMS44IDUuMS0yMy40IDkuNy0zNC45IDEzLjUgMTYuNyAzMy44IDMxIDM1LjcgMzQuOSAzNS43czE4LjEtMS45IDM0LjktMzUuN2MtMTEuNC0zLjktMjMuMS04LjQtMzQuOS0xMy41ek00MTQgMjU2YzMzIDQ1LjIgNDQuMyA5MC45IDIzLjYgMTI4LTIwLjIgMzYuMy02Mi41IDQ5LjMtMTE1LjIgNDMuMi0yMiA1Mi4xLTU1LjcgODQuOC05OC40IDg0LjhzLTc2LjQtMzIuNy05OC40LTg0LjhDNzIuOSA0MzMuMyAzMC42IDQyMC4zIDEwLjQgMzg0LTEwLjMgMzQ2LjkgMSAzMDEuMiAzNCAyNTYgMSAyMTAuOC0xMC4zIDE2NS4xIDEwLjQgMTI4IDMwLjYgOTEuNyA3Mi45IDc4LjcgMTI1LjYgODQuOCAxNDcuNiAzMi43IDE4MS4yIDAgMjI0IDBzNzYuNCAzMi43IDk4LjQgODQuOGM1Mi43LTYuMSA5NSA2LjggMTE1LjIgNDMuMiAyMC43IDM3LjEgOS40IDgyLjgtMjMuNiAxMjh6bS02NS44IDY3LjRjLTEuNyAxNC4yLTMuOSAyOC02LjcgNDEuMiAzMS44IDEuNCAzOC42LTguNyA0MC4yLTExLjcgMi4zLTQuMiA3LTE3LjktMTEuOS00OC4xLTYuOCA2LjMtMTQgMTIuNS0yMS42IDE4LjZ6bS02LjctMTc1LjljMi44IDEzLjEgNSAyNi45IDYuNyA0MS4yIDcuNiA2LjEgMTQuOCAxMi4zIDIxLjYgMTguNiAxOC45LTMwLjIgMTQuMi00NCAxMS45LTQ4LjEtMS42LTIuOS04LjQtMTMtNDAuMi0xMS43ek0yNTguOSA5OS43QzI0Mi4xIDY1LjkgMjI3LjkgNjQgMjI0IDY0cy0xOC4xIDEuOS0zNC45IDM1LjdjMTEuNCAzLjkgMjMuMSA4LjQgMzQuOSAxMy41IDExLjgtNS4xIDIzLjQtOS43IDM0LjktMTMuNXptLTE1OSA4OC45YzEuNy0xNC4zIDMuOS0yOCA2LjctNDEuMi0zMS44LTEuNC0zOC42IDguNy00MC4yIDExLjctMi4zIDQuMi03IDE3LjkgMTEuOSA0OC4xIDYuOC02LjMgMTQtMTIuNSAyMS42LTE4LjZ6TTc4LjIgMzA0LjhjLTE4LjkgMzAuMi0xNC4yIDQ0LTExLjkgNDguMSAxLjYgMi45IDguNCAxMyA0MC4yIDExLjctMi44LTEzLjEtNS0yNi45LTYuNy00MS4yLTcuNi02LjEtMTQuOC0xMi4zLTIxLjYtMTguNnpNMzA0IDI1NmE4MCA4MCAwIDEgMCAtMTYwIDAgODAgODAgMCAxIDAgMTYwIDB6bS04MC0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LFdSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwIixpY29uOlszMjAsNTEyLFsxMTJdLCI1MCIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDEyOCAwYzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwUzI0OC40IDM1MiAxNjAgMzUybC05NiAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0NjUuNyAwIDQ0OEwwIDY0ek02NCAyODhsOTYgMGM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NmwtOTYgMCAwIDE5MnoiXX0sR1J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImpldC1maWdodGVyLXVwIixpY29uOls1MTIsNTEyLFtdLCJlNTE4IiwiTTIwNi44IDQ3LjhDMjAyLjMgNTguNSAyMDAgNzAgMjAwIDgxLjZsMCAxMDAuNC0xNTIgMTE0IDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRTMCAyMzQuNyAwIDI0OEwwIDM5MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtOCAxNTIgMCAwIDU0LjQtNjYgNTIuOGMtMy44IDMtNiA3LjYtNiAxMi41bDAgMjQuM2MwIDguOCA3LjIgMTYgMTYgMTZsODggMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MCA4OCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0LjNjMC00LjktMi4yLTkuNS02LTEyLjVsLTY2LTUyLjggMC01NC40IDE1MiAwIDAgOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTQ0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDgtMTUyLTExNCAwLTEwMC40YzAtMTEuNi0yLjMtMjMuMS02LjgtMzMuOGwtMjcuMS02NUMyNzQuNC0yNi4yIDI2NS43LTMyIDI1Ni0zMnMtMTguNCA1LjgtMjIuMiAxNC44bC0yNy4xIDY1eiJdfSxZUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGx1Zy1jaXJjbGUteG1hcmsiLGljb246WzY0MCw1MTIsW10sImU1NjAiLCJNMTkyLTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgMTI4IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgOTYgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDQ4LjdjLTk4LjYgOC4xLTE3NiA5MC43LTE3NiAxOTEuMyAwIDI3LjMgNS43IDUzLjMgMTYgNzYuOWwwIDMuMWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY2LjdDMTY1LjIgMzk4LjEgOTYgMzE5LjEgOTYgMjI0bDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzc4LjMgOTYgOTYgOTZsNjQgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek00OTYgMjU2YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptNTkuMyAxMDcuM2M2LjItNi4yIDYuMi0xNi40IDAtMjIuNnMtMTYuNC02LjItMjIuNiAwbC0zNi43IDM2LjctMzYuNy0zNi43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDM2LjcgMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGwzNi43LTM2LjcgMzYuNyAzNi43YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtMzYuNy0zNi43IDM2LjctMzYuN3oiXX0sWlJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoZWV0LXBsYXN0aWMiLGljb246WzM4NCw1MTIsW10sImU1NzEiLCJNMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTQ5LjUgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN0wzNjUuMyAzODYuN2MxMi0xMiAxOC43LTI4LjMgMTguNy00NS4zTDM4NCA2NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OHptMjA4IDUuNWwwLTkzLjVjMC0xMy4zIDEwLjctMjQgMjQtMjRsOTMuNSAwLTExNy41IDExNy41ek0xNTMgMTA1bC00OCA0OGMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw0OC00OGM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjl6bTk2IDMyTDEzNyAyNDljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMjE1IDEwM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjl6Il19LFhSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2IixpY29uOlszODQsNTEyLFsxMThdLCI1NiIsIk0xOS43IDM0LjVjMTYuMy02LjggMzUgLjkgNDEuOCAxNy4yTDE5MiAzNjQuOCAzMjIuNSA1MS43YzYuOC0xNi4zIDI1LjUtMjQgNDEuOC0xNy4yczI0IDI1LjUgMTcuMiA0MS44bC0xNjAgMzg0Yy01IDExLjktMTYuNiAxOS43LTI5LjUgMTkuN3MtMjQuNi03LjgtMjkuNS0xOS43TDIuNSA3Ni4zYy02LjgtMTYuMyAuOS0zNSAxNy4yLTQxLjh6Il19LFczZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsaXN0IixpY29uOls1MTIsNTEyLFsibGlzdC1zcXVhcmVzIl0sImYwM2EiLCJNNDAgNDhDMjYuNyA0OCAxNiA1OC43IDE2IDcybDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0TDQwIDQ4ek0xOTIgNjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMTkyIDY0em0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjg4IDB6bTAgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yODggMHpNMTYgMjMybDAgNDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHpNNDAgMzY4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMHoiXX0sS1J0PVczZSxRUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGlzY2VzIixpY29uOls0NDgsNTEyLFtdLCJlODRjIiwiTTQwLjQgMTAuNGMxMS45LTEzIDMyLjItMTMuOSA0NS4yLTIgMi45IDIuNyAyOC4zIDI2LjcgNTMuNiA2Ny44IDIyLjMgMzYuMiA0NSA4Ni42IDUxLjEgMTQ3LjhsNjcuMyAwYzYuMS02MS4xIDI4LjgtMTExLjYgNTEuMS0xNDcuOCAyNS4zLTQxLjEgNTAuNy02NS4xIDUzLjYtNjcuOCAxMy0xMS45IDMzLjMtMTEuMSA0NS4yIDIgMTEuOSAxMyAxMSAzMy4zLTIgNDUuMi0xLjQgMS4zLTIyIDIxLjEtNDIuNCA1NC4yLTE3LjkgMjkuMS0zNS40IDY4LTQxLjIgMTE0LjJsOTQgMCAzLjMgLjJjMTYuMSAxLjYgMjguNyAxNS4zIDI4LjcgMzEuOHMtMTIuNiAzMC4yLTI4LjcgMzEuOGwtMy4zIC4yLTk0IDBjNS44IDQ2LjIgMjMuMyA4NS4xIDQxLjIgMTE0LjIgMjAuNCAzMy4xIDQxIDUyLjkgNDIuNCA1NC4yIDEzIDExLjkgMTMuOSAzMi4yIDIgNDUuMi0xMS45IDEzLTMyLjIgMTMuOS00NS4yIDItMi45LTIuNy0yOC4zLTI2LjctNTMuNi02Ny44LTIyLjMtMzYuMi00NS04Ni42LTUxLjEtMTQ3LjhsLTY3LjMgMGMtNi4xIDYxLjEtMjguOCAxMTEuNi01MS4xIDE0Ny44LTI1LjMgNDEuMS01MC43IDY1LjEtNTMuNiA2Ny44LTEzIDExLjktMzMuMyAxMS4xLTQ1LjItMi0xMS45LTEzLTExLTMzLjMgMi00NS4yIDEuNC0xLjMgMjItMjEuMSA0Mi40LTU0LjIgMTcuOS0yOS4xIDM1LjQtNjggNDEuMi0xMTQuMmwtOTQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5NCAwYy01LjgtNDYuMi0yMy4zLTg1LjEtNDEuMi0xMTQuMi0yMC40LTMzLjEtNDEtNTIuOS00Mi40LTU0LjItMTMtMTEuOS0xMy45LTMyLjItMi00NS4yeiJdfSxKUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic29sYXItcGFuZWwiLGljb246WzU3Niw1MTIsW10sImY1YmEiLCJNMTIxLjggMzJjLTMwIDAtNTYgMjAuOC02Mi41IDUwLjFMOS42IDMwNi4xQy43IDM0Ni4xIDMxLjEgMzg0IDcyIDM4NGwxODQuMSAwIDAgNjQtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTY0IDE4NC4xIDBjNDAuOSAwIDcxLjQtMzcuOSA2Mi41LTc3LjlsLTQ5LjgtMjI0QzUxMC40IDUyLjggNDg0LjUgMzIgNDU0LjUgMzJMMTIxLjggMzJ6TTI0NS42IDk2bDg1LjIgMCA3LjMgODgtOTkuOCAwIDcuMy04OHptLTU1LjUgODhsLTg3LjggMCAxOS42LTg4IDc1LjYgMC03LjMgODh6TTkxLjYgMjMybDk0LjUgMC03LjMgODgtMTA2LjcgMCAxOS42LTg4em0xNDIuNiAwbDEwNy44IDAgNy4zIDg4LTEyMi41IDAgNy4zLTg4em0xNTYgMGw5NC41IDAgMTkuNiA4OC0xMDYuNyAwLTcuMy04OHpNNDc0IDE4NGwtODcuOCAwLTcuMy04OCA3NS42IDAgMTkuNiA4OHoiXX0sZUZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhbmQtbWluZS1vbiIsaWNvbjpbNTc2LDUxMixbXSwiZTUxYiIsIk0zMTIgMGwwIDEyOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNEwyNjQgMGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0ek0xNjAgMjg4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDgwIDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NmMwLTI2LjUgMjEuNS00OCA0OC00OGw4MCAwIDAtMzJ6TTEyIDExNC43YzcuNC0xMSAyMi4zLTE0IDMzLjMtNi43bDk2IDY0YzExIDcuNCAxNCAyMi4zIDYuNyAzMy4zcy0yMi4zIDE0LTMzLjMgNi43bC05Ni02NGMtMTEtNy40LTE0LTIyLjMtNi43LTMzLjN6TTUzMC43IDEwOGMxMS03LjQgMjUuOS00LjQgMzMuMyA2LjdzNC40IDI1LjktNi43IDMzLjNsLTk2IDY0Yy0xMSA3LjQtMjUuOSA0LjQtMzMuMy02LjdzLTQuNC0yNS45IDYuNy0zMy4zbDk2LTY0eiJdfSxNWT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFkcGhvbmVzIixpY29uOls0NDgsNTEyLFsxMjc5MTEsNjI4NjMsImhlYWRwaG9uZXMtYWx0IiwiaGVhZHBob25lcy1zaW1wbGUiXSwiZjAyNSIsIk02NCAyMjRjMC04OC40IDcxLjYtMTYwIDE2MC0xNjBzMTYwIDcxLjYgMTYwIDE2MGwwIDM3LjVjLTEwLTMuNS0yMC44LTUuNS0zMi01LjVsLTE2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTI4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDE2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTE2MEM0NDggMTAwLjMgMzQ3LjcgMCAyMjQgMFMwIDEwMC4zIDAgMjI0TDAgMzg0YzAgNTMgNDMgOTYgOTYgOTZsMTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTEyOGMwLTI2LjUtMjEuNS00OC00OC00OGwtMTYgMGMtMTEuMiAwLTIyIDEuOS0zMiA1LjVMNjQgMjI0eiJdfSx0RnQ9TVksYUZ0PU1ZLHJGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidXMiLGljb246WzQ0OCw1MTIsWzEyODY1M10sImYyMDciLCJNOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDM4NGMwIDI5LjggMjAuNCA1NC45IDQ4IDYybDAgMzRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyIDE5MiAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTM0YzI3LjYtNy4xIDQ4LTMyLjIgNDgtNjJsMC0yODhjMC01My00My05Ni05Ni05Nkw5NiAwek02NCAxNzZjMC0xNy43IDE0LjMtMzIgMzItMzJsMTA0IDAgMCAxMTItMTA0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNDh6bTE4NCA4MGwwLTExMiAxMDQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xMDQgMHpNOTYgMzIwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMjU2IDBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0xNTIgNzJjMC0xMy4zIDEwLjctMjQgMjQtMjRsOTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6Il19LGlGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXBvd2VycG9pbnQiLGljb246WzM4NCw1MTIsW10sImYxYzQiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTE1MiAyNTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTQ0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yNCAyNCAwYzM5LjggMCA3Mi0zMi4yIDcyLTcycy0zMi4yLTcyLTcyLTcybC00OCAwem00OCA5NmwtMjQgMCAwLTQ4IDI0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjR6Il19LEczZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJxdW90ZS1sZWZ0IixpY29uOls0NDgsNTEyLFs4MjIwLCJxdW90ZS1sZWZ0LWFsdCJdLCJmMTBkIiwiTTAgMjE2QzAgMTQ5LjcgNTMuNyA5NiAxMjAgOTZsOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC04IDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgOCA2NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTY0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjE2em0yNTYgMGMwLTY2LjMgNTMuNy0xMjAgMTIwLTEyMGw4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTggMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4IDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtNjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xMzZ6Il19LHNGdD1HM2Usb0Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXZyb24tZG93biIsaWNvbjpbNDQ4LDUxMixbXSwiZjA3OCIsIk0yMDEuNCA0MDYuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxOTItMTkyYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDIyNCAzMzguNyA1NC42IDE2OS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxOTIgMTkyeiJdfSxZM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWFydGgtYXNpYSIsaWNvbjpbNTEyLDUxMixbMTI3NzU5LCJnbG9iZS1hc2lhIl0sImY1N2UiLCJNNTAgMjg0LjhjNC4yIDIuMSA5IDMuMiAxNCAzLjJsNTAuNyAwYzguNSAwIDE2LjYgMy40IDIyLjYgOS40bDEzLjMgMTMuM2M2IDYgMTQuMSA5LjQgMjIuNiA5LjRsMTguNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQtMTAuNyAyNC0yNGwwLTQyLjdjMC04LjUgMy40LTE2LjYgOS40LTIyLjZsMTMuMy0xMy4zYzYtNiA5LjQtMTQuMSA5LjQtMjIuNkwzMDQgNTdjMC0xLjItLjEtMi4zLS4yLTMuNS0xNS40LTMuNi0zMS40LTUuNS00Ny44LTUuNS0xMTQuOSAwLTIwOCA5My4xLTIwOCAyMDggMCA5LjggLjcgMTkuNCAyIDI4Ljh6bTQwMy4zIDM3LjNjLTMuMi0xLjQtNi43LTIuMS0xMC41LTIuMUw0MzIgMzIwYy04LjggMC0xNi03LjItMTYtMTZzLTcuMi0xNi0xNi0xNmwtMzQuNyAwYy04LjUgMC0xNi42IDMuNC0yMi42IDkuNGwtNDUuMyA0NS4zYy02IDYtOS40IDE0LjEtOS40IDIyLjZsMCAxOC43YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE4LjcgMGM4LjUgMCAxNi42IDMuNCAyMi42IDkuNCAyLjIgMi4yIDQuNyA0LjEgNy4zIDUuNSAzOS4zLTI1LjQgNjkuNS02My42IDg0LjYtMTA4Ljh6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6TTEyOCAzNjhjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMjcyIDI1NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNnptNDgtMTEybDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2eiJdfSxuRnQ9WTNlLGxGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjZW50LXNpZ24iLGljb246WzM4NCw1MTIsW10sImUzZjUiLCJNMjA4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNS40YzQzLjYgNS4yIDgzIDI0LjUgMTEzLjMgNTMuMSAxMi45IDEyLjEgMTMuNCAzMi40IDEuMyA0NS4ycy0zMi40IDEzLjQtNDUuMiAxLjNjLTI0LjQtMjMtNTcuMi0zNy4xLTkzLjMtMzcuMS03NS4xIDAtMTM2IDYwLjktMTM2IDEzNnM2MC45IDEzNiAxMzYgMTM2YzM2LjIgMCA2OS0xNC4xIDkzLjMtMzcuMSAxMi45LTEyLjEgMzMuMS0xMS41IDQ1LjIgMS4zczExLjUgMzMuMS0xLjMgNDUuMkMzMjMgNDMwLjEgMjgzLjYgNDQ5LjQgMjQwIDQ1NC42bDAgMjUuNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI4Qzg0LjcgNDMzLjUgMTYgMzUyLjggMTYgMjU2Uzg0LjcgNzguNSAxNzYgNjBsMC0yOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sY0Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoaWVsZC1jYXQiLGljb246WzUxMiw1MTIsW10sImU1NzIiLCJNMjY5LjQgMi45QzI2NS4yIDEgMjYwLjcgMCAyNTYgMHMtOS4yIDEtMTMuNCAyLjlMNTQuMyA4Mi44Yy0yMiA5LjMtMzguNCAzMS0zOC4zIDU3LjIgLjUgOTkuMiA0MS4zIDI4MC43IDIxMy42IDM2My4yIDE2LjcgOCAzNi4xIDggNTIuOCAwIDE3Mi40LTgyLjUgMjEzLjItMjY0IDIxMy42LTM2My4yIC4xLTI2LjItMTYuMy00Ny45LTM4LjMtNTcuMkwyNjkuNCAyLjl6TTE2MCAxNTQuNGMwLTUuOCA0LjctMTAuNCAxMC40LTEwLjRsLjIgMGMzLjQgMCA2LjUgMS42IDguNSA0LjNsNDAgNTMuM2MzIDQgNy44IDYuNCAxMi44IDYuNGw0OCAwYzUgMCA5LjgtMi40IDEyLjgtNi40bDQwLTUzLjNjMi0yLjcgNS4yLTQuMyA4LjUtNC4zbC4yIDBjNS44IDAgMTAuNCA0LjcgMTAuNCAxMC40TDM1MiAyNzJjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZsMC0xMTcuNnpNMjE2IDI4OGExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bTk2LTE2YTE2IDE2IDAgMSAwIC0zMiAwIDE2IDE2IDAgMSAwIDMyIDB6Il19LGRGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY2hvb2wtY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNTZiIiwiTTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjc2IDBjLTEwLjUtMTQuNi0xOS0zMC43LTI1LjEtNDhsLTkwLjkgMCAwLTg4YzAtMjIuMSAxNy45LTQwIDQwLTQwbDQ4IDBjMSAwIDEuOSAwIDIuOSAuMSAyNi4zLTc0LjYgOTcuNS0xMjguMSAxODEuMS0xMjguMSAyOC42IDAgNTUuNiA2LjIgODAgMTcuNGwwLTMzLjRjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTY0IDAtMTI3LjktMTE1LjFjLTE4LjMtMTYuNC00Ni0xNi40LTY0LjIgMEwxMjggMTI4IDY0IDEyOHptNjQgMjQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJ6TTExMiAyNTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNnpNMjg4IDEyOGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpNNjQwIDQwMGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tODYuNi02MC45YzcuMSA1LjIgOC43IDE1LjIgMy41IDIyLjNsLTY0IDg4Yy0yLjggMy44LTcgNi4yLTExLjcgNi41cy05LjMtMS4zLTEyLjYtNC42bC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDI2LjggMjYuOCA1My03Mi45YzUuMi03LjEgMTUuMi04LjcgMjIuNC0zLjV6Il19LFozZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJ0aW5pLWdsYXNzIixpY29uOls1MTIsNTEyLFsxMjc4NjQsImdsYXNzLW1hcnRpbmktYWx0Il0sImY1N2IiLCJNMi40IDUxLjhDNy40IDM5LjggMTkuMSAzMiAzMiAzMmw0NDggMGMxMi45IDAgMjQuNiA3LjggMjkuNiAxOS44czIuMiAyNS43LTYuOSAzNC45TDI4OCAzMDEuMyAyODggNDQ4IDM1MiA0NDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0IDAgMC0xNDYuNy0yMTQuNi0yMTQuNkMuMiA3Ny41LTIuNSA2My43IDIuNCA1MS44ek0zNTQuNyAxNDRsNDgtNDgtMjkzLjUgMCA0OCA0OCAxOTcuNSAweiJdfSxwRnQ9WjNlLHVGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVnIixpY29uOls0NDgsNTEyLFsxMjgyNjhdLCJmMWU2IiwiTTEyOC0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDEyOCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA2NGMwIDk1LjEtNjkuMiAxNzQuMS0xNjAgMTg5LjNsMCA2Ni43YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjYuN0MxMDEuMiAzOTguMSAzMiAzMTkuMSAzMiAyMjRsMC02NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJTMTQuMyA5NiAzMiA5Nmw2NCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LGZGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYW5vcmFtYSIsaWNvbjpbNTc2LDUxMixbXSwiZTIwOSIsIk00My45IDQ4QzE5LjcgNDggMCA2Ny43IDAgOTEuOUwwIDQyMC4xYzAgMjQuMyAxOS43IDQzLjkgNDMuOSA0My45IDUuNSAwIDEwLjctMSAxNS43LTIuOSAxMi45LTQuOSAxMDMuNC0zNy4xIDIyOC40LTM3LjFzMjE1LjUgMzIuMyAyMjguNCAzNy4xYzUgMS45IDEwLjIgMi45IDE1LjcgMi45IDI0LjMgMCA0My45LTE5LjcgNDMuOS00My45bDAtMzI4LjJjMC0yNC4zLTE5LjctNDMuOS00My45LTQzLjktNS41IDAtMTAuNyAxLTE1LjcgMi45LTEyLjkgNC45LTEwMy40IDM3LjEtMjI4LjQgMzcuMVM3Mi41IDU1LjcgNTkuNiA1MC45QzU0LjYgNDkgNDkuNCA0OCA0My45IDQ4ek03MiAxNzZhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHptMjY0LjEtMTZjNy41IDAgMTQuNiAzLjYgMTkuMSA5LjZMNDc5LjcgMzM2LjJjNS45IDcuOSA2LjQgMTguNSAxLjMgMjYuOXMtMTQuOCAxMi44LTI0LjUgMTEuMWMtNDUuOC03LjgtMTAzLjMtMTQuMi0xNjguNC0xNC4yLTY1LjYgMC0xMjMuNCA2LjUtMTY5LjMgMTQuNC05LjggMS43LTE5LjctMi45LTI0LjctMTEuNXMtNC4zLTE5LjQgMS45LTI3LjJMMTY1LjMgMjQ5YzQuNi01LjcgMTEuNS05IDE4LjctOXMxNC4yIDMuMyAxOC43IDlsMjcuNSAzNC40IDg2LjctMTEzLjljNC42LTYgMTEuNy05LjUgMTkuMi05LjV6Il19LFM3PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb2NrLXJvdGF0ZS1sZWZ0IixpY29uOls1NzYsNTEyLFsiaGlzdG9yeSJdLCJmMWRhIiwiTTI4OCA2NGMxMDYgMCAxOTIgODYgMTkyIDE5MlMzOTQgNDQ4IDI4OCA0NDhjLTY1LjIgMC0xMjIuOS0zMi41LTE1Ny42LTgyLjMtMTAuMS0xNC41LTMwLjEtMTgtNDQuNi03LjlzLTE4IDMwLjEtNy45IDQ0LjZDMTI0LjEgNDY4LjYgMjAxIDUxMiAyODggNTEyIDQyOS40IDUxMiA1NDQgMzk3LjQgNTQ0IDI1NlM0MjkuNCAwIDI4OCAwQzIwMi4zIDAgMTI2LjUgNDIuMSA4MCAxMDYuN0w4MCA4MGMwLTE3LjctMTQuMy0zMi0zMi0zMlMxNiA2Mi4zIDE2IDgwbDAgMTEyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDI0LjYgMGMuNSAwIDEgMCAxLjUgMGw4NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zOC4zIDBDMTU0LjkgMTAyLjYgMjE3IDY0IDI4OCA2NHptMjQgODhjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMDRjMCA2LjQgMi41IDEyLjUgNyAxN2w3MiA3MmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTY1LTY1IDAtOTQuMXoiXX0saEZ0PVM3LG1GdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJqYXItd2hlYXQiLGljb246WzMyMCw1MTIsW10sImU1MTciLCJNMzItOGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwyMDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw1NiAxNkM0Mi43IDE2IDMyIDUuMyAzMi04ek0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwxOTIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4em0xMTIgMzJsLTQyLjIgMGMtMy4yIDAtNS44IDIuNi01LjggNS44IDAgMzIuMSAyNiA1OC4yIDU4LjIgNTguMmw3NS42IDBjMzIuMSAwIDU4LjItMjYgNTguMi01OC4yIDAtMy4yLTIuNi01LjgtNS44LTUuOEwyMDggMTYwYy0xOS4xIDAtMzYuMyA4LjQtNDggMjEuNy0xMS43LTEzLjMtMjguOS0yMS43LTQ4LTIxLjd6bTQ4IDExNy43Yy0xMS43LTEzLjMtMjguOS0yMS43LTQ4LTIxLjdsLTQyLjIgMGMtMy4yIDAtNS44IDIuNi01LjggNS44IDAgMzIuMSAyNiA1OC4yIDU4LjIgNTguMmw3NS42IDBjMzIuMSAwIDU4LjItMjYgNTguMi01OC4yIDAtMy4yLTIuNi01LjgtNS44LTUuOEwyMDggMjU2Yy0xOS4xIDAtMzYuMyA4LjQtNDggMjEuN3pNMTEyIDM1MmwtNDIuMiAwYy0zLjIgMC01LjggMi42LTUuOCA1LjggMCAzMi4xIDI2IDU4LjIgNTguMiA1OC4ybDIxLjggMCAwIDMyYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0zMiAyMS44IDBjMzIuMSAwIDU4LjItMjYgNTguMi01OC4yIDAtMy4yLTIuNi01LjgtNS44LTUuOEwyMDggMzUyYy0xOS4xIDAtMzYuMyA4LjQtNDggMjEuNy0xMS43LTEzLjMtMjguOS0yMS43LTQ4LTIxLjd6Il19LGtZPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkLWFycm93LWRvd24iLGljb246WzU3Niw1MTIsWzYyMzM3LCJjbG91ZC1kb3dubG9hZCIsImNsb3VkLWRvd25sb2FkLWFsdCJdLCJmMGVkIiwiTTE0NCA0ODBjLTc5LjUgMC0xNDQtNjQuNS0xNDQtMTQ0IDAtNjMuNCA0MS0xMTcuMiA5Ny45LTEzNi41LTEuMy03LjctMS45LTE1LjUtMS45LTIzLjUgMC03OS41IDY0LjUtMTQ0IDE0NC0xNDQgNTUuNCAwIDEwMy41IDMxLjMgMTI3LjYgNzcuMSAxNC4yLTguMyAzMC44LTEzLjEgNDguNC0xMy4xIDUzIDAgOTYgNDMgOTYgOTYgMCAxNS43LTMuOCAzMC42LTEwLjUgNDMuNyA0NCAyMC4zIDc0LjUgNjQuNyA3NC41IDExNi4zIDAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC0zMDQgMHpNMzc3IDMxM2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC0zMSAzMSAwLTEwMi4xYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTAyLjEtMzEtMzFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsNzItNzJ6Il19LGdGdD1rWSxiRnQ9a1ksWDNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLXJhbXAtYm94IixpY29uOls1NzYsNTEyLFsidHJ1Y2stbG9hZGluZyJdLCJmNGRlIiwiTTQwMCAzMmMtNDQuMiAwLTgwIDM1LjgtODAgODBsMCAyNDguMi0yOTcuMiA4OS4yQzUuOSA0NTQuNC0zLjcgNDcyLjMgMS40IDQ4OS4yczIyLjkgMjYuNSAzOS44IDIxLjVsMzE1LjUtOTQuNiA0My43IDBjLS4yIDIuNi0uNCA1LjMtLjQgOCAwIDQ4LjYgMzkuNCA4OCA4OCA4OHM4OC0zOS40IDg4LTg4bDAtMzkyLTE3NiAwek01MjggNDI0YzAgMjIuMS0xNy45IDQwLTQwIDQwcy00MC0xNy45LTQwLTQwIDE3LjktNDAgNDAtNDBjMjIuMSAwIDM5LjkgMTcuOSA0MCAzOS45bDAgLjF6TTUxLjkgMTQ5LjVDMTguMSAxNTkuOC0uOSAxOTUuNiA5LjQgMjI5LjRsMjguMSA5MS44QzQ3LjggMzU1IDgzLjYgMzc0IDExNy40IDM2My43bDkxLjgtMjguMWMzMy44LTEwLjMgNTIuOC00Ni4xIDQyLjUtNzkuOWwtMjguMS05MS44Yy0xMC4zLTMzLjgtNDYuMS01Mi44LTc5LjktNDIuNUw1MS45IDE0OS41eiJdfSx2RnQ9WDNlLHhGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmdsZS1kb3duIixpY29uOlszODQsNTEyLFs4OTY0XSwiZjEwNyIsIk0xNjkuNCAzNzQuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxNjAtMTYwYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDE5MiAzMDYuNyA1NC42IDE2OS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYweiJdfSx5RnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGx1Zy1jaXJjbGUtY2hlY2siLGljb246WzY0MCw1MTIsW10sImU1NWMiLCJNMTkyLTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgMTI4IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgOTYgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDQ4LjdjLTk4LjYgOC4xLTE3NiA5MC43LTE3NiAxOTEuMyAwIDI3LjMgNS43IDUzLjMgMTYgNzYuOWwwIDMuMWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY2LjdDMTY1LjIgMzk4LjEgOTYgMzE5LjEgOTYgMjI0bDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzc4LjMgOTYgOTYgOTZsNjQgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0zNTIgNDAwYTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTIwMS40LTYwLjljLTcuMS01LjItMTcuMi0zLjYtMjIuNCAzLjVsLTUzIDcyLjktMjYuOC0yNi44Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDQwIDQwYzMuMyAzLjMgNy45IDUgMTIuNiA0LjZzOC45LTIuOCAxMS43LTYuNWw2NC04OGM1LjItNy4xIDMuNi0xNy4yLTMuNS0yMi4zeiJdfSx3RnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2luZG93LW1heGltaXplIixpY29uOls1MTIsNTEyLFsxMjg0NzBdLCJmMmQwIiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0em0yNCA2NGwzMzYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw4OCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LE1GdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kcy1ob2xkaW5nLWNpcmNsZSIsaWNvbjpbNjQwLDUxMixbXSwiZTRmYiIsIk0zMjAgMGExMjggMTI4IDAgMSAxIDAgMjU2IDEyOCAxMjggMCAxIDEgMC0yNTZ6TTQwIDY0YzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgMTYwLjJjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNsNTEuMSA1MS4xYzguMyA4LjMgMjEuMyA5LjYgMzEgMy4xIDEyLjktOC42IDE0LjctMjYuOSAzLjctMzcuOC03LjMtNy4zLTIzLjEtMjMuMS00Ny4yLTQ3LjItMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGMyNC4xIDI0LjEgMzkuOSAzOS45IDQ3LjIgNDcuMmwwIDAgMjUuMyAyNS4zYzIxIDIxIDMyLjggNDkuNSAzMi44IDc5LjJsMCA3OC45YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC02Ni43IDBjLTE3IDAtMzMuMy02LjctNDUuMy0xOC43TDI4LjEgMzkzLjRDMTAuMSAzNzUuNCAwIDM1MSAwIDMyNS41TDAgMTA0QzAgODEuOSAxNy45IDY0IDQwIDY0em01NjAgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDIyMS41YzAgMjUuNS0xMC4xIDQ5LjktMjguMSA2Ny45TDUxMiA0OTMuM2MtMTIgMTItMjguMyAxOC43LTQ1LjMgMTguN0w0MDAgNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTc4LjljMC0yOS43IDExLjgtNTguMiAzMi44LTc5LjJsMjUuMy0yNS4zIDAgMGM3LjMtNy4zIDIzLjEtMjMuMSA0Ny4yLTQ3LjIgMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2MtMjQuMSAyNC4xLTM5LjkgMzkuOS00Ny4yIDQ3LjItMTEgMTEtOS4yIDI5LjIgMy43IDM3LjggOS43IDYuNSAyMi43IDUuMiAzMS0zLjFsNTEuMS01MS4xYzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNMNTYwIDEwNGMwLTIyLjEgMTcuOS00MCA0MC00MHoiXX0sSzNlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxvY2F0aW9uLXBpbiIsaWNvbjpbMzg0LDUxMixbIm1hcC1tYXJrZXIiXSwiZjA0MSIsIk0xOTIgMEM4NiAwIDAgODQuNCAwIDE4OC42IDAgMzA3LjkgMTIwLjIgNDUwLjkgMTcwLjQgNTA1LjQgMTgyLjIgNTE4LjIgMjAxLjggNTE4LjIgMjEzLjYgNTA1LjQgMjYzLjggNDUwLjkgMzg0IDMwNy45IDM4NCAxODguNiAzODQgODQuNCAyOTggMCAxOTIgMHoiXX0sa0Z0PUszZSx6RnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm93bGluZy1iYWxsIixpY29uOls1MTIsNTEyLFtdLCJmNDM2IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yNDAgODBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0yMDggMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bS02NC02NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LFEzZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXJ0LWZsYXRiZWQiLGljb246WzU3Niw1MTIsWyJkb2xseS1mbGF0YmVkIl0sImY0NzQiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDI4OGMwIDM5LjggMjkuMSA3Mi44IDY3LjEgNzktMiA1LjMtMy4xIDExLTMuMSAxNyAwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4YzAtNS42LTEtMTEtMi43LTE2bDE5Ny41IDBjLTEuOCA1LTIuNyAxMC40LTIuNyAxNiAwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4YzAtNS42LTEtMTEtMi43LTE2bDM0LjcgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNDAwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTI4OEMxMjggMzUuOCA5Mi4yIDAgNDggMEwzMiAwek0yMjQgNjRjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTc2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDI0MCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTc2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDIyNCA2NHoiXX0sU0Z0PVEzZSxKM2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtdXNlciIsaWNvbjpbNTEyLDUxMixbImhvbWUtdXNlciJdLCJlMWIwIiwiTTI3Ny44IDguNmMtMTIuMy0xMS40LTMxLjMtMTEuNC00My41IDBsLTIyNCAyMDhjLTkuNiA5LTEyLjggMjIuOS04IDM1LjFTMTguOCAyNzIgMzIgMjcybDE2IDAgMCAxNzZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjg4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNzYgMTYgMGMxMy4yIDAgMjUtOC4xIDI5LjgtMjAuM3MxLjYtMjYuMi04LTM1LjFsLTIyNC0yMDh6TTIwMCAyNTZhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwek0xNDQgNDMyYzAtNDQuMiAzNS44LTgwIDgwLTgwbDY0IDBjNDQuMiAwIDgwIDM1LjggODAgODAgMCA4LjgtNy4yIDE2LTE2IDE2bC0xOTIgMGMtOC44IDAtMTYtNy4yLTE2LTE2eiJdfSxDRnQ9SjNlLF9GdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnaG9zdCIsaWNvbjpbMzg0LDUxMixbMTI4MTIzXSwiZjZlMiIsIk00MC4xIDQ2Ny4xbC0xMS4yIDlDMjUuNyA0NzguNiAyMS44IDQ4MCAxNy44IDQ4MCA4IDQ4MCAwIDQ3MiAwIDQ2Mi4yTDAgMTkyQzAgODYgODYgMCAxOTIgMFMzODQgODYgMzg0IDE5MmwwIDI3MC4yYzAgOS44LTggMTcuOC0xNy44IDE3LjgtNCAwLTcuOS0xLjQtMTEuMS0zLjlsLTExLjItOWMtMTMuNC0xMC43LTMyLjgtOS00NC4xIDMuOUwyNjkuMyA1MDZjLTMuMyAzLjgtOC4yIDYtMTMuMyA2cy05LjktMi4yLTEzLjMtNmwtMjYuNi0zMC41Yy0xMi43LTE0LjYtMzUuNC0xNC42LTQ4LjIgMEwxNDEuMyA1MDZjLTMuMyAzLjgtOC4yIDYtMTMuMyA2cy05LjktMi4yLTEzLjMtNkw4NC4yIDQ3MWMtMTEuMy0xMi45LTMwLjctMTQuNi00NC4xLTMuOXpNMTYwIDE5MmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem05NiAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LFRGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21tZW50LW5vZGVzIixpY29uOls2NDAsNTEyLFtdLCJlNjk2IiwiTTQ4MCAyMDhDNTAzLjcgMjA4IDUyNS42IDIxNS4zIDU0My43IDIyNy45IDUzNi45IDEwMC45IDQyNSAwIDI4OCAwIDE0Ni42IDAgMzIgMTA3LjUgMzIgMjQwIDMyIDI5NC4zIDUxLjIgMzQ0LjMgODMuNiAzODQuNUwzNC44IDQ3Ni44Yy00LjggOS0zLjMgMjAgMy42IDI3LjVzMTcuOCA5LjggMjcuMSA1LjhsMTE4LjQtNTAuN2MyNy4yIDExLjQgNTYuOSAxOC40IDg4LjEgMjAuMiAuMS0xOC45IDQuOS0zOCAxNS01NS41IDE3LjEtMjkuNyA0NS44LTQ4LjUgNzctNTQuMmw5LjItMTZjLTMuNC0xMC43LTUuMi0yMi01LjItMzMuOCAwLTYxLjkgNTAuMS0xMTIgMTEyLTExMnpNMzI4LjYgNDQ4Yy0xNy43IDMwLjYtNy4yIDY5LjcgMjMuNCA4Ny40czY5LjcgNy4yIDg3LjQtMjMuNGMxLjUtMi42IDIuOC01LjMgMy45LThsNzMuMyAwYzEuMSAyLjcgMi40IDUuNCAzLjkgOCAxNy43IDMwLjYgNTYuOCA0MS4xIDg3LjQgMjMuNHM0MS4xLTU2LjggMjMuNC04Ny40Yy0xMy40LTIzLjItMzkuMS0zNC44LTY0LTMxLjRsLTE3LjYtMzAuN2MtMTEgMTEuNy0yNSAyMC42LTQwLjYgMjUuNmwxNi41IDI4LjljLTMuOCA0LjgtNi44IDEwLTkgMTUuNmwtNzMuNCAwYy0yLjItNS42LTUuMy0xMC44LTktMTUuNmwzMy01Ny43YzQuMSAuOCA4LjQgMS4zIDEyLjggMS4zIDM1LjMgMCA2NC0yOC43IDY0LTY0cy0yOC43LTY0LTY0LTY0LTY0IDI4LjctNjQgNjRjMCAxMy40IDQuMSAyNS44IDExLjIgMzYuMWwtMzQuNiA2MC41Yy0yNS0zLjQtNTAuNiA4LjMtNjQgMzEuNHoiXX0sTEZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1hcnJvdy1kb3duLXRvLWxpbmUiLGljb246WzU3Niw1MTIsW10sImU1MzgiLCJNMTkyLTMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0zMTguMyAyOTkuMWwtNDYuMy02Mi40IDAgMjQzLjMgMjcyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTQ0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDgwIDAgMC0yNDMuMy00Ni4zIDYyLjRjLTEwLjUgMTQuMi0zMC42IDE3LjItNDQuOCA2LjZzLTE3LjItMzAuNi02LjYtNDQuOGw3MC41LTk1QzExMCAxMzIgMTQ5LjcgMTEyIDE5MiAxMTJzODIgMjAgMTA3LjIgNTMuOWw3MC41IDk1YzEwLjUgMTQuMiA3LjYgMzQuMi02LjYgNDQuOHMtMzQuMiA3LjYtNDQuOC02LjZ6TTE3NiA0ODBsMzIgMCAwLTEyOGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDEyOHpNNTY2LjYgMTY2LjZsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtODAtODBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMNDMyIDE0Ni43IDQzMiAwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxNDYuNyAyNS40LTI1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3oiXX0sJEZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsdWctY2lyY2xlLXBsdXMiLGljb246WzY0MCw1MTIsW10sImU1NWYiLCJNMTkyLTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgMTI4IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgOTYgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDQ4LjdjLTk4LjYgOC4xLTE3NiA5MC43LTE3NiAxOTEuMyAwIDI3LjMgNS43IDUzLjMgMTYgNzYuOWwwIDMuMWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY2LjdDMTY1LjIgMzk4LjEgOTYgMzE5LjEgOTYgMjI0bDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzc4LjMgOTYgOTYgOTZsNjQgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek00OTYgMjU2YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMTYgODBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA0OC00OCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDQ4IDAgMCA0OGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNDggNDggMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtNDggMCAwLTQ4eiJdfSxlZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXN3aW1taW5nIixpY29uOls2NDAsNTEyLFsxMjc5NDYsInN3aW1tZXIiXSwiZjVjNCIsIk01NTIgMTUyYTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHpNMjkzLjQgMTk4LjJsLTg4LjYgNzMuOWMxLjEgMCAyLjItLjEgMy4zLS4xIDMzLjEtLjIgNjYuMyAxMC4yIDk0LjQgMzEuNCAyMi4xIDE2LjYgMjkuMSAxNi42IDUxLjIgMCAyNy41LTIwLjcgNTkuOS0zMS4yIDkyLjQtMzEuNCA0LjggMCA5LjcgLjIgMTQuNSAuNi04LjMtMzAtMjQuMy01Ny43LTQ2LjgtODAuMi0xOC40LTE4LjQtNDAuNi0zMi43LTY1LTQxLjhsLTY4LjYtMjUuN2MtMjcuNC0xMC4zLTU4LTcuNS04My4xIDcuNmwtNTMuNSAzMi4xYy0xNS4yIDkuMS0yMC4xIDI4LjctMTEgNDMuOXMyOC43IDIwLjEgNDMuOSAxMUwyMzAgMTg3LjNjOC40LTUgMTguNi01LjkgMjcuNy0yLjVsMzUuNyAxMy40em0xMTAgMTgxLjljMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdTNyAzODYuMyAxNy42IDM5NC4zYzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOXoiXX0sREZ0PWVkZSx0ZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudC1kb3RzIixpY29uOls1MTIsNTEyLFsxMjgxNzIsNjIwNzUsImNvbW1lbnRpbmciXSwiZjRhZCIsIk0yNTYgNDgwYzE0MS40IDAgMjU2LTEwNy41IDI1Ni0yNDBTMzk3LjQgMCAyNTYgMCAwIDEwNy41IDAgMjQwYzAgNTQuMyAxOS4yIDEwNC4zIDUxLjYgMTQ0LjVMMi44IDQ3Ni44Yy00LjggOS0zLjMgMjAgMy42IDI3LjVzMTcuOCA5LjggMjcuMSA1LjhsMTE4LjQtNTAuN0MxODMuNyA0NzIuNiAyMTguOSA0ODAgMjU2IDQ4MHpNMTI4IDIwOGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptOTYgMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sQUZ0PXRkZSxhZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhcnQtcGllIixpY29uOls1NzYsNTEyLFsicGllLWNoYXJ0Il0sImYyMDAiLCJNNTEyLjQgMjQwbC0xNzYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNzZjMC0xNy43IDE0LjQtMzIuMiAzMS45LTI5LjkgMTA3IDE0LjIgMTkxLjggOTkgMjA2IDIwNiAyLjMgMTcuNS0xMi4yIDMxLjktMjkuOSAzMS45ek0yMjIuNiAzNy4yYzE4LjEtMy44IDMzLjggMTEgMzMuOCAyOS41bDAgMTk3LjNjMCA1LjYgMiAxMSA1LjUgMTUuM0wzOTQgNDM4LjdjMTEuNyAxNC4xIDkuMiAzNS40LTYuOSA0NC4xLTM0LjEgMTguNi03My4yIDI5LjItMTE0LjcgMjkuMi0xMzIuNSAwLTI0MC0xMDcuNS0yNDAtMjQwIDAtMTE1LjUgODEuNS0yMTEuOSAxOTAuMi0yMzQuOHpNNDc3LjggMjg4bDY0IDBjMTguNSAwIDMzLjMgMTUuNyAyOS41IDMzLjgtMTAuMiA0OC40LTM1IDkxLjQtNjkuNiAxMjQuMi0xMi4zIDExLjctMzEuNiA5LjItNDIuNC0zLjlMMzc0LjkgMzQwLjRjLTE3LjMtMjAuOS0yLjQtNTIuNCAyNC42LTUyLjRsNzguMiAweiJdfSxQRnQ9YWRlLEVGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmcm9nIixpY29uOls1NzYsNTEyLFtdLCJmNTJlIiwiTTM2OCAzMmM0MS43IDAgNzUuOSAzMS44IDc5LjcgNzIuNWw4NS42IDI2LjNjMjUuNCA3LjggNDIuOCAzMS4zIDQyLjggNTcuOSAwIDIxLjgtMTEuNyA0MS45LTMwLjcgNTIuN2wtMTQ0LjUgODIuMSA5Mi41IDkyLjUgNTAuNyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC02NCAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNEwzNDYuOSAzNjAuMmMxMS43LTM2IDMuMi03Ny4xLTI1LjQtMTA1LjctNDAuNi00MC42LTEwNi4zLTQwLjYtMTQ2LjktLjFMMTAxIDMyNC40Yy02LjQgNi4xLTYuNyAxNi4yLS42IDIyLjZzMTYuMiA2LjYgMjIuNiAuNmw3My44LTcwLjIgLjEtLjEgLjEtLjFjMy41LTMuNSA3LjMtNi42IDExLjMtOS4yIDI3LjktMTguNSA2NS45LTE1LjQgOTAuNSA5LjIgMjQuNyAyNC43IDI3LjcgNjIuOSA5IDkwLjktMi42IDMuOC01LjYgNy41LTkgMTAuOUwyNjEuOCA0MTYgMzUyIDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw2NCA0ODBDMjguNyA0ODAgMCA0NTEuMyAwIDQxNiAwIDI0OS42IDEyNyAxMTIuOSAyODkuMyA5Ny41IDI5Ni4yIDYwLjIgMzI4LjggMzIgMzY4IDMyem0wIDEwNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6Il19LElGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3aW5lLWJvdHRsZSIsaWNvbjpbMzIwLDUxMixbXSwiZjcyZiIsIk04MC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyIDAgMTEuOC02LjQgMjIuMi0xNiAyNy43bDAgMTQ1LjZjNTYuNSAyNC43IDk2IDgxLjEgOTYgMTQ2LjdsMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTc2Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDI4OGMwLTY1LjYgMzkuNS0xMjIgOTYtMTQ2LjdMOTYtNC4zQzg2LjQtOS44IDgwLTIwLjIgODAtMzJ6TTk2IDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJMOTYgMjg4eiJdfSxORnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaW5ib3giLGljb246WzUxMiw1MTIsW10sImYwMWMiLCJNOTEuOCAzMkM1OS45IDMyIDMyLjkgNTUuNCAyOC40IDg2LjlMLjYgMjgxLjJjLS40IDMtLjYgNi0uNiA5LjFMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xMjUuN2MwLTMtLjItNi4xLS42LTkuMUw0ODMuNiA4Ni45QzQ3OS4xIDU1LjQgNDUyLjEgMzIgNDIwLjIgMzJMOTEuOCAzMnptMCA2NGwzMjguNSAwIDI3LjQgMTkyLTU5LjkgMGMtMTIuMSAwLTIzLjIgNi44LTI4LjYgMTcuN2wtMTQuMyAyOC42Yy01LjQgMTAuOC0xNi41IDE3LjctMjguNiAxNy43bC0xMjAuNCAwYy0xMi4xIDAtMjMuMi02LjgtMjguNi0xNy43bC0xNC4zLTI4LjZjLTUuNC0xMC44LTE2LjUtMTcuNy0yOC42LTE3LjdMNjQuMyAyODggOTEuOCA5NnoiXX0scmRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1oIixpY29uOls0NDgsNTEyLFsiaC1zcXVhcmUiXSwiZjBmZCIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0zMjAgMTY4bDAgMTc2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNjQtOTYgMCAwIDY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTc2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA2NCA5NiAwIDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHoiXX0sUkZ0PXJkZSxGRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtbWVkaWNhbCIsaWNvbjpbNTEyLDUxMixbXSwiZTNiMiIsIk0yNzcuOCA4LjZjLTEyLjMtMTEuNC0zMS4zLTExLjQtNDMuNSAwbC0yMjQgMjA4Yy05LjYgOS0xMi44IDIyLjktOCAzNS4xUzE4LjggMjcyIDMyIDI3MmwxNiAwIDAgMTc2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI4OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTc2IDE2IDBjMTMuMiAwIDI1LTguMSAyOS44LTIwLjNzMS42LTI2LjItOC0zNS4xbC0yMjQtMjA4ek0yMjQgMjQ4YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQwIDQwIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC00MCAwIDAgNDBjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC00MC00MCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDAgMCAwLTQweiJdfSxpZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWNoZXZyb24tcmlnaHQiLGljb246WzUxMiw1MTIsWyJjaGV2cm9uLWNpcmNsZS1yaWdodCJdLCJmMTM4IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDAgNTEyIDAgMjU2IDI1NiAwIDEgMCAtNTEyIDB6TTI0MSAzNzdjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsODctODctODctODdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMEwzNDUgMjM5YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45TDI0MSAzNzd6Il19LE9GdD1pZGUsQkZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtY3N2IixpY29uOls1NzYsNTEyLFtdLCJmNmRkIiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsODAgMCAwLTExMmMwLTM1LjMgMjguNy02NCA2NC02NGwxNzYgMCAwLTE2NS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2ek0yNjQgMzgwYy0yNC4zIDAtNDQgMTkuNy00NCA0NGwwIDgwYzAgMjQuMyAxOS43IDQ0IDQ0IDQ0bDE2IDBjMjQuMyAwIDQ0LTE5LjcgNDQtNDRsMC04YzAtMTEtOS0yMC0yMC0yMHMtMjAgOS0yMCAyMGwwIDhjMCAyLjItMS44IDQtNCA0bC0xNiAwYy0yLjIgMC00LTEuOC00LTRsMC04MGMwLTIuMiAxLjgtNCA0LTRsMTYgMGMyLjIgMCA0IDEuOCA0IDRsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOGMwLTI0LjMtMTkuNy00NC00NC00NGwtMTYgMHptMTM2IDBjLTI4LjcgMC01MiAyMy4zLTUyIDUyczIzLjMgNTIgNTIgNTJjNi42IDAgMTIgNS40IDEyIDEycy01LjQgMTItMTIgMTJsLTMyIDBjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwbDMyIDBjMjguNyAwIDUyLTIzLjMgNTItNTJzLTIzLjMtNTItNTItNTJjLTYuNiAwLTEyLTUuNC0xMi0xMnM1LjQtMTIgMTItMTJsMjQgMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTI0IDB6bTk2IDBjLTExIDAtMjAgOS0yMCAyMGwwIDMxLjZjMCAzNS41IDEwLjUgNzAuMyAzMC4yIDk5LjhsNS4xIDcuN2MzLjcgNS42IDEwIDguOSAxNi42IDguOXMxMi45LTMuMyAxNi42LTguOWw1LjEtNy43YzE5LjctMjkuNiAzMC4yLTY0LjMgMzAuMi05OS44bDAtMzEuNmMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjBsMCAzMS42YzAgMTkuNi00LjEgMzguOS0xMiA1Ni43LTcuOS0xNy44LTEyLTM3LjEtMTItNTYuN2wwLTMxLjZjMC0xMS05LTIwLTIwLTIweiJdfSxIRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGF0LWNvd2JveSIsaWNvbjpbNjQwLDUxMixbXSwiZjhjMCIsIk0xODIuMiA3Ni4xTDEzMC44IDMwNy41QzE0NS41IDMyNC45IDE2Ny40IDMzNiAxOTIgMzM2bDI1NiAwYzI0LjYgMCA0Ni41LTExLjEgNjEuMi0yOC41TDQ1Ny44IDc2LjFjLTUuNy0yNS44LTI4LjYtNDQuMS01NS00NC4xLTEyLjIgMC0yNC4xIDQtMzMuOCAxMS4zbC00LjcgMy41Yy0yNi4zIDE5LjctNjIuNCAxOS43LTg4LjYgMEwyNzEgNDMuM2MtOS44LTcuMy0yMS42LTExLjMtMzMuOC0xMS4zLTI2LjQgMC00OS4zIDE4LjMtNTUgNDQuMXpNNjQgMjU2YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgMjM4LjMgMCAyNTZDMCAzNjIgODYgNDQ4IDE5MiA0NDhsMjU2IDBjMTA2IDAgMTkyLTg2IDE5Mi0xOTIgMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJjMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTI1NiAwYy03MC43IDAtMTI4LTU3LjMtMTI4LTEyOHoiXX0sc2RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi10b25ndWUtd2luayIsaWNvbjpbNTEyLDUxMixbMTI4NTQwLCJncmluLXRvbmd1ZS13aW5rIl0sImY1OGIiLCJNMTUyLjIgNDkwLjFDNjIuNSA0NTAuMiAwIDM2MC40IDAgMjU2IDAgMTE0LjYgMTE0LjYgMCAyNTYgMFM1MTIgMTE0LjYgNTEyIDI1NmMwIDEwNC40LTYyLjUgMTk0LjItMTUyLjIgMjM0LjEgNS4zLTEzIDguMi0yNy4yIDguMi00Mi4xbDAtNjEuN2MxNi45LTE2LjUgMzAuMS0zNi43IDM4LjMtNTkuMyA0LjMtMTEuOC03LjctMjEuOC0xOS42LTE4LjEtMzkuMiAxMi4yLTgzLjcgMTkuMS0xMzAuNyAxOS4xcy05MS41LTYuOS0xMzAuNy0xOS4xYy0xMS45LTMuNy0yMy45IDYuMy0xOS42IDE4LjEgOC4zIDIyLjYgMjEuNSA0Mi44IDM4LjMgNTkuM2wwIDYxLjdjMCAxNC45IDIuOSAyOS4xIDguMiA0Mi4xek0xNTIgMjEybDE2IDBjMTEgMCAyMCA5IDIwIDIwczkgMjAgMjAgMjAgMjAtOSAyMC0yMGMwLTMzLjEtMjYuOS02MC02MC02MGwtMTYgMGMtMzMuMSAwLTYwIDI2LjktNjAgNjAgMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjAgOS0yMCAyMC0yMHptMTg0IDYwYTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4ek0zMjAgNDAyLjZsMCA0NS40YzAgMzUuMy0yOC43IDY0LTY0IDY0cy02NC0yOC43LTY0LTY0bDAtNDUuNGMwLTE0LjcgMTEuOS0yNi42IDI2LjYtMjYuNmwyIDBjMTEuMyAwIDIxLjEgNy45IDIzLjYgMTguOSAyLjggMTIuNiAyMC44IDEyLjYgMjMuNiAwIDIuNS0xMS4xIDEyLjMtMTguOSAyMy42LTE4LjlsMiAwYzE0LjcgMCAyNi42IDExLjkgMjYuNiAyNi42ek0zMzYgMTg0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHoiXX0scUZ0PXNkZSxWRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibCIsaWNvbjpbMzIwLDUxMixbMTA4XSwiNGMiLCJNNjQgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzNTIgMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwzMiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0selk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctZG93bi1zaG9ydC13aWRlIixpY29uOls1NzYsNTEyLFsic29ydC1hbW91bnQtZGVzYyIsInNvcnQtYW1vdW50LWRvd24tYWx0Il0sImY4ODQiLCJNMjQ2LjYgMzc0LjZsLTk2IDk2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtOTYtOTZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgMzcwLjcgOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMwNi43IDQxLjQtNDEuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zek0zMjAgMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxMjhsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxMjhsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDEyOGwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjI0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LGpGdD16WSxVRnQ9elksb2RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXJnbGFzcy1oYWxmIixpY29uOlszODQsNTEyLFsiaG91cmdsYXNzLTIiXSwiZjI1MiIsIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlMxNC4zIDY0IDMyIDY0bDAgMTFjMCA0Mi40IDE2LjkgODMuMSA0Ni45IDExMy4xbDY3LjkgNjcuOS02Ny45IDY3LjlDNDguOSAzNTMuOSAzMiAzOTQuNiAzMiA0MzdsMCAxMWMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTExYzAtNDIuNC0xNi45LTgzLjEtNDYuOS0xMTMuMWwtNjcuOS02Ny45IDY3LjktNjcuOWMzMC0zMCA0Ni45LTcwLjcgNDYuOS0xMTMuMWwwLTExYzE3LjcgMCAzMi0xNC4zIDMyLTMyUzM2OS43IDAgMzUyIDBMMzIgMHpNOTYgNzVsMC0xMSAxOTIgMCAwIDExYzAgMTktNS42IDM3LjQtMTYgNTNMMTEyIDEyOGMtMTAuMy0xNS42LTE2LTM0LTE2LTUzem0xNiAzMDljMy41LTUuMyA3LjYtMTAuMyAxMi4xLTE0LjlsNjcuOS02Ny45IDY3LjkgNjcuOWM0LjYgNC42IDguNiA5LjYgMTIuMiAxNC45TDExMiAzODR6Il19LFdGdD1vZGUsbmRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNwb29uIixpY29uOls1MTIsNTEyLFsxMjkzNDgsNjE4NzMsInV0ZW5zaWwtc3Bvb24iXSwiZjJlNSIsIk0yNDUuOCAyMjAuOWMtMTQuNS0xNy42LTIxLjgtMzkuMi0yMS44LTYwLjggMC04MC4yIDk2LTE2MC4yIDE5Mi0xNjAuMiA1MyAwIDk2IDQzIDk2IDk2IDAgOTYtODAgMTkyLTE2MC4yIDE5Mi0yMS42IDAtNDMuMi03LjMtNjAuOC0yMS44TDU0LjYgNTAyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDI0NS44IDIyMC45eiJdfSxHRnQ9bmRlLGxkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjcmVkaXQtY2FyZCIsaWNvbjpbNTEyLDUxMixbMTI4MTc5LDYyMDgzLCJjcmVkaXQtY2FyZC1hbHQiXSwiZjA5ZCIsIk0wIDEyOGwwIDMyIDUxMiAwIDAtMzJjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjh6bTAgODBMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNzYtNTEyIDB6TTY0IDM2MGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMTQ0IDBjMC0xMy4zIDEwLjctMjQgMjQtMjRsNjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6Il19LFlGdD1sZGUsc1o9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1pbnZvaWNlLWRvbGxhciIsaWNvbjpbMzg0LDUxMixbXSwiZjU3MSIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNNjQgODhjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw4OCA2NEM3NC43IDY0IDY0IDc0LjcgNjQgODh6bTAgOTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTExMiA3NmwwIDRjLTI4LjggLjMtNTIgMjMuNy01MiA1Mi41IDAgMjUuNyAxOC41IDQ3LjYgNDMuOSA1MS44bDQxLjcgN2M2IDEgMTAuNCA2LjIgMTAuNCAxMi4zIDAgNi45LTUuNiAxMi41LTEyLjUgMTIuNUwxNTIgNDAwYy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGwyNCAwIDAgNGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTQuN2MyNS00LjEgNDQtMjUuNyA0NC01MS44IDAtMjUuNy0xOC41LTQ3LjYtNDMuOS01MS44bC00MS43LTdjLTYtMS0xMC40LTYuMi0xMC40LTEyLjMgMC02LjkgNS42LTEyLjUgMTIuNS0xMi41bDQ3LjUgMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTggMCAwLTRjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIweiJdfSxjZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3BhZ2hldHRpLW1vbnN0ZXItZmx5aW5nIixpY29uOls2NDAsNTEyLFsicGFzdGFmYXJpYW5pc20iXSwiZjY3YiIsIk0yMDggNjRhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptNDggMGMwIDE2LjItNiAzMS4xLTE2IDQyLjNsMTUuNiAzMS4yYzE4LjctNiAzOS45LTkuNSA2NC40LTkuNXM0NS44IDMuNSA2NC40IDkuNUw0MDAgMTA2LjNjLTEwLTExLjMtMTYtMjYuMS0xNi00Mi4zIDAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjQtMjguNyA2NC02NCA2NGMtMS43IDAtMy40LS4xLTUuMS0uMkw0MjcuOCAxNThjMjEuMSAxMy42IDM3LjcgMzAuMiA1MS40IDQ2LjQgNy4xIDguMyAxMy41IDE2LjYgMTkuMyAyNGwxLjQgMS44YzYuMyA4LjEgMTEuNiAxNC44IDE2LjcgMjAuNCAxMC43IDExLjcgMTYuMSAxMy40IDE5LjQgMTMuNCAyLjUgMCA0LjMtLjYgNy4xLTMuMyAzLjctMy41IDcuMS04LjggMTIuNS0xNy40bC42LS45YzQuNi03LjQgMTEtMTcuNiAxOS40LTI1LjcgOS43LTkuMyAyMi45LTE2LjcgNDAuNC0xNi43IDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0yLjUgMC00LjMgLjYtNy4xIDMuMy0zLjcgMy41LTcuMSA4LjgtMTIuNSAxNy40bC0uNiAuOWMtNC42IDcuNC0xMSAxNy42LTE5LjQgMjUuNy05LjcgOS4zLTIyLjkgMTYuNy00MC40IDE2LjctMTguNSAwLTMyLjktOC41LTQ0LjMtMTguNi0zLjEgNC02LjYgOC4zLTEwLjUgMTIuNyAxLjQgNC4zIDIuOCA4LjUgNCAxMi41IC45IDMgMS44IDUuOCAyLjYgOC42IDMgOS44IDUuNSAxOC4yIDguNiAyNS45IDMuOSA5LjggNy40IDE1LjQgMTAuOCAxOC41IDIuNiAyLjQgNS45IDQuMyAxMi44IDQuMyA4LjcgMCAxNi45LTQuMiAzMy43LTEzLjIgMTUtOCAzNS43LTE4LjggNjIuMy0xOC44IDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0xMy40IDAtMjQuNyA1LjItMzkuNyAxMy4yLTEgLjYtMi4xIDEuMS0zLjIgMS43LTEzLjEgNy4xLTMxLjYgMTcuMS01My4xIDE3LjEtMTguNCAwLTMzLjYtNi4xLTQ1LjUtMTcuMi0xMS4xLTEwLjMtMTcuOS0yMy43LTIyLjctMzYtMy42LTktNi43LTE5LjEtOS41LTI4LjUtMTYuNCAxMi4zLTM2LjEgMjMuNi01OC45IDMxLjMgMy42IDEwLjggOC40IDIzLjUgMTQuNCAzNi4yIDcuNSAxNS45IDE2LjIgMzAuNCAyNS44IDQwLjUgOS42IDEwLjIgMTcuNyAxMy43IDI0LjUgMTMuNyAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMjUuMiAwLTQ1LTEzLjUtNTkuNS0yOC44LTE0LjUtMTUuNC0yNS43LTM0LjktMzQuMi01My04LTE3LTE0LjEtMzMuOC0xOC4zLTQ2LjktNS4yIC40LTEwLjYgLjYtMTYgLjZzLTEwLjgtLjItMTYtLjZjLTQuMiAxMy0xMC4zIDI5LjktMTguMyA0Ni45LTguNSAxOC4xLTE5LjggMzcuNi0zNC4yIDUzLTE0LjQgMTUuMy0zNC4zIDI4LjgtNTkuNSAyOC44LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjNi44IDAgMTUtMy41IDI0LjUtMTMuNyA5LjUtMTAuMSAxOC4zLTI0LjYgMjUuOC00MC41IDUuOS0xMi42IDEwLjctMjUuNCAxNC40LTM2LjItMjIuOC03LjctNDIuNS0xOS01OC45LTMxLjMtMi45IDkuNC02IDE5LjUtOS41IDI4LjUtNC44IDEyLjItMTEuNiAyNS42LTIyLjcgMzYtMTEuOSAxMS4xLTI3LjEgMTcuMi00NS41IDE3LjItMTMuMSAwLTI0LjUtNC4xLTMzLjgtOC45LTcuOS00LTE1LjctOS4yLTIyLjEtMTMuNWwwIDAtMi40LTEuNmMtMTUuMy0xMC4yLTI1LjgtMTYtMzcuNy0xNi0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzI4LjEgMCA0OS42IDE0LjIgNjQuMyAyNGwyLjQgMS42YzYuOSA0LjYgMTIuMSA4LjEgMTcuMiAxMC43IDUuNSAyLjggOS4xIDMuNiAxMiAzLjYgNi44IDAgMTAuMi0xLjkgMTIuOC00LjMgMy40LTMuMiA3LTguOCAxMC44LTE4LjUgMy03LjcgNS42LTE2LjEgOC42LTI1LjkgLjgtMi43IDEuNy01LjYgMi42LTguNiAxLjItNCAyLjYtOC4yIDQtMTIuNS0zLjktNC41LTcuNC04LjgtMTAuNS0xMi43LTExLjQgMTAuMS0yNS45IDE4LjYtNDQuMyAxOC42LTE3LjUgMC0zMC43LTcuNC00MC40LTE2LjctOC40LTguMS0xNC44LTE4LjMtMTkuNC0yNS43bC0uNi0uOWMtNS40LTguNi04LjgtMTMuOS0xMi41LTE3LjQtMi44LTIuNy00LjYtMy4zLTcuMS0zLjMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMxNy41IDAgMzAuNyA3LjQgNDAuNCAxNi43IDguNCA4LjEgMTQuOCAxOC4zIDE5LjQgMjUuN2wuNiAuOWM1LjQgOC42IDguOCAxMy45IDEyLjUgMTcuNCAyLjggMi43IDQuNiAzLjMgNy4xIDMuMyAzLjMgMCA4LjctMS43IDE5LjQtMTMuNCA1LjEtNS42IDEwLjQtMTIuMyAxNi43LTIwLjRsMS40LTEuOGM1LjgtNy40IDEyLjItMTUuNyAxOS4zLTI0IDEzLjgtMTYuMiAzMC4zLTMyLjggNTEuNC00Ni40bC0xNS4xLTMwLjJjLTEuNyAuMS0zLjQgLjItNS4xIC4yLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjQgNjQgMjguNyA2NCA2NHptMjA4IDBhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHoiXX0sWkZ0PWNkZSxkZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFydGluaS1nbGFzcy1jaXRydXMiLGljb246WzY0MCw1MTIsWyJjb2NrdGFpbCJdLCJmNTYxIiwiTTU3NiA4MGMwLTQ0LjItMzUuOC04MC04MC04MC0xOCAwLTM0LjYgNi00OCAxNmwtODEgMGMyMy42LTQ3LjQgNzIuNS04MCAxMjktODAgNzkuNSAwIDE0NCA2NC41IDE0NCAxNDRTNTc1LjUgMjI0IDQ5NiAyMjRjLTYuNSAwLTEzLS40LTE5LjMtMS4zbDY0LTc0LjdjMS4xLTEuMyAyLjItMi43IDMuMy00LjEgMTkuNC0xNC42IDMyLTM3LjggMzItNjR6TTY2LjkgODIuNkM3Mi4yIDcxLjMgODMuNSA2NCA5NiA2NGwzODQgMGMxMi41IDAgMjMuOCA3LjMgMjkuMSAxOC42czMuNCAyNC43LTQuOCAzNC4ybC0xODQuMyAyMTUgMCAxMTYuMiA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwIDAtMTE2LjItMTg0LjMtMjE1Yy04LjEtOS41LTEwLTIyLjgtNC44LTM0LjJ6TTE2NS42IDEyOEwyODggMjcwLjggNDEwLjQgMTI4IDE2NS42IDEyOHoiXX0sWEZ0PWRkZSxLRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVsbGhvcm4iLGljb246WzUxMiw1MTIsWzEyODIyNiwxMjgzNjNdLCJmMGExIiwiTTQ2MS4yIDE4LjlDNDcyLjcgMjQgNDgwIDM1LjQgNDgwIDQ4bDAgNDE2YzAgMTIuNi03LjMgMjQtMTguOCAyOS4xcy0yNC44IDMuMi0zNC4zLTUuMWwtNDYuNi00MC43Yy00My42LTM4LjEtOTguNy02MC4zLTE1Ni40LTYzbDAgOTUuN2MwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NkM1Ny4zIDM4NCAwIDMyNi43IDAgMjU2UzU3LjMgMTI4IDEyOCAxMjhsODQuNSAwYzYxLjgtLjIgMTIxLjQtMjIuNyAxNjcuOS02My4zbDQ2LjYtNDAuN2M5LjQtOC4zIDIyLjktMTAuMiAzNC4zLTUuMXpNMjI0IDMyMGwwIC4yYzcwLjMgMi43IDEzNy44IDI4LjUgMTkyIDczLjRsMC0yNzUuM2MtNTQuMiA0NC45LTEyMS43IDcwLjctMTkyIDczLjRMMjI0IDMyMHoiXX0sUUZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJveC10aXNzdWUiLGljb246WzUxMiw1MTIsW10sImUwNWIiLCJNMTAzLjkgMzJsMTYxIDBjMTMuOCAwIDI2IDguOCAzMC40IDIxLjlsMTcuNCA1Mi4yYzQuNCAxMy4xIDE2LjYgMjEuOSAzMC40IDIxLjlsNjAuNSAwYzIxLjggMCAzNy4zIDIxLjQgMzAuNCA0Mi4xTDM4NCAzMjAgMTI4IDMyMCA3Mi43IDcwLjlDNjguMiA1MSA4My40IDMyIDEwMy45IDMyek00OCAyNTZsMTYuNiAwIDE2LjUgNzQuNEM4NiAzNTIuNCAxMDUuNSAzNjggMTI4IDM2OGwyNTYgMGMyMC43IDAgMzktMTMuMiA0NS41LTMyLjhsMjYuNC03OS4yIDguMSAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTI4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAzMDRjMC0yNi41IDIxLjUtNDggNDgtNDh6Il19LEpGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXR0cmVzcy1waWxsb3ciLGljb246WzU3Niw1MTIsW10sImU1MjUiLCJNMjU2IDY0TDY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5MiAwIDAtMzg0em00OCAzODRsMjA4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTIwOCAwIDAgMzg0ek02NCAxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE5MmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xOTJ6Il19LGVPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGV2cm9uLWxlZnQiLGljb246WzMyMCw1MTIsWzkwMDFdLCJmMDUzIiwiTTkuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTkyIDE5MmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDc3LjMgMjU2IDI0Ni42IDg2LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE5MiAxOTJ6Il19LHRPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1tb29uLXJhaW4iLGljb246WzU3Niw1MTIsW10sImY3M2MiLCJNNDQ4IDBjLTY4LjYgMC0xMjcuMSA0My4xLTE0OS44IDEwMy44IDE3LjEgMTQuMSAyOS42IDMzLjUgMzQuOSA1NS44IDM5LjkgMjEuNyA2Ni45IDYzLjkgNjYuOSAxMTIuNSAwIDEzLjUtMi4xIDI2LjUtNS45IDM4LjcgMTYuOSA2IDM1IDkuMyA1My45IDkuMyA0MyAwIDgyLjEtMTcgMTEwLjgtNDQuNiA0LjYtNC40IDUuOS0xMS4yIDMuMy0xN3MtOC42LTkuMy0xNC45LTguOGMtMyAuMi02LjEgLjQtOS4yIC40LTYzLjUgMC0xMTUtNTEuNS0xMTUtMTE1IDAtNDUuMSAyNi04NC4yIDYzLjgtMTAzIDUuNy0yLjggOS04LjkgOC4yLTE1LjJTNDg5LjYgNS4zIDQ4My40IDMuOUM0NzIgMS40IDQ2MC4yIDAgNDQ4IDB6TTI3MiAzNTJjNDQuMiAwIDgwLTM1LjggODAtODAgMC0zOS0yNy45LTcxLjUtNjQuOC03OC42IC41LTMuMSAuOC02LjIgLjgtOS40IDAtMzAuOS0yNS4xLTU2LTU2LTU2LTEyLjQgMC0yMy45IDQtMzMuMSAxMC44LTEzLjQtMjUuNS00MC4xLTQyLjgtNzAuOS00Mi44LTQ0LjIgMC04MCAzNS44LTgwIDgwIDAgNy40IDEgMTQuNiAyLjkgMjEuNS0yOS44IDExLjYtNTAuOSA0MC42LTUwLjkgNzQuNSAwIDQ0LjIgMzUuOCA4MCA4MCA4MGwxOTIgMHpNNjkgNDAxLjFjLTEyLjYtNC4yLTI2LjIgMi42LTMwLjQgMTUuMkwxNy4yIDQ4MC40QzEzIDQ5MyAxOS44IDUwNi42IDMyLjQgNTEwLjhzMjYuMi0yLjYgMzAuNC0xNS4ybDIxLjQtNjQuMWM0LjItMTIuNi0yLjYtMjYuMi0xNS4yLTMwLjR6bTEyMCAwYy0xMi42LTQuMi0yNi4yIDIuNi0zMC40IDE1LjJsLTIxLjQgNjQuMWMtNC4yIDEyLjYgMi42IDI2LjIgMTUuMiAzMC40czI2LjItMi42IDMwLjQtMTUuMmwyMS40LTY0LjFjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40em0xMjAgMGMtMTIuNi00LjItMjYuMiAyLjYtMzAuNCAxNS4ybC0yMS40IDY0LjFjLTQuMiAxMi42IDIuNiAyNi4yIDE1LjIgMzAuNHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuNC02NC4xYzQuMi0xMi42LTIuNi0yNi4yLTE1LjItMzAuNHoiXX0sU1k9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctZG93bi0xLTkiLGljb246WzUxMiw1MTIsWyJzb3J0LW51bWVyaWMtYXNjIiwic29ydC1udW1lcmljLWRvd24iXSwiZjE2MiIsIk00MTguNyAzOGM4LjMgNiAxMy4zIDE1LjcgMTMuMyAyNmwwIDk2IDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYgMCAwLTUxLjYtNS45IDJjLTE2LjggNS42LTM0LjktMy41LTQwLjUtMjAuMnMzLjUtMzQuOSAyMC4yLTQwLjVsNDgtMTZjOS44LTMuMyAyMC41LTEuNiAyOC44IDQuNHpNMzY1LjEgNDMwLjZsMTEuNy0xOGMtMzIuOS05LjktNTYuOC00MC41LTU2LjgtNzYuNiAwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMjIuOS02LjYgNDUuMy0xOS4xIDY0LjVsLTQyLjEgNjQuOWMtOS42IDE0LjgtMjkuNCAxOS4xLTQ0LjMgOS40cy0xOS4xLTI5LjQtOS40LTQ0LjN6TTQyNCAzMzZhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNMTUwLjYgNDcwLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC05Ni05NmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAzNzAuNyA5NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzA2LjcgNDEuNC00MS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTk2IDk2eiJdfSxhT3Q9U1ksck90PVNZLGlPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXNwb2NrIixpY29uOls1MTIsNTEyLFsxMjg0MDZdLCJmMjU5IiwiTTIxNC45IDIzLjdDMjEwLjMgNi42IDE5Mi44LTMuNSAxNzUuNyAxLjFzLTI3LjIgMjIuMS0yMi42IDM5LjJMMjA2IDIzNy44YzIuNSA5LjItNC41IDE4LjItMTQgMTguMi02LjQgMC0xMi00LjItMTMuOS0xMC4zTDEzNC42IDEwMi43Yy01LjEtMTYuOS0yMy0yNi40LTM5LjktMjEuM3MtMjYuNCAyMy0yMS4zIDM5LjlsNjIuOCAyMDYuNGMyLjQgNy45LTcuMiAxMy44LTEzLjIgOC4xTDY3LjYgMjgzYy0xNi0xNS4yLTQxLjMtMTQuNi01Ni42IDEuNFMtMy42IDMyNS43IDEyLjQgMzQxTDEyNC44IDQ0OGM0My4xIDQxLjEgMTAwLjQgNjQgMTYwIDY0bDE5LjEgMGMuMSAwIC4xLS4xIC4xLS4xcy4xLS4xIC4xLS4xYzU4LjMtMy41IDEwOC42LTQzLjIgMTI1LjMtOTkuN2w4MS4yLTI3NWM1LTE2LjktNC43LTM0LjctMjEuNi0zOS44cy0zNC43IDQuNy0zOS44IDIxLjZMNDExLjUgMjQ3LjFjLTEuNiA1LjMtNi40IDguOS0xMiA4LjktNy45IDAtMTMuOC03LjMtMTIuMi0xNS4xbDM2LTE3MC4zYzMuNy0xNy4zLTcuNC0zNC4zLTI0LjctMzcuOXMtMzQuMyA3LjQtMzcuOSAyNC43TDMyMy4xIDIzNS4xYy0yLjYgMTIuMi0xMy4zIDIwLjktMjUuOCAyMC45LTExLjkgMC0yMi40LTgtMjUuNC0xOS41bC01Ny0yMTIuOHoiXX0scGRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndhbmQtbWFnaWMtc3BhcmtsZXMiLGljb246WzU3Niw1MTIsWyJtYWdpYy13YW5kLXNwYXJrbGVzIl0sImUyY2EiLCJNMjYzLjQtMjdMMjc4LjIgOS44IDMxNSAyNC42YzMgMS4yIDUgNC4yIDUgNy40cy0yIDYuMi01IDcuNEwyNzguMiA1NC4yIDI2My40IDkxYy0xLjIgMy00LjIgNS03LjQgNXMtNi4yLTItNy40LTVMMjMzLjggNTQuMiAxOTcgMzkuNGMtMy0xLjItNS00LjItNS03LjRzMi02LjIgNS03LjRMMjMzLjggOS44IDI0OC42LTI3YzEuMi0zIDQuMi01IDcuNC01czYuMiAyIDcuNCA1ek0xMTAuNyA0MS43bDIxLjUgNTAuMSA1MC4xIDIxLjVjNS45IDIuNSA5LjcgOC4zIDkuNyAxNC43cy0zLjggMTIuMi05LjcgMTQuN2wtNTAuMSAyMS41LTIxLjUgNTAuMWMtMi41IDUuOS04LjMgOS43LTE0LjcgOS43cy0xMi4yLTMuOC0xNC43LTkuN0w1OS44IDE2NC4yIDkuNyAxNDIuN0MzLjggMTQwLjIgMCAxMzQuNCAwIDEyOHMzLjgtMTIuMiA5LjctMTQuN0w1OS44IDkxLjggODEuMyA0MS43QzgzLjggMzUuOCA4OS42IDMyIDk2IDMyczEyLjIgMy44IDE0LjcgOS43ek00NjQgMzA0YzYuNCAwIDEyLjIgMy44IDE0LjcgOS43bDIxLjUgNTAuMSA1MC4xIDIxLjVjNS45IDIuNSA5LjcgOC4zIDkuNyAxNC43cy0zLjggMTIuMi05LjcgMTQuN2wtNTAuMSAyMS41LTIxLjUgNTAuMWMtMi41IDUuOS04LjMgOS43LTE0LjcgOS43cy0xMi4yLTMuOC0xNC43LTkuN2wtMjEuNS01MC4xLTUwLjEtMjEuNWMtNS45LTIuNS05LjctOC4zLTkuNy0xNC43czMuOC0xMi4yIDkuNy0xNC43bDUwLjEtMjEuNSAyMS41LTUwLjFjMi41LTUuOSA4LjMtOS43IDE0LjctOS43ek00NjAgMGMxMSAwIDIxLjYgNC40IDI5LjUgMTIuMmw0Mi4zIDQyLjNDNTM5LjYgNjIuNCA1NDQgNzMgNTQ0IDg0cy00LjQgMjEuNi0xMi4yIDI5LjVsLTg4LjIgODguMi0xMDEuMy0xMDEuMyA4OC4yLTg4LjJDNDM4LjQgNC40IDQ0OSAwIDQ2MCAwek00NC4yIDM5OC41TDMwOC40IDEzNC4zIDQwOS43IDIzNS42IDE0NS41IDQ5OS44QzEzNy42IDUwNy42IDEyNyA1MTIgMTE2IDUxMnMtMjEuNi00LjQtMjkuNS0xMi4yTDQ0LjIgNDU3LjVDMzYuNCA0NDkuNiAzMiA0MzkgMzIgNDI4czQuNC0yMS42IDEyLjItMjkuNXoiXX0sc090PXBkZSxvT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudC1tZWRpY2FsIixpY29uOls1MTIsNTEyLFtdLCJmN2Y1IiwiTTI1NiA0ODBjMTQxLjQgMCAyNTYtMTA3LjUgMjU2LTI0MFMzOTcuNCAwIDI1NiAwIDAgMTA3LjUgMCAyNDBjMCA1NC4zIDE5LjIgMTA0LjMgNTEuNiAxNDQuNUwyLjggNDc2LjhjLTQuOCA5LTMuMyAyMCAzLjYgMjcuNXMxNy44IDkuOCAyNy4xIDUuOGwxMTguNC01MC43QzE4My43IDQ3Mi42IDIxOC45IDQ4MCAyNTYgNDgwek0yMTcuNiAxNTMuNmMwLTEwLjYgOC42LTE5LjIgMTkuMi0xOS4ybDM4LjQgMGMxMC42IDAgMTkuMiA4LjYgMTkuMiAxOS4ybDAgNDggNDggMGMxMC42IDAgMTkuMiA4LjYgMTkuMiAxOS4ybDAgMzguNGMwIDEwLjYtOC42IDE5LjItMTkuMiAxOS4ybC00OCAwIDAgNDhjMCAxMC42LTguNiAxOS4yLTE5LjIgMTkuMmwtMzguNCAwYy0xMC42IDAtMTkuMi04LjYtMTkuMi0xOS4ybDAtNDgtNDggMGMtMTAuNiAwLTE5LjItOC42LTE5LjItMTkuMmwwLTM4LjRjMC0xMC42IDguNi0xOS4yIDE5LjItMTkuMmw0OCAwIDAtNDh6Il19LG5PdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiZWxsLXNsYXNoIixpY29uOls1NzYsNTEyLFsxMjgyNzcsNjE5NDNdLCJmMWY2IiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTg3LjUtODcuNWMxNy4yLTIuNCAzMC41LTE3LjMgMzAuNS0zNS4yIDAtOC4xLTIuNy0xNS45LTcuOC0yMi4ybC05LjgtMTIuMkM0NjQuNCAzMDguNSA0NDggMjYxLjggNDQ4IDIxMy43bDAtMjEuN2MwLTc3LjQtNTUtMTQyLTEyOC0xNTYuOGwwLTMuMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMuMmMtMzguNiA3LjgtNzIuMiAyOS42LTk1LjIgNTkuN0w0MS0yNC45em04NyAyMzguNWMwIDQ4LjEtMTYuNCA5NC44LTQ2LjQgMTMyLjRsLTkuOCAxMi4yYy01IDYuMy03LjggMTQuMS03LjggMjIuMiAwIDE5LjYgMTUuOSAzNS41IDM1LjUgMzUuNWwyMzUuMyAwLTIwNi45LTIwNi45IDAgNC41ek0yODggNTEyYzI5LjggMCA1NC45LTIwLjQgNjItNDhsLTEyNCAwYzcuMSAyNy42IDMyLjIgNDggNjIgNDh6Il19LENZPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzaGFrZS1zbGFzaCIsaWNvbjpbNTc2LDUxMixbNTc0MzksImhhbmRzaGFrZS1hbHQtc2xhc2giLCJoYW5kc2hha2Utc2ltcGxlLXNsYXNoIl0sImUwNjAiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMjg4LTI4OCAxNC4yLTE0LjJjNC4yLTQuMiA5LjUtNi41IDE0LjktNi45IDYuOC0uNiAxMy44IDEuNyAxOSA2LjlMNTA1LjYgMzc2IDU3NiAzMjAgNTc2IDMyIDQ2NCA5NiA0NDAuMiA4MC4xQzQyNC40IDY5LjYgNDA1LjkgNjQgMzg2LjkgNjRsLTcwLjQgMGMtMS4xIDAtMi4zIDAtMy40IC4xLTE2LjkgLjktMzIuOCA4LjUtNDQuMiAyMS4xbC01NS44IDYyLjEtMzQtMzQgNDQuMy00OS4yLTM5LjcgMGMtMTUuMyAwLTMwLjEgMy42LTQzLjUgMTAuNEw0MS0yNC45ek0wIDY5LjhMMCAzMjAgMTU2LjQgNDUwLjNjMjMgMTkuMiA1MiAyOS43IDgxLjkgMjkuN2wxNS43IDAtNy03Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNDEgNDEgOSAwYzIyLjIgMCA0My44LTUuOCA2Mi44LTE2LjRMMCA2OS44eiJdfSxsT3Q9Q1ksY090PUNZLGRPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3R0bGUtd2F0ZXIiLGljb246WzMyMCw1MTIsW10sImU0YzUiLCJNMTEyLTMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDBDOTQuMyAzMiA4MCAxNy43IDgwIDBzMTQuMy0zMiAzMi0zMnpNMTYgMTQ0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDE2MCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0IDAgMjQuMS0xMy4zIDQ1LjEtMzMgNTYgMTkuNyAxMC45IDMzIDMxLjkgMzMgNTZzLTEzLjMgNDUuMS0zMyA1NmMxOS43IDEwLjkgMzMgMzEuOSAzMyA1NnMtMTMuMyA0NS4xLTMzIDU2YzE5LjcgMTAuOSAzMyAzMS45IDMzIDU2IDAgMzUuMy0yOC43IDY0LTY0IDY0TDgwIDU0NGMtMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yNC4xIDEzLjMtNDUuMSAzMy01Ni0xOS43LTEwLjktMzMtMzEuOS0zMy01NnMxMy4zLTQ1LjEgMzMtNTZjLTE5LjctMTAuOS0zMy0zMS45LTMzLTU2czEzLjMtNDUuMSAzMy01NmMtMTkuNy0xMC45LTMzLTMxLjktMzMtNTZ6Il19LHBPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlLWQyMCIsaWNvbjpbNTEyLDUxMixbXSwiZjZjZiIsIk0yMjQuNC04LjJjMTkuNi0xMS4xIDQzLjYtMTEuMSA2My4xIDBsMTkyIDEwOC44YzIwIDExLjQgMzIuNCAzMi42IDMyLjQgNTUuN2wwIDIxNS42YzAgMjMtMTIuNCA0NC4zLTMyLjQgNTUuN2wtMTkyIDEwOC44Yy0xOS42IDExLjEtNDMuNiAxMS4xLTYzLjEgMEwzMi40IDQyNy41QzEyLjQgNDE2LjEgMCAzOTQuOCAwIDM3MS44TDAgMTU2LjJjMC0yMyAxMi40LTQ0LjMgMzIuNC01NS43TDIyNC40LTguMnptNTIgNzMuMkMyNjcgNDkuOCAyNDUgNDkuOCAyMzUuNiA2NWwtNzYuNiAxMjMuNy04NS40LTQ2LjMtMy44LTEuNmMtOC45LTIuNy0xOC44IDEuMS0yMy40IDkuNnMtMi40IDE4LjkgNC43IDI0LjhsMy4zIDIuMyA4My40IDQ1LjItNzQuNiAxMjAuNkM1NS4zIDM1Ni4yIDYxIDM3MyA3NSAzNzguNGwxNjEgNjEuOSAwIDM5LjdjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0zOS43IDE2MS02MS45YzE0LTUuNCAxOS43LTIyLjIgMTEuOC0zNWwtNzQuNy0xMjAuNiA4My40LTQ1LjJjOS43LTUuMyAxMy4zLTE3LjQgOC4xLTI3LjFzLTE3LjQtMTMuMy0yNy4xLTguMUwzNTMgMTg4LjcgMjc2LjQgNjV6bS00NyAzMjkuOWwtMTIyLTQ2LjkgNTQuNS04OC4xIDY3LjUgMTM1ek00MDQuNiAzNDhsLTEyMiA0Ni45IDY3LjUtMTM1IDU0LjUgODguMXpNMzE5LjMgMjMyTDI1NiAzNTguNiAxOTIuNyAyMzIgMzE5LjMgMjMyek0zMDggMTkybC0xMDQuMSAwIDUyLTg0IDUyIDg0eiJdfSxfWT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLXotYSIsaWNvbjpbNTEyLDUxMixbInNvcnQtYWxwaGEtZGVzYyIsInNvcnQtYWxwaGEtZG93bi1hbHQiXSwiZjg4MSIsIk0yMzAuNiAzOTAuNmwtODAgODBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC04MC04MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAzNzAuNyA5NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzA2LjcgMjUuNC0yNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6TTI4OCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMjggMGMxMi45IDAgMjQuNiA3LjggMjkuNiAxOS44czIuMiAyNS43LTYuOSAzNC45TDM5Ny4zIDE2MCA0NDggMTYwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMjggMGMtMTIuOSAwLTI0LjYtNy44LTI5LjYtMTkuOHMtMi4yLTI1LjcgNi45LTM0LjlMMzcwLjggOTYgMzIwIDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDEyLjYgMjczLjdsODAgMTYwYzcuOSAxNS44IDEuNSAzNS0xNC4zIDQyLjlzLTM1IDEuNS00Mi45LTE0LjNsLTcuMi0xNC4zLTg4LjQgMC03LjIgMTQuM2MtNy45IDE1LjgtMjcuMSAyMi4yLTQyLjkgMTQuM3MtMjIuMi0yNy4xLTE0LjMtNDIuOWw4MC0xNjBjNS40LTEwLjggMTYuNS0xNy43IDI4LjYtMTcuN3MyMy4yIDYuOCAyOC42IDE3Ljd6TTM4NCAzNTkuNmwtMjAuMiA0MC40IDQwLjQgMC0yMC4yLTQwLjR6Il19LHVPdD1fWSxmT3Q9X1ksaE90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJydXNoIixpY29uOlszODQsNTEyLFtdLCJmNTVkIiwiTTE2Mi40IDZjLTEuNS0zLjYtNS02LTguOS02bC0xOSAwYy0zLjkgMC03LjUgMi40LTguOSA2TDEwNC45IDU3LjdjLTMuMiA4LTE0LjYgOC0xNy44IDBMNjYuNCA2Yy0xLjUtMy42LTUtNi04LjktNkw0OCAwQzIxLjUgMCAwIDIxLjUgMCA0OGwwIDIwOCAzODQgMCAwLTIwOGMwLTI2LjUtMjEuNS00OC00OC00OEwyMzAuNSAwYy0zLjkgMC03LjUgMi40LTguOSA2TDIwMC45IDU3LjdjLTMuMiA4LTE0LjYgOC0xNy44IDBMMTYyLjQgNnpNMCAzMDRsMCAxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw2NCAwIDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NGwwLTY0IDY0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNi0zODQgMHpNMTkyIDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNiAxNiA3LjIgMTYgMTYtNy4yIDE2LTE2IDE2eiJdfSxtT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXdhbGtpbmctZGFzaGVkLWxpbmUtYXJyb3ctcmlnaHQiLGljb246WzY0MCw1MTIsW10sImU1NTMiLCJNMTYwIDgwYTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyek03My40IDIyNy45bDIyLjYtMjIuNiAwIDY5LjNjMCAyOCAxMi4yIDU0LjcgMzMuNSA3Mi45bDcxLjQgNjEuMmM1LjkgNS4xIDkuOCAxMi4xIDEwLjkgMTkuOGwxMi42IDg4LjFjMi41IDE3LjUgMTguNyAyOS43IDM2LjIgMjcuMnMyOS43LTE4LjcgMjcuMi0zNi4ybC0xMi42LTg4LjFjLTMuMy0yMy4xLTE0LjktNDQuMS0zMi42LTU5LjNsLTM0LjUtMjkuNiAwLTExNS4yIDMuOCA0LjdjMTguMiAyMi44IDQ1LjggMzYgNzUgMzZsMzMuMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMy4yIDBjLTkuNyAwLTE4LjktNC40LTI1LTEybC0xNy45LTIyLjRjLTIzLTI4LjgtNTcuOS00NS42LTk0LjgtNDUuNi0zMi4yIDAtNjMuMSAxMi44LTg1LjggMzUuNkwyOC4xIDE4Mi42QzEwLjEgMjAwLjYgMCAyMjUgMCAyNTAuNUwwIDI4OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzcuNWMwLTguNSAzLjQtMTYuNiA5LjQtMjIuNnpNODUuOCA0MDcuM2MtMS41IDUuMi00LjMgMTAtOC4xIDEzLjhMOS40IDQ4OS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDY4LjMtNjguM2MxMS41LTExLjUgMTkuOS0yNS44IDI0LjQtNDEuNWwyLjItNy42LTQ2LTM5LjRjLTIuNS0yLjItNS00LjQtNy40LTYuOEw4NS44IDQwNy4zek00MzIgOGMwLTEzLjMtMTAuNy0yNC0yNC0yNFMzODQtNS4zIDM4NCA4bDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMyem0wIDEyOGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDMyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMnpNNDA4IDMyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzJjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTI0IDE1MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDMyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMnpNNjA5IDI3M2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOWwtNzItNzJjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMzEgMzEtMTAyLjEgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMDIuMSAwLTMxIDMxYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNzItNzJ6Il19LHVkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC1zaG9ydC13aWRlIixpY29uOls1NzYsNTEyLFsic29ydC1hbW91bnQtdXAtYWx0Il0sImY4ODUiLCJNMzIwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDB6bTAgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDB6bTAgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMHptMCAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIyNCAwek0xNTAuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgMTQxLjMgOTYgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDYuNyA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6Il19LGdPdD11ZGUsZmRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdyaXAtdmVydGljYWwiLGljb246WzMyMCw1MTIsWyJncmlkLXZlcnRpY2FsIl0sImY1OGUiLCJNMTI4IDQwYzAtMjIuMS0xNy45LTQwLTQwLTQwTDQwIDBDMTcuOSAwIDAgMTcuOSAwIDQwTDAgODhjMCAyMi4xIDE3LjkgNDAgNDAgNDBsNDggMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTQ4em0wIDE5MmMwLTIyLjEtMTcuOS00MC00MC00MGwtNDggMGMtMjIuMSAwLTQwIDE3LjktNDAgNDBsMCA0OGMwIDIyLjEgMTcuOSA0MCA0MCA0MGw0OCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDh6TTAgNDI0bDAgNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBsNDggMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTQ4YzAtMjIuMS0xNy45LTQwLTQwLTQwbC00OCAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MHpNMzIwIDQwYzAtMjIuMS0xNy45LTQwLTQwLTQwTDIzMiAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MGwwIDQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwbDQ4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00OHpNMTkyIDIzMmwwIDQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwbDQ4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00OGMwLTIyLjEtMTcuOS00MC00MC00MGwtNDggMGMtMjIuMSAwLTQwIDE3LjktNDAgNDB6TTMyMCA0MjRjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTQ4IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwbDAgNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBsNDggMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTQ4eiJdfSxiT3Q9ZmRlLHZPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXItdHVubmVsIixpY29uOls1MTIsNTEyLFtdLCJlNGRlIiwiTTI1NiAwQzExNC42IDAgMCAxMTQuNiAwIDI1NkwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0Mi44IDBjLTYuNi01LjktMTAuOC0xNC40LTEwLjgtMjRsMC0xMTMuMWMwLTEzLjUgMy4xLTI2LjggOS0zOC45bDM5LjctODAuOGM5LjQtMTkuMSAyOC45LTMxLjMgNTAuMi0zMS4zTDMxNyAyMjRjMjEuMyAwIDQwLjggMTIuMSA1MC4yIDMxLjNMNDA3IDMzNmM1LjkgMTIuMSA5IDI1LjQgOSAzOC45TDQxNiA0ODhjMCA5LjYtNC4yIDE4LjEtMTAuOCAyNGw0Mi44IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xOTJDNTEyIDExNC42IDM5Ny40IDAgMjU2IDB6TTM2Mi44IDUxMmMtNi42LTUuOS0xMC44LTE0LjQtMTAuOC0yNGwwLTI0LTE5MiAwIDAgMjRjMCA5LjYtNC4yIDE4LjEtMTAuOCAyNGwyMTMuNyAwem0tMTc1LTIzNS41bC0yOS4zIDU5LjUgMTk0LjkgMC0yOS4zLTU5LjVjLTEuMy0yLjctNC4xLTQuNS03LjItNC41TDE5NSAyNzJjLTMgMC01LjggMS43LTcuMiA0LjV6TTE3NiA0MjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0xODQtMjRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0seE90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYXJ0LWNvbHVtbiIsaWNvbjpbNTEyLDUxMixbXSwiZTBlMyIsIk0zMiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMzNmMwIDguOCA3LjIgMTYgMTYgMTZsNDAwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMODAgNDgwYy00NC4yIDAtODAtMzUuOC04MC04MEwwIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMyek0xNDQgMjI0YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTQ0LTY0bDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6bTgwIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNTEyIDk2bDAgMjI0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMjI0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6Il19LHlPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXByaWNvcm4iLGljb246WzU3Niw1MTIsW10sImU4NDgiLCJNMjQwIDMyYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0bDAgNjUuMmMxOC44LTEwLjkgNDAuNy0xNy4yIDY0LTE3LjIgNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhTNTE4LjcgNDgwIDQ0OCA0ODBjLTM1LjggMC02OC4yLTE0LjctOTEuNC0zOC40LTI4LjggNDIuNS03Ny40IDcwLjQtMTMyLjYgNzAuNC0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyYzUzIDAgOTYtNDMgOTYtOTZsMC0xNzZjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBsMCAyMDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMjRjMC0zNS4zLTI4LjctNjQtNjQtNjQtMTcuNyAwLTMyLTE0LjMtMzItMzJTMTQuMyAzMiAzMiAzMkM3Mi42IDMyIDEwOC44IDUxIDEzMi4yIDgwLjUgMTU4LjYgNTAuNyAxOTcuMSAzMiAyNDAgMzJ6TTQ0OCAyODhhNjQgNjQgMCAxIDAgMCAxMjggNjQgNjQgMCAxIDAgMC0xMjh6Il19LHdPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1hcnJvdy1yaWdodCIsaWNvbjpbNTc2LDUxMixbXSwiZTU4YiIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMuMyAwYzEwLjQgMzYuOSA0NC40IDY0IDg0LjcgNjRzNzQuMi0yNy4xIDg0LjctNjRsMTAyLjYgMGMxMC40IDM2LjkgNDQuNCA2NCA4NC43IDY0czc0LjItMjcuMSA4NC43LTY0bDMuMyAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTQ2LjdjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNTEyIDE0Ni43Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43bC01MC43IDAgMC0zMmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNNTEyIDIzNy4zbDAgNTAuNy05NiAwIDAtOTYgNTAuNyAwIDQ1LjMgNDUuM3pNMTUyIDM4NGE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6bTIzMiA0MGE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwek0zMDUgMjI1bC03MiA3MmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS0xMDIuMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEwMi4xIDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXoiXX0sVFk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHYiLGljb246WzU3Niw1MTIsWzYzNzE3LCJ0ZWxldmlzaW9uIiwidHYtYWx0Il0sImYyNmMiLCJNNjQgOTZsMCAyNDAgNDQ4IDAgMC0yNDAtNDQ4IDB6TTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsNDQ4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNDBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek0xNjAgNDQ4bDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnoiXX0sTU90PVRZLGtPdD1UWSx6T3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2VjdGlvbiIsaWNvbjpbMjU2LDUxMixbXSwiZTQ0NyIsIk0xMTAgMEM0OS4yIDAgMCA0OS4yIDAgMTEwIDAgMTMzLjcgNy42IDE1NS44IDIwLjUgMTc0IDcuNiAxOTIgMCAyMTQuMSAwIDIzOCAwIDI5MS43IDM4LjkgMzM3LjYgOTEuOSAzNDYuNGw2MS43IDEwLjNjMjIuMiAzLjcgMzguNCAyMi45IDM4LjQgNDUuMyAwIDI1LjQtMjAuNiA0Ni00NiA0NmwtOTggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5OCAwYzYwLjcgMCAxMTAtNDkuMiAxMTAtMTEwIDAtMjMuNy03LjYtNDUuOS0yMC41LTY0IDEyLjktMTggMjAuNS00MC4xIDIwLjUtNjQgMC01My44LTM4LjktOTkuNi05MS45LTEwOC41bC02MS43LTEwLjNDODAuMiAxNTEuNiA2NCAxMzIuNCA2NCAxMTAgNjQgODQuNiA4NC42IDY0IDExMCA2NGw5OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyUzIyNS43IDAgMjA4IDBMMTEwIDB6bTc0LjcgMjk5LjFjLTYuNS0yLjQtMTMuNC00LjMtMjAuNS01LjVsLTYxLjctMTAuM2MtMjIuMi0zLjctMzguNC0yMi45LTM4LjQtNDUuMyAwLTkuMiAyLjctMTcuOCA3LjQtMjUgNi41IDIuNCAxMy40IDQuMyAyMC41IDUuNWw2MS43IDEwLjNjMjIuMiAzLjcgMzguNCAyMi45IDM4LjQgNDUuMyAwIDkuMi0yLjcgMTcuOC03LjQgMjV6Il19LFNPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZWFjZSIsaWNvbjpbNTEyLDUxMixbOTc3NF0sImY2N2MiLCJNMjI0IDQ0NS4zbDAtMTIxLjgtOTQuMyA3Ny4xYzI2LjEgMjIuOCA1OC41IDM4LjcgOTQuMyA0NC43ek04OS4yIDM1MS4xTDIyNCAyNDAuOCAyMjQgNjYuN2MtOTAuOCAxNS4yLTE2MCA5NC4yLTE2MCAxODkuMyAwIDM0LjYgOS4yIDY3LjEgMjUuMiA5NS4xem0yOTMuMSA0OS41bC05NC4zLTc3LjEgMCAxMjEuOGMzNS43LTYgNjguMS0yMS45IDk0LjMtNDQuN3ptNDAuNi00OS41YzE2LTI4IDI1LjItNjAuNSAyNS4yLTk1LjEgMC05NS4xLTY5LjItMTc0LjEtMTYwLTE4OS4zbDAgMTc0LjIgMTM0LjggMTEwLjN6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6Il19LENPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFyIixpY29uOls1NzYsNTEyLFsxMTA4OCw2MTQ0Nl0sImYwMDUiLCJNMzA5LjUtMTguOWMtNC4xLTgtMTIuNC0xMy4xLTIxLjQtMTMuMXMtMTcuMyA1LjEtMjEuNCAxMy4xTDE5My4xIDEyNS4zIDMzLjIgMTUwLjdjLTguOSAxLjQtMTYuMyA3LjctMTkuMSAxNi4zcy0uNSAxOCA1LjggMjQuNGwxMTQuNCAxMTQuNS0yNS4yIDE1OS45Yy0xLjQgOC45IDIuMyAxNy45IDkuNiAyMy4yczE2LjkgNi4xIDI1IDJMMjg4LjEgNDE3LjYgNDMyLjQgNDkxYzggNC4xIDE3LjcgMy4zIDI1LTJzMTEtMTQuMiA5LjYtMjMuMkw0NDEuNyAzMDUuOSA1NTYuMSAxOTEuNGM2LjQtNi40IDguNi0xNS44IDUuOC0yNC40cy0xMC4xLTE0LjktMTkuMS0xNi4zTDM4MyAxMjUuMyAzMDkuNS0xOC45eiJdfSxfT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmxhZyIsaWNvbjpbNDQ4LDUxMixbMTI3OTg4LDYxNzI1XSwiZjAyNCIsIk02NCAzMkM2NCAxNC4zIDQ5LjcgMCAzMiAwUzAgMTQuMyAwIDMyTDAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjEuNiA2Mi43LTE4LjhjNDEuOS0xMi42IDg3LjEtOC43IDEyNi4yIDEwLjkgNDIuNyAyMS40IDkyLjUgMjQgMTM3LjIgNy4ybDM3LjEtMTMuOWMxMi41LTQuNyAyMC44LTE2LjYgMjAuOC0zMGwwLTI0Ny43YzAtMjMtMjQuMi0zOC00NC44LTI3LjdsLTExLjggNS45Yy00NC45IDIyLjUtOTcuOCAyMi41LTE0Mi44IDAtMzYuNC0xOC4yLTc4LjMtMjEuOC0xMTcuMi0xMC4xTDY0IDU0LjQgNjQgMzJ6Il19LExZPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyaWFuZ2xlLWV4Y2xhbWF0aW9uIixpY29uOls1MTIsNTEyLFs5ODg4LCJleGNsYW1hdGlvbi10cmlhbmdsZSIsIndhcm5pbmciXSwiZjA3MSIsIk0yNTYgMGMxNC43IDAgMjguMiA4LjEgMzUuMiAyMWwyMTYgNDAwYzYuNyAxMi40IDYuNCAyNy40LS44IDM5LjVTNDg2LjEgNDgwIDQ3MiA0ODBMNDAgNDgwYy0xNC4xIDAtMjcuMi03LjQtMzQuNC0xOS41cy03LjUtMjcuMS0uOC0zOS41bDIxNi00MDBjNy0xMi45IDIwLjUtMjEgMzUuMi0yMXptMCAzNTJhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0em0wLTE5MmMtMTguMiAwLTMyLjcgMTUuNS0zMS40IDMzLjdsNy40IDEwNGMuOSAxMi41IDExLjQgMjIuMyAyMy45IDIyLjMgMTIuNiAwIDIzLTkuNyAyMy45LTIyLjNsNy40LTEwNGMxLjMtMTguMi0xMy4xLTMzLjctMzEuNC0zMy43eiJdfSxUT3Q9TFksTE90PUxZLCRPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY2hvb2wtY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNTZjIiwiTTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjc2IDBjLTEwLjUtMTQuNi0xOS0zMC43LTI1LjEtNDhsLTkwLjkgMCAwLTg4YzAtMjIuMSAxNy45LTQwIDQwLTQwbDQ4IDBjMSAwIDEuOSAwIDIuOSAuMSAyNi4zLTc0LjYgOTcuNS0xMjguMSAxODEuMS0xMjguMSAyOC42IDAgNTUuNiA2LjIgODAgMTcuNGwwLTMzLjRjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTY0IDAtMTI3LjktMTE1LjFjLTE4LjMtMTYuNC00Ni0xNi40LTY0LjIgMEwxMjggMTI4IDY0IDEyOHptNjQgMjQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJ6TTExMiAyNTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNnpNMjg4IDEyOGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtMTAwYTIwIDIwIDAgMSAxIDAgNDAgMjAgMjAgMCAxIDEgMC00MHptMC0xNDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6Il19LGhkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJncmFkdWF0aW9uLWNhcCIsaWNvbjpbNTc2LDUxMixbMTI3ODkxLCJtb3J0YXItYm9hcmQiXSwiZjE5ZCIsIk00OCAxOTUuOGwyMDkuMiA4Ni4xYzkuOCA0IDIwLjIgNi4xIDMwLjggNi4xczIxLTIuMSAzMC44LTYuMWwyNDIuNC05OS44YzktMy43IDE0LjgtMTIuNCAxNC44LTIyLjFzLTUuOC0xOC40LTE0LjgtMjIuMUwzMTguOCAzOC4xQzMwOSAzNC4xIDI5OC42IDMyIDI4OCAzMnMtMjEgMi4xLTMwLjggNi4xTDE0LjggMTM3LjlDNS44IDE0MS42IDAgMTUwLjMgMCAxNjBMMCA0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTI2MC4yem00OCA3MS43TDk2IDM4NGMwIDUzIDg2IDk2IDE5MiA5NnMxOTItNDMgMTkyLTk2bDAtMTE2LjYtMTQyLjkgNTguOWMtMTUuNiA2LjQtMzIuMiA5LjctNDkuMSA5LjdzLTMzLjUtMy4zLTQ5LjEtOS43TDk2IDI2Ny40eiJdfSxET3Q9aGRlLEFPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdG9yZSIsaWNvbjpbNTEyLDUxMixbXSwiZjU0ZSIsIk0zMC43IDcyLjNDMzcuNiA0OC40IDU5LjUgMzIgODQuNCAzMmwzNDQgMGMyNC45IDAgNDYuOCAxNi40IDUzLjggNDAuM2wyMy40IDgwLjJjMTIuOCA0My43LTIwLjEgODcuNS02NS42IDg3LjUtMjYuMyAwLTQ5LjQtMTQuOS02MC44LTM3LjEtMTEuNiAyMS45LTM0LjYgMzcuMS02MS40IDM3LjEtMjYuNiAwLTQ5LjctMTUtNjEuMy0zNy0xMS42IDIyLTM0LjcgMzctNjEuMyAzNy0yNi44IDAtNDkuOC0xNS4xLTYxLjQtMzcuMS0xMS40IDIyLjEtMzQuNSAzNy4xLTYwLjggMzcuMS00NS42IDAtNzguNC00My43LTY1LjYtODcuNUwzMC43IDcyLjN6TTk2LjQgMzUybDMyMCAwIDAtNjYuNGM3LjYgMS42IDE1LjUgMi40IDIzLjUgMi40IDE0LjMgMCAyOC0yLjYgNDAuNS03LjJsMCAxNTEuMmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzUyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTUxLjJjMTIuNSA0LjYgMjYuMSA3LjIgNDAuNSA3LjIgOC4xIDAgMTUuOS0uOCAyMy41LTIuNGwwIDY2LjR6Il19LFBPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLWFzdHJvbmF1dCIsaWNvbjpbNDQ4LDUxMixbXSwiZjRmYiIsIk0yMjQgMzM2Yzc0LjYgMCAxMzguNC00Ni40IDE2NC0xMTJsNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtODBjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTQgMEMzNjIuNCAzMC40IDI5OC42LTE2IDIyNC0xNlM4NS42IDMwLjQgNjAgOTZsLTQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0IDBjMjUuNiA2NS42IDg5LjQgMTEyIDE2NCAxMTJ6TTIwOCA4MGwzMiAwYzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2bC0zMiAwYy01MyAwLTk2LTQzLTk2LTk2czQzLTk2IDk2LTk2ek0xNiA0ODQuNkMxNiA0OTkuNyAyOC4zIDUxMiA0My40IDUxMmw1Mi42IDAgMC00OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDQ4IDUyLjYgMGMxNS4xIDAgMjcuNC0xMi4zIDI3LjQtMjcuNCAwLTU5LjgtMzEuOS0xMTIuMi03OS42LTE0MS0zNi40IDI1LjUtODAuNiA0MC40LTEyOC40IDQwLjRzLTkyLTE0LjktMTI4LjQtNDAuNEM0Ny45IDM3Mi40IDE2IDQyNC44IDE2IDQ4NC42ek0xODMuMyAxNDEuNWMtLjktMy4zLTMuOS01LjUtNy4zLTUuNXMtNi40IDIuMi03LjMgNS41bC02IDIxLjItMjEuMiA2Yy0zLjMgLjktNS41IDMuOS01LjUgNy4zczIuMiA2LjQgNS41IDcuM2wyMS4yIDYgNiAyMS4yYy45IDMuMyAzLjkgNS41IDcuMyA1LjVzNi40LTIuMiA3LjMtNS41bDYtMjEuMiAyMS4yLTZjMy4zLS45IDUuNS0zLjkgNS41LTcuM3MtMi4yLTYuNC01LjUtNy4zbC0yMS4yLTYtNi0yMS4yek0xNTIgNDg4bDAgMjQgNDggMCAwLTI0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0em0xMjAtMjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMjQgNDggMCAwLTI0YzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxFT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctZmxhZyIsaWNvbjpbNjQwLDUxMixbXSwiZTRkNSIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek0xNzYgMzUybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA4MC05NiAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTk2IDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNDAgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNOTYgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE0NC0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek00NjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI4OCAxMTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDQ5NiAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0sbWRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im11Zy1zYXVjZXIiLGljb246WzU3Niw1MTIsWyJjb2ZmZWUiXSwiZjBmNCIsIk02NCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzNTIgMGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOFM1MTguNyAyODggNDQ4IDI4OGMwIDUzLTQzIDk2LTk2IDk2bC0xOTIgMGMtNTMgMC05Ni00My05Ni05Nkw2NCA2NHptNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0bDAgMTI4YzM1LjMgMCA2NC0yOC43IDY0LTY0ek02NCA0NDhsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyeiJdfSxJT3Q9bWRlLE5PdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsZW1vbiIsaWNvbjpbNDQ4LDUxMixbMTI3ODE5XSwiZjA5NCIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjQtNi42IDAtMTMgMS0xOSAyLjktMjIuNSA3LTQ4LjEgMTQuOS03MSA5LTc1LjItMTkuMS0xNTYuNCAxMS0yMTMuNyA2OC4zUy03LjIgMjUwLjggMTEuOSAzMjZjNS44IDIyLjktMiA0OC40LTkgNzEtMS45IDYtMi45IDEyLjQtMi45IDE5IDAgMzUuMyAyOC43IDY0IDY0IDY0IDYuNiAwIDEzLTEgMTkuMS0yLjkgMjIuNS03IDQ4LjEtMTQuOSA3MS05IDc1LjIgMTkuMSAxNTYuNC0xMSAyMTMuNy02OC4zUzQ1NS4yIDI2MS4yIDQzNi4xIDE4NmMtNS44LTIyLjkgMi00OC40IDktNzEgMS45LTYgMi45LTEyLjQgMi45LTE5LjF6TTIyMi43IDE0M2MtNTIgMTUuMi05Ni41IDU5LjctMTExLjcgMTExLjctMy43IDEyLjctMTcuMSAyMC0yOS44IDE2LjNTNjEuMiAyNTQgNjUgMjQxLjNjMTkuOC02Ny43IDc2LjYtMTI0LjUgMTQ0LjMtMTQ0LjMgMTIuNy0zLjcgMjYuMSAzLjYgMjkuOCAxNi4zcy0zLjYgMjYuMS0xNi4zIDI5Ljh6Il19LFJPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXJhdmFuIixpY29uOls2NDAsNTEyLFtdLCJmOGZmIiwiTTMyIDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDMyMCAwYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4bDAgMTkyIDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI5Ni40IDBjLjIgMi42IC40IDUuMyAuNCA4IDAgNDguNi0zOS40IDg4LTg4IDg4cy04OC0zOS40LTg4LTg4YzAtMi43IC4xLTUuNCAuNC04TDk2IDQxNmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMzIgOTZ6TTM1MiAzNTJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTQ4LTI0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjQgMCAwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnpNMTYwIDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDB6bTY0IDMzNmE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6Il19LEZPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJxIixpY29uOls0NDgsNTEyLFsxMTNdLCI1MSIsIk02NCAyNTZjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjAgMjguOSAwIDU2LTcuNyA3OS40LTIxLjFsLTcyLTg2LjRjLTExLjMtMTMuNi05LjUtMzMuOCA0LjEtNDUuMXMzMy44LTkuNSA0NS4xIDQuMWw3MC45IDg1LjFjMjAuNC0yNi44IDMyLjUtNjAuMyAzMi41LTk2LjYgMC04OC40LTcxLjYtMTYwLTE2MC0xNjBTNjQgMTY3LjYgNjQgMjU2ek0zNDQuOSA0NDQuNkMzMTAgNDY3IDI2OC41IDQ4MCAyMjQgNDgwIDEwMC4zIDQ4MCAwIDM3OS43IDAgMjU2UzEwMC4zIDMyIDIyNCAzMiA0NDggMTMyLjMgNDQ4IDI1NmMwIDU2LjEtMjAuNiAxMDcuNC01NC43IDE0Ni43bDQ3LjMgNTYuOGMxMS4zIDEzLjYgOS41IDMzLjgtNC4xIDQ1LjFzLTMzLjggOS41LTQ1LjEtNC4xbC00Ni42LTU1Ljl6Il19LE9PdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsb2NrIixpY29uOlszODQsNTEyLFsxMjgyNzRdLCJmMDIzIiwiTTEyOCA5NmwwIDY0IDEyOCAwIDAtNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRzLTY0IDI4LjctNjQgNjR6TTY0IDE2MGwwLTY0QzY0IDI1LjMgMTIxLjMtMzIgMTkyLTMyUzMyMCAyNS4zIDMyMCA5NmwwIDY0YzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyMjRjMC0zNS4zIDI4LjctNjQgNjQtNjR6Il19LEJPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYWludC1yb2xsZXIiLGljb246WzUxMiw1MTIsW10sImY1YWEiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzUyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMTYgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDk2YzAgNDQuMi0zNS44IDgwLTgwIDgwbC0xNjAgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTguN2MxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjNsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NmMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC0xOC43YzAtNDQuMiAzNS44LTgwIDgwLTgwbDE2MCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTk2YzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCAxOTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6Il19LGdkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2b2x1bWUtaGlnaCIsaWNvbjpbNjQwLDUxMixbMTI4MjY2LCJ2b2x1bWUtdXAiXSwiZjAyOCIsIk01MzMuNiAzMi41Yy0xMC4zLTguNC0yNS40LTYuOC0zMy44IDMuNXMtNi44IDI1LjQgMy41IDMzLjhDNTU3LjUgMTEzLjggNTkyIDE4MC44IDU5MiAyNTZzLTM0LjUgMTQyLjItODguNyAxODYuM2MtMTAuMyA4LjQtMTEuOCAyMy41LTMuNSAzMy44czIzLjUgMTEuOCAzMy44IDMuNUM1OTguNSA0MjYuNyA2NDAgMzQ2LjIgNjQwIDI1NlM1OTguNSA4NS4yIDUzMy42IDMyLjV6TTQ3My4xIDEwN2MtMTAuMy04LjQtMjUuNC02LjgtMzMuOCAzLjVzLTYuOCAyNS40IDMuNSAzMy44QzQ3NS4zIDE3MC43IDQ5NiAyMTAuOSA0OTYgMjU2cy0yMC43IDg1LjMtNTMuMiAxMTEuOGMtMTAuMyA4LjQtMTEuOCAyMy41LTMuNSAzMy44czIzLjUgMTEuOCAzMy44IDMuNWM0My4yLTM1LjIgNzAuOS04OC45IDcwLjktMTQ5cy0yNy43LTExMy44LTcwLjktMTQ5em0tNjAuNSA3NC41Yy0xMC4zLTguNC0yNS40LTYuOC0zMy44IDMuNXMtNi44IDI1LjQgMy41IDMzLjhDMzkzLjEgMjI3LjYgNDAwIDI0MSA0MDAgMjU2cy02LjkgMjguNC0xNy43IDM3LjNjLTEwLjMgOC40LTExLjggMjMuNS0zLjUgMzMuOHMyMy41IDExLjggMzMuOCAzLjVDNDM0LjEgMzEyLjkgNDQ4IDI4Ni4xIDQ0OCAyNTZzLTEzLjktNTYuOS0zNS40LTc0LjV6TTgwIDM1Mmw0OCAwIDEzNC4xIDExOS4yYzYuNCA1LjcgMTQuNiA4LjggMjMuMSA4LjggMTkuMiAwIDM0LjgtMTUuNiAzNC44LTM0LjhsMC0zNzguNGMwLTE5LjItMTUuNi0zNC44LTM0LjgtMzQuOC04LjUgMC0xNi43IDMuMS0yMy4xIDguOEwxMjggMTYwIDgwIDE2MGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OHoiXX0sSE90PWdkZSxxT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9sZGVyLXBsdXMiLGljb246WzUxMiw1MTIsW10sImY2NWUiLCJNNTEyIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMTM4LjcgMGMxMy44IDAgMjcuMyA0LjUgMzguNCAxMi44bDM4LjQgMjguOGM1LjUgNC4yIDEyLjMgNi40IDE5LjIgNi40TDQ0OCA4MGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI0MHpNMjU2IDE2MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDAgMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDggNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMCAwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxWT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWVyY3VyeSIsaWNvbjpbMzg0LDUxMixbOTc5MV0sImYyMjMiLCJNMTE3LTRDMTA2LTE3LjggODUuOC0yMCA3Mi4xLTlzLTE2IDMxLjItNSA0NUM3NC45IDQ1LjcgODMuNyA1NC41IDkzLjUgNjIuMSA0Ni43IDkzLjcgMTYgMTQ3LjMgMTYgMjA4IDE2IDI5NC4zIDc4LjEgMzY2LjEgMTYwIDM4MS4xbDAgMzQuOS0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTM0LjljODEuOS0xNSAxNDQtODYuOCAxNDQtMTczLjEgMC02MC43LTMwLjctMTE0LjMtNzcuNS0xNDUuOSA5LjgtNy43IDE4LjctMTYuNCAyNi40LTI2LjEgMTEuMS0xMy44IDguOC0zMy45LTUtNDVTMjc4LTE3LjggMjY3LTRjLTE3LjYgMjItNDQuNyAzNi03NSAzNlMxMzQuNyAxOCAxMTctNHptNzUgMzI0Yy02MS45IDAtMTEyLTUwLjEtMTEyLTExMlMxMzAuMSA5NiAxOTIgOTYgMzA0IDE0Ni4xIDMwNCAyMDhjMCA2MS44LTUwLjEgMTEyLTExMS45IDExMmwtLjEgMHoiXX0sak90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuY2hvciIsaWNvbjpbNTc2LDUxMixbOTg3NV0sImYxM2QiLCJNMjg4IDY0YTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHpNMTkyIDk2YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZjMCA0MS44LTI2LjcgNzcuNC02NCA5MC41bDAgMjU3LjljNjIuOS0xNC4zIDExMC4yLTY5LjcgMTExLjktMTM2LjVsLTE2LjEgMTQuMWMtMTAgOC43LTI1LjEgNy43LTMzLjktMi4zcy03LjctMjUuMSAyLjMtMzMuOWw2NC01NmM5LTcuOSAyMi42LTcuOSAzMS42IDBsNjQgNTZjMTAgOC43IDExIDIzLjkgMi4zIDMzLjlzLTIzLjkgMTEtMzMuOSAyLjNMNDk2IDMwNy45QzQ5My45IDQyMSA0MDEuNiA1MTIgMjg4IDUxMlM4Mi4xIDQyMSA4MCAzMDcuOUw2My44IDMyMi4xYy0xMCA4LjctMjUuMSA3LjctMzMuOS0yLjNzLTcuNy0yNS4xIDIuMy0zMy45bDY0LTU2YzktNy45IDIyLjYtNy45IDMxLjYgMGw2NCA1NmMxMCA4LjcgMTEgMjMuOSAyLjMgMzMuOXMtMjMuOSAxMS0zMy45IDIuM2wtMTYuMS0xNC4xYzEuOCA2Ni44IDQ5LjEgMTIyLjIgMTExLjkgMTM2LjVsMC0yNTcuOWMtMzcuMy0xMy4yLTY0LTQ4LjctNjQtOTAuNXoiXX0sYmRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1wYXJraW5nIixpY29uOls0NDgsNTEyLFsxMjczNTksInBhcmtpbmciXSwiZjU0MCIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0xOTIgMjU2bDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQ4IDAgMCA2NHptNDggNjRsLTQ4IDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE4NGMwLTIyLjEgMTcuOS00MCA0MC00MGw3MiAwYzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2eiJdfSxVT3Q9YmRlLFdPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW51a2lhaCIsaWNvbjpbNjQwLDUxMixbMTI4MzM0XSwiZjZlNiIsIk0zMTQuMiAzLjNjLTUuMSA4LjgtMTguMiAzMy4zLTE4LjIgNTIuNyAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43LTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjN6bS0yODggNDhDMjEuMSA2MC4xIDggODQuNiA4IDEwNCA4IDExNy4zIDE4LjcgMTI4IDMyIDEyOHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43LTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjN6TTg4IDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43LTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjNDMTAxLjEgNjAuMSA4OCA4NC42IDg4IDEwNHptODIuMi01Mi43Yy01LjEgOC44LTE4LjIgMzMuMy0xOC4yIDUyLjcgMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuNy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zek0yMTYgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjctMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM0MyMjkuMSA2MC4xIDIxNiA4NC42IDIxNiAxMDR6TTM5NC4yIDUxLjNjLTUuMSA4LjgtMTguMiAzMy4zLTE4LjIgNTIuNyAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43LTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjN6TTQ0MCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuNy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zQzQ1My4xIDYwLjEgNDQwIDg0LjYgNDQwIDEwNHptODIuMi01Mi43Yy01LjEgOC44LTE4LjIgMzMuMy0xOC4yIDUyLjcgMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuNy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zek01ODQgMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjctMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM0M1OTcuMSA2MC4xIDU4NCA4NC42IDU4NCAxMDR6TTExMiAxNjBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDExMiAzMiAwIDAtMTEyYzAtOC44LTcuMi0xNi0xNi0xNnptNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTEyIDMyIDAgMC0xMTJjMC04LjgtNy4yLTE2LTE2LTE2em02NCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxMTIgMzIgMCAwLTExMmMwLTguOC03LjItMTYtMTYtMTZ6bTE2MCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxMTIgMzIgMCAwLTExMmMwLTguOC03LjItMTYtMTYtMTZ6bTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDExMiAzMiAwIDAtMTEyYzAtOC44LTcuMi0xNi0xNi0xNnptNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTEyIDMyIDAgMC0xMTJjMC04LjgtNy4yLTE2LTE2LTE2ek0zNTIgMTQ0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTc2LTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgMTc0LjMgMCAxOTJsMCA5NmMwIDUzIDQzIDk2IDk2IDk2bDE5MiAwIDAgNjQtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEyOCAwIDAtNjQgMTkyIDBjNTMgMCA5Ni00MyA5Ni05NmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE5MiAwIDAtMTc2eiJdfSxwNz17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb3RhdGUtbGVmdCIsaWNvbjpbNTEyLDUxMixbInJvdGF0ZS1iYWNrIiwicm90YXRlLWJhY2t3YXJkIiwidW5kby1hbHQiXSwiZjJlYSIsIk0yNCAxOTJsMTQ0IDBjOS43IDAgMTguNS01LjggMjIuMi0xNC44czEuNy0xOS4zLTUuMi0yNi4ybC00Ni43LTQ2LjdjNzUuMy01OC42IDE4NC4zLTUzLjMgMjUzLjUgMTUuOSA3NSA3NSA3NSAxOTYuNSAwIDI3MS41cy0xOTYuNSA3NS0yNzEuNSAwYy0xMC4yLTEwLjItMTktMjEuMy0yNi40LTMzLTkuNS0xNC45LTI5LjMtMTkuMy00NC4yLTkuOHMtMTkuMyAyOS4zLTkuOCA0NC4yQzQ5LjcgNDA4LjcgNjEuNCA0MjMuNSA3NSA0MzcgMTc1IDUzNyAzMzcgNTM3IDQzNyA0MzdTNTM3IDE3NSA0MzcgNzVDMzQyLjgtMTkuMyAxOTMuMy0yNC43IDkyLjcgNTguOEw0MSA3QzM0LjEgLjIgMjMuOC0xLjkgMTQuOCAxLjhTMCAxNC4zIDAgMjRMMCAxNjhjMCAxMy4zIDEwLjcgMjQgMjQgMjR6Il19LEdPdD1wNyxZT3Q9cDcsWk90PXA3LHZkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFkaW5nIixpY29uOls0NDgsNTEyLFsiaGVhZGVyIl0sImYxZGMiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNiAwIDAgMTEyIDIyNCAwIDAtMTEyLTE2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYgMCAwIDMyMCAxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC0xNDQtMjI0IDAgMCAxNDQgMTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNiAwIDAtMzIwLTE2IDBDMTQuMyA5NiAwIDgxLjcgMCA2NHoiXX0sWE90PXZkZSxLT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3Jvc3NoYWlycyIsaWNvbjpbNTc2LDUxMixbXSwiZjA1YiIsIk0yODgtMTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxOC4zYzk4LjEgMTQgMTc1LjcgOTEuNiAxODkuNyAxODkuN2wxOC4zIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE4LjMgMGMtMTQgOTguMS05MS42IDE3NS43LTE4OS43IDE4OS43bDAgMTguM2MwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE4LjNDMTU3LjkgNDYzLjcgODAuMyAzODYuMSA2Ni4zIDI4OEw0OCAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTguMyAwQzgwLjMgMTI1LjkgMTU3LjkgNDguMyAyNTYgMzQuM0wyNTYgMTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTEzMS4yIDI4OGMxMi43IDYyLjcgNjIuMSAxMTIuMSAxMjQuOCAxMjQuOGwwLTEyLjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDEyLjhjNjIuNy0xMi43IDExMi4xLTYyLjEgMTI0LjgtMTI0LjhMNDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxMi44IDBDNDMyLjEgMTYxLjMgMzgyLjcgMTExLjkgMzIwIDk5LjJsMCAxMi44YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTIuOEMxOTMuMyAxMTEuOSAxNDMuOSAxNjEuMyAxMzEuMiAyMjRsMTIuOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMi44IDB6TTI4OCAyMDhhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2eiJdfSxRT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLW5vZGVzIixpY29uOls1MTIsNTEyLFtdLCJlNGUyIiwiTTQxOC40IDE1Ny45YzM1LjMtOC4zIDYxLjYtNDAgNjEuNi03Ny45IDAtNDQuMi0zNS44LTgwLTgwLTgwLTQzLjQgMC03OC43IDM0LjUtODAgNzcuNUwxMzYuMiAxNTEuMUMxMjEuNyAxMzYuOCAxMDEuOSAxMjggODAgMTI4IDM1LjggMTI4IDAgMTYzLjggMCAyMDhzMzUuOCA4MCA4MCA4MGMxMi4yIDAgMjMuOC0yLjcgMzQuMS03LjZMMjU5LjcgNDA3LjhjLTIuNCA3LjYtMy43IDE1LjgtMy43IDI0LjIgMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGMwLTI3LjctMTQtNTIuMS0zNS40LTY2LjRsMzcuOC0yMDcuN3pNMTU2LjMgMjMyLjJjMi4yLTYuOSAzLjUtMTQuMiAzLjctMjEuN2wxODMuOC03My41YzMuNiAzLjUgNy40IDYuNyAxMS42IDkuNUwzMTcuNiAzNTQuMWMtNS41IDEuMy0xMC44IDMuMS0xNS44IDUuNUwxNTYuMyAyMzIuMnoiXX0sSk90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndpbmRvdy1yZXN0b3JlIixpY29uOls1NzYsNTEyLFtdLCJmMmQyIiwiTTUxMiA5NkwxNjAgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMjg4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxOTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTQ4IDAgMC02NCA0OCAwIDAtMTkyek0wIDIyNGMwLTM1LjMgMjguNy02NCA2NC02NGwyODggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE5MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjI0em02NCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwyNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw4OCAyNDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0eiJdfSxlQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiciIsaWNvbjpbMzIwLDUxMixbMTE0XSwiNTIiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDk1LjMgMCAxMDIuNCAxNDYuNGMxMC4xIDE0LjUgMzAuMSAxOCA0NC42IDcuOXMxOC0zMC4xIDcuOS00NC42TDIzMC4xIDMwOS41QzI4Mi44IDI4OC4xIDMyMCAyMzYuNCAzMjAgMTc2IDMyMCA5Ni41IDI1NS41IDMyIDE3NiAzMkwzMiAzMnpNMTc2IDI1NmwtMTEyIDAgMC0xNjAgMTEyIDBjNDQuMiAwIDgwIDM1LjggODAgODBzLTM1LjggODAtODAgODB6Il19LHRCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWx0ZXItY2lyY2xlLXhtYXJrIixpY29uOls1NzYsNTEyLFtdLCJlMTdiIiwiTTMyIDY0QzE5LjEgNjQgNy40IDcxLjggMi40IDgzLjhTLjIgMTA5LjUgOS40IDExOC42TDE5MiAzMDEuMyAxOTIgNDE2YzAgOC41IDMuNCAxNi42IDkuNCAyMi42bDY0IDY0YzIuNSAyLjUgNS4zIDQuNSA4LjMgNi0yMS4yLTMwLjktMzMuNi02OC4zLTMzLjYtMTA4LjYgMC05OS40IDc1LjUtMTgxLjEgMTcyLjMtMTkxbDkwLjQtOTAuNGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVM0OTIuOSA2NCA0ODAgNjRMMzIgNjR6TTQzMiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43bC0zNi43IDM2LjcgMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTM2LjctMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMzYuNy0zNi43LTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDM2LjcgMzYuNyAzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42eiJdfSxhQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ29wdXJhbSIsaWNvbjpbNTEyLDUxMixbXSwiZjY2NCIsIk0xMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDggNDAgMCAwLThjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDggNDggMCAwLThjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDggNDAgMCAwLThjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEzNmMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDgwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTI4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC00OCAwIDAtMjI0LTMyIDAgMC0xMjgtNDggMCAwIDEyOCAzMiAwIDAgMjI0LTIyNCAwIDAtMjI0IDMyIDAgMC0xMjgtNDggMCAwIDEyOC0zMiAwIDAgMjI0LTQ4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMzM2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDhMOTYgMjRjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTI1NiAyMDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDggNjQgMCAwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyek0yMDggNDAwbDAgNjQgOTYgMCAwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4cy00OCAyMS41LTQ4IDQ4ek0yNTYgOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzIgNjQgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSxyQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQtY2lyY2xlLW1pbnVzIixpY29uOls1NzYsNTEyLFtdLCJlNGZmIiwiTTI0MSA4Ny4xbDE1IDIwLjcgMTUtMjAuN0MyOTYgNTIuNSAzMzYuMiAzMiAzNzguOSAzMiA0NTIuNCAzMiA1MTIgOTEuNiA1MTIgMTY1LjFsMCAyLjZjMCAxNy42LTMuNCAzNS42LTkuNSA1My43LTIxLjgtOC42LTQ1LjYtMTMuNC03MC41LTEzLjQtMTA2IDAtMTkyIDg2LTE5MiAxOTIgMCAyOC41IDYuMiA1NS42IDE3LjQgODAtLjUgMC0uOSAwLTEuNCAwLTE1LjUgMC0zMC44LTQuNi00My4xLTE0LjEtNzMtNTUuNy0yMTIuOS0xODYtMjEyLjktMjk4LjJsMC0yLjZDMCA5MS42IDU5LjYgMzIgMTMzLjEgMzIgMTc1LjggMzIgMjE2IDUyLjUgMjQxIDg3LjF6TTI4OCA0MDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMjI0IDBjMC04LjgtNy4yLTE2LTE2LTE2bC0xMjggMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmwxMjggMGM4LjggMCAxNi03LjIgMTYtMTZ6Il19LGlCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFyLW9mLWxpZmUiLGljb246WzUxMiw1MTIsW10sImY2MjEiLCJNMjA4LjUgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE0MC45IDEyMi03MC40YzE1LjMtOC44IDM0LjktMy42IDQzLjcgMTEuN2wxNiAyNy43YzguOCAxNS4zIDMuNiAzNC45LTExLjcgNDMuN2wtMTIyIDcwLjQgMTIyIDcwLjRjMTUuMyA4LjggMjAuNiAyOC40IDExLjcgNDMuN2wtMTYgMjcuN2MtOC44IDE1LjMtMjguNCAyMC42LTQzLjcgMTEuN2wtMTIyLTcwLjQgMCAxNDAuOWMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNDAuOS0xMjIgNzAuNGMtMTUuMyA4LjgtMzQuOSAzLjYtNDMuNy0xMS43bC0xNi0yNy43Yy04LjgtMTUuMy0zLjYtMzQuOSAxMS43LTQzLjdsMTIyLTcwLjQtMTIyLTcwLjRjLTE1LjMtOC44LTIwLjUtMjguNC0xMS43LTQzLjdsMTYtMjcuN2M4LjgtMTUuMyAyOC40LTIwLjUgNDMuNy0xMS43bDEyMiA3MC40IDAtMTQwLjl6Il19LHhkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidXNpbmVzcy10aW1lIixpY29uOls2NDAsNTEyLFsiYnJpZWZjYXNlLWNsb2NrIl0sImY2NGEiLCJNMjY0IDQ4bDExMiAwYzQuNCAwIDggMy42IDggOGwwIDQwLTEyOCAwIDAtNDBjMC00LjQgMy42LTggOC04em0tNTYgOGwwIDQwLTgwIDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgOTYgMzA1IDBjMzMuOC0yOS45IDc4LjMtNDggMTI3LTQ4IDI4LjYgMCA1NS42IDYuMiA4MCAxNy40bDAtNjUuNGMwLTM1LjMtMjguNy02NC02NC02NGwtODAgMCAwLTQwYzAtMzAuOS0yNS4xLTU2LTU2LTU2TDI2NCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NnptODAgMjk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2LTE5MiAwIDAgMTEyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5My40IDBjLTExLjItMjQuNC0xNy40LTUxLjQtMTcuNC04MCAwLTE2LjYgMi4xLTMyLjcgNi00OGwtMjIgMHptMzUyIDQ4YTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6TTQ5NiAzMjBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDggMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNDggMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNjRjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxzQnQ9eGRlLG9CdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaXJlLWV4dGluZ3Vpc2hlciIsaWNvbjpbNTEyLDUxMixbMTI5NTE5XSwiZjEzNCIsIk01MTIgMzJjMC05LjYtNC4zLTE4LjctMTEuNy0yNC43UzQ4My4xLTEuMyA0NzMuNyAuNmwtMTYwIDMyQzMwMS41IDM1LjEgMjkyIDQ0LjMgMjg5IDU2bC02NSAwIDAtMjRjMC0xNy43LTE0LjMtMzItMzItMzJMMTYwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMjguNGMtNTUuMyAxMi4zLTEwMS4zIDQ5LjUtMTI1LjUgOTkuMS01LjggMTEuOS0uOSAyNi4zIDExLjEgMzIuMXMyNi4zIC45IDMyLjEtMTEuMUM2MiAxNDYuOSA5MS44IDEyMS4xIDEyOCAxMTBsMCAyOC44Yy0zNy44IDE4LTY0IDU2LjUtNjQgMTAxLjJsMCAxMjggMjI0IDAgMC0xMjhjMC00NC43LTI2LjItODMuMi02NC0xMDEuMmwwLTM0LjggNjUgMGMzIDExLjcgMTIuNSAyMC45IDI0LjcgMjMuNGwxNjAgMzJjOS40IDEuOSAxOS4xLS42IDI2LjYtNi42UzUxMiAxMzcuNiA1MTIgMTI4bDAtOTZ6TTI4OCA0NDhsMC0zMi0yMjQgMCAwIDMyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDk2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjR6Il19LHlkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLWxvbmciLGljb246WzMyMCw1MTIsWyJsb25nLWFycm93LWRvd24iXSwiZjE3NSIsIk0xMzcuNCA1MzQuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwTDE5MiA0MzQuNyAxOTIgMGMwLTE3LjctMTQuMy0zMi0zMi0zMlMxMjgtMTcuNyAxMjggMGwwIDQzNC43LTczLjQtNzMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTI4IDEyOHoiXX0sbkJ0PXlkZSxsQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1taW51cyIsaWNvbjpbNjQwLDUxMixbXSwiZjUwMyIsIk0yODUuNyAzMDRjOTguNSAwIDE3OC4zIDc5LjggMTc4LjMgMTc4LjMgMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMNzcuNyA1MTJDNjEuMyA1MTIgNDggNDk4LjcgNDggNDgyLjMgNDggMzgzLjggMTI3LjggMzA0IDIyNi4zIDMwNGw1OS40IDB6TTI1NiAyNDhhMTIwIDEyMCAwIDEgMSAwLTI0MCAxMjAgMTIwIDAgMSAxIDAgMjQwem0zNDQtOTZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE0NCAweiJdfSxjQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9uZXktY2hlY2siLGljb246WzUxMiw1MTIsW10sImY1M2MiLCJNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHpNOTYgMzEyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTI0LTEzNmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjcyIDB6Il19LHdkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1sYXB0b3AiLGljb246WzY0MCw1MTIsWyJsYXB0b3AtaG91c2UiXSwiZTA2NiIsIk00NDggMjQwbDE5LjkgMGMxNS41IDAgMjguMS0xMi42IDI4LjEtMjguMSAwLTcuNi0zLjEtMTQuOS04LjYtMjAuMkwyODMuNS00LjlDMjc2LjEtMTIgMjY2LjMtMTYgMjU2LTE2cy0yMC4xIDQtMjcuNSAxMS4xTDI0LjYgMTkxLjdDMTkuMSAxOTcgMTYgMjA0LjMgMTYgMjExLjkgMTYgMjI3LjQgMjguNiAyNDAgNDQuMSAyNDBsMTkuOSAwIDAgMTQ0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDg1LjcgMGM3LjQtNi42IDE2LjQtMTEuNCAyNi4zLTE0bDAtMTMwYzAtNS41IC43LTEwLjkgMi0xNmwtMTAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjQgMTQ0IDB6TTM1MiAzNTJsMTYwIDAgMCAxMjgtMTYwIDAgMC0xMjh6bS02NC0zMmwwIDE2MC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTYgMCAyNi41IDIxLjUgNDggNDggNDhsMjg4IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDggMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwIDAtMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0yMjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6Il19LGRCdD13ZGUscEJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvd25sb2FkIixpY29uOls0NDgsNTEyLFtdLCJmMDE5IiwiTTI1NiAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDIxMC43LTQxLjQtNDEuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOTYgOTZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsOTYtOTZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMjU2IDI0Mi43IDI1NiAzMnpNNjQgMzIwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDMyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzJjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTQ2LjkgMC01Ni42IDU2LjZjLTMxLjIgMzEuMi04MS45IDMxLjItMTEzLjEgMEwxMTAuOSAzMjAgNjQgMzIwem0zMDQgNTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4eiJdfSx1QnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2FnaXR0YXJpdXMiLGljb246WzQ0OCw1MTIsW10sImU4NGQiLCJNNDE2IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTYwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtODIuOC0xNDYuOCAxNDYuOCA0MS40IDQxLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjJzLTMyLjggMTIuNS00NS4zIDBMMTkyIDMzMy4zIDU0LjYgNDcwLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMiAwcy0xMi41LTMyLjggMC00NS4yTDE0Ni44IDI4OCAxMDUuNCAyNDYuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjJzMzIuOC0xMi41IDQ1LjIgMEwxOTIgMjQyLjggMzM4LjggOTYgMjU2IDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2MCAweiJdfSxmQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY291Y2giLGljb246WzY0MCw1MTIsW10sImY0YjgiLCJNMTQ0IDI3MkMxNDQgMjI0LjcgMTA5LjggMTg1LjQgNjQuOCAxNzcuNSA3MiAxMTMuNiAxMjYuMiA2NCAxOTIgNjRsMjU2IDBjNjUuOCAwIDEyMCA0OS42IDEyNy4yIDExMy41LTQ1IDgtNzkuMiA0Ny4yLTc5LjIgOTQuNWwwIDMyLTM1MiAwIDAtMzJ6TTAgMzg0TDAgMjcyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhsMCA4MCA0NDggMCAwLTgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhsMCAxMTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NHoiXX0saEJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvYWQtbG9jayIsaWNvbjpbNTc2LDUxMixbXSwiZTU2NyIsIk0yNTYgMzJsLTc2LjMgMGMtMjkuNCAwLTU1LjEgMjAuMS02Mi4xIDQ4LjZMMzMuNCA0MjAuNUMyNS45IDQ1MC43IDQ4LjggNDgwIDgwIDQ4MGwxNzUuOSAwIDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzIgNi4xIDAgMTEuOCAxLjcgMTYuNyA0LjcgMi44LTIzLjkgMTQuMy00NS4xIDMxLjQtNjAuM2wwLTI0LjRjMC03MC43IDU3LjMtMTI4IDEyOC0xMjggNi4yIDAgMTIuNCAuNCAxOC40IDEuM0w0NTguNSA4MC42QzQ1MS40IDUyLjEgNDI1LjggMzIgMzk2LjMgMzJsLTc2LjQgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6bTY0IDE5MmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptMTc2IDgwLjFsMCA0Ny45LTY0IDAgMC00Ny45YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6TTM1MiA0MDBsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTk2YzAtMjAuOS0xMy40LTM4LjctMzItNDUuM2wwLTUwLjZjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBsMCA1MC42Yy0xOC42IDYuNi0zMiAyNC40LTMyIDQ1LjN6Il19LE1kZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY2lzc29ycyIsaWNvbjpbNTEyLDUxMixbOTk4NCw5OTg2LDk5ODgsImN1dCJdLCJmMGM0IiwiTTE5MiAyNTZsLTM5LjUgMzkuNWMtMTIuNi00LjktMjYuMi03LjUtNDAuNS03LjUtNjEuOSAwLTExMiA1MC4xLTExMiAxMTJzNTAuMSAxMTIgMTEyIDExMiAxMTItNTAuMSAxMTItMTEyYzAtMTQuMy0yLjctMjcuOS03LjUtNDAuNUw0OTkuMiA3Ni44YzcuMS03LjEgNy4xLTE4LjUgMC0yNS42LTI4LjMtMjguMy03NC4xLTI4LjMtMTAyLjQgMEwyNTYgMTkyIDIxNi41IDE1Mi41YzQuOS0xMi42IDcuNS0yNi4yIDcuNS00MC41IDAtNjEuOS01MC4xLTExMi0xMTItMTEyUzAgNTAuMSAwIDExMiA1MC4xIDIyNCAxMTIgMjI0YzE0LjMgMCAyNy45LTIuNyA0MC41LTcuNUwxOTIgMjU2em05Ny45IDk3LjlMMzk2LjggNDYwLjhjMjguMyAyOC4zIDc0LjEgMjguMyAxMDIuNCAwIDcuMS03LjEgNy4xLTE4LjUgMC0yNS42bC0xNDUuMy0xNDUuMy02NCA2NHpNNjQgMTEyYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTQ4IDI0MGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6Il19LG1CdD1NZGUsb1o9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVnIixpY29uOls1NzYsNTEyLFtdLCJmMTg4IiwiTTE5MiA5NmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgMy42YzAgMTUuNy0xMi43IDI4LjQtMjguNCAyOC40bC0xMzUuMSAwYy0xNS43IDAtMjguNC0xMi43LTI4LjQtMjguNGwwLTMuNnptMzQ1LjYgMTIuOGMxMC42IDE0LjEgNy43IDM0LjItNi40IDQ0LjhsLTk3LjggNzMuM2M1LjMgOC45IDkuMyAxOC43IDExLjggMjkuMWw5OC44IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDAgMCAzMmMwIDIuNi0uMSA1LjMtLjIgNy45bDgzLjQgNjIuNWMxNC4xIDEwLjYgMTcgMzAuNyA2LjQgNDQuOHMtMzAuNyAxNy00NC44IDYuNGwtNjMuMS00Ny4zYy0yMy4yIDQ0LjItNjYuNSA3Ni4yLTExNy43IDgzLjlMMzEyIDI4MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDIzMC4yYy01MS4yLTcuNy05NC41LTM5LjctMTE3LjctODMuOUw4My4yIDQ3My42Yy0xNC4xIDEwLjYtMzQuMiA3LjctNDQuOC02LjRzLTcuNy0zNC4yIDYuNC00NC44bDgzLjQtNjIuNWMtLjEtMi42LS4yLTUuMi0uMi03LjlsMC0zMi05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk4LjggMGMyLjUtMTAuNCA2LjUtMjAuMiAxMS44LTI5LjFMNDQuOCAxNTMuNmMtMTQuMS0xMC42LTE3LTMwLjctNi40LTQ0LjhzMzAuNy0xNyA0NC44LTYuNEwxOTIgMTg0YzEyLjMtNS4xIDI1LjgtOCA0MC04bDExMiAwYzE0LjIgMCAyNy43IDIuOCA0MCA4bDEwOC44LTgxLjZjMTQuMS0xMC42IDM0LjItNy43IDQ0LjggNi40eiJdfSxrZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctcmlnaHQtZnJvbS1icmFja2V0IixpY29uOls1MTIsNTEyLFsic2lnbi1vdXQiXSwiZjA4YiIsIk0xNjAgOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMOTYgMzJDNDMgMzIgMCA3NSAwIDEyOEwwIDM4NGMwIDUzIDQzIDk2IDk2IDk2bDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDB6TTUwMi42IDI3OC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0w0MDIuNyAyMjQgMTkyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyMTAuNyAwLTczLjQgNzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4eiJdfSxnQnQ9a2RlLGJCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLWhvbGRpbmctaGFuZCIsaWNvbjpbNTc2LDUxMixbXSwiZTRmNyIsIk00NjYuOCAxODYuNWw0Mi41LTQyLjUgMzQuNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJMMjIzLjYgMTZjLTI5IDAtNTcuMyA5LjMtODAuNyAyNi41TDE2LjMgMTM1LjhjLTE3LjggMTMuMS0yMS42IDM4LjEtOC41IDU1LjlzMzguMSAyMS42IDU1LjkgOC41TDE4My40IDExMiAyOTYgMTEyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC03MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE1Mi4yIDBjMzMuOSAwIDY2LjUtMTMuNSA5MC41LTM3LjV6bS0zNTcuNSAxMzlMNjYuNyAzNjggMzIgMzY4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyMC41IDBjMjkgMCA1Ny4zLTkuMyA4MC43LTI2LjVsMTI2LjYtOTMuM2MxNy44LTEzLjEgMjEuNi0zOC4xIDguNS01NS45cy0zOC4xLTIxLjYtNTUuOS04LjVMMzkyLjYgNDAwIDI4MCA0MDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTUyLjIgMGMtMzMuOSAwLTY2LjUgMTMuNS05MC41IDM3LjV6Il19LHZCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdHJvb3B3YWZlbCIsaWNvbjpbNTEyLDUxMixbXSwiZjU1MSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0zMTIuNiA2My43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEwyNTYgOTcuNiAyMjIuMSA2My43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDMzLjkgMzMuOS00NS4zIDQ1LjMtNTYuNi01Ni42Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDU2LjYgNTYuNi00NS4zIDQ1LjMtMzMuOS0zMy45Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42TDk3LjYgMjU2IDYzLjcgMjg5LjljLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGwzMy45LTMzLjkgNDUuMyA0NS4zLTU2LjYgNTYuNmMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDU2LjYtNTYuNiA0NS4zIDQ1LjMtMzMuOSAzMy45Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzMuOS0zMy45IDMzLjkgMzMuOWM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTMzLjktMzMuOSA0NS4zLTQ1LjMgNTYuNiA1Ni42YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNTYuNi01Ni42IDQ1LjMtNDUuMyAzMy45IDMzLjljNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC0zMy45LTMzLjkgMzMuOS0zMy45YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBsLTMzLjkgMzMuOS00NS4zLTQ1LjMgNTYuNi01Ni42YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBsLTU2LjYgNTYuNi00NS4zLTQ1LjMgMzMuOS0zMy45YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42ek0xNDIuOSAyNTZsNDUuMy00NS4zIDQ1LjMgNDUuMy00NS4zIDQ1LjMtNDUuMy00NS4zem02Ny45IDY3LjlsNDUuMy00NS4zIDQ1LjMgNDUuMy00NS4zIDQ1LjMtNDUuMy00NS4zek0yNzguNiAyNTZsNDUuMy00NS4zIDQ1LjMgNDUuMy00NS4zIDQ1LjMtNDUuMy00NS4zem0yMi42LTY3LjlsLTQ1LjMgNDUuMy00NS4zLTQ1LjMgNDUuMy00NS4zIDQ1LjMgNDUuM3oiXX0seEJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoaWxkIixpY29uOlszMjAsNTEyLFtdLCJmMWFlIiwiTTk2IDY0QTY0IDY0IDAgMSAxIDIyNCA2NCA2NCA2NCAwIDEgMSA5NiA2NHptNDggMzIwbDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJMODAgMjg3LjggNTkuMSAzMjFjLTkuNCAxNS0yOS4yIDE5LjQtNDQuMSAxMFMtNC41IDMwMS45IDQuOSAyODdsMzkuOS02My4zQzY5LjcgMTg0IDExMy4yIDE2MCAxNjAgMTYwczkwLjMgMjQgMTE1LjIgNjMuNkwzMTUuMSAyODdjOS40IDE1IDQuOSAzNC43LTEwIDQ0LjFzLTM0LjcgNC45LTQ0LjEtMTBMMjQwIDI4Ny44IDI0MCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05Ni0zMiAweiJdfSx5QnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaWNlLWNyZWFtIixpY29uOlszODQsNTEyLFsxMjc4NDhdLCJmODEwIiwiTTMzNS4xIDE2MGMuNi01LjMgLjktMTAuNiAuOS0xNiAwLTc5LjUtNjQuNS0xNDQtMTQ0LTE0NFM0OCA2NC41IDQ4IDE0NGMwIDUuNCAuMyAxMC43IC45IDE2bC0uOSAwYy0yNi41IDAtNDggMjEuNS00OCA0OHMyMS41IDQ4IDQ4IDQ4bDI4OCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4bC0uOSAwek02NCAzMDRMMTY5LjIgNTI5LjVjNC4xIDguOCAxMyAxNC41IDIyLjggMTQuNXMxOC42LTUuNyAyMi44LTE0LjVMMzIwIDMwNCA2NCAzMDR6Il19LHpkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21wdXRlci1tb3VzZSIsaWNvbjpbMzg0LDUxMixbMTI4NDMzLCJtb3VzZSJdLCJmOGNjIiwiTTAgMTkybDE2OCAwIDAtMTkyLTggMEM3MS42IDAgMCA3MS42IDAgMTYwbDAgMzJ6bTAgNDhMMCAzNTJjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjBsNjQgMGM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MGwwLTExMi0zODQgMHptMzg0LTQ4bDAtMzJDMzg0IDcxLjYgMzEyLjQgMCAyMjQgMGwtOCAwIDAgMTkyIDE2OCAweiJdfSx3QnQ9emRlLE1CdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYXVjZXQiLGljb246WzUxMiw1MTIsW10sImUwMDUiLCJNMTkyIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDY0IDE4LjcgMGM4LjUgMCAxNi42IDMuNCAyMi42IDkuNGwyMi42IDIyLjYgMzIgMGM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MCAwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzLTE0LjMtMzItMzItMzJsLTM2LjEgMGMtMjAuMiAyOS01My45IDQ4LTkxLjkgNDhzLTcxLjctMTktOTEuOS00OEwzMiAzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMCAyMi42LTIyLjZjNi02IDE0LjEtOS40IDIyLjYtOS40bDE4LjcgMCAwLTY0LTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzc4LjMgNjQgOTYgNjRsOTYgMHoiXX0sa0J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImF3YXJkIixpY29uOls0NDgsNTEyLFtdLCJmNTU5IiwiTTI0NS45LTI1LjljLTEzLjQtOC4yLTMwLjMtOC4yLTQzLjcgMC0yNC40IDE0LjktMzkuNSAxOC45LTY4LjEgMTguMy0xNS43LS40LTMwLjMgOC4xLTM3LjkgMjEuOS0xMy43IDI1LjEtMjQuOCAzNi4yLTQ5LjkgNDkuOS0xMy44IDcuNS0yMi4yIDIyLjItMjEuOSAzNy45IC43IDI4LjYtMy40IDQzLjctMTguMyA2OC4xLTguMiAxMy40LTguMiAzMC4zIDAgNDMuNyAxNC45IDI0LjQgMTguOSAzOS41IDE4LjMgNjguMS0uNCAxNS43IDguMSAzMC4zIDIxLjkgMzcuOSAyMi4xIDEyLjEgMzMuMyAyMi4xIDQ1LjEgNDEuNUw0Mi43IDQ1OC41Yy01LjkgMTEuOS0xLjEgMjYuMyAxMC43IDMyLjJsODYgNDNjMTEuNSA1LjcgMjUuNSAxLjQgMzEuNy05LjhsNTIuOC05NS4xIDUyLjggOTUuMWM2LjIgMTEuMiAyMC4yIDE1LjYgMzEuNyA5LjhsODYtNDNjMTEuOS01LjkgMTYuNy0yMC4zIDEwLjctMzIuMmwtNDguNi05Ny4yYzExLjctMTkuNCAyMy0yOS40IDQ1LjEtNDEuNSAxMy44LTcuNSAyMi4yLTIyLjIgMjEuOS0zNy45LS43LTI4LjYgMy40LTQzLjcgMTguMy02OC4xIDguMi0xMy40IDguMi0zMC4zIDAtNDMuNy0xNC45LTI0LjQtMTguOS0zOS41LTE4LjMtNjguMSAuNC0xNS43LTguMS0zMC4zLTIxLjktMzcuOS0yNS4xLTEzLjctMzYuMi0yNC44LTQ5LjktNDkuOS03LjUtMTMuOC0yMi4yLTIyLjItMzcuOS0yMS45LTI4LjYgLjctNDMuNy0zLjQtNjguMS0xOC4zek0yMjQgOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6Il19LHpCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tZHJvd25pbmciLGljb246WzY0MCw1MTIsW10sImU1NDUiLCJNMjY0IDg4YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTMzLjkgNjUuNmMxNi44LTUuNiAzNC45IDMuNSA0MC41IDIwLjJsMTAuOSAzMi44YzkuNCAyOC4zIDMzLjIgNDkuNSA2Mi41IDU1LjYgNS42IDEuMiAxMS4zIDEuOCAxNy4xIDEuOGw4OCAwYzE3LjIgMCAzNC4zLTIuOCA1MC42LTguMmwxMTQuNC0zOC4xYzE2LjgtNS42IDM0LjkgMy41IDQwLjUgMjAuMnMtMy41IDM0LjktMjAuMiA0MC41TDQyMy43IDIyOC41Yy04LjQgMi44LTE3IDUuMS0yNS43IDYuOWwtMjYuNSA4OC4zYy02LjEgMy40LTEyLjEgNy4zLTE3LjkgMTEuNy0yMi4xIDE2LjYtMjkuMSAxNi42LTUxLjIgMC0yNi4yLTE5LjctNTYuOS0zMC4yLTg3LjgtMzEuM2wyMC4yLTY3LjJjLTUxLjUtMTAuNy05My41LTQ4LjEtMTEwLjItOThsLTEwLjktMzIuOGMtNS42LTE2LjggMy41LTM0LjkgMjAuMi00MC41ek00MDMuNCA0MTIuMUMzNzkuMSA0MzAuMyAzNTEuMSA0NDggMzIwIDQ0OHMtNTkuMS0xNy43LTgzLjQtMzUuOWMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDAtMjMuOCAxNy45LTU0LjEgMzUuNS04OC4xIDM1LjMtMjAuNC0uMS00MC43LTYuNy01OS44LTIxLjEtMTAuNi04LTEyLjctMjMtNC43LTMzLjZzMjMtMTIuNyAzMy42LTQuN2MxMS4zIDguNSAyMS42IDExLjQgMzEuMiAxMS41IDE3LjYgLjEgMzcuMy05LjQgNTguOS0yNS43IDM4LjQtMjkgOTAuNS0yOSAxMjkgMCAyNCAxOC4xIDQwLjcgMjYuMyA1NC41IDI2LjNzMzAuNS04LjIgNTQuNS0yNi4zYzM4LjQtMjkgOTAuNS0yOSAxMjkgMCAxNi45IDEyLjcgMzIuOSAyMS41IDQ3LjggMjQuNiAxMy43IDIuOCAyNy40IC45IDQyLjMtMTAuMyAxMC42LTggMjUuNi01LjkgMzMuNiA0LjdzNS45IDI1LjYtNC43IDMzLjZjLTI2LjQgMTkuOS01NC4yIDI0LjQtODAuNyAxOS4xLTI1LjMtNS4xLTQ4LjEtMTguOS02Ny4yLTMzLjMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDB6Il19LFNCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYW1lcmEtcm90YXRlIixpY29uOls1MTIsNTEyLFtdLCJlMGQ4IiwiTTEzOC43IDk2bDEwLjQtMzEuMkMxNTUuNiA0NS4yIDE3My45IDMyIDE5NC42IDMybDEyMi44IDBjMjAuNyAwIDM5IDEzLjIgNDUuNSAzMi44TDM3My4zIDk2IDQ0OCA5NmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTYwYzAtMzUuMyAyOC43LTY0IDY0LTY0bDc0LjcgMHpNOTYgMzA1LjljMCAzLjkgMS40IDcuNyA0IDEwLjZsNDggNTRjNi40IDcuMiAxNy42IDcuMiAyMy45IDBsNDgtNTRjMi42LTIuOSA0LTYuNyA0LTEwLjZsMC0xLjljMC04LjgtNy4yLTE2LTE2LTE2bC0yNCAwYzAtMzkuOCAzMi4yLTcyIDcyLTcyIDQuNCAwIDguNyAuNCAxMi45IDEuMmwzNC45LTM5LjNjLTE0LjYtNi40LTMwLjgtOS45LTQ3LjgtOS45LTY2LjMgMC0xMjAgNTMuNy0xMjAgMTIwbC0yNCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxLjl6bTE5Ni00Ni41Yy0yLjYgMi45LTQgNi43LTQgMTAuNmwwIDEuOWMwIDguOCA3LjIgMTYgMTYgMTZsMjQgMGMwIDM5LjgtMzIuMiA3Mi03MiA3Mi00LjQgMC04LjctLjQtMTIuOS0xLjJsLTM0LjkgMzkuM2MxNC43IDYuNCAzMC44IDkuOSA0Ny44IDkuOSA2Ni4zIDAgMTIwLTUzLjcgMTIwLTEyMGwyNCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTEuOWMwLTMuOS0xLjQtNy43LTQtMTAuNmwtNDgtNTRjLTYuNC03LjItMTcuNi03LjItMjMuOSAwbC00OCA1NHoiXX0sU2RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1oZWFydHMiLGljb246WzUxMiw1MTIsWzEyODUyNSwiZ3Jpbi1oZWFydHMiXSwiZjU4NCIsIk0yNTYgNTEyYzE0MS40IDAgMjU2LTExNC42IDI1Ni0yNTYgMC0yMy4zLTMuMS00NS45LTguOS02Ny4zIDUuNS0xMy41IDguOS0yOC40IDguOS00NC43IDAtNTMtNDMtOTYtOTYtOTZsLTIuOSAwYy0yLjUgMC01IC4xLTcuNCAuMy00Mi4xLTMwLjQtOTMuOC00OC4zLTE0OS43LTQ4LjNTMTQ4LjQgMTcuOSAxMDYuMyA0OC4zYy0yLjUtLjItNC45LS4zLTcuNC0uM0w5NiA0OGMtNTMgMC05NiA0My05NiA5NiAwIDE2LjMgMy41IDMxLjIgOC45IDQ0LjctNS44IDIxLjQtOC45IDQ0LTguOSA2Ny4zIDAgMTQxLjQgMTE0LjYgMjU2IDI1NiAyNTZ6TTM4Ni43IDMyNC45YzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMS0yMi40IDYxLjMtODEuMyAxMDUuMS0xNTAuMyAxMDUuMVMxMjguMSA0MDQuMiAxMDUuNyAzNDIuOWMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xek0zMjIuOSA5NmMxMy41IDAgMjYuNSA1LjQgMzYgMTQuOWw5LjEgOS4xIDkuMS05LjFjOS41LTkuNSAyMi41LTE0LjkgMzYtMTQuOWwyLjkgMGMyNi41IDAgNDggMjEuNSA0OCA0OCAwIDUzLjQtNjYuOSA5NS43LTg5IDEwOC4yLTQuNCAyLjUtOS42IDIuNS0xNCAwLTIyLjEtMTIuNS04OS01NC44LTg5LTEwOC4yIDAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDIuOSAwem0tMTg4IDE0LjlsOS4xIDkuMSA5LjEtOS4xYzkuNS05LjUgMjIuNS0xNC45IDM2LTE0LjlsMi45IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCA1My40LTY2LjkgOTUuNy04OSAxMDguMi00LjQgMi41LTkuNiAyLjUtMTQgMC0yMi4xLTEyLjUtODktNTQuOC04OS0xMDguMiAwLTI2LjUgMjEuNS00OCA0OC00OGwyLjkgMGMxMy41IDAgMjYuNSA1LjQgMzYgMTQuOXoiXX0sQ0J0PVNkZSxfQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1mcmFnbWVudCIsaWNvbjpbMzg0LDUxMixbXSwiZTY5NyIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NGwwIDI0MCAxMjggMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDEyOCAxMTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI3Ny41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI1OC43IDE4LjdDMjQ2LjcgNi43IDIzMC41IDAgMjEzLjUgMEw2NCAwek0zMjUuNSAxNzZMMjMyIDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjA4IDU4LjUgMzI1LjUgMTc2ek0zMiAzNTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAweiJdfSxUQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLW1pbGl0YXJ5LXJpZmxlIixpY29uOls0NDgsNTEyLFtdLCJlNTRiIiwiTTEyOCAzOWMwLTEzIDEwLTIzLjggMjIuOS0yNC45TDMwMi43IDEuNEMzMTIgLjcgMzIwIDggMzIwIDE3LjRMMzIwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNkwxNTMgNjRjLTEzLjggMC0yNS0xMS4yLTI1LTI1em0xNy42IDU3bDE1Ni44IDBjMSA1LjIgMS42IDEwLjUgMS42IDE2IDAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtNS41IC42LTEwLjggMS42LTE2em0yMjggMzY0LjNMMzIwIDM2OS43IDMyMCA0ODBjMCAxLjMtLjEgMi41LS4yIDMuOEwxNDUuNSAyMzQuOWMxNi42LTcuMSAzNC42LTEwLjkgNTMuMy0xMC45bDUwLjQgMGMxNS45IDAgMzEuMyAyLjggNDUuOCA3LjlMMzg5LjkgNjcuN2MtNy43LTQuNC0xMC4zLTE0LjItNS45LTIxLjlzMTQuMi0xMC4zIDIxLjktNS45bDI3LjcgMTZjNy43IDQuNCAxMC4zIDE0LjIgNS45IDIxLjlsLTU1LjUgOTYuMSAxLjYgLjljMTUuMyA4LjggMjAuNiAyOC40IDExLjcgNDMuN0wzNjAuNyAyODJjMiAyLjggMy45IDUuOCA1LjcgOC44bDc2LjEgMTI4LjhjMTEuMiAxOSA0LjkgNDMuNS0xNC4xIDU0LjhzLTQzLjUgNC45LTU0LjgtMTQuMXpNMjg4IDUxMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTEwLjMtNTMuNiA5MC42Yy0xMS4yIDE5LTM1LjggMjUuMy01NC44IDE0LjFTLTUuNyA0MzguNyA1LjYgNDE5LjdMODEuNyAyOTAuOGM5LjQtMTUuOCAyMS43LTI5LjMgMzYtNDBMMjk5LjEgNTEwYy0zLjUgMS4zLTcuMiAyLTExLjEgMnpNMjY0IDMyMGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6Il19LExCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b2dnbGUtb24iLGljb246WzU3Niw1MTIsW10sImYyMDUiLCJNMTkyIDY0Qzg2IDY0IDAgMTUwIDAgMjU2Uzg2IDQ0OCAxOTIgNDQ4bDE5MiAwYzEwNiAwIDE5Mi04NiAxOTItMTkyUzQ5MCA2NCAzODQgNjRMMTkyIDY0em0xOTIgOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6Il19LCRCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsdW5ncy12aXJ1cyIsaWNvbjpbNTc2LDUxMixbXSwiZTA2NyIsIk0yODggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxNTEuM2M5LjYtNC44IDIwLjUtNy41IDMyLTcuNXMyMi40IDIuNyAzMiA3LjVMMzIwIDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek00NTAuMSA0NTFjOCAxOC4zIDguMSAzOS4yIC4yIDU3LjUgMTAuMiAyLjMgMjAuNiAzLjUgMzEuMiAzLjUgNTIuMiAwIDk0LjUtNDIuMyA5NC41LTk0LjVsMC02LjJjMC0xMTEuMS0zNi43LTIxOS0xMDQuNC0zMDdMNDI4LjkgNDguN2MtOC4xLTEwLjYtMjAuNy0xNi43LTM0LTE2LjctMjMuNyAwLTQyLjkgMTkuMi00Mi45IDQyLjlsMCAxMzkuOWMxLjIgMi4yIDIuMiA0LjYgMy4xIDYuOSAyNi40LTExLjYgNTguMy02LjYgNzkuOSAxNXMyNi42IDUzLjYgMTUgNzkuOUM0NzcgMzI3LjIgNDk2IDM1My4zIDQ5NiAzODMuOHMtMTkgNTYuNy00NS45IDY3LjF6TTIyMC45IDIyMS44Yy45LTIuNCAyLTQuNyAzLjEtNi45bDAtMTM4LjVjMC0yNC41LTE5LjktNDQuNC00NC40LTQ0LjQtMTIuNSAwLTI0LjQgNS4zLTMyLjggMTQuNWwtMjYuNCAyOUM0Mi45IDE2MC44IDAgMjcxLjggMCAzODdsMCAzMC41YzAgNTIuMiA0Mi4zIDk0LjUgOTQuNSA5NC41IDEwLjUgMCAyMS0xLjIgMzEuMi0zLjUtNy45LTE4LjMtNy44LTM5LjMgLjItNTcuNS0yNi45LTEwLjQtNDUuOS0zNi42LTQ1LjktNjcuMXMxOS01Ni43IDQ1LjktNjcuMWMtMTEuNi0yNi40LTYuNi01OC4zIDE1LTc5LjlzNTMuNi0yNi42IDc5LjktMTV6TTE1MiA0MDhjMjguOCAwIDQzLjIgMzQuOCAyMi45IDU1LjItOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwYzIwLjQtMjAuNCA1NS4yLTUuOSA1NS4yIDIyLjkgMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTI4LjggMzQuOC00My4yIDU1LjItMjIuOSA5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjljLTIwLjQtMjAuNC01LjktNTUuMiAyMi45LTU1LjIgMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRjLTI4LjggMC00My4yLTM0LjgtMjIuOS01NS4yIDkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBjLTIwLjQgMjAuNC01NS4yIDUuOS01NS4yLTIyLjkgMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRjMCAyOC44LTM0LjggNDMuMi01NS4yIDIyLjktOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWMyMC40IDIwLjQgNS45IDU1LjItMjIuOSA1NS4yLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjR6bTEwNC04MGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTQwIDg4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6Il19LCRZPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxlLXRlbm5pcy1wYWRkbGUtYmFsbCIsaWNvbjpbNTEyLDUxMixbMTI3OTU1LCJwaW5nLXBvbmctcGFkZGxlLWJhbGwiLCJ0YWJsZS10ZW5uaXMiXSwiZjQ1ZCIsIk05NyAxMjdsNjcuNC02Ny40YzM4LjItMzguMiA5MC01OS42IDE0NC01OS42IDExMi41IDAgMjAzLjcgOTEuMiAyMDMuNyAyMDMuNiAwIDQ2LjQtMTUuOCA5MS4xLTQ0LjUgMTI3LTIzLjYtMTYuOC01Mi40LTI2LjctODMuNS0yNi43LTMxLjEgMC01OS45IDkuOS04My40IDI2LjZMOTcgMTI3ek0yNDAgNDQ4YzAgOS43IDEgMTkuMSAyLjggMjguMi0xOS44LTUuMi0zOC0xNS41LTUyLjctMzAuMi0xMi4yLTEyLjItMzEuOS0xMi4yLTQ0LjEgMEw5Ni42IDQ5NS40Yy0xMC42IDEwLjYtMjUgMTYuNi00MCAxNi42LTMxLjIgMC01Ni42LTI1LjMtNTYuNi01Ni42IDAtMTUgNi0yOS40IDE2LjYtNDBsNDkuNC00OS40YzEyLjItMTIuMiAxMi4yLTMxLjkgMC00NC4xLTIxLjctMjEuNy0zMy45LTUxLjItMzMuOS04MS45IDAtMjkuNCAxMS4xLTU3LjYgMzEuMS03OUwyNjYuNiAzNjQuNkMyNDkuOSAzODguMSAyNDAgNDE2LjkgMjQwIDQ0OHptMTQ0LTk2YTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyeiJdfSxEQnQ9JFksQUJ0PSRZLFBCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3hlcy1wYWNraW5nIixpY29uOls1NzYsNTEyLFtdLCJlNGM3IiwiTTIwOCAwbDgwIDAgMCA1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNTYgODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQxNmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTA4LjggMGM4LjItMTQuMSAxMi44LTMwLjUgMTIuOC00OGwwLTE2MGMxMC0xMy40IDE2LTMwIDE2LTQ4bDAtMzJjMC00NC4yLTM1LjgtODAtODAtODBsLTE3NiAwIDAtOTZjMC0yNi41IDIxLjUtNDggNDgtNDh6TTMyIDMzNmwzMjAgMCAwIDEyOGMwIDI2LjUtMjEuNSA0OC00OCA0OEw4MCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTI4ek00OCAxOTJsMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkw0OCAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LEVCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tY2hhbGtib2FyZCIsaWNvbjpbNjQwLDUxMixbXSwiZTUzZCIsIk0xOTIgODBhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTE3NiA1MTJsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzM2IDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtNDggMTkyIDAgMCAxOTItMTkyIDAgMC0zMi02NCAwIDAgNDhjMCAyNi41IDIxLjUgNDggNDggNDhsMjI0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhMMzY4IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjQtMTIyLjcgMGMtNDUuNiAwLTg4LjUgMjEuNi0xMTUuNiA1OC4yTDE0LjMgMjYwLjljLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNkwxMTIgMjM2LjcgMTEyIDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyeiJdfSxJQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGljZS10d28iLGljb246WzQ0OCw1MTIsWzk4NTddLCJmNTI4IiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek0zNTIgMzUyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTEyOCAxOTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxDZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCIsaWNvbjpbNTEyLDUxMixbODY0NCwiZXhjaGFuZ2UiXSwiZjBlYyIsIk01MDIuNiAxNTAuNmwtOTYgOTZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDQwMi43IDE2MCAzMiAxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzE0LjMgOTYgMzIgOTZsMzcwLjcgMC00MS40LTQxLjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjN6bS0zOTcuMyAzNTJsLTk2LTk2Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w5Ni05NmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zTDEwOS4zIDM1MiA0ODAgMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zNzAuNyAwIDQxLjQgNDEuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMHoiXX0sTkJ0PUNkZSxfZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9vdGJhbGwiLGljb246WzUxMiw1MTIsWzEyNzk0NCwiZm9vdGJhbGwtYmFsbCJdLCJmNDRlIiwiTTI2MS4xIDIyLjZjLTg5IDE4LTE1MC41IDYzLjQtMTkwIDEyMy45LTIzLjMgMzUuNi0zOC4xIDc1LjMtNDYuNyAxMTUuNUwyNTEuOSA0ODkuNGM4OS0xOCAxNTAuNS02My40IDE5MC4xLTEyMy45IDIzLjMtMzUuNiAzOC4xLTc1LjMgNDYuNy0xMTUuNUwyNjEuMSAyMi42em0yMzYgMTY4LjFjMy4yLTQyLjMgLjctODMuMy00LjgtMTE4LjctNC40LTI3LjgtMjYuOC00OC01My4xLTUxLjYtNDMtNS45LTgyLjItNy41LTExNy44LTUuNEw0OTcuMSAxOTAuNnpNMTkxLjcgNDk3LjFMMTUuOSAzMjEuNGMtMy4yIDQyLjMtLjcgODMuMyA0LjggMTE4LjcgNC40IDI3LjggMjYuOCA0OCA1My4xIDUxLjYgNDMgNS45IDgyLjIgNy41IDExNy44IDUuNHpNMjcxLjUgMTQzYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDY0IDY0YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXptLTY0IDY0YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDY0IDY0YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXptLTY0IDY0YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDY0IDY0YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXoiXX0sUkJ0PV9kZSxGQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stbW9uc3RlciIsaWNvbjpbNTc2LDUxMixbXSwiZjYzYiIsIk0zMzYgOTZsNDggNjQtMTI4IDAgMC02NCA4MCAwem0xMjggNjRMMzg3LjIgNTcuNkMzNzUuMSA0MS41IDM1Ni4xIDMyIDMzNiAzMkwyMjQgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTYtMTQ0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjRjMCAxOC4xIDEwLjEgMzMuOSAyNC45IDQyLjEtLjUgNS43IDEuMSAxMS42IDQuNyAxNi40LTMuNyA2LjktNi44IDE0LjEtOSAyMS44LTExLjYgMS43LTIwLjYgMTEuNy0yMC42IDIzLjhsMCAxNmMwIDEyLjEgOC45IDIyLjEgMjAuNiAyMy44IDIuMiA3LjYgNS4zIDE0LjkgOSAyMS44LTcgOS40LTYuMyAyMi44IDIuMyAzMS4zbDExLjMgMTEuM2M4LjYgOC42IDIxLjkgOS4zIDMxLjMgMi4yIDYuOCAzLjcgMTQuMSA2LjggMjEuNyA5IDEuNyAxMS42IDExLjcgMjAuNiAyMy44IDIwLjZsMTYgMGMxMi4xIDAgMjIuMS04LjkgMjMuOC0yMC42IDcuNi0yLjIgMTQuOS01LjMgMjEuNy05IDkuNCA3IDIyLjggNi4zIDMxLjMtMi4ybDExLjMtMTEuM2M4LjYtOC42IDkuMy0yMS45IDIuMy0zMS4zIDMuNy02LjggNi44LTE0LjEgOS0yMS43IDExLjYtMS43IDIwLjYtMTEuNyAyMC42LTIzLjhsMC0xNmMwLTEyLjEtOC45LTIyLjEtMjAuNi0yMy44LTIuMi03LjYtNS4zLTE0LjktOS0yMS43IDIuNC0zLjIgMy45LTYuOCA0LjUtMTAuNWwxMTQuMiAwYy42IDMuNyAyLjEgNy4zIDQuNSAxMC41LTMuNyA2LjktNi44IDE0LjEtOSAyMS44LTExLjYgMS43LTIwLjYgMTEuNy0yMC42IDIzLjhsMCAxNmMwIDEyLjEgOC45IDIyLjEgMjAuNiAyMy44IDIuMiA3LjYgNS4zIDE0LjkgOSAyMS44LTcgOS40LTYuMyAyMi44IDIuMiAzMS4zbDExLjMgMTEuM2M4LjUgOC42IDIxLjkgOS4zIDMxLjMgMi4yIDYuOCAzLjcgMTQuMSA2LjggMjEuNyA5IDEuNyAxMS42IDExLjcgMjAuNiAyMy44IDIwLjZsMTYgMGMxMi4xIDAgMjIuMS04LjkgMjMuOC0yMC42IDcuNi0yLjIgMTQuOS01LjMgMjEuOC05IDkuNCA3IDIyLjggNi4zIDMxLjMtMi4ybDExLjMtMTEuM2M4LjYtOC42IDkuMy0yMS45IDIuMi0zMS4zIDMuNy02LjggNi44LTE0LjEgOS0yMS43IDExLjYtMS43IDIwLjYtMTEuNyAyMC42LTIzLjhsMC0xNmMwLTEyLjEtOC45LTIyLjEtMjAuNi0yMy44LTIuMi03LjYtNS4zLTE0LjktOS0yMS43IDMuNi00LjggNS4yLTEwLjcgNC43LTE2LjQgMTQuOC04LjIgMjQuOS0yMy45IDI0LjktNDIuMWwwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC02NCAwek0xMjggMzM2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnptMjcyIDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6Il19LE9CdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhc3RlcmlzayIsaWNvbjpbNDQ4LDUxMixbMTAwMzMsNjE1NDVdLCIyYSIsIk0yMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2OC42IDE0NC04My4xYzE1LjMtOC44IDM0LjktMy42IDQzLjcgMTEuN3MzLjYgMzQuOS0xMS43IDQzLjdMMjg4IDI1NiA0MzIgMzM5LjFjMTUuMyA4LjggMjAuNiAyOC40IDExLjcgNDMuN3MtMjguNCAyMC42LTQzLjcgMTEuN0wyNTYgMzExLjQgMjU2IDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE2OC42LTE0NCA4My4xYy0xNS4zIDguOC0zNC45IDMuNi00My43LTExLjdTLjcgMzQ4IDE2IDMzOS4xTDE2MCAyNTYgMTYgMTcyLjlDLjcgMTY0LTQuNSAxNDQuNSA0LjMgMTI5LjFTMzIuNyAxMDguNiA0OCAxMTcuNEwxOTIgMjAwLjYgMTkyIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxEWT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXR0ZXJ5LWZ1bGwiLGljb246WzY0MCw1MTIsWzEyODI2NywiYmF0dGVyeSIsImJhdHRlcnktNSJdLCJmMjQwIiwiTTUyOCAxMjhjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjI0YzAgOC44LTcuMiAxNi0xNiAxNmwtNDE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTIyNGMwLTguOCA3LjItMTYgMTYtMTZsNDE2IDB6TTExMiA2NGMtNDQuMiAwLTgwIDM1LjgtODAgODBsMCAyMjRjMCA0NC4yIDM1LjggODAgODAgODBsNDE2IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC00OGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybDAtNDhjMC00NC4yLTM1LjgtODAtODAtODBMMTEyIDY0em01NiAxMTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDMwNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0bC0zMDQgMHoiXX0sQkJ0PURZLEhCdD1EWSxxQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hpbGQtZHJlc3MiLGljb246WzMyMCw1MTIsW10sImU1OWMiLCJNMjI0IDY0QTY0IDY0IDAgMSAwIDk2IDY0IDY0IDY0IDAgMSAwIDIyNCA2NHpNODggNDAwbDAgODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTgwIDE2IDAgMCA4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtODAgMTcuOCAwYzEwLjkgMCAxOC42LTEwLjcgMTUuMi0yMS4xbC0zMS4xLTkzLjQgMjguNyAzNy44YzEwLjcgMTQuMSAzMC44IDE2LjggNDQuOCA2LjJzMTYuOC0zMC43IDYuMi00NC44TDI1NC42IDIwN2MtMjIuNC0yOS42LTU3LjUtNDctOTQuNi00N3MtNzIuMiAxNy40LTk0LjYgNDdMNi41IDI4NC43Yy0xMC43IDE0LjEtNy45IDM0LjIgNi4yIDQ0LjhzMzQuMiA3LjkgNDQuOC02LjJMODYuMiAyODUuNSA1NSAzNzguOUM1MS42IDM4OS4zIDU5LjMgNDAwIDcwLjIgNDAwTDg4IDQwMHoiXX0sVGRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Uta2lzcy1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MzcsImtpc3MtYmVhbSJdLCJmNTk3IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yNDAgMjg4bDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCAxMi4zLTQuNiAyMy41LTEyLjIgMzIgNy42IDguNSAxMi4yIDE5LjcgMTIuMiAzMiAwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6TTE3NiAxODBjLTE1LjUgMC0yOCAxMi41LTI4IDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjh6bTEzMiAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4eiJdfSxWQnQ9VGRlLExkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFzaC1jYW4tYXJyb3ctdXAiLGljb246WzQ0OCw1MTIsWyJ0cmFzaC1yZXN0b3JlLWFsdCJdLCJmODJhIiwiTTE2Ny4xLTE2bDExMy45IDBjMTMuOCAwIDI2IDguOCAzMC40IDIxLjlMMzIwIDMyIDQxNiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0UzE0LjMgMzIgMzIgMzJsOTYgMCA4LjctMjYuMUMxNDEuMS03LjIgMTUzLjMtMTYgMTY3LjEtMTZ6TTMyIDE0NGwzODQgMCAwIDMwNGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzA0em0yMDkgNzljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC03MiA3MmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDMxLTMxIDAgMTAyLjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEwMi4xIDMxIDMxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNzItNzJ6Il19LGpCdD1MZGUsVUJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvbnQiLGljb246WzUxMiw1MTIsW10sImYwMzEiLCJNMjg1LjEgNTAuN0MyNzkuOSAzOS4zIDI2OC41IDMyIDI1NiAzMnMtMjMuOSA3LjMtMjkuMSAxOC43TDU5LjUgNDE2IDQ4IDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02LjEgMCAyMi00OCAyMDguMyAwIDIyIDQ4LTYuMSAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTExLjUgMC0xNjcuNC0zNjUuM3pNMzMwLjggMzA0TDE4MS4yIDMwNCAyNTYgMTQwLjggMzMwLjggMzA0eiJdfSxXQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9yZS1ob2xlIixpY29uOls1MTIsNTEyLFtdLCJlNGMzIiwiTTI1NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDIzMi42Yy0xOS4xIDExLjEtMzIgMzEuNy0zMiA1NS40IDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRjMC0yMy43LTEyLjktNDQuNC0zMi01NS40TDI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMCAzODRsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI3MmMwLTI2LjUtMjEuNS00OC00OC00OGwtNDggMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNDRjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJTMTQ0IDM4MS45IDE0NCAzMjBsMC0xNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4TDAgMzg0eiJdfSxHQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlydXMtY292aWQiLGljb246WzUxMiw1MTIsW10sImU0YTgiLCJNMTkyIDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDAgMCAzMy42YzMwLjcgNC4yIDU4LjggMTYuMyA4Mi4zIDM0LjFMMzg2LjEgOTIgMzc0LjggODAuNmMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDU2LjYgNTYuNmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC0xMS4zLTExLjMtMjMuOCAyMy44YzE3LjkgMjMuNSAyOS45IDUxLjcgMzQuMSA4Mi4zbDMzLjYgMCAwLTE2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA4MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE2LTMzLjYgMGMtNC4yIDMwLjctMTYuMyA1OC44LTM0LjEgODIuM2wyMy44IDIzLjggMTEuMy0xMS4zYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNTYuNiA1Ni42Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDExLjMtMTEuMy0yMy44LTIzLjhjLTIzLjUgMTcuOS01MS43IDI5LjktODIuMyAzNC4xbDAgMzMuNiAxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE2IDAgMC0zMy42Yy0zMC43LTQuMi01OC44LTE2LjMtODIuMy0zNC4xbC0yMy44IDIzLjggMTEuMyAxMS4zYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBMNDYuNyA0MDguN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDExLjMgMTEuMyAyMy44LTIzLjhDOTcuOSAzMzguOCA4NS44IDMxMC43IDgxLjYgMjgwbC0zMy42IDAgMCAxNmMwIDEzLjMtMTAuNyAyNC0yNCAyNFMwIDMwOS4zIDAgMjk2bDAtODBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDE2IDMzLjYgMGM0LjItMzAuNyAxNi4zLTU4LjggMzQuMS04Mi4zTDkyIDEyNS45IDgwLjYgMTM3LjJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNTYuNi01Ni42YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUwxMjUuOSA5MiAxNDkuNyAxMTUuN2MyMy41LTE3LjkgNTEuNy0yOS45IDgyLjMtMzQuMWwwLTMzLjYtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTMyIDIwMGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem05NiA5NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LFlCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXBkZiIsaWNvbjpbNTc2LDUxMixbXSwiZjFjMSIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDgwIDAgMC0xMTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTc2IDAgMC0xNjUuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnpNMjQwIDM4MGMtMTEgMC0yMCA5LTIwIDIwbDAgMTI4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtMjggMTIgMGMzMy4xIDAgNjAtMjYuOSA2MC02MHMtMjYuOS02MC02MC02MGwtMzIgMHptMzIgODBsLTEyIDAgMC00MCAxMiAwYzExIDAgMjAgOSAyMCAyMHMtOSAyMC0yMCAyMHptOTYtODBjLTExIDAtMjAgOS0yMCAyMGwwIDEyOGMwIDExIDkgMjAgMjAgMjBsMzIgMGMyOC43IDAgNTItMjMuMyA1Mi01MmwwLTY0YzAtMjguNy0yMy4zLTUyLTUyLTUybC0zMiAwem0yMCAxMjhsMC04OCAxMiAwYzYuNiAwIDEyIDUuNCAxMiAxMmwwIDY0YzAgNi42LTUuNCAxMi0xMiAxMmwtMTIgMHptODgtMTA4bDAgMTI4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtNDQgMjggMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTI4IDAgMC0yNCAyOCAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtNDggMGMtMTEgMC0yMCA5LTIwIDIweiJdfSxaQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFuZ3VhZ2UiLGljb246WzU3Niw1MTIsW10sImYxYWIiLCJNMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOS42IDAtOC40IDIzLjFjLTE2LjQgNDUuMi00MS4xIDg2LjUtNzIuMiAxMjIgMTQuMiA4LjggMjkgMTYuNiA0NC40IDIzLjVsNTAuNCAyMi40IDYyLjItMTQwYzUuMS0xMS42IDE2LjYtMTkgMjkuMi0xOXMyNC4xIDcuNCAyOS4yIDE5bDEyOCAyODhjNy4yIDE2LjItLjEgMzUuMS0xNi4yIDQyLjJzLTM1LjEtLjEtNDIuMi0xNi4ybC0yMC00NS0xNTcuNSAwLTIwIDQ1Yy03LjIgMTYuMi0yNi4xIDIzLjQtNDIuMiAxNi4ycy0yMy40LTI2LjEtMTYuMi00Mi4ybDM5LjgtODkuNS01MC40LTIyLjRjLTIzLTEwLjItNDUtMjIuNC02NS44LTM2LjQtMjEuMyAxNy4yLTQ0LjYgMzIuMi02OS41IDQ0LjdMNzguMyAzODAuNmMtMTUuOCA3LjktMzUgMS41LTQyLjktMTQuM3MtMS41LTM1IDE0LjMtNDIuOWwzNC41LTE3LjNjMTYuMy04LjIgMzEuOC0xNy43IDQ2LjQtMjguMy0xMy44LTEyLjctMjYuOC0yNi40LTM4LjktNDAuOUw4MS42IDIyNC43Yy0xMS4zLTEzLjYtOS41LTMzLjggNC4xLTQ1LjFzMzMuOC05LjUgNDUuMSA0LjFsMTAuMiAxMi4yYzExLjUgMTMuOSAyNC4xIDI2LjggMzcuNCAzOC43IDI3LjUtMzAuNCA0OS4yLTY2LjEgNjMuNS0xMDUuNGwuNS0xLjItMjEwLjMgMEMxNC4zIDEyOCAwIDExMy43IDAgOTZTMTQuMyA2NCAzMiA2NGw5NiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTQxNiAyNzAuOEwzNjUuNyAzODQgNDY2LjMgMzg0IDQxNiAyNzAuOHoiXX0sJGRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoaWVsZC1oYWx2ZWQiLGljb246WzUxMiw1MTIsWyJzaGllbGQtYWx0Il0sImYzZWQiLCJNMjU2IDBjNC42IDAgOS4yIDEgMTMuNCAyLjlMNDU3LjggODIuOGMyMiA5LjMgMzguNCAzMSAzOC4zIDU3LjItLjUgOTkuMi00MS4zIDI4MC43LTIxMy42IDM2My4yLTE2LjcgOC0zNi4xIDgtNTIuOCAwLTE3Mi40LTgyLjUtMjEzLjEtMjY0LTIxMy42LTM2My4yLS4xLTI2LjIgMTYuMy00Ny45IDM4LjMtNTcuMkwyNDIuNyAyLjlDMjQ2LjkgMSAyNTEuNCAwIDI1NiAwem0wIDY2LjhsMCAzNzguMWMxMzgtNjYuOCAxNzUuMS0yMTQuOCAxNzYtMzAzLjRsLTE3Ni03NC42IDAgMHoiXX0sWEJ0PSRkZSxLQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyZXQtdXAiLGljb246WzMyMCw1MTIsW10sImYwZDgiLCJNMTQwLjMgMTM1LjJjMTIuNi0xMC4zIDMxLjEtOS41IDQyLjggMi4ybDEyOCAxMjhjOS4yIDkuMiAxMS45IDIyLjkgNi45IDM0LjlTMzAxLjQgMzIwIDI4OC41IDMyMGwtMjU2IDBjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhTLjcgMjc0LjUgOS45IDI2NS40bDEyOC0xMjggMi40LTIuMnoiXX0sRGRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtcGVuIixpY29uOls2NDAsNTEyLFsxMjgyMjEsImZpbGUtZWRpdCJdLCJmMzFjIiwiTTEyOC4xIDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE0Ni4yIDAgMTAuOS01NC41YzQuMy0yMS43IDE1LTQxLjYgMzAuNi01Ny4ybDEzMi4yLTEzMi4yIDAtOTcuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wzMjIuOCAxOC43QzMxMC44IDYuNyAyOTQuNSAwIDI3Ny42IDBMMTI4LjEgMHpNMzg5LjYgMTc2bC05My41IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtOTMuNSAxMTcuNSAxMTcuNXpNMzMyLjMgNDY2LjlsLTExLjkgNTkuNmMtLjIgLjktLjMgMS45LS4zIDIuOSAwIDggNi41IDE0LjYgMTQuNiAxNC42IDEgMCAxLjktLjEgMi45LS4zbDU5LjYtMTEuOWMxMi40LTIuNSAyMy44LTguNiAzMi43LTE3LjVsMTE4LjktMTE4LjktODAtODAtMTE4LjkgMTE4LjljLTguOSA4LjktMTUgMjAuMy0xNy41IDMyLjd6bTI2Ny44LTEyM2MyMi4xLTIyLjEgMjIuMS01Ny45IDAtODBzLTU3LjktMjIuMS04MCAwbC0yOC44IDI4LjggODAgODAgMjguOC0yOC44eiJdfSxRQnQ9RGRlLEFkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tYmlraW5nIixpY29uOls1NzYsNTEyLFsxMjg2OTIsImJpa2luZyJdLCJmODRhIiwiTTM2OCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTI3LjIgNjRsLTYxLjgtNDguOGMtMTcuMy0xMy42LTQxLjctMTMuOC01OS4xLS4zbC04My4xIDY0LjJjLTMwLjcgMjMuOC0yOC41IDcwLjggNC4zIDkxLjZMMjU2IDMwNS4xIDI1NiA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOGMwLTEwLjctNS4zLTIwLjctMTQuMi0yNi42TDI2MyAyMzIuOSAzMjMuMyAxODQuNCAzNjQgMjE3YzUuNyA0LjUgMTIuNyA3IDIwIDdsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNTIuOCAwek0xMTIgNTEyYTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHptMzUyIDBhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0eiJdfSxKQnQ9QWRlLFBkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLW9wZW4tcmVhZGVyIixpY29uOls1MTIsNTEyLFsiYm9vay1yZWFkZXIiXSwiZjVkYSIsIk0yNTYgMTUyYTg4IDg4IDAgMSAwIDAtMTc2IDg4IDg4IDAgMSAwIDAgMTc2em0wIDI5OC43bDAtMTQ5LjNjMTYuMy02LjggMzIuOS0xMy43IDQ5LjctMjAuNyAzOS0xNi4yIDgwLjgtMjQuNiAxMjMuMS0yNC42bDE5LjIgMCAwIDE2MC0xOS4yIDBjLTU5LjEgMC0xMTcuNyAxMS43LTE3Mi4zIDM0LjVsLS41IC4yek0yNTYgMjMybC0yNS4xLTEwLjVDMTg0LjEgMjAyIDEzMy45IDE5MiA4My4yIDE5Mkw0OCAxOTJjLTI2LjUgMC00OCAyMS41LTQ4IDQ4TDAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDM1LjIgMGM1MC43IDAgMTAwLjkgMTAgMTQ3LjcgMjkuNWwxMi44IDUuM2M3LjkgMy4zIDE2LjcgMy4zIDI0LjYgMGwxMi44LTUuM2M0Ni44LTE5LjUgOTctMjkuNSAxNDcuNy0yOS41bDM1LjIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE5MmMwLTI2LjUtMjEuNS00OC00OC00OGwtMzUuMiAwYy01MC43IDAtMTAwLjkgMTAtMTQ3LjcgMjkuNUwyNTYgMjMyeiJdfSxlSHQ9UGRlLHRIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnbGFzcy13YXRlci1kcm9wbGV0IixpY29uOlszODQsNTEyLFtdLCJlNGY1IiwiTTMyIDBDMjMuMSAwIDE0LjYgMy43IDguNiAxMC4yUy0uNiAyNS40IC4xIDM0LjNMMjguOSA0MzcuN2MzIDQxLjkgMzcuOCA3NC4zIDc5LjggNzQuM2wxNjYuNiAwYzQyIDAgNzYuOC0zMi40IDc5LjgtNzQuM0wzODMuOSAzNC4zYy42LTguOS0yLjQtMTcuNi04LjUtMjQuMVMzNjAuOSAwIDM1MiAwTDMyIDB6TTgzIDI5Ny41TDY2LjQgNjQgMzE3LjYgNjQgMzAxIDI5Ny41IDI4OCAzMDRjLTIwLjEgMTAuMS00My45IDEwLjEtNjQgMHMtNDMuOS0xMC4xLTY0IDAtNDMuOSAxMC4xLTY0IDBsLTEzLTYuNXpNMjU2IDE5NmMwLTI0LTMzLjctNzAuMS01Mi4yLTkzLjUtNi4xLTcuNy0xNy41LTcuNy0yMy42IDAtMTguNSAyMy40LTUyLjIgNjkuNS01Mi4yIDkzLjUgMCAzMy4xIDI4LjcgNjAgNjQgNjBzNjQtMjYuOSA2NC02MHoiXX0sRWRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvd2VyLWJyb2FkY2FzdCIsaWNvbjpbNTc2LDUxMixbImJyb2FkY2FzdC10b3dlciJdLCJmNTE5IiwiTTg3LjkgMTEuNWMtMTEuMy02LjktMjYuMS0zLjItMzMgOC4xLTI0LjggNDEtMzkgODkuMS0zOSAxNDAuNHMxNC4yIDk5LjQgMzkgMTQwLjRjNi45IDExLjMgMjEuNiAxNSAzMyA4LjFzMTUtMjEuNiA4LjEtMzNDNzUuNyAyNDEuOSA2NCAyMDIuMyA2NCAxNjBTNzUuNyA3OC4xIDk2LjEgNDQuNGM2LjktMTEuMyAzLjItMjYuMS04LjEtMzN6bTQwMC4xIDBjLTExLjMgNi45LTE1IDIxLjYtOC4xIDMzIDIwLjQgMzMuNyAzMi4xIDczLjMgMzIuMSAxMTUuNnMtMTEuNyA4MS45LTMyLjEgMTE1LjZjLTYuOSAxMS4zLTMuMiAyNi4xIDguMSAzM3MyNi4xIDMuMiAzMy04LjFjMjQuOC00MSAzOS04OS4xIDM5LTE0MC40UzU0NS44IDYwLjYgNTIxIDE5LjZjLTYuOS0xMS4zLTIxLjYtMTUtMzMtOC4xek0zMjAgMjE1LjRjMTkuMS0xMS4xIDMyLTMxLjcgMzItNTUuNCAwLTM1LjMtMjguNy02NC02NC02NHMtNjQgMjguNy02NCA2NGMwIDIzLjcgMTIuOSA0NC40IDMyIDU1LjRMMjU2IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjY0LjZ6TTE4MC4yIDkxYzcuMi0xMS4yIDMuOS0yNi03LjItMzMuMnMtMjYtMy45LTMzLjIgNy4yYy0xNy42IDI3LjQtMjcuOCA2MC0yNy44IDk1czEwLjIgNjcuNiAyNy44IDk1YzcuMiAxMS4yIDIyIDE0LjQgMzMuMiA3LjJzMTQuNC0yMiA3LjItMzMuMmMtMTIuOC0xOS45LTIwLjItNDMuNi0yMC4yLTY5czcuNC00OS4xIDIwLjItNjl6TTQzNi4yIDY1Yy03LjItMTEuMi0yMi0xNC40LTMzLjItNy4ycy0xNC40IDIyLTcuMiAzMy4yYzEyLjggMTkuOSAyMC4yIDQzLjYgMjAuMiA2OXMtNy40IDQ5LjEtMjAuMiA2OWMtNy4yIDExLjItMy45IDI2IDcuMiAzMy4yczI2IDMuOSAzMy4yLTcuMmMxNy42LTI3LjQgMjcuOC02MCAyNy44LTk1cy0xMC4yLTY3LjYtMjcuOC05NXoiXX0sYUh0PUVkZSxJZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWluaW1pemUiLGljb246WzUxMiw1MTIsWyJjb21wcmVzcy1hcnJvd3MtYWx0Il0sImY3OGMiLCJNNDU2IDIyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMTQ0YzAtOS43IDUuOC0xOC41IDE0LjgtMjIuMlMzMjIuMSAzMi4yIDMyOSAzOWw0MCA0MCA3My40LTczLjRDNDQ2IDIgNDUwLjkgMCA0NTYgMHMxMCAyIDEzLjcgNS43bDM2LjcgMzYuN0M1MTAgNDYgNTEyIDUwLjkgNTEyIDU2cy0yIDEwLTUuNyAxMy43TDQzMyAxNDMgNDczIDE4M2M2LjkgNi45IDguOSAxNy4yIDUuMiAyNi4yUzQ2NS43IDIyNCA0NTYgMjI0em0wIDY0YzkuNyAwIDE4LjUgNS44IDIyLjIgMTQuOHMxLjcgMTkuMy01LjIgMjYuMmwtNDAgNDAgNzMuNCA3My40YzMuNiAzLjYgNS43IDguNSA1LjcgMTMuN3MtMiAxMC01LjcgMTMuN2wtMzYuNyAzNi43QzQ2NiA1MTAgNDYxLjEgNTEyIDQ1NiA1MTJzLTEwLTItMTMuNy01LjdMMzY5IDQzMyAzMjkgNDczYy02LjkgNi45LTE3LjIgOC45LTI2LjIgNS4yUzI4OCA0NjUuNyAyODggNDU2bDAtMTQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE0NCAwem0tMjU2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxNDRjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtNDAtNDAtNzMuNCA3My40QzY2IDUxMCA2MS4xIDUxMiA1NiA1MTJzLTEwLTItMTMuNy01LjdMNS43IDQ2OS43QzIgNDY2IDAgNDYxLjEgMCA0NTZzMi0xMCA1LjctMTMuN0w3OSAzNjkgMzkgMzI5Yy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yUzQ2LjMgMjg4IDU2IDI4OGwxNDQgMHpNNTYgMjI0Yy05LjcgMC0xOC41LTUuOC0yMi4yLTE0LjhTMzIuMiAxODkuOSAzOSAxODNMNzkgMTQzIDUuNyA2OS43QzIgNjYgMCA2MS4xIDAgNTZTMiA0NiA1LjcgNDIuM0w0Mi4zIDUuN0M0NiAyIDUwLjkgMCA1NiAwUzY2IDIgNjkuNyA1LjdMMTQzIDc5IDE4MyAzOWM2LjktNi45IDE3LjItOC45IDI2LjItNS4yUzIyNCA0Ni4zIDIyNCA1NmwwIDE0NGMwIDEzLjMtMTAuNyAyNC0yNCAyNEw1NiAyMjR6Il19LHJIdD1JZGUsaUh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJpZ2h0LXRvLWNpdHkiLGljb246WzY0MCw1MTIsW10sImU0YjMiLCJNMjg4IDQ4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA4MCA0OCAwIDAtNzJjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDcyIDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAyODhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTI1NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTQxNnptNjQgNjRsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNMzUyIDMwNGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNzYtODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNNTEyIDMzNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNTMgMTY3bDcyIDcyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC03MiA3MmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS0xMDIuMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEwMi4xIDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMHoiXX0sc0h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhcHRvcC1tZWRpY2FsIixpY29uOls2NDAsNTEyLFtdLCJmODEyIiwiTTY0IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjQwLTY0IDAgMC0yNDAtMzg0IDAgMCAyNDAtNjQgMCAwLTI0MHpNMCA0MDMuMkMwIDM5Mi42IDguNiAzODQgMTkuMiAzODRsNjAxLjYgMGMxMC42IDAgMTkuMiA4LjYgMTkuMiAxOS4yIDAgNDIuNC0zNC40IDc2LjgtNzYuOCA3Ni44TDc2LjggNDgwQzM0LjQgNDgwIDAgNDQ1LjYgMCA0MDMuMnpNMjg4IDE2MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCA0MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDAgMCAwIDQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MHoiXX0sb0h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyZWFkLXNsaWNlIixpY29uOls1MTIsNTEyLFtdLCJmN2VjIiwiTTY0IDQzMmwwLTE3NmMtMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yMTYuNSA1MTItMjE2LjUgNTEyIDAgMCAzNS4zLTI4LjcgNjQtNjQgNjRsMCAxNzZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTI4OCAwYy0yNi41IDAtNDgtMjEuNS00OC00OHoiXX0sbkh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imdsb2JlIixpY29uOls1MTIsNTEyLFsxMjc3NjBdLCJmMGFjIiwiTTM1MS45IDI4MGwtMTkwLjkgMGMyLjkgNjQuNSAxNy4yIDEyMy45IDM3LjUgMTY3LjQgMTEuNCAyNC41IDIzLjcgNDEuOCAzNS4xIDUyLjQgMTEuMiAxMC41IDE4LjkgMTIuMiAyMi45IDEyLjJzMTEuNy0xLjcgMjIuOS0xMi4yYzExLjQtMTAuNiAyMy43LTI4IDM1LjEtNTIuNCAyMC4zLTQzLjUgMzQuNi0xMDIuOSAzNy41LTE2Ny40ek0xNjAuOSAyMzJsMTkwLjkgMEMzNDkgMTY3LjUgMzM0LjcgMTA4LjEgMzE0LjQgNjQuNiAzMDMgNDAuMiAyOTAuNyAyMi44IDI3OS4zIDEyLjIgMjY4LjEgMS43IDI2MC40IDAgMjU2LjQgMHMtMTEuNyAxLjctMjIuOSAxMi4yYy0xMS40IDEwLjYtMjMuNyAyOC0zNS4xIDUyLjQtMjAuMyA0My41LTM0LjYgMTAyLjktMzcuNSAxNjcuNHptLTQ4IDBDMTE2LjQgMTQ2LjQgMTM4LjUgNjYuOSAxNzAuOCAxNC43IDc4LjcgNDcuMyAxMC45IDEzMS4yIDEuNSAyMzJsMTExLjQgMHpNMS41IDI4MGM5LjQgMTAwLjggNzcuMiAxODQuNyAxNjkuMyAyMTcuMy0zMi4zLTUyLjItNTQuNC0xMzEuNy01Ny45LTIxNy4zTDEuNSAyODB6bTM5OC40IDBjLTMuNSA4NS42LTI1LjYgMTY1LjEtNTcuOSAyMTcuMyA5Mi4xLTMyLjcgMTU5LjktMTE2LjUgMTY5LjMtMjE3LjNsLTExMS40IDB6bTExMS40LTQ4QzUwMS45IDEzMS4yIDQzNC4xIDQ3LjMgMzQyIDE0LjcgMzc0LjMgNjYuOSAzOTYuNCAxNDYuNCAzOTkuOSAyMzJsMTExLjQgMHoiXX0sbEh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvbGRlci1taW51cyIsaWNvbjpbNTEyLDUxMixbXSwiZjY1ZCIsIk00NDggNDQ4TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwxMzguNyAwYzEzLjggMCAyNy4zIDQuNSAzOC40IDEyLjhsMzguNCAyOC44YzUuNSA0LjIgMTIuMyA2LjQgMTkuMiA2LjRMNDQ4IDgwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjQwYzAgMzUuMy0yOC43IDY0LTY0IDY0ek0xODQgMjQwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHoiXX0sY0h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hc2stZmFjZSIsaWNvbjpbNjQwLDUxMixbXSwiZTFkNyIsIk0zMjAgNjRjLTI3LjIgMC01My44IDgtNzYuNCAyMy4xbC0zNy4xIDI0LjhjLTE1LjggMTAuNS0zNC4zIDE2LjEtNTMuMyAxNi4xTDY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA3OC43YzAgNjIuNiA0NS4yIDExNiAxMDcgMTI2LjNsOTcuOSAxNi4zYzMzIDIyIDcyLjYgMzQuNyAxMTUuMSAzNC43czgyLjItMTIuOCAxMTUuMS0zNC43TDUzMyAzOTYuOWM2MS43LTEwLjMgMTA3LTYzLjcgMTA3LTEyNi4zbDAtNzguN2MwLTM1LjMtMjguNy02NC02NC02NGwtODkuMiAwYy0xOSAwLTM3LjUtNS42LTUzLjMtMTYuMUwzOTYuNCA4Ny4xQzM3My44IDcyIDM0Ny4yIDY0IDMyMCA2NHpNMTM1LjkgMzM2LjlsLTE4LjQtMy4xQzg2LjYgMzI4LjcgNjQgMzAyIDY0IDI3MC43bDAtNzguNyA0OCAwIDAgNDhjMCAzNSA4LjYgNjcuOSAyMy45IDk2Ljl6bTM4Ni42LTMuMWwtMTguNCAzLjFDNTE5LjQgMzA3LjkgNTI4IDI3NSA1MjggMjQwbDAtNDggNDggMCAwIDc4LjdjMCAzMS4zLTIyLjYgNTgtNTMuNSA2My4xek0xOTIgMjMyYzAtMTMuMyAxMC43LTI0IDI0LTI0bDIwOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yMDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTU2IDU2bDE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sZEh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvbmciLGljb246WzUxMiw1MTIsW10sImY1NWMiLCJNNDQ4LjUgMzg0YzAgNDEuNS0xMy4xIDc5LjktMzUuNSAxMTEuMy03LjkgMTEuMS0yMS4yIDE2LjctMzQuOCAxNi43bC0yNDMuMyAwYy0xMy43IDAtMjYuOS01LjYtMzQuOC0xNi43LTIyLjQtMzEuNC0zNS41LTY5LjgtMzUuNS0xMTEuMyAwLTcxLjEgMzguNi0xMzMuMSA5Ni0xNjYuM2wwLTE1My43Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgMTUzLjdjMTQuMiA4LjIgMjcuMiAxOC4yIDM4LjggMjkuNmwzOS4zLTM5LjMtNy03Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBjMTYgMTYgMzIgMzIgNDggNDggOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNy03LTQzLjMgNDMuM2MxNy4zIDI4LjkgMjcuMyA2Mi42IDI3LjMgOTguOHpNMjg4LjUgNjRsLTY0IDAgMCAxOTAuNi0zMiAxOC41Yy0xOS41IDExLjMtMzUuNyAyNy41LTQ2LjkgNDYuOWwyMjEuOCAwYy0xMS4yLTE5LjQtMjcuNC0zNS42LTQ2LjktNDYuOWwtMzItMTguNSAwLTE5MC42eiJdfSxwSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1icmlkZ2UiLGljb246WzU3Niw1MTIsW10sImU1NjMiLCJNMzIgMzJsMjA4IDAgMCA2NC0yNCAwIDAgNjQgMjQgMCAwIDEyOS4zYy00NS40IDcuNi04MCA0Ny4xLTgwIDk0LjdsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NGMwLTM4LjgtMjYuNC03Mi42LTY0LTgybDAtMTEyIDQwIDAgMC02NC04IDBDMTQuMyA5NiAwIDgxLjcgMCA2NFMxNC4zIDMyIDMyIDMyek04OCA5NmwwIDY0IDgwIDAgMC02NC04MCAwek0zMzYgMzJsNzIgMCAwIDcyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC03MiA3MiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC03MiAwIDAtNzJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA3Mi03MiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTM1MmMwLTI2LjUgMjEuNS00OCA0OC00OHptOTYgMTYwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0sTmRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLTktMSIsaWNvbjpbNTEyLDUxMixbInNvcnQtbnVtZXJpYy11cC1hbHQiXSwiZjg4NyIsIk0xNTAuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgMTQxLjMgOTYgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDYuNyA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6TTM2NS4xIDIwNi42Yy05LjYgMTQuOC01LjQgMzQuNiA5LjQgNDQuM3MzNC42IDUuNCA0NC4zLTkuNGw0Mi4xLTY0LjljMTIuNC0xOS4yIDE5LjEtNDEuNiAxOS4xLTY0LjUgMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBjMCAzNi4xIDIzLjkgNjYuNyA1Ni44IDc2LjZsLTExLjcgMTh6TTM3NiAxMTJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptNDIuNyAxODJjLTguMy02LTE5LjEtNy43LTI4LjgtNC40bC00OCAxNmMtMTYuOCA1LjYtMjUuOCAyMy43LTIwLjIgNDAuNXMyMy43IDI1LjggNDAuNSAyMC4ybDUuOS0yIDAgNTEuNi0xNiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE2IDAgMC05NmMwLTEwLjMtNC45LTE5LjktMTMuMy0yNnoiXX0sdUh0PU5kZSxmSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW91bnRhaW4tY2l0eSIsaWNvbjpbNjQwLDUxMixbXSwiZTUyZSIsIk0yNTYuMyA0OGMwLTI2LjUgMjEuNS00OCA0OC00OGw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDggNDggMCAwLTcyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA3MiAxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzIwYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC03Ny44IDBjNC0xNS40IDIuNC0zMi42LTYuNy00OC4yTDM1NC42IDI1NiAzNjguMyAyNTZjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy02LjEgMC0xMS40IDMuNC0xNC4xIDguNWwtNDIuNi03M2MtNi0xMC4yLTE0LjEtMTgtMjMuMy0yMy4zbDAtNTYuMnptNjQgNjRsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYwIDk2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bS0yNzItNjQuN2wtNjUuMSAxMTEuNiAzMy4xIDMzLjEgNDgtNDggNDAuNCAwLTU2LjQtOTYuN3ptLTI3LjYtNDcuOWMxMi4zLTIxLjIgNDIuOS0yMS4yIDU1LjMgMEw0MjAuMyA0NjMuOWMxMi40IDIxLjMtMi45IDQ4LjEtMjcuNiA0OC4xTDU2IDUxMmMtMjQuNyAwLTQwLjEtMjYuOC0yNy42LTQ4LjFMMTk2LjcgMTc1LjR6Il19LEFZPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24tOS0xIixpY29uOls1MTIsNTEyLFsic29ydC1udW1lcmljLWRlc2MiLCJzb3J0LW51bWVyaWMtZG93bi1hbHQiXSwiZjg4NiIsIk0yMzAuNiAzOTAuNmwtODAgODBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC04MC04MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAzNzAuNyA5NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzA2LjcgMjUuNC0yNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6bTEzNC41LTE4NGwxMS43LTE4Yy0zMi45LTkuOS01Ni44LTQwLjUtNTYuOC03Ni42IDAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAyMi45LTYuNiA0NS4zLTE5LjEgNjQuNWwtNDIuMSA2NC45Yy05LjYgMTQuOC0yOS40IDE5LjEtNDQuMyA5LjRzLTE5LjEtMjkuNC05LjQtNDQuM3pNNDI0IDExMmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwem0tNS4zIDE4MmM4LjMgNiAxMy4zIDE1LjcgMTMuMyAyNmwwIDk2IDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYgMCAwLTUxLjYtNS45IDJjLTE2LjggNS42LTM0LjktMy41LTQwLjUtMjAuMnMzLjUtMzQuOSAyMC4yLTQwLjVsNDgtMTZjOS44LTMuMyAyMC41LTEuNiAyOC44IDQuNHoiXX0saEh0PUFZLG1IdD1BWSxSZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLXdpZGUiLGljb246WzUxMiw1MTIsWzEyODUxNSwiZ3Jpbi1hbHQiXSwiZjU4MSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg2LjcgMzA4LjljMTEuOS0zLjcgMjMuOSA2LjMgMTkuNiAxOC4xLTIyLjQgNjEuMy04MS4zIDEwNS4xLTE1MC4zIDEwNS4xUzEyOC4xIDM4OC4yIDEwNS43IDMyNi45Yy00LjMtMTEuOCA3LjctMjEuOCAxOS42LTE4LjEgMzkuMiAxMi4yIDgzLjcgMTkuMSAxMzAuNyAxOS4xczkxLjUtNi45IDEzMC43LTE5LjF6TTIwOCAxOTJjMCAzNS4zLTE0LjMgNjQtMzIgNjRzLTMyLTI4LjctMzItNjQgMTQuMy02NCAzMi02NCAzMiAyOC43IDMyIDY0em0xMjggNjRjLTE3LjcgMC0zMi0yOC43LTMyLTY0czE0LjMtNjQgMzItNjQgMzIgMjguNyAzMiA2NC0xNC4zIDY0LTMyIDY0eiJdfSxnSHQ9UmRlLGJIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwb29wIixpY29uOls1MTIsNTEyLFtdLCJmNjE5IiwiTTI1NC40IDYuNmMzLjUtNC4zIDktNi41IDE0LjUtNS43IDQ2LjkgNi4zIDgzLjEgNDYuNSA4My4xIDk1LjEgMCAxMS4yLTEuOSAyMi01LjUgMzJsNS41IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjQgMCAxOS4xLTguNCAzNi4zLTIxLjcgNDhsMTMuNyAwYzM5LjggMCA3MiAzMi4yIDcyIDcyIDAgMjMuMi0xMSA0My44LTI4IDU3IDM0LjEgNS43IDYwIDM1LjMgNjAgNzEgMCAzOS44LTMyLjIgNzItNzIgNzJMNzIgNTEyYy0zOS44IDAtNzItMzIuMi03Mi03MiAwLTM1LjcgMjUuOS02NS4zIDYwLTcxLTE3LTEzLjItMjgtMzMuOC0yOC01NyAwLTM5LjggMzIuMi03MiA3Mi03MmwxMy43IDBjLTEzLjMtMTEuNy0yMS43LTI4LjktMjEuNy00OCAwLTM1LjMgMjguNy02NCA2NC02NGwxNi4yIDBjNDQuMS0uMSA3OS44LTM1LjkgNzkuOC04MCAwLTkuMi0xLjUtMTcuOS00LjMtMjYuMS0xLjgtNS4yLS44LTExLjEgMi44LTE1LjR6Il19LHZIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaGFybWFjaGFrcmEiLGljb246WzUxMiw1MTIsWzk3ODRdLCJmNjU1IiwiTTMzNy44IDIwNS43bDQ4LjYtNDIuNWMxMy44IDE5LjMgMjMuNCA0MS45IDI3LjQgNjYuMmwtNjQuNCA0LjNjLTIuNC0xMC4xLTYuNC0xOS41LTExLjYtMjh6bTE0MC4xIDE5LjVjLTUuMy0zOC44LTIwLjYtNzQuNS00My4yLTEwNC4zbC44LS43QzQ0OSAxMDguNCA0NDkuNyA4Ny42IDQzNyA3NXMtMzMuNC0xMi00NS4yIDEuNWwtLjcgLjhjLTI5LjgtMjIuNi02NS41LTM3LjktMTA0LjMtNDMuMmwuMS0xLjFjMS4yLTE3LjktMTMtMzMtMzAuOS0zM3MtMzIuMSAxNS4yLTMwLjkgMzNsLjEgMS4xYy0zOC44IDUuMy03NC41IDIwLjYtMTA0LjMgNDMuMmwtLjctLjhDMTA4LjQgNjMgODcuNiA2Mi4zIDc1IDc1cy0xMiAzMy40IDEuNSA0NS4ybC44IC43Yy0yMi42IDI5LjgtMzcuOSA2NS41LTQzLjIgMTA0LjNsLTEuMS0uMWMtMTcuOS0xLjItMzMgMTMtMzMgMzAuOXMxNS4yIDMyLjEgMzMgMzAuOWwxLjEtLjFjNS4zIDM4LjggMjAuNiA3NC41IDQzLjIgMTA0LjNsLS44IC43QzYzIDQwMy42IDYyLjMgNDI0LjQgNzUgNDM3czMzLjQgMTIgNDUuMi0xLjVsLjctLjhjMjkuOCAyMi42IDY1LjUgMzcuOSAxMDQuMyA0My4ybC0uMSAxLjFjLTEuMiAxNy45IDEzIDMzIDMwLjkgMzNzMzIuMS0xNS4yIDMwLjktMzNsLS4xLTEuMWMzOC44LTUuMyA3NC41LTIwLjYgMTA0LjMtNDMuMmwuNyAuOGMxMS44IDEzLjUgMzIuNSAxNC4yIDQ1LjIgMS41czEyLTMzLjQtMS41LTQ1LjJsLS44LS43YzIyLjYtMjkuOCAzNy45LTY1LjUgNDMuMi0xMDQuM2wxLjEgLjFjMTcuOSAxLjIgMzMtMTMgMzMtMzAuOXMtMTUuMi0zMi4xLTMzLTMwLjlsLTEuMSAuMXpNMTYzLjIgMTI1LjZjMTkuMy0xMy44IDQxLjktMjMuNCA2Ni4yLTI3LjVsNC4zIDY0LjRjLTEwIDIuNC0xOS41IDYuNC0yOCAxMS42bC00Mi41LTQ4LjZ6bS02NSAxMDMuOGM0LjEtMjQuNCAxMy43LTQ2LjkgMjcuNS02Ni4ybDQ4LjYgNDIuNWMtNS4zIDguNS05LjIgMTgtMTEuNiAyOGwtNjQuNC00LjN6bTI3LjUgMTE5LjRjLTEzLjgtMTkuMy0yMy40LTQxLjktMjcuNS02Ni4ybDY0LjQtNC4zYzIuNCAxMC4xIDYuNCAxOS41IDExLjYgMjhsLTQ4LjYgNDIuNXptMTAzLjggNjVjLTI0LjQtNC4xLTQ2LjktMTMuNy02Ni4yLTI3LjRsNDIuNS00OC42YzguNSA1LjMgMTggOS4yIDI4IDExLjZsLTQuMyA2NC40em0xMTkuNC0yNy40Yy0xOS4zIDEzLjgtNDEuOSAyMy40LTY2LjIgMjcuNGwtNC4zLTY0LjRjMTAtMi40IDE5LjUtNi40IDI4LTExLjZsNDIuNSA0OC42em02NS0xMDMuOGMtNC4xIDI0LjQtMTMuNyA0Ni45LTI3LjQgNjYuMmwtNDguNi00Mi41YzUuMy04LjYgOS4yLTE4IDExLjYtMjhsNjQuNCA0LjN6bS02NS0xNTYuOWwtNDIuNSA0OC42Yy04LjYtNS4zLTE4LTkuMi0yOC0xMS42bDQuMy02NC40YzI0LjQgNC4xIDQ2LjkgMTMuNyA2Ni4yIDI3LjV6TTI1NiAyMjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxGZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmF0dGVyeS1xdWFydGVyIixpY29uOls2NDAsNTEyLFsiYmF0dGVyeS0yIl0sImYyNDMiLCJNNTI4IDEyOGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyMjRjMCA4LjgtNy4yIDE2LTE2IDE2bC00MTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjI0YzAtOC44IDcuMi0xNiAxNi0xNmw0MTYgMHpNMTEyIDY0Yy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDIyNGMwIDQ0LjIgMzUuOCA4MCA4MCA4MGw0MTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsMC00OGMwLTQ0LjItMzUuOC04MC04MC04MEwxMTIgNjR6bTU2IDExMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNjQgMHoiXX0seEh0PUZkZSx5SHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5raCIsaWNvbjpbMzIwLDUxMixbOTc2NV0sImY2NDQiLCJNOTYgMTI4YzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRjMCA0MS42LTIwLjcgNzYuNi00Ni42IDEwNC4xLTUuOSA2LjItMTEuOCAxMS44LTE3LjQgMTYuNy01LjYtNC45LTExLjUtMTAuNS0xNy40LTE2LjctMjUuOS0yNy41LTQ2LjYtNjIuNi00Ni42LTEwNC4xek0xNjAgMEM4OS4zIDAgMzIgNTcuMyAzMiAxMjggMzIgMTgwLjQgNTMuNSAyMjMuNSA3OC44IDI1NkwzMiAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMCAwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwIDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQ2LjggMEMyNjYuNSAyMjMuNSAyODggMTgwLjQgMjg4IDEyOCAyODggNTcuMyAyMzAuNyAwIDE2MCAweiJdfSx3SHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGlhbW9uZCIsaWNvbjpbNTEyLDUxMixbOTgzMF0sImYyMTkiLCJNMTcgMjE1TDIxNSAxN0MyMjUuOSA2LjEgMjQwLjYgMCAyNTYgMHMzMC4xIDYuMSA0MSAxN0w0OTUgMjE1YzEwLjkgMTAuOSAxNyAyNS42IDE3IDQxcy02LjEgMzAuMS0xNyA0MUwyOTcgNDk1Yy0xMC45IDEwLjktMjUuNiAxNy00MSAxN3MtMzAuMS02LjEtNDEtMTdMMTcgMjk3QzYuMSAyODYuMSAwIDI3MS40IDAgMjU2czYuMS0zMC4xIDE3LTQxeiJdfSxNSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3Vic2NyaXB0IixpY29uOls1NzYsNTEyLFtdLCJmMTJjIiwiTTk2IDY0Qzc4LjMgNjQgNjQgNzguMyA2NCA5NnMxNC4zIDMyIDMyIDMybDE1LjMgMCA4OS42IDEyOC04OS42IDEyOC0xNS4zIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMGMxMC40IDAgMjAuMi01LjEgMjYuMi0xMy42TDI0MCAzMTEuOCAzMjUuOCA0MzQuNGM2IDguNiAxNS44IDEzLjYgMjYuMiAxMy42bDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE1LjMgMC04OS42LTEyOCA4OS42LTEyOCAxNS4zIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDBjLTEwLjQgMC0yMC4yIDUuMS0yNi4yIDEzLjZMMjQwIDIwMC4yIDE1NC4yIDc3LjZDMTQ4LjIgNjkuMSAxMzguNCA2NCAxMjggNjRMOTYgNjR6TTU0NCAzMjBjMC0xMS4xLTUuNy0yMS40LTE1LjItMjcuMnMtMjEuMi02LjQtMzEuMS0xLjRsLTMyIDE2Yy0xNS44IDcuOS0yMi4yIDI3LjEtMTQuMyA0Mi45IDUuNiAxMS4yIDE2LjkgMTcuNyAyOC42IDE3LjdsMCA4MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTI4eiJdfSxPZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicnVwZWUtc2lnbiIsaWNvbjpbNDQ4LDUxMixbODM2MCwicnVwZWUiXSwiZjE1NiIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDgwIDBjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDQgMCA1NC4zLTMwIDEwMS41LTc0LjQgMTI2LjFsNDEgMTM2LjdjNS4xIDE2LjktNC41IDM0LjgtMjEuNSAzOS44cy0zNC44LTQuNS0zOS44LTIxLjVMMTIwLjEgMzE5LjhjLTIuNyAuMS01LjQgLjItOC4xIC4ybC00OCAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NHpNNjQgMjU2bDQ4IDBjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBsLTQ4IDAgMCAxNjB6bTI4NS4xLTMybDM0LjkgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzQuOSAwYy03LjIgMC0xMy4xIDUuOS0xMy4xIDEzLjEgMCA1LjcgMy43IDEwLjcgOS4xIDEyLjVsNDkuNCAxNS45YzMxLjkgMTAuMyA1My41IDM5LjkgNTMuNSA3My40IDAgNDIuNi0zNC41IDc3LjEtNzcuMSA3Ny4xTDMyMCA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNTAuOSAwYzcuMiAwIDEzLjEtNS45IDEzLjEtMTMuMSAwLTUuNy0zLjctMTAuNy05LjEtMTIuNWwtNDkuNC0xNS45Yy0zMS45LTEwLjMtNTMuNS0zOS45LTUzLjUtNzMuNCAwLTQyLjYgMzQuNS03Ny4xIDc3LjEtNzcuMXoiXX0sa0h0PU9kZSx6SHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXJpZmxlIixpY29uOls1MTIsNTEyLFtdLCJlNTRlIiwiTTQxNiAwTDM4NCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDAgMTAwLjNjLTkuNiA1LjUtMTYgMTUuOS0xNiAyNy43bDAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTQ0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDAgMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZsNTkuNSAwYzEwLjQgMCAxOC05LjggMTUuNS0xOS45bC0yMy05Mi4xIDQ0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC00OCAwIDAtMjYuNyA1My4xLTE3LjdjNi41LTIuMiAxMC45LTguMyAxMC45LTE1LjJsMC04NC41YzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNTYtMTYgNS4zIDAtMTA5LjNjMC0xMS44LTYuNC0yMi4yLTE2LTI3LjdMNDMyIDE2YzAtOC44LTcuMi0xNi0xNi0xNnpNMjI0IDIwOEMxMTggMjA4IDMyIDI5NCAzMiA0MDBsMCA0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNDhjMC0zMi41IDEyLjEtNjIuMSAzMi04NC43bDAgMTk2LjcgMTYwIDAgMC0yOTMuMWMtMjAtNy4xLTQxLjYtMTAuOS02NC0xMC45ek0yODAgODhhNzIgNzIgMCAxIDAgLTE0NCAwIDcyIDcyIDAgMSAwIDE0NCAweiJdfSxTSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZCIsaWNvbjpbMzg0LDUxMixbMTAwXSwiNDQiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwxMjggMGMxMjMuNyAwIDIyNCAxMDAuMyAyMjQgMjI0UzI4My43IDQ4MCAxNjAgNDgwTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMCA2NHpNNjQgOTZsMCAzMjAgOTYgMGM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MFMyNDguNCA5NiAxNjAgOTZMNjQgOTZ6Il19LENIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtbmZpIixpY29uOls0NDgsNTEyLFtdLCJlNTc2IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTkzIDE3Mi4zbDM1IDYzIDAtNTEuNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTQ0YzAgMTAuOS03LjQgMjAuNS0xOCAyMy4ycy0yMS43LTItMjctMTEuNmwtMzUtNjMgMCA1MS40YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTQ0YzAtMTAuOSA3LjQtMjAuNSAxOC0yMy4yczIxLjcgMiAyNyAxMS42ek0yMDggMTg0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTU2IDAgMCAzMiA0MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00MCAwIDAgNDBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xNDR6bTE5MiAwbDAgMTQ0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6Il19LF9IdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZWV0aCIsaWNvbjpbNTEyLDUxMixbXSwiZjYyZSIsIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnpNMTQ0IDIwOGwwIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0yNGMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHptMTI4IDBsMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6TTgwIDE3NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjRjMC0xNy43LTE0LjMtMzItMzItMzJ6bTMyMCAzMmwwIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDE2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0yNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnpNNDggMzM2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2em0xNDQgNDhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4em0xMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE2YzAtOC44LTcuMi0xNi0xNi0xNmwtNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCAyNi41IDIxLjUgNDggNDggNDh6bTExMi0xNmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE2YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCAxNy43IDE0LjMgMzIgMzIgMzJ6Il19LEJkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYWduaWZ5aW5nLWdsYXNzLWRvbGxhciIsaWNvbjpbNTEyLDUxMixbInNlYXJjaC1kb2xsYXIiXSwiZjY4OCIsIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2QzI5Ni4zIDQwMS4xIDI1My45IDQxNiAyMDggNDE2IDkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwIDQxNiA5My4xIDQxNiAyMDh6TTIxMiA5NmMtMTEgMC0yMCA5LTIwIDIwbDAgNGMtMjguOCAuMy01MiAyMy43LTUyIDUyLjUgMCAyNS43IDE4LjUgNDcuNiA0My45IDUxLjhsNDEuNyA3YzYgMSAxMC40IDYuMiAxMC40IDEyLjMgMCA2LjktNS42IDEyLjUtMTIuNSAxMi41TDE2OCAyNTZjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwbDI0IDAgMCA0YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtNC43YzI1LTQuMSA0NC0yNS43IDQ0LTUxLjggMC0yNS43LTE4LjUtNDcuNi00My45LTUxLjhsLTQxLjctN2MtNi0xLTEwLjQtNi4yLTEwLjQtMTIuMyAwLTYuOSA1LjYtMTIuNSAxMi41LTEyLjVsNDcuNSAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtOCAwIDAtNGMwLTExLTktMjAtMjAtMjB6Il19LFRIdD1CZGUsTEh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImR1bXBzdGVyLWZpcmUiLGljb246WzY0MCw1MTIsW10sImY3OTQiLCJNMTY0LjMgNjRMMTM4LjcgMTkyIDU2IDE5MmMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00LjFjMC0yLjYgLjQtNS4xIDEuMi03LjZMNTguNSA4MC40QzYxLjggNzAuNiA3MSA2NCA4MS4zIDY0bDgzIDB6bTIzLjQgMTI4bDI1LjYtMTI4IDgyLjcgMCAwIDEyOC0xMDguMyAwek0zNDQgNjRsODIuNyAwIDE2IDgwYy0xNC43IC4yLTI5LjMgNS41LTQwLjkgMTUuOS0xMS41IDEwLjMtMjIuNSAyMS0zMi44IDMyLjFsLTI0LjkgMCAwLTEyOHpNOTYgMjQwbDIzMy4yIDBjLTYuNCA4LjgtMTIuMyAxNy42LTE3LjcgMjYuMy0yMS40IDM0LjctMzkuNSA3Ni4xLTM5LjUgMTE1LjggMCAxNy4xIDIuMSAzMy44IDYgNDkuOWwtMTIwLjQgMCAxLjkgMTAuM2MzLjIgMTcuNC04LjQgMzQtMjUuOCAzNy4ycy0zNC04LjQtMzcuMi0yNS44QzcxIDMxMy4zIDU4IDI0Mi4xIDU3LjcgMjQwTDk2IDI0MHptNTEyLTcyYzAgMTEtNy40IDIwLjMtMTcuNSAyMy4xLS45LS44LTEuNy0xLjYtMi42LTIuNC0yMS44LTIwLTU0LjMtMjEuOC03OC01LjUtNC4yLTQuMy04LjUtOC41LTEyLjktMTIuNmwtMjEuMy0xMDYuNiA4MyAwYzEwLjMgMCAxOS41IDYuNiAyMi44IDE2LjRsMjUuMyA3NS45Yy44IDIuNCAxLjIgNSAxLjIgNy42bDAgNC4xek01MDUuNyAyNDAuM0w1MTggMjI2LjVjNS40LTYuMSAxMy4zLTguOCAyMC45LTguOSA3LjIgMCAxNC4zIDIuNiAxOS45IDcuOCAxOS43IDE4LjMgMzkuOCA0My4yIDU1IDcwLjYgMTUuMSAyNy4yIDI2LjIgNTguMSAyNi4yIDg4LjEgMCA4OC43LTcxLjMgMTU5LjgtMTYwIDE1OS44LTg5LjYgMC0xNjAtNzEuMy0xNjAtMTU5LjggMC0zNy4zIDE2LTczLjQgMzYuOC0xMDQuNSAyMC45LTMxLjMgNDcuNS01OSA3MC45LTgwLjIgNS43LTUuMiAxMy4xLTcuNyAyMC4zLTcuNXMxMy40IDMuMiAxOC44IDcuNWMxNC40IDExLjQgMzguOSA0MC43IDM4LjkgNDAuN3pNNTQ0IDQzMi4yYzAtMzYuNS0zNy03My01NC44LTg4LjQtNS40LTQuNy0xMy4xLTQuNy0xOC41IDAtMTcuNyAxNS40LTU0LjggNTEuOS01NC44IDg4LjQgMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHoiXX0sJEh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVwbG9hZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjA5MyIsIk0yNTYgMTA5LjNMMjU2IDMyMGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIxMC43LTQxLjQgNDEuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsOTYtOTZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMjU2IDEwOS4zek0yMjQgNDAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDgwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzJjMC0zNS4zIDI4LjctNjQgNjQtNjRsODAgMGMwIDQ0LjIgMzUuOCA4MCA4MCA4MHptMTQ0IDI0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0sUFk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1zbGFzaCIsaWNvbjpbNTc2LDUxMixbNjI3MTQsInVzZXItYWx0LXNsYXNoIiwidXNlci1sYXJnZS1zbGFzaCJdLCJmNTA2IiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMMzExLjUgMjQ1LjdjNTUtMTAuOSA5Ni41LTU5LjUgOTYuNS0xMTcuNyAwLTY2LjMtNTMuNy0xMjAtMTIwLTEyMC01OC4yIDAtMTA2LjggNDEuNS0xMTcuNyA5Ni41TDQxLTI0Ljl6TTIzNS42IDMwNS40QzE0Ny45IDMxNi42IDgwIDM5MS41IDgwIDQ4Mi4zIDgwIDQ5OC43IDkzLjMgNTEyIDEwOS43IDUxMmwzMzIuNSAwLTIwNi42LTIwNi42eiJdfSxESHQ9UFksQUh0PVBZLFBIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1sZWZ0IixpY29uOls1MTIsNTEyLFs4NTkyXSwiZjA2MCIsIk05LjQgMjMzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wxMDkuMyAyODggNDgwIDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzcwLjcgMCAxMDUuNC0xMDUuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTYwIDE2MHoiXX0sRUh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpYWwtdmlydXMiLGljb246WzU3Niw1MTIsW10sImU1OTciLCJNNjQgMzJDNjQgMTQuMyA3OC4zIDAgOTYgMEwzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDE1MS43Yy0xOC41IDAtMzcgNy01MS4xIDIxLjEtMjEuNiAyMS42LTI2LjYgNTMuNi0xNSA3OS45LTI2LjkgMTAuNC00NS45IDM2LjYtNDUuOSA2Ny4xczE5IDU2LjcgNDUuOSA2Ny4xYy03LjMgMTYuNS04IDM1LjItMi4zIDUyLjItMTMuNCA1LjctMjguMiA4LjgtNDMuNiA4LjgtNjEuOSAwLTExMi01MC4xLTExMi0xMTJMOTYgNjRDNzguMyA2NCA2NCA0OS43IDY0IDMyem05NiAzMmwwIDEyOCA5NiAwIDAtMTI4LTk2IDB6TTI4MCA0MDhjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMjguOCAwIDQzLjItMzQuOCAyMi45LTU1LjItOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwYzIwLjQgMjAuNCA1NS4yIDUuOSA1NS4yLTIyLjkgMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGMwIDI4LjggMzQuOCA0My4yIDU1LjIgMjIuOSA5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjljLTIwLjQgMjAuNC01LjkgNTUuMiAyMi45IDU1LjIgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTI4LjggMC00My4yIDM0LjgtMjIuOSA1NS4yIDkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBjLTIwLjQtMjAuNC01NS4yLTUuOS01NS4yIDIyLjkgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0yOC44LTM0LjgtNDMuMi01NS4yLTIyLjktOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWMyMC40LTIwLjQgNS45LTU1LjItMjIuOS01NS4yem0xMDQtMzJhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04OCA0MGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxJSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlY2stZG91YmxlIixpY29uOlszODQsNTEyLFtdLCJmNTYwIiwiTTI0OS45IDY2LjhjMTAuNC0xNC4zIDcuMi0zNC4zLTcuMS00NC43cy0zNC4zLTcuMi00NC43IDcuMWwtMTA2IDE0NS43LTM3LjUtMzcuNWMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjNi42IDYuNiAxNS44IDEwIDI1LjEgOS4zczE3LjktNS41IDIzLjQtMTMuMWwxMjgtMTc2em0xMjggMTM2YzEwLjQtMTQuMyA3LjItMzQuMy03LjEtNDQuN3MtMzQuMy03LjItNDQuNyA3LjFsLTE3MCAyMzMuNy02OS41LTY5LjVjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzYuNiA2LjYgMTUuOCAxMCAyNS4xIDkuM3MxNy45LTUuNSAyMy40LTEzLjFsMTkyLTI2NHoiXX0sTkh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhdyIsaWNvbjpbNTEyLDUxMixbXSwiZjFiMCIsIk0yMzQuNSA5Mi45YzE0LjMgNDIuOS0uMyA4Ni4yLTMyLjYgOTYuOHMtNzAuMS0xNS42LTg0LjQtNTguNSAuMy04Ni4yIDMyLjYtOTYuOCA3MC4xIDE1LjYgODQuNCA1OC41ek0xMDAuNCAxOTguNmMxOC45IDMyLjQgMTQuMyA3MC4xLTEwLjIgODQuMXMtNTkuNy0uOS03OC41LTMzLjMtMTQuMy03MC4xIDEwLjItODQuMSA1OS43IC45IDc4LjUgMzMuM3pNNjkuMiA0MDEuMkMxMjEuNiAyNTkuOSAyMTQuNyAyMjQgMjU2IDIyNHMxMzQuNCAzNS45IDE4Ni44IDE3Ny4yYzMuNiA5LjcgNS4yIDIwLjEgNS4yIDMwLjVsMCAxLjZjMCAyNS44LTIwLjkgNDYuNy00Ni43IDQ2LjctMTEuNSAwLTIyLjktMS40LTM0LTQuMmwtODgtMjJjLTE1LjMtMy44LTMxLjMtMy44LTQ2LjYgMGwtODggMjJjLTExLjEgMi44LTIyLjUgNC4yLTM0IDQuMi0yNS44IDAtNDYuNy0yMC45LTQ2LjctNDYuN2wwLTEuNmMwLTEwLjQgMS42LTIwLjggNS4yLTMwLjV6TTQyMS44IDI4Mi43Yy0yNC41LTE0LTI5LjEtNTEuNy0xMC4yLTg0LjFzNTQtNDcuMyA3OC41LTMzLjMgMjkuMSA1MS43IDEwLjIgODQuMS01NCA0Ny4zLTc4LjUgMzMuM3pNMzEwLjEgMTg5LjdjLTMyLjMtMTAuNi00Ni45LTUzLjktMzIuNi05Ni44czUyLjEtNjkuMSA4NC40LTU4LjUgNDYuOSA1My45IDMyLjYgOTYuOC01Mi4xIDY5LjEtODQuNCA1OC41eiJdfSxFWT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWxtZXQtc2FmZXR5IixpY29uOls1NzYsNTEyLFsiaGFyZC1oYXQiLCJoYXQtaGFyZCJdLCJmODA3IiwiTTM1MiAyNjRsMC0yMDBjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMjAwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTg1LjlDOTAgMTA5LjggMzIgMTkxLjggMzIgMjg4bDAgNjQgNTEyIDAgMC02NGMtMS05NS4yLTU4LjQtMTc3LjctMTQ0LTIwOS44TDQwMCAyNjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjR6TTQwIDQwMGMtMjIuMSAwLTQwIDE3LjktNDAgNDBzMTcuOSA0MCA0MCA0MGw0OTYgMGMyMi4xIDAgNDAtMTcuOSA0MC00MHMtMTcuOS00MC00MC00MEw0MCA0MDB6Il19LFJIdD1FWSxGSHQ9RVksT0h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImUiLGljb246WzMyMCw1MTIsWzEwMV0sIjQ1IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIyNCAwIDAtMTI4IDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMCAwLTEyOCAyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnoiXX0sSGRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtbGF1Z2gtc3F1aW50IixpY29uOls1MTIsNTEyLFsibGF1Z2gtc3F1aW50Il0sImY1OWIiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTEwNy43IDMzMi4xQzEwMiAzMTggMTEzLjQgMzA0IDEyOC42IDMwNGwyNTQuOSAwYzE1LjIgMCAyNi42IDE0IDIwLjkgMjguMS0yMy44IDU4LjYtODEuMiA5OS45LTE0OC4zIDk5LjlzLTEyNC42LTQxLjMtMTQ4LjMtOTkuOXptMTUtMTg4LjhjNC41LTYuOCAxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAxOTIgMTI1LjggMTY0LjNjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjF6bTI2My42IDIxLjFMMzUzIDE5MiAzODYuMiAyMTkuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXMzLjEgMTUuOS0zLjEgMjEuMXoiXX0sQkh0PUhkZSxxZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG93bi1sZWZ0LWFuZC11cC1yaWdodC10by1jZW50ZXIiLGljb246WzUxMiw1MTIsWyJjb21wcmVzcy1hbHQiXSwiZjQyMiIsIk00MzkuNSA3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDMyIDMyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC04NyA4NyAzOSAzOWM2LjkgNi45IDguOSAxNy4yIDUuMiAyNi4yUzQ1MC4yIDI0MCA0NDAuNSAyNDBsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTE0NGMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJzMTkuMy0xLjcgMjYuMiA1LjJsMzkgMzkgODctODd6TTcyLjUgMjcybDE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTQ0YzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTM5LTM5LTg3IDg3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtMzItMzJjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDg3LTg3LTM5LTM5Yy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yUzYyLjggMjcyIDcyLjUgMjcyeiJdfSxISHQ9cWRlLHFIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnaWZ0cyIsaWNvbjpbNTc2LDUxMixbXSwiZjc5YyIsIk0yMDItMzAuNmMxMi41IDQuNCAxOSAxOC4xIDE0LjYgMzAuNmwtOC4yIDIzLjEgMjUuNC0xOC41YzEwLjctNy44IDI1LjctNS40IDMzLjUgNS4zczUuNCAyNS43LTUuMyAzMy41TDIzMy44IDY0IDI3MiA2NGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDIuMWMtNTQuNyAxMC40LTk2IDU4LjQtOTYgMTE2bDAgMS45YzAgOC45IDEgMTcuNSAyLjggMjUuOS0xMS45IDE3LjgtMTguOCAzOS4xLTE4LjggNjIuMWwwIDEyOGMwIDIzLjggNy40IDQ1LjkgMjAuMSA2NEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMTEyQzAgODUuNSAyMS41IDY0IDQ4IDY0bDM4LjIgMC0yOC4zLTIwLjZDNDcuMiAzNS42IDQ0LjggMjAuNiA1Mi42IDkuOVM3NS40LTMuMiA4Ni4xIDQuNmwyNy40IDIwLTguMy0yNUMxMDEtMTMgMTA3LjgtMjYuNiAxMjAuNC0zMC44czI2LjIgMi42IDMwLjQgMTUuMmw5LjkgMjkuOCAxMC43LTMwLjJjNC40LTEyLjUgMTguMS0xOSAzMC42LTE0LjZ6TTQ4OS45IDIwOGMtNy41IDAtMTQuNSAzLjgtMTguNiAxMC4xTDQ0Ni45IDI1NiA0ODggMjU2YzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMS45YzAtMTIuMi05LjktMjIuMS0yMi4xLTIyLjF6TTM4NS4xIDI1NmwtMjQuNC0zNy45Yy00LjEtNi4zLTExLjEtMTAuMS0xOC42LTEwLjEtMTIuMiAwLTIyLjEgOS45LTIyLjEgMjIuMWwwIDEuOWMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0MS4xIDB6TTI4MS45IDI2OC41Yy02LjMtMTAuNy05LjktMjMuMi05LjktMzYuNWwwLTEuOWMwLTM4LjcgMzEuNC03MC4xIDcwLjEtNzAuMSAyMy44IDAgNDYgMTIuMSA1OC45IDMyLjFsMTUgMjMuMiAxNS0yMy4yYzEyLjktMjAgMzUuMS0zMi4xIDU4LjktMzIuMSAzOC43IDAgNzAuMSAzMS40IDcwLjEgNzAuMWwwIDEuOWMwIDEzLjMtMy42IDI1LjgtOS45IDM2LjUgMTUuNyAxMS43IDI1LjkgMzAuNCAyNS45IDUxLjVsMCAxMjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTcyIDAgMC0yMDgtNDggMCAwIDIwOC03MiAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTEyOGMwLTIxLjEgMTAuMi0zOS44IDI1LjktNTEuNXoiXX0sVkh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJlZCIsaWNvbjpbNTc2LDUxMixbMTI4NzE2XSwiZjIzNiIsIk0zMiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDIyNCAyMjQgMCAwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxNjAgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMjI0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjQtNDQ4IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ2NS43IDAgNDQ4TDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6bTgwIDE2MGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6Il19LGpIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1iaWxsLXRyYW5zZmVyIixpY29uOls2NDAsNTEyLFtdLCJlNTI4IiwiTTMxIDEwNWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlMMTAzLTFjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC0zMSAzMSA2Ny43IDAgMCAwIDMzOC4zIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNzguMi01LjEtNS4xYy0yOC4xLTI4LjEtNzMuNy0yOC4xLTEwMS44IDAtMjcuMiAyNy4yLTI4LjEgNzAuNi0yLjggOTguOWw2Ny43IDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNzIgNzJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzEtMzEtNDA2LjEgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNzguMiA1LjEgNS4xYzI4LjEgMjguMSA3My43IDI4LjEgMTAxLjggMCAyNy4yLTI3LjIgMjguMS03MC42IDIuOC05OC45bC02Ny43IDAgMzEgMzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEwzMSAxMDV6TTQxNiAyNTZhOTYgOTYgMCAxIDAgLTE5MiAwIDk2IDk2IDAgMSAwIDE5MiAwem04OC02NC41YzQuNCAuNSA4LTMuMSA4LTcuNWwwLTQ4YzAtNC40LTMuNi04LTgtOGwtNDggMGMtNC40IDAtOC4xIDMuNi03LjUgOCAzLjYgMjkgMjYuNiA1MS45IDU1LjUgNTUuNXptLTM2OCAxMjljLTQuNC0uNS04IDMuMS04IDcuNWwwIDQ4YzAgNC40IDMuNiA4IDggOGw0OCAwYzQuNCAwIDguMS0zLjYgNy41LTgtMy42LTI5LTI2LjYtNTEuOS01NS41LTU1LjV6Il19LFZkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tcnVubmluZyIsaWNvbjpbNDQ4LDUxMixbMTI3OTM5LCJydW5uaW5nIl0sImY3MGMiLCJNMjU2LjUtMzJhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTEyMy42IDE3NmMtMy4zIDAtNi4yIDItNy40IDVMOTQuMiAyMzUuOWMtNi42IDE2LjQtMjUuMiAyNC40LTQxLjYgMTcuOHMtMjQuNC0yNS4yLTE3LjgtNDEuNmwyMS45LTU0LjlDNjcuNyAxMjkuOSA5NC4xIDExMiAxMjMuNiAxMTJsOTcuMyAwYzI4LjUgMCA1NC44IDE1LjEgNjkuMSAzOS43bDMyLjggNTYuMyA2MS42IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTYxLjYgMGMtMjIuOCAwLTQzLjgtMTIuMS01NS4zLTMxLjhsLTEwLTE3LjEtMjAuNyA3MC40IDc1LjQgMjIuNmMyNy43IDguMyA0MS44IDM5IDMwLjEgNjUuNUwyODUuNyA1MDljLTcuMiAxNi4yLTI2LjEgMjMuNC00Mi4yIDE2LjJzLTIzLjQtMjYuMS0xNi4yLTQyLjJsNDkuMi0xMTAuOC05NS45LTI4LjhjLTMyLjctOS44LTUyLTQzLjctNDMuNy03Ni44bDIyLjctOTAuNi0zNS45IDB6bS04IDE4MWMxMy4zIDE0LjkgMzAuNyAyNi4zIDUxLjIgMzIuNGw0LjcgMS40LTYuOSAxOS4zYy01LjggMTYuMy0xNiAzMC44LTI5LjMgNDEuOEw1Mi45IDUxOS44Yy0xMy42IDExLjItMzMuOCA5LjMtNDUtNC4zcy05LjMtMzMuOCA0LjMtNDVsODIuNC02Ny45YzQuNS0zLjcgNy44LTguNSA5LjgtMTMuOUwxMTUuNiAzNTd6Il19LFVIdD1WZGUsamRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1jaGV2cm9uLWRvd24iLGljb246WzUxMiw1MTIsWyJjaGV2cm9uLWNpcmNsZS1kb3duIl0sImYxM2EiLCJNMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMiAyNTYgMjU2IDAgMSAwIDAtNTEyek0xMzUgMjQxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsODcgODcgODctODdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDI3MyAzNDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDEzNSAyNDF6Il19LFdIdD1qZGUsR0h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItbnVyc2UiLGljb246WzQ0OCw1MTIsW10sImY4MmYiLCJNOTYgNDQuOWMwLTEyLjcgNy41LTI0LjIgMTkuMi0yOS4zbDk2LTQyYzguMi0zLjYgMTcuNS0zLjYgMjUuNyAwbDk2IDQyQzM0NC41IDIwLjcgMzUyIDMyLjIgMzUyIDQ0LjlsMCA5OS4xYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4Uzk2IDIxNC43IDk2IDE0NGwwLTk5LjF6TTMwNCAxMjhsLTExMS42IDAtLjQgMC00OCAwIDAgMTZjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGwwLTE2ek0yMDggMTZsMCAxNi0xNiAwYy00LjQgMC04IDMuNi04IDhsMCAxNmMwIDQuNCAzLjYgOCA4IDhsMTYgMCAwIDE2YzAgNC40IDMuNiA4IDggOGwxNiAwYzQuNCAwIDgtMy42IDgtOGwwLTE2IDE2IDBjNC40IDAgOC0zLjYgOC04bDAtMTZjMC00LjQtMy42LTgtOC04bC0xNiAwIDAtMTZjMC00LjQtMy42LTgtOC04TDIxNiA4Yy00LjQgMC04IDMuNi04IDh6TTE0Mi42IDMyM2MtNi41LTQuOS0xNS4yLTYuMi0yMi42LTIuOC02MS40IDI4LjItMTA0LjEgOTAuMi0xMDQuMSAxNjIuMSAwIDE2LjQgMTMuMyAyOS43IDI5LjcgMjkuN2wzNTYuNiAwYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43IDAtNzItNDIuNy0xMzQtMTA0LjEtMTYyLjEtNy40LTMuNC0xNi4xLTIuMS0yMi42IDIuOGwtNjcgNTAuMmMtOC41IDYuNC0yMC4zIDYuNC0yOC44IDBsLTY3LTUwLjJ6Il19LFVkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWtpc3Mtd2luay1oZWFydCIsaWNvbjpbNjQwLDUxMixbMTI4NTM2LCJraXNzLXdpbmstaGVhcnQiXSwiZjU5OCIsIk01NDMuNyAyNjguM2MuMi00LjEgLjMtOC4yIC4zLTEyLjMgMC0xNDEuNC0xMTQuNi0yNTYtMjU2LTI1NlMzMiAxMTQuNiAzMiAyNTYgMTQ2LjYgNTEyIDI4OCA1MTJjNDEuNCAwIDgwLjUtOS44IDExNS4xLTI3LjMtNy42LTE3LjEtMTYuMS0zOC44LTIxLjgtNjEuNy03LjctMzAuNS0xNC4xLTc2LjIgOC4yLTExNC43bDIuNy00LjZjMjkuNS01MSA5NC43LTY4LjUgMTQ1LjctMzkgMiAxLjIgNCAyLjQgNS45IDMuN3pNMjQwIDMwNGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OCAwIDEyLjMtNC42IDIzLjUtMTIuMiAzMiA3LjYgOC41IDEyLjIgMTkuNyAxMi4yIDMyIDAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2ek0yMDggMTc2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTUyIDIwYy0xMSAwLTIwIDktMjAgMjBzLTkgMjAtMjAgMjAtMjAtOS0yMC0yMGMwLTMzLjEgMjYuOS02MCA2MC02MGwxNiAwYzMzLjEgMCA2MCAyNi45IDYwIDYwIDAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMC05LTIwLTIwLTIwbC0xNiAwek01NDIuOCAzNTBjLTIuMi0xOC4zLTEyLjktMzQuNi0yOC45LTQzLjgtMjguMS0xNi4yLTYzLjktNi42LTgwLjEgMjEuNWwtMi43IDQuNmMtMjQuNSA0Mi41IDcuOSAxMTcuOSAyNC40IDE1MC44IDUuMSAxMC4xIDE1LjUgMTYuMSAyNi44IDE1LjUgMzYuNy0yLjIgMTE4LjItMTEuNyAxNDIuOC01NC4ybDIuNy00LjZjMTYuMi0yOC4xIDYuNi02My45LTIxLjUtODAuMS0xNi05LjItMzUuNC0xMC40LTUyLjQtMy4xbC05LjggNC4yLTEuMy0xMC42eiJdfSxZSHQ9VWRlLFpIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxsIixpY29uOls1MTIsNTEyLFtdLCJmNTc1IiwiTTI5NiA2NGM2LjkgMCAxMy41IDIuNyAxOC4zIDcuNkw0NDAuNCAxOTcuN2M0LjkgNC45IDcuNiAxMS41IDcuNiAxOC4zcy0yLjcgMTMuNS03LjYgMTguM0wzODYuNyAyODggNjUuMyAyODhjMS4zLTMuOSAzLjQtNy40IDYuMy0xMC4zbDk2LjQtOTYuNCAzMy40IDMzLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wyMTMuMyAxMzYgMjc3LjcgNzEuNmM0LjktNC45IDExLjUtNy42IDE4LjMtNy42ek0xMjIuNyAxMzZMMjYuMyAyMzIuNEM5LjUgMjQ5LjMgMCAyNzIuMSAwIDI5NnM5LjUgNDYuNyAyNi4zIDYzLjZMMTUyLjQgNDg1LjdDMTY5LjMgNTAyLjUgMTkyLjEgNTEyIDIxNiA1MTJzNDYuNy05LjUgNjMuNi0yNi4zTDQ4NS43IDI3OS42QzUwMi41IDI2Mi43IDUxMiAyMzkuOSA1MTIgMjE2cy05LjUtNDYuNy0yNi4zLTYzLjZMMzU5LjYgMjYuM0MzNDIuNyA5LjUgMzE5LjkgMCAyOTYgMHMtNDYuNyA5LjUtNjMuNiAyNi4zTDE2OCA5MC43IDExOC42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDEyMi43IDEzNnoiXX0sV2RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWJpbGwtMS13YXZlIixpY29uOls1MTIsNTEyLFsibW9uZXktYmlsbC13YXZlLWFsdCJdLCJmNTNiIiwiTTAgMTA5LjVMMCA0MTkuNmMwIDE5LjQgMTEuOCAzNy4zIDMwLjMgNDMuMyA5NCAzMCAxNTguOCA4LjQgMjIzLjMtMTMuMSA2Mi40LTIwLjggMTI0LjQtNDEuNSAyMTIuMS0xNS4zIDIyLjIgNi42IDQ2LjItOC44IDQ2LjItMzJsMC0zMTAuMWMwLTE5LjQtMTEuOC0zNy4zLTMwLjMtNDMuMy05NC0zMC0xNTguOC04LjQtMjIzLjMgMTMuMS02Mi40IDIwLjgtMTI0LjQgNDEuNS0yMTIuMSAxNS4zLTIyLjItNi42LTQ2LjMgOC44LTQ2LjMgMzJ6TTI1NiAzNjhjLTUzIDAtOTYtNTAuMS05Ni0xMTJzNDMtMTEyIDk2LTExMiA5NiA1MC4xIDk2IDExMi00MyAxMTItOTYgMTEyek0xMjcuMSA0MDUuNWMuNyA0LjQtMi44IDguMS03LjIgOC4xLTE1LjcgMC0zMi4xLTEuOC01MC02LjEtMy41LS44LTYtNC02LTcuN0w2NCAzNjBjMC00LjQgMy42LTguMSA4LTcuNSAyOC4xIDMuNSA1MC42IDI1LjIgNTUuMiA1M3pNNDQ4IDM1NC42YzAgNS00LjYgOC44LTkuNSA4LTE1LjQtMi41LTMwLjItMy45LTQ0LjQtNC4zLTQuOS0uMS04LjctNC41LTcuMi05LjIgNy4zLTIzLjcgMjgtNDEuNCA1My4yLTQ0LjYgNC40LS41IDggMy4xIDggNy41bDAgNDIuNnptLTgtMTk1LjFjLTI4LjEtMy41LTUwLjYtMjUuMi01NS4yLTUzLS43LTQuNCAyLjgtOC4xIDcuMi04LjEgMTUuNyAwIDMyLjEgMS44IDUwIDYuMSAzLjUgLjggNiA0IDYgNy43bDAgMzkuOWMwIDQuNC0zLjYgOC4xLTggNy41em0tMzIyLjEtNS44YzQuOSAuMSA4LjcgNC41IDcuMiA5LjItNy4zIDIzLjctMjggNDEuNC01My4yIDQ0LjYtNC40IC41LTgtMy4xLTgtNy41bDAtNDIuNmMwLTUgNC42LTguOCA5LjUtOCAxNS40IDIuNSAzMC4yIDMuOSA0NC40IDQuM3pNMjQwIDE4OGMtMTEgMC0yMCA5LTIwIDIwIDAgOS43IDYuOSAxNy43IDE2IDE5LjZsMCA0OC40LTQgMGMtMTEgMC0yMCA5LTIwIDIwczkgMjAgMjAgMjBsNDggMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTQgMCAwLTY4YzAtMTEtOS0yMC0yMC0yMGwtMTYgMHoiXX0sWEh0PVdkZSxLSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFuZG1hcmsiLGljb246WzUxMiw1MTIsWzEyNzk2M10sImY2NmYiLCJNMjM4LjcgNS4xYzEwLjUtNi44IDI0LjEtNi44IDM0LjYgMGwyMjQgMTQ0YzExLjkgNy43IDE3LjQgMjIuMyAxMy40IDM1LjlzLTE2LjUgMjMtMzAuNyAyM2wtMzIgMCAwIDIwOCA1MS4yIDM4LjRjOC4xIDYgMTIuOCAxNS41IDEyLjggMjUuNiAwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyIDAtMTAuMSA0LjctMTkuNiAxMi44LTI1LjZsNTEuMi0zOC40IDAgMCAwLTIwOC0zMiAwYy0xNC4yIDAtMjYuNy05LjQtMzAuNy0yM3MxLjUtMjguMyAxMy40LTM1LjlsMjI0LTE0NHpNMzM2IDIwOGwwIDIwOCA2NCAwIDAtMjA4LTY0IDB6TTIyNCA0MTZsNjQgMCAwLTIwOC02NCAwIDAgMjA4ek0xMTIgMjA4bDAgMjA4IDY0IDAgMC0yMDgtNjQgMHoiXX0sUUh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im11c2ljIixpY29uOls1MTIsNTEyLFsxMjc5MjVdLCJmMDAxIiwiTTQ2OCA3YzcuNiA2LjEgMTIgMTUuMyAxMiAyNWwwIDMwNGMwIDQ0LjItNDMgODAtOTYgODBzLTk2LTM1LjgtOTYtODAgNDMtODAgOTYtODBjMTEuMiAwIDIyIDEuNiAzMiA0LjZsMC0xMTYuNy0yMjQgNDkuOCAwIDIwNi4zYzAgNDQuMi00MyA4MC05NiA4MHMtOTYtMzUuOC05Ni04MCA0My04MCA5Ni04MGMxMS4yIDAgMjIgMS42IDMyIDQuNkwxMjggOTZjMC0xNSAxMC40LTI4IDI1LjEtMzEuMmwyODgtNjRjOS41LTIuMSAxOS40IC4yIDI3IDYuM3oiXX0sSkh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stbWVkaWNhbCIsaWNvbjpbNDQ4LDUxMixbXSwiZjdlNiIsIk05NiA1MTJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02Ni43YzE4LjYtNi42IDMyLTI0LjQgMzItNDUuM2wwLTI4OGMwLTI2LjUtMjEuNS00OC00OC00OEw5NiAwQzQzIDAgMCA0MyAwIDk2TDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZ6TTY0IDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMCAwIDY0LTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMTkyIDEyMGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCA0MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDAgMCAwIDQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MHoiXX0sR2RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNodWZmbGUiLGljb246WzUxMiw1MTIsWzEyODI1NiwicmFuZG9tIl0sImYwNzQiLCJNNDAzLjggMzQuNGMxMi01IDI1LjctMi4yIDM0LjkgNi45bDY0IDY0YzYgNiA5LjQgMTQuMSA5LjQgMjIuNnMtMy40IDE2LjYtOS40IDIyLjZsLTY0IDY0Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOVMzODQgMjA0LjkgMzg0IDE5MmwwLTMyLTMyIDBjLTEwLjEgMC0xOS42IDQuNy0yNS42IDEyLjhsLTMyLjQgNDMuMi00MC01My4zIDIxLjItMjguM0MyOTMuMyAxMTAuMiAzMjEuOCA5NiAzNTIgOTZsMzIgMCAwLTMyYzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZ6TTE1NCAyOTZsNDAgNTMuMy0yMS4yIDI4LjNDMTU0LjcgNDAxLjggMTI2LjIgNDE2IDk2IDQxNmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwYzEwLjEgMCAxOS42LTQuNyAyNS42LTEyLjhMMTU0IDI5NnpNNDM4LjYgNDcwLjZjLTkuMiA5LjItMjIuOSAxMS45LTM0LjkgNi45UzM4NCA0NjAuOSAzODQgNDQ4bDAtMzItMzIgMGMtMzAuMiAwLTU4LjctMTQuMi03Ni44LTM4LjRMMTIxLjYgMTcyLjhjLTYtOC4xLTE1LjUtMTIuOC0yNS42LTEyLjhsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzE0LjMgOTYgMzIgOTZsNjQgMGMzMC4yIDAgNTguNyAxNC4yIDc2LjggMzguNEwzMjYuNCAzMzkuMmM2IDguMSAxNS41IDEyLjggMjUuNiAxMi44bDMyIDAgMC0zMmMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42czI1LjctMi4yIDM0LjkgNi45bDY0IDY0YzYgNiA5LjQgMTQuMSA5LjQgMjIuNnMtMy40IDE2LjYtOS40IDIyLjZsLTY0IDY0eiJdfSxlcXQ9R2RlLHRxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1bmRlcmxpbmUiLGljb246WzM4NCw1MTIsW10sImYwY2QiLCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlMxMTMuNyA2NCA5NiA2NGwwIDE2MGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMlMyNzAuMyAwIDI4OCAwbDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAxNjBjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMzIgMzEyLjQgMzIgMjI0TDMyIDY0QzE0LjMgNjQgMCA0OS43IDAgMzJ6TTAgNDgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LGFxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy11c2VyIixpY29uOls2NDAsNTEyLFtdLCJlNGRhIiwiTTY0IDY0QzY0IDI4LjcgOTIuNyAwIDEyOCAwTDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTIxLjNjLTQ2LjkgMTktODAgNjUtODAgMTE4LjcgMCAyNy43IDguOCA1My40IDIzLjggNzQuNC01MS41IDIxLTg3LjggNzEuNi04Ny44IDEzMC43IDAgMSAwIDEuOSAwIDIuOWwtMTc2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDY0IDY0ek0yMDggNDAwbDAgNjQgNTMuNCAwYzcuMi0yOS40IDIxLjMtNTYuMSA0MC40LTc4LjMtNi4xLTE5LjUtMjQuMy0zMy43LTQ1LjgtMzMuNy0yNi41IDAtNDggMjEuNS00OCA0OHpNMzM5IDIyNC4zYy0xLS4yLTItLjMtMy0uM2wtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDE2LjcgMGMyLjEtMjIuOCA4LjQtNDQuMyAxOC4zLTYzLjd6TTE3NiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0xMTIgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTc2IDIyNGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0yNDAgODBhODAgODAgMCAxIDEgMTYwIDAgODAgODAgMCAxIDEgLTE2MCAwek0zNTIgNTEyYzAtNTMgNDMtOTYgOTYtOTZsOTYgMGM1MyAwIDk2IDQzIDk2IDk2IDAgMTcuNy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LHJxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb2JvdCIsaWNvbjpbNjQwLDUxMixbMTI5MzAyXSwiZjU0NCIsIk0zNTIgMGMwLTE3LjctMTQuMy0zMi0zMi0zMlMyODgtMTcuNyAyODggMGwwIDY0LTk2IDBjLTUzIDAtOTYgNDMtOTYgOTZsMCAyMjRjMCA1MyA0MyA5NiA5NiA5NmwyNTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMjI0YzAtNTMtNDMtOTYtOTYtOTZsLTk2IDAgMC02NHpNMTYwIDM2OGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwzMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0zMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMTIwIDBjMC0xMy4zIDEwLjctMjQgMjQtMjRsMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTEyMCAwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDMyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTMyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0yMjQgMTc2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnptMTQ0IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTY0IDIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDIwNi4zIDAgMjI0bDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2em01NDQtMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSxDNz17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVzIixpY29uOls0NDgsNTEyLFsxMDEzMyw2MTU0MywiYWRkIl0sIjJiIiwiTTI1NiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE2MC0xNjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNjAgMCAwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwIDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMCAwLTE2MHoiXX0saXF0PUM3LG5aPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvcHkiLGljb246WzQ0OCw1MTIsW10sImYwYzUiLCJNMTkyIDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMjU2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5MiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjAwLjZjMC0xNy40LTcuMS0zNC4xLTE5LjctNDYuMkwzNzAuNiAxNy44QzM1OC43IDYuNCAzNDIuOCAwIDMyNi4zIDBMMTkyIDB6TTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNi02NCAwIDAgMTYtMTkyIDAgMC0yNTYgMTYgMCAwLTY0LTE2IDB6Il19LHNxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGVzcy1raW5nIixpY29uOls0NDgsNTEyLFs5ODE4XSwiZjQzZiIsIk0yMjQtMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgNjQgMTUzLjggMGMyMS4xIDAgMzguMiAxNy4xIDM4LjIgMzguMiAwIDYuNC0xLjYgMTIuNy00LjcgMTguM0wzNTIgMzg0IDQwOC4yIDQ1NC4zYzUgNi4zIDcuOCAxNC4xIDcuOCAyMi4yIDAgMTkuNi0xNS45IDM1LjUtMzUuNSAzNS41TDY3LjUgNTEyYy0xOS42IDAtMzUuNS0xNS45LTM1LjUtMzUuNSAwLTguMSAyLjctMTUuOSA3LjgtMjIuMkw5NiAzODQgNC43IDIxNi42QzEuNiAyMTAuOSAwIDIwNC42IDAgMTk4LjIgMCAxNzcuMSAxNy4xIDE2MCAzOC4yIDE2MGwxNTMuOCAwIDAtNjQtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LG9xdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1mbG9vZC13YXRlciIsaWNvbjpbNjQwLDUxMixbXSwiZTUwZSIsIk00OTYgMjA4bDQuNSAwYzE1LjIgMCAyNy41LTEyLjMgMjcuNS0yNy41IDAtNy45LTMuNC0xNS41LTkuNC0yMC43TDM0OCAxMC41QzM0MC4zIDMuNyAzMzAuMyAwIDMyMCAwcy0yMC4zIDMuNy0yOCAxMC41TDEyMS40IDE1OS44Yy02IDUuMi05LjQgMTIuOC05LjQgMjAuNyAwIDE1LjIgMTIuMyAyNy41IDI3LjUgMjcuNWw0LjUgMCAwIDk0LjRjMjAuMy05LjQgNDIuMS0xNC4yIDY0LTE0LjQgMzMuMS0uMiA2Ni4zIDEwLjIgOTQuNCAzMS40IDIyLjEgMTYuNiAyOS4xIDE2LjYgNTEuMiAwIDI3LjUtMjAuNyA1OS45LTMxLjIgOTIuNC0zMS40IDE2LjktLjEgMzMuOCAyLjYgNTAgOGwwLTg4em0tMjI0LThjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQ4ek00NzQuNiA0MTIuMWMxOSAxNC40IDQxLjkgMjguMiA2Ny4yIDMzLjMgMjYuNSA1LjQgNTQuMyAuOCA4MC43LTE5LjEgMTAuNi04IDEyLjctMjMgNC43LTMzLjZzLTIzLTEyLjctMzMuNi00LjdjLTE0LjkgMTEuMi0yOC42IDEzLjEtNDIuMyAxMC4zLTE0LjktMy0zMC45LTExLjktNDcuOC0yNC42LTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yNCAxOC4xLTQwLjcgMjYuMy01NC41IDI2LjNzLTMwLjUtOC4yLTU0LjUtMjYuM2MtMzguNC0yOS05MC41LTI5LTEyOSAwLTIxLjYgMTYuMy00MS4zIDI1LjgtNTguOSAyNS43LTkuNi0uMS0xOS45LTMtMzEuMi0xMS41LTEwLjYtOC0yNS42LTUuOS0zMy42IDQuN1M3IDQxOC4zIDE3LjYgNDI2LjNjMTkuMSAxNC40IDM5LjQgMjEgNTkuOCAyMS4xIDMzLjkgLjIgNjQuMy0xNy40IDg4LjEtMzUuMyAyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMCAyNC4yIDE4LjMgNTIuMyAzNS45IDgzLjQgMzUuOXM1OS4xLTE3LjcgODMuNC0zNS45YzIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwem0tNzEuMiA5NmMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMCAxOSAxNC40IDQxLjkgMjguMiA2Ny4yIDMzLjMgMjYuNSA1LjQgNTQuMyAuOCA4MC43LTE5LjEgMTAuNi04IDEyLjctMjMgNC43LTMzLjZzLTIzLTEyLjctMzMuNi00LjdjLTE0LjkgMTEuMi0yOC42IDEzLjEtNDIuMyAxMC4zLTE0LjktMy0zMC45LTExLjktNDcuOC0yNC42LTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yNCAxOC4xLTQwLjcgMjYuMy01NC41IDI2LjNzLTMwLjUtOC4yLTU0LjUtMjYuM2MtMzguNC0yOS05MC41LTI5LTEyOSAwLTIxLjYgMTYuMy00MS4zIDI1LjgtNTguOSAyNS43LTkuNi0uMS0xOS45LTMtMzEuMi0xMS41LTEwLjYtOC0yNS42LTUuOS0zMy42IDQuN1M3IDUxNC4zIDE3LjYgNTIyLjNjMTkuMSAxNC40IDM5LjQgMjEgNTkuOCAyMS4xIDMzLjkgLjIgNjQuMy0xNy40IDg4LjEtMzUuMyAyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMCAyNC4yIDE4LjMgNTIuMyAzNS45IDgzLjQgMzUuOXM1OS4xLTE3LjcgODMuNC0zNS45eiJdfSxucXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYml0Y29pbi1zaWduIixpY29uOlszMjAsNTEyLFtdLCJlMGI0IiwiTTY0IDI0QzY0IDEwLjcgNzQuNyAwIDg4IDBzMjQgMTAuNyAyNCAyNGwwIDQwIDMyIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDEuMWM1NC4zIDcuOCA5NiA1NC40IDk2IDExMC45IDAgMjQuMi03LjcgNDYuNi0yMC43IDY0LjkgMzEuNyAxOS44IDUyLjcgNTUgNTIuNyA5NS4xIDAgNjEuOS01MC4xIDExMi0xMTIgMTEybC0xNiAwIDAgNDBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00MC0zMiAwIDAgNDBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00MC0yMi4zIDBDMTguNyA0NDggMCA0MjkuMyAwIDQwNi4zTDAgMTAxLjZDMCA4MC44IDE2LjggNjQgMzcuNiA2NEw2NCA2NCA2NCAyNHptMCAyMDBsMTEyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhsLTExMiAwIDAgOTZ6bTExMiA2NGwtMTEyIDAgMCA5NiAxNDQgMGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OGwtMzIgMHoiXX0sbHF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJveCIsaWNvbjpbNDQ4LDUxMixbMTI4MjMwXSwiZjQ2NiIsIk0zNjkuNCAxMjhsLTM0LjMtNDgtMjIyLjEgMC0zNC4zIDQ4IDI5MC43IDB6TTAgMTQ4LjVjMC0xMy4zIDQuMi0yNi4zIDExLjktMzcuMkw2MC45IDQyLjhDNzIuOSAyNiA5Mi4zIDE2IDExMi45IDE2bDIyMi4xIDBjMjAuNyAwIDQwLjEgMTAgNTIuMSAyNi44bDQ4LjkgNjguNWM3LjggMTAuOSAxMS45IDIzLjkgMTEuOSAzNy4yTDQ0OCA0MTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE0OC41eiJdfSxZZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXBsdXMiLGljb246WzQ0OCw1MTIsWzYxODQ2LCJwbHVzLXNxdWFyZSJdLCJmMGZlIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTIwMCAzNDRsMC02NC02NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDY0IDAgMC02NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNjQgNjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNjQgMCAwIDY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0eiJdfSxjcXQ9WWRlLFpkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtbGVmdC1yaWdodCIsaWNvbjpbNTc2LDUxMixbImFycm93cy1oIl0sImYwN2UiLCJNNDcwLjYgMzc0LjZsOTYtOTZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w0MS40IDQxLjQtMzU3LjUgMCA0MS40LTQxLjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTk2IDk2Yy02IDYtOS40IDE0LjEtOS40IDIyLjZzMy40IDE2LjYgOS40IDIyLjZsOTYgOTZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtNDEuNC00MS40IDM1Ny41IDAtNDEuNCA0MS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAweiJdfSxkcXQ9WmRlLHBxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYW4iLGljb246WzUxMiw1MTIsW10sImY4NjMiLCJNMTYwIDE0NGMwLTc5LjUgNjQuNS0xNDQgMTQ0LTE0NCA4LjggMCAxNiA3LjIgMTYgMTZsMCAxNTIuMmMxNS01LjMgMzEuMi04LjIgNDgtOC4yIDc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0IDAgOC44LTcuMiAxNi0xNiAxNmwtMTUyLjIgMGM1LjMgMTUgOC4yIDMxLjIgOC4yIDQ4IDAgNzkuNS02NC41IDE0NC0xNDQgMTQ0LTguOCAwLTE2LTcuMi0xNi0xNmwwLTE1Mi4yYy0xNSA1LjMtMzEuMiA4LjItNDggOC4yLTc5LjUgMC0xNDQtNjQuNS0xNDQtMTQ0IDAtOC44IDcuMi0xNiAxNi0xNmwxNTIuMiAwYy01LjMtMTUtOC4yLTMxLjItOC4yLTQ4em05NiAxNDRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSx1cXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3JvdyIsaWNvbjpbNjQwLDUxMixbXSwiZjUyMCIsIk00NTYuNSAwYy00OC42IDAtODggMzkuNC04OCA4OGwwIDM2LTM1NS4yIDI2Ni40Qy0uOCA0MDEtMy43IDQyMSA2LjkgNDM1LjJzMzAuNiAxNyA0NC44IDYuNGw3Ni44LTU3LjYgMTMxLjMgMCA0Ni42IDExMy4xIDEgMi4yYzUuNyAxMC43IDE4LjggMTUuNSAzMC4zIDEwLjhzMTcuMy0xNy4zIDEzLjktMjlsLS44LTIuMy0zOS4xLTk0LjkgNDAuOSAwYzEuMSAwIDIuMiAwIDMuMiAwbDQ2LjYgMTEzLjIgMSAyLjJjNS43IDEwLjcgMTguOCAxNS41IDMwLjMgMTAuOHMxNy4zLTE3LjMgMTMuOS0yOWwtLjgtMi4zLTQyLTEwMkM0ODUuMyAzNTQuMSA1NDQuNSAyODAgNTQ0LjUgMTkybDAtNzIgODAuNS0yMC4xYzguNi0yLjEgMTMuOC0xMC44IDExLjYtMTkuNC03LjEtMjguNS0zMi43LTQ4LjUtNjIuMS00OC41bC01MC4xIDBDNTA4LjIgMTIuNSA0ODMuOCAwIDQ1Ni41IDB6bTAgNjRhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4eiJdfSxmcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1jaXJjbGUtY2hlY2siLGljb246WzU3Niw1MTIsW10sImU1YTAiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMjIuNy0zMS41LTM2LTcwLjItMzYtMTEyIDAtMTAwLjYgNzcuNC0xODMuMiAxNzYtMTkxLjNsMC0zOC4xYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2ek01NzYgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS04Ni42LTYwLjljNy4xIDUuMiA4LjcgMTUuMiAzLjUgMjIuM2wtNjQgODhjLTIuOCAzLjgtNyA2LjItMTEuNyA2LjVzLTkuMy0xLjMtMTIuNi00LjZsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMjYuOCAyNi44IDUzLTcyLjljNS4yLTcuMSAxNS4yLTguNyAyMi40LTMuNXoiXX0sdTc9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGluay1zbGFzaCIsaWNvbjpbNTc2LDUxMixbImNoYWluLWJyb2tlbiIsImNoYWluLXNsYXNoIiwidW5saW5rIl0sImYxMjciLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTIyLTEyMmM0LjItMy40IDguMy03LjEgMTIuMS0xMC45bDcxLjEtNzEuMWMyOS4zLTI5LjMgNDUuOC02OS4xIDQ1LjgtMTEwLjYgMC04Ni40LTcwLTE1Ni41LTE1Ni41LTE1Ni41LTM3LjMgMC03My4xIDEzLjMtMTAxLjMgMzcuMiAyMC4zIDEwLjEgMzguNyAyMy41IDU0LjUgMzkuNSAxNC4xLTguMyAzMC4yLTEyLjcgNDYuOC0xMi43IDUxLjEgMCA5Mi41IDQxLjQgOTIuNSA5Mi41IDAgMjQuNS05LjcgNDgtMjcuMSA2NS40bC03MS4xIDcxLjFjLTMuOSAzLjktOC4xIDcuNC0xMi42IDEwLjVsLTQ3LjUtNDcuNWMxNi41LS45IDI5LjctMTQuNCAzMC4yLTMxLjEgMC0xLjMgMC0yLjYgMC0zLjkgMC04Ni4zLTY5LjktMTU2LjktMTU2LjUtMTU2LjktMTkuMiAwLTM3LjkgMy41LTU1LjUgMTAuMkw0MS0yNC45ek0yMjUuOSAxNjBjLjYgMCAxLjEgMCAxLjcgMCAxNS4xIDAgMjkuNSAzLjcgNDIuMSAxMC4yIDEuOCAxLjIgMy42IDIuMyA1LjUgMy4xIDI2LjggMTYuMyA0NC44IDQ1LjkgNDQuOCA3OS42IDAgLjQgMCAuOCAwIDEuMkwyMjUuOSAxNjB6TTM0Ni4yIDQxNkwxOTIgMjYxLjhjMS4yIDg0LjYgNjkuNiAxNTIuOSAxNTQuMSAxNTQuMXpNMTM5LjcgMjA5LjVsLTQ1LjMtNDUuMy00OC42IDQ4LjZjLTI5LjMgMjkuMy00NS44IDY5LjEtNDUuOCAxMTAuNiAwIDg2LjQgNzAgMTU2LjUgMTU2LjUgMTU2LjUgMzcuMiAwIDczLjEtMTMuMyAxMDEuMy0zNy4yLTIwLjMtMTAuMS0zOC44LTIzLjUtNTQuNi0zOS41LTE0IDguMi0zMC4xIDEyLjYtNDYuNyAxMi42LTUxLjEgMC05Mi41LTQxLjQtOTIuNS05Mi41IDAtMjQuNSA5LjctNDggMjcuMS02NS40bDQ4LjYtNDguNnoiXX0saHF0PXU3LG1xdD11NyxncXQ9dTcsZjc9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctcm90YXRlLXJpZ2h0IixpY29uOls1MTIsNTEyLFs4NjM1LCJhcnJvdy1yaWdodC1yb3RhdGUiLCJhcnJvdy1yb3RhdGUtZm9yd2FyZCIsInJlZG8iXSwiZjAxZSIsIk00MzYuNyA3NC43TDQ0OCA4NS40IDQ0OCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0Ny45IDAtNy42LTcuMmMtLjItLjItLjQtLjQtLjYtLjYtNzUtNzUtMTk2LjUtNzUtMjcxLjUgMHMtNzUgMTk2LjUgMCAyNzEuNSAxOTYuNSA3NSAyNzEuNSAwYzguMi04LjIgMTUuNS0xNi45IDIxLjktMjYuMSAxMC4xLTE0LjUgMzAuMS0xOCA0NC42LTcuOXMxOCAzMC4xIDcuOSA0NC42Yy04LjUgMTIuMi0xOC4yIDIzLjgtMjkuMSAzNC43LTEwMCAxMDAtMjYyLjEgMTAwLTM2MiAwUy0yNSAxNzUgNzUgNzVjOTkuOS05OS45IDI2MS43LTEwMCAzNjEuNy0uM3oiXX0sYnF0PWY3LHZxdD1mNyx4cXQ9ZjcsWGRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlbi1jbGlwIixpY29uOls1MTIsNTEyLFsicGVuLWFsdCJdLCJmMzA1IiwiTTQwNCAwYzE5LjIgMCAzNy42IDcuNiA1MS4xIDIxLjJsMzUuNyAzNS43QzUwNC40IDcwLjQgNTEyIDg4LjggNTEyIDEwOHMtNy42IDM3LjYtMjEuMiA1MS4xTDQ0NS45IDIwNCAzMDggNjYuMSAzNTIuOSAyMS4yQzM2Ni40IDcuNiAzODQuOCAwIDQwNCAwek0yNzQuMSAxMDBsMCAwIDEzNy45IDEzNy45LTIxNS4xIDIxNS4xYy0xMC43IDEwLjctMjQuMSAxOC41LTM4LjcgMjIuNkwzMC40IDUxMS4xYy04LjMgMi4zLTE3LjMgMC0yMy40LTYuMnMtOC41LTE1LjEtNi4yLTIzLjRMMzYuNCAzNTMuOGM0LjEtMTQuNiAxMS44LTI3LjkgMjIuNi0zOC43TDI0MC4xIDEzMy45IDIyMyAxMTYuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMODkgMjE3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDE1NS4xIDgyLjljMjguMS0yOC4xIDczLjctMjguMSAxMDEuOCAwTDI3NC4xIDEwMHoiXX0seXF0PVhkZSx3cXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG9vci1jbG9zZWQiLGljb246WzQ0OCw1MTIsWzEyODY4Ml0sImY1MmEiLCJNMzIgNjRDMzIgMjguNyA2MC43IDAgOTYgMEwzNTIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM4NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJMMzIgNjR6TTMyMCAyODhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxJWT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLXdpZGUtc2hvcnQiLGljb246WzU3Niw1MTIsWyJzb3J0LWFtb3VudC1hc2MiLCJzb3J0LWFtb3VudC1kb3duIl0sImYxNjAiLCJNMjQ2LjYgMzc0LjZsLTk2IDk2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtOTYtOTZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgMzcwLjcgOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMwNi43IDQxLjQtNDEuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zek0zMjAgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDB6bTAtMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDB6bTAtMTI4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNjAgMHptMC0xMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIwIDk2eiJdfSxNcXQ9SVksa3F0PUlZLHpxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXJldC1kb3duIixpY29uOlszMjAsNTEyLFtdLCJmMGQ3IiwiTTE0MC4zIDM3Ni44YzEyLjYgMTAuMiAzMS4xIDkuNSA0Mi44LTIuMmwxMjgtMTI4YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzMwMS40IDE5MiAyODguNSAxOTJsLTI1NiAwYy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44Uy43IDIzNy41IDkuOSAyNDYuNmwxMjggMTI4IDIuNCAyLjJ6Il19LFNxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJrIixpY29uOlszMjAsNTEyLFsxMDddLCI0YiIsIk0zMTEgODYuM2MxMi4zLTEyLjcgMTItMzIuOS0uNy00NS4ycy0zMi45LTEyLTQ1LjIgLjdDMTQzLjQgMTY3LjIgNzYuNCAyMzYuMyA2NCAyNDlMNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEwNyA2NC43LTY2LjcgMTMzIDE5MmMxMC4xIDE0LjUgMzAgMTguMSA0NC41IDguMXMxOC4xLTMwIDguMS00NC41TDE3NC4xIDIyNy40IDMxMSA4Ni4zeiJdfSxLZGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlY2stdG8tc2xvdCIsaWNvbjpbNTc2LDUxMixbInZvdGUteWVhIl0sImY3NzIiLCJNNTUyIDI4OGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDEwNGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMzEyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMDRjMCA4LjggNy4yIDE2IDE2IDE2bDQ0OCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTEwNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNNDE2IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0yNTYgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMOTYgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMjU2IDB6bS0zNy4xIDg0LjZjLTEwLjctNy44LTI1LjctNS40LTMzLjUgNS4zbC04NS42IDExNy43LTI2LjUtMjcuNGMtOS4yLTkuNS0yNC40LTkuOC0zMy45LS42LTkuNSA5LjItOS44IDI0LjQtLjYgMzMuOWw0Ni40IDQ4YzQuOSA1LjEgMTEuOCA3LjggMTguOSA3LjNzMTMuNi00LjEgMTcuOC05LjhMMzg0LjIgMTUwLjFjNy44LTEwLjcgNS40LTI1LjctNS4zLTMzLjV6Il19LENxdD1LZGUsX3F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpc2gtZmlucyIsaWNvbjpbNTc2LDUxMixbXSwiZTRmMiIsIk0yNzUuMiAzOC40Yy0xMC42LTgtMjUtOC41LTM2LjMtMS41UzIyMiA1Ny4zIDIyNC42IDcwLjNsOS43IDQ4LjZjLTE5LjQgOS0zNi45IDE5LjktNTIuNCAzMS41LTE1LjMgMTEuNS0yOSAyMy45LTQwLjcgMzYuM0w0OC4xIDEzMi40Yy0xMi41LTcuMy0yOC40LTUuMy0zOC43IDQuOXMtMTIuNCAyNi01LjMgMzguNkw1MCAyNTYgNC4yIDMzNi4xYy03LjIgMTIuNi01IDI4LjQgNS4zIDM4LjZzMjYuMSAxMi4yIDM4LjcgNC45bDkzLjEtNTQuM2MxMS44IDEyLjMgMjUuNCAyNC44IDQwLjcgMzYuMyAxNS41IDExLjYgMzMgMjIuNSA1Mi40IDMxLjVsLTkuNyA0OC42Yy0yLjYgMTMgMy4xIDI2LjMgMTQuMyAzMy4zczI1LjYgNi41IDM2LjMtMS41bDc3LjYtNTguMmM1NC45LTQgMTAxLjUtMjcgMTM3LjItNTMuOCAzOS4yLTI5LjQgNjcuMi02NC43IDgxLjYtODkuNSA1LjgtOS45IDUuOC0yMi4yIDAtMzIuMS0xNC40LTI0LjgtNDIuNS02MC4xLTgxLjYtODkuNS0zNS44LTI2LjgtODIuMy00OS44LTEzNy4yLTUzLjhMMjc1LjIgMzguNHpNMzg0IDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSxUcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tcHJlc3MiLGljb246WzQ0OCw1MTIsW10sImYwNjYiLCJNMTYwIDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzk2IDQ2LjMgOTYgNjRsMCA2NC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC05NnpNMzIgMzIwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY0IDAgMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJsLTk2IDB6TTM1MiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC02NHpNMzIwIDMyMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjQgNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMHoiXX0sUWRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLWEteiIsaWNvbjpbNTEyLDUxMixbInNvcnQtYWxwaGEtdXAiXSwiZjE1ZSIsIk00MTIuNiA0OS43QzQwNy4yIDM4LjggMzk2LjEgMzIgMzg0IDMycy0yMy4yIDYuOC0yOC42IDE3LjdjLTUwLjcgMTAxLjMtNzcuMyAxNTQuNy04MCAxNjAtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOXMzNSAxLjUgNDIuOS0xNC4zbDcuMi0xNC4zIDg4LjQgMCA3LjIgMTQuM2M3LjkgMTUuOCAyNy4xIDIyLjIgNDIuOSAxNC4zczIyLjItMjcuMSAxNC4zLTQyLjljLTIuNy01LjMtMjkuMy01OC43LTgwLTE2MHpNMzg0IDEzNS42bDIwLjIgNDAuNC00MC40IDAgMjAuMi00MC40ek0yODggMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDUwLjcgMC03My40IDczLjRjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45UzMwNy4xIDQ4MCAzMjAgNDgwbDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01MC43IDAgNzMuNC03My40YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ2MC45IDI4OCA0NDggMjg4bC0xMjggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTE1MC42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC04MCA4MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw5NiAxNDEuMyA5NiA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMwNi43IDI1LjQgMjUuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC04MC04MHoiXX0sTHF0PVFkZSwkcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1ncmFkdWF0ZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjUwMSIsIk0yNDEuMy0xM2MtMTEuNC0yLjMtMjMuMS0yLjMtMzQuNSAwTDE5LjMgMjQuNUM4LjEgMjYuNyAwIDM2LjYgMCA0OCAwIDU4LjMgNi41IDY3LjMgMTYgNzAuNkwxNiAxNDQgLjMgMjIyLjZjLS4yIC45LS4zIDEuOS0uMyAyLjkgMCA4IDYuNSAxNC42IDE0LjYgMTQuNmwzNC45IDBjOCAwIDE0LjYtNi41IDE0LjYtMTQuNiAwLTEtLjEtMS45LS4zLTIuOUw0OCAxNDQgNDggNzcuMyA5NiA4Ni45IDk2IDE0NGMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOHMxMjgtNTcuMyAxMjgtMTI4bDAtNTcuMSA3Ni43LTE1LjNDNDM5LjkgNjkuMyA0NDggNTkuNCA0NDggNDhzLTguMS0yMS4zLTE5LjMtMjMuNUwyNDEuMy0xM3pNMjI0IDIyNGMtNDQuMiAwLTgwLTM1LjgtODAtODBsMTYwIDBjMCA0NC4yLTM1LjggODAtODAgODB6TTEyMC4xIDMyMC4xQzU4LjcgMzQ4LjMgMTYgNDEwLjMgMTYgNDgyLjMgMTYgNDk4LjcgMjkuMyA1MTIgNDUuNyA1MTJsMTU0LjMgMCAwLTE0Ni01Ny40LTQzYy02LjUtNC45LTE1LjItNi4yLTIyLjYtMi44ek0yNDggNTEybDE1NC4zIDBjMTYuNCAwIDI5LjctMTMuMyAyOS43LTI5LjcgMC03Mi00Mi43LTEzNC0xMDQuMS0xNjIuMS03LjQtMy40LTE2LjEtMi4xLTIyLjYgMi44bC01Ny40IDQzIDAgMTQ2eiJdfSxEcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1jb2RlIixpY29uOlszODQsNTEyLFtdLCJmMWM5IiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek0xNTQuMiAyOTUuNmM4LjYtMTAuMSA3LjUtMjUuMi0yLjYtMzMuOHMtMjUuMi03LjUtMzMuOCAyLjZsLTQ4IDU2Yy03LjcgOS03LjcgMjIuMiAwIDMxLjJsNDggNTZjOC42IDEwLjEgMjMuOCAxMS4yIDMzLjggMi42czExLjItMjMuOCAyLjYtMzMuOGwtMzQuNi00MC40IDM0LjYtNDAuNHptMTEyLTMxLjJjLTguNi0xMC4xLTIzLjgtMTEuMi0zMy44LTIuNnMtMTEuMiAyMy44LTIuNiAzMy44bDM0LjYgNDAuNC0zNC42IDQwLjRjLTguNiAxMC4xLTcuNSAyNS4yIDIuNiAzMy44czI1LjIgNy41IDMzLjgtMi42bDQ4LTU2YzcuNy05IDcuNy0yMi4yIDAtMzEuMmwtNDgtNTZ6Il19LEFxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzb2FwIixpY29uOls1MTIsNTEyLFsxMjk1MzJdLCJlMDZlIiwiTTIwOC0zMmE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6TTMyMCA5NmE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHpNMzUyIDBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNOTYgMTYwbDExMiAwYzAgMjMuOCA3LjQgNDUuOSAyMC4xIDY0TDE2MCAyMjRjLTUzIDAtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTZsMTkyIDBjNTMgMCA5Ni00MyA5Ni05NiAwLTM1LjEtMTguOS02NS45LTQ3LTgyLjYgMTktMTkuOCAzMC43LTQ2LjYgMzEtNzYuMSA0NS40IDcuNiA4MCA0Ny4xIDgwIDk0LjdsMCAxMjhjMCA1My00MyA5Ni05NiA5Nkw5NiA0ODBjLTUzIDAtOTYtNDMtOTYtOTZMMCAyNTZjMC01MyA0My05NiA5Ni05NnptNjQgMTEybDE5MiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4bC0xOTIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhzMjEuNS00OCA0OC00OHoiXX0sUHF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlY3ljbGUiLGljb246WzUxMiw1MTIsWzk4NDIsOTg1MCw5ODUxXSwiZjFiOCIsIk0xNTIuMyA2MEMxOTguNS0yMCAzMTQtMjAgMzYwLjIgNjBsMzcuMyA2NC42IDI3LjctMTZjOC40LTQuOSAxOC45LTQuMiAyNi42IDEuN3MxMS4xIDE1LjkgOC42IDI1LjNMNDM2LjkgMjIzYy0zLjQgMTIuOC0xNi42IDIwLjQtMjkuNCAxN2wtODcuNC0yMy40Yy05LjQtMi41LTE2LjMtMTAuNC0xNy42LTIwczMuNC0xOS4xIDExLjgtMjMuOWwyNy43LTE2LTM3LjMtNjQuNmMtMjEuNi0zNy4zLTc1LjQtMzcuMy05NyAwbC01LjMgOS4xYy04LjggMTUuMy0yOC40IDIwLjUtNDMuNyAxMS43UzEzOC4yIDg0LjUgMTQ3IDY5LjFsNS4zLTkuMXpNNDQ5LjcgMjc5LjFjMTUuMy04LjggMzQuOS0zLjYgNDMuNyAxMS43bDUuMyA5LjFjNDYuMiA4MC0xMS41IDE4MC0xMDMuOSAxODBsLTc0LjYgMCAwIDMyYzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOWw2NC02NGM2LjktNi45IDE3LjItOC45IDI2LjItNS4yczE0LjggMTIuNSAxNC44IDIyLjJsMCAzMiA3NC42IDBjNDMuMSAwIDcwLjEtNDYuNyA0OC41LTg0bC01LjMtOS4xYy04LjgtMTUuMy0zLjYtMzQuOSAxMS43LTQzLjd6TTUxIDIzNS40bC0yNy43LTE2Yy04LjQtNC45LTEzLjEtMTQuMy0xMS44LTIzLjlzOC4yLTE3LjUgMTcuNi0yMEwxMTYuNSAxNTJjMTIuOC0zLjQgMjYgNC4yIDI5LjQgMTdsMjMuNCA4Ny40YzIuNSA5LjQtLjkgMTkuMy04LjYgMjUuM3MtMTguMiA2LjYtMjYuNiAxLjdsLTI3LjctMTYtMzcuMyA2NC42Yy0yMS42IDM3LjMgNS40IDg0IDQ4LjUgODRsMTAuNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMC42IDBDMjUuMyA0ODAtMzIuNCAzODAgMTMuOCAzMDBMNTEgMjM1LjR6Il19LEpkZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4td2luayIsaWNvbjpbNTEyLDUxMixbImdyaW4td2luayJdLCJmNThjIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0zODYuNyAzMDguOWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjEtMjIuNCA2MS4zLTgxLjMgMTA1LjEtMTUwLjMgMTA1LjFTMTI4LjEgMzg4LjIgMTA1LjcgMzI2LjljLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMXpNMzI4IDE5NmMtMTEgMC0yMCA5LTIwIDIwcy05IDIwLTIwIDIwLTIwLTktMjAtMjBjMC0zMy4xIDI2LjktNjAgNjAtNjBsMTYgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MCAwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjAtOS0yMC0yMC0yMGwtMTYgMHpNMTc2IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LEVxdD1KZGUsTlk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2F0ZXItbGFkZGVyIixpY29uOls2NDAsNTEyLFsibGFkZGVyLXdhdGVyIiwic3dpbW1pbmctcG9vbCJdLCJmNWM1IiwiTTM3NC41IDQwNS43YzM4LjQtMjkgOTAuNS0yOSAxMjkgMCAxNi45IDEyLjcgMzIuOSAyMS41IDQ3LjggMjQuNiAxMy43IDIuOCAyNy40IC45IDQyLjMtMTAuMyAxMC42LTggMjUuNi01LjkgMzMuNiA0LjdzNS44IDI1LjctNC44IDMzLjZjLTI2LjQgMTkuOS01NC4yIDI0LjQtODAuNyAxOS4xLTI1LjMtNS4xLTQ4LjEtMTguOS02Ny4yLTMzLjMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDAtMjQuMiAxOC4zLTUyLjMgMzUuOS04My40IDM1LjlzLTU5LjEtMTcuNy04My4zLTM1LjljLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAwLTIzLjggMTcuOS01NC4xIDM1LjUtODguMSAzNS4zLTIwLjQtLjEtNDAuNy02LjctNTkuOC0yMS4xLTEwLjYtOC0xMi43LTIzLTQuNy0zMy42czIzLTEyLjcgMzMuNi00LjdjMTEuMyA4LjUgMjEuNiAxMS40IDMxLjIgMTEuNSAxNy42IC4xIDM3LjMtOS40IDU4LjktMjUuNyAzOC40LTI5IDkwLjYtMjkgMTI5IDAgMjQgMTguMSA0MC43IDI2LjMgNTQuNSAyNi4zczMwLjUtOC4yIDU0LjUtMjYuM3pNNTExLjggMzJjNDguMyAwIDg5IDM2IDk1IDgzLjlsMSA4LjJjMi4yIDE3LjUtMTAuMiAzMy41LTI3LjggMzUuN3MtMzMuNS0xMC4yLTM1LjctMjcuOGwtMS04LjJjLTItMTUuOS0xNS41LTI3LjgtMzEuNS0yNy44LTE3LjUgMC0zMS44IDE0LjItMzEuOCAzMS44bDAgMjExLjhjLTIzLjEtNS4xLTQ0LjktNC40LTY0LS40bDAtNTEuMi0xOTIgMCAwIDQ4LjdjLTUuMy0uNS0xMC43LS44LTE2LS43LTE2LjIgLjEtMzIuNCAyLjctNDggOGwwLTIxNi4yYzAtNTIuOSA0Mi45LTk1LjggOTUuNy05NS44IDQ4LjMgMCA4OSAzNiA5NSA4My45bDEgOC4yYzIuMiAxNy41LTEwLjIgMzMuNS0yNy44IDM1LjdzLTMzLjUtMTAuMi0zNS43LTI3LjhsLTEtOC4yYy0yLTE1LjktMTUuNS0yNy44LTMxLjUtMjcuOC0xNy41IDAtMzEuNyAxNC4yLTMxLjcgMzEuOGwwIDk2LjIgMTkyIDAgMC05Ni4yQzQxNiA3NC45IDQ1OC45IDMyIDUxMS44IDMyeiJdfSxJcXQ9TlksTnF0PU5ZLFJxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnZW1pbmkiLGljb246WzQ0OCw1MTIsW10sImU4NDkiLCJNMzk1LjQgOGMxMy4yLTExLjcgMzMuMy0xMC41IDQ1LjEgMi43IDExLjcgMTMuMiAxMC41IDMzLjQtMi43IDQ1LjItMi43IDIuNC0yMy4xIDE5LjgtNTguMyAzNi44LTguMiA0LTE3LjIgNy45LTI3IDExLjZsMCAzMDMuMmM5LjggMy44IDE4LjggNy42IDI3IDExLjYgMTguMiA4LjggMzIuNCAxNy43IDQyLjIgMjQuNSAzIDIuMSA1LjUgNC4xIDcuNyA1LjcgMS4yIC45IDIuMyAxLjYgMy4yIDIuNCAuMiAuMSAuMyAuMiAuNSAuNCAxLjMgMS4xIDIuNCAyIDMuMiAyLjYgLjQgLjMgLjcgLjYgLjkgLjggLjEgLjEgLjMgLjIgLjMgLjMgMCAwIC4xIC4xIC4xIC4xbC4xIDAgMCAwIDAgMGMzLjMgMi45IDUuOSA2LjQgNy43IDEwLjIgNS40IDExLjMgMy44IDI1LjEtNSAzNS0uMyAuNC0uNyAuNy0xLjEgMS4xLTExLjkgMTIuMi0zMS4yIDEzLjEtNDQgMS43LS4zLS4zLTEuNS0xLjMtMy41LTIuOC0uNC0uMy0uOS0uNy0xLjUtMS4xLTEuOS0xLjQtNC4yLTMuMS03LjEtNS4xLTIuMi0xLjUtNC43LTMuMS03LjQtNC44LTYuNi00LjEtMTQuOC04LjgtMjQuNC0xMy41LTcuNC0zLjYtMTUuNi03LjItMjQuNy0xMC41LTEzLjYtNS4xLTI5LTkuNi00Ni4xLTEyLjktNS43LTEuMS0xMS42LTIuMS0xNy43LTIuOC0xMi4xLTEuNi0yNS0yLjUtMzguNi0yLjUtNTQuMiAwLTk3LjQgMTQuNC0xMjcgMjguOC0zLjQgMS42LTYuNSAzLjMtOS41IDQuOS01LjEgMi44LTkuNyA1LjQtMTMuOCA3LjktMy4zIDIuMS02LjMgNC04LjkgNS43LTEuNyAxLjItMy4yIDIuMy00LjYgMy4zLTEuOSAxLjQtMy41IDIuNS00LjYgMy40LTEuNCAxLjEtMi4yIDEuOC0yLjUgMi0xMy4yIDExLjctMzMuMyAxMC41LTQ1LjEtMi44LTIuMi0yLjUtNC01LjItNS4yLTguMXMtMi4xLTUuOS0yLjUtOC45Yy0xLjQtMTAuMiAyLjItMjAuOCAxMC40LTI4LjIgLjItLjIgLjYtLjUgMS4yLTEgLjEtLjEgLjItLjIgLjMtLjNsMy4yLTIuNmMxLjctMS4zIDMuNy0yLjggNi4yLTQuNiAxLjYtMS4yIDMuMy0yLjUgNS4yLTMuOCA5LjgtNi44IDI0LTE1LjcgNDIuMi0yNC41IDguMi00IDE3LjItNy45IDI3LTExLjZsMC0zMDMuMkM4Ni43IDEwMC42IDc3LjcgOTYuNyA2OS41IDkyLjggMzQuMyA3NS43IDE0IDU4LjMgMTEuMyA1NS45LTEuOSA0NC4yLTMuMSAyNCA4LjYgMTAuNyAyMC4zLTIuNSA0MC41LTMuNyA1My43IDggNTUuMSA5LjIgNzAuNyAyMi4yIDk3LjUgMzUuMiAxMjcuMSA0OS42IDE3MC4zIDY0IDIyNC41IDY0czk3LjQtMTQuNCAxMjctMjguOGMyNi44LTEzIDQyLjQtMjYgNDMuOC0yNy4yek0yODguNSAxMjIuM2MtMTkuNyAzLjUtNDEgNS43LTY0IDUuN3MtNDQuMy0yLjItNjQtNS43bDAgMjY3LjRjMTIuNi0yLjMgMjUuOS00IDM5LjktNC45IDcuOC0uNSAxNS44LS44IDI0LS44IDIzIDAgNDQuNCAyLjIgNjQgNS43bDAtMjY3LjR6Il19LEZxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b3dlci1jZWxsIixpY29uOls1NzYsNTEyLFtdLCJlNTg1IiwiTTU5LjYgOS44QzQ3LjMgNC44IDMzLjMgMTAuNyAyOC40IDIzIDE1LjIgNTUuNSA4IDkwLjkgOCAxMjhzNy4yIDcyLjUgMjAuNCAxMDVjNSAxMi4zIDE5IDE4LjIgMzEuMyAxMy4yczE4LjItMTkgMTMuMi0zMS4zQzYyIDE4OC4yIDU2IDE1OC44IDU2IDEyOHM2LTYwLjIgMTYuOS04N2M1LTEyLjMtMS0yNi4zLTEzLjItMzEuM3ptNDU2LjggMGMtMTIuMyA1LTE4LjIgMTktMTMuMiAzMS4zIDEwLjkgMjYuOCAxNi45IDU2LjIgMTYuOSA4N3MtNiA2MC4yLTE2LjkgODdjLTUgMTIuMyAxIDI2LjMgMTMuMiAzMS4zczI2LjMtMSAzMS4zLTEzLjJjMTMuMS0zMi41IDIwLjQtNjcuOSAyMC40LTEwNXMtNy4yLTcyLjUtMjAuNC0xMDVjLTUtMTIuMy0xOS0xOC4yLTMxLjMtMTMuMnpNMzQwLjEgMTY1LjJjNy41LTEwLjUgMTEuOS0yMy4zIDExLjktMzcuMiAwLTM1LjMtMjguNy02NC02NC02NHMtNjQgMjguNy02NCA2NGMwIDEzLjkgNC40IDI2LjcgMTEuOSAzNy4yTDk4LjkgNDY2LjhjLTcuMyAxNi4xLS4yIDM1LjEgMTUuOSA0Mi40czM1LjEgLjIgNDIuNC0xNS45bDIwLjYtNDUuMiAyMjAuNiAwIDIwLjYgNDUuMmM3LjMgMTYuMSAyNi4zIDIzLjIgNDIuNCAxNS45czIzLjItMjYuMyAxNS45LTQyLjRMMzQwLjEgMTY1LjJ6TTM3Ni41IDQwMGwtMTc3IDAgMjEuOC00OCAxMzMuMyAwIDIxLjggNDh6TTI4OCAyMDUuM2w0NC44IDk4LjctODkuNyAwIDQ0LjgtOTguN3pNMTYzLjMgNzMuNmM1LjMtMTIuMS0uMi0yNi4zLTEyLjQtMzEuNnMtMjYuMyAuMi0zMS42IDEyLjRDMTA5LjUgNzcgMTA0IDEwMS45IDEwNCAxMjhzNS41IDUxIDE1LjMgNzMuNmM1LjMgMTIuMSAxOS41IDE3LjcgMzEuNiAxMi40czE3LjctMTkuNSAxMi40LTMxLjZDMTU2IDE2NS44IDE1MiAxNDcuNCAxNTIgMTI4czQtMzcuOCAxMS4zLTU0LjR6TTQ1Ni43IDU0LjRjLTUuMy0xMi4xLTE5LjUtMTcuNy0zMS42LTEyLjRzLTE3LjcgMTkuNS0xMi40IDMxLjZDNDIwIDkwLjIgNDI0IDEwOC42IDQyNCAxMjhzLTQgMzcuOC0xMS4zIDU0LjRjLTUuMyAxMi4xIC4yIDI2LjMgMTIuNCAzMS42czI2LjMtLjIgMzEuNi0xMi40QzQ2Ni41IDE3OSA0NzIgMTU0LjEgNDcyIDEyOHMtNS41LTUxLTE1LjMtNzMuNnoiXX0sT3F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbG9uLXNpZ24iLGljb246WzM4NCw1MTIsW10sImUxNDAiLCJNMjEzLjggOC43YzEyLjkgMy4yIDIwLjcgMTYuMiAxNy41IDI5LjFsLTQuNiAxOC41YzE1LjQgLjggMzAuNCAzLjQgNDQuNyA3LjVsOS40LTM3LjZDMjgzLjkgMTMuMyAyOTcgNS41IDMwOS44IDguN1MzMzAuNSAyNSAzMjcuMyAzNy44TDMxNiA4Mi44YzEzLjUgNy44IDI2IDE3LjEgMzcuMiAyNy44IDEyLjkgMTIuMSAxMy40IDMyLjQgMS4zIDQ1LjJzLTMyLjQgMTMuNC00NS4yIDEuM2MtMy4xLTIuOS02LjQtNS44LTkuOC04LjRMMjM5LjIgMzkwYzI2LjktNC42IDUxLjEtMTcuMSA3MC4xLTM1LjEgMTIuOS0xMi4xIDMzLjEtMTEuNSA0NS4yIDEuM3MxMS41IDMzLjEtMS4zIDQ1LjJjLTM0LjMgMzIuMy04MCA1Mi44LTEzMC41IDU0LjRsLTcuNSAyOS45Yy0zLjIgMTIuOS0xNi4yIDIwLjctMjkuMSAxNy41cy0yMC43LTE2LjItMTcuNS0yOS4xbDUuNi0yMi41Yy0xNS0zLjItMjkuNC04LTQyLjktMTQuNGwtMTIuMSA0OC41Yy0zLjIgMTIuOS0xNi4yIDIwLjctMjkuMSAxNy41UzY5LjUgNDg3IDcyLjcgNDc0LjJsMTYtNjMuOUM0NC4zIDM3My42IDE2IDMxOC4xIDE2IDI1NiAxNiAxNTkuMiA4NC44IDc4LjQgMTc2LjMgNjBsOC40LTMzLjhDMTg3LjkgMTMuMyAyMDEgNS41IDIxMy44IDguN3pNMTU4IDEzMi45Yy00Ni4xIDIxLjgtNzggNjguNy03OCAxMjMuMSAwIDMwLjUgMTAgNTguNiAyNi45IDgxLjNMMTU4IDEzMi45ek0xNDcuNCAzNzMuNGMxMyA3LjYgMjcuMyAxMy4xIDQyLjUgMTYuMWw2NS45LTI2My42Yy0xMi42LTMuOC0yNS45LTUuOS0zOS44LTUuOS0xLjggMC0zLjUgMC01LjMgLjFMMTQ3LjQgMzczLjR6Il19LEJxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsYXB0b3AtZmlsZSIsaWNvbjpbNTc2LDUxMixbXSwiZTUxZCIsIk02NCA2NEM2NCAyOC43IDkyLjcgMCAxMjggMEw0MTYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDQ4LTY0IDAgMC00OC0yODggMCAwIDE5MiAxMTIgMCAwIDk2LTE2My4yIDBDMzQuNCAzNTIgMCAzMTcuNiAwIDI3NS4yIDAgMjY0LjYgOC42IDI1NiAxOS4yIDI1Nkw2NCAyNTYgNjQgNjR6TTUyOS45IDI1Ny45YzkgOSAxNC4xIDIxLjIgMTQuMSAzMy45TDU0NCA0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTE2MCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTI1NmMwLTI2LjUgMjEuNS00OCA0OC00OGw3Ni4xIDBjMTIuNyAwIDI0LjkgNS4xIDMzLjkgMTQuMSAyMCAyMCA0Ny45IDQ3LjkgODMuOSA4My45ek00MTYgMjcyYzAgOC44IDcuMiAxNiAxNiAxNmw2MC4xIDAtNzYuMS03Ni4xIDAgNjAuMXoiXX0sZTZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhaGFpIixpY29uOls1NzYsNTEyLFsiaGF5a2FsIl0sImY2NjYiLCJNMjg4LjQtOGMxMy4yIDAgMjUgOC4xIDI5LjggMjAuNGwzMS45IDgyIDc3LjItNDIuM2MxMS42LTYuMyAyNS44LTQuOSAzNS45IDMuNXMxNCAyMi4zIDkuNyAzNC44bC0yOC4yIDgzLjMgODYuMyAxNy4yYzEyLjkgMi42IDIzIDEyLjggMjUuMyAyNS44cy0zLjYgMjYuMS0xNC45IDMyLjlsLTc1LjIgNDUuNyA1NSA2OC42YzguMyAxMC4zIDkuMyAyNC42IDIuNyAzNnMtMTkuNSAxNy42LTMyLjYgMTUuNmwtODctMTMuMy0yIDg4Yy0uMyAxMy4yLTguNiAyNC44LTIxIDI5LjRzLTI2LjMgMS0zNS05bC01OC02Ni4xLTU4IDY2LjFjLTguNyA5LjktMjIuNiAxMy41LTM1IDlzLTIwLjgtMTYuMi0yMS0yOS40bC0yLTg4LTg3IDEzLjNjLTEzIDItMjYtNC4yLTMyLjYtMTUuNnMtNS41LTI1LjcgMi43LTM2bDU1LTY4LjYtNzUuMi00NS43Yy0xMS4zLTYuOC0xNy4yLTE5LjktMTQuOS0zMi45czEyLjMtMjMuMiAyNS4zLTI1LjhsODYuMy0xNy4yLTI4LjItODMuM2MtNC4yLTEyLjUtLjQtMjYuMyA5LjctMzQuOHMyNC40LTkuOSAzNS45LTMuNWw3Ny4xIDQyLjMgMzEuOS04MkMyNjMuMyAuMSAyNzUuMi04IDI4OC40LTh6bTAgMTIwLjJMMjczIDE1MS42Yy0zLjMgOC42LTEwLjIgMTUuMy0xOC45IDE4LjVzLTE4LjIgMi40LTI2LjMtMmwtMzctMjAuMyAxMy42IDQwYzMgOC43IDIgMTguMy0yLjYgMjYuM3MtMTIuNCAxMy42LTIxLjUgMTUuNGwtNDEuNCA4LjMgMzYuMSAyMS45YzcuOSA0LjggMTMuMyAxMi43IDE0LjkgMjEuOHMtLjggMTguNC02LjUgMjUuNmwtMjYuNCAzMyA0MS44LTYuNGM5LjEtMS40IDE4LjQgMS4yIDI1LjQgNy4xczExLjIgMTQuNiAxMS40IDIzLjhsLjkgNDIuMiAyNy45LTMxLjhjNi4xLTYuOSAxNC44LTEwLjkgMjQuMS0xMC45czE4IDQgMjQuMSAxMC45bDI3LjkgMzEuOCAuOS00Mi4yYy4yLTkuMiA0LjQtMTcuOSAxMS40LTIzLjhzMTYuMy04LjUgMjUuNC03LjFsNDEuOCA2LjQtMjYuNC0zM2MtNS44LTcuMi04LjItMTYuNS02LjYtMjUuNnM3LTE3IDE0LjktMjEuOGwzNi4xLTIxLjktNDEuNC04LjNjLTktMS44LTE2LjktNy40LTIxLjUtMTUuNHMtNS41LTE3LjYtMi42LTI2LjNsMTMuNi00MC0zNyAyMC4zYy04LjEgNC40LTE3LjcgNS4yLTI2LjMgMnMtMTUuNS05LjktMTguOS0xOC41bC0xNS4zLTM5LjR6Il19LEhxdD1lNmUsdDZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWJpbGwtMSIsaWNvbjpbNTEyLDUxMixbIm1vbmV5LWJpbGwtYWx0Il0sImYzZDEiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6bTE5MiA4MGExMTIgMTEyIDAgMSAxIDAgMjI0IDExMiAxMTIgMCAxIDEgMC0yMjR6TTY0IDE4NGwwLTQ4YzAtNC40IDMuNi04IDgtOGw0OCAwYzQuNCAwIDguMSAzLjYgNy41IDgtMy42IDI5LTI2LjYgNTEuOS01NS41IDU1LjUtNC40IC41LTgtMy4xLTgtNy41em0wIDE0NGMwLTQuNCAzLjYtOC4xIDgtNy41IDI5IDMuNiA1MS45IDI2LjYgNTUuNSA1NS41IC41IDQuNC0zLjEgOC03LjUgOGwtNDggMGMtNC40IDAtOC0zLjYtOC04bDAtNDh6TTQ0MCAxOTEuNWMtMjktMy42LTUxLjktMjYuNi01NS41LTU1LjUtLjUtNC40IDMuMS04IDcuNS04bDQ4IDBjNC40IDAgOCAzLjYgOCA4bDAgNDhjMCA0LjQtMy42IDguMS04IDcuNXpNNDQ4IDMyOGwwIDQ4YzAgNC40LTMuNiA4LTggOGwtNDggMGMtNC40IDAtOC4xLTMuNi03LjUtOCAzLjYtMjkgMjYuNi01MS45IDU1LjUtNTUuNSA0LjQtLjUgOCAzLjEgOCA3LjV6TTI0MCAxODhjLTExIDAtMjAgOS0yMCAyMCAwIDkuNyA2LjkgMTcuNyAxNiAxOS42bDAgNDguNC00IDBjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwbDQ4IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC00IDAgMC02OGMwLTExLTktMjAtMjAtMjBsLTE2IDB6Il19LHFxdD10NmUsYTZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkLWJvbHQiLGljb246WzUxMiw1MTIsWzEyNzc4NSwidGh1bmRlcnN0b3JtIl0sImY3NmMiLCJNMCAyMjRjMCA1MyA0MyA5NiA5NiA5NmwzOC42IDAgMTI0LjEtMTExYzEyLjItMTAuOSAyOC0xNyA0NC40LTE3IDQ0LjYgMCA3Ni41IDQzIDYzLjcgODUuN0wzNTQuMSAzMjAgNDE2IDMyMGM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NmMtLjUgMC0xLjEgMC0xLjYgMCAxLjEtNS4yIDEuNi0xMC41IDEuNi0xNiAwLTQ0LjItMzUuOC04MC04MC04MC0yNC4zIDAtNDYuMSAxMC45LTYwLjggMjgtMTguNy0zNS43LTU2LjEtNjAtOTkuMi02MC02MS45IDAtMTEyIDUwLjEtMTEyIDExMiAwIDcuMSAuNyAxNC4xIDEuOSAyMC44LTM4LjMgMTIuNi02NS45IDQ4LjctNjUuOSA5MS4yek0xNjAuNiA0MDBsNjEuOCAwLTMxLjIgMTA0LjFjLTMuNiAxMS45IDUuMyAyMy45IDE3LjggMjMuOSA0LjYgMCA5LTEuNyAxMi40LTQuN0wzNjIuNSAzOTYuOWMzLjUtMy4xIDUuNS03LjYgNS41LTEyLjQgMC05LjItNy40LTE2LjYtMTYuNi0xNi42bC02MS44IDAgMzEuMi0xMDQuMWMzLjYtMTEuOS01LjMtMjMuOS0xNy44LTIzLjktNC42IDAtOSAxLjctMTIuNCA0LjdMMTQ5LjUgMzcxLjFjLTMuNSAzLjEtNS41IDcuNi01LjUgMTIuNCAwIDkuMiA3LjQgMTYuNiAxNi42IDE2LjZ6Il19LFZxdD1hNmUsanF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImV0aGVybmV0IixpY29uOls1MTIsNTEyLFtdLCJmNzk2IiwiTTAgMjI0TDAgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDAgMC0xMDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEwNCA2NCAwIDAtMTA0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMDQgNjQgMCAwLTEwNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTA0IDY0IDAgMC0xMDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEwNCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJsLTMyIDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMkwxNjAgNjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzItMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMi0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnoiXX0scjZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhyeXZuaWEtc2lnbiIsaWNvbjpbMzg0LDUxMixbODM3MiwiaHJ5dm5pYSJdLCJmNmYyIiwiTTMzNiAxNDkuNEMzMzYgNzcgMjY4LjUgMjMuNSAxOTggNDAuMUw5My4yIDY0LjlDNzYgNjguOSA2NS40IDg2LjIgNjkuNCAxMDMuNHMyMS4zIDI3LjkgMzguNSAyMy44bDEwNC44LTI0LjdjMzAuMy03LjEgNTkuMyAxNS44IDU5LjMgNDYuOSAwIDE3LjYtOS42IDMzLjgtMjUgNDIuM2wtLjcgLjQtMjIyLjMgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMzIuNCAwYzUuNS0xMy4zIDguNC0yNy44IDguNC00Mi42ek0zNjAgMjcyTDI0IDI3MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMy4zIDBjLTYuMSAxMy40LTkuMyAyOC4xLTkuMyA0My4zIDAgNjQuMSA1Ni45IDExMy40IDEyMC40IDEwNC4ybDEzNy45LTE5LjljMTcuNS0yLjUgMjkuNi0xOC43IDI3LjEtMzYuMnMtMTguOC0yOS42LTM2LjItMjcuMUwxNTkuMiA0MDQuMmMtMjQuOSAzLjYtNDcuMi0xNS43LTQ3LjItNDAuOSAwLTE1LjEgOC4yLTI4LjkgMjEuNC0zNi4ybDEzLTcuMSAyMTMuNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0eiJdfSxVcXQ9cjZlLGxaPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImV5ZS1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZjA3MCIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC05Ni40LTk2LjRjMi43LTIuNCA1LjQtNC44IDgtNy4yIDQ2LjgtNDMuNSA3OC4xLTk1LjQgOTMtMTMxLjEgMy4zLTcuOSAzLjMtMTYuNyAwLTI0LjYtMTQuOS0zNS43LTQ2LjItODcuNy05My0xMzEuMS00Ny4xLTQzLjctMTExLjgtODAuNi0xOTIuNi04MC42LTU2LjggMC0xMDUuNiAxOC4yLTE0NiA0NC4yTDQxLTI0Ljl6TTIwNC41IDEzOC43YzIzLjUtMTYuOCA1Mi40LTI2LjcgODMuNS0yNi43IDc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0IDAgMzEuMS05LjkgNTkuOS0yNi43IDgzLjVsLTM0LjctMzQuN2MxMi43LTIxLjQgMTctNDcuNyAxMC4xLTczLjctMTMuNy01MS4yLTY2LjQtODEuNi0xMTcuNi02Ny45LTguNiAyLjMtMTYuNyA1LjctMjQgMTBsLTM0LjctMzQuN3pNMzI1LjMgMzk1LjFjLTExLjkgMy4yLTI0LjQgNC45LTM3LjMgNC45LTc5LjUgMC0xNDQtNjQuNS0xNDQtMTQ0IDAtMTIuOSAxLjctMjUuNCA0LjktMzcuM0w2OS40IDEzOS4yYy0zMi42IDM2LjgtNTUgNzUuOC02Ni45IDEwNC41LTMuMyA3LjktMy4zIDE2LjcgMCAyNC42IDE0LjkgMzUuNyA0Ni4yIDg3LjcgOTMgMTMxLjEgNDcuMSA0My43IDExMS44IDgwLjYgMTkyLjYgODAuNiAzNy4zIDAgNzEuMi03LjkgMTAxLjUtMjAuNmwtNjQuMi02NC4yeiJdfSxpNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FydC1mbGF0YmVkLXN1aXRjYXNlIixpY29uOls1NzYsNTEyLFsibHVnZ2FnZS1jYXJ0Il0sImY1OWQiLCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMNDggMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsNDAwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTM0LjcgMGMxLjggNSAyLjcgMTAuNCAyLjcgMTYgMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhjMC01LjYgMS0xMSAyLjctMTZsLTE5Ny41IDBjMS44IDUgMi43IDEwLjQgMi43IDE2IDAgMjYuNS0yMS41IDQ4LTQ4IDQ4cy00OC0yMS41LTQ4LTQ4YzAtNiAxLjEtMTEuNyAzLjEtMTctMzguMS02LjItNjcuMS0zOS4yLTY3LjEtNzlMNjQgODBjMC04LjgtNy4yLTE2LTE2LTE2TDMyIDY0QzE0LjMgNjQgMCA0OS43IDAgMzJ6TTE3NiAxNDRjMC0yNi41IDIxLjUtNDggNDgtNDhsMzIgMCAwLTI0YzAtMzAuOSAyNS4xLTU2IDU2LTU2bDY0IDBjMzAuOSAwIDU2IDI1LjEgNTYgNTZsMCAyNCAzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTQ0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0yNDAgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNDR6TTM4NCA5NmwwLTI0YzAtNC40LTMuNi04LTgtOGwtNjQgMGMtNC40IDAtOCAzLjYtOCA4bDAgMjQgODAgMHoiXX0sV3F0PWk2ZSxHcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmFkaWF0aW9uIixpY29uOls1NzYsNTEyLFtdLCJmN2I5IiwiTTQ0Ni4yIDM0LjVjLTE0LjItMTAuMS0zMy41LTQuNi00Mi4yIDEwLjVMMzMxLjYgMTcwLjNjMzEuMyAxNS44IDUyLjggNDguMyA1Mi44IDg1LjdsMTQ0IDBjMTcuNyAwIDMyLjItMTQuNCAzMC4xLTMxLjktOS4xLTc4LjEtNTEuNC0xNDYuMS0xMTIuMy0xODkuNnpNMTcyLjcgNDQuOUMxNjQgMjkuOCAxNDQuNyAyNC4zIDEzMC41IDM0LjUgNjkuNiA3Ny45IDI3LjMgMTQ1LjkgMTguMiAyMjQuMSAxNi4xIDI0MS42IDMwLjcgMjU2IDQ4LjMgMjU2bDE0NCAwYzAtMzcuNSAyMS41LTY5LjkgNTIuOC04NS43TDE3Mi43IDQ0Ljl6bS05LjQgNDE2LjhjLTguNyAxNS4xLTMuOCAzNC41IDEyIDQxLjggMzQuNCAxNS43IDcyLjcgMjQuNSAxMTMgMjQuNXM3OC42LTguOCAxMTMtMjQuNWMxNS44LTcuMiAyMC43LTI2LjcgMTItNDEuOEwzNDEgMzM2LjNjLTE1LjEgOS45LTMzLjIgMTUuNy01Mi42IDE1LjdzLTM3LjUtNS44LTUyLjYtMTUuN0wxNjMuMyA0NjEuN3pNMjg4LjMgMzA0YTQ4IDQ4IDAgMSAwIC0uNy05NiA0OCA0OCAwIDEgMCAuNyA5NnoiXX0sWXF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtd29yZCIsaWNvbjpbMzg0LDUxMixbXSwiZjFjMiIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNMTM1LjQgMjc0LjhjLTIuOS0xMi45LTE1LjctMjEuMS0yOC42LTE4LjJzLTIxLjEgMTUuNy0xOC4yIDI4LjZsMzIgMTQ0YzIuMyAxMC41IDExLjQgMTguMiAyMi4yIDE4LjhzMjAuNi02LjEgMjQtMTYuNGwyNS4yLTc1LjcgMjUuMiA3NS43YzMuNCAxMC4yIDEzLjIgMTYuOSAyNCAxNi40czE5LjktOC4yIDIyLjItMTguOGwzMi0xNDRjMi45LTEyLjktNS4zLTI1LjgtMTguMi0yOC42cy0yNS44IDUuMy0yOC42IDE4LjJsLTEzLjIgNTkuNC0yMC42LTYxLjhjLTMuMy05LjgtMTIuNC0xNi40LTIyLjgtMTYuNHMtMTkuNSA2LjYtMjIuOCAxNi40bC0yMC42IDYxLjgtMTMuMi01OS40eiJdfSxzNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmVkLXB1bHNlIixpY29uOls2NDAsNTEyLFsicHJvY2VkdXJlcyJdLCJmNDg3IiwiTTUzMS4yLTIyLjRMNTcyIDMyIDYxNiAzMmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNTYgMGMtNy42IDAtMTQuNy0zLjYtMTkuMi05LjZsLTI0LjEtMzIuMS00NyA5OS45Yy0zLjcgNy44LTExLjMgMTMuMS0xOS45IDEzLjdzLTE2LjktMy40LTIxLjctMTAuNkwzODcuMiA4MCAzNDQgODBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNTYgMGM4IDAgMTUuNSA0IDIwIDEwLjdsMjQuNCAzNi42IDQ1LjktOTcuNWMzLjYtNy42IDEwLjktMTIuOCAxOS4zLTEzLjdzMTYuNiAyLjcgMjEuNiA5LjV6TTMyMCAxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJsOS41IDAgMjYuNiAzOS45YzE0LjQgMjEuNiAzOS4zIDMzLjggNjUuMiAzMS45czQ4LjgtMTcuNiA1OS44LTQxLjFMNTI3IDEyOS4yYzQ1LjkgNy4yIDgxIDQ2LjkgODEgOTQuOGwwIDIyNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0LTQ0OCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJMMzIgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJTOTYgNDYuMyA5NiA2NGwwIDIyNCAyMjQgMCAwLTEyOHpNMTQ0IDE5MmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6Il19LFpxdD1zNmUsWHF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbnRzIixpY29uOls1NzYsNTEyLFtdLCJlNTgyIiwiTTUzOS45IDM1MmwtOTUuNiAwLTguNC02Ni4xYy0yLjktMjMuMi0xNS45LTQzLjktMzUuNC01Ni44TDI1Mi4yIDEzMS41Yy0xOC0xMS45LTM5LjctMTUuNy02MC4xLTExLjUgMi41LTQuMyA1LjktNy45IDEwLjEtMTAuN0wzNTAuNiAxMS42YzEwLjctNyAyNC41LTcgMzUuMiAwbDE0OC40IDk3LjdjNy44IDUuMSAxMyAxMy40IDE0LjIgMjIuN2wyMy4zIDE4NGMyLjQgMTkuMS0xMi41IDM2LTMxLjcgMzZ6TTQuOCA0NzZsMjMuMy0xODRjMS4yLTkuMyA2LjMtMTcuNiAxNC4yLTIyLjdsMTQ4LjQtOTcuN2MxMC43LTcgMjQuNS03IDM1LjIgMGwxNDguNCA5Ny43YzcuOCA1LjEgMTMgMTMuNCAxNC4yIDIyLjdsMjMuMyAxODRjMi40IDE5LjEtMTIuNSAzNi0zMS43IDM2bC00OS43IDBjLTExLjIgMC0yMS41LTUuOC0yNy4zLTE1LjRsLTc3LTEyNi43Yy0xLjctMi44LTQuOC00LjYtOC4xLTQuNi01LjMgMC05LjUgNC4zLTkuNSA5LjVsMCAxMDUuMmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzNi41IDUxMmMtMTkuMyAwLTM0LjItMTYuOS0zMS43LTM2eiJdfSxjWj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtdWctaG90IixpY29uOls1NzYsNTEyLFs5NzQ5XSwiZjdiNiIsIk0xNTItMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0IDAgMzguOSAyMy40IDU5LjQgMzkuMSA3My4xbDEuMSAxYzE2LjMgMTQuMyAyMy44IDIxLjggMjMuOCAzNy45IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zOC45LTIzLjQtNTkuNC0zOS4xLTczLjFsLTEuMS0xQzE4My41IDMxLjcgMTc2IDI0LjEgMTc2IDggMTc2LTUuMyAxNjUuMy0xNiAxNTItMTZ6TTk2IDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxOTJjMCA1MyA0MyA5NiA5NiA5NmwxOTIgMGM0MS44IDAgNzcuNC0yNi43IDkwLjUtNjRsNS41IDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhTNTE4LjcgMTkyIDQ0OCAxOTJMOTYgMTkyek00NDggMzg0bDAtMTI4YzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0ek0yODggOGMwLTEzLjMtMTAuNy0yNC0yNC0yNFMyNDAtNS4zIDI0MCA4YzAgMzguOSAyMy40IDU5LjQgMzkuMSA3My4xbDEuMSAxYzE2LjMgMTQuMyAyMy44IDIxLjggMjMuOCAzNy45IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zOC45LTIzLjQtNTkuNC0zOS4xLTczLjFsLTEuMS0xQzI5NS41IDMxLjcgMjg4IDI0LjEgMjg4IDh6Il19LG82ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib2x0IixpY29uOls0NDgsNTEyLFs5ODg5LCJ6YXAiXSwiZjBlNyIsIk0zMzguOC05LjljMTEuOSA4LjYgMTYuMyAyNC4yIDEwLjkgMzcuOEwyNzEuMyAyMjQgNDE2IDIyNGMxMy41IDAgMjUuNSA4LjQgMzAuMSAyMS4xcy43IDI2LjktOS42IDM1LjVsLTI4OCAyNDBjLTExLjMgOS40LTI3LjQgOS45LTM5LjMgMS4zcy0xNi4zLTI0LjItMTAuOS0zNy44TDE3Ni43IDI4OCAzMiAyODhjLTEzLjUgMC0yNS41LTguNC0zMC4xLTIxLjFzLS43LTI2LjkgOS42LTM1LjVsMjg4LTI0MGMxMS4zLTkuNCAyNy40LTkuOSAzOS4zLTEuM3oiXX0sS3F0PW82ZSxRcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiamFyIixpY29uOlszMjAsNTEyLFtdLCJlNTE2IiwiTTMyLThjMC0xMy4zIDEwLjctMjQgMjQtMjRsMjA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMNTYgMTZDNDIuNyAxNiAzMiA1LjMgMzItOHpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptOTYgNjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDk2IDE5MnoiXX0sSnF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLXBsYW5lIixpY29uOls2NDAsNTEyLFtdLCJlNThmIiwiTTE0NCA0OGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMzIwYzAgMzIuNSAxMi4xIDYyLjEgMzIgODQuN2wwIDI3LjNjMCA3LjEgLjkgMTQuMSAyLjcgMjAuN0wxOTIgNDgwIDgzLjkgNTA3QzczLjggNTA5LjYgNjQgNTAxLjkgNjQgNDkxLjVsMC0xOS44YzAtNC45IDIuMi05LjUgNi0xMi41bDc0LTU5LjIgMC01Ny42LTEyMi4xIDQ4LjhDMTEuNCAzOTUuNCAwIDM4Ny43IDAgMzc2LjRsMC00NGMwLTggMy0xNS42IDguMy0yMS41TDE0NCAxNjEuNiAxNDQgNDh6bTIyNCA4MGwxOTIgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDE2MGMwIDI2LjItMTIuNiA0OS40LTMyIDY0bDAgNDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0xNjAgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDhjLTE5LjQtMTQuNi0zMi0zNy44LTMyLTY0bDAtMTYwYzAtNDQuMiAzNS44LTgwIDgwLTgwem0wIDE3NmwxOTIgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMjggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMnptMCA4OGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTIxNi0yNGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxlVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1ob2xkaW5nLWhlYXJ0IixpY29uOls1NzYsNTEyLFtdLCJmNGJlIiwiTTI3OS42IDMxQzI2NS41IDExLjUgMjQyLjkgMCAyMTguOSAwIDE3Ny41IDAgMTQ0IDMzLjUgMTQ0IDc0LjlsMCAyLjRjMCA2NC40IDgyIDEzMy40IDEyMi4yIDE2My4zIDEzIDkuNyAzMC41IDkuNyA0My41IDAgNDAuMi0zMCAxMjIuMi05OC45IDEyMi4yLTE2My4zbDAtMi40YzAtNDEuNC0zMy41LTc0LjktNzQuOS03NC45LTI0IDAtNDYuNiAxMS41LTYwLjcgMzFMMjg4IDQyLjcgMjc5LjYgMzF6TTEwOS4zIDM0MS41TDY2LjcgMzg0IDMyIDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMjAuNSAwYzI5IDAgNTcuMy05LjMgODAuNy0yNi41bDEyNi42LTkzLjNjMTcuOC0xMy4xIDIxLjYtMzguMSA4LjUtNTUuOXMtMzguMS0yMS42LTU1LjktOC41TDM5Mi42IDQxNiAyODAgNDE2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDcyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE1Mi4yIDBjLTMzLjkgMC02Ni41IDEzLjUtOTAuNSAzNy41eiJdfSxJOD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1yb3RhdGUtbGVmdCIsaWNvbjpbNTEyLDUxMixbODYzNCwiYXJyb3ctbGVmdC1yb3RhdGUiLCJhcnJvdy1yb3RhdGUtYmFjayIsImFycm93LXJvdGF0ZS1iYWNrd2FyZCIsInVuZG8iXSwiZjBlMiIsIk0yNTYgNjRjLTU2LjggMC0xMDcuOSAyNC43LTE0My4xIDY0bDQ3LjEgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAxOTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwUzY0IDE0LjMgNjQgMzJsMCA1NC43QzExMC45IDMzLjYgMTc5LjUgMCAyNTYgMCAzOTcuNCAwIDUxMiAxMTQuNiA1MTIgMjU2UzM5Ny40IDUxMiAyNTYgNTEyYy04NyAwLTE2My45LTQzLjQtMjEwLjEtMTA5LjctMTAuMS0xNC41LTYuNi0zNC40IDcuOS00NC42czM0LjQtNi42IDQ0LjYgNy45YzM0LjggNDkuOCA5Mi40IDgyLjMgMTU3LjYgODIuMyAxMDYgMCAxOTItODYgMTkyLTE5MlMzNjIgNjQgMjU2IDY0eiJdfSx0VnQ9STgsYVZ0PUk4LHJWdD1JOCxpVnQ9STgsbjZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtYW5ncnkiLGljb246WzUxMiw1MTIsWzEyODU0NCwiYW5ncnkiXSwiZjU1NiIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0yNTYgMzY4YzI0LjEgMCA0NS40IDExLjggNTguNSAzMCA3LjcgMTAuOCAyMi43IDEzLjIgMzMuNSA1LjVzMTMuMi0yMi43IDUuNS0zMy41Yy0yMS43LTMwLjItNTcuMy01MC05Ny41LTUwcy03NS43IDE5LjgtOTcuNSA1MGMtNy43IDEwLjgtNS4zIDI1LjggNS41IDMzLjVzMjUuOCA1LjMgMzMuNS01LjVjMTMuMS0xOC4yIDM0LjQtMzAgNTguNS0zMHptLTgwLTk2YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtLjMgOS43IDMuMmMxMC41IDMuNSAyMS44LTIuMiAyNS4zLTEyLjZzLTIuMi0yMS44LTEyLjYtMjUuM2wtOTYtMzJjLTEwLjUtMy41LTIxLjggMi4yLTI1LjMgMTIuNnMyLjIgMjEuOCAxMi42IDI1LjNsMjguOSA5LjZjLTQuMSA1LjQtNi42IDEyLjEtNi42IDE5LjQgMCAxNy43IDE0LjMgMzIgMzIgMzJ6bTE5Mi0zMmMwLTcuMy0yLjQtMTQtNi42LTE5LjRsMjguOS05LjZjMTAuNS0zLjUgMTYuMS0xNC44IDEyLjYtMjUuM3MtMTQuOC0xNi4xLTI1LjMtMTIuNmwtOTYgMzJjLTEwLjUgMy41LTE2LjEgMTQuOC0xMi42IDI1LjNzMTQuOCAxNi4xIDI1LjMgMTIuNmw5LjctMy4yIDAgLjNjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnoiXX0sc1Z0PW42ZSxvVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVyc3QiLGljb246WzUxMiw1MTIsW10sImU0ZGMiLCJNMzcuNiA0LjJDMjgtMi4zIDE1LjItMS4xIDcgN1MtMi4zIDI4IDQuMiAzNy42bDExMiAxNjMuMy05OS42IDMyLjNDNi43IDIzNi40IDAgMjQ1LjYgMCAyNTZzNi43IDE5LjYgMTYuNiAyMi44bDEwMy4xIDMzLjQtNTIuOSAxMDAuNmMtNC45IDkuMy0zLjIgMjAuNyA0LjMgMjguMXMxOC44IDkuMiAyOC4xIDQuM2wxMDAuNi01Mi45IDMzLjQgMTAzLjFjMy4yIDkuOSAxMi40IDE2LjYgMjIuOCAxNi42czE5LjYtNi43IDIyLjgtMTYuNmwzMy40LTEwMy4xIDEwMC42IDUyLjljOS4zIDQuOSAyMC43IDMuMiAyOC4xLTQuM3M5LjItMTguOCA0LjMtMjguMWwtNTIuOS0xMDAuNiAxMDMuMS0zMy40YzkuOS0zLjIgMTYuNi0xMi40IDE2LjYtMjIuOHMtNi43LTE5LjYtMTYuNi0yMi44bC0xMDYuNS0zNC41IDI1LjctNzAuNGMzLjItOC44IDEtMTguNi01LjYtMjUuMnMtMTYuNC04LjgtMjUuMi01LjZsLTcwLjQgMjUuNy0zNC41LTEwNi41QzI3NS42IDYuNyAyNjYuNCAwIDI1NiAwcy0xOS42IDYuNy0yMi44IDE2LjZMMjAwLjkgMTE2LjIgMzcuNiA0LjJ6Il19LG5WdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ6IixpY29uOlszODQsNTEyLFsxMjJdLCI1YSIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDMyMCAwYzEyLjQgMCAyMy43IDcuMiAyOSAxOC40czMuNiAyNC41LTQuNCAzNC4xTDEwMC4zIDQxNiAzNTIgNDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTIuNCAwLTIzLjctNy4yLTI5LTE4LjRzLTMuNi0yNC41IDQuNC0zNC4xTDI4My43IDk2IDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6Il19LGw2ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYW5kYWdlIixpY29uOls1NzYsNTEyLFsxMjk2NTcsImJhbmQtYWlkIl0sImY0NjIiLCJNNDY0IDQxNmw0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC00OCAwIDAgMzIwek00MTYgOTZsLTI1NiAwIDAgMzIwIDI1NiAwIDAtMzIwek02NCA5NkMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCAzNTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDggMCAwLTMyMC00OCAwek0yMTYgMjA4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEyMC0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTIxNiAzMDRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTIwLTI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHoiXX0sbFZ0PWw2ZSxjVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUtY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNTU2IiwiTTIzMiAyNGMwLTMwLjkgMjUuMS01NiA1Ni01NnM1NiAyNS4xIDU2IDU2bDAgMTI3LjMgNzggNzEuNWMtNjkuMyAyOS0xMTggOTcuNC0xMTggMTc3LjIgMCA0OS4zIDE4LjYgOTQuMyA0OS4xIDEyOC4zTDI4OCA1MTIgMTc5LjkgNTM5Yy0xMC4xIDIuNS0xOS45LTUuMS0xOS45LTE1LjVsMC0xOS44YzAtNC45IDIuMi05LjUgNi0xMi41bDY2LTUyLjggMC05OS43LTE2Mi45IDU0LjNDNTguNyAzOTYuNCA0OCAzODguNyA0OCAzNzcuOGwwLTQzLjdjMC05IDMuOC0xNy41IDEwLjQtMjMuNkwyMzIgMTUxLjMgMjMyIDI0ek00OTYgMjU2YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMCAyMjhhMjAgMjAgMCAxIDAgMC00MCAyMCAyMCAwIDEgMCAwIDQwem0wLTE4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwYzAtOC44LTcuMi0xNi0xNi0xNnoiXX0sZFZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1cy1zaWRlIixpY29uOls2NDAsNTEyLFtdLCJlODFkIiwiTTQ4MCAwYzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwbDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC01LjYgMGMtMTMuMiAzNy4zLTQ4LjYgNjQtOTAuNCA2NHMtNzcuMy0yNi43LTkwLjQtNjRsLTEzOS4xIDBjLTEzLjIgMzcuMy00OC43IDY0LTkwLjQgNjRzLTc3LjItMjYuNy05MC40LTY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDQzIDQzIDAgOTYgMEw0ODAgMHpNMTYwIDM2OGE0OCA0OCAwIDEgMCAwIDk2IDQ4IDQ4IDAgMSAwIDAtOTZ6bTMyMCAwYTQ4IDQ4IDAgMSAwIDAgOTYgNDggNDggMCAxIDAgMC05NnptMC0zMDRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTkyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC01My00My05Ni05Ni05NnpNMjQ4IDIyNGwxMDQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMDQgMCAwIDE2MHpNOTYgNjRDNzguMyA2NCA2NCA3OC4zIDY0IDk2bDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTA0IDAgMC0xNjAtMTA0IDB6Il19LHBWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWdzIixpY29uOls1NzYsNTEyLFtdLCJlNGQwIiwiTTQ0Ny41IDE3NC42YzguOC04LjQgMjIuNy04LjkgMzIuMi0uOHMxMSAyMS45IDQuMSAzMS45bC0xLjUgMS45LTIzIDI2LjdjMjYuNyAxMy41IDQ2LjMgMzkuMSA1MS40IDY5LjZsMjUuMyAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNCAwIDAgMzIgMjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjUuMyAwYy03LjYgNDUuNC00Ny4xIDgwLTk0LjcgODBzLTg3LTM0LjYtOTQuNy04MEwyOTYgNDMyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDI0IDAgMC0zMi0yNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDI1LjMgMGM1LjEtMzAuNSAyNC43LTU2LjEgNTEuNC02OS42bC0yMi45LTI2LjdjLTguNi0xMC4xLTcuNS0yNS4yIDIuNi0zMy44czI1LjItNy41IDMzLjggMi42bDI5LjggMzQuOCAyOS44LTM0LjggMS43LTEuOHptLTI1Ni0xOTJjOC44LTguNCAyMi43LTguOSAzMi4yLS44czExIDIxLjkgNC4xIDMxLjlsLTEuNSAxLjktMjMgMjYuN0MyMzAgNTUuOSAyNDkuNSA4MS41IDI1NC43IDExMmwyNS4zIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI0IDAgMCAzMiAyNCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNS4zIDBjLTcuNiA0NS40LTQ3LjEgODAtOTQuNyA4MHMtODctMzQuNi05NC43LTgwTDQwIDI0MGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyNCAwIDAtMzItMjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyNS4zIDBDNzAuNSA4MS41IDkwIDU1LjkgMTE2LjcgNDIuNEw5My44IDE1LjZDODUuMiA1LjYgODYuMy05LjYgOTYuNC0xOC4yczI1LjItNy41IDMzLjggMi42bDI5LjggMzQuOCAyOS44LTM0LjggMS43LTEuOHoiXX0sYzZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJlZXItbXVnLWVtcHR5IixpY29uOls1NzYsNTEyLFsiYmVlciJdLCJmMGZjIiwiTTY0IDgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDI4OCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTYgNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEwOC4yYzAgMjQuMi0xMy43IDQ2LjQtMzUuNCA1Ny4yTDQ0OCAzNzEuOCA0NDggMzg0YzAgNTMtNDMgOTYtOTYgOTZsLTE5MiAwYy01MyAwLTk2LTQzLTk2LTk2TDY0IDgwek00NDggMzAwLjJsNjQtMzIgMC0xMDguMi02NCAwIDAgMTQwLjJ6TTE5MiAxNTJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyMDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTIwOHptODggMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDIwOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjA4em04OCAwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yMDh6Il19LHVWdD1jNmUsZlZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1jaXJjbGUtY2hlY2siLGljb246WzY0MCw1MTIsW10sImU1M2UiLCJNMjgwIDI0YTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHptMjQgMjEyLjdMMzQxIDI4Ni42YzEyLjgtMTcuNSAyOC41LTMyLjcgNDYuMy00NWwtNTYuMi03NS43QzMwNiAxMzIgMjY2LjMgMTEyIDIyNCAxMTJzLTgyIDIwLTEwNy4yIDUzLjlsLTcwLjUgOTVjLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNkwxNDQgMjM2LjcgMTQ0IDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI3NS4zek02NDAgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS04Ni42LTYwLjljNy4xIDUuMiA4LjcgMTUuMiAzLjUgMjIuM2wtNjQgODhjLTIuOCAzLjgtNyA2LjItMTEuNyA2LjVzLTkuMy0xLjMtMTIuNi00LjZsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMjYuOCAyNi44IDUzLTcyLjljNS4yLTcuMSAxNS4yLTguNyAyMi40LTMuNXoiXX0saFZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YXBsZXIiLGljb246WzY0MCw1MTIsW10sImU1YWYiLCJNNjQwIDI5OS4zTDY0MCA0MzJjMCAyNi41LTIxLjUgNDgtNDggNDhMNjQgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDM4NCAwIDAtNDgtMzUyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTE2LjYtMzAuMi01LjRjLTE5LjYtMy41LTMzLjgtMjAuNS0zMy44LTQwLjQgMC04LjkgMi45LTE3LjUgOC4yLTI0LjZsMzUuNi00Ny41YzMyLjgtNDMuOCA4NC40LTY5LjYgMTM5LjEtNjkuNiAyNyAwIDUzLjYgNi4zIDc3LjggMTguNEw1ODYuOSAyMTMuNUM2MTkuNSAyMjkuNyA2NDAgMjYzIDY0MCAyOTkuM3pNNDQ4IDMwNGwwLTE2LTMyMC01Ny4xIDAgNzMuMSAzMjAgMHoiXX0sbVZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLW1lZGljYWwtY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNTExIiwiTTMwOS44IDguNmMtMTIuMy0xMS40LTMxLjMtMTEuNC00My41IDBsLTIyNCAyMDhjLTkuNiA5LTEyLjggMjIuOS04IDM1LjFTNTAuOCAyNzIgNjQgMjcybDE2IDAgMCAxNzZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTk2IDBjLTIxLjItMjkuNS0zNC4zLTY1LjMtMzUuOS0xMDRMMjcyIDQwOGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCAyMCAwYzM0LjktNDguNSA5MS43LTgwIDE1Ni04MCAxMC43IDAgMjEuMSAuOSAzMS4zIDIuNUwzMDkuOCA4LjZ6TTY0MCA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTg2LjYtNjAuOWM3LjEgNS4yIDguNyAxNS4yIDMuNSAyMi4zbC02NCA4OGMtMi44IDMuOC03IDYuMi0xMS43IDYuNXMtOS4zLTEuMy0xMi42LTQuNmwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwyNi44IDI2LjggNTMtNzIuOWM1LjItNy4xIDE1LjItOC43IDIyLjQtMy41eiJdfSxnVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibmFpcmEtc2lnbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTFmNiIsIk0xMjIuNiA0Ni4zYy03LjgtMTEuNy0yMi40LTE3LTM1LjktMTIuOVM2NCA0OS45IDY0IDY0bDAgMTkyLTMyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzIgMCAwIDE0NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTQ0IDg5LjUgMCAxMDcuOCAxNjEuOGM3LjggMTEuNyAyMi40IDE3IDM1LjkgMTIuOVMzODQgNDYyLjEgMzg0IDQ0OGwwLTE0NCAzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMiAwIDAtMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTkyLTU3LjUgMC0xMzkuOC0yMDkuN3pNMjk0LjUgMzA0bDI1LjUgMCAwIDM4LjMtMjUuNS0zOC4zek0xODUuNSAyNTZsLTU3LjUgMCAwLTg2LjMgNTcuNSA4Ni4zeiJdfSxSWT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3aWZpIixpY29uOls1NzYsNTEyLFsid2lmaS0zIiwid2lmaS1zdHJvbmciXSwiZjFlYiIsIk0yODggOTZjLTkwLjkgMC0xNzMuMiAzNi0yMzMuNyA5NC42LTEyLjcgMTIuMy0zMyAxMi00NS4yLS43cy0xMi0zMyAuNy00NS4yQzgxLjcgNzQuOSAxNzkuOSAzMiAyODggMzJTNDk0LjMgNzQuOSA1NjYuMyAxNDQuN2MxMi43IDEyLjMgMTMgMzIuNiAuNyA0NS4ycy0zMi42IDEzLTQ1LjIgLjdDNDYxLjIgMTMyIDM3OC45IDk2IDI4OCA5NnpNMjQwIDQzMmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek0xNjggMzI2LjJjLTExLjcgMTMuMy0zMS45IDE0LjUtNDUuMiAyLjhzLTE0LjUtMzEuOS0yLjgtNDUuMkMxNjEgMjM3LjQgMjIxLjEgMjA4IDI4OCAyMDhzMTI3IDI5LjQgMTY4IDc1LjhjMTEuNyAxMy4zIDEwLjQgMzMuNS0yLjggNDUuMnMtMzMuNSAxMC40LTQ1LjItMi44QzM3OC42IDI5Mi45IDMzNS44IDI3MiAyODggMjcycy05MC42IDIwLjktMTIwIDU0LjJ6Il19LGJWdD1SWSx2VnQ9UlksXzc9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9uZXktY2hlY2stZG9sbGFyIixpY29uOls1MTIsNTEyLFsibW9uZXktY2hlY2stYWx0Il0sImY1M2QiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6TTI5NiAyODhsMTI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTEyOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0tMjQtODhjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTEyOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMTQ4IDE0NGMxMSAwIDIwIDkgMjAgMjBsMCA0IDggMGMxMSAwIDIwIDkgMjAgMjBzLTkgMjAtMjAgMjBsLTQ3LjUgMGMtNi45IDAtMTIuNSA1LjYtMTIuNSAxMi41IDAgNi4xIDQuNCAxMS4zIDEwLjQgMTIuM2w0MS43IDdjMjUuMyA0LjIgNDMuOSAyNi4xIDQzLjkgNTEuOCAwIDI2LjEtMTkgNDcuNy00NCA1MS44bDAgNC43YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTQtMjQgMGMtMTEgMC0yMC05LTIwLTIwczktMjAgMjAtMjBsNTUuNSAwYzYuOSAwIDEyLjUtNS42IDEyLjUtMTIuNSAwLTYuMS00LjQtMTEuMy0xMC40LTEyLjNsLTQxLjctN0M5NC41IDI2OCA3NiAyNDYuMSA3NiAyMjAuNSA3NiAxOTEuNyA5OS4yIDE2OC4zIDEyOCAxNjhsMC00YzAtMTEgOS0yMCAyMC0yMHoiXX0seFZ0PV83LGQ2ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJleWUtbG93LXZpc2lvbiIsaWNvbjpbNTc2LDUxMixbImxvdy12aXNpb24iXSwiZjJhOCIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC05Ni40LTk2LjRjMi43LTIuNCA1LjQtNC44IDgtNy4yIDQ2LjgtNDMuNSA3OC4xLTk1LjQgOTMtMTMxLjEgMy4zLTcuOSAzLjMtMTYuNyAwLTI0LjYtMTQuOS0zNS43LTQ2LjItODcuNy05My0xMzEuMS00Ny4xLTQzLjctMTExLjgtODAuNi0xOTIuNi04MC42LTU2LjggMC0xMDUuNiAxOC4yLTE0NiA0NC4yTDQxLTI0Ljl6TTIwNC41IDEzOC43YzIzLjUtMTYuOCA1Mi40LTI2LjcgODMuNS0yNi43IDc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0IDAgMzEuMS05LjkgNTkuOS0yNi43IDgzLjVsLTM0LjctMzQuN2MxMi43LTIxLjQgMTctNDcuNyAxMC4xLTczLjctMTMuNy01MS4yLTY2LjQtODEuNi0xMTcuNi02Ny45LTguNiAyLjMtMTYuNyA1LjctMjQgMTBsLTM0LjctMzQuN3pNODggMTU3LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlMMzI4LjIgNDY2YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw4OCAxNTcuOXpNNDUuNyAyNTEuM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOUwxODEuOSA0NTUuNWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNDUuNyAyNTEuM3oiXX0seVZ0PWQ2ZSxwNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWFycm93LXVwIixpY29uOls1MTIsNTEyLFsiYXJyb3ctY2lyY2xlLXVwIl0sImYwYWEiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTE3LTM3N2w4MCA4MGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC0zOS0zOSAwIDE1MC4xYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTUwLjEtMzkgMzljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsODAtODBjOS40LTkuNCAyNC42LTkuNCAzMy45IDB6Il19LHdWdD1wNmUsTVZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbWVyYS1yZXRybyIsaWNvbjpbNTEyLDUxMixbMTI4MjQ3XSwiZjA4MyIsIk0wIDQxNmwwLTIwOCAxMzYuMiAwYzEzLjUtMjAuMiAzMi0zNi44IDUzLjctNDhMMCAxNjAgMCAxMjUuN2MwLTM1LjMgMjguNy02NCA2NC02NGwuMSAwQzY1LjMgNDUuMSA3OS4xIDMyIDk2IDMybDMyIDBjMTYuOSAwIDMwLjcgMTMuMSAzMS45IDI5LjdsMzIuMSAwIDUxLjItMjMuOGM4LjQtMy45IDE3LjYtNiAyNi45LTZMNDQ4IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjQtMTkwIDBjMjEuNyAxMS4yIDQwLjIgMjcuOCA1My43IDQ4bDEzNi4yIDAgMCAyMDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NHpNMjU2IDE5MmE5Ni4xIDk2LjEgMCAxIDAgMCAxOTIuMSA5Ni4xIDk2LjEgMCAxIDAgMC0xOTIuMXoiXX0sa1Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcHN1bGVzIixpY29uOls1NzYsNTEyLFtdLCJmNDZiIiwiTTk2IDExMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMTEyLTk2IDAgMC0xMTJ6bS02NCAwbDAgMjg4YzAgNjEuOSA1MC4xIDExMiAxMTIgMTEyczExMi01MC4xIDExMi0xMTJsMC0xMDUuOCAxMTYuMyAxNjkuNWMzNS41IDUxLjcgMTA1LjMgNjQuMyAxNTYgMjguMXM2My0xMDcuNSAyNy41LTE1OS4yTDQyNy4zIDE0NS4zYy0zNS41LTUxLjctMTA1LjMtNjQuMy0xNTYtMjguMS01LjYgNC0xMC43IDguNC0xNS4zIDEzLjFsMC0xOC4zQzI1NiA1MC4xIDIwNS45IDAgMTQ0IDBTMzIgNTAuMSAzMiAxMTJ6TTI5Ni42IDI0MC4yYy0xNi0yMy4zLTEwLTU1LjMgMTEuOS03MSAyMS4yLTE1LjEgNTAuNS0xMC4zIDY2IDEyLjJsNjcgOTcuNi03OS45IDU1LjktNjUtOTQuOHoiXX0selZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBvbyIsaWNvbjpbNTEyLDUxMixbMTI4MTY5XSwiZjJmZSIsIk0yNjguOSAuOWMtNS41LS43LTExIDEuNC0xNC41IDUuN3MtNC42IDEwLjEtMi44IDE1LjRjMi44IDguMiA0LjMgMTYuOSA0LjMgMjYuMSAwIDQ0LjEtMzUuNyA3OS45LTc5LjggODBMMTYwIDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjQgMCAxOS4xIDguNCAzNi4zIDIxLjcgNDhMMTA0IDI0MGMtMzkuOCAwLTcyIDMyLjItNzIgNzIgMCAyMy4yIDExIDQzLjggMjggNTctMzQuMSA1LjctNjAgMzUuMy02MCA3MSAwIDM5LjggMzIuMiA3MiA3MiA3MmwzNjggMGMzOS44IDAgNzItMzIuMiA3Mi03MiAwLTM1LjctMjUuOS02NS4zLTYwLTcxIDE3LTEzLjIgMjgtMzMuOCAyOC01NyAwLTM5LjgtMzIuMi03Mi03Mi03MmwtMTMuNyAwYzEzLjMtMTEuNyAyMS43LTI4LjkgMjEuNy00OCAwLTM1LjMtMjguNy02NC02NC02NGwtNS41IDBjMy41LTEwIDUuNS0yMC44IDUuNS0zMiAwLTQ4LjYtMzYuMi04OC44LTgzLjEtOTUuMXpNMTkyIDI1NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTk2IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTY0IDEwOC4zYzAgMi40LS43IDQuOC0yLjIgNi43LTguMiAxMC41LTM5LjUgNDUtOTMuOCA0NXMtODUuNi0zNC42LTkzLjgtNDVjLTEuNS0xLjktMi4yLTQuMy0yLjItNi43IDAtNi44IDUuNS0xMi4zIDEyLjMtMTIuM2wxNjcuNCAwYzYuOCAwIDEyLjMgNS41IDEyLjMgMTIuM3oiXX0sdTZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvbHVtZSIsaWNvbjpbNTEyLDUxMixbMTI4MjY1LCJ2b2x1bWUtbWVkaXVtIl0sImY2YTgiLCJNNDggMzUybDQ4IDAgMTM0LjEgMTE5LjJjNi40IDUuNyAxNC42IDguOCAyMy4xIDguOCAxOS4yIDAgMzQuOC0xNS42IDM0LjgtMzQuOGwwLTM3OC40YzAtMTkuMi0xNS42LTM0LjgtMzQuOC0zNC44LTguNSAwLTE2LjcgMy4xLTIzLjEgOC44TDk2IDE2MCA0OCAxNjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTZjMCAyNi41IDIxLjUgNDggNDggNDh6TTQ0MS4xIDEwN2MtMTAuMy04LjQtMjUuNC02LjgtMzMuOCAzLjVzLTYuOCAyNS40IDMuNSAzMy44QzQ0My4zIDE3MC43IDQ2NCAyMTAuOSA0NjQgMjU2cy0yMC43IDg1LjMtNTMuMiAxMTEuOGMtMTAuMyA4LjQtMTEuOCAyMy41LTMuNSAzMy44czIzLjUgMTEuOCAzMy44IDMuNWM0My4yLTM1LjIgNzAuOS04OC45IDcwLjktMTQ5cy0yNy43LTExMy44LTcwLjktMTQ5em0tNjAuNSA3NC41Yy0xMC4zLTguNC0yNS40LTYuOC0zMy44IDMuNXMtNi44IDI1LjQgMy41IDMzLjhDMzYxLjEgMjI3LjYgMzY4IDI0MSAzNjggMjU2cy02LjkgMjguNC0xNy43IDM3LjNjLTEwLjMgOC40LTExLjggMjMuNS0zLjUgMzMuOHMyMy41IDExLjggMzMuOCAzLjVDNDAyLjEgMzEyLjkgNDE2IDI4Ni4xIDQxNiAyNTZzLTEzLjktNTYuOS0zNS41LTc0LjV6Il19LFNWdD11NmUsQ1Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVsZXZhdG9yIixpY29uOls1MTIsNTEyLFtdLCJlMTZkIiwiTTI5Mi43LTQuN2w2NCA2NGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw2NC02NGM0LjYtNC42IDUuOS0xMS41IDMuNS0xNy40UzQzOC41LTMyIDQzMi0zMkwzMDQtMzJjLTYuNSAwLTEyLjMgMy45LTE0LjggOS45cy0xLjEgMTIuOSAzLjUgMTcuNHptLTE2MC0yMi42bC02NCA2NGMtNC42IDQuNi01LjkgMTEuNS0zLjUgMTcuNFM3My41IDY0IDgwIDY0bDEyOCAwYzYuNSAwIDEyLjMtMy45IDE0LjgtOS45czEuMS0xMi45LTMuNS0xNy40bC02NC02NGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDB6TTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMTI4em05NiA5NmE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6TTgwIDQwMGMwLTI2LjUgMjEuNS00OCA0OC00OGw2NCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTZ6bTE5MiAwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDY0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNnptMzItMTI4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6Il19LF9WdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWciLGljb246WzUxMiw1MTIsWzEyNzk5MV0sImYwMmIiLCJNMzIuNSA5NmwwIDE0OS41YzAgMTcgNi43IDMzLjMgMTguNyA0NS4zbDE5MiAxOTJjMjUgMjUgNjUuNSAyNSA5MC41IDBMNDgzLjIgMzMzLjNjMjUtMjUgMjUtNjUuNSAwLTkwLjVsLTE5Mi0xOTJDMjc5LjIgMzguNyAyNjMgMzIgMjQ2IDMyTDk2LjUgMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0em0xMTIgMTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxUVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1jaXJjbGUtbWludXMiLGljb246WzU3Niw1MTIsW10sImU0ZWQiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMjIuNy0zMS41LTM2LTcwLjItMzYtMTEyIDAtMTAwLjYgNzcuNC0xODMuMiAxNzYtMTkxLjNsMC0zOC4xYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2ek01NzYgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS02NCAwYzAgOC44LTcuMiAxNi0xNiAxNmwtMTI4IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTI4IDBjOC44IDAgMTYgNy4yIDE2IDE2eiJdfSxmNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG93bi1sb25nIixpY29uOlszMjAsNTEyLFsibG9uZy1hcnJvdy1hbHQtZG93biJdLCJmMzA5IiwiTTEzNy40IDUzNC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjhjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTMzAwLjkgMzUyIDI4OCAzNTJsLTY0IDAgMC0zMzZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTMyIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMzM2LTY0IDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhTLjIgMzk3LjUgOS40IDQwNi42bDEyOCAxMjh6Il19LExWdD1mNmUsJFZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbXBhY3QtZGlzYyIsaWNvbjpbNTEyLDUxMixbMTI4MTkxLDEyODE5MiwxMjg0NDBdLCJmNTFmIiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTI1NiAzMmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bS05Ni0zMmE5NiA5NiAwIDEgMCAxOTIgMCA5NiA5NiAwIDEgMCAtMTkyIDB6bS01Ni0xNmMwLTMyLjQgMTYuMy02Ni42IDQyLjgtOTMuMlMyMDcuNiAxMDQgMjQwIDEwNGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGMtNDcuOSAwLTkzLjcgMjMuNS0xMjcuMSA1Ni45UzU2IDE5Mi4xIDU2IDI0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0eiJdfSxEVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VpdGNhc2Utcm9sbGluZyIsaWNvbjpbMzg0LDUxMixbXSwiZjVjMSIsIk0xNDQgMjRjMC00LjQgMy42LTggOC04bDgwIDBjNC40IDAgOCAzLjYgOCA4bDAgNzItOTYgMCAwLTcyek0zMjAgOTZsLTMyIDAgMC03MmMwLTMwLjktMjUuMS01Ni01Ni01NmwtODAgMEMxMjEuMS0zMiA5Ni02LjkgOTYgMjRsMCA3Mi0zMiAwQzI4LjcgOTYgMCAxMjQuNyAwIDE2MEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NCAwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDEyOCAwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yODhjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTEyMCAyMDhsMTQ0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0wIDEyOGwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LGg2ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLXF1cmFuIixpY29uOls0NDgsNTEyLFsicXVyYW4iXSwiZjY4NyIsIk02NCA1MTJsMjg4IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTMyMGMwLTUzLTQzLTk2LTk2LTk2TDQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4TDAgMzM2YzAgMjAuOSAxMy40IDM4LjcgMzIgNDUuM0wzMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMHpNMzUyIDM4NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjU2IDAgMC02NCAyNTYgMHpNMjczLjEgMTQ0LjRjMi41LTYuMSAxMS4yLTYuMSAxMy43IDBsMTAuMyAyNC44IDI2LjggMi4xYzYuNiAuNSA5LjIgOC43IDQuMiAxM0wzMDcuOCAyMDEuOSAzMTQgMjI4YzEuNSA2LjQtNS41IDExLjUtMTEuMSA4LjFsLTIyLjktMTQtMjIuOSAxNGMtNS42IDMuNC0xMi42LTEuNi0xMS4xLTguMWw2LjItMjYuMS0yMC40LTE3LjVjLTUtNC4zLTIuMy0xMi41IDQuMi0xM2wyNi44LTIuMSAxMC4zLTI0Ljh6TTEwMCAxOTJjMC02OC41IDU1LjUtMTI0IDEyNC0xMjQgMjMuOCAwIDQ2LjEgNi43IDY1IDE4LjQgNC44IDIuOSA2LjkgOC44IDUgMTQuMXMtNy4xIDguNi0xMi43IDhjLTMuMS0uMy02LjItLjUtOS40LS41LTQ2LjQgMC04NCAzNy42LTg0IDg0czM3LjYgODQgODQgODRjMy4yIDAgNi4zLS4yIDkuNC0uNSA1LjYtLjYgMTAuOCAyLjcgMTIuNyA4cy0uMyAxMS4yLTUgMTQuMWMtMTguOSAxMS43LTQxLjIgMTguNC02NSAxOC40LTY4LjUgMC0xMjQtNTUuNS0xMjQtMTI0eiJdfSxBVnQ9aDZlLFBWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaG9uZS1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZjNkZCIsIk01MzUtMjQuOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlMNDEgNTM3LjFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMTQxLjUgMzY4LjZDODkuMiAzMTAuNSA1MS42IDIzOC44IDM0LjggMTU5LjQgMTguNyA4My4xIDczLjkgMjAuNiAxMzguNSAyLjlsNS41LTEuNWMxOS43LTUuNCA0MC4zIDQuNyA0OC4xIDIzLjVsNDAuNSA5Ny4zYzYuOSAxNi41IDIuMSAzNS42LTExLjggNDdsLTQ0LjEgMzYuMWMxMi45IDI4LjUgMjkuNiA1NC44IDQ5LjUgNzguNUw1MzUtMjQuOXptLTE1MC40IDUzNGMtNjMtMTMuNC0xMjEuMy0zOS44LTE3MS43LTc2LjNMMjk3LjggMzQ4YzEyLjIgOC4yIDI1IDE1LjYgMzguMyAyMi4yTDM3NC43IDMyM2MxMS4zLTEzLjkgMzAuNC0xOC42IDQ3LTExLjhMNTE5IDM1MS44YzE4LjggNy44IDI4LjkgMjguNCAyMy41IDQ4LjFsLTEuNSA1LjVjLTE3LjYgNjQuNi04MC4yIDExOS44LTE1Ni40IDEwMy43eiJdfSxFVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1jaXJjbGUtY2hlY2siLGljb246WzY0MCw1MTIsW10sImU1NjQiLCJNMjg4IDMybC03Ni4zIDBjLTI5LjQgMC01NS4xIDIwLjEtNjIuMSA0OC42TDY1LjQgNDIwLjVDNTcuOSA0NTAuNyA4MC44IDQ4MCAxMTIgNDgwbDIwOS40IDBjLTExLjItMjQuNC0xNy40LTUxLjQtMTcuNC04MCAwLTI4LjYgNi4yLTU1LjcgMTcuNC04MC0uNSAwLTEgMC0xLjUgMC0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA0OWMzNS4yLTM5LjkgODYuNy02NSAxNDQtNjUgOSAwIDE3LjggLjYgMjYuNSAxLjhsLTMyLTEyOS4yQzQ4My40IDUyLjEgNDU3LjggMzIgNDI4LjMgMzJsLTc2LjQgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6TTY0MCA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTg2LjYtNjAuOWM3LjEgNS4yIDguNyAxNS4yIDMuNSAyMi4zbC02NCA4OGMtMi44IDMuOC03IDYuMi0xMS43IDYuNXMtOS4zLTEuMy0xMi42LTQuNmwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwyNi44IDI2LjggNTMtNzIuOWM1LjItNy4xIDE1LjItOC43IDIyLjQtMy41eiJdfSxJVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hvcC1sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNGE1IiwiTTIxLjUgMTgxLjFMNzguMyA2Ny40Qzg5LjIgNDUuNyAxMTEuMyAzMiAxMzUuNiAzMmwzMDQuOSAwYzI0LjIgMCA0Ni40IDEzLjcgNTcuMiAzNS40bDU1LjYgMTExLjFjLTguMi0xLjYtMTYuNi0yLjUtMjUuMi0yLjUtNTMuNyAwLTk5LjcgMzMuMS0xMTguNyA4MGwtNTcuMyAwIDAgMTc2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xOTIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNzYuMWMtMjYuOC0xLjktNDgtMjQuMy00OC01MS42IDAtOCAxLjktMTYgNS41LTIzLjJ6TTEyOCAyNTZsMCAxMTJjMCA4LjggNy4yIDE2IDE2IDE2bDEyOCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTExMi0xNjAgMHptNDMyIDQ4LjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek00MTYgNDAwYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxtNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaW1hZ2UtcG9ydHJhaXQiLGljb246WzM4NCw1MTIsWyJwb3J0cmFpdCJdLCJmM2UwIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHpNODAgMzY4YzAgOC44IDcuMiAxNiAxNiAxNmwxOTIgMGM4LjggMCAxNi03LjIgMTYtMTYgMC00NC4yLTM1LjgtODAtODAtODBsLTY0IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwek0xOTIgMjQ4YTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyeiJdfSxOVnQ9bTZlLFJWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmlkZ2UtbG9jayIsaWNvbjpbNTc2LDUxMixbXSwiZTRjYyIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDQ0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC04IDAgMCAzMi4yYzEzLjggLjYgMjcuMiAyLjggNDAgNi40bDAgNTAuN2MtMTQuOC02LTMxLTkuMy00OC05LjMtNzAuNyAwLTEyOCA1Ny4zLTEyOCAxMjhsMCAyNC40Yy0uNCAuMy0uNyAuNi0xLjEgMS0xNy4zLTI1LTQ2LjItNDEuMy03OC45LTQxLjMtNTMgMC05NiA0My05NiA5NmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk0YzAtMzguOC0yNi40LTcyLjYtNjQtODJsMC0xMTIgNDAgMCAwLTY0LTggMEMxNC4zIDk2IDAgODEuNyAwIDY0em00MjQgNjguNmwwLTM2LjYtODAgMCAwIDY0IDE4LjggMGMxOC4yLTEyLjggMzguOS0yMi4yIDYxLjItMjcuNHpNMjE2IDk2bDAgNjQgODAgMCAwLTY0LTgwIDB6bS00OCAwbC04MCAwIDAgNjQgODAgMCAwLTY0ek00OTYgMzA0LjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek0zNTIgNDAwYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxGVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFtbWVyIixpY29uOls2NDAsNTEyLFsxMjgyOTZdLCJmNmUzIiwiTTI0Ni45IDE4LjNMMjcxIDMuOGMyMS42LTEzIDQ2LjMtMTkuOCA3MS41LTE5LjggMzYuOCAwIDcyLjIgMTQuNiA5OC4yIDQwLjdsNjMuOSA2My45YzE1IDE1IDIzLjQgMzUuNCAyMy40IDU2LjZsMCAzMC45IDE5LjcgMTkuNyAwIDBjMTUuNi0xNS42IDQwLjktMTUuNiA1Ni42IDBzMTUuNiA0MC45IDAgNTYuNmwtNjQgNjRjLTE1LjYgMTUuNi00MC45IDE1LjYtNTYuNiAwcy0xNS42LTQwLjkgMC01Ni42TDQ2NCAyNDAgNDMzLjEgMjQwYy0yMS4yIDAtNDEuNi04LjQtNTYuNi0yMy40bC00OS4xLTQ5LjFjLTE1LTE1LTIzLjQtMzUuNC0yMy40LTU2LjZsMC0xMi43YzAtMTEuMi01LjktMjEuNy0xNS41LTI3LjRsLTQxLjYtMjVjLTEwLjQtNi4yLTEwLjQtMjEuMiAwLTI3LjR6TTUwLjcgNDAyLjdsMjIyLjEtMjIyLjEgOTAuNSA5MC41LTIyMi4xIDIyMi4xYy0yNSAyNS02NS41IDI1LTkwLjUgMHMtMjUtNjUuNSAwLTkwLjV6Il19LGc2ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC0xLTkiLGljb246WzUxMiw1MTIsWyJzb3J0LW51bWVyaWMtdXAiXSwiZjE2MyIsIk0xNTAuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgMTQxLjMgOTYgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDYuNyA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6TTQxOC43IDM4Yy04LjMtNi0xOS4xLTcuNy0yOC44LTQuNGwtNDggMTZjLTE2LjggNS42LTI1LjggMjMuNy0yMC4yIDQwLjVzMjMuNyAyNS44IDQwLjUgMjAuMmw1LjktMiAwIDUxLjYtMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtOTZjMC0xMC4zLTQuOS0xOS45LTEzLjMtMjZ6TTM2NS4xIDQzMC42Yy05LjYgMTQuOC01LjQgMzQuNiA5LjQgNDQuM3MzNC42IDUuNCA0NC4zLTkuNGw0Mi4xLTY0LjljMTIuNC0xOS4yIDE5LjEtNDEuNiAxOS4xLTY0LjUgMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBjMCAzNi4xIDIzLjkgNjYuNyA1Ni44IDc2LjZsLTExLjcgMTh6TTM3NiAzMzZhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0sT1Z0PWc2ZSxCVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlc3Mta25pZ2h0IixpY29uOlszODQsNTEyLFs5ODIyXSwiZjQ0MSIsIk0xOTItMzJjMTA2IDAgMTkyIDg2IDE5MiAxOTJsMCAxMzMuNWMwIDE3LTYuOCAzMy4yLTE4LjcgNDUuMkwzMjAgMzg0IDM3MC44IDQzNC43YzguNSA4LjUgMTMuMiAyMCAxMy4yIDMyIDAgMjUtMjAuMyA0NS4yLTQ1LjIgNDUuM0w0NS4zIDUxMmMtMjUgMC00NS4yLTIwLjMtNDUuMi00NS4zIDAtMTIgNC44LTIzLjUgMTMuMi0zMkw2NCAzODQgNjQgMzQ5LjRjMC0xOC43IDguMi0zNi40IDIyLjMtNDguNmw4OS43LTc2LjgtNDggMC0xMi4xIDEyLjFjLTEyLjcgMTIuNy0zMCAxOS45LTQ4IDE5LjktMzcuNSAwLTY3LjktMzAuNC02Ny45LTY3LjlsMC04LjdjMC0yMi44IDguMi00NC45IDIzLjEtNjIuM0w5NiAzMiA5NiAwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDB6TTE2MCA3MmEyNCAyNCAwIDEgMCAwIDQ4IDI0IDI0IDAgMSAwIDAtNDh6Il19LEhWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1mbG9vZC13YXRlci1jaXJjbGUtYXJyb3ctcmlnaHQiLGljb246WzY0MCw1MTIsW10sImU1MGYiLCJNMjg4LjUgMTEyYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6TTE0MS4yIDQ0LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBsNTYgNTZjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTU2IDU2Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDI4LjctMjguNy04OS40IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsODkuNCAwLTI4LjctMjguN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZ6TTMzNi41IDExMmMwIDcxLjEtMzguNiAxMzMuMS05NiAxNjYuM2wwIDEyLjhjMjIuMSA0LjUgNDMuNCAxMy45IDYyLjQgMjguMiAyMi4xIDE2LjYgMjkuMSAxNi42IDUxLjIgMCAyNy41LTIwLjcgNTkuOS0zMS4yIDkyLjQtMzEuNCAzMy4xLS4yIDY2LjMgMTAuMiA5NC40IDMxLjQgNi45IDUuMiAxMi44IDkgMTggMTEuNyAuNiAuMyAxLjIgLjYgMS44IDEgNC4yIDIuMyA4LjUgNC42IDEyLjYgMS41IDYtNC41IDEyLjYtOCAxOS4zLTEwLjRsMC0xMTUuMiA0LjUgMGMxNS4yIDAgMjcuNS0xMi4zIDI3LjUtMjcuNSAwLTcuOS0zLjQtMTUuNS05LjQtMjAuN0w0NDQuNSAxMC41QzQzNi44IDMuNyA0MjYuOCAwIDQxNi41IDBzLTIwLjMgMy43LTI4IDEwLjVMMzI5LjkgNjEuOGM0LjMgMTYgNi42IDMyLjggNi42IDUwLjJ6bTMyIDg4YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OHpNNDc1LjEgNDEyLjFjMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zUzI5MCAzOTEuOCAyNjYgMzczLjdjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdzLTUuOSAyNS42IDQuNyAzMy42YzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOWMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMHptLTcxLjIgOTZjMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zUzI5MCA0ODcuOCAyNjYgNDY5LjdjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdzLTUuOSAyNS42IDQuNyAzMy42YzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOXoiXX0sVDc9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtcmlnaHQtZnJvbS1zcXVhcmUiLGljb246WzUxMiw1MTIsWyJleHRlcm5hbC1saW5rIl0sImYwOGUiLCJNMzIwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsODIuNyAwLTIwMS40IDIwMS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDQ0OCAxMDkuMyA0NDggMTkyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC0xNy43LTE0LjMtMzItMzItMzJMMzIwIDB6TTgwIDk2QzM1LjggOTYgMCAxMzEuOCAwIDE3NkwwIDQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwyNTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTgwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2TDgwIDQ0OGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjU2YzAtOC44IDcuMi0xNiAxNi0xNmw4MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDk2eiJdfSxxVnQ9VDcsVlZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24tdXAtYWNyb3NzLWxpbmUiLGljb246WzUxMiw1MTIsW10sImU0YWYiLCJNMjY1LjQgMTA1LjRsOTYtOTZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTQxLjQtNDEuNCAwIDExNC43IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyMCAwIDAgMTE0LjcgNDEuNC00MS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTk2IDk2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtOTYtOTZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgNDAyLjcgOTYgMjg4IDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMjAgMCAwLTExNC43LTQxLjQgNDEuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjN6TTQxNiAzMzZsMCAxNDRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNDQgNjQgMHpNOTYgMTc2TDk2IDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxNDQtNjQgMHoiXX0sYjZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MTYsImdyaW4tYmVhbSJdLCJmNTgyIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0zODYuNyAzMDguOWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjEtMjIuNCA2MS4zLTgxLjMgMTA1LjEtMTUwLjMgMTA1LjFTMTI4LjEgMzg4LjIgMTA1LjcgMzI2LjljLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMXpNMTc2IDE4MGMtMTUuNSAwLTI4IDEyLjUtMjggMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHptMTMyIDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjh6Il19LGpWdD1iNmUsdjZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlY3RhbmdsZS1hZCIsaWNvbjpbNTEyLDUxMixbImFkIl0sImY2NDEiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6TTQxNiAxODRsMCAxNDRjMCAxMy4zLTEwLjcgMjQtMjQgMjQtNy4xIDAtMTMuNS0zLjEtMTcuOS04LTEwLjIgNS4xLTIxLjggOC0zNC4xIDgtNDIgMC03Ni0zNC03Ni03NnMzNC03NiA3Ni03NmM5LjkgMCAxOS4zIDEuOSAyOCA1LjNsMC0yMS4zYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6bS00OCA5MmEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwek0xNjAgMjA4Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMiA0OCAwIDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwem0zMiA5NmwtNDggMCAwIDI0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTA0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDE2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMDRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yNHoiXX0sVVZ0PXY2ZSx4NmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9vay10YW5ha2giLGljb246WzQ0OCw1MTIsWyJ0YW5ha2giXSwiZjgyNyIsIk0zNTIgNTEyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwwLTY2LjdDMTMuNCAzNzQuNyAwIDM1Ni45IDAgMzM2TDAgNDhDMCAyMS41IDIxLjUgMCA0OCAwTDM1MiAwYzUzIDAgOTYgNDMgOTYgOTZsMCAzMjBjMCA1My00MyA5Ni05NiA5NnptMzItOTZjMC0xNy43LTE0LjMtMzItMzItMzJsLTI1NiAwIDAgNjQgMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6TTExMy45IDIyOWMtMS4yIDItMS45IDQuMi0xLjkgNi42IDAgNi45IDUuNiAxMi41IDEyLjUgMTIuNWw1Ni45IDAgMzAuNSA0OS4yYzIuNiA0LjIgNy4yIDYuOCAxMi4yIDYuOHM5LjYtMi42IDEyLjItNi44bDMwLjUtNDkuMiA1Ni45IDBjNi45IDAgMTIuNS01LjYgMTIuNS0xMi41IDAtMi4zLS42LTQuNi0xLjktNi42bC0yNy44LTQ1IDI3LjgtNDVjMS4yLTIgMS45LTQuMiAxLjktNi42IDAtNi45LTUuNi0xMi41LTEyLjUtMTIuNWwtNTYuOSAwLTMwLjUtNDkuMkMyMzMuNiA2Ni42IDIyOSA2NCAyMjQgNjRzLTkuNiAyLjYtMTIuMiA2LjhsLTMwLjUgNDkuMi01Ni45IDBjLTYuOSAwLTEyLjUgNS42LTEyLjUgMTIuNSAwIDIuMyAuNiA0LjYgMS45IDYuNmwyNy44IDQ1LTI3LjggNDV6Il19LFdWdD14NmUseTZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdC10dWItcGVyc29uIixpY29uOls0NDgsNTEyLFsiaG90LXR1YiJdLCJmNTkzIiwiTTI0MCA0MGMwIDEzLjYgNS44IDI2LjUgMTUuOCAzNS42bDI2LjUgMjMuOGMyNCAyMS42IDM3LjcgNTIuMyAzNy43IDg0LjYgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xOC43LTcuOS0zNi40LTIxLjgtNDguOWwtMjYuNS0yMy44QzIwMy41IDkzLjEgMTkyIDY3LjIgMTkyIDQwIDE5MiAyNi43IDIwMi43IDE2IDIxNiAxNnMyNCAxMC43IDI0IDI0ek0wIDMzNmwwLTgwYzAtMzUuMyAyOC43LTY0IDY0LTY0bDE5LjcgMGM4LjEgMCAxNi4yIDEuNiAyMy44IDQuNmwxMzcuMSA1NC44YzcuNiAzIDE1LjYgNC42IDIzLjggNC42TDM4NCAyNTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDMzNnptOTYtMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTgwYzAtMTMuMy0xMC43LTI0LTI0LTI0em0xNTIgMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtODB6bTEwNC0yNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtODBjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTMyOCAxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNCAwIDEzLjYgNS44IDI2LjUgMTUuOCAzNS42bDI2LjUgMjMuOGMyNCAyMS42IDM3LjcgNTIuMyAzNy43IDg0LjYgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xOC43LTcuOS0zNi40LTIxLjgtNDguOWwtMjYuNS0yMy44QzMxNS41IDkzLjEgMzA0IDY3LjIgMzA0IDQwIDMwNCAyNi43IDMxNC43IDE2IDMyOCAxNnpNNjQgNDBhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6Il19LEdWdD15NmUsWVZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtaGFsZi1kYXNoZWQiLGljb246WzM4NCw1MTIsW10sImU2OTgiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRsMCAyNTYgMzg0IDAgMC0xNDkuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNTguNyAxOC43QzI0Ni43IDYuNyAyMzAuNSAwIDIxMy41IDBMNjQgMHpNMzI1LjUgMTc2TDIzMiAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDIwOCA1OC41IDMyNS41IDE3NnpNMCAzNTJsMCA2NCA2NCAwIDAtNjQtNjQgMHpNNjQgNTEybDAtNjQtNjQgMGMwIDM1LjMgMjguNyA2NCA2NCA2NHptMzIgMGw4MCAwIDAtNjQtODAgMCAwIDY0em0xMTIgMGw4MCAwIDAtNjQtODAgMCAwIDY0em0xMTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwtNjQgMCAwIDY0em02NC0xNjBsLTY0IDAgMCA2NCA2NCAwIDAtNjR6Il19LHc2ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvdXRkZW50IixpY29uOls0NDgsNTEyLFsiZGVkZW50Il0sImYwM2IiLCJNLjQgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTM4NCAwQzE0LjggOTYgLjQgODEuNyAuNCA2NHptMTkyIDEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyem0zMiA5NmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6TS40IDQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzg0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0uNyAyNjguNmMtOC4yLTYuNC04LjItMTguOSAwLTI1LjNsMTAxLjktNzkuM2MxMC41LTguMiAyNS44LS43IDI1LjggMTIuNmwwIDE1OC42YzAgMTMuMy0xNS4zIDIwLjgtMjUuOCAxMi42TC43IDI2OC42eiJdfSxaVnQ9dzZlLFhWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXBlYWNlIixpY29uOls0NDgsNTEyLFs5OTk2XSwiZjI1YiIsIk0xOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDIwOC02NCAwIDAtMjA4YzAtMTcuNyAxNC4zLTMyIDMyLTMyem05NiAxNjBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyem02NCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NHpNNjEuMyA1MS4yTDE0My45IDI0MCA3NC4xIDI0MCAyLjcgNzYuOEMtNC40IDYwLjYgMyA0MS44IDE5LjIgMzQuN1M1NC4yIDM1IDYxLjMgNTEuMnptMjcgMjIxLjNsLS4yLS41IDk1LjkgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MGwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw1NiAwYzM5LjggMCA3Mi0zMi4yIDcyLTcybDAtLjZjOS40IDUuNCAyMC4zIDguNiAzMiA4LjYgMTMuMiAwIDI1LjQtNCAzNS42LTEwLjggOC43IDI0LjkgMzIuNSA0Mi44IDYwLjQgNDIuOCAxMS43IDAgMjIuNi0zLjEgMzItOC42bDAgOC42YzAgODguNC03MS42IDE2MC0xNjAgMTYwbC02MS43IDBjLTQyLjQgMC04My4xLTE2LjktMTEzLjEtNDYuOUw2OS41IDQ1My41QzQ1LjUgNDI5LjUgMzIgMzk2LjkgMzIgMzYzbDAtMjdjMC0zMi43IDI0LjYtNTkuNyA1Ni4zLTYzLjV6Il19LEtWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFkLXNpZGUtdmlydXMiLGljb246WzUxMiw1MTIsW10sImUwNjQiLCJNMzI5LjcgNDQ4Yy01LjEgMC05LjcgMy43LTkuNyA4LjhsMCA3LjJjMCAyNi41LTIxLjUgNDgtNDggNDhsLTE2MCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTYzLjZjMC0xMi42LTUuMS0yNC41LTEzLjEtMzQuMi0zMS44LTM4LjctNTAuOS04OC4yLTUwLjktMTQyLjIgMC0xMjMuNyAxMDAuMy0yMjQgMjI0LTIyNCAxMTIuNyAwIDIwNiA4My4zIDIyMS43IDE5MS43IC40IDMgMS43IDUuOSAzLjYgOC4zbDM1LjggNDIuOWM3IDguNCAxMC45IDE5LjEgMTAuOSAzMC4xIDAgMjUuOS0yMSA0Ny00NyA0N2wtMSAwYy04LjggMC0xNiA3LjItMTYgMTZsMCA0OGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMzguMyAwek0yMjQgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0IDAgMjIuOS0yNy43IDM0LjQtNDMuOSAxOC4yLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjljMTYuMiAxNi4yIDQuNyA0My45LTE4LjIgNDMuOS0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0YzIyLjkgMCAzNC40IDI3LjcgMTguMiA0My45LTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGMxNi4yLTE2LjIgNDMuOS00LjcgNDMuOSAxOC4yIDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0yMi45IDI3LjctMzQuNCA0My45LTE4LjIgOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45Yy0xNi4yLTE2LjItNC43LTQzLjkgMTguMi00My45IDEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0Yy0yMi45IDAtMzQuNC0yNy43LTE4LjItNDMuOSA5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwYy0xNi4yIDE2LjItNDMuOSA0LjctNDMuOS0xOC4yIDAtMTMuMy0xMC43LTI0LTI0LTI0em0tMzIgODhhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em00MCA4OGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxRVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tcGFzcyIsaWNvbjpbNTEyLDUxMixbMTI5NTE3XSwiZjE0ZSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnptNTAuNy0xODYuOUwxNjIuNCAzODAuNmMtMTkuNCA3LjUtMzguNS0xMS42LTMxLTMxbDU1LjUtMTQ0LjNjMy4zLTguNSA5LjktMTUuMSAxOC40LTE4LjRsMTQ0LjMtNTUuNWMxOS40LTcuNSAzOC41IDExLjYgMzEgMzFMMzI1LjEgMzA2LjdjLTMuMiA4LjUtOS45IDE1LjEtMTguNCAxOC40ek0yODggMjU2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LEpWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW4tbmliIixpY29uOls1MTIsNTEyLFsxMDAwMV0sImY1YWQiLCJNMzY4LjUgMTguM2wtNTAuMSA1MC4xIDEyNS4zIDEyNS4zIDUwLjEtNTAuMWMyMS45LTIxLjkgMjEuOS01Ny4zIDAtNzkuMkw0NDcuNyAxOC4zYy0yMS45LTIxLjktNTcuMy0yMS45LTc5LjIgMHpNMjc5LjMgOTcuMmwtLjUgLjEtMTQ0LjEgNDMuMmMtMTkuOSA2LTM1LjcgMjEuMi00Mi4zIDQxTDMuOCA0NDUuOGMtMi45IDguNy0xLjkgMTguMiAyLjUgMjZMMTYxLjcgMzE2LjRjLTEuMS00LTEuNi04LjEtMS42LTEyLjQgMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OC0yMS41IDQ4LTQ4IDQ4Yy00LjMgMC04LjUtLjYtMTIuNC0xLjZMNDAuMyA1MDUuN2M3LjggNC40IDE3LjIgNS40IDI2IDIuNWwyNjQuMy04OC42YzE5LjctNi42IDM1LTIyLjQgNDEtNDIuM2w0My4yLTE0NC4xIC4xLS41LTEzNS41LTEzNS41eiJdfSxlanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVudC1hcnJvd3MtZG93biIsaWNvbjpbNTEyLDUxMixbXSwiZTU4MSIsIk0xODUuNSAxMjFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMzEgMzEgMC0xMDIuMWMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDEwMi4xLTMxLTMxYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDcyIDcyYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDcyLTcyem0yNDggNzJsNzItNzJjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMzEgMzEgMC0xMDIuMWMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDEwMi4xLTMxLTMxYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDcyIDcyYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwek02MC4zIDI5Mi42TDM3LjEgNDc2Yy0yLjQgMTkuMSAxMi41IDM2IDMxLjcgMzZsMTU0LjUgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTExNy40YzAtNS45IDQuNy0xMC42IDEwLjYtMTAuNiA0IDAgNy43IDIuMyA5LjUgNS45bDY4LjIgMTM2LjVjNS40IDEwLjggMTYuNSAxNy43IDI4LjYgMTcuN2w3MS45IDBjMTkuMyAwIDM0LjItMTYuOSAzMS43LTM2TDQ1Mi43IDI5Mi43Yy0xLjItOS43LTYuOS0xOC40LTE1LjMtMjMuNEwyNzEuOSAxNjkuOWMtMTAuMi02LjEtMjIuOS02LjEtMzMuMSAuMUw3NS40IDI2OS4zYy04LjMgNS4xLTEzLjkgMTMuNy0xNS4xIDIzLjN6Il19LE02ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb3J3YXJkLWZhc3QiLGljb246WzUxMiw1MTIsWzkxOTcsImZhc3QtZm9yd2FyZCJdLCJmMDUwIiwiTTE5LjggNDc3LjZjMTIgNSAyNS43IDIuMiAzNC45LTYuOUwyMjQgMzAxLjMgMjI0IDQ0OGMwIDEyLjkgNy44IDI0LjYgMTkuOCAyOS42czI1LjcgMi4yIDM0LjktNi45TDQ0OCAzMDEuMyA0NDggNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zODRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNDYuNy0xNjkuNC0xNjkuNGMtOS4yLTkuMi0yMi45LTExLjktMzQuOS02LjlTMjI0IDUxLjEgMjI0IDY0TDIyNCAyMTAuNyA1NC42IDQxLjRjLTkuMi05LjItMjIuOS0xMS45LTM0LjktNi45UzAgNTEuMSAwIDY0TDAgNDQ4YzAgMTIuOSA3LjggMjQuNiAxOS44IDI5LjZ6Il19LHRqdD1NNmUsYWp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNyb3AiLGljb246WzUxMiw1MTIsW10sImYxMjUiLCJNNDQ4IDEwOS4zbDU0LjYtNTQuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEw0MDIuNyA2NCAxNzYgNjQgMTc2IDEyOCAzMzguNyAxMjggMTI4IDMzOC43IDEyOCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMlM2NCAxNC4zIDY0IDMybDAgMzItMzIgMEMxNC4zIDY0IDAgNzguMyAwIDk2czE0LjMgMzIgMzIgMzJsMzIgMCAwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMDggMCAwLTY0LTE2Mi43IDAgMjEwLjctMjEwLjcgMCAzMDYuN2MwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTI3NC43eiJdfSxrNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2hpc2tleS1nbGFzcyIsaWNvbjpbNDQ4LDUxMixbMTI5MzQ3LCJnbGFzcy13aGlza2V5Il0sImY3YTAiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDM1MmMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOGwxOTIgMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGwwLTI4OGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAzMnpNNjQgMjU2bDAtMTYwIDMyMCAwIDAgMTYwLTMyMCAweiJdfSxyanQ9azZlLGlqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUiLGljb246WzQ0OCw1MTIsWzk2MzIsOTcyMyw5NzI0LDYxNTkwXSwiZjBjOCIsIk02NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJ6Il19LHo2ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4iLGljb246WzUxMiw1MTIsWzEyODUxMiwiZ3JpbiJdLCJmNTgwIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0zODYuNyAzMDguOWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjEtMjIuNCA2MS4zLTgxLjMgMTA1LjEtMTUwLjMgMTA1LjFTMTI4LjEgMzg4LjIgMTA1LjcgMzI2LjljLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMXpNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxzanQ9ejZlLG9qdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWNvbnRyYWN0IixpY29uOlszODQsNTEyLFtdLCJmNTZjIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek04OCA2NEM3NC43IDY0IDY0IDc0LjcgNjQgODhzMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDg4IDY0em0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDB6bTcwLjMgMTYwYy0xMS4zIDAtMjEuOSA1LjEtMjguOSAxMy45TDY5LjMgNDA5Yy04LjMgMTAuMy02LjYgMjUuNSAzLjcgMzMuN3MyNS41IDYuNiAzMy43LTMuOGw0Ny4xLTU4LjggMTUuMiA1MC43YzMgMTAuMiAxMi40IDE3LjEgMjMgMTcuMWwxMDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODYuMSAwLTE2LjEtNTMuNmMtNC43LTE1LjctMTkuMS0yNi40LTM1LjUtMjYuNHoiXX0sbmp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuZ2xlLXVwIixpY29uOlszODQsNTEyLFs4OTYzXSwiZjEwNiIsIk0xNjkuNCAxMzcuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGwxNjAgMTYwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDE5MiAyMDUuMyA1NC42IDM0Mi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2wxNjAtMTYweiJdfSxTNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1zbWlsZSIsaWNvbjpbNTEyLDUxMixbMTI4NTc4LCJzbWlsZSJdLCJmMTE4IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjUuNCAzMjEuOWMyMC40IDI4IDUzLjQgNDYuMSA5MC42IDQ2LjFzNzAuMi0xOC4xIDkwLjYtNDYuMWM3LjgtMTAuNyAyMi44LTEzLjEgMzMuNS01LjNzMTMuMSAyMi44IDUuMyAzMy41QzM1Ni4zIDM5MCAzMDkuMiA0MTYgMjU2IDQxNnMtMTAwLjMtMjYtMTI5LjQtNjUuOWMtNy44LTEwLjctNS40LTI1LjcgNS4zLTMzLjVzMjUuNy01LjQgMzMuNSA1LjN6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sbGp0PVM2ZSxjanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWRyZXNzLWJ1cnN0IixpY29uOls2NDAsNTEyLFtdLCJlNTQ0IiwiTTIwOCA0MC4xYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHpNOCAxNDQuMWMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptOTIuNSAxNDEuNGwzMy45LTMzLjljOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEw2Ni42IDI1MS42Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDB6TTY2LjYgMi43Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWwzMy45IDMzLjljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDEwMC41IDIuN0M5MS4xLTYuNyA3Ni02LjcgNjYuNiAyLjd6TTM1MiA4MGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnpNMjQ2LjIgMzg0bDI1LjggMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDMyIDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOCAyNS44IDBjMTAuOSAwIDE4LjYtMTAuNyAxNS4yLTIxLjFsLTQzLTEyOSA0OC4zIDY1LjFjMTAuNSAxNC4yIDMwLjYgMTcuMiA0NC44IDYuNnMxNy4yLTMwLjYgNi42LTQ0LjhsLTcwLjUtOTVDNDM0IDEzMiAzOTQuMyAxMTIgMzUyIDExMnMtODIgMjAtMTA3LjIgNTMuOWwtNzAuNSA5NWMtMTAuNSAxNC4yLTcuNiAzNC4yIDYuNiA0NC44czM0LjIgNy42IDQ0LjgtNi42bDQ4LjMtNjUuMS00MyAxMjljLTMuNSAxMC40IDQuMyAyMS4xIDE1LjIgMjEuMXoiXX0sZGp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpdmlkZSIsaWNvbjpbNDQ4LDUxMixbMTAxMzUsMjQ3XSwiZjUyOSIsIk0yMjQgNDhhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTAgMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTE2OCA0MDhhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAweiJdfSxwanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29kZS1mb3JrIixpY29uOls0NDgsNTEyLFtdLCJlMTNiIiwiTTgwIDEwNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTgwLTI0YzAgMzIuOC0xOS43IDYxLTQ4IDczLjNsMCAyMi43YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDEyOCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjIuN2MtMjguMy0xMi4zLTQ4LTQwLjUtNDgtNzMuMyAwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMzIuOC0xOS43IDYxLTQ4IDczLjNsMCAyMi43YzAgNjEuOS01MC4xIDExMi0xMTIgMTEybC0zMiAwIDAgNzAuN2MyOC4zIDEyLjMgNDggNDAuNSA0OCA3My4zIDAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtMzIuOCAxOS43LTYxIDQ4LTczLjNsMC03MC43LTMyIDBDOTguMSAyODggNDggMjM3LjkgNDggMTc2bDAtMjIuN0MxOS43IDE0MSAwIDExMi44IDAgODAgMCAzNS44IDM1LjggMCA4MCAwczgwIDM1LjggODAgODB6bTIwOCAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTI0OCA0MzJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0sdWp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWZsYWciLGljb246WzY0MCw1MTIsW10sImU1MGQiLCJNNDcyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwIDAgMjg4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0yODMuNSA1OS4xbDEwMC41IDk2LjkgMCAzNTYtMjU2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTQ0LTE5LjkgMGMtMTUuNSAwLTI4LjEtMTIuNi0yOC4xLTI4LjEgMC03LjYgMy4xLTE0LjkgOC42LTIwLjJMMjI4LjUgNTkuMUMyMzUuOSA1MiAyNDUuNyA0OCAyNTYgNDhzMjAuMSA0IDI3LjUgMTEuMXpNMjMyIDI1NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTQ4IDB6Il19LE44PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLWNvbHVtbnMiLGljb246WzUxMiw1MTIsWyJiYW5rIiwiaW5zdGl0dXRpb24iLCJtdXNldW0iLCJ1bml2ZXJzaXR5Il0sImYxOWMiLCJNMjcxLjkgMjAuMmMtOS44LTUuNi0yMS45LTUuNi0zMS44IDBsLTIyNCAxMjhjLTEyLjYgNy4yLTE4LjggMjItMTUuMSAzNlMxNy41IDIwOCAzMiAyMDhsMzIgMCAwIDIwOCAwIDAtNTEuMiAzOC40QzQuNyA0NjAuNCAwIDQ2OS45IDAgNDgwIDAgNDk3LjcgMTQuMyA1MTIgMzIgNTEybDQ0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyIDAtMTAuMS00LjctMTkuNi0xMi44LTI1LjZsLTUxLjItMzguNCAwLTIwOCAzMiAwYzE0LjUgMCAyNy4yLTkuOCAzMC45LTIzLjhzLTIuNS0yOC44LTE1LjEtMzZsLTIyNC0xMjh6TTQwMCAyMDhsMCAyMDgtNjQgMCAwLTIwOCA2NCAwem0tMTEyIDBsMCAyMDgtNjQgMCAwLTIwOCA2NCAwem0tMTEyIDBsMCAyMDgtNjQgMCAwLTIwOCA2NCAwek0yNTYgOTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxmanQ9TjgsaGp0PU44LG1qdD1OOCxnanQ9TjgsYmp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJ1ZyIsaWNvbjpbNTc2LDUxMixbXSwiZTU2OSIsIk0yNCA2NGw1NiAwIDAgMzg0LTU2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAwIDAtNDAtOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDggMCAwLTMyLTggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw4IDAgMC0zMi04IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAwIDAtNDAtOCAwQzEwLjcgMTEyIDAgMTAxLjMgMCA4OFMxMC43IDY0IDI0IDY0em0xMDQgMGwzMjAgMCAwIDM4NC0zMjAgMCAwLTM4NHpNNTc2IDg4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC04IDAgMCA0MCA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTggMCAwIDMyIDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOCAwIDAgMzIgOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04IDAgMCA0MCA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTU2IDAgMC0zODQgNTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHoiXX0sdmp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvZGUtbWVyZ2UiLGljb246WzQ0OCw1MTIsW10sImYzODciLCJNODAgNTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0zMi40IDk3LjJjMjgtMTIuNCA0Ny42LTQwLjUgNDcuNi03My4yIDAtNDQuMi0zNS44LTgwLTgwLTgwUzAgMzUuOCAwIDgwYzAgMzIuOCAxOS43IDYxIDQ4IDczLjNsMCAyMDUuM0MxOS43IDM3MSAwIDM5OS4yIDAgNDMyIDAgNDc2LjIgMzUuOCA1MTIgODAgNTEyczgwLTM1LjggODAtODBjMC0zMi44LTE5LjctNjEtNDgtNzMuM2wwLTg2LjZjMjYuNyAyMC4xIDYwIDMyIDk2IDMybDg2LjcgMGMxMi4zIDI4LjMgNDAuNSA0OCA3My4zIDQ4IDQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwYy0zMi44IDAtNjEgMTkuNy03My4zIDQ4TDIwOCAyNDBjLTQ5LjkgMC05MS0zOC4xLTk1LjYtODYuOHpNODAgNDA4YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMzQ0IDI3MmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSx4anQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtdHN1bmFtaSIsaWNvbjpbNjQwLDUxMixbXSwiZTUxNSIsIk0yODggMTZDMTU1LjUgMTYgNDggMTIzLjUgNDggMjU2UzE1NS41IDQ5NiAyODggNDk2YzcuNCAwIDE5LjctMi4zIDMzLjctNy4zIDEzLjgtNC45IDI3LjEtMTEuNyAzNi43LTE4LjkgMzguNC0yOSA5MC41LTI5IDEyOSAwIDE1LjQgMTEuNiAzNS4zIDIxLjEgNTUgMjQuNCAxOS41IDMuMyAzNyAuNCA1MS4xLTEwLjIgMTAuNi04IDI1LjYtNS45IDMzLjYgNC43czUuOSAyNS42LTQuNyAzMy42Yy0yNy4zIDIwLjUtNTkuMiAyNC04Ny45IDE5LjItMjguNS00LjgtNTUuNC0xOC03NS45LTMzLjQtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDAtMTQuNSAxMC45LTMyLjQgMTkuNy00OS41IDI1LjgtMTYuOCA2LTM0LjkgMTAuMS00OS45IDEwLjFsLS4xIDBDMTI4LjkgNTQzLjkgMCA0MTUgMCAyNTYgMCA5Ni45IDEyOC45LTMyIDI4OC0zMiAzMDEuMy0zMiAzMTItMjEuMyAzMTItOHMtMTAuNyAyNC0yNCAyNHptNDQuOCAxNjYuNGw5Ni03MmMxMS40LTguNSAyNy4xLTguNSAzOC41IDBsOTUuNSA3MmM4IDYgMTIuNyAxNS41IDEyLjcgMjUuNWwuMyAxMjEuNWMtMi4yIDEuMy00LjMgMi42LTYuNCA0LjItNC4zIDMuMS04LjcgLjgtMTMuMi0xLjVsLTEuMi0uNi0uNy0uM2MtNS40LTIuNy0xMS43LTYuNi0xOC45LTExLjctMjkuNS0yMS4xLTY0LjMtMzEuNi05OS4xLTMxLjQtMzQuMSAuMi02OC4xIDEwLjctOTcgMzEuNC03LjggNS42LTEzLjggOS4zLTE5LjMgMTEuMkwzMjAgMjA4YzAtMTAuMSA0LjctMTkuNiAxMi44LTI1LjZ6bTU0LjYgMjI5LjdjLTE0LjUgMTAuOS0zMi40IDE5LjctNDkuNSAyNS44LTE2LjggNi0zNC45IDEwLjEtNDkuOSAxMC4xLTEwNiAwLTE5Mi04Ni0xOTItMTkyUzE4MiA2NCAyODggNjRjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTc5LjUgMC0xNDQgNjQuNS0xNDQgMTQ0czY0LjUgMTQ0IDE0NCAxNDRjNy40IDAgMTkuNy0yLjMgMzMuNy03LjMgMTMuOC00LjkgMjcuMS0xMS43IDM2LjctMTguOSAzOC40LTI5IDkwLjUtMjkgMTI5IDAgMTUuNCAxMS42IDM1LjMgMjEuMSA1NSAyNC40IDE5LjUgMy4zIDM3IC40IDUxLjEtMTAuMiAxMC42LTggMjUuNi01LjkgMzMuNiA0LjdzNS45IDI1LjYtNC43IDMzLjZjLTI3LjMgMjAuNS01OS4yIDI0LTg3LjkgMTkuMi0yOC41LTQuOC01NS40LTE4LTc1LjktMzMuNC0yMS4zLTE2LjEtNDkuOS0xNi4xLTcxLjIgMHoiXX0seWp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hZ25pZnlpbmctZ2xhc3MtY2hhcnQiLGljb246WzUxMiw1MTIsW10sImU1MjIiLCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NkMyOTYuMyA0MDEuMSAyNTMuOSA0MTYgMjA4IDQxNiA5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMCA0MTYgOTMuMSA0MTYgMjA4em0tMzEyIDhsMCA2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6bTgwLTk2bDAgMTYwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6bTgwIDY0bDAgOTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTk2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0eiJdfSx3anQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidW1icmVsbGEiLGljb246WzUxMiw1MTIsW10sImYwZTkiLCJNMjU2LTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMmMxMjYuMyAxNS43IDIyNCAxMjMuNSAyMjQgMjU0IDAgMy44LS4xIDcuNS0uMiAxMS4zLS4zIDYuOS01IDEyLjgtMTEuNyAxNC43cy0xMy44LS43LTE3LjYtNi41Yy0xNC40LTIxLjQtMzguOC0zNS41LTY2LjUtMzUuNS0yOS4zIDAtNTQuOSAxNS43LTY4LjkgMzkuMy0yLjcgNC42LTcuNiA3LjYtMTMgNy44cy0xMC41LTIuMi0xMy43LTYuNWMtMTQuNi0xOS44LTM4LTMyLjYtNjQuNS0zMi42cy00OS45IDEyLjgtNjQuNSAzMi42Yy0zLjIgNC4zLTguMyA2LjgtMTMuNyA2LjVzLTEwLjItMy4yLTEzLTcuOGMtMTQtMjMuNi0zOS42LTM5LjMtNjguOS0zOS4zLTI3LjcgMC01Mi4xIDE0LjEtNjYuNSAzNS41LTMuOSA1LjctMTEgOC40LTE3LjYgNi41Uy41IDI3NC4yIC4yIDI2Ny4zQy4xIDI2My41IDAgMjU5LjggMCAyNTYgMCAxMjUuNSA5Ny43IDE3LjcgMjI0IDJsMC0yYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0zMiAzNjBsMCAxMDIuNmMwIDQ1LTM2LjUgODEuNC04MS40IDgxLjQtMzAuOCAwLTU5LTE3LjQtNzIuOC00NWwtMi4zLTQuN2MtNy45LTE1LjgtMS41LTM1IDE0LjMtNDIuOXMzNS0xLjUgNDIuOSAxNC4zbDIuMyA0LjdjMyA1LjkgOSA5LjYgMTUuNiA5LjYgOS42IDAgMTcuNC03LjggMTcuNC0xNy40TDIyNCAzMjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnoiXX0sTWp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhpbGwtcm9ja3NsaWRlIixpY29uOls1NzYsNTEyLFtdLCJlNTA4IiwiTTI1Mi40IDEwMy44bDI3IDQ4YzIuOCA1IDguMiA4LjIgMTMuOSA4LjJsNTMuMyAwYzUuOCAwIDExLjEtMy4xIDEzLjktOC4ybDI3LTQ4YzIuNy00LjkgMi43LTEwLjggMC0xNS43bC0yNy00OGMtMi44LTUtOC4yLTguMi0xMy45LTguMmwtNTMuMyAwYy01LjggMC0xMS4xIDMuMS0xMy45IDguMmwtMjcgNDhjLTIuNyA0LjktMi43IDEwLjggMCAxNS43ek02OC4zIDg3QzQzLjEgNjEuOCAwIDc5LjcgMCAxMTUuM0wwIDQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwzMTYuNyAwYzM1LjYgMCA1My41LTQzLjEgMjguMy02OC4zTDY4LjMgODd6TTUwNC4yIDQwMy42YzQuOSAyLjcgMTAuOCAyLjcgMTUuNyAwbDQ4LTI3YzUtMi44IDguMi04LjIgOC4yLTEzLjlsMC01My4zYzAtNS44LTMuMS0xMS4xLTguMi0xMy45bC00OC0yN2MtNC45LTIuNy0xMC44LTIuNy0xNS43IDBsLTQ4IDI3Yy01IDIuOC04LjIgOC4yLTguMiAxMy45bDAgNTMuM2MwIDUuOCAzLjEgMTEuMSA4LjIgMTMuOWw0OCAyN3pNMTkyIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTM4NCAyODhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxranQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1zZWNyZXQiLGljb246WzQ0OCw1MTIsWzEyODM3M10sImYyMWIiLCJNMTcxLTE2Yy0zNi40IDAtNTcuOCA1OC4zLTY4LjMgMTEyTDcyIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI0IDAgMCAzMmMwIDE3IDMuMyAzMy4yIDkuMyA0OGwtOS4zIDAgMCAwLTIwLjUgMGMtMTUuMiAwLTI3LjUgMTIuMy0yNy41IDI3LjUgMCAzIC41IDUuOSAxLjQgOC43bDI4LjkgODYuNkM0MC4yIDM3OS42IDE2IDQyOC4xIDE2IDQ4Mi4zIDE2IDQ5OC43IDI5LjMgNTEyIDQ1LjcgNTEybDM1Ni42IDBjMTYuNCAwIDI5LjctMTMuMyAyOS43LTI5LjcgMC01NC4yLTI0LjItMTAyLjctNjIuMy0xMzUuNGwyOC45LTg2LjZjLjktMi44IDEuNC01LjcgMS40LTguNyAwLTE1LjItMTIuMy0yNy41LTI3LjUtMjcuNWwtMjAuNSAwIDAgMC05LjMgMGM2LTE0LjggOS4zLTMxIDkuMy00OGwwLTMyIDI0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMwLjcgMGMtMTAuNC01My43LTMxLjktMTEyLTY4LjMtMTEyLTkuNiAwLTE5IDMuOS0yNy41IDguMi04LjIgNC4xLTE4LjQgNy44LTI1LjUgNy44cy0xNy4zLTMuNy0yNS41LTcuOEMxOTAtMTIuMSAxODAuNi0xNiAxNzEtMTZ6bTkzLjcgNDg0LjRsLTI0LjgtNzAuOSAyNy45LTMyLjVjMi43LTMuMiA0LjItNy4yIDQuMi0xMS40IDAtOS43LTcuOC0xNy41LTE3LjUtMTcuNWwtNjEgMGMtOS43IDAtMTcuNSA3LjgtMTcuNSAxNy41IDAgNC4yIDEuNSA4LjIgNC4yIDExLjRsMjcuOSAzMi41LTI0LjggNzAuOS01Ny0xODAuNCAzNS43IDBjMTguNCAxMC4yIDM5LjUgMTYgNjIgMTZzNDMuNi01LjggNjItMTZsMzUuNyAwLTU3IDE4MC40ek0yMjQgMjU2Yy0zNC43IDAtNjQuMi0yMi4xLTc1LjMtNTMgNS43IDMuMiAxMi4zIDUgMTkuMyA1bDEyLjQgMGMxNi41IDAgMzEuMS0xMC42IDM2LjMtMjYuMiAyLjMtNyAxMi4yLTcgMTQuNSAwIDUuMiAxNS42IDE5LjkgMjYuMiAzNi4zIDI2LjJsMTIuNCAwYzcgMCAxMy42LTEuOCAxOS4zLTUtMTEuMSAzMC45LTQwLjYgNTMtNzUuMyA1M3oiXX0semp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhZ2VyIixpY29uOls1MTIsNTEyLFsxMjgyMjNdLCJmODE1IiwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6bTY0IDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMkw5NiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek04OCAzMjBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMHptMTI4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMHoiXX0sU2p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyaWVmY2FzZSIsaWNvbjpbNTEyLDUxMixbMTI4MTg4XSwiZjBiMSIsIk0yMDAgNDhsMTEyIDBjNC40IDAgOCAzLjYgOCA4bDAgNDAtMTI4IDAgMC00MGMwLTQuNCAzLjYtOCA4LTh6bS01NiA4bDAgNDAtODAgMEMyOC43IDk2IDAgMTI0LjcgMCAxNjBsMCA5NiA1MTIgMCAwLTk2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC04MCAwIDAtNDBjMC0zMC45LTI1LjEtNTYtNTYtNTZMMjAwIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2ek01MTIgMzA0bC0xOTIgMCAwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2LTE5MiAwIDAgMTEyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTEyeiJdfSxDanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJvd2VsLWJyaWNrcyIsaWNvbjpbNTEyLDUxMixbXSwiZTU4YSIsIk0yMjQgMzJjMC0xMS41LTYuMi0yMi4yLTE2LjItMjcuOHMtMjIuMy01LjUtMzIuMiAuNGwtMTYwIDk2QzUuOSAxMDYuMyAwIDExNi44IDAgMTI4czUuOSAyMS43IDE1LjUgMjcuNGwxNjAgOTZjOS45IDUuOSAyMi4yIDYuMSAzMi4yIC40UzIyNCAyMzUuNSAyMjQgMjI0bDAtNjQgMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI1NiAwIDAtNjR6bTk2IDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xNjAgMHpNMCA0MTZsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTk2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem0yMjQtMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMjU2IDB6Il19LF9qdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzb2NrcyIsaWNvbjpbNTEyLDUxMixbMTI5NTEwXSwiZjY5NiIsIk0yNTIuOCAwTDE3NiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE2IDExMiAwIDAtMTZjMC0xNy41IDQuNy0zMy45IDEyLjgtNDh6TTEyOCAxMTJsMCAxMjhjMCAyMC4xLTkuNSAzOS4xLTI1LjYgNTEuMmwtNjQgNDhjLTI0LjIgMTguMS0zOC40IDQ2LjYtMzguNCA3Ni44IDAgNTMgNDMgOTYgOTYgOTYgMTUuNCAwIDMwLjUtMy43IDQ0LTEwLjctMTcuNi0yMy45LTI4LTUzLjQtMjgtODUuMyAwLTQ1LjMgMjEuMy04OCA1Ny42LTExNS4ybDY0LTQ4YzQtMyA2LjQtNy44IDYuNC0xMi44bDAtMTI4LTExMiAwem0xNjAgMGwwIDEyOGMwIDIwLjEtOS41IDM5LjEtMjUuNiA1MS4ybC02NCA0OGMtMjQuMiAxOC4xLTM4LjQgNDYuNi0zOC40IDc2LjggMCA1MyA0MyA5NiA5NiA5NiAyMC44IDAgNDEtNi43IDU3LjYtMTkuMmwxMTUuMi04Ni40QzQ2MSAzODIuMiA0ODAgMzQ0LjMgNDgwIDMwNGwwLTE5Mi0xOTIgMHpNNDgwIDY0bDAtMTZjMC0yNi41LTIxLjUtNDgtNDgtNDhMMzM2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTYgMTkyIDB6Il19LFRqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0IixpY29uOlszODQsNTEyLFsxMTZdLCI1NCIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsMTI4IDAgMCAzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM1MiAxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnoiXX0sTGp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pY3JvY2hpcCIsaWNvbjpbNTEyLDUxMixbXSwiZjJkYiIsIk0xNzYgMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsLTQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDAgMCAwIDU2LTQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDAgMCAwIDU2LTQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDAgMGMwIDM1LjMgMjguNyA2NCA2NCA2NGwwIDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MCA1NiAwIDAgNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwIDU2IDAgMCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDAgMCAwLTU2IDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQwIDAgMC01NiA0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00MCAwYzAtMzUuMy0yOC43LTY0LTY0LTY0bDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MC01NiAwIDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MC01NiAwIDAtNDB6TTE2MCAxMjhsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTYgNDhsMCAxNjAgMTYwIDAgMC0xNjAtMTYwIDB6Il19LEM2ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1tZWRpY2FsIixpY29uOls1NzYsNTEyLFsxMjg2NTcsImFtYnVsYW5jZSJdLCJmMGY5IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMy4zIDBjMTAuNCAzNi45IDQ0LjQgNjQgODQuNyA2NHM3NC4yLTI3LjEgODQuNy02NGwxMDIuNiAwYzEwLjQgMzYuOSA0NC40IDY0IDg0LjcgNjRzNzQuMi0yNy4xIDg0LjctNjRsMy4zIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNDYuN2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0w1MTIgMTQ2LjdjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdsLTUwLjcgMCAwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek01MTIgMjM3LjNsMCA1MC43LTk2IDAgMC05NiA1MC43IDAgNDUuMyA0NS4zek0xNTIgMzg0YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHptMjMyIDQwYTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTE3NiAxMzZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgNDAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQwIDAgMCA0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDB6Il19LCRqdD1DNmUsRGp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im9tIixpY29uOls1NzYsNTEyLFsxMjgzMjldLCJmNjc5IiwiTTM4OC43IDQuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMGwxNiAxNmM2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtMTYgMTZjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwbC0xNi0xNmMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZsMTYtMTZ6TTE3NiAxNjBjLTEwLjggMC0yMC44IDMuNi0yOC44IDkuNi0xNC4xIDEwLjYtMzQuMiA3LjgtNDQuOC02LjRzLTcuOC0zNC4yIDYuNC00NC44YzE4LjctMTQuMSA0Mi0yMi40IDY3LjItMjIuNCA2MS45IDAgMTEyIDUwLjEgMTEyIDExMiAwIDE3LjItMy45IDMzLjUtMTAuOCA0OGw0OS43IDBjMTIuNyAwIDI0LjktNSAzMy45LTE0LjFsMjAuNy0yMC43YzE4LjctMTguNyA0NC4xLTI5LjMgNzAuNi0yOS4zIDU1LjIgMCA5OS45IDQ0LjcgOTkuOSA5OS45bDAgOTYuMWMwIDU1LjItNDQuOCAxMDAtMTAwIDEwMFMzNTIgNDQzLjIgMzUyIDM4OGwwLTRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDRjMCAxOS45IDE2LjEgMzYgMzYgMzZzMzYtMTYuMSAzNi0zNmwwLTk2LjFjMC0xOS44LTE2LjEtMzUuOS0zNS45LTM1LjktOS41IDAtMTguNiAzLjgtMjUuNCAxMC41bC0yMC43IDIwLjdjLTIxIDIxLTQ5LjQgMzIuOC03OS4xIDMyLjhsLTI2LjggMGMxMi42IDE5LjYgMTkuOSA0Mi44IDE5LjkgNjggMCA3NS4yLTY1IDEzMi0xNDAgMTMyUzQwIDQ2My4yIDQwIDM4OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyYzAgMzUuMyAzMS43IDY4IDc2IDY4czc2LTMyLjcgNzYtNjgtMzEuNy02OC03Ni02OGwtMjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4ek0zMzcuMSA2MC4xYy0xMS0xMy44LTMxLjEtMTYuMi00NS01LjJzLTE2LjIgMzEuMS01LjIgNDVDMzEyLjYgMTMyLjIgMzU0LjQgMTUyIDQwMCAxNTJzODcuNC0xOS44IDExMy4xLTUyLjFjMTEtMTMuOCA4LjctMzQtNS4yLTQ1cy0zNC04LjctNDUgNS4yQzQ1MC4zIDc2IDQyNy41IDg4IDQwMCA4OHMtNTAuMy0xMi02Mi45LTI3Ljl6Il19LEFqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb3NxdWl0by1uZXQiLGljb246WzY0MCw1MTIsW10sImU1MmMiLCJNNTc2IDM1MmMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDE2IDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDAgMCA0OCAxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwIDAgMTYtLjEgMi41QzU5OC42IDU2Ni42IDU4OC40IDU3NiA1NzYgNTc2cy0yMi42LTkuNC0yMy45LTIxLjVsLS4xLTIuNSAwLTE2LTQ4IDAgMCAxNi0uMSAyLjVDNTAyLjYgNTY2LjYgNDkyLjQgNTc2IDQ4MCA1NzZzLTIyLjYtOS40LTIzLjktMjEuNWwtLjEtMi41IDAtMTYtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNiAwIDAtNDgtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNiAwIDAtMTZjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDE2IDQ4IDAgMC0xNmMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNNDI5LjkgMTYuM2M3LjctOS40IDIxLjMtMTEuNSAzMS40LTQuMyAxMC4xIDcuMSAxMy4xIDIwLjkgNy40IDMxLjdsLTEuMyAyLjEtMjUuOSAzOC45IDEzLjMgNTMuNGMyIDgtLjEgMTYuMy01LjMgMjIuM2wtMi40IDIuNC00NC43IDM4LjMgMTMwLjUgMTQuNWM0Mi44IDQuOCA3NS4xIDQwLjkgNzUuMSA4My45IDAgMy45LS40IDcuNy0uOSAxMS41LTcuMy0zLjUtMTUuMy01LjgtMjMuOC02LjdMNTc2IDMwNGMtMTguNSAwLTM1LjMgNy00OCAxOC40LTExLTkuOS0yNS4xLTE2LjUtNDAuNi0xOC4xTDQ4MCAzMDRjLTMwLjMgMC01Ni4xIDE4LjctNjYuOCA0NS4yLTEyLjUgNS0yMy4yIDEzLjQtMzEuMSAyNGwtMzAuMi00MC4xIDAgNzQuN2MwIDE3LjctMTQuMyAzMi0zMiAzMi0xNi42IDAtMzAuMi0xMi42LTMxLjgtMjguN2wtLjItMy4zIDAtNzQuNi0zMi4zIDQzIDAgMzkuOGMwIDMuNS0uNyA2LjktMi4xIDEwLjFsLTEuNiAzLjEtNDAgNjQtMS40IDJjLTcuNSA5LjYtMjEgMTIuMS0zMS4zIDUuMy0xMC4zLTYuOC0xMy43LTIwLjUtOC4zLTMxLjVsMS4yLTIuMiAzNi4yLTU4IDAtNDEgLjMtNGMuNi0zLjkgMi4yLTcuNyA0LjYtMTAuOWwzOS4zLTUyLjItNjYuMiA1OS41Yy0xNyAxNS4zLTM5IDIzLjctNjEuOSAyMy44bC04LjEgMGMtNDYuNiAwLTg0LjQtMzcuOC04NC40LTg0LjQgMC00MyAzMi40LTc5LjIgNzUuMS04My45bDEzMC41LTE0LjUtNDQuNy0zOC4zLTIuNC0yLjRjLTUuMi02LTcuMy0xNC40LTUuMy0yMi4zbDEzLjMtNTMuNC0yNS45LTM4LjktMS4yLTIuMWMtNS43LTEwLjgtMi43LTI0LjYgNy40LTMxLjcgMTAuMS03LjEgMjMuNy01LjEgMzEuNCA0LjNsMS41IDIgMzIgNDggMS40IDIuMmMyLjggNS4zIDMuNSAxMS42IDIuMSAxNy42bC0xMi4zIDQ5LjIgNTMuMyA0NS43IDAtMjguOCAuMi0zLjJjMS4xLTEwLjQgNy4yLTE5LjQgMTUuOC0yNC40bDAtNjAuNSAuMy0zLjJjMS41LTcuMyA4LTEyLjcgMTUuNy0xMi44IDcuNyAwIDE0LjIgNS41IDE1LjcgMTIuOGwuMyAzLjIgMCA2MC41YzguNyA1IDE0LjggMTQgMTUuOCAyNC40bC4yIDMuMiAwIDI4LjkgNTMuNC00NS43LTEyLjMtNDkuMmMtMS41LTUuOS0uNy0xMi4yIDIuMS0xNy42bDEuNC0yLjIgMzItNDggMS41LTJ6TTUwNCA0ODhsNDggMCAwLTQ4LTQ4IDAgMCA0OHoiXX0sUGp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InByZXNjcmlwdGlvbi1ib3R0bGUiLGljb246WzM4NCw1MTIsW10sImY0ODUiLCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0TDAgMzJ6TTMyIDE0NGwzMjAgMCAwIDMwNGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTcyIDAgMC00OCA3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC03MiAwIDAtNDggNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNzIgMCAwLTY0eiJdfSxfNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlcnMtZ2VhciIsaWNvbjpbNjQwLDUxMixbInVzZXJzLWNvZyJdLCJmNTA5IiwiTTMyMCAyMjRhMTA0IDEwNCAwIDEgMCAwLTIwOCAxMDQgMTA0IDAgMSAwIDAgMjA4ek05NiAyMzJhNzIgNzIgMCAxIDAgMC0xNDQgNzIgNzIgMCAxIDAgMCAxNDR6TTAgNDE2bDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsODYuNyAwYy00LjMtOS44LTYuNy0yMC42LTYuNy0zMmwwLTE2YzAtNTMuMiAyMC0xMDEuOCA1Mi45LTEzOC42LTExLjctMy41LTI0LjEtNS40LTM2LjktNS40LTcwLjcgMC0xMjggNTcuMy0xMjggMTI4ek02MTYgMTYwYTcyIDcyIDAgMSAwIC0xNDQgMCA3MiA3MiAwIDEgMCAxNDQgMHpNMTYwIDQzMmwwIDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE1Ni44IDBjLTcuMS0yMS42LTYuMy00NC40IDEwLjctNjQtMTQtMTYuMi0yMC41LTM5LjctMTEuNC02My4zIDYuNi0xNy4xIDE1LjktMzMuMSAyNy40LTQ3LjMgNS40LTYuNiAxMS42LTExLjcgMTguMy0xNS40LTIyLjEtMTEuNS00Ny4yLTE4LTczLjgtMTgtODguNCAwLTE2MCA3MS42LTE2MCAxNjB6bTQ2NC42LTQ0LjFjNi4zLTMuNiA5LjUtMTEuMSA2LjgtMTgtNC44LTEyLjQtMTEuNS0yNC4xLTE5LjktMzQuNC00LjYtNS43LTEyLjctNi43LTE5LTMtMjEuOCAxMi42LTQ4LjYtMi44LTQ4LjYtMjguMSAwLTcuMy00LjktMTMuOC0xMi4xLTE0LjktMTIuOS0yLTI2LjgtMi0zOS43IDAtNy4yIDEuMS0xMi4xIDcuNi0xMi4xIDE0LjkgMCAyNS4yLTI2LjggNDAuNy00OC42IDI4LjEtNi4zLTMuNi0xNC40LTIuNi0xOSAzLTguNCAxMC4zLTE1LjEgMjItMTkuOSAzNC40LTIuNiA2LjggLjUgMTQuMyA2LjggMTcuOSAyMS45IDEyLjYgMjEuOSA0My41IDAgNTYuMi02LjMgMy42LTkuNSAxMS4xLTYuOCAxNy45IDQuOCAxMi40IDExLjUgMjQuMSAxOS45IDM0LjQgNC42IDUuNyAxMi43IDYuNyAxOSAzIDIxLjgtMTIuNiA0OC42IDIuOSA0OC42IDI4LjEgMCA3LjMgNC45IDEzLjggMTIuMSAxNC45IDEyLjkgMiAyNi44IDIgMzkuNyAwIDcuMi0xLjEgMTIuMS03LjYgMTIuMS0xNC45IDAtMjUuMiAyNi44LTQwLjcgNDguNi0yOC4xIDYuMyAzLjYgMTQuNCAyLjYgMTktMyA4LjQtMTAuMyAxNS4xLTIyIDE5LjktMzQuNCAyLjYtNi44LS41LTE0LjMtNi44LTE3LjktMjEuOS0xMi42LTIxLjktNDMuNSAwLTU2LjJ6TTQ3MiA0MTZhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHoiXX0sRWp0PV82ZSxJanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU1NjUiLCJNMjg4IDMybC03Ni4zIDBjLTI5LjQgMC01NS4xIDIwLjEtNjIuMSA0OC42TDY1LjQgNDIwLjVDNTcuOSA0NTAuNyA4MC44IDQ4MCAxMTIgNDgwbDIwOS40IDBjLTExLjItMjQuNC0xNy40LTUxLjQtMTcuNC04MCAwLTI4LjYgNi4yLTU1LjcgMTcuNC04MC0uNSAwLTEgMC0xLjUgMC0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA0OWMzNS4yLTM5LjkgODYuNy02NSAxNDQtNjUgOSAwIDE3LjggLjYgMjYuNSAxLjhsLTMyLTEyOS4yQzQ4My40IDUyLjEgNDU3LjggMzIgNDI4LjMgMzJsLTc2LjQgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6TTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTEwMGEyMCAyMCAwIDEgMSAwIDQwIDIwIDIwIDAgMSAxIDAtNDB6bTAtMTQwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxOanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGF1c2UiLGljb246WzM4NCw1MTIsWzkyMDhdLCJmMDRjIiwiTTQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBMMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsNjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1MmMwLTI2LjUtMjEuNS00OC00OC00OEw0OCAzMnptMjI0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMzUyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNTJjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDB6Il19LGg3PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YWZmLXNuYWtlIixpY29uOls0NDgsNTEyLFsicm9kLWFzY2xlcGl1cyIsInJvZC1zbmFrZSIsInN0YWZmLWFlc2N1bGFwaXVzIl0sImU1NzkiLCJNMTkyIDMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDY0IDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZsLTE2IDAgMC02NCAxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAgMTkyIDMyIDBjNTMgMCA5NiA0MyA5NiA5NiAwIDQ3LjYtMzQuNiA4Ny4xLTgwIDk0LjdsMC02N2M5LjYtNS41IDE2LTE1LjkgMTYtMjcuNyAwLTE3LjctMTQuMy0zMi0zMi0zMmwtMzIgMCAwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTY0LTMyIDBjLTUzIDAtOTYtNDMtOTYtOTYgMC00Ny42IDM0LjYtODcuMSA4MC05NC43bDAgNjdjLTkuNiA1LjUtMTYgMTUuOS0xNiAyNy43IDAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDAgMC0xOTItNzIuNiAwYy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMybC0xNiAwQzIxLjUgMTI4IDAgMTA2LjUgMCA4MFMyMS41IDMyIDQ4IDMybDE0NCAweiJdfSxSanQ9aDcsRmp0PWg3LE9qdD1oNyxCanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGlnZ3ktYmFuayIsaWNvbjpbNTc2LDUxMixbXSwiZjRkMyIsIk0yODgtMzJhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6TTQ4IDMwNGMwLTcwLjEgNDctMTMxLjQgMTE3LjEtMTY0LjkgMjUuMyA0MS4zIDcwLjkgNjguOSAxMjIuOSA2OC45IDU1LjcgMCAxMDQuMS0zMS43IDEyOC03OCAxNS44LTExLjMgMzUuMS0xOCA1Ni0xOGwxOS41IDBjMTAuNCAwIDE4IDkuOCAxNS41IDE5LjlsLTE3LjEgNjguM2M5LjkgMTIuNCAxOC4yIDI1LjcgMjQuNCAzOS44bDIxLjcgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDExMmMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDAgMGMtMTYuNSAyMi0zOC41IDM5LjYtNjQgNTAuN2wwIDI5LjNjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMzIDBjLTE0LjMgMC0yNi44LTkuNS0zMC44LTIzLjJsLTcuMS0yNC44LTgyLjMgMC03LjEgMjQuOEMyMzUuOCA1MDIuNSAyMjMuMyA1MTIgMjA5IDUxMmwtMzMgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yOS4zQzg3LjUgNDI2IDQ4IDM2OS42IDQ4IDMwNHptMzc2IDE2YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0sSGp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbnVtZW50IixpY29uOlszODQsNTEyLFtdLCJmNWE2IiwiTTIwOS0zM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMOTUgNDdjLTQuMSA0LjEtNi41IDkuNC03IDE1LjFMNTguNCA0NDggNDggNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMC40IDAtMjkuNy0zODUuOGMtLjQtNS43LTIuOS0xMS4xLTctMTUuMUwyMDktMzN6TTEyOCAyOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRsODAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtODAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6Il19LFQ2ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmdsZXMtcmlnaHQiLGljb246WzQ0OCw1MTIsWzE4NywiYW5nbGUtZG91YmxlLXJpZ2h0Il0sImYxMDEiLCJNNDM5LjEgMjc4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDM3MS4yIDI1NiAyMzMuOSAzOTMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxNjAtMTYwem0tMzUyIDE2MGwxNjAtMTYwYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xNjAtMTYwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0wxNzkuMiAyNTYgNDEuOSAzOTMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMHoiXX0scWp0PVQ2ZSxMNz17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkZXNrdG9wIixpY29uOls1MTIsNTEyLFsxMjg0MjEsNjE3MDQsImRlc2t0b3AtYWx0Il0sImYzOTAiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDM1MmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNDQgMC0xNiA0OC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC03MiAwLTE2LTQ4IDE0NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek05NiA5NmwzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMkw5NiAzMjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxWanQ9TDcsamp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTU1NyIsIk0yMzIgMjRjMC0zMC45IDI1LjEtNTYgNTYtNTZzNTYgMjUuMSA1NiA1NmwwIDEyNy4zIDc4IDcxLjVjLTY5LjMgMjktMTE4IDk3LjQtMTE4IDE3Ny4yIDAgNDkuMyAxOC42IDk0LjMgNDkuMSAxMjguM0wyODggNTEyIDE3OS45IDUzOWMtMTAuMSAyLjUtMTkuOS01LjEtMTkuOS0xNS41bDAtMTkuOGMwLTQuOSAyLjItOS41IDYtMTIuNWw2Ni01Mi44IDAtOTkuNy0xNjIuOSA1NC4zQzU4LjcgMzk2LjQgNDggMzg4LjcgNDggMzc3LjhsMC00My43YzAtOSAzLjgtMTcuNSAxMC40LTIzLjZMMjMyIDE1MS4zIDIzMiAyNHpNNDk2IDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTU5LjMgMTA3LjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMGwtMzYuNyAzNi43LTM2LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmwzNi43IDM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzYuNy0zNi43IDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTM2LjctMzYuNyAzNi43LTM2Ljd6Il19LFVqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZXR3ZWV0IixpY29uOls1NzYsNTEyLFtdLCJmMDc5IiwiTTExOC42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlTMTkuMSAxNjAgMzIgMTYwbDMyIDAgMCAyMjRjMCA1MyA0MyA5NiA5NiA5NmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjI0IDMyIDBjMTIuOSAwIDI0LjYtNy44IDI5LjYtMTkuOHMyLjItMjUuNy02LjktMzQuOWwtNjQtNjR6TTQ1Ny40IDQ3MC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzU1Ni45IDM1MiA1NDQgMzUybC0zMiAwIDAtMjI0YzAtNTMtNDMtOTYtOTYtOTZMMjg4IDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjI0LTMyIDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDY0IDY0eiJdfSxMNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1nZWFyIixpY29uOls2NDAsNTEyLFsidXNlci1jb2ciXSwiZjRmZSIsIk0yNTYuNSA4YTEyMCAxMjAgMCAxIDEgMCAyNDAgMTIwIDEyMCAwIDEgMSAwLTI0MHpNMjI2LjcgMzA0bDU5LjQgMCAxLjUgMGMtMTIuOSAyNi44LTcuOCA1OC4yIDExLjUgNzkuNS0yMC4yIDIyLjMtMjQuOCA1NS44LTkuNCA4My40bDIyLjUgNDAuNGMuOSAxLjYgMS45IDMuMiAyLjkgNC43bC0yMzcgMGMtMTYuNCAwLTI5LjctMTMuMy0yOS43LTI5LjcgMC05OC41IDc5LjgtMTc4LjMgMTc4LjMtMTc4LjN6bTIwNS45LTU2LjRjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDYuMWMwIDE4LjkgMjQuMSAzMi44IDQwLjUgMjMuNGw1LTIuOWMxMS42LTYuNyAyNi41LTIuNiAzMyA5LjFsMjIuNCA0MC4yYzYuMiAxMS4yIDIuNiAyNS4yLTguMiAzMmwtNC43IDIuOWMtMTYuMiAxMC4xLTE2LjIgMzkuOSAwIDUwLjFsNC42IDIuOWMxMC44IDYuOCAxNC41IDIwLjggOC4zIDMyTDYwNyA0ODMuOGMtNi41IDExLjctMjEuNCAxNS45LTMzIDkuMWwtNC45LTIuOWMtMTYuNC05LjUtNDAuNSA0LjUtNDAuNSAyMy40bDAgNi4xYzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTUuOWMwLTE5LTI0LjItMzMtNDAuNy0yMy41bC00LjggMi44Yy0xMS42IDYuNy0yNi40IDIuNi0zMy05LjFsLTIyLjYtNDAuNGMtNi4yLTExLjItMi42LTI1LjMgOC4zLTMyLjFsNC40LTIuN2MxNi4zLTEwLjEgMTYuMy00MC4xIDAtNTAuMmwtNC41LTIuOGMtMTAuOS02LjgtMTQuNS0yMC45LTguMy0zMi4xbDIyLjUtNDAuM2M2LjUtMTEuNyAyMS40LTE1LjggMzIuOS05LjFsNC44IDIuOGMxNi41IDkuNSA0MC43LTQuNSA0MC43LTIzLjVsMC01Ljl6bTk5LjkgMTM2LjJhNTIgNTIgMCAxIDAgLTEwNCAwIDUyIDUyIDAgMSAwIDEwNCAweiJdfSxXanQ9TDZlLEdqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3JkZXItYWxsIixpY29uOls0NDgsNTEyLFtdLCJmODRjIiwiTTM4NCA5NmwwIDEyOC0xMjggMCAwLTEyOCAxMjggMHptMCAxOTJsMCAxMjgtMTI4IDAgMC0xMjggMTI4IDB6TTE5MiAyMjRsLTEyOCAwIDAtMTI4IDEyOCAwIDAgMTI4ek02NCAyODhsMTI4IDAgMCAxMjgtMTI4IDAgMC0xMjh6TTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6Il19LFlqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2lucyIsaWNvbjpbNTEyLDUxMixbXSwiZjUxZSIsIk0xMjggOTZsMC0xNmMwLTQ0LjIgODYtODAgMTkyLTgwUzUxMiAzNS44IDUxMiA4MGwwIDE2YzAgMzAuNi00MS4zIDU3LjItMTAyIDcwLjctMi40LTIuOC00LjktNS41LTcuNC04LTE1LjUtMTUuMy0zNS41LTI2LjktNTYuNC0zNS41LTQxLjktMTcuNS05Ni41LTI3LjEtMTU0LjItMjcuMS0yMS45IDAtNDMuMyAxLjQtNjMuOCA0LjEtLjItMS4zLS4yLTIuNy0uMi00LjF6TTQzMiAzNTNsMC00Ni4yYzE1LjEtMy45IDI5LjMtOC41IDQyLjItMTMuOSAxMy4yLTUuNSAyNi4xLTEyLjIgMzcuOC0yMC4zbDAgMTUuNGMwIDI2LjgtMzEuNSA1MC41LTgwIDY1em0wLTk2bDAtMzNjMC00LjUtLjQtOC44LTEtMTMgMTUuNS0zLjkgMzAtOC42IDQzLjItMTQuMnMyNi4xLTEyLjIgMzcuOC0yMC4zbDAgMTUuNGMwIDI2LjgtMzEuNSA1MC41LTgwIDY1ek0wIDI0MGwwLTE2YzAtNDQuMiA4Ni04MCAxOTItODBzMTkyIDM1LjggMTkyIDgwbDAgMTZjMCA0NC4yLTg2IDgwLTE5MiA4MFMwIDI4NC4yIDAgMjQwem0zODQgOTZjMCA0NC4yLTg2IDgwLTE5MiA4MFMwIDM4MC4yIDAgMzM2bDAtMTUuNGMxMS42IDguMSAyNC41IDE0LjcgMzcuOCAyMC4zIDQxLjkgMTcuNSA5Ni41IDI3LjEgMTU0LjIgMjcuMXMxMTIuMy05LjcgMTU0LjItMjcuMWMxMy4yLTUuNSAyNi4xLTEyLjIgMzcuOC0yMC4zbDAgMTUuNHptMCA4MC42bDAgMTUuNGMwIDQ0LjItODYgODAtMTkyIDgwUzAgNDc2LjIgMCA0MzJsMC0xNS40YzExLjYgOC4xIDI0LjUgMTQuNyAzNy44IDIwLjMgNDEuOSAxNy41IDk2LjUgMjcuMSAxNTQuMiAyNy4xczExMi4zLTkuNyAxNTQuMi0yNy4xYzEzLjItNS41IDI2LjEtMTIuMiAzNy44LTIwLjN6Il19LFpqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJzLXN0cm9rZSIsaWNvbjpbNTc2LDUxMixbOTg5NF0sImYyMjkiLCJNNDE2LTMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDUwLjcgMC01OC43IDU4LjctMTcuNC0xNy40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxNy40IDE3LjQtMjMgMjNjLTI4LjQtMTkuNS02Mi43LTMxLTk5LjgtMzEtOTcuMiAwLTE3NiA3OC44LTE3NiAxNzZzNzguOCAxNzYgMTc2IDE3NiAxNzYtNzguOCAxNzYtMTc2YzAtMzctMTEuNC03MS40LTMxLTk5LjhsMjMtMjMgMTcuNCAxNy40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNDUzLjMgMTM2IDUxMiA3Ny4zIDUxMiAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMkw1NzYgMGMwLTE3LjctMTQuMy0zMi0zMi0zMkw0MTYtMzJ6TTEyOCAzMDRhMTEyIDExMiAwIDEgMSAyMjQgMCAxMTIgMTEyIDAgMSAxIC0yMjQgMHoiXX0sJDZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzaGFrZS1hbmdsZSIsaWNvbjpbNTc2LDUxMixbImhhbmRzLWhlbHBpbmciXSwiZjRjNCIsIk0yNjguOSA1My4yTDE1Mi4zIDE4Mi44Yy00LjYgNS4xLTQuNCAxMyAuNSAxNy45IDMwLjUgMzAuNSA4MCAzMC41IDExMC41IDBsMzEuOC0zMS44YzQuMi00LjIgOS41LTYuNSAxNC45LTYuOSA2LjgtLjYgMTMuOCAxLjcgMTkgNi45TDUwNS42IDM0NCA1NzYgMjg4IDU3NiAwIDQ2NCA2NCA0NDAuMiA0OC4xQzQyNC40IDM3LjYgNDA1LjkgMzIgMzg2LjkgMzJsLTcwLjQgMGMtMS4xIDAtMi4zIDAtMy40IC4xLTE2LjkgLjktMzIuOCA4LjUtNDQuMiAyMS4xek0xMTYuNiAxNTAuN0wyMjMuNCAzMiAxODMuOCAzMmMtMjUuNSAwLTQ5LjkgMTAuMS02Ny45IDI4LjFMMCAxOTIgMCA1NDQgMTQ0IDQwOCAxNTYuNCA0MTguM2MyMyAxOS4yIDUyIDI5LjcgODEuOSAyOS43bDE1LjcgMC03LTdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0MSA0MSA5IDBjMTkuMSAwIDM3LjgtNC4zIDU0LjgtMTIuM0wzNTkgNDA5Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzIgMzIgMTcuNS0xNy41YzguOS04LjkgMTEuNS0yMS44IDcuNi0zMy4xbC0xMzcuOS0xMzYuOC0xNC45IDE0LjljLTQ5LjMgNDkuMy0xMjkuMSA0OS4zLTE3OC40IDAtMjMtMjMtMjMuOS01OS45LTIuMi04NHoiXX0sWGp0PSQ2ZSxLanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctZG93biIsaWNvbjpbMzg0LDUxMixbODU5NV0sImYwNjMiLCJNMTY5LjQgNTAyLjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyMjQgNDAyLjcgMjI0IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzcwLjctMTA1LjQtMTA1LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjB6Il19LEQ2ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsb2NhdGlvbi1kb3QiLGljb246WzM4NCw1MTIsWyJtYXAtbWFya2VyLWFsdCJdLCJmM2M1IiwiTTAgMTg4LjZDMCA4NC40IDg2IDAgMTkyIDBTMzg0IDg0LjQgMzg0IDE4OC42YzAgMTE5LjMtMTIwLjIgMjYyLjMtMTcwLjQgMzE2LjgtMTEuOCAxMi44LTMxLjUgMTIuOC00My4zIDAtNTAuMi01NC41LTE3MC40LTE5Ny41LTE3MC40LTMxNi44ek0xOTIgMjU2YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4eiJdfSxRanQ9RDZlLEpqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVnLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNjQwLDUxMixbXSwiZTU1ZCIsIk0xOTItMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NiAxMjggMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA5NiA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgNDguN2MtOTguNiA4LjEtMTc2IDkwLjctMTc2IDE5MS4zIDAgMjcuMyA1LjcgNTMuMyAxNiA3Ni45bDAgMy4xYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjYuN0MxNjUuMiAzOTguMSA5NiAzMTkuMSA5NiAyMjRsMC02NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJTNzguMyA5NiA5NiA5Nmw2NCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTQ5NiAyNTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0wIDIyOGEyMCAyMCAwIDEgMCAwLTQwIDIwIDIwIDAgMSAwIDAgNDB6bTAtMTgwYy04LjggMC0xNiA3LjItMTYgMTZsMCA4MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtODBjMC04LjgtNy4yLTE2LTE2LTE2eiJdfSxlVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29va2llLWJpdGUiLGljb246WzUxMiw1MTIsW10sImY1NjQiLCJNMjU3LjUgMjcuNmMtLjgtNS40LTQuOS05LjgtMTAuMy0xMC42LTIyLjEtMy4xLTQ0LjYgLjktNjQuNCAxMS40bC03NCAzOS41Qzg5LjEgNzguNCA3My4yIDk0LjkgNjMuNCAxMTVMMjYuNyAxOTAuNmMtOS44IDIwLjEtMTMgNDIuOS05LjEgNjQuOWwxNC41IDgyLjhjMy45IDIyLjEgMTQuNiA0Mi4zIDMwLjcgNTcuOWw2MC4zIDU4LjRjMTYuMSAxNS42IDM2LjYgMjUuNiA1OC43IDI4LjdsODMgMTEuN2MyMi4xIDMuMSA0NC42LS45IDY0LjQtMTEuNGw3NC0zOS41YzE5LjctMTAuNSAzNS42LTI3IDQ1LjQtNDcuMmwzNi43LTc1LjVjOS44LTIwLjEgMTMtNDIuOSA5LjEtNjQuOS0uOS01LjMtNS4zLTkuMy0xMC42LTEwLjEtNTEuNS04LjItOTIuOC00Ny4xLTEwNC41LTk3LjQtMS44LTcuNi04LTEzLjQtMTUuNy0xNC42LTU0LjYtOC43LTk3LjctNTItMTA2LjItMTA2Ljh6TTIwOCAxNDRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0xNDQgMzM2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTIyNC02NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LEE2ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY3Jld2RyaXZlci13cmVuY2giLGljb246WzU3Niw1MTIsWyJ0b29scyJdLCJmN2Q5IiwiTTcwLjgtNi43YzUuNC01LjQgMTMuOC02LjIgMjAuMi0yTDIwOS45IDcwLjVjOC45IDUuOSAxNC4yIDE1LjkgMTQuMiAyNi42bDAgNDkuNiA5MC44IDkwLjhjMzMuMy0xNSA3My45LTguOSAxMDEuMiAxOC41TDU0Mi4yIDM4Mi4xYzE4LjcgMTguNyAxOC43IDQ5LjEgMCA2Ny45bC02MC4xIDYwLjFjLTE4LjcgMTguNy00OS4xIDE4LjctNjcuOSAwTDI4OC4xIDM4NGMtMjcuNC0yNy40LTMzLjUtNjcuOS0xOC41LTEwMS4ybC05MC44LTkwLjgtNDkuNiAwYy0xMC43IDAtMjAuNy01LjMtMjYuNi0xNC4yTDIzLjQgNTguOWMtNC4yLTYuMy0zLjQtMTQuOCAyLTIwLjJMNzAuOC02Ljd6bTE0NSAzMDMuNWMtNi4zIDM2LjkgMi4zIDc1LjkgMjYuMiAxMDcuMmwtOTQuOSA5NWMtMjguMSAyOC4xLTczLjcgMjguMS0xMDEuOCAwcy0yOC4xLTczLjcgMC0xMDEuOGwxMzUuNC0xMzUuNSAzNS4yIDM1LjF6TTM4NC4xIDBjMjAuMSAwIDM5LjQgMy43IDU3LjEgMTAuNSAxMCAzLjggMTEuOCAxNi41IDQuMyAyNC4xTDM4OC44IDkxLjNjLTMgMy00LjcgNy4xLTQuNyAxMS4zbDAgNDEuNGMwIDguOCA3LjIgMTYgMTYgMTZsNDEuNCAwYzQuMiAwIDguMy0xLjcgMTEuMy00LjdsNTYuNy01Ni43YzcuNi03LjUgMjAuMy01LjcgMjQuMSA0LjMgNi44IDE3LjcgMTAuNSAzNyAxMC41IDU3LjEgMCA0My4yLTE3LjIgODIuMy00NSAxMTEuMWwtNDkuMS00OS4xYy0zMy4xLTMzLTc4LjUtNDUuNy0xMjEuMS0zOC40bC01Ni44LTU2LjggMC0yOS43LS4yLTVjLS44LTEyLjQtNC40LTI0LjMtMTAuNS0zNC45IDI5LjQtMzUgNzMuNC01Ny4yIDEyMi43LTU3LjN6Il19LHRVdD1BNmUsYVV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImluZGVudCIsaWNvbjpbNDQ4LDUxMixbXSwiZjAzYyIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6TTE5MiAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnptMzIgOTZsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyek0wIDQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0xMjcuOCAyNjguNkwyNS44IDM0Ny45QzE1LjMgMzU2LjEgMCAzNDguNiAwIDMzNS4zTDAgMTc2LjdjMC0xMy4zIDE1LjMtMjAuOCAyNS44LTEyLjZsMTAxLjkgNzkuM2M4LjIgNi40IDguMiAxOC45IDAgMjUuM3oiXX0sUDZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhcnMiLGljb246WzQ0OCw1MTIsWyJuYXZpY29uIl0sImYwYzkiLCJNMCA5NkMwIDc4LjMgMTQuMyA2NCAzMiA2NGwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAxMjhDMTQuMyAxMjggMCAxMTMuNyAwIDk2ek0wIDI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek00NDggNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnoiXX0sclV0PVA2ZSxFNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZHMtcHJheWluZyIsaWNvbjpbNjQwLDUxMixbInByYXlpbmctaGFuZHMiXSwiZjY4NCIsIk0yMjQgMjk2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTEyLjYgODguMi0xMTkuN2MxMy4xLTE3LjggOS4zLTQyLjgtOC41LTU1LjlzLTQyLjgtOS4zLTU1LjkgOC41TDEwNi41IDE0Mi45Qzg5LjMgMTY2LjIgODAgMTk0LjUgODAgMjIzLjZsMCAxMTAuNy01OC4xIDE5LjRDOC44IDM1OCAwIDM3MC4yIDAgMzg0bDAgOTZjMCAxMCA0LjcgMTkuNSAxMi43IDI1LjVzMTguNCA4IDI4LjEgNS4ybDE1NC40LTQ0LjFjNTUtMTUuNyA5Mi44LTY1LjkgOTIuOC0xMjMuMUwyODggMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNzJ6bTE5MiAwbDAtNzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxMTkuNmMwIDU3LjIgMzcuOSAxMDcuNCA5Mi44IDEyMy4xbDE1NC40IDQ0LjFjOS43IDIuOCAyMCAuOCAyOC4xLTUuMlM2NDAgNDkwIDY0MCA0ODBsMC05NmMwLTEzLjgtOC44LTI2LTIxLjktMzAuNGwtNTguMS0xOS40IDAtMTEwLjdjMC0yOS05LjMtNTcuMy0yNi41LTgwLjdMNDQwLjIgMTYuM0M0MjcuMS0xLjUgNDAyLjEtNS4zIDM4NC4zIDcuOHMtMjEuNiAzOC4xLTguNSA1NS45TDQ2NCAxODMuNCA0NjQgMjk2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0eiJdfSxpVXQ9RTZlLHNVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aXJ1c2VzIixpY29uOls2NDAsNTEyLFtdLCJlMDc2IiwiTTE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyIDAgMzAuNSAzNi45IDQ1LjggNTguNSAyNC4yIDEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNjLTIxLjYgMjEuNi02LjMgNTguNSAyNC4yIDU4LjUgMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJjLTMwLjUgMC00NS44IDM2LjktMjQuMiA1OC41IDEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwYy0yMS42LTIxLjYtNTguNS02LjMtNTguNSAyNC4yIDAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyYzAtMzAuNS0zNi45LTQ1LjgtNTguNS0yNC4yLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zQzc3LjggMjYwLjkgNjIuNSAyMjQgMzIgMjI0IDE0LjMgMjI0IDAgMjA5LjcgMCAxOTJzMTQuMy0zMiAzMi0zMmMzMC41IDAgNDUuOC0zNi45IDI0LjItNTguNS0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwQzEyMy4xIDc3LjggMTYwIDYyLjUgMTYwIDMyIDE2MCAxNC4zIDE3NC4zIDAgMTkyIDB6TTE0NCAxNzZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0xMjggNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMjQ4IDQwYzAgMjIuOSAyNy43IDM0LjQgNDMuOSAxOC4yIDkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWMtMTYuMiAxNi4yLTQuNyA0My45IDE4LjIgNDMuOSAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMjIuOSAwLTM0LjQgMjcuNy0xOC4yIDQzLjkgOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGMtMTYuMi0xNi4yLTQzLjktNC43LTQzLjkgMTguMiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTIyLjktMjcuNy0zNC40LTQzLjktMTguMi05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45YzE2LjItMTYuMiA0LjctNDMuOS0xOC4yLTQzLjktMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMyMi45IDAgMzQuNC0yNy43IDE4LjItNDMuOS05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBjMTYuMiAxNi4yIDQzLjkgNC43IDQzLjktMTguMiAwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0ek01MDQgMzg0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6Il19LG9VdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY2hvb2wtZmxhZyIsaWNvbjpbNTc2LDUxMixbXSwiZTU2ZSIsIk0yNTYtOGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxMTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC03MiAwIDAgMTkuMiAxMjggNzYuOCA2NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyMjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjQgMCAxMjgtNzYuOCAwLTkxLjJ6TTI0MCAzODRsMCA4MCA5NiAwIDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6TTExMiA0MTZjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHptMTYtMTQ0bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6TTQ5NiA0MTZjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHptMTYtMTQ0bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6bS0yMjQgMGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6Il19LG5VdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFkZW1hcmsiLGljb246WzY0MCw1MTIsWzg0ODJdLCJmMjVjIiwiTTM0Ni42IDExMC4yYy03LjgtMTEuNy0yMi40LTE3LTM1LjktMTIuOVMyODggMTEzLjkgMjg4IDEyOGwwIDI1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTUwLjMgNjkuNCAxMDQuMWM1LjkgOC45IDE1LjkgMTQuMiAyNi42IDE0LjJzMjAuNy01LjMgMjYuNi0xNC4yTDU0NCAyMzMuNyA1NDQgMzg0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNTZjMC0xNC4xLTkuMi0yNi41LTIyLjctMzAuNnMtMjguMSAxLjEtMzUuOSAxMi45TDQ0OCAyNjIuMyAzNDYuNiAxMTAuMnpNMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4czE0LjMgMzIgMzIgMzJsNjQgMCAwIDIyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjI0IDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgOTZ6Il19LGxVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaXJlLWJ1cm5lciIsaWNvbjpbNTEyLDUxMixbXSwiZTRmMSIsIk0yODEuNyA0OC4zTDI5NCAzNC41YzUuNC02LjEgMTMuMy04LjggMjAuOS04LjkgNy4yIDAgMTQuMyAyLjYgMTkuOSA3LjggMTkuNyAxOC4zIDM5LjggNDMuMiA1NSA3MC42IDE1LjEgMjcuMiAyNi4yIDU4LjEgMjYuMiA4OC4xIDAgODguNy03MS4zIDE1OS44LTE2MCAxNTkuOC04OS42IDAtMTYwLTcxLjMtMTYwLTE1OS44IDAtMzcuMyAxNi03My40IDM2LjgtMTA0LjUgMjAuOS0zMS4zIDQ3LjUtNTkgNzAuOS04MC4yIDUuNy01LjIgMTMuMS03LjcgMjAuMy03LjVzMTMuNCAzLjIgMTguOCA3LjVjMTQuNCAxMS40IDM4LjkgNDAuNyAzOC45IDQwLjd6TTMyMCAyNDAuMmMwLTM2LjUtMzctNzMtNTQuOC04OC40LTUuNC00LjctMTMuMS00LjctMTguNSAwLTE3LjcgMTUuNC01NC44IDUxLjktNTQuOCA4OC40IDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6TTkyLjggMzIwYzM3LjcgNDguMyA5Ni4xIDgwIDE2My4yIDgwIDY2LjUgMCAxMjUuMS0zMS43IDE2My04MGw0NSAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTY0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDQ0LjggMHpNNDU2IDQwMGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxJNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1zbWlsZS1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MjIsInNtaWxlLWJlYW0iXSwiZjViOCIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTY1LjQgMzIxLjljMjAuNCAyOCA1My40IDQ2LjEgOTAuNiA0Ni4xczcwLjItMTguMSA5MC42LTQ2LjFjNy44LTEwLjcgMjIuOC0xMy4xIDMzLjUtNS4zczEzLjEgMjIuOCA1LjMgMzMuNUMzNTYuMyAzOTAgMzA5LjIgNDE2IDI1NiA0MTZzLTEwMC4zLTI2LTEyOS40LTY1LjljLTcuOC0xMC43LTUuNC0yNS43IDUuMy0zMy41czI1LjctNS40IDMzLjUgNS4zek0xNzYgMTgwYy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0sY1V0PUk2ZSxkVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVudC1hcnJvdy1sZWZ0LXJpZ2h0IixpY29uOls1MTIsNTEyLFtdLCJlNTdmIiwiTS0uNSAxMTNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDcyLTcyYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMzEgMzEgMzEwLjEgMCA1NC4xIDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNzIgNzJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzEtMzEtMTAyLjEgMC0uMSAwLTI2MiAwIDMxIDMxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTcyLTcyek0zNy4xIDQ3Nkw2MC4zIDI5Mi42YzEuMi05LjcgNi44LTE4LjMgMTUuMS0yMy4zTDIzOC44IDE3MGMxMC4yLTYuMiAyMi45LTYuMiAzMy4xLS4xbDE2NS41IDk5LjRjOC40IDUgMTQgMTMuNyAxNS4zIDIzLjRMNDc1LjkgNDc2YzIuNCAxOS4xLTEyLjUgMzYtMzEuNyAzNmwtNzEuOSAwYy0xMi4xIDAtMjMuMi02LjgtMjguNi0xNy43TDI3NS40IDM1Ny45Yy0xLjgtMy42LTUuNS01LjktOS41LTUuOS01LjkgMC0xMC42IDQuNy0xMC42IDEwLjZsMCAxMTcuNGMwIDE3LjctMTQuMyAzMi0zMiAzMkw2OC44IDUxMmMtMTkuMyAwLTM0LjItMTYuOS0zMS43LTM2eiJdfSxwVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm91dGUiLGljb246WzUxMiw1MTIsW10sImY0ZDciLCJNNTEyIDk2YzAgNTAuMi01OS4xIDEyNS4xLTg0LjYgMTU1LTMuOCA0LjQtOS40IDYuMS0xNC41IDVMMzIwIDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2bC0yNzYuNCAwYzguNy05LjkgMTkuMy0yMi42IDMwLTM2LjggNi4zLTguNCAxMi44LTE3LjYgMTktMjcuMkw0MTYgNDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC05NiAwYy01MyAwLTk2LTQzLTk2LTk2czQzLTk2IDk2LTk2bDM5LjggMGMtMjEtMzEuNS0zOS44LTY3LjctMzkuOC05NiAwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2ek0xMTcuMSA0ODkuMWMtMy44IDQuMy03LjIgOC4xLTEwLjEgMTEuM2wtMS44IDItLjItLjJjLTYgNC42LTE0LjYgNC0yMC0xLjgtMjUuMi0yNy40LTg1LTk3LjktODUtMTQ4LjQgMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmMwIDMwLTIxLjEgNjctNDMuNSA5Ny45LTEwLjcgMTQuNy0yMS43IDI4LTMwLjggMzguNWwtLjYgLjd6TTEyOCAzNTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNNDE2IDEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LE42ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmdsZXMtdXAiLGljb246WzM4NCw1MTIsWyJhbmdsZS1kb3VibGUtdXAiXSwiZjEwMiIsIk0yMTQuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTYwIDE2MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxOTIgMTA5LjMgMzI5LjQgMjQ2LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MHptMTYwIDM1MmwtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTkyIDMwMS4zIDMyOS40IDQzOC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjN6Il19LHVVdD1ONmUsZlV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1Y2tldCIsaWNvbjpbNDQ4LDUxMixbXSwiZTRjZiIsIk00NDMuNyAyMDhjMi43IDQuNyA0LjMgMTAuMiA0LjMgMTYgMCAxNy43LTE0LjMgMzItMzIgMzJsLTUuMSAwLTIyLjQgMjEzYy0yLjYgMjQuNC0yMy4yIDQzLTQ3LjggNDNsLTIzMy42IDBjLTI0LjYgMC00NS4yLTE4LjUtNDcuOC00M0wzNy4xIDI1NiAzMiAyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyIDAtNS44IDEuNi0xMS4zIDQuMy0xNmw0MzkuNCAwek0yMjQtMTZjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDRsMCAzMi00OCAwIDAtMzJjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZsMCAzMi00OCAwIDAtMzJDODAgNDguNSAxNDQuNS0xNiAyMjQtMTZ6Il19LGhVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsZXNzLXRoYW4tZXF1YWwiLGljb246WzQ0OCw1MTIsW10sImY1MzciLCJNNDI2LjEgOTQuNGMxNi44LTUuNiAyNS44LTIzLjcgMjAuMi00MC41cy0yMy43LTI1LjgtNDAuNS0yMC4ybC0zODQgMTI4QzguOCAxNjYgMCAxNzguMiAwIDE5MnM4LjggMjYgMjEuOSAzMC40bDM4NCAxMjhjMTYuOCA1LjYgMzQuOS0zLjUgNDAuNS0yMC4ycy0zLjUtMzQuOS0yMC4yLTQwLjVMMTMzLjIgMTkyIDQyNi4xIDk0LjR6TTMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0MTZ6Il19LG1VdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb2xkZXItY2xvc2VkIixpY29uOls1MTIsNTEyLFtdLCJlMTg1IiwiTTQ0OCA0NDhMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3NiA1MTIgMCAwIDE3NmMwIDM1LjMtMjguNyA2NC02NCA2NHptNjQtMjg4TDAgMTYwIDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMTM4LjcgMGMxMy44IDAgMjcuMyA0LjUgMzguNCAxMi44bDM4LjQgMjguOGM1LjUgNC4yIDEyLjMgNi40IDE5LjIgNi40TDQ0OCA4MGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE2eiJdfSxnVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXRocm91Z2gtd2luZG93IixpY29uOls2NDAsNTEyLFtdLCJlNWE5IiwiTTY0IDY0bDIyNCAwIDAgOS44YzAgMzktMjMuNyA3NC01OS45IDg4LjQtNjAuNSAyNC4yLTEwMC4xIDgyLjctMTAwLjEgMTQ3LjlsMCA3My44LTY0IDAgMC0zMjB6bTI4OCAwbDIyNCAwIDAgMzIwLTY3LjcgMC0zLjctNC41LTc1LjItOTAuMmMtOS4xLTEwLjktMjIuNi0xNy4zLTM2LjktMTcuM2wtNzEuMSAwLTQxLTYzLjFjLS4zLS41LS42LTEtMS0xLjQgNDQuNy0yOSA3Mi41LTc5IDcyLjUtMTMzLjZsMC05Ljh6bTczIDMyMGwtMjYuNiAwIDQyLjcgNjQgMTUwLjkgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1MmMwLTI2LjUtMjEuNS00OC00OC00OEw0OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDQwMGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyNjAuMiAwIDMzLjIgNDkuOGM5LjggMTQuNyAyOS43IDE4LjcgNDQuNCA4LjlzMTguNy0yOS43IDguOS00NC40bC04NC4yLTEyNi4yIDc0LjYgMCA0MCA0OHptLTE1OS41IDBsLTczLjUgMCAwLTczLjhjMC0xMC4yIDEuNi0yMC4xIDQuNy0yOS41TDI2NS41IDM4NHpNMTkyIDEyOGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSxiVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Nob29sLWxvY2siLGljb246WzY0MCw1MTIsW10sImU1NmYiLCJNMCAxOTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjQgMCAxMjcuOS0xMTUuMWMxOC4zLTE2LjQgNDYtMTYuNCA2NC4yIDBMNDQ4IDEyOCA1MTIgMTI4YzMzIDAgNjAuMiAyNSA2My42IDU3LjItMTQuNy01LjktMzAuOC05LjItNDcuNi05LjItNzAuNyAwLTEyOCA1Ny4zLTEyOCAxMjhsMCAyNC40Yy0xOS42IDE3LjYtMzIgNDMuMS0zMiA3MS41bDAgOTZjMCA1LjUgLjUgMTAuOSAxLjMgMTYuMUw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTkyek0zMzIuMyAzNDEuNWMtNi0zLjUtMTIuOS01LjUtMjAuMy01LjVsLTQ4IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwbDAgODggOTYgMCAwLTY0LjFjMC0yMC44IDQuNC00MC41IDEyLjMtNTguNHpNMTEyIDM4NGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwem0xNi0xNDRsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnptMjI0LTQ4YTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpNNTYwIDM1MmwwLTQ3LjljMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDB6bS0xMTIgMi43bDAtNTAuNmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNTAuNmMxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjNsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zeiJdfSx2VXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWJ1cnN0IixpY29uOls2NDAsNTEyLFtdLCJlNTNiIiwiTTIwNCA0MC4xYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHpNNCAxNDQuMWMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNOTYuNSAyODUuNWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMy45LTMzLjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDk2LjUgMjg1LjV6TTYyLjYgMi43YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDMzLjkgMzMuOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDYyLjYgMzYuNmMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6TTM1Mi40LTMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek00NzguNyAyOTkuMWwtNDYuMy02Mi40IDAgMjc1LjNjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yNzUuMy00Ni4zIDYyLjRjLTEwLjUgMTQuMi0zMC42IDE3LjItNDQuOCA2LjZzLTE3LjItMzAuNi02LjYtNDQuOGw3MC41LTk1YzI1LjItMzMuOSA2NS01My45IDEwNy4yLTUzLjlzODIgMjAgMTA3LjIgNTMuOWw3MC41IDk1YzEwLjUgMTQuMiA3LjYgMzQuMi02LjYgNDQuOHMtMzQuMiA3LjYtNDQuOC02LjZ6Il19LFI2ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsZWZ0LWxvbmciLGljb246WzU3Niw1MTIsWyJsb25nLWFycm93LWFsdC1sZWZ0Il0sImYzMGEiLCJNOS40IDI3OC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2wxMjgtMTI4YzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45UzE5MiAxMTUuMSAxOTIgMTI4bDAgNjQgMzM2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzMmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzM2IDAgMCA2NGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOWwtMTI4LTEyOHoiXX0seFV0PVI2ZSxGNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibG9jYXRpb24tY3Jvc3NoYWlycyIsaWNvbjpbNTc2LDUxMixbImxvY2F0aW9uIl0sImY2MDEiLCJNMjg4LTE2YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTguM2M5OC4xIDE0IDE3NS43IDkxLjYgMTg5LjcgMTg5LjdsMTguMyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOC4zIDBjLTE0IDk4LjEtOTEuNiAxNzUuNy0xODkuNyAxODkuN2wwIDE4LjNjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOC4zQzE1Ny45IDQ2My43IDgwLjMgMzg2LjEgNjYuMyAyODhMNDggMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE4LjMgMEM4MC4zIDEyNS45IDE1Ny45IDQ4LjMgMjU2IDM0LjNMMjU2IDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xMjggMjU2YTE2MCAxNjAgMCAxIDAgMzIwIDAgMTYwIDE2MCAwIDEgMCAtMzIwIDB6bTE2MC05NmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnoiXX0seVV0PUY2ZSxPNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWRvdHMtZnJvbS1saW5lIixpY29uOls1MTIsNTEyLFsiZGlhZ25vc2VzIl0sImY0NzAiLCJNMTg0IDcyYTcyIDcyIDAgMSAxIDE0NCAwIDcyIDcyIDAgMSAxIC0xNDQgMHpNMTYwIDI5OS4zYy0xOS45IDIyLjYtMzIgNTIuMi0zMiA4NC43bDAgMzItNjQgMCAwLTMyYzAtMTA2IDg2LTE5MiAxOTItMTkyczE5MiA4NiAxOTIgMTkybDAgMzItNjQgMCAwLTMyYzAtMzIuNS0xMi4xLTYyLjEtMzItODQuN2wwIDExNi43LTE5MiAwIDAtMTE2Ljd6TTIzMiAzODRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04OC0xMDRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNMjQgNDY0bDQ2NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNNjQgMTg0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTQyNCA3MmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LHdVdD1PNmUsRlk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2F1Z2Utc2ltcGxlLWhpZ2giLGljb246WzUxMiw1MTIsWzYxNjY4LCJ0YWNob21ldGVyIiwidGFjaG9tZXRlci1mYXN0Il0sImY2MmEiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMzIwIDk2YzAtMTYuMi02LTMxLjEtMTYtNDIuM2w2OS41LTEzOC45YzUuOS0xMS45IDEuMS0yNi4zLTEwLjctMzIuMnMtMjYuMy0xLjEtMzIuMiAxMC43TDI2MS4xIDI4OC4yYy0xLjctLjEtMy40LS4yLTUuMS0uMi0zNS4zIDAtNjQgMjguNy02NCA2NHMyOC43IDY0IDY0IDY0IDY0LTI4LjcgNjQtNjR6Il19LE1VdD1GWSxrVXQ9RlksQjZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuZ2xlcy1sZWZ0IixpY29uOls0NDgsNTEyLFsxNzEsImFuZ2xlLWRvdWJsZS1sZWZ0Il0sImYxMDAiLCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTYgMjE0LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjB6bTM1Mi0xNjBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wyNjkuMyAyNTYgNDA2LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDB6Il19LHpVdD1CNmUsSDZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVwLWRvd24iLGljb246WzUxMiw1MTIsWzg1OTcsMTEwMjEsImFycm93cy1hbHQtdiJdLCJmMzM4IiwiTTQwNi42IDUwMi42bDk2LTk2YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ5Mi45IDM1MiA0ODAgMzUybC02NCAwIDAtMzIwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzIwLTY0IDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwek0xNTAuNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlTMTkuMSAxNjAgMzIgMTYwbDY0IDAgMCAzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyMCA2NCAwYzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTk2LTk2eiJdfSxTVXQ9SDZlLHE2ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXR0ZXJ5LWVtcHR5IixpY29uOls2NDAsNTEyLFsiYmF0dGVyeS0wIl0sImYyNDQiLCJNMTEyIDE2MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjI0YzAgOC44IDcuMiAxNiAxNiAxNmw0MTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yMjRjMC04LjgtNy4yLTE2LTE2LTE2bC00MTYgMHpNMzIgMTc2YzAtNDQuMiAzNS44LTgwIDgwLTgwbDQxNiAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgNDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwwIDQ4YzAgNDQuMi0zNS44IDgwLTgwIDgwbC00MTYgMGMtNDQuMiAwLTgwLTM1LjgtODAtODBsMC0yMjR6Il19LENVdD1xNmUsX1V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImtleWJvYXJkIixpY29uOls1NzYsNTEyLFs5ZTNdLCJmMTFjIiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0em0xNiA2NGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek02NCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMTc2IDEyOGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xNjAgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE2IDgwbDIyNCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMjI0IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnptODAtMTc2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE2IDgwbDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwLTgwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE2IDgwbDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwLTgwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE2IDgwbDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6Il19LFRVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb29raWUiLGljb246WzUxMiw1MTIsWzEyNzg1MF0sImY1NjMiLCJNMjQ3LjIgMTdjLTIyLjEtMy4xLTQ0LjYgLjktNjQuNCAxMS40bC03NCAzOS41Qzg5LjEgNzguNCA3My4yIDk0LjkgNjMuNCAxMTVMMjYuNyAxOTAuNmMtOS44IDIwLjEtMTMgNDIuOS05LjEgNjQuOWwxNC41IDgyLjhjMy45IDIyLjEgMTQuNiA0Mi4zIDMwLjcgNTcuOWw2MC4zIDU4LjRjMTYuMSAxNS42IDM2LjYgMjUuNiA1OC43IDI4LjdsODMgMTEuN2MyMi4xIDMuMSA0NC42LS45IDY0LjQtMTEuNGw3NC0zOS41YzE5LjctMTAuNSAzNS42LTI3IDQ1LjQtNDcuMmwzNi43LTc1LjVjOS44LTIwLjEgMTMtNDIuOSA5LjEtNjQuOWwtMTQuNi04Mi44Yy0zLjktMjIuMS0xNC42LTQyLjMtMzAuNy01Ny45TDM4OC45IDU3LjVjLTE2LjEtMTUuNi0zNi42LTI1LjYtNTguNy0yOC43TDI0Ny4yIDE3ek0yMDggMTQ0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTQ0IDMzNmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0yMjQtNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxMVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3RvcHdhdGNoIixpY29uOls0NDgsNTEyLFs5MjAxXSwiZjJmMiIsIk0xNjguNSAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMCAyNS4zYy0xMDggMTEuOS0xOTIgMTAzLjUtMTkyIDIxNC43IDAgMTE5LjMgOTYuNyAyMTYgMjE2IDIxNnMyMTYtOTYuNyAyMTYtMjE2YzAtMzkuOC0xMC44LTc3LjEtMjkuNi0xMDkuMmwyOC4yLTI4LjJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTIzLjQgMjMuNGMtMzIuOS0zMC4yLTc1LjItNTAuMy0xMjItNTUuNWwwLTI1LjMgMzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTEyIDB6bTgwIDE4NGwwIDEwNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTEwNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0eiJdfSwkVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWplY3QiLGljb246WzQ0OCw1MTIsWzkxNjddLCJmMDUyIiwiTTIyNCAzMmMxMy41IDAgMjYuMyA1LjYgMzUuNCAxNS42bDE3NiAxOTJjMTIuOSAxNCAxNi4yIDM0LjMgOC42IDUxLjhTNDE5IDMyMCA0MDAgMzIwTDQ4IDMyMGMtMTkgMC0zNi4zLTExLjItNDMuOS0yOC43cy00LjMtMzcuNyA4LjYtNTEuOGwxNzYtMTkyQzE5Ny43IDM3LjYgMjEwLjUgMzIgMjI0IDMyek0wIDQzMmMwLTI2LjUgMjEuNS00OCA0OC00OGwzNTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4eiJdfSxEVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2F0ZWxsaXRlLWRpc2giLGljb246WzUxMiw1MTIsWzEyODIyNV0sImY3YzAiLCJNMjMyIDBjMTU0LjYgMCAyODAgMTI1LjQgMjgwIDI4MCAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTEyOC4xLTEwMy45LTIzMi0yMzItMjMyLTEzLjMgMC0yNC0xMC43LTI0LTI0UzIxOC43IDAgMjMyIDB6TTIwOCAxMjBjMC0xMy4zIDEwLjctMjQgMjQtMjQgMTAxLjYgMCAxODQgODIuNCAxODQgMTg0IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNzUuMS02MC45LTEzNi0xMzYtMTM2LTEzLjMgMC0yNC0xMC43LTI0LTI0ek0yNi40IDE0Mi43YzguOC0xNy45IDMyLjQtMTkuOSA0Ni41LTUuOGwxMjguNSAxMjguNSAzMi0zMmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC0zMiAzMiAxMjguNSAxMjguNWMxNC4xIDE0LjEgMTIgMzcuNi01LjggNDYuNS0zNC4yIDE2LjktNzIuNiAyNi40LTExMy4zIDI2LjQtMTQxLjQgMC0yNTYtMTE0LjYtMjU2LTI1NiAwLTQwLjcgOS41LTc5LjIgMjYuNC0xMTMuM3oiXX0sVjZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Utcm9sbGluZy1leWVzIixpY29uOls1MTIsNTEyLFsxMjg1ODAsIm1laC1yb2xsaW5nLWV5ZXMiXSwiZjVhNSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTkyIDM1MmwxMjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTI4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTMyLTEyOGMwIDM1LjMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGMwLTI2IDE1LjUtNDguNCAzNy44LTU4LjQtMy43IDUuMi01LjggMTEuNi01LjggMTguNCAwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtNi45LTIuMi0xMy4yLTUuOC0xOC40IDIyLjMgMTAgMzcuOCAzMi40IDM3LjggNTguNHptMTI4IDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NCAwLTI2IDE1LjUtNDguNCAzNy44LTU4LjQtMy43IDUuMi01LjggMTEuNi01LjggMTguNCAwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtNi45LTIuMi0xMy4yLTUuOC0xOC40IDIyLjMgMTAgMzcuOCAzMi40IDM3LjggNTguNCAwIDM1LjMtMjguNyA2NC02NCA2NHoiXX0sQVV0PVY2ZSxqNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlzdC1jaGVjayIsaWNvbjpbNTEyLDUxMixbInRhc2tzIl0sImYwYWUiLCJNMTMzLjggMzYuM2MxMC45IDcuNiAxMy41IDIyLjYgNS45IDMzLjRsLTU2IDgwYy00LjEgNS44LTEwLjUgOS41LTE3LjYgMTAuMVM1MiAxNTggNDcgMTUzTDcgMTEzQy0yLjMgMTAzLjYtMi4zIDg4LjQgNyA3OVMzMS42IDY5LjcgNDEgNzlsMTkuOCAxOS44IDM5LjYtNTYuNmM3LjYtMTAuOSAyMi42LTEzLjUgMzMuNC01Ljl6bTAgMTYwYzEwLjkgNy42IDEzLjUgMjIuNiA1LjkgMzMuNGwtNTYgODBjLTQuMSA1LjgtMTAuNSA5LjUtMTcuNiAxMC4xUzUyIDMxOCA0NyAzMTNMNyAyNzNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwxOS44IDE5LjggMzkuNi01Ni42YzcuNi0xMC45IDIyLjYtMTMuNSAzMy40LTUuOXpNMjI0IDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTAgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTE2MCA0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI4OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNjQgMzc2YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHoiXX0sUFV0PWo2ZSxFVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Fjay14bWFyayIsaWNvbjpbNTEyLDUxMixbXSwiZTU2YSIsIk0zMjggMTEybC0xNDQgMC0zNy4zLTc0LjVjLTEuOC0zLjYtMi43LTcuNi0yLjctMTEuNiAwLTE0LjMgMTEuNi0yNS45IDI1LjktMjUuOUwzNDIuMSAwYzE0LjMgMCAyNS45IDExLjYgMjUuOSAyNS45IDAgNC0uOSA4LTIuNyAxMS42TDMyOCAxMTJ6TTE2OS42IDE2MGwxNzIuOCAwIDQ4LjcgNDAuNkM0NTcuNiAyNTYgNDk2IDMzOCA0OTYgNDI0LjUgNDk2IDQ3Mi44IDQ1Ni44IDUxMiA0MDguNSA1MTJsLTMwNS4xIDBDNTUuMiA1MTIgMTYgNDcyLjggMTYgNDI0LjUgMTYgMzM4IDU0LjQgMjU2IDEyMC45IDIwMC42TDE2OS42IDE2MHpNMzIzLjkgMjg0LjFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC0zMy45IDMzLjktMzMuOS0zMy45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDMzLjkgMzMuOS0zMy45IDMzLjljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwzMy45LTMzLjkgMzMuOSAzMy45YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMzMuOS0zMy45IDMzLjktMzMuOWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXoiXX0sSVV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imhhc2h0YWciLGljb246WzUxMiw1MTIsWzYyMDk4XSwiMjMiLCJNMjE0LjcgLjdjMTcuMyAzLjcgMjguMyAyMC43IDI0LjYgMzhsLTE5LjEgODkuMyAxMjYuNSAwIDIyLTEwMi43QzM3Mi40IDggMzg5LjQtMyA0MDYuNyAuN3MyOC4zIDIwLjcgMjQuNiAzOEw0MTIuMiAxMjggNDgwIDEyOGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtODEuNiAwLTI3LjQgMTI4IDY3LjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtODEuNiAwLTIyIDEwMi43Yy0zLjcgMTcuMy0yMC43IDI4LjMtMzggMjQuNnMtMjguMy0yMC43LTI0LjYtMzhsMTkuMS04OS4zLTEyNi41IDAtMjIgMTAyLjdjLTMuNyAxNy4zLTIwLjcgMjguMy0zOCAyNC42cy0yOC4zLTIwLjctMjQuNi0zOEw5OS44IDM4NCAzMiAzODRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsODEuNiAwIDI3LjQtMTI4LTY3LjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw4MS42IDAgMjItMTAyLjdDMTgwLjQgOCAxOTcuNC0zIDIxNC43IC43ek0yMDYuNCAxOTJsLTI3LjQgMTI4IDEyNi41IDAgMjcuNC0xMjgtMTI2LjUgMHoiXX0sTlV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYWluIixpY29uOlszODQsNTEyLFsxMjg2NDZdLCJmMjM4IiwiTTAgOTZDMCA0MyA0MyAwIDk2IDBMMjg4IDBjNTMgMCA5NiA0MyA5NiA5NmwwIDI1NmMwIDQwLjEtMjQuNiA3NC41LTU5LjUgODguOGw1My45IDYzLjdjOC42IDEwLjEgNy4zIDI1LjMtMi44IDMzLjhzLTI1LjMgNy4zLTMzLjgtMi44bC03NC04Ny41LTE1MS4zIDAtNzQgODcuNWMtOC42IDEwLjEtMjMuNyAxMS40LTMzLjggMi44cy0xMS40LTIzLjctMi44LTMzLjhsNTMuOS02My43QzI0LjYgNDI2LjUgMCAzOTIuMSAwIDM1MkwwIDk2em02NCAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJMOTYgOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0xOTIgMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sUlV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdhbWVwYWQiLGljb246WzY0MCw1MTIsW10sImYxMWIiLCJNNDQ4IDY0YzEwNiAwIDE5MiA4NiAxOTIgMTkyUzU1NCA0NDggNDQ4IDQ0OGwtMjU2IDBDODYgNDQ4IDAgMzYyIDAgMjU2Uzg2IDY0IDE5MiA2NGwyNTYgMHpNMTkyIDE3NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAzMi0zMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMCAzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzIgMzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMzIgMCAwLTMyYzAtMTMuMy0xMC43LTI0LTI0LTI0em0yNDAgOTZhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0em02NC05NmEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6Il19LFU2ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWV4cG9ydCIsaWNvbjpbNTc2LDUxMixbImFycm93LXJpZ2h0LWZyb20tZmlsZSJdLCJmNTZlIiwiTTk2LjUgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC05NiA3OC4xIDAtMzEgMzFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3Mi03MmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOWwtNzItNzJjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMzEgMzEtNzguMSAwIDAtMTMzLjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjkxLjIgMTguN0MyNzkuMiA2LjcgMjYzIDAgMjQ2IDBMOTYuNSAwek0zNTggMTc2bC05My41IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MC41IDU4LjUgMzU4IDE3NnpNMjI0LjUgMzI4YzAtMTMuMyAxMC43LTI0IDI0LTI0bDEwNCAwIDAgNDgtMTA0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0eiJdfSxGVXQ9VTZlLFc2ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW1hY2UiLGljb246WzUxMiw1MTIsWzEyODU1NiwiZ3JpbWFjZSJdLCJmNTdmIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek00MDAgMzUyYzAgMjUuMi0xOS40IDQ1LjgtNDQgNDcuOGwwLTk1LjdjMjQuNiAyIDQ0IDIyLjcgNDQgNDcuOHpNMjc2IDMwNGw0MCAwIDAgOTYtNDAgMCAwLTk2em0tODAgOTZsMC05NiA0MCAwIDAgOTYtNDAgMHptLTQwLTk1LjhsMCA5NS43Yy0yNC42LTItNDQtMjIuNy00NC00Ny44czE5LjQtNDUuOCA0NC00Ny44ek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LE9VdD1XNmUsRzZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYWluLXN1YndheSIsaWNvbjpbMzg0LDUxMixbInN1YndheSJdLCJmMjM5IiwiTTAgOTZDMCA0MyA0MyAwIDk2IDBMMjg4IDBjNTMgMCA5NiA0MyA5NiA5NmwwIDI1NmMwIDQwLjEtMjQuNiA3NC41LTU5LjUgODguOGw1My45IDYzLjdjOC42IDEwLjEgNy4zIDI1LjMtMi44IDMzLjhzLTI1LjMgNy4zLTMzLjgtMi44bC03NC04Ny41LTE1MS4zIDAtNzQgODcuNWMtOC42IDEwLjEtMjMuNyAxMS40LTMzLjggMi44cy0xMS40LTIzLjctMi44LTMzLjhsNTMuOS02My43QzI0LjYgNDI2LjUgMCAzOTIuMSAwIDM1MkwwIDk2em02NCAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDcyIDAgMC0xNjAtNzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTIxNiAyNTZsNzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC03MiAwIDAgMTYwek05NiAzODRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0yMjQtMzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHoiXX0sQlV0PUc2ZSxZNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWRvdCIsaWNvbjpbNTEyLDUxMixbMTI4MjgwLCJkb3QtY2lyY2xlIl0sImYxOTIiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTAtMzUyYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyeiJdfSxIVXQ9WTZlLHFVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvYmplY3QtZ3JvdXAiLGljb246WzU3Niw1MTIsW10sImYyNDciLCJNMzIgMTE5LjRDMTIuOSAxMDguNCAwIDg3LjcgMCA2NCAwIDI4LjcgMjguNyAwIDY0IDAgODcuNyAwIDEwOC40IDEyLjkgMTE5LjQgMzJsMzM3LjEgMGMxMS4xLTE5LjEgMzEuNy0zMiA1NS40LTMyIDM1LjMgMCA2NCAyOC43IDY0IDY0IDAgMjMuNy0xMi45IDQ0LjQtMzIgNTUuNGwwIDI3My4xYzE5LjEgMTEuMSAzMiAzMS43IDMyIDU1LjQgMCAzNS4zLTI4LjcgNjQtNjQgNjQtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMybC0zMzcuMSAwYy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMyLTM1LjMgMC02NC0yOC43LTY0LTY0IDAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNGwwLTI3My4xem00NDggMGMtOS43LTUuNi0xNy44LTEzLjctMjMuNC0yMy40TDExOS40IDk2Yy01LjYgOS43LTEzLjcgMTcuOC0yMy40IDIzLjRsMCAyNzMuMWM5LjcgNS42IDE3LjggMTMuNyAyMy40IDIzLjRsMzM3LjEgMGM1LjYtOS43IDEzLjctMTcuOCAyMy40LTIzLjRsMC0yNzMuMXpNMTQ0IDE3NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xMTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NHpNMjU2IDMyMGwzMiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTEyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTZ6Il19LFZVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGlwIixpY29uOls2NDAsNTEyLFsxMjg2NzRdLCJmMjFhIiwiTTI3MiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE2LTE2IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMTA4LjgtMjEuNiA4LjZjLTE0LjggNS45LTIyLjUgMjIuNC0xNy40IDM3LjUgMTAuNCAzMS4zIDI2LjggNTkuMyA0Ny43IDgzLjEgMjAuMS05LjIgNDEuNy0xMy45IDYzLjMtMTQgMzMuMS0uMiA2Ni4zIDEwLjIgOTQuNCAzMS40bDEuNiAxLjIgMC0yMTUtMTA0IDQxLjYgMC04My4yYzAtOC44IDcuMi0xNiAxNi0xNmwyMjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4My4yLTEwNC00MS42IDAgMjE1IDEuNi0xLjJjMjcuNS0yMC43IDU5LjktMzEuMiA5Mi40LTMxLjQgMjIuMy0uMSA0NC42IDQuNSA2NS4zIDE0IDIwLjktMjMuNyAzNy4zLTUxLjggNDcuNy04My4xIDUtMTUuMi0yLjYtMzEuNi0xNy40LTM3LjVMNTEyIDI1Mi44IDUxMiAxNDRjMC00NC4yLTM1LjgtODAtODAtODBsLTE2IDAgMC0xNmMwLTI2LjUtMjEuNS00OC00OC00OEwyNzIgMHpNNDAzLjQgNDc2LjFjMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdTNyA0ODIuMyAxNy42IDQ5MC4zYzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOXoiXX0salV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImMiLGljb246WzM4NCw1MTIsWzk5XSwiNDMiLCJNMzI5LjEgMTQyLjljLTYyLjUtNjIuNS0xNTUuOC02Mi41LTIxOC4zIDBzLTYyLjUgMTYzLjggMCAyMjYuMyAxNTUuOCA2Mi41IDIxOC4zIDBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2MtODcuNSA4Ny41LTIyMS4zIDg3LjUtMzA4LjggMHMtODcuNS0yMjkuMyAwLTMxNi44IDIyMS4zLTg3LjUgMzA4LjggMGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMHoiXX0sWjZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1waG9uZSIsaWNvbjpbNDQ4LDUxMixbInBob25lLXNxdWFyZSJdLCJmMDk4IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTg4IDk2LjdjOS44LTIuNyAyMC4xIDIuNCAyNCAxMS44bDIwLjMgNDguN2MzLjQgOC4zIDEuMSAxNy44LTUuOSAyMy41bC0yMi4xIDE4YzE2LjIgMzUuOCA0NC41IDY1IDc5LjYgODIuNGwxOS4zLTIzLjZjNS43LTYuOSAxNS4yLTkuMyAyMy41LTUuOWw0OC43IDIwLjNjOS40IDMuOSAxNC40IDE0LjIgMTEuOCAyNGwtLjggMi44Yy04LjggMzIuMy00MC4xIDU5LjktNzguMiA1MS44LTg3LjUtMTguNS0xNTYuMy04Ny40LTE3NC45LTE3NC45LTguMS0zOC4xIDE5LjUtNjkuNCA1MS44LTc4LjJsMi44LS44eiJdfSxVVXQ9WjZlLFdVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydWxlci1jb21iaW5lZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjU0NiIsIk0xIDQ0MS43QzUuNSA0NjMuNSAyNC44IDQ4MCA0OCA0ODBsMzUyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTI2LjUtMjEuNS00OC00OC00OGwtNDggMCAwIDcyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNzItNjQgMCAwIDcyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNzItNzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw3MiAwIDAtNjQtNzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw3MiAwIDAtNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MEwwIDQzMmMwIDMuMyAuMyA2LjYgMSA5Ljd6Il19LE9ZPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy1yb3RhdGUiLGljb246WzUxMiw1MTIsWzEyODQ3MiwicmVmcmVzaCIsInN5bmMiXSwiZjAyMSIsIk02NS45IDIyOC41YzEzLjMtOTMgOTMuNC0xNjQuNSAxOTAuMS0xNjQuNSA1MyAwIDEwMSAyMS41IDEzNS44IDU2LjIgLjIgLjIgLjQgLjQgLjYgLjZsNy42IDcuMi00Ny45IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA1My40LTExLjMtMTAuN0MzOTAuNSAyOC42IDMyNi41IDAgMjU2IDAgMTI3IDAgMjAuMyA5NS40IDIuNiAyMTkuNSAuMSAyMzcgMTIuMiAyNTMuMiAyOS43IDI1NS43czMzLjctOS43IDM2LjItMjcuMXptNDQzLjUgNjRjMi41LTE3LjUtOS43LTMzLjctMjcuMS0zNi4ycy0zMy43IDkuNy0zNi4yIDI3LjFjLTEzLjMgOTMtOTMuNCAxNjQuNS0xOTAuMSAxNjQuNS01MyAwLTEwMS0yMS41LTEzNS44LTU2LjItLjItLjItLjQtLjQtLjYtLjZsLTcuNi03LjIgNDcuOSAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyMGMtOC41IDAtMTYuNyAzLjQtMjIuNyA5LjVTLS4xIDM0My43IDAgMzUyLjNsMSAxMjdjLjEgMTcuNyAxNC42IDMxLjkgMzIuMyAzMS43UzY1LjIgNDk2LjQgNjUgNDc4LjdsLS40LTUxLjUgMTAuNyAxMC4xYzQ2LjMgNDYuMSAxMTAuMiA3NC43IDE4MC43IDc0LjcgMTI5IDAgMjM1LjctOTUuNCAyNTMuNC0yMTkuNXoiXX0sR1V0PU9ZLFlVdD1PWSxYNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWRyZXNzIixpY29uOlszODQsNTEyLFsiZmVtYWxlIl0sImYxODIiLCJNMTM2IDI0YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTEyIDM4NGwtMjUuOCAwYy0xMC45IDAtMTguNi0xMC43LTE1LjItMjEuMWw0My0xMjktNDguMyA2NS4xYy0xMC41IDE0LjItMzAuNiAxNy4yLTQ0LjggNi42cy0xNy4yLTMwLjYtNi42LTQ0LjhsNzAuNS05NUMxMTAgMTMyIDE0OS43IDExMiAxOTIgMTEyczgyIDIwIDEwNy4yIDUzLjlsNzAuNSA5NWMxMC41IDE0LjIgNy42IDM0LjItNi42IDQ0LjhzLTM0LjIgNy42LTQ0LjgtNi42TDI3MCAyMzQgMzEzIDM2Mi45YzMuNSAxMC40LTQuMyAyMS4xLTE1LjIgMjEuMWwtMjUuOCAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4LTMyIDAgMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjh6Il19LFpVdD1YNmUsWFV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stb3BlbiIsaWNvbjpbNTEyLDUxMixbMTI4MjE0LDEyODM2Nl0sImY1MTgiLCJNMjU2IDE0MS4zbDAgMzA5LjMgLjUtLjJDMzExLjEgNDI3LjcgMzY5LjcgNDE2IDQyOC44IDQxNmwxOS4yIDAgMC0zMjAtMTkuMiAwYy00Mi4yIDAtODQuMSA4LjQtMTIzLjEgMjQuNi0xNi44IDctMzMuNCAxMy45LTQ5LjcgMjAuN3pNMjMwLjkgNjEuNUwyNTYgNzIgMjgxLjEgNjEuNUMzMjcuOSA0MiAzNzguMSAzMiA0MjguOCAzMkw0NjQgMzJjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhsLTM1LjIgMGMtNTAuNyAwLTEwMC45IDEwLTE0Ny43IDI5LjVsLTEyLjggNS4zYy03LjkgMy4zLTE2LjcgMy4zLTI0LjYgMGwtMTIuOC01LjNDMTg0LjEgNDkwIDEzMy45IDQ4MCA4My4yIDQ4MEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsMzUuMiAwYzUwLjcgMCAxMDAuOSAxMCAxNDcuNyAyOS41eiJdfSxLVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9sZGVyLXRyZWUiLGljb246WzU3Niw1MTIsW10sImY4MDIiLCJNNDggMjRDNDggMTAuNyAzNy4zIDAgMjQgMFMwIDEwLjcgMCAyNEwwIDM5MmMwIDMwLjkgMjUuMSA1NiA1NiA1NmwxODQgMCAwLTQ4LTE4NCAwYy00LjQgMC04LTMuNi04LThsMC0yMzIgMTkyIDAgMC00OC0xOTIgMCAwLTg4ek0zMzYgMjI0bDE5MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTgyLjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTguNi04LjZjLTktOS0yMS4yLTE0LjEtMzMuOS0xNC4xTDMzNiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDEyOGMwIDI2LjUgMjEuNSA0OCA0OCA0OHptMCAyODhsMTkyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTI2LjUtMjEuNS00OC00OC00OGwtODIuNyAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtOC42LTguNmMtOS05LTIxLjItMTQuMS0zMy45LTE0LjFMMzM2IDI4OGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxMjhjMCAyNi41IDIxLjUgNDggNDggNDh6Il19LFFVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aXJnbyIsaWNvbjpbNjQwLDUxMixbXSwiZTg1MCIsIk0zNjggMzJjNjEuOSAwIDExMiA1MC4xIDExMiAxMTJsMCAyNi44YzE0LjUtNi45IDMwLjgtMTAuOCA0OC0xMC44IDYxLjkgMCAxMTIgNTAuMSAxMTIgMTEyUzU4OS45IDM4NCA1MjggMzg0bC00OCAwIDAgMzJjMCAxNi42IDEyLjYgMzAuMiAyOC43IDMxLjhsNi42IC4zYzE2LjEgMS42IDI4LjcgMTUuMyAyOC43IDMxLjggMCAxNy43LTE0LjMgMzItMzIgMzItNTMgMC05Ni00My05Ni05NmwwLTMyLTE2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYgMCAwLTE3NmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OGwwIDMwNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMwNGMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OGwwIDMwNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyMGMwLTE2LjYtMTIuNi0zMC4yLTI4LjctMzEuOGwtNi42LS4zQzQ0LjYgOTQuMiAzMiA4MC42IDMyIDY0IDMyIDQ2LjMgNDYuMyAzMiA2NCAzMiA5MSAzMiAxMTUuMyA0My4xIDEzMi43IDYxIDE1Mi42IDQzIDE3OSAzMiAyMDggMzIgMjM5LjMgMzIgMjY3LjcgNDQuOSAyODggNjUuNyAzMDguMyA0NC45IDMzNi42IDMyIDM2OCAzMnpNNTI4IDIyNGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA0OCA0OCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4eiJdfSxLNmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm94LWFyY2hpdmUiLGljb246WzUxMiw1MTIsWyJhcmNoaXZlIl0sImYxODciLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDEyOEMxNC4zIDEyOCAwIDExMy43IDAgOTZMMCA2NHpNMzIgMTc2bDQ0OCAwIDAgMjQwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0yNDB6bTE1MiA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LEpVdD1LNmUsZVd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbnQtYXJyb3ctZG93bi10by1saW5lIixpY29uOls1NzYsNTEyLFtdLCJlNTdlIiwiTTE4NSAxMjFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMzEgMzEgMC0xMDIuMUMxMjAgMi43IDEwOS4zLTggOTYtOFM3MiAyLjcgNzIgMTZsMCAxMDIuMS0zMS0zMUMzMS42IDc3LjcgMTYuNCA3Ny43IDcgODdTLTIuMyAxMTEuNiA3IDEyMWw3MiA3MmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw3Mi03MnpNMTU1LjggMjYwLjZMMTMyLjEgNDQ4IDMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1MTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMiAwLTIuOC0uNC01LjUtMS04TDU0OC4yIDI2MC43Yy0xLjItOS43LTYuOS0xOC40LTE1LjMtMjMuNEwzNjcuNCAxMzcuOWMtMTAuMi02LjEtMjIuOS02LjEtMzMuMSAuMUwxNzAuOSAyMzcuM2MtOC4zIDUuMS0xMy45IDEzLjctMTUuMSAyMy4zek00NDggNDQ4bC05Ny4xIDAgMC0xNDkuNGMwLTUuOSA0LjctMTAuNiAxMC42LTEwLjYgNCAwIDcuNyAyLjMgOS41IDUuOUw0NDggNDQ4eiJdfSx0V3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicXJjb2RlIixpY29uOls0NDgsNTEyLFtdLCJmMDI5IiwiTTY0IDE2MGw2NCAwIDAtNjQtNjQgMCAwIDY0ek0wIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtOTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MHpNNjQgNDE2bDY0IDAgMC02NC02NCAwIDAgNjR6TTAgMzM2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtOTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NnpNMzIwIDk2bDAgNjQgNjQgMCAwLTY0LTY0IDB6TTMwNCAzMmw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0yNi41IDIxLjUtNDggNDgtNDh6TTI4OCAzNTJhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0wIDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyLTMyLTE0LjMtMzItMzIgMTQuMy0zMiAzMi0zMnptOTYgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMi0xNC4zIDMyLTMyIDMyLTMyLTE0LjMtMzItMzJ6bTMyLTk2YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptLTMyIDMyYTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6Il19LGFXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkcmFnb24iLGljb246WzY0MCw1MTIsWzEyODAwOV0sImY2ZDUiLCJNMzUyIDEyNC41bC01MS45LTEzYy02LjUtMS42LTExLjMtNy4xLTEyLTEzLjhzMi44LTEzLjEgOC43LTE2LjFsNDAuOC0yMC40LTQzLjMtMzIuNWMtNS41LTQuMS03LjgtMTEuMy01LjYtMTcuOVMyOTcuMSAwIDMwNCAwTDQ2NCAwYzMwLjIgMCA1OC43IDE0LjIgNzYuOCAzOC40bDU3LjYgNzYuOGM2LjIgOC4zIDkuNiAxOC40IDkuNiAyOC44IDAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0yMS41IDBjLTE3IDAtMzMuMy02LjctNDUuMy0xOC43bC0xMy4zLTEzLjMtMzIgMCAwIDIxLjVjMCAyNC44IDEyLjggNDcuOSAzMy44IDYxLjFsMTA2LjYgNjYuNmMzMi4xIDIwLjEgNTEuNiA1NS4yIDUxLjYgOTMuMSAwIDYwLjYtNDkuMSAxMDkuOC0xMDkuOCAxMDkuOEwzMi4zIDUxMmMtMy4zIDAtNi42LS40LTkuNi0xLjQtOS4yLTIuOC0xNi43LTkuNi0yMC40LTE4LjYtMS4zLTMuMy0yLjItNi45LTIuMy0xMC43LS4yLTMuNyAuMy03LjMgMS4zLTEwLjcgMi44LTkuMiA5LjYtMTYuNyAxOC42LTIwLjQgMy0xLjIgNi4yLTIgOS41LTIuMkw0MzMuMyA0MTJjOC4zLS43IDE0LjctNy43IDE0LjctMTYuMSAwLTQuMy0xLjctOC40LTQuNy0xMS40bC00NC40LTQ0LjRjLTMwLTMwLTQ2LjktNzAuNy00Ni45LTExMy4xbDAtMTAyLjV6TTUxMiA3Mi4zYzAtLjEgMC0uMiAwLS4zczAtLjIgMC0uM2wwIC42em0tMS4zIDcuNEw0NjQuMyA2OC4xYy0uMiAxLjMtLjMgMi42LS4zIDMuOSAwIDEzLjMgMTAuNyAyNCAyNCAyNCAxMC42IDAgMTkuNS02LjggMjIuNy0xNi4zek0xMzAuOSAxMTYuNWMxNi4zLTE0LjUgNDAuNC0xNi4yIDU4LjUtNC4xbDEzMC42IDg3IDAgMjcuNWMwIDMyLjggOC40IDY0LjggMjQgOTNsLTIzMiAwYy02LjcgMC0xMi43LTQuMi0xNS0xMC40cy0uNS0xMy4zIDQuNi0xNy43TDE3MSAyMzIuMyAxOC40IDI1NS44Yy03IDEuMS0xMy45LTIuNi0xNi45LTlTLjEgMjMyLjggNS40IDIyOEwxMzAuOSAxMTYuNXoiXX0sUTZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXJnbGFzcy1lbmQiLGljb246WzM4NCw1MTIsWzg5ODcsImhvdXJnbGFzcy0zIl0sImYyNTMiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwwIDExYzAgNDIuNCAxNi45IDgzLjEgNDYuOSAxMTMuMWw2Ny45IDY3LjktNjcuOSA2Ny45QzQ4LjkgMzUzLjkgMzIgMzk0LjYgMzIgNDM3bDAgMTFjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0xMWMwLTQyLjQtMTYuOS04My4xLTQ2LjktMTEzLjFsLTY3LjktNjcuOSA2Ny45LTY3LjljMzAtMzAgNDYuOS03MC43IDQ2LjktMTEzLjFsMC0xMWMxNy43IDAgMzItMTQuMyAzMi0zMlMzNjkuNyAwIDM1MiAwTDMyIDB6TTk2IDc1bDAtMTEgMTkyIDAgMCAxMWMwIDI1LjUtMTAuMSA0OS45LTI4LjEgNjcuOWwtNjcuOSA2Ny45LTY3LjktNjcuOUMxMDYuMSAxMjQuOSA5NiAxMDAuNCA5NiA3NXoiXX0scld0PVE2ZSxGOD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJncmlwIixpY29uOls1MTIsNTEyLFs1ODExOSwiZ3JpZC1ob3Jpem9udGFsIiwiZ3JpcC1ob3Jpem9udGFsIl0sImY1OGQiLCJNODggOTZjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwek0yODAgMjI0bC00OCAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTQ4YzAtMjIuMSAxNy45LTQwIDQwLTQwbDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MHptMTkyIDBsLTQ4IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQwem0wIDE5MmwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDB6TTI4MCAyODhjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwek04OCA0MTZsLTQ4IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQweiJdfSxpV3Q9Rjgsc1d0PUY4LEo2ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3JkZXItdG9wLWxlZnQiLGljb246WzQ0OCw1MTIsWyJib3JkZXItc3R5bGUiXSwiZjg1MyIsIk0wIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzUyIDM1MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0NDh6bTEyOCAwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzItMTQuMy0zMi0zMi0zMi0zMiAxNC4zLTMyIDMyem0xMjggMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyLTE0LjMtMzItMzItMzItMzIgMTQuMy0zMiAzMnptMTYwIDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyLTMyIDE0LjMtMzIgMzIgMTQuMyAzMiAzMiAzMnpNMzg0IDE5MmEzMiAzMiAwIDEgMCA2NCAwIDMyIDMyIDAgMSAwIC02NCAwem0zMiAxNjBhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxvV3Q9SjZlLGU1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsaXN0LXVsIixpY29uOls1MTIsNTEyLFsibGlzdC1kb3RzIl0sImYwY2EiLCJNNDggMTQ0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMTkyIDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDE5MiA2NHptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI4OCAwem0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjg4IDB6TTQ4IDQ2NGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTk2IDI1NmE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSxuV3Q9ZTVlLGxXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtcm9iYmVyeSIsaWNvbjpbNTc2LDUxMixbXSwiZTUzNiIsIk00ODguMiA1OS4xQzQ3OC4xIDk5LjYgNDQxLjcgMTI4IDQwMCAxMjhzLTc4LjEtMjguNC04OC4yLTY4LjlMMzAzIDI0LjJDMjk4LjggNy4xIDI4MS40LTMuMyAyNjQuMiAxUzIzNi43IDIyLjYgMjQxIDM5LjhsOC43IDM0LjljMTEgNDQgNDAuMiA3OS42IDc4LjMgOTkuNkwzMjggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggMTYgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzA1LjdjMzguMS0yMCA2Ny4zLTU1LjYgNzguMy05OS42TDU1OSAzOS44YzQuMy0xNy4xLTYuMS0zNC41LTIzLjMtMzguOFM1MDEuMiA3LjEgNDk3IDI0LjJsLTguNyAzNC45ek00MDAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek04MCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bS04IDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDk2IDAgLjYgMCAxOTEuNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDE2IDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIyNy4zIDEzIDIwLjVjNS45IDkuMiAxNi4xIDE0LjkgMjcgMTQuOWw0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMC40IDAtMzcuNC01OC45QzE1Ny42IDE0MiAxMzIuMSAxMjggMTA0LjcgMTI4TDcyIDEyOHoiXX0sY1d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vYmlsZS1idXR0b24iLGljb246WzM4NCw1MTIsW10sImYxMGIiLCJNODAgMEM0NC43IDAgMTYgMjguNyAxNiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw4MCAwek0xOTIgNDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyIDMyIDE0LjMgMzIgMzItMTQuMyAzMi0zMiAzMnoiXX0sQlk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctZG93bi1hLXoiLGljb246WzUxMiw1MTIsWyJzb3J0LWFscGhhLWFzYyIsInNvcnQtYWxwaGEtZG93biJdLCJmMTVkIiwiTTIzMC42IDM5MC42bC04MCA4MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTgwLTgwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDk2IDM3MC43IDk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMDYuNyAyNS40LTI1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3ptMTgyLTM0MC45YzUwLjcgMTAxLjMgNzcuMyAxNTQuNyA4MCAxNjAgNy45IDE1LjggMS41IDM1LTE0LjMgNDIuOXMtMzUgMS41LTQyLjktMTQuM2wtNy4yLTE0LjMtODguNCAwLTcuMiAxNC4zYy03LjkgMTUuOC0yNy4xIDIyLjItNDIuOSAxNC4zcy0yMi4yLTI3LjEtMTQuMy00Mi45YzIuNy01LjMgMjkuMy01OC43IDgwLTE2MCA1LjQtMTAuOCAxNi41LTE3LjcgMjguNi0xNy43czIzLjIgNi44IDI4LjYgMTcuN3pNMzg0IDEzNS42bC0yMC4yIDQwLjQgNDAuNCAwLTIwLjItNDAuNHpNMjg4IDMyMGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMjggMGMxMi45IDAgMjQuNiA3LjggMjkuNiAxOS44czIuMiAyNS43LTYuOSAzNC45TDM5Ny4zIDQxNiA0NDggNDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMjggMGMtMTIuOSAwLTI0LjYtNy44LTI5LjYtMTkuOHMtMi4yLTI1LjcgNi45LTM0LjlsNzMuNC03My40LTUwLjcgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LGRXdD1CWSxwV3Q9QlksdVd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWJpbGwiLGljb246WzUxMiw1MTIsW10sImYwZDYiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6bTE5MiA5NmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnptMTkyIDI0YzAgNC40LTMuNiA4LjEtOCA3LjUtMjktMy42LTUxLjktMjYuNi01NS41LTU1LjUtLjUtNC40IDMuMS04IDcuNS04bDQ4IDBjNC40IDAgOCAzLjYgOCA4bDAgNDh6TTY0IDMyOGMwLTQuNCAzLjYtOC4xIDgtNy41IDI5IDMuNiA1MS45IDI2LjYgNTUuNSA1NS41IC41IDQuNC0zLjEgOC03LjUgOGwtNDggMGMtNC40IDAtOC0zLjYtOC04bDAtNDh6bTgtMTM2LjVjLTQuNCAuNS04LTMuMS04LTcuNWwwLTQ4YzAtNC40IDMuNi04IDgtOGw0OCAwYzQuNCAwIDguMSAzLjYgNy41IDgtMy42IDI5LTI2LjYgNTEuOS01NS41IDU1LjV6bTM2OCAxMjljNC40LS41IDggMy4xIDggNy41bDAgNDhjMCA0LjQtMy42IDgtOCA4bC00OCAwYy00LjQgMC04LjEtMy42LTcuNS04IDMuNi0yOSAyNi42LTUxLjkgNTUuNS01NS41eiJdfSx0NWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLW1pbnVzIixpY29uOls1MTIsNTEyLFsibWludXMtY2lyY2xlIl0sImYwNTYiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2OCAyMzJsMTc2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE3NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxmV3Q9dDVlLGE1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1wb2ludGVyIixpY29uOls0NDgsNTEyLFsibW91c2UtcG9pbnRlciJdLCJmMjQ1IiwiTTc3LjMgMi41YzguMS00LjEgMTcuOS0zLjIgMjUuMSAyLjNsMzIwIDIzOS45YzguMyA2LjIgMTEuNiAxNyA4LjQgMjYuOHMtMTIuNCAxNi40LTIyLjggMTYuNGwtMTUyLjMgMCA4OC45IDE3Ny43YzcuOSAxNS44IDEuNSAzNS0xNC4zIDQyLjlzLTM1IDEuNS00Mi45LTE0LjNsLTg4LjktMTc3LjctOTEuMyAxMjEuOGMtNi4yIDguMy0xNyAxMS42LTI2LjggOC40UzY0IDQzNC4zIDY0IDQyNEw2NCAyNGMwLTkuMSA1LjEtMTcuNCAxMy4zLTIxLjV6Il19LGhXdD1hNWUscjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1zaGFyZS1ub2RlcyIsaWNvbjpbNDQ4LDUxMixbInNoYXJlLWFsdC1zcXVhcmUiXSwiZjFlMSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0zNjggMTYwYzAgMzUuMy0yOC43IDY0LTY0IDY0LTE1LjQgMC0yOS41LTUuNC00MC42LTE0LjVsLTg1LjMgNDYuNSA4NS4zIDQ2LjVjMTEtOS4xIDI1LjItMTQuNSA0MC42LTE0LjUgMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjQtNjQtMjguNy02NC02NGMwLTIuNSAuMS00LjkgLjQtNy4zTDE1OC41IDMwMGMtMTEuNyAxMi4zLTI4LjIgMjAtNDYuNSAyMC0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0YzE4LjMgMCAzNC44IDcuNyA0Ni41IDIwbDgxLjktNDQuN2MtLjMtMi40LS40LTQuOS0uNC03LjMgMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NHoiXX0sbVd0PXI1ZSxpNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGUtY2VsbHMtbGFyZ2UiLGljb246WzQ0OCw1MTIsWyJ0aC1sYXJnZSJdLCJmMDA5IiwiTTM4NCA5NmwtMTI4IDAgMCAxMjggMTI4IDAgMC0xMjh6bTY0IDEyOGwwIDE5MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMjh6TTY0IDI4OGwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHptMTI4LTY0bDAtMTI4LTEyOCAwIDAgMTI4IDEyOCAwem02NCA2NGwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHoiXX0sZ1d0PWk1ZSxiV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2F0IixpY29uOls1NzYsNTEyLFsxMjgwMDhdLCJmNmJlIiwiTTY0IDk2YzUzIDAgOTYgNDMgOTYgOTZsMCA4NS44YzI5LjctNDQuNyA3Ny44LTc2LjIgMTMzLjQtODQgMjUuNiA2MCA4NS4yIDEwMi4xIDE1NC42IDEwMi4xIDEwLjkgMCAyMS42LTEuMSAzMi0zLjFMNDgwIDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE0MC44LTEzNiAxMDguOCA1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNDQgMGMtNTMgMC05Ni00My05Ni05NmwwLTIyNGMwLTE2LjYtMTIuNi0zMC4yLTI4LjctMzEuOGwtNi42LS4zQzQ0LjYgMTU4LjIgMzIgMTQ0LjYgMzIgMTI4IDMyIDExMC4zIDQ2LjMgOTYgNjQgOTZ6TTUzMy44IDMuMkM1NDQuMi01LjUgNTYwIDEuOSA1NjAgMTUuNUw1NjAgMTI4YzAgNjEuOS01MC4xIDExMi0xMTIgMTEyUzMzNiAxODkuOSAzMzYgMTI4bDAtMTEyLjVjMC0xMy42IDE1LjgtMjEgMjYuMi0xMi4zTDQxNiA0OCA0ODAgNDggNTMzLjggMy4yek00MDAgMTA4YTIwIDIwIDAgMSAwIDAgNDAgMjAgMjAgMCAxIDAgMC00MHptOTYgMGEyMCAyMCAwIDEgMCAwIDQwIDIwIDIwIDAgMSAwIDAtNDB6Il19LHZXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxlbmRhci13ZWVrIixpY29uOls0NDgsNTEyLFtdLCJmNzg0IiwiTTEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMTI4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMCAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTkyIDB6Il19LHhXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2RlLWNvbXBhcmUiLGljb246WzUxMiw1MTIsW10sImUxM2EiLCJNMTk4LjggMS44YzktMy43IDE5LjMtMS43IDI2LjIgNS4ybDU2IDU2YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC01NiA1NmMtNi45IDYuOS0xNy4yIDguOS0yNi4yIDUuMlMxODQgMTQ1LjcgMTg0IDEzNmwwLTI0LTI0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMjE0LjdjMjguMyAxMi4zIDQ4IDQwLjUgNDggNzMuMyAwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTMyLjggMTkuNy02MSA0OC03My4zTDY0IDE0NGMwLTUzIDQzLTk2IDk2LTk2bDI0IDAgMC0yNGMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJ6TTM5MiA4MGEyNCAyNCAwIDEgMCA0OCAwIDI0IDI0IDAgMSAwIC00OCAwem0tOCA3My4zYy0yOC4zLTEyLjMtNDgtNDAuNS00OC03My4zIDAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAzMi44LTE5LjcgNjEtNDggNzMuM0w0NDggMzY4YzAgNTMtNDMgOTYtOTYgOTZsLTI0IDAgMCAyNGMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC01Ni01NmMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsNTYtNTZjNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMlMzMjggMzY2LjMgMzI4IDM3NmwwIDI0IDI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yMTQuN3pNNzIgNDMyYTI0IDI0IDAgMSAwIDQ4IDAgMjQgMjQgMCAxIDAgLTQ4IDB6Il19LHlXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsZW8iLGljb246WzUxMiw1MTIsW10sImU4NGEiLCJNMjYwIDBjNzIuOSAwIDEzMiA1OS4xIDEzMiAxMzJsMCA1LjQtLjEgMS40LTIzLjggMjcwYy40IDIxLjcgMTguMiAzOS4yIDQwIDM5LjIgMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDBjMCA1Ny40LTQ2LjYgMTA0LTEwNCAxMDRTMzA0IDQ2NS40IDMwNCA0MDhsMC0xLjQgLjEtMS40IDIzLjktMjcwLjYgMC0yLjZjMC0zNy42LTMwLjQtNjgtNjgtNjhzLTY4IDMwLjQtNjggNjhsMCA0YzAgMy43IC4zIDcuMyAuOCAxMWwyOS43IDE5My40Yy45IDYuMSAxLjQgMTIuMiAxLjQgMTguNGwwIDkuMmMwIDYxLjktNTAuMSAxMTItMTEyIDExMlMwIDQyOS45IDAgMzY4IDUwLjEgMjU2IDExMiAyNTZjMTEuNyAwIDIzIDEuOCAzMy43IDUuMUwxMjkuNiAxNTYuN2MtMS4xLTYuOC0xLjYtMTMuOC0xLjYtMjAuN2wwLTRDMTI4IDU5LjEgMTg3LjEgMCAyNjAgMHpNMTEyIDMyMGE0OCA0OCAwIDEgMCAwIDk2IDQ4IDQ4IDAgMSAwIDAtOTZ6Il19LHdXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb2FkLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTU2NiIsIk0yODcuOSAzMmwtNzYuMiAwYy0yOS40IDAtNTUuMSAyMC4xLTYyLjEgNDguNkw2NS40IDQyMC41QzU3LjkgNDUwLjcgODAuOCA0ODAgMTEyIDQ4MGwyMDkuNCAwYy0xMS4yLTI0LjQtMTcuNC01MS40LTE3LjQtODAgMC0yOC42IDYuMi01NS43IDE3LjQtODAtLjUgMC0xIDAtMS42IDAtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDkuMmMzNS4yLTQwIDg2LjctNjUuMiAxNDQuMi02NS4yIDkgMCAxNy44IC42IDI2LjQgMS44bC0zMi0xMjkuMkM0ODMuNCA1Mi4xIDQ1Ny44IDMyIDQyOC4zIDMybC03Ni41IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0ek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNTkuMy0xODAuN2wtMzYuNyAzNi43IDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwbC0zNi43LTM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDM2LjctMzYuNy0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwzNi43IDM2LjcgMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnoiXX0sTVd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhbGxldCIsaWNvbjpbNTc2LDUxMixbXSwiZjQ4MiIsIk0zMiAzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDY0LTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC02NCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyMHptOTYgNjRsMTI4IDAgMCA2NC0xMjggMCAwLTY0em0xOTIgMGwxMjggMCAwIDY0LTEyOCAwIDAtNjR6Il19LEhZPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNha2UtY2FuZGxlcyIsaWNvbjpbNDQ4LDUxMixbMTI3ODc0LCJiaXJ0aGRheS1jYWtlIiwiY2FrZSJdLCJmMWZkIiwiTTg2LjQtMTAuNUw2MS44IDMxLjZDNTggMzguMSA1NiA0NS42IDU2IDUzLjJMNTYgNTZjMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MGwwLTIuOGMwLTcuNi0yLTE1LTUuOC0yMS42TDEwNS42LTEwLjVjLTItMy40LTUuNy01LjUtOS42LTUuNXMtNy42IDIuMS05LjYgNS41em0xMjggMEwxODkuOCAzMS42Yy0zLjggNi41LTUuOCAxNC01LjggMjEuNmwwIDIuOGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwbDAtMi44YzAtNy42LTItMTUtNS44LTIxLjZMMjMzLjYtMTAuNWMtMi0zLjQtNS43LTUuNS05LjYtNS41cy03LjYgMi4xLTkuNiA1LjV6TTMxNy44IDMxLjZjLTMuOCA2LjUtNS44IDE0LTUuOCAyMS42bDAgMi44YzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBsMC0yLjhjMC03LjYtMi0xNS01LjgtMjEuNkwzNjEuNi0xMC41Yy0yLTMuNC01LjctNS41LTkuNi01LjVzLTcuNiAyLjEtOS42IDUuNUwzMTcuOCAzMS42ek0xMjggMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNTMuNUMyNi43IDIyNi42IDAgMjYyLjIgMCAzMDRsMCAyMC44YzIwLjkgMS4zIDQxLjYgNy4zIDYwLjMgMThsNy4xIDQuMWMyNi4zIDE1IDU4LjkgMTMuNCA4My42LTQuMiA0My43LTMxLjIgMTAyLjMtMzEuMiAxNDYgMCAyNC42IDE3LjYgNTcuMyAxOS4zIDgzLjYgNC4ybDcuMS00LjFjMTguNy0xMC43IDM5LjMtMTYuNyA2MC4zLTE4bDAtMjAuOGMwLTQxLjgtMjYuNy03Ny40LTY0LTkwLjVsMC01My41YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDgtNjQgMCAwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDgtNjQgMCAwLTQ4ek00NDggMzczYy0xMi43IDEuMi0yNS4xIDUtMzYuNSAxMS41bC03LjEgNC4xYy00Mi42IDI0LjMtOTUuNCAyMS43LTEzNS4zLTYuOC0yNy0xOS4zLTYzLjItMTkuMy05MC4yIDAtMzkuOSAyOC41LTkyLjcgMzEuMi0xMzUuMyA2LjhsLTcuMS00LjFDMjUuMSAzNzggMTIuNyAzNzQuMSAwIDM3M2wwIDc1YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNzV6Il19LGtXdD1IWSx6V3Q9SFksU1d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1Zy1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZTQ5MCIsIk03LTI0LjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMjQxLjggMTc2IDM0NCAxNzZjMTQuMiAwIDI3LjcgMi44IDQwIDhsMTA4LjgtODEuNmMxNC4xLTEwLjYgMzQuMi03LjcgNDQuOCA2LjRzNy43IDM0LjItNi40IDQ0LjhsLTk3LjggNzMuM2M1LjMgOC45IDkuMyAxOC43IDExLjggMjkuMWw5OC44IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDAgMCAzMmMwIDkuNS0uOCAxOC43LTIuNCAyNy44TDU2OSA1MDMuMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDcgOS4xQy0yLjMtLjMtMi4zLTE1LjUgNy0yNC45ek0zOTguMiA0NjhjLTIzLjIgMjIuMS01MyAzNy4yLTg2LjIgNDIuMmwwLTEyOC40IDg2LjIgODYuMnpNMjY0IDMzMy44bDAgMTc2LjRjLTUxLjItNy43LTk0LjUtMzkuNy0xMTcuNy04My45TDgzLjIgNDczLjZjLTE0LjEgMTAuNi0zNC4yIDcuNy00NC44LTYuNHMtNy43LTM0LjIgNi40LTQ0LjhsODMuNC02Mi41Yy0uMS0yLjYtLjItNS4yLS4yLTcuOWwwLTMyLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTguOCAwYzMuMy0xMy45IDkuMy0yNi43IDE3LjYtMzcuOEwyNjQgMzMzLjh6TTM1NS42IDEyOGwtODIuNCAwLTcyLjMtNzIuM0MyMTYuMSAyMi44IDI0OS40IDAgMjg4IDAgMzQxIDAgMzg0IDQzIDM4NCA5NmwwIDMuNmMwIDE1LjctMTIuNyAyOC40LTI4LjQgMjguNHoiXX0sQ1d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhcnAiLGljb246WzUxMiw1MTIsW10sImU1N2IiLCJNNDQ4IDY0YzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTQ5LjVjMCAxNy02LjcgMzMuMy0xOC43IDQ1LjNMMzg2LjcgNDI5LjNjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzODQgMHptNS41IDIwOEwzNjAgMjcyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDkzLjUgMTE3LjUtMTE3LjV6TTk2IDE5MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LF9XdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWFncmFtLXByZWRlY2Vzc29yIixpY29uOls0NDgsNTEyLFtdLCJlNDc3IiwiTTI4OS4yIDEzNy45YzIuNS02IDguMy05LjkgMTQuOC05LjlsNDAgMCAwLTI0YzAtMTMuMy0xMC43LTI0LTI0LTI0bC05OCAwYzEuMyA1LjEgMiAxMC41IDIgMTZsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtOTYgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwyNTYgMGMzOS44IDAgNzIgMzIuMiA3MiA3MmwwIDI0IDQwIDBjNi41IDAgMTIuMyAzLjkgMTQuOCA5LjlzMS4xIDEyLjktMy41IDE3LjRsLTY0IDY0Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtNjQtNjRjLTQuNi00LjYtNS45LTExLjUtMy41LTE3LjR6TTM4NCAzNTJsLTMyMCAwIDAgNjQgMzIwIDAgMC02NHptNjQgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjR6Il19LHM1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWZsdXNoZWQiLGljb246WzUxMiw1MTIsWzEyODU2MywiZmx1c2hlZCJdLCJmNTc5IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6TTE2OCAzOTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTI4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTEyOCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptLTgtOTZhNzIgNzIgMCAxIDAgMC0xNDQgNzIgNzIgMCAxIDAgMCAxNDR6bTI2NC03MmE3MiA3MiAwIDEgMCAtMTQ0IDAgNzIgNzIgMCAxIDAgMTQ0IDB6bS0yODggMGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0xOTIgMGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxUV3Q9czVlLExXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWFncmFtLW5leHQiLGljb246WzQ0OCw1MTIsW10sImU0NzYiLCJNMzg0IDIyNGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxMjggMCAwIDY0LTMyIDBjLTYuNSAwLTEyLjMgMy45LTE0LjggOS45cy0xLjEgMTIuOSAzLjUgMTcuNGw2NCA2NGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw2NC02NGM0LjYtNC42IDUuOS0xMS41IDMuNS0xNy40UzI5NC41IDI4OCAyODggMjg4bC0zMiAwIDAtNjQgMTI4IDB6TTY0IDI4OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zNCAwYzUuNiAyMS43LS41IDQ1LjEtMTYuNyA2MS4zbC02NCA2NGMtMjUgMjUtNjUuNSAyNS05MC41IDBsLTY0LTY0Qzk4LjYgMzMzLjEgOTIuNCAzMDkuNyA5OCAyODhsLTM0IDB6Il19LCRXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmNob3ItY2lyY2xlLXhtYXJrIixpY29uOls2NDAsNTEyLFtdLCJlNGFjIiwiTTMyMC41IDk2YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bS0zMi05NmMtNTMgMC05NiA0My05NiA5NiAwIDQxLjggMjYuNyA3Ny40IDY0IDkwLjVsMCAyNTcuOWMtNjIuOS0xNC4zLTExMC4yLTY5LjctMTExLjktMTM2LjVsMTYuMSAxNC4xYzEwIDguNyAyNS4xIDcuNyAzMy45LTIuM3M3LjctMjUuMS0yLjMtMzMuOWwtNjQtNTZjLTktNy45LTIyLjYtNy45LTMxLjYgMGwtNjQgNTZjLTEwIDguNy0xMSAyMy45LTIuMyAzMy45czIzLjkgMTEgMzMuOSAyLjNsMTYuMi0xNC4yYzIuMSAxMTMuMSA5NC40IDIwNC4xIDIwOCAyMDQuMSAxNi42IDAgMzIuNy0xLjkgNDguMi01LjYtMjAuMy0zMC41LTMyLjItNjctMzIuMi0xMDYuNCAwLTI3LjMgNS43LTUzLjMgMTYtNzYuOWwwLTEzNi42YzM3LjMtMTMuMiA2NC00OC43IDY0LTkwLjUgMC01My00My05Ni05Ni05NnptMjA4IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdsLTM2LjcgMzYuNyAzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtMzYuNy0zNi43LTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzNi43LTM2LjctMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMzYuNyAzNi43IDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6Il19LERXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tY2lyY2xlLXhtYXJrIixpY29uOls2NDAsNTEyLFtdLCJlNTQzIiwiTTI4MCAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43TDM0MSAyODYuNmMxMi44LTE3LjUgMjguNS0zMi43IDQ2LjMtNDVsLTU2LjItNzUuN0MzMDYgMTMyIDI2Ni4zIDExMiAyMjQgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTQ0IDIzNi43IDE0NCA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3pNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTIyLjYtMTQ0bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwbC0zNi43LTM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDM2LjctMzYuNy0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwzNi43IDM2LjcgMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNkw1MTguNiA0MDB6Il19LEFXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcGEiLGljb246WzU3Niw1MTIsW10sImY1YmIiLCJNMTY5LjcgMjI3LjVjMzQuMyAxOC43IDY0LjUgNDQuMSA4OC44IDc0LjUgMTEuMSAxMy45IDIxIDI4LjkgMjkuNCA0NC44IDguNS0xNS45IDE4LjMtMzAuOCAyOS40LTQ0LjggMjQuMy0zMC41IDU0LjUtNTUuOSA4OC44LTc0LjUgNDEuNy0yMi43IDg5LjQtMzUuNSAxMzkuNy0zNS41bDkuOSAwYzExLjEgMCAyMC4xIDkgMjAuMSAyMC4xIDAgMTQ4LTExOS45IDI2Ny45LTI2Ny45IDI2Ny45bC00MC4yIDBDMTE5LjkgNDgwIDAgMzYwLjEgMCAyMTIuMSAwIDIwMSA5IDE5MiAyMC4xIDE5Mmw5LjkgMGM1MC40IDAgOTguMSAxMi44IDEzOS43IDM1LjV6TTMwMy45IDM4YzE2LjkgMTUuOSA2MS40IDYzLjQgODkgMTQyLjMtNDAuMSAyMC4yLTc1LjggNDguMi0xMDQuOSA4Mi4xLTI5LjItMzMuOS02NC44LTYxLjgtMTA0LjktODIuMSAyNy42LTc4LjkgNzIuMi0xMjYuNCA4OS0xNDIuMyA0LjMtNC4xIDEwLTYgMTUuOS02czExLjYgMiAxNS45IDZ6Il19LFBXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcmllcyIsaWNvbjpbNTEyLDUxMixbXSwiZTg0NiIsIk00MDEuNiAwYzYxLjMgMCAxMTAuNCA1MC4zIDExMC40IDExMSAwIDI5LjQtMTEuNiA1Ny45LTMyLjYgNzguOGwtOC44IDguOGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4yIDBzLTEyLjUtMzIuOCAwLTQ1LjJsOC44LTguOGM4LjgtOC44IDEzLjgtMjEgMTMuOC0zMy42IDAtMjUuOS0yMS4xLTQ3LTQ2LjQtNDctMjIuNSAwLTQxLjcgMTYuMS00NS43IDM4LjJMMjg3LjUgNDg1LjZjMCAuMS0uMSAuMy0uMSAuNC0uMiAuOC0uMyAxLjYtLjUgMi4zLS4xIC4zLS4xIC41LS4yIC43LS4yIC42LS40IDEuMy0uNyAxLjktLjIgLjUtLjQgMS0uNiAxLjUtLjEgLjMtLjMgLjYtLjQgLjktMS42IDMuNS0zLjggNi41LTYuNCA5LjItMiAyLTQuMiAzLjctNi42IDUuMS0uMiAuMS0uMyAuMi0uNSAuMy0uNyAuNC0xLjQgLjctMi4xIDEtLjMgLjEtLjYgLjMtLjkgLjQtLjUgLjItMSAuNC0xLjUgLjYtLjYgLjItMS4yIC41LTEuOSAuNy0uMiAuMS0uNSAuMi0uNyAuMi0uOCAuMi0xLjYgLjQtMi4zIC41LS4yIDAtLjMgLjEtLjQgLjEtLjIgMC0uNCAwLS42IC4xLS43IC4xLTEuMyAuMi0yIC4yLS40IDAtLjggLjEtMS4yIC4xLS42IDAtMS4yIC4xLTEuOCAuMS0uNiAwLTEuMiAwLTEuOC0uMS0uNCAwLS44LS4xLTEuMi0uMS0uNy0uMS0xLjQtLjEtMi0uMi0uMiAwLS40IDAtLjYtLjEtLjIgMC0uMy0uMS0uNS0uMS0uOC0uMi0xLjYtLjMtMi4zLS41LS4zLS4xLS41LS4xLS44LS4yLS42LS4yLTEuMy0uNC0xLjktLjctLjUtLjItMS0uNC0xLjUtLjYtLjMtLjEtLjYtLjMtLjktLjQtLjctLjMtMS40LS43LTIuMS0xLS4yLS4xLS4zLS4yLS41LS4zLTIuNC0xLjQtNC43LTMuMS02LjYtNS4xLTIuNi0yLjYtNC44LTUuNy02LjQtOS4yLS4xLS4yLS4yLS4zLS4yLS41bC0uNS0xLjFjLS4xLS4zLS4yLS41LS4zLS44LS4yLS42LS41LTEuMi0uNy0xLjktLjEtLjItLjItLjUtLjItLjctLjItLjgtLjQtMS42LS41LTIuMyAwLS4xLS4xLS4zLS4xLS40TDE1NiAxMDIuMmMtNC0yMi4xLTIzLjItMzguMi00NS43LTM4LjItMjUuMyAwLTQ2LjQgMjEuMS00Ni40IDQ3IDAgMTIuNiA1IDI0LjggMTMuOCAzMy42bDguOCA4LjhjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjJzLTMyLjggMTIuNS00NS4yIDBsLTguOC04LjhDMTEuNiAxNjguOSAwIDE0MC4zIDAgMTExIDAgNTAuMyA0OS4xIDAgMTEwLjQgMCAxNjMuOCAwIDIwOS42IDM4LjMgMjE5IDkxbDM3IDIwNyAzNy0yMDdjOS40LTUyLjYgNTUuMi05MSAxMDguNy05MXoiXX0sbzVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhcnMtcHJvZ3Jlc3MiLGljb246WzQ0OCw1MTIsWyJ0YXNrcy1hbHQiXSwiZjgyOCIsIk0yODggMTYwbDk2IDAgMC02NC05NiAwIDAgNjR6TTAgMTYwTDAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsMzUyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCAyMjRjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTZ6TTE2MCA0MTZsMjI0IDAgMC02NC0yMjQgMCAwIDY0ek0wIDQxNmwwLTgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDM1MiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE2eiJdfSxFV3Q9bzVlLElXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFydC1jaXJjbGUtY2hlY2siLGljb246WzU3Niw1MTIsW10sImU0ZmQiLCJNMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43QzI5NiA1Mi41IDMzNi4yIDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDE3LjYtMy40IDM1LjYtOS41IDUzLjctMjEuOC04LjYtNDUuNi0xMy40LTcwLjUtMTMuNC0xMDYgMC0xOTIgODYtMTkyIDE5MiAwIDI4LjUgNi4yIDU1LjYgMTcuNCA4MC0uNSAwLS45IDAtMS40IDAtMTUuNSAwLTMwLjgtNC42LTQzLjEtMTQuMS03My01NS43LTIxMi45LTE4Ni0yMTIuOS0yOTguMmwwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMXpNMjg4IDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMDEuNC02MC45Yy03LjEtNS4yLTE3LjItMy42LTIyLjQgMy41bC01MyA3Mi45LTI2LjgtMjYuOGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGMzLjMgMy4zIDcuOSA1IDEyLjYgNC42czguOS0yLjggMTEuNy02LjVsNjQtODhjNS4yLTcuMSAzLjYtMTcuMi0zLjUtMjIuM3oiXX0sbjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcnMtc3Ryb2tlLXJpZ2h0IixpY29uOls2NDAsNTEyLFs5ODk3LCJtYXJzLXN0cm9rZS1oIl0sImYyMmIiLCJNMzIwLjUgMjU2YTExMiAxMTIgMCAxIDAgLTIyNCAwIDExMiAxMTIgMCAxIDAgMjI0IDB6TTIwOC41IDgwYzg2LjMgMCAxNTguMSA2Mi4xIDE3My4xIDE0NC4xIDEtLjEgMS45LS4xIDIuOS0uMWwxNiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDYxLjQgMC0yMi40LTI4Yy0xMS0xMy44LTguOC0zMy45IDUtNDVzMzMuOS04LjggNDUgNWw2NCA4MGM5LjMgMTEuNyA5LjMgMjguMyAwIDQwbC02NCA4MGMtMTEgMTMuOC0zMS4yIDE2LTQ1IDVzLTE2LTMxLjItNS00NWwyMi40LTI4LTYxLjQgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMTYgMGMtMSAwLTEuOSAwLTIuOS0uMS0xNSA4Mi04Ni44IDE0NC4xLTE3My4xIDE0NC4xLTk3LjIgMC0xNzYtNzguOC0xNzYtMTc2czc4LjgtMTc2IDE3Ni0xNzZ6Il19LE5XdD1uNWUsUld0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvd2VyLW9ic2VydmF0aW9uIixpY29uOls0NDgsNTEyLFtdLCJlNTg2IiwiTTIwOS43IDMuNGM5LTQuNSAxOS42LTQuNSAyOC42IDBsMTYwIDgwYzE1LjggNy45IDIyLjIgMjcuMSAxNC4zIDQyLjktNS42IDExLjItMTYuOSAxNy43LTI4LjYgMTcuN2wwIDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xMyAwIDMyIDE5MiA0NSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0NSAwIDMyLTE5Mi0xMyAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTgwYy0xMS43IDAtMjMtNi41LTI4LjYtMTcuNy03LjktMTUuOC0xLjUtMzUgMTQuMy00Mi45bDE2MC04MHpNMzEwLjcgNDQ4bC04Ni43LTYxLjktODYuNyA2MS45IDE3My40IDB6bS0xNTMtMTkybC0zLjUgMjEuMiA2OS45IDQ5LjkgNjkuOS00OS45LTMuNS0yMS4yLTEzMi43IDB6bS0xMi4zIDczLjlsLTEwLjEgNjAuNiA0Ny41LTMzLjktMzcuNC0yNi43em0xMTkuOSAyNi43bDQ3LjUgMzMuOS0xMC4xLTYwLjYtMzcuNCAyNi43ek0xNTIgMTI4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHoiXX0scVk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3Rlcmxpbmctc2lnbiIsaWNvbjpbMzg0LDUxMixbMTYzLCJnYnAiLCJwb3VuZC1zaWduIl0sImYxNTQiLCJNOTEuMyAyODhsLTM0LjggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyMS40IDBDMzcuMyAxNDcuMyAxMDUuMSA0MiAyMDcuNiA0Mmw4LjIgMGMzMy42IDAgNjYuMiAxMS4zIDkyLjUgMzIuMmwxNi4xIDEyLjdjMTMuOSAxMSAxNi4yIDMxLjEgNS4yIDQ1cy0zMS4xIDE2LjItNDUgNS4ybC0xNi4xLTEyLjdjLTE1LTExLjktMzMuNi0xOC40LTUyLjgtMTguNGwtOC4yIDBjLTU3LjMgMC05NC43IDU5LjktNjkuNyAxMTEuNCAzLjYgNy40IDYuNiAxNC45IDkuMSAyMi42bDE0OS41IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0MS4yIDBjMSAzNS4zLTguNyA3MC42LTI4LjkgMTAwLjlsLTE4LjEgMjcuMSAyMTIuMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNzIgMGMtMTEuOCAwLTIyLjYtNi41LTI4LjItMTYuOXMtNS0yMyAxLjYtMzIuOWw1MS4yLTc2LjhjMTMuMS0xOS42IDE5LjItNDIuNiAxOC4yLTY1LjR6Il19LEZXdD1xWSxPV3Q9cVksQld0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhdWNldC1kcmlwIixpY29uOls1MTIsNTEyLFsxMjg2ODhdLCJlMDA2IiwiTTIyNCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJMOTYgNjRDNzguMyA2NCA2NCA3OC4zIDY0IDk2czE0LjMgMzIgMzIgMzJsOTYgMCAwIDY0LTE4LjcgMGMtOC41IDAtMTYuNiAzLjQtMjIuNiA5LjRMMTI4IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTAwLjEgMGMyMC4yIDI5IDUzLjkgNDggOTEuOSA0OHM3MS43LTE5IDkxLjktNDhsMzYuMSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMiAwLTg4LjQtNzEuNi0xNjAtMTYwLTE2MGwtMzIgMC0yMi42LTIyLjZjLTYtNi0xNC4xLTkuNC0yMi42LTkuNGwtMTguNyAwIDAtNjQgOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMGMwLTE3LjctMTQuMy0zMi0zMi0zMnpNNDM2LjggNDU1LjRsLTE4LjIgNDIuNGMtMS44IDQuMS0yLjcgOC42LTIuNyAxMy4xbDAgMS4yYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xLjJjMC00LjUtLjktOC45LTIuNy0xMy4xbC0xOC4yLTQyLjRjLTEuOS00LjUtNi4zLTcuNC0xMS4yLTcuNHMtOS4yIDIuOS0xMS4yIDcuNHoiXX0sJDc9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWluZm8iLGljb246WzUxMiw1MTIsWyJpbmZvLWNpcmNsZSJdLCJmMDVhIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMjQgMTYwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bS04IDY0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA4OCA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTgwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjQgMCAwLTY0LTI0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LEhXdD0kNyxxV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmVhdGhlciIsaWNvbjpbNTEyLDUxMixbMTI5NzE4XSwiZjUyZCIsIk0zNTIgMGM0MSAwIDgwLjMgMTYuMyAxMDkuMiA0NS4ybDUuNSA1LjVjMjkgMjkgNDUuMyA2OC4zIDQ1LjMgMTA5LjIgMCAyNC4xLTUuNyA0Ny42LTE2LjIgNjguOC0xLjkgMy43LTUuMyA2LjUtOS4zIDcuN0wzNzQuNSAyNzBjLTMuOSAxLjItNi41IDQuNy02LjUgOC44IDAgNS4xIDQuMSA5LjIgOS4yIDkuMmwzMi4yIDBjMTQuMyAwIDIxLjQgMTcuMiAxMS4zIDI3LjNsLTIyLjQgMjIuNGMtMS45IDEuOS00LjIgMy4yLTYuNyA0bC04MSAyNC4zYy0zLjkgMS4yLTYuNSA0LjctNi41IDguOCAwIDUuMSA0LjEgOS4yIDkuMiA5LjIgMTMuMiAwIDE4LjkgMTUuNyA3LjggMjIuOS00MS4xIDI2LjYtODkuMyA0MS4xLTEzOSA0MS4xbC04NiAwLTQ4IDQ4Yy04LjggOC44LTIzLjIgOC44LTMyIDBzLTguOC0yMy4yIDAtMzJMMjU2IDIyNGM4LjgtOC44IDguOC0yMy4yIDAtMzJzLTIzLjItOC44LTMyIDBMNzkuNSAzMzYuNWMtNS43IDUuNy0xNS41IDEuNy0xNS41LTYuNCAwLTY3LjkgMjctMTMzIDc1LTE4MUwyNDIuOCA0NS4yQzI3MS43IDE2LjMgMzExIDAgMzUyIDB6Il19LFZXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3dsLXJpY2UiLGljb246WzUxMiw1MTIsW10sImUyZWIiLCJNMTc2IDQwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0yNCA0OGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0ek01NiAxNjBsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMCAyODMuNEMwIDI2OC4zIDEyLjMgMjU2IDI3LjQgMjU2bDQ1Ny4xIDBjMTUuMSAwIDI3LjQgMTIuMyAyNy40IDI3LjQgMCA3MC41LTQ0LjQgMTMwLjctMTA2LjcgMTU0LjFMNDAzLjUgNDUyYy0yIDE2LTE1LjYgMjgtMzEuOCAyOGwtMjMxLjUgMGMtMTYuMSAwLTI5LjgtMTItMzEuOC0yOGwtMS44LTE0LjRDNDQuNCA0MTQuMSAwIDM1My45IDAgMjgzLjR6TTIyNCAxODRjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bS05NiAwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0xMDQgODhsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMjE2IDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0yOTYgODhsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMTIwIDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0zOTIgODhsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMjk2IDE2bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LGw1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFyLWhhbGYtc3Ryb2tlIixpY29uOls1NzYsNTEyLFsic3Rhci1oYWxmLWFsdCJdLCJmNWMwIiwiTTI4OC4xIDM1My42YzEwIDAgMTkuOSAyLjMgMjkgN2w3NC40IDM3LjktMTMtODIuNWMtMy4yLTIwLjIgMy41LTQwLjcgMTcuOS01NS4ybDU5LTU5LjEtODIuNS0xMy4xYy0yMC4yLTMuMi0zNy43LTE1LjktNDctMzQuMWwtMzgtNzQuNCAwIDI3My42ek00NTcuNCA0ODljLTcuMyA1LjMtMTcgNi4xLTI1IDJMMjg4LjEgNDE3LjYgMTQzLjggNDkxYy04IDQuMS0xNy43IDMuMy0yNS0ycy0xMS0xNC4yLTkuNi0yMy4yTDEzNC40IDMwNS45IDIwIDE5MS40Yy02LjQtNi40LTguNi0xNS44LTUuOC0yNC40czEwLjEtMTQuOSAxOS4xLTE2LjNsMTU5LjktMjUuNCA3My42LTE0NC4yYzQuMS04IDEyLjQtMTMuMSAyMS40LTEzLjFzMTcuMyA1LjEgMjEuNCAxMy4xTDM4MyAxMjUuMyA1NDIuOSAxNTAuN2M4LjkgMS40IDE2LjMgNy43IDE5LjEgMTYuM3MuNSAxOC01LjggMjQuNEw0NDEuNyAzMDUuOSA0NjcgNDY1LjhjMS40IDguOS0yLjMgMTcuOS05LjYgMjMuMnoiXX0sald0PWw1ZSxjNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVtcGVyYXR1cmUtYXJyb3ctZG93biIsaWNvbjpbNTEyLDUxMixbInRlbXBlcmF0dXJlLWRvd24iXSwiZTAzZiIsIk02NC41IDk2YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZsMCAxNjQuN2MyOS41IDI2LjQgNDggNjQuNyA0OCAxMDcuMyAwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NHMtMTQ0LTY0LjUtMTQ0LTE0NGMwLTQyLjYgMTguNS04MSA0OC0xMDcuM0w2NC41IDk2em05NiAzMzZjMzUuMyAwIDY0LTI4LjcgNjQtNjQgMC0yNi45LTE2LjUtNDkuOS00MC01OS4zbDAtMjguN2MwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI4LjdjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuMyAwIDM1LjMgMjguNyA2NCA2NCA2NHpNNDM5LjEgMzEwLjZjLTYgNi0xNC4xIDkuNC0yMi42IDkuNHMtMTYuNi0zLjQtMjIuNi05LjRsLTY0LTY0Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDkuNCA5LjQgMC0xNzguN2MwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTc4LjcgOS40LTkuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC02NCA2NHoiXX0sVVd0PWM1ZSxXV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFzay12ZW50aWxhdG9yIixpY29uOls2NDAsNTEyLFtdLCJlNTI0IiwiTTE1Mi4yIDE5MmMtMTUuNCAzOC4zLTI0LjIgNzcuMi0yNC4yIDEwOC44IDAgMTMuMyAxLjUgMjYuMiA0LjQgMzguN2wtMTctMy40Yy0yOS45LTYtNTEuNC0zMi4yLTUxLjQtNjIuOGwwLTgxLjMgODguMiAwem0zMi45LTY0TDY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA4MS4zYzAgNjEgNDMuMSAxMTMuNSAxMDIuOSAxMjUuNWw2Ni4zIDEzLjNjMTguNyAyMi4xIDQyLjkgNDAgNzAuOCA1MS44bDAtODcuOGMtMTAuMS0xNC4yLTE2LTMxLjMtMTYtNDkuNyAwLTQ5LjUgNDMtMTM0LjQgOTYtMTM0LjQgNTIuNSAwIDk2IDg0LjkgOTYgMTM0LjQgMCAxOC40LTUuOSAzNS40LTE2IDQ5LjZsMCA4Ny43YzI3LjYtMTEuOCA1MS43LTI5LjYgNzAuNC01MS42bDY2LjctMTMuM2M1OS44LTEyIDEwMi45LTY0LjUgMTAyLjktMTI1LjVsMC04MS4zYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xMjEuNSAwYy0zNC44LTU0LjItODIuNS05Ni0xMzQuNS05Ni01Mi42IDAtMTAwLjIgNDEuOC0xMzQuOSA5NnptMzAyLjUgNjRsODguNCAwIDAgODEuM2MwIDMwLjUtMjEuNSA1Ni44LTUxLjQgNjIuOGwtMTcgMy40YzIuOS0xMi40IDQuNS0yNS40IDQuNS0zOC43IDAtMzEuNi04LjktNzAuNS0yNC40LTEwOC44ek0yODggMzIwbDAgMTkyIDY0IDAgMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6Il19LEdXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXZpZGVvIixpY29uOlszODQsNTEyLFtdLCJmMWM4IiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek04MCAzMDRsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjQgMzUgMzVjMy4yIDMuMiA3LjUgNSAxMiA1IDkuNCAwIDE3LTcuNiAxNy0xN2wwLTk0LjFjMC05LjQtNy42LTE3LTE3LTE3LTQuNSAwLTguOCAxLjgtMTIgNWwtMzUgMzUgMC0yNGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6Il19LFlXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy10cmVuZC1kb3duIixpY29uOls1NzYsNTEyLFtdLCJlMDk3IiwiTTM4NCAzNTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xNjBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA4Mi43LTE2OS40LTE2OS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMEwxOTIgMjQyLjcgNTQuNiAxMDUuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMEwzMjAgMjA1LjMgNDY2LjcgMzUyIDM4NCAzNTJ6Il19LFpXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvaWwtY2FuIixpY29uOls2NDAsNTEyLFtdLCJmNjEzIiwiTTMyMCAxMjhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMTkyIDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCAzMi0xNzYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA2NC44YzAgMTkgMTEuMiAzNi4yIDI4LjUgNDMuOWw2Ny41IDMwIDAgMjEuM2MwIDI2LjUgMjEuNSA0OCA0OCA0OGwyNTkuMSAwYzE4LjQgMCAzNS44LTcuOSA0OC0yMS43TDYzMy41IDE4Ny43YzEyLjMtMTMuOS0uMy0zNS40LTE4LjQtMzEuNUw0NDggMTkyIDM5Ny41IDE2Ni44Yy04LjktNC40LTE4LjctNi44LTI4LjYtNi44bC04MC45IDAgMC0zMiAzMiAwek05NiAyMDhsMCA4Ni4xLTQ4LTIxLjMgMC02NC44IDQ4IDB6Il19LGQ1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtY2FycnktYm94IixpY29uOls1NzYsNTEyLFsicGVvcGxlLWNhcnJ5Il0sImY0Y2UiLCJNNjQtMzJBNTYgNTYgMCAxIDEgNjQgODAgNTYgNTYgMCAxIDEgNjQtMzJ6TTAgMTcxLjFjMC0zMi42IDI2LjUtNTkuMSA1OS4xLTU5LjEgMjMuNSAwIDQ1LjUgMTEuMyA1OS4xIDMwLjRsNDguNyA2OC4yYzUuOCA4LjIgMTUuMSAxMy4xIDI1LjEgMTMuNGwwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMTAtLjMgMTkuMy01LjIgMjUuMS0xMy40bDQ4LjctNjguMmMxMy42LTE5LjEgMzUuNi0zMC40IDU5LjEtMzAuNCAzMi42IDAgNTkuMSAyNi41IDU5LjEgNTkuMUw1NzYgMjcyYzAgMzAuMi0xNC4yIDU4LjctMzguNCA3Ni44bC03Ni44IDU3LjZjLTguMSA2LTEyLjggMTUuNS0xMi44IDI1LjZsMCA4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTgwYzAtMzAuMiAxNC4yLTU4LjcgMzguNC03Ni44bDQxLjYtMzEuMiAwLTgwLjEtMi44IDMuOWMtMTggMjUuMi00Ny4xIDQwLjItNzguMSA0MC4yTDM1MiAyODhjLS42IDAtMS4zIDAtMS45LS4xLS42IDAtMS4zIC4xLTEuOSAuMWwtMTIwLjQgMGMtLjYgMC0xLjMgMC0xLjktLjEtLjYgMC0xLjMgLjEtMS45IC4xbC0zMS4xIDBjLTMxIDAtNjAuMS0xNS03OC4xLTQwLjJsLTIuOC0zLjkgMCA4MC4xIDQxLjYgMzEuMkMxNzcuOCAzNzMuMyAxOTIgNDAxLjggMTkyIDQzMmwwIDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtODBjMC0xMC4xLTQuNy0xOS42LTEyLjgtMjUuNkwzOC40IDM0OC44QzE0LjIgMzMwLjcgMCAzMDIuMiAwIDI3MkwwIDE3MS4xek0wIDM3OS4zYzMuMSAyLjcgNi4zIDUuNCA5LjYgNy45TDY0IDQyOCA2NCA1MTJjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA1MjkuNyAwIDUxMkwwIDM3OS4zek01NjggMjRhNTYgNTYgMCAxIDEgLTExMiAwIDU2IDU2IDAgMSAxIDExMiAwem04IDQ4OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTg0IDU0LjQtNDAuOGMzLjMtMi41IDYuNS01LjEgOS42LTcuOUw1NzYgNTEyeiJdfSxYV3Q9ZDVlLEtXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFpciIsaWNvbjpbNDQ4LDUxMixbMTI5NjgxXSwiZjZjMCIsIk0xNTIgMjU2bDAtMTgxLjhjLTI0LjUgMjAuNS00MCA1MS40LTQwIDg1LjhsMCA5NiA0MCAwem00OCAwbDQ4IDAgMC0yMDUuNGMtNy43LTEuNy0xNS44LTIuNi0yNC0yLjZzLTE2LjMgLjktMjQgMi42TDIwMCAyNTZ6TTI5NiA3NC4ybDAgMTgxLjggNDAgMCAwLTk2YzAtMzQuNC0xNS41LTY1LjItNDAtODUuOHpNMzIgMjU2bDMyIDAgMC05NkM2NCA3MS42IDEzNS42IDAgMjI0IDBTMzg0IDcxLjYgMzg0IDE2MGwwIDk2IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTYtMjU2IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxRV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2luZCIsaWNvbjpbNTEyLDUxMixbXSwiZjcyZSIsIk0yODggMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwzMiAxMTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzI4IDBjNDguNiAwIDg4LTM5LjQgODgtODhTNDA4LjYgMCAzNjAgMEwzMjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTY0IDM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzUzIDAgOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2TDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTEyOCA1MTJsNDAgMGM0OC42IDAgODgtMzkuNCA4OC04OHMtMzkuNC04OC04OC04OEwzMiAzMzZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTM2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6Il19LEpXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsYXllci1ncm91cCIsaWNvbjpbNTEyLDUxMixbXSwiZjVmZCIsIk0yMzIuNSA1LjJjMTQuOS02LjkgMzIuMS02LjkgNDcgMGwyMTguNiAxMDFjOC41IDMuOSAxMy45IDEyLjQgMTMuOSAyMS44cy01LjQgMTcuOS0xMy45IDIxLjhsLTIxOC42IDEwMWMtMTQuOSA2LjktMzIuMSA2LjktNDcgMEwxMy45IDE0OS44QzUuNCAxNDUuOCAwIDEzNy4zIDAgMTI4czUuNC0xNy45IDEzLjktMjEuOEwyMzIuNSA1LjJ6TTQ4LjEgMjE4LjRsMTY0LjMgNzUuOWMyNy43IDEyLjggNTkuNiAxMi44IDg3LjMgMGwxNjQuMy03NS45IDM0LjEgMTUuOGM4LjUgMy45IDEzLjkgMTIuNCAxMy45IDIxLjhzLTUuNCAxNy45LTEzLjkgMjEuOGwtMjE4LjYgMTAxYy0xNC45IDYuOS0zMi4xIDYuOS00NyAwTDEzLjkgMjc3LjhDNS40IDI3My44IDAgMjY1LjMgMCAyNTZzNS40LTE3LjkgMTMuOS0yMS44bDM0LjEtMTUuOHpNMTMuOSAzNjIuMmwzNC4xLTE1LjggMTY0LjMgNzUuOWMyNy43IDEyLjggNTkuNiAxMi44IDg3LjMgMGwxNjQuMy03NS45IDM0LjEgMTUuOGM4LjUgMy45IDEzLjkgMTIuNCAxMy45IDIxLjhzLTUuNCAxNy45LTEzLjkgMjEuOGwtMjE4LjYgMTAxYy0xNC45IDYuOS0zMi4xIDYuOS00NyAwTDEzLjkgNDA1LjhDNS40IDQwMS44IDAgMzkzLjMgMCAzODRzNS40LTE3LjkgMTMuOS0yMS44eiJdfSxlR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhZC1zaWRlLW1hc2siLGljb246WzUxMiw1MTIsW10sImUwNjMiLCJNNDQ1LjkgMTkzYy0uMS0uNC0uMi0uOS0uMi0xLjMtMTUuNy0xMDguNC0xMDguOS0xOTEuNy0yMjEuNy0xOTEuNy04NSAwLTE1OSA0Ny40LTE5Ni45IDExNy4yTDI4My4zIDI4OCA0NTYgMjg4IDQ0Mi45IDMzNiAzMzYgMzM2Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDk4LjIgMC04LjcgMzItODkuNSAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDgwLjYgMGMtNi43IDE5LjEtMjQuOCAzMi00NS4zIDMyTDI4OCA0NjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTA0LjUtMjQ3LjUtMTY1QzMgMTgyLjEgMCAyMDIuNyAwIDIyNCAwIDI3OCAxOS4xIDMyNy41IDUwLjkgMzY2LjIgNTguOSAzNzUuOSA2NCAzODcuOCA2NCA0MDAuNEw2NCA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsMTI3LjMgMCAuNyAwIDEzMS4zIDBjNDQuOSAwIDgzLjgtMzEuMSA5My42LTc0LjlsMzMuOS0xNTAuM2MzLjMtMTQuNC0uMy0yOS41LTkuNy00MUw0NDUuOSAxOTN6TTI4OCAxOTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sVlk9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZHMiLGljb246WzUxMiw1MTIsWyJzaWduLWxhbmd1YWdlIiwic2lnbmluZyJdLCJmMmE3IiwiTTUxMiAxNjBsLS4xIDcyLjZjMCA0NC44LTE3LjYgODcuMS00Ny45IDExOC40LS4zLTc3LTQwLjEtMTQ4LjQtMTA1LjQtMTg5LjNsLTEuOS0xLjJjMi41LTMuNyAyLjgtOC42IC40LTEyLjdsLTYyLTEwNy40Yy02LjYtMTEuNS0yLjctMjYuMiA4LjgtMzIuOFMzMzAgNSAzMzYuNiAxNi41bDY4IDExNy44IDAgMCAwIDAgNDMuMyA3NSAuMS00OS4zYzAtMTcuNyAxNC40LTMyIDMyLTMyczMyIDE0LjQgMzIgMzJ6TTI5OC40IDEyNC4yYy0xNC4xLTguOC0yOS44LTEyLjctNDUuMi0xMi4xTDIxNi43IDQ4LjhjLTYuNi0xMS41LTIuNy0yNi4yIDguOC0zMi44czI2LjItMi43IDMyLjggOC44bDY3LjEgMTE2LjItMjctMTYuOXpNMjExLjkgODguNWwxNi40IDI4LjRjLTE1LjEgNS41LTI4LjYgMTUuNi0zOC4zIDI5LjdsLTE5LjctMzQuMmMtNi42LTExLjUtMi43LTI2LjIgOC44LTMyLjhzMjYuMi0yLjcgMzIuOCA4Ljh6bS00Ni40IDYzLjdsMTIuNSAyMS43Yy0yIDguNi0yLjUgMTcuNS0xLjcgMjYuMWwtNC4zIDAgMCAwLTM0LjQgMC0xMy43LTIzLjhjLTYuNi0xMS41LTIuNy0yNi4yIDguOC0zMi44czI2LjItMi43IDMyLjggOC44ek0yMjguOSAxNzVjOS40LTE1IDI5LjEtMTkuNSA0NC4xLTEwLjJsNjAuMiAzNy42QzM4NC43IDIzNC43IDQxNiAyOTEuMiA0MTYgMzUybDAgOGMwIDgzLjktNjguMSAxNTItMTUyIDE1Mkw4OCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOTIgMGM2LjYgMCAxMi01LjQgMTItMTJzLTUuNC0xMi0xMi0xMkw1NiA0NDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTI0IDBjNi42IDAgMTItNS40IDEyLTEycy01LjQtMTItMTItMTJMMjQgMzY4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE1NiAwYzYuNiAwIDEyLTUuNCAxMi0xMnMtNS40LTEyLTEyLTEyTDU2IDI5NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxMzYgMCAwIDAgMCAwIDkzLjIgMC00Ni4yLTI4LjljLTE1LTkuNC0xOS41LTI5LjEtMTAuMi00NC4xeiJdfSx0R3Q9VlksYUd0PVZZLHJHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZXRzIixpY29uOls1MTIsNTEyLFtdLCJmNDkwIiwiTTQ5NS4zIDc2LjZjLTQuNi04LjctMTYuMy05LjctMjMuMy0yLjdMMjk3LjkgMjQ4Yy03IDctNiAxOC43IDIuNyAyMy4zIDIwLjEgMTAuNyA0MyAxNi43IDY3LjQgMTYuNyA3OS41IDAgMTQ0LTY0LjUgMTQ0LTE0NCAwLTI0LjMtNi00Ny4zLTE2LjctNjcuNHpNMjQwLjcgMjExLjRjNC42IDguNyAxNi4zIDkuNyAyMy4zIDIuN0w0MzguMSA0MGM3LTcgNi0xOC43LTIuNy0yMy4zLTIwLjEtMTAuNy00My0xNi43LTY3LjQtMTYuNy03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NCAwIDI0LjMgNiA0Ny4zIDE2LjcgNjcuNHpNMTQ0IDIyNEM3OS4yIDIyNCAyNC40IDI2Ni44IDYuMyAzMjUuNiAzLjQgMzM1LjEgMTEgMzQ0IDIwLjkgMzQ0bDI0Ni4yIDBjOS45IDAgMTcuNS04LjkgMTQuNi0xOC40LS45LTMtMS45LTUuOS0zLTguNy0zNy40LTE4LjEtNjgtNDgtODctODQuOC0xNC45LTUuMi0zMC45LTguMS00Ny42LTguMXpNMjgxLjcgNDEwLjRjMi45LTkuNS00LjctMTguNC0xNC42LTE4LjRMMjAuOSAzOTJDMTEgMzkyIDMuNCA0MDAuOSA2LjMgNDEwLjQgMjQuNCA0NjkuMiA3OS4yIDUxMiAxNDQgNTEyczExOS42LTQyLjggMTM3LjctMTAxLjZ6Il19LGlHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3ZWlnaHQtaGFuZ2luZyIsaWNvbjpbNTEyLDUxMixbXSwiZjVjZCIsIk0yMjQgOTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTIyLjUgMzJjMy41LTEwIDUuNS0yMC44IDUuNS0zMiAwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmMwIDExLjIgMS45IDIyIDUuNSAzMmwtMjEuOCAwYy0yOC4zIDAtNTMuMiAxOC41LTYxLjMgNDUuNkwyLjQgNDQwLjJDLjggNDQ1LjQgMCA0NTAuOCAwIDQ1Ni4yIDAgNDg3IDI1IDUxMiA1NS44IDUxMmw0MDAuNCAwYzMwLjggMCA1NS44LTI1IDU1LjgtNTUuOCAwLTUuNC0uOC0xMC44LTIuNC0xNmwtODAtMjY2LjVjLTguMS0yNy4xLTMzLTQ1LjYtNjEuMy00NS42bC0yMS44IDB6Il19LHNHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlIixpY29uOls1MTIsNTEyLFsxMjc5MjJdLCJmNTIyIiwiTTE0MS40IDIuM0MxMDMtOCA2My41IDE0LjggNTMuMyA1My4yTDIuNSAyNDIuN0MtNy44IDI4MS4xIDE1IDMyMC42IDUzLjQgMzMwLjlsMTg5LjUgNTAuOGMzOC40IDEwLjMgNzcuOS0xMi41IDg4LjItNTAuOWw1MC44LTE4OS41YzEwLjMtMzguNC0xMi41LTc3LjktNTAuOS04OC4yTDE0MS40IDIuM3ptMjMgMjA1LjdhMzIgMzIgMCAxIDEgNTUuNC0zMiAzMiAzMiAwIDEgMSAtNTUuNCAzMnpNNzkuMiAyMjAuM2EzMiAzMiAwIDEgMSAzMiA1NS40IDMyIDMyIDAgMSAxIC0zMi01NS40em0xODUgOTYuNGEzMiAzMiAwIDEgMSAtMzItNTUuNCAzMiAzMiAwIDEgMSAzMiA1NS40em05LTIwOC40YTMyIDMyIDAgMSAxIDMyIDU1LjQgMzIgMzIgMCAxIDEgLTMyLTU1LjR6bS0xMjEgMTQuNGEzMiAzMiAwIDEgMSAtMzItNTUuNCAzMiAzMiAwIDEgMSAzMiA1NS40ek00MTggMTkyTDM3Ny40IDM0My4yYy0xNy4yIDY0LTgzIDEwMi0xNDcgODQuOWwtMzguMy0xMC4zIDAgMzAuMmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5MmMwLTM1LjMtMjguNy02NC02NC02NEw0MTggMTkyeiJdfSxwNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hvcC1zbGFzaCIsaWNvbjpbNTc2LDUxMixbInN0b3JlLWFsdC1zbGFzaCJdLCJlMDcwIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU3LTU3IDAtMTkwLjNjMjYuOC0xLjkgNDgtMjQuMyA0OC01MS42IDAtOC0xLjktMTYtNS41LTIzLjJMNDk3LjcgNjcuNEM0ODYuOCA0NS43IDQ2NC43IDMyIDQ0MC40IDMyTDEzNS42IDMyYy0xMC43IDAtMjEgMi43LTMwLjIgNy42TDQxLTI0Ljl6TTMyMS44IDI1Nkw0NDggMjU2IDQ0OCAzODIuMiAzMjEuOCAyNTZ6TTM1MiA0MjEuOGwtNjQtNjQgMCAxMC4yYzAgOC44LTcuMiAxNi0xNiAxNmwtMTI4IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTExMiA1OC4yIDAtMTM0LjgtMTM0LjgtMjkuOSA1OS45Yy0zLjYgNy4yLTUuNSAxNS4xLTUuNSAyMy4yIDAgMjcuMyAyMS4yIDQ5LjcgNDggNTEuNkw2NCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsMTkyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xMC4yeiJdfSxvR3Q9cDVlLHU1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzb3J0LWRvd24iLGljb246WzM4NCw1MTIsWyJzb3J0LWRlc2MiXSwiZjBkZCIsIk0zMiAyODhjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhTLjIgMzMzLjUgOS40IDM0Mi42bDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVMzNjQuOSAyODggMzUyIDI4OEwzMiAyODh6Il19LG5HdD11NWUsbEd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlc2V0YS1zaWduIixpY29uOls0NDgsNTEyLFtdLCJlMjIxIiwiTTExMiAzMkM5NC4zIDMyIDgwIDQ2LjMgODAgNjRsMCAxMDQtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNCAwIDAgMjMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiA5NiAwYzgwLjIgMCAxNDYuNi01OSAxNTguMi0xMzZsMjUuOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNS44IDBDMzg2LjYgOTEgMzIwLjIgMzIgMjQwIDMyTDExMiAzMnpNMzMzIDE2OGwtMTg5IDAgMC03MiA5NiAwYzQ0LjcgMCA4Mi4zIDMwLjYgOTMgNzJ6TTE0NCAyMTZsMTg5IDBjLTEwLjcgNDEuNC00OC4yIDcyLTkzIDcybC05NiAwIDAtNzJ6Il19LGY1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZXQtc2NyZWVuLWJ1dHRvbiIsaWNvbjpbNDQ4LDUxMixbInRhYmxldC1hbHQiXSwiZjNmYSIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6TTI1NiA0MzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzg0IDY0bC0zMjAgMCAwIDI4OCAzMjAgMCAwLTI4OHoiXX0sY0d0PWY1ZSxoNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1ob2xkaW5nLWRvbGxhciIsaWNvbjpbNTc2LDUxMixbImhhbmQtaG9sZGluZy11c2QiXSwiZjRjMCIsIk0yODgtMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTItMS44IDBjLTM2LjYgMC02Ni4yIDI5LjctNjYuMiA2Ni4yIDAgMzMuNCAyNC45IDYxLjYgNTggNjUuN2w2MSA3LjZjNS4xIC42IDkgNSA5IDEwLjIgMCA1LjctNC42IDEwLjItMTAuMiAxMC4yTDI0MCAxODBjLTE1LjUgMC0yOCAxMi41LTI4IDI4czEyLjUgMjggMjggMjhsMjQgMCAwIDEyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMiAxLjggMGMzNi42IDAgNjYuMi0yOS43IDY2LjItNjYuMiAwLTMzLjQtMjQuOS02MS42LTU4LTY1LjdsLTYxLTcuNmMtNS4xLS42LTktNS05LTEwLjIgMC01LjcgNC42LTEwLjIgMTAuMi0xMC4yTDMyOCA3NmMxNS41IDAgMjgtMTIuNSAyOC0yOHMtMTIuNS0yOC0yOC0yOGwtMTYgMCAwLTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0ek0xMDkuMyAzNDEuNUw2Ni43IDM4NCAzMiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIwLjUgMGMyOSAwIDU3LjMtOS4zIDgwLjctMjYuNWwxMjYuNi05My4zYzE3LjgtMTMuMSAyMS42LTM4LjEgOC41LTU1LjlzLTM4LjEtMjEuNi01NS45LTguNUwzOTIuNiA0MTYgMjgwIDQxNmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw3MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNTIuMiAwYy0zMy45IDAtNjYuNSAxMy41LTkwLjUgMzcuNXoiXX0sZEd0PWg1ZSxtNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hpZWxkIixpY29uOls1MTIsNTEyLFsxMjg3MzcsInNoaWVsZC1ibGFuayJdLCJmMTMyIiwiTTI1NiAwYzQuNiAwIDkuMiAxIDEzLjQgMi45TDQ1Ny44IDgyLjhjMjIgOS4zIDM4LjQgMzEgMzguMyA1Ny4yLS41IDk5LjItNDEuMyAyODAuNy0yMTMuNiAzNjMuMi0xNi43IDgtMzYuMSA4LTUyLjggMC0xNzIuNC04Mi41LTIxMy4xLTI2NC0yMTMuNi0zNjMuMi0uMS0yNi4yIDE2LjMtNDcuOSAzOC4zLTU3LjJMMjQyLjcgMi45QzI0Ni45IDEgMjUxLjQgMCAyNTYgMHoiXX0scEd0PW01ZSxnNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1sYXVnaCIsaWNvbjpbNTEyLDUxMixbImxhdWdoIl0sImY1OTkiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTEwMS42IDMxNGMtMy43LTEzLjcgNy41LTI2IDIxLjctMjZsMjY1LjQgMGMxNC4yIDAgMjUuNCAxMi4zIDIxLjcgMjYtMTguNSA2OC04MC42IDExOC0xNTQuNCAxMThTMTIwIDM4MiAxMDEuNiAzMTR6TTE0NCAxOTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sdUd0PWc1ZSxmR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZHMtaG9sZGluZyIsaWNvbjpbNjQwLDUxMixbXSwiZjRjMiIsIk04MCAxMDRjMC0yMi4xLTE3LjktNDAtNDAtNDBTMCA4MS45IDAgMTA0TDAgMzI1LjVjMCAyNS41IDEwLjEgNDkuOSAyOC4xIDY3LjlMMTI4IDQ5My4zYzEyIDEyIDI4LjMgMTguNyA0NS4zIDE4LjdsNjYuNyAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNzguOWMwLTI5LjctMTEuOC01OC4yLTMyLjgtNzkuMmwtMjUuMy0yNS4zIDAgMGMtNy4zLTcuMy0yMy4xLTIzLjEtNDcuMi00Ny4yLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zYzI0LjEgMjQuMSAzOS45IDM5LjkgNDcuMiA0Ny4yIDExIDExIDkuMiAyOS4yLTMuNyAzNy44LTkuNyA2LjUtMjIuNyA1LjItMzEtMy4xTDk4LjcgMzA5LjVjLTEyLTEyLTE4LjctMjguMy0xOC43LTQ1LjNMODAgMTA0em00ODAgMGwwIDE2MC4yYzAgMTctNi43IDMzLjMtMTguNyA0NS4zbC01MS4xIDUxLjFjLTguMyA4LjMtMjEuMyA5LjYtMzEgMy4xLTEyLjktOC42LTE0LjctMjYuOS0zLjctMzcuOCA3LjMtNy4zIDIzLjEtMjMuMSA0Ny4yLTQ3LjIgMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBjLTI0LjEgMjQuMS0zOS45IDM5LjktNDcuMiA0Ny4ybDAgMC0yNS4zIDI1LjNjLTIxIDIxLTMyLjggNDkuNS0zMi44IDc5LjJsMCA3OC45YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY2LjcgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN2w5OS45LTk5LjljMTgtMTggMjguMS00Mi40IDI4LjEtNjcuOUw2NDAgMTA0YzAtMjIuMS0xNy45LTQwLTQwLTQwcy00MCAxNy45LTQwIDQweiJdfSxiNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FydC1zaG9wcGluZyIsaWNvbjpbNjQwLDUxMixbMTI4NzIyLCJzaG9wcGluZy1jYXJ0Il0sImYwN2EiLCJNMjQtMTZDMTAuNy0xNiAwLTUuMyAwIDhTMTAuNyAzMiAyNCAzMmw0NS4zIDBjMy45IDAgNy4yIDIuOCA3LjkgNi42bDUyLjEgMjg2LjNjNi4yIDM0LjIgMzYgNTkuMSA3MC44IDU5LjFMNDU2IDM4NGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjU1LjkgMGMtMTEuNiAwLTIxLjUtOC4zLTIzLjYtMTkuN2wtNS4xLTI4LjMgMzAzLjYgMGMzMC44IDAgNTcuMi0yMS45IDYyLjktNTIuMkw1NjguOSA2OS45QzU3Mi42IDUwLjIgNTU3LjUgMzIgNTM3LjQgMzJsLTQxMi43IDAtLjQtMmMtNC44LTI2LjYtMjgtNDYtNTUuMS00NkwyNC0xNnpNMjA4IDUxMmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTIyNCAwYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnoiXX0saEd0PWI1ZSxtR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToib2N0YWdvbiIsaWNvbjpbNTEyLDUxMixbMTI4NzIxXSwiZjMwNiIsIk0xODguNiAuMWMtMTcgMC0zMy4zIDYuNy00NS4zIDE4LjdMMTkuMiAxNDNDNy4yIDE1NSAuNSAxNzEuMiAuNSAxODguMmwwIDEzNS42YzAgMTcgNi43IDMzLjMgMTguNyA0NS4zTDE0My40IDQ5My4yYzEyIDEyIDI4LjMgMTguNyA0NS4zIDE4LjdsMTM1LjYgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN0w0OTMuNiAzNjljMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM2wwLTEzNS42YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDM2OS41IDE4LjhjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdMMTg4LjYgLjF6Il19LGdHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXBvaW50ZXIiLGljb246WzQ0OCw1MTIsW10sImYyNWEiLCJNMTI4IDQwYzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAxNDguMmM4LjUtNy42IDE5LjctMTIuMiAzMi0xMi4yIDIwLjYgMCAzOC4yIDEzIDQ1IDMxLjIgOC44LTkuMyAyMS4yLTE1LjIgMzUtMTUuMiAyNS4zIDAgNDYgMTkuNSA0Ny45IDQ0LjMgOC41LTcuNyAxOS44LTEyLjMgMzIuMS0xMi4zIDI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTEyYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC04NS4zIDBjLTUgMC05LjktLjMtMTQuNy0xLTU1LjMtNS42LTEwNi4yLTM0LTE0MC03OUw4IDMzNmMtMTMuMy0xNy43LTkuNy00Mi43IDgtNTZzNDIuNy05LjcgNTYgOGw1NiA3NC43IDAtMzIyLjd6TTI0MCAzMDRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZ6bTQ4LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZjMC04LjgtNy4yLTE2LTE2LTE2em04MCAxNmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDk2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC05NnoiXX0sYkd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlZ2lzdGVyZWQiLGljb246WzUxMiw1MTIsWzE3NF0sImYyNWQiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTIwMCAxNDRsODAgMGMzOS44IDAgNzIgMzIuMiA3MiA3MiAwIDI4LjktMTcgNTMuOC00MS42IDY1LjNsMzAuMiA1MC4zYzYuOCAxMS40IDMuMSAyNi4xLTguMiAzMi45cy0yNi4xIDMuMS0zMi45LTguMmwtNDEtNjguMy0zNC40IDAgMCA1NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE3NmMwLTEzLjMgMTAuNy0yNCAyNC0yNHptNzIgOTZsOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC01NiAwIDAgNDggNDggMHoiXX0sdkd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLXNpZ25hbCIsaWNvbjpbNTc2LDUxMixbXSwiZTAxMiIsIk01MTUuOSAyNDBsLTE5LjkgMCAwIDE0NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMTM3IDBjLTI0LTkxLjctOTMuNS0xNjUtMTgzLTE5NC4zbDAtMTMuNy0xOS45IDBjLTE1LjUgMC0yOC4xLTEyLjYtMjguMS0yOC4xIDAtNy42IDMuMS0xNC45IDguNi0yMC4yTDI3Ni41LTQuOUMyODMuOS0xMiAyOTMuNy0xNiAzMDQtMTZzMjAuMSA0IDI3LjUgMTEuMUw1MzUuNCAxOTEuN2M1LjUgNS4zIDguNiAxMi42IDguNiAyMC4yIDAgMTUuNS0xMi42IDI4LjEtMjguMSAyOC4xek0yODAgMTkyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMHpNMjQgMjg4YzEyOC4xIDAgMjMyIDEwMy45IDIzMiAyMzIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xMDEuNi04Mi40LTE4NC0xODQtMTg0LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTggMTkyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMCA0MDhjMC0xMy4zIDEwLjctMjQgMjQtMjQgNzUuMSAwIDEzNiA2MC45IDEzNiAxMzYgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC00OC42LTM5LjQtODgtODgtODgtMTMuMyAwLTI0LTEwLjctMjQtMjR6Il19LHhHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYW5nbGFkZXNoaS10YWthLXNpZ24iLGljb246WzM4NCw1MTIsW10sImUyZTYiLCJNMzYgMzIuM0MxOC40IDMwLjEgMi40IDQyLjUgLjMgNjBTMTAuNSA5My42IDI4IDk1LjhsNy45IDFjMTYgMiAyOCAxNS42IDI4IDMxLjhsMCAzMS41LTQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDAgMCAwIDE3NmMwIDUzIDQzIDk2IDk2IDk2bDMyIDBjMTA2IDAgMTkyLTg2IDE5Mi0xOTJsMC0zMmMwLTUzLTQzLTk2LTk2LTk2bC0xNiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOGwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNzYgNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDAgMCAwLTMxLjVDMTI4IDgwLjEgOTIgMzkuMiA0My45IDMzLjJsLTcuOS0xeiJdfSxWYmE9e2ZhMDpEeHQsZmExOkF4dCxmYTI6UHh0LGZhMzpFeHQsZmE0Okl4dCxmYTU6Tnh0LGZhNjpSeHQsZmE3OkZ4dCxmYTg6T3h0LGZhOTpCeHQsZmFEb2xsYXJTaWduOkdHLGZhRG9sbGFyOkh4dCxmYVVzZDpxeHQsZmFEb2c6Vnh0LGZhVHJ1Y2tNb3Zpbmc6anh0LGZhUm90YXRlOmxsZSxmYVN5bmNBbHQ6VXh0LGZhU3F1YXJlTWludXM6Y2xlLGZhTWludXNTcXVhcmU6V3h0LGZhQWxpZ25KdXN0aWZ5Okd4dCxmYUNhbGVuZGFyQ2hlY2s6WXh0LGZhRmFjZUtpc3M6ZGxlLGZhS2lzczpaeHQsZmFLaXRjaGVuU2V0Olh4dCxmYURuYTpLeHQsZmFDaGlsZFJlYWNoaW5nOlF4dCxmYVBhc3RlOm03LGZhRmlsZUNsaXBib2FyZDpKeHQsZmFNZXRlb3I6ZXl0LGZhR2VhcnM6cGxlLGZhQ29nczp0eXQsZmFGaWxlQ2lyY2xlUGx1czpheXQsZmFJY2ljbGVzOnJ5dCxmYUFycm93VHJlbmRVcDppeXQsZmFIZXhhZ29uTm9kZXNCb2x0OnN5dCxmYVF1ZXN0aW9uOm95dCxmYUhhbmRzQm91bmQ6bnl0LGZhUGVyc29uV2Fsa2luZ0x1Z2dhZ2U6bHl0LGZhRmlsZUFycm93RG93bjp1bGUsZmFGaWxlRG93bmxvYWQ6Y3l0LGZhUGVyc29uQm9vdGg6ZHl0LGZhTG9jdXN0OnB5dCxmYVJpZ2h0TG9uZzpmbGUsZmFMb25nQXJyb3dBbHRSaWdodDp1eXQsZmFUcnVja0Ryb3BsZXQ6Znl0LGZhSGFuZEhvbGRpbmdNZWRpY2FsOmh5dCxmYUhhbmRQb2ludExlZnQ6bXl0LGZhQ2FsY3VsYXRvcjpneXQsZmFNaW51czpnNyxmYVN1YnRyYWN0OmJ5dCxmYUFycm93VXBaQTpobGUsZmFTb3J0QWxwaGFVcEFsdDp2eXQsZmFNaWNyb3Bob25lU2xhc2g6eHl0LGZhU3F1YXJlUGVuOllHLGZhUGVuU3F1YXJlOnl5dCxmYVBlbmNpbFNxdWFyZTp3eXQsZmFIYW5kRmlzdDptbGUsZmFGaXN0UmFpc2VkOk15dCxmYUNvbW1lbnRTbXM6Z2xlLGZhU21zOmt5dCxmYVNpbUNhcmQ6enl0LGZhU2NhbGVCYWxhbmNlZDpibGUsZmFCYWxhbmNlU2NhbGU6U3l0LGZhQ2FyOnZsZSxmYUF1dG9tb2JpbGU6Q3l0LGZhQ3JvcFNpbXBsZTp4bGUsZmFDcm9wQWx0Ol95dCxmYU1lZGFsOlR5dCxmYVNjcm9sbDpMeXQsZmFGaWxlRXhjZWw6JHl0LGZhRmlsdGVyOkR5dCxmYURydW06QXl0LGZhTWFwUGluOlB5dCxmYVNjYWxlVW5iYWxhbmNlZEZsaXA6eWxlLGZhQmFsYW5jZVNjYWxlUmlnaHQ6RXl0LGZhQXJyb3dzVG9DaXJjbGU6SXl0LGZhRW52ZWxvcGU6Tnl0LGZhQmFieTpSeXQsZmFTcXVhcmVDYXJldERvd246d2xlLGZhQ2FyZXRTcXVhcmVEb3duOkZ5dCxmYVRlbnQ6T3l0LGZhQTpCeXQsZmFQYXJhY2h1dGVCb3g6SHl0LGZhQ2FydEFycm93RG93bjpxeXQsZmFCcmlkZ2VDaXJjbGVFeGNsYW1hdGlvbjpWeXQsZmFDbG91ZEFycm93VXA6WkcsZmFDbG91ZFVwbG9hZDpqeXQsZmFDbG91ZFVwbG9hZEFsdDpVeXQsZmFBdDpXeXQsZmFJbmRpYW5SdXBlZVNpZ246WEcsZmFJbmRpYW5SdXBlZTpHeXQsZmFJbnI6WXl0LGZhVHJ1Y2s6Wnl0LGZhQ2hhbGtib2FyZFVzZXI6TWxlLGZhQ2hhbGtib2FyZFRlYWNoZXI6WHl0LGZhVXNlckNoZWNrOkt5dCxmYVVzZXJOaW5qYTpReXQsZmFQbGFudFdpbHQ6Snl0LGZhV2VpZ2h0U2NhbGU6a2xlLGZhV2VpZ2h0OmV3dCxmYUNhcmV0UmlnaHQ6alksZmFGbG9yaW5TaWduOnR3dCxmYUJlbGw6VVksZmFMYXJpU2lnbjphd3QsZmFNaWxsU2lnbjpyd3QsZmFQZXJzb25Tbm93Ym9hcmRpbmc6emxlLGZhU25vd2JvYXJkaW5nOml3dCxmYVR0eTpTbGUsZmFUZWxldHlwZTpzd3QsZmFVc2Vyc1JlY3RhbmdsZTpvd3QsZmFNb2JpbGU6S0csZmFNb2JpbGVBbmRyb2lkOm53dCxmYU1vYmlsZVBob25lOmx3dCxmYUFycm93c1R1cm5Ub0RvdHM6Y3d0LGZhRXhjbGFtYXRpb246ZHd0LGZhQ2h1cmNoOnB3dCxmYVRvZ2dsZU9mZjp1d3QsZmFTaG9lUHJpbnRzOmZ3dCxmYUZpbGVDaXJjbGVFeGNsYW1hdGlvbjpod3QsZmFXYWxsZXQ6V1ksZmFNZXNzYWdlOmI3LGZhQ29tbWVudEFsdDptd3QsZmFUcm9waHk6Z3d0LGZhRmFjZURpenp5OkNsZSxmYURpenp5OmJ3dCxmYUJhY3RlcmlhOnZ3dCxmYUVhckRlYWY6SmYsZmFEZWFmOnh3dCxmYURlYWZuZXNzOnl3dCxmYUhhcmRPZkhlYXJpbmc6d3d0LGZhUGVvcGxlQXJyb3dzOl9sZSxmYVBlb3BsZUFycm93c0xlZnRSaWdodDpNd3QsZmFIYW5kc0NsYXBwaW5nOmt3dCxmYVZpcnVzQ292aWRTbGFzaDp6d3QsZmFDYWxlbmRhckRheXM6VGxlLGZhQ2FsZW5kYXJBbHQ6U3d0LGZhRGlhbW9uZFR1cm5SaWdodDpMbGUsZmFEaXJlY3Rpb25zOkN3dCxmYUhhbmRQb2ludFVwOl93dCxmYUJlemllckN1cnZlOlR3dCxmYVBlcnNvbkhhbGZEcmVzczpMd3QsZmFTcXVhcmVQb2xsSG9yaXpvbnRhbDokbGUsZmFQb2xsSDokd3QsZmFTY2hvb2xDaXJjbGVYbWFyazpEd3QsZmFIYW5kTGl6YXJkOkF3dCxmYUNoYWxrYm9hcmQ6RGxlLGZhQmxhY2tib2FyZDpQd3QsZmFVcFJpZ2h0RnJvbVNxdWFyZTpBbGUsZmFFeHRlcm5hbExpbmtBbHQ6RXd0LGZhU3F1YXJlRnVsbDpJd3QsZmFDbG92ZXI6Tnd0LGZhVGVldGhPcGVuOlJ3dCxmYUJhcnNTdGFnZ2VyZWQ6UUcsZmFSZW9yZGVyOkZ3dCxmYVN0cmVhbTpPd3QsZmFXYXJlaG91c2U6Qnd0LGZhU3dhdGNoYm9vazpId3QsZmFDYW1wZ3JvdW5kOnF3dCxmYVBlcnNvbldhbGtpbmdBcnJvd1JpZ2h0OlZ3dCxmYUdsYXNzZXM6and0LGZhQ2lyY2xlUGF1c2U6UGxlLGZhUGF1c2VDaXJjbGU6VXd0LGZhTWVtb3J5Old3dCxmYUdpZnQ6R3d0LGZhTW9uZXlCaWxsV2hlYXQ6WXd0LGZhRHVuZ2Vvbjpad3QsZmFTdWl0Y2FzZU1lZGljYWw6RWxlLGZhTWVka2l0Olh3dCxmYVBlcnNvbkNhbmU6S3d0LGZhR2F1Z2U6ZTcsZmFEYXNoYm9hcmQ6UXd0LGZhR2F1Z2VNZWQ6Snd0LGZhVGFjaG9tZXRlckFsdEF2ZXJhZ2U6ZU10LGZhRW52ZWxvcGVPcGVuVGV4dDp0TXQsZmFUb29sYm94OmFNdCxmYVBvd2VyT2ZmOnJNdCxmYVNpZ25hbDpKRyxmYVNpZ25hbDU6aU10LGZhU2lnbmFsUGVyZmVjdDpzTXQsZmFBcnJvd3NTcGluOm9NdCxmYUpvaW50Om5NdCxmYUJyYWlsbGU6bE10LGZhQmFza2V0U2hvcHBpbmc6SWxlLGZhU2hvcHBpbmdCYXNrZXQ6Y010LGZhQnJpZGdlOmRNdCxmYVBsYW5lQXJyaXZhbDpwTXQsZmFDYXNoUmVnaXN0ZXI6dU10LGZhUmluZzpmTXQsZmFBcXVhcml1czpoTXQsZmFTaGFyZU5vZGVzOk5sZSxmYVNoYXJlQWx0Om1NdCxmYVBlcnNvbkNpcmNsZUV4Y2xhbWF0aW9uOmdNdCxmYUJpbm9jdWxhcnM6Yk10LGZhS2lwU2lnbjp2TXQsZmFIYXJkRHJpdmU6UmxlLGZhSGRkOnhNdCxmYVJhbmtpbmdTdGFyOnlNdCxmYVVzZXJUaWU6d010LGZhRWxsaXBzaXM6RmxlLGZhRWxsaXBzaXNIOk1NdCxmYVN0b3JlU2xhc2g6a010LGZhUGVyY2VudDpPbGUsZmFQZXJjZW50YWdlOnpNdCxmYUZpbGVaaXBwZXI6QmxlLGZhRmlsZUFyY2hpdmU6U010LGZhRGlzcGxheTpDTXQsZmFJY29uczpIbGUsZmFIZWFydE11c2ljQ2FtZXJhQm9sdDpfTXQsZmFSdWxlclZlcnRpY2FsOlRNdCxmYU1hcExvY2F0aW9uRG90OnFsZSxmYU1hcE1hcmtlZEFsdDpMTXQsZmFIZWFydENyYWNrOlZsZSxmYUhlYXJ0QnJva2VuOiRNdCxmYUNvdzpETXQsZmFSc3M6djcsZmFGZWVkOkFNdCxmYU1hZ25pZnlpbmdHbGFzczp4NyxmYVNlYXJjaDpQTXQsZmFDbG91ZE1vb246RU10LGZhQm94ZXNTdGFja2VkOmVZLGZhQm94ZXM6SU10LGZhQm94ZXNBbHQ6Tk10LGZhQ29kZUJyYW5jaDpSTXQsZmFCYW46amxlLGZhQ2FuY2VsOkZNdCxmYUp1Z0RldGVyZ2VudDpPTXQsZmFSZXBseTpVbGUsZmFNYWlsUmVwbHk6Qk10LGZhU3VuUGxhbnRXaWx0OkhNdCxmYUJhY3Rlcml1bTpxTXQsZmFSZWNvcmRWaW55bDpWTXQsZmFGbG9wcHlEaXNrOldsZSxmYVNhdmU6ak10LGZhVG9pbGV0c1BvcnRhYmxlOlVNdCxmYU86V010LGZhUGFsZXR0ZTpHTXQsZmFVbmxvY2s6WU10LGZhRWFyTGlzdGVuOkdsZSxmYUFzc2lzdGl2ZUxpc3RlbmluZ1N5c3RlbXM6Wk10LGZhQ29kZVB1bGxSZXF1ZXN0OlhNdCxmYUtleTpLTXQsZmFTa3VsbDpRTXQsZmFNYXJzU3Ryb2tlVXA6WWxlLGZhTWFyc1N0cm9rZVY6Sk10LGZhRmlyZUZsYW1lU2ltcGxlOlpsZSxmYUJ1cm46ZWt0LGZhVHJlZTp0a3QsZmFTbW9nOmFrdCxmYVM6cmt0LGZhSmVkaTppa3QsZmFQZXJzb25IaWtpbmc6WGxlLGZhSGlraW5nOnNrdCxmYUFycm93c1VwVG9MaW5lOm9rdCxmYU1hcnNEb3VibGU6bmt0LGZhVGhlcm1vbWV0ZXI6bGt0LGZhUGFpbnRicnVzaDpLbGUsZmFQYWludEJydXNoOmNrdCxmYU5ldXRlcjpka3QsZmFTcXVhcmVQaG9uZUZsaXA6UWxlLGZhUGhvbmVTcXVhcmVBbHQ6cGt0LGZhRmFjZUdyaW5Ub25ndWVTcXVpbnQ6SmxlLGZhR3JpblRvbmd1ZVNxdWludDp1a3QsZmFDb21tZW50RG9sbGFyOmZrdCxmYUhpcHBvOmhrdCxmYUJvd2xGb29kOm1rdCxmYVNxdWFyZVZpcnVzOmdrdCxmYUNsb3VkU3VuUmFpbjpia3QsZmFBcnJvd1JpZ2h0TG9uZzplMGUsZmFMb25nQXJyb3dSaWdodDp2a3QsZmFCdWlsZGluZ1VuOnhrdCxmYVRlbXBlcmF0dXJlTG93OnlrdCxmYURvb3JPcGVuOndrdCxmYUFsaWduTGVmdDpNa3QsZmFDYW1lcmE6dDBlLGZhQ2FtZXJhQWx0OmtrdCxmYVVzZXJzUmF5czp6a3QsZmFSYWluYm93OlNrdCxmYVNpdGVtYXA6Q2t0LGZhRmFjZUdyaW5TdGFyczphMGUsZmFHcmluU3RhcnM6X2t0LGZhU29ydFVwOnIwZSxmYVNvcnRBc2M6VGt0LGZhRXllOkdZLGZhQ2FyZXRMZWZ0OllZLGZhQXBwbGVXaG9sZTppMGUsZmFBcHBsZUFsdDpMa3QsZmFTY3JvbGxUb3JhaDpzMGUsZmFUb3JhaDoka3QsZmFIb3VzZUxvY2s6RGt0LGZhQXJyb3dzTGVmdFJpZ2h0VG9MaW5lOkFrdCxmYVRyYXNoOkQ3LGZhRmFjZVNhZFRlYXI6bzBlLGZhU2FkVGVhcjpQa3QsZmFGYXg6RWt0LGZhUGVyc29uQ2lyY2xlUGx1czpJa3QsZmFIYW1zYTpOa3QsZmFQZXJzb25DaXJjbGVRdWVzdGlvbjpSa3QsZmFDbGlwYm9hcmRDaGVjazpGa3QsZmFTaGFyZUZyb21TcXVhcmU6bjBlLGZhU2hhcmVTcXVhcmU6T2t0LGZhUmVjZWlwdDpaWSxmYUVxdWFsczpCa3QsZmFDaGV2cm9uVXA6SGt0LGZhVmlydXNTbGFzaDpxa3QsZmFTbGFzaDpWa3QsZmFFeHBhbmQ6amt0LGZhTm90ZVN0aWNreTpsMGUsZmFTdGlja3lOb3RlOlVrdCxmYVRhYmxlQ29sdW1uczpjMGUsZmFDb2x1bW5zOldrdCxmYVBlcnNvblNoZWx0ZXI6R2t0LGZhQ2lyY2xlTm90Y2g6WWt0LGZhV2F0ZXI6Wmt0LGZhRGVsZXRlTGVmdDpkMGUsZmFCYWNrc3BhY2U6WGt0LGZhQnJvb21CYWxsOnRZLGZhUXVpZGRpdGNoOktrdCxmYVF1aWRkaXRjaEJyb29tQmFsbDpRa3QsZmFKOkprdCxmYVNodXR0bGVTcGFjZTpwMGUsZmFTcGFjZVNodXR0bGU6ZXp0LGZhWWluWWFuZzp0enQsZmFTdG9wOmF6dCxmYVRyb3dlbDpyenQsZmFIYW5kQmFja0Zpc3Q6dTBlLGZhSGFuZFJvY2s6aXp0LGZhVGVtcGVyYXR1cmVIaWdoOnN6dCxmYUdyZWF0ZXJUaGFuOm96dCxmYUNydXRjaDpuenQsZmFTZXB0YWdvbjpmMGUsZmFIZXB0YWdvbjpsenQsZmFTdHJlZXRWaWV3OmN6dCxmYVdhdmVTcXVhcmU6ZHp0LGZhQW5nbGVMZWZ0OnB6dCxmYVNjcmV3ZHJpdmVyOnV6dCxmYVRyYWN0b3I6Znp0LGZhQnJpZGdlQ2lyY2xlWG1hcms6aHp0LGZhVmlhbHM6bXp0LGZhU3RldGhvc2NvcGU6Z3p0LGZhUG9kY2FzdDpienQsZmFBcnJvd1VwUmlnaHREb3RzOnZ6dCxmYUNoZXNzUXVlZW46eHp0LGZhQW5jaG9yQ2lyY2xlRXhjbGFtYXRpb246eXp0LGZhRWxsaXBzaXNWZXJ0aWNhbDpoMGUsZmFFbGxpcHNpc1Y6d3p0LGZhSGVhcnRDaXJjbGVFeGNsYW1hdGlvbjpNenQsZmFCdWlsZGluZ0NpcmNsZUV4Y2xhbWF0aW9uOmt6dCxmYVBlcnNvbkFycm93VXBGcm9tTGluZTp6enQsZmFOb3RFcXVhbDpTenQsZmFUcmFpblRyYW06Q3p0LGZhUGxhbmVEZXBhcnR1cmU6X3p0LGZhUmlnaHRUb0JyYWNrZXQ6bTBlLGZhU2lnbkluQWx0OlR6dCxmYVNkQ2FyZDpMenQsZmFIb3VzZUNpcmNsZUV4Y2xhbWF0aW9uOiR6dCxmYVNoZWtlbFNpZ246UDgsZmFJbHM6RHp0LGZhU2hla2VsOkF6dCxmYVNoZXFlbDpQenQsZmFTaGVxZWxTaWduOkV6dCxmYVJhZGlvOkl6dCxmYUhhbmREb3RzOmcwZSxmYUFsbGVyZ2llczpOenQsZmFCb29rU2t1bGw6YjBlLGZhQm9va0RlYWQ6Unp0LGZhVW5sb2NrS2V5aG9sZTp2MGUsZmFVbmxvY2tBbHQ6Rnp0LGZhRmlsZUFycm93VXA6eDBlLGZhRmlsZVVwbG9hZDpPenQsZmFGYWNlR3JpblRlYXJzOnkwZSxmYUdyaW5UZWFyczpCenQsZmFQZW5Ub1NxdWFyZTp5NyxmYUVkaXQ6SHp0LGZhRWFydGhFdXJvcGU6dzBlLGZhR2xvYmVFdXJvcGU6cXp0LGZhRmFjZUdyaW5CZWFtU3dlYXQ6TTBlLGZhR3JpbkJlYW1Td2VhdDpWenQsZmFDaXJjbGVIYWxmU3Ryb2tlOmswZSxmYUFkanVzdDpqenQsZmFQZXJzb25NaWxpdGFyeVRvUGVyc29uOlV6dCxmYVRhYmxlQ2VsbHNDb2x1bW5Mb2NrOld6dCxmYVRydWNrRmllbGRVbjpHenQsZmFDbG9jazp6MGUsZmFDbG9ja0ZvdXI6WXp0LGZhQm9vazpaenQsZmFGYWNlTGF1Z2hXaW5rOlMwZSxmYUxhdWdoV2luazpYenQsZmFDbG91ZE1lYXRiYWxsOkt6dCxmYUNoYXJ0QXJlYTpDMGUsZmFBcmVhQ2hhcnQ6UXp0LGZhUnVwaWFoU2lnbjpKenQsZmFUZXh0V2lkdGg6ZVN0LGZhU2F0ZWxsaXRlOnRTdCxmYU1hZ25pZnlpbmdHbGFzc01pbnVzOl8wZSxmYVNlYXJjaE1pbnVzOmFTdCxmYVBlb3BsZUdyb3VwOnJTdCxmYVNxdWFyZUJpbmFyeTppU3QsZmFNYXNrc1RoZWF0ZXI6VDBlLGZhVGhlYXRlck1hc2tzOnNTdCxmYUNhcnRQbHVzOm9TdCxmYUhhbmRzQXNsSW50ZXJwcmV0aW5nOnQ3LGZhQW1lcmljYW5TaWduTGFuZ3VhZ2VJbnRlcnByZXRpbmc6blN0LGZhQXNsSW50ZXJwcmV0aW5nOmxTdCxmYUhhbmRzQW1lcmljYW5TaWduTGFuZ3VhZ2VJbnRlcnByZXRpbmc6Y1N0LGZhVGFibGVDZWxsc1Jvd1VubG9jazpkU3QsZmFSb2NrZXQ6cFN0LGZhU2hyaW1wOnVTdCxmYVRlbmdlU2lnbjpMMGUsZmFUZW5nZTpmU3QsZmFIb3VzZUNoaW1uZXlNZWRpY2FsOiQwZSxmYUNsaW5pY01lZGljYWw6aFN0LGZhVXNlcnNTbGFzaDptU3QsZmFQYXBlclBsYW5lOmdTdCxmYUJvb2tBdGxhczpEMGUsZmFBdGxhczpiU3QsZmFUYWJsZTp2U3QsZmFIZWFydDp4U3QsZmFDaXJjbGVDaGV2cm9uVXA6QTBlLGZhQ2hldnJvbkNpcmNsZVVwOnlTdCxmYUJhdHRlcnlIYWxmOlAwZSxmYUJhdHRlcnkzOndTdCxmYUZvbnRBd2Vzb21lOmFZLGZhRm9udEF3ZXNvbWVGbGFnOk1TdCxmYUZvbnRBd2Vzb21lTG9nb0Z1bGw6a1N0LGZhSGFuZGN1ZmZzOnpTdCxmYUhhdENvd2JveVNpZGU6U1N0LGZhSW5kdXN0cnk6Q1N0LGZhTGluZXNMZWFuaW5nOl9TdCxmYVBhc3Nwb3J0OlRTdCxmYUluZmluaXR5OkxTdCxmYUNsb25lOiRTdCxmYUZvcndhcmQ6RFN0LGZhTTpBU3QsZmFSb2FkU3Bpa2VzOlBTdCxmYU1vdW50YWluOkVTdCxmYUNoZXNzOklTdCxmYVRlbXBlcmF0dXJlVGhyZWVRdWFydGVyczphNyxmYVRlbXBlcmF0dXJlMzpOU3QsZmFUaGVybW9tZXRlcjM6UlN0LGZhVGhlcm1vbWV0ZXJUaHJlZVF1YXJ0ZXJzOkZTdCxmYUI6T1N0LGZhU2hpZWxkVmlydXM6QlN0LGZhTGl0ZWNvaW5TaWduOkhTdCxmYURpY2VENjpxU3QsZmFHcmlwTGluZXNWZXJ0aWNhbDpWU3QsZmFHb2xmQmFsbFRlZTpFMGUsZmFHb2xmQmFsbDpqU3QsZmFIZXhhZ29uOlVTdCxmYUZvbGRlck9wZW46V1N0LGZhS2FhYmE6R1N0LGZhSGFuZEhvbGRpbmc6WVN0LGZhU2luZ2xlUXVvdGVSaWdodDpaU3QsZmFCb3R0bGVEcm9wbGV0OlhTdCxmYVdpbmRvd01pbmltaXplOktTdCxmYUNoZXZyb25SaWdodDpRU3QsZmFFZ2c6SlN0LGZhTGFuZG1hcmtEb21lOkkwZSxmYUxhbmRtYXJrQWx0OmVDdCxmYVdvcm06dEN0LGZhVXNlckluanVyZWQ6YUN0LGZhU3RyaWtldGhyb3VnaDpyQ3QsZmFCbG9nOmlDdCxmYVN0b3B3YXRjaDIwOnNDdCxmYVRydWNrUGlja3VwOm9DdCxmYVNlZWRsaW5nOk4wZSxmYVNwcm91dDpuQ3QsZmFUcmFuc2dlbmRlcjpSMGUsZmFUcmFuc2dlbmRlckFsdDpsQ3QsZmFTdGFySGFsZjpjQ3QsZmFQaG90b0ZpbG06RjBlLGZhUGhvdG9WaWRlbzpkQ3QsZmFQaWN0dXJlSW5QaWN0dXJlOnBDdCxmYVB1bXBNZWRpY2FsOnVDdCxmYUZpcmU6ZkN0LGZhTWFnbmlmeWluZ0dsYXNzUGx1czpPMGUsZmFTZWFyY2hQbHVzOmhDdCxmYUZsYXNrOm1DdCxmYUFsaWduUmlnaHQ6Z0N0LGZhQ2FibGVDYXI6QjBlLGZhVHJhbTpiQ3QsZmFLaXRNZWRpY2FsOkgwZSxmYUZpcnN0QWlkOnZDdCxmYUdyaXBMaW5lczp4Q3QsZmFCdXJnZXI6cTBlLGZhSGFtYnVyZ2VyOnlDdCxmYVNub3dtYW46d0N0LGZhSG90ZWw6TUN0LGZhUHJpbnQ6a0N0LGZhVm9sbGV5YmFsbDpWMGUsZmFWb2xsZXliYWxsQmFsbDp6Q3QsZmFUcmFmZmljTGlnaHQ6U0N0LGZhUGxhbmVDaXJjbGVDaGVjazpDQ3QsZmFVc2VyczpYWSxmYUNlcnRpZmljYXRlOl9DdCxmYUFsYXJtQ2xvY2s6VEN0LGZhSGVsaWNvcHRlclN5bWJvbDpMQ3QsZmFIb3VzZUNoaW1uZXlDcmFjazpqMGUsZmFIb3VzZURhbWFnZTokQ3QsZmFQZXJzb25NaWxpdGFyeVBvaW50aW5nOkRDdCxmYURhdGFiYXNlOkFDdCxmYU5ld3NwYXBlcjpQQ3QsZmFDbG91ZFJhaW46RUN0LGZhTWF4aW1pemU6VTBlLGZhRXhwYW5kQXJyb3dzQWx0OklDdCxmYUxvY2F0aW9uQXJyb3c6TkN0LGZhQ2l0eTpSQ3QsZmFYUmF5OkZDdCxmYVVtYnJlbGxhQmVhY2g6T0N0LGZhQXJyb3dSaWdodFRvQnJhY2tldDpXMGUsZmFTaWduSW46QkN0LGZhSGVhZHNldDpIQ3QsZmFTcGxvdGNoOnFDdCxmYVVwTG9uZzpHMGUsZmFMb25nQXJyb3dBbHRVcDpWQ3QsZmFIZXhhZ29uTm9kZXM6akN0LGZhSG9zcGl0YWw6clksZmFIb3NwaXRhbEFsdDpVQ3QsZmFIb3NwaXRhbFdpZGU6V0N0LGZhUGVyc29uSGFyYXNzaW5nOkdDdCxmYU1vbmV5QmlsbFRyZW5kVXA6WUN0LGZhUGVuUnVsZXI6WTBlLGZhUGVuY2lsUnVsZXI6WkN0LGZhUmVwZWF0OlhDdCxmYUJvbmU6S0N0LGZhRmlyZUZsYW1lQ3VydmVkOlowZSxmYUZpcmVBbHQ6UUN0LGZhQnVzU2ltcGxlOlgwZSxmYUJ1c0FsdDpKQ3QsZmFWZW51c01hcnM6ZV90LGZhQmxlbmRlcjp0X3QsZmFVOmFfdCxmYVNoYXJlOnc3LGZhTWFpbEZvcndhcmQ6cl90LGZhUGhvbmVGbGlwOkswZSxmYVBob25lQWx0OmlfdCxmYVRvaWxldFBvcnRhYmxlOnNfdCxmYVBlcnNvblByZWduYW50Om9fdCxmYUxlc3NUaGFuOm5fdCxmYVN1cGVyc2NyaXB0OmxfdCxmYUNpcmNsZVN0b3A6UTBlLGZhU3RvcENpcmNsZTpjX3QsZmFBcnJvd3NVcERvd246SjBlLGZhQXJyb3dzVjpkX3QsZmFQb29TdG9ybTplY2UsZmFQb29Cb2x0OnBfdCxmYVZpZGVvU2xhc2g6dV90LGZhU3F1YXJlWG1hcms6aVksZmFUaW1lc1NxdWFyZTpmX3QsZmFYbWFya1NxdWFyZTpoX3QsZmFIYW5kSG9sZGluZ0Ryb3BsZXQ6dGNlLGZhSGFuZEhvbGRpbmdXYXRlcjptX3QsZmFXb25TaWduOnNZLGZhS3J3OmdfdCxmYVdvbjpiX3QsZmFPYmplY3RVbmdyb3VwOnZfdCxmYUNvbW1lbnQ6eF90LGZhSGlsbEF2YWxhbmNoZTp5X3QsZmFBcnJvd3NUb0V5ZTp3X3QsZmFTbm93cGxvdzpNX3QsZmFDaGFydEdhbnR0OmtfdCxmYVZpZGVvOmFjZSxmYVZpZGVvQ2FtZXJhOnpfdCxmYUNoZXNzUGF3bjpTX3QsZmFTeW5hZ29ndWU6Q190LGZhQnVpbGRpbmdDaXJjbGVDaGVjazpfX3QsZmFDYWxlbmRhclBsdXM6VF90LGZhV2hlZWxjaGFpck1vdmU6cmNlLGZhV2hlZWxjaGFpckFsdDpMX3QsZmFVc2VyU2hpZWxkOiRfdCxmYUJvbGQ6RF90LGZhSGVhcnRQdWxzZTppY2UsZmFIZWFydGJlYXQ6QV90LGZhU3F1YXJlUm9vdFZhcmlhYmxlOnNjZSxmYVNxdWFyZVJvb3RBbHQ6UF90LGZhSGFuZHNCdWJibGVzOm9jZSxmYUhhbmRzV2FzaDpFX3QsZmFNYXJrZXI6SV90LGZhQ2xpcGJvYXJkOk5fdCxmYVBsYWNlT2ZXb3JzaGlwOlJfdCxmYUNhbm5hYmlzOkZfdCxmYVBlb3BsZVJvb2Y6T190LGZhRGlzZWFzZTpCX3QsZmFCb29rQmlibGU6bmNlLGZhQmlibGU6SF90LGZhQ2hlc3NCb2FyZDpxX3QsZmFNYXJzOlZfdCxmYUxhcHRvcDpqX3QsZmFVc2VyWG1hcms6bGNlLGZhVXNlclRpbWVzOlVfdCxmYUZsYWdVc2E6V190LGZhSGFuZE1pZGRsZUZpbmdlcjpHX3QsZmFNb3J0YXJQZXN0bGU6WV90LGZhSGVhZFNpZGVDb3VnaDpaX3QsZmFQbGFuZUxvY2s6WF90LGZhQmF0dGVyeVRocmVlUXVhcnRlcnM6Y2NlLGZhQmF0dGVyeTQ6S190LGZhRnJhbmNTaWduOlFfdCxmYUZpbHRlckNpcmNsZURvbGxhcjpkY2UsZmFGdW5uZWxEb2xsYXI6Sl90LGZhQ2hlZXNlOmVUdCxmYUNpcmNsZUg6cGNlLGZhSG9zcGl0YWxTeW1ib2w6dFR0LGZhU2Nob29sOmFUdCxmYURpY2VGaXZlOnJUdCxmYVRvcm5hZG86aVR0LGZhSmV0RmlnaHRlcjp1Y2UsZmFGaWdodGVySmV0OnNUdCxmYVRodW1ic0Rvd246b1R0LGZhQnJvb206blR0LGZhRmlsZUltcG9ydDpmY2UsZmFBcnJvd1JpZ2h0VG9GaWxlOmxUdCxmYVV0ZW5zaWxzOmhjZSxmYUN1dGxlcnk6Y1R0LGZhSWRCYWRnZTpkVHQsZmFTcGlkZXI6cFR0LGZhTW9iaWxlUmV0cm86dVR0LGZhU2lnbnNQb3N0Om1jZSxmYU1hcFNpZ25zOmZUdCxmYUdyb3VwQXJyb3dzUm90YXRlOmhUdCxmYUFycm93c1NwbGl0VXBBbmRMZWZ0Om1UdCxmYUZpbGxEcmlwOmdUdCxmYVNoaWVsZEhlYXJ0OmJUdCxmYVBlcnNvblNraWluZ05vcmRpYzpnY2UsZmFTa2lpbmdOb3JkaWM6dlR0LGZhU3F1YXJlQ2hlY2s6YmNlLGZhQ2hlY2tTcXVhcmU6eFR0LGZhQmF0aDp2Y2UsZmFCYXRodHViOnlUdCxmYUNoZXNzQmlzaG9wOndUdCxmYVByZXNjcmlwdGlvbkJvdHRsZU1lZGljYWw6eGNlLGZhUHJlc2NyaXB0aW9uQm90dGxlQWx0Ok1UdCxmYURyYXdQb2x5Z29uOnljZSxmYVZlY3RvclBvbHlnb246a1R0LGZhSUN1cnNvcjp6VHQsZmFIZWFydENpcmNsZVBsdXM6U1R0LGZhU2hpZWxkRG9nOkNUdCxmYUdyZWF0ZXJUaGFuRXF1YWw6X1R0LGZhRW52ZWxvcGVPcGVuOlRUdCxmYU1vdW5kOkxUdCxmYVZvaWNlbWFpbDokVHQsZmFWZXN0OkRUdCxmYUF1ZGlvRGVzY3JpcHRpb246QVR0LGZhVzpQVHQsZmFFeWVEcm9wcGVyOm9ZLGZhRXllRHJvcHBlckVtcHR5OkVUdCxmYUV5ZWRyb3BwZXI6SVR0LGZhQ2lyY2xlWG1hcms6UjgsZmFUaW1lc0NpcmNsZTpOVHQsZmFYbWFya0NpcmNsZTpSVHQsZmFUcmFpbGVyOkZUdCxmYVR1cmtpc2hMaXJhU2lnbjpuWSxmYVRyeTpPVHQsZmFUdXJraXNoTGlyYTpCVHQsZmFWb2xjYW5vOkhUdCxmYVdhbmRTcGFya2xlczpxVHQsZmFNaWNyb3Bob25lOlZUdCxmYUNyb3duOmpUdCxmYVRlbnRBcnJvd1R1cm5MZWZ0OlVUdCxmYVRydWNrRmFzdDp3Y2UsZmFTaGlwcGluZ0Zhc3Q6V1R0LGZhVXNlclBlbjpNY2UsZmFVc2VyRWRpdDpHVHQsZmFVc2VyQ2xvY2s6WVR0LGZhU2hvd2VyOlpUdCxmYVNxdWFyZUNhcmV0VXA6a2NlLGZhQ2FyZXRTcXVhcmVVcDpYVHQsZmFNYXBMb2NhdGlvbjp6Y2UsZmFNYXBNYXJrZWQ6S1R0LGZhUGVuRmFuY3k6UVR0LGZhRXVyb1NpZ246bFksZmFFdXI6SlR0LGZhRXVybzplTHQsZmFIb3VzZUNpcmNsZVhtYXJrOnRMdCxmYUxpcmFTaWduOmFMdCxmYVllblNpZ246RTgsZmFDbnk6ckx0LGZhSnB5OmlMdCxmYVJtYjpzTHQsZmFZZW46b0x0LGZhQm94T3BlbjpuTHQsZmFUcnVja0ZpZWxkOmxMdCxmYUxvY2F0aW9uUGluTG9jazpjTHQsZmFQZXJzb25QcmF5aW5nOlNjZSxmYVByYXk6ZEx0LGZhQ2xpcGJvYXJkTGlzdDpwTHQsZmFTYWNrRG9sbGFyOnVMdCxmYU1vdW50YWluU3VuOmZMdCxmYUFycm93VXBXaWRlU2hvcnQ6Q2NlLGZhU29ydEFtb3VudFVwOmhMdCxmYVVzZXJzTGluZTptTHQsZmFTdGFyT2ZEYXZpZDpnTHQsZmFOb3Rlc01lZGljYWw6Ykx0LGZhQXVzdHJhbFNpZ246dkx0LGZhQ2xpcGJvYXJkVXNlcjp4THQsZmFGaWxlSW1hZ2U6eUx0LGZhU3F1YXJlQ2FyZXRSaWdodDpfY2UsZmFDYXJldFNxdWFyZVJpZ2h0OndMdCxmYVZpYWw6TUx0LGZhSGVsaWNvcHRlcjprTHQsZmFNaXR0ZW46ekx0LGZhR2FzUHVtcDpTTHQsZmFFbnZlbG9wZUNpcmNsZUNoZWNrOkNMdCxmYVBlcnNvblNrYXRpbmc6VGNlLGZhU2thdGluZzpfTHQsZmFTdW46S1ksZmFCYXNlYmFsbDpMY2UsZmFCYXNlYmFsbEJhbGw6VEx0LGZhSW1hZ2U6TEx0LGZhTm90ZGVmOiRMdCxmYUJhc2tldGJhbGw6JGNlLGZhQmFza2V0YmFsbEJhbGw6REx0LGZhUGVuY2lsOkRjZSxmYVBlbmNpbEFsdDpBTHQsZmFQZXJzb25XYWxraW5nQXJyb3dMb29wTGVmdDpQTHQsZmFEaWNlU2l4OkVMdCxmYUFuZ2xlc0Rvd246QWNlLGZhQW5nbGVEb3VibGVEb3duOklMdCxmYVN5cmluZ2U6Tkx0LGZhV2hlYXRBd246UGNlLGZhV2hlYXRBbHQ6Ukx0LGZhUGxhbmVVcDpGTHQsZmFBbGlnbkNlbnRlcjpPTHQsZmFIb2NrZXlQdWNrOkJMdCxmYUNpcmNsZUFycm93TGVmdDpFY2UsZmFBcnJvd0NpcmNsZUxlZnQ6SEx0LGZhUGx1Z0NpcmNsZUJvbHQ6cUx0LGZhUmVzdHJvb206Vkx0LGZhQW5jaG9yTG9jazpqTHQsZmFUaW1lbGluZTpVTHQsZmFMaWdodGJ1bGI6V0x0LGZhQ2lyY2xlQXJyb3dSaWdodDpJY2UsZmFBcnJvd0NpcmNsZVJpZ2h0OkdMdCxmYU1hcnNBbmRWZW51czpZTHQsZmFOZXR3b3JrV2lyZWQ6UVksZmFCdWlsZGluZ1NoaWVsZDpaTHQsZmFDb2RlOlhMdCxmYUZlYXRoZXJQb2ludGVkOk5jZSxmYUZlYXRoZXJBbHQ6S0x0LGZhRmlsZUNpcmNsZVF1ZXN0aW9uOlFMdCxmYVNpZ25hdHVyZTpKTHQsZmFFYXJ0aEFtZXJpY2FzOnI3LGZhRWFydGg6ZSR0LGZhRWFydGhBbWVyaWNhOnQkdCxmYUdsb2JlQW1lcmljYXM6YSR0LGZhQ2Fycm90OnIkdCxmYVRlbXBlcmF0dXJlRnVsbDppNyxmYVRlbXBlcmF0dXJlNDppJHQsZmFUaGVybW9tZXRlcjQ6cyR0LGZhVGhlcm1vbWV0ZXJGdWxsOm8kdCxmYVRhYmxlQ2VsbHNSb3dMb2NrOm4kdCxmYUJvbHRMaWdodG5pbmc6bCR0LGZhQ2xvdWRTaG93ZXJzV2F0ZXI6YyR0LGZhQXJyb3dVcExvbmc6UmNlLGZhTG9uZ0Fycm93VXA6ZCR0LGZhQWRkcmVzc0NhcmQ6Y1ksZmFDb250YWN0Q2FyZDpwJHQsZmFWY2FyZDp1JHQsZmFBbmdsZVJpZ2h0OmYkdCxmYUZhY2VNZWg6RmNlLGZhTWVoOmgkdCxmYUFycm93VXBGcm9tR3JvdW5kV2F0ZXI6bSR0LGZhTWFwOmckdCxmYVVzZXJQbHVzOmIkdCxmYVZlbnVzOnYkdCxmYURpYWdyYW1TdWNjZXNzb3I6eCR0LGZhSGVhZFNpZGVDb3VnaFNsYXNoOnkkdCxmYURpYWdyYW1Qcm9qZWN0Ok9jZSxmYVByb2plY3REaWFncmFtOnckdCxmYVRlcm1pbmFsOkpZLGZhSG91c2VGaXJlOk0kdCxmYU1hc2s6ayR0LGZhSHVycmljYW5lOnokdCxmYUVhcnRoQWZyaWNhOkJjZSxmYUdsb2JlQWZyaWNhOlMkdCxmYVRodW1idGFjazpIY2UsZmFUaHVtYlRhY2s6QyR0LGZhSGFuZFBvaW50RG93bjpfJHQsZmFGYWNlTWVoQmxhbms6cWNlLGZhTWVoQmxhbms6VCR0LGZhVGVtcGVyYXR1cmVFbXB0eTpzNyxmYVRlbXBlcmF0dXJlMDpMJHQsZmFUaGVybW9tZXRlcjA6JCR0LGZhVGhlcm1vbWV0ZXJFbXB0eTpEJHQsZmFCb3JkZXJOb25lOkEkdCxmYUhpZ2hsaWdodGVyOlAkdCxmYU1vbmV5QmlsbFdhdmU6RSR0LGZhVG9pbGV0UGFwZXJTbGFzaDpJJHQsZmFGaWxlU2hpZWxkOk4kdCxmYVRleHRIZWlnaHQ6UiR0LGZhRmFjZUdyaW5Ub25ndWU6VmNlLGZhR3JpblRvbmd1ZTpGJHQsZmFGaWxlU2lnbmF0dXJlOk8kdCxmYUJ1aWxkaW5nV2hlYXQ6QiR0LGZhUGx1Z0NpcmNsZU1pbnVzOkgkdCxmYUZ1dGJvbDpkWSxmYUZ1dGJvbEJhbGw6cSR0LGZhU29jY2VyQmFsbDpWJHQsZmFDaXJjbGVQbHVzOmpjZSxmYVBsdXNDaXJjbGU6aiR0LGZhQnJhemlsaWFuUmVhbFNpZ246VSR0LGZhU3RhckFuZENyZXNjZW50OlckdCxmYUZhY2VTdXJwcmlzZTpVY2UsZmFTdXJwcmlzZTpHJHQsZmFIb3NwaXRhbFVzZXI6WSR0LGZhQXJyb3dEb3duVXBMb2NrOlokdCxmYUZvbGRlcjpXY2UsZmFGb2xkZXJCbGFuazpYJHQsZmFIb2xseUJlcnJ5OkskdCxmYVZlbnVzRG91YmxlOlEkdCxmYUNsaXBib2FyZFF1ZXN0aW9uOkokdCxmYUhvdGRvZzplRHQsZmFBcnJvd1VwRnJvbUJyYWNrZXQ6dER0LGZhTWljcm9zY29wZTphRHQsZmFDbG91ZDpyRHQsZmFCYXNlYmFsbEJhdEJhbGw6aUR0LGZhQ2FyUmVhcjpHY2UsZmFDYXJBbHQ6c0R0LGZhVGh1bWJ0YWNrU2xhc2g6WWNlLGZhVGh1bWJUYWNrU2xhc2g6b0R0LGZhUGx1c01pbnVzOm5EdCxmYUhvdXNlQ2lyY2xlQ2hlY2s6bER0LGZhQ2FsZW5kYXJEYXk6Y0R0LGZhTGlicmE6ZER0LGZhQ2lyY2xlOnBEdCxmYU1vYmlsZVZpYnJhdGU6dUR0LGZhRmFjZUdyaW5TcXVpbnQ6WmNlLGZhR3JpblNxdWludDpmRHQsZmFVc2Vyc0JldHdlZW5MaW5lczpoRHQsZmFIb3VzZU1lZGljYWxDaXJjbGVYbWFyazptRHQsZmFUYWJsZUxpc3Q6WGNlLGZhVGhMaXN0OmdEdCxmYUZsYXNrVmlhbDpiRHQsZmFDaXJjbGVFeGNsYW1hdGlvbjpLY2UsZmFFeGNsYW1hdGlvbkNpcmNsZTp2RHQsZmFUYXhpOlFjZSxmYUNhYjp4RHQsZmFUZXh0U2xhc2g6SmNlLGZhUmVtb3ZlRm9ybWF0OnlEdCxmYVBlb3BsZVB1bGxpbmc6d0R0LGZhQmFja3dhcmQ6TUR0LGZhQ2FyQnVyc3Q6ZTRlLGZhQ2FyQ3Jhc2g6a0R0LGZhTGluazp0NGUsZmFDaGFpbjp6RHQsZmFCYWNrd2FyZFN0ZXA6YTRlLGZhU3RlcEJhY2t3YXJkOlNEdCxmYVg6Q0R0LGZhQ2lyY2xlVXNlcjpyNGUsZmFVc2VyQ2lyY2xlOl9EdCxmYVJlY3RhbmdsZUxpc3Q6aTRlLGZhTGlzdEFsdDpURHQsZmFIYW5kOnM0ZSxmYUhhbmRQYXBlcjpMRHQsZmFDYW5jZXI6JER0LGZhVmFuU2h1dHRsZTpvNGUsZmFTaHV0dGxlVmFuOkREdCxmYVN0YWlyczpBRHQsZmFIb3JzZUhlYWQ6UER0LGZhVmF1bHQ6RUR0LGZhQ2xvc2VkQ2FwdGlvbmluZ1NsYXNoOklEdCxmYURydW1TdGVlbHBhbjpORHQsZmFUaHVtYnNVcDpSRHQsZmFTdGFtcDpGRHQsZmFNZW5vcmFoOk9EdCxmYUNoaWxkcmVuOkJEdCxmYUNoYXJ0TGluZTpuNGUsZmFMaW5lQ2hhcnQ6SER0LGZhU3F1YXJlRW52ZWxvcGU6bDRlLGZhRW52ZWxvcGVTcXVhcmU6cUR0LGZhQmFuU21va2luZzpjNGUsZmFTbW9raW5nQmFuOlZEdCxmYVRydWNrRnJvbnQ6akR0LGZhQnVpbGRpbmc6ZVosZmFCdWxsc2V5ZTpVRHQsZmFBcnJvd0xlZnRMb25nOmQ0ZSxmYUxvbmdBcnJvd0xlZnQ6V0R0LGZhQ2hlc3NSb29rOkdEdCxmYUJsZW5kZXJQaG9uZTpZRHQsZmFBcnJvd1R1cm5VcDpwNGUsZmFMZXZlbFVwOlpEdCxmYUJpY3ljbGU6WER0LGZhQ2lyY2xlQXJyb3dEb3duOnU0ZSxmYUFycm93Q2lyY2xlRG93bjpLRHQsZmFHZWFyOk03LGZhQ29nOlFEdCxmYU1hcnNBbmRWZW51c0J1cnN0OkpEdCxmYU90dGVyOmVBdCxmYUNpcmNsZUNoZXZyb25MZWZ0OmY0ZSxmYUNoZXZyb25DaXJjbGVMZWZ0OnRBdCxmYUNpcmNsZVF1ZXN0aW9uOmg0ZSxmYVF1ZXN0aW9uQ2lyY2xlOmFBdCxmYVdhbGtpZVRhbGtpZTpyQXQsZmFVc2VyR3JvdXA6bTRlLGZhVXNlckZyaWVuZHM6aUF0LGZhSG91c2VDaGltbmV5Omc0ZSxmYUhvbWVMZzpzQXQsZmFSaWdodEZyb21CcmFja2V0OmI0ZSxmYVNpZ25PdXRBbHQ6b0F0LGZhRmlsZTpuQXQsZmFQbGFuZVNsYXNoOmxBdCxmYUNsb3VkU2hvd2Vyc0hlYXZ5OmNBdCxmYVBlcnNvbkZhbGxpbmc6ZEF0LGZhVHVybkRvd246djRlLGZhTGV2ZWxEb3duQWx0OnBBdCxmYVVwUmlnaHRBbmREb3duTGVmdEZyb21DZW50ZXI6eDRlLGZhRXhwYW5kQWx0OnVBdCxmYVVzZXJUYWc6ZkF0LGZhSGFuZFNwYXJrbGVzOmhBdCxmYUFycm93c1RvRG90Om1BdCxmYUZhY2VTYWRDcnk6eTRlLGZhU2FkQ3J5OmdBdCxmYURvbmdTaWduOmJBdCxmYVBlb3BsZUxpbmU6dkF0LGZhU3F1YXJlUnNzOnc0ZSxmYVJzc1NxdWFyZTp4QXQsZmFDYWxlbmRhck1pbnVzOnlBdCxmYUNoYXJ0RGlhZ3JhbTp3QXQsZmFGYWNlVGlyZWQ6TTRlLGZhVGlyZWQ6TUF0LGZhSGFuZFBvaW50UmlnaHQ6a0F0LGZhQXJyb3dVcDp6QXQsZmFDdWJlc1N0YWNrZWQ6U0F0LGZhQ2hpbGRDb21iYXRhbnQ6azRlLGZhQ2hpbGRSaWZsZTpDQXQsZmFWZXN0UGF0Y2hlczpfQXQsZmFNYXJ0aW5pR2xhc3NFbXB0eTp6NGUsZmFHbGFzc01hcnRpbmk6VEF0LGZhTWFnbmV0OkxBdCxmYVJvYWRCYXJyaWVyOiRBdCxmYUNvbXBhc3NEcmFmdGluZzpTNGUsZmFEcmFmdGluZ0NvbXBhc3M6REF0LGZhU3F1YXJlUGVyc29uQ29uZmluZWQ6QUF0LGZhUGxhdGVXaGVhdDpQQXQsZmFTaWduSGFuZ2luZzpDNGUsZmFTaWduOkVBdCxmYUNhckJhdHRlcnk6XzRlLGZhQmF0dGVyeUNhcjpJQXQsZmFTaGlydDpwWSxmYVRTaGlydDpOQXQsZmFUc2hpcnQ6UkF0LGZhUGFyYWdyYXBoOkZBdCxmYUVudmVsb3Blc0J1bGs6VDRlLGZhTWFpbEJ1bGs6T0F0LGZhR3VpdGFyOkJBdCxmYVN1aXRjYXNlOkhBdCxmYUNpcmNsZVVwOkw0ZSxmYUFycm93QWx0Q2lyY2xlVXA6cUF0LGZhRjpWQXQsZmFYbWFya3NMaW5lczpqQXQsZmFFYXJ0aE9jZWFuaWE6JDRlLGZhR2xvYmVPY2VhbmlhOlVBdCxmYUNvbW1lbnRTbGFzaDpXQXQsZmFQbGF5OkdBdCxmYVZpYWxDaXJjbGVDaGVjazpZQXQsZmFCcmlkZ2VDaXJjbGVDaGVjazpaQXQsZmFDZWRpU2lnbjpYQXQsZmFQdXp6bGVQaWVjZTpLQXQsZmFIZWxtZXRVbjpRQXQsZmFHbGFzc1dhdGVyOkpBdCxmYUhlYXJ0Q2lyY2xlQm9sdDplUHQsZmFQdW1wU29hcDp0UHQsZmFIYW5kU2Npc3NvcnM6YVB0LGZhRG9sbHk6RDRlLGZhRG9sbHlCb3g6clB0LGZhUGFwZXJjbGlwOnRaLGZhRGVtb2NyYXQ6aVB0LGZhU3F1YXJlQXJyb3dVcFJpZ2h0OkE0ZSxmYUV4dGVybmFsTGlua1NxdWFyZTpzUHQsZmFGZXJyeTpvUHQsZmFNb3NxdWl0bzpuUHQsZmFCdWlsZGluZ0NpcmNsZUFycm93UmlnaHQ6bFB0LGZhTGVmdFJpZ2h0OlA0ZSxmYUFycm93c0FsdEg6Y1B0LGZhVmlydXM6ZFB0LGZhR2VtOnBQdCxmYVRvaWxldDp1UHQsZmFTaW5nbGVRdW90ZUxlZnQ6ZlB0LGZhTW9uZXlCaWxsczpoUHQsZmFUYWJsZXRCdXR0b246bVB0LGZhUmVjdGFuZ2xlWG1hcms6bzcsZmFSZWN0YW5nbGVUaW1lczpnUHQsZmFUaW1lc1JlY3RhbmdsZTpiUHQsZmFXaW5kb3dDbG9zZTp2UHQsZmFXcmVuY2g6eFB0LGZhVHJhc2hDYW46azcsZmFUcmFzaEFsdDp5UHQsZmFUYWJsZUNlbGxzOkU0ZSxmYVRoOndQdCxmYVJpYmJvbjpNUHQsZmFMYW5kbWFya0ZsYWc6a1B0LGZhVXBEb3duTGVmdFJpZ2h0Okk0ZSxmYUFycm93c0FsdDp6UHQsZmFDYXJTaWRlOlNQdCxmYVRyYXNoQXJyb3dVcDpONGUsZmFUcmFzaFJlc3RvcmU6Q1B0LGZhTGlmZVJpbmc6X1B0LGZhQ29weXJpZ2h0OlRQdCxmYUZpbGVQcmVzY3JpcHRpb246TFB0LGZhRXJhc2VyOiRQdCxmYUhvdXJnbGFzc1N0YXJ0OlI0ZSxmYUhvdXJnbGFzczE6RFB0LGZhQ2lyY2xlTGVmdDpGNGUsZmFBcnJvd0FsdENpcmNsZUxlZnQ6QVB0LGZhQ3J1emVpcm9TaWduOlBQdCxmYVNtb2tpbmc6RVB0LGZhU3F1YXJlUG9sbFZlcnRpY2FsOk80ZSxmYVBvbGw6SVB0LGZhUGVyc29uQ2lyY2xlTWludXM6TlB0LGZhQmlvaGF6YXJkOlJQdCxmYUJlbGxDb25jaWVyZ2U6QjRlLGZhQ29uY2llcmdlQmVsbDpGUHQsZmFSdWxlckhvcml6b250YWw6T1B0LGZhSG9yc2U6QlB0LGZhQ2FsZW5kYXI6SFB0LGZhSGFuZHNIb2xkaW5nQ2hpbGQ6cVB0LGZhSXRhbGljOlZQdCxmYUtoYW5kYTpqUHQsZmFGYWNlRnJvd25PcGVuOkg0ZSxmYUZyb3duT3BlbjpVUHQsZmFDaGVjazphWixmYUZpbmdlcnByaW50OldQdCxmYUNoYXJnaW5nU3RhdGlvbjpHUHQsZmFVc2VyTG9jazpZUHQsZmFNb2JpbGVTY3JlZW5CdXR0b246cTRlLGZhTW9iaWxlQWx0OlpQdCxmYUFuY2hvckNpcmNsZUNoZWNrOlhQdCxmYVBlcnNvbldhbGtpbmdXaXRoQ2FuZTpWNGUsZmFCbGluZDpLUHQsZmFGaWxlV2F2ZWZvcm06ajRlLGZhRmlsZU1lZGljYWxBbHQ6UVB0LGZhSG91c2VDcmFjazpKUHQsZmFIYXRXaXphcmQ6ZUV0LGZhVXNlckRvY3RvcjpVNGUsZmFVc2VyTWQ6dEV0LGZhQ2hhcnRCYXI6VzRlLGZhQmFyQ2hhcnQ6YUV0LGZhU3ByYXlDYW5TcGFya2xlczpHNGUsZmFBaXJGcmVzaGVuZXI6ckV0LGZhQmFodFNpZ246aUV0LGZhVGVtcGVyYXR1cmVBcnJvd1VwOlk0ZSxmYVRlbXBlcmF0dXJlVXA6c0V0LGZhV2ViQXdlc29tZTpvRXQsZmFOb25CaW5hcnk6bkV0LGZhTjpsRXQsZmFBcnJvd3NVcERvd25MZWZ0UmlnaHQ6WjRlLGZhQXJyb3dzOmNFdCxmYUhvdXNlOm43LGZhSG9tZTpkRXQsZmFIb21lQWx0OnBFdCxmYUhvbWVMZ0FsdDp1RXQsZmFTcGlubmVyOmZFdCxmYUdhdmVsOlg0ZSxmYUxlZ2FsOmhFdCxmYVRpY2tldFNpbXBsZTpLNGUsZmFUaWNrZXRBbHQ6bUV0LGZhRG92ZTpnRXQsZmFUYXJwRHJvcGxldDpiRXQsZmFUcmVlQ2l0eTp2RXQsZmFUdXJuVXA6UTRlLGZhTGV2ZWxVcEFsdDp4RXQsZmFUZW1wZXJhdHVyZVF1YXJ0ZXI6bDcsZmFUZW1wZXJhdHVyZTE6eUV0LGZhVGhlcm1vbWV0ZXIxOndFdCxmYVRoZXJtb21ldGVyUXVhcnRlcjpNRXQsZmFTbGlkZXJzOko0ZSxmYVNsaWRlcnNIOmtFdCxmYU1vc3F1ZTp6RXQsZmFIOlNFdCxmYUluZm86Q0V0LGZhUGVyc29uV2Fsa2luZzplM2UsZmFXYWxraW5nOl9FdCxmYUFycm93VHVybkRvd246dDNlLGZhTGV2ZWxEb3duOlRFdCxmYVJvYWQ6TEV0LGZhU3BpcmFsOiRFdCxmYUZhY2VGcm93bjphM2UsZmFGcm93bjpERXQsZmFXaW5lR2xhc3NFbXB0eTpyM2UsZmFXaW5lR2xhc3NBbHQ6QUV0LGZhQ2xhcHBlcmJvYXJkOlBFdCxmYUZvcndhcmRTdGVwOmkzZSxmYVN0ZXBGb3J3YXJkOkVFdCxmYVNxdWFyZVVwUmlnaHQ6czNlLGZhRXh0ZXJuYWxMaW5rU3F1YXJlQWx0OklFdCxmYUJvb2tKb3VybmFsV2hpbGxzOm8zZSxmYUpvdXJuYWxXaGlsbHM6TkV0LGZhQ2hhbXBhZ25lR2xhc3NlczpuM2UsZmFHbGFzc0NoZWVyczpSRXQsZmFEdW1wc3RlcjpGRXQsZmFIZWFydENpcmNsZVhtYXJrOk9FdCxmYUNvbXB1dGVyOkJFdCxmYVdhbmRNYWdpYzpsM2UsZmFNYWdpYzpIRXQsZmFCcmFpbjpxRXQsZmFCcmllZmNhc2VNZWRpY2FsOlZFdCxmYUhvdXNlTWVkaWNhbENpcmNsZUV4Y2xhbWF0aW9uOmpFdCxmYUNvZGVDb21taXQ6VUV0LGZhUGVyc29uQnJlYXN0ZmVlZGluZzpXRXQsZmFQZXJzb25SYXlzOkdFdCxmYU1hbmF0U2lnbjpZRXQsZmFTb3J0OmMzZSxmYVVuc29ydGVkOlpFdCxmYUNpcmNsZVJhZGlhdGlvbjpkM2UsZmFSYWRpYXRpb25BbHQ6WEV0LGZhTGFwdG9wQ29kZTpLRXQsZmFTaW5rOlFFdCxmYUFycm93VXBGcm9tV2F0ZXJQdW1wOkpFdCxmYU1pY3JvcGhvbmVMaW5lc1NsYXNoOnAzZSxmYU1pY3JvcGhvbmVBbHRTbGFzaDplSXQsZmFTZXJ2ZXI6dEl0LGZhVXNlcjp1WSxmYVVzZXJBbHQ6YUl0LGZhVXNlckxhcmdlOnJJdCxmYVNub3dmbGFrZTppSXQsZmFUYXVydXM6c0l0LGZhU2t1bGxDcm9zc2JvbmVzOm9JdCxmYVBlc29TaWduOm5JdCxmYVdpbmVHbGFzczpsSXQsZmFUZW1wZXJhdHVyZUhhbGY6YzcsZmFUZW1wZXJhdHVyZTI6Y0l0LGZhVGhlcm1vbWV0ZXIyOmRJdCxmYVRoZXJtb21ldGVySGFsZjpwSXQsZmFUaWNrZXQ6dUl0LGZhV2hlYXRBd25DaXJjbGVFeGNsYW1hdGlvbjpmSXQsZmFBcnJvd3NUdXJuUmlnaHQ6aEl0LGZhQ2FuZHlDYW5lOm1JdCxmYVdoZWVsY2hhaXI6Z0l0LGZhU3BlbGxDaGVjazpiSXQsZmFWb2x1bWVPZmY6dkl0LGZhTHVuZ3M6eEl0LGZhQm9va21hcms6eUl0LGZhQmFyY29kZTp3SXQsZmFMaXN0T2w6ZlksZmFMaXN0MTI6TUl0LGZhTGlzdE51bWVyaWM6a0l0LGZhRmlsZUNpcmNsZVhtYXJrOnpJdCxmYUN1YmU6U0l0LGZhVGFwZTpDSXQsZmFCb21iOl9JdCxmYVNjYWxlVW5iYWxhbmNlZDp1M2UsZmFCYWxhbmNlU2NhbGVMZWZ0OlRJdCxmYVNxdWFyZUNhcmV0TGVmdDpmM2UsZmFDYXJldFNxdWFyZUxlZnQ6TEl0LGZhUnVsZXI6JEl0LGZhSTpESXQsZmFWb2x1bWVYbWFyazpoWSxmYVZvbHVtZU11dGU6QUl0LGZhVm9sdW1lVGltZXM6UEl0LGZhQXJjaHdheTpFSXQsZmFQZXJzb25EaWdnaW5nOmgzZSxmYURpZ2dpbmc6SUl0LGZhR2F1Z2VIaWdoOm1ZLGZhVGFjaG9tZXRlckFsdDpOSXQsZmFUYWNob21ldGVyQWx0RmFzdDpSSXQsZmFHZW5kZXJsZXNzOkZJdCxmYUNsb3VkU3VuOk9JdCxmYUFycm93UmlnaHQ6closZmFIYW5kc2hha2U6Z1ksZmFIYW5kc2hha2VBbHQ6Qkl0LGZhSGFuZHNoYWtlU2ltcGxlOkhJdCxmYVBlcnNvblNraWluZzptM2UsZmFTa2lpbmc6cUl0LGZhQnJpZGdlV2F0ZXI6Vkl0LGZhQnVpbGRpbmdOZ286akl0LGZhSWdsb286VUl0LGZhQ2lyY2xlRG9sbGFyVG9TbG90OmczZSxmYURvbmF0ZTpXSXQsZmFZOkdJdCxmYUZhY2VTbWlsZVdpbms6YjNlLGZhU21pbGVXaW5rOllJdCxmYURpY2VGb3VyOlpJdCxmYUZhY2VHcmluU3F1aW50VGVhcnM6djNlLGZhR3JpblNxdWludFRlYXJzOlhJdCxmYUZpbGVBdWRpbzpLSXQsZmFBcnJvd3NEb3duVG9MaW5lOlFJdCxmYUc6Skl0LGZhVmloYXJhOmVOdCxmYUZsYWdDaGVja2VyZWQ6dE50LGZhR2F1Z2VTaW1wbGU6YlksZmFHYXVnZVNpbXBsZU1lZDphTnQsZmFUYWNob21ldGVyQXZlcmFnZTpyTnQsZmFSaWdodExlZnQ6eDNlLGZhRXhjaGFuZ2VBbHQ6aU50LGZhUGlsbHM6c050LGZhRXhwbG9zaW9uOm9OdCxmYUFycm93c0Rvd25Ub1Blb3BsZTpuTnQsZmFVc2Vyc1ZpZXdmaW5kZXI6bE50LGZhQ2FyT246Y050LGZhU2xlaWdoOmROdCxmYUR1bWJiZWxsOnBOdCxmYUJhYnlDYXJyaWFnZTp5M2UsZmFDYXJyaWFnZUJhYnk6dU50LGZhS2l3aUJpcmQ6Zk50LGZhQ2FsZW5kYXJYbWFyazp3M2UsZmFDYWxlbmRhclRpbWVzOmhOdCxmYUNpcmNsZURvd246TTNlLGZhQXJyb3dBbHRDaXJjbGVEb3duOm1OdCxmYUZpbGVNZWRpY2FsOmdOdCxmYVhtYXJrOmlsLGZhQ2xvc2U6Yk50LGZhTXVsdGlwbHk6dk50LGZhUmVtb3ZlOnhOdCxmYVRpbWVzOnlOdCxmYVNoYXBlczprM2UsZmFUcmlhbmdsZUNpcmNsZVNxdWFyZTp3TnQsZmFEaWNlT25lOk1OdCxmYUxvY2tPcGVuOmtOdCxmYVBlcHBlckhvdDp6TnQsZmFEcm9wbGV0U2xhc2g6ejNlLGZhVGludFNsYXNoOlNOdCxmYURyb3BsZXQ6UzNlLGZhVGludDpDTnQsZmFGaWxlTGluZXM6dlksZmFGaWxlQWx0Ol9OdCxmYUZpbGVUZXh0OlROdCxmYUNvbW1lbnRzRG9sbGFyOkxOdCxmYU1hZ25pZnlpbmdHbGFzc0xvY2F0aW9uOkMzZSxmYVNlYXJjaExvY2F0aW9uOiROdCxmYUZpbGVJbnZvaWNlOmlaLGZhUGVudGFnb246RE50LGZhUmVwdWJsaWNhbjpBTnQsZmFTaG9wOl8zZSxmYVN0b3JlQWx0OlBOdCxmYUZpbG06eFksZmFGaWxtQWx0OkVOdCxmYUZpbG1TaW1wbGU6SU50LGZhQnVpbGRpbmdDaXJjbGVYbWFyazpOTnQsZmFDb21tZW50czpSTnQsZmFUYWdzOkZOdCxmYUd1bjpPTnQsZmFDaXJjbGVDaGVjazp6NyxmYUNoZWNrQ2lyY2xlOkJOdCxmYVNjb3JwaW86SE50LGZhSWRDYXJkQ2xpcDpUM2UsZmFJZENhcmRBbHQ6cU50LGZhTW9vbjpWTnQsZmFPaWxXZWxsOmpOdCxmYVRhY2hvZ3JhcGhEaWdpdGFsOkwzZSxmYURpZ2l0YWxUYWNob2dyYXBoOlVOdCxmYVRhYmxldDokM2UsZmFUYWJsZXRBbmRyb2lkOldOdCxmYVJ1YmxlU2lnbjpkNyxmYVJvdWJsZTpHTnQsZmFSdWI6WU50LGZhUnVibGU6Wk50LGZhQ2xvc2VkQ2FwdGlvbmluZzpYTnQsZmFQZW46S050LGZhUGxhbmU6UU50LGZhSW1hZ2VzOkpOdCxmYU1vYmlsZVNjcmVlbjpEM2UsZmFNb2JpbGVBbmRyb2lkQWx0OmVSdCxmYUd1YXJhbmlTaWduOnRSdCxmYUJhZ1Nob3BwaW5nOkEzZSxmYVNob3BwaW5nQmFnOmFSdCxmYUNpcmNsZVJpZ2h0OlAzZSxmYUFycm93QWx0Q2lyY2xlUmlnaHQ6clJ0LGZhUGhvbmVWb2x1bWU6RTNlLGZhVm9sdW1lQ29udHJvbFBob25lOmlSdCxmYUN1YmVzOnNSdCxmYVBob25lOm9SdCxmYVRvcmlpR2F0ZTpuUnQsZmFCYWNvbjpsUnQsZmFQZXJzb25GYWxsaW5nQnVyc3Q6Y1J0LGZhUXVvdGVSaWdodDpJM2UsZmFRdW90ZVJpZ2h0QWx0OmRSdCxmYUhvdXNlTWVkaWNhbEZsYWc6cFJ0LGZhUHJlc2NyaXB0aW9uOnVSdCxmYURpY2VUaHJlZTpmUnQsZmFCdWlsZGluZ0xvY2s6aFJ0LGZhSWRDYXJkOk4zZSxmYURyaXZlcnNMaWNlbnNlOm1SdCxmYUNpcmNsZVBsYXk6UjNlLGZhUGxheUNpcmNsZTpnUnQsZmFGYWNlTGF1Z2hCZWFtOkYzZSxmYUxhdWdoQmVhbTpiUnQsZmFMZWFmOnZSdCxmYUhvdXNlQ2hpbW5leVVzZXI6eFJ0LGZhUm90YXRlUmlnaHQ6eVksZmFSZWRvQWx0OnlSdCxmYVJvdGF0ZUZvcndhcmQ6d1J0LGZhVG9vdGg6TVJ0LGZhSG91c2VDaGltbmV5V2luZG93OmtSdCxmYU1vdG9yY3ljbGU6elJ0LGZhQmFja3dhcmRGYXN0Ok8zZSxmYUZhc3RCYWNrd2FyZDpTUnQsZmFBZGRyZXNzQm9vazpCM2UsZmFDb250YWN0Qm9vazpDUnQsZmFTYWlsYm9hdDpfUnQsZmFCb29rQm9va21hcms6VFJ0LGZhTWFnbmlmeWluZ0dsYXNzQXJyb3dSaWdodDpMUnQsZmFNaWNyb3Bob25lTGluZXM6SDNlLGZhTWljcm9waG9uZUFsdDokUnQsZmFSZXBseUFsbDpxM2UsZmFNYWlsUmVwbHlBbGw6RFJ0LGZhVW5pdmVyc2FsQWNjZXNzOkFSdCxmYVRvaWxldFBhcGVyOndZLGZhVG9pbGV0UGFwZXJBbHQ6UFJ0LGZhVG9pbGV0UGFwZXJCbGFuazpFUnQsZmFWckNhcmRib2FyZDpJUnQsZmFQaXp6YVNsaWNlOk5SdCxmYVNwcmF5Q2FuOlJSdCxmYVZvbHVtZUxvdzpWM2UsZmFWb2x1bWVEb3duOkZSdCxmYUNyb3NzOk9SdCxmYVBlcnNvbjpqM2UsZmFNYWxlOkJSdCxmYUhvdXJnbGFzczpVM2UsZmFIb3VyZ2xhc3NFbXB0eTpIUnQsZmFGaXNoOnFSdCxmYURydW1zdGlja0JpdGU6VlJ0LGZhQ2hhcnRTaW1wbGU6alJ0LGZhQXRvbTpVUnQsZmFQOldSdCxmYUpldEZpZ2h0ZXJVcDpHUnQsZmFQbHVnQ2lyY2xlWG1hcms6WVJ0LGZhU2hlZXRQbGFzdGljOlpSdCxmYVY6WFJ0LGZhTGlzdDpXM2UsZmFMaXN0U3F1YXJlczpLUnQsZmFQaXNjZXM6UVJ0LGZhU29sYXJQYW5lbDpKUnQsZmFMYW5kTWluZU9uOmVGdCxmYUhlYWRwaG9uZXM6TVksZmFIZWFkcGhvbmVzQWx0OnRGdCxmYUhlYWRwaG9uZXNTaW1wbGU6YUZ0LGZhQnVzOnJGdCxmYUZpbGVQb3dlcnBvaW50OmlGdCxmYVF1b3RlTGVmdDpHM2UsZmFRdW90ZUxlZnRBbHQ6c0Z0LGZhQ2hldnJvbkRvd246b0Z0LGZhRWFydGhBc2lhOlkzZSxmYUdsb2JlQXNpYTpuRnQsZmFDZW50U2lnbjpsRnQsZmFTaGllbGRDYXQ6Y0Z0LGZhU2Nob29sQ2lyY2xlQ2hlY2s6ZEZ0LGZhTWFydGluaUdsYXNzOlozZSxmYUdsYXNzTWFydGluaUFsdDpwRnQsZmFQbHVnOnVGdCxmYVBhbm9yYW1hOmZGdCxmYUNsb2NrUm90YXRlTGVmdDpTNyxmYUhpc3Rvcnk6aEZ0LGZhSmFyV2hlYXQ6bUZ0LGZhQ2xvdWRBcnJvd0Rvd246a1ksZmFDbG91ZERvd25sb2FkOmdGdCxmYUNsb3VkRG93bmxvYWRBbHQ6YkZ0LGZhVHJ1Y2tSYW1wQm94OlgzZSxmYVRydWNrTG9hZGluZzp2RnQsZmFBbmdsZURvd246eEZ0LGZhUGx1Z0NpcmNsZUNoZWNrOnlGdCxmYVdpbmRvd01heGltaXplOndGdCxmYUhhbmRzSG9sZGluZ0NpcmNsZTpNRnQsZmFMb2NhdGlvblBpbjpLM2UsZmFNYXBNYXJrZXI6a0Z0LGZhQm93bGluZ0JhbGw6ekZ0LGZhQ2FydEZsYXRiZWQ6UTNlLGZhRG9sbHlGbGF0YmVkOlNGdCxmYUhvdXNlVXNlcjpKM2UsZmFIb21lVXNlcjpDRnQsZmFHaG9zdDpfRnQsZmFDb21tZW50Tm9kZXM6VEZ0LGZhUGVyc29uQXJyb3dEb3duVG9MaW5lOkxGdCxmYVBsdWdDaXJjbGVQbHVzOiRGdCxmYVBlcnNvblN3aW1taW5nOmVkZSxmYVN3aW1tZXI6REZ0LGZhQ29tbWVudERvdHM6dGRlLGZhQ29tbWVudGluZzpBRnQsZmFDaGFydFBpZTphZGUsZmFQaWVDaGFydDpQRnQsZmFGcm9nOkVGdCxmYVdpbmVCb3R0bGU6SUZ0LGZhSW5ib3g6TkZ0LGZhU3F1YXJlSDpyZGUsZmFIU3F1YXJlOlJGdCxmYUhvdXNlTWVkaWNhbDpGRnQsZmFDaXJjbGVDaGV2cm9uUmlnaHQ6aWRlLGZhQ2hldnJvbkNpcmNsZVJpZ2h0Ok9GdCxmYUZpbGVDc3Y6QkZ0LGZhSGF0Q293Ym95OkhGdCxmYUZhY2VHcmluVG9uZ3VlV2luazpzZGUsZmFHcmluVG9uZ3VlV2luazpxRnQsZmFMOlZGdCxmYUFycm93RG93blNob3J0V2lkZTp6WSxmYVNvcnRBbW91bnREZXNjOmpGdCxmYVNvcnRBbW91bnREb3duQWx0OlVGdCxmYUhvdXJnbGFzc0hhbGY6b2RlLGZhSG91cmdsYXNzMjpXRnQsZmFTcG9vbjpuZGUsZmFVdGVuc2lsU3Bvb246R0Z0LGZhQ3JlZGl0Q2FyZDpsZGUsZmFDcmVkaXRDYXJkQWx0OllGdCxmYUZpbGVJbnZvaWNlRG9sbGFyOnNaLGZhU3BhZ2hldHRpTW9uc3RlckZseWluZzpjZGUsZmFQYXN0YWZhcmlhbmlzbTpaRnQsZmFNYXJ0aW5pR2xhc3NDaXRydXM6ZGRlLGZhQ29ja3RhaWw6WEZ0LGZhQnVsbGhvcm46S0Z0LGZhQm94VGlzc3VlOlFGdCxmYU1hdHRyZXNzUGlsbG93OkpGdCxmYUNoZXZyb25MZWZ0OmVPdCxmYUNsb3VkTW9vblJhaW46dE90LGZhQXJyb3dEb3duMTk6U1ksZmFTb3J0TnVtZXJpY0FzYzphT3QsZmFTb3J0TnVtZXJpY0Rvd246ck90LGZhSGFuZFNwb2NrOmlPdCxmYVdhbmRNYWdpY1NwYXJrbGVzOnBkZSxmYU1hZ2ljV2FuZFNwYXJrbGVzOnNPdCxmYUNvbW1lbnRNZWRpY2FsOm9PdCxmYUJlbGxTbGFzaDpuT3QsZmFIYW5kc2hha2VTbGFzaDpDWSxmYUhhbmRzaGFrZUFsdFNsYXNoOmxPdCxmYUhhbmRzaGFrZVNpbXBsZVNsYXNoOmNPdCxmYUJvdHRsZVdhdGVyOmRPdCxmYURpY2VEMjA6cE90LGZhQXJyb3dEb3duWkE6X1ksZmFTb3J0QWxwaGFEZXNjOnVPdCxmYVNvcnRBbHBoYURvd25BbHQ6Zk90LGZhQnJ1c2g6aE90LGZhUGVyc29uV2Fsa2luZ0Rhc2hlZExpbmVBcnJvd1JpZ2h0Om1PdCxmYUFycm93VXBTaG9ydFdpZGU6dWRlLGZhU29ydEFtb3VudFVwQWx0OmdPdCxmYUdyaXBWZXJ0aWNhbDpmZGUsZmFHcmlkVmVydGljYWw6Yk90LGZhQ2FyVHVubmVsOnZPdCxmYUNoYXJ0Q29sdW1uOnhPdCxmYUNhcHJpY29ybjp5T3QsZmFUcnVja0Fycm93UmlnaHQ6d090LGZhVHY6VFksZmFUZWxldmlzaW9uOk1PdCxmYVR2QWx0OmtPdCxmYVNlY3Rpb246ek90LGZhUGVhY2U6U090LGZhU3RhcjpDT3QsZmFGbGFnOl9PdCxmYVRyaWFuZ2xlRXhjbGFtYXRpb246TFksZmFFeGNsYW1hdGlvblRyaWFuZ2xlOlRPdCxmYVdhcm5pbmc6TE90LGZhU2Nob29sQ2lyY2xlRXhjbGFtYXRpb246JE90LGZhR3JhZHVhdGlvbkNhcDpoZGUsZmFNb3J0YXJCb2FyZDpET3QsZmFTdG9yZTpBT3QsZmFVc2VyQXN0cm9uYXV0OlBPdCxmYUJ1aWxkaW5nRmxhZzpFT3QsZmFNdWdTYXVjZXI6bWRlLGZhQ29mZmVlOklPdCxmYUxlbW9uOk5PdCxmYUNhcmF2YW46Uk90LGZhUTpGT3QsZmFMb2NrOk9PdCxmYVBhaW50Um9sbGVyOkJPdCxmYVZvbHVtZUhpZ2g6Z2RlLGZhVm9sdW1lVXA6SE90LGZhRm9sZGVyUGx1czpxT3QsZmFNZXJjdXJ5OlZPdCxmYUFuY2hvcjpqT3QsZmFTcXVhcmVQYXJraW5nOmJkZSxmYVBhcmtpbmc6VU90LGZhSGFudWtpYWg6V090LGZhUm90YXRlTGVmdDpwNyxmYVJvdGF0ZUJhY2s6R090LGZhUm90YXRlQmFja3dhcmQ6WU90LGZhVW5kb0FsdDpaT3QsZmFIZWFkaW5nOnZkZSxmYUhlYWRlcjpYT3QsZmFDcm9zc2hhaXJzOktPdCxmYUNpcmNsZU5vZGVzOlFPdCxmYVdpbmRvd1Jlc3RvcmU6Sk90LGZhUjplQnQsZmFGaWx0ZXJDaXJjbGVYbWFyazp0QnQsZmFHb3B1cmFtOmFCdCxmYUhlYXJ0Q2lyY2xlTWludXM6ckJ0LGZhU3Rhck9mTGlmZTppQnQsZmFCdXNpbmVzc1RpbWU6eGRlLGZhQnJpZWZjYXNlQ2xvY2s6c0J0LGZhRmlyZUV4dGluZ3Vpc2hlcjpvQnQsZmFBcnJvd0Rvd25Mb25nOnlkZSxmYUxvbmdBcnJvd0Rvd246bkJ0LGZhVXNlck1pbnVzOmxCdCxmYU1vbmV5Q2hlY2s6Y0J0LGZhSG91c2VMYXB0b3A6d2RlLGZhTGFwdG9wSG91c2U6ZEJ0LGZhRG93bmxvYWQ6cEJ0LGZhU2FnaXR0YXJpdXM6dUJ0LGZhQ291Y2g6ZkJ0LGZhUm9hZExvY2s6aEJ0LGZhU2Npc3NvcnM6TWRlLGZhQ3V0Om1CdCxmYUJ1ZzpvWixmYUFycm93UmlnaHRGcm9tQnJhY2tldDprZGUsZmFTaWduT3V0OmdCdCxmYUhhbmRIb2xkaW5nSGFuZDpiQnQsZmFTdHJvb3B3YWZlbDp2QnQsZmFDaGlsZDp4QnQsZmFJY2VDcmVhbTp5QnQsZmFDb21wdXRlck1vdXNlOnpkZSxmYU1vdXNlOndCdCxmYUZhdWNldDpNQnQsZmFBd2FyZDprQnQsZmFQZXJzb25Ecm93bmluZzp6QnQsZmFDYW1lcmFSb3RhdGU6U0J0LGZhRmFjZUdyaW5IZWFydHM6U2RlLGZhR3JpbkhlYXJ0czpDQnQsZmFGaWxlRnJhZ21lbnQ6X0J0LGZhUGVyc29uTWlsaXRhcnlSaWZsZTpUQnQsZmFUb2dnbGVPbjpMQnQsZmFMdW5nc1ZpcnVzOiRCdCxmYVRhYmxlVGVubmlzUGFkZGxlQmFsbDokWSxmYVBpbmdQb25nUGFkZGxlQmFsbDpEQnQsZmFUYWJsZVRlbm5pczpBQnQsZmFCb3hlc1BhY2tpbmc6UEJ0LGZhUGVyc29uQ2hhbGtib2FyZDpFQnQsZmFEaWNlVHdvOklCdCxmYUFycm93UmlnaHRBcnJvd0xlZnQ6Q2RlLGZhRXhjaGFuZ2U6TkJ0LGZhRm9vdGJhbGw6X2RlLGZhRm9vdGJhbGxCYWxsOlJCdCxmYVRydWNrTW9uc3RlcjpGQnQsZmFBc3RlcmlzazpPQnQsZmFCYXR0ZXJ5RnVsbDpEWSxmYUJhdHRlcnk6QkJ0LGZhQmF0dGVyeTU6SEJ0LGZhQ2hpbGREcmVzczpxQnQsZmFGYWNlS2lzc0JlYW06VGRlLGZhS2lzc0JlYW06VkJ0LGZhVHJhc2hDYW5BcnJvd1VwOkxkZSxmYVRyYXNoUmVzdG9yZUFsdDpqQnQsZmFGb250OlVCdCxmYUJvcmVIb2xlOldCdCxmYVZpcnVzQ292aWQ6R0J0LGZhRmlsZVBkZjpZQnQsZmFMYW5ndWFnZTpaQnQsZmFTaGllbGRIYWx2ZWQ6JGRlLGZhU2hpZWxkQWx0OlhCdCxmYUNhcmV0VXA6S0J0LGZhRmlsZVBlbjpEZGUsZmFGaWxlRWRpdDpRQnQsZmFQZXJzb25CaWtpbmc6QWRlLGZhQmlraW5nOkpCdCxmYUJvb2tPcGVuUmVhZGVyOlBkZSxmYUJvb2tSZWFkZXI6ZUh0LGZhR2xhc3NXYXRlckRyb3BsZXQ6dEh0LGZhVG93ZXJCcm9hZGNhc3Q6RWRlLGZhQnJvYWRjYXN0VG93ZXI6YUh0LGZhTWluaW1pemU6SWRlLGZhQ29tcHJlc3NBcnJvd3NBbHQ6ckh0LGZhQXJyb3dSaWdodFRvQ2l0eTppSHQsZmFMYXB0b3BNZWRpY2FsOnNIdCxmYUJyZWFkU2xpY2U6b0h0LGZhR2xvYmU6bkh0LGZhRm9sZGVyTWludXM6bEh0LGZhTWFza0ZhY2U6Y0h0LGZhQm9uZzpkSHQsZmFSb2FkQnJpZGdlOnBIdCxmYUFycm93VXA5MTpOZGUsZmFTb3J0TnVtZXJpY1VwQWx0OnVIdCxmYU1vdW50YWluQ2l0eTpmSHQsZmFBcnJvd0Rvd245MTpBWSxmYVNvcnROdW1lcmljRGVzYzpoSHQsZmFTb3J0TnVtZXJpY0Rvd25BbHQ6bUh0LGZhRmFjZUdyaW5XaWRlOlJkZSxmYUdyaW5BbHQ6Z0h0LGZhUG9vcDpiSHQsZmFEaGFybWFjaGFrcmE6dkh0LGZhQmF0dGVyeVF1YXJ0ZXI6RmRlLGZhQmF0dGVyeTI6eEh0LGZhQW5raDp5SHQsZmFEaWFtb25kOndIdCxmYVN1YnNjcmlwdDpNSHQsZmFSdXBlZVNpZ246T2RlLGZhUnVwZWU6a0h0LGZhUGVyc29uUmlmbGU6ekh0LGZhRDpTSHQsZmFTcXVhcmVOZmk6Q0h0LGZhVGVldGg6X0h0LGZhTWFnbmlmeWluZ0dsYXNzRG9sbGFyOkJkZSxmYVNlYXJjaERvbGxhcjpUSHQsZmFEdW1wc3RlckZpcmU6TEh0LGZhVXBsb2FkOiRIdCxmYVVzZXJTbGFzaDpQWSxmYVVzZXJBbHRTbGFzaDpESHQsZmFVc2VyTGFyZ2VTbGFzaDpBSHQsZmFBcnJvd0xlZnQ6UEh0LGZhVmlhbFZpcnVzOkVIdCxmYUNoZWNrRG91YmxlOklIdCxmYVBhdzpOSHQsZmFIZWxtZXRTYWZldHk6RVksZmFIYXJkSGF0OlJIdCxmYUhhdEhhcmQ6Rkh0LGZhRTpPSHQsZmFGYWNlTGF1Z2hTcXVpbnQ6SGRlLGZhTGF1Z2hTcXVpbnQ6Qkh0LGZhRG93bkxlZnRBbmRVcFJpZ2h0VG9DZW50ZXI6cWRlLGZhQ29tcHJlc3NBbHQ6SEh0LGZhR2lmdHM6cUh0LGZhQmVkOlZIdCxmYU1vbmV5QmlsbFRyYW5zZmVyOmpIdCxmYVBlcnNvblJ1bm5pbmc6VmRlLGZhUnVubmluZzpVSHQsZmFDaXJjbGVDaGV2cm9uRG93bjpqZGUsZmFDaGV2cm9uQ2lyY2xlRG93bjpXSHQsZmFVc2VyTnVyc2U6R0h0LGZhRmFjZUtpc3NXaW5rSGVhcnQ6VWRlLGZhS2lzc1dpbmtIZWFydDpZSHQsZmFGaWxsOlpIdCxmYU1vbmV5QmlsbDFXYXZlOldkZSxmYU1vbmV5QmlsbFdhdmVBbHQ6WEh0LGZhTGFuZG1hcms6S0h0LGZhTXVzaWM6UUh0LGZhQm9va01lZGljYWw6Skh0LGZhU2h1ZmZsZTpHZGUsZmFSYW5kb206ZXF0LGZhVW5kZXJsaW5lOnRxdCxmYUJ1aWxkaW5nVXNlcjphcXQsZmFSb2JvdDpycXQsZmFQbHVzOkM3LGZhQWRkOmlxdCxmYUNvcHk6blosZmFDaGVzc0tpbmc6c3F0LGZhSG91c2VGbG9vZFdhdGVyOm9xdCxmYUJpdGNvaW5TaWduOm5xdCxmYUJveDpscXQsZmFTcXVhcmVQbHVzOllkZSxmYVBsdXNTcXVhcmU6Y3F0LGZhQXJyb3dzTGVmdFJpZ2h0OlpkZSxmYUFycm93c0g6ZHF0LGZhRmFuOnBxdCxmYUNyb3c6dXF0LGZhRmlsZUNpcmNsZUNoZWNrOmZxdCxmYUxpbmtTbGFzaDp1NyxmYUNoYWluQnJva2VuOmhxdCxmYUNoYWluU2xhc2g6bXF0LGZhVW5saW5rOmdxdCxmYUFycm93Um90YXRlUmlnaHQ6ZjcsZmFBcnJvd1JpZ2h0Um90YXRlOmJxdCxmYUFycm93Um90YXRlRm9yd2FyZDp2cXQsZmFSZWRvOnhxdCxmYVBlbkNsaXA6WGRlLGZhUGVuQWx0OnlxdCxmYURvb3JDbG9zZWQ6d3F0LGZhQXJyb3dEb3duV2lkZVNob3J0OklZLGZhU29ydEFtb3VudEFzYzpNcXQsZmFTb3J0QW1vdW50RG93bjprcXQsZmFDYXJldERvd246enF0LGZhSzpTcXQsZmFDaGVja1RvU2xvdDpLZGUsZmFWb3RlWWVhOkNxdCxmYUZpc2hGaW5zOl9xdCxmYUNvbXByZXNzOlRxdCxmYUFycm93VXBBWjpRZGUsZmFTb3J0QWxwaGFVcDpMcXQsZmFVc2VyR3JhZHVhdGU6JHF0LGZhRmlsZUNvZGU6RHF0LGZhU29hcDpBcXQsZmFSZWN5Y2xlOlBxdCxmYUZhY2VHcmluV2luazpKZGUsZmFHcmluV2luazpFcXQsZmFXYXRlckxhZGRlcjpOWSxmYUxhZGRlcldhdGVyOklxdCxmYVN3aW1taW5nUG9vbDpOcXQsZmFHZW1pbmk6UnF0LGZhVG93ZXJDZWxsOkZxdCxmYUNvbG9uU2lnbjpPcXQsZmFMYXB0b3BGaWxlOkJxdCxmYUJhaGFpOmU2ZSxmYUhheWthbDpIcXQsZmFNb25leUJpbGwxOnQ2ZSxmYU1vbmV5QmlsbEFsdDpxcXQsZmFDbG91ZEJvbHQ6YTZlLGZhVGh1bmRlcnN0b3JtOlZxdCxmYUV0aGVybmV0OmpxdCxmYUhyeXZuaWFTaWduOnI2ZSxmYUhyeXZuaWE6VXF0LGZhRXllU2xhc2g6bFosZmFDYXJ0RmxhdGJlZFN1aXRjYXNlOmk2ZSxmYUx1Z2dhZ2VDYXJ0OldxdCxmYVJhZGlhdGlvbjpHcXQsZmFGaWxlV29yZDpZcXQsZmFCZWRQdWxzZTpzNmUsZmFQcm9jZWR1cmVzOlpxdCxmYVRlbnRzOlhxdCxmYU11Z0hvdDpjWixmYUJvbHQ6bzZlLGZhWmFwOktxdCxmYUphcjpRcXQsZmFUcnVja1BsYW5lOkpxdCxmYUhhbmRIb2xkaW5nSGVhcnQ6ZVZ0LGZhQXJyb3dSb3RhdGVMZWZ0Okk4LGZhQXJyb3dMZWZ0Um90YXRlOnRWdCxmYUFycm93Um90YXRlQmFjazphVnQsZmFBcnJvd1JvdGF0ZUJhY2t3YXJkOnJWdCxmYVVuZG86aVZ0LGZhRmFjZUFuZ3J5Om42ZSxmYUFuZ3J5OnNWdCxmYUJ1cnN0Om9WdCxmYVo6blZ0LGZhQmFuZGFnZTpsNmUsZmFCYW5kQWlkOmxWdCxmYVBsYW5lQ2lyY2xlRXhjbGFtYXRpb246Y1Z0LGZhQnVzU2lkZTpkVnQsZmFCdWdzOnBWdCxmYUJlZXJNdWdFbXB0eTpjNmUsZmFCZWVyOnVWdCxmYVBlcnNvbkNpcmNsZUNoZWNrOmZWdCxmYVN0YXBsZXI6aFZ0LGZhSG91c2VNZWRpY2FsQ2lyY2xlQ2hlY2s6bVZ0LGZhTmFpcmFTaWduOmdWdCxmYVdpZmk6UlksZmFXaWZpMzpiVnQsZmFXaWZpU3Ryb25nOnZWdCxmYU1vbmV5Q2hlY2tEb2xsYXI6XzcsZmFNb25leUNoZWNrQWx0OnhWdCxmYUV5ZUxvd1Zpc2lvbjpkNmUsZmFMb3dWaXNpb246eVZ0LGZhQ2lyY2xlQXJyb3dVcDpwNmUsZmFBcnJvd0NpcmNsZVVwOndWdCxmYUNhbWVyYVJldHJvOk1WdCxmYUNhcHN1bGVzOmtWdCxmYVBvbzp6VnQsZmFWb2x1bWU6dTZlLGZhVm9sdW1lTWVkaXVtOlNWdCxmYUVsZXZhdG9yOkNWdCxmYVRhZzpfVnQsZmFGaWxlQ2lyY2xlTWludXM6VFZ0LGZhRG93bkxvbmc6ZjZlLGZhTG9uZ0Fycm93QWx0RG93bjpMVnQsZmFDb21wYWN0RGlzYzokVnQsZmFTdWl0Y2FzZVJvbGxpbmc6RFZ0LGZhQm9va1F1cmFuOmg2ZSxmYVF1cmFuOkFWdCxmYVBob25lU2xhc2g6UFZ0LGZhUm9hZENpcmNsZUNoZWNrOkVWdCxmYVNob3BMb2NrOklWdCxmYUltYWdlUG9ydHJhaXQ6bTZlLGZhUG9ydHJhaXQ6TlZ0LGZhQnJpZGdlTG9jazpSVnQsZmFIYW1tZXI6RlZ0LGZhQXJyb3dVcDE5Omc2ZSxmYVNvcnROdW1lcmljVXA6T1Z0LGZhQ2hlc3NLbmlnaHQ6QlZ0LGZhSG91c2VGbG9vZFdhdGVyQ2lyY2xlQXJyb3dSaWdodDpIVnQsZmFBcnJvd1VwUmlnaHRGcm9tU3F1YXJlOlQ3LGZhRXh0ZXJuYWxMaW5rOnFWdCxmYUFycm93RG93blVwQWNyb3NzTGluZTpWVnQsZmFGYWNlR3JpbkJlYW06YjZlLGZhR3JpbkJlYW06alZ0LGZhUmVjdGFuZ2xlQWQ6djZlLGZhQWQ6VVZ0LGZhQm9va1RhbmFraDp4NmUsZmFUYW5ha2g6V1Z0LGZhSG90VHViUGVyc29uOnk2ZSxmYUhvdFR1YjpHVnQsZmFGaWxlSGFsZkRhc2hlZDpZVnQsZmFPdXRkZW50Onc2ZSxmYURlZGVudDpaVnQsZmFIYW5kUGVhY2U6WFZ0LGZhSGVhZFNpZGVWaXJ1czpLVnQsZmFDb21wYXNzOlFWdCxmYVBlbk5pYjpKVnQsZmFUZW50QXJyb3dzRG93bjplanQsZmFGb3J3YXJkRmFzdDpNNmUsZmFGYXN0Rm9yd2FyZDp0anQsZmFDcm9wOmFqdCxmYVdoaXNrZXlHbGFzczprNmUsZmFHbGFzc1doaXNrZXk6cmp0LGZhU3F1YXJlOmlqdCxmYUZhY2VHcmluOno2ZSxmYUdyaW46c2p0LGZhRmlsZUNvbnRyYWN0Om9qdCxmYUFuZ2xlVXA6bmp0LGZhRmFjZVNtaWxlOlM2ZSxmYVNtaWxlOmxqdCxmYVBlcnNvbkRyZXNzQnVyc3Q6Y2p0LGZhRGl2aWRlOmRqdCxmYUNvZGVGb3JrOnBqdCxmYUhvdXNlRmxhZzp1anQsZmFCdWlsZGluZ0NvbHVtbnM6TjgsZmFCYW5rOmZqdCxmYUluc3RpdHV0aW9uOmhqdCxmYU11c2V1bTptanQsZmFVbml2ZXJzaXR5OmdqdCxmYVJ1ZzpianQsZmFDb2RlTWVyZ2U6dmp0LGZhSG91c2VUc3VuYW1pOnhqdCxmYU1hZ25pZnlpbmdHbGFzc0NoYXJ0OnlqdCxmYVVtYnJlbGxhOndqdCxmYUhpbGxSb2Nrc2xpZGU6TWp0LGZhVXNlclNlY3JldDpranQsZmFQYWdlcjp6anQsZmFCcmllZmNhc2U6U2p0LGZhVHJvd2VsQnJpY2tzOkNqdCxmYVNvY2tzOl9qdCxmYVQ6VGp0LGZhTWljcm9jaGlwOkxqdCxmYVRydWNrTWVkaWNhbDpDNmUsZmFBbWJ1bGFuY2U6JGp0LGZhT206RGp0LGZhTW9zcXVpdG9OZXQ6QWp0LGZhUHJlc2NyaXB0aW9uQm90dGxlOlBqdCxmYVVzZXJzR2VhcjpfNmUsZmFVc2Vyc0NvZzpFanQsZmFSb2FkQ2lyY2xlRXhjbGFtYXRpb246SWp0LGZhUGF1c2U6Tmp0LGZhU3RhZmZTbmFrZTpoNyxmYVJvZEFzY2xlcGl1czpSanQsZmFSb2RTbmFrZTpGanQsZmFTdGFmZkFlc2N1bGFwaXVzOk9qdCxmYVBpZ2d5QmFuazpCanQsZmFNb251bWVudDpIanQsZmFBbmdsZXNSaWdodDpUNmUsZmFBbmdsZURvdWJsZVJpZ2h0OnFqdCxmYURlc2t0b3A6TDcsZmFEZXNrdG9wQWx0OlZqdCxmYVBsYW5lQ2lyY2xlWG1hcms6amp0LGZhUmV0d2VldDpVanQsZmFVc2VyR2VhcjpMNmUsZmFVc2VyQ29nOldqdCxmYUJvcmRlckFsbDpHanQsZmFDb2luczpZanQsZmFNYXJzU3Ryb2tlOlpqdCxmYUhhbmRzaGFrZUFuZ2xlOiQ2ZSxmYUhhbmRzSGVscGluZzpYanQsZmFBcnJvd0Rvd246S2p0LGZhTG9jYXRpb25Eb3Q6RDZlLGZhTWFwTWFya2VyQWx0OlFqdCxmYVBsdWdDaXJjbGVFeGNsYW1hdGlvbjpKanQsZmFDb29raWVCaXRlOmVVdCxmYVNjcmV3ZHJpdmVyV3JlbmNoOkE2ZSxmYVRvb2xzOnRVdCxmYUluZGVudDphVXQsZmFCYXJzOlA2ZSxmYU5hdmljb246clV0LGZhSGFuZHNQcmF5aW5nOkU2ZSxmYVByYXlpbmdIYW5kczppVXQsZmFWaXJ1c2VzOnNVdCxmYVNjaG9vbEZsYWc6b1V0LGZhVHJhZGVtYXJrOm5VdCxmYUZpcmVCdXJuZXI6bFV0LGZhRmFjZVNtaWxlQmVhbTpJNmUsZmFTbWlsZUJlYW06Y1V0LGZhVGVudEFycm93TGVmdFJpZ2h0OmRVdCxmYVJvdXRlOnBVdCxmYUFuZ2xlc1VwOk42ZSxmYUFuZ2xlRG91YmxlVXA6dVV0LGZhQnVja2V0OmZVdCxmYUxlc3NUaGFuRXF1YWw6aFV0LGZhRm9sZGVyQ2xvc2VkOm1VdCxmYVBlcnNvblRocm91Z2hXaW5kb3c6Z1V0LGZhU2Nob29sTG9jazpiVXQsZmFQZXJzb25CdXJzdDp2VXQsZmFMZWZ0TG9uZzpSNmUsZmFMb25nQXJyb3dBbHRMZWZ0OnhVdCxmYUxvY2F0aW9uQ3Jvc3NoYWlyczpGNmUsZmFMb2NhdGlvbjp5VXQsZmFQZXJzb25Eb3RzRnJvbUxpbmU6TzZlLGZhRGlhZ25vc2VzOndVdCxmYUdhdWdlU2ltcGxlSGlnaDpGWSxmYVRhY2hvbWV0ZXI6TVV0LGZhVGFjaG9tZXRlckZhc3Q6a1V0LGZhQW5nbGVzTGVmdDpCNmUsZmFBbmdsZURvdWJsZUxlZnQ6elV0LGZhVXBEb3duOkg2ZSxmYUFycm93c0FsdFY6U1V0LGZhQmF0dGVyeUVtcHR5OnE2ZSxmYUJhdHRlcnkwOkNVdCxmYUtleWJvYXJkOl9VdCxmYUNvb2tpZTpUVXQsZmFTdG9wd2F0Y2g6TFV0LGZhRWplY3Q6JFV0LGZhU2F0ZWxsaXRlRGlzaDpEVXQsZmFGYWNlUm9sbGluZ0V5ZXM6VjZlLGZhTWVoUm9sbGluZ0V5ZXM6QVV0LGZhTGlzdENoZWNrOmo2ZSxmYVRhc2tzOlBVdCxmYVNhY2tYbWFyazpFVXQsZmFIYXNodGFnOklVdCxmYVRyYWluOk5VdCxmYUdhbWVwYWQ6UlV0LGZhRmlsZUV4cG9ydDpVNmUsZmFBcnJvd1JpZ2h0RnJvbUZpbGU6RlV0LGZhRmFjZUdyaW1hY2U6VzZlLGZhR3JpbWFjZTpPVXQsZmFUcmFpblN1YndheTpHNmUsZmFTdWJ3YXk6QlV0LGZhQ2lyY2xlRG90Olk2ZSxmYURvdENpcmNsZTpIVXQsZmFPYmplY3RHcm91cDpxVXQsZmFTaGlwOlZVdCxmYUM6alV0LGZhU3F1YXJlUGhvbmU6WjZlLGZhUGhvbmVTcXVhcmU6VVV0LGZhUnVsZXJDb21iaW5lZDpXVXQsZmFBcnJvd3NSb3RhdGU6T1ksZmFSZWZyZXNoOkdVdCxmYVN5bmM6WVV0LGZhUGVyc29uRHJlc3M6WDZlLGZhRmVtYWxlOlpVdCxmYUJvb2tPcGVuOlhVdCxmYUZvbGRlclRyZWU6S1V0LGZhVmlyZ286UVV0LGZhQm94QXJjaGl2ZTpLNmUsZmFBcmNoaXZlOkpVdCxmYVRlbnRBcnJvd0Rvd25Ub0xpbmU6ZVd0LGZhUXJjb2RlOnRXdCxmYURyYWdvbjphV3QsZmFIb3VyZ2xhc3NFbmQ6UTZlLGZhSG91cmdsYXNzMzpyV3QsZmFHcmlwOkY4LGZhR3JpZEhvcml6b250YWw6aVd0LGZhR3JpcEhvcml6b250YWw6c1d0LGZhQm9yZGVyVG9wTGVmdDpKNmUsZmFCb3JkZXJTdHlsZTpvV3QsZmFMaXN0VWw6ZTVlLGZhTGlzdERvdHM6bld0LGZhUGVvcGxlUm9iYmVyeTpsV3QsZmFNb2JpbGVCdXR0b246Y1d0LGZhQXJyb3dEb3duQVo6QlksZmFTb3J0QWxwaGFBc2M6ZFd0LGZhU29ydEFscGhhRG93bjpwV3QsZmFNb25leUJpbGw6dVd0LGZhQ2lyY2xlTWludXM6dDVlLGZhTWludXNDaXJjbGU6Zld0LGZhQXJyb3dQb2ludGVyOmE1ZSxmYU1vdXNlUG9pbnRlcjpoV3QsZmFTcXVhcmVTaGFyZU5vZGVzOnI1ZSxmYVNoYXJlQWx0U3F1YXJlOm1XdCxmYVRhYmxlQ2VsbHNMYXJnZTppNWUsZmFUaExhcmdlOmdXdCxmYUNhdDpiV3QsZmFDYWxlbmRhcldlZWs6dld0LGZhQ29kZUNvbXBhcmU6eFd0LGZhTGVvOnlXdCxmYVJvYWRDaXJjbGVYbWFyazp3V3QsZmFQYWxsZXQ6TVd0LGZhQ2FrZUNhbmRsZXM6SFksZmFCaXJ0aGRheUNha2U6a1d0LGZhQ2FrZTp6V3QsZmFCdWdTbGFzaDpTV3QsZmFUYXJwOkNXdCxmYURpYWdyYW1QcmVkZWNlc3NvcjpfV3QsZmFGYWNlRmx1c2hlZDpzNWUsZmFGbHVzaGVkOlRXdCxmYURpYWdyYW1OZXh0OkxXdCxmYUFuY2hvckNpcmNsZVhtYXJrOiRXdCxmYVBlcnNvbkNpcmNsZVhtYXJrOkRXdCxmYVNwYTpBV3QsZmFBcmllczpQV3QsZmFCYXJzUHJvZ3Jlc3M6bzVlLGZhVGFza3NBbHQ6RVd0LGZhSGVhcnRDaXJjbGVDaGVjazpJV3QsZmFNYXJzU3Ryb2tlUmlnaHQ6bjVlLGZhTWFyc1N0cm9rZUg6Tld0LGZhVG93ZXJPYnNlcnZhdGlvbjpSV3QsZmFTdGVybGluZ1NpZ246cVksZmFHYnA6Rld0LGZhUG91bmRTaWduOk9XdCxmYUZhdWNldERyaXA6Qld0LGZhQ2lyY2xlSW5mbzokNyxmYUluZm9DaXJjbGU6SFd0LGZhRmVhdGhlcjpxV3QsZmFCb3dsUmljZTpWV3QsZmFTdGFySGFsZlN0cm9rZTpsNWUsZmFTdGFySGFsZkFsdDpqV3QsZmFUZW1wZXJhdHVyZUFycm93RG93bjpjNWUsZmFUZW1wZXJhdHVyZURvd246VVd0LGZhTWFza1ZlbnRpbGF0b3I6V1d0LGZhRmlsZVZpZGVvOkdXdCxmYUFycm93VHJlbmREb3duOllXdCxmYU9pbENhbjpaV3QsZmFQZW9wbGVDYXJyeUJveDpkNWUsZmFQZW9wbGVDYXJyeTpYV3QsZmFDaGFpcjpLV3QsZmFXaW5kOlFXdCxmYUxheWVyR3JvdXA6Sld0LGZhSGVhZFNpZGVNYXNrOmVHdCxmYUhhbmRzOlZZLGZhU2lnbkxhbmd1YWdlOnRHdCxmYVNpZ25pbmc6YUd0LGZhVGFibGV0czpyR3QsZmFXZWlnaHRIYW5naW5nOmlHdCxmYURpY2U6c0d0LGZhU2hvcFNsYXNoOnA1ZSxmYVN0b3JlQWx0U2xhc2g6b0d0LGZhU29ydERvd246dTVlLGZhU29ydERlc2M6bkd0LGZhUGVzZXRhU2lnbjpsR3QsZmFUYWJsZXRTY3JlZW5CdXR0b246ZjVlLGZhVGFibGV0QWx0OmNHdCxmYUhhbmRIb2xkaW5nRG9sbGFyOmg1ZSxmYUhhbmRIb2xkaW5nVXNkOmRHdCxmYVNoaWVsZDptNWUsZmFTaGllbGRCbGFuazpwR3QsZmFGYWNlTGF1Z2g6ZzVlLGZhTGF1Z2g6dUd0LGZhSGFuZHNIb2xkaW5nOmZHdCxmYUNhcnRTaG9wcGluZzpiNWUsZmFTaG9wcGluZ0NhcnQ6aEd0LGZhT2N0YWdvbjptR3QsZmFIYW5kUG9pbnRlcjpnR3QsZmFSZWdpc3RlcmVkOmJHdCxmYUhvdXNlU2lnbmFsOnZHdCxmYUJhbmdsYWRlc2hpVGFrYVNpZ246eEd0fX0pO3ZhciBBNyx2NWU9YygoKT0+e0E3PXt4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLHdpZHRoOjI0LGhlaWdodDoyNCx2aWV3Qm94OiIwIDAgMjQgMjQiLGZpbGw6Im5vbmUiLHN0cm9rZToiY3VycmVudENvbG9yIiwic3Ryb2tlLXdpZHRoIjoyLCJzdHJva2UtbGluZWNhcCI6InJvdW5kIiwic3Ryb2tlLWxpbmVqb2luIjoicm91bmQifX0pO3ZhciB3R3Qsc2wseDVlPWMoKCk9Pnt2NWUoKTt3R3Q9aSgoW3QsZSxhXSk9PntsZXQgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix0KTtyZXR1cm4gT2JqZWN0LmtleXMoZSkuZm9yRWFjaChzPT57ci5zZXRBdHRyaWJ1dGUocyxTdHJpbmcoZVtzXSkpfSksYT8ubGVuZ3RoJiZhLmZvckVhY2gocz0+e2xldCBuPXdHdChzKTtyLmFwcGVuZENoaWxkKG4pfSkscn0sImNyZWF0ZVNWR0VsZW1lbnQiKSxzbD1pKCh0LGU9e30pPT57bGV0IHI9ey4uLkE3LC4uLmV9O3JldHVybiB3R3QoWyJzdmciLHIsdF0pfSwiY3JlYXRlRWxlbWVudCIpfSk7dmFyIHk1ZSxNR3Q9YygoKT0+e3k1ZT1pKHQ9Pntmb3IobGV0IGUgaW4gdClpZihlLnN0YXJ0c1dpdGgoImFyaWEtIil8fGU9PT0icm9sZSJ8fGU9PT0idGl0bGUiKXJldHVybiEwO3JldHVybiExfSwiaGFzQTExeVByb3AiKX0pO3ZhciB3NWUsa0d0PWMoKCk9Pnt3NWU9aSgoLi4udCk9PnQuZmlsdGVyKChlLGEscik9PiEhZSYmZS50cmltKCkhPT0iIiYmci5pbmRleE9mKGUpPT09YSkuam9pbigiICIpLnRyaW0oKSwibWVyZ2VDbGFzc2VzIil9KTt2YXIgTTVlLHpHdD1jKCgpPT57TTVlPWkodD0+dC5yZXBsYWNlKC9eKFtBLVpdKXxbXHMtX10rKFx3KS9nLChlLGEscik9PnI/ci50b1VwcGVyQ2FzZSgpOmEudG9Mb3dlckNhc2UoKSksInRvQ2FtZWxDYXNlIil9KTt2YXIgazVlLFNHdD1jKCgpPT57ekd0KCk7azVlPWkodD0+e2xldCBlPU01ZSh0KTtyZXR1cm4gZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnNsaWNlKDEpfSwidG9QYXNjYWxDYXNlIil9KTt2YXIgQ0d0LHo1ZSxkWixfR3Q9YygoKT0+e3g1ZSgpO3Y1ZSgpO01HdCgpO2tHdCgpO1NHdCgpO0NHdD1pKHQ9PkFycmF5LmZyb20odC5hdHRyaWJ1dGVzKS5yZWR1Y2UoKGUsYSk9PihlW2EubmFtZV09YS52YWx1ZSxlKSx7fSksImdldEF0dHJzIiksejVlPWkodD0+dHlwZW9mIHQ9PSJzdHJpbmciP3Q6IXR8fCF0LmNsYXNzPyIiOnQuY2xhc3MmJnR5cGVvZiB0LmNsYXNzPT0ic3RyaW5nIj90LmNsYXNzLnNwbGl0KCIgIik6dC5jbGFzcyYmQXJyYXkuaXNBcnJheSh0LmNsYXNzKT90LmNsYXNzOiIiLCJnZXRDbGFzc05hbWVzIiksZFo9aSgodCx7bmFtZUF0dHI6ZSxpY29uczphLGF0dHJzOnJ9KT0+e2xldCBzPXQuZ2V0QXR0cmlidXRlKGUpO2lmKHM9PW51bGwpcmV0dXJuO2xldCBuPWs1ZShzKSxvPWFbbl07aWYoIW8pcmV0dXJuIGNvbnNvbGUud2FybihgJHt0Lm91dGVySFRNTH0gaWNvbiBuYW1lIHdhcyBub3QgZm91bmQgaW4gdGhlIHByb3ZpZGVkIGljb25zIG9iamVjdC5gKTtsZXQgbD1DR3QodCksaD15NWUobCk/e306eyJhcmlhLWhpZGRlbiI6InRydWUifSx1PXsuLi5BNywiZGF0YS1sdWNpZGUiOnMsLi4uaCwuLi5yLC4uLmx9LGY9ejVlKGwpLHA9ejVlKHIpLGc9dzVlKCJsdWNpZGUiLGBsdWNpZGUtJHtzfWAsLi4uZiwuLi5wKTtnJiZPYmplY3QuYXNzaWduKHUse2NsYXNzOmd9KTtsZXQgdj1zbChvLHUpO3JldHVybiB0LnBhcmVudE5vZGU/LnJlcGxhY2VDaGlsZCh2LHQpfSwicmVwbGFjZUVsZW1lbnQiKX0pO3ZhciBQNyxTNWU9YygoKT0+e1A3PVtbInBhdGgiLHtkOiJtMTQgMTIgNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNMTggMTZWNyJ9XSxbInBhdGgiLHtkOiJtMiAxNiA0LjAzOS05LjY5YS41LjUgMCAwIDEgLjkyMyAwTDExIDE2In1dLFsicGF0aCIse2Q6Ik0zLjMwNCAxM2g2LjM5MiJ9XV19KTt2YXIgRTcsQzVlPWMoKCk9PntFNz1bWyJwYXRoIix7ZDoibTE0IDExIDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTE4IDE2VjcifV0sWyJwYXRoIix7ZDoibTIgMTYgNC4wMzktOS42OWEuNS41IDAgMCAxIC45MjMgMEwxMSAxNiJ9XSxbInBhdGgiLHtkOiJNMy4zMDQgMTNoNi4zOTIifV1dfSk7dmFyIEk3LF81ZT1jKCgpPT57STc9W1sicGF0aCIse2Q6Im0xNSAxNiAyLjUzNi03LjMyOGExLjAyIDEuMDIgMSAwIDEgMS45MjggMEwyMiAxNiJ9XSxbInBhdGgiLHtkOiJNMTUuNjk3IDE0aDUuNjA2In1dLFsicGF0aCIse2Q6Im0yIDE2IDQuMDM5LTkuNjlhLjUuNSAwIDAgMSAuOTIzIDBMMTEgMTYifV0sWyJwYXRoIix7ZDoiTTMuMzA0IDEzaDYuMzkyIn1dXX0pO3ZhciBONyxUNWU9YygoKT0+e043PVtbImNpcmNsZSIse2N4OiIxNiIsY3k6IjQiLHI6IjEifV0sWyJwYXRoIix7ZDoibTE4IDE5IDEtNy02IDEifV0sWyJwYXRoIix7ZDoibTUgOCAzLTMgNS41IDMtMi4zNiAzLjUifV0sWyJwYXRoIix7ZDoiTTQuMjQgMTQuNWE1IDUgMCAwIDAgNi44OCA2In1dLFsicGF0aCIse2Q6Ik0xMy43NiAxNy41YTUgNSAwIDAgMC02Ljg4LTYifV1dfSk7dmFyIFI3LEw1ZT1jKCgpPT57Ujc9W1sicGF0aCIse2Q6Ik0yMiAxMmgtMi40OGEyIDIgMCAwIDAtMS45MyAxLjQ2bC0yLjM1IDguMzZhLjI1LjI1IDAgMCAxLS40OCAwTDkuMjQgMi4xOGEuMjUuMjUgMCAwIDAtLjQ4IDBsLTIuMzUgOC4zNkEyIDIgMCAwIDEgNC40OSAxMkgyIn1dXX0pO3ZhciBGNywkNWU9YygoKT0+e0Y3PVtbInBhdGgiLHtkOiJNMTggMTcuNWEyLjUgMi41IDAgMSAxLTQgMi4wM1YxMiJ9XSxbInBhdGgiLHtkOiJNNiAxMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2NWEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik02IDhoMTIifV0sWyJwYXRoIix7ZDoiTTYuNiAxNS41NzJBMiAyIDAgMSAwIDEwIDE3di01In1dXX0pO3ZhciBPNyxENWU9YygoKT0+e083PVtbInBhdGgiLHtkOiJNNSAxN0g0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMmgtMSJ9XSxbInBhdGgiLHtkOiJtMTIgMTUgNSA2SDdaIn1dXX0pO3ZhciBqMCxBNWU9YygoKT0+e2owPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiI4In1dLFsicGF0aCIse2Q6Ik01IDMgMiA2In1dLFsicGF0aCIse2Q6Im0yMiA2LTMtMyJ9XSxbInBhdGgiLHtkOiJNNi4zOCAxOC43IDQgMjEifV0sWyJwYXRoIix7ZDoiTTE3LjY0IDE4LjY3IDIwIDIxIn1dLFsicGF0aCIse2Q6Ik05IDEzaDYifV1dfSk7dmFyIFUwLFA1ZT1jKCgpPT57VTA9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjgifV0sWyJwYXRoIix7ZDoiTTUgMyAyIDYifV0sWyJwYXRoIix7ZDoibTIyIDYtMy0zIn1dLFsicGF0aCIse2Q6Ik02LjM4IDE4LjcgNCAyMSJ9XSxbInBhdGgiLHtkOiJNMTcuNjQgMTguNjcgMjAgMjEifV0sWyJwYXRoIix7ZDoibTkgMTMgMiAyIDQtNCJ9XV19KTt2YXIgQjcsRTVlPWMoKCk9PntCNz1bWyJwYXRoIix7ZDoiTTYuODcgNi44N2E4IDggMCAxIDAgMTEuMjYgMTEuMjYifV0sWyJwYXRoIix7ZDoiTTE5LjkgMTQuMjVhOCA4IDAgMCAwLTkuMTUtOS4xNSJ9XSxbInBhdGgiLHtkOiJtMjIgNi0zLTMifV0sWyJwYXRoIix7ZDoiTTYuMjYgMTguNjcgNCAyMSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik00IDQgMiA2In1dXX0pO3ZhciBINyxJNWU9YygoKT0+e0g3PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiI4In1dLFsicGF0aCIse2Q6Ik0xMiA5djRsMiAyIn1dLFsicGF0aCIse2Q6Ik01IDMgMiA2In1dLFsicGF0aCIse2Q6Im0yMiA2LTMtMyJ9XSxbInBhdGgiLHtkOiJNNi4zOCAxOC43IDQgMjEifV0sWyJwYXRoIix7ZDoiTTE3LjY0IDE4LjY3IDIwIDIxIn1dXX0pO3ZhciBXMCxONWU9YygoKT0+e1cwPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiI4In1dLFsicGF0aCIse2Q6Ik01IDMgMiA2In1dLFsicGF0aCIse2Q6Im0yMiA2LTMtMyJ9XSxbInBhdGgiLHtkOiJNNi4zOCAxOC43IDQgMjEifV0sWyJwYXRoIix7ZDoiTTE3LjY0IDE4LjY3IDIwIDIxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMHY2In1dLFsicGF0aCIse2Q6Ik05IDEzaDYifV1dfSk7dmFyIHE3LFI1ZT1jKCgpPT57cTc9W1sicGF0aCIse2Q6Ik0xMSAyMWMwLTIuNSAyLTIuNSAyLTUifV0sWyJwYXRoIix7ZDoiTTE2IDIxYzAtMi41IDItMi41IDItNSJ9XSxbInBhdGgiLHtkOiJtMTkgOC0uOCAzYTEuMjUgMS4yNSAwIDAgMS0xLjIgMUg3YTEuMjUgMS4yNSAwIDAgMS0xLjItMUw1IDgifV0sWyJwYXRoIix7ZDoiTTIxIDNhMSAxIDAgMCAxIDEgMXYyYTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjRhMSAxIDAgMCAxIDEtMXoifV0sWyJwYXRoIix7ZDoiTTYgMjFjMC0yLjUgMi0yLjUgMi01In1dXX0pO3ZhciBWNyxGNWU9YygoKT0+e1Y3PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbInBvbHlsaW5lIix7cG9pbnRzOiIxMSAzIDExIDExIDE0IDggMTcgMTEgMTcgMyJ9XV19KTt2YXIgajcsTzVlPWMoKCk9PntqNz1bWyJwYXRoIix7ZDoiTTIgMTJoMjAifV0sWyJwYXRoIix7ZDoiTTEwIDE2djRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJ2LTQifV0sWyJwYXRoIix7ZDoiTTEwIDhWNGEyIDIgMCAwIDAtMi0ySDZhMiAyIDAgMCAwLTIgMnY0In1dLFsicGF0aCIse2Q6Ik0yMCAxNnYxYTIgMiAwIDAgMS0yIDJoLTJhMiAyIDAgMCAxLTItMnYtMSJ9XSxbInBhdGgiLHtkOiJNMTQgOFY3YzAtMS4xLjktMiAyLTJoMmEyIDIgMCAwIDEgMiAydjEifV1dfSk7dmFyIFU3LEI1ZT1jKCgpPT57VTc9W1sicGF0aCIse2Q6Ik0xMiAydjIwIn1dLFsicGF0aCIse2Q6Ik04IDEwSDRhMiAyIDAgMCAxLTItMlY2YzAtMS4xLjktMiAyLTJoNCJ9XSxbInBhdGgiLHtkOiJNMTYgMTBoNGEyIDIgMCAwIDAgMi0yVjZhMiAyIDAgMCAwLTItMmgtNCJ9XSxbInBhdGgiLHtkOiJNOCAyMEg3YTIgMiAwIDAgMS0yLTJ2LTJjMC0xLjEuOS0yIDItMmgxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNGgxYTIgMiAwIDAgMSAyIDJ2MmEyIDIgMCAwIDEtMiAyaC0xIn1dXX0pO3ZhciBXNyxINWU9YygoKT0+e1c3PVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxNiIseDoiNCIseToiMiIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiOSIseDoiMTQiLHk6IjkiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yMiAyMkgyIn1dXX0pO3ZhciBHNyxxNWU9YygoKT0+e0c3PVtbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiNiIseDoiMiIseToiNCIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjkiLGhlaWdodDoiNiIseDoiOSIseToiMTQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yMiAyMlYyIn1dXX0pO3ZhciBZNyxWNWU9YygoKT0+e1k3PVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxNCIseDoiNCIseToiNSIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTAiLHg6IjE0Iix5OiI3IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTcgMjJ2LTUifV0sWyJwYXRoIix7ZDoiTTE3IDdWMiJ9XSxbInBhdGgiLHtkOiJNNyAyMnYtMyJ9XSxbInBhdGgiLHtkOiJNNyA1VjIifV1dfSk7dmFyIFo3LGo1ZT1jKCgpPT57Wjc9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjE0Iix4OiI0Iix5OiI1IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxMCIseDoiMTQiLHk6IjciLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMCAydjIwIn1dLFsicGF0aCIse2Q6Ik0yMCAydjIwIn1dXX0pO3ZhciBYNyxVNWU9YygoKT0+e1g3PVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxNCIseDoiNCIseToiNSIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTAiLHg6IjE0Iix5OiI3IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNCAydjIwIn1dLFsicGF0aCIse2Q6Ik0xNCAydjIwIn1dXX0pO3ZhciBLNyxXNWU9YygoKT0+e0s3PVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxNCIseDoiMiIseToiNSIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTAiLHg6IjE2Iix5OiI3IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyMCJ9XV19KTt2YXIgUTcsRzVlPWMoKCk9PntRNz1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjUiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjEwIix4OiIxMiIseToiNyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIyIDJ2MjAifV1dfSk7dmFyIEo3LFk1ZT1jKCgpPT57Sjc9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjE0Iix4OiI2Iix5OiI1IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxMCIseDoiMTYiLHk6IjciLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDJ2MjAifV1dfSk7dmFyIGVoLFo1ZT1jKCgpPT57ZWg9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjEwIix4OiI5Iix5OiI3IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNCAyMlYyIn1dLFsicGF0aCIse2Q6Ik0yMCAyMlYyIn1dXX0pO3ZhciB0aCxYNWU9YygoKT0+e3RoPVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxNCIseDoiMyIseToiNSIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTAiLHg6IjE1Iix5OiI3IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAydjIwIn1dLFsicGF0aCIse2Q6Ik0yMSAydjIwIn1dXX0pO3ZhciBhaCxLNWU9YygoKT0+e2FoPVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxNiIseDoiNCIseToiNiIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiOSIseDoiMTQiLHk6IjYiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yMiAySDIifV1dfSk7dmFyIHJoLFE1ZT1jKCgpPT57cmg9W1sicmVjdCIse3dpZHRoOiI5IixoZWlnaHQ6IjYiLHg6IjYiLHk6IjE0IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiNiIseDoiNiIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMnYyMCJ9XV19KTt2YXIgaWgsSjVlPWMoKCk9PntpaD1bWyJwYXRoIix7ZDoiTTIyIDE3aC0zIn1dLFsicGF0aCIse2Q6Ik0yMiA3aC01In1dLFsicGF0aCIse2Q6Ik01IDE3SDIifV0sWyJwYXRoIix7ZDoiTTcgN0gyIn1dLFsicmVjdCIse3g6IjUiLHk6IjE0Iix3aWR0aDoiMTQiLGhlaWdodDoiNiIscng6IjIifV0sWyJyZWN0Iix7eDoiNyIseToiNCIsd2lkdGg6IjEwIixoZWlnaHQ6IjYiLHJ4OiIyIn1dXX0pO3ZhciBzaCxlOGU9YygoKT0+e3NoPVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiNiIseDoiNSIseToiMTQiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiI2Iix4OiI3Iix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMiAyMGgyMCJ9XSxbInBhdGgiLHtkOiJNMiAxMGgyMCJ9XV19KTt2YXIgb2gsdDhlPWMoKCk9PntvaD1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjYiLHg6IjUiLHk6IjE0IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiNiIseDoiNyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMTRoMjAifV0sWyJwYXRoIix7ZDoiTTIgNGgyMCJ9XV19KTt2YXIgbmgsYThlPWMoKCk9PntuaD1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjYiLHg6IjUiLHk6IjE2IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiNiIseDoiNyIseToiMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMTJoMjAifV1dfSk7dmFyIGxoLHI4ZT1jKCgpPT57bGg9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiI2Iix4OiI1Iix5OiIxMiIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjYiLHg6IjciLHk6IjIiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDIyaDIwIn1dXX0pO3ZhciBjaCxpOGU9YygoKT0+e2NoPVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiNiIseDoiNSIseToiMTYiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiI2Iix4OiI3Iix5OiI2IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMiAyaDIwIn1dXX0pO3ZhciBkaCxzOGU9YygoKT0+e2RoPVtbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiNiIseDoiNyIseToiOSIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIyIDIwSDIifV0sWyJwYXRoIix7ZDoiTTIyIDRIMiJ9XV19KTt2YXIgcGgsbzhlPWMoKCk9PntwaD1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjYiLHg6IjUiLHk6IjE1IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiNiIseDoiNyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMjFoMjAifV0sWyJwYXRoIix7ZDoiTTIgM2gyMCJ9XV19KTt2YXIgdWgsbjhlPWMoKCk9Pnt1aD1bWyJwYXRoIix7ZDoiTTE2IDEyaDMifV0sWyJwYXRoIix7ZDoiTTE3LjUgMTJhOCA4IDAgMCAxLTggOEE0LjUgNC41IDAgMCAxIDUgMTUuNWMwLTYgOC00IDgtOC41YTMgMyAwIDEgMC02IDBjMCAzIDIuNSA4LjUgMTIgMTMifV1dfSk7dmFyIGZoLGw4ZT1jKCgpPT57Zmg9W1sicGF0aCIse2Q6Ik0xMCAxMEg2In1dLFsicGF0aCIse2Q6Ik0xNCAxOFY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjExYTEgMSAwIDAgMCAxIDFoMiJ9XSxbInBhdGgiLHtkOiJNMTkgMThoMmExIDEgMCAwIDAgMS0xdi0zLjI4YTEgMSAwIDAgMC0uNjg0LS45NDhsLTEuOTIzLS42NDFhMSAxIDAgMCAxLS41NzgtLjUwMmwtMS41MzktMy4wNzZBMSAxIDAgMCAwIDE2LjM4MiA4SDE0In1dLFsicGF0aCIse2Q6Ik04IDh2NCJ9XSxbInBhdGgiLHtkOiJNOSAxOGg2In1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTgiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjE4IixyOiIyIn1dXX0pO3ZhciBoaCxjOGU9YygoKT0+e2hoPVtbInBhdGgiLHtkOiJNMTAgMTdjLTUtMy03LTctNy05YTIgMiAwIDAgMSA0IDBjMCAyLjUtNSAyLjUtNSA2IDAgMS43IDEuMyAzIDMgMyAyLjggMCA1LTIuMiA1LTUifV0sWyJwYXRoIix7ZDoiTTIyIDE3Yy01LTMtNy03LTctOWEyIDIgMCAwIDEgNCAwYzAgMi41LTUgMi41LTUgNiAwIDEuNyAxLjMgMyAzIDMgMi44IDAgNS0yLjIgNS01In1dXX0pO3ZhciBtaCxkOGU9YygoKT0+e21oPVtbInBhdGgiLHtkOiJNMTAgMnY1LjYzMmMwIC40MjQtLjI3Mi43OTUtLjY1My45ODJBNiA2IDAgMCAwIDYgMTRjLjAwNiA0IDMgNyA1IDgifV0sWyJwYXRoIix7ZDoiTTEwIDVIOGEyIDIgMCAwIDAgMCA0aC42OCJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1LjYzMmMwIC40MjQuMjcyLjc5NS42NTIuOTgyQTYgNiAwIDAgMSAxOCAxNGMwIDQtMyA3LTUgOCJ9XSxbInBhdGgiLHtkOiJNMTQgNWgyYTIgMiAwIDAgMSAwIDRoLS42OCJ9XSxbInBhdGgiLHtkOiJNMTggMjJINiJ9XSxbInBhdGgiLHtkOiJNOSAyaDYifV1dfSk7dmFyIGdoLHA4ZT1jKCgpPT57Z2g9W1sicGF0aCIse2Q6Ik0xMiA2djE2In1dLFsicGF0aCIse2Q6Im0xOSAxMyAyLTFhOSA5IDAgMCAxLTE4IDBsMiAxIn1dLFsicGF0aCIse2Q6Ik05IDExaDYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI0IixyOiIyIn1dXX0pO3ZhciBiaCx1OGU9YygoKT0+e2JoPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTYgMTZzLTEuNS0yLTQtMi00IDItNCAyIn1dLFsicGF0aCIse2Q6Ik03LjUgOCAxMCA5In1dLFsicGF0aCIse2Q6Im0xNCA5IDIuNS0xIn1dLFsicGF0aCIse2Q6Ik05IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTUgMTBoLjAxIn1dXX0pO3ZhciB2aCxmOGU9YygoKT0+e3ZoPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNOCAxNWg4In1dLFsicGF0aCIse2Q6Ik04IDloMiJ9XSxbInBhdGgiLHtkOiJNMTQgOWgyIn1dXX0pO3ZhciB4aCxoOGU9YygoKT0+e3hoPVtbInBhdGgiLHtkOiJNMiAxMiA3IDIifV0sWyJwYXRoIix7ZDoibTcgMTIgNS0xMCJ9XSxbInBhdGgiLHtkOiJtMTIgMTIgNS0xMCJ9XSxbInBhdGgiLHtkOiJtMTcgMTIgNS0xMCJ9XSxbInBhdGgiLHtkOiJNNC41IDdoMTUifV0sWyJwYXRoIix7ZDoiTTEyIDE2djYifV1dfSk7dmFyIHloLG04ZT1jKCgpPT57eWg9W1sicGF0aCIse2Q6Ik03IDEwSDZhNCA0IDAgMCAxLTQtNCAxIDEgMCAwIDEgMS0xaDQifV0sWyJwYXRoIix7ZDoiTTcgNWExIDEgMCAwIDEgMS0xaDEzYTEgMSAwIDAgMSAxIDEgNyA3IDAgMCAxLTcgN0g4YTEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik05IDEydjUifV0sWyJwYXRoIix7ZDoiTTE1IDEydjUifV0sWyJwYXRoIix7ZDoiTTUgMjBhMyAzIDAgMCAxIDMtM2g4YTMgMyAwIDAgMSAzIDMgMSAxIDAgMCAxLTEgMUg2YTEgMSAwIDAgMS0xLTEifV1dfSk7dmFyIHdoLGc4ZT1jKCgpPT57d2g9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im0xNC4zMSA4IDUuNzQgOS45NCJ9XSxbInBhdGgiLHtkOiJNOS42OSA4aDExLjQ4In1dLFsicGF0aCIse2Q6Im03LjM4IDEyIDUuNzQtOS45NCJ9XSxbInBhdGgiLHtkOiJNOS42OSAxNiAzLjk1IDYuMDYifV0sWyJwYXRoIix7ZDoiTTE0LjMxIDE2SDIuODMifV0sWyJwYXRoIix7ZDoibTE2LjYyIDEyLTUuNzQgOS45NCJ9XV19KTt2YXIgTWgsYjhlPWMoKCk9PntNaD1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE2Iix4OiIyIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNiA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgOGguMDEifV0sWyJwYXRoIix7ZDoiTTE0IDhoLjAxIn1dXX0pO3ZhciBraCx2OGU9YygoKT0+e2toPVtbInJlY3QiLHt4OiIyIix5OiI0Iix3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMCA0djQifV0sWyJwYXRoIix7ZDoiTTIgOGgyMCJ9XSxbInBhdGgiLHtkOiJNNiA0djQifV1dfSk7dmFyIHpoLHg4ZT1jKCgpPT57emg9W1sicGF0aCIse2Q6Ik0xMiA2LjUyOFYzYTEgMSAwIDAgMSAxLTFoMCJ9XSxbInBhdGgiLHtkOiJNMTguMjM3IDIxQTE1IDE1IDAgMCAwIDIyIDExYTYgNiAwIDAgMC0xMC00LjQ3MkE2IDYgMCAwIDAgMiAxMWExNS4xIDE1LjEgMCAwIDAgMy43NjMgMTAgMyAzIDAgMCAwIDMuNjQ4LjY0OCA1LjUgNS41IDAgMCAxIDUuMTc4IDBBMyAzIDAgMCAwIDE4LjIzNyAyMSJ9XV19KTt2YXIgU2gseThlPWMoKCk9PntTaD1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjUiLHg6IjIiLHk6IjMiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik00IDh2MTFhMiAyIDAgMCAwIDIgMmgyIn1dLFsicGF0aCIse2Q6Ik0yMCA4djExYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoibTkgMTUgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTIgMTJ2OSJ9XV19KTt2YXIgQ2gsdzhlPWMoKCk9PntDaD1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjUiLHg6IjIiLHk6IjMiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik00IDh2MTFhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjgifV0sWyJwYXRoIix7ZDoibTkuNSAxNyA1LTUifV0sWyJwYXRoIix7ZDoibTkuNSAxMiA1IDUifV1dfSk7dmFyIF9oLE04ZT1jKCgpPT57X2g9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI1Iix4OiIyIix5OiIzIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNNCA4djExYTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4In1dLFsicGF0aCIse2Q6Ik0xMCAxMmg0In1dXX0pO3ZhciBUaCxrOGU9YygoKT0+e1RoPVtbInBhdGgiLHtkOiJNMTkgOVY2YTIgMiAwIDAgMC0yLTJIN2EyIDIgMCAwIDAtMiAydjMifV0sWyJwYXRoIix7ZDoiTTMgMTZhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi01YTIgMiAwIDAgMC00IDB2MS41YS41LjUgMCAwIDEtLjUuNWgtOWEuNS41IDAgMCAxLS41LS41VjExYTIgMiAwIDAgMC00IDB6In1dLFsicGF0aCIse2Q6Ik01IDE4djIifV0sWyJwYXRoIix7ZDoiTTE5IDE4djIifV1dfSk7dmFyIExoLHo4ZT1jKCgpPT57TGg9W1sicGF0aCIse2Q6Ik0xNSAxMWExIDEgMCAwIDAgMSAxaDIuOTM5YTEgMSAwIDAgMSAuNzUgMS44MTFsLTYuODM1IDYuODM2YTEuMjA3IDEuMjA3IDAgMCAxLTEuNzA3IDBMNC4zMSAxMy44MWExIDEgMCAwIDEgLjc1LTEuODExSDhhMSAxIDAgMCAwIDEtMVY5YTEgMSAwIDAgMSAxLTFoNGExIDEgMCAwIDEgMSAxeiJ9XSxbInBhdGgiLHtkOiJNOSA0aDYifV1dfSk7dmFyICRoLFM4ZT1jKCgpPT57JGg9W1sicGF0aCIse2Q6Ik0xNSAxMWExIDEgMCAwIDAgMSAxaDIuOTM5YTEgMSAwIDAgMSAuNzUgMS44MTFsLTYuODM1IDYuODM2YTEuMjA3IDEuMjA3IDAgMCAxLTEuNzA3IDBMNC4zMSAxMy44MWExIDEgMCAwIDEgLjc1LTEuODExSDhhMSAxIDAgMCAwIDEtMVY1YTEgMSAwIDAgMSAxLTFoNGExIDEgMCAwIDEgMSAxeiJ9XV19KTt2YXIgRGgsQzhlPWMoKCk9PntEaD1bWyJwYXRoIix7ZDoiTTEzIDlhMSAxIDAgMCAxLTEtMVY1LjA2MWExIDEgMCAwIDAtMS44MTEtLjc1bC02LjgzNSA2LjgzNmExLjIwNyAxLjIwNyAwIDAgMCAwIDEuNzA3bDYuODM1IDYuODM1YTEgMSAwIDAgMCAxLjgxMS0uNzVWMTZhMSAxIDAgMCAxIDEtMWgyYTEgMSAwIDAgMCAxLTF2LTRhMSAxIDAgMCAwLTEtMXoifV0sWyJwYXRoIix7ZDoiTTIwIDl2NiJ9XV19KTt2YXIgQWgsXzhlPWMoKCk9PntBaD1bWyJwYXRoIix7ZDoiTTEzIDlhMSAxIDAgMCAxLTEtMVY1LjA2MWExIDEgMCAwIDAtMS44MTEtLjc1bC02LjgzNSA2LjgzNmExLjIwNyAxLjIwNyAwIDAgMCAwIDEuNzA3bDYuODM1IDYuODM1YTEgMSAwIDAgMCAxLjgxMS0uNzVWMTZhMSAxIDAgMCAxIDEtMWg2YTEgMSAwIDAgMCAxLTF2LTRhMSAxIDAgMCAwLTEtMXoifV1dfSk7dmFyIFBoLFQ4ZT1jKCgpPT57UGg9W1sicGF0aCIse2Q6Ik0xMSA5YTEgMSAwIDAgMCAxLTFWNS4wNjFhMSAxIDAgMCAxIDEuODExLS43NWw2LjgzNiA2LjgzNmExLjIwNyAxLjIwNyAwIDAgMSAwIDEuNzA3bC02LjgzNiA2LjgzNWExIDEgMCAwIDEtMS44MTEtLjc1VjE2YTEgMSAwIDAgMC0xLTFIOWExIDEgMCAwIDEtMS0xdi00YTEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik00IDl2NiJ9XV19KTt2YXIgRWgsTDhlPWMoKCk9PntFaD1bWyJwYXRoIix7ZDoiTTExIDlhMSAxIDAgMCAwIDEtMVY1LjA2MWExIDEgMCAwIDEgMS44MTEtLjc1bDYuODM2IDYuODM2YTEuMjA3IDEuMjA3IDAgMCAxIDAgMS43MDdsLTYuODM2IDYuODM1YTEgMSAwIDAgMS0xLjgxMS0uNzVWMTZhMSAxIDAgMCAwLTEtMUg1YTEgMSAwIDAgMS0xLTF2LTRhMSAxIDAgMCAxIDEtMXoifV1dfSk7dmFyIEloLCQ4ZT1jKCgpPT57SWg9W1sicGF0aCIse2Q6Ik05IDEzYTEgMSAwIDAgMC0xLTFINS4wNjFhMSAxIDAgMCAxLS43NS0xLjgxMWw2LjgzNi02LjgzNWExLjIwNyAxLjIwNyAwIDAgMSAxLjcwNyAwbDYuODM1IDYuODM1YTEgMSAwIDAgMS0uNzUgMS44MTFIMTZhMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMS0xIDFoLTRhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTkgMjBoNiJ9XV19KTt2YXIgTmgsRDhlPWMoKCk9PntOaD1bWyJwYXRoIix7ZDoibTMgMTYgNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNNyAyMFY0In1dLFsicmVjdCIse3g6IjE1Iix5OiI0Iix3aWR0aDoiNCIsaGVpZ2h0OiI2IixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTcgMjB2LTZoLTIifV0sWyJwYXRoIix7ZDoiTTE1IDIwaDQifV1dfSk7dmFyIFJoLEE4ZT1jKCgpPT57Umg9W1sicGF0aCIse2Q6Ik05IDEzYTEgMSAwIDAgMC0xLTFINS4wNjFhMSAxIDAgMCAxLS43NS0xLjgxMWw2LjgzNi02LjgzNWExLjIwNyAxLjIwNyAwIDAgMSAxLjcwNyAwbDYuODM1IDYuODM1YTEgMSAwIDAgMS0uNzUgMS44MTFIMTZhMSAxIDAgMCAwLTEgMXY2YTEgMSAwIDAgMS0xIDFoLTRhMSAxIDAgMCAxLTEtMXoifV1dfSk7dmFyIEZoLFA4ZT1jKCgpPT57Rmg9W1sicGF0aCIse2Q6Im0zIDE2IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTcgMjBWNCJ9XSxbInBhdGgiLHtkOiJNMTcgMTBWNGgtMiJ9XSxbInBhdGgiLHtkOiJNMTUgMTBoNCJ9XSxbInJlY3QiLHt4OiIxNSIseToiMTQiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ5OiIyIn1dXX0pO3ZhciBHMCxFOGU9YygoKT0+e0cwPVtbInBhdGgiLHtkOiJtMyAxNiA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik03IDIwVjQifV0sWyJwYXRoIix7ZDoiTTIwIDhoLTUifV0sWyJwYXRoIix7ZDoiTTE1IDEwVjYuNWEyLjUgMi41IDAgMCAxIDUgMFYxMCJ9XSxbInBhdGgiLHtkOiJNMTUgMTRoNWwtNSA2aDUifV1dfSk7dmFyIE9oLEk4ZT1jKCgpPT57T2g9W1sicGF0aCIse2Q6Ik0xOSAzSDUifV0sWyJwYXRoIix7ZDoiTTEyIDIxVjcifV0sWyJwYXRoIix7ZDoibTYgMTUgNiA2IDYtNiJ9XV19KTt2YXIgQmgsTjhlPWMoKCk9PntCaD1bWyJwYXRoIix7ZDoiTTE3IDcgNyAxNyJ9XSxbInBhdGgiLHtkOiJNMTcgMTdIN1Y3In1dXX0pO3ZhciBIaCxSOGU9YygoKT0+e0hoPVtbInBhdGgiLHtkOiJtMyAxNiA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik03IDIwVjQifV0sWyJwYXRoIix7ZDoiTTExIDRoNCJ9XSxbInBhdGgiLHtkOiJNMTEgOGg3In1dLFsicGF0aCIse2Q6Ik0xMSAxMmgxMCJ9XV19KTt2YXIgcWgsRjhlPWMoKCk9PntxaD1bWyJwYXRoIix7ZDoibTcgNyAxMCAxMCJ9XSxbInBhdGgiLHtkOiJNMTcgN3YxMEg3In1dXX0pO3ZhciBWaCxPOGU9YygoKT0+e1ZoPVtbInBhdGgiLHtkOiJNMTIgMnYxNCJ9XSxbInBhdGgiLHtkOiJtMTkgOS03IDctNy03In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMjEiLHI6IjEifV1dfSk7dmFyIGpoLEI4ZT1jKCgpPT57amg9W1sicGF0aCIse2Q6Ik0xMiAxN1YzIn1dLFsicGF0aCIse2Q6Im02IDExIDYgNiA2LTYifV0sWyJwYXRoIix7ZDoiTTE5IDIxSDUifV1dfSk7dmFyIFVoLEg4ZT1jKCgpPT57VWg9W1sicGF0aCIse2Q6Im0zIDE2IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTcgMjBWNCJ9XSxbInBhdGgiLHtkOiJtMjEgOC00LTQtNCA0In1dLFsicGF0aCIse2Q6Ik0xNyA0djE2In1dXX0pO3ZhciBZMCxxOGU9YygoKT0+e1kwPVtbInBhdGgiLHtkOiJtMyAxNiA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik03IDIwVjQifV0sWyJwYXRoIix7ZDoiTTExIDRoMTAifV0sWyJwYXRoIix7ZDoiTTExIDhoNyJ9XSxbInBhdGgiLHtkOiJNMTEgMTJoNCJ9XV19KTt2YXIgWjAsVjhlPWMoKCk9PntaMD1bWyJwYXRoIix7ZDoibTMgMTYgNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNNyA0djE2In1dLFsicGF0aCIse2Q6Ik0xNSA0aDVsLTUgNmg1In1dLFsicGF0aCIse2Q6Ik0xNSAyMHYtMy41YTIuNSAyLjUgMCAwIDEgNSAwVjIwIn1dLFsicGF0aCIse2Q6Ik0yMCAxOGgtNSJ9XV19KTt2YXIgV2gsajhlPWMoKCk9PntXaD1bWyJwYXRoIix7ZDoiTTEyIDV2MTQifV0sWyJwYXRoIix7ZDoibTE5IDEyLTcgNy03LTcifV1dfSk7dmFyIEdoLFU4ZT1jKCgpPT57R2g9W1sicGF0aCIse2Q6Im05IDYtNiA2IDYgNiJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxNCJ9XSxbInBhdGgiLHtkOiJNMjEgMTlWNSJ9XV19KTt2YXIgWWgsVzhlPWMoKCk9PntZaD1bWyJwYXRoIix7ZDoiTTggMyA0IDdsNCA0In1dLFsicGF0aCIse2Q6Ik00IDdoMTYifV0sWyJwYXRoIix7ZDoibTE2IDIxIDQtNC00LTQifV0sWyJwYXRoIix7ZDoiTTIwIDE3SDQifV1dfSk7dmFyIFpoLEc4ZT1jKCgpPT57Wmg9W1sicGF0aCIse2Q6Ik0zIDE5VjUifV0sWyJwYXRoIix7ZDoibTEzIDYtNiA2IDYgNiJ9XSxbInBhdGgiLHtkOiJNNyAxMmgxNCJ9XV19KTt2YXIgWGgsWThlPWMoKCk9PntYaD1bWyJwYXRoIix7ZDoibTEyIDE5LTctNyA3LTcifV0sWyJwYXRoIix7ZDoiTTE5IDEySDUifV1dfSk7dmFyIEtoLFo4ZT1jKCgpPT57S2g9W1sicGF0aCIse2Q6Ik0zIDV2MTQifV0sWyJwYXRoIix7ZDoiTTIxIDEySDcifV0sWyJwYXRoIix7ZDoibTE1IDE4IDYtNi02LTYifV1dfSk7dmFyIFFoLFg4ZT1jKCgpPT57UWg9W1sicGF0aCIse2Q6Im0xNiAzIDQgNC00IDQifV0sWyJwYXRoIix7ZDoiTTIwIDdINCJ9XSxbInBhdGgiLHtkOiJtOCAyMS00LTQgNC00In1dLFsicGF0aCIse2Q6Ik00IDE3aDE2In1dXX0pO3ZhciBKaCxLOGU9YygoKT0+e0poPVtbInBhdGgiLHtkOiJNMTcgMTJIMyJ9XSxbInBhdGgiLHtkOiJtMTEgMTggNi02LTYtNiJ9XSxbInBhdGgiLHtkOiJNMjEgNXYxNCJ9XV19KTt2YXIgZW0sUThlPWMoKCk9PntlbT1bWyJwYXRoIix7ZDoiTTUgMTJoMTQifV0sWyJwYXRoIix7ZDoibTEyIDUgNyA3LTcgNyJ9XV19KTt2YXIgdG0sSjhlPWMoKCk9Pnt0bT1bWyJwYXRoIix7ZDoibTMgOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV0sWyJyZWN0Iix7eDoiMTUiLHk6IjQiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xNyAyMHYtNmgtMiJ9XSxbInBhdGgiLHtkOiJNMTUgMjBoNCJ9XV19KTt2YXIgYW0sZXBlPWMoKCk9PnthbT1bWyJwYXRoIix7ZDoibTMgOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE3IDEwVjRoLTIifV0sWyJwYXRoIix7ZDoiTTE1IDEwaDQifV0sWyJyZWN0Iix7eDoiMTUiLHk6IjE0Iix3aWR0aDoiNCIsaGVpZ2h0OiI2IixyeToiMiJ9XV19KTt2YXIgWDAsdHBlPWMoKCk9PntYMD1bWyJwYXRoIix7ZDoibTMgOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV0sWyJwYXRoIix7ZDoiTTIwIDhoLTUifV0sWyJwYXRoIix7ZDoiTTE1IDEwVjYuNWEyLjUgMi41IDAgMCAxIDUgMFYxMCJ9XSxbInBhdGgiLHtkOiJNMTUgMTRoNWwtNSA2aDUifV1dfSk7dmFyIHJtLGFwZT1jKCgpPT57cm09W1sicGF0aCIse2Q6Im0yMSAxNi00IDQtNC00In1dLFsicGF0aCIse2Q6Ik0xNyAyMFY0In1dLFsicGF0aCIse2Q6Im0zIDggNC00IDQgNCJ9XSxbInBhdGgiLHtkOiJNNyA0djE2In1dXX0pO3ZhciBpbSxycGU9YygoKT0+e2ltPVtbInBhdGgiLHtkOiJtNSA5IDctNyA3IDcifV0sWyJwYXRoIix7ZDoiTTEyIDE2VjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIyMSIscjoiMSJ9XV19KTt2YXIgc20saXBlPWMoKCk9PntzbT1bWyJwYXRoIix7ZDoibTE4IDktNi02LTYgNiJ9XSxbInBhdGgiLHtkOiJNMTIgM3YxNCJ9XSxbInBhdGgiLHtkOiJNNSAyMWgxNCJ9XV19KTt2YXIgb20sc3BlPWMoKCk9PntvbT1bWyJwYXRoIix7ZDoiTTcgMTdWN2gxMCJ9XSxbInBhdGgiLHtkOiJNMTcgMTcgNyA3In1dXX0pO3ZhciBLMCxvcGU9YygoKT0+e0swPVtbInBhdGgiLHtkOiJtMyA4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTcgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTEgMTJoNCJ9XSxbInBhdGgiLHtkOiJNMTEgMTZoNyJ9XSxbInBhdGgiLHtkOiJNMTEgMjBoMTAifV1dfSk7dmFyIG5tLG5wZT1jKCgpPT57bm09W1sicGF0aCIse2Q6Ik03IDdoMTB2MTAifV0sWyJwYXRoIix7ZDoiTTcgMTcgMTcgNyJ9XV19KTt2YXIgbG0sbHBlPWMoKCk9PntsbT1bWyJwYXRoIix7ZDoiTTUgM2gxNCJ9XSxbInBhdGgiLHtkOiJtMTggMTMtNi02LTYgNiJ9XSxbInBhdGgiLHtkOiJNMTIgN3YxNCJ9XV19KTt2YXIgY20sY3BlPWMoKCk9PntjbT1bWyJwYXRoIix7ZDoibTMgOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV0sWyJwYXRoIix7ZDoiTTExIDEyaDEwIn1dLFsicGF0aCIse2Q6Ik0xMSAxNmg3In1dLFsicGF0aCIse2Q6Ik0xMSAyMGg0In1dXX0pO3ZhciBRMCxkcGU9YygoKT0+e1EwPVtbInBhdGgiLHtkOiJtMyA4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTcgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTUgNGg1bC01IDZoNSJ9XSxbInBhdGgiLHtkOiJNMTUgMjB2LTMuNWEyLjUgMi41IDAgMCAxIDUgMFYyMCJ9XSxbInBhdGgiLHtkOiJNMjAgMThoLTUifV1dfSk7dmFyIGRtLHBwZT1jKCgpPT57ZG09W1sicGF0aCIse2Q6Im01IDEyIDctNyA3IDcifV0sWyJwYXRoIix7ZDoiTTEyIDE5VjUifV1dfSk7dmFyIHBtLHVwZT1jKCgpPT57cG09W1sicGF0aCIse2Q6Im00IDYgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJNNyAxN1YzIn1dLFsicGF0aCIse2Q6Im0xNCA2IDMtMyAzIDMifV0sWyJwYXRoIix7ZDoiTTE3IDE3VjMifV0sWyJwYXRoIix7ZDoiTTQgMjFoMTYifV1dfSk7dmFyIHVtLGZwZT1jKCgpPT57dW09W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTE2IDh2NWEzIDMgMCAwIDAgNiAwdi0xYTEwIDEwIDAgMSAwLTQgOCJ9XV19KTt2YXIgZm0saHBlPWMoKCk9PntmbT1bWyJwYXRoIix7ZDoiTTEyIDZ2MTIifV0sWyJwYXRoIix7ZDoiTTE3LjE5NiA5IDYuODA0IDE1In1dLFsicGF0aCIse2Q6Im02LjgwNCA5IDEwLjM5MiA2In1dXX0pO3ZhciBobSxtcGU9YygoKT0+e2htPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dLFsicGF0aCIse2Q6Ik0yMC4yIDIwLjJjMi4wNC0yLjAzLjAyLTcuMzYtNC41LTExLjktNC41NC00LjUyLTkuODctNi41NC0xMS45LTQuNS0yLjA0IDIuMDMtLjAyIDcuMzYgNC41IDExLjkgNC41NCA0LjUyIDkuODcgNi41NCAxMS45IDQuNVoifV0sWyJwYXRoIix7ZDoiTTE1LjcgMTUuN2M0LjUyLTQuNTQgNi41NC05Ljg3IDQuNS0xMS45LTIuMDMtMi4wNC03LjM2LS4wMi0xMS45IDQuNS00LjUyIDQuNTQtNi41NCA5Ljg3LTQuNSAxMS45IDIuMDMgMi4wNCA3LjM2LjAyIDExLjktNC41WiJ9XV19KTt2YXIgbW0sZ3BlPWMoKCk9PnttbT1bWyJwYXRoIix7ZDoiTTIgMTB2MyJ9XSxbInBhdGgiLHtkOiJNNiA2djExIn1dLFsicGF0aCIse2Q6Ik0xMCAzdjE4In1dLFsicGF0aCIse2Q6Ik0xNCA4djcifV0sWyJwYXRoIix7ZDoiTTE4IDV2MTMifV0sWyJwYXRoIix7ZDoiTTIyIDEwdjMifV1dfSk7dmFyIGdtLGJwZT1jKCgpPT57Z209W1sicGF0aCIse2Q6Ik0yIDEzYTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDEgNCAwdjEzYTIgMiAwIDAgMCA0IDBWNGEyIDIgMCAwIDEgNCAwdjEzYTIgMiAwIDAgMCA0IDB2LTRhMiAyIDAgMCAxIDItMiJ9XV19KTt2YXIgYm0sdnBlPWMoKCk9PntibT1bWyJwYXRoIix7ZDoibTE1LjQ3NyAxMi44OSAxLjUxNSA4LjUyNmEuNS41IDAgMCAxLS44MS40N2wtMy41OC0yLjY4N2ExIDEgMCAwIDAtMS4xOTcgMGwtMy41ODYgMi42ODZhLjUuNSAwIDAgMS0uODEtLjQ2OWwxLjUxNC04LjUyNiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjgiLHI6IjYifV1dfSk7dmFyIHZtLHhwZT1jKCgpPT57dm09W1sicGF0aCIse2Q6Im0xNCAxMi04LjM4MSA4LjM4YTEgMSAwIDAgMS0zLjAwMS0zTDExIDkifV0sWyJwYXRoIix7ZDoiTTE1IDE1LjVhLjUuNSAwIDAgMCAuNS41QTYuNSA2LjUgMCAwIDAgMjIgOS41YS41LjUgMCAwIDAtLjUtLjVoLTEuNjcyYTIgMiAwIDAgMS0xLjQxNC0uNTg2bC01LjA2Mi01LjA2MmExLjIwNSAxLjIwNSAwIDAgMC0xLjcwNCAwTDkuMzUyIDUuNjQ4YTEuMjA1IDEuMjA1IDAgMCAwIDAgMS43MDRsNS4wNjIgNS4wNjJBMiAyIDAgMCAxIDE1IDEzLjgyOHoifV1dfSk7dmFyIEowLHlwZT1jKCgpPT57SjA9W1sicGF0aCIse2Q6Ik0xMy41IDEwLjUgMTUgOSJ9XSxbInBhdGgiLHtkOiJNNCA0djE1YTEgMSAwIDAgMCAxIDFoMTUifV0sWyJwYXRoIix7ZDoiTTQuMjkzIDE5LjcwNyA2IDE4In1dLFsicGF0aCIse2Q6Im05IDE1IDEuNS0xLjUifV1dfSk7dmFyIHhtLHdwZT1jKCgpPT57eG09W1sicGF0aCIse2Q6Ik0xMCAxNmMuNS4zIDEuMi41IDIgLjVzMS41LS4yIDItLjUifV0sWyJwYXRoIix7ZDoiTTE1IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTkuMzggNi44MTNBOSA5IDAgMCAxIDIwLjggMTAuMmEyIDIgMCAwIDEgMCAzLjYgOSA5IDAgMCAxLTE3LjYgMCAyIDIgMCAwIDEgMC0zLjZBOSA5IDAgMCAxIDEyIDNjMiAwIDMuNSAxLjEgMy41IDIuNXMtLjkgMi41LTIgMi41Yy0uOCAwLTEuNS0uNC0xLjUtMSJ9XSxbInBhdGgiLHtkOiJNOSAxMmguMDEifV1dfSk7dmFyIHltLE1wZT1jKCgpPT57eW09W1sicGF0aCIse2Q6Ik00IDEwYTQgNCAwIDAgMSA0LTRoOGE0IDQgMCAwIDEgNCA0djEwYTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yeiJ9XSxbInBhdGgiLHtkOiJNOCAxMGg4In1dLFsicGF0aCIse2Q6Ik04IDE4aDgifV0sWyJwYXRoIix7ZDoiTTggMjJ2LTZhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2NiJ9XSxbInBhdGgiLHtkOiJNOSA2VjRhMiAyIDAgMCAxIDItMmgyYTIgMiAwIDAgMSAyIDJ2MiJ9XV19KTt2YXIgd20sa3BlPWMoKCk9Pnt3bT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiOCIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyLjAxIix5MToiMTYiLHkyOiIxNiJ9XV19KTt2YXIgTW0senBlPWMoKCk9PntNbT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Ik0xMiA3djEwIn1dLFsicGF0aCIse2Q6Ik0xNS40IDEwYTQgNCAwIDEgMCAwIDQifV1dfSk7dmFyIGVjLFNwZT1jKCgpPT57ZWM9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbInBhdGgiLHtkOiJtOSAxMiAyIDIgNC00In1dXX0pO3ZhciBrbSxDcGU9YygoKT0+e2ttPVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoiTTcgMTJoNSJ9XSxbInBhdGgiLHtkOiJNMTUgOS40YTQgNCAwIDEgMCAwIDUuMiJ9XV19KTt2YXIgem0sX3BlPWMoKCk9Pnt6bT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Ik0xNiA4aC02YTIgMiAwIDEgMCAwIDRoNGEyIDIgMCAxIDEgMCA0SDgifV0sWyJwYXRoIix7ZDoiTTEyIDE4VjYifV1dfSk7dmFyIFNtLFRwZT1jKCgpPT57U209W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbInBhdGgiLHtkOiJNOCA4aDgifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XSxbInBhdGgiLHtkOiJtMTMgMTctNS0xaDFhNCA0IDAgMCAwIDAtOCJ9XV19KTt2YXIgQ20sTHBlPWMoKCk9PntDbT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMTYiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMi4wMSIseTE6IjgiLHkyOiI4In1dXX0pO3ZhciBfbSwkcGU9YygoKT0+e19tPVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoibTkgOCAzIDN2NyJ9XSxbInBhdGgiLHtkOiJtMTIgMTEgMy0zIn1dLFsicGF0aCIse2Q6Ik05IDEyaDYifV0sWyJwYXRoIix7ZDoiTTkgMTZoNiJ9XV19KTt2YXIgVG0sRHBlPWMoKCk9PntUbT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsibGluZSIse3gxOiI4Iix4MjoiMTYiLHkxOiIxMiIseTI6IjEyIn1dXX0pO3ZhciBMbSxBcGU9YygoKT0+e0xtPVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Ik05IDloLjAxIn1dLFsicGF0aCIse2Q6Ik0xNSAxNWguMDEifV1dfSk7dmFyICRtLFBwZT1jKCgpPT57JG09W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg0In1dLFsicGF0aCIse2Q6Ik0xMCAxNlY5LjVhMi41IDIuNSAwIDAgMSA1IDAifV0sWyJwYXRoIix7ZDoiTTggMTZoNyJ9XV19KTt2YXIgRG0sRXBlPWMoKCk9PntEbT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiOCIseTI6IjE2In1dLFsibGluZSIse3gxOiI4Iix4MjoiMTYiLHkxOiIxMiIseTI6IjEyIn1dXX0pO3ZhciB0YyxJcGU9YygoKT0+e3RjPVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoiTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyLjAxIix5MToiMTciLHkyOiIxNyJ9XV19KTt2YXIgQW0sTnBlPWMoKCk9PntBbT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Ik05IDE2aDUifV0sWyJwYXRoIix7ZDoiTTkgMTJoNWEyIDIgMCAxIDAgMC00aC0zdjkifV1dfSk7dmFyIFBtLFJwZT1jKCgpPT57UG09W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbInBhdGgiLHtkOiJNMTEgMTdWOGg0In1dLFsicGF0aCIse2Q6Ik0xMSAxMmgzIn1dLFsicGF0aCIse2Q6Ik05IDE2aDQifV1dfSk7dmFyIEVtLEZwZT1jKCgpPT57RW09W1sicGF0aCIse2Q6Ik0xMSA3djEwYTUgNSAwIDAgMCA1LTUifV0sWyJwYXRoIix7ZDoibTE1IDgtNiAzIn1dLFsicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2In1dXX0pO3ZhciBJbSxPcGU9YygoKT0+e0ltPVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiOSIseTE6IjkiLHkyOiIxNSJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjE1Iix5MToiOSIseTI6IjE1In1dXX0pO3ZhciBObSxCcGU9YygoKT0+e05tPVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV1dfSk7dmFyIFJtLEhwZT1jKCgpPT57Um09W1sicGF0aCIse2Q6Ik0yMiAxOEg2YTIgMiAwIDAgMS0yLTJWN2EyIDIgMCAwIDAtMi0yIn1dLFsicGF0aCIse2Q6Ik0xNyAxNFY0YTIgMiAwIDAgMC0yLTJoLTFhMiAyIDAgMCAwLTIgMnYxMCJ9XSxbInJlY3QiLHt3aWR0aDoiMTMiLGhlaWdodDoiOCIseDoiOCIseToiNiIscng6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIyMCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiMjAiLHI6IjIifV1dfSk7dmFyIEZtLHFwZT1jKCgpPT57Rm09W1sicGF0aCIse2Q6Ik0xMiAxNnYxYTIgMiAwIDAgMCAyIDJoMWEyIDIgMCAwIDEgMiAydjEifV0sWyJwYXRoIix7ZDoiTTEyIDZhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMTggOGMwIDQtMy41IDgtNiA4cy02LTQtNi04YTYgNiAwIDAgMSAxMiAwIn1dXX0pO3ZhciBPbSxWcGU9YygoKT0+e09tPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNNC45MjkgNC45MjkgMTkuMDcgMTkuMDcxIn1dXX0pO3ZhciBCbSxqcGU9YygoKT0+e0JtPVtbInBhdGgiLHtkOiJNNCAxM2MzLjUtMiA4LTIgMTAgMmE1LjUgNS41IDAgMCAxIDggNSJ9XSxbInBhdGgiLHtkOiJNNS4xNSAxNy44OWM1LjUyLTEuNTIgOC42NS02Ljg5IDctMTJDMTEuNTUgNCAxMS41IDIgMTMgMmMzLjIyIDAgNSA1LjUgNSA4IDAgNi41LTQuMiAxMi0xMC40OSAxMkM1LjExIDIyIDIgMjIgMiAyMGMwLTEuNSAxLjE0LTEuNTUgMy4xNS0yLjExWiJ9XV19KTt2YXIgSG0sVXBlPWMoKCk9PntIbT1bWyJwYXRoIix7ZDoiTTEwIDEwLjAxaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMTQuMDFoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCAxMC4wMWguMDEifV0sWyJwYXRoIix7ZDoiTTE0IDE0LjAxaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggNnYxMiJ9XSxbInBhdGgiLHtkOiJNNiA2djEyIn1dLFsicmVjdCIse3g6IjIiLHk6IjYiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxMiIscng6IjIifV1dfSk7dmFyIHFtLFdwZT1jKCgpPT57cW09W1sicGF0aCIse2Q6Ik0xMiAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2NSJ9XSxbInBhdGgiLHtkOiJtMTYgMTkgMyAzIDMtMyJ9XSxbInBhdGgiLHtkOiJNMTggMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOSAxNnY2In1dLFsicGF0aCIse2Q6Ik02IDEyaC4wMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dXX0pO3ZhciBWbSxHcGU9YygoKT0+e1ZtPVtbInBhdGgiLHtkOiJNMTIgMThINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjUifV0sWyJwYXRoIix7ZDoiTTE4IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTkgMjJ2LTYifV0sWyJwYXRoIix7ZDoibTIyIDE5LTMtMy0zIDMifV0sWyJwYXRoIix7ZDoiTTYgMTJoLjAxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dfSk7dmFyIGptLFlwZT1jKCgpPT57am09W1sicGF0aCIse2Q6Ik0xMyAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2NSJ9XSxbInBhdGgiLHtkOiJtMTcgMTcgNSA1In1dLFsicGF0aCIse2Q6Ik0xOCAxMmguMDEifV0sWyJwYXRoIix7ZDoibTIyIDE3LTUgNSJ9XSxbInBhdGgiLHtkOiJNNiAxMmguMDEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XV19KTt2YXIgVW0sWnBlPWMoKCk9PntVbT1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjEyIix4OiIyIix5OiI2IixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dLFsicGF0aCIse2Q6Ik02IDEyaC4wMU0xOCAxMmguMDEifV1dfSk7dmFyIFdtLFhwZT1jKCgpPT57V209W1sicGF0aCIse2Q6Ik0zIDV2MTQifV0sWyJwYXRoIix7ZDoiTTggNXYxNCJ9XSxbInBhdGgiLHtkOiJNMTIgNXYxNCJ9XSxbInBhdGgiLHtkOiJNMTcgNXYxNCJ9XSxbInBhdGgiLHtkOiJNMjEgNXYxNCJ9XV19KTt2YXIgR20sS3BlPWMoKCk9PntHbT1bWyJwYXRoIix7ZDoiTTEwIDNhNDEgNDEgMCAwIDAgMCAxOCJ9XSxbInBhdGgiLHtkOiJNMTQgM2E0MSA0MSAwIDAgMSAwIDE4In1dLFsicGF0aCIse2Q6Ik0xNyAzYTIgMiAwIDAgMSAxLjY4LjkyIDE1LjI1IDE1LjI1IDAgMCAxIDAgMTYuMTZBMiAyIDAgMCAxIDE3IDIxSDdhMiAyIDAgMCAxLTEuNjgtLjkyIDE1LjI1IDE1LjI1IDAgMCAxIDAtMTYuMTZBMiAyIDAgMCAxIDcgM3oifV0sWyJwYXRoIix7ZDoiTTMuODQgMTdoMTYuMzIifV0sWyJwYXRoIix7ZDoiTTMuODQgN2gxNi4zMiJ9XV19KTt2YXIgWW0sUXBlPWMoKCk9PntZbT1bWyJwYXRoIix7ZDoiTTQgMjBoMTYifV0sWyJwYXRoIix7ZDoibTYgMTYgNi0xMiA2IDEyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV1dfSk7dmFyIFptLEpwZT1jKCgpPT57Wm09W1sicGF0aCIse2Q6Ik0xMCA0IDggNiJ9XSxbInBhdGgiLHtkOiJNMTcgMTl2MiJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyMCJ9XSxbInBhdGgiLHtkOiJNNyAxOXYyIn1dLFsicGF0aCIse2Q6Ik05IDUgNy42MjEgMy42MjFBMi4xMjEgMi4xMjEgMCAwIDAgNCA1djEyYTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtNSJ9XV19KTt2YXIgWG0sZXVlPWMoKCk9PntYbT1bWyJwYXRoIix7ZDoibTExIDctMyA1aDRsLTMgNSJ9XSxbInBhdGgiLHtkOiJNMTQuODU2IDZIMTZhMiAyIDAgMCAxIDIgMnY4YTIgMiAwIDAgMS0yIDJoLTIuOTM1In1dLFsicGF0aCIse2Q6Ik0yMiAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNNS4xNCAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDIuOTM2In1dXX0pO3ZhciBLbSx0dWU9YygoKT0+e0ttPVtbInBhdGgiLHtkOiJNMTAgMTB2NCJ9XSxbInBhdGgiLHtkOiJNMTQgMTB2NCJ9XSxbInBhdGgiLHtkOiJNMjIgMTR2LTQifV0sWyJwYXRoIix7ZDoiTTYgMTB2NCJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMTYiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciBRbSxhdWU9YygoKT0+e1FtPVtbInBhdGgiLHtkOiJNMjIgMTR2LTQifV0sWyJwYXRoIix7ZDoiTTYgMTR2LTQifV0sWyJyZWN0Iix7eDoiMiIseToiNiIsd2lkdGg6IjE2IixoZWlnaHQ6IjEyIixyeDoiMiJ9XV19KTt2YXIgSm0scnVlPWMoKCk9PntKbT1bWyJwYXRoIix7ZDoiTTEwIDE0di00In1dLFsicGF0aCIse2Q6Ik0yMiAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNNiAxNHYtNCJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMTYiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciBlOSxpdWU9YygoKT0+e2U5PVtbInBhdGgiLHtkOiJNMTAgOXY2In1dLFsicGF0aCIse2Q6Ik0xMi41NDMgNkgxNmEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMmgtMy42MDUifV0sWyJwYXRoIix7ZDoiTTIyIDE0di00In1dLFsicGF0aCIse2Q6Ik03IDEyaDYifV0sWyJwYXRoIix7ZDoiTTcuNjA2IDE4SDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoMy42MDYifV1dfSk7dmFyIHQ5LHN1ZT1jKCgpPT57dDk9W1sicGF0aCIse2Q6Ik0xMCAxN2guMDEifV0sWyJwYXRoIix7ZDoiTTEwIDd2NiJ9XSxbInBhdGgiLHtkOiJNMTQgNmgyYTIgMiAwIDAgMSAyIDJ2OGEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik0yMiAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNNiAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDIifV1dfSk7dmFyIGE5LG91ZT1jKCgpPT57YTk9W1sicGF0aCIse2Q6Ik0gMjIgMTQgTCAyMiAxMCJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMTYiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciByOSxudWU9YygoKT0+e3I5PVtbInBhdGgiLHtkOiJNNC41IDNoMTUifV0sWyJwYXRoIix7ZDoiTTYgM3YxNmEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMlYzIn1dLFsicGF0aCIse2Q6Ik02IDE0aDEyIn1dXX0pO3ZhciBpOSxsdWU9YygoKT0+e2k5PVtbInBhdGgiLHtkOiJNOSA5Yy0uNjQuNjQtMS41MjEuOTU0LTIuNDAyIDEuMTY1QTYgNiAwIDAgMCA4IDIyYTEzLjk2IDEzLjk2IDAgMCAwIDkuOS00LjEifV0sWyJwYXRoIix7ZDoiTTEwLjc1IDUuMDkzQTYgNiAwIDAgMSAyMiA4YzAgMi40MTEtLjYxIDQuNjgtMS42ODMgNi42NiJ9XSxbInBhdGgiLHtkOiJNNS4zNDEgMTAuNjJhNCA0IDAgMCAwIDYuNDg3IDEuMjA4TTEwLjYyIDUuMzQxYTQuMDE1IDQuMDE1IDAgMCAxIDIuMDM5IDIuMDQifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIgczksY3VlPWMoKCk9PntzOT1bWyJwYXRoIix7ZDoiTTEwLjE2NSA2LjU5OEM5Ljk1NCA3LjQ3OCA5LjY0IDguMzYgOSA5Yy0uNjQuNjQtMS41MjEuOTU0LTIuNDAyIDEuMTY1QTYgNiAwIDAgMCA4IDIyYzcuNzMyIDAgMTQtNi4yNjggMTQtMTRhNiA2IDAgMCAwLTExLjgzNS0xLjQwMloifV0sWyJwYXRoIix7ZDoiTTUuMzQxIDEwLjYyYTQgNCAwIDEgMCA1LjI3OS01LjI4In1dXX0pO3ZhciBvOSxkdWU9YygoKT0+e285PVtbInBhdGgiLHtkOiJNMiAyMHYtOGEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2OCJ9XSxbInBhdGgiLHtkOiJNNCAxMFY2YTIgMiAwIDAgMSAyLTJoMTJhMiAyIDAgMCAxIDIgMnY0In1dLFsicGF0aCIse2Q6Ik0xMiA0djYifV0sWyJwYXRoIix7ZDoiTTIgMThoMjAifV1dfSk7dmFyIG45LHB1ZT1jKCgpPT57bjk9W1sicGF0aCIse2Q6Ik0zIDIwdi04YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnY4In1dLFsicGF0aCIse2Q6Ik01IDEwVjZhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMThoMTgifV1dfSk7dmFyIGw5LHV1ZT1jKCgpPT57bDk9W1sicGF0aCIse2Q6Ik0yIDR2MTYifV0sWyJwYXRoIix7ZDoiTTIgOGgxOGEyIDIgMCAwIDEgMiAydjEwIn1dLFsicGF0aCIse2Q6Ik0yIDE3aDIwIn1dLFsicGF0aCIse2Q6Ik02IDh2OSJ9XV19KTt2YXIgYzksZnVlPWMoKCk9PntjOT1bWyJwYXRoIix7ZDoiTTE2LjQgMTMuN0E2LjUgNi41IDAgMSAwIDYuMjggNi42Yy0xLjEgMy4xMy0uNzggMy45LTMuMTggNi4wOEEzIDMgMCAwIDAgNSAxOGM0IDAgOC40LTEuOCAxMS40LTQuMyJ9XSxbInBhdGgiLHtkOiJtMTguNSA2IDIuMTkgNC41YTYuNDggNi40OCAwIDAgMS0yLjI5IDcuMkMxNS40IDIwLjIgMTEgMjIgNyAyMmEzIDMgMCAwIDEtMi42OC0xLjY2TDIuNCAxNi41In1dLFsiY2lyY2xlIix7Y3g6IjEyLjUiLGN5OiI4LjUiLHI6IjIuNSJ9XV19KTt2YXIgZDksaHVlPWMoKCk9PntkOT1bWyJwYXRoIix7ZDoiTTEzIDEzdjUifV0sWyJwYXRoIix7ZDoiTTE3IDExLjQ3VjgifV0sWyJwYXRoIix7ZDoiTTE3IDExaDFhMyAzIDAgMCAxIDIuNzQ1IDQuMjExIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTUgOHYxMmEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMnYtMyJ9XSxbInBhdGgiLHtkOiJNNy41MzYgNy41MzVDNi43NjYgNy42NDkgNi4xNTQgOCA1LjUgOGEyLjUgMi41IDAgMCAxLTEuNzY4LTQuMjY4In1dLFsicGF0aCIse2Q6Ik04LjcyNyAzLjIwNEM5LjMwNiAyLjc2NyA5Ljg4NSAyIDExIDJjMS41NiAwIDIgMS41IDMgMS41czEuNzItLjUgMi41LS41YTEgMSAwIDEgMSAwIDVjLS43OCAwLTEuNS0uNS0yLjUtLjVhMy4xNDkgMy4xNDkgMCAwIDAtLjg0Mi4xMiJ9XSxbInBhdGgiLHtkOiJNOSAxNC42VjE4In1dXX0pO3ZhciBwOSxtdWU9YygoKT0+e3A5PVtbInBhdGgiLHtkOiJNMTcgMTFoMWEzIDMgMCAwIDEgMCA2aC0xIn1dLFsicGF0aCIse2Q6Ik05IDEydjYifV0sWyJwYXRoIix7ZDoiTTEzIDEydjYifV0sWyJwYXRoIix7ZDoiTTE0IDcuNWMtMSAwLTEuNDQuNS0zIC41cy0yLS41LTMtLjUtMS43Mi41LTIuNS41YTIuNSAyLjUgMCAwIDEgMC01Yy43OCAwIDEuNTcuNSAyLjUuNVM5LjQ0IDIgMTEgMnMyIDEuNSAzIDEuNSAxLjcyLS41IDIuNS0uNWEyLjUgMi41IDAgMCAxIDAgNWMtLjc4IDAtMS41LS41LTIuNS0uNVoifV0sWyJwYXRoIix7ZDoiTTUgOHYxMmEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMlY4In1dXX0pO3ZhciB1OSxndWU9YygoKT0+e3U5PVtbInBhdGgiLHtkOiJNMTAuMjY4IDIxYTIgMiAwIDAgMCAzLjQ2NCAwIn1dLFsicGF0aCIse2Q6Ik0xMS42OCAyLjAwOUE2IDYgMCAwIDAgNiA4YzAgNC40OTktMS40MTEgNS45NTYtMi43MzggNy4zMjZBMSAxIDAgMCAwIDQgMTdoMTZhMSAxIDAgMCAwIC43NC0xLjY3M2MtLjgyNC0uODUtMS42NzgtMS43MzEtMi4yMS0zLjM0OCJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjUiLHI6IjMifV1dfSk7dmFyIGY5LGJ1ZT1jKCgpPT57Zjk9W1sicGF0aCIse2Q6Ik0xMC4yNjggMjFhMiAyIDAgMCAwIDMuNDY0IDAifV0sWyJwYXRoIix7ZDoiTTE3IDE3SDRhMSAxIDAgMCAxLS43NC0xLjY3M0M0LjU5IDEzLjk1NiA2IDEyLjQ5OSA2IDhhNiA2IDAgMCAxIC4yNTgtMS43NDIifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNOC42NjggMy4wMUE2IDYgMCAwIDEgMTggOGMwIDIuNjg3Ljc3IDQuNjUzIDEuNzA3IDYuMDUifV1dfSk7dmFyIGg5LHZ1ZT1jKCgpPT57aDk9W1sicGF0aCIse2Q6Ik0xOC41MTggMTcuMzQ3QTcgNyAwIDAgMSAxNCAxOSJ9XSxbInBhdGgiLHtkOiJNMTguOCA0QTExIDExIDAgMCAxIDIwIDkifV0sWyJwYXRoIix7ZDoiTTkgOWguMDEifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIxNiIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiOSIscjoiNyJ9XSxbInJlY3QiLHt4OiI0Iix5OiIxNiIsd2lkdGg6IjEwIixoZWlnaHQ6IjYiLHJ4OiIyIn1dXX0pO3ZhciBtOSx4dWU9YygoKT0+e205PVtbInBhdGgiLHtkOiJNMTAuMjY4IDIxYTIgMiAwIDAgMCAzLjQ2NCAwIn1dLFsicGF0aCIse2Q6Ik0xNSA4aDYifV0sWyJwYXRoIix7ZDoiTTE2LjI0MyAzLjc1N0E2IDYgMCAwIDAgNiA4YzAgNC40OTktMS40MTEgNS45NTYtMi43MzggNy4zMjZBMSAxIDAgMCAwIDQgMTdoMTZhMSAxIDAgMCAwIC43NC0xLjY3M0E5LjQgOS40IDAgMCAxIDE4LjY2NyAxMiJ9XV19KTt2YXIgZzkseXVlPWMoKCk9PntnOT1bWyJwYXRoIix7ZDoiTTEwLjI2OCAyMWEyIDIgMCAwIDAgMy40NjQgMCJ9XSxbInBhdGgiLHtkOiJNMTUgOGg2In1dLFsicGF0aCIse2Q6Ik0xOCA1djYifV0sWyJwYXRoIix7ZDoiTTIwLjAwMiAxNC40NjRhOSA5IDAgMCAwIC43MzguODYzQTEgMSAwIDAgMSAyMCAxN0g0YTEgMSAwIDAgMS0uNzQtMS42NzNDNC41OSAxMy45NTYgNiAxMi40OTkgNiA4YTYgNiAwIDAgMSA4Ljc1LTUuMzMyIn1dXX0pO3ZhciBiOSx3dWU9YygoKT0+e2I5PVtbInBhdGgiLHtkOiJNMTAuMjY4IDIxYTIgMiAwIDAgMCAzLjQ2NCAwIn1dLFsicGF0aCIse2Q6Ik0yMiA4YzAtMi4zLS44LTQuMy0yLTYifV0sWyJwYXRoIix7ZDoiTTMuMjYyIDE1LjMyNkExIDEgMCAwIDAgNCAxN2gxNmExIDEgMCAwIDAgLjc0LTEuNjczQzE5LjQxIDEzLjk1NiAxOCAxMi40OTkgMTggOEE2IDYgMCAwIDAgNiA4YzAgNC40OTktMS40MTEgNS45NTYtMi43MzggNy4zMjYifV0sWyJwYXRoIix7ZDoiTTQgMkMyLjggMy43IDIgNS43IDIgOCJ9XV19KTt2YXIgdjksTXVlPWMoKCk9Pnt2OT1bWyJwYXRoIix7ZDoiTTEwLjI2OCAyMWEyIDIgMCAwIDAgMy40NjQgMCJ9XSxbInBhdGgiLHtkOiJNMy4yNjIgMTUuMzI2QTEgMSAwIDAgMCA0IDE3aDE2YTEgMSAwIDAgMCAuNzQtMS42NzNDMTkuNDEgMTMuOTU2IDE4IDEyLjQ5OSAxOCA4QTYgNiAwIDAgMCA2IDhjMCA0LjQ5OS0xLjQxMSA1Ljk1Ni0yLjczOCA3LjMyNiJ9XV19KTt2YXIgYWMsa3VlPWMoKCk9PnthYz1bWyJyZWN0Iix7d2lkdGg6IjEzIixoZWlnaHQ6IjciLHg6IjMiLHk6IjMiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Im0yMiAxNS0zLTMgMy0zIn1dLFsicmVjdCIse3dpZHRoOiIxMyIsaGVpZ2h0OiI3Iix4OiIzIix5OiIxNCIscng6IjEifV1dfSk7dmFyIHg5LHp1ZT1jKCgpPT57eDk9W1sicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjEzIix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJtOSAyMiAzLTMgMyAzIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjEzIix4OiIxNCIseToiMyIscng6IjEifV1dfSk7dmFyIHJjLFN1ZT1jKCgpPT57cmM9W1sicmVjdCIse3dpZHRoOiIxMyIsaGVpZ2h0OiI3Iix4OiI4Iix5OiIzIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJtMiA5IDMgMy0zIDMifV0sWyJyZWN0Iix7d2lkdGg6IjEzIixoZWlnaHQ6IjciLHg6IjgiLHk6IjE0IixyeDoiMSJ9XV19KTt2YXIgeTksQ3VlPWMoKCk9Pnt5OT1bWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiMTMiLHg6IjMiLHk6IjgiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Im0xNSAyLTMgMy0zLTMifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiMTMiLHg6IjE0Iix5OiI4IixyeDoiMSJ9XV19KTt2YXIgdzksX3VlPWMoKCk9Pnt3OT1bWyJjaXJjbGUiLHtjeDoiMTguNSIsY3k6IjE3LjUiLHI6IjMuNSJ9XSxbImNpcmNsZSIse2N4OiI1LjUiLGN5OiIxNy41IixyOiIzLjUifV0sWyJjaXJjbGUiLHtjeDoiMTUiLGN5OiI1IixyOiIxIn1dLFsicGF0aCIse2Q6Ik0xMiAxNy41VjE0bC0zLTMgNC0zIDIgM2gyIn1dXX0pO3ZhciBNOSxUdWU9YygoKT0+e005PVtbInBhdGgiLHtkOiJNMTIuNDA5IDEzLjAxN0E1IDUgMCAwIDEgMjIgMTVjMCAzLjg2Ni00IDctOSA3LTQuMDc3IDAtOC4xNTMtLjgyLTEwLjM3MS0yLjQ2Mi0uNDI2LS4zMTYtLjYzMS0uODMyLS42Mi0xLjM2MkMyLjExOCAxMi43MjMgMi42MjcgMiAxMCAyYTMgMyAwIDAgMSAzIDMgMiAyIDAgMCAxLTIgMmMtMS4xMDUgMC0xLjY0LS40NDQtMi0xIn1dLFsicGF0aCIse2Q6Ik0xNSAxNGE1IDUgMCAwIDAtNy41ODQgMiJ9XSxbInBhdGgiLHtkOiJNOS45NjQgNi44MjVDOC4wMTkgNy45NzcgOS41IDEzIDggMTUifV1dfSk7dmFyIGs5LEx1ZT1jKCgpPT57azk9W1sicmVjdCIse3g6IjE0Iix5OiIxNCIsd2lkdGg6IjQiLGhlaWdodDoiNiIscng6IjIifV0sWyJyZWN0Iix7eDoiNiIseToiNCIsd2lkdGg6IjQiLGhlaWdodDoiNiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTYgMjBoNCJ9XSxbInBhdGgiLHtkOiJNMTQgMTBoNCJ9XSxbInBhdGgiLHtkOiJNNiAxNGgydjYifV0sWyJwYXRoIix7ZDoiTTE0IDRoMnY2In1dXX0pO3ZhciB6OSwkdWU9YygoKT0+e3o5PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjExLjkiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTYuNyAzLjRjLS45IDIuNSAwIDUuMiAyLjIgNi43QzYuNSA5IDMuNyA5LjYgMiAxMS42In1dLFsicGF0aCIse2Q6Im04LjkgMTAuMSAxLjQuOCJ9XSxbInBhdGgiLHtkOiJNMTcuMyAzLjRjLjkgMi41IDAgNS4yLTIuMiA2LjcgMi40LTEuMiA1LjItLjYgNi45IDEuNSJ9XSxbInBhdGgiLHtkOiJtMTUuMSAxMC4xLTEuNC44In1dLFsicGF0aCIse2Q6Ik0xNi43IDIwLjhjLTIuNi0uNC00LjYtMi42LTQuNy01LjMtLjIgMi42LTIuMSA0LjgtNC43IDUuMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTMuOXYxLjYifV0sWyJwYXRoIix7ZDoiTTEzLjUgNS40Yy0xLS4yLTItLjItMyAwIn1dLFsicGF0aCIse2Q6Ik0xNyAxNi40Yy43LS43IDEuMi0xLjYgMS41LTIuNSJ9XSxbInBhdGgiLHtkOiJNNS41IDEzLjljLjMuOS44IDEuOCAxLjUgMi41In1dXX0pO3ZhciBTOSxEdWU9YygoKT0+e1M5PVtbInBhdGgiLHtkOiJNMTAgMTBoNCJ9XSxbInBhdGgiLHtkOiJNMTkgN1Y0YTEgMSAwIDAgMC0xLTFoLTJhMSAxIDAgMCAwLTEgMXYzIn1dLFsicGF0aCIse2Q6Ik0yMCAyMWEyIDIgMCAwIDAgMi0ydi0zLjg1MWMwLTEuMzktMi0yLjk2Mi0yLTQuODI5VjhhMSAxIDAgMCAwLTEtMWgtNGExIDEgMCAwIDAtMSAxdjExYTIgMiAwIDAgMCAyIDJ6In1dLFsicGF0aCIse2Q6Ik0gMjIgMTYgTCAyIDE2In1dLFsicGF0aCIse2Q6Ik00IDIxYTIgMiAwIDAgMS0yLTJ2LTMuODUxYzAtMS4zOSAyLTIuOTYyIDItNC44MjlWOGExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXYxMWEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNOSA3VjRhMSAxIDAgMCAwLTEtMUg2YTEgMSAwIDAgMC0xIDF2MyJ9XV19KTt2YXIgQzksQXVlPWMoKCk9PntDOT1bWyJwYXRoIix7ZDoiTTE2IDdoLjAxIn1dLFsicGF0aCIse2Q6Ik0zLjQgMThIMTJhOCA4IDAgMCAwIDgtOFY3YTQgNCAwIDAgMC03LjI4LTIuM0wyIDIwIn1dLFsicGF0aCIse2Q6Im0yMCA3IDIgLjUtMiAuNSJ9XSxbInBhdGgiLHtkOiJNMTAgMTh2MyJ9XSxbInBhdGgiLHtkOiJNMTQgMTcuNzVWMjEifV0sWyJwYXRoIix7ZDoiTTcgMThhNiA2IDAgMCAwIDMuODQtMTAuNjEifV1dfSk7dmFyIF85LFB1ZT1jKCgpPT57Xzk9W1sicGF0aCIse2Q6Ik0xMS43NjcgMTkuMDg5YzQuOTI0Ljg2OCA2LjE0LTYuMDI1IDEuMjE2LTYuODk0bS0xLjIxNiA2Ljg5NEw1Ljg2IDE4LjA0N201LjkwOCAxLjA0Mi0uMzQ3IDEuOTdtMS41NjMtOC44NjRjNC45MjQuODY5IDYuMTQtNi4wMjUgMS4yMTUtNi44OTNtLTEuMjE1IDYuODkzLTMuOTQtLjY5NG01LjE1NS02LjJMOC4yOSA0LjI2bTUuOTA4IDEuMDQyLjM0OC0xLjk3TTcuNDggMjAuMzY0bDMuMTI2LTE3LjcyNyJ9XV19KTt2YXIgVDksRXVlPWMoKCk9PntUOT1bWyJwYXRoIix7ZDoiTTEyIDE4djQifV0sWyJwYXRoIix7ZDoibTE3IDE4IDEuOTU2LTExLjQ2OCJ9XSxbInBhdGgiLHtkOiJtMyA4IDcuODItNS42MTVhMiAyIDAgMCAxIDIuMzYgMEwyMSA4In1dLFsicGF0aCIse2Q6Ik00IDE4aDE2In1dLFsicGF0aCIse2Q6Ik03IDE4IDUuMDQ0IDYuNTMyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjIifV1dfSk7dmFyIEw5LEl1ZT1jKCgpPT57TDk9W1siY2lyY2xlIix7Y3g6IjkiLGN5OiI5IixyOiI3In1dLFsiY2lyY2xlIix7Y3g6IjE1IixjeToiMTUiLHI6IjcifV1dfSk7dmFyICQ5LE51ZT1jKCgpPT57JDk9W1sicGF0aCIse2Q6Ik0zIDNoMTgifV0sWyJwYXRoIix7ZDoiTTIwIDdIOCJ9XSxbInBhdGgiLHtkOiJNMjAgMTFIOCJ9XSxbInBhdGgiLHtkOiJNMTAgMTloMTAifV0sWyJwYXRoIix7ZDoiTTggMTVoMTIifV0sWyJwYXRoIix7ZDoiTTQgM3YxNCJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiMTkiLHI6IjIifV1dfSk7dmFyIEQ5LFJ1ZT1jKCgpPT57RDk9W1sicGF0aCIse2Q6Ik0xMCAyMlY3YTEgMSAwIDAgMC0xLTFINGEyIDIgMCAwIDAtMiAydjEyYTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtNWExIDEgMCAwIDAtMS0xSDIifV0sWyJyZWN0Iix7eDoiMTQiLHk6IjIiLHdpZHRoOiI4IixoZWlnaHQ6IjgiLHJ4OiIxIn1dXX0pO3ZhciBBOSxGdWU9YygoKT0+e0E5PVtbInBhdGgiLHtkOiJtNyA3IDEwIDEwLTUgNVYybDUgNUw3IDE3In1dLFsibGluZSIse3gxOiIxOCIseDI6IjIxIix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMyIseDI6IjYiLHkxOiIxMiIseTI6IjEyIn1dXX0pO3ZhciBQOSxPdWU9YygoKT0+e1A5PVtbInBhdGgiLHtkOiJtMTcgMTctNSA1VjEybC01IDUifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMTQuNSA5LjUgMTcgN2wtNS01djQuNSJ9XV19KTt2YXIgRTksQnVlPWMoKCk9PntFOT1bWyJwYXRoIix7ZDoibTcgNyAxMCAxMC01IDVWMmw1IDVMNyAxNyJ9XSxbInBhdGgiLHtkOiJNMjAuODMgMTQuODNhNCA0IDAgMCAwIDAtNS42NiJ9XSxbInBhdGgiLHtkOiJNMTggMTJoLjAxIn1dXX0pO3ZhciBJOSxIdWU9YygoKT0+e0k5PVtbInBhdGgiLHtkOiJtNyA3IDEwIDEwLTUgNVYybDUgNUw3IDE3In1dXX0pO3ZhciBOOSxxdWU9YygoKT0+e045PVtbInBhdGgiLHtkOiJNNiAxMmg5YTQgNCAwIDAgMSAwIDhIN2ExIDEgMCAwIDEtMS0xVjVhMSAxIDAgMCAxIDEtMWg3YTQgNCAwIDAgMSAwIDgifV1dfSk7dmFyIFI5LFZ1ZT1jKCgpPT57Ujk9W1sicGF0aCIse2Q6Ik0yMSAxNlY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNnoifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XV19KTt2YXIgRjksanVlPWMoKCk9PntGOT1bWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMyIscjoiOSJ9XSxbInBhdGgiLHtkOiJNMTQuMzUgNC42NSAxNi4zIDIuN2EyLjQxIDIuNDEgMCAwIDEgMy40IDBsMS42IDEuNmEyLjQgMi40IDAgMCAxIDAgMy40bC0xLjk1IDEuOTUifV0sWyJwYXRoIix7ZDoibTIyIDItMS41IDEuNSJ9XV19KTt2YXIgTzksVXVlPWMoKCk9PntPOT1bWyJwYXRoIix7ZDoiTTE3IDEwYy43LS43IDEuNjkgMCAyLjUgMGEyLjUgMi41IDAgMSAwIDAtNSAuNS41IDAgMCAxLS41LS41IDIuNSAyLjUgMCAxIDAtNSAwYzAgLjgxLjcgMS44IDAgMi41bC03IDdjLS43LjctMS42OSAwLTIuNSAwYTIuNSAyLjUgMCAwIDAgMCA1Yy4yOCAwIC41LjIyLjUuNWEyLjUgMi41IDAgMSAwIDUgMGMwLS44MS0uNy0xLjggMC0yLjVaIn1dXX0pO3ZhciBCOSxXdWU9YygoKT0+e0I5PVtbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJtOCAxMyA0LTcgNCA3In1dLFsicGF0aCIse2Q6Ik05LjEgMTFoNS43In1dXX0pO3ZhciBIOSxHdWU9YygoKT0+e0g5PVtbInBhdGgiLHtkOiJNMTIgMTNoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiA2djMifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV1dfSk7dmFyIHE5LFl1ZT1jKCgpPT57cTk9W1sicGF0aCIse2Q6Ik0xMiA2djcifV0sWyJwYXRoIix7ZDoiTTE2IDh2MyJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJNOCA4djMifV1dfSk7dmFyIFY5LFp1ZT1jKCgpPT57Vjk9W1sicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Im05IDkuNSAyIDIgNC00In1dXX0pO3ZhciBpYyxYdWU9YygoKT0+e2ljPVtbInBhdGgiLHtkOiJNMTIgMTdoMS41In1dLFsicGF0aCIse2Q6Ik0xMiAyMmgxLjUifV0sWyJwYXRoIix7ZDoiTTEyIDJoMS41In1dLFsicGF0aCIse2Q6Ik0xNy41IDIySDE5YTEgMSAwIDAgMCAxLTEifV0sWyJwYXRoIix7ZDoiTTE3LjUgMkgxOWExIDEgMCAwIDEgMSAxdjEuNSJ9XSxbInBhdGgiLHtkOiJNMjAgMTR2M2gtMi41In1dLFsicGF0aCIse2Q6Ik0yMCA4LjVWMTAifV0sWyJwYXRoIix7ZDoiTTQgMTBWOC41In1dLFsicGF0aCIse2Q6Ik00IDE5LjVWMTQifV0sWyJwYXRoIix7ZDoiTTQgNC41QTIuNSAyLjUgMCAwIDEgNi41IDJIOCJ9XSxbInBhdGgiLHtkOiJNOCAyMkg2LjVhMSAxIDAgMCAxIDAtNUg4In1dXX0pO3ZhciBqOSxLdWU9YygoKT0+e2o5PVtbInBhdGgiLHtkOiJNNSA3YTIgMiAwIDAgMC0yIDJ2MTEifV0sWyJwYXRoIix7ZDoiTTUuODAzIDE4SDVhMiAyIDAgMCAwIDAgNGg5LjVhLjUuNSAwIDAgMCAuNS0uNVYyMSJ9XSxbInBhdGgiLHtkOiJNOSAxNVY0YTIgMiAwIDAgMSAyLTJoOS41YS41LjUgMCAwIDEgLjUuNXYxNGEuNS41IDAgMCAxLS41LjVIMTFhMiAyIDAgMCAxIDAtNGgxMCJ9XV19KTt2YXIgVTksUXVlPWMoKCk9PntVOT1bWyJwYXRoIix7ZDoiTTEyIDEzVjcifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoibTkgMTAgMyAzIDMtMyJ9XV19KTt2YXIgVzksSnVlPWMoKCk9PntXOT1bWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoiTTggMTJ2LTJhNCA0IDAgMCAxIDggMHYyIn1dLFsiY2lyY2xlIix7Y3g6IjE1IixjeToiMTIiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjEyIixyOiIxIn1dXX0pO3ZhciBHOSxlZmU9YygoKT0+e0c5PVtbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJNOC42MiA5LjhBMi4yNSAyLjI1IDAgMSAxIDEyIDYuODM2YTIuMjUgMi4yNSAwIDEgMSAzLjM4IDIuOTY2bC0yLjYyNiAyLjg1NmEuOTk4Ljk5OCAwIDAgMS0xLjUwNyAweiJ9XV19KTt2YXIgWTksdGZlPWMoKCk9PntZOT1bWyJwYXRoIix7ZDoibTIwIDEzLjctMi4xLTIuMWEyIDIgMCAwIDAtMi44IDBMOS43IDE3In1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiMiJ9XV19KTt2YXIgWjksYWZlPWMoKCk9PntaOT1bWyJwYXRoIix7ZDoiTTEzIDJINi41QTIuNSAyLjUgMCAwIDAgNCA0LjV2MTUifV0sWyJwYXRoIix7ZDoiTTE3IDJ2NiJ9XSxbInBhdGgiLHtkOiJNMTcgNGgyIn1dLFsicGF0aCIse2Q6Ik0yMCAxNS4yVjIxYTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxMCIscjoiMiJ9XV19KTt2YXIgWDkscmZlPWMoKCk9PntYOT1bWyJwYXRoIix7ZDoiTTEwIDJ2OGwzLTMgMyAzVjIifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV1dfSk7dmFyIEs5LGlmZT1jKCgpPT57Szk9W1sicGF0aCIse2Q6Ik0xOCA2VjRhMiAyIDAgMSAwLTQgMHYyIn1dLFsicGF0aCIse2Q6Ik0yMCAxNXY2YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxMCJ9XSxbInJlY3QiLHt4OiIxMiIseToiNiIsd2lkdGg6IjgiLGhlaWdodDoiNSIscng6IjEifV1dfSk7dmFyIFE5LHNmZT1jKCgpPT57UTk9W1sicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Ik05IDEwaDYifV1dfSk7dmFyIEo5LG9mZT1jKCgpPT57Sjk9W1sicGF0aCIse2Q6Ik0xMiAyMVY3In1dLFsicGF0aCIse2Q6Im0xNiAxMiAyIDIgNC00In1dLFsicGF0aCIse2Q6Ik0yMiA2VjRhMSAxIDAgMCAwLTEtMWgtNWE0IDQgMCAwIDAtNCA0IDQgNCAwIDAgMC00LTRIM2ExIDEgMCAwIDAtMSAxdjEzYTEgMSAwIDAgMCAxIDFoNmEzIDMgMCAwIDEgMyAzIDMgMyAwIDAgMSAzLTNoNmExIDEgMCAwIDAgMS0xdi0xLjMifV1dfSk7dmFyIGVnLG5mZT1jKCgpPT57ZWc9W1sicGF0aCIse2Q6Ik0xMiA3djE0In1dLFsicGF0aCIse2Q6Ik0xNiAxMmgyIn1dLFsicGF0aCIse2Q6Ik0xNiA4aDIifV0sWyJwYXRoIix7ZDoiTTMgMThhMSAxIDAgMCAxLTEtMVY0YTEgMSAwIDAgMSAxLTFoNWE0IDQgMCAwIDEgNCA0IDQgNCAwIDAgMSA0LTRoNWExIDEgMCAwIDEgMSAxdjEzYTEgMSAwIDAgMS0xIDFoLTZhMyAzIDAgMCAwLTMgMyAzIDMgMCAwIDAtMy0zeiJ9XSxbInBhdGgiLHtkOiJNNiAxMmgyIn1dLFsicGF0aCIse2Q6Ik02IDhoMiJ9XV19KTt2YXIgdGcsbGZlPWMoKCk9Pnt0Zz1bWyJwYXRoIix7ZDoiTTEyIDd2MTQifV0sWyJwYXRoIix7ZDoiTTMgMThhMSAxIDAgMCAxLTEtMVY0YTEgMSAwIDAgMSAxLTFoNWE0IDQgMCAwIDEgNCA0IDQgNCAwIDAgMSA0LTRoNWExIDEgMCAwIDEgMSAxdjEzYTEgMSAwIDAgMS0xIDFoLTZhMyAzIDAgMCAwLTMgMyAzIDMgMCAwIDAtMy0zeiJ9XV19KTt2YXIgYWcsY2ZlPWMoKCk9PnthZz1bWyJwYXRoIix7ZDoiTTEyIDd2NiJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJNOSAxMGg2In1dXX0pO3ZhciByZyxkZmU9YygoKT0+e3JnPVtbInBhdGgiLHtkOiJNMTEgMjJINS41YTEgMSAwIDAgMSAwLTVoNC41MDEifV0sWyJwYXRoIix7ZDoibTIxIDIyLTEuODc5LTEuODc4In1dLFsicGF0aCIse2Q6Ik0zIDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNS41IDJIMThhMSAxIDAgMCAxIDEgMXY4In1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTgiLHI6IjMifV1dfSk7dmFyIGlnLHBmZT1jKCgpPT57aWc9W1sicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Ik04IDExaDgifV0sWyJwYXRoIix7ZDoiTTggN2g2In1dXX0pO3ZhciBzZyx1ZmU9YygoKT0+e3NnPVtbInBhdGgiLHtkOiJNMTIgMTNWNyJ9XSxbInBhdGgiLHtkOiJNMTggMmgxYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAyIn1dLFsicGF0aCIse2Q6Im05IDEwIDMtMyAzIDMifV0sWyJwYXRoIix7ZDoibTkgNSAzLTMgMyAzIn1dXX0pO3ZhciBvZyxmZmU9YygoKT0+e29nPVtbInBhdGgiLHtkOiJNMTAgMTNoNCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY3In1dLFsicGF0aCIse2Q6Ik0xNiA4VjZIOHYyIn1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dXX0pO3ZhciBuZyxoZmU9YygoKT0+e25nPVtbInBhdGgiLHtkOiJNMTIgMTNWNyJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJtOSAxMCAzLTMgMyAzIn1dXX0pO3ZhciBsZyxtZmU9YygoKT0+e2xnPVtbInBhdGgiLHtkOiJNMTUgMTNhMyAzIDAgMSAwLTYgMCJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjgiLHI6IjIifV1dfSk7dmFyIGNnLGdmZT1jKCgpPT57Y2c9W1sicGF0aCIse2Q6Im0xNC41IDctNSA1In1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Im05LjUgNyA1IDUifV1dfSk7dmFyIGRnLGJmZT1jKCgpPT57ZGc9W1sicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dXX0pO3ZhciBwZyx2ZmU9YygoKT0+e3BnPVtbInBhdGgiLHtkOiJNMTcgM2EyIDIgMCAwIDEgMiAydjE1YTEgMSAwIDAgMS0xLjQ5Ni44NjhsLTQuNTEyLTIuNTc4YTIgMiAwIDAgMC0xLjk4NCAwbC00LjUxMiAyLjU3OEExIDEgMCAwIDEgNSAyMFY1YTIgMiAwIDAgMSAyLTJ6In1dLFsicGF0aCIse2Q6Im05IDEwIDIgMiA0LTQifV1dfSk7dmFyIHVnLHhmZT1jKCgpPT57dWc9W1sicGF0aCIse2Q6Ik0xNSAxMEg5In1dLFsicGF0aCIse2Q6Ik0xNyAzYTIgMiAwIDAgMSAyIDJ2MTVhMSAxIDAgMCAxLTEuNDk2Ljg2OGwtNC41MTItMi41NzhhMiAyIDAgMCAwLTEuOTg0IDBsLTQuNTEyIDIuNTc4QTEgMSAwIDAgMSA1IDIwVjVhMiAyIDAgMCAxIDItMnoifV1dfSk7dmFyIGZnLHlmZT1jKCgpPT57Zmc9W1sicGF0aCIse2Q6Ik0xMiA3djYifV0sWyJwYXRoIix7ZDoiTTE1IDEwSDkifV0sWyJwYXRoIix7ZDoiTTE3IDNhMiAyIDAgMCAxIDIgMnYxNWExIDEgMCAwIDEtMS40OTYuODY4bC00LjUxMi0yLjU3OGEyIDIgMCAwIDAtMS45ODQgMGwtNC41MTIgMi41NzhBMSAxIDAgMCAxIDUgMjBWNWEyIDIgMCAwIDEgMi0yeiJ9XV19KTt2YXIgaGcsd2ZlPWMoKCk9PntoZz1bWyJwYXRoIix7ZDoibTE0LjUgNy41LTUgNSJ9XSxbInBhdGgiLHtkOiJNMTcgM2EyIDIgMCAwIDEgMiAydjE1YTEgMSAwIDAgMS0xLjQ5Ni44NjhsLTQuNTEyLTIuNTc4YTIgMiAwIDAgMC0xLjk4NCAwbC00LjUxMiAyLjU3OEExIDEgMCAwIDEgNSAyMFY1YTIgMiAwIDAgMSAyLTJ6In1dLFsicGF0aCIse2Q6Im05LjUgNy41IDUgNSJ9XV19KTt2YXIgbWcsTWZlPWMoKCk9PnttZz1bWyJwYXRoIix7ZDoiTTE3IDNhMiAyIDAgMCAxIDIgMnYxNWExIDEgMCAwIDEtMS40OTYuODY4bC00LjUxMi0yLjU3OGEyIDIgMCAwIDAtMS45ODQgMGwtNC41MTIgMi41NzhBMSAxIDAgMCAxIDUgMjBWNWEyIDIgMCAwIDEgMi0yeiJ9XV19KTt2YXIgZ2csa2ZlPWMoKCk9PntnZz1bWyJwYXRoIix7ZDoiTTQgOVY1YTIgMiAwIDAgMSAyLTJoMTJhMiAyIDAgMCAxIDIgMnY0In1dLFsicGF0aCIse2Q6Ik04IDh2MSJ9XSxbInBhdGgiLHtkOiJNMTIgOHYxIn1dLFsicGF0aCIse2Q6Ik0xNiA4djEifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjEyIix4OiIyIix5OiI5IixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiI4IixjeToiMTUiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNSIscjoiMiJ9XV19KTt2YXIgYmcsemZlPWMoKCk9PntiZz1bWyJwYXRoIix7ZDoiTTEyIDZWMkg4In1dLFsicGF0aCIse2Q6Ik0xNSAxMXYyIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIifV0sWyJwYXRoIix7ZDoiTTIwIDEyaDIifV0sWyJwYXRoIix7ZDoiTTIwIDE2YTIgMiAwIDAgMS0yIDJIOC44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDQgMjAuMjg2VjhhMiAyIDAgMCAxIDItMmgxMmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNOSAxMXYyIn1dXX0pO3ZhciB2ZyxTZmU9YygoKT0+e3ZnPVtbInBhdGgiLHtkOiJNMTMuNjcgOEgxOGEyIDIgMCAwIDEgMiAydjQuMzMifV0sWyJwYXRoIix7ZDoiTTIgMTRoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTRoMiJ9XSxbInBhdGgiLHtkOiJNMjIgMjIgMiAyIn1dLFsicGF0aCIse2Q6Ik04IDhINmEyIDIgMCAwIDAtMiAydjhhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMS40MTQtLjU4NiJ9XSxbInBhdGgiLHtkOiJNOSAxM3YyIn1dLFsicGF0aCIse2Q6Ik05LjY3IDRIMTJ2Mi4zMyJ9XV19KTt2YXIgeGcsQ2ZlPWMoKCk9Pnt4Zz1bWyJwYXRoIix7ZDoiTTEyIDhWNEg4In1dLFsicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIxMiIseDoiNCIseToiOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMTRoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTRoMiJ9XSxbInBhdGgiLHtkOiJNMTUgMTN2MiJ9XSxbInBhdGgiLHtkOiJNOSAxM3YyIn1dXX0pO3ZhciB5ZyxfZmU9YygoKT0+e3lnPVtbInBhdGgiLHtkOiJNMTcgM2g0djQifV0sWyJwYXRoIix7ZDoiTTE4LjU3NSAxMS4wODJhMTMgMTMgMCAwIDEgMS4wNDggOS4wMjcgMS4xNyAxLjE3IDAgMCAxLTEuOTE0LjU5N0wxNCAxNyJ9XSxbInBhdGgiLHtkOiJNNyAxMCAzLjI5IDYuMjlhMS4xNyAxLjE3IDAgMCAxIC42LTEuOTEgMTMgMTMgMCAwIDEgOS4wMyAxLjA1In1dLFsicGF0aCIse2Q6Ik03IDE0YTEuNyAxLjcgMCAwIDAtMS4yMDcuNWwtMi42NDYgMi42NDZBLjUuNSAwIDAgMCAzLjUgMThINWExIDEgMCAwIDEgMSAxdjEuNWEuNS41IDAgMCAwIC44NTQuMzU0TDkuNSAxOC4yMDdBMS43IDEuNyAwIDAgMCAxMCAxN3YtMmExIDEgMCAwIDAtMS0xeiJ9XSxbInBhdGgiLHtkOiJNOS43MDcgMTQuMjkzIDIxIDMifV1dfSk7dmFyIHdnLFRmZT1jKCgpPT57d2c9W1sicGF0aCIse2Q6Ik0xMCAzYTEgMSAwIDAgMSAxLTFoMmExIDEgMCAwIDEgMSAxdjJhNiA2IDAgMCAwIDEuMiAzLjZsLjYuOEE2IDYgMCAwIDEgMTcgMTN2OGExIDEgMCAwIDEtMSAxSDhhMSAxIDAgMCAxLTEtMXYtOGE2IDYgMCAwIDEgMS4yLTMuNmwuNi0uOEE2IDYgMCAwIDAgMTAgNXoifV0sWyJwYXRoIix7ZDoiTTE3IDEzaC00YTEgMSAwIDAgMC0xIDF2M2ExIDEgMCAwIDAgMSAxaDQifV1dfSk7dmFyIE1nLExmZT1jKCgpPT57TWc9W1sicGF0aCIse2Q6Ik0yMSA4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNloifV0sWyJwYXRoIix7ZDoibTMuMyA3IDguNyA1IDguNy01In1dLFsicGF0aCIse2Q6Ik0xMiAyMlYxMiJ9XV19KTt2YXIga2csJGZlPWMoKCk9PntrZz1bWyJwYXRoIix7ZDoiTTIuOTcgMTIuOTJBMiAyIDAgMCAwIDIgMTQuNjN2My4yNGEyIDIgMCAwIDAgLjk3IDEuNzFsMyAxLjhhMiAyIDAgMCAwIDIuMDYgMEwxMiAxOXYtNS41bC01LTMtNC4wMyAyLjQyWiJ9XSxbInBhdGgiLHtkOiJtNyAxNi41LTQuNzQtMi44NSJ9XSxbInBhdGgiLHtkOiJtNyAxNi41IDUtMyJ9XSxbInBhdGgiLHtkOiJNNyAxNi41djUuMTcifV0sWyJwYXRoIix7ZDoiTTEyIDEzLjVWMTlsMy45NyAyLjM4YTIgMiAwIDAgMCAyLjA2IDBsMy0xLjhhMiAyIDAgMCAwIC45Ny0xLjcxdi0zLjI0YTIgMiAwIDAgMC0uOTctMS43MUwxNyAxMC41bC01IDNaIn1dLFsicGF0aCIse2Q6Im0xNyAxNi41LTUtMyJ9XSxbInBhdGgiLHtkOiJtMTcgMTYuNSA0Ljc0LTIuODUifV0sWyJwYXRoIix7ZDoiTTE3IDE2LjV2NS4xNyJ9XSxbInBhdGgiLHtkOiJNNy45NyA0LjQyQTIgMiAwIDAgMCA3IDYuMTN2NC4zN2w1IDMgNS0zVjYuMTNhMiAyIDAgMCAwLS45Ny0xLjcxbC0zLTEuOGEyIDIgMCAwIDAtMi4wNiAwbC0zIDEuOFoifV0sWyJwYXRoIix7ZDoiTTEyIDggNy4yNiA1LjE1In1dLFsicGF0aCIse2Q6Im0xMiA4IDQuNzQtMi44NSJ9XSxbInBhdGgiLHtkOiJNMTIgMTMuNVY4In1dXX0pO3ZhciBzYyxEZmU9YygoKT0+e3NjPVtbInBhdGgiLHtkOiJNOCAzSDdhMiAyIDAgMCAwLTIgMnY1YTIgMiAwIDAgMS0yIDIgMiAyIDAgMCAxIDIgMnY1YzAgMS4xLjkgMiAyIDJoMSJ9XSxbInBhdGgiLHtkOiJNMTYgMjFoMWEyIDIgMCAwIDAgMi0ydi01YzAtMS4xLjktMiAyLTJhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMC0yLTJoLTEifV1dfSk7dmFyIHpnLEFmZT1jKCgpPT57emc9W1sicGF0aCIse2Q6Ik0xNiAzaDNhMSAxIDAgMCAxIDEgMXYxNmExIDEgMCAwIDEtMSAxaC0zIn1dLFsicGF0aCIse2Q6Ik04IDIxSDVhMSAxIDAgMCAxLTEtMVY0YTEgMSAwIDAgMSAxLTFoMyJ9XV19KTt2YXIgU2csUGZlPWMoKCk9PntTZz1bWyJwYXRoIix7ZDoiTTEyIDVhMyAzIDAgMSAwLTUuOTk3LjEyNSA0IDQgMCAwIDAtMi41MjYgNS43NyA0IDQgMCAwIDAgLjU1NiA2LjU4OEE0IDQgMCAxIDAgMTIgMThaIn1dLFsicGF0aCIse2Q6Ik05IDEzYTQuNSA0LjUgMCAwIDAgMy00In1dLFsicGF0aCIse2Q6Ik02LjAwMyA1LjEyNUEzIDMgMCAwIDAgNi40MDEgNi41In1dLFsicGF0aCIse2Q6Ik0zLjQ3NyAxMC44OTZhNCA0IDAgMCAxIC41ODUtLjM5NiJ9XSxbInBhdGgiLHtkOiJNNiAxOGE0IDQgMCAwIDEtMS45NjctLjUxNiJ9XSxbInBhdGgiLHtkOiJNMTIgMTNoNCJ9XSxbInBhdGgiLHtkOiJNMTIgMThoNmEyIDIgMCAwIDEgMiAydjEifV0sWyJwYXRoIix7ZDoiTTEyIDhoOCJ9XSxbInBhdGgiLHtkOiJNMTYgOFY1YTIgMiAwIDAgMSAyLTIifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxMyIscjoiLjUifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIzIixyOiIuNSJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjIxIixyOiIuNSJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjgiLHI6Ii41In1dXX0pO3ZhciBDZyxFZmU9YygoKT0+e0NnPVtbInBhdGgiLHtkOiJNMTIgMThWNSJ9XSxbInBhdGgiLHtkOiJNMTUgMTNhNC4xNyA0LjE3IDAgMCAxLTMtNCA0LjE3IDQuMTcgMCAwIDEtMyA0In1dLFsicGF0aCIse2Q6Ik0xNy41OTggNi41QTMgMyAwIDEgMCAxMiA1YTMgMyAwIDEgMC01LjU5OCAxLjUifV0sWyJwYXRoIix7ZDoiTTE3Ljk5NyA1LjEyNWE0IDQgMCAwIDEgMi41MjYgNS43NyJ9XSxbInBhdGgiLHtkOiJNMTggMThhNCA0IDAgMCAwIDItNy40NjQifV0sWyJwYXRoIix7ZDoiTTE5Ljk2NyAxNy40ODNBNCA0IDAgMSAxIDEyIDE4YTQgNCAwIDEgMS03Ljk2Ny0uNTE3In1dLFsicGF0aCIse2Q6Ik02IDE4YTQgNCAwIDAgMS0yLTcuNDY0In1dLFsicGF0aCIse2Q6Ik02LjAwMyA1LjEyNWE0IDQgMCAwIDAtMi41MjYgNS43NyJ9XV19KTt2YXIgX2csSWZlPWMoKCk9PntfZz1bWyJwYXRoIix7ZDoibTEwLjg1MiAxNC43NzItLjM4My45MjMifV0sWyJwYXRoIix7ZDoibTEwLjg1MiA5LjIyOC0uMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTEzLjE0OCAxNC43NzIuMzgyLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTMuNTMxIDguMzA1LS4zODMuOTIzIn1dLFsicGF0aCIse2Q6Im0xNC43NzIgMTAuODUyLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0xNC43NzIgMTMuMTQ4LjkyMy4zODMifV0sWyJwYXRoIix7ZDoiTTE3LjU5OCA2LjVBMyAzIDAgMSAwIDEyIDVhMyAzIDAgMCAwLTUuNjMtMS40NDYgMyAzIDAgMCAwLS4zNjggMS41NzEgNCA0IDAgMCAwLTIuNTI1IDUuNzcxIn1dLFsicGF0aCIse2Q6Ik0xNy45OTggNS4xMjVhNCA0IDAgMCAxIDIuNTI1IDUuNzcxIn1dLFsicGF0aCIse2Q6Ik0xOS41MDUgMTAuMjk0YTQgNCAwIDAgMS0xLjUgNy43MDYifV0sWyJwYXRoIix7ZDoiTTQuMDMyIDE3LjQ4M0E0IDQgMCAwIDAgMTEuNDY0IDIwYy4xOC0uMzExLjg5Mi0uMzExIDEuMDcyIDBhNCA0IDAgMCAwIDcuNDMyLTIuNTE2In1dLFsicGF0aCIse2Q6Ik00LjUgMTAuMjkxQTQgNCAwIDAgMCA2IDE4In1dLFsicGF0aCIse2Q6Ik02LjAwMiA1LjEyNWEzIDMgMCAwIDAgLjQgMS4zNzUifV0sWyJwYXRoIix7ZDoibTkuMjI4IDEwLjg1Mi0uOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTkuMjI4IDEzLjE0OC0uOTIzLjM4MyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dXX0pO3ZhciBUZyxOZmU9YygoKT0+e1RnPVtbInBhdGgiLHtkOiJNMTYgM3YyLjEwNyJ9XSxbInBhdGgiLHtkOiJNMTcgOWMxIDMgMi41IDMuNSAzLjUgNC41QTUgNSAwIDAgMSAyMiAxN2E1IDUgMCAwIDEtMTAgMGMwLS4zIDAtLjYuMS0uOWEyIDIgMCAxIDAgMy4zLTJDMTMgMTEuNSAxNiA5IDE3IDkifV0sWyJwYXRoIix7ZDoiTTIxIDguMjc0VjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgzLjkzOCJ9XSxbInBhdGgiLHtkOiJNMyAxNWg1LjI1MyJ9XSxbInBhdGgiLHtkOiJNMyA5aDguMjI4In1dLFsicGF0aCIse2Q6Ik04IDE1djYifV0sWyJwYXRoIix7ZDoiTTggM3Y2In1dXX0pO3ZhciBMZyxSZmU9YygoKT0+e0xnPVtbInBhdGgiLHtkOiJNMTIgOXYxLjI1OCJ9XSxbInBhdGgiLHtkOiJNMTYgM3Y1LjQ2In1dLFsicGF0aCIse2Q6Ik0yMSA5LjExOFY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoNS43NSJ9XSxbInBhdGgiLHtkOiJNMjIgMTcuNWMwIDIuNDk5LTEuNzUgMy43NDktMy44MyA0LjQ3NGEuNS41IDAgMCAxLS4zMzUtLjAwNWMtMi4wODUtLjcyLTMuODM1LTEuOTctMy44MzUtNC40N1YxNGEuNS41IDAgMCAxIC41LS40OTljMSAwIDIuMjUtLjYgMy4xMi0xLjM2YS42LjYgMCAwIDEgLjc2LS4wMDFjLjg3NS43NjUgMi4xMiAxLjM2IDMuMTIgMS4zNmEuNS41IDAgMCAxIC41LjV6In1dLFsicGF0aCIse2Q6Ik0zIDE1aDcifV0sWyJwYXRoIix7ZDoiTTMgOWgxMi4xNDIifV0sWyJwYXRoIix7ZDoiTTggMTV2NiJ9XSxbInBhdGgiLHtkOiJNOCAzdjYifV1dfSk7dmFyICRnLEZmZT1jKCgpPT57JGc9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDl2NiJ9XSxbInBhdGgiLHtkOiJNMTYgMTV2NiJ9XSxbInBhdGgiLHtkOiJNMTYgM3Y2In1dLFsicGF0aCIse2Q6Ik0zIDE1aDE4In1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJwYXRoIix7ZDoiTTggMTV2NiJ9XSxbInBhdGgiLHtkOiJNOCAzdjYifV1dfSk7dmFyIERnLE9mZT1jKCgpPT57RGc9W1sicGF0aCIse2Q6Ik0xMiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDZWNGEyIDIgMCAwIDAtMi0yaC00YTIgMiAwIDAgMC0yIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjIgMTNhMTguMTUgMTguMTUgMCAwIDEtMjAgMCJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjYiLHJ4OiIyIn1dXX0pO3ZhciBBZyxCZmU9YygoKT0+e0FnPVtbInBhdGgiLHtkOiJNMTAgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTQgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTggMjB2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMjBIMyJ9XSxbInBhdGgiLHtkOiJNNiAyMHYyIn1dLFsicGF0aCIse2Q6Ik04IDE2VjRhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MTIifV0sWyJyZWN0Iix7eDoiNCIseToiNiIsd2lkdGg6IjE2IixoZWlnaHQ6IjEwIixyeDoiMiJ9XV19KTt2YXIgUGcsSGZlPWMoKCk9PntQZz1bWyJwYXRoIix7ZDoiTTEyIDExdjQifV0sWyJwYXRoIix7ZDoiTTE0IDEzaC00In1dLFsicGF0aCIse2Q6Ik0xNiA2VjRhMiAyIDAgMCAwLTItMmgtNGEyIDIgMCAwIDAtMiAydjIifV0sWyJwYXRoIix7ZDoiTTE4IDZ2MTQifV0sWyJwYXRoIix7ZDoiTTYgNnYxNCJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjYiLHJ4OiIyIn1dXX0pO3ZhciBFZyxxZmU9YygoKT0+e0VnPVtbInBhdGgiLHtkOiJNMTYgMjBWNGEyIDIgMCAwIDAtMi0yaC00YTIgMiAwIDAgMC0yIDJ2MTYifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiI2IixyeDoiMiJ9XV19KTt2YXIgSWcsVmZlPWMoKCk9PntJZz1bWyJyZWN0Iix7eDoiOCIseToiOCIsd2lkdGg6IjgiLGhlaWdodDoiOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTBhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0xNCAyMGEyIDIgMCAwIDAgMiAyaDRhMiAyIDAgMCAwIDItMnYtNGEyIDIgMCAwIDAtMi0yIn1dXX0pO3ZhciBOZyxqZmU9YygoKT0+e05nPVtbInBhdGgiLHtkOiJtMTYgMjItMS00In1dLFsicGF0aCIse2Q6Ik0xOSAxNGExIDEgMCAwIDAgMS0xdi0xYTIgMiAwIDAgMC0yLTJoLTNhMSAxIDAgMCAxLTEtMVY0YTIgMiAwIDAgMC00IDB2NWExIDEgMCAwIDEtMSAxSDZhMiAyIDAgMCAwLTIgMnYxYTEgMSAwIDAgMCAxIDEifV0sWyJwYXRoIix7ZDoiTTE5IDE0SDVsLTEuOTczIDYuNzY3QTEgMSAwIDAgMCA0IDIyaDE2YTEgMSAwIDAgMCAuOTczLTEuMjMzeiJ9XSxbInBhdGgiLHtkOiJtOCAyMiAxLTQifV1dfSk7dmFyIFJnLFVmZT1jKCgpPT57Umc9W1sicGF0aCIse2Q6Im0xMSAxMCAzIDMifV0sWyJwYXRoIix7ZDoiTTYuNSAyMUEzLjUgMy41IDAgMSAwIDMgMTcuNWEyLjYyIDIuNjIgMCAwIDEtLjcwOCAxLjc5MkExIDEgMCAwIDAgMyAyMXoifV0sWyJwYXRoIix7ZDoiTTkuOTY5IDE3LjAzMSAyMS4zNzggNS42MjRhMSAxIDAgMCAwLTMuMDAyLTMuMDAyTDYuOTY3IDE0LjAzMSJ9XV19KTt2YXIgRmcsV2ZlPWMoKCk9PntGZz1bWyJwYXRoIix7ZDoiTTEyIDIwdi04In1dLFsicGF0aCIse2Q6Ik0xMi42NTYgN0gxNGE0IDQgMCAwIDEgNCA0djEuMzQ0In1dLFsicGF0aCIse2Q6Ik0xNC4xMiAzLjg4IDE2IDIifV0sWyJwYXRoIix7ZDoiTTE3LjEyMyAxNy4xMjNBNiA2IDAgMCAxIDYgMTR2LTNhNCA0IDAgMCAxIDEuNzItMy4yODcifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjEgNWE0IDQgMCAwIDEtMy41NSAzLjk3In1dLFsicGF0aCIse2Q6Ik0yMiAxM2gtMy4zNDQifV0sWyJwYXRoIix7ZDoiTTMgMjFhNCA0IDAgMCAxIDMuODEtNCJ9XSxbInBhdGgiLHtkOiJNMyA1YTQgNCAwIDAgMCAzLjU1IDMuOTcifV0sWyJwYXRoIix7ZDoiTTYgMTNIMiJ9XSxbInBhdGgiLHtkOiJtOCAyIDEuODggMS44OCJ9XSxbInBhdGgiLHtkOiJNOS43MTIgNC4wNkEzIDMgMCAwIDEgMTUgNnYxLjEzIn1dXX0pO3ZhciBPZyxHZmU9YygoKT0+e09nPVtbInBhdGgiLHtkOiJNNy4wMDEgMTUuMDg1QTEuNSAxLjUgMCAwIDEgOSAxNi41In1dLFsiY2lyY2xlIix7Y3g6IjE4LjUiLGN5OiI4LjUiLHI6IjMuNSJ9XSxbImNpcmNsZSIse2N4OiI3LjUiLGN5OiIxNi41IixyOiI1LjUifV0sWyJjaXJjbGUiLHtjeDoiNy41IixjeToiNC41IixyOiIyLjUifV1dfSk7dmFyIEJnLFlmZT1jKCgpPT57Qmc9W1sicGF0aCIse2Q6Ik0xMCAxOS42NTVBNiA2IDAgMCAxIDYgMTR2LTNhNCA0IDAgMCAxIDQtNGg0YTQgNCAwIDAgMSA0IDMuOTcifV0sWyJwYXRoIix7ZDoiTTE0IDE1LjAwM2ExIDEgMCAwIDEgMS41MTctLjg1OWw0Ljk5NyAyLjk5N2ExIDEgMCAwIDEgMCAxLjcxOGwtNC45OTcgMi45OTdhMSAxIDAgMCAxLTEuNTE3LS44NnoifV0sWyJwYXRoIix7ZDoiTTE0LjEyIDMuODggMTYgMiJ9XSxbInBhdGgiLHtkOiJNMjEgNWE0IDQgMCAwIDEtMy41NSAzLjk3In1dLFsicGF0aCIse2Q6Ik0zIDIxYTQgNCAwIDAgMSAzLjgxLTQifV0sWyJwYXRoIix7ZDoiTTMgNWE0IDQgMCAwIDAgMy41NSAzLjk3In1dLFsicGF0aCIse2Q6Ik02IDEzSDIifV0sWyJwYXRoIix7ZDoibTggMiAxLjg4IDEuODgifV0sWyJwYXRoIix7ZDoiTTkgNy4xM1Y2YTMgMyAwIDEgMSA2IDB2MS4xMyJ9XV19KTt2YXIgSGcsWmZlPWMoKCk9PntIZz1bWyJwYXRoIix7ZDoiTTEyIDIwdi05In1dLFsicGF0aCIse2Q6Ik0xNCA3YTQgNCAwIDAgMSA0IDR2M2E2IDYgMCAwIDEtMTIgMHYtM2E0IDQgMCAwIDEgNC00eiJ9XSxbInBhdGgiLHtkOiJNMTQuMTIgMy44OCAxNiAyIn1dLFsicGF0aCIse2Q6Ik0yMSAyMWE0IDQgMCAwIDAtMy44MS00In1dLFsicGF0aCIse2Q6Ik0yMSA1YTQgNCAwIDAgMS0zLjU1IDMuOTcifV0sWyJwYXRoIix7ZDoiTTIyIDEzaC00In1dLFsicGF0aCIse2Q6Ik0zIDIxYTQgNCAwIDAgMSAzLjgxLTQifV0sWyJwYXRoIix7ZDoiTTMgNWE0IDQgMCAwIDAgMy41NSAzLjk3In1dLFsicGF0aCIse2Q6Ik02IDEzSDIifV0sWyJwYXRoIix7ZDoibTggMiAxLjg4IDEuODgifV0sWyJwYXRoIix7ZDoiTTkgNy4xM1Y2YTMgMyAwIDEgMSA2IDB2MS4xMyJ9XV19KTt2YXIgcWcsWGZlPWMoKCk9PntxZz1bWyJwYXRoIix7ZDoiTTEwIDEyaDQifV0sWyJwYXRoIix7ZDoiTTEwIDhoNCJ9XSxbInBhdGgiLHtkOiJNMTQgMjF2LTNhMiAyIDAgMCAwLTQgMHYzIn1dLFsicGF0aCIse2Q6Ik02IDEwSDRhMiAyIDAgMCAwLTIgMnY3YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMlY5YTIgMiAwIDAgMC0yLTJoLTIifV0sWyJwYXRoIix7ZDoiTTYgMjFWNWEyIDIgMCAwIDEgMi0yaDhhMiAyIDAgMCAxIDIgMnYxNiJ9XV19KTt2YXIgVmcsS2ZlPWMoKCk9PntWZz1bWyJwYXRoIix7ZDoiTTEyIDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiA2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDZoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTggNmguMDEifV0sWyJwYXRoIix7ZDoiTTkgMjJ2LTNhMSAxIDAgMCAxIDEtMWg0YTEgMSAwIDAgMSAxIDF2MyJ9XSxbInJlY3QiLHt4OiI0Iix5OiIyIix3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHJ4OiIyIn1dXX0pO3ZhciBqZyxRZmU9YygoKT0+e2pnPVtbInBhdGgiLHtkOiJNNCA2IDIgNyJ9XSxbInBhdGgiLHtkOiJNMTAgNmg0In1dLFsicGF0aCIse2Q6Im0yMiA3LTItMSJ9XSxbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMTYiLHg6IjQiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik00IDExaDE2In1dLFsicGF0aCIse2Q6Ik04IDE1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik02IDE5djIifV0sWyJwYXRoIix7ZDoiTTE4IDIxdi0yIn1dXX0pO3ZhciBVZyxKZmU9YygoKT0+e1VnPVtbInBhdGgiLHtkOiJNOCA2djYifV0sWyJwYXRoIix7ZDoiTTE1IDZ2NiJ9XSxbInBhdGgiLHtkOiJNMiAxMmgxOS42In1dLFsicGF0aCIse2Q6Ik0xOCAxOGgzcy41LTEuNy44LTIuOGMuMS0uNC4yLS44LjItMS4yIDAtLjQtLjEtLjgtLjItMS4ybC0xLjQtNUMyMC4xIDYuOCAxOS4xIDYgMTggNkg0YTIgMiAwIDAgMC0yIDJ2MTBoMyJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTgiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTkgMThoNSJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjE4IixyOiIyIn1dXX0pO3ZhciBXZyxlN2U9YygoKT0+e1dnPVtbInBhdGgiLHtkOiJNMTAgM2guMDEifV0sWyJwYXRoIix7ZDoiTTE0IDJoLjAxIn1dLFsicGF0aCIse2Q6Im0yIDkgMjAtNSJ9XSxbInBhdGgiLHtkOiJNMTIgMTJWNi41In1dLFsicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIxMCIseDoiNCIseToiMTIiLHJ4OiIzIn1dLFsicGF0aCIse2Q6Ik05IDEydjUifV0sWyJwYXRoIix7ZDoiTTE1IDEydjUifV0sWyJwYXRoIix7ZDoiTTQgMTdoMTYifV1dfSk7dmFyIEdnLHQ3ZT1jKCgpPT57R2c9W1sicGF0aCIse2Q6Ik0xNyAxOWExIDEgMCAwIDEtMS0xdi0yYTIgMiAwIDAgMSAyLTJoMmEyIDIgMCAwIDEgMiAydjJhMSAxIDAgMCAxLTEgMXoifV0sWyJwYXRoIix7ZDoiTTE3IDIxdi0yIn1dLFsicGF0aCIse2Q6Ik0xOSAxNFY2LjVhMSAxIDAgMCAwLTcgMHYxMWExIDEgMCAwIDEtNyAwVjEwIn1dLFsicGF0aCIse2Q6Ik0yMSAyMXYtMiJ9XSxbInBhdGgiLHtkOiJNMyA1VjMifV0sWyJwYXRoIix7ZDoiTTQgMTBhMiAyIDAgMCAxLTItMlY2YTEgMSAwIDAgMSAxLTFoNGExIDEgMCAwIDEgMSAxdjJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTcgNVYzIn1dXX0pO3ZhciBZZyxhN2U9YygoKT0+e1lnPVtbInBhdGgiLHtkOiJNMTYgMTNIMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTdIMyJ9XSxbInBhdGgiLHtkOiJtNy4yIDcuOS0zLjM4OCAyLjVBMiAyIDAgMCAwIDMgMTIuMDFWMjBhMSAxIDAgMCAwIDEgMWgxNmExIDEgMCAwIDAgMS0xdi04LjY1NGMwLTItMi40NC02LjAyNi02LjQ0LTguMDI2YTEgMSAwIDAgMC0xLjA4Mi4wNTdMMTAuNCA1LjYifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjciLHI6IjIifV1dfSk7dmFyIFpnLHI3ZT1jKCgpPT57Wmc9W1sicGF0aCIse2Q6Ik0yMCAyMXYtOGEyIDIgMCAwIDAtMi0ySDZhMiAyIDAgMCAwLTIgMnY4In1dLFsicGF0aCIse2Q6Ik00IDE2cy41LTEgMi0xIDIuNSAyIDQgMiAyLjUtMiA0LTIgMi41IDIgNCAyIDItMSAyLTEifV0sWyJwYXRoIix7ZDoiTTIgMjFoMjAifV0sWyJwYXRoIix7ZDoiTTcgOHYzIn1dLFsicGF0aCIse2Q6Ik0xMiA4djMifV0sWyJwYXRoIix7ZDoiTTE3IDh2MyJ9XSxbInBhdGgiLHtkOiJNNyA0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgNGguMDEifV0sWyJwYXRoIix7ZDoiTTE3IDRoLjAxIn1dXX0pO3ZhciBYZyxpN2U9YygoKT0+e1hnPVtbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHg6IjQiLHk6IjIiLHJ4OiIyIn1dLFsibGluZSIse3gxOiI4Iix4MjoiMTYiLHkxOiI2Iix5MjoiNiJ9XSxbImxpbmUiLHt4MToiMTYiLHgyOiIxNiIseTE6IjE0Iix5MjoiMTgifV0sWyJwYXRoIix7ZDoiTTE2IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMThoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE4aC4wMSJ9XV19KTt2YXIgS2csczdlPWMoKCk9PntLZz1bWyJwYXRoIix7ZDoiTTExIDE0aDF2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInJlY3QiLHt4OiIzIix5OiI0Iix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBRZyxvN2U9YygoKT0+e1FnPVtbInBhdGgiLHtkOiJtMTQgMTggNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0xOCAxNHY4In1dLFsicGF0aCIse2Q6Ik0yMSAxMS4zNTRWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDcuMzQzIn1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XV19KTt2YXIgSmcsbjdlPWMoKCk9PntKZz1bWyJwYXRoIix7ZDoibTE0IDE4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTggMjJ2LTgifV0sWyJwYXRoIix7ZDoiTTIxIDExLjM0M1Y2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOSJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV1dfSk7dmFyIGViLGw3ZT1jKCgpPT57ZWI9W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0yMSAxNFY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOCJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJtMTYgMjAgMiAyIDQtNCJ9XV19KTt2YXIgdGIsYzdlPWMoKCk9Pnt0Yj1bWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJtOSAxNiAyIDIgNC00In1dXX0pO3ZhciBhYixkN2U9YygoKT0+e2FiPVtbInBhdGgiLHtkOiJNMTYgMTR2Mi4ybDEuNiAxIn1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTIxIDcuNVY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMy41In1dLFsicGF0aCIse2Q6Ik0zIDEwaDUifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTYiLHI6IjYifV1dfSk7dmFyIHJiLHA3ZT1jKCgpPT57cmI9W1sicGF0aCIse2Q6Im0xNS4yMjggMTYuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTUuMjI4IDE5LjE0OC0uOTIzLjM4MyJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Im0xNi40NyAxNC4zMDUuMzgyLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDIwLjc3Mi0uMzgzLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTkuMTQ4IDE1LjIyOC4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTkuNTMgMjEuNjk2LS4zODItLjkyNCJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE2Ljg1Mi45MjQtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE5LjE0OC45MjQuMzgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxMC41OTJWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDYifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV1dfSk7dmFyIGliLHU3ZT1jKCgpPT57aWI9W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTggMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxOGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMThoLjAxIn1dXX0pO3ZhciBzYixmN2U9YygoKT0+e3NiPVtbInBhdGgiLHtkOiJNMyAyMGEyIDIgMCAwIDAgMiAyaDEwYTIuNCAyLjQgMCAwIDAgMS43MDYtLjcwNmwzLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDIxIDE2VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNSAyMnYtNWExIDEgMCAwIDEgMS0xaDUifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV1dfSk7dmFyIG9iLGg3ZT1jKCgpPT57b2I9W1sicGF0aCIse2Q6Ik0xMi4xMjcgMjJINWEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjUuMTI1In1dLFsicGF0aCIse2Q6Ik0xNC42MiAxOC44QTIuMjUgMi4yNSAwIDEgMSAxOCAxNS44MzZhMi4yNSAyLjI1IDAgMSAxIDMuMzggMi45NjZsLTIuNjI2IDIuODU2YS45OTguOTk4IDAgMCAxLTEuNTA3IDB6In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dXX0pO3ZhciBuYixtN2U9YygoKT0+e25iPVtbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik0xMCAxNmg0In1dXX0pO3ZhciBsYixnN2U9YygoKT0+e2xiPVtbInBhdGgiLHtkOiJNMTYgMTloNiJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0yMSAxNVY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOC41In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XV19KTt2YXIgY2IsYjdlPWMoKCk9PntjYj1bWyJwYXRoIix7ZDoiTTQuMiA0LjJBMiAyIDAgMCAwIDMgNnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAxLjgyLTEuMTgifV0sWyJwYXRoIix7ZDoiTTIxIDE1LjVWNmEyIDIgMCAwIDAtMi0ySDkuNSJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0zIDEwaDcifV0sWyJwYXRoIix7ZDoiTTIxIDEwaC01LjUifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgZGIsdjdlPWMoKCk9PntkYj1bWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNMTAgMTZoNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTR2NCJ9XV19KTt2YXIgcGIseDdlPWMoKCk9PntwYj1bWyJwYXRoIix7ZDoiTTE2IDE5aDYifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTkgMTZ2NiJ9XSxbInBhdGgiLHtkOiJNMjEgMTIuNTk4VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg4LjUifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dXX0pO3ZhciB1Yix5N2U9YygoKT0+e3ViPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xNyAxNGgtNiJ9XSxbInBhdGgiLHtkOiJNMTMgMThINyJ9XSxbInBhdGgiLHtkOiJNNyAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTE3IDE4aC4wMSJ9XV19KTt2YXIgZmIsdzdlPWMoKCk9PntmYj1bWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMjEgMTEuNzVWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDcuMjUifV0sWyJwYXRoIix7ZDoibTIyIDIyLTEuODc1LTEuODc1In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBoYixNN2U9YygoKT0+e2hiPVtbInBhdGgiLHtkOiJNMTEgMTB2NGg0In1dLFsicGF0aCIse2Q6Im0xMSAxNCAxLjUzNS0xLjYwNWE1IDUgMCAwIDEgOCAxLjUifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJtMjEgMTgtMS41MzUgMS42MDVhNSA1IDAgMCAxLTgtMS41In1dLFsicGF0aCIse2Q6Ik0yMSAyMnYtNGgtNCJ9XSxbInBhdGgiLHtkOiJNMjEgOC41VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg0LjMifV0sWyJwYXRoIix7ZDoiTTMgMTBoNCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV1dfSk7dmFyIG1iLGs3ZT1jKCgpPT57bWI9W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0yMSAxM1Y2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOCJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJtMTcgMjIgNS01In1dLFsicGF0aCIse2Q6Im0xNyAxNyA1IDUifV1dfSk7dmFyIGdiLHo3ZT1jKCgpPT57Z2I9W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoibTE0IDE0LTQgNCJ9XSxbInBhdGgiLHtkOiJtMTAgMTQgNCA0In1dXX0pO3ZhciBiYixTN2U9YygoKT0+e2JiPVtbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dXX0pO3ZhciB2YixDN2U9YygoKT0+e3ZiPVtbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0xNS43MjYgMjEuMDFBMiAyIDAgMCAxIDE0IDIySDRhMiAyIDAgMCAxLTItMlYxMGEyIDIgMCAwIDEgMi0yIn1dLFsicGF0aCIse2Q6Ik0xOCAydjIifV0sWyJwYXRoIix7ZDoiTTIgMTNoMiJ9XSxbInBhdGgiLHtkOiJNOCA4aDE0In1dLFsicmVjdCIse3g6IjgiLHk6IjMiLHdpZHRoOiIxNCIsaGVpZ2h0OiIxNCIscng6IjIifV1dfSk7dmFyIHhiLF83ZT1jKCgpPT57eGI9W1sicGF0aCIse2Q6Ik0xNC41NjQgMTQuNTU4YTMgMyAwIDEgMS00LjEyMi00LjEyMSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMCAyMEg0YTIgMiAwIDAgMS0yLTJWOWEyIDIgMCAwIDEgMi0yaDEuOTk3YTIgMiAwIDAgMCAuODE5LS4xNzUifV0sWyJwYXRoIix7ZDoiTTkuNjk1IDQuMDI0QTIgMiAwIDAgMSAxMC4wMDQgNGgzLjk5M2EyIDIgMCAwIDEgMS43NiAxLjA1bC40ODYuOUEyIDIgMCAwIDAgMTguMDAzIDdIMjBhMiAyIDAgMCAxIDIgMnY3LjM0NCJ9XV19KTt2YXIgeWIsVDdlPWMoKCk9Pnt5Yj1bWyJwYXRoIix7ZDoiTTEzLjk5NyA0YTIgMiAwIDAgMSAxLjc2IDEuMDVsLjQ4Ni45QTIgMiAwIDAgMCAxOC4wMDMgN0gyMGEyIDIgMCAwIDEgMiAydjlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWOWEyIDIgMCAwIDEgMi0yaDEuOTk3YTIgMiAwIDAgMCAxLjc1OS0xLjA0OGwuNDg5LS45MDRBMiAyIDAgMCAxIDEwLjAwNCA0eiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiIzIn1dXX0pO3ZhciB3YixMN2U9YygoKT0+e3diPVtbInBhdGgiLHtkOiJNNS43IDIxYTIgMiAwIDAgMS0zLjUtMmw4LjYtMTRhNiA2IDAgMCAxIDEwLjQgNiAyIDIgMCAxIDEtMy40NjQtMiAyIDIgMCAxIDAtMy40NjQtMloifV0sWyJwYXRoIix7ZDoiTTE3Ljc1IDcgMTUgMi4xIn1dLFsicGF0aCIse2Q6Ik0xMC45IDQuOCAxMyA5In1dLFsicGF0aCIse2Q6Im03LjkgOS43IDIgNC40In1dLFsicGF0aCIse2Q6Ik00LjkgMTQuNyA3IDE4LjkifV1dfSk7dmFyIE1iLCQ3ZT1jKCgpPT57TWI9W1sicGF0aCIse2Q6Ik0xMCAxMHY3LjkifV0sWyJwYXRoIix7ZDoiTTExLjgwMiA2LjE0NWE1IDUgMCAwIDEgNi4wNTMgNi4wNTMifV0sWyJwYXRoIix7ZDoiTTE0IDYuMXYyLjI0MyJ9XSxbInBhdGgiLHtkOiJtMTUuNSAxNS41NzEtLjk2NC45NjRhNSA1IDAgMCAxLTcuMDcxIDAgNSA1IDAgMCAxIDAtNy4wN2wuOTY0LS45NjUifV0sWyJwYXRoIix7ZDoiTTE2IDdWM2ExIDEgMCAwIDEgMS43MDctLjcwNyAyLjUgMi41IDAgMCAwIDIuMTUyLjcxNyAxIDEgMCAwIDEgMS4xMzEgMS4xMzEgMi41IDIuNSAwIDAgMCAuNzE3IDIuMTUyQTEgMSAwIDAgMSAyMSA4aC00In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTggMTd2NGExIDEgMCAwIDEtMS43MDcuNzA3IDIuNSAyLjUgMCAwIDAtMi4xNTItLjcxNyAxIDEgMCAwIDEtMS4xMzEtMS4xMzEgMi41IDIuNSAwIDAgMC0uNzE3LTIuMTUyQTEgMSAwIDAgMSAzIDE2aDQifV1dfSk7dmFyIGtiLEQ3ZT1jKCgpPT57a2I9W1sicGF0aCIse2Q6Ik0xMiAyMnYtNGMxLjUgMS41IDMuNSAzIDYgMyAwLTEuNS0uNS0zLjUtMi01In1dLFsicGF0aCIse2Q6Ik0xMy45ODggOC4zMjdDMTMuOTAyIDYuMDU0IDEzLjM2NSAzLjgyIDEyIDJhOS4zIDkuMyAwIDAgMC0xLjQ0NSAyLjkifV0sWyJwYXRoIix7ZDoiTTE3LjM3NSAxMS43MjVDMTguODgyIDEwLjUzIDIxIDcuODQxIDIxIDZjLTIuMzI0IDAtNS4wOCAxLjI5Ni02LjY2MiAyLjY4NCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMS4wMjQgMTUuMzc4QTE1IDE1IDAgMCAwIDIyIDE1Yy0uNDI2LTEuMjc5LTIuNjctMi41NTctNC4yNS0yLjkwNyJ9XSxbInBhdGgiLHtkOiJNNi45OTUgNi45OTJDNS43MTQgNi40IDQuMjkgNiAzIDZjMCAyIDIuNSA1IDQgNi0xLjUgMC00LjUgMS41LTUgMyAzLjUgMS41IDYgMSA2IDEtMS41IDEuNS0yIDMuNS0yIDUgMi41IDAgNC41LTEuNSA2LTMifV1dfSk7dmFyIHpiLEE3ZT1jKCgpPT57emI9W1sicGF0aCIse2Q6Ik0xMiAyMnYtNCJ9XSxbInBhdGgiLHtkOiJNNyAxMmMtMS41IDAtNC41IDEuNS01IDMgMy41IDEuNSA2IDEgNiAxLTEuNSAxLjUtMiAzLjUtMiA1IDIuNSAwIDQuNS0xLjUgNi0zIDEuNSAxLjUgMy41IDMgNiAzIDAtMS41LS41LTMuNS0yLTUgMCAwIDIuNS41IDYtMS0uNS0xLjUtMy41LTMtNS0zIDEuNS0xIDQtNCA0LTYtMi41IDAtNS41IDEuNS03IDMgMC0yLjUtLjUtNS0yLTctMS41IDItMiA0LjUtMiA3LTEuNS0xLjUtNC41LTMtNy0zIDAgMiAyLjUgNSA0IDYifV1dfSk7dmFyIFNiLFA3ZT1jKCgpPT57U2I9W1sicGF0aCIse2Q6Ik0xMCA3djEwLjkifV0sWyJwYXRoIix7ZDoiTTE0IDYuMVYxNyJ9XSxbInBhdGgiLHtkOiJNMTYgN1YzYTEgMSAwIDAgMSAxLjcwNy0uNzA3IDIuNSAyLjUgMCAwIDAgMi4xNTIuNzE3IDEgMSAwIDAgMSAxLjEzMSAxLjEzMSAyLjUgMi41IDAgMCAwIC43MTcgMi4xNTJBMSAxIDAgMCAxIDIxIDhoLTQifV0sWyJwYXRoIix7ZDoiTTE2LjUzNiA3LjQ2NWE1IDUgMCAwIDAtNy4wNzIgMGwtMiAyYTUgNSAwIDAgMCAwIDcuMDcgNSA1IDAgMCAwIDcuMDcyIDBsMi0yYTUgNSAwIDAgMCAwLTcuMDcifV0sWyJwYXRoIix7ZDoiTTggMTd2NGExIDEgMCAwIDEtMS43MDcuNzA3IDIuNSAyLjUgMCAwIDAtMi4xNTItLjcxNyAxIDEgMCAwIDEtMS4xMzEtMS4xMzEgMi41IDIuNSAwIDAgMC0uNzE3LTIuMTUyQTEgMSAwIDAgMSAzIDE2aDQifV1dfSk7dmFyIENiLEU3ZT1jKCgpPT57Q2I9W1sicGF0aCIse2Q6Ik0xMC41IDVIMTlhMiAyIDAgMCAxIDIgMnY4LjUifV0sWyJwYXRoIix7ZDoiTTE3IDExaC0uNSJ9XSxbInBhdGgiLHtkOiJNMTkgMTlINWEyIDIgMCAwIDEtMi0yVjdhMiAyIDAgMCAxIDItMiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik03IDExaDQifV0sWyJwYXRoIix7ZDoiTTcgMTVoMi41In1dXX0pO3ZhciBvYyxJN2U9YygoKT0+e29jPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTQiLHg6IjMiLHk6IjUiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNyAxNWg0TTE1IDE1aDJNNyAxMWgyTTEzIDExaDQifV1dfSk7dmFyIF9iLE43ZT1jKCgpPT57X2I9W1sicGF0aCIse2Q6Im0yMSA4LTIgMi0xLjUtMy43QTIgMiAwIDAgMCAxNS42NDYgNUg4LjRhMiAyIDAgMCAwLTEuOTAzIDEuMjU3TDUgMTAgMyA4In1dLFsicGF0aCIse2Q6Ik03IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcgMTRoLjAxIn1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiI4Iix4OiIzIix5OiIxMCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTUgMTh2MiJ9XSxbInBhdGgiLHtkOiJNMTkgMTh2MiJ9XV19KTt2YXIgVGIsUjdlPWMoKCk9PntUYj1bWyJwYXRoIix7ZDoiTTEwIDJoNCJ9XSxbInBhdGgiLHtkOiJtMjEgOC0yIDItMS41LTMuN0EyIDIgMCAwIDAgMTUuNjQ2IDVIOC40YTIgMiAwIDAgMC0xLjkwMyAxLjI1N0w1IDEwIDMgOCJ9XSxbInBhdGgiLHtkOiJNNyAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTE3IDE0aC4wMSJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiOCIseDoiMyIseToiMTAiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik01IDE4djIifV0sWyJwYXRoIix7ZDoiTTE5IDE4djIifV1dfSk7dmFyIExiLEY3ZT1jKCgpPT57TGI9W1sicGF0aCIse2Q6Ik0xOSAxN2gyYy42IDAgMS0uNCAxLTF2LTNjMC0uOS0uNy0xLjctMS41LTEuOUMxOC43IDEwLjYgMTYgMTAgMTYgMTBzLTEuMy0xLjQtMi4yLTIuM2MtLjUtLjQtMS4xLS43LTEuOC0uN0g1Yy0uNiAwLTEuMS40LTEuNC45bC0xLjQgMi45QTMuNyAzLjcgMCAwIDAgMiAxMnY0YzAgLjYuNCAxIDEgMWgyIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiIxNyIscjoiMiJ9XSxbInBhdGgiLHtkOiJNOSAxN2g2In1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTciLHI6IjIifV1dfSk7dmFyICRiLE83ZT1jKCgpPT57JGI9W1sicGF0aCIse2Q6Ik0xOCAxOVY5YTQgNCAwIDAgMC00LTRINmE0IDQgMCAwIDAtNCA0djhhMiAyIDAgMCAwIDIgMmgyIn1dLFsicGF0aCIse2Q6Ik0yIDloM2ExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAxLTEgMUgyIn1dLFsicGF0aCIse2Q6Ik0yMiAxN3YxYTEgMSAwIDAgMS0xIDFIMTB2LTlhMSAxIDAgMCAxIDEtMWgyYTEgMSAwIDAgMSAxIDF2OSJ9XSxbImNpcmNsZSIse2N4OiI4IixjeToiMTkiLHI6IjIifV1dfSk7dmFyIERiLEI3ZT1jKCgpPT57RGI9W1sicGF0aCIse2Q6Ik0yLjI3IDIxLjdzOS44Ny0zLjUgMTIuNzMtNi4zNmE0LjUgNC41IDAgMCAwLTYuMzYtNi4zN0M1Ljc3IDExLjg0IDIuMjcgMjEuNyAyLjI3IDIxLjd6TTguNjQgMTRsLTIuMDUtMi4wNE0xNS4zNCAxNWwtMi40Ni0yLjQ2In1dLFsicGF0aCIse2Q6Ik0yMiA5cy0xLjMzLTItMy41LTJDMTYuODYgNyAxNSA5IDE1IDlzMS4zMyAyIDMuNSAyUzIyIDkgMjIgOXoifV0sWyJwYXRoIix7ZDoiTTE1IDJzLTIgMS4zMy0yIDMuNVMxNSA5IDE1IDlzMi0xLjg0IDItMy41QzE3IDMuMzMgMTUgMiAxNSAyeiJ9XV19KTt2YXIgQWIsSDdlPWMoKCk9PntBYj1bWyJwYXRoIix7ZDoiTTEyIDE0djQifV0sWyJwYXRoIix7ZDoiTTE0LjE3MiAyYTIgMiAwIDAgMSAxLjQxNC41ODZsMy44MjggMy44MjhBMiAyIDAgMCAxIDIwIDcuODI4VjIwYTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMnoifV0sWyJwYXRoIix7ZDoiTTggMTRoOCJ9XSxbInJlY3QiLHt4OiI4Iix5OiIxMCIsd2lkdGg6IjgiLGhlaWdodDoiOCIscng6IjEifV1dfSk7dmFyIFBiLHE3ZT1jKCgpPT57UGI9W1sicGF0aCIse2Q6Ik0xMCA5djcifV0sWyJwYXRoIix7ZDoiTTE0IDZ2MTAifV0sWyJjaXJjbGUiLHtjeDoiMTcuNSIsY3k6IjEyLjUiLHI6IjMuNSJ9XSxbImNpcmNsZSIse2N4OiI2LjUiLGN5OiIxMi41IixyOiIzLjUifV1dfSk7dmFyIEViLFY3ZT1jKCgpPT57RWI9W1sicGF0aCIse2Q6Im0yIDE2IDQuMDM5LTkuNjlhLjUuNSAwIDAgMSAuOTIzIDBMMTEgMTYifV0sWyJwYXRoIix7ZDoiTTIyIDl2NyJ9XSxbInBhdGgiLHtkOiJNMy4zMDQgMTNoNi4zOTIifV0sWyJjaXJjbGUiLHtjeDoiMTguNSIsY3k6IjEyLjUiLHI6IjMuNSJ9XV19KTt2YXIgSWIsajdlPWMoKCk9PntJYj1bWyJwYXRoIix7ZDoiTTE1IDExaDQuNWExIDEgMCAwIDEgMCA1aC00YS41LjUgMCAwIDEtLjUtLjV2LTlhLjUuNSAwIDAgMSAuNS0uNWgzYTEgMSAwIDAgMSAwIDUifV0sWyJwYXRoIix7ZDoibTIgMTYgNC4wMzktOS42OWEuNS41IDAgMCAxIC45MjMgMEwxMSAxNiJ9XSxbInBhdGgiLHtkOiJNMy4zMDQgMTNoNi4zOTIifV1dfSk7dmFyIE5iLFU3ZT1jKCgpPT57TmI9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjEwIixyOiIyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxMCIscjoiMiJ9XSxbInBhdGgiLHtkOiJtNiAyMCAuNy0yLjlBMS40IDEuNCAwIDAgMSA4LjEgMTZoNy44YTEuNCAxLjQgMCAwIDEgMS40IDFsLjcgMyJ9XV19KTt2YXIgUmIsVzdlPWMoKCk9PntSYj1bWyJwYXRoIix7ZDoiTTIgOFY2YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnYxMmEyIDIgMCAwIDEtMiAyaC02In1dLFsicGF0aCIse2Q6Ik0yIDEyYTkgOSAwIDAgMSA4IDgifV0sWyJwYXRoIix7ZDoiTTIgMTZhNSA1IDAgMCAxIDQgNCJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIuMDEiLHkxOiIyMCIseTI6IjIwIn1dXX0pO3ZhciBGYixHN2U9YygoKT0+e0ZiPVtbInBhdGgiLHtkOiJNMTIgNWMuNjcgMCAxLjM1LjA5IDIgLjI2IDEuNzgtMiA1LjAzLTIuODQgNi40Mi0yLjI2IDEuNC41OC0uNDIgNy0uNDIgNyAuNTcgMS4wNyAxIDIuMjQgMSAzLjQ0QzIxIDE3LjkgMTYuOTcgMjEgMTIgMjFzLTktMy05LTcuNTZjMC0xLjI1LjUtMi40IDEtMy40NCAwIDAtMS44OS02LjQyLS41LTcgMS4zOS0uNTggNC43Mi4yMyA2LjUgMi4yM0E5LjA0IDkuMDQgMCAwIDEgMTIgNVoifV0sWyJwYXRoIix7ZDoiTTggMTR2LjUifV0sWyJwYXRoIix7ZDoiTTE2IDE0di41In1dLFsicGF0aCIse2Q6Ik0xMS4yNSAxNi4yNWgxLjVMMTIgMTdsLS43NS0uNzVaIn1dXX0pO3ZhciBPYixZN2U9YygoKT0+e09iPVtbInBhdGgiLHtkOiJNMTAgNVYzIn1dLFsicGF0aCIse2Q6Ik0xNCA1VjMifV0sWyJwYXRoIix7ZDoiTTE1IDIxdi0zYTMgMyAwIDAgMC02IDB2MyJ9XSxbInBhdGgiLHtkOiJNMTggM3Y4In1dLFsicGF0aCIse2Q6Ik0xOCA1SDYifV0sWyJwYXRoIix7ZDoiTTIyIDExSDIifV0sWyJwYXRoIix7ZDoiTTIyIDl2MTBhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWOSJ9XSxbInBhdGgiLHtkOiJNNiAzdjgifV1dfSk7dmFyIEJiLFo3ZT1jKCgpPT57QmI9W1sicGF0aCIse2Q6Ik0xNi43NSAxMmgzLjYzMmExIDEgMCAwIDEgLjg5NCAxLjQ0N2wtMi4wMzQgNC4wNjlhMSAxIDAgMCAxLTEuNzA4LjEzNGwtMi4xMjQtMi45NyJ9XSxbInBhdGgiLHtkOiJNMTcuMTA2IDkuMDUzYTEgMSAwIDAgMSAuNDQ3IDEuMzQxbC0zLjEwNiA2LjIxMWExIDEgMCAwIDEtMS4zNDIuNDQ3TDMuNjEgMTIuM2EyLjkyIDIuOTIgMCAwIDEtMS4zLTMuOTFMMy42OSA1LjZhMi45MiAyLjkyIDAgMCAxIDMuOTItMS4zeiJ9XSxbInBhdGgiLHtkOiJNMiAxOWgzLjc2YTIgMiAwIDAgMCAxLjgtMS4xTDkgMTUifV0sWyJwYXRoIix7ZDoiTTIgMjF2LTQifV0sWyJwYXRoIix7ZDoiTTcgOWguMDEifV1dfSk7dmFyIG5jLFg3ZT1jKCgpPT57bmM9W1sicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInBhdGgiLHtkOiJNNyAxMS4yMDdhLjUuNSAwIDAgMSAuMTQ2LS4zNTNsMi0yYS41LjUgMCAwIDEgLjcwOCAwbDMuMjkyIDMuMjkyYS41LjUgMCAwIDAgLjcwOCAwbDQuMjkyLTQuMjkyYS41LjUgMCAwIDEgLjg1NC4zNTNWMTZhMSAxIDAgMCAxLTEgMUg4YTEgMSAwIDAgMS0xLTF6In1dXX0pO3ZhciBsYyxLN2U9YygoKT0+e2xjPVtbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJyZWN0Iix7eDoiNyIseToiMTMiLHdpZHRoOiI5IixoZWlnaHQ6IjQiLHJ4OiIxIn1dLFsicmVjdCIse3g6IjciLHk6IjUiLHdpZHRoOiIxMiIsaGVpZ2h0OiI0IixyeDoiMSJ9XV19KTt2YXIgSGIsUTdlPWMoKCk9PntIYj1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik03IDExaDgifV0sWyJwYXRoIix7ZDoiTTcgMTZoMyJ9XSxbInBhdGgiLHtkOiJNNyA2aDEyIn1dXX0pO3ZhciBxYixKN2U9YygoKT0+e3FiPVtbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJwYXRoIix7ZDoiTTcgMTFoOCJ9XSxbInBhdGgiLHtkOiJNNyAxNmgxMiJ9XSxbInBhdGgiLHtkOiJNNyA2aDMifV1dfSk7dmFyIFZiLGVoZT1jKCgpPT57VmI9W1sicGF0aCIse2Q6Ik0xMSAxM3Y0In1dLFsicGF0aCIse2Q6Ik0xNSA1djQifV0sWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicmVjdCIse3g6IjciLHk6IjEzIix3aWR0aDoiOSIsaGVpZ2h0OiI0IixyeDoiMSJ9XSxbInJlY3QiLHt4OiI3Iix5OiI1Iix3aWR0aDoiMTIiLGhlaWdodDoiNCIscng6IjEifV1dfSk7dmFyIGNjLHRoZT1jKCgpPT57Y2M9W1sicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInBhdGgiLHtkOiJNNyAxNmg4In1dLFsicGF0aCIse2Q6Ik03IDExaDEyIn1dLFsicGF0aCIse2Q6Ik03IDZoMyJ9XV19KTt2YXIgZGMsYWhlPWMoKCk9PntkYz1bWyJwYXRoIix7ZDoiTTkgNXY0In1dLFsicmVjdCIse3dpZHRoOiI0IixoZWlnaHQ6IjYiLHg6IjciLHk6IjkiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik05IDE1djIifV0sWyJwYXRoIix7ZDoiTTE3IDN2MiJ9XSxbInJlY3QiLHt3aWR0aDoiNCIsaGVpZ2h0OiI4Iix4OiIxNSIseToiNSIscng6IjEifV0sWyJwYXRoIix7ZDoiTTE3IDEzdjMifV0sWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dXX0pO3ZhciBwYyxyaGU9YygoKT0+e3BjPVtbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJyZWN0Iix7eDoiMTUiLHk6IjUiLHdpZHRoOiI0IixoZWlnaHQ6IjEyIixyeDoiMSJ9XSxbInJlY3QiLHt4OiI3Iix5OiI4Iix3aWR0aDoiNCIsaGVpZ2h0OiI5IixyeDoiMSJ9XV19KTt2YXIgamIsaWhlPWMoKCk9PntqYj1bWyJwYXRoIix7ZDoiTTEzIDE3VjkifV0sWyJwYXRoIix7ZDoiTTE4IDE3di0zIn1dLFsicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInBhdGgiLHtkOiJNOCAxN1Y1In1dXX0pO3ZhciB1YyxzaGU9YygoKT0+e3VjPVtbInBhdGgiLHtkOiJNMTMgMTdWOSJ9XSxbInBhdGgiLHtkOiJNMTggMTdWNSJ9XSxbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJwYXRoIix7ZDoiTTggMTd2LTMifV1dfSk7dmFyIGZjLG9oZT1jKCgpPT57ZmM9W1sicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInBhdGgiLHtkOiJNMTggMTdWOSJ9XSxbInBhdGgiLHtkOiJNMTMgMTdWNSJ9XSxbInBhdGgiLHtkOiJNOCAxN3YtMyJ9XV19KTt2YXIgVWIsbmhlPWMoKCk9PntVYj1bWyJwYXRoIix7ZDoiTTExIDEzSDcifV0sWyJwYXRoIix7ZDoiTTE5IDloLTQifV0sWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicmVjdCIse3g6IjE1Iix5OiI1Iix3aWR0aDoiNCIsaGVpZ2h0OiIxMiIscng6IjEifV0sWyJyZWN0Iix7eDoiNyIseToiOCIsd2lkdGg6IjQiLGhlaWdodDoiOSIscng6IjEifV1dfSk7dmFyIFdiLGxoZT1jKCgpPT57V2I9W1sicGF0aCIse2Q6Ik0xMCA2aDgifV0sWyJwYXRoIix7ZDoiTTEyIDE2aDYifV0sWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik04IDExaDcifV1dfSk7dmFyIGhjLGNoZT1jKCgpPT57aGM9W1sicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInBhdGgiLHtkOiJtMTkgOS01IDUtNC00LTMgMyJ9XV19KTt2YXIgR2IsZGhlPWMoKCk9PntHYj1bWyJwYXRoIix7ZDoibTEzLjExIDcuNjY0IDEuNzggMi42NzIifV0sWyJwYXRoIix7ZDoibTE0LjE2MiAxMi43ODgtMy4zMjQgMS40MjQifV0sWyJwYXRoIix7ZDoibTIwIDQtNi4wNiAxLjUxNSJ9XSxbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI2IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTIiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjE1IixyOiIyIn1dXX0pO3ZhciBZYixwaGU9YygoKT0+e1liPVtbInBhdGgiLHtkOiJNNSAyMVYzIn1dLFsicGF0aCIse2Q6Ik0xMiAyMVY5In1dLFsicGF0aCIse2Q6Ik0xOSAyMXYtNiJ9XV19KTt2YXIgbWMsdWhlPWMoKCk9PnttYz1bWyJwYXRoIix7ZDoiTTUgMjF2LTYifV0sWyJwYXRoIix7ZDoiTTEyIDIxVjkifV0sWyJwYXRoIix7ZDoiTTE5IDIxVjMifV1dfSk7dmFyIGdjLGZoZT1jKCgpPT57Z2M9W1sicGF0aCIse2Q6Ik01IDIxdi02In1dLFsicGF0aCIse2Q6Ik0xMiAyMVYzIn1dLFsicGF0aCIse2Q6Ik0xOSAyMVY5In1dXX0pO3ZhciBaYixoaGU9YygoKT0+e1piPVtbInBhdGgiLHtkOiJNMTIgMTZ2NSJ9XSxbInBhdGgiLHtkOiJNMTYgMTR2NyJ9XSxbInBhdGgiLHtkOiJNMjAgMTB2MTEifV0sWyJwYXRoIix7ZDoibTIyIDMtOC42NDYgOC42NDZhLjUuNSAwIDAgMS0uNzA4IDBMOS4zNTQgOC4zNTRhLjUuNSAwIDAgMC0uNzA3IDBMMiAxNSJ9XSxbInBhdGgiLHtkOiJNNCAxOHYzIn1dLFsicGF0aCIse2Q6Ik04IDE0djcifV1dfSk7dmFyIGJjLG1oZT1jKCgpPT57YmM9W1sicGF0aCIse2Q6Ik02IDVoMTIifV0sWyJwYXRoIix7ZDoiTTQgMTJoMTAifV0sWyJwYXRoIix7ZDoiTTEyIDE5aDgifV1dfSk7dmFyIHZjLGdoZT1jKCgpPT57dmM9W1sicGF0aCIse2Q6Ik0yMSAxMmMuNTUyIDAgMS4wMDUtLjQ0OS45NS0uOTk4YTEwIDEwIDAgMCAwLTguOTUzLTguOTUxYy0uNTUtLjA1NS0uOTk4LjM5OC0uOTk4Ljk1djhhMSAxIDAgMCAwIDEgMXoifV0sWyJwYXRoIix7ZDoiTTIxLjIxIDE1Ljg5QTEwIDEwIDAgMSAxIDggMi44MyJ9XV19KTt2YXIgWGIsYmhlPWMoKCk9PntYYj1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik03IDE2Yy41LTIgMS41LTcgNC03IDIgMCAyIDMgNCAzIDIuNSAwIDQuNS01IDUtNyJ9XV19KTt2YXIgeGMsdmhlPWMoKCk9Pnt4Yz1bWyJjaXJjbGUiLHtjeDoiNy41IixjeToiNy41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsiY2lyY2xlIix7Y3g6IjE4LjUiLGN5OiI1LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJjaXJjbGUiLHtjeDoiMTEuNSIsY3k6IjExLjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJjaXJjbGUiLHtjeDoiNy41IixjeToiMTYuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbImNpcmNsZSIse2N4OiIxNy41IixjeToiMTQuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV1dfSk7dmFyIEtiLHhoZT1jKCgpPT57S2I9W1sicGF0aCIse2Q6Ik0xOCA2IDcgMTdsLTUtNSJ9XSxbInBhdGgiLHtkOiJtMjIgMTAtNy41IDcuNUwxMyAxNiJ9XV19KTt2YXIgUWIseWhlPWMoKCk9PntRYj1bWyJwYXRoIix7ZDoiTTIwIDRMOSAxNSJ9XSxbInBhdGgiLHtkOiJNMjEgMTlMMyAxOSJ9XSxbInBhdGgiLHtkOiJNOSAxNUw0IDEwIn1dXX0pO3ZhciBKYix3aGU9YygoKT0+e0piPVtbInBhdGgiLHtkOiJNMjAgNiA5IDE3bC01LTUifV1dfSk7dmFyIGV2LE1oZT1jKCgpPT57ZXY9W1sicGF0aCIse2Q6Ik0xNyAyMWExIDEgMCAwIDAgMS0xdi01LjM1YzAtLjQ1Ny4zMTYtLjg0NC43MjctMS4wNDFhNCA0IDAgMCAwLTIuMTM0LTcuNTg5IDUgNSAwIDAgMC05LjE4NiAwIDQgNCAwIDAgMC0yLjEzNCA3LjU4OGMuNDExLjE5OC43MjcuNTg1LjcyNyAxLjA0MVYyMGExIDEgMCAwIDAgMSAxWiJ9XSxbInBhdGgiLHtkOiJNNiAxN2gxMiJ9XV19KTt2YXIgdHYsa2hlPWMoKCk9Pnt0dj1bWyJwYXRoIix7ZDoiTTIgMTdhNSA1IDAgMCAwIDEwIDBjMC0yLjc2LTIuNS01LTUtMy0yLjUtMi01IC4yNC01IDNaIn1dLFsicGF0aCIse2Q6Ik0xMiAxN2E1IDUgMCAwIDAgMTAgMGMwLTIuNzYtMi41LTUtNS0zLTIuNS0yLTUgLjI0LTUgM1oifV0sWyJwYXRoIix7ZDoiTTcgMTRjMy4yMi0yLjkxIDQuMjktOC43NSA1LTEyIDEuNjYgMi4zOCA0Ljk0IDkgNSAxMiJ9XSxbInBhdGgiLHtkOiJNMjIgOWMtNC4yOSAwLTcuMTQtMi4zMy0xMC03IDUuNzEgMCAxMCA0LjY3IDEwIDdaIn1dXX0pO3ZhciBhdix6aGU9YygoKT0+e2F2PVtbInBhdGgiLHtkOiJNNCAyMGEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDVhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoibTYuNyAxOC0xLTFDNC4zNSAxNS42ODIgMyAxNC4wOSAzIDEyYTUgNSAwIDAgMSA0Ljk1LTVjMS41ODQgMCAyLjcuNDU1IDQuMDUgMS44MThDMTMuMzUgNy40NTUgMTQuNDY2IDcgMTYuMDUgN0E1IDUgMCAwIDEgMjEgMTJjMCAyLjA4Mi0xLjM1OSAzLjY3My0yLjcgNWwtMSAxIn1dLFsicGF0aCIse2Q6Ik0xMCA0aDQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2Ni44MTgifV1dfSk7dmFyIHJ2LFNoZT1jKCgpPT57cnY9W1sicGF0aCIse2Q6Ik01IDIwYTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnYxYTEgMSAwIDAgMS0xIDFINmExIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJNMTUgMThjMS41LS42MTUgMy0yLjQ2MSAzLTQuOTIzQzE4IDguNzY5IDE0LjUgNC40NjIgMTIgMiA5LjUgNC40NjIgNiA4Ljc3IDYgMTMuMDc3IDYgMTUuNTM5IDcuNSAxNy4zODUgOSAxOCJ9XSxbInBhdGgiLHtkOiJtMTYgNy0yLjUgMi41In1dLFsicGF0aCIse2Q6Ik05IDJoNiJ9XV19KTt2YXIgaXYsQ2hlPWMoKCk9Pntpdj1bWyJwYXRoIix7ZDoiTTUgMjBhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMUg2YTEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik0xNi41IDE4YzEtMiAyLjUtNSAyLjUtOWE3IDcgMCAwIDAtNy03SDYuNjM1YTEgMSAwIDAgMC0uNzY4IDEuNjRMNyA1bC0yLjMyIDUuODAyYTIgMiAwIDAgMCAuOTUgMi41MjZsMi44NyAxLjQ1NiJ9XSxbInBhdGgiLHtkOiJtMTUgNSAxLjQyNS0xLjQyNSJ9XSxbInBhdGgiLHtkOiJtMTcgOCAxLjUzLTEuNTMifV0sWyJwYXRoIix7ZDoiTTkuNzEzIDEyLjE4NSA3IDE4In1dXX0pO3ZhciBzdixfaGU9YygoKT0+e3N2PVtbInBhdGgiLHtkOiJNNSAyMGEyIDIgMCAwIDEgMi0yaDEwYTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDZhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoibTE0LjUgMTAgMS41IDgifV0sWyJwYXRoIix7ZDoiTTcgMTBoMTAifV0sWyJwYXRoIix7ZDoibTggMTggMS41LTgifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI2IixyOiI0In1dXX0pO3ZhciBvdixUaGU9YygoKT0+e292PVtbInBhdGgiLHtkOiJNNCAyMGEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDVhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoibTEyLjQ3NCA1Ljk0MyAxLjU2NyA1LjM0YTEgMSAwIDAgMCAxLjc1LjMyOGwyLjYxNi0zLjQwMiJ9XSxbInBhdGgiLHtkOiJtMjAgOS0zIDkifV0sWyJwYXRoIix7ZDoibTUuNTk0IDguMjA5IDIuNjE1IDMuNDAzYTEgMSAwIDAgMCAxLjc1LS4zMjlsMS41NjctNS4zNCJ9XSxbInBhdGgiLHtkOiJNNyAxOCA0IDkifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI0IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjIwIixjeToiNyIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiNyIscjoiMiJ9XV19KTt2YXIgbnYsTGhlPWMoKCk9Pntudj1bWyJwYXRoIix7ZDoiTTUgMjBhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMUg2YTEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik0xMCAydjIifV0sWyJwYXRoIix7ZDoiTTE0IDJ2MiJ9XSxbInBhdGgiLHtkOiJtMTcgMTgtMS05In1dLFsicGF0aCIse2Q6Ik02IDJ2NWEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMlYyIn1dLFsicGF0aCIse2Q6Ik02IDRoMTIifV0sWyJwYXRoIix7ZDoibTcgMTggMS05In1dXX0pO3ZhciBsdiwkaGU9YygoKT0+e2x2PVtbInBhdGgiLHtkOiJtNiA5IDYgNiA2LTYifV1dfSk7dmFyIGN2LERoZT1jKCgpPT57Y3Y9W1sicGF0aCIse2Q6Im0xNyAxOC02LTYgNi02In1dLFsicGF0aCIse2Q6Ik03IDZ2MTIifV1dfSk7dmFyIGR2LEFoZT1jKCgpPT57ZHY9W1sicGF0aCIse2Q6Im03IDE4IDYtNi02LTYifV0sWyJwYXRoIix7ZDoiTTE3IDZ2MTIifV1dfSk7dmFyIHB2LFBoZT1jKCgpPT57cHY9W1sicGF0aCIse2Q6Im05IDE4IDYtNi02LTYifV1dfSk7dmFyIHV2LEVoZT1jKCgpPT57dXY9W1sicGF0aCIse2Q6Im0xNSAxOC02LTYgNi02In1dXX0pO3ZhciBmdixJaGU9YygoKT0+e2Z2PVtbInBhdGgiLHtkOiJtMTggMTUtNi02LTYgNiJ9XV19KTt2YXIgaHYsTmhlPWMoKCk9Pntodj1bWyJwYXRoIix7ZDoibTcgMjAgNS01IDUgNSJ9XSxbInBhdGgiLHtkOiJtNyA0IDUgNSA1LTUifV1dfSk7dmFyIG12LFJoZT1jKCgpPT57bXY9W1sicGF0aCIse2Q6Im03IDYgNSA1IDUtNSJ9XSxbInBhdGgiLHtkOiJtNyAxMyA1IDUgNS01In1dXX0pO3ZhciBndixGaGU9YygoKT0+e2d2PVtbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxMmguMDEifV0sWyJwYXRoIix7ZDoibTE3IDcgNSA1LTUgNSJ9XSxbInBhdGgiLHtkOiJtNyA3LTUgNSA1IDUifV0sWyJwYXRoIix7ZDoiTTggMTJoLjAxIn1dXX0pO3ZhciBidixPaGU9YygoKT0+e2J2PVtbInBhdGgiLHtkOiJtOSA3LTUgNSA1IDUifV0sWyJwYXRoIix7ZDoibTE1IDcgNSA1LTUgNSJ9XV19KTt2YXIgdnYsQmhlPWMoKCk9Pnt2dj1bWyJwYXRoIix7ZDoibTExIDE3LTUtNSA1LTUifV0sWyJwYXRoIix7ZDoibTE4IDE3LTUtNSA1LTUifV1dfSk7dmFyIHh2LEhoZT1jKCgpPT57eHY9W1sicGF0aCIse2Q6Im0yMCAxNy01LTUgNS01In1dLFsicGF0aCIse2Q6Im00IDE3IDUtNS01LTUifV1dfSk7dmFyIHl2LHFoZT1jKCgpPT57eXY9W1sicGF0aCIse2Q6Im02IDE3IDUtNS01LTUifV0sWyJwYXRoIix7ZDoibTEzIDE3IDUtNS01LTUifV1dfSk7dmFyIHd2LFZoZT1jKCgpPT57d3Y9W1sicGF0aCIse2Q6Im03IDE1IDUgNSA1LTUifV0sWyJwYXRoIix7ZDoibTcgOSA1LTUgNSA1In1dXX0pO3ZhciBNdixqaGU9YygoKT0+e012PVtbInBhdGgiLHtkOiJtMTcgMTEtNS01LTUgNSJ9XSxbInBhdGgiLHtkOiJtMTcgMTgtNS01LTUgNSJ9XV19KTt2YXIgeWMsVWhlPWMoKCk9Pnt5Yz1bWyJwYXRoIix7ZDoiTTEwLjg4IDIxLjk0IDE1LjQ2IDE0In1dLFsicGF0aCIse2Q6Ik0yMS4xNyA4SDEyIn1dLFsicGF0aCIse2Q6Ik0zLjk1IDYuMDYgOC41NCAxNCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI0In1dXX0pO3ZhciBrdixXaGU9YygoKT0+e2t2PVtbInBhdGgiLHtkOiJNMTIgMTJIM2ExIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMWgxMyJ9XSxbInBhdGgiLHtkOiJNMTggOGMwLTIuNS0yLTIuNS0yLTUifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjEgMTJhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMS0uNS44NjYifV0sWyJwYXRoIix7ZDoiTTIyIDhjMC0yLjUtMi0yLjUtMi01In1dLFsicGF0aCIse2Q6Ik03IDEydjQifV1dfSk7dmFyIHp2LEdoZT1jKCgpPT57enY9W1sicGF0aCIse2Q6Ik0xMCA5aDQifV0sWyJwYXRoIix7ZDoiTTEyIDd2NSJ9XSxbInBhdGgiLHtkOiJNMTQgMjF2LTNhMiAyIDAgMCAwLTQgMHYzIn1dLFsicGF0aCIse2Q6Im0xOCA5IDMuNTIgMi4xNDdhMSAxIDAgMCAxIC40OC44NTRWMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJ2LTYuOTk5YTEgMSAwIDAgMSAuNDgtLjg1NEw2IDkifV0sWyJwYXRoIix7ZDoiTTYgMjFWN2ExIDEgMCAwIDEgLjM3Ni0uNzgybDUtMy45OTlhMSAxIDAgMCAxIDEuMjQ5LjAwMWw1IDRBMSAxIDAgMCAxIDE4IDd2MTQifV1dfSk7dmFyIFN2LFloZT1jKCgpPT57U3Y9W1sicGF0aCIse2Q6Ik0xNyAxMkgzYTEgMSAwIDAgMC0xIDF2MmExIDEgMCAwIDAgMSAxaDE0In1dLFsicGF0aCIse2Q6Ik0xOCA4YzAtMi41LTItMi41LTItNSJ9XSxbInBhdGgiLHtkOiJNMjEgMTZhMSAxIDAgMCAwIDEtMXYtMmExIDEgMCAwIDAtMS0xIn1dLFsicGF0aCIse2Q6Ik0yMiA4YzAtMi41LTItMi41LTItNSJ9XSxbInBhdGgiLHtkOiJNNyAxMnY0In1dXX0pO3ZhciB3YyxaaGU9YygoKT0+e3djPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjgiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMi4wMSIseTE6IjE2Iix5MjoiMTYifV1dfSk7dmFyIE1jLFhoZT1jKCgpPT57TWM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA4djgifV0sWyJwYXRoIix7ZDoibTggMTIgNCA0IDQtNCJ9XV19KTt2YXIga2MsS2hlPWMoKCk9PntrYz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTEyIDgtNCA0IDQgNCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJIOCJ9XV19KTt2YXIgemMsUWhlPWMoKCk9Pnt6Yz1bWyJwYXRoIix7ZDoiTTIgMTJhMTAgMTAgMCAxIDEgMTAgMTAifV0sWyJwYXRoIix7ZDoibTIgMjIgMTAtMTAifV0sWyJwYXRoIix7ZDoiTTggMjJIMnYtNiJ9XV19KTt2YXIgU2MsSmhlPWMoKCk9PntTYz1bWyJwYXRoIix7ZDoiTTEyIDIyYTEwIDEwIDAgMSAxIDEwLTEwIn1dLFsicGF0aCIse2Q6Ik0yMiAyMiAxMiAxMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTZ2NmgtNiJ9XV19KTt2YXIgQ2MsZW1lPWMoKCk9PntDYz1bWyJwYXRoIix7ZDoiTTIgOFYyaDYifV0sWyJwYXRoIix7ZDoibTIgMiAxMCAxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMkExMCAxMCAwIDEgMSAyIDEyIn1dXX0pO3ZhciBfYyx0bWU9YygoKT0+e19jPVtbInBhdGgiLHtkOiJNMjIgMTJBMTAgMTAgMCAxIDEgMTIgMiJ9XSxbInBhdGgiLHtkOiJNMjIgMiAxMiAxMiJ9XSxbInBhdGgiLHtkOiJNMTYgMmg2djYifV1dfSk7dmFyIFRjLGFtZT1jKCgpPT57VGM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im0xMiAxNiA0LTQtNC00In1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV1dfSk7dmFyIExjLHJtZT1jKCgpPT57TGM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im0xNiAxMi00LTQtNCA0In1dLFsicGF0aCIse2Q6Ik0xMiAxNlY4In1dXX0pO3ZhciAkYyxpbWU9YygoKT0+eyRjPVtbInBhdGgiLHtkOiJNMjEuODAxIDEwQTEwIDEwIDAgMSAxIDE3IDMuMzM1In1dLFsicGF0aCIse2Q6Im05IDExIDMgM0wyMiA0In1dXX0pO3ZhciBEYyxzbWU9YygoKT0+e0RjPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtOSAxMiAyIDIgNC00In1dXX0pO3ZhciBBYyxvbWU9YygoKT0+e0FjPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtMTYgMTAtNCA0LTQtNCJ9XV19KTt2YXIgUGMsbm1lPWMoKCk9PntQYz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTE0IDE2LTQtNCA0LTQifV1dfSk7dmFyIEVjLGxtZT1jKCgpPT57RWM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im0xMCA4IDQgNC00IDQifV1dfSk7dmFyIEljLGNtZT1jKCgpPT57SWM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im04IDE0IDQtNCA0IDQifV1dfSk7dmFyIEN2LGRtZT1jKCgpPT57Q3Y9W1sicGF0aCIse2Q6Ik0xMC4xIDIuMTgyYTEwIDEwIDAgMCAxIDMuOCAwIn1dLFsicGF0aCIse2Q6Ik0xMy45IDIxLjgxOGExMCAxMCAwIDAgMS0zLjggMCJ9XSxbInBhdGgiLHtkOiJNMTcuNjA5IDMuNzIxYTEwIDEwIDAgMCAxIDIuNjkgMi43In1dLFsicGF0aCIse2Q6Ik0yLjE4MiAxMy45YTEwIDEwIDAgMCAxIDAtMy44In1dLFsicGF0aCIse2Q6Ik0yMC4yNzkgMTcuNjA5YTEwIDEwIDAgMCAxLTIuNyAyLjY5In1dLFsicGF0aCIse2Q6Ik0yMS44MTggMTAuMWExMCAxMCAwIDAgMSAwIDMuOCJ9XSxbInBhdGgiLHtkOiJNMy43MjEgNi4zOTFhMTAgMTAgMCAwIDEgMi43LTIuNjkifV0sWyJwYXRoIix7ZDoiTTYuMzkxIDIwLjI3OWExMCAxMCAwIDAgMS0yLjY5LTIuNyJ9XV19KTt2YXIgTmMscG1lPWMoKCk9PntOYz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJsaW5lIix7eDE6IjgiLHgyOiIxNiIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIxNiIseTI6IjE2In1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiOCIseTI6IjgifV1dfSk7dmFyIF92LHVtZT1jKCgpPT57X3Y9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xNiA4aC02YTIgMiAwIDEgMCAwIDRoNGEyIDIgMCAxIDEgMCA0SDgifV0sWyJwYXRoIix7ZDoiTTEyIDE4VjYifV1dfSk7dmFyIFR2LGZtZT1jKCgpPT57VHY9W1sicGF0aCIse2Q6Ik0xMC4xIDIuMThhOS45MyA5LjkzIDAgMCAxIDMuOCAwIn1dLFsicGF0aCIse2Q6Ik0xNy42IDMuNzFhOS45NSA5Ljk1IDAgMCAxIDIuNjkgMi43In1dLFsicGF0aCIse2Q6Ik0yMS44MiAxMC4xYTkuOTMgOS45MyAwIDAgMSAwIDMuOCJ9XSxbInBhdGgiLHtkOiJNMjAuMjkgMTcuNmE5Ljk1IDkuOTUgMCAwIDEtMi43IDIuNjkifV0sWyJwYXRoIix7ZDoiTTEzLjkgMjEuODJhOS45NCA5Ljk0IDAgMCAxLTMuOCAwIn1dLFsicGF0aCIse2Q6Ik02LjQgMjAuMjlhOS45NSA5Ljk1IDAgMCAxLTIuNjktMi43In1dLFsicGF0aCIse2Q6Ik0yLjE4IDEzLjlhOS45MyA5LjkzIDAgMCAxIDAtMy44In1dLFsicGF0aCIse2Q6Ik0zLjcxIDYuNGE5Ljk1IDkuOTUgMCAwIDEgMi43LTIuNjkifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XV19KTt2YXIgTHYsaG1lPWMoKCk9PntMdj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XV19KTt2YXIgJHYsbW1lPWMoKCk9Pnskdj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE3IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDEyaC4wMSJ9XV19KTt2YXIgRHYsZ21lPWMoKCk9PntEdj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTcgMTBoMTAifV0sWyJwYXRoIix7ZDoiTTcgMTRoMTAifV1dfSk7dmFyIEF2LGJtZT1jKCgpPT57QXY9W1sicGF0aCIse2Q6Ik0xMiAyYTEwIDEwIDAgMCAxIDcuMzggMTYuNzUifV0sWyJwYXRoIix7ZDoibTE2IDEyLTQtNC00IDQifV0sWyJwYXRoIix7ZDoiTTEyIDE2VjgifV0sWyJwYXRoIix7ZDoiTTIuNSA4Ljg3NWExMCAxMCAwIDAgMC0uNSAzIn1dLFsicGF0aCIse2Q6Ik0yLjgzIDE2YTEwIDEwIDAgMCAwIDIuNDMgMy40In1dLFsicGF0aCIse2Q6Ik00LjYzNiA1LjIzNWExMCAxMCAwIDAgMSAuODkxLS44NTcifV0sWyJwYXRoIix7ZDoiTTguNjQ0IDIxLjQyYTEwIDEwIDAgMCAwIDcuNjMxLS4zOCJ9XV19KTt2YXIgUHYsdm1lPWMoKCk9PntQdj1bWyJwYXRoIix7ZDoiTTEyIDJhMTAgMTAgMCAwIDEgNy4zOCAxNi43NSJ9XSxbInBhdGgiLHtkOiJNMTIgOHY4In1dLFsicGF0aCIse2Q6Ik0xNiAxMkg4In1dLFsicGF0aCIse2Q6Ik0yLjUgOC44NzVhMTAgMTAgMCAwIDAtLjUgMyJ9XSxbInBhdGgiLHtkOiJNMi44MyAxNmExMCAxMCAwIDAgMCAyLjQzIDMuNCJ9XSxbInBhdGgiLHtkOiJNNC42MzYgNS4yMzVhMTAgMTAgMCAwIDEgLjg5MS0uODU3In1dLFsicGF0aCIse2Q6Ik04LjY0NCAyMS40MmExMCAxMCAwIDAgMCA3LjYzMS0uMzgifV1dfSk7dmFyIFJjLHhtZT1jKCgpPT57UmM9W1sicGF0aCIse2Q6Ik0xNS42IDIuN2ExMCAxMCAwIDEgMCA1LjcgNS43In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTEzLjQgMTAuNiAxOSA1In1dXX0pO3ZhciBGYyx5bWU9YygoKT0+e0ZjPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dXX0pO3ZhciBFdix3bWU9YygoKT0+e0V2PVtbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik04LjM1IDIuNjlBMTAgMTAgMCAwIDEgMjEuMyAxNS42NSJ9XSxbInBhdGgiLHtkOiJNMTkuMDggMTkuMDhBMTAgMTAgMCAxIDEgNC45MiA0LjkyIn1dXX0pO3ZhciBPYyxNbWU9YygoKT0+e09jPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNOSAxN1Y3aDRhMyAzIDAgMCAxIDAgNkg5In1dXX0pO3ZhciBCYyxrbWU9YygoKT0+e0JjPVtbInBhdGgiLHtkOiJNMTIuNjU2IDdIMTNhMyAzIDAgMCAxIDIuOTg0IDMuMzA3In1dLFsicGF0aCIse2Q6Ik0xMyAxM0g5In1dLFsicGF0aCIse2Q6Ik0xOS4wNzEgMTkuMDcxQTEgMSAwIDAgMSA0LjkzIDQuOTMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNOC4zNTcgMi42ODdhMTAgMTAgMCAwIDEgMTIuOTU2IDEyLjk1NiJ9XSxbInBhdGgiLHtkOiJNOSAxN1Y5In1dXX0pO3ZhciBIYyx6bWU9YygoKT0+e0hjPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImxpbmUiLHt4MToiMTAiLHgyOiIxMCIseTE6IjE1Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTQiLHgyOiIxNCIseTE6IjE1Iix5MjoiOSJ9XV19KTt2YXIgcWMsU21lPWMoKCk9PntxYz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Ik05IDloLjAxIn1dLFsicGF0aCIse2Q6Ik0xNSAxNWguMDEifV1dfSk7dmFyIEl2LENtZT1jKCgpPT57SXY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTkiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI1IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTIiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIxOSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiMTkiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjEyIixyOiIyIn1dXX0pO3ZhciBWYyxfbWU9YygoKT0+e1ZjPVtbInBhdGgiLHtkOiJNOSA5LjAwM2ExIDEgMCAwIDEgMS41MTctLjg1OWw0Ljk5NyAyLjk5N2ExIDEgMCAwIDEgMCAxLjcxOGwtNC45OTcgMi45OTdBMSAxIDAgMCAxIDkgMTQuOTk2eiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XV19KTt2YXIgamMsVG1lPWMoKCk9PntqYz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XSxbInBhdGgiLHtkOiJNMTIgOHY4In1dXX0pO3ZhciBOdixMbWU9YygoKT0+e052PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTAgMTZWOS41YTEgMSAwIDAgMSA1IDAifV0sWyJwYXRoIix7ZDoiTTggMTJoNCJ9XSxbInBhdGgiLHtkOiJNOCAxNmg3In1dXX0pO3ZhciBVYywkbWU9YygoKT0+e1VjPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgN3Y0In1dLFsicGF0aCIse2Q6Ik03Ljk5OCA5LjAwM2E1IDUgMCAxIDAgOC0uMDA1In1dXX0pO3ZhciB5byxEbWU9YygoKT0+e3lvPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNOS4wOSA5YTMgMyAwIDAgMSA1LjgzIDFjMCAyLTMgMy0zIDMifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSJ9XV19KTt2YXIgV2MsQW1lPWMoKCk9PntXYz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTIyIDIgMiAyMiJ9XV19KTt2YXIgUnYsUG1lPWMoKCk9PntSdj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJsaW5lIix7eDE6IjkiLHgyOiIxNSIseTE6IjE1Iix5MjoiOSJ9XV19KTt2YXIgRnYsRW1lPWMoKCk9PntGdj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNiJ9XV19KTt2YXIgT3YsSW1lPWMoKCk9PntPdj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTExLjA1MSA3LjYxNmExIDEgMCAwIDEgMS45MDkuMDI0bC43MzcgMS40NTJhMSAxIDAgMCAwIC43MzcuNTM1bDEuNjM0LjI1NmExIDEgMCAwIDEgLjU4OCAxLjgwNmwtMS4xNzIgMS4xNjhhMSAxIDAgMCAwLS4yODIuODY2bC4yNTkgMS42MTNhMSAxIDAgMCAxLTEuNTQxIDEuMTM0bC0xLjQ2NS0uNzVhMSAxIDAgMCAwLS45MTIgMGwtMS40NjUuNzVhMSAxIDAgMCAxLTEuNTM5LTEuMTMzbC4yNTgtMS42MTNhMSAxIDAgMCAwLS4yODItLjg2N2wtMS4xNTYtMS4xNTJhMSAxIDAgMCAxIC41NzItMS44MjJsMS42MzMtLjI1NmExIDEgMCAwIDAgLjczNy0uNTM1eiJ9XV19KTt2YXIgR2MsTm1lPWMoKCk9PntHYz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJyZWN0Iix7eDoiOSIseToiOSIsd2lkdGg6IjYiLGhlaWdodDoiNiIscng6IjEifV1dfSk7dmFyIFljLFJtZT1jKCgpPT57WWM9W1sicGF0aCIse2Q6Ik0xOCAyMGE2IDYgMCAwIDAtMTIgMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiI0In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXX0pO3ZhciBaYyxGbWU9YygoKT0+e1pjPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Ik03IDIwLjY2MlYxOWEyIDIgMCAwIDEgMi0yaDZhMiAyIDAgMCAxIDIgMnYxLjY2MiJ9XV19KTt2YXIgWGMsT21lPWMoKCk9PntYYz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Im05IDkgNiA2In1dXX0pO3ZhciBCdixCbWU9YygoKT0+e0J2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XV19KTt2YXIgSHYsSG1lPWMoKCk9PntIdj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTEgOWg0YTIgMiAwIDAgMCAyLTJWMyJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiOSIscjoiMiJ9XSxbInBhdGgiLHtkOiJNNyAyMXYtNGEyIDIgMCAwIDEgMi0yaDQifV0sWyJjaXJjbGUiLHtjeDoiMTUiLGN5OiIxNSIscjoiMiJ9XV19KTt2YXIgcXYscW1lPWMoKCk9Pntxdj1bWyJwYXRoIix7ZDoiTTIxLjY2IDE3LjY3YTEuMDggMS4wOCAwIDAgMS0uMDQgMS42QTEyIDEyIDAgMCAxIDQuNzMgMi4zOGExLjEgMS4xIDAgMCAxIDEuNjEtLjA0eiJ9XSxbInBhdGgiLHtkOiJNMTkuNjUgMTUuNjZBOCA4IDAgMCAxIDguMzUgNC4zNCJ9XSxbInBhdGgiLHtkOiJtMTQgMTAtNS41IDUuNSJ9XSxbInBhdGgiLHtkOiJNMTQgMTcuODVWMTBINi4xNSJ9XV19KTt2YXIgVnYsVm1lPWMoKCk9PntWdj1bWyJwYXRoIix7ZDoibTEyLjI5NiAzLjQ2NCAzLjAyIDMuOTU2In1dLFsicGF0aCIse2Q6Ik0yMC4yIDYgMyAxMWwtLjktMi40Yy0uMy0xLjEuMy0yLjIgMS4zLTIuNWwxMy41LTRjMS4xLS4zIDIuMi4zIDIuNSAxLjN6In1dLFsicGF0aCIse2Q6Ik0zIDExaDE4djhhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6In1dLFsicGF0aCIse2Q6Im02LjE4IDUuMjc2IDMuMSAzLjg5OSJ9XV19KTt2YXIganYsam1lPWMoKCk9Pntqdj1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiOCIseToiMiIscng6IjEiLHJ5OiIxIn1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJtOSAxNCAyIDIgNC00In1dXX0pO3ZhciBVdixVbWU9YygoKT0+e1V2PVtbInBhdGgiLHtkOiJNMTYgMTR2Mi4ybDEuNiAxIn1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYuODMyIn1dLFsicGF0aCIse2Q6Ik04IDRINmEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMiJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjE2IixyOiI2In1dLFsicmVjdCIse3g6IjgiLHk6IjIiLHdpZHRoOiI4IixoZWlnaHQ6IjQiLHJ4OiIxIn1dXX0pO3ZhciBXdixXbWU9YygoKT0+e1d2PVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI0Iix4OiI4Iix5OiIyIixyeDoiMSIscnk6IjEifV0sWyJwYXRoIix7ZDoiTTggNEg2YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0ydi0yIn1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnY0In1dLFsicGF0aCIse2Q6Ik0yMSAxNEgxMSJ9XSxbInBhdGgiLHtkOiJtMTUgMTAtNCA0IDQgNCJ9XV19KTt2YXIgR3YsR21lPWMoKCk9PntHdj1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiOCIseToiMiIscng6IjEiLHJ5OiIxIn1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTFoNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZoNCJ9XSxbInBhdGgiLHtkOiJNOCAxMWguMDEifV0sWyJwYXRoIix7ZDoiTTggMTZoLjAxIn1dXX0pO3ZhciBZdixZbWU9YygoKT0+e1l2PVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI0Iix4OiI4Iix5OiIyIixyeDoiMSIscnk6IjEifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik05IDE0aDYifV1dfSk7dmFyIFp2LFptZT1jKCgpPT57WnY9W1sicGF0aCIse2Q6Ik0xMSAxNGgxMCJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MS4zNDQifV0sWyJwYXRoIix7ZDoibTE3IDE4IDQtNC00LTQifV0sWyJwYXRoIix7ZDoiTTggNEg2YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMS43OTMtMS4xMTMifV0sWyJyZWN0Iix7eDoiOCIseToiMiIsd2lkdGg6IjgiLGhlaWdodDoiNCIscng6IjEifV1dfSk7dmFyIEtjLFhtZT1jKCgpPT57S2M9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjgiLHk6IjIiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik04IDRINmEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtLjUifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMS43MyAxIn1dLFsicGF0aCIse2Q6Ik04IDE4aDEifV0sWyJwYXRoIix7ZDoiTTIxLjM3OCAxMi42MjZhMSAxIDAgMCAwLTMuMDA0LTMuMDA0bC00LjAxIDQuMDEyYTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2eiJ9XV19KTt2YXIgUWMsS21lPWMoKCk9PntRYz1bWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxLjM0IDE1LjY2NGExIDEgMCAxIDAtMy4wMDQtMy4wMDRsLTUuMDEgNS4wMTJhMiAyIDAgMCAwLS41MDYuODU0bC0uODM3IDIuODdhLjUuNSAwIDAgMCAuNjIuNjJsMi44Ny0uODM3YTIgMiAwIDAgMCAuODU0LS41MDZ6In1dLFsicGF0aCIse2Q6Ik04IDIySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInJlY3QiLHt4OiI4Iix5OiIyIix3aWR0aDoiOCIsaGVpZ2h0OiI0IixyeDoiMSJ9XV19KTt2YXIgWHYsUW1lPWMoKCk9PntYdj1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiOCIseToiMiIscng6IjEiLHJ5OiIxIn1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNOSAxNGg2In1dLFsicGF0aCIse2Q6Ik0xMiAxN3YtNiJ9XV19KTt2YXIgS3YsSm1lPWMoKCk9PntLdj1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiOCIseToiMiIscng6IjEiLHJ5OiIxIn1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNOSAxMnYtMWg2djEifV0sWyJwYXRoIix7ZDoiTTExIDE3aDIifV0sWyJwYXRoIix7ZDoiTTEyIDExdjYifV1dfSk7dmFyIFF2LGU5ZT1jKCgpPT57UXY9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjgiLHk6IjIiLHJ4OiIxIixyeToiMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoibTE1IDExLTYgNiJ9XSxbInBhdGgiLHtkOiJtOSAxMSA2IDYifV1dfSk7dmFyIEp2LHQ5ZT1jKCgpPT57SnY9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjgiLHk6IjIiLHJ4OiIxIixyeToiMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDIifV1dfSk7dmFyIGV4LGE5ZT1jKCgpPT57ZXg9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA2djZsMi00In1dXX0pO3ZhciB0eCxyOWU9YygoKT0+e3R4PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2bC00LTIifV1dfSk7dmFyIGF4LGk5ZT1jKCgpPT57YXg9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA2djZsLTItNCJ9XV19KTt2YXIgcngsczllPWMoKCk9PntyeD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2NiJ9XV19KTt2YXIgaXgsbzllPWMoKCk9PntpeD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2Nmg0In1dXX0pO3ZhciBzeCxuOWU9YygoKT0+e3N4PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2bDQtMiJ9XV19KTt2YXIgb3gsbDllPWMoKCk9PntveD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2Nmw0IDIifV1dfSk7dmFyIG54LGM5ZT1jKCgpPT57bng9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA2djZsMiA0In1dXX0pO3ZhciBseCxkOWU9YygoKT0+e2x4PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnYxMCJ9XV19KTt2YXIgY3gscDllPWMoKCk9PntjeD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2NmwtMiA0In1dXX0pO3ZhciBkeCx1OWU9YygoKT0+e2R4PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2SDgifV1dfSk7dmFyIHB4LGY5ZT1jKCgpPT57cHg9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA2djZsLTQgMiJ9XV19KTt2YXIgdXgsaDllPWMoKCk9Pnt1eD1bWyJwYXRoIix7ZDoiTTEyIDZ2Nmw0IDIifV0sWyJwYXRoIix7ZDoiTTIwIDEydjUifV0sWyJwYXRoIix7ZDoiTTIwIDIxaC4wMSJ9XSxbInBhdGgiLHtkOiJNMjEuMjUgOC4yQTEwIDEwIDAgMSAwIDE2IDIxLjE2In1dXX0pO3ZhciBmeCxtOWU9YygoKT0+e2Z4PVtbInBhdGgiLHtkOiJNMTIgNnY2bDIgMSJ9XSxbInBhdGgiLHtkOiJNMTIuMzM3IDIxLjk5NGExMCAxMCAwIDEgMSA5LjU4OC04Ljc2NyJ9XSxbInBhdGgiLHtkOiJtMTQgMTggNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNMTggMTR2OCJ9XV19KTt2YXIgaHgsZzllPWMoKCk9PntoeD1bWyJwYXRoIix7ZDoiTTEyIDZ2NmwxLjU2Ljc4In1dLFsicGF0aCIse2Q6Ik0xMy4yMjcgMjEuOTI1YTEwIDEwIDAgMSAxIDguNzY3LTkuNTg4In1dLFsicGF0aCIse2Q6Im0xNCAxOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik0xOCAyMnYtOCJ9XV19KTt2YXIgbXgsYjllPWMoKCk9PntteD1bWyJwYXRoIix7ZDoiTTEyIDZ2Nmw0IDIifV0sWyJwYXRoIix7ZDoiTTIyIDEyYTEwIDEwIDAgMSAwLTExIDkuOTUifV0sWyJwYXRoIix7ZDoibTIyIDE2LTUuNSA1LjVMMTQgMTkifV1dfSk7dmFyIGd4LHY5ZT1jKCgpPT57Z3g9W1sicGF0aCIse2Q6Ik0xMiAyYTEwIDEwIDAgMCAxIDcuMzggMTYuNzUifV0sWyJwYXRoIix7ZDoiTTEyIDZ2Nmw0IDIifV0sWyJwYXRoIix7ZDoiTTIuNSA4Ljg3NWExMCAxMCAwIDAgMC0uNSAzIn1dLFsicGF0aCIse2Q6Ik0yLjgzIDE2YTEwIDEwIDAgMCAwIDIuNDMgMy40In1dLFsicGF0aCIse2Q6Ik00LjYzNiA1LjIzNWExMCAxMCAwIDAgMSAuODkxLS44NTcifV0sWyJwYXRoIix7ZDoiTTguNjQ0IDIxLjQyYTEwIDEwIDAgMCAwIDcuNjMxLS4zOCJ9XV19KTt2YXIgYngseDllPWMoKCk9PntieD1bWyJwYXRoIix7ZDoiTTEyIDZ2NmwzLjY0NCAxLjgyMiJ9XSxbInBhdGgiLHtkOiJNMTYgMTloNiJ9XSxbInBhdGgiLHtkOiJNMTkgMTZ2NiJ9XSxbInBhdGgiLHtkOiJNMjEuOTIgMTMuMjY3YTEwIDEwIDAgMSAwLTguNjUzIDguNjUzIn1dXX0pO3ZhciB2eCx5OWU9YygoKT0+e3Z4PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2bDQgMiJ9XV19KTt2YXIgeHgsdzllPWMoKCk9Pnt4eD1bWyJwYXRoIix7ZDoiTTEyIDEydjQifV0sWyJwYXRoIix7ZDoiTTEyIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNOC4xMjggMTYuOTQ5QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhMSAxIDAgMCAxIDAgOWgtMS42NDIifV1dfSk7dmFyIHl4LE05ZT1jKCgpPT57eXg9W1sicGF0aCIse2Q6Ik0xMCA5LjE3YTMgMyAwIDEgMCAwIDUuNjYifV0sWyJwYXRoIix7ZDoiTTE3IDkuMTdhMyAzIDAgMSAwIDAgNS42NiJ9XSxbInJlY3QiLHt4OiIyIix5OiI1Iix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXX0pO3ZhciB3eCxrOWU9YygoKT0+e3d4PVtbInBhdGgiLHtkOiJNMjEgMTUuMjUxQTQuNSA0LjUgMCAwIDAgMTcuNSA4aC0xLjc5QTcgNyAwIDEgMCAzIDEzLjYwNyJ9XSxbInBhdGgiLHtkOiJNNyAxMXY0aDQifV0sWyJwYXRoIix7ZDoiTTggMTlhNSA1IDAgMCAwIDktMyA0LjUgNC41IDAgMCAwLTQuNS00LjUgNC44MiA0LjgyIDAgMCAwLTMuNDEgMS40MUw3IDE1In1dXX0pO3ZhciBNeCx6OWU9YygoKT0+e014PVtbInBhdGgiLHtkOiJtMTcgMTUtNS41IDUuNUw5IDE4In1dLFsicGF0aCIse2Q6Ik01LjUxNiAxNi4wN0E3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMy41MDEgNy4zMjcifV1dfSk7dmFyIGt4LFM5ZT1jKCgpPT57a3g9W1sicGF0aCIse2Q6Im0xMC44NTIgMTkuNzcyLS4zODMuOTI0In1dLFsicGF0aCIse2Q6Im0xMy4xNDggMTQuMjI4LjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Ik0xMy4xNDggMTkuNzcyYTMgMyAwIDEgMC0yLjI5Ni01LjU0NGwtLjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xMy41MyAyMC42OTYtLjM4Mi0uOTI0YTMgMyAwIDEgMS0yLjI5Ni01LjU0NCJ9XSxbInBhdGgiLHtkOiJtMTQuNzcyIDE1Ljg1Mi45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTQuNzcyIDE4LjE0OC45MjMuMzgzIn1dLFsicGF0aCIse2Q6Ik00LjIgMTUuMWE3IDcgMCAxIDEgOS45My05Ljg1OEE3IDcgMCAwIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi41IDguMiJ9XSxbInBhdGgiLHtkOiJtOS4yMjggMTUuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtOS4yMjggMTguMTQ4LS45MjMuMzgzIn1dXX0pO3ZhciBKYyxDOWU9YygoKT0+e0pjPVtbInBhdGgiLHtkOiJNMTIgMTN2OGwtNC00In1dLFsicGF0aCIse2Q6Im0xMiAyMSA0LTQifV0sWyJwYXRoIix7ZDoiTTQuMzkzIDE1LjI2OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi40MzYgOC4yODQifV1dfSk7dmFyIHp4LF85ZT1jKCgpPT57eng9W1sicGF0aCIse2Q6Ik00IDE0Ljg5OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi41IDguMjQyIn1dLFsicGF0aCIse2Q6Ik04IDE5djEifV0sWyJwYXRoIix7ZDoiTTggMTR2MSJ9XSxbInBhdGgiLHtkOiJNMTYgMTl2MSJ9XSxbInBhdGgiLHtkOiJNMTYgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMTIgMjF2MSJ9XSxbInBhdGgiLHtkOiJNMTIgMTZ2MSJ9XV19KTt2YXIgU3gsVDllPWMoKCk9PntTeD1bWyJwYXRoIix7ZDoiTTQgMTQuODk5QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAyLjUgOC4yNDIifV0sWyJwYXRoIix7ZDoiTTE2IDE3SDcifV0sWyJwYXRoIix7ZDoiTTE3IDIxSDkifV1dfSk7dmFyIEN4LEw5ZT1jKCgpPT57Q3g9W1sicGF0aCIse2Q6Ik00IDE0Ljg5OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi41IDguMjQyIn1dLFsicGF0aCIse2Q6Ik0xNiAxNHYyIn1dLFsicGF0aCIse2Q6Ik04IDE0djIifV0sWyJwYXRoIix7ZDoiTTE2IDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDE2djIifV0sWyJwYXRoIix7ZDoiTTEyIDIyaC4wMSJ9XV19KTt2YXIgX3gsJDllPWMoKCk9PntfeD1bWyJwYXRoIix7ZDoiTTYgMTYuMzI2QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAuNSA4Ljk3MyJ9XSxbInBhdGgiLHtkOiJtMTMgMTItMyA1aDRsLTMgNSJ9XV19KTt2YXIgVHgsRDllPWMoKCk9PntUeD1bWyJwYXRoIix7ZDoiTTExIDIwdjIifV0sWyJwYXRoIix7ZDoiTTE4LjM3NiAxNC41MTJhNiA2IDAgMCAwIDMuNDYxLTQuMTI3Yy4xNDgtLjYyNS0uNjU5LS45Ny0xLjI0OC0uNzE0YTQgNCAwIDAgMS01LjI1OS01LjI2Yy4yNTUtLjU4OS0uMDktMS4zOTUtLjcxNi0xLjI0OGE2IDYgMCAwIDAtNC41OTQgNS4zNiJ9XSxbInBhdGgiLHtkOiJNMyAyMGE1IDUgMCAxIDEgOC45LTRIMTNhMyAzIDAgMCAxIDIgNS4yNCJ9XSxbInBhdGgiLHtkOiJNNyAxOXYyIn1dXX0pO3ZhciBMeCxBOWU9YygoKT0+e0x4PVtbInBhdGgiLHtkOiJNMTMgMTZhMyAzIDAgMCAxIDAgNkg3YTUgNSAwIDEgMSA0LjktNnoifV0sWyJwYXRoIix7ZDoiTTE4LjM3NiAxNC41MTJhNiA2IDAgMCAwIDMuNDYxLTQuMTI3Yy4xNDgtLjYyNS0uNjU5LS45Ny0xLjI0OC0uNzE0YTQgNCAwIDAgMS01LjI1OS01LjI2Yy4yNTUtLjU4OS0uMDktMS4zOTUtLjcxNi0xLjI0OGE2IDYgMCAwIDAtNC41OTQgNS4zNiJ9XV19KTt2YXIgJHgsUDllPWMoKCk9PnskeD1bWyJwYXRoIix7ZDoiTTEwLjk0IDUuMjc0QTcgNyAwIDAgMSAxNS43MSAxMGgxLjc5YTQuNSA0LjUgMCAwIDEgNC4yMjIgNi4wNTcifV0sWyJwYXRoIix7ZDoiTTE4Ljc5NiAxOC44MUE0LjUgNC41IDAgMCAxIDE3LjUgMTlIOUE3IDcgMCAwIDEgNS43OSA1Ljc4In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIER4LEU5ZT1jKCgpPT57RHg9W1sicGF0aCIse2Q6Ik00IDE0Ljg5OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi41IDguMjQyIn1dLFsicGF0aCIse2Q6Im05LjIgMjIgMy03In1dLFsicGF0aCIse2Q6Im05IDEzLTMgNyJ9XSxbInBhdGgiLHtkOiJtMTcgMTMtMyA3In1dXX0pO3ZhciBBeCxJOWU9YygoKT0+e0F4PVtbInBhdGgiLHtkOiJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiJ9XSxbInBhdGgiLHtkOiJNMTYgMTR2NiJ9XSxbInBhdGgiLHtkOiJNOCAxNHY2In1dLFsicGF0aCIse2Q6Ik0xMiAxNnY2In1dXX0pO3ZhciBQeCxOOWU9YygoKT0+e1B4PVtbInBhdGgiLHtkOiJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiJ9XSxbInBhdGgiLHtkOiJNOCAxNWguMDEifV0sWyJwYXRoIix7ZDoiTTggMTloLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxN2guMDEifV0sWyJwYXRoIix7ZDoiTTEyIDIxaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxOWguMDEifV1dfSk7dmFyIEV4LFI5ZT1jKCgpPT57RXg9W1sicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoibTQuOTMgNC45MyAxLjQxIDEuNDEifV0sWyJwYXRoIix7ZDoiTTIwIDEyaDIifV0sWyJwYXRoIix7ZDoibTE5LjA3IDQuOTMtMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0xNS45NDcgMTIuNjVhNCA0IDAgMCAwLTUuOTI1LTQuMTI4In1dLFsicGF0aCIse2Q6Ik0zIDIwYTUgNSAwIDEgMSA4LjktNEgxM2EzIDMgMCAwIDEgMiA1LjI0In1dLFsicGF0aCIse2Q6Ik0xMSAyMHYyIn1dLFsicGF0aCIse2Q6Ik03IDE5djIifV1dfSk7dmFyIEl4LEY5ZT1jKCgpPT57SXg9W1sicGF0aCIse2Q6Im0xNyAxOC0xLjUzNSAxLjYwNWE1IDUgMCAwIDEtOC0xLjUifV0sWyJwYXRoIix7ZDoiTTE3IDIydi00aC00In1dLFsicGF0aCIse2Q6Ik0yMC45OTYgMTUuMjUxQTQuNSA0LjUgMCAwIDAgMTcuNDk1IDhoLTEuNzlhNyA3IDAgMSAwLTEyLjcwOSA1LjYwNyJ9XSxbInBhdGgiLHtkOiJNNyAxMHY0aDQifV0sWyJwYXRoIix7ZDoibTcgMTQgMS41MzUtMS42MDVhNSA1IDAgMCAxIDggMS41In1dXX0pO3ZhciBOeCxPOWU9YygoKT0+e054PVtbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Im00LjkzIDQuOTMgMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0yMCAxMmgyIn1dLFsicGF0aCIse2Q6Im0xOS4wNyA0LjkzLTEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJNMTUuOTQ3IDEyLjY1YTQgNCAwIDAgMC01LjkyNS00LjEyOCJ9XSxbInBhdGgiLHtkOiJNMTMgMjJIN2E1IDUgMCAxIDEgNC45LTZIMTNhMyAzIDAgMCAxIDAgNloifV1dfSk7dmFyIFJ4LEI5ZT1jKCgpPT57Ung9W1sicGF0aCIse2Q6Ik0xNy41IDE5SDlhNyA3IDAgMSAxIDYuNzEtOWgxLjc5YTQuNSA0LjUgMCAxIDEgMCA5WiJ9XV19KTt2YXIgZTQsSDllPWMoKCk9PntlND1bWyJwYXRoIix7ZDoiTTEyIDEzdjgifV0sWyJwYXRoIix7ZDoiTTQgMTQuODk5QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAyLjUgOC4yNDIifV0sWyJwYXRoIix7ZDoibTggMTcgNC00IDQgNCJ9XV19KTt2YXIgRngscTllPWMoKCk9PntGeD1bWyJwYXRoIix7ZDoiTTE3LjUgMTJhMSAxIDAgMSAxIDAgOUg5LjAwNmE3IDcgMCAxIDEgNi43MDItOXoifV0sWyJwYXRoIix7ZDoiTTIxLjgzMiA5QTMgMyAwIDAgMCAxOSA3aC0yLjIwN2E1LjUgNS41IDAgMCAwLTEwLjcyLjYxIn1dXX0pO3ZhciBPeCxWOWU9YygoKT0+e094PVtbInBhdGgiLHtkOiJNMTYuMTcgNy44MyAyIDIyIn1dLFsicGF0aCIse2Q6Ik00LjAyIDEyYTIuODI3IDIuODI3IDAgMSAxIDMuODEtNC4xN0EyLjgyNyAyLjgyNyAwIDEgMSAxMiA0LjAyYTIuODI3IDIuODI3IDAgMSAxIDQuMTcgMy44MUEyLjgyNyAyLjgyNyAwIDEgMSAxOS45OCAxMmEyLjgyNyAyLjgyNyAwIDEgMS0zLjgxIDQuMTdBMi44MjcgMi44MjcgMCAxIDEgMTIgMTkuOThhMi44MjcgMi44MjcgMCAxIDEtNC4xNy0zLjgxQTEgMSAwIDEgMSA0IDEyIn1dLFsicGF0aCIse2Q6Im03LjgzIDcuODMgOC4zNCA4LjM0In1dXX0pO3ZhciBCeCxqOWU9YygoKT0+e0J4PVtbInBhdGgiLHtkOiJNMTcuMjggOS4wNWE1LjUgNS41IDAgMSAwLTEwLjU2IDBBNS41IDUuNSAwIDEgMCAxMiAxNy42NmE1LjUgNS41IDAgMSAwIDUuMjgtOC42WiJ9XSxbInBhdGgiLHtkOiJNMTIgMTcuNjZMMTIgMjIifV1dfSk7dmFyIHQ0LFU5ZT1jKCgpPT57dDQ9W1sicGF0aCIse2Q6Im0xOCAxNiA0LTQtNC00In1dLFsicGF0aCIse2Q6Im02IDgtNCA0IDQgNCJ9XSxbInBhdGgiLHtkOiJtMTQuNSA0LTUgMTYifV1dfSk7dmFyIEh4LFc5ZT1jKCgpPT57SHg9W1sicGF0aCIse2Q6Im0xNiAxOCA2LTYtNi02In1dLFsicGF0aCIse2Q6Im04IDYtNiA2IDYgNiJ9XV19KTt2YXIgcXgsRzllPWMoKCk9PntxeD1bWyJwb2x5Z29uIix7cG9pbnRzOiIxMiAyIDIyIDguNSAyMiAxNS41IDEyIDIyIDIgMTUuNSAyIDguNSAxMiAyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMjIiLHkyOiIxNS41In1dLFsicG9seWxpbmUiLHtwb2ludHM6IjIyIDguNSAxMiAxNS41IDIgOC41In1dLFsicG9seWxpbmUiLHtwb2ludHM6IjIgMTUuNSAxMiA4LjUgMjIgMTUuNSJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjIiLHkyOiI4LjUifV1dfSk7dmFyIFZ4LFk5ZT1jKCgpPT57Vng9W1sicGF0aCIse2Q6Ik0yMSAxNlY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNnoifV0sWyJwb2x5bGluZSIse3BvaW50czoiNy41IDQuMjEgMTIgNi44MSAxNi41IDQuMjEifV0sWyJwb2x5bGluZSIse3BvaW50czoiNy41IDE5Ljc5IDcuNSAxNC42IDMgMTIifV0sWyJwb2x5bGluZSIse3BvaW50czoiMjEgMTIgMTYuNSAxNC42IDE2LjUgMTkuNzkifV0sWyJwb2x5bGluZSIse3BvaW50czoiMy4yNyA2Ljk2IDEyIDEyLjAxIDIwLjczIDYuOTYifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIyMi4wOCIseTI6IjEyIn1dXX0pO3ZhciBqeCxaOWU9YygoKT0+e2p4PVtbInBhdGgiLHtkOiJNMTAgMnYyIn1dLFsicGF0aCIse2Q6Ik0xNCAydjIifV0sWyJwYXRoIix7ZDoiTTE2IDhhMSAxIDAgMCAxIDEgMXY4YTQgNCAwIDAgMS00IDRIN2E0IDQgMCAwIDEtNC00VjlhMSAxIDAgMCAxIDEtMWgxNGE0IDQgMCAxIDEgMCA4aC0xIn1dLFsicGF0aCIse2Q6Ik02IDJ2MiJ9XV19KTt2YXIgVXgsWDllPWMoKCk9PntVeD1bWyJwYXRoIix7ZDoiTTExIDEwLjI3IDcgMy4zNCJ9XSxbInBhdGgiLHtkOiJtMTEgMTMuNzMtNCA2LjkzIn1dLFsicGF0aCIse2Q6Ik0xMiAyMnYtMiJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0xNCAxMmg4In1dLFsicGF0aCIse2Q6Im0xNyAyMC42Ni0xLTEuNzMifV0sWyJwYXRoIix7ZDoibTE3IDMuMzQtMSAxLjczIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIifV0sWyJwYXRoIix7ZDoibTIwLjY2IDE3LTEuNzMtMSJ9XSxbInBhdGgiLHtkOiJtMjAuNjYgNy0xLjczIDEifV0sWyJwYXRoIix7ZDoibTMuMzQgMTcgMS43My0xIn1dLFsicGF0aCIse2Q6Im0zLjM0IDcgMS43MyAxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiOCJ9XV19KTt2YXIgV3gsSzllPWMoKCk9PntXeD1bWyJwYXRoIix7ZDoiTTEzLjc0NCAxNy43MzZhNiA2IDAgMSAxLTcuNDgtNy40OCJ9XSxbInBhdGgiLHtkOiJNMTUgNmgxdjQifV0sWyJwYXRoIix7ZDoibTYuMTM0IDE0Ljc2OC44NjYtLjUgMiAzLjQ2NCJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjgiLHI6IjYifV1dfSk7dmFyIGE0LFE5ZT1jKCgpPT57YTQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDN2MTgifV1dfSk7dmFyIHdvLEo5ZT1jKCgpPT57d289W1sicGF0aCIse2Q6Ik0xMC41IDIxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnY1LjUifV0sWyJwYXRoIix7ZDoibTE0LjMgMTkuNiAxLS40In1dLFsicGF0aCIse2Q6Ik0xNSAzdjcuNSJ9XSxbInBhdGgiLHtkOiJtMTUuMiAxNi45LS45LS4zIn1dLFsicGF0aCIse2Q6Im0xNi42IDIxLjcuMy0uOSJ9XSxbInBhdGgiLHtkOiJtMTYuOCAxNS4zLS40LTEifV0sWyJwYXRoIix7ZDoibTE5LjEgMTUuMi4zLS45In1dLFsicGF0aCIse2Q6Im0xOS42IDIxLjctLjQtMSJ9XSxbInBhdGgiLHtkOiJtMjAuNyAxNi44IDEtLjQifV0sWyJwYXRoIix7ZDoibTIxLjcgMTkuNC0uOS0uMyJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV1dfSk7dmFyIHI0LGVnZT1jKCgpPT57cjQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMTUgM3YxOCJ9XV19KTt2YXIgR3gsdGdlPWMoKCk9PntHeD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNy41IDN2MTgifV0sWyJwYXRoIix7ZDoiTTEyIDN2MTgifV0sWyJwYXRoIix7ZDoiTTE2LjUgM3YxOCJ9XV19KTt2YXIgWXgsYWdlPWMoKCk9PntZeD1bWyJwYXRoIix7ZDoiTTE0IDNhMSAxIDAgMCAxIDEgMXY1YTEgMSAwIDAgMS0xIDEifV0sWyJwYXRoIix7ZDoiTTE5IDNhMSAxIDAgMCAxIDEgMXY1YTEgMSAwIDAgMS0xIDEifV0sWyJwYXRoIix7ZDoibTcgMTUgMyAzIn1dLFsicGF0aCIse2Q6Im03IDIxIDMtM0g1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJyZWN0Iix7eDoiMTQiLHk6IjE0Iix3aWR0aDoiNyIsaGVpZ2h0OiI3IixyeDoiMSJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiNyIsaGVpZ2h0OiI3IixyeDoiMSJ9XV19KTt2YXIgWngscmdlPWMoKCk9PntaeD1bWyJwYXRoIix7ZDoiTTE1IDZ2MTJhMyAzIDAgMSAwIDMtM0g2YTMgMyAwIDEgMCAzIDNWNmEzIDMgMCAxIDAtMyAzaDEyYTMgMyAwIDEgMC0zLTMifV1dfSk7dmFyIFh4LGlnZT1jKCgpPT57WHg9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im0xNi4yNCA3Ljc2LTEuODA0IDUuNDExYTIgMiAwIDAgMS0xLjI2NSAxLjI2NUw3Ljc2IDE2LjI0bDEuODA0LTUuNDExYTIgMiAwIDAgMSAxLjI2NS0xLjI2NXoifV1dfSk7dmFyIEt4LHNnZT1jKCgpPT57S3g9W1sicGF0aCIse2Q6Ik0xNS41MzYgMTEuMjkzYTEgMSAwIDAgMCAwIDEuNDE0bDIuMzc2IDIuMzc3YTEgMSAwIDAgMCAxLjQxNCAwbDIuMzc3LTIuMzc3YTEgMSAwIDAgMCAwLTEuNDE0bC0yLjM3Ny0yLjM3N2ExIDEgMCAwIDAtMS40MTQgMHoifV0sWyJwYXRoIix7ZDoiTTIuMjk3IDExLjI5M2ExIDEgMCAwIDAgMCAxLjQxNGwyLjM3NyAyLjM3N2ExIDEgMCAwIDAgMS40MTQgMGwyLjM3Ny0yLjM3N2ExIDEgMCAwIDAgMC0xLjQxNEw2LjA4OCA4LjkxNmExIDEgMCAwIDAtMS40MTQgMHoifV0sWyJwYXRoIix7ZDoiTTguOTE2IDE3LjkxMmExIDEgMCAwIDAgMCAxLjQxNWwyLjM3NyAyLjM3NmExIDEgMCAwIDAgMS40MTQgMGwyLjM3Ny0yLjM3NmExIDEgMCAwIDAgMC0xLjQxNWwtMi4zNzctMi4zNzZhMSAxIDAgMCAwLTEuNDE0IDB6In1dLFsicGF0aCIse2Q6Ik04LjkxNiA0LjY3NGExIDEgMCAwIDAgMCAxLjQxNGwyLjM3NyAyLjM3NmExIDEgMCAwIDAgMS40MTQgMGwyLjM3Ny0yLjM3NmExIDEgMCAwIDAgMC0xLjQxNGwtMi4zNzctMi4zNzdhMSAxIDAgMCAwLTEuNDE0IDB6In1dXX0pO3ZhciBReCxvZ2U9YygoKT0+e1F4PVtbInBhdGgiLHtkOiJNMyAyMGExIDEgMCAwIDEtMS0xdi0xYTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnYxYTEgMSAwIDAgMS0xIDFaIn1dLFsicGF0aCIse2Q6Ik0yMCAxNmE4IDggMCAxIDAtMTYgMCJ9XSxbInBhdGgiLHtkOiJNMTIgNHY0In1dLFsicGF0aCIse2Q6Ik0xMCA0aDQifV1dfSk7dmFyIEp4LG5nZT1jKCgpPT57Sng9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiI4Iix4OiI1Iix5OiIyIixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiMTQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDE4aDIifV0sWyJwYXRoIix7ZDoiTTEyIDE4aDYifV1dfSk7dmFyIGV5LGxnZT1jKCgpPT57ZXk9W1sicGF0aCIse2Q6Im0yMC45IDE4LjU1LTgtMTUuOThhMSAxIDAgMCAwLTEuOCAwbC04IDE1Ljk4In1dLFsiZWxsaXBzZSIse2N4OiIxMiIsY3k6IjE5IixyeDoiOSIscnk6IjMifV1dfSk7dmFyIHR5LGNnZT1jKCgpPT57dHk9W1sicmVjdCIse3g6IjIiLHk6IjYiLHdpZHRoOiIyMCIsaGVpZ2h0OiI4IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNMTcgMTR2NyJ9XSxbInBhdGgiLHtkOiJNNyAxNHY3In1dLFsicGF0aCIse2Q6Ik0xNyAzdjMifV0sWyJwYXRoIix7ZDoiTTcgM3YzIn1dLFsicGF0aCIse2Q6Ik0xMCAxNCAyLjMgNi4zIn1dLFsicGF0aCIse2Q6Im0xNCA2IDcuNyA3LjcifV0sWyJwYXRoIix7ZDoibTggNiA4IDgifV1dfSk7dmFyIGk0LGRnZT1jKCgpPT57aTQ9W1sicGF0aCIse2Q6Ik0xNiAydjIifV0sWyJwYXRoIix7ZDoiTTE3LjkxNSAyMmE2IDYgMCAwIDAtMTIgMCJ9XSxbInBhdGgiLHtkOiJNOCAydjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XSxbInJlY3QiLHt4OiIzIix5OiI0Iix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBheSxwZ2U9YygoKT0+e2F5PVtbInBhdGgiLHtkOiJNMTYgMnYyIn1dLFsicGF0aCIse2Q6Ik03IDIydi0yYTIgMiAwIDAgMSAyLTJoNmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTggMnYyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTEiLHI6IjMifV0sWyJyZWN0Iix7eDoiMyIseToiNCIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV19KTt2YXIgcnksdWdlPWMoKCk9PntyeT1bWyJwYXRoIix7ZDoiTTIyIDcuN2MwLS42LS40LTEuMi0uOC0xLjVsLTYuMy0zLjlhMS43MiAxLjcyIDAgMCAwLTEuNyAwbC0xMC4zIDZjLS41LjItLjkuOC0uOSAxLjR2Ni42YzAgLjUuNCAxLjIuOCAxLjVsNi4zIDMuOWExLjcyIDEuNzIgMCAwIDAgMS43IDBsMTAuMy02Yy41LS4zLjktMSAuOS0xLjVaIn1dLFsicGF0aCIse2Q6Ik0xMCAyMS45VjE0TDIuMSA5LjEifV0sWyJwYXRoIix7ZDoibTEwIDE0IDExLjktNi45In1dLFsicGF0aCIse2Q6Ik0xNCAxOS44di04LjEifV0sWyJwYXRoIix7ZDoiTTE4IDE3LjVWOS40In1dXX0pO3ZhciBpeSxmZ2U9YygoKT0+e2l5PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMThhNiA2IDAgMCAwIDAtMTJ2MTJ6In1dXX0pO3ZhciBzeSxoZ2U9YygoKT0+e3N5PVtbInBhdGgiLHtkOiJNMTIgMmExMCAxMCAwIDEgMCAxMCAxMCA0IDQgMCAwIDEtNS01IDQgNCAwIDAgMS01LTUifV0sWyJwYXRoIix7ZDoiTTguNSA4LjV2LjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNS41di4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTJ2LjAxIn1dLFsicGF0aCIse2Q6Ik0xMSAxN3YuMDEifV0sWyJwYXRoIix7ZDoiTTcgMTR2LjAxIn1dXX0pO3ZhciBveSxtZ2U9YygoKT0+e295PVtbInBhdGgiLHtkOiJNMiAxMmgyMCJ9XSxbInBhdGgiLHtkOiJNMjAgMTJ2OGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnYtOCJ9XSxbInBhdGgiLHtkOiJtNCA4IDE2LTQifV0sWyJwYXRoIix7ZDoibTguODYgNi43OC0uNDUtMS44MWEyIDIgMCAwIDEgMS40NS0yLjQzbDEuOTQtLjQ4YTIgMiAwIDAgMSAyLjQzIDEuNDZsLjQ1IDEuOCJ9XV19KTt2YXIgbnksZ2dlPWMoKCk9PntueT1bWyJwYXRoIix7ZDoibTEyIDE1IDIgMiA0LTQifV0sWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix4OiI4Iix5OiI4IixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMiJ9XV19KTt2YXIgbHksYmdlPWMoKCk9PntseT1bWyJsaW5lIix7eDE6IjEyIix4MjoiMTgiLHkxOiIxNSIseTI6IjE1In1dLFsicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIseDoiOCIseToiOCIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik00IDE2Yy0xLjEgMC0yLS45LTItMlY0YzAtMS4xLjktMiAyLTJoMTBjMS4xIDAgMiAuOSAyIDIifV1dfSk7dmFyIGN5LHZnZT1jKCgpPT57Y3k9W1sibGluZSIse3gxOiIxNSIseDI6IjE1Iix5MToiMTIiLHkyOiIxOCJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxOCIseTE6IjE1Iix5MjoiMTUifV0sWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix4OiI4Iix5OiI4IixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMiJ9XV19KTt2YXIgZHkseGdlPWMoKCk9PntkeT1bWyJsaW5lIix7eDE6IjEyIix4MjoiMTgiLHkxOiIxOCIseTI6IjEyIn1dLFsicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiIxNCIseDoiOCIseToiOCIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik00IDE2Yy0xLjEgMC0yLS45LTItMlY0YzAtMS4xLjktMiAyLTJoMTBjMS4xIDAgMiAuOSAyIDIifV1dfSk7dmFyIHB5LHlnZT1jKCgpPT57cHk9W1sibGluZSIse3gxOiIxMiIseDI6IjE4Iix5MToiMTIiLHkyOiIxOCJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxOCIseTE6IjE4Iix5MjoiMTIifV0sWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix4OiI4Iix5OiI4IixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMiJ9XV19KTt2YXIgdXksd2dlPWMoKCk9Pnt1eT1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix4OiI4Iix5OiI4IixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMiJ9XV19KTt2YXIgZnksTWdlPWMoKCk9PntmeT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTkuMTcgMTQuODNhNCA0IDAgMSAwIDAtNS42NiJ9XV19KTt2YXIgaHksa2dlPWMoKCk9PntoeT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE0LjgzIDE0LjgzYTQgNCAwIDEgMSAwLTUuNjYifV1dfSk7dmFyIG15LHpnZT1jKCgpPT57bXk9W1sicGF0aCIse2Q6Ik0yMCA0djdhNCA0IDAgMCAxLTQgNEg0In1dLFsicGF0aCIse2Q6Im05IDEwLTUgNSA1IDUifV1dfSk7dmFyIGd5LFNnZT1jKCgpPT57Z3k9W1sicGF0aCIse2Q6Im0xNSAxMCA1IDUtNSA1In1dLFsicGF0aCIse2Q6Ik00IDR2N2E0IDQgMCAwIDAgNCA0aDEyIn1dXX0pO3ZhciBieSxDZ2U9YygoKT0+e2J5PVtbInBhdGgiLHtkOiJtMTQgMTUtNSA1LTUtNSJ9XSxbInBhdGgiLHtkOiJNMjAgNGgtN2E0IDQgMCAwIDAtNCA0djEyIn1dXX0pO3ZhciB2eSxfZ2U9YygoKT0+e3Z5PVtbInBhdGgiLHtkOiJNMTQgOSA5IDQgNCA5In1dLFsicGF0aCIse2Q6Ik0yMCAyMGgtN2E0IDQgMCAwIDEtNC00VjQifV1dfSk7dmFyIHh5LFRnZT1jKCgpPT57eHk9W1sicGF0aCIse2Q6Im0xMCAxNSA1IDUgNS01In1dLFsicGF0aCIse2Q6Ik00IDRoN2E0IDQgMCAwIDEgNCA0djEyIn1dXX0pO3ZhciB5eSxMZ2U9YygoKT0+e3l5PVtbInBhdGgiLHtkOiJtMTAgOSA1LTUgNSA1In1dLFsicGF0aCIse2Q6Ik00IDIwaDdhNCA0IDAgMCAwIDQtNFY0In1dXX0pO3ZhciB3eSwkZ2U9YygoKT0+e3d5PVtbInBhdGgiLHtkOiJNMjAgMjB2LTdhNCA0IDAgMCAwLTQtNEg0In1dLFsicGF0aCIse2Q6Ik05IDE0IDQgOWw1LTUifV1dfSk7dmFyIE15LERnZT1jKCgpPT57TXk9W1sicGF0aCIse2Q6Ik0xMiAyMHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoiTTE3IDIwdjIifV0sWyJwYXRoIix7ZDoiTTE3IDJ2MiJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyIn1dLFsicGF0aCIse2Q6Ik0yIDE3aDIifV0sWyJwYXRoIix7ZDoiTTIgN2gyIn1dLFsicGF0aCIse2Q6Ik0yMCAxMmgyIn1dLFsicGF0aCIse2Q6Ik0yMCAxN2gyIn1dLFsicGF0aCIse2Q6Ik0yMCA3aDIifV0sWyJwYXRoIix7ZDoiTTcgMjB2MiJ9XSxbInBhdGgiLHtkOiJNNyAydjIifV0sWyJyZWN0Iix7eDoiNCIseToiNCIsd2lkdGg6IjE2IixoZWlnaHQ6IjE2IixyeDoiMiJ9XSxbInJlY3QiLHt4OiI4Iix5OiI4Iix3aWR0aDoiOCIsaGVpZ2h0OiI4IixyeDoiMSJ9XV19KTt2YXIga3ksQWdlPWMoKCk9PntreT1bWyJwYXRoIix7ZDoibTE1IDE0IDUtNS01LTUifV0sWyJwYXRoIix7ZDoiTTQgMjB2LTdhNCA0IDAgMCAxIDQtNGgxMiJ9XV19KTt2YXIgenksUGdlPWMoKCk9Pnt6eT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEwIDkuM2EyLjggMi44IDAgMCAwLTMuNSAxIDMuMSAzLjEgMCAwIDAgMCAzLjQgMi43IDIuNyAwIDAgMCAzLjUgMSJ9XSxbInBhdGgiLHtkOiJNMTcgOS4zYTIuOCAyLjggMCAwIDAtMy41IDEgMy4xIDMuMSAwIDAgMCAwIDMuNCAyLjcgMi43IDAgMCAwIDMuNSAxIn1dXX0pO3ZhciBTeSxFZ2U9YygoKT0+e1N5PVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjUiLHJ4OiIyIn1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIxMCIseTI6IjEwIn1dXX0pO3ZhciBDeSxJZ2U9YygoKT0+e0N5PVtbInBhdGgiLHtkOiJNMTAuMiAxOEg0Ljc3NGExLjUgMS41IDAgMCAxLTEuMzUyLS45NyAxMSAxMSAwIDAgMSAuMTMyLTYuNDg3In1dLFsicGF0aCIse2Q6Ik0xOCAxMC4yVjQuNzc0YTEuNSAxLjUgMCAwIDAtLjk3LTEuMzUyIDExIDExIDAgMCAwLTYuNDg2LjEzMiJ9XSxbInBhdGgiLHtkOiJNMTggNWE0IDMgMCAwIDEgNCAzIDIgMiAwIDAgMS0yIDIgMTAgMTAgMCAwIDAtNS4xMzkgMS40MiJ9XSxbInBhdGgiLHtkOiJNNSAxOGEzIDQgMCAwIDAgMyA0IDIgMiAwIDAgMCAyLTIgMTAgMTAgMCAwIDEgMS40Mi01LjE0In1dLFsicGF0aCIse2Q6Ik04LjcwOSAyLjU1NGExMCAxMCAwIDAgMC02LjE1NSA2LjE1NSAxLjUgMS41IDAgMCAwIC42NzYgMS42MjZsOS44MDcgNS40MmEyIDIgMCAwIDAgMi43MTgtMi43MThsLTUuNDItOS44MDdhMS41IDEuNSAwIDAgMC0xLjYyNi0uNjc2In1dXX0pO3ZhciBfeSxOZ2U9YygoKT0+e195PVtbInBhdGgiLHtkOiJNNiAydjE0YTIgMiAwIDAgMCAyIDJoMTQifV0sWyJwYXRoIix7ZDoiTTE4IDIyVjhhMiAyIDAgMCAwLTItMkgyIn1dXX0pO3ZhciBUeSxSZ2U9YygoKT0+e1R5PVtbInBhdGgiLHtkOiJNNCA5YTIgMiAwIDAgMC0yIDJ2MmEyIDIgMCAwIDAgMiAyaDRhMSAxIDAgMCAxIDEgMXY0YTIgMiAwIDAgMCAyIDJoMmEyIDIgMCAwIDAgMi0ydi00YTEgMSAwIDAgMSAxLTFoNGEyIDIgMCAwIDAgMi0ydi0yYTIgMiAwIDAgMC0yLTJoLTRhMSAxIDAgMCAxLTEtMVY0YTIgMiAwIDAgMC0yLTJoLTJhMiAyIDAgMCAwLTIgMnY0YTEgMSAwIDAgMS0xIDF6In1dXX0pO3ZhciBMeSxGZ2U9YygoKT0+e0x5PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImxpbmUiLHt4MToiMjIiLHgyOiIxOCIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjYiLHgyOiIyIix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjYiLHkyOiIyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMjIiLHkyOiIxOCJ9XV19KTt2YXIgJHksT2dlPWMoKCk9PnskeT1bWyJwYXRoIix7ZDoiTTExLjU2MiAzLjI2NmEuNS41IDAgMCAxIC44NzYgMEwxNS4zOSA4Ljg3YTEgMSAwIDAgMCAxLjUxNi4yOTRMMjEuMTgzIDUuNWEuNS41IDAgMCAxIC43OTguNTE5bC0yLjgzNCAxMC4yNDZhMSAxIDAgMCAxLS45NTYuNzM0SDUuODFhMSAxIDAgMCAxLS45NTctLjczNEwyLjAyIDYuMDJhLjUuNSAwIDAgMSAuNzk4LS41MTlsNC4yNzYgMy42NjRhMSAxIDAgMCAwIDEuNTE2LS4yOTR6In1dLFsicGF0aCIse2Q6Ik01IDIxaDE0In1dXX0pO3ZhciBEeSxCZ2U9YygoKT0+e0R5PVtbInBhdGgiLHtkOiJtNiA4IDEuNzUgMTIuMjhhMiAyIDAgMCAwIDIgMS43Mmg0LjU0YTIgMiAwIDAgMCAyLTEuNzJMMTggOCJ9XSxbInBhdGgiLHtkOiJNNSA4aDE0In1dLFsicGF0aCIse2Q6Ik03IDE1YTYuNDcgNi40NyAwIDAgMSA1IDAgNi40NyA2LjQ3IDAgMCAwIDUgMCJ9XSxbInBhdGgiLHtkOiJtMTIgOCAxLTZoMiJ9XV19KTt2YXIgQXksSGdlPWMoKCk9PntBeT1bWyJwYXRoIix7ZDoiTTEwIDIydi04In1dLFsicGF0aCIse2Q6Ik0yLjMzNiA4Ljg5IDEwIDE0bDExLjcxNS03LjAyOSJ9XSxbInBhdGgiLHtkOiJNMjIgMTRhMiAyIDAgMCAxLS45NzEgMS43MTVsLTEwIDZhMiAyIDAgMCAxLTIuMTM4LS4wNWwtNi00QTIgMiAwIDAgMSAyIDE2di02YTIgMiAwIDAgMSAuOTcxLTEuNzE1bDEwLTZhMiAyIDAgMCAxIDIuMTM4LjA1bDYgNEEyIDIgMCAwIDEgMjIgOHoifV1dfSk7dmFyIFB5LHFnZT1jKCgpPT57UHk9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjgifV0sWyJsaW5lIix7eDE6IjMiLHgyOiI2Iix5MToiMyIseTI6IjYifV0sWyJsaW5lIix7eDE6IjIxIix4MjoiMTgiLHkxOiIzIix5MjoiNiJ9XSxbImxpbmUiLHt4MToiMyIseDI6IjYiLHkxOiIyMSIseTI6IjE4In1dLFsibGluZSIse3gxOiIyMSIseDI6IjE4Iix5MToiMjEiLHkyOiIxOCJ9XV19KTt2YXIgRXksVmdlPWMoKCk9PntFeT1bWyJlbGxpcHNlIix7Y3g6IjEyIixjeToiNSIscng6IjkiLHJ5OiIzIn1dLFsicGF0aCIse2Q6Ik0zIDV2MTRhOSAzIDAgMCAwIDE4IDBWNSJ9XV19KTt2YXIgSXksamdlPWMoKCk9PntJeT1bWyJwYXRoIix7ZDoiTTExIDExLjMxYzEuMTcuNTYgMS41NCAxLjY5IDMuNSAxLjY5IDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSJ9XSxbInBhdGgiLHtkOiJNMTEuNzUgMThjLjM1LjUgMS40NSAxIDIuNzUgMSAyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDEifV0sWyJwYXRoIix7ZDoiTTIgMTBoNCJ9XSxbInBhdGgiLHtkOiJNMiAxNGg0In1dLFsicGF0aCIse2Q6Ik0yIDE4aDQifV0sWyJwYXRoIix7ZDoiTTIgNmg0In1dLFsicGF0aCIse2Q6Ik03IDNhMSAxIDAgMCAwLTEgMXYxNmExIDEgMCAwIDAgMSAxaDRhMSAxIDAgMCAwIDEtMUwxMCA0YTEgMSAwIDAgMC0xLTF6In1dXX0pO3ZhciBOeSxVZ2U9YygoKT0+e055PVtbImVsbGlwc2UiLHtjeDoiMTIiLGN5OiI1IixyeDoiOSIscnk6IjMifV0sWyJwYXRoIix7ZDoiTTMgMTJhOSAzIDAgMCAwIDUgMi42OSJ9XSxbInBhdGgiLHtkOiJNMjEgOS4zVjUifV0sWyJwYXRoIix7ZDoiTTMgNXYxNGE5IDMgMCAwIDAgNi40NyAyLjg4In1dLFsicGF0aCIse2Q6Ik0xMiAxMnY0aDQifV0sWyJwYXRoIix7ZDoiTTEzIDIwYTUgNSAwIDAgMCA5LTMgNC41IDQuNSAwIDAgMC00LjUtNC41Yy0xLjMzIDAtMi41NC41NC0zLjQxIDEuNDFMMTIgMTYifV1dfSk7dmFyIFJ5LFdnZT1jKCgpPT57Unk9W1siZWxsaXBzZSIse2N4OiIxMiIsY3k6IjUiLHJ4OiI5IixyeToiMyJ9XSxbInBhdGgiLHtkOiJNMyA1VjE5QTkgMyAwIDAgMCAxNSAyMS44NCJ9XSxbInBhdGgiLHtkOiJNMjEgNVY4In1dLFsicGF0aCIse2Q6Ik0yMSAxMkwxOCAxN0gyMkwxOSAyMiJ9XSxbInBhdGgiLHtkOiJNMyAxMkE5IDMgMCAwIDAgMTQuNTkgMTQuODcifV1dfSk7dmFyIEZ5LEdnZT1jKCgpPT57Rnk9W1sicGF0aCIse2Q6Ik0yMSAxMS42OTNWNSJ9XSxbInBhdGgiLHtkOiJtMjIgMjItMS44NzUtMS44NzUifV0sWyJwYXRoIix7ZDoiTTMgMTJhOSAzIDAgMCAwIDguNjk3IDIuOTk4In1dLFsicGF0aCIse2Q6Ik0zIDV2MTRhOSAzIDAgMCAwIDkuMjggMi45OTkifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XSxbImVsbGlwc2UiLHtjeDoiMTIiLGN5OiI1IixyeDoiOSIscnk6IjMifV1dfSk7dmFyIE95LFlnZT1jKCgpPT57T3k9W1sicGF0aCIse2Q6Im0xMyAyMS0zLTMgMy0zIn1dLFsicGF0aCIse2Q6Ik0yMCAxOEgxMCJ9XSxbInBhdGgiLHtkOiJNMyAxMWguMDEifV0sWyJyZWN0Iix7eDoiNiIseToiMyIsd2lkdGg6IjUiLGhlaWdodDoiOCIscng6IjIuNSJ9XV19KTt2YXIgQnksWmdlPWMoKCk9PntCeT1bWyJlbGxpcHNlIix7Y3g6IjEyIixjeToiNSIscng6IjkiLHJ5OiIzIn1dLFsicGF0aCIse2Q6Ik0zIDVWMTlBOSAzIDAgMCAwIDIxIDE5VjUifV0sWyJwYXRoIix7ZDoiTTMgMTJBOSAzIDAgMCAwIDIxIDEyIn1dXX0pO3ZhciBIeSxYZ2U9YygoKT0+e0h5PVtbInBhdGgiLHtkOiJNMTAgMThoMTAifV0sWyJwYXRoIix7ZDoibTE3IDIxIDMtMy0zLTMifV0sWyJwYXRoIix7ZDoiTTMgMTFoLjAxIn1dLFsicmVjdCIse3g6IjE1Iix5OiIzIix3aWR0aDoiNSIsaGVpZ2h0OiI4IixyeDoiMi41In1dLFsicmVjdCIse3g6IjYiLHk6IjMiLHdpZHRoOiI1IixoZWlnaHQ6IjgiLHJ4OiIyLjUifV1dfSk7dmFyIHF5LEtnZT1jKCgpPT57cXk9W1sicGF0aCIse2Q6Ik0xMCA1YTIgMiAwIDAgMC0xLjM0NC41MTlsLTYuMzI4IDUuNzRhMSAxIDAgMCAwIDAgMS40ODFsNi4zMjggNS43NDFBMiAyIDAgMCAwIDEwIDE5aDEwYTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDAtMi0yeiJ9XSxbInBhdGgiLHtkOiJtMTIgOSA2IDYifV0sWyJwYXRoIix7ZDoibTE4IDktNiA2In1dXX0pO3ZhciBWeSxRZ2U9YygoKT0+e1Z5PVtbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE5IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiI1IixyOiIyIn1dLFsicGF0aCIse2Q6Ik02LjQ4IDMuNjZhMTAgMTAgMCAwIDEgMTMuODYgMTMuODYifV0sWyJwYXRoIix7ZDoibTYuNDEgNi40MSAxMS4xOCAxMS4xOCJ9XSxbInBhdGgiLHtkOiJNMy42NiA2LjQ4YTEwIDEwIDAgMCAwIDEzLjg2IDEzLjg2In1dXX0pO3ZhciBqeSxKZ2U9YygoKT0+e2p5PVtbInBhdGgiLHtkOiJNMTAuMTYyIDMuMTY3QTEwIDEwIDAgMCAwIDIgMTNhMiAyIDAgMCAwIDQgMHYtMWEyIDIgMCAwIDEgNCAwdjRhMiAyIDAgMCAwIDQgMHYtNGEyIDIgMCAwIDEgNCAwdjFhMiAyIDAgMCAwIDQtLjAwNiAxMCAxMCAwIDAgMC04LjE2MS05LjgyNiJ9XSxbInBhdGgiLHtkOiJNMjAuODA0IDE0Ljg2OWE5IDkgMCAwIDEtMTcuNjA4IDAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI0IixyOiIyIn1dXX0pO3ZhciBVeSxlYmU9YygoKT0+e1V5PVtbInBhdGgiLHtkOiJNMi43IDEwLjNhMi40MSAyLjQxIDAgMCAwIDAgMy40MWw3LjU5IDcuNTlhMi40MSAyLjQxIDAgMCAwIDMuNDEgMGw3LjU5LTcuNTlhMi40MSAyLjQxIDAgMCAwIDAtMy40MUwxMy43IDIuNzFhMi40MSAyLjQxIDAgMCAwLTMuNDEgMHoifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XV19KTt2YXIgczQsdGJlPWMoKCk9PntzND1bWyJwYXRoIix7ZDoiTTIuNyAxMC4zYTIuNDEgMi40MSAwIDAgMCAwIDMuNDFsNy41OSA3LjU5YTIuNDEgMi40MSAwIDAgMCAzLjQxIDBsNy41OS03LjU5YTIuNDEgMi40MSAwIDAgMCAwLTMuNDFMMTMuNyAyLjcxYTIuNDEgMi40MSAwIDAgMC0zLjQxIDBaIn1dLFsicGF0aCIse2Q6Ik05LjIgOS4yaC4wMSJ9XSxbInBhdGgiLHtkOiJtMTQuNSA5LjUtNSA1In1dLFsicGF0aCIse2Q6Ik0xNC43IDE0LjhoLjAxIn1dXX0pO3ZhciBXeSxhYmU9YygoKT0+e1d5PVtbInBhdGgiLHtkOiJNMTIgOHY4In1dLFsicGF0aCIse2Q6Ik0yLjcgMTAuM2EyLjQxIDIuNDEgMCAwIDAgMCAzLjQxbDcuNTkgNy41OWEyLjQxIDIuNDEgMCAwIDAgMy40MSAwbDcuNTktNy41OWEyLjQxIDIuNDEgMCAwIDAgMC0zLjQxTDEzLjcgMi43MWEyLjQxIDIuNDEgMCAwIDAtMy40MSAweiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dXX0pO3ZhciBHeSxyYmU9YygoKT0+e0d5PVtbInBhdGgiLHtkOiJNMi43IDEwLjNhMi40MSAyLjQxIDAgMCAwIDAgMy40MWw3LjU5IDcuNTlhMi40MSAyLjQxIDAgMCAwIDMuNDEgMGw3LjU5LTcuNTlhMi40MSAyLjQxIDAgMCAwIDAtMy40MWwtNy41OS03LjU5YTIuNDEgMi40MSAwIDAgMC0zLjQxIDBaIn1dXX0pO3ZhciBZeSxpYmU9YygoKT0+e1l5PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dXX0pO3ZhciBaeSxzYmU9YygoKT0+e1p5PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTUgOWguMDEifV0sWyJwYXRoIix7ZDoiTTkgMTVoLjAxIn1dXX0pO3ZhciBYeSxvYmU9YygoKT0+e1h5PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTYgOGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxNmguMDEifV1dfSk7dmFyIEt5LG5iZT1jKCgpPT57S3k9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xNiA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE2aC4wMSJ9XV19KTt2YXIgUXksbGJlPWMoKCk9PntReT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTE2IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEifV1dfSk7dmFyIEp5LGNiZT1jKCgpPT57Snk9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xNiA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTggOGguMDEifV0sWyJwYXRoIix7ZDoiTTggMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE2aC4wMSJ9XV19KTt2YXIgZXcsZGJlPWMoKCk9Pntldz1bWyJyZWN0Iix7d2lkdGg6IjEyIixoZWlnaHQ6IjEyIix4OiIyIix5OiIxMCIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Im0xNy45MiAxNCAzLjUtMy41YTIuMjQgMi4yNCAwIDAgMCAwLTNsLTUtNC45MmEyLjI0IDIuMjQgMCAwIDAtMyAwTDEwIDYifV0sWyJwYXRoIix7ZDoiTTYgMThoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMCAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDZoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOCA5aC4wMSJ9XV19KTt2YXIgdHcscGJlPWMoKCk9Pnt0dz1bWyJwYXRoIix7ZDoiTTEyIDN2MTQifV0sWyJwYXRoIix7ZDoiTTUgMTBoMTQifV0sWyJwYXRoIix7ZDoiTTUgMjFoMTQifV1dfSk7dmFyIGF3LHViZT1jKCgpPT57YXc9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XV19KTt2YXIgcncsZmJlPWMoKCk9Pntydz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI1In1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEifV1dfSk7dmFyIGl3LGhiZT1jKCgpPT57aXc9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik02IDEyYzAtMS43LjctMy4yIDEuOC00LjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMTggMTJjMCAxLjctLjcgMy4yLTEuOCA0LjIifV1dfSk7dmFyIHN3LG1iZT1jKCgpPT57c3c9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dfSk7dmFyIG93LGdiZT1jKCgpPT57b3c9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiNiIscjoiMSJ9XSxbImxpbmUiLHt4MToiNSIseDI6IjE5Iix5MToiMTIiLHkyOiIxMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE4IixyOiIxIn1dXX0pO3ZhciBudyxiYmU9YygoKT0+e253PVtbInBhdGgiLHtkOiJNMTUgMmMtMS4zNSAxLjUtMi4wOTIgMy0yLjUgNC41TDE0IDgifV0sWyJwYXRoIix7ZDoibTE3IDYtMi44OTEtMi44OTEifV0sWyJwYXRoIix7ZDoiTTIgMTVjMy4zMzMtMyA2LjY2Ny0zIDEwLTMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJtMjAgOSAuODkxLjg5MSJ9XSxbInBhdGgiLHtkOiJNMjIgOWMtMS41IDEuMzUtMyAyLjA5Mi00LjUgMi41bC0xLTEifV0sWyJwYXRoIix7ZDoiTTMuMTA5IDE0LjEwOSA0IDE1In1dLFsicGF0aCIse2Q6Im02LjUgMTIuNSAxIDEifV0sWyJwYXRoIix7ZDoibTcgMTggMi44OTEgMi44OTEifV0sWyJwYXRoIix7ZDoiTTkgMjJjMS4zNS0xLjUgMi4wOTItMyAyLjUtNC41TDEwIDE2In1dXX0pO3ZhciBsdyx2YmU9YygoKT0+e2x3PVtbInBhdGgiLHtkOiJNMiA4aDIwIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTYgMTZoMTIifV1dfSk7dmFyIGN3LHhiZT1jKCgpPT57Y3c9W1sicGF0aCIse2Q6Im0xMCAxNiAxLjUgMS41In1dLFsicGF0aCIse2Q6Im0xNCA4LTEuNS0xLjUifV0sWyJwYXRoIix7ZDoiTTE1IDJjLTEuNzk4IDEuOTk4LTIuNTE4IDMuOTk1LTIuODA3IDUuOTkzIn1dLFsicGF0aCIse2Q6Im0xNi41IDEwLjUgMSAxIn1dLFsicGF0aCIse2Q6Im0xNyA2LTIuODkxLTIuODkxIn1dLFsicGF0aCIse2Q6Ik0yIDE1YzYuNjY3LTYgMTMuMzMzIDAgMjAtNiJ9XSxbInBhdGgiLHtkOiJtMjAgOSAuODkxLjg5MSJ9XSxbInBhdGgiLHtkOiJNMy4xMDkgMTQuMTA5IDQgMTUifV0sWyJwYXRoIix7ZDoibTYuNSAxMi41IDEgMSJ9XSxbInBhdGgiLHtkOiJtNyAxOCAyLjg5MSAyLjg5MSJ9XSxbInBhdGgiLHtkOiJNOSAyMmMxLjc5OC0xLjk5OCAyLjUxOC0zLjk5NSAyLjgwNy01Ljk5MyJ9XV19KTt2YXIgZHcseWJlPWMoKCk9Pntkdz1bWyJwYXRoIix7ZDoiTTExLjI1IDE2LjI1aDEuNUwxMiAxN3oifV0sWyJwYXRoIix7ZDoiTTE2IDE0di41In1dLFsicGF0aCIse2Q6Ik00LjQyIDExLjI0N0ExMy4xNTIgMTMuMTUyIDAgMCAwIDQgMTQuNTU2QzQgMTguNzI4IDcuNTgyIDIxIDEyIDIxczgtMi4yNzIgOC02LjQ0NGExMS43MDIgMTEuNzAyIDAgMCAwLS40OTMtMy4zMDkifV0sWyJwYXRoIix7ZDoiTTggMTR2LjUifV0sWyJwYXRoIix7ZDoiTTguNSA4LjVjLS4zODQgMS4wNS0xLjA4MyAyLjAyOC0yLjM0NCAyLjUtMS45MzEuNzIyLTMuNTc2LS4yOTctMy42NTYtMS0uMTEzLS45OTQgMS4xNzctNi41MyA0LTcgMS45MjMtLjMyMSAzLjY1MS44NDUgMy42NTEgMi4yMzVBNy40OTcgNy40OTcgMCAwIDEgMTQgNS4yNzdjMC0xLjM5IDEuODQ0LTIuNTk4IDMuNzY3LTIuMjc3IDIuODIzLjQ3IDQuMTEzIDYuMDA2IDQgNy0uMDguNzAzLTEuNzI1IDEuNzIyLTMuNjU2IDEtMS4yNjEtLjQ3Mi0xLjg1NS0xLjQ1LTIuMjM5LTIuNSJ9XV19KTt2YXIgcHcsd2JlPWMoKCk9Pntwdz1bWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIyIix5MjoiMjIifV0sWyJwYXRoIix7ZDoiTTE3IDVIOS41YTMuNSAzLjUgMCAwIDAgMCA3aDVhMy41IDMuNSAwIDAgMSAwIDdINiJ9XV19KTt2YXIgdXcsTWJlPWMoKCk9Pnt1dz1bWyJwYXRoIix7ZDoiTTIwLjUgMTBhMi41IDIuNSAwIDAgMS0yLjQtM0gxOGEyLjk1IDIuOTUgMCAwIDEtMi42LTQuNCAxMCAxMCAwIDEgMCA2LjMgNy4xYy0uMy4yLS44LjMtMS4yLjMifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XV19KTt2YXIgZncsa2JlPWMoKCk9Pntmdz1bWyJwYXRoIix7ZDoiTTEwIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggMjBWNmEyIDIgMCAwIDAtMi0ySDhhMiAyIDAgMCAwLTIgMnYxNCJ9XSxbInBhdGgiLHtkOiJNMiAyMGgyMCJ9XV19KTt2YXIgaHcsemJlPWMoKCk9Pntodz1bWyJwYXRoIix7ZDoiTTEwIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggOVY2YTIgMiAwIDAgMC0yLTJIOGEyIDIgMCAwIDAtMiAydjE0In1dLFsicGF0aCIse2Q6Ik0yIDIwaDgifV0sWyJwYXRoIix7ZDoiTTIwIDE3di0yYTIgMiAwIDEgMC00IDB2MiJ9XSxbInJlY3QiLHt4OiIxNCIseToiMTciLHdpZHRoOiI4IixoZWlnaHQ6IjUiLHJ4OiIxIn1dXX0pO3ZhciBtdyxTYmU9YygoKT0+e213PVtbInBhdGgiLHtkOiJNMTEgMjBIMiJ9XSxbInBhdGgiLHtkOiJNMTEgNC41NjJ2MTYuMTU3YTEgMSAwIDAgMCAxLjI0Mi45N0wxOSAyMFY1LjU2MmEyIDIgMCAwIDAtMS41MTUtMS45NGwtNC0xQTIgMiAwIDAgMCAxMSA0LjU2MXoifV0sWyJwYXRoIix7ZDoiTTExIDRIOGEyIDIgMCAwIDAtMiAydjE0In1dLFsicGF0aCIse2Q6Ik0xNCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTIyIDIwaC0zIn1dXX0pO3ZhciBndyxDYmU9YygoKT0+e2d3PVtbImNpcmNsZSIse2N4OiIxMi4xIixjeToiMTIuMSIscjoiMSJ9XV19KTt2YXIgYncsX2JlPWMoKCk9Pntidz1bWyJwYXRoIix7ZDoiTTEyIDE1VjMifV0sWyJwYXRoIix7ZDoiTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQifV0sWyJwYXRoIix7ZDoibTcgMTAgNSA1IDUtNSJ9XV19KTt2YXIgdncsVGJlPWMoKCk9Pnt2dz1bWyJwYXRoIix7ZDoiTTEwIDExaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTQgNmguMDEifV0sWyJwYXRoIix7ZDoiTTE4IDZoLjAxIn1dLFsicGF0aCIse2Q6Ik02LjUgMTMuMWguMDEifV0sWyJwYXRoIix7ZDoiTTIyIDVjMCA5LTQgMTItNiAxMnMtNi0zLTYtMTJjMC0yIDItMyA2LTNzNiAxIDYgMyJ9XSxbInBhdGgiLHtkOiJNMTcuNCA5LjljLS44LjgtMiAuOC0yLjggMCJ9XSxbInBhdGgiLHtkOiJNMTAuMSA3LjFDOSA3LjIgNy43IDcuNyA2IDguNmMtMy41IDItNC43IDMuOS0zLjcgNS42IDQuNSA3LjggOS41IDguNCAxMS4yIDcuNC45LS41IDEuOS0yLjEgMS45LTQuNyJ9XSxbInBhdGgiLHtkOiJNOS4xIDE2LjVjLjMtMS4xIDEuNC0xLjcgMi40LTEuNCJ9XV19KTt2YXIgeHcsTGJlPWMoKCk9Pnt4dz1bWyJwYXRoIix7ZDoibTEyLjk5IDYuNzQgMS45MyAzLjQ0In1dLFsicGF0aCIse2Q6Ik0xOS4xMzYgMTJhMTAgMTAgMCAwIDEtMTQuMjcxIDAifV0sWyJwYXRoIix7ZDoibTIxIDIxLTIuMTYtMy44NCJ9XSxbInBhdGgiLHtkOiJtMyAyMSA4LjAyLTE0LjI2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNSIscjoiMiJ9XV19KTt2YXIgeXcsJGJlPWMoKCk9Pnt5dz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE5LjEzIDUuMDlDMTUuMjIgOS4xNCAxMCAxMC40NCAyLjI1IDEwLjk0In1dLFsicGF0aCIse2Q6Ik0yMS43NSAxMi44NGMtNi42Mi0xLjQxLTEyLjE0IDEtMTYuMzggNi4zMiJ9XSxbInBhdGgiLHtkOiJNOC41NiAyLjc1YzQuMzcgNiA2IDkuNDIgOCAxNy43MiJ9XV19KTt2YXIgd3csRGJlPWMoKCk9Pnt3dz1bWyJwYXRoIix7ZDoiTTEwIDE4YTEgMSAwIDAgMSAxIDF2MmExIDEgMCAwIDEtMSAxSDVhMyAzIDAgMCAxLTMtMyAxIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNMTMgMTBINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg5YTEgMSAwIDAgMSAxIDF2NmExIDEgMCAwIDEtMSAxbC0uODEgMy4yNDJhMSAxIDAgMCAxLS45Ny43NThIOCJ9XSxbInBhdGgiLHtkOiJNMTQgNGgzYTEgMSAwIDAgMSAxIDF2MmExIDEgMCAwIDEtMSAxaC0zIn1dLFsicGF0aCIse2Q6Ik0xOCA2aDQifV0sWyJwYXRoIix7ZDoibTUgMTAtMiA4In1dLFsicGF0aCIse2Q6Im03IDE4IDItOCJ9XV19KTt2YXIgTXcsQWJlPWMoKCk9PntNdz1bWyJwYXRoIix7ZDoiTTEwIDEwIDcgNyJ9XSxbInBhdGgiLHtkOiJtMTAgMTQtMyAzIn1dLFsicGF0aCIse2Q6Im0xNCAxMCAzLTMifV0sWyJwYXRoIix7ZDoibTE0IDE0IDMgMyJ9XSxbInBhdGgiLHtkOiJNMTQuMjA1IDQuMTM5YTQgNCAwIDEgMSA1LjQzOSA1Ljg2MyJ9XSxbInBhdGgiLHtkOiJNMTkuNjM3IDE0YTQgNCAwIDEgMS01LjQzMiA1Ljg2OCJ9XSxbInBhdGgiLHtkOiJNNC4zNjcgMTBhNCA0IDAgMSAxIDUuNDM4LTUuODYyIn1dLFsicGF0aCIse2Q6Ik05Ljc5NSAxOS44NjJhNCA0IDAgMSAxLTUuNDI5LTUuODczIn1dLFsicmVjdCIse3g6IjEwIix5OiI4Iix3aWR0aDoiNCIsaGVpZ2h0OiI4IixyeDoiMSJ9XV19KTt2YXIga3csUGJlPWMoKCk9Pntrdz1bWyJwYXRoIix7ZDoiTTEyIDIyYTcgNyAwIDAgMCA3LTdjMC0yLTEtMy45LTMtNS41cy0zLjUtNC00LTYuNWMtLjUgMi41LTIgNC45LTQgNi41QzYgMTEuMSA1IDEzIDUgMTVhNyA3IDAgMCAwIDcgN3oifV1dfSk7dmFyIHp3LEViZT1jKCgpPT57enc9W1sicGF0aCIse2Q6Ik0xOC43MTUgMTMuMTg2QzE4LjI5IDExLjg1OCAxNy4zODQgMTAuNjA3IDE2IDkuNWMtMi0xLjYtMy41LTQtNC02LjVhMTAuNyAxMC43IDAgMCAxLS44ODQgMi41ODYifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNOC43OTUgOC43OTdBMTEgMTEgMCAwIDEgOCA5LjVDNiAxMS4xIDUgMTMgNSAxNWE3IDcgMCAwIDAgMTMuMjIyIDMuMjA4In1dXX0pO3ZhciBTdyxJYmU9YygoKT0+e1N3PVtbInBhdGgiLHtkOiJNNyAxNi4zYzIuMiAwIDQtMS44MyA0LTQuMDUgMC0xLjE2LS41Ny0yLjI2LTEuNzEtMy4xOVM3LjI5IDYuNzUgNyA1LjNjLS4yOSAxLjQ1LTEuMTQgMi44NC0yLjI5IDMuNzZTMyAxMS4xIDMgMTIuMjVjMCAyLjIyIDEuOCA0LjA1IDQgNC4wNXoifV0sWyJwYXRoIix7ZDoiTTEyLjU2IDYuNkExMC45NyAxMC45NyAwIDAgMCAxNCAzLjAyYy41IDIuNSAyIDQuOSA0IDYuNXMzIDMuNSAzIDUuNWE2Ljk4IDYuOTggMCAwIDEtMTEuOTEgNC45NyJ9XV19KTt2YXIgQ3csTmJlPWMoKCk9PntDdz1bWyJwYXRoIix7ZDoibTIgMiA4IDgifV0sWyJwYXRoIix7ZDoibTIyIDItOCA4In1dLFsiZWxsaXBzZSIse2N4OiIxMiIsY3k6IjkiLHJ4OiIxMCIscnk6IjUifV0sWyJwYXRoIix7ZDoiTTcgMTMuNHY3LjkifV0sWyJwYXRoIix7ZDoiTTEyIDE0djgifV0sWyJwYXRoIix7ZDoiTTE3IDEzLjR2Ny45In1dLFsicGF0aCIse2Q6Ik0yIDl2OGExMCA1IDAgMCAwIDIwIDBWOSJ9XV19KTt2YXIgX3csUmJlPWMoKCk9Pntfdz1bWyJwYXRoIix7ZDoiTTE1LjQgMTUuNjNhNy44NzUgNiAxMzUgMSAxIDYuMjMtNi4yMyA0LjUgMy40MyAxMzUgMCAwLTYuMjMgNi4yMyJ9XSxbInBhdGgiLHtkOiJtOC4yOSAxMi43MS0yLjYgMi42YTIuNSAyLjUgMCAxIDAtMS42NSA0LjY1QTIuNSAyLjUgMCAxIDAgOC43IDE4LjNsMi41OS0yLjU5In1dXX0pO3ZhciBUdyxGYmU9YygoKT0+e1R3PVtbInBhdGgiLHtkOiJNMTcuNTk2IDEyLjc2OGEyIDIgMCAxIDAgMi44MjktMi44MjlsLTEuNzY4LTEuNzY3YTIgMiAwIDAgMCAyLjgyOC0yLjgyOWwtMi44MjgtMi44MjhhMiAyIDAgMCAwLTIuODI5IDIuODI4bC0xLjc2Ny0xLjc2OGEyIDIgMCAxIDAtMi44MjkgMi44Mjl6In1dLFsicGF0aCIse2Q6Im0yLjUgMjEuNSAxLjQtMS40In1dLFsicGF0aCIse2Q6Im0yMC4xIDMuOSAxLjQtMS40In1dLFsicGF0aCIse2Q6Ik01LjM0MyAyMS40ODVhMiAyIDAgMSAwIDIuODI5LTIuODI4bDEuNzY3IDEuNzY4YTIgMiAwIDEgMCAyLjgyOS0yLjgyOWwtNi4zNjQtNi4zNjRhMiAyIDAgMSAwLTIuODI5IDIuODI5bDEuNzY4IDEuNzY3YTIgMiAwIDAgMC0yLjgyOCAyLjgyOXoifV0sWyJwYXRoIix7ZDoibTkuNiAxNC40IDQuOC00LjgifV1dfSk7dmFyIEx3LE9iZT1jKCgpPT57THc9W1sicGF0aCIse2Q6Ik02IDE4LjVhMy41IDMuNSAwIDEgMCA3IDBjMC0xLjU3LjkyLTIuNTIgMi4wNC0zLjQ2In1dLFsicGF0aCIse2Q6Ik02IDguNWMwLS43NS4xMy0xLjQ3LjM2LTIuMTQifV0sWyJwYXRoIix7ZDoiTTguOCAzLjE1QTYuNSA2LjUgMCAwIDEgMTkgOC41YzAgMS42My0uNDQgMi44MS0xLjA5IDMuNzYifV0sWyJwYXRoIix7ZDoiTTEyLjUgNkEyLjUgMi41IDAgMCAxIDE1IDguNU0xMCAxM2EyIDIgMCAwIDAgMS44Mi0xLjE4In1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV1dfSk7dmFyICR3LEJiZT1jKCgpPT57JHc9W1sicGF0aCIse2Q6Ik02IDguNWE2LjUgNi41IDAgMSAxIDEzIDBjMCA2LTYgNi02IDEwYTMuNSAzLjUgMCAxIDEtNyAwIn1dLFsicGF0aCIse2Q6Ik0xNSA4LjVhMi41IDIuNSAwIDAgMC01IDB2MWEyIDIgMCAxIDEgMCA0In1dXX0pO3ZhciBvNCxIYmU9YygoKT0+e280PVtbInBhdGgiLHtkOiJNMjEuNTQgMTVIMTdhMiAyIDAgMCAwLTIgMnY0LjU0In1dLFsicGF0aCIse2Q6Ik03IDMuMzRWNWEzIDMgMCAwIDAgMyAzYTIgMiAwIDAgMSAyIDJjMCAxLjEuOSAyIDIgMmEyIDIgMCAwIDAgMi0yYzAtMS4xLjktMiAyLTJoMy4xNyJ9XSxbInBhdGgiLHtkOiJNMTEgMjEuOTVWMThhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDEtMi0ydi0xYTIgMiAwIDAgMC0yLTJIMi4wNSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XV19KTt2YXIgRHcscWJlPWMoKCk9PntEdz1bWyJwYXRoIix7ZDoiTTcgMy4zNFY1YTMgMyAwIDAgMCAzIDMifV0sWyJwYXRoIix7ZDoiTTExIDIxLjk1VjE4YTIgMiAwIDAgMC0yLTIgMiAyIDAgMCAxLTItMnYtMWEyIDIgMCAwIDAtMi0ySDIuMDUifV0sWyJwYXRoIix7ZDoiTTIxLjU0IDE1SDE3YTIgMiAwIDAgMC0yIDJ2NC41NCJ9XSxbInBhdGgiLHtkOiJNMTIgMmExMCAxMCAwIDEgMCA5LjU0IDEzIn1dLFsicGF0aCIse2Q6Ik0yMCA2VjRhMiAyIDAgMSAwLTQgMHYyIn1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjUiLHg6IjE0Iix5OiI2IixyeDoiMSJ9XV19KTt2YXIgQXcsVmJlPWMoKCk9PntBdz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDJhNyA3IDAgMSAwIDEwIDEwIn1dXX0pO3ZhciBQdyxqYmU9YygoKT0+e1B3PVtbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMCAxNC4zNDdWMTRjMC02LTQtMTItOC0xMi0xLjA3OCAwLTIuMTU3LjQzNi0zLjE1NyAxLjE5In1dLFsicGF0aCIse2Q6Ik02LjIwNiA2LjIxQzQuODcxIDguNCA0IDExLjIgNCAxNGE4IDggMCAwIDAgMTQuNTY4IDQuNTY4In1dXX0pO3ZhciBFdyxVYmU9YygoKT0+e0V3PVtbImNpcmNsZSIse2N4OiIxMS41IixjeToiMTIuNSIscjoiMy41In1dLFsicGF0aCIse2Q6Ik0zIDhjMC0zLjUgMi41LTYgNi41LTYgNSAwIDQuODMgMyA3LjUgNXM1IDIgNSA2YzAgNC41LTIuNSA2LjUtNyA2LjUtMi41IDAtMi41IDIuNS02IDIuNXMtNy0yLTctNS41YzAtMyAxLjUtMyAxLjUtNUMzLjUgMTAgMyA5IDMgOFoifV1dfSk7dmFyIEl3LFdiZT1jKCgpPT57SXc9W1sicGF0aCIse2Q6Ik0xMiAyQzggMiA0IDggNCAxNGE4IDggMCAwIDAgMTYgMGMwLTYtNC0xMi04LTEyIn1dXX0pO3ZhciBOdyxHYmU9YygoKT0+e053PVtbImVsbGlwc2UiLHtjeDoiMTIiLGN5OiIxMiIscng6IjEwIixyeToiNiJ9XV19KTt2YXIgbjQsWWJlPWMoKCk9PntuND1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjUiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxOSIscjoiMSJ9XV19KTt2YXIgbDQsWmJlPWMoKCk9PntsND1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxMiIscjoiMSJ9XV19KTt2YXIgUncsWGJlPWMoKCk9PntSdz1bWyJwYXRoIix7ZDoiTTUgMTVhNi41IDYuNSAwIDAgMSA3IDAgNi41IDYuNSAwIDAgMCA3IDAifV0sWyJwYXRoIix7ZDoiTTUgOWE2LjUgNi41IDAgMCAxIDcgMCA2LjUgNi41IDAgMCAwIDcgMCJ9XV19KTt2YXIgRncsS2JlPWMoKCk9PntGdz1bWyJsaW5lIix7eDE6IjUiLHgyOiIxOSIseTE6IjkiLHkyOiI5In1dLFsibGluZSIse3gxOiI1Iix4MjoiMTkiLHkxOiIxNSIseTI6IjE1In1dLFsibGluZSIse3gxOiIxOSIseDI6IjUiLHkxOiI1Iix5MjoiMTkifV1dfSk7dmFyIE93LFFiZT1jKCgpPT57T3c9W1sibGluZSIse3gxOiI1Iix4MjoiMTkiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiNSIseDI6IjE5Iix5MToiMTUiLHkyOiIxNSJ9XV19KTt2YXIgQncsSmJlPWMoKCk9PntCdz1bWyJwYXRoIix7ZDoiTTIxIDIxSDhhMiAyIDAgMCAxLTEuNDItLjU4N2wtMy45OTQtMy45OTlhMiAyIDAgMCAxIDAtMi44MjhsMTAtMTBhMiAyIDAgMCAxIDIuODI5IDBsNS45OTkgNmEyIDIgMCAwIDEgMCAyLjgyOEwxMi44MzQgMjEifV0sWyJwYXRoIix7ZDoibTUuMDgyIDExLjA5IDguODI4IDguODI4In1dXX0pO3ZhciBIdyxldmU9YygoKT0+e0h3PVtbInBhdGgiLHtkOiJtMTUgMjAgMy0zaDJhMiAyIDAgMCAwIDItMlY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjlhMiAyIDAgMCAwIDIgMmgybDMgM3oifV0sWyJwYXRoIix7ZDoiTTYgOHYxIn1dLFsicGF0aCIse2Q6Ik0xMCA4djEifV0sWyJwYXRoIix7ZDoiTTE0IDh2MSJ9XSxbInBhdGgiLHtkOiJNMTggOHYxIn1dXX0pO3ZhciBxdyx0dmU9YygoKT0+e3F3PVtbInBhdGgiLHtkOiJNNCAxMGgxMiJ9XSxbInBhdGgiLHtkOiJNNCAxNGg5In1dLFsicGF0aCIse2Q6Ik0xOSA2YTcuNyA3LjcgMCAwIDAtNS4yLTJBNy45IDcuOSAwIDAgMCA2IDEyYzAgNC40IDMuNSA4IDcuOCA4IDIgMCAzLjgtLjggNS4yLTIifV1dfSk7dmFyIFZ3LGF2ZT1jKCgpPT57Vnc9W1sicGF0aCIse2Q6Im0xNSAxNSA2IDYifV0sWyJwYXRoIix7ZDoibTE1IDkgNi02In1dLFsicGF0aCIse2Q6Ik0yMSAxNnY1aC01In1dLFsicGF0aCIse2Q6Ik0yMSA4VjNoLTUifV0sWyJwYXRoIix7ZDoiTTMgMTZ2NWg1In1dLFsicGF0aCIse2Q6Im0zIDIxIDYtNiJ9XSxbInBhdGgiLHtkOiJNMyA4VjNoNSJ9XSxbInBhdGgiLHtkOiJNOSA5IDMgMyJ9XV19KTt2YXIgancscnZlPWMoKCk9Pntqdz1bWyJwYXRoIix7ZDoiTTE0IDEzaDJhMiAyIDAgMCAxIDIgMnYyYTIgMiAwIDAgMCA0IDB2LTYuOTk4YTIgMiAwIDAgMC0uNTktMS40MkwxOCA1In1dLFsicGF0aCIse2Q6Ik0xNCAyMVY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE2In1dLFsicGF0aCIse2Q6Ik0yIDIxaDEzIn1dLFsicGF0aCIse2Q6Ik0zIDdoMTEifV0sWyJwYXRoIix7ZDoibTkgMTEtMiAzaDNsLTIgMyJ9XV19KTt2YXIgVXcsaXZlPWMoKCk9PntVdz1bWyJwYXRoIix7ZDoiTTE1IDNoNnY2In1dLFsicGF0aCIse2Q6Ik0xMCAxNCAyMSAzIn1dLFsicGF0aCIse2Q6Ik0xOCAxM3Y2YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmg2In1dXX0pO3ZhciBXdyxzdmU9YygoKT0+e1d3PVtbInBhdGgiLHtkOiJNMTAuNzMzIDUuMDc2YTEwLjc0NCAxMC43NDQgMCAwIDEgMTEuMjA1IDYuNTc1IDEgMSAwIDAgMSAwIC42OTYgMTAuNzQ3IDEwLjc0NyAwIDAgMS0xLjQ0NCAyLjQ5In1dLFsicGF0aCIse2Q6Ik0xNC4wODQgMTQuMTU4YTMgMyAwIDAgMS00LjI0Mi00LjI0MiJ9XSxbInBhdGgiLHtkOiJNMTcuNDc5IDE3LjQ5OWExMC43NSAxMC43NSAwIDAgMS0xNS40MTctNS4xNTEgMSAxIDAgMCAxIDAtLjY5NiAxMC43NSAxMC43NSAwIDAgMSA0LjQ0Ni01LjE0MyJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciBHdyxvdmU9YygoKT0+e0d3PVtbInBhdGgiLHtkOiJtMTUgMTgtLjcyMi0zLjI1In1dLFsicGF0aCIse2Q6Ik0yIDhhMTAuNjQ1IDEwLjY0NSAwIDAgMCAyMCAwIn1dLFsicGF0aCIse2Q6Im0yMCAxNS0xLjcyNi0yLjA1In1dLFsicGF0aCIse2Q6Im00IDE1IDEuNzI2LTIuMDUifV0sWyJwYXRoIix7ZDoibTkgMTggLjcyMi0zLjI1In1dXX0pO3ZhciBZdyxudmU9YygoKT0+e1l3PVtbInBhdGgiLHtkOiJNMi4wNjIgMTIuMzQ4YTEgMSAwIDAgMSAwLS42OTYgMTAuNzUgMTAuNzUgMCAwIDEgMTkuODc2IDAgMSAxIDAgMCAxIDAgLjY5NiAxMC43NSAxMC43NSAwIDAgMS0xOS44NzYgMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dXX0pO3ZhciBadyxsdmU9YygoKT0+e1p3PVtbInBhdGgiLHtkOiJNMTggMmgtM2E1IDUgMCAwIDAtNSA1djNIN3Y0aDN2OGg0di04aDNsMS00aC00VjdhMSAxIDAgMCAxIDEtMWgzeiJ9XV19KTt2YXIgWHcsY3ZlPWMoKCk9PntYdz1bWyJwYXRoIix7ZDoiTTEyIDE2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0zIDE5YTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDItMlY4LjVhLjUuNSAwIDAgMC0uNzY5LS40MjJsLTQuNDYyIDIuODQ0QS41LjUgMCAwIDEgMTUgMTAuNXYtMmEuNS41IDAgMCAwLS43NjktLjQyMkw5Ljc3IDEwLjkyMkEuNS41IDAgMCAxIDkgMTAuNVY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAyeiJ9XSxbInBhdGgiLHtkOiJNOCAxNmguMDEifV1dfSk7dmFyIEt3LGR2ZT1jKCgpPT57S3c9W1sicGF0aCIse2Q6Ik0xMC44MjcgMTYuMzc5YTYuMDgyIDYuMDgyIDAgMCAxLTguNjE4LTcuMDAybDUuNDEyIDEuNDVhNi4wODIgNi4wODIgMCAwIDEgNy4wMDItOC42MThsLTEuNDUgNS40MTJhNi4wODIgNi4wODIgMCAwIDEgOC42MTggNy4wMDJsLTUuNDEyLTEuNDVhNi4wODIgNi4wODIgMCAwIDEtNy4wMDIgOC42MThsMS40NS01LjQxMloifV0sWyJwYXRoIix7ZDoiTTEyIDEydi4wMSJ9XV19KTt2YXIgUXcscHZlPWMoKCk9PntRdz1bWyJwYXRoIix7ZDoiTTEyIDZhMiAyIDAgMCAxIDMuNDE0LTEuNDE0bDYgNmEyIDIgMCAwIDEgMCAyLjgyOGwtNiA2QTIgMiAwIDAgMSAxMiAxOHoifV0sWyJwYXRoIix7ZDoiTTIgNmEyIDIgMCAwIDEgMy40MTQtMS40MTRsNiA2YTIgMiAwIDAgMSAwIDIuODI4bC02IDZBMiAyIDAgMCAxIDIgMTh6In1dXX0pO3ZhciBKdyx1dmU9YygoKT0+e0p3PVtbInBhdGgiLHtkOiJNMTIuNjcgMTlhMiAyIDAgMCAwIDEuNDE2LS41ODhsNi4xNTQtNi4xNzJhNiA2IDAgMCAwLTguNDktOC40OUw1LjU4NiA5LjkxNEEyIDIgMCAwIDAgNSAxMS4zMjhWMThhMSAxIDAgMCAwIDEgMXoifV0sWyJwYXRoIix7ZDoiTTE2IDggMiAyMiJ9XSxbInBhdGgiLHtkOiJNMTcuNSAxNUg5In1dXX0pO3ZhciBlTSxmdmU9YygoKT0+e2VNPVtbInBhdGgiLHtkOiJNNCAzIDIgNXYxNWMwIC42LjQgMSAxIDFoMmMuNiAwIDEtLjQgMS0xVjVaIn1dLFsicGF0aCIse2Q6Ik02IDhoNCJ9XSxbInBhdGgiLHtkOiJNNiAxOGg0In1dLFsicGF0aCIse2Q6Im0xMiAzLTIgMnYxNWMwIC42LjQgMSAxIDFoMmMuNiAwIDEtLjQgMS0xVjVaIn1dLFsicGF0aCIse2Q6Ik0xNCA4aDQifV0sWyJwYXRoIix7ZDoiTTE0IDE4aDQifV0sWyJwYXRoIix7ZDoibTIwIDMtMiAydjE1YzAgLjYuNCAxIDEgMWgyYy42IDAgMS0uNCAxLTFWNVoifV1dfSk7dmFyIHRNLGh2ZT1jKCgpPT57dE09W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDJ2NCJ9XSxbInBhdGgiLHtkOiJtNi44IDE1LTMuNSAyIn1dLFsicGF0aCIse2Q6Im0yMC43IDctMy41IDIifV0sWyJwYXRoIix7ZDoiTTYuOCA5IDMuMyA3In1dLFsicGF0aCIse2Q6Im0yMC43IDE3LTMuNS0yIn1dLFsicGF0aCIse2Q6Im05IDIyIDMtOCAzIDgifV0sWyJwYXRoIix7ZDoiTTggMjJoOCJ9XSxbInBhdGgiLHtkOiJNMTggMTguN2E5IDkgMCAxIDAtMTIgMCJ9XV19KTt2YXIgYU0sbXZlPWMoKCk9PnthTT1bWyJwYXRoIix7ZDoiTTUgNS41QTMuNSAzLjUgMCAwIDEgOC41IDJIMTJ2N0g4LjVBMy41IDMuNSAwIDAgMSA1IDUuNXoifV0sWyJwYXRoIix7ZDoiTTEyIDJoMy41YTMuNSAzLjUgMCAxIDEgMCA3SDEyVjJ6In1dLFsicGF0aCIse2Q6Ik0xMiAxMi41YTMuNSAzLjUgMCAxIDEgNyAwIDMuNSAzLjUgMCAxIDEtNyAweiJ9XSxbInBhdGgiLHtkOiJNNSAxOS41QTMuNSAzLjUgMCAwIDEgOC41IDE2SDEydjMuNWEzLjUgMy41IDAgMSAxLTcgMHoifV0sWyJwYXRoIix7ZDoiTTUgMTIuNUEzLjUgMy41IDAgMCAxIDguNSA5SDEydjdIOC41QTMuNSAzLjUgMCAwIDEgNSAxMi41eiJ9XV19KTt2YXIgck0sZ3ZlPWMoKCk9PntyTT1bWyJwYXRoIix7ZDoiTTEzLjY1OSAyMkgxOGEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjExLjUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTggMTJ2LTEifV0sWyJwYXRoIix7ZDoiTTggMTh2LTIifV0sWyJwYXRoIix7ZDoiTTggN1Y2In1dLFsiY2lyY2xlIix7Y3g6IjgiLGN5OiIyMCIscjoiMiJ9XV19KTt2YXIgYzQsYnZlPWMoKCk9PntjND1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTggMTggNC00In1dLFsicGF0aCIse2Q6Ik04IDEwdjhoOCJ9XV19KTt2YXIgZDQsdnZlPWMoKCk9PntkND1bWyJwYXRoIix7ZDoiTTEzIDIyaDVhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnYzLjMifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTcuNjkgMTYuNDc5IDEuMjkgNC44OGEuNS41IDAgMCAxLS42OTguNTkxbC0xLjg0My0uODQ5YTEgMSAwIDAgMC0uODc5LjAwMWwtMS44NDYuODVhLjUuNSAwIDAgMS0uNjkyLS41OTNsMS4yOS00Ljg4In1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiIxNCIscjoiMyJ9XV19KTt2YXIgaU0seHZlPWMoKCk9PntpTT1bWyJwYXRoIix7ZDoiTTE0LjUgMjJIMThhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnYzLjgifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTExLjcgMTQuMiA3IDE3bC00LjctMi44In1dLFsicGF0aCIse2Q6Ik0zIDEzLjFhMiAyIDAgMCAwLS45OTkgMS43NnYzLjI0YTIgMiAwIDAgMCAuOTY5IDEuNzhMNiAyMS43YTIgMiAwIDAgMCAyLjAzLjAxTDExIDE5LjlhMiAyIDAgMCAwIDEtMS43NlYxNC45YTIgMiAwIDAgMC0uOTctMS43OEw4IDExLjNhMiAyIDAgMCAwLTIuMDMtLjAxeiJ9XSxbInBhdGgiLHtkOiJNNyAxN3Y1In1dXX0pO3ZhciBwNCx5dmU9YygoKT0+e3A0PVtbInBhdGgiLHtkOiJNMTQgMjJoNGEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjYifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTUgMTRhMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMS0xIDEgMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMCAxIDEifV0sWyJwYXRoIix7ZDoiTTkgMjJhMSAxIDAgMCAwIDEtMXYtMmExIDEgMCAwIDEgMS0xIDEgMSAwIDAgMS0xLTF2LTJhMSAxIDAgMCAwLTEtMSJ9XV19KTt2YXIgdTQsd3ZlPWMoKCk9Pnt1ND1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTEwIDEyYTEgMSAwIDAgMC0xIDF2MWExIDEgMCAwIDEtMSAxIDEgMSAwIDAgMSAxIDF2MWExIDEgMCAwIDAgMSAxIn1dLFsicGF0aCIse2Q6Ik0xNCAxOGExIDEgMCAwIDAgMS0xdi0xYTEgMSAwIDAgMSAxLTEgMSAxIDAgMCAxLTEtMXYtMWExIDEgMCAwIDAtMS0xIn1dXX0pO3ZhciBmNCxNdmU9YygoKT0+e2Y0PVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAxOHYtMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTh2LTQifV0sWyJwYXRoIix7ZDoiTTE2IDE4di02In1dXX0pO3ZhciBoNCxrdmU9YygoKT0+e2g0PVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAxOHYtMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTh2LTYifV0sWyJwYXRoIix7ZDoiTTE2IDE4di0zIn1dXX0pO3ZhciBtNCx6dmU9YygoKT0+e200PVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtMTYgMTMtMy41IDMuNS0yLTJMOCAxNyJ9XV19KTt2YXIgZzQsU3ZlPWMoKCk9PntnND1bWyJwYXRoIix7ZDoiTTE1Ljk0MSAyMkgxOGEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA0bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjMuNTEyIn1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik00LjAxNyAxMS41MTJhNiA2IDAgMSAwIDguNDY2IDguNDc1In1dLFsicGF0aCIse2Q6Ik05IDE2YTEgMSAwIDAgMS0xLTF2LTRjMC0uNTUyLjQ1LTEuMDA4Ljk5NS0uOTE3YTYgNiAwIDAgMSA0LjkyMiA0LjkyMmMuMDkxLjU0NC0uMzY1Ljk5NS0uOTE3Ljk5NXoifV1dfSk7dmFyIGI0LEN2ZT1jKCgpPT57YjQ9W1sicGF0aCIse2Q6Ik0xMC41IDIySDZhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2NiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtMTQgMjAgMiAyIDQtNCJ9XV19KTt2YXIgc00sX3ZlPWMoKCk9PntzTT1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTkgMTUgMiAyIDQtNCJ9XV19KTt2YXIgdjQsVHZlPWMoKCk9Pnt2ND1bWyJwYXRoIix7ZDoiTTQgMTIuMTVWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJoLTMuMzUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTUgMTYtMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtOSAyMiAzLTMtMy0zIn1dXX0pO3ZhciBvTSxMdmU9YygoKT0+e29NPVtbInBhdGgiLHtkOiJNMTYgMjJoMmEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjIuODUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTggMTR2Mi4ybDEuNiAxIn1dLFsiY2lyY2xlIix7Y3g6IjgiLGN5OiIxNiIscjoiNiJ9XV19KTt2YXIgbk0sJHZlPWMoKCk9PntuTT1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTEwIDEyLjUgOCAxNWwyIDIuNSJ9XSxbInBhdGgiLHtkOiJtMTQgMTIuNSAyIDIuNS0yIDIuNSJ9XV19KTt2YXIgeDQsRHZlPWMoKCk9Pnt4ND1bWyJwYXRoIix7ZDoiTTE1IDhhMSAxIDAgMCAxLTEtMVYyYTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHoifV0sWyJwYXRoIix7ZDoiTTIwIDh2MTJhMiAyIDAgMCAxLTIgMmgtNC4xODIifV0sWyJwYXRoIix7ZDoibTMuMzA1IDE5LjUzLjkyMy0uMzgyIn1dLFsicGF0aCIse2Q6Ik00IDEwLjU5MlY0YTIgMiAwIDAgMSAyLTJoOCJ9XSxbInBhdGgiLHtkOiJtNC4yMjggMTYuODUyLS45MjQtLjM4MyJ9XSxbInBhdGgiLHtkOiJtNS44NTIgMTUuMjI4LS4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtNS44NTIgMjAuNzcyLS4zODMuOTI0In1dLFsicGF0aCIse2Q6Im04LjE0OCAxNS4yMjguMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTguNTMgMjEuNjk2LS4zODItLjkyNCJ9XSxbInBhdGgiLHtkOiJtOS43NzMgMTYuODUyLjkyMi0uMzgzIn1dLFsicGF0aCIse2Q6Im05Ljc3MyAxOS4xNDguOTIyLjM4MyJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTgiLHI6IjMifV1dfSk7dmFyIGxNLEF2ZT1jKCgpPT57bE09W1sicGF0aCIse2Q6Ik00IDEyVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMCAxNmgydjYifV0sWyJwYXRoIix7ZDoiTTEwIDIyaDQifV0sWyJyZWN0Iix7eDoiMiIseToiMTYiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ4OiIyIn1dXX0pO3ZhciBjTSxQdmU9YygoKT0+e2NNPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNOSAxMGg2In1dLFsicGF0aCIse2Q6Ik0xMiAxM1Y3In1dLFsicGF0aCIse2Q6Ik05IDE3aDYifV1dfSk7dmFyIGRNLEV2ZT1jKCgpPT57ZE09W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMiAxOHYtNiJ9XSxbInBhdGgiLHtkOiJtOSAxNSAzIDMgMy0zIn1dXX0pO3ZhciB5NCxJdmU9YygoKT0+e3k0PVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTIgOXY0In1dLFsicGF0aCIse2Q6Ik0xMiAxN2guMDEifV1dfSk7dmFyIE1vLE52ZT1jKCgpPT57TW89W1sicGF0aCIse2Q6Ik00IDYuODM1VjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyaC0uMzQzIn1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0yIDE5YTIgMiAwIDAgMSA0IDB2MWEyIDIgMCAwIDEtNCAwdi00YTYgNiAwIDAgMSAxMiAwdjRhMiAyIDAgMCAxLTQgMHYtMWEyIDIgMCAwIDEgNCAwIn1dXX0pO3ZhciBwTSxSdmU9YygoKT0+e3BNPVtbInBhdGgiLHtkOiJNMTMgMjJoNWEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjcifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTMuNjIgMTguOEEyLjI1IDIuMjUgMCAxIDEgNyAxNS44MzZhMi4yNSAyLjI1IDAgMSAxIDMuMzggMi45NjZsLTIuNjI2IDIuODU2YTEgMSAwIDAgMS0xLjUwNyAweiJ9XV19KTt2YXIgdU0sRnZlPWMoKCk9Pnt1TT1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiIxMiIscjoiMiJ9XSxbInBhdGgiLHtkOiJtMjAgMTctMS4yOTYtMS4yOTZhMi40MSAyLjQxIDAgMCAwLTMuNDA4IDBMOSAyMiJ9XV19KTt2YXIgZk0sT3ZlPWMoKCk9PntmTT1bWyJwYXRoIix7ZDoiTTQgMTFWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0ydi0xIn1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0yIDE1aDEwIn1dLFsicGF0aCIse2Q6Im05IDE4IDMtMy0zLTMifV1dfSk7dmFyIHc0LEJ2ZT1jKCgpPT57dzQ9W1sicGF0aCIse2Q6Ik00IDkuOFY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMmgtMyJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOSAxN3YtMmEyIDIgMCAwIDAtNCAwdjIifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNSIseDoiMyIseToiMTciLHJ4OiIxIn1dXX0pO3ZhciBNNCxIdmU9YygoKT0+e000PVtbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNNCAxMnY2In1dLFsicGF0aCIse2Q6Ik00IDE0aDIifV0sWyJwYXRoIix7ZDoiTTkuNjUgMjJIMThhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnY0In1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiIyMCIscjoiMiJ9XV19KTt2YXIgazQscXZlPWMoKCk9PntrND1bWyJwYXRoIix7ZDoiTTIwIDE0VjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTIifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTE0IDE4aDYifV1dfSk7dmFyIGhNLFZ2ZT1jKCgpPT57aE09W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik05IDE1aDYifV1dfSk7dmFyIG1NLGp2ZT1jKCgpPT57bU09W1sicGF0aCIse2Q6Ik0xMS42NSAyMkgxOGEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjEwLjM1In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik04IDIwdi03bDMgMS40NzQifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjIwIixyOiIyIn1dXX0pO3ZhciBnTSxVdmU9YygoKT0+e2dNPVtbInBhdGgiLHtkOiJNNC4yMjYgMjAuOTI1QTIgMiAwIDAgMCA2IDIyaDEyYTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2My4xMjcifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTUgMTEtMyAzIn1dLFsicGF0aCIse2Q6Im01IDE3LTMtM2gxMCJ9XV19KTt2YXIgejQsV3ZlPWMoKCk9Pnt6ND1bWyJwYXRoIix7ZDoiTTE0LjM2NCAxMy42MzRhMiAyIDAgMCAwLS41MDYuODU0bC0uODM3IDIuODdhLjUuNSAwIDAgMCAuNjIuNjJsMi44Ny0uODM3YTIgMiAwIDAgMCAuODU0LS41MDZsNC4wMTMtNC4wMDlhMSAxIDAgMCAwLTMuMDA0LTMuMDA0eiJ9XSxbInBhdGgiLHtkOiJNMTQuNDg3IDcuODU4QTEgMSAwIDAgMSAxNCA3VjIifV0sWyJwYXRoIix7ZDoiTTIwIDE5LjY0NVYyMGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwyLjUxNiAyLjUxNiJ9XSxbInBhdGgiLHtkOiJNOCAxOGgxIn1dXX0pO3ZhciBTNCxHdmU9YygoKT0+e1M0PVtbInBhdGgiLHtkOiJNMTIuNjU5IDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2OS4zNCJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTAuMzc4IDEyLjYyMmExIDEgMCAwIDEgMyAzLjAwM0w4LjM2IDIwLjYzN2EyIDIgMCAwIDEtLjg1NC41MDZsLTIuODY3LjgzN2EuNS41IDAgMCAxLS42Mi0uNjJsLjgzNi0yLjg2OWEyIDIgMCAwIDEgLjUwNi0uODUzeiJ9XV19KTt2YXIgQzQsWXZlPWMoKCk9PntDND1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTE1LjAzMyAxMy40NGEuNjQ3LjY0NyAwIDAgMSAwIDEuMTJsLTQuMDY1IDIuMzUyYS42NDUuNjQ1IDAgMCAxLS45NjgtLjU2di00LjcwNGEuNjQ1LjY0NSAwIDAgMSAuOTY3LS41NnoifV1dfSk7dmFyIF80LFp2ZT1jKCgpPT57XzQ9W1sicGF0aCIse2Q6Ik0xMS4zNSAyMkg2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djUuMzUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTE0IDE5aDYifV0sWyJwYXRoIix7ZDoiTTE3IDE2djYifV1dfSk7dmFyIGJNLFh2ZT1jKCgpPT57Yk09W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik05IDE1aDYifV0sWyJwYXRoIix7ZDoiTTEyIDE4di02In1dXX0pO3ZhciBUNCxLdmU9YygoKT0+e1Q0PVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTIgMTdoLjAxIn1dLFsicGF0aCIse2Q6Ik05LjEgOWEzIDMgMCAwIDEgNS44MiAxYzAgMi0zIDMtMyAzIn1dXX0pO3ZhciB2TSxRdmU9YygoKT0+e3ZNPVtbInBhdGgiLHtkOiJNMjAgMTBWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDRsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmg0LjM1In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xNiAxNGEyIDIgMCAwIDAtMiAyIn1dLFsicGF0aCIse2Q6Ik0xNiAyMmEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik0yMCAxNGEyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0yMCAyMmEyIDIgMCAwIDAgMi0yIn1dXX0pO3ZhciBMNCxKdmU9YygoKT0+e0w0PVtbInBhdGgiLHtkOiJNMTEuMSAyMkg2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODkgMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djMuMjUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTIxIDIyLTIuODgtMi44OCJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjE3IixyOiIzIn1dXX0pO3ZhciB4TSxleGU9YygoKT0+e3hNPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbImNpcmNsZSIse2N4OiIxMS41IixjeToiMTQuNSIscjoiMi41In1dLFsicGF0aCIse2Q6Ik0xMy4zIDE2LjMgMTUgMTgifV1dfSk7dmFyICQ0LHR4ZT1jKCgpPT57JDQ9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik04IDE1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTEuNSAxMy41YTIuNSAyLjUgMCAwIDEgMCAzIn1dLFsicGF0aCIse2Q6Ik0xNSAxMmE1IDUgMCAwIDEgMCA2In1dXX0pO3ZhciB5TSxheGU9YygoKT0+e3lNPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dLFsicGF0aCIse2Q6Ik0xMCAxMXYyIn1dLFsicGF0aCIse2Q6Ik04IDE3aDgifV0sWyJwYXRoIix7ZDoiTTE0IDE2djIifV1dfSk7dmFyIHdNLHJ4ZT1jKCgpPT57d009W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik04IDEzaDIifV0sWyJwYXRoIix7ZDoiTTE0IDEzaDIifV0sWyJwYXRoIix7ZDoiTTggMTdoMiJ9XSxbInBhdGgiLHtkOiJNMTQgMTdoMiJ9XV19KTt2YXIgTU0saXhlPWMoKCk9PntNTT1bWyJwYXRoIix7ZDoiTTExIDIxYTEgMSAwIDAgMS0xIDFINGExIDEgMCAwIDEtMS0xdi04YTEgMSAwIDAgMSAxLTEifV0sWyJwYXRoIix7ZDoiTTE2IDE2YTEgMSAwIDAgMS0xIDFIOWExIDEgMCAwIDEtMS0xVjhhMSAxIDAgMCAxIDEtMSJ9XSxbInBhdGgiLHtkOiJNMjEgNmEyIDIgMCAwIDAtLjU4Ni0xLjQxNGwtMi0yQTIgMiAwIDAgMCAxNyAyaC0zYTEgMSAwIDAgMC0xIDF2OGExIDEgMCAwIDAgMSAxaDZhMSAxIDAgMCAwIDEtMXoifV1dfSk7dmFyIGtNLHN4ZT1jKCgpPT57a009W1sicGF0aCIse2Q6Ik00IDExVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnYtM2EyIDIgMCAwIDEgMi0yaDcifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTEwIDE4IDMtMy0zLTMifV1dfSk7dmFyIHpNLG94ZT1jKCgpPT57ek09W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMCA5SDgifV0sWyJwYXRoIix7ZDoiTTE2IDEzSDgifV0sWyJwYXRoIix7ZDoiTTE2IDE3SDgifV1dfSk7dmFyIFNNLG54ZT1jKCgpPT57U009W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMSAxOGgyIn1dLFsicGF0aCIse2Q6Ik0xMiAxMnY2In1dLFsicGF0aCIse2Q6Ik05IDEzdi0uNWEuNS41IDAgMCAxIC41LS41aDVhLjUuNSAwIDAgMSAuNS41di41In1dXX0pO3ZhciBDTSxseGU9YygoKT0+e0NNPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtOCAxNiAyLTItMi0yIn1dLFsicGF0aCIse2Q6Ik0xMiAxOGg0In1dXX0pO3ZhciBENCxjeGU9YygoKT0+e0Q0PVtbInBhdGgiLHtkOiJNMTIgMjJoNmEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjYifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTMgMTZ2LTEuNWEuNS41IDAgMCAxIC41LS41aDdhLjUuNSAwIDAgMSAuNS41VjE2In1dLFsicGF0aCIse2Q6Ik02IDIyaDIifV0sWyJwYXRoIix7ZDoiTTcgMTR2OCJ9XV19KTt2YXIgX00sZHhlPWMoKCk9PntfTT1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTEyIDEydjYifV0sWyJwYXRoIix7ZDoibTE1IDE1LTMtMy0zIDMifV1dfSk7dmFyIFRNLHB4ZT1jKCgpPT57VE09W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xNiAyMmE0IDQgMCAwIDAtOCAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTUiLHI6IjMifV1dfSk7dmFyIEE0LHV4ZT1jKCgpPT57QTQ9W1sicGF0aCIse2Q6Ik00IDEyVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im0xMCAxNy44NDMgMy4wMzMtMS43NTVhLjY0LjY0IDAgMCAxIC45NjcuNTZ2NC43MDRhLjY1LjY1IDAgMCAxLS45NjcuNTZMMTAgMjAuMTU3In1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjYiLHg6IjMiLHk6IjE2IixyeDoiMSJ9XV19KTt2YXIgUDQsZnhlPWMoKCk9PntQND1bWyJwYXRoIix7ZDoiTTExIDIySDZhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2NSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtMTUgMTcgNSA1In1dLFsicGF0aCIse2Q6Im0yMCAxNy01IDUifV1dfSk7dmFyIExNLGh4ZT1jKCgpPT57TE09W1sicGF0aCIse2Q6Ik00IDExLjU1VjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyaC0xLjk1In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMiAxNWE1IDUgMCAwIDEgMCA2In1dLFsicGF0aCIse2Q6Ik04IDE0LjUwMmEuNS41IDAgMCAwLS44MjYtLjM4MWwtMS44OTMgMS42MzFhMSAxIDAgMCAxLS42NTEuMjQzSDMuNWEuNS41IDAgMCAwLS41LjUwMXYzLjAwNmEuNS41IDAgMCAwIC41LjUwMWgxLjEyOWExIDEgMCAwIDEgLjY1Mi4yNDNsMS44OTMgMS42MzNhLjUuNSAwIDAgMCAuODI2LS4zOHoifV1dfSk7dmFyICRNLG14ZT1jKCgpPT57JE09W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im0xNC41IDEyLjUtNSA1In1dLFsicGF0aCIse2Q6Im05LjUgMTIuNSA1IDUifV1dfSk7dmFyIERNLGd4ZT1jKCgpPT57RE09W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dXX0pO3ZhciBBTSxieGU9YygoKT0+e0FNPVtbInBhdGgiLHtkOiJNMTUgMmgtNGEyIDIgMCAwIDAtMiAydjExYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0yVjgifV0sWyJwYXRoIix7ZDoiTTE2LjcwNiAyLjcwNkEyLjQgMi40IDAgMCAwIDE1IDJ2NWExIDEgMCAwIDAgMSAxaDVhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2eiJ9XSxbInBhdGgiLHtkOiJNNSA3YTIgMiAwIDAgMC0yIDJ2MTFhMiAyIDAgMCAwIDIgMmg4YTIgMiAwIDAgMCAxLjczMi0xIn1dXX0pO3ZhciBQTSx2eGU9YygoKT0+e1BNPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDN2MTgifV0sWyJwYXRoIix7ZDoiTTMgNy41aDQifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTgifV0sWyJwYXRoIix7ZDoiTTMgMTYuNWg0In1dLFsicGF0aCIse2Q6Ik0xNyAzdjE4In1dLFsicGF0aCIse2Q6Ik0xNyA3LjVoNCJ9XSxbInBhdGgiLHtkOiJNMTcgMTYuNWg0In1dXX0pO3ZhciBFNCx4eGU9YygoKT0+e0U0PVtbInBhdGgiLHtkOiJNMTIgMTBhMiAyIDAgMCAwLTIgMmMwIDEuMDItLjEgMi41MS0uMjYgNCJ9XSxbInBhdGgiLHtkOiJNMTQgMTMuMTJjMCAyLjM4IDAgNi4zOC0xIDguODgifV0sWyJwYXRoIix7ZDoiTTE3LjI5IDIxLjAyYy4xMi0uNi40My0yLjMuNS0zLjAyIn1dLFsicGF0aCIse2Q6Ik0yIDEyYTEwIDEwIDAgMCAxIDE4LTYifV0sWyJwYXRoIix7ZDoiTTIgMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMS44IDE2Yy4yLTIgLjEzMS01LjM1NCAwLTYifV0sWyJwYXRoIix7ZDoiTTUgMTkuNUM1LjUgMTggNiAxNSA2IDEyYTYgNiAwIDAgMSAuMzQtMiJ9XSxbInBhdGgiLHtkOiJNOC42NSAyMmMuMjEtLjY2LjQ1LTEuMzIuNTctMiJ9XSxbInBhdGgiLHtkOiJNOSA2LjhhNiA2IDAgMCAxIDkgNS4ydjIifV1dfSk7dmFyIEVNLHl4ZT1jKCgpPT57RU09W1sicGF0aCIse2Q6Ik0xNSA2LjVWM2ExIDEgMCAwIDAtMS0xaC0yYTEgMSAwIDAgMC0xIDF2My41In1dLFsicGF0aCIse2Q6Ik05IDE4aDgifV0sWyJwYXRoIix7ZDoiTTE4IDNoLTMifV0sWyJwYXRoIix7ZDoiTTExIDNhNiA2IDAgMCAwLTYgNnYxMSJ9XSxbInBhdGgiLHtkOiJNNSAxM2g0In1dLFsicGF0aCIse2Q6Ik0xNyAxMGE0IDQgMCAwIDAtOCAwdjEwYTIgMiAwIDAgMCAyIDJoNGEyIDIgMCAwIDAgMi0yWiJ9XV19KTt2YXIgSU0sd3hlPWMoKCk9PntJTT1bWyJwYXRoIix7ZDoiTTE4IDEyLjQ3di4wM20wLS41di40N20tLjQ3NSA1LjA1NkE2Ljc0NCA2Ljc0NCAwIDAgMSAxNSAxOGMtMy41NiAwLTcuNTYtMi41My04LjUtNiAuMzQ4LTEuMjggMS4xMTQtMi40MzMgMi4xMjEtMy4zOG0zLjQ0NC0yLjA4OEE4LjgwMiA4LjgwMiAwIDAgMSAxNSA2YzMuNTYgMCA2LjA2IDIuNTQgNyA2LS4zMDkgMS4xNC0uNzg2IDIuMTc3LTEuNDEzIDMuMDU4In1dLFsicGF0aCIse2Q6Ik03IDEwLjY3QzcgOCA1LjU4IDUuOTcgMi43MyA1LjVjLTEgMS41LTEgNSAuMjMgNi41LTEuMjQgMS41LTEuMjQgNS0uMjMgNi41QzUuNTggMTguMDMgNyAxNiA3IDEzLjMzbTcuNDgtNC4zNzJBOS43NyA5Ljc3IDAgMCAxIDE2IDYuMDdtMCAxMS44NmE5Ljc3IDkuNzcgMCAwIDEtMS43MjgtMy42MTgifV0sWyJwYXRoIix7ZDoibTE2LjAxIDE3LjkzLS4yMyAxLjRBMiAyIDAgMCAxIDEzLjggMjFIOS41YTUuOTYgNS45NiAwIDAgMCAxLjQ5LTMuOThNOC41MyAzaDUuMjdhMiAyIDAgMCAxIDEuOTggMS42N2wuMjMgMS40TTIgMmwyMCAyMCJ9XV19KTt2YXIgTk0sTXhlPWMoKCk9PntOTT1bWyJwYXRoIix7ZDoiTTIgMTZzOS0xNSAyMC00QzExIDIzIDIgOCAyIDgifV1dfSk7dmFyIFJNLGt4ZT1jKCgpPT57Uk09W1sicGF0aCIse2Q6Ik02LjUgMTJjLjk0LTMuNDYgNC45NC02IDguNS02IDMuNTYgMCA2LjA2IDIuNTQgNyA2LS45NCAzLjQ3LTMuNDQgNi03IDZzLTcuNTYtMi41My04LjUtNloifV0sWyJwYXRoIix7ZDoiTTE4IDEydi41In1dLFsicGF0aCIse2Q6Ik0xNiAxNy45M2E5Ljc3IDkuNzcgMCAwIDEgMC0xMS44NiJ9XSxbInBhdGgiLHtkOiJNNyAxMC42N0M3IDggNS41OCA1Ljk3IDIuNzMgNS41Yy0xIDEuNS0xIDUgLjIzIDYuNS0xLjI0IDEuNS0xLjI0IDUtLjIzIDYuNUM1LjU4IDE4LjAzIDcgMTYgNyAxMy4zMyJ9XSxbInBhdGgiLHtkOiJNMTAuNDYgNy4yNkMxMC4yIDUuODggOS4xNyA0LjI0IDggM2g1LjhhMiAyIDAgMCAxIDEuOTggMS42N2wuMjMgMS40In1dLFsicGF0aCIse2Q6Im0xNi4wMSAxNy45My0uMjMgMS40QTIgMiAwIDAgMSAxMy44IDIxSDkuNWE1Ljk2IDUuOTYgMCAwIDAgMS40OS0zLjk4In1dXX0pO3ZhciBGTSx6eGU9YygoKT0+e0ZNPVtbInBhdGgiLHtkOiJtMTcuNTg2IDExLjQxNC01LjkzIDUuOTNhMSAxIDAgMCAxLTgtOGwzLjEzNy0zLjEzN2EuNzA3LjcwNyAwIDAgMSAxLjIwNy41VjEwIn1dLFsicGF0aCIse2Q6Ik0yMC40MTQgOC41ODYgMjIgNyJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjEwIixyOiIyIn1dXX0pO3ZhciBPTSxTeGU9YygoKT0+e09NPVtbInBhdGgiLHtkOiJNNCAxMWgxIn1dLFsicGF0aCIse2Q6Ik04IDE1YTIgMiAwIDAgMS00IDBWM2ExIDEgMCAwIDEgMS0xaC41QzE0IDIgMjAgOSAyMCAxOHY0In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjIifV1dfSk7dmFyIEJNLEN4ZT1jKCgpPT57Qk09W1sicGF0aCIse2Q6Ik0xOCAyMlYyLjhhLjguOCAwIDAgMC0xLjE3LS43MUw1LjQ1IDcuNzhhLjguOCAwIDAgMCAwIDEuNDRMMTggMTUuNSJ9XV19KTt2YXIgSE0sX3hlPWMoKCk9PntITT1bWyJwYXRoIix7ZDoiTTE2IDE2Yy0zIDAtNS0yLTgtMmE2IDYgMCAwIDAtNCAxLjUyOCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik00IDIyVjQifV0sWyJwYXRoIix7ZDoiTTcuNjU2IDJIOGMzIDAgNSAyIDcuMzMzIDJxMiAwIDMuMDY3LS44QTEgMSAwIDAgMSAyMCA0djEwLjM0NyJ9XV19KTt2YXIgcU0sVHhlPWMoKCk9PntxTT1bWyJwYXRoIix7ZDoiTTYgMjJWMi44YS44LjggMCAwIDEgMS4xNy0uNzFsMTEuMzggNS42OWEuOC44IDAgMCAxIDAgMS40NEw2IDE1LjUifV1dfSk7dmFyIFZNLEx4ZT1jKCgpPT57Vk09W1sicGF0aCIse2Q6Ik00IDIyVjRhMSAxIDAgMCAxIC40LS44QTYgNiAwIDAgMSA4IDJjMyAwIDUgMiA3LjMzMyAycTIgMCAzLjA2Ny0uOEExIDEgMCAwIDEgMjAgNHYxMGExIDEgMCAwIDEtLjQuOEE2IDYgMCAwIDEgMTYgMTZjLTMgMC01LTItOC0yYTYgNiAwIDAgMC00IDEuNTI4In1dXX0pO3ZhciBqTSwkeGU9YygoKT0+e2pNPVtbInBhdGgiLHtkOiJNMTIgMmMxIDMgMi41IDMuNSAzLjUgNC41QTUgNSAwIDAgMSAxNyAxMGE1IDUgMCAxIDEtMTAgMGMwLS4zIDAtLjYuMS0uOWEyIDIgMCAxIDAgMy4zLTJDOCA0LjUgMTEgMiAxMiAyWiJ9XSxbInBhdGgiLHtkOiJtNSAyMiAxNC00In1dLFsicGF0aCIse2Q6Im01IDE4IDE0IDQifV1dfSk7dmFyIFVNLER4ZT1jKCgpPT57VU09W1sicGF0aCIse2Q6Ik0xMiAzcTEgNCA0IDYuNXQzIDUuNWExIDEgMCAwIDEtMTQgMCA1IDUgMCAwIDEgMS0zIDEgMSAwIDAgMCA1IDBjMC0yLTEuNS0zLTEuNS01cTAtMiAyLjUtNCJ9XV19KTt2YXIgV00sQXhlPWMoKCk9PntXTT1bWyJwYXRoIix7ZDoiTTExLjY1MiA2SDE4In1dLFsicGF0aCIse2Q6Ik0xMiAxM3YxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNnY0YTIgMiAwIDAgMS0yIDJoLTRhMiAyIDAgMCAxLTItMnYtOGE0IDQgMCAwIDAtLjgtMi40bC0uNi0uOEEzIDMgMCAwIDEgNiA3VjYifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNy42NDkgMkgxN2ExIDEgMCAwIDEgMSAxdjRhMyAzIDAgMCAxLS42IDEuOGwtLjYuOGE0IDQgMCAwIDAtLjU1IDEuMDA3In1dXX0pO3ZhciBHTSxQeGU9YygoKT0+e0dNPVtbInBhdGgiLHtkOiJNMTIgMTN2MSJ9XSxbInBhdGgiLHtkOiJNMTcgMmExIDEgMCAwIDEgMSAxdjRhMyAzIDAgMCAxLS42IDEuOGwtLjYuOEE0IDQgMCAwIDAgMTYgMTJ2OGEyIDIgMCAwIDEtMiAySDEwYTIgMiAwIDAgMS0yLTJ2LThhNCA0IDAgMCAwLS44LTIuNGwtLjYtLjhBMyAzIDAgMCAxIDYgN1YzYTEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik02IDZoMTIifV1dfSk7dmFyIFlNLEV4ZT1jKCgpPT57WU09W1sicGF0aCIse2Q6Ik0xNCAydjZhMiAyIDAgMCAwIC4yNDUuOTZsNS41MSAxMC4wOEEyIDIgMCAwIDEgMTggMjJINmEyIDIgMCAwIDEtMS43NTUtMi45Nmw1LjUxLTEwLjA4QTIgMiAwIDAgMCAxMCA4VjIifV0sWyJwYXRoIix7ZDoiTTYuNDUzIDE1aDExLjA5NCJ9XSxbInBhdGgiLHtkOiJNOC41IDJoNyJ9XV19KTt2YXIgWk0sSXhlPWMoKCk9PntaTT1bWyJwYXRoIix7ZDoiTTEwIDJ2Mi4zNDMifV0sWyJwYXRoIix7ZDoiTTE0IDJ2Ni4zNDMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0xLjc1NS0yLjk2bDUuMjI3LTkuNTYzIn1dLFsicGF0aCIse2Q6Ik02LjQ1MyAxNUgxNSJ9XSxbInBhdGgiLHtkOiJNOC41IDJoNyJ9XV19KTt2YXIgWE0sTnhlPWMoKCk9PntYTT1bWyJwYXRoIix7ZDoiTTEwIDJ2Ni4yOTJhNyA3IDAgMSAwIDQgMFYyIn1dLFsicGF0aCIse2Q6Ik01IDE1aDE0In1dLFsicGF0aCIse2Q6Ik04LjUgMmg3In1dXX0pO3ZhciBLTSxSeGU9YygoKT0+e0tNPVtbInBhdGgiLHtkOiJtMyA3IDUgNS01IDVWNyJ9XSxbInBhdGgiLHtkOiJtMjEgNy01IDUgNSA1VjcifV0sWyJwYXRoIix7ZDoiTTEyIDIwdjIifV0sWyJwYXRoIix7ZDoiTTEyIDE0djIifV0sWyJwYXRoIix7ZDoiTTEyIDh2MiJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyIn1dXX0pO3ZhciBRTSxGeGU9YygoKT0+e1FNPVtbInBhdGgiLHtkOiJtMTcgMy01IDUtNS01aDEwIn1dLFsicGF0aCIse2Q6Im0xNyAyMS01LTUtNSA1aDEwIn1dLFsicGF0aCIse2Q6Ik00IDEySDIifV0sWyJwYXRoIix7ZDoiTTEwIDEySDgifV0sWyJwYXRoIix7ZDoiTTE2IDEyaC0yIn1dLFsicGF0aCIse2Q6Ik0yMiAxMmgtMiJ9XV19KTt2YXIgSk0sT3hlPWMoKCk9PntKTT1bWyJwYXRoIix7ZDoiTTEyIDVhMyAzIDAgMSAxIDMgM20tMy0zYTMgMyAwIDEgMC0zIDNtMy0zdjFNOSA4YTMgMyAwIDEgMCAzIDNNOSA4aDFtNSAwYTMgMyAwIDEgMS0zIDNtMy0zaC0xbS0yIDN2LTEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI4IixyOiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAxMHYxMiJ9XSxbInBhdGgiLHtkOiJNMTIgMjJjNC4yIDAgNy0xLjY2NyA3LTUtNC4yIDAtNyAxLjY2Ny03IDVaIn1dLFsicGF0aCIse2Q6Ik0xMiAyMmMtNC4yIDAtNy0xLjY2Ny03LTUgNC4yIDAgNyAxLjY2NyA3IDVaIn1dXX0pO3ZhciBlayxCeGU9YygoKT0+e2VrPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xMiAxNi41QTQuNSA0LjUgMCAxIDEgNy41IDEyIDQuNSA0LjUgMCAxIDEgMTIgNy41YTQuNSA0LjUgMCAxIDEgNC41IDQuNSA0LjUgNC41IDAgMSAxLTQuNSA0LjUifV0sWyJwYXRoIix7ZDoiTTEyIDcuNVY5In1dLFsicGF0aCIse2Q6Ik03LjUgMTJIOSJ9XSxbInBhdGgiLHtkOiJNMTYuNSAxMkgxNSJ9XSxbInBhdGgiLHtkOiJNMTIgMTYuNVYxNSJ9XSxbInBhdGgiLHtkOiJtOCA4IDEuODggMS44OCJ9XSxbInBhdGgiLHtkOiJNMTQuMTIgOS44OCAxNiA4In1dLFsicGF0aCIse2Q6Im04IDE2IDEuODgtMS44OCJ9XSxbInBhdGgiLHtkOiJNMTQuMTIgMTQuMTIgMTYgMTYifV1dfSk7dmFyIHRrLEh4ZT1jKCgpPT57dGs9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XV19KTt2YXIgYWsscXhlPWMoKCk9Pnthaz1bWyJwYXRoIix7ZDoiTTIgMTJoNiJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTYifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTIgOHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAxNHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAyMHYyIn1dLFsicGF0aCIse2Q6Im0xOSA5LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoibTUgMTUgMy0zLTMtMyJ9XV19KTt2YXIgcmssVnhlPWMoKCk9Pntyaz1bWyJwYXRoIix7ZDoiTTEyIDIydi02In1dLFsicGF0aCIse2Q6Ik0xMiA4VjIifV0sWyJwYXRoIix7ZDoiTTQgMTJIMiJ9XSxbInBhdGgiLHtkOiJNMTAgMTJIOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLTIifV0sWyJwYXRoIix7ZDoiTTIyIDEyaC0yIn1dLFsicGF0aCIse2Q6Im0xNSAxOS0zLTMtMyAzIn1dLFsicGF0aCIse2Q6Im0xNSA1LTMgMy0zLTMifV1dfSk7dmFyIGlrLGp4ZT1jKCgpPT57aWs9W1siY2lyY2xlIix7Y3g6IjE1IixjeToiMTkiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTIwLjkgMTkuOEEyIDIgMCAwIDAgMjIgMThWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyaDUuMSJ9XSxbInBhdGgiLHtkOiJNMTUgMTF2LTEifV0sWyJwYXRoIix7ZDoiTTE1IDE3di0yIn1dXX0pO3ZhciBzayxVeGU9YygoKT0+e3NrPVtbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dLFsicGF0aCIse2Q6Im05IDEzIDIgMiA0LTQifV1dfSk7dmFyIG9rLFd4ZT1jKCgpPT57b2s9W1sicGF0aCIse2Q6Ik0xNiAxNHYyLjJsMS42IDEifV0sWyJwYXRoIix7ZDoiTTcgMjBINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMiJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjE2IixyOiI2In1dXX0pO3ZhciBuayxHeGU9YygoKT0+e25rPVtbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dLFsicGF0aCIse2Q6Ik0yIDEwaDIwIn1dXX0pO3ZhciBsayxZeGU9YygoKT0+e2xrPVtbInBhdGgiLHtkOiJNMTAgMTAuNSA4IDEzbDIgMi41In1dLFsicGF0aCIse2Q6Im0xNCAxMC41IDIgMi41LTIgMi41In1dLFsicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMnoifV1dfSk7dmFyIEk0LFp4ZT1jKCgpPT57STQ9W1sicGF0aCIse2Q6Ik0xMC4zIDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45OGEyIDIgMCAwIDEgMS42OS45bC42NiAxLjJBMiAyIDAgMCAwIDEyIDZoOGEyIDIgMCAwIDEgMiAydjMuMyJ9XSxbInBhdGgiLHtkOiJtMTQuMzA1IDE5LjUzLjkyMy0uMzgyIn1dLFsicGF0aCIse2Q6Im0xNS4yMjggMTYuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDE1LjIyOC0uMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAyMC43NzItLjM4My45MjQifV0sWyJwYXRoIix7ZDoibTE5LjE0OCAxNS4yMjguMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE5LjUzIDIxLjY5Ni0uMzgyLS45MjQifV0sWyJwYXRoIix7ZDoibTIwLjc3MiAxNi44NTIuOTI0LS4zODMifV0sWyJwYXRoIix7ZDoibTIwLjc3MiAxOS4xNDguOTI0LjM4MyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBjayxYeGU9YygoKT0+e2NrPVtbInBhdGgiLHtkOiJNNCAyMGgxNmEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45M2EyIDIgMCAwIDEtMS42Ni0uOWwtLjgyLTEuMkEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2MwIDEuMS45IDIgMiAyWiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiIxIn1dXX0pO3ZhciBkayxLeGU9YygoKT0+e2RrPVtbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dLFsicGF0aCIse2Q6Ik0xMiAxMHY2In1dLFsicGF0aCIse2Q6Im0xNSAxMy0zIDMtMy0zIn1dXX0pO3ZhciBwayxReGU9YygoKT0+e3BrPVtbInBhdGgiLHtkOiJNMTggMTlhNSA1IDAgMCAxLTUtNXY4In1dLFsicGF0aCIse2Q6Ik05IDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDIwYTIgMiAwIDAgMSAyIDJ2NSJ9XSxbImNpcmNsZSIse2N4OiIxMyIsY3k6IjEyIixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjIwIixjeToiMTkiLHI6IjIifV1dfSk7dmFyIHVrLEp4ZT1jKCgpPT57dWs9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWiJ9XSxbInBhdGgiLHtkOiJNMTQgMTNoMyJ9XSxbInBhdGgiLHtkOiJNNyAxM2gzIn1dXX0pO3ZhciBmayxleWU9YygoKT0+e2ZrPVtbInBhdGgiLHtkOiJNMTAuNjM4IDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDIwYTIgMiAwIDAgMSAyIDJ2My40MTcifV0sWyJwYXRoIix7ZDoiTTE0LjYyIDE4LjhBMi4yNSAyLjI1IDAgMSAxIDE4IDE1LjgzNmEyLjI1IDIuMjUgMCAxIDEgMy4zOCAyLjk2NmwtMi42MjYgMi44NTZhLjk5OC45OTggMCAwIDEtMS41MDcgMHoifV1dfSk7dmFyIGhrLHR5ZT1jKCgpPT57aGs9W1sicGF0aCIse2Q6Ik0yIDlWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0ydi0xIn1dLFsicGF0aCIse2Q6Ik0yIDEzaDEwIn1dLFsicGF0aCIse2Q6Im05IDE2IDMtMy0zLTMifV1dfSk7dmFyIG1rLGF5ZT1jKCgpPT57bWs9W1sicGF0aCIse2Q6Ik00IDIwaDE2YTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjkzYTIgMiAwIDAgMS0xLjY2LS45bC0uODItMS4yQTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYzAgMS4xLjkgMiAyIDJaIn1dLFsicGF0aCIse2Q6Ik04IDEwdjQifV0sWyJwYXRoIix7ZDoiTTEyIDEwdjIifV0sWyJwYXRoIix7ZDoiTTE2IDEwdjYifV1dfSk7dmFyIGdrLHJ5ZT1jKCgpPT57Z2s9W1sicGF0aCIse2Q6Ik0xMyAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjEuMzYifV0sWyJwYXRoIix7ZDoiTTE5IDEydjYifV0sWyJwYXRoIix7ZDoiTTE5IDE0aDIifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIyMCIscjoiMiJ9XV19KTt2YXIgYmssaXllPWMoKCk9Pntiaz1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNSIseDoiMTQiLHk6IjE3IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNMTAgMjBINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYyLjUifV0sWyJwYXRoIix7ZDoiTTIwIDE3di0yYTIgMiAwIDEgMC00IDB2MiJ9XV19KTt2YXIgdmssc3llPWMoKCk9Pnt2az1bWyJwYXRoIix7ZDoiTTkgMTNoNiJ9XSxbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dXX0pO3ZhciB4ayxveWU9YygoKT0+e3hrPVtbInBhdGgiLHtkOiJtNiAxNCAxLjQ1LTIuOUEyIDIgMCAwIDEgOS4yNCAxMEgyMGEyIDIgMCAwIDEgMS45NCAyLjVsLTEuNTUgNmEyIDIgMCAwIDEtMS45NCAxLjVINGEyIDIgMCAwIDEtMi0yVjVjMC0xLjEuOS0yIDItMmgzLjkzYTIgMiAwIDAgMSAxLjY2LjlsLjgyIDEuMmEyIDIgMCAwIDAgMS42Ni45SDE4YTIgMiAwIDAgMSAyIDJ2MiJ9XSxbImNpcmNsZSIse2N4OiIxNCIsY3k6IjE1IixyOiIxIn1dXX0pO3ZhciB5ayxueWU9YygoKT0+e3lrPVtbInBhdGgiLHtkOiJtNiAxNCAxLjUtMi45QTIgMiAwIDAgMSA5LjI0IDEwSDIwYTIgMiAwIDAgMSAxLjk0IDIuNWwtMS41NCA2YTIgMiAwIDAgMS0xLjk1IDEuNUg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgxOGEyIDIgMCAwIDEgMiAydjIifV1dfSk7dmFyIE40LGx5ZT1jKCgpPT57TjQ9W1sicGF0aCIse2Q6Ik0yIDExLjVWNWEyIDIgMCAwIDEgMi0yaDMuOWMuNyAwIDEuMy4zIDEuNy45bC44IDEuMmMuNC42IDEgLjkgMS43LjlIMjBhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAyaC05LjUifV0sWyJwYXRoIix7ZDoiTTExLjM3OCAxMy42MjZhMSAxIDAgMSAwLTMuMDA0LTMuMDA0bC01LjAxIDUuMDEyYTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2eiJ9XV19KTt2YXIgd2ssY3llPWMoKCk9Pnt3az1bWyJwYXRoIix7ZDoiTTIgNy41VjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMS41In1dLFsicGF0aCIse2Q6Ik0yIDEzaDEwIn1dLFsicGF0aCIse2Q6Im01IDEwLTMgMyAzIDMifV1dfSk7dmFyIE1rLGR5ZT1jKCgpPT57TWs9W1sicGF0aCIse2Q6Ik0xMiAxMHY2In1dLFsicGF0aCIse2Q6Ik05IDEzaDYifV0sWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWiJ9XV19KTt2YXIga2sscHllPWMoKCk9Pntraz1bWyJwYXRoIix7ZDoiTTQgMjBoMTZhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOTNhMiAyIDAgMCAxLTEuNjYtLjlsLS44Mi0xLjJBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNjMCAxLjEuOSAyIDIgMloifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTV2NSJ9XV19KTt2YXIgemssdXllPWMoKCk9Pnt6az1bWyJjaXJjbGUiLHtjeDoiMTEuNSIsY3k6IjEyLjUiLHI6IjIuNSJ9XSxbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dLFsicGF0aCIse2Q6Ik0xMy4zIDE0LjMgMTUgMTYifV1dfSk7dmFyIFNrLGZ5ZT1jKCgpPT57U2s9W1sicGF0aCIse2Q6Ik0xMC43IDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDIwYTIgMiAwIDAgMSAyIDJ2NC4xIn1dLFsicGF0aCIse2Q6Im0yMSAyMS0xLjktMS45In1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTciLHI6IjMifV1dfSk7dmFyIENrLGh5ZT1jKCgpPT57Q2s9W1sicGF0aCIse2Q6Ik0yIDkuMzVWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0ydi0zYTIgMiAwIDAgMSAyLTJoNyJ9XSxbInBhdGgiLHtkOiJtOCAxNiAzLTMtMy0zIn1dXX0pO3ZhciBfayxteWU9YygoKT0+e19rPVtbInBhdGgiLHtkOiJNOSAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydi41In1dLFsicGF0aCIse2Q6Ik0xMiAxMHY0aDQifV0sWyJwYXRoIix7ZDoibTEyIDE0IDEuNTM1LTEuNjA1YTUgNSAwIDAgMSA4IDEuNSJ9XSxbInBhdGgiLHtkOiJNMjIgMjJ2LTRoLTQifV0sWyJwYXRoIix7ZDoibTIyIDE4LTEuNTM1IDEuNjA1YTUgNSAwIDAgMS04LTEuNSJ9XV19KTt2YXIgVGssZ3llPWMoKCk9PntUaz1bWyJwYXRoIix7ZDoiTTIwIDEwYTEgMSAwIDAgMCAxLTFWNmExIDEgMCAwIDAtMS0xaC0yLjVhMSAxIDAgMCAxLS44LS40bC0uOS0xLjJBMSAxIDAgMCAwIDE1IDNoLTJhMSAxIDAgMCAwLTEgMXY1YTEgMSAwIDAgMCAxIDFaIn1dLFsicGF0aCIse2Q6Ik0yMCAyMWExIDEgMCAwIDAgMS0xdi0zYTEgMSAwIDAgMC0xLTFoLTIuOWExIDEgMCAwIDEtLjg4LS41NWwtLjQyLS44NWExIDEgMCAwIDAtLjkyLS42SDEzYTEgMSAwIDAgMC0xIDF2NWExIDEgMCAwIDAgMSAxWiJ9XSxbInBhdGgiLHtkOiJNMyA1YTIgMiAwIDAgMCAyIDJoMyJ9XSxbInBhdGgiLHtkOiJNMyAzdjEzYTIgMiAwIDAgMCAyIDJoMyJ9XV19KTt2YXIgTGssYnllPWMoKCk9PntMaz1bWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWiJ9XSxbInBhdGgiLHtkOiJNMTIgMTB2NiJ9XSxbInBhdGgiLHtkOiJtOSAxMyAzLTMgMyAzIn1dXX0pO3ZhciAkayx2eWU9YygoKT0+eyRrPVtbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dLFsicGF0aCIse2Q6Im05LjUgMTAuNSA1IDUifV0sWyJwYXRoIix7ZDoibTE0LjUgMTAuNS01IDUifV1dfSk7dmFyIERrLHh5ZT1jKCgpPT57RGs9W1sicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloifV1dfSk7dmFyIEFrLHl5ZT1jKCgpPT57QWs9W1sicGF0aCIse2Q6Ik0yMCA1YTIgMiAwIDAgMSAyIDJ2N2EyIDIgMCAwIDEtMiAySDlhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMi41YTEuNSAxLjUgMCAwIDEgMS4yLjZsLjYuOGExLjUgMS41IDAgMCAwIDEuMi42eiJ9XSxbInBhdGgiLHtkOiJNMyA4LjI2OGEyIDIgMCAwIDAtMSAxLjczOFYxOWEyIDIgMCAwIDAgMiAyaDExYTIgMiAwIDAgMCAxLjczMi0xIn1dXX0pO3ZhciBQayx3eWU9YygoKT0+e1BrPVtbInBhdGgiLHtkOiJNNCAxNnYtMi4zOEM0IDExLjUgMi45NyAxMC41IDMgOGMuMDMtMi43MiAxLjQ5LTYgNC41LTZDOS4zNyAyIDEwIDMuOCAxMCA1LjVjMCAzLjExLTIgNS42Ni0yIDguNjhWMTZhMiAyIDAgMSAxLTQgMFoifV0sWyJwYXRoIix7ZDoiTTIwIDIwdi0yLjM4YzAtMi4xMiAxLjAzLTMuMTIgMS01LjYyLS4wMy0yLjcyLTEuNDktNi00LjUtNkMxNC42MyA2IDE0IDcuOCAxNCA5LjVjMCAzLjExIDIgNS42NiAyIDguNjhWMjBhMiAyIDAgMSAwIDQgMFoifV0sWyJwYXRoIix7ZDoiTTE2IDE3aDQifV0sWyJwYXRoIix7ZDoiTTQgMTNoNCJ9XV19KTt2YXIgRWssTXllPWMoKCk9PntFaz1bWyJwYXRoIix7ZDoiTTQgMTRoNiJ9XSxbInBhdGgiLHtkOiJNNCAyaDEwIn1dLFsicmVjdCIse3g6IjQiLHk6IjE4Iix3aWR0aDoiMTYiLGhlaWdodDoiNCIscng6IjEifV0sWyJyZWN0Iix7eDoiNCIseToiNiIsd2lkdGg6IjE2IixoZWlnaHQ6IjQiLHJ4OiIxIn1dXX0pO3ZhciBJayxreWU9YygoKT0+e0lrPVtbInBhdGgiLHtkOiJNMTIgMTJINWEyIDIgMCAwIDAtMiAydjUifV0sWyJwYXRoIix7ZDoiTTE1IDE5aDcifV0sWyJwYXRoIix7ZDoiTTE2IDE5VjIifV0sWyJwYXRoIix7ZDoiTTYgMTJWN2EyIDIgMCAwIDEgMi0yaDIuMTcyYTIgMiAwIDAgMSAxLjQxNC41ODZsMy44MjggMy44MjhBMiAyIDAgMCAxIDE2IDEwLjgyOCJ9XSxbInBhdGgiLHtkOiJNNyAxOWg0In1dLFsiY2lyY2xlIix7Y3g6IjEzIixjeToiMTkiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE5IixyOiIyIn1dXX0pO3ZhciBOayx6eWU9YygoKT0+e05rPVtbImxpbmUiLHt4MToiMjIiLHgyOiIyIix5MToiNiIseTI6IjYifV0sWyJsaW5lIix7eDE6IjIyIix4MjoiMiIseTE6IjE4Iix5MjoiMTgifV0sWyJsaW5lIix7eDE6IjYiLHgyOiI2Iix5MToiMiIseTI6IjIyIn1dLFsibGluZSIse3gxOiIxOCIseDI6IjE4Iix5MToiMiIseTI6IjIyIn1dXX0pO3ZhciBSayxTeWU9YygoKT0+e1JrPVtbInBhdGgiLHtkOiJtMTUgMTcgNS01LTUtNSJ9XSxbInBhdGgiLHtkOiJNNCAxOHYtMmE0IDQgMCAwIDEgNC00aDEyIn1dXX0pO3ZhciBGayxDeWU9YygoKT0+e0ZrPVtbInBhdGgiLHtkOiJNNSAxNlY5aDE0VjJINWwxNCAxNGgtN20tNyAwIDcgN3YtN20tNyAwaDcifV1dfSk7dmFyIE9rLF95ZT1jKCgpPT57T2s9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xNiAxNnMtMS41LTItNC0yLTQgMi00IDIifV0sWyJsaW5lIix7eDE6IjkiLHgyOiI5LjAxIix5MToiOSIseTI6IjkifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUuMDEiLHkxOiI5Iix5MjoiOSJ9XV19KTt2YXIgQmssVHllPWMoKCk9PntCaz1bWyJwYXRoIix7ZDoiTTE0IDEzaDJhMiAyIDAgMCAxIDIgMnYyYTIgMiAwIDAgMCA0IDB2LTYuOTk4YTIgMiAwIDAgMC0uNTktMS40MkwxOCA1In1dLFsicGF0aCIse2Q6Ik0xNCAyMVY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE2In1dLFsicGF0aCIse2Q6Ik0yIDIxaDEzIn1dLFsicGF0aCIse2Q6Ik0zIDloMTEifV1dfSk7dmFyIEhrLEx5ZT1jKCgpPT57SGs9W1sicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjgiLHg6IjciLHk6IjgiLHJ4OiIxIn1dXX0pO3ZhciBxaywkeWU9YygoKT0+e3FrPVtbInBhdGgiLHtkOiJNMTMuMzU0IDNIM2ExIDEgMCAwIDAtLjc0MiAxLjY3bDcuMjI1IDcuOTg5QTIgMiAwIDAgMSAxMCAxNHY2YTEgMSAwIDAgMCAuNTUzLjg5NWwyIDFBMSAxIDAgMCAwIDE0IDIxdi03YTIgMiAwIDAgMSAuNTE3LTEuMzQxbDEuMjE4LTEuMzQ4In1dLFsicGF0aCIse2Q6Ik0xNiA2aDYifV0sWyJwYXRoIix7ZDoiTTE5IDN2NiJ9XV19KTt2YXIgUjQsRHllPWMoKCk9PntSND1bWyJwYXRoIix7ZDoiTTEyLjUzMSAzSDNhMSAxIDAgMCAwLS43NDIgMS42N2w3LjIyNSA3Ljk4OUEyIDIgMCAwIDEgMTAgMTR2NmExIDEgMCAwIDAgLjU1My44OTVsMiAxQTEgMSAwIDAgMCAxNCAyMXYtN2EyIDIgMCAwIDEgLjUxNy0xLjM0MWwuNDI3LS40NzMifV0sWyJwYXRoIix7ZDoibTE2LjUgMy41IDUgNSJ9XSxbInBhdGgiLHtkOiJtMjEuNSAzLjUtNSA1In1dXX0pO3ZhciBGNCxBeWU9YygoKT0+e0Y0PVtbInBhdGgiLHtkOiJNMTAgMjBhMSAxIDAgMCAwIC41NTMuODk1bDIgMUExIDEgMCAwIDAgMTQgMjF2LTdhMiAyIDAgMCAxIC41MTctMS4zNDFMMjEuNzQgNC42N0ExIDEgMCAwIDAgMjEgM0gzYTEgMSAwIDAgMC0uNzQyIDEuNjdsNy4yMjUgNy45ODlBMiAyIDAgMCAxIDEwIDE0eiJ9XV19KTt2YXIgVmssUHllPWMoKCk9PntWaz1bWyJwYXRoIix7ZDoiTTIgN3YxMCJ9XSxbInBhdGgiLHtkOiJNNiA1djE0In1dLFsicmVjdCIse3dpZHRoOiIxMiIsaGVpZ2h0OiIxOCIseDoiMTAiLHk6IjMiLHJ4OiIyIn1dXX0pO3ZhciBqayxFeWU9YygoKT0+e2prPVtbInBhdGgiLHtkOiJNMiAzdjE4In1dLFsicmVjdCIse3dpZHRoOiIxMiIsaGVpZ2h0OiIxOCIseDoiNiIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIyIDN2MTgifV1dfSk7dmFyIFVrLEl5ZT1jKCgpPT57VWs9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxNCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTQgMjFoMSJ9XSxbInBhdGgiLHtkOiJNOSAyMWgxIn1dLFsicGF0aCIse2Q6Ik0xNCAyMWgxIn1dLFsicGF0aCIse2Q6Ik0xOSAyMWgxIn1dXX0pO3ZhciBXayxOeWU9YygoKT0+e1drPVtbInBhdGgiLHtkOiJNNyAyaDEwIn1dLFsicGF0aCIse2Q6Ik01IDZoMTQifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjEyIix4OiIzIix5OiIxMCIscng6IjIifV1dfSk7dmFyIEdrLFJ5ZT1jKCgpPT57R2s9W1sicGF0aCIse2Q6Ik0zIDJoMTgifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjEyIix4OiIzIix5OiI2IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAyMmgxOCJ9XV19KTt2YXIgWWssRnllPWMoKCk9PntZaz1bWyJsaW5lIix7eDE6IjYiLHgyOiIxMCIseTE6IjExIix5MjoiMTEifV0sWyJsaW5lIix7eDE6IjgiLHgyOiI4Iix5MToiOSIseTI6IjEzIn1dLFsibGluZSIse3gxOiIxNSIseDI6IjE1LjAxIix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTgiLHgyOiIxOC4wMSIseTE6IjEwIix5MjoiMTAifV0sWyJwYXRoIix7ZDoiTTE3LjMyIDVINi42OGE0IDQgMCAwIDAtMy45NzggMy41OWMtLjAwNi4wNTItLjAxLjEwMS0uMDE3LjE1MkMyLjYwNCA5LjQxNiAyIDE0LjQ1NiAyIDE2YTMgMyAwIDAgMCAzIDNjMSAwIDEuNS0uNSAyLTFsMS40MTQtMS40MTRBMiAyIDAgMCAxIDkuODI4IDE2aDQuMzQ0YTIgMiAwIDAgMSAxLjQxNC41ODZMMTcgMThjLjUuNSAxIDEgMiAxYTMgMyAwIDAgMCAzLTNjMC0xLjU0NS0uNjA0LTYuNTg0LS42ODUtNy4yNTgtLjAwNy0uMDUtLjAxMS0uMS0uMDE3LS4xNTFBNCA0IDAgMCAwIDE3LjMyIDV6In1dXX0pO3ZhciBaayxPeWU9YygoKT0+e1prPVtbInBhdGgiLHtkOiJNMTEuMTQ2IDE1Ljg1NGExLjIwNyAxLjIwNyAwIDAgMSAxLjcwOCAwbDEuNTYgMS41NkEyIDIgMCAwIDEgMTUgMTguODI4VjIxYTEgMSAwIDAgMS0xIDFoLTRhMSAxIDAgMCAxLTEtMXYtMi4xNzJhMiAyIDAgMCAxIC41ODYtMS40MTR6In1dLFsicGF0aCIse2Q6Ik0xOC44MjggMTVhMiAyIDAgMCAxLTEuNDE0LS41ODZsLTEuNTYtMS41NmExLjIwNyAxLjIwNyAwIDAgMSAwLTEuNzA4bDEuNTYtMS41NkEyIDIgMCAwIDEgMTguODI4IDlIMjFhMSAxIDAgMCAxIDEgMXY0YTEgMSAwIDAgMS0xIDF6In1dLFsicGF0aCIse2Q6Ik02LjU4NiAxNC40MTRBMiAyIDAgMCAxIDUuMTcyIDE1SDNhMSAxIDAgMCAxLTEtMXYtNGExIDEgMCAwIDEgMS0xaDIuMTcyYTIgMiAwIDAgMSAxLjQxNC41ODZsMS41NiAxLjU2YTEuMjA3IDEuMjA3IDAgMCAxIDAgMS43MDh6In1dLFsicGF0aCIse2Q6Ik05IDNhMSAxIDAgMCAxIDEtMWg0YTEgMSAwIDAgMSAxIDF2Mi4xNzJhMiAyIDAgMCAxLS41ODYgMS40MTRsLTEuNTYgMS41NmExLjIwNyAxLjIwNyAwIDAgMS0xLjcwOCAwbC0xLjU2LTEuNTZBMiAyIDAgMCAxIDkgNS4xNzJ6In1dXX0pO3ZhciBYayxCeWU9YygoKT0+e1hrPVtbImxpbmUiLHt4MToiNiIseDI6IjEwIix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjgiLHkxOiIxMCIseTI6IjE0In1dLFsibGluZSIse3gxOiIxNSIseDI6IjE1LjAxIix5MToiMTMiLHkyOiIxMyJ9XSxbImxpbmUiLHt4MToiMTgiLHgyOiIxOC4wMSIseTE6IjExIix5MjoiMTEifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjEyIix4OiIyIix5OiI2IixyeDoiMiJ9XV19KTt2YXIgS2ssSHllPWMoKCk9PntLaz1bWyJwYXRoIix7ZDoibTEyIDE0IDQtNCJ9XSxbInBhdGgiLHtkOiJNMy4zNCAxOWExMCAxMCAwIDEgMSAxNy4zMiAwIn1dXX0pO3ZhciBRayxxeWU9YygoKT0+e1FrPVtbInBhdGgiLHtkOiJtMTQgMTMtOC4zODEgOC4zOGExIDEgMCAwIDEtMy4wMDEtM2w4LjM4NC04LjM4MSJ9XSxbInBhdGgiLHtkOiJtMTYgMTYgNi02In1dLFsicGF0aCIse2Q6Im0yMS41IDEwLjUtOC04In1dLFsicGF0aCIse2Q6Im04IDggNi02In1dLFsicGF0aCIse2Q6Im04LjUgNy41IDggOCJ9XV19KTt2YXIgSmssVnllPWMoKCk9PntKaz1bWyJwYXRoIix7ZDoiTTExLjUgMjFhNy41IDcuNSAwIDEgMSA3LjM1LTkifV0sWyJwYXRoIix7ZDoiTTEzIDEyVjMifV0sWyJwYXRoIix7ZDoiTTQgMjFoMTYifV0sWyJwYXRoIix7ZDoiTTkgMTJWMyJ9XV19KTt2YXIgZXosanllPWMoKCk9Pntlej1bWyJwYXRoIix7ZDoiTTEwLjUgMyA4IDlsNCAxMyA0LTEzLTIuNS02In1dLFsicGF0aCIse2Q6Ik0xNyAzYTIgMiAwIDAgMSAxLjYuOGwzIDRhMiAyIDAgMCAxIC4wMTMgMi4zODJsLTcuOTkgMTAuOTg2YTIgMiAwIDAgMS0zLjI0NyAwbC03Ljk5LTEwLjk4NkEyIDIgMCAwIDEgMi40IDcuOGwyLjk5OC0zLjk5N0EyIDIgMCAwIDEgNyAzeiJ9XSxbInBhdGgiLHtkOiJNMiA5aDIwIn1dXX0pO3ZhciB0eixVeWU9YygoKT0+e3R6PVtbInBhdGgiLHtkOiJNOSAxMGguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMmE4IDggMCAwIDAtOCA4djEybDMtMyAyLjUgMi41TDEyIDE5bDIuNSAyLjVMMTcgMTlsMyAzVjEwYTggOCAwIDAgMC04LTh6In1dXX0pO3ZhciBheixXeWU9YygoKT0+e2F6PVtbInBhdGgiLHtkOiJNMTIgN3YxNCJ9XSxbInBhdGgiLHtkOiJNMjAgMTF2OGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnYtOCJ9XSxbInBhdGgiLHtkOiJNNy41IDdhMSAxIDAgMCAxIDAtNUE0LjggOCAwIDAgMSAxMiA3YTQuOCA4IDAgMCAxIDQuNS01IDEgMSAwIDAgMSAwIDUifV0sWyJyZWN0Iix7eDoiMyIseToiNyIsd2lkdGg6IjE4IixoZWlnaHQ6IjQiLHJ4OiIxIn1dXX0pO3ZhciByeixHeWU9YygoKT0+e3J6PVtbInBhdGgiLHtkOiJNMTUgNmE5IDkgMCAwIDAtOSA5VjMifV0sWyJwYXRoIix7ZDoiTTIxIDE4aC02In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiNiIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMTgiLHI6IjMifV1dfSk7dmFyIGl6LFl5ZT1jKCgpPT57aXo9W1sicGF0aCIse2Q6Ik02IDN2MTIifV0sWyJwYXRoIix7ZDoiTTE4IDlhMyAzIDAgMSAwIDAtNiAzIDMgMCAwIDAgMCA2eiJ9XSxbInBhdGgiLHtkOiJNNiAyMWEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6In1dLFsicGF0aCIse2Q6Ik0xNSA2YTkgOSAwIDAgMC05IDkifV0sWyJwYXRoIix7ZDoiTTE4IDE1djYifV0sWyJwYXRoIix7ZDoiTTIxIDE4aC02In1dXX0pO3ZhciBzeixaeWU9YygoKT0+e3N6PVtbInBhdGgiLHtkOiJNMTUgNmE5IDkgMCAwIDAtOSA5VjMifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI2IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgTzQsWHllPWMoKCk9PntPND1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XSxbImxpbmUiLHt4MToiMyIseDI6IjkiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxNSIseDI6IjIxIix5MToiMTIiLHkyOiIxMiJ9XV19KTt2YXIgb3osS3llPWMoKCk9Pntvej1bWyJwYXRoIix7ZDoiTTEyIDN2NiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xMiAxNXY2In1dXX0pO3ZhciBueixReWU9YygoKT0+e256PVtbImNpcmNsZSIse2N4OiI1IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTIgNmg1YTIgMiAwIDAgMSAyIDJ2NyJ9XSxbInBhdGgiLHtkOiJtMTUgOS0zLTMgMy0zIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTgiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTEyIDE4SDdhMiAyIDAgMCAxLTItMlY5In1dLFsicGF0aCIse2Q6Im05IDE1IDMgMy0zIDMifV1dfSk7dmFyIGx6LEp5ZT1jKCgpPT57bHo9W1siY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjYiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTEzIDZoM2EyIDIgMCAwIDEgMiAydjcifV0sWyJwYXRoIix7ZDoiTTExIDE4SDhhMiAyIDAgMCAxLTItMlY5In1dXX0pO3ZhciBjeixld2U9YygoKT0+e2N6PVtbImNpcmNsZSIse2N4OiI1IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNSA5djYifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE4IixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xMiAzdjE4In1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTUuN0E5IDkgMCAwIDAgMTkgOSJ9XV19KTt2YXIgZHosdHdlPWMoKCk9Pntkej1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxOCIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiNiIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjYiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTE4IDl2MmMwIC42LS40IDEtMSAxSDdjLS42IDAtMS0uNC0xLTFWOSJ9XSxbInBhdGgiLHtkOiJNMTIgMTJ2MyJ9XV19KTt2YXIgcHosYXdlPWMoKCk9Pntwej1bWyJwYXRoIix7ZDoiTTEyIDZoNGEyIDIgMCAwIDEgMiAydjcifV0sWyJwYXRoIix7ZDoiTTYgMTJ2OSJ9XSxbInBhdGgiLHtkOiJNOSAzIDMgOSJ9XSxbInBhdGgiLHtkOiJNOSA5IDMgMyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciB1eixyd2U9YygoKT0+e3V6PVtbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik02IDIxVjlhOSA5IDAgMCAwIDkgOSJ9XV19KTt2YXIgZnosaXdlPWMoKCk9Pntmej1bWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjYiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTUgOXYxMiJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE4IixyOiIzIn1dLFsicGF0aCIse2Q6Im0xNSA5LTMtMyAzLTMifV0sWyJwYXRoIix7ZDoiTTEyIDZoNWEyIDIgMCAwIDEgMiAydjcifV1dfSk7dmFyIGh6LHN3ZT1jKCgpPT57aHo9W1siY2lyY2xlIix7Y3g6IjYiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik02IDl2MTIifV0sWyJwYXRoIix7ZDoibTIxIDMtNiA2In1dLFsicGF0aCIse2Q6Im0yMSA5LTYtNiJ9XSxbInBhdGgiLHtkOiJNMTggMTEuNVYxNSJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBteixvd2U9YygoKT0+e216PVtbImNpcmNsZSIse2N4OiI1IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNSA5djEyIn1dLFsicGF0aCIse2Q6Im0xNSA5LTMtMyAzLTMifV0sWyJwYXRoIix7ZDoiTTEyIDZoNWEyIDIgMCAwIDEgMiAydjMifV0sWyJwYXRoIix7ZDoiTTE5IDE1djYifV0sWyJwYXRoIix7ZDoiTTIyIDE4aC02In1dXX0pO3ZhciBneixud2U9YygoKT0+e2d6PVtbImNpcmNsZSIse2N4OiI2IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNiA5djEyIn1dLFsicGF0aCIse2Q6Ik0xMyA2aDNhMiAyIDAgMCAxIDIgMnYzIn1dLFsicGF0aCIse2Q6Ik0xOCAxNXY2In1dLFsicGF0aCIse2Q6Ik0yMSAxOGgtNiJ9XV19KTt2YXIgYnosbHdlPWMoKCk9Pntiej1bWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTggNlY1In1dLFsicGF0aCIse2Q6Ik0xOCAxMXYtMSJ9XSxbImxpbmUiLHt4MToiNiIseDI6IjYiLHkxOiI5Iix5MjoiMjEifV1dfSk7dmFyIHZ6LGN3ZT1jKCgpPT57dno9W1siY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjYiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTEzIDZoM2EyIDIgMCAwIDEgMiAydjcifV0sWyJsaW5lIix7eDE6IjYiLHgyOiI2Iix5MToiOSIseTI6IjIxIn1dXX0pO3ZhciB4eixkd2U9YygoKT0+e3h6PVtbInBhdGgiLHtkOiJNMTUgMjJ2LTRhNC44IDQuOCAwIDAgMC0xLTMuNWMzIDAgNi0yIDYtNS41LjA4LTEuMjUtLjI3LTIuNDgtMS0zLjUuMjgtMS4xNS4yOC0yLjM1IDAtMy41IDAgMC0xIDAtMyAxLjUtMi42NC0uNS01LjM2LS41LTggMEM2IDIgNSAyIDUgMmMtLjMgMS4xNS0uMyAyLjM1IDAgMy41QTUuNDAzIDUuNDAzIDAgMCAwIDQgOWMwIDMuNSAzIDUuNSA2IDUuNS0uMzkuNDktLjY4IDEuMDUtLjg1IDEuNjUtLjE3LjYtLjIyIDEuMjMtLjE1IDEuODV2NCJ9XSxbInBhdGgiLHtkOiJNOSAxOGMtNC41MSAyLTUtMi03LTIifV1dfSk7dmFyIHl6LHB3ZT1jKCgpPT57eXo9W1sicGF0aCIse2Q6Im0yMiAxMy4yOS0zLjMzLTEwYS40Mi40MiAwIDAgMC0uMTQtLjE4LjM4LjM4IDAgMCAwLS4yMi0uMTEuMzkuMzkgMCAwIDAtLjIzLjA3LjQyLjQyIDAgMCAwLS4xNC4xOGwtMi4yNiA2LjY3SDguMzJMNi4xIDMuMjZhLjQyLjQyIDAgMCAwLS4xLS4xOC4zOC4zOCAwIDAgMC0uMjYtLjA4LjM5LjM5IDAgMCAwLS4yMy4wNy40Mi40MiAwIDAgMC0uMTQuMThMMiAxMy4yOWEuNzQuNzQgMCAwIDAgLjI3LjgzTDEyIDIxbDkuNjktNi44OGEuNzEuNzEgMCAwIDAgLjMxLS44M1oifV1dfSk7dmFyIHd6LHV3ZT1jKCgpPT57d3o9W1sicGF0aCIse2Q6Ik01LjExNiA0LjEwNEExIDEgMCAwIDEgNi4xMSAzaDExLjc4YTEgMSAwIDAgMSAuOTk0IDEuMTA1TDE3LjE5IDIwLjIxQTIgMiAwIDAgMSAxNS4yIDIySDguOGEyIDIgMCAwIDEtMi0xLjc5eiJ9XSxbInBhdGgiLHtkOiJNNiAxMmE1IDUgMCAwIDEgNiAwIDUgNSAwIDAgMCA2IDAifV1dfSk7dmFyIE16LGZ3ZT1jKCgpPT57TXo9W1sicGF0aCIse2Q6Ik0xNS42ODYgMTVBMTQuNSAxNC41IDAgMCAxIDEyIDIyYTE0LjUgMTQuNSAwIDAgMSAwLTIwIDEwIDEwIDAgMSAwIDkuNTQyIDEzIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDguNSJ9XSxbInBhdGgiLHtkOiJNMjAgNlY0YTIgMiAwIDEgMC00IDB2MiJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI1Iix4OiIxNCIseToiNiIscng6IjEifV1dfSk7dmFyIGt6LGh3ZT1jKCgpPT57a3o9W1siY2lyY2xlIix7Y3g6IjYiLGN5OiIxNSIscjoiNCJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE1IixyOiI0In1dLFsicGF0aCIse2Q6Ik0xNCAxNWEyIDIgMCAwIDAtMi0yIDIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTIuNSAxMyA1IDdjLjctMS4zIDEuNC0yIDMtMiJ9XSxbInBhdGgiLHtkOiJNMjEuNSAxMyAxOSA3Yy0uNy0xLjMtMS41LTItMy0yIn1dXX0pO3ZhciB6eixtd2U9YygoKT0+e3p6PVtbInBhdGgiLHtkOiJtMTYgMyA1IDUifV0sWyJwYXRoIix7ZDoiTTIgMTJoMjBBMTAgMTAgMCAxIDEgMTIgMmExNC41IDE0LjUgMCAwIDAgMCAyMCAxNC41IDE0LjUgMCAwIDAgNC0xMCJ9XSxbInBhdGgiLHtkOiJtMjEgMy01IDUifV1dfSk7dmFyIFN6LGd3ZT1jKCgpPT57U3o9W1sicGF0aCIse2Q6Ik0xMC4xMTQgNC40NjJBMTQuNSAxNC41IDAgMCAxIDEyIDJhMTAgMTAgMCAwIDEgOS4zMTMgMTMuNjQzIn1dLFsicGF0aCIse2Q6Ik0xNS41NTcgMTUuNTU2QTE0LjUgMTQuNSAwIDAgMSAxMiAyMiAxMCAxMCAwIDAgMSA0LjkyOSA0LjkyOSJ9XSxbInBhdGgiLHtkOiJNMTUuODkyIDEwLjIzNEExNC41IDE0LjUgMCAwIDAgMTIgMmExMCAxMCAwIDAgMC0zLjY0My42ODcifV0sWyJwYXRoIix7ZDoiTTE3LjY1NiAxMkgyMiJ9XSxbInBhdGgiLHtkOiJNMTkuMDcxIDE5LjA3MUExMCAxMCAwIDAgMSAxMiAyMiAxNC41IDE0LjUgMCAwIDEgOC40NCA4LjQ1In1dLFsicGF0aCIse2Q6Ik0yIDEyaDEwIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIEN6LGJ3ZT1jKCgpPT57Q3o9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiAyYTE0LjUgMTQuNSAwIDAgMCAwIDIwIDE0LjUgMTQuNSAwIDAgMCAwLTIwIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIwIn1dXX0pO3ZhciBfeix2d2U9YygoKT0+e196PVtbInBhdGgiLHtkOiJNMTIgMTNWMmw4IDQtOCA0In1dLFsicGF0aCIse2Q6Ik0yMC41NjEgMTAuMjIyYTkgOSAwIDEgMS0xMi41NS01LjI5In1dLFsicGF0aCIse2Q6Ik04LjAwMiA5Ljk5N2E1IDUgMCAxIDAgOC45IDIuMDIifV1dfSk7dmFyIFR6LHh3ZT1jKCgpPT57VHo9W1sicGF0aCIse2Q6Ik0yIDIxVjMifV0sWyJwYXRoIix7ZDoiTTIgNWgxOGEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMkgyLjI2In1dLFsicGF0aCIse2Q6Ik03IDE3djNhMSAxIDAgMCAwIDEgMWg1YTEgMSAwIDAgMCAxLTF2LTMifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxMSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI4IixjeToiMTEiLHI6IjIifV1dfSk7dmFyIEx6LHl3ZT1jKCgpPT57THo9W1sicGF0aCIse2Q6Ik0yMS40MiAxMC45MjJhMSAxIDAgMCAwLS4wMTktMS44MzhMMTIuODMgNS4xOGEyIDIgMCAwIDAtMS42NiAwTDIuNiA5LjA4YTEgMSAwIDAgMCAwIDEuODMybDguNTcgMy45MDhhMiAyIDAgMCAwIDEuNjYgMHoifV0sWyJwYXRoIix7ZDoiTTIyIDEwdjYifV0sWyJwYXRoIix7ZDoiTTYgMTIuNVYxNmE2IDMgMCAwIDAgMTIgMHYtMy41In1dXX0pO3ZhciBCNCx3d2U9YygoKT0+e0I0PVtbInBhdGgiLHtkOiJNMTIgM3YxN2ExIDEgMCAwIDEtMSAxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnY2YTEgMSAwIDAgMS0xIDFIMyJ9XSxbInBhdGgiLHtkOiJtMTYgMTkgMiAyIDQtNCJ9XV19KTt2YXIgSDQsTXdlPWMoKCk9PntIND1bWyJwYXRoIix7ZDoiTTEyIDN2MTdhMSAxIDAgMCAxLTEgMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2NmExIDEgMCAwIDEtMSAxSDMifV0sWyJwYXRoIix7ZDoiTTE2IDE5aDYifV0sWyJwYXRoIix7ZDoiTTE5IDIydi02In1dXX0pO3ZhciAkeixrd2U9YygoKT0+eyR6PVtbInBhdGgiLHtkOiJNMjIgNVYybC01Ljg5IDUuODkifV0sWyJjaXJjbGUiLHtjeDoiMTYuNiIsY3k6IjE1Ljg5IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjguMTEiLGN5OiI3LjQiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTIuMzUiLGN5OiIxMS42NSIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiIxMy45MSIsY3k6IjUuODUiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTguMTUiLGN5OiIxMC4wOSIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI2LjU2IixjeToiMTMuMiIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiIxMC44IixjeToiMTcuNDQiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE5IixyOiIzIn1dXX0pO3ZhciBxNCx6d2U9YygoKT0+e3E0PVtbInBhdGgiLHtkOiJNMTIgM3YxN2ExIDEgMCAwIDEtMSAxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnY2YTEgMSAwIDAgMS0xIDFIMyJ9XSxbInBhdGgiLHtkOiJtMTYgMTYgNSA1In1dLFsicGF0aCIse2Q6Im0xNiAyMSA1LTUifV1dfSk7dmFyIFY0LFN3ZT1jKCgpPT57VjQ9W1sicGF0aCIse2Q6Ik0xMiAzdjE4In1dLFsicGF0aCIse2Q6Ik0zIDEyaDE4In1dLFsicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dfSk7dmFyIER6LEN3ZT1jKCgpPT57RHo9W1sicGF0aCIse2Q6Ik0xNSAzdjE4In1dLFsicGF0aCIse2Q6Ik0zIDEyaDE4In1dLFsicGF0aCIse2Q6Ik05IDN2MTgifV0sWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV19KTt2YXIga28sX3dlPWMoKCk9Pntrbz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyA5aDE4In1dLFsicGF0aCIse2Q6Ik0zIDE1aDE4In1dLFsicGF0aCIse2Q6Ik05IDN2MTgifV0sWyJwYXRoIix7ZDoiTTE1IDN2MTgifV1dfSk7dmFyIEF6LFR3ZT1jKCgpPT57QXo9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiOSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjkiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjkiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE1IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxNSIscjoiMSJ9XV19KTt2YXIgUHosTHdlPWMoKCk9PntQej1bWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI1IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiIxOSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE1IixjeToiNSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjE5IixyOiIxIn1dXX0pO3ZhciBFeiwkd2U9YygoKT0+e0V6PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjUiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiI1IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiI1IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxMiIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTIiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxOSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE5IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxOSIscjoiMSJ9XV19KTt2YXIgSXosRHdlPWMoKCk9PntJej1bWyJwYXRoIix7ZDoiTTMgN1Y1YzAtMS4xLjktMiAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYzEuMSAwIDIgLjkgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJjMCAxLjEtLjkgMi0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjFINWMtMS4xIDAtMi0uOS0yLTJ2LTIifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNSIseDoiNyIseToiNyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNSIseDoiMTAiLHk6IjEyIixyeDoiMSJ9XV19KTt2YXIgTnosQXdlPWMoKCk9PntOej1bWyJwYXRoIix7ZDoibTExLjkgMTIuMSA0LjUxNC00LjUxNCJ9XSxbInBhdGgiLHtkOiJNMjAuMSAyLjNhMSAxIDAgMCAwLTEuNCAwbC0xLjExNCAxLjExNEEyIDIgMCAwIDAgMTcgNC44Mjh2MS4zNDRhMiAyIDAgMCAxLS41ODYgMS40MTRBMiAyIDAgMCAxIDE3LjgyOCA3aDEuMzQ0YTIgMiAwIDAgMCAxLjQxNC0uNTg2TDIxLjcgNS4zYTEgMSAwIDAgMCAwLTEuNHoifV0sWyJwYXRoIix7ZDoibTYgMTYgMiAyIn1dLFsicGF0aCIse2Q6Ik04LjIzIDkuODVBMyAzIDAgMCAxIDExIDhhNSA1IDAgMCAxIDUgNSAzIDMgMCAwIDEtMS44NSAyLjc3bC0uOTIuMzhBMiAyIDAgMCAwIDEyIDE4YTQgNCAwIDAgMS00IDQgNiA2IDAgMCAxLTYtNiA0IDQgMCAwIDEgNC00IDIgMiAwIDAgMCAxLjg1LTEuMjN6In1dXX0pO3ZhciBSeixQd2U9YygoKT0+e1J6PVtbInBhdGgiLHtkOiJNMTMuMTQ0IDIxLjE0NEE3LjI3NCAxMC40NDUgNDUgMSAwIDIuODU2IDEwLjg1NiJ9XSxbInBhdGgiLHtkOiJNMTMuMTQ0IDIxLjE0NEE3LjI3NCA0LjM2NSA0NSAwIDAgMi44NTYgMTAuODU2YTcuMjc0IDQuMzY1IDQ1IDAgMCAxMC4yODggMTAuMjg4In1dLFsicGF0aCIse2Q6Ik0xNi41NjUgMTAuNDM1IDE4LjYgOC40YTIuNTAxIDIuNTAxIDAgMSAwIDEuNjUtNC42NSAyLjUgMi41IDAgMSAwLTQuNjYgMS42NmwtMi4wMjQgMi4wMjUifV0sWyJwYXRoIix7ZDoibTguNSAxNi41LTEtMSJ9XV19KTt2YXIgRnosRXdlPWMoKCk9PntGej1bWyJwYXRoIix7ZDoiTTEyIDE2SDRhMiAyIDAgMSAxIDAtNGgxNmEyIDIgMCAxIDEgMCA0aC00LjI1In1dLFsicGF0aCIse2Q6Ik01IDEyYTIgMiAwIDAgMS0yLTIgOSA3IDAgMCAxIDE4IDAgMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNNSAxNmEyIDIgMCAwIDAtMiAyIDMgMyAwIDAgMCAzIDNoMTJhMyAzIDAgMCAwIDMtMyAyIDIgMCAwIDAtMi0ycTAgMCAwIDAifV0sWyJwYXRoIix7ZDoibTYuNjcgMTIgNi4xMyA0LjZhMiAyIDAgMCAwIDIuOC0uNGwzLjE1LTQuMiJ9XV19KTt2YXIgT3osSXdlPWMoKCk9PntPej1bWyJwYXRoIix7ZDoibTE1IDEyLTkuMzczIDkuMzczYTEgMSAwIDAgMS0zLjAwMS0zTDEyIDkifV0sWyJwYXRoIix7ZDoibTE4IDE1IDQtNCJ9XSxbInBhdGgiLHtkOiJtMjEuNSAxMS41LTEuOTE0LTEuOTE0QTIgMiAwIDAgMSAxOSA4LjE3MnYtLjM0NGEyIDIgMCAwIDAtLjU4Ni0xLjQxNGwtMS42NTctMS42NTdBNiA2IDAgMCAwIDEyLjUxNiAzSDlsMS4yNDMgMS4yNDNBNiA2IDAgMCAxIDEyIDguNDg1VjEwbDIgMmgxLjE3MmEyIDIgMCAwIDEgMS40MTQuNTg2TDE4LjUgMTQuNSJ9XV19KTt2YXIgQnosTndlPWMoKCk9PntCej1bWyJwYXRoIix7ZDoiTTExIDE1aDJhMiAyIDAgMSAwIDAtNGgtM2MtLjYgMC0xLjEuMi0xLjQuNkwzIDE3In1dLFsicGF0aCIse2Q6Im03IDIxIDEuNi0xLjRjLjMtLjQuOC0uNiAxLjQtLjZoNGMxLjEgMCAyLjEtLjQgMi44LTEuMmw0LjYtNC40YTIgMiAwIDAgMC0yLjc1LTIuOTFsLTQuMiAzLjkifV0sWyJwYXRoIix7ZDoibTIgMTYgNiA2In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiOSIscjoiMi45In1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiI1IixyOiIzIn1dXX0pO3ZhciBIeixSd2U9YygoKT0+e0h6PVtbInBhdGgiLHtkOiJNMTIuMDM1IDE3LjAxMmEzIDMgMCAwIDAtMy0zbC0uMzExLS4wMDJhLjcyLjcyIDAgMCAxLS41MDUtMS4yMjlsMS4xOTUtMS4xOTVBMiAyIDAgMCAxIDEwLjgyOCAxMUgxMmEyIDIgMCAwIDAgMC00SDkuMjQzYTMgMyAwIDAgMC0yLjEyMi44NzlsLTIuNzA3IDIuNzA3QTQuODMgNC44MyAwIDAgMCAzIDE0YTggOCAwIDAgMCA4IDhoMmE4IDggMCAwIDAgOC04VjdhMiAyIDAgMSAwLTQgMHYyYTIgMiAwIDEgMCA0IDAifV0sWyJwYXRoIix7ZDoiTTEzLjg4OCA5LjY2MkEyIDIgMCAwIDAgMTcgOFY1QTIgMiAwIDEgMCAxMyA1In1dLFsicGF0aCIse2Q6Ik05IDVBMiAyIDAgMSAwIDUgNVYxMCJ9XSxbInBhdGgiLHtkOiJNOSA3VjRBMiAyIDAgMSAxIDEzIDRWNy4yNjgifV1dfSk7dmFyIGo0LEZ3ZT1jKCgpPT57ajQ9W1sicGF0aCIse2Q6Ik0xOCAxMS41VjlhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDAtMiAydjEuNCJ9XSxbInBhdGgiLHtkOiJNMTQgMTBWOGEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTAgOS45VjlhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDAtMiAydjUifV0sWyJwYXRoIix7ZDoiTTYgMTRhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDAtMiAyIn1dLFsicGF0aCIse2Q6Ik0xOCAxMWEyIDIgMCAxIDEgNCAwdjNhOCA4IDAgMCAxLTggOGgtNGE4IDggMCAwIDEtOC04IDIgMiAwIDEgMSA0IDAifV1dfSk7dmFyIHF6LE93ZT1jKCgpPT57cXo9W1sicGF0aCIse2Q6Ik0xMSAxNGgyYTIgMiAwIDAgMCAwLTRoLTNjLS42IDAtMS4xLjItMS40LjZMMyAxNiJ9XSxbInBhdGgiLHtkOiJtMTQuNDUgMTMuMzkgNS4wNS00LjY5NEMyMC4xOTYgOCAyMSA2Ljg1IDIxIDUuNzVhMi43NSAyLjc1IDAgMCAwLTQuNzk3LTEuODM3LjI3Ni4yNzYgMCAwIDEtLjQwNiAwQTIuNzUgMi43NSAwIDAgMCAxMSA1Ljc1YzAgMS4yLjgwMiAyLjI0OCAxLjUgMi45NDZMMTYgMTEuOTUifV0sWyJwYXRoIix7ZDoibTIgMTUgNiA2In1dLFsicGF0aCIse2Q6Im03IDIwIDEuNi0xLjRjLjMtLjQuOC0uNiAxLjQtLjZoNGMxLjEgMCAyLjEtLjQgMi44LTEuMmw0LjYtNC40YTEgMSAwIDAgMC0yLjc1LTIuOTEifV1dfSk7dmFyIFU0LEJ3ZT1jKCgpPT57VTQ9W1sicGF0aCIse2Q6Ik0xMSAxMmgyYTIgMiAwIDEgMCAwLTRoLTNjLS42IDAtMS4xLjItMS40LjZMMyAxNCJ9XSxbInBhdGgiLHtkOiJtNyAxOCAxLjYtMS40Yy4zLS40LjgtLjYgMS40LS42aDRjMS4xIDAgMi4xLS40IDIuOC0xLjJsNC42LTQuNGEyIDIgMCAwIDAtMi43NS0yLjkxbC00LjIgMy45In1dLFsicGF0aCIse2Q6Im0yIDEzIDYgNiJ9XV19KTt2YXIgVnosSHdlPWMoKCk9PntWej1bWyJwYXRoIix7ZDoiTTE4IDEyLjVWMTBhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDAtMiAydjEuNCJ9XSxbInBhdGgiLHtkOiJNMTQgMTFWOWEyIDIgMCAxIDAtNCAwdjIifV0sWyJwYXRoIix7ZDoiTTEwIDEwLjVWNWEyIDIgMCAxIDAtNCAwdjkifV0sWyJwYXRoIix7ZDoibTcgMTUtMS43Ni0xLjc2YTIgMiAwIDAgMC0yLjgzIDIuODJsMy42IDMuNkM3LjUgMjEuMTQgOS4yIDIyIDEyIDIyaDJhOCA4IDAgMCAwIDgtOFY3YTIgMiAwIDEgMC00IDB2NSJ9XV19KTt2YXIganoscXdlPWMoKCk9Pntqej1bWyJwYXRoIix7ZDoiTTEyIDNWMiJ9XSxbInBhdGgiLHtkOiJtMTUuNCAxNy40IDMuMi0yLjhhMiAyIDAgMSAxIDIuOCAyLjlsLTMuNiAzLjNjLS43LjgtMS43IDEuMi0yLjggMS4yaC00Yy0xLjEgMC0yLjEtLjQtMi44LTEuMmwtMS4zMDItMS40NjRBMSAxIDAgMCAwIDYuMTUxIDE5SDUifV0sWyJwYXRoIix7ZDoiTTIgMTRoMTJhMiAyIDAgMCAxIDAgNGgtMiJ9XSxbInBhdGgiLHtkOiJNNCAxMGgxNiJ9XSxbInBhdGgiLHtkOiJNNSAxMGE3IDcgMCAwIDEgMTQgMCJ9XSxbInBhdGgiLHtkOiJNNSAxNHY2YTEgMSAwIDAgMS0xIDFIMiJ9XV19KTt2YXIgVXosVndlPWMoKCk9PntVej1bWyJwYXRoIix7ZDoiTTIuMDQ4IDE4LjU2NkEyIDIgMCAwIDAgNCAyMWgxNmEyIDIgMCAwIDAgMS45NTItMi40MzRsLTItOUEyIDIgMCAwIDAgMTggOEg2YTIgMiAwIDAgMC0xLjk1MiAxLjU2NnoifV0sWyJwYXRoIix7ZDoiTTggMTFWNmE0IDQgMCAwIDEgOCAwdjUifV1dfSk7dmFyIFd6LGp3ZT1jKCgpPT57V3o9W1sicGF0aCIse2Q6Ik0xOCAxMVY2YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTQgMTBWNGEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTAgMTAuNVY2YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnY4In1dLFsicGF0aCIse2Q6Ik0xOCA4YTIgMiAwIDEgMSA0IDB2NmE4IDggMCAwIDEtOCA4aC0yYy0yLjggMC00LjUtLjg2LTUuOTktMi4zNGwtMy42LTMuNmEyIDIgMCAwIDEgMi44My0yLjgyTDcgMTUifV1dfSk7dmFyIEd6LFV3ZT1jKCgpPT57R3o9W1sicGF0aCIse2Q6Ik0xMiAydjgifV0sWyJwYXRoIix7ZDoibTE2IDYtNCA0LTQtNCJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiMTQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMThoLjAxIn1dXX0pO3ZhciBZeixXd2U9YygoKT0+e1l6PVtbInBhdGgiLHtkOiJNMTAgMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0yLjIxMiAxMS41NzdhMiAyIDAgMCAwLS4yMTIuODk2VjE4YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNS41MjdhMiAyIDAgMCAwLS4yMTItLjg5NkwxOC41NSA1LjExQTIgMiAwIDAgMCAxNi43NiA0SDcuMjRhMiAyIDAgMCAwLTEuNzkgMS4xMXoifV0sWyJwYXRoIix7ZDoiTTIxLjk0NiAxMi4wMTNIMi4wNTQifV0sWyJwYXRoIix7ZDoiTTYgMTZoLjAxIn1dXX0pO3ZhciBaeixHd2U9YygoKT0+e1p6PVtbInBhdGgiLHtkOiJtMTEgMTcgMiAyYTEgMSAwIDEgMCAzLTMifV0sWyJwYXRoIix7ZDoibTE0IDE0IDIuNSAyLjVhMSAxIDAgMSAwIDMtM2wtMy44OC0zLjg4YTMgMyAwIDAgMC00LjI0IDBsLS44OC44OGExIDEgMCAxIDEtMy0zbDIuODEtMi44MWE1Ljc5IDUuNzkgMCAwIDEgNy4wNi0uODdsLjQ3LjI4YTIgMiAwIDAgMCAxLjQyLjI1TDIxIDQifV0sWyJwYXRoIix7ZDoibTIxIDMgMSAxMWgtMiJ9XSxbInBhdGgiLHtkOiJNMyAzIDIgMTRsNi41IDYuNWExIDEgMCAxIDAgMy0zIn1dLFsicGF0aCIse2Q6Ik0zIDRoOCJ9XV19KTt2YXIgWHosWXdlPWMoKCk9PntYej1bWyJwYXRoIix7ZDoibTE2IDYtNC00LTQgNCJ9XSxbInBhdGgiLHtkOiJNMTIgMnY4In1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI4Iix4OiIyIix5OiIxNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTYgMThoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMCAxOGguMDEifV1dfSk7dmFyIEt6LFp3ZT1jKCgpPT57S3o9W1sicGF0aCIse2Q6Ik0xMCAxMFY1YTEgMSAwIDAgMSAxLTFoMmExIDEgMCAwIDEgMSAxdjUifV0sWyJwYXRoIix7ZDoiTTE0IDZhNiA2IDAgMCAxIDYgNnYzIn1dLFsicGF0aCIse2Q6Ik00IDE1di0zYTYgNiAwIDAgMSA2LTYifV0sWyJyZWN0Iix7eDoiMiIseToiMTUiLHdpZHRoOiIyMCIsaGVpZ2h0OiI0IixyeDoiMSJ9XV19KTt2YXIgUXosWHdlPWMoKCk9PntRej1bWyJsaW5lIix7eDE6IjQiLHgyOiIyMCIseTE6IjkiLHkyOiI5In1dLFsibGluZSIse3gxOiI0Iix4MjoiMjAiLHkxOiIxNSIseTI6IjE1In1dLFsibGluZSIse3gxOiIxMCIseDI6IjgiLHkxOiIzIix5MjoiMjEifV0sWyJsaW5lIix7eDE6IjE2Iix4MjoiMTQiLHkxOiIzIix5MjoiMjEifV1dfSk7dmFyIEp6LEt3ZT1jKCgpPT57Sno9W1sicGF0aCIse2Q6Ik0xNCAxOGEyIDIgMCAwIDAtNCAwIn1dLFsicGF0aCIse2Q6Im0xOSAxMS0yLjExLTYuNjU3YTIgMiAwIDAgMC0yLjc1Mi0xLjE0OGwtMS4yNzYuNjFBMiAyIDAgMCAxIDEyIDRIOC41YTIgMiAwIDAgMC0xLjkyNSAxLjQ1Nkw1IDExIn1dLFsicGF0aCIse2Q6Ik0yIDExaDIwIn1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTgiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBlUyxRd2U9YygoKT0+e2VTPVtbInBhdGgiLHtkOiJtNS4yIDYuMiAxLjQgMS40In1dLFsicGF0aCIse2Q6Ik0yIDEzaDIifV0sWyJwYXRoIix7ZDoiTTIwIDEzaDIifV0sWyJwYXRoIix7ZDoibTE3LjQgNy42IDEuNC0xLjQifV0sWyJwYXRoIix7ZDoiTTIyIDE3SDIifV0sWyJwYXRoIix7ZDoiTTIyIDIxSDIifV0sWyJwYXRoIix7ZDoiTTE2IDEzYTQgNCAwIDAgMC04IDAifV0sWyJwYXRoIix7ZDoiTTEyIDVWMi41In1dXX0pO3ZhciB0UyxKd2U9YygoKT0+e3RTPVtbInBhdGgiLHtkOiJNMTAgMTJINiJ9XSxbInBhdGgiLHtkOiJNMTAgMTVWOSJ9XSxbInBhdGgiLHtkOiJNMTQgMTQuNWEuNS41IDAgMCAwIC41LjVoMWEyLjUgMi41IDAgMCAwIDIuNS0yLjV2LTFBMi41IDIuNSAwIDAgMCAxNS41IDloLTFhLjUuNSAwIDAgMC0uNS41eiJ9XSxbInBhdGgiLHtkOiJNNiAxNVY5In1dLFsicmVjdCIse3g6IjIiLHk6IjUiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNCIscng6IjIifV1dfSk7dmFyIGFTLGVNZT1jKCgpPT57YVM9W1sicGF0aCIse2Q6Ik0yMiA5YTEgMSAwIDAgMC0xLTFIM2ExIDEgMCAwIDAtMSAxdjRhMSAxIDAgMCAwIDEgMWgxbDIgMmgxMmwyLTJoMWExIDEgMCAwIDAgMS0xWiJ9XSxbInBhdGgiLHtkOiJNNy41IDEyaDkifV1dfSk7dmFyIHJTLHRNZT1jKCgpPT57clM9W1sicGF0aCIse2Q6Ik00IDEyaDgifV0sWyJwYXRoIix7ZDoiTTQgMThWNiJ9XSxbInBhdGgiLHtkOiJNMTIgMThWNiJ9XSxbInBhdGgiLHtkOiJtMTcgMTIgMy0ydjgifV1dfSk7dmFyIGlTLGFNZT1jKCgpPT57aVM9W1sicGF0aCIse2Q6Ik00IDEyaDgifV0sWyJwYXRoIix7ZDoiTTQgMThWNiJ9XSxbInBhdGgiLHtkOiJNMTIgMThWNiJ9XSxbInBhdGgiLHtkOiJNMjEgMThoLTRjMC00IDQtMyA0LTYgMC0xLjUtMi0yLjUtNC0xIn1dXX0pO3ZhciBzUyxyTWU9YygoKT0+e3NTPVtbInBhdGgiLHtkOiJNNCAxMmg4In1dLFsicGF0aCIse2Q6Ik00IDE4VjYifV0sWyJwYXRoIix7ZDoiTTEyIDE4VjYifV0sWyJwYXRoIix7ZDoiTTE3LjUgMTAuNWMxLjctMSAzLjUgMCAzLjUgMS41YTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTE3IDE3LjVjMiAxLjUgNCAuMyA0LTEuNWEyIDIgMCAwIDAtMi0yIn1dXX0pO3ZhciBvUyxpTWU9YygoKT0+e29TPVtbInBhdGgiLHtkOiJNMTIgMThWNiJ9XSxbInBhdGgiLHtkOiJNMTcgMTB2M2ExIDEgMCAwIDAgMSAxaDMifV0sWyJwYXRoIix7ZDoiTTIxIDEwdjgifV0sWyJwYXRoIix7ZDoiTTQgMTJoOCJ9XSxbInBhdGgiLHtkOiJNNCAxOFY2In1dXX0pO3ZhciBuUyxzTWU9YygoKT0+e25TPVtbInBhdGgiLHtkOiJNNCAxMmg4In1dLFsicGF0aCIse2Q6Ik00IDE4VjYifV0sWyJwYXRoIix7ZDoiTTEyIDE4VjYifV0sWyJwYXRoIix7ZDoiTTE3IDEzdi0zaDQifV0sWyJwYXRoIix7ZDoiTTE3IDE3LjdjLjQuMi44LjMgMS4zLjMgMS41IDAgMi43LTEuMSAyLjctMi41UzE5LjggMTMgMTguMyAxM0gxNyJ9XV19KTt2YXIgbFMsb01lPWMoKCk9PntsUz1bWyJwYXRoIix7ZDoiTTYgMTJoMTIifV0sWyJwYXRoIix7ZDoiTTYgMjBWNCJ9XSxbInBhdGgiLHtkOiJNMTggMjBWNCJ9XV19KTt2YXIgY1Msbk1lPWMoKCk9PntjUz1bWyJwYXRoIix7ZDoiTTQgMTJoOCJ9XSxbInBhdGgiLHtkOiJNNCAxOFY2In1dLFsicGF0aCIse2Q6Ik0xMiAxOFY2In1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTYiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTIwIDEwYy0yIDItMyAzLjUtMyA2In1dXX0pO3ZhciBkUyxsTWU9YygoKT0+e2RTPVtbInBhdGgiLHtkOiJNMyAxNGgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtN2E5IDkgMCAwIDEgMTggMHY3YTIgMiAwIDAgMS0yIDJoLTFhMiAyIDAgMCAxLTItMnYtM2EyIDIgMCAwIDEgMi0yaDMifV1dfSk7dmFyIHBTLGNNZT1jKCgpPT57cFM9W1sicGF0aCIse2Q6Ik0yMSAxNGgtMS4zNDMifV0sWyJwYXRoIix7ZDoiTTkuMTI4IDMuNDdBOSA5IDAgMCAxIDIxIDEydjMuMzQzIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIwLjQxNCAyMC40MTRBMiAyIDAgMCAxIDE5IDIxaC0xYTIgMiAwIDAgMS0yLTJ2LTMifV0sWyJwYXRoIix7ZDoiTTMgMTRoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTdhOSA5IDAgMCAxIDIuNjM2LTYuMzY0In1dXX0pO3ZhciB1UyxkTWU9YygoKT0+e3VTPVtbInBhdGgiLHtkOiJNMyAxMWgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNVptMCAwYTkgOSAwIDEgMSAxOCAwbTAgMHY1YTIgMiAwIDAgMS0yIDJoLTFhMiAyIDAgMCAxLTItMnYtM2EyIDIgMCAwIDEgMi0yaDNaIn1dLFsicGF0aCIse2Q6Ik0yMSAxNnYyYTQgNCAwIDAgMS00IDRoLTUifV1dfSk7dmFyIGZTLHBNZT1jKCgpPT57ZlM9W1sicGF0aCIse2Q6Ik0xOS40MTQgMTQuNDE0QzIxIDEyLjgyOCAyMiAxMS41IDIyIDkuNWE1LjUgNS41IDAgMCAwLTkuNTkxLTMuNjc2LjYuNiAwIDAgMS0uODE4LjAwMUE1LjUgNS41IDAgMCAwIDIgOS41YzAgMi4zIDEuNSA0IDMgNS41bDUuNTM1IDUuMzYyYTIgMiAwIDAgMCAyLjg3OS4wNTIgMi4xMiAyLjEyIDAgMCAwLS4wMDQtMyAyLjEyNCAyLjEyNCAwIDEgMCAzLTMgMi4xMjQgMi4xMjQgMCAwIDAgMy4wMDQgMCAyIDIgMCAwIDAgMC0yLjgyOGwtMS44ODEtMS44ODJhMi40MSAyLjQxIDAgMCAwLTMuNDA5IDBsLTEuNzEgMS43MWEyIDIgMCAwIDEtMi44MjggMCAyIDIgMCAwIDEgMC0yLjgyOGwyLjgyMy0yLjc2MiJ9XV19KTt2YXIgaFMsdU1lPWMoKCk9PntoUz1bWyJwYXRoIix7ZDoiTTEyLjQwOSA1LjgyNGMtLjcwMi43OTItMS4xNSAxLjQ5Ni0xLjQxNSAyLjE2NmwyLjE1MyAyLjE1NmEuNS41IDAgMCAxIDAgLjcwN2wtMi4yOTMgMi4yOTNhLjUuNSAwIDAgMCAwIC43MDdMMTIgMTUifV0sWyJwYXRoIix7ZDoiTTEzLjUwOCAyMC4zMTNhMiAyIDAgMCAxLTMgLjAxOUw1IDE1Yy0xLjUtMS41LTMtMy4yLTMtNS41YTUuNSA1LjUgMCAwIDEgOS41OTEtMy42NzcuNi42IDAgMCAwIC44MTguMDAxQTUuNSA1LjUgMCAwIDEgMjIgOS41YzAgMi4yOS0xLjUgNC0zIDUuNXoifV1dfSk7dmFyIG1TLGZNZT1jKCgpPT57bVM9W1sicGF0aCIse2Q6Ik0xMC41IDQuODkzYTUuNSA1LjUgMCAwIDEgMS4wOTEuOTMxLjU2LjU2IDAgMCAwIC44MTggMEE1LjQ5IDUuNDkgMCAwIDEgMjIgOS41YzAgMS44NzItMS4wMDIgMy4zNTYtMi4xODcgNC42NTUifV0sWyJwYXRoIix7ZDoibTE2Ljk2NyAxNi45NjctMy40NTkgMy4zNDZhMiAyIDAgMCAxLTMgLjAxOUw1IDE1Yy0xLjUtMS41LTMtMy4yLTMtNS41YTUuNSA1LjUgMCAwIDEgMi43NDctNC43NjEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgZ1MsaE1lPWMoKCk9PntnUz1bWyJwYXRoIix7ZDoibTE0Ljg3NiAxOC45OS0xLjM2OCAxLjMyM2EyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjVhNS41IDUuNSAwIDAgMSA5LjU5MS0zLjY3Ni41Ni41NiAwIDAgMCAuODE4IDBBNS40OSA1LjQ5IDAgMCAxIDIyIDkuNWE1LjIgNS4yIDAgMCAxLS4yNDQgMS41NzIifV0sWyJwYXRoIix7ZDoiTTE1IDE1aDYifV1dfSk7dmFyIGJTLG1NZT1jKCgpPT57YlM9W1sicGF0aCIse2Q6Im0xNC40NzkgMTkuMzc0LS45NzEuOTM5YTIgMiAwIDAgMS0zIC4wMTlMNSAxNWMtMS41LTEuNS0zLTMuMi0zLTUuNWE1LjUgNS41IDAgMCAxIDkuNTkxLTMuNjc2LjU2LjU2IDAgMCAwIC44MTggMEE1LjQ5IDUuNDkgMCAwIDEgMjIgOS41YTUuMiA1LjIgMCAwIDEtLjIxOSAxLjQ5In1dLFsicGF0aCIse2Q6Ik0xNSAxNWg2In1dLFsicGF0aCIse2Q6Ik0xOCAxMnY2In1dXX0pO3ZhciB2UyxnTWU9YygoKT0+e3ZTPVtbInBhdGgiLHtkOiJNMiA5LjVhNS41IDUuNSAwIDAgMSA5LjU5MS0zLjY3Ni41Ni41NiAwIDAgMCAuODE4IDBBNS40OSA1LjQ5IDAgMCAxIDIyIDkuNWMwIDIuMjktMS41IDQtMyA1LjVsLTUuNDkyIDUuMzEzYTIgMiAwIDAgMS0zIC4wMTlMNSAxNWMtMS41LTEuNS0zLTMuMi0zLTUuNSJ9XSxbInBhdGgiLHtkOiJNMy4yMiAxM0g5LjVsLjUtMSAyIDQuNSAyLTcgMS41IDMuNWg1LjI3In1dXX0pO3ZhciB4UyxiTWU9YygoKT0+e3hTPVtbInBhdGgiLHtkOiJNMiA5LjVhNS41IDUuNSAwIDAgMSA5LjU5MS0zLjY3Ni41Ni41NiAwIDAgMCAuODE4IDBBNS40OSA1LjQ5IDAgMCAxIDIyIDkuNWMwIDIuMjktMS41IDQtMyA1LjVsLTUuNDkyIDUuMzEzYTIgMiAwIDAgMS0zIC4wMTlMNSAxNWMtMS41LTEuNS0zLTMuMi0zLTUuNSJ9XV19KTt2YXIgeVMsdk1lPWMoKCk9Pnt5Uz1bWyJwYXRoIix7ZDoiTTExIDhjMi0zLTItMyAwLTYifV0sWyJwYXRoIix7ZDoiTTE1LjUgOGMyLTMtMi0zIDAtNiJ9XSxbInBhdGgiLHtkOiJNNiAxMGguMDEifV0sWyJwYXRoIix7ZDoiTTYgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMCAxNnYtNCJ9XSxbInBhdGgiLHtkOiJNMTQgMTZ2LTQifV0sWyJwYXRoIix7ZDoiTTE4IDE2di00In1dLFsicGF0aCIse2Q6Ik0yMCA2YTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDMifV0sWyJwYXRoIix7ZDoiTTUgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTkgMjB2MiJ9XV19KTt2YXIgd1MseE1lPWMoKCk9Pnt3Uz1bWyJwYXRoIix7ZDoiTTExIDE3djQifV0sWyJwYXRoIix7ZDoiTTE0IDN2OGEyIDIgMCAwIDAgMiAyaDUuODY1In1dLFsicGF0aCIse2Q6Ik0xNyAxN3Y0In1dLFsicGF0aCIse2Q6Ik0xOCAxN2E0IDQgMCAwIDAgNC00IDggNiAwIDAgMC04LTYgNiA1IDAgMCAwLTYgNXYzYTIgMiAwIDAgMCAyIDJ6In1dLFsicGF0aCIse2Q6Ik0yIDEwdjUifV0sWyJwYXRoIix7ZDoiTTYgM2gxNiJ9XSxbInBhdGgiLHtkOiJNNyAyMWgxNCJ9XSxbInBhdGgiLHtkOiJNOCAxM0gyIn1dXX0pO3ZhciBNUyx5TWU9YygoKT0+e01TPVtbInBhdGgiLHtkOiJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6In1dXX0pO3ZhciBrUyx3TWU9YygoKT0+e2tTPVtbInBhdGgiLHtkOiJtOSAxMS02IDZ2M2g5bDMtMyJ9XSxbInBhdGgiLHtkOiJtMjIgMTItNC42IDQuNmEyIDIgMCAwIDEtMi44IDBsLTUuMi01LjJhMiAyIDAgMCAxIDAtMi44TDE0IDQifV1dfSk7dmFyIHpTLE1NZT1jKCgpPT57elM9W1sicGF0aCIse2Q6Ik0zIDEyYTkgOSAwIDEgMCA5LTkgOS43NSA5Ljc1IDAgMCAwLTYuNzQgMi43NEwzIDgifV0sWyJwYXRoIix7ZDoiTTMgM3Y1aDUifV0sWyJwYXRoIix7ZDoiTTEyIDd2NWw0IDIifV1dfSk7dmFyIFNTLGtNZT1jKCgpPT57U1M9W1sicGF0aCIse2Q6Ik0xMC44MiAxNi4xMmMxLjY5LjYgMy45MS43OSA1LjE4Ljg1LjI4LjAxLjUzLS4wOS43LS4yNyJ9XSxbInBhdGgiLHtkOiJNMTEuMTQgMjAuNTdjLjUyLjI0IDIuNDQgMS4xMiA0LjA4IDEuMzcuNDYuMDYuODYtLjI1LjktLjcxLjEyLTEuNTItLjMtMy40My0uNS00LjI4In1dLFsicGF0aCIse2Q6Ik0xNi4xMyAyMS4wNWMxLjY1LjYzIDMuNjguODQgNC44Ny45MWEuOS45IDAgMCAwIC43LS4yNiJ9XSxbInBhdGgiLHtkOiJNMTcuOTkgNS41MmEyMC44MyAyMC44MyAwIDAgMSAzLjE1IDQuNS44LjggMCAwIDEtLjY4IDEuMTNjLTEuMTcuMS0yLjUuMDItMy45LS4yNSJ9XSxbInBhdGgiLHtkOiJNMjAuNTcgMTEuMTRjLjI0LjUyIDEuMTIgMi40NCAxLjM3IDQuMDguMDQuMy0uMDguNTktLjMxLjc1In1dLFsicGF0aCIse2Q6Ik00LjkzIDQuOTNhMTAgMTAgMCAwIDAtLjY3IDEzLjRjLjM1LjQzLjk2LjQgMS4xNy0uMTIuNjktMS43MSAxLjA3LTUuMDcgMS4wNy02LjcxIDEuMzQuNDUgMy4xLjkgNC44OC42MmEuODUuODUgMCAwIDAgLjQ4LS4yNCJ9XSxbInBhdGgiLHtkOiJNNS41MiAxNy45OWMxLjA1Ljk1IDIuOTEgMi40MiA0LjUgMy4xNWEuOC44IDAgMCAwIDEuMTMtLjY4Yy4yLTIuMzQtLjMzLTUuMy0xLjU3LTguMjgifV0sWyJwYXRoIix7ZDoiTTguMzUgMi42OGExMCAxMCAwIDAgMSA5Ljk4IDEuNThjLjQzLjM1LjQuOTYtLjEyIDEuMTctMS41LjYtNC4zLjk4LTYuMDcgMS4wNSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciBDUyx6TWU9YygoKT0+e0NTPVtbInBhdGgiLHtkOiJNMTIgN3Y0In1dLFsicGF0aCIse2Q6Ik0xNCAyMXYtM2EyIDIgMCAwIDAtNCAwdjMifV0sWyJwYXRoIix7ZDoiTTE0IDloLTQifV0sWyJwYXRoIix7ZDoiTTE4IDExaDJhMiAyIDAgMCAxIDIgMnY2YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0ydi05YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTggMjFWNWEyIDIgMCAwIDAtMi0ySDhhMiAyIDAgMCAwLTIgMnYxNiJ9XV19KTt2YXIgX1MsU01lPWMoKCk9PntfUz1bWyJwYXRoIix7ZDoiTTEwLjgyIDE2LjEyYzEuNjkuNiAzLjkxLjc5IDUuMTguODUuNTUuMDMgMS0uNDIuOTctLjk3LS4wNi0xLjI3LS4yNi0zLjUtLjg1LTUuMTgifV0sWyJwYXRoIix7ZDoiTTExLjUgNi41YzEuNjQgMCA1LS4zOCA2LjcxLTEuMDcuNTItLjIuNTUtLjgyLjEyLTEuMTdBMTAgMTAgMCAwIDAgNC4yNiAxOC4zM2MuMzUuNDMuOTYuNCAxLjE3LS4xMi42OS0xLjcxIDEuMDctNS4wNyAxLjA3LTYuNzEgMS4zNC40NSAzLjEuOSA0Ljg4LjYyYS44OC44OCAwIDAgMCAuNzMtLjc0Yy4zLTIuMTQtLjE1LTMuNS0uNjEtNC44OCJ9XSxbInBhdGgiLHtkOiJNMTUuNjIgMTYuOTVjLjIuODUuNjIgMi43Ni41IDQuMjhhLjc3Ljc3IDAgMCAxLS45LjcgMTYuNjQgMTYuNjQgMCAwIDEtNC4wOC0xLjM2In1dLFsicGF0aCIse2Q6Ik0xNi4xMyAyMS4wNWMxLjY1LjYzIDMuNjguODQgNC44Ny45MWEuOS45IDAgMCAwIC45Ni0uOTYgMTcuNjggMTcuNjggMCAwIDAtLjktNC44NyJ9XSxbInBhdGgiLHtkOiJNMTYuOTQgMTUuNjJjLjg2LjIgMi43Ny42MiA0LjI5LjVhLjc3Ljc3IDAgMCAwIC43LS45IDE2LjY0IDE2LjY0IDAgMCAwLTEuMzYtNC4wOCJ9XSxbInBhdGgiLHtkOiJNMTcuOTkgNS41MmEyMC44MiAyMC44MiAwIDAgMSAzLjE1IDQuNS44LjggMCAwIDEtLjY4IDEuMTNjLTIuMzMuMi01LjMtLjMyLTguMjctMS41NyJ9XSxbInBhdGgiLHtkOiJNNC45MyA0LjkzIDMgM2EuNy43IDAgMCAxIDAtMSJ9XSxbInBhdGgiLHtkOiJNOS41OCAxMi4xOGMxLjI0IDIuOTggMS43NyA1Ljk1IDEuNTcgOC4yOGEuOC44IDAgMCAxLTEuMTMuNjggMjAuODIgMjAuODIgMCAwIDEtNC41LTMuMTUifV1dfSk7dmFyIFRTLENNZT1jKCgpPT57VFM9W1sicGF0aCIse2Q6Ik0xMCAyMnYtNi41NyJ9XSxbInBhdGgiLHtkOiJNMTIgMTFoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiA3aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTQgMTUuNDNWMjIifV0sWyJwYXRoIix7ZDoiTTE1IDE2YTUgNSAwIDAgMC02IDAifV0sWyJwYXRoIix7ZDoiTTE2IDExaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgN2guMDEifV0sWyJwYXRoIix7ZDoiTTggMTFoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDdoLjAxIn1dLFsicmVjdCIse3g6IjQiLHk6IjIiLHdpZHRoOiIxNiIsaGVpZ2h0OiIyMCIscng6IjIifV1dfSk7dmFyIExTLF9NZT1jKCgpPT57TFM9W1sicGF0aCIse2Q6Ik01IDIyaDE0In1dLFsicGF0aCIse2Q6Ik01IDJoMTQifV0sWyJwYXRoIix7ZDoiTTE3IDIydi00LjE3MmEyIDIgMCAwIDAtLjU4Ni0xLjQxNEwxMiAxMmwtNC40MTQgNC40MTRBMiAyIDAgMCAwIDcgMTcuODI4VjIyIn1dLFsicGF0aCIse2Q6Ik03IDJ2NC4xNzJhMiAyIDAgMCAwIC41ODYgMS40MTRMMTIgMTJsNC40MTQtNC40MTRBMiAyIDAgMCAwIDE3IDYuMTcyVjIifV1dfSk7dmFyICRTLFRNZT1jKCgpPT57JFM9W1sicGF0aCIse2Q6Ik04LjYyIDEzLjhBMi4yNSAyLjI1IDAgMSAxIDEyIDEwLjgzNmEyLjI1IDIuMjUgMCAxIDEgMy4zOCAyLjk2NmwtMi42MjYgMi44NTZhLjk5OC45OTggMCAwIDEtMS41MDcgMHoifV0sWyJwYXRoIix7ZDoiTTMgMTBhMiAyIDAgMCAxIC43MDktMS41MjhsNy02YTIgMiAwIDAgMSAyLjU4MiAwbDcgNkEyIDIgMCAwIDEgMjEgMTB2OWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnoifV1dfSk7dmFyIERTLExNZT1jKCgpPT57RFM9W1sicGF0aCIse2Q6Ik0xMi4zNSAyMUg1YTIgMiAwIDAgMS0yLTJ2LTlhMiAyIDAgMCAxIC43MS0xLjUzbDctNmEyIDIgMCAwIDEgMi41OCAwbDcgNkEyIDIgMCAwIDEgMjEgMTB2Mi4zNSJ9XSxbInBhdGgiLHtkOiJNMTQuOCAxMi40QTEgMSAwIDAgMCAxNCAxMmgtNGExIDEgMCAwIDAtMSAxdjgifV0sWyJwYXRoIix7ZDoiTTE1IDE4aDYifV0sWyJwYXRoIix7ZDoiTTE4IDE1djYifV1dfSk7dmFyIEFTLCRNZT1jKCgpPT57QVM9W1sicGF0aCIse2Q6Ik0xMCAxMlY4Ljk2NCJ9XSxbInBhdGgiLHtkOiJNMTQgMTJWOC45NjQifV0sWyJwYXRoIix7ZDoiTTE1IDEyYTEgMSAwIDAgMSAxIDF2MmEyIDIgMCAwIDEtMiAyaC00YTIgMiAwIDAgMS0yLTJ2LTJhMSAxIDAgMCAxIDEtMXoifV0sWyJwYXRoIix7ZDoiTTguNSAyMUg1YTIgMiAwIDAgMS0yLTJ2LTlhMiAyIDAgMCAxIC43MDktMS41MjhsNy02YTIgMiAwIDAgMSAyLjU4MiAwbDcgNkEyIDIgMCAwIDEgMjEgMTB2OWEyIDIgMCAwIDEtMiAyaC01YTIgMiAwIDAgMS0yLTJ2LTIifV1dfSk7dmFyIFBTLERNZT1jKCgpPT57UFM9W1sicGF0aCIse2Q6Ik05LjUgMTMuODY2YTQgNCAwIDAgMSA1IC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTdoLjAxIn1dLFsicGF0aCIse2Q6Ik0zIDEwYTIgMiAwIDAgMSAuNzA5LTEuNTI4bDctNmEyIDIgMCAwIDEgMi41ODIgMGw3IDZBMiAyIDAgMCAxIDIxIDEwdjlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6In1dLFsicGF0aCIse2Q6Ik03IDEwLjc1NGE4IDggMCAwIDEgMTAgMCJ9XV19KTt2YXIgVzQsQU1lPWMoKCk9PntXND1bWyJwYXRoIix7ZDoiTTEyIDE3YzUgMCA4LTIuNjkgOC02SDRjMCAzLjMxIDMgNiA4IDZtLTQgNGg4bS00LTN2M001LjE0IDExYTMuNSAzLjUgMCAxIDEgNi43MSAwIn1dLFsicGF0aCIse2Q6Ik0xMi4xNCAxMWEzLjUgMy41IDAgMSAxIDYuNzEgMCJ9XSxbInBhdGgiLHtkOiJNMTUuNSA2LjVhMy41IDMuNSAwIDEgMC03IDAifV1dfSk7dmFyIEc0LFBNZT1jKCgpPT57RzQ9W1sicGF0aCIse2Q6Ik0xNSAyMXYtOGExIDEgMCAwIDAtMS0xaC00YTEgMSAwIDAgMC0xIDF2OCJ9XSxbInBhdGgiLHtkOiJNMyAxMGEyIDIgMCAwIDEgLjcwOS0xLjUyOGw3LTZhMiAyIDAgMCAxIDIuNTgyIDBsNyA2QTIgMiAwIDAgMSAyMSAxMHY5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yeiJ9XV19KTt2YXIgWTQsRU1lPWMoKCk9PntZND1bWyJwYXRoIix7ZDoibTcgMTEgNC4wOCAxMC4zNWExIDEgMCAwIDAgMS44NCAwTDE3IDExIn1dLFsicGF0aCIse2Q6Ik0xNyA3QTUgNSAwIDAgMCA3IDcifV0sWyJwYXRoIix7ZDoiTTE3IDdhMiAyIDAgMCAxIDAgNEg3YTIgMiAwIDAgMSAwLTQifV1dfSk7dmFyIEVTLElNZT1jKCgpPT57RVM9W1sicGF0aCIse2Q6Ik0xNiAxMGgyIn1dLFsicGF0aCIse2Q6Ik0xNiAxNGgyIn1dLFsicGF0aCIse2Q6Ik02LjE3IDE1YTMgMyAwIDAgMSA1LjY2IDAifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjExIixyOiIyIn1dLFsicmVjdCIse3g6IjIiLHk6IjUiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNCIscng6IjIifV1dfSk7dmFyIElTLE5NZT1jKCgpPT57SVM9W1sicGF0aCIse2Q6Ik0xMy41IDhoLTMifV0sWyJwYXRoIix7ZDoibTE1IDItMSAyaDNhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMyJ9XSxbInBhdGgiLHtkOiJNMTYuODk5IDIyQTUgNSAwIDAgMCA3LjEgMjIifV0sWyJwYXRoIix7ZDoibTkgMiAzIDYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNSIscjoiMyJ9XV19KTt2YXIgTlMsUk1lPWMoKCk9PntOUz1bWyJwYXRoIix7ZDoiTTEwLjMgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjEwbC0zLjEtMy4xYTIgMiAwIDAgMC0yLjgxNC4wMTRMNiAyMSJ9XSxbInBhdGgiLHtkOiJtMTQgMTkgMyAzdi01LjUifV0sWyJwYXRoIix7ZDoibTE3IDIyIDMtMyJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiOSIscjoiMiJ9XV19KTt2YXIgUlMsRk1lPWMoKCk9PntSUz1bWyJwYXRoIix7ZDoiTTIxIDl2MTBhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDcifV0sWyJsaW5lIix7eDE6IjE2Iix4MjoiMjIiLHkxOiI1Iix5MjoiNSJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiOSIscjoiMiJ9XSxbInBhdGgiLHtkOiJtMjEgMTUtMy4wODYtMy4wODZhMiAyIDAgMCAwLTIuODI4IDBMNiAyMSJ9XV19KTt2YXIgRlMsT01lPWMoKCk9PntGUz1bWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XSxbInBhdGgiLHtkOiJNMTAuNDEgMTAuNDFhMiAyIDAgMSAxLTIuODMtMi44MyJ9XSxbImxpbmUiLHt4MToiMTMuNSIseDI6IjYiLHkxOiIxMy41Iix5MjoiMjEifV0sWyJsaW5lIix7eDE6IjE4Iix4MjoiMjEiLHkxOiIxMiIseTI6IjE1In1dLFsicGF0aCIse2Q6Ik0zLjU5IDMuNTlBMS45OSAxLjk5IDAgMCAwIDMgNXYxNGEyIDIgMCAwIDAgMiAyaDE0Yy41NSAwIDEuMDUyLS4yMiAxLjQxLS41OSJ9XSxbInBhdGgiLHtkOiJNMjEgMTVWNWEyIDIgMCAwIDAtMi0ySDkifV1dfSk7dmFyIE9TLEJNZT1jKCgpPT57T1M9W1sicGF0aCIse2Q6Ik0xNSAxNS4wMDNhMSAxIDAgMCAxIDEuNTE3LS44NTlsNC45OTcgMi45OTdhMSAxIDAgMCAxIDAgMS43MThsLTQuOTk3IDIuOTk3YTEgMSAwIDAgMS0xLjUxNy0uODZ6In1dLFsicGF0aCIse2Q6Ik0yMSAxMi4xN1Y1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoNiJ9XSxbInBhdGgiLHtkOiJtNiAyMSA1LTUifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjIifV1dfSk7dmFyIEJTLEhNZT1jKCgpPT57QlM9W1sicGF0aCIse2Q6Ik0xNiA1aDYifV0sWyJwYXRoIix7ZDoiTTE5IDJ2NiJ9XSxbInBhdGgiLHtkOiJNMjEgMTEuNVYxOWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNy41In1dLFsicGF0aCIse2Q6Im0yMSAxNS0zLjA4Ni0zLjA4NmEyIDIgMCAwIDAtMi44MjggMEw2IDIxIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI5IixyOiIyIn1dXX0pO3ZhciBIUyxxTWU9YygoKT0+e0hTPVtbInBhdGgiLHtkOiJNMTAuMyAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2MTBsLTMuMS0zLjFhMiAyIDAgMCAwLTIuODE0LjAxNEw2IDIxIn1dLFsicGF0aCIse2Q6Im0xNCAxOS41IDMtMyAzIDMifV0sWyJwYXRoIix7ZDoiTTE3IDIydi01LjUifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjIifV1dfSk7dmFyIHFTLFZNZT1jKCgpPT57cVM9W1sicGF0aCIse2Q6Ik0xNiAzaDV2NSJ9XSxbInBhdGgiLHtkOiJNMTcgMjFoMmEyIDIgMCAwIDAgMi0yIn1dLFsicGF0aCIse2Q6Ik0yMSAxMnYzIn1dLFsicGF0aCIse2Q6Im0yMSAzLTUgNSJ9XSxbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMiJ9XSxbInBhdGgiLHtkOiJtNSAyMSA0LjE0NC00LjE0NGExLjIxIDEuMjEgMCAwIDEgMS43MTIgMEwxMyAxOSJ9XSxbInBhdGgiLHtkOiJNOSAzaDMifV0sWyJyZWN0Iix7eDoiMyIseToiMTEiLHdpZHRoOiIxMCIsaGVpZ2h0OiIxMCIscng6IjEifV1dfSk7dmFyIFZTLGpNZT1jKCgpPT57VlM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI5IixyOiIyIn1dLFsicGF0aCIse2Q6Im0yMSAxNS0zLjA4Ni0zLjA4NmEyIDIgMCAwIDAtMi44MjggMEw2IDIxIn1dXX0pO3ZhciBqUyxVTWU9YygoKT0+e2pTPVtbInBhdGgiLHtkOiJtMjIgMTEtMS4yOTYtMS4yOTZhMi40IDIuNCAwIDAgMC0zLjQwOCAwTDExIDE2In1dLFsicGF0aCIse2Q6Ik00IDhhMiAyIDAgMCAwLTIgMnYxMGEyIDIgMCAwIDAgMiAyaDEwYTIgMiAwIDAgMCAyLTIifV0sWyJjaXJjbGUiLHtjeDoiMTMiLGN5OiI3IixyOiIxIixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJyZWN0Iix7eDoiOCIseToiMiIsd2lkdGg6IjE0IixoZWlnaHQ6IjE0IixyeDoiMiJ9XV19KTt2YXIgVVMsV01lPWMoKCk9PntVUz1bWyJwYXRoIix7ZDoiTTEyIDN2MTIifV0sWyJwYXRoIix7ZDoibTggMTEgNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNOCA1SDRhMiAyIDAgMCAwLTIgMnYxMGEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDAtMi0yaC00In1dXX0pO3ZhciBXUyxHTWU9YygoKT0+e1dTPVtbInBvbHlsaW5lIix7cG9pbnRzOiIyMiAxMiAxNiAxMiAxNCAxNSAxMCAxNSA4IDEyIDIgMTIifV0sWyJwYXRoIix7ZDoiTTUuNDUgNS4xMSAyIDEydjZhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi02bC0zLjQ1LTYuODlBMiAyIDAgMCAwIDE2Ljc2IDRINy4yNGEyIDIgMCAwIDAtMS43OSAxLjExeiJ9XV19KTt2YXIgR1MsWU1lPWMoKCk9PntHUz1bWyJwYXRoIix7ZDoiTTYgMTZjNSAwIDctOCAxMi04YTQgNCAwIDAgMSAwIDhjLTUgMC03LTgtMTItOGE0IDQgMCAxIDAgMCA4In1dXX0pO3ZhciBZUyxaTWU9YygoKT0+e1lTPVtbInBhdGgiLHtkOiJNNiAzaDEyIn1dLFsicGF0aCIse2Q6Ik02IDhoMTIifV0sWyJwYXRoIix7ZDoibTYgMTMgOC41IDgifV0sWyJwYXRoIix7ZDoiTTYgMTNoMyJ9XSxbInBhdGgiLHtkOiJNOSAxM2M2LjY2NyAwIDYuNjY3LTEwIDAtMTAifV1dfSk7dmFyIFpTLFhNZT1jKCgpPT57WlM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiAxNnYtNCJ9XSxbInBhdGgiLHtkOiJNMTIgOGguMDEifV1dfSk7dmFyIFhTLEtNZT1jKCgpPT57WFM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgN2guMDEifV0sWyJwYXRoIix7ZDoiTTE3IDdoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDE3aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcgMTdoLjAxIn1dXX0pO3ZhciBLUyxRTWU9YygoKT0+e0tTPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMjAiLHg6IjIiLHk6IjIiLHJ4OiI1IixyeToiNSJ9XSxbInBhdGgiLHtkOiJNMTYgMTEuMzdBNCA0IDAgMSAxIDEyLjYzIDggNCA0IDAgMCAxIDE2IDExLjM3eiJ9XSxbImxpbmUiLHt4MToiMTcuNSIseDI6IjE3LjUxIix5MToiNi41Iix5MjoiNi41In1dXX0pO3ZhciBRUyxKTWU9YygoKT0+e1FTPVtbImxpbmUiLHt4MToiMTkiLHgyOiIxMCIseTE6IjQiLHkyOiI0In1dLFsibGluZSIse3gxOiIxNCIseDI6IjUiLHkxOiIyMCIseTI6IjIwIn1dLFsibGluZSIse3gxOiIxNSIseDI6IjkiLHkxOiI0Iix5MjoiMjAifV1dfSk7dmFyIEpTLGVrZT1jKCgpPT57SlM9W1sicGF0aCIse2Q6Ik00IDEwYTggOCAwIDEgMSA4IDhINCJ9XSxbInBhdGgiLHtkOiJtOCAyMi00LTQgNC00In1dXX0pO3ZhciBlQyx0a2U9YygoKT0+e2VDPVtbInBhdGgiLHtkOiJtMTYgMTQgNCA0LTQgNCJ9XSxbInBhdGgiLHtkOiJNMjAgMTBhOCA4IDAgMSAwLTggOGg4In1dXX0pO3ZhciB0Qyxha2U9YygoKT0+e3RDPVtbInBhdGgiLHtkOiJNMjEgMTdhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MmEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ2LTJaIn1dLFsicGF0aCIse2Q6Ik02IDE1di0yIn1dLFsicGF0aCIse2Q6Ik0xMiAxNVY5In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNiIscjoiMyJ9XV19KTt2YXIgYUMscmtlPWMoKCk9PnthQz1bWyJwYXRoIix7ZDoiTTEyIDkuNVYyMW0wLTExLjVMNiAzbTYgNi41TDE4IDMifV0sWyJwYXRoIix7ZDoiTTYgMTVoMTIifV0sWyJwYXRoIix7ZDoiTTYgMTFoMTIifV1dfSk7dmFyIHJDLGlrZT1jKCgpPT57ckM9W1sicGF0aCIse2Q6Ik01IDN2MTQifV0sWyJwYXRoIix7ZDoiTTEyIDN2OCJ9XSxbInBhdGgiLHtkOiJNMTkgM3YxOCJ9XV19KTt2YXIgaUMsc2tlPWMoKCk9PntpQz1bWyJwYXRoIix7ZDoiTTE4IDE3YTEgMSAwIDAgMC0xIDF2MWEyIDIgMCAxIDAgMi0yeiJ9XSxbInBhdGgiLHtkOiJNMjAuOTcgMy42MWEuNDUuNDUgMCAwIDAtLjU4LS41OEMxMC4yIDYuNiA2LjYgMTAuMiAzLjAzIDIwLjM5YS40NS40NSAwIDAgMCAuNTguNThDMTMuOCAxNy40IDE3LjQgMTMuOCAyMC45NyAzLjYxIn1dLFsicGF0aCIse2Q6Im02LjcwNyA2LjcwNyAxMC41ODYgMTAuNTg2In1dLFsicGF0aCIse2Q6Ik03IDVhMiAyIDAgMSAwLTIgMmgxYTEgMSAwIDAgMCAxLTF6In1dXX0pO3ZhciBzQyxva2U9YygoKT0+e3NDPVtbInBhdGgiLHtkOiJNMTIuNCAyLjdhMi41IDIuNSAwIDAgMSAzLjQgMGw1LjUgNS41YTIuNSAyLjUgMCAwIDEgMCAzLjRsLTMuNyAzLjdhMi41IDIuNSAwIDAgMS0zLjQgMEw4LjcgOS44YTIuNSAyLjUgMCAwIDEgMC0zLjR6In1dLFsicGF0aCIse2Q6Im0xNCA3IDMgMyJ9XSxbInBhdGgiLHtkOiJtOS40IDEwLjYtNi44MTQgNi44MTRBMiAyIDAgMCAwIDIgMTguODI4VjIxYTEgMSAwIDAgMCAxIDFoM2ExIDEgMCAwIDAgMS0xdi0xYTEgMSAwIDAgMSAxLTFoMWExIDEgMCAwIDAgMS0xdi0xYTEgMSAwIDAgMSAxLTFoLjE3MmEyIDIgMCAwIDAgMS40MTQtLjU4NmwuODE0LS44MTQifV1dfSk7dmFyIG9DLG5rZT1jKCgpPT57b0M9W1sicGF0aCIse2Q6Ik0yLjU4NiAxNy40MTRBMiAyIDAgMCAwIDIgMTguODI4VjIxYTEgMSAwIDAgMCAxIDFoM2ExIDEgMCAwIDAgMS0xdi0xYTEgMSAwIDAgMSAxLTFoMWExIDEgMCAwIDAgMS0xdi0xYTEgMSAwIDAgMSAxLTFoLjE3MmEyIDIgMCAwIDAgMS40MTQtLjU4NmwuODE0LS44MTRhNi41IDYuNSAwIDEgMC00LTR6In1dLFsiY2lyY2xlIix7Y3g6IjE2LjUiLGN5OiI3LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV1dfSk7dmFyIG5DLGxrZT1jKCgpPT57bkM9W1sicGF0aCIse2Q6Im0xNS41IDcuNSAyLjMgMi4zYTEgMSAwIDAgMCAxLjQgMGwyLjEtMi4xYTEgMSAwIDAgMCAwLTEuNEwxOSA0In1dLFsicGF0aCIse2Q6Im0yMSAyLTkuNiA5LjYifV0sWyJjaXJjbGUiLHtjeDoiNy41IixjeToiMTUuNSIscjoiNS41In1dXX0pO3ZhciBsQyxja2U9YygoKT0+e2xDPVtbInBhdGgiLHtkOiJNIDIwIDQgQTIgMiAwIDAgMSAyMiA2In1dLFsicGF0aCIse2Q6Ik0gMjIgNiBMIDIyIDE2LjQxIn1dLFsicGF0aCIse2Q6Ik0gNyAxNiBMIDE2IDE2In1dLFsicGF0aCIse2Q6Ik0gOS42OSA0IEwgMjAgNCJ9XSxbInBhdGgiLHtkOiJNMTQgOGguMDEifV0sWyJwYXRoIix7ZDoiTTE4IDhoLjAxIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIwIDIwSDRhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTIifV0sWyJwYXRoIix7ZDoiTTYgOGguMDEifV0sWyJwYXRoIix7ZDoiTTggMTJoLjAxIn1dXX0pO3ZhciBjQyxka2U9YygoKT0+e2NDPVtbInBhdGgiLHtkOiJNMTAgOGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTQgOGguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggOGguMDEifV0sWyJwYXRoIix7ZDoiTTYgOGguMDEifV0sWyJwYXRoIix7ZDoiTTcgMTZoMTAifV0sWyJwYXRoIix7ZDoiTTggMTJoLjAxIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIifV1dfSk7dmFyIGRDLHBrZT1jKCgpPT57ZEM9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTYgOGg0In1dLFsicGF0aCIse2Q6Ik0xNCA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggOGguMDEifV0sWyJwYXRoIix7ZDoiTTIgMTJoMjAifV0sWyJwYXRoIix7ZDoiTTYgMTJ2NCJ9XSxbInBhdGgiLHtkOiJNMTAgMTJ2NCJ9XSxbInBhdGgiLHtkOiJNMTQgMTJ2NCJ9XSxbInBhdGgiLHtkOiJNMTggMTJ2NCJ9XV19KTt2YXIgcEMsdWtlPWMoKCk9PntwQz1bWyJwYXRoIix7ZDoiTTEyIDJ2NSJ9XSxbInBhdGgiLHtkOiJNMTQuODI5IDE1Ljk5OGEzIDMgMCAxIDEtNS42NTggMCJ9XSxbInBhdGgiLHtkOiJNMjAuOTIgMTQuNjA2QTEgMSAwIDAgMSAyMCAxNkg0YTEgMSAwIDAgMS0uOTItMS4zOTRsMy03QTEgMSAwIDAgMSA3IDdoMTBhMSAxIDAgMCAxIC45Mi42MDZ6In1dXX0pO3ZhciB1Qyxma2U9YygoKT0+e3VDPVtbInBhdGgiLHtkOiJNMTAuMjkzIDIuMjkzYTEgMSAwIDAgMSAxLjQxNCAwbDIuNSAyLjUgNS45OTQgMS4yMjdhMSAxIDAgMCAxIC41MDYgMS42ODdsLTcgN2ExIDEgMCAwIDEtMS42ODctLjUwNmwtMS4yMjctNS45OTQtMi41LTIuNWExIDEgMCAwIDEgMC0xLjQxNHoifV0sWyJwYXRoIix7ZDoibTE0LjIwNyA0Ljc5My0zLjQxNCAzLjQxNCJ9XSxbInBhdGgiLHtkOiJNMyAyMGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYxYTEgMSAwIDAgMS0xIDFINGExIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJtOS4wODYgNi41LTQuNzkzIDQuNzkzYTEgMSAwIDAgMC0uMTggMS4xN0w3IDE4In1dXX0pO3ZhciBmQyxoa2U9YygoKT0+e2ZDPVtbInBhdGgiLHtkOiJNMTIgMTB2MTIifV0sWyJwYXRoIix7ZDoiTTE3LjkyOSA3LjYyOUExIDEgMCAwIDEgMTcgOUg3YTEgMSAwIDAgMS0uOTI4LTEuMzcxbDItNUExIDEgMCAwIDEgOSAyaDZhMSAxIDAgMCAxIC45MjguNjI5eiJ9XSxbInBhdGgiLHtkOiJNOSAyMmg2In1dXX0pO3ZhciBoQyxta2U9YygoKT0+e2hDPVtbInBhdGgiLHtkOiJNMTkuOTI5IDE4LjYyOUExIDEgMCAwIDEgMTkgMjBIOWExIDEgMCAwIDEtLjkyOC0xLjM3MWwyLTVBMSAxIDAgMCAxIDExIDEzaDZhMSAxIDAgMCAxIC45MjguNjI5eiJ9XSxbInBhdGgiLHtkOiJNNiAzYTIgMiAwIDAgMSAyIDJ2MmEyIDIgMCAwIDEtMiAySDVhMSAxIDAgMCAxLTEtMVY0YTEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik04IDZoNGEyIDIgMCAwIDEgMiAydjUifV1dfSk7dmFyIG1DLGdrZT1jKCgpPT57bUM9W1sicGF0aCIse2Q6Ik0xOS45MjkgOS42MjlBMSAxIDAgMCAxIDE5IDExSDlhMSAxIDAgMCAxLS45MjgtMS4zNzFsMi01QTEgMSAwIDAgMSAxMSA0aDZhMSAxIDAgMCAxIC45MjguNjI5eiJ9XSxbInBhdGgiLHtkOiJNNiAxNWEyIDIgMCAwIDEgMiAydjJhMiAyIDAgMCAxLTIgMkg1YTEgMSAwIDAgMS0xLTF2LTRhMSAxIDAgMCAxIDEtMXoifV0sWyJwYXRoIix7ZDoiTTggMThoNGEyIDIgMCAwIDAgMi0ydi01In1dXX0pO3ZhciBnQyxia2U9YygoKT0+e2dDPVtbInBhdGgiLHtkOiJtMTIgOCA2LTMtNi0zdjEwIn1dLFsicGF0aCIse2Q6Im04IDExLjk5LTUuNSAzLjE0YTEgMSAwIDAgMCAwIDEuNzRsOC41IDQuODZhMiAyIDAgMCAwIDIgMGw4LjUtNC44NmExIDEgMCAwIDAgMC0xLjc0TDE2IDEyIn1dLFsicGF0aCIse2Q6Im02LjQ5IDEyLjg1IDExLjAyIDYuMyJ9XSxbInBhdGgiLHtkOiJNMTcuNTEgMTIuODUgNi41IDE5LjE1In1dXX0pO3ZhciBiQyx2a2U9YygoKT0+e2JDPVtbInBhdGgiLHtkOiJNMTIgMTJ2NiJ9XSxbInBhdGgiLHtkOiJNNC4wNzcgMTAuNjE1QTEgMSAwIDAgMCA1IDEyaDE0YTEgMSAwIDAgMCAuOTIzLTEuMzg1bC0zLjA3Ny03LjM4NEEyIDIgMCAwIDAgMTUgMkg5YTIgMiAwIDAgMC0xLjg0NiAxLjIzWiJ9XSxbInBhdGgiLHtkOiJNOCAyMGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYxYTEgMSAwIDAgMS0xIDFIOWExIDEgMCAwIDEtMS0xeiJ9XV19KTt2YXIgdkMseGtlPWMoKCk9Pnt2Qz1bWyJwYXRoIix7ZDoiTTEwIDE4di03In1dLFsicGF0aCIse2Q6Ik0xMS4xMiAyLjE5OGEyIDIgMCAwIDEgMS43Ni4wMDZsNy44NjYgMy44NDdjLjQ3Ni4yMzMuMzEuOTQ5LS4yMi45NDlIMy40NzRjLS41MyAwLS42OTUtLjcxNi0uMjItLjk0OXoifV0sWyJwYXRoIix7ZDoiTTE0IDE4di03In1dLFsicGF0aCIse2Q6Ik0xOCAxOHYtNyJ9XSxbInBhdGgiLHtkOiJNMyAyMmgxOCJ9XSxbInBhdGgiLHtkOiJNNiAxOHYtNyJ9XV19KTt2YXIgeEMseWtlPWMoKCk9Pnt4Qz1bWyJwYXRoIix7ZDoibTUgOCA2IDYifV0sWyJwYXRoIix7ZDoibTQgMTQgNi02IDItMyJ9XSxbInBhdGgiLHtkOiJNMiA1aDEyIn1dLFsicGF0aCIse2Q6Ik03IDJoMSJ9XSxbInBhdGgiLHtkOiJtMjIgMjItNS0xMC01IDEwIn1dLFsicGF0aCIse2Q6Ik0xNCAxOGg2In1dXX0pO3ZhciB5Qyx3a2U9YygoKT0+e3lDPVtbInBhdGgiLHtkOiJNMiAyMGgyMCJ9XSxbInBhdGgiLHtkOiJtOSAxMCAyIDIgNC00In1dLFsicmVjdCIse3g6IjMiLHk6IjQiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxMiIscng6IjIifV1dfSk7dmFyIFo0LE1rZT1jKCgpPT57WjQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxMiIseDoiMyIseToiNCIscng6IjIiLHJ5OiIyIn1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyMCIseTI6IjIwIn1dXX0pO3ZhciB3Qyxra2U9YygoKT0+e3dDPVtbInBhdGgiLHtkOiJNMTggNWEyIDIgMCAwIDEgMiAydjguNTI2YTIgMiAwIDAgMCAuMjEyLjg5N2wxLjA2OCAyLjEyN2ExIDEgMCAwIDEtLjkgMS40NUgzLjYyYTEgMSAwIDAgMS0uOS0xLjQ1bDEuMDY4LTIuMTI3QTIgMiAwIDAgMCA0IDE1LjUyNlY3YTIgMiAwIDAgMSAyLTJ6In1dLFsicGF0aCIse2Q6Ik0yMC4wNTQgMTUuOTg3SDMuOTQ2In1dXX0pO3ZhciBNQyx6a2U9YygoKT0+e01DPVtbInBhdGgiLHtkOiJNNyAyMmE1IDUgMCAwIDEtMi00In1dLFsicGF0aCIse2Q6Ik03IDE2LjkzYy45Ni40MyAxLjk2Ljc0IDIuOTkuOTEifV0sWyJwYXRoIix7ZDoiTTMuMzQgMTRBNi44IDYuOCAwIDAgMSAyIDEwYzAtNC40MiA0LjQ4LTggMTAtOHMxMCAzLjU4IDEwIDhhNy4xOSA3LjE5IDAgMCAxLS4zMyAyIn1dLFsicGF0aCIse2Q6Ik01IDE4YTIgMiAwIDEgMCAwLTQgMiAyIDAgMCAwIDAgNHoifV0sWyJwYXRoIix7ZDoiTTE0LjMzIDIyaC0uMDlhLjM1LjM1IDAgMCAxLS4yNC0uMzJ2LTEwYS4zNC4zNCAwIDAgMSAuMzMtLjM0Yy4wOCAwIC4xNS4wMy4yMS4wOGw3LjM0IDZhLjMzLjMzIDAgMCAxLS4yMS41OWgtNC40OWwtMi41NyAzLjg1YS4zNS4zNSAwIDAgMS0uMjguMTR6In1dXX0pO3ZhciBrQyxTa2U9YygoKT0+e2tDPVtbInBhdGgiLHtkOiJNMy43MDQgMTQuNDY3YTEwIDggMCAxIDEgMy4xMTUgMi4zNzUifV0sWyJwYXRoIix7ZDoiTTcgMjJhNSA1IDAgMCAxLTItMy45OTQifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE2IixyOiIyIn1dXX0pO3ZhciB6QyxDa2U9YygoKT0+e3pDPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTggMTNhNiA2IDAgMCAxLTYgNSA2IDYgMCAwIDEtNi01aDEyWiJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkuMDEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNS4wMSIseTE6IjkiLHkyOiI5In1dXX0pO3ZhciBTQyxfa2U9YygoKT0+e1NDPVtbInBhdGgiLHtkOiJNMTMgMTMuNzRhMiAyIDAgMCAxLTIgMEwyLjUgOC44N2ExIDEgMCAwIDEgMC0xLjc0TDExIDIuMjZhMiAyIDAgMCAxIDIgMGw4LjUgNC44N2ExIDEgMCAwIDEgMCAxLjc0eiJ9XSxbInBhdGgiLHtkOiJtMjAgMTQuMjg1IDEuNS44NDVhMSAxIDAgMCAxIDAgMS43NEwxMyAyMS43NGEyIDIgMCAwIDEtMiAwbC04LjUtNC44N2ExIDEgMCAwIDEgMC0xLjc0bDEuNS0uODQ1In1dXX0pO3ZhciBDQyxUa2U9YygoKT0+e0NDPVtbInBhdGgiLHtkOiJNMTIuODMgMi4xOGEyIDIgMCAwIDAtMS42NiAwTDIuNiA2LjA4YTEgMSAwIDAgMCAwIDEuODNsOC41OCAzLjkxYTIgMiAwIDAgMCAuODMuMTggMiAyIDAgMCAwIC44My0uMThsOC41OC0zLjlhMSAxIDAgMCAwIDAtMS44MzF6In1dLFsicGF0aCIse2Q6Ik0xNiAxN2g2In1dLFsicGF0aCIse2Q6Ik0xOSAxNHY2In1dLFsicGF0aCIse2Q6Ik0yIDEyYTEgMSAwIDAgMCAuNTguOTFsOC42IDMuOTFhMiAyIDAgMCAwIC44MjUuMTc4In1dLFsicGF0aCIse2Q6Ik0yIDE3YTEgMSAwIDAgMCAuNTguOTFsOC42IDMuOTFhMiAyIDAgMCAwIDEuNjUgMGwyLjExNi0uOTYyIn1dXX0pO3ZhciBYNCxMa2U9YygoKT0+e1g0PVtbInBhdGgiLHtkOiJNMTIuODMgMi4xOGEyIDIgMCAwIDAtMS42NiAwTDIuNiA2LjA4YTEgMSAwIDAgMCAwIDEuODNsOC41OCAzLjkxYTIgMiAwIDAgMCAxLjY2IDBsOC41OC0zLjlhMSAxIDAgMCAwIDAtMS44M3oifV0sWyJwYXRoIix7ZDoiTTIgMTJhMSAxIDAgMCAwIC41OC45MWw4LjYgMy45MWEyIDIgMCAwIDAgMS42NSAwbDguNTgtMy45QTEgMSAwIDAgMCAyMiAxMiJ9XSxbInBhdGgiLHtkOiJNMiAxN2ExIDEgMCAwIDAgLjU4LjkxbDguNiAzLjkxYTIgMiAwIDAgMCAxLjY1IDBsOC41OC0zLjlBMSAxIDAgMCAwIDIyIDE3In1dXX0pO3ZhciBfQywka2U9YygoKT0+e19DPVtbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIxNCIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMTQiLHk6IjE0IixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIzIix5OiIxNCIscng6IjEifV1dfSk7dmFyIFRDLERrZT1jKCgpPT57VEM9W1sicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjkiLHg6IjMiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjUiLHg6IjE0Iix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI5Iix4OiIxNCIseToiMTIiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjUiLHg6IjMiLHk6IjE2IixyeDoiMSJ9XV19KTt2YXIgTEMsQWtlPWMoKCk9PntMQz1bWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMyIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMyIseToiMTQiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0xNCA0aDcifV0sWyJwYXRoIix7ZDoiTTE0IDloNyJ9XSxbInBhdGgiLHtkOiJNMTQgMTVoNyJ9XSxbInBhdGgiLHtkOiJNMTQgMjBoNyJ9XV19KTt2YXIgJEMsUGtlPWMoKCk9PnskQz1bWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjE0Iix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIxNCIseToiMTQiLHJ4OiIxIn1dXX0pO3ZhciBEQyxFa2U9YygoKT0+e0RDPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiNyIseDoiMyIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMyIseToiMTQiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjE0Iix5OiIxNCIscng6IjEifV1dfSk7dmFyIEFDLElrZT1jKCgpPT57QUM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiI3Iix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiOSIsaGVpZ2h0OiI3Iix4OiIzIix5OiIxNCIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjUiLGhlaWdodDoiNyIseDoiMTYiLHk6IjE0IixyeDoiMSJ9XV19KTt2YXIgUEMsTmtlPWMoKCk9PntQQz1bWyJwYXRoIix7ZDoiTTIgMjJjMS4yNS0uOTg3IDIuMjctMS45NzUgMy45LTIuMmE1LjU2IDUuNTYgMCAwIDEgMy44IDEuNSA0IDQgMCAwIDAgNi4xODctMi4zNTMgMy41IDMuNSAwIDAgMCAzLjY5LTUuMTE2QTMuNSAzLjUgMCAwIDAgMjAuOTUgOCAzLjUgMy41IDAgMSAwIDE2IDMuMDVhMy41IDMuNSAwIDAgMC01LjgzMSAxLjM3MyAzLjUgMy41IDAgMCAwLTUuMTE2IDMuNjkgNCA0IDAgMCAwLTIuMzQ4IDYuMTU1QzMuNDk5IDE1LjQyIDQuNDA5IDE2LjcxMiA0LjIgMTguMSAzLjkyNiAxOS43NDMgMy4wMTQgMjAuNzMyIDIgMjIifV0sWyJwYXRoIix7ZDoiTTIgMjIgMTcgNyJ9XV19KTt2YXIgRUMsUmtlPWMoKCk9PntFQz1bWyJwYXRoIix7ZDoiTTE2IDEyaDNhMiAyIDAgMCAwIDEuOTAyLTEuMzhsMS4wNTYtMy4zMzNBMSAxIDAgMCAwIDIxIDZIM2ExIDEgMCAwIDAtLjk1OCAxLjI4N2wxLjA1NiAzLjMzNEEyIDIgMCAwIDAgNSAxMmgzIn1dLFsicGF0aCIse2Q6Ik0xOCA2VjNhMSAxIDAgMCAwLTEtMWgtMyJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiIxMiIseDoiOCIseToiMTAiLHJ4OiIxIn1dXX0pO3ZhciBJQyxGa2U9YygoKT0+e0lDPVtbInBhdGgiLHtkOiJNMTEgMjBBNyA3IDAgMCAxIDkuOCA2LjFDMTUuNSA1IDE3IDQuNDggMTkgMmMxIDIgMiA0LjE4IDIgOCAwIDUuNS00Ljc4IDEwLTEwIDEwWiJ9XSxbInBhdGgiLHtkOiJNMiAyMWMwLTMgMS44NS01LjM2IDUuMDgtNkM5LjUgMTQuNTIgMTIgMTMgMTMgMTIifV1dfSk7dmFyIE5DLE9rZT1jKCgpPT57TkM9W1sicGF0aCIse2Q6Ik03IDJhMSAxIDAgMCAwLS44IDEuNiAxNCAxNCAwIDAgMSAwIDE2LjhBMSAxIDAgMCAwIDcgMjJoMTBhMSAxIDAgMCAwIC44LTEuNiAxNCAxNCAwIDAgMSAwLTE2LjhBMSAxIDAgMCAwIDE3IDJ6In1dXX0pO3ZhciBSQyxCa2U9YygoKT0+e1JDPVtbInBhdGgiLHtkOiJNMTMuNDMzIDJhMSAxIDAgMCAxIC44MjQuNDQ4IDE4IDE4IDAgMCAxIDAgMTkuMTA0IDEgMSAwIDAgMS0uODI0LjQ0OGgtMi44NjZhMSAxIDAgMCAxLS44MjQtLjQ0OCAxOCAxOCAwIDAgMSAwLTE5LjEwNEExIDEgMCAwIDEgMTAuNTY3IDJ6In1dXX0pO3ZhciBGQyxIa2U9YygoKT0+e0ZDPVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjEifV0sWyJwYXRoIix7ZDoiTTcgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMjAuNCAxOC45Yy4yLjUtLjEgMS4xLS42IDEuM2wtMS45LjdjLS41LjItMS4xLS4xLTEuMy0uNkwxMS4xIDUuMWMtLjItLjUuMS0xLjEuNi0xLjNsMS45LS43Yy41LS4yIDEuMS4xIDEuMy42WiJ9XV19KTt2YXIgT0MscWtlPWMoKCk9PntPQz1bWyJwYXRoIix7ZDoibTE2IDYgNCAxNCJ9XSxbInBhdGgiLHtkOiJNMTIgNnYxNCJ9XSxbInBhdGgiLHtkOiJNOCA4djEyIn1dLFsicGF0aCIse2Q6Ik00IDR2MTYifV1dfSk7dmFyIEJDLFZrZT1jKCgpPT57QkM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im00LjkzIDQuOTMgNC4yNCA0LjI0In1dLFsicGF0aCIse2Q6Im0xNC44MyA5LjE3IDQuMjQtNC4yNCJ9XSxbInBhdGgiLHtkOiJtMTQuODMgMTQuODMgNC4yNCA0LjI0In1dLFsicGF0aCIse2Q6Im05LjE3IDE0LjgzLTQuMjQgNC4yNCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI0In1dXX0pO3ZhciBIQyxqa2U9YygoKT0+e0hDPVtbInBhdGgiLHtkOiJNMTQgMTJoMnY4In1dLFsicGF0aCIse2Q6Ik0xNCAyMGg0In1dLFsicGF0aCIse2Q6Ik02IDEyaDQifV0sWyJwYXRoIix7ZDoiTTYgMjBoNCJ9XSxbInBhdGgiLHtkOiJNOCAyMFY4YTQgNCAwIDAgMSA3LjQ2NC0yIn1dXX0pO3ZhciBxQyxVa2U9YygoKT0+e3FDPVtbInBhdGgiLHtkOiJNMTUgMTRjLjItMSAuNy0xLjcgMS41LTIuNSAxLS45IDEuNS0yLjIgMS41LTMuNUE2IDYgMCAwIDAgNiA4YzAgMSAuMiAyLjIgMS41IDMuNS43LjcgMS4zIDEuNSAxLjUgMi41In1dLFsicGF0aCIse2Q6Ik05IDE4aDYifV0sWyJwYXRoIix7ZDoiTTEwIDIyaDQifV1dfSk7dmFyIFZDLFdrZT1jKCgpPT57VkM9W1sicGF0aCIse2Q6Ik0gMyAxMiBMIDE1IDEyIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTIiLHI6IjMifV1dfSk7dmFyIGpDLEdrZT1jKCgpPT57akM9W1sicGF0aCIse2Q6Ik0xNi44IDExLjJjLjgtLjkgMS4yLTIgMS4yLTMuMmE2IDYgMCAwIDAtOS4zLTUifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNi4zIDYuM2E0LjY3IDQuNjcgMCAwIDAgMS4yIDUuMmMuNy43IDEuMyAxLjUgMS41IDIuNSJ9XSxbInBhdGgiLHtkOiJNOSAxOGg2In1dLFsicGF0aCIse2Q6Ik0xMCAyMmg0In1dXX0pO3ZhciBVQyxZa2U9YygoKT0+e1VDPVtbInBhdGgiLHtkOiJNNyAzLjVjNS0yIDcgMi41IDMgNEMxLjUgMTAgMiAxNSA1IDE2YzUgMiA5LTEwIDE0LTdzLjUgMTMuNS00IDEyYy01LTIuNS41LTExIDYtMiJ9XV19KTt2YXIgV0MsWmtlPWMoKCk9PntXQz1bWyJwYXRoIix7ZDoiTTkgMTdIN0E1IDUgMCAwIDEgNyA3In1dLFsicGF0aCIse2Q6Ik0xNSA3aDJhNSA1IDAgMCAxIDQgOCJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjEyIix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dXX0pO3ZhciBHQyxYa2U9YygoKT0+e0dDPVtbInBhdGgiLHtkOiJNOSAxN0g3QTUgNSAwIDAgMSA3IDdoMiJ9XSxbInBhdGgiLHtkOiJNMTUgN2gyYTUgNSAwIDEgMSAwIDEwaC0yIn1dLFsibGluZSIse3gxOiI4Iix4MjoiMTYiLHkxOiIxMiIseTI6IjEyIn1dXX0pO3ZhciBZQyxLa2U9YygoKT0+e1lDPVtbInBhdGgiLHtkOiJNMTAgMTNhNSA1IDAgMCAwIDcuNTQuNTRsMy0zYTUgNSAwIDAgMC03LjA3LTcuMDdsLTEuNzIgMS43MSJ9XSxbInBhdGgiLHtkOiJNMTQgMTFhNSA1IDAgMCAwLTcuNTQtLjU0bC0zIDNhNSA1IDAgMCAwIDcuMDcgNy4wN2wxLjcxLTEuNzEifV1dfSk7dmFyIFpDLFFrZT1jKCgpPT57WkM9W1sicGF0aCIse2Q6Ik0xNiA4YTYgNiAwIDAgMSA2IDZ2N2gtNHYtN2EyIDIgMCAwIDAtMi0yIDIgMiAwIDAgMC0yIDJ2N2gtNHYtN2E2IDYgMCAwIDEgNi02eiJ9XSxbInJlY3QiLHt3aWR0aDoiNCIsaGVpZ2h0OiIxMiIseDoiMiIseToiOSJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiNCIscjoiMiJ9XV19KTt2YXIgWEMsSmtlPWMoKCk9PntYQz1bWyJwYXRoIix7ZDoiTTE2IDVIMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTJIMyJ9XSxbInBhdGgiLHtkOiJNMTEgMTlIMyJ9XSxbInBhdGgiLHtkOiJtMTUgMTggMiAyIDQtNCJ9XV19KTt2YXIgS0MsZXplPWMoKCk9PntLQz1bWyJwYXRoIix7ZDoiTTEzIDVoOCJ9XSxbInBhdGgiLHtkOiJNMTMgMTJoOCJ9XSxbInBhdGgiLHtkOiJNMTMgMTloOCJ9XSxbInBhdGgiLHtkOiJtMyAxNyAyIDIgNC00In1dLFsicGF0aCIse2Q6Im0zIDcgMiAyIDQtNCJ9XV19KTt2YXIgUUMsdHplPWMoKCk9PntRQz1bWyJwYXRoIix7ZDoiTTMgNWg4In1dLFsicGF0aCIse2Q6Ik0zIDEyaDgifV0sWyJwYXRoIix7ZDoiTTMgMTloOCJ9XSxbInBhdGgiLHtkOiJtMTUgNSAzIDMgMy0zIn1dLFsicGF0aCIse2Q6Im0xNSAxOSAzLTMgMyAzIn1dXX0pO3ZhciBKQyxhemU9YygoKT0+e0pDPVtbInBhdGgiLHtkOiJNMTAgNWgxMSJ9XSxbInBhdGgiLHtkOiJNMTAgMTJoMTEifV0sWyJwYXRoIix7ZDoiTTEwIDE5aDExIn1dLFsicGF0aCIse2Q6Im0zIDEwIDMtMy0zLTMifV0sWyJwYXRoIix7ZDoibTMgMjAgMy0zLTMtMyJ9XV19KTt2YXIgZV8scnplPWMoKCk9PntlXz1bWyJwYXRoIix7ZDoiTTMgNWg4In1dLFsicGF0aCIse2Q6Ik0zIDEyaDgifV0sWyJwYXRoIix7ZDoiTTMgMTloOCJ9XSxbInBhdGgiLHtkOiJtMTUgOCAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Im0xNSAxNiAzIDMgMy0zIn1dXX0pO3ZhciB0XyxpemU9YygoKT0+e3RfPVtbInBhdGgiLHtkOiJNMTYgNUgzIn1dLFsicGF0aCIse2Q6Ik0xNiAxMkgzIn1dLFsicGF0aCIse2Q6Ik05IDE5SDMifV0sWyJwYXRoIix7ZDoibTE2IDE2LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoiTTIxIDV2MTJhMiAyIDAgMCAxLTIgMmgtNiJ9XV19KTt2YXIgYV8sc3plPWMoKCk9PnthXz1bWyJwYXRoIix7ZDoiTTEyIDVIMiJ9XSxbInBhdGgiLHtkOiJNNiAxMmgxMiJ9XSxbInBhdGgiLHtkOiJNOSAxOWg2In1dLFsicGF0aCIse2Q6Ik0xNiA1aDYifV0sWyJwYXRoIix7ZDoiTTE5IDhWMiJ9XV19KTt2YXIgcl8sb3plPWMoKCk9PntyXz1bWyJwYXRoIix7ZDoiTTIgNWgyMCJ9XSxbInBhdGgiLHtkOiJNNiAxMmgxMiJ9XSxbInBhdGgiLHtkOiJNOSAxOWg2In1dXX0pO3ZhciB6byxuemU9YygoKT0+e3pvPVtbInBhdGgiLHtkOiJNMjEgNUgxMSJ9XSxbInBhdGgiLHtkOiJNMjEgMTJIMTEifV0sWyJwYXRoIix7ZDoiTTIxIDE5SDExIn1dLFsicGF0aCIse2Q6Im03IDgtNCA0IDQgNCJ9XV19KTt2YXIgU28sbHplPWMoKCk9PntTbz1bWyJwYXRoIix7ZDoiTTIxIDVIMTEifV0sWyJwYXRoIix7ZDoiTTIxIDEySDExIn1dLFsicGF0aCIse2Q6Ik0yMSAxOUgxMSJ9XSxbInBhdGgiLHtkOiJtMyA4IDQgNC00IDQifV1dfSk7dmFyIGlfLGN6ZT1jKCgpPT57aV89W1sicGF0aCIse2Q6Ik0xNiA1SDMifV0sWyJwYXRoIix7ZDoiTTExIDEySDMifV0sWyJwYXRoIix7ZDoiTTExIDE5SDMifV0sWyJwYXRoIix7ZDoiTTIxIDE2VjUifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxNiIscjoiMyJ9XV19KTt2YXIgc18sZHplPWMoKCk9PntzXz1bWyJwYXRoIix7ZDoiTTE2IDVIMyJ9XSxbInBhdGgiLHtkOiJNMTEgMTJIMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTlIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTJoLTYifV1dfSk7dmFyIG9fLHB6ZT1jKCgpPT57b189W1sicGF0aCIse2Q6Ik0xMSA1aDEwIn1dLFsicGF0aCIse2Q6Ik0xMSAxMmgxMCJ9XSxbInBhdGgiLHtkOiJNMTEgMTloMTAifV0sWyJwYXRoIix7ZDoiTTQgNGgxdjUifV0sWyJwYXRoIix7ZDoiTTQgOWgyIn1dLFsicGF0aCIse2Q6Ik02LjUgMjBIMy40YzAtMSAyLjYtMS45MjUgMi42LTMuNWExLjUgMS41IDAgMCAwLTIuNi0xLjAyIn1dXX0pO3ZhciBuXyx1emU9YygoKT0+e25fPVtbInBhdGgiLHtkOiJNMjEgNUgzIn1dLFsicGF0aCIse2Q6Ik03IDEySDMifV0sWyJwYXRoIix7ZDoiTTcgMTlIMyJ9XSxbInBhdGgiLHtkOiJNMTIgMThhNSA1IDAgMCAwIDktMyA0LjUgNC41IDAgMCAwLTQuNS00LjVjLTEuMzMgMC0yLjU0LjU0LTMuNDEgMS40MUwxMSAxNCJ9XSxbInBhdGgiLHtkOiJNMTEgMTB2NGg0In1dXX0pO3ZhciBsXyxmemU9YygoKT0+e2xfPVtbInBhdGgiLHtkOiJNMTYgNUgzIn1dLFsicGF0aCIse2Q6Ik0xMSAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xNiAxOUgzIn1dLFsicGF0aCIse2Q6Ik0xOCA5djYifV0sWyJwYXRoIix7ZDoiTTIxIDEyaC02In1dXX0pO3ZhciBjXyxoemU9YygoKT0+e2NfPVtbInBhdGgiLHtkOiJNMyA1aDYifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTMifV0sWyJwYXRoIix7ZDoiTTMgMTloMTMifV0sWyJwYXRoIix7ZDoibTE2IDgtMy0zIDMtMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTlWN2EyIDIgMCAwIDAtMi0yaC02In1dXX0pO3ZhciBkXyxtemU9YygoKT0+e2RfPVtbInBhdGgiLHtkOiJNMTMgNWg4In1dLFsicGF0aCIse2Q6Ik0xMyAxMmg4In1dLFsicGF0aCIse2Q6Ik0xMyAxOWg4In1dLFsicGF0aCIse2Q6Im0zIDE3IDIgMiA0LTQifV0sWyJyZWN0Iix7eDoiMyIseToiNCIsd2lkdGg6IjYiLGhlaWdodDoiNiIscng6IjEifV1dfSk7dmFyIHBfLGd6ZT1jKCgpPT57cF89W1sicGF0aCIse2Q6Ik04IDVoMTMifV0sWyJwYXRoIix7ZDoiTTEzIDEyaDgifV0sWyJwYXRoIix7ZDoiTTEzIDE5aDgifV0sWyJwYXRoIix7ZDoiTTMgMTBhMiAyIDAgMCAwIDIgMmgzIn1dLFsicGF0aCIse2Q6Ik0zIDV2MTJhMiAyIDAgMCAwIDIgMmgzIn1dXX0pO3ZhciB1XyxiemU9YygoKT0+e3VfPVtbInBhdGgiLHtkOiJNMjEgNUgzIn1dLFsicGF0aCIse2Q6Ik0xMCAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xMCAxOUgzIn1dLFsicGF0aCIse2Q6Ik0xNSAxMi4wMDNhMSAxIDAgMCAxIDEuNTE3LS44NTlsNC45OTcgMi45OTdhMSAxIDAgMCAxIDAgMS43MThsLTQuOTk3IDIuOTk3YTEgMSAwIDAgMS0xLjUxNy0uODZ6In1dXX0pO3ZhciBmXyx2emU9YygoKT0+e2ZfPVtbInBhdGgiLHtkOiJNMTYgNUgzIn1dLFsicGF0aCIse2Q6Ik0xMSAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xNiAxOUgzIn1dLFsicGF0aCIse2Q6Im0xNS41IDkuNSA1IDUifV0sWyJwYXRoIix7ZDoibTIwLjUgOS41LTUgNSJ9XV19KTt2YXIgaF8seHplPWMoKCk9PntoXz1bWyJwYXRoIix7ZDoiTTMgNWguMDEifV0sWyJwYXRoIix7ZDoiTTMgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0zIDE5aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCA1aDEzIn1dLFsicGF0aCIse2Q6Ik04IDEyaDEzIn1dLFsicGF0aCIse2Q6Ik04IDE5aDEzIn1dXX0pO3ZhciBLNCx5emU9YygoKT0+e0s0PVtbInBhdGgiLHtkOiJNMjEgMTJhOSA5IDAgMSAxLTYuMjE5LTguNTYifV1dfSk7dmFyIG1fLHd6ZT1jKCgpPT57bV89W1sicGF0aCIse2Q6Ik0yMiAxMmExIDEgMCAwIDEtMTAgMCAxIDEgMCAwIDAtMTAgMCJ9XSxbInBhdGgiLHtkOiJNNyAyMC43YTEgMSAwIDEgMSA1LTguNyAxIDEgMCAxIDAgNS04LjYifV0sWyJwYXRoIix7ZDoiTTcgMy4zYTEgMSAwIDEgMSA1IDguNiAxIDEgMCAxIDAgNSA4LjYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV1dfSk7dmFyIGdfLE16ZT1jKCgpPT57Z189W1sicGF0aCIse2Q6Ik0xMiAydjQifV0sWyJwYXRoIix7ZDoibTE2LjIgNy44IDIuOS0yLjkifV0sWyJwYXRoIix7ZDoiTTE4IDEyaDQifV0sWyJwYXRoIix7ZDoibTE2LjIgMTYuMiAyLjkgMi45In1dLFsicGF0aCIse2Q6Ik0xMiAxOHY0In1dLFsicGF0aCIse2Q6Im00LjkgMTkuMSAyLjktMi45In1dLFsicGF0aCIse2Q6Ik0yIDEyaDQifV0sWyJwYXRoIix7ZDoibTQuOSA0LjkgMi45IDIuOSJ9XV19KTt2YXIgYl8sa3plPWMoKCk9PntiXz1bWyJsaW5lIix7eDE6IjIiLHgyOiI1Iix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTkiLHgyOiIyMiIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIyIix5MjoiNSJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjE5Iix5MjoiMjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dXX0pO3ZhciB2Xyx6emU9YygoKT0+e3ZfPVtbInBhdGgiLHtkOiJNMTIgMTl2MyJ9XSxbInBhdGgiLHtkOiJNMTIgMnYzIn1dLFsicGF0aCIse2Q6Ik0xOC44OSAxMy4yNGE3IDcgMCAwIDAtOC4xMy04LjEzIn1dLFsicGF0aCIse2Q6Ik0xOSAxMmgzIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNy4wNSA3LjA1YTcgNyAwIDAgMCA5LjkgOS45In1dXX0pO3ZhciB4XyxTemU9YygoKT0+e3hfPVtbImxpbmUiLHt4MToiMiIseDI6IjUiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxOSIseDI6IjIyIix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjIiLHkyOiI1In1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMTkiLHkyOiIyMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI3In1dXX0pO3ZhciBRNCxDemU9YygoKT0+e1E0PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE2IixyOiIxIn1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxMiIseDoiMyIseToiMTAiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDEwVjdhNSA1IDAgMCAxIDkuMzMtMi41In1dXX0pO3ZhciB5XyxfemU9YygoKT0+e3lfPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE2IixyOiIxIn1dLFsicmVjdCIse3g6IjMiLHk6IjEwIix3aWR0aDoiMTgiLGhlaWdodDoiMTIiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDEwVjdhNSA1IDAgMCAxIDEwIDB2MyJ9XV19KTt2YXIgSjQsVHplPWMoKCk9PntKND1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjExIix4OiIzIix5OiIxMSIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik03IDExVjdhNSA1IDAgMCAxIDkuOS0xIn1dXX0pO3ZhciB3XyxMemU9YygoKT0+e3dfPVtbInBhdGgiLHtkOiJtMTAgMTcgNS01LTUtNSJ9XSxbInBhdGgiLHtkOiJNMTUgMTJIMyJ9XSxbInBhdGgiLHtkOiJNMTUgM2g0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMmgtNCJ9XV19KTt2YXIgTV8sJHplPWMoKCk9PntNXz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjExIix4OiIzIix5OiIxMSIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik03IDExVjdhNSA1IDAgMCAxIDEwIDB2NCJ9XV19KTt2YXIga18sRHplPWMoKCk9PntrXz1bWyJwYXRoIix7ZDoibTE2IDE3IDUtNS01LTUifV0sWyJwYXRoIix7ZDoiTTIxIDEySDkifV0sWyJwYXRoIix7ZDoiTTkgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg0In1dXX0pO3ZhciB6XyxBemU9YygoKT0+e3pfPVtbInBhdGgiLHtkOiJNMyA1aDEifV0sWyJwYXRoIix7ZDoiTTMgMTJoMSJ9XSxbInBhdGgiLHtkOiJNMyAxOWgxIn1dLFsicGF0aCIse2Q6Ik04IDVoMSJ9XSxbInBhdGgiLHtkOiJNOCAxMmgxIn1dLFsicGF0aCIse2Q6Ik04IDE5aDEifV0sWyJwYXRoIix7ZDoiTTEzIDVoOCJ9XSxbInBhdGgiLHtkOiJNMTMgMTJoOCJ9XSxbInBhdGgiLHtkOiJNMTMgMTloOCJ9XV19KTt2YXIgU18sUHplPWMoKCk9PntTXz1bWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiOCJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtNC4zLTQuMyJ9XSxbInBhdGgiLHtkOiJNMTEgMTFhMiAyIDAgMCAwIDQgMCA0IDQgMCAwIDAtOCAwIDYgNiAwIDAgMCAxMiAwIn1dXX0pO3ZhciBDXyxFemU9YygoKT0+e0NfPVtbInBhdGgiLHtkOiJNNiAyMGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgxMmEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTggMThWNGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYxNCJ9XSxbInBhdGgiLHtkOiJNMTAgMjBoNCJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjIwIixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjgiLGN5OiIyMCIscjoiMiJ9XV19KTt2YXIgX18sSXplPWMoKCk9PntfXz1bWyJwYXRoIix7ZDoibTEyIDE1IDQgNCJ9XSxbInBhdGgiLHtkOiJNMi4zNTIgMTAuNjQ4YTEuMjA1IDEuMjA1IDAgMCAwIDAgMS43MDRsMi4yOTYgMi4yOTZhMS4yMDUgMS4yMDUgMCAwIDAgMS43MDQgMGw2LjAyOS02LjAyOWExIDEgMCAxIDEgMyAzbC02LjAyOSA2LjAyOWExLjIwNSAxLjIwNSAwIDAgMCAwIDEuNzA0bDIuMjk2IDIuMjk2YTEuMjA1IDEuMjA1IDAgMCAwIDEuNzA0IDBsNi4zNjUtNi4zNjdBMSAxIDAgMCAwIDguNzE2IDQuMjgyeiJ9XSxbInBhdGgiLHtkOiJtNSA4IDQgNCJ9XV19KTt2YXIgVF8sTnplPWMoKCk9PntUXz1bWyJwYXRoIix7ZDoiTTIyIDEzVjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTJjMCAxLjEuOSAyIDIgMmg4In1dLFsicGF0aCIse2Q6Im0yMiA3LTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiA3In1dLFsicGF0aCIse2Q6Im0xNiAxOSAyIDIgNC00In1dXX0pO3ZhciBMXyxSemU9YygoKT0+e0xfPVtbInBhdGgiLHtkOiJNMjIgMTVWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMmMwIDEuMS45IDIgMiAyaDgifV0sWyJwYXRoIix7ZDoibTIyIDctOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDcifV0sWyJwYXRoIix7ZDoiTTE2IDE5aDYifV1dfSk7dmFyICRfLEZ6ZT1jKCgpPT57JF89W1sicGF0aCIse2Q6Ik0yMS4yIDguNGMuNS4zOC44Ljk3LjggMS42djEwYTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjEwYTIgMiAwIDAgMSAuOC0xLjZsOC02YTIgMiAwIDAgMSAyLjQgMGw4IDZaIn1dLFsicGF0aCIse2Q6Im0yMiAxMC04Ljk3IDUuN2ExLjk0IDEuOTQgMCAwIDEtMi4wNiAwTDIgMTAifV1dfSk7dmFyIERfLE96ZT1jKCgpPT57RF89W1sicGF0aCIse2Q6Ik0yMiAxM1Y2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEyYzAgMS4xLjkgMiAyIDJoOCJ9XSxbInBhdGgiLHtkOiJtMjIgNy04Ljk3IDUuN2ExLjk0IDEuOTQgMCAwIDEtMi4wNiAwTDIgNyJ9XSxbInBhdGgiLHtkOiJNMTkgMTZ2NiJ9XSxbInBhdGgiLHtkOiJNMTYgMTloNiJ9XV19KTt2YXIgZTMsQnplPWMoKCk9PntlMz1bWyJwYXRoIix7ZDoiTTIyIDEwLjVWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMmMwIDEuMS45IDIgMiAyaDEyLjUifV0sWyJwYXRoIix7ZDoibTIyIDctOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDcifV0sWyJwYXRoIix7ZDoiTTE4IDE1LjI4Yy4yLS40LjUtLjguOS0xYTIuMSAyLjEgMCAwIDEgMi42LjRjLjMuNC41LjguNSAxLjMgMCAxLjMtMiAyLTIgMiJ9XSxbInBhdGgiLHtkOiJNMjAgMjJ2LjAxIn1dXX0pO3ZhciBBXyxIemU9YygoKT0+e0FfPVtbInBhdGgiLHtkOiJNMjIgMTIuNVY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEyYzAgMS4xLjkgMiAyIDJoNy41In1dLFsicGF0aCIse2Q6Im0yMiA3LTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiA3In1dLFsicGF0aCIse2Q6Ik0xOCAyMWEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZaIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV0sWyJwYXRoIix7ZDoibTIyIDIyLTEuNS0xLjUifV1dfSk7dmFyIFBfLHF6ZT1jKCgpPT57UF89W1sicGF0aCIse2Q6Ik0yMiAxMC41VjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTJjMCAxLjEuOSAyIDIgMmgxMi41In1dLFsicGF0aCIse2Q6Im0yMiA3LTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiA3In1dLFsicGF0aCIse2Q6Ik0yMCAxNHY0In1dLFsicGF0aCIse2Q6Ik0yMCAyMnYuMDEifV1dfSk7dmFyIEVfLFZ6ZT1jKCgpPT57RV89W1sicGF0aCIse2Q6Ik0yMiAxM1Y2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEyYzAgMS4xLjkgMiAyIDJoOSJ9XSxbInBhdGgiLHtkOiJtMjIgNy04Ljk3IDUuN2ExLjk0IDEuOTQgMCAwIDEtMi4wNiAwTDIgNyJ9XSxbInBhdGgiLHtkOiJtMTcgMTcgNCA0In1dLFsicGF0aCIse2Q6Im0yMSAxNy00IDQifV1dfSk7dmFyIElfLGp6ZT1jKCgpPT57SV89W1sicGF0aCIse2Q6Im0yMiA3LTguOTkxIDUuNzI3YTIgMiAwIDAgMS0yLjAwOSAwTDIgNyJ9XSxbInJlY3QiLHt4OiIyIix5OiI0Iix3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHJ4OiIyIn1dXX0pO3ZhciBOXyxVemU9YygoKT0+e05fPVtbInBhdGgiLHtkOiJNMjIgMTdhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWOS41QzIgNyA0IDUgNi41IDVIMThjMi4yIDAgNCAxLjggNCA0djhaIn1dLFsicG9seWxpbmUiLHtwb2ludHM6IjE1LDkgMTgsOSAxOCwxMSJ9XSxbInBhdGgiLHtkOiJNNi41IDVDOSA1IDExIDcgMTEgOS41VjE3YTIgMiAwIDAgMS0yIDIifV0sWyJsaW5lIix7eDE6IjYiLHgyOiI3Iix5MToiMTAiLHkyOiIxMCJ9XV19KTt2YXIgUl8sV3plPWMoKCk9PntSXz1bWyJwYXRoIix7ZDoiTTE3IDE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0ydi04YTIgMiAwIDAgMSAxLTEuNzMyIn1dLFsicGF0aCIse2Q6Im0yMiA1LjUtNi40MTkgNC4xNzlhMiAyIDAgMCAxLTIuMTYyIDBMNyA1LjUifV0sWyJyZWN0Iix7eDoiNyIseToiMyIsd2lkdGg6IjE1IixoZWlnaHQ6IjEyIixyeDoiMiJ9XV19KTt2YXIgRl8sR3plPWMoKCk9PntGXz1bWyJwYXRoIix7ZDoibTExIDE5LTEuMTA2LS41NTJhMiAyIDAgMCAwLTEuNzg4IDBsLTMuNjU5IDEuODNBMSAxIDAgMCAxIDMgMTkuMzgxVjYuNjE4YTEgMSAwIDAgMSAuNTUzLS44OTRsNC41NTMtMi4yNzdhMiAyIDAgMCAxIDEuNzg4IDBsNC4yMTIgMi4xMDZhMiAyIDAgMCAwIDEuNzg4IDBsMy42NTktMS44M0ExIDEgMCAwIDEgMjEgNC42MTlWMTQifV0sWyJwYXRoIix7ZDoiTTE1IDUuNzY0VjE0In1dLFsicGF0aCIse2Q6Ik0yMSAxOGgtNiJ9XSxbInBhdGgiLHtkOiJNOSAzLjIzNnYxNSJ9XV19KTt2YXIgT18sWXplPWMoKCk9PntPXz1bWyJwYXRoIix7ZDoiTTIwIDEwYzAgNC45OTMtNS41MzkgMTAuMTkzLTcuMzk5IDExLjc5OWExIDEgMCAwIDEtMS4yMDIgMEM5LjUzOSAyMC4xOTMgNCAxNC45OTMgNCAxMGE4IDggMCAwIDEgMTYgMCJ9XSxbInBhdGgiLHtkOiJtOSAxMCAyIDIgNC00In1dXX0pO3ZhciBCXyxaemU9YygoKT0+e0JfPVtbInBhdGgiLHtkOiJNMTUgMjJhMSAxIDAgMCAxLTEtMXYtNGExIDEgMCAwIDEgLjQ0NS0uODMybDMtMmExIDEgMCAwIDEgMS4xMSAwbDMgMkExIDEgMCAwIDEgMjIgMTd2NGExIDEgMCAwIDEtMSAxeiJ9XSxbInBhdGgiLHtkOiJNMTggMTBhOCA4IDAgMCAwLTE2IDBjMCA0Ljk5MyA1LjUzOSAxMC4xOTMgNy4zOTkgMTEuNzk5YTEgMSAwIDAgMCAuNjAxLjIifV0sWyJwYXRoIix7ZDoiTTE4IDIydi0zIn1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiMTAiLHI6IjMifV1dfSk7dmFyIEhfLFh6ZT1jKCgpPT57SF89W1sicGF0aCIse2Q6Ik0xOS40MyAxMi45MzVjLjM1Ny0uOTY3LjU3LTEuOTU1LjU3LTIuOTM1YTggOCAwIDAgMC0xNiAwYzAgNC45OTMgNS41MzkgMTAuMTkzIDcuMzk5IDExLjc5OWExIDEgMCAwIDAgMS4yMDIgMCAzMi4xOTcgMzIuMTk3IDAgMCAwIC44MTMtLjcyOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Im0xNiAxOCAyIDIgNC00In1dXX0pO3ZhciBxXyxLemU9YygoKT0+e3FfPVtbInBhdGgiLHtkOiJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIn1dLFsicGF0aCIse2Q6Ik05IDEwaDYifV1dfSk7dmFyIFZfLFF6ZT1jKCgpPT57Vl89W1sicGF0aCIse2Q6Ik0xOC45NzcgMTRDMTkuNiAxMi43MDEgMjAgMTEuMzQzIDIwIDEwYTggOCAwIDAgMC0xNiAwYzAgNC45OTMgNS41MzkgMTAuMTkzIDcuMzk5IDExLjc5OWExIDEgMCAwIDAgMS4yMDIgMCAzMiAzMiAwIDAgMCAuODI0LS43MzgifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTYgMThoNiJ9XV19KTt2YXIgal8sSnplPWMoKCk9PntqXz1bWyJwYXRoIix7ZDoiTTEyLjc1IDcuMDlhMyAzIDAgMCAxIDIuMTYgMi4xNiJ9XSxbInBhdGgiLHtkOiJNMTcuMDcyIDE3LjA3MmMtMS42MzQgMi4xNy0zLjUyNyAzLjkxMi00LjQ3MSA0LjcyN2ExIDEgMCAwIDEtMS4yMDIgMEM5LjUzOSAyMC4xOTMgNCAxNC45OTMgNCAxMGE4IDggMCAwIDEgMS40MzItNC41NjgifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNOC40NzUgMi44MThBOCA4IDAgMCAxIDIwIDEwYzAgMS4xODMtLjMxIDIuMzc3LS44MSAzLjUzMyJ9XSxbInBhdGgiLHtkOiJNOS4xMyA5LjEzYTMgMyAwIDAgMCAzLjc0IDMuNzQifV1dfSk7dmFyIHQzLGVTZT1jKCgpPT57dDM9W1sicGF0aCIse2Q6Ik0xNy45NyA5LjMwNEE4IDggMCAwIDAgMiAxMGMwIDQuNjkgNC44ODcgOS41NjIgNy4wMjIgMTEuNDY4In1dLFsicGF0aCIse2Q6Ik0yMS4zNzggMTYuNjI2YTEgMSAwIDAgMC0zLjAwNC0zLjAwNGwtNC4wMSA0LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiIxMCIscjoiMyJ9XV19KTt2YXIgVV8sdFNlPWMoKCk9PntVXz1bWyJwYXRoIix7ZDoiTTE5LjkxNCAxMS4xMDVBNy4yOTggNy4yOTggMCAwIDAgMjAgMTBhOCA4IDAgMCAwLTE2IDBjMCA0Ljk5MyA1LjUzOSAxMC4xOTMgNy4zOTkgMTEuNzk5YTEgMSAwIDAgMCAxLjIwMiAwIDMyIDMyIDAgMCAwIC44MjQtLjczOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xNiAxOGg2In1dLFsicGF0aCIse2Q6Ik0xOSAxNXY2In1dXX0pO3ZhciBXXyxhU2U9YygoKT0+e1dfPVtbInBhdGgiLHtkOiJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIn1dLFsicGF0aCIse2Q6Ik0xMiA3djYifV0sWyJwYXRoIix7ZDoiTTkgMTBoNiJ9XV19KTt2YXIgR18sclNlPWMoKCk9PntHXz1bWyJwYXRoIix7ZDoiTTIwIDEwYzAgNC45OTMtNS41MzkgMTAuMTkzLTcuMzk5IDExLjc5OWExIDEgMCAwIDEtMS4yMDIgMEM5LjUzOSAyMC4xOTMgNCAxNC45OTMgNCAxMGE4IDggMCAwIDEgMTYgMCJ9XSxbInBhdGgiLHtkOiJtMTQuNSA3LjUtNSA1In1dLFsicGF0aCIse2Q6Im05LjUgNy41IDUgNSJ9XV19KTt2YXIgWV8saVNlPWMoKCk9PntZXz1bWyJwYXRoIix7ZDoiTTE5Ljc1MiAxMS45MDFBNy43OCA3Ljc4IDAgMCAwIDIwIDEwYTggOCAwIDAgMC0xNiAwYzAgNC45OTMgNS41MzkgMTAuMTkzIDcuMzk5IDExLjc5OWExIDEgMCAwIDAgMS4yMDIgMCAxOSAxOSAwIDAgMCAuMDktLjA3NyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Im0yMS41IDE1LjUtNSA1In1dLFsicGF0aCIse2Q6Im0yMS41IDIwLjUtNS01In1dXX0pO3ZhciBaXyxzU2U9YygoKT0+e1pfPVtbInBhdGgiLHtkOiJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjMifV1dfSk7dmFyIFhfLG9TZT1jKCgpPT57WF89W1sicGF0aCIse2Q6Ik0xOCA4YzAgMy42MTMtMy44NjkgNy40MjktNS4zOTMgOC43OTVhMSAxIDAgMCAxLTEuMjE0IDBDOS44NyAxNS40MjkgNiAxMS42MTMgNiA4YTYgNiAwIDAgMSAxMiAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiOCIscjoiMiJ9XSxbInBhdGgiLHtkOiJNOC43MTQgMTRoLTMuNzFhMSAxIDAgMCAwLS45NDguNjgzbC0yLjAwNCA2QTEgMSAwIDAgMCAzIDIyaDE4YTEgMSAwIDAgMCAuOTQ4LTEuMzE2bC0yLTZhMSAxIDAgMCAwLS45NDktLjY4NGgtMy43MTIifV1dfSk7dmFyIEtfLG5TZT1jKCgpPT57S189W1sicGF0aCIse2Q6Im0xMSAxOS0xLjEwNi0uNTUyYTIgMiAwIDAgMC0xLjc4OCAwbC0zLjY1OSAxLjgzQTEgMSAwIDAgMSAzIDE5LjM4MVY2LjYxOGExIDEgMCAwIDEgLjU1My0uODk0bDQuNTUzLTIuMjc3YTIgMiAwIDAgMSAxLjc4OCAwbDQuMjEyIDIuMTA2YTIgMiAwIDAgMCAxLjc4OCAwbDMuNjU5LTEuODNBMSAxIDAgMCAxIDIxIDQuNjE5VjEyIn1dLFsicGF0aCIse2Q6Ik0xNSA1Ljc2NFYxMiJ9XSxbInBhdGgiLHtkOiJNMTggMTV2NiJ9XSxbInBhdGgiLHtkOiJNMjEgMThoLTYifV0sWyJwYXRoIix7ZDoiTTkgMy4yMzZ2MTUifV1dfSk7dmFyIFFfLGxTZT1jKCgpPT57UV89W1sicGF0aCIse2Q6Im0xNCA2IDQgNCJ9XSxbInBhdGgiLHtkOiJNMTcgM2g0djQifV0sWyJwYXRoIix7ZDoibTIxIDMtNy43NSA3Ljc1In1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiIxNSIscjoiNiJ9XV19KTt2YXIgSl8sY1NlPWMoKCk9PntKXz1bWyJwYXRoIix7ZDoiTTE0LjEwNiA1LjU1M2EyIDIgMCAwIDAgMS43ODggMGwzLjY1OS0xLjgzQTEgMSAwIDAgMSAyMSA0LjYxOXYxMi43NjRhMSAxIDAgMCAxLS41NTMuODk0bC00LjU1MyAyLjI3N2EyIDIgMCAwIDEtMS43ODggMGwtNC4yMTItMi4xMDZhMiAyIDAgMCAwLTEuNzg4IDBsLTMuNjU5IDEuODNBMSAxIDAgMCAxIDMgMTkuMzgxVjYuNjE4YTEgMSAwIDAgMSAuNTUzLS44OTRsNC41NTMtMi4yNzdhMiAyIDAgMCAxIDEuNzg4IDB6In1dLFsicGF0aCIse2Q6Ik0xNSA1Ljc2NHYxNSJ9XSxbInBhdGgiLHtkOiJNOSAzLjIzNnYxNSJ9XV19KTt2YXIgZVQsZFNlPWMoKCk9PntlVD1bWyJwYXRoIix7ZDoiTTE2IDNoNXY1In1dLFsicGF0aCIse2Q6Im0yMSAzLTYuNzUgNi43NSJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjE0IixyOiI2In1dXX0pO3ZhciB0VCxwU2U9YygoKT0+e3RUPVtbInBhdGgiLHtkOiJNOCAyMmg4In1dLFsicGF0aCIse2Q6Ik0xMiAxMXYxMSJ9XSxbInBhdGgiLHtkOiJtMTkgMy03IDgtNy04WiJ9XV19KTt2YXIgYVQsdVNlPWMoKCk9PnthVD1bWyJwYXRoIix7ZDoiTTE1IDNoNnY2In1dLFsicGF0aCIse2Q6Im0yMSAzLTcgNyJ9XSxbInBhdGgiLHtkOiJtMyAyMSA3LTcifV0sWyJwYXRoIix7ZDoiTTkgMjFIM3YtNiJ9XV19KTt2YXIgclQsZlNlPWMoKCk9PntyVD1bWyJwYXRoIix7ZDoiTTggM0g1YTIgMiAwIDAgMC0yIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMjEgOFY1YTIgMiAwIDAgMC0yLTJoLTMifV0sWyJwYXRoIix7ZDoiTTMgMTZ2M2EyIDIgMCAwIDAgMiAyaDMifV0sWyJwYXRoIix7ZDoiTTE2IDIxaDNhMiAyIDAgMCAwIDItMnYtMyJ9XV19KTt2YXIgaVQsaFNlPWMoKCk9PntpVD1bWyJwYXRoIix7ZDoiTTExLjYzNiA2QTEzIDEzIDAgMCAwIDE5LjQgMy4yIDEgMSAwIDAgMSAyMSA0djExLjM0NCJ9XSxbInBhdGgiLHtkOiJNMTQuMzc4IDE0LjM1N0ExMyAxMyAwIDAgMCAxMSAxNEg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNiAxNGExMiAxMiAwIDAgMCAyLjQgNy4yIDIgMiAwIDAgMCAzLjItMi40QTggOCAwIDAgMSAxMCAxNCJ9XSxbInBhdGgiLHtkOiJNOCA4djYifV1dfSk7dmFyIHNULG1TZT1jKCgpPT57c1Q9W1sicGF0aCIse2Q6Ik03LjIxIDE1IDIuNjYgNy4xNGEyIDIgMCAwIDEgLjEzLTIuMkw0LjQgMi44QTIgMiAwIDAgMSA2IDJoMTJhMiAyIDAgMCAxIDEuNi44bDEuNiAyLjE0YTIgMiAwIDAgMSAuMTQgMi4yTDE2Ljc5IDE1In1dLFsicGF0aCIse2Q6Ik0xMSAxMiA1LjEyIDIuMiJ9XSxbInBhdGgiLHtkOiJtMTMgMTIgNS44OC05LjgifV0sWyJwYXRoIix7ZDoiTTggN2g4In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTciLHI6IjUifV0sWyJwYXRoIix7ZDoiTTEyIDE4di0yaC0uNSJ9XV19KTt2YXIgb1QsZ1NlPWMoKCk9PntvVD1bWyJwYXRoIix7ZDoiTTExIDZhMTMgMTMgMCAwIDAgOC40LTIuOEExIDEgMCAwIDEgMjEgNHYxMmExIDEgMCAwIDEtMS42LjhBMTMgMTMgMCAwIDAgMTEgMTRINWEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMnoifV0sWyJwYXRoIix7ZDoiTTYgMTRhMTIgMTIgMCAwIDAgMi40IDcuMiAyIDIgMCAwIDAgMy4yLTIuNEE4IDggMCAwIDEgMTAgMTQifV0sWyJwYXRoIix7ZDoiTTggNnY4In1dXX0pO3ZhciBuVCxiU2U9YygoKT0+e25UPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTUiLHkyOiIxNSJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkuMDEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNS4wMSIseTE6IjkiLHkyOiI5In1dXX0pO3ZhciBsVCx2U2U9YygoKT0+e2xUPVtbInBhdGgiLHtkOiJNNCA1aDE2In1dLFsicGF0aCIse2Q6Ik00IDEyaDE2In1dLFsicGF0aCIse2Q6Ik00IDE5aDE2In1dXX0pO3ZhciBjVCx4U2U9YygoKT0+e2NUPVtbInBhdGgiLHtkOiJNMTIgMTJ2LTIifV0sWyJwYXRoIix7ZDoiTTEyIDE4di0yIn1dLFsicGF0aCIse2Q6Ik0xNiAxMnYtMiJ9XSxbInBhdGgiLHtkOiJNMTYgMTh2LTIifV0sWyJwYXRoIix7ZDoiTTIgMTFoMS41In1dLFsicGF0aCIse2Q6Ik0yMCAxOHYtMiJ9XSxbInBhdGgiLHtkOiJNMjAuNSAxMUgyMiJ9XSxbInBhdGgiLHtkOiJNNCAxOHYtMiJ9XSxbInBhdGgiLHtkOiJNOCAxMnYtMiJ9XSxbInBhdGgiLHtkOiJNOCAxOHYtMiJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMjAiLGhlaWdodDoiMTAiLHJ4OiIyIn1dXX0pO3ZhciBkVCx5U2U9YygoKT0+e2RUPVtbInBhdGgiLHtkOiJtOCA2IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MTAuM2E0IDQgMCAwIDEtMS4xNzIgMi44NzJMNCAyMiJ9XSxbInBhdGgiLHtkOiJtMjAgMjItNS01In1dXX0pO3ZhciBwVCx3U2U9YygoKT0+e3BUPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoibTkgMTIgMiAyIDQtNCJ9XV19KTt2YXIgdVQsTVNlPWMoKCk9Pnt1VD1bWyJwYXRoIix7ZDoibTEwIDktMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtMTQgMTUgMy0zLTMtMyJ9XSxbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV1dfSk7dmFyIGZULGtTZT1jKCgpPT57ZlQ9W1sicGF0aCIse2Q6Ik0xMC4xIDIuMTgyYTEwIDEwIDAgMCAxIDMuOCAwIn1dLFsicGF0aCIse2Q6Ik0xMy45IDIxLjgxOGExMCAxMCAwIDAgMS0zLjggMCJ9XSxbInBhdGgiLHtkOiJNMTcuNjA5IDMuNzJhMTAgMTAgMCAwIDEgMi42OSAyLjcifV0sWyJwYXRoIix7ZDoiTTIuMTgyIDEzLjlhMTAgMTAgMCAwIDEgMC0zLjgifV0sWyJwYXRoIix7ZDoiTTIwLjI4IDE3LjYxYTEwIDEwIDAgMCAxLTIuNyAyLjY5In1dLFsicGF0aCIse2Q6Ik0yMS44MTggMTAuMWExMCAxMCAwIDAgMSAwIDMuOCJ9XSxbInBhdGgiLHtkOiJNMy43MjEgNi4zOTFhMTAgMTAgMCAwIDEgMi43LTIuNjkifV0sWyJwYXRoIix7ZDoibTYuMTYzIDIxLjExNy0yLjkwNi44NWExIDEgMCAwIDEtMS4yMzYtMS4xNjlsLjk2NS0yLjk4In1dXX0pO3ZhciBoVCx6U2U9YygoKT0+e2hUPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoiTTcuODI4IDEzLjA3QTMgMyAwIDAgMSAxMiA4Ljc2NGEzIDMgMCAwIDEgNS4wMDQgMi4yMjQgMyAzIDAgMCAxLS44MzIgMi4wODNsLTMuNDQ3IDMuNjJhMSAxIDAgMCAxLTEuNDUtLjAwMXoifV1dfSk7dmFyIG1ULFNTZT1jKCgpPT57bVQ9W1sicGF0aCIse2Q6Ik0yLjk5MiAxNi4zNDJhMiAyIDAgMCAxIC4wOTQgMS4xNjdsLTEuMDY1IDMuMjlhMSAxIDAgMCAwIDEuMjM2IDEuMTY4bDMuNDEzLS45OThhMiAyIDAgMCAxIDEuMDk5LjA5MiAxMCAxMCAwIDEgMC00Ljc3Ny00LjcxOSJ9XSxbInBhdGgiLHtkOiJNOCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLjAxIn1dXX0pO3ZhciBnVCxDU2U9YygoKT0+e2dUPVtbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik00LjkzIDQuOTI5YTEwIDEwIDAgMCAwLTEuOTM4IDExLjQxMiAyIDIgMCAwIDEgLjA5NCAxLjE2N2wtMS4wNjUgMy4yOWExIDEgMCAwIDAgMS4yMzYgMS4xNjhsMy40MTMtLjk5OGEyIDIgMCAwIDEgMS4wOTkuMDkyIDEwIDEwIDAgMCAwIDExLjMwMi0xLjk4OSJ9XSxbInBhdGgiLHtkOiJNOC4zNSAyLjY5QTEwIDEwIDAgMCAxIDIxLjMgMTUuNjUifV1dfSk7dmFyIGJULF9TZT1jKCgpPT57YlQ9W1sicGF0aCIse2Q6Ik0yLjk5MiAxNi4zNDJhMiAyIDAgMCAxIC4wOTQgMS4xNjdsLTEuMDY1IDMuMjlhMSAxIDAgMCAwIDEuMjM2IDEuMTY4bDMuNDEzLS45OThhMiAyIDAgMCAxIDEuMDk5LjA5MiAxMCAxMCAwIDEgMC00Ljc3Ny00LjcxOSJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dLFsicGF0aCIse2Q6Ik0xMiA4djgifV1dfSk7dmFyIGEzLFRTZT1jKCgpPT57YTM9W1sicGF0aCIse2Q6Ik0yLjk5MiAxNi4zNDJhMiAyIDAgMCAxIC4wOTQgMS4xNjdsLTEuMDY1IDMuMjlhMSAxIDAgMCAwIDEuMjM2IDEuMTY4bDMuNDEzLS45OThhMiAyIDAgMCAxIDEuMDk5LjA5MiAxMCAxMCAwIDEgMC00Ljc3Ny00LjcxOSJ9XSxbInBhdGgiLHtkOiJNOS4wOSA5YTMgMyAwIDAgMSA1LjgzIDFjMCAyLTMgMy0zIDMifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSJ9XV19KTt2YXIgdlQsTFNlPWMoKCk9Pnt2VD1bWyJwYXRoIix7ZDoiTTIuOTkyIDE2LjM0MmEyIDIgMCAwIDEgLjA5NCAxLjE2N2wtMS4wNjUgMy4yOWExIDEgMCAwIDAgMS4yMzYgMS4xNjhsMy40MTMtLjk5OGEyIDIgMCAwIDEgMS4wOTkuMDkyIDEwIDEwIDAgMSAwLTQuNzc3LTQuNzE5In1dLFsicGF0aCIse2Q6Im0xMCAxNS0zLTMgMy0zIn1dLFsicGF0aCIse2Q6Ik03IDEyaDhhMiAyIDAgMCAxIDIgMnYxIn1dXX0pO3ZhciB4VCwkU2U9YygoKT0+e3hUPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoiTTEyIDh2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZoLjAxIn1dXX0pO3ZhciB5VCxEU2U9YygoKT0+e3lUPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Im05IDkgNiA2In1dXX0pO3ZhciB3VCxBU2U9YygoKT0+e3dUPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV1dfSk7dmFyIE1ULFBTZT1jKCgpPT57TVQ9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43LjcgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6In1dLFsicGF0aCIse2Q6Im05IDExIDIgMiA0LTQifV1dfSk7dmFyIGtULEVTZT1jKCgpPT57a1Q9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoibTEwIDgtMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtMTQgMTQgMy0zLTMtMyJ9XV19KTt2YXIgelQsSVNlPWMoKCk9Pnt6VD1bWyJwYXRoIix7ZDoiTTE0IDNoMiJ9XSxbInBhdGgiLHtkOiJNMTYgMTloLTIifV0sWyJwYXRoIix7ZDoiTTIgMTJ2LTIifV0sWyJwYXRoIix7ZDoiTTIgMTZ2NS4yODZhLjcxLjcxIDAgMCAwIDEuMjEyLjUwMmwxLjE0OS0xLjE0OSJ9XSxbInBhdGgiLHtkOiJNMjAgMTlhMiAyIDAgMCAwIDItMnYtMSJ9XSxbInBhdGgiLHtkOiJNMjIgMTB2MiJ9XSxbInBhdGgiLHtkOiJNMjIgNlY1YTIgMiAwIDAgMC0yLTIifV0sWyJwYXRoIix7ZDoiTTQgM2EyIDIgMCAwIDAtMiAydjEifV0sWyJwYXRoIix7ZDoiTTggMTloMiJ9XSxbInBhdGgiLHtkOiJNOCAzaDIifV1dfSk7dmFyIFNULE5TZT1jKCgpPT57U1Q9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTEwIDE1aDQifV0sWyJwYXRoIix7ZDoiTTEwIDloNCJ9XSxbInBhdGgiLHtkOiJNMTIgN3Y0In1dXX0pO3ZhciBDVCxSU2U9YygoKT0+e0NUPVtbInBhdGgiLHtkOiJNMTIuNyAzSDRhMiAyIDAgMCAwLTIgMnYxNi4yODZhLjcxLjcxIDAgMCAwIDEuMjEyLjUwMmwyLjIwMi0yLjIwMkEyIDIgMCAwIDEgNi44MjggMTlIMjBhMiAyIDAgMCAwIDItMnYtNC43In1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiNiIscjoiMyJ9XV19KTt2YXIgX1QsRlNlPWMoKCk9PntfVD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNNy41IDkuNWMwIC42ODcuMjY1IDEuMzgzLjY5NyAxLjg0NGwzLjAwOSAzLjI2NGExLjE0IDEuMTQgMCAwIDAgLjQwNy4zMTQgMSAxIDAgMCAwIC43ODMtLjAwNCAxLjE0IDEuMTQgMCAwIDAgLjM5OC0uMzFsMy4wMDgtMy4yNjRBMi43NyAyLjc3IDAgMCAwIDE2LjUgOS41IDIuNSAyLjUgMCAwIDAgMTIgOGEyLjUgMi41IDAgMCAwLTQuNSAxLjUifV1dfSk7dmFyIFRULE9TZT1jKCgpPT57VFQ9W1sicGF0aCIse2Q6Ik0yMiA4LjVWNWEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxNi4yODZhLjcxLjcxIDAgMCAwIDEuMjEyLjUwMmwyLjIwMi0yLjIwMkEyIDIgMCAwIDEgNi44MjggMTlIMTAifV0sWyJwYXRoIix7ZDoiTTIwIDE1di0yYTIgMiAwIDAgMC00IDB2MiJ9XSxbInJlY3QiLHt4OiIxNCIseToiMTUiLHdpZHRoOiI4IixoZWlnaHQ6IjUiLHJ4OiIxIn1dXX0pO3ZhciBMVCxCU2U9YygoKT0+e0xUPVtbInBhdGgiLHtkOiJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6In1dLFsicGF0aCIse2Q6Ik0xMiAxMWguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDExaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxMWguMDEifV1dfSk7dmFyICRULEhTZT1jKCgpPT57JFQ9W1sicGF0aCIse2Q6Ik0xOSAxOUg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNy43IDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDEuMTg0LTEuODI2In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTguNjU2IDNIMjBhMiAyIDAgMCAxIDIgMnYxMS4zNDQifV1dfSk7dmFyIERULHFTZT1jKCgpPT57RFQ9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTEyIDh2NiJ9XSxbInBhdGgiLHtkOiJNOSAxMWg2In1dXX0pO3ZhciBBVCxWU2U9YygoKT0+e0FUPVtbInBhdGgiLHtkOiJNMTQgMTRhMiAyIDAgMCAwIDItMlY4aC0yIn1dLFsicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTggMTRhMiAyIDAgMCAwIDItMlY4SDgifV1dfSk7dmFyIFBULGpTZT1jKCgpPT57UFQ9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoibTEwIDgtMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTcgMTR2LTFhMiAyIDAgMCAwLTItMkg3In1dXX0pO3ZhciBFVCxVU2U9YygoKT0+e0VUPVtbInBhdGgiLHtkOiJNMTIgM0g0YTIgMiAwIDAgMC0yIDJ2MTYuMjg2YS43MS43MSAwIDAgMCAxLjIxMi41MDJsMi4yMDItMi4yMDJBMiAyIDAgMCAxIDYuODI4IDE5SDIwYTIgMiAwIDAgMCAyLTJ2LTQifV0sWyJwYXRoIix7ZDoiTTE2IDNoNnY2In1dLFsicGF0aCIse2Q6Im0xNiA5IDYtNiJ9XV19KTt2YXIgSVQsV1NlPWMoKCk9PntJVD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNNyAxMWgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNWg2In1dLFsicGF0aCIse2Q6Ik03IDdoOCJ9XV19KTt2YXIgTlQsR1NlPWMoKCk9PntOVD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTIgMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiA3djQifV1dfSk7dmFyIFJULFlTZT1jKCgpPT57UlQ9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoibTE0LjUgOC41LTUgNSJ9XSxbInBhdGgiLHtkOiJtOS41IDguNSA1IDUifV1dfSk7dmFyIEZULFpTZT1jKCgpPT57RlQ9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV1dfSk7dmFyIE9ULFhTZT1jKCgpPT57T1Q9W1sicGF0aCIse2Q6Ik0xNiAxMGEyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDE0LjI4NlY0YTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTIwIDlhMiAyIDAgMCAxIDIgMnYxMC4yODZhLjcxLjcxIDAgMCAxLTEuMjEyLjUwMmwtMi4yMDItMi4yMDJBMiAyIDAgMCAwIDE3LjE3MiAxOUgxMGEyIDIgMCAwIDEtMi0ydi0xIn1dXX0pO3ZhciBCVCxLU2U9YygoKT0+e0JUPVtbInBhdGgiLHtkOiJNMTIgMTEuNFY5LjEifV0sWyJwYXRoIix7ZDoibTEyIDE3IDYuNTktNi41OSJ9XSxbInBhdGgiLHtkOiJtMTUuMDUgNS43LS4yMTgtLjY5MWEzIDMgMCAwIDAtNS42NjMgMEw0LjQxOCAxOS42OTVBMSAxIDAgMCAwIDUuMzcgMjFoMTMuMjUzYTEgMSAwIDAgMCAuOTUxLTEuMzFMMTguNDUgMTYuMiJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjkiLHI6IjIifV1dfSk7dmFyIEhULFFTZT1jKCgpPT57SFQ9W1sicGF0aCIse2Q6Ik0xMiAxOXYzIn1dLFsicGF0aCIse2Q6Ik0xNSA5LjM0VjVhMyAzIDAgMCAwLTUuNjgtMS4zMyJ9XSxbInBhdGgiLHtkOiJNMTYuOTUgMTYuOTVBNyA3IDAgMCAxIDUgMTJ2LTIifV0sWyJwYXRoIix7ZDoiTTE4Ljg5IDEzLjIzQTcgNyAwIDAgMCAxOSAxMnYtMiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik05IDl2M2EzIDMgMCAwIDAgNS4xMiAyLjEyIn1dXX0pO3ZhciByMyxKU2U9YygoKT0+e3IzPVtbInBhdGgiLHtkOiJtMTEgNy42MDEtNS45OTQgOC4xOWExIDEgMCAwIDAgLjEgMS4yOThsLjgxNy44MThhMSAxIDAgMCAwIDEuMzE0LjA4N0wxNS4wOSAxMiJ9XSxbInBhdGgiLHtkOiJNMTYuNSAyMS4xNzRDMTUuNSAyMC41IDE0LjM3MiAyMCAxMyAyMGMtMi4wNTggMC0zLjkyOCAyLjM1Ni02IDItMi4wNzItLjM1Ni0yLjc3NS0zLjM2OS0xLjUtNC41In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiNyIscjoiNSJ9XV19KTt2YXIgcVQsZUNlPWMoKCk9PntxVD1bWyJwYXRoIix7ZDoiTTEyIDE5djMifV0sWyJwYXRoIix7ZDoiTTE5IDEwdjJhNyA3IDAgMCAxLTE0IDB2LTIifV0sWyJyZWN0Iix7eDoiOSIseToiMiIsd2lkdGg6IjYiLGhlaWdodDoiMTMiLHJ4OiIzIn1dXX0pO3ZhciBWVCx0Q2U9YygoKT0+e1ZUPVtbInBhdGgiLHtkOiJNMTAgMTJoNCJ9XSxbInBhdGgiLHtkOiJNMTAgMTdoNCJ9XSxbInBhdGgiLHtkOiJNMTAgN2g0In1dLFsicGF0aCIse2Q6Ik0xOCAxMmgyIn1dLFsicGF0aCIse2Q6Ik0xOCAxOGgyIn1dLFsicGF0aCIse2Q6Ik0xOCA2aDIifV0sWyJwYXRoIix7ZDoiTTQgMTJoMiJ9XSxbInBhdGgiLHtkOiJNNCAxOGgyIn1dLFsicGF0aCIse2Q6Ik00IDZoMiJ9XSxbInJlY3QiLHt4OiI2Iix5OiIyIix3aWR0aDoiMTIiLGhlaWdodDoiMjAiLHJ4OiIyIn1dXX0pO3ZhciBqVCxhQ2U9YygoKT0+e2pUPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTUiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjciLHg6IjYiLHk6IjgiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0xOCA4djcifV0sWyJwYXRoIix7ZDoiTTYgMTl2MiJ9XSxbInBhdGgiLHtkOiJNMTggMTl2MiJ9XV19KTt2YXIgVVQsckNlPWMoKCk9PntVVD1bWyJwYXRoIix7ZDoiTTEyIDEzdjgifV0sWyJwYXRoIix7ZDoiTTEyIDN2MyJ9XSxbInBhdGgiLHtkOiJNNCA2YTEgMSAwIDAgMC0xIDF2NWExIDEgMCAwIDAgMSAxaDEzYTIgMiAwIDAgMCAxLjE1Mi0uMzY1bDMuNDI0LTIuMzE3YTEgMSAwIDAgMCAwLTEuNjM1bC0zLjQyNC0yLjMxOEEyIDIgMCAwIDAgMTcgNnoifV1dfSk7dmFyIFdULGlDZT1jKCgpPT57V1Q9W1sicGF0aCIse2Q6Ik02IDE4aDgifV0sWyJwYXRoIix7ZDoiTTMgMjJoMTgifV0sWyJwYXRoIix7ZDoiTTE0IDIyYTcgNyAwIDEgMCAwLTE0aC0xIn1dLFsicGF0aCIse2Q6Ik05IDE0aDIifV0sWyJwYXRoIix7ZDoiTTkgMTJhMiAyIDAgMCAxLTItMlY2aDZ2NGEyIDIgMCAwIDEtMiAyWiJ9XSxbInBhdGgiLHtkOiJNMTIgNlYzYTEgMSAwIDAgMC0xLTFIOWExIDEgMCAwIDAtMSAxdjMifV1dfSk7dmFyIEdULHNDZT1jKCgpPT57R1Q9W1sicGF0aCIse2Q6Ik04IDJoOCJ9XSxbInBhdGgiLHtkOiJNOSAydjEuMzQzTTE1IDJ2Mi43ODlhNCA0IDAgMCAwIC42NzIgMi4yMTlsLjY1Ni45ODRhNCA0IDAgMCAxIC42NzIgMi4yMnYxLjEzMU03LjggNy44bC0uMTI4LjE5MkE0IDQgMCAwIDAgNyAxMC4yMTJWMjBhMiAyIDAgMCAwIDIgMmg2YTIgMiAwIDAgMCAyLTJ2LTMifV0sWyJwYXRoIix7ZDoiTTcgMTVhNi40NyA2LjQ3IDAgMCAxIDUgMCA2LjQ3MiA2LjQ3MiAwIDAgMCAzLjQzNS40MzUifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIgWVQsb0NlPWMoKCk9PntZVD1bWyJwYXRoIix7ZDoibTE0IDEwIDctNyJ9XSxbInBhdGgiLHtkOiJNMjAgMTBoLTZWNCJ9XSxbInBhdGgiLHtkOiJtMyAyMSA3LTcifV0sWyJwYXRoIix7ZDoiTTQgMTRoNnY2In1dXX0pO3ZhciBaVCxuQ2U9YygoKT0+e1pUPVtbInBhdGgiLHtkOiJNOCAyaDgifV0sWyJwYXRoIix7ZDoiTTkgMnYyLjc4OWE0IDQgMCAwIDEtLjY3MiAyLjIxOWwtLjY1Ni45ODRBNCA0IDAgMCAwIDcgMTAuMjEyVjIwYTIgMiAwIDAgMCAyIDJoNmEyIDIgMCAwIDAgMi0ydi05Ljc4OWE0IDQgMCAwIDAtLjY3Mi0yLjIxOWwtLjY1Ni0uOTg0QTQgNCAwIDAgMSAxNSA0Ljc4OFYyIn1dLFsicGF0aCIse2Q6Ik03IDE1YTYuNDcyIDYuNDcyIDAgMCAxIDUgMCA2LjQ3IDYuNDcgMCAwIDAgNSAwIn1dXX0pO3ZhciBYVCxsQ2U9YygoKT0+e1hUPVtbInBhdGgiLHtkOiJNOCAzdjNhMiAyIDAgMCAxLTIgMkgzIn1dLFsicGF0aCIse2Q6Ik0yMSA4aC0zYTIgMiAwIDAgMS0yLTJWMyJ9XSxbInBhdGgiLHtkOiJNMyAxNmgzYTIgMiAwIDAgMSAyIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMTYgMjF2LTNhMiAyIDAgMCAxIDItMmgzIn1dXX0pO3ZhciBLVCxjQ2U9YygoKT0+e0tUPVtbInBhdGgiLHtkOiJNNSAxMmgxNCJ9XV19KTt2YXIgUVQsZENlPWMoKCk9PntRVD1bWyJwYXRoIix7ZDoiTTExIDYgOCA5In1dLFsicGF0aCIse2Q6Im0xNiA3LTggOCJ9XSxbInJlY3QiLHt4OiI0Iix5OiIyIix3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHJ4OiIyIn1dXX0pO3ZhciBKVCxwQ2U9YygoKT0+e0pUPVtbInBhdGgiLHtkOiJNMTAgNi42IDguNiA4In1dLFsicGF0aCIse2Q6Ik0xMiAxOHY0In1dLFsicGF0aCIse2Q6Ik0xNSA3LjUgOS41IDEzIn1dLFsicGF0aCIse2Q6Ik03IDIyaDEwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjgifV1dfSk7dmFyIGVMLHVDZT1jKCgpPT57ZUw9W1sicGF0aCIse2Q6Im05IDEwIDIgMiA0LTQifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dXX0pO3ZhciB0TCxmQ2U9YygoKT0+e3RMPVtbInBhdGgiLHtkOiJNMTEgMTNhMyAzIDAgMSAxIDIuODMtNEgxNGEyIDIgMCAwIDEgMCA0eiJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dLFsicmVjdCIse3g6IjIiLHk6IjMiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNCIscng6IjIifV1dfSk7dmFyIGFMLGhDZT1jKCgpPT57YUw9W1sicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Im0xNC4zMDUgNy41My45MjMtLjM4MiJ9XSxbInBhdGgiLHtkOiJtMTUuMjI4IDQuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDMuMjI4LS4zODMtLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDguNzcyLS4zODMuOTIzIn1dLFsicGF0aCIse2Q6Im0xOS4xNDggMy4yMjguMzgzLS45MjQifV0sWyJwYXRoIix7ZDoibTE5LjUzIDkuNjk2LS4zODItLjkyNCJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDQuODUyLjkyNC0uMzgzIn1dLFsicGF0aCIse2Q6Im0yMC43NzIgNy4xNDguOTI0LjM4MyJ9XSxbInBhdGgiLHtkOiJNMjIgMTN2MmEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNyJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiNiIscjoiMyJ9XV19KTt2YXIgckwsbUNlPWMoKCk9PntyTD1bWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTIyIDEyLjMwN1YxNWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoOC42OTMifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjYiLHI6IjMifV1dfSk7dmFyIGlMLGdDZT1jKCgpPT57aUw9W1sicGF0aCIse2Q6Ik0xMiAxM1Y3In1dLFsicGF0aCIse2Q6Im0xNSAxMC0zIDMtMy0zIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XV19KTt2YXIgc0wsYkNlPWMoKCk9PntzTD1bWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTE3IDE3SDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAxLjE4NC0xLjgyNiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV0sWyJwYXRoIix7ZDoiTTguNjU2IDNIMjBhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtLjI5MyAxLjA0MiJ9XV19KTt2YXIgb0wsdkNlPWMoKCk9PntvTD1bWyJwYXRoIix7ZDoiTTEwIDEzVjcifV0sWyJwYXRoIix7ZDoiTTE0IDEzVjcifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dXX0pO3ZhciBuTCx4Q2U9YygoKT0+e25MPVtbInBhdGgiLHtkOiJNMTUuMDMzIDkuNDRhLjY0Ny42NDcgMCAwIDEgMCAxLjEybC00LjA2NSAyLjM1MmEuNjQ1LjY0NSAwIDAgMS0uOTY4LS41NlY3LjY0OGEuNjQ1LjY0NSAwIDAgMSAuOTY3LS41NnoifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XSxbInJlY3QiLHt4OiIyIix5OiIzIix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXX0pO3ZhciBsTCx5Q2U9YygoKT0+e2xMPVtbInBhdGgiLHtkOiJNMTggOFY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjdhMiAyIDAgMCAwIDIgMmg4In1dLFsicGF0aCIse2Q6Ik0xMCAxOXYtMy45NiAzLjE1In1dLFsicGF0aCIse2Q6Ik03IDE5aDUifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTAiLHg6IjE2Iix5OiIxMiIscng6IjIifV1dfSk7dmFyIGNMLHdDZT1jKCgpPT57Y0w9W1sicGF0aCIse2Q6Ik01LjUgMjBIOCJ9XSxbInBhdGgiLHtkOiJNMTcgOWguMDEifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjE2Iix4OiIxMiIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTggNkg0YTIgMiAwIDAgMC0yIDJ2NmEyIDIgMCAwIDAgMiAyaDQifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxNSIscjoiMSJ9XV19KTt2YXIgZEwsTUNlPWMoKCk9PntkTD1bWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XSxbInJlY3QiLHt4OiIyIix5OiIzIix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dLFsicmVjdCIse3g6IjkiLHk6IjciLHdpZHRoOiI2IixoZWlnaHQ6IjYiLHJ4OiIxIn1dXX0pO3ZhciBwTCxrQ2U9YygoKT0+e3BMPVtbInBhdGgiLHtkOiJtOSAxMCAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Ik0xMiAxM1Y3In1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XV19KTt2YXIgdUwsekNlPWMoKCk9Pnt1TD1bWyJwYXRoIix7ZDoibTE0LjUgMTIuNS01LTUifV0sWyJwYXRoIix7ZDoibTkuNSAxMi41IDUtNSJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV1dfSk7dmFyIGZMLFNDZT1jKCgpPT57Zkw9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiMyIscng6IjIifV0sWyJsaW5lIix7eDE6IjgiLHgyOiIxNiIseTE6IjIxIix5MjoiMjEifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIxNyIseTI6IjIxIn1dXX0pO3ZhciBoTCxDQ2U9YygoKT0+e2hMPVtbInBhdGgiLHtkOiJNMTggNWg0In1dLFsicGF0aCIse2Q6Ik0yMCAzdjQifV0sWyJwYXRoIix7ZDoiTTIwLjk4NSAxMi40ODZhOSA5IDAgMSAxLTkuNDczLTkuNDcyYy40MDUtLjAyMi42MTcuNDYuNDAyLjgwM2E2IDYgMCAwIDAgOC4yNjggOC4yNjhjLjM0NC0uMjE1LjgyNS0uMDA0LjgwMy40MDEifV1dfSk7dmFyIG1MLF9DZT1jKCgpPT57bUw9W1sicGF0aCIse2Q6Ik0yMC45ODUgMTIuNDg2YTkgOSAwIDEgMS05LjQ3My05LjQ3MmMuNDA1LS4wMjIuNjE3LjQ2LjQwMi44MDNhNiA2IDAgMCAwIDguMjY4IDguMjY4Yy4zNDQtLjIxNS44MjUtLjAwNC44MDMuNDAxIn1dXX0pO3ZhciBnTCxUQ2U9YygoKT0+e2dMPVtbInBhdGgiLHtkOiJtMTggMTQtMS0zIn1dLFsicGF0aCIse2Q6Im0zIDkgNiAyYTIgMiAwIDAgMSAyLTJoMmEyIDIgMCAwIDEgMS45OSAxLjgxIn1dLFsicGF0aCIse2Q6Ik04IDE3aDNhMSAxIDAgMCAwIDEtMSA2IDYgMCAwIDEgNi02IDEgMSAwIDAgMCAxLTF2LS43NUE1IDUgMCAwIDAgMTcgNSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE3IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxNyIscjoiMyJ9XV19KTt2YXIgYkwsTENlPWMoKCk9PntiTD1bWyJwYXRoIix7ZDoibTggMyA0IDggNS01IDUgMTVIMkw4IDN6In1dLFsicGF0aCIse2Q6Ik00LjE0IDE1LjA4YzIuNjItMS41NyA1LjI0LTEuNDMgNy44Ni40MiAyLjc0IDEuOTQgNS40OSAyIDguMjMuMTkifV1dfSk7dmFyIHZMLCRDZT1jKCgpPT57dkw9W1sicGF0aCIse2Q6Im04IDMgNCA4IDUtNSA1IDE1SDJMOCAzeiJ9XV19KTt2YXIgeEwsRENlPWMoKCk9Pnt4TD1bWyJwYXRoIix7ZDoiTTEyIDcuMzE4VjEwIn1dLFsicGF0aCIse2Q6Ik01IDEwdjVhNyA3IDAgMCAwIDE0IDBWOWMwLTMuNTI3LTIuNjA4LTYuNTE1LTYtNyJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiNCIscjoiMiJ9XV19KTt2YXIgeUwsQUNlPWMoKCk9Pnt5TD1bWyJwYXRoIix7ZDoiTTEyIDZ2LjM0MyJ9XSxbInBhdGgiLHtkOiJNMTguMjE4IDE4LjIxOEE3IDcgMCAwIDEgNSAxNVY5YTcgNyAwIDAgMSAuNzgyLTMuMjE4In1dLFsicGF0aCIse2Q6Ik0xOSAxMy4zNDNWOUE3IDcgMCAwIDAgOC41NiAyLjkwMiJ9XSxbInBhdGgiLHtkOiJNMjIgMjIgMiAyIn1dXX0pO3ZhciB3TCxQQ2U9YygoKT0+e3dMPVtbInBhdGgiLHtkOiJtMTUuNTUgOC40NSA1LjEzOCAyLjA4N2EuNS41IDAgMCAxLS4wNjMuOTQ3bC02LjEyNCAxLjU4YTIgMiAwIDAgMC0xLjQzOCAxLjQzNWwtMS41NzkgNi4xMjZhLjUuNSAwIDAgMS0uOTQ3LjA2M0w4LjQ1IDE1LjU1MSJ9XSxbInBhdGgiLHtkOiJNMjIgMiAyIDIyIn1dLFsicGF0aCIse2Q6Im02LjgxNiAxMS41MjgtMi43NzktNi44NGEuNDk1LjQ5NSAwIDAgMSAuNjUxLS42NTFsNi44NCAyLjc3OSJ9XV19KTt2YXIgTUwsRUNlPWMoKCk9PntNTD1bWyJwYXRoIix7ZDoiTTQuMDM3IDQuNjg4YS40OTUuNDk1IDAgMCAxIC42NTEtLjY1MWwxNiA2LjVhLjUuNSAwIDAgMS0uMDYzLjk0N2wtNi4xMjQgMS41OGEyIDIgMCAwIDAtMS40MzggMS40MzVsLTEuNTc5IDYuMTI2YS41LjUgMCAwIDEtLjk0Ny4wNjN6In1dXX0pO3ZhciBrTCxJQ2U9YygoKT0+e2tMPVtbInBhdGgiLHtkOiJNMi4wMzQgMi42ODFhLjQ5OC40OTggMCAwIDEgLjY0Ny0uNjQ3bDkgMy41YS41LjUgMCAwIDEtLjAzMy45NDRMOC4yMDQgNy41NDVhMSAxIDAgMCAwLS42Ni42NmwtMS4wNjYgMy40NDNhLjUuNSAwIDAgMS0uOTQ0LjAzM3oifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNiIscjoiNiJ9XSxbInBhdGgiLHtkOiJtMTEuOCAxMS44IDguNCA4LjQifV1dfSk7dmFyIHpMLE5DZT1jKCgpPT57ekw9W1sicGF0aCIse2Q6Ik0xNCA0LjEgMTIgNiJ9XSxbInBhdGgiLHtkOiJtNS4xIDgtMi45LS44In1dLFsicGF0aCIse2Q6Im02IDEyLTEuOSAyIn1dLFsicGF0aCIse2Q6Ik03LjIgMi4yIDggNS4xIn1dLFsicGF0aCIse2Q6Ik05LjAzNyA5LjY5YS40OTguNDk4IDAgMCAxIC42NTMtLjY1M2wxMSA0LjVhLjUuNSAwIDAgMS0uMDc0Ljk0OWwtNC4zNDkgMS4wNDFhMSAxIDAgMCAwLS43NC43MzlsLTEuMDQgNC4zNWEuNS41IDAgMCAxLS45NS4wNzR6In1dXX0pO3ZhciBTTCxSQ2U9YygoKT0+e1NMPVtbInBhdGgiLHtkOiJNMTIuNTg2IDEyLjU4NiAxOSAxOSJ9XSxbInBhdGgiLHtkOiJNMy42ODggMy4wMzdhLjQ5Ny40OTcgMCAwIDAtLjY1MS42NTFsNi41IDE1Ljk5OWEuNTAxLjUwMSAwIDAgMCAuOTQ3LS4wNjJsMS41NjktNi4wODNhMiAyIDAgMCAxIDEuNDQ4LTEuNDc5bDYuMTI0LTEuNTc5YS41LjUgMCAwIDAgLjA2My0uOTQ3eiJ9XV19KTt2YXIgQ0wsRkNlPWMoKCk9PntDTD1bWyJwYXRoIix7ZDoiTTEyIDcuMzE4VjEwIn1dLFsicGF0aCIse2Q6Ik0xOSAxMHY1YTcgNyAwIDAgMS0xNCAwVjljMC0zLjUyNyAyLjYwOC02LjUxNSA2LTcifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiI0IixyOiIyIn1dXX0pO3ZhciBpMyxPQ2U9YygoKT0+e2kzPVtbInBhdGgiLHtkOiJNNSAzdjE2aDE2In1dLFsicGF0aCIse2Q6Im01IDE5IDYtNiJ9XSxbInBhdGgiLHtkOiJtMiA2IDMtMyAzIDMifV0sWyJwYXRoIix7ZDoibTE4IDE2IDMgMy0zIDMifV1dfSk7dmFyIF9MLEJDZT1jKCgpPT57X0w9W1sicmVjdCIse3g6IjUiLHk6IjIiLHdpZHRoOiIxNCIsaGVpZ2h0OiIyMCIscng6IjcifV0sWyJwYXRoIix7ZDoiTTEyIDZ2NCJ9XV19KTt2YXIgVEwsSENlPWMoKCk9PntUTD1bWyJwYXRoIix7ZDoiTTE5IDEzdjZoLTYifV0sWyJwYXRoIix7ZDoiTTUgMTFWNWg2In1dLFsicGF0aCIse2Q6Im01IDUgMTQgMTQifV1dfSk7dmFyIExMLHFDZT1jKCgpPT57TEw9W1sicGF0aCIse2Q6Ik0xMSAxOUg1di02In1dLFsicGF0aCIse2Q6Ik0xMyA1aDZ2NiJ9XSxbInBhdGgiLHtkOiJNMTkgNSA1IDE5In1dXX0pO3ZhciAkTCxWQ2U9YygoKT0+eyRMPVtbInBhdGgiLHtkOiJNMTkgMTNWMTlIMTMifV0sWyJwYXRoIix7ZDoiTTUgNUwxOSAxOSJ9XV19KTt2YXIgREwsakNlPWMoKCk9PntETD1bWyJwYXRoIix7ZDoiTTExIDE5SDVWMTMifV0sWyJwYXRoIix7ZDoiTTE5IDVMNSAxOSJ9XV19KTt2YXIgQUwsVUNlPWMoKCk9PntBTD1bWyJwYXRoIix7ZDoiTTggMThMMTIgMjJMMTYgMTgifV0sWyJwYXRoIix7ZDoiTTEyIDJWMjIifV1dfSk7dmFyIFBMLFdDZT1jKCgpPT57UEw9W1sicGF0aCIse2Q6Im0xOCA4IDQgNC00IDQifV0sWyJwYXRoIix7ZDoiTTIgMTJoMjAifV0sWyJwYXRoIix7ZDoibTYgOC00IDQgNCA0In1dXX0pO3ZhciBFTCxHQ2U9YygoKT0+e0VMPVtbInBhdGgiLHtkOiJNMTggOEwyMiAxMkwxOCAxNiJ9XSxbInBhdGgiLHtkOiJNMiAxMkgyMiJ9XV19KTt2YXIgSUwsWUNlPWMoKCk9PntJTD1bWyJwYXRoIix7ZDoiTTYgOEwyIDEyTDYgMTYifV0sWyJwYXRoIix7ZDoiTTIgMTJIMjIifV1dfSk7dmFyIE5MLFpDZT1jKCgpPT57Tkw9W1sicGF0aCIse2Q6Ik01IDExVjVIMTEifV0sWyJwYXRoIix7ZDoiTTUgNUwxOSAxOSJ9XV19KTt2YXIgUkwsWENlPWMoKCk9PntSTD1bWyJwYXRoIix7ZDoiTTEzIDVIMTlWMTEifV0sWyJwYXRoIix7ZDoiTTE5IDVMNSAxOSJ9XV19KTt2YXIgRkwsS0NlPWMoKCk9PntGTD1bWyJwYXRoIix7ZDoiTTggNkwxMiAyTDE2IDYifV0sWyJwYXRoIix7ZDoiTTEyIDJWMjIifV1dfSk7dmFyIE9MLFFDZT1jKCgpPT57T0w9W1sicGF0aCIse2Q6Ik0xMiAydjIwIn1dLFsicGF0aCIse2Q6Im04IDE4IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoibTggNiA0LTQgNCA0In1dXX0pO3ZhciBCTCxKQ2U9YygoKT0+e0JMPVtbInBhdGgiLHtkOiJNMTIgMnYyMCJ9XSxbInBhdGgiLHtkOiJtMTUgMTktMyAzLTMtMyJ9XSxbInBhdGgiLHtkOiJtMTkgOSAzIDMtMyAzIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIwIn1dLFsicGF0aCIse2Q6Im01IDktMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtOSA1IDMtMyAzIDMifV1dfSk7dmFyIEhMLGVfZT1jKCgpPT57SEw9W1siY2lyY2xlIix7Y3g6IjgiLGN5OiIxOCIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTIgMThWMmw3IDQifV1dfSk7dmFyIHFMLHRfZT1jKCgpPT57cUw9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTgiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTE2IDE4VjIifV1dfSk7dmFyIFZMLGFfZT1jKCgpPT57Vkw9W1sicGF0aCIse2Q6Ik05IDE4VjVsMTItMnYxMyJ9XSxbInBhdGgiLHtkOiJtOSA5IDEyLTIifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjE4IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTYiLHI6IjMifV1dfSk7dmFyIGpMLHJfZT1jKCgpPT57akw9W1sicGF0aCIse2Q6Ik05IDE4VjVsMTItMnYxMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMTgiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxNiIscjoiMyJ9XV19KTt2YXIgVUwsaV9lPWMoKCk9PntVTD1bWyJwYXRoIix7ZDoiTTkuMzEgOS4zMSA1IDIxbDctNCA3IDQtMS4xNy0zLjE3In1dLFsicGF0aCIse2Q6Ik0xNC41MyA4Ljg4IDEyIDJsLTEuMTcgMy4xNyJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dXX0pO3ZhciBXTCxzX2U9YygoKT0+e1dMPVtbInBvbHlnb24iLHtwb2ludHM6IjEyIDIgMTkgMjEgMTIgMTcgNSAyMSAxMiAyIn1dXX0pO3ZhciBHTCxvX2U9YygoKT0+e0dMPVtbInBhdGgiLHtkOiJNOC40MyA4LjQzIDMgMTFsOCAyIDIgOCAyLjU3LTUuNDMifV0sWyJwYXRoIix7ZDoiTTE3LjM5IDExLjczIDIyIDJsLTkuNzMgNC42MSJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dXX0pO3ZhciBZTCxuX2U9YygoKT0+e1lMPVtbInBvbHlnb24iLHtwb2ludHM6IjMgMTEgMjIgMiAxMyAyMSAxMSAxMyAzIDExIn1dXX0pO3ZhciBaTCxsX2U9YygoKT0+e1pMPVtbInJlY3QiLHt4OiIxNiIseToiMTYiLHdpZHRoOiI2IixoZWlnaHQ6IjYiLHJ4OiIxIn1dLFsicmVjdCIse3g6IjIiLHk6IjE2Iix3aWR0aDoiNiIsaGVpZ2h0OiI2IixyeDoiMSJ9XSxbInJlY3QiLHt4OiI5Iix5OiIyIix3aWR0aDoiNiIsaGVpZ2h0OiI2IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNNSAxNnYtM2ExIDEgMCAwIDEgMS0xaDEyYTEgMSAwIDAgMSAxIDF2MyJ9XSxbInBhdGgiLHtkOiJNMTIgMTJWOCJ9XV19KTt2YXIgWEwsY19lPWMoKCk9PntYTD1bWyJwYXRoIix7ZDoiTTYgOC4zMmE3LjQzIDcuNDMgMCAwIDEgMCA3LjM2In1dLFsicGF0aCIse2Q6Ik05LjQ2IDYuMjFhMTEuNzYgMTEuNzYgMCAwIDEgMCAxMS41OCJ9XSxbInBhdGgiLHtkOiJNMTIuOTEgNC4xYTE1LjkxIDE1LjkxIDAgMCAxIC4wMSAxNS44In1dLFsicGF0aCIse2Q6Ik0xNi4zNyAyYTIwLjE2IDIwLjE2IDAgMCAxIDAgMjAifV1dfSk7dmFyIEtMLGRfZT1jKCgpPT57S0w9W1sicGF0aCIse2Q6Ik0xNSAxOGgtNSJ9XSxbInBhdGgiLHtkOiJNMTggMTRoLTgifV0sWyJwYXRoIix7ZDoiTTQgMjJoMTZhMiAyIDAgMCAwIDItMlY0YTIgMiAwIDAgMC0yLTJIOGEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMS00IDB2LTlhMiAyIDAgMCAxIDItMmgyIn1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjEwIix5OiI2IixyeDoiMSJ9XV19KTt2YXIgUUwscF9lPWMoKCk9PntRTD1bWyJwYXRoIix7ZDoiTTEyIDJ2MTAifV0sWyJwYXRoIix7ZDoibTguNSA0IDcgNCJ9XSxbInBhdGgiLHtkOiJtOC41IDggNy00In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTciLHI6IjUifV1dfSk7dmFyIEpMLHVfZT1jKCgpPT57Skw9W1sicGF0aCIse2Q6Ik0xMy40IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtNy40In1dLFsicGF0aCIse2Q6Ik0yIDZoNCJ9XSxbInBhdGgiLHtkOiJNMiAxMGg0In1dLFsicGF0aCIse2Q6Ik0yIDE0aDQifV0sWyJwYXRoIix7ZDoiTTIgMThoNCJ9XSxbInBhdGgiLHtkOiJNMjEuMzc4IDUuNjI2YTEgMSAwIDEgMC0zLjAwNC0zLjAwNGwtNS4wMSA1LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoifV1dfSk7dmFyIGUkLGZfZT1jKCgpPT57ZSQ9W1sicGF0aCIse2Q6Ik0yIDZoNCJ9XSxbInBhdGgiLHtkOiJNMiAxMGg0In1dLFsicGF0aCIse2Q6Ik0yIDE0aDQifV0sWyJwYXRoIix7ZDoiTTIgMThoNCJ9XSxbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHg6IjQiLHk6IjIiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNSAydjIwIn1dLFsicGF0aCIse2Q6Ik0xNSA3aDUifV0sWyJwYXRoIix7ZDoiTTE1IDEyaDUifV0sWyJwYXRoIix7ZDoiTTE1IDE3aDUifV1dfSk7dmFyIHQkLGhfZT1jKCgpPT57dCQ9W1sicGF0aCIse2Q6Ik0yIDZoNCJ9XSxbInBhdGgiLHtkOiJNMiAxMGg0In1dLFsicGF0aCIse2Q6Ik0yIDE0aDQifV0sWyJwYXRoIix7ZDoiTTIgMThoNCJ9XSxbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHg6IjQiLHk6IjIiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik05LjUgOGg1In1dLFsicGF0aCIse2Q6Ik05LjUgMTJIMTYifV0sWyJwYXRoIix7ZDoiTTkuNSAxNkgxNCJ9XV19KTt2YXIgYSQsbV9lPWMoKCk9PnthJD1bWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xMiAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjAgMTJ2MiJ9XSxbInBhdGgiLHtkOiJNMjAgMTh2MmEyIDIgMCAwIDEtMiAyaC0xIn1dLFsicGF0aCIse2Q6Ik0xMyAyMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMkg2YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJwYXRoIix7ZDoiTTQgMTR2LTIifV0sWyJwYXRoIix7ZDoiTTQgOFY2YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNOCAxMGg2In1dLFsicGF0aCIse2Q6Ik04IDE0aDgifV0sWyJwYXRoIix7ZDoiTTggMThoNSJ9XV19KTt2YXIgciQsZ19lPWMoKCk9PntyJD1bWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xMiAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMTgiLHg6IjQiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik04IDEwaDYifV0sWyJwYXRoIix7ZDoiTTggMTRoOCJ9XSxbInBhdGgiLHtkOiJNOCAxOGg1In1dXX0pO3ZhciBpJCxiX2U9YygoKT0+e2kkPVtbInBhdGgiLHtkOiJNMiA2aDQifV0sWyJwYXRoIix7ZDoiTTIgMTBoNCJ9XSxbInBhdGgiLHtkOiJNMiAxNGg0In1dLFsicGF0aCIse2Q6Ik0yIDE4aDQifV0sWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjIwIix4OiI0Iix5OiIyIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTYgMnYyMCJ9XV19KTt2YXIgcyQsdl9lPWMoKCk9PntzJD1bWyJwYXRoIix7ZDoiTTEyIDRWMiJ9XSxbInBhdGgiLHtkOiJNNSAxMHY0YTcuMDA0IDcuMDA0IDAgMCAwIDUuMjc3IDYuNzg3Yy40MTIuMTA0LjgwMi4yOTIgMS4xMDIuNTkyTDEyIDIybC42MjEtLjYyMWMuMy0uMy42OS0uNDg4IDEuMTAyLS41OTJhNy4wMSA3LjAxIDAgMCAwIDQuMTI1LTIuOTM5In1dLFsicGF0aCIse2Q6Ik0xOSAxMHYzLjM0MyJ9XSxbInBhdGgiLHtkOiJNMTIgMTJjLTEuMzQ5LS41NzMtMS45MDUtMS4wMDUtMi41LTItLjU0Ni45MDItMS4wNDggMS4zNTMtMi41IDItMS4wMTgtLjY0NC0xLjQ2LTEuMDgtMi0yLTEuMDI4LjcxLTEuNjkuOTE4LTMgMSAxLjA4MS0xLjA0OCAxLjc1Ny0yLjAzIDItMyAuMTk0LS43NzYuODQtMS41NTEgMS43OS0yLjIxbTExLjY1NCA1Ljk5N2MuODg3LS40NTcgMS4yOC0uODkxIDEuNTU2LTEuNzg3IDEuMDMyLjkxNiAxLjY4MyAxLjE1NyAzIDEtMS4yOTctMS4wMzYtMS43NTgtMi4wMy0yLTMtLjUtMi00LTQtOC00LS43NCAwLTEuNDYxLjA2OC0yLjE1LjE5MiJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dXX0pO3ZhciBvJCx4X2U9YygoKT0+e28kPVtbInBhdGgiLHtkOiJNMi41ODYgMTYuNzI2QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMmg2LjYyNGEyIDIgMCAwIDEgMS40MTQuNTg2bDQuNjg4IDQuNjg4QTIgMiAwIDAgMSAyMiA4LjY4OHY2LjYyNGEyIDIgMCAwIDEtLjU4NiAxLjQxNGwtNC42ODggNC42ODhhMiAyIDAgMCAxLTEuNDE0LjU4Nkg4LjY4OGEyIDIgMCAwIDEtMS40MTQtLjU4NnoifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XV19KTt2YXIgbiQseV9lPWMoKCk9PntuJD1bWyJwYXRoIix7ZDoiTTEyIDRWMiJ9XSxbInBhdGgiLHtkOiJNNSAxMHY0YTcuMDA0IDcuMDA0IDAgMCAwIDUuMjc3IDYuNzg3Yy40MTIuMTA0LjgwMi4yOTIgMS4xMDIuNTkyTDEyIDIybC42MjEtLjYyMWMuMy0uMy42OS0uNDg4IDEuMTAyLS41OTJBNy4wMDMgNy4wMDMgMCAwIDAgMTkgMTR2LTQifV0sWyJwYXRoIix7ZDoiTTEyIDRDOCA0IDQuNSA2IDQgOGMtLjI0My45Ny0uOTE5IDEuOTUyLTIgMyAxLjMxLS4wODIgMS45NzItLjI5IDMtMSAuNTQuOTIuOTgyIDEuMzU2IDIgMiAxLjQ1Mi0uNjQ3IDEuOTU0LTEuMDk4IDIuNS0yIC41OTUuOTk1IDEuMTUxIDEuNDI3IDIuNSAyIDEuMzEtLjYyMSAxLjg2Mi0xLjA1OCAyLjUtMiAuNjI5Ljk3NyAxLjE2MiAxLjQyMyAyLjUgMiAxLjIwOS0uNTQ4IDEuNjgtLjk2NyAyLTIgMS4wMzIuOTE2IDEuNjgzIDEuMTU3IDMgMS0xLjI5Ny0xLjAzNi0xLjc1OC0yLjAzLTItMy0uNS0yLTQtNC04LTRaIn1dXX0pO3ZhciBzMyx3X2U9YygoKT0+e3MzPVtbInBhdGgiLHtkOiJNMTIgMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiA4djQifV0sWyJwYXRoIix7ZDoiTTE1LjMxMiAyYTIgMiAwIDAgMSAxLjQxNC41ODZsNC42ODggNC42ODhBMiAyIDAgMCAxIDIyIDguNjg4djYuNjI0YTIgMiAwIDAgMS0uNTg2IDEuNDE0bC00LjY4OCA0LjY4OGEyIDIgMCAwIDEtMS40MTQuNTg2SDguNjg4YTIgMiAwIDAgMS0xLjQxNC0uNTg2bC00LjY4OC00LjY4OEEyIDIgMCAwIDEgMiAxNS4zMTJWOC42ODhhMiAyIDAgMCAxIC41ODYtMS40MTRsNC42ODgtNC42ODhBMiAyIDAgMCAxIDguNjg4IDJ6In1dXX0pO3ZhciBvMyxNX2U9YygoKT0+e28zPVtbInBhdGgiLHtkOiJNMTAgMTVWOSJ9XSxbInBhdGgiLHtkOiJNMTQgMTVWOSJ9XSxbInBhdGgiLHtkOiJNMi41ODYgMTYuNzI2QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMmg2LjYyNGEyIDIgMCAwIDEgMS40MTQuNTg2bDQuNjg4IDQuNjg4QTIgMiAwIDAgMSAyMiA4LjY4OHY2LjYyNGEyIDIgMCAwIDEtLjU4NiAxLjQxNGwtNC42ODggNC42ODhhMiAyIDAgMCAxLTEuNDE0LjU4Nkg4LjY4OGEyIDIgMCAwIDEtMS40MTQtLjU4NnoifV1dfSk7dmFyIG4zLGtfZT1jKCgpPT57bjM9W1sicGF0aCIse2Q6Im0xNSA5LTYgNiJ9XSxbInBhdGgiLHtkOiJNMi41ODYgMTYuNzI2QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMmg2LjYyNGEyIDIgMCAwIDEgMS40MTQuNTg2bDQuNjg4IDQuNjg4QTIgMiAwIDAgMSAyMiA4LjY4OHY2LjYyNGEyIDIgMCAwIDEtLjU4NiAxLjQxNGwtNC42ODggNC42ODhhMiAyIDAgMCAxLTEuNDE0LjU4Nkg4LjY4OGEyIDIgMCAwIDEtMS40MTQtLjU4NnoifV0sWyJwYXRoIix7ZDoibTkgOSA2IDYifV1dfSk7dmFyIGwkLHpfZT1jKCgpPT57bCQ9W1sicGF0aCIse2Q6Ik0yLjU4NiAxNi43MjZBMiAyIDAgMCAxIDIgMTUuMzEyVjguNjg4YTIgMiAwIDAgMSAuNTg2LTEuNDE0bDQuNjg4LTQuNjg4QTIgMiAwIDAgMSA4LjY4OCAyaDYuNjI0YTIgMiAwIDAgMSAxLjQxNC41ODZsNC42ODggNC42ODhBMiAyIDAgMCAxIDIyIDguNjg4djYuNjI0YTIgMiAwIDAgMS0uNTg2IDEuNDE0bC00LjY4OCA0LjY4OGEyIDIgMCAwIDEtMS40MTQuNTg2SDguNjg4YTIgMiAwIDAgMS0xLjQxNC0uNTg2eiJ9XV19KTt2YXIgYyQsU19lPWMoKCk9PntjJD1bWyJwYXRoIix7ZDoiTTMgMjBoNC41YS41LjUgMCAwIDAgLjUtLjV2LS4yODJhLjUyLjUyIDAgMCAwLS4yNDctLjQzNyA4IDggMCAxIDEgOC40OTQtLjAwMS41Mi41MiAwIDAgMC0uMjQ3LjQzOHYuMjgyYS41LjUgMCAwIDAgLjUuNUgyMSJ9XV19KTt2YXIgZCQsQ19lPWMoKCk9PntkJD1bWyJwYXRoIix7ZDoiTTMgM2g2bDYgMThoNiJ9XSxbInBhdGgiLHtkOiJNMTQgM2g3In1dXX0pO3ZhciBwJCxfX2U9YygoKT0+e3AkPVtbInBhdGgiLHtkOiJNMjAuMzQxIDYuNDg0QTEwIDEwIDAgMCAxIDEwLjI2NiAyMS44NSJ9XSxbInBhdGgiLHtkOiJNMy42NTkgMTcuNTE2QTEwIDEwIDAgMCAxIDEzLjc0IDIuMTUyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiI1IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxOSIscjoiMiJ9XV19KTt2YXIgdSQsVF9lPWMoKCk9Pnt1JD1bWyJwYXRoIix7ZDoiTTEyIDEyVjRhMSAxIDAgMCAxIDEtMWg2LjI5N2ExIDEgMCAwIDEgLjY1MSAxLjc1OWwtNC42OTYgNC4wMjUifV0sWyJwYXRoIix7ZDoibTEyIDIxLTcuNDE0LTcuNDE0QTIgMiAwIDAgMSA0IDEyLjE3MlY2LjQxNWExLjAwMiAxLjAwMiAwIDAgMSAxLjcwNy0uNzA3TDIwIDIwLjAwOSJ9XSxbInBhdGgiLHtkOiJtMTIuMjE0IDMuMzgxIDguNDE0IDE0Ljk2NmExIDEgMCAwIDEtLjE2NyAxLjE5OWwtMS4xNjggMS4xNjNhMSAxIDAgMCAxLS43MDYuMjkxSDYuMzUxYTEgMSAwIDAgMS0uNjI1LS4yMTlMMy4yNSAxOC44YTEgMSAwIDAgMSAuNjMxLTEuNzgxbDQuMTY1LjAyNyJ9XV19KTt2YXIgZiQsTF9lPWMoKCk9PntmJD1bWyJwYXRoIix7ZDoiTTEyIDN2NiJ9XSxbInBhdGgiLHtkOiJNMTYuNzYgM2EyIDIgMCAwIDEgMS44IDEuMWwyLjIzIDQuNDc5YTIgMiAwIDAgMSAuMjEuODkxVjE5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjkuNDcyYTIgMiAwIDAgMSAuMjExLS44OTRMNS40NSA0LjFBMiAyIDAgMCAxIDcuMjQgM3oifV0sWyJwYXRoIix7ZDoiTTMuMDU0IDkuMDEzaDE3Ljg5MyJ9XV19KTt2YXIgaCQsJF9lPWMoKCk9PntoJD1bWyJwYXRoIix7ZDoiTTEyIDIyVjEyIn1dLFsicGF0aCIse2Q6Im0xNiAxNyAyIDIgNC00In1dLFsicGF0aCIse2Q6Ik0yMSAxMS4xMjdWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjcyOWw3IDRhMiAyIDAgMCAwIDIgLjAwMWwxLjMyLS43NTMifV0sWyJwYXRoIix7ZDoiTTMuMjkgNyAxMiAxMmw4LjcxLTUifV0sWyJwYXRoIix7ZDoibTcuNSA0LjI3IDguOTk3IDUuMTQ4In1dXX0pO3ZhciBtJCxEX2U9YygoKT0+e20kPVtbInBhdGgiLHtkOiJNMTIgMjJWMTIifV0sWyJwYXRoIix7ZDoiTTE2IDE3aDYifV0sWyJwYXRoIix7ZDoiTTIxIDEzVjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43MjlsNyA0YTIgMiAwIDAgMCAyIC4wMDFsMS42NzUtLjk1NSJ9XSxbInBhdGgiLHtkOiJNMy4yOSA3IDEyIDEybDguNzEtNSJ9XSxbInBhdGgiLHtkOiJtNy41IDQuMjcgOC45OTcgNS4xNDgifV1dfSk7dmFyIGckLEFfZT1jKCgpPT57ZyQ9W1sicGF0aCIse2Q6Ik0xMiAyMnYtOSJ9XSxbInBhdGgiLHtkOiJNMTUuMTcgMi4yMWExLjY3IDEuNjcgMCAwIDEgMS42MyAwTDIxIDQuNTdhMS45MyAxLjkzIDAgMCAxIDAgMy4zNkw4LjgyIDE0Ljc5YTEuNjU1IDEuNjU1IDAgMCAxLTEuNjQgMEwzIDEyLjQzYTEuOTMgMS45MyAwIDAgMSAwLTMuMzZ6In1dLFsicGF0aCIse2Q6Ik0yMCAxM3YzLjg3YTIuMDYgMi4wNiAwIDAgMS0xLjExIDEuODNsLTYgMy4wOGExLjkzIDEuOTMgMCAwIDEtMS43OCAwbC02LTMuMDhBMi4wNiAyLjA2IDAgMCAxIDQgMTYuODdWMTMifV0sWyJwYXRoIix7ZDoiTTIxIDEyLjQzYTEuOTMgMS45MyAwIDAgMCAwLTMuMzZMOC44MyAyLjJhMS42NCAxLjY0IDAgMCAwLTEuNjMgMEwzIDQuNTdhMS45MyAxLjkzIDAgMCAwIDAgMy4zNmwxMi4xOCA2Ljg2YTEuNjM2IDEuNjM2IDAgMCAwIDEuNjMgMHoifV1dfSk7dmFyIGIkLFBfZT1jKCgpPT57YiQ9W1sicGF0aCIse2Q6Ik0xMiAyMlYxMiJ9XSxbInBhdGgiLHtkOiJNMTYgMTdoNiJ9XSxbInBhdGgiLHtkOiJNMTkgMTR2NiJ9XSxbInBhdGgiLHtkOiJNMjEgMTAuNTM1VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43MjlsNyA0YTIgMiAwIDAgMCAyIC4wMDFsMS42NzUtLjk1NSJ9XSxbInBhdGgiLHtkOiJNMy4yOSA3IDEyIDEybDguNzEtNSJ9XSxbInBhdGgiLHtkOiJtNy41IDQuMjcgOC45OTcgNS4xNDgifV1dfSk7dmFyIHYkLEVfZT1jKCgpPT57diQ9W1sicGF0aCIse2Q6Ik0xMiAyMlYxMiJ9XSxbInBhdGgiLHtkOiJNMjAuMjcgMTguMjcgMjIgMjAifV0sWyJwYXRoIix7ZDoiTTIxIDEwLjQ5OFY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzI5bDcgNGEyIDIgMCAwIDAgMiAuMDAxbC45OC0uNTU5In1dLFsicGF0aCIse2Q6Ik0zLjI5IDcgMTIgMTJsOC43MS01In1dLFsicGF0aCIse2Q6Im03LjUgNC4yNyA4Ljk5NyA1LjE0OCJ9XSxbImNpcmNsZSIse2N4OiIxOC41IixjeToiMTYuNSIscjoiMi41In1dXX0pO3ZhciB4JCxJX2U9YygoKT0+e3gkPVtbInBhdGgiLHtkOiJNMTIgMjJWMTIifV0sWyJwYXRoIix7ZDoibTE2LjUgMTQuNSA1IDUifV0sWyJwYXRoIix7ZDoibTE2LjUgMTkuNSA1LTUifV0sWyJwYXRoIix7ZDoiTTIxIDEwLjVWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjcyOWw3IDRhMiAyIDAgMCAwIDIgLjAwMWwuMTMtLjA3NCJ9XSxbInBhdGgiLHtkOiJNMy4yOSA3IDEyIDEybDguNzEtNSJ9XSxbInBhdGgiLHtkOiJtNy41IDQuMjcgOC45OTcgNS4xNDgifV1dfSk7dmFyIHkkLE5fZT1jKCgpPT57eSQ9W1sicGF0aCIse2Q6Ik0xMSAyMS43M2EyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczeiJ9XSxbInBhdGgiLHtkOiJNMTIgMjJWMTIifV0sWyJwb2x5bGluZSIse3BvaW50czoiMy4yOSA3IDEyIDEyIDIwLjcxIDcifV0sWyJwYXRoIix7ZDoibTcuNSA0LjI3IDkgNS4xNSJ9XV19KTt2YXIgdyQsUl9lPWMoKCk9Pnt3JD1bWyJwYXRoIix7ZDoiTTExIDcgNiAyIn1dLFsicGF0aCIse2Q6Ik0xOC45OTIgMTJIMi4wNDEifV0sWyJwYXRoIix7ZDoiTTIxLjE0NSAxOC4zOEEzLjM0IDMuMzQgMCAwIDEgMjAgMTYuNWEzLjMgMy4zIDAgMCAxLTEuMTQ1IDEuODhjLS41NzUuNDYtLjg1NSAxLjAyLS44NTUgMS41OTVBMiAyIDAgMCAwIDIwIDIyYTIgMiAwIDAgMCAyLTIuMDI1YzAtLjU4LS4yODUtMS4xMy0uODU1LTEuNTk1In1dLFsicGF0aCIse2Q6Im04LjUgNC41IDIuMTQ4LTIuMTQ4YTEuMjA1IDEuMjA1IDAgMCAxIDEuNzA0IDBsNy4yOTYgNy4yOTZhMS4yMDUgMS4yMDUgMCAwIDEgMCAxLjcwNGwtNy41OTIgNy41OTJhMy42MTUgMy42MTUgMCAwIDEtNS4xMTIgMGwtMy44ODgtMy44ODhhMy42MTUgMy42MTUgMCAwIDEgMC01LjExMkw1LjY3IDcuMzMifV1dfSk7dmFyIE0kLEZfZT1jKCgpPT57TSQ9W1sicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiI2Iix4OiIyIix5OiIyIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTAgMTZ2LTJhMiAyIDAgMCAxIDItMmg4YTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDAtMi0yaC0yIn1dLFsicmVjdCIse3dpZHRoOiI0IixoZWlnaHQ6IjYiLHg6IjgiLHk6IjE2IixyeDoiMSJ9XV19KTt2YXIgbDMsT19lPWMoKCk9PntsMz1bWyJwYXRoIix7ZDoiTTEwIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY0In1dLFsicGF0aCIse2Q6Ik0xNyAyYTEgMSAwIDAgMSAxIDF2OUg2VjNhMSAxIDAgMCAxIDEtMXoifV0sWyJwYXRoIix7ZDoiTTYgMTJhMSAxIDAgMCAwLTEgMXYxYTIgMiAwIDAgMCAyIDJoMmExIDEgMCAwIDEgMSAxdjIuOWEyIDIgMCAxIDAgNCAwVjE3YTEgMSAwIDAgMSAxLTFoMmEyIDIgMCAwIDAgMi0ydi0xYTEgMSAwIDAgMC0xLTEifV1dfSk7dmFyIGskLEJfZT1jKCgpPT57ayQ9W1sicGF0aCIse2Q6Im0xNC42MjIgMTcuODk3LTEwLjY4LTIuOTEzIn1dLFsicGF0aCIse2Q6Ik0xOC4zNzYgMi42MjJhMSAxIDAgMSAxIDMuMDAyIDMuMDAyTDE3LjM2IDkuNjQzYS41LjUgMCAwIDAgMCAuNzA3bC45NDQuOTQ0YTIuNDEgMi40MSAwIDAgMSAwIDMuNDA4bC0uOTQ0Ljk0NGEuNS41IDAgMCAxLS43MDcgMEw4LjM1NCA3LjM0OGEuNS41IDAgMCAxIDAtLjcwN2wuOTQ0LS45NDRhMi40MSAyLjQxIDAgMCAxIDMuNDA4IDBsLjk0NC45NDRhLjUuNSAwIDAgMCAuNzA3IDB6In1dLFsicGF0aCIse2Q6Ik05IDhjLTEuODA0IDIuNzEtMy45NyAzLjQ2LTYuNTgzIDMuOTQ4YS41MDcuNTA3IDAgMCAwLS4zMDIuODE5bDcuMzIgOC44ODNhMSAxIDAgMCAwIDEuMTg1LjIwNEMxMi43MzUgMjAuNDA1IDE2IDE2Ljc5MiAxNiAxNSJ9XV19KTt2YXIgeiQsSF9lPWMoKCk9Pnt6JD1bWyJwYXRoIix7ZDoiTTEyIDIyYTEgMSAwIDAgMSAwLTIwIDEwIDkgMCAwIDEgMTAgOSA1IDUgMCAwIDEtNSA1aC0yLjI1YTEuNzUgMS43NSAwIDAgMC0xLjQgMi44bC4zLjRhMS43NSAxLjc1IDAgMCAxLTEuNCAyLjh6In1dLFsiY2lyY2xlIix7Y3g6IjEzLjUiLGN5OiI2LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJjaXJjbGUiLHtjeDoiMTcuNSIsY3k6IjEwLjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJjaXJjbGUiLHtjeDoiNi41IixjeToiMTIuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbImNpcmNsZSIse2N4OiI4LjUiLGN5OiI3LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV1dfSk7dmFyIFMkLHFfZT1jKCgpPT57UyQ9W1sicGF0aCIse2Q6Ik0xMS4yNSAxNy4yNWgxLjVMMTIgMTh6In1dLFsicGF0aCIse2Q6Im0xNSAxMiAyIDIifV0sWyJwYXRoIix7ZDoiTTE4IDYuNWEuNS41IDAgMCAwLS41LS41In1dLFsicGF0aCIse2Q6Ik0yMC42OSA5LjY3YTQuNSA0LjUgMCAxIDAtNy4wNC01LjUgOC4zNSA4LjM1IDAgMCAwLTMuMyAwIDQuNSA0LjUgMCAxIDAtNy4wNCA1LjVDMi40OSAxMS4yIDIgMTIuODggMiAxNC41IDIgMTkuNDcgNi40OCAyMiAxMiAyMnMxMC0yLjUzIDEwLTcuNWMwLTEuNjItLjQ4LTMuMy0xLjMtNC44MyJ9XSxbInBhdGgiLHtkOiJNNiA2LjVhLjQ5NS40OTUgMCAwIDEgLjUtLjUifV0sWyJwYXRoIix7ZDoibTkgMTItMiAyIn1dXX0pO3ZhciBDJCxWX2U9YygoKT0+e0MkPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDE1aDE4In1dLFsicGF0aCIse2Q6Im0xNSA4LTMgMy0zLTMifV1dfSk7dmFyIGMzLGpfZT1jKCgpPT57YzM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE0IDE1aDEifV0sWyJwYXRoIix7ZDoiTTE5IDE1aDIifV0sWyJwYXRoIix7ZDoiTTMgMTVoMiJ9XSxbInBhdGgiLHtkOiJNOSAxNWgxIn1dXX0pO3ZhciBfJCxVX2U9YygoKT0+e18kPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDE1aDE4In1dLFsicGF0aCIse2Q6Im05IDEwIDMtMyAzIDMifV1dfSk7dmFyIFQkLFdfZT1jKCgpPT57VCQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTVoMTgifV1dfSk7dmFyIGQzLEdfZT1jKCgpPT57ZDM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgM3YxOCJ9XSxbInBhdGgiLHtkOiJtMTYgMTUtMy0zIDMtMyJ9XV19KTt2YXIgcDMsWV9lPWMoKCk9PntwMz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSAxNHYxIn1dLFsicGF0aCIse2Q6Ik05IDE5djIifV0sWyJwYXRoIix7ZDoiTTkgM3YyIn1dLFsicGF0aCIse2Q6Ik05IDl2MSJ9XV19KTt2YXIgdTMsWl9lPWMoKCk9Pnt1Mz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsicGF0aCIse2Q6Im0xNCA5IDMgMy0zIDMifV1dfSk7dmFyIEwkLFhfZT1jKCgpPT57TCQ9W1sicGF0aCIse2Q6Ik0xNSAxMFY5In1dLFsicGF0aCIse2Q6Ik0xNSAxNXYtMSJ9XSxbInBhdGgiLHtkOiJNMTUgMjF2LTIifV0sWyJwYXRoIix7ZDoiTTE1IDVWMyJ9XSxbInBhdGgiLHtkOiJNOSAxMFY5In1dLFsicGF0aCIse2Q6Ik05IDE1di0xIn1dLFsicGF0aCIse2Q6Ik05IDIxdi0yIn1dLFsicGF0aCIse2Q6Ik05IDVWMyJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBmMyxLX2U9YygoKT0+e2YzPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik05IDN2MTgifV1dfSk7dmFyICQkLFFfZT1jKCgpPT57JCQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE1IDN2MTgifV0sWyJwYXRoIix7ZDoibTggOSAzIDMtMyAzIn1dXX0pO3ZhciBoMyxKX2U9YygoKT0+e2gzPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNSAxNHYxIn1dLFsicGF0aCIse2Q6Ik0xNSAxOXYyIn1dLFsicGF0aCIse2Q6Ik0xNSAzdjIifV0sWyJwYXRoIix7ZDoiTTE1IDl2MSJ9XV19KTt2YXIgRCQsZVRlPWMoKCk9PntEJD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTUgM3YxOCJ9XSxbInBhdGgiLHtkOiJtMTAgMTUtMy0zIDMtMyJ9XV19KTt2YXIgQSQsdFRlPWMoKCk9PntBJD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTUgM3YxOCJ9XV19KTt2YXIgUCQsYVRlPWMoKCk9PntQJD1bWyJwYXRoIix7ZDoiTTE0IDE1aDEifV0sWyJwYXRoIix7ZDoiTTE0IDloMSJ9XSxbInBhdGgiLHtkOiJNMTkgMTVoMiJ9XSxbInBhdGgiLHtkOiJNMTkgOWgyIn1dLFsicGF0aCIse2Q6Ik0zIDE1aDIifV0sWyJwYXRoIix7ZDoiTTMgOWgyIn1dLFsicGF0aCIse2Q6Ik05IDE1aDEifV0sWyJwYXRoIix7ZDoiTTkgOWgxIn1dLFsicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dfSk7dmFyIEUkLHJUZT1jKCgpPT57RSQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgOWgxOCJ9XSxbInBhdGgiLHtkOiJtOSAxNiAzLTMgMyAzIn1dXX0pO3ZhciBJJCxpVGU9YygoKT0+e0kkPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJwYXRoIix7ZDoibTE1IDE0LTMgMy0zLTMifV1dfSk7dmFyIG0zLHNUZT1jKCgpPT57bTM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE0IDloMSJ9XSxbInBhdGgiLHtkOiJNMTkgOWgyIn1dLFsicGF0aCIse2Q6Ik0zIDloMiJ9XSxbInBhdGgiLHtkOiJNOSA5aDEifV1dfSk7dmFyIE4kLG9UZT1jKCgpPT57TiQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgOWgxOCJ9XV19KTt2YXIgUiQsblRlPWMoKCk9PntSJD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsicGF0aCIse2Q6Ik05IDE1aDEyIn1dXX0pO3ZhciBGJCxsVGU9YygoKT0+e0YkPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDE1aDEyIn1dLFsicGF0aCIse2Q6Ik0xNSAzdjE4In1dXX0pO3ZhciBnMyxjVGU9YygoKT0+e2czPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJwYXRoIix7ZDoiTTkgMjFWOSJ9XV19KTt2YXIgTyQsZFRlPWMoKCk9PntPJD1bWyJwYXRoIix7ZDoibTE2IDYtOC40MTQgOC41ODZhMiAyIDAgMCAwIDIuODI5IDIuODI5bDguNDE0LTguNTg2YTQgNCAwIDEgMC01LjY1Ny01LjY1N2wtOC4zNzkgOC41NTFhNiA2IDAgMSAwIDguNDg1IDguNDg1bDguMzc5LTguNTUxIn1dXX0pO3ZhciBCJCxwVGU9YygoKT0+e0IkPVtbInBhdGgiLHtkOiJNOCAyMXMtNC0zLTQtOSA0LTkgNC05In1dLFsicGF0aCIse2Q6Ik0xNiAzczQgMyA0IDktNCA5LTQgOSJ9XV19KTt2YXIgSCQsdVRlPWMoKCk9PntIJD1bWyJwYXRoIix7ZDoiTTExIDE1aDIifV0sWyJwYXRoIix7ZDoiTTEyIDEydjMifV0sWyJwYXRoIix7ZDoiTTEyIDE5djMifV0sWyJwYXRoIix7ZDoiTTE1LjI4MiAxOWExIDEgMCAwIDAgLjk0OC0uNjhsMi4zNy02Ljk4OGE3IDcgMCAxIDAtMTMuMiAwbDIuMzcgNi45ODhhMSAxIDAgMCAwIC45NDguNjh6In1dLFsicGF0aCIse2Q6Ik05IDlhMyAzIDAgMSAxIDYgMCJ9XV19KTt2YXIgcSQsZlRlPWMoKCk9PntxJD1bWyJwYXRoIix7ZDoiTTUuOCAxMS4zIDIgMjJsMTAuNy0zLjc5In1dLFsicGF0aCIse2Q6Ik00IDNoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMiA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTUgMmguMDEifV0sWyJwYXRoIix7ZDoiTTIyIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJtMjIgMi0yLjI0Ljc1YTIuOSAyLjkgMCAwIDAtMS45NiAzLjEyYy4xLjg2LS41NyAxLjYzLTEuNDUgMS42M2gtLjM4Yy0uODYgMC0xLjYuNi0xLjc2IDEuNDRMMTQgMTAifV0sWyJwYXRoIix7ZDoibTIyIDEzLS44Mi0uMzNjLS44Ni0uMzQtMS44Mi4yLTEuOTggMS4xMWMtLjExLjctLjcyIDEuMjItMS40MyAxLjIySDE3In1dLFsicGF0aCIse2Q6Im0xMSAyIC4zMy44MmMuMzQuODYtLjIgMS44Mi0xLjExIDEuOThDOS41MiA0LjkgOSA1LjUyIDkgNi4yM1Y3In1dLFsicGF0aCIse2Q6Ik0xMSAxM2MxLjkzIDEuOTMgMi44MyA0LjE3IDIgNS0uODMuODMtMy4wNy0uMDctNS0yLTEuOTMtMS45My0yLjgzLTQuMTctMi01IC44My0uODMgMy4wNy4wNyA1IDJaIn1dXX0pO3ZhciBWJCxoVGU9YygoKT0+e1YkPVtbInJlY3QiLHt4OiIxNCIseToiMyIsd2lkdGg6IjUiLGhlaWdodDoiMTgiLHJ4OiIxIn1dLFsicmVjdCIse3g6IjUiLHk6IjMiLHdpZHRoOiI1IixoZWlnaHQ6IjE4IixyeDoiMSJ9XV19KTt2YXIgaiQsbVRlPWMoKCk9PntqJD1bWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiI0IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiOCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjE2IixyOiIyIn1dLFsicGF0aCIse2Q6Ik05IDEwYTUgNSAwIDAgMSA1IDV2My41YTMuNSAzLjUgMCAwIDEtNi44NCAxLjA0NVE2LjUyIDE3LjQ4IDQuNDYgMTYuODRBMy41IDMuNSAwIDAgMSA1LjUgMTBaIn1dXX0pO3ZhciBVJCxnVGU9YygoKT0+e1UkPVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMjAiLHg6IjUiLHk6IjIiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNSAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTkgNmg2In1dLFsicGF0aCIse2Q6Ik05IDEwaDYifV1dfSk7dmFyIGIzLGJUZT1jKCgpPT57YjM9W1sicGF0aCIse2Q6Ik0xMyAyMWg4In1dLFsicGF0aCIse2Q6Ik0yMS4xNzQgNi44MTJhMSAxIDAgMCAwLTMuOTg2LTMuOTg3TDMuODQyIDE2LjE3NGEyIDIgMCAwIDAtLjUuODNsLTEuMzIxIDQuMzUyYS41LjUgMCAwIDAgLjYyMy42MjJsNC4zNTMtMS4zMmEyIDIgMCAwIDAgLjgzLS40OTd6In1dXX0pO3ZhciBXJCx2VGU9YygoKT0+e1ckPVtbInBhdGgiLHtkOiJtMTAgMTAtNi4xNTcgNi4xNjJhMiAyIDAgMCAwLS41LjgzM2wtMS4zMjIgNC4zNmEuNS41IDAgMCAwIC42MjIuNjI0bDQuMzU4LTEuMzIzYTIgMiAwIDAgMCAuODMtLjVMMTQgMTMuOTgyIn1dLFsicGF0aCIse2Q6Im0xMi44MjkgNy4xNzIgNC4zNTktNC4zNDZhMSAxIDAgMSAxIDMuOTg2IDMuOTg2bC00LjM1MyA0LjM1MyJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciBHJCx4VGU9YygoKT0+e0ckPVtbInBhdGgiLHtkOiJNMTUuNzA3IDIxLjI5M2ExIDEgMCAwIDEtMS40MTQgMGwtMS41ODYtMS41ODZhMSAxIDAgMCAxIDAtMS40MTRsNS41ODYtNS41ODZhMSAxIDAgMCAxIDEuNDE0IDBsMS41ODYgMS41ODZhMSAxIDAgMCAxIDAgMS40MTR6In1dLFsicGF0aCIse2Q6Im0xOCAxMy0xLjM3NS02Ljg3NGExIDEgMCAwIDAtLjc0Ni0uNzc2TDMuMjM1IDIuMDI4YTEgMSAwIDAgMC0xLjIwNyAxLjIwN0w1LjM1IDE1Ljg3OWExIDEgMCAwIDAgLjc3Ni43NDZMMTMgMTgifV0sWyJwYXRoIix7ZDoibTIuMyAyLjMgNy4yODYgNy4yODYifV0sWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiMiJ9XV19KTt2YXIgdjMseVRlPWMoKCk9Pnt2Mz1bWyJwYXRoIix7ZDoiTTIxLjE3NCA2LjgxMmExIDEgMCAwIDAtMy45ODYtMy45ODdMMy44NDIgMTYuMTc0YTIgMiAwIDAgMC0uNS44M2wtMS4zMjEgNC4zNTJhLjUuNSAwIDAgMCAuNjIzLjYyMmw0LjM1My0xLjMyYTIgMiAwIDAgMCAuODMtLjQ5N3oifV1dfSk7dmFyIFkkLHdUZT1jKCgpPT57WSQ9W1sicGF0aCIse2Q6Ik0xMyAyMWg4In1dLFsicGF0aCIse2Q6Im0xNSA1IDQgNCJ9XSxbInBhdGgiLHtkOiJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiJ9XV19KTt2YXIgWiQsTVRlPWMoKCk9PntaJD1bWyJwYXRoIix7ZDoibTEwIDEwLTYuMTU3IDYuMTYyYTIgMiAwIDAgMC0uNS44MzNsLTEuMzIyIDQuMzZhLjUuNSAwIDAgMCAuNjIyLjYyNGw0LjM1OC0xLjMyM2EyIDIgMCAwIDAgLjgzLS41TDE0IDEzLjk4MiJ9XSxbInBhdGgiLHtkOiJtMTIuODI5IDcuMTcyIDQuMzU5LTQuMzQ2YTEgMSAwIDEgMSAzLjk4NiAzLjk4NmwtNC4zNTMgNC4zNTMifV0sWyJwYXRoIix7ZDoibTE1IDUgNCA0In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIFgkLGtUZT1jKCgpPT57WCQ9W1sicGF0aCIse2Q6Ik0xMyA3IDguNyAyLjdhMi40MSAyLjQxIDAgMCAwLTMuNCAwTDIuNyA1LjNhMi40MSAyLjQxIDAgMCAwIDAgMy40TDcgMTMifV0sWyJwYXRoIix7ZDoibTggNiAyLTIifV0sWyJwYXRoIix7ZDoibTE4IDE2IDItMiJ9XSxbInBhdGgiLHtkOiJtMTcgMTEgNC4zIDQuM2MuOTQuOTQuOTQgMi40NiAwIDMuNGwtMi42IDIuNmMtLjk0Ljk0LTIuNDYuOTQtMy40IDBMMTEgMTcifV0sWyJwYXRoIix7ZDoiTTIxLjE3NCA2LjgxMmExIDEgMCAwIDAtMy45ODYtMy45ODdMMy44NDIgMTYuMTc0YTIgMiAwIDAgMC0uNS44M2wtMS4zMjEgNC4zNTJhLjUuNSAwIDAgMCAuNjIzLjYyMmw0LjM1My0xLjMyYTIgMiAwIDAgMCAuODMtLjQ5N3oifV0sWyJwYXRoIix7ZDoibTE1IDUgNCA0In1dXX0pO3ZhciBLJCx6VGU9YygoKT0+e0skPVtbInBhdGgiLHtkOiJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiJ9XSxbInBhdGgiLHtkOiJtMTUgNSA0IDQifV1dfSk7dmFyIFEkLFNUZT1jKCgpPT57USQ9W1sibGluZSIse3gxOiIxOSIseDI6IjUiLHkxOiI1Iix5MjoiMTkifV0sWyJjaXJjbGUiLHtjeDoiNi41IixjeToiNi41IixyOiIyLjUifV0sWyJjaXJjbGUiLHtjeDoiMTcuNSIsY3k6IjE3LjUiLHI6IjIuNSJ9XV19KTt2YXIgSiQsQ1RlPWMoKCk9PntKJD1bWyJwYXRoIix7ZDoiTTEwLjgzIDIuMzhhMiAyIDAgMCAxIDIuMzQgMGw4IDUuNzRhMiAyIDAgMCAxIC43MyAyLjI1bC0zLjA0IDkuMjZhMiAyIDAgMCAxLTEuOSAxLjM3SDcuMDRhMiAyIDAgMCAxLTEuOS0xLjM3TDIuMSAxMC4zN2EyIDIgMCAwIDEgLjczLTIuMjV6In1dXX0pO3ZhciBlRCxfVGU9YygoKT0+e2VEPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjUiLHI6IjEifV0sWyJwYXRoIix7ZDoibTkgMjAgMy02IDMgNiJ9XSxbInBhdGgiLHtkOiJtNiA4IDYgMiA2LTIifV0sWyJwYXRoIix7ZDoiTTEyIDEwdjQifV1dfSk7dmFyIHRELFRUZT1jKCgpPT57dEQ9W1sicGF0aCIse2Q6Ik0yMCAxMUg0In1dLFsicGF0aCIse2Q6Ik0yMCA3SDQifV0sWyJwYXRoIix7ZDoiTTcgMjFWNGExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDAgMTJINyJ9XV19KTt2YXIgYUQsTFRlPWMoKCk9PnthRD1bWyJwYXRoIix7ZDoiTTEzIDJhOSA5IDAgMCAxIDkgOSJ9XSxbInBhdGgiLHtkOiJNMTMgNmE1IDUgMCAwIDEgNSA1In1dLFsicGF0aCIse2Q6Ik0xMy44MzIgMTYuNTY4YTEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkExOCAxOCAwIDAgMSAyIDRhMiAyIDAgMCAxIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtLjggMS42bC0uNDY4LjM1MWExIDEgMCAwIDAtLjI5MiAxLjIzMyAxNCAxNCAwIDAgMCA2LjM5MiA2LjM4NCJ9XV19KTt2YXIgckQsJFRlPWMoKCk9PntyRD1bWyJwYXRoIix7ZDoiTTE0IDZoOCJ9XSxbInBhdGgiLHtkOiJtMTggMiA0IDQtNCA0In1dLFsicGF0aCIse2Q6Ik0xMy44MzIgMTYuNTY4YTEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkExOCAxOCAwIDAgMSAyIDRhMiAyIDAgMCAxIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtLjggMS42bC0uNDY4LjM1MWExIDEgMCAwIDAtLjI5MiAxLjIzMyAxNCAxNCAwIDAgMCA2LjM5MiA2LjM4NCJ9XV19KTt2YXIgaUQsRFRlPWMoKCk9PntpRD1bWyJwYXRoIix7ZDoiTTE2IDJ2Nmg2In1dLFsicGF0aCIse2Q6Im0yMiAyLTYgNiJ9XSxbInBhdGgiLHtkOiJNMTMuODMyIDE2LjU2OGExIDEgMCAwIDAgMS4yMTMtLjMwM2wuMzU1LS40NjVBMiAyIDAgMCAxIDE3IDE1aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgNi4zOTIgNi4zODQifV1dfSk7dmFyIHNELEFUZT1jKCgpPT57c0Q9W1sicGF0aCIse2Q6Im0xNiAyIDYgNiJ9XSxbInBhdGgiLHtkOiJtMjIgMi02IDYifV0sWyJwYXRoIix7ZDoiTTEzLjgzMiAxNi41NjhhMSAxIDAgMCAwIDEuMjEzLS4zMDNsLjM1NS0uNDY1QTIgMiAwIDAgMSAxNyAxNWgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAyQTE4IDE4IDAgMCAxIDIgNGEyIDIgMCAwIDEgMi0yaDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0uOCAxLjZsLS40NjguMzUxYTEgMSAwIDAgMC0uMjkyIDEuMjMzIDE0IDE0IDAgMCAwIDYuMzkyIDYuMzg0In1dXX0pO3ZhciBvRCxQVGU9YygoKT0+e29EPVtbInBhdGgiLHtkOiJNMTAuMSAxMy45YTE0IDE0IDAgMCAwIDMuNzMyIDIuNjY4IDEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMiAxOCAxOCAwIDAgMS0xMi43MjgtNS4yNzIifV0sWyJwYXRoIix7ZDoiTTIyIDIgMiAyMiJ9XSxbInBhdGgiLHtkOiJNNC43NiAxMy41ODJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgLjI0NC40NzMifV1dfSk7dmFyIG5ELEVUZT1jKCgpPT57bkQ9W1sicGF0aCIse2Q6Im0xNiA4IDYtNiJ9XSxbInBhdGgiLHtkOiJNMjIgOFYyaC02In1dLFsicGF0aCIse2Q6Ik0xMy44MzIgMTYuNTY4YTEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkExOCAxOCAwIDAgMSAyIDRhMiAyIDAgMCAxIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtLjggMS42bC0uNDY4LjM1MWExIDEgMCAwIDAtLjI5MiAxLjIzMyAxNCAxNCAwIDAgMCA2LjM5MiA2LjM4NCJ9XV19KTt2YXIgbEQsSVRlPWMoKCk9PntsRD1bWyJwYXRoIix7ZDoiTTEzLjgzMiAxNi41NjhhMSAxIDAgMCAwIDEuMjEzLS4zMDNsLjM1NS0uNDY1QTIgMiAwIDAgMSAxNyAxNWgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAyQTE4IDE4IDAgMCAxIDIgNGEyIDIgMCAwIDEgMi0yaDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0uOCAxLjZsLS40NjguMzUxYTEgMSAwIDAgMC0uMjkyIDEuMjMzIDE0IDE0IDAgMCAwIDYuMzkyIDYuMzg0In1dXX0pO3ZhciBjRCxOVGU9YygoKT0+e2NEPVtbImxpbmUiLHt4MToiOSIseDI6IjkiLHkxOiI0Iix5MjoiMjAifV0sWyJwYXRoIix7ZDoiTTQgN2MwLTEuNyAxLjMtMyAzLTNoMTMifV0sWyJwYXRoIix7ZDoiTTE4IDIwYy0xLjcgMC0zLTEuMy0zLTNWNCJ9XV19KTt2YXIgZEQsUlRlPWMoKCk9PntkRD1bWyJwYXRoIix7ZDoiTTE4LjUgOGMtMS40IDAtMi42LS44LTMuMi0yQTYuODcgNi44NyAwIDAgMCAyIDl2MTFhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi04LjVDMjIgOS42IDIwLjQgOCAxOC41IDgifV0sWyJwYXRoIix7ZDoiTTIgMTRoMjAifV0sWyJwYXRoIix7ZDoiTTYgMTR2NCJ9XSxbInBhdGgiLHtkOiJNMTAgMTR2NCJ9XSxbInBhdGgiLHtkOiJNMTQgMTR2NCJ9XSxbInBhdGgiLHtkOiJNMTggMTR2NCJ9XV19KTt2YXIgcEQsRlRlPWMoKCk9PntwRD1bWyJwYXRoIix7ZDoibTE0IDEzLTguMzgxIDguMzhhMSAxIDAgMCAxLTMuMDAxLTNMMTEgOS45OTkifV0sWyJwYXRoIix7ZDoiTTE1Ljk3MyA0LjAyN0ExMyAxMyAwIDAgMCA1LjkwMiAyLjM3M2MtMS4zOTguMzQyLTEuMDkyIDIuMTU4LjI3NyAyLjYwMWExOS45IDE5LjkgMCAwIDEgNS44MjIgMy4wMjQifV0sWyJwYXRoIix7ZDoiTTE2LjAwMSAxMS45OTlhMTkuOSAxOS45IDAgMCAxIDMuMDI0IDUuODI0Yy40NDQgMS4zNjkgMi4yNiAxLjY3NiAyLjYwMy4yNzhBMTMgMTMgMCAwIDAgMjAgOC4wNjkifV0sWyJwYXRoIix7ZDoiTTE4LjM1MiAzLjM1MmExLjIwNSAxLjIwNSAwIDAgMC0xLjcwNCAwbC01LjI5NiA1LjI5NmExLjIwNSAxLjIwNSAwIDAgMCAwIDEuNzA0bDIuMjk2IDIuMjk2YTEuMjA1IDEuMjA1IDAgMCAwIDEuNzA0IDBsNS4yOTYtNS4yOTZhMS4yMDUgMS4yMDUgMCAwIDAgMC0xLjcwNHoifV1dfSk7dmFyIHVELE9UZT1jKCgpPT57dUQ9W1sicGF0aCIse2Q6Ik0yMSA5VjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTBjMCAxLjEuOSAyIDIgMmg0In1dLFsicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiI3Iix4OiIxMiIseToiMTMiLHJ4OiIyIn1dXX0pO3ZhciBmRCxCVGU9YygoKT0+e2ZEPVtbInBhdGgiLHtkOiJNMiAxMGg2VjQifV0sWyJwYXRoIix7ZDoibTIgNCA2IDYifV0sWyJwYXRoIix7ZDoiTTIxIDEwVjdhMiAyIDAgMCAwLTItMmgtNyJ9XSxbInBhdGgiLHtkOiJNMyAxNHYyYTIgMiAwIDAgMCAyIDJoMyJ9XSxbInJlY3QiLHt4OiIxMiIseToiMTQiLHdpZHRoOiIxMCIsaGVpZ2h0OiI3IixyeDoiMSJ9XV19KTt2YXIgaEQsSFRlPWMoKCk9PntoRD1bWyJwYXRoIix7ZDoiTTExIDE3aDN2MmExIDEgMCAwIDAgMSAxaDJhMSAxIDAgMCAwIDEtMXYtM2EzLjE2IDMuMTYgMCAwIDAgMi0yaDFhMSAxIDAgMCAwIDEtMXYtMmExIDEgMCAwIDAtMS0xaC0xYTUgNSAwIDAgMC0yLTRWM2E0IDQgMCAwIDAtMy4yIDEuNmwtLjMuNEgxMWE2IDYgMCAwIDAtNiA2djFhNSA1IDAgMCAwIDIgNHYzYTEgMSAwIDAgMCAxIDFoMmExIDEgMCAwIDAgMS0xeiJ9XSxbInBhdGgiLHtkOiJNMTYgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik0yIDh2MWEyIDIgMCAwIDAgMiAyaDEifV1dfSk7dmFyIG1ELHFUZT1jKCgpPT57bUQ9W1sicGF0aCIse2Q6Ik0xNCAzdjExIn1dLFsicGF0aCIse2Q6Ik0xNCA5aC0zYTMgMyAwIDAgMSAwLTZoOSJ9XSxbInBhdGgiLHtkOiJNMTggM3YxMSJ9XSxbInBhdGgiLHtkOiJNMjIgMThIMmw0LTQifV0sWyJwYXRoIix7ZDoibTYgMjItNC00In1dXX0pO3ZhciBnRCxWVGU9YygoKT0+e2dEPVtbInBhdGgiLHtkOiJNMTAgM3YxMSJ9XSxbInBhdGgiLHtkOiJNMTAgOUg3YTEgMSAwIDAgMSAwLTZoOCJ9XSxbInBhdGgiLHtkOiJNMTQgM3YxMSJ9XSxbInBhdGgiLHtkOiJtMTggMTQgNCA0SDIifV0sWyJwYXRoIix7ZDoibTIyIDE4LTQgNCJ9XV19KTt2YXIgYkQsalRlPWMoKCk9PntiRD1bWyJwYXRoIix7ZDoiTTEzIDR2MTYifV0sWyJwYXRoIix7ZDoiTTE3IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE5IDRIOS41YTQuNSA0LjUgMCAwIDAgMCA5SDEzIn1dXX0pO3ZhciB2RCxVVGU9YygoKT0+e3ZEPVtbInBhdGgiLHtkOiJNMTggMTFoLTRhMSAxIDAgMCAwLTEgMXY1YTEgMSAwIDAgMCAxIDFoNCJ9XSxbInBhdGgiLHtkOiJNNiA3djEzYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0yVjcifV0sWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjUiLHg6IjQiLHk6IjIiLHJ4OiIxIn1dXX0pO3ZhciB4RCxXVGU9YygoKT0+e3hEPVtbInBhdGgiLHtkOiJtMTAuNSAyMC41IDEwLTEwYTQuOTUgNC45NSAwIDEgMC03LTdsLTEwIDEwYTQuOTUgNC45NSAwIDEgMCA3IDdaIn1dLFsicGF0aCIse2Q6Im04LjUgOC41IDcgNyJ9XV19KTt2YXIgeUQsR1RlPWMoKCk9Pnt5RD1bWyJwYXRoIix7ZDoiTTEyIDE3djUifV0sWyJwYXRoIix7ZDoiTTE1IDkuMzRWN2ExIDEgMCAwIDEgMS0xIDIgMiAwIDAgMCAwLTRINy44OSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik05IDl2MS43NmEyIDIgMCAwIDEtMS4xMSAxLjc5bC0xLjc4LjlBMiAyIDAgMCAwIDUgMTUuMjRWMTZhMSAxIDAgMCAwIDEgMWgxMSJ9XV19KTt2YXIgd0QsWVRlPWMoKCk9Pnt3RD1bWyJwYXRoIix7ZDoiTTEyIDE3djUifV0sWyJwYXRoIix7ZDoiTTkgMTAuNzZhMiAyIDAgMCAxLTEuMTEgMS43OWwtMS43OC45QTIgMiAwIDAgMCA1IDE1LjI0VjE2YTEgMSAwIDAgMCAxIDFoMTJhMSAxIDAgMCAwIDEtMXYtLjc2YTIgMiAwIDAgMC0xLjExLTEuNzlsLTEuNzgtLjlBMiAyIDAgMCAxIDE1IDEwLjc2VjdhMSAxIDAgMCAxIDEtMSAyIDIgMCAwIDAgMC00SDhhMiAyIDAgMCAwIDAgNCAxIDEgMCAwIDEgMSAxeiJ9XV19KTt2YXIgTUQsWlRlPWMoKCk9PntNRD1bWyJwYXRoIix7ZDoibTEyIDktOC40MTQgOC40MTRBMiAyIDAgMCAwIDMgMTguODI4djEuMzQ0YTIgMiAwIDAgMS0uNTg2IDEuNDE0QTIgMiAwIDAgMSAzLjgyOCAyMWgxLjM0NGEyIDIgMCAwIDAgMS40MTQtLjU4NkwxNSAxMiJ9XSxbInBhdGgiLHtkOiJtMTggOSAuNC40YTEgMSAwIDEgMS0zIDNsLTMuOC0zLjhhMSAxIDAgMSAxIDMtM2wuNC40IDMuNC0zLjRhMSAxIDAgMSAxIDMgM3oifV0sWyJwYXRoIix7ZDoibTIgMjIgLjQxNC0uNDE0In1dXX0pO3ZhciBrRCxYVGU9YygoKT0+e2tEPVtbInBhdGgiLHtkOiJtMTIgMTQtMSAxIn1dLFsicGF0aCIse2Q6Im0xMy43NSAxOC4yNS0xLjI1IDEuNDIifV0sWyJwYXRoIix7ZDoiTTE3Ljc3NSA1LjY1NGExNS42OCAxNS42OCAwIDAgMC0xMi4xMjEgMTIuMTIifV0sWyJwYXRoIix7ZDoiTTE4LjggOS4zYTEgMSAwIDAgMCAyLjEgNy43In1dLFsicGF0aCIse2Q6Ik0yMS45NjQgMjAuNzMyYTEgMSAwIDAgMS0xLjIzMiAxLjIzMmwtMTgtNWExIDEgMCAwIDEtLjY5NS0xLjIzMkExOS42OCAxOS42OCAwIDAgMSAxNS43MzIgMi4wMzdhMSAxIDAgMCAxIDEuMjMyLjY5NXoifV1dfSk7dmFyIHpELEtUZT1jKCgpPT57ekQ9W1sicGF0aCIse2Q6Ik0yIDIyaDIwIn1dLFsicGF0aCIse2Q6Ik0zLjc3IDEwLjc3IDIgOWwyLTQuNSAxLjEuNTVjLjU1LjI4LjkuODQuOSAxLjQ1cy4zNSAxLjE3LjkgMS40NUw4IDguNWwzLTYgMS4wNS41M2EyIDIgMCAwIDEgMS4wOSAxLjUybC43MiA1LjRhMiAyIDAgMCAwIDEuMDkgMS41Mmw0LjQgMi4yYy40Mi4yMi43OC41NSAxLjAxLjk2bC42IDEuMDNjLjQ5Ljg4LS4wNiAxLjk4LTEuMDYgMi4xbC0xLjE4LjE1Yy0uNDcuMDYtLjk1LS4wMi0xLjM3LS4yNEw0LjI5IDExLjE1YTIgMiAwIDAgMS0uNTItLjM4WiJ9XV19KTt2YXIgU0QsUVRlPWMoKCk9PntTRD1bWyJwYXRoIix7ZDoiTTIgMjJoMjAifV0sWyJwYXRoIix7ZDoiTTYuMzYgMTcuNCA0IDE3bC0yLTQgMS4xLS41NWEyIDIgMCAwIDEgMS44IDBsLjE3LjFhMiAyIDAgMCAwIDEuOCAwTDggMTIgNSA2bC45LS40NWEyIDIgMCAwIDEgMi4wOS4ybDQuMDIgM2EyIDIgMCAwIDAgMi4xLjJsNC4xOS0yLjA2YTIuNDEgMi40MSAwIDAgMSAxLjczLS4xN0wyMSA3YTEuNCAxLjQgMCAwIDEgLjg3IDEuOTlsLS4zOC43NmMtLjIzLjQ2LS42Ljg0LTEuMDcgMS4wOEw3LjU4IDE3LjJhMiAyIDAgMCAxLTEuMjIuMThaIn1dXX0pO3ZhciBDRCxKVGU9YygoKT0+e0NEPVtbInBhdGgiLHtkOiJNMTcuOCAxOS4yIDE2IDExbDMuNS0zLjVDMjEgNiAyMS41IDQgMjEgM2MtMS0uNS0zIDAtNC41IDEuNUwxMyA4IDQuOCA2LjJjLS41LS4xLS45LjEtMS4xLjVsLS4zLjVjLS4yLjUtLjEgMSAuMyAxLjNMOSAxMmwtMiAzSDRsLTEgMSAzIDIgMiAzIDEtMXYtM2wzLTIgMy41IDUuM2MuMy40LjguNSAxLjMuM2wuNS0uMmMuNC0uMy42LS43LjUtMS4yeiJ9XV19KTt2YXIgX0QsZUxlPWMoKCk9PntfRD1bWyJwYXRoIix7ZDoiTTUgNWEyIDIgMCAwIDEgMy4wMDgtMS43MjhsMTEuOTk3IDYuOTk4YTIgMiAwIDAgMSAuMDAzIDMuNDU4bC0xMiA3QTIgMiAwIDAgMSA1IDE5eiJ9XV19KTt2YXIgVEQsdExlPWMoKCk9PntURD1bWyJwYXRoIix7ZDoiTTkgMnY2In1dLFsicGF0aCIse2Q6Ik0xNSAydjYifV0sWyJwYXRoIix7ZDoiTTEyIDE3djUifV0sWyJwYXRoIix7ZDoiTTUgOGgxNCJ9XSxbInBhdGgiLHtkOiJNNiAxMVY4aDEydjNhNiA2IDAgMSAxLTEyIDBaIn1dXX0pO3ZhciB4MyxhTGU9YygoKT0+e3gzPVtbInBhdGgiLHtkOiJNNi4zIDIwLjNhMi40IDIuNCAwIDAgMCAzLjQgMEwxMiAxOGwtNi02LTIuMyAyLjNhMi40IDIuNCAwIDAgMCAwIDMuNFoifV0sWyJwYXRoIix7ZDoibTIgMjIgMy0zIn1dLFsicGF0aCIse2Q6Ik03LjUgMTMuNSAxMCAxMSJ9XSxbInBhdGgiLHtkOiJNMTAuNSAxNi41IDEzIDE0In1dLFsicGF0aCIse2Q6Im0xOCAzLTQgNGg2bC00IDQifV1dfSk7dmFyIExELHJMZT1jKCgpPT57TEQ9W1sicGF0aCIse2Q6Ik0xMiAyMnYtNSJ9XSxbInBhdGgiLHtkOiJNMTUgOFYyIn1dLFsicGF0aCIse2Q6Ik0xNyA4YTEgMSAwIDAgMSAxIDF2NGE0IDQgMCAwIDEtNCA0aC00YTQgNCAwIDAgMS00LTRWOWExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNOSA4VjIifV1dfSk7dmFyICRELGlMZT1jKCgpPT57JEQ9W1sicGF0aCIse2Q6Ik01IDEyaDE0In1dLFsicGF0aCIse2Q6Ik0xMiA1djE0In1dXX0pO3ZhciBERCxzTGU9YygoKT0+e0REPVtbInBhdGgiLHtkOiJNMyAydjFjMCAxIDIgMSAyIDJTMyA2IDMgN3MyIDEgMiAyLTIgMS0yIDIgMiAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMTggNmguMDEifV0sWyJwYXRoIix7ZDoiTTYgMThoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMC44MyA4LjgzYTQgNCAwIDAgMC01LjY2LTUuNjZsLTEyIDEyYTQgNCAwIDEgMCA1LjY2IDUuNjZaIn1dLFsicGF0aCIse2Q6Ik0xOCAxMS42NlYyMmE0IDQgMCAwIDAgNC00VjYifV1dfSk7dmFyIEFELG9MZT1jKCgpPT57QUQ9W1sicGF0aCIse2Q6Ik0yMCAzYTIgMiAwIDAgMSAyIDJ2NmExIDEgMCAwIDEtMjAgMFY1YTIgMiAwIDAgMSAyLTJ6In1dLFsicGF0aCIse2Q6Im04IDEwIDQgNCA0LTQifV1dfSk7dmFyIFBELG5MZT1jKCgpPT57UEQ9W1sicGF0aCIse2Q6Ik0xMyAxN2ExIDEgMCAxIDAtMiAwbC41IDQuNWEwLjUgMC41IDAgMCAwIDEgMHoiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbInBhdGgiLHtkOiJNMTYuODUgMTguNThhOSA5IDAgMSAwLTkuNyAwIn1dLFsicGF0aCIse2Q6Ik04IDE0YTUgNSAwIDEgMSA4IDAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMSIscjoiMSIsZmlsbDoiY3VycmVudENvbG9yIn1dXX0pO3ZhciBFRCxsTGU9YygoKT0+e0VEPVtbInBhdGgiLHtkOiJNMjIgMTRhOCA4IDAgMCAxLTggOCJ9XSxbInBhdGgiLHtkOiJNMTggMTF2LTFhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDAtMiAyIn1dLFsicGF0aCIse2Q6Ik0xNCAxMFY5YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnYxIn1dLFsicGF0aCIse2Q6Ik0xMCA5LjVWNGEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2MTAifV0sWyJwYXRoIix7ZDoiTTE4IDExYTIgMiAwIDEgMSA0IDB2M2E4IDggMCAwIDEtOCA4aC0yYy0yLjggMC00LjUtLjg2LTUuOTktMi4zNGwtMy42LTMuNmEyIDIgMCAwIDEgMi44My0yLjgyTDcgMTUifV1dfSk7dmFyIElELGNMZT1jKCgpPT57SUQ9W1sicGF0aCIse2Q6Ik0xMCA0LjVWNGEyIDIgMCAwIDAtMi40MS0xLjk1NyJ9XSxbInBhdGgiLHtkOiJNMTMuOSA4LjRhMiAyIDAgMCAwLTEuMjYtMS4yOTUifV0sWyJwYXRoIix7ZDoiTTIxLjcgMTYuMkE4IDggMCAwIDAgMjIgMTR2LTNhMiAyIDAgMSAwLTQgMHYtMWEyIDIgMCAwIDAtMy42My0xLjE1OCJ9XSxbInBhdGgiLHtkOiJtNyAxNS0xLjgtMS44YTIgMiAwIDAgMC0yLjc5IDIuODZMNiAxOS43YTcuNzQgNy43NCAwIDAgMCA2IDIuM2gyYTggOCAwIDAgMCA1LjY1Ny0yLjM0MyJ9XSxbInBhdGgiLHtkOiJNNiA2djgifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgTkQsZExlPWMoKCk9PntORD1bWyJwYXRoIix7ZDoiTTE4IDhhMiAyIDAgMCAwIDAtNCAyIDIgMCAwIDAtNCAwIDIgMiAwIDAgMC00IDAgMiAyIDAgMCAwLTQgMCAyIDIgMCAwIDAgMCA0In1dLFsicGF0aCIse2Q6Ik0xMCAyMiA5IDgifV0sWyJwYXRoIix7ZDoibTE0IDIyIDEtMTQifV0sWyJwYXRoIix7ZDoiTTIwIDhjLjUgMCAuOS40LjggMWwtMi42IDEyYy0uMS41LS43IDEtMS4yIDFIN2MtLjYgMC0xLjEtLjQtMS4yLTFMMy4yIDljLS4xLS42LjMtMSAuOC0xWiJ9XV19KTt2YXIgUkQscExlPWMoKCk9PntSRD1bWyJwYXRoIix7ZDoiTTE4LjYgMTQuNGMuOC0uOC44LTIgMC0yLjhsLTguMS04LjFhNC45NSA0Ljk1IDAgMSAwLTcuMSA3LjFsOC4xIDguMWMuOS43IDIuMS43IDIuOS0uMVoifV0sWyJwYXRoIix7ZDoibTIyIDIyLTUuNS01LjUifV1dfSk7dmFyIEZELHVMZT1jKCgpPT57RkQ9W1sicGF0aCIse2Q6Ik0xOCA3YzAtNS4zMzMtOC01LjMzMy04IDAifV0sWyJwYXRoIix7ZDoiTTEwIDd2MTQifV0sWyJwYXRoIix7ZDoiTTYgMjFoMTIifV0sWyJwYXRoIix7ZDoiTTYgMTNoMTAifV1dfSk7dmFyIE9ELGZMZT1jKCgpPT57T0Q9W1sicGF0aCIse2Q6Ik0xOC4zNiA2LjY0QTkgOSAwIDAgMSAyMC43NyAxNSJ9XSxbInBhdGgiLHtkOiJNNi4xNiA2LjE2YTkgOSAwIDEgMCAxMi42OCAxMi42OCJ9XSxbInBhdGgiLHtkOiJNMTIgMnY0In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIEJELGhMZT1jKCgpPT57QkQ9W1sicGF0aCIse2Q6Ik0xMiAydjEwIn1dLFsicGF0aCIse2Q6Ik0xOC40IDYuNmE5IDkgMCAxIDEtMTIuNzcuMDQifV1dfSk7dmFyIEhELG1MZT1jKCgpPT57SEQ9W1sicGF0aCIse2Q6Ik0yIDNoMjAifV0sWyJwYXRoIix7ZDoiTTIxIDN2MTFhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWMyJ9XSxbInBhdGgiLHtkOiJtNyAyMSA1LTUgNSA1In1dXX0pO3ZhciBxRCxnTGU9YygoKT0+e3FEPVtbInBhdGgiLHtkOiJNMTMuNSAyMkg3YTEgMSAwIDAgMS0xLTF2LTZhMSAxIDAgMCAxIDEtMWgxMGExIDEgMCAwIDEgMSAxdi41In1dLFsicGF0aCIse2Q6Im0xNiAxOSAyIDIgNC00In1dLFsicGF0aCIse2Q6Ik02IDE4SDRhMiAyIDAgMCAxLTItMnYtNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNNiA5VjNhMSAxIDAgMCAxIDEtMWgxMGExIDEgMCAwIDEgMSAxdjYifV1dfSk7dmFyIFZELGJMZT1jKCgpPT57VkQ9W1sicGF0aCIse2Q6Ik0xMi41MzEgMjJIN2ExIDEgMCAwIDEtMS0xdi02YTEgMSAwIDAgMSAxLTFoNi4zNzcifV0sWyJwYXRoIix7ZDoibTE2LjUgMTYuNSA1IDUifV0sWyJwYXRoIix7ZDoibTE2LjUgMjEuNSA1LTUifV0sWyJwYXRoIix7ZDoiTTYgMThINGEyIDIgMCAwIDEtMi0ydi01YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnYxLjUifV0sWyJwYXRoIix7ZDoiTTYgOVYzYTEgMSAwIDAgMSAxLTFoMTBhMSAxIDAgMCAxIDEgMXY2In1dXX0pO3ZhciBqRCx2TGU9YygoKT0+e2pEPVtbInBhdGgiLHtkOiJNNiAxOEg0YTIgMiAwIDAgMS0yLTJ2LTVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjVhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNiA5VjNhMSAxIDAgMCAxIDEtMWgxMGExIDEgMCAwIDEgMSAxdjYifV0sWyJyZWN0Iix7eDoiNiIseToiMTQiLHdpZHRoOiIxMiIsaGVpZ2h0OiI4IixyeDoiMSJ9XV19KTt2YXIgVUQseExlPWMoKCk9PntVRD1bWyJwYXRoIix7ZDoiTTUgNyAzIDUifV0sWyJwYXRoIix7ZDoiTTkgNlYzIn1dLFsicGF0aCIse2Q6Im0xMyA3IDItMiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiMTMiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTExLjgzIDEySDIwYTIgMiAwIDAgMSAyIDJ2NGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMnYtNGEyIDIgMCAwIDEgMi0yaDIuMTcifV0sWyJwYXRoIix7ZDoiTTE2IDE2aDIifV1dfSk7dmFyIFdELHlMZT1jKCgpPT57V0Q9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDl2MTEifV0sWyJwYXRoIix7ZDoiTTIgOWgxM2EyIDIgMCAwIDEgMiAydjkifV1dfSk7dmFyIEdELHdMZT1jKCgpPT57R0Q9W1sicGF0aCIse2Q6Ik0xNS4zOSA0LjM5YTEgMSAwIDAgMCAxLjY4LS40NzQgMi41IDIuNSAwIDEgMSAzLjAxNCAzLjAxNSAxIDEgMCAwIDAtLjQ3NCAxLjY4bDEuNjgzIDEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxIDAgMy40MTRMMTkuNjEgMTUuMzlhMSAxIDAgMCAxLTEuNjgtLjQ3NCAyLjUgMi41IDAgMSAwLTMuMDE0IDMuMDE1IDEgMSAwIDAgMSAuNDc0IDEuNjhsLTEuNjgzIDEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxLTMuNDE0IDBMOC42MSAxOS42MWExIDEgMCAwIDAtMS42OC40NzQgMi41IDIuNSAwIDEgMS0zLjAxNC0zLjAxNSAxIDEgMCAwIDAgLjQ3NC0xLjY4bC0xLjY4My0xLjY4MmEyLjQxNCAyLjQxNCAwIDAgMSAwLTMuNDE0TDQuMzkgOC42MWExIDEgMCAwIDEgMS42OC40NzQgMi41IDIuNSAwIDEgMCAzLjAxNC0zLjAxNSAxIDEgMCAwIDEtLjQ3NC0xLjY4bDEuNjgzLTEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxIDMuNDE0IDB6In1dXX0pO3ZhciBZRCxNTGU9YygoKT0+e1lEPVtbInBhdGgiLHtkOiJNMi41IDE2Ljg4YTEgMSAwIDAgMS0uMzItMS40M2w5LTEzLjAyYTEgMSAwIDAgMSAxLjY0IDBsOSAxMy4wMWExIDEgMCAwIDEtLjMyIDEuNDRsLTguNTEgNC44NmEyIDIgMCAwIDEtMS45OCAwWiJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyMCJ9XV19KTt2YXIgWkQsa0xlPWMoKCk9PntaRD1bWyJyZWN0Iix7d2lkdGg6IjUiLGhlaWdodDoiNSIseDoiMyIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjUiLGhlaWdodDoiNSIseDoiMTYiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI1IixoZWlnaHQ6IjUiLHg6IjMiLHk6IjE2IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNMjEgMTZoLTNhMiAyIDAgMCAwLTIgMnYzIn1dLFsicGF0aCIse2Q6Ik0yMSAyMXYuMDEifV0sWyJwYXRoIix7ZDoiTTEyIDd2M2EyIDIgMCAwIDEtMiAySDcifV0sWyJwYXRoIix7ZDoiTTMgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAzaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTZ2LjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxMmgxIn1dLFsicGF0aCIse2Q6Ik0yMSAxMnYuMDEifV0sWyJwYXRoIix7ZDoiTTEyIDIxdi0xIn1dXX0pO3ZhciBYRCx6TGU9YygoKT0+e1hEPVtbInBhdGgiLHtkOiJNMTMgMTZhMyAzIDAgMCAxIDIuMjQgNSJ9XSxbInBhdGgiLHtkOiJNMTggMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOCAyMWgtOGE0IDQgMCAwIDEtNC00IDcgNyAwIDAgMSA3LTdoLjJMOS42IDYuNGExIDEgMCAxIDEgMi44LTIuOEwxNS44IDdoLjJjMy4zIDAgNiAyLjcgNiA2djFhMiAyIDAgMCAxLTIgMmgtMWEzIDMgMCAwIDAtMyAzIn1dLFsicGF0aCIse2Q6Ik0yMCA4LjU0VjRhMiAyIDAgMSAwLTQgMHYzIn1dLFsicGF0aCIse2Q6Ik03LjYxMiAxMi41MjRhMyAzIDAgMSAwLTEuNiA0LjMifV1dfSk7dmFyIEtELFNMZT1jKCgpPT57S0Q9W1sicGF0aCIse2Q6Ik0xNiAzYTIgMiAwIDAgMC0yIDJ2NmEyIDIgMCAwIDAgMiAyIDEgMSAwIDAgMSAxIDF2MWEyIDIgMCAwIDEtMiAyIDEgMSAwIDAgMC0xIDF2MmExIDEgMCAwIDAgMSAxIDYgNiAwIDAgMCA2LTZWNWEyIDIgMCAwIDAtMi0yeiJ9XSxbInBhdGgiLHtkOiJNNSAzYTIgMiAwIDAgMC0yIDJ2NmEyIDIgMCAwIDAgMiAyIDEgMSAwIDAgMSAxIDF2MWEyIDIgMCAwIDEtMiAyIDEgMSAwIDAgMC0xIDF2MmExIDEgMCAwIDAgMSAxIDYgNiAwIDAgMCA2LTZWNWEyIDIgMCAwIDAtMi0yeiJ9XV19KTt2YXIgUUQsQ0xlPWMoKCk9PntRRD1bWyJwYXRoIix7ZDoiTTE5LjA3IDQuOTNBMTAgMTAgMCAwIDAgNi45OSAzLjM0In1dLFsicGF0aCIse2Q6Ik00IDZoLjAxIn1dLFsicGF0aCIse2Q6Ik0yLjI5IDkuNjJBMTAgMTAgMCAxIDAgMjEuMzEgOC4zNSJ9XSxbInBhdGgiLHtkOiJNMTYuMjQgNy43NkE2IDYgMCAxIDAgOC4yMyAxNi42NyJ9XSxbInBhdGgiLHtkOiJNMTIgMThoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNy45OSAxMS42NkE2IDYgMCAwIDEgMTUuNzcgMTYuNjcifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XSxbInBhdGgiLHtkOiJtMTMuNDEgMTAuNTkgNS42Ni01LjY2In1dXX0pO3ZhciBKRCxfTGU9YygoKT0+e0pEPVtbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCAxNS40NjQxYTQgNCAwIDAgMS00IDBMNy41Mjc4NiAxOS43NDU5NyBBIDEgMSAwIDAgMCA3Ljk5MzAzIDIxLjE2MjExIDEwIDEwIDAgMCAwIDE2LjAwNjk3IDIxLjE2MjExIDEgMSAwIDAgMCAxNi40NzIxNCAxOS43NDU5N3oifV0sWyJwYXRoIix7ZDoiTTE2IDEyYTQgNCAwIDAgMC0yLTMuNDY0bDIuNDcyLTQuMjgyYTEgMSAwIDAgMSAxLjQ2LS4zMDUgMTAgMTAgMCAwIDEgNC4wMDYgNi45NEExIDEgMCAwIDEgMjEgMTJ6In1dLFsicGF0aCIse2Q6Ik04IDEyYTQgNCAwIDAgMSAyLTMuNDY0TDcuNTI4IDQuMjU0YTEgMSAwIDAgMC0xLjQ2LS4zMDUgMTAgMTAgMCAwIDAtNC4wMDYgNi45NEExIDEgMCAwIDAgMyAxMnoifV1dfSk7dmFyIGVBLFRMZT1jKCgpPT57ZUE9W1sicGF0aCIse2Q6Ik0zIDEyaDMuMjhhMSAxIDAgMCAxIC45NDguNjg0bDIuMjk4IDcuOTM0YS41LjUgMCAwIDAgLjk2LS4wNDRMMTMuODIgNC43NzFBMSAxIDAgMCAxIDE0Ljc5MiA0SDIxIn1dXX0pO3ZhciB0QSxMTGU9YygoKT0+e3RBPVtbInBhdGgiLHtkOiJNNSAxNnYyIn1dLFsicGF0aCIse2Q6Ik0xOSAxNnYyIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI4Iix4OiIyIix5OiI4IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTggMTJoLjAxIn1dXX0pO3ZhciBhQSwkTGU9YygoKT0+e2FBPVtbInBhdGgiLHtkOiJNMTYuMjQ3IDcuNzYxYTYgNiAwIDAgMSAwIDguNDc4In1dLFsicGF0aCIse2Q6Ik0xOS4wNzUgNC45MzNhMTAgMTAgMCAwIDEgMCAxNC4xMzQifV0sWyJwYXRoIix7ZDoiTTQuOTI1IDE5LjA2N2ExMCAxMCAwIDAgMSAwLTE0LjEzNCJ9XSxbInBhdGgiLHtkOiJNNy43NTMgMTYuMjM5YTYgNiAwIDAgMSAwLTguNDc4In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dfSk7dmFyIHJBLERMZT1jKCgpPT57ckE9W1sicGF0aCIse2Q6Ik00LjkgMTYuMUMxIDEyLjIgMSA1LjggNC45IDEuOSJ9XSxbInBhdGgiLHtkOiJNNy44IDQuN2E2LjE0IDYuMTQgMCAwIDAtLjggNy41In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiOSIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMTYuMiA0LjhjMiAyIDIuMjYgNS4xMS44IDcuNDcifV0sWyJwYXRoIix7ZDoiTTE5LjEgMS45YTkuOTYgOS45NiAwIDAgMSAwIDE0LjEifV0sWyJwYXRoIix7ZDoiTTkuNSAxOGg1In1dLFsicGF0aCIse2Q6Im04IDIyIDQtMTEgNCAxMSJ9XV19KTt2YXIgaUEsQUxlPWMoKCk9PntpQT1bWyJwYXRoIix7ZDoiTTIwLjM0IDE3LjUyYTEwIDEwIDAgMSAwLTIuODIgMi44MiJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE5IixyOiIyIn1dLFsicGF0aCIse2Q6Im0xMy40MSAxMy40MSA0LjE4IDQuMTgifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XV19KTt2YXIgc0EsUExlPWMoKCk9PntzQT1bWyJwYXRoIix7ZDoiTTUgMTVoMTQifV0sWyJwYXRoIix7ZDoiTTUgOWgxNCJ9XSxbInBhdGgiLHtkOiJtMTQgMjAtNS01IDYtNi01LTUifV1dfSk7dmFyIG9BLEVMZT1jKCgpPT57b0E9W1sicGF0aCIse2Q6Ik0yMiAxN2ExMCAxMCAwIDAgMC0yMCAwIn1dLFsicGF0aCIse2Q6Ik02IDE3YTYgNiAwIDAgMSAxMiAwIn1dLFsicGF0aCIse2Q6Ik0xMCAxN2EyIDIgMCAwIDEgNCAwIn1dXX0pO3ZhciBuQSxJTGU9YygoKT0+e25BPVtbInBhdGgiLHtkOiJNMTMgMjJINGEyIDIgMCAwIDEgMC00aDEyIn1dLFsicGF0aCIse2Q6Ik0xMy4yMzYgMThhMyAzIDAgMCAwLTIuMi01In1dLFsicGF0aCIse2Q6Ik0xNiA5aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYuODIgMy45NGEzIDMgMCAxIDEgMy4yMzcgNC44NjhsMS44MTUgMi41ODdhMS41IDEuNSAwIDAgMS0xLjUgMi4xbC0yLjg3Mi0uNDUzYTMgMyAwIDAgMC0zLjUgMyJ9XSxbInBhdGgiLHtkOiJNMTcgNC45ODhhMyAzIDAgMSAwLTUuMiAyLjA1MkE3IDcgMCAwIDAgNCAxNC4wMTUgNCA0IDAgMCAwIDggMTgifV1dfSk7dmFyIGxBLE5MZT1jKCgpPT57bEE9W1sicmVjdCIse3dpZHRoOiIxMiIsaGVpZ2h0OiIyMCIseDoiNiIseToiMiIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjEyIix4OiIyIix5OiI2IixyeDoiMiJ9XV19KTt2YXIgY0EsUkxlPWMoKCk9PntjQT1bWyJwYXRoIix7ZDoiTTE1LjgyOCAxNC44MjlhNCA0IDAgMCAxLTUuNjU2IDAgNCA0IDAgMCAxIDAtNS42NTcgNCA0IDAgMCAxIDUuNjU2IDAifV0sWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTggMTJoNSJ9XV19KTt2YXIgZEEsRkxlPWMoKCk9PntkQT1bWyJwYXRoIix7ZDoiTTEyIDd2MTAifV0sWyJwYXRoIix7ZDoiTTE0LjgyOCAxNC44MjlhNCA0IDAgMCAxLTUuNjU2IDAgNCA0IDAgMCAxIDAtNS42NTcgNCA0IDAgMCAxIDUuNjU2IDAifV0sWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV1dfSk7dmFyIHBBLE9MZT1jKCgpPT57cEE9W1sicGF0aCIse2Q6Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik04IDExaDgifV0sWyJwYXRoIix7ZDoiTTggN2g4In1dLFsicGF0aCIse2Q6Ik05IDdhNCA0IDAgMCAxIDAgOEg4bDMgMiJ9XV19KTt2YXIgdUEsQkxlPWMoKCk9Pnt1QT1bWyJwYXRoIix7ZDoibTEyIDEwIDMtMyJ9XSxbInBhdGgiLHtkOiJNNCAzYTEgMSAwIDAgMSAxLTEgMS4zIDEuMyAwIDAgMSAuNy4ybC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzQtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzNC42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNkExLjMgMS4zIDAgMCAxIDE5IDJhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxIDEuMyAxLjMgMCAwIDEtLjctLjJsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzNC42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzQtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtLjcuMiAxIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJNOSAxMWg2In1dLFsicGF0aCIse2Q6Ik05IDE1aDYifV0sWyJwYXRoIix7ZDoibTkgNyAzIDN2NyJ9XV19KTt2YXIgZkEsSExlPWMoKCk9PntmQT1bWyJwYXRoIix7ZDoiTTEwIDE3VjkuNWExIDEgMCAwIDEgNSAwIn1dLFsicGF0aCIse2Q6Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik04IDEzaDUifV0sWyJwYXRoIix7ZDoiTTggMTdoNyJ9XV19KTt2YXIgaEEscUxlPWMoKCk9PntoQT1bWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTggMTFoNWEyIDIgMCAwIDAgMC00aC0zdjEwIn1dLFsicGF0aCIse2Q6Ik04IDE1aDUifV1dfSk7dmFyIG1BLFZMZT1jKCgpPT57bUE9W1sicGF0aCIse2Q6Ik0xMyAxNkg4In1dLFsicGF0aCIse2Q6Ik0xNCA4SDgifV0sWyJwYXRoIix7ZDoiTTE2IDEySDgifV0sWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV1dfSk7dmFyIGdBLGpMZT1jKCgpPT57Z0E9W1sicGF0aCIse2Q6Ik0xMCAxMWg0In1dLFsicGF0aCIse2Q6Ik0xMCAxN1Y3aDUifV0sWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTggMTVoNSJ9XV19KTt2YXIgYkEsVUxlPWMoKCk9PntiQT1bWyJwYXRoIix7ZDoiTTEwIDd2MTBhNSA1IDAgMCAwIDUtNSJ9XSxbInBhdGgiLHtkOiJtMTQgOC02IDMifV0sWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV1dfSk7dmFyIHZBLFdMZT1jKCgpPT57dkE9W1sicGF0aCIse2Q6Ik0xMiAxN1Y3In1dLFsicGF0aCIse2Q6Ik0xNiA4aC02YTIgMiAwIDAgMCAwIDRoNGEyIDIgMCAwIDEgMCA0SDgifV0sWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV1dfSk7dmFyIHhBLEdMZT1jKCgpPT57eEE9W1sicGF0aCIse2Q6Ik0xNCA0djE2SDNhMSAxIDAgMCAxLTEtMVY1YTEgMSAwIDAgMSAxLTF6In1dLFsiY2lyY2xlIix7Y3g6IjE0IixjeToiMTIiLHI6IjgifV1dfSk7dmFyIHkzLFlMZT1jKCgpPT57eTM9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxMiIseDoiMiIseToiNiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDEyaC4wMSJ9XV19KTt2YXIgeUEsWkxlPWMoKCk9Pnt5QT1bWyJwYXRoIix7ZDoiTTIwIDZhMiAyIDAgMCAxIDIgMnY4YTIgMiAwIDAgMS0yIDJoLTRhMiAyIDAgMCAxLTEuNi0uOGwtMS42LTIuMTNhMSAxIDAgMCAwLTEuNiAwTDkuNiAxNy4yQTIgMiAwIDAgMSA4IDE4SDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJ6In1dXX0pO3ZhciB3QSxYTGU9YygoKT0+e3dBPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTIiLHg6IjIiLHk6IjYiLHJ4OiIyIn1dXX0pO3ZhciBNQSxLTGU9YygoKT0+e01BPVtbInBhdGgiLHtkOiJNNyAxOUg0LjgxNWExLjgzIDEuODMgMCAwIDEtMS41Ny0uODgxIDEuNzg1IDEuNzg1IDAgMCAxLS4wMDQtMS43ODRMNy4xOTYgOS41In1dLFsicGF0aCIse2Q6Ik0xMSAxOWg4LjIwM2ExLjgzIDEuODMgMCAwIDAgMS41NTYtLjg5IDEuNzg0IDEuNzg0IDAgMCAwIDAtMS43NzVsLTEuMjI2LTIuMTIifV0sWyJwYXRoIix7ZDoibTE0IDE2LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoiTTguMjkzIDEzLjU5NiA3LjE5NiA5LjUgMy4xIDEwLjU5OCJ9XSxbInBhdGgiLHtkOiJtOS4zNDQgNS44MTEgMS4wOTMtMS44OTJBMS44MyAxLjgzIDAgMCAxIDExLjk4NSAzYTEuNzg0IDEuNzg0IDAgMCAxIDEuNTQ2Ljg4OGwzLjk0MyA2Ljg0MyJ9XSxbInBhdGgiLHtkOiJtMTMuMzc4IDkuNjMzIDQuMDk2IDEuMDk4IDEuMDk3LTQuMDk2In1dXX0pO3ZhciBrQSxRTGU9YygoKT0+e2tBPVtbInJlY3QiLHt3aWR0aDoiMTIiLGhlaWdodDoiMjAiLHg6IjYiLHk6IjIiLHJ4OiIyIn1dXX0pO3ZhciB6QSxKTGU9YygoKT0+e3pBPVtbInBhdGgiLHtkOiJtMTUgMTQgNS01LTUtNSJ9XSxbInBhdGgiLHtkOiJNMjAgOUg5LjVBNS41IDUuNSAwIDAgMCA0IDE0LjVBNS41IDUuNSAwIDAgMCA5LjUgMjBIMTMifV1dfSk7dmFyIFNBLGUkZT1jKCgpPT57U0E9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTciLHI6IjEifV0sWyJwYXRoIix7ZDoiTTIxIDd2NmgtNiJ9XSxbInBhdGgiLHtkOiJNMyAxN2E5IDkgMCAwIDEgOS05IDkgOSAwIDAgMSA2IDIuM2wzIDIuNyJ9XV19KTt2YXIgQ0EsdCRlPWMoKCk9PntDQT1bWyJwYXRoIix7ZDoiTTIxIDd2NmgtNiJ9XSxbInBhdGgiLHtkOiJNMyAxN2E5IDkgMCAwIDEgOS05IDkgOSAwIDAgMSA2IDIuM2wzIDIuNyJ9XV19KTt2YXIgX0EsYSRlPWMoKCk9PntfQT1bWyJwYXRoIix7ZDoiTTIxIDEyYTkgOSAwIDAgMC05LTkgOS43NSA5Ljc1IDAgMCAwLTYuNzQgMi43NEwzIDgifV0sWyJwYXRoIix7ZDoiTTMgM3Y1aDUifV0sWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMCAwIDkgOSA5Ljc1IDkuNzUgMCAwIDAgNi43NC0yLjc0TDIxIDE2In1dLFsicGF0aCIse2Q6Ik0xNiAxNmg1djUifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XV19KTt2YXIgVEEsciRlPWMoKCk9PntUQT1bWyJwYXRoIix7ZDoiTTIxIDEyYTkgOSAwIDAgMC05LTkgOS43NSA5Ljc1IDAgMCAwLTYuNzQgMi43NEwzIDgifV0sWyJwYXRoIix7ZDoiTTMgM3Y1aDUifV0sWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMCAwIDkgOSA5Ljc1IDkuNzUgMCAwIDAgNi43NC0yLjc0TDIxIDE2In1dLFsicGF0aCIse2Q6Ik0xNiAxNmg1djUifV1dfSk7dmFyIExBLGkkZT1jKCgpPT57TEE9W1sicGF0aCIse2Q6Ik0yMSA4TDE4Ljc0IDUuNzRBOS43NSA5Ljc1IDAgMCAwIDEyIDNDMTEgMyAxMC4wMyAzLjE2IDkuMTMgMy40NyJ9XSxbInBhdGgiLHtkOiJNOCAxNkgzdjUifV0sWyJwYXRoIix7ZDoiTTMgMTJDMyA5LjUxIDQgNy4yNiA1LjY0IDUuNjQifV0sWyJwYXRoIix7ZDoibTMgMTYgMi4yNiAyLjI2QTkuNzUgOS43NSAwIDAgMCAxMiAyMWMyLjQ5IDAgNC43NC0xIDYuMzYtMi42NCJ9XSxbInBhdGgiLHtkOiJNMjEgMTJjMCAxLS4xNiAxLjk3LS40NyAyLjg3In1dLFsicGF0aCIse2Q6Ik0yMSAzdjVoLTUifV0sWyJwYXRoIix7ZDoiTTIyIDIyIDIgMiJ9XV19KTt2YXIgJEEscyRlPWMoKCk9PnskQT1bWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMCAxIDktOSA5Ljc1IDkuNzUgMCAwIDEgNi43NCAyLjc0TDIxIDgifV0sWyJwYXRoIix7ZDoiTTIxIDN2NWgtNSJ9XSxbInBhdGgiLHtkOiJNMjEgMTJhOSA5IDAgMCAxLTkgOSA5Ljc1IDkuNzUgMCAwIDEtNi43NC0yLjc0TDMgMTYifV0sWyJwYXRoIix7ZDoiTTggMTZIM3Y1In1dXX0pO3ZhciBEQSxvJGU9YygoKT0+e0RBPVtbInBhdGgiLHtkOiJNNSA2YTQgNCAwIDAgMSA0LTRoNmE0IDQgMCAwIDEgNCA0djE0YTIgMiAwIDAgMS0yIDJIN2EyIDIgMCAwIDEtMi0yVjZaIn1dLFsicGF0aCIse2Q6Ik01IDEwaDE0In1dLFsicGF0aCIse2Q6Ik0xNSA3djYifV1dfSk7dmFyIEFBLG4kZT1jKCgpPT57QUE9W1sicGF0aCIse2Q6Ik0xNyAzdjEwIn1dLFsicGF0aCIse2Q6Im0xMi42NyA1LjUgOC42NiA1In1dLFsicGF0aCIse2Q6Im0xMi42NyAxMC41IDguNjYtNSJ9XSxbInBhdGgiLHtkOiJNOSAxN2EyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYyYTIgMiAwIDAgMCAyIDJoMmEyIDIgMCAwIDAgMi0ydi0yeiJ9XV19KTt2YXIgUEEsbCRlPWMoKCk9PntQQT1bWyJwYXRoIix7ZDoiTTQgN1Y0aDE2djMifV0sWyJwYXRoIix7ZDoiTTUgMjBoNiJ9XSxbInBhdGgiLHtkOiJNMTMgNCA4IDIwIn1dLFsicGF0aCIse2Q6Im0xNSAxNSA1IDUifV0sWyJwYXRoIix7ZDoibTIwIDE1LTUgNSJ9XV19KTt2YXIgRUEsYyRlPWMoKCk9PntFQT1bWyJwYXRoIix7ZDoibTE3IDIgNCA0LTQgNCJ9XSxbInBhdGgiLHtkOiJNMyAxMXYtMWE0IDQgMCAwIDEgNC00aDE0In1dLFsicGF0aCIse2Q6Im03IDIyLTQtNCA0LTQifV0sWyJwYXRoIix7ZDoiTTIxIDEzdjFhNCA0IDAgMCAxLTQgNEgzIn1dLFsicGF0aCIse2Q6Ik0xMSAxMGgxdjQifV1dfSk7dmFyIElBLGQkZT1jKCgpPT57SUE9W1sicGF0aCIse2Q6Im0yIDkgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTMgMThIN2EyIDIgMCAwIDEtMi0yVjYifV0sWyJwYXRoIix7ZDoibTIyIDE1LTMgMy0zLTMifV0sWyJwYXRoIix7ZDoiTTExIDZoNmEyIDIgMCAwIDEgMiAydjEwIn1dXX0pO3ZhciBOQSxwJGU9YygoKT0+e05BPVtbInBhdGgiLHtkOiJtMTcgMiA0IDQtNCA0In1dLFsicGF0aCIse2Q6Ik0zIDExdi0xYTQgNCAwIDAgMSA0LTRoMTQifV0sWyJwYXRoIix7ZDoibTcgMjItNC00IDQtNCJ9XSxbInBhdGgiLHtkOiJNMjEgMTN2MWE0IDQgMCAwIDEtNCA0SDMifV1dfSk7dmFyIFJBLHUkZT1jKCgpPT57UkE9W1sicGF0aCIse2Q6Ik0xNCAxNGExIDEgMCAwIDEgMSAxdjVhMSAxIDAgMCAxLTEgMSJ9XSxbInBhdGgiLHtkOiJNMTQgNGExIDEgMCAwIDEgMS0xIn1dLFsicGF0aCIse2Q6Ik0xNSAxMGExIDEgMCAwIDEtMS0xIn1dLFsicGF0aCIse2Q6Ik0xOSAxNGExIDEgMCAwIDEgMSAxdjVhMSAxIDAgMCAxLTEgMSJ9XSxbInBhdGgiLHtkOiJNMjEgNGExIDEgMCAwIDAtMS0xIn1dLFsicGF0aCIse2Q6Ik0yMSA5YTEgMSAwIDAgMS0xIDEifV0sWyJwYXRoIix7ZDoibTMgNyAzIDMgMy0zIn1dLFsicGF0aCIse2Q6Ik02IDEwVjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicmVjdCIse3g6IjMiLHk6IjE0Iix3aWR0aDoiNyIsaGVpZ2h0OiI3IixyeDoiMSJ9XV19KTt2YXIgRkEsZiRlPWMoKCk9PntGQT1bWyJwYXRoIix7ZDoiTTE0IDRhMSAxIDAgMCAxIDEtMSJ9XSxbInBhdGgiLHtkOiJNMTUgMTBhMSAxIDAgMCAxLTEtMSJ9XSxbInBhdGgiLHtkOiJNMjEgNGExIDEgMCAwIDAtMS0xIn1dLFsicGF0aCIse2Q6Ik0yMSA5YTEgMSAwIDAgMS0xIDEifV0sWyJwYXRoIix7ZDoibTMgNyAzIDMgMy0zIn1dLFsicGF0aCIse2Q6Ik02IDEwVjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicmVjdCIse3g6IjMiLHk6IjE0Iix3aWR0aDoiNyIsaGVpZ2h0OiI3IixyeDoiMSJ9XV19KTt2YXIgT0EsaCRlPWMoKCk9PntPQT1bWyJwYXRoIix7ZDoibTEyIDE3LTUtNSA1LTUifV0sWyJwYXRoIix7ZDoiTTIyIDE4di0yYTQgNCAwIDAgMC00LTRINyJ9XSxbInBhdGgiLHtkOiJtNyAxNy01LTUgNS01In1dXX0pO3ZhciBCQSxtJGU9YygoKT0+e0JBPVtbInBhdGgiLHtkOiJNMTIgNmEyIDIgMCAwIDAtMy40MTQtMS40MTRsLTYgNmEyIDIgMCAwIDAgMCAyLjgyOGw2IDZBMiAyIDAgMCAwIDEyIDE4eiJ9XSxbInBhdGgiLHtkOiJNMjIgNmEyIDIgMCAwIDAtMy40MTQtMS40MTRsLTYgNmEyIDIgMCAwIDAgMCAyLjgyOGw2IDZBMiAyIDAgMCAwIDIyIDE4eiJ9XV19KTt2YXIgSEEsZyRlPWMoKCk9PntIQT1bWyJwYXRoIix7ZDoiTTIwIDE4di0yYTQgNCAwIDAgMC00LTRINCJ9XSxbInBhdGgiLHtkOiJtOSAxNy01LTUgNS01In1dXX0pO3ZhciBxQSxiJGU9YygoKT0+e3FBPVtbInBhdGgiLHtkOiJNMTIgMTEuMjJDMTEgOS45OTcgMTAgOSAxMCA4YTIgMiAwIDAgMSA0IDBjMCAxLS45OTggMi4wMDItMi4wMSAzLjIyIn1dLFsicGF0aCIse2Q6Im0xMiAxOCAyLjU3LTMuNSJ9XSxbInBhdGgiLHtkOiJNNi4yNDMgOS4wMTZhNyA3IDAgMCAxIDExLjUwNy0uMDA5In1dLFsicGF0aCIse2Q6Ik05LjM1IDE0LjUzIDEyIDExLjIyIn1dLFsicGF0aCIse2Q6Ik05LjM1IDE0LjUzQzcuNzI4IDEyLjI0NiA2IDEwLjIyMSA2IDdhNiA1IDAgMCAxIDEyIDBjLS4wMDUgMy4yMi0xLjc3OCA1LjIzNS0zLjQzIDcuNWwzLjU1NyA0LjUyN2ExIDEgMCAwIDEtLjIwMyAxLjQzbC0xLjg5NCAxLjM2YTEgMSAwIDAgMS0xLjM4NC0uMjE1TDEyIDE4bC0yLjY3OSAzLjU5M2ExIDEgMCAwIDEtMS4zOS4yMTNsLTEuODY1LTEuMzUzYTEgMSAwIDAgMS0uMjAzLTEuNDIyeiJ9XV19KTt2YXIgVkEsdiRlPWMoKCk9PntWQT1bWyJwYXRoIix7ZDoiTTEyIDE1djVzMy4wMy0uNTUgNC0yYzEuMDgtMS42MiAwLTUgMC01In1dLFsicGF0aCIse2Q6Ik00LjUgMTYuNWMtMS41IDEuMjYtMiA1LTIgNXMzLjc0LS41IDUtMmMuNzEtLjg0LjctMi4xMy0uMDktMi45MWEyLjE4IDIuMTggMCAwIDAtMi45MS0uMDkifV0sWyJwYXRoIix7ZDoiTTkgMTJhMjIgMjIgMCAwIDEgMi0zLjk1QTEyLjg4IDEyLjg4IDAgMCAxIDIyIDJjMCAyLjcyLS43OCA3LjUtNiAxMWEyMi40IDIyLjQgMCAwIDEtNCAyeiJ9XSxbInBhdGgiLHtkOiJNOSAxMkg0cy41NS0zLjAzIDItNGMxLjYyLTEuMDggNSAuMDUgNSAuMDUifV1dfSk7dmFyIGpBLHgkZT1jKCgpPT57akE9W1sicGF0aCIse2Q6Im0xNSAxMyAzLjcwOCA3LjQxNiJ9XSxbInBhdGgiLHtkOiJNMyAxOWExNSAxNSAwIDAgMCAxOCAwIn1dLFsicGF0aCIse2Q6Im0zIDIgMy4yMSA5LjYzM0EyIDIgMCAwIDAgOC4xMDkgMTNIMTgifV0sWyJwYXRoIix7ZDoibTkgMTMtMy43MDggNy40MTYifV1dfSk7dmFyIFVBLHkkZT1jKCgpPT57VUE9W1sicGF0aCIse2Q6Ik02IDE5VjUifV0sWyJwYXRoIix7ZDoiTTEwIDE5VjYuOCJ9XSxbInBhdGgiLHtkOiJNMTQgMTl2LTcuOCJ9XSxbInBhdGgiLHtkOiJNMTggNXY0In1dLFsicGF0aCIse2Q6Ik0xOCAxOXYtNiJ9XSxbInBhdGgiLHtkOiJNMjIgMTlWOSJ9XSxbInBhdGgiLHtkOiJNMiAxOVY5YTQgNCAwIDAgMSA0LTRjMiAwIDQgMS4zMyA2IDRzNCA0IDYgNGE0IDQgMCAxIDAtMy02LjY1In1dXX0pO3ZhciBXQSx3JGU9YygoKT0+e1dBPVtbInBhdGgiLHtkOiJNMTcgMTBoLTFhNCA0IDAgMSAxIDQtNHYuNTM0In1dLFsicGF0aCIse2Q6Ik0xNyA2aDFhNCA0IDAgMCAxIDEuNDIgNy43NGwtMi4yOS44N2E2IDYgMCAwIDEtNS4zMzktMTAuNjhsMi4wNjktMS4zMSJ9XSxbInBhdGgiLHtkOiJNNC41IDE3YzIuOC0uNSA0LjQgMCA1LjUuOHMxLjggMi4yIDIuMyAzLjdjLTIgLjQtMy41LjQtNC44LS4zLTEuMi0uNi0yLjMtMS45LTMtNC4yIn1dLFsicGF0aCIse2Q6Ik05Ljc3IDEyQzQgMTUgMiAyMiAyIDIyIn1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiOCIscjoiMiJ9XV19KTt2YXIgdzMsTSRlPWMoKCk9Pnt3Mz1bWyJwYXRoIix7ZDoiTTE2LjQ2NiA3LjVDMTUuNjQzIDQuMjM3IDEzLjk1MiAyIDEyIDIgOS4yMzkgMiA3IDYuNDc3IDcgMTJzMi4yMzkgMTAgNSAxMGMuMzQyIDAgLjY3Ny0uMDY5IDEtLjIifV0sWyJwYXRoIix7ZDoibTE1LjE5NCAxMy43MDcgMy44MTQgMS44Ni0xLjg2IDMuODE0In1dLFsicGF0aCIse2Q6Ik0xOSAxNS41N2MtMS44MDQuODg1LTQuMjc0IDEuNDMtNyAxLjQzLTUuNTIzIDAtMTAtMi4yMzktMTAtNXM0LjQ3Ny01IDEwLTVjNC44MzggMCA4Ljg3MyAxLjcxOCA5LjggNCJ9XV19KTt2YXIgR0EsayRlPWMoKCk9PntHQT1bWyJwYXRoIix7ZDoiTTEyIDd2NiJ9XSxbInBhdGgiLHtkOiJNMTIgOWgyIn1dLFsicGF0aCIse2Q6Ik0zIDEyYTkgOSAwIDEgMCA5LTkgOS43NCA5Ljc0IDAgMCAwLTYuNzQgMi43NEwzIDgifV0sWyJwYXRoIix7ZDoiTTMgM3Y1aDUifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNSIscjoiMiJ9XV19KTt2YXIgWUEseiRlPWMoKCk9PntZQT1bWyJwYXRoIix7ZDoiTTIwIDlWN2EyIDIgMCAwIDAtMi0yaC02In1dLFsicGF0aCIse2Q6Im0xNSAyLTMgMyAzIDMifV0sWyJwYXRoIix7ZDoiTTIwIDEzdjVhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWN2EyIDIgMCAwIDEgMi0yaDIifV1dfSk7dmFyIFpBLFMkZT1jKCgpPT57WkE9W1sicGF0aCIse2Q6Ik0zIDEyYTkgOSAwIDEgMCA5LTkgOS43NSA5Ljc1IDAgMCAwLTYuNzQgMi43NEwzIDgifV0sWyJwYXRoIix7ZDoiTTMgM3Y1aDUifV1dfSk7dmFyIFhBLEMkZT1jKCgpPT57WEE9W1sicGF0aCIse2Q6Ik0yMSAxMmE5IDkgMCAxIDEtOS05YzIuNTIgMCA0LjkzIDEgNi43NCAyLjc0TDIxIDgifV0sWyJwYXRoIix7ZDoiTTIxIDN2NWgtNSJ9XV19KTt2YXIgS0EsXyRlPWMoKCk9PntLQT1bWyJwYXRoIix7ZDoiTTEyIDVINmEyIDIgMCAwIDAtMiAydjMifV0sWyJwYXRoIix7ZDoibTkgOCAzLTMtMy0zIn1dLFsicGF0aCIse2Q6Ik00IDE0djRhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjdhMiAyIDAgMCAwLTItMmgtMiJ9XV19KTt2YXIgUUEsVCRlPWMoKCk9PntRQT1bWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjE5IixyOiIzIn1dLFsicGF0aCIse2Q6Ik05IDE5aDguNWEzLjUgMy41IDAgMCAwIDAtN2gtMTFhMy41IDMuNSAwIDAgMSAwLTdIMTUifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI1IixyOiIzIn1dXX0pO3ZhciBKQSxMJGU9YygoKT0+e0pBPVtbImNpcmNsZSIse2N4OiI2IixjeToiMTkiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTkgMTloOC41Yy40IDAgLjktLjEgMS4zLS4yIn1dLFsicGF0aCIse2Q6Ik01LjIgNS4yQTMuNSAzLjUzIDAgMCAwIDYuNSAxMkgxMiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMSAxNS4zYTMuNSAzLjUgMCAwIDAtMy4zLTMuMyJ9XSxbInBhdGgiLHtkOiJNMTUgNWgtNC4zIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiNSIscjoiMyJ9XV19KTt2YXIgZVAsJCRlPWMoKCk9PntlUD1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjgiLHg6IjIiLHk6IjE0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNi4wMSAxOEg2In1dLFsicGF0aCIse2Q6Ik0xMC4wMSAxOEgxMCJ9XSxbInBhdGgiLHtkOiJNMTUgMTB2NCJ9XSxbInBhdGgiLHtkOiJNMTcuODQgNy4xN2E0IDQgMCAwIDAtNS42NiAwIn1dLFsicGF0aCIse2Q6Ik0yMC42NiA0LjM0YTggOCAwIDAgMC0xMS4zMSAwIn1dXX0pO3ZhciBNMyxEJGU9YygoKT0+e00zPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDEyaDE4In1dXX0pO3ZhciBrMyxBJGU9YygoKT0+e2szPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yMSA5SDMifV0sWyJwYXRoIix7ZDoiTTIxIDE1SDMifV1dfSk7dmFyIHRQLFAkZT1jKCgpPT57dFA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIxIDcuNUgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxMkgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxNi41SDMifV1dfSk7dmFyIGFQLEUkZT1jKCgpPT57YVA9W1sicGF0aCIse2Q6Ik00IDExYTkgOSAwIDAgMSA5IDkifV0sWyJwYXRoIix7ZDoiTTQgNGExNiAxNiAwIDAgMSAxNiAxNiJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTkiLHI6IjEifV1dfSk7dmFyIHJQLEkkZT1jKCgpPT57clA9W1sicGF0aCIse2Q6Ik0xMCAxNXYtMyJ9XSxbInBhdGgiLHtkOiJNMTQgMTV2LTMifV0sWyJwYXRoIix7ZDoiTTE4IDE1di0zIn1dLFsicGF0aCIse2Q6Ik0yIDhWNCJ9XSxbInBhdGgiLHtkOiJNMjIgNkgyIn1dLFsicGF0aCIse2Q6Ik0yMiA4VjQifV0sWyJwYXRoIix7ZDoiTTYgMTV2LTMifV0sWyJyZWN0Iix7eDoiMiIseToiMTIiLHdpZHRoOiIyMCIsaGVpZ2h0OiI4IixyeDoiMiJ9XV19KTt2YXIgaVAsTiRlPWMoKCk9PntpUD1bWyJwYXRoIix7ZDoiTTIxLjMgMTUuM2EyLjQgMi40IDAgMCAxIDAgMy40bC0yLjYgMi42YTIuNCAyLjQgMCAwIDEtMy40IDBMMi43IDguN2EyLjQxIDIuNDEgMCAwIDEgMC0zLjRsMi42LTIuNmEyLjQxIDIuNDEgMCAwIDEgMy40IDBaIn1dLFsicGF0aCIse2Q6Im0xNC41IDEyLjUgMi0yIn1dLFsicGF0aCIse2Q6Im0xMS41IDkuNSAyLTIifV0sWyJwYXRoIix7ZDoibTguNSA2LjUgMi0yIn1dLFsicGF0aCIse2Q6Im0xNy41IDE1LjUgMi0yIn1dXX0pO3ZhciBzUCxSJGU9YygoKT0+e3NQPVtbInBhdGgiLHtkOiJNNiAxMWg4YTQgNCAwIDAgMCAwLThIOXYxOCJ9XSxbInBhdGgiLHtkOiJNNiAxNWg4In1dXX0pO3ZhciBvUCxGJGU9YygoKT0+e29QPVtbInBhdGgiLHtkOiJNMTAgMnYxNSJ9XSxbInBhdGgiLHtkOiJNNyAyMmE0IDQgMCAwIDEtNC00IDEgMSAwIDAgMSAxLTFoMTZhMSAxIDAgMCAxIDEgMSA0IDQgMCAwIDEtNCA0eiJ9XSxbInBhdGgiLHtkOiJNOS4xNTkgMi40NmExIDEgMCAwIDEgMS41MjEtLjE5M2w5Ljk3NyA4Ljk4QTEgMSAwIDAgMSAyMCAxM0g0YTEgMSAwIDAgMS0uODI0LTEuNTY3eiJ9XV19KTt2YXIgblAsTyRlPWMoKCk9PntuUD1bWyJwYXRoIix7ZDoiTTcgMjFoMTAifV0sWyJwYXRoIix7ZDoiTTEyIDIxYTkgOSAwIDAgMCA5LTlIM2E5IDkgMCAwIDAgOSA5WiJ9XSxbInBhdGgiLHtkOiJNMTEuMzggMTJhMi40IDIuNCAwIDAgMS0uNC00Ljc3IDIuNCAyLjQgMCAwIDEgMy4yLTIuNzcgMi40IDIuNCAwIDAgMSAzLjQ3LS42MyAyLjQgMi40IDAgMCAxIDMuMzcgMy4zNyAyLjQgMi40IDAgMCAxLTEuMSAzLjcgMi41MSAyLjUxIDAgMCAxIC4wMyAxLjEifV0sWyJwYXRoIix7ZDoibTEzIDEyIDQtNCJ9XSxbInBhdGgiLHtkOiJNMTAuOSA3LjI1QTMuOTkgMy45OSAwIDAgMCA0IDEwYzAgLjczLjIgMS40MS41NCAyIn1dXX0pO3ZhciBsUCxCJGU9YygoKT0+e2xQPVtbInBhdGgiLHtkOiJtMi4zNyAxMS4yMjMgOC4zNzItNi43NzdhMiAyIDAgMCAxIDIuNTE2IDBsOC4zNzEgNi43NzcifV0sWyJwYXRoIix7ZDoiTTIxIDE1YTEgMSAwIDAgMSAxIDF2MmExIDEgMCAwIDEtMSAxaC01LjI1In1dLFsicGF0aCIse2Q6Ik0zIDE1YTEgMSAwIDAgMC0xIDF2MmExIDEgMCAwIDAgMSAxaDkifV0sWyJwYXRoIix7ZDoibTYuNjcgMTUgNi4xMyA0LjZhMiAyIDAgMCAwIDIuOC0uNGwzLjE1LTQuMiJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiNCIseDoiMiIseToiMTEiLHJ4OiIxIn1dXX0pO3ZhciBjUCxIJGU9YygoKT0+e2NQPVtbInBhdGgiLHtkOiJNNCAxMGE3LjMxIDcuMzEgMCAwIDAgMTAgMTBaIn1dLFsicGF0aCIse2Q6Im05IDE1IDMtMyJ9XSxbInBhdGgiLHtkOiJNMTcgMTNhNiA2IDAgMCAwLTYtNiJ9XSxbInBhdGgiLHtkOiJNMjEgMTNBMTAgMTAgMCAwIDAgMTEgMyJ9XV19KTt2YXIgZFAscSRlPWMoKCk9PntkUD1bWyJwYXRoIix7ZDoibTEzLjUgNi41LTMuMTQ4LTMuMTQ4YTEuMjA1IDEuMjA1IDAgMCAwLTEuNzA0IDBMNi4zNTIgNS42NDhhMS4yMDUgMS4yMDUgMCAwIDAgMCAxLjcwNEw5LjUgMTAuNSJ9XSxbInBhdGgiLHtkOiJNMTYuNSA3LjUgMTkgNSJ9XSxbInBhdGgiLHtkOiJtMTcuNSAxMC41IDMuMTQ4IDMuMTQ4YTEuMjA1IDEuMjA1IDAgMCAxIDAgMS43MDRsLTIuMjk2IDIuMjk2YTEuMjA1IDEuMjA1IDAgMCAxLTEuNzA0IDBMMTMuNSAxNC41In1dLFsicGF0aCIse2Q6Ik05IDIxYTYgNiAwIDAgMC02LTYifV0sWyJwYXRoIix7ZDoiTTkuMzUyIDEwLjY0OGExLjIwNSAxLjIwNSAwIDAgMCAwIDEuNzA0bDIuMjk2IDIuMjk2YTEuMjA1IDEuMjA1IDAgMCAwIDEuNzA0IDBsNC4yOTYtNC4yOTZhMS4yMDUgMS4yMDUgMCAwIDAgMC0xLjcwNGwtMi4yOTYtMi4yOTZhMS4yMDUgMS4yMDUgMCAwIDAtMS43MDQgMHoifV1dfSk7dmFyIHBQLFYkZT1jKCgpPT57cFA9W1sicGF0aCIse2Q6Im0yMCAxOS41LTUuNSAxLjIifV0sWyJwYXRoIix7ZDoiTTE0LjUgNHYxMS4yMmExIDEgMCAwIDAgMS4yNDIuOTdMMjAgMTUuMiJ9XSxbInBhdGgiLHtkOiJtMi45NzggMTkuMzUxIDUuNTQ5LTEuMzYzQTIgMiAwIDAgMCAxMCAxNlYyIn1dLFsicGF0aCIse2Q6Ik0yMCAxMCA0IDEzLjUifV1dfSk7dmFyIHVQLGokZT1jKCgpPT57dVA9W1sicGF0aCIse2Q6Ik0xMyAxM0g4YTEgMSAwIDAgMC0xIDF2NyJ9XSxbInBhdGgiLHtkOiJNMTQgOGgxIn1dLFsicGF0aCIse2Q6Ik0xNyAyMXYtNCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMC40MSAyMC40MUEyIDIgMCAwIDEgMTkgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIC41OS0xLjQxIn1dLFsicGF0aCIse2Q6Ik0yOS41IDExLjVzNSA1IDQgNSJ9XSxbInBhdGgiLHtkOiJNOSAzaDYuMmEyIDIgMCAwIDEgMS40LjZsMy44IDMuOGEyIDIgMCAwIDEgLjYgMS40VjE1In1dXX0pO3ZhciBmUCxVJGU9YygoKT0+e2ZQPVtbInBhdGgiLHtkOiJNMTAgMnYzYTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTggMTh2LTZhMSAxIDAgMCAwLTEtMWgtNmExIDEgMCAwIDAtMSAxdjYifV0sWyJwYXRoIix7ZDoiTTE4IDIySDRhMiAyIDAgMCAxLTItMlY2In1dLFsicGF0aCIse2Q6Ik04IDE4YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDkuMTcyYTIgMiAwIDAgMSAxLjQxNC41ODZsMi44MjggMi44MjhBMiAyIDAgMCAxIDIyIDYuODI4VjE2YTIgMiAwIDAgMS0yLjAxIDJ6In1dXX0pO3ZhciBoUCxXJGU9YygoKT0+e2hQPVtbInBhdGgiLHtkOiJNMTUuMiAzYTIgMiAwIDAgMSAxLjQuNmwzLjggMy44YTIgMiAwIDAgMSAuNiAxLjRWMTlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yeiJ9XSxbInBhdGgiLHtkOiJNMTcgMjF2LTdhMSAxIDAgMCAwLTEtMUg4YTEgMSAwIDAgMC0xIDF2NyJ9XSxbInBhdGgiLHtkOiJNNyAzdjRhMSAxIDAgMCAwIDEgMWg3In1dXX0pO3ZhciB6MyxHJGU9YygoKT0+e3ozPVtbInBhdGgiLHtkOiJNNSA3djExYTEgMSAwIDAgMCAxIDFoMTEifV0sWyJwYXRoIix7ZDoiTTUuMjkzIDE4LjcwNyAxMSAxMyJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE5IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiI1IixyOiIyIn1dXX0pO3ZhciBtUCxZJGU9YygoKT0+e21QPVtbInBhdGgiLHtkOiJNMTIgM3YxOCJ9XSxbInBhdGgiLHtkOiJtMTkgOCAzIDhhNSA1IDAgMCAxLTYgMHpWNyJ9XSxbInBhdGgiLHtkOiJNMyA3aDFhMTcgMTcgMCAwIDAgOC0yIDE3IDE3IDAgMCAwIDggMmgxIn1dLFsicGF0aCIse2Q6Im01IDggMyA4YTUgNSAwIDAgMS02IDB6VjcifV0sWyJwYXRoIix7ZDoiTTcgMjFoMTAifV1dfSk7dmFyIGdQLFokZT1jKCgpPT57Z1A9W1sicGF0aCIse2Q6Ik0xMiAzSDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ2LTcifV0sWyJwYXRoIix7ZDoiTTE0IDE1SDl2LTUifV0sWyJwYXRoIix7ZDoiTTE2IDNoNXY1In1dLFsicGF0aCIse2Q6Ik0yMSAzIDkgMTUifV1dfSk7dmFyIGJQLFgkZT1jKCgpPT57YlA9W1sicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJwYXRoIix7ZDoiTTggN3YxMCJ9XSxbInBhdGgiLHtkOiJNMTIgN3YxMCJ9XSxbInBhdGgiLHtkOiJNMTcgN3YxMCJ9XV19KTt2YXIgdlAsSyRlPWMoKCk9Pnt2UD1bWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dLFsicGF0aCIse2Q6Ik0xOC45NDQgMTIuMzNhMSAxIDAgMCAwIDAtLjY2IDcuNSA3LjUgMCAwIDAtMTMuODg4IDAgMSAxIDAgMCAwIDAgLjY2IDcuNSA3LjUgMCAwIDAgMTMuODg4IDAifV1dfSk7dmFyIHhQLFEkZT1jKCgpPT57eFA9W1sicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJwYXRoIix7ZDoiTTggMTRzMS41IDIgNCAyIDQtMiA0LTIifV0sWyJwYXRoIix7ZDoiTTkgOWguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDloLjAxIn1dXX0pO3ZhciB5UCxKJGU9YygoKT0+e3lQPVtbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dLFsicGF0aCIse2Q6Ik03LjgyOCAxMy4wN0EzIDMgMCAwIDEgMTIgOC43NjRhMyAzIDAgMCAxIDQuMTcyIDQuMzA2bC0zLjQ0NyAzLjYyYTEgMSAwIDAgMS0xLjQ0OSAweiJ9XV19KTt2YXIgd1AsZURlPWMoKCk9Pnt3UD1bWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbInBhdGgiLHtkOiJNNyAxMmgxMCJ9XV19KTt2YXIgTVAsdERlPWMoKCk9PntNUD1bWyJwYXRoIix7ZDoiTTE3IDEydjRhMSAxIDAgMCAxLTEgMWgtNCJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTcgOFY3In1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNNyAxN2guMDEifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dLFsicmVjdCIse3g6IjciLHk6IjciLHdpZHRoOiI1IixoZWlnaHQ6IjUiLHJ4OiIxIn1dXX0pO3ZhciBrUCxhRGU9YygoKT0+e2tQPVtbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV0sWyJwYXRoIix7ZDoibTE2IDE2LTEuOS0xLjkifV1dfSk7dmFyIHpQLHJEZT1jKCgpPT57elA9W1sicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJwYXRoIix7ZDoiTTcgOGg4In1dLFsicGF0aCIse2Q6Ik03IDEyaDEwIn1dLFsicGF0aCIse2Q6Ik03IDE2aDYifV1dfSk7dmFyIFNQLGlEZT1jKCgpPT57U1A9W1sicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV1dfSk7dmFyIENQLHNEZT1jKCgpPT57Q1A9W1sicGF0aCIse2Q6Ik0xNCAyMXYtM2EyIDIgMCAwIDAtNCAwdjMifV0sWyJwYXRoIix7ZDoiTTE4IDV2MTYifV0sWyJwYXRoIix7ZDoibTQgNiA3LjEwNi0zLjc5YTIgMiAwIDAgMSAxLjc4OCAwTDIwIDYifV0sWyJwYXRoIix7ZDoibTYgMTEtMy41MiAyLjE0N2ExIDEgMCAwIDAtLjQ4Ljg1NFYxOWEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTVhMSAxIDAgMCAwLS40OC0uODUzTDE4IDExIn1dLFsicGF0aCIse2Q6Ik02IDV2MTYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI5IixyOiIyIn1dXX0pO3ZhciBfUCxvRGU9YygoKT0+e19QPVtbInBhdGgiLHtkOiJNNS40MiA5LjQyIDggMTIifV0sWyJjaXJjbGUiLHtjeDoiNCIsY3k6IjgiLHI6IjIifV0sWyJwYXRoIix7ZDoibTE0IDYtOC41OCA4LjU4In1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiIxNiIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMTAuOCAxNC44IDE0IDE4In1dLFsicGF0aCIse2Q6Ik0xNiAxMmgtMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTIifV1dfSk7dmFyIFRQLG5EZT1jKCgpPT57VFA9W1siY2lyY2xlIix7Y3g6IjYiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik04LjEyIDguMTIgMTIgMTIifV0sWyJwYXRoIix7ZDoiTTIwIDQgOC4xMiAxNS44OCJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMTgiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTE0LjggMTQuOCAyMCAyMCJ9XV19KTt2YXIgTFAsbERlPWMoKCk9PntMUD1bWyJwYXRoIix7ZDoiTTIxIDRoLTMuNWwyIDExLjA1In1dLFsicGF0aCIse2Q6Ik02Ljk1IDE3aDUuMTQyYy41MjMgMCAuOTUtLjQwNiAxLjA2My0uOTE2YTYuNSA2LjUgMCAwIDEgNS4zNDUtNS4wMDkifV0sWyJjaXJjbGUiLHtjeDoiMTkuNSIsY3k6IjE3LjUiLHI6IjIuNSJ9XSxbImNpcmNsZSIse2N4OiI0LjUiLGN5OiIxNy41IixyOiIyLjUifV1dfSk7dmFyICRQLGNEZT1jKCgpPT57JFA9W1sicGF0aCIse2Q6Ik0xMyAzSDRhMiAyIDAgMCAwLTIgMnYxMGEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTMifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJtMjIgMy01IDUifV0sWyJwYXRoIix7ZDoibTE3IDMgNSA1In1dXX0pO3ZhciBEUCxkRGU9YygoKT0+e0RQPVtbInBhdGgiLHtkOiJNMTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0zIn1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoibTE3IDggNS01In1dLFsicGF0aCIse2Q6Ik0xNyAzaDV2NSJ9XV19KTt2YXIgQVAscERlPWMoKCk9PntBUD1bWyJwYXRoIix7ZDoiTTE1IDEyaC01In1dLFsicGF0aCIse2Q6Ik0xNSA4aC01In1dLFsicGF0aCIse2Q6Ik0xOSAxN1Y1YTIgMiAwIDAgMC0yLTJINCJ9XSxbInBhdGgiLHtkOiJNOCAyMWgxMmEyIDIgMCAwIDAgMi0ydi0xYTEgMSAwIDAgMC0xLTFIMTFhMSAxIDAgMCAwLTEgMXYxYTIgMiAwIDEgMS00IDBWNWEyIDIgMCAxIDAtNCAwdjJhMSAxIDAgMCAwIDEgMWgzIn1dXX0pO3ZhciBQUCx1RGU9YygoKT0+e1BQPVtbInBhdGgiLHtkOiJNMTkgMTdWNWEyIDIgMCAwIDAtMi0ySDQifV0sWyJwYXRoIix7ZDoiTTggMjFoMTJhMiAyIDAgMCAwIDItMnYtMWExIDEgMCAwIDAtMS0xSDExYTEgMSAwIDAgMC0xIDF2MWEyIDIgMCAxIDEtNCAwVjVhMiAyIDAgMSAwLTQgMHYyYTEgMSAwIDAgMCAxIDFoMyJ9XV19KTt2YXIgRVAsZkRlPWMoKCk9PntFUD1bWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiOCJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtNC4zLTQuMyJ9XSxbInBhdGgiLHtkOiJNMTEgN3Y0In1dLFsicGF0aCIse2Q6Ik0xMSAxNWguMDEifV1dfSk7dmFyIElQLGhEZT1jKCgpPT57SVA9W1sicGF0aCIse2Q6Im04IDExIDIgMiA0LTQifV0sWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiOCJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtNC4zLTQuMyJ9XV19KTt2YXIgTlAsbURlPWMoKCk9PntOUD1bWyJwYXRoIix7ZDoibTEzIDEzLjUgMi0yLjUtMi0yLjUifV0sWyJwYXRoIix7ZDoibTIxIDIxLTQuMy00LjMifV0sWyJwYXRoIix7ZDoiTTkgOC41IDcgMTFsMiAyLjUifV0sWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiOCJ9XV19KTt2YXIgUlAsZ0RlPWMoKCk9PntSUD1bWyJwYXRoIix7ZDoibTEzLjUgOC41LTUgNSJ9XSxbInBhdGgiLHtkOiJtOC41IDguNSA1IDUifV0sWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiOCJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtNC4zLTQuMyJ9XV19KTt2YXIgRlAsYkRlPWMoKCk9PntGUD1bWyJwYXRoIix7ZDoibTEzLjUgOC41LTUgNSJ9XSxbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4In1dLFsicGF0aCIse2Q6Im0yMSAyMS00LjMtNC4zIn1dXX0pO3ZhciBPUCx2RGU9YygoKT0+e09QPVtbInBhdGgiLHtkOiJNMTYgNWE0IDMgMCAwIDAtOCAwYzAgNCA4IDMgOCA3YTQgMyAwIDAgMS04IDAifV0sWyJwYXRoIix7ZDoiTTggMTlhNCAzIDAgMCAwIDggMGMwLTQtOC0zLTgtN2E0IDMgMCAwIDEgOCAwIn1dXX0pO3ZhciBCUCx4RGU9YygoKT0+e0JQPVtbInBhdGgiLHtkOiJtMjEgMjEtNC4zNC00LjM0In1dLFsiY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjgifV1dfSk7dmFyIFMzLHlEZT1jKCgpPT57UzM9W1sicGF0aCIse2Q6Ik0zLjcxNCAzLjA0OGEuNDk4LjQ5OCAwIDAgMC0uNjgzLjYyN2wyLjg0MyA3LjYyN2EyIDIgMCAwIDEgMCAxLjM5NmwtMi44NDIgNy42MjdhLjQ5OC40OTggMCAwIDAgLjY4Mi42MjdsMTgtOC41YS41LjUgMCAwIDAgMC0uOTA0eiJ9XSxbInBhdGgiLHtkOiJNNiAxMmgxNiJ9XV19KTt2YXIgSFAsd0RlPWMoKCk9PntIUD1bWyJyZWN0Iix7eDoiMTQiLHk6IjE0Iix3aWR0aDoiOCIsaGVpZ2h0OiI4IixyeDoiMiJ9XSxbInJlY3QiLHt4OiIyIix5OiIyIix3aWR0aDoiOCIsaGVpZ2h0OiI4IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNyAxNHYxYTIgMiAwIDAgMCAyIDJoMSJ9XSxbInBhdGgiLHtkOiJNMTQgN2gxYTIgMiAwIDAgMSAyIDJ2MSJ9XV19KTt2YXIgcVAsTURlPWMoKCk9PntxUD1bWyJwYXRoIix7ZDoiTTE0LjUzNiAyMS42ODZhLjUuNSAwIDAgMCAuOTM3LS4wMjRsNi41LTE5YS40OTYuNDk2IDAgMCAwLS42MzUtLjYzNWwtMTkgNi41YS41LjUgMCAwIDAtLjAyNC45MzdsNy45MyAzLjE4YTIgMiAwIDAgMSAxLjExMiAxLjExeiJ9XSxbInBhdGgiLHtkOiJtMjEuODU0IDIuMTQ3LTEwLjk0IDEwLjkzOSJ9XV19KTt2YXIgVlAsa0RlPWMoKCk9PntWUD1bWyJwYXRoIix7ZDoibTE2IDE2LTQgNC00LTQifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTgifV0sWyJwYXRoIix7ZDoibTggOCA0LTQgNCA0In1dXX0pO3ZhciBqUCx6RGU9YygoKT0+e2pQPVtbInBhdGgiLHtkOiJNMTIgM3YxOCJ9XSxbInBhdGgiLHtkOiJtMTYgMTYgNC00LTQtNCJ9XSxbInBhdGgiLHtkOiJtOCA4LTQgNCA0IDQifV1dfSk7dmFyIFVQLFNEZT1jKCgpPT57VVA9W1sicGF0aCIse2Q6Im0xMC44NTIgMTQuNzcyLS4zODMuOTIzIn1dLFsicGF0aCIse2Q6Ik0xMy4xNDggMTQuNzcyYTMgMyAwIDEgMC0yLjI5Ni01LjU0NGwtLjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xMy4xNDggOS4yMjguMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTEzLjUzIDE1LjY5Ni0uMzgyLS45MjRhMyAzIDAgMSAxLTIuMjk2LTUuNTQ0In1dLFsicGF0aCIse2Q6Im0xNC43NzIgMTAuODUyLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0xNC43NzIgMTMuMTQ4LjkyMy4zODMifV0sWyJwYXRoIix7ZDoiTTQuNSAxMEg0YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2NGEyIDIgMCAwIDEtMiAyaC0uNSJ9XSxbInBhdGgiLHtkOiJNNC41IDE0SDRhMiAyIDAgMCAwLTIgMnY0YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNGEyIDIgMCAwIDAtMi0yaC0uNSJ9XSxbInBhdGgiLHtkOiJNNiAxOGguMDEifV0sWyJwYXRoIix7ZDoiTTYgNmguMDEifV0sWyJwYXRoIix7ZDoibTkuMjI4IDEwLjg1Mi0uOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTkuMjI4IDEzLjE0OC0uOTIzLjM4MyJ9XV19KTt2YXIgV1AsQ0RlPWMoKCk9PntXUD1bWyJwYXRoIix7ZDoiTTYgMTBINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNiAxNEg0YTIgMiAwIDAgMC0yIDJ2NGEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTRhMiAyIDAgMCAwLTItMmgtMiJ9XSxbInBhdGgiLHtkOiJNNiA2aC4wMSJ9XSxbInBhdGgiLHtkOiJNNiAxOGguMDEifV0sWyJwYXRoIix7ZDoibTEzIDYtNCA2aDZsLTQgNiJ9XV19KTt2YXIgR1AsX0RlPWMoKCk9PntHUD1bWyJwYXRoIix7ZDoiTTcgMmgxM2EyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMmgtNSJ9XSxbInBhdGgiLHtkOiJNMTAgMTAgMi41IDIuNUMyIDIgMiAyLjUgMiA1djNhMiAyIDAgMCAwIDIgMmg2eiJ9XSxbInBhdGgiLHtkOiJNMjIgMTd2LTFhMiAyIDAgMCAwLTItMmgtMSJ9XSxbInBhdGgiLHtkOiJNNCAxNGEyIDIgMCAwIDAtMiAydjRhMiAyIDAgMCAwIDIgMmgxNi41bDEtLjUuNS41LTgtOEg0eiJ9XSxbInBhdGgiLHtkOiJNNiAxOGguMDEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgWVAsVERlPWMoKCk9PntZUD1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjgiLHg6IjIiLHk6IjIiLHJ4OiIyIixyeToiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiMTQiLHJ4OiIyIixyeToiMiJ9XSxbImxpbmUiLHt4MToiNiIseDI6IjYuMDEiLHkxOiI2Iix5MjoiNiJ9XSxbImxpbmUiLHt4MToiNiIseDI6IjYuMDEiLHkxOiIxOCIseTI6IjE4In1dXX0pO3ZhciBaUCxMRGU9YygoKT0+e1pQPVtbInBhdGgiLHtkOiJNMTQgMTdINSJ9XSxbInBhdGgiLHtkOiJNMTkgN2gtOSJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE3IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiI3IixyOiIzIn1dXX0pO3ZhciBYUCwkRGU9YygoKT0+e1hQPVtbInBhdGgiLHtkOiJNOS42NzEgNC4xMzZhMi4zNCAyLjM0IDAgMCAxIDQuNjU5IDAgMi4zNCAyLjM0IDAgMCAwIDMuMzE5IDEuOTE1IDIuMzQgMi4zNCAwIDAgMSAyLjMzIDQuMDMzIDIuMzQgMi4zNCAwIDAgMCAwIDMuODMxIDIuMzQgMi4zNCAwIDAgMS0yLjMzIDQuMDMzIDIuMzQgMi4zNCAwIDAgMC0zLjMxOSAxLjkxNSAyLjM0IDIuMzQgMCAwIDEtNC42NTkgMCAyLjM0IDIuMzQgMCAwIDAtMy4zMi0xLjkxNSAyLjM0IDIuMzQgMCAwIDEtMi4zMy00LjAzMyAyLjM0IDIuMzQgMCAwIDAgMC0zLjgzMUEyLjM0IDIuMzQgMCAwIDEgNi4zNSA2LjA1MWEyLjM0IDIuMzQgMCAwIDAgMy4zMTktMS45MTUifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XV19KTt2YXIgS1AsRERlPWMoKCk9PntLUD1bWyJwYXRoIix7ZDoiTTguMyAxMGEuNy43IDAgMCAxLS42MjYtMS4wNzlMMTEuNCAzYS43LjcgMCAwIDEgMS4xOTgtLjA0M0wxNi4zIDguOWEuNy43IDAgMCAxLS41NzIgMS4xWiJ9XSxbInJlY3QiLHt4OiIzIix5OiIxNCIsd2lkdGg6IjciLGhlaWdodDoiNyIscng6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTcuNSIsY3k6IjE3LjUiLHI6IjMuNSJ9XV19KTt2YXIgUVAsQURlPWMoKCk9PntRUD1bWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI1IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiIxMiIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE5IixyOiIzIn1dLFsibGluZSIse3gxOiI4LjU5Iix4MjoiMTUuNDIiLHkxOiIxMy41MSIseTI6IjE3LjQ5In1dLFsibGluZSIse3gxOiIxNS40MSIseDI6IjguNTkiLHkxOiI2LjUxIix5MjoiMTAuNDkifV1dfSk7dmFyIEpQLFBEZT1jKCgpPT57SlA9W1sicGF0aCIse2Q6Ik0xMiAydjEzIn1dLFsicGF0aCIse2Q6Im0xNiA2LTQtNC00IDQifV0sWyJwYXRoIix7ZDoiTTQgMTJ2OGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTgifV1dfSk7dmFyIGVFLEVEZT1jKCgpPT57ZUU9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsibGluZSIse3gxOiIzIix4MjoiMjEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMyIseDI6IjIxIix5MToiMTUiLHkyOiIxNSJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkiLHkxOiI5Iix5MjoiMjEifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUiLHkxOiI5Iix5MjoiMjEifV1dfSk7dmFyIHRFLElEZT1jKCgpPT57dEU9W1sicGF0aCIse2Q6Ik0xNCAxMWEyIDIgMCAxIDEtNCAwIDQgNCAwIDAgMSA4IDAgNiA2IDAgMCAxLTEyIDAgOCA4IDAgMCAxIDE2IDAgMTAgMTAgMCAxIDEtMjAgMCAxMS45MyAxMS45MyAwIDAgMSAyLjQyLTcuMjIgMiAyIDAgMSAxIDMuMTYgMi40NCJ9XV19KTt2YXIgYUUsTkRlPWMoKCk9PnthRT1bWyJwYXRoIix7ZDoiTTEyIDEyVjlhMSAxIDAgMCAwLTEtMUg5YTEgMSAwIDAgMC0xIDF2MyJ9XSxbInBhdGgiLHtkOiJNMTYgMjB2LTNhMSAxIDAgMCAwLTEtMWgtMmExIDEgMCAwIDAtMSAxdjMifV0sWyJwYXRoIix7ZDoiTTIwIDIyVjIifV0sWyJwYXRoIix7ZDoiTTQgMTJoMTYifV0sWyJwYXRoIix7ZDoiTTQgMjBoMTYifV0sWyJwYXRoIix7ZDoiTTQgMnYyMCJ9XSxbInBhdGgiLHtkOiJNNCA0aDE2In1dXX0pO3ZhciByRSxSRGU9YygoKT0+e3JFPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoiTTEyIDh2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZoLjAxIn1dXX0pO3ZhciBpRSxGRGU9YygoKT0+e2lFPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoibTQuMjQzIDUuMjEgMTQuMzkgMTIuNDcyIn1dXX0pO3ZhciBzRSxPRGU9YygoKT0+e3NFPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoiTTggMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEyaC4wMSJ9XV19KTt2YXIgb0UsQkRlPWMoKCk9PntvRT1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Im05IDEyIDIgMiA0LTQifV1dfSk7dmFyIG5FLEhEZT1jKCgpPT57bkU9W1sicGF0aCIse2Q6Ik0yMCAxM2MwIDUtMy41IDcuNS03LjY2IDguOTVhMSAxIDAgMCAxLS42Ny0uMDFDNy41IDIwLjUgNCAxOCA0IDEzVjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxeiJ9XSxbInBhdGgiLHtkOiJNMTIgMjJWMiJ9XV19KTt2YXIgbEUscURlPWMoKCk9PntsRT1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Ik05IDEyaDYifV1dfSk7dmFyIGNFLFZEZT1jKCgpPT57Y0U9W1sicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTUgNWExIDEgMCAwIDAtMSAxdjdjMCA1IDMuNSA3LjUgNy42NyA4Ljk0YTEgMSAwIDAgMCAuNjcuMDFjMi4zNS0uODIgNC40OC0xLjk3IDUuOS0zLjcxIn1dLFsicGF0aCIse2Q6Ik05LjMwOSAzLjY1MkExMi4yNTIgMTIuMjUyIDAgMCAwIDExLjI0IDIuMjhhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxdjdhOS43ODQgOS43ODQgMCAwIDEtLjA4IDEuMjY0In1dXX0pO3ZhciBkRSxqRGU9YygoKT0+e2RFPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoiTTkgMTJoNiJ9XSxbInBhdGgiLHtkOiJNMTIgOXY2In1dXX0pO3ZhciBDMyxVRGU9YygoKT0+e0MzPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoiTTkuMSA5YTMgMyAwIDAgMSA1LjgyIDFjMCAyLTMgMy0zIDMifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSJ9XV19KTt2YXIgcEUsV0RlPWMoKCk9PntwRT1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Ik02LjM3NiAxOC45MWE2IDYgMCAwIDEgMTEuMjQ5LjAwMyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjExIixyOiI0In1dXX0pO3ZhciBfMyxHRGU9YygoKT0+e18zPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoibTE0LjUgOS41LTUgNSJ9XSxbInBhdGgiLHtkOiJtOS41IDkuNSA1IDUifV1dfSk7dmFyIHVFLFlEZT1jKCgpPT57dUU9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjgifV0sWyJwYXRoIix7ZDoiTTEyIDJ2Ny41In1dLFsicGF0aCIse2Q6Im0xOSA1LTUuMjMgNS4yMyJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTcuNSJ9XSxbInBhdGgiLHtkOiJtMTkgMTktNS4yMy01LjIzIn1dLFsicGF0aCIse2Q6Ik0xMiAxNC41VjIyIn1dLFsicGF0aCIse2Q6Ik0xMC4yMyAxMy43NyA1IDE5In1dLFsicGF0aCIse2Q6Ik05LjUgMTJIMiJ9XSxbInBhdGgiLHtkOiJNMTAuMjMgMTAuMjMgNSA1In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIuNSJ9XV19KTt2YXIgZkUsWkRlPWMoKCk9PntmRT1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dXX0pO3ZhciBoRSxYRGU9YygoKT0+e2hFPVtbInBhdGgiLHtkOiJNMTIgMTAuMTg5VjE0In1dLFsicGF0aCIse2Q6Ik0xMiAydjMifV0sWyJwYXRoIix7ZDoiTTE5IDEzVjdhMiAyIDAgMCAwLTItMkg3YTIgMiAwIDAgMC0yIDJ2NiJ9XSxbInBhdGgiLHtkOiJNMTkuMzggMjBBMTEuNiAxMS42IDAgMCAwIDIxIDE0bC04LjE4OC0zLjYzOWEyIDIgMCAwIDAtMS42MjQgMEwzIDE0YTExLjYgMTEuNiAwIDAgMCAyLjgxIDcuNzYifV0sWyJwYXRoIix7ZDoiTTIgMjFjLjYuNSAxLjIgMSAyLjUgMSAyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDFzMS4yIDEgMi41IDFjMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIn1dXX0pO3ZhciBtRSxLRGU9YygoKT0+e21FPVtbInBhdGgiLHtkOiJNMjAuMzggMy40NiAxNiAyYTQgNCAwIDAgMS04IDBMMy42MiAzLjQ2YTIgMiAwIDAgMC0xLjM0IDIuMjNsLjU4IDMuNDdhMSAxIDAgMCAwIC45OS44NEg2djEwYzAgMS4xLjkgMiAyIDJoOGEyIDIgMCAwIDAgMi0yVjEwaDIuMTVhMSAxIDAgMCAwIC45OS0uODRsLjU4LTMuNDdhMiAyIDAgMCAwLTEuMzQtMi4yM3oifV1dfSk7dmFyIGdFLFFEZT1jKCgpPT57Z0U9W1sicGF0aCIse2Q6Ik0xNiAxMGE0IDQgMCAwIDEtOCAwIn1dLFsicGF0aCIse2Q6Ik0zLjEwMyA2LjAzNGgxNy43OTQifV0sWyJwYXRoIix7ZDoiTTMuNCA1LjQ2N2EyIDIgMCAwIDAtLjQgMS4yVjIwYTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDItMlY2LjY2N2EyIDIgMCAwIDAtLjQtMS4ybC0yLTIuNjY3QTIgMiAwIDAgMCAxNyAySDdhMiAyIDAgMCAwLTEuNi44eiJ9XV19KTt2YXIgYkUsSkRlPWMoKCk9PntiRT1bWyJwYXRoIix7ZDoibTE1IDExLTEgOSJ9XSxbInBhdGgiLHtkOiJtMTkgMTEtNC03In1dLFsicGF0aCIse2Q6Ik0yIDExaDIwIn1dLFsicGF0aCIse2Q6Im0zLjUgMTEgMS42IDcuNGEyIDIgMCAwIDAgMiAxLjZoOS44YTIgMiAwIDAgMCAyLTEuNmwxLjctNy40In1dLFsicGF0aCIse2Q6Ik00LjUgMTUuNWgxNSJ9XSxbInBhdGgiLHtkOiJtNSAxMSA0LTcifV0sWyJwYXRoIix7ZDoibTkgMTEgMSA5In1dXX0pO3ZhciB2RSxlQWU9YygoKT0+e3ZFPVtbImNpcmNsZSIse2N4OiI4IixjeToiMjEiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIyMSIscjoiMSJ9XSxbInBhdGgiLHtkOiJNMi4wNSAyLjA1aDJsMi42NiAxMi40MmEyIDIgMCAwIDAgMiAxLjU4aDkuNzhhMiAyIDAgMCAwIDEuOTUtMS41N2wxLjY1LTcuNDNINS4xMiJ9XV19KTt2YXIgeEUsdEFlPWMoKCk9Pnt4RT1bWyJwYXRoIix7ZDoiTTIxLjU2IDQuNTZhMS41IDEuNSAwIDAgMSAwIDIuMTIybC0uNDcuNDdhMyAzIDAgMCAxLTQuMjEyLS4wMyAzIDMgMCAwIDEgMC00LjI0M2wuNDQtLjQ0YTEuNSAxLjUgMCAwIDEgMi4xMjEgMHoifV0sWyJwYXRoIix7ZDoiTTMgMjJhMSAxIDAgMCAxLTEtMXYtMy41ODZhMSAxIDAgMCAxIC4yOTMtLjcwN2wzLjM1NS0zLjM1NWExLjIwNSAxLjIwNSAwIDAgMSAxLjcwNCAwbDMuMjk2IDMuMjk2YTEuMjA1IDEuMjA1IDAgMCAxIDAgMS43MDRsLTMuMzU1IDMuMzU1YTEgMSAwIDAgMS0uNzA3LjI5M3oifV0sWyJwYXRoIix7ZDoibTkgMTUgNy44NzktNy44NzgifV1dfSk7dmFyIHlFLGFBZT1jKCgpPT57eUU9W1sicGF0aCIse2Q6Im00IDQgMi41IDIuNSJ9XSxbInBhdGgiLHtkOiJNMTMuNSA2LjVhNC45NSA0Ljk1IDAgMCAwLTcgNyJ9XSxbInBhdGgiLHtkOiJNMTUgNSA1IDE1In1dLFsicGF0aCIse2Q6Ik0xNCAxN3YuMDEifV0sWyJwYXRoIix7ZDoiTTEwIDE2di4wMSJ9XSxbInBhdGgiLHtkOiJNMTMgMTN2LjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxMHYuMDEifV0sWyJwYXRoIix7ZDoiTTExIDIwdi4wMSJ9XSxbInBhdGgiLHtkOiJNMTcgMTR2LjAxIn1dLFsicGF0aCIse2Q6Ik0yMCAxMXYuMDEifV1dfSk7dmFyIHdFLHJBZT1jKCgpPT57d0U9W1sicGF0aCIse2Q6Ik00IDEzVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHY1In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMCAyMnYtNSJ9XSxbInBhdGgiLHtkOiJNMTQgMTl2LTIifV0sWyJwYXRoIix7ZDoiTTE4IDIwdi0zIn1dLFsicGF0aCIse2Q6Ik0yIDEzaDIwIn1dLFsicGF0aCIse2Q6Ik02IDIwdi0zIn1dXX0pO3ZhciBNRSxpQWU9YygoKT0+e01FPVtbInBhdGgiLHtkOiJNMTEgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMyAyMmMuNS0uNSAxLjEyLTEgMi41LTEtMS4zOCAwLTItLjUtMi41LTEifV0sWyJwYXRoIix7ZDoiTTE0IDJhMy4yOCAzLjI4IDAgMCAxLTMuMjI3IDEuNzk4bC02LjE3LS41NjFBMi4zODcgMi4zODcgMCAxIDAgNC4zODcgOEgxNS41YTEgMSAwIDAgMSAwIDEzIDEgMSAwIDAgMCAwLTVIMTJhNyA3IDAgMCAxLTctN1Y4In1dLFsicGF0aCIse2Q6Ik0xNCA4YTguNSA4LjUgMCAwIDEgMCA4In1dLFsicGF0aCIse2Q6Ik0xNiAxNmMyIDAgNC41LTQgNC02In1dXX0pO3ZhciBrRSxzQWU9YygoKT0+e2tFPVtbInBhdGgiLHtkOiJtMTUgMTUgNiA2bS02LTZ2NC44bTAtNC44aDQuOCJ9XSxbInBhdGgiLHtkOiJNOSAxOS44VjE1bTAgMEg0LjJNOSAxNWwtNiA2In1dLFsicGF0aCIse2Q6Ik0xNSA0LjJWOW0wIDBoNC44TTE1IDlsNi02In1dLFsicGF0aCIse2Q6Ik05IDQuMlY5bTAgMEg0LjJNOSA5IDMgMyJ9XV19KTt2YXIgekUsb0FlPWMoKCk9Pnt6RT1bWyJwYXRoIix7ZDoiTTEyIDIydi01LjE3MmEyIDIgMCAwIDAtLjU4Ni0xLjQxNEw5LjUgMTMuNSJ9XSxbInBhdGgiLHtkOiJNMTQuNSAxNC41IDEyIDE3In1dLFsicGF0aCIse2Q6Ik0xNyA4LjhBNiA2IDAgMCAxIDEzLjggMjBIMTBBNi41IDYuNSAwIDAgMSA3IDhhNSA1IDAgMCAxIDEwIDB6In1dXX0pO3ZhciBTRSxuQWU9YygoKT0+e1NFPVtbInBhdGgiLHtkOiJtMTggMTQgNCA0LTQgNCJ9XSxbInBhdGgiLHtkOiJtMTggMiA0IDQtNCA0In1dLFsicGF0aCIse2Q6Ik0yIDE4aDEuOTczYTQgNCAwIDAgMCAzLjMtMS43bDUuNDU0LTguNmE0IDQgMCAwIDEgMy4zLTEuN0gyMiJ9XSxbInBhdGgiLHtkOiJNMiA2aDEuOTcyYTQgNCAwIDAgMSAzLjYgMi4yIn1dLFsicGF0aCIse2Q6Ik0yMiAxOGgtNi4wNDFhNCA0IDAgMCAxLTMuMy0xLjhsLS4zNTktLjQ1In1dXX0pO3ZhciBDRSxsQWU9YygoKT0+e0NFPVtbInBhdGgiLHtkOiJNMTggN1Y1YTEgMSAwIDAgMC0xLTFINi41YS41LjUgMCAwIDAtLjQuOGw0LjUgNmEyIDIgMCAwIDEgMCAyLjRsLTQuNSA2YS41LjUgMCAwIDAgLjQuOEgxN2ExIDEgMCAwIDAgMS0xdi0yIn1dXX0pO3ZhciBfRSxjQWU9YygoKT0+e19FPVtbInBhdGgiLHtkOiJNMiAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTcgMjB2LTQifV0sWyJwYXRoIix7ZDoiTTEyIDIwdi04In1dLFsicGF0aCIse2Q6Ik0xNyAyMFY4In1dXX0pO3ZhciBURSxkQWU9YygoKT0+e1RFPVtbInBhdGgiLHtkOiJNMiAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTcgMjB2LTQifV1dfSk7dmFyIExFLHBBZT1jKCgpPT57TEU9W1sicGF0aCIse2Q6Ik0yIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNNyAyMHYtNCJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2LTgifV1dfSk7dmFyICRFLHVBZT1jKCgpPT57JEU9W1sicGF0aCIse2Q6Ik0yIDIwaC4wMSJ9XV19KTt2YXIgREUsZkFlPWMoKCk9PntERT1bWyJwYXRoIix7ZDoiTTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDIwdi00In1dLFsicGF0aCIse2Q6Ik0xMiAyMHYtOCJ9XSxbInBhdGgiLHtkOiJNMTcgMjBWOCJ9XSxbInBhdGgiLHtkOiJNMjIgNHYxNiJ9XV19KTt2YXIgQUUsaEFlPWMoKCk9PntBRT1bWyJwYXRoIix7ZDoibTIxIDE3LTIuMTU2LTEuODY4QS41LjUgMCAwIDAgMTggMTUuNXYuNWExIDEgMCAwIDEtMSAxaC0yYTEgMSAwIDAgMS0xLTFjMC0yLjU0NS0zLjk5MS0zLjk3LTguNS00YTEgMSAwIDAgMCAwIDVjNC4xNTMgMCA0Ljc0NS0xMS4yOTUgNS43MDgtMTMuNWEyLjUgMi41IDAgMSAxIDMuMzEgMy4yODQifV0sWyJwYXRoIix7ZDoiTTMgMjFoMTgifV1dfSk7dmFyIFBFLG1BZT1jKCgpPT57UEU9W1sicGF0aCIse2Q6Ik0xMiAxM3Y4In1dLFsicGF0aCIse2Q6Ik0xMiAzdjMifV0sWyJwYXRoIix7ZDoiTTE4IDZhMiAyIDAgMCAxIDEuMzg3LjU2bDIuMzA3IDIuMjJhMSAxIDAgMCAxIDAgMS40NGwtMi4zMDcgMi4yMkEyIDIgMCAwIDEgMTggMTNINmEyIDIgMCAwIDEtMS4zODctLjU2bC0yLjMwNi0yLjIyYTEgMSAwIDAgMSAwLTEuNDRsMi4zMDYtMi4yMkEyIDIgMCAwIDEgNiA2eiJ9XV19KTt2YXIgRUUsZ0FlPWMoKCk9PntFRT1bWyJwYXRoIix7ZDoiTTcgMTh2LTZhNSA1IDAgMSAxIDEwIDB2NiJ9XSxbInBhdGgiLHtkOiJNNSAyMWExIDEgMCAwIDAgMSAxaDEyYTEgMSAwIDAgMCAxLTF2LTFhMiAyIDAgMCAwLTItMkg3YTIgMiAwIDAgMC0yIDJ6In1dLFsicGF0aCIse2Q6Ik0yMSAxMmgxIn1dLFsicGF0aCIse2Q6Ik0xOC41IDQuNSAxOCA1In1dLFsicGF0aCIse2Q6Ik0yIDEyaDEifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MSJ9XSxbInBhdGgiLHtkOiJtNC45MjkgNC45MjkuNzA3LjcwNyJ9XSxbInBhdGgiLHtkOiJNMTIgMTJ2NiJ9XV19KTt2YXIgSUUsYkFlPWMoKCk9PntJRT1bWyJwYXRoIix7ZDoiTTEwIDlINEwyIDdsMi0yaDYifV0sWyJwYXRoIix7ZDoiTTE0IDVoNmwyIDItMiAyaC02In1dLFsicGF0aCIse2Q6Ik0xMCAyMlY0YTIgMiAwIDEgMSA0IDB2MTgifV0sWyJwYXRoIix7ZDoiTTggMjJoOCJ9XV19KTt2YXIgTkUsdkFlPWMoKCk9PntORT1bWyJwYXRoIix7ZDoiTTE3Ljk3MSA0LjI4NUEyIDIgMCAwIDEgMjEgNnYxMmEyIDIgMCAwIDEtMy4wMjkgMS43MTVsLTkuOTk3LTUuOTk4YTIgMiAwIDAgMS0uMDAzLTMuNDMyeiJ9XSxbInBhdGgiLHtkOiJNMyAyMFY0In1dXX0pO3ZhciBSRSx4QWU9YygoKT0+e1JFPVtbInBhdGgiLHtkOiJNMjEgNHYxNiJ9XSxbInBhdGgiLHtkOiJNNi4wMjkgNC4yODVBMiAyIDAgMCAwIDMgNnYxMmEyIDIgMCAwIDAgMy4wMjkgMS43MTVsOS45OTctNS45OThhMiAyIDAgMCAwIC4wMDMtMy40MzJ6In1dXX0pO3ZhciBGRSx5QWU9YygoKT0+e0ZFPVtbInJlY3QiLHt3aWR0aDoiMyIsaGVpZ2h0OiI4Iix4OiIxMyIseToiMiIscng6IjEuNSJ9XSxbInBhdGgiLHtkOiJNMTkgOC41VjEwaDEuNUExLjUgMS41IDAgMSAwIDE5IDguNSJ9XSxbInJlY3QiLHt3aWR0aDoiMyIsaGVpZ2h0OiI4Iix4OiI4Iix5OiIxNCIscng6IjEuNSJ9XSxbInBhdGgiLHtkOiJNNSAxNS41VjE0SDMuNUExLjUgMS41IDAgMSAwIDUgMTUuNSJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiIzIix4OiIxNCIseToiMTMiLHJ4OiIxLjUifV0sWyJwYXRoIix7ZDoiTTE1LjUgMTlIMTR2MS41YTEuNSAxLjUgMCAxIDAgMS41LTEuNSJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiIzIix4OiIyIix5OiI4IixyeDoiMS41In1dLFsicGF0aCIse2Q6Ik04LjUgNUgxMFYzLjVBMS41IDEuNSAwIDEgMCA4LjUgNSJ9XV19KTt2YXIgT0Usd0FlPWMoKCk9PntPRT1bWyJwYXRoIix7ZDoiTTIyIDIgMiAyMiJ9XV19KTt2YXIgQkUsTUFlPWMoKCk9PntCRT1bWyJwYXRoIix7ZDoibTEyLjUgMTctLjUtMS0uNSAxaDF6In1dLFsicGF0aCIse2Q6Ik0xNSAyMmExIDEgMCAwIDAgMS0xdi0xYTIgMiAwIDAgMCAxLjU2LTMuMjUgOCA4IDAgMSAwLTExLjEyIDBBMiAyIDAgMCAwIDggMjB2MWExIDEgMCAwIDAgMSAxeiJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiIxMiIscjoiMSJ9XV19KTt2YXIgSEUsa0FlPWMoKCk9PntIRT1bWyJwYXRoIix7ZDoiTTExIDE2LjU4NlYxOWExIDEgMCAwIDEtMSAxSDJMMTguMzcgMy42M2ExIDEgMCAxIDEgMyAzbC05LjY2MyA5LjY2M2ExIDEgMCAwIDEtMS40MTQgMEw4IDE0In1dXX0pO3ZhciBUMyx6QWU9YygoKT0+e1QzPVtbInBhdGgiLHtkOiJNMTAgOGg0In1dLFsicGF0aCIse2Q6Ik0xMiAyMXYtOSJ9XSxbInBhdGgiLHtkOiJNMTIgOFYzIn1dLFsicGF0aCIse2Q6Ik0xNyAxNmg0In1dLFsicGF0aCIse2Q6Ik0xOSAxMlYzIn1dLFsicGF0aCIse2Q6Ik0xOSAyMXYtNSJ9XSxbInBhdGgiLHtkOiJNMyAxNGg0In1dLFsicGF0aCIse2Q6Ik01IDEwVjMifV0sWyJwYXRoIix7ZDoiTTUgMjF2LTcifV1dfSk7dmFyIHFFLFNBZT1jKCgpPT57cUU9W1sicGF0aCIse2Q6Ik0xMCA1SDMifV0sWyJwYXRoIix7ZDoiTTEyIDE5SDMifV0sWyJwYXRoIix7ZDoiTTE0IDN2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMTd2NCJ9XSxbInBhdGgiLHtkOiJNMjEgMTJoLTkifV0sWyJwYXRoIix7ZDoiTTIxIDE5aC01In1dLFsicGF0aCIse2Q6Ik0yMSA1aC03In1dLFsicGF0aCIse2Q6Ik04IDEwdjQifV0sWyJwYXRoIix7ZDoiTTggMTJIMyJ9XV19KTt2YXIgVkUsQ0FlPWMoKCk9PntWRT1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjIwIix4OiI1Iix5OiIyIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTEyLjY2NyA4IDEwIDEyaDRsLTIuNjY3IDQifV1dfSk7dmFyIGpFLF9BZT1jKCgpPT57akU9W1sicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjEyIix4OiIyIix5OiI2IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNMTMgOC4zMmE3LjQzIDcuNDMgMCAwIDEgMCA3LjM2In1dLFsicGF0aCIse2Q6Ik0xNi40NiA2LjIxYTExLjc2IDExLjc2IDAgMCAxIDAgMTEuNTgifV0sWyJwYXRoIix7ZDoiTTE5LjkxIDQuMWExNS45MSAxNS45MSAwIDAgMSAuMDEgMTUuOCJ9XV19KTt2YXIgVUUsVEFlPWMoKCk9PntVRT1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjIwIix4OiI1Iix5OiIyIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDE4aC4wMSJ9XV19KTt2YXIgV0UsTEFlPWMoKCk9PntXRT1bWyJwYXRoIix7ZDoiTTIyIDExdjFhMTAgMTAgMCAxIDEtOS0xMCJ9XSxbInBhdGgiLHtkOiJNOCAxNHMxLjUgMiA0IDIgNC0yIDQtMiJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkuMDEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNS4wMSIseTE6IjkiLHkyOiI5In1dLFsicGF0aCIse2Q6Ik0xNiA1aDYifV0sWyJwYXRoIix7ZDoiTTE5IDJ2NiJ9XV19KTt2YXIgR0UsJEFlPWMoKCk9PntHRT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTggMTRzMS41IDIgNCAyIDQtMiA0LTIifV0sWyJsaW5lIix7eDE6IjkiLHgyOiI5LjAxIix5MToiOSIseTI6IjkifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUuMDEiLHkxOiI5Iix5MjoiOSJ9XV19KTt2YXIgWUUsREFlPWMoKCk9PntZRT1bWyJwYXRoIix7ZDoibTEwIDIwLTEuMjUtMi41TDYgMTgifV0sWyJwYXRoIix7ZDoiTTEwIDQgOC43NSA2LjUgNiA2In1dLFsicGF0aCIse2Q6Im0xNCAyMCAxLjI1LTIuNUwxOCAxOCJ9XSxbInBhdGgiLHtkOiJtMTQgNCAxLjI1IDIuNUwxOCA2In1dLFsicGF0aCIse2Q6Im0xNyAyMS0zLTZoLTQifV0sWyJwYXRoIix7ZDoibTE3IDMtMyA2IDEuNSAzIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDYuNUwxMCA5In1dLFsicGF0aCIse2Q6Im0yMCAxMC0xLjUgMiAxLjUgMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTYuNUwxNCAxNSJ9XSxbInBhdGgiLHtkOiJtNCAxMCAxLjUgMkw0IDE0In1dLFsicGF0aCIse2Q6Im03IDIxIDMtNi0xLjUtMyJ9XSxbInBhdGgiLHtkOiJtNyAzIDMgNmg0In1dXX0pO3ZhciBaRSxBQWU9YygoKT0+e1pFPVtbInBhdGgiLHtkOiJNMTAuNSAydjQifV0sWyJwYXRoIix7ZDoiTTE0IDJIN2EyIDIgMCAwIDAtMiAyIn1dLFsicGF0aCIse2Q6Ik0xOS4yOSAxNC43NkE2LjY3IDYuNjcgMCAwIDEgMTcgMTFhNi42IDYuNiAwIDAgMS0yLjI5IDMuNzZjLTEuMTUuOTItMS43MSAyLjA0LTEuNzEgMy4xOSAwIDIuMjIgMS44IDQuMDUgNCA0LjA1czQtMS44MyA0LTQuMDVjMC0xLjE2LS41Ny0yLjI2LTEuNzEtMy4xOSJ9XSxbInBhdGgiLHtkOiJNOS42MDcgMjFINmEyIDIgMCAwIDEtMi0ydi03YTIgMiAwIDAgMSAyLTJoN1Y3YTEgMSAwIDAgMC0xLTFIOWExIDEgMCAwIDAtMSAxdjMifV1dfSk7dmFyIFhFLFBBZT1jKCgpPT57WEU9W1sicGF0aCIse2Q6Ik0yIDEzYTYgNiAwIDEgMCAxMiAwIDQgNCAwIDEgMC04IDAgMiAyIDAgMCAwIDQgMCJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjEzIixyOiI4In1dLFsicGF0aCIse2Q6Ik0yIDIxaDEyYzQuNCAwIDgtMy42IDgtOFY3YTIgMiAwIDEgMC00IDB2NiJ9XSxbInBhdGgiLHtkOiJNMTggMyAxOS4xIDUuMiJ9XSxbInBhdGgiLHtkOiJNMjIgMyAyMC45IDUuMiJ9XV19KTt2YXIgS0UsRUFlPWMoKCk9PntLRT1bWyJwYXRoIix7ZDoiTTIwIDlWNmEyIDIgMCAwIDAtMi0ySDZhMiAyIDAgMCAwLTIgMnYzIn1dLFsicGF0aCIse2Q6Ik0yIDE2YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNWEyIDIgMCAwIDAtNCAwdjEuNWEuNS41IDAgMCAxLS41LjVoLTExYS41LjUgMCAwIDEtLjUtLjVWMTFhMiAyIDAgMCAwLTQgMHoifV0sWyJwYXRoIix7ZDoiTTQgMTh2MiJ9XSxbInBhdGgiLHtkOiJNMjAgMTh2MiJ9XSxbInBhdGgiLHtkOiJNMTIgNHY5In1dXX0pO3ZhciBRRSxJQWU9YygoKT0+e1FFPVtbInBhdGgiLHtkOiJNMTEgMmgyIn1dLFsicGF0aCIse2Q6Im0xNC4yOCAxNC00LjU2IDgifV0sWyJwYXRoIix7ZDoibTIxIDIyLTEuNTU4LTRINC41NTgifV0sWyJwYXRoIix7ZDoiTTMgMTB2MiJ9XSxbInBhdGgiLHtkOiJNNi4yNDUgMTUuMDRBMiAyIDAgMCAxIDggMTRoMTJhMSAxIDAgMCAxIC44NjQgMS41MDVsLTMuMTEgNS40NTdBMiAyIDAgMCAxIDE2IDIySDRhMSAxIDAgMCAxLS44NjMtMS41MDZ6In1dLFsicGF0aCIse2Q6Ik03IDJhNCA0IDAgMCAxLTQgNCJ9XSxbInBhdGgiLHtkOiJtOC42NiA3LjY2IDEuNDEgMS40MSJ9XV19KTt2YXIgSkUsTkFlPWMoKCk9PntKRT1bWyJwYXRoIix7ZDoiTTEyIDIxYTkgOSAwIDAgMCA5LTlIM2E5IDkgMCAwIDAgOSA5WiJ9XSxbInBhdGgiLHtkOiJNNyAyMWgxMCJ9XSxbInBhdGgiLHtkOiJNMTkuNSAxMiAyMiA2In1dLFsicGF0aCIse2Q6Ik0xNi4yNSAzYy4yNy4xLjguNTMuNzUgMS4zNi0uMDYuODMtLjkzIDEuMi0xIDIuMDItLjA1Ljc4LjM0IDEuMjQuNzMgMS42MiJ9XSxbInBhdGgiLHtkOiJNMTEuMjUgM2MuMjcuMS44LjUzLjc0IDEuMzYtLjA1LjgzLS45MyAxLjItLjk4IDIuMDItLjA2Ljc4LjMzIDEuMjQuNzIgMS42MiJ9XSxbInBhdGgiLHtkOiJNNi4yNSAzYy4yNy4xLjguNTMuNzUgMS4zNi0uMDYuODMtLjkzIDEuMi0xIDIuMDItLjA1Ljc4LjM0IDEuMjQuNzQgMS42MiJ9XV19KTt2YXIgZUksUkFlPWMoKCk9PntlST1bWyJwYXRoIix7ZDoiTTIyIDE3djFjMCAuNS0uNSAxLTEgMUgzYy0uNSAwLTEtLjUtMS0xdi0xIn1dXX0pO3ZhciB0SSxGQWU9YygoKT0+e3RJPVtbInBhdGgiLHtkOiJNMTIgMTh2NCJ9XSxbInBhdGgiLHtkOiJNMiAxNC40OTlhNS41IDUuNSAwIDAgMCA5LjU5MSAzLjY3NS42LjYgMCAwIDEgLjgxOC4wMDFBNS41IDUuNSAwIDAgMCAyMiAxNC41YzAtMi4yOS0xLjUtNC0zLTUuNWwtNS40OTItNS4zMTJhMiAyIDAgMCAwLTMtLjAyTDUgOC45OTljLTEuNSAxLjUtMyAzLjItMyA1LjUifV1dfSk7dmFyIGFJLE9BZT1jKCgpPT57YUk9W1sicGF0aCIse2Q6Ik0xMS4wMTcgMi44MTRhMSAxIDAgMCAxIDEuOTY2IDBsMS4wNTEgNS41NThhMiAyIDAgMCAwIDEuNTk0IDEuNTk0bDUuNTU4IDEuMDUxYTEgMSAwIDAgMSAwIDEuOTY2bC01LjU1OCAxLjA1MWEyIDIgMCAwIDAtMS41OTQgMS41OTRsLTEuMDUxIDUuNTU4YTEgMSAwIDAgMS0xLjk2NiAwbC0xLjA1MS01LjU1OGEyIDIgMCAwIDAtMS41OTQtMS41OTRsLTUuNTU4LTEuMDUxYTEgMSAwIDAgMSAwLTEuOTY2bDUuNTU4LTEuMDUxYTIgMiAwIDAgMCAxLjU5NC0xLjU5NHoifV1dfSk7dmFyIEwzLEJBZT1jKCgpPT57TDM9W1sicGF0aCIse2Q6Ik0xMS4wMTcgMi44MTRhMSAxIDAgMCAxIDEuOTY2IDBsMS4wNTEgNS41NThhMiAyIDAgMCAwIDEuNTk0IDEuNTk0bDUuNTU4IDEuMDUxYTEgMSAwIDAgMSAwIDEuOTY2bC01LjU1OCAxLjA1MWEyIDIgMCAwIDAtMS41OTQgMS41OTRsLTEuMDUxIDUuNTU4YTEgMSAwIDAgMS0xLjk2NiAwbC0xLjA1MS01LjU1OGEyIDIgMCAwIDAtMS41OTQtMS41OTRsLTUuNTU4LTEuMDUxYTEgMSAwIDAgMSAwLTEuOTY2bDUuNTU4LTEuMDUxYTIgMiAwIDAgMCAxLjU5NC0xLjU5NHoifV0sWyJwYXRoIix7ZDoiTTIwIDJ2NCJ9XSxbInBhdGgiLHtkOiJNMjIgNGgtNCJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiMjAiLHI6IjIifV1dfSk7dmFyIHJJLEhBZT1jKCgpPT57ckk9W1sicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIyMCIseDoiNCIseToiMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDZoLjAxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTQiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTEyIDE0aC4wMSJ9XV19KTt2YXIgaUkscUFlPWMoKCk9PntpST1bWyJwYXRoIix7ZDoiTTguOCAyMHYtNC4xbDEuOS4yYTIuMyAyLjMgMCAwIDAgMi4xNjQtMi4xVjguM0E1LjM3IDUuMzcgMCAwIDAgMiA4LjI1YzAgMi44LjY1NiAzLjA1NCAxIDQuNTVhNS43NyA1Ljc3IDAgMCAxIC4wMjkgMi43NThMMiAyMCJ9XSxbInBhdGgiLHtkOiJNMTkuOCAxNy44YTcuNSA3LjUgMCAwIDAgLjAwMy0xMC42MDMifV0sWyJwYXRoIix7ZDoiTTE3IDE1YTMuNSAzLjUgMCAwIDAtLjAyNS00Ljk3NSJ9XV19KTt2YXIgc0ksVkFlPWMoKCk9PntzST1bWyJwYXRoIix7ZDoibTYgMTYgNi0xMiA2IDEyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJwYXRoIix7ZDoiTTQgMjFjMS4xIDAgMS4xLTEgMi4zLTFzMS4xIDEgMi4zIDFjMS4xIDAgMS4xLTEgMi4zLTEgMS4xIDAgMS4xIDEgMi4zIDEgMS4xIDAgMS4xLTEgMi4zLTEgMS4xIDAgMS4xIDEgMi4zIDEgMS4xIDAgMS4xLTEgMi4zLTEifV1dfSk7dmFyIG9JLGpBZT1jKCgpPT57b0k9W1sicGF0aCIse2Q6Ik0xMi4wMzQgMTIuNjgxYS40OTguNDk4IDAgMCAxIC42NDctLjY0N2w5IDMuNWEuNS41IDAgMCAxLS4wMzMuOTQzbC0zLjQ0NCAxLjA2OGExIDEgMCAwIDAtLjY2LjY2bC0xLjA2NyAzLjQ0M2EuNS41IDAgMCAxLS45NDMuMDMzeiJ9XSxbInBhdGgiLHtkOiJNNSAxN0ExMiAxMiAwIDAgMSAxNyA1In1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiNSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTkiLHI6IjIifV1dfSk7dmFyIG5JLFVBZT1jKCgpPT57bkk9W1sicGF0aCIse2Q6Im02IDE2IDYtMTIgNiAxMiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dLFsicGF0aCIse2Q6Im0xNiAyMCAyIDIgNC00In1dXX0pO3ZhciBsSSxXQWU9YygoKT0+e2xJPVtbImNpcmNsZSIse2N4OiIxOSIsY3k6IjUiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE5IixyOiIyIn1dLFsicGF0aCIse2Q6Ik01IDE3QTEyIDEyIDAgMCAxIDE3IDUifV1dfSk7dmFyIGNJLEdBZT1jKCgpPT57Y0k9W1sicGF0aCIse2Q6Ik0xNiAzaDV2NSJ9XSxbInBhdGgiLHtkOiJNOCAzSDN2NSJ9XSxbInBhdGgiLHtkOiJNMTIgMjJ2LTguM2E0IDQgMCAwIDAtMS4xNzItMi44NzJMMyAzIn1dLFsicGF0aCIse2Q6Im0xNSA5IDYtNiJ9XV19KTt2YXIgZEksWUFlPWMoKCk9PntkST1bWyJwYXRoIix7ZDoiTTE3IDEzLjQ0IDQuNDQyIDE3LjA4MkEyIDIgMCAwIDAgNC45ODIgMjFIMTlhMiAyIDAgMCAwIC41NTgtMy45MjFsLTEuMTE1LS4zMkEyIDIgMCAwIDEgMTcgMTQuODM3VjcuNjYifV0sWyJwYXRoIix7ZDoibTcgMTAuNTYgMTIuNTU4LTMuNjQyQTIgMiAwIDAgMCAxOS4wMTggM0g1YTIgMiAwIDAgMC0uNTU4IDMuOTIxbDEuMTE1LjMyQTIgMiAwIDAgMSA3IDkuMTYzdjcuMTc4In1dXX0pO3ZhciBwSSxaQWU9YygoKT0+e3BJPVtbInBhdGgiLHtkOiJNMyAzaC4wMSJ9XSxbInBhdGgiLHtkOiJNNyA1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTEgN2guMDEifV0sWyJwYXRoIix7ZDoiTTMgN2guMDEifV0sWyJwYXRoIix7ZDoiTTcgOWguMDEifV0sWyJwYXRoIix7ZDoiTTMgMTFoLjAxIn1dLFsicmVjdCIse3dpZHRoOiI0IixoZWlnaHQ6IjQiLHg6IjE1Iix5OiI1In1dLFsicGF0aCIse2Q6Im0xOSA5IDIgMnYxMGMwIC42LS40IDEtMSAxaC02Yy0uNiAwLTEtLjQtMS0xVjExbDItMiJ9XSxbInBhdGgiLHtkOiJtMTMgMTQgOC0yIn1dLFsicGF0aCIse2Q6Im0xMyAxOSA4LTIifV1dfSk7dmFyIHVJLFhBZT1jKCgpPT57dUk9W1sicGF0aCIse2Q6Ik0xNS4yOTUgMTkuNTYyIDE2IDIyIn1dLFsicGF0aCIse2Q6Im0xNyAxNiAzLjc1OCAyLjA5OCJ9XSxbInBhdGgiLHtkOiJtMTkgMTIuNSAzLjAyNi0uNTk4In1dLFsicGF0aCIse2Q6Ik03LjYxIDYuM2EzIDMgMCAwIDAtMy45MiAxLjNsLTEuMzggMi43OWEzIDMgMCAwIDAgMS4zIDMuOTFsNi44OSAzLjU5N2ExIDEgMCAwIDAgMS4zNDItLjQ0N2wzLjEwNi02LjIxMWExIDEgMCAwIDAtLjQ0Ny0xLjM0MXoifV0sWyJwYXRoIix7ZDoiTTggOVYyIn1dXX0pO3ZhciBmSSxLQWU9YygoKT0+e2ZJPVtbInBhdGgiLHtkOiJNMTQgOS41MzZWN2E0IDQgMCAwIDEgNC00aDEuNWEuNS41IDAgMCAxIC41LjVWNWE0IDQgMCAwIDEtNCA0IDQgNCAwIDAgMC00IDRjMCAyIDEgMyAxIDVhNSA1IDAgMCAxLTEgMyJ9XSxbInBhdGgiLHtkOiJNNCA5YTUgNSAwIDAgMSA4IDQgNSA1IDAgMCAxLTgtNCJ9XSxbInBhdGgiLHtkOiJNNSAyMWgxNCJ9XV19KTt2YXIgJDMsUUFlPWMoKCk9PnskMz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJtMTYgOC04IDgifV0sWyJwYXRoIix7ZDoiTTE2IDE2SDhWOCJ9XV19KTt2YXIgRDMsSkFlPWMoKCk9PntEMz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTcgMTJoLTJsLTIgNS0yLTEwLTIgNUg3In1dXX0pO3ZhciBBMyxlUGU9YygoKT0+e0EzPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im04IDggOCA4In1dLFsicGF0aCIse2Q6Ik0xNiA4djhIOCJ9XV19KTt2YXIgUDMsdFBlPWMoKCk9PntQMz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgOHY4In1dLFsicGF0aCIse2Q6Im04IDEyIDQgNCA0LTQifV1dfSk7dmFyIEUzLGFQZT1jKCgpPT57RTM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoibTEyIDgtNCA0IDQgNCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJIOCJ9XV19KTt2YXIgSTMsclBlPWMoKCk9PntJMz1bWyJwYXRoIix7ZDoiTTEzIDIxaDZhMiAyIDAgMCAwIDItMlY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjYifV0sWyJwYXRoIix7ZDoibTMgMjEgOS05In1dLFsicGF0aCIse2Q6Ik05IDIxSDN2LTYifV1dfSk7dmFyIE4zLGlQZT1jKCgpPT57TjM9W1sicGF0aCIse2Q6Ik0yMSAxMVY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoNiJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtOS05In1dLFsicGF0aCIse2Q6Ik0yMSAxNXY2aC02In1dXX0pO3ZhciBSMyxzUGU9YygoKT0+e1IzPVtbInBhdGgiLHtkOiJNMTMgM2g2YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTYifV0sWyJwYXRoIix7ZDoibTMgMyA5IDkifV0sWyJwYXRoIix7ZDoiTTMgOVYzaDYifV1dfSk7dmFyIEYzLG9QZT1jKCgpPT57RjM9W1sicGF0aCIse2Q6Ik0yMSAxM3Y2YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg2In1dLFsicGF0aCIse2Q6Im0yMSAzLTkgOSJ9XSxbInBhdGgiLHtkOiJNMTUgM2g2djYifV1dfSk7dmFyIGhJLG5QZT1jKCgpPT57aEk9W1sicGF0aCIse2Q6Im0xMCAxNiA0LTQtNC00In1dLFsicGF0aCIse2Q6Ik0zIDEyaDExIn1dLFsicGF0aCIse2Q6Ik0zIDhWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTMifV1dfSk7dmFyIG1JLGxQZT1jKCgpPT57bUk9W1sicGF0aCIse2Q6Ik0xMCAxMmgxMSJ9XSxbInBhdGgiLHtkOiJtMTcgMTYgNC00LTQtNCJ9XSxbInBhdGgiLHtkOiJNMjEgNi4zNDRWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ2LTEuMzQ0In1dXX0pO3ZhciBPMyxjUGU9YygoKT0+e08zPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJwYXRoIix7ZDoibTEyIDE2IDQtNC00LTQifV1dfSk7dmFyIEIzLGRQZT1jKCgpPT57QjM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTggMTZWOGg4In1dLFsicGF0aCIse2Q6Ik0xNiAxNiA4IDgifV1dfSk7dmFyIEgzLHBQZT1jKCgpPT57SDM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTggOGg4djgifV0sWyJwYXRoIix7ZDoibTggMTYgOC04In1dXX0pO3ZhciBxMyx1UGU9YygoKT0+e3EzPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xNiAxMi00LTQtNCA0In1dLFsicGF0aCIse2Q6Ik0xMiAxNlY4In1dXX0pO3ZhciBWMyxmUGU9YygoKT0+e1YzPVtbInBhdGgiLHtkOiJNOCAzSDVhMiAyIDAgMCAwLTIgMnYxNGMwIDEuMS45IDIgMiAyaDMifV0sWyJwYXRoIix7ZDoiTTE2IDNoM2EyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJoLTMifV0sWyJwYXRoIix7ZDoiTTEyIDIwdjIifV0sWyJwYXRoIix7ZDoiTTEyIDE0djIifV0sWyJwYXRoIix7ZDoiTTEyIDh2MiJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyIn1dXX0pO3ZhciBqMyxoUGU9YygoKT0+e2ozPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiA4djgifV0sWyJwYXRoIix7ZDoibTguNSAxNCA3LTQifV0sWyJwYXRoIix7ZDoibTguNSAxMCA3IDQifV1dfSk7dmFyIFUzLG1QZT1jKCgpPT57VTM9W1sibGluZSIse3gxOiI1Iix5MToiMyIseDI6IjE5Iix5MjoiMyJ9XSxbImxpbmUiLHt4MToiMyIseTE6IjUiLHgyOiIzIix5MjoiMTkifV0sWyJsaW5lIix7eDE6IjIxIix5MToiNSIseDI6IjIxIix5MjoiMTkifV0sWyJsaW5lIix7eDE6IjkiLHkxOiIyMSIseDI6IjEwIix5MjoiMjEifV0sWyJsaW5lIix7eDE6IjE0Iix5MToiMjEiLHgyOiIxNSIseTI6IjIxIn1dLFsicGF0aCIse2Q6Ik0gMyA1IEEyIDIgMCAwIDEgNSAzIn1dLFsicGF0aCIse2Q6Ik0gMTkgMyBBMiAyIDAgMCAxIDIxIDUifV0sWyJwYXRoIix7ZDoiTSA1IDIxIEEyIDIgMCAwIDEgMyAxOSJ9XSxbInBhdGgiLHtkOiJNIDIxIDE5IEEyIDIgMCAwIDEgMTkgMjEifV0sWyJjaXJjbGUiLHtjeDoiOC41IixjeToiOC41IixyOiIxLjUifV0sWyJsaW5lIix7eDE6IjkuNTYwNjYiLHkxOiI5LjU2MDY2Iix4MjoiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTciLHkxOiIxNyIseDI6IjE0LjgyIix5MjoiMTQuODIifV0sWyJjaXJjbGUiLHtjeDoiOC41IixjeToiMTUuNSIscjoiMS41In1dLFsibGluZSIse3gxOiI5LjU2MDY2Iix5MToiMTQuNDM5MzQiLHgyOiIxNyIseTI6IjcifV1dfSk7dmFyIFczLGdQZT1jKCgpPT57VzM9W1sicGF0aCIse2Q6Ik0yMSA4VjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMjEgMTZ2M2EyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtMyJ9XSxbInBhdGgiLHtkOiJNNCAxMkgyIn1dLFsicGF0aCIse2Q6Ik0xMCAxMkg4In1dLFsicGF0aCIse2Q6Ik0xNiAxMmgtMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTIifV1dfSk7dmFyIENvLGJQZT1jKCgpPT57Q289W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgOGg3In1dLFsicGF0aCIse2Q6Ik04IDEyaDYifV0sWyJwYXRoIix7ZDoiTTExIDE2aDUifV1dfSk7dmFyIEczLHZQZT1jKCgpPT57RzM9W1sicGF0aCIse2Q6Ik0yMSAxMC42NTZWMTlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDEyLjM0NCJ9XSxbInBhdGgiLHtkOiJtOSAxMSAzIDNMMjIgNCJ9XV19KTt2YXIgWTMseFBlPWMoKCk9PntZMz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJtOSAxMiAyIDIgNC00In1dXX0pO3ZhciBaMyx5UGU9YygoKT0+e1ozPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xNiAxMC00IDQtNC00In1dXX0pO3ZhciBYMyx3UGU9YygoKT0+e1gzPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xNCAxNi00LTQgNC00In1dXX0pO3ZhciBLMyxNUGU9YygoKT0+e0szPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xMCA4IDQgNC00IDQifV1dfSk7dmFyIFEzLGtQZT1jKCgpPT57UTM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoibTggMTQgNC00IDQgNCJ9XV19KTt2YXIgSjMselBlPWMoKCk9PntKMz1bWyJwYXRoIix7ZDoibTEwIDktMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtMTQgMTUgMy0zLTMtMyJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBnSSxTUGU9YygoKT0+e2dJPVtbInBhdGgiLHtkOiJNMTAgOS41IDggMTJsMiAyLjUifV0sWyJwYXRoIix7ZDoiTTE0IDIxaDEifV0sWyJwYXRoIix7ZDoibTE0IDkuNSAyIDIuNS0yIDIuNSJ9XSxbInBhdGgiLHtkOiJNNSAyMWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTkgMjFoMSJ9XV19KTt2YXIgYkksQ1BlPWMoKCk9PntiST1bWyJwYXRoIix7ZDoiTTUgMjFhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik05IDIxaDEifV0sWyJwYXRoIix7ZDoiTTE0IDIxaDEifV1dfSk7dmFyIGVkLF9QZT1jKCgpPT57ZWQ9W1sicGF0aCIse2Q6Ik04IDd2NyJ9XSxbInBhdGgiLHtkOiJNMTIgN3Y0In1dLFsicGF0aCIse2Q6Ik0xNiA3djkifV0sWyJwYXRoIix7ZDoiTTUgM2EyIDIgMCAwIDAtMiAyIn1dLFsicGF0aCIse2Q6Ik05IDNoMSJ9XSxbInBhdGgiLHtkOiJNMTQgM2gxIn1dLFsicGF0aCIse2Q6Ik0xOSAzYTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTIxIDl2MSJ9XSxbInBhdGgiLHtkOiJNMjEgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMjEgMTlhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTQgMjFoMSJ9XSxbInBhdGgiLHtkOiJNOSAyMWgxIn1dLFsicGF0aCIse2Q6Ik01IDIxYTIgMiAwIDAgMS0yLTIifV0sWyJwYXRoIix7ZDoiTTMgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMyA5djEifV1dfSk7dmFyIHRkLFRQZT1jKCgpPT57dGQ9W1sicGF0aCIse2Q6Ik0xMi4wMzQgMTIuNjgxYS40OTguNDk4IDAgMCAxIC42NDctLjY0N2w5IDMuNWEuNS41IDAgMCAxLS4wMzMuOTQzbC0zLjQ0NCAxLjA2OGExIDEgMCAwIDAtLjY2LjY2bC0xLjA2NyAzLjQ0M2EuNS41IDAgMCAxLS45NDMuMDMzeiJ9XSxbInBhdGgiLHtkOiJNNSAzYTIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTE5IDNhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNNSAyMWEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik05IDNoMSJ9XSxbInBhdGgiLHtkOiJNOSAyMWgyIn1dLFsicGF0aCIse2Q6Ik0xNCAzaDEifV0sWyJwYXRoIix7ZDoiTTMgOXYxIn1dLFsicGF0aCIse2Q6Ik0yMSA5djIifV0sWyJwYXRoIix7ZDoiTTMgMTR2MSJ9XV19KTt2YXIgdkksTFBlPWMoKCk9Pnt2ST1bWyJwYXRoIix7ZDoiTTE0IDIxaDEifV0sWyJwYXRoIix7ZDoiTTIxIDE0djEifV0sWyJwYXRoIix7ZDoiTTIxIDE5YTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTIxIDl2MSJ9XSxbInBhdGgiLHtkOiJNMyAxNHYxIn1dLFsicGF0aCIse2Q6Ik0zIDVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0zIDl2MSJ9XSxbInBhdGgiLHtkOiJNNSAyMWEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik05IDIxaDEifV1dfSk7dmFyIGFkLCRQZT1jKCgpPT57YWQ9W1sicGF0aCIse2Q6Ik01IDNhMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTkgM2EyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0yMSAxOWEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik01IDIxYTIgMiAwIDAgMS0yLTIifV0sWyJwYXRoIix7ZDoiTTkgM2gxIn1dLFsicGF0aCIse2Q6Ik05IDIxaDEifV0sWyJwYXRoIix7ZDoiTTE0IDNoMSJ9XSxbInBhdGgiLHtkOiJNMTQgMjFoMSJ9XSxbInBhdGgiLHtkOiJNMyA5djEifV0sWyJwYXRoIix7ZDoiTTIxIDl2MSJ9XSxbInBhdGgiLHtkOiJNMyAxNHYxIn1dLFsicGF0aCIse2Q6Ik0yMSAxNHYxIn1dXX0pO3ZhciByZCxEUGU9YygoKT0+e3JkPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjE2Iix5MjoiMTYifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiI4Iix5MjoiOCJ9XV19KTt2YXIgaWQsQVBlPWMoKCk9PntpZD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dXX0pO3ZhciBzZCxQUGU9YygoKT0+e3NkPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDEwaDEwIn1dLFsicGF0aCIse2Q6Ik03IDE0aDEwIn1dXX0pO3ZhciBvZCxFUGU9YygoKT0+e29kPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNOSAxN2MyIDAgMi44LTEgMi44LTIuOFYxMGMwLTIgMS0zLjMgMy4yLTMifV0sWyJwYXRoIix7ZDoiTTkgMTEuMmg1LjcifV1dfSk7dmFyIG5kLElQZT1jKCgpPT57bmQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTggN3Y3In1dLFsicGF0aCIse2Q6Ik0xMiA3djQifV0sWyJwYXRoIix7ZDoiTTE2IDd2OSJ9XV19KTt2YXIgbGQsTlBlPWMoKCk9PntsZD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNyA3djEwIn1dLFsicGF0aCIse2Q6Ik0xMSA3djEwIn1dLFsicGF0aCIse2Q6Im0xNSA3IDIgMTAifV1dfSk7dmFyIGNkLFJQZT1jKCgpPT57Y2Q9W1sicGF0aCIse2Q6Ik04IDE2VjguNWEuNS41IDAgMCAxIC45LS4zbDIuNyAzLjU5OWEuNS41IDAgMCAwIC44IDBsMi43LTMuNmEuNS41IDAgMCAxIC45LjNWMTYifV0sWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV19KTt2YXIgZGQsRlBlPWMoKCk9PntkZD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNyA4aDEwIn1dLFsicGF0aCIse2Q6Ik03IDEyaDEwIn1dLFsicGF0aCIse2Q6Ik03IDE2aDEwIn1dXX0pO3ZhciBwZCxPUGU9YygoKT0+e3BkPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV1dfSk7dmFyIHVkLEJQZT1jKCgpPT57dWQ9W1sicGF0aCIse2Q6Ik0xMi4wMzQgMTIuNjgxYS40OTguNDk4IDAgMCAxIC42NDctLjY0N2w5IDMuNWEuNS41IDAgMCAxLS4wMzMuOTQzbC0zLjQ0NCAxLjA2OGExIDEgMCAwIDAtLjY2LjY2bC0xLjA2NyAzLjQ0M2EuNS41IDAgMCAxLS45NDMuMDMzeiJ9XSxbInBhdGgiLHtkOiJNMjEgMTFWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDYifV1dfSk7dmFyIGZkLEhQZT1jKCgpPT57ZmQ9W1sicGF0aCIse2Q6Ik0zLjYgMy42QTIgMiAwIDAgMSA1IDNoMTRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtLjU5IDEuNDEifV0sWyJwYXRoIix7ZDoiTTMgOC43VjE5YTIgMiAwIDAgMCAyIDJoMTAuMyJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0xMyAxM2EzIDMgMCAxIDAgMC02SDl2MiJ9XSxbInBhdGgiLHtkOiJNOSAxN3YtMi4zIn1dXX0pO3ZhciBoZCxxUGU9YygoKT0+e2hkPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik05IDE3VjdoNGEzIDMgMCAwIDEgMCA2SDkifV1dfSk7dmFyIHhJLFZQZT1jKCgpPT57eEk9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJsaW5lIix7eDE6IjEwIix4MjoiMTAiLHkxOiIxNSIseTI6IjkifV0sWyJsaW5lIix7eDE6IjE0Iix4MjoiMTQiLHkxOiIxNSIseTI6IjkifV1dfSk7dmFyIFNzLGpQZT1jKCgpPT57U3M9W1sicGF0aCIse2Q6Ik0xMiAzSDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ2LTcifV0sWyJwYXRoIix7ZDoiTTE4LjM3NSAyLjYyNWExIDEgMCAwIDEgMyAzbC05LjAxMyA5LjAxNGEyIDIgMCAwIDEtLjg1My41MDVsLTIuODczLjg0YS41LjUgMCAwIDEtLjYyLS42MmwuODQtMi44NzNhMiAyIDAgMCAxIC41MDYtLjg1MnoifV1dfSk7dmFyIG1kLFVQZT1jKCgpPT57bWQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Ik05IDloLjAxIn1dLFsicGF0aCIse2Q6Ik0xNSAxNWguMDEifV1dfSk7dmFyIGdkLFdQZT1jKCgpPT57Z2Q9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgN2gxMCJ9XSxbInBhdGgiLHtkOiJNMTAgN3YxMCJ9XSxbInBhdGgiLHtkOiJNMTYgMTdhMiAyIDAgMCAxLTItMlY3In1dXX0pO3ZhciBiZCxHUGU9YygoKT0+e2JkPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAxMkg5LjVhMi41IDIuNSAwIDAgMSAwLTVIMTcifV0sWyJwYXRoIix7ZDoiTTEyIDd2MTAifV0sWyJwYXRoIix7ZDoiTTE2IDd2MTAifV1dfSk7dmFyIHZkLFlQZT1jKCgpPT57dmQ9W1sicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgOS4wMDNhMSAxIDAgMCAxIDEuNTE3LS44NTlsNC45OTcgMi45OTdhMSAxIDAgMCAxIDAgMS43MThsLTQuOTk3IDIuOTk3QTEgMSAwIDAgMSA5IDE0Ljk5NnoifV1dfSk7dmFyIHhkLFpQZT1jKCgpPT57eGQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XSxbInBhdGgiLHtkOiJNMTIgOHY4In1dXX0pO3ZhciB5ZCxYUGU9YygoKT0+e3lkPVtbInBhdGgiLHtkOiJNMTIgN3Y0In1dLFsicGF0aCIse2Q6Ik03Ljk5OCA5LjAwM2E1IDUgMCAxIDAgOC0uMDA1In1dLFsicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dfSk7dmFyIHlJLEtQZT1jKCgpPT57eUk9W1sicGF0aCIse2Q6Ik03IDEyaDJsMiA1IDItMTBoNCJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciB3SSxRUGU9YygoKT0+e3dJPVtbInBhdGgiLHtkOiJNMjEgMTFhOCA4IDAgMCAwLTgtOCJ9XSxbInBhdGgiLHtkOiJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNCJ9XV19KTt2YXIgd2QsSlBlPWMoKCk9Pnt3ZD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiI4LjUiLGN5OiI4LjUiLHI6IjEuNSJ9XSxbImxpbmUiLHt4MToiOS41NjA2NiIseTE6IjkuNTYwNjYiLHgyOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxNyIseTE6IjE3Iix4MjoiMTQuODIiLHkyOiIxNC44MiJ9XSxbImNpcmNsZSIse2N4OiI4LjUiLGN5OiIxNS41IixyOiIxLjUifV0sWyJsaW5lIix7eDE6IjkuNTYwNjYiLHkxOiIxNC40MzkzNCIseDI6IjE3Iix5MjoiNyJ9XV19KTt2YXIgTWQsZUVlPWMoKCk9PntNZD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTYgOC45VjdIOGw0IDUtNCA1aDh2LTEuOSJ9XV19KTt2YXIga2QsdEVlPWMoKCk9PntrZD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjE1Iix5MToiMTUiLHkyOiI5In1dXX0pO3ZhciB6ZCxhRWU9YygoKT0+e3pkPVtbInBhdGgiLHtkOiJNOCAxOUg1Yy0xIDAtMi0xLTItMlY3YzAtMSAxLTIgMi0yaDMifV0sWyJwYXRoIix7ZDoiTTE2IDVoM2MxIDAgMiAxIDIgMnYxMGMwIDEtMSAyLTIgMmgtMyJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjQiLHkyOiIyMCJ9XV19KTt2YXIgU2QsckVlPWMoKCk9PntTZD1bWyJwYXRoIix7ZDoiTTUgOFY1YzAtMSAxLTIgMi0yaDEwYzEgMCAyIDEgMiAydjMifV0sWyJwYXRoIix7ZDoiTTE5IDE2djNjMCAxLTEgMi0yIDJIN2MtMSAwLTItMS0yLTJ2LTMifV0sWyJsaW5lIix7eDE6IjQiLHgyOiIyMCIseTE6IjEyIix5MjoiMTIifV1dfSk7dmFyIE1JLGlFZT1jKCgpPT57TUk9W1sicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV0sWyJyZWN0Iix7eDoiOCIseToiOCIsd2lkdGg6IjgiLGhlaWdodDoiOCIscng6IjEifV1dfSk7dmFyIGtJLHNFZT1jKCgpPT57a0k9W1sicGF0aCIse2Q6Ik00IDEwYy0xLjEgMC0yLS45LTItMlY0YzAtMS4xLjktMiAyLTJoNGMxLjEgMCAyIC45IDIgMiJ9XSxbInBhdGgiLHtkOiJNMTAgMTZjLTEuMSAwLTItLjktMi0ydi00YzAtMS4xLjktMiAyLTJoNGMxLjEgMCAyIC45IDIgMiJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI4Iix4OiIxNCIseToiMTQiLHJ4OiIyIn1dXX0pO3ZhciB6SSxvRWU9YygoKT0+e3pJPVtbInBhdGgiLHtkOiJNMTEuMDM1IDcuNjlhMSAxIDAgMCAxIDEuOTA5LjAyNGwuNzM3IDEuNDUyYTEgMSAwIDAgMCAuNzM3LjUzNWwxLjYzNC4yNTZhMSAxIDAgMCAxIC41ODggMS44MDZsLTEuMTcyIDEuMTY4YTEgMSAwIDAgMC0uMjgyLjg2NmwuMjU5IDEuNjEzYTEgMSAwIDAgMS0xLjU0MSAxLjEzNGwtMS40NjUtLjc1YTEgMSAwIDAgMC0uOTEyIDBsLTEuNDY1Ljc1YTEgMSAwIDAgMS0xLjUzOS0xLjEzM2wuMjU4LTEuNjEzYTEgMSAwIDAgMC0uMjgyLS44NjZsLTEuMTU2LTEuMTUzYTEgMSAwIDAgMSAuNTcyLTEuODIybDEuNjMzLS4yNTZhMSAxIDAgMCAwIC43MzctLjUzNXoifV0sWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV19KTt2YXIgU0ksbkVlPWMoKCk9PntTST1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInJlY3QiLHt4OiI5Iix5OiI5Iix3aWR0aDoiNiIsaGVpZ2h0OiI2IixyeDoiMSJ9XV19KTt2YXIgQ2QsbEVlPWMoKCk9PntDZD1bWyJwYXRoIix7ZDoiTTE4IDIxYTYgNiAwIDAgMC0xMiAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTEiLHI6IjQifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XV19KTt2YXIgX2QsY0VlPWMoKCk9PntfZD1bWyJwYXRoIix7ZDoibTcgMTEgMi0yLTItMiJ9XSxbInBhdGgiLHtkOiJNMTEgMTNoNCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XV19KTt2YXIgVGQsZEVlPWMoKCk9PntUZD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Ik03IDIxdi0yYTIgMiAwIDAgMSAyLTJoNmEyIDIgMCAwIDEgMiAydjIifV1dfSk7dmFyIExkLHBFZT1jKCgpPT57TGQ9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Im0xNSA5LTYgNiJ9XSxbInBhdGgiLHtkOiJtOSA5IDYgNiJ9XV19KTt2YXIgQ0ksdUVlPWMoKCk9PntDST1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XV19KTt2YXIgX0ksZkVlPWMoKCk9PntfST1bWyJwYXRoIix7ZDoiTTE2IDEydjJhMiAyIDAgMCAxLTIgMkg5YTEgMSAwIDAgMC0xIDF2M2EyIDIgMCAwIDAgMiAyaDEwYTIgMiAwIDAgMCAyLTJWMTBhMiAyIDAgMCAwLTItMmgwIn1dLFsicGF0aCIse2Q6Ik00IDE2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDEwYTIgMiAwIDAgMSAyIDJ2M2ExIDEgMCAwIDEtMSAxaC01YTIgMiAwIDAgMC0yIDJ2MiJ9XV19KTt2YXIgVEksaEVlPWMoKCk9PntUST1bWyJwYXRoIix7ZDoiTTEwIDIyYTIgMiAwIDAgMS0yLTIifV0sWyJwYXRoIix7ZDoiTTE0IDJhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMTYgMjJoLTIifV0sWyJwYXRoIix7ZDoiTTIgMTBWOCJ9XSxbInBhdGgiLHtkOiJNMiA0YTIgMiAwIDAgMSAyLTIifV0sWyJwYXRoIix7ZDoiTTIwIDhhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTR2MiJ9XSxbInBhdGgiLHtkOiJNMjIgMjBhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNNCAxNmEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik04IDEwYTIgMiAwIDAgMSAyLTJoNWExIDEgMCAwIDEgMSAxdjVhMiAyIDAgMCAxLTIgMkg5YTEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik04IDJoMiJ9XV19KTt2YXIgTEksbUVlPWMoKCk9PntMST1bWyJwYXRoIix7ZDoiTTEwIDIyYTIgMiAwIDAgMS0yLTIifV0sWyJwYXRoIix7ZDoiTTE2IDIyaC0yIn1dLFsicGF0aCIse2Q6Ik0xNiA0YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEwYTIgMiAwIDAgMCAyIDJoM2ExIDEgMCAwIDAgMS0xdi01YTIgMiAwIDAgMSAyLTJoNWExIDEgMCAwIDAgMS0xeiJ9XSxbInBhdGgiLHtkOiJNMjAgOGEyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0yMiAxNHYyIn1dLFsicGF0aCIse2Q6Ik0yMiAyMGEyIDIgMCAwIDEtMiAyIn1dXX0pO3ZhciAkSSxnRWU9YygoKT0+eyRJPVtbInBhdGgiLHtkOiJNNCAxNmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjNhMSAxIDAgMCAwIDEgMWgzYTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMkgxMGEyIDIgMCAwIDEtMi0ydi0zYTEgMSAwIDAgMC0xLTF6In1dXX0pO3ZhciBESSxiRWU9YygoKT0+e0RJPVtbInBhdGgiLHtkOiJNMTMuNzcgMy4wNDNhMzQgMzQgMCAwIDAtMy41NCAwIn1dLFsicGF0aCIse2Q6Ik0xMy43NzEgMjAuOTU2YTMzIDMzIDAgMCAxLTMuNTQxLjAwMSJ9XSxbInBhdGgiLHtkOiJNMjAuMTggMTcuNzRjLS41MSAxLjE1LTEuMjkgMS45My0yLjQzOSAyLjQ0In1dLFsicGF0aCIse2Q6Ik0yMC4xOCA2LjI1OWMtLjUxLTEuMTQ4LTEuMjkxLTEuOTI5LTIuNDQtMi40MzgifV0sWyJwYXRoIix7ZDoiTTIwLjk1NyAxMC4yM2EzMyAzMyAwIDAgMSAwIDMuNTQifV0sWyJwYXRoIix7ZDoiTTMuMDQzIDEwLjIzYTM0IDM0IDAgMCAwIC4wMDEgMy41NDEifV0sWyJwYXRoIix7ZDoiTTYuMjYgMjAuMTc5Yy0xLjE1LS41MDgtMS45My0xLjI5LTIuNDQtMi40MzgifV0sWyJwYXRoIix7ZDoiTTYuMjYgMy44MmMtMS4xNDkuNTEtMS45MyAxLjI5MS0yLjQ0IDIuNDQifV1dfSk7dmFyIEFJLHZFZT1jKCgpPT57QUk9W1sicGF0aCIse2Q6Ik0xMiAzYzcuMiAwIDkgMS44IDkgOXMtMS44IDktOSA5LTktMS44LTktOSAxLjgtOSA5LTkifV1dfSk7dmFyIFBJLHhFZT1jKCgpPT57UEk9W1sicGF0aCIse2Q6Ik0xNCAxM1Y4LjVDMTQgNyAxNSA3IDE1IDVhMyAzIDAgMCAwLTYgMGMwIDIgMSAyIDEgMy41VjEzIn1dLFsicGF0aCIse2Q6Ik0yMCAxNS41YTIuNSAyLjUgMCAwIDAtMi41LTIuNWgtMTFBMi41IDIuNSAwIDAgMCA0IDE1LjVWMTdhMSAxIDAgMCAwIDEgMWgxNGExIDEgMCAwIDAgMS0xeiJ9XSxbInBhdGgiLHtkOiJNNSAyMmgxNCJ9XV19KTt2YXIgRUkseUVlPWMoKCk9PntFST1bWyJwYXRoIix7ZDoiTTE1LjIzNiAyMmEzIDMgMCAwIDAtMi4yLTUifV0sWyJwYXRoIix7ZDoiTTE2IDIwYTMgMyAwIDAgMSAzLTNoMWEyIDIgMCAwIDAgMi0ydi0yYTQgNCAwIDAgMC00LTRWNCJ9XSxbInBhdGgiLHtkOiJNMTggMTNoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOCA2YTQgNCAwIDAgMC00IDQgNyA3IDAgMCAwLTcgN2MwLTUgNC01IDQtMTAuNWE0LjUgNC41IDAgMSAwLTkgMCAyLjUgMi41IDAgMCAwIDUgMEM3IDEwIDMgMTEgMyAxN2MwIDIuOCAyLjIgNSA1IDVoMTAifV1dfSk7dmFyIElJLHdFZT1jKCgpPT57SUk9W1sicGF0aCIse2Q6Ik0xMiAxOC4zMzhhMi4xIDIuMSAwIDAgMC0uOTg3LjI0NEw2LjM5NiAyMS4wMWEuNTMuNTMgMCAwIDEtLjc3LS41NmwuODgxLTUuMTM5YTIuMTIgMi4xMiAwIDAgMC0uNjExLTEuODc5TDIuMTYgOS43OTVhLjUzLjUzIDAgMCAxIC4yOTQtLjkwNmw1LjE2NS0uNzU1YTIuMTIgMi4xMiAwIDAgMCAxLjU5Ny0xLjE2bDIuMzA5LTQuNjc5QS41My41MyAwIDAgMSAxMiAyIn1dXX0pO3ZhciBOSSxNRWU9YygoKT0+e05JPVtbInBhdGgiLHtkOiJtMTAuMzQ0IDQuNjg4IDEuMTgxLTIuMzkzYS41My41MyAwIDAgMSAuOTUgMGwyLjMxIDQuNjc5YTIuMTIgMi4xMiAwIDAgMCAxLjU5NSAxLjE2bDUuMTY2Ljc1NmEuNTMuNTMgMCAwIDEgLjI5NC45MDRsLTMuMjM3IDMuMTUyIn1dLFsicGF0aCIse2Q6Im0xNy45NDUgMTcuOTQ1LjQzIDIuNTA1YS41My41MyAwIDAgMS0uNzcxLjU2bC00LjYxOC0yLjQyOGEyLjEyIDIuMTIgMCAwIDAtMS45NzMgMEw2LjM5NiAyMS4wMWEuNTMuNTMgMCAwIDEtLjc3LS41NmwuODgxLTUuMTM5YTIuMTIgMi4xMiAwIDAgMC0uNjExLTEuODc5TDIuMTYgOS43OTVhLjUzLjUzIDAgMCAxIC4yOTQtLjkwNmw1LjE2NS0uNzU1YTggOCAwIDAgMCAuNC0uMDk5In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIFJJLGtFZT1jKCgpPT57Ukk9W1sicGF0aCIse2Q6Ik0xMS41MjUgMi4yOTVhLjUzLjUzIDAgMCAxIC45NSAwbDIuMzEgNC42NzlhMi4xMjMgMi4xMjMgMCAwIDAgMS41OTUgMS4xNmw1LjE2Ni43NTZhLjUzLjUzIDAgMCAxIC4yOTQuOTA0bC0zLjczNiAzLjYzOGEyLjEyMyAyLjEyMyAwIDAgMC0uNjExIDEuODc4bC44ODIgNS4xNGEuNTMuNTMgMCAwIDEtLjc3MS41NmwtNC42MTgtMi40MjhhMi4xMjIgMi4xMjIgMCAwIDAtMS45NzMgMEw2LjM5NiAyMS4wMWEuNTMuNTMgMCAwIDEtLjc3LS41NmwuODgxLTUuMTM5YTIuMTIyIDIuMTIyIDAgMCAwLS42MTEtMS44NzlMMi4xNiA5Ljc5NWEuNTMuNTMgMCAwIDEgLjI5NC0uOTA2bDUuMTY1LS43NTVhMi4xMjIgMi4xMjIgMCAwIDAgMS41OTctMS4xNnoifV1dfSk7dmFyIEZJLHpFZT1jKCgpPT57Rkk9W1sicGF0aCIse2Q6Ik0xMy45NzEgNC4yODVBMiAyIDAgMCAxIDE3IDZ2MTJhMiAyIDAgMCAxLTMuMDI5IDEuNzE1bC05Ljk5Ny01Ljk5OGEyIDIgMCAwIDEtLjAwMy0zLjQzMnoifV0sWyJwYXRoIix7ZDoiTTIxIDIwVjQifV1dfSk7dmFyIE9JLFNFZT1jKCgpPT57T0k9W1sicGF0aCIse2Q6Ik0xMC4wMjkgNC4yODVBMiAyIDAgMCAwIDcgNnYxMmEyIDIgMCAwIDAgMy4wMjkgMS43MTVsOS45OTctNS45OThhMiAyIDAgMCAwIC4wMDMtMy40MzJ6In1dLFsicGF0aCIse2Q6Ik0zIDR2MTYifV1dfSk7dmFyIEJJLENFZT1jKCgpPT57Qkk9W1sicGF0aCIse2Q6Ik0xMSAydjIifV0sWyJwYXRoIix7ZDoiTTUgMnYyIn1dLFsicGF0aCIse2Q6Ik01IDNINGEyIDIgMCAwIDAtMiAydjRhNiA2IDAgMCAwIDEyIDBWNWEyIDIgMCAwIDAtMi0yaC0xIn1dLFsicGF0aCIse2Q6Ik04IDE1YTYgNiAwIDAgMCAxMiAwdi0zIn1dLFsiY2lyY2xlIix7Y3g6IjIwIixjeToiMTAiLHI6IjIifV1dfSk7dmFyIEhJLF9FZT1jKCgpPT57SEk9W1sicGF0aCIse2Q6Ik0yMSA5YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNSAzSDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ6In1dLFsicGF0aCIse2Q6Ik0xNSAzdjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik04IDEzaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTNoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMCAxNnMuOCAxIDIgMWMxLjMgMCAyLTEgMi0xIn1dXX0pO3ZhciBxSSxURWU9YygoKT0+e3FJPVtbInBhdGgiLHtkOiJNMjEgOWEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTUgM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0yeiJ9XSxbInBhdGgiLHtkOiJNMTUgM3Y1YTEgMSAwIDAgMCAxIDFoNSJ9XV19KTt2YXIgVkksTEVlPWMoKCk9PntWST1bWyJwYXRoIix7ZDoiTTExLjI2NCAyLjIwNUE0IDQgMCAwIDAgNi40MiA0LjIxMWwtNCA4YTQgNCAwIDAgMCAxLjM1OSA1LjExN2w2IDRhNCA0IDAgMCAwIDQuNDM4IDBsNi00YTQgNCAwIDAgMCAxLjU3Ni00LjU5MmwtMi02YTQgNCAwIDAgMC0yLjUzLTIuNTN6In1dLFsicGF0aCIse2Q6Ik0xMS45OSAyMiAxNCAxMmw3LjgyMiAzLjE4NCJ9XSxbInBhdGgiLHtkOiJNMTQgMTIgOC40NyAyLjMwMiJ9XV19KTt2YXIgakksJEVlPWMoKCk9PntqST1bWyJwYXRoIix7ZDoiTTE1IDIxdi01YTEgMSAwIDAgMC0xLTFoLTRhMSAxIDAgMCAwLTEgMXY1In1dLFsicGF0aCIse2Q6Ik0xNy43NzQgMTAuMzFhMS4xMiAxLjEyIDAgMCAwLTEuNTQ5IDAgMi41IDIuNSAwIDAgMS0zLjQ1MSAwIDEuMTIgMS4xMiAwIDAgMC0xLjU0OCAwIDIuNSAyLjUgMCAwIDEtMy40NTIgMCAxLjEyIDEuMTIgMCAwIDAtMS41NDkgMCAyLjUgMi41IDAgMCAxLTMuNzctMy4yNDhsMi44ODktNC4xODRBMiAyIDAgMCAxIDcgMmgxMGEyIDIgMCAwIDEgMS42NTMuODczbDIuODk1IDQuMTkyYTIuNSAyLjUgMCAwIDEtMy43NzQgMy4yNDQifV0sWyJwYXRoIix7ZDoiTTQgMTAuOTVWMTlhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0ydi04LjA1In1dXX0pO3ZhciBVSSxERWU9YygoKT0+e1VJPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiNiIseDoiMiIseToiNCIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjYiLHg6IjIiLHk6IjE0IixyeDoiMiJ9XV19KTt2YXIgV0ksQUVlPWMoKCk9PntXST1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMjAiLHg6IjQiLHk6IjIiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjIwIix4OiIxNCIseToiMiIscng6IjIifV1dfSk7dmFyIEdJLFBFZT1jKCgpPT57R0k9W1sicGF0aCIse2Q6Ik0xNiA0SDlhMyAzIDAgMCAwLTIuODMgNCJ9XSxbInBhdGgiLHtkOiJNMTQgMTJhNCA0IDAgMCAxIDAgOEg2In1dLFsibGluZSIse3gxOiI0Iix4MjoiMjAiLHkxOiIxMiIseTI6IjEyIn1dXX0pO3ZhciBZSSxFRWU9YygoKT0+e1lJPVtbInBhdGgiLHtkOiJtNCA1IDggOCJ9XSxbInBhdGgiLHtkOiJtMTIgNS04IDgifV0sWyJwYXRoIix7ZDoiTTIwIDE5aC00YzAtMS41LjQ0LTIgMS41LTIuNVMyMCAxNS4zMyAyMCAxNGMwLS40Ny0uMTctLjkzLS40OC0xLjI5YTIuMTEgMi4xMSAwIDAgMC0yLjYyLS40NGMtLjQyLjI0LS43NC42Mi0uOSAxLjA3In1dXX0pO3ZhciBaSSxJRWU9YygoKT0+e1pJPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI0In1dLFsicGF0aCIse2Q6Ik0xMiA0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMjAgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTQgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNy42NTcgNi4zNDNoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNy42NTcgMTcuNjU3aC4wMSJ9XSxbInBhdGgiLHtkOiJNNi4zNDMgMTcuNjU3aC4wMSJ9XSxbInBhdGgiLHtkOiJNNi4zNDMgNi4zNDNoLjAxIn1dXX0pO3ZhciBYSSxORWU9YygoKT0+e1hJPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI0In1dLFsicGF0aCIse2Q6Ik0xMiAzdjEifV0sWyJwYXRoIix7ZDoiTTEyIDIwdjEifV0sWyJwYXRoIix7ZDoiTTMgMTJoMSJ9XSxbInBhdGgiLHtkOiJNMjAgMTJoMSJ9XSxbInBhdGgiLHtkOiJtMTguMzY0IDUuNjM2LS43MDcuNzA3In1dLFsicGF0aCIse2Q6Im02LjM0MyAxNy42NTctLjcwNy43MDcifV0sWyJwYXRoIix7ZDoibTUuNjM2IDUuNjM2LjcwNy43MDcifV0sWyJwYXRoIix7ZDoibTE3LjY1NyAxNy42NTcuNzA3LjcwNyJ9XV19KTt2YXIgS0ksUkVlPWMoKCk9PntLST1bWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTQuODM3IDE2LjM4NWE2IDYgMCAxIDEtNy4yMjMtNy4yMjJjLjYyNC0uMTQ3Ljk3LjY2LjcxNSAxLjI0OGE0IDQgMCAwIDAgNS4yNiA1LjI1OWMuNTg5LS4yNTUgMS4zOTYuMDkgMS4yNDguNzE1In1dLFsicGF0aCIse2Q6Ik0xNiAxMmE0IDQgMCAwIDAtNC00In1dLFsicGF0aCIse2Q6Im0xOSA1LTEuMjU2IDEuMjU2In1dLFsicGF0aCIse2Q6Ik0yMCAxMmgyIn1dXX0pO3ZhciBRSSxGRWU9YygoKT0+e1FJPVtbInBhdGgiLHtkOiJNMTAgMjF2LTEifV0sWyJwYXRoIix7ZDoiTTEwIDRWMyJ9XSxbInBhdGgiLHtkOiJNMTAgOWEzIDMgMCAwIDAgMCA2In1dLFsicGF0aCIse2Q6Im0xNCAyMCAxLjI1LTIuNUwxOCAxOCJ9XSxbInBhdGgiLHtkOiJtMTQgNCAxLjI1IDIuNUwxOCA2In1dLFsicGF0aCIse2Q6Im0xNyAyMS0zLTYgMS41LTNIMjIifV0sWyJwYXRoIix7ZDoibTE3IDMtMyA2IDEuNSAzIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDEifV0sWyJwYXRoIix7ZDoibTIwIDEwLTEuNSAyIDEuNSAyIn1dLFsicGF0aCIse2Q6Im0zLjY0IDE4LjM2LjctLjcifV0sWyJwYXRoIix7ZDoibTQuMzQgNi4zNC0uNy0uNyJ9XV19KTt2YXIgSkksT0VlPWMoKCk9PntKST1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0xMiAyMHYyIn1dLFsicGF0aCIse2Q6Im00LjkzIDQuOTMgMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Im0xNy42NiAxNy42NiAxLjQxIDEuNDEifV0sWyJwYXRoIix7ZDoiTTIgMTJoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTJoMiJ9XSxbInBhdGgiLHtkOiJtNi4zNCAxNy42Ni0xLjQxIDEuNDEifV0sWyJwYXRoIix7ZDoibTE5LjA3IDQuOTMtMS40MSAxLjQxIn1dXX0pO3ZhciBlTixCRWU9YygoKT0+e2VOPVtbInBhdGgiLHtkOiJNMTIgMnY4In1dLFsicGF0aCIse2Q6Im00LjkzIDEwLjkzIDEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJNMiAxOGgyIn1dLFsicGF0aCIse2Q6Ik0yMCAxOGgyIn1dLFsicGF0aCIse2Q6Im0xOS4wNyAxMC45My0xLjQxIDEuNDEifV0sWyJwYXRoIix7ZDoiTTIyIDIySDIifV0sWyJwYXRoIix7ZDoibTggNiA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik0xNiAxOGE0IDQgMCAwIDAtOCAwIn1dXX0pO3ZhciB0TixIRWU9YygoKT0+e3ROPVtbInBhdGgiLHtkOiJNMTIgMTBWMiJ9XSxbInBhdGgiLHtkOiJtNC45MyAxMC45MyAxLjQxIDEuNDEifV0sWyJwYXRoIix7ZDoiTTIgMThoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMThoMiJ9XSxbInBhdGgiLHtkOiJtMTkuMDcgMTAuOTMtMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0yMiAyMkgyIn1dLFsicGF0aCIse2Q6Im0xNiA2LTQgNC00LTQifV0sWyJwYXRoIix7ZDoiTTE2IDE4YTQgNCAwIDAgMC04IDAifV1dfSk7dmFyIGFOLHFFZT1jKCgpPT57YU49W1sicGF0aCIse2Q6Im00IDE5IDgtOCJ9XSxbInBhdGgiLHtkOiJtMTIgMTktOC04In1dLFsicGF0aCIse2Q6Ik0yMCAxMmgtNGMwLTEuNS40NDItMiAxLjUtMi41UzIwIDguMzM0IDIwIDcuMDAyYzAtLjQ3Mi0uMTctLjkzLS40ODQtMS4yOWEyLjEwNSAyLjEwNSAwIDAgMC0yLjYxNy0uNDM2Yy0uNDIuMjM5LS43MzguNjE0LS44OTkgMS4wNiJ9XV19KTt2YXIgck4sVkVlPWMoKCk9PntyTj1bWyJwYXRoIix7ZDoiTTExIDE3YTQgNCAwIDAgMS04IDBWNWEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMloifV0sWyJwYXRoIix7ZDoiTTE2LjcgMTNIMTlhMiAyIDAgMCAxIDIgMnY0YTIgMiAwIDAgMS0yIDJINyJ9XSxbInBhdGgiLHtkOiJNIDcgMTdoLjAxIn1dLFsicGF0aCIse2Q6Im0xMSA4IDIuMy0yLjNhMi40IDIuNCAwIDAgMSAzLjQwNC4wMDRMMTguNiA3LjZhMi40IDIuNCAwIDAgMSAuMDI2IDMuNDM0TDkuOSAxOS44In1dXX0pO3ZhciBpTixqRWU9YygoKT0+e2lOPVtbInBhdGgiLHtkOiJNMTEgMTlINGEyIDIgMCAwIDEtMi0yVjdhMiAyIDAgMCAxIDItMmg1In1dLFsicGF0aCIse2Q6Ik0xMyA1aDdhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAyaC01In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV0sWyJwYXRoIix7ZDoibTE4IDIyLTMtMyAzLTMifV0sWyJwYXRoIix7ZDoibTYgMiAzIDMtMyAzIn1dXX0pO3ZhciBzTixVRWU9YygoKT0+e3NOPVtbInBhdGgiLHtkOiJNMTAgMjFWM2g4In1dLFsicGF0aCIse2Q6Ik02IDE2aDkifV0sWyJwYXRoIix7ZDoiTTEwIDkuNWg3In1dXX0pO3ZhciBvTixXRWU9YygoKT0+e29OPVtbInBhdGgiLHtkOiJtMTEgMTktNi02In1dLFsicGF0aCIse2Q6Im01IDIxLTItMiJ9XSxbInBhdGgiLHtkOiJtOCAxNi00IDQifV0sWyJwYXRoIix7ZDoiTTkuNSAxNy41IDIxIDZWM2gtM0w2LjUgMTQuNSJ9XV19KTt2YXIgbk4sR0VlPWMoKCk9PntuTj1bWyJwYXRoIix7ZDoiTTkgM0g1YTIgMiAwIDAgMC0yIDJ2NG02LTZoMTBhMiAyIDAgMCAxIDIgMnY0TTkgM3YxOG0wIDBoMTBhMiAyIDAgMCAwIDItMlY5TTkgMjFINWEyIDIgMCAwIDEtMi0yVjltMCAwaDE4In1dXX0pO3ZhciBsTixZRWU9YygoKT0+e2xOPVtbInBhdGgiLHtkOiJNMTIgMjF2LTYifV0sWyJwYXRoIix7ZDoiTTEyIDlWMyJ9XSxbInBhdGgiLHtkOiJNMyAxNWgxOCJ9XSxbInBhdGgiLHtkOiJNMyA5aDE4In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV1dfSk7dmFyIGNOLFpFZT1jKCgpPT57Y049W1sicG9seWxpbmUiLHtwb2ludHM6IjE0LjUgMTcuNSAzIDYgMyAzIDYgMyAxNy41IDE0LjUifV0sWyJsaW5lIix7eDE6IjEzIix4MjoiMTkiLHkxOiIxOSIseTI6IjEzIn1dLFsibGluZSIse3gxOiIxNiIseDI6IjIwIix5MToiMTYiLHkyOiIyMCJ9XSxbImxpbmUiLHt4MToiMTkiLHgyOiIyMSIseTE6IjIxIix5MjoiMTkifV0sWyJwb2x5bGluZSIse3BvaW50czoiMTQuNSA2LjUgMTggMyAyMSAzIDIxIDYgMTcuNSA5LjUifV0sWyJsaW5lIix7eDE6IjUiLHgyOiI5Iix5MToiMTQiLHkyOiIxOCJ9XSxbImxpbmUiLHt4MToiNyIseDI6IjQiLHkxOiIxNyIseTI6IjIwIn1dLFsibGluZSIse3gxOiIzIix4MjoiNSIseTE6IjE5Iix5MjoiMjEifV1dfSk7dmFyIGROLFhFZT1jKCgpPT57ZE49W1sicGF0aCIse2Q6Im0xOCAyIDQgNCJ9XSxbInBhdGgiLHtkOiJtMTcgNyAzLTMifV0sWyJwYXRoIix7ZDoiTTE5IDkgOC43IDE5LjNjLTEgMS0yLjUgMS0zLjQgMGwtLjYtLjZjLTEtMS0xLTIuNSAwLTMuNEwxNSA1In1dLFsicGF0aCIse2Q6Im05IDExIDQgNCJ9XSxbInBhdGgiLHtkOiJtNSAxOS0zIDMifV0sWyJwYXRoIix7ZDoibTE0IDQgNiA2In1dXX0pO3ZhciBwTixLRWU9YygoKT0+e3BOPVtbInBhdGgiLHtkOiJNMTIgMTVWOSJ9XSxbInBhdGgiLHtkOiJNMyAxNWgxOCJ9XSxbInBhdGgiLHtkOiJNMyA5aDE4In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV1dfSk7dmFyIHVOLFFFZT1jKCgpPT57dU49W1sicGF0aCIse2Q6Ik0xNCAxNHYyIn1dLFsicGF0aCIse2Q6Ik0xNCAyMHYyIn1dLFsicGF0aCIse2Q6Ik0xNCAydjIifV0sWyJwYXRoIix7ZDoiTTE0IDh2MiJ9XSxbInBhdGgiLHtkOiJNMiAxNWg4In1dLFsicGF0aCIse2Q6Ik0yIDNoNmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJIMiJ9XSxbInBhdGgiLHtkOiJNMiA5aDgifV0sWyJwYXRoIix7ZDoiTTIyIDE1aC00In1dLFsicGF0aCIse2Q6Ik0yMiAzaC0yYTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgyIn1dLFsicGF0aCIse2Q6Ik0yMiA5aC00In1dLFsicGF0aCIse2Q6Ik01IDN2MTgifV1dfSk7dmFyIGZOLEpFZT1jKCgpPT57Zk49W1sicGF0aCIse2Q6Ik0xNiA1SDMifV0sWyJwYXRoIix7ZDoiTTE2IDEySDMifV0sWyJwYXRoIix7ZDoiTTE2IDE5SDMifV0sWyJwYXRoIix7ZDoiTTIxIDVoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMSAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTIxIDE5aC4wMSJ9XV19KTt2YXIgaE4sZUllPWMoKCk9PntoTj1bWyJwYXRoIix7ZDoiTTE1IDN2MTgifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMjEgOUgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxNUgzIn1dXX0pO3ZhciBtTix0SWU9YygoKT0+e21OPVtbInBhdGgiLHtkOiJNMTQgMTBoMiJ9XSxbInBhdGgiLHtkOiJNMTUgMjJ2LTgifV0sWyJwYXRoIix7ZDoiTTE1IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMiAxMGgyIn1dLFsicGF0aCIse2Q6Ik0yMCAxMGgyIn1dLFsicGF0aCIse2Q6Ik0zIDE5aDE4In1dLFsicGF0aCIse2Q6Ik0zIDIydi02YTIgMiAxMzUgMCAxIDItMmgxNGEyIDIgNDUgMCAxIDIgMnY2In1dLFsicGF0aCIse2Q6Ik0zIDJ2MmEyIDIgNDUgMCAwIDIgMmgxNGEyIDIgMTM1IDAgMCAyLTJWMiJ9XSxbInBhdGgiLHtkOiJNOCAxMGgyIn1dLFsicGF0aCIse2Q6Ik05IDIydi04In1dLFsicGF0aCIse2Q6Ik05IDJ2NCJ9XV19KTt2YXIgZ04sYUllPWMoKCk9PntnTj1bWyJwYXRoIix7ZDoiTTEyIDN2MTgifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyA5aDE4In1dLFsicGF0aCIse2Q6Ik0zIDE1aDE4In1dXX0pO3ZhciBiTixySWU9YygoKT0+e2JOPVtbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiMTQiLHg6IjMiLHk6IjgiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik01IDRhMiAyIDAgMCAxIDItMmgxMmEyIDIgMCAwIDEgMiAydjE2YTIgMiAwIDAgMS0yIDJoLTIuNCJ9XSxbInBhdGgiLHtkOiJNOCAxOGguMDEifV1dfSk7dmFyIHZOLGlJZT1jKCgpPT57dk49W1sicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIyMCIseDoiNCIseToiMiIscng6IjIiLHJ5OiIyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyLjAxIix5MToiMTgiLHkyOiIxOCJ9XV19KTt2YXIgeE4sc0llPWMoKCk9Pnt4Tj1bWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjciLHI6IjUifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxNyIscjoiNSJ9XSxbInBhdGgiLHtkOiJNMTIgMTdoMTAifV0sWyJwYXRoIix7ZDoibTMuNDYgMTAuNTQgNy4wOC03LjA4In1dXX0pO3ZhciB5TixvSWU9YygoKT0+e3lOPVtbInBhdGgiLHtkOiJNMTIuNTg2IDIuNTg2QTIgMiAwIDAgMCAxMS4xNzIgMkg0YTIgMiAwIDAgMC0yIDJ2Ny4xNzJhMiAyIDAgMCAwIC41ODYgMS40MTRsOC43MDQgOC43MDRhMi40MjYgMi40MjYgMCAwIDAgMy40MiAwbDYuNTgtNi41OGEyLjQyNiAyLjQyNiAwIDAgMCAwLTMuNDJ6In1dLFsiY2lyY2xlIix7Y3g6IjcuNSIsY3k6IjcuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XV19KTt2YXIgd04sbkllPWMoKCk9Pnt3Tj1bWyJwYXRoIix7ZDoiTTEzLjE3MiAyYTIgMiAwIDAgMSAxLjQxNC41ODZsNi43MSA2LjcxYTIuNCAyLjQgMCAwIDEgMCAzLjQwOGwtNC41OTIgNC41OTJhMi40IDIuNCAwIDAgMS0zLjQwOCAwbC02LjcxLTYuNzFBMiAyIDAgMCAxIDYgOS4xNzJWM2ExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNMiA3djYuMTcyYTIgMiAwIDAgMCAuNTg2IDEuNDE0bDYuNzEgNi43MWEyLjQgMi40IDAgMCAwIDMuMTkxLjE5MyJ9XSxbImNpcmNsZSIse2N4OiIxMC41IixjeToiNi41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dXX0pO3ZhciBNTixsSWU9YygoKT0+e01OPVtbInBhdGgiLHtkOiJNNCA0djE2In1dXX0pO3ZhciBrTixjSWU9YygoKT0+e2tOPVtbInBhdGgiLHtkOiJNNCA0djE2In1dLFsicGF0aCIse2Q6Ik05IDR2MTYifV1dfSk7dmFyIHpOLGRJZT1jKCgpPT57ek49W1sicGF0aCIse2Q6Ik00IDR2MTYifV0sWyJwYXRoIix7ZDoiTTkgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTQgNHYxNiJ9XV19KTt2YXIgU04scEllPWMoKCk9PntTTj1bWyJwYXRoIix7ZDoiTTQgNHYxNiJ9XSxbInBhdGgiLHtkOiJNOSA0djE2In1dLFsicGF0aCIse2Q6Ik0xNCA0djE2In1dLFsicGF0aCIse2Q6Ik0xOSA0djE2In1dXX0pO3ZhciBDTix1SWU9YygoKT0+e0NOPVtbInBhdGgiLHtkOiJNNCA0djE2In1dLFsicGF0aCIse2Q6Ik05IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE0IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE5IDR2MTYifV0sWyJwYXRoIix7ZDoiTTIyIDYgMiAxOCJ9XV19KTt2YXIgX04sZkllPWMoKCk9PntfTj1bWyJjaXJjbGUiLHtjeDoiMTciLGN5OiI0IixyOiIyIn1dLFsicGF0aCIse2Q6Ik0xNS41OSA1LjQxIDUuNDEgMTUuNTkifV0sWyJjaXJjbGUiLHtjeDoiNCIsY3k6IjE3IixyOiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAyMnMtNC05LTEuNS0xMS41UzIyIDEyIDIyIDEyIn1dXX0pO3ZhciBUTixoSWU9YygoKT0+e1ROPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dfSk7dmFyIExOLG1JZT1jKCgpPT57TE49W1sicGF0aCIse2Q6Im0xMC4wNjUgMTIuNDkzLTYuMTggMS4zMThhLjkzNC45MzQgMCAwIDEtMS4xMDgtLjcwMmwtLjUzNy0yLjE1YTEuMDcgMS4wNyAwIDAgMSAuNjkxLTEuMjY1bDEzLjUwNC00LjQ0In1dLFsicGF0aCIse2Q6Im0xMy41NiAxMS43NDcgNC4zMzItLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTYgMjEtMy4xMDUtNi4yMSJ9XSxbInBhdGgiLHtkOiJNMTYuNDg1IDUuOTRhMiAyIDAgMCAxIDEuNDU1LTIuNDI1bDEuMDktLjI3MmExIDEgMCAwIDEgMS4yMTIuNzI3bDEuNTE1IDYuMDZhMSAxIDAgMCAxLS43MjcgMS4yMTNsLTEuMDkuMjcyYTIgMiAwIDAgMS0yLjQyNS0xLjQ1NXoifV0sWyJwYXRoIix7ZDoibTYuMTU4IDguNjMzIDEuMTE0IDQuNDU2In1dLFsicGF0aCIse2Q6Im04IDIxIDMuMTA1LTYuMjEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiMiJ9XV19KTt2YXIgJE4sZ0llPWMoKCk9PnskTj1bWyJjaXJjbGUiLHtjeDoiNCIsY3k6IjQiLHI6IjIifV0sWyJwYXRoIix7ZDoibTE0IDUgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJtMTQgMTAgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTcgMTRWMiJ9XSxbInBhdGgiLHtkOiJNMTcgMTRIN2wtNSA4aDIwWiJ9XSxbInBhdGgiLHtkOiJNOCAxNHY4In1dLFsicGF0aCIse2Q6Im05IDE0IDUgOCJ9XV19KTt2YXIgRE4sYkllPWMoKCk9PntETj1bWyJwYXRoIix7ZDoiTTMuNSAyMSAxNCAzIn1dLFsicGF0aCIse2Q6Ik0yMC41IDIxIDEwIDMifV0sWyJwYXRoIix7ZDoiTTE1LjUgMjEgMTIgMTVsLTMuNSA2In1dLFsicGF0aCIse2Q6Ik0yIDIxaDIwIn1dXX0pO3ZhciBBTix2SWU9YygoKT0+e0FOPVtbInBhdGgiLHtkOiJNMTIgMTloOCJ9XSxbInBhdGgiLHtkOiJtNCAxNyA2LTYtNi02In1dXX0pO3ZhciAkZCx4SWU9YygoKT0+eyRkPVtbInBhdGgiLHtkOiJNMjEgNyA2LjgyIDIxLjE4YTIuODMgMi44MyAwIDAgMS0zLjk5LS4wMWEyLjgzIDIuODMgMCAwIDEgMC00TDE3IDMifV0sWyJwYXRoIix7ZDoibTE2IDIgNiA2In1dLFsicGF0aCIse2Q6Ik0xMiAxNkg0In1dXX0pO3ZhciBQTix5SWU9YygoKT0+e1BOPVtbInBhdGgiLHtkOiJNMTQuNSAydjE3LjVjMCAxLjQtMS4xIDIuNS0yLjUgMi41Yy0xLjQgMC0yLjUtMS4xLTIuNS0yLjVWMiJ9XSxbInBhdGgiLHtkOiJNOC41IDJoNyJ9XSxbInBhdGgiLHtkOiJNMTQuNSAxNmgtNSJ9XV19KTt2YXIgRU4sd0llPWMoKCk9PntFTj1bWyJwYXRoIix7ZDoiTTkgMnYxNy41QTIuNSAyLjUgMCAwIDEgNi41IDIyQTIuNSAyLjUgMCAwIDEgNCAxOS41VjIifV0sWyJwYXRoIix7ZDoiTTIwIDJ2MTcuNWEyLjUgMi41IDAgMCAxLTIuNSAyLjVhMi41IDIuNSAwIDAgMS0yLjUtMi41VjIifV0sWyJwYXRoIix7ZDoiTTMgMmg3In1dLFsicGF0aCIse2Q6Ik0xNCAyaDcifV0sWyJwYXRoIix7ZDoiTTkgMTZINCJ9XSxbInBhdGgiLHtkOiJNMjAgMTZoLTUifV1dfSk7dmFyIERkLE1JZT1jKCgpPT57RGQ9W1sicGF0aCIse2Q6Ik0yMSA1SDMifV0sWyJwYXRoIix7ZDoiTTE3IDEySDcifV0sWyJwYXRoIix7ZDoiTTE5IDE5SDUifV1dfSk7dmFyIEFkLGtJZT1jKCgpPT57QWQ9W1sicGF0aCIse2Q6Ik0yMSA1SDMifV0sWyJwYXRoIix7ZDoiTTIxIDEySDkifV0sWyJwYXRoIix7ZDoiTTIxIDE5SDcifV1dfSk7dmFyIFBkLHpJZT1jKCgpPT57UGQ9W1sicGF0aCIse2Q6Ik0zIDVoMTgifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTgifV0sWyJwYXRoIix7ZDoiTTMgMTloMTgifV1dfSk7dmFyIF9vLFNJZT1jKCgpPT57X289W1sicGF0aCIse2Q6Ik0yMSA1SDMifV0sWyJwYXRoIix7ZDoiTTE1IDEySDMifV0sWyJwYXRoIix7ZDoiTTE3IDE5SDMifV1dfSk7dmFyIElOLENJZT1jKCgpPT57SU49W1sicGF0aCIse2Q6Ik0xMiAyMGgtMWEyIDIgMCAwIDEtMi0yIDIgMiAwIDAgMS0yIDJINiJ9XSxbInBhdGgiLHtkOiJNMTMgOGg3YTIgMiAwIDAgMSAyIDJ2NGEyIDIgMCAwIDEtMiAyaC03In1dLFsicGF0aCIse2Q6Ik01IDE2SDRhMiAyIDAgMCAxLTItMnYtNGEyIDIgMCAwIDEgMi0yaDEifV0sWyJwYXRoIix7ZDoiTTYgNGgxYTIgMiAwIDAgMSAyIDIgMiAyIDAgMCAxIDItMmgxIn1dLFsicGF0aCIse2Q6Ik05IDZ2MTIifV1dfSk7dmFyIE5OLF9JZT1jKCgpPT57Tk49W1sicGF0aCIse2Q6Ik0xNyAyMmgtMWE0IDQgMCAwIDEtNC00VjZhNCA0IDAgMCAxIDQtNGgxIn1dLFsicGF0aCIse2Q6Ik03IDIyaDFhNCA0IDAgMCAwIDQtNHYtMSJ9XSxbInBhdGgiLHtkOiJNNyAyaDFhNCA0IDAgMCAxIDQgNHYxIn1dXX0pO3ZhciBFZCxUSWU9YygoKT0+e0VkPVtbInBhdGgiLHtkOiJNMTUgNWg2In1dLFsicGF0aCIse2Q6Ik0xNSAxMmg2In1dLFsicGF0aCIse2Q6Ik0zIDE5aDE4In1dLFsicGF0aCIse2Q6Im0zIDEyIDMuNTUzLTcuNzI0YS41LjUgMCAwIDEgLjg5NCAwTDExIDEyIn1dLFsicGF0aCIse2Q6Ik0zLjkyIDEwaDYuMTYifV1dfSk7dmFyIFJOLExJZT1jKCgpPT57Uk49W1sicGF0aCIse2Q6Ik0xNyA1SDMifV0sWyJwYXRoIix7ZDoiTTIxIDEySDgifV0sWyJwYXRoIix7ZDoiTTIxIDE5SDgifV0sWyJwYXRoIix7ZDoiTTMgMTJ2NyJ9XV19KTt2YXIgRk4sJEllPWMoKCk9PntGTj1bWyJwYXRoIix7ZDoiTTIxIDVIMyJ9XSxbInBhdGgiLHtkOiJNMTAgMTJIMyJ9XSxbInBhdGgiLHtkOiJNMTAgMTlIMyJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE1IixyOiIzIn1dLFsicGF0aCIse2Q6Im0yMSAxOS0xLjktMS45In1dXX0pO3ZhciBJZCxESWU9YygoKT0+e0lkPVtbInBhdGgiLHtkOiJNMTQgMjFoMSJ9XSxbInBhdGgiLHtkOiJNMTQgM2gxIn1dLFsicGF0aCIse2Q6Ik0xOSAzYTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTIxIDE0djEifV0sWyJwYXRoIix7ZDoiTTIxIDE5YTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTIxIDl2MSJ9XSxbInBhdGgiLHtkOiJNMyAxNHYxIn1dLFsicGF0aCIse2Q6Ik0zIDl2MSJ9XSxbInBhdGgiLHtkOiJNNSAyMWEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik01IDNhMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNNyAxMmgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNmg2In1dLFsicGF0aCIse2Q6Ik03IDhoOCJ9XSxbInBhdGgiLHtkOiJNOSAyMWgxIn1dLFsicGF0aCIse2Q6Ik05IDNoMSJ9XV19KTt2YXIgTmQsQUllPWMoKCk9PntOZD1bWyJwYXRoIix7ZDoibTE2IDE2LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTQuNWExIDEgMCAwIDEgMCA3SDEzIn1dLFsicGF0aCIse2Q6Ik0zIDE5aDYifV0sWyJwYXRoIix7ZDoiTTMgNWgxOCJ9XV19KTt2YXIgT04sUEllPWMoKCk9PntPTj1bWyJwYXRoIix7ZDoiTTIgMTBzMy0zIDMtOCJ9XSxbInBhdGgiLHtkOiJNMjIgMTBzLTMtMy0zLTgifV0sWyJwYXRoIix7ZDoiTTEwIDJjMCA0LjQtMy42IDgtOCA4In1dLFsicGF0aCIse2Q6Ik0xNCAyYzAgNC40IDMuNiA4IDggOCJ9XSxbInBhdGgiLHtkOiJNMiAxMHMyIDIgMiA1In1dLFsicGF0aCIse2Q6Ik0yMiAxMHMtMiAyLTIgNSJ9XSxbInBhdGgiLHtkOiJNOCAxNWg4In1dLFsicGF0aCIse2Q6Ik0yIDIydi0xYTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjEifV0sWyJwYXRoIix7ZDoiTTE0IDIydi0xYTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjEifV1dfSk7dmFyIEJOLEVJZT1jKCgpPT57Qk49W1sicGF0aCIse2Q6Im0xMCAyMC0xLjI1LTIuNUw2IDE4In1dLFsicGF0aCIse2Q6Ik0xMCA0IDguNzUgNi41IDYgNiJ9XSxbInBhdGgiLHtkOiJNMTAuNTg1IDE1SDEwIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDYuNUwxMCA5In1dLFsicGF0aCIse2Q6Ik0yMCAxNC41NGE0IDQgMCAxIDEtNCAwVjRhMiAyIDAgMCAxIDQgMHoifV0sWyJwYXRoIix7ZDoibTQgMTAgMS41IDJMNCAxNCJ9XSxbInBhdGgiLHtkOiJtNyAyMSAzLTYtMS41LTMifV0sWyJwYXRoIix7ZDoibTcgMyAzIDZoMiJ9XV19KTt2YXIgSE4sSUllPWMoKCk9PntITj1bWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTIgOGE0IDQgMCAwIDAtMS42NDUgNy42NDcifV0sWyJwYXRoIix7ZDoiTTIgMTJoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTQuNTRhNCA0IDAgMSAxLTQgMFY0YTIgMiAwIDAgMSA0IDB6In1dLFsicGF0aCIse2Q6Im00LjkzIDQuOTMgMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Im02LjM0IDE3LjY2LTEuNDEgMS40MSJ9XV19KTt2YXIgcU4sTkllPWMoKCk9PntxTj1bWyJwYXRoIix7ZDoiTTE0IDR2MTAuNTRhNCA0IDAgMSAxLTQgMFY0YTIgMiAwIDAgMSA0IDBaIn1dXX0pO3ZhciBWTixSSWU9YygoKT0+e1ZOPVtbInBhdGgiLHtkOiJNOSAxOC4xMiAxMCAxNEg0LjE3YTIgMiAwIDAgMS0xLjkyLTIuNTZsMi4zMy04QTIgMiAwIDAgMSA2LjUgMkgyMGEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMmgtMi43NmEyIDIgMCAwIDAtMS43OSAxLjExTDEyIDIyYTMuMTMgMy4xMyAwIDAgMS0zLTMuODhaIn1dLFsicGF0aCIse2Q6Ik0xNyAxNFYyIn1dXX0pO3ZhciBqTixGSWU9YygoKT0+e2pOPVtbInBhdGgiLHtkOiJNMTUgNS44OCAxNCAxMGg1LjgzYTIgMiAwIDAgMSAxLjkyIDIuNTZsLTIuMzMgOEEyIDIgMCAwIDEgMTcuNSAyMkg0YTIgMiAwIDAgMS0yLTJ2LThhMiAyIDAgMCAxIDItMmgyLjc2YTIgMiAwIDAgMCAxLjc5LTEuMTFMMTIgMmEzLjEzIDMuMTMgMCAwIDEgMyAzLjg4WiJ9XSxbInBhdGgiLHtkOiJNNyAxMHYxMiJ9XV19KTt2YXIgVU4sT0llPWMoKCk9PntVTj1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAwIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDAgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoibTkgMTIgMiAyIDQtNCJ9XV19KTt2YXIgV04sQkllPWMoKCk9PntXTj1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAwIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDAgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoiTTkgMTJoNiJ9XV19KTt2YXIgR04sSEllPWMoKCk9PntHTj1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAxIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDEgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoiTTkgOWguMDEifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Ik0xNSAxNWguMDEifV1dfSk7dmFyIFlOLHFJZT1jKCgpPT57WU49W1sicGF0aCIse2Q6Ik0yIDlhMyAzIDAgMCAxIDAgNnYyYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtMmEzIDMgMCAwIDEgMC02VjdhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJaIn1dLFsicGF0aCIse2Q6Ik05IDEyaDYifV0sWyJwYXRoIix7ZDoiTTEyIDl2NiJ9XV19KTt2YXIgWk4sVkllPWMoKCk9PntaTj1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAwIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDAgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoibTkuNSAxNC41IDUtNSJ9XV19KTt2YXIgWE4sakllPWMoKCk9PntYTj1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAwIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDAgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoibTkuNSAxNC41IDUtNSJ9XSxbInBhdGgiLHtkOiJtOS41IDkuNSA1IDUifV1dfSk7dmFyIEtOLFVJZT1jKCgpPT57S049W1sicGF0aCIse2Q6Ik0yIDlhMyAzIDAgMCAxIDAgNnYyYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtMmEzIDMgMCAwIDEgMC02VjdhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJaIn1dLFsicGF0aCIse2Q6Ik0xMyA1djIifV0sWyJwYXRoIix7ZDoiTTEzIDE3djIifV0sWyJwYXRoIix7ZDoiTTEzIDExdjIifV1dfSk7dmFyIFFOLFdJZT1jKCgpPT57UU49W1sicGF0aCIse2Q6Ik0xMC41IDE3aDEuMjI3YTIgMiAwIDAgMCAxLjM0NS0uNTJMMTggMTIifV0sWyJwYXRoIix7ZDoibTEyIDEzLjUgMy43OTQuNTA2In1dLFsicGF0aCIse2Q6Im0zLjE3MyA4LjE4IDExLTVhMiAyIDAgMCAxIDIuNjQ3Ljk5M0wxOC41NiA4In1dLFsicGF0aCIse2Q6Ik02IDEwVjgifV0sWyJwYXRoIix7ZDoiTTYgMTR2MSJ9XSxbInBhdGgiLHtkOiJNNiAxOXYyIn1dLFsicmVjdCIse3g6IjIiLHk6IjgiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxMyIscng6IjIifV1dfSk7dmFyIEpOLEdJZT1jKCgpPT57Sk49W1sicGF0aCIse2Q6Im0zLjE3MyA4LjE4IDExLTVhMiAyIDAgMCAxIDIuNjQ3Ljk5M0wxOC41NiA4In1dLFsicGF0aCIse2Q6Ik02IDEwVjgifV0sWyJwYXRoIix7ZDoiTTYgMTR2MSJ9XSxbInBhdGgiLHtkOiJNNiAxOXYyIn1dLFsicmVjdCIse3g6IjIiLHk6IjgiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxMyIscng6IjIifV1dfSk7dmFyIGVSLFlJZT1jKCgpPT57ZVI9W1sicGF0aCIse2Q6Ik0xMCAyaDQifV0sWyJwYXRoIix7ZDoiTTEyIDE0di00In1dLFsicGF0aCIse2Q6Ik00IDEzYTggOCAwIDAgMSA4LTcgOCA4IDAgMSAxLTUuMyAxNEw0IDE3LjYifV0sWyJwYXRoIix7ZDoiTTkgMTdINHY1In1dXX0pO3ZhciB0UixaSWU9YygoKT0+e3RSPVtbInBhdGgiLHtkOiJNMTAgMmg0In1dLFsicGF0aCIse2Q6Ik00LjYgMTFhOCA4IDAgMCAwIDEuNyA4LjcgOCA4IDAgMCAwIDguNyAxLjcifV0sWyJwYXRoIix7ZDoiTTcuNCA3LjRhOCA4IDAgMCAxIDEwLjMgMSA4IDggMCAwIDEgLjkgMTAuMiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0xMiAxMnYtMiJ9XV19KTt2YXIgYVIsWEllPWMoKCk9PnthUj1bWyJsaW5lIix7eDE6IjEwIix4MjoiMTQiLHkxOiIyIix5MjoiMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxNSIseTE6IjE0Iix5MjoiMTEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNCIscjoiOCJ9XV19KTt2YXIgclIsS0llPWMoKCk9PntyUj1bWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjEyIixyOiIzIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiNSIscng6IjcifV1dfSk7dmFyIGlSLFFJZT1jKCgpPT57aVI9W1sicGF0aCIse2Q6Ik03IDEyaDEzYTEgMSAwIDAgMSAxIDEgNSA1IDAgMCAxLTUgNWgtLjU5OGEuNS41IDAgMCAwLS40MjQuNzY1bDEuNTQ0IDIuNDdhLjUuNSAwIDAgMS0uNDI0Ljc2NUg1LjQwMmEuNS41IDAgMCAxLS40MjQtLjc2NUw3IDE4In1dLFsicGF0aCIse2Q6Ik04IDE4YTUgNSAwIDAgMS01LTVWNGEyIDIgMCAwIDEgMi0yaDhhMiAyIDAgMCAxIDIgMnY4In1dXX0pO3ZhciBzUixKSWU9YygoKT0+e3NSPVtbImNpcmNsZSIse2N4OiIxNSIsY3k6IjEyIixyOiIzIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiNSIscng6IjcifV1dfSk7dmFyIG9SLGVOZT1jKCgpPT57b1I9W1sicGF0aCIse2Q6Ik0xMCAxNWg0In1dLFsicGF0aCIse2Q6Im0xNC44MTcgMTAuOTk1LS45NzEtMS40NSAxLjAzNC0xLjIzMmEyIDIgMCAwIDAtMi4wMjUtMy4yMzhsLTEuODIuMzY0TDkuOTEgMy44ODVhMiAyIDAgMCAwLTMuNjI1Ljc0OEw2LjE0MSA2LjU1bC0xLjcyNS40MjZhMiAyIDAgMCAwLS4xOSAzLjc1NmwuNjU3LjI3In1dLFsicGF0aCIse2Q6Im0xOC44MjIgMTAuOTk1IDIuMjYtNS4zOGExIDEgMCAwIDAtLjU1Ny0xLjMxOEwxNi45NTQgMi45YTEgMSAwIDAgMC0xLjI4MS41MzNsLS45MjQgMi4xMjIifV0sWyJwYXRoIix7ZDoiTTQgMTIuMDA2QTEgMSAwIDAgMSA0Ljk5NCAxMUgxOWExIDEgMCAwIDEgMSAxdjdhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJ6In1dXX0pO3ZhciBuUix0TmU9YygoKT0+e25SPVtbInBhdGgiLHtkOiJNMTYgMTJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgNmEyIDIgMCAwIDEgMS40MTQuNTg2bDQgNEEyIDIgMCAwIDEgMjIgMTJ2N2EyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMnYtN2EyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LTRBMiAyIDAgMCAxIDggNnoifV0sWyJwYXRoIix7ZDoiTTE2IDZWNGEyIDIgMCAwIDAtMi0yaC00YTIgMiAwIDAgMC0yIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMiAxNGgyMCJ9XSxbInBhdGgiLHtkOiJNOCAxMnY0In1dXX0pO3ZhciBsUixhTmU9YygoKT0+e2xSPVtbInBhdGgiLHtkOiJNMjEgNEgzIn1dLFsicGF0aCIse2Q6Ik0xOCA4SDYifV0sWyJwYXRoIix7ZDoiTTE5IDEySDkifV0sWyJwYXRoIix7ZDoiTTE2IDE2aC02In1dLFsicGF0aCIse2Q6Ik0xMSAyMEg5In1dXX0pO3ZhciBjUixyTmU9YygoKT0+e2NSPVtbImVsbGlwc2UiLHtjeDoiMTIiLGN5OiIxMSIscng6IjMiLHJ5OiIyIn1dLFsiZWxsaXBzZSIse2N4OiIxMiIsY3k6IjEyLjUiLHJ4OiIxMCIscnk6IjguNSJ9XV19KTt2YXIgZFIsaU5lPWMoKCk9PntkUj1bWyJwYXRoIix7ZDoiTTEyIDIwdi02In1dLFsicGF0aCIse2Q6Ik0xOS42NTYgMTRIMjIifV0sWyJwYXRoIix7ZDoiTTIgMTRoMTIifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjAgMjBINGEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMiJ9XSxbInBhdGgiLHtkOiJNOS42NTYgNEgyMGEyIDIgMCAwIDEgMiAydjEwLjM0NCJ9XV19KTt2YXIgcFIsc05lPWMoKCk9PntwUj1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE2Iix4OiIyIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMiAxNGgyMCJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2LTYifV1dfSk7dmFyIHVSLG9OZT1jKCgpPT57dVI9W1sicGF0aCIse2Q6Ik0yMiA3aC0yIn1dLFsicGF0aCIse2Q6Ik02LjUgM2gxMUEyLjUgMi41IDAgMCAxIDIwIDUuNVYyMGExIDEgMCAwIDEtMSAxaC05YTEgMSAwIDAgMS0xLTFWNS41YTEgMSAwIDAgMC01IDBWMTdhMSAxIDAgMCAwIDEgMWg0In1dLFsicGF0aCIse2Q6Ik05IDdIMiJ9XV19KTt2YXIgZlIsbk5lPWMoKCk9PntmUj1bWyJwYXRoIix7ZDoiTTE4LjIgMTIuMjcgMjAgNkg0bDEuOCA2LjI3YTEgMSAwIDAgMCAuOTUuNzNoMTAuNWExIDEgMCAwIDAgLjk2LS43M1oifV0sWyJwYXRoIix7ZDoiTTggMTN2OSJ9XSxbInBhdGgiLHtkOiJNMTYgMjJ2LTkifV0sWyJwYXRoIix7ZDoibTkgNiAxIDcifV0sWyJwYXRoIix7ZDoibTE1IDYtMSA3In1dLFsicGF0aCIse2Q6Ik0xMiA2VjIifV0sWyJwYXRoIix7ZDoiTTEzIDJoLTIifV1dfSk7dmFyIGhSLGxOZT1jKCgpPT57aFI9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxMiIseDoiMyIseToiOCIscng6IjEifV0sWyJwYXRoIix7ZDoiTTEwIDhWNWMwLS42LS40LTEtMS0xSDZhMSAxIDAgMCAwLTEgMXYzIn1dLFsicGF0aCIse2Q6Ik0xOSA4VjVjMC0uNi0uNC0xLTEtMWgtM2ExIDEgMCAwIDAtMSAxdjMifV1dfSk7dmFyIG1SLGNOZT1jKCgpPT57bVI9W1sicGF0aCIse2Q6Im0xMCAxMSAxMSAuOWExIDEgMCAwIDEgLjggMS4xbC0uNjY1IDQuMTU4YTEgMSAwIDAgMS0uOTg4Ljg0MkgyMCJ9XSxbInBhdGgiLHtkOiJNMTYgMThoLTUifV0sWyJwYXRoIix7ZDoiTTE4IDVhMSAxIDAgMCAwLTEgMXY1LjU3MyJ9XSxbInBhdGgiLHtkOiJNMyA0aDguMTI5YTEgMSAwIDAgMSAuOTkuODYzTDEzIDExLjI0NiJ9XSxbInBhdGgiLHtkOiJNNCAxMVY0In1dLFsicGF0aCIse2Q6Ik03IDE1aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxMC4xVjQifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTUiLHI6IjUifV1dfSk7dmFyIGdSLGROZT1jKCgpPT57Z1I9W1sicGF0aCIse2Q6Ik0xNi4wNSAxMC45NjZhNSAyLjUgMCAwIDEtOC4xIDAifV0sWyJwYXRoIix7ZDoibTE2LjkyMyAxNC4wNDkgNC40OCAyLjA0YTEgMSAwIDAgMSAuMDAxIDEuODMxbC04LjU3NCAzLjlhMiAyIDAgMCAxLTEuNjYgMGwtOC41NzQtMy45MWExIDEgMCAwIDEgMC0xLjgzbDQuNDg0LTIuMDQifV0sWyJwYXRoIix7ZDoiTTE2Ljk0OSAxNC4xNGE1IDIuNSAwIDEgMS05LjkgMEwxMC4wNjMgMy41YTIgMiAwIDAgMSAzLjg3NCAweiJ9XSxbInBhdGgiLHtkOiJNOS4xOTQgNi41N2E1IDIuNSAwIDAgMCA1LjYxIDAifV1dfSk7dmFyIGJSLHBOZT1jKCgpPT57YlI9W1sicGF0aCIse2Q6Ik0yIDIyVjEyYTEwIDEwIDAgMSAxIDIwIDB2MTAifV0sWyJwYXRoIix7ZDoiTTE1IDYuOHYxLjRhMyAyLjggMCAxIDEtNiAwVjYuOCJ9XSxbInBhdGgiLHtkOiJNMTAgMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCAxNWguMDEifV0sWyJwYXRoIix7ZDoiTTEwIDE5YTQgNCAwIDAgMS00LTR2LTNhNiA2IDAgMSAxIDEyIDB2M2E0IDQgMCAwIDEtNCA0WiJ9XSxbInBhdGgiLHtkOiJtOSAxOS0yIDMifV0sWyJwYXRoIix7ZDoibTE1IDE5IDIgMyJ9XV19KTt2YXIgdlIsdU5lPWMoKCk9Pnt2Uj1bWyJwYXRoIix7ZDoiTTggMy4xVjdhNCA0IDAgMCAwIDggMFYzLjEifV0sWyJwYXRoIix7ZDoibTkgMTUtMS0xIn1dLFsicGF0aCIse2Q6Im0xNSAxNSAxLTEifV0sWyJwYXRoIix7ZDoiTTkgMTljLTIuOCAwLTUtMi4yLTUtNXYtNGE4IDggMCAwIDEgMTYgMHY0YzAgMi44LTIuMiA1LTUgNVoifV0sWyJwYXRoIix7ZDoibTggMTktMiAzIn1dLFsicGF0aCIse2Q6Im0xNiAxOSAyIDMifV1dfSk7dmFyIHhSLGZOZT1jKCgpPT57eFI9W1sicGF0aCIse2Q6Ik0yIDE3IDE3IDIifV0sWyJwYXRoIix7ZDoibTIgMTQgOCA4In1dLFsicGF0aCIse2Q6Im01IDExIDggOCJ9XSxbInBhdGgiLHtkOiJtOCA4IDggOCJ9XSxbInBhdGgiLHtkOiJtMTEgNSA4IDgifV0sWyJwYXRoIix7ZDoibTE0IDIgOCA4In1dLFsicGF0aCIse2Q6Ik03IDIyIDIyIDcifV1dfSk7dmFyIFJkLGhOZT1jKCgpPT57UmQ9W1sicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIxNiIseDoiNCIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTFoMTYifV0sWyJwYXRoIix7ZDoiTTEyIDN2OCJ9XSxbInBhdGgiLHtkOiJtOCAxOS0yIDMifV0sWyJwYXRoIix7ZDoibTE4IDIyLTItMyJ9XSxbInBhdGgiLHtkOiJNOCAxNWguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE1aC4wMSJ9XV19KTt2YXIgeVIsbU5lPWMoKCk9Pnt5Uj1bWyJwYXRoIix7ZDoiTTEyIDE2djYifV0sWyJwYXRoIix7ZDoiTTE0IDIwaC00In1dLFsicGF0aCIse2Q6Ik0xOCAyaDR2NCJ9XSxbInBhdGgiLHtkOiJtMiAyIDcuMTcgNy4xNyJ9XSxbInBhdGgiLHtkOiJNMiA1LjM1NVYyaDMuMzU3In1dLFsicGF0aCIse2Q6Im0yMiAyLTcuMTcgNy4xNyJ9XSxbInBhdGgiLHtkOiJNOCA1IDUgOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI0In1dXX0pO3ZhciB3UixnTmU9YygoKT0+e3dSPVtbInBhdGgiLHtkOiJNMTAgMTF2NiJ9XSxbInBhdGgiLHtkOiJNMTQgMTF2NiJ9XSxbInBhdGgiLHtkOiJNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2In1dLFsicGF0aCIse2Q6Ik0zIDZoMTgifV0sWyJwYXRoIix7ZDoiTTggNlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjIifV1dfSk7dmFyIE1SLGJOZT1jKCgpPT57TVI9W1sicGF0aCIse2Q6Ik0xOSA2djE0YTIgMiAwIDAgMS0yIDJIN2EyIDIgMCAwIDEtMi0yVjYifV0sWyJwYXRoIix7ZDoiTTMgNmgxOCJ9XSxbInBhdGgiLHtkOiJNOCA2VjRhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MiJ9XV19KTt2YXIgRmQsdk5lPWMoKCk9PntGZD1bWyJwYXRoIix7ZDoiTTEzIDhjMC0yLjc2LTIuNDYtNS01LjUtNVMyIDUuMjQgMiA4aDJsMS0xIDEgMWg0In1dLFsicGF0aCIse2Q6Ik0xMyA3LjE0QTUuODIgNS44MiAwIDAgMSAxNi41IDZjMy4wNCAwIDUuNSAyLjI0IDUuNSA1aC0zbC0xLTEtMSAxaC0zIn1dLFsicGF0aCIse2Q6Ik01Ljg5IDkuNzFjLTIuMTUgMi4xNS0yLjMgNS40Ny0uMzUgNy40M2w0LjI0LTQuMjUuNy0uNy43MS0uNzEgMi4xMi0yLjEyYy0xLjk1LTEuOTYtNS4yNy0xLjgtNy40Mi4zNSJ9XSxbInBhdGgiLHtkOiJNMTEgMTUuNWMuNSAyLjUtLjE3IDQuNS0xIDYuNWg0YzItNS41LS41LTEyLTEtMTQifV1dfSk7dmFyIGtSLHhOZT1jKCgpPT57a1I9W1sicGF0aCIse2Q6Ik04IDE5YTQgNCAwIDAgMS0yLjI0LTcuMzJBMy41IDMuNSAwIDAgMSA5IDYuMDNWNmEzIDMgMCAxIDEgNiAwdi4wNGEzLjUgMy41IDAgMCAxIDMuMjQgNS42NUE0IDQgMCAwIDEgMTYgMTlaIn1dLFsicGF0aCIse2Q6Ik0xMiAxOXYzIn1dXX0pO3ZhciB6Uix5TmU9YygoKT0+e3pSPVtbInBhdGgiLHtkOiJtMTcgMTQgMyAzLjNhMSAxIDAgMCAxLS43IDEuN0g0LjdhMSAxIDAgMCAxLS43LTEuN0w3IDE0aC0uM2ExIDEgMCAwIDEtLjctMS43TDkgOWgtLjJBMSAxIDAgMCAxIDggNy4zTDEyIDNsNCA0LjNhMSAxIDAgMCAxLS44IDEuN0gxNWwzIDMuM2ExIDEgMCAwIDEtLjcgMS43SDE3WiJ9XSxbInBhdGgiLHtkOiJNMTIgMjJ2LTMifV1dfSk7dmFyIFNSLHdOZT1jKCgpPT57U1I9W1sicGF0aCIse2Q6Ik0xMCAxMHYuMkEzIDMgMCAwIDEgOC45IDE2SDVhMyAzIDAgMCAxLTEtNS44VjEwYTMgMyAwIDAgMSA2IDBaIn1dLFsicGF0aCIse2Q6Ik03IDE2djYifV0sWyJwYXRoIix7ZDoiTTEzIDE5djMifV0sWyJwYXRoIix7ZDoiTTEyIDE5aDguM2ExIDEgMCAwIDAgLjctMS43TDE4IDE0aC4zYTEgMSAwIDAgMCAuNy0xLjdMMTYgOWguMmExIDEgMCAwIDAgLjgtMS43TDEzIDNsLTEuNCAxLjUifV1dfSk7dmFyIENSLE1OZT1jKCgpPT57Q1I9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicmVjdCIse3dpZHRoOiIzIixoZWlnaHQ6IjkiLHg6IjciLHk6IjcifV0sWyJyZWN0Iix7d2lkdGg6IjMiLGhlaWdodDoiNSIseDoiMTQiLHk6IjcifV1dfSk7dmFyIF9SLGtOZT1jKCgpPT57X1I9W1sicGF0aCIse2Q6Ik0xNiAxN2g2di02In1dLFsicGF0aCIse2Q6Im0yMiAxNy04LjUtOC41LTUgNUwyIDcifV1dfSk7dmFyIFRSLHpOZT1jKCgpPT57VFI9W1sicGF0aCIse2Q6Ik0xNC44MjggMTQuODI4IDIxIDIxIn1dLFsicGF0aCIse2Q6Ik0yMSAxNnY1aC01In1dLFsicGF0aCIse2Q6Im0yMSAzLTkgOS00LTQtNiA2In1dLFsicGF0aCIse2Q6Ik0yMSA4VjNoLTUifV1dfSk7dmFyIExSLFNOZT1jKCgpPT57TFI9W1sicGF0aCIse2Q6Ik0xNiA3aDZ2NiJ9XSxbInBhdGgiLHtkOiJtMjIgNy04LjUgOC41LTUtNUwyIDE3In1dXX0pO3ZhciBPZCxDTmU9YygoKT0+e09kPVtbInBhdGgiLHtkOiJtMjEuNzMgMTgtOC0xNGEyIDIgMCAwIDAtMy40OCAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTMifV0sWyJwYXRoIix7ZDoiTTEyIDl2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMTdoLjAxIn1dXX0pO3ZhciAkUixfTmU9YygoKT0+eyRSPVtbInBhdGgiLHtkOiJNMTAuMTcgNC4xOTNhMiAyIDAgMCAxIDMuNjY2LjAxMyJ9XSxbInBhdGgiLHtkOiJNMTQgMjFoMiJ9XSxbInBhdGgiLHtkOiJtMTUuODc0IDcuNzQzIDEgMS43MzIifV0sWyJwYXRoIix7ZDoibTE4Ljg0OSAxMi45NTIgMSAxLjczMiJ9XSxbInBhdGgiLHtkOiJNMjEuODI0IDE4LjE4YTIgMiAwIDAgMS0xLjgzNSAyLjgyNCJ9XSxbInBhdGgiLHtkOiJNNC4wMjQgMjFhMiAyIDAgMCAxLTEuODM5LTIuODM5In1dLFsicGF0aCIse2Q6Im01LjEzNiAxMi45NTItMSAxLjczMiJ9XSxbInBhdGgiLHtkOiJNOCAyMWgyIn1dLFsicGF0aCIse2Q6Im04LjEwMiA3Ljc0My0xIDEuNzMyIn1dXX0pO3ZhciBEUixUTmU9YygoKT0+e0RSPVtbInBhdGgiLHtkOiJNMjIgMThhMiAyIDAgMCAxLTIgMkgzYy0xLjEgMC0xLjMtLjYtLjQtMS4zTDIwLjQgNC4zYy45LS43IDEuNi0uNCAxLjYuN1oifV1dfSk7dmFyIEFSLExOZT1jKCgpPT57QVI9W1sicGF0aCIse2Q6Ik0xMy43MyA0YTIgMiAwIDAgMC0zLjQ2IDBsLTggMTRBMiAyIDAgMCAwIDQgMjFoMTZhMiAyIDAgMCAwIDEuNzMtM1oifV1dfSk7dmFyIFBSLCROZT1jKCgpPT57UFI9W1sicGF0aCIse2Q6Ik0xMCAxNC42NnYxLjYyNmEyIDIgMCAwIDEtLjk3NiAxLjY5NkE1IDUgMCAwIDAgNyAyMS45NzgifV0sWyJwYXRoIix7ZDoiTTE0IDE0LjY2djEuNjI2YTIgMiAwIDAgMCAuOTc2IDEuNjk2QTUgNSAwIDAgMSAxNyAyMS45NzgifV0sWyJwYXRoIix7ZDoiTTE4IDloMS41YTEgMSAwIDAgMCAwLTVIMTgifV0sWyJwYXRoIix7ZDoiTTQgMjJoMTYifV0sWyJwYXRoIix7ZDoiTTYgOWE2IDYgMCAwIDAgMTIgMFYzYTEgMSAwIDAgMC0xLTFIN2ExIDEgMCAwIDAtMSAxeiJ9XSxbInBhdGgiLHtkOiJNNiA5SDQuNWExIDEgMCAwIDEgMC01SDYifV1dfSk7dmFyIEVSLEROZT1jKCgpPT57RVI9W1sicGF0aCIse2Q6Ik0xNCAxOVY3YTIgMiAwIDAgMC0yLTJIOSJ9XSxbInBhdGgiLHtkOiJNMTUgMTlIOSJ9XSxbInBhdGgiLHtkOiJNMTkgMTloMmExIDEgMCAwIDAgMS0xdi0zLjY1YTEgMSAwIDAgMC0uMjItLjYyTDE4LjMgOS4zOGExIDEgMCAwIDAtLjc4LS4zOEgxNCJ9XSxbInBhdGgiLHtkOiJNMiAxM3Y1YTEgMSAwIDAgMCAxIDFoMiJ9XSxbInBhdGgiLHtkOiJNNCAzIDIuMTUgNS4xNWEuNDk1LjQ5NSAwIDAgMCAuMzUuODZoMi4xNWEuNDcuNDcgMCAwIDEgLjM1Ljg2TDMgOS4wMiJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE5IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiIxOSIscjoiMiJ9XV19KTt2YXIgSVIsQU5lPWMoKCk9PntJUj1bWyJwYXRoIix7ZDoiTTE0IDE4VjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTFhMSAxIDAgMCAwIDEgMWgyIn1dLFsicGF0aCIse2Q6Ik0xNSAxOEg5In1dLFsicGF0aCIse2Q6Ik0xOSAxOGgyYTEgMSAwIDAgMCAxLTF2LTMuNjVhMSAxIDAgMCAwLS4yMi0uNjI0bC0zLjQ4LTQuMzVBMSAxIDAgMCAwIDE3LjUyIDhIMTQifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxOCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTgiLHI6IjIifV1dfSk7dmFyIE5SLFBOZT1jKCgpPT57TlI9W1sicGF0aCIse2Q6Ik0xNSA0IDUgOSJ9XSxbInBhdGgiLHtkOiJtMTUgOC41LTEwIDUifV0sWyJwYXRoIix7ZDoiTTE4IDEyYTkgOSAwIDAgMS05IDlWMyJ9XV19KTt2YXIgUlIsRU5lPWMoKCk9PntSUj1bWyJwYXRoIix7ZDoiTTEwIDEyLjAxaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggOHY0YTggOCAwIDAgMS0xLjA3IDQifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiIxMiIscjoiNCJ9XSxbInJlY3QiLHt4OiIyIix5OiI0Iix3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHJ4OiIyIn1dXX0pO3ZhciBGUixJTmU9YygoKT0+e0ZSPVtbInBhdGgiLHtkOiJtMTIgMTAgMiA0djNhMSAxIDAgMCAwIDEgMWgyYTEgMSAwIDAgMCAxLTF2LTNhOCA4IDAgMSAwLTE2IDB2M2ExIDEgMCAwIDAgMSAxaDJhMSAxIDAgMCAwIDEtMXYtM2wyLTRoNFoifV0sWyJwYXRoIix7ZDoiTTQuODIgNy45IDggMTAifV0sWyJwYXRoIix7ZDoiTTE1LjE4IDcuOSAxMiAxMCJ9XSxbInBhdGgiLHtkOiJNMTYuOTMgMTBIMjBhMiAyIDAgMCAxIDAgNEgyIn1dXX0pO3ZhciBPUixOTmU9YygoKT0+e09SPVtbInBhdGgiLHtkOiJNMTUuMDMzIDkuNDRhLjY0Ny42NDcgMCAwIDEgMCAxLjEybC00LjA2NSAyLjM1MmEuNjQ1LjY0NSAwIDAgMS0uOTY4LS41NlY3LjY0OGEuNjQ1LjY0NSAwIDAgMSAuOTY3LS41NnoifV0sWyJwYXRoIix7ZDoiTTcgMjFoMTAifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiIzIixyeDoiMiJ9XV19KTt2YXIgQmQsUk5lPWMoKCk9PntCZD1bWyJwYXRoIix7ZDoiTTcgMjFoMTAifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiIzIixyeDoiMiJ9XV19KTt2YXIgQlIsRk5lPWMoKCk9PntCUj1bWyJwYXRoIix7ZDoibTE3IDItNSA1LTUtNSJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTUiLHg6IjIiLHk6IjciLHJ4OiIyIn1dXX0pO3ZhciBIUixPTmU9YygoKT0+e0hSPVtbInBhdGgiLHtkOiJNMjEgMkgzdjE2aDV2NGw0LTRoNWw0LTRWMnptLTEwIDlWN201IDRWNyJ9XV19KTt2YXIgcVIsQk5lPWMoKCk9PntxUj1bWyJwYXRoIix7ZDoiTTIyIDRzLS43IDIuMS0yIDMuNGMxLjYgMTAtOS40IDE3LjMtMTggMTEuNiAyLjIuMSA0LjQtLjYgNi0yQzMgMTUuNS41IDkuNiAzIDVjMi4yIDIuNiA1LjYgNC4xIDkgNC0uOS00LjIgNC02LjYgNy0zLjggMS4xIDAgMy0xLjIgMy0xLjJ6In1dXX0pO3ZhciBWUixITmU9YygoKT0+e1ZSPVtbInBhdGgiLHtkOiJNMTQgMTYuNWEuNS41IDAgMCAwIC41LjVoLjVhMiAyIDAgMCAxIDAgNEg5YTIgMiAwIDAgMSAwLTRoLjVhLjUuNSAwIDAgMCAuNS0uNXYtOWEuNS41IDAgMCAwLS41LS41aC0zYS41LjUgMCAwIDAtLjUuNVY4YTIgMiAwIDAgMS00IDBWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtNCAwdi0uNWEuNS41IDAgMCAwLS41LS41aC0zYS41LjUgMCAwIDAtLjUuNVoifV1dfSk7dmFyIGpSLHFOZT1jKCgpPT57alI9W1sicGF0aCIse2Q6Ik0xMiA0djE2In1dLFsicGF0aCIse2Q6Ik00IDdWNWExIDEgMCAwIDEgMS0xaDE0YTEgMSAwIDAgMSAxIDF2MiJ9XSxbInBhdGgiLHtkOiJNOSAyMGg2In1dXX0pO3ZhciBVUixWTmU9YygoKT0+e1VSPVtbInBhdGgiLHtkOiJNMTIgMTN2N2EyIDIgMCAwIDAgNCAwIn1dLFsicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoiTTIwLjk5MiAxM2ExIDEgMCAwIDAgLjk3LTEuMjc0IDEwLjI4NCAxMC4yODQgMCAwIDAtMTkuOTIzIDBBMSAxIDAgMCAwIDMgMTN6In1dXX0pO3ZhciBXUixqTmU9YygoKT0+e1dSPVtbInBhdGgiLHtkOiJNMTIgMTN2N2EyIDIgMCAwIDAgNCAwIn1dLFsicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoiTTE4LjY1NiAxM2gyLjMzNmExIDEgMCAwIDAgLjk3LTEuMjc0IDEwLjI4NCAxMC4yODQgMCAwIDAtMTIuMDctNy41MSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik01Ljk2MSA1Ljk1N2ExMC4yOCAxMC4yOCAwIDAgMC0zLjkyMiA1Ljc2OUExIDEgMCAwIDAgMyAxM2gxMCJ9XV19KTt2YXIgR1IsVU5lPWMoKCk9PntHUj1bWyJwYXRoIix7ZDoiTTYgNHY2YTYgNiAwIDAgMCAxMiAwVjQifV0sWyJsaW5lIix7eDE6IjQiLHgyOiIyMCIseTE6IjIwIix5MjoiMjAifV1dfSk7dmFyIFlSLFdOZT1jKCgpPT57WVI9W1sicGF0aCIse2Q6Ik05IDE0IDQgOWw1LTUifV0sWyJwYXRoIix7ZDoiTTQgOWgxMC41YTUuNSA1LjUgMCAwIDEgNS41IDUuNWE1LjUgNS41IDAgMCAxLTUuNSA1LjVIMTEifV1dfSk7dmFyIFpSLEdOZT1jKCgpPT57WlI9W1sicGF0aCIse2Q6Ik0yMSAxN2E5IDkgMCAwIDAtMTUtNi43TDMgMTMifV0sWyJwYXRoIix7ZDoiTTMgN3Y2aDYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNyIscjoiMSJ9XV19KTt2YXIgWFIsWU5lPWMoKCk9PntYUj1bWyJwYXRoIix7ZDoiTTMgN3Y2aDYifV0sWyJwYXRoIix7ZDoiTTIxIDE3YTkgOSAwIDAgMC05LTkgOSA5IDAgMCAwLTYgMi4zTDMgMTMifV1dfSk7dmFyIEtSLFpOZT1jKCgpPT57S1I9W1sicGF0aCIse2Q6Ik0xNiAxMmg2In1dLFsicGF0aCIse2Q6Ik04IDEySDIifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTIgOHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAxNHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAyMHYyIn1dLFsicGF0aCIse2Q6Im0xOSAxNSAzLTMtMy0zIn1dLFsicGF0aCIse2Q6Im01IDktMyAzIDMgMyJ9XV19KTt2YXIgUVIsWE5lPWMoKCk9PntRUj1bWyJwYXRoIix7ZDoiTTEyIDIydi02In1dLFsicGF0aCIse2Q6Ik0xMiA4VjIifV0sWyJwYXRoIix7ZDoiTTQgMTJIMiJ9XSxbInBhdGgiLHtkOiJNMTAgMTJIOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLTIifV0sWyJwYXRoIix7ZDoiTTIyIDEyaC0yIn1dLFsicGF0aCIse2Q6Im0xNSAxOS0zIDMtMy0zIn1dLFsicGF0aCIse2Q6Im0xNSA1LTMtMy0zIDMifV1dfSk7dmFyIEpSLEtOZT1jKCgpPT57SlI9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjYiLHg6IjUiLHk6IjQiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjYiLHg6IjExIix5OiIxNCIscng6IjEifV1dfSk7dmFyIEhkLFFOZT1jKCgpPT57SGQ9W1sicGF0aCIse2Q6Ik0xNCAyMXYtM2EyIDIgMCAwIDAtNCAwdjMifV0sWyJwYXRoIix7ZDoiTTE4IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMiA3YTEgMSAwIDAgMC0xLTFoLTJhMiAyIDAgMCAxLTEuMTQzLS4zNTlMMTMuMTQzIDIuMzZhMiAyIDAgMCAwLTIuMjg2LS4wMDFMNi4xNDMgNS42NEEyIDIgMCAwIDEgNSA2SDNhMSAxIDAgMCAwLTEgMXYxMmEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ6In1dLFsicGF0aCIse2Q6Ik02IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNNiAxNmguMDEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMiJ9XV19KTt2YXIgZUYsSk5lPWMoKCk9PntlRj1bWyJwYXRoIix7ZDoibTE4Ljg0IDEyLjI1IDEuNzItMS43MWgtLjAyYTUuMDA0IDUuMDA0IDAgMCAwLS4xMi03LjA3IDUuMDA2IDUuMDA2IDAgMCAwLTYuOTUgMGwtMS43MiAxLjcxIn1dLFsicGF0aCIse2Q6Im01LjE3IDExLjc1LTEuNzEgMS43MWE1LjAwNCA1LjAwNCAwIDAgMCAuMTIgNy4wNyA1LjAwNiA1LjAwNiAwIDAgMCA2Ljk1IDBsMS43MS0xLjcxIn1dLFsibGluZSIse3gxOiI4Iix4MjoiOCIseTE6IjIiLHkyOiI1In1dLFsibGluZSIse3gxOiIyIix4MjoiNSIseTE6IjgiLHkyOiI4In1dLFsibGluZSIse3gxOiIxNiIseDI6IjE2Iix5MToiMTkiLHkyOiIyMiJ9XSxbImxpbmUiLHt4MToiMTkiLHgyOiIyMiIseTE6IjE2Iix5MjoiMTYifV1dfSk7dmFyIHRGLGVSZT1jKCgpPT57dEY9W1sicGF0aCIse2Q6Im0xOSA1IDMtMyJ9XSxbInBhdGgiLHtkOiJtMiAyMiAzLTMifV0sWyJwYXRoIix7ZDoiTTYuMyAyMC4zYTIuNCAyLjQgMCAwIDAgMy40IDBMMTIgMThsLTYtNi0yLjMgMi4zYTIuNCAyLjQgMCAwIDAgMCAzLjRaIn1dLFsicGF0aCIse2Q6Ik03LjUgMTMuNSAxMCAxMSJ9XSxbInBhdGgiLHtkOiJNMTAuNSAxNi41IDEzIDE0In1dLFsicGF0aCIse2Q6Im0xMiA2IDYgNiAyLjMtMi4zYTIuNCAyLjQgMCAwIDAgMC0zLjRsLTIuNi0yLjZhMi40IDIuNCAwIDAgMC0zLjQgMFoifV1dfSk7dmFyIGFGLHRSZT1jKCgpPT57YUY9W1sicGF0aCIse2Q6Ik0xNSA3aDJhNSA1IDAgMCAxIDAgMTBoLTJtLTYgMEg3QTUgNSAwIDAgMSA3IDdoMiJ9XV19KTt2YXIgckYsYVJlPWMoKCk9PntyRj1bWyJwYXRoIix7ZDoiTTEyIDN2MTIifV0sWyJwYXRoIix7ZDoibTE3IDgtNS01LTUgNSJ9XSxbInBhdGgiLHtkOiJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCJ9XV19KTt2YXIgaUYsclJlPWMoKCk9PntpRj1bWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI3IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiIyMCIscjoiMSJ9XSxbInBhdGgiLHtkOiJNNC43IDE5LjMgMTkgNSJ9XSxbInBhdGgiLHtkOiJtMjEgMy0zIDEgMiAyWiJ9XSxbInBhdGgiLHtkOiJNOS4yNiA3LjY4IDUgMTJsMiA1In1dLFsicGF0aCIse2Q6Im0xMCAxNCA1IDIgMy41LTMuNSJ9XSxbInBhdGgiLHtkOiJtMTggMTIgMS0xIDEgMS0xIDFaIn1dXX0pO3ZhciBzRixpUmU9YygoKT0+e3NGPVtbInBhdGgiLHtkOiJtMTYgMTEgMiAyIDQtNCJ9XSxbInBhdGgiLHtkOiJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiNyIscjoiNCJ9XV19KTt2YXIgb0Ysc1JlPWMoKCk9PntvRj1bWyJwYXRoIix7ZDoiTTEwIDE1SDZhNCA0IDAgMCAwLTQgNHYyIn1dLFsicGF0aCIse2Q6Im0xNC4zMDUgMTYuNTMuOTIzLS4zODIifV0sWyJwYXRoIix7ZDoibTE1LjIyOCAxMy44NTItLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0xNi44NTIgMTIuMjI4LS4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDE3Ljc3Mi0uMzgzLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTkuMTQ4IDEyLjIyOC4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTkuNTMgMTguNjk2LS4zODItLjkyNCJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDEzLjg1Mi45MjQtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE2LjE0OC45MjQuMzgzIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTUiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjciLHI6IjQifV1dfSk7dmFyIG5GLG9SZT1jKCgpPT57bkY9W1sicGF0aCIse2Q6Ik0yMCAxMXY2In1dLFsicGF0aCIse2Q6Ik0yMCAxM2gyIn1dLFsicGF0aCIse2Q6Ik0zIDIxdi0yYTQgNCAwIDAgMSA0LTRoNmE0IDQgMCAwIDEgMi4wNzIuNTc4In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiNyIscjoiNCJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjE5IixyOiIyIn1dXX0pO3ZhciBsRixuUmU9YygoKT0+e2xGPVtbInBhdGgiLHtkOiJNMTkgMTZ2LTJhMiAyIDAgMCAwLTQgMHYyIn1dLFsicGF0aCIse2Q6Ik05LjUgMTVIN2E0IDQgMCAwIDAtNCA0djIifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI3IixyOiI0In1dLFsicmVjdCIse3g6IjEzIix5OiIxNiIsd2lkdGg6IjgiLGhlaWdodDoiNSIscng6Ii44OTkifV1dfSk7dmFyIGNGLGxSZT1jKCgpPT57Y0Y9W1sicGF0aCIse2Q6Ik0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHYyIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI3IixyOiI0In1dLFsibGluZSIse3gxOiIyMiIseDI6IjE2Iix5MToiMTEiLHkyOiIxMSJ9XV19KTt2YXIgZEYsY1JlPWMoKCk9PntkRj1bWyJwYXRoIix7ZDoiTTE2IDIxdi0yYTQgNCAwIDAgMC00LTRINmE0IDQgMCAwIDAtNCA0djIifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjciLHI6IjQifV0sWyJsaW5lIix7eDE6IjE5Iix4MjoiMTkiLHkxOiI4Iix5MjoiMTQifV0sWyJsaW5lIix7eDE6IjIyIix4MjoiMTYiLHkxOiIxMSIseTI6IjExIn1dXX0pO3ZhciBwRixkUmU9YygoKT0+e3BGPVtbInBhdGgiLHtkOiJNMTEuNSAxNUg3YTQgNCAwIDAgMC00IDR2MiJ9XSxbInBhdGgiLHtkOiJNMjEuMzc4IDE2LjYyNmExIDEgMCAwIDAtMy4wMDQtMy4wMDRsLTQuMDEgNC4wMTJhMiAyIDAgMCAwLS41MDYuODU0bC0uODM3IDIuODdhLjUuNSAwIDAgMCAuNjIuNjJsMi44Ny0uODM3YTIgMiAwIDAgMCAuODU0LS41MDZ6In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiNyIscjoiNCJ9XV19KTt2YXIgcWQscFJlPWMoKCk9PntxZD1bWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDEzLjI5Mi02In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJtMTYgMTkgMiAyIDQtNCJ9XV19KTt2YXIgVmQsdVJlPWMoKCk9PntWZD1bWyJwYXRoIix7ZDoibTE0LjMwNSAxOS41My45MjMtLjM4MiJ9XSxbInBhdGgiLHtkOiJtMTUuMjI4IDE2Ljg1Mi0uOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAxNS4yMjgtLjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xNi44NTIgMjAuNzcyLS4zODMuOTI0In1dLFsicGF0aCIse2Q6Im0xOS4xNDggMTUuMjI4LjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xOS41MyAyMS42OTYtLjM4Mi0uOTI0In1dLFsicGF0aCIse2Q6Ik0yIDIxYTggOCAwIDAgMSAxMC40MzQtNy42MiJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE2Ljg1Mi45MjQtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE5LjE0OC45MjQuMzgzIn1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciB1RixmUmU9YygoKT0+e3VGPVtbInBhdGgiLHtkOiJNMTkgMTF2NiJ9XSxbInBhdGgiLHtkOiJNMTkgMTNoMiJ9XSxbInBhdGgiLHtkOiJNMiAyMWE4IDggMCAwIDEgMTIuODY4LTYuMzQ5In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE5IixyOiIyIn1dXX0pO3ZhciBqZCxoUmU9YygoKT0+e2pkPVtbInBhdGgiLHtkOiJNMiAyMWE4IDggMCAwIDEgMTMuMjkyLTYifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI4IixyOiI1In1dLFsicGF0aCIse2Q6Ik0yMiAxOWgtNiJ9XV19KTt2YXIgZkYsbVJlPWMoKCk9PntmRj1bWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDEwLjgyMS03LjQ4NyJ9XSxbInBhdGgiLHtkOiJNMjEuMzc4IDE2LjYyNmExIDEgMCAwIDAtMy4wMDQtMy4wMDRsLTQuMDEgNC4wMTJhMiAyIDAgMCAwLS41MDYuODU0bC0uODM3IDIuODdhLjUuNSAwIDAgMCAuNjIuNjJsMi44Ny0uODM3YTIgMiAwIDAgMCAuODU0LS41MDZ6In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XV19KTt2YXIgVWQsZ1JlPWMoKCk9PntVZD1bWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDEzLjI5Mi02In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJNMTkgMTZ2NiJ9XSxbInBhdGgiLHtkOiJNMjIgMTloLTYifV1dfSk7dmFyIGhGLGJSZT1jKCgpPT57aEY9W1siY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJNMiAyMWE4IDggMCAwIDEgMTAuNDM0LTcuNjIifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XSxbInBhdGgiLHtkOiJtMjIgMjItMS45LTEuOSJ9XV19KTt2YXIgV2QsdlJlPWMoKCk9PntXZD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI4IixyOiI1In1dLFsicGF0aCIse2Q6Ik0yMCAyMWE4IDggMCAwIDAtMTYgMCJ9XV19KTt2YXIgR2QseFJlPWMoKCk9PntHZD1bWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDExLjg3My03In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJtMTcgMTcgNSA1In1dLFsicGF0aCIse2Q6Im0yMiAxNy01IDUifV1dfSk7dmFyIG1GLHlSZT1jKCgpPT57bUY9W1siY2lyY2xlIix7Y3g6IjEwIixjeToiNyIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTAuMyAxNUg3YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE3IixyOiIzIn1dLFsicGF0aCIse2Q6Im0yMSAyMS0xLjktMS45In1dXX0pO3ZhciBnRix3UmU9YygoKT0+e2dGPVtbInBhdGgiLHtkOiJNMTYuMDUxIDEyLjYxNmExIDEgMCAwIDEgMS45MDkuMDI0bC43MzcgMS40NTJhMSAxIDAgMCAwIC43MzcuNTM1bDEuNjM0LjI1NmExIDEgMCAwIDEgLjU4OCAxLjgwNmwtMS4xNzIgMS4xNjhhMSAxIDAgMCAwLS4yODIuODY2bC4yNTkgMS42MTNhMSAxIDAgMCAxLTEuNTQxIDEuMTM0bC0xLjQ2NS0uNzVhMSAxIDAgMCAwLS45MTIgMGwtMS40NjUuNzVhMSAxIDAgMCAxLTEuNTM5LTEuMTMzbC4yNTgtMS42MTNhMSAxIDAgMCAwLS4yODItLjg2NmwtMS4xNTYtMS4xNTNhMSAxIDAgMCAxIC41NzItMS44MjJsMS42MzMtLjI1NmExIDEgMCAwIDAgLjczNy0uNTM1eiJ9XSxbInBhdGgiLHtkOiJNOCAxNUg3YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjciLHI6IjQifV1dfSk7dmFyIGJGLE1SZT1jKCgpPT57YkY9W1sicGF0aCIse2Q6Ik0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHYyIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI3IixyOiI0In1dLFsibGluZSIse3gxOiIxNyIseDI6IjIyIix5MToiOCIseTI6IjEzIn1dLFsibGluZSIse3gxOiIyMiIseDI6IjE3Iix5MToiOCIseTI6IjEzIn1dXX0pO3ZhciB2RixrUmU9YygoKT0+e3ZGPVtbInBhdGgiLHtkOiJNMTkgMjF2LTJhNCA0IDAgMCAwLTQtNEg5YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjciLHI6IjQifV1dfSk7dmFyIFlkLHpSZT1jKCgpPT57WWQ9W1sicGF0aCIse2Q6Ik0xOCAyMWE4IDggMCAwIDAtMTYgMCJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjgiLHI6IjUifV0sWyJwYXRoIix7ZDoiTTIyIDIwYzAtMy4zNy0yLTYuNS00LThhNSA1IDAgMCAwLS40NS04LjMifV1dfSk7dmFyIFpkLFNSZT1jKCgpPT57WmQ9W1sicGF0aCIse2Q6Im0xNiAyLTIuMyAyLjNhMyAzIDAgMCAwIDAgNC4ybDEuOCAxLjhhMyAzIDAgMCAwIDQuMiAwTDIyIDgifV0sWyJwYXRoIix7ZDoiTTE1IDE1IDMuMyAzLjNhNC4yIDQuMiAwIDAgMCAwIDZsNy4zIDcuM2MuNy43IDIgLjcgMi44IDBMMTUgMTVabTAgMCA3IDcifV0sWyJwYXRoIix7ZDoibTIuMSAyMS44IDYuNC02LjMifV0sWyJwYXRoIix7ZDoibTE5IDUtNyA3In1dXX0pO3ZhciB4RixDUmU9YygoKT0+e3hGPVtbInBhdGgiLHtkOiJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiJ9XSxbInBhdGgiLHtkOiJNMTYgMy4xMjhhNCA0IDAgMCAxIDAgNy43NDQifV0sWyJwYXRoIix7ZDoiTTIyIDIxdi0yYTQgNCAwIDAgMC0zLTMuODcifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjciLHI6IjQifV1dfSk7dmFyIHlGLF9SZT1jKCgpPT57eUY9W1sicGF0aCIse2Q6Ik0xMiAydjIwIn1dLFsicGF0aCIse2Q6Ik0yIDVoMjAifV0sWyJwYXRoIix7ZDoiTTMgM3YyIn1dLFsicGF0aCIse2Q6Ik03IDN2MiJ9XSxbInBhdGgiLHtkOiJNMTcgM3YyIn1dLFsicGF0aCIse2Q6Ik0yMSAzdjIifV0sWyJwYXRoIix7ZDoibTE5IDUtNyA3LTctNyJ9XV19KTt2YXIgWGQsVFJlPWMoKCk9PntYZD1bWyJwYXRoIix7ZDoiTTMgMnY3YzAgMS4xLjkgMiAyIDJoNGEyIDIgMCAwIDAgMi0yVjIifV0sWyJwYXRoIix7ZDoiTTcgMnYyMCJ9XSxbInBhdGgiLHtkOiJNMjEgMTVWMmE1IDUgMCAwIDAtNSA1djZjMCAxLjEuOSAyIDIgMmgzWm0wIDB2NyJ9XV19KTt2YXIgd0YsTFJlPWMoKCk9Pnt3Rj1bWyJwYXRoIix7ZDoiTTEzIDZ2NWExIDEgMCAwIDAgMSAxaDYuMTAyYTEgMSAwIDAgMSAuNzEyLjI5OGwuODk4LjkxYTEgMSAwIDAgMSAuMjg4LjcwMlYxN2ExIDEgMCAwIDEtMSAxaC0zIn1dLFsicGF0aCIse2Q6Ik01IDE4SDNhMSAxIDAgMCAxLTEtMVY4YTIgMiAwIDAgMSAyLTJoMTJjMS4xIDAgMi4xLjggMi40IDEuOGwxLjE3NiA0LjIifV0sWyJwYXRoIix7ZDoiTTkgMThoNSJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjE4IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiIxOCIscjoiMiJ9XV19KTt2YXIgTUYsJFJlPWMoKCk9PntNRj1bWyJwYXRoIix7ZDoiTTggMjFzLTQtMy00LTkgNC05IDQtOSJ9XSxbInBhdGgiLHtkOiJNMTYgM3M0IDMgNCA5LTQgOS00IDkifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiOSIseTE6IjkiLHkyOiIxNSJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjE1Iix5MToiOSIseTI6IjE1In1dXX0pO3ZhciBrRixEUmU9YygoKT0+e2tGPVtbInBhdGgiLHtkOiJNMTkuNSA3YTI0IDI0IDAgMCAxIDAgMTAifV0sWyJwYXRoIix7ZDoiTTQuNSA3YTI0IDI0IDAgMCAwIDAgMTAifV0sWyJwYXRoIix7ZDoiTTcgMTkuNWEyNCAyNCAwIDAgMCAxMCAwIn1dLFsicGF0aCIse2Q6Ik03IDQuNWEyNCAyNCAwIDAgMSAxMCAwIn1dLFsicmVjdCIse3g6IjE3Iix5OiIxNyIsd2lkdGg6IjUiLGhlaWdodDoiNSIscng6IjEifV0sWyJyZWN0Iix7eDoiMTciLHk6IjIiLHdpZHRoOiI1IixoZWlnaHQ6IjUiLHJ4OiIxIn1dLFsicmVjdCIse3g6IjIiLHk6IjE3Iix3aWR0aDoiNSIsaGVpZ2h0OiI1IixyeDoiMSJ9XSxbInJlY3QiLHt4OiIyIix5OiIyIix3aWR0aDoiNSIsaGVpZ2h0OiI1IixyeDoiMSJ9XV19KTt2YXIgekYsQVJlPWMoKCk9Pnt6Rj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiI3LjUiLGN5OiI3LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJwYXRoIix7ZDoibTcuOSA3LjkgMi43IDIuNyJ9XSxbImNpcmNsZSIse2N4OiIxNi41IixjeToiNy41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsicGF0aCIse2Q6Im0xMy40IDEwLjYgMi43LTIuNyJ9XSxbImNpcmNsZSIse2N4OiI3LjUiLGN5OiIxNi41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsicGF0aCIse2Q6Im03LjkgMTYuMSAyLjctMi43In1dLFsiY2lyY2xlIix7Y3g6IjE2LjUiLGN5OiIxNi41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsicGF0aCIse2Q6Im0xMy40IDEzLjQgMi43IDIuNyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dXX0pO3ZhciBTRixQUmU9YygoKT0+e1NGPVtbInBhdGgiLHtkOiJNMTYgOHE2IDAgNi02LTYgMC02IDYifV0sWyJwYXRoIix7ZDoiTTE3LjQxIDMuNTlhMTAgMTAgMCAxIDAgMyAzIn1dLFsicGF0aCIse2Q6Ik0yIDJhMjYuNiAyNi42IDAgMCAxIDEwIDIwYy45LTYuODIgMS41LTkuNSA0LTE0In1dXX0pO3ZhciBDRixFUmU9YygoKT0+e0NGPVtbInBhdGgiLHtkOiJNMTggMTFjLTEuNSAwLTIuNS41LTMgMiJ9XSxbInBhdGgiLHtkOiJNNCA2YTIgMiAwIDAgMC0yIDJ2NGE1IDUgMCAwIDAgNSA1IDggOCAwIDAgMSA1IDIgOCA4IDAgMCAxIDUtMiA1IDUgMCAwIDAgNS01VjhhMiAyIDAgMCAwLTItMmgtM2E4IDggMCAwIDAtNSAyIDggOCAwIDAgMC01LTJ6In1dLFsicGF0aCIse2Q6Ik02IDExYzEuNSAwIDIuNS41IDMgMiJ9XV19KTt2YXIgX0YsSVJlPWMoKCk9PntfRj1bWyJwYXRoIix7ZDoiTTEwIDIwaDQifV0sWyJwYXRoIix7ZDoiTTEyIDE2djYifV0sWyJwYXRoIix7ZDoiTTE3IDJoNHY0In1dLFsicGF0aCIse2Q6Im0yMSAyLTUuNDYgNS40NiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjExIixyOiI1In1dXX0pO3ZhciBURixOUmU9YygoKT0+e1RGPVtbInBhdGgiLHtkOiJNMTIgMTV2NyJ9XSxbInBhdGgiLHtkOiJNOSAxOWg2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiOSIscjoiNiJ9XV19KTt2YXIgTEYsUlJlPWMoKCk9PntMRj1bWyJwYXRoIix7ZDoibTIgOCAyIDItMiAyIDIgMi0yIDIifV0sWyJwYXRoIix7ZDoibTIyIDgtMiAyIDIgMi0yIDIgMiAyIn1dLFsicGF0aCIse2Q6Ik04IDh2MTBjMCAuNTUuNDUgMSAxIDFoNmMuNTUgMCAxLS40NSAxLTF2LTIifV0sWyJwYXRoIix7ZDoiTTE2IDEwLjM0VjZjMC0uNTUtLjQ1LTEtMS0xaC00LjM0In1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV1dfSk7dmFyICRGLEZSZT1jKCgpPT57JEY9W1sicGF0aCIse2Q6Im0yIDggMiAyLTIgMiAyIDItMiAyIn1dLFsicGF0aCIse2Q6Im0yMiA4LTIgMiAyIDItMiAyIDIgMiJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiIxNCIseDoiOCIseToiNSIscng6IjEifV1dfSk7dmFyIERGLE9SZT1jKCgpPT57REY9W1sicGF0aCIse2Q6Ik0xMC42NiA2SDE0YTIgMiAwIDAgMSAyIDJ2Mi41bDUuMjQ4LTMuMDYyQS41LjUgMCAwIDEgMjIgNy44N3Y4LjE5NiJ9XSxbInBhdGgiLHtkOiJNMTYgMTZhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgQUYsQlJlPWMoKCk9PntBRj1bWyJwYXRoIix7ZDoibTE2IDEzIDUuMjIzIDMuNDgyYS41LjUgMCAwIDAgLjc3Ny0uNDE2VjcuODdhLjUuNSAwIDAgMC0uNzUyLS40MzJMMTYgMTAuNSJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMTQiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciBQRixIUmU9YygoKT0+e1BGPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDhoMjAifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjE0IixyOiIyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNCIscjoiMiJ9XV19KTt2YXIgRUYscVJlPWMoKCk9PntFRj1bWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJwYXRoIix7ZDoiTTIxIDdWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEifV0sWyJwYXRoIix7ZDoiTTE4Ljk0NCAxMi4zM2ExIDEgMCAwIDAgMC0uNjYgNy41IDcuNSAwIDAgMC0xMy44ODggMCAxIDEgMCAwIDAgMCAuNjYgNy41IDcuNSAwIDAgMCAxMy44ODggMCJ9XV19KTt2YXIgSUYsVlJlPWMoKCk9PntJRj1bWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjEyIixyOiI0In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTIiLHI6IjQifV0sWyJsaW5lIix7eDE6IjYiLHgyOiIxOCIseTE6IjE2Iix5MjoiMTYifV1dfSk7dmFyIE5GLGpSZT1jKCgpPT57TkY9W1sicGF0aCIse2Q6Ik0xMS4xIDcuMWExNi41NSAxNi41NSAwIDAgMSAxMC45IDQifV0sWyJwYXRoIix7ZDoiTTEyIDEyYTEyLjYgMTIuNiAwIDAgMS04LjcgNSJ9XSxbInBhdGgiLHtkOiJNMTYuOCAxMy42YTE2LjU1IDE2LjU1IDAgMCAxLTkgNy41In1dLFsicGF0aCIse2Q6Ik0yMC43IDE3YTEyLjggMTIuOCAwIDAgMC04LjctNSAxMy4zIDEzLjMgMCAwIDEgMC0xMCJ9XSxbInBhdGgiLHtkOiJNNi4zIDMuOGExNi41NSAxNi41NSAwIDAgMCAxLjkgMTEuNSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XV19KTt2YXIgUkYsVVJlPWMoKCk9PntSRj1bWyJwYXRoIix7ZDoiTTExIDQuNzAyYS43MDUuNzA1IDAgMCAwLTEuMjAzLS40OThMNi40MTMgNy41ODdBMS40IDEuNCAwIDAgMSA1LjQxNiA4SDNhMSAxIDAgMCAwLTEgMXY2YTEgMSAwIDAgMCAxIDFoMi40MTZhMS40IDEuNCAwIDAgMSAuOTk3LjQxM2wzLjM4MyAzLjM4NEEuNzA1LjcwNSAwIDAgMCAxMSAxOS4yOTh6In1dLFsicGF0aCIse2Q6Ik0xNiA5YTUgNSAwIDAgMSAwIDYifV1dfSk7dmFyIEZGLFdSZT1jKCgpPT57RkY9W1sicGF0aCIse2Q6Ik0xMSA0LjcwMmEuNzA1LjcwNSAwIDAgMC0xLjIwMy0uNDk4TDYuNDEzIDcuNTg3QTEuNCAxLjQgMCAwIDEgNS40MTYgOEgzYTEgMSAwIDAgMC0xIDF2NmExIDEgMCAwIDAgMSAxaDIuNDE2YTEuNCAxLjQgMCAwIDEgLjk5Ny40MTNsMy4zODMgMy4zODRBLjcwNS43MDUgMCAwIDAgMTEgMTkuMjk4eiJ9XSxbInBhdGgiLHtkOiJNMTYgOWE1IDUgMCAwIDEgMCA2In1dLFsicGF0aCIse2Q6Ik0xOS4zNjQgMTguMzY0YTkgOSAwIDAgMCAwLTEyLjcyOCJ9XV19KTt2YXIgT0YsR1JlPWMoKCk9PntPRj1bWyJwYXRoIix7ZDoiTTExIDQuNzAyYS43MDUuNzA1IDAgMCAwLTEuMjAzLS40OThMNi40MTMgNy41ODdBMS40IDEuNCAwIDAgMSA1LjQxNiA4SDNhMSAxIDAgMCAwLTEgMXY2YTEgMSAwIDAgMCAxIDFoMi40MTZhMS40IDEuNCAwIDAgMSAuOTk3LjQxM2wzLjM4MyAzLjM4NEEuNzA1LjcwNSAwIDAgMCAxMSAxOS4yOTh6In1dLFsibGluZSIse3gxOiIyMiIseDI6IjE2Iix5MToiOSIseTI6IjE1In1dLFsibGluZSIse3gxOiIxNiIseDI6IjIyIix5MToiOSIseTI6IjE1In1dXX0pO3ZhciBCRixZUmU9YygoKT0+e0JGPVtbInBhdGgiLHtkOiJNMTYgOWE1IDUgMCAwIDEgLjk1IDIuMjkzIn1dLFsicGF0aCIse2Q6Ik0xOS4zNjQgNS42MzZhOSA5IDAgMCAxIDEuODg5IDkuOTYifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJtNyA3LS41ODcuNTg3QTEuNCAxLjQgMCAwIDEgNS40MTYgOEgzYTEgMSAwIDAgMC0xIDF2NmExIDEgMCAwIDAgMSAxaDIuNDE2YTEuNCAxLjQgMCAwIDEgLjk5Ny40MTNsMy4zODMgMy4zODRBLjcwNS43MDUgMCAwIDAgMTEgMTkuMjk4VjExIn1dLFsicGF0aCIse2Q6Ik05LjgyOCA0LjE3MkEuNjg2LjY4NiAwIDAgMSAxMSA0LjY1N3YuNjg2In1dXX0pO3ZhciBIRixaUmU9YygoKT0+e0hGPVtbInBhdGgiLHtkOiJNMTEgNC43MDJhLjcwNS43MDUgMCAwIDAtMS4yMDMtLjQ5OEw2LjQxMyA3LjU4N0ExLjQgMS40IDAgMCAxIDUuNDE2IDhIM2ExIDEgMCAwIDAtMSAxdjZhMSAxIDAgMCAwIDEgMWgyLjQxNmExLjQgMS40IDAgMCAxIC45OTcuNDEzbDMuMzgzIDMuMzg0QS43MDUuNzA1IDAgMCAwIDExIDE5LjI5OHoifV1dfSk7dmFyIHFGLFhSZT1jKCgpPT57cUY9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgOWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTMgMTFoM2MuOCAwIDEuNi4zIDIuMS45bDEuMS45YzEuNiAxLjYgNC4xIDEuNiA1LjcgMGwxLjEtLjljLjUtLjUgMS4zLS45IDIuMS0uOUgyMSJ9XV19KTt2YXIgVkYsS1JlPWMoKCk9PntWRj1bWyJwYXRoIix7ZDoibTkgMTIgMiAyIDQtNCJ9XSxbInBhdGgiLHtkOiJNNSA3YzAtMS4xLjktMiAyLTJoMTBhMiAyIDAgMCAxIDIgMnYxMkg1VjdaIn1dLFsicGF0aCIse2Q6Ik0yMiAxOUgyIn1dXX0pO3ZhciBLZCxRUmU9YygoKT0+e0tkPVtbInBhdGgiLHtkOiJNMTcgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDdoMTJhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTQifV1dfSk7dmFyIGpGLEpSZT1jKCgpPT57akY9W1sicGF0aCIse2Q6Ik0xOSA3VjRhMSAxIDAgMCAwLTEtMUg1YTIgMiAwIDAgMCAwIDRoMTVhMSAxIDAgMCAxIDEgMXY0aC0zYTIgMiAwIDAgMCAwIDRoM2ExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMC0xLTEifV0sWyJwYXRoIix7ZDoiTTMgNXYxNGEyIDIgMCAwIDAgMiAyaDE1YTEgMSAwIDAgMCAxLTF2LTQifV1dfSk7dmFyIFVGLGVGZT1jKCgpPT57VUY9W1sicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV0sWyJwYXRoIix7ZDoibTkgMTcgNi4xLTYuMWEyIDIgMCAwIDEgMi44MS4wMUwyMiAxNSJ9XSxbImNpcmNsZSIse2N4OiI4IixjeToiOSIscjoiMiJ9XSxbInJlY3QiLHt4OiIyIix5OiIzIix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXX0pO3ZhciBRZCx0RmU9YygoKT0+e1FkPVtbInBhdGgiLHtkOiJtMjEuNjQgMy42NC0xLjI4LTEuMjhhMS4yMSAxLjIxIDAgMCAwLTEuNzIgMEwyLjM2IDE4LjY0YTEuMjEgMS4yMSAwIDAgMCAwIDEuNzJsMS4yOCAxLjI4YTEuMiAxLjIgMCAwIDAgMS43MiAwTDIxLjY0IDUuMzZhMS4yIDEuMiAwIDAgMCAwLTEuNzIifV0sWyJwYXRoIix7ZDoibTE0IDcgMyAzIn1dLFsicGF0aCIse2Q6Ik01IDZ2NCJ9XSxbInBhdGgiLHtkOiJNMTkgMTR2NCJ9XSxbInBhdGgiLHtkOiJNMTAgMnYyIn1dLFsicGF0aCIse2Q6Ik03IDhIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTZoLTQifV0sWyJwYXRoIix7ZDoiTTExIDNIOSJ9XV19KTt2YXIgV0YsYUZlPWMoKCk9PntXRj1bWyJwYXRoIix7ZDoiTTE1IDRWMiJ9XSxbInBhdGgiLHtkOiJNMTUgMTZ2LTIifV0sWyJwYXRoIix7ZDoiTTggOWgyIn1dLFsicGF0aCIse2Q6Ik0yMCA5aDIifV0sWyJwYXRoIix7ZDoiTTE3LjggMTEuOCAxOSAxMyJ9XSxbInBhdGgiLHtkOiJNMTUgOWguMDEifV0sWyJwYXRoIix7ZDoiTTE3LjggNi4yIDE5IDUifV0sWyJwYXRoIix7ZDoibTMgMjEgOS05In1dLFsicGF0aCIse2Q6Ik0xMi4yIDYuMiAxMSA1In1dXX0pO3ZhciBHRixyRmU9YygoKT0+e0dGPVtbInBhdGgiLHtkOiJNMTggMjFWMTBhMSAxIDAgMCAwLTEtMUg3YTEgMSAwIDAgMC0xIDF2MTEifV0sWyJwYXRoIix7ZDoiTTIyIDE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDEuMTMyLTEuODAzbDcuOTUtMy45NzRhMiAyIDAgMCAxIDEuODM3IDBsNy45NDggMy45NzRBMiAyIDAgMCAxIDIyIDh6In1dLFsicGF0aCIse2Q6Ik02IDEzaDEyIn1dLFsicGF0aCIse2Q6Ik02IDE3aDEyIn1dXX0pO3ZhciBZRixpRmU9YygoKT0+e1lGPVtbInBhdGgiLHtkOiJNMyA2aDMifV0sWyJwYXRoIix7ZDoiTTE3IDZoLjAxIn1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIyMCIseDoiMyIseToiMiIscng6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiNSJ9XSxbInBhdGgiLHtkOiJNMTIgMThhMi41IDIuNSAwIDAgMCAwLTUgMi41IDIuNSAwIDAgMSAwLTUifV1dfSk7dmFyIFpGLHNGZT1jKCgpPT57WkY9W1sicGF0aCIse2Q6Ik0xMiAxMHYyLjJsMS42IDEifV0sWyJwYXRoIix7ZDoibTE2LjEzIDcuNjYtLjgxLTQuMDVhMiAyIDAgMCAwLTItMS42MWgtMi42OGEyIDIgMCAwIDAtMiAxLjYxbC0uNzggNC4wNSJ9XSxbInBhdGgiLHtkOiJtNy44OCAxNi4zNi44IDRhMiAyIDAgMCAwIDIgMS42MWgyLjcyYTIgMiAwIDAgMCAyLTEuNjFsLjgxLTQuMDUifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNiJ9XV19KTt2YXIgWEYsb0ZlPWMoKCk9PntYRj1bWyJwYXRoIix7ZDoiTTEyIDEwTDEyIDIifV0sWyJwYXRoIix7ZDoiTTE2IDZMMTIgMTBMOCA2In1dLFsicGF0aCIse2Q6Ik0yIDE1QzIuNiAxNS41IDMuMiAxNiA0LjUgMTZDNyAxNiA3IDE0IDkuNSAxNEMxMi4xIDE0IDExLjkgMTYgMTQuNSAxNkMxNyAxNiAxNyAxNCAxOS41IDE0QzIwLjggMTQgMjEuNCAxNC41IDIyIDE1In1dLFsicGF0aCIse2Q6Ik0yIDIxQzIuNiAyMS41IDMuMiAyMiA0LjUgMjJDNyAyMiA3IDIwIDkuNSAyMEMxMi4xIDIwIDExLjkgMjIgMTQuNSAyMkMxNyAyMiAxNyAyMCAxOS41IDIwQzIwLjggMjAgMjEuNCAyMC41IDIyIDIxIn1dXX0pO3ZhciBLRixuRmU9YygoKT0+e0tGPVtbInBhdGgiLHtkOiJNMTkgNWEyIDIgMCAwIDAtMiAydjExIn1dLFsicGF0aCIse2Q6Ik0yIDE4Yy42LjUgMS4yIDEgMi41IDEgMi41IDAgMi41LTIgNS0yIDIuNiAwIDIuNCAyIDUgMiAyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDEifV0sWyJwYXRoIix7ZDoiTTcgMTNoMTAifV0sWyJwYXRoIix7ZDoiTTcgOWgxMCJ9XSxbInBhdGgiLHtkOiJNOSA1YTIgMiAwIDAgMC0yIDJ2MTEifV1dfSk7dmFyIFFGLGxGZT1jKCgpPT57UUY9W1sicGF0aCIse2Q6Ik0xMiAydjgifV0sWyJwYXRoIix7ZDoiTTIgMTVjLjYuNSAxLjIgMSAyLjUgMSAyLjUgMCAyLjUtMiA1LTIgMi42IDAgMi40IDIgNSAyIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSJ9XSxbInBhdGgiLHtkOiJNMiAyMWMuNi41IDEuMiAxIDIuNSAxIDIuNSAwIDIuNS0yIDUtMiAyLjYgMCAyLjQgMiA1IDIgMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIn1dLFsicGF0aCIse2Q6Im04IDYgNC00IDQgNCJ9XV19KTt2YXIgSkYsY0ZlPWMoKCk9PntKRj1bWyJwYXRoIix7ZDoiTTIgNmMuNi41IDEuMiAxIDIuNSAxQzcgNyA3IDUgOS41IDVjMi42IDAgMi40IDIgNSAyIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSJ9XSxbInBhdGgiLHtkOiJNMiAxMmMuNi41IDEuMiAxIDIuNSAxIDIuNSAwIDIuNS0yIDUtMiAyLjYgMCAyLjQgMiA1IDIgMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIn1dLFsicGF0aCIse2Q6Ik0yIDE4Yy42LjUgMS4yIDEgMi41IDEgMi41IDAgMi41LTIgNS0yIDIuNiAwIDIuNCAyIDUgMiAyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDEifV1dfSk7dmFyIGVPLGRGZT1jKCgpPT57ZU89W1sicGF0aCIse2Q6Im0xMC41ODYgNS40MTQtNS4xNzIgNS4xNzIifV0sWyJwYXRoIix7ZDoibTE4LjU4NiAxMy40MTQtNS4xNzIgNS4xNzIifV0sWyJwYXRoIix7ZDoiTTYgMTJoMTIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIyMCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjQiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIxMiIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiMTIiLHI6IjIifV1dfSk7dmFyIHRPLHBGZT1jKCgpPT57dE89W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjgifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNyAyMmgxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMjJ2LTQifV1dfSk7dmFyIGFPLHVGZT1jKCgpPT57YU89W1sicGF0aCIse2Q6Ik0xNyAxN2gtNWMtMS4wOS0uMDItMS45NC45Mi0yLjUgMS45QTMgMyAwIDEgMSAyLjU3IDE1In1dLFsicGF0aCIse2Q6Ik05IDMuNGE0IDQgMCAwIDEgNi41Mi42NiJ9XSxbInBhdGgiLHtkOiJtNiAxNyAzLjEtNS44YTIuNSAyLjUgMCAwIDAgLjA1Ny0yLjA1In1dLFsicGF0aCIse2Q6Ik0yMC4zIDIwLjNhNCA0IDAgMCAxLTIuMy43In1dLFsicGF0aCIse2Q6Ik0xOC42IDEzYTQgNCAwIDAgMSAzLjM1NyAzLjQxNCJ9XSxbInBhdGgiLHtkOiJtMTIgNiAuNiAxIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIHJPLGZGZT1jKCgpPT57ck89W1sicGF0aCIse2Q6Ik0xOCAxNi45OGgtNS45OWMtMS4xIDAtMS45NS45NC0yLjQ4IDEuOUE0IDQgMCAwIDEgMiAxN2MuMDEtLjcuMi0xLjQuNTctMiJ9XSxbInBhdGgiLHtkOiJtNiAxNyAzLjEzLTUuNzhjLjUzLS45Ny4xLTIuMTgtLjUtMy4xYTQgNCAwIDEgMSA2Ljg5LTQuMDYifV0sWyJwYXRoIix7ZDoibTEyIDYgMy4xMyA1LjczQzE1LjY2IDEyLjcgMTYuOSAxMyAxOCAxM2E0IDQgMCAwIDEgMCA4In1dXX0pO3ZhciBpTyxoRmU9YygoKT0+e2lPPVtbInBhdGgiLHtkOiJNNi41IDhhMiAyIDAgMCAwLTEuOTA2IDEuNDZMMi4xIDE4LjVBMiAyIDAgMCAwIDQgMjFoMTZhMiAyIDAgMCAwIDEuOTI1LTIuNTRMMTkuNCA5LjVBMiAyIDAgMCAwIDE3LjQ4IDh6In1dLFsicGF0aCIse2Q6Ik03Ljk5OSAxNWEyLjUgMi41IDAgMCAxIDQgMCAyLjUgMi41IDAgMCAwIDQgMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjUiLHI6IjMifV1dfSk7dmFyIHNPLG1GZT1jKCgpPT57c089W1sicGF0aCIse2Q6Im0yIDIyIDEwLTEwIn1dLFsicGF0aCIse2Q6Im0xNiA4LTEuMTcgMS4xNyJ9XSxbInBhdGgiLHtkOiJNMy40NyAxMi41MyA1IDExbDEuNTMgMS41M2EzLjUgMy41IDAgMCAxIDAgNC45NEw1IDE5bC0xLjUzLTEuNTNhMy41IDMuNSAwIDAgMSAwLTQuOTRaIn1dLFsicGF0aCIse2Q6Im04IDgtLjUzLjUzYTMuNSAzLjUgMCAwIDAgMCA0Ljk0TDkgMTVsMS41My0xLjUzYy41NS0uNTUuODgtMS4yNS45OC0xLjk3In1dLFsicGF0aCIse2Q6Ik0xMC45MSA1LjI2Yy4xNS0uMjYuMzQtLjUxLjU2LS43M0wxMyAzbDEuNTMgMS41M2EzLjUgMy41IDAgMCAxIC4yOCA0LjYyIn1dLFsicGF0aCIse2Q6Ik0yMCAyaDJ2MmE0IDQgMCAwIDEtNCA0aC0yVjZhNCA0IDAgMCAxIDQtNFoifV0sWyJwYXRoIix7ZDoiTTExLjQ3IDE3LjQ3IDEzIDE5bC0xLjUzIDEuNTNhMy41IDMuNSAwIDAgMS00Ljk0IDBMNSAxOWwxLjUzLTEuNTNhMy41IDMuNSAwIDAgMSA0Ljk0IDBaIn1dLFsicGF0aCIse2Q6Im0xNiAxNi0uNTMuNTNhMy41IDMuNSAwIDAgMS00Ljk0IDBMOSAxNWwxLjUzLTEuNTNhMy40OSAzLjQ5IDAgMCAxIDEuOTctLjk4In1dLFsicGF0aCIse2Q6Ik0xOC43NCAxMy4wOWMuMjYtLjE1LjUxLS4zNC43My0uNTZMMjEgMTFsLTEuNTMtMS41M2EzLjUgMy41IDAgMCAwLTQuNjItLjI4In1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV1dfSk7dmFyIG9PLGdGZT1jKCgpPT57b089W1siY2lyY2xlIix7Y3g6IjEyIixjeToiNSIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNi41IDhhMiAyIDAgMCAwLTEuOTA1IDEuNDZMMi4xIDE4LjVBMiAyIDAgMCAwIDQgMjFoMTZhMiAyIDAgMCAwIDEuOTI1LTIuNTRMMTkuNCA5LjVBMiAyIDAgMCAwIDE3LjQ4IDhaIn1dXX0pO3ZhciBuTyxiRmU9YygoKT0+e25PPVtbInBhdGgiLHtkOiJNMiAyMiAxNiA4In1dLFsicGF0aCIse2Q6Ik0zLjQ3IDEyLjUzIDUgMTFsMS41MyAxLjUzYTMuNSAzLjUgMCAwIDEgMCA0Ljk0TDUgMTlsLTEuNTMtMS41M2EzLjUgMy41IDAgMCAxIDAtNC45NFoifV0sWyJwYXRoIix7ZDoiTTcuNDcgOC41MyA5IDdsMS41MyAxLjUzYTMuNSAzLjUgMCAwIDEgMCA0Ljk0TDkgMTVsLTEuNTMtMS41M2EzLjUgMy41IDAgMCAxIDAtNC45NFoifV0sWyJwYXRoIix7ZDoiTTExLjQ3IDQuNTMgMTMgM2wxLjUzIDEuNTNhMy41IDMuNSAwIDAgMSAwIDQuOTRMMTMgMTFsLTEuNTMtMS41M2EzLjUgMy41IDAgMCAxIDAtNC45NFoifV0sWyJwYXRoIix7ZDoiTTIwIDJoMnYyYTQgNCAwIDAgMS00IDRoLTJWNmE0IDQgMCAwIDEgNC00WiJ9XSxbInBhdGgiLHtkOiJNMTEuNDcgMTcuNDcgMTMgMTlsLTEuNTMgMS41M2EzLjUgMy41IDAgMCAxLTQuOTQgMEw1IDE5bDEuNTMtMS41M2EzLjUgMy41IDAgMCAxIDQuOTQgMFoifV0sWyJwYXRoIix7ZDoiTTE1LjQ3IDEzLjQ3IDE3IDE1bC0xLjUzIDEuNTNhMy41IDMuNSAwIDAgMS00Ljk0IDBMOSAxNWwxLjUzLTEuNTNhMy41IDMuNSAwIDAgMSA0Ljk0IDBaIn1dLFsicGF0aCIse2Q6Ik0xOS40NyA5LjQ3IDIxIDExbC0xLjUzIDEuNTNhMy41IDMuNSAwIDAgMS00Ljk0IDBMMTMgMTFsMS41My0xLjUzYTMuNSAzLjUgMCAwIDEgNC45NCAwWiJ9XV19KTt2YXIgbE8sdkZlPWMoKCk9PntsTz1bWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjEyIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xMCA5djYifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxMiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTQgN3Y4In1dLFsicGF0aCIse2Q6Ik0yMiAxN3YxYzAgLjUtLjUgMS0xIDFIM2MtLjUgMC0xLS41LTEtMXYtMSJ9XV19KTt2YXIgY08seEZlPWMoKCk9PntjTz1bWyJwYXRoIix7ZDoibTE0LjMwNSAxOS41My45MjMtLjM4MiJ9XSxbInBhdGgiLHtkOiJtMTUuMjI4IDE2Ljg1Mi0uOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAxNS4yMjgtLjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xNi44NTIgMjAuNzcyLS4zODMuOTI0In1dLFsicGF0aCIse2Q6Im0xOS4xNDggMTUuMjI4LjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xOS41MyAyMS42OTYtLjM4Mi0uOTI0In1dLFsicGF0aCIse2Q6Ik0yIDcuODJhMTUgMTUgMCAwIDEgMjAgMCJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE2Ljg1Mi45MjQtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE5LjE0OC45MjQuMzgzIn1dLFsicGF0aCIse2Q6Ik01IDExLjg1OGExMCAxMCAwIDAgMSAxMS41LTEuNzg1In1dLFsicGF0aCIse2Q6Ik04LjUgMTUuNDI5YTUgNSAwIDAgMSAyLjQxMy0xLjMxIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV1dfSk7dmFyIGRPLHlGZT1jKCgpPT57ZE89W1sicGF0aCIse2Q6Ik0xMiAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTUgMTIuODU5YTEwIDEwIDAgMCAxIDE0IDAifV0sWyJwYXRoIix7ZDoiTTguNSAxNi40MjlhNSA1IDAgMCAxIDcgMCJ9XV19KTt2YXIgcE8sd0ZlPWMoKCk9PntwTz1bWyJwYXRoIix7ZDoiTTEyIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNOC41IDE2LjQyOWE1IDUgMCAwIDEgNyAwIn1dXX0pO3ZhciB1TyxNRmU9YygoKT0+e3VPPVtbInBhdGgiLHtkOiJNMiA4LjgyYTE1IDE1IDAgMCAxIDIwIDAifV0sWyJwYXRoIix7ZDoiTTIxLjM3OCAxNi42MjZhMSAxIDAgMCAwLTMuMDA0LTMuMDA0bC00LjAxIDQuMDEyYTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2eiJ9XSxbInBhdGgiLHtkOiJNNSAxMi44NTlhMTAgMTAgMCAwIDEgMTAuNS0yLjIyMiJ9XSxbInBhdGgiLHtkOiJNOC41IDE2LjQyOWE1IDUgMCAwIDEgMy0xLjQwNiJ9XV19KTt2YXIgZk8sa0ZlPWMoKCk9PntmTz1bWyJwYXRoIix7ZDoiTTEyIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNOC41IDE2LjQyOWE1IDUgMCAwIDEgNyAwIn1dLFsicGF0aCIse2Q6Ik01IDEyLjg1OWExMCAxMCAwIDAgMSA1LjE3LTIuNjkifV0sWyJwYXRoIix7ZDoiTTE5IDEyLjg1OWExMCAxMCAwIDAgMC0yLjAwNy0xLjUyMyJ9XSxbInBhdGgiLHtkOiJNMiA4LjgyYTE1IDE1IDAgMCAxIDQuMTc3LTIuNjQzIn1dLFsicGF0aCIse2Q6Ik0yMiA4LjgyYTE1IDE1IDAgMCAwLTExLjI4OC0zLjc2NCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciBoTyx6RmU9YygoKT0+e2hPPVtbInBhdGgiLHtkOiJNMTIgMjBoLjAxIn1dXX0pO3ZhciBtTyxTRmU9YygoKT0+e21PPVtbInBhdGgiLHtkOiJNMTEuOTY1IDEwLjEwNXY0TDEzLjUgMTIuNWE1IDUgMCAwIDEgOCAxLjUifV0sWyJwYXRoIix7ZDoiTTExLjk2NSAxNC4xMDVoNCJ9XSxbInBhdGgiLHtkOiJNMTcuOTY1IDE4LjEwNWg0TDIwLjQzIDE5LjcxYTUgNSAwIDAgMS04LTEuNSJ9XSxbInBhdGgiLHtkOiJNMiA4LjgyYTE1IDE1IDAgMCAxIDIwIDAifV0sWyJwYXRoIix7ZDoiTTIxLjk2NSAyMi4xMDV2LTQifV0sWyJwYXRoIix7ZDoiTTUgMTIuODZhMTAgMTAgMCAwIDEgMy0yLjAzMiJ9XSxbInBhdGgiLHtkOiJNOC41IDE2LjQyOWguMDEifV1dfSk7dmFyIGdPLENGZT1jKCgpPT57Z089W1sicGF0aCIse2Q6Ik0xMiAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTIgOC44MmExNSAxNSAwIDAgMSAyMCAwIn1dLFsicGF0aCIse2Q6Ik01IDEyLjg1OWExMCAxMCAwIDAgMSAxNCAwIn1dLFsicGF0aCIse2Q6Ik04LjUgMTYuNDI5YTUgNSAwIDAgMSA3IDAifV1dfSk7dmFyIGJPLF9GZT1jKCgpPT57Yk89W1sicGF0aCIse2Q6Ik0xMCAydjgifV0sWyJwYXRoIix7ZDoiTTEyLjggMjEuNkEyIDIgMCAxIDAgMTQgMThIMiJ9XSxbInBhdGgiLHtkOiJNMTcuNSAxMGEyLjUgMi41IDAgMSAxIDIgNEgyIn1dLFsicGF0aCIse2Q6Im02IDYgNCA0IDQtNCJ9XV19KTt2YXIgdk8sVEZlPWMoKCk9Pnt2Tz1bWyJwYXRoIix7ZDoiTTEyLjggMTkuNkEyIDIgMCAxIDAgMTQgMTZIMiJ9XSxbInBhdGgiLHtkOiJNMTcuNSA4YTIuNSAyLjUgMCAxIDEgMiA0SDIifV0sWyJwYXRoIix7ZDoiTTkuOCA0LjRBMiAyIDAgMSAxIDExIDhIMiJ9XV19KTt2YXIgeE8sTEZlPWMoKCk9Pnt4Tz1bWyJwYXRoIix7ZDoiTTggMjJoOCJ9XSxbInBhdGgiLHtkOiJNNyAxMGgzbTcgMGgtMS4zNDMifV0sWyJwYXRoIix7ZDoiTTEyIDE1djcifV0sWyJwYXRoIix7ZDoiTTcuMzA3IDcuMzA3QTEyLjMzIDEyLjMzIDAgMCAwIDcgMTBhNSA1IDAgMCAwIDcuMzkxIDQuMzkxTTguNjM4IDIuOTgxQzguNzUgMi42NjggOC44NzIgMi4zNCA5IDJoNmMxLjUgNCAyIDYgMiA4IDAgLjQwNy0uMDUuODA5LS4xNDUgMS4xOTgifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIgeU8sJEZlPWMoKCk9Pnt5Tz1bWyJwYXRoIix7ZDoiTTggMjJoOCJ9XSxbInBhdGgiLHtkOiJNNyAxMGgxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMTV2NyJ9XSxbInBhdGgiLHtkOiJNMTIgMTVhNSA1IDAgMCAwIDUtNWMwLTItLjUtNC0yLThIOWMtMS41IDQtMiA2LTIgOGE1IDUgMCAwIDAgNSA1WiJ9XV19KTt2YXIgd08sREZlPWMoKCk9Pnt3Tz1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgMTF2NGEyIDIgMCAwIDAgMiAyaDQifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiOCIseDoiMTMiLHk6IjEzIixyeDoiMiJ9XV19KTt2YXIgTU8sQUZlPWMoKCk9PntNTz1bWyJwYXRoIix7ZDoibTE5IDEyLTEuNSAzIn1dLFsicGF0aCIse2Q6Ik0xOS42MyAxOC44MSAyMiAyMCJ9XSxbInBhdGgiLHtkOiJNNi40NyA4LjIzYTEuNjggMS42OCAwIDAgMSAyLjQ0IDEuOTNsLS42NCAyLjA4YTYuNzYgNi43NiAwIDAgMCAxMC4xNiA3LjY3bC40Mi0uMjdhMSAxIDAgMSAwLTIuNzMtNC4yMWwtLjQyLjI3YTEuNzYgMS43NiAwIDAgMS0yLjYzLTEuOTlsLjY0LTIuMDhBNi42NiA2LjY2IDAgMCAwIDMuOTQgMy45bC0uNy40YTEgMSAwIDEgMCAyLjU1IDQuMzR6In1dXX0pO3ZhciBrTyxQRmU9YygoKT0+e2tPPVtbInBhdGgiLHtkOiJNMTQuNyA2LjNhMSAxIDAgMCAwIDAgMS40bDEuNiAxLjZhMSAxIDAgMCAwIDEuNCAwbDMuMTA2LTMuMTA1Yy4zMi0uMzIyLjg2My0uMjIuOTgzLjIxOGE2IDYgMCAwIDEtOC4yNTkgNy4wNTdsLTcuOTEgNy45MWExIDEgMCAwIDEtMi45OTktM2w3LjkxLTcuOTFhNiA2IDAgMCAxIDcuMDU3LTguMjU5Yy40MzguMTIuNTQuNjYyLjIxOS45ODR6In1dXX0pO3ZhciB6TyxFRmU9YygoKT0+e3pPPVtbInBhdGgiLHtkOiJNMTggNEg2In1dLFsicGF0aCIse2Q6Ik0xOCA4IDYgMjAifV0sWyJwYXRoIix7ZDoibTYgOCAxMiAxMiJ9XV19KTt2YXIgU08sSUZlPWMoKCk9PntTTz1bWyJwYXRoIix7ZDoiTTE4IDYgNiAxOCJ9XSxbInBhdGgiLHtkOiJtNiA2IDEyIDEyIn1dXX0pO3ZhciBDTyxORmU9YygoKT0+e0NPPVtbInBhdGgiLHtkOiJNMi41IDE3YTI0LjEyIDI0LjEyIDAgMCAxIDAtMTAgMiAyIDAgMCAxIDEuNC0xLjQgNDkuNTYgNDkuNTYgMCAwIDEgMTYuMiAwQTIgMiAwIDAgMSAyMS41IDdhMjQuMTIgMjQuMTIgMCAwIDEgMCAxMCAyIDIgMCAwIDEtMS40IDEuNCA0OS41NSA0OS41NSAwIDAgMS0xNi4yIDBBMiAyIDAgMCAxIDIuNSAxNyJ9XSxbInBhdGgiLHtkOiJtMTAgMTUgNS0zLTUtM3oifV1dfSk7dmFyIF9PLFJGZT1jKCgpPT57X089W1sicGF0aCIse2Q6Ik0xMC41MTMgNC44NTYgMTMuMTIgMi4xN2EuNS41IDAgMCAxIC44Ni40NmwtMS4zNzcgNC4zMTcifV0sWyJwYXRoIix7ZDoiTTE1LjY1NiAxMEgyMGExIDEgMCAwIDEgLjc4IDEuNjNsLTEuNzIgMS43NzMifV0sWyJwYXRoIix7ZDoiTTE2LjI3MyAxNi4yNzMgMTAuODggMjEuODNhLjUuNSAwIDAgMS0uODYtLjQ2bDEuOTItNi4wMkExIDEgMCAwIDAgMTEgMTRINGExIDEgMCAwIDEtLjc4LTEuNjNsNC41MDctNC42NDMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgVE8sRkZlPWMoKCk9PntUTz1bWyJwYXRoIix7ZDoiTTQgMTRhMSAxIDAgMCAxLS43OC0xLjYzbDkuOS0xMC4yYS41LjUgMCAwIDEgLjg2LjQ2bC0xLjkyIDYuMDJBMSAxIDAgMCAwIDEzIDEwaDdhMSAxIDAgMCAxIC43OCAxLjYzbC05LjkgMTAuMmEuNS41IDAgMCAxLS44Ni0uNDZsMS45Mi02LjAyQTEgMSAwIDAgMCAxMSAxNHoifV1dfSk7dmFyIExPLE9GZT1jKCgpPT57TE89W1sicGF0aCIse2Q6Im0yIDEwIDIuNDU2LTMuNjg0YS43LjcgMCAwIDEgMS4xMDYtLjAxM2wyLjM5IDMuNDEzYS43LjcgMCAwIDAgMS4wOTYtLjAwMWwyLjQwMi0zLjQzMmEuNy43IDAgMCAxIDEuMDk4IDBsMi40MDIgMy40MzJhLjcuNyAwIDAgMCAxLjA5OCAwbDIuMzg5LTMuNDEzYS43LjcgMCAwIDEgMS4xMDYuMDEzTDIyIDEwIn1dLFsicGF0aCIse2Q6Im0yIDE4LjAwMiAyLjQ1Ni0zLjY4NGEuNy43IDAgMCAxIDEuMTA2LS4wMTNsMi4zOSAzLjQxM2EuNy43IDAgMCAwIDEuMDk3IDBsMi40MDItMy40MzJhLjcuNyAwIDAgMSAxLjA5OCAwbDIuNDAyIDMuNDMyYS43LjcgMCAwIDAgMS4wOTggMGwyLjM4OS0zLjQxM2EuNy43IDAgMCAxIDEuMTA2LjAxM0wyMiAxOC4wMDIifV1dfSk7dmFyICRPLEJGZT1jKCgpPT57JE89W1sicGF0aCIse2Q6Ik0xMiA3LjVhNC41IDQuNSAwIDEgMSA1IDQuNSJ9XSxbInBhdGgiLHtkOiJNNyAxMmE0LjUgNC41IDAgMSAxIDUtNC41VjIxIn1dXX0pO3ZhciBETyxIRmU9YygoKT0+e0RPPVtbInBhdGgiLHtkOiJNMjEgMTQuNUE5IDYuNSAwIDAgMSA1LjUgMTkifV0sWyJwYXRoIix7ZDoiTTMgOS41QTkgNi41IDAgMCAxIDE4LjUgNSJ9XSxbImNpcmNsZSIse2N4OiIxNy41IixjeToiMTQuNSIscjoiMy41In1dLFsiY2lyY2xlIix7Y3g6IjYuNSIsY3k6IjkuNSIscjoiMy41In1dXX0pO3ZhciBBTyxxRmU9YygoKT0+e0FPPVtbInBhdGgiLHtkOiJNMTEgMjFhMyAzIDAgMCAwIDMtM1Y2LjVhMSAxIDAgMCAwLTcgMCJ9XSxbInBhdGgiLHtkOiJNNyAxOVY2YTMgMyAwIDAgMC0zLTNoMCJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE3IixyOiIzIn1dXX0pO3ZhciBQTyxWRmU9YygoKT0+e1BPPVtbInBhdGgiLHtkOiJNMTAgMTZjMC00LTMtNC41LTMtOGE1IDUgMCAwIDEgMTAgMGMwIDMuNDY2LTMgNi4xOTYtMyAxMGEzIDMgMCAwIDAgNiAwIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiIxNiIscjoiMyJ9XV19KTt2YXIgRU8sakZlPWMoKCk9PntFTz1bWyJwYXRoIix7ZDoiTTE2IDQuNTI1djE0Ljk0OCJ9XSxbInBhdGgiLHtkOiJNMjAgM0ExNyAxNyAwIDAgMSA0IDMifV0sWyJwYXRoIix7ZDoiTTQgMjFhMTcgMTcgMCAwIDEgMTYgMCJ9XSxbInBhdGgiLHtkOiJNOCA0LjUyNXYxNC45NDgifV1dfSk7dmFyIElPLFVGZT1jKCgpPT57SU89W1sicGF0aCIse2Q6Ik0zIDE2aDYuODU3Yy4xNjItLjAxMi4xOS0uMzIzLjAzOC0uMzhhNiA2IDAgMSAxIDQuMjEyIDBjLS4xNTMuMDU3LS4xMjUuMzY4LjAzOC4zOEgyMSJ9XSxbInBhdGgiLHtkOiJNMyAyMGgxOCJ9XV19KTt2YXIgTk8sV0ZlPWMoKCk9PntOTz1bWyJwYXRoIix7ZDoiTTMgMTBBNi4wNiA2LjA2IDAgMCAxIDEyIDEwIEE2LjA2IDYuMDYgMCAwIDAgMjEgMTAifV0sWyJwYXRoIix7ZDoiTTYgM3YxMmE2IDYgMCAwIDAgMTIgMFYzIn1dXX0pO3ZhciBSTyxHRmU9YygoKT0+e1JPPVtbInBhdGgiLHtkOiJNMTkgMjFhMTUgMTUgMCAwIDEgMC0xOCJ9XSxbInBhdGgiLHtkOiJNMjAgMTJINCJ9XSxbInBhdGgiLHtkOiJNNSAzYTE1IDE1IDAgMCAxIDAgMTgifV1dfSk7dmFyIEZPLFlGZT1jKCgpPT57Rk89W1sicGF0aCIse2Q6Ik0xNSAzaDZ2NiJ9XSxbInBhdGgiLHtkOiJNMjEgMyAzIDIxIn1dLFsicGF0aCIse2Q6Im05IDkgNiA2In1dXX0pO3ZhciBPTyxaRmU9YygoKT0+e09PPVtbInBhdGgiLHtkOiJNMTAgMTlWNS41YTEgMSAwIDAgMSA1IDBWMTdhMiAyIDAgMCAwIDIgMmg1bC0zLTMifV0sWyJwYXRoIix7ZDoibTIyIDE5LTMgMyJ9XSxbInBhdGgiLHtkOiJNNSAxOVY1LjVhMSAxIDAgMCAxIDUgMCJ9XSxbInBhdGgiLHtkOiJNNSA1LjVBMi41IDIuNSAwIDAgMCAyLjUgMyJ9XV19KTt2YXIgQk8sWEZlPWMoKCk9PntCTz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNSIscjoiNiJ9XSxbInBhdGgiLHtkOiJNMTggM0E2IDYgMCAwIDEgNiAzIn1dXX0pO3ZhciBITyxLRmU9YygoKT0+e0hPPVtbInBhdGgiLHtkOiJNMTEgNS41YTEgMSAwIDAgMSA1IDBWMTZhNSA1IDAgMCAwIDUgNSJ9XSxbInBhdGgiLHtkOiJNMTYgMTEuNWExIDEgMCAwIDEgNSAwVjE2YTUgNSAwIDAgMS01IDUifV0sWyJwYXRoIix7ZDoiTTYgMTlWNmEzIDMgMCAwIDAtMy0zaDAifV0sWyJwYXRoIix7ZDoiTTYgNS41YTEgMSAwIDAgMSA1IDBWMTkifV1dfSk7dmFyIHFPLFFGZT1jKCgpPT57cU89W1siY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjgifV0sWyJsaW5lIix7eDE6IjIxIix4MjoiMTYuNjUiLHkxOiIyMSIseTI6IjE2LjY1In1dLFsibGluZSIse3gxOiIxMSIseDI6IjExIix5MToiOCIseTI6IjE0In1dLFsibGluZSIse3gxOiI4Iix4MjoiMTQiLHkxOiIxMSIseTI6IjExIn1dXX0pO3ZhciBWTyxKRmU9YygoKT0+e1ZPPVtbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4In1dLFsibGluZSIse3gxOiIyMSIseDI6IjE2LjY1Iix5MToiMjEiLHkyOiIxNi42NSJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE0Iix5MToiMTEiLHkyOiIxMSJ9XV19KTt2YXIgSmQ9e307ZXQoSmQse0FBcnJvd0Rvd246KCk9PlA3LEFBcnJvd1VwOigpPT5FNyxBTGFyZ2VTbWFsbDooKT0+STcsQWNjZXNzaWJpbGl0eTooKT0+TjcsQWN0aXZpdHk6KCk9PlI3LEFjdGl2aXR5U3F1YXJlOigpPT5EMyxBaXJWZW50OigpPT5GNyxBaXJwbGF5OigpPT5PNyxBbGFybUNoZWNrOigpPT5VMCxBbGFybUNsb2NrOigpPT5INyxBbGFybUNsb2NrQ2hlY2s6KCk9PlUwLEFsYXJtQ2xvY2tNaW51czooKT0+ajAsQWxhcm1DbG9ja09mZjooKT0+QjcsQWxhcm1DbG9ja1BsdXM6KCk9PlcwLEFsYXJtTWludXM6KCk9PmowLEFsYXJtUGx1czooKT0+VzAsQWxhcm1TbW9rZTooKT0+cTcsQWxidW06KCk9PlY3LEFsZXJ0Q2lyY2xlOigpPT53YyxBbGVydE9jdGFnb246KCk9PnMzLEFsZXJ0VHJpYW5nbGU6KCk9Pk9kLEFsaWduQ2VudGVyOigpPT5EZCxBbGlnbkNlbnRlckhvcml6b250YWw6KCk9Pmo3LEFsaWduQ2VudGVyVmVydGljYWw6KCk9PlU3LEFsaWduRW5kSG9yaXpvbnRhbDooKT0+VzcsQWxpZ25FbmRWZXJ0aWNhbDooKT0+RzcsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZUNlbnRlcjooKT0+WTcsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZUVuZDooKT0+WjcsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZVN0YXJ0OigpPT5YNyxBbGlnbkhvcml6b250YWxKdXN0aWZ5Q2VudGVyOigpPT5LNyxBbGlnbkhvcml6b250YWxKdXN0aWZ5RW5kOigpPT5RNyxBbGlnbkhvcml6b250YWxKdXN0aWZ5U3RhcnQ6KCk9Pko3LEFsaWduSG9yaXpvbnRhbFNwYWNlQXJvdW5kOigpPT5laCxBbGlnbkhvcml6b250YWxTcGFjZUJldHdlZW46KCk9PnRoLEFsaWduSnVzdGlmeTooKT0+UGQsQWxpZ25MZWZ0OigpPT5fbyxBbGlnblJpZ2h0OigpPT5BZCxBbGlnblN0YXJ0SG9yaXpvbnRhbDooKT0+YWgsQWxpZ25TdGFydFZlcnRpY2FsOigpPT5yaCxBbGlnblZlcnRpY2FsRGlzdHJpYnV0ZUNlbnRlcjooKT0+aWgsQWxpZ25WZXJ0aWNhbERpc3RyaWJ1dGVFbmQ6KCk9PnNoLEFsaWduVmVydGljYWxEaXN0cmlidXRlU3RhcnQ6KCk9Pm9oLEFsaWduVmVydGljYWxKdXN0aWZ5Q2VudGVyOigpPT5uaCxBbGlnblZlcnRpY2FsSnVzdGlmeUVuZDooKT0+bGgsQWxpZ25WZXJ0aWNhbEp1c3RpZnlTdGFydDooKT0+Y2gsQWxpZ25WZXJ0aWNhbFNwYWNlQXJvdW5kOigpPT5kaCxBbGlnblZlcnRpY2FsU3BhY2VCZXR3ZWVuOigpPT5waCxBbWJ1bGFuY2U6KCk9PmZoLEFtcGVyc2FuZDooKT0+dWgsQW1wZXJzYW5kczooKT0+aGgsQW1waG9yYTooKT0+bWgsQW5jaG9yOigpPT5naCxBbmdyeTooKT0+YmgsQW5ub3llZDooKT0+dmgsQW50ZW5uYTooKT0+eGgsQW52aWw6KCk9PnloLEFwZXJ0dXJlOigpPT53aCxBcHBXaW5kb3c6KCk9PmtoLEFwcFdpbmRvd01hYzooKT0+TWgsQXBwbGU6KCk9PnpoLEFyY2hpdmU6KCk9Pl9oLEFyY2hpdmVSZXN0b3JlOigpPT5TaCxBcmNoaXZlWDooKT0+Q2gsQXJlYUNoYXJ0OigpPT5uYyxBcm1jaGFpcjooKT0+VGgsQXJyb3dCaWdEb3duOigpPT4kaCxBcnJvd0JpZ0Rvd25EYXNoOigpPT5MaCxBcnJvd0JpZ0xlZnQ6KCk9PkFoLEFycm93QmlnTGVmdERhc2g6KCk9PkRoLEFycm93QmlnUmlnaHQ6KCk9PkVoLEFycm93QmlnUmlnaHREYXNoOigpPT5QaCxBcnJvd0JpZ1VwOigpPT5SaCxBcnJvd0JpZ1VwRGFzaDooKT0+SWgsQXJyb3dEb3duOigpPT5XaCxBcnJvd0Rvd24wMTooKT0+TmgsQXJyb3dEb3duMTA6KCk9PkZoLEFycm93RG93bkFaOigpPT5HMCxBcnJvd0Rvd25BejooKT0+RzAsQXJyb3dEb3duQ2lyY2xlOigpPT5NYyxBcnJvd0Rvd25Gcm9tTGluZTooKT0+T2gsQXJyb3dEb3duTGVmdDooKT0+QmgsQXJyb3dEb3duTGVmdEZyb21DaXJjbGU6KCk9PnpjLEFycm93RG93bkxlZnRGcm9tU3F1YXJlOigpPT5JMyxBcnJvd0Rvd25MZWZ0U3F1YXJlOigpPT4kMyxBcnJvd0Rvd25OYXJyb3dXaWRlOigpPT5IaCxBcnJvd0Rvd25SaWdodDooKT0+cWgsQXJyb3dEb3duUmlnaHRGcm9tQ2lyY2xlOigpPT5TYyxBcnJvd0Rvd25SaWdodEZyb21TcXVhcmU6KCk9Pk4zLEFycm93RG93blJpZ2h0U3F1YXJlOigpPT5BMyxBcnJvd0Rvd25TcXVhcmU6KCk9PlAzLEFycm93RG93blRvRG90OigpPT5WaCxBcnJvd0Rvd25Ub0xpbmU6KCk9PmpoLEFycm93RG93blVwOigpPT5VaCxBcnJvd0Rvd25XaWRlTmFycm93OigpPT5ZMCxBcnJvd0Rvd25aQTooKT0+WjAsQXJyb3dEb3duWmE6KCk9PlowLEFycm93TGVmdDooKT0+WGgsQXJyb3dMZWZ0Q2lyY2xlOigpPT5rYyxBcnJvd0xlZnRGcm9tTGluZTooKT0+R2gsQXJyb3dMZWZ0UmlnaHQ6KCk9PlloLEFycm93TGVmdFNxdWFyZTooKT0+RTMsQXJyb3dMZWZ0VG9MaW5lOigpPT5aaCxBcnJvd1JpZ2h0OigpPT5lbSxBcnJvd1JpZ2h0Q2lyY2xlOigpPT5UYyxBcnJvd1JpZ2h0RnJvbUxpbmU6KCk9PktoLEFycm93UmlnaHRMZWZ0OigpPT5RaCxBcnJvd1JpZ2h0U3F1YXJlOigpPT5PMyxBcnJvd1JpZ2h0VG9MaW5lOigpPT5KaCxBcnJvd1VwOigpPT5kbSxBcnJvd1VwMDE6KCk9PnRtLEFycm93VXAxMDooKT0+YW0sQXJyb3dVcEFaOigpPT5YMCxBcnJvd1VwQXo6KCk9PlgwLEFycm93VXBDaXJjbGU6KCk9PkxjLEFycm93VXBEb3duOigpPT5ybSxBcnJvd1VwRnJvbURvdDooKT0+aW0sQXJyb3dVcEZyb21MaW5lOigpPT5zbSxBcnJvd1VwTGVmdDooKT0+b20sQXJyb3dVcExlZnRGcm9tQ2lyY2xlOigpPT5DYyxBcnJvd1VwTGVmdEZyb21TcXVhcmU6KCk9PlIzLEFycm93VXBMZWZ0U3F1YXJlOigpPT5CMyxBcnJvd1VwTmFycm93V2lkZTooKT0+SzAsQXJyb3dVcFJpZ2h0OigpPT5ubSxBcnJvd1VwUmlnaHRGcm9tQ2lyY2xlOigpPT5fYyxBcnJvd1VwUmlnaHRGcm9tU3F1YXJlOigpPT5GMyxBcnJvd1VwUmlnaHRTcXVhcmU6KCk9PkgzLEFycm93VXBTcXVhcmU6KCk9PnEzLEFycm93VXBUb0xpbmU6KCk9PmxtLEFycm93VXBXaWRlTmFycm93OigpPT5jbSxBcnJvd1VwWkE6KCk9PlEwLEFycm93VXBaYTooKT0+UTAsQXJyb3dzVXBGcm9tTGluZTooKT0+cG0sQXN0ZXJpc2s6KCk9PmZtLEFzdGVyaXNrU3F1YXJlOigpPT5qMyxBdFNpZ246KCk9PnVtLEF0b206KCk9PmhtLEF1ZGlvTGluZXM6KCk9Pm1tLEF1ZGlvV2F2ZWZvcm06KCk9PmdtLEF3YXJkOigpPT5ibSxBeGU6KCk9PnZtLEF4aXMzRDooKT0+SjAsQXhpczNkOigpPT5KMCxCYWJ5OigpPT54bSxCYWNrcGFjazooKT0+eW0sQmFkZ2U6KCk9Pk5tLEJhZGdlQWxlcnQ6KCk9PndtLEJhZGdlQ2VudDooKT0+TW0sQmFkZ2VDaGVjazooKT0+ZWMsQmFkZ2VEb2xsYXJTaWduOigpPT56bSxCYWRnZUV1cm86KCk9PmttLEJhZGdlSGVscDooKT0+dGMsQmFkZ2VJbmRpYW5SdXBlZTooKT0+U20sQmFkZ2VJbmZvOigpPT5DbSxCYWRnZUphcGFuZXNlWWVuOigpPT5fbSxCYWRnZU1pbnVzOigpPT5UbSxCYWRnZVBlcmNlbnQ6KCk9PkxtLEJhZGdlUGx1czooKT0+RG0sQmFkZ2VQb3VuZFN0ZXJsaW5nOigpPT4kbSxCYWRnZVF1ZXN0aW9uTWFyazooKT0+dGMsQmFkZ2VSdXNzaWFuUnVibGU6KCk9PkFtLEJhZGdlU3dpc3NGcmFuYzooKT0+UG0sQmFkZ2VUdXJraXNoTGlyYTooKT0+RW0sQmFkZ2VYOigpPT5JbSxCYWdnYWdlQ2xhaW06KCk9PlJtLEJhbGxvb246KCk9PkZtLEJhbjooKT0+T20sQmFuYW5hOigpPT5CbSxCYW5kYWdlOigpPT5IbSxCYW5rbm90ZTooKT0+VW0sQmFua25vdGVBcnJvd0Rvd246KCk9PnFtLEJhbmtub3RlQXJyb3dVcDooKT0+Vm0sQmFua25vdGVYOigpPT5qbSxCYXJDaGFydDooKT0+bWMsQmFyQ2hhcnQyOigpPT5nYyxCYXJDaGFydDM6KCk9PmZjLEJhckNoYXJ0NDooKT0+dWMsQmFyQ2hhcnRCaWc6KCk9PnBjLEJhckNoYXJ0SG9yaXpvbnRhbDooKT0+Y2MsQmFyQ2hhcnRIb3Jpem9udGFsQmlnOigpPT5sYyxCYXJjb2RlOigpPT5XbSxCYXJyZWw6KCk9PkdtLEJhc2VsaW5lOigpPT5ZbSxCYXRoOigpPT5abSxCYXR0ZXJ5OigpPT5hOSxCYXR0ZXJ5Q2hhcmdpbmc6KCk9PlhtLEJhdHRlcnlGdWxsOigpPT5LbSxCYXR0ZXJ5TG93OigpPT5RbSxCYXR0ZXJ5TWVkaXVtOigpPT5KbSxCYXR0ZXJ5UGx1czooKT0+ZTksQmF0dGVyeVdhcm5pbmc6KCk9PnQ5LEJlYWtlcjooKT0+cjksQmVhbjooKT0+czksQmVhbk9mZjooKT0+aTksQmVkOigpPT5sOSxCZWREb3VibGU6KCk9Pm85LEJlZFNpbmdsZTooKT0+bjksQmVlZjooKT0+YzksQmVlcjooKT0+cDksQmVlck9mZjooKT0+ZDksQmVsbDooKT0+djksQmVsbERvdDooKT0+dTksQmVsbEVsZWN0cmljOigpPT5oOSxCZWxsTWludXM6KCk9Pm05LEJlbGxPZmY6KCk9PmY5LEJlbGxQbHVzOigpPT5nOSxCZWxsUmluZzooKT0+YjksQmV0d2Vlbkhvcml6b25hbEVuZDooKT0+YWMsQmV0d2Vlbkhvcml6b25hbFN0YXJ0OigpPT5yYyxCZXR3ZWVuSG9yaXpvbnRhbEVuZDooKT0+YWMsQmV0d2Vlbkhvcml6b250YWxTdGFydDooKT0+cmMsQmV0d2VlblZlcnRpY2FsRW5kOigpPT54OSxCZXR3ZWVuVmVydGljYWxTdGFydDooKT0+eTksQmljZXBzRmxleGVkOigpPT5NOSxCaWtlOigpPT53OSxCaW5hcnk6KCk9Pms5LEJpbm9jdWxhcnM6KCk9PlM5LEJpb2hhemFyZDooKT0+ejksQmlyZDooKT0+QzksQmlyZGhvdXNlOigpPT5UOSxCaXRjb2luOigpPT5fOSxCbGVuZDooKT0+TDksQmxpbmRzOigpPT4kOSxCbG9ja3M6KCk9PkQ5LEJsdWV0b290aDooKT0+STksQmx1ZXRvb3RoQ29ubmVjdGVkOigpPT5BOSxCbHVldG9vdGhPZmY6KCk9PlA5LEJsdWV0b290aFNlYXJjaGluZzooKT0+RTksQm9sZDooKT0+TjksQm9sdDooKT0+UjksQm9tYjooKT0+RjksQm9uZTooKT0+TzksQm9vazooKT0+ZGcsQm9va0E6KCk9PkI5LEJvb2tBbGVydDooKT0+SDksQm9va0F1ZGlvOigpPT5xOSxCb29rQ2hlY2s6KCk9PlY5LEJvb2tDb3B5OigpPT5qOSxCb29rRGFzaGVkOigpPT5pYyxCb29rRG93bjooKT0+VTksQm9va0hlYWRwaG9uZXM6KCk9Plc5LEJvb2tIZWFydDooKT0+RzksQm9va0ltYWdlOigpPT5ZOSxCb29rS2V5OigpPT5aOSxCb29rTG9jazooKT0+SzksQm9va01hcmtlZDooKT0+WDksQm9va01pbnVzOigpPT5ROSxCb29rT3BlbjooKT0+dGcsQm9va09wZW5DaGVjazooKT0+SjksQm9va09wZW5UZXh0OigpPT5lZyxCb29rUGx1czooKT0+YWcsQm9va1NlYXJjaDooKT0+cmcsQm9va1RlbXBsYXRlOigpPT5pYyxCb29rVGV4dDooKT0+aWcsQm9va1R5cGU6KCk9Pm9nLEJvb2tVcDooKT0+bmcsQm9va1VwMjooKT0+c2csQm9va1VzZXI6KCk9PmxnLEJvb2tYOigpPT5jZyxCb29rbWFyazooKT0+bWcsQm9va21hcmtDaGVjazooKT0+cGcsQm9va21hcmtNaW51czooKT0+dWcsQm9va21hcmtQbHVzOigpPT5mZyxCb29rbWFya1g6KCk9PmhnLEJvb21Cb3g6KCk9PmdnLEJvdDooKT0+eGcsQm90TWVzc2FnZVNxdWFyZTooKT0+YmcsQm90T2ZmOigpPT52ZyxCb3R0bGVXaW5lOigpPT53ZyxCb3dBcnJvdzooKT0+eWcsQm94OigpPT5NZyxCb3hTZWxlY3Q6KCk9PmFkLEJveGVzOigpPT5rZyxCcmFjZXM6KCk9PnNjLEJyYWNrZXRzOigpPT56ZyxCcmFpbjooKT0+Q2csQnJhaW5DaXJjdWl0OigpPT5TZyxCcmFpbkNvZzooKT0+X2csQnJpY2tXYWxsOigpPT4kZyxCcmlja1dhbGxGaXJlOigpPT5UZyxCcmlja1dhbGxTaGllbGQ6KCk9PkxnLEJyaWVmY2FzZTooKT0+RWcsQnJpZWZjYXNlQnVzaW5lc3M6KCk9PkRnLEJyaWVmY2FzZUNvbnZleW9yQmVsdDooKT0+QWcsQnJpZWZjYXNlTWVkaWNhbDooKT0+UGcsQnJpbmdUb0Zyb250OigpPT5JZyxCcnVzaDooKT0+UmcsQnJ1c2hDbGVhbmluZzooKT0+TmcsQnViYmxlczooKT0+T2csQnVnOigpPT5IZyxCdWdPZmY6KCk9PkZnLEJ1Z1BsYXk6KCk9PkJnLEJ1aWxkaW5nOigpPT5WZyxCdWlsZGluZzI6KCk9PnFnLEJ1czooKT0+VWcsQnVzRnJvbnQ6KCk9PmpnLENhYmxlOigpPT5HZyxDYWJsZUNhcjooKT0+V2csQ2FrZTooKT0+WmcsQ2FrZVNsaWNlOigpPT5ZZyxDYWxjdWxhdG9yOigpPT5YZyxDYWxlbmRhcjooKT0+YmIsQ2FsZW5kYXIxOigpPT5LZyxDYWxlbmRhckFycm93RG93bjooKT0+UWcsQ2FsZW5kYXJBcnJvd1VwOigpPT5KZyxDYWxlbmRhckNoZWNrOigpPT50YixDYWxlbmRhckNoZWNrMjooKT0+ZWIsQ2FsZW5kYXJDbG9jazooKT0+YWIsQ2FsZW5kYXJDb2c6KCk9PnJiLENhbGVuZGFyRGF5czooKT0+aWIsQ2FsZW5kYXJGb2xkOigpPT5zYixDYWxlbmRhckhlYXJ0OigpPT5vYixDYWxlbmRhck1pbnVzOigpPT5sYixDYWxlbmRhck1pbnVzMjooKT0+bmIsQ2FsZW5kYXJPZmY6KCk9PmNiLENhbGVuZGFyUGx1czooKT0+cGIsQ2FsZW5kYXJQbHVzMjooKT0+ZGIsQ2FsZW5kYXJSYW5nZTooKT0+dWIsQ2FsZW5kYXJTZWFyY2g6KCk9PmZiLENhbGVuZGFyU3luYzooKT0+aGIsQ2FsZW5kYXJYOigpPT5nYixDYWxlbmRhclgyOigpPT5tYixDYWxlbmRhcnM6KCk9PnZiLENhbWVyYTooKT0+eWIsQ2FtZXJhT2ZmOigpPT54YixDYW5kbGVzdGlja0NoYXJ0OigpPT5kYyxDYW5keTooKT0+U2IsQ2FuZHlDYW5lOigpPT53YixDYW5keU9mZjooKT0+TWIsQ2FubmFiaXM6KCk9PnpiLENhbm5hYmlzT2ZmOigpPT5rYixDYXB0aW9uczooKT0+b2MsQ2FwdGlvbnNPZmY6KCk9PkNiLENhcjooKT0+TGIsQ2FyRnJvbnQ6KCk9Pl9iLENhclRheGlGcm9udDooKT0+VGIsQ2FyYXZhbjooKT0+JGIsQ2FyZFNpbTooKT0+QWIsQ2Fycm90OigpPT5EYixDYXNlTG93ZXI6KCk9PlBiLENhc2VTZW5zaXRpdmU6KCk9PkViLENhc2VVcHBlcjooKT0+SWIsQ2Fzc2V0dGVUYXBlOigpPT5OYixDYXN0OigpPT5SYixDYXN0bGU6KCk9Pk9iLENhdDooKT0+RmIsQ2N0djooKT0+QmIsQ2hhcnRBcmVhOigpPT5uYyxDaGFydEJhcjooKT0+Y2MsQ2hhcnRCYXJCaWc6KCk9PmxjLENoYXJ0QmFyRGVjcmVhc2luZzooKT0+SGIsQ2hhcnRCYXJJbmNyZWFzaW5nOigpPT5xYixDaGFydEJhclN0YWNrZWQ6KCk9PlZiLENoYXJ0Q2FuZGxlc3RpY2s6KCk9PmRjLENoYXJ0Q29sdW1uOigpPT5mYyxDaGFydENvbHVtbkJpZzooKT0+cGMsQ2hhcnRDb2x1bW5EZWNyZWFzaW5nOigpPT5qYixDaGFydENvbHVtbkluY3JlYXNpbmc6KCk9PnVjLENoYXJ0Q29sdW1uU3RhY2tlZDooKT0+VWIsQ2hhcnRHYW50dDooKT0+V2IsQ2hhcnRMaW5lOigpPT5oYyxDaGFydE5ldHdvcms6KCk9PkdiLENoYXJ0Tm9BeGVzQ29sdW1uOigpPT5nYyxDaGFydE5vQXhlc0NvbHVtbkRlY3JlYXNpbmc6KCk9PlliLENoYXJ0Tm9BeGVzQ29sdW1uSW5jcmVhc2luZzooKT0+bWMsQ2hhcnROb0F4ZXNDb21iaW5lZDooKT0+WmIsQ2hhcnROb0F4ZXNHYW50dDooKT0+YmMsQ2hhcnRQaWU6KCk9PnZjLENoYXJ0U2NhdHRlcjooKT0+eGMsQ2hhcnRTcGxpbmU6KCk9PlhiLENoZWNrOigpPT5KYixDaGVja0NoZWNrOigpPT5LYixDaGVja0NpcmNsZTooKT0+JGMsQ2hlY2tDaXJjbGUyOigpPT5EYyxDaGVja0xpbmU6KCk9PlFiLENoZWNrU3F1YXJlOigpPT5HMyxDaGVja1NxdWFyZTI6KCk9PlkzLENoZWZIYXQ6KCk9PmV2LENoZXJyeTooKT0+dHYsQ2hlc3NCaXNob3A6KCk9PnJ2LENoZXNzS2luZzooKT0+YXYsQ2hlc3NLbmlnaHQ6KCk9Pml2LENoZXNzUGF3bjooKT0+c3YsQ2hlc3NRdWVlbjooKT0+b3YsQ2hlc3NSb29rOigpPT5udixDaGV2cm9uRG93bjooKT0+bHYsQ2hldnJvbkRvd25DaXJjbGU6KCk9PkFjLENoZXZyb25Eb3duU3F1YXJlOigpPT5aMyxDaGV2cm9uRmlyc3Q6KCk9PmN2LENoZXZyb25MYXN0OigpPT5kdixDaGV2cm9uTGVmdDooKT0+dXYsQ2hldnJvbkxlZnRDaXJjbGU6KCk9PlBjLENoZXZyb25MZWZ0U3F1YXJlOigpPT5YMyxDaGV2cm9uUmlnaHQ6KCk9PnB2LENoZXZyb25SaWdodENpcmNsZTooKT0+RWMsQ2hldnJvblJpZ2h0U3F1YXJlOigpPT5LMyxDaGV2cm9uVXA6KCk9PmZ2LENoZXZyb25VcENpcmNsZTooKT0+SWMsQ2hldnJvblVwU3F1YXJlOigpPT5RMyxDaGV2cm9uc0Rvd246KCk9Pm12LENoZXZyb25zRG93blVwOigpPT5odixDaGV2cm9uc0xlZnQ6KCk9PnZ2LENoZXZyb25zTGVmdFJpZ2h0OigpPT5idixDaGV2cm9uc0xlZnRSaWdodEVsbGlwc2lzOigpPT5ndixDaGV2cm9uc1JpZ2h0OigpPT55dixDaGV2cm9uc1JpZ2h0TGVmdDooKT0+eHYsQ2hldnJvbnNVcDooKT0+TXYsQ2hldnJvbnNVcERvd246KCk9Pnd2LENocm9tZTooKT0+eWMsQ2hyb21pdW06KCk9PnljLENodXJjaDooKT0+enYsQ2lnYXJldHRlOigpPT5TdixDaWdhcmV0dGVPZmY6KCk9Pmt2LENpcmNsZTooKT0+QnYsQ2lyY2xlQWxlcnQ6KCk9PndjLENpcmNsZUFycm93RG93bjooKT0+TWMsQ2lyY2xlQXJyb3dMZWZ0OigpPT5rYyxDaXJjbGVBcnJvd091dERvd25MZWZ0OigpPT56YyxDaXJjbGVBcnJvd091dERvd25SaWdodDooKT0+U2MsQ2lyY2xlQXJyb3dPdXRVcExlZnQ6KCk9PkNjLENpcmNsZUFycm93T3V0VXBSaWdodDooKT0+X2MsQ2lyY2xlQXJyb3dSaWdodDooKT0+VGMsQ2lyY2xlQXJyb3dVcDooKT0+TGMsQ2lyY2xlQ2hlY2s6KCk9PkRjLENpcmNsZUNoZWNrQmlnOigpPT4kYyxDaXJjbGVDaGV2cm9uRG93bjooKT0+QWMsQ2lyY2xlQ2hldnJvbkxlZnQ6KCk9PlBjLENpcmNsZUNoZXZyb25SaWdodDooKT0+RWMsQ2lyY2xlQ2hldnJvblVwOigpPT5JYyxDaXJjbGVEYXNoZWQ6KCk9PkN2LENpcmNsZURpdmlkZTooKT0+TmMsQ2lyY2xlRG9sbGFyU2lnbjooKT0+X3YsQ2lyY2xlRG90OigpPT5MdixDaXJjbGVEb3REYXNoZWQ6KCk9PlR2LENpcmNsZUVsbGlwc2lzOigpPT4kdixDaXJjbGVFcXVhbDooKT0+RHYsQ2lyY2xlRmFkaW5nQXJyb3dVcDooKT0+QXYsQ2lyY2xlRmFkaW5nUGx1czooKT0+UHYsQ2lyY2xlR2F1Z2U6KCk9PlJjLENpcmNsZUhlbHA6KCk9PnlvLENpcmNsZU1pbnVzOigpPT5GYyxDaXJjbGVPZmY6KCk9PkV2LENpcmNsZVBhcmtpbmc6KCk9Pk9jLENpcmNsZVBhcmtpbmdPZmY6KCk9PkJjLENpcmNsZVBhdXNlOigpPT5IYyxDaXJjbGVQZXJjZW50OigpPT5xYyxDaXJjbGVQaWxlOigpPT5JdixDaXJjbGVQbGF5OigpPT5WYyxDaXJjbGVQbHVzOigpPT5qYyxDaXJjbGVQb3VuZFN0ZXJsaW5nOigpPT5OdixDaXJjbGVQb3dlcjooKT0+VWMsQ2lyY2xlUXVlc3Rpb25NYXJrOigpPT55byxDaXJjbGVTbGFzaDooKT0+UnYsQ2lyY2xlU2xhc2gyOigpPT5XYyxDaXJjbGVTbGFzaGVkOigpPT5XYyxDaXJjbGVTbWFsbDooKT0+RnYsQ2lyY2xlU3RhcjooKT0+T3YsQ2lyY2xlU3RvcDooKT0+R2MsQ2lyY2xlVXNlcjooKT0+WmMsQ2lyY2xlVXNlclJvdW5kOigpPT5ZYyxDaXJjbGVYOigpPT5YYyxDaXJjdWl0Qm9hcmQ6KCk9Pkh2LENpdHJ1czooKT0+cXYsQ2xhcHBlcmJvYXJkOigpPT5WdixDbGlwYm9hcmQ6KCk9Pkp2LENsaXBib2FyZENoZWNrOigpPT5qdixDbGlwYm9hcmRDbG9jazooKT0+VXYsQ2xpcGJvYXJkQ29weTooKT0+V3YsQ2xpcGJvYXJkRWRpdDooKT0+UWMsQ2xpcGJvYXJkTGlzdDooKT0+R3YsQ2xpcGJvYXJkTWludXM6KCk9Pll2LENsaXBib2FyZFBhc3RlOigpPT5adixDbGlwYm9hcmRQZW46KCk9PlFjLENsaXBib2FyZFBlbkxpbmU6KCk9PktjLENsaXBib2FyZFBsdXM6KCk9Plh2LENsaXBib2FyZFNpZ25hdHVyZTooKT0+S2MsQ2xpcGJvYXJkVHlwZTooKT0+S3YsQ2xpcGJvYXJkWDooKT0+UXYsQ2xvY2s6KCk9PnZ4LENsb2NrMTooKT0+ZXgsQ2xvY2sxMDooKT0+dHgsQ2xvY2sxMTooKT0+YXgsQ2xvY2sxMjooKT0+cngsQ2xvY2syOigpPT5zeCxDbG9jazM6KCk9Pml4LENsb2NrNDooKT0+b3gsQ2xvY2s1OigpPT5ueCxDbG9jazY6KCk9Pmx4LENsb2NrNzooKT0+Y3gsQ2xvY2s4OigpPT5weCxDbG9jazk6KCk9PmR4LENsb2NrQWxlcnQ6KCk9PnV4LENsb2NrQXJyb3dEb3duOigpPT5meCxDbG9ja0Fycm93VXA6KCk9Pmh4LENsb2NrQ2hlY2s6KCk9Pm14LENsb2NrRmFkaW5nOigpPT5neCxDbG9ja1BsdXM6KCk9PmJ4LENsb3NlZENhcHRpb246KCk9Pnl4LENsb3VkOigpPT5SeCxDbG91ZEFsZXJ0OigpPT54eCxDbG91ZEJhY2t1cDooKT0+d3gsQ2xvdWRDaGVjazooKT0+TXgsQ2xvdWRDb2c6KCk9Pmt4LENsb3VkRG93bmxvYWQ6KCk9PkpjLENsb3VkRHJpenpsZTooKT0+engsQ2xvdWRGb2c6KCk9PlN4LENsb3VkSGFpbDooKT0+Q3gsQ2xvdWRMaWdodG5pbmc6KCk9Pl94LENsb3VkTW9vbjooKT0+THgsQ2xvdWRNb29uUmFpbjooKT0+VHgsQ2xvdWRPZmY6KCk9PiR4LENsb3VkUmFpbjooKT0+QXgsQ2xvdWRSYWluV2luZDooKT0+RHgsQ2xvdWRTbm93OigpPT5QeCxDbG91ZFN1bjooKT0+TngsQ2xvdWRTdW5SYWluOigpPT5FeCxDbG91ZFN5bmM6KCk9Pkl4LENsb3VkVXBsb2FkOigpPT5lNCxDbG91ZHk6KCk9PkZ4LENsb3ZlcjooKT0+T3gsQ2x1YjooKT0+QngsQ29kZTooKT0+SHgsQ29kZTI6KCk9PnQ0LENvZGVTcXVhcmU6KCk9PkozLENvZGVYbWw6KCk9PnQ0LENvZGVwZW46KCk9PnF4LENvZGVzYW5kYm94OigpPT5WeCxDb2ZmZWU6KCk9Pmp4LENvZzooKT0+VXgsQ29pbnM6KCk9Pld4LENvbHVtbnM6KCk9PmE0LENvbHVtbnMyOigpPT5hNCxDb2x1bW5zMzooKT0+cjQsQ29sdW1uczNDb2c6KCk9PndvLENvbHVtbnM0OigpPT5HeCxDb2x1bW5zU2V0dGluZ3M6KCk9PndvLENvbWJpbmU6KCk9Pll4LENvbW1hbmQ6KCk9Plp4LENvbXBhc3M6KCk9Plh4LENvbXBvbmVudDooKT0+S3gsQ29tcHV0ZXI6KCk9Pkp4LENvbmNpZXJnZUJlbGw6KCk9PlF4LENvbmU6KCk9PmV5LENvbnN0cnVjdGlvbjooKT0+dHksQ29udGFjdDooKT0+YXksQ29udGFjdDI6KCk9Pmk0LENvbnRhY3RSb3VuZDooKT0+aTQsQ29udGFpbmVyOigpPT5yeSxDb250cmFzdDooKT0+aXksQ29va2llOigpPT5zeSxDb29raW5nUG90OigpPT5veSxDb3B5OigpPT51eSxDb3B5Q2hlY2s6KCk9Pm55LENvcHlNaW51czooKT0+bHksQ29weVBsdXM6KCk9PmN5LENvcHlTbGFzaDooKT0+ZHksQ29weVg6KCk9PnB5LENvcHlsZWZ0OigpPT5meSxDb3B5cmlnaHQ6KCk9Pmh5LENvcm5lckRvd25MZWZ0OigpPT5teSxDb3JuZXJEb3duUmlnaHQ6KCk9Pmd5LENvcm5lckxlZnREb3duOigpPT5ieSxDb3JuZXJMZWZ0VXA6KCk9PnZ5LENvcm5lclJpZ2h0RG93bjooKT0+eHksQ29ybmVyUmlnaHRVcDooKT0+eXksQ29ybmVyVXBMZWZ0OigpPT53eSxDb3JuZXJVcFJpZ2h0OigpPT5reSxDcHU6KCk9Pk15LENyZWF0aXZlQ29tbW9uczooKT0+enksQ3JlZGl0Q2FyZDooKT0+U3ksQ3JvaXNzYW50OigpPT5DeSxDcm9wOigpPT5feSxDcm9zczooKT0+VHksQ3Jvc3NoYWlyOigpPT5MeSxDcm93bjooKT0+JHksQ3Vib2lkOigpPT5BeSxDdXBTb2RhOigpPT5EeSxDdXJseUJyYWNlczooKT0+c2MsQ3VycmVuY3k6KCk9PlB5LEN5bGluZGVyOigpPT5FeSxEYW06KCk9Pkl5LERhdGFiYXNlOigpPT5CeSxEYXRhYmFzZUJhY2t1cDooKT0+TnksRGF0YWJhc2VTZWFyY2g6KCk9PkZ5LERhdGFiYXNlWmFwOigpPT5SeSxEZWNpbWFsc0Fycm93TGVmdDooKT0+T3ksRGVjaW1hbHNBcnJvd1JpZ2h0OigpPT5IeSxEZWxldGU6KCk9PnF5LERlc3NlcnQ6KCk9Pmp5LERpYW1ldGVyOigpPT5WeSxEaWFtb25kOigpPT5HeSxEaWFtb25kTWludXM6KCk9PlV5LERpYW1vbmRQZXJjZW50OigpPT5zNCxEaWFtb25kUGx1czooKT0+V3ksRGljZTE6KCk9Pll5LERpY2UyOigpPT5aeSxEaWNlMzooKT0+WHksRGljZTQ6KCk9Pkt5LERpY2U1OigpPT5ReSxEaWNlNjooKT0+SnksRGljZXM6KCk9PmV3LERpZmY6KCk9PnR3LERpc2M6KCk9PnN3LERpc2MyOigpPT5hdyxEaXNjMzooKT0+aXcsRGlzY0FsYnVtOigpPT5ydyxEaXZpZGU6KCk9Pm93LERpdmlkZUNpcmNsZTooKT0+TmMsRGl2aWRlU3F1YXJlOigpPT5yZCxEbmE6KCk9PmN3LERuYU9mZjooKT0+bncsRG9jazooKT0+bHcsRG9nOigpPT5kdyxEb2xsYXJTaWduOigpPT5wdyxEb251dDooKT0+dXcsRG9vckNsb3NlZDooKT0+ZncsRG9vckNsb3NlZExvY2tlZDooKT0+aHcsRG9vck9wZW46KCk9Pm13LERvdDooKT0+Z3csRG90U3F1YXJlOigpPT5pZCxEb3dubG9hZDooKT0+YncsRG93bmxvYWRDbG91ZDooKT0+SmMsRHJhZnRpbmdDb21wYXNzOigpPT54dyxEcmFtYTooKT0+dncsRHJpYmJibGU6KCk9Pnl3LERyaWxsOigpPT53dyxEcm9uZTooKT0+TXcsRHJvcGxldDooKT0+a3csRHJvcGxldE9mZjooKT0+encsRHJvcGxldHM6KCk9PlN3LERydW06KCk9PkN3LERydW1zdGljazooKT0+X3csRHVtYmJlbGw6KCk9PlR3LEVhcjooKT0+JHcsRWFyT2ZmOigpPT5MdyxFYXJ0aDooKT0+bzQsRWFydGhMb2NrOigpPT5EdyxFY2xpcHNlOigpPT5BdyxFZGl0OigpPT5TcyxFZGl0MjooKT0+djMsRWRpdDM6KCk9PmIzLEVnZzooKT0+SXcsRWdnRnJpZWQ6KCk9PkV3LEVnZ09mZjooKT0+UHcsRWxsaXBzZTooKT0+TncsRWxsaXBzaXM6KCk9Pmw0LEVsbGlwc2lzVmVydGljYWw6KCk9Pm40LEVxdWFsOigpPT5PdyxFcXVhbEFwcHJveGltYXRlbHk6KCk9PlJ3LEVxdWFsTm90OigpPT5GdyxFcXVhbFNxdWFyZTooKT0+c2QsRXJhc2VyOigpPT5CdyxFdGhlcm5ldFBvcnQ6KCk9Pkh3LEV1cm86KCk9PnF3LEV2Q2hhcmdlcjooKT0+ancsRXhwYW5kOigpPT5WdyxFeHRlcm5hbExpbms6KCk9PlV3LEV5ZTooKT0+WXcsRXllQ2xvc2VkOigpPT5HdyxFeWVPZmY6KCk9Pld3LEZhY2Vib29rOigpPT5adyxGYWN0b3J5OigpPT5YdyxGYW46KCk9Pkt3LEZhc3RGb3J3YXJkOigpPT5RdyxGZWF0aGVyOigpPT5KdyxGZW5jZTooKT0+ZU0sRmVycmlzV2hlZWw6KCk9PnRNLEZpZ21hOigpPT5hTSxGaWxlOigpPT5ETSxGaWxlQXJjaGl2ZTooKT0+ck0sRmlsZUF1ZGlvOigpPT5NbyxGaWxlQXVkaW8yOigpPT5NbyxGaWxlQXhpczNEOigpPT5jNCxGaWxlQXhpczNkOigpPT5jNCxGaWxlQmFkZ2U6KCk9PmQ0LEZpbGVCYWRnZTI6KCk9PmQ0LEZpbGVCYXJDaGFydDooKT0+ZjQsRmlsZUJhckNoYXJ0MjooKT0+aDQsRmlsZUJveDooKT0+aU0sRmlsZUJyYWNlczooKT0+dTQsRmlsZUJyYWNlc0Nvcm5lcjooKT0+cDQsRmlsZUNoYXJ0Q29sdW1uOigpPT5oNCxGaWxlQ2hhcnRDb2x1bW5JbmNyZWFzaW5nOigpPT5mNCxGaWxlQ2hhcnRMaW5lOigpPT5tNCxGaWxlQ2hhcnRQaWU6KCk9Pmc0LEZpbGVDaGVjazooKT0+c00sRmlsZUNoZWNrMjooKT0+YjQsRmlsZUNoZWNrQ29ybmVyOigpPT5iNCxGaWxlQ2xvY2s6KCk9Pm9NLEZpbGVDb2RlOigpPT5uTSxGaWxlQ29kZTI6KCk9PnY0LEZpbGVDb2RlQ29ybmVyOigpPT52NCxGaWxlQ29nOigpPT54NCxGaWxlQ29nMjooKT0+eDQsRmlsZURpZmY6KCk9PmNNLEZpbGVEaWdpdDooKT0+bE0sRmlsZURvd246KCk9PmRNLEZpbGVFZGl0OigpPT5TNCxGaWxlRXhjbGFtYXRpb25Qb2ludDooKT0+eTQsRmlsZUhlYWRwaG9uZTooKT0+TW8sRmlsZUhlYXJ0OigpPT5wTSxGaWxlSW1hZ2U6KCk9PnVNLEZpbGVJbnB1dDooKT0+Zk0sRmlsZUpzb246KCk9PnU0LEZpbGVKc29uMjooKT0+cDQsRmlsZUtleTooKT0+TTQsRmlsZUtleTI6KCk9Pk00LEZpbGVMaW5lQ2hhcnQ6KCk9Pm00LEZpbGVMb2NrOigpPT53NCxGaWxlTG9jazI6KCk9Pnc0LEZpbGVNaW51czooKT0+aE0sRmlsZU1pbnVzMjooKT0+azQsRmlsZU1pbnVzQ29ybmVyOigpPT5rNCxGaWxlTXVzaWM6KCk9Pm1NLEZpbGVPdXRwdXQ6KCk9PmdNLEZpbGVQZW46KCk9PlM0LEZpbGVQZW5MaW5lOigpPT56NCxGaWxlUGllQ2hhcnQ6KCk9Pmc0LEZpbGVQbGF5OigpPT5DNCxGaWxlUGx1czooKT0+Yk0sRmlsZVBsdXMyOigpPT5fNCxGaWxlUGx1c0Nvcm5lcjooKT0+XzQsRmlsZVF1ZXN0aW9uOigpPT5UNCxGaWxlUXVlc3Rpb25NYXJrOigpPT5UNCxGaWxlU2NhbjooKT0+dk0sRmlsZVNlYXJjaDooKT0+eE0sRmlsZVNlYXJjaDI6KCk9Pkw0LEZpbGVTZWFyY2hDb3JuZXI6KCk9Pkw0LEZpbGVTaWduYWw6KCk9PiQ0LEZpbGVTaWduYXR1cmU6KCk9Pno0LEZpbGVTbGlkZXJzOigpPT55TSxGaWxlU3ByZWFkc2hlZXQ6KCk9PndNLEZpbGVTdGFjazooKT0+TU0sRmlsZVN5bWxpbms6KCk9PmtNLEZpbGVUZXJtaW5hbDooKT0+Q00sRmlsZVRleHQ6KCk9PnpNLEZpbGVUeXBlOigpPT5TTSxGaWxlVHlwZTI6KCk9PkQ0LEZpbGVUeXBlQ29ybmVyOigpPT5ENCxGaWxlVXA6KCk9Pl9NLEZpbGVVc2VyOigpPT5UTSxGaWxlVmlkZW86KCk9PkM0LEZpbGVWaWRlbzI6KCk9PkE0LEZpbGVWaWRlb0NhbWVyYTooKT0+QTQsRmlsZVZvbHVtZTooKT0+TE0sRmlsZVZvbHVtZTI6KCk9PiQ0LEZpbGVXYXJuaW5nOigpPT55NCxGaWxlWDooKT0+JE0sRmlsZVgyOigpPT5QNCxGaWxlWENvcm5lcjooKT0+UDQsRmlsZXM6KCk9PkFNLEZpbG06KCk9PlBNLEZpbHRlcjooKT0+RjQsRmlsdGVyWDooKT0+UjQsRmluZ2VycHJpbnQ6KCk9PkU0LEZpbmdlcnByaW50UGF0dGVybjooKT0+RTQsRmlyZUV4dGluZ3Vpc2hlcjooKT0+RU0sRmlzaDooKT0+Uk0sRmlzaE9mZjooKT0+SU0sRmlzaFN5bWJvbDooKT0+Tk0sRmlzaGluZ0hvb2s6KCk9PkZNLEZpc2hpbmdSb2Q6KCk9Pk9NLEZsYWc6KCk9PlZNLEZsYWdPZmY6KCk9PkhNLEZsYWdUcmlhbmdsZUxlZnQ6KCk9PkJNLEZsYWdUcmlhbmdsZVJpZ2h0OigpPT5xTSxGbGFtZTooKT0+VU0sRmxhbWVLaW5kbGluZzooKT0+ak0sRmxhc2hsaWdodDooKT0+R00sRmxhc2hsaWdodE9mZjooKT0+V00sRmxhc2tDb25pY2FsOigpPT5ZTSxGbGFza0NvbmljYWxPZmY6KCk9PlpNLEZsYXNrUm91bmQ6KCk9PlhNLEZsaXBIb3Jpem9udGFsOigpPT5WMyxGbGlwSG9yaXpvbnRhbDI6KCk9PktNLEZsaXBWZXJ0aWNhbDooKT0+VzMsRmxpcFZlcnRpY2FsMjooKT0+UU0sRmxvd2VyOigpPT5layxGbG93ZXIyOigpPT5KTSxGb2N1czooKT0+dGssRm9sZEhvcml6b250YWw6KCk9PmFrLEZvbGRWZXJ0aWNhbDooKT0+cmssRm9sZGVyOigpPT5EayxGb2xkZXJBcmNoaXZlOigpPT5payxGb2xkZXJDaGVjazooKT0+c2ssRm9sZGVyQ2xvY2s6KCk9Pm9rLEZvbGRlckNsb3NlZDooKT0+bmssRm9sZGVyQ29kZTooKT0+bGssRm9sZGVyQ29nOigpPT5JNCxGb2xkZXJDb2cyOigpPT5JNCxGb2xkZXJEb3Q6KCk9PmNrLEZvbGRlckRvd246KCk9PmRrLEZvbGRlckVkaXQ6KCk9Pk40LEZvbGRlckdpdDooKT0+dWssRm9sZGVyR2l0MjooKT0+cGssRm9sZGVySGVhcnQ6KCk9PmZrLEZvbGRlcklucHV0OigpPT5oayxGb2xkZXJLYW5iYW46KCk9Pm1rLEZvbGRlcktleTooKT0+Z2ssRm9sZGVyTG9jazooKT0+YmssRm9sZGVyTWludXM6KCk9PnZrLEZvbGRlck9wZW46KCk9PnlrLEZvbGRlck9wZW5Eb3Q6KCk9PnhrLEZvbGRlck91dHB1dDooKT0+d2ssRm9sZGVyUGVuOigpPT5ONCxGb2xkZXJQbHVzOigpPT5NayxGb2xkZXJSb290OigpPT5rayxGb2xkZXJTZWFyY2g6KCk9PlNrLEZvbGRlclNlYXJjaDI6KCk9PnprLEZvbGRlclN5bWxpbms6KCk9PkNrLEZvbGRlclN5bmM6KCk9Pl9rLEZvbGRlclRyZWU6KCk9PlRrLEZvbGRlclVwOigpPT5MayxGb2xkZXJYOigpPT4kayxGb2xkZXJzOigpPT5BayxGb290cHJpbnRzOigpPT5QayxGb3JrS25pZmU6KCk9PlhkLEZvcmtLbmlmZUNyb3NzZWQ6KCk9PlpkLEZvcmtsaWZ0OigpPT5JayxGb3JtOigpPT5FayxGb3JtSW5wdXQ6KCk9PnkzLEZvcndhcmQ6KCk9PlJrLEZyYW1lOigpPT5OayxGcmFtZXI6KCk9PkZrLEZyb3duOigpPT5PayxGdWVsOigpPT5CayxGdWxsc2NyZWVuOigpPT5IayxGdW5jdGlvblNxdWFyZTooKT0+b2QsRnVubmVsOigpPT5GNCxGdW5uZWxQbHVzOigpPT5xayxGdW5uZWxYOigpPT5SNCxHYWxsZXJ5SG9yaXpvbnRhbDooKT0+amssR2FsbGVyeUhvcml6b250YWxFbmQ6KCk9PlZrLEdhbGxlcnlUaHVtYm5haWxzOigpPT5VayxHYWxsZXJ5VmVydGljYWw6KCk9PkdrLEdhbGxlcnlWZXJ0aWNhbEVuZDooKT0+V2ssR2FtZXBhZDooKT0+WGssR2FtZXBhZDI6KCk9PllrLEdhbWVwYWREaXJlY3Rpb25hbDooKT0+WmssR2FudHRDaGFydDooKT0+YmMsR2FudHRDaGFydFNxdWFyZTooKT0+Q28sR2F1Z2U6KCk9PktrLEdhdWdlQ2lyY2xlOigpPT5SYyxHYXZlbDooKT0+UWssR2VtOigpPT5leixHZW9yZ2lhbkxhcmk6KCk9PkprLEdob3N0OigpPT50eixHaWZ0OigpPT5heixHaXRCcmFuY2g6KCk9PnN6LEdpdEJyYW5jaE1pbnVzOigpPT5yeixHaXRCcmFuY2hQbHVzOigpPT5peixHaXRDb21taXQ6KCk9Pk80LEdpdENvbW1pdEhvcml6b250YWw6KCk9Pk80LEdpdENvbW1pdFZlcnRpY2FsOigpPT5veixHaXRDb21wYXJlOigpPT5seixHaXRDb21wYXJlQXJyb3dzOigpPT5ueixHaXRGb3JrOigpPT5keixHaXRHcmFwaDooKT0+Y3osR2l0TWVyZ2U6KCk9PnV6LEdpdE1lcmdlQ29uZmxpY3Q6KCk9PnB6LEdpdFB1bGxSZXF1ZXN0OigpPT52eixHaXRQdWxsUmVxdWVzdEFycm93OigpPT5meixHaXRQdWxsUmVxdWVzdENsb3NlZDooKT0+aHosR2l0UHVsbFJlcXVlc3RDcmVhdGU6KCk9Pmd6LEdpdFB1bGxSZXF1ZXN0Q3JlYXRlQXJyb3c6KCk9Pm16LEdpdFB1bGxSZXF1ZXN0RHJhZnQ6KCk9PmJ6LEdpdGh1YjooKT0+eHosR2l0bGFiOigpPT55eixHbGFzc1dhdGVyOigpPT53eixHbGFzc2VzOigpPT5reixHbG9iZTooKT0+Q3osR2xvYmUyOigpPT5vNCxHbG9iZUxvY2s6KCk9Pk16LEdsb2JlT2ZmOigpPT5TeixHbG9iZVg6KCk9Pnp6LEdvYWw6KCk9Pl96LEdwdTooKT0+VHosR3JhYjooKT0+ajQsR3JhZHVhdGlvbkNhcDooKT0+THosR3JhcGU6KCk9PiR6LEdyaWQ6KCk9PmtvLEdyaWQyWDI6KCk9PlY0LEdyaWQyWDJDaGVjazooKT0+QjQsR3JpZDJYMlBsdXM6KCk9Pkg0LEdyaWQyWDJYOigpPT5xNCxHcmlkMngyOigpPT5WNCxHcmlkMngyQ2hlY2s6KCk9PkI0LEdyaWQyeDJQbHVzOigpPT5INCxHcmlkMngyWDooKT0+cTQsR3JpZDNYMzooKT0+a28sR3JpZDN4MjooKT0+RHosR3JpZDN4MzooKT0+a28sR3JpcDooKT0+RXosR3JpcEhvcml6b250YWw6KCk9PkF6LEdyaXBWZXJ0aWNhbDooKT0+UHosR3JvdXA6KCk9Pkl6LEd1aXRhcjooKT0+TnosSGFtOigpPT5SeixIYW1idXJnZXI6KCk9PkZ6LEhhbW1lcjooKT0+T3osSGFuZDooKT0+V3osSGFuZENvaW5zOigpPT5CeixIYW5kRmlzdDooKT0+SHosSGFuZEdyYWI6KCk9Pmo0LEhhbmRIZWFydDooKT0+cXosSGFuZEhlbHBpbmc6KCk9PlU0LEhhbmRNZXRhbDooKT0+VnosSGFuZFBsYXR0ZXI6KCk9Pmp6LEhhbmRiYWc6KCk9PlV6LEhhbmRzaGFrZTooKT0+WnosSGFyZERyaXZlOigpPT5ZeixIYXJkRHJpdmVEb3dubG9hZDooKT0+R3osSGFyZERyaXZlVXBsb2FkOigpPT5YeixIYXJkSGF0OigpPT5LeixIYXNoOigpPT5ReixIYXRHbGFzc2VzOigpPT5KeixIYXplOigpPT5lUyxIZDooKT0+dFMsSGRtaVBvcnQ6KCk9PmFTLEhlYWRpbmc6KCk9PmxTLEhlYWRpbmcxOigpPT5yUyxIZWFkaW5nMjooKT0+aVMsSGVhZGluZzM6KCk9PnNTLEhlYWRpbmc0OigpPT5vUyxIZWFkaW5nNTooKT0+blMsSGVhZGluZzY6KCk9PmNTLEhlYWRwaG9uZU9mZjooKT0+cFMsSGVhZHBob25lczooKT0+ZFMsSGVhZHNldDooKT0+dVMsSGVhcnQ6KCk9PnhTLEhlYXJ0Q3JhY2s6KCk9PmhTLEhlYXJ0SGFuZHNoYWtlOigpPT5mUyxIZWFydE1pbnVzOigpPT5nUyxIZWFydE9mZjooKT0+bVMsSGVhcnRQbHVzOigpPT5iUyxIZWFydFB1bHNlOigpPT52UyxIZWF0ZXI6KCk9PnlTLEhlbGljb3B0ZXI6KCk9PndTLEhlbHBDaXJjbGU6KCk9PnlvLEhlbHBpbmdIYW5kOigpPT5VNCxIZXhhZ29uOigpPT5NUyxIaWdobGlnaHRlcjooKT0+a1MsSGlzdG9yeTooKT0+elMsSG9tZTooKT0+RzQsSG9wOigpPT5fUyxIb3BPZmY6KCk9PlNTLEhvc3BpdGFsOigpPT5DUyxIb3RlbDooKT0+VFMsSG91cmdsYXNzOigpPT5MUyxIb3VzZTooKT0+RzQsSG91c2VIZWFydDooKT0+JFMsSG91c2VQbHVnOigpPT5BUyxIb3VzZVBsdXM6KCk9PkRTLEhvdXNlV2lmaTooKT0+UFMsSWNlQ3JlYW06KCk9Plk0LEljZUNyZWFtMjooKT0+VzQsSWNlQ3JlYW1Cb3dsOigpPT5XNCxJY2VDcmVhbUNvbmU6KCk9Plk0LElkQ2FyZDooKT0+RVMsSWRDYXJkTGFueWFyZDooKT0+SVMsSW1hZ2U6KCk9PlZTLEltYWdlRG93bjooKT0+TlMsSW1hZ2VNaW51czooKT0+UlMsSW1hZ2VPZmY6KCk9PkZTLEltYWdlUGxheTooKT0+T1MsSW1hZ2VQbHVzOigpPT5CUyxJbWFnZVVwOigpPT5IUyxJbWFnZVVwc2NhbGU6KCk9PnFTLEltYWdlczooKT0+alMsSW1wb3J0OigpPT5VUyxJbmJveDooKT0+V1MsSW5kZW50OigpPT5TbyxJbmRlbnREZWNyZWFzZTooKT0+em8sSW5kZW50SW5jcmVhc2U6KCk9PlNvLEluZGlhblJ1cGVlOigpPT5ZUyxJbmZpbml0eTooKT0+R1MsSW5mbzooKT0+WlMsSW5zcGVjdDooKT0+dWQsSW5zcGVjdGlvblBhbmVsOigpPT5YUyxJbnN0YWdyYW06KCk9PktTLEl0YWxpYzooKT0+UVMsSXRlcmF0aW9uQ2N3OigpPT5lQyxJdGVyYXRpb25DdzooKT0+SlMsSmFwYW5lc2VZZW46KCk9PmFDLEpveXN0aWNrOigpPT50QyxLYW5iYW46KCk9PnJDLEthbmJhblNxdWFyZTooKT0+bmQsS2FuYmFuU3F1YXJlRGFzaGVkOigpPT5lZCxLYXlhazooKT0+aUMsS2V5OigpPT5uQyxLZXlSb3VuZDooKT0+b0MsS2V5U3F1YXJlOigpPT5zQyxLZXlib2FyZDooKT0+Y0MsS2V5Ym9hcmRNdXNpYzooKT0+ZEMsS2V5Ym9hcmRPZmY6KCk9PmxDLExhbXA6KCk9PmJDLExhbXBDZWlsaW5nOigpPT5wQyxMYW1wRGVzazooKT0+dUMsTGFtcEZsb29yOigpPT5mQyxMYW1wV2FsbERvd246KCk9PmhDLExhbXBXYWxsVXA6KCk9Pm1DLExhbmRQbG90OigpPT5nQyxMYW5kbWFyazooKT0+dkMsTGFuZ3VhZ2VzOigpPT54QyxMYXB0b3A6KCk9PndDLExhcHRvcDI6KCk9Plo0LExhcHRvcE1pbmltYWw6KCk9Plo0LExhcHRvcE1pbmltYWxDaGVjazooKT0+eUMsTGFzc286KCk9PmtDLExhc3NvU2VsZWN0OigpPT5NQyxMYXVnaDooKT0+ekMsTGF5ZXJzOigpPT5YNCxMYXllcnMyOigpPT5TQyxMYXllcnMzOigpPT5YNCxMYXllcnNQbHVzOigpPT5DQyxMYXlvdXQ6KCk9PmczLExheW91dERhc2hib2FyZDooKT0+VEMsTGF5b3V0R3JpZDooKT0+X0MsTGF5b3V0TGlzdDooKT0+TEMsTGF5b3V0UGFuZWxMZWZ0OigpPT4kQyxMYXlvdXRQYW5lbFRvcDooKT0+REMsTGF5b3V0VGVtcGxhdGU6KCk9PkFDLExlYWY6KCk9PklDLExlYWZ5R3JlZW46KCk9PlBDLExlY3Rlcm46KCk9PkVDLExlbnNDb25jYXZlOigpPT5OQyxMZW5zQ29udmV4OigpPT5SQyxMZXR0ZXJUZXh0OigpPT5FZCxMaWJyYXJ5OigpPT5PQyxMaWJyYXJ5QmlnOigpPT5GQyxMaWJyYXJ5U3F1YXJlOigpPT5sZCxMaWZlQnVveTooKT0+QkMsTGlnYXR1cmU6KCk9PkhDLExpZ2h0YnVsYjooKT0+cUMsTGlnaHRidWxiT2ZmOigpPT5qQyxMaW5lQ2hhcnQ6KCk9PmhjLExpbmVEb3RSaWdodEhvcml6b250YWw6KCk9PlZDLExpbmVTcXVpZ2dsZTooKT0+VUMsTGluazooKT0+WUMsTGluazI6KCk9PkdDLExpbmsyT2ZmOigpPT5XQyxMaW5rZWRpbjooKT0+WkMsTGlzdDooKT0+aF8sTGlzdENoZWNrOigpPT5YQyxMaXN0Q2hlY2tzOigpPT5LQyxMaXN0Q2hldnJvbnNEb3duVXA6KCk9PlFDLExpc3RDaGV2cm9uc1VwRG93bjooKT0+ZV8sTGlzdENvbGxhcHNlOigpPT5KQyxMaXN0RW5kOigpPT50XyxMaXN0RmlsdGVyOigpPT5yXyxMaXN0RmlsdGVyUGx1czooKT0+YV8sTGlzdEluZGVudERlY3JlYXNlOigpPT56byxMaXN0SW5kZW50SW5jcmVhc2U6KCk9PlNvLExpc3RNaW51czooKT0+c18sTGlzdE11c2ljOigpPT5pXyxMaXN0T3JkZXJlZDooKT0+b18sTGlzdFBsdXM6KCk9PmxfLExpc3RSZXN0YXJ0OigpPT5uXyxMaXN0U3RhcnQ6KCk9PmNfLExpc3RUb2RvOigpPT5kXyxMaXN0VHJlZTooKT0+cF8sTGlzdFZpZGVvOigpPT51XyxMaXN0WDooKT0+Zl8sTG9hZGVyOigpPT5nXyxMb2FkZXIyOigpPT5LNCxMb2FkZXJDaXJjbGU6KCk9Pks0LExvYWRlclBpbndoZWVsOigpPT5tXyxMb2NhdGU6KCk9PnhfLExvY2F0ZUZpeGVkOigpPT5iXyxMb2NhdGVPZmY6KCk9PnZfLExvY2F0aW9uRWRpdDooKT0+dDMsTG9jazooKT0+TV8sTG9ja0tleWhvbGU6KCk9PnlfLExvY2tLZXlob2xlT3BlbjooKT0+UTQsTG9ja09wZW46KCk9Pko0LExvZ0luOigpPT53XyxMb2dPdXQ6KCk9PmtfLExvZ3M6KCk9PnpfLExvbGxpcG9wOigpPT5TXyxMdWdnYWdlOigpPT5DXyxNU3F1YXJlOigpPT5jZCxNYWduZXQ6KCk9Pl9fLE1haWw6KCk9PklfLE1haWxDaGVjazooKT0+VF8sTWFpbE1pbnVzOigpPT5MXyxNYWlsT3BlbjooKT0+JF8sTWFpbFBsdXM6KCk9PkRfLE1haWxRdWVzdGlvbjooKT0+ZTMsTWFpbFF1ZXN0aW9uTWFyazooKT0+ZTMsTWFpbFNlYXJjaDooKT0+QV8sTWFpbFdhcm5pbmc6KCk9PlBfLE1haWxYOigpPT5FXyxNYWlsYm94OigpPT5OXyxNYWlsczooKT0+Ul8sTWFwOigpPT5KXyxNYXBNaW51czooKT0+Rl8sTWFwUGluOigpPT5aXyxNYXBQaW5DaGVjazooKT0+SF8sTWFwUGluQ2hlY2tJbnNpZGU6KCk9Pk9fLE1hcFBpbkhvdXNlOigpPT5CXyxNYXBQaW5NaW51czooKT0+Vl8sTWFwUGluTWludXNJbnNpZGU6KCk9PnFfLE1hcFBpbk9mZjooKT0+al8sTWFwUGluUGVuOigpPT50MyxNYXBQaW5QbHVzOigpPT5VXyxNYXBQaW5QbHVzSW5zaWRlOigpPT5XXyxNYXBQaW5YOigpPT5ZXyxNYXBQaW5YSW5zaWRlOigpPT5HXyxNYXBQaW5uZWQ6KCk9PlhfLE1hcFBsdXM6KCk9PktfLE1hcnM6KCk9PmVULE1hcnNTdHJva2U6KCk9PlFfLE1hcnRpbmk6KCk9PnRULE1heGltaXplOigpPT5yVCxNYXhpbWl6ZTI6KCk9PmFULE1lZGFsOigpPT5zVCxNZWdhcGhvbmU6KCk9Pm9ULE1lZ2FwaG9uZU9mZjooKT0+aVQsTWVoOigpPT5uVCxNZW1vcnlTdGljazooKT0+Y1QsTWVudTooKT0+bFQsTWVudVNxdWFyZTooKT0+ZGQsTWVyZ2U6KCk9PmRULE1lc3NhZ2VDaXJjbGU6KCk9PndULE1lc3NhZ2VDaXJjbGVDaGVjazooKT0+cFQsTWVzc2FnZUNpcmNsZUNvZGU6KCk9PnVULE1lc3NhZ2VDaXJjbGVEYXNoZWQ6KCk9PmZULE1lc3NhZ2VDaXJjbGVIZWFydDooKT0+aFQsTWVzc2FnZUNpcmNsZU1vcmU6KCk9Pm1ULE1lc3NhZ2VDaXJjbGVPZmY6KCk9PmdULE1lc3NhZ2VDaXJjbGVQbHVzOigpPT5iVCxNZXNzYWdlQ2lyY2xlUXVlc3Rpb246KCk9PmEzLE1lc3NhZ2VDaXJjbGVRdWVzdGlvbk1hcms6KCk9PmEzLE1lc3NhZ2VDaXJjbGVSZXBseTooKT0+dlQsTWVzc2FnZUNpcmNsZVdhcm5pbmc6KCk9PnhULE1lc3NhZ2VDaXJjbGVYOigpPT55VCxNZXNzYWdlU3F1YXJlOigpPT5GVCxNZXNzYWdlU3F1YXJlQ2hlY2s6KCk9Pk1ULE1lc3NhZ2VTcXVhcmVDb2RlOigpPT5rVCxNZXNzYWdlU3F1YXJlRGFzaGVkOigpPT56VCxNZXNzYWdlU3F1YXJlRGlmZjooKT0+U1QsTWVzc2FnZVNxdWFyZURvdDooKT0+Q1QsTWVzc2FnZVNxdWFyZUhlYXJ0OigpPT5fVCxNZXNzYWdlU3F1YXJlTG9jazooKT0+VFQsTWVzc2FnZVNxdWFyZU1vcmU6KCk9PkxULE1lc3NhZ2VTcXVhcmVPZmY6KCk9PiRULE1lc3NhZ2VTcXVhcmVQbHVzOigpPT5EVCxNZXNzYWdlU3F1YXJlUXVvdGU6KCk9PkFULE1lc3NhZ2VTcXVhcmVSZXBseTooKT0+UFQsTWVzc2FnZVNxdWFyZVNoYXJlOigpPT5FVCxNZXNzYWdlU3F1YXJlVGV4dDooKT0+SVQsTWVzc2FnZVNxdWFyZVdhcm5pbmc6KCk9Pk5ULE1lc3NhZ2VTcXVhcmVYOigpPT5SVCxNZXNzYWdlc1NxdWFyZTooKT0+T1QsTWV0cm9ub21lOigpPT5CVCxNaWM6KCk9PnFULE1pYzI6KCk9PnIzLE1pY09mZjooKT0+SFQsTWljVm9jYWw6KCk9PnIzLE1pY3JvY2hpcDooKT0+VlQsTWljcm9zY29wZTooKT0+V1QsTWljcm93YXZlOigpPT5qVCxNaWxlc3RvbmU6KCk9PlVULE1pbGs6KCk9PlpULE1pbGtPZmY6KCk9PkdULE1pbmltaXplOigpPT5YVCxNaW5pbWl6ZTI6KCk9PllULE1pbnVzOigpPT5LVCxNaW51c0NpcmNsZTooKT0+RmMsTWludXNTcXVhcmU6KCk9PnBkLE1pcnJvclJlY3Rhbmd1bGFyOigpPT5RVCxNaXJyb3JSb3VuZDooKT0+SlQsTW9uaXRvcjooKT0+ZkwsTW9uaXRvckNoZWNrOigpPT5lTCxNb25pdG9yQ2xvdWQ6KCk9PnRMLE1vbml0b3JDb2c6KCk9PmFMLE1vbml0b3JEb3Q6KCk9PnJMLE1vbml0b3JEb3duOigpPT5pTCxNb25pdG9yT2ZmOigpPT5zTCxNb25pdG9yUGF1c2U6KCk9Pm9MLE1vbml0b3JQbGF5OigpPT5uTCxNb25pdG9yU21hcnRwaG9uZTooKT0+bEwsTW9uaXRvclNwZWFrZXI6KCk9PmNMLE1vbml0b3JTdG9wOigpPT5kTCxNb25pdG9yVXA6KCk9PnBMLE1vbml0b3JYOigpPT51TCxNb29uOigpPT5tTCxNb29uU3RhcjooKT0+aEwsTW9yZUhvcml6b250YWw6KCk9Pmw0LE1vcmVWZXJ0aWNhbDooKT0+bjQsTW90b3JiaWtlOigpPT5nTCxNb3VudGFpbjooKT0+dkwsTW91bnRhaW5Tbm93OigpPT5iTCxNb3VzZTooKT0+X0wsTW91c2VMZWZ0OigpPT54TCxNb3VzZU9mZjooKT0+eUwsTW91c2VQb2ludGVyOigpPT5TTCxNb3VzZVBvaW50ZXIyOigpPT5NTCxNb3VzZVBvaW50ZXIyT2ZmOigpPT53TCxNb3VzZVBvaW50ZXJCYW46KCk9PmtMLE1vdXNlUG9pbnRlckNsaWNrOigpPT56TCxNb3VzZVBvaW50ZXJTcXVhcmVEYXNoZWQ6KCk9PnRkLE1vdXNlUmlnaHQ6KCk9PkNMLE1vdmU6KCk9PkJMLE1vdmUzRDooKT0+aTMsTW92ZTNkOigpPT5pMyxNb3ZlRGlhZ29uYWw6KCk9PkxMLE1vdmVEaWFnb25hbDI6KCk9PlRMLE1vdmVEb3duOigpPT5BTCxNb3ZlRG93bkxlZnQ6KCk9PkRMLE1vdmVEb3duUmlnaHQ6KCk9PiRMLE1vdmVIb3Jpem9udGFsOigpPT5QTCxNb3ZlTGVmdDooKT0+SUwsTW92ZVJpZ2h0OigpPT5FTCxNb3ZlVXA6KCk9PkZMLE1vdmVVcExlZnQ6KCk9Pk5MLE1vdmVVcFJpZ2h0OigpPT5STCxNb3ZlVmVydGljYWw6KCk9Pk9MLE11c2ljOigpPT5qTCxNdXNpYzI6KCk9PkhMLE11c2ljMzooKT0+cUwsTXVzaWM0OigpPT5WTCxOYXZpZ2F0aW9uOigpPT5ZTCxOYXZpZ2F0aW9uMjooKT0+V0wsTmF2aWdhdGlvbjJPZmY6KCk9PlVMLE5hdmlnYXRpb25PZmY6KCk9PkdMLE5ldHdvcms6KCk9PlpMLE5ld3NwYXBlcjooKT0+S0wsTmZjOigpPT5YTCxOb25CaW5hcnk6KCk9PlFMLE5vdGVib29rOigpPT5pJCxOb3RlYm9va1BlbjooKT0+SkwsTm90ZWJvb2tUYWJzOigpPT5lJCxOb3RlYm9va1RleHQ6KCk9PnQkLE5vdGVwYWRUZXh0OigpPT5yJCxOb3RlcGFkVGV4dERhc2hlZDooKT0+YSQsTnV0OigpPT5uJCxOdXRPZmY6KCk9PnMkLE9jdGFnb246KCk9PmwkLE9jdGFnb25BbGVydDooKT0+czMsT2N0YWdvbk1pbnVzOigpPT5vJCxPY3RhZ29uUGF1c2U6KCk9Pm8zLE9jdGFnb25YOigpPT5uMyxPbWVnYTooKT0+YyQsT3B0aW9uOigpPT5kJCxPcmJpdDooKT0+cCQsT3JpZ2FtaTooKT0+dSQsT3V0ZGVudDooKT0+em8sUGFja2FnZTooKT0+eSQsUGFja2FnZTI6KCk9PmYkLFBhY2thZ2VDaGVjazooKT0+aCQsUGFja2FnZU1pbnVzOigpPT5tJCxQYWNrYWdlT3BlbjooKT0+ZyQsUGFja2FnZVBsdXM6KCk9PmIkLFBhY2thZ2VTZWFyY2g6KCk9PnYkLFBhY2thZ2VYOigpPT54JCxQYWludEJ1Y2tldDooKT0+dyQsUGFpbnRSb2xsZXI6KCk9Pk0kLFBhaW50YnJ1c2g6KCk9PmskLFBhaW50YnJ1c2gyOigpPT5sMyxQYWludGJydXNoVmVydGljYWw6KCk9PmwzLFBhbGV0dGU6KCk9PnokLFBhbG10cmVlOigpPT5GZCxQYW5kYTooKT0+UyQsUGFuZWxCb3R0b206KCk9PlQkLFBhbmVsQm90dG9tQ2xvc2U6KCk9PkMkLFBhbmVsQm90dG9tRGFzaGVkOigpPT5jMyxQYW5lbEJvdHRvbUluYWN0aXZlOigpPT5jMyxQYW5lbEJvdHRvbU9wZW46KCk9Pl8kLFBhbmVsTGVmdDooKT0+ZjMsUGFuZWxMZWZ0Q2xvc2U6KCk9PmQzLFBhbmVsTGVmdERhc2hlZDooKT0+cDMsUGFuZWxMZWZ0SW5hY3RpdmU6KCk9PnAzLFBhbmVsTGVmdE9wZW46KCk9PnUzLFBhbmVsTGVmdFJpZ2h0RGFzaGVkOigpPT5MJCxQYW5lbFJpZ2h0OigpPT5BJCxQYW5lbFJpZ2h0Q2xvc2U6KCk9PiQkLFBhbmVsUmlnaHREYXNoZWQ6KCk9PmgzLFBhbmVsUmlnaHRJbmFjdGl2ZTooKT0+aDMsUGFuZWxSaWdodE9wZW46KCk9PkQkLFBhbmVsVG9wOigpPT5OJCxQYW5lbFRvcEJvdHRvbURhc2hlZDooKT0+UCQsUGFuZWxUb3BDbG9zZTooKT0+RSQsUGFuZWxUb3BEYXNoZWQ6KCk9Pm0zLFBhbmVsVG9wSW5hY3RpdmU6KCk9Pm0zLFBhbmVsVG9wT3BlbjooKT0+SSQsUGFuZWxzTGVmdEJvdHRvbTooKT0+UiQsUGFuZWxzTGVmdFJpZ2h0OigpPT5yNCxQYW5lbHNSaWdodEJvdHRvbTooKT0+RiQsUGFuZWxzVG9wQm90dG9tOigpPT5rMyxQYW5lbHNUb3BMZWZ0OigpPT5nMyxQYXBlcmNsaXA6KCk9Pk8kLFBhcmVudGhlc2VzOigpPT5CJCxQYXJraW5nQ2lyY2xlOigpPT5PYyxQYXJraW5nQ2lyY2xlT2ZmOigpPT5CYyxQYXJraW5nTWV0ZXI6KCk9PkgkLFBhcmtpbmdTcXVhcmU6KCk9PmhkLFBhcmtpbmdTcXVhcmVPZmY6KCk9PmZkLFBhcnR5UG9wcGVyOigpPT5xJCxQYXVzZTooKT0+ViQsUGF1c2VDaXJjbGU6KCk9PkhjLFBhdXNlT2N0YWdvbjooKT0+bzMsUGF3UHJpbnQ6KCk9PmokLFBjQ2FzZTooKT0+VSQsUGVuOigpPT52MyxQZW5Cb3g6KCk9PlNzLFBlbkxpbmU6KCk9PmIzLFBlbk9mZjooKT0+VyQsUGVuU3F1YXJlOigpPT5TcyxQZW5Ub29sOigpPT5HJCxQZW5jaWw6KCk9PkskLFBlbmNpbExpbmU6KCk9PlkkLFBlbmNpbE9mZjooKT0+WiQsUGVuY2lsUnVsZXI6KCk9PlgkLFBlbnRhZ29uOigpPT5KJCxQZXJjZW50OigpPT5RJCxQZXJjZW50Q2lyY2xlOigpPT5xYyxQZXJjZW50RGlhbW9uZDooKT0+czQsUGVyY2VudFNxdWFyZTooKT0+bWQsUGVyc29uU3RhbmRpbmc6KCk9PmVELFBoaWxpcHBpbmVQZXNvOigpPT50RCxQaG9uZTooKT0+bEQsUGhvbmVDYWxsOigpPT5hRCxQaG9uZUZvcndhcmRlZDooKT0+ckQsUGhvbmVJbmNvbWluZzooKT0+aUQsUGhvbmVNaXNzZWQ6KCk9PnNELFBob25lT2ZmOigpPT5vRCxQaG9uZU91dGdvaW5nOigpPT5uRCxQaTooKT0+Y0QsUGlTcXVhcmU6KCk9PmdkLFBpYW5vOigpPT5kRCxQaWNrYXhlOigpPT5wRCxQaWN0dXJlSW5QaWN0dXJlOigpPT5mRCxQaWN0dXJlSW5QaWN0dXJlMjooKT0+dUQsUGllQ2hhcnQ6KCk9PnZjLFBpZ2d5QmFuazooKT0+aEQsUGlsY3JvdzooKT0+YkQsUGlsY3Jvd0xlZnQ6KCk9Pm1ELFBpbGNyb3dSaWdodDooKT0+Z0QsUGlsY3Jvd1NxdWFyZTooKT0+YmQsUGlsbDooKT0+eEQsUGlsbEJvdHRsZTooKT0+dkQsUGluOigpPT53RCxQaW5PZmY6KCk9PnlELFBpcGV0dGU6KCk9Pk1ELFBpenphOigpPT5rRCxQbGFuZTooKT0+Q0QsUGxhbmVMYW5kaW5nOigpPT56RCxQbGFuZVRha2VvZmY6KCk9PlNELFBsYXk6KCk9Pl9ELFBsYXlDaXJjbGU6KCk9PlZjLFBsYXlTcXVhcmU6KCk9PnZkLFBsdWc6KCk9PkxELFBsdWcyOigpPT5URCxQbHVnWmFwOigpPT54MyxQbHVnWmFwMjooKT0+eDMsUGx1czooKT0+JEQsUGx1c0NpcmNsZTooKT0+amMsUGx1c1NxdWFyZTooKT0+eGQsUG9ja2V0OigpPT5BRCxQb2NrZXRLbmlmZTooKT0+REQsUG9kY2FzdDooKT0+UEQsUG9pbnRlcjooKT0+RUQsUG9pbnRlck9mZjooKT0+SUQsUG9wY29ybjooKT0+TkQsUG9wc2ljbGU6KCk9PlJELFBvdW5kU3Rlcmxpbmc6KCk9PkZELFBvd2VyOigpPT5CRCxQb3dlckNpcmNsZTooKT0+VWMsUG93ZXJPZmY6KCk9Pk9ELFBvd2VyU3F1YXJlOigpPT55ZCxQcmVzZW50YXRpb246KCk9PkhELFByaW50ZXI6KCk9PmpELFByaW50ZXJDaGVjazooKT0+cUQsUHJpbnRlclg6KCk9PlZELFByb2plY3RvcjooKT0+VUQsUHJvcG9ydGlvbnM6KCk9PldELFB1enpsZTooKT0+R0QsUHlyYW1pZDooKT0+WUQsUXJDb2RlOigpPT5aRCxRdW90ZTooKT0+S0QsUmFiYml0OigpPT5YRCxSYWRhcjooKT0+UUQsUmFkaWF0aW9uOigpPT5KRCxSYWRpY2FsOigpPT5lQSxSYWRpbzooKT0+YUEsUmFkaW9SZWNlaXZlcjooKT0+dEEsUmFkaW9Ub3dlcjooKT0+ckEsUmFkaXVzOigpPT5pQSxSYWlsU3ltYm9sOigpPT5zQSxSYWluYm93OigpPT5vQSxSYXQ6KCk9Pm5BLFJhdGlvOigpPT5sQSxSZWNlaXB0OigpPT52QSxSZWNlaXB0Q2VudDooKT0+ZEEsUmVjZWlwdEV1cm86KCk9PmNBLFJlY2VpcHRJbmRpYW5SdXBlZTooKT0+cEEsUmVjZWlwdEphcGFuZXNlWWVuOigpPT51QSxSZWNlaXB0UG91bmRTdGVybGluZzooKT0+ZkEsUmVjZWlwdFJ1c3NpYW5SdWJsZTooKT0+aEEsUmVjZWlwdFN3aXNzRnJhbmM6KCk9PmdBLFJlY2VpcHRUZXh0OigpPT5tQSxSZWNlaXB0VHVya2lzaExpcmE6KCk9PmJBLFJlY3RhbmdsZUNpcmNsZTooKT0+eEEsUmVjdGFuZ2xlRWxsaXBzaXM6KCk9PnkzLFJlY3RhbmdsZUdvZ2dsZXM6KCk9PnlBLFJlY3RhbmdsZUhvcml6b250YWw6KCk9PndBLFJlY3RhbmdsZVZlcnRpY2FsOigpPT5rQSxSZWN5Y2xlOigpPT5NQSxSZWRvOigpPT5DQSxSZWRvMjooKT0+ekEsUmVkb0RvdDooKT0+U0EsUmVmcmVzaENjdzooKT0+VEEsUmVmcmVzaENjd0RvdDooKT0+X0EsUmVmcmVzaEN3OigpPT4kQSxSZWZyZXNoQ3dPZmY6KCk9PkxBLFJlZnJpZ2VyYXRvcjooKT0+REEsUmVnZXg6KCk9PkFBLFJlbW92ZUZvcm1hdHRpbmc6KCk9PlBBLFJlcGVhdDooKT0+TkEsUmVwZWF0MTooKT0+RUEsUmVwZWF0MjooKT0+SUEsUmVwbGFjZTooKT0+RkEsUmVwbGFjZUFsbDooKT0+UkEsUmVwbHk6KCk9PkhBLFJlcGx5QWxsOigpPT5PQSxSZXdpbmQ6KCk9PkJBLFJpYmJvbjooKT0+cUEsUm9ja2V0OigpPT5WQSxSb2NraW5nQ2hhaXI6KCk9PmpBLFJvbGxlckNvYXN0ZXI6KCk9PlVBLFJvc2U6KCk9PldBLFJvdGF0ZTNEOigpPT53MyxSb3RhdGUzZDooKT0+dzMsUm90YXRlQ2N3OigpPT5aQSxSb3RhdGVDY3dLZXk6KCk9PkdBLFJvdGF0ZUNjd1NxdWFyZTooKT0+WUEsUm90YXRlQ3c6KCk9PlhBLFJvdGF0ZUN3U3F1YXJlOigpPT5LQSxSb3V0ZTooKT0+UUEsUm91dGVPZmY6KCk9PkpBLFJvdXRlcjooKT0+ZVAsUm93czooKT0+TTMsUm93czI6KCk9Pk0zLFJvd3MzOigpPT5rMyxSb3dzNDooKT0+dFAsUnNzOigpPT5hUCxSdWxlcjooKT0+aVAsUnVsZXJEaW1lbnNpb25MaW5lOigpPT5yUCxSdXNzaWFuUnVibGU6KCk9PnNQLFNhaWxib2F0OigpPT5vUCxTYWxhZDooKT0+blAsU2FuZHdpY2g6KCk9PmxQLFNhdGVsbGl0ZTooKT0+ZFAsU2F0ZWxsaXRlRGlzaDooKT0+Y1AsU2F1ZGlSaXlhbDooKT0+cFAsU2F2ZTooKT0+aFAsU2F2ZUFsbDooKT0+ZlAsU2F2ZU9mZjooKT0+dVAsU2NhbGU6KCk9Pm1QLFNjYWxlM0Q6KCk9PnozLFNjYWxlM2Q6KCk9PnozLFNjYWxpbmc6KCk9PmdQLFNjYW46KCk9PlNQLFNjYW5CYXJjb2RlOigpPT5iUCxTY2FuRXllOigpPT52UCxTY2FuRmFjZTooKT0+eFAsU2NhbkhlYXJ0OigpPT55UCxTY2FuTGluZTooKT0+d1AsU2NhblFyQ29kZTooKT0+TVAsU2NhblNlYXJjaDooKT0+a1AsU2NhblRleHQ6KCk9PnpQLFNjYXR0ZXJDaGFydDooKT0+eGMsU2Nob29sOigpPT5DUCxTY2hvb2wyOigpPT5IZCxTY2lzc29yczooKT0+VFAsU2Npc3NvcnNMaW5lRGFzaGVkOigpPT5fUCxTY2lzc29yc1NxdWFyZTooKT0+d2QsU2Npc3NvcnNTcXVhcmVEYXNoZWRCb3R0b206KCk9PlUzLFNjb290ZXI6KCk9PkxQLFNjcmVlblNoYXJlOigpPT5EUCxTY3JlZW5TaGFyZU9mZjooKT0+JFAsU2Nyb2xsOigpPT5QUCxTY3JvbGxUZXh0OigpPT5BUCxTZWFyY2g6KCk9PkJQLFNlYXJjaEFsZXJ0OigpPT5FUCxTZWFyY2hDaGVjazooKT0+SVAsU2VhcmNoQ29kZTooKT0+TlAsU2VhcmNoU2xhc2g6KCk9PkZQLFNlYXJjaFg6KCk9PlJQLFNlY3Rpb246KCk9Pk9QLFNlbmQ6KCk9PnFQLFNlbmRIb3Jpem9uYWw6KCk9PlMzLFNlbmRIb3Jpem9udGFsOigpPT5TMyxTZW5kVG9CYWNrOigpPT5IUCxTZXBhcmF0b3JIb3Jpem9udGFsOigpPT5WUCxTZXBhcmF0b3JWZXJ0aWNhbDooKT0+alAsU2VydmVyOigpPT5ZUCxTZXJ2ZXJDb2c6KCk9PlVQLFNlcnZlckNyYXNoOigpPT5XUCxTZXJ2ZXJPZmY6KCk9PkdQLFNldHRpbmdzOigpPT5YUCxTZXR0aW5nczI6KCk9PlpQLFNoYXBlczooKT0+S1AsU2hhcmU6KCk9PkpQLFNoYXJlMjooKT0+UVAsU2hlZXQ6KCk9PmVFLFNoZWxsOigpPT50RSxTaGVsdmluZ1VuaXQ6KCk9PmFFLFNoaWVsZDooKT0+ZkUsU2hpZWxkQWxlcnQ6KCk9PnJFLFNoaWVsZEJhbjooKT0+aUUsU2hpZWxkQ2hlY2s6KCk9Pm9FLFNoaWVsZENsb3NlOigpPT5fMyxTaGllbGRFbGxpcHNpczooKT0+c0UsU2hpZWxkSGFsZjooKT0+bkUsU2hpZWxkTWludXM6KCk9PmxFLFNoaWVsZE9mZjooKT0+Y0UsU2hpZWxkUGx1czooKT0+ZEUsU2hpZWxkUXVlc3Rpb246KCk9PkMzLFNoaWVsZFF1ZXN0aW9uTWFyazooKT0+QzMsU2hpZWxkVXNlcjooKT0+cEUsU2hpZWxkWDooKT0+XzMsU2hpcDooKT0+aEUsU2hpcFdoZWVsOigpPT51RSxTaGlydDooKT0+bUUsU2hvcHBpbmdCYWc6KCk9PmdFLFNob3BwaW5nQmFza2V0OigpPT5iRSxTaG9wcGluZ0NhcnQ6KCk9PnZFLFNob3ZlbDooKT0+eEUsU2hvd2VySGVhZDooKT0+eUUsU2hyZWRkZXI6KCk9PndFLFNocmltcDooKT0+TUUsU2hyaW5rOigpPT5rRSxTaHJ1YjooKT0+ekUsU2h1ZmZsZTooKT0+U0UsU2lkZWJhcjooKT0+ZjMsU2lkZWJhckNsb3NlOigpPT5kMyxTaWRlYmFyT3BlbjooKT0+dTMsU2lnbWE6KCk9PkNFLFNpZ21hU3F1YXJlOigpPT5NZCxTaWduYWw6KCk9PkRFLFNpZ25hbEhpZ2g6KCk9Pl9FLFNpZ25hbExvdzooKT0+VEUsU2lnbmFsTWVkaXVtOigpPT5MRSxTaWduYWxaZXJvOigpPT4kRSxTaWduYXR1cmU6KCk9PkFFLFNpZ25wb3N0OigpPT5QRSxTaWducG9zdEJpZzooKT0+SUUsU2lyZW46KCk9PkVFLFNraXBCYWNrOigpPT5ORSxTa2lwRm9yd2FyZDooKT0+UkUsU2t1bGw6KCk9PkJFLFNsYWNrOigpPT5GRSxTbGFzaDooKT0+T0UsU2xhc2hTcXVhcmU6KCk9PmtkLFNsaWNlOigpPT5IRSxTbGlkZXJzOigpPT5UMyxTbGlkZXJzSG9yaXpvbnRhbDooKT0+cUUsU2xpZGVyc1ZlcnRpY2FsOigpPT5UMyxTbWFydHBob25lOigpPT5VRSxTbWFydHBob25lQ2hhcmdpbmc6KCk9PlZFLFNtYXJ0cGhvbmVOZmM6KCk9PmpFLFNtaWxlOigpPT5HRSxTbWlsZVBsdXM6KCk9PldFLFNuYWlsOigpPT5YRSxTbm93Zmxha2U6KCk9PllFLFNvYXBEaXNwZW5zZXJEcm9wbGV0OigpPT5aRSxTb2ZhOigpPT5LRSxTb2xhclBhbmVsOigpPT5RRSxTb3J0QXNjOigpPT5LMCxTb3J0RGVzYzooKT0+WTAsU291cDooKT0+SkUsU3BhY2U6KCk9PmVJLFNwYWRlOigpPT50SSxTcGFya2xlOigpPT5hSSxTcGFya2xlczooKT0+TDMsU3BlYWtlcjooKT0+ckksU3BlZWNoOigpPT5pSSxTcGVsbENoZWNrOigpPT5uSSxTcGVsbENoZWNrMjooKT0+c0ksU3BsaW5lOigpPT5sSSxTcGxpbmVQb2ludGVyOigpPT5vSSxTcGxpdDooKT0+Y0ksU3BsaXRTcXVhcmVIb3Jpem9udGFsOigpPT56ZCxTcGxpdFNxdWFyZVZlcnRpY2FsOigpPT5TZCxTcG9vbDooKT0+ZEksU3BvdGxpZ2h0OigpPT51SSxTcHJheUNhbjooKT0+cEksU3Byb3V0OigpPT5mSSxTcXVhcmU6KCk9PkNJLFNxdWFyZUFjdGl2aXR5OigpPT5EMyxTcXVhcmVBcnJvd0Rvd246KCk9PlAzLFNxdWFyZUFycm93RG93bkxlZnQ6KCk9PiQzLFNxdWFyZUFycm93RG93blJpZ2h0OigpPT5BMyxTcXVhcmVBcnJvd0xlZnQ6KCk9PkUzLFNxdWFyZUFycm93T3V0RG93bkxlZnQ6KCk9PkkzLFNxdWFyZUFycm93T3V0RG93blJpZ2h0OigpPT5OMyxTcXVhcmVBcnJvd091dFVwTGVmdDooKT0+UjMsU3F1YXJlQXJyb3dPdXRVcFJpZ2h0OigpPT5GMyxTcXVhcmVBcnJvd1JpZ2h0OigpPT5PMyxTcXVhcmVBcnJvd1JpZ2h0RW50ZXI6KCk9PmhJLFNxdWFyZUFycm93UmlnaHRFeGl0OigpPT5tSSxTcXVhcmVBcnJvd1VwOigpPT5xMyxTcXVhcmVBcnJvd1VwTGVmdDooKT0+QjMsU3F1YXJlQXJyb3dVcFJpZ2h0OigpPT5IMyxTcXVhcmVBc3RlcmlzazooKT0+ajMsU3F1YXJlQm90dG9tRGFzaGVkU2Npc3NvcnM6KCk9PlUzLFNxdWFyZUNlbnRlcmxpbmVEYXNoZWRIb3Jpem9udGFsOigpPT5WMyxTcXVhcmVDZW50ZXJsaW5lRGFzaGVkVmVydGljYWw6KCk9PlczLFNxdWFyZUNoYXJ0R2FudHQ6KCk9PkNvLFNxdWFyZUNoZWNrOigpPT5ZMyxTcXVhcmVDaGVja0JpZzooKT0+RzMsU3F1YXJlQ2hldnJvbkRvd246KCk9PlozLFNxdWFyZUNoZXZyb25MZWZ0OigpPT5YMyxTcXVhcmVDaGV2cm9uUmlnaHQ6KCk9PkszLFNxdWFyZUNoZXZyb25VcDooKT0+UTMsU3F1YXJlQ29kZTooKT0+SjMsU3F1YXJlRGFzaGVkOigpPT5hZCxTcXVhcmVEYXNoZWRCb3R0b206KCk9PmJJLFNxdWFyZURhc2hlZEJvdHRvbUNvZGU6KCk9PmdJLFNxdWFyZURhc2hlZEthbmJhbjooKT0+ZWQsU3F1YXJlRGFzaGVkTW91c2VQb2ludGVyOigpPT50ZCxTcXVhcmVEYXNoZWRUb3BTb2xpZDooKT0+dkksU3F1YXJlRGl2aWRlOigpPT5yZCxTcXVhcmVEb3Q6KCk9PmlkLFNxdWFyZUVxdWFsOigpPT5zZCxTcXVhcmVGdW5jdGlvbjooKT0+b2QsU3F1YXJlR2FudHRDaGFydDooKT0+Q28sU3F1YXJlS2FuYmFuOigpPT5uZCxTcXVhcmVMaWJyYXJ5OigpPT5sZCxTcXVhcmVNOigpPT5jZCxTcXVhcmVNZW51OigpPT5kZCxTcXVhcmVNaW51czooKT0+cGQsU3F1YXJlTW91c2VQb2ludGVyOigpPT51ZCxTcXVhcmVQYXJraW5nOigpPT5oZCxTcXVhcmVQYXJraW5nT2ZmOigpPT5mZCxTcXVhcmVQYXVzZTooKT0+eEksU3F1YXJlUGVuOigpPT5TcyxTcXVhcmVQZXJjZW50OigpPT5tZCxTcXVhcmVQaTooKT0+Z2QsU3F1YXJlUGlsY3JvdzooKT0+YmQsU3F1YXJlUGxheTooKT0+dmQsU3F1YXJlUGx1czooKT0+eGQsU3F1YXJlUG93ZXI6KCk9PnlkLFNxdWFyZVJhZGljYWw6KCk9PnlJLFNxdWFyZVJvdW5kQ29ybmVyOigpPT53SSxTcXVhcmVTY2lzc29yczooKT0+d2QsU3F1YXJlU2lnbWE6KCk9Pk1kLFNxdWFyZVNsYXNoOigpPT5rZCxTcXVhcmVTcGxpdEhvcml6b250YWw6KCk9PnpkLFNxdWFyZVNwbGl0VmVydGljYWw6KCk9PlNkLFNxdWFyZVNxdWFyZTooKT0+TUksU3F1YXJlU3RhY2s6KCk9PmtJLFNxdWFyZVN0YXI6KCk9PnpJLFNxdWFyZVN0b3A6KCk9PlNJLFNxdWFyZVRlcm1pbmFsOigpPT5fZCxTcXVhcmVVc2VyOigpPT5UZCxTcXVhcmVVc2VyUm91bmQ6KCk9PkNkLFNxdWFyZVg6KCk9PkxkLFNxdWFyZXNFeGNsdWRlOigpPT5fSSxTcXVhcmVzSW50ZXJzZWN0OigpPT5USSxTcXVhcmVzU3VidHJhY3Q6KCk9PkxJLFNxdWFyZXNVbml0ZTooKT0+JEksU3F1aXJjbGU6KCk9PkFJLFNxdWlyY2xlRGFzaGVkOigpPT5ESSxTcXVpcnJlbDooKT0+RUksU3RhbXA6KCk9PlBJLFN0YXI6KCk9PlJJLFN0YXJIYWxmOigpPT5JSSxTdGFyT2ZmOigpPT5OSSxTdGFyczooKT0+TDMsU3RlcEJhY2s6KCk9PkZJLFN0ZXBGb3J3YXJkOigpPT5PSSxTdGV0aG9zY29wZTooKT0+QkksU3RpY2tlcjooKT0+SEksU3RpY2t5Tm90ZTooKT0+cUksU3RvbmU6KCk9PlZJLFN0b3BDaXJjbGU6KCk9PkdjLFN0b3JlOigpPT5qSSxTdHJldGNoSG9yaXpvbnRhbDooKT0+VUksU3RyZXRjaFZlcnRpY2FsOigpPT5XSSxTdHJpa2V0aHJvdWdoOigpPT5HSSxTdWJzY3JpcHQ6KCk9PllJLFN1YnRpdGxlczooKT0+b2MsU3VuOigpPT5KSSxTdW5EaW06KCk9PlpJLFN1bk1lZGl1bTooKT0+WEksU3VuTW9vbjooKT0+S0ksU3VuU25vdzooKT0+UUksU3VucmlzZTooKT0+ZU4sU3Vuc2V0OigpPT50TixTdXBlcnNjcmlwdDooKT0+YU4sU3dhdGNoQm9vazooKT0+ck4sU3dpc3NGcmFuYzooKT0+c04sU3dpdGNoQ2FtZXJhOigpPT5pTixTd29yZDooKT0+b04sU3dvcmRzOigpPT5jTixTeXJpbmdlOigpPT5kTixUYWJsZTooKT0+Z04sVGFibGUyOigpPT5uTixUYWJsZUNlbGxzTWVyZ2U6KCk9PmxOLFRhYmxlQ2VsbHNTcGxpdDooKT0+cE4sVGFibGVDb2x1bW5zU3BsaXQ6KCk9PnVOLFRhYmxlQ29uZmlnOigpPT53byxUYWJsZU9mQ29udGVudHM6KCk9PmZOLFRhYmxlUHJvcGVydGllczooKT0+aE4sVGFibGVSb3dzU3BsaXQ6KCk9Pm1OLFRhYmxldDooKT0+dk4sVGFibGV0U21hcnRwaG9uZTooKT0+Yk4sVGFibGV0czooKT0+eE4sVGFnOigpPT55TixUYWdzOigpPT53TixUYWxseTE6KCk9Pk1OLFRhbGx5MjooKT0+a04sVGFsbHkzOigpPT56TixUYWxseTQ6KCk9PlNOLFRhbGx5NTooKT0+Q04sVGFuZ2VudDooKT0+X04sVGFyZ2V0OigpPT5UTixUZWxlc2NvcGU6KCk9PkxOLFRlbnQ6KCk9PkROLFRlbnRUcmVlOigpPT4kTixUZXJtaW5hbDooKT0+QU4sVGVybWluYWxTcXVhcmU6KCk9Pl9kLFRlc3RUdWJlOigpPT5QTixUZXN0VHViZTI6KCk9PiRkLFRlc3RUdWJlRGlhZ29uYWw6KCk9PiRkLFRlc3RUdWJlczooKT0+RU4sVGV4dDooKT0+X28sVGV4dEFsaWduQ2VudGVyOigpPT5EZCxUZXh0QWxpZ25FbmQ6KCk9PkFkLFRleHRBbGlnbkp1c3RpZnk6KCk9PlBkLFRleHRBbGlnblN0YXJ0OigpPT5fbyxUZXh0Q3Vyc29yOigpPT5OTixUZXh0Q3Vyc29ySW5wdXQ6KCk9PklOLFRleHRJbml0aWFsOigpPT5FZCxUZXh0UXVvdGU6KCk9PlJOLFRleHRTZWFyY2g6KCk9PkZOLFRleHRTZWxlY3Q6KCk9PklkLFRleHRTZWxlY3Rpb246KCk9PklkLFRleHRXcmFwOigpPT5OZCxUaGVhdGVyOigpPT5PTixUaGVybW9tZXRlcjooKT0+cU4sVGhlcm1vbWV0ZXJTbm93Zmxha2U6KCk9PkJOLFRoZXJtb21ldGVyU3VuOigpPT5ITixUaHVtYnNEb3duOigpPT5WTixUaHVtYnNVcDooKT0+ak4sVGlja2V0OigpPT5LTixUaWNrZXRDaGVjazooKT0+VU4sVGlja2V0TWludXM6KCk9PldOLFRpY2tldFBlcmNlbnQ6KCk9PkdOLFRpY2tldFBsdXM6KCk9PllOLFRpY2tldFNsYXNoOigpPT5aTixUaWNrZXRYOigpPT5YTixUaWNrZXRzOigpPT5KTixUaWNrZXRzUGxhbmU6KCk9PlFOLFRpbWVyOigpPT5hUixUaW1lck9mZjooKT0+dFIsVGltZXJSZXNldDooKT0+ZVIsVG9nZ2xlTGVmdDooKT0+clIsVG9nZ2xlUmlnaHQ6KCk9PnNSLFRvaWxldDooKT0+aVIsVG9vbENhc2U6KCk9Pm9SLFRvb2xib3g6KCk9Pm5SLFRvcm5hZG86KCk9PmxSLFRvcnVzOigpPT5jUixUb3VjaHBhZDooKT0+cFIsVG91Y2hwYWRPZmY6KCk9PmRSLFRvd2VsUmFjazooKT0+dVIsVG93ZXJDb250cm9sOigpPT5mUixUb3lCcmljazooKT0+aFIsVHJhY3RvcjooKT0+bVIsVHJhZmZpY0NvbmU6KCk9PmdSLFRyYWluOigpPT5SZCxUcmFpbkZyb250OigpPT52UixUcmFpbkZyb250VHVubmVsOigpPT5iUixUcmFpblRyYWNrOigpPT54UixUcmFtRnJvbnQ6KCk9PlJkLFRyYW5zZ2VuZGVyOigpPT55UixUcmFzaDooKT0+TVIsVHJhc2gyOigpPT53UixUcmVlRGVjaWR1b3VzOigpPT5rUixUcmVlUGFsbTooKT0+RmQsVHJlZVBpbmU6KCk9PnpSLFRyZWVzOigpPT5TUixUcmVsbG86KCk9PkNSLFRyZW5kaW5nRG93bjooKT0+X1IsVHJlbmRpbmdVcDooKT0+TFIsVHJlbmRpbmdVcERvd246KCk9PlRSLFRyaWFuZ2xlOigpPT5BUixUcmlhbmdsZUFsZXJ0OigpPT5PZCxUcmlhbmdsZURhc2hlZDooKT0+JFIsVHJpYW5nbGVSaWdodDooKT0+RFIsVHJvcGh5OigpPT5QUixUcnVjazooKT0+SVIsVHJ1Y2tFbGVjdHJpYzooKT0+RVIsVHVya2lzaExpcmE6KCk9Pk5SLFR1cm50YWJsZTooKT0+UlIsVHVydGxlOigpPT5GUixUdjooKT0+QlIsVHYyOigpPT5CZCxUdk1pbmltYWw6KCk9PkJkLFR2TWluaW1hbFBsYXk6KCk9Pk9SLFR3aXRjaDooKT0+SFIsVHdpdHRlcjooKT0+cVIsVHlwZTooKT0+alIsVHlwZU91dGxpbmU6KCk9PlZSLFVtYnJlbGxhOigpPT5VUixVbWJyZWxsYU9mZjooKT0+V1IsVW5kZXJsaW5lOigpPT5HUixVbmRvOigpPT5YUixVbmRvMjooKT0+WVIsVW5kb0RvdDooKT0+WlIsVW5mb2xkSG9yaXpvbnRhbDooKT0+S1IsVW5mb2xkVmVydGljYWw6KCk9PlFSLFVuZ3JvdXA6KCk9PkpSLFVuaXZlcnNpdHk6KCk9PkhkLFVubGluazooKT0+ZUYsVW5saW5rMjooKT0+YUYsVW5sb2NrOigpPT5KNCxVbmxvY2tLZXlob2xlOigpPT5RNCxVbnBsdWc6KCk9PnRGLFVwbG9hZDooKT0+ckYsVXBsb2FkQ2xvdWQ6KCk9PmU0LFVzYjooKT0+aUYsVXNlcjooKT0+dkYsVXNlcjI6KCk9PldkLFVzZXJDaGVjazooKT0+c0YsVXNlckNoZWNrMjooKT0+cWQsVXNlckNpcmNsZTooKT0+WmMsVXNlckNpcmNsZTI6KCk9PlljLFVzZXJDb2c6KCk9Pm9GLFVzZXJDb2cyOigpPT5WZCxVc2VyS2V5OigpPT5uRixVc2VyTG9jazooKT0+bEYsVXNlck1pbnVzOigpPT5jRixVc2VyTWludXMyOigpPT5qZCxVc2VyUGVuOigpPT5wRixVc2VyUGx1czooKT0+ZEYsVXNlclBsdXMyOigpPT5VZCxVc2VyUm91bmQ6KCk9PldkLFVzZXJSb3VuZENoZWNrOigpPT5xZCxVc2VyUm91bmRDb2c6KCk9PlZkLFVzZXJSb3VuZEtleTooKT0+dUYsVXNlclJvdW5kTWludXM6KCk9PmpkLFVzZXJSb3VuZFBlbjooKT0+ZkYsVXNlclJvdW5kUGx1czooKT0+VWQsVXNlclJvdW5kU2VhcmNoOigpPT5oRixVc2VyUm91bmRYOigpPT5HZCxVc2VyU2VhcmNoOigpPT5tRixVc2VyU3F1YXJlOigpPT5UZCxVc2VyU3F1YXJlMjooKT0+Q2QsVXNlclN0YXI6KCk9PmdGLFVzZXJYOigpPT5iRixVc2VyWDI6KCk9PkdkLFVzZXJzOigpPT54RixVc2VyczI6KCk9PllkLFVzZXJzUm91bmQ6KCk9PllkLFV0ZW5zaWxzOigpPT5YZCxVdGVuc2lsc0Nyb3NzZWQ6KCk9PlpkLFV0aWxpdHlQb2xlOigpPT55RixWYW46KCk9PndGLFZhcmlhYmxlOigpPT5NRixWYXVsdDooKT0+ekYsVmVjdG9yU3F1YXJlOigpPT5rRixWZWdhbjooKT0+U0YsVmVuZXRpYW5NYXNrOigpPT5DRixWZW51czooKT0+VEYsVmVudXNBbmRNYXJzOigpPT5fRixWZXJpZmllZDooKT0+ZWMsVmlicmF0ZTooKT0+JEYsVmlicmF0ZU9mZjooKT0+TEYsVmlkZW86KCk9PkFGLFZpZGVvT2ZmOigpPT5ERixWaWRlb3RhcGU6KCk9PlBGLFZpZXc6KCk9PkVGLFZvaWNlbWFpbDooKT0+SUYsVm9sbGV5YmFsbDooKT0+TkYsVm9sdW1lOigpPT5IRixWb2x1bWUxOigpPT5SRixWb2x1bWUyOigpPT5GRixWb2x1bWVPZmY6KCk9PkJGLFZvbHVtZVg6KCk9Pk9GLFZvdGU6KCk9PlZGLFdhbGxldDooKT0+akYsV2FsbGV0MjooKT0+S2QsV2FsbGV0Q2FyZHM6KCk9PnFGLFdhbGxldE1pbmltYWw6KCk9PktkLFdhbGxwYXBlcjooKT0+VUYsV2FuZDooKT0+V0YsV2FuZDI6KCk9PlFkLFdhbmRTcGFya2xlczooKT0+UWQsV2FyZWhvdXNlOigpPT5HRixXYXNoaW5nTWFjaGluZTooKT0+WUYsV2F0Y2g6KCk9PlpGLFdhdmVzOigpPT5KRixXYXZlc0Fycm93RG93bjooKT0+WEYsV2F2ZXNBcnJvd1VwOigpPT5RRixXYXZlc0xhZGRlcjooKT0+S0YsV2F5cG9pbnRzOigpPT5lTyxXZWJjYW06KCk9PnRPLFdlYmhvb2s6KCk9PnJPLFdlYmhvb2tPZmY6KCk9PmFPLFdlaWdodDooKT0+b08sV2VpZ2h0VGlsZGU6KCk9PmlPLFdoZWF0OigpPT5uTyxXaGVhdE9mZjooKT0+c08sV2hvbGVXb3JkOigpPT5sTyxXaWZpOigpPT5nTyxXaWZpQ29nOigpPT5jTyxXaWZpSGlnaDooKT0+ZE8sV2lmaUxvdzooKT0+cE8sV2lmaU9mZjooKT0+Zk8sV2lmaVBlbjooKT0+dU8sV2lmaVN5bmM6KCk9Pm1PLFdpZmlaZXJvOigpPT5oTyxXaW5kOigpPT52TyxXaW5kQXJyb3dEb3duOigpPT5iTyxXaW5lOigpPT55TyxXaW5lT2ZmOigpPT54TyxXb3JrZmxvdzooKT0+d08sV29ybTooKT0+TU8sV3JhcFRleHQ6KCk9Pk5kLFdyZW5jaDooKT0+a08sWDooKT0+U08sWENpcmNsZTooKT0+WGMsWExpbmVUb3A6KCk9PnpPLFhPY3RhZ29uOigpPT5uMyxYU3F1YXJlOigpPT5MZCxZb3V0dWJlOigpPT5DTyxaYXA6KCk9PlRPLFphcE9mZjooKT0+X08sWm9kaWFjQXF1YXJpdXM6KCk9PkxPLFpvZGlhY0FyaWVzOigpPT4kTyxab2RpYWNDYW5jZXI6KCk9PkRPLFpvZGlhY0NhcHJpY29ybjooKT0+QU8sWm9kaWFjR2VtaW5pOigpPT5FTyxab2RpYWNMZW86KCk9PlBPLFpvZGlhY0xpYnJhOigpPT5JTyxab2RpYWNPcGhpdWNodXM6KCk9Pk5PLFpvZGlhY1Bpc2NlczooKT0+Uk8sWm9kaWFjU2FnaXR0YXJpdXM6KCk9PkZPLFpvZGlhY1Njb3JwaW86KCk9Pk9PLFpvZGlhY1RhdXJ1czooKT0+Qk8sWm9kaWFjVmlyZ286KCk9PkhPLFpvb21JbjooKT0+cU8sWm9vbU91dDooKT0+Vk99KTt2YXIgVEd0PWMoKCk9PntTNWUoKTtDNWUoKTtfNWUoKTtUNWUoKTtMNWUoKTskNWUoKTtENWUoKTtBNWUoKTtQNWUoKTtFNWUoKTtJNWUoKTtONWUoKTtSNWUoKTtGNWUoKTtPNWUoKTtCNWUoKTtINWUoKTtxNWUoKTtWNWUoKTtqNWUoKTtVNWUoKTtXNWUoKTtHNWUoKTtZNWUoKTtaNWUoKTtYNWUoKTtLNWUoKTtRNWUoKTtKNWUoKTtlOGUoKTt0OGUoKTthOGUoKTtyOGUoKTtpOGUoKTtzOGUoKTtvOGUoKTtuOGUoKTtsOGUoKTtjOGUoKTtkOGUoKTtwOGUoKTt1OGUoKTtmOGUoKTtoOGUoKTttOGUoKTtnOGUoKTtiOGUoKTt2OGUoKTt4OGUoKTt5OGUoKTt3OGUoKTtNOGUoKTtrOGUoKTt6OGUoKTtTOGUoKTtDOGUoKTtfOGUoKTtUOGUoKTtMOGUoKTskOGUoKTtEOGUoKTtBOGUoKTtQOGUoKTtFOGUoKTtJOGUoKTtOOGUoKTtSOGUoKTtGOGUoKTtPOGUoKTtCOGUoKTtIOGUoKTtxOGUoKTtWOGUoKTtqOGUoKTtVOGUoKTtXOGUoKTtHOGUoKTtZOGUoKTtaOGUoKTtYOGUoKTtLOGUoKTtROGUoKTtKOGUoKTtlcGUoKTt0cGUoKTthcGUoKTtycGUoKTtpcGUoKTtzcGUoKTtvcGUoKTtucGUoKTtscGUoKTtjcGUoKTtkcGUoKTtwcGUoKTt1cGUoKTtmcGUoKTtocGUoKTttcGUoKTtncGUoKTticGUoKTt2cGUoKTt4cGUoKTt5cGUoKTt3cGUoKTtNcGUoKTtrcGUoKTt6cGUoKTtTcGUoKTtDcGUoKTtfcGUoKTtUcGUoKTtMcGUoKTskcGUoKTtEcGUoKTtBcGUoKTtQcGUoKTtFcGUoKTtJcGUoKTtOcGUoKTtScGUoKTtGcGUoKTtPcGUoKTtCcGUoKTtIcGUoKTtxcGUoKTtWcGUoKTtqcGUoKTtVcGUoKTtXcGUoKTtHcGUoKTtZcGUoKTtacGUoKTtYcGUoKTtLcGUoKTtRcGUoKTtKcGUoKTtldWUoKTt0dWUoKTthdWUoKTtydWUoKTtpdWUoKTtzdWUoKTtvdWUoKTtudWUoKTtsdWUoKTtjdWUoKTtkdWUoKTtwdWUoKTt1dWUoKTtmdWUoKTtodWUoKTttdWUoKTtndWUoKTtidWUoKTt2dWUoKTt4dWUoKTt5dWUoKTt3dWUoKTtNdWUoKTtrdWUoKTt6dWUoKTtTdWUoKTtDdWUoKTtfdWUoKTtUdWUoKTtMdWUoKTskdWUoKTtEdWUoKTtBdWUoKTtQdWUoKTtFdWUoKTtJdWUoKTtOdWUoKTtSdWUoKTtGdWUoKTtPdWUoKTtCdWUoKTtIdWUoKTtxdWUoKTtWdWUoKTtqdWUoKTtVdWUoKTtXdWUoKTtHdWUoKTtZdWUoKTtadWUoKTtYdWUoKTtLdWUoKTtRdWUoKTtKdWUoKTtlZmUoKTt0ZmUoKTthZmUoKTtyZmUoKTtpZmUoKTtzZmUoKTtvZmUoKTtuZmUoKTtsZmUoKTtjZmUoKTtkZmUoKTtwZmUoKTt1ZmUoKTtmZmUoKTtoZmUoKTttZmUoKTtnZmUoKTtiZmUoKTt2ZmUoKTt4ZmUoKTt5ZmUoKTt3ZmUoKTtNZmUoKTtrZmUoKTt6ZmUoKTtTZmUoKTtDZmUoKTtfZmUoKTtUZmUoKTtMZmUoKTskZmUoKTtEZmUoKTtBZmUoKTtQZmUoKTtFZmUoKTtJZmUoKTtOZmUoKTtSZmUoKTtGZmUoKTtPZmUoKTtCZmUoKTtIZmUoKTtxZmUoKTtWZmUoKTtqZmUoKTtVZmUoKTtXZmUoKTtHZmUoKTtZZmUoKTtaZmUoKTtYZmUoKTtLZmUoKTtRZmUoKTtKZmUoKTtlN2UoKTt0N2UoKTthN2UoKTtyN2UoKTtpN2UoKTtzN2UoKTtvN2UoKTtuN2UoKTtsN2UoKTtjN2UoKTtkN2UoKTtwN2UoKTt1N2UoKTtmN2UoKTtoN2UoKTttN2UoKTtnN2UoKTtiN2UoKTt2N2UoKTt4N2UoKTt5N2UoKTt3N2UoKTtNN2UoKTtrN2UoKTt6N2UoKTtTN2UoKTtDN2UoKTtfN2UoKTtUN2UoKTtMN2UoKTskN2UoKTtEN2UoKTtBN2UoKTtQN2UoKTtFN2UoKTtJN2UoKTtON2UoKTtSN2UoKTtGN2UoKTtPN2UoKTtCN2UoKTtIN2UoKTtxN2UoKTtWN2UoKTtqN2UoKTtVN2UoKTtXN2UoKTtHN2UoKTtZN2UoKTtaN2UoKTtYN2UoKTtLN2UoKTtRN2UoKTtKN2UoKTtlaGUoKTt0aGUoKTthaGUoKTtyaGUoKTtpaGUoKTtzaGUoKTtvaGUoKTtuaGUoKTtsaGUoKTtjaGUoKTtkaGUoKTtwaGUoKTt1aGUoKTtmaGUoKTtoaGUoKTttaGUoKTtnaGUoKTtiaGUoKTt2aGUoKTt4aGUoKTt5aGUoKTt3aGUoKTtNaGUoKTtraGUoKTt6aGUoKTtTaGUoKTtDaGUoKTtfaGUoKTtUaGUoKTtMaGUoKTskaGUoKTtEaGUoKTtBaGUoKTtQaGUoKTtFaGUoKTtJaGUoKTtOaGUoKTtSaGUoKTtGaGUoKTtPaGUoKTtCaGUoKTtIaGUoKTtxaGUoKTtWaGUoKTtqaGUoKTtVaGUoKTtXaGUoKTtHaGUoKTtZaGUoKTtaaGUoKTtYaGUoKTtLaGUoKTtRaGUoKTtKaGUoKTtlbWUoKTt0bWUoKTthbWUoKTtybWUoKTtpbWUoKTtzbWUoKTtvbWUoKTtubWUoKTtsbWUoKTtjbWUoKTtkbWUoKTtwbWUoKTt1bWUoKTtmbWUoKTtobWUoKTttbWUoKTtnbWUoKTtibWUoKTt2bWUoKTt4bWUoKTt5bWUoKTt3bWUoKTtNbWUoKTtrbWUoKTt6bWUoKTtTbWUoKTtDbWUoKTtfbWUoKTtUbWUoKTtMbWUoKTskbWUoKTtEbWUoKTtBbWUoKTtQbWUoKTtFbWUoKTtJbWUoKTtObWUoKTtSbWUoKTtGbWUoKTtPbWUoKTtCbWUoKTtIbWUoKTtxbWUoKTtWbWUoKTtqbWUoKTtVbWUoKTtXbWUoKTtHbWUoKTtZbWUoKTtabWUoKTtYbWUoKTtLbWUoKTtRbWUoKTtKbWUoKTtlOWUoKTt0OWUoKTthOWUoKTtyOWUoKTtpOWUoKTtzOWUoKTtvOWUoKTtuOWUoKTtsOWUoKTtjOWUoKTtkOWUoKTtwOWUoKTt1OWUoKTtmOWUoKTtoOWUoKTttOWUoKTtnOWUoKTtiOWUoKTt2OWUoKTt4OWUoKTt5OWUoKTt3OWUoKTtNOWUoKTtrOWUoKTt6OWUoKTtTOWUoKTtDOWUoKTtfOWUoKTtUOWUoKTtMOWUoKTskOWUoKTtEOWUoKTtBOWUoKTtQOWUoKTtFOWUoKTtJOWUoKTtOOWUoKTtSOWUoKTtGOWUoKTtPOWUoKTtCOWUoKTtIOWUoKTtxOWUoKTtWOWUoKTtqOWUoKTtVOWUoKTtXOWUoKTtHOWUoKTtZOWUoKTtaOWUoKTtYOWUoKTtLOWUoKTtROWUoKTtKOWUoKTtlZ2UoKTt0Z2UoKTthZ2UoKTtyZ2UoKTtpZ2UoKTtzZ2UoKTtvZ2UoKTtuZ2UoKTtsZ2UoKTtjZ2UoKTtkZ2UoKTtwZ2UoKTt1Z2UoKTtmZ2UoKTtoZ2UoKTttZ2UoKTtnZ2UoKTtiZ2UoKTt2Z2UoKTt4Z2UoKTt5Z2UoKTt3Z2UoKTtNZ2UoKTtrZ2UoKTt6Z2UoKTtTZ2UoKTtDZ2UoKTtfZ2UoKTtUZ2UoKTtMZ2UoKTskZ2UoKTtEZ2UoKTtBZ2UoKTtQZ2UoKTtFZ2UoKTtJZ2UoKTtOZ2UoKTtSZ2UoKTtGZ2UoKTtPZ2UoKTtCZ2UoKTtIZ2UoKTtxZ2UoKTtWZ2UoKTtqZ2UoKTtVZ2UoKTtXZ2UoKTtHZ2UoKTtZZ2UoKTtaZ2UoKTtYZ2UoKTtLZ2UoKTtRZ2UoKTtKZ2UoKTtlYmUoKTt0YmUoKTthYmUoKTtyYmUoKTtpYmUoKTtzYmUoKTtvYmUoKTtuYmUoKTtsYmUoKTtjYmUoKTtkYmUoKTtwYmUoKTt1YmUoKTtmYmUoKTtoYmUoKTttYmUoKTtnYmUoKTtiYmUoKTt2YmUoKTt4YmUoKTt5YmUoKTt3YmUoKTtNYmUoKTtrYmUoKTt6YmUoKTtTYmUoKTtDYmUoKTtfYmUoKTtUYmUoKTtMYmUoKTskYmUoKTtEYmUoKTtBYmUoKTtQYmUoKTtFYmUoKTtJYmUoKTtOYmUoKTtSYmUoKTtGYmUoKTtPYmUoKTtCYmUoKTtIYmUoKTtxYmUoKTtWYmUoKTtqYmUoKTtVYmUoKTtXYmUoKTtHYmUoKTtZYmUoKTtaYmUoKTtYYmUoKTtLYmUoKTtRYmUoKTtKYmUoKTtldmUoKTt0dmUoKTthdmUoKTtydmUoKTtpdmUoKTtzdmUoKTtvdmUoKTtudmUoKTtsdmUoKTtjdmUoKTtkdmUoKTtwdmUoKTt1dmUoKTtmdmUoKTtodmUoKTttdmUoKTtndmUoKTtidmUoKTt2dmUoKTt4dmUoKTt5dmUoKTt3dmUoKTtNdmUoKTtrdmUoKTt6dmUoKTtTdmUoKTtDdmUoKTtfdmUoKTtUdmUoKTtMdmUoKTskdmUoKTtEdmUoKTtBdmUoKTtQdmUoKTtFdmUoKTtJdmUoKTtOdmUoKTtSdmUoKTtGdmUoKTtPdmUoKTtCdmUoKTtIdmUoKTtxdmUoKTtWdmUoKTtqdmUoKTtVdmUoKTtXdmUoKTtHdmUoKTtZdmUoKTtadmUoKTtYdmUoKTtLdmUoKTtRdmUoKTtKdmUoKTtleGUoKTt0eGUoKTtheGUoKTtyeGUoKTtpeGUoKTtzeGUoKTtveGUoKTtueGUoKTtseGUoKTtjeGUoKTtkeGUoKTtweGUoKTt1eGUoKTtmeGUoKTtoeGUoKTtteGUoKTtneGUoKTtieGUoKTt2eGUoKTt4eGUoKTt5eGUoKTt3eGUoKTtNeGUoKTtreGUoKTt6eGUoKTtTeGUoKTtDeGUoKTtfeGUoKTtUeGUoKTtMeGUoKTskeGUoKTtEeGUoKTtBeGUoKTtQeGUoKTtFeGUoKTtJeGUoKTtOeGUoKTtSeGUoKTtGeGUoKTtPeGUoKTtCeGUoKTtIeGUoKTtxeGUoKTtWeGUoKTtqeGUoKTtVeGUoKTtXeGUoKTtHeGUoKTtZeGUoKTtaeGUoKTtYeGUoKTtLeGUoKTtReGUoKTtKeGUoKTtleWUoKTt0eWUoKTtheWUoKTtyeWUoKTtpeWUoKTtzeWUoKTtveWUoKTtueWUoKTtseWUoKTtjeWUoKTtkeWUoKTtweWUoKTt1eWUoKTtmeWUoKTtoeWUoKTtteWUoKTtneWUoKTtieWUoKTt2eWUoKTt4eWUoKTt5eWUoKTt3eWUoKTtNeWUoKTtreWUoKTt6eWUoKTtTeWUoKTtDeWUoKTtfeWUoKTtUeWUoKTtMeWUoKTskeWUoKTtEeWUoKTtBeWUoKTtQeWUoKTtFeWUoKTtJeWUoKTtOeWUoKTtSeWUoKTtGeWUoKTtPeWUoKTtCeWUoKTtIeWUoKTtxeWUoKTtWeWUoKTtqeWUoKTtVeWUoKTtXeWUoKTtHeWUoKTtZeWUoKTtaeWUoKTtYeWUoKTtLeWUoKTtReWUoKTtKeWUoKTtld2UoKTt0d2UoKTthd2UoKTtyd2UoKTtpd2UoKTtzd2UoKTtvd2UoKTtud2UoKTtsd2UoKTtjd2UoKTtkd2UoKTtwd2UoKTt1d2UoKTtmd2UoKTtod2UoKTttd2UoKTtnd2UoKTtid2UoKTt2d2UoKTt4d2UoKTt5d2UoKTt3d2UoKTtNd2UoKTtrd2UoKTt6d2UoKTtTd2UoKTtDd2UoKTtfd2UoKTtUd2UoKTtMd2UoKTskd2UoKTtEd2UoKTtBd2UoKTtQd2UoKTtFd2UoKTtJd2UoKTtOd2UoKTtSd2UoKTtGd2UoKTtPd2UoKTtCd2UoKTtId2UoKTtxd2UoKTtWd2UoKTtqd2UoKTtVd2UoKTtXd2UoKTtHd2UoKTtZd2UoKTtad2UoKTtYd2UoKTtLd2UoKTtRd2UoKTtKd2UoKTtlTWUoKTt0TWUoKTthTWUoKTtyTWUoKTtpTWUoKTtzTWUoKTtvTWUoKTtuTWUoKTtsTWUoKTtjTWUoKTtkTWUoKTtwTWUoKTt1TWUoKTtmTWUoKTtoTWUoKTttTWUoKTtnTWUoKTtiTWUoKTt2TWUoKTt4TWUoKTt5TWUoKTt3TWUoKTtNTWUoKTtrTWUoKTt6TWUoKTtTTWUoKTtDTWUoKTtfTWUoKTtUTWUoKTtMTWUoKTskTWUoKTtETWUoKTtBTWUoKTtQTWUoKTtFTWUoKTtJTWUoKTtOTWUoKTtSTWUoKTtGTWUoKTtPTWUoKTtCTWUoKTtITWUoKTtxTWUoKTtWTWUoKTtqTWUoKTtVTWUoKTtXTWUoKTtHTWUoKTtZTWUoKTtaTWUoKTtYTWUoKTtLTWUoKTtRTWUoKTtKTWUoKTtla2UoKTt0a2UoKTtha2UoKTtya2UoKTtpa2UoKTtza2UoKTtva2UoKTtua2UoKTtsa2UoKTtja2UoKTtka2UoKTtwa2UoKTt1a2UoKTtma2UoKTtoa2UoKTtta2UoKTtna2UoKTtia2UoKTt2a2UoKTt4a2UoKTt5a2UoKTt3a2UoKTtNa2UoKTtra2UoKTt6a2UoKTtTa2UoKTtDa2UoKTtfa2UoKTtUa2UoKTtMa2UoKTska2UoKTtEa2UoKTtBa2UoKTtQa2UoKTtFa2UoKTtJa2UoKTtOa2UoKTtSa2UoKTtGa2UoKTtPa2UoKTtCa2UoKTtIa2UoKTtxa2UoKTtWa2UoKTtqa2UoKTtVa2UoKTtXa2UoKTtHa2UoKTtZa2UoKTtaa2UoKTtYa2UoKTtLa2UoKTtRa2UoKTtKa2UoKTtlemUoKTt0emUoKTthemUoKTtyemUoKTtpemUoKTtzemUoKTtvemUoKTtuemUoKTtsemUoKTtjemUoKTtkemUoKTtwemUoKTt1emUoKTtmemUoKTtoemUoKTttemUoKTtnemUoKTtiemUoKTt2emUoKTt4emUoKTt5emUoKTt3emUoKTtNemUoKTtremUoKTt6emUoKTtTemUoKTtDemUoKTtfemUoKTtUemUoKTtMemUoKTskemUoKTtEemUoKTtBemUoKTtQemUoKTtFemUoKTtJemUoKTtOemUoKTtSemUoKTtGemUoKTtPemUoKTtCemUoKTtIemUoKTtxemUoKTtWemUoKTtqemUoKTtVemUoKTtXemUoKTtHemUoKTtZemUoKTtaemUoKTtYemUoKTtLemUoKTtRemUoKTtKemUoKTtlU2UoKTt0U2UoKTthU2UoKTtyU2UoKTtpU2UoKTtzU2UoKTtvU2UoKTtuU2UoKTtsU2UoKTtjU2UoKTtkU2UoKTtwU2UoKTt1U2UoKTtmU2UoKTtoU2UoKTttU2UoKTtnU2UoKTtiU2UoKTt2U2UoKTt4U2UoKTt5U2UoKTt3U2UoKTtNU2UoKTtrU2UoKTt6U2UoKTtTU2UoKTtDU2UoKTtfU2UoKTtUU2UoKTtMU2UoKTskU2UoKTtEU2UoKTtBU2UoKTtQU2UoKTtFU2UoKTtJU2UoKTtOU2UoKTtSU2UoKTtGU2UoKTtPU2UoKTtCU2UoKTtIU2UoKTtxU2UoKTtWU2UoKTtqU2UoKTtVU2UoKTtXU2UoKTtHU2UoKTtZU2UoKTtaU2UoKTtYU2UoKTtLU2UoKTtRU2UoKTtKU2UoKTtlQ2UoKTt0Q2UoKTthQ2UoKTtyQ2UoKTtpQ2UoKTtzQ2UoKTtvQ2UoKTtuQ2UoKTtsQ2UoKTtjQ2UoKTtkQ2UoKTtwQ2UoKTt1Q2UoKTtmQ2UoKTtoQ2UoKTttQ2UoKTtnQ2UoKTtiQ2UoKTt2Q2UoKTt4Q2UoKTt5Q2UoKTt3Q2UoKTtNQ2UoKTtrQ2UoKTt6Q2UoKTtTQ2UoKTtDQ2UoKTtfQ2UoKTtUQ2UoKTtMQ2UoKTskQ2UoKTtEQ2UoKTtBQ2UoKTtQQ2UoKTtFQ2UoKTtJQ2UoKTtOQ2UoKTtSQ2UoKTtGQ2UoKTtPQ2UoKTtCQ2UoKTtIQ2UoKTtxQ2UoKTtWQ2UoKTtqQ2UoKTtVQ2UoKTtXQ2UoKTtHQ2UoKTtZQ2UoKTtaQ2UoKTtYQ2UoKTtLQ2UoKTtRQ2UoKTtKQ2UoKTtlX2UoKTt0X2UoKTthX2UoKTtyX2UoKTtpX2UoKTtzX2UoKTtvX2UoKTtuX2UoKTtsX2UoKTtjX2UoKTtkX2UoKTtwX2UoKTt1X2UoKTtmX2UoKTtoX2UoKTttX2UoKTtnX2UoKTtiX2UoKTt2X2UoKTt4X2UoKTt5X2UoKTt3X2UoKTtNX2UoKTtrX2UoKTt6X2UoKTtTX2UoKTtDX2UoKTtfX2UoKTtUX2UoKTtMX2UoKTskX2UoKTtEX2UoKTtBX2UoKTtQX2UoKTtFX2UoKTtJX2UoKTtOX2UoKTtSX2UoKTtGX2UoKTtPX2UoKTtCX2UoKTtIX2UoKTtxX2UoKTtWX2UoKTtqX2UoKTtVX2UoKTtXX2UoKTtHX2UoKTtZX2UoKTtaX2UoKTtYX2UoKTtLX2UoKTtRX2UoKTtKX2UoKTtlVGUoKTt0VGUoKTthVGUoKTtyVGUoKTtpVGUoKTtzVGUoKTtvVGUoKTtuVGUoKTtsVGUoKTtjVGUoKTtkVGUoKTtwVGUoKTt1VGUoKTtmVGUoKTtoVGUoKTttVGUoKTtnVGUoKTtiVGUoKTt2VGUoKTt4VGUoKTt5VGUoKTt3VGUoKTtNVGUoKTtrVGUoKTt6VGUoKTtTVGUoKTtDVGUoKTtfVGUoKTtUVGUoKTtMVGUoKTskVGUoKTtEVGUoKTtBVGUoKTtQVGUoKTtFVGUoKTtJVGUoKTtOVGUoKTtSVGUoKTtGVGUoKTtPVGUoKTtCVGUoKTtIVGUoKTtxVGUoKTtWVGUoKTtqVGUoKTtVVGUoKTtXVGUoKTtHVGUoKTtZVGUoKTtaVGUoKTtYVGUoKTtLVGUoKTtRVGUoKTtKVGUoKTtlTGUoKTt0TGUoKTthTGUoKTtyTGUoKTtpTGUoKTtzTGUoKTtvTGUoKTtuTGUoKTtsTGUoKTtjTGUoKTtkTGUoKTtwTGUoKTt1TGUoKTtmTGUoKTtoTGUoKTttTGUoKTtnTGUoKTtiTGUoKTt2TGUoKTt4TGUoKTt5TGUoKTt3TGUoKTtNTGUoKTtrTGUoKTt6TGUoKTtTTGUoKTtDTGUoKTtfTGUoKTtUTGUoKTtMTGUoKTskTGUoKTtETGUoKTtBTGUoKTtQTGUoKTtFTGUoKTtJTGUoKTtOTGUoKTtSTGUoKTtGTGUoKTtPTGUoKTtCTGUoKTtITGUoKTtxTGUoKTtWTGUoKTtqTGUoKTtVTGUoKTtXTGUoKTtHTGUoKTtZTGUoKTtaTGUoKTtYTGUoKTtLTGUoKTtRTGUoKTtKTGUoKTtlJGUoKTt0JGUoKTthJGUoKTtyJGUoKTtpJGUoKTtzJGUoKTtvJGUoKTtuJGUoKTtsJGUoKTtjJGUoKTtkJGUoKTtwJGUoKTt1JGUoKTtmJGUoKTtoJGUoKTttJGUoKTtnJGUoKTtiJGUoKTt2JGUoKTt4JGUoKTt5JGUoKTt3JGUoKTtNJGUoKTtrJGUoKTt6JGUoKTtTJGUoKTtDJGUoKTtfJGUoKTtUJGUoKTtMJGUoKTskJGUoKTtEJGUoKTtBJGUoKTtQJGUoKTtFJGUoKTtJJGUoKTtOJGUoKTtSJGUoKTtGJGUoKTtPJGUoKTtCJGUoKTtIJGUoKTtxJGUoKTtWJGUoKTtqJGUoKTtVJGUoKTtXJGUoKTtHJGUoKTtZJGUoKTtaJGUoKTtYJGUoKTtLJGUoKTtRJGUoKTtKJGUoKTtlRGUoKTt0RGUoKTthRGUoKTtyRGUoKTtpRGUoKTtzRGUoKTtvRGUoKTtuRGUoKTtsRGUoKTtjRGUoKTtkRGUoKTtwRGUoKTt1RGUoKTtmRGUoKTtoRGUoKTttRGUoKTtnRGUoKTtiRGUoKTt2RGUoKTt4RGUoKTt5RGUoKTt3RGUoKTtNRGUoKTtrRGUoKTt6RGUoKTtTRGUoKTtDRGUoKTtfRGUoKTtURGUoKTtMRGUoKTskRGUoKTtERGUoKTtBRGUoKTtQRGUoKTtFRGUoKTtJRGUoKTtORGUoKTtSRGUoKTtGRGUoKTtPRGUoKTtCRGUoKTtIRGUoKTtxRGUoKTtWRGUoKTtqRGUoKTtVRGUoKTtXRGUoKTtHRGUoKTtZRGUoKTtaRGUoKTtYRGUoKTtLRGUoKTtRRGUoKTtKRGUoKTtlQWUoKTt0QWUoKTthQWUoKTtyQWUoKTtpQWUoKTtzQWUoKTtvQWUoKTtuQWUoKTtsQWUoKTtjQWUoKTtkQWUoKTtwQWUoKTt1QWUoKTtmQWUoKTtoQWUoKTttQWUoKTtnQWUoKTtiQWUoKTt2QWUoKTt4QWUoKTt5QWUoKTt3QWUoKTtNQWUoKTtrQWUoKTt6QWUoKTtTQWUoKTtDQWUoKTtfQWUoKTtUQWUoKTtMQWUoKTskQWUoKTtEQWUoKTtBQWUoKTtQQWUoKTtFQWUoKTtJQWUoKTtOQWUoKTtSQWUoKTtGQWUoKTtPQWUoKTtCQWUoKTtIQWUoKTtxQWUoKTtWQWUoKTtqQWUoKTtVQWUoKTtXQWUoKTtHQWUoKTtZQWUoKTtaQWUoKTtYQWUoKTtLQWUoKTtRQWUoKTtKQWUoKTtlUGUoKTt0UGUoKTthUGUoKTtyUGUoKTtpUGUoKTtzUGUoKTtvUGUoKTtuUGUoKTtsUGUoKTtjUGUoKTtkUGUoKTtwUGUoKTt1UGUoKTtmUGUoKTtoUGUoKTttUGUoKTtnUGUoKTtiUGUoKTt2UGUoKTt4UGUoKTt5UGUoKTt3UGUoKTtNUGUoKTtrUGUoKTt6UGUoKTtTUGUoKTtDUGUoKTtfUGUoKTtUUGUoKTtMUGUoKTskUGUoKTtEUGUoKTtBUGUoKTtQUGUoKTtFUGUoKTtJUGUoKTtOUGUoKTtSUGUoKTtGUGUoKTtPUGUoKTtCUGUoKTtIUGUoKTtxUGUoKTtWUGUoKTtqUGUoKTtVUGUoKTtXUGUoKTtHUGUoKTtZUGUoKTtaUGUoKTtYUGUoKTtLUGUoKTtRUGUoKTtKUGUoKTtlRWUoKTt0RWUoKTthRWUoKTtyRWUoKTtpRWUoKTtzRWUoKTtvRWUoKTtuRWUoKTtsRWUoKTtjRWUoKTtkRWUoKTtwRWUoKTt1RWUoKTtmRWUoKTtoRWUoKTttRWUoKTtnRWUoKTtiRWUoKTt2RWUoKTt4RWUoKTt5RWUoKTt3RWUoKTtNRWUoKTtrRWUoKTt6RWUoKTtTRWUoKTtDRWUoKTtfRWUoKTtURWUoKTtMRWUoKTskRWUoKTtERWUoKTtBRWUoKTtQRWUoKTtFRWUoKTtJRWUoKTtORWUoKTtSRWUoKTtGRWUoKTtPRWUoKTtCRWUoKTtIRWUoKTtxRWUoKTtWRWUoKTtqRWUoKTtVRWUoKTtXRWUoKTtHRWUoKTtZRWUoKTtaRWUoKTtYRWUoKTtLRWUoKTtRRWUoKTtKRWUoKTtlSWUoKTt0SWUoKTthSWUoKTtySWUoKTtpSWUoKTtzSWUoKTtvSWUoKTtuSWUoKTtsSWUoKTtjSWUoKTtkSWUoKTtwSWUoKTt1SWUoKTtmSWUoKTtoSWUoKTttSWUoKTtnSWUoKTtiSWUoKTt2SWUoKTt4SWUoKTt5SWUoKTt3SWUoKTtNSWUoKTtrSWUoKTt6SWUoKTtTSWUoKTtDSWUoKTtfSWUoKTtUSWUoKTtMSWUoKTskSWUoKTtESWUoKTtBSWUoKTtQSWUoKTtFSWUoKTtJSWUoKTtOSWUoKTtSSWUoKTtGSWUoKTtPSWUoKTtCSWUoKTtISWUoKTtxSWUoKTtWSWUoKTtqSWUoKTtVSWUoKTtXSWUoKTtHSWUoKTtZSWUoKTtaSWUoKTtYSWUoKTtLSWUoKTtRSWUoKTtKSWUoKTtlTmUoKTt0TmUoKTthTmUoKTtyTmUoKTtpTmUoKTtzTmUoKTtvTmUoKTtuTmUoKTtsTmUoKTtjTmUoKTtkTmUoKTtwTmUoKTt1TmUoKTtmTmUoKTtoTmUoKTttTmUoKTtnTmUoKTtiTmUoKTt2TmUoKTt4TmUoKTt5TmUoKTt3TmUoKTtNTmUoKTtrTmUoKTt6TmUoKTtTTmUoKTtDTmUoKTtfTmUoKTtUTmUoKTtMTmUoKTskTmUoKTtETmUoKTtBTmUoKTtQTmUoKTtFTmUoKTtJTmUoKTtOTmUoKTtSTmUoKTtGTmUoKTtPTmUoKTtCTmUoKTtITmUoKTtxTmUoKTtWTmUoKTtqTmUoKTtVTmUoKTtXTmUoKTtHTmUoKTtZTmUoKTtaTmUoKTtYTmUoKTtLTmUoKTtRTmUoKTtKTmUoKTtlUmUoKTt0UmUoKTthUmUoKTtyUmUoKTtpUmUoKTtzUmUoKTtvUmUoKTtuUmUoKTtsUmUoKTtjUmUoKTtkUmUoKTtwUmUoKTt1UmUoKTtmUmUoKTtoUmUoKTttUmUoKTtnUmUoKTtiUmUoKTt2UmUoKTt4UmUoKTt5UmUoKTt3UmUoKTtNUmUoKTtrUmUoKTt6UmUoKTtTUmUoKTtDUmUoKTtfUmUoKTtUUmUoKTtMUmUoKTskUmUoKTtEUmUoKTtBUmUoKTtQUmUoKTtFUmUoKTtJUmUoKTtOUmUoKTtSUmUoKTtGUmUoKTtPUmUoKTtCUmUoKTtIUmUoKTtxUmUoKTtWUmUoKTtqUmUoKTtVUmUoKTtXUmUoKTtHUmUoKTtZUmUoKTtaUmUoKTtYUmUoKTtLUmUoKTtRUmUoKTtKUmUoKTtlRmUoKTt0RmUoKTthRmUoKTtyRmUoKTtpRmUoKTtzRmUoKTtvRmUoKTtuRmUoKTtsRmUoKTtjRmUoKTtkRmUoKTtwRmUoKTt1RmUoKTtmRmUoKTtoRmUoKTttRmUoKTtnRmUoKTtiRmUoKTt2RmUoKTt4RmUoKTt5RmUoKTt3RmUoKTtNRmUoKTtrRmUoKTt6RmUoKTtTRmUoKTtDRmUoKTtfRmUoKTtURmUoKTtMRmUoKTskRmUoKTtERmUoKTtBRmUoKTtQRmUoKTtFRmUoKTtJRmUoKTtORmUoKTtSRmUoKTtGRmUoKTtPRmUoKTtCRmUoKTtIRmUoKTtxRmUoKTtWRmUoKTtqRmUoKTtVRmUoKTtXRmUoKTtHRmUoKTtZRmUoKTtaRmUoKTtYRmUoKTtLRmUoKTtRRmUoKTtKRmUoKTt9KTt2YXIgQzI9e307ZXQoQzIse0FBcnJvd0Rvd246KCk9PlA3LEFBcnJvd1VwOigpPT5FNyxBTGFyZ2VTbWFsbDooKT0+STcsQWNjZXNzaWJpbGl0eTooKT0+TjcsQWN0aXZpdHk6KCk9PlI3LEFjdGl2aXR5U3F1YXJlOigpPT5EMyxBaXJWZW50OigpPT5GNyxBaXJwbGF5OigpPT5PNyxBbGFybUNoZWNrOigpPT5VMCxBbGFybUNsb2NrOigpPT5INyxBbGFybUNsb2NrQ2hlY2s6KCk9PlUwLEFsYXJtQ2xvY2tNaW51czooKT0+ajAsQWxhcm1DbG9ja09mZjooKT0+QjcsQWxhcm1DbG9ja1BsdXM6KCk9PlcwLEFsYXJtTWludXM6KCk9PmowLEFsYXJtUGx1czooKT0+VzAsQWxhcm1TbW9rZTooKT0+cTcsQWxidW06KCk9PlY3LEFsZXJ0Q2lyY2xlOigpPT53YyxBbGVydE9jdGFnb246KCk9PnMzLEFsZXJ0VHJpYW5nbGU6KCk9Pk9kLEFsaWduQ2VudGVyOigpPT5EZCxBbGlnbkNlbnRlckhvcml6b250YWw6KCk9Pmo3LEFsaWduQ2VudGVyVmVydGljYWw6KCk9PlU3LEFsaWduRW5kSG9yaXpvbnRhbDooKT0+VzcsQWxpZ25FbmRWZXJ0aWNhbDooKT0+RzcsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZUNlbnRlcjooKT0+WTcsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZUVuZDooKT0+WjcsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZVN0YXJ0OigpPT5YNyxBbGlnbkhvcml6b250YWxKdXN0aWZ5Q2VudGVyOigpPT5LNyxBbGlnbkhvcml6b250YWxKdXN0aWZ5RW5kOigpPT5RNyxBbGlnbkhvcml6b250YWxKdXN0aWZ5U3RhcnQ6KCk9Pko3LEFsaWduSG9yaXpvbnRhbFNwYWNlQXJvdW5kOigpPT5laCxBbGlnbkhvcml6b250YWxTcGFjZUJldHdlZW46KCk9PnRoLEFsaWduSnVzdGlmeTooKT0+UGQsQWxpZ25MZWZ0OigpPT5fbyxBbGlnblJpZ2h0OigpPT5BZCxBbGlnblN0YXJ0SG9yaXpvbnRhbDooKT0+YWgsQWxpZ25TdGFydFZlcnRpY2FsOigpPT5yaCxBbGlnblZlcnRpY2FsRGlzdHJpYnV0ZUNlbnRlcjooKT0+aWgsQWxpZ25WZXJ0aWNhbERpc3RyaWJ1dGVFbmQ6KCk9PnNoLEFsaWduVmVydGljYWxEaXN0cmlidXRlU3RhcnQ6KCk9Pm9oLEFsaWduVmVydGljYWxKdXN0aWZ5Q2VudGVyOigpPT5uaCxBbGlnblZlcnRpY2FsSnVzdGlmeUVuZDooKT0+bGgsQWxpZ25WZXJ0aWNhbEp1c3RpZnlTdGFydDooKT0+Y2gsQWxpZ25WZXJ0aWNhbFNwYWNlQXJvdW5kOigpPT5kaCxBbGlnblZlcnRpY2FsU3BhY2VCZXR3ZWVuOigpPT5waCxBbWJ1bGFuY2U6KCk9PmZoLEFtcGVyc2FuZDooKT0+dWgsQW1wZXJzYW5kczooKT0+aGgsQW1waG9yYTooKT0+bWgsQW5jaG9yOigpPT5naCxBbmdyeTooKT0+YmgsQW5ub3llZDooKT0+dmgsQW50ZW5uYTooKT0+eGgsQW52aWw6KCk9PnloLEFwZXJ0dXJlOigpPT53aCxBcHBXaW5kb3c6KCk9PmtoLEFwcFdpbmRvd01hYzooKT0+TWgsQXBwbGU6KCk9PnpoLEFyY2hpdmU6KCk9Pl9oLEFyY2hpdmVSZXN0b3JlOigpPT5TaCxBcmNoaXZlWDooKT0+Q2gsQXJlYUNoYXJ0OigpPT5uYyxBcm1jaGFpcjooKT0+VGgsQXJyb3dCaWdEb3duOigpPT4kaCxBcnJvd0JpZ0Rvd25EYXNoOigpPT5MaCxBcnJvd0JpZ0xlZnQ6KCk9PkFoLEFycm93QmlnTGVmdERhc2g6KCk9PkRoLEFycm93QmlnUmlnaHQ6KCk9PkVoLEFycm93QmlnUmlnaHREYXNoOigpPT5QaCxBcnJvd0JpZ1VwOigpPT5SaCxBcnJvd0JpZ1VwRGFzaDooKT0+SWgsQXJyb3dEb3duOigpPT5XaCxBcnJvd0Rvd24wMTooKT0+TmgsQXJyb3dEb3duMTA6KCk9PkZoLEFycm93RG93bkFaOigpPT5HMCxBcnJvd0Rvd25BejooKT0+RzAsQXJyb3dEb3duQ2lyY2xlOigpPT5NYyxBcnJvd0Rvd25Gcm9tTGluZTooKT0+T2gsQXJyb3dEb3duTGVmdDooKT0+QmgsQXJyb3dEb3duTGVmdEZyb21DaXJjbGU6KCk9PnpjLEFycm93RG93bkxlZnRGcm9tU3F1YXJlOigpPT5JMyxBcnJvd0Rvd25MZWZ0U3F1YXJlOigpPT4kMyxBcnJvd0Rvd25OYXJyb3dXaWRlOigpPT5IaCxBcnJvd0Rvd25SaWdodDooKT0+cWgsQXJyb3dEb3duUmlnaHRGcm9tQ2lyY2xlOigpPT5TYyxBcnJvd0Rvd25SaWdodEZyb21TcXVhcmU6KCk9Pk4zLEFycm93RG93blJpZ2h0U3F1YXJlOigpPT5BMyxBcnJvd0Rvd25TcXVhcmU6KCk9PlAzLEFycm93RG93blRvRG90OigpPT5WaCxBcnJvd0Rvd25Ub0xpbmU6KCk9PmpoLEFycm93RG93blVwOigpPT5VaCxBcnJvd0Rvd25XaWRlTmFycm93OigpPT5ZMCxBcnJvd0Rvd25aQTooKT0+WjAsQXJyb3dEb3duWmE6KCk9PlowLEFycm93TGVmdDooKT0+WGgsQXJyb3dMZWZ0Q2lyY2xlOigpPT5rYyxBcnJvd0xlZnRGcm9tTGluZTooKT0+R2gsQXJyb3dMZWZ0UmlnaHQ6KCk9PlloLEFycm93TGVmdFNxdWFyZTooKT0+RTMsQXJyb3dMZWZ0VG9MaW5lOigpPT5aaCxBcnJvd1JpZ2h0OigpPT5lbSxBcnJvd1JpZ2h0Q2lyY2xlOigpPT5UYyxBcnJvd1JpZ2h0RnJvbUxpbmU6KCk9PktoLEFycm93UmlnaHRMZWZ0OigpPT5RaCxBcnJvd1JpZ2h0U3F1YXJlOigpPT5PMyxBcnJvd1JpZ2h0VG9MaW5lOigpPT5KaCxBcnJvd1VwOigpPT5kbSxBcnJvd1VwMDE6KCk9PnRtLEFycm93VXAxMDooKT0+YW0sQXJyb3dVcEFaOigpPT5YMCxBcnJvd1VwQXo6KCk9PlgwLEFycm93VXBDaXJjbGU6KCk9PkxjLEFycm93VXBEb3duOigpPT5ybSxBcnJvd1VwRnJvbURvdDooKT0+aW0sQXJyb3dVcEZyb21MaW5lOigpPT5zbSxBcnJvd1VwTGVmdDooKT0+b20sQXJyb3dVcExlZnRGcm9tQ2lyY2xlOigpPT5DYyxBcnJvd1VwTGVmdEZyb21TcXVhcmU6KCk9PlIzLEFycm93VXBMZWZ0U3F1YXJlOigpPT5CMyxBcnJvd1VwTmFycm93V2lkZTooKT0+SzAsQXJyb3dVcFJpZ2h0OigpPT5ubSxBcnJvd1VwUmlnaHRGcm9tQ2lyY2xlOigpPT5fYyxBcnJvd1VwUmlnaHRGcm9tU3F1YXJlOigpPT5GMyxBcnJvd1VwUmlnaHRTcXVhcmU6KCk9PkgzLEFycm93VXBTcXVhcmU6KCk9PnEzLEFycm93VXBUb0xpbmU6KCk9PmxtLEFycm93VXBXaWRlTmFycm93OigpPT5jbSxBcnJvd1VwWkE6KCk9PlEwLEFycm93VXBaYTooKT0+UTAsQXJyb3dzVXBGcm9tTGluZTooKT0+cG0sQXN0ZXJpc2s6KCk9PmZtLEFzdGVyaXNrU3F1YXJlOigpPT5qMyxBdFNpZ246KCk9PnVtLEF0b206KCk9PmhtLEF1ZGlvTGluZXM6KCk9Pm1tLEF1ZGlvV2F2ZWZvcm06KCk9PmdtLEF3YXJkOigpPT5ibSxBeGU6KCk9PnZtLEF4aXMzRDooKT0+SjAsQXhpczNkOigpPT5KMCxCYWJ5OigpPT54bSxCYWNrcGFjazooKT0+eW0sQmFkZ2U6KCk9Pk5tLEJhZGdlQWxlcnQ6KCk9PndtLEJhZGdlQ2VudDooKT0+TW0sQmFkZ2VDaGVjazooKT0+ZWMsQmFkZ2VEb2xsYXJTaWduOigpPT56bSxCYWRnZUV1cm86KCk9PmttLEJhZGdlSGVscDooKT0+dGMsQmFkZ2VJbmRpYW5SdXBlZTooKT0+U20sQmFkZ2VJbmZvOigpPT5DbSxCYWRnZUphcGFuZXNlWWVuOigpPT5fbSxCYWRnZU1pbnVzOigpPT5UbSxCYWRnZVBlcmNlbnQ6KCk9PkxtLEJhZGdlUGx1czooKT0+RG0sQmFkZ2VQb3VuZFN0ZXJsaW5nOigpPT4kbSxCYWRnZVF1ZXN0aW9uTWFyazooKT0+dGMsQmFkZ2VSdXNzaWFuUnVibGU6KCk9PkFtLEJhZGdlU3dpc3NGcmFuYzooKT0+UG0sQmFkZ2VUdXJraXNoTGlyYTooKT0+RW0sQmFkZ2VYOigpPT5JbSxCYWdnYWdlQ2xhaW06KCk9PlJtLEJhbGxvb246KCk9PkZtLEJhbjooKT0+T20sQmFuYW5hOigpPT5CbSxCYW5kYWdlOigpPT5IbSxCYW5rbm90ZTooKT0+VW0sQmFua25vdGVBcnJvd0Rvd246KCk9PnFtLEJhbmtub3RlQXJyb3dVcDooKT0+Vm0sQmFua25vdGVYOigpPT5qbSxCYXJDaGFydDooKT0+bWMsQmFyQ2hhcnQyOigpPT5nYyxCYXJDaGFydDM6KCk9PmZjLEJhckNoYXJ0NDooKT0+dWMsQmFyQ2hhcnRCaWc6KCk9PnBjLEJhckNoYXJ0SG9yaXpvbnRhbDooKT0+Y2MsQmFyQ2hhcnRIb3Jpem9udGFsQmlnOigpPT5sYyxCYXJjb2RlOigpPT5XbSxCYXJyZWw6KCk9PkdtLEJhc2VsaW5lOigpPT5ZbSxCYXRoOigpPT5abSxCYXR0ZXJ5OigpPT5hOSxCYXR0ZXJ5Q2hhcmdpbmc6KCk9PlhtLEJhdHRlcnlGdWxsOigpPT5LbSxCYXR0ZXJ5TG93OigpPT5RbSxCYXR0ZXJ5TWVkaXVtOigpPT5KbSxCYXR0ZXJ5UGx1czooKT0+ZTksQmF0dGVyeVdhcm5pbmc6KCk9PnQ5LEJlYWtlcjooKT0+cjksQmVhbjooKT0+czksQmVhbk9mZjooKT0+aTksQmVkOigpPT5sOSxCZWREb3VibGU6KCk9Pm85LEJlZFNpbmdsZTooKT0+bjksQmVlZjooKT0+YzksQmVlcjooKT0+cDksQmVlck9mZjooKT0+ZDksQmVsbDooKT0+djksQmVsbERvdDooKT0+dTksQmVsbEVsZWN0cmljOigpPT5oOSxCZWxsTWludXM6KCk9Pm05LEJlbGxPZmY6KCk9PmY5LEJlbGxQbHVzOigpPT5nOSxCZWxsUmluZzooKT0+YjksQmV0d2Vlbkhvcml6b25hbEVuZDooKT0+YWMsQmV0d2Vlbkhvcml6b25hbFN0YXJ0OigpPT5yYyxCZXR3ZWVuSG9yaXpvbnRhbEVuZDooKT0+YWMsQmV0d2Vlbkhvcml6b250YWxTdGFydDooKT0+cmMsQmV0d2VlblZlcnRpY2FsRW5kOigpPT54OSxCZXR3ZWVuVmVydGljYWxTdGFydDooKT0+eTksQmljZXBzRmxleGVkOigpPT5NOSxCaWtlOigpPT53OSxCaW5hcnk6KCk9Pms5LEJpbm9jdWxhcnM6KCk9PlM5LEJpb2hhemFyZDooKT0+ejksQmlyZDooKT0+QzksQmlyZGhvdXNlOigpPT5UOSxCaXRjb2luOigpPT5fOSxCbGVuZDooKT0+TDksQmxpbmRzOigpPT4kOSxCbG9ja3M6KCk9PkQ5LEJsdWV0b290aDooKT0+STksQmx1ZXRvb3RoQ29ubmVjdGVkOigpPT5BOSxCbHVldG9vdGhPZmY6KCk9PlA5LEJsdWV0b290aFNlYXJjaGluZzooKT0+RTksQm9sZDooKT0+TjksQm9sdDooKT0+UjksQm9tYjooKT0+RjksQm9uZTooKT0+TzksQm9vazooKT0+ZGcsQm9va0E6KCk9PkI5LEJvb2tBbGVydDooKT0+SDksQm9va0F1ZGlvOigpPT5xOSxCb29rQ2hlY2s6KCk9PlY5LEJvb2tDb3B5OigpPT5qOSxCb29rRGFzaGVkOigpPT5pYyxCb29rRG93bjooKT0+VTksQm9va0hlYWRwaG9uZXM6KCk9Plc5LEJvb2tIZWFydDooKT0+RzksQm9va0ltYWdlOigpPT5ZOSxCb29rS2V5OigpPT5aOSxCb29rTG9jazooKT0+SzksQm9va01hcmtlZDooKT0+WDksQm9va01pbnVzOigpPT5ROSxCb29rT3BlbjooKT0+dGcsQm9va09wZW5DaGVjazooKT0+SjksQm9va09wZW5UZXh0OigpPT5lZyxCb29rUGx1czooKT0+YWcsQm9va1NlYXJjaDooKT0+cmcsQm9va1RlbXBsYXRlOigpPT5pYyxCb29rVGV4dDooKT0+aWcsQm9va1R5cGU6KCk9Pm9nLEJvb2tVcDooKT0+bmcsQm9va1VwMjooKT0+c2csQm9va1VzZXI6KCk9PmxnLEJvb2tYOigpPT5jZyxCb29rbWFyazooKT0+bWcsQm9va21hcmtDaGVjazooKT0+cGcsQm9va21hcmtNaW51czooKT0+dWcsQm9va21hcmtQbHVzOigpPT5mZyxCb29rbWFya1g6KCk9PmhnLEJvb21Cb3g6KCk9PmdnLEJvdDooKT0+eGcsQm90TWVzc2FnZVNxdWFyZTooKT0+YmcsQm90T2ZmOigpPT52ZyxCb3R0bGVXaW5lOigpPT53ZyxCb3dBcnJvdzooKT0+eWcsQm94OigpPT5NZyxCb3hTZWxlY3Q6KCk9PmFkLEJveGVzOigpPT5rZyxCcmFjZXM6KCk9PnNjLEJyYWNrZXRzOigpPT56ZyxCcmFpbjooKT0+Q2csQnJhaW5DaXJjdWl0OigpPT5TZyxCcmFpbkNvZzooKT0+X2csQnJpY2tXYWxsOigpPT4kZyxCcmlja1dhbGxGaXJlOigpPT5UZyxCcmlja1dhbGxTaGllbGQ6KCk9PkxnLEJyaWVmY2FzZTooKT0+RWcsQnJpZWZjYXNlQnVzaW5lc3M6KCk9PkRnLEJyaWVmY2FzZUNvbnZleW9yQmVsdDooKT0+QWcsQnJpZWZjYXNlTWVkaWNhbDooKT0+UGcsQnJpbmdUb0Zyb250OigpPT5JZyxCcnVzaDooKT0+UmcsQnJ1c2hDbGVhbmluZzooKT0+TmcsQnViYmxlczooKT0+T2csQnVnOigpPT5IZyxCdWdPZmY6KCk9PkZnLEJ1Z1BsYXk6KCk9PkJnLEJ1aWxkaW5nOigpPT5WZyxCdWlsZGluZzI6KCk9PnFnLEJ1czooKT0+VWcsQnVzRnJvbnQ6KCk9PmpnLENhYmxlOigpPT5HZyxDYWJsZUNhcjooKT0+V2csQ2FrZTooKT0+WmcsQ2FrZVNsaWNlOigpPT5ZZyxDYWxjdWxhdG9yOigpPT5YZyxDYWxlbmRhcjooKT0+YmIsQ2FsZW5kYXIxOigpPT5LZyxDYWxlbmRhckFycm93RG93bjooKT0+UWcsQ2FsZW5kYXJBcnJvd1VwOigpPT5KZyxDYWxlbmRhckNoZWNrOigpPT50YixDYWxlbmRhckNoZWNrMjooKT0+ZWIsQ2FsZW5kYXJDbG9jazooKT0+YWIsQ2FsZW5kYXJDb2c6KCk9PnJiLENhbGVuZGFyRGF5czooKT0+aWIsQ2FsZW5kYXJGb2xkOigpPT5zYixDYWxlbmRhckhlYXJ0OigpPT5vYixDYWxlbmRhck1pbnVzOigpPT5sYixDYWxlbmRhck1pbnVzMjooKT0+bmIsQ2FsZW5kYXJPZmY6KCk9PmNiLENhbGVuZGFyUGx1czooKT0+cGIsQ2FsZW5kYXJQbHVzMjooKT0+ZGIsQ2FsZW5kYXJSYW5nZTooKT0+dWIsQ2FsZW5kYXJTZWFyY2g6KCk9PmZiLENhbGVuZGFyU3luYzooKT0+aGIsQ2FsZW5kYXJYOigpPT5nYixDYWxlbmRhclgyOigpPT5tYixDYWxlbmRhcnM6KCk9PnZiLENhbWVyYTooKT0+eWIsQ2FtZXJhT2ZmOigpPT54YixDYW5kbGVzdGlja0NoYXJ0OigpPT5kYyxDYW5keTooKT0+U2IsQ2FuZHlDYW5lOigpPT53YixDYW5keU9mZjooKT0+TWIsQ2FubmFiaXM6KCk9PnpiLENhbm5hYmlzT2ZmOigpPT5rYixDYXB0aW9uczooKT0+b2MsQ2FwdGlvbnNPZmY6KCk9PkNiLENhcjooKT0+TGIsQ2FyRnJvbnQ6KCk9Pl9iLENhclRheGlGcm9udDooKT0+VGIsQ2FyYXZhbjooKT0+JGIsQ2FyZFNpbTooKT0+QWIsQ2Fycm90OigpPT5EYixDYXNlTG93ZXI6KCk9PlBiLENhc2VTZW5zaXRpdmU6KCk9PkViLENhc2VVcHBlcjooKT0+SWIsQ2Fzc2V0dGVUYXBlOigpPT5OYixDYXN0OigpPT5SYixDYXN0bGU6KCk9Pk9iLENhdDooKT0+RmIsQ2N0djooKT0+QmIsQ2hhcnRBcmVhOigpPT5uYyxDaGFydEJhcjooKT0+Y2MsQ2hhcnRCYXJCaWc6KCk9PmxjLENoYXJ0QmFyRGVjcmVhc2luZzooKT0+SGIsQ2hhcnRCYXJJbmNyZWFzaW5nOigpPT5xYixDaGFydEJhclN0YWNrZWQ6KCk9PlZiLENoYXJ0Q2FuZGxlc3RpY2s6KCk9PmRjLENoYXJ0Q29sdW1uOigpPT5mYyxDaGFydENvbHVtbkJpZzooKT0+cGMsQ2hhcnRDb2x1bW5EZWNyZWFzaW5nOigpPT5qYixDaGFydENvbHVtbkluY3JlYXNpbmc6KCk9PnVjLENoYXJ0Q29sdW1uU3RhY2tlZDooKT0+VWIsQ2hhcnRHYW50dDooKT0+V2IsQ2hhcnRMaW5lOigpPT5oYyxDaGFydE5ldHdvcms6KCk9PkdiLENoYXJ0Tm9BeGVzQ29sdW1uOigpPT5nYyxDaGFydE5vQXhlc0NvbHVtbkRlY3JlYXNpbmc6KCk9PlliLENoYXJ0Tm9BeGVzQ29sdW1uSW5jcmVhc2luZzooKT0+bWMsQ2hhcnROb0F4ZXNDb21iaW5lZDooKT0+WmIsQ2hhcnROb0F4ZXNHYW50dDooKT0+YmMsQ2hhcnRQaWU6KCk9PnZjLENoYXJ0U2NhdHRlcjooKT0+eGMsQ2hhcnRTcGxpbmU6KCk9PlhiLENoZWNrOigpPT5KYixDaGVja0NoZWNrOigpPT5LYixDaGVja0NpcmNsZTooKT0+JGMsQ2hlY2tDaXJjbGUyOigpPT5EYyxDaGVja0xpbmU6KCk9PlFiLENoZWNrU3F1YXJlOigpPT5HMyxDaGVja1NxdWFyZTI6KCk9PlkzLENoZWZIYXQ6KCk9PmV2LENoZXJyeTooKT0+dHYsQ2hlc3NCaXNob3A6KCk9PnJ2LENoZXNzS2luZzooKT0+YXYsQ2hlc3NLbmlnaHQ6KCk9Pml2LENoZXNzUGF3bjooKT0+c3YsQ2hlc3NRdWVlbjooKT0+b3YsQ2hlc3NSb29rOigpPT5udixDaGV2cm9uRG93bjooKT0+bHYsQ2hldnJvbkRvd25DaXJjbGU6KCk9PkFjLENoZXZyb25Eb3duU3F1YXJlOigpPT5aMyxDaGV2cm9uRmlyc3Q6KCk9PmN2LENoZXZyb25MYXN0OigpPT5kdixDaGV2cm9uTGVmdDooKT0+dXYsQ2hldnJvbkxlZnRDaXJjbGU6KCk9PlBjLENoZXZyb25MZWZ0U3F1YXJlOigpPT5YMyxDaGV2cm9uUmlnaHQ6KCk9PnB2LENoZXZyb25SaWdodENpcmNsZTooKT0+RWMsQ2hldnJvblJpZ2h0U3F1YXJlOigpPT5LMyxDaGV2cm9uVXA6KCk9PmZ2LENoZXZyb25VcENpcmNsZTooKT0+SWMsQ2hldnJvblVwU3F1YXJlOigpPT5RMyxDaGV2cm9uc0Rvd246KCk9Pm12LENoZXZyb25zRG93blVwOigpPT5odixDaGV2cm9uc0xlZnQ6KCk9PnZ2LENoZXZyb25zTGVmdFJpZ2h0OigpPT5idixDaGV2cm9uc0xlZnRSaWdodEVsbGlwc2lzOigpPT5ndixDaGV2cm9uc1JpZ2h0OigpPT55dixDaGV2cm9uc1JpZ2h0TGVmdDooKT0+eHYsQ2hldnJvbnNVcDooKT0+TXYsQ2hldnJvbnNVcERvd246KCk9Pnd2LENocm9tZTooKT0+eWMsQ2hyb21pdW06KCk9PnljLENodXJjaDooKT0+enYsQ2lnYXJldHRlOigpPT5TdixDaWdhcmV0dGVPZmY6KCk9Pmt2LENpcmNsZTooKT0+QnYsQ2lyY2xlQWxlcnQ6KCk9PndjLENpcmNsZUFycm93RG93bjooKT0+TWMsQ2lyY2xlQXJyb3dMZWZ0OigpPT5rYyxDaXJjbGVBcnJvd091dERvd25MZWZ0OigpPT56YyxDaXJjbGVBcnJvd091dERvd25SaWdodDooKT0+U2MsQ2lyY2xlQXJyb3dPdXRVcExlZnQ6KCk9PkNjLENpcmNsZUFycm93T3V0VXBSaWdodDooKT0+X2MsQ2lyY2xlQXJyb3dSaWdodDooKT0+VGMsQ2lyY2xlQXJyb3dVcDooKT0+TGMsQ2lyY2xlQ2hlY2s6KCk9PkRjLENpcmNsZUNoZWNrQmlnOigpPT4kYyxDaXJjbGVDaGV2cm9uRG93bjooKT0+QWMsQ2lyY2xlQ2hldnJvbkxlZnQ6KCk9PlBjLENpcmNsZUNoZXZyb25SaWdodDooKT0+RWMsQ2lyY2xlQ2hldnJvblVwOigpPT5JYyxDaXJjbGVEYXNoZWQ6KCk9PkN2LENpcmNsZURpdmlkZTooKT0+TmMsQ2lyY2xlRG9sbGFyU2lnbjooKT0+X3YsQ2lyY2xlRG90OigpPT5MdixDaXJjbGVEb3REYXNoZWQ6KCk9PlR2LENpcmNsZUVsbGlwc2lzOigpPT4kdixDaXJjbGVFcXVhbDooKT0+RHYsQ2lyY2xlRmFkaW5nQXJyb3dVcDooKT0+QXYsQ2lyY2xlRmFkaW5nUGx1czooKT0+UHYsQ2lyY2xlR2F1Z2U6KCk9PlJjLENpcmNsZUhlbHA6KCk9PnlvLENpcmNsZU1pbnVzOigpPT5GYyxDaXJjbGVPZmY6KCk9PkV2LENpcmNsZVBhcmtpbmc6KCk9Pk9jLENpcmNsZVBhcmtpbmdPZmY6KCk9PkJjLENpcmNsZVBhdXNlOigpPT5IYyxDaXJjbGVQZXJjZW50OigpPT5xYyxDaXJjbGVQaWxlOigpPT5JdixDaXJjbGVQbGF5OigpPT5WYyxDaXJjbGVQbHVzOigpPT5qYyxDaXJjbGVQb3VuZFN0ZXJsaW5nOigpPT5OdixDaXJjbGVQb3dlcjooKT0+VWMsQ2lyY2xlUXVlc3Rpb25NYXJrOigpPT55byxDaXJjbGVTbGFzaDooKT0+UnYsQ2lyY2xlU2xhc2gyOigpPT5XYyxDaXJjbGVTbGFzaGVkOigpPT5XYyxDaXJjbGVTbWFsbDooKT0+RnYsQ2lyY2xlU3RhcjooKT0+T3YsQ2lyY2xlU3RvcDooKT0+R2MsQ2lyY2xlVXNlcjooKT0+WmMsQ2lyY2xlVXNlclJvdW5kOigpPT5ZYyxDaXJjbGVYOigpPT5YYyxDaXJjdWl0Qm9hcmQ6KCk9Pkh2LENpdHJ1czooKT0+cXYsQ2xhcHBlcmJvYXJkOigpPT5WdixDbGlwYm9hcmQ6KCk9Pkp2LENsaXBib2FyZENoZWNrOigpPT5qdixDbGlwYm9hcmRDbG9jazooKT0+VXYsQ2xpcGJvYXJkQ29weTooKT0+V3YsQ2xpcGJvYXJkRWRpdDooKT0+UWMsQ2xpcGJvYXJkTGlzdDooKT0+R3YsQ2xpcGJvYXJkTWludXM6KCk9Pll2LENsaXBib2FyZFBhc3RlOigpPT5adixDbGlwYm9hcmRQZW46KCk9PlFjLENsaXBib2FyZFBlbkxpbmU6KCk9PktjLENsaXBib2FyZFBsdXM6KCk9Plh2LENsaXBib2FyZFNpZ25hdHVyZTooKT0+S2MsQ2xpcGJvYXJkVHlwZTooKT0+S3YsQ2xpcGJvYXJkWDooKT0+UXYsQ2xvY2s6KCk9PnZ4LENsb2NrMTooKT0+ZXgsQ2xvY2sxMDooKT0+dHgsQ2xvY2sxMTooKT0+YXgsQ2xvY2sxMjooKT0+cngsQ2xvY2syOigpPT5zeCxDbG9jazM6KCk9Pml4LENsb2NrNDooKT0+b3gsQ2xvY2s1OigpPT5ueCxDbG9jazY6KCk9Pmx4LENsb2NrNzooKT0+Y3gsQ2xvY2s4OigpPT5weCxDbG9jazk6KCk9PmR4LENsb2NrQWxlcnQ6KCk9PnV4LENsb2NrQXJyb3dEb3duOigpPT5meCxDbG9ja0Fycm93VXA6KCk9Pmh4LENsb2NrQ2hlY2s6KCk9Pm14LENsb2NrRmFkaW5nOigpPT5neCxDbG9ja1BsdXM6KCk9PmJ4LENsb3NlZENhcHRpb246KCk9Pnl4LENsb3VkOigpPT5SeCxDbG91ZEFsZXJ0OigpPT54eCxDbG91ZEJhY2t1cDooKT0+d3gsQ2xvdWRDaGVjazooKT0+TXgsQ2xvdWRDb2c6KCk9Pmt4LENsb3VkRG93bmxvYWQ6KCk9PkpjLENsb3VkRHJpenpsZTooKT0+engsQ2xvdWRGb2c6KCk9PlN4LENsb3VkSGFpbDooKT0+Q3gsQ2xvdWRMaWdodG5pbmc6KCk9Pl94LENsb3VkTW9vbjooKT0+THgsQ2xvdWRNb29uUmFpbjooKT0+VHgsQ2xvdWRPZmY6KCk9PiR4LENsb3VkUmFpbjooKT0+QXgsQ2xvdWRSYWluV2luZDooKT0+RHgsQ2xvdWRTbm93OigpPT5QeCxDbG91ZFN1bjooKT0+TngsQ2xvdWRTdW5SYWluOigpPT5FeCxDbG91ZFN5bmM6KCk9Pkl4LENsb3VkVXBsb2FkOigpPT5lNCxDbG91ZHk6KCk9PkZ4LENsb3ZlcjooKT0+T3gsQ2x1YjooKT0+QngsQ29kZTooKT0+SHgsQ29kZTI6KCk9PnQ0LENvZGVTcXVhcmU6KCk9PkozLENvZGVYbWw6KCk9PnQ0LENvZGVwZW46KCk9PnF4LENvZGVzYW5kYm94OigpPT5WeCxDb2ZmZWU6KCk9Pmp4LENvZzooKT0+VXgsQ29pbnM6KCk9Pld4LENvbHVtbnM6KCk9PmE0LENvbHVtbnMyOigpPT5hNCxDb2x1bW5zMzooKT0+cjQsQ29sdW1uczNDb2c6KCk9PndvLENvbHVtbnM0OigpPT5HeCxDb2x1bW5zU2V0dGluZ3M6KCk9PndvLENvbWJpbmU6KCk9Pll4LENvbW1hbmQ6KCk9Plp4LENvbXBhc3M6KCk9Plh4LENvbXBvbmVudDooKT0+S3gsQ29tcHV0ZXI6KCk9Pkp4LENvbmNpZXJnZUJlbGw6KCk9PlF4LENvbmU6KCk9PmV5LENvbnN0cnVjdGlvbjooKT0+dHksQ29udGFjdDooKT0+YXksQ29udGFjdDI6KCk9Pmk0LENvbnRhY3RSb3VuZDooKT0+aTQsQ29udGFpbmVyOigpPT5yeSxDb250cmFzdDooKT0+aXksQ29va2llOigpPT5zeSxDb29raW5nUG90OigpPT5veSxDb3B5OigpPT51eSxDb3B5Q2hlY2s6KCk9Pm55LENvcHlNaW51czooKT0+bHksQ29weVBsdXM6KCk9PmN5LENvcHlTbGFzaDooKT0+ZHksQ29weVg6KCk9PnB5LENvcHlsZWZ0OigpPT5meSxDb3B5cmlnaHQ6KCk9Pmh5LENvcm5lckRvd25MZWZ0OigpPT5teSxDb3JuZXJEb3duUmlnaHQ6KCk9Pmd5LENvcm5lckxlZnREb3duOigpPT5ieSxDb3JuZXJMZWZ0VXA6KCk9PnZ5LENvcm5lclJpZ2h0RG93bjooKT0+eHksQ29ybmVyUmlnaHRVcDooKT0+eXksQ29ybmVyVXBMZWZ0OigpPT53eSxDb3JuZXJVcFJpZ2h0OigpPT5reSxDcHU6KCk9Pk15LENyZWF0aXZlQ29tbW9uczooKT0+enksQ3JlZGl0Q2FyZDooKT0+U3ksQ3JvaXNzYW50OigpPT5DeSxDcm9wOigpPT5feSxDcm9zczooKT0+VHksQ3Jvc3NoYWlyOigpPT5MeSxDcm93bjooKT0+JHksQ3Vib2lkOigpPT5BeSxDdXBTb2RhOigpPT5EeSxDdXJseUJyYWNlczooKT0+c2MsQ3VycmVuY3k6KCk9PlB5LEN5bGluZGVyOigpPT5FeSxEYW06KCk9Pkl5LERhdGFiYXNlOigpPT5CeSxEYXRhYmFzZUJhY2t1cDooKT0+TnksRGF0YWJhc2VTZWFyY2g6KCk9PkZ5LERhdGFiYXNlWmFwOigpPT5SeSxEZWNpbWFsc0Fycm93TGVmdDooKT0+T3ksRGVjaW1hbHNBcnJvd1JpZ2h0OigpPT5IeSxEZWxldGU6KCk9PnF5LERlc3NlcnQ6KCk9Pmp5LERpYW1ldGVyOigpPT5WeSxEaWFtb25kOigpPT5HeSxEaWFtb25kTWludXM6KCk9PlV5LERpYW1vbmRQZXJjZW50OigpPT5zNCxEaWFtb25kUGx1czooKT0+V3ksRGljZTE6KCk9Pll5LERpY2UyOigpPT5aeSxEaWNlMzooKT0+WHksRGljZTQ6KCk9Pkt5LERpY2U1OigpPT5ReSxEaWNlNjooKT0+SnksRGljZXM6KCk9PmV3LERpZmY6KCk9PnR3LERpc2M6KCk9PnN3LERpc2MyOigpPT5hdyxEaXNjMzooKT0+aXcsRGlzY0FsYnVtOigpPT5ydyxEaXZpZGU6KCk9Pm93LERpdmlkZUNpcmNsZTooKT0+TmMsRGl2aWRlU3F1YXJlOigpPT5yZCxEbmE6KCk9PmN3LERuYU9mZjooKT0+bncsRG9jazooKT0+bHcsRG9nOigpPT5kdyxEb2xsYXJTaWduOigpPT5wdyxEb251dDooKT0+dXcsRG9vckNsb3NlZDooKT0+ZncsRG9vckNsb3NlZExvY2tlZDooKT0+aHcsRG9vck9wZW46KCk9Pm13LERvdDooKT0+Z3csRG90U3F1YXJlOigpPT5pZCxEb3dubG9hZDooKT0+YncsRG93bmxvYWRDbG91ZDooKT0+SmMsRHJhZnRpbmdDb21wYXNzOigpPT54dyxEcmFtYTooKT0+dncsRHJpYmJibGU6KCk9Pnl3LERyaWxsOigpPT53dyxEcm9uZTooKT0+TXcsRHJvcGxldDooKT0+a3csRHJvcGxldE9mZjooKT0+encsRHJvcGxldHM6KCk9PlN3LERydW06KCk9PkN3LERydW1zdGljazooKT0+X3csRHVtYmJlbGw6KCk9PlR3LEVhcjooKT0+JHcsRWFyT2ZmOigpPT5MdyxFYXJ0aDooKT0+bzQsRWFydGhMb2NrOigpPT5EdyxFY2xpcHNlOigpPT5BdyxFZGl0OigpPT5TcyxFZGl0MjooKT0+djMsRWRpdDM6KCk9PmIzLEVnZzooKT0+SXcsRWdnRnJpZWQ6KCk9PkV3LEVnZ09mZjooKT0+UHcsRWxsaXBzZTooKT0+TncsRWxsaXBzaXM6KCk9Pmw0LEVsbGlwc2lzVmVydGljYWw6KCk9Pm40LEVxdWFsOigpPT5PdyxFcXVhbEFwcHJveGltYXRlbHk6KCk9PlJ3LEVxdWFsTm90OigpPT5GdyxFcXVhbFNxdWFyZTooKT0+c2QsRXJhc2VyOigpPT5CdyxFdGhlcm5ldFBvcnQ6KCk9Pkh3LEV1cm86KCk9PnF3LEV2Q2hhcmdlcjooKT0+ancsRXhwYW5kOigpPT5WdyxFeHRlcm5hbExpbms6KCk9PlV3LEV5ZTooKT0+WXcsRXllQ2xvc2VkOigpPT5HdyxFeWVPZmY6KCk9Pld3LEZhY2Vib29rOigpPT5adyxGYWN0b3J5OigpPT5YdyxGYW46KCk9Pkt3LEZhc3RGb3J3YXJkOigpPT5RdyxGZWF0aGVyOigpPT5KdyxGZW5jZTooKT0+ZU0sRmVycmlzV2hlZWw6KCk9PnRNLEZpZ21hOigpPT5hTSxGaWxlOigpPT5ETSxGaWxlQXJjaGl2ZTooKT0+ck0sRmlsZUF1ZGlvOigpPT5NbyxGaWxlQXVkaW8yOigpPT5NbyxGaWxlQXhpczNEOigpPT5jNCxGaWxlQXhpczNkOigpPT5jNCxGaWxlQmFkZ2U6KCk9PmQ0LEZpbGVCYWRnZTI6KCk9PmQ0LEZpbGVCYXJDaGFydDooKT0+ZjQsRmlsZUJhckNoYXJ0MjooKT0+aDQsRmlsZUJveDooKT0+aU0sRmlsZUJyYWNlczooKT0+dTQsRmlsZUJyYWNlc0Nvcm5lcjooKT0+cDQsRmlsZUNoYXJ0Q29sdW1uOigpPT5oNCxGaWxlQ2hhcnRDb2x1bW5JbmNyZWFzaW5nOigpPT5mNCxGaWxlQ2hhcnRMaW5lOigpPT5tNCxGaWxlQ2hhcnRQaWU6KCk9Pmc0LEZpbGVDaGVjazooKT0+c00sRmlsZUNoZWNrMjooKT0+YjQsRmlsZUNoZWNrQ29ybmVyOigpPT5iNCxGaWxlQ2xvY2s6KCk9Pm9NLEZpbGVDb2RlOigpPT5uTSxGaWxlQ29kZTI6KCk9PnY0LEZpbGVDb2RlQ29ybmVyOigpPT52NCxGaWxlQ29nOigpPT54NCxGaWxlQ29nMjooKT0+eDQsRmlsZURpZmY6KCk9PmNNLEZpbGVEaWdpdDooKT0+bE0sRmlsZURvd246KCk9PmRNLEZpbGVFZGl0OigpPT5TNCxGaWxlRXhjbGFtYXRpb25Qb2ludDooKT0+eTQsRmlsZUhlYWRwaG9uZTooKT0+TW8sRmlsZUhlYXJ0OigpPT5wTSxGaWxlSW1hZ2U6KCk9PnVNLEZpbGVJbnB1dDooKT0+Zk0sRmlsZUpzb246KCk9PnU0LEZpbGVKc29uMjooKT0+cDQsRmlsZUtleTooKT0+TTQsRmlsZUtleTI6KCk9Pk00LEZpbGVMaW5lQ2hhcnQ6KCk9Pm00LEZpbGVMb2NrOigpPT53NCxGaWxlTG9jazI6KCk9Pnc0LEZpbGVNaW51czooKT0+aE0sRmlsZU1pbnVzMjooKT0+azQsRmlsZU1pbnVzQ29ybmVyOigpPT5rNCxGaWxlTXVzaWM6KCk9Pm1NLEZpbGVPdXRwdXQ6KCk9PmdNLEZpbGVQZW46KCk9PlM0LEZpbGVQZW5MaW5lOigpPT56NCxGaWxlUGllQ2hhcnQ6KCk9Pmc0LEZpbGVQbGF5OigpPT5DNCxGaWxlUGx1czooKT0+Yk0sRmlsZVBsdXMyOigpPT5fNCxGaWxlUGx1c0Nvcm5lcjooKT0+XzQsRmlsZVF1ZXN0aW9uOigpPT5UNCxGaWxlUXVlc3Rpb25NYXJrOigpPT5UNCxGaWxlU2NhbjooKT0+dk0sRmlsZVNlYXJjaDooKT0+eE0sRmlsZVNlYXJjaDI6KCk9Pkw0LEZpbGVTZWFyY2hDb3JuZXI6KCk9Pkw0LEZpbGVTaWduYWw6KCk9PiQ0LEZpbGVTaWduYXR1cmU6KCk9Pno0LEZpbGVTbGlkZXJzOigpPT55TSxGaWxlU3ByZWFkc2hlZXQ6KCk9PndNLEZpbGVTdGFjazooKT0+TU0sRmlsZVN5bWxpbms6KCk9PmtNLEZpbGVUZXJtaW5hbDooKT0+Q00sRmlsZVRleHQ6KCk9PnpNLEZpbGVUeXBlOigpPT5TTSxGaWxlVHlwZTI6KCk9PkQ0LEZpbGVUeXBlQ29ybmVyOigpPT5ENCxGaWxlVXA6KCk9Pl9NLEZpbGVVc2VyOigpPT5UTSxGaWxlVmlkZW86KCk9PkM0LEZpbGVWaWRlbzI6KCk9PkE0LEZpbGVWaWRlb0NhbWVyYTooKT0+QTQsRmlsZVZvbHVtZTooKT0+TE0sRmlsZVZvbHVtZTI6KCk9PiQ0LEZpbGVXYXJuaW5nOigpPT55NCxGaWxlWDooKT0+JE0sRmlsZVgyOigpPT5QNCxGaWxlWENvcm5lcjooKT0+UDQsRmlsZXM6KCk9PkFNLEZpbG06KCk9PlBNLEZpbHRlcjooKT0+RjQsRmlsdGVyWDooKT0+UjQsRmluZ2VycHJpbnQ6KCk9PkU0LEZpbmdlcnByaW50UGF0dGVybjooKT0+RTQsRmlyZUV4dGluZ3Vpc2hlcjooKT0+RU0sRmlzaDooKT0+Uk0sRmlzaE9mZjooKT0+SU0sRmlzaFN5bWJvbDooKT0+Tk0sRmlzaGluZ0hvb2s6KCk9PkZNLEZpc2hpbmdSb2Q6KCk9Pk9NLEZsYWc6KCk9PlZNLEZsYWdPZmY6KCk9PkhNLEZsYWdUcmlhbmdsZUxlZnQ6KCk9PkJNLEZsYWdUcmlhbmdsZVJpZ2h0OigpPT5xTSxGbGFtZTooKT0+VU0sRmxhbWVLaW5kbGluZzooKT0+ak0sRmxhc2hsaWdodDooKT0+R00sRmxhc2hsaWdodE9mZjooKT0+V00sRmxhc2tDb25pY2FsOigpPT5ZTSxGbGFza0NvbmljYWxPZmY6KCk9PlpNLEZsYXNrUm91bmQ6KCk9PlhNLEZsaXBIb3Jpem9udGFsOigpPT5WMyxGbGlwSG9yaXpvbnRhbDI6KCk9PktNLEZsaXBWZXJ0aWNhbDooKT0+VzMsRmxpcFZlcnRpY2FsMjooKT0+UU0sRmxvd2VyOigpPT5layxGbG93ZXIyOigpPT5KTSxGb2N1czooKT0+dGssRm9sZEhvcml6b250YWw6KCk9PmFrLEZvbGRWZXJ0aWNhbDooKT0+cmssRm9sZGVyOigpPT5EayxGb2xkZXJBcmNoaXZlOigpPT5payxGb2xkZXJDaGVjazooKT0+c2ssRm9sZGVyQ2xvY2s6KCk9Pm9rLEZvbGRlckNsb3NlZDooKT0+bmssRm9sZGVyQ29kZTooKT0+bGssRm9sZGVyQ29nOigpPT5JNCxGb2xkZXJDb2cyOigpPT5JNCxGb2xkZXJEb3Q6KCk9PmNrLEZvbGRlckRvd246KCk9PmRrLEZvbGRlckVkaXQ6KCk9Pk40LEZvbGRlckdpdDooKT0+dWssRm9sZGVyR2l0MjooKT0+cGssRm9sZGVySGVhcnQ6KCk9PmZrLEZvbGRlcklucHV0OigpPT5oayxGb2xkZXJLYW5iYW46KCk9Pm1rLEZvbGRlcktleTooKT0+Z2ssRm9sZGVyTG9jazooKT0+YmssRm9sZGVyTWludXM6KCk9PnZrLEZvbGRlck9wZW46KCk9PnlrLEZvbGRlck9wZW5Eb3Q6KCk9PnhrLEZvbGRlck91dHB1dDooKT0+d2ssRm9sZGVyUGVuOigpPT5ONCxGb2xkZXJQbHVzOigpPT5NayxGb2xkZXJSb290OigpPT5rayxGb2xkZXJTZWFyY2g6KCk9PlNrLEZvbGRlclNlYXJjaDI6KCk9PnprLEZvbGRlclN5bWxpbms6KCk9PkNrLEZvbGRlclN5bmM6KCk9Pl9rLEZvbGRlclRyZWU6KCk9PlRrLEZvbGRlclVwOigpPT5MayxGb2xkZXJYOigpPT4kayxGb2xkZXJzOigpPT5BayxGb290cHJpbnRzOigpPT5QayxGb3JrS25pZmU6KCk9PlhkLEZvcmtLbmlmZUNyb3NzZWQ6KCk9PlpkLEZvcmtsaWZ0OigpPT5JayxGb3JtOigpPT5FayxGb3JtSW5wdXQ6KCk9PnkzLEZvcndhcmQ6KCk9PlJrLEZyYW1lOigpPT5OayxGcmFtZXI6KCk9PkZrLEZyb3duOigpPT5PayxGdWVsOigpPT5CayxGdWxsc2NyZWVuOigpPT5IayxGdW5jdGlvblNxdWFyZTooKT0+b2QsRnVubmVsOigpPT5GNCxGdW5uZWxQbHVzOigpPT5xayxGdW5uZWxYOigpPT5SNCxHYWxsZXJ5SG9yaXpvbnRhbDooKT0+amssR2FsbGVyeUhvcml6b250YWxFbmQ6KCk9PlZrLEdhbGxlcnlUaHVtYm5haWxzOigpPT5VayxHYWxsZXJ5VmVydGljYWw6KCk9PkdrLEdhbGxlcnlWZXJ0aWNhbEVuZDooKT0+V2ssR2FtZXBhZDooKT0+WGssR2FtZXBhZDI6KCk9PllrLEdhbWVwYWREaXJlY3Rpb25hbDooKT0+WmssR2FudHRDaGFydDooKT0+YmMsR2FudHRDaGFydFNxdWFyZTooKT0+Q28sR2F1Z2U6KCk9PktrLEdhdWdlQ2lyY2xlOigpPT5SYyxHYXZlbDooKT0+UWssR2VtOigpPT5leixHZW9yZ2lhbkxhcmk6KCk9PkprLEdob3N0OigpPT50eixHaWZ0OigpPT5heixHaXRCcmFuY2g6KCk9PnN6LEdpdEJyYW5jaE1pbnVzOigpPT5yeixHaXRCcmFuY2hQbHVzOigpPT5peixHaXRDb21taXQ6KCk9Pk80LEdpdENvbW1pdEhvcml6b250YWw6KCk9Pk80LEdpdENvbW1pdFZlcnRpY2FsOigpPT5veixHaXRDb21wYXJlOigpPT5seixHaXRDb21wYXJlQXJyb3dzOigpPT5ueixHaXRGb3JrOigpPT5keixHaXRHcmFwaDooKT0+Y3osR2l0TWVyZ2U6KCk9PnV6LEdpdE1lcmdlQ29uZmxpY3Q6KCk9PnB6LEdpdFB1bGxSZXF1ZXN0OigpPT52eixHaXRQdWxsUmVxdWVzdEFycm93OigpPT5meixHaXRQdWxsUmVxdWVzdENsb3NlZDooKT0+aHosR2l0UHVsbFJlcXVlc3RDcmVhdGU6KCk9Pmd6LEdpdFB1bGxSZXF1ZXN0Q3JlYXRlQXJyb3c6KCk9Pm16LEdpdFB1bGxSZXF1ZXN0RHJhZnQ6KCk9PmJ6LEdpdGh1YjooKT0+eHosR2l0bGFiOigpPT55eixHbGFzc1dhdGVyOigpPT53eixHbGFzc2VzOigpPT5reixHbG9iZTooKT0+Q3osR2xvYmUyOigpPT5vNCxHbG9iZUxvY2s6KCk9Pk16LEdsb2JlT2ZmOigpPT5TeixHbG9iZVg6KCk9Pnp6LEdvYWw6KCk9Pl96LEdwdTooKT0+VHosR3JhYjooKT0+ajQsR3JhZHVhdGlvbkNhcDooKT0+THosR3JhcGU6KCk9PiR6LEdyaWQ6KCk9PmtvLEdyaWQyWDI6KCk9PlY0LEdyaWQyWDJDaGVjazooKT0+QjQsR3JpZDJYMlBsdXM6KCk9Pkg0LEdyaWQyWDJYOigpPT5xNCxHcmlkMngyOigpPT5WNCxHcmlkMngyQ2hlY2s6KCk9PkI0LEdyaWQyeDJQbHVzOigpPT5INCxHcmlkMngyWDooKT0+cTQsR3JpZDNYMzooKT0+a28sR3JpZDN4MjooKT0+RHosR3JpZDN4MzooKT0+a28sR3JpcDooKT0+RXosR3JpcEhvcml6b250YWw6KCk9PkF6LEdyaXBWZXJ0aWNhbDooKT0+UHosR3JvdXA6KCk9Pkl6LEd1aXRhcjooKT0+TnosSGFtOigpPT5SeixIYW1idXJnZXI6KCk9PkZ6LEhhbW1lcjooKT0+T3osSGFuZDooKT0+V3osSGFuZENvaW5zOigpPT5CeixIYW5kRmlzdDooKT0+SHosSGFuZEdyYWI6KCk9Pmo0LEhhbmRIZWFydDooKT0+cXosSGFuZEhlbHBpbmc6KCk9PlU0LEhhbmRNZXRhbDooKT0+VnosSGFuZFBsYXR0ZXI6KCk9Pmp6LEhhbmRiYWc6KCk9PlV6LEhhbmRzaGFrZTooKT0+WnosSGFyZERyaXZlOigpPT5ZeixIYXJkRHJpdmVEb3dubG9hZDooKT0+R3osSGFyZERyaXZlVXBsb2FkOigpPT5YeixIYXJkSGF0OigpPT5LeixIYXNoOigpPT5ReixIYXRHbGFzc2VzOigpPT5KeixIYXplOigpPT5lUyxIZDooKT0+dFMsSGRtaVBvcnQ6KCk9PmFTLEhlYWRpbmc6KCk9PmxTLEhlYWRpbmcxOigpPT5yUyxIZWFkaW5nMjooKT0+aVMsSGVhZGluZzM6KCk9PnNTLEhlYWRpbmc0OigpPT5vUyxIZWFkaW5nNTooKT0+blMsSGVhZGluZzY6KCk9PmNTLEhlYWRwaG9uZU9mZjooKT0+cFMsSGVhZHBob25lczooKT0+ZFMsSGVhZHNldDooKT0+dVMsSGVhcnQ6KCk9PnhTLEhlYXJ0Q3JhY2s6KCk9PmhTLEhlYXJ0SGFuZHNoYWtlOigpPT5mUyxIZWFydE1pbnVzOigpPT5nUyxIZWFydE9mZjooKT0+bVMsSGVhcnRQbHVzOigpPT5iUyxIZWFydFB1bHNlOigpPT52UyxIZWF0ZXI6KCk9PnlTLEhlbGljb3B0ZXI6KCk9PndTLEhlbHBDaXJjbGU6KCk9PnlvLEhlbHBpbmdIYW5kOigpPT5VNCxIZXhhZ29uOigpPT5NUyxIaWdobGlnaHRlcjooKT0+a1MsSGlzdG9yeTooKT0+elMsSG9tZTooKT0+RzQsSG9wOigpPT5fUyxIb3BPZmY6KCk9PlNTLEhvc3BpdGFsOigpPT5DUyxIb3RlbDooKT0+VFMsSG91cmdsYXNzOigpPT5MUyxIb3VzZTooKT0+RzQsSG91c2VIZWFydDooKT0+JFMsSG91c2VQbHVnOigpPT5BUyxIb3VzZVBsdXM6KCk9PkRTLEhvdXNlV2lmaTooKT0+UFMsSWNlQ3JlYW06KCk9Plk0LEljZUNyZWFtMjooKT0+VzQsSWNlQ3JlYW1Cb3dsOigpPT5XNCxJY2VDcmVhbUNvbmU6KCk9Plk0LElkQ2FyZDooKT0+RVMsSWRDYXJkTGFueWFyZDooKT0+SVMsSW1hZ2U6KCk9PlZTLEltYWdlRG93bjooKT0+TlMsSW1hZ2VNaW51czooKT0+UlMsSW1hZ2VPZmY6KCk9PkZTLEltYWdlUGxheTooKT0+T1MsSW1hZ2VQbHVzOigpPT5CUyxJbWFnZVVwOigpPT5IUyxJbWFnZVVwc2NhbGU6KCk9PnFTLEltYWdlczooKT0+alMsSW1wb3J0OigpPT5VUyxJbmJveDooKT0+V1MsSW5kZW50OigpPT5TbyxJbmRlbnREZWNyZWFzZTooKT0+em8sSW5kZW50SW5jcmVhc2U6KCk9PlNvLEluZGlhblJ1cGVlOigpPT5ZUyxJbmZpbml0eTooKT0+R1MsSW5mbzooKT0+WlMsSW5zcGVjdDooKT0+dWQsSW5zcGVjdGlvblBhbmVsOigpPT5YUyxJbnN0YWdyYW06KCk9PktTLEl0YWxpYzooKT0+UVMsSXRlcmF0aW9uQ2N3OigpPT5lQyxJdGVyYXRpb25DdzooKT0+SlMsSmFwYW5lc2VZZW46KCk9PmFDLEpveXN0aWNrOigpPT50QyxLYW5iYW46KCk9PnJDLEthbmJhblNxdWFyZTooKT0+bmQsS2FuYmFuU3F1YXJlRGFzaGVkOigpPT5lZCxLYXlhazooKT0+aUMsS2V5OigpPT5uQyxLZXlSb3VuZDooKT0+b0MsS2V5U3F1YXJlOigpPT5zQyxLZXlib2FyZDooKT0+Y0MsS2V5Ym9hcmRNdXNpYzooKT0+ZEMsS2V5Ym9hcmRPZmY6KCk9PmxDLExhbXA6KCk9PmJDLExhbXBDZWlsaW5nOigpPT5wQyxMYW1wRGVzazooKT0+dUMsTGFtcEZsb29yOigpPT5mQyxMYW1wV2FsbERvd246KCk9PmhDLExhbXBXYWxsVXA6KCk9Pm1DLExhbmRQbG90OigpPT5nQyxMYW5kbWFyazooKT0+dkMsTGFuZ3VhZ2VzOigpPT54QyxMYXB0b3A6KCk9PndDLExhcHRvcDI6KCk9Plo0LExhcHRvcE1pbmltYWw6KCk9Plo0LExhcHRvcE1pbmltYWxDaGVjazooKT0+eUMsTGFzc286KCk9PmtDLExhc3NvU2VsZWN0OigpPT5NQyxMYXVnaDooKT0+ekMsTGF5ZXJzOigpPT5YNCxMYXllcnMyOigpPT5TQyxMYXllcnMzOigpPT5YNCxMYXllcnNQbHVzOigpPT5DQyxMYXlvdXQ6KCk9PmczLExheW91dERhc2hib2FyZDooKT0+VEMsTGF5b3V0R3JpZDooKT0+X0MsTGF5b3V0TGlzdDooKT0+TEMsTGF5b3V0UGFuZWxMZWZ0OigpPT4kQyxMYXlvdXRQYW5lbFRvcDooKT0+REMsTGF5b3V0VGVtcGxhdGU6KCk9PkFDLExlYWY6KCk9PklDLExlYWZ5R3JlZW46KCk9PlBDLExlY3Rlcm46KCk9PkVDLExlbnNDb25jYXZlOigpPT5OQyxMZW5zQ29udmV4OigpPT5SQyxMZXR0ZXJUZXh0OigpPT5FZCxMaWJyYXJ5OigpPT5PQyxMaWJyYXJ5QmlnOigpPT5GQyxMaWJyYXJ5U3F1YXJlOigpPT5sZCxMaWZlQnVveTooKT0+QkMsTGlnYXR1cmU6KCk9PkhDLExpZ2h0YnVsYjooKT0+cUMsTGlnaHRidWxiT2ZmOigpPT5qQyxMaW5lQ2hhcnQ6KCk9PmhjLExpbmVEb3RSaWdodEhvcml6b250YWw6KCk9PlZDLExpbmVTcXVpZ2dsZTooKT0+VUMsTGluazooKT0+WUMsTGluazI6KCk9PkdDLExpbmsyT2ZmOigpPT5XQyxMaW5rZWRpbjooKT0+WkMsTGlzdDooKT0+aF8sTGlzdENoZWNrOigpPT5YQyxMaXN0Q2hlY2tzOigpPT5LQyxMaXN0Q2hldnJvbnNEb3duVXA6KCk9PlFDLExpc3RDaGV2cm9uc1VwRG93bjooKT0+ZV8sTGlzdENvbGxhcHNlOigpPT5KQyxMaXN0RW5kOigpPT50XyxMaXN0RmlsdGVyOigpPT5yXyxMaXN0RmlsdGVyUGx1czooKT0+YV8sTGlzdEluZGVudERlY3JlYXNlOigpPT56byxMaXN0SW5kZW50SW5jcmVhc2U6KCk9PlNvLExpc3RNaW51czooKT0+c18sTGlzdE11c2ljOigpPT5pXyxMaXN0T3JkZXJlZDooKT0+b18sTGlzdFBsdXM6KCk9PmxfLExpc3RSZXN0YXJ0OigpPT5uXyxMaXN0U3RhcnQ6KCk9PmNfLExpc3RUb2RvOigpPT5kXyxMaXN0VHJlZTooKT0+cF8sTGlzdFZpZGVvOigpPT51XyxMaXN0WDooKT0+Zl8sTG9hZGVyOigpPT5nXyxMb2FkZXIyOigpPT5LNCxMb2FkZXJDaXJjbGU6KCk9Pks0LExvYWRlclBpbndoZWVsOigpPT5tXyxMb2NhdGU6KCk9PnhfLExvY2F0ZUZpeGVkOigpPT5iXyxMb2NhdGVPZmY6KCk9PnZfLExvY2F0aW9uRWRpdDooKT0+dDMsTG9jazooKT0+TV8sTG9ja0tleWhvbGU6KCk9PnlfLExvY2tLZXlob2xlT3BlbjooKT0+UTQsTG9ja09wZW46KCk9Pko0LExvZ0luOigpPT53XyxMb2dPdXQ6KCk9PmtfLExvZ3M6KCk9PnpfLExvbGxpcG9wOigpPT5TXyxMdWdnYWdlOigpPT5DXyxNU3F1YXJlOigpPT5jZCxNYWduZXQ6KCk9Pl9fLE1haWw6KCk9PklfLE1haWxDaGVjazooKT0+VF8sTWFpbE1pbnVzOigpPT5MXyxNYWlsT3BlbjooKT0+JF8sTWFpbFBsdXM6KCk9PkRfLE1haWxRdWVzdGlvbjooKT0+ZTMsTWFpbFF1ZXN0aW9uTWFyazooKT0+ZTMsTWFpbFNlYXJjaDooKT0+QV8sTWFpbFdhcm5pbmc6KCk9PlBfLE1haWxYOigpPT5FXyxNYWlsYm94OigpPT5OXyxNYWlsczooKT0+Ul8sTWFwOigpPT5KXyxNYXBNaW51czooKT0+Rl8sTWFwUGluOigpPT5aXyxNYXBQaW5DaGVjazooKT0+SF8sTWFwUGluQ2hlY2tJbnNpZGU6KCk9Pk9fLE1hcFBpbkhvdXNlOigpPT5CXyxNYXBQaW5NaW51czooKT0+Vl8sTWFwUGluTWludXNJbnNpZGU6KCk9PnFfLE1hcFBpbk9mZjooKT0+al8sTWFwUGluUGVuOigpPT50MyxNYXBQaW5QbHVzOigpPT5VXyxNYXBQaW5QbHVzSW5zaWRlOigpPT5XXyxNYXBQaW5YOigpPT5ZXyxNYXBQaW5YSW5zaWRlOigpPT5HXyxNYXBQaW5uZWQ6KCk9PlhfLE1hcFBsdXM6KCk9PktfLE1hcnM6KCk9PmVULE1hcnNTdHJva2U6KCk9PlFfLE1hcnRpbmk6KCk9PnRULE1heGltaXplOigpPT5yVCxNYXhpbWl6ZTI6KCk9PmFULE1lZGFsOigpPT5zVCxNZWdhcGhvbmU6KCk9Pm9ULE1lZ2FwaG9uZU9mZjooKT0+aVQsTWVoOigpPT5uVCxNZW1vcnlTdGljazooKT0+Y1QsTWVudTooKT0+bFQsTWVudVNxdWFyZTooKT0+ZGQsTWVyZ2U6KCk9PmRULE1lc3NhZ2VDaXJjbGU6KCk9PndULE1lc3NhZ2VDaXJjbGVDaGVjazooKT0+cFQsTWVzc2FnZUNpcmNsZUNvZGU6KCk9PnVULE1lc3NhZ2VDaXJjbGVEYXNoZWQ6KCk9PmZULE1lc3NhZ2VDaXJjbGVIZWFydDooKT0+aFQsTWVzc2FnZUNpcmNsZU1vcmU6KCk9Pm1ULE1lc3NhZ2VDaXJjbGVPZmY6KCk9PmdULE1lc3NhZ2VDaXJjbGVQbHVzOigpPT5iVCxNZXNzYWdlQ2lyY2xlUXVlc3Rpb246KCk9PmEzLE1lc3NhZ2VDaXJjbGVRdWVzdGlvbk1hcms6KCk9PmEzLE1lc3NhZ2VDaXJjbGVSZXBseTooKT0+dlQsTWVzc2FnZUNpcmNsZVdhcm5pbmc6KCk9PnhULE1lc3NhZ2VDaXJjbGVYOigpPT55VCxNZXNzYWdlU3F1YXJlOigpPT5GVCxNZXNzYWdlU3F1YXJlQ2hlY2s6KCk9Pk1ULE1lc3NhZ2VTcXVhcmVDb2RlOigpPT5rVCxNZXNzYWdlU3F1YXJlRGFzaGVkOigpPT56VCxNZXNzYWdlU3F1YXJlRGlmZjooKT0+U1QsTWVzc2FnZVNxdWFyZURvdDooKT0+Q1QsTWVzc2FnZVNxdWFyZUhlYXJ0OigpPT5fVCxNZXNzYWdlU3F1YXJlTG9jazooKT0+VFQsTWVzc2FnZVNxdWFyZU1vcmU6KCk9PkxULE1lc3NhZ2VTcXVhcmVPZmY6KCk9PiRULE1lc3NhZ2VTcXVhcmVQbHVzOigpPT5EVCxNZXNzYWdlU3F1YXJlUXVvdGU6KCk9PkFULE1lc3NhZ2VTcXVhcmVSZXBseTooKT0+UFQsTWVzc2FnZVNxdWFyZVNoYXJlOigpPT5FVCxNZXNzYWdlU3F1YXJlVGV4dDooKT0+SVQsTWVzc2FnZVNxdWFyZVdhcm5pbmc6KCk9Pk5ULE1lc3NhZ2VTcXVhcmVYOigpPT5SVCxNZXNzYWdlc1NxdWFyZTooKT0+T1QsTWV0cm9ub21lOigpPT5CVCxNaWM6KCk9PnFULE1pYzI6KCk9PnIzLE1pY09mZjooKT0+SFQsTWljVm9jYWw6KCk9PnIzLE1pY3JvY2hpcDooKT0+VlQsTWljcm9zY29wZTooKT0+V1QsTWljcm93YXZlOigpPT5qVCxNaWxlc3RvbmU6KCk9PlVULE1pbGs6KCk9PlpULE1pbGtPZmY6KCk9PkdULE1pbmltaXplOigpPT5YVCxNaW5pbWl6ZTI6KCk9PllULE1pbnVzOigpPT5LVCxNaW51c0NpcmNsZTooKT0+RmMsTWludXNTcXVhcmU6KCk9PnBkLE1pcnJvclJlY3Rhbmd1bGFyOigpPT5RVCxNaXJyb3JSb3VuZDooKT0+SlQsTW9uaXRvcjooKT0+ZkwsTW9uaXRvckNoZWNrOigpPT5lTCxNb25pdG9yQ2xvdWQ6KCk9PnRMLE1vbml0b3JDb2c6KCk9PmFMLE1vbml0b3JEb3Q6KCk9PnJMLE1vbml0b3JEb3duOigpPT5pTCxNb25pdG9yT2ZmOigpPT5zTCxNb25pdG9yUGF1c2U6KCk9Pm9MLE1vbml0b3JQbGF5OigpPT5uTCxNb25pdG9yU21hcnRwaG9uZTooKT0+bEwsTW9uaXRvclNwZWFrZXI6KCk9PmNMLE1vbml0b3JTdG9wOigpPT5kTCxNb25pdG9yVXA6KCk9PnBMLE1vbml0b3JYOigpPT51TCxNb29uOigpPT5tTCxNb29uU3RhcjooKT0+aEwsTW9yZUhvcml6b250YWw6KCk9Pmw0LE1vcmVWZXJ0aWNhbDooKT0+bjQsTW90b3JiaWtlOigpPT5nTCxNb3VudGFpbjooKT0+dkwsTW91bnRhaW5Tbm93OigpPT5iTCxNb3VzZTooKT0+X0wsTW91c2VMZWZ0OigpPT54TCxNb3VzZU9mZjooKT0+eUwsTW91c2VQb2ludGVyOigpPT5TTCxNb3VzZVBvaW50ZXIyOigpPT5NTCxNb3VzZVBvaW50ZXIyT2ZmOigpPT53TCxNb3VzZVBvaW50ZXJCYW46KCk9PmtMLE1vdXNlUG9pbnRlckNsaWNrOigpPT56TCxNb3VzZVBvaW50ZXJTcXVhcmVEYXNoZWQ6KCk9PnRkLE1vdXNlUmlnaHQ6KCk9PkNMLE1vdmU6KCk9PkJMLE1vdmUzRDooKT0+aTMsTW92ZTNkOigpPT5pMyxNb3ZlRGlhZ29uYWw6KCk9PkxMLE1vdmVEaWFnb25hbDI6KCk9PlRMLE1vdmVEb3duOigpPT5BTCxNb3ZlRG93bkxlZnQ6KCk9PkRMLE1vdmVEb3duUmlnaHQ6KCk9PiRMLE1vdmVIb3Jpem9udGFsOigpPT5QTCxNb3ZlTGVmdDooKT0+SUwsTW92ZVJpZ2h0OigpPT5FTCxNb3ZlVXA6KCk9PkZMLE1vdmVVcExlZnQ6KCk9Pk5MLE1vdmVVcFJpZ2h0OigpPT5STCxNb3ZlVmVydGljYWw6KCk9Pk9MLE11c2ljOigpPT5qTCxNdXNpYzI6KCk9PkhMLE11c2ljMzooKT0+cUwsTXVzaWM0OigpPT5WTCxOYXZpZ2F0aW9uOigpPT5ZTCxOYXZpZ2F0aW9uMjooKT0+V0wsTmF2aWdhdGlvbjJPZmY6KCk9PlVMLE5hdmlnYXRpb25PZmY6KCk9PkdMLE5ldHdvcms6KCk9PlpMLE5ld3NwYXBlcjooKT0+S0wsTmZjOigpPT5YTCxOb25CaW5hcnk6KCk9PlFMLE5vdGVib29rOigpPT5pJCxOb3RlYm9va1BlbjooKT0+SkwsTm90ZWJvb2tUYWJzOigpPT5lJCxOb3RlYm9va1RleHQ6KCk9PnQkLE5vdGVwYWRUZXh0OigpPT5yJCxOb3RlcGFkVGV4dERhc2hlZDooKT0+YSQsTnV0OigpPT5uJCxOdXRPZmY6KCk9PnMkLE9jdGFnb246KCk9PmwkLE9jdGFnb25BbGVydDooKT0+czMsT2N0YWdvbk1pbnVzOigpPT5vJCxPY3RhZ29uUGF1c2U6KCk9Pm8zLE9jdGFnb25YOigpPT5uMyxPbWVnYTooKT0+YyQsT3B0aW9uOigpPT5kJCxPcmJpdDooKT0+cCQsT3JpZ2FtaTooKT0+dSQsT3V0ZGVudDooKT0+em8sUGFja2FnZTooKT0+eSQsUGFja2FnZTI6KCk9PmYkLFBhY2thZ2VDaGVjazooKT0+aCQsUGFja2FnZU1pbnVzOigpPT5tJCxQYWNrYWdlT3BlbjooKT0+ZyQsUGFja2FnZVBsdXM6KCk9PmIkLFBhY2thZ2VTZWFyY2g6KCk9PnYkLFBhY2thZ2VYOigpPT54JCxQYWludEJ1Y2tldDooKT0+dyQsUGFpbnRSb2xsZXI6KCk9Pk0kLFBhaW50YnJ1c2g6KCk9PmskLFBhaW50YnJ1c2gyOigpPT5sMyxQYWludGJydXNoVmVydGljYWw6KCk9PmwzLFBhbGV0dGU6KCk9PnokLFBhbG10cmVlOigpPT5GZCxQYW5kYTooKT0+UyQsUGFuZWxCb3R0b206KCk9PlQkLFBhbmVsQm90dG9tQ2xvc2U6KCk9PkMkLFBhbmVsQm90dG9tRGFzaGVkOigpPT5jMyxQYW5lbEJvdHRvbUluYWN0aXZlOigpPT5jMyxQYW5lbEJvdHRvbU9wZW46KCk9Pl8kLFBhbmVsTGVmdDooKT0+ZjMsUGFuZWxMZWZ0Q2xvc2U6KCk9PmQzLFBhbmVsTGVmdERhc2hlZDooKT0+cDMsUGFuZWxMZWZ0SW5hY3RpdmU6KCk9PnAzLFBhbmVsTGVmdE9wZW46KCk9PnUzLFBhbmVsTGVmdFJpZ2h0RGFzaGVkOigpPT5MJCxQYW5lbFJpZ2h0OigpPT5BJCxQYW5lbFJpZ2h0Q2xvc2U6KCk9PiQkLFBhbmVsUmlnaHREYXNoZWQ6KCk9PmgzLFBhbmVsUmlnaHRJbmFjdGl2ZTooKT0+aDMsUGFuZWxSaWdodE9wZW46KCk9PkQkLFBhbmVsVG9wOigpPT5OJCxQYW5lbFRvcEJvdHRvbURhc2hlZDooKT0+UCQsUGFuZWxUb3BDbG9zZTooKT0+RSQsUGFuZWxUb3BEYXNoZWQ6KCk9Pm0zLFBhbmVsVG9wSW5hY3RpdmU6KCk9Pm0zLFBhbmVsVG9wT3BlbjooKT0+SSQsUGFuZWxzTGVmdEJvdHRvbTooKT0+UiQsUGFuZWxzTGVmdFJpZ2h0OigpPT5yNCxQYW5lbHNSaWdodEJvdHRvbTooKT0+RiQsUGFuZWxzVG9wQm90dG9tOigpPT5rMyxQYW5lbHNUb3BMZWZ0OigpPT5nMyxQYXBlcmNsaXA6KCk9Pk8kLFBhcmVudGhlc2VzOigpPT5CJCxQYXJraW5nQ2lyY2xlOigpPT5PYyxQYXJraW5nQ2lyY2xlT2ZmOigpPT5CYyxQYXJraW5nTWV0ZXI6KCk9PkgkLFBhcmtpbmdTcXVhcmU6KCk9PmhkLFBhcmtpbmdTcXVhcmVPZmY6KCk9PmZkLFBhcnR5UG9wcGVyOigpPT5xJCxQYXVzZTooKT0+ViQsUGF1c2VDaXJjbGU6KCk9PkhjLFBhdXNlT2N0YWdvbjooKT0+bzMsUGF3UHJpbnQ6KCk9PmokLFBjQ2FzZTooKT0+VSQsUGVuOigpPT52MyxQZW5Cb3g6KCk9PlNzLFBlbkxpbmU6KCk9PmIzLFBlbk9mZjooKT0+VyQsUGVuU3F1YXJlOigpPT5TcyxQZW5Ub29sOigpPT5HJCxQZW5jaWw6KCk9PkskLFBlbmNpbExpbmU6KCk9PlkkLFBlbmNpbE9mZjooKT0+WiQsUGVuY2lsUnVsZXI6KCk9PlgkLFBlbnRhZ29uOigpPT5KJCxQZXJjZW50OigpPT5RJCxQZXJjZW50Q2lyY2xlOigpPT5xYyxQZXJjZW50RGlhbW9uZDooKT0+czQsUGVyY2VudFNxdWFyZTooKT0+bWQsUGVyc29uU3RhbmRpbmc6KCk9PmVELFBoaWxpcHBpbmVQZXNvOigpPT50RCxQaG9uZTooKT0+bEQsUGhvbmVDYWxsOigpPT5hRCxQaG9uZUZvcndhcmRlZDooKT0+ckQsUGhvbmVJbmNvbWluZzooKT0+aUQsUGhvbmVNaXNzZWQ6KCk9PnNELFBob25lT2ZmOigpPT5vRCxQaG9uZU91dGdvaW5nOigpPT5uRCxQaTooKT0+Y0QsUGlTcXVhcmU6KCk9PmdkLFBpYW5vOigpPT5kRCxQaWNrYXhlOigpPT5wRCxQaWN0dXJlSW5QaWN0dXJlOigpPT5mRCxQaWN0dXJlSW5QaWN0dXJlMjooKT0+dUQsUGllQ2hhcnQ6KCk9PnZjLFBpZ2d5QmFuazooKT0+aEQsUGlsY3JvdzooKT0+YkQsUGlsY3Jvd0xlZnQ6KCk9Pm1ELFBpbGNyb3dSaWdodDooKT0+Z0QsUGlsY3Jvd1NxdWFyZTooKT0+YmQsUGlsbDooKT0+eEQsUGlsbEJvdHRsZTooKT0+dkQsUGluOigpPT53RCxQaW5PZmY6KCk9PnlELFBpcGV0dGU6KCk9Pk1ELFBpenphOigpPT5rRCxQbGFuZTooKT0+Q0QsUGxhbmVMYW5kaW5nOigpPT56RCxQbGFuZVRha2VvZmY6KCk9PlNELFBsYXk6KCk9Pl9ELFBsYXlDaXJjbGU6KCk9PlZjLFBsYXlTcXVhcmU6KCk9PnZkLFBsdWc6KCk9PkxELFBsdWcyOigpPT5URCxQbHVnWmFwOigpPT54MyxQbHVnWmFwMjooKT0+eDMsUGx1czooKT0+JEQsUGx1c0NpcmNsZTooKT0+amMsUGx1c1NxdWFyZTooKT0+eGQsUG9ja2V0OigpPT5BRCxQb2NrZXRLbmlmZTooKT0+REQsUG9kY2FzdDooKT0+UEQsUG9pbnRlcjooKT0+RUQsUG9pbnRlck9mZjooKT0+SUQsUG9wY29ybjooKT0+TkQsUG9wc2ljbGU6KCk9PlJELFBvdW5kU3Rlcmxpbmc6KCk9PkZELFBvd2VyOigpPT5CRCxQb3dlckNpcmNsZTooKT0+VWMsUG93ZXJPZmY6KCk9Pk9ELFBvd2VyU3F1YXJlOigpPT55ZCxQcmVzZW50YXRpb246KCk9PkhELFByaW50ZXI6KCk9PmpELFByaW50ZXJDaGVjazooKT0+cUQsUHJpbnRlclg6KCk9PlZELFByb2plY3RvcjooKT0+VUQsUHJvcG9ydGlvbnM6KCk9PldELFB1enpsZTooKT0+R0QsUHlyYW1pZDooKT0+WUQsUXJDb2RlOigpPT5aRCxRdW90ZTooKT0+S0QsUmFiYml0OigpPT5YRCxSYWRhcjooKT0+UUQsUmFkaWF0aW9uOigpPT5KRCxSYWRpY2FsOigpPT5lQSxSYWRpbzooKT0+YUEsUmFkaW9SZWNlaXZlcjooKT0+dEEsUmFkaW9Ub3dlcjooKT0+ckEsUmFkaXVzOigpPT5pQSxSYWlsU3ltYm9sOigpPT5zQSxSYWluYm93OigpPT5vQSxSYXQ6KCk9Pm5BLFJhdGlvOigpPT5sQSxSZWNlaXB0OigpPT52QSxSZWNlaXB0Q2VudDooKT0+ZEEsUmVjZWlwdEV1cm86KCk9PmNBLFJlY2VpcHRJbmRpYW5SdXBlZTooKT0+cEEsUmVjZWlwdEphcGFuZXNlWWVuOigpPT51QSxSZWNlaXB0UG91bmRTdGVybGluZzooKT0+ZkEsUmVjZWlwdFJ1c3NpYW5SdWJsZTooKT0+aEEsUmVjZWlwdFN3aXNzRnJhbmM6KCk9PmdBLFJlY2VpcHRUZXh0OigpPT5tQSxSZWNlaXB0VHVya2lzaExpcmE6KCk9PmJBLFJlY3RhbmdsZUNpcmNsZTooKT0+eEEsUmVjdGFuZ2xlRWxsaXBzaXM6KCk9PnkzLFJlY3RhbmdsZUdvZ2dsZXM6KCk9PnlBLFJlY3RhbmdsZUhvcml6b250YWw6KCk9PndBLFJlY3RhbmdsZVZlcnRpY2FsOigpPT5rQSxSZWN5Y2xlOigpPT5NQSxSZWRvOigpPT5DQSxSZWRvMjooKT0+ekEsUmVkb0RvdDooKT0+U0EsUmVmcmVzaENjdzooKT0+VEEsUmVmcmVzaENjd0RvdDooKT0+X0EsUmVmcmVzaEN3OigpPT4kQSxSZWZyZXNoQ3dPZmY6KCk9PkxBLFJlZnJpZ2VyYXRvcjooKT0+REEsUmVnZXg6KCk9PkFBLFJlbW92ZUZvcm1hdHRpbmc6KCk9PlBBLFJlcGVhdDooKT0+TkEsUmVwZWF0MTooKT0+RUEsUmVwZWF0MjooKT0+SUEsUmVwbGFjZTooKT0+RkEsUmVwbGFjZUFsbDooKT0+UkEsUmVwbHk6KCk9PkhBLFJlcGx5QWxsOigpPT5PQSxSZXdpbmQ6KCk9PkJBLFJpYmJvbjooKT0+cUEsUm9ja2V0OigpPT5WQSxSb2NraW5nQ2hhaXI6KCk9PmpBLFJvbGxlckNvYXN0ZXI6KCk9PlVBLFJvc2U6KCk9PldBLFJvdGF0ZTNEOigpPT53MyxSb3RhdGUzZDooKT0+dzMsUm90YXRlQ2N3OigpPT5aQSxSb3RhdGVDY3dLZXk6KCk9PkdBLFJvdGF0ZUNjd1NxdWFyZTooKT0+WUEsUm90YXRlQ3c6KCk9PlhBLFJvdGF0ZUN3U3F1YXJlOigpPT5LQSxSb3V0ZTooKT0+UUEsUm91dGVPZmY6KCk9PkpBLFJvdXRlcjooKT0+ZVAsUm93czooKT0+TTMsUm93czI6KCk9Pk0zLFJvd3MzOigpPT5rMyxSb3dzNDooKT0+dFAsUnNzOigpPT5hUCxSdWxlcjooKT0+aVAsUnVsZXJEaW1lbnNpb25MaW5lOigpPT5yUCxSdXNzaWFuUnVibGU6KCk9PnNQLFNhaWxib2F0OigpPT5vUCxTYWxhZDooKT0+blAsU2FuZHdpY2g6KCk9PmxQLFNhdGVsbGl0ZTooKT0+ZFAsU2F0ZWxsaXRlRGlzaDooKT0+Y1AsU2F1ZGlSaXlhbDooKT0+cFAsU2F2ZTooKT0+aFAsU2F2ZUFsbDooKT0+ZlAsU2F2ZU9mZjooKT0+dVAsU2NhbGU6KCk9Pm1QLFNjYWxlM0Q6KCk9PnozLFNjYWxlM2Q6KCk9PnozLFNjYWxpbmc6KCk9PmdQLFNjYW46KCk9PlNQLFNjYW5CYXJjb2RlOigpPT5iUCxTY2FuRXllOigpPT52UCxTY2FuRmFjZTooKT0+eFAsU2NhbkhlYXJ0OigpPT55UCxTY2FuTGluZTooKT0+d1AsU2NhblFyQ29kZTooKT0+TVAsU2NhblNlYXJjaDooKT0+a1AsU2NhblRleHQ6KCk9PnpQLFNjYXR0ZXJDaGFydDooKT0+eGMsU2Nob29sOigpPT5DUCxTY2hvb2wyOigpPT5IZCxTY2lzc29yczooKT0+VFAsU2Npc3NvcnNMaW5lRGFzaGVkOigpPT5fUCxTY2lzc29yc1NxdWFyZTooKT0+d2QsU2Npc3NvcnNTcXVhcmVEYXNoZWRCb3R0b206KCk9PlUzLFNjb290ZXI6KCk9PkxQLFNjcmVlblNoYXJlOigpPT5EUCxTY3JlZW5TaGFyZU9mZjooKT0+JFAsU2Nyb2xsOigpPT5QUCxTY3JvbGxUZXh0OigpPT5BUCxTZWFyY2g6KCk9PkJQLFNlYXJjaEFsZXJ0OigpPT5FUCxTZWFyY2hDaGVjazooKT0+SVAsU2VhcmNoQ29kZTooKT0+TlAsU2VhcmNoU2xhc2g6KCk9PkZQLFNlYXJjaFg6KCk9PlJQLFNlY3Rpb246KCk9Pk9QLFNlbmQ6KCk9PnFQLFNlbmRIb3Jpem9uYWw6KCk9PlMzLFNlbmRIb3Jpem9udGFsOigpPT5TMyxTZW5kVG9CYWNrOigpPT5IUCxTZXBhcmF0b3JIb3Jpem9udGFsOigpPT5WUCxTZXBhcmF0b3JWZXJ0aWNhbDooKT0+alAsU2VydmVyOigpPT5ZUCxTZXJ2ZXJDb2c6KCk9PlVQLFNlcnZlckNyYXNoOigpPT5XUCxTZXJ2ZXJPZmY6KCk9PkdQLFNldHRpbmdzOigpPT5YUCxTZXR0aW5nczI6KCk9PlpQLFNoYXBlczooKT0+S1AsU2hhcmU6KCk9PkpQLFNoYXJlMjooKT0+UVAsU2hlZXQ6KCk9PmVFLFNoZWxsOigpPT50RSxTaGVsdmluZ1VuaXQ6KCk9PmFFLFNoaWVsZDooKT0+ZkUsU2hpZWxkQWxlcnQ6KCk9PnJFLFNoaWVsZEJhbjooKT0+aUUsU2hpZWxkQ2hlY2s6KCk9Pm9FLFNoaWVsZENsb3NlOigpPT5fMyxTaGllbGRFbGxpcHNpczooKT0+c0UsU2hpZWxkSGFsZjooKT0+bkUsU2hpZWxkTWludXM6KCk9PmxFLFNoaWVsZE9mZjooKT0+Y0UsU2hpZWxkUGx1czooKT0+ZEUsU2hpZWxkUXVlc3Rpb246KCk9PkMzLFNoaWVsZFF1ZXN0aW9uTWFyazooKT0+QzMsU2hpZWxkVXNlcjooKT0+cEUsU2hpZWxkWDooKT0+XzMsU2hpcDooKT0+aEUsU2hpcFdoZWVsOigpPT51RSxTaGlydDooKT0+bUUsU2hvcHBpbmdCYWc6KCk9PmdFLFNob3BwaW5nQmFza2V0OigpPT5iRSxTaG9wcGluZ0NhcnQ6KCk9PnZFLFNob3ZlbDooKT0+eEUsU2hvd2VySGVhZDooKT0+eUUsU2hyZWRkZXI6KCk9PndFLFNocmltcDooKT0+TUUsU2hyaW5rOigpPT5rRSxTaHJ1YjooKT0+ekUsU2h1ZmZsZTooKT0+U0UsU2lkZWJhcjooKT0+ZjMsU2lkZWJhckNsb3NlOigpPT5kMyxTaWRlYmFyT3BlbjooKT0+dTMsU2lnbWE6KCk9PkNFLFNpZ21hU3F1YXJlOigpPT5NZCxTaWduYWw6KCk9PkRFLFNpZ25hbEhpZ2g6KCk9Pl9FLFNpZ25hbExvdzooKT0+VEUsU2lnbmFsTWVkaXVtOigpPT5MRSxTaWduYWxaZXJvOigpPT4kRSxTaWduYXR1cmU6KCk9PkFFLFNpZ25wb3N0OigpPT5QRSxTaWducG9zdEJpZzooKT0+SUUsU2lyZW46KCk9PkVFLFNraXBCYWNrOigpPT5ORSxTa2lwRm9yd2FyZDooKT0+UkUsU2t1bGw6KCk9PkJFLFNsYWNrOigpPT5GRSxTbGFzaDooKT0+T0UsU2xhc2hTcXVhcmU6KCk9PmtkLFNsaWNlOigpPT5IRSxTbGlkZXJzOigpPT5UMyxTbGlkZXJzSG9yaXpvbnRhbDooKT0+cUUsU2xpZGVyc1ZlcnRpY2FsOigpPT5UMyxTbWFydHBob25lOigpPT5VRSxTbWFydHBob25lQ2hhcmdpbmc6KCk9PlZFLFNtYXJ0cGhvbmVOZmM6KCk9PmpFLFNtaWxlOigpPT5HRSxTbWlsZVBsdXM6KCk9PldFLFNuYWlsOigpPT5YRSxTbm93Zmxha2U6KCk9PllFLFNvYXBEaXNwZW5zZXJEcm9wbGV0OigpPT5aRSxTb2ZhOigpPT5LRSxTb2xhclBhbmVsOigpPT5RRSxTb3J0QXNjOigpPT5LMCxTb3J0RGVzYzooKT0+WTAsU291cDooKT0+SkUsU3BhY2U6KCk9PmVJLFNwYWRlOigpPT50SSxTcGFya2xlOigpPT5hSSxTcGFya2xlczooKT0+TDMsU3BlYWtlcjooKT0+ckksU3BlZWNoOigpPT5pSSxTcGVsbENoZWNrOigpPT5uSSxTcGVsbENoZWNrMjooKT0+c0ksU3BsaW5lOigpPT5sSSxTcGxpbmVQb2ludGVyOigpPT5vSSxTcGxpdDooKT0+Y0ksU3BsaXRTcXVhcmVIb3Jpem9udGFsOigpPT56ZCxTcGxpdFNxdWFyZVZlcnRpY2FsOigpPT5TZCxTcG9vbDooKT0+ZEksU3BvdGxpZ2h0OigpPT51SSxTcHJheUNhbjooKT0+cEksU3Byb3V0OigpPT5mSSxTcXVhcmU6KCk9PkNJLFNxdWFyZUFjdGl2aXR5OigpPT5EMyxTcXVhcmVBcnJvd0Rvd246KCk9PlAzLFNxdWFyZUFycm93RG93bkxlZnQ6KCk9PiQzLFNxdWFyZUFycm93RG93blJpZ2h0OigpPT5BMyxTcXVhcmVBcnJvd0xlZnQ6KCk9PkUzLFNxdWFyZUFycm93T3V0RG93bkxlZnQ6KCk9PkkzLFNxdWFyZUFycm93T3V0RG93blJpZ2h0OigpPT5OMyxTcXVhcmVBcnJvd091dFVwTGVmdDooKT0+UjMsU3F1YXJlQXJyb3dPdXRVcFJpZ2h0OigpPT5GMyxTcXVhcmVBcnJvd1JpZ2h0OigpPT5PMyxTcXVhcmVBcnJvd1JpZ2h0RW50ZXI6KCk9PmhJLFNxdWFyZUFycm93UmlnaHRFeGl0OigpPT5tSSxTcXVhcmVBcnJvd1VwOigpPT5xMyxTcXVhcmVBcnJvd1VwTGVmdDooKT0+QjMsU3F1YXJlQXJyb3dVcFJpZ2h0OigpPT5IMyxTcXVhcmVBc3RlcmlzazooKT0+ajMsU3F1YXJlQm90dG9tRGFzaGVkU2Npc3NvcnM6KCk9PlUzLFNxdWFyZUNlbnRlcmxpbmVEYXNoZWRIb3Jpem9udGFsOigpPT5WMyxTcXVhcmVDZW50ZXJsaW5lRGFzaGVkVmVydGljYWw6KCk9PlczLFNxdWFyZUNoYXJ0R2FudHQ6KCk9PkNvLFNxdWFyZUNoZWNrOigpPT5ZMyxTcXVhcmVDaGVja0JpZzooKT0+RzMsU3F1YXJlQ2hldnJvbkRvd246KCk9PlozLFNxdWFyZUNoZXZyb25MZWZ0OigpPT5YMyxTcXVhcmVDaGV2cm9uUmlnaHQ6KCk9PkszLFNxdWFyZUNoZXZyb25VcDooKT0+UTMsU3F1YXJlQ29kZTooKT0+SjMsU3F1YXJlRGFzaGVkOigpPT5hZCxTcXVhcmVEYXNoZWRCb3R0b206KCk9PmJJLFNxdWFyZURhc2hlZEJvdHRvbUNvZGU6KCk9PmdJLFNxdWFyZURhc2hlZEthbmJhbjooKT0+ZWQsU3F1YXJlRGFzaGVkTW91c2VQb2ludGVyOigpPT50ZCxTcXVhcmVEYXNoZWRUb3BTb2xpZDooKT0+dkksU3F1YXJlRGl2aWRlOigpPT5yZCxTcXVhcmVEb3Q6KCk9PmlkLFNxdWFyZUVxdWFsOigpPT5zZCxTcXVhcmVGdW5jdGlvbjooKT0+b2QsU3F1YXJlR2FudHRDaGFydDooKT0+Q28sU3F1YXJlS2FuYmFuOigpPT5uZCxTcXVhcmVMaWJyYXJ5OigpPT5sZCxTcXVhcmVNOigpPT5jZCxTcXVhcmVNZW51OigpPT5kZCxTcXVhcmVNaW51czooKT0+cGQsU3F1YXJlTW91c2VQb2ludGVyOigpPT51ZCxTcXVhcmVQYXJraW5nOigpPT5oZCxTcXVhcmVQYXJraW5nT2ZmOigpPT5mZCxTcXVhcmVQYXVzZTooKT0+eEksU3F1YXJlUGVuOigpPT5TcyxTcXVhcmVQZXJjZW50OigpPT5tZCxTcXVhcmVQaTooKT0+Z2QsU3F1YXJlUGlsY3JvdzooKT0+YmQsU3F1YXJlUGxheTooKT0+dmQsU3F1YXJlUGx1czooKT0+eGQsU3F1YXJlUG93ZXI6KCk9PnlkLFNxdWFyZVJhZGljYWw6KCk9PnlJLFNxdWFyZVJvdW5kQ29ybmVyOigpPT53SSxTcXVhcmVTY2lzc29yczooKT0+d2QsU3F1YXJlU2lnbWE6KCk9Pk1kLFNxdWFyZVNsYXNoOigpPT5rZCxTcXVhcmVTcGxpdEhvcml6b250YWw6KCk9PnpkLFNxdWFyZVNwbGl0VmVydGljYWw6KCk9PlNkLFNxdWFyZVNxdWFyZTooKT0+TUksU3F1YXJlU3RhY2s6KCk9PmtJLFNxdWFyZVN0YXI6KCk9PnpJLFNxdWFyZVN0b3A6KCk9PlNJLFNxdWFyZVRlcm1pbmFsOigpPT5fZCxTcXVhcmVVc2VyOigpPT5UZCxTcXVhcmVVc2VyUm91bmQ6KCk9PkNkLFNxdWFyZVg6KCk9PkxkLFNxdWFyZXNFeGNsdWRlOigpPT5fSSxTcXVhcmVzSW50ZXJzZWN0OigpPT5USSxTcXVhcmVzU3VidHJhY3Q6KCk9PkxJLFNxdWFyZXNVbml0ZTooKT0+JEksU3F1aXJjbGU6KCk9PkFJLFNxdWlyY2xlRGFzaGVkOigpPT5ESSxTcXVpcnJlbDooKT0+RUksU3RhbXA6KCk9PlBJLFN0YXI6KCk9PlJJLFN0YXJIYWxmOigpPT5JSSxTdGFyT2ZmOigpPT5OSSxTdGFyczooKT0+TDMsU3RlcEJhY2s6KCk9PkZJLFN0ZXBGb3J3YXJkOigpPT5PSSxTdGV0aG9zY29wZTooKT0+QkksU3RpY2tlcjooKT0+SEksU3RpY2t5Tm90ZTooKT0+cUksU3RvbmU6KCk9PlZJLFN0b3BDaXJjbGU6KCk9PkdjLFN0b3JlOigpPT5qSSxTdHJldGNoSG9yaXpvbnRhbDooKT0+VUksU3RyZXRjaFZlcnRpY2FsOigpPT5XSSxTdHJpa2V0aHJvdWdoOigpPT5HSSxTdWJzY3JpcHQ6KCk9PllJLFN1YnRpdGxlczooKT0+b2MsU3VuOigpPT5KSSxTdW5EaW06KCk9PlpJLFN1bk1lZGl1bTooKT0+WEksU3VuTW9vbjooKT0+S0ksU3VuU25vdzooKT0+UUksU3VucmlzZTooKT0+ZU4sU3Vuc2V0OigpPT50TixTdXBlcnNjcmlwdDooKT0+YU4sU3dhdGNoQm9vazooKT0+ck4sU3dpc3NGcmFuYzooKT0+c04sU3dpdGNoQ2FtZXJhOigpPT5pTixTd29yZDooKT0+b04sU3dvcmRzOigpPT5jTixTeXJpbmdlOigpPT5kTixUYWJsZTooKT0+Z04sVGFibGUyOigpPT5uTixUYWJsZUNlbGxzTWVyZ2U6KCk9PmxOLFRhYmxlQ2VsbHNTcGxpdDooKT0+cE4sVGFibGVDb2x1bW5zU3BsaXQ6KCk9PnVOLFRhYmxlQ29uZmlnOigpPT53byxUYWJsZU9mQ29udGVudHM6KCk9PmZOLFRhYmxlUHJvcGVydGllczooKT0+aE4sVGFibGVSb3dzU3BsaXQ6KCk9Pm1OLFRhYmxldDooKT0+dk4sVGFibGV0U21hcnRwaG9uZTooKT0+Yk4sVGFibGV0czooKT0+eE4sVGFnOigpPT55TixUYWdzOigpPT53TixUYWxseTE6KCk9Pk1OLFRhbGx5MjooKT0+a04sVGFsbHkzOigpPT56TixUYWxseTQ6KCk9PlNOLFRhbGx5NTooKT0+Q04sVGFuZ2VudDooKT0+X04sVGFyZ2V0OigpPT5UTixUZWxlc2NvcGU6KCk9PkxOLFRlbnQ6KCk9PkROLFRlbnRUcmVlOigpPT4kTixUZXJtaW5hbDooKT0+QU4sVGVybWluYWxTcXVhcmU6KCk9Pl9kLFRlc3RUdWJlOigpPT5QTixUZXN0VHViZTI6KCk9PiRkLFRlc3RUdWJlRGlhZ29uYWw6KCk9PiRkLFRlc3RUdWJlczooKT0+RU4sVGV4dDooKT0+X28sVGV4dEFsaWduQ2VudGVyOigpPT5EZCxUZXh0QWxpZ25FbmQ6KCk9PkFkLFRleHRBbGlnbkp1c3RpZnk6KCk9PlBkLFRleHRBbGlnblN0YXJ0OigpPT5fbyxUZXh0Q3Vyc29yOigpPT5OTixUZXh0Q3Vyc29ySW5wdXQ6KCk9PklOLFRleHRJbml0aWFsOigpPT5FZCxUZXh0UXVvdGU6KCk9PlJOLFRleHRTZWFyY2g6KCk9PkZOLFRleHRTZWxlY3Q6KCk9PklkLFRleHRTZWxlY3Rpb246KCk9PklkLFRleHRXcmFwOigpPT5OZCxUaGVhdGVyOigpPT5PTixUaGVybW9tZXRlcjooKT0+cU4sVGhlcm1vbWV0ZXJTbm93Zmxha2U6KCk9PkJOLFRoZXJtb21ldGVyU3VuOigpPT5ITixUaHVtYnNEb3duOigpPT5WTixUaHVtYnNVcDooKT0+ak4sVGlja2V0OigpPT5LTixUaWNrZXRDaGVjazooKT0+VU4sVGlja2V0TWludXM6KCk9PldOLFRpY2tldFBlcmNlbnQ6KCk9PkdOLFRpY2tldFBsdXM6KCk9PllOLFRpY2tldFNsYXNoOigpPT5aTixUaWNrZXRYOigpPT5YTixUaWNrZXRzOigpPT5KTixUaWNrZXRzUGxhbmU6KCk9PlFOLFRpbWVyOigpPT5hUixUaW1lck9mZjooKT0+dFIsVGltZXJSZXNldDooKT0+ZVIsVG9nZ2xlTGVmdDooKT0+clIsVG9nZ2xlUmlnaHQ6KCk9PnNSLFRvaWxldDooKT0+aVIsVG9vbENhc2U6KCk9Pm9SLFRvb2xib3g6KCk9Pm5SLFRvcm5hZG86KCk9PmxSLFRvcnVzOigpPT5jUixUb3VjaHBhZDooKT0+cFIsVG91Y2hwYWRPZmY6KCk9PmRSLFRvd2VsUmFjazooKT0+dVIsVG93ZXJDb250cm9sOigpPT5mUixUb3lCcmljazooKT0+aFIsVHJhY3RvcjooKT0+bVIsVHJhZmZpY0NvbmU6KCk9PmdSLFRyYWluOigpPT5SZCxUcmFpbkZyb250OigpPT52UixUcmFpbkZyb250VHVubmVsOigpPT5iUixUcmFpblRyYWNrOigpPT54UixUcmFtRnJvbnQ6KCk9PlJkLFRyYW5zZ2VuZGVyOigpPT55UixUcmFzaDooKT0+TVIsVHJhc2gyOigpPT53UixUcmVlRGVjaWR1b3VzOigpPT5rUixUcmVlUGFsbTooKT0+RmQsVHJlZVBpbmU6KCk9PnpSLFRyZWVzOigpPT5TUixUcmVsbG86KCk9PkNSLFRyZW5kaW5nRG93bjooKT0+X1IsVHJlbmRpbmdVcDooKT0+TFIsVHJlbmRpbmdVcERvd246KCk9PlRSLFRyaWFuZ2xlOigpPT5BUixUcmlhbmdsZUFsZXJ0OigpPT5PZCxUcmlhbmdsZURhc2hlZDooKT0+JFIsVHJpYW5nbGVSaWdodDooKT0+RFIsVHJvcGh5OigpPT5QUixUcnVjazooKT0+SVIsVHJ1Y2tFbGVjdHJpYzooKT0+RVIsVHVya2lzaExpcmE6KCk9Pk5SLFR1cm50YWJsZTooKT0+UlIsVHVydGxlOigpPT5GUixUdjooKT0+QlIsVHYyOigpPT5CZCxUdk1pbmltYWw6KCk9PkJkLFR2TWluaW1hbFBsYXk6KCk9Pk9SLFR3aXRjaDooKT0+SFIsVHdpdHRlcjooKT0+cVIsVHlwZTooKT0+alIsVHlwZU91dGxpbmU6KCk9PlZSLFVtYnJlbGxhOigpPT5VUixVbWJyZWxsYU9mZjooKT0+V1IsVW5kZXJsaW5lOigpPT5HUixVbmRvOigpPT5YUixVbmRvMjooKT0+WVIsVW5kb0RvdDooKT0+WlIsVW5mb2xkSG9yaXpvbnRhbDooKT0+S1IsVW5mb2xkVmVydGljYWw6KCk9PlFSLFVuZ3JvdXA6KCk9PkpSLFVuaXZlcnNpdHk6KCk9PkhkLFVubGluazooKT0+ZUYsVW5saW5rMjooKT0+YUYsVW5sb2NrOigpPT5KNCxVbmxvY2tLZXlob2xlOigpPT5RNCxVbnBsdWc6KCk9PnRGLFVwbG9hZDooKT0+ckYsVXBsb2FkQ2xvdWQ6KCk9PmU0LFVzYjooKT0+aUYsVXNlcjooKT0+dkYsVXNlcjI6KCk9PldkLFVzZXJDaGVjazooKT0+c0YsVXNlckNoZWNrMjooKT0+cWQsVXNlckNpcmNsZTooKT0+WmMsVXNlckNpcmNsZTI6KCk9PlljLFVzZXJDb2c6KCk9Pm9GLFVzZXJDb2cyOigpPT5WZCxVc2VyS2V5OigpPT5uRixVc2VyTG9jazooKT0+bEYsVXNlck1pbnVzOigpPT5jRixVc2VyTWludXMyOigpPT5qZCxVc2VyUGVuOigpPT5wRixVc2VyUGx1czooKT0+ZEYsVXNlclBsdXMyOigpPT5VZCxVc2VyUm91bmQ6KCk9PldkLFVzZXJSb3VuZENoZWNrOigpPT5xZCxVc2VyUm91bmRDb2c6KCk9PlZkLFVzZXJSb3VuZEtleTooKT0+dUYsVXNlclJvdW5kTWludXM6KCk9PmpkLFVzZXJSb3VuZFBlbjooKT0+ZkYsVXNlclJvdW5kUGx1czooKT0+VWQsVXNlclJvdW5kU2VhcmNoOigpPT5oRixVc2VyUm91bmRYOigpPT5HZCxVc2VyU2VhcmNoOigpPT5tRixVc2VyU3F1YXJlOigpPT5UZCxVc2VyU3F1YXJlMjooKT0+Q2QsVXNlclN0YXI6KCk9PmdGLFVzZXJYOigpPT5iRixVc2VyWDI6KCk9PkdkLFVzZXJzOigpPT54RixVc2VyczI6KCk9PllkLFVzZXJzUm91bmQ6KCk9PllkLFV0ZW5zaWxzOigpPT5YZCxVdGVuc2lsc0Nyb3NzZWQ6KCk9PlpkLFV0aWxpdHlQb2xlOigpPT55RixWYW46KCk9PndGLFZhcmlhYmxlOigpPT5NRixWYXVsdDooKT0+ekYsVmVjdG9yU3F1YXJlOigpPT5rRixWZWdhbjooKT0+U0YsVmVuZXRpYW5NYXNrOigpPT5DRixWZW51czooKT0+VEYsVmVudXNBbmRNYXJzOigpPT5fRixWZXJpZmllZDooKT0+ZWMsVmlicmF0ZTooKT0+JEYsVmlicmF0ZU9mZjooKT0+TEYsVmlkZW86KCk9PkFGLFZpZGVvT2ZmOigpPT5ERixWaWRlb3RhcGU6KCk9PlBGLFZpZXc6KCk9PkVGLFZvaWNlbWFpbDooKT0+SUYsVm9sbGV5YmFsbDooKT0+TkYsVm9sdW1lOigpPT5IRixWb2x1bWUxOigpPT5SRixWb2x1bWUyOigpPT5GRixWb2x1bWVPZmY6KCk9PkJGLFZvbHVtZVg6KCk9Pk9GLFZvdGU6KCk9PlZGLFdhbGxldDooKT0+akYsV2FsbGV0MjooKT0+S2QsV2FsbGV0Q2FyZHM6KCk9PnFGLFdhbGxldE1pbmltYWw6KCk9PktkLFdhbGxwYXBlcjooKT0+VUYsV2FuZDooKT0+V0YsV2FuZDI6KCk9PlFkLFdhbmRTcGFya2xlczooKT0+UWQsV2FyZWhvdXNlOigpPT5HRixXYXNoaW5nTWFjaGluZTooKT0+WUYsV2F0Y2g6KCk9PlpGLFdhdmVzOigpPT5KRixXYXZlc0Fycm93RG93bjooKT0+WEYsV2F2ZXNBcnJvd1VwOigpPT5RRixXYXZlc0xhZGRlcjooKT0+S0YsV2F5cG9pbnRzOigpPT5lTyxXZWJjYW06KCk9PnRPLFdlYmhvb2s6KCk9PnJPLFdlYmhvb2tPZmY6KCk9PmFPLFdlaWdodDooKT0+b08sV2VpZ2h0VGlsZGU6KCk9PmlPLFdoZWF0OigpPT5uTyxXaGVhdE9mZjooKT0+c08sV2hvbGVXb3JkOigpPT5sTyxXaWZpOigpPT5nTyxXaWZpQ29nOigpPT5jTyxXaWZpSGlnaDooKT0+ZE8sV2lmaUxvdzooKT0+cE8sV2lmaU9mZjooKT0+Zk8sV2lmaVBlbjooKT0+dU8sV2lmaVN5bmM6KCk9Pm1PLFdpZmlaZXJvOigpPT5oTyxXaW5kOigpPT52TyxXaW5kQXJyb3dEb3duOigpPT5iTyxXaW5lOigpPT55TyxXaW5lT2ZmOigpPT54TyxXb3JrZmxvdzooKT0+d08sV29ybTooKT0+TU8sV3JhcFRleHQ6KCk9Pk5kLFdyZW5jaDooKT0+a08sWDooKT0+U08sWENpcmNsZTooKT0+WGMsWExpbmVUb3A6KCk9PnpPLFhPY3RhZ29uOigpPT5uMyxYU3F1YXJlOigpPT5MZCxZb3V0dWJlOigpPT5DTyxaYXA6KCk9PlRPLFphcE9mZjooKT0+X08sWm9kaWFjQXF1YXJpdXM6KCk9PkxPLFpvZGlhY0FyaWVzOigpPT4kTyxab2RpYWNDYW5jZXI6KCk9PkRPLFpvZGlhY0NhcHJpY29ybjooKT0+QU8sWm9kaWFjR2VtaW5pOigpPT5FTyxab2RpYWNMZW86KCk9PlBPLFpvZGlhY0xpYnJhOigpPT5JTyxab2RpYWNPcGhpdWNodXM6KCk9Pk5PLFpvZGlhY1Bpc2NlczooKT0+Uk8sWm9kaWFjU2FnaXR0YXJpdXM6KCk9PkZPLFpvZGlhY1Njb3JwaW86KCk9Pk9PLFpvZGlhY1RhdXJ1czooKT0+Qk8sWm9kaWFjVmlyZ286KCk9PkhPLFpvb21JbjooKT0+cU8sWm9vbU91dDooKT0+Vk8sY3JlYXRlRWxlbWVudDooKT0+c2wsY3JlYXRlSWNvbnM6KCk9PmVPZSxpY29uczooKT0+SmR9KTt2YXIgZU9lLHBaPWMoKCk9PntfR3QoKTtUR3QoKTt4NWUoKTtTNWUoKTtDNWUoKTtfNWUoKTtUNWUoKTtMNWUoKTskNWUoKTtENWUoKTtBNWUoKTtQNWUoKTtFNWUoKTtJNWUoKTtONWUoKTtSNWUoKTtGNWUoKTtPNWUoKTtCNWUoKTtINWUoKTtxNWUoKTtWNWUoKTtqNWUoKTtVNWUoKTtXNWUoKTtHNWUoKTtZNWUoKTtaNWUoKTtYNWUoKTtLNWUoKTtRNWUoKTtKNWUoKTtlOGUoKTt0OGUoKTthOGUoKTtyOGUoKTtpOGUoKTtzOGUoKTtvOGUoKTtuOGUoKTtsOGUoKTtjOGUoKTtkOGUoKTtwOGUoKTt1OGUoKTtmOGUoKTtoOGUoKTttOGUoKTtnOGUoKTtiOGUoKTt2OGUoKTt4OGUoKTt5OGUoKTt3OGUoKTtNOGUoKTtrOGUoKTt6OGUoKTtTOGUoKTtDOGUoKTtfOGUoKTtUOGUoKTtMOGUoKTskOGUoKTtEOGUoKTtBOGUoKTtQOGUoKTtFOGUoKTtJOGUoKTtOOGUoKTtSOGUoKTtGOGUoKTtPOGUoKTtCOGUoKTtIOGUoKTtxOGUoKTtWOGUoKTtqOGUoKTtVOGUoKTtXOGUoKTtHOGUoKTtZOGUoKTtaOGUoKTtYOGUoKTtLOGUoKTtROGUoKTtKOGUoKTtlcGUoKTt0cGUoKTthcGUoKTtycGUoKTtpcGUoKTtzcGUoKTtvcGUoKTtucGUoKTtscGUoKTtjcGUoKTtkcGUoKTtwcGUoKTt1cGUoKTtmcGUoKTtocGUoKTttcGUoKTtncGUoKTticGUoKTt2cGUoKTt4cGUoKTt5cGUoKTt3cGUoKTtNcGUoKTtrcGUoKTt6cGUoKTtTcGUoKTtDcGUoKTtfcGUoKTtUcGUoKTtMcGUoKTskcGUoKTtEcGUoKTtBcGUoKTtQcGUoKTtFcGUoKTtJcGUoKTtOcGUoKTtScGUoKTtGcGUoKTtPcGUoKTtCcGUoKTtIcGUoKTtxcGUoKTtWcGUoKTtqcGUoKTtVcGUoKTtXcGUoKTtHcGUoKTtZcGUoKTtacGUoKTtYcGUoKTtLcGUoKTtRcGUoKTtKcGUoKTtldWUoKTt0dWUoKTthdWUoKTtydWUoKTtpdWUoKTtzdWUoKTtvdWUoKTtudWUoKTtsdWUoKTtjdWUoKTtkdWUoKTtwdWUoKTt1dWUoKTtmdWUoKTtodWUoKTttdWUoKTtndWUoKTtidWUoKTt2dWUoKTt4dWUoKTt5dWUoKTt3dWUoKTtNdWUoKTtrdWUoKTt6dWUoKTtTdWUoKTtDdWUoKTtfdWUoKTtUdWUoKTtMdWUoKTskdWUoKTtEdWUoKTtBdWUoKTtQdWUoKTtFdWUoKTtJdWUoKTtOdWUoKTtSdWUoKTtGdWUoKTtPdWUoKTtCdWUoKTtIdWUoKTtxdWUoKTtWdWUoKTtqdWUoKTtVdWUoKTtXdWUoKTtHdWUoKTtZdWUoKTtadWUoKTtYdWUoKTtLdWUoKTtRdWUoKTtKdWUoKTtlZmUoKTt0ZmUoKTthZmUoKTtyZmUoKTtpZmUoKTtzZmUoKTtvZmUoKTtuZmUoKTtsZmUoKTtjZmUoKTtkZmUoKTtwZmUoKTt1ZmUoKTtmZmUoKTtoZmUoKTttZmUoKTtnZmUoKTtiZmUoKTt2ZmUoKTt4ZmUoKTt5ZmUoKTt3ZmUoKTtNZmUoKTtrZmUoKTt6ZmUoKTtTZmUoKTtDZmUoKTtfZmUoKTtUZmUoKTtMZmUoKTskZmUoKTtEZmUoKTtBZmUoKTtQZmUoKTtFZmUoKTtJZmUoKTtOZmUoKTtSZmUoKTtGZmUoKTtPZmUoKTtCZmUoKTtIZmUoKTtxZmUoKTtWZmUoKTtqZmUoKTtVZmUoKTtXZmUoKTtHZmUoKTtZZmUoKTtaZmUoKTtYZmUoKTtLZmUoKTtRZmUoKTtKZmUoKTtlN2UoKTt0N2UoKTthN2UoKTtyN2UoKTtpN2UoKTtzN2UoKTtvN2UoKTtuN2UoKTtsN2UoKTtjN2UoKTtkN2UoKTtwN2UoKTt1N2UoKTtmN2UoKTtoN2UoKTttN2UoKTtnN2UoKTtiN2UoKTt2N2UoKTt4N2UoKTt5N2UoKTt3N2UoKTtNN2UoKTtrN2UoKTt6N2UoKTtTN2UoKTtDN2UoKTtfN2UoKTtUN2UoKTtMN2UoKTskN2UoKTtEN2UoKTtBN2UoKTtQN2UoKTtFN2UoKTtJN2UoKTtON2UoKTtSN2UoKTtGN2UoKTtPN2UoKTtCN2UoKTtIN2UoKTtxN2UoKTtWN2UoKTtqN2UoKTtVN2UoKTtXN2UoKTtHN2UoKTtZN2UoKTtaN2UoKTtYN2UoKTtLN2UoKTtRN2UoKTtKN2UoKTtlaGUoKTt0aGUoKTthaGUoKTtyaGUoKTtpaGUoKTtzaGUoKTtvaGUoKTtuaGUoKTtsaGUoKTtjaGUoKTtkaGUoKTtwaGUoKTt1aGUoKTtmaGUoKTtoaGUoKTttaGUoKTtnaGUoKTtiaGUoKTt2aGUoKTt4aGUoKTt5aGUoKTt3aGUoKTtNaGUoKTtraGUoKTt6aGUoKTtTaGUoKTtDaGUoKTtfaGUoKTtUaGUoKTtMaGUoKTskaGUoKTtEaGUoKTtBaGUoKTtQaGUoKTtFaGUoKTtJaGUoKTtOaGUoKTtSaGUoKTtGaGUoKTtPaGUoKTtCaGUoKTtIaGUoKTtxaGUoKTtWaGUoKTtqaGUoKTtVaGUoKTtXaGUoKTtHaGUoKTtZaGUoKTtaaGUoKTtYaGUoKTtLaGUoKTtRaGUoKTtKaGUoKTtlbWUoKTt0bWUoKTthbWUoKTtybWUoKTtpbWUoKTtzbWUoKTtvbWUoKTtubWUoKTtsbWUoKTtjbWUoKTtkbWUoKTtwbWUoKTt1bWUoKTtmbWUoKTtobWUoKTttbWUoKTtnbWUoKTtibWUoKTt2bWUoKTt4bWUoKTt5bWUoKTt3bWUoKTtNbWUoKTtrbWUoKTt6bWUoKTtTbWUoKTtDbWUoKTtfbWUoKTtUbWUoKTtMbWUoKTskbWUoKTtEbWUoKTtBbWUoKTtQbWUoKTtFbWUoKTtJbWUoKTtObWUoKTtSbWUoKTtGbWUoKTtPbWUoKTtCbWUoKTtIbWUoKTtxbWUoKTtWbWUoKTtqbWUoKTtVbWUoKTtXbWUoKTtHbWUoKTtZbWUoKTtabWUoKTtYbWUoKTtLbWUoKTtRbWUoKTtKbWUoKTtlOWUoKTt0OWUoKTthOWUoKTtyOWUoKTtpOWUoKTtzOWUoKTtvOWUoKTtuOWUoKTtsOWUoKTtjOWUoKTtkOWUoKTtwOWUoKTt1OWUoKTtmOWUoKTtoOWUoKTttOWUoKTtnOWUoKTtiOWUoKTt2OWUoKTt4OWUoKTt5OWUoKTt3OWUoKTtNOWUoKTtrOWUoKTt6OWUoKTtTOWUoKTtDOWUoKTtfOWUoKTtUOWUoKTtMOWUoKTskOWUoKTtEOWUoKTtBOWUoKTtQOWUoKTtFOWUoKTtJOWUoKTtOOWUoKTtSOWUoKTtGOWUoKTtPOWUoKTtCOWUoKTtIOWUoKTtxOWUoKTtWOWUoKTtqOWUoKTtVOWUoKTtXOWUoKTtHOWUoKTtZOWUoKTtaOWUoKTtYOWUoKTtLOWUoKTtROWUoKTtKOWUoKTtlZ2UoKTt0Z2UoKTthZ2UoKTtyZ2UoKTtpZ2UoKTtzZ2UoKTtvZ2UoKTtuZ2UoKTtsZ2UoKTtjZ2UoKTtkZ2UoKTtwZ2UoKTt1Z2UoKTtmZ2UoKTtoZ2UoKTttZ2UoKTtnZ2UoKTtiZ2UoKTt2Z2UoKTt4Z2UoKTt5Z2UoKTt3Z2UoKTtNZ2UoKTtrZ2UoKTt6Z2UoKTtTZ2UoKTtDZ2UoKTtfZ2UoKTtUZ2UoKTtMZ2UoKTskZ2UoKTtEZ2UoKTtBZ2UoKTtQZ2UoKTtFZ2UoKTtJZ2UoKTtOZ2UoKTtSZ2UoKTtGZ2UoKTtPZ2UoKTtCZ2UoKTtIZ2UoKTtxZ2UoKTtWZ2UoKTtqZ2UoKTtVZ2UoKTtXZ2UoKTtHZ2UoKTtZZ2UoKTtaZ2UoKTtYZ2UoKTtLZ2UoKTtRZ2UoKTtKZ2UoKTtlYmUoKTt0YmUoKTthYmUoKTtyYmUoKTtpYmUoKTtzYmUoKTtvYmUoKTtuYmUoKTtsYmUoKTtjYmUoKTtkYmUoKTtwYmUoKTt1YmUoKTtmYmUoKTtoYmUoKTttYmUoKTtnYmUoKTtiYmUoKTt2YmUoKTt4YmUoKTt5YmUoKTt3YmUoKTtNYmUoKTtrYmUoKTt6YmUoKTtTYmUoKTtDYmUoKTtfYmUoKTtUYmUoKTtMYmUoKTskYmUoKTtEYmUoKTtBYmUoKTtQYmUoKTtFYmUoKTtJYmUoKTtOYmUoKTtSYmUoKTtGYmUoKTtPYmUoKTtCYmUoKTtIYmUoKTtxYmUoKTtWYmUoKTtqYmUoKTtVYmUoKTtXYmUoKTtHYmUoKTtZYmUoKTtaYmUoKTtYYmUoKTtLYmUoKTtRYmUoKTtKYmUoKTtldmUoKTt0dmUoKTthdmUoKTtydmUoKTtpdmUoKTtzdmUoKTtvdmUoKTtudmUoKTtsdmUoKTtjdmUoKTtkdmUoKTtwdmUoKTt1dmUoKTtmdmUoKTtodmUoKTttdmUoKTtndmUoKTtidmUoKTt2dmUoKTt4dmUoKTt5dmUoKTt3dmUoKTtNdmUoKTtrdmUoKTt6dmUoKTtTdmUoKTtDdmUoKTtfdmUoKTtUdmUoKTtMdmUoKTskdmUoKTtEdmUoKTtBdmUoKTtQdmUoKTtFdmUoKTtJdmUoKTtOdmUoKTtSdmUoKTtGdmUoKTtPdmUoKTtCdmUoKTtIdmUoKTtxdmUoKTtWdmUoKTtqdmUoKTtVdmUoKTtXdmUoKTtHdmUoKTtZdmUoKTtadmUoKTtYdmUoKTtLdmUoKTtRdmUoKTtKdmUoKTtleGUoKTt0eGUoKTtheGUoKTtyeGUoKTtpeGUoKTtzeGUoKTtveGUoKTtueGUoKTtseGUoKTtjeGUoKTtkeGUoKTtweGUoKTt1eGUoKTtmeGUoKTtoeGUoKTtteGUoKTtneGUoKTtieGUoKTt2eGUoKTt4eGUoKTt5eGUoKTt3eGUoKTtNeGUoKTtreGUoKTt6eGUoKTtTeGUoKTtDeGUoKTtfeGUoKTtUeGUoKTtMeGUoKTskeGUoKTtEeGUoKTtBeGUoKTtQeGUoKTtFeGUoKTtJeGUoKTtOeGUoKTtSeGUoKTtGeGUoKTtPeGUoKTtCeGUoKTtIeGUoKTtxeGUoKTtWeGUoKTtqeGUoKTtVeGUoKTtXeGUoKTtHeGUoKTtZeGUoKTtaeGUoKTtYeGUoKTtLeGUoKTtReGUoKTtKeGUoKTtleWUoKTt0eWUoKTtheWUoKTtyeWUoKTtpeWUoKTtzeWUoKTtveWUoKTtueWUoKTtseWUoKTtjeWUoKTtkeWUoKTtweWUoKTt1eWUoKTtmeWUoKTtoeWUoKTtteWUoKTtneWUoKTtieWUoKTt2eWUoKTt4eWUoKTt5eWUoKTt3eWUoKTtNeWUoKTtreWUoKTt6eWUoKTtTeWUoKTtDeWUoKTtfeWUoKTtUeWUoKTtMeWUoKTskeWUoKTtEeWUoKTtBeWUoKTtQeWUoKTtFeWUoKTtJeWUoKTtOeWUoKTtSeWUoKTtGeWUoKTtPeWUoKTtCeWUoKTtIeWUoKTtxeWUoKTtWeWUoKTtqeWUoKTtVeWUoKTtXeWUoKTtHeWUoKTtZeWUoKTtaeWUoKTtYeWUoKTtLeWUoKTtReWUoKTtKeWUoKTtld2UoKTt0d2UoKTthd2UoKTtyd2UoKTtpd2UoKTtzd2UoKTtvd2UoKTtud2UoKTtsd2UoKTtjd2UoKTtkd2UoKTtwd2UoKTt1d2UoKTtmd2UoKTtod2UoKTttd2UoKTtnd2UoKTtid2UoKTt2d2UoKTt4d2UoKTt5d2UoKTt3d2UoKTtNd2UoKTtrd2UoKTt6d2UoKTtTd2UoKTtDd2UoKTtfd2UoKTtUd2UoKTtMd2UoKTskd2UoKTtEd2UoKTtBd2UoKTtQd2UoKTtFd2UoKTtJd2UoKTtOd2UoKTtSd2UoKTtGd2UoKTtPd2UoKTtCd2UoKTtId2UoKTtxd2UoKTtWd2UoKTtqd2UoKTtVd2UoKTtXd2UoKTtHd2UoKTtZd2UoKTtad2UoKTtYd2UoKTtLd2UoKTtRd2UoKTtKd2UoKTtlTWUoKTt0TWUoKTthTWUoKTtyTWUoKTtpTWUoKTtzTWUoKTtvTWUoKTtuTWUoKTtsTWUoKTtjTWUoKTtkTWUoKTtwTWUoKTt1TWUoKTtmTWUoKTtoTWUoKTttTWUoKTtnTWUoKTtiTWUoKTt2TWUoKTt4TWUoKTt5TWUoKTt3TWUoKTtNTWUoKTtrTWUoKTt6TWUoKTtTTWUoKTtDTWUoKTtfTWUoKTtUTWUoKTtMTWUoKTskTWUoKTtETWUoKTtBTWUoKTtQTWUoKTtFTWUoKTtJTWUoKTtOTWUoKTtSTWUoKTtGTWUoKTtPTWUoKTtCTWUoKTtITWUoKTtxTWUoKTtWTWUoKTtqTWUoKTtVTWUoKTtXTWUoKTtHTWUoKTtZTWUoKTtaTWUoKTtYTWUoKTtLTWUoKTtRTWUoKTtKTWUoKTtla2UoKTt0a2UoKTtha2UoKTtya2UoKTtpa2UoKTtza2UoKTtva2UoKTtua2UoKTtsa2UoKTtja2UoKTtka2UoKTtwa2UoKTt1a2UoKTtma2UoKTtoa2UoKTtta2UoKTtna2UoKTtia2UoKTt2a2UoKTt4a2UoKTt5a2UoKTt3a2UoKTtNa2UoKTtra2UoKTt6a2UoKTtTa2UoKTtDa2UoKTtfa2UoKTtUa2UoKTtMa2UoKTska2UoKTtEa2UoKTtBa2UoKTtQa2UoKTtFa2UoKTtJa2UoKTtOa2UoKTtSa2UoKTtGa2UoKTtPa2UoKTtCa2UoKTtIa2UoKTtxa2UoKTtWa2UoKTtqa2UoKTtVa2UoKTtXa2UoKTtHa2UoKTtZa2UoKTtaa2UoKTtYa2UoKTtLa2UoKTtRa2UoKTtKa2UoKTtlemUoKTt0emUoKTthemUoKTtyemUoKTtpemUoKTtzemUoKTtvemUoKTtuemUoKTtsemUoKTtjemUoKTtkemUoKTtwemUoKTt1emUoKTtmemUoKTtoemUoKTttemUoKTtnemUoKTtiemUoKTt2emUoKTt4emUoKTt5emUoKTt3emUoKTtNemUoKTtremUoKTt6emUoKTtTemUoKTtDemUoKTtfemUoKTtUemUoKTtMemUoKTskemUoKTtEemUoKTtBemUoKTtQemUoKTtFemUoKTtJemUoKTtOemUoKTtSemUoKTtGemUoKTtPemUoKTtCemUoKTtIemUoKTtxemUoKTtWemUoKTtqemUoKTtVemUoKTtXemUoKTtHemUoKTtZemUoKTtaemUoKTtYemUoKTtLemUoKTtRemUoKTtKemUoKTtlU2UoKTt0U2UoKTthU2UoKTtyU2UoKTtpU2UoKTtzU2UoKTtvU2UoKTtuU2UoKTtsU2UoKTtjU2UoKTtkU2UoKTtwU2UoKTt1U2UoKTtmU2UoKTtoU2UoKTttU2UoKTtnU2UoKTtiU2UoKTt2U2UoKTt4U2UoKTt5U2UoKTt3U2UoKTtNU2UoKTtrU2UoKTt6U2UoKTtTU2UoKTtDU2UoKTtfU2UoKTtUU2UoKTtMU2UoKTskU2UoKTtEU2UoKTtBU2UoKTtQU2UoKTtFU2UoKTtJU2UoKTtOU2UoKTtSU2UoKTtGU2UoKTtPU2UoKTtCU2UoKTtIU2UoKTtxU2UoKTtWU2UoKTtqU2UoKTtVU2UoKTtXU2UoKTtHU2UoKTtZU2UoKTtaU2UoKTtYU2UoKTtLU2UoKTtRU2UoKTtKU2UoKTtlQ2UoKTt0Q2UoKTthQ2UoKTtyQ2UoKTtpQ2UoKTtzQ2UoKTtvQ2UoKTtuQ2UoKTtsQ2UoKTtjQ2UoKTtkQ2UoKTtwQ2UoKTt1Q2UoKTtmQ2UoKTtoQ2UoKTttQ2UoKTtnQ2UoKTtiQ2UoKTt2Q2UoKTt4Q2UoKTt5Q2UoKTt3Q2UoKTtNQ2UoKTtrQ2UoKTt6Q2UoKTtTQ2UoKTtDQ2UoKTtfQ2UoKTtUQ2UoKTtMQ2UoKTskQ2UoKTtEQ2UoKTtBQ2UoKTtQQ2UoKTtFQ2UoKTtJQ2UoKTtOQ2UoKTtSQ2UoKTtGQ2UoKTtPQ2UoKTtCQ2UoKTtIQ2UoKTtxQ2UoKTtWQ2UoKTtqQ2UoKTtVQ2UoKTtXQ2UoKTtHQ2UoKTtZQ2UoKTtaQ2UoKTtYQ2UoKTtLQ2UoKTtRQ2UoKTtKQ2UoKTtlX2UoKTt0X2UoKTthX2UoKTtyX2UoKTtpX2UoKTtzX2UoKTtvX2UoKTtuX2UoKTtsX2UoKTtjX2UoKTtkX2UoKTtwX2UoKTt1X2UoKTtmX2UoKTtoX2UoKTttX2UoKTtnX2UoKTtiX2UoKTt2X2UoKTt4X2UoKTt5X2UoKTt3X2UoKTtNX2UoKTtrX2UoKTt6X2UoKTtTX2UoKTtDX2UoKTtfX2UoKTtUX2UoKTtMX2UoKTskX2UoKTtEX2UoKTtBX2UoKTtQX2UoKTtFX2UoKTtJX2UoKTtOX2UoKTtSX2UoKTtGX2UoKTtPX2UoKTtCX2UoKTtIX2UoKTtxX2UoKTtWX2UoKTtqX2UoKTtVX2UoKTtXX2UoKTtHX2UoKTtZX2UoKTtaX2UoKTtYX2UoKTtLX2UoKTtRX2UoKTtKX2UoKTtlVGUoKTt0VGUoKTthVGUoKTtyVGUoKTtpVGUoKTtzVGUoKTtvVGUoKTtuVGUoKTtsVGUoKTtjVGUoKTtkVGUoKTtwVGUoKTt1VGUoKTtmVGUoKTtoVGUoKTttVGUoKTtnVGUoKTtiVGUoKTt2VGUoKTt4VGUoKTt5VGUoKTt3VGUoKTtNVGUoKTtrVGUoKTt6VGUoKTtTVGUoKTtDVGUoKTtfVGUoKTtUVGUoKTtMVGUoKTskVGUoKTtEVGUoKTtBVGUoKTtQVGUoKTtFVGUoKTtJVGUoKTtOVGUoKTtSVGUoKTtGVGUoKTtPVGUoKTtCVGUoKTtIVGUoKTtxVGUoKTtWVGUoKTtqVGUoKTtVVGUoKTtXVGUoKTtHVGUoKTtZVGUoKTtaVGUoKTtYVGUoKTtLVGUoKTtRVGUoKTtKVGUoKTtlTGUoKTt0TGUoKTthTGUoKTtyTGUoKTtpTGUoKTtzTGUoKTtvTGUoKTtuTGUoKTtsTGUoKTtjTGUoKTtkTGUoKTtwTGUoKTt1TGUoKTtmTGUoKTtoTGUoKTttTGUoKTtnTGUoKTtiTGUoKTt2TGUoKTt4TGUoKTt5TGUoKTt3TGUoKTtNTGUoKTtrTGUoKTt6TGUoKTtTTGUoKTtDTGUoKTtfTGUoKTtUTGUoKTtMTGUoKTskTGUoKTtETGUoKTtBTGUoKTtQTGUoKTtFTGUoKTtJTGUoKTtOTGUoKTtSTGUoKTtGTGUoKTtPTGUoKTtCTGUoKTtITGUoKTtxTGUoKTtWTGUoKTtqTGUoKTtVTGUoKTtXTGUoKTtHTGUoKTtZTGUoKTtaTGUoKTtYTGUoKTtLTGUoKTtRTGUoKTtKTGUoKTtlJGUoKTt0JGUoKTthJGUoKTtyJGUoKTtpJGUoKTtzJGUoKTtvJGUoKTtuJGUoKTtsJGUoKTtjJGUoKTtkJGUoKTtwJGUoKTt1JGUoKTtmJGUoKTtoJGUoKTttJGUoKTtnJGUoKTtiJGUoKTt2JGUoKTt4JGUoKTt5JGUoKTt3JGUoKTtNJGUoKTtrJGUoKTt6JGUoKTtTJGUoKTtDJGUoKTtfJGUoKTtUJGUoKTtMJGUoKTskJGUoKTtEJGUoKTtBJGUoKTtQJGUoKTtFJGUoKTtJJGUoKTtOJGUoKTtSJGUoKTtGJGUoKTtPJGUoKTtCJGUoKTtIJGUoKTtxJGUoKTtWJGUoKTtqJGUoKTtVJGUoKTtXJGUoKTtHJGUoKTtZJGUoKTtaJGUoKTtYJGUoKTtLJGUoKTtRJGUoKTtKJGUoKTtlRGUoKTt0RGUoKTthRGUoKTtyRGUoKTtpRGUoKTtzRGUoKTtvRGUoKTtuRGUoKTtsRGUoKTtjRGUoKTtkRGUoKTtwRGUoKTt1RGUoKTtmRGUoKTtoRGUoKTttRGUoKTtnRGUoKTtiRGUoKTt2RGUoKTt4RGUoKTt5RGUoKTt3RGUoKTtNRGUoKTtrRGUoKTt6RGUoKTtTRGUoKTtDRGUoKTtfRGUoKTtURGUoKTtMRGUoKTskRGUoKTtERGUoKTtBRGUoKTtQRGUoKTtFRGUoKTtJRGUoKTtORGUoKTtSRGUoKTtGRGUoKTtPRGUoKTtCRGUoKTtIRGUoKTtxRGUoKTtWRGUoKTtqRGUoKTtVRGUoKTtXRGUoKTtHRGUoKTtZRGUoKTtaRGUoKTtYRGUoKTtLRGUoKTtRRGUoKTtKRGUoKTtlQWUoKTt0QWUoKTthQWUoKTtyQWUoKTtpQWUoKTtzQWUoKTtvQWUoKTtuQWUoKTtsQWUoKTtjQWUoKTtkQWUoKTtwQWUoKTt1QWUoKTtmQWUoKTtoQWUoKTttQWUoKTtnQWUoKTtiQWUoKTt2QWUoKTt4QWUoKTt5QWUoKTt3QWUoKTtNQWUoKTtrQWUoKTt6QWUoKTtTQWUoKTtDQWUoKTtfQWUoKTtUQWUoKTtMQWUoKTskQWUoKTtEQWUoKTtBQWUoKTtQQWUoKTtFQWUoKTtJQWUoKTtOQWUoKTtSQWUoKTtGQWUoKTtPQWUoKTtCQWUoKTtIQWUoKTtxQWUoKTtWQWUoKTtqQWUoKTtVQWUoKTtXQWUoKTtHQWUoKTtZQWUoKTtaQWUoKTtYQWUoKTtLQWUoKTtRQWUoKTtKQWUoKTtlUGUoKTt0UGUoKTthUGUoKTtyUGUoKTtpUGUoKTtzUGUoKTtvUGUoKTtuUGUoKTtsUGUoKTtjUGUoKTtkUGUoKTtwUGUoKTt1UGUoKTtmUGUoKTtoUGUoKTttUGUoKTtnUGUoKTtiUGUoKTt2UGUoKTt4UGUoKTt5UGUoKTt3UGUoKTtNUGUoKTtrUGUoKTt6UGUoKTtTUGUoKTtDUGUoKTtfUGUoKTtUUGUoKTtMUGUoKTskUGUoKTtEUGUoKTtBUGUoKTtQUGUoKTtFUGUoKTtJUGUoKTtOUGUoKTtSUGUoKTtGUGUoKTtPUGUoKTtCUGUoKTtIUGUoKTtxUGUoKTtWUGUoKTtqUGUoKTtVUGUoKTtXUGUoKTtHUGUoKTtZUGUoKTtaUGUoKTtYUGUoKTtLUGUoKTtRUGUoKTtKUGUoKTtlRWUoKTt0RWUoKTthRWUoKTtyRWUoKTtpRWUoKTtzRWUoKTtvRWUoKTtuRWUoKTtsRWUoKTtjRWUoKTtkRWUoKTtwRWUoKTt1RWUoKTtmRWUoKTtoRWUoKTttRWUoKTtnRWUoKTtiRWUoKTt2RWUoKTt4RWUoKTt5RWUoKTt3RWUoKTtNRWUoKTtrRWUoKTt6RWUoKTtTRWUoKTtDRWUoKTtfRWUoKTtURWUoKTtMRWUoKTskRWUoKTtERWUoKTtBRWUoKTtQRWUoKTtFRWUoKTtJRWUoKTtORWUoKTtSRWUoKTtGRWUoKTtPRWUoKTtCRWUoKTtIRWUoKTtxRWUoKTtWRWUoKTtqRWUoKTtVRWUoKTtXRWUoKTtHRWUoKTtZRWUoKTtaRWUoKTtYRWUoKTtLRWUoKTtRRWUoKTtKRWUoKTtlSWUoKTt0SWUoKTthSWUoKTtySWUoKTtpSWUoKTtzSWUoKTtvSWUoKTtuSWUoKTtsSWUoKTtjSWUoKTtkSWUoKTtwSWUoKTt1SWUoKTtmSWUoKTtoSWUoKTttSWUoKTtnSWUoKTtiSWUoKTt2SWUoKTt4SWUoKTt5SWUoKTt3SWUoKTtNSWUoKTtrSWUoKTt6SWUoKTtTSWUoKTtDSWUoKTtfSWUoKTtUSWUoKTtMSWUoKTskSWUoKTtESWUoKTtBSWUoKTtQSWUoKTtFSWUoKTtJSWUoKTtOSWUoKTtSSWUoKTtGSWUoKTtPSWUoKTtCSWUoKTtISWUoKTtxSWUoKTtWSWUoKTtqSWUoKTtVSWUoKTtXSWUoKTtHSWUoKTtZSWUoKTtaSWUoKTtYSWUoKTtLSWUoKTtRSWUoKTtKSWUoKTtlTmUoKTt0TmUoKTthTmUoKTtyTmUoKTtpTmUoKTtzTmUoKTtvTmUoKTtuTmUoKTtsTmUoKTtjTmUoKTtkTmUoKTtwTmUoKTt1TmUoKTtmTmUoKTtoTmUoKTttTmUoKTtnTmUoKTtiTmUoKTt2TmUoKTt4TmUoKTt5TmUoKTt3TmUoKTtNTmUoKTtrTmUoKTt6TmUoKTtTTmUoKTtDTmUoKTtfTmUoKTtUTmUoKTtMTmUoKTskTmUoKTtETmUoKTtBTmUoKTtQTmUoKTtFTmUoKTtJTmUoKTtOTmUoKTtSTmUoKTtGTmUoKTtPTmUoKTtCTmUoKTtITmUoKTtxTmUoKTtWTmUoKTtqTmUoKTtVTmUoKTtXTmUoKTtHTmUoKTtZTmUoKTtaTmUoKTtYTmUoKTtLTmUoKTtRTmUoKTtKTmUoKTtlUmUoKTt0UmUoKTthUmUoKTtyUmUoKTtpUmUoKTtzUmUoKTtvUmUoKTtuUmUoKTtsUmUoKTtjUmUoKTtkUmUoKTtwUmUoKTt1UmUoKTtmUmUoKTtoUmUoKTttUmUoKTtnUmUoKTtiUmUoKTt2UmUoKTt4UmUoKTt5UmUoKTt3UmUoKTtNUmUoKTtrUmUoKTt6UmUoKTtTUmUoKTtDUmUoKTtfUmUoKTtUUmUoKTtMUmUoKTskUmUoKTtEUmUoKTtBUmUoKTtQUmUoKTtFUmUoKTtJUmUoKTtOUmUoKTtSUmUoKTtGUmUoKTtPUmUoKTtCUmUoKTtIUmUoKTtxUmUoKTtWUmUoKTtqUmUoKTtVUmUoKTtXUmUoKTtHUmUoKTtZUmUoKTtaUmUoKTtYUmUoKTtLUmUoKTtRUmUoKTtKUmUoKTtlRmUoKTt0RmUoKTthRmUoKTtyRmUoKTtpRmUoKTtzRmUoKTtvRmUoKTtuRmUoKTtsRmUoKTtjRmUoKTtkRmUoKTtwRmUoKTt1RmUoKTtmRmUoKTtoRmUoKTttRmUoKTtnRmUoKTtiRmUoKTt2RmUoKTt4RmUoKTt5RmUoKTt3RmUoKTtNRmUoKTtrRmUoKTt6RmUoKTtTRmUoKTtDRmUoKTtfRmUoKTtURmUoKTtMRmUoKTskRmUoKTtERmUoKTtBRmUoKTtQRmUoKTtFRmUoKTtJRmUoKTtORmUoKTtSRmUoKTtGRmUoKTtPRmUoKTtCRmUoKTtIRmUoKTtxRmUoKTtWRmUoKTtqRmUoKTtVRmUoKTtXRmUoKTtHRmUoKTtZRmUoKTtaRmUoKTtYRmUoKTtLRmUoKTtRRmUoKTtKRmUoKTtlT2U9aSgoe2ljb25zOnQ9e30sbmFtZUF0dHI6ZT0iZGF0YS1sdWNpZGUiLGF0dHJzOmE9e30scm9vdDpyPWRvY3VtZW50LGluVGVtcGxhdGVzOnN9PXt9KT0+e2lmKCFPYmplY3QudmFsdWVzKHQpLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYFBsZWFzZSBwcm92aWRlIGFuIGljb25zIG9iamVjdC4KSWYgeW91IHdhbnQgdG8gdXNlIGFsbCB0aGUgaWNvbnMgeW91IGNhbiBpbXBvcnQgaXQgbGlrZToKIFxgaW1wb3J0IHsgY3JlYXRlSWNvbnMsIGljb25zIH0gZnJvbSAnbHVjaWRlJzsKbHVjaWRlLmNyZWF0ZUljb25zKHtpY29uc30pO1xgYCk7aWYodHlwZW9mIHI+InUiKXRocm93IG5ldyBFcnJvcigiYGNyZWF0ZUljb25zKClgIG9ubHkgd29ya3MgaW4gYSBicm93c2VyIGVudmlyb25tZW50LiIpO2lmKEFycmF5LmZyb20oci5xdWVyeVNlbGVjdG9yQWxsKGBbJHtlfV1gKSkuZm9yRWFjaChvPT5kWihvLHtuYW1lQXR0cjplLGljb25zOnQsYXR0cnM6YX0pKSxzJiZBcnJheS5mcm9tKHIucXVlcnlTZWxlY3RvckFsbCgidGVtcGxhdGUiKSkuZm9yRWFjaChsPT5lT2Uoe2ljb25zOnQsbmFtZUF0dHI6ZSxhdHRyczphLHJvb3Q6bC5jb250ZW50LGluVGVtcGxhdGVzOnN9KSksZT09PSJkYXRhLWx1Y2lkZSIpe2xldCBvPXIucXVlcnlTZWxlY3RvckFsbCgiW2ljb24tbmFtZV0iKTtvLmxlbmd0aD4wJiYoY29uc29sZS53YXJuKCJbTHVjaWRlXSBTb21lIGljb25zIHdlcmUgZm91bmQgd2l0aCB0aGUgbm93IGRlcHJlY2F0ZWQgaWNvbi1uYW1lIGF0dHJpYnV0ZS4gVGhlc2Ugd2lsbCBzdGlsbCBiZSByZXBsYWNlZCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIGJ1dCB3aWxsIG5vIGxvbmdlciBiZSBzdXBwb3J0ZWQgaW4gdjEuMCBhbmQgeW91IHNob3VsZCBzd2l0Y2ggdG8gZGF0YS1sdWNpZGUiKSxBcnJheS5mcm9tKG8pLmZvckVhY2gobD0+ZFoobCx7bmFtZUF0dHI6Imljb24tbmFtZSIsaWNvbnM6dCxhdHRyczphfSkpKX19LCJjcmVhdGVJY29ucyIpfSk7dmFyIExHdCwkR3Q9YygoKT0+e3BlKCk7S3QoKTtwWigpO0xHdD1pKCgpPT57bGV0IHQ9T2JqZWN0LmtleXModVouZmEpO2NvbnNvbGUubG9nKCJGaXJzdCBmZXcgTHVjaWRlIGtleXM6IixPYmplY3Qua2V5cyhDMikuc2xpY2UoMCw1KSk7bGV0IGU9T2JqZWN0LmtleXMoQzIpLmZpbHRlcihuPT57bGV0IG89blswXT09PW5bMF0udG9VcHBlckNhc2UoKSYmblswXSE9PW5bMF0udG9Mb3dlckNhc2UoKSxsPXR5cGVvZiBDMltuXT09ImZ1bmN0aW9uIixoPSFbImNyZWF0ZUVsZW1lbnQiLCJjcmVhdGVJY29ucyIsImRlZmF1bHQiXS5pbmNsdWRlcyhuKTtyZXR1cm4gbCYmbyYmaH0pLm1hcChuPT5uLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpK24uc2xpY2UoMSkpO2lmKGNvbnNvbGUubG9nKGBGb3VuZCAke2UubGVuZ3RofSBMdWNpZGUgaWNvbnNgKSxlLmxlbmd0aD09PTAmJihjb25zb2xlLmxvZygiVHJ5aW5nIGFsdGVybmF0aXZlIGFwcHJvYWNoIHRvIGZpbmQgTHVjaWRlIGljb25zIiksSmQpKXtsZXQgbj1KZHx8e307ZS5wdXNoKC4uLk9iamVjdC5rZXlzKG4pKSxjb25zb2xlLmxvZyhgRm91bmQgJHtlLmxlbmd0aH0gaWNvbnMgdmlhIGFsdGVybmF0aXZlIG1ldGhvZGApfWxldCBhPWkoKCk9PntsZXQgbj10Lm1hcCh1PT5gZmE6JHt1fWApLG89ZS5tYXAodT0+YGx1Y2lkZToke3V9YCksbD1bLi4ubiwuLi5vXSxoPWwuam9pbihgCmApO25hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KGgpLnRoZW4oKCk9PntsZXQgZj13aW5kb3cuZXZlbnQuY3VycmVudFRhcmdldCxwPWYudGV4dENvbnRlbnQ7Zi50ZXh0Q29udGVudD1gXHUyNzEzIENvcGllZCAke2wubGVuZ3RofSBpY29uIG5hbWVzIWAsc2V0VGltZW91dCgoKT0+e2YudGV4dENvbnRlbnQ9cH0sMmUzKX0pfSwiY29weUFsbEljb25OYW1lcyIpLHI9aShuPT57bGV0IG89bi50YXJnZXQudmFsdWUudG9Mb3dlckNhc2UoKS50cmltKCksbD1uLnRhcmdldC5jbG9zZXN0KCIuZGVtb0NvbnRhaW5lciIpO2wucXVlcnlTZWxlY3RvckFsbCgiLmljb25Db250YWluZXIiKS5mb3JFYWNoKHU9PntsZXQgZj11LmdldEF0dHJpYnV0ZSgiZGF0YS1uYW1lIik7bz09PSIifHxmJiZmLmluY2x1ZGVzKG8pP3UuY2xhc3NMaXN0LnJlbW92ZSgiaGlkZGVuIik6dS5jbGFzc0xpc3QuYWRkKCJoaWRkZW4iKX0pLGwucXVlcnlTZWxlY3RvckFsbCgiLnNlY3Rpb24tY29udGFpbmVyIikuZm9yRWFjaCh1PT57bGV0IGY9dS5xdWVyeVNlbGVjdG9yQWxsKCIuaWNvbkNvbnRhaW5lcjpub3QoLmhpZGRlbikiKS5sZW5ndGgscD11LnF1ZXJ5U2VsZWN0b3IoIi5pY29uLWNvdW50Iik7aWYocCl7bGV0IGc9dS5jbGFzc0xpc3QuY29udGFpbnMoImZhLXNlY3Rpb24iKT90Lmxlbmd0aDplLmxlbmd0aDtwLnRleHRDb250ZW50PWY9PT1nP2Ake2d9IGljb25zYDpgJHtmfSBvZiAke2d9IGljb25zYH19KX0sInNlYXJjaEljb25zIikscz1pKChuLG8pPT57bGV0IGw9YCR7b306JHtufWA7bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQobCkudGhlbigoKT0+e2xldCBmPXdpbmRvdy5ldmVudC5jdXJyZW50VGFyZ2V0LnF1ZXJ5U2VsZWN0b3IoIi5jb3B5LXRvb2x0aXAiKTtmJiYoZi50ZXh0Q29udGVudD0iQ29waWVkISIsc2V0VGltZW91dCgoKT0+e2YudGV4dENvbnRlbnQ9IkNsaWNrIHRvIGNvcHkifSwyZTMpKX0pfSwiY29weUljb25OYW1lIik7cmV0dXJuIHdgCiAgPHN0eWxlPgogICAgLmRlbW9Db250YWluZXIgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICBiYWNrZ3JvdW5kOiAjMTExMTExOwogICAgICBwYWRkaW5nOiAyMHB4OwogICAgICBmb250LXNpemU6IDMwcHg7CiAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICJTZWdvZSBVSSIsIFJvYm90bywgT3h5Z2VuLVNhbnMsIFVidW50dSwgQ2FudGFyZWxsLCAiSGVsdmV0aWNhIE5ldWUiLCBzYW5zLXNlcmlmOwogICAgfQogICAgCiAgICAuc2VhcmNoLWNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDEwcHg7CiAgICB9CiAgICAKICAgICNpY29uU2VhcmNoIHsKICAgICAgZmxleDogMTsKICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBiYWNrZ3JvdW5kOiAjMjIyOwogICAgICBjb2xvcjogI2ZmZjsKICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMzMzsKICAgIH0KICAgIAogICAgI2ljb25TZWFyY2g6Zm9jdXMgewogICAgICBvdXRsaW5lOiBub25lOwogICAgICBib3JkZXItY29sb3I6ICNlNDAwMmI7CiAgICB9CiAgICAKICAgIC5jb3B5LWFsbC1idXR0b24gewogICAgICBwYWRkaW5nOiAxMnB4IDIwcHg7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIGJhY2tncm91bmQ6ICNlNDAwMmI7CiAgICAgIGNvbG9yOiAjZmZmOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgfQogICAgCiAgICAuY29weS1hbGwtYnV0dG9uOmhvdmVyIHsKICAgICAgYmFja2dyb3VuZDogI2M0MDAxYjsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOwogICAgfQogICAgCiAgICAuY29weS1hbGwtYnV0dG9uOmFjdGl2ZSB7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgIH0KICAgIAogICAgZGVlcy1pY29uIHsKICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICB9CgogICAgLmljb25Db250YWluZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBwYWRkaW5nOiAyMHB4IDE2cHggMHB4IDE2cHg7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMzMzMzM7CiAgICAgIG1hcmdpbi1yaWdodDogMTBweDsKICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnM7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgfQogICAgCiAgICAuaWNvbkNvbnRhaW5lcjpob3ZlciB7CiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7CiAgICB9CgogICAgLmljb25OYW1lIHsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIGNvbG9yOiAjY2NjOwogICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzOwogICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgbWFyZ2luLWxlZnQ6IC0xNnB4OwogICAgICBtYXJnaW4tcmlnaHQ6IC0xNnB4OwogICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgbWF4LXdpZHRoOiAxMjBweDsKICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDRweCA0cHg7CiAgICB9CgogICAgLnNlY3Rpb24tdGl0bGUgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgbWFyZ2luOiAyMHB4IDA7CiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OwogICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzMzMzMzMzsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgfQogICAgCiAgICAuYXBpLW5vdGUgewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGNvbG9yOiAjZTQwMDJiOwogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICBwYWRkaW5nOiAxMHB4OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTQwMDJiOwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjI4LCAwLCA0MywgMC4xKTsKICAgIH0KICAgIAogICAgLmljb24tY291bnQgewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGNvbG9yOiAjODg4OwogICAgICBmb250LXdlaWdodDogbm9ybWFsOwogICAgICBiYWNrZ3JvdW5kOiAjMjIyOwogICAgICBwYWRkaW5nOiA1cHggMTBweDsKICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsKICAgIH0KICAgIAogICAgLmljb25zLWdyaWQgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogICAgCiAgICAuc2VjdGlvbi1jb250YWluZXIgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgIH0KICAgIAogICAgLmNvcHktdG9vbHRpcCB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgYmFja2dyb3VuZDogIzMzMzsKICAgICAgY29sb3I6IHdoaXRlOwogICAgICBwYWRkaW5nOiA1cHggMTBweDsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIHRvcDogLTMwcHg7CiAgICAgIG9wYWNpdHk6IDA7CiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zczsKICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB9CiAgICAKICAgIC5pY29uQ29udGFpbmVyOmhvdmVyIC5jb3B5LXRvb2x0aXAgewogICAgICBvcGFjaXR5OiAxOwogICAgfQoKICAgIC5pY29uQ29udGFpbmVyOmhvdmVyIGRlZXMtaWNvbiB7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICAgIH0KICAgIAogICAgLmhpZGRlbiB7CiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgIH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW9Db250YWluZXIiPgogICAgPGRpdiBjbGFzcz0ic2VhcmNoLWNvbnRhaW5lciI+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0iaWNvblNlYXJjaCIgcGxhY2Vob2xkZXI9IlNlYXJjaCBpY29ucy4uLiIgQGlucHV0PSR7cn0+CiAgICAgIDxidXR0b24gY2xhc3M9ImNvcHktYWxsLWJ1dHRvbiIgQGNsaWNrPSR7YX0+8J+TiyBDb3B5IEFsbCBJY29uIE5hbWVzPC9idXR0b24+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0iYXBpLW5vdGUiPgogICAgICBOZXcgQVBJOiBVc2UgPGNvZGU+aWNvbj0iZmE6aWNvbk5hbWUiPC9jb2RlPiBvciA8Y29kZT5pY29uPSJsdWNpZGU6aWNvbk5hbWUiPC9jb2RlPiBpbnN0ZWFkIG9mIDxjb2RlPmljb25GQTwvY29kZT4uIAogICAgICBDbGljayBhbnkgaWNvbiB0byBjb3B5IGl0cyBuZXcgZm9ybWF0IHRvIGNsaXBib2FyZC4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRhaW5lciBmYS1zZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgRm9udEF3ZXNvbWUgSWNvbnMKICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1jb3VudCI+JHt0Lmxlbmd0aH0gaWNvbnM8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpY29ucy1ncmlkIj4KICAgICAgICAke3QubWFwKG49PntsZXQgbz1gZmE6JHtufWA7cmV0dXJuIHdgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbkNvbnRhaW5lciBmYS1pY29uIiBkYXRhLW5hbWU9JHtuLnRvTG93ZXJDYXNlKCl9IEBjbGljaz0keygpPT5zKG4sImZhIil9PgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke299IGljb25TaXplPSIyNCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uTmFtZSI+ZmE6JHtufTwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvcHktdG9vbHRpcCI+Q2xpY2sgdG8gY29weTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYH0pfQogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGFpbmVyIGx1Y2lkZS1zZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgTHVjaWRlIEljb25zCiAgICAgICAgPHNwYW4gY2xhc3M9Imljb24tY291bnQiPiR7ZS5sZW5ndGh9IGljb25zPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iaWNvbnMtZ3JpZCI+CiAgICAgICAgJHtlLm1hcChuPT57bGV0IG89YGx1Y2lkZToke259YDtyZXR1cm4gd2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uQ29udGFpbmVyIGx1Y2lkZS1pY29uIiBkYXRhLW5hbWU9JHtuLnRvTG93ZXJDYXNlKCl9IEBjbGljaz0keygpPT5zKG4sImx1Y2lkZSIpfT4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHtvfSBpY29uU2l6ZT0iMjQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbk5hbWUiPmx1Y2lkZToke259PC9kaXY+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29weS10b29sdGlwIj5DbGljayB0byBjb3B5PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgfSl9CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CiAgYH0sImRlbW9GdW5jIil9KTtmdW5jdGlvbiBVYmEoKXtCOC5zaXplPkRHdCYmQXJyYXkuZnJvbShCOC5rZXlzKCkpLnNsaWNlKDAsREd0LzUpLmZvckVhY2goZT0+QjguZGVsZXRlKGUpKX12YXIgTzgsQ3MsamJhLHVaLEI4LERHdCxBR3QsS3Q9YygoKT0+e3BlKCk7SXQoKTtYZSgpO282dCgpO3BndCgpOyR4dCgpO3lHdCgpOyRHdCgpO3BaKCk7cFooKTtPOD1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sQ3M9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LGpiYT17YXJyb3dSaWdodDpyWixhcnJvd1VwUmlnaHRGcm9tU3F1YXJlOlQ3LGJlbGw6VVksYnVnOm9aLGJ1aWxkaW5nOmVaLGNhcmV0TGVmdDpZWSxjYXJldFJpZ2h0OmpZLGNoZWNrOmFaLGNpcmNsZUluZm86JDcsY2lyY2xlQ2hlY2s6UWYsY2lyY2xlQ2hlY2tTb2xpZDp6NyxjaXJjbGVYbWFyazpBOCxjaXJjbGVYbWFya1NvbGlkOlI4LGNsb2NrUm90YXRlTGVmdDpTNyxjb3B5OldHLGNvcHlTb2xpZDpuWixkZXNrdG9wOkw3LGV5ZTpHWSxleWVTbGFzaDpsWixmaWxlSW52b2ljZTppWixmaWxlSW52b2ljZURvbGxlcjpzWixnZWFyOk03LGdyaXA6RjgsbWFnbmlmeWluZ0dsYXNzOng3LG1lc3NhZ2U6WGYsbWVzc2FnZVNvbGlkOmI3LG1vbmV5Q2hlY2tEb2xsYXI6XzcsbXVnSG90OmNaLG1pbnVzOmc3LG5ldHdvcmtXaXJlZDpRWSxwYXBlcmNsaXA6dFoscGFzdGU6WmYscGFzdGVTb2xpZDptNyxwZW5Ub1NxdWFyZTp5NyxwbHVzOkM3LHJlY2VpcHQ6WlkscnNzOnY3LHNoYXJlOnc3LHN1bjpVRyxzdW5Tb2xpZDpLWSx0ZXJtaW5hbDpKWSx0cmFzaDpENyx0cmFzaFNvbGlkOkQ3LHRyYXNoQ2FuOktmLHRyYXNoQ2FuU29saWQ6azcsdXNlcnM6WFksd2FsbGV0OldZLHhtYXJrOmlsLGZhY2Vib29rOkFHLGdvb2dsZTokRyxpbnN0YWdyYW06SUcsbGlua2VkaW46REcsbWVkaXVtOldmLHNsYWNrOlBHLHRpa3RvazpFRyx0d2l0dGVyOk5HfSx1Wj17ZmE6amJhfSxCOD1uZXcgTWFwLERHdD01MDA7aShVYmEsImxpbWl0Q2FjaGVTaXplIik7QUd0PSgoKT0+e2xldCB0PVthZSgiZGVlcy1pY29uIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W107dmFyIEU9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNJY29uIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpTdHJpbmcsY29udmVydGVyOntmcm9tQXR0cmlidXRlOmkoQz0+QywiZnJvbUF0dHJpYnV0ZSIpLHRvQXR0cmlidXRlOmkoQz0+QywidG9BdHRyaWJ1dGUiKX19KV0saD1bTCh7dHlwZTpTdHJpbmcsY29udmVydGVyOntmcm9tQXR0cmlidXRlOmkoQz0+QywiZnJvbUF0dHJpYnV0ZSIpLHRvQXR0cmlidXRlOmkoQz0+QywidG9BdHRyaWJ1dGUiKX19KV0scD1bTCh7dHlwZTpOdW1iZXJ9KV0seD1bTCh7dHlwZTpTdHJpbmd9KV0seT1bTCh7dHlwZTpOdW1iZXJ9KV0sTzgodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpY29uRkEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+Imljb25GQSJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLmljb25GQSwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLmljb25GQT1OfSwic2V0Iil9LG1ldGFkYXRhOl99LG8sbCksTzgodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpY29uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJpY29uImluIEMsImhhcyIpLGdldDppKEM9PkMuaWNvbiwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLmljb249Tn0sInNldCIpfSxtZXRhZGF0YTpffSx1LGYpLE84KHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaWNvblNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+Imljb25TaXplImluIEMsImhhcyIpLGdldDppKEM9PkMuaWNvblNpemUsImdldCIpLHNldDppKChDLE4pPT57Qy5pY29uU2l6ZT1OfSwic2V0Iil9LG1ldGFkYXRhOl99LGcsdiksTzgodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2xvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4iY29sb3IiaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy5jb2xvciwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLmNvbG9yPU59LCJzZXQiKX0sbWV0YWRhdGE6X30sYixtKSxPOCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0cm9rZVdpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJzdHJva2VXaWR0aCJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLnN0cm9rZVdpZHRoLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0Muc3Ryb2tlV2lkdGg9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxNLGspLE84KG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsYSksRT1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89TEd0O3N0YXRpYyBkZW1vR3JvdXBzPVsiVXRpbGl0eSJdOyNlPUNzKHRoaXMsbyx2b2lkIDApO2dldCBpY29uRkEoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaWNvbkZBKF8pe3RoaXMuI2U9X30jdD0oQ3ModGhpcyxsKSxDcyh0aGlzLHUsdm9pZCAwKSk7Z2V0IGljb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgaWNvbihfKXt0aGlzLiN0PV99I2E9KENzKHRoaXMsZiksQ3ModGhpcyxnLHZvaWQgMCkpO2dldCBpY29uU2l6ZSgpe3JldHVybiB0aGlzLiNhfXNldCBpY29uU2l6ZShfKXt0aGlzLiNhPV99I3I9KENzKHRoaXMsdiksQ3ModGhpcyxiLCJjdXJyZW50Q29sb3IiKSk7Z2V0IGNvbG9yKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGNvbG9yKF8pe3RoaXMuI3I9X30jaT0oQ3ModGhpcyxtKSxDcyh0aGlzLE0sMikpO2dldCBzdHJva2VXaWR0aCgpe3JldHVybiB0aGlzLiNpfXNldCBzdHJva2VXaWR0aChfKXt0aGlzLiNpPV99bGFzdEljb249KENzKHRoaXMsayksbnVsbCk7bGFzdEljb25TaXplPW51bGw7bGFzdENvbG9yPW51bGw7bGFzdFN0cm9rZVdpZHRoPW51bGw7Y29uc3RydWN0b3IoKXtzdXBlcigpLElhLnNldHVwKCl9Z2V0RWZmZWN0aXZlSWNvbigpe3JldHVybiB0aGlzLmljb24/dGhpcy5pY29uOnRoaXMuaWNvbkZBP3RoaXMuaWNvbkZBLnN0YXJ0c1dpdGgoImx1Y2lkZToiKT90aGlzLmljb25GQTpgZmE6JHt0aGlzLmljb25GQX1gOm51bGx9cGFyc2VJY29uU3RyaW5nKF8pe2xldCBDPV8udG9Mb3dlckNhc2UoKTtyZXR1cm4gQy5zdGFydHNXaXRoKCJmYToiKT97dHlwZToiZmEiLG5hbWU6Xy5zdWJzdHJpbmcoMyl9OkMuc3RhcnRzV2l0aCgibHVjaWRlOiIpP3t0eXBlOiJsdWNpZGUiLG5hbWU6Xy5zdWJzdHJpbmcoNyl9Ont0eXBlOiJsdWNpZGUiLG5hbWU6X319cmVuZGVyTHVjaWRlSWNvbihfKXtsZXQgQz1gbHVjaWRlOiR7X306JHt0aGlzLmljb25TaXplfToke3RoaXMuY29sb3J9OiR7dGhpcy5zdHJva2VXaWR0aH1gO2lmKEI4LmhhcyhDKSlyZXR1cm4gQjguZ2V0KEMpfHwiIjt0cnl7bGV0IE49Xy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStfLnNsaWNlKDEpO2lmKCFDMltOXSlyZXR1cm4gY29uc29sZS53YXJuKGBMdWNpZGUgaWNvbiAnJHtOfScgbm90IGZvdW5kIGluIGx1Y2lkZUljb25zIG9iamVjdGApLCIiO2xldCAkPXNsKEMyW05dLHtjb2xvcjp0aGlzLmNvbG9yLHNpemU6dGhpcy5pY29uU2l6ZSxzdHJva2VXaWR0aDp0aGlzLnN0cm9rZVdpZHRofSk7aWYoISQpcmV0dXJuIGNvbnNvbGUud2FybihgY3JlYXRlRWxlbWVudCByZXR1cm5lZCBlbXB0eSByZXN1bHQgZm9yICR7Tn1gKSwiIjtsZXQgST0kLm91dGVySFRNTDtyZXR1cm4gQjguc2V0KEMsSSksVWJhKCksSX1jYXRjaChOKXtyZXR1cm4gY29uc29sZS5lcnJvcihgRXJyb3IgcmVuZGVyaW5nIEx1Y2lkZSBpY29uICR7X306YCxOKSxgPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIke3RoaXMuaWNvblNpemV9IiBoZWlnaHQ9IiR7dGhpcy5pY29uU2l6ZX0iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIke3RoaXMuY29sb3J9IiBzdHJva2Utd2lkdGg9IiR7dGhpcy5zdHJva2VXaWR0aH0iIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+CiAgICAgICAgPHRleHQgeD0iNTAlIiB5PSI1MCUiIGZvbnQtc2l6ZT0iNiIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZG9taW5hbnQtYmFzZWxpbmU9Im1pZGRsZSIgZmlsbD0iJHt0aGlzLmNvbG9yfSI+JHtffTwvdGV4dD4KICAgICAgPC9zdmc+YH19c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgIH0KCiAgICAgIC8qIEltcHJvdmUgcmVuZGVyaW5nIHBlcmZvcm1hbmNlICovCiAgICAgICNpY29uQ29udGFpbmVyIHN2ZyB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07IC8qIEhlbHBzIHdpdGggYW5pbWF0aW9ucyAqLwogICAgICAgIGNvbnRhaW46IHN0cmljdDsgLyogUGVyZm9ybWFuY2Ugb3B0aW1pemF0aW9uICovCiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICAke0lhLnN0eWxlc30KICAgICAgPHN0eWxlPgogICAgICAgICNpY29uQ29udGFpbmVyIHsKICAgICAgICAgIHdpZHRoOiAke3RoaXMuaWNvblNpemV9cHg7CiAgICAgICAgICBoZWlnaHQ6ICR7dGhpcy5pY29uU2l6ZX1weDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgaWQ9Imljb25Db250YWluZXIiPjwvZGl2PgogICAgYH11cGRhdGVkKCl7dGhpcy5pY29uU2l6ZXx8KHRoaXMuaWNvblNpemU9cGFyc2VJbnQoZ2xvYmFsVGhpcy5nZXRDb21wdXRlZFN0eWxlKHRoaXMpLmZvbnRTaXplLnJlcGxhY2UoL1xEL2csIiIpKSk7bGV0IF89dGhpcy5nZXRFZmZlY3RpdmVJY29uKCk7aWYodGhpcy5sYXN0SWNvbj09PV8mJnRoaXMubGFzdEljb25TaXplPT09dGhpcy5pY29uU2l6ZSYmdGhpcy5sYXN0Q29sb3I9PT10aGlzLmNvbG9yJiZ0aGlzLmxhc3RTdHJva2VXaWR0aD09PXRoaXMuc3Ryb2tlV2lkdGgpcmV0dXJuO3RoaXMubGFzdEljb249Xyx0aGlzLmxhc3RJY29uU2l6ZT10aGlzLmljb25TaXplLHRoaXMubGFzdENvbG9yPXRoaXMuY29sb3IsdGhpcy5sYXN0U3Ryb2tlV2lkdGg9dGhpcy5zdHJva2VXaWR0aDtsZXQgQz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIiNpY29uQ29udGFpbmVyIik7aWYoISghQ3x8IV8pKXRyeXtsZXR7dHlwZTpOLG5hbWU6JH09dGhpcy5wYXJzZUljb25TdHJpbmcoXyk7aWYoTj09PSJsdWNpZGUiKXtDLmlubmVySFRNTD0iIjt0cnl7bGV0IEk9JC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSskLnNsaWNlKDEpO2lmKEMyW0ldKXtsZXQgaj1zbChDMltJXSx7Y29sb3I6dGhpcy5jb2xvcixzaXplOnRoaXMuaWNvblNpemUsc3Ryb2tlV2lkdGg6dGhpcy5zdHJva2VXaWR0aH0pO2lmKGope0MuYXBwZW5kQ2hpbGQoaik7cmV0dXJufX10aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBjcmVhdGUgZWxlbWVudCBmb3IgJHtJfWApfWNhdGNoKEkpe2NvbnNvbGUuZXJyb3IoIkVycm9yIHJlbmRlcmluZyBMdWNpZGUgaWNvbjoiLEkpO2xldCBqPXRoaXMucmVuZGVyTHVjaWRlSWNvbigkKTtqJiYoQy5pbm5lckhUTUw9ail9fWVsc2V7bGV0IEk9dVouZmFbJF07aWYoSSl7bGV0IGo9c29lKEkpLmh0bWxbMF07Qy5pbm5lckhUTUw9an1lbHNlIGNvbnNvbGUud2FybihgRm9udEF3ZXNvbWUgaWNvbiBub3QgZm91bmQ6ICR7JH1gKX19Y2F0Y2goTil7Y29uc29sZS5lcnJvcihgRXJyb3IgdXBkYXRpbmcgaWNvbiAke199OmAsTil9fWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmxhc3RJY29uPW51bGwsdGhpcy5sYXN0SWNvblNpemU9bnVsbCx0aGlzLmxhc3RDb2xvcj1udWxsLHRoaXMubGFzdFN0cm9rZVdpZHRoPW51bGx9c3RhdGlje0NzKHIsYSl9fTtyZXR1cm4gRT1yfSkoKX0pO3ZhciBQR3QsdE9lLE50LHYxPWMoKCk9PntQMSgpO1MzdCgpO3BlKCk7SXQoKTtnbygpO2ppKCk7S3QoKTtYZSgpO1BHdD1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sdE9lPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxOdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtY29udGV4dG1lbnUiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXTt2YXIgaD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0NvbnRleHRtZW51Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IHU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpBcnJheX0pXSxQR3QodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51SXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZj0+Im1lbnVJdGVtcyJpbiBmLCJoYXMiKSxnZXQ6aShmPT5mLm1lbnVJdGVtcywiZ2V0Iiksc2V0OmkoKGYscCk9PntmLm1lbnVJdGVtcz1wfSwic2V0Iil9LG1ldGFkYXRhOnV9LG8sbCksUEd0KG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOnV9LG51bGwsYSksaD1yPWUudmFsdWUsdSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp1fSl9c3RhdGljIGRlbW89ejN0O3N0YXRpYyBkZW1vR3JvdXBzPVsiT3ZlcmxheSJdO3N0YXRpYyBjb250ZXh0TWVudURlYWN0aXZhdGVkPSExO3N0YXRpYyBhY2N1bXVsYXRlZE1lbnVJdGVtcz1bXTtzdGF0aWMgaW5pdGlhbGl6ZUdsb2JhbExpc3RlbmVyKCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLHU9PntpZih0aGlzLmNvbnRleHRNZW51RGVhY3RpdmF0ZWQpcmV0dXJuO3UucHJldmVudERlZmF1bHQoKSxoLmFjY3VtdWxhdGVkTWVudUl0ZW1zPVtdO2xldCBmPXUuY29tcG9zZWRQYXRoKCk7Zm9yKGxldCBwIG9mIGYpaWYocC5nZXRDb250ZXh0TWVudUl0ZW1zKXtsZXQgZz1wLmdldENvbnRleHRNZW51SXRlbXMoKTtnJiZnLmxlbmd0aD4wJiYoaC5hY2N1bXVsYXRlZE1lbnVJdGVtcy5sZW5ndGg+MCYmaC5hY2N1bXVsYXRlZE1lbnVJdGVtcy5wdXNoKHtkaXZpZGVyOiEwfSksaC5hY2N1bXVsYXRlZE1lbnVJdGVtcy5wdXNoKC4uLmcpKX1oLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKHUsaC5hY2N1bXVsYXRlZE1lbnVJdGVtcyl9KX1zdGF0aWMgYXN5bmMgb3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnModSxmKXtpZih0aGlzLmNvbnRleHRNZW51RGVhY3RpdmF0ZWQpcmV0dXJuO3UucHJldmVudERlZmF1bHQoKSx1LnN0b3BQcm9wYWdhdGlvbigpO2xldCBwPW5ldyBoO3Auc3R5bGUucG9zaXRpb249ImZpeGVkIixwLnN0eWxlLnpJbmRleD1TdHJpbmcoQTEub3ZlcmxheS5jb250ZXh0TWVudSkscC5zdHlsZS5vcGFjaXR5PSIwIixwLnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMC45NSkgdHJhbnNsYXRlWSgtMTBweCkiLHAubWVudUl0ZW1zPWYscC53aW5kb3dMYXllcj1hd2FpdCBVaS5jcmVhdGVBbmRTaG93KCkscC53aW5kb3dMYXllci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXN5bmMgeT0+e3kudGFyZ2V0LmNsb3Nlc3QoImRlZXMtY29udGV4dG1lbnUiKXx8YXdhaXQgcC5kZXN0cm95KCl9KSxkb2N1bWVudC5ib2R5LmFwcGVuZChwKSxhd2FpdCBFdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDApO2xldCBnPXAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdj13aW5kb3cuaW5uZXJXaWR0aCx4PXdpbmRvdy5pbm5lckhlaWdodCxiPXUuY2xpZW50WSxtPXUuY2xpZW50WDttK2cud2lkdGg+diYmKG09di1nLndpZHRoLTEwKSxiK2cuaGVpZ2h0PngmJihiPXgtZy5oZWlnaHQtMTApLG08MTAmJihtPTEwKSxiPDEwJiYoYj0xMCkscC5zdHlsZS50b3A9YCR7Yn1weGAscC5zdHlsZS5sZWZ0PWAke219cHhgLHAuc3R5bGUudHJhbnNmb3JtT3JpZ2luPSJ0b3AgbGVmdCIsYXdhaXQgRXQuc21hcnRkZWxheS5kZWxheUZvcigwKSxwLnN0eWxlLm9wYWNpdHk9IjEiLHAuc3R5bGUudHJhbnNmb3JtPSJzY2FsZSgxKSB0cmFuc2xhdGVZKDApIn0jZT10T2UodGhpcyxvLFtdKTtnZXQgbWVudUl0ZW1zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IG1lbnVJdGVtcyh1KXt0aGlzLiNlPXV9d2luZG93TGF5ZXI9dE9lKHRoaXMsbCk7c3VibWVudT1udWxsO3N1Ym1lbnVUaW1lb3V0PW51bGw7cGFyZW50TWVudT1udWxsO2lzRGVzdHJveWluZz0hMTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy50YWJJbmRleD0wfXN0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzLCB0cmFuc2Zvcm0gMC4yczsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICAubWFpbmJveCB7CiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsKICAgICAgICBtYXgtd2lkdGg6IDI4MHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2UwZTBlMCIsIiMyMDIwMjAiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJveC1zaGFkb3c6ICR7ZC5iZFRoZW1lKCIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSkiLCIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zKSIpfTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMzMzIiwiI2NjYyIpfTsKICAgICAgfQoKICAgICAgLm1lbnVpdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xczsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5tZW51aXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICB9CiAgICAgIAogICAgICAubWVudWl0ZW0uaGFzLXN1Ym1lbnU6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAn4oC6JzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDhweDsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAubWVudWl0ZW06YWN0aXZlOm5vdCguaGFzLXN1Ym1lbnUpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA4KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tZW51aXRlbS5kaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tZW51aXRlbSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgIH0KCiAgICAgIC5tZW51aXRlbS10ZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAubWVudWl0ZW0tc2hvcnRjdXQgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM5OTkiLCIjNjY2Iil9OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQoKICAgICAgLm1lbnUtZGl2aWRlciB7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlMGUwZTAiLCIjMjAyMDIwIil9OwogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtYWluYm94Ij4KICAgICAgICAke3RoaXMubWVudUl0ZW1zLm1hcCh1PT57aWYoImRpdmlkZXIiaW4gdSYmdS5kaXZpZGVyKXJldHVybiB3YDxkaXYgY2xhc3M9Im1lbnUtZGl2aWRlciI+PC9kaXY+YDtsZXQgZj11LHA9Zi5zdWJtZW51JiZmLnN1Ym1lbnUubGVuZ3RoPjA7cmV0dXJuIHdgCiAgICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgICAgY2xhc3M9Im1lbnVpdGVtICR7Zi5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSAke3A/Imhhcy1zdWJtZW51IjoiIn0iIAogICAgICAgICAgICAgIEBjbGljaz0keygpPT4hZi5kaXNhYmxlZCYmIXAmJnRoaXMuaGFuZGxlQ2xpY2soZil9CiAgICAgICAgICAgICAgQG1vdXNlZW50ZXI9JHsoKT0+dGhpcy5oYW5kbGVNZW51SXRlbUhvdmVyKGYscCl9CiAgICAgICAgICAgICAgQG1vdXNlbGVhdmU9JHsoKT0+dGhpcy5oYW5kbGVNZW51SXRlbUxlYXZlKCl9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICAke2YuaWNvbk5hbWU/d2AKICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7Zi5pY29uTmFtZX0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1lbnVpdGVtLXRleHQiPiR7Zi5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgICAke2Yuc2hvcnRjdXQmJiFwP3dgCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWVudWl0ZW0tc2hvcnRjdXQiPiR7Zi5zaG9ydGN1dH08L3NwYW4+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfSl9CiAgICAgICAgJHt0aGlzLm1lbnVJdGVtcy5sZW5ndGg9PT0wP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbnVpdGVtIiBAY2xpY2s9JHsoKT0+e2guY29udGV4dE1lbnVEZWFjdGl2YXRlZD0hMCx0aGlzLmRlc3Ryb3koKX19PgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249Imx1Y2lkZTp4Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWVudWl0ZW0tdGV4dCI+QWxsb3cgbmF0aXZlIGNvbnRleHQ8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6d2BgfQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy5mb2N1cygpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5oYW5kbGVLZXlkb3duKX1oYW5kbGVLZXlkb3duPWkodT0+e2xldCBmPUFycmF5LmZyb20odGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tZW51aXRlbTpub3QoLmRpc2FibGVkKSIpKSxwPWYuZmluZEluZGV4KGc9PmcubWF0Y2hlcygiOmhvdmVyIikpO3N3aXRjaCh1LmtleSl7Y2FzZSJBcnJvd0Rvd24iOnUucHJldmVudERlZmF1bHQoKTtsZXQgZz1wKzE8Zi5sZW5ndGg/cCsxOjA7ZltnXS5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KCJtb3VzZWVudGVyIikpO2JyZWFrO2Nhc2UiQXJyb3dVcCI6dS5wcmV2ZW50RGVmYXVsdCgpO2xldCB2PXAtMT49MD9wLTE6Zi5sZW5ndGgtMTtmW3ZdLmRpc3BhdGNoRXZlbnQobmV3IE1vdXNlRXZlbnQoIm1vdXNlZW50ZXIiKSk7YnJlYWs7Y2FzZSJFbnRlciI6dS5wcmV2ZW50RGVmYXVsdCgpLHA+PTAmJmZbcF0uY2xpY2soKTticmVhaztjYXNlIkVzY2FwZSI6dS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZGVzdHJveSgpO2JyZWFrfX0sImhhbmRsZUtleWRvd24iKTthc3luYyBoYW5kbGVDbGljayh1KXt1LmFjdGlvbigpLGF3YWl0IHRoaXMuZGVzdHJveUFsbCgpfWFzeW5jIGhhbmRsZU1lbnVJdGVtSG92ZXIodSxmKXt0aGlzLnN1Ym1lbnVUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuc3VibWVudVRpbWVvdXQpLHRoaXMuc3VibWVudVRpbWVvdXQ9bnVsbCksdGhpcy5zdWJtZW51JiZhd2FpdCB0aGlzLmhpZGVTdWJtZW51KCksZiYmdS5zdWJtZW51JiYodGhpcy5zdWJtZW51VGltZW91dD1zZXRUaW1lb3V0KCgpPT57dGhpcy5zaG93U3VibWVudSh1KX0sMjAwKSl9aGFuZGxlTWVudUl0ZW1MZWF2ZSgpe3RoaXMuc3VibWVudVRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLnN1Ym1lbnVUaW1lb3V0KSx0aGlzLnN1Ym1lbnVUaW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLnN1Ym1lbnUmJiF0aGlzLnN1Ym1lbnUubWF0Y2hlcygiOmhvdmVyIikmJnRoaXMuaGlkZVN1Ym1lbnUoKX0sMzAwKX1hc3luYyBzaG93U3VibWVudSh1KXtpZighdS5zdWJtZW51fHx1LnN1Ym1lbnUubGVuZ3RoPT09MClyZXR1cm47bGV0IHA9QXJyYXkuZnJvbSh0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvckFsbCgiLm1lbnVpdGVtIikpLmZpbmQoTT0+TS5xdWVyeVNlbGVjdG9yKCIubWVudWl0ZW0tdGV4dCIpPy50ZXh0Q29udGVudD09PXUubmFtZSk7aWYoIXApcmV0dXJuO3RoaXMuc3VibWVudT1uZXcgaCx0aGlzLnN1Ym1lbnUubWVudUl0ZW1zPXUuc3VibWVudSx0aGlzLnN1Ym1lbnUucGFyZW50TWVudT10aGlzLHRoaXMuc3VibWVudS5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiLHRoaXMuc3VibWVudS5zdHlsZS56SW5kZXg9U3RyaW5nKHBhcnNlSW50KHRoaXMuc3R5bGUuekluZGV4KSsxKSx0aGlzLnN1Ym1lbnUuc3R5bGUub3BhY2l0eT0iMCIsdGhpcy5zdWJtZW51LnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMC45NSkiLGRvY3VtZW50LmJvZHkuYXBwZW5kKHRoaXMuc3VibWVudSksYXdhaXQgRXQuc21hcnRkZWxheS5kZWxheUZvcigwKTtsZXQgZz1wLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHY9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx4PXRoaXMuc3VibWVudS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxiPXdpbmRvdy5pbm5lcldpZHRoLG09di5yaWdodC00LHk9Zy50b3A7bSt4LndpZHRoPmItMTAmJihtPXYubGVmdC14LndpZHRoKzQpLHkreC5oZWlnaHQ+d2luZG93LmlubmVySGVpZ2h0LTEwJiYoeT13aW5kb3cuaW5uZXJIZWlnaHQteC5oZWlnaHQtMTApLHRoaXMuc3VibWVudS5zdHlsZS5sZWZ0PWAke219cHhgLHRoaXMuc3VibWVudS5zdHlsZS50b3A9YCR7eX1weGAsYXdhaXQgRXQuc21hcnRkZWxheS5kZWxheUZvcigwKSx0aGlzLnN1Ym1lbnUuc3R5bGUub3BhY2l0eT0iMSIsdGhpcy5zdWJtZW51LnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMSkiLHRoaXMuc3VibWVudS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIiwoKT0+e3RoaXMuc3VibWVudVRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5zdWJtZW51VGltZW91dCksdGhpcy5zdWJtZW51VGltZW91dD1udWxsKX0pLHRoaXMuc3VibWVudS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwoKT0+e3RoaXMuaGFuZGxlTWVudUl0ZW1MZWF2ZSgpfSl9YXN5bmMgaGlkZVN1Ym1lbnUoKXt0aGlzLnN1Ym1lbnUmJihhd2FpdCB0aGlzLnN1Ym1lbnUuZGVzdHJveSgpLHRoaXMuc3VibWVudT1udWxsKX1hc3luYyBkZXN0cm95KCl7dGhpcy5pc0Rlc3Ryb3lpbmd8fCh0aGlzLmlzRGVzdHJveWluZz0hMCx0aGlzLnN1Ym1lbnVUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuc3VibWVudVRpbWVvdXQpLHRoaXMuc3VibWVudVRpbWVvdXQ9bnVsbCksdGhpcy5zdWJtZW51JiYoYXdhaXQgdGhpcy5zdWJtZW51LmRlc3Ryb3koKSx0aGlzLnN1Ym1lbnU9bnVsbCksdGhpcy53aW5kb3dMYXllciYmIXRoaXMucGFyZW50TWVudSYmdGhpcy53aW5kb3dMYXllci5kZXN0cm95KCksdGhpcy5zdHlsZS5vcGFjaXR5PSIwIix0aGlzLnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMC45NSkgdHJhbnNsYXRlWSgtMTBweCkiLGF3YWl0IEV0LnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMTAwKSx0aGlzLnBhcmVudEVsZW1lbnQmJnRoaXMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzKSl9YXN5bmMgZGVzdHJveUFsbCgpe2xldCB1PXRoaXM7Zm9yKDt1LnBhcmVudE1lbnU7KXU9dS5wYXJlbnRNZW51O2F3YWl0IHUuZGVzdHJveSgpfXN0YXRpY3t0T2UocixhKX19O3JldHVybiBoPXJ9KSgpO050LmluaXRpYWxpemVHbG9iYWxMaXN0ZW5lcigpfSk7dmFyIEVHdCxhT2UsV2JhLElHdD1jKCgpPT57cGUoKTtFR3Q9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LGFPZT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sV2JhPSgoKT0+e2xldCB0PVthZSgiZGVlcy1kZW1vd3JhcHBlciIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdO3ZhciBoPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzRGVtb1dyYXBwZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgdT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHthdHRyaWJ1dGU6ITF9KV0sRUd0KHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicnVuQWZ0ZXJSZW5kZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZj0+InJ1bkFmdGVyUmVuZGVyImluIGYsImhhcyIpLGdldDppKGY9PmYucnVuQWZ0ZXJSZW5kZXIsImdldCIpLHNldDppKChmLHApPT57Zi5ydW5BZnRlclJlbmRlcj1wfSwic2V0Iil9LG1ldGFkYXRhOnV9LG8sbCksRUd0KG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOnV9LG51bGwsYSksaD1yPWUudmFsdWUsdSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp1fSl9I2U9YU9lKHRoaXMsbyx2b2lkIDApO2dldCBydW5BZnRlclJlbmRlcigpe3JldHVybiB0aGlzLiNlfXNldCBydW5BZnRlclJlbmRlcih1KXt0aGlzLiNlPXV9c3RhdGljIHN0eWxlcz1bWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHNsb3Q+PC9zbG90PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXtpZihhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLGF3YWl0IG5ldyBQcm9taXNlKHU9PnNldFRpbWVvdXQodSw1MCkpLHRoaXMuY2hpbGRyZW4ubGVuZ3RoPjAmJnRoaXMucnVuQWZ0ZXJSZW5kZXIpdHJ5e2F3YWl0IHRoaXMucnVuQWZ0ZXJSZW5kZXIodGhpcyl9Y2F0Y2godSl7Y29uc29sZS5lcnJvcigiRXJyb3IgaW4gcnVuQWZ0ZXJSZW5kZXI6Iix1KX19Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGFPZSh0aGlzLGwpfXN0YXRpY3thT2UocixhKX19O3JldHVybiBoPXJ9KSgpfSk7dmFyIFJhPWMoKCk9PntJR3QoKX0pO3ZhciBOR3QsUkd0PWMoKCk9PntwZSgpO1JhKCk7Tkd0PWkoKCk9PntsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkZWVzLWFwcHVpLWFjdGl2aXR5bG9nIik7cmV0dXJuIHNldFRpbWVvdXQoKCk9Pnt0LmFkZE1hbnkoW3t0eXBlOiJsb2dpbiIsdXNlcjoiSm9obiBEb2UiLG1lc3NhZ2U6ImxvZ2dlZCBpbiBmcm9tIENocm9tZSBvbiBtYWNPUyJ9LHt0eXBlOiJjcmVhdGUiLHVzZXI6IkpvaG4gRG9lIixtZXNzYWdlOidjcmVhdGVkIGEgbmV3IHByb2plY3QgIkZyb250ZW5kIEFwcCInfSx7dHlwZToidXBkYXRlIix1c2VyOiJKYW5lIFNtaXRoIixtZXNzYWdlOiJ1cGRhdGVkIEFQSSBkb2N1bWVudGF0aW9uIn0se3R5cGU6InZpZXciLHVzZXI6IkpvaG4gRG9lIixtZXNzYWdlOiJ2aWV3ZWQgZGFzaGJvYXJkIGFuYWx5dGljcyJ9LHt0eXBlOiJkZWxldGUiLHVzZXI6IkFkbWluIixtZXNzYWdlOiJyZW1vdmVkIGRlcHJlY2F0ZWQgZW5kcG9pbnQifSx7dHlwZToiY3VzdG9tIix1c2VyOiJTeXN0ZW0iLG1lc3NhZ2U6InNjaGVkdWxlZCBiYWNrdXAgY29tcGxldGVkIixpY29uTmFtZToibHVjaWRlOmRhdGFiYXNlIn0se3R5cGU6ImxvZ291dCIsdXNlcjoiQWxpY2UgQnJvd24iLG1lc3NhZ2U6ImxvZ2dlZCBvdXQifSx7dHlwZToiY3JlYXRlIix1c2VyOiJKYW5lIFNtaXRoIixtZXNzYWdlOiJjcmVhdGVkIGludm9pY2UgIzEyMzQifV0pLHQuZW50cmllcyQuc3Vic2NyaWJlKGU9Pntjb25zb2xlLmxvZygiQWN0aXZpdHkgbG9nIHVwZGF0ZWQ6IixlLmxlbmd0aCwiZW50cmllcyIpfSl9LDEwMCksd2AKICAgIDxkZWVzLWRlbW93cmFwcGVyPgogICAgICA8c3R5bGU+CiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBoZWlnaHQ6IDYwMHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMDkwOTBiIil9OwogICAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgICAke3R9CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIGZaLGU2LEZHdCxyT2U9YygoKT0+e3BlKCk7SXQoKTt2MSgpO0t0KCk7Ukd0KCk7WGUoKTtmWj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sZTY9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LEZHdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtYXBwdWktYWN0aXZpdHlsb2ciKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0FwcHVpQWN0aXZpdHlsb2ciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtaKCldLGg9W1ooKV0scD1bWigpXSxmWih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVudHJpZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkobT0+ImVudHJpZXMiaW4gbSwiaGFzIiksZ2V0OmkobT0+bS5lbnRyaWVzLCJnZXQiKSxzZXQ6aSgobSx5KT0+e20uZW50cmllcz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG8sbCksZloodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWFyY2hRdWVyeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtPT4ic2VhcmNoUXVlcnkiaW4gbSwiaGFzIiksZ2V0OmkobT0+bS5zZWFyY2hRdWVyeSwiZ2V0Iiksc2V0OmkoKG0seSk9PnttLnNlYXJjaFF1ZXJ5PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sdSxmKSxmWih0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbHRlckNyaXRlcmlhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJmaWx0ZXJDcml0ZXJpYSJpbiBtLCJoYXMiKSxnZXQ6aShtPT5tLmZpbHRlckNyaXRlcmlhLCJnZXQiKSxzZXQ6aSgobSx5KT0+e20uZmlsdGVyQ3JpdGVyaWE9eX0sInNldCIpfSxtZXRhZGF0YTpifSxnLHYpLGZaKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsYSkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW89Tkd0O3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9ZTYodGhpcyxvLFtdKTtnZXQgZW50cmllcygpe3JldHVybiB0aGlzLiNlfXNldCBlbnRyaWVzKGIpe3RoaXMuI2U9Yn0jdD0oZTYodGhpcyxsKSxlNih0aGlzLHUsIiIpKTtnZXQgc2VhcmNoUXVlcnkoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VhcmNoUXVlcnkoYil7dGhpcy4jdD1ifSNhPShlNih0aGlzLGYpLGU2KHRoaXMsZyx7fSkpO2dldCBmaWx0ZXJDcml0ZXJpYSgpe3JldHVybiB0aGlzLiNhfXNldCBmaWx0ZXJDcml0ZXJpYShiKXt0aGlzLiNhPWJ9ZW50cmllcyQ9KGU2KHRoaXMsdiksbmV3IEV0LnNtYXJ0cngucnhqcy5TdWJqZWN0KTtzdGF0aWMgc3R5bGVzPVtEZSxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIC8qIENTUyBWYXJpYWJsZXMgYWxpZ25lZCB3aXRoIHNlY29uZGFyeSBtZW51ICovCiAgICAgICAgLS1hY3Rpdml0eWxvZy1iZzogJHtkLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICAgIC0tYWN0aXZpdHlsb2ctZmc6ICR7ZC5iZFRoZW1lKCIjNTI1MjUyIiwiI2EzYTNhMyIpfTsKICAgICAgICAtLWFjdGl2aXR5bG9nLWZnLW11dGVkOiAke2QuYmRUaGVtZSgiIzczNzM3MyIsIiM3MzczNzMiKX07CiAgICAgICAgLS1hY3Rpdml0eWxvZy1mZy1hY3RpdmU6ICR7ZC5iZFRoZW1lKCIjMGEwYTBhIiwiI2ZhZmFmYSIpfTsKICAgICAgICAtLWFjdGl2aXR5bG9nLWJvcmRlcjogJHtkLmJkVGhlbWUoIiNlNWU1ZTUiLCIjMWExYTFhIil9OwogICAgICAgIC0tYWN0aXZpdHlsb2ctaG92ZXI6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDQpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSIpfTsKICAgICAgICAtLWFjdGl2aXR5bG9nLWFjY2VudDogJHtkLmJkVGhlbWUoIiM3ODcxNmMiLCIjYjVhOTlhIil9OwoKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmcpOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWN0aXZpdHlsb2ctYmcpOwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWFjdGl2aXR5bG9nLWJvcmRlcik7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgbGVmdDogMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMjgwcHg7CiAgICAgIH0KCiAgICAgIC8qIEhlYWRlciB3aXRoIHN0cmVhbWluZyBpbmRpY2F0b3IgKi8KICAgICAgLnRvcGJhciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMHB4OwogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAwcHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY3Rpdml0eWxvZy1iZyk7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFjdGl2aXR5bG9nLWJvcmRlcik7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudG9wYmFyIC5oZWFkaW5nIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctYWN0aXZlKTsKICAgICAgfQoKICAgICAgLmxpdmUtaW5kaWNhdG9yIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpdml0eWxvZy1mZy1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC5saXZlLWluZGljYXRvciAuZG90IHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjMjJjNTVlIiwiIzIyYzU1ZSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYW5pbWF0aW9uOiBwdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBwdWxzZSB7CiAgICAgICAgMCUsIDEwMCUgeyBvcGFjaXR5OiAwLjU7IHRyYW5zZm9ybTogc2NhbGUoMC45KTsgfQogICAgICAgIDUwJSB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfQogICAgICB9CgogICAgICAvKiBBY3Rpdml0eSBjb250YWluZXIgKi8KICAgICAgLmFjdGl2aXR5Q29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA0OHB4OwogICAgICAgIGJvdHRvbTogNDhweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOwogICAgICAgIHNjcm9sbGJhci1jb2xvcjogJHtkLmJkVGhlbWUoIiNkNGQ0ZDQiLCIjMzMzMzMzIil9IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuYWN0aXZpdHlDb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICB9CgogICAgICAuYWN0aXZpdHlDb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5Q29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNkNGQ0ZDQiLCIjMzMzMzMzIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5Q29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNhM2EzYTMiLCIjNTI1MjUyIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNDBweCAxNnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpdml0eWxvZy1mZy1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC8qIERhdGUgc2VwYXJhdG9yIC0gd2FybSB0YXVwZSBzdHlsaW5nICovCiAgICAgIC5kYXRlLXNlcGFyYXRvciB7CiAgICAgICAgcGFkZGluZzogMTJweCAxMnB4IDZweDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctYWNjZW50KTsKICAgICAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgICAgIHRvcDogMDsKICAgICAgICB6LWluZGV4OiAxOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWFjdGl2aXR5bG9nLWJnKTsKICAgICAgfQoKICAgICAgLyogQWN0aXZpdHkgZW50cnkgLSBtb2Rlcm4gc3RhY2tlZCBsYXlvdXQgKi8KICAgICAgLmFjdGl2aXR5ZW50cnkgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBtYXJnaW46IDJweCA0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBsaW5lLWhlaWdodDogMS40OwogICAgICAgIGFuaW1hdGlvbjogZmFkZUluIDAuMnMgZWFzZS1vdXQ7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgZmFkZUluIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAuYWN0aXZpdHllbnRyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWN0aXZpdHlsb2ctaG92ZXIpOwogICAgICB9CgogICAgICAuYWN0aXZpdHktaWNvbiB7CiAgICAgICAgd2lkdGg6IDI4cHg7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA0KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctbXV0ZWQpOwogICAgICAgIG1hcmdpbi10b3A6IDFweDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24ubG9naW4gewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjA4KSIsInJnYmEoMzQsIDE5NywgOTQsIDAuMTIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE2YTM0YSIsIiM0YWRlODAiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1pY29uLmxvZ291dCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMjM5LCA2OCwgNjgsIDAuMDgpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24udmlldyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjA4KSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEyKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuYWN0aXZpdHktaWNvbi5jcmVhdGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDE2OCwgODUsIDI0NywgMC4wOCkiLCJyZ2JhKDE2OCwgODUsIDI0NywgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjOTMzM2VhIiwiI2MwODRmYyIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24udXBkYXRlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgyNTEsIDE0NiwgNjAsIDAuMDgpIiwicmdiYSgyNTEsIDE0NiwgNjAsIDAuMTIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2VhNTgwYyIsIiNmYjkyM2MiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1pY29uLmRlbGV0ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMjM5LCA2OCwgNjgsIDAuMDgpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24uY3VzdG9tIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgxMDAsIDExNiwgMTM5LCAwLjA4KSIsInJnYmEoMTAwLCAxMTYsIDEzOSwgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNDc1NTY5IiwiIzk0YTNiOCIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAuYWN0aXZpdHktdXNlciB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnLWFjdGl2ZSk7CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1zZXBhcmF0b3IgewogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpdml0eWxvZy1mZy1tdXRlZCk7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICB9CgogICAgICAudGltZXN0YW1wIHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctbXV0ZWQpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOwogICAgICB9CgogICAgICAuYWN0aXZpdHktbWVzc2FnZSB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnKTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwogICAgICB9CgogICAgICAvKiBTZWFyY2ggYm94IC0gcmVmaW5lZCBzdHlsaW5nICovCiAgICAgIC5zZWFyY2hib3ggewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDBweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWN0aXZpdHlsb2ctYmcpOwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hY3Rpdml0eWxvZy1ib3JkZXIpOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pY29uIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMTBweDsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnLW11dGVkKTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnNlYXJjaGJveCBpbnB1dCB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnLWFjdGl2ZSk7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMykiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpIil9OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA4KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweCAwIDM0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zZWFyY2hib3ggaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctbXV0ZWQpOwogICAgICB9CgogICAgICAuc2VhcmNoYm94IGlucHV0OmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xNSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDIpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSIpfTsKICAgICAgfQoKICAgICAgLnNlYXJjaC13cmFwcGVyOmhhcyhpbnB1dDpmb2N1cykgLnNlYXJjaC1pY29uIHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmcpOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgYj10aGlzLmdldEZpbHRlcmVkRW50cmllcygpLG09dGhpcy5ncm91cEVudHJpZXNCeURhdGUoYik7cmV0dXJuIHdgCiAgICAgICR7SWEuc3R5bGVzfQogICAgICA8c3R5bGU+PC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idG9wYmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmciPkFjdGl2aXR5IExvZzwvZGl2PgogICAgICAgICAgJHtiLmxlbmd0aD4wP3dgPGRpdiBjbGFzcz0ibGl2ZS1pbmRpY2F0b3IiPjxzcGFuIGNsYXNzPSJkb3QiPjwvc3Bhbj5MaXZlPC9kaXY+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpdml0eUNvbnRhaW5lciI+CiAgICAgICAgICAke2IubGVuZ3RoPT09MD93YDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBhY3Rpdml0eSBlbnRyaWVzPC9kaXY+YDptLm1hcCh5PT53YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXRlLXNlcGFyYXRvciI+JHt5LmxhYmVsfTwvZGl2PgogICAgICAgICAgICAgICAgICAke3kuZW50cmllcy5tYXAoTT0+dGhpcy5yZW5kZXJBY3Rpdml0eUVudHJ5KE0pKX0KICAgICAgICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaGJveCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtd3JhcHBlciI+CiAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9InNlYXJjaC1pY29uIiAuaWNvbj0keyJsdWNpZGU6c2VhcmNoIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IlNlYXJjaCBhY3Rpdml0aWVzLCB1c2Vycy4uLiIKICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLnNlYXJjaFF1ZXJ5fQogICAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlU2VhcmNoSW5wdXR9CiAgICAgICAgICAgIC8+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckFjdGl2aXR5RW50cnkoYil7bGV0IG09Yi50aW1lc3RhbXB8fG5ldyBEYXRlLHk9dGhpcy5mb3JtYXRUaW1lKG0pLE09Yi5pY29uTmFtZXx8dGhpcy5nZXRJY29uRm9yVHlwZShiLnR5cGUpO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImFjdGl2aXR5ZW50cnkiCiAgICAgICAgQGNvbnRleHRtZW51PSR7az0+dGhpcy5oYW5kbGVDb250ZXh0TWVudShrLGIpfQogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0iYWN0aXZpdHktaWNvbiAke2IudHlwZX0iPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke019PjwvZGVlcy1pY29uPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImFjdGl2aXR5LWNvbnRlbnQiPgogICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aXZpdHktaGVhZGVyIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFjdGl2aXR5LXVzZXIiPiR7Yi51c2VyfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFjdGl2aXR5LXNlcGFyYXRvciI+wrc8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aW1lc3RhbXAiPiR7eX08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGl2aXR5LW1lc3NhZ2UiPiR7Yi5tZXNzYWdlfTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YWRkKGIpe2xldCBtPXsuLi5iLGlkOmIuaWR8fHRoaXMuZ2VuZXJhdGVJZCgpLHRpbWVzdGFtcDpiLnRpbWVzdGFtcHx8bmV3IERhdGV9O3RoaXMuZW50cmllcz1bbSwuLi50aGlzLmVudHJpZXNdLHRoaXMuZW50cmllcyQubmV4dCh0aGlzLmVudHJpZXMpfWFkZE1hbnkoYil7bGV0IG09Yi5tYXAoeT0+KHsuLi55LGlkOnkuaWR8fHRoaXMuZ2VuZXJhdGVJZCgpLHRpbWVzdGFtcDp5LnRpbWVzdGFtcHx8bmV3IERhdGV9KSk7dGhpcy5lbnRyaWVzPVsuLi5tLnJldmVyc2UoKSwuLi50aGlzLmVudHJpZXNdLHRoaXMuZW50cmllcyQubmV4dCh0aGlzLmVudHJpZXMpfWNsZWFyKCl7dGhpcy5lbnRyaWVzPVtdLHRoaXMuZW50cmllcyQubmV4dCh0aGlzLmVudHJpZXMpfWdldEVudHJpZXMoKXtyZXR1cm5bLi4udGhpcy5lbnRyaWVzXX1maWx0ZXIoYil7cmV0dXJuIHRoaXMuZW50cmllcy5maWx0ZXIobT0+IShiLnVzZXImJm0udXNlciE9PWIudXNlcnx8Yi50eXBlJiZtLnR5cGUhPT1iLnR5cGUpKX1zZWFyY2goYil7bGV0IG09Yi50b0xvd2VyQ2FzZSgpO3JldHVybiB0aGlzLmVudHJpZXMuZmlsdGVyKHk9PnkubWVzc2FnZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG0pfHx5LnVzZXIudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhtKSl9Z2VuZXJhdGVJZCgpe3JldHVybmBhY3Rpdml0eS0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsOSl9YH1nZXRGaWx0ZXJlZEVudHJpZXMoKXtsZXQgYj10aGlzLmVudHJpZXM7aWYodGhpcy5zZWFyY2hRdWVyeSl7bGV0IG09dGhpcy5zZWFyY2hRdWVyeS50b0xvd2VyQ2FzZSgpO2I9Yi5maWx0ZXIoeT0+eS5tZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobSl8fHkudXNlci50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG0pKX1yZXR1cm4odGhpcy5maWx0ZXJDcml0ZXJpYS51c2VyfHx0aGlzLmZpbHRlckNyaXRlcmlhLnR5cGUpJiYoYj1iLmZpbHRlcihtPT4hKHRoaXMuZmlsdGVyQ3JpdGVyaWEudXNlciYmbS51c2VyIT09dGhpcy5maWx0ZXJDcml0ZXJpYS51c2VyfHx0aGlzLmZpbHRlckNyaXRlcmlhLnR5cGUmJm0udHlwZSE9PXRoaXMuZmlsdGVyQ3JpdGVyaWEudHlwZSkpKSxifWdyb3VwRW50cmllc0J5RGF0ZShiKXtsZXQgbT1uZXcgTWFwLHk9bmV3IERhdGUsTT1uZXcgRGF0ZSh5KTtNLnNldERhdGUoTS5nZXREYXRlKCktMSk7Zm9yKGxldCBrIG9mIGIpe2xldCBFPWsudGltZXN0YW1wfHxuZXcgRGF0ZSxfO3RoaXMuaXNTYW1lRGF5KEUseSk/Xz0iVG9kYXkiOnRoaXMuaXNTYW1lRGF5KEUsTSk/Xz0iWWVzdGVyZGF5IjpfPUUudG9Mb2NhbGVEYXRlU3RyaW5nKCJlbi1VUyIse21vbnRoOiJzaG9ydCIsZGF5OiJudW1lcmljIix5ZWFyOkUuZ2V0RnVsbFllYXIoKSE9PXkuZ2V0RnVsbFllYXIoKT8ibnVtZXJpYyI6dm9pZCAwfSksbS5oYXMoXyl8fG0uc2V0KF8sW10pLG0uZ2V0KF8pLnB1c2goayl9cmV0dXJuIEFycmF5LmZyb20obS5lbnRyaWVzKCkpLm1hcCgoW2ssRV0pPT4oe2xhYmVsOmssZW50cmllczpFfSkpfWlzU2FtZURheShiLG0pe3JldHVybiBiLmdldEZ1bGxZZWFyKCk9PT1tLmdldEZ1bGxZZWFyKCkmJmIuZ2V0TW9udGgoKT09PW0uZ2V0TW9udGgoKSYmYi5nZXREYXRlKCk9PT1tLmdldERhdGUoKX1mb3JtYXRUaW1lKGIpe3JldHVybiBiLnRvTG9jYWxlVGltZVN0cmluZygiZW4tVVMiLHtob3VyOiIyLWRpZ2l0IixtaW51dGU6IjItZGlnaXQiLGhvdXIxMjohMX0pfWdldEljb25Gb3JUeXBlKGIpe2xldCBtPXtsb2dpbjoibHVjaWRlOmxvZ0luIixsb2dvdXQ6Imx1Y2lkZTpsb2dPdXQiLHZpZXc6Imx1Y2lkZTpleWUiLGNyZWF0ZToibHVjaWRlOnBsdXMiLHVwZGF0ZToibHVjaWRlOmVkaXQiLGRlbGV0ZToibHVjaWRlOnRyYXNoMiIsY3VzdG9tOiJsdWNpZGU6YWN0aXZpdHkifTtyZXR1cm4gbVtiXXx8bS5jdXN0b219aGFuZGxlU2VhcmNoSW5wdXQoYil7bGV0IG09Yi50YXJnZXQ7dGhpcy5zZWFyY2hRdWVyeT1tLnZhbHVlfWhhbmRsZUNvbnRleHRNZW51KGIsbSl7Yi5wcmV2ZW50RGVmYXVsdCgpLE50Lm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKGIsW3tuYW1lOiJDb3B5IGFjdGl2aXR5IixpY29uTmFtZToibHVjaWRlOmNvcHkiLGFjdGlvbjppKGFzeW5jKCk9Pnthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChgJHttLnVzZXJ9ICR7bS5tZXNzYWdlfWApfSwiYWN0aW9uIil9LHtuYW1lOiJGaWx0ZXIgYnkgdXNlciIsaWNvbk5hbWU6Imx1Y2lkZTp1c2VyIixhY3Rpb246aShhc3luYygpPT57dGhpcy5maWx0ZXJDcml0ZXJpYT17dXNlcjptLnVzZXJ9fSwiYWN0aW9uIil9LHtuYW1lOiJGaWx0ZXIgYnkgdHlwZSIsaWNvbk5hbWU6Imx1Y2lkZTpmaWx0ZXIiLGFjdGlvbjppKGFzeW5jKCk9Pnt0aGlzLmZpbHRlckNyaXRlcmlhPXt0eXBlOm0udHlwZX19LCJhY3Rpb24iKX0se25hbWU6IkNsZWFyIGZpbHRlcnMiLGljb25OYW1lOiJsdWNpZGU6eCIsYWN0aW9uOmkoYXN5bmMoKT0+e3RoaXMuZmlsdGVyQ3JpdGVyaWE9e30sdGhpcy5zZWFyY2hRdWVyeT0iIn0sImFjdGlvbiIpfV0pfXN0YXRpY3tlNihyLGEpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgT0d0PWMoKCk9PntyT2UoKX0pO3ZhciBCR3Q9YygoKT0+e30pO3ZhciBIR3Q9YygoKT0+e1AxKCl9KTt2YXIgcUd0PWMoKCk9Pnt9KTt2YXIgVkd0PWMoKCk9Pnt9KTt2YXIgakd0PWMoKCk9Pnt9KTt2YXIgb2w9YygoKT0+e0JHdCgpO0hHdCgpO3FHdCgpO1ZHdCgpO2pHdCgpfSk7dmFyIFVHdCxXR3Q9YygoKT0+e3BlKCk7UmEoKTtpT2UoKTtVR3Q9aSgoKT0+e2xldCB0PVt7bmFtZToiRmlsZSIsYWN0aW9uOmkoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJOZXcgRmlsZSIsc2hvcnRjdXQ6IkNtZCtOIixpY29uTmFtZToiZmlsZS1wbHVzIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiTmV3IGZpbGUiKSwiYWN0aW9uIil9LHtuYW1lOiJPcGVuLi4uIixzaG9ydGN1dDoiQ21kK08iLGljb25OYW1lOiJmb2xkZXItb3BlbiIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIk9wZW4iKSwiYWN0aW9uIil9LHtuYW1lOiJPcGVuIFJlY2VudCIsYWN0aW9uOmkoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJwcm9qZWN0LWFscGhhLnRzIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiByZWNlbnQgMSIpLCJhY3Rpb24iKX0se25hbWU6ImNvbmZpZy5qc29uIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiByZWNlbnQgMiIpLCJhY3Rpb24iKX0se25hbWU6InJlYWRtZS5tZCIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIk9wZW4gcmVjZW50IDMiKSwiYWN0aW9uIil9XX0se2RpdmlkZXI6ITB9LHtuYW1lOiJTYXZlIixzaG9ydGN1dDoiQ21kK1MiLGljb25OYW1lOiJzYXZlIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiU2F2ZSIpLCJhY3Rpb24iKX0se25hbWU6IlNhdmUgQXMuLi4iLHNob3J0Y3V0OiJDbWQrU2hpZnQrUyIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNhdmUgYXMiKSwiYWN0aW9uIiksZGlzYWJsZWQ6ITB9LHtkaXZpZGVyOiEwfSx7bmFtZToiRXhpdCIsc2hvcnRjdXQ6IkNtZCtRIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiRXhpdCIpLCJhY3Rpb24iKX1dfSx7bmFtZToiRWRpdCIsYWN0aW9uOmkoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJVbmRvIixzaG9ydGN1dDoiQ21kK1oiLGljb25OYW1lOiJ1bmRvIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiVW5kbyIpLCJhY3Rpb24iKX0se25hbWU6IlJlZG8iLHNob3J0Y3V0OiJDbWQrU2hpZnQrWiIsaWNvbk5hbWU6InJlZG8iLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJSZWRvIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkN1dCIsc2hvcnRjdXQ6IkNtZCtYIixpY29uTmFtZToic2Npc3NvcnMiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJDdXQiKSwiYWN0aW9uIil9LHtuYW1lOiJDb3B5IixzaG9ydGN1dDoiQ21kK0MiLGljb25OYW1lOiJjb3B5IixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiQ29weSIpLCJhY3Rpb24iKX0se25hbWU6IlBhc3RlIixzaG9ydGN1dDoiQ21kK1YiLGljb25OYW1lOiJjbGlwYm9hcmQiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJQYXN0ZSIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJGaW5kIixzaG9ydGN1dDoiQ21kK0YiLGljb25OYW1lOiJzZWFyY2giLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJGaW5kIiksImFjdGlvbiIpfSx7bmFtZToiUmVwbGFjZSIsc2hvcnRjdXQ6IkNtZCtIIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiUmVwbGFjZSIpLCJhY3Rpb24iKX1dfSx7bmFtZToiVmlldyIsYWN0aW9uOmkoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJUb2dnbGUgRnVsbHNjcmVlbiIsc2hvcnRjdXQ6IkYxMSIsaWNvbk5hbWU6ImV4cGFuZCIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIkZ1bGxzY3JlZW4iKSwiYWN0aW9uIil9LHtuYW1lOiJab29tIEluIixzaG9ydGN1dDoiQ21kKysiLGljb25OYW1lOiJ6b29tLWluIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiWm9vbSBpbiIpLCJhY3Rpb24iKX0se25hbWU6Ilpvb20gT3V0IixzaG9ydGN1dDoiQ21kKy0iLGljb25OYW1lOiJ6b29tLW91dCIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIlpvb20gb3V0IiksImFjdGlvbiIpfSx7bmFtZToiUmVzZXQgWm9vbSIsc2hvcnRjdXQ6IkNtZCswIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiUmVzZXQgem9vbSIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJUb2dnbGUgU2lkZWJhciIsc2hvcnRjdXQ6IkNtZCtCIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiVG9nZ2xlIHNpZGViYXIiKSwiYWN0aW9uIil9LHtuYW1lOiJUb2dnbGUgVGVybWluYWwiLHNob3J0Y3V0OiJDbWQrSiIsaWNvbk5hbWU6InRlcm1pbmFsIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiVG9nZ2xlIHRlcm1pbmFsIiksImFjdGlvbiIpfV19LHtuYW1lOiJIZWxwIixhY3Rpb246aShhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IkRvY3VtZW50YXRpb24iLGljb25OYW1lOiJib29rIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiRG9jdW1lbnRhdGlvbiIpLCJhY3Rpb24iKX0se25hbWU6IlJlbGVhc2UgTm90ZXMiLGljb25OYW1lOiJmaWxlLXRleHQiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJSZWxlYXNlIG5vdGVzIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IlJlcG9ydCBJc3N1ZSIsaWNvbk5hbWU6ImJ1ZyIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIlJlcG9ydCBpc3N1ZSIpLCJhY3Rpb24iKX0se25hbWU6IkFib3V0IixpY29uTmFtZToiaW5mbyIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIkFib3V0IiksImFjdGlvbiIpfV19XTtyZXR1cm4gd2AKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntsZXQgYT1lLnF1ZXJ5U2VsZWN0b3IoIiNhcHBiYXIiKSxyPWUucXVlcnlTZWxlY3RvckFsbCgiLnN0YXR1cy10b2dnbGUgZGVlcy1idXR0b24iKTtyWzBdLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2EudXNlcj17Li4uYS51c2VyLHN0YXR1czoib25saW5lIn19KSxyWzFdLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2EudXNlcj17Li4uYS51c2VyLHN0YXR1czoiYnVzeSJ9fSksclsyXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PnthLnVzZXI9ey4uLmEudXNlcixzdGF0dXM6ImF3YXkifX0pLHJbM10uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57YS51c2VyPXsuLi5hLnVzZXIsc3RhdHVzOiJvZmZsaW5lIn19KSxlLnF1ZXJ5U2VsZWN0b3IoIi53aW5kb3ctY29udHJvbHMtdG9nZ2xlIGRlZXMtYnV0dG9uIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57YS5zaG93V2luZG93Q29udHJvbHM9IWEuc2hvd1dpbmRvd0NvbnRyb2xzfSk7bGV0IG49ZS5xdWVyeVNlbGVjdG9yQWxsKCIuYnJlYWRjcnVtYi10b2dnbGUgZGVlcy1idXR0b24iKTtuWzBdLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2EuYnJlYWRjcnVtYnM9IkhvbWUgPiBEb2N1bWVudHMgPiBQcm9qZWN0cyA+IE15QXBwID4gc3JjID4gaW5kZXgudHMifSksblsxXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PnthLmJyZWFkY3J1bWJzPSJEYXNoYm9hcmQifSl9fT4KICAgICAgPHN0eWxlPgogICAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgaGVpZ2h0OiA2MDBweDsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgYmFja2dyb3VuZDogIzFhMWExYTsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29udGVudCB7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgIGNvbG9yOiAjY2NjOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29udHJvbHMgewogICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jb250cm9sLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jb250cm9sLWdyb3VwIGxhYmVsIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGNvbG9yOiAjODg4OwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtYXBwdWktYXBwYmFyCiAgICAgICAgaWQ9ImFwcGJhciIKICAgICAgICAubWVudUl0ZW1zPSR7dH0KICAgICAgICAuYnJlYWRjcnVtYnM9JHsiUHJvamVjdCA+IHNyYyA+IGNvbXBvbmVudHMgPiBBcHBCYXIudHMifQogICAgICAgIC5icmVhZGNydW1iU2VwYXJhdG9yPSR7IiA+ICJ9CiAgICAgICAgLnNob3dXaW5kb3dDb250cm9scz0keyEwfQogICAgICAgIC5zaG93U2VhcmNoPSR7ITB9CiAgICAgICAgLnRoZW1lPSR7ImRhcmsifQogICAgICAgIC51c2VyPSR7e25hbWU6IkpvaG4gRG9lIixzdGF0dXM6Im9ubGluZSJ9fQogICAgICAgIEBtZW51LXNlbGVjdD0ke2U9PmNvbnNvbGUubG9nKCJNZW51IHNlbGVjdGVkOiIsZS5kZXRhaWwuaXRlbSl9CiAgICAgICAgQGJyZWFkY3J1bWItbmF2aWdhdGU9JHtlPT5jb25zb2xlLmxvZygiQnJlYWRjcnVtYiBjbGlja2VkOiIsZS5kZXRhaWwpfQogICAgICAgIEBzZWFyY2gtY2xpY2s9JHsoKT0+Y29uc29sZS5sb2coIlNlYXJjaCBjbGlja2VkIil9CiAgICAgICAgQHVzZXItbWVudS1vcGVuPSR7KCk9PmNvbnNvbGUubG9nKCJVc2VyIG1lbnUgY2xpY2tlZCIpfQogICAgICA+PC9kZWVzLWFwcHVpLWFwcGJhcj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgogICAgICAgIDxoMj5BcHAgQmFyIERlbW88L2gyPgogICAgICAgIDxwPlRoaXMgZGVtbyBzaG93cyB2YXJpb3VzIGZlYXR1cmVzIG9mIHRoZSBhcHAgYmFyIGNvbXBvbmVudDo8L3A+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPkR5bmFtaWMgbWVudSBpdGVtcyB3aXRoIGljb25zLCBzaG9ydGN1dHMsIGFuZCBzdWJtZW51czwvbGk+CiAgICAgICAgICA8bGk+QnJlYWRjcnVtYiBuYXZpZ2F0aW9uPC9saT4KICAgICAgICAgIDxsaT5Vc2VyIGFjY291bnQgc2VjdGlvbiB3aXRoIHN0YXR1cyBpbmRpY2F0b3I8L2xpPgogICAgICAgICAgPGxpPlNlYXJjaCBpY29uPC9saT4KICAgICAgICAgIDxsaT5XaW5kb3cgY29udHJvbHMgKHBsYXRmb3JtLXNwZWNpZmljKTwvbGk+CiAgICAgICAgICA8bGk+RGFyay9saWdodCB0aGVtZSBzdXBwb3J0PC9saT4KICAgICAgICAgIDxsaT5LZXlib2FyZCBuYXZpZ2F0aW9uIChUYWIsIEVudGVyLCBFc2NhcGUpPC9saT4KICAgICAgICAgIDxsaT5DdXN0b20gZXZlbnRzIGZvciBhbGwgaW50ZXJhY3Rpb25zPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWdyb3VwIj4KICAgICAgICAgIDxsYWJlbD5UaGVtZTwvbGFiZWw+CiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgY2xhc3M9InRoZW1lLXRvZ2dsZSI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5EYXJrPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkxpZ2h0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ncm91cCI+CiAgICAgICAgICA8bGFiZWw+VXNlciBTdGF0dXM8L2xhYmVsPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGNsYXNzPSJzdGF0dXMtdG9nZ2xlIj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPk9ubGluZTwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5CdXN5PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkF3YXk8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+T2ZmbGluZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtZ3JvdXAiPgogICAgICAgICAgPGxhYmVsPldpbmRvdyBDb250cm9sczwvbGFiZWw+CiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgY2xhc3M9IndpbmRvdy1jb250cm9scy10b2dnbGUiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+VG9nZ2xlPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ncm91cCI+CiAgICAgICAgICA8bGFiZWw+QnJlYWRjcnVtYnM8L2xhYmVsPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGNsYXNzPSJicmVhZGNydW1iLXRvZ2dsZSI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5Mb25nIFBhdGg8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+U2hvcnQgUGF0aDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIEdHdCxZR3Q9YygoKT0+e3BlKCk7R0d0PVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIC8qIENTUyBWYXJpYWJsZXMgZm9yIHRoZW1pbmcgKi8KICAgICAgICAtLWFwcGJhci1oZWlnaHQ6IDQwcHg7CiAgICAgICAgLS1hcHBiYXItZm9udC1zaXplOiAxMnB4OwogICAgICAgIAogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IHZhcigtLWFwcGJhci1oZWlnaHQpOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2UwZTBlMCIsIiMyMDIwMjAiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDAwMDAwIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzAwMDAwMDgwIiwiI2ZmZmZmZjgwIil9OwogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tYXBwYmFyLWZvbnQtc2l6ZSk7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87CiAgICAgICAgLXdlYmtpdC1hcHAtcmVnaW9uOiBkcmFnOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAubWVudXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbSB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDBweCAxMnB4OwogICAgICAgIG1hcmdpbjogOHB4IDBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgLXdlYmtpdC1hcHAtcmVnaW9uOiBuby1kcmFnOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAvKiBPcHRpb25hbDogU3R5bGUgZm9yIG1lbnUgaXRlbXMgd2l0aCBpY29ucyAobm90IHR5cGljYWxseSB1c2VkIGZvciB0b3AtbGV2ZWwgaXRlbXMpICovCiAgICAgIC5tZW51SXRlbSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMwMDAwMDAxMCIsIiNmZmZmZmYyMCIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwMDAwMDAiLCIjZmZmZmZmIil9OwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzAwMDAwMDIwIiwiI2ZmZmZmZjMwIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbVtkaXNhYmxlZF0gewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAubWVudUl0ZW06Zm9jdXMtdmlzaWJsZSB7CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7ZC5iZFRoZW1lKCIjMDAwMDAwODAiLCIjZmZmZmZmODAiKX07CiAgICAgIH0KCgogICAgICAvKiBEcm9wZG93biBzdHlsZXMgKi8KICAgICAgLmRyb3Bkb3duIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwMDAwMDAiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlMGUwZTAiLCIjMjAyMDIwIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBib3gtc2hhZG93OiAke2QuYmRUaGVtZSgiMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpIiwiMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycywgdHJhbnNmb3JtIDAuMnM7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi5vcGVuIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLWl0ZW0gewogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzOwogICAgICB9CgogICAgICAuZHJvcGRvd24taXRlbTpob3ZlciwKICAgICAgLmRyb3Bkb3duLWl0ZW0uZm9jdXNlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMwMDAwMDAxMCIsIiNmZmZmZmYyMCIpfTsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLWRpdmlkZXIgewogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZTBlMGUwIiwiIzIwMjAyMCIpfTsKICAgICAgICBtYXJnaW46IDRweCAwOwogICAgICB9CgogICAgICAuZHJvcGRvd24taXRlbVtkaXNhYmxlZF0gewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuZHJvcGRvd24taXRlbSAuc2hvcnRjdXQgewogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgIH0KCiAgICAgIC8qIEJyZWFkY3J1bWJzICovCiAgICAgIC5icmVhZGNydW1icyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuYnJlYWRjcnVtYi1pdGVtIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwMDAwMDA4MCIsIiNmZmZmZmY4MCIpfTsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4yczsKICAgICAgfQoKICAgICAgLmJyZWFkY3J1bWItaXRlbTpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDAwMDAwIiwiI2ZmZmZmZiIpfTsKICAgICAgfQoKICAgICAgLmJyZWFkY3J1bWItc2VwYXJhdG9yIHsKICAgICAgICBtYXJnaW46IDAgOHB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLyogQWNjb3VudCBzZWN0aW9uICovCiAgICAgIC5hY2NvdW50IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuc2VhcmNoLWljb24gewogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzOwogICAgICB9CgogICAgICAuc2VhcmNoLWljb246aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC51c2VyLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzOwogICAgICB9CgogICAgICAudXNlci1pbmZvOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzAwMDAwMDEwIiwiI2ZmZmZmZjIwIil9OwogICAgICB9CgogICAgICAudXNlci1hdmF0YXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjMDAwMDAwMjAiLCIjZmZmZmZmMzAiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQoKICAgICAgLnVzZXItYXZhdGFyIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAtMnB4OwogICAgICAgIHJpZ2h0OiAtMnB4OwogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzLm9ubGluZSB7CiAgICAgICAgYmFja2dyb3VuZDogIzRjYWY1MDsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzLm9mZmxpbmUgewogICAgICAgIGJhY2tncm91bmQ6ICM3NTc1NzU7CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cy5idXN5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjQ0MzM2OwogICAgICB9CgogICAgICAudXNlci1zdGF0dXMuYXdheSB7CiAgICAgICAgYmFja2dyb3VuZDogI2ZmOTgwMDsKICAgICAgfQoKICAgICAgLyogQWN0aXZpdHkgbG9nIHRvZ2dsZSBidXR0b24gKi8KICAgICAgLmFjdGl2aXR5LXRvZ2dsZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMnB4OwogICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIC13ZWJraXQtYXBwLXJlZ2lvbjogbm8tZHJhZzsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwMDAwMDA2MCIsIiNmZmZmZmY2MCIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjEpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuYWN0aXZpdHktdG9nZ2xlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzAwMDAwMDEwIiwiI2ZmZmZmZjE1Iil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LXRvZ2dsZS5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjMDAwMDAwMTUiLCIjZmZmZmZmMjAiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDAwMDAwIiwiI2ZmZmZmZiIpfTsKICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuYWN0aXZpdHktdG9nZ2xlIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICAuYWN0aXZpdHktYmFkZ2UgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW4tbGVmdDogNHB4OwogICAgICAgIG1pbi13aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMCA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiM1MjUyNTIiLCIjNTI1MjUyIil9OwogICAgICAgIGNvbG9yOiAjZmFmYWZhOwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIH0KICAgIGBdfSk7dmFyIFpHdCxYR3Q9YygoKT0+e3BlKCk7Wkd0PWkodD0+d2AKICAgICAgICA8ZGl2IGNsYXNzPSJtZW51cyI+CiAgICAgICAgICAke3Quc2hvd1dpbmRvd0NvbnRyb2xzP3dgPGRlZXMtd2luZG93Y29udHJvbHM+PC9kZWVzLXdpbmRvd2NvbnRyb2xzPmA6IiJ9CiAgICAgICAgICAke3QucmVuZGVyTWVudUl0ZW1zKCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYnJlYWRjcnVtYnMiPgogICAgICAgICAgJHt0LnJlbmRlckJyZWFkY3J1bWJzKCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3VudCI+CiAgICAgICAgICAke3QucmVuZGVyQWNjb3VudFNlY3Rpb24oKX0KICAgICAgICA8L2Rpdj4KICAgICAgYCwicmVuZGVyQXBwdWlBcHBiYXIiKX0pO3ZhciBzT2Usak8sS0d0LG9PZT1jKCgpPT57cGUoKTtYZSgpO3NPZT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sak89ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LEtHdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtd2luZG93Y29udHJvbHMiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXTt2YXIgcD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc1dpbmRvd0NvbnRyb2xzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGc9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7cmVmbGVjdDohMH0pXSxoPVtMKHtyZWZsZWN0OiEwfSldLHNPZSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+InR5cGUiaW4gdiwiaGFzIiksZ2V0Omkodj0+di50eXBlLCJnZXQiKSxzZXQ6aSgodix4KT0+e3YudHlwZT14fSwic2V0Iil9LG1ldGFkYXRhOmd9LG8sbCksc09lKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+InBvc2l0aW9uImluIHYsImhhcyIpLGdldDppKHY9PnYucG9zaXRpb24sImdldCIpLHNldDppKCh2LHgpPT57di5wb3NpdGlvbj14fSwic2V0Iil9LG1ldGFkYXRhOmd9LHUsZiksc09lKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmd9LG51bGwsYSkscD1yPWUudmFsdWUsZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpnfSl9c3RhdGljIGRlbW89aSgoKT0+d2A8ZGVlcy13aW5kb3djb250cm9scz48L2RlZXMtd2luZG93Y29udHJvbHM+YCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiVXRpbGl0eSJdOyNlPWpPKHRoaXMsbywibWFjIik7Z2V0IHR5cGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdHlwZShnKXt0aGlzLiNlPWd9I3Q9KGpPKHRoaXMsbCksak8odGhpcyx1LCJsZWZ0IikpO2dldCBwb3NpdGlvbigpe3JldHVybiB0aGlzLiN0fXNldCBwb3NpdGlvbihnKXt0aGlzLiN0PWd9c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7CiAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDsKICAgICAgfQoKICAgICAgLndpbmRvd0NvbnRyb2xzIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLndpbmRvd0NvbnRyb2xzIGRpdiB7CiAgICAgICAgd2lkdGg6IDEycHg7CiAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgbWFyZ2luOiAwcHg7CiAgICAgICAgcGFkZGluZzogMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICMyMjIyMjI7CiAgICAgIH0KCiAgICAgIC53aW5kb3dDb250cm9scyBkaXYuY2xvc2UgewogICAgICAgIGJhY2tncm91bmQ6ICNmZjVmNTc7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OwogICAgICB9CgogICAgICAud2luZG93Q29udHJvbHMgZGl2LnRvRG9jayB7CiAgICAgICAgYmFja2dyb3VuZDogI2ZmYmQyZTsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7CiAgICAgIH0KCiAgICAgIC53aW5kb3dDb250cm9scyBkaXYubWluTWF4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMjdjOTNmOwogICAgICB9CgogICAgICAud2luZG93Q29udHJvbHMgZGl2OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLnR5cGU9PT0ibWFjIiYmdGhpcy5wb3NpdGlvbj09PSJsZWZ0Inx8KHRoaXMudHlwZT09PSJsaW51eCJ8fHRoaXMudHlwZT09PSJ3aW5kb3dzIikmJnRoaXMucG9zaXRpb249PT0icmlnaHQiP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9IndpbmRvd0NvbnRyb2xzIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbG9zZSI+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9Eb2NrIj48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtaW5NYXgiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6d2BgfQogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksak8odGhpcyxmKX1zdGF0aWN7ak8ocixhKX19O3JldHVybiBwPXJ9KSgpfSk7dmFyIFVPLFRvLFFHdCxuT2U9YygoKT0+e1AxKCk7amkoKTtwZSgpO1hlKCk7VU89ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LFRvPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxRR3Q9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLWFwcHVpLXByb2ZpbGVkcm9wZG93biIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzQXBwdWlQcm9maWxlRHJvcGRvd24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk9iamVjdH0pXSxoPVtMKHt0eXBlOkFycmF5fSldLHA9W0woe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLHg9W0woe3R5cGU6U3RyaW5nfSldLFVPKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidXNlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4idXNlciJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLnVzZXIsImdldCIpLHNldDppKChrLEUpPT57ay51c2VyPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbyxsKSxVTyh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1lbnVJdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4ibWVudUl0ZW1zImluIGssImhhcyIpLGdldDppKGs9PmsubWVudUl0ZW1zLCJnZXQiKSxzZXQ6aSgoayxFKT0+e2subWVudUl0ZW1zPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sdSxmKSxVTyh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzT3BlbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4iaXNPcGVuImluIGssImhhcyIpLGdldDppKGs9PmsuaXNPcGVuLCJnZXQiKSxzZXQ6aSgoayxFKT0+e2suaXNPcGVuPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sZyx2KSxVTyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGs9PiJwb3NpdGlvbiJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLnBvc2l0aW9uLCJnZXQiKSxzZXQ6aSgoayxFKT0+e2sucG9zaXRpb249RX0sInNldCIpfSxtZXRhZGF0YTpNfSxiLG0pLFVPKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsYSkseT1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9c3RhdGljIGRlbW89aSgoKT0+d2AKICAgIDxkZWVzLWFwcHVpLXByb2ZpbGVkcm9wZG93bgogICAgICAudXNlcj0ke3tuYW1lOiJKb2huIERvZSIsZW1haWw6ImpvaG4uZG9lQGV4YW1wbGUuY29tIixhdmF0YXI6Imh0dHBzOi8vcmFuZG9tdXNlci5tZS9hcGkvcG9ydHJhaXRzL21lbi8xLmpwZyIsc3RhdHVzOiJvbmxpbmUifX0KICAgICAgLm1lbnVJdGVtcz0ke1t7bmFtZToiUHJvZmlsZSBTZXR0aW5ncyIsaWNvbk5hbWU6InVzZXIiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJQcm9maWxlIiksImFjdGlvbiIpfSx7bmFtZToiQWNjb3VudCIsaWNvbk5hbWU6InNldHRpbmdzIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiQWNjb3VudCIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJIZWxwICYgU3VwcG9ydCIsaWNvbk5hbWU6ImhlbHBDaXJjbGUiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJIZWxwIiksImFjdGlvbiIpfSx7bmFtZToiS2V5Ym9hcmQgU2hvcnRjdXRzIixpY29uTmFtZToia2V5Ym9hcmQiLHNob3J0Y3V0OiJDbWQrSyIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNob3J0Y3V0cyIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJTaWduIE91dCIsaWNvbk5hbWU6ImxvZ091dCIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNpZ24gb3V0IiksImFjdGlvbiIpfV19CiAgICAgIC5pc09wZW49JHshMH0KICAgID48L2RlZXMtYXBwdWktcHJvZmlsZWRyb3Bkb3duPgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdOyNlPVRvKHRoaXMsbyx2b2lkIDApO2dldCB1c2VyKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHVzZXIoTSl7dGhpcy4jZT1NfSN0PShUbyh0aGlzLGwpLFRvKHRoaXMsdSxbXSkpO2dldCBtZW51SXRlbXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbWVudUl0ZW1zKE0pe3RoaXMuI3Q9TX0jYT0oVG8odGhpcyxmKSxUbyh0aGlzLGcsITEpKTtnZXQgaXNPcGVuKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGlzT3BlbihNKXt0aGlzLiNhPU19I3I9KFRvKHRoaXMsdiksVG8odGhpcyxiLCJ0b3AtcmlnaHQiKSk7Z2V0IHBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHBvc2l0aW9uKE0pe3RoaXMuI3I9TX1zdGF0aWMgc3R5bGVzPVtEZSxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbWluLXdpZHRoOiAyMjBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwMDAwMDAiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlMGUwZTAiLCIjMjAyMDIwIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBib3gtc2hhZG93OiAke2QuYmRUaGVtZSgiMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpIiwiMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgICAgICAgei1pbmRleDogJHtBMS5vdmVybGF5LmRyb3Bkb3dufTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSkgdHJhbnNsYXRlWSgtMTBweCk7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzLCB0cmFuc2Zvcm0gMC4yczsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2lzb3Blbl0pIC5kcm9wZG93biB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIC5iYWNrZHJvcCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogUG9zaXRpb24gdmFyaWFudHMgKi8KICAgICAgLmRyb3Bkb3duLnRvcC1yaWdodCB7CiAgICAgICAgdG9wOiAxMDAlOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLnRvcC1sZWZ0IHsKICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi5ib3R0b20tcmlnaHQgewogICAgICAgIGJvdHRvbTogMTAwJTsKICAgICAgICByaWdodDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi5ib3R0b20tbGVmdCB7CiAgICAgICAgYm90dG9tOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAvKiBVc2VyIHNlY3Rpb24gKi8KICAgICAgLnVzZXItc2VjdGlvbiB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlMGUwZTAiLCIjMjAyMDIwIil9OwogICAgICB9CgogICAgICAudXNlci1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICB9CgogICAgICAudXNlci1hdmF0YXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjBmMGYwIiwiIzFhMWExYSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNjY2IiwiIzk5OSIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAudXNlci1hdmF0YXIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICB3aWR0aDogMTBweDsKICAgICAgICBoZWlnaHQ6IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzLm9ubGluZSB7CiAgICAgICAgYmFja2dyb3VuZDogIzRjYWY1MDsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzLm9mZmxpbmUgewogICAgICAgIGJhY2tncm91bmQ6ICM3NTc1NzU7CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cy5idXN5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjQ0MzM2OwogICAgICB9CgogICAgICAudXNlci1zdGF0dXMuYXdheSB7CiAgICAgICAgYmFja2dyb3VuZDogI2ZmOTgwMDsKICAgICAgfQoKICAgICAgLnVzZXItZGV0YWlscyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC51c2VyLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzAwMCIsIiNmZmYiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAudXNlci1lbWFpbCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzY2NiIsIiM5OTkiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLyogTWVudSBzZWN0aW9uICovCiAgICAgIC5tZW51LXNlY3Rpb24gewogICAgICAgIHBhZGRpbmc6IDRweCAwOwogICAgICB9CgogICAgICAubWVudS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xczsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzMzMiLCIjY2NjIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLm1lbnUtaXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICB9CgogICAgICAubWVudS1pdGVtOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpIil9OwogICAgICB9CgogICAgICAubWVudS1pdGVtIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQoKICAgICAgLm1lbnUtaXRlbS10ZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAubWVudS1zaG9ydGN1dCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzk5OSIsIiM2NjYiKX07CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAubWVudS1kaXZpZGVyIHsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2UwZTBlMCIsIiMyMDIwMjAiKX07CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgfQoKICAgICAgLyogQmFja2Ryb3AgZm9yIG1vYmlsZSAqLwogICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAuYmFja2Ryb3AgewogICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgdG9wOiAwOwogICAgICAgICAgbGVmdDogMDsKICAgICAgICAgIHJpZ2h0OiAwOwogICAgICAgICAgYm90dG9tOiAwOwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgICAgICAgei1pbmRleDogJHtBMS5iYWNrZHJvcC5kcm9wZG93bn07CiAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzOwogICAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICB9CgogICAgICAgIDpob3N0KFtpc29wZW5dKSAuYmFja2Ryb3AgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgfQoKICAgICAgICAuZHJvcGRvd24gewogICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgICByaWdodDogYXV0bzsKICAgICAgICAgIGJvdHRvbTogYXV0bzsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDAuOTUpOwogICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7CiAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzJweCk7CiAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIDpob3N0KFtpc29wZW5dKSAuZHJvcGRvd24gewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7CiAgICAgICAgfQogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iYmFja2Ryb3AiIEBjbGljaz0keygpPT50aGlzLmNsb3NlKCl9PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93biAke3RoaXMucG9zaXRpb259Ij4KICAgICAgICAke3RoaXMudXNlcj93YAogICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1pbmZvIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1c2VyLWF2YXRhciI+CiAgICAgICAgICAgICAgICAke3RoaXMudXNlci5hdmF0YXI/d2A8aW1nIHNyYz0iJHt0aGlzLnVzZXIuYXZhdGFyfSIgYWx0PSIke3RoaXMudXNlci5uYW1lfSI+YDp0aGlzLmdldEluaXRpYWxzKHRoaXMudXNlci5uYW1lKX0KICAgICAgICAgICAgICAgICR7dGhpcy51c2VyLnN0YXR1cz93YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1c2VyLXN0YXR1cyAke3RoaXMudXNlci5zdGF0dXN9Ij48L2Rpdj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1kZXRhaWxzIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InVzZXItbmFtZSI+JHt0aGlzLnVzZXIubmFtZX08L2Rpdj4KICAgICAgICAgICAgICAgICR7dGhpcy51c2VyLmVtYWlsP3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InVzZXItZW1haWwiPiR7dGhpcy51c2VyLmVtYWlsfTwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im1lbnUtc2VjdGlvbiI+CiAgICAgICAgICAke3RoaXMubWVudUl0ZW1zLm1hcChNPT50aGlzLnJlbmRlck1lbnVJdGVtKE0pKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlck1lbnVJdGVtKE0pe2lmKCJkaXZpZGVyImluIE0mJk0uZGl2aWRlcilyZXR1cm4gd2A8ZGl2IGNsYXNzPSJtZW51LWRpdmlkZXIiPjwvZGl2PmA7bGV0IGs9TTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibWVudS1pdGVtIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVNZW51Q2xpY2soayl9PgogICAgICAgICR7ay5pY29uTmFtZT93YAogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHtgbHVjaWRlOiR7ay5pY29uTmFtZX1gfSI+PC9kZWVzLWljb24+CiAgICAgICAgYDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0ibWVudS1pdGVtLXRleHQiPiR7ay5uYW1lfTwvc3Bhbj4KICAgICAgICAke2suc2hvcnRjdXQ/d2AKICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZW51LXNob3J0Y3V0Ij4ke2suc2hvcnRjdXR9PC9zcGFuPgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1nZXRJbml0aWFscyhNKXtyZXR1cm4gTS5zcGxpdCgiICIpLm1hcChrPT5rWzBdKS5qb2luKCIiKS50b1VwcGVyQ2FzZSgpLnNsaWNlKDAsMil9YXN5bmMgaGFuZGxlTWVudUNsaWNrKE0pe2F3YWl0IE0uYWN0aW9uKCksdGhpcy5jbG9zZSgpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm1lbnUtc2VsZWN0Iix7ZGV0YWlsOntpdGVtOk19LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9b3Blbigpe3RoaXMuaXNPcGVuPSEwfWNsb3NlKCl7dGhpcy5pc09wZW49ITF9dG9nZ2xlKCl7dGhpcy5pc09wZW49IXRoaXMuaXNPcGVufWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmhhbmRsZU91dHNpZGVDbGljaz10aGlzLmhhbmRsZU91dHNpZGVDbGljay5iaW5kKHRoaXMpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZU91dHNpZGVDbGljayl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZU91dHNpZGVDbGljayl9aGFuZGxlT3V0c2lkZUNsaWNrKE0pe2lmKHRoaXMuaXNPcGVuJiYhdGhpcy5jb250YWlucyhNLnRhcmdldCkpe2xldCBrPXRoaXMucGFyZW50RWxlbWVudDtpZihrJiZrLmNvbnRhaW5zKE0udGFyZ2V0KSlyZXR1cm47dGhpcy5jbG9zZSgpfX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksVG8odGhpcyxtKX1zdGF0aWN7VG8ocixhKX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIFNyLGNhLEpHdCxpT2U9YygoKT0+e3BlKCk7SXQoKTtvbCgpO1AxKCk7V0d0KCk7WUd0KCk7WEd0KCk7S3QoKTtvT2UoKTtuT2UoKTtTcj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sY2E9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LEpHdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtYXBwdWktYXBwYmFyIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W10sTiwkPVtdLEk9W10saixTPVtdLHo9W10sRCxUPVtdLEE9W10sVSxSPVtdLHE9W10sb2UsTz1bXSxyZT1bXSx5ZSxCPVtdLGVlPVtdLENlLFk9W10sUD1bXSxILEc9W10sVz1bXSxzZSx6ZT1bXSxNZT1bXTt2YXIgRWU9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNBcHB1aUJhciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBWPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6QXJyYXl9KV0saD1bTCh7dHlwZTpTdHJpbmd9KV0scD1bTCh7dHlwZTpTdHJpbmd9KV0seD1bTCh7dHlwZTpCb29sZWFufSldLHk9W0woe3R5cGU6T2JqZWN0fSldLEU9W0woe3R5cGU6QXJyYXl9KV0sTj1bTCh7dHlwZTpCb29sZWFufSldLGo9W0woe3R5cGU6Qm9vbGVhbn0pXSxEPVtMKHt0eXBlOk51bWJlcn0pXSxVPVtMKHt0eXBlOkJvb2xlYW59KV0sb2U9W1ooKV0seWU9W1ooKV0sQ2U9W1ooKV0sSD1bWigpXSxzZT1bWigpXSxTcih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1lbnVJdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShGPT4ibWVudUl0ZW1zImluIEYsImhhcyIpLGdldDppKEY9PkYubWVudUl0ZW1zLCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLm1lbnVJdGVtcz1uZX0sInNldCIpfSxtZXRhZGF0YTpWfSxvLGwpLFNyKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYnJlYWRjcnVtYnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+ImJyZWFkY3J1bWJzImluIEYsImhhcyIpLGdldDppKEY9PkYuYnJlYWRjcnVtYnMsImdldCIpLHNldDppKChGLG5lKT0+e0YuYnJlYWRjcnVtYnM9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sdSxmKSxTcih0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJyZWFkY3J1bWJTZXBhcmF0b3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+ImJyZWFkY3J1bWJTZXBhcmF0b3IiaW4gRiwiaGFzIiksZ2V0OmkoRj0+Ri5icmVhZGNydW1iU2VwYXJhdG9yLCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLmJyZWFkY3J1bWJTZXBhcmF0b3I9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sZyx2KSxTcih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dXaW5kb3dDb250cm9scyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShGPT4ic2hvd1dpbmRvd0NvbnRyb2xzImluIEYsImhhcyIpLGdldDppKEY9PkYuc2hvd1dpbmRvd0NvbnRyb2xzLCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLnNob3dXaW5kb3dDb250cm9scz1uZX0sInNldCIpfSxtZXRhZGF0YTpWfSxiLG0pLFNyKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidXNlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShGPT4idXNlciJpbiBGLCJoYXMiKSxnZXQ6aShGPT5GLnVzZXIsImdldCIpLHNldDppKChGLG5lKT0+e0YudXNlcj1uZX0sInNldCIpfSxtZXRhZGF0YTpWfSxNLGspLFNyKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicHJvZmlsZU1lbnVJdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShGPT4icHJvZmlsZU1lbnVJdGVtcyJpbiBGLCJoYXMiKSxnZXQ6aShGPT5GLnByb2ZpbGVNZW51SXRlbXMsImdldCIpLHNldDppKChGLG5lKT0+e0YucHJvZmlsZU1lbnVJdGVtcz1uZX0sInNldCIpfSxtZXRhZGF0YTpWfSxfLEMpLFNyKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1NlYXJjaCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShGPT4ic2hvd1NlYXJjaCJpbiBGLCJoYXMiKSxnZXQ6aShGPT5GLnNob3dTZWFyY2gsImdldCIpLHNldDppKChGLG5lKT0+e0Yuc2hvd1NlYXJjaD1uZX0sInNldCIpfSxtZXRhZGF0YTpWfSwkLEkpLFNyKHRoaXMsbnVsbCxqLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0FjdGl2aXR5TG9nVG9nZ2xlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEY9PiJzaG93QWN0aXZpdHlMb2dUb2dnbGUiaW4gRiwiaGFzIiksZ2V0OmkoRj0+Ri5zaG93QWN0aXZpdHlMb2dUb2dnbGUsImdldCIpLHNldDppKChGLG5lKT0+e0Yuc2hvd0FjdGl2aXR5TG9nVG9nZ2xlPW5lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LFMseiksU3IodGhpcyxudWxsLEQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpdml0eUxvZ0NvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEY9PiJhY3Rpdml0eUxvZ0NvdW50ImluIEYsImhhcyIpLGdldDppKEY9PkYuYWN0aXZpdHlMb2dDb3VudCwiZ2V0Iiksc2V0OmkoKEYsbmUpPT57Ri5hY3Rpdml0eUxvZ0NvdW50PW5lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LFQsQSksU3IodGhpcyxudWxsLFUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpdml0eUxvZ0FjdGl2ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShGPT4iYWN0aXZpdHlMb2dBY3RpdmUiaW4gRiwiaGFzIiksZ2V0OmkoRj0+Ri5hY3Rpdml0eUxvZ0FjdGl2ZSwiZ2V0Iiksc2V0OmkoKEYsbmUpPT57Ri5hY3Rpdml0eUxvZ0FjdGl2ZT1uZX0sInNldCIpfSxtZXRhZGF0YTpWfSxSLHEpLFNyKHRoaXMsbnVsbCxvZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2ZU1lbnUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+ImFjdGl2ZU1lbnUiaW4gRiwiaGFzIiksZ2V0OmkoRj0+Ri5hY3RpdmVNZW51LCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLmFjdGl2ZU1lbnU9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sTyxyZSksU3IodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3BlbkRyb3Bkb3ducyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShGPT4ib3BlbkRyb3Bkb3ducyJpbiBGLCJoYXMiKSxnZXQ6aShGPT5GLm9wZW5Ecm9wZG93bnMsImdldCIpLHNldDppKChGLG5lKT0+e0Yub3BlbkRyb3Bkb3ducz1uZX0sInNldCIpfSxtZXRhZGF0YTpWfSxCLGVlKSxTcih0aGlzLG51bGwsQ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmb2N1c2VkSXRlbSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShGPT4iZm9jdXNlZEl0ZW0iaW4gRiwiaGFzIiksZ2V0OmkoRj0+Ri5mb2N1c2VkSXRlbSwiZ2V0Iiksc2V0OmkoKEYsbmUpPT57Ri5mb2N1c2VkSXRlbT1uZX0sInNldCIpfSxtZXRhZGF0YTpWfSxZLFApLFNyKHRoaXMsbnVsbCxILHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZm9jdXNlZERyb3Bkb3duSXRlbSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShGPT4iZm9jdXNlZERyb3Bkb3duSXRlbSJpbiBGLCJoYXMiKSxnZXQ6aShGPT5GLmZvY3VzZWREcm9wZG93bkl0ZW0sImdldCIpLHNldDppKChGLG5lKT0+e0YuZm9jdXNlZERyb3Bkb3duSXRlbT1uZX0sInNldCIpfSxtZXRhZGF0YTpWfSxHLFcpLFNyKHRoaXMsbnVsbCxzZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzUHJvZmlsZURyb3Bkb3duT3BlbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShGPT4iaXNQcm9maWxlRHJvcGRvd25PcGVuImluIEYsImhhcyIpLGdldDppKEY9PkYuaXNQcm9maWxlRHJvcGRvd25PcGVuLCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLmlzUHJvZmlsZURyb3Bkb3duT3Blbj1uZX0sInNldCIpfSxtZXRhZGF0YTpWfSx6ZSxNZSksU3IobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Vn0sbnVsbCxhKSxFZT1yPWUudmFsdWUsViYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpWfSl9c3RhdGljIGRlbW89VUd0O3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9Y2EodGhpcyxvLFtdKTtnZXQgbWVudUl0ZW1zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IG1lbnVJdGVtcyhWKXt0aGlzLiNlPVZ9I3Q9KGNhKHRoaXMsbCksY2EodGhpcyx1LCIiKSk7Z2V0IGJyZWFkY3J1bWJzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGJyZWFkY3J1bWJzKFYpe3RoaXMuI3Q9Vn0jYT0oY2EodGhpcyxmKSxjYSh0aGlzLGcsIiA+ICIpKTtnZXQgYnJlYWRjcnVtYlNlcGFyYXRvcigpe3JldHVybiB0aGlzLiNhfXNldCBicmVhZGNydW1iU2VwYXJhdG9yKFYpe3RoaXMuI2E9Vn0jcj0oY2EodGhpcyx2KSxjYSh0aGlzLGIsITApKTtnZXQgc2hvd1dpbmRvd0NvbnRyb2xzKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHNob3dXaW5kb3dDb250cm9scyhWKXt0aGlzLiNyPVZ9I2k9KGNhKHRoaXMsbSksY2EodGhpcyxNLHZvaWQgMCkpO2dldCB1c2VyKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHVzZXIoVil7dGhpcy4jaT1WfSNzPShjYSh0aGlzLGspLGNhKHRoaXMsXyxbXSkpO2dldCBwcm9maWxlTWVudUl0ZW1zKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHByb2ZpbGVNZW51SXRlbXMoVil7dGhpcy4jcz1WfSNvPShjYSh0aGlzLEMpLGNhKHRoaXMsJCwhMSkpO2dldCBzaG93U2VhcmNoKCl7cmV0dXJuIHRoaXMuI299c2V0IHNob3dTZWFyY2goVil7dGhpcy4jbz1WfSNuPShjYSh0aGlzLEkpLGNhKHRoaXMsUywhMSkpO2dldCBzaG93QWN0aXZpdHlMb2dUb2dnbGUoKXtyZXR1cm4gdGhpcy4jbn1zZXQgc2hvd0FjdGl2aXR5TG9nVG9nZ2xlKFYpe3RoaXMuI249Vn0jbD0oY2EodGhpcyx6KSxjYSh0aGlzLFQsMCkpO2dldCBhY3Rpdml0eUxvZ0NvdW50KCl7cmV0dXJuIHRoaXMuI2x9c2V0IGFjdGl2aXR5TG9nQ291bnQoVil7dGhpcy4jbD1WfSNjPShjYSh0aGlzLEEpLGNhKHRoaXMsUiwhMSkpO2dldCBhY3Rpdml0eUxvZ0FjdGl2ZSgpe3JldHVybiB0aGlzLiNjfXNldCBhY3Rpdml0eUxvZ0FjdGl2ZShWKXt0aGlzLiNjPVZ9I2Q9KGNhKHRoaXMscSksY2EodGhpcyxPLG51bGwpKTtnZXQgYWN0aXZlTWVudSgpe3JldHVybiB0aGlzLiNkfXNldCBhY3RpdmVNZW51KFYpe3RoaXMuI2Q9Vn0jcD0oY2EodGhpcyxyZSksY2EodGhpcyxCLG5ldyBTZXQpKTtnZXQgb3BlbkRyb3Bkb3ducygpe3JldHVybiB0aGlzLiNwfXNldCBvcGVuRHJvcGRvd25zKFYpe3RoaXMuI3A9Vn0jdT0oY2EodGhpcyxlZSksY2EodGhpcyxZLG51bGwpKTtnZXQgZm9jdXNlZEl0ZW0oKXtyZXR1cm4gdGhpcy4jdX1zZXQgZm9jdXNlZEl0ZW0oVil7dGhpcy4jdT1WfSNmPShjYSh0aGlzLFApLGNhKHRoaXMsRywtMSkpO2dldCBmb2N1c2VkRHJvcGRvd25JdGVtKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IGZvY3VzZWREcm9wZG93bkl0ZW0oVil7dGhpcy4jZj1WfSNoPShjYSh0aGlzLFcpLGNhKHRoaXMsemUsITEpKTtnZXQgaXNQcm9maWxlRHJvcGRvd25PcGVuKCl7cmV0dXJuIHRoaXMuI2h9c2V0IGlzUHJvZmlsZURyb3Bkb3duT3BlbihWKXt0aGlzLiNoPVZ9c3RhdGljIHN0eWxlcz1HR3Q7cmVuZGVyKCl7cmV0dXJuIFpHdCh0aGlzKX1yZW5kZXJNZW51SXRlbXMoKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLm1lbnVJdGVtcy5tYXAoKFYsRik9PnRoaXMucmVuZGVyTWVudUl0ZW0oVixgbWVudS0ke0Z9YCkpfQogICAgYH1yZW5kZXJNZW51SXRlbShWLEYpe2lmKCJkaXZpZGVyImluIFYmJlYuZGl2aWRlcilyZXR1cm4gd2A8ZGl2IGNsYXNzPSJkcm9wZG93bi1kaXZpZGVyIj48L2Rpdj5gO2xldCBuZT1WLHRlPXRoaXMuYWN0aXZlTWVudT09PUYsSz1uZS5zdWJtZW51JiZuZS5zdWJtZW51Lmxlbmd0aD4wO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9Im1lbnVJdGVtICR7dGU/ImFjdGl2ZSI6IiJ9IgogICAgICAgID9kaXNhYmxlZD0ke25lLmRpc2FibGVkfQogICAgICAgIHRhYmluZGV4PSIke25lLmRpc2FibGVkPy0xOjB9IgogICAgICAgIGRhdGEtaXRlbS1pZD0iJHtGfSIKICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVNZW51Q2xpY2sobmUsRil9CiAgICAgICAgQGtleWRvd249JHtrZT0+dGhpcy5oYW5kbGVNZW51S2V5ZG93bihrZSxuZSxGKX0KICAgICAgICByb2xlPSJtZW51aXRlbSIKICAgICAgICBhcmlhLWhhc3BvcHVwPSIke0t9IgogICAgICAgIGFyaWEtZXhwYW5kZWQ9IiR7dGV9IgogICAgICA+CiAgICAgICAgJHtuZS5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249IiR7YGx1Y2lkZToke25lLmljb25OYW1lfWB9Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgICR7bmUubmFtZX0KICAgICAgICAke0s/dGhpcy5yZW5kZXJEcm9wZG93bihuZS5zdWJtZW51LEYsdGUpOiIifQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRHJvcGRvd24oVixGLG5lKXtyZXR1cm4gd2AKICAgICAgPGRpdiAKICAgICAgICBjbGFzcz0iZHJvcGRvd24gJHtuZT8ib3BlbiI6IiJ9IiAKICAgICAgICBAY2xpY2s9JHt0ZT0+dGUuc3RvcFByb3BhZ2F0aW9uKCl9CiAgICAgICAgQGtleWRvd249JHt0ZT0+dGhpcy5oYW5kbGVEcm9wZG93bktleWRvd24odGUsVixGKX0KICAgICAgICB0YWJpbmRleD0iJHtuZT8wOi0xfSIKICAgICAgICByb2xlPSJtZW51IgogICAgICA+CiAgICAgICAgJHtWLm1hcCgodGUsSyk9PnRoaXMucmVuZGVyRHJvcGRvd25JdGVtKHRlLGAke0Z9LSR7S31gKSl9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJEcm9wZG93bkl0ZW0oVixGKXtpZigiZGl2aWRlciJpbiBWJiZWLmRpdmlkZXIpcmV0dXJuIHdgPGRpdiBjbGFzcz0iZHJvcGRvd24tZGl2aWRlciI+PC9kaXY+YDtsZXQgbmU9Vix0ZT1wYXJzZUludChGLnNwbGl0KCItIikucG9wKCl8fCIwIiksSz10aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09PT10ZTtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJkcm9wZG93bi1pdGVtICR7Sz8iZm9jdXNlZCI6IiJ9IgogICAgICAgID9kaXNhYmxlZD0ke25lLmRpc2FibGVkfQogICAgICAgIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURyb3Bkb3duSXRlbUNsaWNrKG5lKX0KICAgICAgICBAbW91c2VlbnRlcj0keygpPT50aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09dGV9CiAgICAgICAgcm9sZT0ibWVudWl0ZW0iCiAgICAgICAgdGFiaW5kZXg9IiR7bmUuZGlzYWJsZWQ/LTE6MH0iCiAgICAgID4KICAgICAgICAke25lLmljb25OYW1lP3dgPGRlZXMtaWNvbiAuaWNvbj0iJHtgbHVjaWRlOiR7bmUuaWNvbk5hbWV9YH0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgPHNwYW4+JHtuZS5uYW1lfTwvc3Bhbj4KICAgICAgICAke25lLnNob3J0Y3V0P3dgPHNwYW4gY2xhc3M9InNob3J0Y3V0Ij4ke25lLnNob3J0Y3V0fTwvc3Bhbj5gOiIifQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyQnJlYWRjcnVtYnMoKXtpZighdGhpcy5icmVhZGNydW1icylyZXR1cm4gd2BgO2xldCBWPXRoaXMuYnJlYWRjcnVtYnMuc3BsaXQodGhpcy5icmVhZGNydW1iU2VwYXJhdG9yKTtyZXR1cm4gd2AKICAgICAgJHtWLm1hcCgoRixuZSk9PndgCiAgICAgICAgJHtuZT4wP3dgPHNwYW4gY2xhc3M9ImJyZWFkY3J1bWItc2VwYXJhdG9yIj4ke3RoaXMuYnJlYWRjcnVtYlNlcGFyYXRvcn08L3NwYW4+YDoiIn0KICAgICAgICA8c3BhbiAKICAgICAgICAgIGNsYXNzPSJicmVhZGNydW1iLWl0ZW0iIAogICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQnJlYWRjcnVtYkNsaWNrKEYsbmUpfQogICAgICAgID4KICAgICAgICAgICR7Rn0KICAgICAgICA8L3NwYW4+CiAgICAgIGApfQogICAgYH1yZW5kZXJBY2NvdW50U2VjdGlvbigpe3JldHVybiB3YAogICAgICAke3RoaXMuc2hvd1NlYXJjaD93YAogICAgICAgIDxkZWVzLWljb24KICAgICAgICAgIGNsYXNzPSJzZWFyY2gtaWNvbiIKICAgICAgICAgIC5pY29uPSR7Imx1Y2lkZTpzZWFyY2gifQogICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVTZWFyY2hDbGlja30KICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgIGA6IiJ9CiAgICAgICR7dGhpcy51c2VyP3dgCiAgICAgICAgPGRpdiBzdHlsZT0icG9zaXRpb246IHJlbGF0aXZlOyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ1c2VyLWluZm8iIEBjbGljaz0ke3RoaXMuaGFuZGxlVXNlckNsaWNrfT4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1hdmF0YXIiPgogICAgICAgICAgICAgICR7dGhpcy51c2VyLmF2YXRhcj93YDxpbWcgc3JjPSIke3RoaXMudXNlci5hdmF0YXJ9IiBhbHQ9IiR7dGhpcy51c2VyLm5hbWV9Ij5gOndgJHt0aGlzLnVzZXIubmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX1gfQogICAgICAgICAgICAgICR7dGhpcy51c2VyLnN0YXR1cz93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1zdGF0dXMgJHt0aGlzLnVzZXIuc3RhdHVzfSI+PC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxzcGFuPiR7dGhpcy51c2VyLm5hbWV9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGVlcy1hcHB1aS1wcm9maWxlZHJvcGRvd24KICAgICAgICAgICAgLnVzZXI9JHt0aGlzLnVzZXJ9CiAgICAgICAgICAgIC5tZW51SXRlbXM9JHt0aGlzLnByb2ZpbGVNZW51SXRlbXN9CiAgICAgICAgICAgIC5pc09wZW49JHt0aGlzLmlzUHJvZmlsZURyb3Bkb3duT3Blbn0KICAgICAgICAgICAgLnBvc2l0aW9uPSR7InRvcC1yaWdodCJ9CiAgICAgICAgICAgIEBtZW51LXNlbGVjdD0ke1Y9PnRoaXMuaGFuZGxlUHJvZmlsZU1lbnVTZWxlY3QoVil9CiAgICAgICAgICA+PC9kZWVzLWFwcHVpLXByb2ZpbGVkcm9wZG93bj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgICAgJHt0aGlzLnNob3dBY3Rpdml0eUxvZ1RvZ2dsZT93YAogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJhY3Rpdml0eS10b2dnbGUgJHt0aGlzLmFjdGl2aXR5TG9nQWN0aXZlPyJhY3RpdmUiOiIifSIKICAgICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlQWN0aXZpdHlUb2dnbGV9CiAgICAgICAgICB0aXRsZT0iQWN0aXZpdHkgTG9nIgogICAgICAgID4KICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmFjdGl2aXR5In0+PC9kZWVzLWljb24+CiAgICAgICAgICAke3RoaXMuYWN0aXZpdHlMb2dDb3VudD4wP3dgCiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhY3Rpdml0eS1iYWRnZSI+JHt0aGlzLmFjdGl2aXR5TG9nQ291bnQ+OTk/Ijk5KyI6dGhpcy5hY3Rpdml0eUxvZ0NvdW50fTwvc3Bhbj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CiAgICBgfWhhbmRsZU1lbnVDbGljayhWLEYpe1YuZGlzYWJsZWR8fChWLnN1Ym1lbnUmJlYuc3VibWVudS5sZW5ndGg+MD90aGlzLmFjdGl2ZU1lbnU9PT1GP3RoaXMuYWN0aXZlTWVudT1udWxsOnRoaXMuYWN0aXZlTWVudT1GOih0aGlzLmFjdGl2ZU1lbnU9bnVsbCxWLmFjdGlvbiYmVi5hY3Rpb24oKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJtZW51LXNlbGVjdCIse2RldGFpbDp7aXRlbTpWfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKSl9aGFuZGxlRHJvcGRvd25JdGVtQ2xpY2soVil7Vi5kaXNhYmxlZHx8KHRoaXMuYWN0aXZlTWVudT1udWxsLFYuYWN0aW9uJiZWLmFjdGlvbigpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm1lbnUtc2VsZWN0Iix7ZGV0YWlsOntpdGVtOlZ9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSkpfWhhbmRsZU1lbnVLZXlkb3duKFYsRixuZSl7c3dpdGNoKFYua2V5KXtjYXNlIkVudGVyIjpjYXNlIiAiOlYucHJldmVudERlZmF1bHQoKSx0aGlzLmhhbmRsZU1lbnVDbGljayhGLG5lKTticmVhaztjYXNlIkFycm93RG93biI6aWYoRi5zdWJtZW51JiZ0aGlzLmFjdGl2ZU1lbnU9PT1uZSl7Vi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT0wO2xldCB0ZT10aGlzLmZpbmROZXh0VmFsaWRJdGVtKEYuc3VibWVudSwtMSwxKTt0ZSE9PS0xJiYodGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPXRlLHNldFRpbWVvdXQoKCk9PntsZXQgSz10aGlzLnJlbmRlclJvb3QucXVlcnlTZWxlY3RvcigiLmRyb3Bkb3duLm9wZW4iKTtLJiZLLmZvY3VzKCl9LDApKX1icmVhaztjYXNlIkVzY2FwZSI6dGhpcy5hY3RpdmVNZW51PW51bGwsdGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPS0xO2JyZWFrO2Nhc2UiVGFiIjp0aGlzLmFjdGl2ZU1lbnU9PT1uZSYmKHRoaXMuYWN0aXZlTWVudT1udWxsLHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT0tMSk7YnJlYWs7Y2FzZSJBcnJvd1JpZ2h0IjpWLnByZXZlbnREZWZhdWx0KCksdGhpcy5mb2N1c05leHRNZW51SXRlbShuZSwxKTticmVhaztjYXNlIkFycm93TGVmdCI6Vi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZm9jdXNOZXh0TWVudUl0ZW0obmUsLTEpO2JyZWFrfX1oYW5kbGVCcmVhZGNydW1iQ2xpY2soVixGKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJicmVhZGNydW1iLW5hdmlnYXRlIix7ZGV0YWlsOnticmVhZGNydW1iOlYsaW5kZXg6Rn0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVTZWFyY2hDbGljaygpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlYXJjaC1jbGljayIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQWN0aXZpdHlUb2dnbGUoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhY3Rpdml0eS10b2dnbGUiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVVzZXJDbGljaygpe3RoaXMuaXNQcm9maWxlRHJvcGRvd25PcGVuPSF0aGlzLmlzUHJvZmlsZURyb3Bkb3duT3Blbix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ1c2VyLW1lbnUtb3BlbiIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlUHJvZmlsZU1lbnVTZWxlY3QoVil7dGhpcy5pc1Byb2ZpbGVEcm9wZG93bk9wZW49ITEsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicHJvZmlsZS1tZW51LXNlbGVjdCIse2RldGFpbDpWLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZUdsb2JhbENsaWNrKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5oYW5kbGVEb2N1bWVudENsaWNrKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuaGFuZGxlRG9jdW1lbnRDbGljayl9aGFuZGxlR2xvYmFsQ2xpY2s9KGNhKHRoaXMsTWUpLFY9PntWLnN0b3BQcm9wYWdhdGlvbigpfSk7aGFuZGxlRG9jdW1lbnRDbGljaz1pKCgpPT57dGhpcy5hY3RpdmVNZW51PW51bGwsdGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPS0xfSwiaGFuZGxlRG9jdW1lbnRDbGljayIpO2hhbmRsZURyb3Bkb3duS2V5ZG93bihWLEYsbmUpe2xldCB0ZT1GLmZpbHRlcihLPT4hKCJkaXZpZGVyImluIEsmJksuZGl2aWRlcikpO3N3aXRjaChWLmtleSl7Y2FzZSJBcnJvd0Rvd24iOlYucHJldmVudERlZmF1bHQoKTtsZXQgSz10aGlzLmZpbmROZXh0VmFsaWRJdGVtKEYsdGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtLDEpO0shPT0tMSYmKHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT1LKTticmVhaztjYXNlIkFycm93VXAiOlYucHJldmVudERlZmF1bHQoKTtsZXQga2U9dGhpcy5maW5kTmV4dFZhbGlkSXRlbShGLHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbSwtMSk7a2UhPT0tMSYmKHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT1rZSk7YnJlYWs7Y2FzZSJFbnRlciI6aWYoVi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbSE9PS0xKXtsZXQgVmU9dGVbdGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtXTtWZSYmImFjdGlvbiJpbiBWZSYmIVZlLmRpc2FibGVkJiZ0aGlzLmhhbmRsZURyb3Bkb3duSXRlbUNsaWNrKFZlKX1icmVhaztjYXNlIkhvbWUiOlYucHJldmVudERlZmF1bHQoKTtsZXQgdmU9dGhpcy5maW5kTmV4dFZhbGlkSXRlbShGLC0xLDEpO3ZlIT09LTEmJih0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09dmUpO2JyZWFrO2Nhc2UiRW5kIjpWLnByZXZlbnREZWZhdWx0KCk7bGV0IGRlPXRoaXMuZmluZE5leHRWYWxpZEl0ZW0oRixGLmxlbmd0aCwtMSk7ZGUhPT0tMSYmKHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT1kZSk7YnJlYWs7Y2FzZSJFc2NhcGUiOlYucHJldmVudERlZmF1bHQoKSx0aGlzLmFjdGl2ZU1lbnU9bnVsbCx0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09LTE7bGV0ICRlPXRoaXMucmVuZGVyUm9vdC5xdWVyeVNlbGVjdG9yKCIubWVudUl0ZW0uYWN0aXZlIik7JGUmJiRlLmZvY3VzKCk7YnJlYWt9fWZpbmROZXh0VmFsaWRJdGVtKFYsRixuZSl7bGV0IHRlPUYrbmU7Zm9yKDt0ZT49MCYmdGU8Vi5sZW5ndGg7KXtsZXQgSz1WW3RlXTtpZighKCJkaXZpZGVyImluIEsmJksuZGl2aWRlcikmJiEoImRpc2FibGVkImluIEsmJksuZGlzYWJsZWQpKXJldHVybiB0ZTt0ZSs9bmV9cmV0dXJuLTF9Zm9jdXNOZXh0TWVudUl0ZW0oVixGKXtsZXQgbmU9QXJyYXkuZnJvbSh0aGlzLnJlbmRlclJvb3QucXVlcnlTZWxlY3RvckFsbCgiLm1lbnVJdGVtIikpLHRlPW5lLmZpbmRJbmRleCh2ZT0+dmUuZ2V0QXR0cmlidXRlKCJkYXRhLWl0ZW0taWQiKT09PVYpO2lmKHRlPT09LTEpcmV0dXJuO2xldCBLPXRlK0Y7SzwwP0s9bmUubGVuZ3RoLTE6Sz49bmUubGVuZ3RoJiYoSz0wKTtsZXQga2U9MDtmb3IoO2tlPG5lLmxlbmd0aDspe2xldCB2ZT1uZVtLXTtpZighdmUuaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpKXt2ZS5mb2N1cygpLHRoaXMuYWN0aXZlTWVudSYmKHRoaXMuYWN0aXZlTWVudT1udWxsLHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT0tMSk7YnJlYWt9Sz0oSytGK25lLmxlbmd0aCklbmUubGVuZ3RoLGtlKyt9fXN0YXRpY3tjYShyLGEpfX07cmV0dXJuIEVlPXJ9KSgpfSk7dmFyIGxPZT1jKCgpPT57aU9lKCl9KTt2YXIgZVl0LHRZdCxhWXQ9YygoKT0+e3BlKCk7UmEoKTt0WXQ9aSgoKT0+dyhlWXR8fChlWXQ9QjYoW2AKICAgIDxkZWVzLWRlbW93cmFwcGVyPgogICAgICA8c3R5bGU+CiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICMxYTFhMWE7CiAgICAgICAgfQoKICAgICAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgfQoKICAgICAgICAuZGVtby1sYWJlbCB7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBjb2xvcjogIzczNzM3MzsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgfQoKICAgICAgICAuZGVtby1ib3R0b21iYXItd3JhcHBlciB7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBoc2woMCAwJSAyMCUpOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1sYWJlbCI+Qm90dG9tIGJhciB3aXRoIHN0YXR1cyB3aWRnZXRzIGFuZCBhY3Rpb25zPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWJvdHRvbWJhci13cmFwcGVyIj4KICAgICAgICAgICAgPGRlZXMtYXBwdWktYm90dG9tYmFyCiAgICAgICAgICAgICAgaWQ9ImRlbW8tYm90dG9tYmFyIgogICAgICAgICAgICA+PC9kZWVzLWFwcHVpLWJvdHRvbWJhcj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1sYWJlbCI+Q29udHJvbHM8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGdhcDogOHB4OyBmbGV4LXdyYXA6IHdyYXA7Ij4KICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJhZGRTdWNjZXNzV2lkZ2V0KCkiPkFkZCBTdWNjZXNzIFdpZGdldDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9ImFkZFdhcm5pbmdXaWRnZXQoKSI+QWRkIFdhcm5pbmcgV2lkZ2V0PC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0iYWRkRXJyb3JXaWRnZXQoKSI+QWRkIEVycm9yIFdpZGdldDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9ImFkZExvYWRpbmdXaWRnZXQoKSI+QWRkIExvYWRpbmcgV2lkZ2V0PC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0iYWRkUmlnaHRXaWRnZXQoKSI+QWRkIFJpZ2h0IFdpZGdldDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9ImFkZEFjdGlvbigpIj5BZGQgQWN0aW9uPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0iY2xlYXJBbGwoKSI+Q2xlYXIgQWxsPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxzY3JpcHQgdHlwZT0ibW9kdWxlIj4KICAgICAgICBjb25zdCBib3R0b21iYXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZGVtby1ib3R0b21iYXInKTsKCiAgICAgICAgLy8gV2FpdCBmb3IgY29tcG9uZW50IHRvIGluaXRpYWxpemUKICAgICAgICBhd2FpdCBib3R0b21iYXIudXBkYXRlQ29tcGxldGU7CgogICAgICAgIC8vIEFkZCBpbml0aWFsIHdpZGdldHMKICAgICAgICBib3R0b21iYXIuYWRkV2lkZ2V0KHsKICAgICAgICAgIGlkOiAnc3RhdHVzJywKICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOmFjdGl2aXR5JywKICAgICAgICAgIGxhYmVsOiAnU3lzdGVtIE9ubGluZScsCiAgICAgICAgICBzdGF0dXM6ICdzdWNjZXNzJywKICAgICAgICAgIHRvb2x0aXA6ICdBbGwgc3lzdGVtcyBvcGVyYXRpb25hbCcsCiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiBjb25zb2xlLmxvZygnU3RhdHVzIGNsaWNrZWQnKSwKICAgICAgICAgIGNvbnRleHRNZW51SXRlbXM6IFsKICAgICAgICAgICAgeyBuYW1lOiAnVmlldyBEZXRhaWxzJywgaWNvbk5hbWU6ICdsdWNpZGU6aW5mbycsIGFjdGlvbjogKCkgPT4gYWxlcnQoJ1N5c3RlbSBkZXRhaWxzJykgfSwKICAgICAgICAgICAgeyBkaXZpZGVyOiB0cnVlIH0sCiAgICAgICAgICAgIHsgbmFtZTogJ1JlZnJlc2ggU3RhdHVzJywgaWNvbk5hbWU6ICdsdWNpZGU6cmVmcmVzaEN3JywgYWN0aW9uOiAoKSA9PiBhbGVydCgnUmVmcmVzaGluZy4uLicpIH0sCiAgICAgICAgICBdLAogICAgICAgIH0pOwoKICAgICAgICBib3R0b21iYXIuYWRkV2lkZ2V0KHsKICAgICAgICAgIGlkOiAnbm90aWZpY2F0aW9ucycsCiAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTpiZWxsJywKICAgICAgICAgIGxhYmVsOiAnMyBub3RpZmljYXRpb25zJywKICAgICAgICAgIHN0YXR1czogJ3dhcm5pbmcnLAogICAgICAgICAgdG9vbHRpcDogJ1lvdSBoYXZlIHVucmVhZCBub3RpZmljYXRpb25zJywKICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGNvbnNvbGUubG9nKCdOb3RpZmljYXRpb25zIGNsaWNrZWQnKSwKICAgICAgICB9KTsKCiAgICAgICAgYm90dG9tYmFyLmFkZFdpZGdldCh7CiAgICAgICAgICBpZDogJ3ZlcnNpb24nLAogICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6Z2l0QnJhbmNoJywKICAgICAgICAgIGxhYmVsOiAndjEuMi4zJywKICAgICAgICAgIHRvb2x0aXA6ICdDdXJyZW50IHZlcnNpb24nLAogICAgICAgICAgcG9zaXRpb246ICdyaWdodCcsCiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiBjb25zb2xlLmxvZygnVmVyc2lvbiBjbGlja2VkJyksCiAgICAgICAgfSk7CgogICAgICAgIC8vIEFkZCBpbml0aWFsIGFjdGlvbnMKICAgICAgICBib3R0b21iYXIuYWRkQWN0aW9uKHsKICAgICAgICAgIGlkOiAnc2V0dGluZ3MnLAogICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6c2V0dGluZ3MnLAogICAgICAgICAgdG9vbHRpcDogJ1NldHRpbmdzJywKICAgICAgICAgIHBvc2l0aW9uOiAncmlnaHQnLAogICAgICAgICAgb25DbGljazogKCkgPT4gYWxlcnQoJ1NldHRpbmdzIGNsaWNrZWQnKSwKICAgICAgICB9KTsKCiAgICAgICAgYm90dG9tYmFyLmFkZEFjdGlvbih7CiAgICAgICAgICBpZDogJ2hlbHAnLAogICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6aGVscENpcmNsZScsCiAgICAgICAgICB0b29sdGlwOiAnSGVscCcsCiAgICAgICAgICBwb3NpdGlvbjogJ3JpZ2h0JywKICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGFsZXJ0KCdIZWxwIGNsaWNrZWQnKSwKICAgICAgICB9KTsKCiAgICAgICAgLy8gRGVtbyBjb250cm9sIGZ1bmN0aW9ucwogICAgICAgIGxldCB3aWRnZXRDb3VudGVyID0gMDsKICAgICAgICBsZXQgYWN0aW9uQ291bnRlciA9IDA7CgogICAgICAgIHdpbmRvdy5hZGRTdWNjZXNzV2lkZ2V0ID0gKCkgPT4gewogICAgICAgICAgd2lkZ2V0Q291bnRlcisrOwogICAgICAgICAgYm90dG9tYmFyLmFkZFdpZGdldCh7CiAgICAgICAgICAgIGlkOiAnc3VjY2Vzcy0nICsgd2lkZ2V0Q291bnRlciwKICAgICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6Y2hlY2tDaXJjbGUnLAogICAgICAgICAgICBsYWJlbDogJ1N1Y2Nlc3MgJyArIHdpZGdldENvdW50ZXIsCiAgICAgICAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLAogICAgICAgICAgICB0b29sdGlwOiAnU3VjY2VzcyB3aWRnZXQnLAogICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiBib3R0b21iYXIucmVtb3ZlV2lkZ2V0KCdzdWNjZXNzLScgKyB3aWRnZXRDb3VudGVyKSwKICAgICAgICAgIH0pOwogICAgICAgIH07CgogICAgICAgIHdpbmRvdy5hZGRXYXJuaW5nV2lkZ2V0ID0gKCkgPT4gewogICAgICAgICAgd2lkZ2V0Q291bnRlcisrOwogICAgICAgICAgYm90dG9tYmFyLmFkZFdpZGdldCh7CiAgICAgICAgICAgIGlkOiAnd2FybmluZy0nICsgd2lkZ2V0Q291bnRlciwKICAgICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6YWxlcnRUcmlhbmdsZScsCiAgICAgICAgICAgIGxhYmVsOiAnV2FybmluZyAnICsgd2lkZ2V0Q291bnRlciwKICAgICAgICAgICAgc3RhdHVzOiAnd2FybmluZycsCiAgICAgICAgICAgIHRvb2x0aXA6ICdXYXJuaW5nIHdpZGdldCcsCiAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGJvdHRvbWJhci5yZW1vdmVXaWRnZXQoJ3dhcm5pbmctJyArIHdpZGdldENvdW50ZXIpLAogICAgICAgICAgfSk7CiAgICAgICAgfTsKCiAgICAgICAgd2luZG93LmFkZEVycm9yV2lkZ2V0ID0gKCkgPT4gewogICAgICAgICAgd2lkZ2V0Q291bnRlcisrOwogICAgICAgICAgYm90dG9tYmFyLmFkZFdpZGdldCh7CiAgICAgICAgICAgIGlkOiAnZXJyb3ItJyArIHdpZGdldENvdW50ZXIsCiAgICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOnhDaXJjbGUnLAogICAgICAgICAgICBsYWJlbDogJ0Vycm9yICcgKyB3aWRnZXRDb3VudGVyLAogICAgICAgICAgICBzdGF0dXM6ICdlcnJvcicsCiAgICAgICAgICAgIHRvb2x0aXA6ICdFcnJvciB3aWRnZXQnLAogICAgICAgICAgICBvbkNsaWNrOiAoKSA9PiBib3R0b21iYXIucmVtb3ZlV2lkZ2V0KCdlcnJvci0nICsgd2lkZ2V0Q291bnRlciksCiAgICAgICAgICB9KTsKICAgICAgICB9OwoKICAgICAgICB3aW5kb3cuYWRkTG9hZGluZ1dpZGdldCA9ICgpID0+IHsKICAgICAgICAgIHdpZGdldENvdW50ZXIrKzsKICAgICAgICAgIGNvbnN0IGlkID0gJ2xvYWRpbmctJyArIHdpZGdldENvdW50ZXI7CiAgICAgICAgICBib3R0b21iYXIuYWRkV2lkZ2V0KHsKICAgICAgICAgICAgaWQ6IGlkLAogICAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTpsb2FkZXIyJywKICAgICAgICAgICAgbGFiZWw6ICdMb2FkaW5nLi4uJywKICAgICAgICAgICAgc3RhdHVzOiAnYWN0aXZlJywKICAgICAgICAgICAgbG9hZGluZzogdHJ1ZSwKICAgICAgICAgICAgdG9vbHRpcDogJ0xvYWRpbmcgaW4gcHJvZ3Jlc3MnLAogICAgICAgICAgfSk7CgogICAgICAgICAgLy8gU2ltdWxhdGUgY29tcGxldGlvbiBhZnRlciAzIHNlY29uZHMKICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gewogICAgICAgICAgICBib3R0b21iYXIudXBkYXRlV2lkZ2V0KGlkLCB7CiAgICAgICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6Y2hlY2snLAogICAgICAgICAgICAgIGxhYmVsOiAnRG9uZSEnLAogICAgICAgICAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLAogICAgICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLAogICAgICAgICAgICB9KTsKICAgICAgICAgIH0sIDMwMDApOwogICAgICAgIH07CgogICAgICAgIHdpbmRvdy5hZGRSaWdodFdpZGdldCA9ICgpID0+IHsKICAgICAgICAgIHdpZGdldENvdW50ZXIrKzsKICAgICAgICAgIGJvdHRvbWJhci5hZGRXaWRnZXQoewogICAgICAgICAgICBpZDogJ3JpZ2h0LScgKyB3aWRnZXRDb3VudGVyLAogICAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTppbmZvJywKICAgICAgICAgICAgbGFiZWw6ICdSaWdodCAnICsgd2lkZ2V0Q291bnRlciwKICAgICAgICAgICAgcG9zaXRpb246ICdyaWdodCcsCiAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGJvdHRvbWJhci5yZW1vdmVXaWRnZXQoJ3JpZ2h0LScgKyB3aWRnZXRDb3VudGVyKSwKICAgICAgICAgIH0pOwogICAgICAgIH07CgogICAgICAgIHdpbmRvdy5hZGRBY3Rpb24gPSAoKSA9PiB7CiAgICAgICAgICBhY3Rpb25Db3VudGVyKys7CiAgICAgICAgICBib3R0b21iYXIuYWRkQWN0aW9uKHsKICAgICAgICAgICAgaWQ6ICdhY3Rpb24tJyArIGFjdGlvbkNvdW50ZXIsCiAgICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOnphcCcsCiAgICAgICAgICAgIHRvb2x0aXA6ICdBY3Rpb24gJyArIGFjdGlvbkNvdW50ZXIsCiAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IHsKICAgICAgICAgICAgICBhbGVydCgnQWN0aW9uICcgKyBhY3Rpb25Db3VudGVyICsgJyBjbGlja2VkJyk7CiAgICAgICAgICAgICAgYm90dG9tYmFyLnJlbW92ZUFjdGlvbignYWN0aW9uLScgKyBhY3Rpb25Db3VudGVyKTsKICAgICAgICAgICAgfSwKICAgICAgICAgIH0pOwogICAgICAgIH07CgogICAgICAgIHdpbmRvdy5jbGVhckFsbCA9ICgpID0+IHsKICAgICAgICAgIGJvdHRvbWJhci5jbGVhcldpZGdldHMoKTsKICAgICAgICAgIGJvdHRvbWJhci5jbGVhckFjdGlvbnMoKTsKICAgICAgICAgIHdpZGdldENvdW50ZXIgPSAwOwogICAgICAgICAgYWN0aW9uQ291bnRlciA9IDA7CiAgICAgICAgfTsKICAgICAgPFwvc2NyaXB0PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGBdKSkpLCJkZW1vRnVuYyIpfSk7dmFyIGNPZSxXTyxyWXQsZE9lPWMoKCk9PntwZSgpO1hlKCk7S3QoKTt2MSgpO2FZdCgpO2NPZT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sV089ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LHJZdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtYXBwdWktYm90dG9tYmFyIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W107dmFyIHA9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNBcHB1aUJvdHRvbWJhciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBnPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W1ooKV0saD1bWigpXSxjT2UodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3aWRnZXRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHY9PiJ3aWRnZXRzImluIHYsImhhcyIpLGdldDppKHY9PnYud2lkZ2V0cywiZ2V0Iiksc2V0OmkoKHYseCk9Pnt2LndpZGdldHM9eH0sInNldCIpfSxtZXRhZGF0YTpnfSxvLGwpLGNPZSh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+ImFjdGlvbnMiaW4gdiwiaGFzIiksZ2V0Omkodj0+di5hY3Rpb25zLCJnZXQiKSxzZXQ6aSgodix4KT0+e3YuYWN0aW9ucz14fSwic2V0Iil9LG1ldGFkYXRhOmd9LHUsZiksY09lKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmd9LG51bGwsYSkscD1yPWUudmFsdWUsZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpnfSl9c3RhdGljIGRlbW89dFl0O3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9V08odGhpcyxvLFtdKTtnZXQgd2lkZ2V0cygpe3JldHVybiB0aGlzLiNlfXNldCB3aWRnZXRzKGcpe3RoaXMuI2U9Z30jdD0oV08odGhpcyxsKSxXTyh0aGlzLHUsW10pKTtnZXQgYWN0aW9ucygpe3JldHVybiB0aGlzLiN0fXNldCBhY3Rpb25zKGcpe3RoaXMuI3Q9Z31zdGF0aWMgc3R5bGVzPVtEZSxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLmJvdHRvbS1iYXIgewogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk0JSkiLCJoc2woMCAwJSA2JSkiKX07CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA0MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLndpZGdldDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg4JSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgIH0KCiAgICAgIC53aWRnZXQgZGVlcy1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLndpZGdldC1zZXBhcmF0b3IgewogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4MCUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICBtYXJnaW46IDAgNHB4OwogICAgICB9CgogICAgICAvKiBTdGF0dXMgY29sb3JzIG1hdGNoaW5nIGRlZXMtd29ya3NwYWNlLWJvdHRvbWJhciAqLwogICAgICAud2lkZ2V0LmFjdGl2ZSB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgNDUlKSIsImhzbCgyMTAgMTAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LnN1Y2Nlc3MgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDE0MiA3MCUgMzUlKSIsImhzbCgxNDIgNzAlIDUwJSkiKX07CiAgICAgIH0KCiAgICAgIC53aWRnZXQud2FybmluZyB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMzggOTIlIDQ1JSkiLCJoc2woMzggOTIlIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC53aWRnZXQuZXJyb3IgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgNzAlIDUwJSkiLCJoc2woMCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0KICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0KICAgICAgfQoKICAgICAgLnNwaW5uaW5nIHsKICAgICAgICBhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlOwogICAgICB9CgogICAgICAuc3BhY2VyIHsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDQwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg4JSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGlzYWJsZWQ6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNDAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBnPXRoaXMud2lkZ2V0cy5maWx0ZXIobT0+bS5wb3NpdGlvbiE9PSJyaWdodCIpLnNvcnQoKG0seSk9PihtLm9yZGVyfHwwKS0oeS5vcmRlcnx8MCkpLHY9dGhpcy53aWRnZXRzLmZpbHRlcihtPT5tLnBvc2l0aW9uPT09InJpZ2h0Iikuc29ydCgobSx5KT0+KG0ub3JkZXJ8fDApLSh5Lm9yZGVyfHwwKSkseD10aGlzLmFjdGlvbnMuZmlsdGVyKG09Pm0ucG9zaXRpb249PT0ibGVmdCIpLGI9dGhpcy5hY3Rpb25zLmZpbHRlcihtPT5tLnBvc2l0aW9uIT09ImxlZnQiKTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iYm90dG9tLWJhciI+CiAgICAgICAgPCEtLSBMZWZ0IGFjdGlvbnMgLS0+CiAgICAgICAgJHt4Lm1hcChtPT50aGlzLnJlbmRlckFjdGlvbihtKSl9CgogICAgICAgIDwhLS0gTGVmdCB3aWRnZXRzIC0tPgogICAgICAgICR7Zy5tYXAoKG0seSk9PndgCiAgICAgICAgICAke3k+MHx8eC5sZW5ndGg+MD93YDxkaXYgY2xhc3M9IndpZGdldC1zZXBhcmF0b3IiPjwvZGl2PmA6IiJ9CiAgICAgICAgICAke3RoaXMucmVuZGVyV2lkZ2V0KG0pfQogICAgICAgIGApfQoKICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgoKICAgICAgICA8IS0tIFJpZ2h0IHdpZGdldHMgLS0+CiAgICAgICAgJHt2Lm1hcCgobSx5KT0+d2AKICAgICAgICAgICR7dGhpcy5yZW5kZXJXaWRnZXQobSl9CiAgICAgICAgICAke3k8di5sZW5ndGgtMXx8Yi5sZW5ndGg+MD93YDxkaXYgY2xhc3M9IndpZGdldC1zZXBhcmF0b3IiPjwvZGl2PmA6IiJ9CiAgICAgICAgYCl9CgogICAgICAgIDwhLS0gUmlnaHQgYWN0aW9ucyAtLT4KICAgICAgICAke2IubWFwKG09PnRoaXMucmVuZGVyQWN0aW9uKG0pKX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlcldpZGdldChnKXtsZXQgdj1nLnN0YXR1cyYmZy5zdGF0dXMhPT0iaWRsZSI/Zy5zdGF0dXM6IiIseD1nLmljb25OYW1lP2cuaWNvbk5hbWUuc3RhcnRzV2l0aCgibHVjaWRlOiIpP2cuaWNvbk5hbWU6YGx1Y2lkZToke2cuaWNvbk5hbWV9YDoiIjtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJ3aWRnZXQgJHt2fSIKICAgICAgICB0aXRsZT0iJHtnLnRvb2x0aXB8fCIifSIKICAgICAgICBAY2xpY2s9JHsoKT0+Zy5vbkNsaWNrPy4oKX0KICAgICAgICBAY29udGV4dG1lbnU9JHtiPT50aGlzLmhhbmRsZVdpZGdldENvbnRleHRNZW51KGIsZyl9CiAgICAgID4KICAgICAgICAke3g/d2AKICAgICAgICAgIDxkZWVzLWljb24KICAgICAgICAgICAgLmljb249JHt4fQogICAgICAgICAgICBpY29uU2l6ZT0iMTIiCiAgICAgICAgICAgIGNsYXNzPSIke2cubG9hZGluZz8ic3Bpbm5pbmciOiIifSIKICAgICAgICAgID48L2RlZXMtaWNvbj4KICAgICAgICBgOiIifQogICAgICAgICR7Zy5sYWJlbD93YDxzcGFuPiR7Zy5sYWJlbH08L3NwYW4+YDoiIn0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckFjdGlvbihnKXtsZXQgdj1nLmljb25OYW1lLnN0YXJ0c1dpdGgoImx1Y2lkZToiKT9nLmljb25OYW1lOmBsdWNpZGU6JHtnLmljb25OYW1lfWA7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iYWN0aW9uLWJ1dHRvbiAke2cuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgdGl0bGU9IiR7Zy50b29sdGlwfHwiIn0iCiAgICAgICAgQGNsaWNrPSR7KCk9PiFnLmRpc2FibGVkJiZnLm9uQ2xpY2s/LigpfQogICAgICA+CiAgICAgICAgPGRlZXMtaWNvbgogICAgICAgICAgLmljb249JHt2fQogICAgICAgICAgaWNvblNpemU9IjEyIgogICAgICAgID48L2RlZXMtaWNvbj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGhhbmRsZVdpZGdldENvbnRleHRNZW51KGcsdil7aWYoIXYuY29udGV4dE1lbnVJdGVtc3x8di5jb250ZXh0TWVudUl0ZW1zLmxlbmd0aD09PTApcmV0dXJuO2cucHJldmVudERlZmF1bHQoKTtsZXQgeD1bXTtmb3IobGV0IGIgb2Ygdi5jb250ZXh0TWVudUl0ZW1zKWIuZGl2aWRlcj94LnB1c2goe2RpdmlkZXI6ITB9KTp4LnB1c2goe25hbWU6Yi5uYW1lLGljb25OYW1lOmIuaWNvbk5hbWUsYWN0aW9uOmkoYXN5bmMoKT0+e2F3YWl0IGIuYWN0aW9uKCl9LCJhY3Rpb24iKSxkaXNhYmxlZDpiLmRpc2FibGVkfSk7YXdhaXQgTnQub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoZyx4KX1hZGRXaWRnZXQoZyl7dGhpcy53aWRnZXRzPXRoaXMud2lkZ2V0cy5maWx0ZXIodj0+di5pZCE9PWcuaWQpLHRoaXMud2lkZ2V0cz1bLi4udGhpcy53aWRnZXRzLGddfXVwZGF0ZVdpZGdldChnLHYpe3RoaXMud2lkZ2V0cz10aGlzLndpZGdldHMubWFwKHg9PnguaWQ9PT1nP3suLi54LC4uLnZ9OngpfXJlbW92ZVdpZGdldChnKXt0aGlzLndpZGdldHM9dGhpcy53aWRnZXRzLmZpbHRlcih2PT52LmlkIT09Zyl9Z2V0V2lkZ2V0KGcpe3JldHVybiB0aGlzLndpZGdldHMuZmluZCh2PT52LmlkPT09Zyl9Y2xlYXJXaWRnZXRzKCl7dGhpcy53aWRnZXRzPVtdfWFkZEFjdGlvbihnKXt0aGlzLmFjdGlvbnM9dGhpcy5hY3Rpb25zLmZpbHRlcih2PT52LmlkIT09Zy5pZCksdGhpcy5hY3Rpb25zPVsuLi50aGlzLmFjdGlvbnMsZ119cmVtb3ZlQWN0aW9uKGcpe3RoaXMuYWN0aW9ucz10aGlzLmFjdGlvbnMuZmlsdGVyKHY9PnYuaWQhPT1nKX1jbGVhckFjdGlvbnMoKXt0aGlzLmFjdGlvbnM9W119Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFdPKHRoaXMsZil9c3RhdGlje1dPKHIsYSl9fTtyZXR1cm4gcD1yfSkoKX0pO3ZhciBpWXQ9YygoKT0+e2RPZSgpfSk7dmFyIHNZdCxvWXQ9YygoKT0+e3BlKCk7c1l0PWkoKCk9PndgCiAgPHN0eWxlPgogICAgJHtYYAogICAgICAuZGVtby1iYWNrZ3JvdW5kIHsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgNSUpIil9OwogICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICB9CiAgICAgIAogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBtYXJnaW46IDMycHggMCAxNnB4IDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgfQogICAgICAKICAgICAgLnNlY3Rpb24tdGl0bGU6Zmlyc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5ncmlkLWxheW91dCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICAuZ3JpZC0zY29sIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICBAbWVkaWEgKG1heC13aWR0aDogOTY4cHgpIHsKICAgICAgICAuZ3JpZC0zY29sIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgY29kZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KICAgIGB9CiAgPC9zdHlsZT4KICAKICA8ZGl2IGNsYXNzPSJkZW1vLWJhY2tncm91bmQiPgogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkRlZmF1bHQgUGFuZWxzPC9oMj4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJQYW5lbCBDb21wb25lbnQifSAuc3VidGl0bGU9JHsiVGhlIGRlZmF1bHQgcGFuZWwgdmFyaWFudCB3aXRoIHNoYWRjbi1pbnNwaXJlZCBzdHlsaW5nIn0+CiAgICAgICAgPHA+VGhlIHBhbmVsIGNvbXBvbmVudCBhdXRvbWF0aWNhbGx5IGZvbGxvd3MgdGhlIHRoZW1lIGFuZCBwcm92aWRlcyBjb25zaXN0ZW50IHN0eWxpbmcgZm9yIGdyb3VwZWQgY29udGVudC48L3A+CiAgICAgICAgPHA+SXQncyBwZXJmZWN0IGZvciBjcmVhdGluZyBzZWN0aW9ucyBpbiB5b3VyIGFwcGxpY2F0aW9uIHdpdGggcHJvcGVyIHNwYWNpbmcgYW5kIGJvcmRlcnMuPC9wPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJncmlkLWxheW91dCI+CiAgICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkZlYXR1cmUgT3ZlcnZpZXcifSAuc3VidGl0bGU9JHsiS2V5IGNhcGFiaWxpdGllcyJ9PgogICAgICAgICAgPHA+R3JpZCBsYXlvdXRzIHdvcmsgZ3JlYXQgd2l0aCBwYW5lbHMgZm9yIGNyZWF0aW5nIGRhc2hib2FyZHMgYW5kIGZlYXR1cmUgc2VjdGlvbnMuPC9wPgogICAgICAgICAgPGRlZXMtYnV0dG9uPkxlYXJuIE1vcmU8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgICAKICAgICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiUXVpY2sgQWN0aW9ucyJ9IC5zdWJ0aXRsZT0keyJDb21tb24gdGFza3MifT4KICAgICAgICAgIDxwPkVhY2ggcGFuZWwgbWFpbnRhaW5zIGNvbnNpc3RlbnQgc3BhY2luZyBhbmQgc3R5bGluZyBhY3Jvc3MgeW91ciBhcHBsaWNhdGlvbi48L3A+CiAgICAgICAgICA8ZGVlcy1idXR0b24+R2V0IFN0YXJ0ZWQ8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlBhbmVsIFZhcmlhbnRzPC9oMj4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJEZWZhdWx0IFZhcmlhbnQifSAudmFyaWFudD0keyJkZWZhdWx0In0+CiAgICAgICAgPHA+VGhlIGRlZmF1bHQgdmFyaWFudCBoYXMgYSB3aGl0ZSBiYWNrZ3JvdW5kLCBzdWJ0bGUgYm9yZGVyLCBhbmQgbWluaW1hbCBzaGFkb3cuIEl0J3MgdGhlIHN0YW5kYXJkIGNob2ljZSBmb3IgbW9zdCBjb250ZW50LjwvcD4KICAgICAgICA8cD5Vc2UgPGNvZGU+dmFyaWFudD0iZGVmYXVsdCI8L2NvZGU+IG9yIG9taXQgdGhlIHZhcmlhbnQgcHJvcGVydHkuPC9wPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiT3V0bGluZSBWYXJpYW50In0gLnN1YnRpdGxlPSR7IlRyYW5zcGFyZW50IGJhY2tncm91bmQgd2l0aCBib3JkZXIifSAudmFyaWFudD0keyJvdXRsaW5lIn0+CiAgICAgICAgPHA+VGhlIG91dGxpbmUgdmFyaWFudCByZW1vdmVzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBzaGFkb3csIGtlZXBpbmcgb25seSB0aGUgYm9yZGVyLjwvcD4KICAgICAgICA8cD5Vc2UgPGNvZGU+dmFyaWFudD0ib3V0bGluZSI8L2NvZGU+IGZvciBhIGxpZ2h0ZXIgdmlzdWFsIHdlaWdodC48L3A+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJHaG9zdCBWYXJpYW50In0gLnN1YnRpdGxlPSR7Ik1pbmltYWwgc3R5bGluZyBmb3Igc3VidGxlIHNlY3Rpb25zIn0gLnZhcmlhbnQ9JHsiZ2hvc3QifT4KICAgICAgICA8cD5UaGUgZ2hvc3QgdmFyaWFudCBoYXMgbm8gYm9yZGVyIG9yIGJhY2tncm91bmQgYnkgZGVmYXVsdCwgb25seSBzaG93aW5nIGEgc3VidGxlIGJhY2tncm91bmQgb24gaG92ZXIuPC9wPgogICAgICAgIDxwPlVzZSA8Y29kZT52YXJpYW50PSJnaG9zdCI8L2NvZGU+IGZvciB0aGUgbW9zdCBtaW5pbWFsIGFwcGVhcmFuY2UuPC9wPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlBhbmVsIFNpemVzPC9oMj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQtM2NvbCI+CiAgICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlNtYWxsIFBhbmVsIn0gLnNpemU9JHsic20ifT4KICAgICAgICAgIDxwPkNvbXBhY3QgcGFkZGluZyBmb3IgZGVuc2UgbGF5b3V0cy48L3A+CiAgICAgICAgICA8cD5Vc2UgPGNvZGU+c2l6ZT0ic20iPC9jb2RlPjwvcD4KICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgICAgCiAgICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ik1lZGl1bSBQYW5lbCJ9IC5zaXplPSR7Im1kIn0+CiAgICAgICAgICA8cD5EZWZhdWx0IHNpemUgd2l0aCBiYWxhbmNlZCBzcGFjaW5nLjwvcD4KICAgICAgICAgIDxwPlVzZSA8Y29kZT5zaXplPSJtZCI8L2NvZGU+IG9yIG9taXQuPC9wPgogICAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgICAKICAgICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiTGFyZ2UgUGFuZWwifSAuc2l6ZT0keyJsZyJ9PgogICAgICAgICAgPHA+R2VuZXJvdXMgcGFkZGluZyBmb3IgcHJvbWluZW50IHNlY3Rpb25zLjwvcD4KICAgICAgICAgIDxwPlVzZSA8Y29kZT5zaXplPSJsZyI8L2NvZGU+PC9wPgogICAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkNvbXBsZXggRXhhbXBsZXM8L2gyPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkZvcm0gRXhhbXBsZSJ9IC5zdWJ0aXRsZT0keyJQYW5lbHMgd29yayBncmVhdCBmb3Igb3JnYW5pemluZyBmb3JtIHNlY3Rpb25zIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IlByb2plY3QgTmFtZSJ9IC5yZXF1aXJlZD0keyEwfT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IkRlc2NyaXB0aW9uIn0gLmlucHV0VHlwZT0keyJ0ZXh0YXJlYSJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24gCiAgICAgICAgICAgIC5sYWJlbD0keyJDYXRlZ29yeSJ9IAogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJXZWIgRGV2ZWxvcG1lbnQiLGtleToid2ViIn0se29wdGlvbjoiTW9iaWxlIEFwcCIsa2V5OiJtb2JpbGUifSx7b3B0aW9uOiJEZXNrdG9wIFNvZnR3YXJlIixrZXk6ImRlc2t0b3AifV19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+Q3JlYXRlIFByb2plY3Q8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJOZXN0ZWQgUGFuZWxzIn0gLnN1YnRpdGxlPSR7IlBhbmVscyBjYW4gYmUgbmVzdGVkIGZvciBoaWVyYXJjaGljYWwgb3JnYW5pemF0aW9uIn0+CiAgICAgICAgPHA+WW91IGNhbiBuZXN0IHBhbmVscyB0byBjcmVhdGUgbW9yZSBjb21wbGV4IGxheW91dHM6PC9wPgogICAgICAgIAogICAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJOZXN0ZWQgUGFuZWwgMSJ9IC52YXJpYW50PSR7Im91dGxpbmUifSAuc2l6ZT0keyJzbSJ9PgogICAgICAgICAgPHA+VGhpcyBpcyBhIG5lc3RlZCBwYW5lbCB3aXRoIG91dGxpbmUgdmFyaWFudCBhbmQgc21hbGwgc2l6ZS48L3A+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAgIAogICAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJOZXN0ZWQgUGFuZWwgMiJ9IC52YXJpYW50PSR7Imdob3N0In0gLnNpemU9JHsic20ifT4KICAgICAgICAgIDxwPlRoaXMgaXMgYW5vdGhlciBuZXN0ZWQgcGFuZWwgd2l0aCBnaG9zdCB2YXJpYW50LjwvcD4KICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+VW50aXRsZWQgUGFuZWxzPC9oMj4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsPgogICAgICAgIDxwPlBhbmVscyB3b3JrIGdyZWF0IGV2ZW4gd2l0aG91dCBhIHRpdGxlIGZvciBzaW1wbGUgY29udGVudCBncm91cGluZy48L3A+CiAgICAgICAgPHA+VGhleSBwcm92aWRlIHZpc3VhbCBzZXBhcmF0aW9uIGFuZCBjb25zaXN0ZW50IHBhZGRpbmcgdGhyb3VnaG91dCB5b3VyIGludGVyZmFjZS48L3A+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQtbGF5b3V0Ij4KICAgICAgICA8ZGVlcy1wYW5lbCAudmFyaWFudD0keyJvdXRsaW5lIn0+CiAgICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbi10b3A6IDA7Ij5DdXN0b20gQ29udGVudDwvaDQ+CiAgICAgICAgICA8cD5Zb3UgY2FuIGFkZCB5b3VyIG93biBoZWFkaW5ncyBhbmQgc3RydWN0dXJlIHdpdGhpbiB1bnRpdGxlZCBwYW5lbHMuPC9wPgogICAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgICAKICAgICAgICA8ZGVlcy1wYW5lbCAudmFyaWFudD0keyJnaG9zdCJ9PgogICAgICAgICAgPGg0IHN0eWxlPSJtYXJnaW4tdG9wOiAwOyI+TWluaW1hbCBTdHlsZTwvaDQ+CiAgICAgICAgICA8cD5HaG9zdCBwYW5lbHMgd2l0aG91dCB0aXRsZXMgY3JlYXRlIHZlcnkgc3VidGxlIGNvbnRlbnQgc2VjdGlvbnMuPC9wPgogICAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBHYmEsWWJhLHBPZSxaYmEsZ2EsdDYsWGJhLEtiYSxuWXQsUWJhLEpiYSx0dWksYXVpLElyPWMoKCk9PntwZSgpO0diYT0iR2Vpc3QgU2FucyIsWWJhPSJJbnRlbCBPbmUgTW9ubyIscE9lPWAnJHtHYmF9JywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgJ094eWdlbicsICdVYnVudHUnLCAnQ2FudGFyZWxsJywgJ0ZpcmEgU2FucycsICdEcm9pZCBTYW5zJywgJ0hlbHZldGljYSBOZXVlJywgc2Fucy1zZXJpZmAsWmJhPWAnJHtZYmF9JywgJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsICdGaXJhIE1vbm8nLCAnRHJvaWQgU2FucyBNb25vJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlYCxnYT1PdChwT2UpLHQ2PU90KFpiYSksWGJhPSJDYWwgU2FucyIsS2JhPWAnJHtYYmF9JywgJHtwT2V9YCxuWXQ9T3QoS2JhKSxRYmE9IlJvYm90byBTbGFiIixKYmE9YCcke1FiYX0nLCBHZW9yZ2lhLCBzZXJpZmAsdHVpPU90KEpiYSksYXVpPU90KGAKICBmb250LWZhbWlseTogJHtwT2V9OwogIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7CiAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnY3YxMScsICd0bnVtJywgJ2N2MDUnIDE7CmApfSk7dmFyIEg4LF9zLGxZdCxXMT1jKCgpPT57cGUoKTtvWXQoKTtJcigpO1hlKCk7SDg9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LF9zPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxsWXQ9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLXBhbmVsIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W107dmFyIEU9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNQYW5lbCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6U3RyaW5nfSldLGg9W0woe3R5cGU6U3RyaW5nfSldLHA9W0woe3R5cGU6U3RyaW5nfSldLHg9W0woe3R5cGU6U3RyaW5nfSldLHk9W0woe2F0dHJpYnV0ZTohMX0pXSxIOCh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpdGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJ0aXRsZSJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLnRpdGxlLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0MudGl0bGU9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxvLGwpLEg4KHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3VidGl0bGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+InN1YnRpdGxlImluIEMsImhhcyIpLGdldDppKEM9PkMuc3VidGl0bGUsImdldCIpLHNldDppKChDLE4pPT57Qy5zdWJ0aXRsZT1OfSwic2V0Iil9LG1ldGFkYXRhOl99LHUsZiksSDgodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YXJpYW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJ2YXJpYW50ImluIEMsImhhcyIpLGdldDppKEM9PkMudmFyaWFudCwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLnZhcmlhbnQ9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxnLHYpLEg4KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4ic2l6ZSJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLnNpemUsImdldCIpLHNldDppKChDLE4pPT57Qy5zaXplPU59LCJzZXQiKX0sbWV0YWRhdGE6X30sYixtKSxIOCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJ1bkFmdGVyUmVuZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJydW5BZnRlclJlbmRlciJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLnJ1bkFmdGVyUmVuZGVyLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0MucnVuQWZ0ZXJSZW5kZXI9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxNLGspLEg4KG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsYSksRT1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89c1l0O3N0YXRpYyBkZW1vR3JvdXBzPVsiTGF5b3V0Il07I2U9X3ModGhpcyxvLCIiKTtnZXQgdGl0bGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdGl0bGUoXyl7dGhpcy4jZT1ffSN0PShfcyh0aGlzLGwpLF9zKHRoaXMsdSwiIikpO2dldCBzdWJ0aXRsZSgpe3JldHVybiB0aGlzLiN0fXNldCBzdWJ0aXRsZShfKXt0aGlzLiN0PV99I2E9KF9zKHRoaXMsZiksX3ModGhpcyxnLCJkZWZhdWx0IikpO2dldCB2YXJpYW50KCl7cmV0dXJuIHRoaXMuI2F9c2V0IHZhcmlhbnQoXyl7dGhpcy4jYT1ffSNyPShfcyh0aGlzLHYpLF9zKHRoaXMsYiwibWQiKSk7Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2l6ZShfKXt0aGlzLiNyPV99I2k9KF9zKHRoaXMsbSksX3ModGhpcyxNLHZvaWQgMCkpO2dldCBydW5BZnRlclJlbmRlcigpe3JldHVybiB0aGlzLiNpfXNldCBydW5BZnRlclJlbmRlcihfKXt0aGlzLiNpPV99c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmb250LWZhbWlseTogJHtnYX07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICB9CgogICAgICAvKiBWYXJpYW50OiBkZWZhdWx0ICovCiAgICAgIDpob3N0KFt2YXJpYW50PSJkZWZhdWx0Il0pIHsKICAgICAgICBib3gtc2hhZG93OiAwIDFweCAycHggMCBoc2woMCAwJSAwJSAvIDAuMDUpOwogICAgICB9CgogICAgICAvKiBWYXJpYW50OiBvdXRsaW5lICovCiAgICAgIDpob3N0KFt2YXJpYW50PSJvdXRsaW5lIl0pIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3gtc2hhZG93OiBub25lOwogICAgICB9CgogICAgICAvKiBWYXJpYW50OiBnaG9zdCAqLwogICAgICA6aG9zdChbdmFyaWFudD0iZ2hvc3QiXSkgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICAvKiBTaXplIHZhcmlhdGlvbnMgKi8KICAgICAgOmhvc3QoW3NpemU9InNtIl0pIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICA6aG9zdChbc2l6ZT0ibGciXSkgewogICAgICAgIHBhZGRpbmc6IDMycHg7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5oZWFkZXI6ZW1wdHkgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgfQoKICAgICAgLyogVGl0bGUgc2l6ZSB2YXJpYXRpb25zICovCiAgICAgIDpob3N0KFtzaXplPSJzbSJdKSAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgfQoKICAgICAgOmhvc3QoW3NpemU9ImxnIl0pIC50aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIG1hcmdpbjogNHB4IDAgMCAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA2ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgfQoKICAgICAgLyogU3VidGl0bGUgc2l6ZSB2YXJpYXRpb25zICovCiAgICAgIDpob3N0KFtzaXplPSJzbSJdKSAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgOmhvc3QoW3NpemU9ImxnIl0pIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIG1hcmdpbi10b3A6IDZweDsKICAgICAgfQoKICAgICAgLmNvbnRlbnQgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjE3LjkgMTAuNiUgODQuOSUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICB9CgogICAgICAvKiBDb250ZW50IHNpemUgdmFyaWF0aW9ucyAqLwogICAgICA6aG9zdChbc2l6ZT0ic20iXSkgLmNvbnRlbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgOmhvc3QoW3NpemU9ImxnIl0pIC5jb250ZW50IHsKICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgIH0KCiAgICAgIC8qIFJlbW92ZSBtYXJnaW5zIGZyb20gZmlyc3QgYW5kIGxhc3QgY2hpbGRyZW4gKi8KICAgICAgLmNvbnRlbnQgOjpzbG90dGVkKCo6Zmlyc3QtY2hpbGQpIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICB9CgogICAgICAuY29udGVudCA6OnNsb3R0ZWQoKjpsYXN0LWNoaWxkKSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLyogSW50ZXJhY3RpdmUgc3RhdGVzIGZvciBkZWZhdWx0IHZhcmlhbnQgKi8KICAgICAgOmhvc3QoW3ZhcmlhbnQ9ImRlZmF1bHQiXTpob3ZlcikgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCBoc2woMCAwJSAwJSAvIDAuMSksIDAgMnB4IDRweCAtMnB4IGhzbCgwIDAlIDAlIC8gMC4xKTsKICAgICAgfQoKICAgICAgLyogSW50ZXJhY3RpdmUgc3RhdGVzIGZvciBvdXRsaW5lIHZhcmlhbnQgKi8KICAgICAgOmhvc3QoW3ZhcmlhbnQ9Im91dGxpbmUiXTpob3ZlcikgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTglKSIsImhzbCgwIDAlIDcuOCUpIil9OwogICAgICB9CgogICAgICAvKiBJbnRlcmFjdGl2ZSBzdGF0ZXMgZm9yIGdob3N0IHZhcmlhbnQgKi8KICAgICAgOmhvc3QoW3ZhcmlhbnQ9Imdob3N0Il06aG92ZXIpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CgogICAgICAvKiBGb2N1cyBzdGF0ZXMgKi8KICAgICAgOmhvc3QoOmZvY3VzLXdpdGhpbikgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7ZC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLyogTmVzdGVkIHBhbmVscyBzcGFjaW5nICovCiAgICAgIDo6c2xvdHRlZChkZWVzLXBhbmVsKSB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgfQoKICAgICAgOjpzbG90dGVkKGRlZXMtcGFuZWw6Zmlyc3QtY2hpbGQpIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAke3RoaXMudGl0bGU/d2A8aDMgY2xhc3M9InRpdGxlIj4ke3RoaXMudGl0bGV9PC9oMz5gOiIifQogICAgICAgICR7dGhpcy5zdWJ0aXRsZT93YDxwIGNsYXNzPSJzdWJ0aXRsZSI+JHt0aGlzLnN1YnRpdGxlfTwvcD5gOiIifQogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy5ydW5BZnRlclJlbmRlciYmYXdhaXQgdGhpcy5ydW5BZnRlclJlbmRlcih0aGlzKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksX3ModGhpcyxrKX1zdGF0aWN7X3MocixhKX19O3JldHVybiBFPXJ9KSgpfSk7dmFyIGNZdCx1T2UsZFl0LHBZdD1jKCgpPT57cGUoKTtSYSgpO1cxKCk7dU9lPWkodD0+QXJyYXkuZnJvbSh7bGVuZ3RoOnR9LChlLGEpPT4oe2lkOmEsdXNhZ2U6TWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpKjEwMCksbGFiZWw6YCR7YX1gfSkpLCJnZW5lcmF0ZUNwdUNvcmVzIiksZFl0PWkoKCk9PncoY1l0fHwoY1l0PUI2KFtgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgIGAsYAogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgICAudGlsZXM9YCxgCiAgICAgICAgICAuZ3JpZEFjdGlvbnM9YCxgCiAgICAgICAgICAubWluVGlsZVdpZHRoPWAsYAogICAgICAgICAgLmdhcD1gLGAKICAgICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KICAgICAgICAKICAgICAgICA8ZGl2IGlkPSJhY3Rpb24tb3V0cHV0IiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsgcGFkZGluZzogMTJweDsgYmFja2dyb3VuZDogYCwiOyBib3JkZXItcmFkaXVzOiA2cHg7IGZvbnQtc2l6ZTogMTRweDsgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsgY29sb3I6ICIsYDsiPgogICAgICAgICAgPGVtPkNsaWNrIG9uIHRpbGUgYWN0aW9ucyBvciBncmlkIGFjdGlvbnMgdG8gc2VlIHRoZSByZXN1bHQuLi48L2VtPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgICAudGlsZXM9YCxgCiAgICAgICAgICAubWluVGlsZVdpZHRoPWAsYAogICAgICAgICAgLmdhcD1gLGAKICAgICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWNvbmZpZyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25maWctc2VjdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy10aXRsZSI+Q29uZmlndXJhdGlvbiBPcHRpb25zPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy1kZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgRWFjaCB0aWxlIHR5cGUgc3VwcG9ydHMgZGlmZmVyZW50IHByb3BlcnRpZXM6CiAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW46IDhweCAwOyBwYWRkaW5nLWxlZnQ6IDIwcHg7Ij4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPk51bWJlcjo8L3N0cm9uZz4gdmFsdWUsIHVuaXQsIGNvbG9yLCBkZXNjcmlwdGlvbjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5HYXVnZTo8L3N0cm9uZz4gdmFsdWUsIHVuaXQsIGdhdWdlT3B0aW9ucyAobWluLCBtYXgsIHRocmVzaG9sZHMpPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPlBlcmNlbnRhZ2U6PC9zdHJvbmc+IHZhbHVlICgwLTEwMCksIGNvbG9yLCBkZXNjcmlwdGlvbjwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5UcmVuZDo8L3N0cm9uZz4gdmFsdWUsIHVuaXQsIHRyZW5kRGF0YSBhcnJheSwgZGVzY3JpcHRpb248L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+VGV4dDo8L3N0cm9uZz4gdmFsdWUgKHN0cmluZyksIGNvbG9yLCBkZXNjcmlwdGlvbjwvbGk+CiAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxoNCBzdHlsZT0ibWFyZ2luOiAwIDAgMTZweCAwOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA2MDA7Ij5Db21wYWN0IExheW91dCAoMTgwcHggdGlsZXMpPC9oND4KICAgICAgICA8ZGVlcy1zdGF0c2dyaWQKICAgICAgICAgIC50aWxlcz1gLGAKICAgICAgICAgIC5taW5UaWxlV2lkdGg9YCxgCiAgICAgICAgICAuZ2FwPWAsYAogICAgICAgID48L2RlZXMtc3RhdHNncmlkPgogICAgICAgIAogICAgICAgIDxoNCBzdHlsZT0ibWFyZ2luOiAyNHB4IDAgMTZweCAwOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA2MDA7Ij5TcGFjaW91cyBMYXlvdXQgKDMyMHB4IHRpbGVzKTwvaDQ+CiAgICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgICAudGlsZXM9YCxgCiAgICAgICAgICAubWluVGlsZVdpZHRoPWAsYAogICAgICAgICAgLmdhcD1gLGAKICAgICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLXN0YXRzZ3JpZAogICAgICAgICAgaWQ9ImNwdS1jb3Jlcy1ncmlkIgogICAgICAgICAgLnRpbGVzPWAsYAogICAgICAgICAgLmdyaWRBY3Rpb25zPWAsYAogICAgICAgICAgLm1pblRpbGVXaWR0aD1gLGAKICAgICAgICAgIC5nYXA9YCxgCiAgICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1zdGF0c2dyaWQKICAgICAgICAgIGlkPSJpbnRlcmFjdGl2ZS1ncmlkIgogICAgICAgICAgLnRpbGVzPWAsYAogICAgICAgICAgLmdyaWRBY3Rpb25zPWAsYAogICAgICAgICAgLm1pblRpbGVXaWR0aD1gLGAKICAgICAgICAgIC5nYXA9YCxgCiAgICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWJsb2NrIj5gLGA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLXN0YXRzZ3JpZAogICAgICAgICAgLnRpbGVzPWAsYAogICAgICAgICAgLm1pblRpbGVXaWR0aD1gLGAKICAgICAgICAgIC5nYXA9YCxgCiAgICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CgogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtY29uZmlnIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLXRpdGxlIj5QYXJ0aXRpb24gVGlsZSBQcm9wZXJ0aWVzPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy1kZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW46IDhweCAwOyBwYWRkaW5nLWxlZnQ6IDIwcHg7Ij4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPnBhcnRpdGlvbkRhdGEudXNlZDo8L3N0cm9uZz4gVXNlZCBzcGFjZSBpbiBieXRlcyAoYXV0by1mb3JtYXR0ZWQpPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPnBhcnRpdGlvbkRhdGEudG90YWw6PC9zdHJvbmc+IFRvdGFsIGNhcGFjaXR5IGluIGJ5dGVzPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPnBhcnRpdGlvbkRhdGEuZmlsZXN5c3RlbTo8L3N0cm9uZz4gRmlsZXN5c3RlbSB0eXBlIChleHQ0LCB4ZnMsIG50ZnMpPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPnBhcnRpdGlvbkRhdGEubW91bnRQb2ludDo8L3N0cm9uZz4gTW91bnQgcG9pbnQgcGF0aCAob3B0aW9uYWwpPC9saT4KICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgIENvbG9yIHRocmVzaG9sZHM6IE5vcm1hbCAoJmx0Ozc1JSksIFdhcm5pbmcgKDc1LTkwJSksIENyaXRpY2FsICgmZ3Q7OTAlKQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25maWctdGl0bGUiPkRpc2sgVGlsZSBQcm9wZXJ0aWVzPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy1kZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgPHVsIHN0eWxlPSJtYXJnaW46IDhweCAwOyBwYWRkaW5nLWxlZnQ6IDIwcHg7Ij4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPmRpc2tEYXRhLmNhcGFjaXR5Ojwvc3Ryb25nPiBUb3RhbCBjYXBhY2l0eSBpbiBieXRlczwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5kaXNrRGF0YS5tb2RlbDo8L3N0cm9uZz4gRGlzayBtb2RlbCBuYW1lIChvcHRpb25hbCk8L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+ZGlza0RhdGEudHlwZTo8L3N0cm9uZz4gRGlzayB0eXBlOiAnc3NkJywgJ2hkZCcsIG9yICdudm1lJzwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5kaXNrRGF0YS5pb3BzOjwvc3Ryb25nPiBSZWFkL3dyaXRlIElPUFMgKG9wdGlvbmFsKTwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5kaXNrRGF0YS5oZWFsdGg6PC9zdHJvbmc+IEhlYWx0aCBwZXJjZW50YWdlIDAtMTAwIChvcHRpb25hbCk8L2xpPgogICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgSGVhbHRoIHRocmVzaG9sZHM6IEdvb2QgKDcwLTEwMCUpLCBXYXJuaW5nICgzMC03MCUpLCBDcml0aWNhbCAoJmx0OzMwJSkKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CgogICAgPHNjcmlwdD4KICAgICAgLy8gQ2xlYW51cCBsaXZlIHVwZGF0ZXMgb24gcGFnZSB1bmxvYWQKICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2JlZm9yZXVubG9hZCcsICgpID0+IHsKICAgICAgICBpZiAoKHdpbmRvdyBhcyBhbnkpLmxpdmVVcGRhdGVJbnRlcnZhbCkgewogICAgICAgICAgY2xlYXJJbnRlcnZhbCgod2luZG93IGFzIGFueSkubGl2ZVVwZGF0ZUludGVydmFsKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgPFwvc2NyaXB0PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgXSkpLFhgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTQwMHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWwgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbDpsYXN0LWNoaWxkIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC50aWxlLWNvbmZpZyB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29uZmlnLXNlY3Rpb24gewogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNvbmZpZy10aXRsZSB7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNvbmZpZy1kZXNjcmlwdGlvbiB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNvZGUtYmxvY2sgewogICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTEuOCUpIil9OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7CiAgICAgICAgfQogICAgICBgLCIxLiBDb21wcmVoZW5zaXZlIERhc2hib2FyZCIsIkZ1bGwtZmVhdHVyZWQgc3RhdHMgZ3JpZCB3aXRoIHZhcmlvdXMgdGlsZSB0eXBlcywgYWN0aW9ucywgYW5kIEx1Y2lkZSBpY29ucyIsW3tpZDoicmV2ZW51ZSIsdGl0bGU6IlRvdGFsIFJldmVudWUiLHZhbHVlOjEyNTQyMCx1bml0OiIkIix0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpkb2xsYXItc2lnbiIsZGVzY3JpcHRpb246IisxMi41JSBmcm9tIGxhc3QgbW9udGgiLGFjdGlvbnM6W3tuYW1lOiJWaWV3IERldGFpbHMiLGljb25OYW1lOiJsdWNpZGU6dHJlbmRpbmctdXAiLGFjdGlvbjppKGFzeW5jKCk9PntsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWN0aW9uLW91dHB1dCIpO3QmJih0LnRleHRDb250ZW50PSJWaWV3aW5nIHJldmVudWUgZGV0YWlsczogJDEyNSw0MjAgKCsxMi41JSkiKX0sImFjdGlvbiIpfSx7bmFtZToiRXhwb3J0IERhdGEiLGljb25OYW1lOiJsdWNpZGU6ZG93bmxvYWQiLGFjdGlvbjppKGFzeW5jKCk9PntsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWN0aW9uLW91dHB1dCIpO3QmJih0LnRleHRDb250ZW50PSJFeHBvcnRpbmcgcmV2ZW51ZSBkYXRhIHRvIENTVi4uLiIpfSwiYWN0aW9uIil9XX0se2lkOiJ1c2VycyIsdGl0bGU6IkFjdGl2ZSBVc2VycyIsdmFsdWU6Mzg0Nyx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTp1c2VycyIsZGVzY3JpcHRpb246IjMyNCBuZXcgdGhpcyB3ZWVrIixhY3Rpb25zOlt7bmFtZToiVmlldyBVc2VyIExpc3QiLGljb25OYW1lOiJsdWNpZGU6bGlzdCIsYWN0aW9uOmkoYXN5bmMoKT0+e2xldCB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhY3Rpb24tb3V0cHV0Iik7dCYmKHQudGV4dENvbnRlbnQ9Ik9wZW5pbmcgdXNlciBsaXN0Li4uIil9LCJhY3Rpb24iKX1dfSx7aWQ6ImNwdSIsdGl0bGU6IkNQVSBVc2FnZSIsdmFsdWU6NzMsdW5pdDoiJSIsdHlwZToiZ2F1Z2UiLGljb246Imx1Y2lkZTpjcHUiLGdhdWdlT3B0aW9uczp7bWluOjAsbWF4OjEwMCx0aHJlc2hvbGRzOlt7dmFsdWU6MCxjb2xvcjoiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSJ9LHt2YWx1ZTo2MCxjb2xvcjoiaHNsKDQ1LjQgOTMuNCUgNDcuNSUpIn0se3ZhbHVlOjgwLGNvbG9yOiJoc2woMCA4NC4yJSA2MC4yJSkifV19fSx7aWQ6InN0b3JhZ2UiLHRpdGxlOiJTdG9yYWdlIFVzZWQiLHZhbHVlOjY1LHR5cGU6InBlcmNlbnRhZ2UiLGljb246Imx1Y2lkZTpoYXJkLWRyaXZlIixkZXNjcmlwdGlvbjoiNjUwIEdCIG9mIDEgVEIifSx7aWQ6ImxhdGVuY3kiLHRpdGxlOiJSZXNwb25zZSBUaW1lIix2YWx1ZToxNDIsdW5pdDoibXMiLHR5cGU6InRyZW5kIixpY29uOiJsdWNpZGU6YWN0aXZpdHkiLHRyZW5kRGF0YTpbMTUwLDE0NSwxNDgsMTQyLDEzOCwxNDAsMTM1LDE0NSwxNDJdLGRlc2NyaXB0aW9uOiJQOTUifSx7aWQ6InVwdGltZSIsdGl0bGU6IlN5c3RlbSBVcHRpbWUiLHZhbHVlOiI5OS45NSUiLHR5cGU6InRleHQiLGljb246Imx1Y2lkZTpjaGVjay1jaXJjbGUiLGNvbG9yOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIixkZXNjcmlwdGlvbjoiTGFzdCAzMCBkYXlzIn1dLFt7bmFtZToiUmVmcmVzaCIsaWNvbk5hbWU6Imx1Y2lkZTpyZWZyZXNoLWN3IixhY3Rpb246aShhc3luYygpPT57bGV0IHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZGVlcy1zdGF0c2dyaWQiKTt0JiYodC5zdHlsZS5vcGFjaXR5PSIwLjUiLHNldFRpbWVvdXQoKCk9Pnt0LnN0eWxlLm9wYWNpdHk9IjEifSwzMDApKX0sImFjdGlvbiIpfSx7bmFtZToiRXhwb3J0IixpY29uTmFtZToibHVjaWRlOnNoYXJlIixhY3Rpb246aShhc3luYygpPT57bGV0IHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FjdGlvbi1vdXRwdXQiKTt0JiYodC50ZXh0Q29udGVudD0iRXhwb3J0aW5nIGRhc2hib2FyZCByZXBvcnQuLi4iKX0sImFjdGlvbiIpfSx7bmFtZToiU2V0dGluZ3MiLGljb25OYW1lOiJsdWNpZGU6c2V0dGluZ3MiLGFjdGlvbjppKGFzeW5jKCk9PntsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWN0aW9uLW91dHB1dCIpO3QmJih0LnRleHRDb250ZW50PSJPcGVuaW5nIGRhc2hib2FyZCBzZXR0aW5ncy4uLiIpfSwiYWN0aW9uIil9XSwyNTAsMTYsZC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpLGQuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKSwiMi4gVGlsZSBUeXBlcyIsIkRpZmZlcmVudCB2aXN1YWxpemF0aW9uIHR5cGVzIGF2YWlsYWJsZSBpbiB0aGUgc3RhdHMgZ3JpZCIsW3tpZDoibnVtYmVyLWV4YW1wbGUiLHRpdGxlOiJOdW1iZXIgVGlsZSIsdmFsdWU6NDIxOTUsdW5pdDoiJCIsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6aGFzaCIsZGVzY3JpcHRpb246IlNpbXBsZSBudW1lcmljIGRpc3BsYXkifSx7aWQ6ImdhdWdlLWV4YW1wbGUiLHRpdGxlOiJHYXVnZSBUaWxlIix2YWx1ZTo2OCx1bml0OiIlIix0eXBlOiJnYXVnZSIsaWNvbjoibHVjaWRlOmdhdWdlIixnYXVnZU9wdGlvbnM6e21pbjowLG1heDoxMDAsdGhyZXNob2xkczpbe3ZhbHVlOjAsY29sb3I6ImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkifSx7dmFsdWU6NTAsY29sb3I6ImhzbCg0NS40IDkzLjQlIDQ3LjUlKSJ9LHt2YWx1ZTo4MCxjb2xvcjoiaHNsKDAgODQuMiUgNjAuMiUpIn1dfX0se2lkOiJwZXJjZW50YWdlLWV4YW1wbGUiLHRpdGxlOiJQZXJjZW50YWdlIFRpbGUiLHZhbHVlOjc4LHR5cGU6InBlcmNlbnRhZ2UiLGljb246Imx1Y2lkZTpwZXJjZW50IixkZXNjcmlwdGlvbjoiUHJvZ3Jlc3MgYmFyIHZpc3VhbGl6YXRpb24ifSx7aWQ6InRyZW5kLWV4YW1wbGUiLHRpdGxlOiJUcmVuZCBUaWxlIix2YWx1ZTo4OTIsdW5pdDoib3BzL3MiLHR5cGU6InRyZW5kIixpY29uOiJsdWNpZGU6dHJlbmRpbmctdXAiLHRyZW5kRGF0YTpbNzIwLDc1MCw3ODAsNzk1LDgxMCw4MzUsODUwLDg2NSw4ODAsODkyXSxkZXNjcmlwdGlvbjoiYXZnIn0se2lkOiJ0ZXh0LWV4YW1wbGUiLHRpdGxlOiJUZXh0IFRpbGUiLHZhbHVlOiJPcGVyYXRpb25hbCIsdHlwZToidGV4dCIsaWNvbjoibHVjaWRlOmluZm8iLGNvbG9yOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIixkZXNjcmlwdGlvbjoiU3RhdHVzIGRpc3BsYXkifV0sMjgwLDE2LCIzLiBHcmlkIENvbmZpZ3VyYXRpb25zIiwiRGlmZmVyZW50IGxheW91dCBvcHRpb25zIGFuZCByZXNwb25zaXZlIGJlaGF2aW9yIixbe2lkOiIxIix0aXRsZToiT3JkZXJzIix2YWx1ZToxNTYsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6c2hvcHBpbmctY2FydCJ9LHtpZDoiMiIsdGl0bGU6IlJldmVudWUiLHZhbHVlOjg0MjAsdW5pdDoiJCIsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6ZG9sbGFyLXNpZ24ifSx7aWQ6IjMiLHRpdGxlOiJVc2VycyIsdmFsdWU6NDIzLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOnVzZXJzIn0se2lkOiI0Iix0aXRsZToiR3Jvd3RoIix2YWx1ZToxMi41LHVuaXQ6IiUiLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOnRyZW5kaW5nLXVwIixjb2xvcjoiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSJ9XSwxODAsMTIsW3tpZDoic3BhY2lvdXMxIix0aXRsZToiTW9udGhseSBSZXZlbnVlIix2YWx1ZToxODQ1MDAsdW5pdDoiJCIsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6Y3JlZGl0LWNhcmQiLGRlc2NyaXB0aW9uOiJUb3RhbCByZXZlbnVlIHRoaXMgbW9udGgifSx7aWQ6InNwYWNpb3VzMiIsdGl0bGU6IkN1c3RvbWVyIFNhdGlzZmFjdGlvbiIsdmFsdWU6OTQsdHlwZToicGVyY2VudGFnZSIsaWNvbjoibHVjaWRlOnNtaWxlIixkZXNjcmlwdGlvbjoiQmFzZWQgb24gMSwyMzQgcmV2aWV3cyJ9LHtpZDoic3BhY2lvdXMzIix0aXRsZToiU2VydmVyIFJlc3BvbnNlIix2YWx1ZTo5OCx1bml0OiJtcyIsdHlwZToidHJlbmQiLGljb246Imx1Y2lkZTpzZXJ2ZXIiLHRyZW5kRGF0YTpbMTA1LDEwMiwxMDAsOTksOTgsOTgsOTcsOThdLGRlc2NyaXB0aW9uOiJhdmcgcmVzcG9uc2UgdGltZSJ9XSwzMjAsMjAsIjQuIENQVSBDb3JlcyBWaXN1YWxpemF0aW9uIiwiVmVydGljYWwgYmFyIHZpc3VhbGl6YXRpb24gZm9yIG11bHRpLWNvcmUgQ1BVIHVzYWdlIHdpdGggY29sdW1uIHNwYW5uaW5nIixbe2lkOiJjcHUtY29yZXMtOCIsdGl0bGU6IkNQVSBDb3JlcyAoOC1jb3JlKSIsdmFsdWU6MCx0eXBlOiJjcHVDb3JlcyIsaWNvbjoibHVjaWRlOmNwdSIsY29sdW1uU3BhbjoyLGNvcmVzRGF0YTp1T2UoOCksZGVzY3JpcHRpb246IkludGVsIGk3IC0gOCBjb3JlcyJ9LHtpZDoibWVtb3J5Iix0aXRsZToiTWVtb3J5IFVzYWdlIix2YWx1ZTo2OCx0eXBlOiJwZXJjZW50YWdlIixpY29uOiJsdWNpZGU6ZGF0YWJhc2UiLGRlc2NyaXB0aW9uOiIxMy42IEdCIG9mIDIwIEdCIn0se2lkOiJjcHUtY29yZXMtMTYiLHRpdGxlOiJDUFUgQ29yZXMgKDE2LWNvcmUpIix2YWx1ZTowLHR5cGU6ImNwdUNvcmVzIixpY29uOiJsdWNpZGU6Y3B1Iixjb2x1bW5TcGFuOjIsY29yZXNEYXRhOnVPZSgxNiksZGVzY3JpcHRpb246IkFNRCBSeXplbiA5IC0gMTYgY29yZXMifSx7aWQ6Im5ldHdvcmsiLHRpdGxlOiJOZXR3b3JrIEkvTyIsdmFsdWU6MjQ1LHVuaXQ6Ik1CL3MiLHR5cGU6InRyZW5kIixpY29uOiJsdWNpZGU6bmV0d29yayIsdHJlbmREYXRhOlsyMDAsMjIwLDIzNSwyNDAsMjM4LDI0NV0sZGVzY3JpcHRpb246InRocm91Z2hwdXQifSx7aWQ6ImNwdS1jb3Jlcy0zMiIsdGl0bGU6IlNlcnZlciBDUFUgKDMyLWNvcmUpIix2YWx1ZTowLHR5cGU6ImNwdUNvcmVzIixpY29uOiJsdWNpZGU6c2VydmVyIixjb2x1bW5TcGFuOjMsY29yZXNEYXRhOnVPZSgzMiksZGVzY3JpcHRpb246IkFNRCBFUFlDIC0gMzIgY29yZXMifSx7aWQ6ImRpc2siLHRpdGxlOiJEaXNrIFVzYWdlIix2YWx1ZTo0Mix0eXBlOiJwZXJjZW50YWdlIixpY29uOiJsdWNpZGU6aGFyZC1kcml2ZSIsZGVzY3JpcHRpb246IjQyMCBHQiBvZiAxIFRCIn1dLFt7bmFtZToiUmFuZG9taXplIixpY29uTmFtZToibHVjaWRlOnNodWZmbGUiLGFjdGlvbjppKGFzeW5jKCk9PntsZXQgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjY3B1LWNvcmVzLWdyaWQiKTtpZighdClyZXR1cm47bGV0IGU9dC50aWxlcy5tYXAoYT0+YS50eXBlPT09ImNwdUNvcmVzIiYmYS5jb3Jlc0RhdGE/ey4uLmEsY29yZXNEYXRhOmEuY29yZXNEYXRhLm1hcChyPT4oey4uLnIsdXNhZ2U6TWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpKjEwMCl9KSl9OmEpO3QudGlsZXM9ZX0sImFjdGlvbiIpfV0sMjUwLDE2LCI1LiBJbnRlcmFjdGl2ZSBGZWF0dXJlcyIsIlRpbGVzIHdpdGggYWN0aW9ucyBhbmQgcmVhbC10aW1lIHVwZGF0ZXMiLFt7aWQ6ImxpdmUtY3B1Iix0aXRsZToiTGl2ZSBDUFUiLHZhbHVlOjQ1LHVuaXQ6IiUiLHR5cGU6ImdhdWdlIixpY29uOiJsdWNpZGU6Y3B1IixnYXVnZU9wdGlvbnM6e21pbjowLG1heDoxMDAsdGhyZXNob2xkczpbe3ZhbHVlOjAsY29sb3I6ImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkifSx7dmFsdWU6NjAsY29sb3I6ImhzbCg0NS40IDkzLjQlIDQ3LjUlKSJ9LHt2YWx1ZTo4MCxjb2xvcjoiaHNsKDAgODQuMiUgNjAuMiUpIn1dfX0se2lkOiJsaXZlLXJlcXVlc3RzIix0aXRsZToiUmVxdWVzdHMvc2VjIix2YWx1ZTo4OTIsdHlwZToidHJlbmQiLGljb246Imx1Y2lkZTphY3Rpdml0eSIsdHJlbmREYXRhOls4NTAsODYwLDg3MCw4ODAsODg1LDg5MCw4OTJdfSx7aWQ6ImxpdmUtbWVtb3J5Iix0aXRsZToiTWVtb3J5IFVzYWdlIix2YWx1ZTo2Mix0eXBlOiJwZXJjZW50YWdlIixpY29uOiJsdWNpZGU6ZGF0YWJhc2UifSx7aWQ6ImNvdW50ZXIiLHRpdGxlOiJFdmVudCBDb3VudGVyIix2YWx1ZTowLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOnphcCIsYWN0aW9uczpbe25hbWU6IkluY3JlbWVudCIsaWNvbk5hbWU6Imx1Y2lkZTpwbHVzIixhY3Rpb246aShhc3luYygpPT57bGV0IHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2ludGVyYWN0aXZlLWdyaWQiKTtpZighdClyZXR1cm47bGV0IGU9dC50aWxlcy5maW5kKGE9PmEuaWQ9PT0iY291bnRlciIpO2UudmFsdWU9dHlwZW9mIGUudmFsdWU9PSJudW1iZXIiP2UudmFsdWUrMToxLHQudGlsZXM9Wy4uLnQudGlsZXNdfSwiYWN0aW9uIil9LHtuYW1lOiJSZXNldCIsaWNvbk5hbWU6Imx1Y2lkZTpyb3RhdGUtY2N3IixhY3Rpb246aShhc3luYygpPT57bGV0IHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2ludGVyYWN0aXZlLWdyaWQiKTtpZighdClyZXR1cm47bGV0IGU9dC50aWxlcy5maW5kKGE9PmEuaWQ9PT0iY291bnRlciIpO2UudmFsdWU9MCx0LnRpbGVzPVsuLi50LnRpbGVzXX0sImFjdGlvbiIpfV19XSxbe25hbWU6IlN0YXJ0IExpdmUgVXBkYXRlcyIsaWNvbk5hbWU6Imx1Y2lkZTpwbGF5IixhY3Rpb246aShhc3luYyBmdW5jdGlvbigpe3dpbmRvdy5saXZlVXBkYXRlSW50ZXJ2YWw/KGNsZWFySW50ZXJ2YWwod2luZG93LmxpdmVVcGRhdGVJbnRlcnZhbCksd2luZG93LmxpdmVVcGRhdGVJbnRlcnZhbD1udWxsLHRoaXMubmFtZT0iU3RhcnQgTGl2ZSBVcGRhdGVzIix0aGlzLmljb25OYW1lPSJsdWNpZGU6cGxheSIpOih3aW5kb3cubGl2ZVVwZGF0ZUludGVydmFsPXNldEludGVydmFsKCgpPT57bGV0IHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2ludGVyYWN0aXZlLWdyaWQiKTtpZih0KXtsZXQgZT1bLi4udC50aWxlc10sYT1lLmZpbmQobz0+by5pZD09PSJsaXZlLWNwdSIpO2EudmFsdWU9TWF0aC5tYXgoMCxNYXRoLm1pbigxMDAsYS52YWx1ZSsoTWF0aC5yYW5kb20oKSoyMC0xMCkpKTtsZXQgcj1lLmZpbmQobz0+by5pZD09PSJsaXZlLXJlcXVlc3RzIikscz1yLnZhbHVlK01hdGgucm91bmQoTWF0aC5yYW5kb20oKSo1MC0yNSk7ci52YWx1ZT1NYXRoLm1heCg4MDAscyksci50cmVuZERhdGE9Wy4uLnIudHJlbmREYXRhLnNsaWNlKDEpLHIudmFsdWVdO2xldCBuPWUuZmluZChvPT5vLmlkPT09ImxpdmUtbWVtb3J5Iik7bi52YWx1ZT1NYXRoLm1heCgwLE1hdGgubWluKDEwMCxuLnZhbHVlKyhNYXRoLnJhbmRvbSgpKjEwLTUpKSksdC50aWxlcz1lfX0sMWUzKSx0aGlzLm5hbWU9IlN0b3AgTGl2ZSBVcGRhdGVzIix0aGlzLmljb25OYW1lPSJsdWNpZGU6cGF1c2UiKX0sImFjdGlvbiIpfV0sMjUwLDE2LCI2LiBDb2RlIEV4YW1wbGUiLCJIb3cgdG8gaW1wbGVtZW50IGEgc3RhdHMgZ3JpZCB3aXRoIFR5cGVTY3JpcHQiLGBjb25zdCB0aWxlczogSVN0YXRzVGlsZVtdID0gWwogIHsKICAgIGlkOiAncmV2ZW51ZScsCiAgICB0aXRsZTogJ1RvdGFsIFJldmVudWUnLAogICAgdmFsdWU6IDEyNTQyMCwKICAgIHVuaXQ6ICckJywKICAgIHR5cGU6ICdudW1iZXInLAogICAgaWNvbjogJ2x1Y2lkZTpkb2xsYXItc2lnbicsCiAgICBkZXNjcmlwdGlvbjogJysxMi41JSBmcm9tIGxhc3QgbW9udGgnLAogICAgYWN0aW9uczogWwogICAgICB7CiAgICAgICAgbmFtZTogJ1ZpZXcgRGV0YWlscycsCiAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6dHJlbmRpbmctdXAnLAogICAgICAgIGFjdGlvbjogYXN5bmMgKCkgPT4gewogICAgICAgICAgY29uc29sZS5sb2coJ1ZpZXcgcmV2ZW51ZSBkZXRhaWxzJyk7CiAgICAgICAgfQogICAgICB9CiAgICBdCiAgfSwKICB7CiAgICBpZDogJ2NwdScsCiAgICB0aXRsZTogJ0NQVSBVc2FnZScsCiAgICB2YWx1ZTogNzMsCiAgICB1bml0OiAnJScsCiAgICB0eXBlOiAnZ2F1Z2UnLAogICAgaWNvbjogJ2x1Y2lkZTpjcHUnLAogICAgZ2F1Z2VPcHRpb25zOiB7CiAgICAgIG1pbjogMCwKICAgICAgbWF4OiAxMDAsCiAgICAgIHRocmVzaG9sZHM6IFsKICAgICAgICB7IHZhbHVlOiAwLCBjb2xvcjogJ2hzbCgxNDIuMSA3Ni4yJSAzNi4zJSknIH0sCiAgICAgICAgeyB2YWx1ZTogNjAsIGNvbG9yOiAnaHNsKDQ1LjQgOTMuNCUgNDcuNSUpJyB9LAogICAgICAgIHsgdmFsdWU6IDgwLCBjb2xvcjogJ2hzbCgwIDg0LjIlIDYwLjIlKScgfQogICAgICBdCiAgICB9CiAgfQpdOwoKLy8gUmVuZGVyIHRoZSBzdGF0cyBncmlkCmh0bWxcYAogIDxkZWVzLXN0YXRzZ3JpZAogICAgLnRpbGVzPVwke3RpbGVzfQogICAgLm1pblRpbGVXaWR0aD1cJHsyNTB9CiAgICAuZ2FwPVwkezE2fQogICAgLmdyaWRBY3Rpb25zPVwke1sKICAgICAgewogICAgICAgIG5hbWU6ICdSZWZyZXNoJywKICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTpyZWZyZXNoLWN3JywKICAgICAgICBhY3Rpb246IGFzeW5jICgpID0+IGNvbnNvbGUubG9nKCdSZWZyZXNoJykKICAgICAgfQogICAgXX0KICA+PC9kZWVzLXN0YXRzZ3JpZD4KXGA7YCwiNy4gRGlzayAmIFN0b3JhZ2UgVGlsZXMiLCJQYXJ0aXRpb24gYW5kIHBoeXNpY2FsIGRpc2sgdmlzdWFsaXphdGlvbiB0aWxlcyIsW3tpZDoicm9vdC1wYXJ0aXRpb24iLHRpdGxlOiJSb290IFBhcnRpdGlvbiIsdmFsdWU6MCx0eXBlOiJwYXJ0aXRpb24iLGljb246Imx1Y2lkZTpmb2xkZXItcm9vdCIscGFydGl0aW9uRGF0YTp7dXNlZDo2OTgzNDE0MjUxNTIsdG90YWw6MTA3Mzc0MTgyNGUzLGZpbGVzeXN0ZW06ImV4dDQiLG1vdW50UG9pbnQ6Ii8ifX0se2lkOiJob21lLXBhcnRpdGlvbiIsdGl0bGU6IkhvbWUgUGFydGl0aW9uIix2YWx1ZTowLHR5cGU6InBhcnRpdGlvbiIsaWNvbjoibHVjaWRlOmhvbWUiLHBhcnRpdGlvbkRhdGE6e3VzZWQ6MjE0NzQ4MzY0ODAwLHRvdGFsOjUzNjg3MDkxMmUzLGZpbGVzeXN0ZW06ImV4dDQiLG1vdW50UG9pbnQ6Ii9ob21lIn19LHtpZDoiZGF0YS1wYXJ0aXRpb24iLHRpdGxlOiJEYXRhIFBhcnRpdGlvbiIsdmFsdWU6MCx0eXBlOiJwYXJ0aXRpb24iLGljb246Imx1Y2lkZTpkYXRhYmFzZSIscGFydGl0aW9uRGF0YTp7dXNlZDoxOTMyNzM1MjgzMjAwLHRvdGFsOjIxNDc0ODM2NDhlMyxmaWxlc3lzdGVtOiJ4ZnMiLG1vdW50UG9pbnQ6Ii9kYXRhIn19LHtpZDoibnZtZS1zc2QiLHRpdGxlOiJQcmltYXJ5IE5WTWUiLHZhbHVlOjAsdHlwZToiZGlzayIsaWNvbjoibHVjaWRlOmhhcmQtZHJpdmUiLGNvbHVtblNwYW46MixkaXNrRGF0YTp7Y2FwYWNpdHk6MmUxMixtb2RlbDoiU2Ftc3VuZyA5OTAgUHJvIix0eXBlOiJudm1lIixpb3BzOntyZWFkOjc0NTAsd3JpdGU6NjkwMH0saGVhbHRoOjk4fX0se2lkOiJzYXRhLXNzZCIsdGl0bGU6IlNlY29uZGFyeSBTU0QiLHZhbHVlOjAsdHlwZToiZGlzayIsaWNvbjoibHVjaWRlOmhhcmQtZHJpdmUiLGRpc2tEYXRhOntjYXBhY2l0eToxZTEyLG1vZGVsOiJDcnVjaWFsIE1YNTAwIix0eXBlOiJzc2QiLGlvcHM6e3JlYWQ6NTYwLHdyaXRlOjUxMH0saGVhbHRoOjg1fX0se2lkOiJoZGQtc3RvcmFnZSIsdGl0bGU6IkJhY2t1cCBIREQiLHZhbHVlOjAsdHlwZToiZGlzayIsaWNvbjoibHVjaWRlOmFyY2hpdmUiLGRpc2tEYXRhOntjYXBhY2l0eTo4ZTEyLG1vZGVsOiJTZWFnYXRlIElyb25Xb2xmIix0eXBlOiJoZGQiLGlvcHM6e3JlYWQ6MjEwLHdyaXRlOjE5NX0saGVhbHRoOjQyfX1dLDI4MCwxNiksImRlbW9GdW5jIil9KTt2YXIgYTYsaWksb3QsV2E9YygoKT0+e3BlKCk7SXQoKTthNj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0saWk9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LG90PSgoKT0+e2xldCB0PWNlLGUsYT1bXSxyPVtdLHMsbj1bXSxvPVtdLGwsaD1bXSx1PVtdLGYscD1bXSxnPVtdLHYseD1bXSxiPVtdLG0seT1bXSxNPVtdLGssRT1bXSxfPVtdO3JldHVybiBjbGFzcyBleHRlbmRzIHR7c3RhdGlje2kodGhpcywiRGVlc0lucHV0QmFzZSIpfXN0YXRpY3tsZXQgTj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZSh0W1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtlPVtMKHt0eXBlOlN0cmluZ30pXSxzPVtMKHt0eXBlOlN0cmluZ30pXSxsPVtMKHt0eXBlOlN0cmluZ30pXSxmPVtMKHt0eXBlOlN0cmluZ30pXSx2PVtMKHt0eXBlOkJvb2xlYW59KV0sbT1bTCh7dHlwZTpCb29sZWFufSldLGs9W0woe3R5cGU6U3RyaW5nfSldLGE2KHRoaXMsbnVsbCxlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGF5b3V0TW9kZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSgkPT4ibGF5b3V0TW9kZSJpbiAkLCJoYXMiKSxnZXQ6aSgkPT4kLmxheW91dE1vZGUsImdldCIpLHNldDppKCgkLEkpPT57JC5sYXlvdXRNb2RlPUl9LCJzZXQiKX0sbWV0YWRhdGE6Tn0sYSxyKSxhNih0aGlzLG51bGwscyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxhYmVsUG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoJD0+ImxhYmVsUG9zaXRpb24iaW4gJCwiaGFzIiksZ2V0OmkoJD0+JC5sYWJlbFBvc2l0aW9uLCJnZXQiKSxzZXQ6aSgoJCxJKT0+eyQubGFiZWxQb3NpdGlvbj1JfSwic2V0Iil9LG1ldGFkYXRhOk59LG4sbyksYTYodGhpcyxudWxsLGwse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJrZXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoJD0+ImtleSJpbiAkLCJoYXMiKSxnZXQ6aSgkPT4kLmtleSwiZ2V0Iiksc2V0OmkoKCQsSSk9PnskLmtleT1JfSwic2V0Iil9LG1ldGFkYXRhOk59LGgsdSksYTYodGhpcyxudWxsLGYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSgkPT4ibGFiZWwiaW4gJCwiaGFzIiksZ2V0OmkoJD0+JC5sYWJlbCwiZ2V0Iiksc2V0OmkoKCQsSSk9PnskLmxhYmVsPUl9LCJzZXQiKX0sbWV0YWRhdGE6Tn0scCxnKSxhNih0aGlzLG51bGwsdix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlcXVpcmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKCQ9PiJyZXF1aXJlZCJpbiAkLCJoYXMiKSxnZXQ6aSgkPT4kLnJlcXVpcmVkLCJnZXQiKSxzZXQ6aSgoJCxJKT0+eyQucmVxdWlyZWQ9SX0sInNldCIpfSxtZXRhZGF0YTpOfSx4LGIpLGE2KHRoaXMsbnVsbCxtLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGlzYWJsZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoJD0+ImRpc2FibGVkImluICQsImhhcyIpLGdldDppKCQ9PiQuZGlzYWJsZWQsImdldCIpLHNldDppKCgkLEkpPT57JC5kaXNhYmxlZD1JfSwic2V0Iil9LG1ldGFkYXRhOk59LHksTSksYTYodGhpcyxudWxsLGsse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkZXNjcmlwdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSgkPT4iZGVzY3JpcHRpb24iaW4gJCwiaGFzIiksZ2V0OmkoJD0+JC5kZXNjcmlwdGlvbiwiZ2V0Iiksc2V0OmkoKCQsSSk9PnskLmRlc2NyaXB0aW9uPUl9LCJzZXQiKX0sbWV0YWRhdGE6Tn0sRSxfKSxOJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk59KX0jZT1paSh0aGlzLGEsImF1dG8iKTtnZXQgbGF5b3V0TW9kZSgpe3JldHVybiB0aGlzLiNlfXNldCBsYXlvdXRNb2RlKE4pe3RoaXMuI2U9Tn0jdD0oaWkodGhpcyxyKSxpaSh0aGlzLG4sInRvcCIpKTtnZXQgbGFiZWxQb3NpdGlvbigpe3JldHVybiB0aGlzLiN0fXNldCBsYWJlbFBvc2l0aW9uKE4pe3RoaXMuI3Q9Tn0jYT0oaWkodGhpcyxvKSxpaSh0aGlzLGgsdm9pZCAwKSk7Z2V0IGtleSgpe3JldHVybiB0aGlzLiNhfXNldCBrZXkoTil7dGhpcy4jYT1OfSNyPShpaSh0aGlzLHUpLGlpKHRoaXMscCx2b2lkIDApKTtnZXQgbGFiZWwoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbGFiZWwoTil7dGhpcy4jcj1OfSNpPShpaSh0aGlzLGcpLGlpKHRoaXMseCwhMSkpO2dldCByZXF1aXJlZCgpe3JldHVybiB0aGlzLiNpfXNldCByZXF1aXJlZChOKXt0aGlzLiNpPU59I3M9KGlpKHRoaXMsYiksaWkodGhpcyx5LCExKSk7Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGRpc2FibGVkKE4pe3RoaXMuI3M9Tn0jbz0oaWkodGhpcyxNKSxpaSh0aGlzLEUsdm9pZCAwKSk7Z2V0IGRlc2NyaXB0aW9uKCl7cmV0dXJuIHRoaXMuI299c2V0IGRlc2NyaXB0aW9uKE4pe3RoaXMuI289Tn1zdGF0aWMgZ2V0IGJhc2VTdHlsZXMoKXtyZXR1cm5bWGAKICAgICAgICAvKiBDU1MgVmFyaWFibGVzIGZvciBjb25zaXN0ZW50IHNwYWNpbmcgKi8KICAgICAgICA6aG9zdCB7CiAgICAgICAgICAtLWRlZXMtaW5wdXQtc3BhY2luZy11bml0OiA4cHg7CiAgICAgICAgICAtLWRlZXMtaW5wdXQtbGFiZWwtZ2FwOiB2YXIoLS1kZWVzLWlucHV0LXNwYWNpbmctdW5pdCk7IC8qIDhweCAqLwogICAgICAgIH0KCiAgICAgICAgLyogRGVmYXVsdCBibG9jayBkaXNwbGF5IHdpdGggbm8gbWFyZ2lucyAtIHNwYWNpbmcgaXMgY29udGFpbmVyLWRyaXZlbiAqLwogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIH0KCiAgICAgICAgLyogSG9yaXpvbnRhbCBsYXlvdXQgbW9kZSAtIGFjdGl2YXRlZCBieSBhdHRyaWJ1dGUgKi8KICAgICAgICA6aG9zdChbbGF5b3V0LW1vZGU9Imhvcml6b250YWwiXSkgewogICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLyogTGFiZWwgcG9zaXRpb24gdmFyaWF0aW9ucyAqLwogICAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0ibGVmdCJdKSAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjsKICAgICAgICAgIGdhcDogdmFyKC0tZGVlcy1pbnB1dC1sYWJlbC1nYXApOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0icmlnaHQiXSkgLmlucHV0LXdyYXBwZXIgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87CiAgICAgICAgICBnYXA6IHZhcigtLWRlZXMtaW5wdXQtbGFiZWwtZ2FwKTsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICA6aG9zdChbbGFiZWwtcG9zaXRpb249InRvcCJdKSAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB9CgogICAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0ibm9uZSJdKSBkZWVzLWxhYmVsIHsKICAgICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgfQogICAgICBgXX1jaGFuZ2VTdWJqZWN0PShpaSh0aGlzLF8pLG5ldyBFdC5zbWFydHJ4LnJ4anMuU3ViamVjdCk7YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuZGV0ZWN0TGF5b3V0TW9kZSgpfWRldGVjdExheW91dE1vZGUoKXtpZih0aGlzLmxheW91dE1vZGUhPT0iYXV0byIpe3RoaXMuc2V0QXR0cmlidXRlKCJsYXlvdXQtbW9kZSIsdGhpcy5sYXlvdXRNb2RlKTtyZXR1cm59bGV0IE49dGhpcy5jbG9zZXN0KCJkZWVzLWZvcm0iKTtOJiZOLmhhc0F0dHJpYnV0ZSgiaG9yaXpvbnRhbC1sYXlvdXQiKT90aGlzLnNldEF0dHJpYnV0ZSgibGF5b3V0LW1vZGUiLCJob3Jpem9udGFsIik6dGhpcy5zZXRBdHRyaWJ1dGUoImxheW91dC1tb2RlIiwidmVydGljYWwiKX11cGRhdGVkKE4pe3N1cGVyLnVwZGF0ZWQoTiksTi5oYXMoImxheW91dE1vZGUiKSYmdGhpcy5kZXRlY3RMYXlvdXRNb2RlKCksTi5oYXMoImxhYmVsUG9zaXRpb24iKSYmdGhpcy5zZXRBdHRyaWJ1dGUoImxhYmVsLXBvc2l0aW9uIix0aGlzLmxhYmVsUG9zaXRpb24pfWFzeW5jIGZyZWV6ZSgpe3RoaXMuZGlzYWJsZWQ9ITB9YXN5bmMgdW5mcmVlemUoKXt0aGlzLmRpc2FibGVkPSExfX19KSgpfSk7dmFyIHVZdCxmWXQ9YygoKT0+e3BlKCk7UmEoKTtXMSgpO25sKCk7dVl0PWkoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e2xldCBlPXQucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC1jaGVja2JveCIpLGE9dC5xdWVyeVNlbGVjdG9yKCIjc2VsZWN0LWFsbC1idG4iKSxyPXQucXVlcnlTZWxlY3RvcigiI2NsZWFyLWFsbC1idG4iKTthJiZyJiYoYS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLmZvckVhY2gocz0+eyFzLmRpc2FibGVkJiZzLmtleT8uc3RhcnRzV2l0aCgiZmVhdHVyZSIpJiYocy52YWx1ZT0hMCl9KX0pLHIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ZS5mb3JFYWNoKHM9Pnshcy5kaXNhYmxlZCYmcy5rZXk/LnN0YXJ0c1dpdGgoImZlYXR1cmUiKSYmKHMudmFsdWU9ITEpfSl9KSl9fT4KICAgIDxzdHlsZT4KICAgICAgJHtYYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY2hlY2tib3gtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5ob3Jpem9udGFsLWNoZWNrYm94ZXMgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmludGVyYWN0aXZlLXNlY3Rpb24gewogICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5vdXRwdXQtdGV4dCB7CiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTAgNDAlIDgwJSkiKX07CiAgICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTglKSIsImhzbCgyMTUgMjAuMiUgMTEuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgbWluLWhlaWdodDogMjRweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmZvcm0tc2VjdGlvbiB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmJ1dHRvbi1ncm91cCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZmVhdHVyZS1saXN0IHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgQ2hlY2tib3hlcyJ9IC5zdWJ0aXRsZT0keyJTaW1wbGUgY2hlY2tib3ggZXhhbXBsZXMgd2l0aCB2YXJpb3VzIGxhYmVscyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImNoZWNrYm94LWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IAogICAgICAgICAgICAubGFiZWw9JHsiSSBhZ3JlZSB0byB0aGUgVGVybXMgYW5kIENvbmRpdGlvbnMifSAKICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgIC5rZXk9JHsidGVybXMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3ggCiAgICAgICAgICAgIC5sYWJlbD0keyJTdWJzY3JpYmUgdG8gbmV3c2xldHRlciJ9IAogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgLmtleT0keyJuZXdzbGV0dGVyIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IAogICAgICAgICAgICAubGFiZWw9JHsiRW5hYmxlIG5vdGlmaWNhdGlvbnMifSAKICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJSZWNlaXZlIGVtYWlsIHVwZGF0ZXMgYWJvdXQgeW91ciBhY2NvdW50In0KICAgICAgICAgICAgLmtleT0keyJub3RpZmljYXRpb25zIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJDaGVja2JveCBTdGF0ZXMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IGNoZWNrYm94IHN0YXRlcyBhbmQgY29uZmlndXJhdGlvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJjaGVja2JveC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCAKICAgICAgICAgICAgLmxhYmVsPSR7IkRlZmF1bHQgc3RhdGUifSAKICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCAKICAgICAgICAgICAgLmxhYmVsPSR7IkNoZWNrZWQgc3RhdGUifSAKICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCAKICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2FibGVkIHVuY2hlY2tlZCJ9IAogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCAKICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2FibGVkIGNoZWNrZWQifSAKICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3ggCiAgICAgICAgICAgIC5sYWJlbD0keyJSZXF1aXJlZCBjaGVja2JveCJ9IAogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgLmtleT0keyJyZXF1aXJlZCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiSG9yaXpvbnRhbCBMYXlvdXQifSAuc3VidGl0bGU9JHsiQ2hlY2tib3hlcyBhcnJhbmdlZCBob3Jpem9udGFsbHkgZm9yIGNvbXBhY3QgZm9ybXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWNoZWNrYm94ZXMiPgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3ggCiAgICAgICAgICAgIC5sYWJlbD0keyJPcHRpb24gQSJ9IAogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5rZXk9JHsib3B0aW9uQSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCAKICAgICAgICAgICAgLmxhYmVsPSR7Ik9wdGlvbiBCIn0gCiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgLmtleT0keyJvcHRpb25CIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IAogICAgICAgICAgICAubGFiZWw9JHsiT3B0aW9uIEMifSAKICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAua2V5PSR7Im9wdGlvbkMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3ggCiAgICAgICAgICAgIC5sYWJlbD0keyJPcHRpb24gRCJ9IAogICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5rZXk9JHsib3B0aW9uRCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRmVhdHVyZSBTZWxlY3Rpb24gRXhhbXBsZSJ9IC5zdWJ0aXRsZT0keyJDb21tb24gdXNlIGNhc2UgZm9yIGZlYXR1cmUgdG9nZ2xlcyB3aXRoIGJhdGNoIG9wZXJhdGlvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIGlkPSJzZWxlY3QtYWxsLWJ0biIgdHlwZT0ic2Vjb25kYXJ5Ij5TZWxlY3QgQWxsPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBpZD0iY2xlYXItYWxsLWJ0biIgdHlwZT0ic2Vjb25kYXJ5Ij5DbGVhciBBbGw8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtbGlzdCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGVja2JveC1ncm91cCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IAogICAgICAgICAgICAgIC5sYWJlbD0keyJEYXJrIE1vZGUgU3VwcG9ydCJ9IAogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5rZXk9JHsiZmVhdHVyZTEifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3ggCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkVtYWlsIE5vdGlmaWNhdGlvbnMifSAKICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAua2V5PSR7ImZlYXR1cmUyIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IAogICAgICAgICAgICAgIC5sYWJlbD0keyJUd28tRmFjdG9yIEF1dGhlbnRpY2F0aW9uIn0gCiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmtleT0keyJmZWF0dXJlMyJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCAKICAgICAgICAgICAgICAubGFiZWw9JHsiQVBJIEFjY2VzcyJ9IAogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5rZXk9JHsiZmVhdHVyZTQifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3ggCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkFkdmFuY2VkIEFuYWx5dGljcyJ9IAogICAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAgIC5rZXk9JHsiZmVhdHVyZTUifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJQcml2YWN5IFNldHRpbmdzIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiQ2hlY2tib3hlcyBpbiBhIHR5cGljYWwgZm9ybSBjb250ZXh0In0+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1zZWN0aW9uIj4KICAgICAgICAgIDxoNCBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UHJpdmFjeSBQcmVmZXJlbmNlczwvaDQ+CiAgICAgICAgICAKICAgICAgICAgIDxkaXYgY2xhc3M9ImNoZWNrYm94LWdyb3VwIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3ggCiAgICAgICAgICAgICAgLmxhYmVsPSR7IlNoYXJlIGFuYWx5dGljcyBkYXRhIn0gCiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkhlbHAgdXMgaW1wcm92ZSBieSBzaGFyaW5nIGFub255bW91cyB1c2FnZSBkYXRhIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IAogICAgICAgICAgICAgIC5sYWJlbD0keyJQZXJzb25hbGl6ZWQgcmVjb21tZW5kYXRpb25zIn0gCiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkdldCBzdWdnZXN0aW9ucyBiYXNlZCBvbiB5b3VyIGFjdGl2aXR5In0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IAogICAgICAgICAgICAgIC5sYWJlbD0keyJNYXJrZXRpbmcgY29tbXVuaWNhdGlvbnMifSAKICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiUmVjZWl2ZSBwcm9tb3Rpb25hbCBlbWFpbHMgYW5kIHNwZWNpYWwgb2ZmZXJzIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IAogICAgICAgICAgICAgIC5sYWJlbD0keyJUaGlyZC1wYXJ0eSBpbnRlZ3JhdGlvbnMifSAKICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWxsb3cgYXBwcm92ZWQgcGFydG5lcnMgdG8gYWNjZXNzIHlvdXIgZGF0YSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkludGVyYWN0aXZlIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiQ2xpY2sgY2hlY2tib3hlcyB0byBzZWUgdmFsdWUgY2hhbmdlcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImNoZWNrYm94LWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IAogICAgICAgICAgICAubGFiZWw9JHsiRmVhdHVyZSB0b2dnbGUifSAKICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIEBjaGFuZ2VTdWJqZWN0PSR7dD0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNjaGVja2JveC1vdXRwdXQiKTtpZihlJiZ0LmRldGFpbCl7bGV0IGE9dC5kZXRhaWwuZ2V0VmFsdWUoKTtlLnRleHRDb250ZW50PWBGZWF0dXJlIGlzICR7YT8iZW5hYmxlZCI6ImRpc2FibGVkIn1gfX19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCAKICAgICAgICAgICAgLmxhYmVsPSR7IkRlYnVnIG1vZGUifSAKICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIEBjaGFuZ2VTdWJqZWN0PSR7dD0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNkZWJ1Zy1vdXRwdXQiKTtpZihlJiZ0LmRldGFpbCl7bGV0IGE9dC5kZXRhaWwuZ2V0VmFsdWUoKTtlLnRleHRDb250ZW50PWBEZWJ1ZyBtb2RlOiAke2E/Ik9OIjoiT0ZGIn1gfX19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImludGVyYWN0aXZlLXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBpZD0iY2hlY2tib3gtb3V0cHV0IiBjbGFzcz0ib3V0cHV0LXRleHQiPkZlYXR1cmUgaXMgZGlzYWJsZWQ8L2Rpdj4KICAgICAgICAgIDxkaXYgaWQ9ImRlYnVnLW91dHB1dCIgY2xhc3M9Im91dHB1dC10ZXh0IiBzdHlsZT0ibWFyZ2luLXRvcDogOHB4OyI+RGVidWcgbW9kZTogT0ZGPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBmT2UsR08saFosbVo9YygoKT0+e3BlKCk7V2EoKTtmWXQoKTtJcigpO1hlKCk7Zk9lPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxHTz1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0saFo9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLWlucHV0LWNoZWNrYm94IildLGUsYT1bXSxyLHM9b3QsbixvPVtdLGw9W10saCx1PVtdLGY9W107dmFyIHA9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNJbnB1dENoZWNrYm94Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGc9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpCb29sZWFufSldLGg9W0woe3R5cGU6Qm9vbGVhbn0pXSxmT2UodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh2PT4idmFsdWUiaW4gdiwiaGFzIiksZ2V0Omkodj0+di52YWx1ZSwiZ2V0Iiksc2V0OmkoKHYseCk9Pnt2LnZhbHVlPXh9LCJzZXQiKX0sbWV0YWRhdGE6Z30sbyxsKSxmT2UodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbmRldGVybWluYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHY9PiJpbmRldGVybWluYXRlImluIHYsImhhcyIpLGdldDppKHY9PnYuaW5kZXRlcm1pbmF0ZSwiZ2V0Iiksc2V0OmkoKHYseCk9Pnt2LmluZGV0ZXJtaW5hdGU9eH0sInNldCIpfSxtZXRhZGF0YTpnfSx1LGYpLGZPZShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpnfSxudWxsLGEpLHA9cj1lLnZhbHVlLGcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Z30pfXN0YXRpYyBkZW1vPXVZdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9R08odGhpcyxvLCExKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoZyl7dGhpcy4jZT1nfSN0PShHTyh0aGlzLGwpLEdPKHRoaXMsdSwhMSkpO2dldCBpbmRldGVybWluYXRlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGluZGV0ZXJtaW5hdGUoZyl7dGhpcy4jdD1nfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxHTyh0aGlzLGYpLHRoaXMubGFiZWxQb3NpdGlvbj0icmlnaHQifXN0YXRpYyBzdHlsZXM9W0RlLC4uLm90LmJhc2VTdHlsZXMsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgICAqIHsKICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgfQoKICAgICAgICA6aG9zdCB7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgICBmb250LWZhbWlseTogJHtnYX07CiAgICAgICAgfQoKICAgICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLmNoZWNrYm94IHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGhlaWdodDogMThweDsKICAgICAgICAgIHdpZHRoOiAxOHB4OwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICAgIG1hcmdpbi10b3A6IDFweDsKICAgICAgICB9CgogICAgICAgIC5tYWluY29udGFpbmVyOmhvdmVyIC5jaGVja2JveCB7CiAgICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tib3guc2VsZWN0ZWQgewogICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tib3g6Zm9jdXMtdmlzaWJsZSB7CiAgICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7ZC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xKSIpfTsKICAgICAgICB9CgogICAgICAgIC8qIENoZWNrbWFyayB1c2luZyBMdWNpZGUgaWNvbiBzdHlsZSAqLwogICAgICAgIC5jaGVja2JveCAuY2hlY2ttYXJrIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIHRvcDogNTAlOwogICAgICAgICAgbGVmdDogNTAlOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLmNoZWNrYm94LnNlbGVjdGVkIC5jaGVja21hcmsgewogICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB9CgogICAgICAgIC5jaGVja2JveCAuY2hlY2ttYXJrIHN2ZyB7CiAgICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICAgIHN0cm9rZTogd2hpdGU7CiAgICAgICAgICBzdHJva2Utd2lkdGg6IDM7CiAgICAgICAgfQoKICAgICAgICAvKiBEaXNhYmxlZCBzdGF0ZSAqLwogICAgICAgIC5tYWluY29udGFpbmVyLmRpc2FibGVkIHsKICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tib3guZGlzYWJsZWQgewogICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICB9CgogICAgICAgIC8qIExhYmVsICovCiAgICAgICAgLmxhYmVsLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMnB4OwogICAgICAgICAgZmxleDogMTsKICAgICAgICB9CgogICAgICAgIC5jaGVja2JveC1sYWJlbCB7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIH0KCiAgICAgICAgLm1haW5jb250YWluZXI6aG92ZXIgLmNoZWNrYm94LWxhYmVsIHsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICB9CgogICAgICAgIC5tYWluY29udGFpbmVyLmRpc2FibGVkOmhvdmVyIC5jaGVja2JveC1sYWJlbCB7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgIH0KCiAgICAgICAgLyogRGVzY3JpcHRpb24gKi8KICAgICAgICAuZGVzY3JpcHRpb24tdGV4dCB7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIgJHt0aGlzLmRpc2FibGVkPyJkaXNhYmxlZCI6IiJ9IiBAY2xpY2s9IiR7dGhpcy50b2dnbGVTZWxlY3RlZH0iPgogICAgICAgICAgPGRpdiAKICAgICAgICAgICAgY2xhc3M9ImNoZWNrYm94ICR7dGhpcy52YWx1ZT8ic2VsZWN0ZWQiOiIifSAke3RoaXMuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0iIAogICAgICAgICAgICB0YWJpbmRleD0iJHt0aGlzLmRpc2FibGVkPyItMSI6IjAifSIKICAgICAgICAgICAgQGtleWRvd249IiR7dGhpcy5oYW5kbGVLZXlkb3dufSIKICAgICAgICAgID4KICAgICAgICAgICAgJHt0aGlzLnZhbHVlP3dgCiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjaGVja21hcmsiPgogICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIwIDZMOSAxN0w0IDEyIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CiAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIGA6dGhpcy5pbmRldGVybWluYXRlP3dgCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNoZWNrbWFyayI+CiAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTUgMTJIMTkiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgYDp3YGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLWNvbnRhaW5lciI+CiAgICAgICAgICAgICR7dGhpcy5sYWJlbD93YDxkaXYgY2xhc3M9ImNoZWNrYm94LWxhYmVsIj4ke3RoaXMubGFiZWx9PC9kaXY+YDoiIn0KICAgICAgICAgICAgJHt0aGlzLmRlc2NyaXB0aW9uP3dgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24tdGV4dCI+JHt0aGlzLmRlc2NyaXB0aW9ufTwvZGl2PmA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIHRvZ2dsZVNlbGVjdGVkKCl7dGhpcy5kaXNhYmxlZHx8KHRoaXMudmFsdWU9IXRoaXMudmFsdWUsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibmV3VmFsdWUiLHtkZXRhaWw6dGhpcy52YWx1ZSxidWJibGVzOiEwfSkpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKGcpe3RoaXMudmFsdWU9Z31mb2N1cygpe2xldCBnPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY2hlY2tib3giKTtnJiZnLmZvY3VzKCl9aGFuZGxlS2V5ZG93bihnKXsoZy5rZXk9PT0iICJ8fGcua2V5PT09IkVudGVyIikmJihnLnByZXZlbnREZWZhdWx0KCksdGhpcy50b2dnbGVTZWxlY3RlZCgpKX1zdGF0aWN7R08ocixhKX19O3JldHVybiBwPXJ9KSgpfSk7dmFyIGk2PXt9O2V0KGk2LHticmlnaHQ6KCk9PnI2LGRhcms6KCk9PldpfSk7dmFyIFdpLHI2LEdpPWMoKCk9PntXaT17Ymx1ZToiIzAwNTBiOSIsYmx1ZUFjdGl2ZToiIzAwNjlmMiIsYmx1ZU11dGVkOiIjMDEyNDUyIix0ZXh0OiIjZmZmZmZmIn0scjY9e2JsdWU6IiMwMDUwYjkiLGJsdWVBY3RpdmU6IiMwMDY5ZjIiLGJsdWVNdXRlZDoiIzAwNjlmMiIsdGV4dDoiIzMzMzMzMyJ9fSk7dmFyIGhZdCxtWXQ9YygoKT0+e3BlKCk7czYoKTtoWXQ9aSgoKT0+d2AKICA8c3R5bGU+CiAgICAke1hgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CiAgICAgIAogICAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y4ZjlmYSIsIiMxYTFhMWEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlMGUwZTAiLCIjMzMzIil9OwogICAgICB9CiAgICAgIAogICAgICAuZGVtby1zZWN0aW9uIGgzIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMzMzIiwiI2ZmZiIpfTsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tc2VjdGlvbiBwIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM2NjYiLCIjOTk5Iil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5idXR0b24tZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDE1MHB4LCAxZnIpKTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KICAgIGB9CiAgPC9zdHlsZT4KICAKICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+SGVhZGVyIEJ1dHRvbnM8L2gzPgogICAgICA8cD5Nb2RhbHMgY2FuIGhhdmUgb3B0aW9uYWwgaGVhZGVyIGJ1dHRvbnMgZm9yIGhlbHAgYW5kIGNsb3NpbmcuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiV2l0aCBIZWxwIEJ1dHRvbiIsc2hvd0hlbHBCdXR0b246ITAsb25IZWxwOmkoYXN5bmMoKT0+e2xldCB0PWF3YWl0IE1hLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IkhlbHAiLHdpZHRoOiJzbWFsbCIsc2hvd0Nsb3NlQnV0dG9uOiEwLHNob3dIZWxwQnV0dG9uOiExLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICAgICAgPHA+VGhpcyBpcyB0aGUgaGVscCBjb250ZW50IGZvciB0aGUgbW9kYWwuPC9wPgogICAgICAgICAgICAgICAgICA8cD5Zb3UgY2FuIHByb3ZpZGUgY29udGV4dC1zcGVjaWZpYyBoZWxwIGhlcmUuPC9wPgogICAgICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkdvdCBpdCIsYWN0aW9uOmkoYXN5bmMgZT0+ZS5kZXN0cm95KCksImFjdGlvbiIpfV19KX0sIm9uSGVscCIpLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIGhhcyBhIGhlbHAgYnV0dG9uIGluIHRoZSBoZWFkZXIuIENsaWNrIGl0IHRvIHNlZSBoZWxwIGNvbnRlbnQuPC9wPgogICAgICAgICAgICAgIDxwPlRoZSBjbG9zZSBidXR0b24gaXMgYWxzbyB2aXNpYmxlIGJ5IGRlZmF1bHQuPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiT0siLGFjdGlvbjppKGFzeW5jIHQ9PnQuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5XaXRoIEhlbHAgQnV0dG9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9PntNYS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJObyBDbG9zZSBCdXR0b24iLHNob3dDbG9zZUJ1dHRvbjohMSxjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCBoYXMgbm8gY2xvc2UgYnV0dG9uIGluIHRoZSBoZWFkZXIuPC9wPgogICAgICAgICAgICAgIDxwPllvdSBtdXN0IHVzZSB0aGUgYWN0aW9uIGJ1dHRvbnMgb3IgY2xpY2sgb3V0c2lkZSB0byBjbG9zZSBpdC48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDbG9zZSIsYWN0aW9uOmkoYXN5bmMgdD0+dC5kZXN0cm95KCksImFjdGlvbiIpfV19KX19Pk5vIENsb3NlIEJ1dHRvbjwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiQm90aCBCdXR0b25zIixzaG93SGVscEJ1dHRvbjohMCxzaG93Q2xvc2VCdXR0b246ITAsb25IZWxwOmkoKCk9PmFsZXJ0KCJIZWxwIGNsaWNrZWQhIiksIm9uSGVscCIpLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIGhhcyBib3RoIGhlbHAgYW5kIGNsb3NlIGJ1dHRvbnMuPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiRG9uZSIsYWN0aW9uOmkoYXN5bmMgdD0+dC5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PkJvdGggQnV0dG9uczwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiQ2xlYW4gSGVhZGVyIixzaG93Q2xvc2VCdXR0b246ITEsc2hvd0hlbHBCdXR0b246ITEsY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlRoaXMgbW9kYWwgaGFzIGEgY2xlYW4gaGVhZGVyIHdpdGggbm8gYnV0dG9ucy48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDbG9zZSIsYWN0aW9uOmkoYXN5bmMgdD0+dC5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PkNsZWFuIEhlYWRlcjwvZGVlcy1idXR0b24+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5Nb2RhbCBXaWR0aCBWYXJpYXRpb25zPC9oMz4KICAgICAgPHA+TW9kYWxzIGNhbiBoYXZlIGRpZmZlcmVudCB3aWR0aHM6IHNtYWxsLCBtZWRpdW0sIGxhcmdlLCBmdWxsc2NyZWVuLCBvciBjdXN0b20gcGl4ZWwgdmFsdWVzLjwvcD4KICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e01hLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IlNtYWxsIE1vZGFsIix3aWR0aDoic21hbGwiLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8cD5UaGlzIGlzIGEgc21hbGwgbW9kYWwgd2l0aCBhIHdpZHRoIG9mIDM4MHB4LiBQZXJmZWN0IGZvciBzaW1wbGUgY29uZmlybWF0aW9ucyBvciBicmllZiBtZXNzYWdlcy48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDYW5jZWwiLGFjdGlvbjppKGFzeW5jIHQ9PnQuZGVzdHJveSgpLCJhY3Rpb24iKX0se25hbWU6Ik9LIixhY3Rpb246aShhc3luYyB0PT50LmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+U21hbGwgTW9kYWw8L2RlZXMtYnV0dG9uPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e01hLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6Ik1lZGl1bSBNb2RhbCAoRGVmYXVsdCkiLHdpZHRoOiJtZWRpdW0iLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiVXNlcm5hbWUifT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IkVtYWlsIn0gLmlucHV0VHlwZT0keyJlbWFpbCJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiUGFzc3dvcmQifSAuaW5wdXRUeXBlPSR7InBhc3N3b3JkIn0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDYW5jZWwiLGFjdGlvbjppKGFzeW5jIHQ9PnQuZGVzdHJveSgpLCJhY3Rpb24iKX0se25hbWU6IlNpZ24gVXAiLGFjdGlvbjppKGFzeW5jIHQ9PnQuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5NZWRpdW0gTW9kYWw8L2RlZXMtYnV0dG9uPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e01hLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IkxhcmdlIE1vZGFsIix3aWR0aDoibGFyZ2UiLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8aDQ+V2lkZSBDb250ZW50IEFyZWE8L2g0PgogICAgICAgICAgICAgIDxwPlRoaXMgbGFyZ2UgbW9kYWwgaXMgODAwcHggd2lkZSBhbmQgcGVyZmVjdCBmb3IgZGlzcGxheWluZyBtb3JlIGNvbXBsZXggY29udGVudCBsaWtlIGZvcm1zIHdpdGggbXVsdGlwbGUgY29sdW1ucywgdGFibGVzLCBvciBkZXRhaWxlZCBpbmZvcm1hdGlvbi48L3A+CiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZ3JpZDsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyBnYXA6IDE2cHg7IG1hcmdpbi10b3A6IDE2cHg7Ij4KICAgICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IkZpcnN0IE5hbWUifT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7Ikxhc3QgTmFtZSJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiQ29tcGFueSJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiUG9zaXRpb24ifT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNhbmNlbCIsYWN0aW9uOmkoYXN5bmMgdD0+dC5kZXN0cm95KCksImFjdGlvbiIpfSx7bmFtZToiU2F2ZSIsYWN0aW9uOmkoYXN5bmMgdD0+dC5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PkxhcmdlIE1vZGFsPC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9PntNYS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJGdWxsc2NyZWVuIEVkaXRvciIsd2lkdGg6ImZ1bGxzY3JlZW4iLHNob3dIZWxwQnV0dG9uOiEwLG9uSGVscDppKGFzeW5jKCk9PnthbGVydCgiSW4gYSByZWFsIGFwcCwgdGhpcyB3b3VsZCBzaG93IGVkaXRvciBkb2N1bWVudGF0aW9uIil9LCJvbkhlbHAiKSxjb250ZW50OndgCiAgICAgICAgICAgICAgPGg0PkZ1bGxzY3JlZW4gRXhwZXJpZW5jZSB3aXRoIEhlYWRlciBDb250cm9sczwvaDQ+CiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCB0YWtlcyB1cCBhbG1vc3QgdGhlIGVudGlyZSB2aWV3cG9ydCB3aXRoIGEgMjBweCBtYXJnaW4gb24gYWxsIHNpZGVzLiBUaGUgaGVhZGVyIGJ1dHRvbnMgYXJlIHBhcnRpY3VsYXJseSB1c2VmdWwgaW4gZnVsbHNjcmVlbiBtb2RlLjwvcD4KICAgICAgICAgICAgICA8cD5UaGUgY29udGVudCBhcmVhIGNhbiBiZSBhcyB0YWxsIGFzIG5lZWRlZCBhbmQgd2lsbCBzY3JvbGwgaWYgbmVjZXNzYXJ5LjwvcD4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDIwMHB4OyBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2YwZjBmMCIsIiMyYTJhMmEiKX07IGJvcmRlci1yYWRpdXM6IDhweDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IG1hcmdpbi10b3A6IDE2cHg7Ij4KICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogJHtkLmJkVGhlbWUoIiM5OTkiLCIjNjY2Iil9Ij5MYXJnZSBjb250ZW50IGFyZWE8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJTYXZlIixhY3Rpb246aShhc3luYyB0PT50LmRlc3Ryb3koKSwiYWN0aW9uIil9LHtuYW1lOiJDYW5jZWwiLGFjdGlvbjppKGFzeW5jIHQ9PnQuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5GdWxsc2NyZWVuIE1vZGFsPC9kZWVzLWJ1dHRvbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkN1c3RvbSBXaWR0aCAmIENvbnN0cmFpbnRzPC9oMz4KICAgICAgPHA+WW91IGNhbiBhbHNvIHNldCBjdXN0b20gcGl4ZWwgd2lkdGhzIGFuZCBtaW4vbWF4IGNvbnN0cmFpbnRzLjwvcD4KICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e01hLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IkN1c3RvbSBXaWR0aCAoNzAwcHgpIix3aWR0aDo3MDAsY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlRoaXMgbW9kYWwgaGFzIGEgY3VzdG9tIHdpZHRoIG9mIGV4YWN0bHkgNzAwIHBpeGVscy48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDbG9zZSIsYWN0aW9uOmkoYXN5bmMgdD0+dC5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PkN1c3RvbSA3MDBweDwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiV2l0aCBNYXggV2lkdGgiLHdpZHRoOiJsYXJnZSIsbWF4V2lkdGg6NjAwLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIGlzIHNldCB0byAnbGFyZ2UnIGJ1dCBjb25zdHJhaW5lZCBieSBhIG1heFdpZHRoIG9mIDYwMHB4LjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkdvdCBpdCIsYWN0aW9uOmkoYXN5bmMgdD0+dC5kZXN0cm95KCksImFjdGlvbiIpfV19KX19Pk1heCBXaWR0aCA2MDBweDwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiV2l0aCBNaW4gV2lkdGgiLHdpZHRoOjMwMCxtaW5XaWR0aDo0MDAsY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlRoaXMgbW9kYWwgd2lkdGggaXMgc2V0IHRvIDMwMHB4IGJ1dCBoYXMgYSBtaW5XaWR0aCBvZiA0MDBweCwgc28gaXQgd2lsbCBiZSA0MDBweCB3aWRlLjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6Ik9LIixhY3Rpb246aShhc3luYyB0PT50LmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+TWluIFdpZHRoIDQwMHB4PC9kZWVzLWJ1dHRvbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkJ1dHRvbiBWYXJpYXRpb25zPC9oMz4KICAgICAgPHA+TW9kYWxzIGNhbiBoYXZlIGRpZmZlcmVudCBidXR0b24gY29uZmlndXJhdGlvbnMgd2l0aCBwcm9wZXIgc3BhY2luZy48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9PntNYS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJNdWx0aXBsZSBBY3Rpb25zIixjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCBkZW1vbnN0cmF0ZXMgbXVsdGlwbGUgYnV0dG9ucyB3aXRoIHByb3BlciBzcGFjaW5nIGJldHdlZW4gdGhlbS48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJEZWxldGUiLGFjdGlvbjppKGFzeW5jIHQ9PnQuZGVzdHJveSgpLCJhY3Rpb24iKX0se25hbWU6IkNhbmNlbCIsYWN0aW9uOmkoYXN5bmMgdD0+dC5kZXN0cm95KCksImFjdGlvbiIpfSx7bmFtZToiU2F2ZSBDaGFuZ2VzIixhY3Rpb246aShhc3luYyB0PT50LmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+VGhyZWUgQnV0dG9uczwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiU2luZ2xlIEFjdGlvbiIsY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlNvbWV0aW1lcyB5b3UganVzdCBuZWVkIG9uZSBidXR0b24uPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQWNrbm93bGVkZ2UiLGFjdGlvbjppKGFzeW5jIHQ9PnQuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5TaW5nbGUgQnV0dG9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9PntNYS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJObyBBY3Rpb25zIixjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCBoYXMgbm8gYm90dG9tIGJ1dHRvbnMuIFVzZSB0aGUgWCBidXR0b24gb3IgY2xpY2sgb3V0c2lkZSB0byBjbG9zZS48L3A+CiAgICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbi10b3A6IDE2cHg7IGNvbG9yOiAke2QuYmRUaGVtZSgiIzY2NiIsIiM5OTkiKX07Ij5UaGlzIGlzIHVzZWZ1bCBmb3IgaW5mb3JtYXRpb25hbCBtb2RhbHMgdGhhdCBkb24ndCByZXF1aXJlIHVzZXIgYWN0aW9uLjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbXX0pfX0+Tm8gQnV0dG9uczwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiTG9uZyBCdXR0b24gTGFiZWxzIixjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+VGVzdGluZyBidXR0b24gbGF5b3V0IHdpdGggbG9uZ2VyIGxhYmVscy48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJEaXNjYXJkIEFsbCBDaGFuZ2VzIixhY3Rpb246aShhc3luYyB0PT50LmRlc3Ryb3koKSwiYWN0aW9uIil9LHtuYW1lOiJTYXZlIGFuZCBDb250aW51ZSBFZGl0aW5nIixhY3Rpb246aShhc3luYyB0PT50LmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+TG9uZyBMYWJlbHM8L2RlZXMtYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+UmVzcG9uc2l2ZSBCZWhhdmlvcjwvaDM+CiAgICAgIDxwPkFsbCBtb2RhbHMgYXV0b21hdGljYWxseSBiZWNvbWUgZnVsbC13aWR0aCBvbiBtb2JpbGUgZGV2aWNlcyAoPCA3NjhweCB2aWV3cG9ydCB3aWR0aCkgZm9yIGJldHRlciB1c2FiaWxpdHkuPC9wPgogICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9PntNYS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJSZXNwb25zaXZlIE1vZGFsIix3aWR0aDoibGFyZ2UiLHNob3dIZWxwQnV0dG9uOiEwLG9uSGVscDppKCgpPT5jb25zb2xlLmxvZygiSGVscCByZXF1ZXN0ZWQgZm9yIHJlc3BvbnNpdmUgbW9kYWwiKSwib25IZWxwIiksY29udGVudDp3YAogICAgICAgICAgICA8cD5SZXNpemUgeW91ciBicm93c2VyIHdpbmRvdyB0byBzZWUgaG93IHRoaXMgbW9kYWwgYWRhcHRzLiBPbiBtb2JpbGUgdmlld3BvcnRzLCBpdCB3aWxsIGF1dG9tYXRpY2FsbHkgdGFrZSB0aGUgZnVsbCB3aWR0aCBtaW51cyBtYXJnaW5zLjwvcD4KICAgICAgICAgICAgPHA+VGhlIGhlYWRlciBidXR0b25zIHJlbWFpbiBhY2Nlc3NpYmxlIGF0IGFsbCB2aWV3cG9ydCBzaXplcy48L3A+CiAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2xvc2UiLGFjdGlvbjppKGFzeW5jIHQ9PnQuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5UZXN0IFJlc3BvbnNpdmU8L2RlZXMtYnV0dG9uPgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgeGksRmEsTWEsczY9YygoKT0+e0dpKCk7UDEoKTtqaSgpO0lyKCk7bVl0KCk7cGUoKTtJdCgpO2dvKCk7S3QoKTtYZSgpO3hpPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxGYT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sTWE9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLW1vZGFsIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W10sTiwkPVtdLEk9W10saixTPVtdLHo9W10sRCxUPVtdLEE9W10sVSxSPVtdLHE9W10sb2UsTz1bXSxyZT1bXSx5ZSxCPVtdLGVlPVtdO3ZhciBDZT1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc01vZGFsIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFk9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpTdHJpbmd9KV0saD1bWih7fSldLHA9W1ooe30pXSx4PVtMKHt0eXBlOlN0cmluZ30pXSx5PVtMKHt0eXBlOk51bWJlcn0pXSxFPVtMKHt0eXBlOk51bWJlcn0pXSxOPVtMKHt0eXBlOkJvb2xlYW59KV0saj1bTCh7dHlwZTpCb29sZWFufSldLEQ9W0woe2F0dHJpYnV0ZTohMX0pXSxVPVtMKHt0eXBlOkJvb2xlYW59KV0sb2U9W0woe3R5cGU6TnVtYmVyfSldLHllPVtaKCldLHhpKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGVhZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShQPT4iaGVhZGluZyJpbiBQLCJoYXMiKSxnZXQ6aShQPT5QLmhlYWRpbmcsImdldCIpLHNldDppKChQLEgpPT57UC5oZWFkaW5nPUh9LCJzZXQiKX0sbWV0YWRhdGE6WX0sbyxsKSx4aSh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRlbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoUD0+ImNvbnRlbnQiaW4gUCwiaGFzIiksZ2V0OmkoUD0+UC5jb250ZW50LCJnZXQiKSxzZXQ6aSgoUCxIKT0+e1AuY29udGVudD1IfSwic2V0Iil9LG1ldGFkYXRhOll9LHUsZikseGkodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51T3B0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShQPT4ibWVudU9wdGlvbnMiaW4gUCwiaGFzIiksZ2V0OmkoUD0+UC5tZW51T3B0aW9ucywiZ2V0Iiksc2V0OmkoKFAsSCk9PntQLm1lbnVPcHRpb25zPUh9LCJzZXQiKX0sbWV0YWRhdGE6WX0sZyx2KSx4aSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFA9PiJ3aWR0aCJpbiBQLCJoYXMiKSxnZXQ6aShQPT5QLndpZHRoLCJnZXQiKSxzZXQ6aSgoUCxIKT0+e1Aud2lkdGg9SH0sInNldCIpfSxtZXRhZGF0YTpZfSxiLG0pLHhpKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4V2lkdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoUD0+Im1heFdpZHRoImluIFAsImhhcyIpLGdldDppKFA9PlAubWF4V2lkdGgsImdldCIpLHNldDppKChQLEgpPT57UC5tYXhXaWR0aD1IfSwic2V0Iil9LG1ldGFkYXRhOll9LE0saykseGkodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtaW5XaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShQPT4ibWluV2lkdGgiaW4gUCwiaGFzIiksZ2V0OmkoUD0+UC5taW5XaWR0aCwiZ2V0Iiksc2V0OmkoKFAsSCk9PntQLm1pbldpZHRoPUh9LCJzZXQiKX0sbWV0YWRhdGE6WX0sXyxDKSx4aSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dDbG9zZUJ1dHRvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShQPT4ic2hvd0Nsb3NlQnV0dG9uImluIFAsImhhcyIpLGdldDppKFA9PlAuc2hvd0Nsb3NlQnV0dG9uLCJnZXQiKSxzZXQ6aSgoUCxIKT0+e1Auc2hvd0Nsb3NlQnV0dG9uPUh9LCJzZXQiKX0sbWV0YWRhdGE6WX0sJCxJKSx4aSh0aGlzLG51bGwsaix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dIZWxwQnV0dG9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFA9PiJzaG93SGVscEJ1dHRvbiJpbiBQLCJoYXMiKSxnZXQ6aShQPT5QLnNob3dIZWxwQnV0dG9uLCJnZXQiKSxzZXQ6aSgoUCxIKT0+e1Auc2hvd0hlbHBCdXR0b249SH0sInNldCIpfSxtZXRhZGF0YTpZfSxTLHopLHhpKHRoaXMsbnVsbCxELHtraW5kOiJhY2Nlc3NvciIsbmFtZToib25IZWxwIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFA9PiJvbkhlbHAiaW4gUCwiaGFzIiksZ2V0OmkoUD0+UC5vbkhlbHAsImdldCIpLHNldDppKChQLEgpPT57UC5vbkhlbHA9SH0sInNldCIpfSxtZXRhZGF0YTpZfSxULEEpLHhpKHRoaXMsbnVsbCxVLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW9iaWxlRnVsbHNjcmVlbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShQPT4ibW9iaWxlRnVsbHNjcmVlbiJpbiBQLCJoYXMiKSxnZXQ6aShQPT5QLm1vYmlsZUZ1bGxzY3JlZW4sImdldCIpLHNldDppKChQLEgpPT57UC5tb2JpbGVGdWxsc2NyZWVuPUh9LCJzZXQiKX0sbWV0YWRhdGE6WX0sUixxKSx4aSh0aGlzLG51bGwsb2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50UGFkZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShQPT4iY29udGVudFBhZGRpbmciaW4gUCwiaGFzIiksZ2V0OmkoUD0+UC5jb250ZW50UGFkZGluZywiZ2V0Iiksc2V0OmkoKFAsSCk9PntQLmNvbnRlbnRQYWRkaW5nPUh9LCJzZXQiKX0sbWV0YWRhdGE6WX0sTyxyZSkseGkodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW9kYWxaSW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoUD0+Im1vZGFsWkluZGV4ImluIFAsImhhcyIpLGdldDppKFA9PlAubW9kYWxaSW5kZXgsImdldCIpLHNldDppKChQLEgpPT57UC5tb2RhbFpJbmRleD1IfSwic2V0Iil9LG1ldGFkYXRhOll9LEIsZWUpLHhpKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOll9LG51bGwsYSksQ2U9cj1lLnZhbHVlLFkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6WX0pfXN0YXRpYyBkZW1vPWhZdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIk92ZXJsYXkiXTtzdGF0aWMgYXN5bmMgY3JlYXRlQW5kU2hvdyhZKXtsZXQgUD1kb2N1bWVudC5ib2R5LEg9bmV3IENlO3JldHVybiBILmhlYWRpbmc9WS5oZWFkaW5nLEguY29udGVudD1ZLmNvbnRlbnQsSC5tZW51T3B0aW9ucz1ZLm1lbnVPcHRpb25zLFkud2lkdGgmJihILndpZHRoPVkud2lkdGgpLFkubWF4V2lkdGgmJihILm1heFdpZHRoPVkubWF4V2lkdGgpLFkubWluV2lkdGgmJihILm1pbldpZHRoPVkubWluV2lkdGgpLFkuc2hvd0Nsb3NlQnV0dG9uIT09dm9pZCAwJiYoSC5zaG93Q2xvc2VCdXR0b249WS5zaG93Q2xvc2VCdXR0b24pLFkuc2hvd0hlbHBCdXR0b24hPT12b2lkIDAmJihILnNob3dIZWxwQnV0dG9uPVkuc2hvd0hlbHBCdXR0b24pLFkub25IZWxwJiYoSC5vbkhlbHA9WS5vbkhlbHApLFkubW9iaWxlRnVsbHNjcmVlbiE9PXZvaWQgMCYmKEgubW9iaWxlRnVsbHNjcmVlbj1ZLm1vYmlsZUZ1bGxzY3JlZW4pLFkuY29udGVudFBhZGRpbmchPT12b2lkIDAmJihILmNvbnRlbnRQYWRkaW5nPVkuY29udGVudFBhZGRpbmcpLEgud2luZG93TGF5ZXI9YXdhaXQgVWkuY3JlYXRlQW5kU2hvdyh7Ymx1cjohMH0pLEgud2luZG93TGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGFzeW5jKCk9Pnthd2FpdCBILmRlc3Ryb3koKX0pLFAuYXBwZW5kKEgud2luZG93TGF5ZXIpLFAuYXBwZW5kKEgpLEgubW9kYWxaSW5kZXg9X2EuZ2V0TmV4dFpJbmRleCgpLF9hLnJlZ2lzdGVyKEgsSC5tb2RhbFpJbmRleCksSH0jZT1GYSh0aGlzLG8sIiIpO2dldCBoZWFkaW5nKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGhlYWRpbmcoWSl7dGhpcy4jZT1ZfSN0PShGYSh0aGlzLGwpLEZhKHRoaXMsdSx2b2lkIDApKTtnZXQgY29udGVudCgpe3JldHVybiB0aGlzLiN0fXNldCBjb250ZW50KFkpe3RoaXMuI3Q9WX0jYT0oRmEodGhpcyxmKSxGYSh0aGlzLGcsW10pKTtnZXQgbWVudU9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbWVudU9wdGlvbnMoWSl7dGhpcy4jYT1ZfSNyPShGYSh0aGlzLHYpLEZhKHRoaXMsYiwibWVkaXVtIikpO2dldCB3aWR0aCgpe3JldHVybiB0aGlzLiNyfXNldCB3aWR0aChZKXt0aGlzLiNyPVl9I2k9KEZhKHRoaXMsbSksRmEodGhpcyxNLHZvaWQgMCkpO2dldCBtYXhXaWR0aCgpe3JldHVybiB0aGlzLiNpfXNldCBtYXhXaWR0aChZKXt0aGlzLiNpPVl9I3M9KEZhKHRoaXMsayksRmEodGhpcyxfLHZvaWQgMCkpO2dldCBtaW5XaWR0aCgpe3JldHVybiB0aGlzLiNzfXNldCBtaW5XaWR0aChZKXt0aGlzLiNzPVl9I289KEZhKHRoaXMsQyksRmEodGhpcywkLCEwKSk7Z2V0IHNob3dDbG9zZUJ1dHRvbigpe3JldHVybiB0aGlzLiNvfXNldCBzaG93Q2xvc2VCdXR0b24oWSl7dGhpcy4jbz1ZfSNuPShGYSh0aGlzLEkpLEZhKHRoaXMsUywhMSkpO2dldCBzaG93SGVscEJ1dHRvbigpe3JldHVybiB0aGlzLiNufXNldCBzaG93SGVscEJ1dHRvbihZKXt0aGlzLiNuPVl9I2w9KEZhKHRoaXMseiksRmEodGhpcyxULHZvaWQgMCkpO2dldCBvbkhlbHAoKXtyZXR1cm4gdGhpcy4jbH1zZXQgb25IZWxwKFkpe3RoaXMuI2w9WX0jYz0oRmEodGhpcyxBKSxGYSh0aGlzLFIsITEpKTtnZXQgbW9iaWxlRnVsbHNjcmVlbigpe3JldHVybiB0aGlzLiNjfXNldCBtb2JpbGVGdWxsc2NyZWVuKFkpe3RoaXMuI2M9WX0jZD0oRmEodGhpcyxxKSxGYSh0aGlzLE8sMTYpKTtnZXQgY29udGVudFBhZGRpbmcoKXtyZXR1cm4gdGhpcy4jZH1zZXQgY29udGVudFBhZGRpbmcoWSl7dGhpcy4jZD1ZfSNwPShGYSh0aGlzLHJlKSxGYSh0aGlzLEIsMWUzKSk7Z2V0IG1vZGFsWkluZGV4KCl7cmV0dXJuIHRoaXMuI3B9c2V0IG1vZGFsWkluZGV4KFkpe3RoaXMuI3A9WX1jb25zdHJ1Y3Rvcigpe3N1cGVyKCl9c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBmb250LWZhbWlseTogJHtnYX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMzMzIiwiI2ZmZiIpfTsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICB9CiAgICAgIC5tb2RhbENvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgbGVmdDogMHB4OwogICAgICAgIHdpZHRoOiAxMDB2dzsKICAgICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQogICAgICAubW9kYWwgewogICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCkgc2NhbGUoMC45NSk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDsKICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDBweCk7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDYpOwogICAgICAgIG1hcmdpbjogMjBweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsKICAgICAgfQoKICAgICAgLyogV2lkdGggdmFyaWF0aW9ucyAqLwogICAgICAubW9kYWwud2lkdGgtc21hbGwgewogICAgICAgIHdpZHRoOiAzODBweDsKICAgICAgfQoKICAgICAgLm1vZGFsLndpZHRoLW1lZGl1bSB7CiAgICAgICAgd2lkdGg6IDU2MHB4OwogICAgICB9CgogICAgICAubW9kYWwud2lkdGgtbGFyZ2UgewogICAgICAgIHdpZHRoOiA4MDBweDsKICAgICAgfQoKICAgICAgLm1vZGFsLndpZHRoLWZ1bGxzY3JlZW4gewogICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gNDBweCk7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDBweCk7CiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDQwcHgpOwogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAubW9kYWwgewogICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSA0MHB4KSAhaW1wb3J0YW50OwogICAgICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8qIEFsbG93IGZ1bGwgaGVpZ2h0IG9uIG1vYmlsZSB3aGVuIGNvbnRlbnQgbmVlZHMgaXQgKi8KICAgICAgICAubW9kYWxDb250YWluZXIgewogICAgICAgICAgcGFkZGluZzogMTBweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLm1vZGFsIHsKICAgICAgICAgIG1hcmdpbjogMTBweDsKICAgICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAyMHB4KTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLyogRnVsbCBzY3JlZW4gbW9kZSBvbiBtb2JpbGUgKi8KICAgICAgICAubW9kYWwubW9iaWxlLWZ1bGxzY3JlZW4gewogICAgICAgICAgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7CiAgICAgICAgICBoZWlnaHQ6IDEwMHZoICFpbXBvcnRhbnQ7CiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OwogICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5tb2RhbC5zaG93IHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDEpOwogICAgICB9CgogICAgICAubW9kYWwuc2hvdy5wcmVkZXN0cm95IHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KSBzY2FsZSgxKTsKICAgICAgfQoKICAgICAgLm1vZGFsIC5oZWFkaW5nIHsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgbWluLWhlaWdodDogNDBweDsKICAgICAgICBmb250LWZhbWlseTogJHtnYX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5tb2RhbCAuaGVhZGluZyAuaGVhZGVyLWJ1dHRvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDhweDsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgIH0KCiAgICAgIC5tb2RhbCAuaGVhZGluZyAuaGVhZGVyLWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDI4cHg7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5tb2RhbCAuaGVhZGluZyAuaGVhZGVyLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5tb2RhbCAuaGVhZGluZyAuaGVhZGVyLWJ1dHRvbjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzNmM2Y0NiIpfTsKICAgICAgfQoKICAgICAgLm1vZGFsIC5oZWFkaW5nIC5oZWFkZXItYnV0dG9uIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAubW9kYWwgLmhlYWRpbmcgLmhlYWRpbmctdGV4dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgICAgICAgcGFkZGluZzogMCA0MHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5tb2RhbCAuY29udGVudCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICB9CiAgICAgIC5tb2RhbCAuYm90dG9tQnV0dG9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5tb2RhbCAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjM2YzZjQ2Iil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLm1vZGFsIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzNmM2Y0NiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjZDFkNWRiIiwiIzUyNTI1YiIpfTsKICAgICAgfQogICAgICAubW9kYWwgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzUyNTI1YiIpfTsKICAgICAgfQogICAgICAubW9kYWwgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbjpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tb2RhbCAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uLnByaW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgfQogICAgICAubW9kYWwgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbi5wcmltYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiMyNTYzZWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiMyNTYzZWIiKX07CiAgICAgIH0KICAgICAgLm1vZGFsIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24ucHJpbWFyeTphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjMWQ0ZWQ4IiwiIzFkNGVkOCIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjMWQ0ZWQ4IiwiIzFkNGVkOCIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IFk9dHlwZW9mIHRoaXMud2lkdGg9PSJzdHJpbmciP2B3aWR0aC0ke3RoaXMud2lkdGh9YDoiIixQPXR5cGVvZiB0aGlzLndpZHRoPT0ibnVtYmVyIj9gJHt0aGlzLndpZHRofXB4YDoiIixIPXRoaXMubWF4V2lkdGg/YCR7dGhpcy5tYXhXaWR0aH1weGA6IiIsRz10aGlzLm1pbldpZHRoP2Ake3RoaXMubWluV2lkdGh9cHhgOiIiLFc9dGhpcy5tb2JpbGVGdWxsc2NyZWVuPyJtb2JpbGUtZnVsbHNjcmVlbiI6IiI7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICAke1A/YC5tb2RhbCB7IHdpZHRoOiAke1B9OyB9YDoiIn0KICAgICAgICAke0g/YC5tb2RhbCB7IG1heC13aWR0aDogJHtIfTsgfWA6IiJ9CiAgICAgICAgJHtHP2AubW9kYWwgeyBtaW4td2lkdGg6ICR7R307IH1gOiIifQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJtb2RhbENvbnRhaW5lciIgQGNsaWNrPSR7dGhpcy5oYW5kbGVPdXRzaWRlQ2xpY2t9IHN0eWxlPSJ6LWluZGV4OiAke3RoaXMubW9kYWxaSW5kZXh9Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbCAke1l9ICR7V30iPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmctdGV4dCI+JHt0aGlzLmhlYWRpbmd9PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1idXR0b25zIj4KICAgICAgICAgICAgICAke3RoaXMuc2hvd0hlbHBCdXR0b24/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1idXR0b24iIEBjbGljaz0ke3RoaXMuaGFuZGxlSGVscH0gdGl0bGU9IkhlbHAiPgogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpoZWxwQ2lyY2xlIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICR7dGhpcy5zaG93Q2xvc2VCdXR0b24/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmRlc3Ryb3koKX0gdGl0bGU9IkNsb3NlIj4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6eCJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiIHN0eWxlPSJwYWRkaW5nOiAke3RoaXMuY29udGVudFBhZGRpbmd9cHg7Ij4ke3RoaXMuY29udGVudH08L2Rpdj4KICAgICAgICAgICR7dGhpcy5tZW51T3B0aW9ucy5sZW5ndGg+MD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJib3R0b21CdXR0b25zIj4KICAgICAgICAgICAgICAke3RoaXMubWVudU9wdGlvbnMubWFwKChzZSx6ZSk9PndgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbUJ1dHRvbiAke3plPT09dGhpcy5tZW51T3B0aW9ucy5sZW5ndGgtMT8icHJpbWFyeSI6IiJ9ICR7c2UubmFtZT09PSJPSyI/Im9rIjoiIn0iIEBjbGljaz0keygpPT57c2UuYWN0aW9uKHRoaXMpfX0+JHtzZS5uYW1lfTwvZGl2PgogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXdpbmRvd0xheWVyPUZhKHRoaXMsZWUpO2FzeW5jIGZpcnN0VXBkYXRlZChZKXtzdXBlci5maXJzdFVwZGF0ZWQoWSksYXdhaXQoYXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UpLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMzApLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIubW9kYWwiKS5jbGFzc0xpc3QuYWRkKCJzaG93Iil9YXN5bmMgaGFuZGxlT3V0c2lkZUNsaWNrKFkpe1kuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IFA9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5tb2RhbENvbnRhaW5lciIpO1kudGFyZ2V0PT09UCYmYXdhaXQgdGhpcy5kZXN0cm95KCl9YXN5bmMgZGVzdHJveSgpe2xldCBZPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO3RoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIubW9kYWwiKS5jbGFzc0xpc3QuYWRkKCJwcmVkZXN0cm95IiksYXdhaXQgWS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDIwMCksZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzKSxhd2FpdCB0aGlzLndpbmRvd0xheWVyLmRlc3Ryb3koKSxfYS51bnJlZ2lzdGVyKHRoaXMpfWFzeW5jIGhhbmRsZUhlbHAoKXt0aGlzLm9uSGVscCYmYXdhaXQgdGhpcy5vbkhlbHAoKX1zdGF0aWN7RmEocixhKX19O3JldHVybiBDZT1yfSkoKX0pO3ZhciBnWXQsYll0PWMoKCk9PntwZSgpO2dZdD1pKCgpPT53YAogICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7ImEgbGFiZWwifT48L2RlZXMtbGFiZWw+CiAgYCwiZGVtb0Z1bmMiKX0pO3ZhciBnWixvNix2WXQscTg9YygoKT0+e1AxKCk7R2koKTtwZSgpO2JZdCgpO1hlKCk7Z1o9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LG82PWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSx2WXQ9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLWxhYmVsIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNMYWJlbCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0saD1bTCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxwPVtMKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxnWih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJsYWJlbCJpbiBtLCJoYXMiKSxnZXQ6aShtPT5tLmxhYmVsLCJnZXQiKSxzZXQ6aSgobSx5KT0+e20ubGFiZWw9eX0sInNldCIpfSxtZXRhZGF0YTpifSxvLGwpLGdaKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGVzY3JpcHRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkobT0+ImRlc2NyaXB0aW9uImluIG0sImhhcyIpLGdldDppKG09Pm0uZGVzY3JpcHRpb24sImdldCIpLHNldDppKChtLHkpPT57bS5kZXNjcmlwdGlvbj15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LHUsZiksZ1oodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXF1aXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtPT4icmVxdWlyZWQiaW4gbSwiaGFzIiksZ2V0OmkobT0+bS5yZXF1aXJlZCwiZ2V0Iiksc2V0OmkoKG0seSk9PnttLnJlcXVpcmVkPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sZyx2KSxnWihudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLGEpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPWdZdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCIsIklucHV0Il07I2U9bzYodGhpcyxvLCIiKTtnZXQgbGFiZWwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbGFiZWwoYil7dGhpcy4jZT1ifSN0PShvNih0aGlzLGwpLG82KHRoaXMsdSx2b2lkIDApKTtnZXQgZGVzY3JpcHRpb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgZGVzY3JpcHRpb24oYil7dGhpcy4jdD1ifSNhPShvNih0aGlzLGYpLG82KHRoaXMsZywhMSkpO2dldCByZXF1aXJlZCgpe3JldHVybiB0aGlzLiNhfXNldCByZXF1aXJlZChiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgc2Fucy1zZXJpZjsKICAgICAgfQoKICAgICAgLmxhYmVsIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgIG1hcmdpbi1ib3R0b206IDZweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC5yZXF1aXJlZCB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSkiLCJoc2woMCA3Mi4yJSA1MC42JSkiKX07CiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDsKICAgICAgfQoKICAgICAgZGVlcy1pY29uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpOwogICAgICAgIG1hcmdpbi1sZWZ0OiA0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgY3Vyc29yOiBoZWxwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLmxhYmVsP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsIj4KICAgICAgICAgICAgICAke3RoaXMubGFiZWx9CiAgICAgICAgICAgICAgJHt0aGlzLnJlcXVpcmVkP3dgPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPmA6IiJ9CiAgICAgICAgICAgICAgJHt0aGlzLmRlc2NyaXB0aW9uP3dgCiAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6aW5mbyJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDxkZWVzLXNwZWVjaGJ1YmJsZSAudGV4dD0ke3RoaXMuZGVzY3JpcHRpb259PjwvZGVlcy1zcGVlY2hidWJibGU+CiAgICAgICAgICAgICAgICAgIGA6d2BgfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6d2BgfQogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksbzYodGhpcyx2KX1zdGF0aWN7bzYocixhKX19O3JldHVybiB4PXJ9KSgpfSk7dmFyIGJaLGhPZT1jKCgpPT57Ylo9IjAuNTUuMSJ9KTt2YXIgVjgsVHMseFl0LG42PWMoKCk9PntwZSgpO0l0KCk7aE9lKCk7WGUoKTtWOD1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sVHM9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LHhZdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtd29ya3NwYWNlLW1vbmFjbyIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdO3ZhciBFPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzV29ya3NwYWNlTW9uYWNvIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpTdHJpbmd9KV0saD1bTCh7dHlwZTpTdHJpbmd9KV0scD1bTCh7dHlwZTpTdHJpbmd9KV0seD1bTCh7dHlwZTpPYmplY3R9KV0seT1bTCh7dHlwZTpCb29sZWFufSldLFY4KHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4iY29udGVudCJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLmNvbnRlbnQsImdldCIpLHNldDppKChDLE4pPT57Qy5jb250ZW50PU59LCJzZXQiKX0sbWV0YWRhdGE6X30sbyxsKSxWOCh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imxhbmd1YWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJsYW5ndWFnZSJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLmxhbmd1YWdlLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0MubGFuZ3VhZ2U9Tn0sInNldCIpfSxtZXRhZGF0YTpffSx1LGYpLFY4KHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsZVBhdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+ImZpbGVQYXRoImluIEMsImhhcyIpLGdldDppKEM9PkMuZmlsZVBhdGgsImdldCIpLHNldDppKChDLE4pPT57Qy5maWxlUGF0aD1OfSwic2V0Iil9LG1ldGFkYXRhOl99LGcsdiksVjgodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50U3ViamVjdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4iY29udGVudFN1YmplY3QiaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy5jb250ZW50U3ViamVjdCwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLmNvbnRlbnRTdWJqZWN0PU59LCJzZXQiKX0sbWV0YWRhdGE6X30sYixtKSxWOCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndvcmRXcmFwIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJ3b3JkV3JhcCJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLndvcmRXcmFwLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0Mud29yZFdyYXA9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxNLGspLFY4KG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsYSksRT1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89aSgoKT0+d2A8ZGVlcy13b3Jrc3BhY2UtbW9uYWNvPjwvZGVlcy13b3Jrc3BhY2UtbW9uYWNvPmAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIldvcmtzcGFjZSJdO3N0YXRpYyBtb25hY29EZWZlcnJlZDtlZGl0b3JEZWZlcnJlZD1FdC5zbWFydHByb21pc2UuZGVmZXIoKTsjZT1Ucyh0aGlzLG8sYGZ1bmN0aW9uIGhlbGxvKCkgewoJYWxlcnQoJ0hlbGxvIHdvcmxkIScpOwp9YCk7Z2V0IGNvbnRlbnQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY29udGVudChfKXt0aGlzLiNlPV99I3Q9KFRzKHRoaXMsbCksVHModGhpcyx1LCJ0eXBlc2NyaXB0IikpO2dldCBsYW5ndWFnZSgpe3JldHVybiB0aGlzLiN0fXNldCBsYW5ndWFnZShfKXt0aGlzLiN0PV99I2E9KFRzKHRoaXMsZiksVHModGhpcyxnLCIiKSk7Z2V0IGZpbGVQYXRoKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGZpbGVQYXRoKF8pe3RoaXMuI2E9X30jcj0oVHModGhpcyx2KSxUcyh0aGlzLGIsbmV3IEV0LnNtYXJ0cngucnhqcy5TdWJqZWN0KSk7Z2V0IGNvbnRlbnRTdWJqZWN0KCl7cmV0dXJuIHRoaXMuI3J9c2V0IGNvbnRlbnRTdWJqZWN0KF8pe3RoaXMuI3I9X30jaT0oVHModGhpcyxtKSxUcyh0aGlzLE0sIm9mZiIpKTtnZXQgd29yZFdyYXAoKXtyZXR1cm4gdGhpcy4jaX1zZXQgd29yZFdyYXAoXyl7dGhpcy4jaT1ffW1vbmFjb1RoZW1lU3Vic2NyaXB0aW9uPShUcyh0aGlzLGspLG51bGwpO2lzVXBkYXRpbmdGcm9tRXh0ZXJuYWw9ITE7Y29uc3RydWN0b3IoKXtzdXBlcigpLGtyLnNldHVwRG9tVG9vbHMoKX1zdGF0aWMgc3R5bGVzPVtEZSxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICogewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5tYWluYm94IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAjY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibWFpbmJveCI+CiAgICAgICAgPGRpdiBpZD0iY29udGFpbmVyIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZChfKXtzdXBlci5maXJzdFVwZGF0ZWQoXyk7bGV0IEM9dGhpcy5zaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKSxOPWBodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL21vbmFjby1lZGl0b3JAJHtiWn1gO2lmKCFFLm1vbmFjb0RlZmVycmVkKXtFLm1vbmFjb0RlZmVycmVkPUV0LnNtYXJ0cHJvbWlzZS5kZWZlcigpO2xldCBTPWAke059L21pbi92cy9sb2FkZXIuanNgLHo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7ei5zcmM9Uyx6Lm9ubG9hZD0oKT0+e0UubW9uYWNvRGVmZXJyZWQucmVzb2x2ZSgpfSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHopfWF3YWl0IEUubW9uYWNvRGVmZXJyZWQucHJvbWlzZSx3aW5kb3cucmVxdWlyZS5jb25maWcoe3BhdGhzOnt2czpgJHtOfS9taW4vdnNgfX0pLHdpbmRvdy5yZXF1aXJlKFsidnMvZWRpdG9yL2VkaXRvci5tYWluIl0sYXN5bmMoKT0+e2xldCBTPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLEQ9Uy50aGVtZU1hbmFnZXIuZ29CcmlnaHRCb29sZWFuPyJ2cyI6InZzLWRhcmsiLFQ9d2luZG93Lm1vbmFjbyxBPW51bGw7aWYodGhpcy5maWxlUGF0aCl7bGV0IFI9VC5VcmkucGFyc2UoYGZpbGU6Ly8ke3RoaXMuZmlsZVBhdGh9YCk7QT1ULmVkaXRvci5nZXRNb2RlbChSKSxBP0Euc2V0VmFsdWUodGhpcy5jb250ZW50KTpBPVQuZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMuY29udGVudCx0aGlzLmxhbmd1YWdlLFIpfWxldCBVPVQuZWRpdG9yLmNyZWF0ZShDLHttb2RlbDpBfHx2b2lkIDAsdmFsdWU6QT92b2lkIDA6dGhpcy5jb250ZW50LGxhbmd1YWdlOkE/dm9pZCAwOnRoaXMubGFuZ3VhZ2UsdGhlbWU6RCx1c2VTaGFkb3dET006ITAsZm9udFNpemU6MTYsYXV0b21hdGljTGF5b3V0OiEwLHdvcmRXcmFwOnRoaXMud29yZFdyYXAsaG92ZXI6e2VuYWJsZWQ6ITAsZGVsYXk6MzAwLHN0aWNreTohMCxhYm92ZTohMX19KTt0aGlzLm1vbmFjb1RoZW1lU3Vic2NyaXB0aW9uPVMudGhlbWVNYW5hZ2VyLnRoZW1lT2JzZXJ2YWJsZS5zdWJzY3JpYmUoUj0+e2xldCBxPVI/InZzIjoidnMtZGFyayI7VS51cGRhdGVPcHRpb25zKHt0aGVtZTpxfSl9KSx0aGlzLmVkaXRvckRlZmVycmVkLnJlc29sdmUoVSl9KTtsZXQgJD1hd2FpdChhd2FpdCBmZXRjaChgJHtOfS9taW4vdnMvZWRpdG9yL2VkaXRvci5tYWluLmNzc2ApKS50ZXh0KCksST1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO0kudGV4dENvbnRlbnQ9JCx0aGlzLnNoYWRvd1Jvb3QuYXBwZW5kKEkpO2xldCBqPWF3YWl0IHRoaXMuZWRpdG9yRGVmZXJyZWQucHJvbWlzZTtqLm9uRGlkQ2hhbmdlTW9kZWxDb250ZW50KGFzeW5jIFM9PntpZih0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWwpcmV0dXJuO2xldCB6PWouZ2V0VmFsdWUoKTt0aGlzLmNvbnRlbnRTdWJqZWN0Lm5leHQoeiksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29udGVudC1jaGFuZ2UiLHtkZXRhaWw6eixidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfSksdGhpcy5jb250ZW50U3ViamVjdC5uZXh0KGouZ2V0VmFsdWUoKSl9YXN5bmMgdXBkYXRlZChfKXtzdXBlci51cGRhdGVkKF8pO2xldCBDPXdpbmRvdy5tb25hY287aWYoQyl7aWYoXy5oYXMoImZpbGVQYXRoIikmJnRoaXMuZmlsZVBhdGgpe2xldCBOPWF3YWl0IHRoaXMuZWRpdG9yRGVmZXJyZWQucHJvbWlzZSwkPUMuVXJpLnBhcnNlKGBmaWxlOi8vJHt0aGlzLmZpbGVQYXRofWApLEk9Qy5lZGl0b3IuZ2V0TW9kZWwoJCk7ST9JLmdldFZhbHVlKCkhPT10aGlzLmNvbnRlbnQmJih0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWw9ITAsSS5zZXRWYWx1ZSh0aGlzLmNvbnRlbnQpLHRoaXMuaXNVcGRhdGluZ0Zyb21FeHRlcm5hbD0hMSk6ST1DLmVkaXRvci5jcmVhdGVNb2RlbCh0aGlzLmNvbnRlbnQsdGhpcy5sYW5ndWFnZSwkKSxOLmdldE1vZGVsKCk/LnVyaS50b1N0cmluZygpIT09JC50b1N0cmluZygpJiZOLnNldE1vZGVsKEkpO3JldHVybn1pZihfLmhhcygiY29udGVudCIpKXtsZXQgTj1hd2FpdCB0aGlzLmVkaXRvckRlZmVycmVkLnByb21pc2U7Ti5nZXRWYWx1ZSgpIT09dGhpcy5jb250ZW50JiYodGhpcy5pc1VwZGF0aW5nRnJvbUV4dGVybmFsPSEwLE4uc2V0VmFsdWUodGhpcy5jb250ZW50KSx0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWw9ITEpfWlmKF8uaGFzKCJsYW5ndWFnZSIpKXtsZXQgJD0oYXdhaXQgdGhpcy5lZGl0b3JEZWZlcnJlZC5wcm9taXNlKS5nZXRNb2RlbCgpOyQmJkMuZWRpdG9yLnNldE1vZGVsTGFuZ3VhZ2UoJCx0aGlzLmxhbmd1YWdlKX19fWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLm1vbmFjb1RoZW1lU3Vic2NyaXB0aW9uJiYodGhpcy5tb25hY29UaGVtZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMubW9uYWNvVGhlbWVTdWJzY3JpcHRpb249bnVsbCl9YXN5bmMgc2V0Q29udGVudEV4dGVybmFsKF8sQz0hMCl7bGV0IE49YXdhaXQgdGhpcy5lZGl0b3JEZWZlcnJlZC5wcm9taXNlO2lmKE4uZ2V0VmFsdWUoKT09PV8pcmV0dXJuO2xldCBJPUM/Ti5nZXRQb3NpdGlvbigpOm51bGwsaj1DP04uZ2V0U2VsZWN0aW9ucygpOm51bGwsUz1DP04uZ2V0U2Nyb2xsVG9wKCk6MCx6PUM/Ti5nZXRTY3JvbGxMZWZ0KCk6MDtpZih0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWw9ITAsTi5zZXRWYWx1ZShfKSx0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWw9ITEsQyl7aWYoSSl7bGV0IEQ9Ti5nZXRNb2RlbCgpLFQ9RD8uZ2V0TGluZUNvdW50KCl8fDEsQT1NYXRoLm1pbihJLmxpbmVOdW1iZXIsVCksVT1EPy5nZXRMaW5lTWF4Q29sdW1uKEEpfHwxLFI9TWF0aC5taW4oSS5jb2x1bW4sVSk7Ti5zZXRQb3NpdGlvbih7bGluZU51bWJlcjpBLGNvbHVtbjpSfSl9aWYoaiYmai5sZW5ndGg+MCl0cnl7Ti5zZXRTZWxlY3Rpb25zKGopfWNhdGNoe31OLnNldFNjcm9sbFBvc2l0aW9uKHtzY3JvbGxUb3A6UyxzY3JvbGxMZWZ0Onp9KX19c3RhdGlje1RzKHIsYSl9fTtyZXR1cm4gRT1yfSkoKX0pO3ZhciBsbCxOcixZTyx2WixtT2U9YygoKT0+e1dhKCk7cGUoKTtYZSgpO3M2KCk7S3QoKTtxOCgpO242KCk7bjYoKTtsbD1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sTnI9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LFlPPVt7a2V5OiJ0eXBlc2NyaXB0IixsYWJlbDoiVHlwZVNjcmlwdCJ9LHtrZXk6ImphdmFzY3JpcHQiLGxhYmVsOiJKYXZhU2NyaXB0In0se2tleToianNvbiIsbGFiZWw6IkpTT04ifSx7a2V5OiJodG1sIixsYWJlbDoiSFRNTCJ9LHtrZXk6ImNzcyIsbGFiZWw6IkNTUyJ9LHtrZXk6InNjc3MiLGxhYmVsOiJTQ1NTIn0se2tleToibWFya2Rvd24iLGxhYmVsOiJNYXJrZG93biJ9LHtrZXk6InlhbWwiLGxhYmVsOiJZQU1MIn0se2tleToieG1sIixsYWJlbDoiWE1MIn0se2tleToic3FsIixsYWJlbDoiU1FMIn0se2tleToicHl0aG9uIixsYWJlbDoiUHl0aG9uIn0se2tleToiamF2YSIsbGFiZWw6IkphdmEifSx7a2V5OiJjc2hhcnAiLGxhYmVsOiJDIyJ9LHtrZXk6ImNwcCIsbGFiZWw6IkMrKyJ9LHtrZXk6ImdvIixsYWJlbDoiR28ifSx7a2V5OiJydXN0IixsYWJlbDoiUnVzdCJ9LHtrZXk6InNoZWxsIixsYWJlbDoiU2hlbGwifSx7a2V5OiJwbGFpbnRleHQiLGxhYmVsOiJQbGFpbiBUZXh0In1dLHZaPSgoKT0+e2xldCB0PVthZSgiZGVlcy1pbnB1dC1jb2RlIildLGUsYT1bXSxyLHM9b3QsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W10sTiwkPVtdLEk9W107dmFyIGo9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNJbnB1dENvZGUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgUz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOlN0cmluZ30pXSxoPVtMKHt0eXBlOlN0cmluZ30pXSxwPVtMKHt0eXBlOlN0cmluZ30pXSx4PVtMKHt0eXBlOlN0cmluZ30pXSx5PVtMKHt0eXBlOkJvb2xlYW59KV0sRT1bWigpXSxOPVtaKCldLGxsKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+InZhbHVlImluIHosImhhcyIpLGdldDppKHo9PnoudmFsdWUsImdldCIpLHNldDppKCh6LEQpPT57ei52YWx1ZT1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LG8sbCksbGwodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYW5ndWFnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4ibGFuZ3VhZ2UiaW4geiwiaGFzIiksZ2V0Omkoej0+ei5sYW5ndWFnZSwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6Lmxhbmd1YWdlPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sdSxmKSxsbCh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4iaGVpZ2h0ImluIHosImhhcyIpLGdldDppKHo9PnouaGVpZ2h0LCJnZXQiKSxzZXQ6aSgoeixEKT0+e3ouaGVpZ2h0PUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sZyx2KSxsbCh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndvcmRXcmFwIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJ3b3JkV3JhcCJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LndvcmRXcmFwLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3oud29yZFdyYXA9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxiLG0pLGxsKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0xpbmVOdW1iZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJzaG93TGluZU51bWJlcnMiaW4geiwiaGFzIiksZ2V0Omkoej0+ei5zaG93TGluZU51bWJlcnMsImdldCIpLHNldDppKCh6LEQpPT57ei5zaG93TGluZU51bWJlcnM9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxNLGspLGxsKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNMYW5ndWFnZURyb3Bkb3duT3BlbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4iaXNMYW5ndWFnZURyb3Bkb3duT3BlbiJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LmlzTGFuZ3VhZ2VEcm9wZG93bk9wZW4sImdldCIpLHNldDppKCh6LEQpPT57ei5pc0xhbmd1YWdlRHJvcGRvd25PcGVuPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sXyxDKSxsbCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvcHlTdWNjZXNzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJjb3B5U3VjY2VzcyJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LmNvcHlTdWNjZXNzLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3ouY29weVN1Y2Nlc3M9RH0sInNldCIpfSxtZXRhZGF0YTpTfSwkLEkpLGxsKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlN9LG51bGwsYSksaj1yPWUudmFsdWUsUyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpTfSl9c3RhdGljIGRlbW89aSgoKT0+d2AKICAgIDxkZWVzLWlucHV0LWNvZGUKICAgICAgbGFiZWw9IlR5cGVTY3JpcHQgQ29kZSIKICAgICAga2V5PSJjb2RlIgogICAgICBsYW5ndWFnZT0idHlwZXNjcmlwdCIKICAgICAgaGVpZ2h0PSIzMDBweCIKICAgICAgLnZhbHVlPSR7YGNvbnN0IGdyZWV0aW5nOiBzdHJpbmcgPSAiSGVsbG8gV29ybGQiOwpjb25zb2xlLmxvZyhncmVldGluZyk7YH0KICAgID48L2RlZXMtaW5wdXQtY29kZT4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCIsIldvcmtzcGFjZSJdOyNlPU5yKHRoaXMsbywiIik7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKFMpe3RoaXMuI2U9U30jdD0oTnIodGhpcyxsKSxOcih0aGlzLHUsInR5cGVzY3JpcHQiKSk7Z2V0IGxhbmd1YWdlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGxhbmd1YWdlKFMpe3RoaXMuI3Q9U30jYT0oTnIodGhpcyxmKSxOcih0aGlzLGcsIjIwMHB4IikpO2dldCBoZWlnaHQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgaGVpZ2h0KFMpe3RoaXMuI2E9U30jcj0oTnIodGhpcyx2KSxOcih0aGlzLGIsIm9mZiIpKTtnZXQgd29yZFdyYXAoKXtyZXR1cm4gdGhpcy4jcn1zZXQgd29yZFdyYXAoUyl7dGhpcy4jcj1TfSNpPShOcih0aGlzLG0pLE5yKHRoaXMsTSwhMCkpO2dldCBzaG93TGluZU51bWJlcnMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgc2hvd0xpbmVOdW1iZXJzKFMpe3RoaXMuI2k9U30jcz0oTnIodGhpcyxrKSxOcih0aGlzLF8sITEpKTtnZXQgaXNMYW5ndWFnZURyb3Bkb3duT3Blbigpe3JldHVybiB0aGlzLiNzfXNldCBpc0xhbmd1YWdlRHJvcGRvd25PcGVuKFMpe3RoaXMuI3M9U30jbz0oTnIodGhpcyxDKSxOcih0aGlzLCQsITEpKTtnZXQgY29weVN1Y2Nlc3MoKXtyZXR1cm4gdGhpcy4jb31zZXQgY29weVN1Y2Nlc3MoUyl7dGhpcy4jbz1TfWVkaXRvckVsZW1lbnQ9KE5yKHRoaXMsSSksbnVsbCk7c3RhdGljIHN0eWxlcz1bRGUsLi4ub3QuYmFzZVN0eWxlcyxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICB9CgogICAgICAuaW5wdXQtd3JhcHBlciwKICAgICAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSJ0b3AiXSkgLmlucHV0LXdyYXBwZXIsCiAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0ibGVmdCJdKSAuaW5wdXQtd3JhcHBlciwKICAgICAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSJyaWdodCJdKSAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgLmNvZGUtY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICB9CgogICAgICAudG9vbGJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnRvb2xiYXItbGVmdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAudG9vbGJhci1yaWdodCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAubGFuZ3VhZ2Utc2VsZWN0b3IgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmxhbmd1YWdlLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAubGFuZ3VhZ2UtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgIH0KCiAgICAgIC5sYW5ndWFnZS1kcm9wZG93biB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMTAwJTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTsKICAgICAgICB6LWluZGV4OiAxMDA7CiAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBtaW4td2lkdGg6IDE0MHB4OwogICAgICB9CgogICAgICAubGFuZ3VhZ2Utb3B0aW9uIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAubGFuZ3VhZ2Utb3B0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgIH0KCiAgICAgIC5sYW5ndWFnZS1vcHRpb24uc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5MCUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNDUlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDkwJSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWJ1dHRvbi5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b24uc3VjY2VzcyB7CiAgICAgICAgY29sb3I6IGhzbCgxNDIuMSA3Ni4yJSAzNi4zJSk7CiAgICAgIH0KCiAgICAgIC5lZGl0b3Itd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgZGVlcy13b3Jrc3BhY2UtbW9uYWNvIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWRpdmlkZXIgewogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICBtYXJnaW46IDAgNHB4OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAuY29kZS1jb250YWluZXIgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IFM9WU8uZmluZCh6PT56LmtleT09PXRoaXMubGFuZ3VhZ2UpfHxZT1swXTtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGhlaWdodDogJHt0aGlzLmhlaWdodH07CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuZGVzY3JpcHRpb249JHt0aGlzLmRlc2NyaXB0aW9ufSAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1jb250YWluZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItbGVmdCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ3VhZ2Utc2VsZWN0b3IiPgogICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICBjbGFzcz0ibGFuZ3VhZ2UtYnV0dG9uIgogICAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLnRvZ2dsZUxhbmd1YWdlRHJvcGRvd259CiAgICAgICAgICAgICAgICAgIEBibHVyPSR7dGhpcy5oYW5kbGVMYW5ndWFnZUJsdXJ9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICR7Uy5sYWJlbH0KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Q2hldnJvbkRvd24ifSBpY29uU2l6ZT0iMTQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAke3RoaXMuaXNMYW5ndWFnZURyb3Bkb3duT3Blbj93YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5ndWFnZS1kcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgJHtZTy5tYXAoej0+d2AKICAgICAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Imxhbmd1YWdlLW9wdGlvbiAke3oua2V5PT09dGhpcy5sYW5ndWFnZT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgICAgICAgICAgICAgQG1vdXNlZG93bj0ke0Q9PnRoaXMuc2VsZWN0TGFuZ3VhZ2UoRCx6LmtleSl9CiAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICR7ei5sYWJlbH0KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLXJpZ2h0Ij4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24gJHt0aGlzLndvcmRXcmFwPT09Im9uIj8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICB0aXRsZT0iV29yZCBXcmFwIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy50b2dnbGVXb3JkV3JhcH0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpXcmFwVGV4dCJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uICR7dGhpcy5zaG93TGluZU51bWJlcnM/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgICAgdGl0bGU9IkxpbmUgTnVtYmVycyIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMudG9nZ2xlTGluZU51bWJlcnN9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6SGFzaCJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1kaXZpZGVyIj48L2Rpdj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24gJHt0aGlzLmNvcHlTdWNjZXNzPyJzdWNjZXNzIjoiIn0iCiAgICAgICAgICAgICAgICB0aXRsZT0iQ29weSBDb2RlIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5jb3B5Q29kZX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7dGhpcy5jb3B5U3VjY2Vzcz8ibHVjaWRlOkNoZWNrIjoibHVjaWRlOkNvcHkifSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIHRpdGxlPSJFeHBhbmQiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLm9wZW5GdWxsc2NyZWVufQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOk1heGltaXplMiJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJlZGl0b3Itd3JhcHBlciI+CiAgICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tb25hY28KICAgICAgICAgICAgICAuY29udGVudD0ke3RoaXMudmFsdWV9CiAgICAgICAgICAgICAgLmxhbmd1YWdlPSR7dGhpcy5sYW5ndWFnZX0KICAgICAgICAgICAgICAud29yZFdyYXA9JHt0aGlzLndvcmRXcmFwfQogICAgICAgICAgICAgIEBjb250ZW50LWNoYW5nZT0ke3RoaXMuaGFuZGxlQ29udGVudENoYW5nZX0KICAgICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtbW9uYWNvPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXt0aGlzLmVkaXRvckVsZW1lbnQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKSx0aGlzLmVkaXRvckVsZW1lbnQmJnRoaXMuZWRpdG9yRWxlbWVudC5jb250ZW50U3ViamVjdC5zdWJzY3JpYmUoUz0+e3RoaXMudmFsdWUhPT1TJiYodGhpcy52YWx1ZT1TLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX0pfXRvZ2dsZUxhbmd1YWdlRHJvcGRvd24oKXt0aGlzLmlzTGFuZ3VhZ2VEcm9wZG93bk9wZW49IXRoaXMuaXNMYW5ndWFnZURyb3Bkb3duT3Blbn1oYW5kbGVMYW5ndWFnZUJsdXIoKXtzZXRUaW1lb3V0KCgpPT57dGhpcy5pc0xhbmd1YWdlRHJvcGRvd25PcGVuPSExfSwxNTApfWFzeW5jIHNlbGVjdExhbmd1YWdlKFMseil7aWYoUy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubGFuZ3VhZ2U9eix0aGlzLmlzTGFuZ3VhZ2VEcm9wZG93bk9wZW49ITEsdGhpcy5lZGl0b3JFbGVtZW50KXt0aGlzLmVkaXRvckVsZW1lbnQubGFuZ3VhZ2U9ejtsZXQgVD0oYXdhaXQgdGhpcy5lZGl0b3JFbGVtZW50LmVkaXRvckRlZmVycmVkLnByb21pc2UpLmdldE1vZGVsKCk7VCYmd2luZG93Lm1vbmFjby5lZGl0b3Iuc2V0TW9kZWxMYW5ndWFnZShULHopfX10b2dnbGVXb3JkV3JhcCgpe3RoaXMud29yZFdyYXA9dGhpcy53b3JkV3JhcD09PSJvbiI/Im9mZiI6Im9uIix0aGlzLnVwZGF0ZUVkaXRvck9wdGlvbigid29yZFdyYXAiLHRoaXMud29yZFdyYXApfXRvZ2dsZUxpbmVOdW1iZXJzKCl7dGhpcy5zaG93TGluZU51bWJlcnM9IXRoaXMuc2hvd0xpbmVOdW1iZXJzLHRoaXMudXBkYXRlRWRpdG9yT3B0aW9uKCJsaW5lTnVtYmVycyIsdGhpcy5zaG93TGluZU51bWJlcnM/Im9uIjoib2ZmIil9YXN5bmMgdXBkYXRlRWRpdG9yT3B0aW9uKFMseil7dGhpcy5lZGl0b3JFbGVtZW50JiYoYXdhaXQgdGhpcy5lZGl0b3JFbGVtZW50LmVkaXRvckRlZmVycmVkLnByb21pc2UpLnVwZGF0ZU9wdGlvbnMoe1tTXTp6fSl9YXN5bmMgY29weUNvZGUoKXt0cnl7YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGhpcy52YWx1ZSksdGhpcy5jb3B5U3VjY2Vzcz0hMCxzZXRUaW1lb3V0KCgpPT57dGhpcy5jb3B5U3VjY2Vzcz0hMX0sMmUzKX1jYXRjaChTKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY29weSBjb2RlOiIsUyl9fWhhbmRsZUNvbnRlbnRDaGFuZ2UoUyl7bGV0IHo9Uy5kZXRhaWw7dGhpcy52YWx1ZSE9PXomJih0aGlzLnZhbHVlPXosdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpfWFzeW5jIG9wZW5GdWxsc2NyZWVuKCl7bGV0IFM9dGhpcy52YWx1ZSx6PW51bGwsRD10aGlzLmxhbmd1YWdlLFQ9dGhpcy53b3JkV3JhcCxBPXRoaXMuc2hvd0xpbmVOdW1iZXJzLFU9ITEsUj0hMSxxPWkoKCk9PntsZXQgeWU9WU8uZmluZChCPT5CLmtleT09PUQpO3JldHVybiB5ZT95ZS5sYWJlbDoiVHlwZVNjcmlwdCJ9LCJnZXRMYW5ndWFnZUxhYmVsIiksb2U9aSh5ZT0+e2xldCBCPXllLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5tb2RhbC10b29sYmFyIik7aWYoIUIpcmV0dXJuO2xldCBlZT1CLnF1ZXJ5U2VsZWN0b3IoIi5sYW5ndWFnZS1idXR0b24gc3BhbiIpO2VlJiYoZWUudGV4dENvbnRlbnQ9cSgpKTtsZXQgQ2U9Qi5xdWVyeVNlbGVjdG9yKCIud3JhcC1idG4iKTtDZSYmQ2UuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixUPT09Im9uIik7bGV0IFk9Qi5xdWVyeVNlbGVjdG9yKCIubGluZXMtYnRuIik7WSYmWS5jbGFzc0xpc3QudG9nZ2xlKCJhY3RpdmUiLEEpO2xldCBQPUIucXVlcnlTZWxlY3RvcigiLmNvcHktYnRuIiksSD1QPy5xdWVyeVNlbGVjdG9yKCJkZWVzLWljb24iKTtQJiZIJiYoUC5jbGFzc0xpc3QudG9nZ2xlKCJzdWNjZXNzIixSKSxILmljb249Uj8ibHVjaWRlOkNoZWNrIjoibHVjaWRlOkNvcHkiKTtsZXQgRz1CLnF1ZXJ5U2VsZWN0b3IoIi5sYW5ndWFnZS1kcm9wZG93biIpO0cmJihHLnN0eWxlLmRpc3BsYXk9VT8iYmxvY2siOiJub25lIil9LCJ1cGRhdGVUb29sYmFyVUkiKSxPPWF3YWl0IE1hLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6dGhpcy5sYWJlbHx8IkNvZGUgRWRpdG9yIix3aWR0aDoiZnVsbHNjcmVlbiIsY29udGVudFBhZGRpbmc6MCxjb250ZW50OndgCiAgICAgICAgPHN0eWxlPgogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLnRvb2xiYXItbGVmdCB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLnRvb2xiYXItcmlnaHQgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDRweDsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC5sYW5ndWFnZS1zZWxlY3RvciB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC5sYW5ndWFnZS1idXR0b24gewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDZweDsKICAgICAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMTIlKSIpfTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC5sYW5ndWFnZS1idXR0b246aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2UtZHJvcGRvd24gewogICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICAgIHRvcDogMTAwJTsKICAgICAgICAgICAgbGVmdDogMDsKICAgICAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAyMCUpIil9OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTsKICAgICAgICAgICAgei1pbmRleDogMTAwOwogICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDsKICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICAgICAgbWluLXdpZHRoOiAxNDBweDsKICAgICAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC5sYW5ndWFnZS1vcHRpb24gewogICAgICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC5sYW5ndWFnZS1vcHRpb246aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2Utb3B0aW9uLnNlbGVjdGVkIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDkwJSkiLCJoc2woMCAwJSAyMCUpIil9OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLnRvb2xiYXItYnV0dG9uIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDQ1JSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC50b29sYmFyLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5MCUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC50b29sYmFyLWJ1dHRvbi5hY3RpdmUgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAudG9vbGJhci1idXR0b24uc3VjY2VzcyB7CiAgICAgICAgICAgIGNvbG9yOiBoc2woMTQyLjEgNzYuMiUgMzYuMyUpOwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLnRvb2xiYXItZGl2aWRlciB7CiAgICAgICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAyMCUpIil9OwogICAgICAgICAgICBtYXJnaW46IDAgNHB4OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLWVkaXRvci13cmFwcGVyIHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxNzVweCk7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgfQogICAgICAgIDwvc3R5bGU+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtdG9vbGJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWxlZnQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5ndWFnZS1zZWxlY3RvciI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibGFuZ3VhZ2UtYnV0dG9uIj4KICAgICAgICAgICAgICAgIDxzcGFuPiR7cSgpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOkNoZXZyb25Eb3duIn0gaWNvblNpemU9IjE0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5ndWFnZS1kcm9wZG93biI+CiAgICAgICAgICAgICAgICAke1lPLm1hcCh5ZT0+d2AKICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJsYW5ndWFnZS1vcHRpb24gJHt5ZS5rZXk9PT1EPyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgICAgICAgICAgIGRhdGEtbGFuZz0iJHt5ZS5rZXl9IgogICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgJHt5ZS5sYWJlbH0KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItcmlnaHQiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiB3cmFwLWJ0biAke1Q9PT0ib24iPyJhY3RpdmUiOiIifSIgdGl0bGU9IldvcmQgV3JhcCI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6V3JhcFRleHQifSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24gbGluZXMtYnRuICR7QT8iYWN0aXZlIjoiIn0iIHRpdGxlPSJMaW5lIE51bWJlcnMiPgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOkhhc2gifSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1kaXZpZGVyIj48L2Rpdj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24gY29weS1idG4iIHRpdGxlPSJDb3B5IENvZGUiPgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOkNvcHkifSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWVkaXRvci13cmFwcGVyIj4KICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tb25hY28KICAgICAgICAgICAgLmNvbnRlbnQ9JHtTfQogICAgICAgICAgICAubGFuZ3VhZ2U9JHtEfQogICAgICAgICAgICAud29yZFdyYXA9JHtUfQogICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtbW9uYWNvPgogICAgICAgIDwvZGl2PgogICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246aShhc3luYyB5ZT0+e2F3YWl0IHllLmRlc3Ryb3koKX0sImFjdGlvbiIpfSx7bmFtZToiU2F2ZSAmIENsb3NlIixhY3Rpb246aShhc3luYyB5ZT0+e2lmKHo9eWUuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy13b3Jrc3BhY2UtbW9uYWNvIikseil7bGV0IGVlPShhd2FpdCB6LmVkaXRvckRlZmVycmVkLnByb21pc2UpLmdldFZhbHVlKCk7dGhpcy5zZXRWYWx1ZShlZSl9YXdhaXQgeWUuZGVzdHJveSgpfSwiYWN0aW9uIil9XX0pO2F3YWl0IG5ldyBQcm9taXNlKHllPT5zZXRUaW1lb3V0KHllLDEwMCkpLHo9Ty5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKTtsZXQgcmU9Ty5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIubW9kYWwtdG9vbGJhciIpO2lmKHJlKXtsZXQgeWU9cmUucXVlcnlTZWxlY3RvcigiLmxhbmd1YWdlLWJ1dHRvbiIpO3llPy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntVPSFVLG9lKE8pfSk7bGV0IEI9cmUucXVlcnlTZWxlY3RvckFsbCgiLmxhbmd1YWdlLW9wdGlvbiIpO0IuZm9yRWFjaChQPT57UC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXN5bmMoKT0+e2xldCBIPVAuZGF0YXNldC5sYW5nO2lmKEgmJnope0Q9SCxVPSExO2xldCBXPShhd2FpdCB6LmVkaXRvckRlZmVycmVkLnByb21pc2UpLmdldE1vZGVsKCk7VyYmd2luZG93Lm1vbmFjby5lZGl0b3Iuc2V0TW9kZWxMYW5ndWFnZShXLEgpLEIuZm9yRWFjaChzZT0+c2UuY2xhc3NMaXN0LnJlbW92ZSgic2VsZWN0ZWQiKSksUC5jbGFzc0xpc3QuYWRkKCJzZWxlY3RlZCIpLG9lKE8pfX0pfSkscmUucXVlcnlTZWxlY3RvcigiLndyYXAtYnRuIik/LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixhc3luYygpPT57VD1UPT09Im9uIj8ib2ZmIjoib24iLHomJihhd2FpdCB6LmVkaXRvckRlZmVycmVkLnByb21pc2UpLnVwZGF0ZU9wdGlvbnMoe3dvcmRXcmFwOlR9KSxvZShPKX0pLHJlLnF1ZXJ5U2VsZWN0b3IoIi5saW5lcy1idG4iKT8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGFzeW5jKCk9PntBPSFBLHomJihhd2FpdCB6LmVkaXRvckRlZmVycmVkLnByb21pc2UpLnVwZGF0ZU9wdGlvbnMoe2xpbmVOdW1iZXJzOkE/Im9uIjoib2ZmIn0pLG9lKE8pfSkscmUucXVlcnlTZWxlY3RvcigiLmNvcHktYnRuIik/LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixhc3luYygpPT57aWYoeil7bGV0IEg9KGF3YWl0IHouZWRpdG9yRGVmZXJyZWQucHJvbWlzZSkuZ2V0VmFsdWUoKTt0cnl7YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoSCksUj0hMCxvZShPKSxzZXRUaW1lb3V0KCgpPT57Uj0hMSxvZShPKX0sMmUzKX1jYXRjaChHKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY29weSBjb2RlOiIsRyl9fX0pLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixQPT57VSYmIXllPy5jb250YWlucyhQLnRhcmdldCkmJihVPSExLG9lKE8pKX0se29uY2U6ITB9KX19Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZShTKXt0aGlzLnZhbHVlPVMsdGhpcy5lZGl0b3JFbGVtZW50JiYodGhpcy5lZGl0b3JFbGVtZW50LmNvbnRlbnQ9Uyx0aGlzLmVkaXRvckVsZW1lbnQuZWRpdG9yRGVmZXJyZWQucHJvbWlzZS50aGVuKHo9Pnt6LmdldFZhbHVlKCkhPT1TJiZ6LnNldFZhbHVlKFMpfSkpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfXN0YXRpY3tOcihyLGEpfX07cmV0dXJuIGo9cn0pKCl9KTt2YXIgeVl0LHdZdD1jKCgpPT57cGUoKTtSYSgpO1cxKCk7Z09lKCk7eVl0PWkoKCk9PndgCiAgPHN0eWxlPgogICAgJHtYYAogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgfQogICAgICAKICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQogICAgICAKICAgICAgZGVlcy1wYW5lbDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CiAgICAgIAogICAgICAuZGVtby1vdXRwdXQgewogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEwNSwgMjQyLCAwLjEpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQogICAgICAKICAgICAgLmRhdGUtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9PntsZXQgZT10LnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhPT57Y29uc29sZS5sb2coIkJhc2ljIGRhdGUgc2VsZWN0ZWQ6IixhLnRhcmdldC52YWx1ZSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgRGF0ZSBQaWNrZXIifSAuc3VidGl0bGU9JHsiU2ltcGxlIGRhdGUgc2VsZWN0aW9uIHdpdGhvdXQgdGltZSJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJTZWxlY3QgRGF0ZSIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJDaG9vc2UgYSBkYXRlIGZyb20gdGhlIGNhbGVuZGFyIgogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9PntsZXQgZT10LnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtZGF0ZXBpY2tlcltsYWJlbD0iRXZlbnQgRGF0ZSAmIFRpbWUiXScpLGE9dC5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LWRhdGVwaWNrZXJbbGFiZWw9IkFwcG9pbnRtZW50Il0nKTtlJiZlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIscj0+e2xldCBzPXIudGFyZ2V0LnZhbHVlO2NvbnNvbGUubG9nKCIyNGggZm9ybWF0IGRhdGV0aW1lOiIscyl9KSxhJiZhLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIscj0+e2xldCBzPXIudGFyZ2V0LnZhbHVlO2NvbnNvbGUubG9nKCIxMmggZm9ybWF0IGRhdGV0aW1lOiIscyl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRGF0ZSBhbmQgVGltZSBTZWxlY3Rpb24ifSAuc3VidGl0bGU9JHsiRGF0ZSBwaWNrZXJzIHdpdGggdGltZSBzZWxlY3Rpb24gaW4gZGlmZmVyZW50IGZvcm1hdHMifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iRXZlbnQgRGF0ZSAmIFRpbWUiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iU2VsZWN0IGJvdGggZGF0ZSBhbmQgdGltZSAoMjQtaG91ciBmb3JtYXQpIgogICAgICAgICAgLmVuYWJsZVRpbWU9JHshMH0KICAgICAgICAgIHRpbWVGb3JtYXQ9IjI0aCIKICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgbGFiZWw9IkFwcG9pbnRtZW50IgogICAgICAgICAgZGVzY3JpcHRpb249IkRhdGUgYW5kIHRpbWUgd2l0aCBBTS9QTSBzZWxlY3RvciAoMTUtbWludXRlIGluY3JlbWVudHMpIgogICAgICAgICAgLmVuYWJsZVRpbWU9JHshMH0KICAgICAgICAgIHRpbWVGb3JtYXQ9IjEyaCIKICAgICAgICAgIC5taW51dGVJbmNyZW1lbnQ9JHsxNX0KICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57dC5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWlucHV0LWRhdGVwaWNrZXIiKS5mb3JFYWNoKGE9PnthLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIscj0+e2xldCBzPXIudGFyZ2V0O2NvbnNvbGUubG9nKGAke3MubGFiZWx9IHZhbHVlOmAscy52YWx1ZSk7bGV0IG49cy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZGF0ZS1pbnB1dCIpO24mJmNvbnNvbGUubG9nKGAke3MubGFiZWx9IGZvcm1hdHRlZDpgLG4udmFsdWUpfSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiVGltZXpvbmUgU3VwcG9ydCJ9IC5zdWJ0aXRsZT0keyJEYXRlIGFuZCB0aW1lIHNlbGVjdGlvbiB3aXRoIHRpbWV6b25lIGF3YXJlbmVzcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJNZWV0aW5nIFRpbWUgKHdpdGggVGltZXpvbmUpIgogICAgICAgICAgZGVzY3JpcHRpb249IlNlbGVjdCBhIGRhdGUvdGltZSBhbmQgdGltZXpvbmUgZm9yIHRoZSBtZWV0aW5nIgogICAgICAgICAgLmVuYWJsZVRpbWU9JHshMH0KICAgICAgICAgIC5lbmFibGVUaW1lem9uZT0keyEwfQogICAgICAgICAgdGltZUZvcm1hdD0iMjRoIgogICAgICAgICAgdGltZXpvbmU9IkFtZXJpY2EvTmV3X1lvcmsiCiAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJHbG9iYWwgRXZlbnQgU2NoZWR1bGUiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iU2NoZWR1bGUgYW4gZXZlbnQgYWNyb3NzIGRpZmZlcmVudCB0aW1lem9uZXMiCiAgICAgICAgICAuZW5hYmxlVGltZT0keyEwfQogICAgICAgICAgLmVuYWJsZVRpbWV6b25lPSR7ITB9CiAgICAgICAgICB0aW1lRm9ybWF0PSIxMmgiCiAgICAgICAgICB0aW1lem9uZT0iRXVyb3BlL0xvbmRvbiIKICAgICAgICAgIC5taW51dGVJbmNyZW1lbnQ9JHszMH0KICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57bGV0IGU9dC5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWRhdGVwaWNrZXIiKTtlJiZlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsYT0+e2xldCByPWEudGFyZ2V0LnZhbHVlO2lmKHIpe2xldCBzPW5ldyBEYXRlKHIpLG49bmV3IERhdGUsbz1NYXRoLmZsb29yKChzLmdldFRpbWUoKS1uLmdldFRpbWUoKSkvKDFlMyo2MCo2MCoyNCkpO2NvbnNvbGUubG9nKGBTZWxlY3RlZCBkYXRlIGlzICR7b30gZGF5cyBmcm9tIHRvZGF5YCl9fSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkRhdGUgUmFuZ2UgQ29uc3RyYWludHMifSAuc3VidGl0bGU9JHsiTGltaXQgc2VsZWN0YWJsZSBkYXRlcyB3aXRoIG1pbiBhbmQgbWF4IHZhbHVlcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJGdXR1cmUgRGF0ZSBPbmx5IgogICAgICAgICAgZGVzY3JpcHRpb249IkNhbiBvbmx5IHNlbGVjdCBkYXRlcyBmcm9tIHRvZGF5IHRvIDkwIGRheXMgaW4gdGhlIGZ1dHVyZSIKICAgICAgICAgIC5taW5EYXRlPSR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfQogICAgICAgICAgLm1heERhdGU9JHtuZXcgRGF0ZShEYXRlLm5vdygpKzIxNjAqNjAqNjAqMWUzKS50b0lTT1N0cmluZygpfQogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9PntsZXQgZT17IkREL01NL1lZWVkiOiJFdXJvcGVhbiIsIk1NL0REL1lZWVkiOiJVUyIsIllZWVktTU0tREQiOiJJU08ifTt0LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpLmZvckVhY2gocj0+e3IuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixzPT57bGV0IG49cy50YXJnZXQsbz1uLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5kYXRlLWlucHV0Iik7byYmY29uc29sZS5sb2coYCR7bi5sYWJlbH0gZm9ybWF0OmAsby52YWx1ZSl9KX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJEYXRlIEZvcm1hdHMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IGRhdGUgZGlzcGxheSBmb3JtYXRzIGZvciB2YXJpb3VzIHJlZ2lvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJkYXRlLWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgICAgbGFiZWw9IkV1cm9wZWFuIEZvcm1hdCIKICAgICAgICAgICAgZGF0ZUZvcm1hdD0iREQvTU0vWVlZWSIKICAgICAgICAgICAgLnZhbHVlPSR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICAgIGxhYmVsPSJVUyBGb3JtYXQiCiAgICAgICAgICAgIGRhdGVGb3JtYXQ9Ik1NL0REL1lZWVkiCiAgICAgICAgICAgIC52YWx1ZT0ke25ldyBEYXRlKCkudG9JU09TdHJpbmcoKX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgICBsYWJlbD0iSVNPIEZvcm1hdCIKICAgICAgICAgICAgZGF0ZUZvcm1hdD0iWVlZWS1NTS1ERCIKICAgICAgICAgICAgLnZhbHVlPSR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e2xldCBlPXQucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kYXRlcGlja2VyW3JlcXVpcmVkXSIpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PntlLmdldFZhbHVlKCl8fGNvbnNvbGUubG9nKCJSZXF1aXJlZCBkYXRlIGZpZWxkIGlzIGVtcHR5Iil9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRm9ybSBTdGF0ZXMifSAuc3VidGl0bGU9JHsiUmVxdWlyZWQgYW5kIGRpc2FibGVkIHN0YXRlcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJCaXJ0aCBEYXRlIgogICAgICAgICAgZGVzY3JpcHRpb249IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQiCiAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgIHBsYWNlaG9sZGVyPSJTZWxlY3QgeW91ciBiaXJ0aCBkYXRlIgogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iRGlzYWJsZWQgRGF0ZSIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJUaGlzIGZpZWxkIGNhbm5vdCBiZSBlZGl0ZWQiCiAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgIC52YWx1ZT0ke25ldyBEYXRlKCkudG9JU09TdHJpbmcoKX0KICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57bGV0IGU9dC5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LWRhdGVwaWNrZXJbbGFiZWw9IlVTIENhbGVuZGFyIl0nKSxhPXQucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC1kYXRlcGlja2VyW2xhYmVsPSJFVSBDYWxlbmRhciJdJyk7ZSYmY29uc29sZS5sb2coIlVTIENhbGVuZGFyIHN0YXJ0cyBvbiBTdW5kYXkgKDApIiksYSYmY29uc29sZS5sb2coIkVVIENhbGVuZGFyIHN0YXJ0cyBvbiBNb25kYXkgKDEpIil9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkNhbGVuZGFyIEN1c3RvbWl6YXRpb24ifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IHdlZWsgc3RhcnQgZGF5cyBmb3IgdmFyaW91cyByZWdpb25zIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGF0ZS1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICAgIGxhYmVsPSJVUyBDYWxlbmRhciIKICAgICAgICAgICAgZGVzY3JpcHRpb249IldlZWsgc3RhcnRzIG9uIFN1bmRheSIKICAgICAgICAgICAgLndlZWtTdGFydHNPbj0kezB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgICAgbGFiZWw9IkVVIENhbGVuZGFyIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iV2VlayBzdGFydHMgb24gTW9uZGF5IgogICAgICAgICAgICAud2Vla1N0YXJ0c09uPSR7MX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9PntsZXQgZT1pKCgpPT57bGV0IHI9W10scz1uZXcgRGF0ZSxuPXMuZ2V0RnVsbFllYXIoKSxvPXMuZ2V0TW9udGgoKSxsPW5ldyBEYXRlKG4sbywxKTtmb3IoO2wuZ2V0TW9udGgoKT09PW87KShsLmdldERheSgpPT09MHx8bC5nZXREYXkoKT09PTYpJiZyLnB1c2gobmV3IERhdGUobCkudG9JU09TdHJpbmcoKSksbC5zZXREYXRlKGwuZ2V0RGF0ZSgpKzEpO3JldHVybiByfSwiZ2VuZXJhdGVXZWVrZW5kcyIpLGE9dC5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWRhdGVwaWNrZXIiKTthJiYoYS5kaXNhYmxlZERhdGVzPWUoKSxjb25zb2xlLmxvZygiRGlzYWJsZWQgd2Vla2VuZCBkYXRlcyBmb3IgY3VycmVudCBtb250aCIpKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRGlzYWJsZWQgRGF0ZXMifSAuc3VidGl0bGU9JHsiQ2FsZW5kYXIgd2l0aCBzcGVjaWZpYyBkYXRlcyBkaXNhYmxlZCAod2Vla2VuZHMgaW4gY3VycmVudCBtb250aCkifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iQXZhaWxhYmlsaXR5IENhbGVuZGFyIgogICAgICAgICAgZGVzY3JpcHRpb249IldlZWtlbmRzIGFyZSBkaXNhYmxlZCBmb3IgdGhlIGN1cnJlbnQgbW9udGgiCiAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e2xldCBlPW5ldyBEYXRlLGE9ZS5nZXRNb250aCgpLHI9ZS5nZXRGdWxsWWVhcigpLHM9W3tkYXRlOmAke3J9LSR7KGErMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9LSR7ZS5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YCx0aXRsZToiVGVhbSBNZWV0aW5nIix0eXBlOiJpbmZvIixjb3VudDoyfSx7ZGF0ZTpgJHtyfS0keyhhKzEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfS0keyhlLmdldERhdGUoKSsxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gLHRpdGxlOiJQcm9qZWN0IERlYWRsaW5lIix0eXBlOiJ3YXJuaW5nIn0se2RhdGU6YCR7cn0tJHsoYSsxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0tJHsoZS5nZXREYXRlKCkrMikudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YCx0aXRsZToiUmVsZWFzZSBEYXkiLHR5cGU6InN1Y2Nlc3MifSx7ZGF0ZTpgJHtyfS0keyhhKzEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfS0keyhlLmdldERhdGUoKSs1KS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gLHRpdGxlOiJVcmdlbnQgRml4IFJlcXVpcmVkIix0eXBlOiJlcnJvciJ9LHtkYXRlOmAke3J9LSR7KGErMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9LSR7KGUuZ2V0RGF0ZSgpKzcpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWAsdGl0bGU6Ik11bHRpcGxlIEV2ZW50cyBUb2RheSIsdHlwZToiaW5mbyIsY291bnQ6NX0se2RhdGU6YCR7cn0tJHsoYSsyKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0tMTVgLHRpdGxlOiJGdXR1cmUgUGxhbm5pbmcgU2Vzc2lvbiIsdHlwZToiaW5mbyJ9XSxuPXQucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kYXRlcGlja2VyIik7biYmKG4uZXZlbnRzPXMsY29uc29sZS5sb2coIkNhbGVuZGFyIGV2ZW50cyBsb2FkZWQ6IixzKSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkNhbGVuZGFyIHdpdGggRXZlbnRzIn0gLnN1YnRpdGxlPSR7IlZpc3VhbCBmZWVkYmFjayBmb3Igc2NoZWR1bGVkIGV2ZW50cyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJFdmVudCBDYWxlbmRhciIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJEYXlzIHdpdGggY29sb3JlZCBkb3RzIGhhdmUgZXZlbnRzLiBIb3ZlciB0byBzZWUgZGV0YWlscy4iCiAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tb3V0cHV0IiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsiPgogICAgICAgICAgPHN0cm9uZz5FdmVudCBMZWdlbmQ6PC9zdHJvbmc+PGJyPgogICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMDk2OWRhOyI+4pePIEluZm88L3NwYW4+IHwgCiAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICNkMjk5MjI7Ij7il48gV2FybmluZzwvc3Bhbj4gfCAKICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogIzJlYTA0MzsiPuKXjyBTdWNjZXNzPC9zcGFuPiB8IAogICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjY2YyMjJlOyI+4pePIEVycm9yPC9zcGFuPjxicj4KICAgICAgICAgIDxlbT5EYXlzIHdpdGggbW9yZSB0aGFuIDMgZXZlbnRzIHNob3cgYSBjb3VudCBiYWRnZTwvZW0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57bGV0IGU9dC5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWRhdGVwaWNrZXIiKSxhPXQucXVlcnlTZWxlY3RvcigiI2V2ZW50LW91dHB1dCIpO2UmJmEmJihlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIscj0+e2xldCBzPXIudGFyZ2V0LG49cy52YWx1ZTtpZihuKXtsZXQgbz1uZXcgRGF0ZShuKSxoPXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmRhdGUtaW5wdXQiKT8udmFsdWV8fCJOL0EiO2EuaW5uZXJIVE1MPWAKICAgICAgICAgICAgICA8c3Ryb25nPkV2ZW50IHRyaWdnZXJlZCE8L3N0cm9uZz48YnI+CiAgICAgICAgICAgICAgSVNPIFZhbHVlOiAke259PGJyPgogICAgICAgICAgICAgIEZvcm1hdHRlZDogJHtofTxicj4KICAgICAgICAgICAgICBEYXRlIG9iamVjdDogJHtvLnRvTG9jYWxlU3RyaW5nKCl9CiAgICAgICAgICAgIGB9ZWxzZSBhLmlubmVySFRNTD0iPGVtPkRhdGUgY2xlYXJlZDwvZW0+In0pLGUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9Pntjb25zb2xlLmxvZygiRGF0ZXBpY2tlciBsb3N0IGZvY3VzIil9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkV2ZW50IEhhbmRsaW5nIn0gLnN1YnRpdGxlPSR7IkludGVyYWN0aXZlIGRlbW9uc3RyYXRpb24gb2YgY2hhbmdlIGV2ZW50cyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJFdmVudCBEZW1vIgogICAgICAgICAgZGVzY3JpcHRpb249IlNlbGVjdCBhIGRhdGUgdG8gc2VlIHRoZSBldmVudCBkZXRhaWxzIgogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgICAKICAgICAgICA8ZGl2IGlkPSJldmVudC1vdXRwdXQiIGNsYXNzPSJkZW1vLW91dHB1dCI+CiAgICAgICAgICA8ZW0+U2VsZWN0IGEgZGF0ZSB0byBzZWUgZXZlbnQgZGV0YWlscy4uLjwvZW0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBNWXQsa1l0PWMoKCk9PntwZSgpO1dhKCk7TVl0PVsuLi5vdC5iYXNlU3R5bGVzLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuaW5wdXQtY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5kYXRlLWlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMjQgNzEuNCUgNC4xJSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjQgNzEuNCUgNC4xJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgIH0KCiAgICAgIC5kYXRlLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjIwIDguOSUgNDYuMSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC5kYXRlLWlucHV0OmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMTUgMjcuOSUgMTYuOSUpIil9OwogICAgICB9CgogICAgICAuZGF0ZS1pbnB1dDpmb2N1cywKICAgICAgLmRhdGUtaW5wdXQub3BlbiB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDExLjIlKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMjQgNzEuNCUgNC4xJSkiKX0sCiAgICAgICAgICAgICAgICAgICAgMCAwIDAgNHB4ICR7ZC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgMTEuMiUgLyAwLjEpIiwiaHNsKDIxMCAyMCUgOTglIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmRhdGUtaW5wdXQ6ZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIxNSAyNy45JSAxNi45JSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjIwIDguOSUgNDYuMSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC8qIEljb24gY29udGFpbmVyIHVzaW5nIGZsZXhib3ggZm9yIGJldHRlciBwb3NpdGlvbmluZyAqLwogICAgICAuaWNvbi1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5pY29uLWNvbnRhaW5lciA+ICogewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICAuY2FsZW5kYXItaWNvbiB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjIwIDguOSUgNDYuMSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAuY2xlYXItYnV0dG9uIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuY2xlYXItYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMTUgMjcuOSUgMTYuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIyNCA3MS40JSA0LjElKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgIH0KCiAgICAgIC5jbGVhci1idXR0b246ZGlzYWJsZWQgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIENhbGVuZGFyIFBvcHVwIFN0eWxlcyAqLwogICAgICAuY2FsZW5kYXItcG9wdXAgewogICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm0sIG9wYWNpdHk7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNHB4KTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjI0IDcxLjQlIDQuMSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAke2QuYmRUaGVtZSgiMCAxMHB4IDE1cHggLTNweCBoc2woMCAwJSAwJSAvIDAuMSksIDAgNHB4IDZweCAtNHB4IGhzbCgwIDAlIDAlIC8gMC4xKSIsIjAgMTBweCAxNXB4IC0zcHggaHNsKDAgMCUgMCUgLyAwLjIpLCAwIDRweCA2cHggLTRweCBoc2woMCAwJSAwJSAvIDAuMikiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICB6LWluZGV4OiA1MDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIG1pbi13aWR0aDogMjgwcHg7CiAgICAgIH0KCiAgICAgIC5jYWxlbmRhci1wb3B1cC50b3AgewogICAgICAgIGJvdHRvbTogY2FsYygxMDAlICsgNHB4KTsKICAgICAgICB0b3A6IGF1dG87CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7CiAgICAgIH0KCiAgICAgIC5jYWxlbmRhci1wb3B1cC5ib3R0b20gewogICAgICAgIHRvcDogMTAwJTsKICAgICAgfQoKICAgICAgLmNhbGVuZGFyLXBvcHVwLnNob3cgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC8qIENhbGVuZGFyIEhlYWRlciAqLwogICAgICAuY2FsZW5kYXItaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5tb250aC15ZWFyLWRpc3BsYXkgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIyNCA3MS40JSA0LjElKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgICAgZmxleDogMTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5uYXYtYnV0dG9uIHsKICAgICAgICB3aWR0aDogMjhweDsKICAgICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5uYXYtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMTUgMjcuOSUgMTYuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIyNCA3MS40JSA0LjElKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgIH0KCiAgICAgIC5uYXYtYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICB9CgogICAgICAvKiBXZWVrZGF5IGhlYWRlcnMgKi8KICAgICAgLndlZWtkYXlzIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQoKICAgICAgLndlZWtkYXkgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBwYWRkaW5nOiAwIDAgOHB4IDA7CiAgICAgIH0KCiAgICAgIC8qIERheXMgZ3JpZCAqLwogICAgICAuZGF5cy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIC5kYXkgewogICAgICAgIGFzcGVjdC1yYXRpbzogMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjQgNzEuNCUgNC4xJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5kYXk6aG92ZXI6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIxNSAyNy45JSAxNi45JSkiKX07CiAgICAgIH0KCiAgICAgIC5kYXkub3RoZXItbW9udGggewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLmRheS50b2RheSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuZGF5LnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDExLjIlKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIyMi4yIDQ3LjQlIDExLjIlKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuZGF5LmRpc2FibGVkIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIG9wYWNpdHk6IDAuMzsKICAgICAgfQoKICAgICAgLyogRXZlbnQgaW5kaWNhdG9ycyAqLwogICAgICAuZGF5Lmhhcy1ldmVudCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuZXZlbnQtaW5kaWNhdG9yIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiA0cHg7CiAgICAgICAgbGVmdDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMnB4OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAuZXZlbnQtZG90IHsKICAgICAgICB3aWR0aDogNHB4OwogICAgICAgIGhlaWdodDogNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAuZXZlbnQtZG90LmluZm8gewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjExIDcwJSA1MiUpIiwiaHNsKDIxMSA3MCUgNjIlKSIpfTsKICAgICAgfQoKICAgICAgLmV2ZW50LWRvdC53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDQ1IDkwJSA0NSUpIiwiaHNsKDQ1IDkwJSA1NSUpIil9OwogICAgICB9CgogICAgICAuZXZlbnQtZG90LnN1Y2Nlc3MgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMTQyIDY5JSA0NSUpIiwiaHNsKDE0MiA2OSUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLmV2ZW50LWRvdC5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDcyJSA1MSUpIiwiaHNsKDAgNzIlIDYxJSkiKX07CiAgICAgIH0KCiAgICAgIC5ldmVudC1jb3VudCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMnB4OwogICAgICAgIHJpZ2h0OiAycHg7CiAgICAgICAgbWluLXdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBwYWRkaW5nOiAwIDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgNzIlIDUxJSkiLCJoc2woMCA3MiUgNjElKSIpfTsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgfQoKICAgICAgLyogVG9vbHRpcCBmb3IgZXZlbnQgZGV0YWlscyAqLwogICAgICAuZXZlbnQtdG9vbHRpcCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogY2FsYygxMDAlICsgOHB4KTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMCUpIil9OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMik7CiAgICAgIH0KCiAgICAgIC5ldmVudC10b29sdGlwOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMTAwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgfQoKICAgICAgLmRheS5oYXMtZXZlbnQ6aG92ZXIgLmV2ZW50LXRvb2x0aXAgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC8qIFRpbWUgc2VsZWN0b3IgKi8KICAgICAgLnRpbWUtc2VsZWN0b3IgewogICAgICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgfQoKICAgICAgLnRpbWUtc2VsZWN0b3ItdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgfQoKICAgICAgLnRpbWUtaW5wdXRzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC50aW1lLWlucHV0IHsKICAgICAgICB3aWR0aDogNjVweDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjI0IDcxLjQlIDQuMSUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIyNCA3MS40JSA0LjElKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLnRpbWUtaW5wdXQ6aG92ZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIxNSAyNy45JSAxNi45JSkiKX07CiAgICAgIH0KCiAgICAgIC50aW1lLWlucHV0OmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSAxMS4yJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2QuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDExLjIlIC8gMC4xKSIsImhzbCgyMTAgMjAlIDk4JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC50aW1lLXNlcGFyYXRvciB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjIwIDguOSUgNDYuMSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC5hbS1wbS1zZWxlY3RvciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBtYXJnaW4tbGVmdDogOHB4OwogICAgICB9CgogICAgICAuYW0tcG0tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIyNCA3MS40JSA0LjElKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjIwIDguOSUgNDYuMSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC5hbS1wbS1idXR0b24uc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgMTEuMiUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjIyLjIgNDcuNCUgMTEuMiUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSAxMS4yJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICB9CgogICAgICAuYW0tcG0tYnV0dG9uOmhvdmVyOm5vdCguc2VsZWN0ZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMTUgMjcuOSUgMTYuOSUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICB9CgogICAgICAvKiBBY3Rpb24gYnV0dG9ucyAqLwogICAgICAuY2FsZW5kYXItYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OwogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLnRvZGF5LWJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIyNCA3MS40JSA0LjElKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjI0IDcxLjQlIDQuMSUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgLnRvZGF5LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgfQoKICAgICAgLnRvZGF5LWJ1dHRvbjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgfQoKICAgICAgLmNsZWFyLWJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjIwIDguOSUgNDYuMSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC5jbGVhci1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSAvIDAuMSkiLCJoc2woMCA2Mi44JSAzMC42JSAvIDAuMSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSkiLCJoc2woMCA2Mi44JSAzMC42JSkiKX07CiAgICAgIH0KCiAgICAgIC5jbGVhci1idXR0b246YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUgLyAwLjIpIiwiaHNsKDAgNjIuOCUgMzAuNiUgLyAwLjIpIil9OwogICAgICB9CgogICAgICAvKiBUaW1lem9uZSBzZWxlY3RvciAqLwogICAgICAudGltZXpvbmUtc2VsZWN0b3IgewogICAgICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgfQoKICAgICAgLnRpbWV6b25lLXNlbGVjdG9yLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjIwIDguOSUgNDYuMSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC50aW1lem9uZS1zZWxlY3QgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIyNCA3MS40JSA0LjElKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjQgNzEuNCUgNC4xJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICB9CgogICAgICAudGltZXpvbmUtc2VsZWN0OmhvdmVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMTUgMjcuOSUgMTYuOSUpIil9OwogICAgICB9CgogICAgICAudGltZXpvbmUtc2VsZWN0OmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSAxMS4yJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2QuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDExLjIlIC8gMC4xKSIsImhzbCgyMTAgMjAlIDk4JSAvIDAuMSkiKX07CiAgICAgIH0KICAgIGBdfSk7dmFyIHpZdCxTWXQ9YygoKT0+e3BlKCk7ell0PWkodD0+e2xldCBlPVsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxhPXQud2Vla1N0YXJ0c09uPT09MT9bIk1vIiwiVHUiLCJXZSIsIlRoIiwiRnIiLCJTYSIsIlN1Il06WyJTdSIsIk1vIiwiVHUiLCJXZSIsIlRoIiwiRnIiLCJTYSJdLHI9dC5nZXREYXlzSW5Nb250aCgpLHM9dC5zZWxlY3RlZEhvdXI8MTIsbj10LmdldFRpbWV6b25lcygpO3JldHVybiB3YAogICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7dC5sYWJlbH0gLmRlc2NyaXB0aW9uPSR7dC5kZXNjcmlwdGlvbn0gLnJlcXVpcmVkPSR7dC5yZXF1aXJlZH0+PC9kZWVzLWxhYmVsPgogICAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtY29udGFpbmVyIj4KICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICBjbGFzcz0iZGF0ZS1pbnB1dCAke3QuaXNPcGVuZWQ/Im9wZW4iOiIifSIKICAgICAgICAgICAgICAudmFsdWU9JHt0LmZvcm1hdERhdGUodC52YWx1ZSl9CiAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7dC5wbGFjZWhvbGRlcn0KICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0LmRpc2FibGVkfQogICAgICAgICAgICAgIEBjbGljaz0ke3QudG9nZ2xlQ2FsZW5kYXJ9CiAgICAgICAgICAgICAgQGtleWRvd249JHt0LmhhbmRsZUtleWRvd259CiAgICAgICAgICAgICAgQGlucHV0PSR7dC5oYW5kbGVNYW51YWxJbnB1dH0KICAgICAgICAgICAgICBAYmx1cj0ke3QuaGFuZGxlSW5wdXRCbHVyfQogICAgICAgICAgICAgIHN0eWxlPSJwYWRkaW5nLXJpZ2h0OiAke3QudmFsdWU/IjY0cHgiOiI0MHB4In0iCiAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tY29udGFpbmVyIj4KICAgICAgICAgICAgICAke3QudmFsdWUmJiF0LmRpc2FibGVkP3dgCiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjbGVhci1idXR0b24iIEBjbGljaz0ke3QuY2xlYXJWYWx1ZX0gdGl0bGU9IkNsZWFyIj4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6eCIgaWNvblNpemU9IjE0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0iY2FsZW5kYXItaWNvbiIgaWNvbj0ibHVjaWRlOmNhbGVuZGFyIiBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIAogICAgICAgICAgICA8IS0tIENhbGVuZGFyIFBvcHVwIC0tPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYWxlbmRhci1wb3B1cCAke3QuaXNPcGVuZWQ/InNob3ciOiIifSAke3Qub3BlbnNUb1RvcD8idG9wIjoiYm90dG9tIn0iPgogICAgICAgICAgICAgIDwhLS0gTW9udGgvWWVhciBOYXZpZ2F0aW9uIC0tPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhbGVuZGFyLWhlYWRlciI+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJuYXYtYnV0dG9uIiBAY2xpY2s9JHt0LnByZXZpb3VzTW9udGh9PgogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpjaGV2cm9uTGVmdCIgaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW9udGgteWVhci1kaXNwbGF5Ij4KICAgICAgICAgICAgICAgICAgJHtlW3Qudmlld0RhdGUuZ2V0TW9udGgoKV19ICR7dC52aWV3RGF0ZS5nZXRGdWxsWWVhcigpfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJuYXYtYnV0dG9uIiBAY2xpY2s9JHt0Lm5leHRNb250aH0+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOmNoZXZyb25SaWdodCIgaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICA8IS0tIFdlZWtkYXkgSGVhZGVycyAtLT4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3ZWVrZGF5cyI+CiAgICAgICAgICAgICAgICAke2EubWFwKG89PndgPGRpdiBjbGFzcz0id2Vla2RheSI+JHtvfTwvZGl2PmApfQogICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICA8IS0tIERheXMgR3JpZCAtLT4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXlzLWdyaWQiPgogICAgICAgICAgICAgICAgJHtyLm1hcChvPT57bGV0IGw9dC5pc1RvZGF5KG8pLGg9dC5pc1NlbGVjdGVkKG8pLHU9by5nZXRNb250aCgpIT09dC52aWV3RGF0ZS5nZXRNb250aCgpLGY9dC5pc0Rpc2FibGVkKG8pLHA9dC5nZXRFdmVudHNGb3JEYXRlKG8pLGc9cC5sZW5ndGg+MCx2PXAucmVkdWNlKCh4LGIpPT54KyhiLmNvdW50fHwxKSwwKTtyZXR1cm4gd2AKICAgICAgICAgICAgICAgICAgICA8ZGl2IAogICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImRheSAke3U/Im90aGVyLW1vbnRoIjoiIn0gJHtsPyJ0b2RheSI6IiJ9ICR7aD8ic2VsZWN0ZWQiOiIifSAke2Y/ImRpc2FibGVkIjoiIn0gJHtnPyJoYXMtZXZlbnQiOiIifSIKICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT4hZiYmdC5zZWxlY3REYXRlKG8pfQogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICR7by5nZXREYXRlKCl9CiAgICAgICAgICAgICAgICAgICAgICAke2c/d2AKICAgICAgICAgICAgICAgICAgICAgICAgJHt2PjM/d2AKICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJldmVudC1jb3VudCI+JHt2fTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXZlbnQtaW5kaWNhdG9yIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7cC5zbGljZSgwLDMpLm1hcCh4PT53YAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJldmVudC1kb3QgJHt4LnR5cGV8fCJpbmZvIn0iPjwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICAgICAgICAgICAgICAgICR7cFswXS50aXRsZT93YAogICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV2ZW50LXRvb2x0aXAiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtwWzBdLnRpdGxlfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHt2PjE/d2AgKCske3YtMX0gbW9yZSlgOiIifQogICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgYH0pfQogICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICA8IS0tIFRpbWUgU2VsZWN0b3IgLS0+CiAgICAgICAgICAgICAgJHt0LmVuYWJsZVRpbWU/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWUtc2VsZWN0b3IiPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lLXNlbGVjdG9yLXRpdGxlIj5UaW1lPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWUtaW5wdXRzIj4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgCiAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJudW1iZXIiIAogICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRpbWUtaW5wdXQiIAogICAgICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7dC50aW1lRm9ybWF0PT09IjEyaCI/KHQuc2VsZWN0ZWRIb3VyPT09MD8xMjp0LnNlbGVjdGVkSG91cj4xMj90LnNlbGVjdGVkSG91ci0xMjp0LnNlbGVjdGVkSG91cikudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIik6dC5zZWxlY3RlZEhvdXIudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9CiAgICAgICAgICAgICAgICAgICAgICBAaW5wdXQ9JHtvPT50LmhhbmRsZUhvdXJJbnB1dChvKX0KICAgICAgICAgICAgICAgICAgICAgIG1pbj0iJHt0LnRpbWVGb3JtYXQ9PT0iMTJoIj8xOjB9IgogICAgICAgICAgICAgICAgICAgICAgbWF4PSIke3QudGltZUZvcm1hdD09PSIxMmgiPzEyOjIzfSIKICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aW1lLXNlcGFyYXRvciI+Ojwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgCiAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJudW1iZXIiIAogICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRpbWUtaW5wdXQiIAogICAgICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7dC5zZWxlY3RlZE1pbnV0ZS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0KICAgICAgICAgICAgICAgICAgICAgIEBpbnB1dD0ke289PnQuaGFuZGxlTWludXRlSW5wdXQobyl9CiAgICAgICAgICAgICAgICAgICAgICBtaW49IjAiCiAgICAgICAgICAgICAgICAgICAgICBtYXg9IjU5IgogICAgICAgICAgICAgICAgICAgICAgc3RlcD0iJHt0Lm1pbnV0ZUluY3JlbWVudHx8MX0iCiAgICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgICAgICAke3QudGltZUZvcm1hdD09PSIxMmgiP3dgCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhbS1wbS1zZWxlY3RvciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gCiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImFtLXBtLWJ1dHRvbiAke3M/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnQuc2V0QU1QTSgiYW0iKX0KICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgIEFNCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIAogICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJhbS1wbS1idXR0b24gJHtzPyIiOiJzZWxlY3RlZCJ9IgogICAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50LnNldEFNUE0oInBtIil9CiAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICBQTQogICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KCiAgICAgICAgICAgICAgPCEtLSBUaW1lem9uZSBTZWxlY3RvciAtLT4KICAgICAgICAgICAgICAke3QuZW5hYmxlVGltZXpvbmU/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbWV6b25lLXNlbGVjdG9yIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZXpvbmUtc2VsZWN0b3ItdGl0bGUiPlRpbWV6b25lPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxzZWxlY3QgCiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRpbWV6b25lLXNlbGVjdCIgCiAgICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7dC50aW1lem9uZX0KICAgICAgICAgICAgICAgICAgICBAY2hhbmdlPSR7bz0+dC5oYW5kbGVUaW1lem9uZUNoYW5nZShvKX0KICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICR7bi5tYXAobz0+d2AKICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IiR7by52YWx1ZX0iID9zZWxlY3RlZD0ke28udmFsdWU9PT10LnRpbWV6b25lfT4KICAgICAgICAgICAgICAgICAgICAgICAgJHtvLmxhYmVsfQogICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+CiAgICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KCiAgICAgICAgICAgICAgPCEtLSBBY3Rpb24gQnV0dG9ucyAtLT4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYWxlbmRhci1hY3Rpb25zIj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gdG9kYXktYnV0dG9uIiBAY2xpY2s9JHt0LnNlbGVjdFRvZGF5fT4KICAgICAgICAgICAgICAgICAgVG9kYXkKICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBjbGVhci1idXR0b24iIEBjbGljaz0ke3QuY2xlYXJ9PgogICAgICAgICAgICAgICAgICBDbGVhcgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGB9LCJyZW5kZXJEYXRlcGlja2VyIil9KTt2YXIgeDEsUnQseFosZ09lPWMoKCk9PntwZSgpO1dhKCk7d1l0KCk7a1l0KCk7U1l0KCk7S3QoKTtxOCgpO3gxPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxSdD1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0seFo9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLWlucHV0LWRhdGVwaWNrZXIiKV0sZSxhPVtdLHIscz1vdCxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXSx5LE09W10saz1bXSxFLF89W10sQz1bXSxOLCQ9W10sST1bXSxqLFM9W10sej1bXSxELFQ9W10sQT1bXSxVLFI9W10scT1bXSxvZSxPPVtdLHJlPVtdLHllLEI9W10sZWU9W10sQ2UsWT1bXSxQPVtdLEgsRz1bXSxXPVtdLHNlLHplPVtdLE1lPVtdLEVlLFY9W10sRj1bXSxuZSx0ZT1bXSxLPVtdLGtlLHZlPVtdLGRlPVtdLCRlLFZlPVtdLFFlPVtdO3ZhciBUZT1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0lucHV0RGF0ZXBpY2tlciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBsZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOlN0cmluZ30pXSxoPVtMKHt0eXBlOkJvb2xlYW59KV0scD1bTCh7dHlwZTpTdHJpbmd9KV0seD1bTCh7dHlwZTpOdW1iZXJ9KV0seT1bTCh7dHlwZTpTdHJpbmd9KV0sRT1bTCh7dHlwZTpTdHJpbmd9KV0sTj1bTCh7dHlwZTpTdHJpbmd9KV0saj1bTCh7dHlwZTpBcnJheX0pXSxEPVtMKHt0eXBlOk51bWJlcn0pXSxVPVtMKHt0eXBlOlN0cmluZ30pXSxvZT1bTCh7dHlwZTpCb29sZWFufSldLHllPVtMKHt0eXBlOlN0cmluZ30pXSxDZT1bTCh7dHlwZTpBcnJheX0pXSxIPVtaKCldLHNlPVtaKCldLEVlPVtaKCldLG5lPVtaKCldLGtlPVtaKCldLCRlPVtaKCldLHgxKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZmU9PiJ2YWx1ZSJpbiBmZSwiaGFzIiksZ2V0OmkoZmU9PmZlLnZhbHVlLCJnZXQiKSxzZXQ6aSgoZmUsU2UpPT57ZmUudmFsdWU9U2V9LCJzZXQiKX0sbWV0YWRhdGE6bGV9LG8sbCkseDEodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVUaW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGZlPT4iZW5hYmxlVGltZSJpbiBmZSwiaGFzIiksZ2V0OmkoZmU9PmZlLmVuYWJsZVRpbWUsImdldCIpLHNldDppKChmZSxTZSk9PntmZS5lbmFibGVUaW1lPVNlfSwic2V0Iil9LG1ldGFkYXRhOmxlfSx1LGYpLHgxKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGltZUZvcm1hdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmZT0+InRpbWVGb3JtYXQiaW4gZmUsImhhcyIpLGdldDppKGZlPT5mZS50aW1lRm9ybWF0LCJnZXQiKSxzZXQ6aSgoZmUsU2UpPT57ZmUudGltZUZvcm1hdD1TZX0sInNldCIpfSxtZXRhZGF0YTpsZX0sZyx2KSx4MSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1pbnV0ZUluY3JlbWVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmZT0+Im1pbnV0ZUluY3JlbWVudCJpbiBmZSwiaGFzIiksZ2V0OmkoZmU9PmZlLm1pbnV0ZUluY3JlbWVudCwiZ2V0Iiksc2V0OmkoKGZlLFNlKT0+e2ZlLm1pbnV0ZUluY3JlbWVudD1TZX0sInNldCIpfSxtZXRhZGF0YTpsZX0sYixtKSx4MSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGVGb3JtYXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZmU9PiJkYXRlRm9ybWF0ImluIGZlLCJoYXMiKSxnZXQ6aShmZT0+ZmUuZGF0ZUZvcm1hdCwiZ2V0Iiksc2V0OmkoKGZlLFNlKT0+e2ZlLmRhdGVGb3JtYXQ9U2V9LCJzZXQiKX0sbWV0YWRhdGE6bGV9LE0saykseDEodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtaW5EYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGZlPT4ibWluRGF0ZSJpbiBmZSwiaGFzIiksZ2V0OmkoZmU9PmZlLm1pbkRhdGUsImdldCIpLHNldDppKChmZSxTZSk9PntmZS5taW5EYXRlPVNlfSwic2V0Iil9LG1ldGFkYXRhOmxlfSxfLEMpLHgxKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4RGF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmZT0+Im1heERhdGUiaW4gZmUsImhhcyIpLGdldDppKGZlPT5mZS5tYXhEYXRlLCJnZXQiKSxzZXQ6aSgoZmUsU2UpPT57ZmUubWF4RGF0ZT1TZX0sInNldCIpfSxtZXRhZGF0YTpsZX0sJCxJKSx4MSh0aGlzLG51bGwsaix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpc2FibGVkRGF0ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZmU9PiJkaXNhYmxlZERhdGVzImluIGZlLCJoYXMiKSxnZXQ6aShmZT0+ZmUuZGlzYWJsZWREYXRlcywiZ2V0Iiksc2V0OmkoKGZlLFNlKT0+e2ZlLmRpc2FibGVkRGF0ZXM9U2V9LCJzZXQiKX0sbWV0YWRhdGE6bGV9LFMseikseDEodGhpcyxudWxsLEQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3ZWVrU3RhcnRzT24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZmU9PiJ3ZWVrU3RhcnRzT24iaW4gZmUsImhhcyIpLGdldDppKGZlPT5mZS53ZWVrU3RhcnRzT24sImdldCIpLHNldDppKChmZSxTZSk9PntmZS53ZWVrU3RhcnRzT249U2V9LCJzZXQiKX0sbWV0YWRhdGE6bGV9LFQsQSkseDEodGhpcyxudWxsLFUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwbGFjZWhvbGRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmZT0+InBsYWNlaG9sZGVyImluIGZlLCJoYXMiKSxnZXQ6aShmZT0+ZmUucGxhY2Vob2xkZXIsImdldCIpLHNldDppKChmZSxTZSk9PntmZS5wbGFjZWhvbGRlcj1TZX0sInNldCIpfSxtZXRhZGF0YTpsZX0sUixxKSx4MSh0aGlzLG51bGwsb2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVUaW1lem9uZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmZT0+ImVuYWJsZVRpbWV6b25lImluIGZlLCJoYXMiKSxnZXQ6aShmZT0+ZmUuZW5hYmxlVGltZXpvbmUsImdldCIpLHNldDppKChmZSxTZSk9PntmZS5lbmFibGVUaW1lem9uZT1TZX0sInNldCIpfSxtZXRhZGF0YTpsZX0sTyxyZSkseDEodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGltZXpvbmUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZmU9PiJ0aW1lem9uZSJpbiBmZSwiaGFzIiksZ2V0OmkoZmU9PmZlLnRpbWV6b25lLCJnZXQiKSxzZXQ6aSgoZmUsU2UpPT57ZmUudGltZXpvbmU9U2V9LCJzZXQiKX0sbWV0YWRhdGE6bGV9LEIsZWUpLHgxKHRoaXMsbnVsbCxDZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV2ZW50cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmZT0+ImV2ZW50cyJpbiBmZSwiaGFzIiksZ2V0OmkoZmU9PmZlLmV2ZW50cywiZ2V0Iiksc2V0OmkoKGZlLFNlKT0+e2ZlLmV2ZW50cz1TZX0sInNldCIpfSxtZXRhZGF0YTpsZX0sWSxQKSx4MSh0aGlzLG51bGwsSCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzT3BlbmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGZlPT4iaXNPcGVuZWQiaW4gZmUsImhhcyIpLGdldDppKGZlPT5mZS5pc09wZW5lZCwiZ2V0Iiksc2V0OmkoKGZlLFNlKT0+e2ZlLmlzT3BlbmVkPVNlfSwic2V0Iil9LG1ldGFkYXRhOmxlfSxHLFcpLHgxKHRoaXMsbnVsbCxzZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9wZW5zVG9Ub3AiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZmU9PiJvcGVuc1RvVG9wImluIGZlLCJoYXMiKSxnZXQ6aShmZT0+ZmUub3BlbnNUb1RvcCwiZ2V0Iiksc2V0OmkoKGZlLFNlKT0+e2ZlLm9wZW5zVG9Ub3A9U2V9LCJzZXQiKX0sbWV0YWRhdGE6bGV9LHplLE1lKSx4MSh0aGlzLG51bGwsRWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZERhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZmU9PiJzZWxlY3RlZERhdGUiaW4gZmUsImhhcyIpLGdldDppKGZlPT5mZS5zZWxlY3RlZERhdGUsImdldCIpLHNldDppKChmZSxTZSk9PntmZS5zZWxlY3RlZERhdGU9U2V9LCJzZXQiKX0sbWV0YWRhdGE6bGV9LFYsRikseDEodGhpcyxudWxsLG5lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmlld0RhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZmU9PiJ2aWV3RGF0ZSJpbiBmZSwiaGFzIiksZ2V0OmkoZmU9PmZlLnZpZXdEYXRlLCJnZXQiKSxzZXQ6aSgoZmUsU2UpPT57ZmUudmlld0RhdGU9U2V9LCJzZXQiKX0sbWV0YWRhdGE6bGV9LHRlLEspLHgxKHRoaXMsbnVsbCxrZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkSG91ciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmZT0+InNlbGVjdGVkSG91ciJpbiBmZSwiaGFzIiksZ2V0OmkoZmU9PmZlLnNlbGVjdGVkSG91ciwiZ2V0Iiksc2V0OmkoKGZlLFNlKT0+e2ZlLnNlbGVjdGVkSG91cj1TZX0sInNldCIpfSxtZXRhZGF0YTpsZX0sdmUsZGUpLHgxKHRoaXMsbnVsbCwkZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkTWludXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGZlPT4ic2VsZWN0ZWRNaW51dGUiaW4gZmUsImhhcyIpLGdldDppKGZlPT5mZS5zZWxlY3RlZE1pbnV0ZSwiZ2V0Iiksc2V0OmkoKGZlLFNlKT0+e2ZlLnNlbGVjdGVkTWludXRlPVNlfSwic2V0Iil9LG1ldGFkYXRhOmxlfSxWZSxRZSkseDEobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bGV9LG51bGwsYSksVGU9cj1lLnZhbHVlLGxlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmxlfSl9c3RhdGljIGRlbW89eVl0O3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1SdCh0aGlzLG8sIiIpO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNlfXNldCB2YWx1ZShsZSl7dGhpcy4jZT1sZX0jdD0oUnQodGhpcyxsKSxSdCh0aGlzLHUsITEpKTtnZXQgZW5hYmxlVGltZSgpe3JldHVybiB0aGlzLiN0fXNldCBlbmFibGVUaW1lKGxlKXt0aGlzLiN0PWxlfSNhPShSdCh0aGlzLGYpLFJ0KHRoaXMsZywiMjRoIikpO2dldCB0aW1lRm9ybWF0KCl7cmV0dXJuIHRoaXMuI2F9c2V0IHRpbWVGb3JtYXQobGUpe3RoaXMuI2E9bGV9I3I9KFJ0KHRoaXMsdiksUnQodGhpcyxiLDEpKTtnZXQgbWludXRlSW5jcmVtZW50KCl7cmV0dXJuIHRoaXMuI3J9c2V0IG1pbnV0ZUluY3JlbWVudChsZSl7dGhpcy4jcj1sZX0jaT0oUnQodGhpcyxtKSxSdCh0aGlzLE0sIllZWVktTU0tREQiKSk7Z2V0IGRhdGVGb3JtYXQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgZGF0ZUZvcm1hdChsZSl7dGhpcy4jaT1sZX0jcz0oUnQodGhpcyxrKSxSdCh0aGlzLF8sIiIpKTtnZXQgbWluRGF0ZSgpe3JldHVybiB0aGlzLiNzfXNldCBtaW5EYXRlKGxlKXt0aGlzLiNzPWxlfSNvPShSdCh0aGlzLEMpLFJ0KHRoaXMsJCwiIikpO2dldCBtYXhEYXRlKCl7cmV0dXJuIHRoaXMuI299c2V0IG1heERhdGUobGUpe3RoaXMuI289bGV9I249KFJ0KHRoaXMsSSksUnQodGhpcyxTLFtdKSk7Z2V0IGRpc2FibGVkRGF0ZXMoKXtyZXR1cm4gdGhpcy4jbn1zZXQgZGlzYWJsZWREYXRlcyhsZSl7dGhpcy4jbj1sZX0jbD0oUnQodGhpcyx6KSxSdCh0aGlzLFQsMSkpO2dldCB3ZWVrU3RhcnRzT24oKXtyZXR1cm4gdGhpcy4jbH1zZXQgd2Vla1N0YXJ0c09uKGxlKXt0aGlzLiNsPWxlfSNjPShSdCh0aGlzLEEpLFJ0KHRoaXMsUiwiWVlZWS1NTS1ERCIpKTtnZXQgcGxhY2Vob2xkZXIoKXtyZXR1cm4gdGhpcy4jY31zZXQgcGxhY2Vob2xkZXIobGUpe3RoaXMuI2M9bGV9I2Q9KFJ0KHRoaXMscSksUnQodGhpcyxPLCExKSk7Z2V0IGVuYWJsZVRpbWV6b25lKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGVuYWJsZVRpbWV6b25lKGxlKXt0aGlzLiNkPWxlfSNwPShSdCh0aGlzLHJlKSxSdCh0aGlzLEIsSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lKSk7Z2V0IHRpbWV6b25lKCl7cmV0dXJuIHRoaXMuI3B9c2V0IHRpbWV6b25lKGxlKXt0aGlzLiNwPWxlfSN1PShSdCh0aGlzLGVlKSxSdCh0aGlzLFksW10pKTtnZXQgZXZlbnRzKCl7cmV0dXJuIHRoaXMuI3V9c2V0IGV2ZW50cyhsZSl7dGhpcy4jdT1sZX0jZj0oUnQodGhpcyxQKSxSdCh0aGlzLEcsITEpKTtnZXQgaXNPcGVuZWQoKXtyZXR1cm4gdGhpcy4jZn1zZXQgaXNPcGVuZWQobGUpe3RoaXMuI2Y9bGV9I2g9KFJ0KHRoaXMsVyksUnQodGhpcyx6ZSwhMSkpO2dldCBvcGVuc1RvVG9wKCl7cmV0dXJuIHRoaXMuI2h9c2V0IG9wZW5zVG9Ub3AobGUpe3RoaXMuI2g9bGV9I209KFJ0KHRoaXMsTWUpLFJ0KHRoaXMsVixudWxsKSk7Z2V0IHNlbGVjdGVkRGF0ZSgpe3JldHVybiB0aGlzLiNtfXNldCBzZWxlY3RlZERhdGUobGUpe3RoaXMuI209bGV9I2c9KFJ0KHRoaXMsRiksUnQodGhpcyx0ZSxuZXcgRGF0ZSkpO2dldCB2aWV3RGF0ZSgpe3JldHVybiB0aGlzLiNnfXNldCB2aWV3RGF0ZShsZSl7dGhpcy4jZz1sZX0jYj0oUnQodGhpcyxLKSxSdCh0aGlzLHZlLDApKTtnZXQgc2VsZWN0ZWRIb3VyKCl7cmV0dXJuIHRoaXMuI2J9c2V0IHNlbGVjdGVkSG91cihsZSl7dGhpcy4jYj1sZX0jdj0oUnQodGhpcyxkZSksUnQodGhpcyxWZSwwKSk7Z2V0IHNlbGVjdGVkTWludXRlKCl7cmV0dXJuIHRoaXMuI3Z9c2V0IHNlbGVjdGVkTWludXRlKGxlKXt0aGlzLiN2PWxlfXN0YXRpYyBzdHlsZXM9TVl0O2dldFRpbWV6b25lcygpe3JldHVyblt7dmFsdWU6IlVUQyIsbGFiZWw6IlVUQyAoQ29vcmRpbmF0ZWQgVW5pdmVyc2FsIFRpbWUpIn0se3ZhbHVlOiJBbWVyaWNhL05ld19Zb3JrIixsYWJlbDoiRWFzdGVybiBUaW1lIChVUyAmIENhbmFkYSkifSx7dmFsdWU6IkFtZXJpY2EvQ2hpY2FnbyIsbGFiZWw6IkNlbnRyYWwgVGltZSAoVVMgJiBDYW5hZGEpIn0se3ZhbHVlOiJBbWVyaWNhL0RlbnZlciIsbGFiZWw6Ik1vdW50YWluIFRpbWUgKFVTICYgQ2FuYWRhKSJ9LHt2YWx1ZToiQW1lcmljYS9Mb3NfQW5nZWxlcyIsbGFiZWw6IlBhY2lmaWMgVGltZSAoVVMgJiBDYW5hZGEpIn0se3ZhbHVlOiJBbWVyaWNhL1Bob2VuaXgiLGxhYmVsOiJBcml6b25hIn0se3ZhbHVlOiJBbWVyaWNhL0FuY2hvcmFnZSIsbGFiZWw6IkFsYXNrYSJ9LHt2YWx1ZToiUGFjaWZpYy9Ib25vbHVsdSIsbGFiZWw6Ikhhd2FpaSJ9LHt2YWx1ZToiRXVyb3BlL0xvbmRvbiIsbGFiZWw6IkxvbmRvbiJ9LHt2YWx1ZToiRXVyb3BlL1BhcmlzIixsYWJlbDoiUGFyaXMifSx7dmFsdWU6IkV1cm9wZS9CZXJsaW4iLGxhYmVsOiJCZXJsaW4ifSx7dmFsdWU6IkV1cm9wZS9Nb3Njb3ciLGxhYmVsOiJNb3Njb3cifSx7dmFsdWU6IkFzaWEvRHViYWkiLGxhYmVsOiJEdWJhaSJ9LHt2YWx1ZToiQXNpYS9Lb2xrYXRhIixsYWJlbDoiSW5kaWEgU3RhbmRhcmQgVGltZSJ9LHt2YWx1ZToiQXNpYS9TaGFuZ2hhaSIsbGFiZWw6IkNoaW5hIFN0YW5kYXJkIFRpbWUifSx7dmFsdWU6IkFzaWEvVG9reW8iLGxhYmVsOiJUb2t5byJ9LHt2YWx1ZToiQXVzdHJhbGlhL1N5ZG5leSIsbGFiZWw6IlN5ZG5leSJ9LHt2YWx1ZToiUGFjaWZpYy9BdWNrbGFuZCIsbGFiZWw6IkF1Y2tsYW5kIn1dfXJlbmRlcigpe3JldHVybiB6WXQodGhpcyl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuaGFuZGxlQ2xpY2tPdXRzaWRlPXRoaXMuaGFuZGxlQ2xpY2tPdXRzaWRlLmJpbmQodGhpcyl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSl9YXN5bmMgZmlyc3RVcGRhdGVkKCl7aWYodGhpcy52YWx1ZXx8KHRoaXMudmFsdWU9IiIpLHRoaXMudmFsdWUpdHJ5e2xldCBsZT1uZXcgRGF0ZSh0aGlzLnZhbHVlKTtpc05hTihsZS5nZXRUaW1lKCkpfHwodGhpcy5zZWxlY3RlZERhdGU9bGUsdGhpcy52aWV3RGF0ZT1uZXcgRGF0ZShsZSksdGhpcy5zZWxlY3RlZEhvdXI9bGUuZ2V0SG91cnMoKSx0aGlzLnNlbGVjdGVkTWludXRlPWxlLmdldE1pbnV0ZXMoKSl9Y2F0Y2h7fWVsc2V7bGV0IGxlPW5ldyBEYXRlO3RoaXMudmlld0RhdGU9bmV3IERhdGUobGUpLHRoaXMuc2VsZWN0ZWRIb3VyPWxlLmdldEhvdXJzKCksdGhpcy5zZWxlY3RlZE1pbnV0ZT0wfX1mb3JtYXREYXRlKGxlKXtpZighbGUpcmV0dXJuIiI7dHJ5e2xldCBmZT1uZXcgRGF0ZShsZSk7aWYoaXNOYU4oZmUuZ2V0VGltZSgpKSlyZXR1cm4iIjtsZXQgU2U9dGhpcy5kYXRlRm9ybWF0LEhlPWZlLmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKSxLZT0oZmUuZ2V0TW9udGgoKSsxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKSxrdD1mZS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCk7aWYoU2U9U2UucmVwbGFjZSgiWVlZWSIsa3QpLFNlPVNlLnJlcGxhY2UoIllZIixrdC5zbGljZSgtMikpLFNlPVNlLnJlcGxhY2UoIk1NIixLZSksU2U9U2UucmVwbGFjZSgiREQiLEhlKSx0aGlzLmVuYWJsZVRpbWUpe2xldCB1dD1mZS5nZXRIb3VycygpLEN0PXV0PT09MD8xMjp1dD4xMj91dC0xMjp1dCxXdD1mZS5nZXRNaW51dGVzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIiksaGU9dXQ+PTEyPyJQTSI6IkFNIjt0aGlzLnRpbWVGb3JtYXQ9PT0iMTJoIj9TZSs9YCAke0N0fToke1d0fSAke2hlfWA6U2UrPWAgJHt1dC50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX06JHtXdH1gfWlmKHRoaXMuZW5hYmxlVGltZXpvbmUpe2xldCBXdD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiZW4tVVMiLHt0aW1lWm9uZU5hbWU6InNob3J0Iix0aW1lWm9uZTp0aGlzLnRpbWV6b25lfSkuZm9ybWF0VG9QYXJ0cyhmZSkuZmluZChoZT0+aGUudHlwZT09PSJ0aW1lWm9uZU5hbWUiKTtXdCYmKFNlKz1gICR7V3QudmFsdWV9YCl9cmV0dXJuIFNlfWNhdGNoe3JldHVybiIifX1oYW5kbGVDbGlja091dHNpZGU9KFJ0KHRoaXMsUWUpLGxlPT57bGUuY29tcG9zZWRQYXRoKCkuaW5jbHVkZXModGhpcyl8fCh0aGlzLmlzT3BlbmVkPSExLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSkpfSk7YXN5bmMgdG9nZ2xlQ2FsZW5kYXIoKXtpZighdGhpcy5kaXNhYmxlZClpZih0aGlzLmlzT3BlbmVkPSF0aGlzLmlzT3BlbmVkLHRoaXMuaXNPcGVuZWQpe2xldCBmZT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbnRhaW5lciIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFNlPXdpbmRvdy5pbm5lckhlaWdodC1mZS5ib3R0b20sSGU9ZmUudG9wO3RoaXMub3BlbnNUb1RvcD1TZTw0MDAmJkhlPlNlLHNldFRpbWVvdXQoKCk9Pntkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5oYW5kbGVDbGlja091dHNpZGUpfSwwKX1lbHNlIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSl9Z2V0RGF5c0luTW9udGgoKXtsZXQgbGU9dGhpcy52aWV3RGF0ZS5nZXRGdWxsWWVhcigpLGZlPXRoaXMudmlld0RhdGUuZ2V0TW9udGgoKSxTZT1uZXcgRGF0ZShsZSxmZSwxKSxIZT1uZXcgRGF0ZShsZSxmZSsxLDApLEtlPVtdLGt0PXRoaXMud2Vla1N0YXJ0c09uPT09MT9TZS5nZXREYXkoKT09PTA/NjpTZS5nZXREYXkoKS0xOlNlLmdldERheSgpO2ZvcihsZXQgQ3Q9a3Q7Q3Q+MDtDdC0tKUtlLnB1c2gobmV3IERhdGUobGUsZmUsMS1DdCkpO2ZvcihsZXQgQ3Q9MTtDdDw9SGUuZ2V0RGF0ZSgpO0N0KyspS2UucHVzaChuZXcgRGF0ZShsZSxmZSxDdCkpO2xldCB1dD00Mi1LZS5sZW5ndGg7Zm9yKGxldCBDdD0xO0N0PD11dDtDdCsrKUtlLnB1c2gobmV3IERhdGUobGUsZmUrMSxDdCkpO3JldHVybiBLZX1pc1RvZGF5KGxlKXtsZXQgZmU9bmV3IERhdGU7cmV0dXJuIGxlLmdldERhdGUoKT09PWZlLmdldERhdGUoKSYmbGUuZ2V0TW9udGgoKT09PWZlLmdldE1vbnRoKCkmJmxlLmdldEZ1bGxZZWFyKCk9PT1mZS5nZXRGdWxsWWVhcigpfWlzU2VsZWN0ZWQobGUpe3JldHVybiB0aGlzLnNlbGVjdGVkRGF0ZT9sZS5nZXREYXRlKCk9PT10aGlzLnNlbGVjdGVkRGF0ZS5nZXREYXRlKCkmJmxlLmdldE1vbnRoKCk9PT10aGlzLnNlbGVjdGVkRGF0ZS5nZXRNb250aCgpJiZsZS5nZXRGdWxsWWVhcigpPT09dGhpcy5zZWxlY3RlZERhdGUuZ2V0RnVsbFllYXIoKTohMX1pc0Rpc2FibGVkKGxlKXtpZih0aGlzLm1pbkRhdGUpe2xldCBmZT1uZXcgRGF0ZSh0aGlzLm1pbkRhdGUpO2lmKGxlPGZlKXJldHVybiEwfWlmKHRoaXMubWF4RGF0ZSl7bGV0IGZlPW5ldyBEYXRlKHRoaXMubWF4RGF0ZSk7aWYobGU+ZmUpcmV0dXJuITB9cmV0dXJuIHRoaXMuZGlzYWJsZWREYXRlcyYmdGhpcy5kaXNhYmxlZERhdGVzLmxlbmd0aD4wP3RoaXMuZGlzYWJsZWREYXRlcy5zb21lKGZlPT57dHJ5e2xldCBTZT1uZXcgRGF0ZShmZSk7cmV0dXJuIGxlLmdldERhdGUoKT09PVNlLmdldERhdGUoKSYmbGUuZ2V0TW9udGgoKT09PVNlLmdldE1vbnRoKCkmJmxlLmdldEZ1bGxZZWFyKCk9PT1TZS5nZXRGdWxsWWVhcigpfWNhdGNoe3JldHVybiExfX0pOiExfWdldEV2ZW50c0ZvckRhdGUobGUpe2lmKCF0aGlzLmV2ZW50c3x8dGhpcy5ldmVudHMubGVuZ3RoPT09MClyZXR1cm5bXTtsZXQgZmU9YCR7bGUuZ2V0RnVsbFllYXIoKX0tJHsobGUuZ2V0TW9udGgoKSsxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0tJHtsZS5nZXREYXRlKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YDtyZXR1cm4gdGhpcy5ldmVudHMuZmlsdGVyKFNlPT5TZS5kYXRlPT09ZmUpfXNlbGVjdERhdGUobGUpe3RoaXMuc2VsZWN0ZWREYXRlPW5ldyBEYXRlKGxlLmdldEZ1bGxZZWFyKCksbGUuZ2V0TW9udGgoKSxsZS5nZXREYXRlKCksdGhpcy5zZWxlY3RlZEhvdXIsdGhpcy5zZWxlY3RlZE1pbnV0ZSksdGhpcy52YWx1ZT10aGlzLmZvcm1hdFZhbHVlV2l0aFRpbWV6b25lKHRoaXMuc2VsZWN0ZWREYXRlKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSx0aGlzLmVuYWJsZVRpbWV8fCh0aGlzLmlzT3BlbmVkPSExKX1zZWxlY3RUb2RheSgpe2xldCBsZT1uZXcgRGF0ZTt0aGlzLnNlbGVjdGVkRGF0ZT1sZSx0aGlzLnZpZXdEYXRlPW5ldyBEYXRlKGxlKSx0aGlzLnNlbGVjdGVkSG91cj1sZS5nZXRIb3VycygpLHRoaXMuc2VsZWN0ZWRNaW51dGU9bGUuZ2V0TWludXRlcygpLHRoaXMudmFsdWU9dGhpcy5mb3JtYXRWYWx1ZVdpdGhUaW1lem9uZSh0aGlzLnNlbGVjdGVkRGF0ZSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksdGhpcy5lbmFibGVUaW1lfHwodGhpcy5pc09wZW5lZD0hMSl9Y2xlYXIoKXt0aGlzLnZhbHVlPSIiLHRoaXMuc2VsZWN0ZWREYXRlPW51bGwsdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksdGhpcy5pc09wZW5lZD0hMX1wcmV2aW91c01vbnRoKCl7dGhpcy52aWV3RGF0ZT1uZXcgRGF0ZSh0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCksdGhpcy52aWV3RGF0ZS5nZXRNb250aCgpLTEsMSl9bmV4dE1vbnRoKCl7dGhpcy52aWV3RGF0ZT1uZXcgRGF0ZSh0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCksdGhpcy52aWV3RGF0ZS5nZXRNb250aCgpKzEsMSl9aGFuZGxlSG91cklucHV0KGxlKXtsZXQgZmU9bGUudGFyZ2V0LFNlPXBhcnNlSW50KGZlLnZhbHVlKXx8MDt0aGlzLnRpbWVGb3JtYXQ9PT0iMTJoIj8oU2U9TWF0aC5tYXgoMSxNYXRoLm1pbigxMixTZSkpLHRoaXMuc2VsZWN0ZWRIb3VyPj0xMiYmU2UhPT0xMj90aGlzLnNlbGVjdGVkSG91cj1TZSsxMjp0aGlzLnNlbGVjdGVkSG91cjwxMiYmU2U9PT0xMj90aGlzLnNlbGVjdGVkSG91cj0wOnRoaXMuc2VsZWN0ZWRIb3VyPVNlKTp0aGlzLnNlbGVjdGVkSG91cj1NYXRoLm1heCgwLE1hdGgubWluKDIzLFNlKSksdGhpcy51cGRhdGVTZWxlY3RlZERhdGVUaW1lKCl9aGFuZGxlTWludXRlSW5wdXQobGUpe2xldCBmZT1sZS50YXJnZXQsU2U9cGFyc2VJbnQoZmUudmFsdWUpfHwwO1NlPU1hdGgubWF4KDAsTWF0aC5taW4oNTksU2UpKSx0aGlzLm1pbnV0ZUluY3JlbWVudCYmdGhpcy5taW51dGVJbmNyZW1lbnQ+MSYmKFNlPU1hdGgucm91bmQoU2UvdGhpcy5taW51dGVJbmNyZW1lbnQpKnRoaXMubWludXRlSW5jcmVtZW50KSx0aGlzLnNlbGVjdGVkTWludXRlPVNlLHRoaXMudXBkYXRlU2VsZWN0ZWREYXRlVGltZSgpfXNldEFNUE0obGUpe2xlPT09ImFtIiYmdGhpcy5zZWxlY3RlZEhvdXI+PTEyP3RoaXMuc2VsZWN0ZWRIb3VyLT0xMjpsZT09PSJwbSImJnRoaXMuc2VsZWN0ZWRIb3VyPDEyJiYodGhpcy5zZWxlY3RlZEhvdXIrPTEyKSx0aGlzLnVwZGF0ZVNlbGVjdGVkRGF0ZVRpbWUoKX11cGRhdGVTZWxlY3RlZERhdGVUaW1lKCl7dGhpcy5zZWxlY3RlZERhdGUmJih0aGlzLnNlbGVjdGVkRGF0ZT1uZXcgRGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpLHRoaXMuc2VsZWN0ZWREYXRlLmdldE1vbnRoKCksdGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpLHRoaXMuc2VsZWN0ZWRIb3VyLHRoaXMuc2VsZWN0ZWRNaW51dGUpLHRoaXMudmFsdWU9dGhpcy5mb3JtYXRWYWx1ZVdpdGhUaW1lem9uZSh0aGlzLnNlbGVjdGVkRGF0ZSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpfWhhbmRsZVRpbWV6b25lQ2hhbmdlKGxlKXtsZXQgZmU9bGUudGFyZ2V0O3RoaXMudGltZXpvbmU9ZmUudmFsdWUsdGhpcy51cGRhdGVTZWxlY3RlZERhdGVUaW1lKCl9Zm9ybWF0VmFsdWVXaXRoVGltZXpvbmUobGUpe2lmKCF0aGlzLmVuYWJsZVRpbWV6b25lKXJldHVybiBsZS50b0lTT1N0cmluZygpO2xldCBTZT1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiZW4tVVMiLHt5ZWFyOiJudW1lcmljIixtb250aDoiMi1kaWdpdCIsZGF5OiIyLWRpZ2l0Iixob3VyOiIyLWRpZ2l0IixtaW51dGU6IjItZGlnaXQiLHNlY29uZDoiMi1kaWdpdCIsaG91cjEyOiExLHRpbWVab25lOnRoaXMudGltZXpvbmUsdGltZVpvbmVOYW1lOiJzaG9ydCJ9KS5mb3JtYXRUb1BhcnRzKGxlKSxIZT17fTtTZS5mb3JFYWNoKHV0PT57SGVbdXQudHlwZV09dXQudmFsdWV9KTtsZXQgS2U9YCR7SGUueWVhcn0tJHtIZS5tb250aH0tJHtIZS5kYXl9VCR7SGUuaG91cn06JHtIZS5taW51dGV9OiR7SGUuc2Vjb25kfWAsa3Q9dGhpcy5nZXRUaW1lem9uZU9mZnNldChsZSx0aGlzLnRpbWV6b25lKTtyZXR1cm5gJHtLZX0ke2t0fWB9Z2V0VGltZXpvbmVPZmZzZXQobGUsZmUpe2xldCBTZT1uZXcgRGF0ZShsZS50b0xvY2FsZVN0cmluZygiZW4tVVMiLHt0aW1lWm9uZTpmZX0pKSxIZT1uZXcgRGF0ZShsZS50b0xvY2FsZVN0cmluZygiZW4tVVMiLHt0aW1lWm9uZToiVVRDIn0pKSxLZT0oU2UuZ2V0VGltZSgpLUhlLmdldFRpbWUoKSkvKDFlMyo2MCksa3Q9TWF0aC5mbG9vcihNYXRoLmFicyhLZSkvNjApLHV0PU1hdGguYWJzKEtlKSU2MDtyZXR1cm5gJHtLZT49MD8iKyI6Ii0ifSR7a3QudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9OiR7dXQudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YH1oYW5kbGVLZXlkb3duKGxlKXtsZS5rZXk9PT0iRW50ZXIifHxsZS5rZXk9PT0iICI/KGxlLnByZXZlbnREZWZhdWx0KCksdGhpcy50b2dnbGVDYWxlbmRhcigpKTpsZS5rZXk9PT0iRXNjYXBlIiYmdGhpcy5pc09wZW5lZCYmKGxlLnByZXZlbnREZWZhdWx0KCksdGhpcy5pc09wZW5lZD0hMSl9Y2xlYXJWYWx1ZShsZSl7bGUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy52YWx1ZT0iIix0aGlzLnNlbGVjdGVkRGF0ZT1udWxsLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfWhhbmRsZU1hbnVhbElucHV0KGxlKXtsZXQgU2U9bGUudGFyZ2V0LnZhbHVlLnRyaW0oKTtpZighU2Upe3RoaXMudmFsdWU9IiIsdGhpcy5zZWxlY3RlZERhdGU9bnVsbDtyZXR1cm59bGV0IEhlPXRoaXMucGFyc2VNYW51YWxEYXRlKFNlKTtIZSYmIWlzTmFOKEhlLmdldFRpbWUoKSkmJih0aGlzLnZhbHVlPUhlLnRvSVNPU3RyaW5nKCksdGhpcy5zZWxlY3RlZERhdGU9SGUsdGhpcy52aWV3RGF0ZT1uZXcgRGF0ZShIZSksdGhpcy5zZWxlY3RlZEhvdXI9SGUuZ2V0SG91cnMoKSx0aGlzLnNlbGVjdGVkTWludXRlPUhlLmdldE1pbnV0ZXMoKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSl9aGFuZGxlSW5wdXRCbHVyKGxlKXtsZXQgZmU9bGUudGFyZ2V0LFNlPWZlLnZhbHVlLnRyaW0oKTtpZighU2Upe3RoaXMudmFsdWU9IiIsdGhpcy5zZWxlY3RlZERhdGU9bnVsbCx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKTtyZXR1cm59bGV0IEhlPXRoaXMucGFyc2VNYW51YWxEYXRlKFNlKTtIZSYmIWlzTmFOKEhlLmdldFRpbWUoKSk/KHRoaXMudmFsdWU9SGUudG9JU09TdHJpbmcoKSx0aGlzLnNlbGVjdGVkRGF0ZT1IZSx0aGlzLnZpZXdEYXRlPW5ldyBEYXRlKEhlKSx0aGlzLnNlbGVjdGVkSG91cj1IZS5nZXRIb3VycygpLHRoaXMuc2VsZWN0ZWRNaW51dGU9SGUuZ2V0TWludXRlcygpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpLGZlLnZhbHVlPXRoaXMuZm9ybWF0RGF0ZSh0aGlzLnZhbHVlKSk6ZmUudmFsdWU9dGhpcy5mb3JtYXREYXRlKHRoaXMudmFsdWUpfXBhcnNlTWFudWFsRGF0ZShsZSl7aWYoIWxlKXJldHVybiBudWxsO2xldCBmZT1sZS5zcGxpdCgiICIpLFNlPWZlWzBdLEhlPWZlWzFdfHwiIixLZT1udWxsLGt0PVNlLm1hdGNoKC9eKFxkezR9KS0oXGR7MSwyfSktKFxkezEsMn0pJC8pO2lmKGt0KXtsZXRbdXQsQ3QsV3QsaGVdPWt0O0tlPW5ldyBEYXRlKHBhcnNlSW50KEN0KSxwYXJzZUludChXdCktMSxwYXJzZUludChoZSkpfWlmKCFLZSl7bGV0IHV0PVNlLm1hdGNoKC9eKFxkezEsMn0pXC4oXGR7MSwyfSlcLihcZHs0fSkkLyk7aWYodXQpe2xldFtDdCxXdCxoZSxtZV09dXQ7S2U9bmV3IERhdGUocGFyc2VJbnQobWUpLHBhcnNlSW50KGhlKS0xLHBhcnNlSW50KFd0KSl9fWlmKCFLZSl7bGV0IHV0PVNlLm1hdGNoKC9eKFxkezEsMn0pXC8oXGR7MSwyfSlcLyhcZHs0fSkkLyk7aWYodXQpe2xldFtDdCxXdCxoZSxtZV09dXQ7S2U9bmV3IERhdGUocGFyc2VJbnQobWUpLHBhcnNlSW50KFd0KS0xLHBhcnNlSW50KGhlKSl9fWlmKCFLZXx8aXNOYU4oS2UuZ2V0VGltZSgpKSlyZXR1cm4gbnVsbDtpZihIZSl7bGV0IHV0PUhlLm1hdGNoKC9eKFxkezEsMn0pOihcZHsyfSkkLyk7aWYodXQpe2xldFtDdCxXdCxoZV09dXQ7S2Uuc2V0SG91cnMocGFyc2VJbnQoV3QpKSxLZS5zZXRNaW51dGVzKHBhcnNlSW50KGhlKSl9fWVsc2UgaWYoIXRoaXMuZW5hYmxlVGltZSl7bGV0IHV0PW5ldyBEYXRlO0tlLnNldEhvdXJzKHV0LmdldEhvdXJzKCkpLEtlLnNldE1pbnV0ZXModXQuZ2V0TWludXRlcygpKSxLZS5zZXRTZWNvbmRzKDApLEtlLnNldE1pbGxpc2Vjb25kcygwKX1yZXR1cm4gS2V9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZShsZSl7aWYodGhpcy52YWx1ZT1sZSxsZSl0cnl7bGV0IGZlPW5ldyBEYXRlKGxlKTtpc05hTihmZS5nZXRUaW1lKCkpfHwodGhpcy5zZWxlY3RlZERhdGU9ZmUsdGhpcy52aWV3RGF0ZT1uZXcgRGF0ZShmZSksdGhpcy5zZWxlY3RlZEhvdXI9ZmUuZ2V0SG91cnMoKSx0aGlzLnNlbGVjdGVkTWludXRlPWZlLmdldE1pbnV0ZXMoKSl9Y2F0Y2h7fX1zdGF0aWN7UnQocixhKX19O3JldHVybiBUZT1yfSkoKX0pO3ZhciBiT2U9YygoKT0+e2dPZSgpfSk7dmFyIENZdCxfWXQ9YygoKT0+e3BlKCk7UmEoKTtXMSgpO0NZdD1pKCgpPT53YAogIDxzdHlsZT4KICAgICR7WGAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWwgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQogICAgICAKICAgICAgLmhvcml6b250YWwtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICAgIAogICAgICAuaW5wdXQtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5ncmlkLWxheW91dCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CiAgICAgIAogICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICAuaW50ZXJhY3RpdmUtc2VjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5vdXRwdXQtdGV4dCB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTAgNDAlIDgwJSkiKX07CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5OCUpIiwiaHNsKDIxNSAyMC4yJSAxMS44JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1pbi1oZWlnaHQ6IDI0cHg7CiAgICAgIH0KICAgIGB9CiAgPC9zdHlsZT4KICAKICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57dC5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWlucHV0LXRleHQiKS5mb3JFYWNoKHI9PntyLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZVN1YmplY3QiLHM9Pntjb25zb2xlLmxvZyhgSW5wdXQgIiR7ci5sYWJlbH0iIGNoYW5nZWQgdG86YCxyLmdldFZhbHVlKCkpfSksci5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e2NvbnNvbGUubG9nKGBJbnB1dCAiJHtyLmxhYmVsfSIgbG9zdCBmb2N1c2ApfSl9KSx0LnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtdGV4dFtrZXk9InBhc3N3b3JkIl0nKSYmY29uc29sZS5sb2coIlBhc3N3b3JkIGlucHV0IGluY2x1ZGVzIHZpc2liaWxpdHkgdG9nZ2xlIil9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIFRleHQgSW5wdXRzIn0gLnN1YnRpdGxlPSR7IlN0YW5kYXJkIHRleHQgaW5wdXRzIHdpdGggbGFiZWxzIGFuZCBkZXNjcmlwdGlvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJVc2VybmFtZSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyJqb2huZG9lIn0KICAgICAgICAgICAgLmtleT0keyJ1c2VybmFtZSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiRW1haWwgQWRkcmVzcyJ9CiAgICAgICAgICAgIC52YWx1ZT0keyJqb2huQGV4YW1wbGUuY29tIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IldlIHdpbGwgbmV2ZXIgc2hhcmUgeW91ciBlbWFpbCB3aXRoIGFueW9uZSJ9CiAgICAgICAgICAgIC5rZXk9JHsiZW1haWwifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlBhc3N3b3JkIn0KICAgICAgICAgICAgLmlzUGFzc3dvcmRCb29sPSR7ITB9CiAgICAgICAgICAgIC52YWx1ZT0keyJzZWNyZXQxMjMifQogICAgICAgICAgICAua2V5PSR7InBhc3N3b3JkIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57dC5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWlucHV0LXRleHQiKS5mb3JFYWNoKHM9PntsZXQgbj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShzKTtjb25zb2xlLmxvZyhgSG9yaXpvbnRhbCBpbnB1dCAiJHtzLmxhYmVsfSIgZGlzcGxheTpgLG4uZGlzcGxheSl9KTtsZXQgYT10LnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtdGV4dFtrZXk9ImZpcnN0TmFtZSJdJykscj10LnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtdGV4dFtrZXk9Imxhc3ROYW1lIl0nKTtpZihhJiZyKXtsZXQgcz1pKCgpPT57bGV0IG49YS5nZXRWYWx1ZSgpLG89ci5nZXRWYWx1ZSgpO2NvbnNvbGUubG9nKGBGdWxsIG5hbWU6ICR7bn0gJHtvfWApfSwidXBkYXRlRnVsbE5hbWUiKTthLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZVN1YmplY3QiLHMpLHIuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlU3ViamVjdCIscyl9fX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJIb3Jpem9udGFsIExheW91dCJ9IC5zdWJ0aXRsZT0keyJNdWx0aXBsZSBpbnB1dHMgYXJyYW5nZWQgaG9yaXpvbnRhbGx5IGZvciBjb21wYWN0IGZvcm1zIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAubGFiZWw9JHsiRmlyc3QgTmFtZSJ9IAogICAgICAgICAgICAudmFsdWU9JHsiSm9obiJ9IAogICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgLmtleT0keyJmaXJzdE5hbWUifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAubGFiZWw9JHsiTGFzdCBOYW1lIn0gCiAgICAgICAgICAgIC52YWx1ZT0keyJEb2UifSAKICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5rZXk9JHsibGFzdE5hbWUifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAubGFiZWw9JHsiQWdlIn0gCiAgICAgICAgICAgIC52YWx1ZT0keyIyOCJ9IAogICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgLmtleT0keyJhZ2UifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9Pnt0LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtaW5wdXQtdGV4dCIpLmZvckVhY2gocj0+e2xldCBzPXIubGFiZWxQb3NpdGlvbjtjb25zb2xlLmxvZyhgSW5wdXQgIiR7ci5sYWJlbH0iIGhhcyBsYWJlbCBwb3NpdGlvbjogJHtzfWApfSk7bGV0IGE9dC5xdWVyeVNlbGVjdG9yQWxsKCdkZWVzLWlucHV0LXRleHRbbGFiZWxQb3NpdGlvbj0ibGVmdCJdJyk7YS5sZW5ndGg+MCYmY29uc29sZS5sb2coYCR7YS5sZW5ndGh9IGlucHV0cyBoYXZlIGxlZnQtYWxpZ25lZCBsYWJlbHMgZm9yIGlubGluZSBsYXlvdXRgKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiTGFiZWwgUG9zaXRpb25zIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCBsYWJlbCBwb3NpdGlvbmluZyBvcHRpb25zIGZvciB2YXJpb3VzIGxheW91dHMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJMYWJlbCBvbiBUb3AgKERlZmF1bHQpIn0KICAgICAgICAgICAgLnZhbHVlPSR7IlN0YW5kYXJkIGxheW91dCJ9CiAgICAgICAgICAgIC5sYWJlbFBvc2l0aW9uPSR7InRvcCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiTGFiZWwgb24gTGVmdCJ9CiAgICAgICAgICAgIC52YWx1ZT0keyJJbmxpbmUgbGFiZWwifQogICAgICAgICAgICAubGFiZWxQb3NpdGlvbj0keyJsZWZ0In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWxheW91dCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAubGFiZWw9JHsiQ2l0eSJ9IAogICAgICAgICAgICAudmFsdWU9JHsiTmV3IFlvcmsifSAKICAgICAgICAgICAgLmxhYmVsUG9zaXRpb249JHsibGVmdCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlpJUCBDb2RlIn0KICAgICAgICAgICAgLnZhbHVlPSR7IjEwMDAxIn0KICAgICAgICAgICAgLmxhYmVsUG9zaXRpb249JHsibGVmdCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e2xldCBlPXQucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC10ZXh0W3JlcXVpcmVkXSIpLGE9dC5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LXRleHRbZGlzYWJsZWRdIikscj10LnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtdGV4dFt2YWxpZGF0aW9uU3RhdGU9ImludmFsaWQiXScpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PntlLmdldFZhbHVlKCl8fGNvbnNvbGUubG9nKCJSZXF1aXJlZCBmaWVsZCBpcyBlbXB0eSEiKX0pLGEmJmNvbnNvbGUubG9nKCJEaXNhYmxlZCBpbnB1dCBjYW5ub3QgYmUgZWRpdGVkIiksciYmKGNvbnNvbGUubG9nKCJFcnJvciBpbnB1dCBzaG93cyB2YWxpZGF0aW9uIG1lc3NhZ2U6IixyLnZhbGlkYXRpb25UZXh0KSxyLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZVN1YmplY3QiLCgpPT57bGV0IHM9ci5nZXRWYWx1ZSgpO3MuaW5jbHVkZXMoIkAiKSYmcy5pbmNsdWRlcygiLiIpJiYoci52YWxpZGF0aW9uU3RhdGU9InZhbGlkIixyLnZhbGlkYXRpb25UZXh0PSIiLGNvbnNvbGUubG9nKCJFbWFpbCB2YWxpZGF0aW9uIHBhc3NlZCEiKSl9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlZhbGlkYXRpb24gJiBTdGF0ZXMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IHZhbGlkYXRpb24gc3RhdGVzIGFuZCBpbnB1dCBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlJlcXVpcmVkIEZpZWxkIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5rZXk9JHsicmVxdWlyZWRGaWVsZCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiRGlzYWJsZWQgRmllbGQifQogICAgICAgICAgICAudmFsdWU9JHsiQ2Fubm90IGVkaXQgdGhpcyJ9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IkZpZWxkIHdpdGggRXJyb3IifQogICAgICAgICAgICAudmFsdWU9JHsiaW52YWxpZEAifQogICAgICAgICAgICAudmFsaWRhdGlvblRleHQ9JHsiUGxlYXNlIGVudGVyIGEgdmFsaWQgZW1haWwgYWRkcmVzcyJ9CiAgICAgICAgICAgIC52YWxpZGF0aW9uU3RhdGU9JHsiaW52YWxpZCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e3QucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC10ZXh0W2lzUGFzc3dvcmRCb29sXSIpLmZvckVhY2goYT0+e2xldCByPWkoKCk9PntsZXQgcz1hLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImlucHV0Iik7cyYmY29uc29sZS5sb2coYFBhc3N3b3JkIGZpZWxkICIke2EubGFiZWx9IiB0eXBlOmAscy50eXBlKX0sImNoZWNrVG9nZ2xlIik7aWYoYS5zaGFkb3dSb290KXtsZXQgcz1uZXcgTXV0YXRpb25PYnNlcnZlcihyKSxuPWEuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpO24mJnMub2JzZXJ2ZShuLHthdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbInR5cGUiXX0pfX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJBZHZhbmNlZCBGZWF0dXJlcyJ9IC5zdWJ0aXRsZT0keyJQYXNzd29yZCB2aXNpYmlsaXR5IHRvZ2dsZSBhbmQgb3RoZXIgYWR2YW5jZWQgZmVhdHVyZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJQYXNzd29yZCB3aXRoIFRvZ2dsZSJ9CiAgICAgICAgICAgIC5pc1Bhc3N3b3JkQm9vbD0keyEwfQogICAgICAgICAgICAudmFsdWU9JHsibXlTZWN1cmVQYXNzd29yZDEyMyJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJDbGljayB0aGUgZXllIGljb24gdG8gc2hvdy9oaWRlIHBhc3N3b3JkIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJBUEkgS2V5In0KICAgICAgICAgICAgLmlzUGFzc3dvcmRCb29sPSR7ITB9CiAgICAgICAgICAgIC52YWx1ZT0keyJzay0xMjM0NTY3ODkwYWJjZGVmIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IktlZXAgdGhpcyBrZXkgc2VjdXJlIGFuZCBuZXZlciBzaGFyZSBpdCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e2xldCBlPXQucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC10ZXh0IiksYT10LnF1ZXJ5U2VsZWN0b3IoIiN0ZXh0LWlucHV0LW91dHB1dCIpO2lmKGUmJmEpe2UuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlU3ViamVjdCIscz0+e2xldCBuPXMuZGV0YWlsLmdldFZhbHVlKCk7YS50ZXh0Q29udGVudD1gQ3VycmVudCB2YWx1ZTogIiR7bn0iYH0pLGUuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57Y29uc29sZS5sb2coIklucHV0IGZvY3VzZWQiKX0pLGUuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9Pntjb25zb2xlLmxvZygiSW5wdXQgYmx1cnJlZCIpfSk7bGV0IHI9MDtlLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLCgpPT57cisrLGNvbnNvbGUubG9nKGBLZXlwcmVzcyBjb3VudDogJHtyfWApfSl9fX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJJbnRlcmFjdGl2ZSBFeGFtcGxlIn0gLnN1YnRpdGxlPSR7IlRyeSB0eXBpbmcgaW4gdGhlIGlucHV0cyB0byBzZWUgcmVhbC10aW1lIHZhbHVlIGNoYW5nZXMifT4KICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgLmxhYmVsPSR7IkR5bmFtaWMgSW5wdXQifSAKICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJUeXBlIHNvbWV0aGluZyBoZXJlLi4uIn0KICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iaW50ZXJhY3RpdmUtc2VjdGlvbiI+CiAgICAgICAgICA8ZGl2IGlkPSJ0ZXh0LWlucHV0LW91dHB1dCIgY2xhc3M9Im91dHB1dC10ZXh0Ij5DdXJyZW50IHZhbHVlOiAiIjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgbDYseWkseVosY2w9YygoKT0+e0dpKCk7V2EoKTtfWXQoKTtJcigpO3BlKCk7WGUoKTtsNj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0seWk9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LHlaPSgoKT0+e2xldCB0PVthZSgiZGVlcy1pbnB1dC10ZXh0IildLGUsYT1bXSxyLHM9b3QsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNJbnB1dFRleHQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgJD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLGg9W0woe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLHA9W0woe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLHg9W0woe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLHk9W0woe3JlZmxlY3Q6ITB9KV0sRT1bTCh7fSldLGw2KHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoST0+InZhbHVlImluIEksImhhcyIpLGdldDppKEk9PkkudmFsdWUsImdldCIpLHNldDppKChJLGopPT57SS52YWx1ZT1qfSwic2V0Iil9LG1ldGFkYXRhOiR9LG8sbCksbDYodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc1Bhc3N3b3JkQm9vbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShJPT4iaXNQYXNzd29yZEJvb2wiaW4gSSwiaGFzIiksZ2V0OmkoST0+SS5pc1Bhc3N3b3JkQm9vbCwiZ2V0Iiksc2V0OmkoKEksaik9PntJLmlzUGFzc3dvcmRCb29sPWp9LCJzZXQiKX0sbWV0YWRhdGE6JH0sdSxmKSxsNih0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dQYXNzd29yZEJvb2wiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoST0+InNob3dQYXNzd29yZEJvb2wiaW4gSSwiaGFzIiksZ2V0OmkoST0+SS5zaG93UGFzc3dvcmRCb29sLCJnZXQiKSxzZXQ6aSgoSSxqKT0+e0kuc2hvd1Bhc3N3b3JkQm9vbD1qfSwic2V0Iil9LG1ldGFkYXRhOiR9LGcsdiksbDYodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZGF0aW9uU3RhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoST0+InZhbGlkYXRpb25TdGF0ZSJpbiBJLCJoYXMiKSxnZXQ6aShJPT5JLnZhbGlkYXRpb25TdGF0ZSwiZ2V0Iiksc2V0OmkoKEksaik9PntJLnZhbGlkYXRpb25TdGF0ZT1qfSwic2V0Iil9LG1ldGFkYXRhOiR9LGIsbSksbDYodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZGF0aW9uVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShJPT4idmFsaWRhdGlvblRleHQiaW4gSSwiaGFzIiksZ2V0OmkoST0+SS52YWxpZGF0aW9uVGV4dCwiZ2V0Iiksc2V0OmkoKEksaik9PntJLnZhbGlkYXRpb25UZXh0PWp9LCJzZXQiKX0sbWV0YWRhdGE6JH0sTSxrKSxsNih0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbGlkYXRpb25GdW5jdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShJPT4idmFsaWRhdGlvbkZ1bmN0aW9uImluIEksImhhcyIpLGdldDppKEk9PkkudmFsaWRhdGlvbkZ1bmN0aW9uLCJnZXQiKSxzZXQ6aSgoSSxqKT0+e0kudmFsaWRhdGlvbkZ1bmN0aW9uPWp9LCJzZXQiKX0sbWV0YWRhdGE6JH0sXyxDKSxsNihudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTokfSxudWxsLGEpLE49cj1lLnZhbHVlLCQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6JH0pfXN0YXRpYyBkZW1vPUNZdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9eWkodGhpcyxvLCIiKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoJCl7dGhpcy4jZT0kfSN0PSh5aSh0aGlzLGwpLHlpKHRoaXMsdSwhMSkpO2dldCBpc1Bhc3N3b3JkQm9vbCgpe3JldHVybiB0aGlzLiN0fXNldCBpc1Bhc3N3b3JkQm9vbCgkKXt0aGlzLiN0PSR9I2E9KHlpKHRoaXMsZikseWkodGhpcyxnLCExKSk7Z2V0IHNob3dQYXNzd29yZEJvb2woKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd1Bhc3N3b3JkQm9vbCgkKXt0aGlzLiNhPSR9I3I9KHlpKHRoaXMsdikseWkodGhpcyxiLHZvaWQgMCkpO2dldCB2YWxpZGF0aW9uU3RhdGUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdmFsaWRhdGlvblN0YXRlKCQpe3RoaXMuI3I9JH0jaT0oeWkodGhpcyxtKSx5aSh0aGlzLE0sIiIpKTtnZXQgdmFsaWRhdGlvblRleHQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgdmFsaWRhdGlvblRleHQoJCl7dGhpcy4jaT0kfSNzPSh5aSh0aGlzLGspLHlpKHRoaXMsXyx2b2lkIDApKTtnZXQgdmFsaWRhdGlvbkZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHZhbGlkYXRpb25GdW5jdGlvbigkKXt0aGlzLiNzPSR9c3RhdGljIHN0eWxlcz1bRGUsLi4ub3QuYmFzZVN0eWxlcyxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgOmhvc3QgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB6LWluZGV4OiBhdXRvOwogICAgICAgIGZvbnQtZmFtaWx5OiAke2dhfTsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICBpbnB1dCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBsaW5lLWhlaWdodDogNDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGN1cnNvcjogdGV4dDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDMuOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KDpmb2N1cykgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6Zm9jdXMgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtkLmJkVGhlbWUoImhzbCgwIDAlIDklIC8gMC4wNSkiLCJoc2woMCAwJSA5OCUgLyAwLjA1KSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6ZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAvKiBQYXNzd29yZCB0b2dnbGUgYnV0dG9uICovCiAgICAgIC5zaG93UGFzc3dvcmQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogMXB4OwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDM4cHg7CiAgICAgICAgaGVpZ2h0OiAzOHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBib3JkZXItcmFkaXVzOiAwIDVweCA1cHggMDsKICAgICAgfQoKICAgICAgLnNob3dQYXNzd29yZDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5My45JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFZhbGlkYXRpb24gc3R5bGVzICovCiAgICAgIC52YWxpZGF0aW9uQ29udGFpbmVyIHsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAudmFsaWRhdGlvbkNvbnRhaW5lci5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlIC8gMC4xKSIsImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlKSIsImhzbCgwIDcyLjIlIDUwLjYlKSIpfTsKICAgICAgfQoKICAgICAgLnZhbGlkYXRpb25Db250YWluZXIud2FybiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlIC8gMC4xKSIsImhzbCgyNSA5NSUgNjMlIC8gMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlKSIsImhzbCgyNSA5NSUgNjMlKSIpfTsKICAgICAgfQoKICAgICAgLnZhbGlkYXRpb25Db250YWluZXIudmFsaWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUgLyAwLjEpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlIC8gMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICB9CgogICAgICAvKiBFcnJvciBzdGF0ZSBmb3IgaW5wdXQgKi8KICAgICAgOmhvc3QoW3ZhbGlkYXRpb24tc3RhdGU9ImludmFsaWQiXSkgaW5wdXQgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlKSIsImhzbCgwIDcyLjIlIDUwLjYlKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoW3ZhbGlkYXRpb24tc3RhdGU9ImludmFsaWQiXSkgaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlKSIsImhzbCgwIDcyLjIlIDUwLjYlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtkLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlIC8gMC4wNSkiLCJoc2woMCA3Mi4yJSA1MC42JSAvIDAuMDUpIil9OwogICAgICB9CgogICAgICAvKiBXYXJuaW5nIHN0YXRlIGZvciBpbnB1dCAqLwogICAgICA6aG9zdChbdmFsaWRhdGlvbi1zdGF0ZT0id2FybiJdKSBpbnB1dCB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDI1IDk1JSA1MyUpIiwiaHNsKDI1IDk1JSA2MyUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbdmFsaWRhdGlvbi1zdGF0ZT0id2FybiJdKSBpbnB1dDpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDI1IDk1JSA1MyUpIiwiaHNsKDI1IDk1JSA2MyUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2QuYmRUaGVtZSgiaHNsKDI1IDk1JSA1MyUgLyAwLjA1KSIsImhzbCgyNSA5NSUgNjMlIC8gMC4wNSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFZhbGlkIHN0YXRlIGZvciBpbnB1dCAqLwogICAgICA6aG9zdChbdmFsaWRhdGlvbi1zdGF0ZT0idmFsaWQiXSkgaW5wdXQgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbdmFsaWRhdGlvbi1zdGF0ZT0idmFsaWQiXSkgaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2QuYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlIC8gMC4wNSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUgLyAwLjA1KSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICBpbnB1dCB7CiAgICAgICAgICBmb250LWZhbWlseTogJHt0aGlzLmlzUGFzc3dvcmRCb29sP3Q2OiJpbmhlcml0In07CiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogJHt0aGlzLmlzUGFzc3dvcmRCb29sPyIwLjVweCI6Im5vcm1hbCJ9OwogICAgICAgICAgcGFkZGluZy1yaWdodDogJHt0aGlzLmlzUGFzc3dvcmRCb29sPyI0OHB4IjoiMTJweCJ9OwogICAgICAgIH0KICAgICAgICAke3RoaXMudmFsaWRhdGlvblRleHQ/WGAKICAgICAgICAgICAgICAudmFsaWRhdGlvbkNvbnRhaW5lciB7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgYDpYYAogICAgICAgICAgICAgIC52YWxpZGF0aW9uQ29udGFpbmVyIHsKICAgICAgICAgICAgICAgIGhlaWdodDogMDsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuZGVzY3JpcHRpb249JHt0aGlzLmRlc2NyaXB0aW9ufSAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciI+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0iJHt0aGlzLmlzUGFzc3dvcmRCb29sJiYhdGhpcy5zaG93UGFzc3dvcmRCb29sPyJwYXNzd29yZCI6InRleHQifSIKICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy52YWx1ZX0KICAgICAgICAgICAgQGlucHV0PSIke3RoaXMudXBkYXRlVmFsdWV9IgogICAgICAgICAgICAuZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfQogICAgICAgICAgICBwbGFjZWhvbGRlcj0iJHt0aGlzLmxhYmVsPyIiOiJFbnRlciB0ZXh0Li4uIn0iCiAgICAgICAgICAvPgogICAgICAgICAgJHt0aGlzLmlzUGFzc3dvcmRCb29sP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG93UGFzc3dvcmQiIEBjbGljaz0ke3RoaXMudG9nZ2xlUGFzc3dvcmRWaWV3fT4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke3RoaXMuc2hvd1Bhc3N3b3JkQm9vbD8ibHVjaWRlOkV5ZSI6Imx1Y2lkZTpFeWVPZmYifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6d2BgfQogICAgICAgICAgJHt0aGlzLnZhbGlkYXRpb25UZXh0P3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2YWxpZGF0aW9uQ29udGFpbmVyICR7dGhpcy52YWxpZGF0aW9uU3RhdGV8fCJlcnJvciJ9Ij4KICAgICAgICAgICAgICAgICAgJHt0aGlzLnZhbGlkYXRpb25UZXh0fQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDp3YDxkaXYgY2xhc3M9InZhbGlkYXRpb25Db250YWluZXIiPjwvZGl2PmB9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1maXJzdFVwZGF0ZWQoKXt9YXN5bmMgdXBkYXRlVmFsdWUoJCl7bGV0IEk9JC50YXJnZXQ7dGhpcy52YWx1ZT1JLnZhbHVlLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoJCl7dGhpcy52YWx1ZT0kfWFzeW5jIHRvZ2dsZVBhc3N3b3JkVmlldygpe3RoaXMuc2hvd1Bhc3N3b3JkQm9vbD0hdGhpcy5zaG93UGFzc3dvcmRCb29sfWFzeW5jIGZvY3VzKCl7dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikuZm9jdXMoKX1hc3luYyBibHVyKCl7dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikuYmx1cigpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx5aSh0aGlzLEMpfXN0YXRpY3t5aShyLGEpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgVFl0LExZdD1jKCgpPT57cGUoKTtSYSgpO1cxKCk7VFl0PWkoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnByb2R1Y3QtZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjgwcHgsIDFmcikpOwogICAgICAgICAgZ2FwOiAyMHB4OwogICAgICAgIH0KCiAgICAgICAgLmNhcnQtc3VtbWFyeSB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAyMS44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgfQoKICAgICAgICAuY2FydC1zdW1tYXJ5LXRpdGxlIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIH0KCiAgICAgICAgLmNhcnQtaXRlbSB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTcuOSAxMC42JSA3NC45JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuY2FydC10b3RhbCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIHBhZGRpbmctdG9wOiAxNnB4OwogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICB9CgogICAgICAgIC5zZWxlY3RlZC1wcm9kdWN0cyB7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTcuOSAxMC42JSA3NC45JSkiKX07CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgUHJvZHVjdCBDYXJkcyJ9IC5zdWJ0aXRsZT0keyJTaW1wbGUgcHJvZHVjdCBkaXNwbGF5IHdpdGggdmFyaW91cyBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiV2lyZWxlc3MgQmx1ZXRvb3RoIEhlYWRwaG9uZXMiLGNhdGVnb3J5OiJBdWRpbyIsZGVzY3JpcHRpb246IlByZW1pdW0gc291bmQgcXVhbGl0eSB3aXRoIGFjdGl2ZSBub2lzZSBjYW5jZWxsYXRpb24iLHByaWNlOjE0OS45OSxvcmlnaW5hbFByaWNlOjE5OS45OSxpY29uTmFtZToibHVjaWRlOmhlYWRwaG9uZXMifX0KICAgICAgICAgICAgLnF1YW50aXR5PSR7MX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CgogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IlNtYXJ0IFdhdGNoIFNlcmllcyA3IixjYXRlZ29yeToiV2VhcmFibGVzIixkZXNjcmlwdGlvbjoiVHJhY2sgeW91ciBmaXRuZXNzIGFuZCBzdGF5IGNvbm5lY3RlZCBvbiB0aGUgZ28iLHByaWNlOjM5OSxpY29uTmFtZToibHVjaWRlOndhdGNoIn19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezF9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgoKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJVU0ItQyBIdWIiLGNhdGVnb3J5OiJBY2Nlc3NvcmllcyIscHJpY2U6NDkuOTksaWNvbk5hbWU6Imx1Y2lkZTp1c2IiLGluU3RvY2s6ITF9fQogICAgICAgICAgICAucXVhbnRpdHk9JHswfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkludGVyYWN0aXZlIFNob3BwaW5nIENhcnQifSAuc3VidGl0bGU9JHsiUHJvZHVjdCBjYXJkcyB3aXRoIGR5bmFtaWMgY2FydCBjYWxjdWxhdGlvbiJ9IC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9PntsZXQgZT1be2lkOiJsYXB0b3AiLGVsZW1lbnQ6bnVsbCxkYXRhOntuYW1lOidNYWNCb29rIFBybyAxNCInLGNhdGVnb3J5OiJDb21wdXRlcnMiLGRlc2NyaXB0aW9uOiJNMyBQcm8gY2hpcCB3aXRoIDE4R0IgUkFNIixwcmljZToxOTk5LG9yaWdpbmFsUHJpY2U6MjE5OSxpY29uTmFtZToibHVjaWRlOmxhcHRvcCJ9fSx7aWQ6ImlwYWQiLGVsZW1lbnQ6bnVsbCxkYXRhOntuYW1lOiJpUGFkIEFpciIsY2F0ZWdvcnk6IlRhYmxldHMiLGRlc2NyaXB0aW9uOicxMC45IiBMaXF1aWQgUmV0aW5hIGRpc3BsYXknLHByaWNlOjU5OSxpY29uTmFtZToibHVjaWRlOnRhYmxldCJ9fSx7aWQ6ImtleWJvYXJkIixlbGVtZW50Om51bGwsZGF0YTp7bmFtZToiTWFnaWMgS2V5Ym9hcmQiLGNhdGVnb3J5OiJBY2Nlc3NvcmllcyIsZGVzY3JpcHRpb246IldpcmVsZXNzIGtleWJvYXJkIHdpdGggVG91Y2ggSUQiLHByaWNlOjE0OSxpY29uTmFtZToibHVjaWRlOmtleWJvYXJkIn19XSxhPWkoKCk9PntsZXQgcj0wLHM9W107ZS5mb3JFYWNoKG89PntsZXQgbD10LnF1ZXJ5U2VsZWN0b3IoYCMke28uaWR9YCk7aWYobCYmbC5xdWFudGl0eT4wKXtsZXQgaD1vLmRhdGEucHJpY2UqbC5xdWFudGl0eTtyKz1oLHMucHVzaChgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJ0LWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3Bhbj4ke28uZGF0YS5uYW1lfSAoJHtsLnF1YW50aXR5fSk8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuPiQke2gudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgKX19KTtsZXQgbj10LnF1ZXJ5U2VsZWN0b3IoIiNpbnRlcmFjdGl2ZS1jYXJ0LXN1bW1hcnkiKTtuJiYobi5pbm5lckhUTUw9YAogICAgICAgICAgICAgICR7cy5qb2luKCIiKX0KICAgICAgICAgICAgICAke3MubGVuZ3RoPT09MD8nPGRpdiBjbGFzcz0iY2FydC1pdGVtIiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogIzk5OTsiPllvdXIgY2FydCBpcyBlbXB0eTwvZGl2Pic6IiJ9CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC10b3RhbCI+CiAgICAgICAgICAgICAgICA8c3Bhbj5Ub3RhbDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuPiQke3IudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfSwidXBkYXRlQ2FydFN1bW1hcnkiKTtzZXRUaW1lb3V0KGEsMTAwKSx0LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQiKS5mb3JFYWNoKHI9PntyLmFkZEV2ZW50TGlzdGVuZXIoInF1YW50aXR5Q2hhbmdlIixhKX0pfX0+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ncmlkIj4KICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIGlkPSJsYXB0b3AiCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOidNYWNCb29rIFBybyAxNCInLGNhdGVnb3J5OiJDb21wdXRlcnMiLGRlc2NyaXB0aW9uOiJNMyBQcm8gY2hpcCB3aXRoIDE4R0IgUkFNIixwcmljZToxOTk5LG9yaWdpbmFsUHJpY2U6MjE5OSxpY29uTmFtZToibHVjaWRlOmxhcHRvcCJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHsxfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICBpZD0iaXBhZCIKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6ImlQYWQgQWlyIixjYXRlZ29yeToiVGFibGV0cyIsZGVzY3JpcHRpb246JzEwLjkiIExpcXVpZCBSZXRpbmEgZGlzcGxheScscHJpY2U6NTk5LGljb25OYW1lOiJsdWNpZGU6dGFibGV0In19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezB9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgoKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIGlkPSJrZXlib2FyZCIKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6Ik1hZ2ljIEtleWJvYXJkIixjYXRlZ29yeToiQWNjZXNzb3JpZXMiLGRlc2NyaXB0aW9uOiJXaXJlbGVzcyBrZXlib2FyZCB3aXRoIFRvdWNoIElEIixwcmljZToxNDksaWNvbk5hbWU6Imx1Y2lkZTprZXlib2FyZCJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHsyfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1zdW1tYXJ5Ij4KICAgICAgICAgIDxoMyBjbGFzcz0iY2FydC1zdW1tYXJ5LXRpdGxlIj5TaG9wcGluZyBDYXJ0PC9oMz4KICAgICAgICAgIDxkaXYgaWQ9ImludGVyYWN0aXZlLWNhcnQtc3VtbWFyeSI+CiAgICAgICAgICAgIDwhLS0gRHluYW1pY2FsbHkgdXBkYXRlZCAtLT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiU2VsZWN0YWJsZSBQcm9kdWN0IENhcmRzIn0gLnN1YnRpdGxlPSR7IkNsaWNrIGNhcmRzIG9yIGNoZWNrYm94ZXMgdG8gc2VsZWN0IHByb2R1Y3RzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ncmlkIj4KICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJTb255IEFscGhhIDcgSVYiLGNhdGVnb3J5OiJDYW1lcmFzIixkZXNjcmlwdGlvbjoiRnVsbC1mcmFtZSBtaXJyb3JsZXNzIGNhbWVyYSIscHJpY2U6MjQ5OCxpY29uTmFtZToibHVjaWRlOmNhbWVyYSJ9fQogICAgICAgICAgICAuc2VsZWN0YWJsZT0keyEwfQogICAgICAgICAgICAuc2hvd1F1YW50aXR5U2VsZWN0b3I9JHshMX0KICAgICAgICAgICAgQHNlbGVjdGlvbkNoYW5nZT0ke3Q9PntsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjc2VsZWN0aW9uLW91dHB1dCIpO2lmKGUpe2xldCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmRbc2VsZWN0YWJsZV0iKSxyPVtdO2EuZm9yRWFjaChzPT57cy5zZWxlY3RlZCYmci5wdXNoKHMucHJvZHVjdERhdGEubmFtZSl9KSxlLnRleHRDb250ZW50PXIubGVuZ3RoPjA/YFNlbGVjdGVkOiAke3Iuam9pbigiLCAiKX1gOiJObyBwcm9kdWN0cyBzZWxlY3RlZCJ9fX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CgogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IkRKSSBNaW5pIDMgUHJvIixjYXRlZ29yeToiRHJvbmVzIixkZXNjcmlwdGlvbjoiTGlnaHR3ZWlnaHQgZHJvbmUgd2l0aCA0SyBjYW1lcmEiLHByaWNlOjc1OSxpY29uTmFtZToibHVjaWRlOnBsYW5lIn19CiAgICAgICAgICAgIC5zZWxlY3RhYmxlPSR7ITB9CiAgICAgICAgICAgIC5zaG93UXVhbnRpdHlTZWxlY3Rvcj0keyExfQogICAgICAgICAgICBAc2VsZWN0aW9uQ2hhbmdlPSR7dD0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNzZWxlY3Rpb24tb3V0cHV0Iik7aWYoZSl7bGV0IGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZFtzZWxlY3RhYmxlXSIpLHI9W107YS5mb3JFYWNoKHM9PntzLnNlbGVjdGVkJiZyLnB1c2gocy5wcm9kdWN0RGF0YS5uYW1lKX0pLGUudGV4dENvbnRlbnQ9ci5sZW5ndGg+MD9gU2VsZWN0ZWQ6ICR7ci5qb2luKCIsICIpfWA6Ik5vIHByb2R1Y3RzIHNlbGVjdGVkIn19fQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiR29Qcm8gSEVSTzEyIixjYXRlZ29yeToiQWN0aW9uIENhbWVyYXMiLGRlc2NyaXB0aW9uOiI1LjNLIHZpZGVvIHdpdGggSHlwZXJTbW9vdGggNi4wIixwcmljZTozOTksb3JpZ2luYWxQcmljZTo0NDksaWNvbk5hbWU6Imx1Y2lkZTp2aWRlbyJ9fQogICAgICAgICAgICAuc2VsZWN0YWJsZT0keyEwfQogICAgICAgICAgICAuc2hvd1F1YW50aXR5U2VsZWN0b3I9JHshMX0KICAgICAgICAgICAgQHNlbGVjdGlvbkNoYW5nZT0ke3Q9PntsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjc2VsZWN0aW9uLW91dHB1dCIpO2lmKGUpe2xldCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmRbc2VsZWN0YWJsZV0iKSxyPVtdO2EuZm9yRWFjaChzPT57cy5zZWxlY3RlZCYmci5wdXNoKHMucHJvZHVjdERhdGEubmFtZSl9KSxlLnRleHRDb250ZW50PXIubGVuZ3RoPjA/YFNlbGVjdGVkOiAke3Iuam9pbigiLCAiKX1gOiJObyBwcm9kdWN0cyBzZWxlY3RlZCJ9fX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ic2VsZWN0ZWQtcHJvZHVjdHMiIGlkPSJzZWxlY3Rpb24tb3V0cHV0IiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsiPgogICAgICAgICAgTm8gcHJvZHVjdHMgc2VsZWN0ZWQKICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlByb2R1Y3QgVmFyaWF0aW9ucyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgc3RhdGVzIGFuZCBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiTGltaXRlZCBFZGl0aW9uIFNuZWFrZXJzIixjYXRlZ29yeToiRm9vdHdlYXIiLGRlc2NyaXB0aW9uOiJFeGNsdXNpdmUgY29sb3J3YXkgLSBPbmx5IDUwMCBwYWlycyIscHJpY2U6Mjk5LGljb25OYW1lOiJsdWNpZGU6Zm9vdHByaW50cyIsaW5TdG9jazohMSxzdG9ja1RleHQ6IlNvbGQgT3V0In19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezB9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgoKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJNaW5pbWFsaXN0IFdhbGxldCIscHJpY2U6MzkuOTksaWNvbk5hbWU6Imx1Y2lkZTp3YWxsZXQifX0KICAgICAgICAgICAgLnF1YW50aXR5PSR7MX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CgogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IlByZW1pdW0gQ29mZmVlIEJlYW5zIixjYXRlZ29yeToiRm9vZCAmIEJldmVyYWdlIixkZXNjcmlwdGlvbjoiU2luZ2xlIG9yaWdpbiwgbWVkaXVtIHJvYXN0IixwcmljZToxOC41LGljb25OYW1lOiJsdWNpZGU6Y29mZmVlIixjdXJyZW5jeToiXHUyMEFDIn19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezJ9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgajgsTHMsJFl0LHZPZT1jKCgpPT57cGUoKTtMWXQoKTtYZSgpO2o4PWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxMcz1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sJFl0PSgoKT0+e2xldCB0PVthZSgiZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZCIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdO3ZhciBFPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzU2hvcHBpbmdQcm9kdWN0Y2FyZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6T2JqZWN0fSldLGg9W0woe3R5cGU6TnVtYmVyfSldLHA9W0woe3R5cGU6Qm9vbGVhbn0pXSx4PVtMKHt0eXBlOkJvb2xlYW59KV0seT1bTCh7dHlwZTpCb29sZWFufSldLGo4KHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicHJvZHVjdERhdGEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+InByb2R1Y3REYXRhImluIEMsImhhcyIpLGdldDppKEM9PkMucHJvZHVjdERhdGEsImdldCIpLHNldDppKChDLE4pPT57Qy5wcm9kdWN0RGF0YT1OfSwic2V0Iil9LG1ldGFkYXRhOl99LG8sbCksajgodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJxdWFudGl0eSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4icXVhbnRpdHkiaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy5xdWFudGl0eSwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLnF1YW50aXR5PU59LCJzZXQiKX0sbWV0YWRhdGE6X30sdSxmKSxqOCh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dRdWFudGl0eVNlbGVjdG9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJzaG93UXVhbnRpdHlTZWxlY3RvciJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLnNob3dRdWFudGl0eVNlbGVjdG9yLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0Muc2hvd1F1YW50aXR5U2VsZWN0b3I9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxnLHYpLGo4KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0YWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4ic2VsZWN0YWJsZSJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLnNlbGVjdGFibGUsImdldCIpLHNldDppKChDLE4pPT57Qy5zZWxlY3RhYmxlPU59LCJzZXQiKX0sbWV0YWRhdGE6X30sYixtKSxqOCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJzZWxlY3RlZCJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLnNlbGVjdGVkLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0Muc2VsZWN0ZWQ9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxNLGspLGo4KG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsYSksRT1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89VFl0O3N0YXRpYyBkZW1vR3JvdXBzPVsiU2ltcGxlIl07I2U9THModGhpcyxvLHtuYW1lOiJQcm9kdWN0IE5hbWUiLHByaWNlOjB9KTtnZXQgcHJvZHVjdERhdGEoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcHJvZHVjdERhdGEoXyl7dGhpcy4jZT1ffSN0PShMcyh0aGlzLGwpLExzKHRoaXMsdSwwKSk7Z2V0IHF1YW50aXR5KCl7cmV0dXJuIHRoaXMuI3R9c2V0IHF1YW50aXR5KF8pe3RoaXMuI3Q9X30jYT0oTHModGhpcyxmKSxMcyh0aGlzLGcsITApKTtnZXQgc2hvd1F1YW50aXR5U2VsZWN0b3IoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd1F1YW50aXR5U2VsZWN0b3IoXyl7dGhpcy4jYT1ffSNyPShMcyh0aGlzLHYpLExzKHRoaXMsYiwhMSkpO2dldCBzZWxlY3RhYmxlKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHNlbGVjdGFibGUoXyl7dGhpcy4jcj1ffSNpPShMcyh0aGlzLG0pLExzKHRoaXMsTSwhMSkpO2dldCBzZWxlY3RlZCgpe3JldHVybiB0aGlzLiNpfXNldCBzZWxlY3RlZChfKXt0aGlzLiNpPV99c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLnByb2R1Y3QtY2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIxNSAyMC4yJSAxMS44JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAucHJvZHVjdC1jYXJkOmhvdmVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggaHNsKDAgMCUgMCUgLyAwLjEpLCAwIDJweCA0cHggLTJweCBoc2woMCAwJSAwJSAvIDAuMSk7CiAgICAgIH0KCiAgICAgIC5wcm9kdWN0LWNhcmQuc2VsZWN0YWJsZSB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAucHJvZHVjdC1jYXJkLnNlbGVjdGVkIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtkLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAucHJvZHVjdC1pbWFnZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxODBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucHJvZHVjdC1pbWFnZSBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgfQoKICAgICAgLnByb2R1Y3QtaW1hZ2UgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDQ4cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1IDIwLjIlIDY1LjElKSIsImhzbCgyMTUgMjAuMiUgMzUuMSUpIil9OwogICAgICB9CgogICAgICAuc2VsZWN0aW9uLWNoZWNrYm94IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAxMnB4OwogICAgICAgIHJpZ2h0OiAxMnB4OwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDMwJSA2LjglKSIpfTsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDIxNSAyMC4yJSA2NS4xJSkiLCJoc2woMjE1IDIwLjIlIDM1LjElKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAuc2VsZWN0aW9uLWNoZWNrYm94LmNoZWNrZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgfQoKICAgICAgLnNlbGVjdGlvbi1jaGVja2JveCBkZWVzLWljb24gewogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zZWxlY3Rpb24tY2hlY2tib3guY2hlY2tlZCBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgfQoKICAgICAgLnByb2R1Y3QtY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KICAgICAgCiAgICAgIC5wcm9kdWN0LWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAucHJvZHVjdC1jYXRlZ29yeSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICAgIH0KICAgICAgCiAgICAgIC5wcm9kdWN0LW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS40OwogICAgICB9CgogICAgICAucHJvZHVjdC1kZXNjcmlwdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgZmxleDogMTsKICAgICAgfQogICAgICAKICAgICAgLnByb2R1Y3QtZm9vdGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nLXRvcDogMTJweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQoKICAgICAgLnByb2R1Y3QtcHJpY2UgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLnByaWNlLWN1cnJlbnQgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQoKICAgICAgLnByaWNlLW9yaWdpbmFsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7CiAgICAgIH0KCiAgICAgIC5zdG9jay1zdGF0dXMgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgfQoKICAgICAgLnN0b2NrLXN0YXR1cy5pbi1zdG9jayB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIiwiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIpfTsKICAgICAgfQoKICAgICAgLnN0b2NrLXN0YXR1cy5vdXQtb2Ytc3RvY2sgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUpIiwiaHNsKDAgNjIuOCUgMzAuNiUpIil9OwogICAgICB9CgogICAgICAuc3RvY2stc3RhdHVzIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXR7bmFtZTpfLGNhdGVnb3J5OkMsZGVzY3JpcHRpb246TixwcmljZTokLG9yaWdpbmFsUHJpY2U6SSxjdXJyZW5jeTpqPSIkIixpblN0b2NrOlM9ITAsc3RvY2tUZXh0Ono9Uz8iSW4gU3RvY2siOiJPdXQgb2YgU3RvY2siLGltYWdlVXJsOkQsaWNvbk5hbWU6VD0ibHVjaWRlOnBhY2thZ2UifT10aGlzLnByb2R1Y3REYXRhLEE9aShVPT5gJHtqfSR7VS50b0ZpeGVkKDIpfWAsImZvcm1hdFByaWNlIik7cmV0dXJuIHdgCiAgICAgIDxkaXYgCiAgICAgICAgY2xhc3M9InByb2R1Y3QtY2FyZCAke3RoaXMuc2VsZWN0YWJsZT8ic2VsZWN0YWJsZSI6IiJ9ICR7dGhpcy5zZWxlY3RlZD8ic2VsZWN0ZWQiOiIifSIKICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZUNhcmRDbGlja30KICAgICAgPgogICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtaW1hZ2UiPgogICAgICAgICAgJHtEP3dgCiAgICAgICAgICAgIDxpbWcgc3JjPSIke0R9IiBhbHQ9IiR7X30iPgogICAgICAgICAgYDp3YAogICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7VH0+PC9kZWVzLWljb24+CiAgICAgICAgICBgfQogICAgICAgICAgJHt0aGlzLnNlbGVjdGFibGU/d2AKICAgICAgICAgICAgPGRpdiAKICAgICAgICAgICAgICBjbGFzcz0ic2VsZWN0aW9uLWNoZWNrYm94ICR7dGhpcy5zZWxlY3RlZD8iY2hlY2tlZCI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0ke1U9PntVLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuaGFuZGxlU2VsZWN0aW9uVG9nZ2xlKCl9fQogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Y2hlY2sifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWhlYWRlciI+CiAgICAgICAgICAgICR7Qz93YDxkaXYgY2xhc3M9InByb2R1Y3QtY2F0ZWdvcnkiPiR7Q308L2Rpdj5gOiIifQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LW5hbWUiPiR7X308L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHtOP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtZGVzY3JpcHRpb24iPiR7Tn08L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdG9jay1zdGF0dXMgJHtTPyJpbi1zdG9jayI6Im91dC1vZi1zdG9jayJ9Ij4KICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke1M/Imx1Y2lkZTpjaGVjay1jaXJjbGUiOiJsdWNpZGU6eC1jaXJjbGUifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgJHt6fQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWZvb3RlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtcHJpY2UiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmljZS1jdXJyZW50Ij4ke0EoJCl9PC9zcGFuPgogICAgICAgICAgICAgICR7SSYmST4kP3dgCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJpY2Utb3JpZ2luYWwiPiR7QShJKX08L3NwYW4+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICR7dGhpcy5zaG93UXVhbnRpdHlTZWxlY3Rvcj93YAogICAgICAgICAgICAgIDxkZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3IKICAgICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMucXVhbnRpdHl9CiAgICAgICAgICAgICAgICBAY2hhbmdlU3ViamVjdD0ke1U9Pnt0aGlzLnF1YW50aXR5PVUuZGV0YWlsLmdldFZhbHVlKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicXVhbnRpdHlDaGFuZ2UiLHtkZXRhaWw6e3F1YW50aXR5OnRoaXMucXVhbnRpdHkscHJvZHVjdERhdGE6dGhpcy5wcm9kdWN0RGF0YX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX19CiAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yPgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVDYXJkQ2xpY2soKXt0aGlzLnNlbGVjdGFibGUmJih0aGlzLnNlbGVjdGVkPSF0aGlzLnNlbGVjdGVkLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlbGVjdGlvbkNoYW5nZSIse2RldGFpbDp7c2VsZWN0ZWQ6dGhpcy5zZWxlY3RlZCxwcm9kdWN0RGF0YTp0aGlzLnByb2R1Y3REYXRhfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX1oYW5kbGVTZWxlY3Rpb25Ub2dnbGUoKXt0aGlzLnNlbGVjdGVkPSF0aGlzLnNlbGVjdGVkLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlbGVjdGlvbkNoYW5nZSIse2RldGFpbDp7c2VsZWN0ZWQ6dGhpcy5zZWxlY3RlZCxwcm9kdWN0RGF0YTp0aGlzLnByb2R1Y3REYXRhfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxMcyh0aGlzLGspfXN0YXRpY3tMcyhyLGEpfX07cmV0dXJuIEU9cn0pKCl9KTt2YXIgRFl0LEFZdD1jKCgpPT57cGUoKTt2T2UoKTtEWXQ9aSgoKT0+d2AKICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgIDxzdHlsZT4KICAgICAgJHtYYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaW5wdXQtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAuc2hvcHBpbmctZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjgwcHgsIDFmcikpOwogICAgICAgICAgZ2FwOiAyMHB4OwogICAgICAgIH0KCiAgICAgICAgLmNhcnQtc3VtbWFyeSB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAyMS44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgfQoKICAgICAgICAuY2FydC1zdW1tYXJ5LXRpdGxlIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIH0KCiAgICAgICAgLmNhcnQtaXRlbSB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTcuOSAxMC42JSA3NC45JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuY2FydC10b3RhbCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIHBhZGRpbmctdG9wOiAxNnB4OwogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJCYXNpYyBRdWFudGl0eSBTZWxlY3RvciJ9IC5zdWJ0aXRsZT0keyJTaW1wbGUgcXVhbnRpdHkgaW5wdXQgd2l0aCBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yCiAgICAgICAgICAgIC5sYWJlbD0keyJRdWFudGl0eSJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJTZWxlY3QgdGhlIGRlc2lyZWQgcXVhbnRpdHkifQogICAgICAgICAgICAudmFsdWU9JHsxfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3IKICAgICAgICAgICAgLmxhYmVsPSR7Ikl0ZW1zIGluIENhcnQifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWRqdXN0IHRoZSBxdWFudGl0eSBvZiBpdGVtcyJ9CiAgICAgICAgICAgIC52YWx1ZT0kezN9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3I+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJTaG9wcGluZyBDYXJ0In0gLnN1YnRpdGxlPSR7Ik1vZGVybiBlLWNvbW1lcmNlIHByb2R1Y3QgY2FyZHMgd2l0aCBpbnRlcmFjdGl2ZSBxdWFudGl0eSBzZWxlY3RvcnMifSAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57bGV0IGU9aSgoKT0+e2xldCBhPXQucXVlcnlTZWxlY3RvcigiI2hlYWRwaG9uZXMtcXR5Iikscj10LnF1ZXJ5U2VsZWN0b3IoIiNtb3VzZS1xdHkiKSxzPXQucXVlcnlTZWxlY3RvcigiI2tleWJvYXJkLXF0eSIpLG49YT8ucXVhbnRpdHl8fDAsbz1yPy5xdWFudGl0eXx8MCxsPXM/LnF1YW50aXR5fHwwLGg9MzQ5Ljk5Km4sdT05OS45OSpvLGY9NzkuOTkqbCxwPWgrdStmLGc9dC5xdWVyeVNlbGVjdG9yKCIjY2FydC1zdW1tYXJ5LWNvbnRlbnQiKTtnJiYoZy5pbm5lckhUTUw9YAogICAgICAgICAgICAgICR7bj4wP2A8ZGl2IGNsYXNzPSJjYXJ0LWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4+U29ueSBXSC0xMDAwWE01ICgke259KTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuPiQke2gudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+YDoiIn0KICAgICAgICAgICAgICAke28+MD9gPGRpdiBjbGFzcz0iY2FydC1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuPkxvZ2l0ZWNoIE1YIE1hc3RlciAzUyAoJHtvfSk8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3Bhbj4kJHt1LnRvRml4ZWQoMil9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PmA6IiJ9CiAgICAgICAgICAgICAgJHtsPjA/YDxkaXYgY2xhc3M9ImNhcnQtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3Bhbj5LZXljaHJvbiBLMiAoJHtsfSk8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3Bhbj4kJHtmLnRvRml4ZWQoMil9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PmA6IiJ9CiAgICAgICAgICAgICAgJHtwPT09MD8nPGRpdiBjbGFzcz0iY2FydC1pdGVtIiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogIzk5OTsiPllvdXIgY2FydCBpcyBlbXB0eTwvZGl2Pic6IiJ9CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC10b3RhbCI+CiAgICAgICAgICAgICAgICA8c3Bhbj5Ub3RhbDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuPiQke3AudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfSwidXBkYXRlQ2FydFN1bW1hcnkiKTtzZXRUaW1lb3V0KGUsMTAwKSx0LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQiKS5mb3JFYWNoKGE9PnthLmFkZEV2ZW50TGlzdGVuZXIoInF1YW50aXR5Q2hhbmdlIixlKX0pfX0+CiAgICAgICAgPGRpdiBjbGFzcz0ic2hvcHBpbmctZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICBpZD0iaGVhZHBob25lcy1xdHkiCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJTb255IFdILTEwMDBYTTUgV2lyZWxlc3MgSGVhZHBob25lcyIsY2F0ZWdvcnk6IkF1ZGlvIixkZXNjcmlwdGlvbjoiSW5kdXN0cnktbGVhZGluZyBub2lzZSBjYW5jZWxpbmcgd2l0aCBBdXRvIE5DIE9wdGltaXplciIscHJpY2U6MzQ5Ljk5LG9yaWdpbmFsUHJpY2U6Mzk5Ljk5LGljb25OYW1lOiJsdWNpZGU6aGVhZHBob25lcyJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHsxfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgaWQ9Im1vdXNlLXF0eSIKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IkxvZ2l0ZWNoIE1YIE1hc3RlciAzUyIsY2F0ZWdvcnk6IkFjY2Vzc29yaWVzIixkZXNjcmlwdGlvbjoiUGVyZm9ybWFuY2Ugd2lyZWxlc3MgbW91c2Ugd2l0aCB1bHRyYS1mYXN0IHNjcm9sbGluZyIscHJpY2U6OTkuOTksaWNvbk5hbWU6Imx1Y2lkZTptb3VzZS1wb2ludGVyIn19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezJ9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICBpZD0ia2V5Ym9hcmQtcXR5IgogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiS2V5Y2hyb24gSzIgV2lyZWxlc3MgTWVjaGFuaWNhbCBLZXlib2FyZCIsY2F0ZWdvcnk6IktleWJvYXJkcyIsZGVzY3JpcHRpb246IkNvbXBhY3QgNzUlIGxheW91dCB3aXRoIGhvdC1zd2FwcGFibGUgc3dpdGNoZXMiLHByaWNlOjc5Ljk5LG9yaWdpbmFsUHJpY2U6OTQuOTksaWNvbk5hbWU6Imx1Y2lkZTprZXlib2FyZCJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHsxfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1zdW1tYXJ5Ij4KICAgICAgICAgIDxoMyBjbGFzcz0iY2FydC1zdW1tYXJ5LXRpdGxlIj5PcmRlciBTdW1tYXJ5PC9oMz4KICAgICAgICAgIDxkaXYgaWQ9ImNhcnQtc3VtbWFyeS1jb250ZW50Ij4KICAgICAgICAgICAgPCEtLSBDb250ZW50IHdpbGwgYmUgZHluYW1pY2FsbHkgdXBkYXRlZCAtLT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiUmVxdWlyZWQgJiBEaXNhYmxlZCBTdGF0ZXMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IHN0YXRlcyBmb3IgdmFsaWRhdGlvbiBhbmQgcmVzdHJpY3Rpb25zIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3RvcgogICAgICAgICAgICAubGFiZWw9JHsiTnVtYmVyIG9mIExpY2Vuc2VzIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlNlbGVjdCBob3cgbWFueSBsaWNlbnNlcyB5b3UgbmVlZCJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAudmFsdWU9JHsxfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3IKICAgICAgICAgICAgLmxhYmVsPSR7IkZpeGVkIFF1YW50aXR5In0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRoaXMgcXVhbnRpdHkgY2Fubm90IGJlIGNoYW5nZWQifQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgICAgLnZhbHVlPSR7NX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3Rvcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ik9yZGVyIEZvcm0ifSAuc3VidGl0bGU9JHsiQ29tcGxldGUgb3JkZXIgZm9ybSB3aXRoIHF1YW50aXR5IHNlbGVjdGlvbiJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJDdXN0b21lciBOYW1lIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IlByb2R1Y3QifQogICAgICAgICAgICAub3B0aW9ucz0ke1siQmFzaWMgUGxhbiIsIlBybyBQbGFuIiwiRW50ZXJwcmlzZSBQbGFuIl19CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIDxkZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3IKICAgICAgICAgICAgLmxhYmVsPSR7IlF1YW50aXR5In0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7Ik51bWJlciBvZiBsaWNlbnNlcyJ9CiAgICAgICAgICAgIC52YWx1ZT0kezF9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3I+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJTcGVjaWFsIEluc3RydWN0aW9ucyJ9CiAgICAgICAgICAgIC5pbnB1dFR5cGU9JHsidGV4dGFyZWEifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgUFl0LHhPZSx3Wix5T2U9YygoKT0+e3BlKCk7SXQoKTtXYSgpO0FZdCgpO1hlKCk7UFl0PWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSx4T2U9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LHdaPSgoKT0+e2xldCB0PVthZSgiZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yIildLGUsYT1bXSxyLHM9b3QsbixvPVtdLGw9W107dmFyIGg9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNJbnB1dFF1YW50aXR5U2VsZWN0b3IiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgdT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk51bWJlcn0pXSxQWXQodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmPT4idmFsdWUiaW4gZiwiaGFzIiksZ2V0OmkoZj0+Zi52YWx1ZSwiZ2V0Iiksc2V0OmkoKGYscCk9PntmLnZhbHVlPXB9LCJzZXQiKX0sbWV0YWRhdGE6dX0sbyxsKSxQWXQobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6dX0sbnVsbCxhKSxoPXI9ZS52YWx1ZSx1JiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnV9KX1zdGF0aWMgZGVtbz1EWXQ7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPXhPZSh0aGlzLG8sMSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKHUpe3RoaXMuI2U9dX1zdGF0aWMgc3R5bGVzPVtEZSwuLi5vdC5iYXNlU3R5bGVzLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgICAgOmhvc3QgewogICAgICAgICAgd2lkdGg6IGF1dG87CiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB9CgogICAgICAgIC5xdWFudGl0eS1jb250YWluZXIgewogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4OwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5xdWFudGl0eS1jb250YWluZXIuZGlzYWJsZWQgewogICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIH0KCiAgICAgICAgLnF1YW50aXR5LWNvbnRhaW5lcjpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgICAgfQoKICAgICAgICAucXVhbnRpdHktY29udGFpbmVyOmZvY3VzLXdpdGhpbiB7CiAgICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2QuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4xKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiKX07CiAgICAgICAgfQoKICAgICAgICAuc2VsZWN0b3IgewogICAgICAgICAgZmxleDogMCAwIDQwcHg7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgfQoKICAgICAgICAuc2VsZWN0b3I6aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICB9CgogICAgICAgIC5zZWxlY3RvcjphY3RpdmUgewogICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDkxJSkiLCJoc2woMCAwJSAxMSUpIil9OwogICAgICAgIH0KCiAgICAgICAgLnNlbGVjdG9yLm1pbnVzIHsKICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuc2VsZWN0b3IucGx1cyB7CiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgfQoKICAgICAgICAucXVhbnRpdHkgewogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOwogICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwNmVtOwogICAgICAgIH0KCiAgICAgICAgLyogS2V5Ym9hcmQgbmF2aWdhdGlvbiBmb2N1cyBzdHlsZXMgKi8KICAgICAgICAuc2VsZWN0b3I6Zm9jdXMgewogICAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgfQoKICAgICAgICAvKiBNaW4gdmFsdWUgc3RhdGUgKi8KICAgICAgICAucXVhbnRpdHktY29udGFpbmVyW2RhdGEtbWluPSJ0cnVlIl0gLnNlbGVjdG9yLm1pbnVzIHsKICAgICAgICAgIG9wYWNpdHk6IDAuMzsKICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgfQoKICAgICAgICAucXVhbnRpdHktY29udGFpbmVyW2RhdGEtbWluPSJ0cnVlIl0gLnNlbGVjdG9yLm1pbnVzOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgfQoKICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICAke3RoaXMubGFiZWw/d2A8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuZGVzY3JpcHRpb249JHt0aGlzLmRlc2NyaXB0aW9ufSAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+YDoiIn0KICAgICAgICA8ZGl2IAogICAgICAgICAgY2xhc3M9InF1YW50aXR5LWNvbnRhaW5lciAke3RoaXMuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgICBkYXRhLW1pbj0iJHt0aGlzLnZhbHVlPD0wfSIKICAgICAgICA+CiAgICAgICAgICA8ZGl2IAogICAgICAgICAgICBjbGFzcz0ic2VsZWN0b3IgbWludXMiIAogICAgICAgICAgICBAY2xpY2s9IiR7KCk9Pnt0aGlzLmRlY3JlYXNlKCl9fSIKICAgICAgICAgICAgdGFiaW5kZXg9IiR7dGhpcy5kaXNhYmxlZD8iLTEiOiIwIn0iCiAgICAgICAgICAgIEBrZXlkb3duPSIke3U9PnsodS5rZXk9PT0iRW50ZXIifHx1LmtleT09PSIgIikmJih1LnByZXZlbnREZWZhdWx0KCksdGhpcy5kZWNyZWFzZSgpKX19IgogICAgICAgICAgICByb2xlPSJidXR0b24iCiAgICAgICAgICAgIGFyaWEtbGFiZWw9IkRlY3JlYXNlIHF1YW50aXR5IgogICAgICAgICAgPuKIkjwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icXVhbnRpdHkiIGFyaWEtbGl2ZT0icG9saXRlIiBhcmlhLWF0b21pYz0idHJ1ZSI+JHt0aGlzLnZhbHVlfTwvZGl2PgogICAgICAgICAgPGRpdiAKICAgICAgICAgICAgY2xhc3M9InNlbGVjdG9yIHBsdXMiIAogICAgICAgICAgICBAY2xpY2s9IiR7KCk9Pnt0aGlzLmluY3JlYXNlKCl9fSIKICAgICAgICAgICAgdGFiaW5kZXg9IiR7dGhpcy5kaXNhYmxlZD8iLTEiOiIwIn0iCiAgICAgICAgICAgIEBrZXlkb3duPSIke3U9PnsodS5rZXk9PT0iRW50ZXIifHx1LmtleT09PSIgIikmJih1LnByZXZlbnREZWZhdWx0KCksdGhpcy5pbmNyZWFzZSgpKX19IgogICAgICAgICAgICByb2xlPSJidXR0b24iCiAgICAgICAgICAgIGFyaWEtbGFiZWw9IkluY3JlYXNlIHF1YW50aXR5IgogICAgICAgICAgPis8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWluY3JlYXNlKCl7dGhpcy5kaXNhYmxlZHx8KHRoaXMudmFsdWUrKyx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSl9ZGVjcmVhc2UoKXshdGhpcy5kaXNhYmxlZCYmdGhpcy52YWx1ZT4wJiYodGhpcy52YWx1ZS0tLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKHUpe3RoaXMudmFsdWU9dX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cykseE9lKHRoaXMsbCl9c3RhdGlje3hPZShyLGEpfX07cmV0dXJuIGg9cn0pKCl9KTt2YXIgRVl0LElZdD1jKCgpPT57cGUoKTtSYSgpO1cxKCk7RVl0PWkoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmlucHV0LWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMDBweCwgMWZyKSk7CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5yZXN1bHQtZGlzcGxheSB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTA1LCAyNDIsIDAuMSk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjEuIEJhc2ljIFJhZGlvIEdyb3VwcyJ9IC5zdWJ0aXRsZT0keyJTaW1wbGUgc3RyaW5nIG9wdGlvbnMgZm9yIGNvbW1vbiB1c2UgY2FzZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWdyaWQiPgogICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAubGFiZWw9JHsiU3Vic2NyaXB0aW9uIFBsYW4ifQogICAgICAgICAgICAub3B0aW9ucz0ke1siQmFzaWMgLSAkOS9tb250aCIsIlBybyAtICQyOS9tb250aCIsIkVudGVycHJpc2UgLSAkOTkvbW9udGgiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IlBybyAtICQyOS9tb250aCJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJDaG9vc2UgeW91ciBzdWJzY3JpcHRpb24gdGllciJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IlByaW9yaXR5IExldmVsIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkhpZ2giLCJNZWRpdW0iLCJMb3ciXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7Ik1lZGl1bSJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMi4gSG9yaXpvbnRhbCBMYXlvdXQifSAuc3VidGl0bGU9JHsiUmFkaW8gZ3JvdXBzIHdpdGggaG9yaXpvbnRhbCBhcnJhbmdlbWVudCJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IkRvIHlvdSBhZ3JlZSB3aXRoIHRoZSB0ZXJtcz8ifQogICAgICAgICAgICAub3B0aW9ucz0ke1siWWVzIiwiTm8iLCJNYXliZSJdfQogICAgICAgICAgICAuZGlyZWN0aW9uPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiWWVzIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgIC5sYWJlbD0keyJFeHBlcmllbmNlIExldmVsIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkJlZ2lubmVyIiwiSW50ZXJtZWRpYXRlIiwiRXhwZXJ0Il19CiAgICAgICAgICAgIC5kaXJlY3Rpb249JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJJbnRlcm1lZGlhdGUifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiU2VsZWN0IHlvdXIgZXhwZXJpZW5jZSBsZXZlbCB3aXRoIHdlYiBkZXZlbG9wbWVudCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIzLiBBZHZhbmNlZCBPcHRpb25zIn0gLnN1YnRpdGxlPSR7IlVzaW5nIG9iamVjdCBmb3JtYXQgd2l0aCBrZXlzIGFuZCBwYXlsb2FkcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgIGlkPSJhZHZhbmNlZC1yYWRpbyIKICAgICAgICAgIC5sYWJlbD0keyJTZWxlY3QgUmVnaW9uIn0KICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IlVuaXRlZCBTdGF0ZXMgKFVTIEVhc3QpIixrZXk6InVzLWVhc3QiLHBheWxvYWQ6e3JlZ2lvbjoidXMtZWFzdC0xIixsYXRlbmN5OjIwfX0se29wdGlvbjoiRXVyb3BlIChGcmFua2Z1cnQpIixrZXk6ImV1LWNlbnRyYWwiLHBheWxvYWQ6e3JlZ2lvbjoiZXUtY2VudHJhbC0xIixsYXRlbmN5OjUwfX0se29wdGlvbjoiQXNpYSBQYWNpZmljIChTaW5nYXBvcmUpIixrZXk6ImFwLXNvdXRoZWFzdCIscGF5bG9hZDp7cmVnaW9uOiJhcC1zb3V0aGVhc3QtMSIsbGF0ZW5jeToxMjB9fV19CiAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiZXUtY2VudHJhbCJ9CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQ2hvb3NlIHRoZSBjbG9zZXN0IHJlZ2lvbiBmb3Igb3B0aW1hbCBwZXJmb3JtYW5jZSJ9CiAgICAgICAgICBAY2hhbmdlPSR7dD0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNyZWdpb24tcmVzdWx0Iik7ZSYmKGUudGV4dENvbnRlbnQ9IlNlbGVjdGVkOiAiK0pTT04uc3RyaW5naWZ5KHQuZGV0YWlsLnZhbHVlLG51bGwsMikpfX0KICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgPGRpdiBpZD0icmVnaW9uLXJlc3VsdCIgY2xhc3M9InJlc3VsdC1kaXNwbGF5Ij5TZWxlY3RlZDogeyAicmVnaW9uIjogImV1LWNlbnRyYWwtMSIsICJsYXRlbmN5IjogNTAgfTwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNC4gU3VydmV5IEV4YW1wbGUifSAuc3VidGl0bGU9JHsiTXVsdGlwbGUgcmFkaW8gZ3JvdXBzIGZvciBzdXJ2ZXlzIGFuZCBmb3JtcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgIC5sYWJlbD0keyJIb3cgc2F0aXNmaWVkIGFyZSB5b3U/In0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIlZlcnkgU2F0aXNmaWVkIiwiU2F0aXNmaWVkIiwiTmV1dHJhbCIsIkRpc3NhdGlzZmllZCIsIlZlcnkgRGlzc2F0aXNmaWVkIl19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJTYXRpc2ZpZWQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgIC5sYWJlbD0keyJXb3VsZCB5b3UgcmVjb21tZW5kIHVzPyJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJEZWZpbml0ZWx5IiwiUHJvYmFibHkiLCJOb3QgU3VyZSIsIlByb2JhYmx5IE5vdCIsIkRlZmluaXRlbHkgTm90Il19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJQcm9iYWJseSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI1LiBTdGF0ZXMgJiBWYWxpZGF0aW9uIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCBzdGF0ZXMgYW5kIHZhbGlkYXRpb24gZXhhbXBsZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWdyaWQiPgogICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAubGFiZWw9JHsiUmVxdWlyZWQgU2VsZWN0aW9uIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIk9wdGlvbiBBIiwiT3B0aW9uIEIiLCJPcHRpb24gQyJdfQogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgIC5sYWJlbD0keyJEaXNhYmxlZCBTdGF0ZSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJEaXNhYmxlZCBPcHRpb24gMSIsIkRpc2FibGVkIE9wdGlvbiAyIiwiRGlzYWJsZWQgT3B0aW9uIDMiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkRpc2FibGVkIE9wdGlvbiAyIn0KICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI2LiBTZXR0aW5ncyBFeGFtcGxlIn0gLnN1YnRpdGxlPSR7IkNvbW1vbiBwYXR0ZXJucyBpbiBhcHBsaWNhdGlvbiBzZXR0aW5ncyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IlRoZW1lIFByZWZlcmVuY2UifQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJMaWdodCBUaGVtZSIsa2V5OiJsaWdodCIscGF5bG9hZDoibGlnaHQifSx7b3B0aW9uOiJEYXJrIFRoZW1lIixrZXk6ImRhcmsiLHBheWxvYWQ6ImRhcmsifSx7b3B0aW9uOiJTeXN0ZW0gRGVmYXVsdCIsa2V5OiJzeXN0ZW0iLHBheWxvYWQ6ImF1dG8ifV19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJkYXJrIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkNob29zZSBob3cgdGhlIGFwcGxpY2F0aW9uIHNob3VsZCBhcHBlYXIifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7Ik5vdGlmaWNhdGlvbiBGcmVxdWVuY3kifQogICAgICAgICAgICAub3B0aW9ucz0ke1siQWxsIE5vdGlmaWNhdGlvbnMiLCJJbXBvcnRhbnQgT25seSIsIk5vbmUiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkltcG9ydGFudCBPbmx5In0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkNvbnRyb2wgaG93IG9mdGVuIHlvdSByZWNlaXZlIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7Ikxhbmd1YWdlIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkVuZ2xpc2giLCJHZXJtYW4iLCJGcmVuY2giLCJTcGFuaXNoIiwiSmFwYW5lc2UiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkVuZ2xpc2gifQogICAgICAgICAgICAuZGlyZWN0aW9uPSR7Imhvcml6b250YWwifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNy4gRm9ybSBJbnRlZ3JhdGlvbiJ9IC5zdWJ0aXRsZT0keyJXb3JrcyBzZWFtbGVzc2x5IHdpdGggZGVlcy1mb3JtIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlByb2R1Y3QgTmFtZSJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAua2V5PSR7InByb2R1Y3ROYW1lIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAubGFiZWw9JHsiUHJvZHVjdCBDYXRlZ29yeSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJFbGVjdHJvbmljcyIsIkNsb3RoaW5nIiwiQm9va3MiLCJIb21lICYgR2FyZGVuIiwiU3BvcnRzIl19CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAua2V5PSR7ImNhdGVnb3J5In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAubGFiZWw9JHsiQ29uZGl0aW9uIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIk5ldyIsIkxpa2UgTmV3IiwiR29vZCIsIkZhaXIiLCJQb29yIl19CiAgICAgICAgICAgIC5kaXJlY3Rpb249JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5rZXk9JHsiY29uZGl0aW9uIn0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7Ik5ldyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IlNoaXBwaW5nIFNwZWVkIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiU3RhbmRhcmQgKDUtNyBkYXlzKSIsa2V5OiJzdGFuZGFyZCIscGF5bG9hZDp7ZGF5czo3LHByaWNlOjB9fSx7b3B0aW9uOiJFeHByZXNzICgyLTMgZGF5cykiLGtleToiZXhwcmVzcyIscGF5bG9hZDp7ZGF5czozLHByaWNlOjEwfX0se29wdGlvbjoiT3Zlcm5pZ2h0IixrZXk6Im92ZXJuaWdodCIscGF5bG9hZDp7ZGF5czoxLHByaWNlOjI1fX1dfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsic3RhbmRhcmQifQogICAgICAgICAgICAua2V5PSR7InNoaXBwaW5nIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgLnRleHQ9JHsiU3VibWl0IFByb2R1Y3QifT48L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBaTyxMbyxNWixrWj1jKCgpPT57cGUoKTtXYSgpO0lZdCgpO1hlKCk7Wk89ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LExvPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxNWj0oKCk9PntsZXQgdD1bYWUoImRlZXMtaW5wdXQtcmFkaW9ncm91cCIpXSxlLGE9W10scixzPW90LG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzSW5wdXRSYWRpb2dyb3VwIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IE09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpBcnJheX0pXSxoPVtMKCldLHA9W0woe3R5cGU6U3RyaW5nfSldLHg9W0woe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sWk8odGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcHRpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGs9PiJvcHRpb25zImluIGssImhhcyIpLGdldDppKGs9Pmsub3B0aW9ucywiZ2V0Iiksc2V0OmkoKGssRSk9PntrLm9wdGlvbnM9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxvLGwpLFpPKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRPcHRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+InNlbGVjdGVkT3B0aW9uImluIGssImhhcyIpLGdldDppKGs9Pmsuc2VsZWN0ZWRPcHRpb24sImdldCIpLHNldDppKChrLEUpPT57ay5zZWxlY3RlZE9wdGlvbj1FfSwic2V0Iil9LG1ldGFkYXRhOk19LHUsZiksWk8odGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXJlY3Rpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+ImRpcmVjdGlvbiJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLmRpcmVjdGlvbiwiZ2V0Iiksc2V0OmkoKGssRSk9PntrLmRpcmVjdGlvbj1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGcsdiksWk8odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZGF0aW9uU3RhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+InZhbGlkYXRpb25TdGF0ZSJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLnZhbGlkYXRpb25TdGF0ZSwiZ2V0Iiksc2V0OmkoKGssRSk9PntrLnZhbGlkYXRpb25TdGF0ZT1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGIsbSksWk8obnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCxhKSx5PXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1FWXQ7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPUxvKHRoaXMsbyxbXSk7Z2V0IG9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgb3B0aW9ucyhNKXt0aGlzLiNlPU19I3Q9KExvKHRoaXMsbCksTG8odGhpcyx1LCIiKSk7Z2V0IHNlbGVjdGVkT3B0aW9uKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkT3B0aW9uKE0pe3RoaXMuI3Q9TX0jYT0oTG8odGhpcyxmKSxMbyh0aGlzLGcsInZlcnRpY2FsIikpO2dldCBkaXJlY3Rpb24oKXtyZXR1cm4gdGhpcy4jYX1zZXQgZGlyZWN0aW9uKE0pe3RoaXMuI2E9TX0jcj0oTG8odGhpcyx2KSxMbyh0aGlzLGIsbnVsbCkpO2dldCB2YWxpZGF0aW9uU3RhdGUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdmFsaWRhdGlvblN0YXRlKE0pe3RoaXMuI3I9TX1nZXQgdmFsdWUoKXtsZXQgTT10aGlzLmdldE9wdGlvbkJ5S2V5KHRoaXMuc2VsZWN0ZWRPcHRpb24pO3JldHVybiB0eXBlb2YgTT09Im9iamVjdCImJk0ucGF5bG9hZCE9PXZvaWQgMD9NLnBheWxvYWQ6dGhpcy5zZWxlY3RlZE9wdGlvbn1zZXQgdmFsdWUoTSl7aWYodHlwZW9mIE09PSJzdHJpbmciKXRoaXMuc2VsZWN0ZWRPcHRpb249TTtlbHNle2xldCBrPXRoaXMub3B0aW9ucy5maW5kKEU9PnR5cGVvZiBFPT0ib2JqZWN0IiYmRS5wYXlsb2FkPT09TSk7ayYmdHlwZW9mIGs9PSJvYmplY3QiJiYodGhpcy5zZWxlY3RlZE9wdGlvbj1rLmtleSl9fXN0YXRpYyBzdHlsZXM9W0RlLC4uLm90LmJhc2VTdHlsZXMsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgICogewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lci5ob3Jpem9udGFsIHsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5yYWRpby1vcHRpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgcGFkZGluZzogNnB4IDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIuaG9yaXpvbnRhbCAucmFkaW8tb3B0aW9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMjBweCA2cHggMDsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbjpob3ZlciAucmFkaW8tY2lyY2xlIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1IDIwLjIlIDY1LjElKSIsImhzbCgyMTUgMjAuMiUgMzUuMSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbjpob3ZlciAucmFkaW8tbGFiZWwgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgIH0KCiAgICAgIC5yYWRpby1jaXJjbGUgewogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgyMTUgMjAuMiUgNjUuMSUpIiwiaHNsKDIxNSAyMC4yJSAzNS4xJSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIxNSAzMCUgNi44JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAucmFkaW8tb3B0aW9uLnNlbGVjdGVkIC5yYWRpby1jaXJjbGUgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbi5zZWxlY3RlZCAucmFkaW8tY2lyY2xlOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMTUgMzAlIDYuOCUpIil9OwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbi5zZWxlY3RlZCAucmFkaW8tY2lyY2xlOjphZnRlciB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgfQoKICAgICAgLnJhZGlvLWNpcmNsZTpmb2N1cy12aXNpYmxlIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDMwJSAzLjklKSIpfSwKICAgICAgICAgICAgICAgICAgICAwIDAgMCA0cHggJHtkLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICB9CgogICAgICAucmFkaW8tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjE3LjkgMTAuNiUgNzQuOSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA2ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5yYWRpby1vcHRpb24uc2VsZWN0ZWQgLnJhZGlvLWxhYmVsIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAucmFkaW8tb3B0aW9uIHsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnJhZGlvLW9wdGlvbjpob3ZlciAucmFkaW8tY2lyY2xlIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1IDIwLjIlIDY1LjElKSIsImhzbCgyMTUgMjAuMiUgMzUuMSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMTUgMzAlIDYuOCUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAucmFkaW8tb3B0aW9uOmhvdmVyIC5yYWRpby1sYWJlbCB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTcuOSAxMC42JSA3NC45JSkiKX07CiAgICAgIH0KCiAgICAgIC5sYWJlbC10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwNmVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICB9CgogICAgICAuZGVzY3JpcHRpb24tdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIG1hcmdpbi10b3A6IDEwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDAzZW07CiAgICAgIH0KCiAgICAgIC8qIFZhbGlkYXRpb24gc3R5bGVzICovCiAgICAgIDpob3N0KFt2YWxpZGF0aW9uU3RhdGU9ImludmFsaWQiXSkgLnJhZGlvLWNpcmNsZSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUpIiwiaHNsKDAgNjIuOCUgMzAuNiUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbdmFsaWRhdGlvblN0YXRlPSJpbnZhbGlkIl0pIC5yYWRpby1vcHRpb24uc2VsZWN0ZWQgLnJhZGlvLWNpcmNsZSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUpIiwiaHNsKDAgNjIuOCUgMzAuNiUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSkiLCJoc2woMCA2Mi44JSAzMC42JSkiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KFt2YWxpZGF0aW9uU3RhdGU9InZhbGlkIl0pIC5yYWRpby1vcHRpb24uc2VsZWN0ZWQgLnJhZGlvLWNpcmNsZSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIsImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiLCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbdmFsaWRhdGlvblN0YXRlPSJ3YXJuIl0pIC5yYWRpby1vcHRpb24uc2VsZWN0ZWQgLnJhZGlvLWNpcmNsZSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDQ1LjQgOTMuNCUgNDcuNSUpIiwiaHNsKDQ1LjQgOTMuNCUgNDcuNSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woNDUuNCA5My40JSA0Ny41JSkiLCJoc2woNDUuNCA5My40JSA0Ny41JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIE92ZXJyaWRlIGJhc2UgZ3JpZCBsYXlvdXQgZm9yIHJhZGlvZ3JvdXAgdG8gcHJldmVudCBsYXJnZSBnYXBzICovCiAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0ibGVmdCJdKSAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87CiAgICAgIH0KCiAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0icmlnaHQiXSkgLmlucHV0LXdyYXBwZXIgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgJHt0aGlzLmxhYmVsP3dgPGRpdiBjbGFzcz0ibGFiZWwtdGV4dCI+JHt0aGlzLmxhYmVsfTwvZGl2PmA6IiJ9CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciAke3RoaXMuZGlyZWN0aW9ufSI+CiAgICAgICAgICAke3RoaXMub3B0aW9ucy5tYXAoTT0+e2xldCBrPXRoaXMuZ2V0T3B0aW9uS2V5KE0pLEU9dGhpcy5nZXRPcHRpb25MYWJlbChNKSxfPXRoaXMuc2VsZWN0ZWRPcHRpb249PT1rO3JldHVybiB3YAogICAgICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgICAgICBjbGFzcz0icmFkaW8tb3B0aW9uICR7Xz8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+dGhpcy5zZWxlY3RPcHRpb24oayl9IgogICAgICAgICAgICAgICAgQGtleWRvd249IiR7Qz0+dGhpcy5oYW5kbGVLZXlkb3duKEMsayl9IgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJyYWRpby1jaXJjbGUiIAogICAgICAgICAgICAgICAgICB0YWJpbmRleD0iJHt0aGlzLmRpc2FibGVkPyItMSI6IjAifSIKICAgICAgICAgICAgICAgICAgcm9sZT0icmFkaW8iCiAgICAgICAgICAgICAgICAgIGFyaWEtY2hlY2tlZD0iJHtffSIKICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD0iJHtFfSIKICAgICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJhZGlvLWxhYmVsIj4ke0V9PC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGB9KX0KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuZGVzY3JpcHRpb24/d2A8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbi10ZXh0Ij4ke3RoaXMuZGVzY3JpcHRpb259PC9kaXY+YDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWdldE9wdGlvbktleShNKXtyZXR1cm4gdHlwZW9mIE09PSJzdHJpbmciP006TS5rZXl9Z2V0T3B0aW9uTGFiZWwoTSl7cmV0dXJuIHR5cGVvZiBNPT0ic3RyaW5nIj9NOk0ub3B0aW9ufWdldE9wdGlvbkJ5S2V5KE0pe3JldHVybiB0aGlzLm9wdGlvbnMuZmluZChrPT50aGlzLmdldE9wdGlvbktleShrKT09PU0pfXNlbGVjdE9wdGlvbihNKXtpZih0aGlzLmRpc2FibGVkKXJldHVybjtsZXQgaz10aGlzLnNlbGVjdGVkT3B0aW9uO3RoaXMuc2VsZWN0ZWRPcHRpb249TSxrIT09TSYmKHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNoYW5nZSIse2RldGFpbDp7dmFsdWU6dGhpcy52YWx1ZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpbnB1dCIse2RldGFpbDp7dmFsdWU6dGhpcy52YWx1ZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZShNKXt0aGlzLnZhbHVlPU19YXN5bmMgdmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5yZXF1aXJlZCYmIXRoaXMuc2VsZWN0ZWRPcHRpb24/KHRoaXMudmFsaWRhdGlvblN0YXRlPSJpbnZhbGlkIiwhMSk6KHRoaXMudmFsaWRhdGlvblN0YXRlPSJ2YWxpZCIsITApfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2lmKCF0aGlzLnNlbGVjdGVkT3B0aW9uJiZ0aGlzLm9wdGlvbnMubGVuZ3RoPjAmJiF0aGlzLnJlcXVpcmVkKXtsZXQgTT10aGlzLm9wdGlvbnNbMF07dGhpcy5zZWxlY3RlZE9wdGlvbj10aGlzLmdldE9wdGlvbktleShNKX19aGFuZGxlS2V5ZG93bihNLGspe3RoaXMuZGlzYWJsZWR8fChNLmtleT09PSIgInx8TS5rZXk9PT0iRW50ZXIiPyhNLnByZXZlbnREZWZhdWx0KCksdGhpcy5zZWxlY3RPcHRpb24oaykpOk0ua2V5PT09IkFycm93RG93biJ8fE0ua2V5PT09IkFycm93UmlnaHQiPyhNLnByZXZlbnREZWZhdWx0KCksdGhpcy5mb2N1c05leHRPcHRpb24oKSk6KE0ua2V5PT09IkFycm93VXAifHxNLmtleT09PSJBcnJvd0xlZnQiKSYmKE0ucHJldmVudERlZmF1bHQoKSx0aGlzLmZvY3VzUHJldmlvdXNPcHRpb24oKSkpfWZvY3VzTmV4dE9wdGlvbigpe2xldCBNPUFycmF5LmZyb20odGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoIi5yYWRpby1jaXJjbGUiKSksRT0oTS5maW5kSW5kZXgoXz0+Xz09PXRoaXMuc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50KSsxKSVNLmxlbmd0aDtNW0VdLmZvY3VzKCl9Zm9jdXNQcmV2aW91c09wdGlvbigpe2xldCBNPUFycmF5LmZyb20odGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoIi5yYWRpby1jaXJjbGUiKSksaz1NLmZpbmRJbmRleChfPT5fPT09dGhpcy5zaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQpLEU9azw9MD9NLmxlbmd0aC0xOmstMTtNW0VdLmZvY3VzKCl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLExvKHRoaXMsbSl9c3RhdGlje0xvKHIsYSl9fTtyZXR1cm4geT1yfSkoKX0pO3ZhciBOWXQsUll0PWMoKCk9PntwZSgpO05ZdD1pKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMjRweDsKICAgICAgcGFkZGluZzogMjRweDsKICAgIH0KICAgIC5kZW1vLXNlY3Rpb24gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDEycHg7CiAgICB9CiAgICAuZGVtby1zZWN0aW9uIGgzIHsKICAgICAgbWFyZ2luOiAwIDAgOHB4IDA7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgY29sb3I6ICM4ODg7CiAgICB9CiAgICAuZGVtby1yb3cgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDEycHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIH0KICA8L3N0eWxlPgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5CYXNpYyBVc2FnZTwvaDM+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdD5TdWJtaXQgRm9ybTwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCB0ZXh0PSJXaXRoIFRleHQgUHJvcGVydHkiPjwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+V2l0aCBJY29ucyAoaW5oZXJpdGVkIGZyb20gRGVlc0J1dHRvbik8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXJvdyI+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgaWNvbj0ibHVjaWRlOnNlbmQiPlN1Ym1pdDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBpY29uPSJsdWNpZGU6c2F2ZSIgaWNvblBvc2l0aW9uPSJsZWZ0Ij5TYXZlIEZvcm08L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgaWNvbj0ibHVjaWRlOmFycm93LXJpZ2h0IiBpY29uUG9zaXRpb249InJpZ2h0Ij5Db250aW51ZTwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+QnV0dG9uIFR5cGVzPC9oMz4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1yb3ciPgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IHR5cGU9ImhpZ2hsaWdodGVkIiBpY29uPSJsdWNpZGU6c2VuZCI+SGlnaGxpZ2h0ZWQ8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgdHlwZT0ibm9ybWFsIiBpY29uPSJsdWNpZGU6c2VuZCI+Tm9ybWFsPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IHR5cGU9ImRpc2NyZWV0IiBpY29uPSJsdWNpZGU6c2VuZCI+RGlzY3JlZXQ8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPlNpemVzPC9oMz4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1yb3ciPgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IHNpemU9InNtYWxsIiBpY29uPSJsdWNpZGU6c2VuZCI+U21hbGw8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgc2l6ZT0ibm9ybWFsIiBpY29uPSJsdWNpZGU6c2VuZCI+Tm9ybWFsPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IHNpemU9ImxhcmdlIiBpY29uPSJsdWNpZGU6c2VuZCI+TGFyZ2U8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPlN0YXRlczwvaDM+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBzdGF0dXM9Im5vcm1hbCIgaWNvbj0ibHVjaWRlOnNlbmQiPk5vcm1hbDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBzdGF0dXM9InBlbmRpbmciIGljb249Imx1Y2lkZTpzZW5kIj5QZW5kaW5nPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IHN0YXR1cz0ic3VjY2VzcyIgaWNvbj0ibHVjaWRlOmNoZWNrIj5TdWNjZXNzPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IHN0YXR1cz0iZXJyb3IiIGljb249Imx1Y2lkZTp4Ij5FcnJvcjwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBkaXNhYmxlZCBpY29uPSJsdWNpZGU6c2VuZCI+RGlzYWJsZWQ8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkluIGEgRm9ybSBDb250ZXh0PC9oMz4KICAgICAgPGRlZXMtZm9ybT4KICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGxhYmVsPSJOYW1lIiBrZXk9Im5hbWUiPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDxkZWVzLWlucHV0LXRleHQgbGFiZWw9IkVtYWlsIiBrZXk9ImVtYWlsIj48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBpY29uPSJsdWNpZGU6c2VuZCIgdHlwZT0iaGlnaGxpZ2h0ZWQiPlN1Ym1pdCBGb3JtPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICA8L2RlZXMtZm9ybT4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIGRsLFJyLHpaLGM2PWMoKCk9PntSWXQoKTtwZSgpO1hlKCk7ZGw9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LFJyPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSx6Wj0oKCk9PntsZXQgdD1bYWUoImRlZXMtZm9ybS1zdWJtaXQiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXSx5LE09W10saz1bXSxFLF89W10sQz1bXSxOLCQ9W10sST1bXTt2YXIgaj1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0Zvcm1TdWJtaXQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgUz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxoPVtMKHt0eXBlOlN0cmluZ30pXSxwPVtMKHt0eXBlOlN0cmluZ30pXSx4PVtMKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLHk9W0woe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sRT1bTCh7dHlwZTpTdHJpbmd9KV0sTj1bTCh7dHlwZTpTdHJpbmd9KV0sZGwodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXNhYmxlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4iZGlzYWJsZWQiaW4geiwiaGFzIiksZ2V0Omkoej0+ei5kaXNhYmxlZCwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LmRpc2FibGVkPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sbyxsKSxkbCh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+InRleHQiaW4geiwiaGFzIiksZ2V0Omkoej0+ei50ZXh0LCJnZXQiKSxzZXQ6aSgoeixEKT0+e3oudGV4dD1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LHUsZiksZGwodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+InN0YXR1cyJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LnN0YXR1cywiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LnN0YXR1cz1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LGcsdiksZGwodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0eXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJ0eXBlImluIHosImhhcyIpLGdldDppKHo9PnoudHlwZSwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LnR5cGU9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxiLG0pLGRsKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4ic2l6ZSJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LnNpemUsImdldCIpLHNldDppKCh6LEQpPT57ei5zaXplPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sTSxrKSxkbCh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imljb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+Imljb24iaW4geiwiaGFzIiksZ2V0Omkoej0+ei5pY29uLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3ouaWNvbj1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LF8sQyksZGwodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpY29uUG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+Imljb25Qb3NpdGlvbiJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56Lmljb25Qb3NpdGlvbiwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6Lmljb25Qb3NpdGlvbj1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LCQsSSksZGwobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6U30sbnVsbCxhKSxqPXI9ZS52YWx1ZSxTJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlN9KX1zdGF0aWMgZGVtbz1OWXQ7c3RhdGljIGRlbW9Hcm91cHM9WyJGb3JtIiwiQnV0dG9uIl07I2U9UnIodGhpcyxvLCExKTtnZXQgZGlzYWJsZWQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZGlzYWJsZWQoUyl7dGhpcy4jZT1TfSN0PShScih0aGlzLGwpLFJyKHRoaXMsdSx2b2lkIDApKTtnZXQgdGV4dCgpe3JldHVybiB0aGlzLiN0fXNldCB0ZXh0KFMpe3RoaXMuI3Q9U30jYT0oUnIodGhpcyxmKSxScih0aGlzLGcsIm5vcm1hbCIpKTtnZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHN0YXR1cyhTKXt0aGlzLiNhPVN9I3I9KFJyKHRoaXMsdiksUnIodGhpcyxiLCJkZWZhdWx0IikpO2dldCB0eXBlKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHR5cGUoUyl7dGhpcy4jcj1TfSNpPShScih0aGlzLG0pLFJyKHRoaXMsTSwiZGVmYXVsdCIpKTtnZXQgc2l6ZSgpe3JldHVybiB0aGlzLiNpfXNldCBzaXplKFMpe3RoaXMuI2k9U30jcz0oUnIodGhpcyxrKSxScih0aGlzLF8sdm9pZCAwKSk7Z2V0IGljb24oKXtyZXR1cm4gdGhpcy4jc31zZXQgaWNvbihTKXt0aGlzLiNzPVN9I289KFJyKHRoaXMsQyksUnIodGhpcywkLCJsZWZ0IikpO2dldCBpY29uUG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jb31zZXQgaWNvblBvc2l0aW9uKFMpe3RoaXMuI289U31jb25zdHJ1Y3Rvcigpe3N1cGVyKCksUnIodGhpcyxJKX1zdGF0aWMgc3R5bGVzPVtEZSxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQogICAgICBkZWVzLWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGVlcy1idXR0b24KICAgICAgICAuc3RhdHVzPSR7dGhpcy5zdGF0dXN9CiAgICAgICAgLnR5cGU9JHt0aGlzLnR5cGV9CiAgICAgICAgLnNpemU9JHt0aGlzLnNpemV9CiAgICAgICAgLmljb249JHt0aGlzLmljb259CiAgICAgICAgLmljb25Qb3NpdGlvbj0ke3RoaXMuaWNvblBvc2l0aW9ufQogICAgICAgIC50ZXh0PSR7dGhpcy50ZXh0fQogICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgQGNsaWNrZWQ9JHt0aGlzLnN1Ym1pdH0KICAgICAgPgogICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgIGB9YXN5bmMgc3VibWl0KCl7aWYodGhpcy5kaXNhYmxlZClyZXR1cm47bGV0IFM9dGhpcy5jbG9zZXN0KCJkZWVzLWZvcm0iKTtTJiZTLmdhdGhlckFuZERpc3BhdGNoJiZTLmdhdGhlckFuZERpc3BhdGNoKCl9YXN5bmMgZm9jdXMoKXtsZXQgUz1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTt0aGlzLmRpc2FibGVkfHwoYXdhaXQgUy5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLHRoaXMuc3VibWl0KCkpfXN0YXRpY3tScihyLGEpfX07cmV0dXJuIGo9cn0pKCl9KTt2YXIgRll0LE9ZdD1jKCgpPT57cGUoKTtSYSgpO1cxKCk7VTgoKTtjNigpO0ZZdD1pKCgpPT53YAogIDxzdHlsZT4KICAgICR7WGAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWwgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQogICAgICAKICAgICAgLmhvcml6b250YWwtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICAgIAogICAgICAuaW5wdXQtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zcGFjZXIgewogICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiAjOTk5OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9PntsZXQgZT10LnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtZHJvcGRvd25bbGFiZWw9IlNlbGVjdCBDb3VudHJ5Il0nKSxhPXQucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC1kcm9wZG93bltsYWJlbD0iU2VsZWN0IFJvbGUiXScpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0ZWRPcHRpb24iLHI9Pntjb25zb2xlLmxvZygiQ291bnRyeSBzZWxlY3RlZDoiLHIuZGV0YWlsKX0pLGEmJmEuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0ZWRPcHRpb24iLHI9Pntjb25zb2xlLmxvZygiUm9sZSBzZWxlY3RlZDoiLHIuZGV0YWlsKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIxLiBCYXNpYyBEcm9wZG93bnMifSAuc3VidGl0bGU9JHsiU3RhbmRhcmQgZHJvcGRvd24gd2l0aCBzZWFyY2ggZnVuY3Rpb25hbGl0eSBhbmQgdmFyaW91cyBvcHRpb25zIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IlNlbGVjdCBDb3VudHJ5In0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiVW5pdGVkIFN0YXRlcyIsa2V5OiJ1cyJ9LHtvcHRpb246IkNhbmFkYSIsa2V5OiJjYSJ9LHtvcHRpb246Ikdlcm1hbnkiLGtleToiZGUifSx7b3B0aW9uOiJGcmFuY2UiLGtleToiZnIifSx7b3B0aW9uOiJVbml0ZWQgS2luZ2RvbSIsa2V5OiJ1ayJ9LHtvcHRpb246IkF1c3RyYWxpYSIsa2V5OiJhdSJ9LHtvcHRpb246IkphcGFuIixrZXk6ImpwIn0se29wdGlvbjoiQnJhemlsIixrZXk6ImJyIn1dfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHt7b3B0aW9uOiJVbml0ZWQgU3RhdGVzIixrZXk6InVzIn19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgoKICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgIC5sYWJlbD0keyJTZWxlY3QgUm9sZSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkFkbWluaXN0cmF0b3IiLGtleToiYWRtaW4ifSx7b3B0aW9uOiJFZGl0b3IiLGtleToiZWRpdG9yIn0se29wdGlvbjoiVmlld2VyIixrZXk6InZpZXdlciJ9LHtvcHRpb246Ikd1ZXN0IixrZXk6Imd1ZXN0In1dfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57bGV0IGU9dC5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWRyb3Bkb3duIik7ZSYmZS5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RlZE9wdGlvbiIsYT0+e2NvbnNvbGUubG9nKGBQcmlvcml0eSBjaGFuZ2VkIHRvOiAke2EuZGV0YWlsLm9wdGlvbn1gKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIyLiBXaXRob3V0IFNlYXJjaCJ9IC5zdWJ0aXRsZT0keyJEcm9wZG93biB3aXRoIHNlYXJjaCBmdW5jdGlvbmFsaXR5IGRpc2FibGVkIGZvciBzaW1wbGVyIHNlbGVjdGlvbiJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAubGFiZWw9JHsiUHJpb3JpdHkgTGV2ZWwifQogICAgICAgICAgLmVuYWJsZVNlYXJjaD0keyExfQogICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiSGlnaCIsa2V5OiJoaWdoIn0se29wdGlvbjoiTWVkaXVtIixrZXk6Im1lZGl1bSJ9LHtvcHRpb246IkxvdyIsa2V5OiJsb3cifV19CiAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHt7b3B0aW9uOiJNZWRpdW0iLGtleToibWVkaXVtIn19CiAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57dC5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWlucHV0LWRyb3Bkb3duIikuZm9yRWFjaChhPT57YS5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RlZE9wdGlvbiIscj0+e2xldCBzPWEuZ2V0QXR0cmlidXRlKCJsYWJlbCIpO2NvbnNvbGUubG9nKGAke3N9OiAke3IuZGV0YWlsLm9wdGlvbn1gKX0pfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjMuIEhvcml6b250YWwgTGF5b3V0In0gLnN1YnRpdGxlPSR7Ik11bHRpcGxlIGRyb3Bkb3ducyBpbiBhIGhvcml6b250YWwgbGF5b3V0IGZvciBjb21wYWN0IGZvcm1zIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAubGFiZWw9JHsiRGVwYXJ0bWVudCJ9CiAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJFbmdpbmVlcmluZyIsa2V5OiJlbmcifSx7b3B0aW9uOiJEZXNpZ24iLGtleToiZGVzaWduIn0se29wdGlvbjoiTWFya2V0aW5nIixrZXk6Im1hcmtldGluZyJ9LHtvcHRpb246IlNhbGVzIixrZXk6InNhbGVzIn1dfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IlRlYW0gU2l6ZSJ9CiAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAuZW5hYmxlU2VhcmNoPSR7ITF9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IjEtNSIsa2V5OiJzbWFsbCJ9LHtvcHRpb246IjYtMjAiLGtleToibWVkaXVtIn0se29wdGlvbjoiMjEtNTAiLGtleToibGFyZ2UifSx7b3B0aW9uOiI1MCsiLGtleToieGxhcmdlIn1dfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IkxvY2F0aW9uIn0KICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IlJlbW90ZSIsa2V5OiJyZW1vdGUifSx7b3B0aW9uOiJPbi1zaXRlIixrZXk6Im9uc2l0ZSJ9LHtvcHRpb246Ikh5YnJpZCIsa2V5OiJoeWJyaWQifV19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9PntsZXQgZT10LnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZHJvcGRvd25bcmVxdWlyZWRdIik7ZSYmZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e2NvbnNvbGUubG9nKCJSZXF1aXJlZCBkcm9wZG93biBsb3N0IGZvY3VzIil9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNC4gU3RhdGVzIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCBzdGF0ZXMgYW5kIGNvbmZpZ3VyYXRpb25zIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IlJlcXVpcmVkIEZpZWxkIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246Ik9wdGlvbiBBIixrZXk6ImEifSx7b3B0aW9uOiJPcHRpb24gQiIsa2V5OiJiIn0se29wdGlvbjoiT3B0aW9uIEMiLGtleToiYyJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CgogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2FibGVkIERyb3Bkb3duIn0KICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkNhbm5vdCBTZWxlY3QiLGtleToiZGlzYWJsZWQifV19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0ke3tvcHRpb246IkNhbm5vdCBTZWxlY3QiLGtleToiZGlzYWJsZWQifX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRpdiBjbGFzcz0ic3BhY2VyIj4KICAgICAgKFNwYWNlciB0byB0ZXN0IGRyb3Bkb3duIHBvc2l0aW9uaW5nKQogICAgPC9kaXY+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9PntsZXQgZT10LnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZHJvcGRvd24iKTtlJiZlLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGVkT3B0aW9uIixhPT57Y29uc29sZS5sb2coIkJvdHRvbSBkcm9wZG93biBzZWxlY3RlZDoiLGEuZGV0YWlsKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI1LiBCb3R0b20gUG9zaXRpb25pbmcifSAuc3VidGl0bGU9JHsiRHJvcGRvd24gdGhhdCBvcGVucyB1cHdhcmQgd2hlbiBuZWFyIGJvdHRvbSBvZiB2aWV3cG9ydCJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAubGFiZWw9JHsiT3BlbnMgVXB3YXJkIn0KICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkZpcnN0IE9wdGlvbiIsa2V5OiJmaXJzdCJ9LHtvcHRpb246IlNlY29uZCBPcHRpb24iLGtleToic2Vjb25kIn0se29wdGlvbjoiVGhpcmQgT3B0aW9uIixrZXk6InRoaXJkIn0se29wdGlvbjoiRm91cnRoIE9wdGlvbiIsa2V5OiJmb3VydGgifSx7b3B0aW9uOiJGaWZ0aCBPcHRpb24iLGtleToiZmlmdGgifV19CiAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9PntsZXQgZT10LnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZHJvcGRvd24iKSxhPXQucXVlcnlTZWxlY3RvcigiI3NlbGVjdGlvbi1vdXRwdXQiKTtlJiZhJiYoYS5pbm5lckhUTUw9IjxlbT5TZWxlY3QgYSBwcm9kdWN0IHRvIHNlZSBkZXRhaWxzLi4uPC9lbT4iLGUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixyPT57ci5kZXRhaWwudmFsdWUmJihhLmlubmVySFRNTD1gCiAgICAgICAgICAgICAgPHN0cm9uZz5TZWxlY3RlZDo8L3N0cm9uZz4gJHtyLmRldGFpbC52YWx1ZS5vcHRpb259PGJyPgogICAgICAgICAgICAgIDxzdHJvbmc+S2V5Ojwvc3Ryb25nPiAke3IuZGV0YWlsLnZhbHVlLmtleX08YnI+CiAgICAgICAgICAgICAgPHN0cm9uZz5QcmljZTo8L3N0cm9uZz4gJCR7ci5kZXRhaWwudmFsdWUucGF5bG9hZD8ucHJpY2V8fCJOL0EifTxicj4KICAgICAgICAgICAgICA8c3Ryb25nPkZlYXR1cmVzOjwvc3Ryb25nPiAke3IuZGV0YWlsLnZhbHVlLnBheWxvYWQ/LmZlYXR1cmVzPy5qb2luKCIsICIpfHwiTi9BIn0KICAgICAgICAgICAgYCl9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjYuIEV2ZW50IEhhbmRsaW5nICYgUGF5bG9hZCJ9IC5zdWJ0aXRsZT0keyJEcm9wZG93biB3aXRoIHBheWxvYWQgZGF0YSBhbmQgY2hhbmdlIGV2ZW50IGhhbmRsaW5nIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgIC5sYWJlbD0keyJTZWxlY3QgUHJvZHVjdCJ9CiAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJCYXNpYyBQbGFuIixrZXk6ImJhc2ljIixwYXlsb2FkOntwcmljZTo5Ljk5LGZlYXR1cmVzOlsiRmVhdHVyZSBBIl19fSx7b3B0aW9uOiJQcm8gUGxhbiIsa2V5OiJwcm8iLHBheWxvYWQ6e3ByaWNlOjE5Ljk5LGZlYXR1cmVzOlsiRmVhdHVyZSBBIiwiRmVhdHVyZSBCIl19fSx7b3B0aW9uOiJFbnRlcnByaXNlIFBsYW4iLGtleToiZW50ZXJwcmlzZSIscGF5bG9hZDp7cHJpY2U6NDkuOTksZmVhdHVyZXM6WyJGZWF0dXJlIEEiLCJGZWF0dXJlIEIiLCJGZWF0dXJlIEMiXX19XX0KICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgIAogICAgICAgIDxkaXYgaWQ9InNlbGVjdGlvbi1vdXRwdXQiIHN0eWxlPSJtYXJnaW4tdG9wOiAxNnB4OyBwYWRkaW5nOiAxMnB4OyBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEwNSwgMjQyLCAwLjEpOyBib3JkZXItcmFkaXVzOiA0cHg7IGZvbnQtc2l6ZTogMTRweDsiPjwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e2xldCBlPXQucXVlcnlTZWxlY3RvcigiZGVlcy1mb3JtIiksYT10LnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtZHJvcGRvd25ba2V5PSJwcm9qZWN0VHlwZSJdJykscj10LnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtZHJvcGRvd25ba2V5PSJmcmFtZXdvcmsiXScpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigiZm9ybURhdGEiLHM9Pntjb25zb2xlLmxvZygiRm9ybSBzdWJtaXR0ZWQgd2l0aCBkYXRhOiIscy5kZXRhaWwuZGF0YSl9KSxhJiZyJiZhLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGVkT3B0aW9uIixzPT57bGV0IG49cy5kZXRhaWwua2V5O2NvbnNvbGUubG9nKGBQcm9qZWN0IHR5cGUgY2hhbmdlZCB0bzogJHtufWApfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjcuIEZvcm0gSW50ZWdyYXRpb24ifSAuc3VidGl0bGU9JHsiRHJvcGRvd24gd29ya2luZyB3aXRoaW4gYSBmb3JtIHdpdGggdmFsaWRhdGlvbiJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAubGFiZWw9JHsiUHJvamVjdCBUeXBlIn0KICAgICAgICAgICAgLmtleT0keyJwcm9qZWN0VHlwZSJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJXZWIgQXBwbGljYXRpb24iLGtleToid2ViIn0se29wdGlvbjoiTW9iaWxlIEFwcGxpY2F0aW9uIixrZXk6Im1vYmlsZSJ9LHtvcHRpb246IkRlc2t0b3AgQXBwbGljYXRpb24iLGtleToiZGVza3RvcCJ9LHtvcHRpb246IkFQSSBTZXJ2aWNlIixrZXk6ImFwaSJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgIC5sYWJlbD0keyJEZXZlbG9wbWVudCBGcmFtZXdvcmsifQogICAgICAgICAgICAua2V5PSR7ImZyYW1ld29yayJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJSZWFjdCIsa2V5OiJyZWFjdCIscGF5bG9hZDp7dHlwZToid2ViIn19LHtvcHRpb246IlZ1ZS5qcyIsa2V5OiJ2dWUiLHBheWxvYWQ6e3R5cGU6IndlYiJ9fSx7b3B0aW9uOiJBbmd1bGFyIixrZXk6ImFuZ3VsYXIiLHBheWxvYWQ6e3R5cGU6IndlYiJ9fSx7b3B0aW9uOiJSZWFjdCBOYXRpdmUiLGtleToicmVhY3QtbmF0aXZlIixwYXlsb2FkOnt0eXBlOiJtb2JpbGUifX0se29wdGlvbjoiRmx1dHRlciIsa2V5OiJmbHV0dGVyIixwYXlsb2FkOnt0eXBlOiJtb2JpbGUifX0se29wdGlvbjoiRWxlY3Ryb24iLGtleToiZWxlY3Ryb24iLHBheWxvYWQ6e3R5cGU6ImRlc2t0b3AifX1dfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgLnRleHQ9JHsiQ3JlYXRlIFByb2plY3QifT48L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciAkbyxlcixTWixDWj1jKCgpPT57cGUoKTtJdCgpO09ZdCgpO1dhKCk7SXIoKTtYZSgpOyRvPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxlcj1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sU1o9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLWlucHV0LWRyb3Bkb3duIildLGUsYT1bXSxyLHM9b3QsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W10sTiwkPVtdLEk9W10saixTPVtdLHo9W107dmFyIEQ9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNJbnB1dERyb3Bkb3duIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCgpXSxoPVtMKCldLHA9W0woe3R5cGU6Qm9vbGVhbn0pXSx4PVtaKCldLHk9W1ooKV0sRT1bWigpXSxOPVtaKCldLGo9W1ooKV0sJG8odGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcHRpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEE9PiJvcHRpb25zImluIEEsImhhcyIpLGdldDppKEE9PkEub3B0aW9ucywiZ2V0Iiksc2V0OmkoKEEsVSk9PntBLm9wdGlvbnM9VX0sInNldCIpfSxtZXRhZGF0YTpUfSxvLGwpLCRvKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRPcHRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQT0+InNlbGVjdGVkT3B0aW9uImluIEEsImhhcyIpLGdldDppKEE9PkEuc2VsZWN0ZWRPcHRpb24sImdldCIpLHNldDppKChBLFUpPT57QS5zZWxlY3RlZE9wdGlvbj1VfSwic2V0Iil9LG1ldGFkYXRhOlR9LHUsZiksJG8odGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVTZWFyY2giLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQT0+ImVuYWJsZVNlYXJjaCJpbiBBLCJoYXMiKSxnZXQ6aShBPT5BLmVuYWJsZVNlYXJjaCwiZ2V0Iiksc2V0OmkoKEEsVSk9PntBLmVuYWJsZVNlYXJjaD1VfSwic2V0Iil9LG1ldGFkYXRhOlR9LGcsdiksJG8odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcGVuc1RvVG9wIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEE9PiJvcGVuc1RvVG9wImluIEEsImhhcyIpLGdldDppKEE9PkEub3BlbnNUb1RvcCwiZ2V0Iiksc2V0OmkoKEEsVSk9PntBLm9wZW5zVG9Ub3A9VX0sInNldCIpfSxtZXRhZGF0YTpUfSxiLG0pLCRvKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsdGVyZWRPcHRpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEE9PiJmaWx0ZXJlZE9wdGlvbnMiaW4gQSwiaGFzIiksZ2V0OmkoQT0+QS5maWx0ZXJlZE9wdGlvbnMsImdldCIpLHNldDppKChBLFUpPT57QS5maWx0ZXJlZE9wdGlvbnM9VX0sInNldCIpfSxtZXRhZGF0YTpUfSxNLGspLCRvKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGlnaGxpZ2h0ZWRJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShBPT4iaGlnaGxpZ2h0ZWRJbmRleCJpbiBBLCJoYXMiKSxnZXQ6aShBPT5BLmhpZ2hsaWdodGVkSW5kZXgsImdldCIpLHNldDppKChBLFUpPT57QS5oaWdobGlnaHRlZEluZGV4PVV9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyxDKSwkbyh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzT3BlbmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEE9PiJpc09wZW5lZCJpbiBBLCJoYXMiKSxnZXQ6aShBPT5BLmlzT3BlbmVkLCJnZXQiKSxzZXQ6aSgoQSxVKT0+e0EuaXNPcGVuZWQ9VX0sInNldCIpfSxtZXRhZGF0YTpUfSwkLEkpLCRvKHRoaXMsbnVsbCxqLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VhcmNoVmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQT0+InNlYXJjaFZhbHVlImluIEEsImhhcyIpLGdldDppKEE9PkEuc2VhcmNoVmFsdWUsImdldCIpLHNldDppKChBLFUpPT57QS5zZWFyY2hWYWx1ZT1VfSwic2V0Iil9LG1ldGFkYXRhOlR9LFMseiksJG8obnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6VH0sbnVsbCxhKSxEPXI9ZS52YWx1ZSxUJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlR9KX1zdGF0aWMgZGVtbz1GWXQ7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPWVyKHRoaXMsbyxbXSk7Z2V0IG9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgb3B0aW9ucyhUKXt0aGlzLiNlPVR9I3Q9KGVyKHRoaXMsbCksZXIodGhpcyx1LG51bGwpKTtnZXQgc2VsZWN0ZWRPcHRpb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VsZWN0ZWRPcHRpb24oVCl7dGhpcy4jdD1UfWdldCB2YWx1ZSgpe3JldHVybiB0aGlzLnNlbGVjdGVkT3B0aW9ufXNldCB2YWx1ZShUKXt0aGlzLnNlbGVjdGVkT3B0aW9uPVR9I2E9KGVyKHRoaXMsZiksZXIodGhpcyxnLCEwKSk7Z2V0IGVuYWJsZVNlYXJjaCgpe3JldHVybiB0aGlzLiNhfXNldCBlbmFibGVTZWFyY2goVCl7dGhpcy4jYT1UfSNyPShlcih0aGlzLHYpLGVyKHRoaXMsYiwhMSkpO2dldCBvcGVuc1RvVG9wKCl7cmV0dXJuIHRoaXMuI3J9c2V0IG9wZW5zVG9Ub3AoVCl7dGhpcy4jcj1UfSNpPShlcih0aGlzLG0pLGVyKHRoaXMsTSxbXSkpO2dldCBmaWx0ZXJlZE9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgZmlsdGVyZWRPcHRpb25zKFQpe3RoaXMuI2k9VH0jcz0oZXIodGhpcyxrKSxlcih0aGlzLF8sMCkpO2dldCBoaWdobGlnaHRlZEluZGV4KCl7cmV0dXJuIHRoaXMuI3N9c2V0IGhpZ2hsaWdodGVkSW5kZXgoVCl7dGhpcy4jcz1UfSNvPShlcih0aGlzLEMpLGVyKHRoaXMsJCwhMSkpO2dldCBpc09wZW5lZCgpe3JldHVybiB0aGlzLiNvfXNldCBpc09wZW5lZChUKXt0aGlzLiNvPVR9I249KGVyKHRoaXMsSSksZXIodGhpcyxTLCIiKSk7Z2V0IHNlYXJjaFZhbHVlKCl7cmV0dXJuIHRoaXMuI259c2V0IHNlYXJjaFZhbHVlKFQpe3RoaXMuI249VH1zdGF0aWMgc3R5bGVzPVtEZSwuLi5vdC5iYXNlU3R5bGVzLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICAqIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7Z2F9OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuc2VsZWN0ZWRCb3ggewogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7CiAgICAgICAgcGFkZGluZzogMCA0MHB4IDAgMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5zZWxlY3RlZEJveDpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMjAuOSUpIil9OwogICAgICB9CgogICAgICAuc2VsZWN0ZWRCb3g6Zm9jdXMtdmlzaWJsZSB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtkLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuMSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAuc2VsZWN0ZWRCb3guZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAvKiBEcm9wZG93biBhcnJvdyAqLwogICAgICAuc2VsZWN0ZWRCb3g6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDEycHg7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIGhlaWdodDogMDsKICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuc2VsZWN0ZWRCb3gub3Blbjo6YWZ0ZXIgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTsKICAgICAgfQoKICAgICAgLnNlbGVjdGlvbkJveCB7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KSBzY2FsZSgwLjk4KTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IGhzbCgwIDAlIDAlIC8gMC4xKSwgMCAycHggNHB4IC0ycHggaHNsKDAgMCUgMCUgLyAwLjEpOwogICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7CiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICB6LWluZGV4OiA1MDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICB9CiAgICAgIAogICAgICAuc2VsZWN0aW9uQm94LnRvcCB7CiAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgKyA0cHgpOwogICAgICAgIHRvcDogYXV0bzsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KSBzY2FsZSgwLjk4KTsKICAgICAgfQogICAgICAKICAgICAgLnNlbGVjdGlvbkJveC5ib3R0b20gewogICAgICAgIHRvcDogMTAwJTsKICAgICAgfQoKICAgICAgLnNlbGVjdGlvbkJveC5zaG93IHsKICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAvKiBPcHRpb25zIGNvbnRhaW5lciAqLwogICAgICAub3B0aW9ucy1jb250YWluZXIgewogICAgICAgIG1heC1oZWlnaHQ6IDI1MHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICB9CgogICAgICAvKiBPcHRpb25zICovCiAgICAgIC5vcHRpb24gewogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBtYXJnaW46IDJweCAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgfQoKICAgICAgLm9wdGlvbi5oaWdobGlnaHRlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQoKICAgICAgLm9wdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIE5vIG9wdGlvbnMgbWVzc2FnZSAqLwogICAgICAubm8tb3B0aW9ucyB7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CgogICAgICAvKiBTZWFyY2ggKi8KICAgICAgLnNlYXJjaCB7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQogICAgICAKICAgICAgLnNlYXJjaC5ib3R0b20gewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5zZWFyY2ggaW5wdXQgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjb2xvcjogaW5oZXJpdDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnNlYXJjaCBpbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICB9CgogICAgICAuc2VhcmNoIGlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgfQoKICAgICAgLyogU2Nyb2xsYmFyIHN0eWxpbmcgKi8KICAgICAgLm9wdGlvbnMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgfQoKICAgICAgLm9wdGlvbnMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5vcHRpb25zLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICB9CgogICAgICAub3B0aW9ucy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMjAuOSUpIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7dGhpcy5sYWJlbH0gLmRlc2NyaXB0aW9uPSR7dGhpcy5kZXNjcmlwdGlvbn0gLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0+PC9kZWVzLWxhYmVsPgogICAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIiPgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0ic2VsZWN0ZWRCb3ggJHt0aGlzLmlzT3BlbmVkPyJvcGVuIjoiIn0gJHt0aGlzLmRpc2FibGVkPyJkaXNhYmxlZCI6IiJ9IgogICAgICAgICAgICBAY2xpY2s9IiR7KCk9PiF0aGlzLmRpc2FibGVkJiZ0aGlzLnRvZ2dsZVNlbGVjdGlvbkJveCgpfSIKICAgICAgICAgICAgdGFiaW5kZXg9IiR7dGhpcy5kaXNhYmxlZD8iLTEiOiIwIn0iCiAgICAgICAgICAgIEBrZXlkb3duPSIke3RoaXMuaGFuZGxlU2VsZWN0ZWRCb3hLZXlkb3dufSIKICAgICAgICAgID4KICAgICAgICAgICAgJHt0aGlzLnNlbGVjdGVkT3B0aW9uPy5vcHRpb258fCJTZWxlY3QgYW4gb3B0aW9uIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VsZWN0aW9uQm94ICR7dGhpcy5pc09wZW5lZD8ic2hvdyI6IiJ9ICR7dGhpcy5vcGVuc1RvVG9wPyJ0b3AiOiJib3R0b20ifSI+CiAgICAgICAgICAgICR7dGhpcy5lbmFibGVTZWFyY2g/d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICA8aW5wdXQgCiAgICAgICAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IiAKICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJTZWFyY2ggb3B0aW9ucy4uLiIgCiAgICAgICAgICAgICAgICAgICAgICAudmFsdWU9IiR7dGhpcy5zZWFyY2hWYWx1ZX0iCiAgICAgICAgICAgICAgICAgICAgICBAaW5wdXQ9IiR7dGhpcy5oYW5kbGVTZWFyY2h9IgogICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSIke1Q9PlQuc3RvcFByb3BhZ2F0aW9uKCl9IgogICAgICAgICAgICAgICAgICAgICAgQGtleWRvd249IiR7dGhpcy5oYW5kbGVTZWFyY2hLZXlkb3dufSIKICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGA6bnVsbH0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3B0aW9ucy1jb250YWluZXIiPgogICAgICAgICAgICAgICR7dGhpcy5maWx0ZXJlZE9wdGlvbnMubGVuZ3RoPT09MD93YDxkaXYgY2xhc3M9Im5vLW9wdGlvbnMiPk5vIG9wdGlvbnMgZm91bmQ8L2Rpdj5gOnRoaXMuZmlsdGVyZWRPcHRpb25zLm1hcCgoVCxBKT0+e2xldCBVPXRoaXMuaGlnaGxpZ2h0ZWRJbmRleD09PUE7cmV0dXJuIHdgCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJvcHRpb24gJHtVPyJoaWdobGlnaHRlZCI6IiJ9IgogICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9IiR7KCk9PnRoaXMudXBkYXRlU2VsZWN0aW9uKFQpfSIKICAgICAgICAgICAgICAgICAgICAgICAgQG1vdXNlZW50ZXI9IiR7KCk9PnRoaXMuaGlnaGxpZ2h0ZWRJbmRleD1BfSIKICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgJHtULm9wdGlvbn0KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIGB9KX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZT10aGlzLmhhbmRsZUNsaWNrT3V0c2lkZS5iaW5kKHRoaXMpfWZpcnN0VXBkYXRlZCgpe3RoaXMuc2VsZWN0ZWRPcHRpb249dGhpcy5zZWxlY3RlZE9wdGlvbnx8bnVsbCx0aGlzLmZpbHRlcmVkT3B0aW9ucz10aGlzLm9wdGlvbnN9dXBkYXRlZChUKXtzdXBlci51cGRhdGVkKFQpLFQuaGFzKCJvcHRpb25zIikmJih0aGlzLmZpbHRlcmVkT3B0aW9ucz10aGlzLm9wdGlvbnMpfWFzeW5jIHVwZGF0ZVNlbGVjdGlvbihUKXt0aGlzLnNlbGVjdGVkT3B0aW9uPVQsdGhpcy5pc09wZW5lZD0hMSx0aGlzLnNlYXJjaFZhbHVlPSIiLHRoaXMuZmlsdGVyZWRPcHRpb25zPXRoaXMub3B0aW9ucyx0aGlzLmhpZ2hsaWdodGVkSW5kZXg9MCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWxlY3RlZE9wdGlvbiIse2RldGFpbDpULGJ1YmJsZXM6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9aGFuZGxlQ2xpY2tPdXRzaWRlPShlcih0aGlzLHopLFQ9PntULmNvbXBvc2VkUGF0aCgpLmluY2x1ZGVzKHRoaXMpfHwodGhpcy5pc09wZW5lZD0hMSx0aGlzLnNlYXJjaFZhbHVlPSIiLHRoaXMuZmlsdGVyZWRPcHRpb25zPXRoaXMub3B0aW9ucyxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5oYW5kbGVDbGlja091dHNpZGUpKX0pO2FzeW5jIHRvZ2dsZVNlbGVjdGlvbkJveCgpe2lmKHRoaXMuaXNPcGVuZWQ9IXRoaXMuaXNPcGVuZWQsdGhpcy5pc09wZW5lZCl7bGV0IEE9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zZWxlY3RlZEJveCIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFU9d2luZG93LmlubmVySGVpZ2h0LUEuYm90dG9tLFI9QS50b3A7dGhpcy5vcGVuc1RvVG9wPVU8MzAwJiZSPlUsYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtsZXQgcT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnNlYXJjaCBpbnB1dCIpO3EmJnEuZm9jdXMoKSxzZXRUaW1lb3V0KCgpPT57ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuaGFuZGxlQ2xpY2tPdXRzaWRlKX0sMCl9ZWxzZSB0aGlzLnNlYXJjaFZhbHVlPSIiLHRoaXMuZmlsdGVyZWRPcHRpb25zPXRoaXMub3B0aW9ucyxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5oYW5kbGVDbGlja091dHNpZGUpfWhhbmRsZVNlYXJjaChUKXtsZXQgQT1ULnRhcmdldC52YWx1ZTt0aGlzLnNlYXJjaFZhbHVlPUE7bGV0IFU9QS50b0xvd2VyQ2FzZSgpO3RoaXMuZmlsdGVyZWRPcHRpb25zPXRoaXMub3B0aW9ucy5maWx0ZXIoUj0+Ui5vcHRpb24udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhVKSksdGhpcy5oaWdobGlnaHRlZEluZGV4PTB9aGFuZGxlS2V5RG93bihUKXtsZXQgQT1ULmtleSxVPXRoaXMuZmlsdGVyZWRPcHRpb25zLmxlbmd0aC0xO0E9PT0iQXJyb3dEb3duIj8oVC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGlnaGxpZ2h0ZWRJbmRleD10aGlzLmhpZ2hsaWdodGVkSW5kZXgrMT5VPzA6dGhpcy5oaWdobGlnaHRlZEluZGV4KzEpOkE9PT0iQXJyb3dVcCI/KFQucHJldmVudERlZmF1bHQoKSx0aGlzLmhpZ2hsaWdodGVkSW5kZXg9dGhpcy5oaWdobGlnaHRlZEluZGV4LTE8MD9VOnRoaXMuaGlnaGxpZ2h0ZWRJbmRleC0xKTpBPT09IkVudGVyIj8oVC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZmlsdGVyZWRPcHRpb25zW3RoaXMuaGlnaGxpZ2h0ZWRJbmRleF0mJnRoaXMudXBkYXRlU2VsZWN0aW9uKHRoaXMuZmlsdGVyZWRPcHRpb25zW3RoaXMuaGlnaGxpZ2h0ZWRJbmRleF0pKTpBPT09IkVzY2FwZSImJihULnByZXZlbnREZWZhdWx0KCksdGhpcy5pc09wZW5lZD0hMSl9aGFuZGxlU2VhcmNoS2V5ZG93bihUKXsoVC5rZXk9PT0iQXJyb3dEb3duInx8VC5rZXk9PT0iQXJyb3dVcCJ8fFQua2V5PT09IkVudGVyIikmJnRoaXMuaGFuZGxlS2V5RG93bihUKX1oYW5kbGVTZWxlY3RlZEJveEtleWRvd24oVCl7dGhpcy5kaXNhYmxlZHx8KFQua2V5PT09IkVudGVyInx8VC5rZXk9PT0iICI/KFQucHJldmVudERlZmF1bHQoKSx0aGlzLnRvZ2dsZVNlbGVjdGlvbkJveCgpKTpULmtleT09PSJBcnJvd0Rvd24ifHxULmtleT09PSJBcnJvd1VwIj8oVC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaXNPcGVuZWR8fHRoaXMudG9nZ2xlU2VsZWN0aW9uQm94KCkpOlQua2V5PT09IkVzY2FwZSImJihULnByZXZlbnREZWZhdWx0KCksdGhpcy5pc09wZW5lZCYmKHRoaXMuaXNPcGVuZWQ9ITEpKSl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy5zZWxlY3RlZE9wdGlvbn1zZXRWYWx1ZShUKXt0aGlzLnNlbGVjdGVkT3B0aW9uPVR9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSl9c3RhdGlje2VyKHIsYSl9fTtyZXR1cm4gRD1yfSkoKX0pO3ZhciBCWXQsSFl0PWMoKCk9PntwZSgpO3dPZSgpO1cxKCk7Qll0PWkoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1zaGVsbCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMzJweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDExNjBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIH0KCiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7CiAgICAgICAgICAuZGVtby1ncmlkLS10d28gewogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCBtaW5tYXgoMCwgMWZyKSk7CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAuZGVtby1zdGFjayB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMThweDsKICAgICAgICB9CgogICAgICAgIC5kZW1vLW5vdGUgewogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgyMTcgOTElIDkwJSkiLCJoc2woMjE1IDIwJSAyNiUpIil9OwogICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTMgMTAwJSA5NyUpIiwiaHNsKDIxNSAyMCUgMTIlKSIpfTsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNSAyNSUgMzIlKSIsImhzbCgyMTUgMjAlIDgyJSkiKX07CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBsaW5lLWhlaWdodDogMS41NTsKICAgICAgICB9CgogICAgICAgIC5kZW1vLW5vdGUgc3Ryb25nIHsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNyA5MSUgNDUlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zaGVsbCI+CiAgICAgIDxkZWVzLXBhbmVsCiAgICAgICAgLnRpdGxlPSR7Ik1vZGVybiBmaWxlIHVwbG9hZGVyIn0KICAgICAgICAuc3VidGl0bGU9JHsiU2hhZGNuLWluc3BpcmVkIGxheW91dCB3aXRoIGRyYWcgJiBkcm9wLCBwcmV2aWV3cyBhbmQgdmFsaWRhdGlvbiJ9CiAgICAgID4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWdyaWQgZGVtby1ncmlkLS10d28iPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1zdGFjayI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWZpbGV1cGxvYWQKICAgICAgICAgICAgICAubGFiZWw9JHsiQXR0YWNobWVudHMifQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJVcGxvYWQgc3VwcG9ydGluZyBkb2N1bWVudHMgZm9yIHlvdXIgcmVxdWVzdCJ9CiAgICAgICAgICAgICAgLmFjY2VwdD0keyJpbWFnZS8qLC5wZGYsLnppcCJ9CiAgICAgICAgICAgICAgLm1heFNpemU9JHsxMCoxMDI0KjEwMjR9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZmlsZXVwbG9hZD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWZpbGV1cGxvYWQKICAgICAgICAgICAgICAubGFiZWw9JHsiQnJhbmQgYXNzZXRzIn0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiVXBsb2FkIGhpZ2gtcmVzb2x1dGlvbiBpbWFnZXJ5IChKUEcvUE5HKSJ9CiAgICAgICAgICAgICAgLmFjY2VwdD0keyJpbWFnZS9qcGVnLGltYWdlL3BuZyJ9CiAgICAgICAgICAgICAgLm11bHRpcGxlPSR7ITF9CiAgICAgICAgICAgICAgLm1heFNpemU9JHs1KjEwMjQqMTAyNH0KICAgICAgICAgICAgICAuYnV0dG9uVGV4dD0keyJTZWxlY3QgY292ZXIgaW1hZ2UifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWZpbGV1cGxvYWQ+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXN0YWNrIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtZmlsZXVwbG9hZAogICAgICAgICAgICAgIC5sYWJlbD0keyJBdWRpbyB1cGxvYWRzIn0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiU2hhcmUgcG9kY2FzdCBkcmFmdHMgKE1QMy9XQVYsIG1heCAyNU1CIGVhY2gpIn0KICAgICAgICAgICAgICAuYWNjZXB0PSR7ImF1ZGlvLyoifQogICAgICAgICAgICAgIC5tYXhTaXplPSR7MjUqMTAyNCoxMDI0fQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWZpbGV1cGxvYWQ+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1maWxldXBsb2FkCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2FibGVkIGV4YW1wbGUifQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJVcGxvYWRlciBpcyBkaXNhYmxlZCB3aGlsZSBtb2RlcmF0aW9uIGlzIHBlbmRpbmcifQogICAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWZpbGV1cGxvYWQ+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiRm9ybSBpbnRlZ3JhdGlvbiJ9CiAgICAgICAgLnN1YnRpdGxlPSR7IkNvbWJpbmUgZmlsZSB1cGxvYWRzIHdpdGggdGhlIHJlc3Qgb2YgdGhlIERFRVMgZm9ybSBlY29zeXN0ZW0ifQogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1ncmlkIj4KICAgICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc3RhY2siPgogICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgICAgIC5sYWJlbD0keyJQcm9qZWN0IG5hbWUifQogICAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkhvdyBzaG91bGQgd2UgcmVmZXIgdG8gdGhpcyBwcm9qZWN0IGludGVybmFsbHk/In0KICAgICAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAgICAgLmtleT0keyJwcm9qZWN0TmFtZSJ9CiAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgICAgICAubGFiZWw9JHsiQ29udGFjdCBlbWFpbCJ9CiAgICAgICAgICAgICAgICAuaW5wdXRUeXBlPSR7ImVtYWlsIn0KICAgICAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAgICAgLmtleT0keyJjb250YWN0RW1haWwifQogICAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtZmlsZXVwbG9hZAogICAgICAgICAgICAgICAgLmxhYmVsPSR7IlN0YXRlbWVudCBvZiB3b3JrIn0KICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJVcGxvYWQgYSBzaWduZWQgc3RhdGVtZW50IG9mIHdvcmsgKFBERiwgbWF4IDE1TUIpIn0KICAgICAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAgICAgLmFjY2VwdD0keyJhcHBsaWNhdGlvbi9wZGYifQogICAgICAgICAgICAgICAgLm1heFNpemU9JHsxNSoxMDI0KjEwMjR9CiAgICAgICAgICAgICAgICAubXVsdGlwbGU9JHshMX0KICAgICAgICAgICAgICAgIC5rZXk9JHsic293In0KICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWZpbGV1cGxvYWQ+CgogICAgICAgICAgICAgIDxkZWVzLWlucHV0LWZpbGV1cGxvYWQKICAgICAgICAgICAgICAgIC5sYWJlbD0keyJDcmVhdGl2ZSByZWZlcmVuY2VzIn0KICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJPcHRpb25hbC4gVXBsb2FkIHVwIHRvIGZpdmUgdmlzdWFsIHJlZmVyZW5jZXMifQogICAgICAgICAgICAgICAgLmFjY2VwdD0keyJpbWFnZS8qIn0KICAgICAgICAgICAgICAgIC5tYXhGaWxlcz0kezV9CiAgICAgICAgICAgICAgICAubWF4U2l6ZT0kezgqMTAyNCoxMDI0fQogICAgICAgICAgICAgICAgLmtleT0keyJyZWZlcmVuY2VzIn0KICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWZpbGV1cGxvYWQ+CgogICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgICAgIC5sYWJlbD0keyJOb3RlcyJ9CiAgICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWRkIG9wdGlvbmFsIGNvbnRleHQgZm9yIHJldmlld2VycyJ9CiAgICAgICAgICAgICAgICAuaW5wdXRUeXBlPSR7InRleHRhcmVhIn0KICAgICAgICAgICAgICAgIC5rZXk9JHsibm90ZXMifQogICAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgLnRleHQ9JHsiU3VibWl0IGJyaWVmaW5nIn0+PC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGVlcy1mb3JtPgoKICAgICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tbm90ZSI+CiAgICAgICAgICAgIDxzdHJvbmc+R29vZCB0byBrbm93Ojwvc3Ryb25nPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPkRyYWcgJiBkcm9wIGhpZ2hsaWdodHMgdGhlIGRyb3B6b25lIGFuZCBzdXBwb3J0cyBrZXlib2FyZCBhY3RpdmF0aW9uLjwvbGk+CiAgICAgICAgICAgICAgPGxpPkFjY2VwdGVkIGZpbGUgdHlwZXMgYXJlIHN1bW1hcmlzZWQgYXV0b21hdGljYWxseSBmcm9tIHRoZSA8Y29kZT5hY2NlcHQ8L2NvZGU+IGF0dHJpYnV0ZS48L2xpPgogICAgICAgICAgICAgIDxsaT5JbWFnZSB1cGxvYWRzIHNob3cgbGl2ZSBwcmV2aWV3cyBnZW5lcmF0ZWQgdmlhIDxjb2RlPlVSTC5jcmVhdGVPYmplY3RVUkw8L2NvZGU+LjwvbGk+CiAgICAgICAgICAgICAgPGxpPkZpbGUgc2l6ZSBhbmQgZmlsZS1jb3VudCBsaW1pdHMgc3VyZmFjZSBpbmxpbmUgdmFsaWRhdGlvbiBtZXNzYWdlcy48L2xpPgogICAgICAgICAgICAgIDxsaT5UaGUgY29tcG9uZW50IHN0YXlzIGNvbXBhdGlibGUgd2l0aCA8Y29kZT5kZWVzLWZvcm08L2NvZGU+IHZhbHVlIGFjY2Vzc29ycy48L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBxWXQsVll0PWMoKCk9PntwZSgpO1dhKCk7cVl0PVtkLmRlZmF1bHRTdHlsZXMsLi4ub3QuYmFzZVN0eWxlcyxYYAogICAgOmhvc3QgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgfQoKCiAgICAuaW5wdXQtd3JhcHBlciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMTJweDsKICAgIH0KCiAgICAuZHJvcHpvbmUgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgIGJvcmRlcjogMS41cHggZGFzaGVkICR7ZC5iZFRoZW1lKCJoc2woMjE1IDE2JSA4MCUpIiwiaHNsKDIxNyAyMCUgMjUlKSIpfTsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIxNSAyMCUgMTIlKSIpfTsKICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2UsIGJhY2tncm91bmQgMC4ycyBlYXNlOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIG91dGxpbmU6IG5vbmU7CiAgICB9CgogICAgLmRyb3B6b25lOmZvY3VzLXZpc2libGUgewogICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIxNSAyMCUgMTIlKSIpfSwKICAgICAgICAwIDAgMCA0cHggJHtkLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSAvIDAuNSkiLCJoc2woMjEzIDkzJSA2OCUgLyAwLjQpIil9OwogICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgIH0KCiAgICAuZHJvcHpvbmUtLWFjdGl2ZSB7CiAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgICBib3gtc2hhZG93OiAwIDEycHggMzJweCAke2QuYmRUaGVtZSgicmdiYSgxNSwgMjMsIDQyLCAwLjEyKSIsInJnYmEoMCwgMCwgMCwgMC4zNSkiKX07CiAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUgLyAwLjA2KSIsImhzbCgyMTMgOTMlIDY4JSAvIDAuMTIpIil9OwogICAgfQoKICAgIC5kcm9wem9uZS0taGFzLWZpbGVzIHsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk5JSkiLCJoc2woMjE1IDIwJSAxMSUpIil9OwogICAgfQoKICAgIC5kcm9wem9uZS0tZGlzYWJsZWQgewogICAgICBvcGFjaXR5OiAwLjY7CiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgfQoKICAgIC5kcm9wem9uZV9fYm9keSB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogMTZweDsKICAgIH0KCiAgICAuZHJvcHpvbmVfX2ljb24gewogICAgICB3aWR0aDogNDhweDsKICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICBib3JkZXItcmFkaXVzOiAxNnB4OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSAvIDAuMTIpIiwiaHNsKDIxMyA5MyUgNjglIC8gMC4xMikiKX07CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgZmxleC1zaHJpbms6IDA7CiAgICB9CgogICAgLmRyb3B6b25lX19pY29uIGRlZXMtaWNvbiB7CiAgICAgIGZvbnQtc2l6ZTogMjJweDsKICAgIH0KCiAgICAuZHJvcHpvbmVfX2xvYWRlciB7CiAgICAgIHdpZHRoOiAyMHB4OwogICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgICBib3JkZXI6IDJweCBzb2xpZCAke2QuYmRUaGVtZSgicmdiYSgxNSwgMjMsIDQyLCAwLjE1KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkiKX07CiAgICAgIGJvcmRlci10b3AtY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgYW5pbWF0aW9uOiBsb2FkZXItc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTsKICAgIH0KCiAgICAuZHJvcHpvbmVfX2NvbnRlbnQgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDRweDsKICAgICAgbWluLXdpZHRoOiAwOwogICAgfQoKICAgIC5kcm9wem9uZV9faGVhZGxpbmUgewogICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIyMiA0NyUgMTElKSIsImhzbCgyMTAgMjAlIDk2JSkiKX07CiAgICB9CgogICAgLmRyb3B6b25lX19zdWJsaW5lIHsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ2JSkiLCJoc2woMjE1IDE2JSA3MCUpIil9OwogICAgfQoKICAgIC5kcm9wem9uZV9fYnJvd3NlIHsKICAgICAgYXBwZWFyYW5jZTogbm9uZTsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICBwYWRkaW5nOiAwOwogICAgICBtYXJnaW4tbGVmdDogNHB4OwogICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIH0KCiAgICAuZHJvcHpvbmVfX2Jyb3dzZTpob3ZlciB7CiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgfQoKICAgIC5kcm9wem9uZV9fYnJvd3NlOmRpc2FibGVkIHsKICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgb3BhY2l0eTogMC42OwogICAgfQoKICAgIC5kcm9wem9uZV9fbWV0YSB7CiAgICAgIG1hcmdpbi10b3A6IDE0cHg7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgZ2FwOiA4cHg7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1IDE2JSA1MCUpIiwiaHNsKDIxNSAxNiUgNzIlKSIpfTsKICAgIH0KCiAgICAuZHJvcHpvbmVfX21ldGEgc3BhbiB7CiAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTcgOTElIDk1JSkiLCJoc2woMjEzIDkzJSAxOCUpIil9OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDIxNyA5MSUgOTAlKSIsImhzbCgyMTMgOTMlIDI0JSkiKX07CiAgICB9CgogICAgLmZpbGUtbGlzdCB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMTJweDsKICAgICAgbWFyZ2luLXRvcDogMjBweDsKICAgICAgcGFkZGluZy10b3A6IDIwcHg7CiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDIxNyA5MSUgOTAlKSIsImhzbCgyMTMgOTMlIDI0JSkiKX07CiAgICB9CgogICAgLmZpbGUtbGlzdF9faGVhZGVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDY4JSkiKX07CiAgICB9CgogICAgLmZpbGUtbGlzdF9fY2xlYXIgewogICAgICBhcHBlYXJhbmNlOiBub25lOwogICAgICBib3JkZXI6IG5vbmU7CiAgICAgIGJhY2tncm91bmQ6IG5vbmU7CiAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBwYWRkaW5nOiAwOwogICAgfQoKICAgIC5maWxlLWxpc3RfX2NsZWFyOmhvdmVyIHsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICB9CgogICAgLmZpbGUtbGlzdF9faXRlbXMgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDEycHg7CiAgICB9CgogICAgLmZpbGUtcm93IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiAxMnB4OwogICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlIC8gMC41KSIsImhzbCgyMTUgMjAlIDE2JSAvIDAuNSkiKX07CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMjEzIDI3JSA5MiUpIiwiaHNsKDIxNyAyNSUgMjYlKSIpfTsKICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICB9CgogICAgLmZpbGUtcm93OmhvdmVyIHsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUgLyAwLjgpIiwiaHNsKDIxNSAyMCUgMTYlIC8gMC44KSIpfTsKICAgIH0KCiAgICAuZmlsZS10aHVtYiB7CiAgICAgIHdpZHRoOiAzNnB4OwogICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTQgMzElIDkyJSkiLCJoc2woMjE3IDMyJSAxOCUpIil9OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgZmxleC1zaHJpbms6IDA7CiAgICB9CgogICAgLmZpbGUtdGh1bWIgZGVlcy1pY29uIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3MCUpIil9OwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDE4cHg7CiAgICAgIGhlaWdodDogMThweDsKICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgfQoKCiAgICAudGh1bWItaW1hZ2UgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIH0KCiAgICAuZmlsZS1tZXRhIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiA0cHg7CiAgICAgIG1pbi13aWR0aDogMDsKICAgIH0KCiAgICAuZmlsZS1uYW1lIHsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjIgNDclIDExJSkiLCJoc2woMjEwIDIwJSA5NiUpIil9OwogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIH0KCiAgICAuZmlsZS1kZXRhaWxzIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiA4cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ2JSkiLCJoc2woMjE1IDE2JSA3MCUpIil9OwogICAgfQoKICAgIC5maWxlLXNpemUgewogICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOwogICAgfQoKICAgIC5maWxlLXR5cGUgewogICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICBib3JkZXItcmFkaXVzOiA5OTlweDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgyMTQgMzElIDg2JSkiLCJoc2woMjE3IDMyJSAyOCUpIil9OwogICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ2JSkiLCJoc2woMjE1IDE2JSA3MCUpIil9OwogICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtOwogICAgICBsaW5lLWhlaWdodDogMTsKICAgIH0KCiAgICAuZmlsZS1hY3Rpb25zIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiA4cHg7CiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgfQoKICAgIC5yZW1vdmUtYnV0dG9uIHsKICAgICAgd2lkdGg6IDI4cHg7CiAgICAgIGhlaWdodDogMjhweDsKICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIHRyYW5zZm9ybSAwLjE1cyBlYXNlLCBjb2xvciAwLjE1cyBlYXNlOwogICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUgMTYlIDUyJSkiLCJoc2woMjE1IDE2JSA2OCUpIil9OwogICAgfQoKICAgIC5yZW1vdmUtYnV0dG9uOmhvdmVyIHsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDcyJSA1MCUgLyAwLjA4KSIsImhzbCgwIDYyJSAzMiUgLyAwLjE1KSIpfTsKICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCA3MiUgNDYlKSIsImhzbCgwIDcwJSA3MCUpIil9OwogICAgfQoKICAgIC5yZW1vdmUtYnV0dG9uOmFjdGl2ZSB7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Nik7CiAgICB9CgogICAgLnJlbW92ZS1idXR0b24gZGVlcy1pY29uIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHdpZHRoOiAxNHB4OwogICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgfQoKICAgIC52YWxpZGF0aW9uLW1lc3NhZ2UgewogICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgNzIlIDQwJSkiLCJoc2woMCA3MCUgNjglKSIpfTsKICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIH0KCiAgICBAa2V5ZnJhbWVzIGxvYWRlci1zcGluIHsKICAgICAgdG8gewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgIH0KICAgIH0KICBgXX0pO3ZhciBfMixFMSxfWix3T2U9YygoKT0+e1dhKCk7SFl0KCk7Vll0KCk7S3QoKTtxOCgpO3BlKCk7XzI9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LEUxPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxfWj0oKCk9PntsZXQgdD1bYWUoImRlZXMtaW5wdXQtZmlsZXVwbG9hZCIpXSxlLGE9W10scixzPW90LG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdLEUsXz1bXSxDPVtdLE4sJD1bXSxJPVtdLGosUz1bXSx6PVtdLEQsVD1bXSxBPVtdO3ZhciBVPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzSW5wdXRGaWxldXBsb2FkIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7YXR0cmlidXRlOiExfSldLGg9W1ooKV0scD1bWigpXSx4PVtMKHt0eXBlOlN0cmluZ30pXSx5PVtMKHt0eXBlOlN0cmluZ30pXSxFPVtMKHt0eXBlOkJvb2xlYW59KV0sTj1bTCh7dHlwZTpOdW1iZXJ9KV0saj1bTCh7dHlwZTpOdW1iZXJ9KV0sRD1bTCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxfMih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHE9PiJ2YWx1ZSJpbiBxLCJoYXMiKSxnZXQ6aShxPT5xLnZhbHVlLCJnZXQiKSxzZXQ6aSgocSxvZSk9PntxLnZhbHVlPW9lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LG8sbCksXzIodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShxPT4ic3RhdGUiaW4gcSwiaGFzIiksZ2V0OmkocT0+cS5zdGF0ZSwiZ2V0Iiksc2V0OmkoKHEsb2UpPT57cS5zdGF0ZT1vZX0sInNldCIpfSxtZXRhZGF0YTpSfSx1LGYpLF8yKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNMb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHE9PiJpc0xvYWRpbmciaW4gcSwiaGFzIiksZ2V0OmkocT0+cS5pc0xvYWRpbmcsImdldCIpLHNldDppKChxLG9lKT0+e3EuaXNMb2FkaW5nPW9lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGcsdiksXzIodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJidXR0b25UZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHE9PiJidXR0b25UZXh0ImluIHEsImhhcyIpLGdldDppKHE9PnEuYnV0dG9uVGV4dCwiZ2V0Iiksc2V0OmkoKHEsb2UpPT57cS5idXR0b25UZXh0PW9lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGIsbSksXzIodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY2NlcHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkocT0+ImFjY2VwdCJpbiBxLCJoYXMiKSxnZXQ6aShxPT5xLmFjY2VwdCwiZ2V0Iiksc2V0OmkoKHEsb2UpPT57cS5hY2NlcHQ9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Un0sTSxrKSxfMih0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im11bHRpcGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHE9PiJtdWx0aXBsZSJpbiBxLCJoYXMiKSxnZXQ6aShxPT5xLm11bHRpcGxlLCJnZXQiKSxzZXQ6aSgocSxvZSk9PntxLm11bHRpcGxlPW9lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LF8sQyksXzIodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXhTaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHE9PiJtYXhTaXplImluIHEsImhhcyIpLGdldDppKHE9PnEubWF4U2l6ZSwiZ2V0Iiksc2V0OmkoKHEsb2UpPT57cS5tYXhTaXplPW9lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LCQsSSksXzIodGhpcyxudWxsLGose2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXhGaWxlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShxPT4ibWF4RmlsZXMiaW4gcSwiaGFzIiksZ2V0OmkocT0+cS5tYXhGaWxlcywiZ2V0Iiksc2V0OmkoKHEsb2UpPT57cS5tYXhGaWxlcz1vZX0sInNldCIpfSxtZXRhZGF0YTpSfSxTLHopLF8yKHRoaXMsbnVsbCxELHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsaWRhdGlvblN0YXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHE9PiJ2YWxpZGF0aW9uU3RhdGUiaW4gcSwiaGFzIiksZ2V0OmkocT0+cS52YWxpZGF0aW9uU3RhdGUsImdldCIpLHNldDppKChxLG9lKT0+e3EudmFsaWRhdGlvblN0YXRlPW9lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LFQsQSksXzIobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Un0sbnVsbCxhKSxVPXI9ZS52YWx1ZSxSJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlJ9KX1zdGF0aWMgZGVtbz1CWXQ7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPUUxKHRoaXMsbyxbXSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKFIpe3RoaXMuI2U9Un0jdD0oRTEodGhpcyxsKSxFMSh0aGlzLHUsImlkbGUiKSk7Z2V0IHN0YXRlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHN0YXRlKFIpe3RoaXMuI3Q9Un0jYT0oRTEodGhpcyxmKSxFMSh0aGlzLGcsITEpKTtnZXQgaXNMb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGlzTG9hZGluZyhSKXt0aGlzLiNhPVJ9I3I9KEUxKHRoaXMsdiksRTEodGhpcyxiLCJTZWxlY3QgZmlsZXMiKSk7Z2V0IGJ1dHRvblRleHQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgYnV0dG9uVGV4dChSKXt0aGlzLiNyPVJ9I2k9KEUxKHRoaXMsbSksRTEodGhpcyxNLCIiKSk7Z2V0IGFjY2VwdCgpe3JldHVybiB0aGlzLiNpfXNldCBhY2NlcHQoUil7dGhpcy4jaT1SfSNzPShFMSh0aGlzLGspLEUxKHRoaXMsXywhMCkpO2dldCBtdWx0aXBsZSgpe3JldHVybiB0aGlzLiNzfXNldCBtdWx0aXBsZShSKXt0aGlzLiNzPVJ9I289KEUxKHRoaXMsQyksRTEodGhpcywkLDApKTtnZXQgbWF4U2l6ZSgpe3JldHVybiB0aGlzLiNvfXNldCBtYXhTaXplKFIpe3RoaXMuI289Un0jbj0oRTEodGhpcyxJKSxFMSh0aGlzLFMsMCkpO2dldCBtYXhGaWxlcygpe3JldHVybiB0aGlzLiNufXNldCBtYXhGaWxlcyhSKXt0aGlzLiNuPVJ9I2w9KEUxKHRoaXMseiksRTEodGhpcyxULG51bGwpKTtnZXQgdmFsaWRhdGlvblN0YXRlKCl7cmV0dXJuIHRoaXMuI2x9c2V0IHZhbGlkYXRpb25TdGF0ZShSKXt0aGlzLiNsPVJ9I2M9KEUxKHRoaXMsQSksIiIpO2dldCB2YWxpZGF0aW9uTWVzc2FnZSgpe3JldHVybiB0aGlzLiNjfXNldCB2YWxpZGF0aW9uTWVzc2FnZShSKXt0aGlzLiNjPVJ9cHJldmlld1VybE1hcD1uZXcgV2Vha01hcDtkcm9wQXJlYT1udWxsO3N0YXRpYyBzdHlsZXM9cVl0O3JlbmRlcigpe2xldCBSPXRoaXMuZ2V0QWNjZXB0ZWRTdW1tYXJ5KCkscT1bdGhpcy5tdWx0aXBsZT8iTXVsdGlwbGUgZmlsZXMgc3VwcG9ydGVkIjoiU2luZ2xlIGZpbGUgb25seSIsdGhpcy5tYXhTaXplPjA/YE1heCAke3RoaXMuZm9ybWF0RmlsZVNpemUodGhpcy5tYXhTaXplKX1gOiJObyBzaXplIGxpbWl0Il07cmV0dXJuIFImJnEucHVzaChgQWNjZXB0cyAke1J9YCksd2AKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRlZXMtbGFiZWwKICAgICAgICAgIC5sYWJlbD0ke3RoaXMubGFiZWx9CiAgICAgICAgICAuZGVzY3JpcHRpb249JHt0aGlzLmRlc2NyaXB0aW9ufQogICAgICAgICAgLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0KICAgICAgICA+PC9kZWVzLWxhYmVsPgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJkcm9wem9uZSAke3RoaXMuc3RhdGU9PT0iZHJhZ092ZXIiPyJkcm9wem9uZS0tYWN0aXZlIjoiIn0gJHt0aGlzLmRpc2FibGVkPyJkcm9wem9uZS0tZGlzYWJsZWQiOiIifSAke3RoaXMudmFsdWUubGVuZ3RoPjA/ImRyb3B6b25lLS1oYXMtZmlsZXMiOiIifSIKICAgICAgICAgIHJvbGU9ImJ1dHRvbiIKICAgICAgICAgIHRhYmluZGV4PSR7dGhpcy5kaXNhYmxlZD8tMTowfQogICAgICAgICAgYXJpYS1kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgICBhcmlhLWxhYmVsPSR7YFNlbGVjdCBmaWxlcyR7Uj9gICgke1J9KWA6IiJ9YH0KICAgICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlRHJvcHpvbmVDbGlja30KICAgICAgICAgIEBrZXlkb3duPSR7dGhpcy5oYW5kbGVEcm9wem9uZUtleWRvd259CiAgICAgICAgPgogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIGNsYXNzPSJmaWxlLWlucHV0IgogICAgICAgICAgICBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBvcGFjaXR5OiAwOyBwb2ludGVyLWV2ZW50czogbm9uZTsgd2lkdGg6IDFweDsgaGVpZ2h0OiAxcHg7IHRvcDogMDsgbGVmdDogMDsgb3ZlcmZsb3c6IGhpZGRlbjsiCiAgICAgICAgICAgIHR5cGU9ImZpbGUiCiAgICAgICAgICAgID9tdWx0aXBsZT0ke3RoaXMubXVsdGlwbGV9CiAgICAgICAgICAgIGFjY2VwdD0ke3RoaXMuYWNjZXB0fHwiIn0KICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgICAgQGNoYW5nZT0ke3RoaXMuaGFuZGxlRmlsZUlucHV0Q2hhbmdlfQogICAgICAgICAgICB0YWJpbmRleD0iLTEiCiAgICAgICAgICAvPgogICAgICAgICAgPGRpdiBjbGFzcz0iZHJvcHpvbmVfX2JvZHkiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wem9uZV9faWNvbiI+CiAgICAgICAgICAgICAgJHt0aGlzLmlzTG9hZGluZz93YDxzcGFuIGNsYXNzPSJkcm9wem9uZV9fbG9hZGVyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPmA6d2A8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpGb2xkZXJPcGVuIj48L2RlZXMtaWNvbj5gfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHJvcHpvbmVfX2NvbnRlbnQiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wem9uZV9faGVhZGxpbmUiPiR7dGhpcy5idXR0b25UZXh0fHwiU2VsZWN0IGZpbGVzIn08L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRyb3B6b25lX19zdWJsaW5lIj4KICAgICAgICAgICAgICAgIERyYWcgYW5kIGRyb3AgZmlsZXMgaGVyZSBvcgogICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICB0eXBlPSJidXR0b24iCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJkcm9wem9uZV9fYnJvd3NlIgogICAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZUJyb3dzZUNsaWNrfQogICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICBicm93c2UKICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRyb3B6b25lX19tZXRhIj4KICAgICAgICAgICAgJHtxLm1hcChvZT0+d2A8c3Bhbj4ke29lfTwvc3Bhbj5gKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHt0aGlzLnJlbmRlckZpbGVMaXN0KCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnZhbGlkYXRpb25NZXNzYWdlP3dgPGRpdiBjbGFzcz0idmFsaWRhdGlvbi1tZXNzYWdlIiBhcmlhLWxpdmU9InBvbGl0ZSI+JHt0aGlzLnZhbGlkYXRpb25NZXNzYWdlfTwvZGl2PmA6d2BgfQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRmlsZUxpc3QoKXtyZXR1cm4gdGhpcy52YWx1ZS5sZW5ndGg9PT0wP3dgYDp3YAogICAgICA8ZGl2IGNsYXNzPSJmaWxlLWxpc3QiPgogICAgICAgIDxkaXYgY2xhc3M9ImZpbGUtbGlzdF9faGVhZGVyIj4KICAgICAgICAgIDxzcGFuPiR7dGhpcy52YWx1ZS5sZW5ndGh9IGZpbGUke3RoaXMudmFsdWUubGVuZ3RoPT09MT8iIjoicyJ9IHNlbGVjdGVkPC9zcGFuPgogICAgICAgICAgJHt0aGlzLnZhbHVlLmxlbmd0aD4wP3dgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJmaWxlLWxpc3RfX2NsZWFyIiBAY2xpY2s9JHt0aGlzLmhhbmRsZUNsZWFyQWxsfT5DbGVhciAke3RoaXMudmFsdWUubGVuZ3RoPjE/ImFsbCI6IiJ9PC9idXR0b24+YDp3YGB9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1saXN0X19pdGVtcyI+CiAgICAgICAgICAke3RoaXMudmFsdWUubWFwKFI9PnRoaXMucmVuZGVyRmlsZVJvdyhSKSl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJGaWxlUm93KFIpe2xldCBxPXRoaXMuZ2V0RmlsZVR5cGUoUiksb2U9dGhpcy5jYW5TaG93UHJldmlldyhSKT90aGlzLmdldFByZXZpZXdVcmwoUik6bnVsbDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZmlsZS1yb3cgJHtxfS1maWxlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLXRodW1iIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAke29lP3dgPGltZyBjbGFzcz0idGh1bWItaW1hZ2UiIHNyYz0ke29lfSBhbHQ9JHtgUHJldmlldyBvZiAke1IubmFtZX1gfT5gOndgPGRlZXMtaWNvbiBpY29uPSR7dGhpcy5nZXRGaWxlSWNvbihSKX0+PC9kZWVzLWljb24+YH0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLW1ldGEiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1uYW1lIiB0aXRsZT0ke1IubmFtZX0+JHtSLm5hbWV9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWRldGFpbHMiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmlsZS1zaXplIj4ke3RoaXMuZm9ybWF0RmlsZVNpemUoUi5zaXplKX08L3NwYW4+CiAgICAgICAgICAgICR7cSE9PSJmaWxlIj93YDxzcGFuIGNsYXNzPSJmaWxlLXR5cGUiPiR7cX08L3NwYW4+YDp3YGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWFjdGlvbnMiPgogICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICB0eXBlPSJidXR0b24iCiAgICAgICAgICAgIGNsYXNzPSJyZW1vdmUtYnV0dG9uIgogICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5yZW1vdmVGaWxlKFIpfQogICAgICAgICAgICBhcmlhLWxhYmVsPSR7YFJlbW92ZSAke1IubmFtZX1gfQogICAgICAgICAgPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpYIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlRmlsZUlucHV0Q2hhbmdlPWkoYXN5bmMgUj0+e3RoaXMuaXNMb2FkaW5nPSExO2xldCBxPVIudGFyZ2V0LG9lPUFycmF5LmZyb20ocS5maWxlcz8/W10pO29lLmxlbmd0aD4wJiZhd2FpdCB0aGlzLmFkZEZpbGVzKG9lKSxxLnZhbHVlPSIifSwiaGFuZGxlRmlsZUlucHV0Q2hhbmdlIik7aGFuZGxlRHJvcHpvbmVDbGljaz1pKFI9Pnt0aGlzLmRpc2FibGVkfHxSLnRhcmdldC5jbG9zZXN0KCIuZHJvcHpvbmVfX2Jyb3dzZSwgLmZpbGUtbGlzdCIpfHx0aGlzLm9wZW5GaWxlU2VsZWN0b3IoKX0sImhhbmRsZURyb3B6b25lQ2xpY2siKTtoYW5kbGVCcm93c2VDbGljaz1pKFI9Pnt0aGlzLmRpc2FibGVkfHwoUi5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLm9wZW5GaWxlU2VsZWN0b3IoKSl9LCJoYW5kbGVCcm93c2VDbGljayIpO2hhbmRsZURyb3B6b25lS2V5ZG93bj1pKFI9Pnt0aGlzLmRpc2FibGVkfHwoUi5rZXk9PT0iRW50ZXIifHxSLmtleT09PSIgIikmJihSLnByZXZlbnREZWZhdWx0KCksdGhpcy5vcGVuRmlsZVNlbGVjdG9yKCkpfSwiaGFuZGxlRHJvcHpvbmVLZXlkb3duIik7aGFuZGxlQ2xlYXJBbGw9aShSPT57Ui5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY2xlYXJBbGwoKX0sImhhbmRsZUNsZWFyQWxsIik7aGFuZGxlRHJhZ0V2ZW50PWkoYXN5bmMgUj0+e2lmKFIucHJldmVudERlZmF1bHQoKSxSLnN0b3BQcm9wYWdhdGlvbigpLCF0aGlzLmRpc2FibGVkKXtpZihSLnR5cGU9PT0iZHJhZ2VudGVyInx8Ui50eXBlPT09ImRyYWdvdmVyIil7Ui5kYXRhVHJhbnNmZXImJihSLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PSJjb3B5IiksdGhpcy5zdGF0ZT0iZHJhZ092ZXIiO3JldHVybn1pZihSLnR5cGU9PT0iZHJhZ2xlYXZlIil7aWYoIXRoaXMuZHJvcEFyZWEpe3RoaXMuc3RhdGU9ImlkbGUiO3JldHVybn1sZXQgcT10aGlzLmRyb3BBcmVhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHtjbGllbnRYOm9lPTAsY2xpZW50WTpPPTB9PVI7KG9lPD1xLmxlZnR8fG9lPj1xLnJpZ2h0fHxPPD1xLnRvcHx8Tz49cS5ib3R0b20pJiYodGhpcy5zdGF0ZT0iaWRsZSIpO3JldHVybn1pZihSLnR5cGU9PT0iZHJvcCIpe3RoaXMuc3RhdGU9ImlkbGUiO2xldCBxPUFycmF5LmZyb20oUi5kYXRhVHJhbnNmZXI/LmZpbGVzPz9bXSk7cS5sZW5ndGg+MCYmYXdhaXQgdGhpcy5hZGRGaWxlcyhxKX19fSwiaGFuZGxlRHJhZ0V2ZW50Iik7YXR0YWNoRHJvcExpc3RlbmVycygpe3RoaXMuZHJvcEFyZWEmJlsiZHJhZ2VudGVyIiwiZHJhZ292ZXIiLCJkcmFnbGVhdmUiLCJkcm9wIl0uZm9yRWFjaChSPT57dGhpcy5kcm9wQXJlYS5hZGRFdmVudExpc3RlbmVyKFIsdGhpcy5oYW5kbGVEcmFnRXZlbnQpfSl9ZGV0YWNoRHJvcExpc3RlbmVycygpe3RoaXMuZHJvcEFyZWEmJlsiZHJhZ2VudGVyIiwiZHJhZ292ZXIiLCJkcmFnbGVhdmUiLCJkcm9wIl0uZm9yRWFjaChSPT57dGhpcy5kcm9wQXJlYS5yZW1vdmVFdmVudExpc3RlbmVyKFIsdGhpcy5oYW5kbGVEcmFnRXZlbnQpfSl9cmViaW5kSW50ZXJhY3RpdmVFbGVtZW50cygpe2xldCBSPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmRyb3B6b25lIik7UiE9PXRoaXMuZHJvcEFyZWEmJih0aGlzLmRldGFjaERyb3BMaXN0ZW5lcnMoKSx0aGlzLmRyb3BBcmVhPVIsdGhpcy5hdHRhY2hEcm9wTGlzdGVuZXJzKCkpfWZvcm1hdEZpbGVTaXplKFIpe2xldCBxPVsiQnl0ZXMiLCJLQiIsIk1CIiwiR0IiXTtpZihSPT09MClyZXR1cm4iMCBCeXRlcyI7bGV0IG9lPU1hdGgubWluKE1hdGguZmxvb3IoTWF0aC5sb2coUikvTWF0aC5sb2coMTAyNCkpLHEubGVuZ3RoLTEpLE89Ui9NYXRoLnBvdygxMDI0LG9lKTtyZXR1cm5gJHtNYXRoLnJvdW5kKE8qMTAwKS8xMDB9ICR7cVtvZV19YH1nZXRGaWxlVHlwZShSKXtsZXQgcT1SLnR5cGUudG9Mb3dlckNhc2UoKTtyZXR1cm4gcS5zdGFydHNXaXRoKCJpbWFnZS8iKT8iaW1hZ2UiOnE9PT0iYXBwbGljYXRpb24vcGRmIj8icGRmIjpxLmluY2x1ZGVzKCJ3b3JkIil8fHEuaW5jbHVkZXMoImRvY3VtZW50Iik/ImRvYyI6cS5pbmNsdWRlcygic2hlZXQiKXx8cS5pbmNsdWRlcygiZXhjZWwiKT8ic3ByZWFkc2hlZXQiOnEuaW5jbHVkZXMoInByZXNlbnRhdGlvbiIpfHxxLmluY2x1ZGVzKCJwb3dlcnBvaW50Iik/InByZXNlbnRhdGlvbiI6cS5zdGFydHNXaXRoKCJ2aWRlby8iKT8idmlkZW8iOnEuc3RhcnRzV2l0aCgiYXVkaW8vIik/ImF1ZGlvIjpxLmluY2x1ZGVzKCJ6aXAiKXx8cS5pbmNsdWRlcygiY29tcHJlc3NlZCIpPyJhcmNoaXZlIjoiZmlsZSJ9Z2V0RmlsZUljb24oUil7bGV0IHE9dGhpcy5nZXRGaWxlVHlwZShSKTtyZXR1cm57aW1hZ2U6Imx1Y2lkZTpGaWxlSW1hZ2UiLHBkZjoibHVjaWRlOkZpbGVUZXh0Iixkb2M6Imx1Y2lkZTpGaWxlVGV4dCIsc3ByZWFkc2hlZXQ6Imx1Y2lkZTpGaWxlU3ByZWFkc2hlZXQiLHByZXNlbnRhdGlvbjoibHVjaWRlOkZpbGVCYXJDaGFydCIsdmlkZW86Imx1Y2lkZTpGaWxlVmlkZW8iLGF1ZGlvOiJsdWNpZGU6RmlsZUF1ZGlvIixhcmNoaXZlOiJsdWNpZGU6RmlsZUFyY2hpdmUiLGZpbGU6Imx1Y2lkZTpGaWxlIn1bcV0/PyJsdWNpZGU6RmlsZSJ9Y2FuU2hvd1ByZXZpZXcoUil7cmV0dXJuIFIudHlwZS5zdGFydHNXaXRoKCJpbWFnZS8iKSYmUi5zaXplPDUqMTAyNCoxMDI0fXZhbGlkYXRlRmlsZShSKXtpZih0aGlzLm1heFNpemU+MCYmUi5zaXplPnRoaXMubWF4U2l6ZSlyZXR1cm4gdGhpcy52YWxpZGF0aW9uTWVzc2FnZT1gRmlsZSAiJHtSLm5hbWV9IiBleGNlZWRzIHRoZSBtYXhpbXVtIHNpemUgb2YgJHt0aGlzLmZvcm1hdEZpbGVTaXplKHRoaXMubWF4U2l6ZSl9YCx0aGlzLnZhbGlkYXRpb25TdGF0ZT0iaW52YWxpZCIsITE7aWYodGhpcy5hY2NlcHQpe2xldCBxPXRoaXMuYWNjZXB0LnNwbGl0KCIsIikubWFwKG9lPT5vZS50cmltKCkpLmZpbHRlcihvZT0+b2UubGVuZ3RoPjApO2lmKHEubGVuZ3RoPjApe2xldCBvZT0hMTtmb3IobGV0IE8gb2YgcSlpZihPLnN0YXJ0c1dpdGgoIi4iKSl7aWYoUi5uYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoTy50b0xvd2VyQ2FzZSgpKSl7b2U9ITA7YnJlYWt9fWVsc2UgaWYoTy5lbmRzV2l0aCgiLyoiKSl7bGV0IHJlPU8uc2xpY2UoMCwtMik7aWYoUi50eXBlLnN0YXJ0c1dpdGgocmUpKXtvZT0hMDticmVha319ZWxzZSBpZihSLnR5cGU9PT1PKXtvZT0hMDticmVha31pZighb2UpcmV0dXJuIHRoaXMudmFsaWRhdGlvbk1lc3NhZ2U9YEZpbGUgdHlwZSBub3QgYWNjZXB0ZWQuIEFsbG93ZWQ6ICR7cS5qb2luKCIsICIpfWAsdGhpcy52YWxpZGF0aW9uU3RhdGU9ImludmFsaWQiLCExfX1yZXR1cm4hMH1nZXRQcmV2aWV3VXJsKFIpe2xldCBxPXRoaXMucHJldmlld1VybE1hcC5nZXQoUik7cmV0dXJuIHF8fChxPVVSTC5jcmVhdGVPYmplY3RVUkwoUiksdGhpcy5wcmV2aWV3VXJsTWFwLnNldChSLHEpKSxxfXJlbGVhc2VQcmV2aWV3KFIpe2xldCBxPXRoaXMucHJldmlld1VybE1hcC5nZXQoUik7cSYmKFVSTC5yZXZva2VPYmplY3RVUkwocSksdGhpcy5wcmV2aWV3VXJsTWFwLmRlbGV0ZShSKSl9Z2V0QWNjZXB0ZWRTdW1tYXJ5KCl7aWYoIXRoaXMuYWNjZXB0KXJldHVybiBudWxsO2xldCBSPUFycmF5LmZyb20obmV3IFNldCh0aGlzLmFjY2VwdC5zcGxpdCgiLCIpLm1hcChxPT5xLnRyaW0oKSkuZmlsdGVyKHE9PnEubGVuZ3RoPjApLm1hcChxPT50aGlzLmZvcm1hdEFjY2VwdFRva2VuKHEpKSkpLmZpbHRlcihCb29sZWFuKTtyZXR1cm4gUi5sZW5ndGg9PT0wP251bGw6Ui5sZW5ndGg9PT0xP1JbMF06Ui5sZW5ndGg9PT0yP2Ake1JbMF19LCAke1JbMV19YDpgJHtSLnNsaWNlKDAsMikuam9pbigiLCAiKX1cdTIwMjZgfWZvcm1hdEFjY2VwdFRva2VuKFIpe2lmKFI9PT0iKi8qIilyZXR1cm4iQWxsIGZpbGVzIjtpZihSLmVuZHNXaXRoKCIvKiIpKXtsZXQgTz1SLnNwbGl0KCIvIilbMF07cmV0dXJuIE8/YCR7Ty5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke08uc2xpY2UoMSl9IGZpbGVzYDoiQWxsIGZpbGVzIn1yZXR1cm4gUi5zdGFydHNXaXRoKCIuIik/Ui5zbGljZSgxKS50b1VwcGVyQ2FzZSgpOlIuaW5jbHVkZXMoInBkZiIpPyJQREYiOlIuaW5jbHVkZXMoInppcCIpPyJaSVAiOlIuaW5jbHVkZXMoImpzb24iKT8iSlNPTiI6Ui5pbmNsdWRlcygibXN3b3JkIik/IkRPQyI6Ui5pbmNsdWRlcygid29yZHByb2Nlc3NpbmdtbCIpPyJET0NYIjpSLmluY2x1ZGVzKCJleGNlbCIpPyJYTFMiOlIuaW5jbHVkZXMoInByZXNlbnRhdGlvbiIpPyJQUFQiOihSLnNwbGl0KCIvIikucG9wKCk/P1IpLnRvVXBwZXJDYXNlKCl9YXR0YWNoTGlmZWN5Y2xlTGlzdGVuZXJzKCl7dGhpcy5yZWJpbmRJbnRlcmFjdGl2ZUVsZW1lbnRzKCl9Zmlyc3RVcGRhdGVkKFIpe3N1cGVyLmZpcnN0VXBkYXRlZChSKSx0aGlzLmF0dGFjaExpZmVjeWNsZUxpc3RlbmVycygpfXVwZGF0ZWQoUil7c3VwZXIudXBkYXRlZChSKSxSLmhhcygidmFsdWUiKSYmdGhpcy52YWxpZGF0ZSgpLHRoaXMucmViaW5kSW50ZXJhY3RpdmVFbGVtZW50cygpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dGhpcy5kZXRhY2hEcm9wTGlzdGVuZXJzKCksdGhpcy52YWx1ZS5mb3JFYWNoKFI9PnRoaXMucmVsZWFzZVByZXZpZXcoUikpLHRoaXMucHJldmlld1VybE1hcD1uZXcgV2Vha01hcCxhd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpfWFzeW5jIG9wZW5GaWxlU2VsZWN0b3IoKXtpZih0aGlzLmRpc2FibGVkfHx0aGlzLmlzTG9hZGluZylyZXR1cm47dGhpcy5pc0xvYWRpbmc9ITA7bGV0IFI9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZmlsZS1pbnB1dCIpO2lmKCFSKXt0aGlzLmlzTG9hZGluZz0hMTtyZXR1cm59bGV0IHE9aSgoKT0+e3NldFRpbWVvdXQoKCk9PnsoIVIuZmlsZXN8fFIuZmlsZXMubGVuZ3RoPT09MCkmJih0aGlzLmlzTG9hZGluZz0hMSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZvY3VzIixxKX0sMzAwKX0sImhhbmRsZUZvY3VzIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixxKSxSLmNsaWNrKCl9cmVtb3ZlRmlsZShSKXtsZXQgcT10aGlzLnZhbHVlLmluZGV4T2YoUik7cT4tMSYmKHRoaXMucmVsZWFzZVByZXZpZXcoUiksdGhpcy52YWx1ZS5zcGxpY2UocSwxKSx0aGlzLnJlcXVlc3RVcGRhdGUoInZhbHVlIiksdGhpcy52YWxpZGF0ZSgpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX1jbGVhckFsbCgpe2xldCBSPVsuLi50aGlzLnZhbHVlXTt0aGlzLnZhbHVlPVtdLFIuZm9yRWFjaChxPT50aGlzLnJlbGVhc2VQcmV2aWV3KHEpKSx0aGlzLnJlcXVlc3RVcGRhdGUoInZhbHVlIiksdGhpcy52YWxpZGF0ZSgpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpLHRoaXMuYnV0dG9uVGV4dD0iU2VsZWN0IGZpbGVzIn1hc3luYyB1cGRhdGVWYWx1ZShSKXtsZXQgcT1SLnRhcmdldDt0aGlzLnZhbHVlPUFycmF5LmZyb20ocS5maWxlcz8/W10pLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfXNldFZhbHVlKFIpe3RoaXMudmFsdWUuZm9yRWFjaChxPT50aGlzLnJlbGVhc2VQcmV2aWV3KHEpKSx0aGlzLnZhbHVlPVIsUi5sZW5ndGg+MD90aGlzLmJ1dHRvblRleHQ9dGhpcy5tdWx0aXBsZT8iQWRkIG1vcmUgZmlsZXMiOiJSZXBsYWNlIGZpbGUiOnRoaXMuYnV0dG9uVGV4dD0iU2VsZWN0IGZpbGVzIix0aGlzLnJlcXVlc3RVcGRhdGUoInZhbHVlIiksdGhpcy52YWxpZGF0ZSgpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9YXN5bmMgYWRkRmlsZXMoUil7bGV0IHE9W107Zm9yKGxldCBvZSBvZiBSKXRoaXMudmFsaWRhdGVGaWxlKG9lKSYmcS5wdXNoKG9lKTtpZihxLmxlbmd0aD09PTApe3RoaXMuaXNMb2FkaW5nPSExO3JldHVybn1pZih0aGlzLm1heEZpbGVzPjAmJnRoaXMudmFsdWUubGVuZ3RoK3EubGVuZ3RoPnRoaXMubWF4RmlsZXMpe2xldCBPPXRoaXMubWF4RmlsZXMtdGhpcy52YWx1ZS5sZW5ndGg7aWYoTzw9MCl7dGhpcy52YWxpZGF0aW9uTWVzc2FnZT1gTWF4aW11bSAke3RoaXMubWF4RmlsZXN9IGZpbGVzIGFsbG93ZWRgLHRoaXMudmFsaWRhdGlvblN0YXRlPSJpbnZhbGlkIix0aGlzLmlzTG9hZGluZz0hMTtyZXR1cm59cS5zcGxpY2UoTyksdGhpcy52YWxpZGF0aW9uTWVzc2FnZT1gT25seSAke099IG1vcmUgZmlsZShzKSBjYW4gYmUgYWRkZWRgLHRoaXMudmFsaWRhdGlvblN0YXRlPSJ3YXJuIn0hdGhpcy5tdWx0aXBsZSYmcS5sZW5ndGg+MD8odGhpcy52YWx1ZS5mb3JFYWNoKG9lPT50aGlzLnJlbGVhc2VQcmV2aWV3KG9lKSksdGhpcy52YWx1ZT1bcVswXV0pOnRoaXMudmFsdWUucHVzaCguLi5xKSx0aGlzLnZhbGlkYXRpb25NZXNzYWdlPSIiLHRoaXMudmFsaWRhdGlvblN0YXRlPW51bGwsdGhpcy5yZXF1ZXN0VXBkYXRlKCJ2YWx1ZSIpLGF3YWl0IHRoaXMudmFsaWRhdGUoKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSx0aGlzLmlzTG9hZGluZz0hMSx0aGlzLnZhbHVlLmxlbmd0aD4wP3RoaXMuYnV0dG9uVGV4dD10aGlzLm11bHRpcGxlPyJBZGQgbW9yZSBmaWxlcyI6IlJlcGxhY2UgZmlsZSI6dGhpcy5idXR0b25UZXh0PSJTZWxlY3QgZmlsZXMifWFzeW5jIHZhbGlkYXRlKCl7aWYodGhpcy52YWxpZGF0aW9uTWVzc2FnZT0iIix0aGlzLnJlcXVpcmVkJiZ0aGlzLnZhbHVlLmxlbmd0aD09PTApcmV0dXJuIHRoaXMudmFsaWRhdGlvblN0YXRlPSJpbnZhbGlkIix0aGlzLnZhbGlkYXRpb25NZXNzYWdlPSJQbGVhc2Ugc2VsZWN0IGF0IGxlYXN0IG9uZSBmaWxlIiwhMTtmb3IobGV0IFIgb2YgdGhpcy52YWx1ZSlpZighdGhpcy52YWxpZGF0ZUZpbGUoUikpcmV0dXJuITE7cmV0dXJuIHRoaXMudmFsaWRhdGlvblN0YXRlPXRoaXMudmFsdWUubGVuZ3RoPjA/InZhbGlkIjpudWxsLCEwfXN0YXRpY3tFMShyLGEpfX07cmV0dXJuIFU9cn0pKCl9KTt2YXIgTU9lPWMoKCk9Pnt3T2UoKX0pO2Z1bmN0aW9uIFNPZSh0LGUpe2lmKGU9PT12b2lkIDAmJihlPXthbGxvd1FSSUJBTjohMH0pLHQ9PW51bGwpcmV0dXJuITE7dmFyIGE9bmV3IFJlZ0V4cCgiXlswLTldezJ9JCIsIiIpLHI9dC5zbGljZSgwLDIpLHM9WWlbcl07cmV0dXJuIHM9PT12b2lkIDB8fHMuYmJhbl9yZWdleHA9PT12b2lkIDB8fHMuYmJhbl9yZWdleHA9PT1udWxsfHxzLmNoYXJzPT09dm9pZCAwPyExOnMuY2hhcnM9PT10Lmxlbmd0aCYmYS50ZXN0KHQuc2xpY2UoMiw0KSkmJmV2YSh0LnNsaWNlKDQpLHIpJiZVWXQodCkmJihlLmFsbG93UVJJQkFOfHwhall0KHQpKX1mdW5jdGlvbiBWaGkodCxlKXtlPT09dm9pZCAwJiYoZT17YWxsb3dRUklCQU46ITB9KTt2YXIgYT17ZXJyb3JDb2RlczpbXSx2YWxpZDohMH07aWYodCE9bnVsbCYmdCE9PSIiKXt2YXIgcj1ZaVt0LnNsaWNlKDAsMildO2lmKCFyfHwhKHIuYmJhbl9yZWdleHB8fHIuY2hhcnMpKXJldHVybiBhLnZhbGlkPSExLGEuZXJyb3JDb2Rlcy5wdXNoKCRzLk5vSUJBTkNvdW50cnkpLGE7ciYmci5jaGFycyYmci5jaGFycyE9PXQubGVuZ3RoJiYoYS52YWxpZD0hMSxhLmVycm9yQ29kZXMucHVzaCgkcy5Xcm9uZ0JCQU5MZW5ndGgpKSxyJiZyLmJiYW5fcmVnZXhwJiYha09lKHQuc2xpY2UoNCksci5iYmFuX3JlZ2V4cCkmJihhLnZhbGlkPSExLGEuZXJyb3JDb2Rlcy5wdXNoKCRzLldyb25nQkJBTkZvcm1hdCkpLHImJnIuYmJhbl92YWxpZGF0aW9uX2Z1bmMmJiFyLmJiYW5fdmFsaWRhdGlvbl9mdW5jKHQuc2xpY2UoNCkpJiYoYS52YWxpZD0hMSxhLmVycm9yQ29kZXMucHVzaCgkcy5Xcm9uZ0FjY291bnRCYW5rQnJhbmNoQ2hlY2tzdW0pKTt2YXIgcz1uZXcgUmVnRXhwKCJeWzAtOV17Mn0kIiwiIik7cy50ZXN0KHQuc2xpY2UoMiw0KSl8fChhLnZhbGlkPSExLGEuZXJyb3JDb2Rlcy5wdXNoKCRzLkNoZWNrc3VtTm90TnVtYmVyKSksKGEuZXJyb3JDb2Rlcy5pbmRleE9mKCRzLldyb25nQkJBTkZvcm1hdCkhPT0tMXx8IVVZdCh0KSkmJihhLnZhbGlkPSExLGEuZXJyb3JDb2Rlcy5wdXNoKCRzLldyb25nSUJBTkNoZWNrc3VtKSksIWUuYWxsb3dRUklCQU4mJmpZdCh0KSYmKGEudmFsaWQ9ITEsYS5lcnJvckNvZGVzLnB1c2goJHMuUVJJQkFOTm90QWxsb3dlZCkpfWVsc2UgYS52YWxpZD0hMSxhLmVycm9yQ29kZXMucHVzaCgkcy5Ob0lCQU5Qcm92aWRlZCk7cmV0dXJuIGF9ZnVuY3Rpb24gZXZhKHQsZSl7aWYodD09bnVsbHx8ZT09PXZvaWQgMHx8ZT09PW51bGwpcmV0dXJuITE7dmFyIGE9WWlbZV07cmV0dXJuIGE9PW51bGx8fGEuYmJhbl9yZWdleHA9PT12b2lkIDB8fGEuYmJhbl9yZWdleHA9PT1udWxsfHxhLmNoYXJzPT09dm9pZCAwfHxhLmNoYXJzPT09bnVsbD8hMTphLmNoYXJzLTQ9PT10Lmxlbmd0aCYma09lKHQsYS5iYmFuX3JlZ2V4cCk/YS5iYmFuX3ZhbGlkYXRpb25fZnVuYz9hLmJiYW5fdmFsaWRhdGlvbl9mdW5jKHQucmVwbGFjZSgvW1xzLl0rL2csIiIpKTohMDohMX1mdW5jdGlvbiBqaGkodCl7aWYodCE9bnVsbCl7dmFyIGU9WWlbdF07aWYoZSE9PXZvaWQgMClyZXR1cm4gZS5TRVBBP2UuU0VQQTohMX1yZXR1cm4hMX1mdW5jdGlvbiBqWXQodCl7aWYodD09bnVsbClyZXR1cm4hMTt2YXIgZT10LnNsaWNlKDAsMiksYT1bIkxJIiwiQ0giXTtpZighYS5pbmNsdWRlcyhlKSlyZXR1cm4hMTt2YXIgcj1uZXcgUmVnRXhwKCJeM1swLTFdezF9WzAtOV17M30kIiwiIik7cmV0dXJuIHIudGVzdCh0LnNsaWNlKDQsOSkpfWZ1bmN0aW9uIFVoaSh0KXt2YXIgZT16T2UodC5iYmFuKXx8IiI7aWYodC5jb3VudHJ5Q29kZT09PW51bGx8fHQuY291bnRyeUNvZGU9PT12b2lkIDApcmV0dXJuIG51bGw7dmFyIGE9WWlbdC5jb3VudHJ5Q29kZV07aWYoZSE9PSIiJiZhIT09dm9pZCAwJiZhLmNoYXJzJiZhLmNoYXJzIT09bnVsbCYmYS5jaGFycz09PWUubGVuZ3RoKzQmJmEuYmJhbl9yZWdleHAmJmEuYmJhbl9yZWdleHAhPT1udWxsJiZrT2UoZSxhLmJiYW5fcmVnZXhwKSl7dmFyIHI9dHZhKHQuY291bnRyeUNvZGUrIjAwIitlKTtyZXR1cm4gdC5jb3VudHJ5Q29kZSsoIjAiKyg5OC1yKSkuc2xpY2UoLTIpK2V9cmV0dXJuIG51bGx9ZnVuY3Rpb24gV2hpKHQpe3ZhciBlPXt9LGE9ek9lKHQpO2lmKGUuaWJhbj1hfHx0LGEmJlNPZShhKSl7ZS5iYmFuPWEuc2xpY2UoNCksZS5jb3VudHJ5Q29kZT1hLnNsaWNlKDAsMiksZS52YWxpZD0hMDt2YXIgcj1ZaVtlLmNvdW50cnlDb2RlXTtpZihyLmFjY291bnRfaW5kZW50aWZpZXIpe3ZhciBzPXIuYWNjb3VudF9pbmRlbnRpZmllci5zcGxpdCgiLSIpLG49cGFyc2VJbnQoc1swXSksbz1wYXJzZUludChzWzFdKTtlLmFjY291bnROdW1iZXI9ZS5pYmFuLnNsaWNlKG4sbysxKX1pZihyLmJhbmtfaWRlbnRpZmllcil7dmFyIHM9ci5iYW5rX2lkZW50aWZpZXIuc3BsaXQoIi0iKSxuPXBhcnNlSW50KHNbMF0pLG89cGFyc2VJbnQoc1sxXSk7ZS5iYW5rSWRlbnRpZmllcj1lLmJiYW4uc2xpY2UobixvKzEpfWlmKHIuYnJhbmNoX2luZGVudGlmaWVyKXt2YXIgcz1yLmJyYW5jaF9pbmRlbnRpZmllci5zcGxpdCgiLSIpLG49cGFyc2VJbnQoc1swXSksbz1wYXJzZUludChzWzFdKTtlLmJyYW5jaElkZW50aWZpZXI9ZS5iYmFuLnNsaWNlKG4sbysxKX19ZWxzZSBlLnZhbGlkPSExO3JldHVybiBlfWZ1bmN0aW9uIGtPZSh0LGUpe3ZhciBhPW5ldyBSZWdFeHAoZSwiIik7cmV0dXJuIGEudGVzdCh0KX1mdW5jdGlvbiB6T2UodCl7cmV0dXJuIHR5cGVvZiB0IT0ic3RyaW5nIj9udWxsOnQucmVwbGFjZSgvWy1cIF0vZywiIikudG9VcHBlckNhc2UoKX1mdW5jdGlvbiBDT2UodCxlKXtpZih0eXBlb2YgdCE9InN0cmluZyIpcmV0dXJuIG51bGw7ZT09bnVsbCYmKGU9IiAiKTt2YXIgYT16T2UodCk7cmV0dXJuIGE9PT1udWxsP251bGw6YS5yZXBsYWNlKC8oLns0fSkoPyEkKS9nLCIkMSIrZSl9ZnVuY3Rpb24gVVl0KHQpe3ZhciBlPXQuc2xpY2UoMCwyKSxhPXBhcnNlSW50KHQuc2xpY2UoMiw0KSwxMCkscj10LnNsaWNlKDQpLHM9V1l0KCIiLmNvbmNhdChyKS5jb25jYXQoZSwiMDAiKSksbj1UWihzKTtyZXR1cm4gOTgtbj09PWF9ZnVuY3Rpb24gV1l0KHQpe3JldHVybiB0LnNwbGl0KCIiKS5tYXAoZnVuY3Rpb24oZSl7dmFyIGE9ZS5jaGFyQ29kZUF0KDApO3JldHVybiBhPj02NT8oYS01NSkudG9TdHJpbmcoKTplfSkuam9pbigiIil9ZnVuY3Rpb24gdHZhKHQpe3JldHVybiBUWihXWXQodC5zbGljZSg0KSt0LnNsaWNlKDAsNCkpKX1mdW5jdGlvbiBHaGkoKXt2YXIgdD17fTtmb3IodmFyIGUgaW4gWWkpe3ZhciBhPVlpW2VdO3RbZV09e2NoYXJzOmEuY2hhcnN8fG51bGwsYmJhbl9yZWdleHA6YS5iYmFuX3JlZ2V4cHx8bnVsbCxJQkFOUmVnaXN0cnk6YS5JQkFOUmVnaXN0cnl8fCExLFNFUEE6YS5TRVBBfHwhMX19cmV0dXJuIHR9ZnVuY3Rpb24gYXZhKHQpe2lmKCF0KXJldHVybiExO3ZhciBlPW5ldyBSZWdFeHAoIl5bYS16QS1aXXs2fVthLXpBLVowLTldezJ9KFthLXpBLVowLTldezN9KT8kIiwiIiksYT1ZaVt0LnRvVXBwZXJDYXNlKCkuc2xpY2UoNCw2KV07cmV0dXJuIGUudGVzdCh0KSYmYSE9PXZvaWQgMH1mdW5jdGlvbiBZaGkodCl7dmFyIGU9e2Vycm9yQ29kZXM6W10sdmFsaWQ6ITB9O2lmKHQhPW51bGwmJnQhPT0iIil7dmFyIGE9WWlbdC50b1VwcGVyQ2FzZSgpLnNsaWNlKDQsNildO2lmKGE9PT12b2lkIDApZS52YWxpZD0hMSxlLmVycm9yQ29kZXMucHVzaChYTy5Ob0JJQ0NvdW50cnkpO2Vsc2V7dmFyIHI9bmV3IFJlZ0V4cCgiXlthLXpBLVpdezZ9W2EtekEtWjAtOV17Mn0oW2EtekEtWjAtOV17M30pPyQiLCIiKTtyLnRlc3QodCl8fChlLnZhbGlkPSExLGUuZXJyb3JDb2Rlcy5wdXNoKFhPLldyb25nQklDRm9ybWF0KSl9fWVsc2UgZS52YWxpZD0hMSxlLmVycm9yQ29kZXMucHVzaChYTy5Ob0JJQ1Byb3ZpZGVkKTtyZXR1cm4gZX1mdW5jdGlvbiBaaGkodCl7dmFyIGU9e30sYT10LnRvVXBwZXJDYXNlKCk7cmV0dXJuIGF2YShhKT8oZS5iYW5rQ29kZT1hLnNsaWNlKDAsNCksZS5jb3VudHJ5Q29kZT1hLnNsaWNlKDQsNiksZS5sb2NhdGlvbkNvZGU9YS5zbGljZSg2LDgpLGUudGVzdEJJQz1lLmxvY2F0aW9uQ29kZVsxXT09PSIwIixlLmJyYW5jaENvZGU9YS5sZW5ndGg+OD9hLnNsaWNlKDgpOm51bGwsZS52YWxpZD0hMCk6ZS52YWxpZD0hMSxlfXZhciAkcyxYTyxydmEsaXZhLFRaLFc4LHN2YSxvdmEsR1l0LG52YSxZWXQsbHZhLFpZdCxjdmEsWGhpLFlpLFhZdD1jKCgpPT57InVzZSBzdHJpY3QiO2koU09lLCJpc1ZhbGlkSUJBTiIpOyhmdW5jdGlvbih0KXt0W3QuTm9JQkFOUHJvdmlkZWQ9MF09Ik5vSUJBTlByb3ZpZGVkIix0W3QuTm9JQkFOQ291bnRyeT0xXT0iTm9JQkFOQ291bnRyeSIsdFt0Lldyb25nQkJBTkxlbmd0aD0yXT0iV3JvbmdCQkFOTGVuZ3RoIix0W3QuV3JvbmdCQkFORm9ybWF0PTNdPSJXcm9uZ0JCQU5Gb3JtYXQiLHRbdC5DaGVja3N1bU5vdE51bWJlcj00XT0iQ2hlY2tzdW1Ob3ROdW1iZXIiLHRbdC5Xcm9uZ0lCQU5DaGVja3N1bT01XT0iV3JvbmdJQkFOQ2hlY2tzdW0iLHRbdC5Xcm9uZ0FjY291bnRCYW5rQnJhbmNoQ2hlY2tzdW09Nl09Ildyb25nQWNjb3VudEJhbmtCcmFuY2hDaGVja3N1bSIsdFt0LlFSSUJBTk5vdEFsbG93ZWQ9N109IlFSSUJBTk5vdEFsbG93ZWQifSkoJHN8fCgkcz17fSkpO2koVmhpLCJ2YWxpZGF0ZUlCQU4iKTtpKGV2YSwiaXNWYWxpZEJCQU4iKTtpKGpoaSwiaXNTRVBBQ291bnRyeSIpO2koall0LCJpc1FSSUJBTiIpO2koVWhpLCJjb21wb3NlSUJBTiIpO2koV2hpLCJleHRyYWN0SUJBTiIpO2koa09lLCJjaGVja0Zvcm1hdEJCQU4iKTtpKHpPZSwiZWxlY3Ryb25pY0Zvcm1hdElCQU4iKTtpKENPZSwiZnJpZW5kbHlGb3JtYXRJQkFOIik7aShVWXQsImlzVmFsaWRJQkFOQ2hlY2tzdW0iKTtpKFdZdCwicmVwbGFjZUNoYXJhdGVyV2l0aENvZGUiKTtpKHR2YSwibW9kOTcxMEliYW4iKTtpKEdoaSwiZ2V0Q291bnRyeVNwZWNpZmljYXRpb25zIik7aShhdmEsImlzVmFsaWRCSUMiKTsoZnVuY3Rpb24odCl7dFt0Lk5vQklDUHJvdmlkZWQ9MF09Ik5vQklDUHJvdmlkZWQiLHRbdC5Ob0JJQ0NvdW50cnk9MV09Ik5vQklDQ291bnRyeSIsdFt0Lldyb25nQklDRm9ybWF0PTJdPSJXcm9uZ0JJQ0Zvcm1hdCJ9KShYT3x8KFhPPXt9KSk7aShZaGksInZhbGlkYXRlQklDIik7aShaaGksImV4dHJhY3RCSUMiKTtydmE9aShmdW5jdGlvbih0KXtmb3IodmFyIGU9WzUsNCwzLDIsNyw2LDUsNCwzLDJdLGE9dC5yZXBsYWNlKC9bXHMuXSsvZywiIikscj1wYXJzZUludChhLmNoYXJBdCgxMCksMTApLHM9YS5zdWJzdHJpbmcoMCwxMCksbj0wLG89MDtvPDEwO28rKyluKz1wYXJzZUludChzLmNoYXJBdChvKSwxMCkqZVtvXTt2YXIgbD1uJTExO3JldHVybiByPT09KGw9PT0wPzA6MTEtbCl9LCJjaGVja05vcndheUJCQU4iKSxpdmE9aShmdW5jdGlvbih0KXt2YXIgZT10LnJlcGxhY2UoL1tccy5dKy9nLCIiKSxhPXBhcnNlSW50KGUuc3Vic3RyaW5nKDAsZS5sZW5ndGgtMiksMTApLHI9cGFyc2VJbnQoZS5zdWJzdHJpbmcoZS5sZW5ndGgtMixlLmxlbmd0aCksMTApLHM9YSU5Nz09PTA/OTc6YSU5NztyZXR1cm4gcz09PXJ9LCJjaGVja0JlbGdpYW5CQkFOIiksVFo9aShmdW5jdGlvbih0KXtmb3IoO3QubGVuZ3RoPjI7KXt2YXIgZT10LnNsaWNlKDAsNiksYT1wYXJzZUludChlLDEwKTtpZihpc05hTihhKSlyZXR1cm4gTmFOO3Q9YSU5Nyt0LnNsaWNlKGUubGVuZ3RoKX1yZXR1cm4gcGFyc2VJbnQodCwxMCklOTd9LCJtb2Q5NzEwIiksVzg9aShmdW5jdGlvbih0KXt2YXIgZT10LnJlcGxhY2UoL1tccy5dKy9nLCIiKSxhPVRaKGUpO3JldHVybiBhPT09MX0sImNoZWNrTW9kOTcxMEJCQU4iKSxzdmE9aShmdW5jdGlvbih0KXtmb3IodmFyIGU9WzMsOSw3LDEsMyw5LDddLGE9cGFyc2VJbnQodC5jaGFyQXQoNyksMTApLHI9dC5zdWJzdHJpbmcoMCw3KSxzPTAsbj0wO248NztuKyspcys9cGFyc2VJbnQoci5jaGFyQXQobiksMTApKmVbbl07dmFyIG89cyUxMDtyZXR1cm4gYT09PShvPT09MD8wOjEwLW8pfSwiY2hlY2tQb2xhbmRCQkFOIiksb3ZhPWkoZnVuY3Rpb24odCl7Zm9yKHZhciBlPVs0LDgsNSwxMCw5LDcsMyw2XSxhPVsxLDIsNCw4LDUsMTAsOSw3LDMsNl0scj1wYXJzZUludCh0LmNoYXJBdCg4KSwxMCkscz1wYXJzZUludCh0LmNoYXJBdCg5KSwxMCksbj10LnN1YnN0cmluZygwLDgpLG89dC5zdWJzdHJpbmcoMTAsMjApLGw9MCxoPTA7aDw4O2grKylsKz1wYXJzZUludChuLmNoYXJBdChoKSwxMCkqZVtoXTt2YXIgdT1sJTExO2lmKHIhPT0odT09PTA/MDp1PT09MT8xOjExLXUpKXJldHVybiExO2w9MDtmb3IodmFyIGg9MDtoPDEwO2grKylsKz1wYXJzZUludChvLmNoYXJBdChoKSwxMCkqYVtoXTtyZXR1cm4gdT1sJTExLHM9PT0odT09PTA/MDp1PT09MT8xOjExLXUpfSwiY2hlY2tTcGFpbkJCQU4iKSxHWXQ9aShmdW5jdGlvbih0LGUpe2Zvcih2YXIgYT0xMCxyPTA7cjx0Lmxlbmd0aDtyKyspYSs9cGFyc2VJbnQodC5jaGFyQXQociksMTApLGElMTAhPT0wJiYoYT1hJTEwKSxhPWEqMixhPWElMTE7cmV0dXJuIGU9PT0oMTEtYT09PTEwPzA6MTEtYSl9LCJjaGVja01vZDExMTAiKSxudmE9aShmdW5jdGlvbih0KXt2YXIgZT1wYXJzZUludCh0LmNoYXJBdCg2KSwxMCksYT1wYXJzZUludCh0LmNoYXJBdCgxNiksMTApLHI9dC5zdWJzdHJpbmcoMCw2KSxzPXQuc3Vic3RyaW5nKDcsMTYpO3JldHVybiBHWXQocixlKSYmR1l0KHMsYSl9LCJjaGVja0Nyb2F0aWFuQkJBTiIpLFlZdD1pKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bMTAsNSw4LDQsMiwxXSxhPVs2LDMsNyw5LDEwLDUsOCw0LDIsMV0scj1wYXJzZUludCh0LmNoYXJBdCg5KSwxMCkscz1wYXJzZUludCh0LmNoYXJBdCgxOSksMTApLG49dC5zdWJzdHJpbmcoNCw5KSxvPXQuc3Vic3RyaW5nKDEwLDE5KSxsPTAsaD0wO2g8bi5sZW5ndGg7aCsrKWwrPXBhcnNlSW50KG4uY2hhckF0KGgpLDEwKSplW2hdO3ZhciB1PWwlMTE7aWYociE9PSh1PT09MD8wOnU9PT0xPzE6MTEtdSkpcmV0dXJuITE7bD0wO2Zvcih2YXIgaD0wO2g8by5sZW5ndGg7aCsrKWwrPXBhcnNlSW50KG8uY2hhckF0KGgpLDEwKSphW2hdO3JldHVybiB1PWwlMTEscz09PSh1PT09MD8wOnU9PT0xPzE6MTEtdSl9LCJjaGVja0N6ZWNoQW5kU2xvdmFrQkJBTiIpLGx2YT1pKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT1bNywxLDMsNywxLDMsNywxLDMsNywxLDMsN10sYT1wYXJzZUludCh0LmNoYXJBdCgxNSksMTApLHI9dC5zdWJzdHJpbmcoMiwxNSkscz0wLG49MDtuPHIubGVuZ3RoO24rKylzKz1wYXJzZUludChyLmNoYXJBdChuKSwxMCkqZVtuXTt2YXIgbz1zJTEwO3JldHVybiBhPT09KG89PT0wPzA6MTAtbyl9LCJjaGVja0VzdG9uaWFuQkJBTiIpLFpZdD1pKGZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LnJlcGxhY2UoL1tccy5dKy9nLCIiKSxhPUFycmF5LmZyb20oZSkscj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgcz1hW3JdLmNoYXJDb2RlQXQoMCk7aWYocz49NjUpc3dpdGNoKHMpe2Nhc2UgNjU6Y2FzZSA3NDphW3JdPSIxIjticmVhaztjYXNlIDY2OmNhc2UgNzU6Y2FzZSA4MzphW3JdPSIyIjticmVhaztjYXNlIDY3OmNhc2UgNzY6Y2FzZSA4NDphW3JdPSIzIjticmVhaztjYXNlIDY4OmNhc2UgNzc6Y2FzZSA4NTphW3JdPSI0IjticmVhaztjYXNlIDY5OmNhc2UgNzg6Y2FzZSA4NjphW3JdPSI1IjticmVhaztjYXNlIDcwOmNhc2UgNzk6Y2FzZSA4NzphW3JdPSI2IjticmVhaztjYXNlIDcxOmNhc2UgODA6Y2FzZSA4ODphW3JdPSI3IjticmVhaztjYXNlIDcyOmNhc2UgODE6Y2FzZSA4OTphW3JdPSI4IjticmVhaztjYXNlIDczOmNhc2UgODI6Y2FzZSA5MDphW3JdPSI5IjticmVha319dmFyIG49VFooYS5qb2luKCIiKSk7cmV0dXJuIG49PT0wfSwiY2hlY2tGcmVuY2hCQkFOIiksY3ZhPWkoZnVuY3Rpb24odCl7Zm9yKHZhciBlPVs5LDcsMywxLDksNywzLDEsOSw3LDMsMSw5LDcsM10sYT1wYXJzZUludCh0LmNoYXJBdCg3KSwxMCkscj10LnN1YnN0cmluZygwLDcpLHM9MCxuPTA7bjxyLmxlbmd0aDtuKyspcys9cGFyc2VJbnQoci5jaGFyQXQobiksMTApKmVbbl07dmFyIG89cyUxMDtpZihhIT09KG89PT0wPzA6MTAtbykpcmV0dXJuITE7aWYocz0wLHQuZW5kc1dpdGgoIjAwMDAwMDAwIikpe2Zvcih2YXIgbD10LnN1YnN0cmluZyg4LDE1KSxoPXBhcnNlSW50KHQuY2hhckF0KDE1KSwxMCksbj0wO248bC5sZW5ndGg7bisrKXMrPXBhcnNlSW50KGwuY2hhckF0KG4pLDEwKSplW25dO3ZhciB1PXMlMTA7cmV0dXJuIGg9PT0odT09PTA/MDoxMC11KX1lbHNle2Zvcih2YXIgbD10LnN1YnN0cmluZyg4LDIzKSxoPXBhcnNlSW50KHQuY2hhckF0KDIzKSwxMCksbj0wO248bC5sZW5ndGg7bisrKXMrPXBhcnNlSW50KGwuY2hhckF0KG4pLDEwKSplW25dO3ZhciBmPXMlMTA7cmV0dXJuIGg9PT0oZj09PTA/MDoxMC1mKX19LCJjaGVja0h1bmdhcmlhbkJCQU4iKSxYaGk9aShmdW5jdGlvbih0LGUpe3JldHVybiB0eXBlb2YgWWlbdF0+InUiPyExOihZaVt0XS5iYmFuX3ZhbGlkYXRpb25fZnVuYz1lLCEwKX0sInNldENvdW50cnlCQkFOVmFsaWRhdGlvbiIpLFlpPXtBRDp7Y2hhcnM6MjQsYmJhbl9yZWdleHA6Il5bMC05XXs4fVtBLVowLTldezEyfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC03IixiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yNCJ9LEFFOntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXlswLTldezN9WzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiI3LTIzIn0sQUY6e30sQUc6e30sQUk6e30sQUw6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeWzAtOV17OH1bQS1aMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIzLTciLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiIxMi0yOCJ9LEFNOnt9LEFPOntjaGFyczoyNSxiYmFuX3JlZ2V4cDoiXlswLTldezIxfSQifSxBUTp7fSxBUjp7fSxBUzp7fSxBVDp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtNCJ9LEFVOnt9LEFXOnt9LEFYOntjaGFyczoxOCxiYmFuX3JlZ2V4cDoiXlswLTldezE0fSQiLElCQU5SZWdpc3RyeTohMH0sQVo6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsyMH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMjgifSxCQTp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpXOCxJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIzLTUiLGJhbmtfaWRlbnRpZmllcjoiMC0yIn0sQkI6e30sQkQ6e30sQkU6e2NoYXJzOjE2LGJiYW5fcmVnZXhwOiJeWzAtOV17MTJ9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6aXZhLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiIwLTE2In0sQkY6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17Mn1bMC05XXsyMn0kIn0sQkc6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXs2fVtBLVowLTldezh9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTciLGJhbmtfaWRlbnRpZmllcjoiMC0zIn0sQkg6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsxNH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjIifSxCSTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIixicmFuY2hfaW5kZW50aWZpZXI6IjUtOSIsYmFua19pZGVudGlmaWVyOiIwLTQiLGFjY291bnRfaW5kZW50aWZpZXI6IjE0LTI3In0sQko6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17Mn1bMC05XXsyMn0kIn0sQkw6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIn0sQk06e30sQk46e30sQk86e30sQlE6e30sQlI6e2NoYXJzOjI5LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9W0EtWl17MX1bQS1aMC05XXsxfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjgtMTIiLGJhbmtfaWRlbnRpZmllcjoiMC03IixhY2NvdW50X2luZGVudGlmaWVyOiIxNy0yOSJ9LEJTOnt9LEJUOnt9LEJWOnt9LEJXOnt9LEJZOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17NH1bQS1aMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMifSxCWjp7fSxDQTp7fSxDQzp7fSxDRDp7fSxDRjp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIn0sQ0c6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LENIOntjaGFyczoyMSxiYmFuX3JlZ2V4cDoiXlswLTldezV9W0EtWjAtOV17MTJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTQifSxDSTp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aXXsxfVswLTldezIzfSQifSxDSzp7fSxDTDp7fSxDTTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIn0sQ046e30sQ086e30sQ1I6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeWzAtOV17MTh9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTIyIn0sQ1U6e30sQ1Y6e2NoYXJzOjI1LGJiYW5fcmVnZXhwOiJeWzAtOV17MjF9JCJ9LENXOnt9LENYOnt9LENZOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXlswLTldezh9W0EtWjAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIzLTciLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiIxMi0yOCJ9LENaOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXlswLTldezIwfSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOllZdCxJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyJ9LERFOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXlswLTldezE4fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC03IixhY2NvdW50X2luZGVudGlmaWVyOiIxMy0yMiJ9LERKOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezIzfSQiLGJyYW5jaF9pbmRlbnRpZmllcjoiNS05IixiYW5rX2lkZW50aWZpZXI6IjAtNCIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTQtMjcifSxESzp7Y2hhcnM6MTgsYmJhbl9yZWdleHA6Il5bMC05XXsxNH0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiNC0xOCJ9LERNOnt9LERPOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTI4In0sRFo6e2NoYXJzOjI2LGJiYW5fcmVnZXhwOiJeWzAtOV17MjJ9JCJ9LEVDOnt9LEVFOntjaGFyczoyMCxiYmFuX3JlZ2V4cDoiXlswLTldezE2fSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOmx2YSxJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMSIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yMCJ9LEVHOntjaGFyczoyOSxiYmFuX3JlZ2V4cDoiXlswLTldezI1fSIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC03IixiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTctMjkifSxFSDp7fSxFUjp7fSxFUzp7Y2hhcnM6MjQsYmJhbl92YWxpZGF0aW9uX2Z1bmM6b3ZhLGJiYW5fcmVnZXhwOiJeWzAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTciLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIxNC0yNCJ9LEVUOnt9LEZJOntjaGFyczoxOCxiYmFuX3JlZ2V4cDoiXlswLTldezE0fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiIwLTAifSxGSjp7fSxGSzp7Y2hhcnM6MTgsYmJhbl9yZWdleHA6Il5bQS1aXXsyfVswLTldezEyfSQiLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiI2LTE4In0sRk06e30sRk86e2NoYXJzOjE4LGJiYW5fcmVnZXhwOiJeWzAtOV17MTR9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI0LTE4In0sRlI6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpaWXQsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTQiLGJyYW5jaF9pbmRlbnRpZmllcjoiNS05IixhY2NvdW50X2luZGVudGlmaWVyOiIxNC0yNCJ9LEdBOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezIzfSQifSxHQjp7Y2hhcnM6MjIsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVswLTldezE0fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC05IixiYW5rX2lkZW50aWZpZXI6IjAtMyJ9LEdEOnt9LEdFOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXltBLVowLTldezJ9WzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiI2LTIyIn0sR0Y6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LEdHOnt9LEdIOnt9LEdJOntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXltBLVpdezR9W0EtWjAtOV17MTV9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjMifSxHTDp7Y2hhcnM6MTgsYmJhbl9yZWdleHA6Il5bMC05XXsxNH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMTgifSxHTTp7fSxHTjp7fSxHUDp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sR1E6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LEdSOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezd9W0EtWjAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIzLTYiLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiI3LTI3In0sR1M6e30sR1Q6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17MjR9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTI4In0sR1U6e30sR1c6e2NoYXJzOjI1LGJiYW5fcmVnZXhwOiJeW0EtWl17Mn1bMC05XXsxOX0kIn0sR1k6e30sSEs6e30sSE06e30sSE46e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXsyMH0kIn0sSFI6e2NoYXJzOjIxLGJiYW5fcmVnZXhwOiJeWzAtOV17MTd9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6bnZhLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC02In0sSFQ6e30sSFU6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeWzAtOV17MjR9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6Y3ZhLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy02IixiYW5rX2lkZW50aWZpZXI6IjAtMiJ9LElEOnt9LElFOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXltBLVowLTldezR9WzAtOV17MTR9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTkiLGJhbmtfaWRlbnRpZmllcjoiMC0zIn0sSUw6e2NoYXJzOjIzLGJiYW5fcmVnZXhwOiJeWzAtOV17MTl9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy01IixiYW5rX2lkZW50aWZpZXI6IjAtMiJ9LElNOnt9LElOOnt9LElPOnt9LElROntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MTV9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC02IixiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTEtMjMifSxJUjp7Y2hhcnM6MjYsYmJhbl9yZWdleHA6Il5bMC05XXsyMn0kIn0sSVM6e2NoYXJzOjI2LGJiYW5fcmVnZXhwOiJeWzAtOV17MjJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIyLTMiLGJhbmtfaWRlbnRpZmllcjoiMC0xIn0sSVQ6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeW0EtWl17MX1bMC05XXsxMH1bQS1aMC05XXsxMn0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjYtMTAiLGJhbmtfaWRlbnRpZmllcjoiMS01IixhY2NvdW50X2luZGVudGlmaWVyOiI0LTI3In0sSkU6e30sSk06e30sSk86e2NoYXJzOjMwLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXs0fVtBLVowLTldezE4fSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtNyIsYmFua19pZGVudGlmaWVyOiI0LTcifSxKUDp7fSxLRTp7fSxLRzp7fSxLSDp7fSxLSTp7fSxLTTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIn0sS046e30sS1A6e30sS1I6e30sS1c6e2NoYXJzOjMwLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsyMn0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjIwLTMwIn0sS1k6e30sS1o6e2NoYXJzOjIwLGJiYW5fcmVnZXhwOiJeWzAtOV17M31bQS1aMC05XXsxM30kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTIiLGFjY291bnRfaW5kZW50aWZpZXI6IjAtMjAifSxMQTp7fSxMQjp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bMC05XXs0fVtBLVowLTldezIwfSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTQtMjgifSxMQzp7Y2hhcnM6MzIsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVtBLVowLTldezI0fSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0zMiJ9LExJOntjaGFyczoyMSxiYmFuX3JlZ2V4cDoiXlswLTldezV9W0EtWjAtOV17MTJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTQifSxMSzp7fSxMUjp7fSxMUzp7fSxMVDp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtNCJ9LExVOntjaGFyczoyMCxiYmFuX3JlZ2V4cDoiXlswLTldezN9W0EtWjAtOV17MTN9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTIifSxMVjp7Y2hhcnM6MjEsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVtBLVowLTldezEzfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIwLTIxIn0sTFk6e2NoYXJzOjI1LGJiYW5fcmVnZXhwOiJeWzAtOV17MjF9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy01IixiYW5rX2lkZW50aWZpZXI6IjAtMiIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTAtMjUifSxNQTp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bMC05XXsyNH0kIn0sTUM6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpaWXQsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI1LTkiLGJhbmtfaWRlbnRpZmllcjoiMC00In0sTUQ6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17Mn1bQS1aMC05XXsxOH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTEiLGFjY291bnRfaW5kZW50aWZpZXI6IjYtMjQifSxNRTp7Y2hhcnM6MjIsYmJhbl9yZWdleHA6Il5bMC05XXsxOH0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpXOCxJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTIiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMjIifSxNRjp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sTUc6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LE1IOnt9LE1LOntjaGFyczoxOSxiYmFuX3JlZ2V4cDoiXlswLTldezN9W0EtWjAtOV17MTB9WzAtOV17Mn0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpXOCxJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTIifSxNTDp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aMC05XXsyfVswLTldezIyfSQifSxNTTp7fSxNTjp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjAifSxNTzp7fSxNUDp7fSxNUTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sTVI6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNS05IixiYW5rX2lkZW50aWZpZXI6IjAtNCIsYWNjb3VudF9pbmRlbnRpZmllcjoiNC0yNyJ9LE1TOnt9LE1UOntjaGFyczozMSxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17NX1bQS1aMC05XXsxOH0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtOCIsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjE1LTMxIn0sTVU6e2NoYXJzOjMwLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXsxOX1bQS1aXXszfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjYtNyIsYmFua19pZGVudGlmaWVyOiIwLTUiLGFjY291bnRfaW5kZW50aWZpZXI6IjAtMzAifSxNVjp7fSxNVzp7fSxNWDp7fSxNWTp7fSxNWjp7Y2hhcnM6MjUsYmJhbl9yZWdleHA6Il5bMC05XXsyMX0kIn0sTkE6e30sTkM6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LE5FOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezJ9WzAtOV17MjJ9JCJ9LE5GOnt9LE5HOnt9LE5JOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MjB9JCIsYmFua19pZGVudGlmaWVyOiIwLTMiLElCQU5SZWdpc3RyeTohMCxhY2NvdW50X2luZGVudGlmaWVyOiI4LTI4In0sTkw6e2NoYXJzOjE4LGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXsxMH0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0xOCJ9LE5POntjaGFyczoxNSxiYmFuX3JlZ2V4cDoiXlswLTldezExfSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOnJ2YSxJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiNC0xNSJ9LE5QOnt9LE5SOnt9LE5VOnt9LE5aOnt9LE9NOntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXlswLTldezN9W0EtWjAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITEsYmFua19pZGVudGlmaWVyOiIwLTIifSxQQTp7fSxQRTp7fSxQRjp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sUEc6e30sUEg6e30sUEs6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17NH1bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMifSxQTDp7Y2hhcnM6MjgsYmJhbl92YWxpZGF0aW9uX2Z1bmM6c3ZhLGJiYW5fcmVnZXhwOiJeWzAtOV17MjR9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIwLTciLGFjY291bnRfaW5kZW50aWZpZXI6IjItMjgifSxQTTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sUE46e30sUFI6e30sUFM6e2NoYXJzOjI5LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17NH1bMC05XXsyMX0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjE3LTI5In0sUFQ6e2NoYXJzOjI1LGJiYW5fcmVnZXhwOiJeWzAtOV17MjF9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6VzgsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTMifSxQVzp7fSxQWTp7fSxRQTp7Y2hhcnM6MjksYmJhbl9yZWdleHA6Il5bQS1aXXs0fVtBLVowLTldezIxfSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yOSJ9LFJFOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCIsSUJBTlJlZ2lzdHJ5OiEwfSxSTzp7Y2hhcnM6MjQsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVtBLVowLTldezE2fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIwLTI0In0sUlM6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeWzAtOV17MTh9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6VzgsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIn0sUlU6e2NoYXJzOjMzLGJiYW5fcmVnZXhwOiJeWzAtOV17MTR9W0EtWjAtOV17MTV9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiOS0xMyIsYmFua19pZGVudGlmaWVyOiIwLTgiLGFjY291bnRfaW5kZW50aWZpZXI6IjEzLTMzIn0sUlc6e30sU0E6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeWzAtOV17Mn1bQS1aMC05XXsxOH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTEiLGFjY291bnRfaW5kZW50aWZpZXI6IjEyLTI0In0sU0I6e30sU0M6e2NoYXJzOjMxLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXsyMH1bQS1aXXszfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjYtNyIsYmFua19pZGVudGlmaWVyOiIwLTUiLGFjY291bnRfaW5kZW50aWZpZXI6IjEyLTI4In0sU0Q6e2NoYXJzOjE4LGJiYW5fcmVnZXhwOiJeWzAtOV17MTR9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiI2LTE4In0sU0U6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeWzAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTIifSxTRzp7fSxTSDp7fSxTSTp7Y2hhcnM6MTksYmJhbl9yZWdleHA6Il5bMC05XXsxNX0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpXOCxJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjItNCIsYmFua19pZGVudGlmaWVyOiIwLTEiLGFjY291bnRfaW5kZW50aWZpZXI6IjktMTYifSxTSjp7fSxTSzp7Y2hhcnM6MjQsYmJhbl9yZWdleHA6Il5bMC05XXsyMH0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpZWXQsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITB9LFNMOnt9LFNNOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXltBLVpdezF9WzAtOV17MTB9W0EtWjAtOV17MTJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI2LTEwIn0sU046e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWl17Mn1bMC05XXsyMn0kIn0sU086e2NoYXJzOjIzLGJiYW5fcmVnZXhwOiJeWzAtOV17MTl9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC02IixhY2NvdW50X2luZGVudGlmaWVyOiIxMS0yMyJ9LFNSOnt9LFNTOnt9LFNUOntjaGFyczoyNSxiYmFuX3JlZ2V4cDoiXlswLTldezIxfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtNyJ9LFNWOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjgifSxTWDp7fSxTWTp7fSxTWjp7fSxUQzp7fSxURDp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIn0sVEY6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LFRHOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezJ9WzAtOV17MjJ9JCJ9LFRIOnt9LFRKOnt9LFRLOnt9LFRMOntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXlswLTldezE5fSQiLElCQU5SZWdpc3RyeTohMCxhY2NvdW50X2luZGVudGlmaWVyOiI0LTIzIn0sVE06e30sVE46e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeWzAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMi00IixhY2NvdW50X2luZGVudGlmaWVyOiI0LTI0In0sVE86e30sVFI6e2NoYXJzOjI2LGJiYW5fcmVnZXhwOiJeWzAtOV17NX1bQS1aMC05XXsxN30kIixJQkFOUmVnaXN0cnk6ITB9LFRUOnt9LFRWOnt9LFRXOnt9LFRaOnt9LFVBOntjaGFyczoyOSxiYmFuX3JlZ2V4cDoiXlswLTldezZ9W0EtWjAtOV17MTl9JCIsSUJBTlJlZ2lzdHJ5OiEwLGFjY291bnRfaW5kZW50aWZpZXI6IjE1LTI5In0sVUc6e30sVU06e30sVVM6e30sVVk6e30sVVo6e30sVkE6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeWzAtOV17MTh9IixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxhY2NvdW50X2luZGVudGlmaWVyOiI3LTIyIn0sVkM6e30sVkU6e30sVkc6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17NH1bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yNCJ9LFZJOnt9LFZOOnt9LFZVOnt9LFdGOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCIsSUJBTlJlZ2lzdHJ5OiEwfSxXUzp7fSxYSzp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIyLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMjAifSxZRTp7fSxZVDp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sWkE6e30sWk06e30sWlc6e319fSk7dmFyIEtZdCxRWXQ9YygoKT0+e3BlKCk7S1l0PWkoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmlucHV0LWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLnBheW1lbnQtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgSUJBTiBJbnB1dCJ9IC5zdWJ0aXRsZT0keyJJbnRlcm5hdGlvbmFsIEJhbmsgQWNjb3VudCBOdW1iZXIgd2l0aCBhdXRvbWF0aWMgZm9ybWF0dGluZyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LWliYW4KICAgICAgICAgICAgLmxhYmVsPSR7IkJhbmsgQWNjb3VudCBJQkFOIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkVudGVyIHlvdXIgSW50ZXJuYXRpb25hbCBCYW5rIEFjY291bnQgTnVtYmVyIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtaWJhbj4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1pYmFuCiAgICAgICAgICAgIC5sYWJlbD0keyJWZXJpZmllZCBJQkFOIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRoaXMgSUJBTiBoYXMgYmVlbiB2ZXJpZmllZCJ9CiAgICAgICAgICAgIC52YWx1ZT0keyJERTg5MzcwNDAwNDQwNTMyMDEzMDAwIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtaWJhbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlBheW1lbnQgSW5mb3JtYXRpb24ifSAuc3VidGl0bGU9JHsiSUJBTiBpbnB1dCB3aXRoIGhvcml6b250YWwgbGF5b3V0IGZvciBwYXltZW50IGZvcm1zIn0+CiAgICAgICAgPGRpdiBjbGFzcz0icGF5bWVudC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAubGFiZWw9JHsiQWNjb3VudCBIb2xkZXIifSAKICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC52YWx1ZT0keyJKb2huIERvZSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWliYW4gCiAgICAgICAgICAgIC5sYWJlbD0keyJJQkFOIn0gCiAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAudmFsdWU9JHsiR0I4MldFU1QxMjM0NTY5ODc2NTQzMiJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWliYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJWYWxpZGF0aW9uICYgU3RhdGVzIn0gLnN1YnRpdGxlPSR7IlJlcXVpcmVkIGZpZWxkcyBhbmQgZGlzYWJsZWQgc3RhdGVzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtaWJhbgogICAgICAgICAgICAubGFiZWw9JHsiUGF5bWVudCBBY2NvdW50In0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlJlcXVpcmVkIGZvciBwcm9jZXNzaW5nIHBheW1lbnRzIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWliYW4+CgogICAgICAgICAgPGRlZXMtaW5wdXQtaWJhbgogICAgICAgICAgICAubGFiZWw9JHsiTG9ja2VkIElCQU4ifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiVGhpcyBJQkFOIGNhbm5vdCBiZSBjaGFuZ2VkIn0KICAgICAgICAgICAgLnZhbHVlPSR7IkZSMTQyMDA0MTAxMDA1MDUwMDAxM00wMjYwNiJ9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1pYmFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFuayBUcmFuc2ZlciBGb3JtIn0gLnN1YnRpdGxlPSR7IkNvbXBsZXRlIGZvcm0gZXhhbXBsZSB3aXRoIElCQU4gdmFsaWRhdGlvbiJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJSZWNpcGllbnQgTmFtZSJ9IC5yZXF1aXJlZD0keyEwfT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LWliYW4gLmxhYmVsPSR7IlJlY2lwaWVudCBJQkFOIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC1pYmFuPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiVHJhbnNmZXIgUmVmZXJlbmNlIn0gLmRlc2NyaXB0aW9uPSR7Ik9wdGlvbmFsIHJlZmVyZW5jZSBmb3IgdGhlIHRyYW5zZmVyIn0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJBbW91bnQifSAuaW5wdXRUeXBlPSR7Im51bWJlciJ9IC5yZXF1aXJlZD0keyEwfT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgLCJkZW1vRnVuYyIpfSk7dmFyIExaLGQ2LCRaLF9PZT1jKCgpPT57cGUoKTtJdCgpO1dhKCk7WFl0KCk7UVl0KCk7WGUoKTtMWj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sZDY9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LCRaPSgoKT0+e2xldCB0PVthZSgiZGVlcy1pbnB1dC1pYmFuIildLGUsYT1bXSxyLHM9b3QsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNJbnB1dEliYW4iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtaKCldLGg9W1ooKV0scD1bTCh7dHlwZTpTdHJpbmd9KV0sTFoodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbnRlcmVkU3RyaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJlbnRlcmVkU3RyaW5nImluIG0sImhhcyIpLGdldDppKG09Pm0uZW50ZXJlZFN0cmluZywiZ2V0Iiksc2V0OmkoKG0seSk9PnttLmVudGVyZWRTdHJpbmc9eX0sInNldCIpfSxtZXRhZGF0YTpifSxvLGwpLExaKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW50ZXJlZEliYW5Jc1ZhbGlkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJlbnRlcmVkSWJhbklzVmFsaWQiaW4gbSwiaGFzIiksZ2V0OmkobT0+bS5lbnRlcmVkSWJhbklzVmFsaWQsImdldCIpLHNldDppKChtLHkpPT57bS5lbnRlcmVkSWJhbklzVmFsaWQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSx1LGYpLExaKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkobT0+InZhbHVlImluIG0sImhhcyIpLGdldDppKG09Pm0udmFsdWUsImdldCIpLHNldDppKChtLHkpPT57bS52YWx1ZT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGcsdiksTFoobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCxhKSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz1LWXQ7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPWQ2KHRoaXMsbywiIik7Z2V0IGVudGVyZWRTdHJpbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZW50ZXJlZFN0cmluZyhiKXt0aGlzLiNlPWJ9I3Q9KGQ2KHRoaXMsbCksZDYodGhpcyx1LCExKSk7Z2V0IGVudGVyZWRJYmFuSXNWYWxpZCgpe3JldHVybiB0aGlzLiN0fXNldCBlbnRlcmVkSWJhbklzVmFsaWQoYil7dGhpcy4jdD1ifSNhPShkNih0aGlzLGYpLGQ2KHRoaXMsZywiIikpO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNhfXNldCB2YWx1ZShiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1bRGUsLi4ub3QuYmFzZVN0eWxlcyxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgLyogSUJBTiBpbnB1dCBzcGVjaWZpYyBzdHlsZXMgY2FuIGdvIGhlcmUgKi8KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfHwiSUJBTiJ9IC5kZXNjcmlwdGlvbj0ke3RoaXMuZGVzY3JpcHRpb259PjwvZGVlcy1sYWJlbD4KICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAudmFsdWU9JHt0aGlzLnZhbHVlfQogICAgICAgICAgLmRpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgIC5yZXF1aXJlZD0ke3RoaXMucmVxdWlyZWR9CiAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiREU4OSAzNzA0IDAwNDQgMDUzMiAwMTMwIDAwIn0KICAgICAgICAgIEBpbnB1dD0ke2I9Pnt0aGlzLnZhbGlkYXRlSWJhbihiKX19CiAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICA8L2Rpdj4KICAgIGB9Zmlyc3RVcGRhdGVkKGIpe3N1cGVyLmZpcnN0VXBkYXRlZChiKTtsZXQgbT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC10ZXh0Iik7bSYmbS5jaGFuZ2VTdWJqZWN0JiZtLmNoYW5nZVN1YmplY3Quc3Vic2NyaWJlKCgpPT57dGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9KX1hc3luYyB2YWxpZGF0ZUliYW4oYil7bGV0IG09Yi50YXJnZXQseT1tPy52YWx1ZTt5PXl8fCIiLHRoaXMuZW50ZXJlZFN0cmluZyE9PXkmJih0aGlzLmVudGVyZWRTdHJpbmc9Q09lKHkpfHwiIixtJiYobS52YWx1ZT10aGlzLmVudGVyZWRTdHJpbmcsdGhpcy52YWx1ZT10aGlzLmVudGVyZWRTdHJpbmcsdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpKSx0aGlzLmVudGVyZWRJYmFuSXNWYWxpZD1TT2UodGhpcy5lbnRlcmVkU3RyaW5nLnJlcGxhY2UoLyAvZywiIikpO2xldCBNPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LXRleHQiKTtNLnZhbGlkYXRpb25UZXh0PWBJQkFOIGlzIHZhbGlkOiAke3RoaXMuZW50ZXJlZEliYW5Jc1ZhbGlkfWB9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZShiKXt0aGlzLnZhbHVlPWIsdGhpcy5lbnRlcmVkU3RyaW5nPUNPZShiKXx8IiJ9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGQ2KHRoaXMsdil9c3RhdGlje2Q2KHIsYSl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBKWXQsZVp0PWMoKCk9PntwZSgpO0pZdD1pKCgpPT53YAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICAke1hgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAzMnB4OwogICAgICAgICAgcGFkZGluZzogNDhweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2VjdGlvbiB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMxODE4MWIiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2V0dGluZ3MtZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAgIC5zZXR0aW5ncy1ncmlkIHsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5NdWx0aS1PcHRpb24gVG9nZ2xlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+U2VsZWN0IGZyb20gbXVsdGlwbGUgb3B0aW9ucyB3aXRoIGEgc21vb3RoIHNsaWRpbmcgaW5kaWNhdG9yIGFuaW1hdGlvbi48L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgLmxhYmVsPSR7IkRpc3BsYXkgTW9kZSJ9CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQ2hvb3NlIGhvdyBjb250ZW50IGlzIGRpc3BsYXllZCJ9CiAgICAgICAgICAub3B0aW9ucz0ke1siTGlzdCBWaWV3IiwiR3JpZCBWaWV3IiwiQ29tcGFjdCJdfQogICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkdyaWQgVmlldyJ9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICAKICAgICAgICA8YnI+PGJyPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAubGFiZWw9JHsiVC1TaGlydCBTaXplIn0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJTZWxlY3QgeW91ciBwcmVmZXJyZWQgc2l6ZSJ9CiAgICAgICAgICAub3B0aW9ucz0ke1siWFMiLCJTIiwiTSIsIkwiLCJYTCIsIlhYTCJdfQogICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7Ik0ifQogICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Qm9vbGVhbiBUb2dnbGU8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5TaW1wbGUgb24vb2ZmIHN3aXRjaGVzIHdpdGggY3VzdG9taXphYmxlIGxhYmVscyBmb3IgY2xlYXJlciBjb250ZXh0LjwvZGl2PgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAubGFiZWw9JHsiTm90aWZpY2F0aW9ucyJ9CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiRW5hYmxlIG9yIGRpc2FibGUgcHVzaCBub3RpZmljYXRpb25zIn0KICAgICAgICAgIC50eXBlPSR7ImJvb2xlYW4ifQogICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7InRydWUifQogICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CiAgICAgICAgCiAgICAgICAgPGJyPjxicj4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgLmxhYmVsPSR7IlRoZW1lIE1vZGUifQogICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlN3aXRjaCBiZXR3ZWVuIGxpZ2h0IGFuZCBkYXJrIHRoZW1lIn0KICAgICAgICAgIC50eXBlPSR7ImJvb2xlYW4ifQogICAgICAgICAgLmJvb2xlYW5UcnVlTmFtZT0keyJEYXJrIn0KICAgICAgICAgIC5ib29sZWFuRmFsc2VOYW1lPSR7IkxpZ2h0In0KICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJEYXJrIn0KICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlNldHRpbmdzIEdyaWQ8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5Db25maWd1cmF0aW9uIG9wdGlvbnMgYXJyYW5nZWQgaW4gYSByZXNwb25zaXZlIGdyaWQgbGF5b3V0LjwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLWdyaWQiPgogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkF1dG8tU2F2ZSJ9CiAgICAgICAgICAgIC50eXBlPSR7ImJvb2xlYW4ifQogICAgICAgICAgICAuYm9vbGVhblRydWVOYW1lPSR7IkVuYWJsZWQifQogICAgICAgICAgICAuYm9vbGVhbkZhbHNlTmFtZT0keyJEaXNhYmxlZCJ9CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJFbmFibGVkIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJMYW5ndWFnZSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJFbmdsaXNoIiwiR2VybWFuIiwiRnJlbmNoIiwiU3BhbmlzaCJdfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiRW5nbGlzaCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiUXVhbGl0eSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJMb3ciLCJNZWRpdW0iLCJIaWdoIiwiVWx0cmEiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkhpZ2gifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IlByaXZhY3kifQogICAgICAgICAgICAudHlwZT0keyJib29sZWFuIn0KICAgICAgICAgICAgLmJvb2xlYW5UcnVlTmFtZT0keyJQcml2YXRlIn0KICAgICAgICAgICAgLmJvb2xlYW5GYWxzZU5hbWU9JHsiUHVibGljIn0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IlByaXZhdGUifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TdGF0ZXMgJiBGb3JtIEludGVncmF0aW9uPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+RXhhbXBsZXMgb2YgZGlzYWJsZWQgc3RhdGVzIGFuZCBpbnRlZ3JhdGlvbiB3aXRoaW4gZm9ybXMuPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgIC5sYWJlbD0keyJBY2NvdW50IFR5cGUifQogICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRoaXMgc2V0dGluZyBpcyBsb2NrZWQifQogICAgICAgICAgLm9wdGlvbnM9JHtbIkZyZWUiLCJQcm8iLCJFbnRlcnByaXNlIl19CiAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiRW50ZXJwcmlzZSJ9CiAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgIAogICAgICAgIDxicj48YnI+CiAgICAgICAgCiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IlByb2plY3QgTmFtZSJ9IC5yZXF1aXJlZD0keyEwfT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJWaXNpYmlsaXR5In0KICAgICAgICAgICAgLnR5cGU9JHsiYm9vbGVhbiJ9CiAgICAgICAgICAgIC5ib29sZWFuVHJ1ZU5hbWU9JHsiUHVibGljIn0KICAgICAgICAgICAgLmJvb2xlYW5GYWxzZU5hbWU9JHsiUHJpdmF0ZSJ9CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJQcml2YXRlIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiTGljZW5zZSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJNSVQiLCJBcGFjaGUgMi4wIiwiR1BMIHYzIiwiUHJvcHJpZXRhcnkiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7Ik1JVCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBwNix3aSxEWixUT2U9YygoKT0+e3BlKCk7V2EoKTtHaSgpO2VadCgpO1hlKCk7cDY9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LHdpPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxEWj0oKCk9PntsZXQgdD1bYWUoImRlZXMtaW5wdXQtbXVsdGl0b2dnbGUiKV0sZSxhPVtdLHIscz1vdCxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXSx5LE09W10saz1bXSxFLF89W10sQz1bXTt2YXIgTj1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0lucHV0TXVsdGl0b2dnbGUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgJD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKCldLGg9W0woKV0scD1bTCgpXSx4PVtMKHt0eXBlOkFycmF5fSldLHk9W0woKV0sRT1bTCh7dHlwZTpCb29sZWFufSldLHA2KHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShJPT4idHlwZSJpbiBJLCJoYXMiKSxnZXQ6aShJPT5JLnR5cGUsImdldCIpLHNldDppKChJLGopPT57SS50eXBlPWp9LCJzZXQiKX0sbWV0YWRhdGE6JH0sbyxsKSxwNih0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJvb2xlYW5UcnVlTmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShJPT4iYm9vbGVhblRydWVOYW1lImluIEksImhhcyIpLGdldDppKEk9PkkuYm9vbGVhblRydWVOYW1lLCJnZXQiKSxzZXQ6aSgoSSxqKT0+e0kuYm9vbGVhblRydWVOYW1lPWp9LCJzZXQiKX0sbWV0YWRhdGE6JH0sdSxmKSxwNih0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJvb2xlYW5GYWxzZU5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoST0+ImJvb2xlYW5GYWxzZU5hbWUiaW4gSSwiaGFzIiksZ2V0OmkoST0+SS5ib29sZWFuRmFsc2VOYW1lLCJnZXQiKSxzZXQ6aSgoSSxqKT0+e0kuYm9vbGVhbkZhbHNlTmFtZT1qfSwic2V0Iil9LG1ldGFkYXRhOiR9LGcsdikscDYodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcHRpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEk9PiJvcHRpb25zImluIEksImhhcyIpLGdldDppKEk9Pkkub3B0aW9ucywiZ2V0Iiksc2V0OmkoKEksaik9PntJLm9wdGlvbnM9an0sInNldCIpfSxtZXRhZGF0YTokfSxiLG0pLHA2KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRPcHRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoST0+InNlbGVjdGVkT3B0aW9uImluIEksImhhcyIpLGdldDppKEk9Pkkuc2VsZWN0ZWRPcHRpb24sImdldCIpLHNldDppKChJLGopPT57SS5zZWxlY3RlZE9wdGlvbj1qfSwic2V0Iil9LG1ldGFkYXRhOiR9LE0saykscDYodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJib29sVmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoST0+ImJvb2xWYWx1ZSJpbiBJLCJoYXMiKSxnZXQ6aShJPT5JLmJvb2xWYWx1ZSwiZ2V0Iiksc2V0OmkoKEksaik9PntJLmJvb2xWYWx1ZT1qfSwic2V0Iil9LG1ldGFkYXRhOiR9LF8sQykscDYobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6JH0sbnVsbCxhKSxOPXI9ZS52YWx1ZSwkJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOiR9KX1zdGF0aWMgZGVtbz1KWXQ7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPXdpKHRoaXMsbywibXVsdGkiKTtnZXQgdHlwZSgpe3JldHVybiB0aGlzLiNlfXNldCB0eXBlKCQpe3RoaXMuI2U9JH0jdD0od2kodGhpcyxsKSx3aSh0aGlzLHUsInRydWUiKSk7Z2V0IGJvb2xlYW5UcnVlTmFtZSgpe3JldHVybiB0aGlzLiN0fXNldCBib29sZWFuVHJ1ZU5hbWUoJCl7dGhpcy4jdD0kfSNhPSh3aSh0aGlzLGYpLHdpKHRoaXMsZywiZmFsc2UiKSk7Z2V0IGJvb2xlYW5GYWxzZU5hbWUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYm9vbGVhbkZhbHNlTmFtZSgkKXt0aGlzLiNhPSR9I3I9KHdpKHRoaXMsdiksd2kodGhpcyxiLFtdKSk7Z2V0IG9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgb3B0aW9ucygkKXt0aGlzLiNyPSR9I2k9KHdpKHRoaXMsbSksd2kodGhpcyxNLCIiKSk7Z2V0IHNlbGVjdGVkT3B0aW9uKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHNlbGVjdGVkT3B0aW9uKCQpe3RoaXMuI2k9JH0jcz0od2kodGhpcyxrKSx3aSh0aGlzLF8sITEpKTtnZXQgYm9vbFZhbHVlKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGJvb2xWYWx1ZSgkKXt0aGlzLiNzPSR9Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMudHlwZT09PSJib29sZWFuIj90aGlzLnNlbGVjdGVkT3B0aW9uPT09dGhpcy5ib29sZWFuVHJ1ZU5hbWU6dGhpcy5zZWxlY3RlZE9wdGlvbn1zZXQgdmFsdWUoJCl7dGhpcy50eXBlPT09ImJvb2xlYW4iJiZ0eXBlb2YgJD09ImJvb2xlYW4iP3RoaXMuc2VsZWN0ZWRPcHRpb249JD90aGlzLmJvb2xlYW5UcnVlTmFtZTp0aGlzLmJvb2xlYW5GYWxzZU5hbWU6dGhpcy5zZWxlY3RlZE9wdGlvbj0kLHRoaXMucmVxdWVzdFVwZGF0ZSgpLHRoaXMuaGFzVXBkYXRlZCYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5zZXRJbmRpY2F0b3IoKX0pfXN0YXRpYyBzdHlsZXM9W0RlLC4uLm90LmJhc2VTdHlsZXMsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAuc2VsZWN0aW9ucyB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7CiAgICAgIH0KCiAgICAgIC5vcHRpb24gewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBwYWRkaW5nOiA4cHggMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgei1pbmRleDogMjsKICAgICAgfQoKICAgICAgLm9wdGlvbjpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2U0ZTRlNyIpfTsKICAgICAgfQoKICAgICAgLm9wdGlvbi5zZWxlY3RlZCB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmluZGljYXRvciB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA4cHgpOwogICAgICAgIHRvcDogNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgfQogICAgICAKICAgICAgLmluZGljYXRvci5uby10cmFuc2l0aW9uIHsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbZGlzYWJsZWRdKSAuc2VsZWN0aW9ucyB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC5vcHRpb24gewogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC5pbmRpY2F0b3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDExMywgMTEzLCAxMjIsIDAuMTUpIiwicmdiYSgxMTMsIDExMywgMTIyLCAwLjE1KSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx9IC5kZXNjcmlwdGlvbj0ke3RoaXMuZGVzY3JpcHRpb259PjwvZGVlcy1sYWJlbD4KICAgICAgICA8ZGl2IGNsYXNzPSJtYWluYm94Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlbGVjdGlvbnMiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaW5kaWNhdG9yIj48L2Rpdj4KICAgICAgICAgICR7dGhpcy5vcHRpb25zLm1hcCgkPT53YDxkaXYgY2xhc3M9Im9wdGlvbiAkeyQ9PT10aGlzLnNlbGVjdGVkT3B0aW9uPyJzZWxlY3RlZCI6IiJ9IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTZWxlY3Rpb24oJCl9PgogICAgICAgICAgICAgICAgJHskfQogICAgICAgICAgICAgIDwvZGl2PiBgKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMudHlwZT09PSJib29sZWFuIiYmdGhpcy5vcHRpb25zLmxlbmd0aD09PTAmJih0aGlzLm9wdGlvbnM9W3RoaXMuYm9vbGVhblRydWVOYW1lfHwidHJ1ZSIsdGhpcy5ib29sZWFuRmFsc2VOYW1lfHwiZmFsc2UiXSx0aGlzLnNlbGVjdGVkT3B0aW9ufHwodGhpcy5zZWxlY3RlZE9wdGlvbj10aGlzLmJvb2xlYW5GYWxzZU5hbWV8fCJmYWxzZSIpKSwhdGhpcy5zZWxlY3RlZE9wdGlvbiYmdGhpcy5vcHRpb25zLmxlbmd0aD4wJiYodGhpcy5zZWxlY3RlZE9wdGlvbj10aGlzLm9wdGlvbnNbMF0pfWFzeW5jIGZpcnN0VXBkYXRlZCgkKXtzdXBlci5maXJzdFVwZGF0ZWQoJCksdGhpcy50eXBlPT09ImJvb2xlYW4iJiYodGhpcy5vcHRpb25zPVt0aGlzLmJvb2xlYW5UcnVlTmFtZXx8InRydWUiLHRoaXMuYm9vbGVhbkZhbHNlTmFtZXx8ImZhbHNlIl0pLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsZG9jdW1lbnQuZm9udHMmJmF3YWl0IGRvY3VtZW50LmZvbnRzLnJlYWR5LGF3YWl0IG5ldyBQcm9taXNlKEk9PnJlcXVlc3RBbmltYXRpb25GcmFtZShJKSksdGhpcy5zZXRJbmRpY2F0b3IoKX1hc3luYyBoYW5kbGVTZWxlY3Rpb24oJCl7dGhpcy5kaXNhYmxlZHx8KHRoaXMuc2VsZWN0ZWRPcHRpb249JCx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMuc2V0SW5kaWNhdG9yKCkpfWluZGljYXRvckluaXRpYWxpemVkPSh3aSh0aGlzLEMpLCExKTthc3luYyBzZXRJbmRpY2F0b3IoKXtsZXQgJD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmluZGljYXRvciIpLEk9dGhpcy5vcHRpb25zLmluZGV4T2YodGhpcy5zZWxlY3RlZE9wdGlvbik7aWYoST09PS0xfHwhJCl7JCYmKCQuc3R5bGUub3BhY2l0eT0iMCIpO3JldHVybn1sZXQgaj10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcihgLm9wdGlvbjpudGgtY2hpbGQoJHtJKzJ9KWApOyQmJmomJih0aGlzLmluZGljYXRvckluaXRpYWxpemVkfHwoJC5jbGFzc0xpc3QuYWRkKCJuby10cmFuc2l0aW9uIiksdGhpcy5pbmRpY2F0b3JJbml0aWFsaXplZD0hMCxzZXRUaW1lb3V0KCgpPT57JC5jbGFzc0xpc3QucmVtb3ZlKCJuby10cmFuc2l0aW9uIil9LDUwKSksJC5zdHlsZS53aWR0aD1gJHtqLmNsaWVudFdpZHRofXB4YCwkLnN0eWxlLmxlZnQ9YCR7ai5vZmZzZXRMZWZ0fXB4YCwkLnN0eWxlLm9wYWNpdHk9IjEiKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnR5cGU9PT0iYm9vbGVhbiI/dGhpcy5zZWxlY3RlZE9wdGlvbj09PXRoaXMuYm9vbGVhblRydWVOYW1lOnRoaXMuc2VsZWN0ZWRPcHRpb259c2V0VmFsdWUoJCl7dGhpcy50eXBlPT09ImJvb2xlYW4iJiZ0eXBlb2YgJD09ImJvb2xlYW4iP3RoaXMuc2VsZWN0ZWRPcHRpb249JD90aGlzLmJvb2xlYW5UcnVlTmFtZXx8InRydWUiOnRoaXMuYm9vbGVhbkZhbHNlTmFtZXx8ImZhbHNlIjp0aGlzLnNlbGVjdGVkT3B0aW9uPSQsdGhpcy5yZXF1ZXN0VXBkYXRlKCksdGhpcy5oYXNVcGRhdGVkJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLnNldEluZGljYXRvcigpfSl9c3RhdGlje3dpKHIsYSl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciB0WnQsYVp0PWMoKCk9PntwZSgpO3RadD1pKCgpPT53YAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICAke1hgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5pbnB1dC1ncm91cCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICB9CgogICAgICAgIC5ob3Jpem9udGFsLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIFBob25lIElucHV0In0gLnN1YnRpdGxlPSR7IkF1dG9tYXRpYyBmb3JtYXR0aW5nIGZvciBwaG9uZSBudW1iZXJzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUKICAgICAgICAgICAgLmxhYmVsPSR7IlBob25lIE51bWJlciJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJFbnRlciB5b3VyIHBob25lIG51bWJlciB3aXRoIGNvdW50cnkgY29kZSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyI1NTUxMjM0NTY3In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcGhvbmU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUKICAgICAgICAgICAgLmxhYmVsPSR7IkNvbnRhY3QgUGhvbmUifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiUmVxdWlyZWQgZm9yIGFjY291bnQgdmVyaWZpY2F0aW9uIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyIrMSAoNTU1KSAwMDAtMDAwMCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXBob25lPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiSG9yaXpvbnRhbCBMYXlvdXQifSAuc3VidGl0bGU9JHsiUGhvbmUgaW5wdXRzIGFycmFuZ2VkIGhvcml6b250YWxseSJ9PgogICAgICAgIDxkaXYgY2xhc3M9Imhvcml6b250YWwtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUgCiAgICAgICAgICAgIC5sYWJlbD0keyJNb2JpbGUifSAKICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC52YWx1ZT0keyI0MTU1NTUxMjM0In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcGhvbmU+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXBob25lIAogICAgICAgICAgICAubGFiZWw9JHsiT2ZmaWNlIn0gCiAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiKzEgKDgwMCkgNTU1LTAwMDAifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1waG9uZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkludGVybmF0aW9uYWwgTnVtYmVycyJ9IC5zdWJ0aXRsZT0keyJTdXBwb3J0cyBmb3JtYXR0aW5nIGZvciBudW1iZXJzIHdpdGggY291bnRyeSBjb2RlcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LXBob25lCiAgICAgICAgICAgIC5sYWJlbD0keyJJbnRlcm5hdGlvbmFsIENvbnRhY3QifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQXV0b21hdGljYWxseSBmb3JtYXRzIGludGVybmF0aW9uYWwgbnVtYmVycyJ9CiAgICAgICAgICAgIC52YWx1ZT0keyI0NDEyMzQ1Njc4OTAifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1waG9uZT4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1waG9uZQogICAgICAgICAgICAubGFiZWw9JHsiRW1lcmdlbmN5IENvbnRhY3QifQogICAgICAgICAgICAudmFsdWU9JHsiOTExIn0KICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXBob25lPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRm9ybSBJbnRlZ3JhdGlvbiJ9IC5zdWJ0aXRsZT0keyJQaG9uZSBpbnB1dCBhcyBwYXJ0IG9mIGEgY29udGFjdCBmb3JtIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IkZ1bGwgTmFtZSJ9IC5yZXF1aXJlZD0keyEwfT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LXBob25lIC5sYWJlbD0keyJQaG9uZSBOdW1iZXIifSAucmVxdWlyZWQ9JHshMH0+PC9kZWVzLWlucHV0LXBob25lPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiRW1haWwifSAuaW5wdXRUeXBlPSR7ImVtYWlsIn0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBBWix1NixQWixMT2U9YygoKT0+e3BlKCk7SXQoKTtXYSgpO2FadCgpO1hlKCk7QVo9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LHU2PWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxQWj0oKCk9PntsZXQgdD1bYWUoImRlZXMtaW5wdXQtcGhvbmUiKV0sZSxhPVtdLHIscz1vdCxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0lucHV0UGhvbmUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtaKCldLGg9W0woe3R5cGU6U3RyaW5nfSldLHA9W0woe3R5cGU6U3RyaW5nfSldLEFaKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZm9ybWF0dGVkUGhvbmUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkobT0+ImZvcm1hdHRlZFBob25lImluIG0sImhhcyIpLGdldDppKG09Pm0uZm9ybWF0dGVkUGhvbmUsImdldCIpLHNldDppKChtLHkpPT57bS5mb3JtYXR0ZWRQaG9uZT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG8sbCksQVoodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtPT4idmFsdWUiaW4gbSwiaGFzIiksZ2V0OmkobT0+bS52YWx1ZSwiZ2V0Iiksc2V0OmkoKG0seSk9PnttLnZhbHVlPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sdSxmKSxBWih0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJwbGFjZWhvbGRlciJpbiBtLCJoYXMiKSxnZXQ6aShtPT5tLnBsYWNlaG9sZGVyLCJnZXQiKSxzZXQ6aSgobSx5KT0+e20ucGxhY2Vob2xkZXI9eX0sInNldCIpfSxtZXRhZGF0YTpifSxnLHYpLEFaKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsYSkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW89dFp0O3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT11Nih0aGlzLG8sIiIpO2dldCBmb3JtYXR0ZWRQaG9uZSgpe3JldHVybiB0aGlzLiNlfXNldCBmb3JtYXR0ZWRQaG9uZShiKXt0aGlzLiNlPWJ9I3Q9KHU2KHRoaXMsbCksdTYodGhpcyx1LCIiKSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHZhbHVlKGIpe3RoaXMuI3Q9Yn0jYT0odTYodGhpcyxmKSx1Nih0aGlzLGcsIisxICg1NTUpIDEyMy00NTY3IikpO2dldCBwbGFjZWhvbGRlcigpe3JldHVybiB0aGlzLiNhfXNldCBwbGFjZWhvbGRlcihiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1bRGUsLi4ub3QuYmFzZVN0eWxlcyxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgLyogUGhvbmUgaW5wdXQgc3BlY2lmaWMgc3R5bGVzIGNhbiBnbyBoZXJlICovCiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7dGhpcy5sYWJlbH0gLmRlc2NyaXB0aW9uPSR7dGhpcy5kZXNjcmlwdGlvbn0+PC9kZWVzLWxhYmVsPgogICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgIC52YWx1ZT0ke3RoaXMuZm9ybWF0dGVkUGhvbmV9CiAgICAgICAgICAuZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfQogICAgICAgICAgLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0ke3RoaXMucGxhY2Vob2xkZXJ9CiAgICAgICAgICBAaW5wdXQ9JHtiPT50aGlzLmhhbmRsZVBob25lSW5wdXQoYil9CiAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICA8L2Rpdj4KICAgIGB9Zmlyc3RVcGRhdGVkKGIpe3N1cGVyLmZpcnN0VXBkYXRlZChiKSx0aGlzLnZhbHVlJiYodGhpcy5mb3JtYXR0ZWRQaG9uZT10aGlzLmZvcm1hdFBob25lTnVtYmVyKHRoaXMudmFsdWUpKTtsZXQgbT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC10ZXh0Iik7bSYmbS5jaGFuZ2VTdWJqZWN0JiZtLmNoYW5nZVN1YmplY3Quc3Vic2NyaWJlKCgpPT57dGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9KX1oYW5kbGVQaG9uZUlucHV0KGIpe2xldCBtPWIudGFyZ2V0LHk9dGhpcy5jbGVhblBob25lTnVtYmVyKG0udmFsdWUpLE09dGhpcy5mb3JtYXRQaG9uZU51bWJlcih5KTtpZihtLnZhbHVlIT09TSl7bGV0IGs9bS5zZWxlY3Rpb25TdGFydHx8MDttLnZhbHVlPU07bGV0IEU9dGhpcy5jYWxjdWxhdGVDdXJzb3JQb3NpdGlvbih5LE0sayk7bS5zZXRTZWxlY3Rpb25SYW5nZShFLEUpfXRoaXMuZm9ybWF0dGVkUGhvbmU9TSx0aGlzLnZhbHVlPXksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9Y2xlYW5QaG9uZU51bWJlcihiKXtyZXR1cm4gYi5yZXBsYWNlKC9cRC9nLCIiKX1mb3JtYXRQaG9uZU51bWJlcihiKXtsZXQgbT10aGlzLmNsZWFuUGhvbmVOdW1iZXIoYik7cmV0dXJuIG0ubGVuZ3RoPT09MD8iIjptLmxlbmd0aDw9Mz9tOm0ubGVuZ3RoPD02P2AoJHttLnNsaWNlKDAsMyl9KSAke20uc2xpY2UoMyl9YDptLmxlbmd0aDw9MTA/YCgke20uc2xpY2UoMCwzKX0pICR7bS5zbGljZSgzLDYpfS0ke20uc2xpY2UoNil9YDpgKyR7bS5zbGljZSgwLG0ubGVuZ3RoLTEwKX0gKCR7bS5zbGljZSgtMTAsLTcpfSkgJHttLnNsaWNlKC03LC00KX0tJHttLnNsaWNlKC00KX1gfWNhbGN1bGF0ZUN1cnNvclBvc2l0aW9uKGIsbSx5KXtsZXQgTT0wO2ZvcihsZXQgaz0wO2s8eSYmazxtLmxlbmd0aDtrKyspL1xkLy50ZXN0KG1ba10pfHxNKys7cmV0dXJuIE1hdGgubWluKHkrTSxtLmxlbmd0aCl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZShiKXt0aGlzLnZhbHVlPWIsdGhpcy5mb3JtYXR0ZWRQaG9uZT10aGlzLmZvcm1hdFBob25lTnVtYmVyKGIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx1Nih0aGlzLHYpfXN0YXRpY3t1NihyLGEpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgclp0LGladD1jKCgpPT57cGUoKTtSYSgpO1cxKCk7clp0PWkoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e2xldCBlPXQucXVlcnlTZWxlY3RvcigiI3RvZ2dsZS1hbGwtb24iKSxhPXQucXVlcnlTZWxlY3RvcigiI3RvZ2dsZS1hbGwtb2ZmIikscj10LnF1ZXJ5U2VsZWN0b3JBbGwoIi5mZWF0dXJlLXRvZ2dsZXMgZGVlcy1pbnB1dC10b2dnbGUiKTtlJiZhJiYoZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntyLmZvckVhY2gocz0+eyFzLmRpc2FibGVkJiYhcy5yZXF1aXJlZCYmKHMudmFsdWU9ITApfSl9KSxhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3IuZm9yRWFjaChzPT57IXMuZGlzYWJsZWQmJiFzLnJlcXVpcmVkJiYocy52YWx1ZT0hMSl9KX0pKX19PgogICAgPHN0eWxlPgogICAgICAke1hgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQoKICAgICAgICBkZWVzLXBhbmVsIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQoKICAgICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICB9CgogICAgICAgIC50b2dnbGUtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAuaG9yaXpvbnRhbC10b2dnbGVzIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBnYXA6IDMycHg7CiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgfQoKICAgICAgICAuaW50ZXJhY3RpdmUtc2VjdGlvbiB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICB9CgogICAgICAgIC5vdXRwdXQtdGV4dCB7CiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTAgNDAlIDgwJSkiKX07CiAgICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTglKSIsImhzbCgyMTUgMjAuMiUgMTEuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgbWluLWhlaWdodDogMjRweDsKICAgICAgICB9CgogICAgICAgIC5zZXR0aW5ncy1zZWN0aW9uIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NyUpIiwiaHNsKDAgMCUgNyUpIil9OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgfQoKICAgICAgICAuYnV0dG9uLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAuZmVhdHVyZS10b2dnbGVzIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIH0KCiAgICAgICAgLmRyYWctaGludCB7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIFRvZ2dsZSJ9IC5zdWJ0aXRsZT0keyJTaW1wbGUgb24vb2ZmIHRvZ2dsZSBzd2l0Y2ggd2l0aCBkcmFnIHN1cHBvcnQifT4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJFbmFibGUgZmVhdHVyZSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAua2V5PSR7ImJhc2ljIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiQWN0aXZlIHRvZ2dsZSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAua2V5PSR7ImFjdGl2ZSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IldpdGggZGVzY3JpcHRpb24ifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRoaXMgdG9nZ2xlIGhhcyBhZGRpdGlvbmFsIGhlbHBlciB0ZXh0IGV4cGxhaW5pbmcgaXRzIHB1cnBvc2UifQogICAgICAgICAgICAua2V5PSR7IndpdGhEZXNjIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxwIGNsYXNzPSJkcmFnLWhpbnQiPlRpcDogWW91IGNhbiBkcmFnIHRoZSB0b2dnbGUga25vYiB0byBzd2l0Y2ggc3RhdGVzPC9wPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiVG9nZ2xlIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgdG9nZ2xlIHN0YXRlcyBhbmQgY29uZmlndXJhdGlvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJEZWZhdWx0IChvZmYpIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkVuYWJsZWQgKG9uKSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJEaXNhYmxlZCAob2ZmKSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiRGlzYWJsZWQgKG9uKSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiUmVxdWlyZWQgKGFsd2F5cyBvbikifQogICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJUaGlzIHRvZ2dsZSBjYW5ub3QgYmUgdHVybmVkIG9mZiJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ikhvcml6b250YWwgTGF5b3V0In0gLnN1YnRpdGxlPSR7IlRvZ2dsZXMgYXJyYW5nZWQgaG9yaXpvbnRhbGx5IGZvciBjb21wYWN0IGludGVyZmFjZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLXRvZ2dsZXMiPgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJXaUZpIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJCbHVldG9vdGgifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkdQUyJ9CiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiTkZDIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJTZXR0aW5ncyBFeGFtcGxlIn0gLnN1YnRpdGxlPSR7IlRvZ2dsZXMgaW4gYSB0eXBpY2FsIHNldHRpbmdzIGNvbnRleHQifT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uIj4KICAgICAgICAgIDxoNCBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Tm90aWZpY2F0aW9uIFNldHRpbmdzPC9oND4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtZ3JvdXAiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiUHVzaCBub3RpZmljYXRpb25zIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiUmVjZWl2ZSBwdXNoIG5vdGlmaWNhdGlvbnMgb24geW91ciBkZXZpY2UifQogICAgICAgICAgICAgIC5rZXk9JHsicHVzaCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkVtYWlsIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJHZXQgaW1wb3J0YW50IHVwZGF0ZXMgdmlhIGVtYWlsIn0KICAgICAgICAgICAgICAua2V5PSR7ImVtYWlsIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiU291bmQifQogICAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJQbGF5IGEgc291bmQgZm9yIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgICAgIC5rZXk9JHsic291bmQifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJWaWJyYXRpb24ifQogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJWaWJyYXRlIGZvciBub3RpZmljYXRpb25zIn0KICAgICAgICAgICAgICAua2V5PSR7InZpYnJhdGlvbiJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGZWF0dXJlIFRvZ2dsZXMifSAuc3VidGl0bGU9JHsiQmF0Y2ggb3BlcmF0aW9ucyBvbiBtdWx0aXBsZSB0b2dnbGVzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBpZD0idG9nZ2xlLWFsbC1vbiIgdHlwZT0ic2Vjb25kYXJ5Ij5FbmFibGUgQWxsPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBpZD0idG9nZ2xlLWFsbC1vZmYiIHR5cGU9InNlY29uZGFyeSI+RGlzYWJsZSBBbGw8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLXRvZ2dsZXMiPgogICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLWdyb3VwIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkRhcmsgTW9kZSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmtleT0keyJkYXJrTW9kZSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkF1dG8tc2F2ZSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmtleT0keyJhdXRvU2F2ZSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IlNwZWxsIGNoZWNrIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAua2V5PSR7InNwZWxsQ2hlY2sifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJEZXZlbG9wZXIgbW9kZSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmtleT0keyJkZXZNb2RlIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiQmV0YSBmZWF0dXJlcyJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmtleT0keyJiZXRhIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkludGVyYWN0aXZlIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiVG9nZ2xlIHRvIHNlZSB2YWx1ZSBjaGFuZ2VzIGluIHJlYWwtdGltZSJ9PgogICAgICAgIDxkaXYgY2xhc3M9InRvZ2dsZS1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkFpcnBsYW5lIG1vZGUifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgQG5ld1ZhbHVlPSR7dD0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhaXJwbGFuZS1vdXRwdXQiKTtlJiYoZS50ZXh0Q29udGVudD1gQWlycGxhbmUgbW9kZTogJHt0LmRldGFpbD8iT04iOiJPRkYifWApfX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiRG8gbm90IGRpc3R1cmIifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgQG5ld1ZhbHVlPSR7dD0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNkbmQtb3V0cHV0Iik7ZSYmKGUudGV4dENvbnRlbnQ9YERvIG5vdCBkaXN0dXJiOiAke3QuZGV0YWlsPyJFTkFCTEVEIjoiRElTQUJMRUQifWApfX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJpbnRlcmFjdGl2ZS1zZWN0aW9uIj4KICAgICAgICAgIDxkaXYgaWQ9ImFpcnBsYW5lLW91dHB1dCIgY2xhc3M9Im91dHB1dC10ZXh0Ij5BaXJwbGFuZSBtb2RlOiBPRkY8L2Rpdj4KICAgICAgICAgIDxkaXYgaWQ9ImRuZC1vdXRwdXQiIGNsYXNzPSJvdXRwdXQtdGV4dCIgc3R5bGU9Im1hcmdpbi10b3A6IDhweDsiPkRvIG5vdCBkaXN0dXJiOiBESVNBQkxFRDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgc1p0LCRPZSxFWixET2U9YygoKT0+e3BlKCk7SXQoKTtXYSgpO2ladCgpO0lyKCk7WGUoKTtzWnQ9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LCRPZT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sRVo9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLWlucHV0LXRvZ2dsZSIpXSxlLGE9W10scixzPW90LG4sbz1bXSxsPVtdO3ZhciBoPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzSW5wdXRUb2dnbGUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgdT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxzWnQodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmPT4idmFsdWUiaW4gZiwiaGFzIiksZ2V0OmkoZj0+Zi52YWx1ZSwiZ2V0Iiksc2V0OmkoKGYscCk9PntmLnZhbHVlPXB9LCJzZXQiKX0sbWV0YWRhdGE6dX0sbyxsKSxzWnQobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6dX0sbnVsbCxhKSxoPXI9ZS52YWx1ZSx1JiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnV9KX1zdGF0aWMgZGVtbz1yWnQ7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPSRPZSh0aGlzLG8sITEpO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNlfXNldCB2YWx1ZSh1KXt0aGlzLiNlPXV9Y3VycmVudFg9KCRPZSh0aGlzLGwpLDApO2lzRHJhZ2dpbmc9ITE7aGFzRHJhZ2dlZD0hMTtzdGFydFg9MDt0cmFja1dpZHRoPTM2O3RyYWNrSGVpZ2h0PTIwO2tub2JTaXplPTE0O3BhZGRpbmc9MjttYXhUcmF2ZWw9MTY7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMubGFiZWxQb3NpdGlvbj0icmlnaHQifXN0YXRpYyBzdHlsZXM9W0RlLC4uLm90LmJhc2VTdHlsZXMsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgICogewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIDpob3N0IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIGZvbnQtZmFtaWx5OiAke2dhfTsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS10cmFjayB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBtYXJnaW4tdG9wOiAxcHg7CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyOmhvdmVyIC50b2dnbGUtdHJhY2sgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoW3ZhbHVlXSkgLnRvZ2dsZS10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICB9CgogICAgICAudG9nZ2xlLXRyYWNrOmZvY3VzLXZpc2libGUgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7ZC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1rbm9iIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAycHg7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDdweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGxlZnQgMC4xNXMgZWFzZSwgYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICAgIHRvdWNoLWFjdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1rbm9iLmRyYWdnaW5nIHsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIDpob3N0KFt2YWx1ZV0pIC50b2dnbGUta25vYiB7CiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7CiAgICAgIH0KCiAgICAgIC8qIERpc2FibGVkIHN0YXRlICovCiAgICAgIC5tYWluY29udGFpbmVyLmRpc2FibGVkIHsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS10cmFjay5kaXNhYmxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFJlcXVpcmVkIHN0YXRlIChsb2NrZWQgb24pICovCiAgICAgIDpob3N0KFtyZXF1aXJlZF1bdmFsdWVdKSAudG9nZ2xlLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDYxLjIlKSIsImhzbCgyMTcuMiA5MS4yJSA0OS44JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDYxLjIlKSIsImhzbCgyMTcuMiA5MS4yJSA0OS44JSkiKX07CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgOmhvc3QoW3JlcXVpcmVkXVt2YWx1ZV0pIC50b2dnbGUta25vYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSA3MCUpIil9OwogICAgICB9CgogICAgICAvKiBMYWJlbCAqLwogICAgICAubGFiZWwtY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAycHg7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lcjpob3ZlciAudG9nZ2xlLWxhYmVsIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyLmRpc2FibGVkOmhvdmVyIC50b2dnbGUtbGFiZWwgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgIH0KCiAgICAgIC8qIERlc2NyaXB0aW9uICovCiAgICAgIC5kZXNjcmlwdGlvbi10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIgJHt0aGlzLmRpc2FibGVkPyJkaXNhYmxlZCI6IiJ9IiBAY2xpY2s9IiR7dGhpcy5oYW5kbGVDbGlja30iPgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0idG9nZ2xlLXRyYWNrICR7dGhpcy5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIKICAgICAgICAgICAgdGFiaW5kZXg9IiR7dGhpcy5kaXNhYmxlZD8iLTEiOiIwIn0iCiAgICAgICAgICAgIEBrZXlkb3duPSIke3RoaXMuaGFuZGxlS2V5ZG93bn0iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBjbGFzcz0idG9nZ2xlLWtub2IiCiAgICAgICAgICAgICAgc3R5bGU9ImxlZnQ6ICR7dGhpcy5wYWRkaW5nK3RoaXMuY3VycmVudFh9cHg7IgogICAgICAgICAgICAgIEBwb2ludGVyZG93bj0iJHt0aGlzLm9uUG9pbnRlckRvd259IgogICAgICAgICAgICAgIEBwb2ludGVybW92ZT0iJHt0aGlzLm9uUG9pbnRlck1vdmV9IgogICAgICAgICAgICAgIEBwb2ludGVydXA9IiR7dGhpcy5vblBvaW50ZXJVcH0iCiAgICAgICAgICAgICAgQHBvaW50ZXJjYW5jZWw9IiR7dGhpcy5vblBvaW50ZXJVcH0iCiAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtY29udGFpbmVyIj4KICAgICAgICAgICAgJHt0aGlzLmxhYmVsP3dgPGRpdiBjbGFzcz0idG9nZ2xlLWxhYmVsIj4ke3RoaXMubGFiZWx9PC9kaXY+YDoiIn0KICAgICAgICAgICAgJHt0aGlzLmRlc2NyaXB0aW9uP3dgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24tdGV4dCI+JHt0aGlzLmRlc2NyaXB0aW9ufTwvZGl2PmA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCh1KXthd2FpdCBzdXBlci5maXJzdFVwZGF0ZWQodSksdGhpcy5yZXF1aXJlZCYmIXRoaXMudmFsdWUmJih0aGlzLnZhbHVlPSEwKSx0aGlzLmN1cnJlbnRYPXRoaXMudmFsdWU/dGhpcy5tYXhUcmF2ZWw6MCx0aGlzLnJlcXVlc3RVcGRhdGUoKX1hc3luYyBoYW5kbGVDbGljayh1KXtpZih0aGlzLmlzRHJhZ2dpbmd8fHRoaXMuaGFzRHJhZ2dlZCl7dS5zdG9wUHJvcGFnYXRpb24oKSx1LnByZXZlbnREZWZhdWx0KCk7cmV0dXJufWlmKCF0aGlzLmRpc2FibGVkKXtpZih0aGlzLnJlcXVpcmVkKXt0aGlzLmN1cnJlbnRYPXRoaXMubWF4VHJhdmVsLHRoaXMucmVxdWVzdFVwZGF0ZSgpLGF3YWl0IG5ldyBQcm9taXNlKGY9PnNldFRpbWVvdXQoZiwxMCkpLHRoaXMuY3VycmVudFg9dGhpcy5tYXhUcmF2ZWwtMyx0aGlzLnJlcXVlc3RVcGRhdGUoKSxhd2FpdCBFdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDE1MCksdGhpcy5jdXJyZW50WD10aGlzLm1heFRyYXZlbCx0aGlzLnJlcXVlc3RVcGRhdGUoKTtyZXR1cm59dS5zdG9wUHJvcGFnYXRpb24oKSx1LnByZXZlbnREZWZhdWx0KCksdGhpcy52YWx1ZT0hdGhpcy52YWx1ZSx0aGlzLmN1cnJlbnRYPXRoaXMudmFsdWU/dGhpcy5tYXhUcmF2ZWw6MCx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJuZXdWYWx1ZSIse2RldGFpbDp0aGlzLnZhbHVlLGJ1YmJsZXM6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksRXQuc21hcnRkZWxheS5kZWxheUZvcigwKS50aGVuKCgpPT57dGhpcy5oYXNEcmFnZ2VkPSExfSl9fW9uUG9pbnRlckRvd24odSl7dGhpcy5yZXF1aXJlZHx8dGhpcy5kaXNhYmxlZHx8KHRoaXMuaXNEcmFnZ2luZz0hMCx0aGlzLnN0YXJ0WD11LmNsaWVudFgtdGhpcy5jdXJyZW50WCx1LnRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZSh1LnBvaW50ZXJJZCkpfW9uUG9pbnRlck1vdmUodSl7aWYoIXRoaXMuaXNEcmFnZ2luZylyZXR1cm47bGV0IGY9dS5jbGllbnRYLXRoaXMuc3RhcnRYO3RoaXMuaGFzRHJhZ2dlZD0hMDtsZXQgcD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50b2dnbGUta25vYiIpO3AmJnAuY2xhc3NMaXN0LmFkZCgiZHJhZ2dpbmciKSx0aGlzLmN1cnJlbnRYPU1hdGgubWF4KDAsTWF0aC5taW4oZix0aGlzLm1heFRyYXZlbCkpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfW9uUG9pbnRlclVwKHUpe2lmKCF0aGlzLmlzRHJhZ2dpbmd8fCh1LnRhcmdldC5yZWxlYXNlUG9pbnRlckNhcHR1cmUodS5wb2ludGVySWQpLHRoaXMuaXNEcmFnZ2luZz0hMSwhdGhpcy5oYXNEcmFnZ2VkKSlyZXR1cm47bGV0IGY9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudG9nZ2xlLWtub2IiKTtmJiZmLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIik7bGV0IHA9dGhpcy5tYXhUcmF2ZWwvMjt0aGlzLnZhbHVlPXRoaXMuY3VycmVudFg+cCx0aGlzLmN1cnJlbnRYPXRoaXMudmFsdWU/dGhpcy5tYXhUcmF2ZWw6MCx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJuZXdWYWx1ZSIse2RldGFpbDp0aGlzLnZhbHVlLGJ1YmJsZXM6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksRXQuc21hcnRkZWxheS5kZWxheUZvcigwKS50aGVuKCgpPT57dGhpcy5oYXNEcmFnZ2VkPSExfSl9dXBkYXRlZCh1KXtzdXBlci51cGRhdGVkKHUpLHUuaGFzKCJ2YWx1ZSIpJiYhdGhpcy5pc0RyYWdnaW5nJiYhdGhpcy5oYXNEcmFnZ2VkJiYodGhpcy5jdXJyZW50WD10aGlzLnZhbHVlP3RoaXMubWF4VHJhdmVsOjAsdGhpcy5yZXF1ZXN0VXBkYXRlKCkpfWhhbmRsZUtleWRvd24odSl7KHUua2V5PT09IiAifHx1LmtleT09PSJFbnRlciIpJiYodS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGFuZGxlQ2xpY2sodSkpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUodSl7dGhpcy52YWx1ZT11fWZvY3VzKCl7bGV0IHU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudG9nZ2xlLXRyYWNrIik7dSYmdS5mb2N1cygpfXN0YXRpY3skT2UocixhKX19O3JldHVybiBoPXJ9KSgpfSk7dmFyIG9adCxuWnQ9YygoKT0+e3BlKCk7b1p0PWkoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmlucHV0LWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLmhvcml6b250YWwtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaW5mby1ib3ggewogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTNmMmZkOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgY29sb3I6ICMxOTc2ZDI7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAgIC5pbmZvLWJveCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxZTNhNWY7CiAgICAgICAgICAgIGNvbG9yOiAjOTBjYWY5OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIFR5cGUgTGlzdCJ9IC5zdWJ0aXRsZT0keyJBZGQgYW5kIHJlbW92ZSBpdGVtcyBmcm9tIGEgbGlzdCJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgIC5sYWJlbD0keyJUYWdzIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkFkZCB0YWdzIGJ5IHR5cGluZyBhbmQgcHJlc3NpbmcgRW50ZXIifQogICAgICAgICAgICAudmFsdWU9JHtbImphdmFzY3JpcHQiLCJ0eXBlc2NyaXB0Iiwid2ViLWNvbXBvbmVudHMiXX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdHlwZWxpc3Q+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgLmxhYmVsPSR7IlRlYW0gTWVtYmVycyJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJBZGQgZW1haWwgYWRkcmVzc2VzIG9mIHRlYW0gbWVtYmVycyJ9CiAgICAgICAgICAgIC52YWx1ZT0ke1siYWxpY2VAZXhhbXBsZS5jb20iLCJib2JAZXhhbXBsZS5jb20iXX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdHlwZWxpc3Q+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJTa2lsbHMgJiBLZXl3b3JkcyJ9IC5zdWJ0aXRsZT0keyJNYW5hZ2UgbGlzdHMgb2Ygc2tpbGxzIGFuZCBrZXl3b3JkcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgIC5sYWJlbD0keyJZb3VyIFNraWxscyJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJMaXN0IHlvdXIgcHJvZmVzc2lvbmFsIHNraWxscyJ9CiAgICAgICAgICAgIC52YWx1ZT0ke1siSFRNTCIsIkNTUyIsIkphdmFTY3JpcHQiLCJOb2RlLmpzIiwiUmVhY3QiXX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdHlwZWxpc3Q+CgogICAgICAgICAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10eXBlbGlzdAogICAgICAgICAgICAubGFiZWw9JHsiQ2F0ZWdvcmllcyJ9CiAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAudmFsdWU9JHtbIlRlY2hub2xvZ3kiLCJEZXNpZ24iLCJCdXNpbmVzcyJdfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgLmxhYmVsPSR7IktleXdvcmRzIn0KICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC52YWx1ZT0ke1siaW5ub3ZhdGlvbiIsInN0YXJ0dXAiLCJncm93dGgiXX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdHlwZWxpc3Q+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJSZXF1aXJlZCAmIERpc2FibGVkIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgaW5wdXQgc3RhdGVzIGZvciB2YWxpZGF0aW9uIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgLmxhYmVsPSR7IlByb2plY3QgRGVwZW5kZW5jaWVzIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7Ikxpc3QgYWxsIHJlcXVpcmVkIG5wbSBwYWNrYWdlcyJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAudmFsdWU9JHtbIkBkZXNpZ24uZXN0YXRlL2RlZXMtZWxlbWVudCIsIkBkZXNpZ24uZXN0YXRlL2RlZXMtZG9tdG9vbHMiXX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdHlwZWxpc3Q+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgLmxhYmVsPSR7IlN5c3RlbSBUYWdzIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRoZXNlIHRhZ3MgYXJlIG1hbmFnZWQgYnkgdGhlIHN5c3RlbSJ9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgICAudmFsdWU9JHtbInN5c3RlbSIsInByb3RlY3RlZCIsInJlYWRvbmx5Il19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXR5cGVsaXN0PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQXJ0aWNsZSBQdWJsaXNoaW5nIEZvcm0ifSAuc3VidGl0bGU9JHsiQ29tcGxldGUgZm9ybSB3aXRoIHRhZyBtYW5hZ2VtZW50In0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IkFydGljbGUgVGl0bGUifSAucmVxdWlyZWQ9JHshMH0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAubGFiZWw9JHsiU3VtbWFyeSJ9IAogICAgICAgICAgICAuaW5wdXRUeXBlPSR7InRleHRhcmVhIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkJyaWVmIGRlc2NyaXB0aW9uIG9mIHRoZSBhcnRpY2xlIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgIC5sYWJlbD0keyJUYWdzIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkFkZCByZWxldmFudCB0YWdzIGZvciBiZXR0ZXIgZGlzY292ZXJhYmlsaXR5In0KICAgICAgICAgICAgLnZhbHVlPSR7WyJ0dXRvcmlhbCIsIndlYi1kZXZlbG9wbWVudCJdfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgIC5sYWJlbD0keyJDby1BdXRob3JzIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkFkZCBlbWFpbCBhZGRyZXNzZXMgb2YgY28tYXV0aG9ycyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXR5cGVsaXN0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImluZm8tYm94Ij4KICAgICAgICAgIDxzdHJvbmc+VGlwOjwvc3Ryb25nPiBUeXBlIGEgdmFsdWUgYW5kIHByZXNzIEVudGVyIHRvIGFkZCBpdCB0byB0aGUgbGlzdC4gQ2xpY2sgb24gYW55IGl0ZW0gdG8gcmVtb3ZlIGl0LgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgQU9lLEtPLElaLFBPZT1jKCgpPT57cGUoKTtJdCgpO1dhKCk7blp0KCk7WGUoKTtBT2U9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LEtPPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxJWj0oKCk9PntsZXQgdD1bYWUoImRlZXMtaW5wdXQtdHlwZWxpc3QiKV0sZSxhPVtdLHIscz1vdCxuLG89W10sbD1bXSxoLHU9W10sZj1bXTt2YXIgcD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0lucHV0VHlwZWxpc3QiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgZz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOkFycmF5fSldLGg9W1ooKV0sQU9lKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+InZhbHVlImluIHYsImhhcyIpLGdldDppKHY9PnYudmFsdWUsImdldCIpLHNldDppKCh2LHgpPT57di52YWx1ZT14fSwic2V0Iil9LG1ldGFkYXRhOmd9LG8sbCksQU9lKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5wdXRWYWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh2PT4iaW5wdXRWYWx1ZSJpbiB2LCJoYXMiKSxnZXQ6aSh2PT52LmlucHV0VmFsdWUsImdldCIpLHNldDppKCh2LHgpPT57di5pbnB1dFZhbHVlPXh9LCJzZXQiKX0sbWV0YWRhdGE6Z30sdSxmKSxBT2UobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Z30sbnVsbCxhKSxwPXI9ZS52YWx1ZSxnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmd9KX1zdGF0aWMgZGVtbz1vWnQ7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPUtPKHRoaXMsbyxbXSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKGcpe3RoaXMuI2U9Z30jdD0oS08odGhpcyxsKSxLTyh0aGlzLHUsIiIpKTtnZXQgaW5wdXRWYWx1ZSgpe3JldHVybiB0aGlzLiN0fXNldCBpbnB1dFZhbHVlKGcpe3RoaXMuI3Q9Z31zdGF0aWMgc3R5bGVzPVtEZSwuLi5vdC5iYXNlU3R5bGVzLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMzMzIiwiI2ZmZiIpfTsKICAgICAgfQogICAgICAubWFpbmJveCB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmFmYWZhIiwiIzIyMjIyMiIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJvcmRlci10b3A6ICR7ZC5iZFRoZW1lKCIxcHggc29saWQgI0NDQyIsIjFweCBzb2xpZCAjZmZmZmZmMTAiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHtkLmJkVGhlbWUoIjFweCBzb2xpZCAjQ0NDIiwiMXB4IHNvbGlkICMyMjIiKX07CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAke2QuYmRUaGVtZSgiMXB4IHNvbGlkICNDQ0MiLCIxcHggc29saWQgI2ZmZmZmZjEwIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiAke2QuYmRUaGVtZSgiMXB4IHNvbGlkICNDQ0MiLCIxcHggc29saWQgI2ZmZmZmZjEwIil9OwogICAgICAgIGJveC1zaGFkb3c6ICR7ZC5iZFRoZW1lKCIwcHggMXB4IDRweCByZ2JhKDAsMCwwLDAuMykiLCJub25lIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQogICAgICAKICAgICAgLm1haW5ib3g6aG92ZXIgewogICAgICAgIGZpbHRlcjogJHtkLmJkVGhlbWUoImJyaWdodG5lc3MoMC45OCkiLCJicmlnaHRuZXNzKDEuMDUpIil9OwogICAgICB9CiAgICAgIAogICAgICAubWFpbmJveDpmb2N1cy13aXRoaW4gewogICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2QuYmRUaGVtZSgiIzAwNjlmMiIsIiMwMDg0ZmYiKX07CiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7CiAgICAgIH0KCiAgICAgIC50YWdzIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgfQoKICAgICAgLm5vdGFncyB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzk5OSIsIiM2NjYiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgaW5wdXQgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNWY1ZjUiLCIjMTgxODE4Iil9OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgICAgIHBhZGRpbmc6IDBweCAxNnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAwcHg7CiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuMnM7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTBlMGUwIiwiIzMzMyIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6Zm9jdXMgewogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZhZmFmYSIsIiMxYTFhMWEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIGlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjOTk5IiwiIzY2NiIpfTsKICAgICAgfQoKICAgICAgLnRhZyB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZThmNWU5IiwiIzJkM2EyZCIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMyZTdkMzIiLCIjODFjNzg0Iil9OwogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBtYXJnaW46IDNweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2M4ZTZjOSIsIiMxYjVlMjAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC50YWc6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjYzhlNmM5IiwiIzNkNGYzZCIpfTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7CiAgICAgIH0KCiAgICAgIC50YWcgLnJlbW92ZSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yczsKICAgICAgfQoKICAgICAgLnRhZyAucmVtb3ZlOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2M2MjgyOCIsIiNlZjUzNTAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIERpc2FibGVkIHN0YXRlICovCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC5tYWluYm94IHsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnRhZ3MgewogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC50YWcgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbZGlzYWJsZWRdKSBpbnB1dCB7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2YwZjBmMCIsIiMxYTFhMWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuZGVzY3JpcHRpb249JHt0aGlzLmRlc2NyaXB0aW9ufT48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbmJveCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWdzIiBAY2xpY2s9JHsoKT0+e3RoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLmZvY3VzKCl9fT4KICAgICAgICAgICAgJHt0aGlzLnZhbHVlLmxlbmd0aD09PTA/d2A8ZGl2IGNsYXNzPSJub3RhZ3MiPk5vIHRhZ3MgeWV0PC9kaXY+YDp0aGlzLnZhbHVlLm1hcChnPT53YAogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWciPgogICAgICAgICAgICAgICAgICAgICAgJHtnfQogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJlbW92ZSIgQGNsaWNrPSR7dj0+e3Yuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5yZW1vdmVUYWcoZyl9fT7Dlzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgcGxhY2Vob2xkZXI9IlR5cGUsIHByZXNzIEVudGVyIHRvIGFkZCBpdC4uLiIKICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5pbnB1dFZhbHVlfQogICAgICAgICAgICBAaW5wdXQ9JHtnPT57dGhpcy5pbnB1dFZhbHVlPWcudGFyZ2V0LnZhbHVlfX0KICAgICAgICAgICAgQGtleWRvd249JHtnPT57Zy5rZXk9PT0iRW50ZXIiJiZ0aGlzLmlucHV0VmFsdWUudHJpbSgpJiYoZy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuYWRkVGFnKHRoaXMuaW5wdXRWYWx1ZS50cmltKCkpKX19CiAgICAgICAgICAgIC5kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgICAvPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YWRkVGFnKGcpe3RoaXMudmFsdWUuaW5jbHVkZXMoZyl8fCh0aGlzLnZhbHVlPVsuLi50aGlzLnZhbHVlLGddLHRoaXMuaW5wdXRWYWx1ZT0iIix0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSl9cmVtb3ZlVGFnKGcpe3RoaXMudmFsdWU9dGhpcy52YWx1ZS5maWx0ZXIodj0+diE9PWcpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoZyl7dGhpcy52YWx1ZT1nfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxLTyh0aGlzLGYpfXN0YXRpY3tLTyhyLGEpfX07cmV0dXJuIHA9cn0pKCl9KTt2YXIgbFp0LGNadCxkWnQ9YygoKT0+e3BlKCk7UmEoKTtXMSgpO2NadD1pKCgpPT53KGxadHx8KGxadD1CNihbYAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICBgLGAKICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLWlucHV0LXRhZ3MKICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgIC52YWx1ZT1gLGAKICAgICAgICAgIC5kZXNjcmlwdGlvbj1gLGAKICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAubGFiZWw9YCxgCiAgICAgICAgICAucGxhY2Vob2xkZXI9YCxgCiAgICAgICAgICAuc3VnZ2VzdGlvbnM9YCxgCiAgICAgICAgICAudmFsdWU9YCxgCiAgICAgICAgICAuZGVzY3JpcHRpb249YCxgCiAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1sYXlvdXQiPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGFncwogICAgICAgICAgICAubGFiZWw9YCxgCiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgICAgLm1heFRhZ3M9YCxgCiAgICAgICAgICAgIC52YWx1ZT1gLGAKICAgICAgICAgICAgLmRlc2NyaXB0aW9uPWAsYAogICAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgICAgLnBsYWNlaG9sZGVyPWAsYAogICAgICAgICAgICAubWF4VGFncz1gLGAKICAgICAgICAgICAgLnN1Z2dlc3Rpb25zPWAsYAogICAgICAgICAgICAudmFsdWU9YCxgCiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj1gLGAKICAgICAgICAgID48L2RlZXMtaW5wdXQtdGFncz4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLWlucHV0LXRhZ3MKICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgIC5yZXF1aXJlZD1gLGAKICAgICAgICAgIC5kZXNjcmlwdGlvbj1gLGAKICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAubGFiZWw9YCxgCiAgICAgICAgICAudmFsdWU9YCxgCiAgICAgICAgICAuZGlzYWJsZWQ9YCxgCiAgICAgICAgICAuZGVzY3JpcHRpb249YCxgCiAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgICAucGxhY2Vob2xkZXI9YCxgCiAgICAgICAgICAgIC5yZXF1aXJlZD1gLGAKICAgICAgICAgICAgLmtleT1gLGAKICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1sYXlvdXQiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgICAgICAucmVxdWlyZWQ9YCxgCiAgICAgICAgICAgICAgLmtleT1gLGAKICAgICAgICAgICAgICAuc3VnZ2VzdGlvbnM9YCxgCiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdGFncz4KICAgICAgICAgICAgCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRhZ3MKICAgICAgICAgICAgICAubGFiZWw9YCxgCiAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPWAsYAogICAgICAgICAgICAgIC5rZXk9YCxgCiAgICAgICAgICAgICAgLm1heFRhZ3M9YCxgCiAgICAgICAgICAgICAgLnN1Z2dlc3Rpb25zPWAsYAogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9YCxgCiAgICAgICAgICAgIC5pbnB1dFR5cGU9YCxgCiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgICAgLmtleT1gLGAKICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgLnRleHQ9YCxgPjwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLWlucHV0LXRhZ3MKICAgICAgICAgIGlkPSJpbnRlcmFjdGl2ZS10YWdzIgogICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgLnBsYWNlaG9sZGVyPWAsYAogICAgICAgICAgLnN1Z2dlc3Rpb25zPWAsYAogICAgICAgICAgQGNoYW5nZT1gLGAKICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0idGFnLXByZXZpZXciIGlkPSJ0YWdzLXByZXZpZXciPgogICAgICAgICAgPGVtIHN0eWxlPSJjb2xvcjogIzk5OTsiPk5vIHRhZ3MgYWRkZWQgeWV0Li4uPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJvdXRwdXQtcHJldmlldyIgaWQ9InRhZ3MtanNvbiI+CiAgICAgICAgICA8ZW0+SlNPTiBvdXRwdXQgd2lsbCBhcHBlYXIgaGVyZS4uLjwvZW0+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPHNjcmlwdD4KICAgICAgICAgIC8vIFVwZGF0ZSBKU09OIHByZXZpZXcKICAgICAgICAgIGNvbnN0IHRhZ3NJbnB1dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNpbnRlcmFjdGl2ZS10YWdzJyk7CiAgICAgICAgICB0YWdzSW5wdXQ/LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsIChlKSA9PiB7CiAgICAgICAgICAgIGNvbnN0IGpzb25QcmV2aWV3ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3RhZ3MtanNvbicpOwogICAgICAgICAgICBpZiAoanNvblByZXZpZXcpIHsKICAgICAgICAgICAgICBqc29uUHJldmlldy50ZXh0Q29udGVudCA9IEpTT04uc3RyaW5naWZ5KGUuZGV0YWlsLnZhbHVlLCBudWxsLCAyKTsKICAgICAgICAgICAgfQogICAgICAgICAgfSk7CiAgICAgICAgPFwvc2NyaXB0PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmBdKSksWGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5vdXRwdXQtcHJldmlldyB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICNmM2Y0ZjY7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBjb2xvcjogIzM3NDE1MTsKICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4OwogICAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgICAgLm91dHB1dC1wcmV2aWV3IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzJjMmMyYzsKICAgICAgICAgICAgY29sb3I6ICNlNGU0ZTc7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC50YWctcHJldmlldyB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgICAgYmFja2dyb3VuZDogI2Y5ZmFmYjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgICAudGFnLXByZXZpZXcgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMWYyOTM3OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAudGFnLXByZXZpZXctaXRlbSB7CiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgICBwYWRkaW5nOiA0cHggMTJweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICNlMGU3ZmY7CiAgICAgICAgICBjb2xvcjogIzQzMzhjYTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAgIC50YWctcHJldmlldy1pdGVtIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzMxMmU4MTsKICAgICAgICAgICAgY29sb3I6ICNjN2QyZmU7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICBgLCIxLiBCYXNpYyBUYWdzIElucHV0IiwiU2ltcGxlIHRhZyBpbnB1dCB3aXRoIGNvbW1vbiBwcm9ncmFtbWluZyBsYW5ndWFnZXMiLCJQcm9ncmFtbWluZyBMYW5ndWFnZXMiLCJBZGQgYSBsYW5ndWFnZS4uLiIsWyJKYXZhU2NyaXB0IiwiVHlwZVNjcmlwdCIsIlB5dGhvbiIsIkdvIl0sIlByZXNzIEVudGVyIG9yIGNvbW1hIHRvIGFkZCB0YWdzIiwiMi4gVGFncyB3aXRoIFN1Z2dlc3Rpb25zIiwiQXV0by1jb21wbGV0ZSBzdWdnZXN0aW9ucyBmb3IgZmFzdGVyIGlucHV0IiwiVGVjaCBTdGFjayIsIlR5cGUgdG8gc2VlIHN1Z2dlc3Rpb25zLi4uIixbIlJlYWN0IiwiVnVlIiwiQW5ndWxhciIsIlN2ZWx0ZSIsIkxpdCIsIk5leHQuanMiLCJOdXh0IiwiU3ZlbHRlS2l0IiwiTm9kZS5qcyIsIkRlbm8iLCJCdW4iLCJFeHByZXNzIiwiRmFzdGlmeSIsIk5lc3QuanMiLCJLb2EiLCJNb25nb0RCIiwiUG9zdGdyZVNRTCIsIlJlZGlzIiwiTXlTUUwiLCJTUUxpdGUiLCJDYXNzYW5kcmEiLCJEb2NrZXIiLCJLdWJlcm5ldGVzIiwiQVdTIiwiQXp1cmUiLCJHQ1AiLCJWZXJjZWwiLCJOZXRsaWZ5Il0sWyJSZWFjdCIsIk5vZGUuanMiLCJQb3N0Z3JlU1FMIiwiRG9ja2VyIl0sIlN0YXJ0IHR5cGluZyB0byBzZWUgc3VnZ2VzdGlvbnMgZnJvbSBwb3B1bGFyIHRlY2hub2xvZ2llcyIsIjMuIExpbWl0ZWQgVGFncyIsIlJlc3RyaWN0IHRoZSBudW1iZXIgb2YgdGFncyB1c2VycyBjYW4gYWRkIiwiVG9wIDMgU2tpbGxzIiwiQWRkIHVwIHRvIDMgc2tpbGxzLi4uIiwzLFsiRGVzaWduIiwiRGV2ZWxvcG1lbnQiXSwiTWF4aW11bSAzIHRhZ3MgYWxsb3dlZCIsIkNhdGVnb3JpZXMgKE1heCA1KSIsIlNlbGVjdCBjYXRlZ29yaWVzLi4uIiw1LFsiQmxvZyIsIlR1dG9yaWFsIiwiTmV3cyIsIlJldmlldyIsIkd1aWRlIiwiQ2FzZSBTdHVkeSIsIkludGVydmlldyJdLFsiVHV0b3JpYWwiLCJHdWlkZSJdLCJDaG9vc2UgdXAgdG8gNSBjYXRlZ29yaWVzIiwiNC4gUmVxdWlyZWQgJiBWYWxpZGF0aW9uIiwiVGFncyBpbnB1dCB3aXRoIHZhbGlkYXRpb24gcmVxdWlyZW1lbnRzIiwiUHJvamVjdCBUYWdzIiwiQWRkIGF0IGxlYXN0IG9uZSB0YWcuLi4iLCEwLCJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkIC0gYWRkIGF0IGxlYXN0IG9uZSB0YWciLCI1LiBEaXNhYmxlZCBTdGF0ZSIsIlJlYWQtb25seSB0YWdzIGRpc3BsYXkiLCJTeXN0ZW0gVGFncyIsWyJTeXN0ZW0iLCJQcm90ZWN0ZWQiLCJSZWFkLU9ubHkiLCJBcmNoaXZlIl0sITAsIlRoZXNlIHRhZ3MgY2Fubm90IGJlIG1vZGlmaWVkIiwiNi4gRm9ybSBJbnRlZ3JhdGlvbiIsIlRhZ3MgaW5wdXQgd29ya2luZyB3aXRoaW4gYSBmb3JtIGNvbnRleHQiLCJQcm9qZWN0IE5hbWUiLCJNeSBBd2Vzb21lIFByb2plY3QiLCEwLCJuYW1lIiwiVGVjaG5vbG9naWVzIFVzZWQiLCJBZGQgdGVjaG5vbG9naWVzLi4uIiwhMCwidGVjaG5vbG9naWVzIixbIlR5cGVTY3JpcHQiLCJKYXZhU2NyaXB0IiwiUHl0aG9uIiwiR28iLCJSdXN0IiwiUmVhY3QiLCJWdWUiLCJBbmd1bGFyIiwiU3ZlbHRlIiwiTm9kZS5qcyIsIkRlbm8iLCJFeHByZXNzIiwiRmFzdEFQSSJdLCJQcm9qZWN0IFRhZ3MiLCJBZGQgZGVzY3JpcHRpdmUgdGFncy4uLiIsInRhZ3MiLDEwLFsiZnJvbnRlbmQiLCJiYWNrZW5kIiwiZnVsbHN0YWNrIiwibW9iaWxlIiwiZGVza3RvcCIsIndlYiIsImFwaSIsImRhdGFiYXNlIiwiZGV2b3BzIiwidWkvdXgiLCJvcGVuc291cmNlIiwic2FhcyIsImVudGVycHJpc2UiLCJzdGFydHVwIl0sIkRlc2NyaXB0aW9uIiwidGV4dGFyZWEiLCJEZXNjcmliZSB5b3VyIHByb2plY3QuLi4iLCJkZXNjcmlwdGlvbiIsIkNyZWF0ZSBQcm9qZWN0IiwiNy4gSW50ZXJhY3RpdmUgRGVtbyIsIkFkZCB0YWdzIGFuZCBzZWUgdGhlbSBjb2xsZWN0ZWQgaW4gcmVhbC10aW1lIiwiWW91ciBJbnRlcmVzdHMiLCJUeXBlIHlvdXIgaW50ZXJlc3RzLi4uIixbIk11c2ljIiwiTW92aWVzIiwiQm9va3MiLCJUcmF2ZWwiLCJQaG90b2dyYXBoeSIsIkNvb2tpbmciLCJHYW1pbmciLCJTcG9ydHMiLCJBcnQiLCJUZWNobm9sb2d5IiwiRmFzaGlvbiIsIkZpdG5lc3MiLCJOYXR1cmUiLCJTY2llbmNlIiwiSGlzdG9yeSJdLHQ9PntsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjdGFncy1wcmV2aWV3IiksYT10LmRldGFpbC52YWx1ZTtlJiYoYS5sZW5ndGg9PT0wP2UuaW5uZXJIVE1MPSc8ZW0gc3R5bGU9ImNvbG9yOiAjOTk5OyI+Tm8gdGFncyBhZGRlZCB5ZXQuLi48L2VtPic6ZS5pbm5lckhUTUw9YS5tYXAocj0+YDxzcGFuIGNsYXNzPSJ0YWctcHJldmlldy1pdGVtIj4ke3J9PC9zcGFuPmApLmpvaW4oIiIpKX0pLCJkZW1vRnVuYyIpfSk7dmFyIERvLHRyLE5aLEVPZT1jKCgpPT57cGUoKTtXYSgpO0t0KCk7ZFp0KCk7WGUoKTtEbz1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sdHI9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LE5aPSgoKT0+e2xldCB0PVthZSgiZGVlcy1pbnB1dC10YWdzIildLGUsYT1bXSxyLHM9b3QsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W10sTiwkPVtdLEk9W10saixTPVtdLHo9W107dmFyIEQ9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNJbnB1dFRhZ3MiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgVD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOkFycmF5fSldLGg9W0woe3R5cGU6U3RyaW5nfSldLHA9W0woe3R5cGU6TnVtYmVyfSldLHg9W0woe3R5cGU6QXJyYXl9KV0seT1bWigpXSxFPVtaKCldLE49W1ooKV0saj1bTCh7dHlwZTpTdHJpbmd9KV0sRG8odGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShBPT4idmFsdWUiaW4gQSwiaGFzIiksZ2V0OmkoQT0+QS52YWx1ZSwiZ2V0Iiksc2V0OmkoKEEsVSk9PntBLnZhbHVlPVV9LCJzZXQiKX0sbWV0YWRhdGE6VH0sbyxsKSxEbyh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEE9PiJwbGFjZWhvbGRlciJpbiBBLCJoYXMiKSxnZXQ6aShBPT5BLnBsYWNlaG9sZGVyLCJnZXQiKSxzZXQ6aSgoQSxVKT0+e0EucGxhY2Vob2xkZXI9VX0sInNldCIpfSxtZXRhZGF0YTpUfSx1LGYpLERvKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4VGFncyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShBPT4ibWF4VGFncyJpbiBBLCJoYXMiKSxnZXQ6aShBPT5BLm1heFRhZ3MsImdldCIpLHNldDppKChBLFUpPT57QS5tYXhUYWdzPVV9LCJzZXQiKX0sbWV0YWRhdGE6VH0sZyx2KSxEbyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN1Z2dlc3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEE9PiJzdWdnZXN0aW9ucyJpbiBBLCJoYXMiKSxnZXQ6aShBPT5BLnN1Z2dlc3Rpb25zLCJnZXQiKSxzZXQ6aSgoQSxVKT0+e0Euc3VnZ2VzdGlvbnM9VX0sInNldCIpfSxtZXRhZGF0YTpUfSxiLG0pLERvKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5wdXRWYWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShBPT4iaW5wdXRWYWx1ZSJpbiBBLCJoYXMiKSxnZXQ6aShBPT5BLmlucHV0VmFsdWUsImdldCIpLHNldDppKChBLFUpPT57QS5pbnB1dFZhbHVlPVV9LCJzZXQiKX0sbWV0YWRhdGE6VH0sTSxrKSxEbyh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dTdWdnZXN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShBPT4ic2hvd1N1Z2dlc3Rpb25zImluIEEsImhhcyIpLGdldDppKEE9PkEuc2hvd1N1Z2dlc3Rpb25zLCJnZXQiKSxzZXQ6aSgoQSxVKT0+e0Euc2hvd1N1Z2dlc3Rpb25zPVV9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyxDKSxEbyh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEE9PiJoaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleCJpbiBBLCJoYXMiKSxnZXQ6aShBPT5BLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4LCJnZXQiKSxzZXQ6aSgoQSxVKT0+e0EuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXg9VX0sInNldCIpfSxtZXRhZGF0YTpUfSwkLEkpLERvKHRoaXMsbnVsbCxqLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsaWRhdGlvblRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQT0+InZhbGlkYXRpb25UZXh0ImluIEEsImhhcyIpLGdldDppKEE9PkEudmFsaWRhdGlvblRleHQsImdldCIpLHNldDppKChBLFUpPT57QS52YWxpZGF0aW9uVGV4dD1VfSwic2V0Iil9LG1ldGFkYXRhOlR9LFMseiksRG8obnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6VH0sbnVsbCxhKSxEPXI9ZS52YWx1ZSxUJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlR9KX1zdGF0aWMgZGVtbz1jWnQ7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPXRyKHRoaXMsbyxbXSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKFQpe3RoaXMuI2U9VH0jdD0odHIodGhpcyxsKSx0cih0aGlzLHUsIkFkZCB0YWdzLi4uIikpO2dldCBwbGFjZWhvbGRlcigpe3JldHVybiB0aGlzLiN0fXNldCBwbGFjZWhvbGRlcihUKXt0aGlzLiN0PVR9I2E9KHRyKHRoaXMsZiksdHIodGhpcyxnLDApKTtnZXQgbWF4VGFncygpe3JldHVybiB0aGlzLiNhfXNldCBtYXhUYWdzKFQpe3RoaXMuI2E9VH0jcj0odHIodGhpcyx2KSx0cih0aGlzLGIsW10pKTtnZXQgc3VnZ2VzdGlvbnMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc3VnZ2VzdGlvbnMoVCl7dGhpcy4jcj1UfSNpPSh0cih0aGlzLG0pLHRyKHRoaXMsTSwiIikpO2dldCBpbnB1dFZhbHVlKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGlucHV0VmFsdWUoVCl7dGhpcy4jaT1UfSNzPSh0cih0aGlzLGspLHRyKHRoaXMsXywhMSkpO2dldCBzaG93U3VnZ2VzdGlvbnMoKXtyZXR1cm4gdGhpcy4jc31zZXQgc2hvd1N1Z2dlc3Rpb25zKFQpe3RoaXMuI3M9VH0jbz0odHIodGhpcyxDKSx0cih0aGlzLCQsLTEpKTtnZXQgaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXgoKXtyZXR1cm4gdGhpcy4jb31zZXQgaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXgoVCl7dGhpcy4jbz1UfSNuPSh0cih0aGlzLEkpLHRyKHRoaXMsUywiIikpO2dldCB2YWxpZGF0aW9uVGV4dCgpe3JldHVybiB0aGlzLiNufXNldCB2YWxpZGF0aW9uVGV4dChUKXt0aGlzLiNuPVR9c3RhdGljIHN0eWxlcz1bRGUsLi4ub3QuYmFzZVN0eWxlcyxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdSb2JvdG8nLCBzYW5zLXNlcmlmOwogICAgICB9CgogICAgICAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC50YWdzLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgICBtaW4taGVpZ2h0OiA0MHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGN1cnNvcjogdGV4dDsKICAgICAgfQoKICAgICAgLnRhZ3MtY29udGFpbmVyOmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KCiAgICAgIC50YWdzLWNvbnRhaW5lcjpmb2N1cy13aXRoaW4gewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2QuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4xKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC50YWdzLWNvbnRhaW5lci5kaXNhYmxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC50YWcgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxNSAyMC4yJSA2NS4xJSAvIDAuMikiLCJoc2woMjE1IDIwLjIlIDM1LjElIC8gMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgMjYuNyUpIiwiaHNsKDIxNy45IDEwLjYlIDc0LjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDIxNSAyMC4yJSA2NS4xJSAvIDAuMykiLCJoc2woMjE1IDIwLjIlIDM1LjElIC8gMC4zKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgYW5pbWF0aW9uOiB0YWdBcHBlYXIgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyB0YWdBcHBlYXIgewogICAgICAgIGZyb20gewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnRhZy1yZW1vdmUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA0Ni43JSkiLCJoc2woMjE3LjkgMTAuNiUgNTQuOSUpIil9OwogICAgICB9CgogICAgICAudGFnLXJlbW92ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wOCkiLCJoc2woMCAwJSAxMDAlIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTcuOSAxMC42JSA3NC45JSkiKX07CiAgICAgIH0KCiAgICAgIC50YWctcmVtb3ZlIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgICAgaGVpZ2h0OiAxMHB4OwogICAgICB9CgogICAgICAudGFnLWlucHV0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMTIwcHg7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICBwYWRkaW5nOiAycHggNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICB9CgogICAgICAudGFnLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA2My45JSkiLCJoc2woMCAwJSA0NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC50YWctaW5wdXQ6ZGlzYWJsZWQgewogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC8qIFN1Z2dlc3Rpb25zIGRyb3Bkb3duICovCiAgICAgIC5zdWdnZXN0aW9ucy1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLnN1Z2dlc3Rpb25zLWRyb3Bkb3duIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IGhzbCgwIDAlIDAlIC8gMC4xKSwgMCAycHggNHB4IC0ycHggaHNsKDAgMCUgMCUgLyAwLjEpOwogICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgei1pbmRleDogMTAwMDsKICAgICAgfQoKICAgICAgLnN1Z2dlc3Rpb24gewogICAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgfQoKICAgICAgLnN1Z2dlc3Rpb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgIH0KCiAgICAgIC5zdWdnZXN0aW9uLmhpZ2hsaWdodGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CgogICAgICAvKiBWYWxpZGF0aW9uIHN0eWxlcyAqLwogICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlKSIsImhzbCgwIDYyLjglIDMwLjYlKSIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWFyZ2luLXRvcDogNnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgIH0KCiAgICAgIC8qIERlc2NyaXB0aW9uIHN0eWxlcyAqLwogICAgICAuZGVzY3JpcHRpb24gewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBtYXJnaW4tdG9wOiA2cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgfQoKICAgICAgLyogU2Nyb2xsYmFyIHN0eWxpbmcgKi8KICAgICAgLnN1Z2dlc3Rpb25zLWRyb3Bkb3duOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgfQoKICAgICAgLnN1Z2dlc3Rpb25zLWRyb3Bkb3duOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5zdWdnZXN0aW9ucy1kcm9wZG93bjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICB9CgogICAgICAuc3VnZ2VzdGlvbnMtZHJvcGRvd246Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMjAuOSUpIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgVD10aGlzLnN1Z2dlc3Rpb25zLmZpbHRlcihBPT4hdGhpcy52YWx1ZS5pbmNsdWRlcyhBKSYmQS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuaW5wdXRWYWx1ZS50b0xvd2VyQ2FzZSgpKSk7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgICR7dGhpcy5sYWJlbD93YDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx9IC5yZXF1aXJlZD0ke3RoaXMucmVxdWlyZWR9PjwvZGVlcy1sYWJlbD5gOiIifQogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9InN1Z2dlc3Rpb25zLWNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIGNsYXNzPSJ0YWdzLWNvbnRhaW5lciAke3RoaXMuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlQ29udGFpbmVyQ2xpY2t9CiAgICAgICAgICA+CiAgICAgICAgICAgICR7dGhpcy52YWx1ZS5tYXAoQT0+d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWciPgogICAgICAgICAgICAgICAgPHNwYW4+JHtBfTwvc3Bhbj4KICAgICAgICAgICAgICAgICR7dGhpcy5kaXNhYmxlZD8iIjp3YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWctcmVtb3ZlIiBAY2xpY2s9JHtVPT50aGlzLnJlbW92ZVRhZyhVLEEpfT4KICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp4In0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIAogICAgICAgICAgICAkeyF0aGlzLmRpc2FibGVkJiYoIXRoaXMubWF4VGFnc3x8dGhpcy52YWx1ZS5sZW5ndGg8dGhpcy5tYXhUYWdzKT93YAogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJ0YWctaW5wdXQiCiAgICAgICAgICAgICAgICAucGxhY2Vob2xkZXI9JHt0aGlzLnBsYWNlaG9sZGVyfQogICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5pbnB1dFZhbHVlfQogICAgICAgICAgICAgICAgQGlucHV0PSR7dGhpcy5oYW5kbGVJbnB1dH0KICAgICAgICAgICAgICAgIEBrZXlkb3duPSR7dGhpcy5oYW5kbGVLZXlEb3dufQogICAgICAgICAgICAgICAgQGZvY3VzPSR7dGhpcy5oYW5kbGVGb2N1c30KICAgICAgICAgICAgICAgIEBibHVyPSR7dGhpcy5oYW5kbGVCbHVyfQogICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgICAgICAvPgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgJHt0aGlzLnNob3dTdWdnZXN0aW9ucyYmVC5sZW5ndGg+MD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWdnZXN0aW9ucy1kcm9wZG93biI+CiAgICAgICAgICAgICAgJHtULm1hcCgoQSxVKT0+d2AKICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgY2xhc3M9InN1Z2dlc3Rpb24gJHtVPT09dGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleD8iaGlnaGxpZ2h0ZWQiOiIifSIKICAgICAgICAgICAgICAgICAgQG1vdXNlZG93bj0ke1I9PntSLnByZXZlbnREZWZhdWx0KCksdGhpcy5hZGRUYWcoQSl9fQogICAgICAgICAgICAgICAgICBAbW91c2VlbnRlcj0keygpPT50aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4PVV9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICR7QX0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGApfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CgogICAgICAgICR7dGhpcy52YWxpZGF0aW9uVGV4dD93YAogICAgICAgICAgPGRpdiBjbGFzcz0idmFsaWRhdGlvbi1tZXNzYWdlIj4ke3RoaXMudmFsaWRhdGlvblRleHR9PC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgICAKICAgICAgICAke3RoaXMuZGVzY3JpcHRpb24/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4ke3RoaXMuZGVzY3JpcHRpb259PC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZUNvbnRhaW5lckNsaWNrKFQpe2lmKHRoaXMuZGlzYWJsZWQpcmV0dXJuO2xldCBBPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnRhZy1pbnB1dCIpO0EmJlQudGFyZ2V0IT09QSYmQS5mb2N1cygpfWhhbmRsZUlucHV0KFQpe2xldCBBPVQudGFyZ2V0O2lmKHRoaXMuaW5wdXRWYWx1ZT1BLnZhbHVlLHRoaXMuaW5wdXRWYWx1ZS5pbmNsdWRlcygiLCIpfHx0aGlzLmlucHV0VmFsdWUuaW5jbHVkZXMoIjsiKSl7bGV0IFU9dGhpcy5pbnB1dFZhbHVlLnJlcGxhY2UoL1ssO10vZywiIikudHJpbSgpO1UmJnRoaXMuYWRkVGFnKFUpfX1oYW5kbGVLZXlEb3duKFQpe2xldCBBPVQudGFyZ2V0O2lmKFQua2V5PT09IkVudGVyIilpZihULnByZXZlbnREZWZhdWx0KCksdGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleD49MCYmdGhpcy5zaG93U3VnZ2VzdGlvbnMpe2xldCBVPXRoaXMuc3VnZ2VzdGlvbnMuZmlsdGVyKFI9PiF0aGlzLnZhbHVlLmluY2x1ZGVzKFIpJiZSLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5pbnB1dFZhbHVlLnRvTG93ZXJDYXNlKCkpKTtVW3RoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXhdJiZ0aGlzLmFkZFRhZyhVW3RoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXhdKX1lbHNlIHRoaXMuaW5wdXRWYWx1ZS50cmltKCkmJnRoaXMuYWRkVGFnKHRoaXMuaW5wdXRWYWx1ZS50cmltKCkpO2Vsc2UgaWYoVC5rZXk9PT0iQmFja3NwYWNlIiYmIXRoaXMuaW5wdXRWYWx1ZSYmdGhpcy52YWx1ZS5sZW5ndGg+MCl0aGlzLnJlbW92ZVRhZyhULHRoaXMudmFsdWVbdGhpcy52YWx1ZS5sZW5ndGgtMV0pO2Vsc2UgaWYoVC5rZXk9PT0iQXJyb3dEb3duIiYmdGhpcy5zaG93U3VnZ2VzdGlvbnMpe1QucHJldmVudERlZmF1bHQoKTtsZXQgVT10aGlzLnN1Z2dlc3Rpb25zLmZpbHRlcihSPT4hdGhpcy52YWx1ZS5pbmNsdWRlcyhSKSYmUi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuaW5wdXRWYWx1ZS50b0xvd2VyQ2FzZSgpKSkubGVuZ3RoO3RoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXg9TWF0aC5taW4odGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleCsxLFUtMSl9ZWxzZSBULmtleT09PSJBcnJvd1VwIiYmdGhpcy5zaG93U3VnZ2VzdGlvbnM/KFQucHJldmVudERlZmF1bHQoKSx0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4PU1hdGgubWF4KHRoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXgtMSwwKSk6VC5rZXk9PT0iRXNjYXBlIiYmKHRoaXMuc2hvd1N1Z2dlc3Rpb25zPSExLHRoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXg9LTEpfWhhbmRsZUZvY3VzKCl7dGhpcy5zdWdnZXN0aW9ucy5sZW5ndGg+MCYmKHRoaXMuc2hvd1N1Z2dlc3Rpb25zPSEwKX1oYW5kbGVCbHVyKCl7c2V0VGltZW91dCgoKT0+e3RoaXMuc2hvd1N1Z2dlc3Rpb25zPSExLHRoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXg9LTF9LDIwMCl9YWRkVGFnKFQpe2lmKCFUfHx0aGlzLnZhbHVlLmluY2x1ZGVzKFQpfHx0aGlzLm1heFRhZ3MmJnRoaXMudmFsdWUubGVuZ3RoPj10aGlzLm1heFRhZ3MpcmV0dXJuO3RoaXMudmFsdWU9Wy4uLnRoaXMudmFsdWUsVF0sdGhpcy5pbnB1dFZhbHVlPSIiLHRoaXMuc2hvd1N1Z2dlc3Rpb25zPSExLHRoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXg9LTE7bGV0IEE9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudGFnLWlucHV0Iik7QSYmKEEudmFsdWU9IiIpLHRoaXMuZW1pdENoYW5nZSgpfXJlbW92ZVRhZyhULEEpe1Quc3RvcFByb3BhZ2F0aW9uKCksdGhpcy52YWx1ZT10aGlzLnZhbHVlLmZpbHRlcihVPT5VIT09QSksdGhpcy5lbWl0Q2hhbmdlKCl9ZW1pdENoYW5nZSgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNoYW5nZSIse2RldGFpbDp7dmFsdWU6dGhpcy52YWx1ZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKFQpe3RoaXMudmFsdWU9VHx8W119YXN5bmMgdmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5yZXF1aXJlZCYmKCF0aGlzLnZhbHVlfHx0aGlzLnZhbHVlLmxlbmd0aD09PTApPyh0aGlzLnZhbGlkYXRpb25UZXh0PSJBdCBsZWFzdCBvbmUgdGFnIGlzIHJlcXVpcmVkIiwhMSk6KHRoaXMudmFsaWRhdGlvblRleHQ9IiIsITApfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0cih0aGlzLHopfXN0YXRpY3t0cihyLGEpfX07cmV0dXJuIEQ9cn0pKCl9KTt2YXIgcFp0LHVadD1jKCgpPT57cGUoKTtSYSgpO1cxKCk7VTgoKTtjbCgpO2M2KCk7cFp0PWkoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5vdXRwdXQtcHJldmlldyB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICNmM2Y0ZjY7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBjb2xvcjogIzM3NDE1MTsKICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4OwogICAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgICAgLm91dHB1dC1wcmV2aWV3IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzJjMmMyYzsKICAgICAgICAgICAgY29sb3I6ICNlNGU0ZTc7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5mZWF0dXJlLW5vdGUgewogICAgICAgICAgbWFyZ2luLXRvcDogMTJweDsKICAgICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWZmNmZmOwogICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjM2I4MmY2OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgY29sb3I6ICMxZTQwYWY7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAgIC5mZWF0dXJlLW5vdGUgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMWUzYTVmOwogICAgICAgICAgICBjb2xvcjogIzkzYzVmZDsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIxLiBCYXNpYyBMaXN0IElucHV0In0gLnN1YnRpdGxlPSR7IlNpbXBsZSBsaXN0IG1hbmFnZW1lbnQgd2l0aCBhZGQsIGVkaXQsIGFuZCBkZWxldGUifT4KICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAubGFiZWw9JHsiU2hvcHBpbmcgTGlzdCJ9CiAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiQWRkIGl0ZW0gdG8geW91ciBsaXN0Li4uIn0KICAgICAgICAgIC52YWx1ZT0ke1siTWlsayIsIkJyZWFkIiwiRWdncyIsIkNoZWVzZSJdfQogICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkRvdWJsZS1jbGljayB0byBlZGl0IGl0ZW1zLCBvciB1c2UgdGhlIGVkaXQgYnV0dG9uIn0KICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ub3RlIj4KICAgICAgICAgIPCfkqEgRG91YmxlLWNsaWNrIGFueSBpdGVtIHRvIHF1aWNrbHkgZWRpdCBpdCBpbmxpbmUKICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjIuIFNvcnRhYmxlIExpc3QifSAuc3VidGl0bGU9JHsiRHJhZyBhbmQgZHJvcCB0byByZW9yZGVyIGl0ZW1zIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgLmxhYmVsPSR7IlRhc2sgUHJpb3JpdHkifQogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCBhIHRhc2suLi4ifQogICAgICAgICAgLnNvcnRhYmxlPSR7ITB9CiAgICAgICAgICAudmFsdWU9JHtbIlJldmlldyBwdWxsIHJlcXVlc3RzIiwiRml4IGNyaXRpY2FsIGJ1ZyIsIlVwZGF0ZSBkb2N1bWVudGF0aW9uIiwiRGVwbG95IHRvIHByb2R1Y3Rpb24iLCJUZWFtIHN0YW5kdXAgbWVldGluZyJdfQogICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkRyYWcgaXRlbXMgdXNpbmcgdGhlIGhhbmRsZSB0byByZW9yZGVyIHRoZW0ifQogICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLW5vdGUiPgogICAgICAgICAg8J+UhCBEcmFnIHRoZSBncmlwIGhhbmRsZSB0byByZW9yZGVyIHRhc2tzIGJ5IHByaW9yaXR5CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIzLiBWYWxpZGF0aW9uICYgQ29uc3RyYWludHMifSAuc3VidGl0bGU9JHsiTGlzdHMgd2l0aCBtaW5pbXVtL21heGltdW0gaXRlbXMgYW5kIGR1cGxpY2F0ZSBwcmV2ZW50aW9uIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1sYXlvdXQiPgogICAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgICAubGFiZWw9JHsiVGVhbSBNZW1iZXJzIChNaW4gMiwgTWF4IDUpIn0KICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCB0ZWFtIG1lbWJlci4uLiJ9CiAgICAgICAgICAgIC5taW5JdGVtcz0kezJ9CiAgICAgICAgICAgIC5tYXhJdGVtcz0kezV9CiAgICAgICAgICAgIC52YWx1ZT0ke1siQWxpY2UiLCJCb2IiXX0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJBZGQgMi01IHRlYW0gbWVtYmVycyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgICAgLmxhYmVsPSR7IlVuaXF1ZSBUYWdzIChObyBEdXBsaWNhdGVzKSJ9CiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBZGQgdW5pcXVlIHRhZy4uLiJ9CiAgICAgICAgICAgIC5hbGxvd0R1cGxpY2F0ZXM9JHshMX0KICAgICAgICAgICAgLnZhbHVlPSR7WyJmcm9udGVuZCIsImJhY2tlbmQiLCJkYXRhYmFzZSJdfQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiRHVwbGljYXRlIGl0ZW1zIGFyZSBub3QgYWxsb3dlZCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI0LiBEZWxldGUgQ29uZmlybWF0aW9uIn0gLnN1YnRpdGxlPSR7IlJlcXVpcmUgY29uZmlybWF0aW9uIGJlZm9yZSBkZWxldGluZyBpdGVtcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIC5sYWJlbD0keyJJbXBvcnRhbnQgRG9jdW1lbnRzIn0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBZGQgZG9jdW1lbnQgbmFtZS4uLiJ9CiAgICAgICAgICAuY29uZmlybURlbGV0ZT0keyEwfQogICAgICAgICAgLnZhbHVlPSR7WyJDb250cmFjdF8yMDI0LnBkZiIsIkZpbmFuY2lhbF9SZXBvcnRfUTMueGxzeCIsIlByb2plY3RfUHJvcG9zYWwuZG9jeCIsIk1lZXRpbmdfTm90ZXMudHh0Il19CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiRGVsZXRpb24gcmVxdWlyZXMgY29uZmlybWF0aW9uIGZvciBzYWZldHkifQogICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjUuIERpc2FibGVkIFN0YXRlIn0gLnN1YnRpdGxlPSR7IlJlYWQtb25seSBsaXN0IGRpc3BsYXkifT4KICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAubGFiZWw9JHsiU3lzdGVtIERlZmF1bHRzIn0KICAgICAgICAgIC52YWx1ZT0ke1siRGVmYXVsdCBTZXR0aW5nIDEiLCJEZWZhdWx0IFNldHRpbmcgMiIsIkRlZmF1bHQgU2V0dGluZyAzIl19CiAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJUaGVzZSBpdGVtcyBjYW5ub3QgYmUgbW9kaWZpZWQifQogICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjYuIEZvcm0gSW50ZWdyYXRpb24ifSAuc3VidGl0bGU9JHsiTGlzdCBpbnB1dCB3b3JraW5nIHdpdGhpbiBhIGZvcm0gY29udGV4dCJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJSZWNpcGUgTmFtZSJ9CiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJNeSBBbWF6aW5nIFJlY2lwZSJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAua2V5PSR7Im5hbWUifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWxheW91dCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgICAgICAubGFiZWw9JHsiSW5ncmVkaWVudHMifQogICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBZGQgaW5ncmVkaWVudC4uLiJ9CiAgICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgICAgLm1pbkl0ZW1zPSR7M30KICAgICAgICAgICAgICAua2V5PSR7ImluZ3JlZGllbnRzIn0KICAgICAgICAgICAgICAuc29ydGFibGU9JHshMH0KICAgICAgICAgICAgICAudmFsdWU9JHtbIjIgY3VwcyBmbG91ciIsIjEgY3VwIHN1Z2FyIiwiMyBlZ2dzIl19CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkFkZCBhdCBsZWFzdCAzIGluZ3JlZGllbnRzIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICAgICAgICAKICAgICAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgICAgIC5sYWJlbD0keyJJbnN0cnVjdGlvbnMifQogICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBZGQgaW5zdHJ1Y3Rpb24gc3RlcC4uLiJ9CiAgICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgICAgLm1pbkl0ZW1zPSR7Mn0KICAgICAgICAgICAgICAua2V5PSR7Imluc3RydWN0aW9ucyJ9CiAgICAgICAgICAgICAgLnNvcnRhYmxlPSR7ITB9CiAgICAgICAgICAgICAgLnZhbHVlPSR7WyJQcmVoZWF0IG92ZW4gdG8gMzUwXHhCMEYiLCJNaXggZHJ5IGluZ3JlZGllbnRzIl19CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkFkZCBjb29raW5nIGluc3RydWN0aW9ucyBpbiBvcmRlciJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJOb3RlcyJ9CiAgICAgICAgICAgIC5pbnB1dFR5cGU9JHsidGV4dGFyZWEifQogICAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiQW55IHNwZWNpYWwgbm90ZXMgb3IgdGlwcy4uLiJ9CiAgICAgICAgICAgIC5rZXk9JHsibm90ZXMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCAudGV4dD0keyJTYXZlIFJlY2lwZSJ9PjwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjcuIEludGVyYWN0aXZlIERlbW8ifSAuc3VidGl0bGU9JHsiQnVpbGQgeW91ciBvd24gZmVhdHVyZSBsaXN0IGFuZCBzZWUgdGhlIGRhdGEifT4KICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICBpZD0iaW50ZXJhY3RpdmUtbGlzdCIKICAgICAgICAgIC5sYWJlbD0keyJQcm9kdWN0IEZlYXR1cmVzIn0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBZGQgYSBmZWF0dXJlLi4uIn0KICAgICAgICAgIC5zb3J0YWJsZT0keyEwfQogICAgICAgICAgLmNvbmZpcm1EZWxldGU9JHshMX0KICAgICAgICAgIC5hbGxvd0R1cGxpY2F0ZXM9JHshMX0KICAgICAgICAgIC5tYXhJdGVtcz0kezEwfQogICAgICAgICAgQGNoYW5nZT0ke3Q9PntsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjbGlzdC1qc29uIik7aWYoZSl7bGV0IGE9e2l0ZW1zOnQuZGV0YWlsLnZhbHVlLGNvdW50OnQuZGV0YWlsLnZhbHVlLmxlbmd0aCx0aW1lc3RhbXA6bmV3IERhdGUoKS50b0lTT1N0cmluZygpfTtlLnRleHRDb250ZW50PUpTT04uc3RyaW5naWZ5KGEsbnVsbCwyKX19fQogICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJvdXRwdXQtcHJldmlldyIgaWQ9Imxpc3QtanNvbiI+CiAgICAgICAgICB7CiAgICAgICAgICAgICJpdGVtcyI6IFtdLAogICAgICAgICAgICAiY291bnQiOiAwLAogICAgICAgICAgICAidGltZXN0YW1wIjogIiR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfSIKICAgICAgICAgIH0KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLW5vdGUiPgogICAgICAgICAg4pyoIEFkZCwgZWRpdCwgcmVtb3ZlLCBhbmQgcmVvcmRlciBpdGVtcyB0byBzZWUgdGhlIEpTT04gb3V0cHV0IHVwZGF0ZSBpbiByZWFsLXRpbWUKICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjguIEFkdmFuY2VkIENvbmZpZ3VyYXRpb24ifSAuc3VidGl0bGU9JHsiQ29tYmluZSBhbGwgZmVhdHVyZXMgZm9yIGNvbXBsZXggdXNlIGNhc2VzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgLmxhYmVsPSR7IlByb2plY3QgTWlsZXN0b25lcyJ9CiAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiQWRkIG1pbGVzdG9uZS4uLiJ9CiAgICAgICAgICAudmFsdWU9JHtbIlByb2plY3QgS2lja29mZiAtIFdlZWsgMSIsIlJlcXVpcmVtZW50cyBHYXRoZXJpbmcgLSBXZWVrIDItMyIsIkRlc2lnbiBQaGFzZSAtIFdlZWsgNC02IiwiRGV2ZWxvcG1lbnQgU3ByaW50IDEgLSBXZWVrIDctOSIsIlRlc3RpbmcgJiBRQSAtIFdlZWsgMTAtMTEiLCJEZXBsb3ltZW50IC0gV2VlayAxMiJdfQogICAgICAgICAgLnNvcnRhYmxlPSR7ITB9CiAgICAgICAgICAuY29uZmlybURlbGV0ZT0keyEwfQogICAgICAgICAgLmFsbG93RHVwbGljYXRlcz0keyExfQogICAgICAgICAgLm1pbkl0ZW1zPSR7M30KICAgICAgICAgIC5tYXhJdGVtcz0kezEyfQogICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiTWFuYWdlIHByb2plY3QgbWlsZXN0b25lcyAoMy0xMiBpdGVtcywgc29ydGFibGUsIG5vIGR1cGxpY2F0ZXMpIn0KICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI5LiBFbXB0eSBTdGF0ZSJ9IC5zdWJ0aXRsZT0keyJIb3cgdGhlIGNvbXBvbmVudCBsb29rcyB3aXRoIG5vIGl0ZW1zIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgLmxhYmVsPSR7IllvdXIgSWRlYXMifQogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IlNoYXJlIHlvdXIgaWRlYXMuLi4ifQogICAgICAgICAgLnZhbHVlPSR7W119CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiU3RhcnQgYWRkaW5nIGl0ZW1zIHRvIGJ1aWxkIHlvdXIgbGlzdCJ9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgRzEsUXQsUlosSU9lPWMoKCk9PntwZSgpO1dhKCk7S3QoKTtubCgpO3VadCgpO1hlKCk7RzE9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LFF0PWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxSWj0oKCk9PntsZXQgdD1bYWUoImRlZXMtaW5wdXQtbGlzdCIpXSxlLGE9W10scixzPW90LG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdLEUsXz1bXSxDPVtdLE4sJD1bXSxJPVtdLGosUz1bXSx6PVtdLEQsVD1bXSxBPVtdLFUsUj1bXSxxPVtdLG9lLE89W10scmU9W10seWUsQj1bXSxlZT1bXSxDZSxZPVtdLFA9W10sSCxHPVtdLFc9W10sc2UsemU9W10sTWU9W10sRWUsVj1bXSxGPVtdLG5lLHRlPVtdLEs9W107dmFyIGtlPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzSW5wdXRMaXN0Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IHZlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6QXJyYXl9KV0saD1bTCh7dHlwZTpTdHJpbmd9KV0scD1bTCh7dHlwZTpOdW1iZXJ9KV0seD1bTCh7dHlwZTpOdW1iZXJ9KV0seT1bTCh7dHlwZTpCb29sZWFufSldLEU9W0woe3R5cGU6Qm9vbGVhbn0pXSxOPVtMKHt0eXBlOkJvb2xlYW59KV0saj1bTCh7dHlwZTpTdHJpbmd9KV0sRD1bWigpXSxVPVtaKCldLG9lPVtaKCldLHllPVtaKCldLENlPVtaKCldLEg9W1ooKV0sc2U9W1ooKV0sRWU9W1ooKV0sbmU9W1ooKV0sRzEodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShkZT0+InZhbHVlImluIGRlLCJoYXMiKSxnZXQ6aShkZT0+ZGUudmFsdWUsImdldCIpLHNldDppKChkZSwkZSk9PntkZS52YWx1ZT0kZX0sInNldCIpfSxtZXRhZGF0YTp2ZX0sbyxsKSxHMSh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGRlPT4icGxhY2Vob2xkZXIiaW4gZGUsImhhcyIpLGdldDppKGRlPT5kZS5wbGFjZWhvbGRlciwiZ2V0Iiksc2V0OmkoKGRlLCRlKT0+e2RlLnBsYWNlaG9sZGVyPSRlfSwic2V0Iil9LG1ldGFkYXRhOnZlfSx1LGYpLEcxKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4SXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZGU9PiJtYXhJdGVtcyJpbiBkZSwiaGFzIiksZ2V0OmkoZGU9PmRlLm1heEl0ZW1zLCJnZXQiKSxzZXQ6aSgoZGUsJGUpPT57ZGUubWF4SXRlbXM9JGV9LCJzZXQiKX0sbWV0YWRhdGE6dmV9LGcsdiksRzEodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtaW5JdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShkZT0+Im1pbkl0ZW1zImluIGRlLCJoYXMiKSxnZXQ6aShkZT0+ZGUubWluSXRlbXMsImdldCIpLHNldDppKChkZSwkZSk9PntkZS5taW5JdGVtcz0kZX0sInNldCIpfSxtZXRhZGF0YTp2ZX0sYixtKSxHMSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFsbG93RHVwbGljYXRlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShkZT0+ImFsbG93RHVwbGljYXRlcyJpbiBkZSwiaGFzIiksZ2V0OmkoZGU9PmRlLmFsbG93RHVwbGljYXRlcywiZ2V0Iiksc2V0OmkoKGRlLCRlKT0+e2RlLmFsbG93RHVwbGljYXRlcz0kZX0sInNldCIpfSxtZXRhZGF0YTp2ZX0sTSxrKSxHMSh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNvcnRhYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGRlPT4ic29ydGFibGUiaW4gZGUsImhhcyIpLGdldDppKGRlPT5kZS5zb3J0YWJsZSwiZ2V0Iiksc2V0OmkoKGRlLCRlKT0+e2RlLnNvcnRhYmxlPSRlfSwic2V0Iil9LG1ldGFkYXRhOnZlfSxfLEMpLEcxKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29uZmlybURlbGV0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShkZT0+ImNvbmZpcm1EZWxldGUiaW4gZGUsImhhcyIpLGdldDppKGRlPT5kZS5jb25maXJtRGVsZXRlLCJnZXQiKSxzZXQ6aSgoZGUsJGUpPT57ZGUuY29uZmlybURlbGV0ZT0kZX0sInNldCIpfSxtZXRhZGF0YTp2ZX0sJCxJKSxHMSh0aGlzLG51bGwsaix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbGlkYXRpb25UZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGRlPT4idmFsaWRhdGlvblRleHQiaW4gZGUsImhhcyIpLGdldDppKGRlPT5kZS52YWxpZGF0aW9uVGV4dCwiZ2V0Iiksc2V0OmkoKGRlLCRlKT0+e2RlLnZhbGlkYXRpb25UZXh0PSRlfSwic2V0Iil9LG1ldGFkYXRhOnZlfSxTLHopLEcxKHRoaXMsbnVsbCxELHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5wdXRWYWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShkZT0+ImlucHV0VmFsdWUiaW4gZGUsImhhcyIpLGdldDppKGRlPT5kZS5pbnB1dFZhbHVlLCJnZXQiKSxzZXQ6aSgoZGUsJGUpPT57ZGUuaW5wdXRWYWx1ZT0kZX0sInNldCIpfSxtZXRhZGF0YTp2ZX0sVCxBKSxHMSh0aGlzLG51bGwsVSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVkaXRpbmdJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShkZT0+ImVkaXRpbmdJbmRleCJpbiBkZSwiaGFzIiksZ2V0OmkoZGU9PmRlLmVkaXRpbmdJbmRleCwiZ2V0Iiksc2V0OmkoKGRlLCRlKT0+e2RlLmVkaXRpbmdJbmRleD0kZX0sInNldCIpfSxtZXRhZGF0YTp2ZX0sUixxKSxHMSh0aGlzLG51bGwsb2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlZGl0aW5nVmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZGU9PiJlZGl0aW5nVmFsdWUiaW4gZGUsImhhcyIpLGdldDppKGRlPT5kZS5lZGl0aW5nVmFsdWUsImdldCIpLHNldDppKChkZSwkZSk9PntkZS5lZGl0aW5nVmFsdWU9JGV9LCJzZXQiKX0sbWV0YWRhdGE6dmV9LE8scmUpLEcxKHRoaXMsbnVsbCx5ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdnZWRJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShkZT0+ImRyYWdnZWRJbmRleCJpbiBkZSwiaGFzIiksZ2V0OmkoZGU9PmRlLmRyYWdnZWRJbmRleCwiZ2V0Iiksc2V0OmkoKGRlLCRlKT0+e2RlLmRyYWdnZWRJbmRleD0kZX0sInNldCIpfSxtZXRhZGF0YTp2ZX0sQixlZSksRzEodGhpcyxudWxsLENlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHJhZ092ZXJJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShkZT0+ImRyYWdPdmVySW5kZXgiaW4gZGUsImhhcyIpLGdldDppKGRlPT5kZS5kcmFnT3ZlckluZGV4LCJnZXQiKSxzZXQ6aSgoZGUsJGUpPT57ZGUuZHJhZ092ZXJJbmRleD0kZX0sInNldCIpfSxtZXRhZGF0YTp2ZX0sWSxQKSxHMSh0aGlzLG51bGwsSCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdTdGFydFkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZGU9PiJkcmFnU3RhcnRZImluIGRlLCJoYXMiKSxnZXQ6aShkZT0+ZGUuZHJhZ1N0YXJ0WSwiZ2V0Iiksc2V0OmkoKGRlLCRlKT0+e2RlLmRyYWdTdGFydFk9JGV9LCJzZXQiKX0sbWV0YWRhdGE6dmV9LEcsVyksRzEodGhpcyxudWxsLHNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHJhZ0N1cnJlbnRZIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGRlPT4iZHJhZ0N1cnJlbnRZImluIGRlLCJoYXMiKSxnZXQ6aShkZT0+ZGUuZHJhZ0N1cnJlbnRZLCJnZXQiKSxzZXQ6aSgoZGUsJGUpPT57ZGUuZHJhZ0N1cnJlbnRZPSRlfSwic2V0Iil9LG1ldGFkYXRhOnZlfSx6ZSxNZSksRzEodGhpcyxudWxsLEVlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFyZ2V0SW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZGU9PiJ0YXJnZXRJbmRleCJpbiBkZSwiaGFzIiksZ2V0OmkoZGU9PmRlLnRhcmdldEluZGV4LCJnZXQiKSxzZXQ6aSgoZGUsJGUpPT57ZGUudGFyZ2V0SW5kZXg9JGV9LCJzZXQiKX0sbWV0YWRhdGE6dmV9LFYsRiksRzEodGhpcyxudWxsLG5lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXRlbUhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShkZT0+Iml0ZW1IZWlnaHQiaW4gZGUsImhhcyIpLGdldDppKGRlPT5kZS5pdGVtSGVpZ2h0LCJnZXQiKSxzZXQ6aSgoZGUsJGUpPT57ZGUuaXRlbUhlaWdodD0kZX0sInNldCIpfSxtZXRhZGF0YTp2ZX0sdGUsSyksRzEobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6dmV9LG51bGwsYSksa2U9cj1lLnZhbHVlLHZlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnZlfSl9c3RhdGljIGRlbW89cFp0O3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1RdCh0aGlzLG8sW10pO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNlfXNldCB2YWx1ZSh2ZSl7dGhpcy4jZT12ZX0jdD0oUXQodGhpcyxsKSxRdCh0aGlzLHUsIkFkZCBuZXcgaXRlbS4uLiIpKTtnZXQgcGxhY2Vob2xkZXIoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcGxhY2Vob2xkZXIodmUpe3RoaXMuI3Q9dmV9I2E9KFF0KHRoaXMsZiksUXQodGhpcyxnLDApKTtnZXQgbWF4SXRlbXMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbWF4SXRlbXModmUpe3RoaXMuI2E9dmV9I3I9KFF0KHRoaXMsdiksUXQodGhpcyxiLDApKTtnZXQgbWluSXRlbXMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbWluSXRlbXModmUpe3RoaXMuI3I9dmV9I2k9KFF0KHRoaXMsbSksUXQodGhpcyxNLCExKSk7Z2V0IGFsbG93RHVwbGljYXRlcygpe3JldHVybiB0aGlzLiNpfXNldCBhbGxvd0R1cGxpY2F0ZXModmUpe3RoaXMuI2k9dmV9I3M9KFF0KHRoaXMsayksUXQodGhpcyxfLCExKSk7Z2V0IHNvcnRhYmxlKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNvcnRhYmxlKHZlKXt0aGlzLiNzPXZlfSNvPShRdCh0aGlzLEMpLFF0KHRoaXMsJCwhMSkpO2dldCBjb25maXJtRGVsZXRlKCl7cmV0dXJuIHRoaXMuI299c2V0IGNvbmZpcm1EZWxldGUodmUpe3RoaXMuI289dmV9I249KFF0KHRoaXMsSSksUXQodGhpcyxTLCIiKSk7Z2V0IHZhbGlkYXRpb25UZXh0KCl7cmV0dXJuIHRoaXMuI259c2V0IHZhbGlkYXRpb25UZXh0KHZlKXt0aGlzLiNuPXZlfSNsPShRdCh0aGlzLHopLFF0KHRoaXMsVCwiIikpO2dldCBpbnB1dFZhbHVlKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGlucHV0VmFsdWUodmUpe3RoaXMuI2w9dmV9I2M9KFF0KHRoaXMsQSksUXQodGhpcyxSLC0xKSk7Z2V0IGVkaXRpbmdJbmRleCgpe3JldHVybiB0aGlzLiNjfXNldCBlZGl0aW5nSW5kZXgodmUpe3RoaXMuI2M9dmV9I2Q9KFF0KHRoaXMscSksUXQodGhpcyxPLCIiKSk7Z2V0IGVkaXRpbmdWYWx1ZSgpe3JldHVybiB0aGlzLiNkfXNldCBlZGl0aW5nVmFsdWUodmUpe3RoaXMuI2Q9dmV9I3A9KFF0KHRoaXMscmUpLFF0KHRoaXMsQiwtMSkpO2dldCBkcmFnZ2VkSW5kZXgoKXtyZXR1cm4gdGhpcy4jcH1zZXQgZHJhZ2dlZEluZGV4KHZlKXt0aGlzLiNwPXZlfSN1PShRdCh0aGlzLGVlKSxRdCh0aGlzLFksLTEpKTtnZXQgZHJhZ092ZXJJbmRleCgpe3JldHVybiB0aGlzLiN1fXNldCBkcmFnT3ZlckluZGV4KHZlKXt0aGlzLiN1PXZlfSNmPShRdCh0aGlzLFApLFF0KHRoaXMsRywwKSk7Z2V0IGRyYWdTdGFydFkoKXtyZXR1cm4gdGhpcy4jZn1zZXQgZHJhZ1N0YXJ0WSh2ZSl7dGhpcy4jZj12ZX0jaD0oUXQodGhpcyxXKSxRdCh0aGlzLHplLDApKTtnZXQgZHJhZ0N1cnJlbnRZKCl7cmV0dXJuIHRoaXMuI2h9c2V0IGRyYWdDdXJyZW50WSh2ZSl7dGhpcy4jaD12ZX0jbT0oUXQodGhpcyxNZSksUXQodGhpcyxWLC0xKSk7Z2V0IHRhcmdldEluZGV4KCl7cmV0dXJuIHRoaXMuI219c2V0IHRhcmdldEluZGV4KHZlKXt0aGlzLiNtPXZlfSNnPShRdCh0aGlzLEYpLFF0KHRoaXMsdGUsMCkpO2dldCBpdGVtSGVpZ2h0KCl7cmV0dXJuIHRoaXMuI2d9c2V0IGl0ZW1IZWlnaHQodmUpe3RoaXMuI2c9dmV9Ym91bmRIYW5kbGVHbG9iYWxEcmFnT3Zlcj0oUXQodGhpcyxLKSxudWxsKTtib3VuZEhhbmRsZUdsb2JhbERyYWdFbmQ9bnVsbDtvcmlnaW5hbEl0ZW1SZWN0cz1bXTtzdGF0aWMgc3R5bGVzPVtEZSwuLi5vdC5iYXNlU3R5bGVzLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5pbnB1dC13cmFwcGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLmxpc3QtY29udGFpbmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAubGlzdC1jb250YWluZXI6aG92ZXI6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgfQoKICAgICAgLmxpc3QtY29udGFpbmVyOmZvY3VzLXdpdGhpbiB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7ZC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmxpc3QtY29udGFpbmVyLmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLmxpc3QtaXRlbXMgewogICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KCiAgICAgIC5saXN0LWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgYmFja2dyb3VuZCAwLjE1cyBlYXNlLCBib3gtc2hhZG93IDAuMTVzIGVhc2U7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47IC8qIFByZXZlbnQgYW5pbWF0aW9uIGZyb20gYWZmZWN0aW5nIHNjcm9sbCBib3VuZHMgKi8KICAgICAgfQoKICAgICAgLmxpc3QtaXRlbTpsYXN0LW9mLXR5cGUgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5saXN0LWl0ZW1zOm5vdCguaXMtZHJhZ2dpbmcpIC5saXN0LWl0ZW06aG92ZXI6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5Ny41JSkiLCJoc2woMCAwJSA2LjklKSIpfTsKICAgICAgfQoKICAgICAgLyogRHJhZ2dpbmcgaXRlbSAtIGZvbGxvd3MgY3Vyc29yICovCiAgICAgIC5saXN0LWl0ZW0uZHJhZ2dpbmcgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB6LWluZGV4OiAxMDA7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk4JSkiLCJoc2woMjE1IDIwLjIlIDEyJSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjE1KSIsInJnYmEoMCwgMCwgMCwgMC40KSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjE1cyBlYXNlLCBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC8qIEl0ZW1zIHRoYXQgbmVlZCB0byBtb3ZlIHVwIHRvIG1ha2Ugc3BhY2UgKi8KICAgICAgLmxpc3QtaXRlbS5tb3ZlLXVwIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygtMSAqIHZhcigtLWl0ZW0taGVpZ2h0LCA0OHB4KSkpOwogICAgICB9CgogICAgICAvKiBJdGVtcyB0aGF0IG5lZWQgdG8gbW92ZSBkb3duIHRvIG1ha2Ugc3BhY2UgKi8KICAgICAgLmxpc3QtaXRlbS5tb3ZlLWRvd24gewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1pdGVtLWhlaWdodCwgNDhweCkpOwogICAgICB9CgoKICAgICAgLmRyYWctaGFuZGxlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgY3Vyc29yOiBtb3ZlOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5kcmFnLWhhbmRsZTpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5kcmFnLWhhbmRsZSBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgfQoKICAgICAgLml0ZW0tY29udGVudCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAuaXRlbS10ZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDsKICAgICAgfQoKICAgICAgLml0ZW0tZWRpdC1pbnB1dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQoKICAgICAgLml0ZW0tYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAyOHB4OwogICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zYXZlIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zYXZlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlIC8gMC4xKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmNhbmNlbCB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSkiLCJoc2woMCA2Mi44JSA1MC42JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmNhbmNlbDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4xKSIsImhzbCgwIDYyLjglIDUwLjYlIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGVsZXRlIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlKSIsImhzbCgwIDYyLjglIDUwLjYlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGVsZXRlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUgLyAwLjEpIiwiaHNsKDAgNjIuOCUgNTAuNiUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQoKICAgICAgLmFkZC1pdGVtLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk3LjUlKSIsImhzbCgwIDAlIDYuOSUpIil9OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CgogICAgICAuYWRkLWlucHV0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hZGQtaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2QuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4xKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5hZGQtaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDYzLjklKSIsImhzbCgwIDAlIDQ1LjElKSIpfTsKICAgICAgfQoKICAgICAgLmFkZC1pbnB1dDpkaXNhYmxlZCB7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBwYWRkaW5nOiAzMnB4IDE2cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIC52YWxpZGF0aW9uLW1lc3NhZ2UgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUpIiwiaHNsKDAgNjIuOCUgMzAuNiUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBtYXJnaW4tdG9wOiA2cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgfQoKICAgICAgLmRlc2NyaXB0aW9uIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWFyZ2luLXRvcDogNnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgIH0KCiAgICAgIC8qIFNjcm9sbGJhciBzdHlsaW5nICovCiAgICAgIC5saXN0LWl0ZW1zOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgfQoKICAgICAgLmxpc3QtaXRlbXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmxpc3QtaXRlbXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMjQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQoKICAgICAgLmxpc3QtaXRlbXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMzQuOSUpIil9OwogICAgICB9CgogICAgICAvKiBEaXNhYmxlIHRyYW5zaXRpb25zIGR1cmluZyBkcm9wIHRvIHByZXZlbnQgZmxhc2ggKi8KICAgICAgLmxpc3QtaXRlbXMuZHJvcHBpbmcgLmxpc3QtaXRlbSB7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgJHt0aGlzLmxhYmVsP3dgPGRlZXMtbGFiZWwgLmxhYmVsPSR7dGhpcy5sYWJlbH0gLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0+PC9kZWVzLWxhYmVsPmA6IiJ9CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ibGlzdC1jb250YWluZXIgJHt0aGlzLmRpc2FibGVkPyJkaXNhYmxlZCI6IiJ9Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9Imxpc3QtaXRlbXMiPgogICAgICAgICAgICAke3RoaXMudmFsdWUubGVuZ3RoPjA/dGhpcy52YWx1ZS5tYXAoKHZlLGRlKT0+d2AKICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICBjbGFzcz0ibGlzdC1pdGVtICR7dGhpcy5kcmFnZ2VkSW5kZXg9PT1kZT8iZHJhZ2dpbmciOiIifSIKICAgICAgICAgICAgICAgIGRyYWdnYWJsZT0iJHt0aGlzLnNvcnRhYmxlJiYhdGhpcy5kaXNhYmxlZH0iCiAgICAgICAgICAgICAgICBAZHJhZ3N0YXJ0PSR7JGU9PnRoaXMuaGFuZGxlRHJhZ1N0YXJ0KCRlLGRlKX0KICAgICAgICAgICAgICAgIEBkcmFnZW5kPSR7dGhpcy5oYW5kbGVEcmFnRW5kfQogICAgICAgICAgICAgICAgQGRyYWdvdmVyPSR7JGU9PnRoaXMuaGFuZGxlRHJhZ092ZXIoJGUsZGUpfQogICAgICAgICAgICAgICAgQGRyb3A9JHskZT0+dGhpcy5oYW5kbGVEcm9wKCRlLGRlKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke3RoaXMuc29ydGFibGUmJiF0aGlzLmRpc2FibGVkP3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyYWctaGFuZGxlIj4KICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpncmlwVmVydGljYWwifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAke3RoaXMuZWRpdGluZ0luZGV4PT09ZGU/d2AKICAgICAgICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iaXRlbS1lZGl0LWlucHV0IgogICAgICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5lZGl0aW5nVmFsdWV9CiAgICAgICAgICAgICAgICAgICAgICBAaW5wdXQ9JHskZT0+dGhpcy5lZGl0aW5nVmFsdWU9JGUudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICAgICAgICAgICAgQGtleWRvd249JHskZT0+dGhpcy5oYW5kbGVFZGl0S2V5RG93bigkZSxkZSl9CiAgICAgICAgICAgICAgICAgICAgICBAYmx1cj0keygpPT50aGlzLnNhdmVFZGl0KGRlKX0KICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbS10ZXh0IiBAZGJsY2xpY2s9JHsoKT0+IXRoaXMuZGlzYWJsZWQmJnRoaXMuc3RhcnRFZGl0KGRlKX0+CiAgICAgICAgICAgICAgICAgICAgICAke3ZlfQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICBgfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0tYWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5lZGl0aW5nSW5kZXg9PT1kZT93YAogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gc2F2ZSIgQGNsaWNrPSR7KCk9PnRoaXMuc2F2ZUVkaXQoZGUpfT4KICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmNoZWNrIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBjYW5jZWwiIEBjbGljaz0keygpPT50aGlzLmNhbmNlbEVkaXQoKX0+CiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp4In0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgICAgICAke3RoaXMuZGlzYWJsZWQ/IiI6d2AKICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLnN0YXJ0RWRpdChkZSl9PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpwZW5jaWwifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBkZWxldGUiIEBjbGljaz0keygpPT50aGlzLnJlbW92ZUl0ZW0oZGUpfT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6dHJhc2gyIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICBgfQogICAgICAgICAgICAgICAgICBgfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApOndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgICAgICAgTm8gaXRlbXMgYWRkZWQgeWV0CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIAogICAgICAgICAgJHshdGhpcy5kaXNhYmxlZCYmKCF0aGlzLm1heEl0ZW1zfHx0aGlzLnZhbHVlLmxlbmd0aDx0aGlzLm1heEl0ZW1zKT93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhZGQtaXRlbS1jb250YWluZXIiPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJhZGQtaW5wdXQiCiAgICAgICAgICAgICAgICAucGxhY2Vob2xkZXI9JHt0aGlzLnBsYWNlaG9sZGVyfQogICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5pbnB1dFZhbHVlfQogICAgICAgICAgICAgICAgQGlucHV0PSR7dGhpcy5oYW5kbGVJbnB1dH0KICAgICAgICAgICAgICAgIEBrZXlkb3duPSR7dGhpcy5oYW5kbGVBZGRLZXlEb3dufQogICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgIDxkZWVzLWJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9ImFkZC1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmFkZEl0ZW19CiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHshdGhpcy5pbnB1dFZhbHVlLnRyaW0oKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpwbHVzIn0+PC9kZWVzLWljb24+IEFkZAogICAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHt0aGlzLnZhbGlkYXRpb25UZXh0P3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2YWxpZGF0aW9uLW1lc3NhZ2UiPiR7dGhpcy52YWxpZGF0aW9uVGV4dH08L2Rpdj4KICAgICAgICBgOiIifQogICAgICAgIAogICAgICAgICR7dGhpcy5kZXNjcmlwdGlvbj93YAogICAgICAgICAgPGRpdiBjbGFzcz0iZGVzY3JpcHRpb24iPiR7dGhpcy5kZXNjcmlwdGlvbn08L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlSW5wdXQodmUpe3RoaXMuaW5wdXRWYWx1ZT12ZS50YXJnZXQudmFsdWV9aGFuZGxlQWRkS2V5RG93bih2ZSl7dmUua2V5PT09IkVudGVyIiYmdGhpcy5pbnB1dFZhbHVlLnRyaW0oKSYmKHZlLnByZXZlbnREZWZhdWx0KCksdGhpcy5hZGRJdGVtKCkpfWhhbmRsZUVkaXRLZXlEb3duKHZlLGRlKXt2ZS5rZXk9PT0iRW50ZXIiPyh2ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2F2ZUVkaXQoZGUpKTp2ZS5rZXk9PT0iRXNjYXBlIiYmKHZlLnByZXZlbnREZWZhdWx0KCksdGhpcy5jYW5jZWxFZGl0KCkpfWFkZEl0ZW0oKXtsZXQgdmU9dGhpcy5pbnB1dFZhbHVlLnRyaW0oKTtpZighdmUpcmV0dXJuO2lmKCF0aGlzLmFsbG93RHVwbGljYXRlcyYmdGhpcy52YWx1ZS5pbmNsdWRlcyh2ZSkpe3RoaXMudmFsaWRhdGlvblRleHQ9IlRoaXMgaXRlbSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgbGlzdCIsc2V0VGltZW91dCgoKT0+dGhpcy52YWxpZGF0aW9uVGV4dD0iIiwzZTMpO3JldHVybn1pZih0aGlzLm1heEl0ZW1zJiZ0aGlzLnZhbHVlLmxlbmd0aD49dGhpcy5tYXhJdGVtcyl7dGhpcy52YWxpZGF0aW9uVGV4dD1gTWF4aW11bSAke3RoaXMubWF4SXRlbXN9IGl0ZW1zIGFsbG93ZWRgLHNldFRpbWVvdXQoKCk9PnRoaXMudmFsaWRhdGlvblRleHQ9IiIsM2UzKTtyZXR1cm59dGhpcy52YWx1ZT1bLi4udGhpcy52YWx1ZSx2ZV0sdGhpcy5pbnB1dFZhbHVlPSIiLHRoaXMudmFsaWRhdGlvblRleHQ9IiI7bGV0IGRlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmFkZC1pbnB1dCIpO2RlJiYoZGUudmFsdWU9IiIsZGUuZm9jdXMoKSksdGhpcy5lbWl0Q2hhbmdlKCl9c3RhcnRFZGl0KHZlKXt0aGlzLmVkaXRpbmdJbmRleD12ZSx0aGlzLmVkaXRpbmdWYWx1ZT10aGlzLnZhbHVlW3ZlXSx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PntsZXQgZGU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuaXRlbS1lZGl0LWlucHV0Iik7ZGUmJihkZS5mb2N1cygpLGRlLnNlbGVjdCgpKX0pfXNhdmVFZGl0KHZlKXtsZXQgZGU9dGhpcy5lZGl0aW5nVmFsdWUudHJpbSgpO2lmKCFkZSl7dGhpcy5jYW5jZWxFZGl0KCk7cmV0dXJufWlmKCF0aGlzLmFsbG93RHVwbGljYXRlcyYmZGUhPT10aGlzLnZhbHVlW3ZlXSYmdGhpcy52YWx1ZS5pbmNsdWRlcyhkZSkpe3RoaXMudmFsaWRhdGlvblRleHQ9IlRoaXMgaXRlbSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgbGlzdCIsc2V0VGltZW91dCgoKT0+dGhpcy52YWxpZGF0aW9uVGV4dD0iIiwzZTMpO3JldHVybn1sZXQgJGU9Wy4uLnRoaXMudmFsdWVdOyRlW3ZlXT1kZSx0aGlzLnZhbHVlPSRlLHRoaXMuZWRpdGluZ0luZGV4PS0xLHRoaXMuZWRpdGluZ1ZhbHVlPSIiLHRoaXMudmFsaWRhdGlvblRleHQ9IiIsdGhpcy5lbWl0Q2hhbmdlKCl9Y2FuY2VsRWRpdCgpe3RoaXMuZWRpdGluZ0luZGV4PS0xLHRoaXMuZWRpdGluZ1ZhbHVlPSIifWFzeW5jIHJlbW92ZUl0ZW0odmUpe3RoaXMuY29uZmlybURlbGV0ZSYmIWF3YWl0IHRoaXMuc2hvd0NvbmZpcm1EaWFsb2coYERlbGV0ZSAiJHt0aGlzLnZhbHVlW3ZlXX0iP2ApfHwodGhpcy52YWx1ZT10aGlzLnZhbHVlLmZpbHRlcigoZGUsJGUpPT4kZSE9PXZlKSx0aGlzLmVtaXRDaGFuZ2UoKSl9YXN5bmMgc2hvd0NvbmZpcm1EaWFsb2codmUpe3JldHVybiBjb25maXJtKHZlKX1oYW5kbGVEcmFnU3RhcnQodmUsZGUpe2lmKCF0aGlzLnNvcnRhYmxlfHx0aGlzLmRpc2FibGVkKXJldHVybjt0aGlzLmRyYWdnZWRJbmRleD1kZSx0aGlzLnRhcmdldEluZGV4PWRlLHZlLmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkPSJtb3ZlIix2ZS5kYXRhVHJhbnNmZXIuc2V0RGF0YSgidGV4dC9wbGFpbiIsZGUudG9TdHJpbmcoKSk7bGV0ICRlPW5ldyBJbWFnZTskZS5zcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFVRUJBQUFBQ3dBQUFBQUFRQUJBQUFDQWtRQkFEcz0iLHZlLmRhdGFUcmFuc2Zlci5zZXREcmFnSW1hZ2UoJGUsMCwwKSx0aGlzLmRyYWdTdGFydFk9dmUuY2xpZW50WSx0aGlzLmRyYWdDdXJyZW50WT12ZS5jbGllbnRZO2xldCBWZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5saXN0LWl0ZW1zIiksUWU9QXJyYXkuZnJvbShWZT8ucXVlcnlTZWxlY3RvckFsbCgiLmxpc3QtaXRlbSIpfHxbXSk7UWVbZGVdJiYodGhpcy5pdGVtSGVpZ2h0PVFlW2RlXS5vZmZzZXRIZWlnaHQpLHRoaXMub3JpZ2luYWxJdGVtUmVjdHM9UWUubWFwKFRlPT5UZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSksVmU/LmNsYXNzTGlzdC5hZGQoImlzLWRyYWdnaW5nIiksdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdPdmVyPXRoaXMuaGFuZGxlR2xvYmFsRHJhZ092ZXIuYmluZCh0aGlzKSx0aGlzLmJvdW5kSGFuZGxlR2xvYmFsRHJhZ0VuZD10aGlzLmhhbmRsZUdsb2JhbERyYWdFbmQuYmluZCh0aGlzKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJkcmFnb3ZlciIsdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdPdmVyKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJkcmFnZW5kIix0aGlzLmJvdW5kSGFuZGxlR2xvYmFsRHJhZ0VuZCl9aGFuZGxlR2xvYmFsRHJhZ092ZXIodmUpe2lmKHZlLnByZXZlbnREZWZhdWx0KCksdGhpcy5kcmFnZ2VkSW5kZXg9PT0tMSlyZXR1cm47dGhpcy5kcmFnQ3VycmVudFk9dmUuY2xpZW50WTtsZXQgZGU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIubGlzdC1pdGVtcyIpO2lmKCFkZSlyZXR1cm47bGV0ICRlPUFycmF5LmZyb20oZGUucXVlcnlTZWxlY3RvckFsbCgiLmxpc3QtaXRlbSIpKSxWZT0kZVt0aGlzLmRyYWdnZWRJbmRleF07aWYoIVZlKXJldHVybjtsZXQgUWU9dGhpcy5kcmFnQ3VycmVudFktdGhpcy5kcmFnU3RhcnRZO1ZlLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlWSgke1FlfXB4KWA7bGV0IFRlPXRoaXMub3JpZ2luYWxJdGVtUmVjdHNbdGhpcy5kcmFnZ2VkSW5kZXhdO2lmKCFUZSlyZXR1cm47bGV0IGxlPVRlLnRvcCtUZS5oZWlnaHQvMitRZSxmZT10aGlzLmRyYWdnZWRJbmRleDtmb3IobGV0IFNlPTA7U2U8JGUubGVuZ3RoO1NlKyspe2lmKFNlPT09dGhpcy5kcmFnZ2VkSW5kZXgpY29udGludWU7bGV0IEhlPXRoaXMub3JpZ2luYWxJdGVtUmVjdHNbU2VdO2lmKCFIZSljb250aW51ZTtsZXQgS2U9SGUudG9wK0hlLmhlaWdodC8yO2lmKCRlW1NlXS5jbGFzc0xpc3QuY29udGFpbnMoIm1vdmUtdXAiKT9LZS09dGhpcy5pdGVtSGVpZ2h0OiRlW1NlXS5jbGFzc0xpc3QuY29udGFpbnMoIm1vdmUtZG93biIpJiYoS2UrPXRoaXMuaXRlbUhlaWdodCksbGU8S2UmJlNlPHRoaXMuZHJhZ2dlZEluZGV4KXtmZT1TZTticmVha31lbHNlIGxlPktlJiZTZT50aGlzLmRyYWdnZWRJbmRleCYmKGZlPVNlKX1mZSE9PXRoaXMudGFyZ2V0SW5kZXgmJih0aGlzLnRhcmdldEluZGV4PWZlLHRoaXMudXBkYXRlSXRlbVBvc2l0aW9ucygkZSkpfXVwZGF0ZUl0ZW1Qb3NpdGlvbnModmUpe2xldCBkZT10aGlzLmRyYWdnZWRJbmRleCwkZT10aGlzLnRhcmdldEluZGV4LFZlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmxpc3QtaXRlbXMiKTtWZSYmVmUuc3R5bGUuc2V0UHJvcGVydHkoIi0taXRlbS1oZWlnaHQiLGAke3RoaXMuaXRlbUhlaWdodH1weGApLHZlLmZvckVhY2goKFFlLFRlKT0+e1RlIT09ZGUmJihRZS5jbGFzc0xpc3QucmVtb3ZlKCJtb3ZlLXVwIiwibW92ZS1kb3duIiksUWUuc3R5bGUuc2V0UHJvcGVydHkoIi0taXRlbS1oZWlnaHQiLGAke3RoaXMuaXRlbUhlaWdodH1weGApLGRlPCRlP1RlPmRlJiZUZTw9JGUmJlFlLmNsYXNzTGlzdC5hZGQoIm1vdmUtdXAiKTpkZT4kZSYmVGU+PSRlJiZUZTxkZSYmUWUuY2xhc3NMaXN0LmFkZCgibW92ZS1kb3duIikpfSl9aGFuZGxlR2xvYmFsRHJhZ0VuZCgpe3RoaXMuYm91bmRIYW5kbGVHbG9iYWxEcmFnT3ZlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIix0aGlzLmJvdW5kSGFuZGxlR2xvYmFsRHJhZ092ZXIpLHRoaXMuYm91bmRIYW5kbGVHbG9iYWxEcmFnT3Zlcj1udWxsKSx0aGlzLmJvdW5kSGFuZGxlR2xvYmFsRHJhZ0VuZCYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImRyYWdlbmQiLHRoaXMuYm91bmRIYW5kbGVHbG9iYWxEcmFnRW5kKSx0aGlzLmJvdW5kSGFuZGxlR2xvYmFsRHJhZ0VuZD1udWxsKTtsZXQgdmU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIubGlzdC1pdGVtcyIpLGRlPXZlPy5xdWVyeVNlbGVjdG9yQWxsKCIubGlzdC1pdGVtIiksJGU9ZGU/Llt0aGlzLmRyYWdnZWRJbmRleF07aWYodGhpcy5kcmFnZ2VkSW5kZXg9PT0tMXx8dGhpcy50YXJnZXRJbmRleD09PS0xfHx0aGlzLmRyYWdnZWRJbmRleD09PXRoaXMudGFyZ2V0SW5kZXgpe2lmKCRlJiZ0aGlzLmRyYWdnZWRJbmRleCE9PS0xKXskZS5zdHlsZS50cmFuc2l0aW9uPSJ0cmFuc2Zvcm0gMC4xNXMgZWFzZSIsJGUuc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGVZKDApIjtsZXQgU2U9ITEsSGU9aSgoKT0+e1NlfHwoU2U9ITAsJGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsSGUpLHRoaXMuY2xlYW51cERyYWdTdGF0ZSh2ZSxkZSkpfSwib25SZXR1cm4iKTskZS5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixIZSx7b25jZTohMH0pLHNldFRpbWVvdXQoSGUsMjAwKX1lbHNlIHRoaXMuY2xlYW51cERyYWdTdGF0ZSh2ZSxkZSk7cmV0dXJufWxldCBWZT10aGlzLm9yaWdpbmFsSXRlbVJlY3RzW3RoaXMuZHJhZ2dlZEluZGV4XSxRZT10aGlzLm9yaWdpbmFsSXRlbVJlY3RzW3RoaXMudGFyZ2V0SW5kZXhdO2lmKCFWZXx8IVFlfHwhJGUpe3RoaXMuY2xlYW51cERyYWdTdGF0ZSh2ZSxkZSk7cmV0dXJufWxldCBUZTt0aGlzLnRhcmdldEluZGV4PnRoaXMuZHJhZ2dlZEluZGV4P1RlPVFlLmJvdHRvbS1WZS5ib3R0b206VGU9UWUudG9wLVZlLnRvcCwkZS5zdHlsZS50cmFuc2l0aW9uPSJ0cmFuc2Zvcm0gMC4xNXMgZWFzZSIsJGUuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGVZKCR7VGV9cHgpYDtsZXQgbGU9ITEsZmU9aSgoKT0+e2lmKGxlKXJldHVybjtsZT0hMCwkZS5yZW1vdmVFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIixmZSksdmU/LmNsYXNzTGlzdC5hZGQoImRyb3BwaW5nIiksdmU/Lm9mZnNldEhlaWdodCxkZT8uZm9yRWFjaChLZT0+e0tlLmNsYXNzTGlzdC5yZW1vdmUoIm1vdmUtdXAiLCJtb3ZlLWRvd24iLCJkcmFnZ2luZyIpLEtlLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ0cmFuc2Zvcm0iKSxLZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgidHJhbnNpdGlvbiIpfSk7bGV0IFNlPVsuLi50aGlzLnZhbHVlXSxbSGVdPVNlLnNwbGljZSh0aGlzLmRyYWdnZWRJbmRleCwxKTtTZS5zcGxpY2UodGhpcy50YXJnZXRJbmRleCwwLEhlKSx0aGlzLnZhbHVlPVNlLHRoaXMuZW1pdENoYW5nZSgpLHRoaXMuZHJhZ2dlZEluZGV4PS0xLHRoaXMuZHJhZ092ZXJJbmRleD0tMSx0aGlzLnRhcmdldEluZGV4PS0xLHRoaXMuZHJhZ1N0YXJ0WT0wLHRoaXMuZHJhZ0N1cnJlbnRZPTAsdGhpcy5vcmlnaW5hbEl0ZW1SZWN0cz1bXSx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PntsZXQgS2U9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCIubGlzdC1pdGVtIik7S2U/LmZvckVhY2goa3Q9PntrdC5zdHlsZS50cmFuc2l0aW9uPSJub25lIn0pLHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmxpc3QtaXRlbXMiKT8ub2Zmc2V0SGVpZ2h0LHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e0tlPy5mb3JFYWNoKGt0PT57a3Quc3R5bGUucmVtb3ZlUHJvcGVydHkoInRyYW5zaXRpb24iKX0pLHZlPy5jbGFzc0xpc3QucmVtb3ZlKCJkcm9wcGluZyIsImlzLWRyYWdnaW5nIil9KX0pfSwib25UcmFuc2l0aW9uRW5kIik7JGUuYWRkRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsZmUse29uY2U6ITB9KSxzZXRUaW1lb3V0KGZlLDIwMCl9Y2xlYW51cERyYWdTdGF0ZSh2ZSxkZSl7dmU/LmNsYXNzTGlzdC5hZGQoImRyb3BwaW5nIiksdmU/Lm9mZnNldEhlaWdodCxkZT8uZm9yRWFjaCgkZT0+eyRlLmNsYXNzTGlzdC5yZW1vdmUoIm1vdmUtdXAiLCJtb3ZlLWRvd24iLCJkcmFnZ2luZyIpLCRlLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ0cmFuc2Zvcm0iKSwkZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgidHJhbnNpdGlvbiIpfSksdGhpcy5kcmFnZ2VkSW5kZXg9LTEsdGhpcy5kcmFnT3ZlckluZGV4PS0xLHRoaXMudGFyZ2V0SW5kZXg9LTEsdGhpcy5kcmFnU3RhcnRZPTAsdGhpcy5kcmFnQ3VycmVudFk9MCx0aGlzLm9yaWdpbmFsSXRlbVJlY3RzPVtdLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+e2xldCAkZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3JBbGwoIi5saXN0LWl0ZW0iKTskZT8uZm9yRWFjaChWZT0+e1ZlLnN0eWxlLnRyYW5zaXRpb249Im5vbmUifSksdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIubGlzdC1pdGVtcyIpPy5vZmZzZXRIZWlnaHQscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57JGU/LmZvckVhY2goVmU9PntWZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgidHJhbnNpdGlvbiIpfSksdmU/LmNsYXNzTGlzdC5yZW1vdmUoImRyb3BwaW5nIiwiaXMtZHJhZ2dpbmciKX0pfSl9aGFuZGxlRHJhZ0VuZCgpe3RoaXMuaGFuZGxlR2xvYmFsRHJhZ0VuZCgpfWhhbmRsZURyYWdPdmVyKHZlLGRlKXshdGhpcy5zb3J0YWJsZXx8dGhpcy5kaXNhYmxlZHx8KHZlLnByZXZlbnREZWZhdWx0KCksdmUuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Q9Im1vdmUiKX1oYW5kbGVEcmFnTGVhdmUoKXt9aGFuZGxlRHJvcCh2ZSxkZSl7IXRoaXMuc29ydGFibGV8fHRoaXMuZGlzYWJsZWR8fHZlLnByZXZlbnREZWZhdWx0KCl9ZW1pdENoYW5nZSgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNoYW5nZSIse2RldGFpbDp7dmFsdWU6dGhpcy52YWx1ZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKHZlKXt0aGlzLnZhbHVlPXZlfHxbXX1hc3luYyB2YWxpZGF0ZSgpe3JldHVybiB0aGlzLnJlcXVpcmVkJiYoIXRoaXMudmFsdWV8fHRoaXMudmFsdWUubGVuZ3RoPT09MCk/KHRoaXMudmFsaWRhdGlvblRleHQ9IkF0IGxlYXN0IG9uZSBpdGVtIGlzIHJlcXVpcmVkIiwhMSk6dGhpcy5taW5JdGVtcyYmdGhpcy52YWx1ZS5sZW5ndGg8dGhpcy5taW5JdGVtcz8odGhpcy52YWxpZGF0aW9uVGV4dD1gQXQgbGVhc3QgJHt0aGlzLm1pbkl0ZW1zfSBpdGVtcyByZXF1aXJlZGAsITEpOih0aGlzLnZhbGlkYXRpb25UZXh0PSIiLCEwKX1zdGF0aWN7UXQocixhKX19O3JldHVybiBrZT1yfSkoKX0pO3ZhciBwdmEsdXZhLGZ2YSxodmEsbXZhLGd2YSxidmEsZlp0LGhadD1jKCgpPT57cGUoKTtSYSgpO1cxKCk7cHZhPWkoKCk9PntsZXQgdD1EYXRlLm5vdygpO3JldHVyblt7aWQ6YHRpdGxlLSR7dH1gLHR5cGU6ImhlYWRpbmctMSIsY29udGVudDoiU3lzdGVtIFBlcmZvcm1hbmNlIFJlcG9ydCJ9LHtpZDpgZGF0ZS0ke3QrMX1gLHR5cGU6InBhcmFncmFwaCIsY29udGVudDpgR2VuZXJhdGVkIG9uOiAke25ldyBEYXRlKCkudG9Mb2NhbGVTdHJpbmcoKX1gfSx7aWQ6YHN1bW1hcnktaGVhZGluZy0ke3QrMn1gLHR5cGU6ImhlYWRpbmctMiIsY29udGVudDoiRXhlY3V0aXZlIFN1bW1hcnkifSx7aWQ6YHN1bW1hcnktJHt0KzN9YCx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6IlRoaXMgcmVwb3J0IHByb3ZpZGVzIGFuIGFuYWx5c2lzIG9mIHN5c3RlbSBwZXJmb3JtYW5jZSBtZXRyaWNzIG92ZXIgdGhlIGxhc3QgMzAgZGF5cy4ifSx7aWQ6YG1ldHJpY3MtaGVhZGluZy0ke3QrNH1gLHR5cGU6ImhlYWRpbmctMiIsY29udGVudDoiS2V5IE1ldHJpY3MifSx7aWQ6YG1ldHJpY3MtbGlzdC0ke3QrNX1gLHR5cGU6Imxpc3QiLGNvbnRlbnQ6YEF2ZXJhZ2UgcmVzcG9uc2UgdGltZTogMTI0bXMKVXB0aW1lOiA5OS45NyUKQ1BVIHV0aWxpemF0aW9uOiA0NSUKTWVtb3J5IHVzYWdlOiAyLjNHQiAvIDhHQmAsbWV0YWRhdGE6e2xpc3RUeXBlOiJidWxsZXQifX0se2lkOmBhbmFseXNpcy1oZWFkaW5nLSR7dCs2fWAsdHlwZToiaGVhZGluZy0yIixjb250ZW50OiJQZXJmb3JtYW5jZSBBbmFseXNpcyJ9LHtpZDpgYW5hbHlzaXMtcXVvdGUtJHt0Kzd9YCx0eXBlOiJxdW90ZSIsY29udGVudDoiU3lzdGVtIHBlcmZvcm1hbmNlIHJlbWFpbnMgd2l0aGluIGFjY2VwdGFibGUgcGFyYW1ldGVycyB3aXRoIHJvb20gZm9yIG9wdGltaXphdGlvbiBpbiBtZW1vcnkgbWFuYWdlbWVudC4ifSx7aWQ6YGNvZGUtaGVhZGluZy0ke3QrOH1gLHR5cGU6ImhlYWRpbmctMyIsY29udGVudDoiU2FtcGxlIFF1ZXJ5IFBlcmZvcm1hbmNlIn0se2lkOmBjb2RlLWJsb2NrLSR7dCs5fWAsdHlwZToiY29kZSIsY29udGVudDpgU0VMRUNUIEFWRyhyZXNwb25zZV90aW1lKSBhcyBhdmdfdGltZSwKICAgICAgIENPVU5UKCopIGFzIHRvdGFsX3JlcXVlc3RzLAogICAgICAgREFURShjcmVhdGVkX2F0KSBhcyBkYXRlCkZST00gcGVyZm9ybWFuY2VfbG9ncwpXSEVSRSBjcmVhdGVkX2F0ID49IE5PVygpIC0gSU5URVJWQUwgMzAgREFZCkdST1VQIEJZIERBVEUoY3JlYXRlZF9hdCkKT1JERVIgQlkgZGF0ZSBERVNDO2AsbWV0YWRhdGE6e2xhbmd1YWdlOiJzcWwifX0se2lkOmBkaXZpZGVyLSR7dCsxMH1gLHR5cGU6ImRpdmlkZXIiLGNvbnRlbnQ6IiJ9LHtpZDpgZm9vdGVyLSR7dCsxMX1gLHR5cGU6InBhcmFncmFwaCIsY29udGVudDoiUmVwb3J0IGdlbmVyYXRlZCBhdXRvbWF0aWNhbGx5IGJ5IFN5c3RlbSBNb25pdG9yIHYyLjUuMCJ9XX0sImdlbmVyYXRlUmVwb3J0QmxvY2tzIiksdXZhPWkoKCk9PntsZXQgdD1EYXRlLm5vdygpO3JldHVyblt7aWQ6YHJlY2lwZS10aXRsZS0ke3R9YCx0eXBlOiJoZWFkaW5nLTEiLGNvbnRlbnQ6IkNsYXNzaWMgTWFyZ2hlcml0YSBQaXp6YSJ9LHtpZDpgcmVjaXBlLWludHJvLSR7dCsxfWAsdHlwZToicGFyYWdyYXBoIixjb250ZW50OiJBIHRyYWRpdGlvbmFsIEl0YWxpYW4gcGl6emEgd2l0aCBmcmVzaCBiYXNpbCwgbW96emFyZWxsYSwgYW5kIHRvbWF0byBzYXVjZS4ifSx7aWQ6YGluZ3JlZGllbnRzLWhlYWRpbmctJHt0KzJ9YCx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6Ilx1ezFGMzU1fSBJbmdyZWRpZW50cyJ9LHtpZDpgZG91Z2gtaGVhZGluZy0ke3QrM31gLHR5cGU6ImhlYWRpbmctMyIsY29udGVudDoiRm9yIHRoZSBEb3VnaDoifSx7aWQ6YGRvdWdoLWxpc3QtJHt0KzR9YCx0eXBlOiJsaXN0Iixjb250ZW50OmA1MDBnIHRpcG8gIjAwIiBmbG91cgozMjVtbCB3YXJtIHdhdGVyCjEwZyBzYWx0CjdnIGFjdGl2ZSBkcnkgeWVhc3QKMiB0YnNwIG9saXZlIG9pbGAsbWV0YWRhdGE6e2xpc3RUeXBlOiJidWxsZXQifX0se2lkOmB0b3BwaW5ncy1oZWFkaW5nLSR7dCs1fWAsdHlwZToiaGVhZGluZy0zIixjb250ZW50OiJGb3IgdGhlIFRvcHBpbmdzOiJ9LHtpZDpgdG9wcGluZ3MtbGlzdC0ke3QrNn1gLHR5cGU6Imxpc3QiLGNvbnRlbnQ6YDQwMGcgY2FubmVkIFNhbiBNYXJ6YW5vIHRvbWF0b2VzCjI1MGcgZnJlc2ggbW96emFyZWxsYQpGcmVzaCBiYXNpbCBsZWF2ZXMKRXh0cmEgdmlyZ2luIG9saXZlIG9pbApTYWx0IGFuZCBwZXBwZXIgdG8gdGFzdGVgLG1ldGFkYXRhOntsaXN0VHlwZToiYnVsbGV0In19LHtpZDpgaW5zdHJ1Y3Rpb25zLWhlYWRpbmctJHt0Kzd9YCx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6Ilx1ezFGNDY4fVx1MjAwRFx1ezFGMzczfSBJbnN0cnVjdGlvbnMifSx7aWQ6YHN0ZXBzLWxpc3QtJHt0Kzh9YCx0eXBlOiJsaXN0Iixjb250ZW50OmBEaXNzb2x2ZSB5ZWFzdCBpbiB3YXJtIHdhdGVyIGFuZCBsZXQgc3RhbmQgZm9yIDUgbWludXRlcwpNaXggZmxvdXIgYW5kIHNhbHQsIGNyZWF0ZSBhIHdlbGwgaW4gY2VudGVyCkFkZCB5ZWFzdCBtaXh0dXJlIGFuZCBvbGl2ZSBvaWwKS25lYWQgZm9yIDEwIG1pbnV0ZXMgdW50aWwgc21vb3RoCkxldCByaXNlIGZvciAxLTIgaG91cnMgdW50aWwgZG91YmxlZApQdW5jaCBkb3duIGFuZCBkaXZpZGUgaW50byBwb3J0aW9ucwpSb2xsIG91dCBlYWNoIHBvcnRpb24gdG8gMTItaW5jaCBjaXJjbGVzClRvcCB3aXRoIGNydXNoZWQgdG9tYXRvZXMsIG1venphcmVsbGEsIGFuZCBiYXNpbApCYWtlIGF0IDQ3NVx4QjBGICgyNDVceEIwQykgZm9yIDEwLTEyIG1pbnV0ZXNgLG1ldGFkYXRhOntsaXN0VHlwZToib3JkZXJlZCJ9fSx7aWQ6YHRpcC0ke3QrOX1gLHR5cGU6InF1b3RlIixjb250ZW50OiJQcm8gdGlwOiBGb3IgYW4gYXV0aGVudGljIHRhc3RlLCB1c2UgYSBwaXp6YSBzdG9uZSBhbmQgcHJlaGVhdCBpdCBpbiB0aGUgb3ZlbiBmb3IgYXQgbGVhc3QgMzAgbWludXRlcyBiZWZvcmUgYmFraW5nLiJ9LHtpZDpgZGl2aWRlci0ke3QrMTB9YCx0eXBlOiJkaXZpZGVyIixjb250ZW50OiIifSx7aWQ6YHNlcnZpbmdzLSR7dCsxMX1gLHR5cGU6InBhcmFncmFwaCIsY29udGVudDoiU2VydmluZ3M6IDQgcGl6emFzIHwgUHJlcCB0aW1lOiAyIGhvdXJzIHwgQ29vayB0aW1lOiAxMiBtaW51dGVzIn1dfSwiZ2VuZXJhdGVSZWNpcGVCbG9ja3MiKSxmdmE9aSh0PT57bGV0IGU9e307cmV0dXJuIGUuYmFzaWM9dC5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLWJhc2ljIiksZS5hcnRpY2xlPXQucXVlcnlTZWxlY3RvcigiI2VkaXRvci1hcnRpY2xlIiksZS5kcmFnRHJvcD10LnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItZHJhZ2Ryb3AiKSxlLnR1dG9yaWFsPXQucXVlcnlTZWxlY3RvcigiI2VkaXRvci10dXRvcmlhbCIpLGUubWVldGluZz10LnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItbWVldGluZyIpLGUucmVjaXBlPXQucXVlcnlTZWxlY3RvcigiI2VkaXRvci1yZWNpcGUiKSxlLnRlY2huaWNhbD10LnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItdGVjaG5pY2FsIiksZS5mb3JtSW50ZWdyYXRpb249dC5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLWZvcm0taW50ZWdyYXRpb24iKSxlLnByb2dyYW1tYXRpYz10LnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItcHJvZ3JhbW1hdGljIiksZS5leHBvcnREZW1vPXQucXVlcnlTZWxlY3RvcigiI2VkaXRvci1leHBvcnQiKSxlfSwiaW5pdGlhbGl6ZUVkaXRvcnMiKSxodmE9aSgodCxlKT0+e2xldCBhPXQucXVlcnlTZWxlY3RvcigiI2J0bi1nZW5lcmF0ZS1yZXBvcnQiKSxyPXQucXVlcnlTZWxlY3RvcigiI2J0bi1nZW5lcmF0ZS1yZWNpcGUiKSxzPXQucXVlcnlTZWxlY3RvcigiI2J0bi1jbGVhci1lZGl0b3IiKTthJiZhLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2UuaW1wb3J0QmxvY2tzKHB2YSgpKX0pLHImJnIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ZS5pbXBvcnRCbG9ja3ModXZhKCkpfSkscyYmcy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLmltcG9ydEJsb2NrcyhbXSl9KX0sInNldHVwUHJvZ3JhbW1hdGljRGVtbyIpLG12YT1pKCh0LGUpPT57bGV0IGE9dC5xdWVyeVNlbGVjdG9yKCIjYnRuLWV4cG9ydC1ibG9ja3MiKSxyPXQucXVlcnlTZWxlY3RvcigiI2J0bi1leHBvcnQtaHRtbCIpLHM9dC5xdWVyeVNlbGVjdG9yKCIjYnRuLWV4cG9ydC1tYXJrZG93biIpLG49dC5xdWVyeVNlbGVjdG9yKCIjYnRuLXNhdmUtc3RhdGUiKSxvPXQucXVlcnlTZWxlY3RvcigiI2J0bi1yZXN0b3JlLXN0YXRlIiksbD1udWxsO2EmJmEuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57bGV0IGg9ZS5leHBvcnRCbG9ja3MoKTtjb25zb2xlLmxvZygiRXhwb3J0ZWQgYmxvY2tzOiIsaCksYWxlcnQoYEV4cG9ydGVkICR7aC5sZW5ndGh9IGJsb2NrcyB0byBjb25zb2xlLiBDaGVjayBkZXZlbG9wZXIgdG9vbHMuYCl9KSxyJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2xldCBoPWUuZXhwb3J0QXNIdG1sKCk7Y29uc29sZS5sb2coIkhUTUwgRXhwb3J0OiIsaCksYWxlcnQoIkhUTUwgZXhwb3J0ZWQgdG8gY29uc29sZS4gQ2hlY2sgZGV2ZWxvcGVyIHRvb2xzLiIpfSkscyYmcy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntsZXQgaD1lLmV4cG9ydEFzTWFya2Rvd24oKTtjb25zb2xlLmxvZygiTWFya2Rvd24gRXhwb3J0OiIsaCksYWxlcnQoIk1hcmtkb3duIGV4cG9ydGVkIHRvIGNvbnNvbGUuIENoZWNrIGRldmVsb3BlciB0b29scy4iKX0pLG4mJm4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57bD1lLmV4cG9ydFN0YXRlKCksY29uc29sZS5sb2coIlNhdmVkIHN0YXRlOiIsbCksYWxlcnQoIkVkaXRvciBzdGF0ZSBzYXZlZCEiKX0pLG8mJm8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57bD8oZS5pbXBvcnRTdGF0ZShsKSxhbGVydCgiRWRpdG9yIHN0YXRlIHJlc3RvcmVkISIpKTphbGVydCgiTm8gc2F2ZWQgc3RhdGUgZm91bmQuIFNhdmUgc3RhdGUgZmlyc3QhIil9KX0sInNldHVwRXhwb3J0RGVtbyIpLGd2YT1pKCh0LGUsYSk9PntsZXQgcj10LnF1ZXJ5U2VsZWN0b3IoIiNidG4tc2hvdy1odG1sLW91dHB1dCIpLHM9dC5xdWVyeVNlbGVjdG9yKCIjb3V0cHV0LXByZXZpZXctaHRtbCIpO3ImJnMmJmUmJnIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57cy50ZXh0Q29udGVudD1lLmdldFZhbHVlKCkscy5jbGFzc0xpc3QuYWRkKCJ2aXNpYmxlIil9KTtsZXQgbj10LnF1ZXJ5U2VsZWN0b3IoIiNidG4tc2hvdy1tYXJrZG93bi1vdXRwdXQiKSxvPXQucXVlcnlTZWxlY3RvcigiI291dHB1dC1wcmV2aWV3LW1hcmtkb3duIik7biYmbyYmYSYmbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntvLnRleHRDb250ZW50PWEuZ2V0VmFsdWUoKSxvLmNsYXNzTGlzdC5hZGQoInZpc2libGUiKX0pfSwic2V0dXBPdXRwdXRGb3JtYXREZW1vIiksYnZhPWkodD0+e3QuYXJ0aWNsZSYmc2V0VGltZW91dCgoKT0+e2xldCBlPVt7aWQ6ImludHJvLWhlYWRpbmctIitEYXRlLm5vdygpLHR5cGU6ImhlYWRpbmctMiIsY29udGVudDoiSW50cm9kdWN0aW9uIHRvIE1vZGVybiBXZWIgRGV2ZWxvcG1lbnQifSx7aWQ6ImludHJvLXBhcmEtIitEYXRlLm5vdygpLHR5cGU6InBhcmFncmFwaCIsY29udGVudDoiTW9kZXJuIHdlYiBkZXZlbG9wbWVudCBoYXMgZXZvbHZlZCBzaWduaWZpY2FudGx5IG92ZXIgdGhlIHBhc3QgZGVjYWRlLiBJbiB0aGlzIGFydGljbGUsIHdlJ2xsIGV4cGxvcmUgdGhlIGtleSB0ZWNobm9sb2dpZXMgYW5kIGJlc3QgcHJhY3RpY2VzIHRoYXQgZGVmaW5lIHdlYiBkZXZlbG9wbWVudCBpbiAyMDI0LiJ9LHtpZDoidGVjaC1oZWFkaW5nLSIrRGF0ZS5ub3coKSx0eXBlOiJoZWFkaW5nLTMiLGNvbnRlbnQ6IktleSBUZWNobm9sb2dpZXMifSx7aWQ6InRlY2gtbGlzdC0iK0RhdGUubm93KCksdHlwZToibGlzdCIsY29udGVudDpgVHlwZVNjcmlwdCAtIFR5cGUtc2FmZSBKYXZhU2NyaXB0IGRldmVsb3BtZW50CldlYiBDb21wb25lbnRzIC0gTmF0aXZlIGNvbXBvbmVudCBtb2RlbApFUyBNb2R1bGVzIC0gTW9kZXJuIG1vZHVsZSBzeXN0ZW0KV2ViQXNzZW1ibHkgLSBIaWdoLXBlcmZvcm1hbmNlIGNvbXB1dGluZ2AsbWV0YWRhdGE6e2xpc3RUeXBlOiJvcmRlcmVkIn19LHtpZDoicXVvdGUtIitEYXRlLm5vdygpLHR5cGU6InF1b3RlIixjb250ZW50OiJUaGUgYmVzdCB3YXkgdG8gcHJlZGljdCB0aGUgZnV0dXJlIGlzIHRvIGludmVudCBpdC4gLSBBbGFuIEtheSJ9LHtpZDoiZXhhbXBsZS1oZWFkaW5nLSIrRGF0ZS5ub3coKSx0eXBlOiJoZWFkaW5nLTMiLGNvbnRlbnQ6IkNvZGUgRXhhbXBsZSJ9LHtpZDoiY29kZS1leGFtcGxlLSIrRGF0ZS5ub3coKSx0eXBlOiJjb2RlIixjb250ZW50OmBjbGFzcyBNb2Rlcm5XZWJBcHAgZXh0ZW5kcyBIVE1MRWxlbWVudCB7CiAgY29uc3RydWN0b3IoKSB7CiAgICBzdXBlcigpOwogICAgdGhpcy5hdHRhY2hTaGFkb3coeyBtb2RlOiAnb3BlbicgfSk7CiAgfQogIAogIGNvbm5lY3RlZENhbGxiYWNrKCkgewogICAgdGhpcy5yZW5kZXIoKTsKICB9Cn1gLG1ldGFkYXRhOntsYW5ndWFnZToiamF2YXNjcmlwdCJ9fV07dC5hcnRpY2xlLmltcG9ydEJsb2NrcyhlKX0sNTAwKSx0LmRyYWdEcm9wJiZzZXRUaW1lb3V0KCgpPT57bGV0IGU9W3tpZDoiZHJhZy10aXRsZS0iK0RhdGUubm93KCksdHlwZToiaGVhZGluZy0xIixjb250ZW50OiJEcmFnICYgRHJvcCBEZW1vIn0se2lkOiJkcmFnLWludHJvLSIrRGF0ZS5ub3coKSx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6IlRoaXMgZWRpdG9yIGRlbW9uc3RyYXRlcyBkcmFnIGFuZCBkcm9wIGZ1bmN0aW9uYWxpdHkuIFRyeSBkcmFnZ2luZyB0aGVzZSBibG9ja3MgYXJvdW5kISJ9LHtpZDoiZHJhZy1oZWFkaW5nLSIrRGF0ZS5ub3coKSx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6IkhvdyBJdCBXb3JrcyJ9LHtpZDoiZHJhZy1saXN0LSIrRGF0ZS5ub3coKSx0eXBlOiJsaXN0Iixjb250ZW50OmBIb3ZlciBvdmVyIGFueSBibG9jayB0byBzZWUgdGhlIGRyYWcgaGFuZGxlCkNsaWNrIGFuZCBob2xkIHRoZSBoYW5kbGUgdG8gc3RhcnQgZHJhZ2dpbmcKRHJhZyB0byByZW9yZGVyIGJsb2NrcwpSZWxlYXNlIHRvIGRyb3AgaW4gdGhlIG5ldyBwb3NpdGlvbmAsbWV0YWRhdGE6e2xpc3RUeXBlOiJvcmRlcmVkIn19LHtpZDoiZHJhZy1xdW90ZS0iK0RhdGUubm93KCksdHlwZToicXVvdGUiLGNvbnRlbnQ6IlRoZSBkcmFnIGFuZCBkcm9wIGZlYXR1cmUgbWFrZXMgaXQgZWFzeSB0byByZW9yZ2FuaXplIHlvdXIgY29udGVudCB3aXRob3V0IGN1dHRpbmcgYW5kIHBhc3RpbmcuIn0se2lkOiJkcmFnLWRpdmlkZXItIitEYXRlLm5vdygpLHR5cGU6ImRpdmlkZXIiLGNvbnRlbnQ6IiJ9LHtpZDoiZHJhZy1mb290ZXItIitEYXRlLm5vdygpLHR5cGU6InBhcmFncmFwaCIsY29udGVudDoiTm90ZTogRGl2aWRlciBibG9ja3MgY2Fubm90IGJlIGRyYWdnZWQsIGJ1dCBvdGhlciBibG9ja3MgY2FuIGJlIG1vdmVkIGFyb3VuZCB0aGVtLiJ9XTt0LmRyYWdEcm9wLmltcG9ydEJsb2NrcyhlKX0sNjAwKX0sInBvcHVsYXRlSW5pdGlhbENvbnRlbnQiKSxmWnQ9aSgoKT0+d2AKICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57YXdhaXQgbmV3IFByb21pc2UoYT0+c2V0VGltZW91dChhLDUwMCkpO2xldCBlPWZ2YSh0KTtlLnByb2dyYW1tYXRpYyYmaHZhKHQsZS5wcm9ncmFtbWF0aWMpLGUuZXhwb3J0RGVtbyYmbXZhKHQsZS5leHBvcnREZW1vKSxndmEodCxlLm1lZXRpbmcsZS5yZWNpcGUpLGJ2YShlKSxjb25zb2xlLmxvZygiV1lTSVdZRyBEZW1vIGluaXRpYWxpemVkIHdpdGggZWRpdG9yczoiLE9iamVjdC5rZXlzKGUpKX19PgogIDxzdHlsZT4KICAgICR7WGAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWwgewogICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5wYW5lbC1kZXNjcmlwdGlvbiB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIGNvbG9yOiAjNjY2OwogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICB9CiAgICAgIAogICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgLnBhbmVsLWRlc2NyaXB0aW9uIHsKICAgICAgICAgIGNvbG9yOiAjOTk5OwogICAgICAgIH0KICAgICAgfQoKICAgICAgLmZlYXR1cmUtZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmZlYXR1cmUtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGNvbG9yOiAjNTU1OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQoKICAgICAgLmZlYXR1cmUtaWNvbiB7CiAgICAgICAgY29sb3I6ICMwMDY2Y2M7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQoKICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgIC5mZWF0dXJlLWl0ZW0gewogICAgICAgICAgY29sb3I6ICNhYWE7CiAgICAgICAgfQogICAgICAgIC5mZWF0dXJlLWljb24gewogICAgICAgICAgY29sb3I6ICM0ZDk0ZmY7CiAgICAgICAgfQogICAgICB9CgogICAgICAuc2hvcnRjdXRzLWJveCB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAxMDIsIDIwNCwgMC4wNSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAxMDIsIDIwNCwgMC4yKTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICB9CgogICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgLnNob3J0Y3V0cy1ib3ggewogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSg3NywgMTQ4LCAyNTUsIDAuMSk7CiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoNzcsIDE0OCwgMjU1LCAwLjMpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnNob3J0Y3V0cy10aXRsZSB7CiAgICAgICAgbWFyZ2luOiAwIDAgMTJweCAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAjMDA2NmNjOwogICAgICB9CgogICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgLnNob3J0Y3V0cy10aXRsZSB7CiAgICAgICAgICBjb2xvcjogIzRkOTRmZjsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5zaG9ydGN1dHMtZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxODBweCwgMWZyKSk7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5zaG9ydGN1dC1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAjNTU1OwogICAgICB9CgogICAgICAuc2hvcnRjdXQta2V5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjBmMGYwOwogICAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAjMzMzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAuc2hvcnRjdXQtaXRlbSB7CiAgICAgICAgICBjb2xvcjogI2JiYjsKICAgICAgICB9CiAgICAgICAgLnNob3J0Y3V0LWtleSB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzMzOwogICAgICAgICAgY29sb3I6ICNkZGQ7CiAgICAgICAgfQogICAgICB9CgogICAgICAub3V0cHV0LWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgzMjBweCwgMWZyKSk7CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIG1hcmdpbi10b3A6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5vdXRwdXQtY2FyZCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLm91dHB1dC1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgIH0KCiAgICAgIC5vdXRwdXQtcHJldmlldyB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuMDQpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQsICMwZjE3MmEpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTUsIDIzLCA0MiwgMC4xKTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWF4LWhlaWdodDogMjgwcHg7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH0KCiAgICAgIDpob3N0KFt0aGVtZT0nZGFyayddKSAub3V0cHV0LXByZXZpZXcgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjUwLCAyNTAsIDI1MCwgMC4wNik7CiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMTUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQsICNmNGY0ZjUpOwogICAgICB9CgogICAgICAub3V0cHV0LXByZXZpZXcudmlzaWJsZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5vdXRwdXQtZ3JpZCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIC50aXBzLWJveCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICNmMGY4ZmY7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICB9CiAgICAgIAogICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgLnRpcHMtYm94IHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNzcsIDE0OCwgMjU1LCAwLjEpOwogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgLnRpcHMtYm94IHN0cm9uZyB7CiAgICAgICAgY29sb3I6ICMwMDY2Y2M7CiAgICAgIH0KICAgICAgCiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAudGlwcy1ib3ggc3Ryb25nIHsKICAgICAgICAgIGNvbG9yOiAjNGQ5NGZmOwogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgLnRpcHMtbGlzdCB7CiAgICAgICAgbWFyZ2luOiA4cHggMCAwIDA7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICAudGlwcy1saXN0IGxpIHsKICAgICAgICBtYXJnaW46IDRweCAwOwogICAgICB9CiAgICAgIAogICAgICAuYnV0dG9uLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICB9CiAgICAgIAogICAgICAuZGVtby1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAuZGVtby1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICNlOGU4ZTg7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjOwogICAgICB9CiAgICAgIAogICAgICAuZGVtby1idXR0b246YWN0aXZlIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMXB4KTsKICAgICAgfQogICAgICAKICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgIC5kZW1vLWJ1dHRvbiB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzMzOwogICAgICAgICAgYm9yZGVyLWNvbG9yOiAjNTU1OwogICAgICAgICAgY29sb3I6ICNkZGQ7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5kZW1vLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjNDQ0OwogICAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjY2OwogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyNTBweCwgMWZyKSk7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQuYmxvY2tzIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEwMiwgMjA0LCAwLjEpOwogICAgICB9CiAgICAgIAogICAgICAuZXhwb3J0LWluZm8tY2FyZC5odG1sIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDc2LCAxNzUsIDgwLCAwLjEpOwogICAgICB9CiAgICAgIAogICAgICAuZXhwb3J0LWluZm8tY2FyZC5tYXJrZG93biB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDE1MiwgMCwgMC4xKTsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQuc3RhdGUgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMTU2LCAzOSwgMTc2LCAwLjEpOwogICAgICB9CiAgICAgIAogICAgICAuZXhwb3J0LWluZm8tY2FyZCBzdHJvbmcgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQuYmxvY2tzIHN0cm9uZyB7CiAgICAgICAgY29sb3I6ICMwMDY2Y2M7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLmh0bWwgc3Ryb25nIHsKICAgICAgICBjb2xvcjogIzRDQUY1MDsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQubWFya2Rvd24gc3Ryb25nIHsKICAgICAgICBjb2xvcjogI0ZGOTgwMDsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQuc3RhdGUgc3Ryb25nIHsKICAgICAgICBjb2xvcjogIzlDMjdCMDsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQgcCB7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIxLiBcdXsxRjY4MH0gTW9kZXJuIFdZU0lXWUcgRWRpdG9yIn0+CiAgICAgICAgPHAgY2xhc3M9InBhbmVsLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIEEgcG93ZXJmdWwgYmxvY2stYmFzZWQgZWRpdG9yIHdpdGggc2xhc2ggY29tbWFuZHMsIGtleWJvYXJkIHNob3J0Y3V0cywgYW5kIG11bHRpcGxlIG91dHB1dCBmb3JtYXRzLiAKICAgICAgICAgIFBlcmZlY3QgZm9yIGNvbnRlbnQgY3JlYXRpb24sIGJsb2cgcG9zdHMsIGRvY3VtZW50YXRpb24sIGFuZCBtb3JlLgogICAgICAgIDwvcD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWdyaWQiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+4pyTPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj5TbGFzaCBjb21tYW5kcyAoLyk8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPuKckzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+S2V5Ym9hcmQgc2hvcnRjdXRzPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWl0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj7inJM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPkJsb2NrLWJhc2VkIGVkaXRpbmc8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPuKckzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+RHJhZyAmIGRyb3AgcmVvcmRlcmluZzwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+4pyTPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj5IVE1MICYgTWFya2Rvd24gb3V0cHV0PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWl0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj7inJM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPkRhcmsgbW9kZSBzdXBwb3J0PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWl0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj7inJM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPk1vYmlsZSByZXNwb25zaXZlPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZyAKICAgICAgICAgIGlkPSJlZGl0b3ItYmFzaWMiCiAgICAgICAgICBsYWJlbD0iUmljaCBUZXh0IEVkaXRvciIgCiAgICAgICAgICBkZXNjcmlwdGlvbj0iU3RhcnQgdHlwaW5nIG9yIHVzZSAnLycgdG8gaW5zZXJ0IGRpZmZlcmVudCBibG9jayB0eXBlcyIKICAgICAgICAgIG91dHB1dEZvcm1hdD0iaHRtbCIKICAgICAgICA+PC9kZWVzLWlucHV0LXd5c2l3eWc+CgogICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0cy1ib3giPgogICAgICAgICAgPGg0IGNsYXNzPSJzaG9ydGN1dHMtdGl0bGUiPuKMqO+4jyBLZXlib2FyZCBTaG9ydGN1dHM8L2g0PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXRzLWdyaWQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dC1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2hvcnRjdXQta2V5Ij4vPC9zcGFuPiBTbGFzaCBjb21tYW5kcwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+Izwvc3Bhbj4gSGVhZGluZyAxCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dC1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2hvcnRjdXQta2V5Ij4jIzwvc3Bhbj4gSGVhZGluZyAyCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dC1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2hvcnRjdXQta2V5Ij4jIyM8L3NwYW4+IEhlYWRpbmcgMwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+Pjwvc3Bhbj4gUXVvdGUKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPlxgXGBcYDwvc3Bhbj4gQ29kZSBibG9jawogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+Kjwvc3Bhbj4gb3IgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+LTwvc3Bhbj4gQnVsbGV0IGxpc3QKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPjEuPC9zcGFuPiBOdW1iZXJlZCBsaXN0CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dC1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2hvcnRjdXQta2V5Ij4tLS08L3NwYW4+IERpdmlkZXIKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjIuIFx1ezFGNEREfSBCbG9nIFBvc3QgRXhhbXBsZSJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBQZXJmZWN0IGZvciBjcmVhdGluZyByaWNoIGNvbnRlbnQgd2l0aCBtdWx0aXBsZSBibG9jayB0eXBlcy4gCiAgICAgICAgICBUaGUgZWRpdG9yIHByZXNlcnZlcyBmb3JtYXR0aW5nIGFuZCBwcm92aWRlcyBhIGNsZWFuIGVkaXRpbmcgZXhwZXJpZW5jZS4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZyAKICAgICAgICAgIGlkPSJlZGl0b3ItYXJ0aWNsZSIKICAgICAgICAgIGxhYmVsPSJCbG9nIFBvc3QgQ29udGVudCIgCiAgICAgICAgICBkZXNjcmlwdGlvbj0iV3JpdGUgeW91ciBhcnRpY2xlIHVzaW5nIHZhcmlvdXMgZm9ybWF0dGluZyBvcHRpb25zIgogICAgICAgICAgb3V0cHV0Rm9ybWF0PSJodG1sIgogICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjMuIFx1ezFGNTAwfSBEcmFnICYgRHJvcCBSZW9yZGVyaW5nIn0+CiAgICAgICAgPHAgY2xhc3M9InBhbmVsLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIEVhc2lseSByZWFycmFuZ2UgeW91ciBjb250ZW50IGJsb2NrcyBieSBkcmFnZ2luZyB0aGVtLiAKICAgICAgICAgIEhvdmVyIG92ZXIgYW55IGJsb2NrIHRvIHJldmVhbCB0aGUgZHJhZyBoYW5kbGUgb24gdGhlIGxlZnQgc2lkZS4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZyAKICAgICAgICAgIGlkPSJlZGl0b3ItZHJhZ2Ryb3AiCiAgICAgICAgICBsYWJlbD0iRHJhZyAmIERyb3AgRGVtbyIgCiAgICAgICAgICBkZXNjcmlwdGlvbj0iVHJ5IGRyYWdnaW5nIGJsb2NrcyB0byByZW9yZGVyIHRoZW0gLSBob3ZlciB0byBzZWUgZHJhZyBoYW5kbGVzIgogICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJ0aXBzLWJveCI+CiAgICAgICAgICA8c3Ryb25nPvCfkqEgVGlwczo8L3N0cm9uZz4KICAgICAgICAgIDx1bCBjbGFzcz0idGlwcy1saXN0Ij4KICAgICAgICAgICAgPGxpPkhvdmVyIG92ZXIgYW55IGJsb2NrIHRvIHNlZSB0aGUgZHJhZyBoYW5kbGUgKOKLruKLrikgb24gdGhlIGxlZnQ8L2xpPgogICAgICAgICAgICA8bGk+Q2xpY2sgYW5kIGhvbGQgdGhlIGRyYWcgaGFuZGxlIHRvIHN0YXJ0IGRyYWdnaW5nPC9saT4KICAgICAgICAgICAgPGxpPkJsdWUgaW5kaWNhdG9ycyBzaG93IHdoZXJlIHRoZSBibG9jayB3aWxsIGJlIGRyb3BwZWQ8L2xpPgogICAgICAgICAgICA8bGk+RGl2aWRlciBibG9ja3MgY2Fubm90IGJlIGRyYWdnZWQ8L2xpPgogICAgICAgICAgICA8bGk+VGhlIGVkaXRvciBtYWludGFpbnMgZm9jdXMgb24gdGhlIG1vdmVkIGJsb2NrIGFmdGVyIGRyb3BwaW5nPC9saT4KICAgICAgICAgIDwvdWw+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI0LiBcdXsxRjREQX0gVHV0b3JpYWwgJiBEb2N1bWVudGF0aW9uIn0+CiAgICAgICAgPHAgY2xhc3M9InBhbmVsLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIENyZWF0ZSBjb21wcmVoZW5zaXZlIHR1dG9yaWFscyBhbmQgZG9jdW1lbnRhdGlvbiB3aXRoIGNvZGUgZXhhbXBsZXMsIGxpc3RzLCBhbmQgc3RydWN0dXJlZCBjb250ZW50LgogICAgICAgIDwvcD4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC13eXNpd3lnIAogICAgICAgICAgaWQ9ImVkaXRvci10dXRvcmlhbCIKICAgICAgICAgIGxhYmVsPSJHaXQgVHV0b3JpYWwiIAogICAgICAgICAgZGVzY3JpcHRpb249IlN0ZXAtYnktc3RlcCBndWlkZSB3aXRoIGNvbW1hbmRzIGFuZCBleHBsYW5hdGlvbnMiCiAgICAgICAgICBvdXRwdXRGb3JtYXQ9Im1hcmtkb3duIgogICAgICAgICAgdmFsdWU9IiMgR2l0IFR1dG9yaWFsIGZvciBCZWdpbm5lcnMKCkdpdCBpcyBhIGRpc3RyaWJ1dGVkIHZlcnNpb24gY29udHJvbCBzeXN0ZW0gdGhhdCBoZWxwcyB5b3UgdHJhY2sgY2hhbmdlcyBpbiB5b3VyIGNvZGUgb3ZlciB0aW1lLiBUaGlzIHR1dG9yaWFsIHdpbGwgZ3VpZGUgeW91IHRocm91Z2ggdGhlIGJhc2ljcy4KCiMjIFByZXJlcXVpc2l0ZXMKCkJlZm9yZSBzdGFydGluZywgZW5zdXJlIHlvdSBoYXZlOgoKLSBHaXQgaW5zdGFsbGVkIG9uIHlvdXIgc3lzdGVtCi0gQSB0ZXh0IGVkaXRvciBvciBJREUKLSBCYXNpYyBjb21tYW5kIGxpbmUga25vd2xlZGdlCgojIyBHZXR0aW5nIFN0YXJ0ZWQKCiMjIyAxLiBDb25maWd1cmUgR2l0CgpGaXJzdCwgc2V0IHVwIHlvdXIgaWRlbnRpdHk6CgpcYFxgXGBiYXNoCmdpdCBjb25maWcgLS1nbG9iYWwgdXNlci5uYW1lICZxdW90O1lvdXIgTmFtZSZxdW90OwpnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIuZW1haWwgJnF1b3Q7eW91ci5lbWFpbEBleGFtcGxlLmNvbSZxdW90OwpcYFxgXGAKCiMjIyAyLiBJbml0aWFsaXplIGEgUmVwb3NpdG9yeQoKQ3JlYXRlIGEgbmV3IEdpdCByZXBvc2l0b3J5OgoKXGBcYFxgYmFzaApta2RpciBteS1wcm9qZWN0CmNkIG15LXByb2plY3QKZ2l0IGluaXQKXGBcYFxgCgojIyMgMy4gQmFzaWMgR2l0IFdvcmtmbG93CgojIyMjIEFkZGluZyBGaWxlcwoKQ3JlYXRlIGEgZmlsZSBhbmQgYWRkIGl0IHRvIHN0YWdpbmc6CgpcYFxgXGBiYXNoCmVjaG8gJnF1b3Q7IyBNeSBQcm9qZWN0JnF1b3Q7ID4gUkVBRE1FLm1kCmdpdCBhZGQgUkVBRE1FLm1kClxgXGBcYAoKIyMjIyBDb21taXR0aW5nIENoYW5nZXMKClxgXGBcYGJhc2gKZ2l0IGNvbW1pdCAtbSAmcXVvdDtJbml0aWFsIGNvbW1pdCZxdW90OwpcYFxgXGAKCj4gKipCZXN0IFByYWN0aWNlOioqIFdyaXRlIGNsZWFyLCBkZXNjcmlwdGl2ZSBjb21taXQgbWVzc2FnZXMgdGhhdCBleHBsYWluIHdoYXQgY2hhbmdlcyB3ZXJlIG1hZGUgYW5kIHdoeS4KCiMjIyA0LiBXb3JraW5nIHdpdGggQnJhbmNoZXMKCkJyYW5jaGVzIGFsbG93IHlvdSB0byB3b3JrIG9uIGZlYXR1cmVzIGluZGVwZW5kZW50bHk6CgpcYFxgXGBiYXNoCiMgQ3JlYXRlIGFuZCBzd2l0Y2ggdG8gYSBuZXcgYnJhbmNoCmdpdCBjaGVja291dCAtYiBmZWF0dXJlLWJyYW5jaAoKIyBNYWtlIGNoYW5nZXMgYW5kIGNvbW1pdApnaXQgYWRkIC4KZ2l0IGNvbW1pdCAtbSAmcXVvdDtBZGQgbmV3IGZlYXR1cmUmcXVvdDsKCiMgU3dpdGNoIGJhY2sgdG8gbWFpbgpnaXQgY2hlY2tvdXQgbWFpbgoKIyBNZXJnZSB0aGUgZmVhdHVyZQpnaXQgbWVyZ2UgZmVhdHVyZS1icmFuY2gKXGBcYFxgCgotLS0KCiMjIENvbW1vbiBDb21tYW5kcyBSZWZlcmVuY2UKCnwgQ29tbWFuZCB8IERlc2NyaXB0aW9uIHwKfC0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tfAp8IFxgZ2l0IHN0YXR1c1xgIHwgQ2hlY2sgcmVwb3NpdG9yeSBzdGF0dXMgfAp8IFxgZ2l0IGxvZ1xgIHwgVmlldyBjb21taXQgaGlzdG9yeSB8CnwgXGBnaXQgZGlmZlxgIHwgU2hvdyBjaGFuZ2VzIHwKfCBcYGdpdCBwdWxsXGAgfCBGZXRjaCBhbmQgbWVyZ2UgY2hhbmdlcyB8CnwgXGBnaXQgcHVzaFxgIHwgVXBsb2FkIGNoYW5nZXMgdG8gcmVtb3RlIHwKCiMjIE5leHQgU3RlcHMKCjEuIExlYXJuIGFib3V0IHJlbW90ZSByZXBvc2l0b3JpZXMKMi4gRXhwbG9yZSBhZHZhbmNlZCBHaXQgZmVhdHVyZXMKMy4gUHJhY3RpY2Ugd2l0aCByZWFsIHByb2plY3RzCjQuIENvbnRyaWJ1dGUgdG8gb3BlbiBzb3VyY2UKCioqSGFwcHkgY29kaW5nISoqIPCfmoAiCiAgICAgICAgPjwvZGVlcy1pbnB1dC13eXNpd3lnPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNS4gXHV7MUY1MDR9IE91dHB1dCBGb3JtYXRzIn0+CiAgICAgICAgPHAgY2xhc3M9InBhbmVsLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIENob29zZSBiZXR3ZWVuIEhUTUwgYW5kIE1hcmtkb3duIG91dHB1dCBmb3JtYXRzIGRlcGVuZGluZyBvbiB5b3VyIG5lZWRzLiAKICAgICAgICAgIFBlcmZlY3QgZm9yIHN0YXRpYyBzaXRlIGdlbmVyYXRvcnMsIGRvY3VtZW50YXRpb24gc3lzdGVtcywgb3IgYW55IGNvbnRlbnQgbWFuYWdlbWVudCB3b3JrZmxvdy4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ib3V0cHV0LWdyaWQiPgogICAgICAgICAgPGRpdiBjbGFzcz0ib3V0cHV0LWNhcmQiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC13eXNpd3lnIAogICAgICAgICAgICAgIGlkPSJlZGl0b3ItbWVldGluZyIKICAgICAgICAgICAgICBsYWJlbD0iTWVldGluZyBOb3RlcyIgCiAgICAgICAgICAgICAgZGVzY3JpcHRpb249IlN0cnVjdHVyZWQgbWVldGluZyBkb2N1bWVudGF0aW9uIgogICAgICAgICAgICAgIG91dHB1dEZvcm1hdD0iaHRtbCIKICAgICAgICAgICAgICB2YWx1ZT0iPGgyPlE0IFBsYW5uaW5nIE1lZXRpbmc8L2gyPjxwPjxzdHJvbmc+RGF0ZTo8L3N0cm9uZz4gRGVjZW1iZXIgMTUsIDIwMjQ8YnI+PHN0cm9uZz5BdHRlbmRlZXM6PC9zdHJvbmc+IFByb2R1Y3QgVGVhbSwgRW5naW5lZXJpbmcsIERlc2lnbjwvcD48aDM+QWdlbmRhIEl0ZW1zPC9oMz48b2w+PGxpPlJldmlldyBRMyBhY2hpZXZlbWVudHM8L2xpPjxsaT5TZXQgUTQgb2JqZWN0aXZlczwvbGk+PGxpPlJlc291cmNlIGFsbG9jYXRpb248L2xpPjxsaT5UaW1lbGluZSBkaXNjdXNzaW9uPC9saT48L29sPjxoMz5LZXkgRGVjaXNpb25zPC9oMz48dWw+PGxpPkxhdW5jaCBuZXcgZGFzaGJvYXJkIGZlYXR1cmUgYnkgZW5kIG9mIEphbnVhcnk8L2xpPjxsaT5JbmNyZWFzZSBlbmdpbmVlcmluZyB0ZWFtIGJ5IDIgZGV2ZWxvcGVyczwvbGk+PGxpPkltcGxlbWVudCB3ZWVrbHkgZGVzaWduIHJldmlld3M8L2xpPjwvdWw+PGJsb2NrcXVvdGU+JnF1b3Q7Rm9jdXMgb24gdXNlciBleHBlcmllbmNlIGltcHJvdmVtZW50cyBiYXNlZCBvbiBRMyBmZWVkYmFjayZxdW90OyAtIFByb2R1Y3QgTWFuYWdlcjwvYmxvY2txdW90ZT48aDM+QWN0aW9uIEl0ZW1zPC9oMz48dWw+PGxpPlNhcmFoOiBDcmVhdGUgZGV0YWlsZWQgcHJvamVjdCB0aW1lbGluZTwvbGk+PGxpPk1pa2U6IERyYWZ0IHRlY2huaWNhbCByZXF1aXJlbWVudHM8L2xpPjxsaT5MaXNhOiBTY2hlZHVsZSB1c2VyIHJlc2VhcmNoIHNlc3Npb25zPC9saT48L3VsPjxocj48cD5OZXh0IG1lZXRpbmc6IEphbnVhcnkgNSwgMjAyNTwvcD4iCiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3V0cHV0LWFjdGlvbnMiPgogICAgICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1zaG93LWh0bWwtb3V0cHV0IiBjbGFzcz0iZGVtby1idXR0b24iPlNob3cgSFRNTCBPdXRwdXQ8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxwcmUgaWQ9Im91dHB1dC1wcmV2aWV3LWh0bWwiIGNsYXNzPSJvdXRwdXQtcHJldmlldyIgYXJpYS1saXZlPSJwb2xpdGUiPjwvcHJlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAKICAgICAgICAgIDxkaXYgY2xhc3M9Im91dHB1dC1jYXJkIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZyAKICAgICAgICAgICAgICBpZD0iZWRpdG9yLXJlY2lwZSIKICAgICAgICAgICAgICBsYWJlbD0iUmVjaXBlIEJsb2cgUG9zdCIgCiAgICAgICAgICAgICAgZGVzY3JpcHRpb249IkZvb2QgYmxvZyB3aXRoIG1peGVkIGNvbnRlbnQiCiAgICAgICAgICAgICAgb3V0cHV0Rm9ybWF0PSJtYXJrZG93biIKICAgICAgICAgICAgICB2YWx1ZT0iIyBVbHRpbWF0ZSBDaG9jb2xhdGUgQ2hpcCBDb29raWVzCgpUaGVyZSdzIG5vdGhpbmcgcXVpdGUgbGlrZSB0aGUgc21lbGwgb2YgZnJlc2hseSBiYWtlZCBjaG9jb2xhdGUgY2hpcCBjb29raWVzLiBUaGlzIHJlY2lwZSBoYXMgYmVlbiBwZXJmZWN0ZWQgb3ZlciB5ZWFycyBvZiB0ZXN0aW5nIQoKIyMgSW5ncmVkaWVudHMKCi0gMsK8IGN1cHMgYWxsLXB1cnBvc2UgZmxvdXIKLSAxIHRzcCBiYWtpbmcgc29kYQotIDEgdHNwIHNhbHQKLSAxIGN1cCBidXR0ZXIsIHNvZnRlbmVkCi0gwr4gY3VwIGdyYW51bGF0ZWQgc3VnYXIKLSDCviBjdXAgcGFja2VkIGJyb3duIHN1Z2FyCi0gMiBsYXJnZSBlZ2dzCi0gMiB0c3AgdmFuaWxsYSBleHRyYWN0Ci0gMiBjdXBzIGNob2NvbGF0ZSBjaGlwcwoKIyMgSW5zdHJ1Y3Rpb25zCgojIyMgU3RlcCAxOiBQcmVwYXJhdGlvbgoKUHJlaGVhdCB5b3VyIG92ZW4gdG8gKiozNzXCsEYgKDE5MMKwQykqKi4gVGhpcyB0ZW1wZXJhdHVyZSBpcyBjcnVjaWFsIGZvciBhY2hpZXZpbmcgdGhlIHBlcmZlY3QgdGV4dHVyZS4KCiMjIyBTdGVwIDI6IE1peCBEcnkgSW5ncmVkaWVudHMKCkluIGEgbWVkaXVtIGJvd2wsIHdoaXNrIHRvZ2V0aGVyOgoKMS4gRmxvdXIKMi4gQmFraW5nIHNvZGEKMy4gU2FsdAoKIyMjIFN0ZXAgMzogQ3JlYW0gQnV0dGVyIGFuZCBTdWdhcnMKClxgXGBcYApDcmVhbSBidXR0ZXIgYW5kIHN1Z2FycyBmb3IgMy00IG1pbnV0ZXMKdW50aWwgbGlnaHQgYW5kIGZsdWZmeQpcYFxgXGAKCj4gKipQcm8gdGlwOioqIFJvb20gdGVtcGVyYXR1cmUgaW5ncmVkaWVudHMgbWl4IGJldHRlciBhbmQgY3JlYXRlIGEgbW9yZSB1bmlmb3JtIGRvdWdoLgoKIyMjIFN0ZXAgNDogQWRkIFdldCBJbmdyZWRpZW50cwoKQmVhdCBpbiBlZ2dzIG9uZSBhdCBhIHRpbWUsIHRoZW4gYWRkIHZhbmlsbGEgZXh0cmFjdC4KCiMjIyBTdGVwIDU6IENvbWJpbmUgYW5kIEJha2UKCkdyYWR1YWxseSBibGVuZCBpbiBmbG91ciBtaXh0dXJlLCB0aGVuIHN0aXIgaW4gY2hvY29sYXRlIGNoaXBzLiBEcm9wIHJvdW5kZWQgdGFibGVzcG9vbnMgb250byB1bmdyZWFzZWQgY29va2llIHNoZWV0cy4KCi0tLQoKKipCYWtpbmcgdGltZToqKiA5LTExIG1pbnV0ZXMgb3IgdW50aWwgZ29sZGVuIGJyb3duCgoqKllpZWxkOioqIEFib3V0IDUgZG96ZW4gY29va2llcyIKICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC13eXNpd3lnPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdXRwdXQtYWN0aW9ucyI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLXNob3ctbWFya2Rvd24tb3V0cHV0IiBjbGFzcz0iZGVtby1idXR0b24iPlNob3cgTWFya2Rvd24gT3V0cHV0PC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8cHJlIGlkPSJvdXRwdXQtcHJldmlldy1tYXJrZG93biIgY2xhc3M9Im91dHB1dC1wcmV2aWV3IiBhcmlhLWxpdmU9InBvbGl0ZSI+PC9wcmU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjYuIFx1ezFGM0E4fSBBZHZhbmNlZCBFZGl0aW5nIn0+CiAgICAgICAgPHAgY2xhc3M9InBhbmVsLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIENyZWF0ZSBjb21wbGV4IGRvY3VtZW50cyB3aXRoIG1peGVkIGNvbnRlbnQgdHlwZXMuIFRoZSBlZGl0b3IgaGFuZGxlcyBhbGwgZm9ybWF0dGluZyBzZWFtbGVzc2x5LgogICAgICAgIDwvcD4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC13eXNpd3lnIAogICAgICAgICAgaWQ9ImVkaXRvci10ZWNobmljYWwiCiAgICAgICAgICBsYWJlbD0iVGVjaG5pY2FsIERvY3VtZW50YXRpb24iIAogICAgICAgICAgZGVzY3JpcHRpb249IkNyZWF0ZSB0ZWNobmljYWwgZG9jcyB3aXRoIGNvZGUgZXhhbXBsZXMgYW5kIHN0cnVjdHVyZWQgY29udGVudCIKICAgICAgICAgIHZhbHVlPSI8aDE+QVBJIERvY3VtZW50YXRpb248L2gxPjxwPldlbGNvbWUgdG8gb3VyIEFQSSBkb2N1bWVudGF0aW9uLiBCZWxvdyB5b3UnbGwgZmluZCBleGFtcGxlcyBvZiBob3cgdG8gdXNlIG91ciBlbmRwb2ludHMuPC9wPjxoMj5BdXRoZW50aWNhdGlvbjwvaDI+PHA+QWxsIEFQSSByZXF1ZXN0cyByZXF1aXJlIGF1dGhlbnRpY2F0aW9uIHVzaW5nIGFuIEFQSSBrZXk6PC9wPjxwcmU+PGNvZGU+QXV0aG9yaXphdGlvbjogQmVhcmVyIFlPVVJfQVBJX0tFWTwvY29kZT48L3ByZT48aDI+RW5kcG9pbnRzPC9oMj48aDM+R0VUIC91c2VyczwvaDM+PHA+UmV0cmlldmUgYSBsaXN0IG9mIHVzZXJzIGZyb20gdGhlIHN5c3RlbS48L3A+PHByZT48Y29kZT5jdXJsIC1YIEdFVCBodHRwczovL2FwaS5leGFtcGxlLmNvbS91c2VycyBcXAogIC1IICZxdW90O0F1dGhvcml6YXRpb246IEJlYXJlciBZT1VSX0FQSV9LRVkmcXVvdDs8L2NvZGU+PC9wcmU+PGJsb2NrcXVvdGU+Tm90ZTogUmF0ZSBsaW1pdGluZyBhcHBsaWVzIHRvIGFsbCBlbmRwb2ludHMuIFlvdSBjYW4gbWFrZSB1cCB0byAxMDAgcmVxdWVzdHMgcGVyIG1pbnV0ZS48L2Jsb2NrcXVvdGU+PGgzPlBPU1QgL3VzZXJzPC9oMz48cD5DcmVhdGUgYSBuZXcgdXNlciBpbiB0aGUgc3lzdGVtLjwvcD48cHJlPjxjb2RlPnsKICAmcXVvdDtuYW1lJnF1b3Q7OiAmcXVvdDtKb2huIERvZSZxdW90OywKICAmcXVvdDtlbWFpbCZxdW90OzogJnF1b3Q7am9obkBleGFtcGxlLmNvbSZxdW90OywKICAmcXVvdDtyb2xlJnF1b3Q7OiAmcXVvdDt1c2VyJnF1b3Q7Cn08L2NvZGU+PC9wcmU+PGhyPjxwPkZvciBtb3JlIGluZm9ybWF0aW9uLCBwbGVhc2UgcmVmZXIgdG8gb3VyIGNvbXBsZXRlIGRvY3VtZW50YXRpb24uPC9wPiIKICAgICAgICAgIG91dHB1dEZvcm1hdD0iaHRtbCIKICAgICAgICA+PC9kZWVzLWlucHV0LXd5c2l3eWc+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI3LiBcdTI2OTlcdUZFMEYgRm9ybSBJbnRlZ3JhdGlvbiJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBTZWFtbGVzc2x5IGludGVncmF0ZXMgd2l0aCBkZWVzLWZvcm0gZm9yIGNvbXBsZXRlIGZvcm0gc29sdXRpb25zLiAKICAgICAgICAgIEFsbCBzdGFuZGFyZCBmb3JtIGZlYXR1cmVzIGxpa2UgdmFsaWRhdGlvbiwgcmVxdWlyZWQgZmllbGRzLCBhbmQgZGF0YSBiaW5kaW5nIHdvcmsgb3V0IG9mIHRoZSBib3guCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICBsYWJlbD0iQXJ0aWNsZSBUaXRsZSIgCiAgICAgICAgICAgIHJlcXVpcmVkPSJ0cnVlIgogICAgICAgICAgICB2YWx1ZT0iSG93IHRvIEJ1aWxkIE1vZGVybiBXZWIgQXBwbGljYXRpb25zIgogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC13eXNpd3lnIAogICAgICAgICAgICBpZD0iZWRpdG9yLWZvcm0taW50ZWdyYXRpb24iCiAgICAgICAgICAgIGxhYmVsPSJBcnRpY2xlIENvbnRlbnQiIAogICAgICAgICAgICBkZXNjcmlwdGlvbj0iV3JpdGUgeW91ciBhcnRpY2xlIGNvbnRlbnQgaGVyZSIKICAgICAgICAgICAgcmVxdWlyZWQ9InRydWUiCiAgICAgICAgICAgIG91dHB1dEZvcm1hdD0ibWFya2Rvd24iCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXd5c2l3eWc+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXRhZ3MKICAgICAgICAgICAgbGFiZWw9IlRhZ3MiCiAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJBZGQgcmVsZXZhbnQgdGFncyBmb3IgeW91ciBhcnRpY2xlIgogICAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiOC4gXHV7MUY5RTl9IFByb2dyYW1tYXRpYyBCbG9jayBDcmVhdGlvbiJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDcmVhdGUgY29udGVudCBwcm9ncmFtbWF0aWNhbGx5IHVzaW5nIHRoZSBibG9jayBBUEkgZm9yIGR5bmFtaWMgZG9jdW1lbnQgZ2VuZXJhdGlvbi4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZwogICAgICAgICAgaWQ9ImVkaXRvci1wcm9ncmFtbWF0aWMiCiAgICAgICAgICBsYWJlbD0iUHJvZ3JhbW1hdGljYWxseSBHZW5lcmF0ZWQgQ29udGVudCIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJUaGlzIGNvbnRlbnQgd2FzIGNyZWF0ZWQgdXNpbmcgdGhlIGltcG9ydEJsb2NrcyBBUEkiCiAgICAgICAgPjwvZGVlcy1pbnB1dC13eXNpd3lnPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCI+CiAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tZ2VuZXJhdGUtcmVwb3J0IiBjbGFzcz0iZGVtby1idXR0b24iPgogICAgICAgICAgICBHZW5lcmF0ZSBSZXBvcnQKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tZ2VuZXJhdGUtcmVjaXBlIiBjbGFzcz0iZGVtby1idXR0b24iPgogICAgICAgICAgICBHZW5lcmF0ZSBSZWNpcGUKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tY2xlYXItZWRpdG9yIiBjbGFzcz0iZGVtby1idXR0b24iPgogICAgICAgICAgICBDbGVhciBFZGl0b3IKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiOS4gXHV7MUY0RTR9IEV4cG9ydC9JbXBvcnQgRmVhdHVyZXMifT4KICAgICAgICA8cCBjbGFzcz0icGFuZWwtZGVzY3JpcHRpb24iPgogICAgICAgICAgVGhlIFdZU0lXWUcgZWRpdG9yIHByb3ZpZGVzIG11bHRpcGxlIGV4cG9ydCBmb3JtYXRzIGFuZCBsb3NzbGVzcyBzYXZlL3Jlc3RvcmUgY2FwYWJpbGl0aWVzIGZvciBtYXhpbXVtIGZsZXhpYmlsaXR5LgogICAgICAgIDwvcD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJleHBvcnQtaW5mby1ncmlkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImV4cG9ydC1pbmZvLWNhcmQgYmxvY2tzIj4KICAgICAgICAgICAgPHN0cm9uZz5Mb3NzbGVzcyBCbG9ja3M8L3N0cm9uZz4KICAgICAgICAgICAgPHA+RXhwb3J0IGFuZCBpbXBvcnQgcmF3IGJsb2NrIHN0cnVjdHVyZSBmb3IgcGVyZmVjdCByb3VuZC10cmlwIGVkaXRpbmc8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImV4cG9ydC1pbmZvLWNhcmQgaHRtbCI+CiAgICAgICAgICAgIDxzdHJvbmc+SFRNTCBFeHBvcnQ8L3N0cm9uZz4KICAgICAgICAgICAgPHA+R2V0IGNsZWFuLCBzZW1hbnRpYyBIVE1MIHJlZ2FyZGxlc3Mgb2Ygb3V0cHV0IGZvcm1hdCBzZXR0aW5nPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJleHBvcnQtaW5mby1jYXJkIG1hcmtkb3duIj4KICAgICAgICAgICAgPHN0cm9uZz5NYXJrZG93biBFeHBvcnQ8L3N0cm9uZz4KICAgICAgICAgICAgPHA+RXhwb3J0IGFzIE1hcmtkb3duIGZvciBkb2NzLCBSRUFETUVzLCBhbmQgc3RhdGljIHNpdGVzPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJleHBvcnQtaW5mby1jYXJkIHN0YXRlIj4KICAgICAgICAgICAgPHN0cm9uZz5TdGF0ZSBNYW5hZ2VtZW50PC9zdHJvbmc+CiAgICAgICAgICAgIDxwPlNhdmUgYW5kIHJlc3RvcmUgY29tcGxldGUgZWRpdG9yIHN0YXRlIGluY2x1ZGluZyBzZXR0aW5nczwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcKICAgICAgICAgIGlkPSJlZGl0b3ItZXhwb3J0IgogICAgICAgICAgbGFiZWw9IkV4cG9ydCBEZW1vIEVkaXRvciIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJUcnkgdGhlIGV4cG9ydCBidXR0b25zIGJlbG93IHRvIHNlZSBkaWZmZXJlbnQgb3V0cHV0IGZvcm1hdHMiCiAgICAgICAgICB2YWx1ZT0iPGgxPlNvZnR3YXJlIFJlbGVhc2UgTm90ZXM8L2gxPjxwPjxzdHJvbmc+VmVyc2lvbiAyLjUuMDwvc3Ryb25nPiAtIFJlbGVhc2VkIERlY2VtYmVyIDE1LCAyMDI0PC9wPjxoMj7wn46JIE5ldyBGZWF0dXJlczwvaDI+PHVsPjxsaT5BZGRlZCBkYXJrIG1vZGUgc3VwcG9ydCBhY3Jvc3MgYWxsIGNvbXBvbmVudHM8L2xpPjxsaT5JbXBsZW1lbnRlZCByZWFsLXRpbWUgY29sbGFib3JhdGlvbiBmZWF0dXJlczwvbGk+PGxpPk5ldyBkYXNoYm9hcmQgYW5hbHl0aWNzIHdpZGdldHM8L2xpPjxsaT5FeHBvcnQgZnVuY3Rpb25hbGl0eSBmb3IgYWxsIHJlcG9ydCB0eXBlczwvbGk+PC91bD48aDI+8J+QmyBCdWcgRml4ZXM8L2gyPjx1bD48bGk+Rml4ZWQgbWVtb3J5IGxlYWsgaW4gZGF0YSBwcm9jZXNzaW5nIG1vZHVsZTwvbGk+PGxpPlJlc29sdmVkIGF1dGhlbnRpY2F0aW9uIHRpbWVvdXQgaXNzdWVzPC9saT48bGk+Q29ycmVjdGVkIHRpbWV6b25lIGhhbmRsaW5nIGluIHNjaGVkdWxlZCB0YXNrczwvbGk+PC91bD48aDI+4pqhIFBlcmZvcm1hbmNlIEltcHJvdmVtZW50czwvaDI+PGJsb2NrcXVvdGU+UGFnZSBsb2FkIHRpbWVzIHJlZHVjZWQgYnkgNDAlIHRocm91Z2ggbGF6eSBsb2FkaW5nIGFuZCBjb2RlIHNwbGl0dGluZzwvYmxvY2txdW90ZT48aDI+8J+UpyBUZWNobmljYWwgRGV0YWlsczwvaDI+PHByZT48Y29kZT4vLyBOZXcgQVBJIGVuZHBvaW50IGZvciBiYXRjaCBvcGVyYXRpb25zClBPU1QgL2FwaS92Mi9iYXRjaAp7CiAgJnF1b3Q7b3BlcmF0aW9ucyZxdW90OzogWwogICAgeyAmcXVvdDttZXRob2QmcXVvdDs6ICZxdW90O0dFVCZxdW90OywgJnF1b3Q7cGF0aCZxdW90OzogJnF1b3Q7L3VzZXJzLzEyMyZxdW90OyB9LAogICAgeyAmcXVvdDttZXRob2QmcXVvdDs6ICZxdW90O1BVVCZxdW90OywgJnF1b3Q7cGF0aCZxdW90OzogJnF1b3Q7L3NldHRpbmdzJnF1b3Q7LCAmcXVvdDtib2R5JnF1b3Q7OiB7Li4ufSB9CiAgXQp9PC9jb2RlPjwvcHJlPjxoMj7wn5KhIE1pZ3JhdGlvbiBHdWlkZTwvaDI+PG9sPjxsaT5VcGRhdGUgeW91ciBkZXBlbmRlbmNpZXMgdG8gdGhlIGxhdGVzdCB2ZXJzaW9uczwvbGk+PGxpPlJ1biBkYXRhYmFzZSBtaWdyYXRpb25zOiA8Y29kZT5ucG0gcnVuIG1pZ3JhdGU8L2NvZGU+PC9saT48bGk+Q2xlYXIgY2FjaGU6IDxjb2RlPm5wbSBydW4gY2FjaGU6Y2xlYXI8L2NvZGU+PC9saT48bGk+UmVzdGFydCBhbGwgc2VydmljZXM8L2xpPjwvb2w+PGhyPjxwPkZvciBxdWVzdGlvbnMgb3IgaXNzdWVzLCBwbGVhc2UgY29udGFjdCB0aGUgZGV2ZWxvcG1lbnQgdGVhbSBvciBmaWxlIGEgdGlja2V0IGluIG91ciBpc3N1ZSB0cmFja2VyLjwvcD4iCiAgICAgICAgPjwvZGVlcy1pbnB1dC13eXNpd3lnPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCI+CiAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tZXhwb3J0LWJsb2NrcyIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgRXhwb3J0IEJsb2NrcwogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1leHBvcnQtaHRtbCIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgRXhwb3J0IGFzIEhUTUwKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tZXhwb3J0LW1hcmtkb3duIiBjbGFzcz0iZGVtby1idXR0b24iPgogICAgICAgICAgICBFeHBvcnQgYXMgTWFya2Rvd24KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tc2F2ZS1zdGF0ZSIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgU2F2ZSBTdGF0ZQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1yZXN0b3JlLXN0YXRlIiBjbGFzcz0iZGVtby1idXR0b24iPgogICAgICAgICAgICBSZXN0b3JlIFN0YXRlCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgLCJkZW1vRnVuYyIpfSk7dmFyIHNpPWMoKCk9Pnt9KTt2YXIgcDEsZjY9YygoKT0+e3NpKCk7cDE9Y2xhc3N7c3RhdGlje2kodGhpcywiV3lzaXd5Z1Nob3J0Y3V0cyIpfXN0YXRpYyBIRUFESU5HX1BBVFRFUk5TPVt7cGF0dGVybjovXiNbXHNcdTAwQTBdJC8sdHlwZToiaGVhZGluZy0xIn0se3BhdHRlcm46L14jI1tcc1x1MDBBMF0kLyx0eXBlOiJoZWFkaW5nLTIifSx7cGF0dGVybjovXiMjI1tcc1x1MDBBMF0kLyx0eXBlOiJoZWFkaW5nLTMifV07c3RhdGljIExJU1RfUEFUVEVSTlM9W3twYXR0ZXJuOi9eWyotXVtcc1x1MDBBMF0kLyx0eXBlOiJidWxsZXQifSx7cGF0dGVybjovXihcZCspXC5bXHNcdTAwQTBdJC8sdHlwZToib3JkZXJlZCJ9LHtwYXR0ZXJuOi9eKFxkKylcKVtcc1x1MDBBMF0kLyx0eXBlOiJvcmRlcmVkIn1dO3N0YXRpYyBRVU9URV9QQVRURVJOPS9ePltcc1x1MDBBMF0kLztzdGF0aWMgQ09ERV9QQVRURVJOPS9eYGBgJC87c3RhdGljIERJVklERVJfUEFUVEVSTlM9WyItLS0iLCIqKioiLCJfX18iXTtzdGF0aWMgY2hlY2tIZWFkaW5nU2hvcnRjdXQoZSl7Zm9yKGxldHtwYXR0ZXJuOmEsdHlwZTpyfW9mIHRoaXMuSEVBRElOR19QQVRURVJOUylpZihhLnRlc3QoZSkpcmV0dXJue3R5cGU6cn07cmV0dXJuIG51bGx9c3RhdGljIGNoZWNrTGlzdFNob3J0Y3V0KGUpe2ZvcihsZXR7cGF0dGVybjphLHR5cGU6cn1vZiB0aGlzLkxJU1RfUEFUVEVSTlMpaWYoYS50ZXN0KGUpKXJldHVybnt0eXBlOiJsaXN0IixsaXN0VHlwZTpyfTtyZXR1cm4gbnVsbH1zdGF0aWMgY2hlY2tRdW90ZVNob3J0Y3V0KGUpe3JldHVybiB0aGlzLlFVT1RFX1BBVFRFUk4udGVzdChlKX1zdGF0aWMgY2hlY2tDb2RlU2hvcnRjdXQoZSl7cmV0dXJuIHRoaXMuQ09ERV9QQVRURVJOLnRlc3QoZSl9c3RhdGljIGNoZWNrRGl2aWRlclNob3J0Y3V0KGUpe3JldHVybiB0aGlzLkRJVklERVJfUEFUVEVSTlMuaW5jbHVkZXMoZSl9c3RhdGljIGdldFNsYXNoTWVudUl0ZW1zKCl7cmV0dXJuW3t0eXBlOiJwYXJhZ3JhcGgiLGxhYmVsOiJQYXJhZ3JhcGgiLGljb246Imx1Y2lkZTpwaWxjcm93In0se3R5cGU6ImhlYWRpbmctMSIsbGFiZWw6IkhlYWRpbmcgMSIsaWNvbjoibHVjaWRlOmhlYWRpbmcxIn0se3R5cGU6ImhlYWRpbmctMiIsbGFiZWw6IkhlYWRpbmcgMiIsaWNvbjoibHVjaWRlOmhlYWRpbmcyIn0se3R5cGU6ImhlYWRpbmctMyIsbGFiZWw6IkhlYWRpbmcgMyIsaWNvbjoibHVjaWRlOmhlYWRpbmczIn0se3R5cGU6InF1b3RlIixsYWJlbDoiUXVvdGUiLGljb246Imx1Y2lkZTpxdW90ZSJ9LHt0eXBlOiJjb2RlIixsYWJlbDoiQ29kZSBCbG9jayIsaWNvbjoibHVjaWRlOmZpbGVDb2RlIn0se3R5cGU6Imxpc3QiLGxhYmVsOiJCdWxsZXQgTGlzdCIsaWNvbjoibHVjaWRlOmxpc3QifSx7dHlwZToiaW1hZ2UiLGxhYmVsOiJJbWFnZSIsaWNvbjoibHVjaWRlOmltYWdlIn0se3R5cGU6ImRpdmlkZXIiLGxhYmVsOiJEaXZpZGVyIixpY29uOiJsdWNpZGU6bWludXMifSx7dHlwZToieW91dHViZSIsbGFiZWw6IllvdVR1YmUiLGljb246Imx1Y2lkZTp5b3V0dWJlIn0se3R5cGU6Im1hcmtkb3duIixsYWJlbDoiTWFya2Rvd24iLGljb246Imx1Y2lkZTpmaWxlVGV4dCJ9LHt0eXBlOiJodG1sIixsYWJlbDoiSFRNTCIsaWNvbjoibHVjaWRlOmNvZGUifSx7dHlwZToiYXR0YWNobWVudCIsbGFiZWw6IkZpbGUgQXR0YWNobWVudCIsaWNvbjoibHVjaWRlOnBhcGVyY2xpcCJ9XX1zdGF0aWMgZ2VuZXJhdGVCbG9ja0lkKCl7cmV0dXJuYGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gfX19KTt2YXIgRzgsRHMsRlosTk9lPWMoKCk9PntwZSgpO2ppKCk7S3QoKTtzaSgpO2Y2KCk7WGUoKTtHOD1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sRHM9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LEZaPSgoKT0+e2xldCB0PVthZSgiZGVlcy1zbGFzaC1tZW51IildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W107dmFyIEU9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNTbGFzaE1lbnUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtaKCldLGg9W1ooKV0scD1bWigpXSx4PVtaKCldLHk9W1ooKV0sRzgodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJ2aXNpYmxlImluIEMsImhhcyIpLGdldDppKEM9PkMudmlzaWJsZSwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLnZpc2libGU9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxvLGwpLEc4KHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+InBvc2l0aW9uImluIEMsImhhcyIpLGdldDppKEM9PkMucG9zaXRpb24sImdldCIpLHNldDppKChDLE4pPT57Qy5wb3NpdGlvbj1OfSwic2V0Iil9LG1ldGFkYXRhOl99LHUsZiksRzgodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWx0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+ImZpbHRlciJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLmZpbHRlciwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLmZpbHRlcj1OfSwic2V0Iil9LG1ldGFkYXRhOl99LGcsdiksRzgodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZEluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJzZWxlY3RlZEluZGV4ImluIEMsImhhcyIpLGdldDppKEM9PkMuc2VsZWN0ZWRJbmRleCwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLnNlbGVjdGVkSW5kZXg9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxiLG0pLEc4KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVudVpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4ibWVudVpJbmRleCJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLm1lbnVaSW5kZXgsImdldCIpLHNldDppKChDLE4pPT57Qy5tZW51WkluZGV4PU59LCJzZXQiKX0sbWV0YWRhdGE6X30sTSxrKSxHOChudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpffSxudWxsLGEpLEU9cj1lLnZhbHVlLF8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6X30pfXN0YXRpYyBpbnN0YW5jZTtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gRS5pbnN0YW5jZXx8KEUuaW5zdGFuY2U9bmV3IEUsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChFLmluc3RhbmNlKSksRS5pbnN0YW5jZX0jZT1Ecyh0aGlzLG8sITEpO2dldCB2aXNpYmxlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZpc2libGUoXyl7dGhpcy4jZT1ffSN0PShEcyh0aGlzLGwpLERzKHRoaXMsdSx7eDowLHk6MH0pKTtnZXQgcG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgcG9zaXRpb24oXyl7dGhpcy4jdD1ffSNhPShEcyh0aGlzLGYpLERzKHRoaXMsZywiIikpO2dldCBmaWx0ZXIoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZmlsdGVyKF8pe3RoaXMuI2E9X30jcj0oRHModGhpcyx2KSxEcyh0aGlzLGIsMCkpO2dldCBzZWxlY3RlZEluZGV4KCl7cmV0dXJuIHRoaXMuI3J9c2V0IHNlbGVjdGVkSW5kZXgoXyl7dGhpcy4jcj1ffSNpPShEcyh0aGlzLG0pLERzKHRoaXMsTSwxZTMpKTtnZXQgbWVudVpJbmRleCgpe3JldHVybiB0aGlzLiNpfXNldCBtZW51WkluZGV4KF8pe3RoaXMuI2k9X31jYWxsYmFjaz0oRHModGhpcyxrKSxudWxsKTtzdGF0aWMgc3R5bGVzPVtEZSxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogMDsKICAgICAgICBoZWlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC5zbGFzaC1tZW51IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNik7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICAgIG1pbi13aWR0aDogMjIwcHg7CiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBhbmltYXRpb246IGZhZGVJblNjYWxlIDAuMTVzIGVhc2Utb3V0OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGZhZGVJblNjYWxlIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpIHRyYW5zbGF0ZVkoLTJweCk7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAuc2xhc2gtbWVudS1pdGVtIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTBweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5zbGFzaC1tZW51LWl0ZW06aG92ZXIsCiAgICAgIC5zbGFzaC1tZW51LWl0ZW0uc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc2xhc2gtbWVudS1pdGVtIC5pY29uIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5zbGFzaC1tZW51LWl0ZW06aG92ZXIgLmljb24sCiAgICAgIC5zbGFzaC1tZW51LWl0ZW0uc2VsZWN0ZWQgLmljb24gewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2lmKCF0aGlzLnZpc2libGUpcmV0dXJuIHdgYDt0aGlzLnN0eWxlLnpJbmRleD10aGlzLm1lbnVaSW5kZXgudG9TdHJpbmcoKTtsZXQgXz10aGlzLmdldEZpbHRlcmVkTWVudUl0ZW1zKCk7cmV0dXJuIHdgCiAgICAgIDxkaXYgCiAgICAgICAgY2xhc3M9InNsYXNoLW1lbnUiIAogICAgICAgIHN0eWxlPSJsZWZ0OiAke3RoaXMucG9zaXRpb24ueH1weDsgdG9wOiAke3RoaXMucG9zaXRpb24ueX1weDsiCiAgICAgICAgdGFiaW5kZXg9Ii0xIgogICAgICAgIGRhdGEtbWVudS10eXBlPSJzbGFzaCIKICAgICAgPgogICAgICAgICR7Xy5tYXAoKEMsTik9PndgCiAgICAgICAgICA8ZGl2IAogICAgICAgICAgICBjbGFzcz0ic2xhc2gtbWVudS1pdGVtICR7Tj09PXRoaXMuc2VsZWN0ZWRJbmRleD8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgZGF0YS1pdGVtLXR5cGU9IiR7Qy50eXBlfSIKICAgICAgICAgICAgZGF0YS1pdGVtLWluZGV4PSIke059IgogICAgICAgICAgPgogICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJpY29uIiAuaWNvbj0iJHtDLmljb259IiBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8c3Bhbj4ke0MubGFiZWx9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCl9CiAgICAgIDwvZGl2PgogICAgYH1nZXRGaWx0ZXJlZE1lbnVJdGVtcygpe3JldHVybiBwMS5nZXRTbGFzaE1lbnVJdGVtcygpLmZpbHRlcihDPT50aGlzLmZpbHRlcj09PSIifHxDLmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5maWx0ZXIudG9Mb3dlckNhc2UoKSkpfXNlbGVjdEl0ZW0oXyl7dGhpcy5jYWxsYmFjayYmdGhpcy5jYWxsYmFjayhfKSx0aGlzLmhpZGUoKX1zaG93KF8sQyl7dGhpcy5wb3NpdGlvbj1fLHRoaXMuY2FsbGJhY2s9Qyx0aGlzLmZpbHRlcj0iIix0aGlzLnNlbGVjdGVkSW5kZXg9MCx0aGlzLm1lbnVaSW5kZXg9X2EuZ2V0TmV4dFpJbmRleCgpLF9hLnJlZ2lzdGVyKHRoaXMsdGhpcy5tZW51WkluZGV4KSx0aGlzLnN0eWxlLnpJbmRleD10aGlzLm1lbnVaSW5kZXgudG9TdHJpbmcoKSx0aGlzLnZpc2libGU9ITB9aGlkZSgpe3RoaXMudmlzaWJsZT0hMSx0aGlzLmNhbGxiYWNrPW51bGwsdGhpcy5maWx0ZXI9IiIsdGhpcy5zZWxlY3RlZEluZGV4PTAsX2EudW5yZWdpc3Rlcih0aGlzKX11cGRhdGVGaWx0ZXIoXyl7dGhpcy5maWx0ZXI9Xyx0aGlzLnNlbGVjdGVkSW5kZXg9MH1uYXZpZ2F0ZShfKXtsZXQgQz10aGlzLmdldEZpbHRlcmVkTWVudUl0ZW1zKCk7Xz09PSJkb3duIj90aGlzLnNlbGVjdGVkSW5kZXg9KHRoaXMuc2VsZWN0ZWRJbmRleCsxKSVDLmxlbmd0aDp0aGlzLnNlbGVjdGVkSW5kZXg9dGhpcy5zZWxlY3RlZEluZGV4PT09MD9DLmxlbmd0aC0xOnRoaXMuc2VsZWN0ZWRJbmRleC0xfXNlbGVjdEN1cnJlbnQoKXtsZXQgXz10aGlzLmdldEZpbHRlcmVkTWVudUl0ZW1zKCk7X1t0aGlzLnNlbGVjdGVkSW5kZXhdJiZ0aGlzLnNlbGVjdEl0ZW0oX1t0aGlzLnNlbGVjdGVkSW5kZXhdLnR5cGUpfWZpcnN0VXBkYXRlZCgpe3RoaXMuc2hhZG93Um9vdD8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixfPT57bGV0IEM9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuc2xhc2gtbWVudSIpO0MmJkMuY29udGFpbnMoXy50YXJnZXQpJiYoXy5wcmV2ZW50RGVmYXVsdCgpLF8uc3RvcFByb3BhZ2F0aW9uKCkpfSksdGhpcy5zaGFkb3dSb290Py5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsXz0+e2xldCBOPV8udGFyZ2V0LmNsb3Nlc3QoIi5zbGFzaC1tZW51LWl0ZW0iKTtpZihOKXtfLnByZXZlbnREZWZhdWx0KCksXy5zdG9wUHJvcGFnYXRpb24oKTtsZXQgJD1OLmdldEF0dHJpYnV0ZSgiZGF0YS1pdGVtLXR5cGUiKTskJiZ0aGlzLnNlbGVjdEl0ZW0oJCl9fSksdGhpcy5zaGFkb3dSb290Py5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIixfPT57bGV0IE49Xy50YXJnZXQuY2xvc2VzdCgiLnNsYXNoLW1lbnUtaXRlbSIpO2lmKE4pe2xldCAkPXBhcnNlSW50KE4uZ2V0QXR0cmlidXRlKCJkYXRhLWl0ZW0taW5kZXgiKXx8IjAiLDEwKTt0aGlzLnNlbGVjdGVkSW5kZXg9JH19LCEwKSx0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixfPT57bGV0IEM9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuc2xhc2gtbWVudSIpO0MmJkMuY29udGFpbnMoXy50YXJnZXQpJiYoXy5wcmV2ZW50RGVmYXVsdCgpLF8uc3RvcFByb3BhZ2F0aW9uKCkpfSwhMCl9c3RhdGlje0RzKHIsYSl9fTtyZXR1cm4gRT1yfSkoKX0pO3ZhciBZZSxUMj1jKCgpPT57WWU9Y2xhc3N7c3RhdGlje2kodGhpcywiV3lzaXd5Z1NlbGVjdGlvbiIpfXN0YXRpYyBnZXRTZWxlY3Rpb25JbmZvKC4uLmUpe2xldCBhPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihjb25zb2xlLmxvZygiV3lzaXd5Z1NlbGVjdGlvbi5nZXRTZWxlY3Rpb25JbmZvIC0gc2VsZWN0aW9uOiIsYSwicmFuZ2VDb3VudDoiLGE/LnJhbmdlQ291bnQpLCFhKXJldHVybiBudWxsO2lmKCJnZXRDb21wb3NlZFJhbmdlcyJpbiBhJiZ0eXBlb2YgYS5nZXRDb21wb3NlZFJhbmdlcz09ImZ1bmN0aW9uIil7Y29uc29sZS5sb2coIlVzaW5nIGdldENvbXBvc2VkUmFuZ2VzIHdpdGgiLGUubGVuZ3RoLCJzaGFkb3cgcm9vdHMiKTt0cnl7bGV0IHI9YS5nZXRDb21wb3NlZFJhbmdlcyh7c2hhZG93Um9vdHM6ZX0pO2lmKGNvbnNvbGUubG9nKCJnZXRDb21wb3NlZFJhbmdlcyByZXR1cm5lZCIsci5sZW5ndGgsInJhbmdlcyIpLHIubGVuZ3RoPjApe2xldCBzPXJbMF07cmV0dXJue3N0YXJ0Q29udGFpbmVyOnMuc3RhcnRDb250YWluZXIsc3RhcnRPZmZzZXQ6cy5zdGFydE9mZnNldCxlbmRDb250YWluZXI6cy5lbmRDb250YWluZXIsZW5kT2Zmc2V0OnMuZW5kT2Zmc2V0LGNvbGxhcHNlZDpzLmNvbGxhcHNlZH19fWNhdGNoKHIpe2NvbnNvbGUud2FybigiZ2V0Q29tcG9zZWRSYW5nZXMgZmFpbGVkLCBmYWxsaW5nIGJhY2sgdG8gZ2V0UmFuZ2VBdDoiLHIpfX1lbHNlIGNvbnNvbGUubG9nKCJnZXRDb21wb3NlZFJhbmdlcyBub3QgYXZhaWxhYmxlLCB1c2luZyBmYWxsYmFjayIpO2lmKGEucmFuZ2VDb3VudD4wKXtsZXQgcj1hLmdldFJhbmdlQXQoMCk7cmV0dXJue3N0YXJ0Q29udGFpbmVyOnIuc3RhcnRDb250YWluZXIsc3RhcnRPZmZzZXQ6ci5zdGFydE9mZnNldCxlbmRDb250YWluZXI6ci5lbmRDb250YWluZXIsZW5kT2Zmc2V0OnIuZW5kT2Zmc2V0LGNvbGxhcHNlZDpyLmNvbGxhcHNlZH19cmV0dXJuIG51bGx9c3RhdGljIGlzU2VsZWN0aW9uSW5FbGVtZW50KGUsYSl7bGV0IHI9YT90aGlzLmdldFNlbGVjdGlvbkluZm8oYSk6dGhpcy5nZXRTZWxlY3Rpb25JbmZvKCk7cmV0dXJuIHI/ZS5jb250YWlucyhyLnN0YXJ0Q29udGFpbmVyKXx8ZS5jb250YWlucyhyLmVuZENvbnRhaW5lcik6ITF9c3RhdGljIGdldFNlbGVjdGVkVGV4dCgpe2xldCBlPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtyZXR1cm4gZT9lLnRvU3RyaW5nKCk6IiJ9c3RhdGljIGNyZWF0ZVJhbmdlRnJvbUluZm8oZSl7bGV0IGE9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyZXR1cm4gYS5zZXRTdGFydChlLnN0YXJ0Q29udGFpbmVyLGUuc3RhcnRPZmZzZXQpLGEuc2V0RW5kKGUuZW5kQ29udGFpbmVyLGUuZW5kT2Zmc2V0KSxhfXN0YXRpYyBzZXRTZWxlY3Rpb25Gcm9tUmFuZ2UoZSl7bGV0IGE9d2luZG93LmdldFNlbGVjdGlvbigpO2EmJihhLnJlbW92ZUFsbFJhbmdlcygpLGEuYWRkUmFuZ2UoZSkpfXN0YXRpYyBnZXRDdXJzb3JQb3NpdGlvbkluRWxlbWVudChlLC4uLmEpe2xldCByPWEubGVuZ3RoPjA/dGhpcy5nZXRTZWxlY3Rpb25JbmZvKC4uLmEpOnRoaXMuZ2V0U2VsZWN0aW9uSW5mbygpO2lmKCFyfHwhci5jb2xsYXBzZWQpcmV0dXJuIG51bGw7dHJ5e2xldCBzPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7aWYocy5zZWxlY3ROb2RlQ29udGVudHMoZSksdGhpcy5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShlLHIuc3RhcnRDb250YWluZXIpKXJldHVybiBzLnNldEVuZChyLnN0YXJ0Q29udGFpbmVyLHIuc3RhcnRPZmZzZXQpLHMudG9TdHJpbmcoKS5sZW5ndGg7e2xldCBvPWUudGV4dENvbnRlbnR8fCIiLGw9ci5zdGFydENvbnRhaW5lci50ZXh0Q29udGVudHx8IiI7cmV0dXJuIHIuc3RhcnRPZmZzZXQ9PT0wPzA6ci5zdGFydE9mZnNldD09PWwubGVuZ3RoP28ubGVuZ3RoOihjb25zb2xlLndhcm4oIlNlbGVjdGlvbiBjb250YWluZXIgbm90IHdpdGhpbiBlbGVtZW50LCB1c2luZyB0ZXh0IG1hdGNoaW5nIGZhbGxiYWNrIiksci5zdGFydE9mZnNldCl9fWNhdGNoKHMpe3JldHVybiBjb25zb2xlLndhcm4oIkZhaWxlZCB0byBnZXQgY3Vyc29yIHBvc2l0aW9uOiIscyksbnVsbH19c3RhdGljIGdldEN1cnNvclBvc2l0aW9uRnJvbVBvaW50KGUsYSxyLC4uLnMpe2lmKCJjYXJldFBvc2l0aW9uRnJvbVBvaW50ImluIGRvY3VtZW50JiZkb2N1bWVudC5jYXJldFBvc2l0aW9uRnJvbVBvaW50KXtsZXQgbj1udWxsO3RyeXtuPWRvY3VtZW50LmNhcmV0UG9zaXRpb25Gcm9tUG9pbnQoZSxhLC4uLnMpfWNhdGNoe249ZG9jdW1lbnQuY2FyZXRQb3NpdGlvbkZyb21Qb2ludChlLGEpfWlmKG4mJnIuY29udGFpbnMobi5vZmZzZXROb2RlKSlyZXR1cm4gdGhpcy5nZXRPZmZzZXRJbkVsZW1lbnQobi5vZmZzZXROb2RlLG4ub2Zmc2V0LHIpfWlmKCJjYXJldFJhbmdlRnJvbVBvaW50ImluIGRvY3VtZW50KXtsZXQgbj1kb2N1bWVudC5jYXJldFJhbmdlRnJvbVBvaW50KGUsYSk7aWYobiYmci5jb250YWlucyhuLnN0YXJ0Q29udGFpbmVyKSlyZXR1cm4gdGhpcy5nZXRPZmZzZXRJbkVsZW1lbnQobi5zdGFydENvbnRhaW5lcixuLnN0YXJ0T2Zmc2V0LHIpfXJldHVybiBudWxsfXN0YXRpYyBnZXRPZmZzZXRJbkVsZW1lbnQoZSxhLHIpe2xldCBzPTAsbj0hMSxvPWRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIocixOb2RlRmlsdGVyLlNIT1dfVEVYVCxudWxsKSxsO2Zvcig7bD1vLm5leHROb2RlKCk7KWlmKGw9PT1lKXtzKz1hLG49ITA7YnJlYWt9ZWxzZSBzKz1sLnRleHRDb250ZW50Py5sZW5ndGh8fDA7cmV0dXJuIG4/czowfXN0YXRpYyBzZXRDdXJzb3JQb3NpdGlvbihlLGEpe2xldCByPWRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIoZSxOb2RlRmlsdGVyLlNIT1dfVEVYVCxudWxsKSxzPTAsbj1udWxsLG89MDtmb3IoO3IubmV4dE5vZGUoKTspe2xldCBsPXIuY3VycmVudE5vZGUsaD1sLnRleHRDb250ZW50Py5sZW5ndGh8fDA7aWYocytoPj1hKXtuPWwsbz1hLXM7YnJlYWt9cys9aH1pZihuKXtsZXQgbD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO2wuc2V0U3RhcnQobixvKSxsLmNvbGxhcHNlKCEwKSx0aGlzLnNldFNlbGVjdGlvbkZyb21SYW5nZShsKX19c3RhdGljIGNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKGUsYSl7aWYoIWV8fCFhKXJldHVybiExO2xldCByPWE7Zm9yKDtyOyl7aWYocj09PWUpcmV0dXJuITA7aWYoci5ub2RlVHlwZT09PU5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSYmci5ob3N0KXtsZXQgcz1yO2lmKHMuY29udGFpbnMoZSkpcmV0dXJuITE7cj1zLmhvc3R9ZWxzZSByPXIucGFyZW50Tm9kZX1yZXR1cm4hMX19fSk7dmFyIEFvLFJPZT1jKCgpPT57cGUoKTtUMigpO0FvPWNsYXNze3N0YXRpY3tpKHRoaXMsIld5c2l3eWdGb3JtYXR0aW5nIil9c3RhdGljIGZvcm1hdEJ1dHRvbnM9W3tjb21tYW5kOiJib2xkIixpY29uOiJCIixsYWJlbDoiQm9sZCIsc2hvcnRjdXQ6Ilx1MjMxOEIifSx7Y29tbWFuZDoiaXRhbGljIixpY29uOiJJIixsYWJlbDoiSXRhbGljIixzaG9ydGN1dDoiXHUyMzE4SSJ9LHtjb21tYW5kOiJ1bmRlcmxpbmUiLGljb246IlUiLGxhYmVsOiJVbmRlcmxpbmUiLHNob3J0Y3V0OiJcdTIzMThVIn0se2NvbW1hbmQ6InN0cmlrZVRocm91Z2giLGljb246IlNcdTAzMzYiLGxhYmVsOiJTdHJpa2V0aHJvdWdoIn0se2NvbW1hbmQ6ImNvZGUiLGljb246InsgfSIsbGFiZWw6IklubGluZSBDb2RlIn0se2NvbW1hbmQ6ImxpbmsiLGljb246Ilx1ezFGNTE3fSIsbGFiZWw6IkxpbmsiLHNob3J0Y3V0OiJcdTIzMThLIn1dO3N0YXRpYyByZW5kZXJGb3JtYXR0aW5nTWVudShlLGEpe3JldHVybiB3YAogICAgICA8ZGl2IAogICAgICAgIGNsYXNzPSJmb3JtYXR0aW5nLW1lbnUiIAogICAgICAgIHN0eWxlPSJ0b3A6ICR7ZS55fXB4OyBsZWZ0OiAke2UueH1weDsiCiAgICAgICAgQG1vdXNlZG93bj0iJHtyPT57ci5wcmV2ZW50RGVmYXVsdCgpLHIuc3RvcFByb3BhZ2F0aW9uKCl9fSIKICAgICAgICBAY2xpY2s9IiR7cj0+ci5zdG9wUHJvcGFnYXRpb24oKX0iCiAgICAgID4KICAgICAgICAke3RoaXMuZm9ybWF0QnV0dG9ucy5tYXAocj0+d2AKICAgICAgICAgIDxidXR0b24gCiAgICAgICAgICAgIGNsYXNzPSJmb3JtYXQtYnV0dG9uICR7ci5jb21tYW5kfSIKICAgICAgICAgICAgQGNsaWNrPSIkeygpPT5hKHIuY29tbWFuZCl9IgogICAgICAgICAgICB0aXRsZT0iJHtyLmxhYmVsfSR7ci5zaG9ydGN1dD9gICgke3Iuc2hvcnRjdXR9KWA6IiJ9IgogICAgICAgICAgPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iJHtyLmNvbW1hbmQ9PT0iY29kZSI/ImNvZGUtaWNvbiI6IiJ9Ij4ke3IuaWNvbn08L3NwYW4+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICBgKX0KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpYyBhcHBseUZvcm1hdChlLGEscixzKXtsZXQgbjtpZihyKW49cjtlbHNle2xldCBvPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighb3x8by5yYW5nZUNvdW50PT09MClyZXR1cm4hMTtuPW8uZ2V0UmFuZ2VBdCgwKX1zd2l0Y2goZSl7Y2FzZSJib2xkIjp0aGlzLndyYXBTZWxlY3Rpb24obiwic3Ryb25nIik7YnJlYWs7Y2FzZSJpdGFsaWMiOnRoaXMud3JhcFNlbGVjdGlvbihuLCJlbSIpO2JyZWFrO2Nhc2UidW5kZXJsaW5lIjp0aGlzLndyYXBTZWxlY3Rpb24obiwidSIpO2JyZWFrO2Nhc2Uic3RyaWtlVGhyb3VnaCI6dGhpcy53cmFwU2VsZWN0aW9uKG4sInMiKTticmVhaztjYXNlImNvZGUiOnRoaXMud3JhcFNlbGVjdGlvbihuLCJjb2RlIik7YnJlYWs7Y2FzZSJsaW5rIjppZighYSlyZXR1cm4hMTt0aGlzLndyYXBTZWxlY3Rpb25XaXRoTGluayhuLGEpO2JyZWFrfWlmKHMmJnMubGVuZ3RoPjApWWUuc2V0U2VsZWN0aW9uRnJvbVJhbmdlKG4pO2Vsc2V7bGV0IG89d2luZG93LmdldFNlbGVjdGlvbigpO28mJihvLnJlbW92ZUFsbFJhbmdlcygpLG8uYWRkUmFuZ2UobikpfXJldHVybiEwfXN0YXRpYyB3cmFwU2VsZWN0aW9uKGUsYSl7bGV0IHI9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFyKXJldHVybjtpZih0aGlzLnNlbGVjdGlvbkNvbnRhaW5zVGFnKGUsYSkpdGhpcy5yZW1vdmVUYWdGcm9tU2VsZWN0aW9uKGUsYSk7ZWxzZXtsZXQgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGEpO3RyeXtsZXQgbz1lLmV4dHJhY3RDb250ZW50cygpO24uYXBwZW5kQ2hpbGQobyksZS5pbnNlcnROb2RlKG4pLGUuc2VsZWN0Tm9kZUNvbnRlbnRzKG4pLHIucmVtb3ZlQWxsUmFuZ2VzKCksci5hZGRSYW5nZShlKX1jYXRjaChvKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gd3JhcCBzZWxlY3Rpb246IixvKX19fXN0YXRpYyBzZWxlY3Rpb25Db250YWluc1RhZyhlLGEpe2xldCByPWUuc3RhcnRDb250YWluZXI7Zm9yKDtyJiZyIT09ZS5jb21tb25BbmNlc3RvckNvbnRhaW5lci5vd25lckRvY3VtZW50Oyl7aWYoci5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZyLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PWEpcmV0dXJuITA7cj1yLnBhcmVudE5vZGV9Zm9yKHI9ZS5lbmRDb250YWluZXI7ciYmciE9PWUuY29tbW9uQW5jZXN0b3JDb250YWluZXIub3duZXJEb2N1bWVudDspe2lmKHIubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmci50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT1hKXJldHVybiEwO3I9ci5wYXJlbnROb2RlfWxldCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLG49ZS5jbG9uZUNvbnRlbnRzKCk7cmV0dXJuIHMuYXBwZW5kQ2hpbGQobikscy5nZXRFbGVtZW50c0J5VGFnTmFtZShhKS5sZW5ndGg+MH1zdGF0aWMgcmVtb3ZlVGFnRnJvbVNlbGVjdGlvbihlLGEpe2xldCByPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighcilyZXR1cm47bGV0IHM9ZS5jbG9uZVJhbmdlKCksbj1lLnN0YXJ0Q29udGFpbmVyLG89bnVsbDtmb3IoO24mJm4hPT1lLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLm93bmVyRG9jdW1lbnQ7KXtpZihuLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJm4udGFnTmFtZS50b0xvd2VyQ2FzZSgpPT09YSl7bz1uO2JyZWFrfW49bi5wYXJlbnROb2RlfWxldCBsPWUuZW5kQ29udGFpbmVyLGg9bnVsbDtmb3IoO2wmJmwhPT1lLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLm93bmVyRG9jdW1lbnQ7KXtpZihsLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJmwudGFnTmFtZS50b0xvd2VyQ2FzZSgpPT09YSl7aD1sO2JyZWFrfWw9bC5wYXJlbnROb2RlfW8mJnMuc2V0U3RhcnRCZWZvcmUobyksaCYmcy5zZXRFbmRBZnRlcihoKTtsZXQgdT1zLmV4dHJhY3RDb250ZW50cygpLGY9dGhpcy5yZW1vdmVUYWdzRnJvbUZyYWdtZW50KHUsYSk7cy5pbnNlcnROb2RlKGYpO2xldCBwPVtdLGc9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihmLE5vZGVGaWx0ZXIuU0hPV19URVhULG51bGwpLHY7Zm9yKDt2PWcubmV4dE5vZGUoKTspcC5wdXNoKHYpO2lmKHAubGVuZ3RoPjApe2xldCB4PWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7eC5zZXRTdGFydChwWzBdLDApLHguc2V0RW5kKHBbcC5sZW5ndGgtMV0scFtwLmxlbmd0aC0xXS50ZXh0Q29udGVudD8ubGVuZ3RofHwwKSxyLnJlbW92ZUFsbFJhbmdlcygpLHIuYWRkUmFuZ2UoeCl9fXN0YXRpYyByZW1vdmVUYWdzRnJvbUZyYWdtZW50KGUsYSl7bGV0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ci5hcHBlbmRDaGlsZChlKTtsZXQgcz1yLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpO0FycmF5LmZyb20ocykuZm9yRWFjaChsPT57bGV0IGg9bC5wYXJlbnROb2RlO2lmKGgpe2Zvcig7bC5maXJzdENoaWxkOyloLmluc2VydEJlZm9yZShsLmZpcnN0Q2hpbGQsbCk7aC5yZW1vdmVDaGlsZChsKX19KTtsZXQgbz1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7Zm9yKDtyLmZpcnN0Q2hpbGQ7KW8uYXBwZW5kQ2hpbGQoci5maXJzdENoaWxkKTtyZXR1cm4gb31zdGF0aWMgd3JhcFNlbGVjdGlvbldpdGhMaW5rKGUsYSl7bGV0IHI9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFyKXJldHVybjt0aGlzLnNlbGVjdGlvbkNvbnRhaW5zVGFnKGUsImEiKSYmKHRoaXMucmVtb3ZlVGFnRnJvbVNlbGVjdGlvbihlLCJhIiksci5yYW5nZUNvdW50PjAmJihlPXIuZ2V0UmFuZ2VBdCgwKSkpO2xldCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtzLmhyZWY9YSxzLnRhcmdldD0iX2JsYW5rIixzLnJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciI7dHJ5e2xldCBuPWUuZXh0cmFjdENvbnRlbnRzKCk7cy5hcHBlbmRDaGlsZChuKSxlLmluc2VydE5vZGUocyksZS5zZWxlY3ROb2RlQ29udGVudHMocyksci5yZW1vdmVBbGxSYW5nZXMoKSxyLmFkZFJhbmdlKGUpfWNhdGNoKG4pe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgbGluazoiLG4pfX1zdGF0aWMgZ2V0U2VsZWN0aW9uQ29vcmRpbmF0ZXMoLi4uZSl7bGV0IGE9WWUuZ2V0U2VsZWN0aW9uSW5mbyguLi5lKTtpZihjb25zb2xlLmxvZygiZ2V0U2VsZWN0aW9uQ29vcmRpbmF0ZXMgLSBzZWxlY3Rpb25JbmZvOiIsYSksIWEpcmV0dXJuIGNvbnNvbGUubG9nKCJObyBzZWxlY3Rpb24gaW5mbyBhdmFpbGFibGUiKSxudWxsO2xldCBzPVllLmNyZWF0ZVJhbmdlRnJvbUluZm8oYSkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoY29uc29sZS5sb2coIlJhbmdlIHJlY3Q6IixzKSxzLndpZHRoPT09MCYmcy5oZWlnaHQ9PT0wKXtpZihjb25zb2xlLmxvZygiUmVjdCB3aWR0aCBhbmQgaGVpZ2h0IGFyZSAwLCB0cnlpbmcgZGlmZmVyZW50IGFwcHJvYWNoIiksImNhcmV0UG9zaXRpb25Gcm9tUG9pbnQiaW4gZG9jdW1lbnQpe2xldCBvPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihvJiZvLnJhbmdlQ291bnQ+MCl7bGV0IGw9by5nZXRSYW5nZUF0KDApLGg9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO2gudGV4dENvbnRlbnQ9Ilx1MjAwQiIsbC5pbnNlcnROb2RlKGgpO2xldCB1PWguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoaC5yZW1vdmUoKSx1LndpZHRoPjB8fHUuaGVpZ2h0PjApe2xldCBmPXt4OnUubGVmdCx5Ok1hdGgubWF4KDQ1LHUudG9wLTQ1KX07cmV0dXJuIGNvbnNvbGUubG9nKCJVc2VkIHNwYW4gdHJpY2sgZm9yIGNvb3JkczoiLGYpLGZ9fX1yZXR1cm4gbnVsbH1sZXQgbj17eDpzLmxlZnQrcy53aWR0aC8yLHk6TWF0aC5tYXgoNDUscy50b3AtNDUpfTtyZXR1cm4gY29uc29sZS5sb2coIlJldHVybmluZyBjb29yZHM6IixuKSxufX19KTt2YXIgT1osaDYsQlosRk9lPWMoKCk9PntwZSgpO2ppKCk7Uk9lKCk7WGUoKTtPWj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0saDY9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LEJaPSgoKT0+e2xldCB0PVthZSgiZGVlcy1mb3JtYXR0aW5nLW1lbnUiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0Zvcm1hdHRpbmdNZW51Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bWigpXSxoPVtaKCldLHA9W1ooKV0sT1oodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJ2aXNpYmxlImluIG0sImhhcyIpLGdldDppKG09Pm0udmlzaWJsZSwiZ2V0Iiksc2V0OmkoKG0seSk9PnttLnZpc2libGU9eX0sInNldCIpfSxtZXRhZGF0YTpifSxvLGwpLE9aKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkobT0+InBvc2l0aW9uImluIG0sImhhcyIpLGdldDppKG09Pm0ucG9zaXRpb24sImdldCIpLHNldDppKChtLHkpPT57bS5wb3NpdGlvbj15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LHUsZiksT1oodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51WkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJtZW51WkluZGV4ImluIG0sImhhcyIpLGdldDppKG09Pm0ubWVudVpJbmRleCwiZ2V0Iiksc2V0OmkoKG0seSk9PnttLm1lbnVaSW5kZXg9eX0sInNldCIpfSxtZXRhZGF0YTpifSxnLHYpLE9aKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsYSkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGluc3RhbmNlO3N0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB4Lmluc3RhbmNlfHwoeC5pbnN0YW5jZT1uZXcgeCxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHguaW5zdGFuY2UpKSx4Lmluc3RhbmNlfSNlPWg2KHRoaXMsbywhMSk7Z2V0IHZpc2libGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmlzaWJsZShiKXt0aGlzLiNlPWJ9I3Q9KGg2KHRoaXMsbCksaDYodGhpcyx1LHt4OjAseTowfSkpO2dldCBwb3NpdGlvbigpe3JldHVybiB0aGlzLiN0fXNldCBwb3NpdGlvbihiKXt0aGlzLiN0PWJ9I2E9KGg2KHRoaXMsZiksaDYodGhpcyxnLDFlMykpO2dldCBtZW51WkluZGV4KCl7cmV0dXJuIHRoaXMuI2F9c2V0IG1lbnVaSW5kZXgoYil7dGhpcy4jYT1ifWNhbGxiYWNrPShoNih0aGlzLHYpLG51bGwpO3N0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIGhlaWdodDogMDsKICAgICAgfQoKICAgICAgLmZvcm1hdHRpbmctbWVudSB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzI2MjYyNiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2UwZTBlMCIsIiM0MDQwNDAiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjE1KTsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDJweDsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBhbmltYXRpb246IGZhZGVJblNjYWxlIDAuMTVzIGVhc2Utb3V0OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGZhZGVJblNjYWxlIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpIHRyYW5zbGF0ZVkoNXB4KTsKICAgICAgICB9CiAgICAgICAgdG8gewogICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5mb3JtYXQtYnV0dG9uIHsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzAwMDAwMCIsIiNlMGUwZTAiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuZm9ybWF0LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmMGYwZjAiLCIjMzMzMzMzIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzAwNjZjYyIsIiM0ZDk0ZmYiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtYXQtYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsKICAgICAgfQoKICAgICAgLmZvcm1hdC1idXR0b24uYm9sZCB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgfQoKICAgICAgLmZvcm1hdC1idXR0b24uaXRhbGljIHsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIC5mb3JtYXQtYnV0dG9uLnVuZGVybGluZSB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC5mb3JtYXQtYnV0dG9uIC5jb2RlLWljb24gewogICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHRoaXMudmlzaWJsZT8odGhpcy5zdHlsZS56SW5kZXg9dGhpcy5tZW51WkluZGV4LnRvU3RyaW5nKCksd2AKICAgICAgPGRpdiAKICAgICAgICBjbGFzcz0iZm9ybWF0dGluZy1tZW51IiAKICAgICAgICBzdHlsZT0ibGVmdDogJHt0aGlzLnBvc2l0aW9uLnh9cHg7IHRvcDogJHt0aGlzLnBvc2l0aW9uLnl9cHg7IgogICAgICAgIHRhYmluZGV4PSItMSIKICAgICAgICBkYXRhLW1lbnUtdHlwZT0iZm9ybWF0dGluZyIKICAgICAgPgogICAgICAgICR7QW8uZm9ybWF0QnV0dG9ucy5tYXAoYj0+d2AKICAgICAgICAgIDxidXR0b24gCiAgICAgICAgICAgIGNsYXNzPSJmb3JtYXQtYnV0dG9uICR7Yi5jb21tYW5kfSIKICAgICAgICAgICAgZGF0YS1jb21tYW5kPSIke2IuY29tbWFuZH0iCiAgICAgICAgICAgIHRpdGxlPSIke2IubGFiZWx9JHtiLnNob3J0Y3V0P2AgKCR7Yi5zaG9ydGN1dH0pYDoiIn0iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSIke2IuY29tbWFuZD09PSJjb2RlIj8iY29kZS1pY29uIjoiIn0iPiR7Yi5pY29ufTwvc3Bhbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIGApfQogICAgICA8L2Rpdj4KICAgIGApOndgYH1hcHBseUZvcm1hdChiKXt0aGlzLmNhbGxiYWNrJiZ0aGlzLmNhbGxiYWNrKGIpLGI9PT0ibGluayImJnRoaXMuaGlkZSgpfXNob3coYixtKXtjb25zb2xlLmxvZygiRm9ybWF0dGluZ01lbnUuc2hvdyBjYWxsZWQ6Iix7cG9zaXRpb246Yix2aXNpYmxlOnRoaXMudmlzaWJsZX0pLHRoaXMucG9zaXRpb249Yix0aGlzLmNhbGxiYWNrPW0sdGhpcy5tZW51WkluZGV4PV9hLmdldE5leHRaSW5kZXgoKSxfYS5yZWdpc3Rlcih0aGlzLHRoaXMubWVudVpJbmRleCksdGhpcy5zdHlsZS56SW5kZXg9dGhpcy5tZW51WkluZGV4LnRvU3RyaW5nKCksdGhpcy52aXNpYmxlPSEwfWhpZGUoKXt0aGlzLnZpc2libGU9ITEsdGhpcy5jYWxsYmFjaz1udWxsLF9hLnVucmVnaXN0ZXIodGhpcyl9dXBkYXRlUG9zaXRpb24oYil7dGhpcy5wb3NpdGlvbj1ifWZpcnN0VXBkYXRlZCgpe3RoaXMuc2hhZG93Um9vdD8uYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixiPT57bGV0IG09dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZm9ybWF0dGluZy1tZW51Iik7bSYmbS5jb250YWlucyhiLnRhcmdldCkmJihiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKSl9KSx0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixiPT57bGV0IHk9Yi50YXJnZXQuY2xvc2VzdCgiLmZvcm1hdC1idXR0b24iKTtpZih5KXtiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKTtsZXQgTT15LmdldEF0dHJpYnV0ZSgiZGF0YS1jb21tYW5kIik7TSYmdGhpcy5hcHBseUZvcm1hdChNKX19KSx0aGlzLnNoYWRvd1Jvb3Q/LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixiPT57bGV0IG09dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZm9ybWF0dGluZy1tZW51Iik7bSYmbS5jb250YWlucyhiLnRhcmdldCkmJihiLnByZXZlbnREZWZhdWx0KCksYi5zdG9wUHJvcGFnYXRpb24oKSl9LCEwKX1zdGF0aWN7aDYocixhKX19O3JldHVybiB4PXJ9KSgpfSk7dmFyIFk4PWMoKCk9PntwZSgpO3NpKCk7Tk9lKCk7Rk9lKCl9KTt2YXIgUU8sSFo9YygoKT0+e1FPPVsiSmF2YVNjcmlwdCIsIlR5cGVTY3JpcHQiLCJQeXRob24iLCJKYXZhIiwiQysrIiwiQyMiLCJHbyIsIlJ1c3QiLCJIVE1MIiwiQ1NTIiwiU1FMIiwiU2hlbGwiLCJKU09OIiwiWUFNTCIsIk1hcmtkb3duIiwiUGxhaW4gVGV4dCJdfSk7dmFyIE9PZSxtWnQ9YygoKT0+e3BlKCk7T09lPVhgCiAgOmhvc3QgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgfQoKICAud3lzaXd5Zy1jb250YWluZXIgewogICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgbWluLWhlaWdodDogMjAwcHg7CiAgICBwYWRkaW5nOiAyNHB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAud3lzaXd5Zy1jb250YWluZXI6aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2QxZDVkYiIsIiMzZjNmNDYiKX07CiAgfQoKICAud3lzaXd5Zy1jb250YWluZXI6Zm9jdXMtd2l0aGluIHsKICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7CiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9LCAwIDAgMCA0cHggJHtkLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjUpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuNSkiKX07CiAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICB9CgogIC8qIFZpc3VhbCBoaW50IGZvciB0ZXh0IHNlbGVjdGlvbiAqLwogIC5lZGl0b3ItY29udGVudDpob3ZlciB7CiAgICBjdXJzb3I6IHRleHQ7CiAgfQoKICAuZWRpdG9yLWNvbnRlbnQgewogICAgb3V0bGluZTogbm9uZTsKICAgIG1pbi1oZWlnaHQ6IDE2MHB4OwogICAgbWFyZ2luOiAwIC04cHg7CiAgICBwYWRkaW5nOiAwIDhweDsKICB9CgogIC5ibG9jayB7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiA0cHggMDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgbWluLWhlaWdodDogMS42ZW07CiAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLyogRmlyc3QgYW5kIGxhc3QgYmxvY2tzIGRvbid0IG5lZWQgZXh0cmEgc3BhY2luZyAqLwogIC5ibG9jay13cmFwcGVyOmZpcnN0LWNoaWxkIC5ibG9jayB7CiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7CiAgfQoKICAuYmxvY2std3JhcHBlcjpsYXN0LWNoaWxkIC5ibG9jayB7CiAgICBtYXJnaW4tYm90dG9tOiAwOwogIH0KCiAgLmJsb2NrLnNlbGVjdGVkIHsKICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wNSkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wNSkiKX07CiAgICBvdXRsaW5lOiAycHggc29saWQgJHtkLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIG1hcmdpbi1sZWZ0OiAtOHB4OwogICAgbWFyZ2luLXJpZ2h0OiAtOHB4OwogICAgcGFkZGluZy1sZWZ0OiA4cHg7CiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7CiAgfQoKICAuYmxvY2tbY29udGVudGVkaXRhYmxlXSB7CiAgICBvdXRsaW5lOiBub25lOwogIH0KCiAgLmJsb2NrLnBhcmFncmFwaCB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICB9CgogIC5ibG9jay5wYXJhZ3JhcGg6ZW1wdHk6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiVHlwZSAnLycgZm9yIGNvbW1hbmRzLi4uIjsKICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICBmb250LXdlaWdodDogNDAwOwogIH0KCiAgLmJsb2NrLmhlYWRpbmctMSB7CiAgICBmb250LXNpemU6IDMycHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAuYmxvY2suaGVhZGluZy0xOmVtcHR5OjpiZWZvcmUgewogICAgY29udGVudDogIkhlYWRpbmcgMSI7CiAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBmb250LXNpemU6IDMycHg7CiAgICBsaW5lLWhlaWdodDogMS4yOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICB9CgogIC5ibG9jay5oZWFkaW5nLTIgewogICAgZm9udC1zaXplOiAyNHB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLmJsb2NrLmhlYWRpbmctMjplbXB0eTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJIZWFkaW5nIDIiOwogICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgZm9udC1zaXplOiAyNHB4OwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgfQoKICAuYmxvY2suaGVhZGluZy0zIHsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBsaW5lLWhlaWdodDogMS40OwogICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICB9CgogIC5ibG9jay5oZWFkaW5nLTM6ZW1wdHk6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiSGVhZGluZyAzIjsKICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICBmb250LXdlaWdodDogNjAwOwogIH0KCiAgLmJsb2NrLnF1b3RlIHsKICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgbWFyZ2luLXJpZ2h0OiAwOwogICAgbGluZS1oZWlnaHQ6IDEuNjsKICB9CgogIC5ibG9jay5xdW90ZTplbXB0eTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJRdW90ZSI7CiAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICB9CgogIC5jb2RlLWJsb2NrLWNvbnRhaW5lciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBtYXJnaW46IDIwcHggMDsKICB9CgogIC5jb2RlLWxhbmd1YWdlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIHRvcDogMDsKICAgIHJpZ2h0OiAwOwogICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgZm9udC1zaXplOiAxMnB4OwogICAgYm9yZGVyLXJhZGl1czogMCA0cHggMCA0cHg7CiAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlOwogICAgei1pbmRleDogMTsKICB9CgogIC5ibG9jay5jb2RlIHsKICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIHBhZGRpbmc6IDE2cHg7CiAgICBwYWRkaW5nLXRvcDogMzJweDsgLyogTWFrZSByb29tIGZvciBsYW5ndWFnZSBpbmRpY2F0b3IgKi8KICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICBvdmVyZmxvdy14OiBhdXRvOwogIH0KCiAgLmJsb2NrLmNvZGU6ZW1wdHk6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiLy8gQ29kZSBibG9jayI7CiAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICBmb250LXdlaWdodDogNDAwOwogIH0KCiAgLmJsb2NrLmxpc3QgewogICAgcGFkZGluZy1sZWZ0OiAwOwogIH0KCiAgLmJsb2NrLmxpc3QgdWwsCiAgLmJsb2NrLmxpc3Qgb2wgewogICAgbWFyZ2luOiAwOwogICAgcGFkZGluZzogMCAwIDAgMjRweDsKICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7CiAgfQoKICAuYmxvY2subGlzdCB1bCB7CiAgICBsaXN0LXN0eWxlOiBkaXNjOwogIH0KCiAgLmJsb2NrLmxpc3Qgb2wgewogICAgbGlzdC1zdHlsZTogZGVjaW1hbDsKICB9CgogIC5ibG9jay5saXN0IGxpIHsKICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgfQoKICAuYmxvY2subGlzdCBsaTpsYXN0LWNoaWxkIHsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQoKICAuYmxvY2suZGl2aWRlciB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBwYWRkaW5nOiAyMHB4IDA7CiAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICB9CgogIC5ibG9jay5kaXZpZGVyIGhyIHsKICAgIGJvcmRlcjogbm9uZTsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICBtYXJnaW46IDA7CiAgfQoKICAuc2xhc2gtbWVudSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA2KTsKICAgIHBhZGRpbmc6IDRweDsKICAgIHotaW5kZXg6IDEwMDA7CiAgICBtaW4td2lkdGg6IDIyMHB4OwogICAgbWF4LWhlaWdodDogMzAwcHg7CiAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICB1c2VyLXNlbGVjdDogbm9uZTsKICB9CgogIC5zbGFzaC1tZW51LWl0ZW0gewogICAgcGFkZGluZzogOHB4IDEwcHg7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAxMnB4OwogICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIGZvbnQtc2l6ZTogMTRweDsKICB9CgogIC5zbGFzaC1tZW51LWl0ZW06aG92ZXIsCiAgLnNsYXNoLW1lbnUtaXRlbS5zZWxlY3RlZCB7CiAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLnNsYXNoLW1lbnUtaXRlbSAuaWNvbiB7CiAgICB3aWR0aDogMjRweDsKICAgIGhlaWdodDogMjRweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICB9CgogIC5zbGFzaC1tZW51LWl0ZW06aG92ZXIgLmljb24sCiAgLnNsYXNoLW1lbnUtaXRlbS5zZWxlY3RlZCAuaWNvbiB7CiAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogIH0KCiAgLnRvb2xiYXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAtNDBweDsKICAgIGxlZnQ6IDA7CiAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA2KTsKICAgIHBhZGRpbmc6IDRweDsKICAgIGRpc3BsYXk6IG5vbmU7CiAgICBnYXA6IDRweDsKICAgIHotaW5kZXg6IDEwMDA7CiAgfQoKICAudG9vbGJhci52aXNpYmxlIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgfQoKICAudG9vbGJhci1idXR0b24gewogICAgd2lkdGg6IDMycHg7CiAgICBoZWlnaHQ6IDMycHg7CiAgICBib3JkZXI6IG5vbmU7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAudG9vbGJhci1idXR0b246aG92ZXIgewogICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICB9CgogIC8qIERyYWcgYW5kIERyb3AgU3R5bGVzICovCiAgLmJsb2NrLXdyYXBwZXIgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2U7CiAgfQoKICAvKiBFbnN1cmUgcHJvcGVyIHNwYWNpbmcgY29udGV4dCBmb3IgYmxvY2tzICovCiAgLmJsb2NrLXdyYXBwZXIgKyAuYmxvY2std3JhcHBlciAuYmxvY2sgewogICAgbWFyZ2luLXRvcDogMTZweDsKICB9CgogIC8qIE92ZXJyaWRlIGZvciBoZWFkaW5ncyBmb2xsb3dpbmcgb3RoZXIgYmxvY2tzICovCiAgLmJsb2NrLXdyYXBwZXIgKyAuYmxvY2std3JhcHBlciAuYmxvY2suaGVhZGluZy0xLAogIC5ibG9jay13cmFwcGVyICsgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLmhlYWRpbmctMiwKICAuYmxvY2std3JhcHBlciArIC5ibG9jay13cmFwcGVyIC5ibG9jay5oZWFkaW5nLTMgewogICAgbWFyZ2luLXRvcDogMjRweDsKICB9CgogIC8qIENvZGUgYW5kIHF1b3RlIGJsb2NrcyBuZWVkIGNvbnNpc3RlbnQgc3BhY2luZyAqLwogIC5ibG9jay13cmFwcGVyICsgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLmNvZGUsCiAgLmJsb2NrLXdyYXBwZXIgKyAuYmxvY2std3JhcHBlciAuYmxvY2sucXVvdGUgewogICAgbWFyZ2luLXRvcDogMjBweDsKICB9CgogIC5kcmFnLWhhbmRsZSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBsZWZ0OiAtMjhweDsKICAgIHRvcDogNTAlOwogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgd2lkdGg6IDI0cHg7CiAgICBoZWlnaHQ6IDI0cHg7CiAgICBjdXJzb3I6IGdyYWI7CiAgICBvcGFjaXR5OiAwOwogICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICB9CgogIC5kcmFnLWhhbmRsZTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICLii67ii64iOwogICAgZm9udC1zaXplOiAxMnB4OwogICAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7CiAgfQoKICAuYmxvY2std3JhcHBlcjpob3ZlciAuZHJhZy1oYW5kbGUgewogICAgb3BhY2l0eTogMTsKICB9CgogIC5kcmFnLWhhbmRsZTpob3ZlciB7CiAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogIH0KCiAgLmRyYWctaGFuZGxlOmFjdGl2ZSB7CiAgICBjdXJzb3I6IGdyYWJiaW5nOwogICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjM2YzZjQ2Iil9OwogIH0KCiAgLmJsb2NrLXdyYXBwZXIuZHJhZ2dpbmcgewogICAgb3BhY2l0eTogMC44OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB6LWluZGV4OiAyMDAxOwogICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OwogIH0KCgogIC8qIEJsb2NrcyB0aGF0IHNob3VsZCBtb3ZlIG91dCBvZiB0aGUgd2F5ICovCiAgLmJsb2NrLXdyYXBwZXIubW92ZS1kb3duIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1kcmFnLW9mZnNldCwgMHB4KSk7CiAgfQoKICAuYmxvY2std3JhcHBlci5tb3ZlLXVwIHsKICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC0xICogdmFyKC0tZHJhZy1vZmZzZXQsIDBweCkpKTsKICB9CgogIC8qIERyb3AgaW5kaWNhdG9yICovCiAgLmRyb3AtaW5kaWNhdG9yIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICByaWdodDogMDsKICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wNSkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wNSkiKX07CiAgICBib3JkZXI6IDJweCBkYXNoZWQgJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgdHJhbnNpdGlvbjogdG9wIDAuMnMgZWFzZSwgaGVpZ2h0IDAuMnMgZWFzZTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgei1pbmRleDogMTk5OTsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgfQoKICAvKiBSZW1vdmUgb2xkIGRyYWctb3ZlciBzdHlsZXMgKi8KICAuYmxvY2std3JhcHBlci5kcmFnLW92ZXItYmVmb3JlLAogIC5ibG9jay13cmFwcGVyLmRyYWctb3Zlci1hZnRlciB7CiAgICAvKiBObyBsb25nZXIgbmVlZGVkLCB1c2luZyBkcm9wIGluZGljYXRvciBpbnN0ZWFkICovCiAgfQoKICAuZWRpdG9yLWNvbnRlbnQuZHJhZ2dpbmcgKiB7CiAgICB1c2VyLXNlbGVjdDogbm9uZTsKICB9CgogIC8qIEJsb2NrIFNldHRpbmdzIEJ1dHRvbiAtIFJlbW92ZWQgaW4gZmF2b3Igb2YgY29udGV4dCBtZW51ICovCgogIC8qIFRleHQgU2VsZWN0aW9uIFN0eWxlcyAqLwogIC5ibG9jayA6OnNlbGVjdGlvbiB7CiAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgIGNvbG9yOiBpbmhlcml0OwogIH0KCiAgLyogRm9ybWF0dGluZyBNZW51ICovCiAgLmZvcm1hdHRpbmctbWVudSB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA2KTsKICAgIHBhZGRpbmc6IDRweDsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBnYXA6IDJweDsKICAgIHotaW5kZXg6IDEwMDE7CiAgICBhbmltYXRpb246IGZhZGVJblNjYWxlIDAuMTVzIGVhc2Utb3V0OwogIH0KCiAgQGtleWZyYW1lcyBmYWRlSW5TY2FsZSB7CiAgICBmcm9tIHsKICAgICAgb3BhY2l0eTogMDsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KSB0cmFuc2xhdGVZKDJweCk7CiAgICB9CiAgICB0byB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTsKICAgIH0KICB9CgogIC5mb3JtYXQtYnV0dG9uIHsKICAgIHdpZHRoOiAzMnB4OwogICAgaGVpZ2h0OiAzMnB4OwogICAgYm9yZGVyOiBub25lOwogICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB9CgogIC5mb3JtYXQtYnV0dG9uOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgfQoKICAuZm9ybWF0LWJ1dHRvbjphY3RpdmUgewogICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsKICB9CgogIC5mb3JtYXQtYnV0dG9uLmJvbGQgewogICAgZm9udC13ZWlnaHQ6IDcwMDsKICB9CgogIC5mb3JtYXQtYnV0dG9uLml0YWxpYyB7CiAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgfQoKICAuZm9ybWF0LWJ1dHRvbi51bmRlcmxpbmUgewogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgfQoKICAuZm9ybWF0LWJ1dHRvbiAuY29kZS1pY29uIHsKICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAxMnB4OwogIH0KCiAgLyogQXBwbGllZCBmb3JtYXQgc3R5bGVzIGluIGNvbnRlbnQgKi8KICAuYmxvY2sgc3Ryb25nLAogIC5ibG9jayBiIHsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLmJsb2NrIGVtLAogIC5ibG9jayBpIHsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICB9CgogIC5ibG9jayB1IHsKICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogIH0KCiAgLmJsb2NrIHN0cmlrZSwKICAuYmxvY2sgcyB7CiAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsKICAgIG9wYWNpdHk6IDAuNzsKICB9CgogIC5ibG9jayBjb2RlIHsKICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTsKICAgIGZvbnQtc2l6ZTogMC45ZW07CiAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLmJsb2NrIGEgewogICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlOwogIH0KCiAgLmJsb2NrIGE6aG92ZXIgewogICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogIH0KYH0pO3ZhciBaaSxCT2U9YygoKT0+e3NpKCk7Wmk9Y2xhc3N7c3RhdGlje2kodGhpcywiV3lzaXd5Z0NvbnZlcnRlcnMiKX1zdGF0aWMgZXNjYXBlSHRtbChlKXtsZXQgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gYS50ZXh0Q29udGVudD1lLGEuaW5uZXJIVE1MfXN0YXRpYyBmb3JtYXRGaWxlU2l6ZShlKXtpZihlPT09MClyZXR1cm4iMCBCeXRlcyI7bGV0IGE9MTAyNCxyPVsiQnl0ZXMiLCJLQiIsIk1CIiwiR0IiXSxzPU1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5sb2coYSkpO3JldHVybiBwYXJzZUZsb2F0KChlL01hdGgucG93KGEscykpLnRvRml4ZWQoMikpKyIgIityW3NdfXN0YXRpYyBnZXRIdG1sT3V0cHV0KGUpe3JldHVybiBlLm1hcChhPT57bGV0IHI9YS5jb250ZW50LmluY2x1ZGVzKCI8IikmJmEuY29udGVudC5pbmNsdWRlcygiPiIpP2EuY29udGVudDp0aGlzLmVzY2FwZUh0bWwoYS5jb250ZW50KTtzd2l0Y2goYS50eXBlKXtjYXNlInBhcmFncmFwaCI6cmV0dXJuIGEuY29udGVudD9gPHA+JHtyfTwvcD5gOiIiO2Nhc2UiaGVhZGluZy0xIjpyZXR1cm5gPGgxPiR7cn08L2gxPmA7Y2FzZSJoZWFkaW5nLTIiOnJldHVybmA8aDI+JHtyfTwvaDI+YDtjYXNlImhlYWRpbmctMyI6cmV0dXJuYDxoMz4ke3J9PC9oMz5gO2Nhc2UicXVvdGUiOnJldHVybmA8YmxvY2txdW90ZT4ke3J9PC9ibG9ja3F1b3RlPmA7Y2FzZSJjb2RlIjpyZXR1cm5gPHByZT48Y29kZT4ke3RoaXMuZXNjYXBlSHRtbChhLmNvbnRlbnQpfTwvY29kZT48L3ByZT5gO2Nhc2UibGlzdCI6bGV0IHM9YS5jb250ZW50LnNwbGl0KGAKYCkuZmlsdGVyKGg9PmgudHJpbSgpKTtpZihzLmxlbmd0aD4wKXtsZXQgaD1hLm1ldGFkYXRhPy5saXN0VHlwZT09PSJvcmRlcmVkIj8ib2wiOiJ1bCI7cmV0dXJuYDwke2h9PiR7cy5tYXAodT0+YDxsaT4ke3V9PC9saT5gKS5qb2luKCIiKX08LyR7aH0+YH1yZXR1cm4iIjtjYXNlImRpdmlkZXIiOnJldHVybiI8aHI+IjtjYXNlImltYWdlIjpsZXQgbj1hLm1ldGFkYXRhPy51cmw7aWYobil7bGV0IGg9dGhpcy5lc2NhcGVIdG1sKGEuY29udGVudHx8IkltYWdlIik7cmV0dXJuYDxpbWcgc3JjPSIke259IiBhbHQ9IiR7aH0iIC8+YH1yZXR1cm4iIjtjYXNlInlvdXR1YmUiOmxldCBvPWEubWV0YWRhdGE/LnZpZGVvSWQ7cmV0dXJuIG8/YDxpZnJhbWUgd2lkdGg9IjU2MCIgaGVpZ2h0PSIzMTUiIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvJHtvfSIgZnJhbWVib3JkZXI9IjAiIGFsbG93PSJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+YDoiIjtjYXNlIm1hcmtkb3duIjpyZXR1cm5gPGRpdiBjbGFzcz0ibWFya2Rvd24tY29udGVudCI+JHt0aGlzLmVzY2FwZUh0bWwoYS5jb250ZW50KX08L2Rpdj5gO2Nhc2UiaHRtbCI6cmV0dXJuIGEuY29udGVudDtjYXNlImF0dGFjaG1lbnQiOmxldCBsPWEubWV0YWRhdGE/LmZpbGVzfHxbXTtyZXR1cm4gbC5sZW5ndGg+MD9gPGRpdiBjbGFzcz0iYXR0YWNobWVudHMiPiR7bC5tYXAoaD0+YDxkaXYgY2xhc3M9ImF0dGFjaG1lbnQtaXRlbSIgZGF0YS1maWxlLWlkPSIke2guaWR9Ij4KICAgICAgICAgICAgICAgIDxhIGhyZWY9IiR7aC5kYXRhfSIgZG93bmxvYWQ9IiR7aC5uYW1lfSI+JHt0aGlzLmVzY2FwZUh0bWwoaC5uYW1lKX08L2E+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmlsZS1zaXplIj4oJHt0aGlzLmZvcm1hdEZpbGVTaXplKGguc2l6ZSl9KTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj5gKS5qb2luKCIiKX08L2Rpdj5gOiIiO2RlZmF1bHQ6cmV0dXJuYDxwPiR7cn08L3A+YH19KS5maWx0ZXIoYT0+YSE9PSIiKS5qb2luKGAKYCl9c3RhdGljIGdldE1hcmtkb3duT3V0cHV0KGUpe3JldHVybiBlLm1hcChhPT57c3dpdGNoKGEudHlwZSl7Y2FzZSJwYXJhZ3JhcGgiOnJldHVybiBhLmNvbnRlbnQ7Y2FzZSJoZWFkaW5nLTEiOnJldHVybmAjICR7YS5jb250ZW50fWA7Y2FzZSJoZWFkaW5nLTIiOnJldHVybmAjIyAke2EuY29udGVudH1gO2Nhc2UiaGVhZGluZy0zIjpyZXR1cm5gIyMjICR7YS5jb250ZW50fWA7Y2FzZSJxdW90ZSI6cmV0dXJuYD4gJHthLmNvbnRlbnR9YDtjYXNlImNvZGUiOnJldHVybmBcYFxgXGAKJHthLmNvbnRlbnR9ClxgXGBcYGA7Y2FzZSJsaXN0IjpsZXQgcj1hLmNvbnRlbnQuc3BsaXQoYApgKS5maWx0ZXIodT0+dS50cmltKCkpO3JldHVybiBhLm1ldGFkYXRhPy5saXN0VHlwZT09PSJvcmRlcmVkIj9yLm1hcCgodSxmKT0+YCR7ZisxfS4gJHt1fWApLmpvaW4oYApgKTpyLm1hcCh1PT5gLSAke3V9YCkuam9pbihgCmApO2Nhc2UiZGl2aWRlciI6cmV0dXJuIi0tLSI7Y2FzZSJpbWFnZSI6bGV0IHM9YS5tZXRhZGF0YT8udXJsLG49YS5jb250ZW50fHwiSW1hZ2UiO3JldHVybiBzP2AhWyR7bn1dKCR7c30pYDoiIjtjYXNlInlvdXR1YmUiOmxldCBvPWEubWV0YWRhdGE/LnZpZGVvSWQsbD1hLm1ldGFkYXRhPy51cmx8fChvP2BodHRwczovL3lvdXR1YmUuY29tL3dhdGNoP3Y9JHtvfWA6IiIpO3JldHVybiBsP2BbWW91VHViZSBWaWRlb10oJHtsfSlgOiIiO2Nhc2UibWFya2Rvd24iOnJldHVybiBhLmNvbnRlbnQ7Y2FzZSJodG1sIjpyZXR1cm5gPCEtLSBIVE1MIEJsb2NrCiR7YS5jb250ZW50fQotLT5gO2Nhc2UiYXR0YWNobWVudCI6bGV0IGg9YS5tZXRhZGF0YT8uZmlsZXN8fFtdO3JldHVybiBoLmxlbmd0aD4wP2gubWFwKHU9PmAtIFske3UubmFtZX1dKCR7dS5kYXRhfSlgKS5qb2luKGAKYCk6IiI7ZGVmYXVsdDpyZXR1cm4gYS5jb250ZW50fX0pLmZpbHRlcihhPT5hIT09IiIpLmpvaW4oYAoKYCl9c3RhdGljIHBhcnNlSHRtbFRvQmxvY2tzKGUpe2xldCByPW5ldyBET01QYXJzZXIoKS5wYXJzZUZyb21TdHJpbmcoZSwidGV4dC9odG1sIikscz1bXSxuPWkobz0+e2lmKG8ubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmby50ZXh0Q29udGVudD8udHJpbSgpKXMucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6InBhcmFncmFwaCIsY29udGVudDpvLnRleHRDb250ZW50LnRyaW0oKX0pO2Vsc2UgaWYoby5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFKXtsZXQgbD1vLGg9bC50YWdOYW1lLnRvTG93ZXJDYXNlKCk7c3dpdGNoKGgpe2Nhc2UicCI6cy5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToicGFyYWdyYXBoIixjb250ZW50OmwuaW5uZXJIVE1MfHwiIn0pO2JyZWFrO2Nhc2UiaDEiOnMucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImhlYWRpbmctMSIsY29udGVudDpsLmlubmVySFRNTHx8IiJ9KTticmVhaztjYXNlImgyIjpzLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6bC5pbm5lckhUTUx8fCIifSk7YnJlYWs7Y2FzZSJoMyI6cy5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToiaGVhZGluZy0zIixjb250ZW50OmwuaW5uZXJIVE1MfHwiIn0pO2JyZWFrO2Nhc2UiYmxvY2txdW90ZSI6cy5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToicXVvdGUiLGNvbnRlbnQ6bC5pbm5lckhUTUx8fCIifSk7YnJlYWs7Y2FzZSJwcmUiOmNhc2UiY29kZSI6cy5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToiY29kZSIsY29udGVudDpsLnRleHRDb250ZW50fHwiIn0pO2JyZWFrO2Nhc2UidWwiOmNhc2Uib2wiOmxldCBmPUFycmF5LmZyb20obC5xdWVyeVNlbGVjdG9yQWxsKCJsaSIpKS5tYXAoZz0+Zy5pbm5lckhUTUx8fCIiKS5qb2luKGAKYCk7cy5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToibGlzdCIsY29udGVudDpmLG1ldGFkYXRhOntsaXN0VHlwZTpoPT09Im9sIj8ib3JkZXJlZCI6ImJ1bGxldCJ9fSk7YnJlYWs7Y2FzZSJociI6cy5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToiZGl2aWRlciIsY29udGVudDoiICJ9KTticmVhaztjYXNlImltZyI6bGV0IHA9bDtzLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJpbWFnZSIsY29udGVudDpwLmFsdHx8IiIsbWV0YWRhdGE6e3VybDpwLnNyY319KTticmVhaztkZWZhdWx0OmwuY2hpbGROb2Rlcy5mb3JFYWNoKGc9Pm4oZykpfX19LCJwcm9jZXNzTm9kZSIpO3JldHVybiByLmJvZHkuY2hpbGROb2Rlcy5mb3JFYWNoKG89Pm4obykpLHN9c3RhdGljIHBhcnNlTWFya2Rvd25Ub0Jsb2NrcyhlKXtsZXQgYT1lLnNwbGl0KGAKYCkscj1bXSxzPVtdO2ZvcihsZXQgbj0wO248YS5sZW5ndGg7bisrKXtsZXQgbz1hW25dO2lmKG8uc3RhcnRzV2l0aCgiIyAiKSlyLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJoZWFkaW5nLTEiLGNvbnRlbnQ6by5zdWJzdHJpbmcoMil9KTtlbHNlIGlmKG8uc3RhcnRzV2l0aCgiIyMgIikpci5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToiaGVhZGluZy0yIixjb250ZW50Om8uc3Vic3RyaW5nKDMpfSk7ZWxzZSBpZihvLnN0YXJ0c1dpdGgoIiMjIyAiKSlyLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJoZWFkaW5nLTMiLGNvbnRlbnQ6by5zdWJzdHJpbmcoNCl9KTtlbHNlIGlmKG8uc3RhcnRzV2l0aCgiPiAiKSlyLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJxdW90ZSIsY29udGVudDpvLnN1YnN0cmluZygyKX0pO2Vsc2UgaWYoby5zdGFydHNXaXRoKCJgYGAiKSl7bGV0IGw9W107Zm9yKG4rKztuPGEubGVuZ3RoJiYhYVtuXS5zdGFydHNXaXRoKCJgYGAiKTspbC5wdXNoKGFbbl0pLG4rKztyLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJjb2RlIixjb250ZW50Omwuam9pbihgCmApfSl9ZWxzZSBpZihvLm1hdGNoKC9eKFwqfC0pIC8pKXMucHVzaChvLnN1YnN0cmluZygyKSksKG49PT1hLmxlbmd0aC0xfHwhYVtuKzFdLm1hdGNoKC9eKFwqfC0pIC8pKSYmKHIucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6Imxpc3QiLGNvbnRlbnQ6cy5qb2luKGAKYCksbWV0YWRhdGE6e2xpc3RUeXBlOiJidWxsZXQifX0pLHM9W10pO2Vsc2UgaWYoby5tYXRjaCgvXlxkK1wuIC8pKXMucHVzaChvLnJlcGxhY2UoL15cZCtcLiAvLCIiKSksKG49PT1hLmxlbmd0aC0xfHwhYVtuKzFdLm1hdGNoKC9eXGQrXC4gLykpJiYoci5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToibGlzdCIsY29udGVudDpzLmpvaW4oYApgKSxtZXRhZGF0YTp7bGlzdFR5cGU6Im9yZGVyZWQifX0pLHM9W10pO2Vsc2UgaWYobz09PSItLS0ifHxvPT09IioqKiJ8fG89PT0iX19fIilyLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJkaXZpZGVyIixjb250ZW50OiIgIn0pO2Vsc2UgaWYoby5tYXRjaCgvXiFcWyhbXlxdXSopXF1cKChbXlwpXSspXCkkLykpe2xldCBsPW8ubWF0Y2goL14hXFsoW15cXV0qKVxdXCgoW15cKV0rKVwpJC8pO2wmJnIucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImltYWdlIixjb250ZW50OmxbMV18fCIiLG1ldGFkYXRhOnt1cmw6bFsyXX19KX1lbHNlIG8udHJpbSgpJiZyLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6b30pfXJldHVybiByfX19KTt2YXIgYXIsUG89YygoKT0+e3BlKCk7c2koKTtCT2UoKTthcj1jbGFzc3tzdGF0aWN7aSh0aGlzLCJXeXNpd3lnQmxvY2tzIil9c3RhdGljIHJlbmRlckxpc3RDb250ZW50KGUsYSl7bGV0IHI9ZS5zcGxpdChgCmApLmZpbHRlcihuPT5uLnRyaW0oKSk7aWYoci5sZW5ndGg9PT0wKXJldHVybiIiO2xldCBzPWE/Lmxpc3RUeXBlPT09Im9yZGVyZWQiPyJvbCI6InVsIjtyZXR1cm5gPCR7c30+JHtyLm1hcChuPT5gPGxpPiR7bn08L2xpPmApLmpvaW4oIiIpfTwvJHtzfT5gfXN0YXRpYyByZW5kZXJCbG9jayhlLGEscil7aWYoZS50eXBlPT09ImRpdmlkZXIiKXJldHVybiB3YAogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJibG9jayBkaXZpZGVyIgogICAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICA+CiAgICAgICAgICA8aHI+CiAgICAgICAgPC9kaXY+CiAgICAgIGA7aWYoZS50eXBlPT09Imxpc3QiKXJldHVybiB3YAogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJibG9jayBsaXN0ICR7YT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgICBjb250ZW50ZWRpdGFibGU9InRydWUiCiAgICAgICAgICBAaW5wdXQ9IiR7ci5vbklucHV0fSIKICAgICAgICAgIEBrZXlkb3duPSIke3Iub25LZXlEb3dufSIKICAgICAgICAgIEBmb2N1cz0iJHtyLm9uRm9jdXN9IgogICAgICAgICAgQGJsdXI9IiR7ci5vbkJsdXJ9IgogICAgICAgICAgQGNvbXBvc2l0aW9uc3RhcnQ9IiR7ci5vbkNvbXBvc2l0aW9uU3RhcnR9IgogICAgICAgICAgQGNvbXBvc2l0aW9uZW5kPSIke3Iub25Db21wb3NpdGlvbkVuZH0iCiAgICAgICAgICBAbW91c2V1cD0iJHtuPT57Y29uc29sZS5sb2coIkJsb2NrIG1vdXNldXAgZXZlbnQgZmlyZWQiKSxyLm9uTW91c2VVcCYmci5vbk1vdXNlVXAobil9fSIKICAgICAgICAgIC5pbm5lckhUTUw9IiR7dGhpcy5yZW5kZXJMaXN0Q29udGVudChlLmNvbnRlbnQsZS5tZXRhZGF0YSl9IgogICAgICAgID48L2Rpdj4KICAgICAgYDtpZihlLnR5cGU9PT0iY29kZSIpe2xldCBuPWUubWV0YWRhdGE/Lmxhbmd1YWdlfHwicGxhaW4gdGV4dCI7cmV0dXJuIHdgCiAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1ibG9jay1jb250YWluZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1sYW5ndWFnZSI+JHtufTwvZGl2PgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0iYmxvY2sgJHtlLnR5cGV9ICR7YT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogICAgICAgICAgICBAaW5wdXQ9IiR7ci5vbklucHV0fSIKICAgICAgICAgICAgQGtleWRvd249IiR7ci5vbktleURvd259IgogICAgICAgICAgICBAZm9jdXM9IiR7ci5vbkZvY3VzfSIKICAgICAgICAgICAgQGJsdXI9IiR7ci5vbkJsdXJ9IgogICAgICAgICAgICBAY29tcG9zaXRpb25zdGFydD0iJHtyLm9uQ29tcG9zaXRpb25TdGFydH0iCiAgICAgICAgICAgIEBjb21wb3NpdGlvbmVuZD0iJHtyLm9uQ29tcG9zaXRpb25FbmR9IgogICAgICAgICAgICBAbW91c2V1cD0iJHtvPT57Y29uc29sZS5sb2coIkJsb2NrIG1vdXNldXAgZXZlbnQgZmlyZWQiKSxyLm9uTW91c2VVcCYmci5vbk1vdXNlVXAobyl9fSIKICAgICAgICAgICAgLnRleHRDb250ZW50PSIke2UuY29udGVudHx8IiJ9IgogICAgICAgICAgPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgfXJldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImJsb2NrICR7ZS50eXBlfSAke2E/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogICAgICAgIEBpbnB1dD0iJHtyLm9uSW5wdXR9IgogICAgICAgIEBrZXlkb3duPSIke3Iub25LZXlEb3dufSIKICAgICAgICBAZm9jdXM9IiR7ci5vbkZvY3VzfSIKICAgICAgICBAYmx1cj0iJHtyLm9uQmx1cn0iCiAgICAgICAgQGNvbXBvc2l0aW9uc3RhcnQ9IiR7ci5vbkNvbXBvc2l0aW9uU3RhcnR9IgogICAgICAgIEBjb21wb3NpdGlvbmVuZD0iJHtyLm9uQ29tcG9zaXRpb25FbmR9IgogICAgICAgIEBtb3VzZXVwPSIke249Pntjb25zb2xlLmxvZygiQmxvY2sgbW91c2V1cCBldmVudCBmaXJlZCIpLHIub25Nb3VzZVVwJiZyLm9uTW91c2VVcChuKX19IgogICAgICAgIC5pbm5lckhUTUw9IiR7ZS5jb250ZW50fHwiIn0iCiAgICAgID48L2Rpdj4KICAgIGB9c3RhdGljIHNldEN1cnNvclRvRW5kKGUpe2xldCBhPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighYSlyZXR1cm47bGV0IHI9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtpZihlLmNoaWxkTm9kZXMubGVuZ3RoPT09MCl7bGV0IHM9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIlx1MjAwQiIpO2UuYXBwZW5kQ2hpbGQocyksci5zZXRTdGFydChzLDEpLHIuY29sbGFwc2UoITApfWVsc2V7bGV0IHM9dGhpcy5nZXRMYXN0Tm9kZShlKTtzLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU/ci5zZXRTdGFydChzLHMudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MCk6ci5zZXRTdGFydEFmdGVyKHMpLHIuY29sbGFwc2UoITApfWEucmVtb3ZlQWxsUmFuZ2VzKCksYS5hZGRSYW5nZShyKSxlLnRleHRDb250ZW50PT09Ilx1MjAwQiImJihlLnRleHRDb250ZW50PSIiKX1zdGF0aWMgc2V0Q3Vyc29yVG9TdGFydChlKXtsZXQgYT13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIWEpcmV0dXJuO2xldCByPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7aWYoZS5jaGlsZE5vZGVzLmxlbmd0aD09PTApci5zZXRTdGFydChlLDApLHIuY29sbGFwc2UoITApO2Vsc2V7bGV0IHM9dGhpcy5nZXRGaXJzdE5vZGUoZSk7cy5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFP3Iuc2V0U3RhcnQocywwKTpyLnNldFN0YXJ0QmVmb3JlKHMpLHIuY29sbGFwc2UoITApfWEucmVtb3ZlQWxsUmFuZ2VzKCksYS5hZGRSYW5nZShyKX1zdGF0aWMgZ2V0TGFzdE5vZGUoZSl7aWYoZS5jaGlsZE5vZGVzLmxlbmd0aD09PTApcmV0dXJuIGU7bGV0IGE9ZS5jaGlsZE5vZGVzW2UuY2hpbGROb2Rlcy5sZW5ndGgtMV07cmV0dXJuIGEubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERXx8YS5jaGlsZE5vZGVzLmxlbmd0aD09PTA/YTp0aGlzLmdldExhc3ROb2RlKGEpfXN0YXRpYyBnZXRGaXJzdE5vZGUoZSl7aWYoZS5jaGlsZE5vZGVzLmxlbmd0aD09PTApcmV0dXJuIGU7bGV0IGE9ZS5jaGlsZE5vZGVzWzBdO3JldHVybiBhLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREV8fGEuY2hpbGROb2Rlcy5sZW5ndGg9PT0wP2E6dGhpcy5nZXRGaXJzdE5vZGUoYSl9c3RhdGljIGZvY3VzTGlzdEl0ZW0oZSl7bGV0IGE9ZS5xdWVyeVNlbGVjdG9yKCJsaSIpO2lmKGEpe2EuZm9jdXMoKTtsZXQgcj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLHM9d2luZG93LmdldFNlbGVjdGlvbigpO3Iuc2VsZWN0Tm9kZUNvbnRlbnRzKGEpLHIuY29sbGFwc2UoITApLHMucmVtb3ZlQWxsUmFuZ2VzKCkscy5hZGRSYW5nZShyKX19fX0pO3ZhciBKTyxIT2U9YygoKT0+e3NpKCk7WTgoKTtmNigpO1BvKCk7Sk89Y2xhc3N7c3RhdGlje2kodGhpcywiV3lzaXd5Z0Jsb2NrT3BlcmF0aW9ucyIpfWNvbXBvbmVudDtjb25zdHJ1Y3RvcihlKXt0aGlzLmNvbXBvbmVudD1lfWNyZWF0ZUJsb2NrKGU9InBhcmFncmFwaCIsYT0iIixyKXtyZXR1cm57aWQ6cDEuZ2VuZXJhdGVCbG9ja0lkKCksdHlwZTplLGNvbnRlbnQ6YSwuLi5yJiZ7bWV0YWRhdGE6cn19fWFzeW5jIGluc2VydEJsb2NrQWZ0ZXIoZSxhLHI9ITApe2xldCBzPXRoaXMuY29tcG9uZW50LmJsb2NrcyxuPXMuZmluZEluZGV4KG89Pm8uaWQ9PT1lLmlkKTtpZih0aGlzLmNvbXBvbmVudC5ibG9ja3M9Wy4uLnMuc2xpY2UoMCxuKzEpLGEsLi4ucy5zbGljZShuKzEpXSx0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmKXtsZXQgbz10aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke2UuaWR9Il1gKTtpZihvKXtsZXQgbD10aGlzLmNvbXBvbmVudC5jcmVhdGVCbG9ja0VsZW1lbnQoYSk7by5pbnNlcnRBZGphY2VudEVsZW1lbnQoImFmdGVyZW5kIixsKX19dGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKSxyJiZhLnR5cGUhPT0iZGl2aWRlciImJihhd2FpdCBuZXcgUHJvbWlzZShvPT5zZXRUaW1lb3V0KG8sMCkpLGF3YWl0IHRoaXMuZm9jdXNCbG9jayhhLmlkLCJzdGFydCIpKX1yZW1vdmVCbG9jayhlKXtpZih0aGlzLmNvbXBvbmVudC5zYXZlVG9IaXN0b3J5KCExKSx0aGlzLmNvbXBvbmVudC5ibG9ja3M9dGhpcy5jb21wb25lbnQuYmxvY2tzLmZpbHRlcihhPT5hLmlkIT09ZSksdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZil7bGV0IGE9dGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtlfSJdYCk7YSYmYS5yZW1vdmUoKX10aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpfWZpbmRCbG9jayhlKXtyZXR1cm4gdGhpcy5jb21wb25lbnQuYmxvY2tzLmZpbmQoYT0+YS5pZD09PWUpfWdldEJsb2NrSW5kZXgoZSl7cmV0dXJuIHRoaXMuY29tcG9uZW50LmJsb2Nrcy5maW5kSW5kZXgoYT0+YS5pZD09PWUpfWFzeW5jIGZvY3VzQmxvY2soZSxhPSJzdGFydCIpe2xldCByPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7ZX0iXWApO2lmKHIpe2xldCBzPXIucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7cyYmKGF3YWl0IG5ldyBQcm9taXNlKG49PnJlcXVlc3RBbmltYXRpb25GcmFtZShuKSkscy5mb2N1c1dpdGhDdXJzb3IoYSkpfX11cGRhdGVCbG9ja0NvbnRlbnQoZSxhKXtsZXQgcj10aGlzLmZpbmRCbG9jayhlKTtyJiYoci5jb250ZW50PWEsdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKSl9dHJhbnNmb3JtQmxvY2soZSxhLHIpe2xldCBzPXRoaXMuZmluZEJsb2NrKGUpO3MmJih0aGlzLmNvbXBvbmVudC5zYXZlVG9IaXN0b3J5KCExKSxzLnR5cGU9YSxzLmNvbnRlbnQ9IiIsciYmKHMubWV0YWRhdGE9ciksdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZiYmdGhpcy5jb21wb25lbnQudXBkYXRlQmxvY2tFbGVtZW50KGUpLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCkpfW1vdmVCbG9jayhlLGEpe2xldCByPVsuLi50aGlzLmNvbXBvbmVudC5ibG9ja3NdLHM9dGhpcy5nZXRCbG9ja0luZGV4KGUpO2lmKHM9PT0tMXx8YTwwfHxhPj1yLmxlbmd0aClyZXR1cm47bGV0W25dPXIuc3BsaWNlKHMsMSk7ci5zcGxpY2UoYSwwLG4pLHRoaXMuY29tcG9uZW50LmJsb2Nrcz1yLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCl9Z2V0UHJldmlvdXNCbG9jayhlKXtsZXQgYT10aGlzLmdldEJsb2NrSW5kZXgoZSk7cmV0dXJuIGE+MD90aGlzLmNvbXBvbmVudC5ibG9ja3NbYS0xXTpudWxsfWdldE5leHRCbG9jayhlKXtsZXQgYT10aGlzLmdldEJsb2NrSW5kZXgoZSk7cmV0dXJuIGE8dGhpcy5jb21wb25lbnQuYmxvY2tzLmxlbmd0aC0xP3RoaXMuY29tcG9uZW50LmJsb2Nrc1thKzFdOm51bGx9fX0pO3ZhciBPYSxNaT1jKCgpPT57T2E9Y2xhc3N7c3RhdGlje2kodGhpcywiQmFzZUJsb2NrSGFuZGxlciIpfXNldHVwKGUsYSxyKXt9Z2V0U3R5bGVzKCl7cmV0dXJuIiJ9fX0pO3ZhciBiYSxnWnQ9YygoKT0+e2JhPWNsYXNze3N0YXRpY3tpKHRoaXMsIkJsb2NrUmVnaXN0cnkiKX1zdGF0aWMgaGFuZGxlcnM9bmV3IE1hcDtzdGF0aWMgcmVnaXN0ZXIoZSxhKXt0aGlzLmhhbmRsZXJzLnNldChlLGEpfXN0YXRpYyBnZXRIYW5kbGVyKGUpe3JldHVybiB0aGlzLmhhbmRsZXJzLmdldChlKX1zdGF0aWMgZ2V0QWxsVHlwZXMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmhhbmRsZXJzLmtleXMoKSl9fX0pO3ZhciBiWnQ9YygoKT0+e30pO3ZhciBlQix2WnQ9YygoKT0+e01pKCk7cGUoKTtQbygpO1QyKCk7ZUI9Y2xhc3MgZXh0ZW5kcyBPYXtzdGF0aWN7aSh0aGlzLCJQYXJhZ3JhcGhCbG9ja0hhbmRsZXIiKX10eXBlPSJwYXJhZ3JhcGgiO2xhc3RLbm93bkN1cnNvclBvc2l0aW9uPTA7bGFzdFNlbGVjdGVkVGV4dD0iIjtzZWxlY3Rpb25IYW5kbGVyPW51bGw7cmVuZGVyKGUsYSl7bGV0IHI9YT8iIHNlbGVjdGVkIjoiIixzPXRoaXMuZ2V0UGxhY2Vob2xkZXIoKTtyZXR1cm5gCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iYmxvY2sgcGFyYWdyYXBoJHtyfSIKICAgICAgICBjb250ZW50ZWRpdGFibGU9InRydWUiCiAgICAgICAgZGF0YS1wbGFjZWhvbGRlcj0iJHtzfSIKICAgICAgICBkYXRhLWJsb2NrLWlkPSIke2UuaWR9IgogICAgICAgIGRhdGEtYmxvY2stdHlwZT0iJHtlLnR5cGV9IgogICAgICA+PC9kaXY+CiAgICBgfXNldHVwKGUsYSxyKXtsZXQgcz1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5wYXJhZ3JhcGgiKTtpZighcyl7Y29uc29sZS5lcnJvcigiUGFyYWdyYXBoQmxvY2tIYW5kbGVyLnNldHVwOiBObyBwYXJhZ3JhcGggYmxvY2sgZWxlbWVudCBmb3VuZCIpO3JldHVybn1hLmNvbnRlbnQmJiFzLmlubmVySFRNTCYmKHMuaW5uZXJIVE1MPWEuY29udGVudCkscy5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsbj0+e3Iub25JbnB1dChuKTtsZXQgbz10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO28hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1vKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbj0+e2xldCBvPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7byE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW8pLHIub25LZXlEb3duKG4pfSkscy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PntyLm9uRm9jdXMoKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PntyLm9uQmx1cigpfSkscy5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbnN0YXJ0IiwoKT0+e3Iub25Db21wb3NpdGlvblN0YXJ0KCl9KSxzLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uZW5kIiwoKT0+e3Iub25Db21wb3NpdGlvbkVuZCgpfSkscy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixuPT57bGV0IG89dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtvIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249byksci5vbk1vdXNlVXA/LihuKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG49PntzZXRUaW1lb3V0KCgpPT57bGV0IG89dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtvIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249byl9LDApfSkscy5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsbj0+e2xldCBvPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7byE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW8pfSksdGhpcy5zZXR1cFNlbGVjdGlvbkhhbmRsZXIoZSxzLGEpfXNldHVwU2VsZWN0aW9uSGFuZGxlcihlLGEscil7bGV0IHM9aSgoKT0+e2xldCBvPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighb3x8by5yYW5nZUNvdW50PT09MClyZXR1cm47bGV0IGw9by50b1N0cmluZygpO2lmKGwubGVuZ3RoPT09MCl7dGhpcy5sYXN0U2VsZWN0ZWRUZXh0JiYodGhpcy5sYXN0U2VsZWN0ZWRUZXh0PSIiLHRoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHt0ZXh0OiIiLGJsb2NrSWQ6ci5pZCxoYXNTZWxlY3Rpb246ITF9KSk7cmV0dXJufWxldCBoPWEuZ2V0Um9vdE5vZGUoKS5ob3N0LGY9aD8uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIik/LnNoYWRvd1Jvb3QscD1oPy5zaGFkb3dSb290LGc9W107ZiYmZy5wdXNoKGYpLHAmJmcucHVzaChwKTtsZXQgdj1ZZS5nZXRTZWxlY3Rpb25JbmZvKC4uLmcpO2lmKCF2KXJldHVybjtsZXQgeD1ZZS5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShhLHYuc3RhcnRDb250YWluZXIpLGI9WWUuY29udGFpbnNBY3Jvc3NTaGFkb3dET00oYSx2LmVuZENvbnRhaW5lcik7aWYoeHx8Yil7aWYobCE9PXRoaXMubGFzdFNlbGVjdGVkVGV4dCl7dGhpcy5sYXN0U2VsZWN0ZWRUZXh0PWw7bGV0IG09WWUuY3JlYXRlUmFuZ2VGcm9tSW5mbyh2KSx5PW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUse3RleHQ6bC50cmltKCksYmxvY2tJZDpyLmlkLHJhbmdlOm0scmVjdDp5LGhhc1NlbGVjdGlvbjohMH0pfX1lbHNlIHRoaXMubGFzdFNlbGVjdGVkVGV4dCYmKHRoaXMubGFzdFNlbGVjdGVkVGV4dD0iIix0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSx7dGV4dDoiIixibG9ja0lkOnIuaWQsaGFzU2VsZWN0aW9uOiExfSkpfSwiY2hlY2tTZWxlY3Rpb24iKTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLHMpLHRoaXMuc2VsZWN0aW9uSGFuZGxlcj1zO2xldCBuPWUuY2xvc2VzdCgiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYobil7bGV0IG89bi5kaXNjb25uZWN0ZWRDYWxsYmFjaztuLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWFzeW5jIGZ1bmN0aW9uKCl7dGhpcy5zZWxlY3Rpb25IYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIix0aGlzLnNlbGVjdGlvbkhhbmRsZXIpLHRoaXMuc2VsZWN0aW9uSGFuZGxlcj1udWxsKSxvJiZhd2FpdCBvLmNhbGwobil9LmJpbmQodGhpcyl9fWRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSxhKXtsZXQgcj1uZXcgQ3VzdG9tRXZlbnQoImJsb2NrLXRleHQtc2VsZWN0ZWQiLHtkZXRhaWw6YSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSk7ZS5kaXNwYXRjaEV2ZW50KHIpfWdldFN0eWxlcygpe3JldHVybmAKICAgICAgLyogUGFyYWdyYXBoIHNwZWNpZmljIHN0eWxlcyAqLwogICAgICAuYmxvY2sucGFyYWdyYXBoIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICB9CiAgICBgfWdldFBsYWNlaG9sZGVyKCl7cmV0dXJuIlR5cGUgJy8nIGZvciBjb21tYW5kcy4uLiJ9Z2V0TGFzdFRleHROb2RlKGUpe2lmKGUubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSlyZXR1cm4gZTtmb3IobGV0IGE9ZS5jaGlsZE5vZGVzLmxlbmd0aC0xO2E+PTA7YS0tKXtsZXQgcj10aGlzLmdldExhc3RUZXh0Tm9kZShlLmNoaWxkTm9kZXNbYV0pO2lmKHIpcmV0dXJuIHJ9cmV0dXJuIG51bGx9Z2V0Q3Vyc29yUG9zaXRpb24oZSxhKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5wYXJhZ3JhcGgiKTtpZighcilyZXR1cm4gbnVsbDtsZXQgbz1hPy5jb21wb25lbnQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LGw9YT8uc2hhZG93Um9vdCxoPVtdO28mJmgucHVzaChvKSxsJiZoLnB1c2gobCk7bGV0IHU9WWUuZ2V0U2VsZWN0aW9uSW5mbyguLi5oKTtpZighdXx8IVllLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHIsdS5zdGFydENvbnRhaW5lcikpcmV0dXJuIG51bGw7bGV0IGY9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyZXR1cm4gZi5zZWxlY3ROb2RlQ29udGVudHMociksZi5zZXRFbmQodS5zdGFydENvbnRhaW5lcix1LnN0YXJ0T2Zmc2V0KSxmLnRvU3RyaW5nKCkubGVuZ3RofWdldENvbnRlbnQoZSxhKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5wYXJhZ3JhcGgiKTtyZXR1cm4gciYmci5pbm5lckhUTUx8fCIifXNldENvbnRlbnQoZSxhLHIpe2xldCBzPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnBhcmFncmFwaCIpO2lmKCFzKXJldHVybjtsZXQgbj1kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09c3x8ZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09cztzLmlubmVySFRNTD1hLG4mJnMuZm9jdXMoKX1zZXRDdXJzb3JUb1N0YXJ0KGUsYSl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucGFyYWdyYXBoIik7ciYmYXIuc2V0Q3Vyc29yVG9TdGFydChyKX1zZXRDdXJzb3JUb0VuZChlLGEpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnBhcmFncmFwaCIpO3ImJmFyLnNldEN1cnNvclRvRW5kKHIpfWZvY3VzKGUsYSl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucGFyYWdyYXBoIik7ciYmKHIuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8ci5zZXRBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIsInRydWUiKSxyLmZvY3VzKCksZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXImJmUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudCE9PXImJlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntyLmZvY3VzKCl9KSl9Zm9jdXNXaXRoQ3Vyc29yKGUsYT0iZW5kIixyKXtsZXQgcz1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5wYXJhZ3JhcGgiKTtpZighcylyZXR1cm47aWYocy5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxzLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLGE9PT0iZW5kIiYmcy50ZXh0Q29udGVudCYmcy50ZXh0Q29udGVudC5sZW5ndGg+MCl7bGV0IG89d2luZG93LmdldFNlbGVjdGlvbigpO2lmKG8pe2xldCBsPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCksaD10aGlzLmdldExhc3RUZXh0Tm9kZShzKXx8cztoLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU/KGwuc2V0U3RhcnQoaCxoLnRleHRDb250ZW50Py5sZW5ndGh8fDApLGwuc2V0RW5kKGgsaC50ZXh0Q29udGVudD8ubGVuZ3RofHwwKSk6KGwuc2VsZWN0Tm9kZUNvbnRlbnRzKGgpLGwuY29sbGFwc2UoITEpKSxvLnJlbW92ZUFsbFJhbmdlcygpLG8uYWRkUmFuZ2UobCl9fXMuZm9jdXMoKTtsZXQgbj1pKCgpPT57YT09PSJzdGFydCI/dGhpcy5zZXRDdXJzb3JUb1N0YXJ0KGUscik6YT09PSJlbmQiJiYoIXMudGV4dENvbnRlbnR8fHMudGV4dENvbnRlbnQubGVuZ3RoPT09MCk/dGhpcy5zZXRDdXJzb3JUb0VuZChlLHIpOnR5cGVvZiBhPT0ibnVtYmVyIiYmWWUuc2V0Q3Vyc29yUG9zaXRpb24ocyxhKX0sInNldEN1cnNvciIpO2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1zfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1zP24oKTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PXN8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PXM/bigpOnNldFRpbWVvdXQoKCk9PnsoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PXN8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PXMpJiZuKCl9LDEwKX0pfWdldFNwbGl0Q29udGVudChlLGEpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnBhcmFncmFwaCIpO2lmKCFyKXJldHVybiBudWxsO2xldCBvPWE/LmNvbXBvbmVudD8uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIik/LnNoYWRvd1Jvb3QsbD1hPy5zaGFkb3dSb290LGg9W107byYmaC5wdXNoKG8pLGwmJmgucHVzaChsKTtsZXQgdT1ZZS5nZXRTZWxlY3Rpb25JbmZvKC4uLmgpO2lmKCF1KXtpZih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uIT09bnVsbCl7bGV0IE09ci50ZXh0Q29udGVudHx8IiIsaz1NYXRoLm1pbih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uLE0ubGVuZ3RoKTtyZXR1cm57YmVmb3JlOk0uc3Vic3RyaW5nKDAsayksYWZ0ZXI6TS5zdWJzdHJpbmcoayl9fXJldHVybiBudWxsfWlmKCFZZS5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShyLHUuc3RhcnRDb250YWluZXIpKXtpZih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uIT09bnVsbCl7bGV0IE09ci50ZXh0Q29udGVudHx8IiIsaz1NYXRoLm1pbih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uLE0ubGVuZ3RoKTtyZXR1cm57YmVmb3JlOk0uc3Vic3RyaW5nKDAsayksYWZ0ZXI6TS5zdWJzdHJpbmcoayl9fXJldHVybiBudWxsfWxldCBmPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSxhKTtpZihmPT09bnVsbHx8Zj09PTApcmV0dXJue2JlZm9yZToiIixhZnRlcjpyLmlubmVySFRNTH07bGV0IHA9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxnPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cC5zZXRTdGFydChyLDApLHAuc2V0RW5kKHUuc3RhcnRDb250YWluZXIsdS5zdGFydE9mZnNldCksZy5zZXRTdGFydCh1LnN0YXJ0Q29udGFpbmVyLHUuc3RhcnRPZmZzZXQpLGcuc2V0RW5kKHIsci5jaGlsZE5vZGVzLmxlbmd0aCk7bGV0IHY9cC5jbG9uZUNvbnRlbnRzKCkseD1nLmNsb25lQ29udGVudHMoKSxiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2IuYXBwZW5kQ2hpbGQodik7bGV0IG09Yi5pbm5lckhUTUw7Yi5pbm5lckhUTUw9IiIsYi5hcHBlbmRDaGlsZCh4KTtsZXQgeT1iLmlubmVySFRNTDtyZXR1cm57YmVmb3JlOm0sYWZ0ZXI6eX19fX0pO3ZhciBtNix4WnQ9YygoKT0+e01pKCk7cGUoKTtQbygpO1QyKCk7bTY9Y2xhc3MgZXh0ZW5kcyBPYXtzdGF0aWN7aSh0aGlzLCJIZWFkaW5nQmxvY2tIYW5kbGVyIil9dHlwZTtsZXZlbDtsYXN0S25vd25DdXJzb3JQb3NpdGlvbj0wO2xhc3RTZWxlY3RlZFRleHQ9IiI7c2VsZWN0aW9uSGFuZGxlcj1udWxsO2NvbnN0cnVjdG9yKGUpe3N1cGVyKCksdGhpcy50eXBlPWUsdGhpcy5sZXZlbD1wYXJzZUludChlLnNwbGl0KCItIilbMV0pfXJlbmRlcihlLGEpe2xldCByPWE/IiBzZWxlY3RlZCI6IiIscz10aGlzLmdldFBsYWNlaG9sZGVyKCk7cmV0dXJuYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImJsb2NrIGhlYWRpbmctJHt0aGlzLmxldmVsfSR7cn0iCiAgICAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogICAgICAgIGRhdGEtcGxhY2Vob2xkZXI9IiR7c30iCiAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICBkYXRhLWJsb2NrLXR5cGU9IiR7ZS50eXBlfSIKICAgICAgPjwvZGl2PgogICAgYH1zZXR1cChlLGEscil7bGV0IHM9ZS5xdWVyeVNlbGVjdG9yKGAuYmxvY2suaGVhZGluZy0ke3RoaXMubGV2ZWx9YCk7aWYoIXMpe2NvbnNvbGUuZXJyb3IoIkhlYWRpbmdCbG9ja0hhbmRsZXIuc2V0dXA6IE5vIGhlYWRpbmcgYmxvY2sgZWxlbWVudCBmb3VuZCIpO3JldHVybn1hLmNvbnRlbnQmJiFzLmlubmVySFRNTCYmKHMuaW5uZXJIVE1MPWEuY29udGVudCkscy5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsbj0+e3Iub25JbnB1dChuKTtsZXQgbz10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO28hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1vKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbj0+e2xldCBvPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7byE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW8pLHIub25LZXlEb3duKG4pfSkscy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PntyLm9uRm9jdXMoKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PntyLm9uQmx1cigpfSkscy5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbnN0YXJ0IiwoKT0+e3Iub25Db21wb3NpdGlvblN0YXJ0KCl9KSxzLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uZW5kIiwoKT0+e3Iub25Db21wb3NpdGlvbkVuZCgpfSkscy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIixuPT57bGV0IG89dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtvIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249byksci5vbk1vdXNlVXA/LihuKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLG49PntzZXRUaW1lb3V0KCgpPT57bGV0IG89dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtvIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249byl9LDApfSkscy5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsbj0+e2xldCBvPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7byE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW8pfSksdGhpcy5zZXR1cFNlbGVjdGlvbkhhbmRsZXIoZSxzLGEpfXNldHVwU2VsZWN0aW9uSGFuZGxlcihlLGEscil7bGV0IHM9aSgoKT0+e2xldCBvPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighb3x8by5yYW5nZUNvdW50PT09MClyZXR1cm47bGV0IGw9by50b1N0cmluZygpO2lmKGwubGVuZ3RoPT09MCl7dGhpcy5sYXN0U2VsZWN0ZWRUZXh0JiYodGhpcy5sYXN0U2VsZWN0ZWRUZXh0PSIiLHRoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHt0ZXh0OiIiLGJsb2NrSWQ6ci5pZCxoYXNTZWxlY3Rpb246ITF9KSk7cmV0dXJufWxldCBoPWEuZ2V0Um9vdE5vZGUoKS5ob3N0LGY9aD8uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIik/LnNoYWRvd1Jvb3QscD1oPy5zaGFkb3dSb290LGc9W107ZiYmZy5wdXNoKGYpLHAmJmcucHVzaChwKTtsZXQgdj1ZZS5nZXRTZWxlY3Rpb25JbmZvKC4uLmcpO2lmKCF2KXJldHVybjtsZXQgeD1ZZS5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShhLHYuc3RhcnRDb250YWluZXIpLGI9WWUuY29udGFpbnNBY3Jvc3NTaGFkb3dET00oYSx2LmVuZENvbnRhaW5lcik7aWYoeHx8Yil7aWYobCE9PXRoaXMubGFzdFNlbGVjdGVkVGV4dCl7dGhpcy5sYXN0U2VsZWN0ZWRUZXh0PWw7bGV0IG09WWUuY3JlYXRlUmFuZ2VGcm9tSW5mbyh2KSx5PW0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUse3RleHQ6bC50cmltKCksYmxvY2tJZDpyLmlkLHJhbmdlOm0scmVjdDp5LGhhc1NlbGVjdGlvbjohMH0pfX1lbHNlIHRoaXMubGFzdFNlbGVjdGVkVGV4dCYmKHRoaXMubGFzdFNlbGVjdGVkVGV4dD0iIix0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSx7dGV4dDoiIixibG9ja0lkOnIuaWQsaGFzU2VsZWN0aW9uOiExfSkpfSwiY2hlY2tTZWxlY3Rpb24iKTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLHMpLHRoaXMuc2VsZWN0aW9uSGFuZGxlcj1zO2xldCBuPWEuZ2V0Um9vdE5vZGUoKS5ob3N0O2lmKG4pe2xldCBvPW4uZGlzY29ubmVjdGVkQ2FsbGJhY2s7bi5kaXNjb25uZWN0ZWRDYWxsYmFjaz1hc3luYyBmdW5jdGlvbigpe3RoaXMuc2VsZWN0aW9uSGFuZGxlciYmKGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsdGhpcy5zZWxlY3Rpb25IYW5kbGVyKSx0aGlzLnNlbGVjdGlvbkhhbmRsZXI9bnVsbCksbyYmYXdhaXQgby5jYWxsKG4pfS5iaW5kKHRoaXMpfX1kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUsYSl7bGV0IHI9bmV3IEN1c3RvbUV2ZW50KCJibG9jay10ZXh0LXNlbGVjdGVkIix7ZGV0YWlsOmEsYnViYmxlczohMCxjb21wb3NlZDohMH0pO2UuZGlzcGF0Y2hFdmVudChyKX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC5ibG9jay5oZWFkaW5nLTEgewogICAgICAgIGZvbnQtc2l6ZTogMzJweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICAgICAgbWFyZ2luOiAyNHB4IDAgOHB4IDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDAwMDAwIiwiI2ZmZmZmZiIpfTsKICAgICAgfQoKICAgICAgLmJsb2NrLmhlYWRpbmctMiB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgICBtYXJnaW46IDIwcHggMCA2cHggMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwMDAwMDAiLCIjZmZmZmZmIil9OwogICAgICB9CgogICAgICAuYmxvY2suaGVhZGluZy0zIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBsaW5lLWhlaWdodDogMS40OwogICAgICAgIG1hcmdpbjogMTZweCAwIDRweCAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgIH0KICAgIGB9Z2V0UGxhY2Vob2xkZXIoKXtzd2l0Y2godGhpcy5sZXZlbCl7Y2FzZSAxOnJldHVybiJIZWFkaW5nIDEiO2Nhc2UgMjpyZXR1cm4iSGVhZGluZyAyIjtjYXNlIDM6cmV0dXJuIkhlYWRpbmcgMyI7ZGVmYXVsdDpyZXR1cm4iSGVhZGluZyJ9fWdldExhc3RUZXh0Tm9kZShlKXtpZihlLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpcmV0dXJuIGU7Zm9yKGxldCBhPWUuY2hpbGROb2Rlcy5sZW5ndGgtMTthPj0wO2EtLSl7bGV0IHI9dGhpcy5nZXRMYXN0VGV4dE5vZGUoZS5jaGlsZE5vZGVzW2FdKTtpZihyKXJldHVybiByfXJldHVybiBudWxsfWdldEN1cnNvclBvc2l0aW9uKGUsYSl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKGAuYmxvY2suaGVhZGluZy0ke3RoaXMubGV2ZWx9YCk7aWYoIXIpcmV0dXJuIG51bGw7bGV0IG89YT8uY29tcG9uZW50Py5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxsPWE/LnNoYWRvd1Jvb3QsaD1bXTtvJiZoLnB1c2gobyksbCYmaC5wdXNoKGwpO2xldCB1PVllLmdldFNlbGVjdGlvbkluZm8oLi4uaCk7aWYoIXV8fCFZZS5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShyLHUuc3RhcnRDb250YWluZXIpKXJldHVybiBudWxsO2xldCBmPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIGYuc2VsZWN0Tm9kZUNvbnRlbnRzKHIpLGYuc2V0RW5kKHUuc3RhcnRDb250YWluZXIsdS5zdGFydE9mZnNldCksZi50b1N0cmluZygpLmxlbmd0aH1nZXRDb250ZW50KGUsYSl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKGAuYmxvY2suaGVhZGluZy0ke3RoaXMubGV2ZWx9YCk7cmV0dXJuIHImJnIuaW5uZXJIVE1MfHwiIn1zZXRDb250ZW50KGUsYSxyKXtsZXQgcz1lLnF1ZXJ5U2VsZWN0b3IoYC5ibG9jay5oZWFkaW5nLSR7dGhpcy5sZXZlbH1gKTtpZighcylyZXR1cm47bGV0IG49ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PXN8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PXM7cy5pbm5lckhUTUw9YSxuJiZzLmZvY3VzKCl9c2V0Q3Vyc29yVG9TdGFydChlLGEpe2xldCByPWUucXVlcnlTZWxlY3RvcihgLmJsb2NrLmhlYWRpbmctJHt0aGlzLmxldmVsfWApO3ImJmFyLnNldEN1cnNvclRvU3RhcnQocil9c2V0Q3Vyc29yVG9FbmQoZSxhKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoYC5ibG9jay5oZWFkaW5nLSR7dGhpcy5sZXZlbH1gKTtyJiZhci5zZXRDdXJzb3JUb0VuZChyKX1mb2N1cyhlLGEpe2xldCByPWUucXVlcnlTZWxlY3RvcihgLmJsb2NrLmhlYWRpbmctJHt0aGlzLmxldmVsfWApO3ImJihyLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fHIuc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIiksci5mb2N1cygpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1yJiZlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQhPT1yJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57ci5mb2N1cygpfSkpfWZvY3VzV2l0aEN1cnNvcihlLGE9ImVuZCIscil7bGV0IHM9ZS5xdWVyeVNlbGVjdG9yKGAuYmxvY2suaGVhZGluZy0ke3RoaXMubGV2ZWx9YCk7aWYoIXMpcmV0dXJuO2lmKHMuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8cy5zZXRBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIsInRydWUiKSxhPT09ImVuZCImJnMudGV4dENvbnRlbnQmJnMudGV4dENvbnRlbnQubGVuZ3RoPjApe2xldCBvPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihvKXtsZXQgbD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLGg9dGhpcy5nZXRMYXN0VGV4dE5vZGUocyl8fHM7aC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFPyhsLnNldFN0YXJ0KGgsaC50ZXh0Q29udGVudD8ubGVuZ3RofHwwKSxsLnNldEVuZChoLGgudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MCkpOihsLnNlbGVjdE5vZGVDb250ZW50cyhoKSxsLmNvbGxhcHNlKCExKSksby5yZW1vdmVBbGxSYW5nZXMoKSxvLmFkZFJhbmdlKGwpfX1zLmZvY3VzKCk7bGV0IG49aSgoKT0+e2E9PT0ic3RhcnQiP3RoaXMuc2V0Q3Vyc29yVG9TdGFydChlLHIpOmE9PT0iZW5kIiYmKCFzLnRleHRDb250ZW50fHxzLnRleHRDb250ZW50Lmxlbmd0aD09PTApP3RoaXMuc2V0Q3Vyc29yVG9FbmQoZSxyKTp0eXBlb2YgYT09Im51bWJlciImJlllLnNldEN1cnNvclBvc2l0aW9uKHMsYSl9LCJzZXRDdXJzb3IiKTtkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09c3x8ZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09cz9uKCk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1zfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1zP24oKTpzZXRUaW1lb3V0KCgpPT57KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1zfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1zKSYmbigpfSwxMCl9KX1nZXRTcGxpdENvbnRlbnQoZSxhKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoYC5ibG9jay5oZWFkaW5nLSR7dGhpcy5sZXZlbH1gKTtpZighcilyZXR1cm4gbnVsbDtsZXQgbz1hPy5jb21wb25lbnQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LGw9YT8uc2hhZG93Um9vdCxoPVtdO28mJmgucHVzaChvKSxsJiZoLnB1c2gobCk7bGV0IHU9WWUuZ2V0U2VsZWN0aW9uSW5mbyguLi5oKTtpZighdSl7aWYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiE9PW51bGwpe2xldCBNPXIudGV4dENvbnRlbnR8fCIiLGs9TWF0aC5taW4odGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbixNLmxlbmd0aCk7cmV0dXJue2JlZm9yZTpNLnN1YnN0cmluZygwLGspLGFmdGVyOk0uc3Vic3RyaW5nKGspfX1yZXR1cm4gbnVsbH1pZighWWUuY29udGFpbnNBY3Jvc3NTaGFkb3dET00ocix1LnN0YXJ0Q29udGFpbmVyKSl7aWYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiE9PW51bGwpe2xldCBNPXIudGV4dENvbnRlbnR8fCIiLGs9TWF0aC5taW4odGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbixNLmxlbmd0aCk7cmV0dXJue2JlZm9yZTpNLnN1YnN0cmluZygwLGspLGFmdGVyOk0uc3Vic3RyaW5nKGspfX1yZXR1cm4gbnVsbH1sZXQgZj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUsYSk7aWYoZj09PW51bGx8fGY9PT0wKXJldHVybntiZWZvcmU6IiIsYWZ0ZXI6ci5pbm5lckhUTUx9O2xldCBwPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCksZz1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3Auc2V0U3RhcnQociwwKSxwLnNldEVuZCh1LnN0YXJ0Q29udGFpbmVyLHUuc3RhcnRPZmZzZXQpLGcuc2V0U3RhcnQodS5zdGFydENvbnRhaW5lcix1LnN0YXJ0T2Zmc2V0KSxnLnNldEVuZChyLHIuY2hpbGROb2Rlcy5sZW5ndGgpO2xldCB2PXAuY2xvbmVDb250ZW50cygpLHg9Zy5jbG9uZUNvbnRlbnRzKCksYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmFwcGVuZENoaWxkKHYpO2xldCBtPWIuaW5uZXJIVE1MO2IuaW5uZXJIVE1MPSIiLGIuYXBwZW5kQ2hpbGQoeCk7bGV0IHk9Yi5pbm5lckhUTUw7cmV0dXJue2JlZm9yZTptLGFmdGVyOnl9fX19KTt2YXIgdEIseVp0PWMoKCk9PntNaSgpO3BlKCk7UG8oKTtUMigpO3RCPWNsYXNzIGV4dGVuZHMgT2F7c3RhdGlje2kodGhpcywiUXVvdGVCbG9ja0hhbmRsZXIiKX10eXBlPSJxdW90ZSI7bGFzdEtub3duQ3Vyc29yUG9zaXRpb249MDtsYXN0U2VsZWN0ZWRUZXh0PSIiO3NlbGVjdGlvbkhhbmRsZXI9bnVsbDtyZW5kZXIoZSxhKXtsZXQgcj1hPyIgc2VsZWN0ZWQiOiIiLHM9dGhpcy5nZXRQbGFjZWhvbGRlcigpO3JldHVybmAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJibG9jayBxdW90ZSR7cn0iCiAgICAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogICAgICAgIGRhdGEtcGxhY2Vob2xkZXI9IiR7c30iCiAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICBkYXRhLWJsb2NrLXR5cGU9IiR7ZS50eXBlfSIKICAgICAgPjwvZGl2PgogICAgYH1zZXR1cChlLGEscil7bGV0IHM9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtpZighcyl7Y29uc29sZS5lcnJvcigiUXVvdGVCbG9ja0hhbmRsZXIuc2V0dXA6IE5vIHF1b3RlIGJsb2NrIGVsZW1lbnQgZm91bmQiKTtyZXR1cm59YS5jb250ZW50JiYhcy5pbm5lckhUTUwmJihzLmlubmVySFRNTD1hLmNvbnRlbnQpLHMuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLG49PntyLm9uSW5wdXQobik7bGV0IG89dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtvIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249byl9KSxzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG49PntsZXQgbz10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO28hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1vKSxyLm9uS2V5RG93bihuKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57ci5vbkZvY3VzKCl9KSxzLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57ci5vbkJsdXIoKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsKCk9PntyLm9uQ29tcG9zaXRpb25TdGFydCgpfSkscy5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsKCk9PntyLm9uQ29tcG9zaXRpb25FbmQoKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsbj0+e2xldCBvPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7byE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW8pLHIub25Nb3VzZVVwPy4obil9KSxzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuPT57c2V0VGltZW91dCgoKT0+e2xldCBvPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7byE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW8pfSwwKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLG49PntsZXQgbz10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO28hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1vKX0pLHRoaXMuc2V0dXBTZWxlY3Rpb25IYW5kbGVyKGUscyxhKX1zZXR1cFNlbGVjdGlvbkhhbmRsZXIoZSxhLHIpe2xldCBzPWkoKCk9PntsZXQgbz13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIW98fG8ucmFuZ2VDb3VudD09PTApcmV0dXJuO2xldCBsPW8udG9TdHJpbmcoKTtpZihsLmxlbmd0aD09PTApe3RoaXMubGFzdFNlbGVjdGVkVGV4dCYmKHRoaXMubGFzdFNlbGVjdGVkVGV4dD0iIix0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSx7dGV4dDoiIixibG9ja0lkOnIuaWQsaGFzU2VsZWN0aW9uOiExfSkpO3JldHVybn1sZXQgaD1hLmdldFJvb3ROb2RlKCkuaG9zdCxmPWg/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LHA9aD8uc2hhZG93Um9vdCxnPVtdO2YmJmcucHVzaChmKSxwJiZnLnB1c2gocCk7bGV0IHY9WWUuZ2V0U2VsZWN0aW9uSW5mbyguLi5nKTtpZighdilyZXR1cm47bGV0IHg9WWUuY29udGFpbnNBY3Jvc3NTaGFkb3dET00oYSx2LnN0YXJ0Q29udGFpbmVyKSxiPVllLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKGEsdi5lbmRDb250YWluZXIpO2lmKHh8fGIpe2lmKGwhPT10aGlzLmxhc3RTZWxlY3RlZFRleHQpe3RoaXMubGFzdFNlbGVjdGVkVGV4dD1sO2xldCBtPVllLmNyZWF0ZVJhbmdlRnJvbUluZm8odikseT1tLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHt0ZXh0OmwudHJpbSgpLGJsb2NrSWQ6ci5pZCxyYW5nZTptLHJlY3Q6eSxoYXNTZWxlY3Rpb246ITB9KX19ZWxzZSB0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUse3RleHQ6IiIsYmxvY2tJZDpyLmlkLGhhc1NlbGVjdGlvbjohMX0pKX0sImNoZWNrU2VsZWN0aW9uIik7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixzKSx0aGlzLnNlbGVjdGlvbkhhbmRsZXI9cztsZXQgbj1hLmdldFJvb3ROb2RlKCkuaG9zdDtpZihuKXtsZXQgbz1uLmRpc2Nvbm5lY3RlZENhbGxiYWNrO24uZGlzY29ubmVjdGVkQ2FsbGJhY2s9YXN5bmMgZnVuY3Rpb24oKXt0aGlzLnNlbGVjdGlvbkhhbmRsZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLHRoaXMuc2VsZWN0aW9uSGFuZGxlciksdGhpcy5zZWxlY3Rpb25IYW5kbGVyPW51bGwpLG8mJmF3YWl0IG8uY2FsbChuKX0uYmluZCh0aGlzKX19ZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLGEpe2xldCByPW5ldyBDdXN0b21FdmVudCgiYmxvY2stdGV4dC1zZWxlY3RlZCIse2RldGFpbDphLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KTtlLmRpc3BhdGNoRXZlbnQocil9Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBRdW90ZSBzcGVjaWZpYyBzdHlsZXMgKi8KICAgICAgLmJsb2NrLnF1b3RlIHsKICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICR7ZC5iZFRoZW1lKCIjMDA2NmNjIiwiIzRkOTRmZiIpfTsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNTU1IiwiI2IwYjBiMCIpfTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICBtYXJnaW46IDE2cHggMDsKICAgICAgfQogICAgYH1nZXRQbGFjZWhvbGRlcigpe3JldHVybiJBZGQgYSBxdW90ZS4uLiJ9Z2V0Q3Vyc29yUG9zaXRpb24oZSxhKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5xdW90ZSIpO2lmKCFyKXJldHVybiBudWxsO2xldCBvPWE/LmNvbXBvbmVudD8uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIik/LnNoYWRvd1Jvb3QsbD1hPy5zaGFkb3dSb290LGg9W107byYmaC5wdXNoKG8pLGwmJmgucHVzaChsKTtsZXQgdT1ZZS5nZXRTZWxlY3Rpb25JbmZvKC4uLmgpO2lmKCF1fHwhWWUuY29udGFpbnNBY3Jvc3NTaGFkb3dET00ocix1LnN0YXJ0Q29udGFpbmVyKSlyZXR1cm4gbnVsbDtsZXQgZj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiBmLnNlbGVjdE5vZGVDb250ZW50cyhyKSxmLnNldEVuZCh1LnN0YXJ0Q29udGFpbmVyLHUuc3RhcnRPZmZzZXQpLGYudG9TdHJpbmcoKS5sZW5ndGh9Z2V0Q29udGVudChlLGEpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnF1b3RlIik7cmV0dXJuIHImJnIuaW5uZXJIVE1MfHwiIn1zZXRDb250ZW50KGUsYSxyKXtsZXQgcz1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5xdW90ZSIpO2lmKCFzKXJldHVybjtsZXQgbj1kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09c3x8ZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09cztzLmlubmVySFRNTD1hLG4mJnMuZm9jdXMoKX1zZXRDdXJzb3JUb1N0YXJ0KGUsYSl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtyJiZhci5zZXRDdXJzb3JUb1N0YXJ0KHIpfXNldEN1cnNvclRvRW5kKGUsYSl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtyJiZhci5zZXRDdXJzb3JUb0VuZChyKX1mb2N1cyhlLGEpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnF1b3RlIik7ciYmKHIuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8ci5zZXRBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIsInRydWUiKSxyLmZvY3VzKCksZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXImJmUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudCE9PXImJlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PntyLmZvY3VzKCl9KSl9Zm9jdXNXaXRoQ3Vyc29yKGUsYT0iZW5kIixyKXtsZXQgcz1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5xdW90ZSIpO2lmKCFzKXJldHVybjtzLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fHMuc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIikscy5mb2N1cygpO2xldCBuPWkoKCk9PnthPT09InN0YXJ0Ij90aGlzLnNldEN1cnNvclRvU3RhcnQoZSxyKTphPT09ImVuZCI/dGhpcy5zZXRDdXJzb3JUb0VuZChlLHIpOnR5cGVvZiBhPT0ibnVtYmVyIiYmWWUuc2V0Q3Vyc29yUG9zaXRpb24ocyxhKX0sInNldEN1cnNvciIpO2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1zfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1zP24oKTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1zfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1zKSYmbigpfSl9Z2V0U3BsaXRDb250ZW50KGUsYSl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtpZighcilyZXR1cm4gbnVsbDtsZXQgbz1hPy5jb21wb25lbnQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LGw9YT8uc2hhZG93Um9vdCxoPVtdO28mJmgucHVzaChvKSxsJiZoLnB1c2gobCk7bGV0IHU9WWUuZ2V0U2VsZWN0aW9uSW5mbyguLi5oKTtpZighdSl7aWYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiE9PW51bGwpe2xldCBNPXIudGV4dENvbnRlbnR8fCIiLGs9TWF0aC5taW4odGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbixNLmxlbmd0aCk7cmV0dXJue2JlZm9yZTpNLnN1YnN0cmluZygwLGspLGFmdGVyOk0uc3Vic3RyaW5nKGspfX1yZXR1cm4gbnVsbH1pZighWWUuY29udGFpbnNBY3Jvc3NTaGFkb3dET00ocix1LnN0YXJ0Q29udGFpbmVyKSl7aWYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiE9PW51bGwpe2xldCBNPXIudGV4dENvbnRlbnR8fCIiLGs9TWF0aC5taW4odGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbixNLmxlbmd0aCk7cmV0dXJue2JlZm9yZTpNLnN1YnN0cmluZygwLGspLGFmdGVyOk0uc3Vic3RyaW5nKGspfX1yZXR1cm4gbnVsbH1sZXQgZj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUsYSk7aWYoZj09PW51bGx8fGY9PT0wKXJldHVybntiZWZvcmU6IiIsYWZ0ZXI6ci5pbm5lckhUTUx9O2xldCBwPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCksZz1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3Auc2V0U3RhcnQociwwKSxwLnNldEVuZCh1LnN0YXJ0Q29udGFpbmVyLHUuc3RhcnRPZmZzZXQpLGcuc2V0U3RhcnQodS5zdGFydENvbnRhaW5lcix1LnN0YXJ0T2Zmc2V0KSxnLnNldEVuZChyLHIuY2hpbGROb2Rlcy5sZW5ndGgpO2xldCB2PXAuY2xvbmVDb250ZW50cygpLHg9Zy5jbG9uZUNvbnRlbnRzKCksYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmFwcGVuZENoaWxkKHYpO2xldCBtPWIuaW5uZXJIVE1MO2IuaW5uZXJIVE1MPSIiLGIuYXBwZW5kQ2hpbGQoeCk7bGV0IHk9Yi5pbm5lckhUTUw7cmV0dXJue2JlZm9yZTptLGFmdGVyOnl9fX19KTt2YXIgQXMsQ3IscU9lPWMoKCk9PntBcz17eHRlcm06IjUuMy4wIix4dGVybUFkZG9uRml0OiIwLjguMCIseHRlcm1BZGRvblNlYXJjaDoiMC4xMy4wIixoaWdobGlnaHRKczoiMTEuMTEuMSIsYXBleGNoYXJ0czoiNS4xMC4zIix0aXB0YXA6IjIuMjcuMiIsZm9udGF3ZXNvbWU6IjcuMi4wIn0sQ3I9Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0ifSk7dmFyIHJyLHdadD1jKCgpPT57cU9lKCk7cnI9Y2xhc3MgdHtzdGF0aWN7aSh0aGlzLCJEZWVzU2VydmljZUxpYkxvYWRlciIpfXN0YXRpYyBpbnN0YW5jZTt4dGVybUxpYj1udWxsO3h0ZXJtRml0QWRkb25MaWI9bnVsbDt4dGVybVNlYXJjaEFkZG9uTGliPW51bGw7aGlnaGxpZ2h0SnNMaWI9bnVsbDthcGV4Q2hhcnRzTGliPW51bGw7dGlwdGFwTGliPW51bGw7eHRlcm1Mb2FkaW5nUHJvbWlzZT1udWxsO3h0ZXJtRml0QWRkb25Mb2FkaW5nUHJvbWlzZT1udWxsO3h0ZXJtU2VhcmNoQWRkb25Mb2FkaW5nUHJvbWlzZT1udWxsO2hpZ2hsaWdodEpzTG9hZGluZ1Byb21pc2U9bnVsbDthcGV4Q2hhcnRzTG9hZGluZ1Byb21pc2U9bnVsbDt0aXB0YXBMb2FkaW5nUHJvbWlzZT1udWxsO2NvbnN0cnVjdG9yKCl7fXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiB0Lmluc3RhbmNlfHwodC5pbnN0YW5jZT1uZXcgdCksdC5pbnN0YW5jZX1hc3luYyBsb2FkWHRlcm0oKXtyZXR1cm4gdGhpcy54dGVybUxpYj90aGlzLnh0ZXJtTGliOnRoaXMueHRlcm1Mb2FkaW5nUHJvbWlzZT90aGlzLnh0ZXJtTG9hZGluZ1Byb21pc2U6KHRoaXMueHRlcm1Mb2FkaW5nUHJvbWlzZT0oYXN5bmMoKT0+e2xldCBhPWF3YWl0IGltcG9ydChgJHtDcn0veHRlcm1AJHtBcy54dGVybX0vK2VzbWApO3JldHVybiBhd2FpdCB0aGlzLmluamVjdFh0ZXJtU3R5bGVzKCksdGhpcy54dGVybUxpYj17VGVybWluYWw6YS5UZXJtaW5hbH0sdGhpcy54dGVybUxpYn0pKCksdGhpcy54dGVybUxvYWRpbmdQcm9taXNlKX1hc3luYyBsb2FkWHRlcm1GaXRBZGRvbigpe3JldHVybiB0aGlzLnh0ZXJtRml0QWRkb25MaWI/dGhpcy54dGVybUZpdEFkZG9uTGliOnRoaXMueHRlcm1GaXRBZGRvbkxvYWRpbmdQcm9taXNlP3RoaXMueHRlcm1GaXRBZGRvbkxvYWRpbmdQcm9taXNlOih0aGlzLnh0ZXJtRml0QWRkb25Mb2FkaW5nUHJvbWlzZT0oYXN5bmMoKT0+e2xldCBhPWF3YWl0IGltcG9ydChgJHtDcn0veHRlcm0tYWRkb24tZml0QCR7QXMueHRlcm1BZGRvbkZpdH0vK2VzbWApO3JldHVybiB0aGlzLnh0ZXJtRml0QWRkb25MaWI9e0ZpdEFkZG9uOmEuRml0QWRkb259LHRoaXMueHRlcm1GaXRBZGRvbkxpYn0pKCksdGhpcy54dGVybUZpdEFkZG9uTG9hZGluZ1Byb21pc2UpfWFzeW5jIGxvYWRYdGVybVNlYXJjaEFkZG9uKCl7cmV0dXJuIHRoaXMueHRlcm1TZWFyY2hBZGRvbkxpYj90aGlzLnh0ZXJtU2VhcmNoQWRkb25MaWI6dGhpcy54dGVybVNlYXJjaEFkZG9uTG9hZGluZ1Byb21pc2U/dGhpcy54dGVybVNlYXJjaEFkZG9uTG9hZGluZ1Byb21pc2U6KHRoaXMueHRlcm1TZWFyY2hBZGRvbkxvYWRpbmdQcm9taXNlPShhc3luYygpPT57bGV0IGE9YXdhaXQgaW1wb3J0KGAke0NyfS94dGVybS1hZGRvbi1zZWFyY2hAJHtBcy54dGVybUFkZG9uU2VhcmNofS8rZXNtYCk7cmV0dXJuIHRoaXMueHRlcm1TZWFyY2hBZGRvbkxpYj17U2VhcmNoQWRkb246YS5TZWFyY2hBZGRvbn0sdGhpcy54dGVybVNlYXJjaEFkZG9uTGlifSkoKSx0aGlzLnh0ZXJtU2VhcmNoQWRkb25Mb2FkaW5nUHJvbWlzZSl9YXN5bmMgaW5qZWN0WHRlcm1TdHlsZXMoKXtsZXQgZT0ieHRlcm0tY2RuLXN0eWxlcyI7aWYoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoZSkpcmV0dXJuO2xldCBhPWAke0NyfS94dGVybUAke0FzLnh0ZXJtfS9jc3MveHRlcm0uY3NzYCxzPWF3YWl0KGF3YWl0IGZldGNoKGEpKS50ZXh0KCksbj1gCi8qIEZpeCB4dGVybS5qcyBXaWR0aENhY2hlIG1lYXN1cmVtZW50IGNvbnRhaW5lciBjYXVzaW5nIGhvcml6b250YWwgc2Nyb2xsYmFyICovCi8qIHh0ZXJtIGNyZWF0ZXMgdGhpcyBvbiBkb2N1bWVudC5ib2R5IC0gbW92ZSBpdCBvZmYtc2NyZWVuIGhvcml6b250YWxseSB0b28gKi8KYm9keSA+IGRpdltzdHlsZSo9InRvcDogLTUwMDAwcHgiXVtzdHlsZSo9IndpZHRoOiA1MDAwMHB4Il0gewogIGxlZnQ6IC01MDAwMHB4ICFpbXBvcnRhbnQ7Cn0KYCxvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7by5pZD1lLG8udGV4dENvbnRlbnQ9cytuLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobyl9YXN5bmMgbG9hZEhpZ2hsaWdodEpzKCl7cmV0dXJuIHRoaXMuaGlnaGxpZ2h0SnNMaWI/dGhpcy5oaWdobGlnaHRKc0xpYjp0aGlzLmhpZ2hsaWdodEpzTG9hZGluZ1Byb21pc2U/dGhpcy5oaWdobGlnaHRKc0xvYWRpbmdQcm9taXNlOih0aGlzLmhpZ2hsaWdodEpzTG9hZGluZ1Byb21pc2U9KGFzeW5jKCk9PntsZXQgYT1hd2FpdCBpbXBvcnQoYCR7Q3J9L2hpZ2hsaWdodC5qc0Ake0FzLmhpZ2hsaWdodEpzfS8rZXNtYCk7cmV0dXJuIHRoaXMuaGlnaGxpZ2h0SnNMaWI9YS5kZWZhdWx0LHRoaXMuaGlnaGxpZ2h0SnNMaWJ9KSgpLHRoaXMuaGlnaGxpZ2h0SnNMb2FkaW5nUHJvbWlzZSl9YXN5bmMgbG9hZEFwZXhDaGFydHMoKXtyZXR1cm4gdGhpcy5hcGV4Q2hhcnRzTGliP3RoaXMuYXBleENoYXJ0c0xpYjp0aGlzLmFwZXhDaGFydHNMb2FkaW5nUHJvbWlzZT90aGlzLmFwZXhDaGFydHNMb2FkaW5nUHJvbWlzZToodGhpcy5hcGV4Q2hhcnRzTG9hZGluZ1Byb21pc2U9KGFzeW5jKCk9PntsZXQgYT1hd2FpdCBpbXBvcnQoYCR7Q3J9L2FwZXhjaGFydHNAJHtBcy5hcGV4Y2hhcnRzfS8rZXNtYCk7cmV0dXJuIHRoaXMuYXBleENoYXJ0c0xpYj1hLmRlZmF1bHQsdGhpcy5hcGV4Q2hhcnRzTGlifSkoKSx0aGlzLmFwZXhDaGFydHNMb2FkaW5nUHJvbWlzZSl9YXN5bmMgbG9hZFRpcHRhcCgpe3JldHVybiB0aGlzLnRpcHRhcExpYj90aGlzLnRpcHRhcExpYjp0aGlzLnRpcHRhcExvYWRpbmdQcm9taXNlP3RoaXMudGlwdGFwTG9hZGluZ1Byb21pc2U6KHRoaXMudGlwdGFwTG9hZGluZ1Byb21pc2U9KGFzeW5jKCk9PntsZXQgZT1Bcy50aXB0YXAsW2EscixzLG4sbyxsXT1hd2FpdCBQcm9taXNlLmFsbChbaW1wb3J0KGAke0NyfS9AdGlwdGFwL2NvcmVAJHtlfS8rZXNtYCksaW1wb3J0KGAke0NyfS9AdGlwdGFwL3N0YXJ0ZXIta2l0QCR7ZX0vK2VzbWApLGltcG9ydChgJHtDcn0vQHRpcHRhcC9leHRlbnNpb24tdW5kZXJsaW5lQCR7ZX0vK2VzbWApLGltcG9ydChgJHtDcn0vQHRpcHRhcC9leHRlbnNpb24tdGV4dC1hbGlnbkAke2V9Lytlc21gKSxpbXBvcnQoYCR7Q3J9L0B0aXB0YXAvZXh0ZW5zaW9uLWxpbmtAJHtlfS8rZXNtYCksaW1wb3J0KGAke0NyfS9AdGlwdGFwL2V4dGVuc2lvbi10eXBvZ3JhcGh5QCR7ZX0vK2VzbWApXSk7cmV0dXJuIHRoaXMudGlwdGFwTGliPXtFZGl0b3I6YS5FZGl0b3IsU3RhcnRlcktpdDpyLmRlZmF1bHR8fHIuU3RhcnRlcktpdCxVbmRlcmxpbmU6cy5kZWZhdWx0fHxzLlVuZGVybGluZSxUZXh0QWxpZ246bi5kZWZhdWx0fHxuLlRleHRBbGlnbixMaW5rOm8uZGVmYXVsdHx8by5MaW5rLFR5cG9ncmFwaHk6bC5kZWZhdWx0fHxsLlR5cG9ncmFwaHl9LHRoaXMudGlwdGFwTGlifSkoKSx0aGlzLnRpcHRhcExvYWRpbmdQcm9taXNlKX1hc3luYyBwcmVsb2FkQWxsKCl7YXdhaXQgUHJvbWlzZS5hbGwoW3RoaXMubG9hZFh0ZXJtKCksdGhpcy5sb2FkWHRlcm1GaXRBZGRvbigpLHRoaXMubG9hZFh0ZXJtU2VhcmNoQWRkb24oKSx0aGlzLmxvYWRIaWdobGlnaHRKcygpLHRoaXMubG9hZEFwZXhDaGFydHMoKSx0aGlzLmxvYWRUaXB0YXAoKV0pfWlzTG9hZGVkKGUpe3N3aXRjaChlKXtjYXNlInh0ZXJtIjpyZXR1cm4gdGhpcy54dGVybUxpYiE9PW51bGw7Y2FzZSJ4dGVybUZpdEFkZG9uIjpyZXR1cm4gdGhpcy54dGVybUZpdEFkZG9uTGliIT09bnVsbDtjYXNlInh0ZXJtU2VhcmNoQWRkb24iOnJldHVybiB0aGlzLnh0ZXJtU2VhcmNoQWRkb25MaWIhPT1udWxsO2Nhc2UiaGlnaGxpZ2h0SnMiOnJldHVybiB0aGlzLmhpZ2hsaWdodEpzTGliIT09bnVsbDtjYXNlImFwZXhDaGFydHMiOnJldHVybiB0aGlzLmFwZXhDaGFydHNMaWIhPT1udWxsO2Nhc2UidGlwdGFwIjpyZXR1cm4gdGhpcy50aXB0YXBMaWIhPT1udWxsO2RlZmF1bHQ6cmV0dXJuITF9fX19KTt2YXIgcGw9YygoKT0+e3dadCgpO3FPZSgpfSk7dmFyIGFCLE1adD1jKCgpPT57TWkoKTtwZSgpO1QyKCk7SXIoKTtIWigpO3BsKCk7YUI9Y2xhc3MgZXh0ZW5kcyBPYXtzdGF0aWN7aSh0aGlzLCJDb2RlQmxvY2tIYW5kbGVyIil9dHlwZT0iY29kZSI7aGlnaGxpZ2h0VGltZXI9bnVsbDtoaWdobGlnaHRKcz1udWxsO3JlbmRlcihlLGEpe2xldCByPWUubWV0YWRhdGE/Lmxhbmd1YWdlfHwidHlwZXNjcmlwdCIscz1lLmNvbnRlbnR8fCIiLG49cy5zcGxpdChgCmApLmxlbmd0aCxvPSIiO2ZvcihsZXQgaD0xO2g8PW47aCsrKW8rPWA8ZGl2IGNsYXNzPSJsaW5lLW51bWJlciI+JHtofTwvZGl2PmA7bGV0IGw9UU8ubWFwKGg9PntsZXQgdT1oLnRvTG93ZXJDYXNlKCk7cmV0dXJuYDxvcHRpb24gdmFsdWU9IiR7dX0iICR7dT09PXI/InNlbGVjdGVkIjoiIn0+JHtofTwvb3B0aW9uPmB9KS5qb2luKCIiKTtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9ImNvZGUtYmxvY2stY29udGFpbmVyJHthPyIgc2VsZWN0ZWQiOiIifSIgZGF0YS1sYW5ndWFnZT0iJHtyfSI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1oZWFkZXIiPgogICAgICAgICAgPHNlbGVjdCBjbGFzcz0ibGFuZ3VhZ2Utc2VsZWN0b3IiIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iPgogICAgICAgICAgICAke2x9CiAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNvcHktYnV0dG9uIiB0aXRsZT0iQ29weSBjb2RlIj4KICAgICAgICAgICAgPHN2ZyBjbGFzcz0iY29weS1pY29uIiB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAxNiAxNiIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMCA2Ljc1QzAgNS43ODQuNzg0IDUgMS43NSA1aDEuNWEuNzUuNzUgMCAwMTAgMS41aC0xLjVhLjI1LjI1IDAgMDAtLjI1LjI1djcuNWMwIC4xMzguMTEyLjI1LjI1LjI1aDcuNWEuMjUuMjUgMCAwMC4yNS0uMjV2LTEuNWEuNzUuNzUgMCAwMTEuNSAwdjEuNUExLjc1IDEuNzUgMCAwMTkuMjUgMTZoLTcuNUExLjc1IDEuNzUgMCAwMTAgMTQuMjV2LTcuNXoiPjwvcGF0aD4KICAgICAgICAgICAgICA8cGF0aCBkPSJNNSAxLjc1QzUgLjc4NCA1Ljc4NCAwIDYuNzUgMGg3LjVDMTUuMjE2IDAgMTYgLjc4NCAxNiAxLjc1djcuNUExLjc1IDEuNzUgMCAwMTE0LjI1IDExaC03LjVBMS43NSAxLjc1IDAgMDE1IDkuMjV2LTcuNXptMS43NS0uMjVhLjI1LjI1IDAgMDAtLjI1LjI1djcuNWMwIC4xMzguMTEyLjI1LjI1LjI1aDcuNWEuMjUuMjUgMCAwMC4yNS0uMjV2LTcuNWEuMjUuMjUgMCAwMC0uMjUtLjI1aC03LjV6Ij48L3BhdGg+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29weS10ZXh0Ij5Db3B5PC9zcGFuPgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1ib2R5Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxpbmUtbnVtYmVycyI+JHtvfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1jb250ZW50Ij4KICAgICAgICAgICAgPHByZSBjbGFzcz0iY29kZS1wcmUiPjxjb2RlIGNsYXNzPSJjb2RlLWVkaXRvciIgCiAgICAgICAgICAgICAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogICAgICAgICAgICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgICAgICAgICAgZGF0YS1ibG9jay10eXBlPSIke2UudHlwZX0iCiAgICAgICAgICAgICAgICAgc3BlbGxjaGVjaz0iZmFsc2UiPiR7dGhpcy5lc2NhcGVIdG1sKHMpfTwvY29kZT48L3ByZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9c2V0dXAoZSxhLHIpe2xldCBzPWUucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIiksbj1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWJsb2NrLWNvbnRhaW5lciIpLG89ZS5xdWVyeVNlbGVjdG9yKCIuY29weS1idXR0b24iKSxsPWUucXVlcnlTZWxlY3RvcigiLmxhbmd1YWdlLXNlbGVjdG9yIik7aWYoIXN8fCFuKXJldHVybjtsJiZsLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsdT0+e2xldCBmPXUudGFyZ2V0LnZhbHVlO2EubWV0YWRhdGE9ey4uLmEubWV0YWRhdGEsbGFuZ3VhZ2U6Zn0sbi5zZXRBdHRyaWJ1dGUoImRhdGEtbGFuZ3VhZ2UiLGYpLGEuY29udGVudCYmZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXMmJnRoaXMuYXBwbHlIaWdobGlnaHRpbmcoZSxhKSxyLm9uSW5wdXQmJnIub25JbnB1dChuZXcgSW5wdXRFdmVudCgiaW5wdXQiKSl9KSxvJiZvLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixhc3luYygpPT57bGV0IHU9cy50ZXh0Q29udGVudHx8IiI7dHJ5e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHUpO2xldCBmPW8ucXVlcnlTZWxlY3RvcigiLmNvcHktdGV4dCIpLHA9Zi50ZXh0Q29udGVudDtmLnRleHRDb250ZW50PSJDb3BpZWQhIixvLmNsYXNzTGlzdC5hZGQoImNvcGllZCIpLHNldFRpbWVvdXQoKCk9PntmLnRleHRDb250ZW50PXAsby5jbGFzc0xpc3QucmVtb3ZlKCJjb3BpZWQiKX0sMmUzKX1jYXRjaChmKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY29weToiLGYpO2xldCBwPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRleHRhcmVhIik7cC52YWx1ZT11LHAuc3R5bGUucG9zaXRpb249ImZpeGVkIixwLnN0eWxlLm9wYWNpdHk9IjAiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocCkscC5zZWxlY3QoKTt0cnl7ZG9jdW1lbnQuZXhlY0NvbW1hbmQoImNvcHkiKTtsZXQgZz1vLnF1ZXJ5U2VsZWN0b3IoIi5jb3B5LXRleHQiKSx2PWcudGV4dENvbnRlbnQ7Zy50ZXh0Q29udGVudD0iQ29waWVkISIsby5jbGFzc0xpc3QuYWRkKCJjb3BpZWQiKSxzZXRUaW1lb3V0KCgpPT57Zy50ZXh0Q29udGVudD12LG8uY2xhc3NMaXN0LnJlbW92ZSgiY29waWVkIil9LDJlMyl9Y2F0Y2goZyl7Y29uc29sZS5lcnJvcigiRmFsbGJhY2sgY29weSBmYWlsZWQ6IixnKX1kb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHApfX0pO2xldCBoPSExO3MuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57aD0hMCxuLmNsYXNzTGlzdC5hZGQoImVkaXRpbmciKTtsZXQgdT1zLnRleHRDb250ZW50fHwiIjtzLnRleHRDb250ZW50PXUscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57bGV0IGY9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxwPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtzLmZpcnN0Q2hpbGQmJihmLnNldFN0YXJ0KHMuZmlyc3RDaGlsZCwwKSxmLmNvbGxhcHNlKCEwKSxwPy5yZW1vdmVBbGxSYW5nZXMoKSxwPy5hZGRSYW5nZShmKSl9KSxyLm9uRm9jdXMoKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PntoPSExLG4uY2xhc3NMaXN0LnJlbW92ZSgiZWRpdGluZyIpLHRoaXMuYXBwbHlIaWdobGlnaHRpbmcoZSxhKSxyLm9uQmx1cigpfSkscy5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsdT0+e3Iub25JbnB1dCh1KSx0aGlzLnVwZGF0ZUxpbmVOdW1iZXJzKGUpLGNsZWFyVGltZW91dCh0aGlzLmhpZ2hsaWdodFRpbWVyKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdT0+e2lmKHUua2V5PT09IlRhYiIpe3UucHJldmVudERlZmF1bHQoKTtsZXQgZj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoZiYmZi5yYW5nZUNvdW50PjApe2xldCBwPWYuZ2V0UmFuZ2VBdCgwKSxnPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIgICIpO3AuaW5zZXJ0Tm9kZShnKSxwLnNldFN0YXJ0QWZ0ZXIoZykscC5zZXRFbmRBZnRlcihnKSxmLnJlbW92ZUFsbFJhbmdlcygpLGYuYWRkUmFuZ2UocCksci5vbklucHV0KG5ldyBJbnB1dEV2ZW50KCJpbnB1dCIpKSx0aGlzLnVwZGF0ZUxpbmVOdW1iZXJzKGUpfXJldHVybn1pZihbIkFycm93TGVmdCIsIkFycm93UmlnaHQiLCJBcnJvd1VwIiwiQXJyb3dEb3duIl0uaW5jbHVkZXModS5rZXkpKXtsZXQgZj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpLHA9cy50ZXh0Q29udGVudD8ubGVuZ3RofHwwO2lmKHUua2V5PT09IkFycm93TGVmdCImJmY9PT0wfHx1LmtleT09PSJBcnJvd1JpZ2h0IiYmZj09PXApe3Iub25LZXlEb3duKHUpO3JldHVybn1pZih1LmtleT09PSJBcnJvd1VwInx8dS5rZXk9PT0iQXJyb3dEb3duIil7bGV0IGc9KHMudGV4dENvbnRlbnR8fCIiKS5zcGxpdChgCmApLHY9dGhpcy5nZXRDdXJyZW50TGluZUluZGV4KHMpO2lmKHUua2V5PT09IkFycm93VXAiJiZ2PT09MHx8dS5rZXk9PT0iQXJyb3dEb3duIiYmdj09PWcubGVuZ3RoLTEpe3Iub25LZXlEb3duKHUpO3JldHVybn19fXIub25LZXlEb3duKHUpfSkscy5hZGRFdmVudExpc3RlbmVyKCJwYXN0ZSIsdT0+e3UucHJldmVudERlZmF1bHQoKTtsZXQgZj11LmNsaXBib2FyZERhdGE/LmdldERhdGEoInRleHQvcGxhaW4iKTtpZihmKXtsZXQgcD13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYocCYmcC5yYW5nZUNvdW50PjApe2xldCBnPXAuZ2V0UmFuZ2VBdCgwKTtnLmRlbGV0ZUNvbnRlbnRzKCk7bGV0IHY9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZik7Zy5pbnNlcnROb2RlKHYpLGcuc2V0U3RhcnRBZnRlcih2KSxnLnNldEVuZEFmdGVyKHYpLHAucmVtb3ZlQWxsUmFuZ2VzKCkscC5hZGRSYW5nZShnKSxyLm9uSW5wdXQobmV3IElucHV0RXZlbnQoImlucHV0IikpLHRoaXMudXBkYXRlTGluZU51bWJlcnMoZSl9fX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsKCk9PnIub25Db21wb3NpdGlvblN0YXJ0KCkpLHMuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25lbmQiLCgpPT5yLm9uQ29tcG9zaXRpb25FbmQoKSksYS5jb250ZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09cyYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5hcHBseUhpZ2hsaWdodGluZyhlLGEpfSl9dXBkYXRlTGluZU51bWJlcnMoZSl7bGV0IGE9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKSxyPWUucXVlcnlTZWxlY3RvcigiLmxpbmUtbnVtYmVycyIpO2lmKCFhfHwhcilyZXR1cm47bGV0IG89KGEudGV4dENvbnRlbnR8fCIiKS5zcGxpdChgCmApLmxlbmd0aHx8MSxsPSIiO2ZvcihsZXQgaD0xO2g8PW87aCsrKWwrPWA8ZGl2IGNsYXNzPSJsaW5lLW51bWJlciI+JHtofTwvZGl2PmA7ci5pbm5lckhUTUw9bH1nZXRDdXJyZW50TGluZUluZGV4KGUpe2xldCBhPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighYXx8YS5yYW5nZUNvdW50PT09MClyZXR1cm4gMDtsZXQgcj1hLmdldFJhbmdlQXQoMCkscz1yLmNsb25lUmFuZ2UoKTtyZXR1cm4gcy5zZWxlY3ROb2RlQ29udGVudHMoZSkscy5zZXRFbmQoci5zdGFydENvbnRhaW5lcixyLnN0YXJ0T2Zmc2V0KSxzLnRvU3RyaW5nKCkuc3BsaXQoYApgKS5sZW5ndGgtMX1hc3luYyBhcHBseUhpZ2hsaWdodGluZyhlLGEpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik7aWYoIXIpcmV0dXJuO3RoaXMuaGlnaGxpZ2h0SnN8fCh0aGlzLmhpZ2hsaWdodEpzPWF3YWl0IHJyLmdldEluc3RhbmNlKCkubG9hZEhpZ2hsaWdodEpzKCkpO2xldCBzPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSksbj1yLnRleHRDb250ZW50fHwiIixvPWEubWV0YWRhdGE/Lmxhbmd1YWdlfHwidHlwZXNjcmlwdCI7dHJ5e2xldCBsPXRoaXMuaGlnaGxpZ2h0SnMuaGlnaGxpZ2h0KG4se2xhbmd1YWdlOm8saWdub3JlSWxsZWdhbHM6ITB9KTtsLnZhbHVlJiYoci5pbm5lckhUTUw9bC52YWx1ZSxkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09ciYmcyE9PW51bGwmJnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e1llLnNldEN1cnNvclBvc2l0aW9uKHIscyl9KSl9Y2F0Y2gobCl7Y29uc29sZS53YXJuKCJTeW50YXggaGlnaGxpZ2h0aW5nIGZhaWxlZDoiLGwpfX1lc2NhcGVIdG1sKGUpe2xldCBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBhLnRleHRDb250ZW50PWUsYS5pbm5lckhUTUx9Z2V0Q29udGVudChlKXtyZXR1cm4gZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKT8udGV4dENvbnRlbnR8fCIifXNldENvbnRlbnQoZSxhKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpO2lmKHImJihyLnRleHRDb250ZW50PWEsdGhpcy51cGRhdGVMaW5lTnVtYmVycyhlKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09cikpe2xldCBzPXtpZDpyLmRhdGFzZXQuYmxvY2tJZHx8IiIsdHlwZToiY29kZSIsY29udGVudDphLG1ldGFkYXRhOntsYW5ndWFnZTplLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWJsb2NrLWNvbnRhaW5lciIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtbGFuZ3VhZ2UiKXx8InR5cGVzY3JpcHQifX07dGhpcy5hcHBseUhpZ2hsaWdodGluZyhlLHMpfX1nZXRDdXJzb3JQb3NpdGlvbihlKXtsZXQgYT1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpO2lmKCFhKXJldHVybiBudWxsO2xldCByPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighcnx8ci5yYW5nZUNvdW50PT09MClyZXR1cm4gbnVsbDtsZXQgcz1yLmdldFJhbmdlQXQoMCk7aWYoIWEuY29udGFpbnMocy5zdGFydENvbnRhaW5lcikpcmV0dXJuIG51bGw7bGV0IG49ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyZXR1cm4gbi5zZWxlY3ROb2RlQ29udGVudHMoYSksbi5zZXRFbmQocy5zdGFydENvbnRhaW5lcixzLnN0YXJ0T2Zmc2V0KSxuLnRvU3RyaW5nKCkubGVuZ3RofXNldEN1cnNvclRvU3RhcnQoZSl7bGV0IGE9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTthJiZZZS5zZXRDdXJzb3JQb3NpdGlvbihhLDApfXNldEN1cnNvclRvRW5kKGUpe2xldCBhPWUucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik7aWYoYSl7bGV0IHI9YS50ZXh0Q29udGVudD8ubGVuZ3RofHwwO1llLnNldEN1cnNvclBvc2l0aW9uKGEscil9fWZvY3VzKGUpe2UucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik/LmZvY3VzKCl9Zm9jdXNXaXRoQ3Vyc29yKGUsYT0iZW5kIil7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTtyJiYoci5mb2N1cygpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2E9PT0ic3RhcnQiP3RoaXMuc2V0Q3Vyc29yVG9TdGFydChlKTphPT09ImVuZCI/dGhpcy5zZXRDdXJzb3JUb0VuZChlKTp0eXBlb2YgYT09Im51bWJlciImJlllLnNldEN1cnNvclBvc2l0aW9uKHIsYSl9KSl9Z2V0U3BsaXRDb250ZW50KGUpe2xldCBhPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7aWYoYT09PW51bGwpcmV0dXJuIG51bGw7bGV0IHI9dGhpcy5nZXRDb250ZW50KGUpO3JldHVybntiZWZvcmU6ci5zdWJzdHJpbmcoMCxhKSxhZnRlcjpyLnN1YnN0cmluZyhhKX19Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBDb2RlIEJsb2NrIENvbnRhaW5lciAtIE1pbmltYWxpc3Qgc2hhZGNuIHN0eWxlICovCiAgICAgIC5jb2RlLWJsb2NrLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbjogMTJweCAwOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtYmxvY2stY29udGFpbmVyLnNlbGVjdGVkIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtYmxvY2stY29udGFpbmVyLmVkaXRpbmcgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogSGVhZGVyIC0gU2ltcGxpZmllZCAqLwogICAgICAuY29kZS1oZWFkZXIgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQogICAgICAKICAgICAgLmxhbmd1YWdlLXNlbGVjdG9yIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNmI3MjgwIiwiIzljYTNhZiIpfTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBmb250LWZhbWlseTogJHtnYX07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC5sYW5ndWFnZS1zZWxlY3Rvcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmOWZhZmIiLCIjMWYyOTM3Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5sYW5ndWFnZS1zZWxlY3Rvcjpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIENvcHkgQnV0dG9uIC0gTWluaW1hbCAqLwogICAgICAuY29weS1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LWZhbWlseTogJHtnYX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb3B5LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmOWZhZmIiLCIjMWYyOTM3Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb3B5LWJ1dHRvbjphY3RpdmUgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb3B5LWJ1dHRvbi5jb3BpZWQgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA1OTY2OSIsIiMxMGI5ODEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb3B5LWljb24gewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktYnV0dG9uOmhvdmVyIC5jb3B5LWljb24gewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb3B5LXRleHQgewogICAgICAgIG1pbi13aWR0aDogNDBweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIENvZGUgQm9keSAqLwogICAgICAuY29kZS1ib2R5IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIExpbmUgTnVtYmVycyAtIFN1YnRsZSAqLwogICAgICAubGluZS1udW1iZXJzIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDA7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgbWluLXdpZHRoOiA0MHB4OwogICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmxpbmUtbnVtYmVyIHsKICAgICAgICBwYWRkaW5nOiAwIDEycHggMCA4cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjOWNhM2FmIiwiIzRiNTU2MyIpfTsKICAgICAgICBmb250LWZhbWlseTogJHt0Nn07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgfQogICAgICAKICAgICAgLyogQ29kZSBDb250ZW50ICovCiAgICAgIC5jb2RlLWNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLXByZSB7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBmb250LWZhbWlseTogJHt0Nn07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBtaW4taGVpZ2h0OiA2MHB4OwogICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOwogICAgICB9CiAgICAgIAogICAgICAvKiBQbGFjZWhvbGRlciAqLwogICAgICAuY29kZS1lZGl0b3I6ZW1wdHk6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogIi8vIFR5cGUgb3IgcGFzdGUgY29kZSBoZXJlLi4uIjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNGI1NTYzIil9OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICAgIAogICAgICAvKiBXaGVuIGVkaXRpbmcgKGZvY3VzZWQpLCBzaG93IGdyZXkgdGV4dCB3aXRob3V0IGhpZ2hsaWdodGluZyAqLwogICAgICAuY29kZS1ibG9jay1jb250YWluZXIuZWRpdGluZyAuY29kZS1lZGl0b3IgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX0gIWltcG9ydGFudDsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtYmxvY2stY29udGFpbmVyLmVkaXRpbmcgLmNvZGUtZWRpdG9yICogewogICAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFN5bnRheCBIaWdobGlnaHRpbmcgLSBNdXRlZCBjb2xvcnMgKi8KICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWtleXdvcmQgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXN0cmluZyB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDU5NjY5IiwiIzEwYjk4MSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLW51bWJlciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjN2MzYWVkIiwiI2E3OGJmYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWZ1bmN0aW9uIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtY29tbWVudCB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNmI3MjgwIiwiIzZiNzI4MCIpfTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy12YXJpYWJsZSwKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWF0dHIgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2VhNTgwYyIsIiNmYjkyM2MiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1jbGFzcywKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXRpdGxlIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1wYXJhbXMgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1idWlsdF9pbiB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjN2MzYWVkIiwiI2E3OGJmYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWxpdGVyYWwgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzdjM2FlZCIsIiNhNzhiZmEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1tZXRhIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtcHVuY3R1YXRpb24gewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzM3NDE1MSIsIiNkMWQ1ZGIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy10YWcgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1hdHRyaWJ1dGUgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1zZWxlY3Rvci10YWcgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1zZWxlY3Rvci1jbGFzcyB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXNlbGVjdG9yLWlkIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3YzNhZWQiLCIjYTc4YmZhIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBTZWxlY3Rpb24gKi8KICAgICAgLmNvZGUtZWRpdG9yOjpzZWxlY3Rpb24sCiAgICAgIC5jb2RlLWVkaXRvciAqOjpzZWxlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDk5LCAxMDIsIDI0MSwgMC4yKSIsInJnYmEoOTksIDEwMiwgMjQxLCAwLjMpIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBTY3JvbGxiYXIgc3R5bGluZyAtIE1pbmltYWwgKi8KICAgICAgLmNvZGUtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIGhlaWdodDogNnB4OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2QxZDVkYiIsIiM0YjU1NjMiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICB9CiAgICBgfX19KTt2YXIgckIsa1p0PWMoKCk9PntNaSgpO3BlKCk7UG8oKTtUMigpO3JCPWNsYXNzIGV4dGVuZHMgT2F7c3RhdGlje2kodGhpcywiTGlzdEJsb2NrSGFuZGxlciIpfXR5cGU9Imxpc3QiO2xhc3RLbm93bkN1cnNvclBvc2l0aW9uPTA7bGFzdFNlbGVjdGVkVGV4dD0iIjtzZWxlY3Rpb25IYW5kbGVyPW51bGw7cmVuZGVyKGUsYSl7bGV0IHI9YT8iIHNlbGVjdGVkIjoiIixuPShlLm1ldGFkYXRhPy5saXN0VHlwZXx8InVub3JkZXJlZCIpPT09Im9yZGVyZWQiPyJvbCI6InVsIixvPXRoaXMucmVuZGVyTGlzdENvbnRlbnQoZS5jb250ZW50LGUubWV0YWRhdGEpO3JldHVybmAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJibG9jayBsaXN0JHtyfSIKICAgICAgICBjb250ZW50ZWRpdGFibGU9InRydWUiCiAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICBkYXRhLWJsb2NrLXR5cGU9IiR7ZS50eXBlfSIKICAgICAgPiR7b308L2Rpdj4KICAgIGB9cmVuZGVyTGlzdENvbnRlbnQoZSxhKXtpZighZSlyZXR1cm4iPHVsPjxsaT48L2xpPjwvdWw+IjtsZXQgcz0oYT8ubGlzdFR5cGV8fCJ1bm9yZGVyZWQiKT09PSJvcmRlcmVkIj8ib2wiOiJ1bCIsbj1lLnNwbGl0KGAKYCkuZmlsdGVyKGw9PmwudHJpbSgpKTtpZihuLmxlbmd0aD09PTApcmV0dXJuYDwke3N9PjxsaT48L2xpPjwvJHtzfT5gO2xldCBvPW4ubWFwKGw9PmA8bGk+JHtsfTwvbGk+YCkuam9pbigiIik7cmV0dXJuYDwke3N9PiR7b308LyR7c30+YH1zZXR1cChlLGEscil7bGV0IHM9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2subGlzdCIpO2lmKCFzKXtjb25zb2xlLmVycm9yKCJMaXN0QmxvY2tIYW5kbGVyLnNldHVwOiBObyBsaXN0IGJsb2NrIGVsZW1lbnQgZm91bmQiKTtyZXR1cm59YS5jb250ZW50JiYhcy5pbm5lckhUTUwmJihzLmlubmVySFRNTD10aGlzLnJlbmRlckxpc3RDb250ZW50KGEuY29udGVudCxhLm1ldGFkYXRhKSkscy5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsbj0+e3Iub25JbnB1dChuKTtsZXQgbz10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO28hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1vKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbj0+e2xldCBvPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7aWYobyE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW8pLG4ua2V5PT09IkVudGVyIiYmIW4uc2hpZnRLZXkpe2xldCBsPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihsJiZsLnJhbmdlQ291bnQ+MCl7bGV0IHU9bC5nZXRSYW5nZUF0KDApLnN0YXJ0Q29udGFpbmVyLnBhcmVudEVsZW1lbnQ/LmNsb3Nlc3QoImxpIik7aWYodSYmdS50ZXh0Q29udGVudD09PSIiKXtuLnByZXZlbnREZWZhdWx0KCksci5vbktleURvd24obik7cmV0dXJufX19ci5vbktleURvd24obil9KSxzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+e3Iub25Gb2N1cygpfSkscy5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e3Iub25CbHVyKCl9KSxzLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uc3RhcnQiLCgpPT57ci5vbkNvbXBvc2l0aW9uU3RhcnQoKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25lbmQiLCgpPT57ci5vbkNvbXBvc2l0aW9uRW5kKCl9KSxzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLG49PntsZXQgbz10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO28hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1vKSxyLm9uTW91c2VVcD8uKG4pfSkscy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbj0+e3NldFRpbWVvdXQoKCk9PntsZXQgbz10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO28hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1vKX0sMCl9KSxzLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixuPT57bGV0IG89dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtvIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249byl9KSx0aGlzLnNldHVwU2VsZWN0aW9uSGFuZGxlcihlLHMsYSl9c2V0dXBTZWxlY3Rpb25IYW5kbGVyKGUsYSxyKXtsZXQgcz1pKCgpPT57bGV0IG89d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFvfHxvLnJhbmdlQ291bnQ9PT0wKXJldHVybjtsZXQgbD1vLnRvU3RyaW5nKCk7aWYobC5sZW5ndGg9PT0wKXt0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUse3RleHQ6IiIsYmxvY2tJZDpyLmlkLGhhc1NlbGVjdGlvbjohMX0pKTtyZXR1cm59bGV0IGg9YS5nZXRSb290Tm9kZSgpLmhvc3QsZj1oPy5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxwPWg/LnNoYWRvd1Jvb3QsZz1bXTtmJiZnLnB1c2goZikscCYmZy5wdXNoKHApO2xldCB2PVllLmdldFNlbGVjdGlvbkluZm8oLi4uZyk7aWYoIXYpcmV0dXJuO2xldCB4PVllLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKGEsdi5zdGFydENvbnRhaW5lciksYj1ZZS5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShhLHYuZW5kQ29udGFpbmVyKTtpZih4fHxiKXtpZihsIT09dGhpcy5sYXN0U2VsZWN0ZWRUZXh0KXt0aGlzLmxhc3RTZWxlY3RlZFRleHQ9bDtsZXQgbT1ZZS5jcmVhdGVSYW5nZUZyb21JbmZvKHYpLHk9bS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSx7dGV4dDpsLnRyaW0oKSxibG9ja0lkOnIuaWQscmFuZ2U6bSxyZWN0OnksaGFzU2VsZWN0aW9uOiEwfSl9fWVsc2UgdGhpcy5sYXN0U2VsZWN0ZWRUZXh0JiYodGhpcy5sYXN0U2VsZWN0ZWRUZXh0PSIiLHRoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHt0ZXh0OiIiLGJsb2NrSWQ6ci5pZCxoYXNTZWxlY3Rpb246ITF9KSl9LCJjaGVja1NlbGVjdGlvbiIpO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIscyksdGhpcy5zZWxlY3Rpb25IYW5kbGVyPXM7bGV0IG49YS5nZXRSb290Tm9kZSgpLmhvc3Q7aWYobil7bGV0IG89bi5kaXNjb25uZWN0ZWRDYWxsYmFjaztuLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWFzeW5jIGZ1bmN0aW9uKCl7dGhpcy5zZWxlY3Rpb25IYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIix0aGlzLnNlbGVjdGlvbkhhbmRsZXIpLHRoaXMuc2VsZWN0aW9uSGFuZGxlcj1udWxsKSxvJiZhd2FpdCBvLmNhbGwobil9LmJpbmQodGhpcyl9fWRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSxhKXtsZXQgcj1uZXcgQ3VzdG9tRXZlbnQoImJsb2NrLXRleHQtc2VsZWN0ZWQiLHtkZXRhaWw6YSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSk7ZS5kaXNwYXRjaEV2ZW50KHIpfWdldFN0eWxlcygpe3JldHVybmAKICAgICAgLyogTGlzdCBzcGVjaWZpYyBzdHlsZXMgKi8KICAgICAgLmJsb2NrLmxpc3QgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5ibG9jay5saXN0IHVsLAogICAgICAuYmxvY2subGlzdCBvbCB7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBhZGRpbmctbGVmdDogMjRweDsKICAgICAgfQogICAgICAKICAgICAgLmJsb2NrLmxpc3QgbGkgewogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgfQogICAgICAKICAgICAgLmJsb2NrLmxpc3QgbGk6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQogICAgYH1nZXRQbGFjZWhvbGRlcigpe3JldHVybiIifWdldEN1cnNvclBvc2l0aW9uKGUsYSl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2subGlzdCIpO2lmKCFyKXJldHVybiBudWxsO2xldCBvPWE/LmNvbXBvbmVudD8uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIik/LnNoYWRvd1Jvb3QsbD1hPy5zaGFkb3dSb290LGg9W107byYmaC5wdXNoKG8pLGwmJmgucHVzaChsKTtsZXQgdT1ZZS5nZXRTZWxlY3Rpb25JbmZvKC4uLmgpO2lmKCF1fHwhWWUuY29udGFpbnNBY3Jvc3NTaGFkb3dET00ocix1LnN0YXJ0Q29udGFpbmVyKSlyZXR1cm4gbnVsbDtsZXQgZj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiBmLnNlbGVjdE5vZGVDb250ZW50cyhyKSxmLnNldEVuZCh1LnN0YXJ0Q29udGFpbmVyLHUuc3RhcnRPZmZzZXQpLGYudG9TdHJpbmcoKS5sZW5ndGh9Z2V0Q29udGVudChlLGEpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLmxpc3QiKTtpZighcilyZXR1cm4iIjtsZXQgcz1yLnF1ZXJ5U2VsZWN0b3JBbGwoImxpIik7cmV0dXJuIEFycmF5LmZyb20ocykubWFwKG89Pm8udGV4dENvbnRlbnR8fCIiKS5qb2luKGAKYCl9c2V0Q29udGVudChlLGEscil7bGV0IHM9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2subGlzdCIpO2lmKCFzKXJldHVybjtsZXQgbj1kb2N1bWVudC5hY3RpdmVFbGVtZW50PT09c3x8ZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09cyxsPXMucXVlcnlTZWxlY3RvcigidWwsIG9sIik/LnRhZ05hbWU9PT0iT0wiO3MuaW5uZXJIVE1MPXRoaXMucmVuZGVyTGlzdENvbnRlbnQoYSx7bGlzdFR5cGU6bD8ib3JkZXJlZCI6InVub3JkZXJlZCJ9KSxuJiZzLmZvY3VzKCl9c2V0Q3Vyc29yVG9TdGFydChlLGEpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLmxpc3QiKTtpZighcilyZXR1cm47bGV0IHM9ci5xdWVyeVNlbGVjdG9yKCJsaSIpO2lmKHMpe2xldCBuPXRoaXMuZ2V0Rmlyc3RUZXh0Tm9kZShzKTtpZihuKXtsZXQgbz1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLGw9d2luZG93LmdldFNlbGVjdGlvbigpO28uc2V0U3RhcnQobiwwKSxvLnNldEVuZChuLDApLGw/LnJlbW92ZUFsbFJhbmdlcygpLGw/LmFkZFJhbmdlKG8pfX19c2V0Q3Vyc29yVG9FbmQoZSxhKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0Iik7aWYoIXIpcmV0dXJuO2xldCBzPXIucXVlcnlTZWxlY3RvcigibGk6bGFzdC1jaGlsZCIpO2lmKHMpe2xldCBuPXRoaXMuZ2V0TGFzdFRleHROb2RlKHMpO2lmKG4pe2xldCBvPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCksbD13aW5kb3cuZ2V0U2VsZWN0aW9uKCksaD1uLnRleHRDb250ZW50Py5sZW5ndGh8fDA7by5zZXRTdGFydChuLGgpLG8uc2V0RW5kKG4saCksbD8ucmVtb3ZlQWxsUmFuZ2VzKCksbD8uYWRkUmFuZ2Uobyl9fX1nZXRGaXJzdFRleHROb2RlKGUpe2lmKGUubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSlyZXR1cm4gZTtmb3IobGV0IGE9MDthPGUuY2hpbGROb2Rlcy5sZW5ndGg7YSsrKXtsZXQgcj10aGlzLmdldEZpcnN0VGV4dE5vZGUoZS5jaGlsZE5vZGVzW2FdKTtpZihyKXJldHVybiByfXJldHVybiBudWxsfWdldExhc3RUZXh0Tm9kZShlKXtpZihlLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpcmV0dXJuIGU7Zm9yKGxldCBhPWUuY2hpbGROb2Rlcy5sZW5ndGgtMTthPj0wO2EtLSl7bGV0IHI9dGhpcy5nZXRMYXN0VGV4dE5vZGUoZS5jaGlsZE5vZGVzW2FdKTtpZihyKXJldHVybiByfXJldHVybiBudWxsfWZvY3VzKGUsYSl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2subGlzdCIpO3ImJihyLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fHIuc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIiksci5mb2N1cygpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1yJiZlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQhPT1yJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57ci5mb2N1cygpfSkpfWZvY3VzV2l0aEN1cnNvcihlLGE9ImVuZCIscil7bGV0IHM9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2subGlzdCIpO2lmKCFzKXJldHVybjtzLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fHMuc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIikscy5mb2N1cygpO2xldCBuPWkoKCk9PnthPT09InN0YXJ0Ij90aGlzLnNldEN1cnNvclRvU3RhcnQoZSxyKTphPT09ImVuZCI/dGhpcy5zZXRDdXJzb3JUb0VuZChlLHIpOnR5cGVvZiBhPT0ibnVtYmVyIiYmdGhpcy5zZXRDdXJzb3JUb0VuZChlLHIpfSwic2V0Q3Vyc29yIik7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PXN8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PXM/bigpOlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnsoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PXN8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PXMpJiZuKCl9KX1nZXRTcGxpdENvbnRlbnQoZSxhKXtyZXR1cm4gZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2subGlzdCIpLG51bGx9fX0pO3ZhciBpQix6WnQ9YygoKT0+e01pKCk7cGUoKTtpQj1jbGFzcyBleHRlbmRzIE9he3N0YXRpY3tpKHRoaXMsIkltYWdlQmxvY2tIYW5kbGVyIil9dHlwZT0iaW1hZ2UiO3JlbmRlcihlLGEpe2xldCByPWUubWV0YWRhdGE/LnVybCxzPWUuY29udGVudHx8IkltYWdlIixuPWUubWV0YWRhdGE/LmxvYWRpbmc7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJpbWFnZS1ibG9jay1jb250YWluZXIke2E/IiBzZWxlY3RlZCI6IiJ9IiAKICAgICAgICAgICBkYXRhLWJsb2NrLWlkPSIke2UuaWR9IgogICAgICAgICAgIGRhdGEtaGFzLWltYWdlPSIkeyEhcn0iCiAgICAgICAgICAgdGFiaW5kZXg9IjAiPgogICAgICAgICR7bj90aGlzLnJlbmRlckxvYWRpbmcoKTpyP3RoaXMucmVuZGVySW1hZ2UocixzKTp0aGlzLnJlbmRlclBsYWNlaG9sZGVyKCl9CiAgICAgICAgPGlucHV0IHR5cGU9ImZpbGUiIAogICAgICAgICAgICAgICBjbGFzcz0iaW1hZ2UtZmlsZS1pbnB1dCIgCiAgICAgICAgICAgICAgIGFjY2VwdD0iaW1hZ2UvKiIgCiAgICAgICAgICAgICAgIHN0eWxlPSJkaXNwbGF5OiBub25lOyIgLz4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclBsYWNlaG9sZGVyKCl7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJpbWFnZS11cGxvYWQtcGxhY2Vob2xkZXIiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJ1cGxvYWQtaWNvbiIgc3R5bGU9InBvaW50ZXItZXZlbnRzOiBub25lOyI+CiAgICAgICAgICA8c3ZnIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPgogICAgICAgICAgICA8cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIyIiByeT0iMiIvPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSI4LjUiIGN5PSI4LjUiIHI9IjEuNSIvPgogICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIyMSAxNSAxNiAxMCA1IDIxIi8+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ1cGxvYWQtdGV4dCIgc3R5bGU9InBvaW50ZXItZXZlbnRzOiBub25lOyI+Q2xpY2sgdG8gdXBsb2FkIGFuIGltYWdlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idXBsb2FkLWhpbnQiIHN0eWxlPSJwb2ludGVyLWV2ZW50czogbm9uZTsiPm9yIGRyYWcgYW5kIGRyb3A8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckltYWdlKGUsYSl7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJpbWFnZS1jb250YWluZXIiPgogICAgICAgIDxpbWcgc3JjPSIke2V9IiBhbHQ9IiR7dGhpcy5lc2NhcGVIdG1sKGEpfSIgLz4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckxvYWRpbmcoKXtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9ImltYWdlLWxvYWRpbmciPgogICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy10ZXh0Ij5VcGxvYWRpbmcgaW1hZ2UuLi48L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXNldHVwKGUsYSxyKXtsZXQgcz1lLnF1ZXJ5U2VsZWN0b3IoIi5pbWFnZS1ibG9jay1jb250YWluZXIiKSxuPWUucXVlcnlTZWxlY3RvcigiLmltYWdlLWZpbGUtaW5wdXQiKTtpZighcyl7Y29uc29sZS5lcnJvcigiSW1hZ2VCbG9ja0hhbmRsZXI6IENvdWxkIG5vdCBmaW5kIGNvbnRhaW5lciIpO3JldHVybn1pZighbil7Y29uc29sZS5lcnJvcigiSW1hZ2VCbG9ja0hhbmRsZXI6IENvdWxkIG5vdCBmaW5kIGZpbGUgaW5wdXQiKTtyZXR1cm59bGV0IG89cy5xdWVyeVNlbGVjdG9yKCIuaW1hZ2UtdXBsb2FkLXBsYWNlaG9sZGVyIik7byYmby5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbD0+e2wucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpLGNvbnNvbGUubG9nKCJJbWFnZUJsb2NrSGFuZGxlcjogUGxhY2Vob2xkZXIgY2xpY2tlZCwgb3BlbmluZyBmaWxlIHNlbGVjdG9yIiksbi5jbGljaygpfSkscy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntyLm9uRm9jdXMoKX0pLG4uYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhc3luYyBsPT57bGV0IHU9bC50YXJnZXQuZmlsZXM/LlswXTt1JiYoY29uc29sZS5sb2coIkltYWdlQmxvY2tIYW5kbGVyOiBGaWxlIHNlbGVjdGVkOiIsdS5uYW1lKSxhd2FpdCB0aGlzLmhhbmRsZUZpbGVVcGxvYWQodSxhLHIpKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLGw9PntsLnByZXZlbnREZWZhdWx0KCksbC5zdG9wUHJvcGFnYXRpb24oKSxhLm1ldGFkYXRhPy51cmx8fHMuY2xhc3NMaXN0LmFkZCgiZHJhZy1vdmVyIil9KSxzLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdsZWF2ZSIsbD0+e2wucHJldmVudERlZmF1bHQoKSxsLnN0b3BQcm9wYWdhdGlvbigpLHMuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyIil9KSxzLmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLGFzeW5jIGw9PntsLnByZXZlbnREZWZhdWx0KCksbC5zdG9wUHJvcGFnYXRpb24oKSxzLmNsYXNzTGlzdC5yZW1vdmUoImRyYWctb3ZlciIpO2xldCBoPWwuZGF0YVRyYW5zZmVyPy5maWxlc1swXTtoJiZoLnR5cGUuc3RhcnRzV2l0aCgiaW1hZ2UvIikmJiFhLm1ldGFkYXRhPy51cmwmJmF3YWl0IHRoaXMuaGFuZGxlRmlsZVVwbG9hZChoLGEscil9KSxzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+ci5vbkZvY3VzKCkpLHMuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PnIub25CbHVyKCkpLHMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbD0+e2lmKChsLmtleT09PSJEZWxldGUifHxsLmtleT09PSJCYWNrc3BhY2UiKSYmYS5tZXRhZGF0YT8udXJsKXthLm1ldGFkYXRhLnVybD12b2lkIDAsYS5tZXRhZGF0YS5sb2FkaW5nPSExLGEuY29udGVudD0iIixyLm9uSW5wdXQobmV3IElucHV0RXZlbnQoImlucHV0IikpO3JldHVybn1yLm9uS2V5RG93bihsKX0pfWFzeW5jIGhhbmRsZUZpbGVVcGxvYWQoZSxhLHIpe2lmKGNvbnNvbGUubG9nKCJJbWFnZUJsb2NrSGFuZGxlcjogU3RhcnRpbmcgZmlsZSB1cGxvYWQiLHtmaWxlTmFtZTplLm5hbWUsZmlsZVNpemU6ZS5zaXplLGJsb2NrSWQ6YS5pZH0pLCFlLnR5cGUuc3RhcnRzV2l0aCgiaW1hZ2UvIikpe2NvbnNvbGUuZXJyb3IoIkludmFsaWQgZmlsZSB0eXBlOiIsZS50eXBlKTtyZXR1cm59bGV0IHM9MTAqMTAyNCoxMDI0O2lmKGUuc2l6ZT5zKXtjb25zb2xlLmVycm9yKCJGaWxlIHRvbyBsYXJnZS4gTWF4aW11bSBzaXplIGlzIDEwTUIiKTtyZXR1cm59YS5tZXRhZGF0YXx8KGEubWV0YWRhdGE9e30pLGEubWV0YWRhdGEubG9hZGluZz0hMCxhLm1ldGFkYXRhLmZpbGVOYW1lPWUubmFtZSxhLm1ldGFkYXRhLmZpbGVTaXplPWUuc2l6ZSxhLm1ldGFkYXRhLm1pbWVUeXBlPWUudHlwZSxjb25zb2xlLmxvZygiSW1hZ2VCbG9ja0hhbmRsZXI6IFNldCBsb2FkaW5nIHN0YXRlLCByZXF1ZXN0aW5nIHVwZGF0ZSIpLHIub25SZXF1ZXN0VXBkYXRlPy4oKTt0cnl7bGV0IG49YXdhaXQgdGhpcy5maWxlVG9EYXRhVXJsKGUpO2EubWV0YWRhdGEudXJsPW4sYS5tZXRhZGF0YS5sb2FkaW5nPSExO2xldCBvPWUubmFtZS5yZXBsYWNlKC9cLlteLy5dKyQvLCIiKTthLmNvbnRlbnQ9byxjb25zb2xlLmxvZygiSW1hZ2VCbG9ja0hhbmRsZXI6IFVwbG9hZCBjb21wbGV0ZSwgcmVxdWVzdGluZyB1cGRhdGUiLHtoYXNVcmw6ISFhLm1ldGFkYXRhLnVybCx1cmxMZW5ndGg6bi5sZW5ndGgsYWx0VGV4dDphLmNvbnRlbnR9KSxyLm9uUmVxdWVzdFVwZGF0ZT8uKCl9Y2F0Y2gobil7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHVwbG9hZCBpbWFnZToiLG4pLGEubWV0YWRhdGEubG9hZGluZz0hMSxyLm9uUmVxdWVzdFVwZGF0ZT8uKCl9fWZpbGVUb0RhdGFVcmwoZSl7cmV0dXJuIG5ldyBQcm9taXNlKChhLHIpPT57bGV0IHM9bmV3IEZpbGVSZWFkZXI7cy5vbmxvYWQ9bj0+e2xldCBvPW4udGFyZ2V0Py5yZXN1bHQ7dHlwZW9mIG89PSJzdHJpbmciP2Eobyk6cihuZXcgRXJyb3IoIkZhaWxlZCB0byByZWFkIGZpbGUiKSl9LHMub25lcnJvcj1yLHMucmVhZEFzRGF0YVVSTChlKX0pfWVzY2FwZUh0bWwoZSl7bGV0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGEudGV4dENvbnRlbnQ9ZSxhLmlubmVySFRNTH1nZXRDb250ZW50KGUpe3JldHVybiB0aGlzLmdldEJsb2NrRnJvbUVsZW1lbnQoZSk/LmNvbnRlbnR8fCIifXNldENvbnRlbnQoZSxhKXtsZXQgcj10aGlzLmdldEJsb2NrRnJvbUVsZW1lbnQoZSk7ciYmKHIuY29udGVudD1hKX1nZXRCbG9ja0Zyb21FbGVtZW50KGUpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmltYWdlLWJsb2NrLWNvbnRhaW5lciIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKTtyZXR1cm4gcj97aWQ6cix0eXBlOiJpbWFnZSIsY29udGVudDoiIixtZXRhZGF0YTp7fX06bnVsbH1nZXRDdXJzb3JQb3NpdGlvbihlKXtyZXR1cm4gbnVsbH1zZXRDdXJzb3JUb1N0YXJ0KGUpe3RoaXMuZm9jdXMoZSl9c2V0Q3Vyc29yVG9FbmQoZSl7dGhpcy5mb2N1cyhlKX1mb2N1cyhlKXtlLnF1ZXJ5U2VsZWN0b3IoIi5pbWFnZS1ibG9jay1jb250YWluZXIiKT8uZm9jdXMoKX1mb2N1c1dpdGhDdXJzb3IoZSxhPSJlbmQiKXt0aGlzLmZvY3VzKGUpfWdldFNwbGl0Q29udGVudChlKXtyZXR1cm4gbnVsbH1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIEltYWdlIEJsb2NrIENvbnRhaW5lciAqLwogICAgICAuaW1hZ2UtYmxvY2stY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luOiAxMnB4IDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KICAgICAgCiAgICAgIC5pbWFnZS1ibG9jay1jb250YWluZXIuc2VsZWN0ZWQgewogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2QuYmRUaGVtZSgiIzYzNjZmMSIsIiM4MThjZjgiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFVwbG9hZCBQbGFjZWhvbGRlciAqLwogICAgICAuaW1hZ2UtdXBsb2FkLXBsYWNlaG9sZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA0OHB4IDI0cHg7CiAgICAgICAgYm9yZGVyOiAycHggZGFzaGVkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAuaW1hZ2UtYmxvY2stY29udGFpbmVyOmhvdmVyIC5pbWFnZS11cGxvYWQtcGxhY2Vob2xkZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjlmYWZiIiwiIzExMTgyNyIpfTsKICAgICAgfQogICAgICAKICAgICAgLmltYWdlLWJsb2NrLWNvbnRhaW5lci5kcmFnLW92ZXIgLmltYWdlLXVwbG9hZC1wbGFjZWhvbGRlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiIzYzNjZmMSIsIiM4MThjZjgiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlZmY2ZmYiLCIjMWUxYjRiIil9OwogICAgICB9CiAgICAgIAogICAgICAudXBsb2FkLWljb24gewogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjOWNhM2FmIiwiIzRiNTU2MyIpfTsKICAgICAgfQogICAgICAKICAgICAgLnVwbG9hZC10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQogICAgICAKICAgICAgLnVwbG9hZC1oaW50IHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogSW1hZ2UgQ29udGFpbmVyICovCiAgICAgIC5pbWFnZS1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxMTE4MjciKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5pbWFnZS1jb250YWluZXIgaW1nIHsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQogICAgICAKICAgICAgLyogTG9hZGluZyBTdGF0ZSAqLwogICAgICAuaW1hZ2UtbG9hZGluZyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNDhweCAyNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmxvYWRpbmctc3Bpbm5lciB7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke2QuYmRUaGVtZSgiIzYzNjZmMSIsIiM4MThjZjgiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICB9CiAgICAgIAogICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQogICAgICB9CiAgICAgIAogICAgICAubG9hZGluZy10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNmI3MjgwIiwiIzljYTNhZiIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogRmlsZSBpbnB1dCBoaWRkZW4gKi8KICAgICAgLmltYWdlLWZpbGUtaW5wdXQgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQogICAgYH19fSk7dmFyIHNCLFNadD1jKCgpPT57TWkoKTtwZSgpO3NCPWNsYXNzIGV4dGVuZHMgT2F7c3RhdGlje2kodGhpcywiWW91VHViZUJsb2NrSGFuZGxlciIpfXR5cGU9InlvdXR1YmUiO3JlbmRlcihlLGEpe2xldCByPWUubWV0YWRhdGE/LnZpZGVvSWQscz1lLm1ldGFkYXRhPy51cmx8fCIiO3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0ieW91dHViZS1ibG9jay1jb250YWluZXIke2E/IiBzZWxlY3RlZCI6IiJ9IiAKICAgICAgICAgICBkYXRhLWJsb2NrLWlkPSIke2UuaWR9IgogICAgICAgICAgIGRhdGEtaGFzLXZpZGVvPSIkeyEhcn0iPgogICAgICAgICR7cj90aGlzLnJlbmRlclZpZGVvKHIpOnRoaXMucmVuZGVyUGxhY2Vob2xkZXIocyl9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJQbGFjZWhvbGRlcihlKXtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9InlvdXR1YmUtcGxhY2Vob2xkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InBsYWNlaG9sZGVyLWljb24iPgogICAgICAgICAgPHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgPHBhdGggZD0iTTE5LjYxNSAzLjE4NGMtMy42MDQtLjI0Ni0xMS42MzEtLjI0NS0xNS4yMyAwLTMuODk3LjI2Ni00LjM1NiAyLjYyLTQuMzg1IDguODE2LjAyOSA2LjE4NS40ODQgOC41NDkgNC4zODUgOC44MTYgMy42LjI0NSAxMS42MjYuMjQ2IDE1LjIzIDAgMy44OTctLjI2NiA0LjM1Ni0yLjYyIDQuMzg1LTguODE2LS4wMjktNi4xODUtLjQ4NC04LjU0OS00LjM4NS04LjgxNnptLTEwLjYxNSAxMi44MTZ2LThsOCAzLjk5My04IDQuMDA3eiIvPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icGxhY2Vob2xkZXItdGV4dCI+RW50ZXIgWW91VHViZSBVUkw8L2Rpdj4KICAgICAgICA8aW5wdXQgdHlwZT0idXJsIiAKICAgICAgICAgICAgICAgY2xhc3M9InlvdXR1YmUtdXJsLWlucHV0IiAKICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Imh0dHBzOi8veW91dHViZS5jb20vd2F0Y2g/dj0uLi4iIAogICAgICAgICAgICAgICB2YWx1ZT0iJHt0aGlzLmVzY2FwZUh0bWwoZSl9IiAvPgogICAgICAgIDxidXR0b24gY2xhc3M9InlvdXR1YmUtZW1iZWQtYnRuIj5FbWJlZCBWaWRlbzwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyVmlkZW8oZSl7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJ5b3V0dWJlLWNvbnRhaW5lciI+CiAgICAgICAgPGlmcmFtZSAKICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cueW91dHViZS5jb20vZW1iZWQvJHtlfSIKICAgICAgICAgIGZyYW1lYm9yZGVyPSIwIgogICAgICAgICAgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiCiAgICAgICAgICBhbGxvd2Z1bGxzY3JlZW4KICAgICAgICA+PC9pZnJhbWU+CiAgICAgIDwvZGl2PgogICAgYH1zZXR1cChlLGEscil7bGV0IHM9ZS5xdWVyeVNlbGVjdG9yKCIueW91dHViZS1ibG9jay1jb250YWluZXIiKTtpZighcylyZXR1cm47aWYoYS5tZXRhZGF0YT8udmlkZW9JZCl7cy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLHMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT5yLm9uRm9jdXMoKSkscy5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+ci5vbkJsdXIoKSkscy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixsPT57KGwua2V5PT09IkRlbGV0ZSJ8fGwua2V5PT09IkJhY2tzcGFjZSIpJiZsLnByZXZlbnREZWZhdWx0KCksci5vbktleURvd24obCl9KTtyZXR1cm59bGV0IG49ZS5xdWVyeVNlbGVjdG9yKCIueW91dHViZS11cmwtaW5wdXQiKSxvPWUucXVlcnlTZWxlY3RvcigiLnlvdXR1YmUtZW1iZWQtYnRuIik7IW58fCFvfHwobi5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PnIub25Gb2N1cygpKSxuLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT5yLm9uQmx1cigpKSxvLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3RoaXMuZW1iZWRWaWRlbyhuLnZhbHVlLGEscil9KSxuLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGw9PntsLmtleT09PSJFbnRlciI/KGwucHJldmVudERlZmF1bHQoKSx0aGlzLmVtYmVkVmlkZW8obi52YWx1ZSxhLHIpKTpsLmtleT09PSJFc2NhcGUiJiYobC5wcmV2ZW50RGVmYXVsdCgpLG4uYmx1cigpKX0pLG4uYWRkRXZlbnRMaXN0ZW5lcigicGFzdGUiLGw9PntzZXRUaW1lb3V0KCgpPT57bGV0IGg9bi52YWx1ZTt0aGlzLmV4dHJhY3RZb3VUdWJlVmlkZW9JZChoKSYmdGhpcy5lbWJlZFZpZGVvKGgsYSxyKX0sMCl9KSxuLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwoKT0+e2EubWV0YWRhdGF8fChhLm1ldGFkYXRhPXt9KSxhLm1ldGFkYXRhLnVybD1uLnZhbHVlfSkpfWVtYmVkVmlkZW8oZSxhLHIpe2xldCBzPXRoaXMuZXh0cmFjdFlvdVR1YmVWaWRlb0lkKGUpO2lmKCFzKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIFlvdVR1YmUgVVJMIik7cmV0dXJufWEubWV0YWRhdGF8fChhLm1ldGFkYXRhPXt9KSxhLm1ldGFkYXRhLnZpZGVvSWQ9cyxhLm1ldGFkYXRhLnVybD1lLGEuY29udGVudD1gWW91VHViZSBWaWRlbzogJHtzfWAsci5vblJlcXVlc3RVcGRhdGU/LigpfWV4dHJhY3RZb3VUdWJlVmlkZW9JZChlKXtsZXQgYT1bLyg/OnlvdXR1YmVcLmNvbVwvKD86W15cL10rXC8uK1wvfCg/OnZ8ZSg/Om1iZWQpPylcL3wuKls/Jl12PSl8eW91dHVcLmJlXC8pKFteIiY/XC8gXXsxMX0pLywveW91dHViZVwuY29tXC9lbWJlZFwvKFteIiY/XC8gXXsxMX0pLywveW91dHViZVwuY29tXC93YXRjaFw/dj0oW14iJj9cLyBdezExfSkvLC95b3V0dVwuYmVcLyhbXiImP1wvIF17MTF9KS9dO2ZvcihsZXQgciBvZiBhKXtsZXQgcz1lLm1hdGNoKHIpO2lmKHMpcmV0dXJuIHNbMV19cmV0dXJuIG51bGx9ZXNjYXBlSHRtbChlKXtsZXQgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gYS50ZXh0Q29udGVudD1lLGEuaW5uZXJIVE1MfWdldENvbnRlbnQoZSl7cmV0dXJuIHRoaXMuZ2V0QmxvY2tGcm9tRWxlbWVudChlKT8uY29udGVudHx8IiJ9c2V0Q29udGVudChlLGEpe2xldCByPXRoaXMuZ2V0QmxvY2tGcm9tRWxlbWVudChlKTtyJiYoci5jb250ZW50PWEpfWdldEJsb2NrRnJvbUVsZW1lbnQoZSl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIueW91dHViZS1ibG9jay1jb250YWluZXIiKT8uZ2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIik7cmV0dXJuIHI/e2lkOnIsdHlwZToieW91dHViZSIsY29udGVudDoiIixtZXRhZGF0YTp7fX06bnVsbH1nZXRDdXJzb3JQb3NpdGlvbihlKXtyZXR1cm4gbnVsbH1zZXRDdXJzb3JUb1N0YXJ0KGUpe3RoaXMuZm9jdXMoZSl9c2V0Q3Vyc29yVG9FbmQoZSl7dGhpcy5mb2N1cyhlKX1mb2N1cyhlKXtsZXQgYT1lLnF1ZXJ5U2VsZWN0b3IoIi55b3V0dWJlLWJsb2NrLWNvbnRhaW5lciIpLHI9ZS5xdWVyeVNlbGVjdG9yKCIueW91dHViZS11cmwtaW5wdXQiKTtyP3IuZm9jdXMoKTphJiZhLmZvY3VzKCl9Zm9jdXNXaXRoQ3Vyc29yKGUsYT0iZW5kIil7dGhpcy5mb2N1cyhlKX1nZXRTcGxpdENvbnRlbnQoZSl7cmV0dXJuIG51bGx9Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBZb3VUdWJlIEJsb2NrIENvbnRhaW5lciAqLwogICAgICAueW91dHViZS1ibG9jay1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW46IDEycHggMDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CiAgICAgIAogICAgICAueW91dHViZS1ibG9jay1jb250YWluZXIuc2VsZWN0ZWQgewogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2QuYmRUaGVtZSgiIzYzNjZmMSIsIiM4MThjZjgiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFlvdVR1YmUgUGxhY2Vob2xkZXIgKi8KICAgICAgLnlvdXR1YmUtcGxhY2Vob2xkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDMycHggMjRweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5wbGFjZWhvbGRlci1pY29uIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgfQogICAgICAKICAgICAgLnBsYWNlaG9sZGVyLXRleHQgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC55b3V0dWJlLXVybC1pbnB1dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzExMTgyNyIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC55b3V0dWJlLXVybC1pbnB1dDpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMWYyOTM3Iil9OwogICAgICB9CiAgICAgIAogICAgICAueW91dHViZS11cmwtaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNGI1NTYzIil9OwogICAgICB9CiAgICAgIAogICAgICAueW91dHViZS1lbWJlZC1idG4gewogICAgICAgIHBhZGRpbmc6IDZweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNmOWZhZmIiLCIjMTExODI3Iil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CiAgICAgIAogICAgICAueW91dHViZS1lbWJlZC1idG46aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLnlvdXR1YmUtZW1iZWQtYnRuOmFjdGl2ZSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQogICAgICAKICAgICAgLyogWW91VHViZSBDb250YWluZXIgKi8KICAgICAgLnlvdXR1YmUtY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgLyogMTY6OSBhc3BlY3QgcmF0aW8gKi8KICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzAwMDAwMCIsIiMwMDAwMDAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC55b3V0dWJlLWNvbnRhaW5lciBpZnJhbWUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm9yZGVyOiAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgfQogICAgYH19fSk7dmFyIG9CLENadD1jKCgpPT57TWkoKTtwZSgpO29CPWNsYXNzIGV4dGVuZHMgT2F7c3RhdGlje2kodGhpcywiQXR0YWNobWVudEJsb2NrSGFuZGxlciIpfXR5cGU9ImF0dGFjaG1lbnQiO3JlbmRlcihlLGEpe2xldCByPWUubWV0YWRhdGE/LmZpbGVzfHxbXTtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9ImF0dGFjaG1lbnQtYmxvY2stY29udGFpbmVyJHthPyIgc2VsZWN0ZWQiOiIifSIgCiAgICAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICAgICB0YWJpbmRleD0iMCI+CiAgICAgICAgPGRpdiBjbGFzcz0iYXR0YWNobWVudC1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iYXR0YWNobWVudC1pY29uIj5cdXsxRjRDRX08L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImF0dGFjaG1lbnQtdGl0bGUiPkZpbGUgQXR0YWNobWVudHM8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhdHRhY2htZW50LWxpc3QiPgogICAgICAgICAgJHtyLmxlbmd0aD4wP3RoaXMucmVuZGVyRmlsZXMocik6dGhpcy5yZW5kZXJQbGFjZWhvbGRlcigpfQogICAgICAgIDwvZGl2PgogICAgICAgIDxpbnB1dCB0eXBlPSJmaWxlIiAKICAgICAgICAgICAgICAgY2xhc3M9ImF0dGFjaG1lbnQtZmlsZS1pbnB1dCIgCiAgICAgICAgICAgICAgIG11bHRpcGxlIAogICAgICAgICAgICAgICBzdHlsZT0iZGlzcGxheTogbm9uZTsiIC8+CiAgICAgICAgJHtyLmxlbmd0aD4wPyc8YnV0dG9uIGNsYXNzPSJhZGQtbW9yZS1maWxlcyI+QWRkIE1vcmUgRmlsZXM8L2J1dHRvbj4nOiIifQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyUGxhY2Vob2xkZXIoKXtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9ImF0dGFjaG1lbnQtcGxhY2Vob2xkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InBsYWNlaG9sZGVyLXRleHQiPkNsaWNrIHRvIGFkZCBmaWxlczwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBsYWNlaG9sZGVyLWhpbnQiPm9yIGRyYWcgYW5kIGRyb3A8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckZpbGVzKGUpe3JldHVybiBlLm1hcChhPT5gCiAgICAgIDxkaXYgY2xhc3M9ImF0dGFjaG1lbnQtaXRlbSIgZGF0YS1maWxlLWlkPSIke2EuaWR9Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWljb24iPiR7dGhpcy5nZXRGaWxlSWNvbihhLnR5cGUpfTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZpbGUtaW5mbyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLW5hbWUiPiR7dGhpcy5lc2NhcGVIdG1sKGEubmFtZSl9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLXNpemUiPiR7dGhpcy5mb3JtYXRGaWxlU2l6ZShhLnNpemUpfTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxidXR0b24gY2xhc3M9InJlbW92ZS1maWxlIiBkYXRhLWZpbGUtaWQ9IiR7YS5pZH0iPlx4RDc8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICBgKS5qb2luKCIiKX1zZXR1cChlLGEscil7bGV0IHM9ZS5xdWVyeVNlbGVjdG9yKCIuYXR0YWNobWVudC1ibG9jay1jb250YWluZXIiKSxuPWUucXVlcnlTZWxlY3RvcigiLmF0dGFjaG1lbnQtZmlsZS1pbnB1dCIpO2lmKCFzfHwhbil7Y29uc29sZS5lcnJvcigiQXR0YWNobWVudEJsb2NrSGFuZGxlcjogQ291bGQgbm90IGZpbmQgcmVxdWlyZWQgZWxlbWVudHMiKTtyZXR1cm59YS5tZXRhZGF0YXx8KGEubWV0YWRhdGE9e30pLGEubWV0YWRhdGEuZmlsZXN8fChhLm1ldGFkYXRhLmZpbGVzPVtdKTtsZXQgbz1zLnF1ZXJ5U2VsZWN0b3IoIi5hdHRhY2htZW50LXBsYWNlaG9sZGVyIik7byYmby5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsaD0+e2gucHJldmVudERlZmF1bHQoKSxoLnN0b3BQcm9wYWdhdGlvbigpLG4uY2xpY2soKX0pO2xldCBsPXMucXVlcnlTZWxlY3RvcigiLmFkZC1tb3JlLWZpbGVzIik7bCYmbC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsaD0+e2gucHJldmVudERlZmF1bHQoKSxoLnN0b3BQcm9wYWdhdGlvbigpLG4uY2xpY2soKX0pLG4uYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhc3luYyBoPT57bGV0IHU9aC50YXJnZXQsZj11LmZpbGVzO2YmJmYubGVuZ3RoPjAmJihhd2FpdCB0aGlzLmhhbmRsZUZpbGVBdHRhY2htZW50cyhmLGEsciksdS52YWx1ZT0iIil9KSxzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixoPT57bGV0IHU9aC50YXJnZXQ7aWYodS5jbGFzc0xpc3QuY29udGFpbnMoInJlbW92ZS1maWxlIikpe2gucHJldmVudERlZmF1bHQoKSxoLnN0b3BQcm9wYWdhdGlvbigpO2xldCBmPXUuZ2V0QXR0cmlidXRlKCJkYXRhLWZpbGUtaWQiKTtmJiZ0aGlzLnJlbW92ZUZpbGUoZixhLHIpfX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLGg9PntoLnByZXZlbnREZWZhdWx0KCksaC5zdG9wUHJvcGFnYXRpb24oKSxzLmNsYXNzTGlzdC5hZGQoImRyYWctb3ZlciIpfSkscy5hZGRFdmVudExpc3RlbmVyKCJkcmFnbGVhdmUiLGg9PntoLnByZXZlbnREZWZhdWx0KCksaC5zdG9wUHJvcGFnYXRpb24oKSxzLmNsYXNzTGlzdC5yZW1vdmUoImRyYWctb3ZlciIpfSkscy5hZGRFdmVudExpc3RlbmVyKCJkcm9wIixhc3luYyBoPT57aC5wcmV2ZW50RGVmYXVsdCgpLGguc3RvcFByb3BhZ2F0aW9uKCkscy5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnLW92ZXIiKTtsZXQgdT1oLmRhdGFUcmFuc2Zlcj8uZmlsZXM7dSYmdS5sZW5ndGg+MCYmYXdhaXQgdGhpcy5oYW5kbGVGaWxlQXR0YWNobWVudHModSxhLHIpfSkscy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PnIub25Gb2N1cygpKSxzLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT5yLm9uQmx1cigpKSxzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGg9PntpZigoaC5rZXk9PT0iRGVsZXRlInx8aC5rZXk9PT0iQmFja3NwYWNlIikmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1zJiZhLm1ldGFkYXRhPy5maWxlcz8ubGVuZ3RoPjApe2gucHJldmVudERlZmF1bHQoKSxhLm1ldGFkYXRhLmZpbGVzPVtdLHIub25SZXF1ZXN0VXBkYXRlPy4oKTtyZXR1cm59ci5vbktleURvd24oaCl9KX1hc3luYyBoYW5kbGVGaWxlQXR0YWNobWVudHMoZSxhLHIpe2EubWV0YWRhdGF8fChhLm1ldGFkYXRhPXt9KSxhLm1ldGFkYXRhLmZpbGVzfHwoYS5tZXRhZGF0YS5maWxlcz1bXSk7Zm9yKGxldCBzIG9mIEFycmF5LmZyb20oZSkpdHJ5e2xldCBuPWF3YWl0IHRoaXMuZmlsZVRvRGF0YVVybChzKSxvPXtpZDp0aGlzLmdlbmVyYXRlSWQoKSxuYW1lOnMubmFtZSxzaXplOnMuc2l6ZSx0eXBlOnMudHlwZSxkYXRhOm59O2EubWV0YWRhdGEuZmlsZXMucHVzaChvKX1jYXRjaChuKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gYXR0YWNoIGZpbGU6IixzLm5hbWUsbil9YS5jb250ZW50PWAke2EubWV0YWRhdGEuZmlsZXMubGVuZ3RofSBmaWxlJHthLm1ldGFkYXRhLmZpbGVzLmxlbmd0aCE9PTE/InMiOiIifSBhdHRhY2hlZGAsci5vblJlcXVlc3RVcGRhdGU/LigpfXJlbW92ZUZpbGUoZSxhLHIpe2EubWV0YWRhdGE/LmZpbGVzJiYoYS5tZXRhZGF0YS5maWxlcz1hLm1ldGFkYXRhLmZpbGVzLmZpbHRlcihzPT5zLmlkIT09ZSksYS5jb250ZW50PWEubWV0YWRhdGEuZmlsZXMubGVuZ3RoPjA/YCR7YS5tZXRhZGF0YS5maWxlcy5sZW5ndGh9IGZpbGUke2EubWV0YWRhdGEuZmlsZXMubGVuZ3RoIT09MT8icyI6IiJ9IGF0dGFjaGVkYDoiIixyLm9uUmVxdWVzdFVwZGF0ZT8uKCkpfWZpbGVUb0RhdGFVcmwoZSl7cmV0dXJuIG5ldyBQcm9taXNlKChhLHIpPT57bGV0IHM9bmV3IEZpbGVSZWFkZXI7cy5vbmxvYWQ9bj0+e2xldCBvPW4udGFyZ2V0Py5yZXN1bHQ7dHlwZW9mIG89PSJzdHJpbmciP2Eobyk6cihuZXcgRXJyb3IoIkZhaWxlZCB0byByZWFkIGZpbGUiKSl9LHMub25lcnJvcj1yLHMucmVhZEFzRGF0YVVSTChlKX0pfWdldEZpbGVJY29uKGUpe3JldHVybiBlLnN0YXJ0c1dpdGgoImltYWdlLyIpPyJcdXsxRjVCQ31cdUZFMEYiOmUuc3RhcnRzV2l0aCgidmlkZW8vIik/Ilx1ezFGM0E1fSI6ZS5zdGFydHNXaXRoKCJhdWRpby8iKT8iXHV7MUYzQjV9IjplLmluY2x1ZGVzKCJwZGYiKT8iXHV7MUY0QzR9IjplLmluY2x1ZGVzKCJ6aXAiKXx8ZS5pbmNsdWRlcygicmFyIil8fGUuaW5jbHVkZXMoInRhciIpPyJcdXsxRjVDNH1cdUZFMEYiOmUuaW5jbHVkZXMoInNoZWV0Iik/Ilx1ezFGNENBfSI6ZS5pbmNsdWRlcygiZG9jdW1lbnQiKXx8ZS5pbmNsdWRlcygibXN3b3JkIik/Ilx1ezFGNEREfSI6ZS5pbmNsdWRlcygicHJlc2VudGF0aW9uIik/Ilx1ezFGNENCfSI6ZS5pbmNsdWRlcygidGV4dCIpPyJcdXsxRjRDM30iOiJcdXsxRjRDMX0ifWZvcm1hdEZpbGVTaXplKGUpe2lmKGU9PT0wKXJldHVybiIwIEJ5dGVzIjtsZXQgYT0xMDI0LHI9WyJCeXRlcyIsIktCIiwiTUIiLCJHQiJdLHM9TWF0aC5mbG9vcihNYXRoLmxvZyhlKS9NYXRoLmxvZyhhKSk7cmV0dXJuIHBhcnNlRmxvYXQoKGUvTWF0aC5wb3coYSxzKSkudG9GaXhlZCgyKSkrIiAiK3Jbc119Z2VuZXJhdGVJZCgpe3JldHVybmBmaWxlLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiw5KX1gfWVzY2FwZUh0bWwoZSl7bGV0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGEudGV4dENvbnRlbnQ9ZSxhLmlubmVySFRNTH1nZXRDb250ZW50KGUpe3JldHVybiB0aGlzLmdldEJsb2NrRnJvbUVsZW1lbnQoZSk/LmNvbnRlbnR8fCIifXNldENvbnRlbnQoZSxhKXtsZXQgcj10aGlzLmdldEJsb2NrRnJvbUVsZW1lbnQoZSk7ciYmKHIuY29udGVudD1hKX1nZXRCbG9ja0Zyb21FbGVtZW50KGUpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmF0dGFjaG1lbnQtYmxvY2stY29udGFpbmVyIik/LmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpO3JldHVybiByP3tpZDpyLHR5cGU6ImF0dGFjaG1lbnQiLGNvbnRlbnQ6IiIsbWV0YWRhdGE6e319Om51bGx9Z2V0Q3Vyc29yUG9zaXRpb24oZSl7cmV0dXJuIG51bGx9c2V0Q3Vyc29yVG9TdGFydChlKXt0aGlzLmZvY3VzKGUpfXNldEN1cnNvclRvRW5kKGUpe3RoaXMuZm9jdXMoZSl9Zm9jdXMoZSl7ZS5xdWVyeVNlbGVjdG9yKCIuYXR0YWNobWVudC1ibG9jay1jb250YWluZXIiKT8uZm9jdXMoKX1mb2N1c1dpdGhDdXJzb3IoZSxhPSJlbmQiKXt0aGlzLmZvY3VzKGUpfWdldFNwbGl0Q29udGVudChlKXtyZXR1cm4gbnVsbH1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIEF0dGFjaG1lbnQgQmxvY2sgQ29udGFpbmVyICovCiAgICAgIC5hdHRhY2htZW50LWJsb2NrLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbjogMTJweCAwOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzExMTgyNyIpfTsKICAgICAgfQogICAgICAKICAgICAgLmF0dGFjaG1lbnQtYmxvY2stY29udGFpbmVyLnNlbGVjdGVkIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLmF0dGFjaG1lbnQtYmxvY2stY29udGFpbmVyLmRyYWctb3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmOWZhZmIiLCIjMWYyOTM3Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiM2MzY2ZjEiLCIjODE4Y2Y4Iil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBIZWFkZXIgKi8KICAgICAgLmF0dGFjaG1lbnQtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmOWZhZmIiLCIjMGEwYTBhIil9OwogICAgICB9CiAgICAgIAogICAgICAuYXR0YWNobWVudC1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICB9CiAgICAgIAogICAgICAuYXR0YWNobWVudC10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogRmlsZSBMaXN0ICovCiAgICAgIC5hdHRhY2htZW50LWxpc3QgewogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBtaW4taGVpZ2h0OiA4MHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQogICAgICAKICAgICAgLyogUGxhY2Vob2xkZXIgKi8KICAgICAgLmF0dGFjaG1lbnQtcGxhY2Vob2xkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAuYXR0YWNobWVudC1wbGFjZWhvbGRlcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmOWZhZmIiLCIjMWYyOTM3Iil9OwogICAgICB9CiAgICAgIAogICAgICAucGxhY2Vob2xkZXItdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CiAgICAgIAogICAgICAucGxhY2Vob2xkZXItaGludCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEZpbGUgSXRlbXMgKi8KICAgICAgLmF0dGFjaG1lbnQtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQogICAgICAKICAgICAgLmF0dGFjaG1lbnQtaXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMzc0MTUxIil9OwogICAgICB9CiAgICAgIAogICAgICAuZmlsZS1pY29uIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5maWxlLWluZm8gewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CiAgICAgIAogICAgICAuZmlsZS1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQogICAgICAKICAgICAgLmZpbGUtc2l6ZSB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CiAgICAgIAogICAgICAucmVtb3ZlLWZpbGUgewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHdpZHRoOiAyNHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CiAgICAgIAogICAgICAucmVtb3ZlLWZpbGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmVlMmUyIiwiIzk5MWIxYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjZmNhNWE1IiwiI2RjMjYyNiIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkYzI2MjYiLCIjZmNhNWE1Iil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBBZGQgTW9yZSBGaWxlcyBCdXR0b24gKi8KICAgICAgLmFkZC1tb3JlLWZpbGVzIHsKICAgICAgICBtYXJnaW46IDhweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmOwogICAgICB9CiAgICAgIAogICAgICAuYWRkLW1vcmUtZmlsZXM6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjlmYWZiIiwiIzFmMjkzNyIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjZDFkNWRiIiwiIzRiNTU2MyIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogSGlkZGVuIGZpbGUgaW5wdXQgKi8KICAgICAgLmF0dGFjaG1lbnQtZmlsZS1pbnB1dCB7CiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CiAgICBgfX19KTt2YXIgbkIsX1p0PWMoKCk9PntNaSgpO3BlKCk7bkI9Y2xhc3MgZXh0ZW5kcyBPYXtzdGF0aWN7aSh0aGlzLCJEaXZpZGVyQmxvY2tIYW5kbGVyIil9dHlwZT0iZGl2aWRlciI7cmVuZGVyKGUsYSl7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJibG9jayBkaXZpZGVyJHthPyIgc2VsZWN0ZWQiOiIifSIgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIgZGF0YS1ibG9jay10eXBlPSIke2UudHlwZX0iIHRhYmluZGV4PSIwIj4KICAgICAgICA8aHI+CiAgICAgIDwvZGl2PgogICAgYH1zZXR1cChlLGEscil7bGV0IHM9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2suZGl2aWRlciIpO3MmJihzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixuPT57bi5zdG9wUHJvcGFnYXRpb24oKSxzLmZvY3VzKCksci5vbkZvY3VzPy4oKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57ci5vbkZvY3VzPy4oKX0pLHMuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PntyLm9uQmx1cj8uKCl9KSxzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG49Pnsobi5rZXk9PT0iQmFja3NwYWNlInx8bi5rZXk9PT0iRGVsZXRlIikmJm4ucHJldmVudERlZmF1bHQoKSxyLm9uS2V5RG93bj8uKG4pfSkpfWdldFN0eWxlcygpe3JldHVybmAKICAgICAgLmJsb2NrLmRpdmlkZXIgewogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICAgIG1hcmdpbjogMTZweCAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuYmxvY2suZGl2aWRlcjpmb2N1cyB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQoKICAgICAgLmJsb2NrLmRpdmlkZXIuc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDEwMiwgMjA0LCAwLjA1KSIsInJnYmEoNzcsIDE0OCwgMjU1LCAwLjA4KSIpfTsKICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggJHtkLmJkVGhlbWUoInJnYmEoMCwgMTAyLCAyMDQsIDAuMikiLCJyZ2JhKDc3LCAxNDgsIDI1NSwgMC4yKSIpfTsKICAgICAgfQoKICAgICAgLmJsb2NrLmRpdmlkZXIgaHIgewogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlMGUwZTAiLCIjMzMzIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQogICAgYH19fSk7dmFyIGxCLFRadD1jKCgpPT57TWkoKTtwZSgpO2xCPWNsYXNzIGV4dGVuZHMgT2F7c3RhdGlje2kodGhpcywiTWFya2Rvd25CbG9ja0hhbmRsZXIiKX10eXBlPSJtYXJrZG93biI7cmVuZGVyKGUsYSl7bGV0IHI9ZS5tZXRhZGF0YT8uaXNFZGl0TW9kZT8/ITAscz1lLmNvbnRlbnR8fCIiO3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYmxvY2stY29udGFpbmVyJHthPyIgc2VsZWN0ZWQiOiIifSIgCiAgICAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICAgICBkYXRhLWVkaXQtbW9kZT0iJHtyfSI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWljb24iPk1cdTIxOTM8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLXRpdGxlIj5NYXJrZG93bjwvZGl2PgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibWFya2Rvd24tdG9nZ2xlLW1vZGUiIHRpdGxlPSIke3I/IlByZXZpZXciOiJFZGl0In0iPgogICAgICAgICAgICAke3I/Ilx1ezFGNDQxfVx1RkUwRiI6Ilx1MjcwRlx1RkUwRiJ9CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtYXJrZG93bi1jb250ZW50Ij4KICAgICAgICAgICR7cj90aGlzLnJlbmRlckVkaXRvcihzKTp0aGlzLnJlbmRlclByZXZpZXcocyl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJFZGl0b3IoZSl7cmV0dXJuYAogICAgICA8dGV4dGFyZWEgY2xhc3M9Im1hcmtkb3duLWVkaXRvciIgCiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iRW50ZXIgbWFya2Rvd24gY29udGVudC4uLiIKICAgICAgICAgICAgICAgIHNwZWxsY2hlY2s9ImZhbHNlIj4ke3RoaXMuZXNjYXBlSHRtbChlKX08L3RleHRhcmVhPgogICAgYH1yZW5kZXJQcmV2aWV3KGUpe3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tcHJldmlldyI+CiAgICAgICAgJHt0aGlzLnBhcnNlTWFya2Rvd24oZSl8fCc8ZGl2IGNsYXNzPSJwcmV2aWV3LWVtcHR5Ij5ObyBjb250ZW50IHRvIHByZXZpZXc8L2Rpdj4nfQogICAgICA8L2Rpdj4KICAgIGB9c2V0dXAoZSxhLHIpe2xldCBzPWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWJsb2NrLWNvbnRhaW5lciIpLG49ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tdG9nZ2xlLW1vZGUiKTtpZighc3x8IW4pe2NvbnNvbGUuZXJyb3IoIk1hcmtkb3duQmxvY2tIYW5kbGVyOiBDb3VsZCBub3QgZmluZCByZXF1aXJlZCBlbGVtZW50cyIpO3JldHVybn1hLm1ldGFkYXRhfHwoYS5tZXRhZGF0YT17fSksYS5tZXRhZGF0YS5pc0VkaXRNb2RlPT09dm9pZCAwJiYoYS5tZXRhZGF0YS5pc0VkaXRNb2RlPSEwKSxuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixvPT57aWYoby5wcmV2ZW50RGVmYXVsdCgpLG8uc3RvcFByb3BhZ2F0aW9uKCksYS5tZXRhZGF0YS5pc0VkaXRNb2RlKXtsZXQgbD1zLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1lZGl0b3IiKTtsJiYoYS5jb250ZW50PWwudmFsdWUpfWEubWV0YWRhdGEuaXNFZGl0TW9kZT0hYS5tZXRhZGF0YS5pc0VkaXRNb2RlLHIub25SZXF1ZXN0VXBkYXRlPy4oKX0pLGEubWV0YWRhdGEuaXNFZGl0TW9kZT90aGlzLnNldHVwRWRpdG9yKGUsYSxyKTp0aGlzLnNldHVwUHJldmlldyhlLGEscil9c2V0dXBFZGl0b3IoZSxhLHIpe2xldCBzPWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO3MmJihzLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+ci5vbkZvY3VzKCkpLHMuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PnIub25CbHVyKCkpLHMuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCgpPT57YS5jb250ZW50PXMudmFsdWV9KSxzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG49PntpZihuLmtleT09PSJUYWIiKXtuLnByZXZlbnREZWZhdWx0KCk7bGV0IG89cy5zZWxlY3Rpb25TdGFydCxsPXMuc2VsZWN0aW9uRW5kLGg9cy52YWx1ZTtpZihuLnNoaWZ0S2V5KXtsZXQgcD1oLnN1YnN0cmluZygwLG8pLmxhc3RJbmRleE9mKGAKYCkrMSxnPWguc3Vic3RyaW5nKHAsbyk7Zy5zdGFydHNXaXRoKCIgICIpJiYocy52YWx1ZT1oLnN1YnN0cmluZygwLHApK2cuc3Vic3RyaW5nKDIpK2guc3Vic3RyaW5nKG8pLHMuc2VsZWN0aW9uU3RhcnQ9cy5zZWxlY3Rpb25FbmQ9by0yKX1lbHNlIHMudmFsdWU9aC5zdWJzdHJpbmcoMCxvKSsiICAiK2guc3Vic3RyaW5nKGwpLHMuc2VsZWN0aW9uU3RhcnQ9cy5zZWxlY3Rpb25FbmQ9bysyO2EuY29udGVudD1zLnZhbHVlO3JldHVybn1pZigobi5jdHJsS2V5fHxuLm1ldGFLZXkpJiZuLmtleT09PSJiIil7bi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMud3JhcFNlbGVjdGlvbihzLCIqKiIsIioqIiksYS5jb250ZW50PXMudmFsdWU7cmV0dXJufWlmKChuLmN0cmxLZXl8fG4ubWV0YUtleSkmJm4ua2V5PT09ImkiKXtuLnByZXZlbnREZWZhdWx0KCksdGhpcy53cmFwU2VsZWN0aW9uKHMsIl8iLCJfIiksYS5jb250ZW50PXMudmFsdWU7cmV0dXJufWlmKChuLmN0cmxLZXl8fG4ubWV0YUtleSkmJm4ua2V5PT09ImsiKXtuLnByZXZlbnREZWZhdWx0KCksdGhpcy5pbnNlcnRMaW5rKHMpLGEuY29udGVudD1zLnZhbHVlO3JldHVybn1yLm9uS2V5RG93bihuKX0pLHRoaXMuYXV0b1Jlc2l6ZShzKSxzLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwoKT0+dGhpcy5hdXRvUmVzaXplKHMpKSl9c2V0dXBQcmV2aWV3KGUsYSxyKXtsZXQgcz1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1ibG9jay1jb250YWluZXIiKSxuPWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLXByZXZpZXciKTshc3x8IW58fChuLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCIwIiksbi5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PnIub25Gb2N1cygpKSxuLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT5yLm9uQmx1cigpKSxuLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG89PntpZihvLmtleT09PSJFbnRlciImJiFvLnNoaWZ0S2V5KXtvLnByZXZlbnREZWZhdWx0KCksYS5tZXRhZGF0YS5pc0VkaXRNb2RlPSEwLHIub25SZXF1ZXN0VXBkYXRlPy4oKTtyZXR1cm59ci5vbktleURvd24obyl9KSl9d3JhcFNlbGVjdGlvbihlLGEscil7bGV0IHM9ZS5zZWxlY3Rpb25TdGFydCxuPWUuc2VsZWN0aW9uRW5kLG89ZS52YWx1ZS5zdWJzdHJpbmcocyxuKSxsPWErKG98fCJ0ZXh0IikrcjtlLnZhbHVlPWUudmFsdWUuc3Vic3RyaW5nKDAscykrbCtlLnZhbHVlLnN1YnN0cmluZyhuKSxvPyhlLnNlbGVjdGlvblN0YXJ0PXMsZS5zZWxlY3Rpb25FbmQ9cytsLmxlbmd0aCk6KGUuc2VsZWN0aW9uU3RhcnQ9cythLmxlbmd0aCxlLnNlbGVjdGlvbkVuZD1zK2EubGVuZ3RoKzQpLGUuZm9jdXMoKX1pbnNlcnRMaW5rKGUpe2xldCBhPWUuc2VsZWN0aW9uU3RhcnQscj1lLnNlbGVjdGlvbkVuZCxuPWUudmFsdWUuc3Vic3RyaW5nKGEscil8fCJsaW5rIHRleHQiLG89YFske259XSh1cmwpYDtlLnZhbHVlPWUudmFsdWUuc3Vic3RyaW5nKDAsYSkrbytlLnZhbHVlLnN1YnN0cmluZyhyKSxlLnNlbGVjdGlvblN0YXJ0PWErbi5sZW5ndGgrMyxlLnNlbGVjdGlvbkVuZD1hK24ubGVuZ3RoKzYsZS5mb2N1cygpfWF1dG9SZXNpemUoZSl7ZS5zdHlsZS5oZWlnaHQ9ImF1dG8iLGUuc3R5bGUuaGVpZ2h0PWUuc2Nyb2xsSGVpZ2h0KyJweCJ9cGFyc2VNYXJrZG93bihlKXtsZXQgYT10aGlzLmVzY2FwZUh0bWwoZSk7cmV0dXJuIGE9YS5yZXBsYWNlKC9eIyMjICguKykkL2dtLCI8aDM+JDE8L2gzPiIpLGE9YS5yZXBsYWNlKC9eIyMgKC4rKSQvZ20sIjxoMj4kMTwvaDI+IiksYT1hLnJlcGxhY2UoL14jICguKykkL2dtLCI8aDE+JDE8L2gxPiIpLGE9YS5yZXBsYWNlKC9cKlwqKC4rPylcKlwqL2csIjxzdHJvbmc+JDE8L3N0cm9uZz4iKSxhPWEucmVwbGFjZSgvX18oLis/KV9fL2csIjxzdHJvbmc+JDE8L3N0cm9uZz4iKSxhPWEucmVwbGFjZSgvXCooLis/KVwqL2csIjxlbT4kMTwvZW0+IiksYT1hLnJlcGxhY2UoL18oLis/KV8vZywiPGVtPiQxPC9lbT4iKSxhPWEucmVwbGFjZSgvYGBgKFtcc1xTXSo/KWBgYC9nLCI8cHJlPjxjb2RlPiQxPC9jb2RlPjwvcHJlPiIpLGE9YS5yZXBsYWNlKC9gKC4rPylgL2csIjxjb2RlPiQxPC9jb2RlPiIpLGE9YS5yZXBsYWNlKC9cWyhbXlxdXSspXF1cKChbXildKylcKS9nLCc8YSBocmVmPSIkMiI+JDE8L2E+JyksYT1hLnJlcGxhY2UoL15cKiAoLispJC9nbSwiPGxpPiQxPC9saT4iKSxhPWEucmVwbGFjZSgvXi0gKC4rKSQvZ20sIjxsaT4kMTwvbGk+IiksYT1hLnJlcGxhY2UoL15cZCtcLiAoLispJC9nbSwiPGxpPiQxPC9saT4iKSxhPWEucmVwbGFjZSgvKDxsaT4uKjxcL2xpPlxuPykrL2cscj0+Ijx1bD4iK3IrIjwvdWw+IiksYT1hLnJlcGxhY2UoL1xuXG4vZywiPC9wPjxwPiIpLGE9IjxwPiIrYSsiPC9wPiIsYT1hLnJlcGxhY2UoLzxwPjxcL3A+L2csIiIpLGE9YS5yZXBsYWNlKC88cD4oPGhbMS0zXT4pL2csIiQxIiksYT1hLnJlcGxhY2UoLyg8XC9oWzEtM10+KTxcL3A+L2csIiQxIiksYT1hLnJlcGxhY2UoLzxwPig8dWw+KS9nLCIkMSIpLGE9YS5yZXBsYWNlKC8oPFwvdWw+KTxcL3A+L2csIiQxIiksYT1hLnJlcGxhY2UoLzxwPig8cHJlPikvZywiJDEiKSxhPWEucmVwbGFjZSgvKDxcL3ByZT4pPFwvcD4vZywiJDEiKSxhfWVzY2FwZUh0bWwoZSl7bGV0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGEudGV4dENvbnRlbnQ9ZSxhLmlubmVySFRNTH1nZXRDb250ZW50KGUpe2xldCBhPWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO2lmKGEpcmV0dXJuIGEudmFsdWU7bGV0IHM9ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tYmxvY2stY29udGFpbmVyIik/LmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpO3JldHVybiIifXNldENvbnRlbnQoZSxhKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1lZGl0b3IiKTtyJiYoci52YWx1ZT1hLHRoaXMuYXV0b1Jlc2l6ZShyKSl9Z2V0Q3Vyc29yUG9zaXRpb24oZSl7bGV0IGE9ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7cmV0dXJuIGE/YS5zZWxlY3Rpb25TdGFydDpudWxsfXNldEN1cnNvclRvU3RhcnQoZSl7bGV0IGE9ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7YT8oYS5zZWxlY3Rpb25TdGFydD1hLnNlbGVjdGlvbkVuZD0wLGEuZm9jdXMoKSk6dGhpcy5mb2N1cyhlKX1zZXRDdXJzb3JUb0VuZChlKXtsZXQgYT1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1lZGl0b3IiKTtpZihhKXtsZXQgcj1hLnZhbHVlLmxlbmd0aDthLnNlbGVjdGlvblN0YXJ0PWEuc2VsZWN0aW9uRW5kPXIsYS5mb2N1cygpfWVsc2UgdGhpcy5mb2N1cyhlKX1mb2N1cyhlKXtsZXQgYT1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1lZGl0b3IiKTthP2EuZm9jdXMoKTplLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1wcmV2aWV3Iik/LmZvY3VzKCl9Zm9jdXNXaXRoQ3Vyc29yKGUsYT0iZW5kIil7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7cj9hPT09InN0YXJ0Ij90aGlzLnNldEN1cnNvclRvU3RhcnQoZSk6YT09PSJlbmQiP3RoaXMuc2V0Q3Vyc29yVG9FbmQoZSk6dHlwZW9mIGE9PSJudW1iZXIiJiYoci5zZWxlY3Rpb25TdGFydD1yLnNlbGVjdGlvbkVuZD1hLHIuZm9jdXMoKSk6dGhpcy5mb2N1cyhlKX1nZXRTcGxpdENvbnRlbnQoZSl7bGV0IGE9ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7aWYoIWEpcmV0dXJuIG51bGw7bGV0IHI9YS5zZWxlY3Rpb25TdGFydDtyZXR1cm57YmVmb3JlOmEudmFsdWUuc3Vic3RyaW5nKDAsciksYWZ0ZXI6YS52YWx1ZS5zdWJzdHJpbmcocil9fWdldFN0eWxlcygpe3JldHVybmAKICAgICAgLyogTWFya2Rvd24gQmxvY2sgQ29udGFpbmVyICovCiAgICAgIC5tYXJrZG93bi1ibG9jay1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW46IDEycHggMDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTExODI3Iil9OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tYmxvY2stY29udGFpbmVyLnNlbGVjdGVkIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogSGVhZGVyICovCiAgICAgIC5tYXJrZG93bi1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjlmYWZiIiwiIzBhMGEwYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXRpdGxlIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi10b2dnbGUtbW9kZSB7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi10b2dnbGUtbW9kZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMWYyOTM3Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiNkMWQ1ZGIiLCIjNGI1NTYzIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBDb250ZW50ICovCiAgICAgIC5tYXJrZG93bi1jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEVkaXRvciAqLwogICAgICAubWFya2Rvd24tZWRpdG9yIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHJlc2l6ZTogbm9uZTsKICAgICAgICBmb250LWZhbWlseTogJ01vbmFjbycsICdDb25zb2xhcycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxZjI5MzciLCIjZjNmNGY2Iil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1lZGl0b3I6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBQcmV2aWV3ICovCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IHsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIG1pbi1oZWlnaHQ6IDk2cHg7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxZjI5MzciLCIjZjNmNGY2Iil9OwogICAgICB9CiAgICAgIAogICAgICAucHJldmlldy1lbXB0eSB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIE1hcmtkb3duIHByZXZpZXcgc3R5bGVzICovCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IGgxIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBtYXJnaW46IDE2cHggMCA4cHggMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBoMiB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbWFyZ2luOiAxNHB4IDAgNnB4IDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgaDMgewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIG1hcmdpbjogMTJweCAwIDRweCAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IHAgewogICAgICAgIG1hcmdpbjogOHB4IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IHVsLAogICAgICAubWFya2Rvd24tcHJldmlldyBvbCB7CiAgICAgICAgbWFyZ2luOiA4cHggMDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IGxpIHsKICAgICAgICBtYXJnaW46IDRweCAwOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBjb2RlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2YzZjRmNiIsIiMxZjI5MzciKX07CiAgICAgICAgcGFkZGluZzogMnB4IDRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdNb25hY28nLCAnQ29uc29sYXMnLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAwLjllbTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgcHJlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2YzZjRmNiIsIiMxZjI5MzciKX07CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgICBtYXJnaW46IDhweCAwOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBwcmUgY29kZSB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgc3Ryb25nIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IGVtIHsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IGEgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBhOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgYmxvY2txdW90ZSB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4OwogICAgICAgIG1hcmdpbjogOHB4IDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNmI3MjgwIiwiIzljYTNhZiIpfTsKICAgICAgfQogICAgYH19fSk7dmFyIGNCLExadD1jKCgpPT57TWkoKTtwZSgpO2NCPWNsYXNzIGV4dGVuZHMgT2F7c3RhdGlje2kodGhpcywiSHRtbEJsb2NrSGFuZGxlciIpfXR5cGU9Imh0bWwiO3JlbmRlcihlLGEpe2xldCByPWUubWV0YWRhdGE/LmlzRWRpdE1vZGU/PyEwLHM9ZS5jb250ZW50fHwiIjtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9Imh0bWwtYmxvY2stY29udGFpbmVyJHthPyIgc2VsZWN0ZWQiOiIifSIgCiAgICAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICAgICBkYXRhLWVkaXQtbW9kZT0iJHtyfSI+CiAgICAgICAgPGRpdiBjbGFzcz0iaHRtbC1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaHRtbC1pY29uIj4mbHQ7LyZndDs8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Imh0bWwtdGl0bGUiPkhUTUw8L2Rpdj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9Imh0bWwtdG9nZ2xlLW1vZGUiIHRpdGxlPSIke3I/IlByZXZpZXciOiJFZGl0In0iPgogICAgICAgICAgICAke3I/Ilx1ezFGNDQxfVx1RkUwRiI6Ilx1MjcwRlx1RkUwRiJ9CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJodG1sLWNvbnRlbnQiPgogICAgICAgICAgJHtyP3RoaXMucmVuZGVyRWRpdG9yKHMpOnRoaXMucmVuZGVyUHJldmlldyhzKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckVkaXRvcihlKXtyZXR1cm5gCiAgICAgIDx0ZXh0YXJlYSBjbGFzcz0iaHRtbC1lZGl0b3IiIAogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkVudGVyIEhUTUwgY29udGVudC4uLiIKICAgICAgICAgICAgICAgIHNwZWxsY2hlY2s9ImZhbHNlIj4ke3RoaXMuZXNjYXBlSHRtbChlKX08L3RleHRhcmVhPgogICAgYH1yZW5kZXJQcmV2aWV3KGUpe3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iaHRtbC1wcmV2aWV3Ij4KICAgICAgICAke2V8fCc8ZGl2IGNsYXNzPSJwcmV2aWV3LWVtcHR5Ij5ObyBjb250ZW50IHRvIHByZXZpZXc8L2Rpdj4nfQogICAgICA8L2Rpdj4KICAgIGB9c2V0dXAoZSxhLHIpe2xldCBzPWUucXVlcnlTZWxlY3RvcigiLmh0bWwtYmxvY2stY29udGFpbmVyIiksbj1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLXRvZ2dsZS1tb2RlIik7aWYoIXN8fCFuKXtjb25zb2xlLmVycm9yKCJIdG1sQmxvY2tIYW5kbGVyOiBDb3VsZCBub3QgZmluZCByZXF1aXJlZCBlbGVtZW50cyIpO3JldHVybn1hLm1ldGFkYXRhfHwoYS5tZXRhZGF0YT17fSksYS5tZXRhZGF0YS5pc0VkaXRNb2RlPT09dm9pZCAwJiYoYS5tZXRhZGF0YS5pc0VkaXRNb2RlPSEwKSxuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixvPT57aWYoby5wcmV2ZW50RGVmYXVsdCgpLG8uc3RvcFByb3BhZ2F0aW9uKCksYS5tZXRhZGF0YS5pc0VkaXRNb2RlKXtsZXQgbD1zLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO2wmJihhLmNvbnRlbnQ9bC52YWx1ZSl9YS5tZXRhZGF0YS5pc0VkaXRNb2RlPSFhLm1ldGFkYXRhLmlzRWRpdE1vZGUsci5vblJlcXVlc3RVcGRhdGU/LigpfSksYS5tZXRhZGF0YS5pc0VkaXRNb2RlP3RoaXMuc2V0dXBFZGl0b3IoZSxhLHIpOnRoaXMuc2V0dXBQcmV2aWV3KGUsYSxyKX1zZXR1cEVkaXRvcihlLGEscil7bGV0IHM9ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTtzJiYocy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PnIub25Gb2N1cygpKSxzLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT5yLm9uQmx1cigpKSxzLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwoKT0+e2EuY29udGVudD1zLnZhbHVlLHRoaXMudmFsaWRhdGVIdG1sKHMudmFsdWUpfSkscy5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixuPT57aWYobi5rZXk9PT0iVGFiIil7bi5wcmV2ZW50RGVmYXVsdCgpO2xldCBvPXMuc2VsZWN0aW9uU3RhcnQsbD1zLnNlbGVjdGlvbkVuZCxoPXMudmFsdWU7aWYobi5zaGlmdEtleSl7bGV0IHA9aC5zdWJzdHJpbmcoMCxvKS5sYXN0SW5kZXhPZihgCmApKzEsZz1oLnN1YnN0cmluZyhwLG8pO2cuc3RhcnRzV2l0aCgiICAiKSYmKHMudmFsdWU9aC5zdWJzdHJpbmcoMCxwKStnLnN1YnN0cmluZygyKStoLnN1YnN0cmluZyhvKSxzLnNlbGVjdGlvblN0YXJ0PXMuc2VsZWN0aW9uRW5kPW8tMil9ZWxzZSBzLnZhbHVlPWguc3Vic3RyaW5nKDAsbykrIiAgIitoLnN1YnN0cmluZyhsKSxzLnNlbGVjdGlvblN0YXJ0PXMuc2VsZWN0aW9uRW5kPW8rMjthLmNvbnRlbnQ9cy52YWx1ZTtyZXR1cm59aWYoKG4uY3RybEtleXx8bi5tZXRhS2V5KSYmbi5rZXk9PT0iLyIpe24ucHJldmVudERlZmF1bHQoKSx0aGlzLmF1dG9DbG9zZVRhZyhzKSxhLmNvbnRlbnQ9cy52YWx1ZTtyZXR1cm59ci5vbktleURvd24obil9KSx0aGlzLmF1dG9SZXNpemUocykscy5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKCk9PnRoaXMuYXV0b1Jlc2l6ZShzKSkpfXNldHVwUHJldmlldyhlLGEscil7bGV0IHM9ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1ibG9jay1jb250YWluZXIiKSxuPWUucXVlcnlTZWxlY3RvcigiLmh0bWwtcHJldmlldyIpOyFzfHwhbnx8KG4uc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIjAiKSxuLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+ci5vbkZvY3VzKCkpLG4uYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PnIub25CbHVyKCkpLG4uYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbz0+e2lmKG8ua2V5PT09IkVudGVyIiYmIW8uc2hpZnRLZXkpe28ucHJldmVudERlZmF1bHQoKSxhLm1ldGFkYXRhLmlzRWRpdE1vZGU9ITAsci5vblJlcXVlc3RVcGRhdGU/LigpO3JldHVybn1yLm9uS2V5RG93bihvKX0pLHRoaXMuc2FuZGJveENvbnRlbnQobikpfWF1dG9DbG9zZVRhZyhlKXtsZXQgYT1lLnNlbGVjdGlvblN0YXJ0LHI9ZS52YWx1ZSxzPWE7Zm9yKDtzPjAmJnJbcy0xXSE9PSI8Ijspcy0tO2lmKHM+MCl7bGV0IG89ci5zdWJzdHJpbmcocyxhKS5tYXRjaCgvXihcdyspLyk7aWYobyl7bGV0IGg9YDwvJHtvWzFdfT5gO2UudmFsdWU9ci5zdWJzdHJpbmcoMCxhKSsiPiIraCtyLnN1YnN0cmluZyhhKSxlLnNlbGVjdGlvblN0YXJ0PWUuc2VsZWN0aW9uRW5kPWErMX19fWF1dG9SZXNpemUoZSl7ZS5zdHlsZS5oZWlnaHQ9ImF1dG8iLGUuc3R5bGUuaGVpZ2h0PWUuc2Nyb2xsSGVpZ2h0KyJweCJ9dmFsaWRhdGVIdG1sKGUpe2xldCBhPVtdLHI9LzxcLz8oW2EtekEtWl1bYS16QS1aMC05XSopXGJbXj5dKj4vZyxzO2Zvcig7KHM9ci5leGVjKGUpKSE9PW51bGw7KXtsZXQgbj1zWzBdLnN0YXJ0c1dpdGgoIjwvIiksbz1zWzFdLnRvTG93ZXJDYXNlKCk7aWYobil7aWYoYS5sZW5ndGg9PT0wfHxhW2EubGVuZ3RoLTFdIT09bylyZXR1cm4gY29uc29sZS53YXJuKGBNaXNtYXRjaGVkIGNsb3NpbmcgdGFnOiAke299YCksITE7YS5wb3AoKX1lbHNlIHNbMF0uZW5kc1dpdGgoIi8+Iil8fGEucHVzaChvKX1yZXR1cm4gYS5sZW5ndGg+MD8oY29uc29sZS53YXJuKGBVbmNsb3NlZCB0YWdzOiAke2Euam9pbigiLCAiKX1gKSwhMSk6ITB9c2FuZGJveENvbnRlbnQoZSl7ZS5xdWVyeVNlbGVjdG9yQWxsKCJzY3JpcHQiKS5mb3JFYWNoKG49Pm4ucmVtb3ZlKCkpLGUucXVlcnlTZWxlY3RvckFsbCgiKiIpLmZvckVhY2gobj0+e0FycmF5LmZyb20obi5hdHRyaWJ1dGVzKS5mb3JFYWNoKG89PntvLm5hbWUuc3RhcnRzV2l0aCgib24iKSYmbi5yZW1vdmVBdHRyaWJ1dGUoby5uYW1lKX0pfSksZS5xdWVyeVNlbGVjdG9yQWxsKCJmb3JtIikuZm9yRWFjaChuPT57bi5hZGRFdmVudExpc3RlbmVyKCJzdWJtaXQiLG89PntvLnByZXZlbnREZWZhdWx0KCksby5zdG9wUHJvcGFnYXRpb24oKX0pfSl9ZXNjYXBlSHRtbChlKXtsZXQgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gYS50ZXh0Q29udGVudD1lLGEuaW5uZXJIVE1MfWdldENvbnRlbnQoZSl7bGV0IGE9ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTtpZihhKXJldHVybiBhLnZhbHVlO2xldCBzPWUucXVlcnlTZWxlY3RvcigiLmh0bWwtYmxvY2stY29udGFpbmVyIik/LmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpO3JldHVybiIifXNldENvbnRlbnQoZSxhKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO3ImJihyLnZhbHVlPWEsdGhpcy5hdXRvUmVzaXplKHIpKX1nZXRDdXJzb3JQb3NpdGlvbihlKXtsZXQgYT1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO3JldHVybiBhP2Euc2VsZWN0aW9uU3RhcnQ6bnVsbH1zZXRDdXJzb3JUb1N0YXJ0KGUpe2xldCBhPWUucXVlcnlTZWxlY3RvcigiLmh0bWwtZWRpdG9yIik7YT8oYS5zZWxlY3Rpb25TdGFydD1hLnNlbGVjdGlvbkVuZD0wLGEuZm9jdXMoKSk6dGhpcy5mb2N1cyhlKX1zZXRDdXJzb3JUb0VuZChlKXtsZXQgYT1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO2lmKGEpe2xldCByPWEudmFsdWUubGVuZ3RoO2Euc2VsZWN0aW9uU3RhcnQ9YS5zZWxlY3Rpb25FbmQ9cixhLmZvY3VzKCl9ZWxzZSB0aGlzLmZvY3VzKGUpfWZvY3VzKGUpe2xldCBhPWUucXVlcnlTZWxlY3RvcigiLmh0bWwtZWRpdG9yIik7YT9hLmZvY3VzKCk6ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1wcmV2aWV3Iik/LmZvY3VzKCl9Zm9jdXNXaXRoQ3Vyc29yKGUsYT0iZW5kIil7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTtyP2E9PT0ic3RhcnQiP3RoaXMuc2V0Q3Vyc29yVG9TdGFydChlKTphPT09ImVuZCI/dGhpcy5zZXRDdXJzb3JUb0VuZChlKTp0eXBlb2YgYT09Im51bWJlciImJihyLnNlbGVjdGlvblN0YXJ0PXIuc2VsZWN0aW9uRW5kPWEsci5mb2N1cygpKTp0aGlzLmZvY3VzKGUpfWdldFNwbGl0Q29udGVudChlKXtsZXQgYT1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO2lmKCFhKXJldHVybiBudWxsO2xldCByPWEuc2VsZWN0aW9uU3RhcnQ7cmV0dXJue2JlZm9yZTphLnZhbHVlLnN1YnN0cmluZygwLHIpLGFmdGVyOmEudmFsdWUuc3Vic3RyaW5nKHIpfX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIEhUTUwgQmxvY2sgQ29udGFpbmVyICovCiAgICAgIC5odG1sLWJsb2NrLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbjogMTJweCAwOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMxMTE4MjciKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLWJsb2NrLWNvbnRhaW5lci5zZWxlY3RlZCB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEhlYWRlciAqLwogICAgICAuaHRtbC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjlmYWZiIiwiIzBhMGEwYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICAgIGZvbnQtZmFtaWx5OiAnTW9uYWNvJywgJ0NvbnNvbGFzJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlOwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC10aXRsZSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC10b2dnbGUtbW9kZSB7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXRvZ2dsZS1tb2RlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2YzZjRmNiIsIiMxZjI5MzciKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2QxZDVkYiIsIiM0YjU1NjMiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIENvbnRlbnQgKi8KICAgICAgLmh0bWwtY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4OwogICAgICB9CiAgICAgIAogICAgICAvKiBFZGl0b3IgKi8KICAgICAgLmh0bWwtZWRpdG9yIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHJlc2l6ZTogbm9uZTsKICAgICAgICBmb250LWZhbWlseTogJ01vbmFjbycsICdDb25zb2xhcycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxZjI5MzciLCIjZjNmNGY2Iil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLWVkaXRvcjo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFByZXZpZXcgKi8KICAgICAgLmh0bWwtcHJldmlldyB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBtaW4taGVpZ2h0OiA5NnB4OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMWYyOTM3IiwiI2YzZjRmNiIpfTsKICAgICAgfQogICAgICAKICAgICAgLnByZXZpZXctZW1wdHkgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CiAgICAgIAogICAgICAvKiBTYW5kYm94ZWQgSFRNTCBwcmV2aWV3IHN0eWxlcyAqLwogICAgICAuaHRtbC1wcmV2aWV3ICogewogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyBpbWcgewogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyBhIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyBhOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyB0YWJsZSB7CiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXJnaW46IDhweCAwOwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1wcmV2aWV3IHRoLAogICAgICAuaHRtbC1wcmV2aWV3IHRkIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXByZXZpZXcgdGggewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjlmYWZiIiwiIzFmMjkzNyIpfTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1wcmV2aWV3IHByZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMWYyOTM3Iil9OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgICAgbWFyZ2luOiA4cHggMDsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyBjb2RlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2YzZjRmNiIsIiMxZjI5MzciKX07CiAgICAgICAgcGFkZGluZzogMnB4IDRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdNb25hY28nLCAnQ29uc29sYXMnLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAwLjllbTsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyBwcmUgY29kZSB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQogICAgYH19fSk7dmFyIFZPZT1jKCgpPT57TWkoKTtnWnQoKTtiWnQoKTt2WnQoKTt4WnQoKTt5WnQoKTtNWnQoKTtrWnQoKTt6WnQoKTtTWnQoKTtDWnQoKTtfWnQoKTtUWnQoKTtMWnQoKX0pO2Z1bmN0aW9uICRadCgpe2JhLnJlZ2lzdGVyKCJkaXZpZGVyIixuZXcgbkIpLGJhLnJlZ2lzdGVyKCJwYXJhZ3JhcGgiLG5ldyBlQiksYmEucmVnaXN0ZXIoImhlYWRpbmctMSIsbmV3IG02KCJoZWFkaW5nLTEiKSksYmEucmVnaXN0ZXIoImhlYWRpbmctMiIsbmV3IG02KCJoZWFkaW5nLTIiKSksYmEucmVnaXN0ZXIoImhlYWRpbmctMyIsbmV3IG02KCJoZWFkaW5nLTMiKSksYmEucmVnaXN0ZXIoInF1b3RlIixuZXcgdEIpLGJhLnJlZ2lzdGVyKCJjb2RlIixuZXcgYUIpLGJhLnJlZ2lzdGVyKCJsaXN0IixuZXcgckIpLGJhLnJlZ2lzdGVyKCJpbWFnZSIsbmV3IGlCKSxiYS5yZWdpc3RlcigieW91dHViZSIsbmV3IHNCKSxiYS5yZWdpc3RlcigiYXR0YWNobWVudCIsbmV3IG9CKSxiYS5yZWdpc3RlcigibWFya2Rvd24iLG5ldyBsQiksYmEucmVnaXN0ZXIoImh0bWwiLG5ldyBjQil9dmFyIGpPZT1jKCgpPT57Vk9lKCk7aSgkWnQsInJlZ2lzdGVyQWxsQmxvY2tIYW5kbGVycyIpLCRadCgpfSk7dmFyIGRCLFVPZT1jKCgpPT57cGUoKTtzNigpO3NpKCk7ZjYoKTtIWigpO2RCPWNsYXNze3N0YXRpY3tpKHRoaXMsIld5c2l3eWdNb2RhbE1hbmFnZXIiKX1zdGF0aWMgYXN5bmMgc2hvd0xhbmd1YWdlU2VsZWN0aW9uTW9kYWwoKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+e2xldCBhPW51bGw7TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiU2VsZWN0IFByb2dyYW1taW5nIExhbmd1YWdlIixjb250ZW50OndgCiAgICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgIC5sYW5ndWFnZS1jb250YWluZXIgewogICAgICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7CiAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICAgICAgfQogICAgICAgICAgICAubGFuZ3VhZ2UtZ3JpZCB7CiAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMjBweCwgMWZyKSk7CiAgICAgICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLmxhbmd1YWdlLWJ1dHRvbiB7CiAgICAgICAgICAgICAgcGFkZGluZzogMTJweCA4cHg7CiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLmxhbmd1YWdlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmOWZhZmIiLCIjMWYyOTM3Iil9OwogICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiNkMWQ1ZGIiLCIjNGI1NTYzIil9OwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5sYW5ndWFnZS1idXR0b24uc2VsZWN0ZWQgewogICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjNmNGY2IiwiIzM3NDE1MSIpfTsKICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICAgICAgICB9CiAgICAgICAgICA8L3N0eWxlPgogICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ3VhZ2UtY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ3VhZ2UtZ3JpZCI+CiAgICAgICAgICAgICAgJHt0aGlzLmdldExhbmd1YWdlcygpLm1hcChyPT53YAogICAgICAgICAgICAgICAgPGRpdiAKICAgICAgICAgICAgICAgICAgY2xhc3M9Imxhbmd1YWdlLWJ1dHRvbiAke2E9PT1yLnRvTG93ZXJDYXNlKCk/InNlbGVjdGVkIjoiIn0iIAogICAgICAgICAgICAgICAgICBAY2xpY2s9IiR7KCk9PnthPXIudG9Mb3dlckNhc2UoKTtsZXQgcz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkZWVzLW1vZGFsIik7cyYmdHlwZW9mIHMuZGVzdHJveT09ImZ1bmN0aW9uIiYmcy5kZXN0cm95KCksZShhKX19Ij4KICAgICAgICAgICAgICAgICAgJHtyfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNhbmNlbCIsYWN0aW9uOmkoYXN5bmMgcj0+e3IuZGVzdHJveSgpLGUobnVsbCl9LCJhY3Rpb24iKX1dfSl9KX1zdGF0aWMgYXN5bmMgc2hvd0Jsb2NrU2V0dGluZ3NNb2RhbChlLGEpe2xldCByPXdgCiAgICAgIDxzdHlsZT4KICAgICAgICAuc2V0dGluZ3MtY29udGFpbmVyIHsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgfQogICAgICAgIC5zZXR0aW5ncy1zZWN0aW9uIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIC5zZXR0aW5ncy1zZWN0aW9uOmxhc3QtY2hpbGQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICB9CiAgICAgICAgLnNldHRpbmdzLWxhYmVsIHsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgfQogICAgICAgIC5ibG9jay10eXBlLWdyaWQgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDE2MHB4LCAxZnIpKTsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgIH0KICAgICAgICAuYmxvY2stdHlwZS1idXR0b24gewogICAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgICAgfQogICAgICAgIC5ibG9jay10eXBlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjZDFkNWRiIiwiIzRiNTU2MyIpfTsKICAgICAgICB9CiAgICAgICAgLmJsb2NrLXR5cGUtYnV0dG9uLnNlbGVjdGVkIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjNmNGY2IiwiIzM3NDE1MSIpfTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgICB9CiAgICAgICAgLmJsb2NrLXR5cGUtaWNvbiB7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLWNvbnRhaW5lciI+CiAgICAgICAgJHt0aGlzLmdldEJsb2NrVHlwZVNlbGVjdG9yKGUsYSl9CiAgICAgICAgJHtlLnR5cGU9PT0iY29kZSI/dGhpcy5nZXRDb2RlQmxvY2tTZXR0aW5ncyhlLGEpOiIifQogICAgICA8L2Rpdj4KICAgIGA7TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiQmxvY2sgU2V0dGluZ3MiLGNvbnRlbnQ6cixtZW51T3B0aW9uczpbe25hbWU6IkRvbmUiLGFjdGlvbjppKGFzeW5jIHM9PntzLmRlc3Ryb3koKX0sImFjdGlvbiIpfV19KX1zdGF0aWMgZ2V0Q29kZUJsb2NrU2V0dGluZ3MoZSxhKXtsZXQgcj1lLm1ldGFkYXRhPy5sYW5ndWFnZXx8ImphdmFzY3JpcHQiO3JldHVybiB3YAogICAgICA8c3R5bGU+CiAgICAgICAgLmxhbmd1YWdlLWdyaWQgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDEwMHB4LCAxZnIpKTsKICAgICAgICAgIGdhcDogNnB4OwogICAgICAgIH0KICAgICAgICAubGFuZ3VhZ2UtYnV0dG9uIHsKICAgICAgICAgIHBhZGRpbmc6IDhweCA0cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgICB9CiAgICAgICAgLmxhbmd1YWdlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjZDFkNWRiIiwiIzRiNTU2MyIpfTsKICAgICAgICB9CiAgICAgICAgLmxhbmd1YWdlLWJ1dHRvbi5zZWxlY3RlZCB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2YzZjRmNiIsIiMzNzQxNTEiKX07CiAgICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+UHJvZ3JhbW1pbmcgTGFuZ3VhZ2U8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJsYW5ndWFnZS1ncmlkIj4KICAgICAgICAgICR7dGhpcy5nZXRMYW5ndWFnZXMoKS5tYXAocz0+d2AKICAgICAgICAgICAgPGRpdiAKICAgICAgICAgICAgICBjbGFzcz0ibGFuZ3VhZ2UtYnV0dG9uICR7cj09PXMudG9Mb3dlckNhc2UoKT8ic2VsZWN0ZWQiOiIifSIgCiAgICAgICAgICAgICAgQGNsaWNrPSIkeygpPT57ZS5tZXRhZGF0YXx8KGUubWV0YWRhdGE9e30pLGUubWV0YWRhdGEubGFuZ3VhZ2U9cy50b0xvd2VyQ2FzZSgpLGEoZSk7bGV0IG49ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZGVlcy1tb2RhbCIpO24mJnR5cGVvZiBuLmRlc3Ryb3k9PSJmdW5jdGlvbiImJm4uZGVzdHJveSgpfX0iCiAgICAgICAgICAgICAgZGF0YS1sYW5nPSIke3N9IgogICAgICAgICAgICA+JHtzfTwvZGl2PgogICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1zdGF0aWMgZ2V0TGFuZ3VhZ2VzKCl7cmV0dXJuWy4uLlFPXX1zdGF0aWMgZ2V0QmxvY2tUeXBlU2VsZWN0b3IoZSxhKXtsZXQgcj1wMS5nZXRTbGFzaE1lbnVJdGVtcygpLmZpbHRlcihzPT5zLnR5cGUhPT0iZGl2aWRlciIpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1sYWJlbCI+QmxvY2sgVHlwZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJsb2NrLXR5cGUtZ3JpZCI+CiAgICAgICAgICAke3IubWFwKHM9PndgCiAgICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgICAgY2xhc3M9ImJsb2NrLXR5cGUtYnV0dG9uICR7ZS50eXBlPT09cy50eXBlPyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0iJHthc3luYyBuPT57bGV0IG89bi5jdXJyZW50VGFyZ2V0LGw9ZS50eXBlO2lmKGUudHlwZT1zLnR5cGUsbD09PSJjb2RlIiYmZS50eXBlIT09ImNvZGUiKWRlbGV0ZSBlLm1ldGFkYXRhPy5sYW5ndWFnZTtlbHNlIGlmKGw9PT0ibGlzdCImJmUudHlwZSE9PSJsaXN0IilkZWxldGUgZS5tZXRhZGF0YT8ubGlzdFR5cGU7ZWxzZSBpZihlLnR5cGU9PT0ibGlzdCImJiFlLm1ldGFkYXRhPy5saXN0VHlwZSllLm1ldGFkYXRhPXtsaXN0VHlwZToiYnVsbGV0In07ZWxzZSBpZihlLnR5cGU9PT0iY29kZSImJiFlLm1ldGFkYXRhPy5sYW5ndWFnZSl7bGV0IHU9YXdhaXQgdGhpcy5zaG93TGFuZ3VhZ2VTZWxlY3Rpb25Nb2RhbCgpO2lmKHUpZS5tZXRhZGF0YT17bGFuZ3VhZ2U6dX07ZWxzZXtlLnR5cGU9bDtyZXR1cm59fWEoZSk7bGV0IGg9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiZGVlcy1tb2RhbCIpO2gmJnR5cGVvZiBoLmRlc3Ryb3k9PSJmdW5jdGlvbiImJmguZGVzdHJveSgpfX0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmxvY2stdHlwZS1pY29uIj4ke3MuaWNvbn08L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4+JHtzLmxhYmVsfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfX19KTt2YXIgcEIsRFp0PWMoKCk9PntzaSgpO1k4KCk7ZjYoKTtQbygpO0hPZSgpO1VPZSgpO3BCPWNsYXNze3N0YXRpY3tpKHRoaXMsIld5c2l3eWdJbnB1dEhhbmRsZXIiKX1jb21wb25lbnQ7c2F2ZVRpbWVvdXQ9bnVsbDtjb25zdHJ1Y3RvcihlKXt0aGlzLmNvbXBvbmVudD1lfWhhbmRsZUJsb2NrSW5wdXQoZSxhKXtpZih0aGlzLmNvbXBvbmVudC5pc0NvbXBvc2luZylyZXR1cm47bGV0IHI9ZS50YXJnZXQscz1yLnRleHRDb250ZW50fHwiIixuPXRoaXMuZGV0ZWN0QmxvY2tUeXBlSW50ZW50KHMpO2lmKG4mJm4udHlwZSE9PWEudHlwZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGFuZGxlQmxvY2tUcmFuc2Zvcm1hdGlvbihhLG4scik7cmV0dXJufXRoaXMuaGFuZGxlU2xhc2hDb21tYW5kKHMsciksdGhpcy5zY2hlZHVsZUF1dG9TYXZlKCl9dXBkYXRlQmxvY2tDb250ZW50KGUsYSl7bGV0IHM9YS5jbG9zZXN0KCIuYmxvY2std3JhcHBlciIpPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZihzKXtsZXQgbj1zLmdldENvbnRlbnQoKTtpZihlLmNvbnRlbnQhPT1uJiYoZS5jb250ZW50PW4pLGUudHlwZT09PSJsaXN0Iil7bGV0IG89YS5xdWVyeVNlbGVjdG9yKCJvbCwgdWwiKTtvJiYoZS5tZXRhZGF0YT17bGlzdFR5cGU6by50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT0ib2wiPyJvcmRlcmVkIjoiYnVsbGV0In0pfX1lbHNlIGlmKGUudHlwZT09PSJsaXN0Iil7bGV0IG49YS5xdWVyeVNlbGVjdG9yQWxsKCJsaSIpO2UuY29udGVudD1BcnJheS5mcm9tKG4pLm1hcChsPT5sLmlubmVySFRNTHx8IiIpLmpvaW4oYApgKTtsZXQgbz1hLnF1ZXJ5U2VsZWN0b3IoIm9sLCB1bCIpO28mJihlLm1ldGFkYXRhPXtsaXN0VHlwZTpvLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PSJvbCI/Im9yZGVyZWQiOiJidWxsZXQifSl9ZWxzZSBlLnR5cGU9PT0iY29kZSI/ZS5jb250ZW50PWEudGV4dENvbnRlbnR8fCIiOmUuY29udGVudD1hLmlubmVySFRNTHx8IiJ9ZGV0ZWN0QmxvY2tUeXBlSW50ZW50KGUpe2xldCBhPXAxLmNoZWNrSGVhZGluZ1Nob3J0Y3V0KGUpO2lmKGEpcmV0dXJuIGE7bGV0IHI9cDEuY2hlY2tMaXN0U2hvcnRjdXQoZSk7cmV0dXJuIHJ8fChwMS5jaGVja1F1b3RlU2hvcnRjdXQoZSk/e3R5cGU6InF1b3RlIn06cDEuY2hlY2tDb2RlU2hvcnRjdXQoZSk/e3R5cGU6ImNvZGUifTpwMS5jaGVja0RpdmlkZXJTaG9ydGN1dChlKT97dHlwZToiZGl2aWRlciJ9Om51bGwpfWFzeW5jIGhhbmRsZUJsb2NrVHJhbnNmb3JtYXRpb24oZSxhLHIpe2xldCBzPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucztpZihhLnR5cGU9PT0ibGlzdCIpe2UudHlwZT0ibGlzdCIsZS5jb250ZW50PSIiLGUubWV0YWRhdGE9e2xpc3RUeXBlOmEubGlzdFR5cGV9O2xldCBuPWEubGlzdFR5cGU9PT0ib3JkZXJlZCI/Im9sIjoidWwiO3IuaW5uZXJIVE1MPWA8JHtufT48bGk+PC9saT48LyR7bn0+YCx0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpLHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYmJnRoaXMuY29tcG9uZW50LnVwZGF0ZUJsb2NrRWxlbWVudChlLmlkKSxzZXRUaW1lb3V0KCgpPT57YXIuZm9jdXNMaXN0SXRlbShyKX0sMCl9ZWxzZSBpZihhLnR5cGU9PT0iZGl2aWRlciIpe2UudHlwZT0iZGl2aWRlciIsZS5jb250ZW50PSIgIix0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLmNvbXBvbmVudC51cGRhdGVCbG9ja0VsZW1lbnQoZS5pZCk7bGV0IG49cy5jcmVhdGVCbG9jaygpO3MuaW5zZXJ0QmxvY2tBZnRlcihlLG4pLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCl9ZWxzZSBpZihhLnR5cGU9PT0iY29kZSIpe2xldCBuPWF3YWl0IGRCLnNob3dMYW5ndWFnZVNlbGVjdGlvbk1vZGFsKCk7biYmKGUudHlwZT0iY29kZSIsZS5jb250ZW50PSIiLGUubWV0YWRhdGE9e2xhbmd1YWdlOm59LHIudGV4dENvbnRlbnQ9IiIsdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKSx0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLmNvbXBvbmVudC51cGRhdGVCbG9ja0VsZW1lbnQoZS5pZCksc2V0VGltZW91dChhc3luYygpPT57YXdhaXQgcy5mb2N1c0Jsb2NrKGUuaWQsInN0YXJ0Iil9LDUwKSl9ZWxzZSBlLnR5cGU9YS50eXBlLGUuY29udGVudD0iIixyLnRleHRDb250ZW50PSIiLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCksdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZiYmdGhpcy5jb21wb25lbnQudXBkYXRlQmxvY2tFbGVtZW50KGUuaWQpLHNldFRpbWVvdXQoYXN5bmMoKT0+e2F3YWl0IHMuZm9jdXNCbG9jayhlLmlkLCJzdGFydCIpfSw1MCl9aGFuZGxlU2xhc2hDb21tYW5kKGUsYSl7bGV0IHI9dGhpcy5jb21wb25lbnQuc2xhc2hNZW51LHM9ciYmci52aXNpYmxlO2lmKGU9PT0iLyJ8fGUuc3RhcnRzV2l0aCgiLyIpJiZzKXtpZighcyYmZT09PSIvIil7bGV0IG49dGhpcy5nZXRDYXJldENvb3JkaW5hdGVzKGEpO3Iuc2hvdyh7eDpuLmxlZnQseTpuLmJvdHRvbSs0fSxvPT57dGhpcy5jb21wb25lbnQuaW5zZXJ0QmxvY2sobyl9KSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pntkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09YSYmYS5mb2N1cygpfSl9ciYmci51cGRhdGVGaWx0ZXIoZS5zbGljZSgxKSl9ZWxzZSBlLnN0YXJ0c1dpdGgoIi8iKXx8dGhpcy5jb21wb25lbnQuY2xvc2VTbGFzaE1lbnUoKX1nZXRDYXJldENvb3JkaW5hdGVzKGUpe2xldCBhPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihhJiZhLnJhbmdlQ291bnQ+MCl7bGV0IHM9YS5nZXRSYW5nZUF0KDApLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKHMud2lkdGg+MHx8cy5oZWlnaHQ+MClyZXR1cm4gc31yZXR1cm4gZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1zY2hlZHVsZUF1dG9TYXZlKCl7dGhpcy5zYXZlVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuc2F2ZVRpbWVvdXQpLCEodGhpcy5jb21wb25lbnQuc2xhc2hNZW51JiZ0aGlzLmNvbXBvbmVudC5zbGFzaE1lbnUudmlzaWJsZSkmJih0aGlzLnNhdmVUaW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLnN5bmNBbGxCbG9ja0NvbnRlbnQoKSx0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpfSwyZTMpKX1zeW5jQWxsQmxvY2tDb250ZW50KCl7dGhpcy5jb21wb25lbnQuYmxvY2tzLmZvckVhY2goZT0+e2xldCByPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke2UuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYociYmci5nZXRDb250ZW50KXtsZXQgcz1yLmdldENvbnRlbnQoKTtlLmNvbnRlbnQhPT1zJiYoZS5jb250ZW50PXMpfX0pfWRlc3Ryb3koKXt0aGlzLnNhdmVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5zYXZlVGltZW91dCl9fX0pO3ZhciB1QixBWnQ9YygoKT0+e3NpKCk7WTgoKTtUMigpO3VCPWNsYXNze3N0YXRpY3tpKHRoaXMsIld5c2l3eWdLZXlib2FyZEhhbmRsZXIiKX1jb21wb25lbnQ7Y29uc3RydWN0b3IoZSl7dGhpcy5jb21wb25lbnQ9ZX1hc3luYyBoYW5kbGVCbG9ja0tleURvd24oZSxhKXtpZih0aGlzLmNvbXBvbmVudC5zbGFzaE1lbnUudmlzaWJsZSYmdGhpcy5pc1NsYXNoTWVudUtleShlLmtleSkpe3RoaXMuY29tcG9uZW50LmhhbmRsZVNsYXNoTWVudUtleWJvYXJkKGUpO3JldHVybn1pZighdGhpcy5oYW5kbGVGb3JtYXR0aW5nU2hvcnRjdXRzKGUpKXN3aXRjaChlLmtleSl7Y2FzZSJUYWIiOnRoaXMuaGFuZGxlVGFiKGUsYSk7YnJlYWs7Y2FzZSJFbnRlciI6YXdhaXQgdGhpcy5oYW5kbGVFbnRlcihlLGEpO2JyZWFrO2Nhc2UiQmFja3NwYWNlIjphd2FpdCB0aGlzLmhhbmRsZUJhY2tzcGFjZShlLGEpO2JyZWFrO2Nhc2UiRGVsZXRlIjphd2FpdCB0aGlzLmhhbmRsZURlbGV0ZShlLGEpO2JyZWFrO2Nhc2UiQXJyb3dVcCI6YXdhaXQgdGhpcy5oYW5kbGVBcnJvd1VwKGUsYSk7YnJlYWs7Y2FzZSJBcnJvd0Rvd24iOmF3YWl0IHRoaXMuaGFuZGxlQXJyb3dEb3duKGUsYSk7YnJlYWs7Y2FzZSJBcnJvd0xlZnQiOmF3YWl0IHRoaXMuaGFuZGxlQXJyb3dMZWZ0KGUsYSk7YnJlYWs7Y2FzZSJBcnJvd1JpZ2h0Ijphd2FpdCB0aGlzLmhhbmRsZUFycm93UmlnaHQoZSxhKTticmVha319aXNTbGFzaE1lbnVLZXkoZSl7cmV0dXJuWyJBcnJvd0Rvd24iLCJBcnJvd1VwIiwiRW50ZXIiLCJFc2NhcGUiXS5pbmNsdWRlcyhlKX1oYW5kbGVGb3JtYXR0aW5nU2hvcnRjdXRzKGUpe2lmKCEoZS5tZXRhS2V5fHxlLmN0cmxLZXkpKXJldHVybiExO3N3aXRjaChlLmtleS50b0xvd2VyQ2FzZSgpKXtjYXNlImIiOnJldHVybiBlLnByZXZlbnREZWZhdWx0KCksUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+dGhpcy5jb21wb25lbnQuYXBwbHlGb3JtYXQoImJvbGQiKSksITA7Y2FzZSJpIjpyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnRoaXMuY29tcG9uZW50LmFwcGx5Rm9ybWF0KCJpdGFsaWMiKSksITA7Y2FzZSJ1IjpyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnRoaXMuY29tcG9uZW50LmFwcGx5Rm9ybWF0KCJ1bmRlcmxpbmUiKSksITA7Y2FzZSJrIjpyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnRoaXMuY29tcG9uZW50LmFwcGx5Rm9ybWF0KCJsaW5rIikpLCEwfXJldHVybiExfWhhbmRsZVRhYihlLGEpe2EudHlwZSE9PSJjb2RlIiYmYS50eXBlPT09Imxpc3QiJiZlLnByZXZlbnREZWZhdWx0KCl9YXN5bmMgaGFuZGxlRW50ZXIoZSxhKXtsZXQgcj10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnM7aWYoWyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdLmluY2x1ZGVzKGEudHlwZSkpe2UucHJldmVudERlZmF1bHQoKTtsZXQgbj1yLmNyZWF0ZUJsb2NrKCk7YXdhaXQgci5pbnNlcnRCbG9ja0FmdGVyKGEsbik7cmV0dXJufWlmKGEudHlwZT09PSJjb2RlIil7aWYoZS5zaGlmdEtleSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBuPXIuY3JlYXRlQmxvY2soKTthd2FpdCByLmluc2VydEJsb2NrQWZ0ZXIoYSxuKX1yZXR1cm59aWYoIWUuc2hpZnRLZXkpaWYoYS50eXBlPT09Imxpc3QiKWF3YWl0IHRoaXMuaGFuZGxlRW50ZXJJbkxpc3QoZSxhKTtlbHNle2UucHJldmVudERlZmF1bHQoKTtsZXQgbz10aGlzLmNvbXBvbmVudC5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHthLmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKG8mJm8uZ2V0U3BsaXRDb250ZW50KXtsZXQgbD1vLmdldFNwbGl0Q29udGVudCgpO2lmKGwpe28uc2V0Q29udGVudChsLmJlZm9yZSksYS5jb250ZW50PWwuYmVmb3JlO2xldCBoPXIuY3JlYXRlQmxvY2soInBhcmFncmFwaCIsbC5hZnRlcik7YXdhaXQgci5pbnNlcnRCbG9ja0FmdGVyKGEsaCksdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKX1lbHNle2xldCBoPXIuY3JlYXRlQmxvY2soKTthd2FpdCByLmluc2VydEJsb2NrQWZ0ZXIoYSxoKX19ZWxzZXtsZXQgbD1yLmNyZWF0ZUJsb2NrKCk7YXdhaXQgci5pbnNlcnRCbG9ja0FmdGVyKGEsbCl9fX1hc3luYyBoYW5kbGVFbnRlckluTGlzdChlLGEpe2xldCByPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihyJiZyLnJhbmdlQ291bnQ+MCl7bGV0IG49ci5nZXRSYW5nZUF0KDApLnN0YXJ0Q29udGFpbmVyLnBhcmVudEVsZW1lbnQ/LmNsb3Nlc3QoImxpIik7aWYobiYmbi50ZXh0Q29udGVudD09PSIiKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IG89dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLGw9by5jcmVhdGVCbG9jaygpO2F3YWl0IG8uaW5zZXJ0QmxvY2tBZnRlcihhLGwpfX19YXN5bmMgaGFuZGxlQmFja3NwYWNlKGUsYSl7bGV0IHI9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zO2lmKFsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyhhLnR5cGUpKXtpZihlLnByZXZlbnREZWZhdWx0KCksdGhpcy5jb21wb25lbnQuYmxvY2tzLmxlbmd0aD09PTEpe3RoaXMuY29tcG9uZW50LnNhdmVUb0hpc3RvcnkoITEpLHIucmVtb3ZlQmxvY2soYS5pZCk7bGV0IHg9ci5jcmVhdGVCbG9jaygicGFyYWdyYXBoIiwiIik7dGhpcy5jb21wb25lbnQuYmxvY2tzPVt4XSx0aGlzLmNvbXBvbmVudC5yZW5kZXJCbG9ja3NQcm9ncmFtbWF0aWNhbGx5KCksYXdhaXQgci5mb2N1c0Jsb2NrKHguaWQsInN0YXJ0IiksdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKTtyZXR1cm59dGhpcy5jb21wb25lbnQuc2F2ZVRvSGlzdG9yeSghMSk7bGV0IGc9ci5nZXRQcmV2aW91c0Jsb2NrKGEuaWQpLHY9ci5nZXROZXh0QmxvY2soYS5pZCk7ci5yZW1vdmVCbG9jayhhLmlkKSxnJiZnLnR5cGUhPT0iZGl2aWRlciImJmcudHlwZSE9PSJpbWFnZSI/YXdhaXQgci5mb2N1c0Jsb2NrKGcuaWQsImVuZCIpOnYmJnYudHlwZSE9PSJkaXZpZGVyIiYmdi50eXBlIT09ImltYWdlIj9hd2FpdCByLmZvY3VzQmxvY2sodi5pZCwic3RhcnQiKTpnP2F3YWl0IHIuZm9jdXNCbG9jayhnLmlkKTp2JiZhd2FpdCByLmZvY3VzQmxvY2sodi5pZCk7cmV0dXJufWxldCBvPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke2EuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoIW98fCFvLnNoYWRvd1Jvb3QpcmV0dXJuO2xldCBsPWEudHlwZT09PSJjb2RlIj9vLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik6by5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFsKXJldHVybjtsZXQgaD1vLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpLHU9W107aD8uc2hhZG93Um9vdCYmdS5wdXNoKGguc2hhZG93Um9vdCksdS5wdXNoKG8uc2hhZG93Um9vdCk7bGV0IGY9WWUuZ2V0Q3Vyc29yUG9zaXRpb25JbkVsZW1lbnQobCwuLi51KSxwPW8uZ2V0Q29udGVudD9vLmdldENvbnRlbnQoKTpsLnRleHRDb250ZW50O2lmKGY9PT0wKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IGc9ci5nZXRQcmV2aW91c0Jsb2NrKGEuaWQpO2lmKGcpe2lmKFsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyhnLnR5cGUpKXthd2FpdCByLmZvY3VzQmxvY2soZy5pZCk7cmV0dXJufWlmKHRoaXMuY29tcG9uZW50LnNhdmVUb0hpc3RvcnkoITEpLGcudHlwZT09PSJjb2RlIiYmYS50eXBlIT09ImNvZGUiKXthLmNvbnRlbnQ9PT0iIiYmKHIucmVtb3ZlQmxvY2soYS5pZCksYXdhaXQgci5mb2N1c0Jsb2NrKGcuaWQsImVuZCIpKTtyZXR1cm59aWYoYS50eXBlPT09ImNvZGUiJiZnLnR5cGUhPT0iY29kZSIpe2xldCBFPW8uZ2V0Q29udGVudD9vLmdldENvbnRlbnQoKTphLmNvbnRlbnQ7KEU9PT0iInx8RS50cmltKCk9PT0iIikmJihyLnJlbW92ZUJsb2NrKGEuaWQpLGF3YWl0IHIuZm9jdXNCbG9jayhnLmlkLCJlbmQiKSk7cmV0dXJufWxldCBiPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke2cuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIiksbT1iPy5nZXRDb250ZW50KCl8fGcuY29udGVudHx8IiIseT1vLmdldENvbnRlbnQoKXx8YS5jb250ZW50fHwiIixNPSIiO2cudHlwZT09PSJjb2RlIiYmYS50eXBlPT09ImNvZGUifHxnLnR5cGU9PT0ibGlzdCImJmEudHlwZT09PSJsaXN0Ij9NPW0rKG0mJnk/YApgOiIiKSt5Ok09bSsobSYmeT8iICI6IiIpK3k7bGV0IGs9bS5sZW5ndGg7ci51cGRhdGVCbG9ja0NvbnRlbnQoZy5pZCxNKSxiJiZiLnNldENvbnRlbnQoTSksci5yZW1vdmVCbG9jayhhLmlkKSxhd2FpdCByLmZvY3VzQmxvY2soZy5pZCxrKX19ZWxzZSBpZih0aGlzLmNvbXBvbmVudC5ibG9ja3MubGVuZ3RoPjEpe2xldCBnPW8uZ2V0Q29udGVudD9vLmdldENvbnRlbnQoKTphLmNvbnRlbnQ7aWYoZz09PSIifHxnLnRyaW0oKT09PSIiKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IHY9ci5nZXRQcmV2aW91c0Jsb2NrKGEuaWQpO3YmJihyLnJlbW92ZUJsb2NrKGEuaWQpLHYudHlwZSE9PSJkaXZpZGVyIiYmYXdhaXQgci5mb2N1c0Jsb2NrKHYuaWQsImVuZCIpKX19fWFzeW5jIGhhbmRsZURlbGV0ZShlLGEpe2xldCByPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucztpZihbImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il0uaW5jbHVkZXMoYS50eXBlKSl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY29tcG9uZW50LmJsb2Nrcy5sZW5ndGg9PT0xKXt0aGlzLmNvbXBvbmVudC5zYXZlVG9IaXN0b3J5KCExKSxyLnJlbW92ZUJsb2NrKGEuaWQpO2xldCBiPXIuY3JlYXRlQmxvY2soInBhcmFncmFwaCIsIiIpO3RoaXMuY29tcG9uZW50LmJsb2Nrcz1bYl0sdGhpcy5jb21wb25lbnQucmVuZGVyQmxvY2tzUHJvZ3JhbW1hdGljYWxseSgpLGF3YWl0IHIuZm9jdXNCbG9jayhiLmlkLCJzdGFydCIpLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCk7cmV0dXJufXRoaXMuY29tcG9uZW50LnNhdmVUb0hpc3RvcnkoITEpO2xldCBnPXIuZ2V0UHJldmlvdXNCbG9jayhhLmlkKSx2PXIuZ2V0TmV4dEJsb2NrKGEuaWQpO3IucmVtb3ZlQmxvY2soYS5pZCk7bGV0IHg9WyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdO3YmJiF4LmluY2x1ZGVzKHYudHlwZSk/YXdhaXQgci5mb2N1c0Jsb2NrKHYuaWQsInN0YXJ0Iik6ZyYmIXguaW5jbHVkZXMoZy50eXBlKT9hd2FpdCByLmZvY3VzQmxvY2soZy5pZCwiZW5kIik6dj9hd2FpdCByLmZvY3VzQmxvY2sodi5pZCk6ZyYmYXdhaXQgci5mb2N1c0Jsb2NrKGcuaWQpO3JldHVybn1sZXQgbz10aGlzLmNvbXBvbmVudC5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHthLmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKCFvfHwhby5zaGFkb3dSb290KXJldHVybjtsZXQgbD1hLnR5cGU9PT0iY29kZSI/by5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpOm8uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZighbClyZXR1cm47bGV0IGg9by5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKSx1PVtdO2g/LnNoYWRvd1Jvb3QmJnUucHVzaChoLnNoYWRvd1Jvb3QpLHUucHVzaChvLnNoYWRvd1Jvb3QpO2xldCBmPVllLmdldEN1cnNvclBvc2l0aW9uSW5FbGVtZW50KGwsLi4udSkscD1sLnRleHRDb250ZW50Py5sZW5ndGh8fDA7aWYoZj09PXApe2xldCBnPXIuZ2V0TmV4dEJsb2NrKGEuaWQpO2lmKGcmJlsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyhnLnR5cGUpKXtlLnByZXZlbnREZWZhdWx0KCksYXdhaXQgci5mb2N1c0Jsb2NrKGcuaWQpO3JldHVybn19fWFzeW5jIGhhbmRsZUFycm93VXAoZSxhKXtsZXQgcj1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il07aWYoci5pbmNsdWRlcyhhLnR5cGUpKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IGY9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLHA9Zi5nZXRQcmV2aW91c0Jsb2NrKGEuaWQpO3AmJmF3YWl0IGYuZm9jdXNCbG9jayhwLmlkLHIuaW5jbHVkZXMocC50eXBlKT92b2lkIDA6ImVuZCIpO3JldHVybn1sZXQgbj10aGlzLmNvbXBvbmVudC5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHthLmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKCFufHwhbi5zaGFkb3dSb290KXJldHVybjtsZXQgbz1hLnR5cGU9PT0iY29kZSI/bi5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpOm4uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZighbylyZXR1cm47bGV0IGw9bi5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKSxoPVtdO2w/LnNoYWRvd1Jvb3QmJmgucHVzaChsLnNoYWRvd1Jvb3QpLGgucHVzaChuLnNoYWRvd1Jvb3QpO2xldCB1PVllLmdldFNlbGVjdGlvbkluZm8oLi4uaCk7aWYoISghdXx8IXUuY29sbGFwc2VkKSYmdGhpcy5pc09uRmlyc3RMaW5lKHUsbywuLi5oKSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBmPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucyxwPWYuZ2V0UHJldmlvdXNCbG9jayhhLmlkKTtpZihwKXtsZXQgZz1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il07YXdhaXQgZi5mb2N1c0Jsb2NrKHAuaWQsZy5pbmNsdWRlcyhwLnR5cGUpP3ZvaWQgMDoiZW5kIil9fX1hc3luYyBoYW5kbGVBcnJvd0Rvd24oZSxhKXtpZihbImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il0uaW5jbHVkZXMoYS50eXBlKSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBmPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucyxwPWYuZ2V0TmV4dEJsb2NrKGEuaWQpO2lmKHApe2xldCBnPVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTthd2FpdCBmLmZvY3VzQmxvY2socC5pZCxnLmluY2x1ZGVzKHAudHlwZSk/dm9pZCAwOiJzdGFydCIpfXJldHVybn1sZXQgbj10aGlzLmNvbXBvbmVudC5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHthLmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKCFufHwhbi5zaGFkb3dSb290KXJldHVybjtsZXQgbz1hLnR5cGU9PT0iY29kZSI/bi5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpOm4uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZighbylyZXR1cm47bGV0IGw9bi5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKSxoPVtdO2w/LnNoYWRvd1Jvb3QmJmgucHVzaChsLnNoYWRvd1Jvb3QpLGgucHVzaChuLnNoYWRvd1Jvb3QpO2xldCB1PVllLmdldFNlbGVjdGlvbkluZm8oLi4uaCk7aWYoISghdXx8IXUuY29sbGFwc2VkKSYmdGhpcy5pc09uTGFzdExpbmUodSxvLC4uLmgpKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IGY9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLHA9Zi5nZXROZXh0QmxvY2soYS5pZCk7aWYocCl7bGV0IGc9WyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdO2F3YWl0IGYuZm9jdXNCbG9jayhwLmlkLGcuaW5jbHVkZXMocC50eXBlKT92b2lkIDA6InN0YXJ0Iil9fX1nZXRMYXN0VGV4dE5vZGUoZSl7aWYoZS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXJldHVybiBlO2ZvcihsZXQgYT1lLmNoaWxkTm9kZXMubGVuZ3RoLTE7YT49MDthLS0pe2xldCByPXRoaXMuZ2V0TGFzdFRleHROb2RlKGUuY2hpbGROb2Rlc1thXSk7aWYocilyZXR1cm4gcn1yZXR1cm4gbnVsbH1hc3luYyBoYW5kbGVBcnJvd0xlZnQoZSxhKXtpZihbImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il0uaW5jbHVkZXMoYS50eXBlKSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBwPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucyxnPXAuZ2V0UHJldmlvdXNCbG9jayhhLmlkKTtpZihnKXtsZXQgdj1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il07YXdhaXQgcC5mb2N1c0Jsb2NrKGcuaWQsdi5pbmNsdWRlcyhnLnR5cGUpP3ZvaWQgMDoiZW5kIil9cmV0dXJufWxldCBuPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke2EuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoIW58fCFuLnNoYWRvd1Jvb3QpcmV0dXJuO2xldCBvPWEudHlwZT09PSJjb2RlIj9uLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik6bi5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFvKXJldHVybjtsZXQgbD1uLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpLGg9W107bD8uc2hhZG93Um9vdCYmaC5wdXNoKGwuc2hhZG93Um9vdCksaC5wdXNoKG4uc2hhZG93Um9vdCk7bGV0IHU9WWUuZ2V0U2VsZWN0aW9uSW5mbyguLi5oKTtpZighdXx8IXUuY29sbGFwc2VkKXJldHVybjtpZihZZS5nZXRDdXJzb3JQb3NpdGlvbkluRWxlbWVudChvLC4uLmgpPT09MCl7bGV0IHA9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLGc9cC5nZXRQcmV2aW91c0Jsb2NrKGEuaWQpO2lmKGcpe2UucHJldmVudERlZmF1bHQoKTtsZXQgeD1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il0uaW5jbHVkZXMoZy50eXBlKT92b2lkIDA6ImVuZCI7YXdhaXQgcC5mb2N1c0Jsb2NrKGcuaWQseCl9fX1hc3luYyBoYW5kbGVBcnJvd1JpZ2h0KGUsYSl7aWYoWyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdLmluY2x1ZGVzKGEudHlwZSkpe2UucHJldmVudERlZmF1bHQoKTtsZXQgZz10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnMsdj1nLmdldE5leHRCbG9jayhhLmlkKTtpZih2KXtsZXQgeD1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il07YXdhaXQgZy5mb2N1c0Jsb2NrKHYuaWQseC5pbmNsdWRlcyh2LnR5cGUpP3ZvaWQgMDoic3RhcnQiKX1yZXR1cm59bGV0IG49dGhpcy5jb21wb25lbnQuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7YS5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZighbnx8IW4uc2hhZG93Um9vdClyZXR1cm47bGV0IG89YS50eXBlPT09ImNvZGUiP24uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTpuLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIW8pcmV0dXJuO2xldCBsPW4uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIiksaD1bXTtsPy5zaGFkb3dSb290JiZoLnB1c2gobC5zaGFkb3dSb290KSxoLnB1c2gobi5zaGFkb3dSb290KTtsZXQgdT1ZZS5nZXRTZWxlY3Rpb25JbmZvKC4uLmgpO2lmKCF1fHwhdS5jb2xsYXBzZWQpcmV0dXJuO2xldCBmPVllLmdldEN1cnNvclBvc2l0aW9uSW5FbGVtZW50KG8sLi4uaCkscD1vLnRleHRDb250ZW50Py5sZW5ndGh8fDA7aWYoZj09PXApe2xldCBnPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucyx2PWcuZ2V0TmV4dEJsb2NrKGEuaWQpO2lmKHYpe2UucHJldmVudERlZmF1bHQoKTtsZXQgeD1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il07YXdhaXQgZy5mb2N1c0Jsb2NrKHYuaWQseC5pbmNsdWRlcyh2LnR5cGUpP3ZvaWQgMDoic3RhcnQiKX19fWlzT25GaXJzdExpbmUoZSxhLC4uLnIpe3RyeXtsZXQgcz1ZZS5jcmVhdGVSYW5nZUZyb21JbmZvKGUpLG49cy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPXMuY29tbW9uQW5jZXN0b3JDb250YWluZXI7by5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYobz1vLnBhcmVudEVsZW1lbnQpO2xldCBsPW8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaD1uLnRvcC1sLnRvcDw1O3JldHVybiBvLnRleHRDb250ZW50JiYhby50ZXh0Q29udGVudC5pbmNsdWRlcyhgCmApP1llLmdldEN1cnNvclBvc2l0aW9uSW5FbGVtZW50KG8sLi4ucik9PT0wOmh9Y2F0Y2gocyl7cmV0dXJuIGNvbnNvbGUud2FybigiRXJyb3IgY2hlY2tpbmcgZmlyc3QgbGluZToiLHMpLGUuc3RhcnRPZmZzZXQ9PT0wfX1pc09uTGFzdExpbmUoZSxhLC4uLnIpe3RyeXtsZXQgcz1ZZS5jcmVhdGVSYW5nZUZyb21JbmZvKGUpLG49cy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvPXMuY29tbW9uQW5jZXN0b3JDb250YWluZXI7by5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYobz1vLnBhcmVudEVsZW1lbnQpO2xldCBoPW8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuYm90dG9tLW4uYm90dG9tPDU7aWYoby50ZXh0Q29udGVudCYmIW8udGV4dENvbnRlbnQuaW5jbHVkZXMoYApgKSl7bGV0IHU9YS50ZXh0Q29udGVudD8ubGVuZ3RofHwwO3JldHVybiBZZS5nZXRDdXJzb3JQb3NpdGlvbkluRWxlbWVudChhLC4uLnIpPT09dX1yZXR1cm4gaH1jYXRjaChzKXtjb25zb2xlLndhcm4oIkVycm9yIGNoZWNraW5nIGxhc3QgbGluZToiLHMpO2xldCBuPWEudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MDtyZXR1cm4gWWUuZ2V0Q3Vyc29yUG9zaXRpb25JbkVsZW1lbnQoYSwuLi5yKT09PW59fX19KTt2YXIgZkIsUFp0PWMoKCk9PntzaSgpO1k4KCk7ZkI9Y2xhc3N7c3RhdGlje2kodGhpcywiV3lzaXd5Z0RyYWdEcm9wSGFuZGxlciIpfWNvbXBvbmVudDtkcmFnZ2VkQmxvY2tJZD1udWxsO2RyYWdPdmVyQmxvY2tJZD1udWxsO2RyYWdPdmVyUG9zaXRpb249bnVsbDtkcm9wSW5kaWNhdG9yPW51bGw7aW5pdGlhbE1vdXNlWT0wO2luaXRpYWxCbG9ja1k9MDtkcmFnZ2VkQmxvY2tFbGVtZW50PW51bGw7ZHJhZ2dlZEJsb2NrSGVpZ2h0PTA7ZHJhZ2dlZEJsb2NrQ29udGVudEhlaWdodD0wO2RyYWdnZWRCbG9ja01hcmdpblRvcD0wO2xhc3RVcGRhdGVUaW1lPTA7dXBkYXRlVGhyb3R0bGU9ODA7Y29uc3RydWN0b3IoZSl7dGhpcy5jb21wb25lbnQ9ZX1nZXQgZHJhZ1N0YXRlKCl7cmV0dXJue2RyYWdnZWRCbG9ja0lkOnRoaXMuZHJhZ2dlZEJsb2NrSWQsZHJhZ092ZXJCbG9ja0lkOnRoaXMuZHJhZ092ZXJCbG9ja0lkLGRyYWdPdmVyUG9zaXRpb246dGhpcy5kcmFnT3ZlclBvc2l0aW9ufX1oYW5kbGVEcmFnU3RhcnQoZSxhKXtpZighZS5kYXRhVHJhbnNmZXIpcmV0dXJuO3RoaXMuZHJhZ2dlZEJsb2NrSWQ9YS5pZCxlLmRhdGFUcmFuc2Zlci5lZmZlY3RBbGxvd2VkPSJtb3ZlIixlLmRhdGFUcmFuc2Zlci5zZXREYXRhKCJ0ZXh0L3BsYWluIixhLmlkKTtsZXQgcj1uZXcgSW1hZ2U7aWYoci5zcmM9ImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFVRUJBQUFBQ3dBQUFBQUFRQUJBQUFDQWtRQkFEcz0iLGUuZGF0YVRyYW5zZmVyLnNldERyYWdJbWFnZShyLDAsMCksdGhpcy5pbml0aWFsTW91c2VZPWUuY2xpZW50WSx0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQ9dGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHthLmlkfSJdYCksdGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50KXtsZXQgcz10aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5pbml0aWFsQmxvY2tZPXMudG9wO2xldCBuPXRoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudC5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZihuKXtsZXQgbz1uLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGw9d2luZG93LmdldENvbXB1dGVkU3R5bGUobik7dGhpcy5kcmFnZ2VkQmxvY2tNYXJnaW5Ub3A9cGFyc2VJbnQobC5tYXJnaW5Ub3ApfHwwLHRoaXMuZHJhZ2dlZEJsb2NrQ29udGVudEhlaWdodD1vLmhlaWdodH10aGlzLmRyYWdnZWRCbG9ja0hlaWdodD1zLmhlaWdodCxjb25zb2xlLmxvZygiRHJhZyBtZWFzdXJlbWVudHM6Iix7d3JhcHBlckhlaWdodDpzLmhlaWdodCxtYXJnaW5Ub3A6dGhpcy5kcmFnZ2VkQmxvY2tNYXJnaW5Ub3AsZHJvcEluZGljYXRvckhlaWdodDp0aGlzLmRyYWdnZWRCbG9ja0hlaWdodCxjb250ZW50SGVpZ2h0OnRoaXMuZHJhZ2dlZEJsb2NrQ29udGVudEhlaWdodCxibG9ja0lkOmEuaWR9KSx0aGlzLmNyZWF0ZURyb3BJbmRpY2F0b3IoKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJkcmFnb3ZlciIsdGhpcy5oYW5kbGVHbG9iYWxEcmFnT3ZlciksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2VuZCIsdGhpcy5oYW5kbGVHbG9iYWxEcmFnRW5kKX10aGlzLmNvbXBvbmVudC5kcmFnZ2VkQmxvY2tJZD10aGlzLmRyYWdnZWRCbG9ja0lkLHNldFRpbWVvdXQoKCk9Pnt0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQmJnRoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpLHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYmJnRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYuY2xhc3NMaXN0LmFkZCgiZHJhZ2dpbmciKX0sMTApfWhhbmRsZURyYWdFbmQoKXt0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3JBbGwoIi5ibG9jay13cmFwcGVyIikuZm9yRWFjaChhPT57YS5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIsIm1vdmUtdXAiLCJtb3ZlLWRvd24iKSxhLnN0eWxlLnJlbW92ZVByb3BlcnR5KCItLWRyYWctb2Zmc2V0IiksYS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgidHJhbnNmb3JtIil9KSx0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksdGhpcy5kcmFnZ2VkQmxvY2tJZD1udWxsLHRoaXMuZHJhZ092ZXJCbG9ja0lkPW51bGwsdGhpcy5kcmFnT3ZlclBvc2l0aW9uPW51bGwsdGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50PW51bGwsdGhpcy5kcmFnZ2VkQmxvY2tIZWlnaHQ9MCx0aGlzLmRyYWdnZWRCbG9ja0NvbnRlbnRIZWlnaHQ9MCx0aGlzLmRyYWdnZWRCbG9ja01hcmdpblRvcD0wLHRoaXMuaW5pdGlhbEJsb2NrWT0wLHRoaXMuY29tcG9uZW50LmRyYWdnZWRCbG9ja0lkPW51bGwsdGhpcy5jb21wb25lbnQuZHJhZ092ZXJCbG9ja0lkPW51bGwsdGhpcy5jb21wb25lbnQuZHJhZ092ZXJQb3NpdGlvbj1udWxsfWhhbmRsZURyYWdPdmVyKGUsYSl7aWYoZS5wcmV2ZW50RGVmYXVsdCgpLCFlLmRhdGFUcmFuc2Zlcnx8IXRoaXMuZHJhZ2dlZEJsb2NrSWR8fHRoaXMuZHJhZ2dlZEJsb2NrSWQ9PT1hLmlkKXJldHVybjtlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PSJtb3ZlIjtsZXQgcj1lLmN1cnJlbnRUYXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscz1yLnRvcCtyLmhlaWdodC8yO3RoaXMuZHJhZ092ZXJCbG9ja0lkPWEuaWQsdGhpcy5kcmFnT3ZlclBvc2l0aW9uPWUuY2xpZW50WTxzPyJiZWZvcmUiOiJhZnRlciIsdGhpcy5jb21wb25lbnQuZHJhZ092ZXJCbG9ja0lkPXRoaXMuZHJhZ092ZXJCbG9ja0lkLHRoaXMuY29tcG9uZW50LmRyYWdPdmVyUG9zaXRpb249dGhpcy5kcmFnT3ZlclBvc2l0aW9ufWhhbmRsZURyYWdMZWF2ZShlKXt0aGlzLmRyYWdPdmVyQmxvY2tJZD09PWUuaWQmJih0aGlzLmRyYWdPdmVyQmxvY2tJZD1udWxsLHRoaXMuZHJhZ092ZXJQb3NpdGlvbj1udWxsLHRoaXMuY29tcG9uZW50LmRyYWdPdmVyQmxvY2tJZD1udWxsLHRoaXMuY29tcG9uZW50LmRyYWdPdmVyUG9zaXRpb249bnVsbCl9aGFuZGxlRHJvcChlLGEpe2UucHJldmVudERlZmF1bHQoKSwhKCF0aGlzLmRyYWdnZWRCbG9ja0lkfHx0aGlzLmRyYWdnZWRCbG9ja0lkPT09YS5pZCkmJnRoaXMuY29tcG9uZW50LmhhbmRsZURyb3AoZSxhKX1pc0RyYWdnaW5nKGUpe3JldHVybiB0aGlzLmRyYWdnZWRCbG9ja0lkPT09ZX1pc0RyYWdPdmVyKGUpe3JldHVybiB0aGlzLmRyYWdPdmVyQmxvY2tJZD09PWV9Z2V0RHJhZ092ZXJDbGFzc2VzKGUpe3JldHVybiB0aGlzLmlzRHJhZ092ZXIoZSk/dGhpcy5kcmFnT3ZlclBvc2l0aW9uPT09ImJlZm9yZSI/ImRyYWctb3Zlci1iZWZvcmUiOiJkcmFnLW92ZXItYWZ0ZXIiOiIifWNyZWF0ZURyb3BJbmRpY2F0b3IoKXt0aGlzLmRyb3BJbmRpY2F0b3I9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksdGhpcy5kcm9wSW5kaWNhdG9yLmNsYXNzTmFtZT0iZHJvcC1pbmRpY2F0b3IiLHRoaXMuZHJvcEluZGljYXRvci5zdHlsZS5kaXNwbGF5PSJub25lIix0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLmFwcGVuZENoaWxkKHRoaXMuZHJvcEluZGljYXRvcil9aGFuZGxlR2xvYmFsRHJhZ092ZXI9aShlPT57aWYoZS5wcmV2ZW50RGVmYXVsdCgpLCF0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQpcmV0dXJuO2xldCBhPWUuY2xpZW50WS10aGlzLmluaXRpYWxNb3VzZVk7dGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50LnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlWSgke2F9cHgpYDtsZXQgcj1EYXRlLm5vdygpO3ItdGhpcy5sYXN0VXBkYXRlVGltZTx0aGlzLnVwZGF0ZVRocm90dGxlfHwodGhpcy5sYXN0VXBkYXRlVGltZT1yLHRoaXMudXBkYXRlQmxvY2tQb3NpdGlvbnMoZS5jbGllbnRZKSl9LCJoYW5kbGVHbG9iYWxEcmFnT3ZlciIpO3VwZGF0ZUJsb2NrUG9zaXRpb25zKGUpe2xldCBhPUFycmF5LmZyb20odGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yQWxsKCIuYmxvY2std3JhcHBlciIpKSxyPWEuZmluZEluZGV4KG49Pm4uZ2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIik9PT10aGlzLmRyYWdnZWRCbG9ja0lkKTtpZihyPT09LTEpcmV0dXJuO2EuZm9yRWFjaChuPT57bi5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKSE9PXRoaXMuZHJhZ2dlZEJsb2NrSWQmJihuLmNsYXNzTGlzdC5yZW1vdmUoIm1vdmUtdXAiLCJtb3ZlLWRvd24iKSxuLnN0eWxlLnJlbW92ZVByb3BlcnR5KCItLWRyYWctb2Zmc2V0IikpfSk7bGV0IHM9YS5sZW5ndGg7Zm9yKGxldCBuPTA7bjxhLmxlbmd0aDtuKyspe2lmKG49PT1yKWNvbnRpbnVlO2xldCBsPWFbbl0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaD1sLnRvcDtpZihlPGgrbC5oZWlnaHQqLjUpe3M9bjticmVha319Zm9yKGxldCBuPTA7bjxhLmxlbmd0aDtuKyspe2lmKG49PT1yKWNvbnRpbnVlO2xldCBvPWFbbl07cjxzP24+ciYmbjxzJiYoby5jbGFzc0xpc3QuYWRkKCJtb3ZlLXVwIiksby5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1kcmFnLW9mZnNldCIsYCR7dGhpcy5kcmFnZ2VkQmxvY2tIZWlnaHR9cHhgKSk6cj5zJiZuPj1zJiZuPHImJihvLmNsYXNzTGlzdC5hZGQoIm1vdmUtZG93biIpLG8uc3R5bGUuc2V0UHJvcGVydHkoIi0tZHJhZy1vZmZzZXQiLGAke3RoaXMuZHJhZ2dlZEJsb2NrSGVpZ2h0fXB4YCkpfXRoaXMudXBkYXRlRHJvcEluZGljYXRvcihhLHMscil9dXBkYXRlRHJvcEluZGljYXRvcihlLGEscil7aWYoIXRoaXMuZHJvcEluZGljYXRvcnx8IXRoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudClyZXR1cm47dGhpcy5kcm9wSW5kaWNhdG9yLnN0eWxlLmRpc3BsYXk9ImJsb2NrIjtsZXQgcz10aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49MCxvPVtdO2ZvcihsZXQgdT0wO3U8ZS5sZW5ndGg7dSsrKXtpZih1PT09ciljb250aW51ZTtsZXQgZj1lW3VdLHA9Zi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxnPXAudG9wLXMudG9wLHY9cC5ib3R0b20tcy50b3AseD13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShmKS50cmFuc2Zvcm07aWYoeCYmeCE9PSJub25lIil7bGV0IG09bmV3IERPTU1hdHJpeCh4KS5tNDI7Zys9bSx2Kz1tfW8ucHVzaCh7aW5kZXg6dSx0b3A6Zyxib3R0b206dn0pfW8uc29ydCgodSxmKT0+dS50b3AtZi50b3ApO2xldCBsPWE7YT5yJiZsLS07bGV0IGg9MTY7aWYodGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50KXtsZXQgdT10aGlzLmNvbXBvbmVudC5ibG9ja3MuZmluZChmPT5mLmlkPT09dGhpcy5kcmFnZ2VkQmxvY2tJZCk7aWYodSl7bGV0IGY9dS50eXBlO2Y9PT0iaGVhZGluZy0xInx8Zj09PSJoZWFkaW5nLTIifHxmPT09ImhlYWRpbmctMyI/aD0yNDooZj09PSJjb2RlInx8Zj09PSJxdW90ZSIpJiYoaD0yMCl9fWlmKGw9PT0wKW49MDtlbHNlIGlmKGw+PW8ubGVuZ3RoKXtsZXQgdT1vW28ubGVuZ3RoLTFdO3UmJihuPXUuYm90dG9tLG4rPWgpfWVsc2V7bGV0IHU9b1tsLTFdO3UmJihuPXUuYm90dG9tLG4rPWgpfXRoaXMuZHJvcEluZGljYXRvci5zdHlsZS5oZWlnaHQ9YCR7dGhpcy5kcmFnZ2VkQmxvY2tIZWlnaHR9cHhgLHRoaXMuZHJvcEluZGljYXRvci5zdHlsZS50b3A9YCR7TWF0aC5tYXgoMCxuKX1weGAsY29uc29sZS5sb2coIkRyb3AgaW5kaWNhdG9yIHVwZGF0ZToiLHt0YXJnZXRJbmRleDphLGFkanVzdGVkVGFyZ2V0SW5kZXg6bCxkcmFnZ2VkSW5kZXg6cix0b3BQb3NpdGlvbjpuLGhlaWdodDp0aGlzLmRyYWdnZWRCbG9ja0hlaWdodCxibG9ja01hcmdpbjpoLHZpc3VhbEJsb2NrczpvLm1hcCh1PT4oe2luZGV4OnUuaW5kZXgsdG9wOnUudG9wLGJvdHRvbTp1LmJvdHRvbX0pKX0pfWhhbmRsZUdsb2JhbERyYWdFbmQ9aSgoKT0+e2RvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIix0aGlzLmhhbmRsZUdsb2JhbERyYWdPdmVyKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJkcmFnZW5kIix0aGlzLmhhbmRsZUdsb2JhbERyYWdFbmQpLHRoaXMuZHJvcEluZGljYXRvciYmKHRoaXMuZHJvcEluZGljYXRvci5yZW1vdmUoKSx0aGlzLmRyb3BJbmRpY2F0b3I9bnVsbCksdGhpcy5kcmFnZ2VkQmxvY2tJZD9yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLnBlcmZvcm1Ecm9wKCksdGhpcy5oYW5kbGVEcmFnRW5kKCl9KTp0aGlzLmhhbmRsZURyYWdFbmQoKX0sImhhbmRsZUdsb2JhbERyYWdFbmQiKTtwZXJmb3JtRHJvcCgpe2lmKCF0aGlzLmRyYWdnZWRCbG9ja0lkKXJldHVybjtsZXQgZT1BcnJheS5mcm9tKHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYucXVlcnlTZWxlY3RvckFsbCgiLmJsb2NrLXdyYXBwZXIiKSk7aWYoIWUuZmluZChmPT5mLmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpPT09dGhpcy5kcmFnZ2VkQmxvY2tJZCkpcmV0dXJuO2xldCByPWUubWFwKGY9PntsZXQgcD1mLmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpLGc9Zi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx2PWcudG9wK2cuaGVpZ2h0LzI7cmV0dXJue2lkOnAsY2VudGVyWTp2LGVsZW1lbnQ6Zn19KTtyLnNvcnQoKGYscCk9PmYuY2VudGVyWS1wLmNlbnRlclkpO2xldCBzPXIubWFwKGY9PmYuaWQpLmZpbHRlcihmPT5mIT09bnVsbCksbj1bLi4udGhpcy5jb21wb25lbnQuYmxvY2tzXSxvPW4uZmluZChmPT5mLmlkPT09dGhpcy5kcmFnZ2VkQmxvY2tJZCk7aWYoIW8pcmV0dXJuO2xldCBsPW4ubWFwKGY9PmYuaWQpO2lmKCEhcy5ldmVyeSgoZixwKT0+Zj09PWxbcF0pKXJldHVybjtsZXQgdT1zLm1hcChmPT5uLmZpbmQocD0+cC5pZD09PWYpKS5maWx0ZXIoQm9vbGVhbik7dGhpcy5jb21wb25lbnQuYmxvY2tzPXUsdGhpcy5jb21wb25lbnQucmVuZGVyQmxvY2tzUHJvZ3JhbW1hdGljYWxseSgpLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCksc2V0VGltZW91dCgoKT0+e28udHlwZSE9PSJkaXZpZGVyIiYmdGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLmZvY3VzQmxvY2soby5pZCl9LDEwMCl9fX0pO3ZhciBoQixFWnQ9YygoKT0+e3NpKCk7aEI9Y2xhc3N7c3RhdGlje2kodGhpcywiV3lzaXd5Z0hpc3RvcnkiKX1oaXN0b3J5PVtdO2N1cnJlbnRJbmRleD0tMTttYXhIaXN0b3J5U2l6ZT01MDtsYXN0U2F2ZVRpbWU9MDtzYXZlRGVib3VuY2VNcz01MDA7Y29uc3RydWN0b3IoKXt0aGlzLmhpc3Rvcnk9W10sdGhpcy5jdXJyZW50SW5kZXg9LTF9c2F2ZVN0YXRlKGUsYSxyKXtsZXQgcz1EYXRlLm5vdygpO2lmKHMtdGhpcy5sYXN0U2F2ZVRpbWU8dGhpcy5zYXZlRGVib3VuY2VNcyYmdGhpcy5jdXJyZW50SW5kZXg+PTApe3RoaXMuaGlzdG9yeVt0aGlzLmN1cnJlbnRJbmRleF09e2Jsb2Nrczp0aGlzLmNsb25lQmxvY2tzKGUpLHNlbGVjdGVkQmxvY2tJZDphLGN1cnNvclBvc2l0aW9uOnI/ey4uLnJ9OnZvaWQgMCx0aW1lc3RhbXA6c307cmV0dXJufXRoaXMuY3VycmVudEluZGV4PHRoaXMuaGlzdG9yeS5sZW5ndGgtMSYmKHRoaXMuaGlzdG9yeT10aGlzLmhpc3Rvcnkuc2xpY2UoMCx0aGlzLmN1cnJlbnRJbmRleCsxKSk7bGV0IG49e2Jsb2Nrczp0aGlzLmNsb25lQmxvY2tzKGUpLHNlbGVjdGVkQmxvY2tJZDphLGN1cnNvclBvc2l0aW9uOnI/ey4uLnJ9OnZvaWQgMCx0aW1lc3RhbXA6c307dGhpcy5oaXN0b3J5LnB1c2gobiksdGhpcy5jdXJyZW50SW5kZXgrKyx0aGlzLmhpc3RvcnkubGVuZ3RoPnRoaXMubWF4SGlzdG9yeVNpemUmJih0aGlzLmhpc3Rvcnkuc2hpZnQoKSx0aGlzLmN1cnJlbnRJbmRleC0tKSx0aGlzLmxhc3RTYXZlVGltZT1zfXNhdmVDaGVja3BvaW50KGUsYSxyKXt0aGlzLmxhc3RTYXZlVGltZT0wLHRoaXMuc2F2ZVN0YXRlKGUsYSxyKX11bmRvKCl7cmV0dXJuIHRoaXMuY2FuVW5kbygpPyh0aGlzLmN1cnJlbnRJbmRleC0tLHRoaXMuY2xvbmVTdGF0ZSh0aGlzLmhpc3RvcnlbdGhpcy5jdXJyZW50SW5kZXhdKSk6bnVsbH1yZWRvKCl7cmV0dXJuIHRoaXMuY2FuUmVkbygpPyh0aGlzLmN1cnJlbnRJbmRleCsrLHRoaXMuY2xvbmVTdGF0ZSh0aGlzLmhpc3RvcnlbdGhpcy5jdXJyZW50SW5kZXhdKSk6bnVsbH1jYW5VbmRvKCl7cmV0dXJuIHRoaXMuY3VycmVudEluZGV4PjB9Y2FuUmVkbygpe3JldHVybiB0aGlzLmN1cnJlbnRJbmRleDx0aGlzLmhpc3RvcnkubGVuZ3RoLTF9Z2V0Q3VycmVudFN0YXRlKCl7cmV0dXJuIHRoaXMuY3VycmVudEluZGV4Pj0wJiZ0aGlzLmN1cnJlbnRJbmRleDx0aGlzLmhpc3RvcnkubGVuZ3RoP3RoaXMuY2xvbmVTdGF0ZSh0aGlzLmhpc3RvcnlbdGhpcy5jdXJyZW50SW5kZXhdKTpudWxsfWNsZWFyKCl7dGhpcy5oaXN0b3J5PVtdLHRoaXMuY3VycmVudEluZGV4PS0xLHRoaXMubGFzdFNhdmVUaW1lPTB9Y2xvbmVCbG9ja3MoZSl7cmV0dXJuIGUubWFwKGE9Pih7Li4uYSxtZXRhZGF0YTphLm1ldGFkYXRhP3suLi5hLm1ldGFkYXRhfTp2b2lkIDB9KSl9Y2xvbmVTdGF0ZShlKXtyZXR1cm57YmxvY2tzOnRoaXMuY2xvbmVCbG9ja3MoZS5ibG9ja3MpLHNlbGVjdGVkQmxvY2tJZDplLnNlbGVjdGVkQmxvY2tJZCxjdXJzb3JQb3NpdGlvbjplLmN1cnNvclBvc2l0aW9uP3suLi5lLmN1cnNvclBvc2l0aW9ufTp2b2lkIDAsdGltZXN0YW1wOmUudGltZXN0YW1wfX1nZXRIaXN0b3J5SW5mbygpe3JldHVybntzaXplOnRoaXMuaGlzdG9yeS5sZW5ndGgsY3VycmVudEluZGV4OnRoaXMuY3VycmVudEluZGV4LGNhblVuZG86dGhpcy5jYW5VbmRvKCksY2FuUmVkbzp0aGlzLmNhblJlZG8oKX19fX0pO3ZhciBtQixFbyxJWnQsTlp0PWMoKCk9PntwZSgpO3NpKCk7UG8oKTtUMigpO1ZPZSgpO2pPZSgpO2Y2KCk7djEoKTtYZSgpO21CPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxFbz1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sSVp0PSgoKT0+e2xldCB0PVthZSgiZGVlcy13eXNpd3lnLWJsb2NrIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNXeXNpd3lnQmxvY2siKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk9iamVjdH0pXSxoPVtMKHt0eXBlOkJvb2xlYW59KV0scD1bTCh7dHlwZTpPYmplY3R9KV0seD1bTCh7dHlwZTpPYmplY3R9KV0sbUIodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJibG9jayIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4iYmxvY2siaW4gaywiaGFzIiksZ2V0Omkoaz0+ay5ibG9jaywiZ2V0Iiksc2V0OmkoKGssRSk9PntrLmJsb2NrPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbyxsKSxtQih0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzU2VsZWN0ZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+ImlzU2VsZWN0ZWQiaW4gaywiaGFzIiksZ2V0Omkoaz0+ay5pc1NlbGVjdGVkLCJnZXQiKSxzZXQ6aSgoayxFKT0+e2suaXNTZWxlY3RlZD1FfSwic2V0Iil9LG1ldGFkYXRhOk19LHUsZiksbUIodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoYW5kbGVycyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4iaGFuZGxlcnMiaW4gaywiaGFzIiksZ2V0Omkoaz0+ay5oYW5kbGVycywiZ2V0Iiksc2V0OmkoKGssRSk9PntrLmhhbmRsZXJzPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sZyx2KSxtQih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Ind5c2l3eWdDb21wb25lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+Ind5c2l3eWdDb21wb25lbnQiaW4gaywiaGFzIiksZ2V0Omkoaz0+ay53eXNpd3lnQ29tcG9uZW50LCJnZXQiKSxzZXQ6aSgoayxFKT0+e2sud3lzaXd5Z0NvbXBvbmVudD1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGIsbSksbUIobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCxhKSx5PXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5fc2VsZWN0aW9uSGFuZGxlciYmZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIix0aGlzLl9zZWxlY3Rpb25IYW5kbGVyKX0jZT1Fbyh0aGlzLG8sdm9pZCAwKTtnZXQgYmxvY2soKXtyZXR1cm4gdGhpcy4jZX1zZXQgYmxvY2soTSl7dGhpcy4jZT1NfSN0PShFbyh0aGlzLGwpLEVvKHRoaXMsdSwhMSkpO2dldCBpc1NlbGVjdGVkKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGlzU2VsZWN0ZWQoTSl7dGhpcy4jdD1NfSNhPShFbyh0aGlzLGYpLEVvKHRoaXMsZyx2b2lkIDApKTtnZXQgaGFuZGxlcnMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgaGFuZGxlcnMoTSl7dGhpcy4jYT1NfSNyPShFbyh0aGlzLHYpLEVvKHRoaXMsYix2b2lkIDApKTtnZXQgd3lzaXd5Z0NvbXBvbmVudCgpe3JldHVybiB0aGlzLiNyfXNldCB3eXNpd3lnQ29tcG9uZW50KE0pe3RoaXMuI3I9TX1ibG9ja0VsZW1lbnQ9KEVvKHRoaXMsbSksbnVsbCk7Y29udGVudEluaXRpYWxpemVkPSExO2xhc3RLbm93bkN1cnNvclBvc2l0aW9uPTA7bGFzdFNlbGVjdGVkVGV4dD0iIjtoYW5kbGVyU3R5bGVzSW5qZWN0ZWQ9ITE7c3RhdGljIE5PTl9FRElUQUJMRV9UWVBFUz1bImltYWdlIiwiZGl2aWRlciIsInlvdXR1YmUiXTtpbmplY3RIYW5kbGVyU3R5bGVzKCl7aWYodGhpcy5oYW5kbGVyU3R5bGVzSW5qZWN0ZWQpcmV0dXJuO3RoaXMuaGFuZGxlclN0eWxlc0luamVjdGVkPSEwO2xldCBNPSIiLGs9YmEuZ2V0QWxsVHlwZXMoKTtmb3IobGV0IEUgb2Ygayl7bGV0IF89YmEuZ2V0SGFuZGxlcihFKTtfJiYoTSs9Xy5nZXRTdHlsZXMoKSl9aWYoTSl7bGV0IEU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtFLnRleHRDb250ZW50PU0sdGhpcy5zaGFkb3dSb290Py5hcHBlbmRDaGlsZChFKX19c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmJsb2NrIHsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgICBtaW4taGVpZ2h0OiAxLjZlbTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDAwMDAwIiwiI2UwZTBlMCIpfTsKICAgICAgfQoKICAgICAgLmJsb2NrOmVtcHR5Om5vdCg6Zm9jdXMpOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1wbGFjZWhvbGRlcik7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjOTk5IiwiIzY2NiIpfTsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIEJsb2NrLXNwZWNpZmljIHN0eWxlcyBtb3ZlZCB0byBoYW5kbGVycyAqLwoKCiAgICAgIC8qIEZvcm1hdHRpbmcgc3R5bGVzICovCiAgICAgIC5ibG9jayA6aXMoYiwgc3Ryb25nKSB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwMDAwMDAiLCIjZmZmZmZmIil9OwogICAgICB9CgogICAgICAuYmxvY2sgOmlzKGksIGVtKSB7CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CgogICAgICAuYmxvY2sgdSB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC5ibG9jayBzIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsKICAgICAgfQoKICAgICAgLmJsb2NrIGNvZGUgewogICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMC45ZW07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNikiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgcGFkZGluZzogMnB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZDE0IiwiI2ZmNmI2YiIpfTsKICAgICAgfQoKICAgICAgLmJsb2NrIGEgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzAwNjZjYyIsIiM0ZDk0ZmYiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5ibG9jayBhOmhvdmVyIHsKICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAke2QuYmRUaGVtZSgiIzAwNjZjYyIsIiM0ZDk0ZmYiKX07CiAgICAgIH0KCiAgICAgIC8qIENvZGUgYmxvY2sgY29udGFpbmVyIGFuZCBsYW5ndWFnZSBzdHlsZXMgbW92ZWQgdG8gaGFuZGxlciAqLwoKICAgICAgLyogU2VsZWN0aW9uIHN0eWxlcyAqLwogICAgICAuYmxvY2sgOjpzZWxlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDEwMiwgMjA0LCAwLjMpIiwicmdiYSg3NywgMTQ4LCAyNTUsIDAuMykiKX07CiAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgIH0KCgogICAgICAvKiBTdHJpa2UgdGhyb3VnaCAqLwogICAgICAuYmxvY2sgOmlzKHMsIHN0cmlrZSkgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQoKCiAgICAgIC8qIEJsb2NrIG1hcmdpbiBhZGp1c3RtZW50cyBiYXNlZCBvbiB0eXBlICovCiAgICAgIDpob3N0LWNvbnRleHQoLmJsb2NrLXdyYXBwZXI6Zmlyc3QtY2hpbGQpIC5ibG9jayB7CiAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICA6aG9zdC1jb250ZXh0KC5ibG9jay13cmFwcGVyOmxhc3QtY2hpbGQpIC5ibG9jayB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLyogU2VsZWN0ZWQgc3RhdGUgKi8KICAgICAgLmJsb2NrLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAxMDIsIDIwNCwgMC4wNSkiLCJyZ2JhKDc3LCAxNDgsIDI1NSwgMC4wOCkiKX07CiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDEwMiwgMjA0LCAwLjIpIiwicmdiYSg3NywgMTQ4LCAyNTUsIDAuMikiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4OwogICAgICAgIG1hcmdpbi1yaWdodDogLThweDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7CiAgICAgIH0KCgoKCiAgICBgXTtzaG91bGRVcGRhdGUoTSl7aWYoTS5oYXMoImlzU2VsZWN0ZWQiKSYmdGhpcy5ibG9jayl7bGV0IGs9bnVsbCxfPWAuYmxvY2suJHt0aGlzLmJsb2NrLnR5cGV9YDtyZXR1cm4gaz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoXyksayYmKHRoaXMuaXNTZWxlY3RlZD9rLmNsYXNzTGlzdC5hZGQoInNlbGVjdGVkIik6ay5jbGFzc0xpc3QucmVtb3ZlKCJzZWxlY3RlZCIpKSwhMX1pZihNLmhhcygiYmxvY2siKSYmdGhpcy5ibG9jayl7bGV0IGs9TS5nZXQoImJsb2NrIik7aWYoayYmay5pZCYmay50eXBlJiZrLmlkPT09dGhpcy5ibG9jay5pZCYmay50eXBlPT09dGhpcy5ibG9jay50eXBlKXJldHVybiExfXJldHVybiF0aGlzLmJsb2NrRWxlbWVudHx8dGhpcy5ibG9jaz8udHlwZSE9PXRoaXMuYmxvY2tFbGVtZW50LmRhdGFzZXQuYmxvY2tUeXBlfWZpcnN0VXBkYXRlZCgpe3RoaXMuY29udGVudEluaXRpYWxpemVkPSEwLHRoaXMuaW5qZWN0SGFuZGxlclN0eWxlcygpO2xldCBNPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIik7aWYoTSYmdGhpcy5ibG9jayYmKE0uaW5uZXJIVE1MPXRoaXMucmVuZGVyQmxvY2tDb250ZW50KCkpLHRoaXMuYmxvY2spe2xldCBFPWJhLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihFKXtsZXQgXz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53eXNpd3lnLWJsb2NrLWNvbnRhaW5lciIpO18mJkUuc2V0dXAoXyx0aGlzLmJsb2NrLHRoaXMuaGFuZGxlcnMpO3JldHVybn19bGV0IGs9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZihrKXtrLnNldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIsdGhpcy5ibG9jay5pZCksay5zZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2stdHlwZSIsdGhpcy5ibG9jay50eXBlKSxrLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixfPT57dGhpcy5oYW5kbGVycz8ub25JbnB1dD8uKF8pO2xldCBDPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oayk7QyE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPUMpfSksay5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixfPT57bGV0IEM9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihrKTtDIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249QyksdGhpcy5oYW5kbGVycz8ub25LZXlEb3duPy4oXyl9KSxrLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+e3RoaXMuaGFuZGxlcnM/Lm9uRm9jdXM/LigpfSksay5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e3RoaXMuaGFuZGxlcnM/Lm9uQmx1cj8uKCl9KSxrLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uc3RhcnQiLCgpPT57dGhpcy5oYW5kbGVycz8ub25Db21wb3NpdGlvblN0YXJ0Py4oKX0pLGsuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25lbmQiLCgpPT57dGhpcy5oYW5kbGVycz8ub25Db21wb3NpdGlvbkVuZD8uKCl9KSxrLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLF89PntsZXQgQz10aGlzLmdldEN1cnNvclBvc2l0aW9uKGspO0MhPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1DKSx0aGlzLmhhbmRsZXJzPy5vbk1vdXNlVXA/LihfKX0pLGsuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57c2V0VGltZW91dCgoKT0+e2xldCBfPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oayk7XyE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPV8pfSwwKX0pO2xldCBFPWkoKCk9PntsZXQgXz13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIV98fF8ucmFuZ2VDb3VudD09PTApcmV0dXJuO2xldCBDPV8udG9TdHJpbmcoKTtpZihDLmxlbmd0aD09PTApe3RoaXMubGFzdFNlbGVjdGVkVGV4dCYmKHRoaXMubGFzdFNlbGVjdGVkVGV4dD0iIix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJibG9jay10ZXh0LXNlbGVjdGVkIix7ZGV0YWlsOnt0ZXh0OiIiLGJsb2NrSWQ6dGhpcy5ibG9jay5pZCxoYXNTZWxlY3Rpb246ITF9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSkpO3JldHVybn1sZXQgTj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFOKXJldHVybjtsZXQgST10aGlzLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LGo9W107SSYmai5wdXNoKEkpLHRoaXMuc2hhZG93Um9vdCYmai5wdXNoKHRoaXMuc2hhZG93Um9vdCk7bGV0IFM9WWUuZ2V0U2VsZWN0aW9uSW5mbyguLi5qKTtpZighUylyZXR1cm47bGV0IHo9WWUuY29udGFpbnNBY3Jvc3NTaGFkb3dET00oTixTLnN0YXJ0Q29udGFpbmVyKSxEPVllLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKE4sUy5lbmRDb250YWluZXIpO2lmKHp8fEQpe2lmKEMhPT10aGlzLmxhc3RTZWxlY3RlZFRleHQpe3RoaXMubGFzdFNlbGVjdGVkVGV4dD1DO2xldCBUPVllLmNyZWF0ZVJhbmdlRnJvbUluZm8oUyksQT1ULmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImJsb2NrLXRleHQtc2VsZWN0ZWQiLHtkZXRhaWw6e3RleHQ6Qy50cmltKCksYmxvY2tJZDp0aGlzLmJsb2NrLmlkLHJhbmdlOlQscmVjdDpBLGhhc1NlbGVjdGlvbjohMH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX19ZWxzZSB0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYmxvY2stdGV4dC1zZWxlY3RlZCIse2RldGFpbDp7dGV4dDoiIixibG9ja0lkOnRoaXMuYmxvY2suaWQsaGFzU2VsZWN0aW9uOiExfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX0sImNoZWNrU2VsZWN0aW9uIik7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixFKSx0aGlzLl9zZWxlY3Rpb25IYW5kbGVyPUUsay5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsKCk9PntsZXQgXz10aGlzLmdldEN1cnNvclBvc2l0aW9uKGspO18hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1fKX0pLHRoaXMuYmxvY2suY29udGVudCYmKGsuaW5uZXJIVE1MPXRoaXMuYmxvY2suY29udGVudCl9dGhpcy5ibG9ja0VsZW1lbnQ9a31yZW5kZXIoKXtyZXR1cm4gdGhpcy5ibG9jaz91b2A8ZGl2IGNsYXNzPSJ3eXNpd3lnLWJsb2NrLWNvbnRhaW5lciI+PC9kaXY+YDp1b2BgfXJlbmRlckJsb2NrQ29udGVudCgpe2lmKCF0aGlzLmJsb2NrKXJldHVybiIiO2xldCBNPWJhLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihNKXJldHVybiBNLnJlbmRlcih0aGlzLmJsb2NrLHRoaXMuaXNTZWxlY3RlZCk7bGV0IGs9dGhpcy5pc1NlbGVjdGVkPyIgc2VsZWN0ZWQiOiIiO3JldHVybmAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJibG9jayAke3RoaXMuYmxvY2sudHlwZX0ke2t9IgogICAgICAgIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIKICAgICAgPjwvZGl2PgogICAgYH1mb2N1cygpe2xldCBNPWJhLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihNJiZNLmZvY3VzKXtsZXQgRT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53eXNpd3lnLWJsb2NrLWNvbnRhaW5lciIpLF89e3NoYWRvd1Jvb3Q6dGhpcy5zaGFkb3dSb290LGNvbXBvbmVudDp0aGlzfTtyZXR1cm4gTS5mb2N1cyhFLF8pfWlmKHRoaXMuYmxvY2smJnkuTk9OX0VESVRBQkxFX1RZUEVTLmluY2x1ZGVzKHRoaXMuYmxvY2sudHlwZSkpe2xldCBFPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLmJsb2NrLiR7dGhpcy5ibG9jay50eXBlfWApO0UmJkUuZm9jdXMoKTtyZXR1cm59bGV0IGs9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtrJiYoay5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxrLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLGsuZm9jdXMoKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ayYmdGhpcy5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50IT09ayYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2suZm9jdXMoKX0pKX1mb2N1c1dpdGhDdXJzb3IoTT0iZW5kIil7bGV0IGs9YmEuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKGsmJmsuZm9jdXNXaXRoQ3Vyc29yKXtsZXQgQz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53eXNpd3lnLWJsb2NrLWNvbnRhaW5lciIpLE49e3NoYWRvd1Jvb3Q6dGhpcy5zaGFkb3dSb290LGNvbXBvbmVudDp0aGlzfTtyZXR1cm4gay5mb2N1c1dpdGhDdXJzb3IoQyxNLE4pfWlmKHRoaXMuYmxvY2smJnkuTk9OX0VESVRBQkxFX1RZUEVTLmluY2x1ZGVzKHRoaXMuYmxvY2sudHlwZSkpe3RoaXMuZm9jdXMoKTtyZXR1cm59bGV0IEU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZighRSlyZXR1cm47RS5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxFLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLEUuZm9jdXMoKTtsZXQgXz1pKCgpPT57TT09PSJzdGFydCI/dGhpcy5zZXRDdXJzb3JUb1N0YXJ0KCk6TT09PSJlbmQiP3RoaXMuc2V0Q3Vyc29yVG9FbmQoKTp0eXBlb2YgTT09Im51bWJlciImJlllLnNldEN1cnNvclBvc2l0aW9uKEUsTSl9LCJzZXRDdXJzb3IiKTtkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09RXx8dGhpcy5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09RT9fKCk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+eyhkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09RXx8dGhpcy5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09RSkmJl8oKX0pfWdldEN1cnNvclBvc2l0aW9uKE0pe2xldCBrPWJhLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihrJiZrLmdldEN1cnNvclBvc2l0aW9uKXtsZXQgaj17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBrLmdldEN1cnNvclBvc2l0aW9uKE0sail9bGV0IF89dGhpcy5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxDPVtdO18mJkMucHVzaChfKSx0aGlzLnNoYWRvd1Jvb3QmJkMucHVzaCh0aGlzLnNoYWRvd1Jvb3QpO2xldCBOPVllLmdldFNlbGVjdGlvbkluZm8oLi4uQyk7aWYoY29uc29sZS5sb2coImdldEN1cnNvclBvc2l0aW9uOiBTZWxlY3Rpb24gaW5mbyBmcm9tIHNoYWRvdyBET01zOiIse3NlbGVjdGlvbkluZm86TixzaGFkb3dSb290c0NvdW50OkMubGVuZ3RofSksIU4pcmV0dXJuIGNvbnNvbGUubG9nKCJnZXRDdXJzb3JQb3NpdGlvbjogTm8gc2VsZWN0aW9uIGZvdW5kIiksbnVsbDtpZihjb25zb2xlLmxvZygiZ2V0Q3Vyc29yUG9zaXRpb246IFJhbmdlIGluZm86Iix7c3RhcnRDb250YWluZXI6Ti5zdGFydENvbnRhaW5lcixzdGFydE9mZnNldDpOLnN0YXJ0T2Zmc2V0LGNvbGxhcHNlZDpOLmNvbGxhcHNlZCxzdGFydENvbnRhaW5lclRleHQ6Ti5zdGFydENvbnRhaW5lci50ZXh0Q29udGVudH0pLCFNLmNvbnRhaW5zKE4uc3RhcnRDb250YWluZXIpKXJldHVybiBjb25zb2xlLmxvZygiZ2V0Q3Vyc29yUG9zaXRpb246IFJhbmdlIG5vdCBpbiBlbGVtZW50IiksbnVsbDtsZXQgJD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpOyQuc2VsZWN0Tm9kZUNvbnRlbnRzKE0pLCQuc2V0RW5kKE4uc3RhcnRDb250YWluZXIsTi5zdGFydE9mZnNldCk7bGV0IEk9JC50b1N0cmluZygpLmxlbmd0aDtyZXR1cm4gY29uc29sZS5sb2coImdldEN1cnNvclBvc2l0aW9uOiBDYWxjdWxhdGVkIHBvc2l0aW9uOiIse3Bvc2l0aW9uOkkscHJlQ2FyZXRUZXh0OiQudG9TdHJpbmcoKSxlbGVtZW50VGV4dDpNLnRleHRDb250ZW50LGVsZW1lbnRUZXh0TGVuZ3RoOk0udGV4dENvbnRlbnQ/Lmxlbmd0aH0pLEl9Z2V0Q29udGVudCgpe2xldCBNPWJhLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihNJiZNLmdldENvbnRlbnQpe2xldCBfPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIiksQz17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBNLmdldENvbnRlbnQoXyxDKX1sZXQgaz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFrKXJldHVybiIiO2xldCBFPWsuaW5uZXJIVE1MfHwiIjtyZXR1cm4gY29uc29sZS5sb2coIkdldHRpbmcgY29udGVudCBmcm9tIGJsb2NrOiIsRSksRX1zZXRDb250ZW50KE0pe2xldCBrPWJhLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihrJiZrLnNldENvbnRlbnQpe2xldCBDPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIiksTj17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBrLnNldENvbnRlbnQoQyxNLE4pfWxldCBFPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIUUpcmV0dXJuO2xldCBfPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1FfHx0aGlzLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1FO0UuaW5uZXJIVE1MPU0sXyYmRS5mb2N1cygpfXNldEN1cnNvclRvU3RhcnQoKXtsZXQgTT1iYS5nZXRIYW5kbGVyKHRoaXMuYmxvY2sudHlwZSk7aWYoTSYmTS5zZXRDdXJzb3JUb1N0YXJ0KXtsZXQgRT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53eXNpd3lnLWJsb2NrLWNvbnRhaW5lciIpLF89e3NoYWRvd1Jvb3Q6dGhpcy5zaGFkb3dSb290LGNvbXBvbmVudDp0aGlzfTtyZXR1cm4gTS5zZXRDdXJzb3JUb1N0YXJ0KEUsXyl9bGV0IGs9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtrJiZhci5zZXRDdXJzb3JUb1N0YXJ0KGspfXNldEN1cnNvclRvRW5kKCl7bGV0IE09YmEuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKE0mJk0uc2V0Q3Vyc29yVG9FbmQpe2xldCBFPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIiksXz17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBNLnNldEN1cnNvclRvRW5kKEUsXyl9bGV0IGs9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtrJiZhci5zZXRDdXJzb3JUb0VuZChrKX1nZXRDb250ZXh0TWVudUl0ZW1zKCl7aWYoIXRoaXMuYmxvY2t8fHRoaXMuYmxvY2sudHlwZT09PSJkaXZpZGVyIilyZXR1cm5bXTtsZXQgTT1wMS5nZXRTbGFzaE1lbnVJdGVtcygpLGs9dGhpcy5ibG9jay50eXBlLEU9dGhpcy53eXNpd3lnQ29tcG9uZW50LF89dGhpcy5ibG9jay5pZCxOPVt7bmFtZToiQ2hhbmdlIFR5cGUiLGljb25OYW1lOiJ0eXBlIixzdWJtZW51Ok0uZmlsdGVyKCQ9PiQudHlwZSE9PWsmJiQudHlwZSE9PSJkaXZpZGVyIikubWFwKCQ9Pih7bmFtZTokLmxhYmVsLGljb25OYW1lOiQuaWNvbi5yZXBsYWNlKCJsdWNpZGU6IiwiIiksYWN0aW9uOmkoYXN5bmMoKT0+e2lmKEUmJkUuYmxvY2tPcGVyYXRpb25zKXtsZXQgST1FLmJsb2Nrcy5maW5kKGo9PmouaWQ9PT1fKTtJJiYoSS50eXBlPSQudHlwZSxJLmNvbnRlbnQ9SS5jb250ZW50fHwiIiwkLnR5cGU9PT0iY29kZSI/SS5tZXRhZGF0YT17bGFuZ3VhZ2U6InR5cGVzY3JpcHQifTokLnR5cGU9PT0ibGlzdCI/SS5tZXRhZGF0YT17bGlzdFR5cGU6ImJ1bGxldCJ9OiQudHlwZT09PSJpbWFnZSI/KEkuY29udGVudD0iIixJLm1ldGFkYXRhPXt1cmw6IiIsbG9hZGluZzohMX0pOiQudHlwZT09PSJ5b3V0dWJlIj8oSS5jb250ZW50PSIiLEkubWV0YWRhdGE9e3ZpZGVvSWQ6IiIsdXJsOiIifSk6JC50eXBlPT09Im1hcmtkb3duIj9JLm1ldGFkYXRhPXtzaG93UHJldmlldzohMX06JC50eXBlPT09Imh0bWwiP0kubWV0YWRhdGE9e3Nob3dQcmV2aWV3OiExfTokLnR5cGU9PT0iYXR0YWNobWVudCImJihJLmNvbnRlbnQ9IiIsSS5tZXRhZGF0YT17ZmlsZXM6W119KSxFLnVwZGF0ZUJsb2NrRWxlbWVudChfKSxFLnVwZGF0ZVZhbHVlKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57RS5ibG9ja09wZXJhdGlvbnMuZm9jdXNCbG9jayhfKX0pKX19LCJhY3Rpb24iKX0pKX1dO3JldHVyblsiaW1hZ2UiLCJkaXZpZGVyIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyh0aGlzLmJsb2NrLnR5cGUpfHxOLnB1c2goe2RpdmlkZXI6ITB9LHtuYW1lOiJDdXQiLGljb25OYW1lOiJzY2lzc29ycyIsc2hvcnRjdXQ6IkNtZCtYIixhY3Rpb246aShhc3luYygpPT57ZG9jdW1lbnQuZXhlY0NvbW1hbmQoImN1dCIpfSwiYWN0aW9uIil9LHtuYW1lOiJDb3B5IixpY29uTmFtZToiY29weSIsc2hvcnRjdXQ6IkNtZCtDIixhY3Rpb246aShhc3luYygpPT57ZG9jdW1lbnQuZXhlY0NvbW1hbmQoImNvcHkiKX0sImFjdGlvbiIpfSx7bmFtZToiUGFzdGUiLGljb25OYW1lOiJjbGlwYm9hcmQiLHNob3J0Y3V0OiJDbWQrViIsYWN0aW9uOmkoYXN5bmMoKT0+e2RvY3VtZW50LmV4ZWNDb21tYW5kKCJwYXN0ZSIpfSwiYWN0aW9uIil9KSxOLnB1c2goe2RpdmlkZXI6ITB9LHtuYW1lOiJEZWxldGUgQmxvY2siLGljb25OYW1lOiJ0cmFzaDIiLGFjdGlvbjppKGFzeW5jKCk9PntFJiZFLmJsb2NrT3BlcmF0aW9ucyYmRS5ibG9ja09wZXJhdGlvbnMuZGVsZXRlQmxvY2soXyl9LCJhY3Rpb24iKX0pLE59Z2V0U3BsaXRDb250ZW50KCl7Y29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogU3RhcnRpbmcuLi4iKTtsZXQgTT1iYS5nZXRIYW5kbGVyKHRoaXMuYmxvY2sudHlwZSk7aWYoY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogQ2hlY2tpbmcgZm9yIGhhbmRsZXIiLHtibG9ja1R5cGU6dGhpcy5ibG9jay50eXBlLGhhc0hhbmRsZXI6ISFNLGhhc1NwbGl0TWV0aG9kOiEhKE0mJk0uZ2V0U3BsaXRDb250ZW50KX0pLE0mJk0uZ2V0U3BsaXRDb250ZW50KXtsZXQgVT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53eXNpd3lnLWJsb2NrLWNvbnRhaW5lciIpO2NvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IEZvdW5kIGNvbnRhaW5lciIse2NvbnRhaW5lcjohIVUsY29udGFpbmVySFRNTDpVPy5pbm5lckhUTUw/LnN1YnN0cmluZygwLDEwMCl9KTtsZXQgUj17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBNLmdldFNwbGl0Q29udGVudChVLFIpfWxldCBrPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIWspcmV0dXJuIGNvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IE5vIGVkaXRhYmxlIGVsZW1lbnQgZm91bmQiKSxudWxsO2NvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IEVsZW1lbnQgaW5mbzoiLHtibG9ja1R5cGU6dGhpcy5ibG9jay50eXBlLGlubmVySFRNTDprLmlubmVySFRNTCx0ZXh0Q29udGVudDprLnRleHRDb250ZW50LHRleHRMZW5ndGg6ay50ZXh0Q29udGVudD8ubGVuZ3RofSk7bGV0IF89dGhpcy5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxDPVtdO18mJkMucHVzaChfKSx0aGlzLnNoYWRvd1Jvb3QmJkMucHVzaCh0aGlzLnNoYWRvd1Jvb3QpO2xldCBOPVllLmdldFNlbGVjdGlvbkluZm8oLi4uQyk7aWYoY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogU2VsZWN0aW9uIGluZm8gZnJvbSBzaGFkb3cgRE9NczoiLHtzZWxlY3Rpb25JbmZvOk4sc2hhZG93Um9vdHNDb3VudDpDLmxlbmd0aH0pLCFOKXtpZihjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBObyBzZWxlY3Rpb24sIHVzaW5nIGxhc3Qga25vd24gcG9zaXRpb246Iix0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uKSx0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uIT09bnVsbCl7bGV0IFU9ay50ZXh0Q29udGVudHx8IiIsUj1NYXRoLm1pbih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uLFUubGVuZ3RoKTtyZXR1cm4gY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogU3BsaXR0aW5nIHdpdGggbGFzdCBrbm93biBwb3NpdGlvbjoiLHtwb3M6UixmdWxsVGV4dExlbmd0aDpVLmxlbmd0aCxiZWZvcmU6VS5zdWJzdHJpbmcoMCxSKSxhZnRlcjpVLnN1YnN0cmluZyhSKX0pLHtiZWZvcmU6VS5zdWJzdHJpbmcoMCxSKSxhZnRlcjpVLnN1YnN0cmluZyhSKX19cmV0dXJuIG51bGx9aWYoY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogU2VsZWN0aW9uIHJhbmdlOiIse3N0YXJ0Q29udGFpbmVyOk4uc3RhcnRDb250YWluZXIsc3RhcnRPZmZzZXQ6Ti5zdGFydE9mZnNldCxzdGFydENvbnRhaW5lckluRWxlbWVudDprLmNvbnRhaW5zKE4uc3RhcnRDb250YWluZXIpfSksIVllLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKGssTi5zdGFydENvbnRhaW5lcikpe2lmKGNvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IFNlbGVjdGlvbiBub3QgaW4gdGhpcyBibG9jaywgdXNpbmcgbGFzdCBrbm93biBwb3NpdGlvbjoiLHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24pLHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24hPT1udWxsKXtsZXQgVT1rLnRleHRDb250ZW50fHwiIixSPU1hdGgubWluKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24sVS5sZW5ndGgpO3JldHVybntiZWZvcmU6VS5zdWJzdHJpbmcoMCxSKSxhZnRlcjpVLnN1YnN0cmluZyhSKX19cmV0dXJuIG51bGx9bGV0ICQ9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihrKTtpZihjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBDdXJzb3IgcG9zaXRpb24gZm9yIEhUTUwgc3BsaXQ6IiwkKSwkPT09bnVsbHx8JD09PTApcmV0dXJuIGNvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IEN1cnNvciBhdCBzdGFydCBvciBudWxsLCBtb3ZpbmcgYWxsIGNvbnRlbnQiKSx7YmVmb3JlOiIiLGFmdGVyOmsuaW5uZXJIVE1MfTtsZXQgST1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLGo9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtJLnNldFN0YXJ0KGssMCksSS5zZXRFbmQoTi5zdGFydENvbnRhaW5lcixOLnN0YXJ0T2Zmc2V0KSxqLnNldFN0YXJ0KE4uc3RhcnRDb250YWluZXIsTi5zdGFydE9mZnNldCksai5zZXRFbmQoayxrLmNoaWxkTm9kZXMubGVuZ3RoKTtsZXQgUz1JLmNsb25lQ29udGVudHMoKSx6PWouY2xvbmVDb250ZW50cygpLEQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7RC5hcHBlbmRDaGlsZChTKTtsZXQgVD1ELmlubmVySFRNTDtELmlubmVySFRNTD0iIixELmFwcGVuZENoaWxkKHopO2xldCBBPUQuaW5uZXJIVE1MO3JldHVybiBjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBGaW5hbCBzcGxpdCByZXN1bHQ6Iix7Y3Vyc29yUG9zOiQsYmVmb3JlSHRtbDpULGJlZm9yZUxlbmd0aDpULmxlbmd0aCxiZWZvcmVIdG1sUHJldmlldzpULnN1YnN0cmluZygwLDEwMCkrKFQubGVuZ3RoPjEwMD8iLi4uIjoiIiksYWZ0ZXJIdG1sOkEsYWZ0ZXJMZW5ndGg6QS5sZW5ndGgsYWZ0ZXJIdG1sUHJldmlldzpBLnN1YnN0cmluZygwLDEwMCkrKEEubGVuZ3RoPjEwMD8iLi4uIjoiIil9KSx7YmVmb3JlOlQsYWZ0ZXI6QX19c3RhdGlje0VvKHIsYSl9fTtyZXR1cm4geT1yfSkoKX0pO3ZhciBXT2U9YygoKT0+e3FaKCk7c2koKTtZOCgpO0haKCk7bVp0KCk7Qk9lKCk7ZjYoKTtST2UoKTtUMigpO1BvKCk7SE9lKCk7ak9lKCk7RFp0KCk7QVp0KCk7UFp0KCk7VU9lKCk7RVp0KCk7Tk9lKCk7Rk9lKCk7Tlp0KCl9KTt2YXIgdWwsRnIsZ0IscVo9YygoKT0+e1dhKCk7aFp0KCk7czYoKTtwZSgpO1dPZSgpO1hlKCk7dWw9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LEZyPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxnQj0oKCk9PntsZXQgdD1bYWUoImRlZXMtaW5wdXQtd3lzaXd5ZyIpXSxlLGE9W10scixzPW90LG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdLEUsXz1bXSxDPVtdLE4sJD1bXSxJPVtdO3ZhciBqPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzSW5wdXRXeXNpd3lnIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpTdHJpbmd9KV0saD1bTCh7dHlwZTpTdHJpbmd9KV0scD1bWigpXSx4PVtaKCldLHk9W1ooKV0sRT1bWigpXSxOPVtaKCldLHVsKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+InZhbHVlImluIHosImhhcyIpLGdldDppKHo9PnoudmFsdWUsImdldCIpLHNldDppKCh6LEQpPT57ei52YWx1ZT1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LG8sbCksdWwodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvdXRwdXRGb3JtYXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+Im91dHB1dEZvcm1hdCJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56Lm91dHB1dEZvcm1hdCwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6Lm91dHB1dEZvcm1hdD1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LHUsZiksdWwodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJibG9ja3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+ImJsb2NrcyJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LmJsb2NrcywiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LmJsb2Nrcz1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LGcsdiksdWwodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkcmFnZ2VkQmxvY2tJZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4iZHJhZ2dlZEJsb2NrSWQiaW4geiwiaGFzIiksZ2V0Omkoej0+ei5kcmFnZ2VkQmxvY2tJZCwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LmRyYWdnZWRCbG9ja0lkPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sYixtKSx1bCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdPdmVyQmxvY2tJZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4iZHJhZ092ZXJCbG9ja0lkImluIHosImhhcyIpLGdldDppKHo9PnouZHJhZ092ZXJCbG9ja0lkLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3ouZHJhZ092ZXJCbG9ja0lkPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sTSxrKSx1bCh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdPdmVyUG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+ImRyYWdPdmVyUG9zaXRpb24iaW4geiwiaGFzIiksZ2V0Omkoej0+ei5kcmFnT3ZlclBvc2l0aW9uLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3ouZHJhZ092ZXJQb3NpdGlvbj1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LF8sQyksdWwodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+InNlbGVjdGVkVGV4dCJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LnNlbGVjdGVkVGV4dCwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LnNlbGVjdGVkVGV4dD1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LCQsSSksdWwobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6U30sbnVsbCxhKSxqPXI9ZS52YWx1ZSxTJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlN9KX1zdGF0aWMgZGVtbz1mWnQ7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCIsIldvcmtzcGFjZSJdOyNlPUZyKHRoaXMsbywiIik7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKFMpe3RoaXMuI2U9U30jdD0oRnIodGhpcyxsKSxGcih0aGlzLHUsImh0bWwiKSk7Z2V0IG91dHB1dEZvcm1hdCgpe3JldHVybiB0aGlzLiN0fXNldCBvdXRwdXRGb3JtYXQoUyl7dGhpcy4jdD1TfSNhPShGcih0aGlzLGYpLEZyKHRoaXMsZyxbe2lkOnAxLmdlbmVyYXRlQmxvY2tJZCgpLHR5cGU6InBhcmFncmFwaCIsY29udGVudDoiIn1dKSk7Z2V0IGJsb2Nrcygpe3JldHVybiB0aGlzLiNhfXNldCBibG9ja3MoUyl7dGhpcy4jYT1TfXNlbGVjdGVkQmxvY2tJZD0oRnIodGhpcyx2KSxudWxsKTtzbGFzaE1lbnU9RlouZ2V0SW5zdGFuY2UoKTsjcj1Gcih0aGlzLGIsbnVsbCk7Z2V0IGRyYWdnZWRCbG9ja0lkKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGRyYWdnZWRCbG9ja0lkKFMpe3RoaXMuI3I9U30jaT0oRnIodGhpcyxtKSxGcih0aGlzLE0sbnVsbCkpO2dldCBkcmFnT3ZlckJsb2NrSWQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgZHJhZ092ZXJCbG9ja0lkKFMpe3RoaXMuI2k9U30jcz0oRnIodGhpcyxrKSxGcih0aGlzLF8sbnVsbCkpO2dldCBkcmFnT3ZlclBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGRyYWdPdmVyUG9zaXRpb24oUyl7dGhpcy4jcz1TfWZvcm1hdHRpbmdNZW51PShGcih0aGlzLEMpLEJaLmdldEluc3RhbmNlKCkpOyNvPUZyKHRoaXMsJCwiIik7Z2V0IHNlbGVjdGVkVGV4dCgpe3JldHVybiB0aGlzLiNvfXNldCBzZWxlY3RlZFRleHQoUyl7dGhpcy4jbz1TfWVkaXRvckNvbnRlbnRSZWY9RnIodGhpcyxJKTtpc0NvbXBvc2luZz0hMTtibG9ja09wZXJhdGlvbnM7aW5wdXRIYW5kbGVyO2tleWJvYXJkSGFuZGxlcjtkcmFnRHJvcEhhbmRsZXI7aGlzdG9yeTtzdGF0aWMgc3R5bGVzPVtEZSwuLi5vdC5iYXNlU3R5bGVzLGQuZGVmYXVsdFN0eWxlcyxPT2VdO2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmJsb2NrT3BlcmF0aW9ucz1uZXcgSk8odGhpcyksdGhpcy5pbnB1dEhhbmRsZXI9bmV3IHBCKHRoaXMpLHRoaXMua2V5Ym9hcmRIYW5kbGVyPW5ldyB1Qih0aGlzKSx0aGlzLmRyYWdEcm9wSGFuZGxlcj1uZXcgZkIodGhpcyksdGhpcy5oaXN0b3J5PW5ldyBoQn1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuaW5wdXRIYW5kbGVyPy5kZXN0cm95KCksdGhpcy5ibHVyVGltZW91dCYmKGNsZWFyVGltZW91dCh0aGlzLmJsdXJUaW1lb3V0KSx0aGlzLmJsdXJUaW1lb3V0PW51bGwpfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2lmKHRoaXMudmFsdWUmJnRoaXMudmFsdWUudHJpbSgpLmxlbmd0aD4wKXtsZXQgUz10aGlzLm91dHB1dEZvcm1hdD09PSJodG1sIj9aaS5wYXJzZUh0bWxUb0Jsb2Nrcyh0aGlzLnZhbHVlKTpaaS5wYXJzZU1hcmtkb3duVG9CbG9ja3ModGhpcy52YWx1ZSk7Uy5sZW5ndGg+MCYmKHRoaXMuYmxvY2tzPVMpfXRoaXMudXBkYXRlVmFsdWUoKSx0aGlzLmVkaXRvckNvbnRlbnRSZWY9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5lZGl0b3ItY29udGVudCIpLHRoaXMuZWRpdG9yQ29udGVudFJlZiYmdGhpcy5lZGl0b3JDb250ZW50UmVmLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixTPT50aGlzLmhhbmRsZUVkaXRvckNsaWNrKFMpKSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImJsb2NrLXRleHQtc2VsZWN0ZWQiLFM9PntpZighdGhpcy5zbGFzaE1lbnUudmlzaWJsZSYmUy5kZXRhaWwuaGFzU2VsZWN0aW9uJiZTLmRldGFpbC50ZXh0Lmxlbmd0aD4wJiYodGhpcy5zZWxlY3RlZFRleHQ9Uy5kZXRhaWwudGV4dCxTLmRldGFpbC5yZWN0KSl7bGV0IHo9e3g6Uy5kZXRhaWwucmVjdC5sZWZ0K1MuZGV0YWlsLnJlY3Qud2lkdGgvMix5Ok1hdGgubWF4KDQ1LFMuZGV0YWlsLnJlY3QudG9wLTQ1KX07dGhpcy5mb3JtYXR0aW5nTWVudS5zaG93KHosYXN5bmMgRD0+YXdhaXQgdGhpcy5hcHBseUZvcm1hdChEKSl9fSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixTPT57bGV0IHo9dGhpcy5mb3JtYXR0aW5nTWVudS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZm9ybWF0dGluZy1tZW51Iik7aWYoeiYmei5jb250YWlucyhTLnRhcmdldCkpcmV0dXJuO2xldCBEPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtEJiZELnRvU3RyaW5nKCkudHJpbSgpLmxlbmd0aD4wfHx0aGlzLmZvcm1hdHRpbmdNZW51LnZpc2libGUmJnRoaXMuaGlkZUZvcm1hdHRpbmdNZW51KCl9KSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLFM9PntsZXQgej1TLnRhcmdldDshdGhpcy5jb250YWlucyh6KSYmIXRoaXMuc2hhZG93Um9vdD8uY29udGFpbnMoeil8fCgoUy5tZXRhS2V5fHxTLmN0cmxLZXkpJiYhUy5zaGlmdEtleSYmUy5rZXk9PT0ieiI/KFMucHJldmVudERlZmF1bHQoKSx0aGlzLnVuZG8oKSk6KFMubWV0YUtleXx8Uy5jdHJsS2V5KSYmUy5zaGlmdEtleSYmUy5rZXk9PT0ieiImJihTLnByZXZlbnREZWZhdWx0KCksdGhpcy5yZWRvKCkpKX0pLHRoaXMuaGlzdG9yeS5zYXZlU3RhdGUodGhpcy5ibG9ja3MsdGhpcy5zZWxlY3RlZEJsb2NrSWQpLHRoaXMucmVuZGVyQmxvY2tzUHJvZ3JhbW1hdGljYWxseSgpfXJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKXt0aGlzLmVkaXRvckNvbnRlbnRSZWYmJih0aGlzLmVkaXRvckNvbnRlbnRSZWYuaW5uZXJIVE1MPSIiLHRoaXMuYmxvY2tzLmZvckVhY2goUz0+e2xldCB6PXRoaXMuY3JlYXRlQmxvY2tFbGVtZW50KFMpO3RoaXMuZWRpdG9yQ29udGVudFJlZi5hcHBlbmRDaGlsZCh6KX0pKX1jcmVhdGVCbG9ja0VsZW1lbnQoUyl7bGV0IHo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYoei5jbGFzc05hbWU9ImJsb2NrLXdyYXBwZXIiLHouc2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIixTLmlkKSxTLnR5cGUhPT0iZGl2aWRlciIpe2xldCBUPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO1QuY2xhc3NOYW1lPSJkcmFnLWhhbmRsZSIsVC5kcmFnZ2FibGU9ITAsVC5hZGRFdmVudExpc3RlbmVyKCJkcmFnc3RhcnQiLEE9PnRoaXMuZHJhZ0Ryb3BIYW5kbGVyLmhhbmRsZURyYWdTdGFydChBLFMpKSx6LmFwcGVuZENoaWxkKFQpfWxldCBEPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRlZXMtd3lzaXd5Zy1ibG9jayIpO3JldHVybiBELmJsb2NrPVMsRC5pc1NlbGVjdGVkPXRoaXMuc2VsZWN0ZWRCbG9ja0lkPT09Uy5pZCxELnd5c2l3eWdDb21wb25lbnQ9dGhpcyxELmhhbmRsZXJzPXtvbklucHV0OmkoVD0+dGhpcy5pbnB1dEhhbmRsZXIuaGFuZGxlQmxvY2tJbnB1dChULFMpLCJvbklucHV0Iiksb25LZXlEb3duOmkoVD0+dGhpcy5rZXlib2FyZEhhbmRsZXIuaGFuZGxlQmxvY2tLZXlEb3duKFQsUyksIm9uS2V5RG93biIpLG9uRm9jdXM6aSgoKT0+dGhpcy5oYW5kbGVCbG9ja0ZvY3VzKFMpLCJvbkZvY3VzIiksb25CbHVyOmkoKCk9PnRoaXMuaGFuZGxlQmxvY2tCbHVyKFMpLCJvbkJsdXIiKSxvbkNvbXBvc2l0aW9uU3RhcnQ6aSgoKT0+dGhpcy5pc0NvbXBvc2luZz0hMCwib25Db21wb3NpdGlvblN0YXJ0Iiksb25Db21wb3NpdGlvbkVuZDppKCgpPT50aGlzLmlzQ29tcG9zaW5nPSExLCJvbkNvbXBvc2l0aW9uRW5kIiksb25Nb3VzZVVwOmkoVD0+dGhpcy5oYW5kbGVUZXh0U2VsZWN0aW9uKFQpLCJvbk1vdXNlVXAiKSxvblJlcXVlc3RVcGRhdGU6aSgoKT0+dGhpcy51cGRhdGVCbG9ja0VsZW1lbnQoUy5pZCksIm9uUmVxdWVzdFVwZGF0ZSIpfSx6LmFwcGVuZENoaWxkKEQpLHouYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLFQ9PnRoaXMuZHJhZ0Ryb3BIYW5kbGVyLmhhbmRsZURyYWdPdmVyKFQsUykpLHouYWRkRXZlbnRMaXN0ZW5lcigiZHJvcCIsVD0+dGhpcy5kcmFnRHJvcEhhbmRsZXIuaGFuZGxlRHJvcChULFMpKSx6LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdsZWF2ZSIsKCk9PnRoaXMuZHJhZ0Ryb3BIYW5kbGVyLmhhbmRsZURyYWdMZWF2ZShTKSksen11cGRhdGVCbG9ja0VsZW1lbnQoUyl7bGV0IHo9dGhpcy5ibG9ja3MuZmluZChBPT5BLmlkPT09Uyk7aWYoIXopcmV0dXJuO2xldCBEPXRoaXMuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtTfSJdYCk7aWYoIUQpcmV0dXJuO2xldCBUPXRoaXMuY3JlYXRlQmxvY2tFbGVtZW50KHopO0QucmVwbGFjZVdpdGgoVCl9cmVuZGVyKCl7cmV0dXJuIHVvYAogICAgICA8ZGVlcy1sYWJlbAogICAgICAgIC5sYWJlbD0iJHt0aGlzLmxhYmVsfSIKICAgICAgICAuZGVzY3JpcHRpb249IiR7dGhpcy5kZXNjcmlwdGlvbn0iCiAgICAgICAgLnJlcXVpcmVkPSIke3RoaXMucmVxdWlyZWR9IgogICAgICA+PC9kZWVzLWxhYmVsPgogICAgICA8ZGl2IGNsYXNzPSJ3eXNpd3lnLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiAKICAgICAgICAgIGNsYXNzPSJlZGl0b3ItY29udGVudCAke3RoaXMuZHJhZ2dlZEJsb2NrSWQ/ImRyYWdnaW5nIjoiIn0iCiAgICAgICAgICBpZD0iZWRpdG9yLWNvbnRlbnQiCiAgICAgICAgPgogICAgICAgICAgPCEtLSBCbG9ja3Mgd2lsbCBiZSByZW5kZXJlZCBwcm9ncmFtbWF0aWNhbGx5IC0tPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlU2xhc2hNZW51S2V5Ym9hcmQoUyl7c3dpdGNoKFMua2V5KXtjYXNlIkFycm93RG93biI6Uy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2xhc2hNZW51Lm5hdmlnYXRlKCJkb3duIik7YnJlYWs7Y2FzZSJBcnJvd1VwIjpTLnByZXZlbnREZWZhdWx0KCksdGhpcy5zbGFzaE1lbnUubmF2aWdhdGUoInVwIik7YnJlYWs7Y2FzZSJFbnRlciI6Uy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2xhc2hNZW51LnNlbGVjdEN1cnJlbnQoKTticmVhaztjYXNlIkVzY2FwZSI6Uy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY2xvc2VTbGFzaE1lbnUoITApO2JyZWFrfX1jbG9zZVNsYXNoTWVudShTPSExKXtpZihTJiZ0aGlzLnNlbGVjdGVkQmxvY2tJZCl7bGV0IHo9dGhpcy5ibG9ja3MuZmluZChEPT5ELmlkPT09dGhpcy5zZWxlY3RlZEJsb2NrSWQpO2lmKHope2xldCBUPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt6LmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKFQpe2xldCBBPVQuZ2V0Q29udGVudCgpO2lmKEEuc3RhcnRzV2l0aCgiLyIpKXtsZXQgVT1BLnJlcGxhY2UoL15cL1teXHNdKlxzKi8sIiIpLnRyaW0oKTtULnNldENvbnRlbnQoVSksei5jb250ZW50PVUscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57VC5mb2N1c1dpdGhDdXJzb3IoMCl9KX19fX10aGlzLnNsYXNoTWVudS5oaWRlKCl9aGFuZGxlQmxvY2tGb2N1cyhTKXt0aGlzLmJsdXJUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuYmx1clRpbWVvdXQpLHRoaXMuYmx1clRpbWVvdXQ9bnVsbCk7bGV0IHo9dGhpcy5zZWxlY3RlZEJsb2NrSWQ7aWYodGhpcy5zZWxlY3RlZEJsb2NrSWQ9Uy5pZCx6IT09Uy5pZCl7aWYoeil7bGV0IFU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt6fSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO1UmJihVLmlzU2VsZWN0ZWQ9ITEpfWxldCBUPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7Uy5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtUJiYoVC5pc1NlbGVjdGVkPSEwKX19Ymx1clRpbWVvdXQ9bnVsbDtoYW5kbGVCbG9ja0JsdXIoUyl7aWYodGhpcy5ibHVyVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuYmx1clRpbWVvdXQpLHRoaXMuc2xhc2hNZW51LnZpc2libGUpcmV0dXJuO2xldCBEPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7Uy5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZihEJiZELmdldENvbnRlbnQpe2xldCBUPUQuZ2V0Q29udGVudCgpO1MuY29udGVudCE9PVQmJihTLmNvbnRlbnQ9VCl9dGhpcy5ibHVyVGltZW91dD1zZXRUaW1lb3V0KCgpPT57dGhpcy5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50Py5jbGFzc0xpc3QuY29udGFpbnMoImJsb2NrIil8fHRoaXMudXBkYXRlVmFsdWUoKX0sMTAwKX1oYW5kbGVFZGl0b3JDbGljayhTKXtsZXQgej1TLnRhcmdldDtpZih0aGlzLnNsYXNoTWVudS52aXNpYmxlJiZ0aGlzLmNsb3NlU2xhc2hNZW51KCEwKSx6LmNsYXNzTGlzdC5jb250YWlucygiZWRpdG9yLWNvbnRlbnQiKSl7bGV0IEQ9dGhpcy5ibG9ja3NbdGhpcy5ibG9ja3MubGVuZ3RoLTFdO3RoaXMuYmxvY2tPcGVyYXRpb25zLmZvY3VzQmxvY2soRC5pZCxELnR5cGU9PT0iZGl2aWRlciJ8fEQudHlwZT09PSJpbWFnZSI/dm9pZCAwOiJlbmQiKX19Y3JlYXRlTmV3QmxvY2soUz0icGFyYWdyYXBoIix6PSIiLEQpe3JldHVybntpZDpwMS5nZW5lcmF0ZUJsb2NrSWQoKSx0eXBlOlMsY29udGVudDp6LC4uLkQmJnttZXRhZGF0YTpEfX19YXN5bmMgaW5zZXJ0QmxvY2tBZnRlcihTLHosRD0hMCl7bGV0IFQ9dGhpcy5ibG9ja3MuZmluZEluZGV4KFU9PlUuaWQ9PT1TLmlkKTt0aGlzLmJsb2Nrcz1bLi4udGhpcy5ibG9ja3Muc2xpY2UoMCxUKzEpLHosLi4udGhpcy5ibG9ja3Muc2xpY2UoVCsxKV07bGV0IEE9dGhpcy5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke1MuaWR9Il1gKTtpZihBKXtsZXQgVT10aGlzLmNyZWF0ZUJsb2NrRWxlbWVudCh6KTtBLmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJlbmQiLFUpfXRoaXMudXBkYXRlVmFsdWUoKSxEJiZ6LnR5cGUhPT0iZGl2aWRlciImJihhd2FpdCBuZXcgUHJvbWlzZShVPT5zZXRUaW1lb3V0KFUsMCkpLGF3YWl0IHRoaXMuYmxvY2tPcGVyYXRpb25zLmZvY3VzQmxvY2soei5pZCwic3RhcnQiKSl9YXN5bmMgaW5zZXJ0QmxvY2soUyl7bGV0IHo9dGhpcy5ibG9ja3MuZmluZChBPT5BLmlkPT09dGhpcy5zZWxlY3RlZEJsb2NrSWQpO2lmKCF6KXt0aGlzLmNsb3NlU2xhc2hNZW51KCk7cmV0dXJufWxldCBUPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt6LmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKFQpe2xldCBBPVQuZ2V0Q29udGVudCgpO2lmKEEuc3RhcnRzV2l0aCgiLyIpKXtsZXQgVT1BLnJlcGxhY2UoL15cL1teXHNdKlxzKi8sIiIpLnRyaW0oKTtULnNldENvbnRlbnQoVSksei5jb250ZW50PVV9fWlmKHRoaXMuY2xvc2VTbGFzaE1lbnUoITEpLFM9PT0iY29kZSImJih6Lm1ldGFkYXRhPXtsYW5ndWFnZToidHlwZXNjcmlwdCJ9KSx6LnR5cGU9Uyx6LmNvbnRlbnQ9ei5jb250ZW50fHwiIixTPT09ImRpdmlkZXIiKXt6LmNvbnRlbnQ9IiAiO2xldCBBPXRoaXMuY3JlYXRlTmV3QmxvY2soKTt0aGlzLmluc2VydEJsb2NrQWZ0ZXIoeixBKX1lbHNlIFM9PT0ibGlzdCI/KHoubWV0YWRhdGE9e2xpc3RUeXBlOiJidWxsZXQifSx6LmNvbnRlbnQ9IiIpOlM9PT0iaW1hZ2UiPyh6LmNvbnRlbnQ9IiIsei5tZXRhZGF0YT17dXJsOiIiLGxvYWRpbmc6ITF9KTpTPT09InlvdXR1YmUiPyh6LmNvbnRlbnQ9IiIsei5tZXRhZGF0YT17dmlkZW9JZDoiIix1cmw6IiJ9KTpTPT09Im1hcmtkb3duIj96Lm1ldGFkYXRhPXtzaG93UHJldmlldzohMX06Uz09PSJodG1sIj96Lm1ldGFkYXRhPXtzaG93UHJldmlldzohMX06Uz09PSJhdHRhY2htZW50Ij8oei5jb250ZW50PSIiLHoubWV0YWRhdGE9e2ZpbGVzOltdfSk6ei5jb250ZW50PXouY29udGVudHx8IiI7dGhpcy51cGRhdGVCbG9ja0VsZW1lbnQoei5pZCksdGhpcy51cGRhdGVWYWx1ZSgpLGF3YWl0IG5ldyBQcm9taXNlKEE9PnNldFRpbWVvdXQoQSwwKSksUz09PSJsaXN0Ij8odGhpcy5ibG9ja09wZXJhdGlvbnMuZm9jdXNCbG9jayh6LmlkLCJzdGFydCIpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2xldCBVPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7ei5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtVJiZVLmZvY3VzTGlzdEl0ZW0oKX0pKTpTIT09ImRpdmlkZXIiJiZTIT09ImltYWdlIiYmUyE9PSJ5b3V0dWJlIiYmUyE9PSJtYXJrZG93biImJlMhPT0iaHRtbCImJlMhPT0iYXR0YWNobWVudCI/dGhpcy5ibG9ja09wZXJhdGlvbnMuZm9jdXNCbG9jayh6LmlkLCJzdGFydCIpOihTPT09ImltYWdlInx8Uz09PSJ5b3V0dWJlInx8Uz09PSJtYXJrZG93biJ8fFM9PT0iaHRtbCJ8fFM9PT0iYXR0YWNobWVudCIpJiZ0aGlzLmJsb2NrT3BlcmF0aW9ucy5mb2N1c0Jsb2NrKHouaWQpfXVwZGF0ZVZhbHVlKCl7dGhpcy5vdXRwdXRGb3JtYXQ9PT0iaHRtbCI/dGhpcy52YWx1ZT1aaS5nZXRIdG1sT3V0cHV0KHRoaXMuYmxvY2tzKTp0aGlzLnZhbHVlPVppLmdldE1hcmtkb3duT3V0cHV0KHRoaXMuYmxvY2tzKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzLnZhbHVlKSx0aGlzLnNhdmVUb0hpc3RvcnkoITApfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoUyl7dGhpcy52YWx1ZT1TLHRoaXMub3V0cHV0Rm9ybWF0PT09Imh0bWwiP3RoaXMuYmxvY2tzPVppLnBhcnNlSHRtbFRvQmxvY2tzKFMpOnRoaXMuYmxvY2tzPVppLnBhcnNlTWFya2Rvd25Ub0Jsb2NrcyhTKSx0aGlzLmJsb2Nrcy5sZW5ndGg9PT0wJiYodGhpcy5ibG9ja3M9W3tpZDpwMS5nZW5lcmF0ZUJsb2NrSWQoKSx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6IiJ9XSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcy52YWx1ZSksdGhpcy5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKX1leHBvcnRCbG9ja3MoKXtyZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmJsb2NrcykpfWltcG9ydEJsb2NrcyhTKXt0aGlzLmJsb2Nrcz1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KFMpKSx0aGlzLnVwZGF0ZVZhbHVlKCksdGhpcy5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKX1leHBvcnRBc0h0bWwoKXtyZXR1cm4gWmkuZ2V0SHRtbE91dHB1dCh0aGlzLmJsb2Nrcyl9ZXhwb3J0QXNNYXJrZG93bigpe3JldHVybiBaaS5nZXRNYXJrZG93bk91dHB1dCh0aGlzLmJsb2Nrcyl9ZXhwb3J0U3RhdGUoKXtyZXR1cm57YmxvY2tzOnRoaXMuZXhwb3J0QmxvY2tzKCksb3V0cHV0Rm9ybWF0OnRoaXMub3V0cHV0Rm9ybWF0fX1pbXBvcnRTdGF0ZShTKXtTLm91dHB1dEZvcm1hdCYmKHRoaXMub3V0cHV0Rm9ybWF0PVMub3V0cHV0Rm9ybWF0KSx0aGlzLmltcG9ydEJsb2NrcyhTLmJsb2Nrcyl9aGFuZGxlRHJhZ0VuZCgpe2lmKHRoaXMuZHJhZ2dlZEJsb2NrSWQpe2xldCB6PXRoaXMuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt0aGlzLmRyYWdnZWRCbG9ja0lkfSJdYCk7eiYmei5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpfXRoaXMuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yQWxsKCIuYmxvY2std3JhcHBlciIpLmZvckVhY2goej0+e3ouY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyLWJlZm9yZSIsImRyYWctb3Zlci1hZnRlciIpfSksdGhpcy5lZGl0b3JDb250ZW50UmVmLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksdGhpcy5kcmFnZ2VkQmxvY2tJZD1udWxsLHRoaXMuZHJhZ092ZXJCbG9ja0lkPW51bGwsdGhpcy5kcmFnT3ZlclBvc2l0aW9uPW51bGx9aGFuZGxlRHJvcChTLHope2lmKFMucHJldmVudERlZmF1bHQoKSwhdGhpcy5kcmFnZ2VkQmxvY2tJZHx8dGhpcy5kcmFnZ2VkQmxvY2tJZD09PXouaWQpcmV0dXJuO2xldCBEPXRoaXMuYmxvY2tzLmZpbmRJbmRleChSPT5SLmlkPT09dGhpcy5kcmFnZ2VkQmxvY2tJZCksVD10aGlzLmJsb2Nrcy5maW5kSW5kZXgoUj0+Ui5pZD09PXouaWQpO2lmKEQ9PT0tMXx8VD09PS0xKXJldHVybjtsZXRbQV09dGhpcy5ibG9ja3Muc3BsaWNlKEQsMSksVT1UO3RoaXMuZHJhZ092ZXJQb3NpdGlvbj09PSJhZnRlciI/VT1EPFQ/VDpUKzE6VT1EPFQ/VC0xOlQsdGhpcy5ibG9ja3Muc3BsaWNlKFUsMCxBKSx0aGlzLnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKSx0aGlzLnVwZGF0ZVZhbHVlKCksdGhpcy5oYW5kbGVEcmFnRW5kKCksc2V0VGltZW91dCgoKT0+e2xldCBSPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtBLmlkfSJdIC5ibG9ja2ApO1ImJkEudHlwZSE9PSJkaXZpZGVyIiYmUi5mb2N1cygpfSwxMDApfWhhbmRsZVRleHRTZWxlY3Rpb24oUyl7dGhpcy5zbGFzaE1lbnUudmlzaWJsZX11cGRhdGVGb3JtYXR0aW5nTWVudVBvc2l0aW9uKCl7bGV0IFM9W107dGhpcy5zaGFkb3dSb290JiZTLnB1c2godGhpcy5zaGFkb3dSb290KSx0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3JBbGwoIi5ibG9jay13cmFwcGVyIik/LmZvckVhY2goVD0+e2xldCBBPVQucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7QT8uc2hhZG93Um9vdCYmUy5wdXNoKEEuc2hhZG93Um9vdCl9KTtsZXQgRD1Bby5nZXRTZWxlY3Rpb25Db29yZGluYXRlcyguLi5TKTtEJiZ0aGlzLmZvcm1hdHRpbmdNZW51LnNob3coe3g6RC54LHk6RC55fSxhc3luYyBUPT5hd2FpdCB0aGlzLmFwcGx5Rm9ybWF0KFQpKX1oaWRlRm9ybWF0dGluZ01lbnUoKXt0aGlzLmZvcm1hdHRpbmdNZW51LmhpZGUoKSx0aGlzLnNlbGVjdGVkVGV4dD0iIn1hc3luYyBhcHBseUZvcm1hdChTKXtsZXQgej1bXTt0aGlzLnNoYWRvd1Jvb3QmJnoucHVzaCh0aGlzLnNoYWRvd1Jvb3QpLHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvckFsbCgiLmJsb2NrLXdyYXBwZXIiKT8uZm9yRWFjaChvZT0+e2xldCBPPW9lLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO08/LnNoYWRvd1Jvb3QmJnoucHVzaChPLnNoYWRvd1Jvb3QpfSk7bGV0IFQ9WWUuZ2V0U2VsZWN0aW9uSW5mbyguLi56KTtpZighVClyZXR1cm47bGV0IEEsVSxSPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCIuYmxvY2std3JhcHBlciIpO2ZvcihsZXQgb2U9MDtvZTxSLmxlbmd0aDtvZSsrKXtsZXQgTz1SW29lXSxyZT1PLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKHJlPy5zaGFkb3dSb290KXtsZXQgeWU9cmUuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZih5ZSYmKHllLmNvbnRhaW5zKFQuc3RhcnRDb250YWluZXIpfHx5ZS5jb250YWlucyhULmVuZENvbnRhaW5lcikpKXtsZXQgQj1PLmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpO0E9dGhpcy5ibG9ja3MuZmluZChlZT0+ZWUuaWQ9PT1CKSxVPXJlO2JyZWFrfX19aWYoIUF8fCFVKXJldHVybjtsZXQgcT1ZZS5jcmVhdGVSYW5nZUZyb21JbmZvKFQpO2lmKFM9PT0ibGluayIpe2xldCBvZT1hd2FpdCB0aGlzLnNob3dMaW5rRGlhbG9nKCk7aWYoIW9lKXtVLmZvY3VzKCk7cmV0dXJufUFvLmFwcGx5Rm9ybWF0KFMsb2UscSx6KX1lbHNlIEFvLmFwcGx5Rm9ybWF0KFMsdm9pZCAwLHEseik7YXdhaXQgbmV3IFByb21pc2Uob2U9PnNldFRpbWVvdXQob2UsMTApKSxBLmNvbnRlbnQ9VS5nZXRDb250ZW50KCksdGhpcy51cGRhdGVWYWx1ZSgpLFUuZm9jdXMoKSxTPT09ImxpbmsiP3RoaXMuaGlkZUZvcm1hdHRpbmdNZW51KCk6dGhpcy5zZWxlY3RlZFRleHQ9IiJ9YXN5bmMgc2hvd0xpbmtEaWFsb2coKXtyZXR1cm4gbmV3IFByb21pc2UoUz0+e2xldCB6PW51bGw7TWEuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiQWRkIExpbmsiLGNvbnRlbnQ6dW9gCiAgICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgIC5saW5rLWlucHV0IHsKICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWxpbmUtYnJpZ2h0KTsKICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1pbnB1dCk7CiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dCk7CiAgICAgICAgICAgICAgbWFyZ2luOiAxNnB4IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLmxpbmstaW5wdXQ6Zm9jdXMgewogICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXByaW1hcnkpOwogICAgICAgICAgICB9CiAgICAgICAgICA8L3N0eWxlPgogICAgICAgICAgPGlucHV0IAogICAgICAgICAgICBjbGFzcz0ibGluay1pbnB1dCIgCiAgICAgICAgICAgIHR5cGU9InVybCIgCiAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJodHRwczovL2V4YW1wbGUuY29tIiAKICAgICAgICAgICAgQGtleWRvd249IiR7RD0+e2lmKEQua2V5PT09IkVudGVyIil7bGV0IFQ9RC50YXJnZXQ7ej1ULnZhbHVlO2xldCBBPVQuY2xvc2VzdCgiZGVlcy1tb2RhbCIpO2lmKEEpe2xldCBVPUEuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmJvdHRvbUJ1dHRvbjpsYXN0LWNoaWxkIik7VSYmVS5jbGljaygpfX19fSIKICAgICAgICAgICAgQGlucHV0PSIke0Q9Pnt6PUQudGFyZ2V0LnZhbHVlfX0iCiAgICAgICAgICAvPgogICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDYW5jZWwiLGFjdGlvbjppKGFzeW5jIEQ9PntELmRlc3Ryb3koKSxTKG51bGwpfSwiYWN0aW9uIil9LHtuYW1lOiJBZGQgTGluayIsYWN0aW9uOmkoYXN5bmMgRD0+e0QuZGVzdHJveSgpLFMoeil9LCJhY3Rpb24iKX1dfSksc2V0VGltZW91dCgoKT0+e2xldCBEPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRlZXMtbW9kYWwgLmxpbmstaW5wdXQiKTtEJiZELmZvY3VzKCl9LDEwMCl9KX11bmRvKCl7bGV0IFM9dGhpcy5oaXN0b3J5LnVuZG8oKTtTJiZ0aGlzLnJlc3RvcmVTdGF0ZShTKX1yZWRvKCl7bGV0IFM9dGhpcy5oaXN0b3J5LnJlZG8oKTtTJiZ0aGlzLnJlc3RvcmVTdGF0ZShTKX1yZXN0b3JlU3RhdGUoUyl7dGhpcy5ibG9ja3M9Uy5ibG9ja3MsdGhpcy5zZWxlY3RlZEJsb2NrSWQ9Uy5zZWxlY3RlZEJsb2NrSWQsdGhpcy5yZW5kZXJCbG9ja3NQcm9ncmFtbWF0aWNhbGx5KCksUy5jdXJzb3JQb3NpdGlvbj9zZXRUaW1lb3V0KCgpPT57bGV0IEQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtTLmN1cnNvclBvc2l0aW9uLmJsb2NrSWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7RCYmRC5mb2N1c1dpdGhDdXJzb3IoUy5jdXJzb3JQb3NpdGlvbi5vZmZzZXQpfSw1MCk6Uy5zZWxlY3RlZEJsb2NrSWQmJnNldFRpbWVvdXQoKCk9Pnt0aGlzLmJsb2NrT3BlcmF0aW9ucy5mb2N1c0Jsb2NrKFMuc2VsZWN0ZWRCbG9ja0lkKX0sNTApLHRoaXMudXBkYXRlVmFsdWUoKX1zYXZlVG9IaXN0b3J5KFM9ITApe2xldCB6O2lmKHRoaXMuc2VsZWN0ZWRCbG9ja0lkKXtsZXQgVD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3RoaXMuc2VsZWN0ZWRCbG9ja0lkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKFQmJnR5cGVvZiBULmdldEN1cnNvclBvc2l0aW9uPT0iZnVuY3Rpb24iKXtsZXQgQT1ULnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKEEpe2xldCBVPVQuZ2V0Q3Vyc29yUG9zaXRpb24oQSk7VSE9PW51bGwmJih6PXtibG9ja0lkOnRoaXMuc2VsZWN0ZWRCbG9ja0lkLG9mZnNldDpVfSl9fX1TP3RoaXMuaGlzdG9yeS5zYXZlU3RhdGUodGhpcy5ibG9ja3MsdGhpcy5zZWxlY3RlZEJsb2NrSWQseik6dGhpcy5oaXN0b3J5LnNhdmVDaGVja3BvaW50KHRoaXMuYmxvY2tzLHRoaXMuc2VsZWN0ZWRCbG9ja0lkLHopfXN0YXRpY3tGcihyLGEpfX07cmV0dXJuIGo9cn0pKCl9KTt2YXIgUlp0LEZadD1jKCgpPT57cGUoKTtSYSgpO1ZaKCk7VzEoKTtSWnQ9aSgoKT0+d2AKICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgIDxzdHlsZT4KICAgICAgJHtYYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLm91dHB1dC1wcmV2aWV3IHsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgYmFja2dyb3VuZDogI2YzZjRmNjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGNvbG9yOiAjMzc0MTUxOwogICAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOwogICAgICAgICAgbWF4LWhlaWdodDogMjAwcHg7CiAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgICAub3V0cHV0LXByZXZpZXcgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMmMyYzJjOwogICAgICAgICAgICBjb2xvcjogI2U0ZTRlNzsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIxLiBCYXNpYyBSaWNoIFRleHQgRWRpdG9yIn0gLnN1YnRpdGxlPSR7IkEgZnVsbC1mZWF0dXJlZCByaWNoIHRleHQgZWRpdG9yIHdpdGggZm9ybWF0dGluZyB0b29sYmFyIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtcmljaHRleHQgCiAgICAgICAgICAubGFiZWw9JHsiQXJ0aWNsZSBDb250ZW50In0gCiAgICAgICAgICAudmFsdWU9JHsnPGgxPldlbGNvbWUgdG8gdGhlIFJpY2ggVGV4dCBFZGl0b3IhPC9oMT48cD5UaGlzIGlzIGEgZmVhdHVyZS1yaWNoIGVkaXRvciBidWlsdCB3aXRoIFRpcFRhcC4gWW91IGNhbjo8L3A+PHVsPjxsaT48c3Ryb25nPkZvcm1hdCB0ZXh0PC9zdHJvbmc+IHdpdGggPGVtPnZhcmlvdXM8L2VtPiA8dT5zdHlsZXM8L3U+PC9saT48bGk+Q3JlYXRlIGRpZmZlcmVudCBoZWFkaW5nIGxldmVsczwvbGk+PGxpPkFkZCA8YSBocmVmPSJodHRwczovL2V4YW1wbGUuY29tIj5saW5rczwvYT4gdG8gZXh0ZXJuYWwgcmVzb3VyY2VzPC9saT48bGk+V3JpdGUgPGNvZGU+aW5saW5lIGNvZGU8L2NvZGU+IG9yIGNvZGUgYmxvY2tzPC9saT48L3VsPjxibG9ja3F1b3RlPjxwPlVzZSB0aGUgdG9vbGJhciBhYm92ZSB0byBleHBsb3JlIGFsbCB0aGUgZm9ybWF0dGluZyBvcHRpb25zIGF2YWlsYWJsZSE8L3A+PC9ibG9ja3F1b3RlPjxwPlN0YXJ0IHR5cGluZyB0byBzZWUgdGhlIG1hZ2ljIGhhcHBlbi4uLjwvcD4nfQogICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlVzZSB0aGUgdG9vbGJhciB0byBmb3JtYXQgeW91ciBjb250ZW50IHdpdGggaGVhZGluZ3MsIGxpc3RzLCBsaW5rcywgYW5kIG1vcmUifQogICAgICAgICAgLnNob3dXb3JkQ291bnQ9JHshMH0KICAgICAgICA+PC9kZWVzLWlucHV0LXJpY2h0ZXh0PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMi4gV2l0aCBQbGFjZWhvbGRlciJ9IC5zdWJ0aXRsZT0keyJFbXB0eSBlZGl0b3Igd2l0aCBwbGFjZWhvbGRlciB0ZXh0In0+CiAgICAgICAgPGRlZXMtaW5wdXQtcmljaHRleHQgCiAgICAgICAgICAubGFiZWw9JHsiQmxvZyBQb3N0In0gCiAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiU3RhcnQgd3JpdGluZyB5b3VyIGJsb2cgcG9zdCBoZXJlLi4uIn0KICAgICAgICAgIC5zaG93V29yZENvdW50PSR7ITB9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1yaWNodGV4dD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjMuIERpZmZlcmVudCBIZWlnaHRzIn0gLnN1YnRpdGxlPSR7IkVkaXRvcnMgd2l0aCBkaWZmZXJlbnQgbWluaW11bSBoZWlnaHRzIGZvciB2YXJpb3VzIHVzZSBjYXNlcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImdyaWQtbGF5b3V0Ij4KICAgICAgICAgIDxkZWVzLWlucHV0LXJpY2h0ZXh0IAogICAgICAgICAgICAubGFiZWw9JHsiU2hvcnQgTm90ZSJ9IAogICAgICAgICAgICAubWluSGVpZ2h0PSR7MTUwfQogICAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiUXVpY2sgbm90ZS4uLiJ9CiAgICAgICAgICAgIC5zaG93V29yZENvdW50PSR7ITF9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJpY2h0ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1yaWNodGV4dCAKICAgICAgICAgICAgLmxhYmVsPSR7IkV4dGVuZGVkIENvbnRlbnQifSAKICAgICAgICAgICAgLm1pbkhlaWdodD0kezMwMH0KICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IldyaXRlIHlvdXIgZXh0ZW5kZWQgY29udGVudCBoZXJlLi4uIn0KICAgICAgICAgICAgLnNob3dXb3JkQ291bnQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmljaHRleHQ+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI0LiBDb2RlIEV4YW1wbGVzIn0gLnN1YnRpdGxlPSR7IkVkaXRvciBwcmUtZmlsbGVkIHdpdGggY29kZSBleGFtcGxlcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LXJpY2h0ZXh0IAogICAgICAgICAgLmxhYmVsPSR7IlRlY2huaWNhbCBEb2N1bWVudGF0aW9uIn0gCiAgICAgICAgICAudmFsdWU9JHsnPGgyPkluc3RhbGxhdGlvbiBHdWlkZTwvaDI+PHA+VG8gaW5zdGFsbCB0aGUgcGFja2FnZSwgcnVuIHRoZSBmb2xsb3dpbmcgY29tbWFuZDo8L3A+PHByZT48Y29kZT5ucG0gaW5zdGFsbCBAZGVzaWduLmVzdGF0ZS9kZWVzLWNhdGFsb2c8L2NvZGU+PC9wcmU+PHA+VGhlbiBpbXBvcnQgdGhlIGNvbXBvbmVudCBpbiB5b3VyIFR5cGVTY3JpcHQgZmlsZTo8L3A+PHByZT48Y29kZT5pbXBvcnQgeyBEZWVzSW5wdXRSaWNodGV4dCB9IGZyb20gIkBkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZyI7PC9jb2RlPjwvcHJlPjxwPllvdSBjYW4gbm93IHVzZSB0aGUgPGNvZGU+Jmx0O2RlZXMtaW5wdXQtcmljaHRleHQmZ3Q7PC9jb2RlPiBlbGVtZW50IGluIHlvdXIgdGVtcGxhdGVzLjwvcD4nfQogICAgICAgICAgLm1pbkhlaWdodD0kezI1MH0KICAgICAgICAgIC5zaG93V29yZENvdW50PSR7ITB9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1yaWNodGV4dD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjUuIERpc2FibGVkIFN0YXRlIn0gLnN1YnRpdGxlPSR7IlJlYWQtb25seSByaWNoIHRleHQgY29udGVudCJ9PgogICAgICAgIDxkZWVzLWlucHV0LXJpY2h0ZXh0IAogICAgICAgICAgLmxhYmVsPSR7IlB1Ymxpc2hlZCBBcnRpY2xlIChSZWFkIE9ubHkpIn0gCiAgICAgICAgICAudmFsdWU9JHsnPGgyPlRoZSBGdXR1cmUgb2YgV2ViIENvbXBvbmVudHM8L2gyPjxwPldlYiBDb21wb25lbnRzIGhhdmUgcmV2b2x1dGlvbml6ZWQgaG93IHdlIGJ1aWxkIG1vZGVybiB3ZWIgYXBwbGljYXRpb25zLi4uPC9wPjxibG9ja3F1b3RlPjxwPiJUaGUgZnV0dXJlIG9mIHdlYiBkZXZlbG9wbWVudCBsaWVzIGluIHJldXNhYmxlLCBlbmNhcHN1bGF0ZWQgY29tcG9uZW50cy4iPC9wPjwvYmxvY2txdW90ZT4nfQogICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICAuc2hvd1dvcmRDb3VudD0keyEwfQogICAgICAgID48L2RlZXMtaW5wdXQtcmljaHRleHQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI2LiBJbnRlcmFjdGl2ZSBEZW1vIn0gLnN1YnRpdGxlPSR7IlR5cGUgaW4gdGhlIGVkaXRvciBiZWxvdyBhbmQgc2VlIHRoZSBIVE1MIG91dHB1dCJ9PgogICAgICAgIDxkZWVzLWlucHV0LXJpY2h0ZXh0IAogICAgICAgICAgaWQ9ImludGVyYWN0aXZlLWVkaXRvciIKICAgICAgICAgIC5sYWJlbD0keyJUcnkgaXQgeW91cnNlbGYifSAKICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJUeXBlIHNvbWV0aGluZyBoZXJlLi4uIn0KICAgICAgICAgIC5zaG93V29yZENvdW50PSR7ITB9CiAgICAgICAgICBAY2hhbmdlPSR7dD0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNvdXRwdXQtcHJldmlldyIpO2UmJihlLnRleHRDb250ZW50PXQuZGV0YWlsLnZhbHVlKX19CiAgICAgICAgPjwvZGVlcy1pbnB1dC1yaWNodGV4dD4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJvdXRwdXQtcHJldmlldyIgaWQ9Im91dHB1dC1wcmV2aWV3Ij4KICAgICAgICAgIDxlbT5IVE1MIG91dHB1dCB3aWxsIGFwcGVhciBoZXJlLi4uPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgLCJkZW1vRnVuYyIpfSk7dmFyIE9adCxCWnQ9YygoKT0+e3BlKCk7V2EoKTtPWnQ9Wy4uLm90LmJhc2VTdHlsZXMsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZm9udC1mYW1pbHk6IEludGVyLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgfQoKICAgICAgLmlucHV0LXdyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmxhYmVsIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTMuOSUpIil9OwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIG1pbi1oZWlnaHQ6ICR7ZC5iZFRoZW1lKCIyMDBweCIsIjIwMHB4Iil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGFpbmVyOmhvdmVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGFpbmVyLmZvY3VzZWQgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5JSAvIDAuMDUpIiwiaHNsKDAgMCUgOTglIC8gMC4wNSkiKX07CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItdG9vbGJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b24gZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWJ1dHRvbi5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYnV0dG9uOmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLnRvb2xiYXItZGl2aWRlciB7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBtYXJnaW46IDAgNHB4OwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLW1pbi1oZWlnaHQsIDIwMHB4KTsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMy45JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgcCB7CiAgICAgICAgbWFyZ2luOiAwLjVlbSAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIHA6Zmlyc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgcDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIGgxIHsKICAgICAgICBmb250LXNpemU6IDJlbTsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICBtYXJnaW46IDFlbSAwIDAuNWVtIDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBoMiB7CiAgICAgICAgZm9udC1zaXplOiAxLjVlbTsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICBtYXJnaW46IDFlbSAwIDAuNWVtIDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBoMyB7CiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgbWFyZ2luOiAxZW0gMCAwLjVlbSAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgdWwsCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3Igb2wgewogICAgICAgIHBhZGRpbmctbGVmdDogMS41ZW07CiAgICAgICAgbWFyZ2luOiAwLjVlbSAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIGxpIHsKICAgICAgICBtYXJnaW46IDAuMjVlbSAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIGJsb2NrcXVvdGUgewogICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBtYXJnaW46IDFlbSAwOwogICAgICAgIHBhZGRpbmctbGVmdDogMWVtOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBjb2RlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBwYWRkaW5nOiAwLjJlbSAwLjRlbTsKICAgICAgICBmb250LWZhbWlseTogJ0ludGVsIE9uZSBNb25vJywgJ0ZpcmEgQ29kZScsICdTRiBNb25vJywgTW9uYWNvLCAnQ2FzY2FkaWEgQ29kZScsICdSb2JvdG8gTW9ubycsIENvbnNvbGFzLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAwLjllbTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgcHJlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMy45JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTglKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAxZW07CiAgICAgICAgbWFyZ2luOiAxZW0gMDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIHByZSBjb2RlIHsKICAgICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBhIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBhOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA0MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNjkuOCUpIil9OwogICAgICB9CgogICAgICAuZWRpdG9yLWZvb3RlciB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLndvcmQtY291bnQgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5saW5rLWlucHV0IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgei1pbmRleDogMTAwMDsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQuc2hvdyB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5saW5rLWlucHV0IGlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAzLjklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQgaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5JSAvIDAuMDUpIiwiaHNsKDAgMCUgOTglIC8gMC4wNSkiKX07CiAgICAgIH0KCiAgICAgIC5saW5rLWlucHV0LWJ1dHRvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICB9CgogICAgICAubGluay1pbnB1dC1idXR0b25zIGJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQtYnV0dG9ucyBidXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CgogICAgICAubGluay1pbnB1dC1idXR0b25zIGJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQtYnV0dG9ucyBidXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5My45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkzLjklKSIpfTsKICAgICAgfQoKICAgICAgLmRlc2NyaXB0aW9uIHsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC5lZGl0b3ItY29udGFpbmVyIHsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnRvb2xiYXItYnV0dG9uLAogICAgICA6aG9zdChbZGlzYWJsZWRdKSAuZWRpdG9yLWNvbnRlbnQgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICBgXX0pO3ZhciBIWnQscVp0PWMoKCk9PntwZSgpO0hadD1pKHQ9PndgCiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgICAke3QubGFiZWw/d2A8bGFiZWwgY2xhc3M9ImxhYmVsIj4ke3QubGFiZWx9PC9sYWJlbD5gOiIifQogICAgICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yLWNvbnRhaW5lciAke3QuZWRpdG9yPy5pc0ZvY3VzZWQ/ImZvY3VzZWQiOiIifSIgc3R5bGU9Ii0tbWluLWhlaWdodDogJHt0Lm1pbkhlaWdodH1weCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVkaXRvci10b29sYmFyIj4KICAgICAgICAgICAgICAke3QucmVuZGVyVG9vbGJhcigpfQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxpbmstaW5wdXQgJHt0LnNob3dMaW5rSW5wdXQ/InNob3ciOiIifSI+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idXJsIiBwbGFjZWhvbGRlcj0iRW50ZXIgVVJMLi4uIiBAa2V5ZG93bj0ke3QuaGFuZGxlTGlua0lucHV0S2V5ZG93bn0gLz4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxpbmstaW5wdXQtYnV0dG9ucyI+CiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InByaW1hcnkiIEBjbGljaz0ke3Quc2F2ZUxpbmt9PlNhdmU8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBAY2xpY2s9JHt0LnJlbW92ZUxpbmt9PlJlbW92ZTwvYnV0dG9uPgogICAgICAgICAgICAgICAgICA8YnV0dG9uIEBjbGljaz0ke3QuaGlkZUxpbmtJbnB1dH0+Q2FuY2VsPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVkaXRvci1jb250ZW50Ij48L2Rpdj4KICAgICAgICAgICAgJHt0LnNob3dXb3JkQ291bnQ/d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yLWZvb3RlciI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IndvcmQtY291bnQiPiR7dC53b3JkQ291bnR9IHdvcmQke3Qud29yZENvdW50IT09MT8icyI6IiJ9PC9zcGFuPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7dC5kZXNjcmlwdGlvbj93YDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uIj4ke3QuZGVzY3JpcHRpb259PC9kaXY+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgYCwicmVuZGVyUmljaHRleHQiKX0pO3ZhciBnNixraSxqWixWWj1jKCgpPT57V2EoKTtGWnQoKTtCWnQoKTtxWnQoKTtLdCgpO3BlKCk7cGwoKTtnNj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sa2k9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LGpaPSgoKT0+e2xldCB0PVthZSgiZGVlcy1pbnB1dC1yaWNodGV4dCIpXSxlLGE9W10scixzPW90LG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdLEUsXz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzSW5wdXRSaWNodGV4dCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCAkPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0saD1bTCh7dHlwZTpTdHJpbmd9KV0scD1bTCh7dHlwZTpCb29sZWFufSldLHg9W0woe3R5cGU6TnVtYmVyfSldLHk9W1ooKV0sRT1bWigpXSxnNih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEk9PiJ2YWx1ZSJpbiBJLCJoYXMiKSxnZXQ6aShJPT5JLnZhbHVlLCJnZXQiKSxzZXQ6aSgoSSxqKT0+e0kudmFsdWU9an0sInNldCIpfSxtZXRhZGF0YTokfSxvLGwpLGc2KHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGxhY2Vob2xkZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoST0+InBsYWNlaG9sZGVyImluIEksImhhcyIpLGdldDppKEk9PkkucGxhY2Vob2xkZXIsImdldCIpLHNldDppKChJLGopPT57SS5wbGFjZWhvbGRlcj1qfSwic2V0Iil9LG1ldGFkYXRhOiR9LHUsZiksZzYodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93V29yZENvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEk9PiJzaG93V29yZENvdW50ImluIEksImhhcyIpLGdldDppKEk9Pkkuc2hvd1dvcmRDb3VudCwiZ2V0Iiksc2V0OmkoKEksaik9PntJLnNob3dXb3JkQ291bnQ9an0sInNldCIpfSxtZXRhZGF0YTokfSxnLHYpLGc2KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWluSGVpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEk9PiJtaW5IZWlnaHQiaW4gSSwiaGFzIiksZ2V0OmkoST0+SS5taW5IZWlnaHQsImdldCIpLHNldDppKChJLGopPT57SS5taW5IZWlnaHQ9an0sInNldCIpfSxtZXRhZGF0YTokfSxiLG0pLGc2KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0xpbmtJbnB1dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShJPT4ic2hvd0xpbmtJbnB1dCJpbiBJLCJoYXMiKSxnZXQ6aShJPT5JLnNob3dMaW5rSW5wdXQsImdldCIpLHNldDppKChJLGopPT57SS5zaG93TGlua0lucHV0PWp9LCJzZXQiKX0sbWV0YWRhdGE6JH0sTSxrKSxnNih0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndvcmRDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShJPT4id29yZENvdW50ImluIEksImhhcyIpLGdldDppKEk9Pkkud29yZENvdW50LCJnZXQiKSxzZXQ6aSgoSSxqKT0+e0kud29yZENvdW50PWp9LCJzZXQiKX0sbWV0YWRhdGE6JH0sXyxDKSxnNihudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTokfSxudWxsLGEpLE49cj1lLnZhbHVlLCQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6JH0pfXN0YXRpYyBkZW1vPVJadDtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9a2kodGhpcyxvLCIiKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoJCl7dGhpcy4jZT0kfSN0PShraSh0aGlzLGwpLGtpKHRoaXMsdSwiIikpO2dldCBwbGFjZWhvbGRlcigpe3JldHVybiB0aGlzLiN0fXNldCBwbGFjZWhvbGRlcigkKXt0aGlzLiN0PSR9I2E9KGtpKHRoaXMsZiksa2kodGhpcyxnLCEwKSk7Z2V0IHNob3dXb3JkQ291bnQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd1dvcmRDb3VudCgkKXt0aGlzLiNhPSR9I3I9KGtpKHRoaXMsdiksa2kodGhpcyxiLDIwMCkpO2dldCBtaW5IZWlnaHQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbWluSGVpZ2h0KCQpe3RoaXMuI3I9JH0jaT0oa2kodGhpcyxtKSxraSh0aGlzLE0sITEpKTtnZXQgc2hvd0xpbmtJbnB1dCgpe3JldHVybiB0aGlzLiNpfXNldCBzaG93TGlua0lucHV0KCQpe3RoaXMuI2k9JH0jcz0oa2kodGhpcyxrKSxraSh0aGlzLF8sMCkpO2dldCB3b3JkQ291bnQoKXtyZXR1cm4gdGhpcy4jc31zZXQgd29yZENvdW50KCQpe3RoaXMuI3M9JH1lZGl0b3JFbGVtZW50PWtpKHRoaXMsQyk7bGlua0lucHV0RWxlbWVudDt0aXB0YXBCdW5kbGU9bnVsbDtlZGl0b3I7c3RhdGljIHN0eWxlcz1PWnQ7cmVuZGVyKCl7cmV0dXJuIEhadCh0aGlzKX1yZW5kZXJUb29sYmFyKCl7bGV0ICQ9dGhpcy5nZXRUb29sYmFyQnV0dG9ucygpO3JldHVybiB3YAogICAgICAkeyQubWFwKEk9PkkuaXNEaXZpZGVyP3dgPGRpdiBjbGFzcz0idG9vbGJhci1kaXZpZGVyIj48L2Rpdj5gOndgCiAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiAke0kuaXNBY3RpdmU/LigpPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgQGNsaWNrPSR7SS5hY3Rpb259CiAgICAgICAgICAgIHRpdGxlPSR7SS50aXRsZX0KICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZHx8IXRoaXMuZWRpdG9yfQogICAgICAgICAgPgogICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7SS5pY29ufT48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIGApfQogICAgYH1nZXRUb29sYmFyQnV0dG9ucygpe3JldHVybiB0aGlzLmVkaXRvcj9be25hbWU6ImJvbGQiLGljb246Imx1Y2lkZTpib2xkIix0aXRsZToiQm9sZCAoQ3RybCtCKSIsYWN0aW9uOmkoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVCb2xkKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOmkoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJib2xkIiksImlzQWN0aXZlIil9LHtuYW1lOiJpdGFsaWMiLGljb246Imx1Y2lkZTppdGFsaWMiLHRpdGxlOiJJdGFsaWMgKEN0cmwrSSkiLGFjdGlvbjppKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlSXRhbGljKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOmkoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJpdGFsaWMiKSwiaXNBY3RpdmUiKX0se25hbWU6InVuZGVybGluZSIsaWNvbjoibHVjaWRlOnVuZGVybGluZSIsdGl0bGU6IlVuZGVybGluZSAoQ3RybCtVKSIsYWN0aW9uOmkoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVVbmRlcmxpbmUoKS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6aSgoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoInVuZGVybGluZSIpLCJpc0FjdGl2ZSIpfSx7bmFtZToic3RyaWtlIixpY29uOiJsdWNpZGU6c3RyaWtldGhyb3VnaCIsdGl0bGU6IlN0cmlrZXRocm91Z2giLGFjdGlvbjppKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlU3RyaWtlKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOmkoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJzdHJpa2UiKSwiaXNBY3RpdmUiKX0se25hbWU6ImRpdmlkZXIxIix0aXRsZToiIixpc0RpdmlkZXI6ITB9LHtuYW1lOiJoMSIsaWNvbjoibHVjaWRlOmhlYWRpbmcxIix0aXRsZToiSGVhZGluZyAxIixhY3Rpb246aSgoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUhlYWRpbmcoe2xldmVsOjF9KS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6aSgoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoImhlYWRpbmciLHtsZXZlbDoxfSksImlzQWN0aXZlIil9LHtuYW1lOiJoMiIsaWNvbjoibHVjaWRlOmhlYWRpbmcyIix0aXRsZToiSGVhZGluZyAyIixhY3Rpb246aSgoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUhlYWRpbmcoe2xldmVsOjJ9KS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6aSgoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoImhlYWRpbmciLHtsZXZlbDoyfSksImlzQWN0aXZlIil9LHtuYW1lOiJoMyIsaWNvbjoibHVjaWRlOmhlYWRpbmczIix0aXRsZToiSGVhZGluZyAzIixhY3Rpb246aSgoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUhlYWRpbmcoe2xldmVsOjN9KS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6aSgoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoImhlYWRpbmciLHtsZXZlbDozfSksImlzQWN0aXZlIil9LHtuYW1lOiJkaXZpZGVyMiIsdGl0bGU6IiIsaXNEaXZpZGVyOiEwfSx7bmFtZToiYnVsbGV0TGlzdCIsaWNvbjoibHVjaWRlOmxpc3QiLHRpdGxlOiJCdWxsZXQgTGlzdCIsYWN0aW9uOmkoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVCdWxsZXRMaXN0KCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOmkoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJidWxsZXRMaXN0IiksImlzQWN0aXZlIil9LHtuYW1lOiJvcmRlcmVkTGlzdCIsaWNvbjoibHVjaWRlOmxpc3RPcmRlcmVkIix0aXRsZToiTnVtYmVyZWQgTGlzdCIsYWN0aW9uOmkoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVPcmRlcmVkTGlzdCgpLnJ1bigpLCJhY3Rpb24iKSxpc0FjdGl2ZTppKCgpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSgib3JkZXJlZExpc3QiKSwiaXNBY3RpdmUiKX0se25hbWU6ImJsb2NrcXVvdGUiLGljb246Imx1Y2lkZTpxdW90ZSIsdGl0bGU6IlF1b3RlIixhY3Rpb246aSgoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUJsb2NrcXVvdGUoKS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6aSgoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoImJsb2NrcXVvdGUiKSwiaXNBY3RpdmUiKX0se25hbWU6ImNvZGUiLGljb246Imx1Y2lkZTpjb2RlIix0aXRsZToiQ29kZSIsYWN0aW9uOmkoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVDb2RlKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOmkoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJjb2RlIiksImlzQWN0aXZlIil9LHtuYW1lOiJjb2RlQmxvY2siLGljb246Imx1Y2lkZTpmaWxlQ29kZSIsdGl0bGU6IkNvZGUgQmxvY2siLGFjdGlvbjppKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlQ29kZUJsb2NrKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOmkoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJjb2RlQmxvY2siKSwiaXNBY3RpdmUiKX0se25hbWU6ImRpdmlkZXIzIix0aXRsZToiIixpc0RpdmlkZXI6ITB9LHtuYW1lOiJsaW5rIixpY29uOiJsdWNpZGU6bGluayIsdGl0bGU6IkFkZCBMaW5rIixhY3Rpb246aSgoKT0+dGhpcy50b2dnbGVMaW5rKCksImFjdGlvbiIpLGlzQWN0aXZlOmkoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJsaW5rIiksImlzQWN0aXZlIil9LHtuYW1lOiJhbGlnbkxlZnQiLGljb246Imx1Y2lkZTphbGlnbkxlZnQiLHRpdGxlOiJBbGlnbiBMZWZ0IixhY3Rpb246aSgoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnNldFRleHRBbGlnbigibGVmdCIpLnJ1bigpLCJhY3Rpb24iKSxpc0FjdGl2ZTppKCgpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSh7dGV4dEFsaWduOiJsZWZ0In0pLCJpc0FjdGl2ZSIpfSx7bmFtZToiYWxpZ25DZW50ZXIiLGljb246Imx1Y2lkZTphbGlnbkNlbnRlciIsdGl0bGU6IkFsaWduIENlbnRlciIsYWN0aW9uOmkoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5zZXRUZXh0QWxpZ24oImNlbnRlciIpLnJ1bigpLCJhY3Rpb24iKSxpc0FjdGl2ZTppKCgpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSh7dGV4dEFsaWduOiJjZW50ZXIifSksImlzQWN0aXZlIil9LHtuYW1lOiJhbGlnblJpZ2h0IixpY29uOiJsdWNpZGU6YWxpZ25SaWdodCIsdGl0bGU6IkFsaWduIFJpZ2h0IixhY3Rpb246aSgoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnNldFRleHRBbGlnbigicmlnaHQiKS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6aSgoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoe3RleHRBbGlnbjoicmlnaHQifSksImlzQWN0aXZlIil9LHtuYW1lOiJkaXZpZGVyNCIsdGl0bGU6IiIsaXNEaXZpZGVyOiEwfSx7bmFtZToidW5kbyIsaWNvbjoibHVjaWRlOnVuZG8iLHRpdGxlOiJVbmRvIChDdHJsK1opIixhY3Rpb246aSgoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnVuZG8oKS5ydW4oKSwiYWN0aW9uIil9LHtuYW1lOiJyZWRvIixpY29uOiJsdWNpZGU6cmVkbyIsdGl0bGU6IlJlZG8gKEN0cmwrWSkiLGFjdGlvbjppKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkucmVkbygpLnJ1bigpLCJhY3Rpb24iKX1dOltdfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2F3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy50aXB0YXBCdW5kbGU9YXdhaXQgcnIuZ2V0SW5zdGFuY2UoKS5sb2FkVGlwdGFwKCksdGhpcy5lZGl0b3JFbGVtZW50PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLWNvbnRlbnQiKSx0aGlzLmxpbmtJbnB1dEVsZW1lbnQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5saW5rLWlucHV0IGlucHV0IiksdGhpcy5pbml0aWFsaXplRWRpdG9yKCl9aW5pdGlhbGl6ZUVkaXRvcigpe2lmKHRoaXMuZGlzYWJsZWR8fCF0aGlzLnRpcHRhcEJ1bmRsZSlyZXR1cm47bGV0e0VkaXRvcjokLFN0YXJ0ZXJLaXQ6SSxVbmRlcmxpbmU6aixUZXh0QWxpZ246UyxMaW5rOnosVHlwb2dyYXBoeTpEfT10aGlzLnRpcHRhcEJ1bmRsZTt0aGlzLmVkaXRvcj1uZXcgJCh7ZWxlbWVudDp0aGlzLmVkaXRvckVsZW1lbnQsZXh0ZW5zaW9uczpbSS5jb25maWd1cmUoe2hlYWRpbmc6e2xldmVsczpbMSwyLDNdfX0pLGouY29uZmlndXJlKHt9KSxTLmNvbmZpZ3VyZSh7dHlwZXM6WyJoZWFkaW5nIiwicGFyYWdyYXBoIl19KSx6LmNvbmZpZ3VyZSh7b3Blbk9uQ2xpY2s6ITEsSFRNTEF0dHJpYnV0ZXM6e2NsYXNzOiJlZGl0b3ItbGluayJ9fSksRC5jb25maWd1cmUoe30pXSxjb250ZW50OnRoaXMudmFsdWV8fCh0aGlzLnBsYWNlaG9sZGVyP2A8cD4ke3RoaXMucGxhY2Vob2xkZXJ9PC9wPmA6IiIpLG9uVXBkYXRlOmkoKHtlZGl0b3I6VH0pPT57dGhpcy52YWx1ZT1ULmdldEhUTUwoKSx0aGlzLnVwZGF0ZVdvcmRDb3VudCgpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMudmFsdWUpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImlucHV0Iix7ZGV0YWlsOnt2YWx1ZTp0aGlzLnZhbHVlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNoYW5nZSIse2RldGFpbDp7dmFsdWU6dGhpcy52YWx1ZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX0sIm9uVXBkYXRlIiksb25TZWxlY3Rpb25VcGRhdGU6aSgoKT0+e3RoaXMucmVxdWVzdFVwZGF0ZSgpfSwib25TZWxlY3Rpb25VcGRhdGUiKSxvbkZvY3VzOmkoKCk9Pnt0aGlzLnJlcXVlc3RVcGRhdGUoKX0sIm9uRm9jdXMiKSxvbkJsdXI6aSgoKT0+e3RoaXMucmVxdWVzdFVwZGF0ZSgpfSwib25CbHVyIil9KSx0aGlzLnVwZGF0ZVdvcmRDb3VudCgpfXVwZGF0ZVdvcmRDb3VudCgpe2lmKCF0aGlzLmVkaXRvcilyZXR1cm47bGV0ICQ9dGhpcy5lZGl0b3IuZ2V0VGV4dCgpO3RoaXMud29yZENvdW50PSQudHJpbSgpPyQudHJpbSgpLnNwbGl0KC9ccysvKS5sZW5ndGg6MH10b2dnbGVMaW5rKCl7aWYodGhpcy5lZGl0b3IpaWYodGhpcy5lZGl0b3IuaXNBY3RpdmUoImxpbmsiKSl7bGV0ICQ9dGhpcy5lZGl0b3IuZ2V0QXR0cmlidXRlcygibGluayIpLmhyZWY7dGhpcy5zaG93TGlua0lucHV0PSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMubGlua0lucHV0RWxlbWVudCYmKHRoaXMubGlua0lucHV0RWxlbWVudC52YWx1ZT0kfHwiIix0aGlzLmxpbmtJbnB1dEVsZW1lbnQuZm9jdXMoKSx0aGlzLmxpbmtJbnB1dEVsZW1lbnQuc2VsZWN0KCkpfSl9ZWxzZSB0aGlzLnNob3dMaW5rSW5wdXQ9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5saW5rSW5wdXRFbGVtZW50JiYodGhpcy5saW5rSW5wdXRFbGVtZW50LnZhbHVlPSIiLHRoaXMubGlua0lucHV0RWxlbWVudC5mb2N1cygpKX0pfXNhdmVMaW5rKCl7aWYoIXRoaXMuZWRpdG9yfHwhdGhpcy5saW5rSW5wdXRFbGVtZW50KXJldHVybjtsZXQgJD10aGlzLmxpbmtJbnB1dEVsZW1lbnQudmFsdWU7JCYmdGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnNldExpbmsoe2hyZWY6JH0pLnJ1bigpLHRoaXMuaGlkZUxpbmtJbnB1dCgpfXJlbW92ZUxpbmsoKXt0aGlzLmVkaXRvciYmKHRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS51bnNldExpbmsoKS5ydW4oKSx0aGlzLmhpZGVMaW5rSW5wdXQoKSl9aGlkZUxpbmtJbnB1dCgpe3RoaXMuc2hvd0xpbmtJbnB1dD0hMSx0aGlzLmVkaXRvcj8uY29tbWFuZHMuZm9jdXMoKX1oYW5kbGVMaW5rSW5wdXRLZXlkb3duKCQpeyQua2V5PT09IkVudGVyIj8oJC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2F2ZUxpbmsoKSk6JC5rZXk9PT0iRXNjYXBlIiYmKCQucHJldmVudERlZmF1bHQoKSx0aGlzLmhpZGVMaW5rSW5wdXQoKSl9c2V0VmFsdWUoJCl7dGhpcy52YWx1ZT0kLHRoaXMuZWRpdG9yJiYkIT09dGhpcy5lZGl0b3IuZ2V0SFRNTCgpJiZ0aGlzLmVkaXRvci5jb21tYW5kcy5zZXRDb250ZW50KCQpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9Y2xlYXIoKXt0aGlzLnNldFZhbHVlKCIiKX1mb2N1cygpe3RoaXMuZWRpdG9yPy5jb21tYW5kcy5mb2N1cygpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmVkaXRvciYmdGhpcy5lZGl0b3IuZGVzdHJveSgpfXN0YXRpY3traShyLGEpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgVlp0LGpadD1jKCgpPT57R09lKCk7UDEoKTtwZSgpO1ZadD1pKCgpPT53YAogIDxzdHlsZT4KICAgICR7WGAKICAgICAgLmRlbW9XcmFwcGVyIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDUlKSIpfTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDsKICAgICAgfQogICAgICAuZGVtby10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQogICAgICAuZGVtby1kZXNjcmlwdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgLnRoZW1lLXRvZ2dsZSB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMTZweDsKICAgICAgICByaWdodDogMTZweDsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtb1dyYXBwZXIiPgogICAgPGRlZXMtYnV0dG9uIGNsYXNzPSJ0aGVtZS10b2dnbGUiIEBjbGljaz0keygpPT57ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QudG9nZ2xlKCJicmlnaHQiKSxkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoImRhcmsiKX19PlRvZ2dsZSBUaGVtZTwvZGVlcy1idXR0b24+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPkJhc2ljIFRhYmxlIHdpdGggQWN0aW9uczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkEgc3RhbmRhcmQgdGFibGUgd2l0aCByb3cgYWN0aW9ucywgZWRpdGFibGUgZmllbGRzLCBhbmQgY29udGV4dCBtZW51IHN1cHBvcnQuIERvdWJsZS1jbGljayBvbiBkZXNjcmlwdGlvbnMgdG8gZWRpdC4gR3JpZCBsaW5lcyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0LjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IkN1cnJlbnQgQWNjb3VudCBTdGF0ZW1lbnQiCiAgICAgICAgICBoZWFkaW5nMj0iQnVucSAtIFBheW1lbnQgQWNjb3VudCAyIC0gQXByaWwgMjAyMSIKICAgICAgICAgIC5lZGl0YWJsZUZpZWxkcz0iJHtbImRlc2NyaXB0aW9uIl19IgogICAgICAgICAgLmRhdGE9JHtbe2RhdGU6IjIwMjEtMDQtMDEiLGFtb3VudDoiMjQ2NC42NSBcdTIwQUMiLGRlc2NyaXB0aW9uOiJQcmludGluZyBQYXBlciAoT2ZmaWNlIFN1cHBsaWVzKSAtIFNUQVBMRVMgQlJFTUVOIn0se2RhdGU6IjIwMjEtMDQtMDIiLGFtb3VudDoiMTY1LjY1IFx1MjBBQyIsZGVzY3JpcHRpb246IkxvZ2l0ZWNoIE1vdXNlIChIYXJkd2FyZSkgLSBsb2dpLmNvbSBPbmxpbmVTaG9wIn0se2RhdGU6IjIwMjEtMDQtMDMiLGFtb3VudDoiMjk5OSwwMCBcdTIwQUMiLGRlc2NyaXB0aW9uOiJNYWNib29rIFBybyAxNmluY2ggKEhhcmR3YXJlKSAtIEFwcGxlLmRlIE9ubGluZVNob3AifSx7ZGF0ZToiMjAyMS0wNC0wMSIsYW1vdW50OiIyNDY0LjY1IFx1MjBBQyIsZGVzY3JpcHRpb246Ik9mZmljZS1TdXBwbGllcyAtIFNUQVBMRVMgQlJFTUVOIn0se2RhdGU6IjIwMjEtMDQtMDEiLGFtb3VudDoiMjQ2NC42NSBcdTIwQUMiLGRlc2NyaXB0aW9uOiJPZmZpY2UtU3VwcGxpZXMgLSBTVEFQTEVTIEJSRU1FTiJ9XX0KICAgICAgICAgIGRhdGFOYW1lPSJ0cmFuc2FjdGlvbnMiCiAgICAgICAgICAuZGF0YUFjdGlvbnM9IiR7W3tuYW1lOiJ1cGxvYWQiLGljb25OYW1lOiJiZWxsIix1c2VUYWJsZUJlaGF2aW91cjoidXBsb2FkIix0eXBlOlsiaW5Sb3ciXSxhY3Rpb25GdW5jOmkoYXN5bmMgdD0+e2FsZXJ0KHQuaXRlbS5hbW91bnQpfSwiYWN0aW9uRnVuYyIpfSx7bmFtZToidmlzaWJpbGl0eSIsaWNvbk5hbWU6ImNvcHkiLHR5cGU6WyJpblJvdyJdLHVzZVRhYmxlQmVoYXZpb3VyOiJwcmV2aWV3IixhY3Rpb25GdW5jOmkoYXN5bmMgdD0+e30sImFjdGlvbkZ1bmMiKX0se25hbWU6ImNyZWF0ZSBuZXciLGljb25OYW1lOiJpbnN0YWdyYW0iLHR5cGU6WyJoZWFkZXIiXSx1c2VUYWJsZUJlaGF2aW91cjoicHJldmlldyIsYWN0aW9uRnVuYzppKGFzeW5jIHQ9Pnt9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJ0byBnYWxsZXJ5IixpY29uTmFtZToibWVzc2FnZSIsdHlwZTpbImZvb3RlciJdLHVzZVRhYmxlQmVoYXZpb3VyOiJwcmV2aWV3IixhY3Rpb25GdW5jOmkoYXN5bmMgdD0+e30sImFjdGlvbkZ1bmMiKX0se25hbWU6ImNvcHkiLGljb25OYW1lOiJjb3B5U29saWQiLHR5cGU6WyJjb250ZXh0bWVudSIsImluUm93Il0sYWN0aW9uOmkoYXN5bmMoKT0+bnVsbCwiYWN0aW9uIil9LHtuYW1lOiJlZGl0IChmcm9tIGRlbW8pIixpY29uTmFtZToicGVuVG9TcXVhcmUiLHR5cGU6WyJjb250ZXh0bWVudSJdLGFjdGlvbjppKGFzeW5jKCk9Pm51bGwsImFjdGlvbiIpfSx7bmFtZToicGFzdGUiLGljb25OYW1lOiJwYXN0ZVNvbGlkIix0eXBlOlsiY29udGV4dG1lbnUiXSxhY3Rpb246aShhc3luYygpPT5udWxsLCJhY3Rpb24iKX0se25hbWU6InByZXZpZXciLHR5cGU6WyJkb3VibGVDbGljayIsImNvbnRleHRtZW51Il0saWNvbk5hbWU6ImV5ZSIsYWN0aW9uRnVuYzppKGFzeW5jIHQ9PihhbGVydCh0Lml0ZW0uYW1vdW50KSxudWxsKSwiYWN0aW9uRnVuYyIpfV19IgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlRhYmxlIHdpdGggVmVydGljYWwgTGluZXM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5FbmhhbmNlZCBjb2x1bW4gc2VwYXJhdGlvbiBmb3IgYmV0dGVyIGRhdGEgdHJhY2tpbmcuPC9wPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iUHJvZHVjdCBJbnZlbnRvcnkiCiAgICAgICAgICBoZWFkaW5nMj0iQ3VycmVudCBzdG9jayBsZXZlbHMgYWNyb3NzIHdhcmVob3VzZXMiCiAgICAgICAgICAuc2hvd1ZlcnRpY2FsTGluZXM9JHshMH0KICAgICAgICAgIC5kYXRhPSR7W3twcm9kdWN0OidNYWNCb29rIFBybyAxNiInLHdhcmVob3VzZV9hOiI0NSIsd2FyZWhvdXNlX2I6IjMyIix3YXJlaG91c2VfYzoiMjgiLHRvdGFsOiIxMDUiLHN0YXR1czoiXHUyNzEzIEluIFN0b2NrIn0se3Byb2R1Y3Q6ImlQaG9uZSAxNSBQcm8iLHdhcmVob3VzZV9hOiIxMjAiLHdhcmVob3VzZV9iOiI4OSIsd2FyZWhvdXNlX2M6IjE1NiIsdG90YWw6IjM2NSIsc3RhdHVzOiJcdTI3MTMgSW4gU3RvY2sifSx7cHJvZHVjdDoiQWlyUG9kcyBQcm8iLHdhcmVob3VzZV9hOiIwIix3YXJlaG91c2VfYjoiMTIiLHdhcmVob3VzZV9jOiI1Iix0b3RhbDoiMTciLHN0YXR1czoiXHUyNkEwIExvdyBTdG9jayJ9LHtwcm9kdWN0OiJpUGFkIEFpciIsd2FyZWhvdXNlX2E6IjIzIix3YXJlaG91c2VfYjoiNDUiLHdhcmVob3VzZV9jOiI2NyIsdG90YWw6IjEzNSIsc3RhdHVzOiJcdTI3MTMgSW4gU3RvY2sifV19CiAgICAgICAgICBkYXRhTmFtZT0icHJvZHVjdHMiCiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+VGFibGUgd2l0aCBGdWxsIEdyaWQ8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5Db21wbGV0ZSBncmlkIGxpbmVzIGZvciBtYXhpbXVtIHJlYWRhYmlsaXR5IGFuZCBzdHJ1Y3R1cmUuPC9wPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iU2VydmVyIE1vbml0b3JpbmcgRGFzaGJvYXJkIgogICAgICAgICAgaGVhZGluZzI9IlJlYWwtdGltZSBtZXRyaWNzIGFjcm9zcyByZWdpb25zIgogICAgICAgICAgLnNob3dHcmlkPSR7ITB9CiAgICAgICAgICAuZGF0YT0ke1t7c2VydmVyOiJBUEktMSIscmVnaW9uOiJVUy1FYXN0IixjcHU6IjQ1JSIsbWVtb3J5OiI2MiUiLGRpc2s6Ijc4JSIsbGF0ZW5jeToiMTJtcyIsdXB0aW1lOiI5OS45JSIsc3RhdHVzOiJcdXsxRjdFMn0gSGVhbHRoeSJ9LHtzZXJ2ZXI6IkFQSS0yIixyZWdpb246IkVVLVdlc3QiLGNwdToiMzglIixtZW1vcnk6IjU1JSIsZGlzazoiNDUlIixsYXRlbmN5OiIyNW1zIix1cHRpbWU6Ijk5LjglIixzdGF0dXM6Ilx1ezFGN0UyfSBIZWFsdGh5In0se3NlcnZlcjoiREItTWFzdGVyIixyZWdpb246IlVTLUVhc3QiLGNwdToiNzIlIixtZW1vcnk6IjgxJSIsZGlzazoiOTIlIixsYXRlbmN5OiI4bXMiLHVwdGltZToiMTAwJSIsc3RhdHVzOiJcdXsxRjdFMX0gV2FybmluZyJ9LHtzZXJ2ZXI6IkRCLVJlcGxpY2EiLHJlZ2lvbjoiRVUtV2VzdCIsY3B1OiIyMyUiLG1lbW9yeToiMzQlIixkaXNrOiI0NSUiLGxhdGVuY3k6IjE1bXMiLHVwdGltZToiOTkuNyUiLHN0YXR1czoiXHV7MUY3RTJ9IEhlYWx0aHkifSx7c2VydmVyOiJDYWNoZS0xIixyZWdpb246IkFQLVNvdXRoIixjcHU6Ijg5JSIsbWVtb3J5OiI5MiUiLGRpc2s6IjEyJSIsbGF0ZW5jeToiMTIwbXMiLHVwdGltZToiOTguNSUiLHN0YXR1czoiXHV7MUY1MzR9IENyaXRpY2FsIn1dfQogICAgICAgICAgZGF0YU5hbWU9InNlcnZlcnMiCiAgICAgICAgICAuZGF0YUFjdGlvbnM9IiR7W3tuYW1lOiJTU0ggQ29ubmVjdCIsaWNvbk5hbWU6Imx1Y2lkZTp0ZXJtaW5hbCIsdHlwZTpbImluUm93Il0sYWN0aW9uRnVuYzppKGFzeW5jIHQ9Pntjb25zb2xlLmxvZygiQ29ubmVjdGluZyB0bzoiLHQuaXRlbS5zZXJ2ZXIpfSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiVmlldyBMb2dzIixpY29uTmFtZToibHVjaWRlOmZpbGUtdGV4dCIsdHlwZTpbImluUm93IiwiY29udGV4dG1lbnUiXSxhY3Rpb25GdW5jOmkoYXN5bmMgdD0+e2NvbnNvbGUubG9nKCJWaWV3aW5nIGxvZ3MgZm9yOiIsdC5pdGVtLnNlcnZlcil9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJSZXN0YXJ0IFNlcnZlciIsaWNvbk5hbWU6Imx1Y2lkZTpyZWZyZXNoLWN3Iix0eXBlOlsiY29udGV4dG1lbnUiXSxhY3Rpb25GdW5jOmkoYXN5bmMgdD0+e2NvbnNvbGUubG9nKCJSZXN0YXJ0aW5nOiIsdC5pdGVtLnNlcnZlcil9LCJhY3Rpb25GdW5jIil9XX0iCiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+VGFibGUgd2l0aCBIb3Jpem9udGFsIExpbmVzIE9ubHk8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5FbXBoYXNpcyBvbiByb3cgc2VwYXJhdGlvbiB3aXRob3V0IGNvbHVtbiBkaXZpZGVycy48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJTYWxlcyBQZXJmb3JtYW5jZSIKICAgICAgICAgIGhlYWRpbmcyPSJUb3AgcGVyZm9ybWVycyB0aGlzIHF1YXJ0ZXIiCiAgICAgICAgICAuc2hvd0hvcml6b250YWxMaW5lcz0keyEwfQogICAgICAgICAgLnNob3dWZXJ0aWNhbExpbmVzPSR7ITF9CiAgICAgICAgICAuZGF0YT0ke1t7c2FsZXNwZXJzb246IkVtaWx5IEpvaG5zb24iLHJlZ2lvbjoiTm9ydGggQW1lcmljYSIsZGVhbHNfY2xvc2VkOiI0MiIscmV2ZW51ZToiJDEuMk0iLHF1b3RhX2FjaGlldmVtZW50OiIxMjglIixyYXRpbmc6Ilx1MkI1MFx1MkI1MFx1MkI1MFx1MkI1MFx1MkI1MCJ9LHtzYWxlc3BlcnNvbjoiTWljaGFlbCBDaGVuIixyZWdpb246IkFzaWEgUGFjaWZpYyIsZGVhbHNfY2xvc2VkOiIzOCIscmV2ZW51ZToiJDk4MEsiLHF1b3RhX2FjaGlldmVtZW50OiIxMTUlIixyYXRpbmc6Ilx1MkI1MFx1MkI1MFx1MkI1MFx1MkI1MFx1MkI1MCJ9LHtzYWxlc3BlcnNvbjoiU2FyYWggV2lsbGlhbXMiLHJlZ2lvbjoiRXVyb3BlIixkZWFsc19jbG9zZWQ6IjM1IixyZXZlbnVlOiIkODc1SyIscXVvdGFfYWNoaWV2ZW1lbnQ6IjEwOCUiLHJhdGluZzoiXHUyQjUwXHUyQjUwXHUyQjUwXHUyQjUwIn0se3NhbGVzcGVyc29uOiJEYXZpZCBHYXJjaWEiLHJlZ2lvbjoiTGF0aW4gQW1lcmljYSIsZGVhbHNfY2xvc2VkOiIzMSIscmV2ZW51ZToiJDc1MEsiLHF1b3RhX2FjaGlldmVtZW50OiI5NSUiLHJhdGluZzoiXHUyQjUwXHUyQjUwXHUyQjUwXHUyQjUwIn1dfQogICAgICAgICAgZGF0YU5hbWU9InNhbGVzIHJlcHMiCiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+U2ltcGxlIFRhYmxlIChObyBHcmlkKTwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkNsZWFuLCBtaW5pbWFsIGRlc2lnbiB3aXRob3V0IGdyaWQgbGluZXMuIFNldCBzaG93R3JpZCB0byBmYWxzZSB0byBkaXNhYmxlIHRoZSBkZWZhdWx0IGdyaWQuPC9wPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iVGVhbSBNZW1iZXJzIgogICAgICAgICAgaGVhZGluZzI9IkVuZ2luZWVyaW5nIERlcGFydG1lbnQiCiAgICAgICAgICAuc2hvd0dyaWQ9JHshMX0KICAgICAgICAgIC5kYXRhPSR7W3tuYW1lOiJBbGljZSBKb2huc29uIixyb2xlOiJMZWFkIEVuZ2luZWVyIixlbWFpbDoiYWxpY2VAY29tcGFueS5jb20iLGxvY2F0aW9uOiJTYW4gRnJhbmNpc2NvIixqb2luZWQ6IjIwMjAtMDMtMTUifSx7bmFtZToiQm9iIFNtaXRoIixyb2xlOiJTZW5pb3IgRGV2ZWxvcGVyIixlbWFpbDoiYm9iQGNvbXBhbnkuY29tIixsb2NhdGlvbjoiTmV3IFlvcmsiLGpvaW5lZDoiMjAxOS0wNy0yMiJ9LHtuYW1lOiJDaGFybGllIERhdmlzIixyb2xlOiJEZXZPcHMgRW5naW5lZXIiLGVtYWlsOiJjaGFybGllQGNvbXBhbnkuY29tIixsb2NhdGlvbjoiTG9uZG9uIixqb2luZWQ6IjIwMjEtMDEtMTAifSx7bmFtZToiRGlhbmEgTWFydGluZXoiLHJvbGU6IkZyb250ZW5kIERldmVsb3BlciIsZW1haWw6ImRpYW5hQGNvbXBhbnkuY29tIixsb2NhdGlvbjoiQmFyY2Vsb25hIixqb2luZWQ6IjIwMjItMDUtMTgifV19CiAgICAgICAgICBkYXRhTmFtZT0idGVhbSBtZW1iZXJzIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlRhYmxlIHdpdGggQ3VzdG9tIERpc3BsYXkgRnVuY3Rpb248L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5UcmFuc2Zvcm0gZGF0YSBmb3IgZGlzcGxheSB1c2luZyBjdXN0b20gZm9ybWF0dGluZy48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJTYWxlcyBSZXBvcnQiCiAgICAgICAgICBoZWFkaW5nMj0iUTQgMjAyMyBQZXJmb3JtYW5jZSIKICAgICAgICAgIC5kYXRhPSR7W3twcm9kdWN0OiJFbnRlcnByaXNlIExpY2Vuc2UiLHVuaXRzOjQ1LHJldmVudWU6MjI1ZTMsZ3Jvd3RoOi4yMyxmb3JlY2FzdDoyOGU0fSx7cHJvZHVjdDoiUHJvZmVzc2lvbmFsIExpY2Vuc2UiLHVuaXRzOjEyOCxyZXZlbnVlOjEyOGUzLGdyb3d0aDouMTUsZm9yZWNhc3Q6MTQ3ZTN9LHtwcm9kdWN0OiJTdGFydGVyIExpY2Vuc2UiLHVuaXRzOjM0MixyZXZlbnVlOjY4NDAwLGdyb3d0aDouNDIsZm9yZWNhc3Q6OTdlM31dfQogICAgICAgICAgLmRpc3BsYXlGdW5jdGlvbj0ke3Q9Pih7UHJvZHVjdDp0LnByb2R1Y3QsIlVuaXRzIFNvbGQiOnQudW5pdHMudG9Mb2NhbGVTdHJpbmcoKSxSZXZlbnVlOiIkIit0LnJldmVudWUudG9Mb2NhbGVTdHJpbmcoKSxHcm93dGg6KHQuZ3Jvd3RoKjEwMCkudG9GaXhlZCgxKSsiJSIsIlExIDIwMjQgRm9yZWNhc3QiOiIkIit0LmZvcmVjYXN0LnRvTG9jYWxlU3RyaW5nKCl9KX0KICAgICAgICAgIGRhdGFOYW1lPSJwcm9kdWN0cyIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5FbXB0eSBUYWJsZSBTdGF0ZTwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkhvdyB0aGUgdGFibGUgbG9va3Mgd2hlbiBubyBkYXRhIGlzIGF2YWlsYWJsZS48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJObyBEYXRhIEF2YWlsYWJsZSIKICAgICAgICAgIGhlYWRpbmcyPSJUaGlzIHRhYmxlIGlzIGN1cnJlbnRseSBlbXB0eSIKICAgICAgICAgIC5kYXRhPSR7W119CiAgICAgICAgICBkYXRhTmFtZT0iaXRlbXMiCiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+U2NoZW1hLUZpcnN0IENvbHVtbnMgKE5ldyk8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5EZWZpbmVzIGNvbHVtbnMgZXhwbGljaXRseSBhbmQgcmVuZGVycyB2aWEgc2NoZW1hLiBObyBkaXNwbGF5RnVuY3Rpb24gbmVlZGVkLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IlVzZXJzIChTY2hlbWEtRmlyc3QpIgogICAgICAgICAgaGVhZGluZzI9IkNvbHVtbnMgZGVmaW5lIHJlbmRlcmluZyBhbmQgb3JkZXIiCiAgICAgICAgICAuY29sdW1ucz0ke1t7a2V5OiJuYW1lIixoZWFkZXI6Ik5hbWUiLHNvcnRhYmxlOiEwfSx7a2V5OiJlbWFpbCIsaGVhZGVyOiJFbWFpbCIscmVuZGVyZXI6aSh0PT53YDxkZWVzLWJhZGdlPiR7dH08L2RlZXMtYmFkZ2U+YCwicmVuZGVyZXIiKX0se2tleToiam9pbmVkQXQiLGhlYWRlcjoiSm9pbmVkIixyZW5kZXJlcjppKHQ9Pm5ldyBEYXRlKHQpLnRvTG9jYWxlRGF0ZVN0cmluZygpLCJyZW5kZXJlciIpfV19CiAgICAgICAgICAuZGF0YT0ke1t7bmFtZToiQWxpY2UiLGVtYWlsOiJhbGljZUBleGFtcGxlLmNvbSIsam9pbmVkQXQ6IjIwMjItMDgtMDEifSx7bmFtZToiQm9iIixlbWFpbDoiYm9iQGV4YW1wbGUuY29tIixqb2luZWRBdDoiMjAyMS0xMi0xMSJ9LHtuYW1lOiJDYXJvbCIsZW1haWw6ImNhcm9sQGV4YW1wbGUuY29tIixqb2luZWRBdDoiMjAyMy0wMy0yMiJ9XX0KICAgICAgICAgIGRhdGFOYW1lPSJ1c2VycyIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5QYXJ0aWFsIFNjaGVtYSArIEF1Z21lbnQgKE5ldyk8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5Qcm92aWRlcyBvbmx5IHRoZSBpbXBvcnRhbnQgY29sdW1uczsgdGhlIHJlc3QgYXJlIG1lcmdlZCBpbiBmcm9tIGRpc3BsYXlGdW5jdGlvbi48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJVc2VycyAoUGFydGlhbCArIEF1Z21lbnQpIgogICAgICAgICAgaGVhZGluZzI9Ik1pc3NpbmcgY29sdW1ucyBhcmUgZGVyaXZlZCIKICAgICAgICAgIC5jb2x1bW5zPSR7W3trZXk6Im5hbWUiLGhlYWRlcjoiTmFtZSIsc29ydGFibGU6ITB9XX0KICAgICAgICAgIC5kaXNwbGF5RnVuY3Rpb249JHt0PT4oe25hbWU6dC5uYW1lLGVtYWlsOnQuZW1haWwscm9sZTp0LnJvbGV9KX0KICAgICAgICAgIC5hdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbj0keyEwfQogICAgICAgICAgLmRhdGE9JHtbe25hbWU6IkVyaW4iLGVtYWlsOiJlcmluQGV4YW1wbGUuY29tIixyb2xlOiJBZG1pbiJ9LHtuYW1lOiJGaW5uIixlbWFpbDoiZmlubkBleGFtcGxlLmNvbSIscm9sZToiVXNlciJ9LHtuYW1lOiJHaW5hIixlbWFpbDoiZ2luYUBleGFtcGxlLmNvbSIscm9sZToiVXNlciJ9XX0KICAgICAgICAgIGRhdGFOYW1lPSJ1c2VycyIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiIgCiAgICAgICAgICAgQHNlbGVjdGlvbkNoYW5nZT0ke3Q9Pntjb25zb2xlLmxvZygiU2VsZWN0aW9uIGNoYW5nZWQiLHQuZGV0YWlsKX19CiAgICAgICAgICAgQHNlYXJjaC1jaGFuZ2VkPSR7dD0+e2xldCBlPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YWJsZUZpbHRlclNlbGVjdERlbW8iKTtlJiZlLnNldEZpbHRlclRleHQodC5kZXRhaWwudmFsdWUpfX0KICAgICAgICAgICBAc2VhcmNoLXN1Ym1pdD0ke3Q9PntsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFibGVGaWx0ZXJTZWxlY3REZW1vIik7ZSYmZS5zZXRGaWx0ZXJUZXh0KHQuZGV0YWlsLnZhbHVlKX19CiAgICAgID4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPkZpbHRlcmluZyArIE11bHRpLVNlbGVjdGlvbiAoTmV3KTwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPlVzZSB0aGUgc2VhcmNoIGJhciB0byBmaWx0ZXIgcm93czsgdG9nZ2xlIHNlbGVjdGlvbiB2aWEgY2hlY2tib3hlcy4gQ2xpY2sgaGVhZGVycyB0byBzb3J0LjwvcD4KICAgICAgICA8ZGVlcy1zZWFyY2hiYXI+PC9kZWVzLXNlYXJjaGJhcj4KICAgICAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDEycHgiPjwvZGl2PgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBpZD0idGFibGVGaWx0ZXJTZWxlY3REZW1vIgogICAgICAgICAgaGVhZGluZzE9IkludmVudG9yeSAoRmlsdGVyICsgU2VsZWN0KSIKICAgICAgICAgIGhlYWRpbmcyPSJUcnkgdHlwaW5nIHRvIGZpbHRlciBhbmQgc2VsZWN0aW5nIG11bHRpcGxlIHJvd3MiCiAgICAgICAgICAuc2VsZWN0aW9uTW9kZT0keyJtdWx0aSJ9CiAgICAgICAgICAucm93S2V5PSR7InNrdSJ9CiAgICAgICAgICAuY29sdW1ucz0ke1t7a2V5OiJza3UiLGhlYWRlcjoiU0tVIixzb3J0YWJsZTohMH0se2tleToibmFtZSIsaGVhZGVyOiJOYW1lIixzb3J0YWJsZTohMH0se2tleToic3RvY2siLGhlYWRlcjoiU3RvY2siLHNvcnRhYmxlOiEwfV19CiAgICAgICAgICAuZGF0YT0ke1t7c2t1OiJBLTEwMCIsbmFtZToiVVNCLUMgQ2FibGUiLHN0b2NrOjEyMH0se3NrdToiQS0xMDEiLG5hbWU6IldpcmVsZXNzIE1vdXNlIixzdG9jazo1NX0se3NrdToiQS0xMDIiLG5hbWU6IkxhcHRvcCBTdGFuZCIsc3RvY2s6MTh9LHtza3U6IkItMjAwIixuYW1lOiJLZXlib2FyZCAoSVNPKSIsc3RvY2s6ODl9LHtza3U6IkItMjAxIixuYW1lOiJIRE1JIEFkYXB0ZXIiLHN0b2NrOjB9LHtza3U6IkMtMzAwIixuYW1lOiJXZWJjYW0gMTA4MHAiLHN0b2NrOjQyfV19CiAgICAgICAgICBkYXRhTmFtZT0iaXRlbXMiCiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+Q29sdW1uIEZpbHRlcnMgKyBTdGlja3kgSGVhZGVyIChOZXcpPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+UGVyLWNvbHVtbiBxdWljayBmaWx0ZXJzIGFuZCBzdGlja3kgaGVhZGVyIHdpdGggaW50ZXJuYWwgc2Nyb2xsLiBUcnkgZmlsdGVyaW5nIHRoZSBOYW1lIGNvbHVtbi4gVXNlcyAtLXRhYmxlLW1heC1oZWlnaHQgdmFyLjwvcD4KICAgICAgICA8c3R5bGU+CiAgICAgICAgICBkZWVzLXRhYmxlW3N0aWNreS1oZWFkZXJdIHsgLS10YWJsZS1tYXgtaGVpZ2h0OiAyMjBweDsgfQogICAgICAgIDwvc3R5bGU+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJFbXBsb3llZXMiCiAgICAgICAgICBoZWFkaW5nMj0iUXVpY2sgZmlsdGVyIHBlciBjb2x1bW4gKyBzdGlja3kgaGVhZGVyIgogICAgICAgICAgLnNob3dDb2x1bW5GaWx0ZXJzPSR7ITB9CiAgICAgICAgICAuc3RpY2t5SGVhZGVyPSR7ITB9CiAgICAgICAgICAuY29sdW1ucz0ke1t7a2V5OiJuYW1lIixoZWFkZXI6Ik5hbWUiLHNvcnRhYmxlOiEwfSx7a2V5OiJlbWFpbCIsaGVhZGVyOiJFbWFpbCIsc29ydGFibGU6ITB9LHtrZXk6ImRlcGFydG1lbnQiLGhlYWRlcjoiRGVwYXJ0bWVudCIsc29ydGFibGU6ITB9XX0KICAgICAgICAgIC5kYXRhPSR7W3tuYW1lOiJBbGljZSBKb2huc29uIixlbWFpbDoiYWxpY2VAY29ycC5jb20iLGRlcGFydG1lbnQ6IkVuZ2luZWVyaW5nIn0se25hbWU6IkJvYiBTbWl0aCIsZW1haWw6ImJvYkBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiU2FsZXMifSx7bmFtZToiQ2hhcmxpZSBEYXZpcyIsZW1haWw6ImNoYXJsaWVAY29ycC5jb20iLGRlcGFydG1lbnQ6IkhSIn0se25hbWU6IkRpYW5hIE1hcnRpbmV6IixlbWFpbDoiZGlhbmFAY29ycC5jb20iLGRlcGFydG1lbnQ6IkVuZ2luZWVyaW5nIn0se25hbWU6IkV0aGFuIEJyb3duIixlbWFpbDoiZXRoYW5AY29ycC5jb20iLGRlcGFydG1lbnQ6IkZpbmFuY2UifSx7bmFtZToiRmlvbmEgQ2xhcmsiLGVtYWlsOiJmaW9uYUBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiU2FsZXMifSx7bmFtZToiR3JhY2UgTGVlIixlbWFpbDoiZ3JhY2VAY29ycC5jb20iLGRlcGFydG1lbnQ6IkVuZ2luZWVyaW5nIn0se25hbWU6IkhlbnJ5IFdpbHNvbiIsZW1haWw6ImhlbnJ5QGNvcnAuY29tIixkZXBhcnRtZW50OiJNYXJrZXRpbmcifSx7bmFtZToiSXJlbmUgV2Fsa2VyIixlbWFpbDoiaXJlbmVAY29ycC5jb20iLGRlcGFydG1lbnQ6IkZpbmFuY2UifSx7bmFtZToiSmFjayBUdXJuZXIiLGVtYWlsOiJqYWNrQGNvcnAuY29tIixkZXBhcnRtZW50OiJTdXBwb3J0In1dfQogICAgICAgICAgZGF0YU5hbWU9ImVtcGxveWVlcyIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiIKICAgICAgICBAc2VhcmNoUmVxdWVzdD0ke2FzeW5jIHQ9PntsZXR7cXVlcnk6ZX09dC5kZXRhaWx8fHtxdWVyeToiIn0sYT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2VydmVyU2VhcmNoRGVtbyIpLHI9W3tpZDoxLG5hbWU6IkFsaWNlIixjaXR5OiJCZXJsaW4iLHRpdGxlOiJFbmdpbmVlciJ9LHtpZDoyLG5hbWU6IkJvYiIsY2l0eToiUGFyaXMiLHRpdGxlOiJEZXNpZ25lciJ9LHtpZDozLG5hbWU6IkNoYXJsaWUiLGNpdHk6IkxvbmRvbiIsdGl0bGU6Ik1hbmFnZXIifSx7aWQ6NCxuYW1lOiJEaWFuYSIsY2l0eToiTWFkcmlkIix0aXRsZToiRW5naW5lZXIifSx7aWQ6NSxuYW1lOiJFdGhhbiIsY2l0eToiUm9tZSIsdGl0bGU6IlN1cHBvcnQifV07YXdhaXQgbmV3IFByb21pc2Uobz0+c2V0VGltZW91dChvLDMwMCkpO2xldCBzPVN0cmluZyhlfHwiIikudG9Mb3dlckNhc2UoKSxuPXM/ci5maWx0ZXIobz0+T2JqZWN0LnZhbHVlcyhvKS5zb21lKGw9PlN0cmluZyhsKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHMpKSk6cjthLmRhdGE9bn19CiAgICAgID4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlNlcnZlciBTZWFyY2ggKE5ldyk8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5TZWxlY3QgU2VydmVyIG1vZGUsIHR5cGUgYSBxdWVyeSwgYW5kIHdhdGNoIHRoZSB0YWJsZSBmZXRjaCBzaW11bGF0ZWQgcmVzdWx0cy48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGlkPSJzZXJ2ZXJTZWFyY2hEZW1vIgogICAgICAgICAgaGVhZGluZzE9IlBlb3BsZSAoU2VydmVyIFNlYXJjaCkiCiAgICAgICAgICBoZWFkaW5nMj0iQ2xpY2sgU2VhcmNoLCBjaG9vc2UgU2VydmVyIG1vZGUsIGFuZCB0eXBlIgogICAgICAgICAgLmNvbHVtbnM9JHtbe2tleToibmFtZSIsaGVhZGVyOiJOYW1lIn0se2tleToiY2l0eSIsaGVhZGVyOiJDaXR5In0se2tleToidGl0bGUiLGhlYWRlcjoiVGl0bGUifV19CiAgICAgICAgICAuZGF0YT0ke1t7aWQ6MSxuYW1lOiJBbGljZSIsY2l0eToiQmVybGluIix0aXRsZToiRW5naW5lZXIifSx7aWQ6MixuYW1lOiJCb2IiLGNpdHk6IlBhcmlzIix0aXRsZToiRGVzaWduZXIifSx7aWQ6MyxuYW1lOiJDaGFybGllIixjaXR5OiJMb25kb24iLHRpdGxlOiJNYW5hZ2VyIn0se2lkOjQsbmFtZToiRGlhbmEiLGNpdHk6Ik1hZHJpZCIsdGl0bGU6IkVuZ2luZWVyIn0se2lkOjUsbmFtZToiRXRoYW4iLGNpdHk6IlJvbWUiLHRpdGxlOiJTdXBwb3J0In1dfQogICAgICAgICAgZGF0YU5hbWU9InBlb3BsZSIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5XaWRlIFByb3BlcnRpZXMgKyBNYW55IEFjdGlvbnM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5BIHRhYmxlIHdpdGggbWFueSBjb2x1bW5zIGFuZCByaWNoIGFjdGlvbnMgdG8gc3RyZXNzIHRlc3QgbGF5b3V0IGFuZCBzdGlja3kgQWN0aW9ucy48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJQZW9wbGUgRGlyZWN0b3J5IgogICAgICAgICAgaGVhZGluZzI9Ik1hbnkgcHJvcGVydGllcyBhbmQgYWN0aW9ucyIKICAgICAgICAgIC5jb2x1bW5zPSR7W3trZXk6ImlkIixoZWFkZXI6IklEIixzb3J0YWJsZTohMH0se2tleToibmFtZSIsaGVhZGVyOiJOYW1lIixzb3J0YWJsZTohMH0se2tleToicm9sZSIsaGVhZGVyOiJSb2xlIixzb3J0YWJsZTohMH0se2tleToiZGVwYXJ0bWVudCIsaGVhZGVyOiJEZXBhcnRtZW50Iixzb3J0YWJsZTohMH0se2tleToiZW1haWwiLGhlYWRlcjoiRW1haWwifSx7a2V5OiJwaG9uZSIsaGVhZGVyOiJQaG9uZSJ9LHtrZXk6ImxvY2F0aW9uIixoZWFkZXI6IkxvY2F0aW9uIixzb3J0YWJsZTohMH0se2tleToic3RhdHVzIixoZWFkZXI6IlN0YXR1cyIsc29ydGFibGU6ITB9LHtrZXk6ImNyZWF0ZWRBdCIsaGVhZGVyOiJDcmVhdGVkIixzb3J0YWJsZTohMH0se2tleToidXBkYXRlZEF0IixoZWFkZXI6IlVwZGF0ZWQiLHNvcnRhYmxlOiEwfSx7a2V5OiJsYXN0TG9naW4iLGhlYWRlcjoiTGFzdCBMb2dpbiIsc29ydGFibGU6ITB9LHtrZXk6InByb2plY3RzIixoZWFkZXI6IlByb2plY3RzIn0se2tleToidGFncyIsaGVhZGVyOiJUYWdzIn0se2tleToibm90ZXMiLGhlYWRlcjoiTm90ZXMifV19CiAgICAgICAgICAuZGF0YT0ke1t7aWQ6MSxuYW1lOiJBbGljZSBKb2huc29uIixyb2xlOiJFbmdpbmVlciIsZGVwYXJ0bWVudDoiUiZEIixlbWFpbDoiYWxpY2VAY29ycC5jb20iLHBob25lOiIrMSAyMDIgNTU1IDAxMTEiLGxvY2F0aW9uOiJCZXJsaW4iLHN0YXR1czoiQWN0aXZlIixjcmVhdGVkQXQ6IjIwMjMtMDEtMTIiLHVwZGF0ZWRBdDoiMjAyNC0wNS0wMyIsbGFzdExvZ2luOiIyMDI0LTEwLTAxIixwcm9qZWN0czo1LHRhZ3M6InR5cGVzY3JpcHQsIHVpIixub3RlczoiTWVudG9yIn0se2lkOjIsbmFtZToiQm9iIFNtaXRoIixyb2xlOiJEZXNpZ25lciIsZGVwYXJ0bWVudDoiRGVzaWduIixlbWFpbDoiYm9iQGNvcnAuY29tIixwaG9uZToiKzEgMjAyIDU1NSAwMTEyIixsb2NhdGlvbjoiUGFyaXMiLHN0YXR1czoiQWN0aXZlIixjcmVhdGVkQXQ6IjIwMjItMTEtMDUiLHVwZGF0ZWRBdDoiMjAyNC0wNC0xMCIsbGFzdExvZ2luOiIyMDI0LTA5LTI4Iixwcm9qZWN0czo4LHRhZ3M6ImZpZ21hLCBicmFuZCIsbm90ZXM6IlBhcnQtdGltZSJ9LHtpZDozLG5hbWU6IkNoYXJsaWUgRGF2aXMiLHJvbGU6Ik1hbmFnZXIiLGRlcGFydG1lbnQ6Ik9wcyIsZW1haWw6ImNoYXJsaWVAY29ycC5jb20iLHBob25lOiIrMSAyMDIgNTU1IDAxMTMiLGxvY2F0aW9uOiJMb25kb24iLHN0YXR1czoiT24gTGVhdmUiLGNyZWF0ZWRBdDoiMjAyMS0wNC0yMSIsdXBkYXRlZEF0OiIyMDI0LTAyLTE1IixsYXN0TG9naW46IjIwMjQtMDgtMTIiLHByb2plY3RzOjMsdGFnczoic3JlLCBsZWFkZXJzaGlwIixub3RlczoiIn0se2lkOjQsbmFtZToiRGlhbmEgTWFydGluZXoiLHJvbGU6IkVuZ2luZWVyIixkZXBhcnRtZW50OiJQbGF0Zm9ybSIsZW1haWw6ImRpYW5hQGNvcnAuY29tIixwaG9uZToiKzEgMjAyIDU1NSAwMTE0Iixsb2NhdGlvbjoiTWFkcmlkIixzdGF0dXM6IkFjdGl2ZSIsY3JlYXRlZEF0OiIyMDIwLTA2LTMwIix1cGRhdGVkQXQ6IjIwMjQtMDYtMjUiLGxhc3RMb2dpbjoiMjAyNC0xMC0wMiIscHJvamVjdHM6Nix0YWdzOiJub2RlLCBhcGkiLG5vdGVzOiJPbi1jYWxsIn0se2lkOjUsbmFtZToiRXRoYW4gQnJvd24iLHJvbGU6IlN1cHBvcnQiLGRlcGFydG1lbnQ6IkNTIixlbWFpbDoiZXRoYW5AY29ycC5jb20iLHBob25lOiIrMSAyMDIgNTU1IDAxMTUiLGxvY2F0aW9uOiJSb21lIixzdGF0dXM6IkluYWN0aXZlIixjcmVhdGVkQXQ6IjIwMTktMDktMTgiLHVwZGF0ZWRBdDoiMjAyNC0wMy0wOSIsbGFzdExvZ2luOiIyMDI0LTA2LTE5Iixwcm9qZWN0czoyLHRhZ3M6InplbmRlc2siLG5vdGVzOiJSZWhpcmUifSx7aWQ6NixuYW1lOiJGaW9uYSBDbGFyayIscm9sZToiUUEiLGRlcGFydG1lbnQ6IlFBIixlbWFpbDoiZmlvbmFAY29ycC5jb20iLHBob25lOiIrMSAyMDIgNTU1IDAxMTYiLGxvY2F0aW9uOiJWaWVubmEiLHN0YXR1czoiQWN0aXZlIixjcmVhdGVkQXQ6IjIwMjItMDMtMTQiLHVwZGF0ZWRBdDoiMjAyNC0wMy0wMSIsbGFzdExvZ2luOiIyMDI0LTA5LTA3Iixwcm9qZWN0czo3LHRhZ3M6InBsYXl3cmlnaHQiLG5vdGVzOiIifV19CiAgICAgICAgICAuZGF0YUFjdGlvbnM9JHtbe25hbWU6IlZpZXciLGljb25OYW1lOiJsdWNpZGU6ZXllIix0eXBlOlsiaW5Sb3ciLCJjb250ZXh0bWVudSJdLGFjdGlvbkZ1bmM6aShhc3luYyh7aXRlbTp0fSk9Pntjb25zb2xlLmxvZygidmlldyIsdCl9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJFZGl0IixpY29uTmFtZToibHVjaWRlOmVkaXQiLHR5cGU6WyJpblJvdyIsImNvbnRleHRtZW51Il0sYWN0aW9uRnVuYzppKGFzeW5jKHtpdGVtOnR9KT0+e2NvbnNvbGUubG9nKCJlZGl0Iix0KX0sImFjdGlvbkZ1bmMiKX0se25hbWU6IkRlbGV0ZSIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaCIsdHlwZTpbImluUm93IiwiY29udGV4dG1lbnUiXSxhY3Rpb25GdW5jOmkoYXN5bmMoe2l0ZW06dH0pPT57Y29uc29sZS5sb2coImRlbGV0ZSIsdCl9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJNZXNzYWdlIixpY29uTmFtZToibHVjaWRlOm1lc3NhZ2Utc3F1YXJlIix0eXBlOlsiaW5Sb3ciXSxhY3Rpb25GdW5jOmkoYXN5bmMoe2l0ZW06dH0pPT57Y29uc29sZS5sb2coIm1lc3NhZ2UiLHQpfSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiSGlzdG9yeSIsaWNvbk5hbWU6Imx1Y2lkZTpjbG9jayIsdHlwZTpbImluUm93Il0sYWN0aW9uRnVuYzppKGFzeW5jKHtpdGVtOnR9KT0+e2NvbnNvbGUubG9nKCJoaXN0b3J5Iix0KX0sImFjdGlvbkZ1bmMiKX0se25hbWU6IkFkZCBOZXciLGljb25OYW1lOiJsdWNpZGU6cGx1cyIsdHlwZTpbImhlYWRlciJdLGFjdGlvbkZ1bmM6aShhc3luYyh7dGFibGU6dH0pPT57Y29uc29sZS5sb2coImFkZCIpfSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiRXhwb3J0IENTViIsaWNvbk5hbWU6Imx1Y2lkZTpkb3dubG9hZCIsdHlwZTpbImhlYWRlciJdLGFjdGlvbkZ1bmM6aShhc3luYyh7dGFibGU6dH0pPT57Y29uc29sZS5sb2coImV4cG9ydCIpfSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiQnVsayBEZWxldGUiLGljb25OYW1lOiJsdWNpZGU6dHJhc2gtMiIsdHlwZTpbImZvb3RlciJdLGFjdGlvbkZ1bmM6aShhc3luYyh7dGFibGU6dH0pPT57Y29uc29sZS5sb2coImJ1bGsgZGVsZXRlIil9LCJhY3Rpb25GdW5jIil9XX0KICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5TY3JvbGxhYmxlIFNtYWxsIEhlaWdodDwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPlNhbWUgYXMgYWJvdmUsIGJ1dCB3aXRoIG1hbnkgaXRlbXMgYW5kIGEgc21hbGwgZml4ZWQgaGVpZ2h0IHRvIGZvcmNlIHZlcnRpY2FsIHNjcm9sbGluZyBpbnNpZGUgdGhlIHRhYmxlLiBBY3Rpb25zIHJlbWFpbiB2aXNpYmxlIG9uIHRoZSByaWdodDsgaG9yaXpvbnRhbCBzY3JvbGwgYXBwZWFycyBpZiBuZWVkZWQuPC9wPgogICAgICAgIDxzdHlsZT4KICAgICAgICAgICNzY3JvbGxTbWFsbEhlaWdodCB7IC0tdGFibGUtbWF4LWhlaWdodDogMjQwcHg7IH0KICAgICAgICA8L3N0eWxlPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBpZD0ic2Nyb2xsU21hbGxIZWlnaHQiCiAgICAgICAgICAuc3RpY2t5SGVhZGVyPSR7ITB9CiAgICAgICAgICBoZWFkaW5nMT0iUGVvcGxlIERpcmVjdG9yeSAoU2Nyb2xsYWJsZSkiCiAgICAgICAgICBoZWFkaW5nMj0iRm9yY2VkIHNjcm9sbGluZyB3aXRoIG1hbnkgaXRlbXMiCiAgICAgICAgICAuY29sdW1ucz0ke1t7a2V5OiJpZCIsaGVhZGVyOiJJRCIsc29ydGFibGU6ITB9LHtrZXk6Im5hbWUiLGhlYWRlcjoiTmFtZSIsc29ydGFibGU6ITB9LHtrZXk6InJvbGUiLGhlYWRlcjoiUm9sZSIsc29ydGFibGU6ITB9LHtrZXk6ImRlcGFydG1lbnQiLGhlYWRlcjoiRGVwYXJ0bWVudCIsc29ydGFibGU6ITB9LHtrZXk6ImVtYWlsIixoZWFkZXI6IkVtYWlsIn0se2tleToicGhvbmUiLGhlYWRlcjoiUGhvbmUifSx7a2V5OiJsb2NhdGlvbiIsaGVhZGVyOiJMb2NhdGlvbiIsc29ydGFibGU6ITB9LHtrZXk6InN0YXR1cyIsaGVhZGVyOiJTdGF0dXMiLHNvcnRhYmxlOiEwfSx7a2V5OiJjcmVhdGVkQXQiLGhlYWRlcjoiQ3JlYXRlZCIsc29ydGFibGU6ITB9LHtrZXk6InVwZGF0ZWRBdCIsaGVhZGVyOiJVcGRhdGVkIixzb3J0YWJsZTohMH0se2tleToibGFzdExvZ2luIixoZWFkZXI6Ikxhc3QgTG9naW4iLHNvcnRhYmxlOiEwfSx7a2V5OiJwcm9qZWN0cyIsaGVhZGVyOiJQcm9qZWN0cyJ9LHtrZXk6InRhZ3MiLGhlYWRlcjoiVGFncyJ9LHtrZXk6Im5vdGVzIixoZWFkZXI6Ik5vdGVzIn1dfQogICAgICAgICAgLmRhdGE9JHtBcnJheS5mcm9tKHtsZW5ndGg6MTAwfSwodCxlKT0+KHtpZDplKzEsbmFtZTpgVXNlciAke2UrMX1gLHJvbGU6WyJFbmdpbmVlciIsIkRlc2lnbmVyIiwiTWFuYWdlciIsIlFBIiwiU3VwcG9ydCJdW2UlNV0sZGVwYXJ0bWVudDpbIlImRCIsIkRlc2lnbiIsIk9wcyIsIlFBIiwiQ1MiXVtlJTVdLGVtYWlsOmB1c2VyJHtlKzF9QGNvcnAuY29tYCxwaG9uZTpgKzEgMjAyIDU1NSAke1N0cmluZygxZTMrZSkuc2xpY2UoLTQpfWAsbG9jYXRpb246WyJCZXJsaW4iLCJQYXJpcyIsIkxvbmRvbiIsIk1hZHJpZCIsIlJvbWUiXVtlJTVdLHN0YXR1czpbIkFjdGl2ZSIsIkluYWN0aXZlIiwiT24gTGVhdmUiXVtlJTNdLGNyZWF0ZWRBdDpgMjAyMy0ke1N0cmluZyhlJTEyKzEpLnBhZFN0YXJ0KDIsIjAiKX0tJHtTdHJpbmcoZSUyOCsxKS5wYWRTdGFydCgyLCIwIil9YCx1cGRhdGVkQXQ6YDIwMjQtJHtTdHJpbmcoKGUrMyklMTIrMSkucGFkU3RhcnQoMiwiMCIpfS0ke1N0cmluZygoZSs3KSUyOCsxKS5wYWRTdGFydCgyLCIwIil9YCxsYXN0TG9naW46YDIwMjQtJHtTdHJpbmcoKGUrNiklMTIrMSkucGFkU3RhcnQoMiwiMCIpfS0ke1N0cmluZygoZSsxMCklMjgrMSkucGFkU3RhcnQoMiwiMCIpfWAscHJvamVjdHM6ZSUxMix0YWdzOmUlMj8idHlwZXNjcmlwdCI6ImRlc2lnbiIsbm90ZXM6ZSUzPyIiOiJOb3RlIn0pKX0KICAgICAgICAgIC5kYXRhQWN0aW9ucz0ke1t7bmFtZToiVmlldyIsaWNvbk5hbWU6Imx1Y2lkZTpleWUiLHR5cGU6WyJpblJvdyJdLGFjdGlvbkZ1bmM6aShhc3luYyh7aXRlbTp0fSk9Pnt9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJFZGl0IixpY29uTmFtZToibHVjaWRlOmVkaXQiLHR5cGU6WyJpblJvdyJdLGFjdGlvbkZ1bmM6aShhc3luYyh7aXRlbTp0fSk9Pnt9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJEZWxldGUiLGljb25OYW1lOiJsdWNpZGU6dHJhc2giLHR5cGU6WyJpblJvdyJdLGFjdGlvbkZ1bmM6aShhc3luYyh7aXRlbTp0fSk9Pnt9LCJhY3Rpb25GdW5jIil9XX0KICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIFVadCxXWnQ9YygoKT0+e3BlKCk7SXIoKTtYZSgpO1VadD1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLm1haW5ib3ggewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMy45JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiAke2dhfTsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxNnB4IDI0cHg7CiAgICAgICAgbWluLWhlaWdodDogNjRweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRpbmdDb250YWluZXIgewogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIHsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICB9CgogICAgICAuaGVhZGluZzEgewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KICAgICAgCiAgICAgIC5oZWFkaW5nMiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLmhlYWRpbmdTZXBhcmF0aW9uIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAuaGVhZGVyQWN0aW9ucyB7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CiAgICAgIAogICAgICAuaGVhZGVyQWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuaGVhZGVyQWN0aW9uOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXJBY3Rpb24gZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2hHcmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtZ2FwOiAxNnB4OwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIG1heC1jb250ZW50OwogICAgICAgIHBhZGRpbmc6IDE2cHggMjRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTglKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgewogICAgICAgIC5zZWFyY2hHcmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyogbGV0IHNlYXJjaCBtb2RlIHNpemUgdG8gY29udGVudCAobm8gZm9yY2VkIHdpZHRoKSAqLwoKICAgICAgLnNlYXJjaEdyaWQuaGlkZGVuIHsKICAgICAgICBoZWlnaHQ6IDBweDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcGFkZGluZzogMHB4IDI0cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4OwogICAgICB9CgogICAgICAudGFibGVTY3JvbGwgewogICAgICAgIC8qIGVuYWJsZSBob3Jpem9udGFsIHNjcm9sbCBvbmx5IHdoZW4gY29udGVudCBleGNlZWRzIHdpZHRoICovCiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgICAvKiBwcmV2ZW50IHZlcnRpY2FsIHNjcm9sbCBpbnNpZGUgdGhlIHRhYmxlIGNvbnRhaW5lciAqLwogICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjsKICAgICAgICAvKiBhdm9pZCByZXNlcnZpbmcgZXh0cmEgc3BhY2UgZm9yIGNsYXNzaWMgc2Nyb2xsYmFycyB3aGVyZSBwb3NzaWJsZSAqLwogICAgICAgIHNjcm9sbGJhci1ndXR0ZXI6IHN0YWJsZSBib3RoLWVkZ2VzOwogICAgICB9CiAgICAgIC8qIEhpZGUgaG9yaXpvbnRhbCBzY3JvbGxiYXIgZW50aXJlbHkgd2hlbiBub3QgdXNpbmcgc3RpY2t5IGhlYWRlciAqLwogICAgICA6aG9zdCg6bm90KFtzdGlja3ktaGVhZGVyXSkpIC50YWJsZVNjcm9sbCB7CiAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvKiBJRS9FZGdlICovCiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiBub25lOyAgIC8qIEZpcmVmb3ggKGhpZGVzIGJvdGggYXhlcykgKi8KICAgICAgfQogICAgICA6aG9zdCg6bm90KFtzdGlja3ktaGVhZGVyXSkpIC50YWJsZVNjcm9sbDo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIGRpc3BsYXk6IG5vbmU7IC8qIENocm9tZS9TYWZhcmkgKi8KICAgICAgfQogICAgICAvKiBJbiBzdGlja3ktaGVhZGVyIG1vZGUsIGhpZGUgb25seSB0aGUgaG9yaXpvbnRhbCBzY3JvbGxiYXIgaW4gV2ViS2l0L0JsaW5rICovCiAgICAgIDpob3N0KFtzdGlja3ktaGVhZGVyXSkgLnRhYmxlU2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhcjpob3Jpem9udGFsIHsKICAgICAgICBoZWlnaHQ6IDBweDsKICAgICAgfQogICAgICA6aG9zdChbc3RpY2t5LWhlYWRlcl0pIC50YWJsZVNjcm9sbCB7CiAgICAgICAgbWF4LWhlaWdodDogdmFyKC0tdGFibGUtbWF4LWhlaWdodCwgMzYwcHgpOwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICB9CgogICAgICB0YWJsZSB7CiAgICAgICAgLyogYWxsb3cgdGFibGUgdG8gZ3JvdyB3aWRlciB0aGFuIGNvbnRhaW5lciBzbyBhY3Rpb25zIGNvbHVtbiBjYW4gc3RpY2sgKi8KICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7CiAgICAgICAgbWluLXdpZHRoOiAxMDAlOwogICAgICAgIGNhcHRpb24tc2lkZTogYm90dG9tOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOwogICAgICAgIGJvcmRlci1zcGFjaW5nOiAwOwogICAgICB9CiAgICAgIAogICAgICAubm9EYXRhU2V0IHsKICAgICAgICBwYWRkaW5nOiA0OHB4IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICB9CiAgICAgIAogICAgICB0aGVhZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgfQogICAgICA6aG9zdChbc3RpY2t5LWhlYWRlcl0pIHRoZWFkIHRoIHsKICAgICAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgICAgIHRvcDogMDsKICAgICAgICB6LWluZGV4OiAyOwogICAgICB9CiAgICAgIAogICAgICB0Ym9keSB0ciB7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQogICAgICAKICAgICAgLyogRGVmYXVsdCBob3Jpem9udGFsIGxpbmVzIChib3R0b20gYm9yZGVyIG9ubHkpICovCiAgICAgIHRib2R5IHRyIHsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQogICAgICAKICAgICAgdGJvZHkgdHI6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLyogRnVsbCBob3Jpem9udGFsIGxpbmVzIHdoZW4gZW5hYmxlZCAqLwogICAgICA6aG9zdChbc2hvdy1ob3Jpem9udGFsLWxpbmVzXSkgdGJvZHkgdHIgewogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbc2hvdy1ob3Jpem9udGFsLWxpbmVzXSkgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgewogICAgICAgIGJvcmRlci10b3A6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtzaG93LWhvcml6b250YWwtbGluZXNdKSB0Ym9keSB0cjpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQogICAgICAKICAgICAgdGJvZHkgdHI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSAvIDAuNSkiLCJoc2woMCAwJSAxNC45JSAvIDAuNSkiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIENvbHVtbiBob3ZlciBlZmZlY3QgZm9yIGJldHRlciB0cmFjZWFiaWxpdHkgKi8KICAgICAgdGQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQogICAgICAKICAgICAgdGQ6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSAvIDAuMykiLCJoc2woMCAwJSAxNC45JSAvIDAuMykiKX07CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7CiAgICAgICAgei1pbmRleDogLTE7CiAgICAgIH0KICAgICAgCiAgICAgIHRkOmhvdmVyOjphZnRlciB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQogICAgICAKICAgICAgLyogR3JpZCBtb2RlIC0gc2hvd3MgYm90aCB2ZXJ0aWNhbCBhbmQgaG9yaXpvbnRhbCBsaW5lcyAqLwogICAgICA6aG9zdChbc2hvdy1ncmlkXSkgdGggewogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW3Nob3ctZ3JpZF0pIHRkIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICAgIGJvcmRlci10b3A6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtzaG93LWdyaWRdKSB0aDpmaXJzdC1jaGlsZCwKICAgICAgOmhvc3QoW3Nob3ctZ3JpZF0pIHRkOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtzaG93LWdyaWRdKSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCB7CiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTsKICAgICAgfQoKICAgICAgLyogU3RpY2t5IEFjdGlvbnMgY29sdW1uIChyaWdodCBwaW5uZWQpICovCiAgICAgIHRoZWFkIHRoLmFjdGlvbnNDb2wsCiAgICAgIHRib2R5IHRkLmFjdGlvbnNDb2wgewogICAgICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgIH0KICAgICAgdGhlYWQgdGguYWN0aW9uc0NvbCB7IHotaW5kZXg6IDM7IH0KICAgICAgdGJvZHkgdGQuYWN0aW9uc0NvbCB7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgICBib3gtc2hhZG93OiAtMXB4IDAgMCAwICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgIH0KICAgICAgCiAgICAgIHRib2R5IHRyLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CgogICAgICB0Ym9keSB0ci5oYXNBdHRhY2htZW50IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlIC8gMC4xKSIsImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIHRoIHsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAyNHB4OwogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW3Nob3ctdmVydGljYWwtbGluZXNdKSB0aCB7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQogICAgICAKICAgICAgdGQgewogICAgICAgIHBhZGRpbmc6IDEycHggMjRweDsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMy45JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbc2hvdy12ZXJ0aWNhbC1saW5lc10pIHRkIHsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CiAgICAgIAogICAgICB0aDpmaXJzdC1jaGlsZCwKICAgICAgdGQ6Zmlyc3QtY2hpbGQgewogICAgICAgIHBhZGRpbmctbGVmdDogMjRweDsKICAgICAgfQogICAgICAKICAgICAgdGg6bGFzdC1jaGlsZCwKICAgICAgdGQ6bGFzdC1jaGlsZCB7CiAgICAgICAgcGFkZGluZy1yaWdodDogMjRweDsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW3Nob3ctdmVydGljYWwtbGluZXNdKSB0aDpsYXN0LWNoaWxkLAogICAgICA6aG9zdChbc2hvdy12ZXJ0aWNhbC1saW5lc10pIHRkOmxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1yaWdodDogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLmlubmVyQ2VsbENvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1pbi1oZWlnaHQ6IDI0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgIH0KICAgICAgdGQgaW5wdXQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDRweDsKICAgICAgICBib3R0b206IDRweDsKICAgICAgICBsZWZ0OiAyMHB4OwogICAgICAgIHJpZ2h0OiAyMHB4OwogICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTsKICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDhweCk7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMy45JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDsKICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2IoMCAwIDAgLyAwLjA1KTsKICAgICAgfQogICAgICAKICAgICAgdGQgaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2QuYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4yKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC8qIGZpbHRlciByb3cgKi8KICAgICAgdGhlYWQgdHIuZmlsdGVyc1JvdyB0aCB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHggMTJweCAxMnB4OwogICAgICB9CiAgICAgIHRoZWFkIHRyLmZpbHRlcnNSb3cgdGggaW5wdXRbdHlwZT0ndGV4dCddIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIHBhZGRpbmc6IDZweCA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDMuOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgfQogICAgICAuYWN0aW9uc0NvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CiAgICAgIAogICAgICAuYWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hY3Rpb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgwIDAlIDExLjglKSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmFjdGlvbiBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgfQoKICAgICAgLmZvb3RlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBoZWlnaHQ6IDUycHg7CiAgICAgICAgcGFkZGluZzogMCAyNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CgogICAgICAudGFibGVTdGF0aXN0aWNzIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuZm9vdGVyQWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmZvb3RlckFjdGlvbnMgLmZvb3RlckFjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmZvb3RlckFjdGlvbnMgLmZvb3RlckFjdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgIH0KCiAgICAgIC5mb290ZXJBY3Rpb25zIC5mb290ZXJBY3Rpb24gZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KICBgXX0pO2Z1bmN0aW9uIFlPZSh0LGUpe2lmKCFlfHxlLmxlbmd0aD09PTApcmV0dXJuW107bGV0IGE9dChlWzBdKTtyZXR1cm4gT2JqZWN0LmtleXMoYSkubWFwKHM9Pih7a2V5OnMsaGVhZGVyOnMsdmFsdWU6aShuPT50KG4pW3NdLCJ2YWx1ZSIpfSkpfWZ1bmN0aW9uIEdadCh0LGUsYSxyKXtsZXQgcz0odHx8W10pLnNsaWNlKCk7aWYoIWUpcmV0dXJuIHM7bGV0IG49WU9lKGEsciksbz1uZXcgU2V0KHMubWFwKGw9PlN0cmluZyhsLmtleSkpKTtmb3IobGV0IGwgb2YgbilvLmhhcyhTdHJpbmcobC5rZXkpKXx8cy5wdXNoKGwpO3JldHVybiBzfWZ1bmN0aW9uIFo4KHQsZSxhKXtyZXR1cm4gZS52YWx1ZT9lLnZhbHVlKHQpOnRbZS5rZXldfWZ1bmN0aW9uIFladCh0LGUsYSxyLHMsbixvPSJ0YWJsZSIsbCl7bGV0IGg9dC5zbGljZSgpLHU9KHN8fCIiKS50cmltKCkudG9Mb3dlckNhc2UoKSxmPW58fHt9LHA9T2JqZWN0LmtleXMoZikuZmlsdGVyKHg9PihmW3hdPz8iIikudHJpbSgpLmxlbmd0aD4wKTtpZigodXx8cC5sZW5ndGg+MCkmJihoPWguZmlsdGVyKHg9Pntmb3IobGV0IGIgb2YgcClpZihvPT09ImRhdGEiKXtsZXQgbT14W2JdLHk9U3RyaW5nKG0/PyIiKS50b0xvd2VyQ2FzZSgpLE09U3RyaW5nKGZbYl0pLnRvTG93ZXJDYXNlKCk7aWYoIXkuaW5jbHVkZXMoTSkpcmV0dXJuITF9ZWxzZXtsZXQgbT1lLmZpbmQoRT0+U3RyaW5nKEUua2V5KT09PWIpO2lmKCFtfHxtLmhpZGRlbnx8bS5maWx0ZXJhYmxlPT09ITEpY29udGludWU7bGV0IHk9WjgoeCxtKSxNPVN0cmluZyh5Pz8iIikudG9Mb3dlckNhc2UoKSxrPVN0cmluZyhmW2JdKS50b0xvd2VyQ2FzZSgpO2lmKCFNLmluY2x1ZGVzKGspKXJldHVybiExfWlmKHUpe2lmKGwpcmV0dXJuISFsKHgpO2xldCBiPSExO2lmKG89PT0iZGF0YSIpe2ZvcihsZXQgbSBvZiBPYmplY3QudmFsdWVzKHgpKWlmKFN0cmluZyhtPz8iIikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh1KSl7Yj0hMDticmVha319ZWxzZSBmb3IobGV0IG0gb2YgZSl7aWYobS5oaWRkZW4pY29udGludWU7bGV0IHk9WjgoeCxtKTtpZihTdHJpbmcoeT8/IiIpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModSkpe2I9ITA7YnJlYWt9fWlmKCFiKXJldHVybiExfXJldHVybiEwfSkpLCFhfHwhcilyZXR1cm4gaDtsZXQgZz1lLmZpbmQoeD0+U3RyaW5nKHgua2V5KT09PWEpO2lmKCFnKXJldHVybiBoO2xldCB2PXI9PT0iYXNjIj8xOi0xO3JldHVybiBoLnNvcnQoKHgsYik9PntsZXQgbT1aOCh4LGcpLHk9WjgoYixnKTtpZihtPT1udWxsJiZ5PT1udWxsKXJldHVybiAwO2lmKG09PW51bGwpcmV0dXJuLTEqdjtpZih5PT1udWxsKXJldHVybiAxKnY7aWYodHlwZW9mIG09PSJudW1iZXIiJiZ0eXBlb2YgeT09Im51bWJlciIpcmV0dXJuKG0teSkqdjtsZXQgTT1TdHJpbmcobSkudG9Mb3dlckNhc2UoKSxrPVN0cmluZyh5KS50b0xvd2VyQ2FzZSgpO3JldHVybiBNPGs/LTEqdjpNPms/MSp2OjB9KSxofXZhciBaWnQ9YygoKT0+e2koWU9lLCJjb21wdXRlQ29sdW1uc0Zyb21EaXNwbGF5RnVuY3Rpb24iKTtpKEdadCwiY29tcHV0ZUVmZmVjdGl2ZUNvbHVtbnMiKTtpKFo4LCJnZXRDZWxsVmFsdWUiKTtpKFladCwiZ2V0Vmlld0RhdGEiKX0pO2Z1bmN0aW9uIFVaKHQpe3JldHVybiB0LnN0YXJ0c1dpdGgoJyInKSYmdC5lbmRzV2l0aCgnIicpfHx0LnN0YXJ0c1dpdGgoIiciKSYmdC5lbmRzV2l0aCgiJyIpP3Quc2xpY2UoMSwtMSk6dH1mdW5jdGlvbiB2dmEodCl7cmV0dXJuIHQuc3BsaXQoL1xzK09SXHMrL2kpLm1hcChlPT5lLnRyaW0oKSkuZmlsdGVyKEJvb2xlYW4pfWZ1bmN0aW9uIHh2YSh0KXtyZXR1cm4gdC5zcGxpdCgvXHMrQU5EXHMrL2kpLm1hcChlPT5lLnRyaW0oKSkuZmlsdGVyKEJvb2xlYW4pfWZ1bmN0aW9uIHl2YSh0KXtpZighdClyZXR1cm4gbnVsbDtsZXQgZT0hMSxhPXQubWF0Y2goL15ccyooTk9UXHMrfC0pXHMqKC4qKSQvaSk7YSYmKGU9ITAsdD1hWzJdKTtsZXQgcj10Lm1hdGNoKC9eKFteOlxzXSspXHMqOlxzKlxbKC4qPylccytUT1xzKyguKj8pXF0kL2kpO2lmKHIpcmV0dXJue2ZpZWxkOnJbMV0sbmVnYXRlOmUscmFuZ2U6e2xvd2VyOlVaKHJbMl0pLnRvTG93ZXJDYXNlKCksdXBwZXI6VVooclszXSkudG9Mb3dlckNhc2UoKSxpbmNsdXNpdmU6ITB9fTtsZXQgcz10Lm1hdGNoKC9eKFteOlxzXSspXHMqOlxzKigiW14iXSoifCdbXiddKid8W14iJ1xzXSspJC8pO3JldHVybiBzP3tmaWVsZDpzWzFdLHZhbHVlOlVaKHNbMl0pLnRvTG93ZXJDYXNlKCksbmVnYXRlOmV9OnQubGVuZ3RoPjA/e3ZhbHVlOlVaKHQpLnRvTG93ZXJDYXNlKCksbmVnYXRlOmV9Om51bGx9ZnVuY3Rpb24gd3ZhKHQpe2lmKCF0KXJldHVybiBudWxsO2xldCBlPXZ2YSh0KS5tYXAoYT0+KHt0ZXJtczp4dmEoYSkubWFwKHl2YSkuZmlsdGVyKHM9PiEhcyYmISFzLnZhbHVlKX0pKS5maWx0ZXIoYT0+YS50ZXJtcy5sZW5ndGg+MCk7cmV0dXJuIGUubGVuZ3RoPT09MD9udWxsOntjbGF1c2VzOmV9fWZ1bmN0aW9uIFhadCh0LGUsYSl7bGV0IHI9d3ZhKHQpO2lmKCFyKXJldHVybiBudWxsO2xldCBzPW5ldyBNYXAoYS5tYXAoaD0+W1N0cmluZyhoLmtleSksaF0pKSxuPWkoKGgsdSk9Pmg8dT8tMTpoPnU/MTowLCJjbXAiKSxvPWkoaD0+e2xldCB1PVN0cmluZyhoPz8iIikudG9Mb3dlckNhc2UoKSxmPU51bWJlcih1KSxwPURhdGUucGFyc2UodSk7cmV0dXJuIU51bWJlci5pc05hTihmKSYmdS50cmltKCkhPT0iIj97dDoibiIsdjpmfTpOdW1iZXIuaXNOYU4ocCk/e3Q6InMiLHY6dX06e3Q6ImQiLHY6cH19LCJjb2VyY2UiKSxsPWkoKGgsdSxmKT0+e2xldCBwPW8oaCksZz1vKHUpLHY9byhmKTtpZihwLnQ9PT0icyImJmcudD09PSJzIiYmdi50PT09InMiKXtsZXQgYj1wLnY7cmV0dXJuIG4oYixnLnYpPj0wJiZuKGIsdi52KTw9MH1pZihwLnQ9PT0ibiImJmcudD09PSJuIiYmdi50PT09Im4iKXtsZXQgYj1wLnY7cmV0dXJuIGI+PWcudiYmYjw9di52fWlmKHAudD09PSJkIiYmZy50PT09ImQiJiZ2LnQ9PT0iZCIpe2xldCBiPXAudjtyZXR1cm4gYj49Zy52JiZiPD12LnZ9bGV0IHg9U3RyaW5nKGg/PyIiKS50b0xvd2VyQ2FzZSgpO3JldHVybiBuKHgsdSk+PTAmJm4oeCxmKTw9MH0sImluUmFuZ2UiKTtyZXR1cm4gaD0+e2ZvcihsZXQgdSBvZiByLmNsYXVzZXMpe2xldCBmPSEwO2ZvcihsZXQgcCBvZiB1LnRlcm1zKXtsZXQgZz0hMTtpZihwLnJhbmdlJiZwLmZpZWxkKWlmKGU9PT0iZGF0YSIpZz1sKGhbcC5maWVsZF0scC5yYW5nZS5sb3dlcixwLnJhbmdlLnVwcGVyKTtlbHNle2xldCB2PXMuZ2V0KHAuZmllbGQpO2lmKCF2fHx2LmhpZGRlbilnPSExO2Vsc2V7bGV0IHg9di52YWx1ZT92LnZhbHVlKGgpOmhbdi5rZXldO2c9bCh4LHAucmFuZ2UubG93ZXIscC5yYW5nZS51cHBlcil9fWVsc2UgaWYocC5maWVsZCYmcC52YWx1ZSE9bnVsbClpZihlPT09ImRhdGEiKWc9U3RyaW5nKGhbcC5maWVsZF0/PyIiKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHAudmFsdWUpO2Vsc2V7bGV0IHY9cy5nZXQocC5maWVsZCk7aWYoIXZ8fHYuaGlkZGVuPT09ITApZz0hMTtlbHNle2xldCB4PXYudmFsdWU/di52YWx1ZShoKTpoW3Yua2V5XTtnPVN0cmluZyh4Pz8iIikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhwLnZhbHVlKX19ZWxzZSBwLnZhbHVlIT1udWxsJiYoZT09PSJkYXRhIj9nPU9iamVjdC52YWx1ZXMoaCkuc29tZSh2PT5TdHJpbmcodj8/IiIpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocC52YWx1ZSkpOmc9YS5zb21lKHY9PntpZih2LmhpZGRlbilyZXR1cm4hMTtsZXQgeD12LnZhbHVlP3YudmFsdWUoaCk6aFt2LmtleV07cmV0dXJuIFN0cmluZyh4Pz8iIikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhwLnZhbHVlKX0pKTtpZihwLm5lZ2F0ZSYmKGc9IWcpLCFnKXtmPSExO2JyZWFrfX1pZihmKXJldHVybiEwfXJldHVybiExfX12YXIgS1p0PWMoKCk9PntpKFVaLCJzdHJpcFF1b3RlcyIpO2kodnZhLCJzcGxpdEJ5T3IiKTtpKHh2YSwic3BsaXRCeUFuZCIpO2koeXZhLCJwYXJzZVRlcm0iKTtpKHd2YSwicGFyc2VMdWNlbmUiKTtpKFhadCwiY29tcGlsZUx1Y2VuZVByZWRpY2F0ZSIpfSk7dmFyIHZhLG50LFdaLEdPZT1jKCgpPT57UDEoKTtqWnQoKTtwZSgpO3YxKCk7SXQoKTtLdCgpO1dadCgpO1padCgpO0tadCgpO1hlKCk7dmE9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LG50PWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxXWj0oKCk9PntsZXQgdD1bYWUoImRlZXMtdGFibGUiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXSx5LE09W10saz1bXSxFLF89W10sQz1bXSxOLCQ9W10sST1bXSxqLFM9W10sej1bXSxELFQ9W10sQT1bXSxVLFI9W10scT1bXSxvZSxPPVtdLHJlPVtdLHllLEI9W10sZWU9W10sQ2UsWT1bXSxQPVtdLEgsRz1bXSxXPVtdLHNlLHplPVtdLE1lPVtdLEVlLFY9W10sRj1bXSxuZSx0ZT1bXSxLPVtdLGtlLHZlPVtdLGRlPVtdLCRlLFZlPVtdLFFlPVtdLFRlLGxlPVtdLGZlPVtdLFNlLEhlPVtdLEtlPVtdLGt0LHV0PVtdLEN0PVtdLFd0LGhlPVtdLG1lPVtdLFBlLGZ0PVtdLGJ0PVtdLG5hLFIxPVtdLCRyPVtdLERyLHFlPVtdLHR0PVtdLFNhLGphPVtdLFhhPVtdLHMxLEthPVtdLEtyPVtdLFFyLF9lPVtdLHhlPVtdO3ZhciBOZT1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc1RhYmxlIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IExlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6U3RyaW5nfSldLGg9W0woe3R5cGU6U3RyaW5nfSldLHA9W0woe3R5cGU6QXJyYXl9KV0seD1bTCh7dHlwZTpTdHJpbmd9KV0seT1bTCh7dHlwZTpTdHJpbmd9KV0sRT1bTCh7dHlwZTpCb29sZWFufSldLE49W0woe3R5cGU6Qm9vbGVhbn0pXSxqPVtMKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLEQ9W0woe3R5cGU6Qm9vbGVhbn0pXSxVPVtMKHt0eXBlOkFycmF5fSldLG9lPVtMKHthdHRyaWJ1dGU6ITF9KV0seWU9W0woe2F0dHJpYnV0ZTohMX0pXSxDZT1bTCh7dHlwZTpCb29sZWFufSldLEg9W0woe2F0dHJpYnV0ZTohMX0pXSxzZT1bTCh7YXR0cmlidXRlOiExfSldLEVlPVtMKHt0eXBlOk9iamVjdH0pXSxuZT1bTCh7dHlwZTpBcnJheX0pXSxrZT1bTCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITAsYXR0cmlidXRlOiJzaG93LXZlcnRpY2FsLWxpbmVzIn0pXSwkZT1bTCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITAsYXR0cmlidXRlOiJzaG93LWhvcml6b250YWwtbGluZXMifSldLFRlPVtMKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMCxhdHRyaWJ1dGU6InNob3ctZ3JpZCJ9KV0sU2U9W0woe2F0dHJpYnV0ZTohMX0pXSxrdD1bTCh7YXR0cmlidXRlOiExfSldLFd0PVtMKHt0eXBlOlN0cmluZ30pXSxQZT1bTCh7YXR0cmlidXRlOiExfSldLG5hPVtMKHt0eXBlOkJvb2xlYW4sYXR0cmlidXRlOiJzaG93LWNvbHVtbi1maWx0ZXJzIn0pXSxEcj1bTCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITAsYXR0cmlidXRlOiJzdGlja3ktaGVhZGVyIn0pXSxTYT1bTCh7dHlwZTpTdHJpbmd9KV0sczE9W0woe3R5cGU6U3RyaW5nfSldLFFyPVtMKHthdHRyaWJ1dGU6ITF9KV0sdmEodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoZWFkaW5nMSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShnZT0+ImhlYWRpbmcxImluIGdlLCJoYXMiKSxnZXQ6aShnZT0+Z2UuaGVhZGluZzEsImdldCIpLHNldDppKChnZSxCZSk9PntnZS5oZWFkaW5nMT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sbyxsKSx2YSh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhlYWRpbmcyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGdlPT4iaGVhZGluZzIiaW4gZ2UsImhhcyIpLGdldDppKGdlPT5nZS5oZWFkaW5nMiwiZ2V0Iiksc2V0OmkoKGdlLEJlKT0+e2dlLmhlYWRpbmcyPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSx1LGYpLHZhKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShnZT0+ImRhdGEiaW4gZ2UsImhhcyIpLGdldDppKGdlPT5nZS5kYXRhLCJnZXQiKSxzZXQ6aSgoZ2UsQmUpPT57Z2UuZGF0YT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sZyx2KSx2YSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImtleSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShnZT0+ImtleSJpbiBnZSwiaGFzIiksZ2V0OmkoZ2U9PmdlLmtleSwiZ2V0Iiksc2V0OmkoKGdlLEJlKT0+e2dlLmtleT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sYixtKSx2YSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGdlPT4ibGFiZWwiaW4gZ2UsImhhcyIpLGdldDppKGdlPT5nZS5sYWJlbCwiZ2V0Iiksc2V0OmkoKGdlLEJlKT0+e2dlLmxhYmVsPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxNLGspLHZhKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGlzYWJsZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZ2U9PiJkaXNhYmxlZCJpbiBnZSwiaGFzIiksZ2V0OmkoZ2U9PmdlLmRpc2FibGVkLCJnZXQiKSxzZXQ6aSgoZ2UsQmUpPT57Z2UuZGlzYWJsZWQ9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LF8sQyksdmEodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXF1aXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShnZT0+InJlcXVpcmVkImluIGdlLCJoYXMiKSxnZXQ6aShnZT0+Z2UucmVxdWlyZWQsImdldCIpLHNldDppKChnZSxCZSk9PntnZS5yZXF1aXJlZD1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sJCxJKSx2YSh0aGlzLG51bGwsaix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGFOYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGdlPT4iZGF0YU5hbWUiaW4gZ2UsImhhcyIpLGdldDppKGdlPT5nZS5kYXRhTmFtZSwiZ2V0Iiksc2V0OmkoKGdlLEJlKT0+e2dlLmRhdGFOYW1lPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxTLHopLHZhKHRoaXMsbnVsbCxELHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VhcmNoYWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShnZT0+InNlYXJjaGFibGUiaW4gZ2UsImhhcyIpLGdldDppKGdlPT5nZS5zZWFyY2hhYmxlLCJnZXQiKSxzZXQ6aSgoZ2UsQmUpPT57Z2Uuc2VhcmNoYWJsZT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sVCxBKSx2YSh0aGlzLG51bGwsVSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGFBY3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGdlPT4iZGF0YUFjdGlvbnMiaW4gZ2UsImhhcyIpLGdldDppKGdlPT5nZS5kYXRhQWN0aW9ucywiZ2V0Iiksc2V0OmkoKGdlLEJlKT0+e2dlLmRhdGFBY3Rpb25zPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxSLHEpLHZhKHRoaXMsbnVsbCxvZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbHVtbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZ2U9PiJjb2x1bW5zImluIGdlLCJoYXMiKSxnZXQ6aShnZT0+Z2UuY29sdW1ucywiZ2V0Iiksc2V0OmkoKGdlLEJlKT0+e2dlLmNvbHVtbnM9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LE8scmUpLHZhKHRoaXMsbnVsbCx5ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJvd0tleSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShnZT0+InJvd0tleSJpbiBnZSwiaGFzIiksZ2V0OmkoZ2U9PmdlLnJvd0tleSwiZ2V0Iiksc2V0OmkoKGdlLEJlKT0+e2dlLnJvd0tleT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sQixlZSksdmEodGhpcyxudWxsLENlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXVnbWVudEZyb21EaXNwbGF5RnVuY3Rpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZ2U9PiJhdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbiJpbiBnZSwiaGFzIiksZ2V0OmkoZ2U9PmdlLmF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uLCJnZXQiKSxzZXQ6aSgoZ2UsQmUpPT57Z2UuYXVnbWVudEZyb21EaXNwbGF5RnVuY3Rpb249QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LFksUCksdmEodGhpcyxudWxsLEgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXNwbGF5RnVuY3Rpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZ2U9PiJkaXNwbGF5RnVuY3Rpb24iaW4gZ2UsImhhcyIpLGdldDppKGdlPT5nZS5kaXNwbGF5RnVuY3Rpb24sImdldCIpLHNldDppKChnZSxCZSk9PntnZS5kaXNwbGF5RnVuY3Rpb249QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LEcsVyksdmEodGhpcyxudWxsLHNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmV2ZXJzZURpc3BsYXlGdW5jdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShnZT0+InJldmVyc2VEaXNwbGF5RnVuY3Rpb24iaW4gZ2UsImhhcyIpLGdldDppKGdlPT5nZS5yZXZlcnNlRGlzcGxheUZ1bmN0aW9uLCJnZXQiKSxzZXQ6aSgoZ2UsQmUpPT57Z2UucmV2ZXJzZURpc3BsYXlGdW5jdGlvbj1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0semUsTWUpLHZhKHRoaXMsbnVsbCxFZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkRGF0YVJvdyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShnZT0+InNlbGVjdGVkRGF0YVJvdyJpbiBnZSwiaGFzIiksZ2V0OmkoZ2U9PmdlLnNlbGVjdGVkRGF0YVJvdywiZ2V0Iiksc2V0OmkoKGdlLEJlKT0+e2dlLnNlbGVjdGVkRGF0YVJvdz1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sVixGKSx2YSh0aGlzLG51bGwsbmUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlZGl0YWJsZUZpZWxkcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShnZT0+ImVkaXRhYmxlRmllbGRzImluIGdlLCJoYXMiKSxnZXQ6aShnZT0+Z2UuZWRpdGFibGVGaWVsZHMsImdldCIpLHNldDppKChnZSxCZSk9PntnZS5lZGl0YWJsZUZpZWxkcz1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sdGUsSyksdmEodGhpcyxudWxsLGtlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1ZlcnRpY2FsTGluZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZ2U9PiJzaG93VmVydGljYWxMaW5lcyJpbiBnZSwiaGFzIiksZ2V0OmkoZ2U9PmdlLnNob3dWZXJ0aWNhbExpbmVzLCJnZXQiKSxzZXQ6aSgoZ2UsQmUpPT57Z2Uuc2hvd1ZlcnRpY2FsTGluZXM9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LHZlLGRlKSx2YSh0aGlzLG51bGwsJGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93SG9yaXpvbnRhbExpbmVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGdlPT4ic2hvd0hvcml6b250YWxMaW5lcyJpbiBnZSwiaGFzIiksZ2V0OmkoZ2U9PmdlLnNob3dIb3Jpem9udGFsTGluZXMsImdldCIpLHNldDppKChnZSxCZSk9PntnZS5zaG93SG9yaXpvbnRhbExpbmVzPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxWZSxRZSksdmEodGhpcyxudWxsLFRlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0dyaWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZ2U9PiJzaG93R3JpZCJpbiBnZSwiaGFzIiksZ2V0OmkoZ2U9PmdlLnNob3dHcmlkLCJnZXQiKSxzZXQ6aSgoZ2UsQmUpPT57Z2Uuc2hvd0dyaWQ9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LGxlLGZlKSx2YSh0aGlzLG51bGwsU2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzb3J0S2V5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGdlPT4ic29ydEtleSJpbiBnZSwiaGFzIiksZ2V0OmkoZ2U9PmdlLnNvcnRLZXksImdldCIpLHNldDppKChnZSxCZSk9PntnZS5zb3J0S2V5PUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxIZSxLZSksdmEodGhpcyxudWxsLGt0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic29ydERpciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShnZT0+InNvcnREaXIiaW4gZ2UsImhhcyIpLGdldDppKGdlPT5nZS5zb3J0RGlyLCJnZXQiKSxzZXQ6aSgoZ2UsQmUpPT57Z2Uuc29ydERpcj1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sdXQsQ3QpLHZhKHRoaXMsbnVsbCxXdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbHRlclRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZ2U9PiJmaWx0ZXJUZXh0ImluIGdlLCJoYXMiKSxnZXQ6aShnZT0+Z2UuZmlsdGVyVGV4dCwiZ2V0Iiksc2V0OmkoKGdlLEJlKT0+e2dlLmZpbHRlclRleHQ9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LGhlLG1lKSx2YSh0aGlzLG51bGwsUGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2x1bW5GaWx0ZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGdlPT4iY29sdW1uRmlsdGVycyJpbiBnZSwiaGFzIiksZ2V0OmkoZ2U9PmdlLmNvbHVtbkZpbHRlcnMsImdldCIpLHNldDppKChnZSxCZSk9PntnZS5jb2x1bW5GaWx0ZXJzPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxmdCxidCksdmEodGhpcyxudWxsLG5hLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0NvbHVtbkZpbHRlcnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZ2U9PiJzaG93Q29sdW1uRmlsdGVycyJpbiBnZSwiaGFzIiksZ2V0OmkoZ2U9PmdlLnNob3dDb2x1bW5GaWx0ZXJzLCJnZXQiKSxzZXQ6aSgoZ2UsQmUpPT57Z2Uuc2hvd0NvbHVtbkZpbHRlcnM9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LFIxLCRyKSx2YSh0aGlzLG51bGwsRHIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGlja3lIZWFkZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZ2U9PiJzdGlja3lIZWFkZXIiaW4gZ2UsImhhcyIpLGdldDppKGdlPT5nZS5zdGlja3lIZWFkZXIsImdldCIpLHNldDppKChnZSxCZSk9PntnZS5zdGlja3lIZWFkZXI9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LHFlLHR0KSx2YSh0aGlzLG51bGwsU2Ese2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWFyY2hNb2RlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGdlPT4ic2VhcmNoTW9kZSJpbiBnZSwiaGFzIiksZ2V0OmkoZ2U9PmdlLnNlYXJjaE1vZGUsImdldCIpLHNldDppKChnZSxCZSk9PntnZS5zZWFyY2hNb2RlPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxqYSxYYSksdmEodGhpcyxudWxsLHMxLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0aW9uTW9kZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShnZT0+InNlbGVjdGlvbk1vZGUiaW4gZ2UsImhhcyIpLGdldDppKGdlPT5nZS5zZWxlY3Rpb25Nb2RlLCJnZXQiKSxzZXQ6aSgoZ2UsQmUpPT57Z2Uuc2VsZWN0aW9uTW9kZT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sS2EsS3IpLHZhKHRoaXMsbnVsbCxRcix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkSWRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGdlPT4ic2VsZWN0ZWRJZHMiaW4gZ2UsImhhcyIpLGdldDppKGdlPT5nZS5zZWxlY3RlZElkcywiZ2V0Iiksc2V0OmkoKGdlLEJlKT0+e2dlLnNlbGVjdGVkSWRzPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxfZSx4ZSksdmEobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TGV9LG51bGwsYSksTmU9cj1lLnZhbHVlLExlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkxlfSl9c3RhdGljIGRlbW89Vlp0O3N0YXRpYyBkZW1vR3JvdXBzPVsiRGF0YSBWaWV3Il07I2U9bnQodGhpcyxvLCJoZWFkaW5nIDEiKTtnZXQgaGVhZGluZzEoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaGVhZGluZzEoTGUpe3RoaXMuI2U9TGV9I3Q9KG50KHRoaXMsbCksbnQodGhpcyx1LCJoZWFkaW5nIDIiKSk7Z2V0IGhlYWRpbmcyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGhlYWRpbmcyKExlKXt0aGlzLiN0PUxlfSNhPShudCh0aGlzLGYpLG50KHRoaXMsZyxbXSkpO2dldCBkYXRhKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGRhdGEoTGUpe3RoaXMuI2E9TGV9I3I9KG50KHRoaXMsdiksbnQodGhpcyxiLHZvaWQgMCkpO2dldCBrZXkoKXtyZXR1cm4gdGhpcy4jcn1zZXQga2V5KExlKXt0aGlzLiNyPUxlfSNpPShudCh0aGlzLG0pLG50KHRoaXMsTSx2b2lkIDApKTtnZXQgbGFiZWwoKXtyZXR1cm4gdGhpcy4jaX1zZXQgbGFiZWwoTGUpe3RoaXMuI2k9TGV9I3M9KG50KHRoaXMsayksbnQodGhpcyxfLCExKSk7Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGRpc2FibGVkKExlKXt0aGlzLiNzPUxlfSNvPShudCh0aGlzLEMpLG50KHRoaXMsJCwhMSkpO2dldCByZXF1aXJlZCgpe3JldHVybiB0aGlzLiNvfXNldCByZXF1aXJlZChMZSl7dGhpcy4jbz1MZX1nZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy5kYXRhfXNldCB2YWx1ZShMZSl7fWNoYW5nZVN1YmplY3Q9KG50KHRoaXMsSSksbmV3IEV0LnNtYXJ0cngucnhqcy5TdWJqZWN0KTsjbj1udCh0aGlzLFMsdm9pZCAwKTtnZXQgZGF0YU5hbWUoKXtyZXR1cm4gdGhpcy4jbn1zZXQgZGF0YU5hbWUoTGUpe3RoaXMuI249TGV9I2w9KG50KHRoaXMseiksbnQodGhpcyxULCEwKSk7Z2V0IHNlYXJjaGFibGUoKXtyZXR1cm4gdGhpcy4jbH1zZXQgc2VhcmNoYWJsZShMZSl7dGhpcy4jbD1MZX0jYz0obnQodGhpcyxBKSxudCh0aGlzLFIsW10pKTtnZXQgZGF0YUFjdGlvbnMoKXtyZXR1cm4gdGhpcy4jY31zZXQgZGF0YUFjdGlvbnMoTGUpe3RoaXMuI2M9TGV9I2Q9KG50KHRoaXMscSksbnQodGhpcyxPLFtdKSk7Z2V0IGNvbHVtbnMoKXtyZXR1cm4gdGhpcy4jZH1zZXQgY29sdW1ucyhMZSl7dGhpcy4jZD1MZX0jcD0obnQodGhpcyxyZSksbnQodGhpcyxCLHZvaWQgMCkpO2dldCByb3dLZXkoKXtyZXR1cm4gdGhpcy4jcH1zZXQgcm93S2V5KExlKXt0aGlzLiNwPUxlfSN1PShudCh0aGlzLGVlKSxudCh0aGlzLFksITEpKTtnZXQgYXVnbWVudEZyb21EaXNwbGF5RnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4jdX1zZXQgYXVnbWVudEZyb21EaXNwbGF5RnVuY3Rpb24oTGUpe3RoaXMuI3U9TGV9I2Y9KG50KHRoaXMsUCksbnQodGhpcyxHLExlPT5MZSkpO2dldCBkaXNwbGF5RnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4jZn1zZXQgZGlzcGxheUZ1bmN0aW9uKExlKXt0aGlzLiNmPUxlfSNoPShudCh0aGlzLFcpLG50KHRoaXMsemUsTGU9PkxlKSk7Z2V0IHJldmVyc2VEaXNwbGF5RnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4jaH1zZXQgcmV2ZXJzZURpc3BsYXlGdW5jdGlvbihMZSl7dGhpcy4jaD1MZX0jbT0obnQodGhpcyxNZSksbnQodGhpcyxWLHZvaWQgMCkpO2dldCBzZWxlY3RlZERhdGFSb3coKXtyZXR1cm4gdGhpcy4jbX1zZXQgc2VsZWN0ZWREYXRhUm93KExlKXt0aGlzLiNtPUxlfSNnPShudCh0aGlzLEYpLG50KHRoaXMsdGUsW10pKTtnZXQgZWRpdGFibGVGaWVsZHMoKXtyZXR1cm4gdGhpcy4jZ31zZXQgZWRpdGFibGVGaWVsZHMoTGUpe3RoaXMuI2c9TGV9I2I9KG50KHRoaXMsSyksbnQodGhpcyx2ZSwhMSkpO2dldCBzaG93VmVydGljYWxMaW5lcygpe3JldHVybiB0aGlzLiNifXNldCBzaG93VmVydGljYWxMaW5lcyhMZSl7dGhpcy4jYj1MZX0jdj0obnQodGhpcyxkZSksbnQodGhpcyxWZSwhMSkpO2dldCBzaG93SG9yaXpvbnRhbExpbmVzKCl7cmV0dXJuIHRoaXMuI3Z9c2V0IHNob3dIb3Jpem9udGFsTGluZXMoTGUpe3RoaXMuI3Y9TGV9I3g9KG50KHRoaXMsUWUpLG50KHRoaXMsbGUsITApKTtnZXQgc2hvd0dyaWQoKXtyZXR1cm4gdGhpcy4jeH1zZXQgc2hvd0dyaWQoTGUpe3RoaXMuI3g9TGV9ZmlsZXM9KG50KHRoaXMsZmUpLFtdKTtmaWxlV2Vha01hcD1uZXcgV2Vha01hcDtkYXRhQ2hhbmdlU3ViamVjdD1uZXcgRXQuc21hcnRyeC5yeGpzLlN1YmplY3Q7I3k9bnQodGhpcyxIZSx2b2lkIDApO2dldCBzb3J0S2V5KCl7cmV0dXJuIHRoaXMuI3l9c2V0IHNvcnRLZXkoTGUpe3RoaXMuI3k9TGV9I3c9KG50KHRoaXMsS2UpLG50KHRoaXMsdXQsbnVsbCkpO2dldCBzb3J0RGlyKCl7cmV0dXJuIHRoaXMuI3d9c2V0IHNvcnREaXIoTGUpe3RoaXMuI3c9TGV9I009KG50KHRoaXMsQ3QpLG50KHRoaXMsaGUsIiIpKTtnZXQgZmlsdGVyVGV4dCgpe3JldHVybiB0aGlzLiNNfXNldCBmaWx0ZXJUZXh0KExlKXt0aGlzLiNNPUxlfSNrPShudCh0aGlzLG1lKSxudCh0aGlzLGZ0LHt9KSk7Z2V0IGNvbHVtbkZpbHRlcnMoKXtyZXR1cm4gdGhpcy4ja31zZXQgY29sdW1uRmlsdGVycyhMZSl7dGhpcy4jaz1MZX0jej0obnQodGhpcyxidCksbnQodGhpcyxSMSwhMSkpO2dldCBzaG93Q29sdW1uRmlsdGVycygpe3JldHVybiB0aGlzLiN6fXNldCBzaG93Q29sdW1uRmlsdGVycyhMZSl7dGhpcy4jej1MZX0jUz0obnQodGhpcywkciksbnQodGhpcyxxZSwhMSkpO2dldCBzdGlja3lIZWFkZXIoKXtyZXR1cm4gdGhpcy4jU31zZXQgc3RpY2t5SGVhZGVyKExlKXt0aGlzLiNTPUxlfSNDPShudCh0aGlzLHR0KSxudCh0aGlzLGphLCJ0YWJsZSIpKTtnZXQgc2VhcmNoTW9kZSgpe3JldHVybiB0aGlzLiNDfXNldCBzZWFyY2hNb2RlKExlKXt0aGlzLiNDPUxlfV9fc2VhcmNoVGV4dFN1Yj1udCh0aGlzLFhhKTtfX3NlYXJjaE1vZGVTdWI7I189bnQodGhpcyxLYSwibm9uZSIpO2dldCBzZWxlY3Rpb25Nb2RlKCl7cmV0dXJuIHRoaXMuI199c2V0IHNlbGVjdGlvbk1vZGUoTGUpe3RoaXMuI189TGV9I1Q9KG50KHRoaXMsS3IpLG50KHRoaXMsX2UsbmV3IFNldCkpO2dldCBzZWxlY3RlZElkcygpe3JldHVybiB0aGlzLiNUfXNldCBzZWxlY3RlZElkcyhMZSl7dGhpcy4jVD1MZX1fcm93SWRNYXA9KG50KHRoaXMseGUpLG5ldyBXZWFrTWFwKTtfcm93SWRDb3VudGVyPTA7Y29uc3RydWN0b3IoKXtzdXBlcigpfXN0YXRpYyBzdHlsZXM9VVp0O3JlbmRlcigpe2xldCBnZT1BcnJheS5pc0FycmF5KHRoaXMuY29sdW1ucykmJnRoaXMuY29sdW1ucy5sZW5ndGg+MD9HWnQodGhpcy5jb2x1bW5zLHRoaXMuYXVnbWVudEZyb21EaXNwbGF5RnVuY3Rpb24sdGhpcy5kaXNwbGF5RnVuY3Rpb24sdGhpcy5kYXRhKTpZT2UodGhpcy5kaXNwbGF5RnVuY3Rpb24sdGhpcy5kYXRhKSxCZT1YWnQodGhpcy5maWx0ZXJUZXh0LHRoaXMuc2VhcmNoTW9kZT09PSJkYXRhIj8iZGF0YSI6InRhYmxlIixnZSksdWU9WVp0KHRoaXMuZGF0YSxnZSx0aGlzLnNvcnRLZXksdGhpcy5zb3J0RGlyLHRoaXMuZmlsdGVyVGV4dCx0aGlzLmNvbHVtbkZpbHRlcnMsdGhpcy5zZWFyY2hNb2RlPT09ImRhdGEiPyJkYXRhIjoidGFibGUiLEJlfHx2b2lkIDApO3JldHVybiB0aGlzLl9sYXN0Vmlld0RhdGE9dWUsd2AKICAgICAgPGRpdiBjbGFzcz0ibWFpbmJveCI+CiAgICAgICAgPCEtLSB0aGUgaGVhZGluZyBwYXJ0IC0tPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nQ29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZyBoZWFkaW5nMSI+JHt0aGlzLmxhYmVsfHx0aGlzLmhlYWRpbmcxfTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nIGhlYWRpbmcyIj4ke3RoaXMuaGVhZGluZzJ9PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlckFjdGlvbnMiPgogICAgICAgICAgICAke3ZpLnJlc29sdmVFeGVjKGFzeW5jKCk9PntsZXQgSj1bXTtmb3IobGV0IHdlIG9mIHRoaXMuZGF0YUFjdGlvbnMpd2UudHlwZT8uaW5jbHVkZXMoImhlYWRlciIpJiZKLnB1c2god2A8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImhlYWRlckFjdGlvbiIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+e3dlLmFjdGlvbkZ1bmMoe2l0ZW06dGhpcy5zZWxlY3RlZERhdGFSb3csdGFibGU6dGhpc30pfX0KICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICR7d2UuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uU2l6ZT0kezE0fSAuaWNvbj0ke3dlLmljb25OYW1lfT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAke3dlLm5hbWV9YDp3ZS5uYW1lfQogICAgICAgICAgICAgICAgICA8L2Rpdj5gKTtyZXR1cm4gSn0pfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZ1NlcGFyYXRpb24iPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaEdyaWQgaGlkZGVuIj4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7Imx1Y2VuZSBzeW50YXggc2VhcmNoIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7YAogICAgICAgICAgICAgIFlvdSBjYW4gdXNlIHRoZSBsdWNlbmUgc3ludGF4IHRvIHNlYXJjaCBmb3IgZGF0YSwgZS5nLjoKICAgICAgICAgICAgICAKICAgICAgICAgICAgICBcYFxgXGAKICAgICAgICAgICAgICBuYW1lOiAiam9obiIgQU5EIGFnZTogMTgKICAgICAgICAgICAgICBcYFxgXGAKICAgICAgICAgICAgICAKICAgICAgICAgICAgYH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJzZWFyY2ggbW9kZSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJ0YWJsZSIsImRhdGEiLCJzZXJ2ZXIiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7InRhYmxlIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7YAogICAgICAgICAgICAgIFRoZXJlIGFyZSB0aHJlZSBiYXNpYyBtb2RlczoKICAgICAgICAgICAgICAKICAgICAgICAgICAgICAqIHRhYmxlOiBvbmx5IHNlYXJjaGVzIGRhdGEgYWxyZWFkeSBpbiB0aGUgdGFibGUKICAgICAgICAgICAgICAqIGRhdGE6IHNlYXJjaGVzIG9yaWdpbmFsIGRhdGEsIGlnbm9yaW5nIHRhYmxlIHRyYW5zZm9ybXMKICAgICAgICAgICAgICAqIHNlcnZlcjogc2VhcmNoZXMgZGF0YSBvbiB0aGUgc2VydmVyCiAgICAgICAgICAgICAgCiAgICAgICAgICAgIGB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIHRoZSBhY3R1YWwgdGFibGUgLS0+CiAgICAgICAgPHN0eWxlPjwvc3R5bGU+CiAgICAgICAgJHt0aGlzLmRhdGEubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZVNjcm9sbCI+CiAgICAgICAgICAgICAgPHRhYmxlPgogICAgICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgJHt0aGlzLnNlbGVjdGlvbk1vZGUhPT0ibm9uZSI/d2AKICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOjQycHg7IHRleHQtYWxpZ246Y2VudGVyOyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3RoaXMuc2VsZWN0aW9uTW9kZT09PSJtdWx0aSI/d2AKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuYXJlQWxsVmlzaWJsZVNlbGVjdGVkKCl9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5pbmRldGVybWluYXRlPSR7dGhpcy5pc1Zpc2libGVTZWxlY3Rpb25JbmRldGVybWluYXRlKCl9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBuZXdWYWx1ZT0ke0o9PntKLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuc2V0U2VsZWN0VmlzaWJsZShKLmRldGFpbD09PSEwKX19CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGA6d2BgfQogICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIGA6d2BgfQogICAgICAgICAgICAgICAgICAgICR7Z2UuZmlsdGVyKEo9PiFKLmhpZGRlbikubWFwKEo9PntsZXQgd2U9ISFKLnNvcnRhYmxlLE9lPXRoaXMuZ2V0QXJpYVNvcnQoSik7cmV0dXJuIHdgCiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPSJjb2x1bW5oZWFkZXIiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLXNvcnQ9JHtPZX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPSIke3dlPyJjdXJzb3I6IHBvaW50ZXI7IjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+d2U/dGhpcy50b2dnbGVTb3J0KEopOm51bGx9CiAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtKLmhlYWRlcj8/Si5rZXl9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAke3RoaXMucmVuZGVyU29ydEluZGljYXRvcihKKX0KICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPmB9KX0KICAgICAgICAgICAgICAgICAgICAkeygoKT0+e2lmKHRoaXMuZGF0YUFjdGlvbnMmJnRoaXMuZGF0YUFjdGlvbnMubGVuZ3RoPjApcmV0dXJuIHdgIDx0aCBjbGFzcz0iYWN0aW9uc0NvbCI+QWN0aW9uczwvdGg+IGB9KSgpfQogICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgICAke3RoaXMuc2hvd0NvbHVtbkZpbHRlcnM/d2A8dHIgY2xhc3M9ImZpbHRlcnNSb3ciPgogICAgICAgICAgICAgICAgICAgICAgICAke3RoaXMuc2VsZWN0aW9uTW9kZSE9PSJub25lIj93YDx0aCBzdHlsZT0id2lkdGg6NDJweDsiPjwvdGg+YDp3YGB9CiAgICAgICAgICAgICAgICAgICAgICAgICR7Z2UuZmlsdGVyKEo9PiFKLmhpZGRlbikubWFwKEo9PntsZXQgd2U9U3RyaW5nKEoua2V5KTtyZXR1cm4gSi5maWx0ZXJhYmxlPT09ITE/d2A8dGg+PC90aD5gOndgPHRoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkZpbHRlci4uLiIgLnZhbHVlPSR7dGhpcy5jb2x1bW5GaWx0ZXJzW3dlXXx8IiJ9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlucHV0PSR7T2U9PnRoaXMuc2V0Q29sdW1uRmlsdGVyKHdlLE9lLnRhcmdldC52YWx1ZSl9IC8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPmB9KX0KICAgICAgICAgICAgICAgICAgICAgICAgJHsoKCk9PntpZih0aGlzLmRhdGFBY3Rpb25zJiZ0aGlzLmRhdGFBY3Rpb25zLmxlbmd0aD4wKXJldHVybiB3YCA8dGg+PC90aD4gYH0pKCl9CiAgICAgICAgICAgICAgICAgICAgICA8L3RyPmA6d2BgfQogICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgICAgJHt1ZS5tYXAoKEosd2UpPT57bGV0IE9lPWkoRmU9PkZlLnRhZ05hbWU9PT0iVFIiP0ZlOk9lKEZlLnBhcmVudEVsZW1lbnQpLCJnZXRUciIpO3JldHVybiB3YAogICAgICAgICAgICAgICAgICAgICAgPHRyCiAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT57aWYodGhpcy5zZWxlY3RlZERhdGFSb3c9Six0aGlzLnNlbGVjdGlvbk1vZGU9PT0ic2luZ2xlIil7bGV0IEZlPXRoaXMuZ2V0Um93SWQoSik7dGhpcy5zZWxlY3RlZElkcy5jbGVhcigpLHRoaXMuc2VsZWN0ZWRJZHMuYWRkKEZlKSx0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2UoKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX19fQogICAgICAgICAgICAgICAgICAgICAgICBAZHJhZ2VudGVyPSR7YXN5bmMgRmU9PntGZS5wcmV2ZW50RGVmYXVsdCgpLEZlLnN0b3BQcm9wYWdhdGlvbigpO2xldCBKdD1PZShGZS50YXJnZXQpO3NldFRpbWVvdXQoKCk9PntKdC5jbGFzc0xpc3QuYWRkKCJoYXNBdHRhY2htZW50Iil9LDApfX0KICAgICAgICAgICAgICAgICAgICAgICAgQGRyYWdsZWF2ZT0ke2FzeW5jIEZlPT57RmUucHJldmVudERlZmF1bHQoKSxGZS5zdG9wUHJvcGFnYXRpb24oKSxPZShGZS50YXJnZXQpLmNsYXNzTGlzdC5yZW1vdmUoImhhc0F0dGFjaG1lbnQiKX19CiAgICAgICAgICAgICAgICAgICAgICAgIEBkcmFnb3Zlcj0ke2FzeW5jIEZlPT57RmUucHJldmVudERlZmF1bHQoKX19CiAgICAgICAgICAgICAgICAgICAgICAgIEBkcm9wPSR7YXN5bmMgRmU9PntGZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBKdD1bXTtmb3IobGV0IG8xIG9mIEFycmF5LmZyb20oRmUuZGF0YVRyYW5zZmVyLmZpbGVzKSl0aGlzLmZpbGVzLnB1c2gobzEpLEp0LnB1c2gobzEpLHRoaXMucmVxdWVzdFVwZGF0ZSgpO2xldCBsYT10aGlzLmZpbGVXZWFrTWFwLmdldChKKTtsYT9sYS5wdXNoKC4uLkp0KTp0aGlzLmZpbGVXZWFrTWFwLnNldChKLEp0KX19CiAgICAgICAgICAgICAgICAgICAgICAgIEBjb250ZXh0bWVudT0ke2FzeW5jIEZlPT57TnQub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoRmUsdGhpcy5nZXRBY3Rpb25zRm9yVHlwZSgiY29udGV4dG1lbnUiKS5tYXAoSnQ9Pih7bmFtZTpKdC5uYW1lLGljb25OYW1lOkp0Lmljb25OYW1lLGFjdGlvbjppKGFzeW5jKCk9Pihhd2FpdCBKdC5hY3Rpb25GdW5jKHtpdGVtOkosdGFibGU6dGhpc30pLG51bGwpLCJhY3Rpb24iKX0pKSl9fQogICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iJHtKPT09dGhpcy5zZWxlY3RlZERhdGFSb3c/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICR7dGhpcy5zZWxlY3Rpb25Nb2RlIT09Im5vbmUiP3dgPHRkIHN0eWxlPSJ3aWR0aDo0MnB4OyB0ZXh0LWFsaWduOmNlbnRlcjsiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuaXNSb3dTZWxlY3RlZChKKX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbmV3VmFsdWU9JHtGZT0+e0ZlLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuc2V0Um93U2VsZWN0ZWQoSixGZS5kZXRhaWw9PT0hMCl9fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5gOndgYH0KICAgICAgICAgICAgICAgICAgICAgICAgJHtnZS5maWx0ZXIoRmU9PiFGZS5oaWRkZW4pLm1hcCgoRmUsSnQpPT57bGV0IGxhPVo4KEosRmUsdGhpcy5kaXNwbGF5RnVuY3Rpb24pLG8xPUZlLnJlbmRlcmVyP0ZlLnJlbmRlcmVyKGxhLEose3Jvd0luZGV4OndlLGNvbEluZGV4Okp0LGNvbHVtbjpGZX0pOmxhLGlzPVN0cmluZyhGZS5rZXkpO3JldHVybiB3YAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZGJsY2xpY2s9JHtGMj0+e2xldCBPMj10aGlzLmRhdGFBY3Rpb25zLmZpbmQoR3M9PkdzLnR5cGU/LmluY2x1ZGVzKCJkb3VibGVDbGljayIpKTt0aGlzLmVkaXRhYmxlRmllbGRzLmluY2x1ZGVzKGlzKT90aGlzLmhhbmRsZUNlbGxFZGl0aW5nKEYyLEosaXMpOk8yJiZPMi5hY3Rpb25GdW5jKHtpdGVtOkosdGFibGU6dGhpc30pfX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImlubmVyQ2VsbENvbnRhaW5lciI+JHtvMX08L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9KX0KICAgICAgICAgICAgICAgICAgICAgICAgJHsoKCk9PntpZih0aGlzLmRhdGFBY3Rpb25zJiZ0aGlzLmRhdGFBY3Rpb25zLmxlbmd0aD4wKXJldHVybiB3YAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9ImFjdGlvbnNDb2wiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnNDb250YWluZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHt0aGlzLmdldEFjdGlvbnNGb3JUeXBlKCJpblJvdyIpLm1hcChGZT0+d2AKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYWN0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PkZlLmFjdGlvbkZ1bmMoe2l0ZW06Six0YWJsZTp0aGlzfSl9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtGZS5pY29uTmFtZT93YCA8ZGVlcy1pY29uIC5pY29uPSR7RmUuaWNvbk5hbWV9PjwvZGVlcy1pY29uPiBgOkZlLm5hbWV9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgYH0pKCl9CiAgICAgICAgICAgICAgICAgICAgICA8L3RyPmB9KX0KICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDp3YCA8ZGl2IGNsYXNzPSJub0RhdGFTZXQiPk5vIGRhdGEgc2V0ITwvZGl2PiBgfQogICAgICAgIDxkaXYgY2xhc3M9ImZvb3RlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZVN0YXRpc3RpY3MiPgogICAgICAgICAgICAke3RoaXMuZGF0YS5sZW5ndGh9ICR7dGhpcy5kYXRhTmFtZXx8ImRhdGEgcm93cyJ9ICh0b3RhbCkgfAogICAgICAgICAgICAke3RoaXMuc2VsZWN0ZWREYXRhUm93P2AjICR7dGhpcy5kYXRhLmluZGV4T2YodGhpcy5zZWxlY3RlZERhdGFSb3cpKzF9YDoiTm8ifQogICAgICAgICAgICBzZWxlY3RlZAogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXJBY3Rpb25zIj4KICAgICAgICAgICAgJHt2aS5yZXNvbHZlRXhlYyhhc3luYygpPT57bGV0IEo9W107Zm9yKGxldCB3ZSBvZiB0aGlzLmRhdGFBY3Rpb25zKXdlLnR5cGU/LmluY2x1ZGVzKCJmb290ZXIiKSYmSi5wdXNoKHdgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJmb290ZXJBY3Rpb24iCiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9Pnt3ZS5hY3Rpb25GdW5jKHtpdGVtOnRoaXMuc2VsZWN0ZWREYXRhUm93LHRhYmxlOnRoaXN9KX19CiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAke3dlLmljb25OYW1lP3dgPGRlZXMtaWNvbiAuaWNvblNpemU9JHsxNH0gLmljb249JHt3ZS5pY29uTmFtZX0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgJHt3ZS5uYW1lfWA6d2UubmFtZX0KICAgICAgICAgICAgICAgICAgPC9kaXY+YCk7cmV0dXJuIEp9KX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7fWFzeW5jIHVwZGF0ZWQoTGUpe3N1cGVyLnVwZGF0ZWQoTGUpLHRoaXMuZGV0ZXJtaW5lQ29sdW1uV2lkdGhzKCksdGhpcy5zZWFyY2hhYmxlJiYodGhpcy5kYXRhQWN0aW9ucy5maW5kKEJlPT5CZS50eXBlPy5pbmNsdWRlcygiaGVhZGVyIikmJkJlLm5hbWU9PT0iU2VhcmNoIil8fCh0aGlzLmRhdGFBY3Rpb25zLnVuc2hpZnQoe25hbWU6IlNlYXJjaCIsaWNvbk5hbWU6Imx1Y2lkZTpTZWFyY2giLHR5cGU6WyJoZWFkZXIiXSxhY3Rpb25GdW5jOmkoYXN5bmMoKT0+e2NvbnNvbGUubG9nKCJvcGVuIHNlYXJjaCIpLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc2VhcmNoR3JpZCIpLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIpfSwiYWN0aW9uRnVuYyIpfSksY29uc29sZS5sb2codGhpcy5kYXRhQWN0aW9ucyksdGhpcy5yZXF1ZXN0VXBkYXRlKCkpLHRoaXMud2lyZVNlYXJjaElucHV0cygpKX1fX2RlYm91bmNlVGltZXI7ZGVib3VuY2VSdW4oTGUsZ2U9MjAwKXt0aGlzLl9fZGVib3VuY2VUaW1lciYmY2xlYXJUaW1lb3V0KHRoaXMuX19kZWJvdW5jZVRpbWVyKSx0aGlzLl9fZGVib3VuY2VUaW1lcj1zZXRUaW1lb3V0KExlLGdlKX13aXJlU2VhcmNoSW5wdXRzKCl7bGV0IExlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnNlYXJjaEdyaWQgZGVlcy1pbnB1dC10ZXh0IiksZ2U9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuc2VhcmNoR3JpZCBkZWVzLWlucHV0LW11bHRpdG9nZ2xlIik7TGUmJiF0aGlzLl9fc2VhcmNoVGV4dFN1YiYmKHRoaXMuX19zZWFyY2hUZXh0U3ViPUxlLmNoYW5nZVN1YmplY3Quc3Vic2NyaWJlKEJlPT57bGV0IHVlPUJlPy52YWx1ZT8/IiI7dGhpcy5kZWJvdW5jZVJ1bigoKT0+e3RoaXMuc2VhcmNoTW9kZT09PSJzZXJ2ZXIiP3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlYXJjaFJlcXVlc3QiLHtkZXRhaWw6e3F1ZXJ5OnVlLG1vZGU6InNlcnZlciJ9LGJ1YmJsZXM6ITB9KSk6dGhpcy5zZXRGaWx0ZXJUZXh0KHVlKX0pfSkpLGdlJiYhdGhpcy5fX3NlYXJjaE1vZGVTdWImJih0aGlzLl9fc2VhcmNoTW9kZVN1Yj1nZS5jaGFuZ2VTdWJqZWN0LnN1YnNjcmliZShCZT0+e2xldCB1ZT1CZT8uc2VsZWN0ZWRPcHRpb258fEJlPy52YWx1ZXx8InRhYmxlIjtpZih1ZT09PSJ0YWJsZSJ8fHVlPT09ImRhdGEifHx1ZT09PSJzZXJ2ZXIiKXt0aGlzLnNlYXJjaE1vZGU9dWU7bGV0IEo9TGU/LnZhbHVlPz8iIjt0aGlzLmRlYm91bmNlUnVuKCgpPT57dGhpcy5zZWFyY2hNb2RlPT09InNlcnZlciI/dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VhcmNoUmVxdWVzdCIse2RldGFpbDp7cXVlcnk6Sixtb2RlOiJzZXJ2ZXIifSxidWJibGVzOiEwfSkpOnRoaXMuc2V0RmlsdGVyVGV4dChKKX0pfX0pKX1hc3luYyBkZXRlcm1pbmVDb2x1bW5XaWR0aHMoKXthd2FpdChhd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSkuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigwKTtsZXQgZ2U9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoInRhYmxlIik7aWYoIWdlKXJldHVybjtsZXQgQmU9Z2Uucm93c1swXS5jZWxscyx1ZT1pKGFzeW5jKEosd2U9ITEpPT57bGV0IE9lPUplLmRlZmVyKCksRmU9QmVbSl0sSnQ9d2luZG93LmdldENvbXB1dGVkU3R5bGUoRmUpLndpZHRoO2lmKEZlLnRleHRDb250ZW50LmluY2x1ZGVzKCJBY3Rpb25zIikpe2xldCBsYT10aGlzLmRhdGFBY3Rpb25zLmZpbHRlcihvMT0+bzEudHlwZT8uaW5jbHVkZXMoImluUm93IikpLmxlbmd0aCozNjtGZS5zdHlsZS53aWR0aD1gJHtNYXRoLm1heChsYSw2OCl9cHhgfWVsc2UgRmUuc3R5bGUud2lkdGg9SnQ7d2UmJihyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntPZS5yZXNvbHZlKCl9KSxhd2FpdCBPZS5wcm9taXNlKX0sImhhbmRsZUNvbHVtbkJ5SW5kZXgiKTtCZVtCZS5sZW5ndGgtMV0udGV4dENvbnRlbnQuaW5jbHVkZXMoIkFjdGlvbnMiKSYmYXdhaXQgdWUoQmUubGVuZ3RoLTEsITApO2ZvcihsZXQgSj0wO0o8QmUubGVuZ3RoO0orKylCZVtKXS50ZXh0Q29udGVudC5pbmNsdWRlcygiQWN0aW9ucyIpfHxhd2FpdCB1ZShKKTtnZS5zdHlsZS50YWJsZUxheW91dD0iZml4ZWQifXRvZ2dsZVNvcnQoTGUpe2xldCBnZT1TdHJpbmcoTGUua2V5KTt0aGlzLnNvcnRLZXkhPT1nZT8odGhpcy5zb3J0S2V5PWdlLHRoaXMuc29ydERpcj0iYXNjIik6dGhpcy5zb3J0RGlyPT09ImFzYyI/dGhpcy5zb3J0RGlyPSJkZXNjIjp0aGlzLnNvcnREaXI9PT0iZGVzYyI/KHRoaXMuc29ydERpcj1udWxsLHRoaXMuc29ydEtleT12b2lkIDApOnRoaXMuc29ydERpcj0iYXNjIix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzb3J0Q2hhbmdlIix7ZGV0YWlsOntrZXk6dGhpcy5zb3J0S2V5LGRpcjp0aGlzLnNvcnREaXJ9LGJ1YmJsZXM6ITB9KSksdGhpcy5yZXF1ZXN0VXBkYXRlKCl9Z2V0QXJpYVNvcnQoTGUpe3JldHVybiBTdHJpbmcoTGUua2V5KSE9PXRoaXMuc29ydEtleXx8IXRoaXMuc29ydERpcj8ibm9uZSI6dGhpcy5zb3J0RGlyPT09ImFzYyI/ImFzY2VuZGluZyI6ImRlc2NlbmRpbmcifXJlbmRlclNvcnRJbmRpY2F0b3IoTGUpe3JldHVybiBTdHJpbmcoTGUua2V5KSE9PXRoaXMuc29ydEtleXx8IXRoaXMuc29ydERpcj93YGA6d2A8c3BhbiBzdHlsZT0ibWFyZ2luLWxlZnQ6NnB4OyBvcGFjaXR5OjAuNzsiPiR7dGhpcy5zb3J0RGlyPT09ImFzYyI/Ilx1MjVCMiI6Ilx1MjVCQyJ9PC9zcGFuPmB9c2V0RmlsdGVyVGV4dChMZSl7bGV0IGdlPXRoaXMuZmlsdGVyVGV4dDt0aGlzLmZpbHRlclRleHQ9TGU/PyIiLGdlIT09dGhpcy5maWx0ZXJUZXh0JiYodGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZmlsdGVyQ2hhbmdlIix7ZGV0YWlsOnt0ZXh0OnRoaXMuZmlsdGVyVGV4dCxjb2x1bW5zOnsuLi50aGlzLmNvbHVtbkZpbHRlcnN9fSxidWJibGVzOiEwfSkpLHRoaXMucmVxdWVzdFVwZGF0ZSgpKX1zZXRDb2x1bW5GaWx0ZXIoTGUsZ2Upe3RoaXMuY29sdW1uRmlsdGVycz17Li4udGhpcy5jb2x1bW5GaWx0ZXJzLFtMZV06Z2V9LHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZpbHRlckNoYW5nZSIse2RldGFpbDp7dGV4dDp0aGlzLmZpbHRlclRleHQsY29sdW1uczp7Li4udGhpcy5jb2x1bW5GaWx0ZXJzfX0sYnViYmxlczohMH0pKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1nZXRSb3dJZChMZSl7aWYodGhpcy5yb3dLZXkpcmV0dXJuIHR5cGVvZiB0aGlzLnJvd0tleT09ImZ1bmN0aW9uIj90aGlzLnJvd0tleShMZSk6U3RyaW5nKExlW3RoaXMucm93S2V5XSk7bGV0IGdlPUxlO3JldHVybiB0aGlzLl9yb3dJZE1hcC5oYXMoZ2UpfHx0aGlzLl9yb3dJZE1hcC5zZXQoZ2UsU3RyaW5nKCsrdGhpcy5fcm93SWRDb3VudGVyKSksdGhpcy5fcm93SWRNYXAuZ2V0KGdlKX1pc1Jvd1NlbGVjdGVkKExlKXtyZXR1cm4gdGhpcy5zZWxlY3RlZElkcy5oYXModGhpcy5nZXRSb3dJZChMZSkpfXRvZ2dsZVJvd1NlbGVjdGVkKExlKXtsZXQgZ2U9dGhpcy5nZXRSb3dJZChMZSk7dGhpcy5zZWxlY3Rpb25Nb2RlPT09InNpbmdsZSI/KHRoaXMuc2VsZWN0ZWRJZHMuY2xlYXIoKSx0aGlzLnNlbGVjdGVkSWRzLmFkZChnZSkpOnRoaXMuc2VsZWN0aW9uTW9kZT09PSJtdWx0aSImJih0aGlzLnNlbGVjdGVkSWRzLmhhcyhnZSk/dGhpcy5zZWxlY3RlZElkcy5kZWxldGUoZ2UpOnRoaXMuc2VsZWN0ZWRJZHMuYWRkKGdlKSksdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCl9c2V0Um93U2VsZWN0ZWQoTGUsZ2Upe2xldCBCZT10aGlzLmdldFJvd0lkKExlKTt0aGlzLnNlbGVjdGlvbk1vZGU9PT0ic2luZ2xlIj8odGhpcy5zZWxlY3RlZElkcy5jbGVhcigpLGdlJiZ0aGlzLnNlbGVjdGVkSWRzLmFkZChCZSkpOnRoaXMuc2VsZWN0aW9uTW9kZT09PSJtdWx0aSImJihnZT90aGlzLnNlbGVjdGVkSWRzLmFkZChCZSk6dGhpcy5zZWxlY3RlZElkcy5kZWxldGUoQmUpKSx0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2UoKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1hcmVBbGxWaXNpYmxlU2VsZWN0ZWQoKXtsZXQgTGU9dGhpcy5fbGFzdFZpZXdEYXRhfHxbXTtpZihMZS5sZW5ndGg9PT0wKXJldHVybiExO2ZvcihsZXQgZ2Ugb2YgTGUpaWYoIXRoaXMuc2VsZWN0ZWRJZHMuaGFzKHRoaXMuZ2V0Um93SWQoZ2UpKSlyZXR1cm4hMTtyZXR1cm4hMH1pc1Zpc2libGVTZWxlY3Rpb25JbmRldGVybWluYXRlKCl7bGV0IExlPXRoaXMuX2xhc3RWaWV3RGF0YXx8W107aWYoTGUubGVuZ3RoPT09MClyZXR1cm4hMTtsZXQgZ2U9MDtmb3IobGV0IEJlIG9mIExlKXRoaXMuc2VsZWN0ZWRJZHMuaGFzKHRoaXMuZ2V0Um93SWQoQmUpKSYmZ2UrKztyZXR1cm4gZ2U+MCYmZ2U8TGUubGVuZ3RofXNldFNlbGVjdFZpc2libGUoTGUpe2xldCBnZT10aGlzLl9sYXN0Vmlld0RhdGF8fFtdO2lmKExlKWZvcihsZXQgQmUgb2YgZ2UpdGhpcy5zZWxlY3RlZElkcy5hZGQodGhpcy5nZXRSb3dJZChCZSkpO2Vsc2UgZm9yKGxldCBCZSBvZiBnZSl0aGlzLnNlbGVjdGVkSWRzLmRlbGV0ZSh0aGlzLmdldFJvd0lkKEJlKSk7dGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCl9ZW1pdFNlbGVjdGlvbkNoYW5nZSgpe2xldCBMZT1BcnJheS5mcm9tKHRoaXMuc2VsZWN0ZWRJZHMpLGdlPXRoaXMuZGF0YS5maWx0ZXIoQmU9PnRoaXMuc2VsZWN0ZWRJZHMuaGFzKHRoaXMuZ2V0Um93SWQoQmUpKSk7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VsZWN0aW9uQ2hhbmdlIix7ZGV0YWlsOntzZWxlY3RlZElkczpMZSxzZWxlY3RlZFJvd3M6Z2V9LGJ1YmJsZXM6ITB9KSl9Z2V0QWN0aW9uc0ZvclR5cGUoTGUpe2xldCBnZT1bXTtmb3IobGV0IEJlIG9mIHRoaXMuZGF0YUFjdGlvbnMpQmUudHlwZT8uaW5jbHVkZXMoTGUpJiZnZS5wdXNoKEJlKTtyZXR1cm4gZ2V9YXN5bmMgaGFuZGxlQ2VsbEVkaXRpbmcoTGUsZ2UsQmUpe2F3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO2xldCB1ZT1MZS50YXJnZXQsSj11ZS5zdHlsZS5jb2xvcjt1ZS5zdHlsZS5jb2xvcj0idHJhbnNwYXJlbnQiO2xldCBPZT10aGlzLmRpc3BsYXlGdW5jdGlvbihnZSlbQmVdPz9nZVtCZV0/PyIiLEZlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7RmUudHlwZT0idGV4dCIsRmUudmFsdWU9T2U7bGV0IEp0PWkoYXN5bmMobGE9ITAsbzE9ITEpPT57bGEmJkZlLmJsdXIoKSxvMSYmKGdlW0JlXT1GZS52YWx1ZSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSksRmUucmVtb3ZlKCksdWUuc3R5bGUuY29sb3I9Six0aGlzLnJlcXVlc3RVcGRhdGUoKX0sImJsdXJJbnB1dCIpO0ZlLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57SnQoITEsITEpfSksRmUuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbGE9PntsYS5rZXk9PT0iRW50ZXIiJiZKdCghMCwhMCl9KSx1ZS5hcHBlbmRDaGlsZChGZSksRmUuZm9jdXMoKX1zdGF0aWN7bnQocixhKX19O3JldHVybiBOZT1yfSkoKX0pO3ZhciBaT2U9YygoKT0+e0dPZSgpfSk7dmFyIFFadCxKWnQ9YygoKT0+e3BlKCk7UmEoKTtRWnQ9aSgoKT0+d2AKICA8c3R5bGU+CiAgICAke1hgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5mb3JtLW91dHB1dCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICB9CiAgICAgIAogICAgICAuc3RhdHVzLW1lc3NhZ2UgewogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CiAgICAgIAogICAgICAuc3RhdHVzLW1lc3NhZ2Uuc3VjY2VzcyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUgLyAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDE0Mi4xIDcwLjYlIDM1LjMlKSIsImhzbCgxNDIuMSA3MC42JSA2NS4zJSkiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5zdGF0dXMtbWVzc2FnZS5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4xKSIsImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDcyLjIlIDQwLjYlKSIsImhzbCgwIDcyLjIlIDYwLjYlKSIpfTsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9PntsZXQgZT10LnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpLGE9dC5xdWVyeVNlbGVjdG9yKCIuZm9ybS1vdXRwdXQiKTtlJiZhJiYoZS5hZGRFdmVudExpc3RlbmVyKCJmb3JtRGF0YSIsYXN5bmMgcz0+e2xldCBuPXMuZGV0YWlsLmRhdGE7Y29uc29sZS5sb2coIkZvcm0gc3VibWl0dGVkIHdpdGggZGF0YToiLG4pLGUuc2V0U3RhdHVzKCJwZW5kaW5nIiwiUHJvY2Vzc2luZyB5b3VyIHJlZ2lzdHJhdGlvbi4uLiIpLGEuaW5uZXJIVE1MPWA8c3Ryb25nPlN1Ym1pdHRlZCBEYXRhOjwvc3Ryb25nPgoke0pTT04uc3RyaW5naWZ5KG4sbnVsbCwyKX1gLGF3YWl0IHZ0LnBsdWdpbnMuc21hcnRkZWxheS5kZWxheUZvcigyZTMpLGUuc2V0U3RhdHVzKCJzdWNjZXNzIiwiUmVnaXN0cmF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkhIiksYXdhaXQgdnQucGx1Z2lucy5zbWFydGRlbGF5LmRlbGF5Rm9yKDJlMyksZS5yZXNldCgpLGEuaW5uZXJIVE1MPSI8ZW0+Rm9ybSBoYXMgYmVlbiByZXNldDwvZW0+In0pLGUucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC10ZXh0LCBkZWVzLWlucHV0LWRyb3Bkb3duLCBkZWVzLWlucHV0LWNoZWNrYm94IikuZm9yRWFjaChzPT57cy5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2VTdWJqZWN0IiwoKT0+e2NvbnNvbGUubG9nKCJGaWVsZCBjaGFuZ2VkOiIscy5nZXRBdHRyaWJ1dGUoImtleSIpKX0pfSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC5oZWFkaW5nPSJDb21wbGV0ZSBGb3JtIEV4YW1wbGUiIC5kZXNjcmlwdGlvbj0iQSBjb21wcmVoZW5zaXZlIGZvcm0gd2l0aCB2YXJpb3VzIGlucHV0IHR5cGVzLCB2YWxpZGF0aW9uLCBhbmQgZm9ybSBzdWJtaXNzaW9uIGhhbmRsaW5nIj4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAKICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9IAogICAgICAgICAgICBrZXk9ImZpcnN0TmFtZSIgCiAgICAgICAgICAgIGxhYmVsPSJGaXJzdCBOYW1lIgogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiWW91ciBnaXZlbiBuYW1lIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAKICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9IAogICAgICAgICAgICBrZXk9Imxhc3ROYW1lIiAKICAgICAgICAgICAgbGFiZWw9Ikxhc3QgTmFtZSIKICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAKICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9IAogICAgICAgICAgICBrZXk9ImVtYWlsIiAKICAgICAgICAgICAgbGFiZWw9IkVtYWlsIEFkZHJlc3MiCiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJXZSB3aWxsIHVzZSB0aGlzIHRvIGNvbnRhY3QgeW91In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIGtleT0iY291bnRyeSIKICAgICAgICAgICAgLmxhYmVsPSR7IkNvdW50cnkifQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJVbml0ZWQgU3RhdGVzIixrZXk6InVzIn0se29wdGlvbjoiQ2FuYWRhIixrZXk6ImNhIn0se29wdGlvbjoiR2VybWFueSIsa2V5OiJkZSJ9LHtvcHRpb246IkZyYW5jZSIsa2V5OiJmciJ9LHtvcHRpb246IlVuaXRlZCBLaW5nZG9tIixrZXk6InVrIn1dfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAga2V5PSJwYXNzd29yZCIKICAgICAgICAgICAgbGFiZWw9IlBhc3N3b3JkIgogICAgICAgICAgICBpc1Bhc3N3b3JkQm9vbAogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiTWluaW11bSA4IGNoYXJhY3RlcnMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAga2V5PSJ0ZXJtcyIKICAgICAgICAgICAgbGFiZWw9IkkgYWdyZWUgdG8gdGhlIFRlcm1zIGFuZCBDb25kaXRpb25zIgogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAga2V5PSJuZXdzbGV0dGVyIgogICAgICAgICAgICBsYWJlbD0iU2VuZCBtZSBwcm9tb3Rpb25hbCBlbWFpbHMiCiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+Q3JlYXRlIEFjY291bnQ8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1vdXRwdXQiPgogICAgICAgICAgPGVtPlN1Ym1pdCB0aGUgZm9ybSB0byBzZWUgdGhlIGNvbGxlY3RlZCBkYXRhLi4uPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57bGV0IGU9dC5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKTtlJiYoY29uc29sZS5sb2coIkhvcml6b250YWwgZm9ybSBsYXlvdXQgYWN0aXZlIiksZS5hZGRFdmVudExpc3RlbmVyKCJmb3JtRGF0YSIscj0+e2xldCBzPXIuZGV0YWlsLmRhdGE7Y29uc29sZS5sb2coIkZpbHRlciBhcHBsaWVkOiIscyk7bGV0IG49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMTtjb25zb2xlLmxvZyhgRm91bmQgJHtufSByZXN1bHRzIHdpdGggZmlsdGVyczpgLHMpfSksZS5xdWVyeVNlbGVjdG9yQWxsKCJba2V5XSIpLmZvckVhY2gocj0+e3IuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlU3ViamVjdCIsYXN5bmMoKT0+e2xldCBzPWF3YWl0IGUuY29sbGVjdEZvcm1EYXRhKCk7Y29uc29sZS5sb2coIkxpdmUgZmlsdGVyIHVwZGF0ZToiLHMpfSl9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLmhlYWRpbmc9Ikhvcml6b250YWwgRm9ybSBMYXlvdXQiIC5kZXNjcmlwdGlvbj0iQ29tcGFjdCBmb3JtIHdpdGggaW5wdXRzIGFycmFuZ2VkIGhvcml6b250YWxseSAtIHBlcmZlY3QgZm9yIGZpbHRlcnMgYW5kIHF1aWNrIGZvcm1zIj4KICAgICAgICA8ZGVlcy1mb3JtIGhvcml6b250YWwtbGF5b3V0PgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAKICAgICAgICAgICAga2V5PSJzZWFyY2giIAogICAgICAgICAgICBsYWJlbD0iU2VhcmNoIgogICAgICAgICAgICBwbGFjZWhvbGRlcj0iRW50ZXIga2V5d29yZHMuLi4iCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgIGtleT0iY2F0ZWdvcnkiCiAgICAgICAgICAgIC5sYWJlbD0keyJDYXRlZ29yeSJ9CiAgICAgICAgICAgIC5lbmFibGVTZWFyY2g9JHshMX0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiQWxsIixrZXk6ImFsbCJ9LHtvcHRpb246IlByb2R1Y3RzIixrZXk6InByb2R1Y3RzIn0se29wdGlvbjoiU2VydmljZXMiLGtleToic2VydmljZXMifSx7b3B0aW9uOiJTdXBwb3J0IixrZXk6InN1cHBvcnQifV19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICBrZXk9InNvcnQiCiAgICAgICAgICAgIC5sYWJlbD0keyJTb3J0IEJ5In0KICAgICAgICAgICAgLmVuYWJsZVNlYXJjaD0keyExfQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJOZXdlc3QiLGtleToibmV3ZXN0In0se29wdGlvbjoiUG9wdWxhciIsa2V5OiJwb3B1bGFyIn0se29wdGlvbjoiUHJpY2U6IExvdyB0byBIaWdoIixrZXk6InByaWNlX2FzYyJ9LHtvcHRpb246IlByaWNlOiBIaWdoIHRvIExvdyIsa2V5OiJwcmljZV9kZXNjIn1dfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAga2V5PSJpblN0b2NrIgogICAgICAgICAgICBsYWJlbD0iSW4gU3RvY2sgT25seSIKICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9PntsZXQgZT10LnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpLGE9dC5xdWVyeVNlbGVjdG9yKCIjc3RhdHVzLWRpc3BsYXkiKTtpZihlKXtlLmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIixhc3luYyBzPT57bGV0IG49cy5kZXRhaWwuZGF0YTtjb25zb2xlLmxvZygiQWR2YW5jZWQgZm9ybSBkYXRhOiIsbiksZS5zZXRTdGF0dXMoInBlbmRpbmciLCJWYWxpZGF0aW5nIHlvdXIgaW5mb3JtYXRpb24uLi4iKSxhd2FpdCB2dC5wbHVnaW5zLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMTUwMCksbi5pYmFuJiZuLmliYW4ubGVuZ3RoPjE1PyhlLnNldFN0YXR1cygic3VjY2VzcyIsIkFwcGxpY2F0aW9uIHN1Ym1pdHRlZCBzdWNjZXNzZnVsbHkhIiksYSYmKGEuY2xhc3NOYW1lPSJzdGF0dXMtbWVzc2FnZSBzdWNjZXNzIixhLnRleHRDb250ZW50PSJcdTI3MTMgWW91ciBhcHBsaWNhdGlvbiBoYXMgYmVlbiBzdWJtaXR0ZWQuIFdlIHdpbGwgY29udGFjdCB5b3Ugc29vbi4iKSk6KGUuc2V0U3RhdHVzKCJlcnJvciIsIlBsZWFzZSBjaGVjayB5b3VyIElCQU4iKSxhJiYoYS5jbGFzc05hbWU9InN0YXR1cy1tZXNzYWdlIGVycm9yIixhLnRleHRDb250ZW50PSJcdTI3MTcgSW52YWxpZCBJQkFOIGZvcm1hdC4gUGxlYXNlIGNoZWNrIGFuZCB0cnkgYWdhaW4uIikpLGNvbnNvbGUubG9nKCJGb3JtIGRhdGEgbG9nZ2VkOiIsbil9KTtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZmlsZXVwbG9hZCIpO3ImJnIuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixzPT57bGV0IG49cy5kZXRhaWw/LmZpbGVzfHxbXTtjb25zb2xlLmxvZyhgJHtuLmxlbmd0aH0gZmlsZShzKSBzZWxlY3RlZCBmb3IgdXBsb2FkYCl9KX19fT4KICAgICAgPGRlZXMtcGFuZWwgLmhlYWRpbmc9IkFkdmFuY2VkIEZvcm0gRmVhdHVyZXMiIC5kZXNjcmlwdGlvbj0iRm9ybSB3aXRoIHNwZWNpYWxpemVkIGlucHV0IHR5cGVzIGFuZCBjb21wbGV4IHZhbGlkYXRpb24iPgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1pYmFuIAogICAgICAgICAgICBrZXk9ImliYW4iCiAgICAgICAgICAgIGxhYmVsPSJJQkFOIgogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtaWJhbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUKICAgICAgICAgICAga2V5PSJwaG9uZSIKICAgICAgICAgICAgbGFiZWw9IlBob25lIE51bWJlciIKICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXBob25lPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgICBrZXk9InByZWZlcmVuY2VzIgogICAgICAgICAgICAubGFiZWw9JHsiTm90aWZpY2F0aW9uIFByZWZlcmVuY2VzIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkVtYWlsIiwiU01TIiwiUHVzaCIsIkluLUFwcCJdfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiRW1haWwifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGlzZWxlY3QKICAgICAgICAgICAga2V5PSJpbnRlcmVzdHMiCiAgICAgICAgICAgIC5sYWJlbD0keyJBcmVhcyBvZiBJbnRlcmVzdCJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IlRlY2hub2xvZ3kiLGtleToidGVjaCJ9LHtvcHRpb246IkRlc2lnbiIsa2V5OiJkZXNpZ24ifSx7b3B0aW9uOiJCdXNpbmVzcyIsa2V5OiJidXNpbmVzcyJ9LHtvcHRpb246Ik1hcmtldGluZyIsa2V5OiJtYXJrZXRpbmcifSx7b3B0aW9uOiJTYWxlcyIsa2V5OiJzYWxlcyJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGlzZWxlY3Q+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWZpbGV1cGxvYWQKICAgICAgICAgICAga2V5PSJkb2N1bWVudHMiCiAgICAgICAgICAgIC5sYWJlbD0keyJVcGxvYWQgRG9jdW1lbnRzIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlBERiwgRE9DLCBvciBET0NYIGZpbGVzIHVwIHRvIDEwTUIifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1maWxldXBsb2FkPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdD5TdWJtaXQgQXBwbGljYXRpb248L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgCiAgICAgICAgPGRpdiBpZD0ic3RhdHVzLWRpc3BsYXkiPjwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgZVh0LFhPZSx0WHQsYVh0LFU4PWMoKCk9PntwZSgpO0l0KCk7bVooKTttT2UoKTtiT2UoKTtjbCgpO3lPZSgpO2taKCk7Q1ooKTtNT2UoKTtfT2UoKTtUT2UoKTtMT2UoKTtET2UoKTtQT2UoKTtFT2UoKTtJT2UoKTtxWigpO1ZaKCk7YzYoKTtaT2UoKTtKWnQoKTtlWHQ9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LFhPZT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sdFh0PVtoWix2Wix4WixTWixfWiwkWixEWixQWix3WixNWix5WixFWixJWixOWixSWixnQixqWixXWl0sYVh0PSgoKT0+e2xldCB0PVthZSgiZGVlcy1mb3JtIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W107dmFyIGg9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNGb3JtIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IHU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITAsYXR0cmlidXRlOiJob3Jpem9udGFsLWxheW91dCJ9KV0sZVh0KHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaG9yaXpvbnRhbExheW91dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmPT4iaG9yaXpvbnRhbExheW91dCJpbiBmLCJoYXMiKSxnZXQ6aShmPT5mLmhvcml6b250YWxMYXlvdXQsImdldCIpLHNldDppKChmLHApPT57Zi5ob3Jpem9udGFsTGF5b3V0PXB9LCJzZXQiKX0sbWV0YWRhdGE6dX0sbyxsKSxlWHQobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6dX0sbnVsbCxhKSxoPXI9ZS52YWx1ZSx1JiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnV9KX1zdGF0aWMgZGVtbz1RWnQ7c3RhdGljIGRlbW9Hcm91cHM9WyJGb3JtIl07bmFtZT0ibXlmb3JtIjtjaGFuZ2VTdWJqZWN0PW5ldyBFdC5zbWFydHJ4LnJ4anMuU3ViamVjdDtyZWFkeURlZmVycmVkPUV0LnNtYXJ0cHJvbWlzZS5kZWZlcigpOyNlPVhPZSh0aGlzLG8sITEpO2dldCBob3Jpem9udGFsTGF5b3V0KCl7cmV0dXJuIHRoaXMuI2V9c2V0IGhvcml6b250YWxMYXlvdXQodSl7dGhpcy4jZT11fXN0YXRpYyBzdHlsZXM9W1hgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICA6aG9zdChbaG9yaXpvbnRhbC1sYXlvdXRdKSB7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHNsb3Q+PC9zbG90PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXtsZXQgdT10aGlzLmdldEZvcm1FbGVtZW50cygpO3RoaXMudXBkYXRlUmVxdWlyZWRTdGF0dXMoKSx0aGlzLnVwZGF0ZUNoaWxkcmVuTGF5b3V0TW9kZSgpO2ZvcihsZXQgZiBvZiB1KWYuY2hhbmdlU3ViamVjdC5zdWJzY3JpYmUoYXN5bmMoKT0+e2xldCBwPWF3YWl0IHRoaXMuY29sbGVjdEZvcm1EYXRhKCk7dGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQocCksY29uc29sZS5sb2cocCksdGhpcy51cGRhdGVSZXF1aXJlZFN0YXR1cygpfSk7YXdhaXQgdGhpcy5hZGRCZWhhdmlvdXJzKCksdGhpcy5yZWFkeURlZmVycmVkLnJlc29sdmUoKX1nZXRGb3JtRWxlbWVudHMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5maWx0ZXIodT0+dFh0LmluY2x1ZGVzKHUuY29uc3RydWN0b3IpKX1nZXRTdWJtaXRCdXR0b24oKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmNoaWxkcmVuKS5maW5kKHU9PnUgaW5zdGFuY2VvZiB6Wil9YXN5bmMgdXBkYXRlUmVxdWlyZWRTdGF0dXMoKXtjb25zb2xlLmxvZygiY2hlY2tpbmcgdGhlIHJlcXVpcmVkIHN0YXR1cy4iKTtsZXQgdT0hMDtmb3IobGV0IGYgb2YgdGhpcy5nZXRGb3JtRWxlbWVudHMoKSlmLnJlcXVpcmVkJiYhZi52YWx1ZSYmKHU9ITEpO3RoaXMuZ2V0U3VibWl0QnV0dG9uKCkmJih0aGlzLmdldFN1Ym1pdEJ1dHRvbigpLmRpc2FibGVkPSF1KX1hc3luYyBjb2xsZWN0Rm9ybURhdGEoKXtsZXQgdT10aGlzLmdldEZvcm1FbGVtZW50cygpLGY9e307Zm9yKGxldCBwIG9mIHUpe2lmKCFwLmtleSl7Y29uc29sZS5sb2coYGZvcm0gZWxlbWVudCB3aXRoIGxhYmVsICIke3AubGFiZWx9IiBoYXMgbm8ga2V5LiBza2lwcGluZy5gKTtjb250aW51ZX1mW3Aua2V5XT1wLnZhbHVlfXJldHVybiBmfWFzeW5jIGdhdGhlckFuZERpc3BhdGNoKCl7bGV0IHU9YXdhaXQgdGhpcy5jb2xsZWN0Rm9ybURhdGEoKSxmPW5ldyBDdXN0b21FdmVudCgiZm9ybURhdGEiLHtkZXRhaWw6e2RhdGE6dX0sYnViYmxlczohMH0pO3RoaXMuZGlzcGF0Y2hFdmVudChmKSxjb25zb2xlLmxvZygiZGlzcGF0Y2hlZCBkYXRhOiIpLGNvbnNvbGUubG9nKHUpfXNldFN0YXR1cyh1LGYpe2xldCBwPXRoaXMuZ2V0Rm9ybUVsZW1lbnRzKCksZz10aGlzLmdldFN1Ym1pdEJ1dHRvbigpO3N3aXRjaCh1KXtjYXNlIm5vcm1hbCI6Zy5kaXNhYmxlZD0hMSxnLnN0YXR1cz0ibm9ybWFsIjtmb3IobGV0IHYgb2YgcCl2LmRpc2FibGVkPSExO2JyZWFrO2Nhc2UicGVuZGluZyI6Zy5kaXNhYmxlZD0hMCxnLnN0YXR1cz0icGVuZGluZyI7Zm9yKGxldCB2IG9mIHApdi5kaXNhYmxlZD0hMDticmVhaztjYXNlInN1Y2Nlc3MiOmcuZGlzYWJsZWQ9ITAsZy5zdGF0dXM9InN1Y2Nlc3MiO2ZvcihsZXQgdiBvZiBwKXYuZGlzYWJsZWQ9ITA7YnJlYWs7Y2FzZSJlcnJvciI6Zy5kaXNhYmxlZD0hMCxnLnN0YXR1cz0iZXJyb3IiO2ZvcihsZXQgdiBvZiBwKXYuZGlzYWJsZWQ9ITA7YnJlYWt9Zy50ZXh0PWZ9cmVzZXQoKXtsZXQgdT10aGlzLmdldEZvcm1FbGVtZW50cygpLGY9dGhpcy5nZXRTdWJtaXRCdXR0b24oKTtmb3IobGV0IHAgb2YgdSlwLnZhbHVlPW51bGw7dGhpcy5zZXRTdGF0dXMoIm5vcm1hbCIsIlN1Ym1pdCIpfWFzeW5jIGFkZEJlaGF2aW91cnMoKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHU9PntsZXQgZj11LnRhcmdldDtpZih0WHQuaW5jbHVkZXMoZi5jb25zdHJ1Y3RvcikmJnUua2V5PT09IkVudGVyIil7bGV0IHA9dGhpcy5nZXRGb3JtRWxlbWVudHMoKSxnPXAuaW5kZXhPZihmKTtnPHAubGVuZ3RoLTE/cFtnKzFdLmZvY3VzKCk6KGYuYmx1cigpLHRoaXMuZ2V0U3VibWl0QnV0dG9uKCk/LmZvY3VzKCkpfX0pfXVwZGF0ZUNoaWxkcmVuTGF5b3V0TW9kZSgpe2xldCB1PXRoaXMuZ2V0Rm9ybUVsZW1lbnRzKCk7Zm9yKGxldCBmIG9mIHUpImxheW91dE1vZGUiaW4gZiYmKGYubGF5b3V0TW9kZT0iYXV0byIpfXVwZGF0ZWQodSl7c3VwZXIudXBkYXRlZCh1KSx1LmhhcygiaG9yaXpvbnRhbExheW91dCIpJiZ0aGlzLnVwZGF0ZUNoaWxkcmVuTGF5b3V0TW9kZSgpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxYT2UodGhpcyxsKX1zdGF0aWN7WE9lKHIsYSl9fTtyZXR1cm4gaD1yfSkoKX0pO3ZhciByWHQsaVh0PWMoKCk9PntwZSgpO1JhKCk7VzEoKTtVOCgpO2M2KCk7Y2woKTtLdCgpO3JYdD1pKCgpPT53YAogIDxzdHlsZT4KICAgICR7WGAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWwgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KICAgICAgCiAgICAgIC52ZXJ0aWNhbC1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1heC13aWR0aDogMzAwcHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5ob3Jpem9udGFsLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tb3V0cHV0IHsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICB9CiAgICAgIAogICAgICAuaWNvbi1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgbWFyZ2luOiA4cHggMDsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtc25pcHBldCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTEuOCUpIil9OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9Pnt0LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaChhPT57YS5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2xldCByPWEuZ2V0QXR0cmlidXRlKCJ0eXBlIil8fCJkZWZhdWx0Ijtjb25zb2xlLmxvZyhgQnV0dG9uIHZhcmlhbnQgY2xpY2tlZDogJHtyfWApfSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMS4gQnV0dG9uIFZhcmlhbnRzIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCB2aXN1YWwgc3R5bGVzIGZvciB2YXJpb3VzIHVzZSBjYXNlcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVmYXVsdCI+RGVmYXVsdDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5Ij5TZWNvbmRhcnk8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlc3RydWN0aXZlIj5EZXN0cnVjdGl2ZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ib3V0bGluZSI+T3V0bGluZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZ2hvc3QiPkdob3N0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJsaW5rIj5MaW5rIEJ1dHRvbjwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e3QucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKGE9PnthLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57bGV0IHI9YS5nZXRBdHRyaWJ1dGUoInNpemUiKXx8ImRlZmF1bHQiO2NvbnNvbGUubG9nKGBCdXR0b24gc2l6ZTogJHtyfWApfSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMi4gQnV0dG9uIFNpemVzIn0gLnN1YnRpdGxlPSR7Ik11bHRpcGxlIHNpemVzIGZvciBkaWZmZXJlbnQgY29udGV4dHMgYW5kIHVzZSBjYXNlcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0ic20iPlNtYWxsIEJ1dHRvbjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iZGVmYXVsdCI+RGVmYXVsdCBTaXplPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJsZyI+TGFyZ2UgQnV0dG9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJvdXRsaW5lIiAudGV4dD0keyJcdXsxRjY4MH0ifT48L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCIgc3R5bGU9Im1hcmdpbi10b3A6IDE2cHg7Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJzbSIgdHlwZT0ic2Vjb25kYXJ5Ij5TbWFsbCBTZWNvbmRhcnk8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9ImRlZmF1bHQiIHR5cGU9ImRlc3RydWN0aXZlIj5EZWZhdWx0IERlc3RydWN0aXZlPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJsZyIgdHlwZT0ib3V0bGluZSI+TGFyZ2UgT3V0bGluZTwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e3QucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKGE9PnthLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57bGV0IHI9YS5xdWVyeVNlbGVjdG9yKCJkZWVzLWljb24iKTtpZihyKXtsZXQgcz1yLmdldEF0dHJpYnV0ZSgiaWNvbkZBIil8fCJ1bmtub3duIjtjb25zb2xlLmxvZyhgSWNvbiBidXR0b24gY2xpY2tlZDogJHtzfWApfX0pfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjMuIEJ1dHRvbnMgd2l0aCBJY29ucyJ9IC5zdWJ0aXRsZT0keyJDb21iaW5pbmcgaWNvbnMgd2l0aCB0ZXh0IGZvciBlbmhhbmNlZCB2aXN1YWwgY29tbXVuaWNhdGlvbiJ9PgogICAgICAgIDxkaXYgY2xhc3M9Imljb24tcm93Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTpwbHVzIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgQWRkIEl0ZW0KICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVzdHJ1Y3RpdmUiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249ImZhOnRyYXNoIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgRGVsZXRlCiAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Im91dGxpbmUiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpEb3dubG9hZCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIERvd25sb2FkCiAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLXJvdyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5IiBzaXplPSJzbSI+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0iZmE6Z2VhciI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIFNldHRpbmdzCiAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0Ij4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTpjYXJldExlZnQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICBCYWNrCiAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0Ij4KICAgICAgICAgICAgTmV4dAogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249ImZhOmNhcmV0UmlnaHQiPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1yb3ciPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9Imljb24iIHR5cGU9ImRlZmF1bHQiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249ImZhOnBsdXMiPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJzZWNvbmRhcnkiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249ImZhOmdlYXIiPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJvdXRsaW5lIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6U2VhcmNoIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0iZ2hvc3QiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpNb3JlVmVydGljYWwiPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJkZXN0cnVjdGl2ZSI+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0iZmE6dHJhc2giPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9Pnt0LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaChhPT57YS5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2xldCByPWEuZ2V0QXR0cmlidXRlKCJpY29uIil8fCJub25lIixzPWEuZ2V0QXR0cmlidXRlKCJpY29uUG9zaXRpb24iKXx8ImxlZnQiO2NvbnNvbGUubG9nKGBJY29uIHByb3BlcnR5IGJ1dHRvbjogaWNvbj0ke3J9LCBwb3NpdGlvbj0ke3N9YCl9KX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI0LiBJY29ucyB2aWEgUHJvcGVydHkifSAuc3VidGl0bGU9JHsiU2ltcGxpZmllZCBpY29uIHN5bnRheCB1c2luZyB0aGUgaWNvbiBwcm9wZXJ0eSJ9PgogICAgICAgIDxkaXYgY2xhc3M9Imljb24tcm93Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBpY29uPSJmYTpwbHVzIj5BZGQgSXRlbTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVzdHJ1Y3RpdmUiIGljb249ImZhOnRyYXNoIj5EZWxldGU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Im91dGxpbmUiIGljb249Imx1Y2lkZTpEb3dubG9hZCI+RG93bmxvYWQ8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLXJvdyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5IiBzaXplPSJzbSIgaWNvbj0iZmE6Z2VhciI+U2V0dGluZ3M8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0IiBpY29uPSJmYTpjYXJldExlZnQiPkJhY2s8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0IiBpY29uPSJmYTpjYXJldFJpZ2h0IiBpY29uUG9zaXRpb249InJpZ2h0Ij5OZXh0PC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1yb3ciPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9Imljb24iIHR5cGU9ImRlZmF1bHQiIGljb249ImZhOnBsdXMiPjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0ic2Vjb25kYXJ5IiBpY29uPSJsdWNpZGU6U2V0dGluZ3MiPjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0ib3V0bGluZSIgaWNvbj0ibHVjaWRlOlNlYXJjaCI+PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJnaG9zdCIgaWNvbj0ibHVjaWRlOk1vcmVWZXJ0aWNhbCI+PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJkZXN0cnVjdGl2ZSIgaWNvbj0iZmE6dHJhc2giPjwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDE2cHg7Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtc25pcHBldCI+CiAgICAgICAgICAgICZsdDtkZWVzLWJ1dHRvbiBpY29uPSJmYTpwbHVzIiZndDtBZGQgSXRlbSZsdDsvZGVlcy1idXR0b24mZ3Q7PGJyPgogICAgICAgICAgICAmbHQ7ZGVlcy1idXR0b24gaWNvbj0iZmE6Y2FyZXRSaWdodCIgaWNvblBvc2l0aW9uPSJyaWdodCImZ3Q7TmV4dCZsdDsvZGVlcy1idXR0b24mZ3Q7CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9PntsZXQgZT10LnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtYnV0dG9uW3N0YXR1cz0icGVuZGluZyJdJyksYT10LnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtYnV0dG9uW3N0YXR1cz0ic3VjY2VzcyJdJykscj10LnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtYnV0dG9uW3N0YXR1cz0iZXJyb3IiXScpO2UmJnNldFRpbWVvdXQoKCk9Pntjb25zb2xlLmxvZygiUGVuZGluZyBidXR0b24gaXMgc2hvd2luZyBsb2FkaW5nIHN0YXRlIil9LDFlMyksYSYmYS5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2NvbnNvbGUubG9nKCJTdWNjZXNzIHN0YXRlIGJ1dHRvbiBjbGlja2VkIil9KSxyJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57Y29uc29sZS5sb2coIkVycm9yIHN0YXRlIGJ1dHRvbiBjbGlja2VkIil9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNS4gQnV0dG9uIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgc3RhdGVzIHRvIGluZGljYXRlIGJ1dHRvbiBzdGF0dXMgYW5kIGxvYWRpbmcgY29uZGl0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc3RhdHVzPSJub3JtYWwiPk5vcm1hbDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc3RhdHVzPSJwZW5kaW5nIj5Qcm9jZXNzaW5nLi4uPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzdGF0dXM9InN1Y2Nlc3MiPlN1Y2Nlc3MhPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzdGF0dXM9ImVycm9yIj5FcnJvciE8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIGRpc2FibGVkPkRpc2FibGVkPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiIHN0eWxlPSJtYXJnaW4tdG9wOiAxNnB4OyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5IiBzdGF0dXM9InBlbmRpbmciIHNpemU9InNtIj5TbWFsbCBMb2FkaW5nPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJvdXRsaW5lIiBzdGF0dXM9InBlbmRpbmciPkRlZmF1bHQgTG9hZGluZzwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVzdHJ1Y3RpdmUiIHN0YXR1cz0icGVuZGluZyIgc2l6ZT0ibGciPkxhcmdlIExvYWRpbmc8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9PntsZXQgZT10LnF1ZXJ5U2VsZWN0b3IoIiNjbGljay1vdXRwdXQiKSxhPXQucXVlcnlTZWxlY3RvcigiZGVlcy1idXR0b246Zmlyc3Qtb2YtdHlwZSIpLHI9dC5xdWVyeVNlbGVjdG9yKCdkZWVzLWJ1dHRvblt0eXBlPSJzZWNvbmRhcnkiXScpLHM9dC5xdWVyeVNlbGVjdG9yKCdkZWVzLWJ1dHRvblt0eXBlPSJkZXN0cnVjdGl2ZSJdJyk7YSYmZSYmYS5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2UudGV4dENvbnRlbnQ9YENsaWNrZWQ6IERlZmF1bHQgYnV0dG9uIGF0ICR7bmV3IERhdGUoKS50b0xvY2FsZVRpbWVTdHJpbmcoKX1gfSksciYmZSYmci5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIixuPT57ZS50ZXh0Q29udGVudD1gQ2xpY2tlZDogU2Vjb25kYXJ5IGJ1dHRvbiB3aXRoIGRhdGE6ICR7bi5kZXRhaWwuZGF0YX1gfSkscyYmZSYmcy5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIixhc3luYygpPT57ZS50ZXh0Q29udGVudD0iUHJvY2Vzc2luZy4uLiIsYXdhaXQgdnQucGx1Z2lucy5zbWFydGRlbGF5LmRlbGF5Rm9yKDJlMyksZS50ZXh0Q29udGVudD0iQWN0aW9uIGNvbXBsZXRlZCEifSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjYuIEV2ZW50IEhhbmRsaW5nIn0gLnN1YnRpdGxlPSR7IkludGVyYWN0aXZlIGV4YW1wbGVzIHdpdGggY2xpY2sgZXZlbnQgaGFuZGxpbmcifT4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGRlZXMtYnV0dG9uPkNsaWNrIE1lPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJzZWNvbmRhcnkiIC5ldmVudERldGFpbERhdGE9JHsiY3VzdG9tLWRhdGEtMTIzIn0+CiAgICAgICAgICAgIENsaWNrIHdpdGggRGF0YQogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJkZXN0cnVjdGl2ZSI+QXN5bmMgQWN0aW9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGlkPSJjbGljay1vdXRwdXQiIGNsYXNzPSJkZW1vLW91dHB1dCI+CiAgICAgICAgICA8ZW0+Q2xpY2sgYSBidXR0b24gdG8gc2VlIHRoZSByZXN1bHQuLi48L2VtPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9PntsZXQgZT10LnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpLGE9dC5xdWVyeVNlbGVjdG9yKCIjZm9ybS1vdXRwdXQiKTtlJiZhJiZlLmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIixuPT57YS5pbm5lckhUTUw9IjxzdHJvbmc+Rm9ybSBzdWJtaXR0ZWQgd2l0aCBkYXRhOjwvc3Ryb25nPjxicj4iK0pTT04uc3RyaW5naWZ5KG4uZGV0YWlsLmRhdGEsbnVsbCwyKX0pO2xldCByPXQucXVlcnlTZWxlY3RvcignZGVlcy1idXR0b25bdHlwZT0ic2Vjb25kYXJ5Il0nKSxzPXQucXVlcnlTZWxlY3RvcignZGVlcy1idXR0b25bdHlwZT0iZ2hvc3QiXScpO3ImJnIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsKCk9Pntjb25zb2xlLmxvZygiU2F2ZSBEcmFmdCBjbGlja2VkIil9KSxzJiZzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57Y29uc29sZS5sb2coIkNhbmNlbCBjbGlja2VkIil9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNy4gRm9ybSBJbnRlZ3JhdGlvbiJ9IC5zdWJ0aXRsZT0keyJCdXR0b25zIHdvcmtpbmcgd2l0aGluIGZvcm1zIHdpdGggYXV0b21hdGljIHNwYWNpbmcifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBsYWJlbD0iTmFtZSIga2V5PSJuYW1lIiByZXF1aXJlZD48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgbGFiZWw9IkVtYWlsIiBrZXk9ImVtYWlsIiB0eXBlPSJlbWFpbCIgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGxhYmVsPSJNZXNzYWdlIiBrZXk9Im1lc3NhZ2UiIGlzTXVsdGlsaW5lPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5Ij5TYXZlIERyYWZ0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJnaG9zdCI+Q2FuY2VsPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PlN1Ym1pdCBGb3JtPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICAgIAogICAgICAgIDxkaXYgaWQ9ImZvcm0tb3V0cHV0IiBjbGFzcz0iZGVtby1vdXRwdXQiIHN0eWxlPSJ3aGl0ZS1zcGFjZTogcHJlLXdyYXA7Ij4KICAgICAgICAgIDxlbT5TdWJtaXQgdGhlIGZvcm0gdG8gc2VlIHRoZSBkYXRhLi4uPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57dC5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2goYT0+e2xldCByPWEuZ2V0QXR0cmlidXRlKCJ0eXBlIik7ciYmY29uc29sZS5sb2coYExlZ2FjeSB0eXBlICIke3J9IiBpcyBzdXBwb3J0ZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlgKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI4LiBCYWNrd2FyZCBDb21wYXRpYmlsaXR5In0gLnN1YnRpdGxlPSR7Ik9sZCBidXR0b24gdHlwZXMgYXJlIGF1dG9tYXRpY2FsbHkgbWFwcGVkIHRvIG5ldyB2YXJpYW50cyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ibm9ybWFsIj5Ob3JtYWwg4oaSIERlZmF1bHQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImhpZ2hsaWdodGVkIj5IaWdobGlnaHRlZCDihpIgRGVzdHJ1Y3RpdmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRpc2NyZWV0Ij5EaXNjcmVldCDihpIgT3V0bGluZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iYmlnIj5CaWcg4oaSIExhcmdlIFNpemU8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tdG9wOiAxNnB4OyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OyI+CiAgICAgICAgICBUaGVzZSBsZWdhY3kgdHlwZSB2YWx1ZXMgYXJlIG1haW50YWluZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgYnV0IHdlIHJlY29tbWVuZCB1c2luZyB0aGUgbmV3IHZhcmlhbnQgc3lzdGVtLgogICAgICAgIDwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57bGV0IGU9dC5xdWVyeVNlbGVjdG9yQWxsKCIudmVydGljYWwtZ3JvdXAiKVswXSxhPXQucXVlcnlTZWxlY3RvckFsbCgiLnZlcnRpY2FsLWdyb3VwIilbMV07ZSYmZS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2goKHMsbik9PntzLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57bGV0IG89WyJTYXZlIENoYW5nZXMiLCJEaXNjYXJkIiwiSGVscCJdW25dO2NvbnNvbGUubG9nKGBBY3Rpb24gZ3JvdXA6ICR7b30gY2xpY2tlZGApfSl9KSxhJiZhLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaCgocyxuKT0+e3MuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsKCk9PntsZXQgbz1bIkRlbGV0ZSBBY2NvdW50IiwiQXJjaGl2ZSBEYXRhIiwiTm90IEF2YWlsYWJsZSJdW25dO24hPT0yJiZjb25zb2xlLmxvZyhgRGFuZ2VyIHpvbmU6ICR7b30gY2xpY2tlZGApfSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiOS4gQWR2YW5jZWQgRXhhbXBsZXMifSAuc3VidGl0bGU9JHsiQ29tcGxleCBidXR0b24gY29uZmlndXJhdGlvbnMgYW5kIHJlYWwtd29ybGQgdXNlIGNhc2VzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ncm91cCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2ZXJ0aWNhbC1ncm91cCI+CiAgICAgICAgICAgIDxoNCBzdHlsZT0ibWFyZ2luOiAwIDAgOHB4IDA7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsiPkFjdGlvbiBHcm91cDwvaDQ+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJkZWZhdWx0IiBzaXplPSJzbSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6U2F2ZSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgU2F2ZSBDaGFuZ2VzCiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJzZWNvbmRhcnkiIHNpemU9InNtIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpVbmRvMiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgRGlzY2FyZAogICAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZ2hvc3QiIHNpemU9InNtIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpIZWxwQ2lyY2xlIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICBIZWxwCiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2ZXJ0aWNhbC1ncm91cCI+CiAgICAgICAgICAgIDxoNCBzdHlsZT0ibWFyZ2luOiAwIDAgOHB4IDA7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsiPkRhbmdlciBab25lPC9oND4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlc3RydWN0aXZlIiBzaXplPSJzbSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTp0cmFzaCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgRGVsZXRlIEFjY291bnQKICAgICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Im91dGxpbmUiIHNpemU9InNtIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpBcmNoaXZlIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICBBcmNoaXZlIERhdGEKICAgICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0IiBzaXplPSJzbSIgZGlzYWJsZWQ+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6QmFuIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICBOb3QgQXZhaWxhYmxlCiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAyNHB4OyI+CiAgICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbjogMCAwIDhweCAwOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7Ij5Db2RlIEV4YW1wbGU6PC9oND4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtc25pcHBldCI+CiAgICAgICAgICAgICZsdDtkZWVzLWJ1dHRvbiB0eXBlPSJkZWZhdWx0IiBzaXplPSJzbSIgaWNvbj0ibHVjaWRlOlNhdmUiIEBjbGlja2VkPSJcJHtoYW5kbGVDbGlja30iJmd0Ozxicj4KICAgICAgICAgICAgJm5ic3A7Jm5ic3A7U2F2ZSBDaGFuZ2VzPGJyPgogICAgICAgICAgICAmbHQ7L2RlZXMtYnV0dG9uJmd0OwogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBQcyx1MSxzWHQsbmw9YygoKT0+e3BlKCk7SXQoKTtpWHQoKTtYZSgpO1BzPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSx1MT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sc1h0PSgoKT0+e2xldCB0PVthZSgiZGVlcy1idXR0b24iKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXSx5LE09W10saz1bXSxFLF89W10sQz1bXSxOLCQ9W10sST1bXSxqLFM9W10sej1bXSxELFQ9W10sQT1bXSxVLFI9W10scT1bXTt2YXIgb2U9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNCdXR0b24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHtyZWZsZWN0OiEwLGhhc0NoYW5nZWQoKXtyZXR1cm4hMH19KV0saD1bTCgpXSxwPVtMKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSx4PVtMKHt0eXBlOkJvb2xlYW59KV0seT1bTCh7dHlwZTpTdHJpbmd9KV0sRT1bTCh7dHlwZTpTdHJpbmd9KV0sTj1bTCh7dHlwZTpTdHJpbmd9KV0saj1bTCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0sRD1bTCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxVPVtMKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLFBzKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShyZT0+InRleHQiaW4gcmUsImhhcyIpLGdldDppKHJlPT5yZS50ZXh0LCJnZXQiKSxzZXQ6aSgocmUseWUpPT57cmUudGV4dD15ZX0sInNldCIpfSxtZXRhZGF0YTpPfSxvLGwpLFBzKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXZlbnREZXRhaWxEYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHJlPT4iZXZlbnREZXRhaWxEYXRhImluIHJlLCJoYXMiKSxnZXQ6aShyZT0+cmUuZXZlbnREZXRhaWxEYXRhLCJnZXQiKSxzZXQ6aSgocmUseWUpPT57cmUuZXZlbnREZXRhaWxEYXRhPXllfSwic2V0Iil9LG1ldGFkYXRhOk99LHUsZiksUHModGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXNhYmxlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShyZT0+ImRpc2FibGVkImluIHJlLCJoYXMiKSxnZXQ6aShyZT0+cmUuZGlzYWJsZWQsImdldCIpLHNldDppKChyZSx5ZSk9PntyZS5kaXNhYmxlZD15ZX0sInNldCIpfSxtZXRhZGF0YTpPfSxnLHYpLFBzKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNIaWRkZW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkocmU9PiJpc0hpZGRlbiJpbiByZSwiaGFzIiksZ2V0OmkocmU9PnJlLmlzSGlkZGVuLCJnZXQiKSxzZXQ6aSgocmUseWUpPT57cmUuaXNIaWRkZW49eWV9LCJzZXQiKX0sbWV0YWRhdGE6T30sYixtKSxQcyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkocmU9PiJ0eXBlImluIHJlLCJoYXMiKSxnZXQ6aShyZT0+cmUudHlwZSwiZ2V0Iiksc2V0OmkoKHJlLHllKT0+e3JlLnR5cGU9eWV9LCJzZXQiKX0sbWV0YWRhdGE6T30sTSxrKSxQcyh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkocmU9PiJzaXplImluIHJlLCJoYXMiKSxnZXQ6aShyZT0+cmUuc2l6ZSwiZ2V0Iiksc2V0OmkoKHJlLHllKT0+e3JlLnNpemU9eWV9LCJzZXQiKX0sbWV0YWRhdGE6T30sXyxDKSxQcyh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXR1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShyZT0+InN0YXR1cyJpbiByZSwiaGFzIiksZ2V0OmkocmU9PnJlLnN0YXR1cywiZ2V0Iiksc2V0OmkoKHJlLHllKT0+e3JlLnN0YXR1cz15ZX0sInNldCIpfSxtZXRhZGF0YTpPfSwkLEkpLFBzKHRoaXMsbnVsbCxqLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5zaWRlRm9ybSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShyZT0+Imluc2lkZUZvcm0iaW4gcmUsImhhcyIpLGdldDppKHJlPT5yZS5pbnNpZGVGb3JtLCJnZXQiKSxzZXQ6aSgocmUseWUpPT57cmUuaW5zaWRlRm9ybT15ZX0sInNldCIpfSxtZXRhZGF0YTpPfSxTLHopLFBzKHRoaXMsbnVsbCxELHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaWNvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShyZT0+Imljb24iaW4gcmUsImhhcyIpLGdldDppKHJlPT5yZS5pY29uLCJnZXQiKSxzZXQ6aSgocmUseWUpPT57cmUuaWNvbj15ZX0sInNldCIpfSxtZXRhZGF0YTpPfSxULEEpLFBzKHRoaXMsbnVsbCxVLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaWNvblBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHJlPT4iaWNvblBvc2l0aW9uImluIHJlLCJoYXMiKSxnZXQ6aShyZT0+cmUuaWNvblBvc2l0aW9uLCJnZXQiKSxzZXQ6aSgocmUseWUpPT57cmUuaWNvblBvc2l0aW9uPXllfSwic2V0Iil9LG1ldGFkYXRhOk99LFIscSksUHMobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6T30sbnVsbCxhKSxvZT1yPWUudmFsdWUsTyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpPfSl9c3RhdGljIGRlbW89clh0O3N0YXRpYyBkZW1vR3JvdXBzPVsiQnV0dG9uIl07I2U9dTEodGhpcyxvLHZvaWQgMCk7Z2V0IHRleHQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdGV4dChPKXt0aGlzLiNlPU99I3Q9KHUxKHRoaXMsbCksdTEodGhpcyx1LHZvaWQgMCkpO2dldCBldmVudERldGFpbERhdGEoKXtyZXR1cm4gdGhpcy4jdH1zZXQgZXZlbnREZXRhaWxEYXRhKE8pe3RoaXMuI3Q9T30jYT0odTEodGhpcyxmKSx1MSh0aGlzLGcsITEpKTtnZXQgZGlzYWJsZWQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZGlzYWJsZWQoTyl7dGhpcy4jYT1PfSNyPSh1MSh0aGlzLHYpLHUxKHRoaXMsYiwhMSkpO2dldCBpc0hpZGRlbigpe3JldHVybiB0aGlzLiNyfXNldCBpc0hpZGRlbihPKXt0aGlzLiNyPU99I2k9KHUxKHRoaXMsbSksdTEodGhpcyxNLCJkZWZhdWx0IikpO2dldCB0eXBlKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHR5cGUoTyl7dGhpcy4jaT1PfSNzPSh1MSh0aGlzLGspLHUxKHRoaXMsXywiZGVmYXVsdCIpKTtnZXQgc2l6ZSgpe3JldHVybiB0aGlzLiNzfXNldCBzaXplKE8pe3RoaXMuI3M9T30jbz0odTEodGhpcyxDKSx1MSh0aGlzLCQsIm5vcm1hbCIpKTtnZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuI299c2V0IHN0YXR1cyhPKXt0aGlzLiNvPU99I249KHUxKHRoaXMsSSksdTEodGhpcyxTLCExKSk7Z2V0IGluc2lkZUZvcm0oKXtyZXR1cm4gdGhpcy4jbn1zZXQgaW5zaWRlRm9ybShPKXt0aGlzLiNuPU99I2w9KHUxKHRoaXMseiksdTEodGhpcyxULHZvaWQgMCkpO2dldCBpY29uKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGljb24oTyl7dGhpcy4jbD1PfSNjPSh1MSh0aGlzLEEpLHUxKHRoaXMsUiwibGVmdCIpKTtnZXQgaWNvblBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGljb25Qb3NpdGlvbihPKXt0aGlzLiNjPU99Y29uc3RydWN0b3IoKXtzdXBlcigpLHUxKHRoaXMscSl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLCF0aGlzLmluc2lkZUZvcm0mJnRoaXMuY2xvc2VzdCgiZGVlcy1mb3JtIikmJih0aGlzLmluc2lkZUZvcm09ITApfXN0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgIH0KICAgICAgOmhvc3QoW2hpZGRlbl0pIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBGb3JtIHNwYWNpbmcgc3R5bGVzICovCiAgICAgIDpob3N0KFtpbnNpZGUtZm9ybV0pIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbaW5zaWRlLWZvcm1dOmxhc3QtY2hpbGQpIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLWZvcm1baG9yaXpvbnRhbC1sYXlvdXRdIDpob3N0KFtpbnNpZGUtZm9ybV0pIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtZm9ybVtob3Jpem9udGFsLWxheW91dF0gOmhvc3QoW2luc2lkZS1mb3JtXTpsYXN0LWNoaWxkKSB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOwogICAgICB9CgogICAgICAuYnV0dG9uIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAvKiBTaXplIHZhcmlhbnRzICovCiAgICAgIC5idXR0b24uc2l6ZS1kZWZhdWx0IHsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zaXplLXNtIHsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zaXplLWxnIHsKICAgICAgICBoZWlnaHQ6IDQ0cHg7CiAgICAgICAgcGFkZGluZzogMCAyNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zaXplLWljb24gewogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAvKiBEZWZhdWx0IHZhcmlhbnQgKi8KICAgICAgLmJ1dHRvbi5kZWZhdWx0IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiKDAgMCAwIC8gMC4wNSk7CiAgICAgIH0KCiAgICAgIC5idXR0b24uZGVmYXVsdDpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTAuMiUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA4NSUpIiwiaHNsKDIxNSAyMC4yJSAyMCUpIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLmRlZmF1bHQ6YWN0aXZlOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgOSUpIil9OwogICAgICB9CgogICAgICAvKiBEZXN0cnVjdGl2ZSB2YXJpYW50ICovCiAgICAgIC5idXR0b24uZGVzdHJ1Y3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6IGhzbCgwIDg0LjIlIDYwLjIlKTsKICAgICAgICBjb2xvcjogaHNsKDAgMCUgOTglKTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5kZXN0cnVjdGl2ZTpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDAgODQuMiUgNTYuMiUpOwogICAgICB9CgogICAgICAuYnV0dG9uLmRlc3RydWN0aXZlOmFjdGl2ZTpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDAgODQuMiUgNTIuMiUpOwogICAgICB9CgogICAgICAvKiBPdXRsaW5lIHZhcmlhbnQgKi8KICAgICAgLmJ1dHRvbi5vdXRsaW5lIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAyMS44JSkiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24ub3V0bGluZTpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA4NSUpIiwiaHNsKDIxNSAyMC4yJSAyNi44JSkiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24ub3V0bGluZTphY3RpdmU6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxMy44JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFNlY29uZGFyeSB2YXJpYW50ICovCiAgICAgIC5idXR0b24uc2Vjb25kYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXI6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxMy44JSkiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24uc2Vjb25kYXJ5OmFjdGl2ZTpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA4NSUpIiwiaHNsKDIxNSAyMC4yJSAxMS44JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIEdob3N0IHZhcmlhbnQgKi8KICAgICAgLmJ1dHRvbi5naG9zdCB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5naG9zdDpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLmdob3N0OmFjdGl2ZTpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE1IDIwLjIlIDEzLjglKSIpfTsKICAgICAgfQoKICAgICAgLyogTGluayB2YXJpYW50ICovCiAgICAgIC5idXR0b24ubGluayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5saW5rOmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGN1cnJlbnRDb2xvcjsKICAgICAgfQoKICAgICAgLyogU3RhdHVzIHN0YXRlcyAqLwogICAgICAuYnV0dG9uLnBlbmRpbmcsCiAgICAgIC5idXR0b24uc3VjY2VzcywKICAgICAgLmJ1dHRvbi5lcnJvciB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNnB4OyAvKiBTcGFjZSBmb3Igc3Bpbm5lciAqLwogICAgICB9CiAgICAgIAogICAgICAuYnV0dG9uLnNpemUtc20ucGVuZGluZywKICAgICAgLmJ1dHRvbi5zaXplLXNtLnN1Y2Nlc3MsCiAgICAgIC5idXR0b24uc2l6ZS1zbS5lcnJvciB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4OwogICAgICB9CiAgICAgIAogICAgICAuYnV0dG9uLnNpemUtbGcucGVuZGluZywKICAgICAgLmJ1dHRvbi5zaXplLWxnLnN1Y2Nlc3MsCiAgICAgIC5idXR0b24uc2l6ZS1sZy5lcnJvciB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiA0NHB4OwogICAgICB9CgogICAgICAuYnV0dG9uLnBlbmRpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zdWNjZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5idXR0b24uZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSkiLCJoc2woMCA2Mi44JSA3MC42JSAvIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDYyLjglIDcwLjYlKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLyogRGlzYWJsZWQgc3RhdGUgKi8KICAgICAgLmJ1dHRvbi5kaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIEhpZGRlbiBzdGF0ZSAqLwogICAgICAuYnV0dG9uLmhpZGRlbiB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogRm9jdXMgc3RhdGUgKi8KICAgICAgLmJ1dHRvbjpmb2N1cy12aXNpYmxlIHsKICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7CiAgICAgIH0KCiAgICAgIC8qIExvYWRpbmcgc3Bpbm5lciAqLwogICAgICBkZWVzLXNwaW5uZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAxMHB4OwogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi5zaXplLXNtIGRlZXMtc3Bpbm5lciB7CiAgICAgICAgbGVmdDogOHB4OwogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi5zaXplLWxnIGRlZXMtc3Bpbm5lciB7CiAgICAgICAgbGVmdDogMTRweDsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEljb24gc2l6aW5nIHdpdGhpbiBidXR0b25zICovCiAgICAgIC5idXR0b24gZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5idXR0b24uc2l6ZS1zbSBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi5zaXplLWxnIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICB9CgogICAgICAvKiBUZXh0IGFsaWdubWVudCAqLwogICAgICAudGV4dGJveCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgYF07ZXh0cmFjdExpZ2h0RG9tKCl7bGV0IE89dGhpcy5xdWVyeVNlbGVjdG9yKCJkZWVzLWljb24iKSxyZT1BcnJheS5mcm9tKHRoaXMuY2hpbGROb2RlcykuZmlsdGVyKHllPT55ZS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKS5tYXAoeWU9PnllLnRleHRDb250ZW50Py50cmltKCkpLmZpbHRlcihCb29sZWFuKS5qb2luKCIgIik7aWYocmUmJiF0aGlzLnRleHQmJih0aGlzLnRleHQ9cmUpLE8pe2xldCB5ZT1PLmljb258fE8uZ2V0QXR0cmlidXRlKCJpY29uIil8fChPLmljb25GQT9gZmE6JHtPLmljb25GQX1gOm51bGwpO2lmKHllKXtsZXQgQj1BcnJheS5mcm9tKHRoaXMuY2hpbGROb2RlcyksZWU9Qi5pbmRleE9mKE8pLENlPUIuZmlsdGVyKFk9Plkubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSYmWS50ZXh0Q29udGVudD8udHJpbSgpKTtpZihDZS5sZW5ndGg+MCl7bGV0IFk9Qi5pbmRleE9mKENlWzBdKTt0aGlzLmljb25Qb3NpdGlvbj1lZTxZPyJsZWZ0IjoicmlnaHQifXRoaXMuaWNvbj15ZX1PLnJlbW92ZSgpfXRoaXMuaW5uZXJIVE1MPSIifXJlbmRlcigpe2xldCByZT17bm9ybWFsOiJkZWZhdWx0IixoaWdobGlnaHRlZDoiZGVzdHJ1Y3RpdmUiLGRpc2NyZWV0OiJvdXRsaW5lIixiaWc6ImRlZmF1bHQifVt0aGlzLnR5cGVdfHx0aGlzLnR5cGUseWU9dGhpcy50eXBlPT09ImJpZyI/ImxnIjp0aGlzLnNpemUsQj10aGlzLmljb25Qb3NpdGlvbj09PSJsZWZ0IiYmdGhpcy5pY29uP3dgPGRlZXMtaWNvbiAuaWNvbj0ke3RoaXMuaWNvbn0+PC9kZWVzLWljb24+YDoiIixlZT10aGlzLmljb25Qb3NpdGlvbj09PSJyaWdodCImJnRoaXMuaWNvbj93YDxkZWVzLWljb24gLmljb249JHt0aGlzLmljb259PjwvZGVlcy1pY29uPmA6IiIsQ2U9eWU9PT0iaWNvbiImJnRoaXMuaWNvbjtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJidXR0b24gJHt0aGlzLmlzSGlkZGVuPyJoaWRkZW4iOiIifSAke3JlfSBzaXplLSR7eWV9ICR7dGhpcy5zdGF0dXN9ICR7dGhpcy5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIKICAgICAgICBAY2xpY2s9IiR7dGhpcy5kaXNwYXRjaENsaWNrfSIKICAgICAgPgogICAgICAgICR7dGhpcy5zdGF0dXM9PT0ibm9ybWFsIj93YGA6d2AKICAgICAgICAgIDxkZWVzLXNwaW5uZXIKICAgICAgICAgICAgLmJudz0keyEwfQogICAgICAgICAgICBzdGF0dXM9IiR7dGhpcy5zdGF0dXN9IgogICAgICAgICAgICBzaXplPSIke3llPT09InNtIj8xNDp5ZT09PSJsZyI/MTg6MTZ9IgogICAgICAgICAgPjwvZGVlcy1zcGlubmVyPgogICAgICAgIGB9CiAgICAgICAgJHtCfQogICAgICAgICR7Q2U/IiI6d2A8ZGl2IGNsYXNzPSJ0ZXh0Ym94Ij4ke3RoaXMudGV4dHx8IkJ1dHRvbiJ9PC9kaXY+YH0KICAgICAgICAke2VlfQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZGlzcGF0Y2hDbGljaygpe3RoaXMuZGlzYWJsZWR8fHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNsaWNrZWQiLHtkZXRhaWw6e2RhdGE6dGhpcy5ldmVudERldGFpbERhdGF9LGJ1YmJsZXM6ITB9KSl9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy5leHRyYWN0TGlnaHREb20oKX1zdGF0aWN7dTEocixhKX19O3JldHVybiBvZT1yfSkoKX0pO3ZhciBmbCxPcixvWHQsR1o9YygoKT0+e3BZdCgpO1AxKCk7SXIoKTtwZSgpO0t0KCk7djEoKTtubCgpO1hlKCk7Zmw9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LE9yPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxvWHQ9KCgpPT57bGV0IHQ9W29HKCksYWUoImRlZXMtc3RhdHNncmlkIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W10sTiwkPVtdLEk9W107dmFyIGo9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNTdGF0c0dyaWQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgUz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOkFycmF5fSldLGg9W0woe3R5cGU6TnVtYmVyfSldLHA9W0woe3R5cGU6TnVtYmVyfSldLHg9W0woe3R5cGU6QXJyYXl9KV0seT1bWigpXSxFPVtaKCldLE49W1ooKV0sZmwodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aWxlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4idGlsZXMiaW4geiwiaGFzIiksZ2V0Omkoej0+ei50aWxlcywiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LnRpbGVzPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sbyxsKSxmbCh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1pblRpbGVXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4ibWluVGlsZVdpZHRoImluIHosImhhcyIpLGdldDppKHo9PnoubWluVGlsZVdpZHRoLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3oubWluVGlsZVdpZHRoPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sdSxmKSxmbCh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImdhcCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4iZ2FwImluIHosImhhcyIpLGdldDppKHo9PnouZ2FwLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3ouZ2FwPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sZyx2KSxmbCh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImdyaWRBY3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJncmlkQWN0aW9ucyJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LmdyaWRBY3Rpb25zLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3ouZ3JpZEFjdGlvbnM9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxiLG0pLGZsKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGV4dE1lbnVWaXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJjb250ZXh0TWVudVZpc2libGUiaW4geiwiaGFzIiksZ2V0Omkoej0+ei5jb250ZXh0TWVudVZpc2libGUsImdldCIpLHNldDppKCh6LEQpPT57ei5jb250ZXh0TWVudVZpc2libGU9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxNLGspLGZsKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGV4dE1lbnVQb3NpdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4iY29udGV4dE1lbnVQb3NpdGlvbiJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LmNvbnRleHRNZW51UG9zaXRpb24sImdldCIpLHNldDppKCh6LEQpPT57ei5jb250ZXh0TWVudVBvc2l0aW9uPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sXyxDKSxmbCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRleHRNZW51QWN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4iY29udGV4dE1lbnVBY3Rpb25zImluIHosImhhcyIpLGdldDppKHo9PnouY29udGV4dE1lbnVBY3Rpb25zLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3ouY29udGV4dE1lbnVBY3Rpb25zPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sJCxJKSxmbChudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpTfSxudWxsLGEpLGo9cj1lLnZhbHVlLFMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6U30pfXN0YXRpYyBkZW1vPWRZdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhdGEgVmlldyJdOyNlPU9yKHRoaXMsbyxbXSk7Z2V0IHRpbGVzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRpbGVzKFMpe3RoaXMuI2U9U30jdD0oT3IodGhpcyxsKSxPcih0aGlzLHUsMjUwKSk7Z2V0IG1pblRpbGVXaWR0aCgpe3JldHVybiB0aGlzLiN0fXNldCBtaW5UaWxlV2lkdGgoUyl7dGhpcy4jdD1TfSNhPShPcih0aGlzLGYpLE9yKHRoaXMsZywxNikpO2dldCBnYXAoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZ2FwKFMpe3RoaXMuI2E9U30jcj0oT3IodGhpcyx2KSxPcih0aGlzLGIsW10pKTtnZXQgZ3JpZEFjdGlvbnMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgZ3JpZEFjdGlvbnMoUyl7dGhpcy4jcj1TfSNpPShPcih0aGlzLG0pLE9yKHRoaXMsTSwhMSkpO2dldCBjb250ZXh0TWVudVZpc2libGUoKXtyZXR1cm4gdGhpcy4jaX1zZXQgY29udGV4dE1lbnVWaXNpYmxlKFMpe3RoaXMuI2k9U30jcz0oT3IodGhpcyxrKSxPcih0aGlzLF8se3g6MCx5OjB9KSk7Z2V0IGNvbnRleHRNZW51UG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jc31zZXQgY29udGV4dE1lbnVQb3NpdGlvbihTKXt0aGlzLiNzPVN9I289KE9yKHRoaXMsQyksT3IodGhpcywkLFtdKSk7Z2V0IGNvbnRleHRNZW51QWN0aW9ucygpe3JldHVybiB0aGlzLiNvfXNldCBjb250ZXh0TWVudUFjdGlvbnMoUyl7dGhpcy4jbz1TfXN0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7Z2F9OwogICAgICB9CgogICAgICAvKiBDU1MgVmFyaWFibGVzIGZvciBjb25zaXN0ZW50IHNwYWNpbmcgYW5kIHNpemluZyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgLS1ncmlkLWdhcDogMTJweDsKICAgICAgICAtLXRpbGUtcGFkZGluZzogMTZweDsKICAgICAgICAtLWhlYWRlci1zcGFjaW5nOiAxMnB4OwogICAgICAgIC0tY29udGVudC1taW4taGVpZ2h0OiA0MHB4OwogICAgICAgIC0tdmFsdWUtZm9udC1zaXplOiAyNnB4OwogICAgICAgIC0tdW5pdC1mb250LXNpemU6IDE0cHg7CiAgICAgICAgLS1sYWJlbC1mb250LXNpemU6IDEycHg7CiAgICAgICAgLS10aXRsZS1mb250LXNpemU6IDEzcHg7CiAgICAgICAgLS1kZXNjcmlwdGlvbi1zcGFjaW5nOiA4cHg7CiAgICAgICAgLS1ib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgLS10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1czsKICAgICAgfQoKICAgICAgLyogR3JpZCBMYXlvdXQgKi8KICAgICAgLmdyaWQtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tZ3JpZC1nYXApICogMS41KTsKICAgICAgICBtaW4taGVpZ2h0OiA0MHB4OwogICAgICB9CgogICAgICAuZ3JpZC10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLmdyaWQtYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLmdyaWQtYWN0aW9ucyBkZWVzLWJ1dHRvbiB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1sYWJlbC1mb250LXNpemUpOwogICAgICB9CgogICAgICAuc3RhdHMtZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KCR7T3QoMjUwKX1weCwgMWZyKSk7CiAgICAgICAgZ2FwOiAke090KDE2KX1weDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLyogVGlsZSBCYXNlIFN0eWxlcyAqLwogICAgICAuc3RhdHMtdGlsZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTBlMGUwIiwiIzIwMjAyMCIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzKTsKICAgICAgICBwYWRkaW5nOiB2YXIoLS10aWxlLXBhZGRpbmcpOwogICAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uKSBlYXNlOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIH0KCiAgICAgIC5zdGF0cy10aWxlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZhZmFmYSIsIiMwZDBkMGQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2QwZDBkMCIsIiMyYTJhMmEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0cy10aWxlLmNsaWNrYWJsZSB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAuc3RhdHMtdGlsZS5jbGlja2FibGU6aG92ZXIgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCA2cHggJHtkLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4wMykiLCJyZ2JhKDAsMCwwLDAuMTUpIil9OwogICAgICB9CgogICAgICAvKiBUaWxlIEhlYWRlciAqLwogICAgICAudGlsZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWhlYWRlci1zcGFjaW5nKTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnRpbGUtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdGl0bGUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBsaW5lLWhlaWdodDogMS4yOwogICAgICB9CgogICAgICAudGlsZS1pY29uIHsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAvKiBUaWxlIENvbnRlbnQgKi8KICAgICAgLnRpbGUtY29udGVudCB7CiAgICAgICAgbWluLWhlaWdodDogdmFyKC0tY29udGVudC1taW4taGVpZ2h0KTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLnRpbGUtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdmFsdWUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KCiAgICAgIC50aWxlLXVuaXQgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdW5pdC1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC50aWxlLWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLWxhYmVsLWZvbnQtc2l6ZSk7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tZGVzY3JpcHRpb24tc3BhY2luZyk7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC8qIEdhdWdlIFN0eWxlcyAqLwogICAgICAuZ2F1Z2Utd3JhcHBlciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAuZ2F1Z2UtY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTIwcHg7CiAgICAgICAgaGVpZ2h0OiA3MHB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW4tdG9wOiAtOHB4OwogICAgICB9CgogICAgICAuZ2F1Z2Utc3ZnIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5nYXVnZS1iYWNrZ3JvdW5kIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICAgIHN0cm9rZTogJHtkLmJkVGhlbWUoIiNlOGU4ZTgiLCIjMWExYTFhIil9OwogICAgICAgIHN0cm9rZS13aWR0aDogNjsKICAgICAgfQoKICAgICAgLmdhdWdlLWZpbGwgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiA2OwogICAgICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDsKICAgICAgICB0cmFuc2l0aW9uOiBzdHJva2UtZGFzaG9mZnNldCAwLjZzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIC5nYXVnZS10ZXh0IHsKICAgICAgICBmaWxsOiAke2QuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgZm9udC1mYW1pbHk6ICR7Z2F9OwogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdmFsdWUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtYW5jaG9yOiBtaWRkbGU7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICB9CiAgICAgIAogICAgICAuZ2F1Z2UtdW5pdCB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS11bml0LWZvbnQtc2l6ZSk7CiAgICAgICAgZmlsbDogJHtkLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGZvbnQtZmFtaWx5OiAke2dhfTsKICAgICAgfQoKICAgICAgLyogUGVyY2VudGFnZSBTdHlsZXMgKi8KICAgICAgLnBlcmNlbnRhZ2Utd3JhcHBlciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAucGVyY2VudGFnZS12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS12YWx1ZS1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS4xOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC5wZXJjZW50YWdlLWJhciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlOGU4ZTgiLCIjMWExYTFhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIG1hcmdpbi10b3A6IGF1dG87CiAgICAgIH0KCiAgICAgIC5wZXJjZW50YWdlLWZpbGwgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzMzMzMzMyIsIiNlMGUwZTAiKX07CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLyogTXVsdGkgUGVyY2VudGFnZSBTdHlsZXMgKi8KICAgICAgLm11bHRpLXBlcmNlbnRhZ2Utd3JhcHBlciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5tdWx0aS1wZXJjZW50YWdlLWl0ZW1zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIG1hcmdpbi10b3A6IGF1dG87CiAgICAgIH0KCiAgICAgIC5tdWx0aS1wZXJjZW50YWdlLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLm11bHRpLXBlcmNlbnRhZ2UtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgIH0KCiAgICAgIC5tdWx0aS1wZXJjZW50YWdlLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLm11bHRpLXBlcmNlbnRhZ2UtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC5tdWx0aS1wZXJjZW50YWdlLWJhciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlOGU4ZTgiLCIjMWExYTFhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAubXVsdGktcGVyY2VudGFnZS1maWxsIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMzMzMzMzMiLCIjZTBlMGUwIil9OwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgIH0KCiAgICAgIC8qIENQVSBDb3JlcyBTdHlsZXMgKi8KICAgICAgLmNwdS1jb3Jlcy13cmFwcGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4taGVpZ2h0OiA4MHB4OwogICAgICB9CgogICAgICAuY3B1LWNvcmVzLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQoKICAgICAgLmNwdS1jb3Jlcy12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS12YWx1ZS1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS4xOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgfQoKICAgICAgLmNwdS1jb3Jlcy11bml0IHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXVuaXQtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICAuY3B1LWNvcmVzLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLWxhYmVsLWZvbnQtc2l6ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgfQoKICAgICAgLmNwdS1jb3Jlcy1iYXJzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgICBnYXA6IDNweDsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7CiAgICAgICAgcGFkZGluZzogNHB4IDA7CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZXMtYmFycy5jZW50ZXJlZCB7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZS1iYXItY29udGFpbmVyIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogNnB4OwogICAgICAgIG1heC13aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZS1iYXItd3JhcHBlciB7CiAgICAgICAgZmxleDogMTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2U4ZThlOCIsIiMxYTFhMWEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZS1iYXItZmlsbCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjNjY2NjY2IiwiIzg4ODg4OCIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLCBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHggMnB4IDAgMDsKICAgICAgfQoKICAgICAgLmNwdS1jb3JlLWJhci1maWxsLmxvdyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICB9CgogICAgICAuY3B1LWNvcmUtYmFyLWZpbGwubWVkaXVtIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDQ1LjQgOTMuNCUgNDcuNSUpIiwiaHNsKDQ1LjQgOTMuNCUgNDcuNSUpIil9OwogICAgICB9CgogICAgICAuY3B1LWNvcmUtYmFyLWZpbGwuaGlnaCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlKSIsImhzbCgwIDg0LjIlIDYwLjIlKSIpfTsKICAgICAgfQoKICAgICAgLmNwdS1jb3JlLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDlweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAvKiBQYXJ0aXRpb24gU3R5bGVzICovCiAgICAgIC5wYXJ0aXRpb24td3JhcHBlciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24taGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1wZXJjZW50YWdlIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXZhbHVlLWZvbnQtc2l6ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICB9CgogICAgICAucGFydGl0aW9uLWJhciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlOGU4ZTgiLCIjMWExYTFhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucGFydGl0aW9uLWJhci1maWxsIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMzMzMzMzMiLCIjZTBlMGUwIil9OwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tYmFyLWZpbGwud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCg0NS40IDkzLjQlIDQ3LjUlKSIsImhzbCg0NS40IDkzLjQlIDQ3LjUlKSIpfTsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1iYXItZmlsbC5jcml0aWNhbCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlKSIsImhzbCgwIDg0LjIlIDYwLjIlKSIpfTsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1zdGF0cyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tdG9wOiBhdXRvOwogICAgICB9CgogICAgICAucGFydGl0aW9uLXN0YXQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1zdGF0LWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tc3RhdC12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1tZXRhIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICB9CgogICAgICAucGFydGl0aW9uLWZpbGVzeXN0ZW0gewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1tb3VudHBvaW50IHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC8qIERpc2sgU3R5bGVzICovCiAgICAgIC5kaXNrLXdyYXBwZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuZGlzay1jYXBhY2l0eSB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS12YWx1ZS1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS4xOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgfQoKICAgICAgLmRpc2stbW9kZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgIH0KCiAgICAgIC5kaXNrLXR5cGUtYmFkZ2UgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAuZGlzay1tZXRyaWNzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luLXRvcDogYXV0bzsKICAgICAgfQoKICAgICAgLmRpc2staW9wcyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmRpc2staW9wcy1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmRpc2staW9wcy1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgfQoKICAgICAgLmRpc2staW9wcy12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5kaXNrLWhlYWx0aC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICB9CgogICAgICAuZGlzay1oZWFsdGgtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgIH0KCiAgICAgIC5kaXNrLWhlYWx0aC1iYXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZThlOGU4IiwiIzFhMWExYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoLWZpbGwgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICB9CgogICAgICAuZGlzay1oZWFsdGgtZmlsbC5nb29kIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiKX07CiAgICAgIH0KCiAgICAgIC5kaXNrLWhlYWx0aC1maWxsLndhcm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woNDUuNCA5My40JSA0Ny41JSkiLCJoc2woNDUuNCA5My40JSA0Ny41JSkiKX07CiAgICAgIH0KCiAgICAgIC5kaXNrLWhlYWx0aC1maWxsLmNyaXRpY2FsIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgODQuMiUgNjAuMiUpIiwiaHNsKDAgODQuMiUgNjAuMiUpIil9OwogICAgICB9CgogICAgICAvKiBUcmVuZCBTdHlsZXMgKi8KICAgICAgLnRyZW5kLWNvbnRhaW5lciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC50cmVuZC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAudHJlbmQtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdmFsdWUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KCiAgICAgIC50cmVuZC11bml0IHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXVuaXQtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICAudHJlbmQtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tbGFiZWwtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICB9CgogICAgICAudHJlbmQtZ3JhcGggewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luLXRvcDogYXV0bzsKICAgICAgfQoKICAgICAgLnRyZW5kLXN2ZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAudHJlbmQtbGluZSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICR7ZC5iZFRoZW1lKCIjOTk5OTk5IiwiIzY2NjY2NiIpfTsKICAgICAgICBzdHJva2Utd2lkdGg6IDEuNTsKICAgICAgICBzdHJva2UtbGluZWpvaW46IHJvdW5kOwogICAgICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDsKICAgICAgfQoKICAgICAgLnRyZW5kLWFyZWEgewogICAgICAgIGZpbGw6ICR7ZC5iZFRoZW1lKCJyZ2JhKDE1MCwgMTUwLCAxNTAsIDAuMDgpIiwicmdiYSgxMDAsIDEwMCwgMTAwLCAwLjA4KSIpfTsKICAgICAgfQoKICAgICAgLyogVGV4dCBWYWx1ZSBTdHlsZXMgKi8KICAgICAgLnRleHQtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdmFsdWUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KCiAgICAgIC8qIENvbnRleHQgTWVudSAqLwogICAgICBkZWVzLWNvbnRleHRtZW51IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgei1pbmRleDogMTAwMDsKICAgICAgfQogICAgYCxkLmNzc0ZvclRhYmxldChYYAogICAgICAuc3RhdHMtZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsKICAgICAgfQogICAgYCxyKSxkLmNzc0ZvclBoYWJsZXQoWGAKICAgICAgOmhvc3QgewogICAgICAgIC0tdGlsZS1wYWRkaW5nOiAxMnB4OwogICAgICAgIC0tdmFsdWUtZm9udC1zaXplOiAyMnB4OwogICAgICAgIC0tdGl0bGUtZm9udC1zaXplOiAxMnB4OwogICAgICAgIC0tZ3JpZC1nYXA6IDhweDsKICAgICAgfQogICAgICAuc3RhdHMtZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KICAgICAgLnN0YXRzLXRpbGUgewogICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDEgIWltcG9ydGFudDsKICAgICAgfQogICAgYCxyKSxkLmNzc0ZvclBob25lKFhgCiAgICAgIDpob3N0IHsKICAgICAgICAtLXRpbGUtcGFkZGluZzogMTBweDsKICAgICAgICAtLXZhbHVlLWZvbnQtc2l6ZTogMjBweDsKICAgICAgICAtLWhlYWRlci1zcGFjaW5nOiA4cHg7CiAgICAgIH0KICAgICAgLnN0YXRzLWdyaWQgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CiAgICBgLHIpXTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksT3IodGhpcyxJKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLmdyaWRBY3Rpb25zLmxlbmd0aD4wP3dgCiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC10aXRsZSI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWFjdGlvbnMiPgogICAgICAgICAgICAke3RoaXMuZ3JpZEFjdGlvbnMubWFwKFM9PndgCiAgICAgICAgICAgICAgPGRlZXMtYnV0dG9uIAogICAgICAgICAgICAgICAgQGNsaWNrZWQ9JHsoKT0+dGhpcy5oYW5kbGVHcmlkQWN0aW9uKFMpfQogICAgICAgICAgICAgICAgdHlwZT0ib3V0bGluZSIKICAgICAgICAgICAgICAgIHNpemU9InNtIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICR7Uy5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249JHtTLmljb25OYW1lfSBzaXplPSJzbWFsbCI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgICAgICR7Uy5uYW1lfQogICAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJzdGF0cy1ncmlkIiBzdHlsZT0iZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgke3RoaXMubWluVGlsZVdpZHRofXB4LCAxZnIpKTsgZ2FwOiAke3RoaXMuZ2FwfXB4OyI+CiAgICAgICAgJHt0aGlzLnRpbGVzLm1hcChTPT50aGlzLnJlbmRlclRpbGUoUykpfQogICAgICA8L2Rpdj4KCiAgICAgICR7dGhpcy5jb250ZXh0TWVudVZpc2libGU/d2AKICAgICAgICA8ZGVlcy1jb250ZXh0bWVudQogICAgICAgICAgLng9JHt0aGlzLmNvbnRleHRNZW51UG9zaXRpb24ueH0KICAgICAgICAgIC55PSR7dGhpcy5jb250ZXh0TWVudVBvc2l0aW9uLnl9CiAgICAgICAgICAubWVudUl0ZW1zPSR7dGhpcy5jb250ZXh0TWVudUFjdGlvbnN9CiAgICAgICAgICBAY2xpY2tlZD0keygpPT50aGlzLmNvbnRleHRNZW51VmlzaWJsZT0hMX0KICAgICAgICA+PC9kZWVzLWNvbnRleHRtZW51PgogICAgICBgOiIifQogICAgYH1yZW5kZXJUaWxlKFMpe2xldCB6PVMuYWN0aW9ucyYmUy5hY3Rpb25zLmxlbmd0aD4wLEQ9eiYmUy5hY3Rpb25zLmxlbmd0aD09PTEsVD1TLmNvbHVtblNwYW4mJlMuY29sdW1uU3Bhbj4xP1MuY29sdW1uU3Bhbjp2b2lkIDA7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0ic3RhdHMtdGlsZSAke0Q/ImNsaWNrYWJsZSI6IiJ9IgogICAgICAgIHN0eWxlPSIke1Q/YGdyaWQtY29sdW1uOiBzcGFuICR7VH1gOiIifSIKICAgICAgICBAY2xpY2s9JHtEPygpPT50aGlzLmhhbmRsZVRpbGVBY3Rpb24oUy5hY3Rpb25zWzBdLFMpOnZvaWQgMH0KICAgICAgICBAY29udGV4dG1lbnU9JHt6P0E9PnRoaXMuc2hvd0NvbnRleHRNZW51KEEsUyk6dm9pZCAwfQogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1oZWFkZXIiPgogICAgICAgICAgPGgzIGNsYXNzPSJ0aWxlLXRpdGxlIj4ke1MudGl0bGV9PC9oMz4KICAgICAgICAgICR7Uy5pY29uP3dgCiAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9InRpbGUtaWNvbiIgLmljb249JHtTLmljb259IHNpemU9InNtYWxsIj48L2RlZXMtaWNvbj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1jb250ZW50Ij4KICAgICAgICAgICR7dGhpcy5yZW5kZXJUaWxlQ29udGVudChTKX0KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICAke1MuZGVzY3JpcHRpb24mJlMudHlwZSE9PSJ0cmVuZCI/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtZGVzY3JpcHRpb24iPiR7Uy5kZXNjcmlwdGlvbn08L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyVGlsZUNvbnRlbnQoUyl7c3dpdGNoKFMudHlwZSl7Y2FzZSJudW1iZXIiOnJldHVybiB3YAogICAgICAgICAgPGRpdiBjbGFzcz0idGlsZS12YWx1ZSIgc3R5bGU9IiR7Uy5jb2xvcj9gY29sb3I6ICR7Uy5jb2xvcn1gOiIifSI+CiAgICAgICAgICAgIDxzcGFuPiR7Uy52YWx1ZX08L3NwYW4+CiAgICAgICAgICAgICR7Uy51bml0P3dgPHNwYW4gY2xhc3M9InRpbGUtdW5pdCI+JHtTLnVuaXR9PC9zcGFuPmA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgO2Nhc2UiZ2F1Z2UiOnJldHVybiB0aGlzLnJlbmRlckdhdWdlKFMpO2Nhc2UicGVyY2VudGFnZSI6cmV0dXJuIHRoaXMucmVuZGVyUGVyY2VudGFnZShTKTtjYXNlInRyZW5kIjpyZXR1cm4gdGhpcy5yZW5kZXJUcmVuZChTKTtjYXNlIm11bHRpUGVyY2VudGFnZSI6cmV0dXJuIHRoaXMucmVuZGVyTXVsdGlQZXJjZW50YWdlKFMpO2Nhc2UiY3B1Q29yZXMiOnJldHVybiB0aGlzLnJlbmRlckNwdUNvcmVzKFMpO2Nhc2UicGFydGl0aW9uIjpyZXR1cm4gdGhpcy5yZW5kZXJQYXJ0aXRpb24oUyk7Y2FzZSJkaXNrIjpyZXR1cm4gdGhpcy5yZW5kZXJEaXNrKFMpO2Nhc2UidGV4dCI6cmV0dXJuIHdgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXZhbHVlIiBzdHlsZT0iJHtTLmNvbG9yP2Bjb2xvcjogJHtTLmNvbG9yfWA6IiJ9Ij4KICAgICAgICAgICAgJHtTLnZhbHVlfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDtkZWZhdWx0OnJldHVybiB3YDxkaXYgY2xhc3M9InRpbGUtdmFsdWUiPiR7Uy52YWx1ZX08L2Rpdj5gfX1yZW5kZXJHYXVnZShTKXtsZXQgej10eXBlb2YgUy52YWx1ZT09Im51bWJlciI/Uy52YWx1ZTpwYXJzZUZsb2F0KFMudmFsdWUpLEQ9Uy5nYXVnZU9wdGlvbnN8fHttaW46MCxtYXg6MTAwfSxUPSh6LUQubWluKS8oRC5tYXgtRC5taW4pKjEwMCxBPTEyMCxVPTcwLHE9Ni8yKzIsb2U9NDAsTz1BLzIscmU9VS1xLHllPU8tb2UsQj1yZSxlZT1PK29lLFk9YE0gJHt5ZX0gJHtCfSBBICR7b2V9ICR7b2V9IDAgMCAxICR7ZWV9ICR7cmV9YCxQPU1hdGguUEkqb2UsSD1QLVAqVC8xMDAsRz1TLmNvbG9yfHxkLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgMjguOCUpIiwiaHNsKDIxMCA0MCUgNzglKSIpO2lmKEQudGhyZXNob2xkcyl7bGV0IFc9Wy4uLkQudGhyZXNob2xkc10uc29ydCgoc2UsemUpPT56ZS52YWx1ZS1zZS52YWx1ZSk7Zm9yKGxldCBzZSBvZiBXKWlmKHo+PXNlLnZhbHVlKXtHPXNlLmNvbG9yO2JyZWFrfX1yZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZ2F1Z2Utd3JhcHBlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ2F1Z2UtY29udGFpbmVyIj4KICAgICAgICAgIDxzdmcgY2xhc3M9ImdhdWdlLXN2ZyIgdmlld0JveD0iMCAwICR7QX0gJHtVfSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCI+CiAgICAgICAgICAgIDwhLS0gQmFja2dyb3VuZCBhcmMgLS0+CiAgICAgICAgICAgIDxwYXRoCiAgICAgICAgICAgICAgY2xhc3M9ImdhdWdlLWJhY2tncm91bmQiCiAgICAgICAgICAgICAgZD0iJHtZfSIKICAgICAgICAgICAgLz4KICAgICAgICAgICAgPCEtLSBGaWxsZWQgYXJjIC0tPgogICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgIGNsYXNzPSJnYXVnZS1maWxsIgogICAgICAgICAgICAgIGQ9IiR7WX0iCiAgICAgICAgICAgICAgc3Ryb2tlPSIke0d9IgogICAgICAgICAgICAgIHN0cm9rZS1kYXNoYXJyYXk9IiR7UH0iCiAgICAgICAgICAgICAgc3Ryb2tlLWRhc2hvZmZzZXQ9IiR7SH0iCiAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwhLS0gVmFsdWUgdGV4dCAtLT4KICAgICAgICAgICAgPHRleHQgY2xhc3M9ImdhdWdlLXRleHQiIHg9IiR7T30iIHk9IiR7cmUtOH0iIGRvbWluYW50LWJhc2VsaW5lPSJtaWRkbGUiPgogICAgICAgICAgICAgIDx0c3Bhbj4ke3p9PC90c3Bhbj4ke1MudW5pdD93YDx0c3BhbiBjbGFzcz0iZ2F1Z2UtdW5pdCIgZHg9IjIiIGR5PSIwIj4ke1MudW5pdH08L3RzcGFuPmA6IiJ9CiAgICAgICAgICAgIDwvdGV4dD4KICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyUGVyY2VudGFnZShTKXtsZXQgej10eXBlb2YgUy52YWx1ZT09Im51bWJlciI/Uy52YWx1ZTpwYXJzZUZsb2F0KFMudmFsdWUpLEQ9TWF0aC5taW4oMTAwLE1hdGgubWF4KDAseikpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJwZXJjZW50YWdlLXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InBlcmNlbnRhZ2UtdmFsdWUiPiR7RH0lPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icGVyY2VudGFnZS1iYXIiPgogICAgICAgICAgPGRpdiAKICAgICAgICAgICAgY2xhc3M9InBlcmNlbnRhZ2UtZmlsbCIgCiAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogJHtEfSU7ICR7Uy5jb2xvcj9gYmFja2dyb3VuZDogJHtTLmNvbG9yfWA6IiJ9IgogICAgICAgICAgPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyVHJlbmQoUyl7aWYoIVMudHJlbmREYXRhfHxTLnRyZW5kRGF0YS5sZW5ndGg8MilyZXR1cm4gd2A8ZGl2IGNsYXNzPSJ0aWxlLXZhbHVlIj4ke1MudmFsdWV9PC9kaXY+YDtsZXQgej1TLnRyZW5kRGF0YSxEPU1hdGgubWF4KC4uLnopLFQ9TWF0aC5taW4oLi4ueiksQT1ELVR8fDEsVT0zMDAsUj0zMixxPTIsb2U9ei5tYXAoKHJlLHllKT0+e2xldCBCPXllLyh6Lmxlbmd0aC0xKSpVLGVlPXErKFItMipxKS0ocmUtVCkvQSooUi0yKnEpO3JldHVybmAke0J9LCR7ZWV9YH0pLmpvaW4oIiAiKSxPPWAwLCR7Un0gJHtvZX0gJHtVfSwke1J9YDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0idHJlbmQtY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0cmVuZC1oZWFkZXIiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InRyZW5kLXZhbHVlIj4ke1MudmFsdWV9PC9zcGFuPgogICAgICAgICAgJHtTLnVuaXQ/d2A8c3BhbiBjbGFzcz0idHJlbmQtdW5pdCI+JHtTLnVuaXR9PC9zcGFuPmA6IiJ9CiAgICAgICAgICAke1MuZGVzY3JpcHRpb24/d2A8c3BhbiBjbGFzcz0idHJlbmQtbGFiZWwiPiR7Uy5kZXNjcmlwdGlvbn08L3NwYW4+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0cmVuZC1ncmFwaCI+CiAgICAgICAgICA8c3ZnIGNsYXNzPSJ0cmVuZC1zdmciIHZpZXdCb3g9IjAgMCAke1V9ICR7Un0iIHByZXNlcnZlQXNwZWN0UmF0aW89Im5vbmUiPgogICAgICAgICAgICA8cG9seWdvbiBjbGFzcz0idHJlbmQtYXJlYSIgcG9pbnRzPSIke099IiAvPgogICAgICAgICAgICA8cG9seWxpbmUgY2xhc3M9InRyZW5kLWxpbmUiIHBvaW50cz0iJHtvZX0iIC8+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlck11bHRpUGVyY2VudGFnZShTKXtpZighUy5wZXJjZW50YWdlc3x8Uy5wZXJjZW50YWdlcy5sZW5ndGg9PT0wKXJldHVybiB3YDxkaXYgY2xhc3M9InRpbGUtdmFsdWUiPiR7Uy52YWx1ZX08L2Rpdj5gO2xldCB6PVMucGVyY2VudGFnZXMuc2xpY2UoMCwzKTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibXVsdGktcGVyY2VudGFnZS13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJtdWx0aS1wZXJjZW50YWdlLWl0ZW1zIj4KICAgICAgICAgICR7ei5tYXAoRD0+e2xldCBUPU1hdGgubWluKDEwMCxNYXRoLm1heCgwLEQudmFsdWUpKTtyZXR1cm4gd2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdWx0aS1wZXJjZW50YWdlLWl0ZW0iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibXVsdGktcGVyY2VudGFnZS1oZWFkZXIiPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibXVsdGktcGVyY2VudGFnZS1sYWJlbCI+JHtELmxhYmVsfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im11bHRpLXBlcmNlbnRhZ2UtdmFsdWUiPiR7VH0lPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdWx0aS1wZXJjZW50YWdlLWJhciI+CiAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICBjbGFzcz0ibXVsdGktcGVyY2VudGFnZS1maWxsIgogICAgICAgICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogJHtUfSU7ICR7RC5jb2xvcj9gYmFja2dyb3VuZDogJHtELmNvbG9yfWA6IiJ9IgogICAgICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYH0pfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyQ3B1Q29yZXMoUyl7aWYoIVMuY29yZXNEYXRhfHxTLmNvcmVzRGF0YS5sZW5ndGg9PT0wKXJldHVybiB3YDxkaXYgY2xhc3M9InRpbGUtdmFsdWUiPiR7Uy52YWx1ZX08L2Rpdj5gO2xldCB6PVMuY29yZXNEYXRhLEQ9TWF0aC5yb3VuZCh6LnJlZHVjZSgob2UsTyk9Pm9lK08udXNhZ2UsMCkvei5sZW5ndGgpLFQ9aShvZT0+b2U8NTA/ImxvdyI6b2U8ODA/Im1lZGl1bSI6ImhpZ2giLCJnZXRDb2xvckNsYXNzIiksQT16Lmxlbmd0aCoyNCsoei5sZW5ndGgtMSkqMyxVPVMuY29sdW1uU3Bhbnx8MSxSPXRoaXMubWluVGlsZVdpZHRoKlUrKFUtMSkqdGhpcy5nYXAtMzIscT1BPFIqLjY2NjtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iY3B1LWNvcmVzLXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNwdS1jb3Jlcy1oZWFkZXIiPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdS1jb3Jlcy12YWx1ZSI+JHtEfTwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHUtY29yZXMtdW5pdCI+JTwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHUtY29yZXMtbGFiZWwiPiR7ei5sZW5ndGh9IGNvcmVzPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNwdS1jb3Jlcy1iYXJzICR7cT8iY2VudGVyZWQiOiIifSI+CiAgICAgICAgICAke3oubWFwKG9lPT57bGV0IE89TWF0aC5taW4oMTAwLE1hdGgubWF4KDAsb2UudXNhZ2UpKSxyZT1UKE8pO3JldHVybiB3YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdS1jb3JlLWJhci1jb250YWluZXIiIHRpdGxlPSJDb3JlICR7b2UubGFiZWx8fG9lLmlkfTogJHtPfSUiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3B1LWNvcmUtYmFyLXdyYXBwZXIiPgogICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImNwdS1jb3JlLWJhci1maWxsICR7cmV9IgogICAgICAgICAgICAgICAgICAgIHN0eWxlPSJoZWlnaHQ6ICR7T30lIgogICAgICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICR7ei5sZW5ndGg8PTE2P3dgCiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHUtY29yZS1sYWJlbCI+JHtvZS5sYWJlbHx8b2UuaWR9PC9zcGFuPgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYH0pfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Zm9ybWF0Qnl0ZXMoUyl7aWYoUz09PTApcmV0dXJuIjAgQiI7bGV0IHo9MTAyNCxEPVsiQiIsIktCIiwiTUIiLCJHQiIsIlRCIiwiUEIiXSxUPU1hdGguZmxvb3IoTWF0aC5sb2coUykvTWF0aC5sb2coeikpO3JldHVybiBwYXJzZUZsb2F0KChTL01hdGgucG93KHosVCkpLnRvRml4ZWQoMSkpKyIgIitEW1RdfXJlbmRlclBhcnRpdGlvbihTKXtpZighUy5wYXJ0aXRpb25EYXRhKXJldHVybiB3YDxkaXYgY2xhc3M9InRpbGUtdmFsdWUiPiR7Uy52YWx1ZX08L2Rpdj5gO2xldHt1c2VkOnosdG90YWw6RCxmaWxlc3lzdGVtOlQsbW91bnRQb2ludDpBfT1TLnBhcnRpdGlvbkRhdGEsVT1NYXRoLm1pbigxMDAsTWF0aC5tYXgoMCx6L0QqMTAwKSksUj1ELXoscT1pKCgpPT5VPj05MD8iY3JpdGljYWwiOlU+PTc1PyJ3YXJuaW5nIjoiIiwiZ2V0Q29sb3JDbGFzcyIpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJwYXJ0aXRpb24td3JhcHBlciI+CiAgICAgICAgPGRpdiBjbGFzcz0icGFydGl0aW9uLWhlYWRlciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0icGFydGl0aW9uLXBlcmNlbnRhZ2UiPiR7TWF0aC5yb3VuZChVKX0lPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBhcnRpdGlvbi1iYXIiPgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0icGFydGl0aW9uLWJhci1maWxsICR7cSgpfSIKICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAke1V9JSIKICAgICAgICAgID48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwYXJ0aXRpb24tc3RhdHMiPgogICAgICAgICAgPGRpdiBjbGFzcz0icGFydGl0aW9uLXN0YXQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icGFydGl0aW9uLXN0YXQtbGFiZWwiPlVzZWQ8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYXJ0aXRpb24tc3RhdC12YWx1ZSI+JHt0aGlzLmZvcm1hdEJ5dGVzKHopfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icGFydGl0aW9uLXN0YXQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icGFydGl0aW9uLXN0YXQtbGFiZWwiPkZyZWU8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYXJ0aXRpb24tc3RhdC12YWx1ZSI+JHt0aGlzLmZvcm1hdEJ5dGVzKFIpfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBhcnRpdGlvbi1tZXRhIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYXJ0aXRpb24tZmlsZXN5c3RlbSI+JHtUfTwvc3Bhbj4KICAgICAgICAgICR7QT93YDxzcGFuIGNsYXNzPSJwYXJ0aXRpb24tbW91bnRwb2ludCI+JHtBfTwvc3Bhbj5gOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRGlzayhTKXtpZighUy5kaXNrRGF0YSlyZXR1cm4gd2A8ZGl2IGNsYXNzPSJ0aWxlLXZhbHVlIj4ke1MudmFsdWV9PC9kaXY+YDtsZXR7Y2FwYWNpdHk6eixtb2RlbDpELHR5cGU6VCxpb3BzOkEsaGVhbHRoOlV9PVMuZGlza0RhdGEsUj1pKHE9PnE+PTcwPyJnb29kIjpxPj0zMD8id2FybmluZyI6ImNyaXRpY2FsIiwiZ2V0SGVhbHRoQ2xhc3MiKTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGlzay13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLWNhcGFjaXR5Ij4ke3RoaXMuZm9ybWF0Qnl0ZXMoeil9PC9kaXY+CiAgICAgICAgJHtEfHxUP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLW1vZGVsIj4KICAgICAgICAgICAgJHtEP3dgPHNwYW4+JHtEfTwvc3Bhbj5gOiIifQogICAgICAgICAgICAke1Q/d2A8c3BhbiBjbGFzcz0iZGlzay10eXBlLWJhZGdlIj4ke1R9PC9zcGFuPmA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICAgIDxkaXYgY2xhc3M9ImRpc2stbWV0cmljcyI+CiAgICAgICAgICAke0E/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1pb3BzIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLWlvcHMtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGlzay1pb3BzLWxhYmVsIj5SZWFkPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpc2staW9wcy12YWx1ZSI+JHtBLnJlYWQudG9Mb2NhbGVTdHJpbmcoKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1pb3BzLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpc2staW9wcy1sYWJlbCI+V3JpdGU8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGlzay1pb3BzLXZhbHVlIj4ke0Eud3JpdGUudG9Mb2NhbGVTdHJpbmcoKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICAgICR7VSE9PXZvaWQgMD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLWhlYWx0aCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1oZWFsdGgtaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkaXNrLWhlYWx0aC1sYWJlbCI+SGVhbHRoPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpc2staGVhbHRoLXZhbHVlIj4ke1V9JTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLWhlYWx0aC1iYXIiPgogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBjbGFzcz0iZGlzay1oZWFsdGgtZmlsbCAke1IoVSl9IgogICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6ICR7VX0lIgogICAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBoYW5kbGVHcmlkQWN0aW9uKFMpe1MuYWN0aW9uJiZhd2FpdCBTLmFjdGlvbigpfWFzeW5jIGhhbmRsZVRpbGVBY3Rpb24oUyx6KXtTLmFjdGlvbiYmYXdhaXQgUy5hY3Rpb24oKX1zaG93Q29udGV4dE1lbnUoUyx6KXtpZighei5hY3Rpb25zfHx6LmFjdGlvbnMubGVuZ3RoPT09MClyZXR1cm47Uy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY29udGV4dE1lbnVQb3NpdGlvbj17eDpTLmNsaWVudFgseTpTLmNsaWVudFl9LHRoaXMuY29udGV4dE1lbnVBY3Rpb25zPXouYWN0aW9ucyx0aGlzLmNvbnRleHRNZW51VmlzaWJsZT0hMDtsZXQgRD1pKCgpPT57dGhpcy5jb250ZXh0TWVudVZpc2libGU9ITEsZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLEQpfSwiY2xvc2VIYW5kbGVyIik7c2V0VGltZW91dCgoKT0+e2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixEKX0sMTAwKX1zdGF0aWN7T3IocixhKX19O3JldHVybiBqPXJ9KSgpfSk7dmFyIGI2LEwyLE53aSxSd2ksRndpLE93aSxuWHQsbFh0PWMoKCk9PntwZSgpO1JhKCk7R1ooKTtiNj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sTDI9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LE53aT0oKCk9PntsZXQgdD1bYWUoImRlbW8tZGFzaGJvYXJkLXZpZXciKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXTt2YXIgaD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVtb0Rhc2hib2FyZFZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgdT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtaKCldLGI2KHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZhdGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGY9PiJhY3RpdmF0ZWQiaW4gZiwiaGFzIiksZ2V0OmkoZj0+Zi5hY3RpdmF0ZWQsImdldCIpLHNldDppKChmLHApPT57Zi5hY3RpdmF0ZWQ9cH0sInNldCIpfSxtZXRhZGF0YTp1fSxvLGwpLGI2KG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOnV9LG51bGwsYSksaD1yPWUudmFsdWUsdSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp1fSksTDIocixhKX0jZT1MMih0aGlzLG8sITEpO2dldCBhY3RpdmF0ZWQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgYWN0aXZhdGVkKHUpe3RoaXMuI2U9dX1jdHg9TDIodGhpcyxsKTtzdGF0c1RpbGVzPVt7aWQ6InVzZXJzIix0aXRsZToiQWN0aXZlIFVzZXJzIix2YWx1ZToxMjM0LHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOnVzZXJzIixkZXNjcmlwdGlvbjoiT25saW5lIG5vdyIsY29sb3I6IiMyMmM1NWUifSx7aWQ6ImFwaS1jYWxscyIsdGl0bGU6IkFQSSBDYWxscyIsdmFsdWU6NDUyMDAsdHlwZToidHJlbmQiLGljb246Imx1Y2lkZTphY3Rpdml0eSIsZGVzY3JpcHRpb246IisxMiUgZnJvbSBsYXN0IGhvdXIiLGNvbG9yOiIjM2I4MmY2Iix0cmVuZERhdGE6WzMyZTMsMzVlMywzOGUzLDQxZTMsMzllMyw0MmUzLDQ1MjAwXX0se2lkOiJoZWFsdGgiLHRpdGxlOiJTeXN0ZW0gSGVhbHRoIix2YWx1ZTo5OS45LHVuaXQ6IiUiLHR5cGU6ImdhdWdlIixpY29uOiJsdWNpZGU6aGVhcnQtcHVsc2UiLGRlc2NyaXB0aW9uOiJBbGwgc3lzdGVtcyBvcGVyYXRpb25hbCIsY29sb3I6IiMxMGI5ODEiLGdhdWdlT3B0aW9uczp7bWluOjAsbWF4OjEwMCx0aHJlc2hvbGRzOlt7dmFsdWU6ODAsY29sb3I6IiNlZjQ0NDQifSx7dmFsdWU6OTUsY29sb3I6IiNmNTllMGIifSx7dmFsdWU6MTAwLGNvbG9yOiIjMTBiOTgxIn1dfX0se2lkOiJyZXNwb25zZSIsdGl0bGU6IkF2ZyBSZXNwb25zZSIsdmFsdWU6MTI3LHVuaXQ6Im1zIix0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTp0aW1lciIsZGVzY3JpcHRpb246Ii0xNW1zIGZyb20geWVzdGVyZGF5Iixjb2xvcjoiIzhiNWNmNiJ9LHtpZDoicmVzb3VyY2VzIix0aXRsZToiUmVzb3VyY2UgVXNhZ2UiLHZhbHVlOiIiLHR5cGU6Im11bHRpUGVyY2VudGFnZSIsaWNvbjoibHVjaWRlOnNlcnZlciIscGVyY2VudGFnZXM6W3tsYWJlbDoiQ1BVIix2YWx1ZTo2Nyxjb2xvcjoiIzNiODJmNiJ9LHtsYWJlbDoiTWVtb3J5Iix2YWx1ZTo4NCxjb2xvcjoiIzhiNWNmNiJ9LHtsYWJlbDoiRGlzayIsdmFsdWU6NDUsY29sb3I6IiMxMGI5ODEifV19LHtpZDoicmVxdWVzdHMiLHRpdGxlOiJSZXF1ZXN0cy9zZWMiLHZhbHVlOjE4NTAsdHlwZToidHJlbmQiLGljb246Imx1Y2lkZTp6YXAiLGRlc2NyaXB0aW9uOiJDdXJyZW50IHRocm91Z2hwdXQiLGNvbG9yOiIjMDZiNmQ0Iix0cmVuZERhdGE6WzEyMDAsMTQwMCwxMzUwLDE2MDAsMTc1MCwxNjgwLDE4NTBdfV07b25BY3RpdmF0ZSh1KXt0aGlzLmN0eD11LHRoaXMuYWN0aXZhdGVkPSEwLGNvbnNvbGUubG9nKCJEYXNoYm9hcmQgYWN0aXZhdGVkIHdpdGggY29udGV4dDoiLHUpLHUuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiRGFzaGJvYXJkIixncm91cHM6W3tuYW1lOiJRdWljayBBY2Nlc3MiLGljb25OYW1lOiJsdWNpZGU6emFwIixpdGVtczpbe2tleToiT3ZlcnZpZXciLGljb25OYW1lOiJsYXlvdXREYXNoYm9hcmQiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiT3ZlcnZpZXciKSwiYWN0aW9uIil9LHtrZXk6IlJlY2VudCIsaWNvbk5hbWU6ImNsb2NrIixiYWRnZTo1LGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiUmVjZW50IiksImFjdGlvbiIpfSx7dHlwZToiZGl2aWRlciJ9LHt0eXBlOiJhY3Rpb24iLGtleToiUmVmcmVzaCBEYXRhIixpY29uTmFtZToibHVjaWRlOnJlZnJlc2hDdyIsYWN0aW9uOmkoKCk9PmFsZXJ0KCJSZWZyZXNoaW5nIGRhc2hib2FyZCBkYXRhLi4uIiksImFjdGlvbiIpfV19LHtuYW1lOiJGaWx0ZXJzIixpY29uTmFtZToibHVjaWRlOmZpbHRlciIsaXRlbXM6W3t0eXBlOiJoZWFkZXIiLGxhYmVsOiJUaW1lIFJhbmdlIn0se3R5cGU6ImZpbHRlciIsa2V5OiJMaXZlIFVwZGF0ZXMiLGljb25OYW1lOiJsdWNpZGU6cmFkaW8iLGFjdGl2ZTohMCxvblRvZ2dsZTppKGY9PmNvbnNvbGUubG9nKCJMaXZlIHVwZGF0ZXM6IixmKSwib25Ub2dnbGUiKX0se3R5cGU6ImZpbHRlciIsa2V5OiJTaG93IEFyY2hpdmVkIixpY29uTmFtZToibHVjaWRlOmFyY2hpdmUiLGFjdGl2ZTohMSxvblRvZ2dsZTppKGY9PmNvbnNvbGUubG9nKCJTaG93IGFyY2hpdmVkOiIsZiksIm9uVG9nZ2xlIil9LHt0eXBlOiJkaXZpZGVyIn0se3R5cGU6Im11bHRpRmlsdGVyIixrZXk6IkRhdGEgU291cmNlcyIsaWNvbk5hbWU6Imx1Y2lkZTpkYXRhYmFzZSIsb3B0aW9uczpbe2tleToiYXBpIixsYWJlbDoiQVBJIFNlcnZlciIsY2hlY2tlZDohMCxpY29uTmFtZToibHVjaWRlOnNlcnZlciJ9LHtrZXk6IndlYiIsbGFiZWw6IldlYiBUcmFmZmljIixjaGVja2VkOiEwLGljb25OYW1lOiJsdWNpZGU6Z2xvYmUifSx7a2V5OiJtb2JpbGUiLGxhYmVsOiJNb2JpbGUgQXBwIixjaGVja2VkOiExLGljb25OYW1lOiJsdWNpZGU6c21hcnRwaG9uZSJ9XSxvbkNoYW5nZTppKGY9PmNvbnNvbGUubG9nKCJEYXRhIHNvdXJjZXM6IixmKSwib25DaGFuZ2UiKX1dfSx7bmFtZToiQW5hbHl0aWNzIixpY29uTmFtZToibHVjaWRlOmJhckNoYXJ0MyIsaXRlbXM6W3trZXk6Ik1ldHJpY3MiLGljb25OYW1lOiJhY3Rpdml0eSIsYWN0aW9uOmkoKCk9PmNvbnNvbGUubG9nKCJNZXRyaWNzIiksImFjdGlvbiIpfSx7a2V5OiJSZXBvcnRzIixpY29uTmFtZToiZmlsZVRleHQiLGJhZGdlOiJuZXciLGJhZGdlVmFyaWFudDoic3VjY2VzcyIsYWN0aW9uOmkoKCk9PmNvbnNvbGUubG9nKCJSZXBvcnRzIiksImFjdGlvbiIpfSx7dHlwZToiZGl2aWRlciJ9LHt0eXBlOiJsaW5rIixrZXk6IkFuYWx5dGljcyBEb2NzIixpY29uTmFtZToibHVjaWRlOmV4dGVybmFsTGluayIsaHJlZjoiaHR0cHM6Ly9kb2NzLmV4YW1wbGUuY29tL2FuYWx5dGljcyJ9XX1dfSksdS5hcHB1aS5zZXRDb250ZW50VGFicyhbe2tleToiT3ZlcnZpZXciLGljb25OYW1lOiJsdWNpZGU6bGF5b3V0RGFzaGJvYXJkIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIk92ZXJ2aWV3IHRhYiIpLCJhY3Rpb24iKX0se2tleToiQW5hbHl0aWNzIixpY29uTmFtZToibHVjaWRlOmJhckNoYXJ0IixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIkFuYWx5dGljcyB0YWIiKSwiYWN0aW9uIil9LHtrZXk6IlJlcG9ydHMiLGljb25OYW1lOiJsdWNpZGU6ZmlsZVRleHQiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiUmVwb3J0cyB0YWIiKSwiYWN0aW9uIil9XSl9b25EZWFjdGl2YXRlKCl7dGhpcy5hY3RpdmF0ZWQ9ITEsY29uc29sZS5sb2coIkRhc2hib2FyZCBkZWFjdGl2YXRlZCIpfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8c3R5bGU+CiAgICAgICAgOmhvc3QgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgY29sb3I6ICNhM2EzYTM7CiAgICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCAnSW50ZXInLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmOwogICAgICAgIH0KICAgICAgICBoMSB7IGNvbG9yOiAjZmFmYWZhOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDI0cHg7IG1hcmdpbi1ib3R0b206IDhweDsgfQogICAgICAgIHAgeyBjb2xvcjogIzczNzM3MzsgbWFyZ2luLWJvdHRvbTogMzJweDsgfQogICAgICAgIGRlZXMtc3RhdHNncmlkIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgfQoKICAgICAgICAuY3R4LWFjdGlvbnMgewogICAgICAgICAgbWFyZ2luLXRvcDogMzJweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMDIpOwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjA4KTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICB9CiAgICAgICAgLmN0eC1hY3Rpb25zIGgyIHsgY29sb3I6ICNmYWZhZmE7IGZvbnQtc2l6ZTogMTZweDsgZm9udC13ZWlnaHQ6IDYwMDsgbWFyZ2luLWJvdHRvbTogMTZweDsgfQogICAgICAgIC5idXR0b24tZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgfQogICAgICAgIC5jdHgtYnRuIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpOwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMyk7CiAgICAgICAgICBjb2xvcjogIzYwYTVmYTsKICAgICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgfQogICAgICAgIC5jdHgtYnRuOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpOwogICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC41KTsKICAgICAgICB9CiAgICAgICAgLmN0eC1idG4uZGFuZ2VyIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMSk7CiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMyk7CiAgICAgICAgICBjb2xvcjogI2Y4NzE3MTsKICAgICAgICB9CiAgICAgICAgLmN0eC1idG4uZGFuZ2VyOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7CiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjM5LCA2OCwgNjgsIDAuNSk7CiAgICAgICAgfQogICAgICAgIC5jdHgtYnRuLnN1Y2Nlc3MgewogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgzNCwgMTk3LCA5NCwgMC4xKTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgzNCwgMTk3LCA5NCwgMC4zKTsKICAgICAgICAgIGNvbG9yOiAjNGFkZTgwOwogICAgICAgIH0KICAgICAgICAuY3R4LWJ0bi5zdWNjZXNzOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMik7CiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDE5NywgOTQsIDAuNSk7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8aDE+RGFzaGJvYXJkPC9oMT4KICAgICAgPHA+V2VsY29tZSBiYWNrISBIZXJlJ3MgYW4gb3ZlcnZpZXcgb2YgeW91ciBzeXN0ZW0uPC9wPgogICAgICA8ZGVlcy1zdGF0c2dyaWQKICAgICAgICAudGlsZXM9JHt0aGlzLnN0YXRzVGlsZXN9CiAgICAgICAgQHRpbGUtYWN0aW9uPSR7dT0+Y29uc29sZS5sb2coIlRpbGUgYWN0aW9uOiIsdS5kZXRhaWwpfQogICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KCiAgICAgIDxkaXYgY2xhc3M9ImN0eC1hY3Rpb25zIj4KICAgICAgICA8aDI+Q29udGV4dCBBY3Rpb25zIChjdHguYXBwdWkpPC9oMj4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldE1haW5NZW51VmlzaWJsZSghMSl9PkhpZGUgTWFpbiBNZW51PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIHN1Y2Nlc3MiIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuc2V0TWFpbk1lbnVWaXNpYmxlKCEwKX0+U2hvdyBNYWluIE1lbnU8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4iIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuc2V0U2Vjb25kYXJ5TWVudVZpc2libGUoITEpfT5IaWRlIFNlY29uZGFyeSBNZW51PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIHN1Y2Nlc3MiIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuc2V0U2Vjb25kYXJ5TWVudVZpc2libGUoITApfT5TaG93IFNlY29uZGFyeSBNZW51PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldENvbnRlbnRUYWJzVmlzaWJsZSghMSl9PkhpZGUgQ29udGVudCBUYWJzPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIHN1Y2Nlc3MiIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuc2V0Q29udGVudFRhYnNWaXNpYmxlKCEwKX0+U2hvdyBDb250ZW50IFRhYnM8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4iIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuc2V0TWFpbk1lbnVDb2xsYXBzZWQoITApfT5Db2xsYXBzZSBNYWluIE1lbnU8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4gc3VjY2VzcyIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRNYWluTWVudUNvbGxhcHNlZCghMSl9PkV4cGFuZCBNYWluIE1lbnU8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4iIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuc2V0QnJlYWRjcnVtYnMoWyJEYXNoYm9hcmQiLCJPdmVydmlldyIsIlN0YXRzIl0pfT5TZXQgQnJlYWRjcnVtYnM8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4iIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkubmF2aWdhdGVUb1ZpZXcoInByb2plY3RzIil9PkdvIHRvIFByb2plY3RzPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLm5hdmlnYXRlVG9WaWV3KCJzZXR0aW5ncyIse3NlY3Rpb246InNlY3VyaXR5In0pfT5HbyB0byBTZXR0aW5ncy9TZWN1cml0eTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5hY3Rpdml0eUxvZy5hZGQoe3R5cGU6ImN1c3RvbSIsdXNlcjoiRGVtbyBVc2VyIixtZXNzYWdlOiJCdXR0b24gY2xpY2tlZCBmcm9tIGN0eCEiLGljb25OYW1lOiJsdWNpZGU6bW91c2UtcG9pbnRlci1jbGljayJ9KX0+QWRkIEFjdGl2aXR5IEVudHJ5PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldE1haW5NZW51QmFkZ2UoInRhc2tzIiw5OSl9PlNldCBUYXNrcyBCYWRnZSB0byA5OTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biBkYW5nZXIiIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuY2xlYXJNYWluTWVudUJhZGdlKCJ0YXNrcyIpfT5DbGVhciBUYXNrcyBCYWRnZTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRDb250ZW50VGFic0F1dG9IaWRlKCEwLDEpfT5BdXRvLWhpZGUgVGFicyAo4omkMSk8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4gZGFuZ2VyIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldENvbnRlbnRUYWJzQXV0b0hpZGUoITEpfT5EaXNhYmxlIEF1dG8taGlkZTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biBzdWNjZXNzIiBAY2xpY2s9JHsoKT0+dGhpcy5hZGRDbG9zZWFibGVUYWIoKX0+QWRkIENsb3NlYWJsZSBUYWI8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXRhYkNvdW50ZXI9MDthZGRDbG9zZWFibGVUYWIoKXtpZighdGhpcy5jdHgpcmV0dXJuO3RoaXMudGFiQ291bnRlcisrO2xldCB1PWBUYWIgJHt0aGlzLnRhYkNvdW50ZXJ9YDt0aGlzLmN0eC5hcHB1aS5hZGRDb250ZW50VGFiKHtrZXk6dSxpY29uTmFtZToibHVjaWRlOmZpbGUiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZyhgU2VsZWN0ZWQgJHt1fWApLCJhY3Rpb24iKSxjbG9zZWFibGU6ITAsb25DbG9zZTppKCgpPT57dGhpcy5jdHg/LmFwcHVpLnJlbW92ZUNvbnRlbnRUYWIodSl9LCJvbkNsb3NlIil9KX19O3JldHVybiBoPXJ9KSgpLFJ3aT0oKCk9PntsZXQgdD1bYWUoImRlbW8tc2V0dGluZ3MtdmlldyIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdO3ZhciBwPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZW1vU2V0dGluZ3NWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGc9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bWigpXSxoPVtaKCldLGI2KHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VjdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh2PT4ic2VjdGlvbiJpbiB2LCJoYXMiKSxnZXQ6aSh2PT52LnNlY3Rpb24sImdldCIpLHNldDppKCh2LHgpPT57di5zZWN0aW9uPXh9LCJzZXQiKX0sbWV0YWRhdGE6Z30sbyxsKSxiNih0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imhhc0NoYW5nZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+Imhhc0NoYW5nZXMiaW4gdiwiaGFzIiksZ2V0Omkodj0+di5oYXNDaGFuZ2VzLCJnZXQiKSxzZXQ6aSgodix4KT0+e3YuaGFzQ2hhbmdlcz14fSwic2V0Iil9LG1ldGFkYXRhOmd9LHUsZiksYjYobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Z30sbnVsbCxhKSxwPXI9ZS52YWx1ZSxnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmd9KSxMMihyLGEpfSNlPUwyKHRoaXMsbywiZ2VuZXJhbCIpO2dldCBzZWN0aW9uKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNlY3Rpb24oZyl7dGhpcy4jZT1nfSN0PShMMih0aGlzLGwpLEwyKHRoaXMsdSwhMSkpO2dldCBoYXNDaGFuZ2VzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGhhc0NoYW5nZXMoZyl7dGhpcy4jdD1nfWFwcHVpPUwyKHRoaXMsZik7b25BY3RpdmF0ZShnKXt0aGlzLmFwcHVpPWcuYXBwdWksY29uc29sZS5sb2coIlNldHRpbmdzIGFjdGl2YXRlZCB3aXRoIHBhcmFtczoiLGcucGFyYW1zKSxnLnBhcmFtcz8uc2VjdGlvbiYmKHRoaXMuc2VjdGlvbj1nLnBhcmFtcy5zZWN0aW9uKSxnLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IlNldHRpbmdzIixncm91cHM6W3tuYW1lOiJBY2NvdW50IixpY29uTmFtZToibHVjaWRlOnVzZXIiLGl0ZW1zOlt7a2V5OiJnZW5lcmFsIixpY29uTmFtZToic2V0dGluZ3MiLGFjdGlvbjppKCgpPT50aGlzLnNob3dTZWN0aW9uKCJnZW5lcmFsIiksImFjdGlvbiIpfSx7a2V5OiJwcm9maWxlIixpY29uTmFtZToidXNlciIsYWN0aW9uOmkoKCk9PnRoaXMuc2hvd1NlY3Rpb24oInByb2ZpbGUiKSwiYWN0aW9uIil9LHtrZXk6InNlY3VyaXR5IixpY29uTmFtZToic2hpZWxkIixhY3Rpb246aSgoKT0+dGhpcy5zaG93U2VjdGlvbigic2VjdXJpdHkiKSwiYWN0aW9uIil9XX0se25hbWU6IlByZWZlcmVuY2VzIixpY29uTmFtZToibHVjaWRlOnNsaWRlcnMiLGl0ZW1zOlt7a2V5OiJub3RpZmljYXRpb25zIixpY29uTmFtZToiYmVsbCIsYmFkZ2U6MyxhY3Rpb246aSgoKT0+dGhpcy5zaG93U2VjdGlvbigibm90aWZpY2F0aW9ucyIpLCJhY3Rpb24iKX0se2tleToiYXBwZWFyYW5jZSIsaWNvbk5hbWU6InBhbGV0dGUiLGFjdGlvbjppKCgpPT50aGlzLnNob3dTZWN0aW9uKCJhcHBlYXJhbmNlIiksImFjdGlvbiIpfV19XX0pLGcuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudVNlbGVjdGlvbih0aGlzLnNlY3Rpb24pLGcuYXBwdWkuc2V0Q29udGVudFRhYnMoW10pfW9uRGVhY3RpdmF0ZSgpe2NvbnNvbGUubG9nKCJTZXR0aW5ncyBkZWFjdGl2YXRlZCIpLHRoaXMuaGFzQ2hhbmdlcz0hMX1jYW5EZWFjdGl2YXRlKCl7cmV0dXJuIHRoaXMuaGFzQ2hhbmdlcz8iWW91IGhhdmUgdW5zYXZlZCBjaGFuZ2VzLiBMZWF2ZSBhbnl3YXk/IjohMH1zaG93U2VjdGlvbihnKXt0aGlzLnNlY3Rpb249Zyx0aGlzLmFwcHVpPy5zZXRTZWNvbmRhcnlNZW51U2VsZWN0aW9uKGcpfXNpbXVsYXRlQ2hhbmdlKCl7dGhpcy5oYXNDaGFuZ2VzPSEwfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8c3R5bGU+CiAgICAgICAgOmhvc3QgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgY29sb3I6ICNhM2EzYTM7CiAgICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCAnSW50ZXInLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmOwogICAgICAgIH0KICAgICAgICBoMSB7IGNvbG9yOiAjZmFmYWZhOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDI0cHg7IG1hcmdpbi1ib3R0b206IDhweDsgfQogICAgICAgIHAgeyBjb2xvcjogIzczNzM3MzsgbWFyZ2luLWJvdHRvbTogMjRweDsgfQogICAgICAgIC5zZWN0aW9uLW5hbWUgewogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjA1KTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgICBjb2xvcjogI2ZhZmFmYTsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgfQogICAgICAgIC5hY3Rpb25zIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgfQogICAgICAgIGJ1dHRvbiB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjM2I4MmY2OwogICAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgfQogICAgICAgIGJ1dHRvbjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjU2M2ViOwogICAgICAgIH0KICAgICAgICAud2FybmluZyB7CiAgICAgICAgICBjb2xvcjogI2ZiYmYyNDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8aDE+U2V0dGluZ3M8L2gxPgogICAgICA8cD5NYW5hZ2UgeW91ciBhY2NvdW50IGFuZCBhcHBsaWNhdGlvbiBwcmVmZXJlbmNlcy48L3A+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbmFtZSI+CiAgICAgICAgQ3VycmVudCBzZWN0aW9uOiA8c3Ryb25nPiR7dGhpcy5zZWN0aW9ufTwvc3Ryb25nPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucyI+CiAgICAgICAgPGJ1dHRvbiBAY2xpY2s9JHsoKT0+dGhpcy5zaW11bGF0ZUNoYW5nZSgpfT5NYWtlIENoYW5nZXM8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICAgICR7dGhpcy5oYXNDaGFuZ2VzP3dgPHAgY2xhc3M9Indhcm5pbmciPllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcy4gTmF2aWdhdGlvbiB3aWxsIHByb21wdCBmb3IgY29uZmlybWF0aW9uLjwvcD5gOiIifQogICAgYH19O3JldHVybiBwPXJ9KSgpLEZ3aT0oKCk9PntsZXQgdD1bYWUoImRlbW8tcHJvamVjdHMtdmlldyIpXSxlLGE9W10scixzPWNlO3ZhciBuPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZW1vUHJvamVjdHNWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7YjYobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6b30sbnVsbCxhKSxuPXI9ZS52YWx1ZSxvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm99KSxMMihyLGEpfW9uQWN0aXZhdGUobyl7by5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJQcm9qZWN0cyIsZ3JvdXBzOlt7bmFtZToiTXkgUHJvamVjdHMiLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVyIixpdGVtczpbe2tleToiQWN0aXZlIixpY29uTmFtZToiZm9sZGVyIixiYWRnZTozLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiQWN0aXZlIiksImFjdGlvbiIpfSx7a2V5OiJBcmNoaXZlZCIsaWNvbk5hbWU6ImFyY2hpdmUiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiQXJjaGl2ZWQiKSwiYWN0aW9uIil9LHtrZXk6IlNoYXJlZCIsaWNvbk5hbWU6InVzZXJzIixiYWRnZToyLGJhZGdlVmFyaWFudDoid2FybmluZyIsYWN0aW9uOmkoKCk9PmNvbnNvbGUubG9nKCJTaGFyZWQiKSwiYWN0aW9uIil9XX0se25hbWU6IlF1aWNrIEFjdGlvbnMiLGljb25OYW1lOiJsdWNpZGU6emFwIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJOZXcgUHJvamVjdCIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJQbHVzIixhY3Rpb246aSgoKT0+YWxlcnQoIkNyZWF0ZSBuZXcgcHJvamVjdCIpLCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJJbXBvcnQiLGljb25OYW1lOiJsdWNpZGU6ZG93bmxvYWQiLGFjdGlvbjppKCgpPT5hbGVydCgiSW1wb3J0IHByb2plY3QiKSwiYWN0aW9uIil9LHt0eXBlOiJkaXZpZGVyIn0se3R5cGU6ImxpbmsiLGtleToiVGVtcGxhdGVzIixpY29uTmFtZToibHVjaWRlOmxheW91dFRlbXBsYXRlIixocmVmOiJodHRwczovL3RlbXBsYXRlcy5leGFtcGxlLmNvbSJ9XX1dfSksby5hcHB1aS5zZXRDb250ZW50VGFicyhbe2tleToiR3JpZCIsaWNvbk5hbWU6Imx1Y2lkZTpncmlkIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIkdyaWQgdmlldyIpLCJhY3Rpb24iKX0se2tleToiTGlzdCIsaWNvbk5hbWU6Imx1Y2lkZTpsaXN0IixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIkxpc3QgdmlldyIpLCJhY3Rpb24iKX0se2tleToiQm9hcmQiLGljb25OYW1lOiJsdWNpZGU6a2FuYmFuIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIkJvYXJkIHZpZXciKSwiYWN0aW9uIil9XSl9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICBjb2xvcjogI2EzYTNhMzsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWY7CiAgICAgICAgfQogICAgICAgIGgxIHsgY29sb3I6ICNmYWZhZmE7IGZvbnQtd2VpZ2h0OiA2MDA7IGZvbnQtc2l6ZTogMjRweDsgbWFyZ2luLWJvdHRvbTogMjRweDsgfQogICAgICAgIC5wcm9qZWN0cyB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICB9CiAgICAgICAgLnByb2plY3QgewogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjAzKTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnM7CiAgICAgICAgfQogICAgICAgIC5wcm9qZWN0OmhvdmVyIHsKICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjIpOwogICAgICAgIH0KICAgICAgICAucHJvamVjdCBoMyB7IGNvbG9yOiAjZmFmYWZhOyBtYXJnaW46IDAgMCA4cHggMDsgZm9udC1zaXplOiAxNnB4OyB9CiAgICAgICAgLnByb2plY3QgcCB7IGNvbG9yOiAjNzM3MzczOyBtYXJnaW46IDA7IGZvbnQtc2l6ZTogMTNweDsgfQogICAgICAgIC5iYWRnZSB7CiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMTQ1MzJkOwogICAgICAgICAgY29sb3I6ICM0YWRlODA7CiAgICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOXB4OwogICAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxoMT5Qcm9qZWN0czwvaDE+CiAgICAgIDxkaXYgY2xhc3M9InByb2plY3RzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9qZWN0Ij4KICAgICAgICAgIDxoMz5Gcm9udGVuZCBBcHAgPHNwYW4gY2xhc3M9ImJhZGdlIj5BY3RpdmU8L3NwYW4+PC9oMz4KICAgICAgICAgIDxwPlJlYWN0LWJhc2VkIGRhc2hib2FyZCBhcHBsaWNhdGlvbjwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9qZWN0Ij4KICAgICAgICAgIDxoMz5BUEkgU2VydmVyIDxzcGFuIGNsYXNzPSJiYWRnZSI+QWN0aXZlPC9zcGFuPjwvaDM+CiAgICAgICAgICA8cD5Ob2RlLmpzIFJFU1QgQVBJIGJhY2tlbmQ8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvamVjdCI+CiAgICAgICAgICA8aDM+TW9iaWxlIEFwcCA8c3BhbiBjbGFzcz0iYmFkZ2UiPkFjdGl2ZTwvc3Bhbj48L2gzPgogICAgICAgICAgPHA+UmVhY3QgTmF0aXZlIGlPUy9BbmRyb2lkIGFwcDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9qZWN0Ij4KICAgICAgICAgIDxoMz5Eb2N1bWVudGF0aW9uPC9oMz4KICAgICAgICAgIDxwPlRlY2huaWNhbCBkb2N1bWVudGF0aW9uIHNpdGU8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH19O3JldHVybiBuPXJ9KSgpLE93aT0oKCk9PntsZXQgdD1bYWUoImRlbW8tdGFza3MtdmlldyIpXSxlLGE9W10scixzPWNlO3ZhciBuPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZW1vVGFza3NWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7YjYobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6b30sbnVsbCxhKSxuPXI9ZS52YWx1ZSxvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm99KSxMMihyLGEpfW9uQWN0aXZhdGUobyl7by5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJUYXNrcyIsZ3JvdXBzOlt7bmFtZToiVmlld3MiLGljb25OYW1lOiJsdWNpZGU6ZXllIixpdGVtczpbe2tleToiQWxsIFRhc2tzIixpY29uTmFtZToibGlzdCIsYmFkZ2U6MTIsYWN0aW9uOmkoKCk9PmNvbnNvbGUubG9nKCJBbGwiKSwiYWN0aW9uIil9LHtrZXk6IlRvZGF5IixpY29uTmFtZToiY2FsZW5kYXIiLGJhZGdlOjMsYWN0aW9uOmkoKCk9PmNvbnNvbGUubG9nKCJUb2RheSIpLCJhY3Rpb24iKX0se2tleToiVXBjb21pbmciLGljb25OYW1lOiJjbG9jayIsYWN0aW9uOmkoKCk9PmNvbnNvbGUubG9nKCJVcGNvbWluZyIpLCJhY3Rpb24iKX0se2tleToiQ29tcGxldGVkIixpY29uTmFtZToiY2hlY2tDaXJjbGUiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiQ29tcGxldGVkIiksImFjdGlvbiIpfV19LHtuYW1lOiJGaWx0ZXJzIixpY29uTmFtZToibHVjaWRlOmZpbHRlciIsaXRlbXM6W3t0eXBlOiJoZWFkZXIiLGxhYmVsOiJQcmlvcml0eSJ9LHt0eXBlOiJtdWx0aUZpbHRlciIsa2V5OiJQcmlvcml0eSIsaWNvbk5hbWU6Imx1Y2lkZTpmbGFnIixvcHRpb25zOlt7a2V5OiJoaWdoIixsYWJlbDoiSGlnaCIsY2hlY2tlZDohMCxpY29uTmFtZToibHVjaWRlOmFsZXJ0Q2lyY2xlIn0se2tleToibWVkaXVtIixsYWJlbDoiTWVkaXVtIixjaGVja2VkOiEwLGljb25OYW1lOiJsdWNpZGU6bWludXNDaXJjbGUifSx7a2V5OiJsb3ciLGxhYmVsOiJMb3ciLGNoZWNrZWQ6ITEsaWNvbk5hbWU6Imx1Y2lkZTpjaXJjbGUifV0sb25DaGFuZ2U6aShsPT5jb25zb2xlLmxvZygiUHJpb3JpdHkgZmlsdGVyOiIsbCksIm9uQ2hhbmdlIil9LHt0eXBlOiJkaXZpZGVyIn0se3R5cGU6ImhlYWRlciIsbGFiZWw6Ik9wdGlvbnMifSx7dHlwZToiZmlsdGVyIixrZXk6IlNob3cgU3VidGFza3MiLGljb25OYW1lOiJsdWNpZGU6bGlzdFRyZWUiLGFjdGl2ZTohMCxvblRvZ2dsZTppKGw9PmNvbnNvbGUubG9nKCJTaG93IHN1YnRhc2tzOiIsbCksIm9uVG9nZ2xlIil9LHt0eXBlOiJmaWx0ZXIiLGtleToiU2hvdyBDb21wbGV0ZWQiLGljb25OYW1lOiJsdWNpZGU6Y2hlY2tTcXVhcmUiLGFjdGl2ZTohMSxvblRvZ2dsZTppKGw9PmNvbnNvbGUubG9nKCJTaG93IGNvbXBsZXRlZDoiLGwpLCJvblRvZ2dsZSIpfV19LHtuYW1lOiJBY3Rpb25zIixpY29uTmFtZToibHVjaWRlOnphcCIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiQWRkIFRhc2siLGljb25OYW1lOiJsdWNpZGU6cGx1cyIsYWN0aW9uOmkoKCk9PmFsZXJ0KCJBZGQgbmV3IHRhc2siKSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiSW1wb3J0IFRhc2tzIixpY29uTmFtZToibHVjaWRlOnVwbG9hZCIsYWN0aW9uOmkoKCk9PmFsZXJ0KCJJbXBvcnQgdGFza3MiKSwiYWN0aW9uIil9LHt0eXBlOiJkaXZpZGVyIn0se3R5cGU6ImFjdGlvbiIsa2V5OiJDbGVhciBDb21wbGV0ZWQiLGljb25OYW1lOiJsdWNpZGU6dHJhc2gyIix2YXJpYW50OiJkYW5nZXIiLGNvbmZpcm1NZXNzYWdlOiJEZWxldGUgYWxsIGNvbXBsZXRlZCB0YXNrcz8iLGFjdGlvbjppKCgpPT5hbGVydCgiQ2xlYXJlZCBjb21wbGV0ZWQgdGFza3MiKSwiYWN0aW9uIil9XX1dfSksby5hcHB1aS5zZXRDb250ZW50VGFicyhbe2tleToiTGlzdCIsaWNvbk5hbWU6Imx1Y2lkZTpsaXN0IixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIkxpc3QiKSwiYWN0aW9uIil9LHtrZXk6IkNhbGVuZGFyIixpY29uTmFtZToibHVjaWRlOmNhbGVuZGFyIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIkNhbGVuZGFyIiksImFjdGlvbiIpfV0pfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8c3R5bGU+CiAgICAgICAgOmhvc3QgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgY29sb3I6ICNhM2EzYTM7CiAgICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCAnSW50ZXInLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmOwogICAgICAgIH0KICAgICAgICBoMSB7IGNvbG9yOiAjZmFmYWZhOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDI0cHg7IG1hcmdpbi1ib3R0b206IDI0cHg7IH0KICAgICAgICAudGFzay1saXN0IHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgfQogICAgICAgIC50YXNrIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjAzKTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgfQogICAgICAgIC5jaGVja2JveCB7CiAgICAgICAgICB3aWR0aDogMThweDsKICAgICAgICAgIGhlaWdodDogMThweDsKICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICM1MjUyNTI7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQogICAgICAgIC50YXNrLXRleHQgeyBjb2xvcjogI2ZhZmFmYTsgZmxleDogMTsgfQogICAgICAgIC5kdWUtZGF0ZSB7IGNvbG9yOiAjNzM3MzczOyBmb250LXNpemU6IDEycHg7IH0KICAgICAgICAucHJpb3JpdHkgewogICAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICB9CiAgICAgICAgLnByaW9yaXR5LmhpZ2ggeyBiYWNrZ3JvdW5kOiAjNDUwYTBhOyBjb2xvcjogI2Y4NzE3MTsgfQogICAgICAgIC5wcmlvcml0eS5tZWRpdW0geyBiYWNrZ3JvdW5kOiAjNDUxYTAzOyBjb2xvcjogI2ZiYmYyNDsgfQogICAgICA8L3N0eWxlPgogICAgICA8aDE+VGFza3M8L2gxPgogICAgICA8ZGl2IGNsYXNzPSJ0YXNrLWxpc3QiPgogICAgICAgIDxkaXYgY2xhc3M9InRhc2siPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hlY2tib3giPjwvZGl2PgogICAgICAgICAgPHNwYW4gY2xhc3M9InRhc2stdGV4dCI+UmV2aWV3IHB1bGwgcmVxdWVzdCAjNDI8L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iZHVlLWRhdGUiPlRvZGF5PC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9InByaW9yaXR5IGhpZ2giPkhpZ2g8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idGFzayI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGVja2JveCI+PC9kaXY+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idGFzay10ZXh0Ij5VcGRhdGUgZG9jdW1lbnRhdGlvbjwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJkdWUtZGF0ZSI+VG9tb3Jyb3c8L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0icHJpb3JpdHkgbWVkaXVtIj5NZWRpdW08L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idGFzayI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGVja2JveCI+PC9kaXY+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idGFzay10ZXh0Ij5Xcml0ZSB1bml0IHRlc3RzPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImR1ZS1kYXRlIj5EZWMgMjA8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH19O3JldHVybiBuPXJ9KSgpLG5YdD1pKCgpPT57bGV0IHQ9e2JyYW5kaW5nOntsb2dvSWNvbjoibHVjaWRlOmJveCIsbG9nb1RleHQ6IkFjbWUgQXBwIn0sYXBwQmFyOnttZW51SXRlbXM6W3tuYW1lOiJGaWxlIixhY3Rpb246aShhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6Ik5ldyBQcm9qZWN0IixzaG9ydGN1dDoiQ21kK04iLGljb25OYW1lOiJmaWxlUGx1cyIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIk5ldyIpLCJhY3Rpb24iKX0se25hbWU6Ik9wZW4uLi4iLHNob3J0Y3V0OiJDbWQrTyIsaWNvbk5hbWU6ImZvbGRlck9wZW4iLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIiksImFjdGlvbiIpfSx7bmFtZToiUmVjZW50IFByb2plY3RzIixhY3Rpb246aShhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6Im15LWFwcCIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIk9wZW4gbXktYXBwIiksImFjdGlvbiIpfSx7bmFtZToiY29tcG9uZW50LWxpYiIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIk9wZW4gY29tcG9uZW50LWxpYiIpLCJhY3Rpb24iKX1dfSx7ZGl2aWRlcjohMH0se25hbWU6IlNhdmUgQWxsIixzaG9ydGN1dDoiQ21kK1MiLGljb25OYW1lOiJzYXZlIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiU2F2ZSIpLCJhY3Rpb24iKX1dfSx7bmFtZToiRWRpdCIsYWN0aW9uOmkoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJVbmRvIixzaG9ydGN1dDoiQ21kK1oiLGljb25OYW1lOiJ1bmRvIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiVW5kbyIpLCJhY3Rpb24iKX0se25hbWU6IlJlZG8iLHNob3J0Y3V0OiJDbWQrU2hpZnQrWiIsaWNvbk5hbWU6InJlZG8iLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJSZWRvIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkN1dCIsc2hvcnRjdXQ6IkNtZCtYIixpY29uTmFtZToic2Npc3NvcnMiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJDdXQiKSwiYWN0aW9uIil9LHtuYW1lOiJDb3B5IixzaG9ydGN1dDoiQ21kK0MiLGljb25OYW1lOiJjb3B5IixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiQ29weSIpLCJhY3Rpb24iKX0se25hbWU6IlBhc3RlIixzaG9ydGN1dDoiQ21kK1YiLGljb25OYW1lOiJjbGlwYm9hcmQiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJQYXN0ZSIpLCJhY3Rpb24iKX1dfSx7bmFtZToiVmlldyIsYWN0aW9uOmkoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJUb2dnbGUgU2lkZWJhciIsc2hvcnRjdXQ6IkNtZCtCIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiVG9nZ2xlIHNpZGViYXIiKSwiYWN0aW9uIil9LHtuYW1lOiJUb2dnbGUgQWN0aXZpdHkgTG9nIixzaG9ydGN1dDoiQ21kK1NoaWZ0K0EiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJUb2dnbGUgYWN0aXZpdHkiKSwiYWN0aW9uIil9XX0se25hbWU6IkhlbHAiLGFjdGlvbjppKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiRG9jdW1lbnRhdGlvbiIsaWNvbk5hbWU6ImJvb2siLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJEb2NzIiksImFjdGlvbiIpfSx7bmFtZToiS2V5Ym9hcmQgU2hvcnRjdXRzIixpY29uTmFtZToia2V5Ym9hcmQiLHNob3J0Y3V0OiJDbWQrLyIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNob3J0Y3V0cyIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJBYm91dCIsaWNvbk5hbWU6ImluZm8iLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJBYm91dCIpLCJhY3Rpb24iKX1dfV0sYnJlYWRjcnVtYnM6IkRhc2hib2FyZCIsc2hvd1dpbmRvd0NvbnRyb2xzOiEwLHNob3dTZWFyY2g6ITAsdXNlcjp7bmFtZToiSmFuZSBTbWl0aCIsZW1haWw6ImphbmUuc21pdGhAZXhhbXBsZS5jb20iLHN0YXR1czoib25saW5lIn0scHJvZmlsZU1lbnVJdGVtczpbe25hbWU6IlByb2ZpbGUiLGljb25OYW1lOiJ1c2VyIixhY3Rpb246aShhc3luYygpPT5jb25zb2xlLmxvZygiUHJvZmlsZSIpLCJhY3Rpb24iKX0se25hbWU6IkFjY291bnQgU2V0dGluZ3MiLGljb25OYW1lOiJzZXR0aW5ncyIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNldHRpbmdzIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkhlbHAgJiBTdXBwb3J0IixpY29uTmFtZToiaGVscENpcmNsZSIsYWN0aW9uOmkoYXN5bmMoKT0+Y29uc29sZS5sb2coIkhlbHAiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiU2lnbiBPdXQiLGljb25OYW1lOiJsb2dPdXQiLGFjdGlvbjppKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJTaWduIG91dCIpLCJhY3Rpb24iKX1dfSx2aWV3czpbe2lkOiJkYXNoYm9hcmQiLG5hbWU6IkRhc2hib2FyZCIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixjb250ZW50OiJkZW1vLWRhc2hib2FyZC12aWV3Iixyb3V0ZToiZGFzaGJvYXJkIn0se2lkOiJwcm9qZWN0cyIsbmFtZToiUHJvamVjdHMiLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVyIixjb250ZW50OiJkZW1vLXByb2plY3RzLXZpZXciLHJvdXRlOiJwcm9qZWN0cyIsYmFkZ2U6M30se2lkOiJ0YXNrcyIsbmFtZToiVGFza3MiLGljb25OYW1lOiJsdWNpZGU6Y2hlY2tTcXVhcmUiLGNvbnRlbnQ6ImRlbW8tdGFza3MtdmlldyIscm91dGU6InRhc2tzIixiYWRnZToxMn0se2lkOiJzZXR0aW5ncyIsbmFtZToiU2V0dGluZ3MiLGljb25OYW1lOiJsdWNpZGU6c2V0dGluZ3MiLGNvbnRlbnQ6ImRlbW8tc2V0dGluZ3MtdmlldyIscm91dGU6InNldHRpbmdzLzpzZWN0aW9uPyJ9XSxtYWluTWVudTp7c2VjdGlvbnM6W3tuYW1lOiJNYWluIix2aWV3czpbImRhc2hib2FyZCJdfSx7bmFtZToiV29ya3NwYWNlIix2aWV3czpbInByb2plY3RzIiwidGFza3MiXX1dLGJvdHRvbUl0ZW1zOlsic2V0dGluZ3MiXX0sZGVmYXVsdFZpZXc6ImRhc2hib2FyZCIsYm90dG9tQmFyOnt2aXNpYmxlOiEwLHdpZGdldHM6W3tpZDoic3RhdHVzIixpY29uTmFtZToibHVjaWRlOmFjdGl2aXR5IixsYWJlbDoiU3lzdGVtIE9ubGluZSIsc3RhdHVzOiJzdWNjZXNzIix0b29sdGlwOiJBbGwgc3lzdGVtcyBvcGVyYXRpb25hbCIsb25DbGljazppKCgpPT5jb25zb2xlLmxvZygiU3RhdHVzIGNsaWNrZWQiKSwib25DbGljayIpfSx7aWQ6Im5vdGlmaWNhdGlvbnMiLGljb25OYW1lOiJsdWNpZGU6YmVsbCIsbGFiZWw6IjMgbm90aWZpY2F0aW9ucyIsc3RhdHVzOiJ3YXJuaW5nIix0b29sdGlwOiJZb3UgaGF2ZSB1bnJlYWQgbm90aWZpY2F0aW9ucyIsb25DbGljazppKCgpPT5jb25zb2xlLmxvZygiTm90aWZpY2F0aW9ucyBjbGlja2VkIiksIm9uQ2xpY2siKX0se2lkOiJ2ZXJzaW9uIixpY29uTmFtZToibHVjaWRlOmdpdEJyYW5jaCIsbGFiZWw6InYxLjIuMyIscG9zaXRpb246InJpZ2h0Iix0b29sdGlwOiJDdXJyZW50IHZlcnNpb24ifV0sYWN0aW9uczpbe2lkOiJ0ZXJtaW5hbCIsaWNvbk5hbWU6Imx1Y2lkZTp0ZXJtaW5hbCIsdG9vbHRpcDoiT3BlbiBUZXJtaW5hbCIscG9zaXRpb246InJpZ2h0IixvbkNsaWNrOmkoKCk9PmNvbnNvbGUubG9nKCJUZXJtaW5hbCBjbGlja2VkIiksIm9uQ2xpY2siKX1dfSxvblZpZXdDaGFuZ2U6aSgocixzKT0+e2NvbnNvbGUubG9nKGBWaWV3IGNoYW5nZWQgdG86ICR7cn0gKCR7cy5uYW1lfSlgKX0sIm9uVmlld0NoYW5nZSIpLG9uU2VhcmNoOmkocj0+e2NvbnNvbGUubG9nKCJTZWFyY2ggcXVlcnk6IixyKX0sIm9uU2VhcmNoIil9LGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7ZS5jbGFzc05hbWU9ImRlbW8tY29udGFpbmVyIixlLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyBoZWlnaHQ6IDEwMCU7IHdpZHRoOiAxMDAlOyBvdmVyZmxvdzogaGlkZGVuOyI7bGV0IGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGVlcy1hcHB1aSIpO3JldHVybiBlLmFwcGVuZENoaWxkKGEpLHNldFRpbWVvdXQoYXN5bmMoKT0+e2F3YWl0IGEudXBkYXRlQ29tcGxldGUsYS5jb25maWd1cmUodCksc2V0VGltZW91dCgoKT0+e2EuYWN0aXZpdHlMb2cuYWRkTWFueShbe3R5cGU6ImxvZ2luIix1c2VyOiJKYW5lIFNtaXRoIixtZXNzYWdlOiJsb2dnZWQgaW4gZnJvbSBDaHJvbWUgb24gbWFjT1MifSx7dHlwZToiY3JlYXRlIix1c2VyOiJKYW5lIFNtaXRoIixtZXNzYWdlOidjcmVhdGVkIHByb2plY3QgIkZyb250ZW5kIEFwcCInfSx7dHlwZToidXBkYXRlIix1c2VyOiJKb2huIERvZSIsbWVzc2FnZToidXBkYXRlZCBBUEkgZG9jdW1lbnRhdGlvbiJ9LHt0eXBlOiJ2aWV3Iix1c2VyOiJKYW5lIFNtaXRoIixtZXNzYWdlOiJ2aWV3ZWQgZGFzaGJvYXJkIGFuYWx5dGljcyJ9LHt0eXBlOiJkZWxldGUiLHVzZXI6IkFkbWluIixtZXNzYWdlOiJyZW1vdmVkIGRlcHJlY2F0ZWQgZW5kcG9pbnQifSx7dHlwZToiY3VzdG9tIix1c2VyOiJTeXN0ZW0iLG1lc3NhZ2U6InNjaGVkdWxlZCBiYWNrdXAgY29tcGxldGVkIixpY29uTmFtZToibHVjaWRlOmRhdGFiYXNlIn1dKX0sNTAwKSxhLnZpZXdDaGFuZ2VkJC5zdWJzY3JpYmUocj0+e2NvbnNvbGUubG9nKCJWaWV3IGNoYW5nZWQgZXZlbnQ6IixyKSxhLnNldEJyZWFkY3J1bWJzKHIudmlldy5uYW1lKX0pLGEudmlld0xpZmVjeWNsZSQuc3Vic2NyaWJlKHI9Pntjb25zb2xlLmxvZygiTGlmZWN5Y2xlIGV2ZW50OiIsci50eXBlLHIudmlld0lkKX0pLHNldFRpbWVvdXQoKCk9PnthLnNldE1haW5NZW51QmFkZ2UoInRhc2tzIiwxNSksYS5hY3Rpdml0eUxvZy5hZGQoe3R5cGU6InVwZGF0ZSIsdXNlcjoiU3lzdGVtIixtZXNzYWdlOiJuZXcgdGFza3MgYWRkZWQifSl9LDVlMyl9LDApLHdgCiAgICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgICAgJHtlfQogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIGJCLEtPZT1jKCgpPT57cGUoKTtiQj1jbGFzc3tzdGF0aWN7aSh0aGlzLCJWaWV3UmVnaXN0cnkiKX12aWV3cz1uZXcgTWFwO2luc3RhbmNlcz1uZXcgTWFwO2N1cnJlbnRWaWV3SWQ9bnVsbDthcHB1aT1udWxsO3NldEFwcHVpUmVmKGUpe3RoaXMuYXBwdWk9ZX1yZWdpc3RlcihlKXt0aGlzLnZpZXdzLmhhcyhlLmlkKSYmY29uc29sZS53YXJuKGBWaWV3IHdpdGggaWQgIiR7ZS5pZH0iIGFscmVhZHkgcmVnaXN0ZXJlZC4gT3ZlcndyaXRpbmcuYCksdGhpcy52aWV3cy5zZXQoZS5pZCxlKX1yZWdpc3RlckFsbChlKXtlLmZvckVhY2goYT0+dGhpcy5yZWdpc3RlcihhKSl9Z2V0KGUpe3JldHVybiB0aGlzLnZpZXdzLmdldChlKX1nZXRWaWV3SWRzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy52aWV3cy5rZXlzKCkpfWdldEFsbCgpe3JldHVybiBBcnJheS5mcm9tKHRoaXMudmlld3MudmFsdWVzKCkpfWdldFJvdXRlKGUpe2xldCBhPXRoaXMudmlld3MuZ2V0KGUpO3JldHVybiBhPy5yb3V0ZXx8YT8uaWR8fCIifWZpbmRCeVJvdXRlKGUpe2ZvcihsZXQgYSBvZiB0aGlzLnZpZXdzLnZhbHVlcygpKXtsZXQgcj1hLnJvdXRlfHxhLmlkLHM9dGhpcy5tYXRjaFJvdXRlKHIsZSk7aWYocyE9PW51bGwpcmV0dXJue3ZpZXc6YSxwYXJhbXM6c319fW1hdGNoUm91dGUoZSxhKXtsZXQgcj1lLnNwbGl0KCIvIikscz1hLnNwbGl0KCIvIik7aWYoci5sZW5ndGg+MCYmcltyLmxlbmd0aC0xXS5lbmRzV2l0aCgiPyIpKXtpZihzLmxlbmd0aDxyLmxlbmd0aC0xfHxzLmxlbmd0aD5yLmxlbmd0aClyZXR1cm4gbnVsbH1lbHNlIGlmKHIubGVuZ3RoIT09cy5sZW5ndGgpcmV0dXJuIG51bGw7bGV0IG89e307Zm9yKGxldCBsPTA7bDxyLmxlbmd0aDtsKyspe2xldCBoPXJbbF0sdT1oLmVuZHNXaXRoKCI/Iik7aWYodSYmKGg9aC5zbGljZSgwLC0xKSksaC5zdGFydHNXaXRoKCI6Iikpe2xldCBmPWguc2xpY2UoMSk7aWYoc1tsXSE9PXZvaWQgMClvW2ZdPXNbbF07ZWxzZSBpZighdSlyZXR1cm4gbnVsbH1lbHNlIGlmKHNbbF0hPT1oKXJldHVybiBudWxsfXJldHVybiBvfWFzeW5jIGNhbkxlYXZlQ3VycmVudFZpZXcoKXtpZighdGhpcy5jdXJyZW50Vmlld0lkKXJldHVybiEwO2xldCBlPXRoaXMuaW5zdGFuY2VzLmdldCh0aGlzLmN1cnJlbnRWaWV3SWQpO2lmKCFlKXJldHVybiEwO2xldCBhPWU7cmV0dXJuIHR5cGVvZiBhLmNhbkRlYWN0aXZhdGU9PSJmdW5jdGlvbiI/YXdhaXQgYS5jYW5EZWFjdGl2YXRlKCk6ITB9YXN5bmMgYWN0aXZhdGVWaWV3KGUsYSxyKXtsZXQgcz10aGlzLnZpZXdzLmdldChlKTtpZighcylyZXR1cm4gY29uc29sZS5lcnJvcihgVmlldyAiJHtlfSIgbm90IGZvdW5kIGluIHJlZ2lzdHJ5YCksbnVsbDtsZXQgbj1zLmNhY2hlIT09ITE7dGhpcy5jdXJyZW50Vmlld0lkJiZ0aGlzLmN1cnJlbnRWaWV3SWQhPT1lJiZhd2FpdCB0aGlzLmRlYWN0aXZhdGVWaWV3KHRoaXMuY3VycmVudFZpZXdJZCk7bGV0IG89bj90aGlzLmluc3RhbmNlcy5nZXQoZSk6dm9pZCAwO2lmKG8pby5zdHlsZS5kaXNwbGF5PSIiO2Vsc2V7aWYobz1hd2FpdCB0aGlzLmNyZWF0ZVZpZXdFbGVtZW50KHMpLCFvKXJldHVybiBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gY3JlYXRlIGVsZW1lbnQgZm9yIHZpZXcgIiR7ZX0iYCksbnVsbDthLmFwcGVuZENoaWxkKG8pLG4mJnRoaXMuaW5zdGFuY2VzLnNldChlLG8pfXJldHVybiB0aGlzLmN1cnJlbnRWaWV3SWQ9ZSxhd2FpdCB0aGlzLmNhbGxPbkFjdGl2YXRlKG8sZSxyKSxvfWFzeW5jIGRlYWN0aXZhdGVWaWV3KGUpe2xldCBhPXRoaXMuaW5zdGFuY2VzLmdldChlKTtpZighYSlyZXR1cm47bGV0IHI9YTt0eXBlb2Ygci5vbkRlYWN0aXZhdGU9PSJmdW5jdGlvbiImJmF3YWl0IHIub25EZWFjdGl2YXRlKCksYS5zdHlsZS5kaXNwbGF5PSJub25lIn1hc3luYyBjcmVhdGVWaWV3RWxlbWVudChlKXtsZXQgYT1lLmNvbnRlbnQ7aWYodHlwZW9mIGE9PSJmdW5jdGlvbiImJiEoYS5wcm90b3R5cGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkmJmEuY29uc3RydWN0b3IubmFtZT09PSJBc3luY0Z1bmN0aW9uIil0cnl7YT1hd2FpdCBhKCl9Y2F0Y2gocyl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBsb2FkIGFzeW5jIGNvbnRlbnQgZm9yIHZpZXcgIiR7ZS5pZH0iOmAscyksbnVsbH1sZXQgcjtpZih0eXBlb2YgYT09InN0cmluZyIpcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGEpO2Vsc2UgaWYodHlwZW9mIGE9PSJmdW5jdGlvbiIpaWYoYS5wcm90b3R5cGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudClyPW5ldyBhO2Vsc2V7bGV0IHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cy5jbGFzc05hbWU9InZpZXctY29udGVudC13cmFwcGVyIixzLnN0eWxlLmNzc1RleHQ9ImRpc3BsYXk6IGNvbnRlbnRzOyI7bGV0IG49YSgpO3NuKG4scykscj1zfWVsc2UgcmV0dXJuIGNvbnNvbGUuZXJyb3IoYEludmFsaWQgY29udGVudCB0eXBlIGZvciB2aWV3ICIke2UuaWR9ImApLG51bGw7cmV0dXJuIHIuZGF0YXNldC52aWV3SWQ9ZS5pZCxyfWFzeW5jIGNhbGxPbkFjdGl2YXRlKGUsYSxyKXtsZXQgcz1lO2lmKHR5cGVvZiBzLm9uQWN0aXZhdGU9PSJmdW5jdGlvbiIpe2xldCBuPXthcHB1aTp0aGlzLmFwcHVpLHZpZXdJZDphLHBhcmFtczpyfTthd2FpdCBzLm9uQWN0aXZhdGUobil9fXJlbmRlclZpZXcoZSxhKXtsZXQgcj10aGlzLnZpZXdzLmdldChlKTtpZighcilyZXR1cm4gY29uc29sZS5lcnJvcihgVmlldyAiJHtlfSIgbm90IGZvdW5kIGluIHJlZ2lzdHJ5YCksbnVsbDthLmlubmVySFRNTD0iIjtsZXQgcyxuPXIuY29udGVudDtpZih0eXBlb2Ygbj09InN0cmluZyIpcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KG4pO2Vsc2UgaWYodHlwZW9mIG49PSJmdW5jdGlvbiIpaWYobi5wcm90b3R5cGUgaW5zdGFuY2VvZiBIVE1MRWxlbWVudClzPW5ldyBuO2Vsc2V7bGV0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7by5jbGFzc05hbWU9InZpZXctY29udGVudC13cmFwcGVyIixvLnN0eWxlLmNzc1RleHQ9ImRpc3BsYXk6IGNvbnRlbnRzOyI7bGV0IGw9bigpO3NuKGwsbykscz1vfWVsc2UgcmV0dXJuIGNvbnNvbGUuZXJyb3IoYEludmFsaWQgY29udGVudCB0eXBlIGZvciB2aWV3ICIke2V9ImApLG51bGw7cmV0dXJuIGEuYXBwZW5kQ2hpbGQocyksdGhpcy5pbnN0YW5jZXMuc2V0KGUscyksdGhpcy5jdXJyZW50Vmlld0lkPWUsc31nZXRDdXJyZW50Vmlld0lkKCl7cmV0dXJuIHRoaXMuY3VycmVudFZpZXdJZH1nZXRJbnN0YW5jZShlKXtyZXR1cm4gdGhpcy5pbnN0YW5jZXMuZ2V0KGUpfWNsZWFySW5zdGFuY2UoZSl7bGV0IGE9dGhpcy5pbnN0YW5jZXMuZ2V0KGUpO2EmJmEucGFyZW50Tm9kZSYmYS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGEpLHRoaXMuaW5zdGFuY2VzLmRlbGV0ZShlKSx0aGlzLmN1cnJlbnRWaWV3SWQ9PT1lJiYodGhpcy5jdXJyZW50Vmlld0lkPW51bGwpfWNsZWFySW5zdGFuY2VzKCl7Zm9yKGxldFtlLGFdb2YgdGhpcy5pbnN0YW5jZXMpYS5wYXJlbnROb2RlJiZhLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSk7dGhpcy5pbnN0YW5jZXMuY2xlYXIoKSx0aGlzLmN1cnJlbnRWaWV3SWQ9bnVsbH11bnJlZ2lzdGVyKGUpe3JldHVybiB0aGlzLmNsZWFySW5zdGFuY2UoZSksdGhpcy52aWV3cy5kZWxldGUoZSl9Y2xlYXIoKXt0aGlzLnZpZXdzLmNsZWFyKCksdGhpcy5jbGVhckluc3RhbmNlcygpfWhhcyhlKXtyZXR1cm4gdGhpcy52aWV3cy5oYXMoZSl9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy52aWV3cy5zaXplfX19KTt2YXIgY1h0LGRYdD1jKCgpPT57cGUoKTtjWHQ9aSgoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtby1tYWlubWVudS1jb250YWluZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIGJhY2tncm91bmQ6ICMxYTFhMWE7CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgIH0KICAgIC5kZW1vLW1haW5tZW51LWNvbnRhaW5lciAuc3BhY2VyIHsKICAgICAgZmxleDogMTsKICAgICAgYmFja2dyb3VuZDogIzBmMGYwZjsKICAgIH0KICA8L3N0eWxlPgogIDxkaXYgY2xhc3M9ImRlbW8tbWFpbm1lbnUtY29udGFpbmVyIj4KICAgIDxkZWVzLWFwcHVpLW1haW5tZW51CiAgICAgIC5sb2dvSWNvbj0keyJsdWNpZGU6Ym94In0KICAgICAgLmxvZ29UZXh0PSR7IkFjbWUgQXBwIn0KICAgICAgLm1lbnVHcm91cHM9JHtbe3RhYnM6W3trZXk6IkRhc2hib2FyZCIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIkRhc2hib2FyZCIpLCJhY3Rpb24iKX0se2tleToiSW5ib3giLGljb25OYW1lOiJsdWNpZGU6aW5ib3giLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiSW5ib3giKSwiYWN0aW9uIil9XX0se25hbWU6IldvcmtzcGFjZSIsdGFiczpbe2tleToiUHJvamVjdHMiLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVyIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIlByb2plY3RzIiksImFjdGlvbiIpfSx7a2V5OiJUYXNrcyIsaWNvbk5hbWU6Imx1Y2lkZTpjaGVja1NxdWFyZSIsYWN0aW9uOmkoKCk9PmNvbnNvbGUubG9nKCJUYXNrcyIpLCJhY3Rpb24iKX0se2tleToiRG9jdW1lbnRzIixpY29uTmFtZToibHVjaWRlOmZpbGVUZXh0IixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIkRvY3VtZW50cyIpLCJhY3Rpb24iKX1dfSx7bmFtZToiQW5hbHl0aWNzIix0YWJzOlt7a2V5OiJSZXBvcnRzIixpY29uTmFtZToibHVjaWRlOmJhckNoYXJ0MyIsYWN0aW9uOmkoKCk9PmNvbnNvbGUubG9nKCJSZXBvcnRzIiksImFjdGlvbiIpfSx7a2V5OiJJbnNpZ2h0cyIsaWNvbk5hbWU6Imx1Y2lkZTpsaWdodGJ1bGIiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiSW5zaWdodHMiKSwiYWN0aW9uIil9XX1dfQogICAgICAuYm90dG9tVGFicz0ke1t7a2V5OiJTZXR0aW5ncyIsaWNvbk5hbWU6Imx1Y2lkZTpzZXR0aW5ncyIsYWN0aW9uOmkoKCk9PmNvbnNvbGUubG9nKCJTZXR0aW5ncyIpLCJhY3Rpb24iKX0se2tleToiSGVscCIsaWNvbk5hbWU6Imx1Y2lkZTpoZWxwQ2lyY2xlIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIkhlbHAiKSwiYWN0aW9uIil9XX0KICAgID48L2RlZXMtYXBwdWktbWFpbm1lbnU+CiAgICA8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIGhsLEJyLHBYdCxRT2U9YygoKT0+e1AxKCk7b2woKTtqaSgpO3BlKCk7djEoKTtkWHQoKTtYZSgpO2hsPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxCcj1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0scFh0PSgoKT0+e2xldCB0PVthZSgiZGVlcy1hcHB1aS1tYWlubWVudSIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdLEUsXz1bXSxDPVtdLE4sJD1bXSxJPVtdO3ZhciBqPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzQXBwdWlNYWlubWVudSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBTPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6U3RyaW5nfSldLGg9W0woe3R5cGU6U3RyaW5nfSldLHA9W0woe3R5cGU6QXJyYXl9KV0seD1bTCh7dHlwZTpBcnJheX0pXSx5PVtMKHt0eXBlOkFycmF5fSldLEU9W0woKV0sTj1bTCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0saGwodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2dvSWNvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4ibG9nb0ljb24iaW4geiwiaGFzIiksZ2V0Omkoej0+ei5sb2dvSWNvbiwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LmxvZ29JY29uPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sbyxsKSxobCh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvZ29UZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJsb2dvVGV4dCJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LmxvZ29UZXh0LCJnZXQiKSxzZXQ6aSgoeixEKT0+e3oubG9nb1RleHQ9RH0sInNldCIpfSxtZXRhZGF0YTpTfSx1LGYpLGhsKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVudUdyb3VwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4ibWVudUdyb3VwcyJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56Lm1lbnVHcm91cHMsImdldCIpLHNldDppKCh6LEQpPT57ei5tZW51R3JvdXBzPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sZyx2KSxobCh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJvdHRvbVRhYnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+ImJvdHRvbVRhYnMiaW4geiwiaGFzIiksZ2V0Omkoej0+ei5ib3R0b21UYWJzLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3ouYm90dG9tVGFicz1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LGIsbSksaGwodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJ0YWJzImluIHosImhhcyIpLGdldDppKHo9PnoudGFicywiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LnRhYnM9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxNLGspLGhsKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRUYWIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+InNlbGVjdGVkVGFiImluIHosImhhcyIpLGdldDppKHo9Pnouc2VsZWN0ZWRUYWIsImdldCIpLHNldDppKCh6LEQpPT57ei5zZWxlY3RlZFRhYj1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LF8sQyksaGwodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2xsYXBzZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+ImNvbGxhcHNlZCJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LmNvbGxhcHNlZCwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LmNvbGxhcHNlZD1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LCQsSSksaGwobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6U30sbnVsbCxhKSxqPXI9ZS52YWx1ZSxTJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlN9KX1zdGF0aWMgZGVtbz1jWHQ7c3RhdGljIGRlbW9Hcm91cHM9WyJBcHAgVUkiXTsjZT1Ccih0aGlzLG8sIiIpO2dldCBsb2dvSWNvbigpe3JldHVybiB0aGlzLiNlfXNldCBsb2dvSWNvbihTKXt0aGlzLiNlPVN9I3Q9KEJyKHRoaXMsbCksQnIodGhpcyx1LCIiKSk7Z2V0IGxvZ29UZXh0KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGxvZ29UZXh0KFMpe3RoaXMuI3Q9U30jYT0oQnIodGhpcyxmKSxCcih0aGlzLGcsW10pKTtnZXQgbWVudUdyb3Vwcygpe3JldHVybiB0aGlzLiNhfXNldCBtZW51R3JvdXBzKFMpe3RoaXMuI2E9U30jcj0oQnIodGhpcyx2KSxCcih0aGlzLGIsW10pKTtnZXQgYm90dG9tVGFicygpe3JldHVybiB0aGlzLiNyfXNldCBib3R0b21UYWJzKFMpe3RoaXMuI3I9U30jaT0oQnIodGhpcyxtKSxCcih0aGlzLE0sW10pKTtnZXQgdGFicygpe3JldHVybiB0aGlzLiNpfXNldCB0YWJzKFMpe3RoaXMuI2k9U30jcz0oQnIodGhpcyxrKSxCcih0aGlzLF8sdm9pZCAwKSk7Z2V0IHNlbGVjdGVkVGFiKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNlbGVjdGVkVGFiKFMpe3RoaXMuI3M9U30jbz0oQnIodGhpcyxDKSxCcih0aGlzLCQsITEpKTtnZXQgY29sbGFwc2VkKCl7cmV0dXJuIHRoaXMuI299c2V0IGNvbGxhcHNlZChTKXt0aGlzLiNvPVN9c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICAtLW1lbnUtd2lkdGgtZXhwYW5kZWQ6IDIwMHB4OwogICAgICAgIC0tbWVudS13aWR0aC1jb2xsYXBzZWQ6IDU2cHg7CiAgICAgICAgLS10b29sdGlwLWJnOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgLS10b29sdGlwLWZnOiAke2QuYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLm1haW5Db250YWluZXIgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzY2NiIsIiNjY2MiKX07CiAgICAgICAgei1pbmRleDogJHtBMS5maXhlZC5hcHBCYXJ9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IHZhcigtLW1lbnUtd2lkdGgtZXhwYW5kZWQpOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU1ZTUiLCIjMWExYTFhIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cyBlYXNlOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1haW5Db250YWluZXIgewogICAgICAgIHdpZHRoOiB2YXIoLS1tZW51LXdpZHRoLWNvbGxhcHNlZCk7CiAgICAgIH0KCiAgICAgIC8qIEZsb2F0aW5nIGNvbGxhcHNlIHRvZ2dsZSBidXR0b24gKi8KICAgICAgLmNvbGxhcHNlLXRvZ2dsZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAtMTJweDsKICAgICAgICB0b3A6IDI0cHg7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIHdpZHRoOiAyNHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlNWU1IiwiIzNmM2Y0NiIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzM3MzczIiwiI2ExYTFhYSIpfTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLmNvbGxhcHNlLXRvZ2dsZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjM2YzZjQ2Iil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzBhMGEwYSIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KDpob3ZlcikgLmNvbGxhcHNlLXRvZ2dsZSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLmNvbGxhcHNlLXRvZ2dsZSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQoKICAgICAgLyogTG9nbyBTZWN0aW9uICovCiAgICAgIC5sb2dvU2VjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgcGFkZGluZzogMCAxNHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTVlNSIsIiMxYTFhMWEiKX07CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmxvZ29TZWN0aW9uIC5sb2dvSWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAyMnB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzBhMGEwYSIsIiNmYWZhZmEiKX07CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5sb2dvU2VjdGlvbiAubG9nb1RleHQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMGEwYTBhIiwiI2ZhZmFmYSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHdpZHRoIDAuMjVzIGVhc2U7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubG9nb1NlY3Rpb24gewogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgZ2FwOiAwOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLmxvZ29TZWN0aW9uIC5sb2dvVGV4dCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogTWlkZGxlIFNlY3Rpb24gKHNjcm9sbGFibGUpICovCiAgICAgIC5tZW51U2VjdGlvbiB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICB9CgogICAgICAubWVudVNlY3Rpb246Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICB9CgogICAgICAubWVudVNlY3Rpb246Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLm1lbnVTZWN0aW9uOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xNSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLm1lbnVTZWN0aW9uOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4yNSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpIil9OwogICAgICB9CgogICAgICAvKiBNZW51IEdyb3VwICovCiAgICAgIC5tZW51R3JvdXAgewogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLm1lbnVHcm91cDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAuZ3JvdXBIZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDZweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MzczNzMiLCIjNzM3MzczIil9OwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgbWF4LWhlaWdodCAwLjI1cyBlYXNlOwogICAgICAgIG1heC1oZWlnaHQ6IDMwcHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAuZ3JvdXBIZWFkZXIgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgbWF4LWhlaWdodDogMDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLmdyb3VwVGFicyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1lbnVHcm91cCB7CiAgICAgICAgcGFkZGluZzogMCA0cHg7CiAgICAgIH0KCiAgICAgIC8qIFRhYiBJdGVtICovCiAgICAgIC50YWIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzUyNTI1MiIsIiNhM2EzYTMiKX07CiAgICAgIH0KCiAgICAgIC50YWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDQpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMyNjI2MjYiLCIjZTVlNWU1Iil9OwogICAgICB9CgogICAgICAudGFiOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNikiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICB9CgogICAgICAudGFiLnNlbGVjdGVkVGFiIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA2KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMGEwYTBhIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRhYi5zZWxlY3RlZFRhYjo6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgd2lkdGg6IDNweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMwYTBhMGEiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMnB4IDJweCAwOwogICAgICB9CgogICAgICAudGFiIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIG9wYWNpdHk6IDAuODU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC50YWIuc2VsZWN0ZWRUYWIgZGVlcy1pY29uIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAudGFiIC50YWJMYWJlbCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHdpZHRoIDAuMjVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC8qIENvbGxhcHNlZCB0YWIgc3R5bGVzICovCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAudGFiIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICAgIGdhcDogMDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC50YWIgLnRhYkxhYmVsIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC50YWIuc2VsZWN0ZWRUYWI6OmJlZm9yZSB7CiAgICAgICAgbGVmdDogLTRweDsKICAgICAgfQoKICAgICAgLyogVG9vbHRpcCBmb3IgY29sbGFwc2VkIHN0YXRlICovCiAgICAgIC50YWItdG9vbHRpcCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDEwMCU7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRvb2x0aXAtYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS10b29sdGlwLWZnKTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZTsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpOwogICAgICB9CgogICAgICAudGFiLXRvb2x0aXA6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IC00cHg7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tdG9vbHRpcC1iZyk7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAudGFiOmhvdmVyIC50YWItdG9vbHRpcCB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAxczsKICAgICAgfQoKICAgICAgLyogQmFkZ2Ugc3R5bGVzICovCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBtaW4td2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIHBhZGRpbmc6IDAgNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDlweDsKICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgfQoKICAgICAgLmJhZGdlLmRlZmF1bHQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzZjNmNDYiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuYmFkZ2Uuc3VjY2VzcyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNkY2ZjZTciLCIjMTQ1MzJkIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE2NjUzNCIsIiM0YWRlODAiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZS53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZlZjNjNyIsIiM0NTFhMDMiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjOTI0MDBlIiwiI2ZiYmYyNCIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZlZTJlMiIsIiM0NTBhMGEiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjOTkxYjFiIiwiI2Y4NzE3MSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogQm90dG9tIFNlY3Rpb24gKi8KICAgICAgLmJvdHRvbVNlY3Rpb24gewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU1ZTUiLCIjMWExYTFhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5ib3R0b21TZWN0aW9uIHsKICAgICAgICBwYWRkaW5nOiA4cHggNHB4OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgUz10aGlzLmdldEFsbFRhYnMoKTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibWFpbkNvbnRhaW5lciIgQGNvbnRleHRtZW51PSR7ej0+e050Lm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKHosW3tuYW1lOiJhcHAgc2V0dGluZ3MiLGFjdGlvbjppKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxpY29uTmFtZToiZ2VhciJ9XSl9fT4KICAgICAgICAke3RoaXMubG9nb0ljb258fHRoaXMubG9nb1RleHQ/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZ29TZWN0aW9uIj4KICAgICAgICAgICAgJHt0aGlzLmxvZ29JY29uP3dgPGRlZXMtaWNvbiBjbGFzcz0ibG9nb0ljb24iIC5pY29uPSIke3RoaXMubG9nb0ljb259Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgICAgICAke3RoaXMubG9nb1RleHQ/d2A8c3BhbiBjbGFzcz0ibG9nb1RleHQiPiR7dGhpcy5sb2dvVGV4dH08L3NwYW4+YDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgIDxkaXYgY2xhc3M9Im1lbnVTZWN0aW9uIj4KICAgICAgICAgICR7dGhpcy5tZW51R3JvdXBzLmxlbmd0aD4wP3RoaXMucmVuZGVyTWVudUdyb3VwcygpOnRoaXMucmVuZGVyTGVnYWN5VGFicygpfQogICAgICAgIDwvZGl2PgoKICAgICAgICAke3RoaXMuYm90dG9tVGFicy5sZW5ndGg+MD93YAogICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tU2VjdGlvbiI+CiAgICAgICAgICAgICR7dGhpcy5ib3R0b21UYWJzLm1hcCh6PT50aGlzLnJlbmRlclRhYih6KSl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgICAgPGJ1dHRvbiBjbGFzcz0iY29sbGFwc2UtdG9nZ2xlIiBAY2xpY2s9IiR7KCk9PnRoaXMudG9nZ2xlQ29sbGFwc2UoKX0iPgogICAgICAgIDxkZWVzLWljb24gLmljb249IiR7dGhpcy5jb2xsYXBzZWQ/Imx1Y2lkZTpjaGV2cm9uUmlnaHQiOiJsdWNpZGU6Y2hldnJvbkxlZnQifSI+PC9kZWVzLWljb24+CiAgICAgIDwvYnV0dG9uPgogICAgYH1yZW5kZXJNZW51R3JvdXBzKCl7cmV0dXJuIHdgCiAgICAgICR7dGhpcy5tZW51R3JvdXBzLm1hcChTPT53YAogICAgICAgIDxkaXYgY2xhc3M9Im1lbnVHcm91cCI+CiAgICAgICAgICAke1MubmFtZT93YDxkaXYgY2xhc3M9Imdyb3VwSGVhZGVyIj4ke1MubmFtZX08L2Rpdj5gOiIifQogICAgICAgICAgPGRpdiBjbGFzcz0iZ3JvdXBUYWJzIj4KICAgICAgICAgICAgJHtTLml0ZW1zLm1hcCh6PT50aGlzLnJlbmRlclRhYih6KSl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgYCl9CiAgICBgfXJlbmRlckxlZ2FjeVRhYnMoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibWVudUdyb3VwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJncm91cFRhYnMiPgogICAgICAgICAgJHt0aGlzLnRhYnMubWFwKFM9PnRoaXMucmVuZGVyVGFiKFMpKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclRhYihTKXtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJ0YWIgJHtTPT09dGhpcy5zZWxlY3RlZFRhYj8ic2VsZWN0ZWRUYWIiOiIifSIKICAgICAgICBAY2xpY2s9IiR7KCk9Pnt0aGlzLnVwZGF0ZVRhYihTKX19IgogICAgICA+CiAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHtTLmljb25OYW1lfHwiIn0iPjwvZGVlcy1pY29uPgogICAgICAgIDxzcGFuIGNsYXNzPSJ0YWJMYWJlbCI+JHtTLmtleX08L3NwYW4+CiAgICAgICAgJHtTLmJhZGdlIT09dm9pZCAwP3dgCiAgICAgICAgICA8c3BhbiBjbGFzcz0iYmFkZ2UgJHtTLmJhZGdlVmFyaWFudHx8ImRlZmF1bHQifSI+JHtTLmJhZGdlfTwvc3Bhbj4KICAgICAgICBgOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJ0YWItdG9vbHRpcCI+JHtTLmtleX08L3NwYW4+CiAgICAgIDwvZGl2PgogICAgYH1nZXRBbGxUYWJzKCl7cmV0dXJuIHRoaXMubWVudUdyb3Vwcy5sZW5ndGg+MD9bLi4udGhpcy5tZW51R3JvdXBzLmZsYXRNYXAoej0+ei5pdGVtcyksLi4udGhpcy5ib3R0b21UYWJzXTpbLi4udGhpcy50YWJzLC4uLnRoaXMuYm90dG9tVGFic119dXBkYXRlVGFiKFMpe3RoaXMuc2VsZWN0ZWRUYWI9Uyx0aGlzLnNlbGVjdGVkVGFiLmFjdGlvbigpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRhYi1zZWxlY3QiLHtkZXRhaWw6e3RhYjpTfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWZpcnN0VXBkYXRlZCgpe2xldCBTPXRoaXMuZ2V0QWxsVGFicygpO1MubGVuZ3RoPjAmJnRoaXMudXBkYXRlVGFiKFNbMF0pfXRvZ2dsZUNvbGxhcHNlKCl7dGhpcy5jb2xsYXBzZWQ9IXRoaXMuY29sbGFwc2VkLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNvbGxhcHNlLWNoYW5nZSIse2RldGFpbDp7Y29sbGFwc2VkOnRoaXMuY29sbGFwc2VkfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxCcih0aGlzLEkpfXN0YXRpY3tCcihyLGEpfX07cmV0dXJuIGo9cn0pKCl9KTt2YXIgdVh0LGZYdD1jKCgpPT57cGUoKTt1WHQ9aSgoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtby1zZWNvbmRhcnltZW51LWNvbnRhaW5lciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgYmFja2dyb3VuZDogIzFhMWExYTsKICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgfQogICAgLmRlbW8tc2Vjb25kYXJ5bWVudS1jb250YWluZXIgLnNwYWNlciB7CiAgICAgIGZsZXg6IDE7CiAgICAgIGJhY2tncm91bmQ6ICMwZjBmMGY7CiAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIGNvbG9yOiAjYTNhM2EzOwogICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgfQogICAgLmRlbW8tc2Vjb25kYXJ5bWVudS1jb250YWluZXIgLnNwYWNlciBoMyB7CiAgICAgIGNvbG9yOiAjZmFmYWZhOwogICAgICBtYXJnaW4tdG9wOiAwOwogICAgfQogICAgLmRlbW8tc2Vjb25kYXJ5bWVudS1jb250YWluZXIgLnNwYWNlciBjb2RlIHsKICAgICAgYmFja2dyb3VuZDogIzI3MjcyYTsKICAgICAgcGFkZGluZzogMnB4IDZweDsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBmb250LXNpemU6IDEycHg7CiAgICB9CiAgICAuZGVtby1zZWNvbmRhcnltZW51LWNvbnRhaW5lciAuc3BhY2VyIHVsIHsKICAgICAgbGluZS1oZWlnaHQ6IDEuODsKICAgIH0KICA8L3N0eWxlPgogIDxkaXYgY2xhc3M9ImRlbW8tc2Vjb25kYXJ5bWVudS1jb250YWluZXIiPgogICAgPGRlZXMtYXBwdWktc2Vjb25kYXJ5bWVudQogICAgICAuaGVhZGluZz0keyJQcm9qZWN0cyJ9CiAgICAgIC5ncm91cHM9JHtbe25hbWU6Ik5hdmlnYXRpb24iLGljb25OYW1lOiJsdWNpZGU6Y29tcGFzcyIsaXRlbXM6W3trZXk6IkRhc2hib2FyZCIsaWNvbk5hbWU6Imx1Y2lkZTpsYXlvdXREYXNoYm9hcmQiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiRGFzaGJvYXJkIGNsaWNrZWQiKSwiYWN0aW9uIiksYmFkZ2U6MyxiYWRnZVZhcmlhbnQ6Indhcm5pbmcifSx7a2V5OiJQcm9qZWN0cyIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXIiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiUHJvamVjdHMgY2xpY2tlZCIpLCJhY3Rpb24iKSxiYWRnZToibmV3IixiYWRnZVZhcmlhbnQ6InN1Y2Nlc3MifSx7a2V5OiJBbmFseXRpY3MiLGljb25OYW1lOiJsdWNpZGU6YmFyQ2hhcnQyIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIkFuYWx5dGljcyBjbGlja2VkIiksImFjdGlvbiIpfV19LHtuYW1lOiJBY3Rpb25zIixpY29uTmFtZToibHVjaWRlOnphcCIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiQ3JlYXRlIE5ldyIsaWNvbk5hbWU6Imx1Y2lkZTpwbHVzIixhY3Rpb246aSgoKT0+YWxlcnQoIkNyZWF0ZSBOZXcgY2xpY2tlZCEiKSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiSW1wb3J0IERhdGEiLGljb25OYW1lOiJsdWNpZGU6dXBsb2FkIixhY3Rpb246aSgoKT0+YWxlcnQoIkltcG9ydCBEYXRhIGNsaWNrZWQhIiksImFjdGlvbiIpfSx7dHlwZToiZGl2aWRlciJ9LHt0eXBlOiJhY3Rpb24iLGtleToiRGVsZXRlIEFsbCIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaDIiLHZhcmlhbnQ6ImRhbmdlciIsY29uZmlybU1lc3NhZ2U6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgYWxsIGl0ZW1zPyIsYWN0aW9uOmkoKCk9PmFsZXJ0KCJEZWxldGVkISIpLCJhY3Rpb24iKX1dfSx7bmFtZToiRmlsdGVycyIsaWNvbk5hbWU6Imx1Y2lkZTpmaWx0ZXIiLGl0ZW1zOlt7dHlwZToiaGVhZGVyIixsYWJlbDoiU3RhdHVzIn0se3R5cGU6ImZpbHRlciIsa2V5OiJTaG93IEFjdGl2ZSIsaWNvbk5hbWU6Imx1Y2lkZTpjaGVja0NpcmNsZSIsYWN0aXZlOiEwLG9uVG9nZ2xlOmkodD0+Y29uc29sZS5sb2coIlNob3cgQWN0aXZlOiIsdCksIm9uVG9nZ2xlIil9LHt0eXBlOiJmaWx0ZXIiLGtleToiU2hvdyBBcmNoaXZlZCIsaWNvbk5hbWU6Imx1Y2lkZTphcmNoaXZlIixhY3RpdmU6ITEsb25Ub2dnbGU6aSh0PT5jb25zb2xlLmxvZygiU2hvdyBBcmNoaXZlZDoiLHQpLCJvblRvZ2dsZSIpfSx7dHlwZToiZGl2aWRlciJ9LHt0eXBlOiJtdWx0aUZpbHRlciIsa2V5OiJDYXRlZ29yaWVzIixpY29uTmFtZToibHVjaWRlOnRhZyIsY29sbGFwc2VkOiExLG9wdGlvbnM6W3trZXk6ImZyb250ZW5kIixsYWJlbDoiRnJvbnRlbmQiLGNoZWNrZWQ6ITAsaWNvbk5hbWU6Imx1Y2lkZTptb25pdG9yIn0se2tleToiYmFja2VuZCIsbGFiZWw6IkJhY2tlbmQiLGNoZWNrZWQ6ITAsaWNvbk5hbWU6Imx1Y2lkZTpzZXJ2ZXIifSx7a2V5OiJkZXZvcHMiLGxhYmVsOiJEZXZPcHMiLGNoZWNrZWQ6ITEsaWNvbk5hbWU6Imx1Y2lkZTpjbG91ZCJ9LHtrZXk6ImRlc2lnbiIsbGFiZWw6IkRlc2lnbiIsY2hlY2tlZDohMSxpY29uTmFtZToibHVjaWRlOnBhbGV0dGUifV0sb25DaGFuZ2U6aSh0PT5jb25zb2xlLmxvZygiU2VsZWN0ZWQgY2F0ZWdvcmllczoiLHQpLCJvbkNoYW5nZSIpfV19LHtuYW1lOiJSZXNvdXJjZXMiLGljb25OYW1lOiJsdWNpZGU6Ym9va09wZW4iLGNvbGxhcHNlZDohMCxpdGVtczpbe3R5cGU6ImhlYWRlciIsbGFiZWw6IkRvY3VtZW50YXRpb24ifSx7dHlwZToibGluayIsa2V5OiJBUEkgUmVmZXJlbmNlIixpY29uTmFtZToibHVjaWRlOmZpbGVUZXh0IixocmVmOiJodHRwczovL2FwaS5leGFtcGxlLmNvbS9kb2NzIn0se3R5cGU6ImxpbmsiLGtleToiVXNlciBHdWlkZSIsaWNvbk5hbWU6Imx1Y2lkZTpib29rIixocmVmOiJodHRwczovL2RvY3MuZXhhbXBsZS5jb20vZ3VpZGUifSx7dHlwZToiZGl2aWRlciJ9LHt0eXBlOiJoZWFkZXIiLGxhYmVsOiJTdXBwb3J0In0se3R5cGU6ImxpbmsiLGtleToiSGVscCBDZW50ZXIiLGljb25OYW1lOiJsdWNpZGU6aGVscENpcmNsZSIsaHJlZjoiL2hlbHAiLGV4dGVybmFsOiExfSx7dHlwZToibGluayIsa2V5OiJHaXRIdWIgSXNzdWVzIixpY29uTmFtZToibHVjaWRlOmdpdGh1YiIsaHJlZjoiaHR0cHM6Ly9naXRodWIuY29tL2V4YW1wbGUvaXNzdWVzIn1dfV19CiAgICAgIEBpdGVtLXNlbGVjdD0ke3Q9PmNvbnNvbGUubG9nKCJUYWIgc2VsZWN0ZWQ6Iix0LmRldGFpbCl9CiAgICAgIEBhY3Rpb24tY2xpY2s9JHt0PT5jb25zb2xlLmxvZygiQWN0aW9uIGNsaWNrZWQ6Iix0LmRldGFpbCl9CiAgICAgIEBmaWx0ZXItdG9nZ2xlPSR7dD0+Y29uc29sZS5sb2coIkZpbHRlciB0b2dnbGVkOiIsdC5kZXRhaWwpfQogICAgICBAbXVsdGlmaWx0ZXItY2hhbmdlPSR7dD0+Y29uc29sZS5sb2coIk11bHRpLWZpbHRlciBjaGFuZ2VkOiIsdC5kZXRhaWwpfQogICAgICBAbGluay1jbGljaz0ke3Q9PmNvbnNvbGUubG9nKCJMaW5rIGNsaWNrZWQ6Iix0LmRldGFpbCl9CiAgICA+PC9kZWVzLWFwcHVpLXNlY29uZGFyeW1lbnU+CiAgICA8ZGl2IGNsYXNzPSJzcGFjZXIiPgogICAgICA8aDM+U2Vjb25kYXJ5IE1lbnUgRGVtbzwvaDM+CiAgICAgIDxwPlRoaXMgZGVtbyBzaG93Y2FzZXMgYWxsIDggaXRlbSB0eXBlczo8L3A+CiAgICAgIDx1bD4KICAgICAgICA8bGk+PGNvZGU+dGFiPC9jb2RlPiAtIFNlbGVjdGFibGUgaXRlbXMgKE5hdmlnYXRpb24gZ3JvdXApPC9saT4KICAgICAgICA8bGk+PGNvZGU+YWN0aW9uPC9jb2RlPiAtIEJsdWUgYWN0aW9ucyAoQWN0aW9ucyBncm91cCk8L2xpPgogICAgICAgIDxsaT48Y29kZT5hY3Rpb248L2NvZGU+IHdpdGggPGNvZGU+dmFyaWFudDogJ2Rhbmdlcic8L2NvZGU+IC0gUmVkIGRhbmdlciBhY3Rpb248L2xpPgogICAgICAgIDxsaT48Y29kZT5maWx0ZXI8L2NvZGU+IC0gQ2hlY2tib3ggdG9nZ2xlcyAoRmlsdGVycyBncm91cCk8L2xpPgogICAgICAgIDxsaT48Y29kZT5tdWx0aUZpbHRlcjwvY29kZT4gLSBDb2xsYXBzaWJsZSBtdWx0aS1zZWxlY3QgKENhdGVnb3JpZXMpPC9saT4KICAgICAgICA8bGk+PGNvZGU+ZGl2aWRlcjwvY29kZT4gLSBWaXN1YWwgc2VwYXJhdG9yczwvbGk+CiAgICAgICAgPGxpPjxjb2RlPmhlYWRlcjwvY29kZT4gLSBTZWN0aW9uIGxhYmVsczwvbGk+CiAgICAgICAgPGxpPjxjb2RlPmxpbms8L2NvZGU+IC0gRXh0ZXJuYWwvaW50ZXJuYWwgbGlua3MgKFJlc291cmNlcyBncm91cCk8L2xpPgogICAgICA8L3VsPgogICAgICA8cD5UcnkgdGhlIGNvbGxhcHNlIHRvZ2dsZSBvbiB0aGUgbGVmdCBlZGdlITwvcD4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIElvLGlyLGhYdCxKT2U9YygoKT0+e1AxKCk7b2woKTt2MSgpO0t0KCk7cGUoKTtmWHQoKTtYZSgpO0lvPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxpcj1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0saFh0PSgoKT0+e2xldCB0PVthZSgiZGVlcy1hcHB1aS1zZWNvbmRhcnltZW51IildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W10sTiwkPVtdLEk9W10saixTPVtdLHo9W107dmFyIEQ9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNBcHB1aVNlY29uZGFyeW1lbnUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgVD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOlN0cmluZ30pXSxoPVtMKHt0eXBlOkFycmF5fSldLHA9W0woe3R5cGU6QXJyYXl9KV0seD1bTCh7dHlwZTpPYmplY3R9KV0seT1bWigpXSxFPVtaKCldLE49W1ooKV0saj1bTCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0sSW8odGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoZWFkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEE9PiJoZWFkaW5nImluIEEsImhhcyIpLGdldDppKEE9PkEuaGVhZGluZywiZ2V0Iiksc2V0OmkoKEEsVSk9PntBLmhlYWRpbmc9VX0sInNldCIpfSxtZXRhZGF0YTpUfSxvLGwpLElvKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZ3JvdXBzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEE9PiJncm91cHMiaW4gQSwiaGFzIiksZ2V0OmkoQT0+QS5ncm91cHMsImdldCIpLHNldDppKChBLFUpPT57QS5ncm91cHM9VX0sInNldCIpfSxtZXRhZGF0YTpUfSx1LGYpLElvKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0aW9uT3B0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShBPT4ic2VsZWN0aW9uT3B0aW9ucyJpbiBBLCJoYXMiKSxnZXQ6aShBPT5BLnNlbGVjdGlvbk9wdGlvbnMsImdldCIpLHNldDppKChBLFUpPT57QS5zZWxlY3Rpb25PcHRpb25zPVV9LCJzZXQiKX0sbWV0YWRhdGE6VH0sZyx2KSxJbyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkSXRlbSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShBPT4ic2VsZWN0ZWRJdGVtImluIEEsImhhcyIpLGdldDppKEE9PkEuc2VsZWN0ZWRJdGVtLCJnZXQiKSxzZXQ6aSgoQSxVKT0+e0Euc2VsZWN0ZWRJdGVtPVV9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYixtKSxJbyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbGxhcHNlZEdyb3VwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShBPT4iY29sbGFwc2VkR3JvdXBzImluIEEsImhhcyIpLGdldDppKEE9PkEuY29sbGFwc2VkR3JvdXBzLCJnZXQiKSxzZXQ6aSgoQSxVKT0+e0EuY29sbGFwc2VkR3JvdXBzPVV9LCJzZXQiKX0sbWV0YWRhdGE6VH0sTSxrKSxJbyh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbGxhcHNlZE11bHRpRmlsdGVycyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShBPT4iY29sbGFwc2VkTXVsdGlGaWx0ZXJzImluIEEsImhhcyIpLGdldDppKEE9PkEuY29sbGFwc2VkTXVsdGlGaWx0ZXJzLCJnZXQiKSxzZXQ6aSgoQSxVKT0+e0EuY29sbGFwc2VkTXVsdGlGaWx0ZXJzPVV9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyxDKSxJbyh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlbmRlckNvdW50ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQT0+InJlbmRlckNvdW50ZXIiaW4gQSwiaGFzIiksZ2V0OmkoQT0+QS5yZW5kZXJDb3VudGVyLCJnZXQiKSxzZXQ6aSgoQSxVKT0+e0EucmVuZGVyQ291bnRlcj1VfSwic2V0Iil9LG1ldGFkYXRhOlR9LCQsSSksSW8odGhpcyxudWxsLGose2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2xsYXBzZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQT0+ImNvbGxhcHNlZCJpbiBBLCJoYXMiKSxnZXQ6aShBPT5BLmNvbGxhcHNlZCwiZ2V0Iiksc2V0OmkoKEEsVSk9PntBLmNvbGxhcHNlZD1VfSwic2V0Iil9LG1ldGFkYXRhOlR9LFMseiksSW8obnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6VH0sbnVsbCxhKSxEPXI9ZS52YWx1ZSxUJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlR9KX1zdGF0aWMgZGVtbz11WHQ7c3RhdGljIGRlbW9Hcm91cHM9WyJBcHAgVUkiXTsjZT1pcih0aGlzLG8sIk1lbnUiKTtnZXQgaGVhZGluZygpe3JldHVybiB0aGlzLiNlfXNldCBoZWFkaW5nKFQpe3RoaXMuI2U9VH0jdD0oaXIodGhpcyxsKSxpcih0aGlzLHUsW10pKTtnZXQgZ3JvdXBzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGdyb3VwcyhUKXt0aGlzLiN0PVR9I2E9KGlyKHRoaXMsZiksaXIodGhpcyxnLFtdKSk7Z2V0IHNlbGVjdGlvbk9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2VsZWN0aW9uT3B0aW9ucyhUKXt0aGlzLiNhPVR9I3I9KGlyKHRoaXMsdiksaXIodGhpcyxiLG51bGwpKTtnZXQgc2VsZWN0ZWRJdGVtKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHNlbGVjdGVkSXRlbShUKXt0aGlzLiNyPVR9I2k9KGlyKHRoaXMsbSksaXIodGhpcyxNLG5ldyBTZXQpKTtnZXQgY29sbGFwc2VkR3JvdXBzKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGNvbGxhcHNlZEdyb3VwcyhUKXt0aGlzLiNpPVR9I3M9KGlyKHRoaXMsayksaXIodGhpcyxfLG5ldyBTZXQpKTtnZXQgY29sbGFwc2VkTXVsdGlGaWx0ZXJzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGNvbGxhcHNlZE11bHRpRmlsdGVycyhUKXt0aGlzLiNzPVR9I289KGlyKHRoaXMsQyksaXIodGhpcywkLDApKTtnZXQgcmVuZGVyQ291bnRlcigpe3JldHVybiB0aGlzLiNvfXNldCByZW5kZXJDb3VudGVyKFQpe3RoaXMuI289VH0jbj0oaXIodGhpcyxJKSxpcih0aGlzLFMsITEpKTtnZXQgY29sbGFwc2VkKCl7cmV0dXJuIHRoaXMuI259c2V0IGNvbGxhcHNlZChUKXt0aGlzLiNuPVR9c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICAtLXNpZGViYXItd2lkdGgtZXhwYW5kZWQ6IDI0MHB4OwogICAgICAgIC0tc2lkZWJhci13aWR0aC1jb2xsYXBzZWQ6IDU2cHg7CiAgICAgICAgLS1zaWRlYmFyLWJnOiAke2QuYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgICAgLS1zaWRlYmFyLWZnOiAke2QuYmRUaGVtZSgiIzUyNTI1MiIsIiNhM2EzYTMiKX07CiAgICAgICAgLS1zaWRlYmFyLWZnLW11dGVkOiAke2QuYmRUaGVtZSgiIzczNzM3MyIsIiM3MzczNzMiKX07CiAgICAgICAgLS1zaWRlYmFyLWZnLWFjdGl2ZTogJHtkLmJkVGhlbWUoIiMwYTBhMGEiLCIjZmFmYWZhIil9OwogICAgICAgIC0tc2lkZWJhci1ib3JkZXI6ICR7ZC5iZFRoZW1lKCIjZTVlNWU1IiwiIzFhMWExYSIpfTsKICAgICAgICAtLXNpZGViYXItaG92ZXI6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDQpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSIpfTsKICAgICAgICAtLXNpZGViYXItYWN0aXZlOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA2KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkiKX07CiAgICAgICAgLS1zaWRlYmFyLWFjY2VudDogJHtkLmJkVGhlbWUoIiMwYTBhMGEiLCIjZmFmYWZhIil9OwogICAgICAgIC0tdG9vbHRpcC1iZzogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIC0tdG9vbHRpcC1mZzogJHtkLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwoKICAgICAgICAvKiBCYWRnZSBjb2xvcnMgKi8KICAgICAgICAtLWJhZGdlLWRlZmF1bHQtYmc6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICAtLWJhZGdlLWRlZmF1bHQtZmc6ICR7ZC5iZFRoZW1lKCIjM2YzZjQ2IiwiI2ExYTFhYSIpfTsKICAgICAgICAtLWJhZGdlLXN1Y2Nlc3MtYmc6ICR7ZC5iZFRoZW1lKCIjZGNmY2U3IiwiIzE0NTMyZCIpfTsKICAgICAgICAtLWJhZGdlLXN1Y2Nlc3MtZmc6ICR7ZC5iZFRoZW1lKCIjMTY2NTM0IiwiIzRhZGU4MCIpfTsKICAgICAgICAtLWJhZGdlLXdhcm5pbmctYmc6ICR7ZC5iZFRoZW1lKCIjZmVmM2M3IiwiIzQ1MWEwMyIpfTsKICAgICAgICAtLWJhZGdlLXdhcm5pbmctZmc6ICR7ZC5iZFRoZW1lKCIjOTI0MDBlIiwiI2ZiYmYyNCIpfTsKICAgICAgICAtLWJhZGdlLWVycm9yLWJnOiAke2QuYmRUaGVtZSgiI2ZlZTJlMiIsIiM0NTBhMGEiKX07CiAgICAgICAgLS1iYWRnZS1lcnJvci1mZzogJHtkLmJkVGhlbWUoIiM5OTFiMWIiLCIjZjg3MTcxIil9OwoKICAgICAgICAvKiBBY3Rpb24gY29sb3JzICovCiAgICAgICAgLS1hY3Rpb24tcHJpbWFyeTogJHtkLmJkVGhlbWUoIiMyNTYzZWIiLCIjM2I4MmY2Iil9OwogICAgICAgIC0tYWN0aW9uLXByaW1hcnktaG92ZXI6ICR7ZC5iZFRoZW1lKCIjMWQ0ZWQ4IiwiIzYwYTVmYSIpfTsKICAgICAgICAtLWFjdGlvbi1kYW5nZXI6ICR7ZC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgICAtLWFjdGlvbi1kYW5nZXItaG92ZXI6ICR7ZC5iZFRoZW1lKCIjYjkxYzFjIiwiI2Y4NzE3MSIpfTsKCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogdmFyKC0tc2lkZWJhci13aWR0aC1leHBhbmRlZCk7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1iZyk7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tc2lkZWJhci1ib3JkZXIpOwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cyBlYXNlOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgewogICAgICAgIHdpZHRoOiB2YXIoLS1zaWRlYmFyLXdpZHRoLWNvbGxhcHNlZCk7CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAvKiBGbG9hdGluZyBjb2xsYXBzZSB0b2dnbGUgYnV0dG9uICovCiAgICAgIC5jb2xsYXBzZS10b2dnbGUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogLTEycHg7CiAgICAgICAgdG9wOiAyNHB4OwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTVlNSIsIiMzZjNmNDYiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzczNzM3MyIsIiNhMWExYWEiKX07CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIC5jb2xsYXBzZS10b2dnbGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzNmM2Y0NiIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwYTBhMGEiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICA6aG9zdCg6aG92ZXIpIC5jb2xsYXBzZS10b2dnbGUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5jb2xsYXBzZS10b2dnbGUgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC8qIEhlYWRlciBTZWN0aW9uICovCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tc2lkZWJhci1ib3JkZXIpOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgLmhlYWRpbmcgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctYWN0aXZlKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHdpZHRoIDAuMjVzIGVhc2U7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAuaGVhZGVyIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5oZWFkZXIgLmhlYWRpbmcgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLyogU2Nyb2xsYWJsZSBNZW51IFNlY3Rpb24gKi8KICAgICAgLm1lbnVTZWN0aW9uIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgICAgcGFkZGluZzogOHB4IDA7CiAgICAgIH0KCiAgICAgIC5tZW51U2VjdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgIH0KCiAgICAgIC5tZW51U2VjdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAubWVudVNlY3Rpb246Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjE1KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAubWVudVNlY3Rpb246Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjI1KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSkiKX07CiAgICAgIH0KCiAgICAgIC8qIE1lbnUgR3JvdXAgKi8KICAgICAgLm1lbnVHcm91cCB7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1lbnVHcm91cCB7CiAgICAgICAgcGFkZGluZzogMCA0cHg7CiAgICAgIH0KCiAgICAgIC5ncm91cEhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2UsIG1heC1oZWlnaHQgMC4yNXMgZWFzZTsKICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4OwogICAgICB9CgogICAgICAuZ3JvdXBIZWFkZXI6aG92ZXIgewogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJyZ2JhKDE0MCwgMTIwLCAxMDAsIDAuMDYpIiwicmdiYSgxODAsIDE2MCwgMTQwLCAwLjA4KSIpfTsKICAgICAgICBwYWRkaW5nOiA3cHggMTFweDsKICAgICAgfQoKICAgICAgLmdyb3VwSGVhZGVyOm5vdCguY29sbGFwc2VkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMTQwLCAxMjAsIDEwMCwgMC4wNikiLCJyZ2JhKDE4MCwgMTYwLCAxNDAsIDAuMDgpIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgfQoKICAgICAgLmdyb3VwSGVhZGVyIC5ncm91cFRpdGxlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzg3MTZjIiwiI2I1YTk5YSIpfTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5ncm91cEhlYWRlciAuZ3JvdXBUaXRsZSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3ODcxNmMiLCIjYjVhOTlhIil9OwogICAgICB9CgogICAgICAuZ3JvdXBIZWFkZXIgLmNoZXZyb24gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzc4NzE2YyIsIiNiNWE5OWEiKX07CiAgICAgIH0KCiAgICAgIC5ncm91cEhlYWRlci5jb2xsYXBzZWQgLmNoZXZyb24gewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7CiAgICAgIH0KCiAgICAgIC8qIEhpZGUgZ3JvdXAgaGVhZGVycyB3aGVuIGhvcml6b250YWxseSBjb2xsYXBzZWQgKi8KICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5ncm91cEhlYWRlciB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBtYXgtaGVpZ2h0OiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAvKiBHcm91cCBJdGVtcyBDb250YWluZXIgKi8KICAgICAgLmdyb3VwSXRlbXMgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjI1cyBlYXNlLCBvcGFjaXR5IDAuMnMgZWFzZSwgbWFyZ2luIDAuMjVzIGVhc2U7CiAgICAgICAgbWF4LWhlaWdodDogMTAwMHB4OwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQoKICAgICAgLmdyb3VwSXRlbXMuY29sbGFwc2VkIHsKICAgICAgICBtYXgtaGVpZ2h0OiAwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLyogQWx3YXlzIHNob3cgaXRlbXMgd2hlbiBob3Jpem9udGFsbHkgY29sbGFwc2VkIChyZWdhcmRsZXNzIG9mIGdyb3VwIGNvbGxhcHNlIHN0YXRlKSAqLwogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLmdyb3VwSXRlbXMgewogICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLyogTWVudSBJdGVtIEJhc2UgKi8KICAgICAgLm1lbnVJdGVtIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBtYXJnaW46IDJweCAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNDUwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmcpOwogICAgICB9CgogICAgICAubWVudUl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLWZnLWFjdGl2ZSk7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbTphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItYWN0aXZlKTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlYmFyLWFjdGl2ZSk7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctYWN0aXZlKTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAubWVudUl0ZW0uc2VsZWN0ZWQ6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIHdpZHRoOiAzcHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItYWNjZW50KTsKICAgICAgICBib3JkZXItcmFkaXVzOiAwIDJweCAycHggMDsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLnNlbGVjdGVkIGRlZXMtaWNvbiB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtIC5pdGVtTGFiZWwgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB3aWR0aCAwLjI1cyBlYXNlOwogICAgICB9CgogICAgICAvKiBBY3Rpb24gSXRlbSBTdHlsZXMgKi8KICAgICAgLm1lbnVJdGVtLmFjdGlvbi1wcmltYXJ5IHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aW9uLXByaW1hcnkpOwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aW9uLXByaW1hcnk6aG92ZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpb24tcHJpbWFyeS1ob3Zlcik7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMzcsIDk5LCAyMzUsIDAuMDgpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTIpIil9OwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aW9uLXByaW1hcnkgZGVlcy1pY29uIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aW9uLWRhbmdlciB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGlvbi1kYW5nZXIpOwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aW9uLWRhbmdlcjpob3ZlciB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGlvbi1kYW5nZXItaG92ZXIpOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDIyMCwgMzgsIDM4LCAwLjA4KSIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMTIpIil9OwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aW9uLWRhbmdlciBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC8qIEZpbHRlciBJdGVtIFN0eWxlcyAqLwogICAgICAubWVudUl0ZW0uZmlsdGVyIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS5maWx0ZXIgLmZpbHRlci1jaGVja2JveCB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZDRkNGQ0IiwiIzUyNTI1MiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAubWVudUl0ZW0uZmlsdGVyIC5maWx0ZXItY2hlY2tib3guY2hlY2tlZCB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1hY2NlbnQpOwogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc2lkZWJhci1hY2NlbnQpOwogICAgICB9CgogICAgICAubWVudUl0ZW0uZmlsdGVyIC5maWx0ZXItY2hlY2tib3ggZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAubWVudUl0ZW0uZmlsdGVyLmFjdGl2ZSB7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctYWN0aXZlKTsKICAgICAgfQoKICAgICAgLyogTXVsdGktRmlsdGVyIENvbnRhaW5lciAqLwogICAgICAubXVsdGlGaWx0ZXIgewogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2lkZWJhci1ib3JkZXIpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDIpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyKSIpfTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLWhlYWRlcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1ob3Zlcik7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1oZWFkZXIgLm11bHRpRmlsdGVyLXRpdGxlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctYWN0aXZlKTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLWhlYWRlciAubXVsdGlGaWx0ZXItdGl0bGUgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItaGVhZGVyIC5tdWx0aUZpbHRlci1jb3VudCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLWZnLW11dGVkKTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWRnZS1kZWZhdWx0LWJnKTsKICAgICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLWhlYWRlciAuY2hldnJvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctbXV0ZWQpOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItaGVhZGVyLmNvbGxhcHNlZCAuY2hldnJvbiB7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLW9wdGlvbnMgewogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1zaWRlYmFyLWJvcmRlcik7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMjVzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4OwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1vcHRpb25zLmNvbGxhcHNlZCB7CiAgICAgICAgbWF4LWhlaWdodDogMDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGJvcmRlci10b3A6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1vcHRpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmcpOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItb3B0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlYmFyLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tc2lkZWJhci1mZy1hY3RpdmUpOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItb3B0aW9uIC5vcHRpb24tY2hlY2tib3ggewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAke2QuYmRUaGVtZSgiI2Q0ZDRkNCIsIiM1MjUyNTIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLW9wdGlvbiAub3B0aW9uLWNoZWNrYm94LmNoZWNrZWQgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItYWNjZW50KTsKICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXNpZGViYXItYWNjZW50KTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLW9wdGlvbiAub3B0aW9uLWNoZWNrYm94IGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1vcHRpb24gZGVlcy1pY29uLm9wdGlvbi1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAvKiBEaXZpZGVyICovCiAgICAgIC5tZW51RGl2aWRlciB7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1ib3JkZXIpOwogICAgICAgIG1hcmdpbjogOHB4IDEycHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubWVudURpdmlkZXIgewogICAgICAgIG1hcmdpbjogOHB4IDRweDsKICAgICAgfQoKICAgICAgLyogSGVhZGVyL0xhYmVsICovCiAgICAgIC5tZW51SGVhZGVyIHsKICAgICAgICBwYWRkaW5nOiAxMnB4IDEycHggNHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctbXV0ZWQpOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1lbnVIZWFkZXIgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIExpbmsgSXRlbSAqLwogICAgICAubWVudUl0ZW0ubGluayAuZXh0ZXJuYWwtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgfQoKICAgICAgLyogQ29sbGFwc2VkIG1lbnUgaXRlbSBzdHlsZXMgKi8KICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51SXRlbSB7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIGdhcDogMDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51SXRlbSAuaXRlbUxhYmVsIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51SXRlbS5zZWxlY3RlZDo6YmVmb3JlIHsKICAgICAgICBsZWZ0OiAtNHB4OwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1lbnVJdGVtIC5maWx0ZXItY2hlY2tib3gsCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubWVudUl0ZW0gLmV4dGVybmFsLWljb24gewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubXVsdGlGaWx0ZXIgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIFRvb2x0aXAgZm9yIGNvbGxhcHNlZCBzdGF0ZSAqLwogICAgICAuaXRlbS10b29sdGlwIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMTAwJTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdG9vbHRpcC1iZyk7CiAgICAgICAgY29sb3I6IHZhcigtLXRvb2x0aXAtZmcpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlOwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgIH0KCiAgICAgIC5pdGVtLXRvb2x0aXA6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IC00cHg7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tdG9vbHRpcC1iZyk7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubWVudUl0ZW06aG92ZXIgLml0ZW0tdG9vbHRpcCB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAxczsKICAgICAgfQoKICAgICAgLyogQmFkZ2UgU3R5bGVzICovCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBtaW4td2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIHBhZGRpbmc6IDAgNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDlweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmJhZGdlLmRlZmF1bHQgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJhZGdlLWRlZmF1bHQtYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1iYWRnZS1kZWZhdWx0LWZnKTsKICAgICAgfQoKICAgICAgLmJhZGdlLnN1Y2Nlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJhZGdlLXN1Y2Nlc3MtYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1iYWRnZS1zdWNjZXNzLWZnKTsKICAgICAgfQoKICAgICAgLmJhZGdlLndhcm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJhZGdlLXdhcm5pbmctYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1iYWRnZS13YXJuaW5nLWZnKTsKICAgICAgfQoKICAgICAgLmJhZGdlLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWRnZS1lcnJvci1iZyk7CiAgICAgICAgY29sb3I6IHZhcigtLWJhZGdlLWVycm9yLWZnKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogTGVnYWN5IG9wdGlvbnMgY29udGFpbmVyICovCiAgICAgIC5sZWdhY3lPcHRpb25zIHsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgfQoKICAgICAgLyogRGl2aWRlciAobGVnYWN5KSAqLwogICAgICAuZGl2aWRlciB7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1ib3JkZXIpOwogICAgICAgIG1hcmdpbjogOHB4IDEycHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtYWluY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImhlYWRpbmciPiR7dGhpcy5oZWFkaW5nfTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtZW51U2VjdGlvbiI+CiAgICAgICAgICAke3RoaXMuZ3JvdXBzLmxlbmd0aD4wP3RoaXMucmVuZGVyR3JvdXBzKCk6dGhpcy5yZW5kZXJMZWdhY3lPcHRpb25zKCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8YnV0dG9uIGNsYXNzPSJjb2xsYXBzZS10b2dnbGUiIEBjbGljaz0iJHsoKT0+dGhpcy50b2dnbGVDb2xsYXBzZSgpfSI+CiAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHt0aGlzLmNvbGxhcHNlZD8ibHVjaWRlOmNoZXZyb25SaWdodCI6Imx1Y2lkZTpjaGV2cm9uTGVmdCJ9Ij48L2RlZXMtaWNvbj4KICAgICAgPC9idXR0b24+CiAgICBgfXJlbmRlckdyb3Vwcygpe3JldHVybiB3YAogICAgICAke3RoaXMuZ3JvdXBzLm1hcChUPT53YAogICAgICAgIDxkaXYgY2xhc3M9Im1lbnVHcm91cCI+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIGNsYXNzPSJncm91cEhlYWRlciAke3RoaXMuY29sbGFwc2VkR3JvdXBzLmhhcyhULm5hbWUpPyJjb2xsYXBzZWQiOiIifSIKICAgICAgICAgICAgQGNsaWNrPSIkeygpPT50aGlzLnRvZ2dsZUdyb3VwKFQubmFtZSl9IgogICAgICAgICAgPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JvdXBUaXRsZSI+CiAgICAgICAgICAgICAgJHtULmljb25OYW1lP3dgPGRlZXMtaWNvbiAuaWNvbj0iJHt0aGlzLm5vcm1hbGl6ZUljb24oVC5pY29uTmFtZSl9Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgICAgICAgICR7VC5uYW1lfQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9ImNoZXZyb24iIC5pY29uPSIkeyJsdWNpZGU6Y2hldnJvbkRvd24ifSI+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Imdyb3VwSXRlbXMgJHt0aGlzLmNvbGxhcHNlZEdyb3Vwcy5oYXMoVC5uYW1lKT8iY29sbGFwc2VkIjoiIn0iPgogICAgICAgICAgICAke1QuaXRlbXMubWFwKEE9PnRoaXMucmVuZGVySXRlbShBLFQpKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgKX0KICAgIGB9cmVuZGVySXRlbShULEEpe2lmKCJoaWRkZW4iaW4gVCYmVC5oaWRkZW4pcmV0dXJuIHdgYDtzd2l0Y2goInR5cGUiaW4gVD9ULnR5cGU6InRhYiIpe2Nhc2UiYWN0aW9uIjpyZXR1cm4gdGhpcy5yZW5kZXJBY3Rpb25JdGVtKFQpO2Nhc2UiZmlsdGVyIjpyZXR1cm4gdGhpcy5yZW5kZXJGaWx0ZXJJdGVtKFQpO2Nhc2UibXVsdGlGaWx0ZXIiOnJldHVybiB0aGlzLnJlbmRlck11bHRpRmlsdGVySXRlbShUKTtjYXNlImRpdmlkZXIiOnJldHVybiB0aGlzLnJlbmRlckRpdmlkZXIoKTtjYXNlImhlYWRlciI6cmV0dXJuIHRoaXMucmVuZGVySGVhZGVyKFQpO2Nhc2UibGluayI6cmV0dXJuIHRoaXMucmVuZGVyTGlua0l0ZW0oVCk7ZGVmYXVsdDpyZXR1cm4gdGhpcy5yZW5kZXJUYWJJdGVtKFQsQSl9fXJlbmRlclRhYkl0ZW0oVCxBKXtsZXQgVT10aGlzLnNlbGVjdGVkSXRlbT8ua2V5PT09VC5rZXksUj1ULmRpc2FibGVkPT09ITA7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0ibWVudUl0ZW0gJHtVPyJzZWxlY3RlZCI6IiJ9ICR7Uj8iZGlzYWJsZWQiOiIifSIKICAgICAgICBAY2xpY2s9IiR7KCk9PiFSJiZ0aGlzLnNlbGVjdFRhYkl0ZW0oVCxBKX0iCiAgICAgICAgQGNvbnRleHRtZW51PSIke3E9PnRoaXMuaGFuZGxlQ29udGV4dE1lbnUocSxUKX0iCiAgICAgID4KICAgICAgICAke1QuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMubm9ybWFsaXplSWNvbihULmljb25OYW1lKX0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW1MYWJlbCI+JHtULmtleX08L3NwYW4+CiAgICAgICAgJHtULmJhZGdlIT09dm9pZCAwP3dgCiAgICAgICAgICA8c3BhbiBjbGFzcz0iYmFkZ2UgJHtULmJhZGdlVmFyaWFudHx8ImRlZmF1bHQifSI+JHtULmJhZGdlfTwvc3Bhbj4KICAgICAgICBgOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXRvb2x0aXAiPiR7VC5rZXl9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyQWN0aW9uSXRlbShUKXtsZXQgQT1ULnZhcmlhbnR8fCJwcmltYXJ5IixVPVQuZGlzYWJsZWQ9PT0hMDtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJtZW51SXRlbSBhY3Rpb24tJHtBfSAke1U/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgQGNsaWNrPSIkeygpPT4hVSYmdGhpcy5oYW5kbGVBY3Rpb25DbGljayhUKX0iCiAgICAgID4KICAgICAgICAke1QuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMubm9ybWFsaXplSWNvbihULmljb25OYW1lKX0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW1MYWJlbCI+JHtULmtleX08L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdG9vbHRpcCI+JHtULmtleX08L3NwYW4+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJGaWx0ZXJJdGVtKFQpe2xldCBBPVQuZGlzYWJsZWQ9PT0hMDtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJtZW51SXRlbSBmaWx0ZXIgJHtULmFjdGl2ZT8iYWN0aXZlIjoiIn0gJHtBPyJkaXNhYmxlZCI6IiJ9IgogICAgICAgIEBjbGljaz0iJHsoKT0+IUEmJnRoaXMuaGFuZGxlRmlsdGVyVG9nZ2xlKFQpfSIKICAgICAgPgogICAgICAgICR7VC5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249IiR7dGhpcy5ub3JtYWxpemVJY29uKFQuaWNvbk5hbWUpfSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbUxhYmVsIj4ke1Qua2V5fTwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWx0ZXItY2hlY2tib3ggJHtULmFjdGl2ZT8iY2hlY2tlZCI6IiJ9Ij4KICAgICAgICAgICR7VC5hY3RpdmU/d2A8ZGVlcy1pY29uIC5pY29uPSIkeyJsdWNpZGU6Y2hlY2sifSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS10b29sdGlwIj4ke1Qua2V5fTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlck11bHRpRmlsdGVySXRlbShUKXtsZXQgQT10aGlzLmNvbGxhcHNlZE11bHRpRmlsdGVycy5oYXMoVC5rZXkpLFU9VC5vcHRpb25zLmZpbHRlcihSPT5SLmNoZWNrZWQpLmxlbmd0aDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibXVsdGlGaWx0ZXIiPgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJtdWx0aUZpbHRlci1oZWFkZXIgJHtBPyJjb2xsYXBzZWQiOiIifSIKICAgICAgICAgIEBjbGljaz0iJHsoKT0+dGhpcy50b2dnbGVNdWx0aUZpbHRlcihULmtleSl9IgogICAgICAgID4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJtdWx0aUZpbHRlci10aXRsZSI+CiAgICAgICAgICAgICR7VC5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249IiR7dGhpcy5ub3JtYWxpemVJY29uKFQuaWNvbk5hbWUpfSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgJHtULmtleX0KICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICR7VT4wP3dgPHNwYW4gY2xhc3M9Im11bHRpRmlsdGVyLWNvdW50Ij4ke1V9PC9zcGFuPmA6IiJ9CiAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJjaGV2cm9uIiAuaWNvbj0iJHsibHVjaWRlOmNoZXZyb25Eb3duIn0iPjwvZGVlcy1pY29uPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im11bHRpRmlsdGVyLW9wdGlvbnMgJHtBPyJjb2xsYXBzZWQiOiIifSI+CiAgICAgICAgICAke1Qub3B0aW9ucy5tYXAoUj0+d2AKICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgIGNsYXNzPSJtdWx0aUZpbHRlci1vcHRpb24iCiAgICAgICAgICAgICAgQGNsaWNrPSIkeygpPT50aGlzLmhhbmRsZU11bHRpRmlsdGVyT3B0aW9uVG9nZ2xlKFQsUi5rZXkpfSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wdGlvbi1jaGVja2JveCAke1IuY2hlY2tlZD8iY2hlY2tlZCI6IiJ9Ij4KICAgICAgICAgICAgICAgICR7Ui5jaGVja2VkP3dgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOmNoZWNrIn0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgJHtSLmljb25OYW1lP3dgPGRlZXMtaWNvbiBjbGFzcz0ib3B0aW9uLWljb24iIC5pY29uPSIke3RoaXMubm9ybWFsaXplSWNvbihSLmljb25OYW1lKX0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICAgPHNwYW4+JHtSLmxhYmVsfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckRpdmlkZXIoKXtyZXR1cm4gd2A8ZGl2IGNsYXNzPSJtZW51RGl2aWRlciI+PC9kaXY+YH1yZW5kZXJIZWFkZXIoVCl7cmV0dXJuIHdgPGRpdiBjbGFzcz0ibWVudUhlYWRlciI+JHtULmxhYmVsfTwvZGl2PmB9cmVuZGVyTGlua0l0ZW0oVCl7bGV0IEE9VC5leHRlcm5hbD8/VC5ocmVmLnN0YXJ0c1dpdGgoImh0dHAiKSxVPVQuZGlzYWJsZWQ9PT0hMDtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJtZW51SXRlbSBsaW5rICR7VT8iZGlzYWJsZWQiOiIifSIKICAgICAgICBAY2xpY2s9IiR7KCk9PiFVJiZ0aGlzLmhhbmRsZUxpbmtDbGljayhUKX0iCiAgICAgID4KICAgICAgICAke1QuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMubm9ybWFsaXplSWNvbihULmljb25OYW1lKX0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW1MYWJlbCI+JHtULmtleX08L3NwYW4+CiAgICAgICAgJHtBP3dgPGRlZXMtaWNvbiBjbGFzcz0iZXh0ZXJuYWwtaWNvbiIgLmljb249IiR7Imx1Y2lkZTpleHRlcm5hbExpbmsifSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS10b29sdGlwIj4ke1Qua2V5fTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckxlZ2FjeU9wdGlvbnMoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibGVnYWN5T3B0aW9ucyI+CiAgICAgICAgJHt0aGlzLnNlbGVjdGlvbk9wdGlvbnMubWFwKFQ9PntpZigiZGl2aWRlciJpbiBUJiZULmRpdmlkZXIpcmV0dXJuIHdgPGRpdiBjbGFzcz0iZGl2aWRlciI+PC9kaXY+YDtsZXQgQT1ULFU9e2tleTpBLmtleSxpY29uTmFtZTpBLmljb25OYW1lLGFjdGlvbjpBLmFjdGlvbixiYWRnZTpBLmJhZGdlLGJhZGdlVmFyaWFudDpBLmJhZGdlVmFyaWFudH07cmV0dXJuIHRoaXMucmVuZGVyVGFiSXRlbShVKX0pfQogICAgICA8L2Rpdj4KICAgIGB9bm9ybWFsaXplSWNvbihUKXtyZXR1cm4gVC5zdGFydHNXaXRoKCJsdWNpZGU6Iik/VDpgbHVjaWRlOiR7VH1gfXRvZ2dsZUdyb3VwKFQpe2xldCBBPW5ldyBTZXQodGhpcy5jb2xsYXBzZWRHcm91cHMpO0EuaGFzKFQpP0EuZGVsZXRlKFQpOkEuYWRkKFQpLHRoaXMuY29sbGFwc2VkR3JvdXBzPUF9dG9nZ2xlTXVsdGlGaWx0ZXIoVCl7bGV0IEE9bmV3IFNldCh0aGlzLmNvbGxhcHNlZE11bHRpRmlsdGVycyk7QS5oYXMoVCk/QS5kZWxldGUoVCk6QS5hZGQoVCksdGhpcy5jb2xsYXBzZWRNdWx0aUZpbHRlcnM9QX10b2dnbGVDb2xsYXBzZSgpe3RoaXMuY29sbGFwc2VkPSF0aGlzLmNvbGxhcHNlZCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb2xsYXBzZS1jaGFuZ2UiLHtkZXRhaWw6e2NvbGxhcHNlZDp0aGlzLmNvbGxhcHNlZH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1zZWxlY3RUYWJJdGVtKFQsQSl7dGhpcy5zZWxlY3RlZEl0ZW09VCxULmFjdGlvbigpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIml0ZW0tc2VsZWN0Iix7ZGV0YWlsOntpdGVtOlQsZ3JvdXA6QX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1hc3luYyBoYW5kbGVBY3Rpb25DbGljayhUKXtULmNvbmZpcm1NZXNzYWdlJiYhd2luZG93LmNvbmZpcm0oVC5jb25maXJtTWVzc2FnZSl8fChhd2FpdCBULmFjdGlvbigpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFjdGlvbi1jbGljayIse2RldGFpbDp7aXRlbTpUfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX1oYW5kbGVGaWx0ZXJUb2dnbGUoVCl7bGV0IEE9IVQuYWN0aXZlO1QuYWN0aXZlPUEsVC5vblRvZ2dsZShBKSx0aGlzLnJlbmRlckNvdW50ZXIrKyx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJmaWx0ZXItdG9nZ2xlIix7ZGV0YWlsOntpdGVtOlQsYWN0aXZlOkF9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlTXVsdGlGaWx0ZXJPcHRpb25Ub2dnbGUoVCxBKXtsZXQgVT1ULm9wdGlvbnMuZmluZChxPT5xLmtleT09PUEpO1UmJihVLmNoZWNrZWQ9IVUuY2hlY2tlZCk7bGV0IFI9VC5vcHRpb25zLmZpbHRlcihxPT5xLmNoZWNrZWQpLm1hcChxPT5xLmtleSk7VC5vbkNoYW5nZShSKSx0aGlzLnJlbmRlckNvdW50ZXIrKyx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJtdWx0aWZpbHRlci1jaGFuZ2UiLHtkZXRhaWw6e2l0ZW06VCxzZWxlY3RlZEtleXM6Un0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVMaW5rQ2xpY2soVCl7VC5leHRlcm5hbD8/VC5ocmVmLnN0YXJ0c1dpdGgoImh0dHAiKT93aW5kb3cub3BlbihULmhyZWYsIl9ibGFuayIsIm5vb3BlbmVyLG5vcmVmZXJyZXIiKTp3aW5kb3cubG9jYXRpb24uaHJlZj1ULmhyZWYsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibGluay1jbGljayIse2RldGFpbDp7aXRlbTpUfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUNvbnRleHRNZW51KFQsQSl7TnQub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoVCxbe25hbWU6IlZpZXcgZGV0YWlscyIsYWN0aW9uOmkoYXN5bmMoKT0+e30sImFjdGlvbiIpLGljb25OYW1lOiJsdWNpZGU6ZXllIn0se25hbWU6IkVkaXQiLGFjdGlvbjppKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxpY29uTmFtZToibHVjaWRlOnBlbmNpbCJ9XSl9YXN5bmMgZmlyc3RVcGRhdGVkKFQpe2lmKGF3YWl0IHN1cGVyLmZpcnN0VXBkYXRlZChUKSx0aGlzLmdyb3Vwcy5sZW5ndGg+MCl7bGV0IEE9bmV3IFNldCxVPW5ldyBTZXQ7aWYodGhpcy5ncm91cHMuZm9yRWFjaChSPT57Ui5jb2xsYXBzZWQmJkEuYWRkKFIubmFtZSksUi5pdGVtcy5mb3JFYWNoKHE9PntpZigidHlwZSJpbiBxJiZxLnR5cGU9PT0ibXVsdGlGaWx0ZXIiKXtsZXQgb2U9cTtvZS5jb2xsYXBzZWQmJlUuYWRkKG9lLmtleSl9fSl9KSx0aGlzLmNvbGxhcHNlZEdyb3Vwcz1BLHRoaXMuY29sbGFwc2VkTXVsdGlGaWx0ZXJzPVUsIXRoaXMuc2VsZWN0ZWRJdGVtKWZvcihsZXQgUiBvZiB0aGlzLmdyb3Vwcylmb3IobGV0IHEgb2YgUi5pdGVtcyl7bGV0IG9lPSJ0eXBlImluIHE/cS50eXBlOiJ0YWIiO2lmKG9lPT09InRhYiJ8fG9lPT09dm9pZCAwKXtsZXQgTz1xO2lmKCFPLmRpc2FibGVkKXt0aGlzLnNlbGVjdFRhYkl0ZW0oTyxSKTtyZXR1cm59fX19ZWxzZSBpZih0aGlzLnNlbGVjdGlvbk9wdGlvbnMubGVuZ3RoPjApe2xldCBBPXRoaXMuc2VsZWN0aW9uT3B0aW9ucy5maW5kKFU9PiEoImRpdmlkZXIiaW4gVSkpO2lmKEEmJiF0aGlzLnNlbGVjdGVkSXRlbSl7bGV0IFU9e2tleTpBLmtleSxpY29uTmFtZTpBLmljb25OYW1lLGFjdGlvbjpBLmFjdGlvbn07dGhpcy5zZWxlY3RUYWJJdGVtKFUpfX19Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGlyKHRoaXMseil9c3RhdGlje2lyKHIsYSl9fTtyZXR1cm4gRD1yfSkoKX0pO3ZhciB2NixYaSx6TWksU01pLG1YdCxnWHQ9YygoKT0+e3BlKCk7b2woKTt2Nj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sWGk9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LHpNaT0oKCk9PntsZXQgdD1bYWUoImRlbW8tY2xvc2VhYmxlLXRhYnMiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXTt2YXIgcD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVtb0Nsb3NlYWJsZVRhYnMiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgZz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtaKCldLGg9W1ooKV0sdjYodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHY9PiJ0YWJzImluIHYsImhhcyIpLGdldDppKHY9PnYudGFicywiZ2V0Iiksc2V0OmkoKHYseCk9Pnt2LnRhYnM9eH0sInNldCIpfSxtZXRhZGF0YTpnfSxvLGwpLHY2KHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFiQ291bnRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh2PT4idGFiQ291bnRlciJpbiB2LCJoYXMiKSxnZXQ6aSh2PT52LnRhYkNvdW50ZXIsImdldCIpLHNldDppKCh2LHgpPT57di50YWJDb3VudGVyPXh9LCJzZXQiKX0sbWV0YWRhdGE6Z30sdSxmKSx2NihudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpnfSxudWxsLGEpLHA9cj1lLnZhbHVlLGcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Z30pfSNlPVhpKHRoaXMsbyxbe2tleToiTWFpbiIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIk1haW4gY2xpY2tlZCIpLCJhY3Rpb24iKX1dKTtnZXQgdGFicygpe3JldHVybiB0aGlzLiNlfXNldCB0YWJzKGcpe3RoaXMuI2U9Z30jdD0oWGkodGhpcyxsKSxYaSh0aGlzLHUsMCkpO2dldCB0YWJDb3VudGVyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHRhYkNvdW50ZXIoZyl7dGhpcy4jdD1nfXN0YXRpYyBzdHlsZXM9W1hgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAuaW5mbyB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4wMikiLCJyZ2JhKDI1NSwyNTUsMjU1LDAuMDIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07YWRkVGFiKCl7dGhpcy50YWJDb3VudGVyKys7bGV0IGc9YERvY3VtZW50ICR7dGhpcy50YWJDb3VudGVyfWA7dGhpcy50YWJzPVsuLi50aGlzLnRhYnMse2tleTpnLGljb25OYW1lOiJsdWNpZGU6ZmlsZSIsYWN0aW9uOmkoKCk9PmNvbnNvbGUubG9nKGAke2d9IGNsaWNrZWRgKSwiYWN0aW9uIiksY2xvc2VhYmxlOiEwLG9uQ2xvc2U6aSgoKT0+dGhpcy5yZW1vdmVUYWIoZyksIm9uQ2xvc2UiKX1dfXJlbW92ZVRhYihnKXt0aGlzLnRhYnM9dGhpcy50YWJzLmZpbHRlcih2PT52LmtleSE9PWcpfWNsZWFyQWxsKCl7dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYXBwdWktdGFicyIpPy5jbGVhcigpLHRoaXMudGFicz1bXSx0aGlzLnRhYkNvdW50ZXI9MH1yZW5kZXIoKXtsZXQgZz1be2lkOiJhZGQiLGljb25OYW1lOiJsdWNpZGU6cGx1cyIsYWN0aW9uOmkoKCk9PnRoaXMuYWRkVGFiKCksImFjdGlvbiIpLHRvb2x0aXA6Ik5ldyBUYWIifSx7aWQ6ImNsZWFyIixpY29uTmFtZToibHVjaWRlOnRyYXNoMiIsYWN0aW9uOmkoKCk9PnRoaXMuY2xlYXJBbGwoKSwiYWN0aW9uIiksdG9vbHRpcDoiQ2xlYXIgQWxsIFRhYnMifV07cmV0dXJuIHdgCiAgICAgIDxkZWVzLWFwcHVpLXRhYnMKICAgICAgICAudGFicz0ke3RoaXMudGFic30KICAgICAgICAuYWN0aW9uc1JpZ2h0PSR7Z30KICAgICAgICBAdGFiLWNsb3NlPSR7dj0+dGhpcy5yZW1vdmVUYWIodi5kZXRhaWwudGFiLmtleSl9CiAgICAgID48L2RlZXMtYXBwdWktdGFicz4KICAgICAgPGRpdiBjbGFzcz0iaW5mbyI+CiAgICAgICAgQ2xpY2sgdGhlIFggYnV0dG9uIG9uIHRhYnMgdG8gY2xvc2UgdGhlbS4gVXNlIHRoZSArIGJ1dHRvbiB0byBhZGQgdGFicyBhbmQgdGhlIHRyYXNoIGJ1dHRvbiB0byBjbGVhciBhbGwuCiAgICAgICAgPGJyPkN1cnJlbnQgdGFiczogJHt0aGlzLnRhYnMubGVuZ3RofQogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFhpKHRoaXMsZil9c3RhdGlje1hpKHIsYSl9fTtyZXR1cm4gcD1yfSkoKSxTTWk9KCgpPT57bGV0IHQ9W2FlKCJkZW1vLWF1dG9oaWRlLXRhYnMiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVtb0F1dG9IaWRlVGFicyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W1ooKV0saD1bWigpXSxwPVtaKCldLHY2KHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtPT4idGFicyJpbiBtLCJoYXMiKSxnZXQ6aShtPT5tLnRhYnMsImdldCIpLHNldDppKChtLHkpPT57bS50YWJzPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbyxsKSx2Nih0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9IaWRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJhdXRvSGlkZSJpbiBtLCJoYXMiKSxnZXQ6aShtPT5tLmF1dG9IaWRlLCJnZXQiKSxzZXQ6aSgobSx5KT0+e20uYXV0b0hpZGU9eX0sInNldCIpfSxtZXRhZGF0YTpifSx1LGYpLHY2KHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGhyZXNob2xkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJ0aHJlc2hvbGQiaW4gbSwiaGFzIiksZ2V0OmkobT0+bS50aHJlc2hvbGQsImdldCIpLHNldDppKChtLHkpPT57bS50aHJlc2hvbGQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxnLHYpLHY2KG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsYSkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9I2U9WGkodGhpcyxvLFt7a2V5OiJUYWIgMSIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIlRhYiAxIiksImFjdGlvbiIpfSx7a2V5OiJUYWIgMiIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIlRhYiAyIiksImFjdGlvbiIpfV0pO2dldCB0YWJzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRhYnMoYil7dGhpcy4jZT1ifSN0PShYaSh0aGlzLGwpLFhpKHRoaXMsdSwhMCkpO2dldCBhdXRvSGlkZSgpe3JldHVybiB0aGlzLiN0fXNldCBhdXRvSGlkZShiKXt0aGlzLiN0PWJ9I2E9KFhpKHRoaXMsZiksWGkodGhpcyxnLDEpKTtnZXQgdGhyZXNob2xkKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHRocmVzaG9sZChiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1bWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC50YWJzLWNvbnRhaW5lciB7CiAgICAgICAgbWluLWhlaWdodDogNjBweDsKICAgICAgICBib3JkZXI6IDFweCBkYXNoZWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KICAgICAgLnRhYnMtY29udGFpbmVyIGRlZXMtYXBwdWktdGFicyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgICAgLnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNhMWExYWEiLCIjNzE3MTdhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KICAgICAgLmNvbnRyb2xzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICAgIGJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMykiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQogICAgICBidXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICB9CiAgICAgIGJ1dHRvbi5kYW5nZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjEpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4zKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZjg3MTcxIil9OwogICAgICB9CiAgICAgIGJ1dHRvbi5kYW5nZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgfQogICAgICAuaW5mbyB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4wMikiLCJyZ2JhKDI1NSwyNTUsMjU1LDAuMDIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07dGFiQ291bnRlcj0oWGkodGhpcyx2KSwyKTthZGRUYWIoKXt0aGlzLnRhYkNvdW50ZXIrKyx0aGlzLnRhYnM9Wy4uLnRoaXMudGFicyx7a2V5OmBUYWIgJHt0aGlzLnRhYkNvdW50ZXJ9YCxpY29uTmFtZToibHVjaWRlOmZpbGUiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZyhgVGFiICR7dGhpcy50YWJDb3VudGVyfWApLCJhY3Rpb24iKX1dfXJlbW92ZUxhc3RUYWIoKXt0aGlzLnRhYnMubGVuZ3RoPjAmJih0aGlzLnRhYnM9dGhpcy50YWJzLnNsaWNlKDAsLTEpKX1jbGVhclRhYnMoKXt0aGlzLnRhYnM9W119cmVuZGVyKCl7bGV0IGI9dGhpcy5hdXRvSGlkZSYmdGhpcy50YWJzLmxlbmd0aDw9dGhpcy50aHJlc2hvbGQ7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InRhYnMtY29udGFpbmVyIj4KICAgICAgICAke2I/d2A8c3BhbiBjbGFzcz0icGxhY2Vob2xkZXIiPlRhYnMgaGlkZGVuICgke3RoaXMudGFicy5sZW5ndGh9IHRhYnMg4omkIHRocmVzaG9sZCAke3RoaXMudGhyZXNob2xkfSk8L3NwYW4+YDp3YDxkZWVzLWFwcHVpLXRhYnMKICAgICAgICAgICAgICAudGFicz0ke3RoaXMudGFic30KICAgICAgICAgICAgICAuYXV0b0hpZGU9JHt0aGlzLmF1dG9IaWRlfQogICAgICAgICAgICAgIC5hdXRvSGlkZVRocmVzaG9sZD0ke3RoaXMudGhyZXNob2xkfQogICAgICAgICAgICA+PC9kZWVzLWFwcHVpLXRhYnM+YH0KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICA8YnV0dG9uIEBjbGljaz0keygpPT50aGlzLmFkZFRhYigpfT4rIEFkZCBUYWI8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJkYW5nZXIiIEBjbGljaz0keygpPT50aGlzLnJlbW92ZUxhc3RUYWIoKX0+LSBSZW1vdmUgVGFiPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGFuZ2VyIiBAY2xpY2s9JHsoKT0+dGhpcy5jbGVhclRhYnMoKX0+Q2xlYXIgQWxsPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBAY2xpY2s9JHsoKT0+e3RoaXMudGhyZXNob2xkPTB9fT5UaHJlc2hvbGQ6IDA8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIEBjbGljaz0keygpPT57dGhpcy50aHJlc2hvbGQ9MX19PlRocmVzaG9sZDogMTwvYnV0dG9uPgogICAgICAgIDxidXR0b24gQGNsaWNrPSR7KCk9Pnt0aGlzLnRocmVzaG9sZD0yfX0+VGhyZXNob2xkOiAyPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpbmZvIj4KICAgICAgICBBdXRvLWhpZGU6ICR7dGhpcy5hdXRvSGlkZT8iT04iOiJPRkYifSB8IFRocmVzaG9sZDogJHt0aGlzLnRocmVzaG9sZH0gfCBUYWJzOiAke3RoaXMudGFicy5sZW5ndGh9CiAgICAgICAgPGJyPlRhYnMgd2lsbCBoaWRlIHdoZW4gY291bnQg4omkIHRocmVzaG9sZC4KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpY3tYaShyLGEpfX07cmV0dXJuIHg9cn0pKCksbVh0PWkoKCk9PntsZXQgdD1be2tleToiSG9tZSIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIkhvbWUgY2xpY2tlZCIpLCJhY3Rpb24iKX0se2tleToiQW5hbHl0aWNzIERhc2hib2FyZCIsaWNvbk5hbWU6Imx1Y2lkZTpsaW5lQ2hhcnQiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiQW5hbHl0aWNzIGNsaWNrZWQiKSwiYWN0aW9uIil9LHtrZXk6IlJlcG9ydHMiLGljb25OYW1lOiJsdWNpZGU6ZmlsZVRleHQiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiUmVwb3J0cyBjbGlja2VkIiksImFjdGlvbiIpfSx7a2V5OiJVc2VyIFNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOnNldHRpbmdzIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIlNldHRpbmdzIGNsaWNrZWQiKSwiYWN0aW9uIil9LHtrZXk6IkhlbHAiLGljb25OYW1lOiJsdWNpZGU6aGVscENpcmNsZSIsYWN0aW9uOmkoKCk9PmNvbnNvbGUubG9nKCJIZWxwIGNsaWNrZWQiKSwiYWN0aW9uIil9XSxlPVt7a2V5OiJQcm9maWxlIixpY29uTmFtZToibHVjaWRlOnVzZXIiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiUHJvZmlsZSBjbGlja2VkIiksImFjdGlvbiIpfSx7a2V5OiJTZWN1cml0eSIsaWNvbk5hbWU6Imx1Y2lkZTpzaGllbGQiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiU2VjdXJpdHkgY2xpY2tlZCIpLCJhY3Rpb24iKX0se2tleToiTm90aWZpY2F0aW9ucyIsaWNvbk5hbWU6Imx1Y2lkZTpiZWxsIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIk5vdGlmaWNhdGlvbnMgY2xpY2tlZCIpLCJhY3Rpb24iKX0se2tleToiSW50ZWdyYXRpb25zIixpY29uTmFtZToibHVjaWRlOmxpbmsiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiSW50ZWdyYXRpb25zIGNsaWNrZWQiKSwiYWN0aW9uIil9LHtrZXk6IkFkdmFuY2VkIixpY29uTmFtZToibHVjaWRlOmNvZGUiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiQWR2YW5jZWQgY2xpY2tlZCIpLCJhY3Rpb24iKX1dLGE9W3trZXk6IkFsbCIsYWN0aW9uOmkoKCk9PmNvbnNvbGUubG9nKCJBbGwgY2xpY2tlZCIpLCJhY3Rpb24iKX0se2tleToiQWN0aXZlIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIkFjdGl2ZSBjbGlja2VkIiksImFjdGlvbiIpfSx7a2V5OiJDb21wbGV0ZWQiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiQ29tcGxldGVkIGNsaWNrZWQiKSwiYWN0aW9uIil9LHtrZXk6IkFyY2hpdmVkIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIkFyY2hpdmVkIGNsaWNrZWQiKSwiYWN0aW9uIil9XSxyPVt7aWQ6ImJhY2siLGljb25OYW1lOiJsdWNpZGU6YXJyb3dMZWZ0IixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIkJhY2siKSwiYWN0aW9uIiksdG9vbHRpcDoiR28gQmFjayJ9XSxzPVt7aWQ6ImFkZCIsaWNvbk5hbWU6Imx1Y2lkZTpwbHVzIixhY3Rpb246aSgoKT0+Y29uc29sZS5sb2coIkFkZCB0YWIiKSwiYWN0aW9uIiksdG9vbHRpcDoiTmV3IFRhYiJ9LHtpZDoic2VhcmNoIixpY29uTmFtZToibHVjaWRlOnNlYXJjaCIsYWN0aW9uOmkoKCk9PmNvbnNvbGUubG9nKCJTZWFyY2giKSwiYWN0aW9uIiksdG9vbHRpcDoiU2VhcmNoIFRhYnMifSx7aWQ6ImRpc2FibGVkIixpY29uTmFtZToibHVjaWRlOmxvY2siLGFjdGlvbjppKCgpPT57fSwiYWN0aW9uIiksdG9vbHRpcDoiRGlzYWJsZWQgQWN0aW9uIixkaXNhYmxlZDohMH1dLG49aShvPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsiPgogICAgICAke299CiAgICA8L2Rpdj4KICBgLCJkZW1vQ29udGVudCIpO3JldHVybiB3YAogICAgPHN0eWxlPgogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDMycHg7CiAgICAgICAgcGFkZGluZzogNDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50d28tY29sdW1uIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjAwcHggMWZyOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkhvcml6b250YWwgVGFicyB3aXRoIEFuaW1hdGVkIEluZGljYXRvcjwvZGl2PgogICAgICAgIDxkZWVzLWFwcHVpLXRhYnMgLnRhYnM9JHt0fT48L2RlZXMtYXBwdWktdGFicz4KICAgICAgICAke24oIlNlbGVjdCBhIHRhYiB0byBzZWUgdGhlIHNtb290aCBzbGlkaW5nIGFuaW1hdGlvbiBvZiB0aGUgaW5kaWNhdG9yLiBUaGUgaW5kaWNhdG9yIGF1dG9tYXRpY2FsbHkgYWRqdXN0cyBpdHMgd2lkdGggdG8gbWF0Y2ggdGhlIHRhYiBjb250ZW50IHdpdGggbWluaW1hbCBwYWRkaW5nLiIpfQogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlRhYnMgd2l0aCBBY3Rpb24gQnV0dG9uczwvZGl2PgogICAgICAgIDxkZWVzLWFwcHVpLXRhYnMKICAgICAgICAgIC50YWJzPSR7dH0KICAgICAgICAgIC5hY3Rpb25zTGVmdD0ke3J9CiAgICAgICAgICAuYWN0aW9uc1JpZ2h0PSR7c30KICAgICAgICA+PC9kZWVzLWFwcHVpLXRhYnM+CiAgICAgICAgJHtuKCJBY3Rpb24gYnV0dG9ucyBjYW4gYmUgcGxhY2VkIG9uIGVpdGhlciBzaWRlIG9mIHRoZSB0YWIgYmFyLiBUaGV5IHJlbWFpbiBmaXhlZCB3aGlsZSB0YWJzIHNjcm9sbC4gVGhlIGxvY2sgaWNvbiBzaG93cyBhIGRpc2FibGVkIGFjdGlvbi4iKX0KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5DbG9zZWFibGUgVGFicyB3aXRoIEFjdGlvbnM8L2Rpdj4KICAgICAgICA8ZGVtby1jbG9zZWFibGUtdGFicz48L2RlbW8tY2xvc2VhYmxlLXRhYnM+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QXV0by1oaWRlIFRhYnM8L2Rpdj4KICAgICAgICA8ZGVtby1hdXRvaGlkZS10YWJzPjwvZGVtby1hdXRvaGlkZS10YWJzPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlZlcnRpY2FsIFRhYnMgTGF5b3V0PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idHdvLWNvbHVtbiI+CiAgICAgICAgICA8ZGVlcy1hcHB1aS10YWJzIC50YWJTdHlsZT0keyJ2ZXJ0aWNhbCJ9IC50YWJzPSR7ZX0+PC9kZWVzLWFwcHVpLXRhYnM+CiAgICAgICAgICAke24oIlZlcnRpY2FsIHRhYnMgd29yayBncmVhdCBmb3Igc2V0dGluZ3MgcGFnZXMgYW5kIG5hdmlnYXRpb24gbWVudXMuIFRoZSBhbmltYXRlZCBpbmRpY2F0b3Igc21vb3RobHkgdHJhbnNpdGlvbnMgYmV0d2VlbiBzZWxlY3Rpb25zLiIpfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPldpdGhvdXQgSW5kaWNhdG9yPC9kaXY+CiAgICAgICAgPGRlZXMtYXBwdWktdGFicyAuc2hvd1RhYkluZGljYXRvcj0keyExfSAudGFicz0ke2F9PjwvZGVlcy1hcHB1aS10YWJzPgogICAgICAgICR7bigiVGFicyBjYW4gYWxzbyBiZSB1c2VkIHdpdGhvdXQgdGhlIGFuaW1hdGVkIGluZGljYXRvciBieSBzZXR0aW5nIHNob3dUYWJJbmRpY2F0b3IgdG8gZmFsc2UuIil9CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYH0sImRlbW9GdW5jIil9KTt2YXIgRXMsZjEsYlh0LGVCZT1jKCgpPT57b2woKTtwZSgpO0l0KCk7Z1h0KCk7WGUoKTtFcz1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sZjE9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LGJYdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtYXBwdWktdGFicyIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdLEUsXz1bXSxDPVtdLE4sJD1bXSxJPVtdLGosUz1bXSx6PVtdLEQsVD1bXSxBPVtdLFUsUj1bXSxxPVtdO3ZhciBvZT1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0FwcHVpVGFicyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBPPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6QXJyYXl9KV0saD1bTCh7dHlwZTpPYmplY3R9KV0scD1bTCh7dHlwZTpCb29sZWFufSldLHg9W0woe3R5cGU6U3RyaW5nfSldLHk9W0woe3R5cGU6Qm9vbGVhbn0pXSxFPVtMKHt0eXBlOk51bWJlcn0pXSxOPVtMKHt0eXBlOkFycmF5fSldLGo9W0woe3R5cGU6QXJyYXl9KV0sRD1bWigpXSxVPVtaKCldLEVzKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShyZT0+InRhYnMiaW4gcmUsImhhcyIpLGdldDppKHJlPT5yZS50YWJzLCJnZXQiKSxzZXQ6aSgocmUseWUpPT57cmUudGFicz15ZX0sInNldCIpfSxtZXRhZGF0YTpPfSxvLGwpLEVzKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRUYWIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkocmU9PiJzZWxlY3RlZFRhYiJpbiByZSwiaGFzIiksZ2V0OmkocmU9PnJlLnNlbGVjdGVkVGFiLCJnZXQiKSxzZXQ6aSgocmUseWUpPT57cmUuc2VsZWN0ZWRUYWI9eWV9LCJzZXQiKX0sbWV0YWRhdGE6T30sdSxmKSxFcyh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dUYWJJbmRpY2F0b3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkocmU9PiJzaG93VGFiSW5kaWNhdG9yImluIHJlLCJoYXMiKSxnZXQ6aShyZT0+cmUuc2hvd1RhYkluZGljYXRvciwiZ2V0Iiksc2V0OmkoKHJlLHllKT0+e3JlLnNob3dUYWJJbmRpY2F0b3I9eWV9LCJzZXQiKX0sbWV0YWRhdGE6T30sZyx2KSxFcyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYlN0eWxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHJlPT4idGFiU3R5bGUiaW4gcmUsImhhcyIpLGdldDppKHJlPT5yZS50YWJTdHlsZSwiZ2V0Iiksc2V0OmkoKHJlLHllKT0+e3JlLnRhYlN0eWxlPXllfSwic2V0Iil9LG1ldGFkYXRhOk99LGIsbSksRXModGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhdXRvSGlkZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShyZT0+ImF1dG9IaWRlImluIHJlLCJoYXMiKSxnZXQ6aShyZT0+cmUuYXV0b0hpZGUsImdldCIpLHNldDppKChyZSx5ZSk9PntyZS5hdXRvSGlkZT15ZX0sInNldCIpfSxtZXRhZGF0YTpPfSxNLGspLEVzKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXV0b0hpZGVUaHJlc2hvbGQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkocmU9PiJhdXRvSGlkZVRocmVzaG9sZCJpbiByZSwiaGFzIiksZ2V0OmkocmU9PnJlLmF1dG9IaWRlVGhyZXNob2xkLCJnZXQiKSxzZXQ6aSgocmUseWUpPT57cmUuYXV0b0hpZGVUaHJlc2hvbGQ9eWV9LCJzZXQiKX0sbWV0YWRhdGE6T30sXyxDKSxFcyh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbnNMZWZ0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHJlPT4iYWN0aW9uc0xlZnQiaW4gcmUsImhhcyIpLGdldDppKHJlPT5yZS5hY3Rpb25zTGVmdCwiZ2V0Iiksc2V0OmkoKHJlLHllKT0+e3JlLmFjdGlvbnNMZWZ0PXllfSwic2V0Iil9LG1ldGFkYXRhOk99LCQsSSksRXModGhpcyxudWxsLGose2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpb25zUmlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkocmU9PiJhY3Rpb25zUmlnaHQiaW4gcmUsImhhcyIpLGdldDppKHJlPT5yZS5hY3Rpb25zUmlnaHQsImdldCIpLHNldDppKChyZSx5ZSk9PntyZS5hY3Rpb25zUmlnaHQ9eWV9LCJzZXQiKX0sbWV0YWRhdGE6T30sUyx6KSxFcyh0aGlzLG51bGwsRCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNhblNjcm9sbExlZnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkocmU9PiJjYW5TY3JvbGxMZWZ0ImluIHJlLCJoYXMiKSxnZXQ6aShyZT0+cmUuY2FuU2Nyb2xsTGVmdCwiZ2V0Iiksc2V0OmkoKHJlLHllKT0+e3JlLmNhblNjcm9sbExlZnQ9eWV9LCJzZXQiKX0sbWV0YWRhdGE6T30sVCxBKSxFcyh0aGlzLG51bGwsVSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNhblNjcm9sbFJpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHJlPT4iY2FuU2Nyb2xsUmlnaHQiaW4gcmUsImhhcyIpLGdldDppKHJlPT5yZS5jYW5TY3JvbGxSaWdodCwiZ2V0Iiksc2V0OmkoKHJlLHllKT0+e3JlLmNhblNjcm9sbFJpZ2h0PXllfSwic2V0Iil9LG1ldGFkYXRhOk99LFIscSksRXMobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6T30sbnVsbCxhKSxvZT1yPWUudmFsdWUsTyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpPfSl9c3RhdGljIGRlbW89bVh0O3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9ZjEodGhpcyxvLFtdKTtnZXQgdGFicygpe3JldHVybiB0aGlzLiNlfXNldCB0YWJzKE8pe3RoaXMuI2U9T30jdD0oZjEodGhpcyxsKSxmMSh0aGlzLHUsbnVsbCkpO2dldCBzZWxlY3RlZFRhYigpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZFRhYihPKXt0aGlzLiN0PU99I2E9KGYxKHRoaXMsZiksZjEodGhpcyxnLCEwKSk7Z2V0IHNob3dUYWJJbmRpY2F0b3IoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd1RhYkluZGljYXRvcihPKXt0aGlzLiNhPU99I3I9KGYxKHRoaXMsdiksZjEodGhpcyxiLCJob3Jpem9udGFsIikpO2dldCB0YWJTdHlsZSgpe3JldHVybiB0aGlzLiNyfXNldCB0YWJTdHlsZShPKXt0aGlzLiNyPU99I2k9KGYxKHRoaXMsbSksZjEodGhpcyxNLCExKSk7Z2V0IGF1dG9IaWRlKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGF1dG9IaWRlKE8pe3RoaXMuI2k9T30jcz0oZjEodGhpcyxrKSxmMSh0aGlzLF8sMCkpO2dldCBhdXRvSGlkZVRocmVzaG9sZCgpe3JldHVybiB0aGlzLiNzfXNldCBhdXRvSGlkZVRocmVzaG9sZChPKXt0aGlzLiNzPU99I289KGYxKHRoaXMsQyksZjEodGhpcywkLFtdKSk7Z2V0IGFjdGlvbnNMZWZ0KCl7cmV0dXJuIHRoaXMuI299c2V0IGFjdGlvbnNMZWZ0KE8pe3RoaXMuI289T30jbj0oZjEodGhpcyxJKSxmMSh0aGlzLFMsW10pKTtnZXQgYWN0aW9uc1JpZ2h0KCl7cmV0dXJuIHRoaXMuI259c2V0IGFjdGlvbnNSaWdodChPKXt0aGlzLiNuPU99I2w9KGYxKHRoaXMseiksZjEodGhpcyxULCExKSk7Z2V0IGNhblNjcm9sbExlZnQoKXtyZXR1cm4gdGhpcy4jbH1zZXQgY2FuU2Nyb2xsTGVmdChPKXt0aGlzLiNsPU99I2M9KGYxKHRoaXMsQSksZjEodGhpcyxSLCExKSk7Z2V0IGNhblNjcm9sbFJpZ2h0KCl7cmV0dXJuIHRoaXMuI2N9c2V0IGNhblNjcm9sbFJpZ2h0KE8pe3RoaXMuI2M9T31yZXNpemVPYnNlcnZlcj0oZjEodGhpcyxxKSxudWxsKTtzdGF0aWMgc3R5bGVzPVtEZSxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnRhYnMtd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLnRhYnMtd3JhcHBlci5ob3Jpem9udGFsLXdyYXBwZXIgewogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgICB9CgogICAgICAvKiBTY3JvbGwgZmFkZSBpbmRpY2F0b3JzICovCiAgICAgIC5zY3JvbGwtZmFkZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDFweDsKICAgICAgICB3aWR0aDogNDhweDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICB9CgogICAgICAuc2Nyb2xsLWZhZGUtbGVmdCB7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsCiAgICAgICAgICAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMxNjE2MTYiKX0gMCUsCiAgICAgICAgICAke2QuYmRUaGVtZSgicmdiYSgyNTUsMjU1LDI1NSwwKSIsInJnYmEoMjIsMjIsMjIsMCkiKX0gMTAwJSk7CiAgICAgIH0KCiAgICAgIC5zY3JvbGwtZmFkZS1yaWdodCB7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsCiAgICAgICAgICAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMxNjE2MTYiKX0gMCUsCiAgICAgICAgICAke2QuYmRUaGVtZSgicmdiYSgyNTUsMjU1LDI1NSwwKSIsInJnYmEoMjIsMjIsMjIsMCkiKX0gMTAwJSk7CiAgICAgIH0KCiAgICAgIC5zY3JvbGwtZmFkZS52aXNpYmxlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAuc2Nyb2xsLWFyZWEgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIH0KCiAgICAgIC8qIFRhYiBhY3Rpb24gYnV0dG9ucyAqLwogICAgICAudGFiLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDJweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBwYWRkaW5nOiAwIDRweDsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb25zLmxlZnQgewogICAgICAgIHBhZGRpbmctbGVmdDogMTJweDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAudGFiLWFjdGlvbnMucmlnaHQgewogICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7CiAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC50YWItYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAudGFiLWFjdGlvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDYpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudGFiLWFjdGlvbi1idXR0b246YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjEpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgICB9CgogICAgICAudGFiLWFjdGlvbi1idXR0b24uZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuNDsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICAudGFiLWFjdGlvbi1idXR0b24uZGlzYWJsZWQ6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgIH0KCiAgICAgIC50YWItYWN0aW9uLWJ1dHRvbiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgfQoKICAgICAgLnRhYnNDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC50YWJzQ29udGFpbmVyLmhvcml6b250YWwgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47CiAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsKICAgICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47CiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAvKiBTaG93IHNjcm9sbGJhciBvbiBob3ZlciAqLwogICAgICAudGFicy13cmFwcGVyOmhvdmVyIC50YWJzQ29udGFpbmVyLmhvcml6b250YWwsCiAgICAgIC5zY3JvbGwtYXJlYTpob3ZlciAudGFic0NvbnRhaW5lci5ob3Jpem9udGFsIHsKICAgICAgICBzY3JvbGxiYXItY29sb3I6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsMCwwLDAuMikiLCJyZ2JhKDI1NSwyNTUsMjU1LDAuMikiKX0gdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC50YWJzQ29udGFpbmVyLmhvcml6b250YWw6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICBoZWlnaHQ6IDRweDsKICAgICAgfQoKICAgICAgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAudGFic0NvbnRhaW5lci5ob3Jpem9udGFsOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlOwogICAgICB9CgogICAgICAudGFicy13cmFwcGVyOmhvdmVyIC50YWJzQ29udGFpbmVyLmhvcml6b250YWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iLAogICAgICAuc2Nyb2xsLWFyZWE6aG92ZXIgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsMCwwLDAuMikiLCJyZ2JhKDI1NSwyNTUsMjU1LDAuMikiKX07CiAgICAgIH0KCiAgICAgIC50YWJzLXdyYXBwZXI6aG92ZXIgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIsCiAgICAgIC5zY3JvbGwtYXJlYTpob3ZlciAudGFic0NvbnRhaW5lci5ob3Jpem9udGFsOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4zNSkiLCJyZ2JhKDI1NSwyNTUsMjU1LDAuMzUpIil9OwogICAgICB9CgogICAgICAudGFic0NvbnRhaW5lci52ZXJ0aWNhbCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZ2FwOiAycHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjlmYWZiIiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIH0KCiAgICAgIC50YWIgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB6LWluZGV4OiAyOwogICAgICB9CgogICAgICAuaG9yaXpvbnRhbCAudGFiIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweCA2cHggMCAwOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTsKICAgICAgfQogICAgICAKICAgICAgLmhvcml6b250YWwgLnRhYjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAtMnB4OwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CiAgICAgIAogICAgICAuaG9yaXpvbnRhbCAudGFiIC50YWItY29udGVudCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnZlcnRpY2FsIC50YWIgewogICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAudGFiOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CiAgICAgIAogICAgICAuaG9yaXpvbnRhbCAudGFiOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAzKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMykiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5ob3Jpem9udGFsIC50YWI6aG92ZXI6OmFmdGVyLAogICAgICAuaG9yaXpvbnRhbCAudGFiOmhvdmVyICsgLnRhYjo6YWZ0ZXIgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgIH0KCiAgICAgIC52ZXJ0aWNhbCAudGFiOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgyNDQsIDI0NCwgMjQ1LCAwLjUpIiwicmdiYSgzOSwgMzksIDQyLCAwLjUpIil9OwogICAgICB9CgogICAgICAuaG9yaXpvbnRhbCAudGFiLnNlbGVjdGVkVGFiIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CiAgICAgIAogICAgICAuaG9yaXpvbnRhbCAudGFiLnNlbGVjdGVkVGFiOjphZnRlciwKICAgICAgLmhvcml6b250YWwgLnRhYi5zZWxlY3RlZFRhYiArIC50YWI6OmFmdGVyIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAudmVydGljYWwgLnRhYi5zZWxlY3RlZFRhYiB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRhYiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgfQoKICAgICAgLnRhYkluZGljYXRvciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgfQogICAgICAKICAgICAgLnRhYkluZGljYXRvci5uby10cmFuc2l0aW9uIHsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgICB9CgogICAgICAudGFicy13cmFwcGVyIC50YWJJbmRpY2F0b3IgewogICAgICAgIGhlaWdodDogM3B4OwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4IDNweCAwIDA7CiAgICAgICAgei1pbmRleDogMzsKICAgICAgfQoKICAgICAgLnZlcnRpY2FsLXdyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLnZlcnRpY2FsLXdyYXBwZXIgLnRhYkluZGljYXRvciB7CiAgICAgICAgbGVmdDogOHB4OwogICAgICAgIHJpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzI3MjcyYSIpfTsKICAgICAgICB6LWluZGV4OiAxOwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDgpOwogICAgICB9CgogICAgICAvKiBDbG9zZSBidXR0b24gKi8KICAgICAgLnRhYi1jbG9zZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgb3BhY2l0eTogMC40OwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMsIGJhY2tncm91bmQgMC4xNXM7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgICAgfQoKICAgICAgLnRhYjpob3ZlciAudGFiLWNsb3NlIHsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgIH0KCiAgICAgIC50YWItY2xvc2U6aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4xKSIsInJnYmEoMjU1LDI1NSwyNTUsMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZjg3MTcxIil9OwogICAgICB9CgogICAgICAudGFiLnNlbGVjdGVkVGFiIC50YWItY2xvc2UgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLnRhYi5zZWxlY3RlZFRhYjpob3ZlciAudGFiLWNsb3NlIHsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgIH0KCiAgICAgIC50YWIuc2VsZWN0ZWRUYWIgLnRhYi1jbG9zZTpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHRoaXMuYXV0b0hpZGUmJnRoaXMudGFicy5sZW5ndGg8PXRoaXMuYXV0b0hpZGVUaHJlc2hvbGQ/d2BgOndgCiAgICAgICR7dGhpcy5yZW5kZXJUYWJzV3JhcHBlcigpfQogICAgYH1yZW5kZXJUYWJzV3JhcHBlcigpe2xldCBPPXRoaXMudGFiU3R5bGU9PT0iaG9yaXpvbnRhbCIscmU9Tz8idGFicy13cmFwcGVyIGhvcml6b250YWwtd3JhcHBlciI6InZlcnRpY2FsLXdyYXBwZXIiLHllPWB0YWJzQ29udGFpbmVyICR7dGhpcy50YWJTdHlsZX1gO2lmKE8pe2xldCBCPXRoaXMuYWN0aW9uc0xlZnQmJnRoaXMuYWN0aW9uc0xlZnQubGVuZ3RoPjAsZWU9dGhpcy5hY3Rpb25zUmlnaHQmJnRoaXMuYWN0aW9uc1JpZ2h0Lmxlbmd0aD4wO3JldHVybiB3YAogICAgICAgIDxkaXYgY2xhc3M9IiR7cmV9Ij4KICAgICAgICAgICR7Qj90aGlzLnJlbmRlckFjdGlvbnModGhpcy5hY3Rpb25zTGVmdCwibGVmdCIpOiIifQogICAgICAgICAgPGRpdiBjbGFzcz0ic2Nyb2xsLWFyZWEiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzY3JvbGwtZmFkZSBzY3JvbGwtZmFkZS1sZWZ0ICR7dGhpcy5jYW5TY3JvbGxMZWZ0PyJ2aXNpYmxlIjoiIn0iPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSIke3llfSIgQHNjcm9sbD0ke3RoaXMuaGFuZGxlU2Nyb2xsfT4KICAgICAgICAgICAgICAke3RoaXMudGFicy5tYXAoQ2U9PnRoaXMucmVuZGVyVGFiKENlLE8pKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNjcm9sbC1mYWRlIHNjcm9sbC1mYWRlLXJpZ2h0ICR7dGhpcy5jYW5TY3JvbGxSaWdodD8idmlzaWJsZSI6IiJ9Ij48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHtlZT90aGlzLnJlbmRlckFjdGlvbnModGhpcy5hY3Rpb25zUmlnaHQsInJpZ2h0Iik6IiJ9CiAgICAgICAgICAke3RoaXMuc2hvd1RhYkluZGljYXRvcj93YDxkaXYgY2xhc3M9InRhYkluZGljYXRvciI+PC9kaXY+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgYH1yZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iJHtyZX0iPgogICAgICAgIDxkaXYgY2xhc3M9IiR7eWV9Ij4KICAgICAgICAgICR7dGhpcy50YWJzLm1hcChCPT50aGlzLnJlbmRlclRhYihCLE8pKX0KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuc2hvd1RhYkluZGljYXRvcj93YDxkaXYgY2xhc3M9InRhYkluZGljYXRvciI+PC9kaXY+YDoiIn0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckFjdGlvbnMoTyxyZSl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InRhYi1hY3Rpb25zICR7cmV9Ij4KICAgICAgICAke08ubWFwKHllPT53YAogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0idGFiLWFjdGlvbi1idXR0b24gJHt5ZS5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIKICAgICAgICAgICAgdGl0bGU9IiR7eWUudG9vbHRpcHx8eWUuaWR9IgogICAgICAgICAgICBAY2xpY2s9JHsoKT0+IXllLmRpc2FibGVkJiZ5ZS5hY3Rpb24oKX0KICAgICAgICAgID4KICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke3llLmljb25OYW1lfT48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGApfQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyVGFiKE8scmUpe2xldCBCPWB0YWIgJHtPPT09dGhpcy5zZWxlY3RlZFRhYj8ic2VsZWN0ZWRUYWIiOiIifWAsZWU9Ty5jbG9zZWFibGU/d2AKICAgICAgPHNwYW4gY2xhc3M9InRhYi1jbG9zZSIgQGNsaWNrPSIke1k9PnRoaXMuY2xvc2VUYWIoWSxPKX0iPgogICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOngifSBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyI+PC9kZWVzLWljb24+CiAgICAgIDwvc3Bhbj4KICAgIGA6IiIsQ2U9cmU/d2AKICAgICAgPHNwYW4gY2xhc3M9InRhYi1jb250ZW50Ij4KICAgICAgICAke3RoaXMucmVuZGVyVGFiSWNvbihPKX0KICAgICAgICAke08ua2V5fQogICAgICA8L3NwYW4+CiAgICAgICR7ZWV9CiAgICBgOndgCiAgICAgICR7dGhpcy5yZW5kZXJUYWJJY29uKE8pfQogICAgICAke08ua2V5fQogICAgICAke2VlfQogICAgYDtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSIke0J9IgogICAgICAgIEBjbGljaz0iJHsoKT0+dGhpcy5zZWxlY3RUYWIoTyl9IgogICAgICA+CiAgICAgICAgJHtDZX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclRhYkljb24oTyl7cmV0dXJuIE8uaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uPSR7Ty5pY29uTmFtZX0+PC9kZWVzLWljb24+YDoiIn1zZWxlY3RUYWIoTyl7dGhpcy5zZWxlY3RlZFRhYj1PLE8uYWN0aW9uKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5zY3JvbGxUYWJJbnRvVmlldyhPKX0pLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRhYi1zZWxlY3QiLHtkZXRhaWw6e3RhYjpPfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNsZWFyKCl7dGhpcy50YWJzPVtdLHRoaXMuc2VsZWN0ZWRUYWI9bnVsbH1jbG9zZVRhYihPLHJlKXtPLnN0b3BQcm9wYWdhdGlvbigpLHJlLm9uQ2xvc2UmJnJlLm9uQ2xvc2UoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItY2xvc2UiLHtkZXRhaWw6e3RhYjpyZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1maXJzdFVwZGF0ZWQoKXt0aGlzLnNldHVwUmVzaXplT2JzZXJ2ZXIoKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLnVwZGF0ZVNjcm9sbFN0YXRlKCl9KX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5yZXNpemVPYnNlcnZlciYmKHRoaXMucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9bnVsbCl9c2V0dXBSZXNpemVPYnNlcnZlcigpe2lmKHRoaXMudGFiU3R5bGUhPT0iaG9yaXpvbnRhbCIpcmV0dXJuO3RoaXMucmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKCgpPT57dGhpcy51cGRhdGVTY3JvbGxTdGF0ZSgpfSk7bGV0IE89dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudGFic0NvbnRhaW5lci5ob3Jpem9udGFsIik7TyYmdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKE8pfWhhbmRsZVNjcm9sbD1pKCgpPT57dGhpcy51cGRhdGVTY3JvbGxTdGF0ZSgpfSwiaGFuZGxlU2Nyb2xsIik7dXBkYXRlU2Nyb2xsU3RhdGUoKXtsZXQgTz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWJzQ29udGFpbmVyLmhvcml6b250YWwiKTtpZighTylyZXR1cm47bGV0IHJlPU8uc2Nyb2xsTGVmdCx5ZT1PLnNjcm9sbFdpZHRoLEI9Ty5jbGllbnRXaWR0aCxlZT0yO3RoaXMuY2FuU2Nyb2xsTGVmdD1yZT5lZSx0aGlzLmNhblNjcm9sbFJpZ2h0PXJlPHllLUItZWV9c2Nyb2xsVGFiSW50b1ZpZXcoTyl7aWYodGhpcy50YWJTdHlsZSE9PSJob3Jpem9udGFsIilyZXR1cm47bGV0IHJlPXRoaXMudGFicy5pbmRleE9mKE8pO2lmKHJlPT09LTEpcmV0dXJuO2xldCB5ZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWJzQ29udGFpbmVyLmhvcml6b250YWwiKSxCPXllPy5xdWVyeVNlbGVjdG9yKGAudGFiOm50aC1jaGlsZCgke3JlKzF9KWApO2lmKEImJnllKXtsZXQgZWU9eWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksQ2U9Qi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtDZS5sZWZ0Pj1lZS5sZWZ0JiZDZS5yaWdodDw9ZWUucmlnaHR8fEIuc2Nyb2xsSW50b1ZpZXcoe2JlaGF2aW9yOiJzbW9vdGgiLGJsb2NrOiJuZWFyZXN0IixpbmxpbmU6Im5lYXJlc3QifSl9fWFzeW5jIHVwZGF0ZWQoTyl7c3VwZXIudXBkYXRlZChPKSxPLmhhcygidGFicyIpJiYoIXRoaXMudGFic3x8dGhpcy50YWJzLmxlbmd0aD09PTA/dGhpcy5zZWxlY3RlZFRhYiE9PW51bGwmJih0aGlzLnNlbGVjdGVkVGFiPW51bGwsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGFiLXNlbGVjdCIse2RldGFpbDp7dGFiOm51bGx9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSkpOnRoaXMuc2VsZWN0ZWRUYWImJiF0aGlzLnRhYnMuaW5jbHVkZXModGhpcy5zZWxlY3RlZFRhYik/dGhpcy5zZWxlY3RUYWIodGhpcy50YWJzWzBdKTp0aGlzLnNlbGVjdGVkVGFifHx0aGlzLnNlbGVjdFRhYih0aGlzLnRhYnNbMF0pKSwoTy5oYXMoInNlbGVjdGVkVGFiIil8fE8uaGFzKCJ0YWJzIikpJiYoYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSwhdGhpcy5pbmRpY2F0b3JJbml0aWFsaXplZCYmZG9jdW1lbnQuZm9udHMmJmF3YWl0IGRvY3VtZW50LmZvbnRzLnJlYWR5LHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMudXBkYXRlVGFiSW5kaWNhdG9yKCksdGhpcy51cGRhdGVTY3JvbGxTdGF0ZSgpfSkpfWluZGljYXRvckluaXRpYWxpemVkPSExO3VwZGF0ZVRhYkluZGljYXRvcigpe2lmKCF0aGlzLnNob3VsZFNob3dJbmRpY2F0b3IoKSlyZXR1cm47bGV0IE89dGhpcy5nZXRTZWxlY3RlZFRhYkVsZW1lbnQoKTtpZighTylyZXR1cm47bGV0IHJlPXRoaXMuZ2V0SW5kaWNhdG9yRWxlbWVudCgpO3JlJiYodGhpcy5oYW5kbGVJbml0aWFsVHJhbnNpdGlvbihyZSksdGhpcy50YWJTdHlsZT09PSJob3Jpem9udGFsIj90aGlzLnVwZGF0ZUhvcml6b250YWxJbmRpY2F0b3IocmUsTyk6dGhpcy51cGRhdGVWZXJ0aWNhbEluZGljYXRvcihyZSxPKSxyZS5zdHlsZS5vcGFjaXR5PSIxIil9c2hvdWxkU2hvd0luZGljYXRvcigpe3JldHVybiB0aGlzLnNlbGVjdGVkVGFiJiZ0aGlzLnNob3dUYWJJbmRpY2F0b3ImJnRoaXMudGFicy5pbmNsdWRlcyh0aGlzLnNlbGVjdGVkVGFiKX1nZXRTZWxlY3RlZFRhYkVsZW1lbnQoKXtsZXQgTz10aGlzLnRhYnMuaW5kZXhPZih0aGlzLnNlbGVjdGVkVGFiKSx5ZT10aGlzLnRhYlN0eWxlPT09Imhvcml6b250YWwiP2AudGFicy13cmFwcGVyIC50YWJzQ29udGFpbmVyIC50YWI6bnRoLWNoaWxkKCR7TysxfSlgOmAudmVydGljYWwtd3JhcHBlciAudGFic0NvbnRhaW5lciAudGFiOm50aC1jaGlsZCgke08rMX0pYDtyZXR1cm4gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoeWUpfWdldEluZGljYXRvckVsZW1lbnQoKXtyZXR1cm4gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi50YWJJbmRpY2F0b3IiKX1oYW5kbGVJbml0aWFsVHJhbnNpdGlvbihPKXt0aGlzLmluZGljYXRvckluaXRpYWxpemVkfHwoTy5jbGFzc0xpc3QuYWRkKCJuby10cmFuc2l0aW9uIiksdGhpcy5pbmRpY2F0b3JJbml0aWFsaXplZD0hMCxzZXRUaW1lb3V0KCgpPT57Ty5jbGFzc0xpc3QucmVtb3ZlKCJuby10cmFuc2l0aW9uIil9LDUwKSl9dXBkYXRlSG9yaXpvbnRhbEluZGljYXRvcihPLHJlKXtsZXQgeWU9cmUucXVlcnlTZWxlY3RvcigiLnRhYi1jb250ZW50Iik7aWYoIXllKXJldHVybjtsZXQgQj1PLnBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZWU9eWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksQ2U9ZWUubGVmdC1CLmxlZnQsWT1lZS53aWR0aCs4LFA9Q2UtNDtPLnN0eWxlLndpZHRoPWAke1l9cHhgLE8uc3R5bGUubGVmdD1gJHtQfXB4YH11cGRhdGVWZXJ0aWNhbEluZGljYXRvcihPLHJlKXtsZXQgeWU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi52ZXJ0aWNhbC13cmFwcGVyIC50YWJzQ29udGFpbmVyIik7eWUmJihPLnN0eWxlLnRvcD1gJHtyZS5vZmZzZXRUb3AreWUub2Zmc2V0VG9wfXB4YCxPLnN0eWxlLmhlaWdodD1gJHtyZS5jbGllbnRIZWlnaHR9cHhgKX1zdGF0aWN7ZjEocixhKX19O3JldHVybiBvZT1yfSkoKX0pO3ZhciBtbCxIcix2WHQsdEJlPWMoKCk9PntvbCgpO3BlKCk7SXQoKTtlQmUoKTtYZSgpO21sPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxIcj1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sdlh0PSgoKT0+e2xldCB0PVthZSgiZGVlcy1hcHB1aS1tYWluY29udGVudCIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdLEUsXz1bXSxDPVtdLE4sJD1bXSxJPVtdO3ZhciBqPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzQXBwdWlNYWluY29udGVudCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBTPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6QXJyYXl9KV0saD1bTCh7dHlwZTpPYmplY3R9KV0scD1bTCh7dHlwZTpCb29sZWFufSldLHg9W0woe3R5cGU6Qm9vbGVhbn0pXSx5PVtMKHt0eXBlOk51bWJlcn0pXSxFPVtMKHt0eXBlOkFycmF5fSldLE49W0woe3R5cGU6QXJyYXl9KV0sbWwodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJ0YWJzImluIHosImhhcyIpLGdldDppKHo9PnoudGFicywiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LnRhYnM9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxvLGwpLG1sKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRUYWIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+InNlbGVjdGVkVGFiImluIHosImhhcyIpLGdldDppKHo9Pnouc2VsZWN0ZWRUYWIsImdldCIpLHNldDppKCh6LEQpPT57ei5zZWxlY3RlZFRhYj1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LHUsZiksbWwodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93VGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4ic2hvd1RhYnMiaW4geiwiaGFzIiksZ2V0Omkoej0+ei5zaG93VGFicywiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LnNob3dUYWJzPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sZyx2KSxtbCh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYnNBdXRvSGlkZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4idGFic0F1dG9IaWRlImluIHosImhhcyIpLGdldDppKHo9PnoudGFic0F1dG9IaWRlLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3oudGFic0F1dG9IaWRlPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sYixtKSxtbCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYnNBdXRvSGlkZVRocmVzaG9sZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4idGFic0F1dG9IaWRlVGhyZXNob2xkImluIHosImhhcyIpLGdldDppKHo9PnoudGFic0F1dG9IaWRlVGhyZXNob2xkLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3oudGFic0F1dG9IaWRlVGhyZXNob2xkPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sTSxrKSxtbCh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYkFjdGlvbnNMZWZ0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJ0YWJBY3Rpb25zTGVmdCJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LnRhYkFjdGlvbnNMZWZ0LCJnZXQiKSxzZXQ6aSgoeixEKT0+e3oudGFiQWN0aW9uc0xlZnQ9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxfLEMpLG1sKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFiQWN0aW9uc1JpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJ0YWJBY3Rpb25zUmlnaHQiaW4geiwiaGFzIiksZ2V0Omkoej0+ei50YWJBY3Rpb25zUmlnaHQsImdldCIpLHNldDppKCh6LEQpPT57ei50YWJBY3Rpb25zUmlnaHQ9RH0sInNldCIpfSxtZXRhZGF0YTpTfSwkLEkpLG1sKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlN9LG51bGwsYSksaj1yPWUudmFsdWUsUyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpTfSl9c3RhdGljIGRlbW89aSgoKT0+d2AKICAgIDxkZWVzLWFwcHVpLW1haW5jb250ZW50CiAgICAgIC50YWJzPSR7W3trZXk6Ik92ZXJ2aWV3IixpY29uTmFtZToibHVjaWRlOmhvbWUiLGFjdGlvbjppKCgpPT5jb25zb2xlLmxvZygiT3ZlcnZpZXciKSwiYWN0aW9uIil9LHtrZXk6IkRldGFpbHMiLGljb25OYW1lOiJsdWNpZGU6ZmlsZSIsYWN0aW9uOmkoKCk9PmNvbnNvbGUubG9nKCJEZXRhaWxzIiksImFjdGlvbiIpfSx7a2V5OiJTZXR0aW5ncyIsaWNvbk5hbWU6Imx1Y2lkZTpzZXR0aW5ncyIsYWN0aW9uOmkoKCk9PmNvbnNvbGUubG9nKCJTZXR0aW5ncyIpLCJhY3Rpb24iKX1dfQogICAgPgogICAgICA8ZGl2IHNsb3Q9ImNvbnRlbnQiIHN0eWxlPSJwYWRkaW5nOiA0MHB4OyBjb2xvcjogI2NjYzsiPgogICAgICAgIDxoMT5NYWluIENvbnRlbnQgQXJlYTwvaDE+CiAgICAgICAgPHA+VGhpcyBpcyB3aGVyZSB5b3VyIGFwcGxpY2F0aW9uIGNvbnRlbnQgZ29lcy48L3A+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLWFwcHVpLW1haW5jb250ZW50PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdOyNlPUhyKHRoaXMsbyxbe2tleToiXHUyNkEwXHVGRTBGIFBsZWFzZSBzZXQgdGFicyIsYWN0aW9uOmkoKCk9PmNvbnNvbGUud2FybigiTm8gdGFicyBjb25maWd1cmVkIGZvciBtYWluY29udGVudCIpLCJhY3Rpb24iKX1dKTtnZXQgdGFicygpe3JldHVybiB0aGlzLiNlfXNldCB0YWJzKFMpe3RoaXMuI2U9U30jdD0oSHIodGhpcyxsKSxIcih0aGlzLHUsbnVsbCkpO2dldCBzZWxlY3RlZFRhYigpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZFRhYihTKXt0aGlzLiN0PVN9I2E9KEhyKHRoaXMsZiksSHIodGhpcyxnLCEwKSk7Z2V0IHNob3dUYWJzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNob3dUYWJzKFMpe3RoaXMuI2E9U30jcj0oSHIodGhpcyx2KSxIcih0aGlzLGIsITEpKTtnZXQgdGFic0F1dG9IaWRlKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHRhYnNBdXRvSGlkZShTKXt0aGlzLiNyPVN9I2k9KEhyKHRoaXMsbSksSHIodGhpcyxNLDApKTtnZXQgdGFic0F1dG9IaWRlVGhyZXNob2xkKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHRhYnNBdXRvSGlkZVRocmVzaG9sZChTKXt0aGlzLiNpPVN9I3M9KEhyKHRoaXMsayksSHIodGhpcyxfLFtdKSk7Z2V0IHRhYkFjdGlvbnNMZWZ0KCl7cmV0dXJuIHRoaXMuI3N9c2V0IHRhYkFjdGlvbnNMZWZ0KFMpe3RoaXMuI3M9U30jbz0oSHIodGhpcyxDKSxIcih0aGlzLCQsW10pKTtnZXQgdGFiQWN0aW9uc1JpZ2h0KCl7cmV0dXJuIHRoaXMuI299c2V0IHRhYkFjdGlvbnNSaWdodChTKXt0aGlzLiNvPVN9c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzMzMiLCIjZmZmIil9OwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmcjsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTYxNjE2Iil9OwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogY29udGVudHM7CiAgICAgIH0KCiAgICAgIC50b3BiYXIgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBncmlkLXRlbXBsYXRlLXJvd3MgMC4zcyBlYXNlOwogICAgICB9CgogICAgICAudG9wYmFyID4gKiB7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgLmNvbnRlbnQtYXJlYSB7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICB9CgogICAgICA6aG9zdChbbm90YWJzXSkgLnRvcGJhciB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAwZnI7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtYWluY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b3BiYXIiPgogICAgICAgICAgPGRlZXMtYXBwdWktdGFicwogICAgICAgICAgICAudGFicz0ke3RoaXMudGFic30KICAgICAgICAgICAgLnNlbGVjdGVkVGFiPSR7dGhpcy5zZWxlY3RlZFRhYn0KICAgICAgICAgICAgLnNob3dUYWJJbmRpY2F0b3I9JHshMH0KICAgICAgICAgICAgLnRhYlN0eWxlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAuYXV0b0hpZGU9JHt0aGlzLnRhYnNBdXRvSGlkZX0KICAgICAgICAgICAgLmF1dG9IaWRlVGhyZXNob2xkPSR7dGhpcy50YWJzQXV0b0hpZGVUaHJlc2hvbGR9CiAgICAgICAgICAgIC5hY3Rpb25zTGVmdD0ke3RoaXMudGFiQWN0aW9uc0xlZnR9CiAgICAgICAgICAgIC5hY3Rpb25zUmlnaHQ9JHt0aGlzLnRhYkFjdGlvbnNSaWdodH0KICAgICAgICAgICAgQHRhYi1zZWxlY3Q9JHtTPT50aGlzLmhhbmRsZVRhYlNlbGVjdChTKX0KICAgICAgICAgICAgQHRhYi1jbG9zZT0ke1M9PnRoaXMuaGFuZGxlVGFiQ2xvc2UoUyl9CiAgICAgICAgICA+PC9kZWVzLWFwcHVpLXRhYnM+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudC1hcmVhIj4KICAgICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgICAgIDxzbG90IG5hbWU9ImNvbnRlbnQiPjwvc2xvdD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZVRhYlNlbGVjdChTKXt0aGlzLnNlbGVjdGVkVGFiPVMuZGV0YWlsLnRhYix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItc2VsZWN0Iix7ZGV0YWlsOlMuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlVGFiQ2xvc2UoUyl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGFiLWNsb3NlIix7ZGV0YWlsOlMuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9dXBkYXRlZChTKXtzdXBlci51cGRhdGVkKFMpLFMuaGFzKCJzaG93VGFicyIpJiYodGhpcy5zaG93VGFicz90aGlzLnJlbW92ZUF0dHJpYnV0ZSgibm90YWJzIik6dGhpcy5zZXRBdHRyaWJ1dGUoIm5vdGFicyIsIiIpKX1hc3luYyBmaXJzdFVwZGF0ZWQoUyl7YXdhaXQgc3VwZXIuZmlyc3RVcGRhdGVkKFMpLHRoaXMuc2hvd1RhYnN8fHRoaXMuc2V0QXR0cmlidXRlKCJub3RhYnMiLCIiKTtsZXQgej10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aS10YWJzIik7eiYmYXdhaXQgei51cGRhdGVDb21wbGV0ZX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksSHIodGhpcyxJKX1zdGF0aWN7SHIocixhKX19O3JldHVybiBqPXJ9KSgpfSk7dmFyIFZ0LFplLHhYdCx5WHQ9YygoKT0+e3BlKCk7SXQoKTtvbCgpO2xYdCgpO1hlKCk7S09lKCk7bE9lKCk7ZE9lKCk7UU9lKCk7Sk9lKCk7dEJlKCk7ck9lKCk7VnQ9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LFplPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSx4WHQ9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLWFwcHVpIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W10sTiwkPVtdLEk9W10saixTPVtdLHo9W10sRCxUPVtdLEE9W10sVSxSPVtdLHE9W10sb2UsTz1bXSxyZT1bXSx5ZSxCPVtdLGVlPVtdLENlLFk9W10sUD1bXSxILEc9W10sVz1bXSxzZSx6ZT1bXSxNZT1bXSxFZSxWPVtdLEY9W10sbmUsdGU9W10sSz1bXSxrZSx2ZT1bXSxkZT1bXSwkZSxWZT1bXSxRZT1bXSxUZSxsZT1bXSxmZT1bXSxTZSxIZT1bXSxLZT1bXSxrdCx1dD1bXSxDdD1bXSxXdCxoZT1bXSxtZT1bXSxQZSxmdD1bXSxidD1bXSxuYSxSMT1bXSwkcj1bXSxEcixxZT1bXSx0dD1bXSxTYSxqYT1bXSxYYT1bXSxzMSxLYT1bXSxLcj1bXSxRcixfZT1bXSx4ZT1bXSxOZSxMZT1bXSxnZT1bXSxCZSx1ZT1bXSxKPVtdLHdlLE9lPVtdLEZlPVtdLEp0LGxhPVtdLG8xPVtdLGlzLEYyPVtdLE8yPVtdLEdzLHJIPVtdLG9WZT1bXSxuVmUsbFZlPVtdLGNWZT1bXSxkVmUscFZlPVtdLHVWZT1bXTt2YXIgZlZlPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzQXBwdWkiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgUT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOkFycmF5fSldLGg9W0woe3R5cGU6U3RyaW5nfSldLHA9W0woe3R5cGU6U3RyaW5nfSldLHg9W0woe3R5cGU6Qm9vbGVhbn0pXSx5PVtMKHt0eXBlOk9iamVjdH0pXSxFPVtMKHt0eXBlOkFycmF5fSldLE49W0woe3R5cGU6Qm9vbGVhbn0pXSxqPVtMKHt0eXBlOlN0cmluZ30pXSxEPVtMKHt0eXBlOlN0cmluZ30pXSxVPVtMKHt0eXBlOkFycmF5fSldLG9lPVtMKHt0eXBlOkFycmF5fSldLHllPVtMKHt0eXBlOkFycmF5fSldLENlPVtMKHt0eXBlOk9iamVjdH0pXSxIPVtMKHt0eXBlOlN0cmluZ30pXSxzZT1bTCh7dHlwZTpBcnJheX0pXSxFZT1bTCh7dHlwZTpPYmplY3R9KV0sbmU9W0woe3R5cGU6Qm9vbGVhbn0pXSxrZT1bTCh7dHlwZTpCb29sZWFufSldLCRlPVtMKHt0eXBlOkJvb2xlYW59KV0sVGU9W0woe3R5cGU6Qm9vbGVhbn0pXSxTZT1bTCh7dHlwZTpCb29sZWFufSldLGt0PVtMKHt0eXBlOkJvb2xlYW59KV0sV3Q9W0woe3R5cGU6TnVtYmVyfSldLFBlPVtaKCldLG5hPVtaKCldLERyPVtMKHt0eXBlOkFycmF5fSldLFNhPVtMKHt0eXBlOk9iamVjdH0pXSxzMT1bTCh7dHlwZTpBcnJheX0pXSxRcj1bTCh7dHlwZTpBcnJheX0pXSxOZT1bWigpXSxCZT1bWigpXSx3ZT1bWigpXSxKdD1bWigpXSxpcz1bWigpXSxHcz1bWigpXSxuVmU9W1ooKV0sZFZlPVtaKCldLFZ0KHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXBwYmFyTWVudUl0ZW1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4iYXBwYmFyTWVudUl0ZW1zImluIGllLCJoYXMiKSxnZXQ6aShpZT0+aWUuYXBwYmFyTWVudUl0ZW1zLCJnZXQiKSxzZXQ6aSgoaWUsQWUpPT57aWUuYXBwYmFyTWVudUl0ZW1zPUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LG8sbCksVnQodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBiYXJCcmVhZGNydW1icyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShpZT0+ImFwcGJhckJyZWFkY3J1bWJzImluIGllLCJoYXMiKSxnZXQ6aShpZT0+aWUuYXBwYmFyQnJlYWRjcnVtYnMsImdldCIpLHNldDppKChpZSxBZSk9PntpZS5hcHBiYXJCcmVhZGNydW1icz1BZX0sInNldCIpfSxtZXRhZGF0YTpRfSx1LGYpLFZ0KHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXBwYmFyQnJlYWRjcnVtYlNlcGFyYXRvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShpZT0+ImFwcGJhckJyZWFkY3J1bWJTZXBhcmF0b3IiaW4gaWUsImhhcyIpLGdldDppKGllPT5pZS5hcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yLCJnZXQiKSxzZXQ6aSgoaWUsQWUpPT57aWUuYXBwYmFyQnJlYWRjcnVtYlNlcGFyYXRvcj1BZX0sInNldCIpfSxtZXRhZGF0YTpRfSxnLHYpLFZ0KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXBwYmFyU2hvd1dpbmRvd0NvbnRyb2xzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4iYXBwYmFyU2hvd1dpbmRvd0NvbnRyb2xzImluIGllLCJoYXMiKSxnZXQ6aShpZT0+aWUuYXBwYmFyU2hvd1dpbmRvd0NvbnRyb2xzLCJnZXQiKSxzZXQ6aSgoaWUsQWUpPT57aWUuYXBwYmFyU2hvd1dpbmRvd0NvbnRyb2xzPUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LGIsbSksVnQodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBiYXJVc2VyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4iYXBwYmFyVXNlciJpbiBpZSwiaGFzIiksZ2V0OmkoaWU9PmllLmFwcGJhclVzZXIsImdldCIpLHNldDppKChpZSxBZSk9PntpZS5hcHBiYXJVc2VyPUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LE0sayksVnQodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBiYXJQcm9maWxlTWVudUl0ZW1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4iYXBwYmFyUHJvZmlsZU1lbnVJdGVtcyJpbiBpZSwiaGFzIiksZ2V0OmkoaWU9PmllLmFwcGJhclByb2ZpbGVNZW51SXRlbXMsImdldCIpLHNldDppKChpZSxBZSk9PntpZS5hcHBiYXJQcm9maWxlTWVudUl0ZW1zPUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LF8sQyksVnQodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBiYXJTaG93U2VhcmNoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4iYXBwYmFyU2hvd1NlYXJjaCJpbiBpZSwiaGFzIiksZ2V0OmkoaWU9PmllLmFwcGJhclNob3dTZWFyY2gsImdldCIpLHNldDppKChpZSxBZSk9PntpZS5hcHBiYXJTaG93U2VhcmNoPUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LCQsSSksVnQodGhpcyxudWxsLGose2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWlubWVudUxvZ29JY29uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4ibWFpbm1lbnVMb2dvSWNvbiJpbiBpZSwiaGFzIiksZ2V0OmkoaWU9PmllLm1haW5tZW51TG9nb0ljb24sImdldCIpLHNldDppKChpZSxBZSk9PntpZS5tYWlubWVudUxvZ29JY29uPUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LFMseiksVnQodGhpcyxudWxsLEQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWlubWVudUxvZ29UZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4ibWFpbm1lbnVMb2dvVGV4dCJpbiBpZSwiaGFzIiksZ2V0OmkoaWU9PmllLm1haW5tZW51TG9nb1RleHQsImdldCIpLHNldDppKChpZSxBZSk9PntpZS5tYWlubWVudUxvZ29UZXh0PUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LFQsQSksVnQodGhpcyxudWxsLFUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWlubWVudUdyb3VwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShpZT0+Im1haW5tZW51R3JvdXBzImluIGllLCJoYXMiKSxnZXQ6aShpZT0+aWUubWFpbm1lbnVHcm91cHMsImdldCIpLHNldDppKChpZSxBZSk9PntpZS5tYWlubWVudUdyb3Vwcz1BZX0sInNldCIpfSxtZXRhZGF0YTpRfSxSLHEpLFZ0KHRoaXMsbnVsbCxvZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5tZW51Qm90dG9tVGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShpZT0+Im1haW5tZW51Qm90dG9tVGFicyJpbiBpZSwiaGFzIiksZ2V0OmkoaWU9PmllLm1haW5tZW51Qm90dG9tVGFicywiZ2V0Iiksc2V0OmkoKGllLEFlKT0+e2llLm1haW5tZW51Qm90dG9tVGFicz1BZX0sInNldCIpfSxtZXRhZGF0YTpRfSxPLHJlKSxWdCh0aGlzLG51bGwseWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWlubWVudVRhYnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaWU9PiJtYWlubWVudVRhYnMiaW4gaWUsImhhcyIpLGdldDppKGllPT5pZS5tYWlubWVudVRhYnMsImdldCIpLHNldDppKChpZSxBZSk9PntpZS5tYWlubWVudVRhYnM9QWV9LCJzZXQiKX0sbWV0YWRhdGE6UX0sQixlZSksVnQodGhpcyxudWxsLENlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbm1lbnVTZWxlY3RlZFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShpZT0+Im1haW5tZW51U2VsZWN0ZWRUYWIiaW4gaWUsImhhcyIpLGdldDppKGllPT5pZS5tYWlubWVudVNlbGVjdGVkVGFiLCJnZXQiKSxzZXQ6aSgoaWUsQWUpPT57aWUubWFpbm1lbnVTZWxlY3RlZFRhYj1BZX0sInNldCIpfSxtZXRhZGF0YTpRfSxZLFApLFZ0KHRoaXMsbnVsbCxILHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2Vjb25kYXJ5bWVudUhlYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaWU9PiJzZWNvbmRhcnltZW51SGVhZGluZyJpbiBpZSwiaGFzIiksZ2V0OmkoaWU9PmllLnNlY29uZGFyeW1lbnVIZWFkaW5nLCJnZXQiKSxzZXQ6aSgoaWUsQWUpPT57aWUuc2Vjb25kYXJ5bWVudUhlYWRpbmc9QWV9LCJzZXQiKX0sbWV0YWRhdGE6UX0sRyxXKSxWdCh0aGlzLG51bGwsc2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWNvbmRhcnltZW51R3JvdXBzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4ic2Vjb25kYXJ5bWVudUdyb3VwcyJpbiBpZSwiaGFzIiksZ2V0OmkoaWU9PmllLnNlY29uZGFyeW1lbnVHcm91cHMsImdldCIpLHNldDppKChpZSxBZSk9PntpZS5zZWNvbmRhcnltZW51R3JvdXBzPUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LHplLE1lKSxWdCh0aGlzLG51bGwsRWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWNvbmRhcnltZW51U2VsZWN0ZWRJdGVtIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4ic2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbSJpbiBpZSwiaGFzIiksZ2V0OmkoaWU9PmllLnNlY29uZGFyeW1lbnVTZWxlY3RlZEl0ZW0sImdldCIpLHNldDppKChpZSxBZSk9PntpZS5zZWNvbmRhcnltZW51U2VsZWN0ZWRJdGVtPUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LFYsRiksVnQodGhpcyxudWxsLG5lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbm1lbnVDb2xsYXBzZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaWU9PiJtYWlubWVudUNvbGxhcHNlZCJpbiBpZSwiaGFzIiksZ2V0OmkoaWU9PmllLm1haW5tZW51Q29sbGFwc2VkLCJnZXQiKSxzZXQ6aSgoaWUsQWUpPT57aWUubWFpbm1lbnVDb2xsYXBzZWQ9QWV9LCJzZXQiKX0sbWV0YWRhdGE6UX0sdGUsSyksVnQodGhpcyxudWxsLGtlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2Vjb25kYXJ5bWVudUNvbGxhcHNlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShpZT0+InNlY29uZGFyeW1lbnVDb2xsYXBzZWQiaW4gaWUsImhhcyIpLGdldDppKGllPT5pZS5zZWNvbmRhcnltZW51Q29sbGFwc2VkLCJnZXQiKSxzZXQ6aSgoaWUsQWUpPT57aWUuc2Vjb25kYXJ5bWVudUNvbGxhcHNlZD1BZX0sInNldCIpfSxtZXRhZGF0YTpRfSx2ZSxkZSksVnQodGhpcyxudWxsLCRlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbm1lbnVWaXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4ibWFpbm1lbnVWaXNpYmxlImluIGllLCJoYXMiKSxnZXQ6aShpZT0+aWUubWFpbm1lbnVWaXNpYmxlLCJnZXQiKSxzZXQ6aSgoaWUsQWUpPT57aWUubWFpbm1lbnVWaXNpYmxlPUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LFZlLFFlKSxWdCh0aGlzLG51bGwsVGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWNvbmRhcnltZW51VmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShpZT0+InNlY29uZGFyeW1lbnVWaXNpYmxlImluIGllLCJoYXMiKSxnZXQ6aShpZT0+aWUuc2Vjb25kYXJ5bWVudVZpc2libGUsImdldCIpLHNldDppKChpZSxBZSk9PntpZS5zZWNvbmRhcnltZW51VmlzaWJsZT1BZX0sInNldCIpfSxtZXRhZGF0YTpRfSxsZSxmZSksVnQodGhpcyxudWxsLFNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbmNvbnRlbnRUYWJzVmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShpZT0+Im1haW5jb250ZW50VGFic1Zpc2libGUiaW4gaWUsImhhcyIpLGdldDppKGllPT5pZS5tYWluY29udGVudFRhYnNWaXNpYmxlLCJnZXQiKSxzZXQ6aSgoaWUsQWUpPT57aWUubWFpbmNvbnRlbnRUYWJzVmlzaWJsZT1BZX0sInNldCIpfSxtZXRhZGF0YTpRfSxIZSxLZSksVnQodGhpcyxudWxsLGt0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFRhYnNBdXRvSGlkZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShpZT0+ImNvbnRlbnRUYWJzQXV0b0hpZGUiaW4gaWUsImhhcyIpLGdldDppKGllPT5pZS5jb250ZW50VGFic0F1dG9IaWRlLCJnZXQiKSxzZXQ6aSgoaWUsQWUpPT57aWUuY29udGVudFRhYnNBdXRvSGlkZT1BZX0sInNldCIpfSxtZXRhZGF0YTpRfSx1dCxDdCksVnQodGhpcyxudWxsLFd0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFRhYnNBdXRvSGlkZVRocmVzaG9sZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShpZT0+ImNvbnRlbnRUYWJzQXV0b0hpZGVUaHJlc2hvbGQiaW4gaWUsImhhcyIpLGdldDppKGllPT5pZS5jb250ZW50VGFic0F1dG9IaWRlVGhyZXNob2xkLCJnZXQiKSxzZXQ6aSgoaWUsQWUpPT57aWUuY29udGVudFRhYnNBdXRvSGlkZVRocmVzaG9sZD1BZX0sInNldCIpfSxtZXRhZGF0YTpRfSxoZSxtZSksVnQodGhpcyxudWxsLFBlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZpdHlMb2dWaXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4iYWN0aXZpdHlMb2dWaXNpYmxlImluIGllLCJoYXMiKSxnZXQ6aShpZT0+aWUuYWN0aXZpdHlMb2dWaXNpYmxlLCJnZXQiKSxzZXQ6aSgoaWUsQWUpPT57aWUuYWN0aXZpdHlMb2dWaXNpYmxlPUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LGZ0LGJ0KSxWdCh0aGlzLG51bGwsbmEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpdml0eUxvZ0NvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4iYWN0aXZpdHlMb2dDb3VudCJpbiBpZSwiaGFzIiksZ2V0OmkoaWU9PmllLmFjdGl2aXR5TG9nQ291bnQsImdldCIpLHNldDppKChpZSxBZSk9PntpZS5hY3Rpdml0eUxvZ0NvdW50PUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LFIxLCRyKSxWdCh0aGlzLG51bGwsRHIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWluY29udGVudFRhYnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaWU9PiJtYWluY29udGVudFRhYnMiaW4gaWUsImhhcyIpLGdldDppKGllPT5pZS5tYWluY29udGVudFRhYnMsImdldCIpLHNldDppKChpZSxBZSk9PntpZS5tYWluY29udGVudFRhYnM9QWV9LCJzZXQiKX0sbWV0YWRhdGE6UX0scWUsdHQpLFZ0KHRoaXMsbnVsbCxTYSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5jb250ZW50U2VsZWN0ZWRUYWIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaWU9PiJtYWluY29udGVudFNlbGVjdGVkVGFiImluIGllLCJoYXMiKSxnZXQ6aShpZT0+aWUubWFpbmNvbnRlbnRTZWxlY3RlZFRhYiwiZ2V0Iiksc2V0OmkoKGllLEFlKT0+e2llLm1haW5jb250ZW50U2VsZWN0ZWRUYWI9QWV9LCJzZXQiKX0sbWV0YWRhdGE6UX0samEsWGEpLFZ0KHRoaXMsbnVsbCxzMSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRlbnRUYWJBY3Rpb25zTGVmdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShpZT0+ImNvbnRlbnRUYWJBY3Rpb25zTGVmdCJpbiBpZSwiaGFzIiksZ2V0OmkoaWU9PmllLmNvbnRlbnRUYWJBY3Rpb25zTGVmdCwiZ2V0Iiksc2V0OmkoKGllLEFlKT0+e2llLmNvbnRlbnRUYWJBY3Rpb25zTGVmdD1BZX0sInNldCIpfSxtZXRhZGF0YTpRfSxLYSxLciksVnQodGhpcyxudWxsLFFyLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFRhYkFjdGlvbnNSaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShpZT0+ImNvbnRlbnRUYWJBY3Rpb25zUmlnaHQiaW4gaWUsImhhcyIpLGdldDppKGllPT5pZS5jb250ZW50VGFiQWN0aW9uc1JpZ2h0LCJnZXQiKSxzZXQ6aSgoaWUsQWUpPT57aWUuY29udGVudFRhYkFjdGlvbnNSaWdodD1BZX0sInNldCIpfSxtZXRhZGF0YTpRfSxfZSx4ZSksVnQodGhpcyxudWxsLE5lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXBwYmFyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4iYXBwYmFyImluIGllLCJoYXMiKSxnZXQ6aShpZT0+aWUuYXBwYmFyLCJnZXQiKSxzZXQ6aSgoaWUsQWUpPT57aWUuYXBwYmFyPUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LExlLGdlKSxWdCh0aGlzLG51bGwsQmUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWlubWVudSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShpZT0+Im1haW5tZW51ImluIGllLCJoYXMiKSxnZXQ6aShpZT0+aWUubWFpbm1lbnUsImdldCIpLHNldDppKChpZSxBZSk9PntpZS5tYWlubWVudT1BZX0sInNldCIpfSxtZXRhZGF0YTpRfSx1ZSxKKSxWdCh0aGlzLG51bGwsd2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWNvbmRhcnltZW51IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4ic2Vjb25kYXJ5bWVudSJpbiBpZSwiaGFzIiksZ2V0OmkoaWU9PmllLnNlY29uZGFyeW1lbnUsImdldCIpLHNldDppKChpZSxBZSk9PntpZS5zZWNvbmRhcnltZW51PUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LE9lLEZlKSxWdCh0aGlzLG51bGwsSnQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWluY29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShpZT0+Im1haW5jb250ZW50ImluIGllLCJoYXMiKSxnZXQ6aShpZT0+aWUubWFpbmNvbnRlbnQsImdldCIpLHNldDppKChpZSxBZSk9PntpZS5tYWluY29udGVudD1BZX0sInNldCIpfSxtZXRhZGF0YTpRfSxsYSxvMSksVnQodGhpcyxudWxsLGlzLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZpdHlsb2dFbGVtZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4iYWN0aXZpdHlsb2dFbGVtZW50ImluIGllLCJoYXMiKSxnZXQ6aShpZT0+aWUuYWN0aXZpdHlsb2dFbGVtZW50LCJnZXQiKSxzZXQ6aSgoaWUsQWUpPT57aWUuYWN0aXZpdHlsb2dFbGVtZW50PUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LEYyLE8yKSxWdCh0aGlzLG51bGwsR3Mse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJib3R0b21iYXJFbGVtZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4iYm90dG9tYmFyRWxlbWVudCJpbiBpZSwiaGFzIiksZ2V0OmkoaWU9PmllLmJvdHRvbWJhckVsZW1lbnQsImdldCIpLHNldDppKChpZSxBZSk9PntpZS5ib3R0b21iYXJFbGVtZW50PUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LHJILG9WZSksVnQodGhpcyxudWxsLG5WZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJvdHRvbWJhclZpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaWU9PiJib3R0b21iYXJWaXNpYmxlImluIGllLCJoYXMiKSxnZXQ6aShpZT0+aWUuYm90dG9tYmFyVmlzaWJsZSwiZ2V0Iiksc2V0OmkoKGllLEFlKT0+e2llLmJvdHRvbWJhclZpc2libGU9QWV9LCJzZXQiKX0sbWV0YWRhdGE6UX0sbFZlLGNWZSksVnQodGhpcyxudWxsLGRWZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRWaWV3IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGllPT4iY3VycmVudFZpZXciaW4gaWUsImhhcyIpLGdldDppKGllPT5pZS5jdXJyZW50VmlldywiZ2V0Iiksc2V0OmkoKGllLEFlKT0+e2llLmN1cnJlbnRWaWV3PUFlfSwic2V0Iil9LG1ldGFkYXRhOlF9LHBWZSx1VmUpLFZ0KG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlF9LG51bGwsYSksZlZlPXI9ZS52YWx1ZSxRJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlF9KX1zdGF0aWMgZGVtbz1uWHQ7c3RhdGljIGRlbW9Hcm91cHM9WyJBcHAgVUkiXTt2aWV3TGlmZWN5Y2xlJD1uZXcgRXQuc21hcnRyeC5yeGpzLlN1YmplY3Q7dmlld0NoYW5nZWQkPW5ldyBFdC5zbWFydHJ4LnJ4anMuU3ViamVjdDsjZT1aZSh0aGlzLG8sW10pO2dldCBhcHBiYXJNZW51SXRlbXMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgYXBwYmFyTWVudUl0ZW1zKFEpe3RoaXMuI2U9UX0jdD0oWmUodGhpcyxsKSxaZSh0aGlzLHUsIiIpKTtnZXQgYXBwYmFyQnJlYWRjcnVtYnMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYXBwYmFyQnJlYWRjcnVtYnMoUSl7dGhpcy4jdD1RfSNhPShaZSh0aGlzLGYpLFplKHRoaXMsZywiID4gIikpO2dldCBhcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGFwcGJhckJyZWFkY3J1bWJTZXBhcmF0b3IoUSl7dGhpcy4jYT1RfSNyPShaZSh0aGlzLHYpLFplKHRoaXMsYiwhMCkpO2dldCBhcHBiYXJTaG93V2luZG93Q29udHJvbHMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgYXBwYmFyU2hvd1dpbmRvd0NvbnRyb2xzKFEpe3RoaXMuI3I9UX0jaT0oWmUodGhpcyxtKSxaZSh0aGlzLE0sdm9pZCAwKSk7Z2V0IGFwcGJhclVzZXIoKXtyZXR1cm4gdGhpcy4jaX1zZXQgYXBwYmFyVXNlcihRKXt0aGlzLiNpPVF9I3M9KFplKHRoaXMsayksWmUodGhpcyxfLFtdKSk7Z2V0IGFwcGJhclByb2ZpbGVNZW51SXRlbXMoKXtyZXR1cm4gdGhpcy4jc31zZXQgYXBwYmFyUHJvZmlsZU1lbnVJdGVtcyhRKXt0aGlzLiNzPVF9I289KFplKHRoaXMsQyksWmUodGhpcywkLCExKSk7Z2V0IGFwcGJhclNob3dTZWFyY2goKXtyZXR1cm4gdGhpcy4jb31zZXQgYXBwYmFyU2hvd1NlYXJjaChRKXt0aGlzLiNvPVF9I249KFplKHRoaXMsSSksWmUodGhpcyxTLCIiKSk7Z2V0IG1haW5tZW51TG9nb0ljb24oKXtyZXR1cm4gdGhpcy4jbn1zZXQgbWFpbm1lbnVMb2dvSWNvbihRKXt0aGlzLiNuPVF9I2w9KFplKHRoaXMseiksWmUodGhpcyxULCIiKSk7Z2V0IG1haW5tZW51TG9nb1RleHQoKXtyZXR1cm4gdGhpcy4jbH1zZXQgbWFpbm1lbnVMb2dvVGV4dChRKXt0aGlzLiNsPVF9I2M9KFplKHRoaXMsQSksWmUodGhpcyxSLFtdKSk7Z2V0IG1haW5tZW51R3JvdXBzKCl7cmV0dXJuIHRoaXMuI2N9c2V0IG1haW5tZW51R3JvdXBzKFEpe3RoaXMuI2M9UX0jZD0oWmUodGhpcyxxKSxaZSh0aGlzLE8sW10pKTtnZXQgbWFpbm1lbnVCb3R0b21UYWJzKCl7cmV0dXJuIHRoaXMuI2R9c2V0IG1haW5tZW51Qm90dG9tVGFicyhRKXt0aGlzLiNkPVF9I3A9KFplKHRoaXMscmUpLFplKHRoaXMsQixbXSkpO2dldCBtYWlubWVudVRhYnMoKXtyZXR1cm4gdGhpcy4jcH1zZXQgbWFpbm1lbnVUYWJzKFEpe3RoaXMuI3A9UX0jdT0oWmUodGhpcyxlZSksWmUodGhpcyxZLHZvaWQgMCkpO2dldCBtYWlubWVudVNlbGVjdGVkVGFiKCl7cmV0dXJuIHRoaXMuI3V9c2V0IG1haW5tZW51U2VsZWN0ZWRUYWIoUSl7dGhpcy4jdT1RfSNmPShaZSh0aGlzLFApLFplKHRoaXMsRywiIikpO2dldCBzZWNvbmRhcnltZW51SGVhZGluZygpe3JldHVybiB0aGlzLiNmfXNldCBzZWNvbmRhcnltZW51SGVhZGluZyhRKXt0aGlzLiNmPVF9I2g9KFplKHRoaXMsVyksWmUodGhpcyx6ZSxbXSkpO2dldCBzZWNvbmRhcnltZW51R3JvdXBzKCl7cmV0dXJuIHRoaXMuI2h9c2V0IHNlY29uZGFyeW1lbnVHcm91cHMoUSl7dGhpcy4jaD1RfSNtPShaZSh0aGlzLE1lKSxaZSh0aGlzLFYsdm9pZCAwKSk7Z2V0IHNlY29uZGFyeW1lbnVTZWxlY3RlZEl0ZW0oKXtyZXR1cm4gdGhpcy4jbX1zZXQgc2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbShRKXt0aGlzLiNtPVF9I2c9KFplKHRoaXMsRiksWmUodGhpcyx0ZSwhMSkpO2dldCBtYWlubWVudUNvbGxhcHNlZCgpe3JldHVybiB0aGlzLiNnfXNldCBtYWlubWVudUNvbGxhcHNlZChRKXt0aGlzLiNnPVF9I2I9KFplKHRoaXMsSyksWmUodGhpcyx2ZSwhMSkpO2dldCBzZWNvbmRhcnltZW51Q29sbGFwc2VkKCl7cmV0dXJuIHRoaXMuI2J9c2V0IHNlY29uZGFyeW1lbnVDb2xsYXBzZWQoUSl7dGhpcy4jYj1RfSN2PShaZSh0aGlzLGRlKSxaZSh0aGlzLFZlLCEwKSk7Z2V0IG1haW5tZW51VmlzaWJsZSgpe3JldHVybiB0aGlzLiN2fXNldCBtYWlubWVudVZpc2libGUoUSl7dGhpcy4jdj1RfSN4PShaZSh0aGlzLFFlKSxaZSh0aGlzLGxlLCEwKSk7Z2V0IHNlY29uZGFyeW1lbnVWaXNpYmxlKCl7cmV0dXJuIHRoaXMuI3h9c2V0IHNlY29uZGFyeW1lbnVWaXNpYmxlKFEpe3RoaXMuI3g9UX0jeT0oWmUodGhpcyxmZSksWmUodGhpcyxIZSwhMCkpO2dldCBtYWluY29udGVudFRhYnNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuI3l9c2V0IG1haW5jb250ZW50VGFic1Zpc2libGUoUSl7dGhpcy4jeT1RfSN3PShaZSh0aGlzLEtlKSxaZSh0aGlzLHV0LCExKSk7Z2V0IGNvbnRlbnRUYWJzQXV0b0hpZGUoKXtyZXR1cm4gdGhpcy4jd31zZXQgY29udGVudFRhYnNBdXRvSGlkZShRKXt0aGlzLiN3PVF9I009KFplKHRoaXMsQ3QpLFplKHRoaXMsaGUsMCkpO2dldCBjb250ZW50VGFic0F1dG9IaWRlVGhyZXNob2xkKCl7cmV0dXJuIHRoaXMuI019c2V0IGNvbnRlbnRUYWJzQXV0b0hpZGVUaHJlc2hvbGQoUSl7dGhpcy4jTT1RfSNrPShaZSh0aGlzLG1lKSxaZSh0aGlzLGZ0LCExKSk7Z2V0IGFjdGl2aXR5TG9nVmlzaWJsZSgpe3JldHVybiB0aGlzLiNrfXNldCBhY3Rpdml0eUxvZ1Zpc2libGUoUSl7dGhpcy4jaz1RfSN6PShaZSh0aGlzLGJ0KSxaZSh0aGlzLFIxLDApKTtnZXQgYWN0aXZpdHlMb2dDb3VudCgpe3JldHVybiB0aGlzLiN6fXNldCBhY3Rpdml0eUxvZ0NvdW50KFEpe3RoaXMuI3o9UX0jUz0oWmUodGhpcywkciksWmUodGhpcyxxZSxbXSkpO2dldCBtYWluY29udGVudFRhYnMoKXtyZXR1cm4gdGhpcy4jU31zZXQgbWFpbmNvbnRlbnRUYWJzKFEpe3RoaXMuI1M9UX0jQz0oWmUodGhpcyx0dCksWmUodGhpcyxqYSx2b2lkIDApKTtnZXQgbWFpbmNvbnRlbnRTZWxlY3RlZFRhYigpe3JldHVybiB0aGlzLiNDfXNldCBtYWluY29udGVudFNlbGVjdGVkVGFiKFEpe3RoaXMuI0M9UX0jXz0oWmUodGhpcyxYYSksWmUodGhpcyxLYSxbXSkpO2dldCBjb250ZW50VGFiQWN0aW9uc0xlZnQoKXtyZXR1cm4gdGhpcy4jX31zZXQgY29udGVudFRhYkFjdGlvbnNMZWZ0KFEpe3RoaXMuI189UX0jVD0oWmUodGhpcyxLciksWmUodGhpcyxfZSxbXSkpO2dldCBjb250ZW50VGFiQWN0aW9uc1JpZ2h0KCl7cmV0dXJuIHRoaXMuI1R9c2V0IGNvbnRlbnRUYWJBY3Rpb25zUmlnaHQoUSl7dGhpcy4jVD1RfSNMPShaZSh0aGlzLHhlKSxaZSh0aGlzLExlLHZvaWQgMCkpO2dldCBhcHBiYXIoKXtyZXR1cm4gdGhpcy4jTH1zZXQgYXBwYmFyKFEpe3RoaXMuI0w9UX0jJD0oWmUodGhpcyxnZSksWmUodGhpcyx1ZSx2b2lkIDApKTtnZXQgbWFpbm1lbnUoKXtyZXR1cm4gdGhpcy4jJH1zZXQgbWFpbm1lbnUoUSl7dGhpcy4jJD1RfSNEPShaZSh0aGlzLEopLFplKHRoaXMsT2Usdm9pZCAwKSk7Z2V0IHNlY29uZGFyeW1lbnUoKXtyZXR1cm4gdGhpcy4jRH1zZXQgc2Vjb25kYXJ5bWVudShRKXt0aGlzLiNEPVF9I0E9KFplKHRoaXMsRmUpLFplKHRoaXMsbGEsdm9pZCAwKSk7Z2V0IG1haW5jb250ZW50KCl7cmV0dXJuIHRoaXMuI0F9c2V0IG1haW5jb250ZW50KFEpe3RoaXMuI0E9UX0jUD0oWmUodGhpcyxvMSksWmUodGhpcyxGMix2b2lkIDApKTtnZXQgYWN0aXZpdHlsb2dFbGVtZW50KCl7cmV0dXJuIHRoaXMuI1B9c2V0IGFjdGl2aXR5bG9nRWxlbWVudChRKXt0aGlzLiNQPVF9I0U9KFplKHRoaXMsTzIpLFplKHRoaXMsckgsdm9pZCAwKSk7Z2V0IGJvdHRvbWJhckVsZW1lbnQoKXtyZXR1cm4gdGhpcy4jRX1zZXQgYm90dG9tYmFyRWxlbWVudChRKXt0aGlzLiNFPVF9I0k9KFplKHRoaXMsb1ZlKSxaZSh0aGlzLGxWZSwhMCkpO2dldCBib3R0b21iYXJWaXNpYmxlKCl7cmV0dXJuIHRoaXMuI0l9c2V0IGJvdHRvbWJhclZpc2libGUoUSl7dGhpcy4jST1RfSNOPShaZSh0aGlzLGNWZSksWmUodGhpcyxwVmUsdm9pZCAwKSk7Z2V0IGN1cnJlbnRWaWV3KCl7cmV0dXJuIHRoaXMuI059c2V0IGN1cnJlbnRWaWV3KFEpe3RoaXMuI049UX12aWV3UmVnaXN0cnk9KFplKHRoaXMsdVZlKSxuZXcgYkIpO3JvdXRlckNsZWFudXA9bnVsbDtzZWFyY2hDYWxsYmFjaz1udWxsO3N0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2YwZjBmMCIsIiMxYTFhMWEiKX07CiAgICAgIH0KICAgICAgLm1haW5ncmlkIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA0MHB4OwogICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNDBweCAtIDI0cHgpOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgLyogZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIHNldCBkeW5hbWljYWxseSBpbiB0ZW1wbGF0ZSAqLwogICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyOwogICAgICAgIHRyYW5zaXRpb246IGdyaWQtdGVtcGxhdGUtY29sdW1ucyAwLjNzIGVhc2UsIGhlaWdodCAwLjNzIGVhc2U7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgOmhvc3QoW2JvdHRvbWJhci1oaWRkZW5dKSAubWFpbmdyaWQgewogICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNDBweCk7CiAgICAgIH0KCiAgICAgIGRlZXMtYXBwdWktYm90dG9tYmFyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgei1pbmRleDogNDsKICAgICAgfQoKICAgICAgLyogWi1pbmRleCBsYXllcmluZyBmb3IgcHJvcGVyIHN0YWNraW5nICovCiAgICAgIC5tYWluZ3JpZCA+IGRlZXMtYXBwdWktbWFpbm1lbnUgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB6LWluZGV4OiAzOwogICAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC5tYWluZ3JpZCA+IGRlZXMtYXBwdWktc2Vjb25kYXJ5bWVudSB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHotaW5kZXg6IDI7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgLm1haW5ncmlkID4gZGVlcy1hcHB1aS1tYWluY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgLm1haW5ncmlkID4gZGVlcy1hcHB1aS1hY3Rpdml0eWxvZyB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTsKICAgICAgfQoKICAgICAgLm1haW5ncmlkID4gZGVlcy1hcHB1aS1hY3Rpdml0eWxvZy5oaWRkZW4gewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAubWFpbmdyaWQgPiBkZWVzLWFwcHVpLWFjdGl2aXR5bG9nLnZpc2libGUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogICAgICB9CgogICAgICAvKiBWaWV3IGNvbnRhaW5lciBmb3IgZHluYW1pY2FsbHkgbG9hZGVkIHZpZXdzICovCiAgICAgIC52aWV3LWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogY29udGVudHM7CiAgICAgIH0KCiAgICAgIC52aWV3LWNvbnRhaW5lcjplbXB0eSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLWFwcHVpLWFwcGJhcgogICAgICAgIC5tZW51SXRlbXM9JHt0aGlzLmFwcGJhck1lbnVJdGVtc30KICAgICAgICAuYnJlYWRjcnVtYnM9JHt0aGlzLmFwcGJhckJyZWFkY3J1bWJzfQogICAgICAgIC5icmVhZGNydW1iU2VwYXJhdG9yPSR7dGhpcy5hcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yfQogICAgICAgIC5zaG93V2luZG93Q29udHJvbHM9JHt0aGlzLmFwcGJhclNob3dXaW5kb3dDb250cm9sc30KICAgICAgICAudXNlcj0ke3RoaXMuYXBwYmFyVXNlcn0KICAgICAgICAucHJvZmlsZU1lbnVJdGVtcz0ke3RoaXMuYXBwYmFyUHJvZmlsZU1lbnVJdGVtc30KICAgICAgICAuc2hvd1NlYXJjaD0ke3RoaXMuYXBwYmFyU2hvd1NlYXJjaH0KICAgICAgICAuc2hvd0FjdGl2aXR5TG9nVG9nZ2xlPSR7ITB9CiAgICAgICAgLmFjdGl2aXR5TG9nQ291bnQ9JHt0aGlzLmFjdGl2aXR5TG9nQ291bnR9CiAgICAgICAgLmFjdGl2aXR5TG9nQWN0aXZlPSR7dGhpcy5hY3Rpdml0eUxvZ1Zpc2libGV9CiAgICAgICAgQG1lbnUtc2VsZWN0PSR7UT0+dGhpcy5oYW5kbGVBcHBiYXJNZW51U2VsZWN0KFEpfQogICAgICAgIEBicmVhZGNydW1iLW5hdmlnYXRlPSR7UT0+dGhpcy5oYW5kbGVBcHBiYXJCcmVhZGNydW1iTmF2aWdhdGUoUSl9CiAgICAgICAgQHNlYXJjaC1jbGljaz0keygpPT50aGlzLmhhbmRsZUFwcGJhclNlYXJjaENsaWNrKCl9CiAgICAgICAgQHNlYXJjaC1xdWVyeT0ke1E9PnRoaXMuaGFuZGxlQXBwYmFyU2VhcmNoUXVlcnkoUSl9CiAgICAgICAgQHVzZXItbWVudS1vcGVuPSR7KCk9PnRoaXMuaGFuZGxlQXBwYmFyVXNlck1lbnVPcGVuKCl9CiAgICAgICAgQHByb2ZpbGUtbWVudS1zZWxlY3Q9JHtRPT50aGlzLmhhbmRsZUFwcGJhclByb2ZpbGVNZW51U2VsZWN0KFEpfQogICAgICAgIEBhY3Rpdml0eS10b2dnbGU9JHsoKT0+dGhpcy50b2dnbGVBY3Rpdml0eUxvZygpfQogICAgICA+PC9kZWVzLWFwcHVpLWFwcGJhcj4KICAgICAgPGRpdiBjbGFzcz0ibWFpbmdyaWQiIHN0eWxlPSJncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byAxZnIgJHt0aGlzLmFjdGl2aXR5TG9nVmlzaWJsZT8iMjgwcHgiOiIwcHgifTsiPgogICAgICAgICR7dGhpcy5tYWlubWVudVZpc2libGU/d2AKICAgICAgICAgIDxkZWVzLWFwcHVpLW1haW5tZW51CiAgICAgICAgICAgIC5sb2dvSWNvbj0ke3RoaXMubWFpbm1lbnVMb2dvSWNvbn0KICAgICAgICAgICAgLmxvZ29UZXh0PSR7dGhpcy5tYWlubWVudUxvZ29UZXh0fQogICAgICAgICAgICAubWVudUdyb3Vwcz0ke3RoaXMubWFpbm1lbnVHcm91cHN9CiAgICAgICAgICAgIC5ib3R0b21UYWJzPSR7dGhpcy5tYWlubWVudUJvdHRvbVRhYnN9CiAgICAgICAgICAgIC50YWJzPSR7dGhpcy5tYWlubWVudVRhYnN9CiAgICAgICAgICAgIC5zZWxlY3RlZFRhYj0ke3RoaXMubWFpbm1lbnVTZWxlY3RlZFRhYn0KICAgICAgICAgICAgLmNvbGxhcHNlZD0ke3RoaXMubWFpbm1lbnVDb2xsYXBzZWR9CiAgICAgICAgICAgIEB0YWItc2VsZWN0PSR7UT0+dGhpcy5oYW5kbGVNYWlubWVudVRhYlNlbGVjdChRKX0KICAgICAgICAgICAgQGNvbGxhcHNlLWNoYW5nZT0ke1E9PnRoaXMuaGFuZGxlTWFpbm1lbnVDb2xsYXBzZUNoYW5nZShRKX0KICAgICAgICAgID48L2RlZXMtYXBwdWktbWFpbm1lbnU+CiAgICAgICAgYDoiIn0KICAgICAgICAke3RoaXMuc2Vjb25kYXJ5bWVudVZpc2libGU/d2AKICAgICAgICAgIDxkZWVzLWFwcHVpLXNlY29uZGFyeW1lbnUKICAgICAgICAgICAgLmhlYWRpbmc9JHt0aGlzLnNlY29uZGFyeW1lbnVIZWFkaW5nfQogICAgICAgICAgICAuZ3JvdXBzPSR7dGhpcy5zZWNvbmRhcnltZW51R3JvdXBzfQogICAgICAgICAgICAuc2VsZWN0ZWRJdGVtPSR7dGhpcy5zZWNvbmRhcnltZW51U2VsZWN0ZWRJdGVtfQogICAgICAgICAgICAuY29sbGFwc2VkPSR7dGhpcy5zZWNvbmRhcnltZW51Q29sbGFwc2VkfQogICAgICAgICAgICBAaXRlbS1zZWxlY3Q9JHtRPT50aGlzLmhhbmRsZVNlY29uZGFyeW1lbnVJdGVtU2VsZWN0KFEpfQogICAgICAgICAgICBAY29sbGFwc2UtY2hhbmdlPSR7UT0+dGhpcy5oYW5kbGVTZWNvbmRhcnltZW51Q29sbGFwc2VDaGFuZ2UoUSl9CiAgICAgICAgICA+PC9kZWVzLWFwcHVpLXNlY29uZGFyeW1lbnU+CiAgICAgICAgYDoiIn0KICAgICAgICA8ZGVlcy1hcHB1aS1tYWluY29udGVudAogICAgICAgICAgLnRhYnM9JHt0aGlzLm1haW5jb250ZW50VGFic30KICAgICAgICAgIC5zZWxlY3RlZFRhYj0ke3RoaXMubWFpbmNvbnRlbnRTZWxlY3RlZFRhYn0KICAgICAgICAgIC5zaG93VGFicz0ke3RoaXMubWFpbmNvbnRlbnRUYWJzVmlzaWJsZX0KICAgICAgICAgIC50YWJzQXV0b0hpZGU9JHt0aGlzLmNvbnRlbnRUYWJzQXV0b0hpZGV9CiAgICAgICAgICAudGFic0F1dG9IaWRlVGhyZXNob2xkPSR7dGhpcy5jb250ZW50VGFic0F1dG9IaWRlVGhyZXNob2xkfQogICAgICAgICAgLnRhYkFjdGlvbnNMZWZ0PSR7dGhpcy5jb250ZW50VGFiQWN0aW9uc0xlZnR9CiAgICAgICAgICAudGFiQWN0aW9uc1JpZ2h0PSR7dGhpcy5jb250ZW50VGFiQWN0aW9uc1JpZ2h0fQogICAgICAgICAgQHRhYi1zZWxlY3Q9JHtRPT50aGlzLmhhbmRsZUNvbnRlbnRUYWJTZWxlY3QoUSl9CiAgICAgICAgICBAdGFiLWNsb3NlPSR7UT0+dGhpcy5oYW5kbGVDb250ZW50VGFiQ2xvc2UoUSl9CiAgICAgICAgPgogICAgICAgICAgPGRpdiBjbGFzcz0idmlldy1jb250YWluZXIiPjwvZGl2PgogICAgICAgICAgPHNsb3QgbmFtZT0ibWFpbmNvbnRlbnQiPjwvc2xvdD4KICAgICAgICA8L2RlZXMtYXBwdWktbWFpbmNvbnRlbnQ+CiAgICAgICAgPGRlZXMtYXBwdWktYWN0aXZpdHlsb2cKICAgICAgICAgIGNsYXNzPSIke3RoaXMuYWN0aXZpdHlMb2dWaXNpYmxlPyJ2aXNpYmxlIjoiaGlkZGVuIn0iCiAgICAgICAgPjwvZGVlcy1hcHB1aS1hY3Rpdml0eWxvZz4KICAgICAgPC9kaXY+CiAgICAgICR7dGhpcy5ib3R0b21iYXJWaXNpYmxlP3dgCiAgICAgICAgPGRlZXMtYXBwdWktYm90dG9tYmFyPjwvZGVlcy1hcHB1aS1ib3R0b21iYXI+CiAgICAgIGA6IiJ9CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe3RoaXMuYXBwYmFyPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLWFwcHVpLWFwcGJhciIpLHRoaXMubWFpbm1lbnU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYXBwdWktbWFpbm1lbnUiKSx0aGlzLnNlY29uZGFyeW1lbnU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYXBwdWktc2Vjb25kYXJ5bWVudSIpLHRoaXMubWFpbmNvbnRlbnQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYXBwdWktbWFpbmNvbnRlbnQiKSx0aGlzLmFjdGl2aXR5bG9nRWxlbWVudD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aS1hY3Rpdml0eWxvZyIpLHRoaXMuYm90dG9tYmFyRWxlbWVudD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aS1ib3R0b21iYXIiKSx0aGlzLmFjdGl2aXR5bG9nRWxlbWVudCYmdGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQuZW50cmllcyQuc3Vic2NyaWJlKFE9Pnt0aGlzLmFjdGl2aXR5TG9nQ291bnQ9US5sZW5ndGh9KSx0aGlzLnZpZXdSZWdpc3RyeS5zZXRBcHB1aVJlZih0aGlzKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5yb3V0ZXJDbGVhbnVwJiYodGhpcy5yb3V0ZXJDbGVhbnVwKCksdGhpcy5yb3V0ZXJDbGVhbnVwPW51bGwpLHRoaXMudmlld0xpZmVjeWNsZSQuY29tcGxldGUoKSx0aGlzLnZpZXdDaGFuZ2VkJC5jb21wbGV0ZSgpfXNldEFwcEJhck1lbnVzKFEpe3RoaXMuYXBwYmFyTWVudUl0ZW1zPVsuLi5RXX11cGRhdGVBcHBCYXJNZW51KFEsaWUpe3RoaXMuYXBwYmFyTWVudUl0ZW1zPXRoaXMuYXBwYmFyTWVudUl0ZW1zLm1hcChBZT0+Im5hbWUiaW4gQWUmJkFlLm5hbWU9PT1RP3suLi5BZSwuLi5pZX06QWUpfXNldEJyZWFkY3J1bWJzKFEpe0FycmF5LmlzQXJyYXkoUSk/dGhpcy5hcHBiYXJCcmVhZGNydW1icz1RLmpvaW4odGhpcy5hcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yKTp0aGlzLmFwcGJhckJyZWFkY3J1bWJzPVF9c2V0VXNlcihRKXt0aGlzLmFwcGJhclVzZXI9UX1zZXRQcm9maWxlTWVudUl0ZW1zKFEpe3RoaXMuYXBwYmFyUHJvZmlsZU1lbnVJdGVtcz1bLi4uUV19c2V0U2VhcmNoVmlzaWJsZShRKXt0aGlzLmFwcGJhclNob3dTZWFyY2g9UX1zZXRXaW5kb3dDb250cm9sc1Zpc2libGUoUSl7dGhpcy5hcHBiYXJTaG93V2luZG93Q29udHJvbHM9UX1vblNlYXJjaChRKXt0aGlzLnNlYXJjaENhbGxiYWNrPVF9c2V0TWFpbk1lbnUoUSl7US5sb2dvSWNvbiE9PXZvaWQgMCYmKHRoaXMubWFpbm1lbnVMb2dvSWNvbj1RLmxvZ29JY29uKSxRLmxvZ29UZXh0IT09dm9pZCAwJiYodGhpcy5tYWlubWVudUxvZ29UZXh0PVEubG9nb1RleHQpLFEuZ3JvdXBzIT09dm9pZCAwJiYodGhpcy5tYWlubWVudUdyb3Vwcz1bLi4uUS5ncm91cHNdKSxRLmJvdHRvbVRhYnMhPT12b2lkIDAmJih0aGlzLm1haW5tZW51Qm90dG9tVGFicz1bLi4uUS5ib3R0b21UYWJzXSl9dXBkYXRlTWFpbk1lbnVHcm91cChRLGllKXt0aGlzLm1haW5tZW51R3JvdXBzPXRoaXMubWFpbm1lbnVHcm91cHMubWFwKEFlPT5BZS5uYW1lPT09UT97Li4uQWUsLi4uaWV9OkFlKX1hZGRNYWluTWVudUl0ZW0oUSxpZSl7dGhpcy5tYWlubWVudUdyb3Vwcz10aGlzLm1haW5tZW51R3JvdXBzLm1hcChBZT0+QWUubmFtZT09PVE/ey4uLkFlLGl0ZW1zOlsuLi5BZS5pdGVtc3x8W10saWVdfTpBZSl9cmVtb3ZlTWFpbk1lbnVJdGVtKFEsaWUpe3RoaXMubWFpbm1lbnVHcm91cHM9dGhpcy5tYWlubWVudUdyb3Vwcy5tYXAoQWU9PkFlLm5hbWU9PT1RP3suLi5BZSxpdGVtczooQWUuaXRlbXN8fFtdKS5maWx0ZXIoYWE9PmFhLmtleSE9PWllKX06QWUpfXNldE1haW5NZW51U2VsZWN0aW9uKFEpe2ZvcihsZXQgQWUgb2YgdGhpcy5tYWlubWVudUdyb3Vwcyl7bGV0IGFhPUFlLml0ZW1zPy5maW5kKFoxPT5aMS5rZXk9PT1RKTtpZihhYSl7dGhpcy5tYWlubWVudVNlbGVjdGVkVGFiPWFhO3JldHVybn19bGV0IGllPXRoaXMubWFpbm1lbnVCb3R0b21UYWJzLmZpbmQoQWU9PkFlLmtleT09PVEpO2llJiYodGhpcy5tYWlubWVudVNlbGVjdGVkVGFiPWllKX1zZXRNYWluTWVudUNvbGxhcHNlZChRKXt0aGlzLm1haW5tZW51Q29sbGFwc2VkPVF9c2V0TWFpbk1lbnVWaXNpYmxlKFEpe3RoaXMubWFpbm1lbnVWaXNpYmxlPVF9c2V0U2Vjb25kYXJ5TWVudUNvbGxhcHNlZChRKXt0aGlzLnNlY29uZGFyeW1lbnVDb2xsYXBzZWQ9UX1zZXRTZWNvbmRhcnlNZW51VmlzaWJsZShRKXt0aGlzLnNlY29uZGFyeW1lbnVWaXNpYmxlPVF9c2V0Q29udGVudFRhYnNWaXNpYmxlKFEpe3RoaXMubWFpbmNvbnRlbnRUYWJzVmlzaWJsZT1RfXNldENvbnRlbnRUYWJzQXV0b0hpZGUoUSxpZT0wKXt0aGlzLmNvbnRlbnRUYWJzQXV0b0hpZGU9USx0aGlzLmNvbnRlbnRUYWJzQXV0b0hpZGVUaHJlc2hvbGQ9aWV9c2V0TWFpbk1lbnVCYWRnZShRLGllKXt0aGlzLm1haW5tZW51R3JvdXBzPXRoaXMubWFpbm1lbnVHcm91cHMubWFwKEFlPT4oey4uLkFlLGl0ZW1zOihBZS5pdGVtc3x8W10pLm1hcChhYT0+YWEua2V5PT09UT97Li4uYWEsYmFkZ2U6aWV9OmFhKX0pKSx0aGlzLm1haW5tZW51Qm90dG9tVGFicz10aGlzLm1haW5tZW51Qm90dG9tVGFicy5tYXAoQWU9PkFlLmtleT09PVE/ey4uLkFlLGJhZGdlOmllfTpBZSl9Y2xlYXJNYWluTWVudUJhZGdlKFEpe3RoaXMubWFpbm1lbnVHcm91cHM9dGhpcy5tYWlubWVudUdyb3Vwcy5tYXAoaWU9Pih7Li4uaWUsaXRlbXM6KGllLml0ZW1zfHxbXSkubWFwKEFlPT57aWYoQWUua2V5PT09USl7bGV0e2JhZGdlOmFhLC4uLloxfT1BZTtyZXR1cm4gWjF9cmV0dXJuIEFlfSl9KSksdGhpcy5tYWlubWVudUJvdHRvbVRhYnM9dGhpcy5tYWlubWVudUJvdHRvbVRhYnMubWFwKGllPT57aWYoaWUua2V5PT09USl7bGV0e2JhZGdlOkFlLC4uLmFhfT1pZTtyZXR1cm4gYWF9cmV0dXJuIGllfSl9c2V0U2Vjb25kYXJ5TWVudShRKXtRLmhlYWRpbmchPT12b2lkIDAmJih0aGlzLnNlY29uZGFyeW1lbnVIZWFkaW5nPVEuaGVhZGluZyksdGhpcy5zZWNvbmRhcnltZW51R3JvdXBzPVsuLi5RLmdyb3Vwc119dXBkYXRlU2Vjb25kYXJ5TWVudUdyb3VwKFEsaWUpe3RoaXMuc2Vjb25kYXJ5bWVudUdyb3Vwcz10aGlzLnNlY29uZGFyeW1lbnVHcm91cHMubWFwKEFlPT5BZS5uYW1lPT09UT97Li4uQWUsLi4uaWV9OkFlKX1hZGRTZWNvbmRhcnlNZW51SXRlbShRLGllKXt0aGlzLnNlY29uZGFyeW1lbnVHcm91cHM9dGhpcy5zZWNvbmRhcnltZW51R3JvdXBzLm1hcChBZT0+QWUubmFtZT09PVE/ey4uLkFlLGl0ZW1zOlsuLi5BZS5pdGVtcyxpZV19OkFlKX1zZXRTZWNvbmRhcnlNZW51U2VsZWN0aW9uKFEpe2ZvcihsZXQgaWUgb2YgdGhpcy5zZWNvbmRhcnltZW51R3JvdXBzKXtsZXQgQWU9aWUuaXRlbXMuZmluZChhYT0+ImtleSJpbiBhYSYmYWEua2V5PT09USk7aWYoQWUmJighKCJ0eXBlImluIEFlKXx8QWUudHlwZT09PSJ0YWIifHxBZS50eXBlPT09dm9pZCAwKSl7dGhpcy5zZWNvbmRhcnltZW51U2VsZWN0ZWRJdGVtPUFlO3JldHVybn19fWNsZWFyU2Vjb25kYXJ5TWVudSgpe3RoaXMuc2Vjb25kYXJ5bWVudUhlYWRpbmc9IiIsdGhpcy5zZWNvbmRhcnltZW51R3JvdXBzPVtdLHRoaXMuc2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbT12b2lkIDB9c2V0Q29udGVudFRhYnMoUSl7dGhpcy5tYWluY29udGVudFRhYnM9Wy4uLlFdLFEubGVuZ3RoPjAmJiF0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWImJih0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWI9UVswXSl9YWRkQ29udGVudFRhYihRKXt0aGlzLm1haW5jb250ZW50VGFicz1bLi4udGhpcy5tYWluY29udGVudFRhYnMsUV19cmVtb3ZlQ29udGVudFRhYihRKXt0aGlzLm1haW5jb250ZW50VGFicz10aGlzLm1haW5jb250ZW50VGFicy5maWx0ZXIoaWU9PmllLmtleSE9PVEpLHRoaXMubWFpbmNvbnRlbnRTZWxlY3RlZFRhYj8ua2V5PT09USYmKHRoaXMubWFpbmNvbnRlbnRTZWxlY3RlZFRhYj10aGlzLm1haW5jb250ZW50VGFic1swXSl9c2VsZWN0Q29udGVudFRhYihRKXtsZXQgaWU9dGhpcy5tYWluY29udGVudFRhYnMuZmluZChBZT0+QWUua2V5PT09USk7aWUmJih0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWI9aWUpfWdldFNlbGVjdGVkQ29udGVudFRhYigpe3JldHVybiB0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWJ9c2V0Q29udGVudFRhYkFjdGlvbnNMZWZ0KFEpe3RoaXMuY29udGVudFRhYkFjdGlvbnNMZWZ0PVsuLi5RXX1zZXRDb250ZW50VGFiQWN0aW9uc1JpZ2h0KFEpe3RoaXMuY29udGVudFRhYkFjdGlvbnNSaWdodD1bLi4uUV19Z2V0IGFjdGl2aXR5TG9nKCl7cmV0dXJuIHRoaXMuYWN0aXZpdHlsb2dFbGVtZW50P3thZGQ6aShRPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudC5hZGQoUSksImFkZCIpLGFkZE1hbnk6aShRPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudC5hZGRNYW55KFEpLCJhZGRNYW55IiksY2xlYXI6aSgoKT0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQuY2xlYXIoKSwiY2xlYXIiKSxnZXRFbnRyaWVzOmkoKCk9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50LmdldEVudHJpZXMoKSwiZ2V0RW50cmllcyIpLGZpbHRlcjppKFE9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50LmZpbHRlcihRKSwiZmlsdGVyIiksc2VhcmNoOmkoUT0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQuc2VhcmNoKFEpLCJzZWFyY2giKX06e2FkZDppKFE9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50Py5hZGQoUSkpfSwiYWRkIiksYWRkTWFueTppKFE9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50Py5hZGRNYW55KFEpKX0sImFkZE1hbnkiKSxjbGVhcjppKCgpPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudD8uY2xlYXIoKSl9LCJjbGVhciIpLGdldEVudHJpZXM6aSgoKT0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQ/LmdldEVudHJpZXMoKXx8W10sImdldEVudHJpZXMiKSxmaWx0ZXI6aShRPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudD8uZmlsdGVyKFEpfHxbXSwiZmlsdGVyIiksc2VhcmNoOmkoUT0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQ/LnNlYXJjaChRKXx8W10sInNlYXJjaCIpfX1zZXRBY3Rpdml0eUxvZ1Zpc2libGUoUSl7dGhpcy5hY3Rpdml0eUxvZ1Zpc2libGU9UX10b2dnbGVBY3Rpdml0eUxvZygpe3RoaXMuYWN0aXZpdHlMb2dWaXNpYmxlPSF0aGlzLmFjdGl2aXR5TG9nVmlzaWJsZX1nZXRBY3Rpdml0eUxvZ1Zpc2libGUoKXtyZXR1cm4gdGhpcy5hY3Rpdml0eUxvZ1Zpc2libGV9Z2V0IGJvdHRvbUJhcigpe3JldHVybiB0aGlzLmJvdHRvbWJhckVsZW1lbnQ/e2FkZFdpZGdldDppKFE9PnRoaXMuYm90dG9tYmFyRWxlbWVudC5hZGRXaWRnZXQoUSksImFkZFdpZGdldCIpLHVwZGF0ZVdpZGdldDppKChRLGllKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50LnVwZGF0ZVdpZGdldChRLGllKSwidXBkYXRlV2lkZ2V0IikscmVtb3ZlV2lkZ2V0OmkoUT0+dGhpcy5ib3R0b21iYXJFbGVtZW50LnJlbW92ZVdpZGdldChRKSwicmVtb3ZlV2lkZ2V0IiksZ2V0V2lkZ2V0OmkoUT0+dGhpcy5ib3R0b21iYXJFbGVtZW50LmdldFdpZGdldChRKSwiZ2V0V2lkZ2V0IiksY2xlYXJXaWRnZXRzOmkoKCk9PnRoaXMuYm90dG9tYmFyRWxlbWVudC5jbGVhcldpZGdldHMoKSwiY2xlYXJXaWRnZXRzIiksYWRkQWN0aW9uOmkoUT0+dGhpcy5ib3R0b21iYXJFbGVtZW50LmFkZEFjdGlvbihRKSwiYWRkQWN0aW9uIikscmVtb3ZlQWN0aW9uOmkoUT0+dGhpcy5ib3R0b21iYXJFbGVtZW50LnJlbW92ZUFjdGlvbihRKSwicmVtb3ZlQWN0aW9uIiksY2xlYXJBY3Rpb25zOmkoKCk9PnRoaXMuYm90dG9tYmFyRWxlbWVudC5jbGVhckFjdGlvbnMoKSwiY2xlYXJBY3Rpb25zIil9OnthZGRXaWRnZXQ6aShRPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmJvdHRvbWJhckVsZW1lbnQ/LmFkZFdpZGdldChRKSl9LCJhZGRXaWRnZXQiKSx1cGRhdGVXaWRnZXQ6aSgoUSxpZSk9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYm90dG9tYmFyRWxlbWVudD8udXBkYXRlV2lkZ2V0KFEsaWUpKX0sInVwZGF0ZVdpZGdldCIpLHJlbW92ZVdpZGdldDppKFE9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYm90dG9tYmFyRWxlbWVudD8ucmVtb3ZlV2lkZ2V0KFEpKX0sInJlbW92ZVdpZGdldCIpLGdldFdpZGdldDppKFE9PnRoaXMuYm90dG9tYmFyRWxlbWVudD8uZ2V0V2lkZ2V0KFEpLCJnZXRXaWRnZXQiKSxjbGVhcldpZGdldHM6aSgoKT0+e3RoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50Py5jbGVhcldpZGdldHMoKSl9LCJjbGVhcldpZGdldHMiKSxhZGRBY3Rpb246aShRPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmJvdHRvbWJhckVsZW1lbnQ/LmFkZEFjdGlvbihRKSl9LCJhZGRBY3Rpb24iKSxyZW1vdmVBY3Rpb246aShRPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmJvdHRvbWJhckVsZW1lbnQ/LnJlbW92ZUFjdGlvbihRKSl9LCJyZW1vdmVBY3Rpb24iKSxjbGVhckFjdGlvbnM6aSgoKT0+e3RoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50Py5jbGVhckFjdGlvbnMoKSl9LCJjbGVhckFjdGlvbnMiKX19c2V0Qm90dG9tQmFyVmlzaWJsZShRKXt0aGlzLmJvdHRvbWJhclZpc2libGU9USxRP3RoaXMucmVtb3ZlQXR0cmlidXRlKCJib3R0b21iYXItaGlkZGVuIik6dGhpcy5zZXRBdHRyaWJ1dGUoImJvdHRvbWJhci1oaWRkZW4iLCIiKX1nZXRCb3R0b21CYXJWaXNpYmxlKCl7cmV0dXJuIHRoaXMuYm90dG9tYmFyVmlzaWJsZX1hc3luYyBuYXZpZ2F0ZVRvVmlldyhRLGllKXtsZXQgQWU9dGhpcy52aWV3UmVnaXN0cnkuZ2V0KFEpO2lmKCFBZSlyZXR1cm4gY29uc29sZS53YXJuKGBDYW5ub3QgbmF2aWdhdGUgdG8gdW5rbm93biB2aWV3OiAke1F9YCksITE7bGV0IGFhPWF3YWl0IHRoaXMudmlld1JlZ2lzdHJ5LmNhbkxlYXZlQ3VycmVudFZpZXcoKTtpZihhYSE9PSEwKWlmKHR5cGVvZiBhYT09InN0cmluZyIpe2lmKCF3aW5kb3cuY29uZmlybShhYSkpcmV0dXJuITF9ZWxzZSByZXR1cm4hMTt0aGlzLnZpZXdMaWZlY3ljbGUkLm5leHQoe3R5cGU6ImxvYWRpbmciLHZpZXdJZDpRfSk7dHJ5e2F3YWl0IHRoaXMubG9hZFZpZXcoQWUsaWUpO2xldCBaMT1BZS5yb3V0ZXx8UTtpZihpZSlmb3IobGV0W3dpYSxNaWFdb2YgT2JqZWN0LmVudHJpZXMoaWUpKVoxPVoxLnJlcGxhY2UoYDoke3dpYX1gLE1pYSk7bGV0IHhwPWAjJHtaMX1gO3JldHVybiB3aW5kb3cubG9jYXRpb24uaGFzaCE9PXhwJiZ3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoe3ZpZXdJZDpRfSwiIix4cCksITB9Y2F0Y2goWjEpe3JldHVybiB0aGlzLnZpZXdMaWZlY3ljbGUkLm5leHQoe3R5cGU6ImxvYWRFcnJvciIsdmlld0lkOlEsZXJyb3I6WjF9KSwhMX19Z2V0Q3VycmVudFZpZXcoKXtyZXR1cm4gdGhpcy5jdXJyZW50Vmlld31nZXRWaWV3UmVnaXN0cnkoKXtyZXR1cm4gdGhpcy52aWV3UmVnaXN0cnl9Y29uZmlndXJlKFEpe1Eudmlld3MmJih0aGlzLnZpZXdSZWdpc3RyeS5jbGVhcigpLHRoaXMudmlld1JlZ2lzdHJ5LnJlZ2lzdGVyQWxsKFEudmlld3MpKSxRLmJyYW5kaW5nJiYodGhpcy5tYWlubWVudUxvZ29JY29uPVEuYnJhbmRpbmcubG9nb0ljb258fCIiLHRoaXMubWFpbm1lbnVMb2dvVGV4dD1RLmJyYW5kaW5nLmxvZ29UZXh0fHwiIiksUS5hcHBCYXImJih0aGlzLmFwcGJhck1lbnVJdGVtcz1RLmFwcEJhci5tZW51SXRlbXN8fFtdLHRoaXMuYXBwYmFyQnJlYWRjcnVtYnM9US5hcHBCYXIuYnJlYWRjcnVtYnN8fCIiLHRoaXMuYXBwYmFyQnJlYWRjcnVtYlNlcGFyYXRvcj1RLmFwcEJhci5icmVhZGNydW1iU2VwYXJhdG9yfHwiID4gIix0aGlzLmFwcGJhclNob3dXaW5kb3dDb250cm9scz1RLmFwcEJhci5zaG93V2luZG93Q29udHJvbHM/PyEwLHRoaXMuYXBwYmFyU2hvd1NlYXJjaD1RLmFwcEJhci5zaG93U2VhcmNoPz8hMSx0aGlzLmFwcGJhclVzZXI9US5hcHBCYXIudXNlcix0aGlzLmFwcGJhclByb2ZpbGVNZW51SXRlbXM9US5hcHBCYXIucHJvZmlsZU1lbnVJdGVtc3x8W10pLFEubWFpbk1lbnUmJihRLm1haW5NZW51LnNlY3Rpb25zP3RoaXMubWFpbm1lbnVHcm91cHM9dGhpcy5idWlsZE1haW5NZW51RnJvbVNlY3Rpb25zKFEpOlEubWFpbk1lbnUuZ3JvdXBzJiYodGhpcy5tYWlubWVudUdyb3Vwcz1RLm1haW5NZW51Lmdyb3VwcyksUS5tYWluTWVudS5sb2dvSWNvbiYmKHRoaXMubWFpbm1lbnVMb2dvSWNvbj1RLm1haW5NZW51LmxvZ29JY29uKSxRLm1haW5NZW51LmxvZ29UZXh0JiYodGhpcy5tYWlubWVudUxvZ29UZXh0PVEubWFpbk1lbnUubG9nb1RleHQpLFEubWFpbk1lbnUuYm90dG9tVGFicz90aGlzLm1haW5tZW51Qm90dG9tVGFicz1RLm1haW5NZW51LmJvdHRvbVRhYnM6US5tYWluTWVudS5ib3R0b21JdGVtcyYmKHRoaXMubWFpbm1lbnVCb3R0b21UYWJzPXRoaXMuYnVpbGRCb3R0b21UYWJzRnJvbUl0ZW1zKFEubWFpbk1lbnUuYm90dG9tSXRlbXMpKSksUS5ib3R0b21CYXImJih0aGlzLnNldEJvdHRvbUJhclZpc2libGUoUS5ib3R0b21CYXIudmlzaWJsZT8/ITApLFEuYm90dG9tQmFyLndpZGdldHMmJlEuYm90dG9tQmFyLndpZGdldHMuZm9yRWFjaChpZT0+e3RoaXMuYm90dG9tQmFyLmFkZFdpZGdldChpZSl9KSxRLmJvdHRvbUJhci5hY3Rpb25zJiZRLmJvdHRvbUJhci5hY3Rpb25zLmZvckVhY2goaWU9Pnt0aGlzLmJvdHRvbUJhci5hZGRBY3Rpb24oaWUpfSkpLHRoaXMuc2V0dXBSb3V0ZXJJbnRlZ3JhdGlvbihRKSxRLm9uVmlld0NoYW5nZSYmdGhpcy52aWV3Q2hhbmdlZCQuc3Vic2NyaWJlKGllPT57US5vblZpZXdDaGFuZ2UoaWUudmlld0lkLGllLnZpZXcpfSksUS5vblNlYXJjaCYmKHRoaXMuc2VhcmNoQ2FsbGJhY2s9US5vblNlYXJjaCksUS5kZWZhdWx0VmlldyYmdGhpcy5uYXZpZ2F0ZVRvVmlldyhRLmRlZmF1bHRWaWV3KX1zZXR1cFJvdXRlckludGVncmF0aW9uKFEpe2xldCBpZT1pKCgpPT57bGV0IGFhPXdpbmRvdy5sb2NhdGlvbi5oYXNoLnNsaWNlKDEpO2lmKCFhYSlyZXR1cm47bGV0IFoxPXRoaXMudmlld1JlZ2lzdHJ5LmZpbmRCeVJvdXRlKGFhKTtaMSYmdGhpcy5uYXZpZ2F0ZVRvVmlldyhaMS52aWV3LmlkLFoxLnBhcmFtcyl9LCJoYW5kbGVIYXNoQ2hhbmdlIik7d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLGllKSx0aGlzLnJvdXRlckNsZWFudXA9KCk9Pnt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsaWUpfTtsZXQgQWU9d2luZG93LmxvY2F0aW9uLmhhc2guc2xpY2UoMSk7aWYoQWUpe2xldCBhYT10aGlzLnZpZXdSZWdpc3RyeS5maW5kQnlSb3V0ZShBZSk7YWEmJnNldFRpbWVvdXQoKCk9PnRoaXMubmF2aWdhdGVUb1ZpZXcoYWEudmlldy5pZCxhYS5wYXJhbXMpLDApfX1idWlsZE1haW5NZW51RnJvbVNlY3Rpb25zKFEpe3JldHVybiBRLm1haW5NZW51Py5zZWN0aW9ucz9RLm1haW5NZW51LnNlY3Rpb25zLm1hcChpZT0+KHtuYW1lOmllLm5hbWUsaXRlbXM6aWUudmlld3MubWFwKEFlPT57bGV0IGFhPXRoaXMudmlld1JlZ2lzdHJ5LmdldChBZSk7cmV0dXJuIGFhP3trZXk6YWEuaWQsaWNvbk5hbWU6YWEuaWNvbk5hbWUsYWN0aW9uOmkoKCk9PnRoaXMubmF2aWdhdGVUb1ZpZXcoQWUpLCJhY3Rpb24iKSxiYWRnZTphYS5iYWRnZX06KGNvbnNvbGUud2FybihgVmlldyAiJHtBZX0iIG5vdCBmb3VuZCBpbiByZWdpc3RyeWApLG51bGwpfSkuZmlsdGVyKEJvb2xlYW4pfSkpOltdfWJ1aWxkQm90dG9tVGFic0Zyb21JdGVtcyhRKXtyZXR1cm4gUS5tYXAoaWU9PntsZXQgQWU9dGhpcy52aWV3UmVnaXN0cnkuZ2V0KGllKTtyZXR1cm4gQWU/e2tleTpBZS5pZCxpY29uTmFtZTpBZS5pY29uTmFtZSxhY3Rpb246aSgoKT0+dGhpcy5uYXZpZ2F0ZVRvVmlldyhpZSksImFjdGlvbiIpfTooY29uc29sZS53YXJuKGBWaWV3ICIke2llfSIgbm90IGZvdW5kIGluIHJlZ2lzdHJ5YCksbnVsbCl9KS5maWx0ZXIoQm9vbGVhbil9YXN5bmMgbG9hZFZpZXcoUSxpZSl7bGV0IEFlPXRoaXMuY3VycmVudFZpZXc7dGhpcy5jdXJyZW50Vmlldz1RO2xldCBhYT10aGlzLm1haW5jb250ZW50Py5xdWVyeVNlbGVjdG9yKCIudmlldy1jb250YWluZXIiKXx8dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudmlldy1jb250YWluZXIiKTtpZihhYSl7bGV0IHhwPWF3YWl0IHRoaXMudmlld1JlZ2lzdHJ5LmFjdGl2YXRlVmlldyhRLmlkLGFhLGllKTt4cCYmdGhpcy52aWV3TGlmZWN5Y2xlJC5uZXh0KHt0eXBlOiJhY3RpdmF0ZWQiLHZpZXdJZDpRLmlkLGVsZW1lbnQ6eHAscGFyYW1zOmllfSl9US5zZWNvbmRhcnlNZW51JiYodGhpcy5zZWNvbmRhcnltZW51R3JvdXBzPVEuc2Vjb25kYXJ5TWVudSx0aGlzLnNlY29uZGFyeW1lbnVIZWFkaW5nPVEubmFtZSksUS5jb250ZW50VGFicyYmKHRoaXMubWFpbmNvbnRlbnRUYWJzPVEuY29udGVudFRhYnMpLHRoaXMuc2V0TWFpbk1lbnVTZWxlY3Rpb24oUS5pZCk7bGV0IFoxPXt2aWV3SWQ6US5pZCx2aWV3OlEscHJldmlvdXNWaWV3OkFlLHBhcmFtczppZX07dGhpcy52aWV3Q2hhbmdlZCQubmV4dChaMSksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidmlldy1jaGFuZ2UiLHtkZXRhaWw6WjEsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVBcHBiYXJNZW51U2VsZWN0KFEpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFwcGJhci1tZW51LXNlbGVjdCIse2RldGFpbDpRLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUFwcGJhckJyZWFkY3J1bWJOYXZpZ2F0ZShRKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhcHBiYXItYnJlYWRjcnVtYi1uYXZpZ2F0ZSIse2RldGFpbDpRLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUFwcGJhclNlYXJjaENsaWNrKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYXBwYmFyLXNlYXJjaC1jbGljayIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQXBwYmFyU2VhcmNoUXVlcnkoUSl7dGhpcy5zZWFyY2hDYWxsYmFjayYmdGhpcy5zZWFyY2hDYWxsYmFjayhRLmRldGFpbC5xdWVyeSksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VhcmNoLXF1ZXJ5Iix7ZGV0YWlsOlEuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQXBwYmFyVXNlck1lbnVPcGVuKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYXBwYmFyLXVzZXItbWVudS1vcGVuIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVBcHBiYXJQcm9maWxlTWVudVNlbGVjdChRKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhcHBiYXItcHJvZmlsZS1tZW51LXNlbGVjdCIse2RldGFpbDpRLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZU1haW5tZW51VGFiU2VsZWN0KFEpe3RoaXMubWFpbm1lbnVTZWxlY3RlZFRhYj1RLmRldGFpbC50YWIsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibWFpbm1lbnUtdGFiLXNlbGVjdCIse2RldGFpbDpRLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVNlY29uZGFyeW1lbnVJdGVtU2VsZWN0KFEpe3RoaXMuc2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbT1RLmRldGFpbC5pdGVtLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlY29uZGFyeW1lbnUtaXRlbS1zZWxlY3QiLHtkZXRhaWw6US5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVNYWlubWVudUNvbGxhcHNlQ2hhbmdlKFEpe3RoaXMubWFpbm1lbnVDb2xsYXBzZWQ9US5kZXRhaWwuY29sbGFwc2VkLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm1haW5tZW51LWNvbGxhcHNlLWNoYW5nZSIse2RldGFpbDpRLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVNlY29uZGFyeW1lbnVDb2xsYXBzZUNoYW5nZShRKXt0aGlzLnNlY29uZGFyeW1lbnVDb2xsYXBzZWQ9US5kZXRhaWwuY29sbGFwc2VkLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlY29uZGFyeW1lbnUtY29sbGFwc2UtY2hhbmdlIix7ZGV0YWlsOlEuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ29udGVudFRhYlNlbGVjdChRKXt0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWI9US5kZXRhaWwudGFiLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNvbnRlbnQtdGFiLXNlbGVjdCIse2RldGFpbDpRLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUNvbnRlbnRUYWJDbG9zZShRKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb250ZW50LXRhYi1jbG9zZSIse2RldGFpbDpRLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfXN0YXRpY3taZShyLGEpfX07cmV0dXJuIGZWZT1yfSkoKX0pO3ZhciB3WHQ9YygoKT0+e3lYdCgpO0tPZSgpfSk7dmFyIE1YdD1jKCgpPT57dEJlKCl9KTt2YXIga1h0PWMoKCk9PntRT2UoKX0pO3ZhciB6WHQ9YygoKT0+e0pPZSgpfSk7dmFyIFNYdD1jKCgpPT57bk9lKCl9KTt2YXIgQ1h0PWMoKCk9PntlQmUoKX0pO3ZhciBZWix4NixfWHQsVFh0PWMoKCk9PntQMSgpO2ppKCk7SXIoKTtwZSgpO2dvKCk7S3QoKTtYZSgpO1laPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSx4Nj1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sX1h0PSgoKT0+e2xldCB0PVthZSgiZGVlcy1tb2JpbGVuYXZpZ2F0aW9uIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNNb2JpbGVuYXZpZ2F0aW9uIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpTdHJpbmd9KV0saD1bTCh7dHlwZTpBcnJheX0pXSxwPVtaKCldLFlaKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGVhZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtPT4iaGVhZGluZyJpbiBtLCJoYXMiKSxnZXQ6aShtPT5tLmhlYWRpbmcsImdldCIpLHNldDppKChtLHkpPT57bS5oZWFkaW5nPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbyxsKSxZWih0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1lbnVJdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtPT4ibWVudUl0ZW1zImluIG0sImhhcyIpLGdldDppKG09Pm0ubWVudUl0ZW1zLCJnZXQiKSxzZXQ6aSgobSx5KT0+e20ubWVudUl0ZW1zPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sdSxmKSxZWih0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vYmlsZU5hdlpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtPT4ibW9iaWxlTmF2WkluZGV4ImluIG0sImhhcyIpLGdldDppKG09Pm0ubW9iaWxlTmF2WkluZGV4LCJnZXQiKSxzZXQ6aSgobSx5KT0+e20ubW9iaWxlTmF2WkluZGV4PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sZyx2KSxZWihudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLGEpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07c3RhdGljIGRlbW89aSgoKT0+d2AKICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e3guY3JlYXRlQW5kU2hvdyhbe25hbWU6IkRhc2hib2FyZCIsaWNvbk5hbWU6Imx1Y2lkZTpsYXlvdXQtZGFzaGJvYXJkIixhY3Rpb246aShhc3luYyBiPT4oY29uc29sZS5sb2coIk5hdmlnYXRlIHRvIGRhc2hib2FyZCIpLG51bGwpLCJhY3Rpb24iKX0se25hbWU6IlByb2ZpbGUiLGljb25OYW1lOiJsdWNpZGU6dXNlciIsYWN0aW9uOmkoYXN5bmMgYj0+KGNvbnNvbGUubG9nKCJOYXZpZ2F0ZSB0byBwcm9maWxlIiksbnVsbCksImFjdGlvbiIpfSx7bmFtZToiU2V0dGluZ3MiLGljb25OYW1lOiJsdWNpZGU6c2V0dGluZ3MiLGFjdGlvbjppKGFzeW5jIGI9Pihjb25zb2xlLmxvZygiTmF2aWdhdGUgdG8gc2V0dGluZ3MiKSxudWxsKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiSGVscCIsaWNvbk5hbWU6Imx1Y2lkZTpoZWxwLWNpcmNsZSIsYWN0aW9uOmkoYXN5bmMgYj0+KGNvbnNvbGUubG9nKCJTaG93IGhlbHAiKSxudWxsKSwiYWN0aW9uIil9LHtuYW1lOiJTaWduIE91dCIsaWNvbk5hbWU6Imx1Y2lkZTpsb2ctb3V0IixhY3Rpb246aShhc3luYyBiPT4oY29uc29sZS5sb2coIlNpZ24gb3V0IiksbnVsbCksImFjdGlvbiIpfV0pfX0+T3BlbiBNb2JpbGUgTmF2aWdhdGlvbjwvZGVlcy1idXR0b24+CiAgYCwiZGVtbyIpO3N0YXRpYyBzaW5nbGV0b25SZWY7c3RhdGljIGFzeW5jIGNyZWF0ZUFuZFNob3coYil7cmV0dXJuIHRoaXMuc2luZ2xldG9uUmVmfHwodGhpcy5zaW5nbGV0b25SZWY9bmV3IHgsZG9jdW1lbnQuYm9keS5hcHBlbmQodGhpcy5zaW5nbGV0b25SZWYpLGF3YWl0IHRoaXMuc2luZ2xldG9uUmVmLmluaXQoKSksdGhpcy5zaW5nbGV0b25SZWYubWVudUl0ZW1zPWIsYXdhaXQgdGhpcy5zaW5nbGV0b25SZWYucmVhZHlEZWZlcnJlZC5wcm9taXNlLHRoaXMuc2luZ2xldG9uUmVmLnNob3coKSx0aGlzLnNpbmdsZXRvblJlZn0jZT14Nih0aGlzLG8sIk1lbnUiKTtnZXQgaGVhZGluZygpe3JldHVybiB0aGlzLiNlfXNldCBoZWFkaW5nKGIpe3RoaXMuI2U9Yn0jdD0oeDYodGhpcyxsKSx4Nih0aGlzLHUsW10pKTtnZXQgbWVudUl0ZW1zKCl7cmV0dXJuIHRoaXMuI3R9c2V0IG1lbnVJdGVtcyhiKXt0aGlzLiN0PWJ9I2E9KHg2KHRoaXMsZikseDYodGhpcyxnLDFlMykpO2dldCBtb2JpbGVOYXZaSW5kZXgoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbW9iaWxlTmF2WkluZGV4KGIpe3RoaXMuI2E9Yn1yZWFkeURlZmVycmVkPSh4Nih0aGlzLHYpLHZ0LnBsdWdpbnMuc21hcnRwcm9taXNlLmRlZmVyKCkpO2NvbnN0cnVjdG9yKCl7c3VwZXIoKX1hc3luYyBpbml0KCl7YXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSx0aGlzLnJlYWR5RGVmZXJyZWQucmVzb2x2ZSgpfXN0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7Z2F9OwogICAgICB9CgogICAgICAubWFpbiB7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1heC13aWR0aDogMzIwcHg7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleCk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICByaWdodDogMHB4OwogICAgICAgIHRvcDogMHB4OwogICAgICAgIGJvdHRvbTogMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBib3gtc2hhZG93OiAke2QuYmRUaGVtZSgiLTIwcHggMCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjEpLCAtMTBweCAwIDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMDQpIiwiLTIwcHggMCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjMpLCAtMTBweCAwIDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMikiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICAubWFpbi5zaG93IHsKICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRpbmcgewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAubWVudS1jb250YWluZXIgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbTphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzNmM2Y0NiIpfTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpOwogICAgICB9CgogICAgICAubWVudUl0ZW0gZGVlcy1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbTpob3ZlciBkZWVzLWljb24gewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS10ZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICAubWVudUl0ZW0tZGl2aWRlciB7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIG1hcmdpbjogOHB4IDE2cHg7CiAgICAgIH0KCiAgICAgIC8qIE1vYmlsZSByZXNwb25zaXZlbmVzcyAqLwogICAgICBAbWVkaWEgKG1heC13aWR0aDogNDAwcHgpIHsKICAgICAgICAubWFpbiB7CiAgICAgICAgICBtYXgtd2lkdGg6IDEwMHZ3OwogICAgICAgICAgd2lkdGg6IDg1dnc7CiAgICAgICAgfQogICAgICB9CgogICAgICAvKiBBbmltYXRpb24gZm9yIG1lbnUgaXRlbXMgKi8KICAgICAgQGtleWZyYW1lcyBzbGlkZUluUmlnaHQgewogICAgICAgIGZyb20gewogICAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsKICAgICAgICB9CiAgICAgICAgdG8gewogICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5tYWluLnNob3cgLm1lbnVJdGVtIHsKICAgICAgICBhbmltYXRpb246IHNsaWRlSW5SaWdodCAwLjNzIGVhc2Utb3V0IGZvcndhcmRzOwogICAgICAgIGFuaW1hdGlvbi1kZWxheTogY2FsYyh2YXIoLS1pdGVtLWluZGV4LCAwKSAqIDAuMDVzKTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAvKiBTY3JvbGxiYXIgc3R5bGluZyAqLwogICAgICAubWVudS1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICB9CgogICAgICAubWVudS1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLm1lbnUtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjM2YzZjQ2Iil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLm1lbnUtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNkMWQ1ZGIiLCIjNTI1MjViIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIC5tYWluIHsKICAgICAgICAgIC0tei1pbmRleDogJHt0aGlzLm1vYmlsZU5hdlpJbmRleH07CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJtYWluIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGgyIGNsYXNzPSJoZWFkaW5nIj4ke3RoaXMuaGVhZGluZ308L2gyPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1lbnUtY29udGFpbmVyIj4KICAgICAgICAgICR7dGhpcy5tZW51SXRlbXMubWFwKChiLG0pPT4iZGl2aWRlciJpbiBiJiZiLmRpdmlkZXI/d2A8ZGl2IGNsYXNzPSJtZW51SXRlbS1kaXZpZGVyIj48L2Rpdj5gOndgCiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9Im1lbnVJdGVtIgogICAgICAgICAgICAgICAgc3R5bGU9Ii0taXRlbS1pbmRleDogJHttfSIKICAgICAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+e3RoaXMuaGlkZSgpLGIuYWN0aW9uKHRoaXMpfX0iCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHtiLmljb25OYW1lP3dgCiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHtiLmljb25OYW1lfSBzaXplPSIyMCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1lbnVJdGVtLXRleHQiPiR7Yi5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH13aW5kb3dMYXllcjthc3luYyBzaG93KCl7bGV0IGI9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UsbT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm1haW4iKTt0aGlzLndpbmRvd0xheWVyPyhkb2N1bWVudC5ib2R5LmFwcGVuZCh0aGlzLndpbmRvd0xheWVyKSxhd2FpdCB0aGlzLndpbmRvd0xheWVyLnNob3coKSk6KHRoaXMud2luZG93TGF5ZXI9YXdhaXQgVWkuY3JlYXRlQW5kU2hvdyh7Ymx1cjohMH0pLHRoaXMud2luZG93TGF5ZXIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dGhpcy5oaWRlKCl9KSksdGhpcy5tb2JpbGVOYXZaSW5kZXg9X2EuZ2V0TmV4dFpJbmRleCgpLF9hLnJlZ2lzdGVyKHRoaXMsdGhpcy5tb2JpbGVOYXZaSW5kZXgpLGF3YWl0IGIuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigxMCksbS5jbGFzc0xpc3QuYWRkKCJzaG93Iil9YXN5bmMgaGlkZSgpe2xldCBiPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO3RoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIubWFpbiIpLmNsYXNzTGlzdC5yZW1vdmUoInNob3ciKSxfYS51bnJlZ2lzdGVyKHRoaXMpLHRoaXMud2luZG93TGF5ZXImJmF3YWl0IHRoaXMud2luZG93TGF5ZXIuZGVzdHJveSgpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSxfYS51bnJlZ2lzdGVyKHRoaXMpLHRoaXMud2luZG93TGF5ZXImJmF3YWl0IHRoaXMud2luZG93TGF5ZXIuZGVzdHJveSgpfXN0YXRpY3t4NihyLGEpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgTFh0PWMoKCk9PntUWHQoKX0pO3ZhciAkWHQ9YygoKT0+e09HdCgpO2xPZSgpO2lZdCgpO3dYdCgpO01YdCgpO2tYdCgpO3pYdCgpO1NYdCgpO0NYdCgpO0xYdCgpfSk7dmFyIERYdD1jKCgpPT57bmwoKX0pO3ZhciBBWHQsYUJlLFBYdCxFWHQ9YygoKT0+e3BlKCk7QVh0PWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxhQmU9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LFBYdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtYnV0dG9uLWV4aXQiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXTt2YXIgaD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0J1dHRvbkV4aXQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgdT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk51bWJlcn0pXSxBWHQodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGY9PiJzaXplImluIGYsImhhcyIpLGdldDppKGY9PmYuc2l6ZSwiZ2V0Iiksc2V0OmkoKGYscCk9PntmLnNpemU9cH0sInNldCIpfSxtZXRhZGF0YTp1fSxvLGwpLEFYdChudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTp1fSxudWxsLGEpLGg9cj1lLnZhbHVlLHUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dX0pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGVlcy1idXR0b24tZXhpdD48L2RlZXMtYnV0dG9uLWV4aXQ+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiQnV0dG9uIl07I2U9YUJlKHRoaXMsbywyNCk7Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc2l6ZSh1KXt0aGlzLiNlPXV9c3R5bGVzPShhQmUodGhpcyxsKSxbZC5kZWZhdWx0U3R5bGVzLFhgCgogICAgYF0pO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8c3R5bGU+CiAgICAgICAgLm1haW5jb250YWluZXIgewogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgd2lkdGg6ICR7dGhpcy5zaXplfXB4OwogICAgICAgICAgaGVpZ2h0OiAke3RoaXMuc2l6ZX1weDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImZpcnN0TGluZSI+PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2Vjb25kTGluZSI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1zdGF0aWN7YUJlKHIsYSl9fTtyZXR1cm4gaD1yfSkoKX0pO3ZhciBJWHQ9YygoKT0+e0VYdCgpfSk7dmFyIE5YdCxSWHQ9YygoKT0+e3BlKCk7Tlh0PWkoKCk9PndgCiAgICA8c3R5bGU+CiAgICAgICR7WGAKICAgICAgICAuZGVtb0JveCB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwMDAwOwogICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICB9CgogICAgICAgIC5kZW1vLXNlY3Rpb24gewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsKICAgICAgICB9CgogICAgICAgIC5kZW1vLXRpdGxlIHsKICAgICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tZGVzY3JpcHRpb24gewogICAgICAgICAgY29sb3I6ICM5OTk7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgogICAgPGRpdiBjbGFzcz0iZGVtb0JveCI+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5CYXNpYyBCdXR0b24gR3JvdXBzPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+QnV0dG9uIGdyb3VwcyB3aXRob3V0IGxhYmVscyBmb3Igc2ltcGxlIGdyb3VwaW5nPC9wPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5PcHRpb24gMTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+T3B0aW9uIDI8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uPk9wdGlvbiAzPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5MYWJlbGVkIEJ1dHRvbiBHcm91cHM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5CdXR0b24gZ3JvdXBzIHdpdGggZGVzY3JpcHRpdmUgbGFiZWxzPC9wPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iVmlldyBNb2RlOiI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iaGlnaGxpZ2h0ZWQiPkdyaWQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uPkxpc3Q8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uPkNhcmRzPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5NdWx0aXBsZSBHcm91cHM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5NdWx0aXBsZSBidXR0b24gZ3JvdXBzIHVzZWQgdG9nZXRoZXI8L3A+CiAgICAgICAgCiAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZ2FwOiAxNnB4OyBmbGV4LXdyYXA6IHdyYXA7Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iRGF0YXNldDoiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iaGlnaGxpZ2h0ZWQiPlN5c3RlbTwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5OZXR3b3JrPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlNhbGVzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iVGltZSBSYW5nZToiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+MUg8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iaGlnaGxpZ2h0ZWQiPjI0SDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj43RDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj4zMEQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJBY3Rpb25zOiI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5SZWZyZXNoPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkV4cG9ydDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5WZXJ0aWNhbCBCdXR0b24gR3JvdXBzPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+QnV0dG9uIGdyb3VwcyB3aXRoIHZlcnRpY2FsIGxheW91dDwvcD4KICAgICAgICAKICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBnYXA6IDI0cHg7Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBkaXJlY3Rpb249InZlcnRpY2FsIiBsYWJlbD0iTmF2aWdhdGlvbjoiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+RGFzaGJvYXJkPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImhpZ2hsaWdodGVkIj5BbmFseXRpY3M8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+UmVwb3J0czwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TZXR0aW5nczwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgZGlyZWN0aW9uPSJ2ZXJ0aWNhbCI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5BZGQgSXRlbTwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5FZGl0IEl0ZW08L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+RGVsZXRlIEl0ZW08L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+TWl4ZWQgQnV0dG9uIFR5cGVzPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+RGlmZmVyZW50IGJ1dHRvbiB0eXBlcyB3aXRoaW4gZ3JvdXBzPC9wPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iU3RhdHVzOiI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic3VjY2VzcyI+QWN0aXZlPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5QZW5kaW5nPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJkYW5nZXIiPkluYWN0aXZlPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIGAsImRlbW9GdW5jIil9KTt2YXIgckJlLHZCLEZYdCxPWHQ9YygoKT0+e3BlKCk7SXQoKTtSWHQoKTtYZSgpO3JCZT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sdkI9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LEZYdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtYnV0dG9uLWdyb3VwIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W107dmFyIHA9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNCdXR0b25Hcm91cCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBnPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woKV0saD1bTCgpXSxyQmUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh2PT4ibGFiZWwiaW4gdiwiaGFzIiksZ2V0Omkodj0+di5sYWJlbCwiZ2V0Iiksc2V0OmkoKHYseCk9Pnt2LmxhYmVsPXh9LCJzZXQiKX0sbWV0YWRhdGE6Z30sbyxsKSxyQmUodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXJlY3Rpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+ImRpcmVjdGlvbiJpbiB2LCJoYXMiKSxnZXQ6aSh2PT52LmRpcmVjdGlvbiwiZ2V0Iiksc2V0OmkoKHYseCk9Pnt2LmRpcmVjdGlvbj14fSwic2V0Iil9LG1ldGFkYXRhOmd9LHUsZiksckJlKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmd9LG51bGwsYSkscD1yPWUudmFsdWUsZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpnfSl9c3RhdGljIGRlbW89Tlh0O3N0YXRpYyBkZW1vR3JvdXBzPVsiQnV0dG9uIl07I2U9dkIodGhpcyxvLCIiKTtnZXQgbGFiZWwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbGFiZWwoZyl7dGhpcy4jZT1nfSN0PSh2Qih0aGlzLGwpLHZCKHRoaXMsdSwiaG9yaXpvbnRhbCIpKTtnZXQgZGlyZWN0aW9uKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGRpcmVjdGlvbihnKXt0aGlzLiN0PWd9Y29uc3RydWN0b3IoKXtzdXBlcigpLHZCKHRoaXMsZiksSWEuc2V0dXAoKX1zdGF0aWMgc3R5bGVzPVtEZSxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgLmJ1dHRvbi1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA1KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICB9CgogICAgICAuYnV0dG9uLWdyb3VwLnZlcnRpY2FsIHsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgICB9CgogICAgICAubGFiZWwgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzY2NiIsIiM5OTkiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi1ncm91cC52ZXJ0aWNhbCAubGFiZWwgewogICAgICAgIG1hcmdpbi1yaWdodDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIDo6c2xvdHRlZCgqKSB7CiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAgJHt0aGlzLmRpcmVjdGlvbn0iPgogICAgICAgICR7dGhpcy5sYWJlbD93YDxzcGFuIGNsYXNzPSJsYWJlbCI+JHt0aGlzLmxhYmVsfTwvc3Bhbj5gOiIifQogICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpY3t2QihyLGEpfX07cmV0dXJuIHA9cn0pKCl9KTt2YXIgQlh0PWMoKCk9PntPWHQoKX0pO3ZhciBIWHQ9YygoKT0+e0RYdCgpO0lYdCgpO0JYdCgpfSk7dmFyIHFYdCxWWHQ9YygoKT0+e3BlKCk7UmEoKTtpQmUoKTtxWHQ9aSgoKT0+e2xldCB0PXtzeXN0ZW06e2xhYmVsOiJTeXN0ZW0gVXNhZ2UgKCUpIixzZXJpZXM6W3tuYW1lOiJDUFUiLGRhdGE6W3t4Om5ldyBEYXRlKERhdGUubm93KCktM2U1KS50b0lTT1N0cmluZygpLHk6MjV9LHt4Om5ldyBEYXRlKERhdGUubm93KCktMjRlNCkudG9JU09TdHJpbmcoKSx5OjMwfSx7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTE4ZTQpLnRvSVNPU3RyaW5nKCkseToyOH0se3g6bmV3IERhdGUoRGF0ZS5ub3coKS0xMmU0KS50b0lTT1N0cmluZygpLHk6MzV9LHt4Om5ldyBEYXRlKERhdGUubm93KCktNmU0KS50b0lTT1N0cmluZygpLHk6MzJ9LHt4Om5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSx5OjM4fV19LHtuYW1lOiJNZW1vcnkiLGRhdGE6W3t4Om5ldyBEYXRlKERhdGUubm93KCktM2U1KS50b0lTT1N0cmluZygpLHk6NDV9LHt4Om5ldyBEYXRlKERhdGUubm93KCktMjRlNCkudG9JU09TdHJpbmcoKSx5OjQ4fSx7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTE4ZTQpLnRvSVNPU3RyaW5nKCkseTo0Nn0se3g6bmV3IERhdGUoRGF0ZS5ub3coKS0xMmU0KS50b0lTT1N0cmluZygpLHk6NTJ9LHt4Om5ldyBEYXRlKERhdGUubm93KCktNmU0KS50b0lTT1N0cmluZygpLHk6NTB9LHt4Om5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSx5OjU1fV19XX19LGU9e3N5c3RlbTppKGE9PmAke2F9JWAsInN5c3RlbSIpfTtyZXR1cm4gd2AKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgcj1hLnF1ZXJ5U2VsZWN0b3IoIiNtYWluLWNoYXJ0Iikscz1hLnF1ZXJ5U2VsZWN0b3IoIiNjb25uZWN0aW9ucy1jaGFydCIpLG4sbyxsPSJzeXN0ZW0iLGg9e3N5c3RlbTppKHo9PmAke3p9JWAsInN5c3RlbSIpLG5ldHdvcms6aSh6PT5gJHt6fSBNYnBzYCwibmV0d29yayIpLHNhbGVzOmkoej0+YCQke3oudG9Mb2NhbGVTdHJpbmcoKX1gLCJzYWxlcyIpfSx1PTEyMCoxZTMsZj0xZTMscD01ZTMsZz17Y3B1OjMwLG1lbW9yeTo1MCxkb3dubG9hZDoxNTAsdXBsb2FkOjMwLGNvbm5lY3Rpb25zOjE1MH0sdj1pKCh6LEQsVD1wKT0+e2xldCBBPVtdLFU9RGF0ZS5ub3coKSxSPU1hdGguZmxvb3IodS9UKTtmb3IobGV0IHE9UjtxPj0wO3EtLSl7bGV0IG9lPW5ldyBEYXRlKFUtcSpUKS50b0lTT1N0cmluZygpLE89eisoTWF0aC5yYW5kb20oKS0uNSkqRDtBLnB1c2goe3g6b2UseTpNYXRoLnJvdW5kKE8pfSl9cmV0dXJuIEF9LCJnZW5lcmF0ZUluaXRpYWxEYXRhIikseD17c3lzdGVtOntsYWJlbDoiU3lzdGVtIFVzYWdlICglKSIsc2VyaWVzOlt7bmFtZToiQ1BVIixkYXRhOnYoZy5jcHUsMTApfSx7bmFtZToiTWVtb3J5IixkYXRhOnYoZy5tZW1vcnksOCl9XX0sbmV0d29yazp7bGFiZWw6Ik5ldHdvcmsgVHJhZmZpYyAoTWJwcykiLHNlcmllczpbe25hbWU6IkRvd25sb2FkIixkYXRhOnYoZy5kb3dubG9hZCwzMCl9LHtuYW1lOiJVcGxvYWQiLGRhdGE6dihnLnVwbG9hZCwxMCl9XX0sc2FsZXM6e2xhYmVsOiJTYWxlcyBBbmFseXRpY3MiLHNlcmllczpbe25hbWU6IlJldmVudWUiLGRhdGE6W3t4OiIyMDI1LTAxLTAxIix5OjQ1ZTN9LHt4OiIyMDI1LTAxLTAyIix5OjUyZTN9LHt4OiIyMDI1LTAxLTAzIix5OjQ4ZTN9LHt4OiIyMDI1LTAxLTA0Iix5OjYxZTN9LHt4OiIyMDI1LTAxLTA1Iix5OjU4ZTN9LHt4OiIyMDI1LTAxLTA2Iix5OjY1ZTN9XX0se25hbWU6IlByb2ZpdCIsZGF0YTpbe3g6IjIwMjUtMDEtMDEiLHk6MTJlM30se3g6IjIwMjUtMDEtMDIiLHk6MTRlM30se3g6IjIwMjUtMDEtMDMiLHk6MTFlM30se3g6IjIwMjUtMDEtMDQiLHk6MThlM30se3g6IjIwMjUtMDEtMDUiLHk6MTZlM30se3g6IjIwMjUtMDEtMDYiLHk6MmU0fV19XX19LGI9aSgoeixELFQsQT01KT0+e2xldCBVPShNYXRoLnJhbmRvbSgpLS41KSpBKjIsUj16K1Usb2U9KChEK1QpLzItUikqLjE7cmV0dXJuIFIrPW9lLFI9TWF0aC5tYXgoRCxNYXRoLm1pbihULFIpKSxNYXRoLnJvdW5kKFIpfSwiZ2V0TmV4dFZhbHVlIiksbT1EYXRlLm5vdygpLHk9RGF0ZS5ub3coKSxNPWkoKCk9PntpZighcilyZXR1cm47bGV0IHo9RGF0ZS5ub3coKTtpZih6LW0+PXApe209ejtsZXQgVD1uZXcgRGF0ZSh6KS50b0lTT1N0cmluZygpO2lmKGw9PT0ic3lzdGVtIil7Zy5jcHU9YihnLmNwdSwyMCw1MCwzKSxnLm1lbW9yeT1iKGcubWVtb3J5LDQwLDcwLDIpO2xldCBBPXIuY2hhcnRTZXJpZXMubWFwKChVLFIpPT4oe25hbWU6VS5uYW1lLGRhdGE6Wy4uLlUuZGF0YSxSPT09MD97eDpULHk6Zy5jcHV9Ont4OlQseTpnLm1lbW9yeX1dfSkpO3IudXBkYXRlU2VyaWVzKEEsITEpfWVsc2UgaWYobD09PSJuZXR3b3JrIil7Zy5kb3dubG9hZD1iKGcuZG93bmxvYWQsMTAwLDIwMCwxMCksZy51cGxvYWQ9YihnLnVwbG9hZCwyMCw1MCw1KTtsZXQgQT1yLmNoYXJ0U2VyaWVzLm1hcCgoVSxSKT0+KHtuYW1lOlUubmFtZSxkYXRhOlsuLi5VLmRhdGEsUj09PTA/e3g6VCx5OmcuZG93bmxvYWR9Ont4OlQseTpnLnVwbG9hZH1dfSkpO3IudXBkYXRlU2VyaWVzKEEsITEpfX19LCJhZGRSZWFsdGltZURhdGEiKSxrPWkoKCk9PntpZighcylyZXR1cm47bGV0IHo9RGF0ZS5ub3coKSxEPW5ldyBEYXRlKHopLnRvSVNPU3RyaW5nKCksVD1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjEpLTEwO2cuY29ubmVjdGlvbnM9TWF0aC5tYXgoNTAsTWF0aC5taW4oMzAwLGcuY29ubmVjdGlvbnMrVCkpO2xldCBBPXMuY2hhcnRTZXJpZXMsVT1be25hbWU6QVswXT8ubmFtZXx8IkNvbm5lY3Rpb25zIixkYXRhOlsuLi5BWzBdPy5kYXRhfHxbXSx7eDpELHk6Zy5jb25uZWN0aW9uc31dfV07cy51cGRhdGVTZXJpZXMoVSwhMSl9LCJ1cGRhdGVDb25uZWN0aW9ucyIpLEU9aSh6PT57bD16O2xldCBEPXhbel07ci5sYWJlbD1ELmxhYmVsLHIuc2VyaWVzPUQuc2VyaWVzLHIueUF4aXNGb3JtYXR0ZXI9aFt6XSx6PT09InN5c3RlbSI/KHIueUF4aXNTY2FsaW5nPSJwZXJjZW50YWdlIixyLnlBeGlzTWF4PTEwMCk6ci55QXhpc1NjYWxpbmc9ImR5bmFtaWMiLG09RGF0ZS5ub3coKS1wfSwic3dpdGNoRGF0YXNldCIpLF89aSgoKT0+eyFuJiYobD09PSJzeXN0ZW0ifHxsPT09Im5ldHdvcmsiKSYmKHIucmVhbHRpbWVNb2RlPSEwLG49d2luZG93LnNldEludGVydmFsKCgpPT5NKCkscCkpLG98fChzLnJlYWx0aW1lTW9kZT0hMCxvPXdpbmRvdy5zZXRJbnRlcnZhbCgoKT0+aygpLGYpKX0sInN0YXJ0UmVhbHRpbWUiKSxDPWkoKCk9PntuJiYod2luZG93LmNsZWFySW50ZXJ2YWwobiksbj1udWxsLHIucmVhbHRpbWVNb2RlPSExKSxvJiYod2luZG93LmNsZWFySW50ZXJ2YWwobyksbz1udWxsLHMucmVhbHRpbWVNb2RlPSExKX0sInN0b3BSZWFsdGltZSIpLE49aSgoKT0+e2w9PT0ic3lzdGVtIj8oZy5jcHU9TWF0aC5yYW5kb20oKT4uNT84NToyNSxnLm1lbW9yeT1NYXRoLnJhbmRvbSgpPi41PzgwOjQ1KTpsPT09Im5ldHdvcmsiJiYoZy5kb3dubG9hZD1NYXRoLnJhbmRvbSgpPi41PzI1MDoxMDAsZy51cGxvYWQ9TWF0aC5yYW5kb20oKT4uNT84MDoyMCksZy5jb25uZWN0aW9ucz1NYXRoLnJhbmRvbSgpPi41PzI4MDo4MCxtPTAseT0wfSwicmFuZG9taXplRGF0YSIpLCQ9YS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpOyQuZm9yRWFjaCh6PT57bGV0IEQ9ei50ZXh0Q29udGVudD8udHJpbSgpO0Q9PT0iU3lzdGVtIFVzYWdlIj96LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+RSgic3lzdGVtIikpOkQ9PT0iTmV0d29yayBUcmFmZmljIj96LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+RSgibmV0d29yayIpKTpEPT09IlNhbGVzIERhdGEiP3ouYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5FKCJzYWxlcyIpKTpEPT09IlN0YXJ0IExpdmUiP3ouYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5fKCkpOkQ9PT0iU3RvcCBMaXZlIj96LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+QygpKTpEPT09IlNwaWtlIFZhbHVlcyImJnouYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5OKCkpfSk7bGV0IEk9aSgoKT0+e2EucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKEQ9PntsZXQgVD1ELnRleHRDb250ZW50Py50cmltKCk7VD09PSJTeXN0ZW0gVXNhZ2UiP0QudHlwZT1sPT09InN5c3RlbSI/ImhpZ2hsaWdodGVkIjoibm9ybWFsIjpUPT09Ik5ldHdvcmsgVHJhZmZpYyI/RC50eXBlPWw9PT0ibmV0d29yayI/ImhpZ2hsaWdodGVkIjoibm9ybWFsIjpUPT09IlNhbGVzIERhdGEiJiYoRC50eXBlPWw9PT0ic2FsZXMiPyJoaWdobGlnaHRlZCI6Im5vcm1hbCIpfSl9LCJ1cGRhdGVCdXR0b25TdGF0ZXMiKTtyLnJvbGxpbmdXaW5kb3c9dSxyLnJlYWx0aW1lTW9kZT0hMSxyLnlBeGlzU2NhbGluZz0icGVyY2VudGFnZSIsci55QXhpc01heD0xMDAsci5hdXRvU2Nyb2xsSW50ZXJ2YWw9MWUzLHNldFRpbWVvdXQoKCk9PntyLnVwZGF0ZVRpbWVXaW5kb3coKX0sMTAwKTtsZXQgaj1FLFM9aSh6PT57aih6KSxJKCl9LCJzd2l0Y2hEYXRhc2V0V2l0aEJ1dHRvblVwZGF0ZSIpO2lmKCQuZm9yRWFjaCh6PT57bGV0IEQ9ei50ZXh0Q29udGVudD8udHJpbSgpO0Q9PT0iU3lzdGVtIFVzYWdlIj8oei5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PkUoInN5c3RlbSIpKSx6LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+Uygic3lzdGVtIikpKTpEPT09Ik5ldHdvcmsgVHJhZmZpYyI/KHoucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5FKCJuZXR3b3JrIikpLHouYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5TKCJuZXR3b3JrIikpKTpEPT09IlNhbGVzIERhdGEiJiYoei5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PkUoInNhbGVzIikpLHouYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5TKCJzYWxlcyIpKSl9KSxzKXtsZXQgej12KGcuY29ubmVjdGlvbnMsMzAsZik7cy5zZXJpZXM9W3tuYW1lOiJDb25uZWN0aW9ucyIsZGF0YTp6fV0scy5yb2xsaW5nV2luZG93PXUscy5yZWFsdGltZU1vZGU9ITEscy55QXhpc1NjYWxpbmc9ImZpeGVkIixzLnlBeGlzTWF4PTM1MCxzLmF1dG9TY3JvbGxJbnRlcnZhbD0xZTMsc2V0VGltZW91dCgoKT0+e3MudXBkYXRlVGltZVdpbmRvdygpfSwxMDApfX19PgogICAgICA8c3R5bGU+CiAgICAgICAgJHtYYAogICAgICAgIC5kZW1vQm94IHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29udHJvbHMgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNoYXJ0LWNvbnRhaW5lciB7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgbWluLWhlaWdodDogNDAwcHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5pbmZvIHsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJkZW1vQm94Ij4KICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMiPgogICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iRGF0YXNldDoiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImhpZ2hsaWdodGVkIj5TeXN0ZW0gVXNhZ2U8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uPk5ldHdvcmsgVHJhZmZpYzwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U2FsZXMgRGF0YTwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IlJlYWwtdGltZToiPgogICAgICAgICAgPGRlZXMtYnV0dG9uPlN0YXJ0IExpdmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uPlN0b3AgTGl2ZTwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkFjdGlvbnM6Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TcGlrZSBWYWx1ZXM8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iY2hhcnQtY29udGFpbmVyIj4KICAgICAgICA8ZGVlcy1jaGFydC1hcmVhCiAgICAgICAgICBpZD0ibWFpbi1jaGFydCIKICAgICAgICAgIC5sYWJlbD0ke3Quc3lzdGVtLmxhYmVsfQogICAgICAgICAgLnNlcmllcz0ke3Quc3lzdGVtLnNlcmllc30KICAgICAgICAgIC55QXhpc0Zvcm1hdHRlcj0ke2Uuc3lzdGVtfQogICAgICAgID48L2RlZXMtY2hhcnQtYXJlYT4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiIHN0eWxlPSJtYXJnaW4tdG9wOiAyMHB4OyI+CiAgICAgICAgPGRlZXMtY2hhcnQtYXJlYQogICAgICAgICAgaWQ9ImNvbm5lY3Rpb25zLWNoYXJ0IgogICAgICAgICAgLmxhYmVsPSR7IkFjdGl2ZSBDb25uZWN0aW9ucyJ9CiAgICAgICAgICAuc2VyaWVzPSR7W3tuYW1lOiJDb25uZWN0aW9ucyIsZGF0YTpbXX1dfQogICAgICAgICAgLnlBeGlzRm9ybWF0dGVyPSR7YT0+YCR7YX1gfQogICAgICAgID48L2RlZXMtY2hhcnQtYXJlYT4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJpbmZvIj4KICAgICAgICBSZWFsLXRpbWUgbW9uaXRvcmluZyB3aXRoIDItbWludXRlIHJvbGxpbmcgd2luZG93IOKAoiAKICAgICAgICBVcGRhdGVzIGV2ZXJ5IHNlY29uZCB3aXRoIHNtb290aCB2YWx1ZSB0cmFuc2l0aW9ucyDigKIgCiAgICAgICAgQ2xpY2sgJ1NwaWtlIFZhbHVlcycgdG8gc2ltdWxhdGUgbG9hZCBzcGlrZXMKICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgfSwiZGVtb0Z1bmMiKX0pO3ZhciBqWHQsVVh0PWMoKCk9PntwZSgpO2pYdD1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgc2Fucy1zZXJpZjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDMuOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQogICAgICAubWFpbmJveCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogNDAwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmNoYXJ0VGl0bGUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICAgIHBhZGRpbmc6IDE2cHggMjRweDsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIH0KICAgICAgLmNoYXJ0Q29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgbGVmdDogMHB4OwogICAgICAgIGJvdHRvbTogMHB4OwogICAgICAgIHJpZ2h0OiAwcHg7CiAgICAgICAgcGFkZGluZzogNDRweCAxNnB4IDE2cHggMHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IC8qIEVuc3VyZSBjb250YWluZXIgZG9lc24ndCBvdmVycmlkZSBjaGFydCBiYWNrZ3JvdW5kICovCiAgICAgIH0KICAgICAgCiAgICAgIC8qIEFwZXhDaGFydHMgdGhlbWUgb3ZlcnJpZGVzICovCiAgICAgIC5hcGV4Y2hhcnRzLWNhbnZhcyB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsKICAgICAgfQogICAgICAKICAgICAgLmFwZXhjaGFydHMtaW5uZXIgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgICAgCiAgICAgIC5hcGV4Y2hhcnRzLWdyYXBoaWNhbCB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsKICAgICAgfQogICAgYF19KTt2YXIgV1h0LEdYdD1jKCgpPT57cGUoKTtXWHQ9aSh0PT53YAogICAgICAgIDxkaXYgY2xhc3M9Im1haW5ib3giPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnRUaXRsZSI+JHt0LmxhYmVsfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnRDb250YWluZXIiPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgLCJyZW5kZXJDaGFydEFyZWEiKX0pO3ZhciAkMixJMSxZWHQsaUJlPWMoKCk9PntwZSgpO0l0KCk7Vlh0KCk7VVh0KCk7R1h0KCk7cGwoKTskMj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sSTE9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LFlYdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtY2hhcnQtYXJlYSIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdLEUsXz1bXSxDPVtdLE4sJD1bXSxJPVtdLGosUz1bXSx6PVtdLEQsVD1bXSxBPVtdO3ZhciBVPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzQ2hhcnRBcmVhIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bWigpXSxoPVtMKCldLHA9W0woe3R5cGU6QXJyYXl9KV0seD1bTCh7YXR0cmlidXRlOiExfSldLHk9W0woe3R5cGU6TnVtYmVyfSldLEU9W0woe3R5cGU6Qm9vbGVhbn0pXSxOPVtMKHt0eXBlOlN0cmluZ30pXSxqPVtMKHt0eXBlOk51bWJlcn0pXSxEPVtMKHt0eXBlOk51bWJlcn0pXSwkMih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNoYXJ0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHE9PiJjaGFydCJpbiBxLCJoYXMiKSxnZXQ6aShxPT5xLmNoYXJ0LCJnZXQiKSxzZXQ6aSgocSxvZSk9PntxLmNoYXJ0PW9lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LG8sbCksJDIodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShxPT4ibGFiZWwiaW4gcSwiaGFzIiksZ2V0OmkocT0+cS5sYWJlbCwiZ2V0Iiksc2V0OmkoKHEsb2UpPT57cS5sYWJlbD1vZX0sInNldCIpfSxtZXRhZGF0YTpSfSx1LGYpLCQyKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VyaWVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHE9PiJzZXJpZXMiaW4gcSwiaGFzIiksZ2V0OmkocT0+cS5zZXJpZXMsImdldCIpLHNldDppKChxLG9lKT0+e3Euc2VyaWVzPW9lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGcsdiksJDIodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ5QXhpc0Zvcm1hdHRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShxPT4ieUF4aXNGb3JtYXR0ZXIiaW4gcSwiaGFzIiksZ2V0OmkocT0+cS55QXhpc0Zvcm1hdHRlciwiZ2V0Iiksc2V0OmkoKHEsb2UpPT57cS55QXhpc0Zvcm1hdHRlcj1vZX0sInNldCIpfSxtZXRhZGF0YTpSfSxiLG0pLCQyKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToicm9sbGluZ1dpbmRvdyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShxPT4icm9sbGluZ1dpbmRvdyJpbiBxLCJoYXMiKSxnZXQ6aShxPT5xLnJvbGxpbmdXaW5kb3csImdldCIpLHNldDppKChxLG9lKT0+e3Eucm9sbGluZ1dpbmRvdz1vZX0sInNldCIpfSxtZXRhZGF0YTpSfSxNLGspLCQyKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVhbHRpbWVNb2RlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHE9PiJyZWFsdGltZU1vZGUiaW4gcSwiaGFzIiksZ2V0OmkocT0+cS5yZWFsdGltZU1vZGUsImdldCIpLHNldDppKChxLG9lKT0+e3EucmVhbHRpbWVNb2RlPW9lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LF8sQyksJDIodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ5QXhpc1NjYWxpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkocT0+InlBeGlzU2NhbGluZyJpbiBxLCJoYXMiKSxnZXQ6aShxPT5xLnlBeGlzU2NhbGluZywiZ2V0Iiksc2V0OmkoKHEsb2UpPT57cS55QXhpc1NjYWxpbmc9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Un0sJCxJKSwkMih0aGlzLG51bGwsaix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InlBeGlzTWF4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHE9PiJ5QXhpc01heCJpbiBxLCJoYXMiKSxnZXQ6aShxPT5xLnlBeGlzTWF4LCJnZXQiKSxzZXQ6aSgocSxvZSk9PntxLnlBeGlzTWF4PW9lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LFMseiksJDIodGhpcyxudWxsLEQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhdXRvU2Nyb2xsSW50ZXJ2YWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkocT0+ImF1dG9TY3JvbGxJbnRlcnZhbCJpbiBxLCJoYXMiKSxnZXQ6aShxPT5xLmF1dG9TY3JvbGxJbnRlcnZhbCwiZ2V0Iiksc2V0OmkoKHEsb2UpPT57cS5hdXRvU2Nyb2xsSW50ZXJ2YWw9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Un0sVCxBKSwkMihudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpSfSxudWxsLGEpLFU9cj1lLnZhbHVlLFImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Un0pfXN0YXRpYyBkZW1vPXFYdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIkNoYXJ0Il07I2U9STEodGhpcyxvLHZvaWQgMCk7Z2V0IGNoYXJ0KCl7cmV0dXJuIHRoaXMuI2V9c2V0IGNoYXJ0KFIpe3RoaXMuI2U9Un0jdD0oSTEodGhpcyxsKSxJMSh0aGlzLHUsIlVudGl0bGVkIENoYXJ0IikpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiN0fXNldCBsYWJlbChSKXt0aGlzLiN0PVJ9I2E9KEkxKHRoaXMsZiksSTEodGhpcyxnLFtdKSk7Z2V0IHNlcmllcygpe3JldHVybiB0aGlzLiNhfXNldCBzZXJpZXMoUil7dGhpcy4jYT1SfWdldCBjaGFydFNlcmllcygpe3JldHVybiB0aGlzLmludGVybmFsQ2hhcnREYXRhLmxlbmd0aD4wP3RoaXMuaW50ZXJuYWxDaGFydERhdGE6dGhpcy5zZXJpZXN9I3I9KEkxKHRoaXMsdiksSTEodGhpcyxiLFI9PmAke1J9IE1icHNgKSk7Z2V0IHlBeGlzRm9ybWF0dGVyKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHlBeGlzRm9ybWF0dGVyKFIpe3RoaXMuI3I9Un0jaT0oSTEodGhpcyxtKSxJMSh0aGlzLE0sMCkpO2dldCByb2xsaW5nV2luZG93KCl7cmV0dXJuIHRoaXMuI2l9c2V0IHJvbGxpbmdXaW5kb3coUil7dGhpcy4jaT1SfSNzPShJMSh0aGlzLGspLEkxKHRoaXMsXywhMSkpO2dldCByZWFsdGltZU1vZGUoKXtyZXR1cm4gdGhpcy4jc31zZXQgcmVhbHRpbWVNb2RlKFIpe3RoaXMuI3M9Un0jbz0oSTEodGhpcyxDKSxJMSh0aGlzLCQsImR5bmFtaWMiKSk7Z2V0IHlBeGlzU2NhbGluZygpe3JldHVybiB0aGlzLiNvfXNldCB5QXhpc1NjYWxpbmcoUil7dGhpcy4jbz1SfSNuPShJMSh0aGlzLEkpLEkxKHRoaXMsUywxMDApKTtnZXQgeUF4aXNNYXgoKXtyZXR1cm4gdGhpcy4jbn1zZXQgeUF4aXNNYXgoUil7dGhpcy4jbj1SfSNsPShJMSh0aGlzLHopLEkxKHRoaXMsVCwxZTMpKTtnZXQgYXV0b1Njcm9sbEludGVydmFsKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGF1dG9TY3JvbGxJbnRlcnZhbChSKXt0aGlzLiNsPVJ9cmVzaXplT2JzZXJ2ZXI9STEodGhpcyxBKTtyZXNpemVUaW1lb3V0O2ludGVybmFsQ2hhcnREYXRhPVtdO2F1dG9TY3JvbGxUaW1lcj1udWxsO0RFQlVHX1JFU0laRT0hMTtDSEFSVF9DT0xPUlM9e2Rhcms6WyJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDE3My40IDgwLjQlIDQwJSkiLCJoc2woMjgwLjMgODcuNCUgNjYuNyUpIiwiaHNsKDI0LjYgOTUlIDUzLjElKSJdLGxpZ2h0OlsiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMjgwLjMgNDcuNyUgNTAuMiUpIiwiaHNsKDIwLjUgOTAuMiUgNDguMiUpIl19O2NvbnN0cnVjdG9yKCl7c3VwZXIoKSxJYS5zZXR1cCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKFI9Pnt0aGlzLnJlc2l6ZVRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVvdXQpLHRoaXMucmVzaXplVGltZW91dD13aW5kb3cuc2V0VGltZW91dCgoKT0+e2lmKHRoaXMuY2hhcnQpe2lmKHRoaXMuREVCVUdfUkVTSVpFJiZSLmxlbmd0aD4wKXtsZXQgcT1SWzBdO2NvbnNvbGUubG9nKCJEZWVzQ2hhcnRBcmVhIC0gUmVzaXplIGRldGVjdGVkOiIse3dpZHRoOnEuY29udGVudFJlY3Qud2lkdGgsaGVpZ2h0OnEuY29udGVudFJlY3QuaGVpZ2h0fSl9dGhpcy5yZXNpemVDaGFydCgpfX0sMTAwKX0pLHRoaXMucmVnaXN0ZXJHYXJiYWdlRnVuY3Rpb24oYXN5bmMoKT0+e2lmKHRoaXMucmVzaXplVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMucmVzaXplVGltZW91dCksdGhpcy5yZXNpemVPYnNlcnZlciYmdGhpcy5yZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCksdGhpcy5zdG9wQXV0b1Njcm9sbCgpLHRoaXMuY2hhcnQpdHJ5e3RoaXMuY2hhcnQuZGVzdHJveSgpLHRoaXMuY2hhcnQ9bnVsbH1jYXRjaChSKXtjb25zb2xlLmVycm9yKCJFcnJvciBkZXN0cm95aW5nIGNoYXJ0OiIsUil9fSl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuY2hhcnQmJihhd2FpdCBuZXcgUHJvbWlzZShSPT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoUikpLGF3YWl0IHRoaXMucmVzaXplQ2hhcnQoKSl9c3RhdGljIHN0eWxlcz1qWHQ7cmVuZGVyKCl7cmV0dXJuIFdYdCh0aGlzKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXthd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTtsZXQgUj1hd2FpdCByci5nZXRJbnN0YW5jZSgpLmxvYWRBcGV4Q2hhcnRzKCk7YXdhaXQgbmV3IFByb21pc2Uoc2U9PnJlcXVlc3RBbmltYXRpb25GcmFtZShzZSkpO2xldCBxPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIubWFpbmJveCIpLG9lPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY2hhcnRDb250YWluZXIiKTtpZighcXx8IW9lKXtjb25zb2xlLmVycm9yKCJDaGFydCBjb250YWluZXJzIG5vdCBmb3VuZCIpO3JldHVybn1sZXQgTz13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShvZSkscmU9cGFyc2VJbnQoTy5wYWRkaW5nVG9wLDEwKSx5ZT1wYXJzZUludChPLnBhZGRpbmdCb3R0b20sMTApLEI9cGFyc2VJbnQoTy5wYWRkaW5nTGVmdCwxMCksZWU9cGFyc2VJbnQoTy5wYWRkaW5nUmlnaHQsMTApLENlPXEuY2xpZW50V2lkdGgtQi1lZSxZPXEub2Zmc2V0SGVpZ2h0LXJlLXllLFA9dGhpcy5zZXJpZXMubGVuZ3RoPjA/dGhpcy5zZXJpZXM6W3tuYW1lOiJjcHUiLGRhdGE6W3t4OiIyMDI1LTAxLTE1VDAzOjAwOjAwIix5OjI1fSx7eDoiMjAyNS0wMS0xNVQwNzowMDowMCIseTozMH0se3g6IjIwMjUtMDEtMTVUMTE6MDA6MDAiLHk6MjB9LHt4OiIyMDI1LTAxLTE1VDE1OjAwOjAwIix5OjM1fSx7eDoiMjAyNS0wMS0xNVQxOTowMDowMCIseToyNX1dfSx7bmFtZToibWVtb3J5IixkYXRhOlt7eDoiMjAyNS0wMS0xNVQwMzowMDowMCIseToxMH0se3g6IjIwMjUtMDEtMTVUMDc6MDA6MDAiLHk6MTJ9LHt4OiIyMDI1LTAxLTE1VDExOjAwOjAwIix5OjEwfSx7eDoiMjAyNS0wMS0xNVQxNTowMDowMCIseTozMH0se3g6IjIwMjUtMDEtMTVUMTk6MDA6MDAiLHk6NDB9XX1dO3RoaXMuaW50ZXJuYWxDaGFydERhdGE9UDtsZXQgSD0hdGhpcy5nb0JyaWdodCxHPUg/ImRhcmsiOiJsaWdodCI7dmFyIFc9e3NlcmllczpQLGNoYXJ0Ont3aWR0aDpDZXx8MTAwLGhlaWdodDpZfHwxMDAsdHlwZToiYXJlYSIsYmFja2dyb3VuZDoidHJhbnNwYXJlbnQiLHRvb2xiYXI6e3Nob3c6ITF9LGFuaW1hdGlvbnM6e2VuYWJsZWQ6IXRoaXMucmVhbHRpbWVNb2RlLHNwZWVkOjQwMCxhbmltYXRlR3JhZHVhbGx5OntlbmFibGVkOiExLGRlbGF5OjB9LGR5bmFtaWNBbmltYXRpb246e2VuYWJsZWQ6IXRoaXMucmVhbHRpbWVNb2RlLHNwZWVkOjM1MH19LHpvb206e2VuYWJsZWQ6ITF9LHNlbGVjdGlvbjp7ZW5hYmxlZDohMX19LGRhdGFMYWJlbHM6e2VuYWJsZWQ6ITF9LHN0cm9rZTp7d2lkdGg6MixjdXJ2ZToic21vb3RoIn0seGF4aXM6e3R5cGU6ImRhdGV0aW1lIixsYWJlbHM6e2Zvcm1hdDoiSEg6bW06c3MiLGRhdGV0aW1lVVRDOiExLHN0eWxlOntjb2xvcnM6W0g/ImhzbCgwIDAlIDYzLjklKSI6ImhzbCgwIDAlIDIwJSkiXSxmb250U2l6ZToiMTJweCIsZm9udEZhbWlseTonLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBzYW5zLXNlcmlmJyxmb250V2VpZ2h0OiI0MDAifX0sYXhpc0JvcmRlcjp7c2hvdzohMX0sYXhpc1RpY2tzOntzaG93OiExfX0seWF4aXM6e21pbjowLG1heDp0aGlzLnlBeGlzU2NhbGluZz09PSJkeW5hbWljIj92b2lkIDA6dGhpcy55QXhpc01heCxsYWJlbHM6e2Zvcm1hdHRlcjp0aGlzLnlBeGlzRm9ybWF0dGVyLHN0eWxlOntjb2xvcnM6W0g/ImhzbCgwIDAlIDYzLjklKSI6ImhzbCgwIDAlIDIwJSkiXSxmb250U2l6ZToiMTJweCIsZm9udEZhbWlseTonLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBzYW5zLXNlcmlmJyxmb250V2VpZ2h0OiI0MDAifX0sYXhpc0JvcmRlcjp7c2hvdzohMX0sYXhpc1RpY2tzOntzaG93OiExfX0sdG9vbHRpcDp7c2hhcmVkOiEwLGludGVyc2VjdDohMSxmb2xsb3dDdXJzb3I6ITAseDp7Zm9ybWF0OiJkZC9NTS95eSBISDptbSJ9LGN1c3RvbTppKCh7c2VyaWVzOnNlLGRhdGFQb2ludEluZGV4OnplLHc6TWV9KT0+e2xldCBWPU1lLmNvbmZpZy50aGVtZS5tb2RlPT09ImRhcmsiLEY9Vj8iaHNsKDAgMCUgOSUpIjoiaHNsKDAgMCUgMTAwJSkiLG5lPVY/ImhzbCgwIDAlIDk1JSkiOiJoc2woMCAwJSA5JSkiLHRlPVY/ImhzbCgwIDAlIDE0LjklKSI6ImhzbCgwIDAlIDg5LjglKSIsSz1NZS5jb25maWcueWF4aXNbMF0/LmxhYmVscz8uZm9ybWF0dGVyfHwodmU9PnZlLnRvU3RyaW5nKCkpLGtlPWA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAxMnB4OyBiYWNrZ3JvdW5kOiAke0Z9OyBjb2xvcjogJHtuZX07IGJvcmRlci1yYWRpdXM6IDZweDsgYm94LXNoYWRvdzogMCAycHggOHB4IDAgaHNsKDAgMCUgMCUgLyAke1Y/IjAuMiI6IjAuMSJ9KTsgYm9yZGVyOiAxcHggc29saWQgJHt0ZX07Zm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB4OyI+YDtyZXR1cm4gc2UuZm9yRWFjaCgodmUsZGUpPT57bGV0ICRlPU1lLmdsb2JhbHMuc2VyaWVzTmFtZXNbZGVdLFZlPXZlW3plXSxRZT1NZS5nbG9iYWxzLmNvbG9yc1tkZV0sVGU9SyhWZSk7a2UrPWA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDhweDsgbWFyZ2luOiAke2RlPjA/IjZweCI6IjAifSAwOyI+CiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgd2lkdGg6IDEwcHg7IGhlaWdodDogMTBweDsgYmFja2dyb3VuZDogJHtRZX07IGJvcmRlci1yYWRpdXM6IDJweDsiPjwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC13ZWlnaHQ6IDUwMDsiPiR7JGV9Ojwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0ibWFyZ2luLWxlZnQ6IGF1dG87IGZvbnQtd2VpZ2h0OiA2MDA7Ij4ke1RlfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+YH0pLGtlKz0iPC9kaXY+IixrZX0sImN1c3RvbSIpfSxncmlkOnt4YXhpczp7bGluZXM6e3Nob3c6ITF9fSx5YXhpczp7bGluZXM6e3Nob3c6ITB9fSxib3JkZXJDb2xvcjpIPyJoc2woMCAwJSAxNC45JSkiOiJoc2woMCAwJSA5NCUpIixzdHJva2VEYXNoQXJyYXk6MCxwYWRkaW5nOnt0b3A6MTAscmlnaHQ6MjAsYm90dG9tOjEwLGxlZnQ6MjB9fSxmaWxsOnt0eXBlOiJncmFkaWVudCIsZ3JhZGllbnQ6e3NoYWRlOkg/ImRhcmsiOiJsaWdodCIsdHlwZToidmVydGljYWwiLHNoYWRlSW50ZW5zaXR5Oi4xLG9wYWNpdHlGcm9tOkg/LjI6LjMsb3BhY2l0eVRvOjAsc3RvcHM6WzAsMTAwXX19LGNvbG9yczpIP3RoaXMuQ0hBUlRfQ09MT1JTLmRhcms6dGhpcy5DSEFSVF9DT0xPUlMubGlnaHQsdGhlbWU6e21vZGU6R319O3RyeXt0aGlzLmNoYXJ0PW5ldyBSKHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY2hhcnRDb250YWluZXIiKSxXKSxhd2FpdCB0aGlzLmNoYXJ0LnJlbmRlcigpLGF3YWl0IG5ldyBQcm9taXNlKHplPT5zZXRUaW1lb3V0KHplLDEwMCkpLGF3YWl0IHRoaXMucmVzaXplQ2hhcnQoKTtsZXQgc2U9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5tYWluYm94Iik7c2UmJnRoaXMucmVzaXplT2JzZXJ2ZXImJih0aGlzLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKSx0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUoc2UpLHRoaXMuREVCVUdfUkVTSVpFJiZjb25zb2xlLmxvZygiRGVlc0NoYXJ0QXJlYSAtIFJlc2l6ZU9ic2VydmVyIGF0dGFjaGVkIHRvIG1haW5ib3giKSl9Y2F0Y2goc2Upe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBpbml0aWFsaXplIGNoYXJ0OiIsc2UpfX1hc3luYyB1cGRhdGVkKFIpe3N1cGVyLnVwZGF0ZWQoUiksUi5oYXMoImdvQnJpZ2h0IikmJnRoaXMuY2hhcnQmJmF3YWl0IHRoaXMudXBkYXRlQ2hhcnRUaGVtZSgpLFIuaGFzKCJzZXJpZXMiKSYmdGhpcy5jaGFydCYmdGhpcy5zZXJpZXMubGVuZ3RoPjAmJmF3YWl0IHRoaXMudXBkYXRlU2VyaWVzKHRoaXMuc2VyaWVzKSxSLmhhcygieUF4aXNGb3JtYXR0ZXIiKSYmdGhpcy5jaGFydCYmYXdhaXQgdGhpcy5jaGFydC51cGRhdGVPcHRpb25zKHt5YXhpczp7bGFiZWxzOntmb3JtYXR0ZXI6dGhpcy55QXhpc0Zvcm1hdHRlcn19fSksUi5oYXMoInJlYWx0aW1lTW9kZSIpJiZ0aGlzLmNoYXJ0JiYoYXdhaXQgdGhpcy5jaGFydC51cGRhdGVPcHRpb25zKHtjaGFydDp7YW5pbWF0aW9uczp7ZW5hYmxlZDohdGhpcy5yZWFsdGltZU1vZGUsc3BlZWQ6NDAwLGFuaW1hdGVHcmFkdWFsbHk6e2VuYWJsZWQ6ITEsZGVsYXk6MH0sZHluYW1pY0FuaW1hdGlvbjp7ZW5hYmxlZDohdGhpcy5yZWFsdGltZU1vZGUsc3BlZWQ6MzUwfX19fSksdGhpcy5yZWFsdGltZU1vZGUmJnRoaXMucm9sbGluZ1dpbmRvdz4wJiZ0aGlzLmF1dG9TY3JvbGxJbnRlcnZhbD4wP3RoaXMuc3RhcnRBdXRvU2Nyb2xsKCk6dGhpcy5zdG9wQXV0b1Njcm9sbCgpKSxSLmhhcygiYXV0b1Njcm9sbEludGVydmFsIikmJnRoaXMuY2hhcnQmJih0aGlzLnN0b3BBdXRvU2Nyb2xsKCksdGhpcy5yZWFsdGltZU1vZGUmJnRoaXMucm9sbGluZ1dpbmRvdz4wJiZ0aGlzLmF1dG9TY3JvbGxJbnRlcnZhbD4wJiZ0aGlzLnN0YXJ0QXV0b1Njcm9sbCgpKSwoUi5oYXMoInlBeGlzU2NhbGluZyIpfHxSLmhhcygieUF4aXNNYXgiKSkmJnRoaXMuY2hhcnQmJmF3YWl0IHRoaXMuY2hhcnQudXBkYXRlT3B0aW9ucyh7eWF4aXM6e21pbjowLG1heDp0aGlzLnlBeGlzU2NhbGluZz09PSJkeW5hbWljIj92b2lkIDA6dGhpcy55QXhpc01heH19KX1hc3luYyB1cGRhdGVTZXJpZXMoUixxPSEwKXtpZih0aGlzLmNoYXJ0KXRyeXtpZih0aGlzLmludGVybmFsQ2hhcnREYXRhPVIsdGhpcy5yb2xsaW5nV2luZG93PjAmJnRoaXMucmVhbHRpbWVNb2RlKXtsZXQgTz1EYXRlLm5vdygpLXRoaXMucm9sbGluZ1dpbmRvdyxyZT1SLm1hcCh5ZT0+KHtuYW1lOnllLm5hbWUsZGF0YTp5ZS5kYXRhLmZpbHRlcihCPT50eXBlb2YgQj09Im9iamVjdCImJkIhPT1udWxsJiYieCJpbiBCP25ldyBEYXRlKEIueCkuZ2V0VGltZSgpPk86ITEpfSkpO2lmKHJlLnNvbWUoeWU9PnllLmRhdGEubGVuZ3RoPjApKXtpZih0aGlzLnlBeGlzU2NhbGluZz09PSJkeW5hbWljIil7bGV0IHllPXJlLmZsYXRNYXAoQj0+Qi5kYXRhLm1hcChlZT0+ZWUueSkpO2lmKHllLmxlbmd0aD4wKXtsZXQgQj1NYXRoLm1heCguLi55ZSksZWU9TWF0aC5jZWlsKEIqMS4xKTthd2FpdCB0aGlzLmNoYXJ0LnVwZGF0ZU9wdGlvbnMoe3lheGlzOnttaW46MCxtYXg6ZWV9fSwhMSwhMSl9fWF3YWl0IHRoaXMuY2hhcnQudXBkYXRlU2VyaWVzKHJlLCExKX19ZWxzZSBhd2FpdCB0aGlzLmNoYXJ0LnVwZGF0ZVNlcmllcyhSLHEpfWNhdGNoKG9lKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gdXBkYXRlIGNoYXJ0IHNlcmllczoiLG9lKX19YXN5bmMgdXBkYXRlVGltZVdpbmRvdygpe2lmKCF0aGlzLmNoYXJ0fHx0aGlzLnJvbGxpbmdXaW5kb3c8PTApcmV0dXJuO2xldCBSPURhdGUubm93KCkscT1SLXRoaXMucm9sbGluZ1dpbmRvdzthd2FpdCB0aGlzLmNoYXJ0LnVwZGF0ZU9wdGlvbnMoe3hheGlzOnttaW46cSxtYXg6UixsYWJlbHM6e2Zvcm1hdDoiSEg6bW06c3MiLGRhdGV0aW1lVVRDOiExLHN0eWxlOntjb2xvcnM6W3RoaXMuZ29CcmlnaHQ/ImhzbCgwIDAlIDIwJSkiOiJoc2woMCAwJSA2My45JSkiXSxmb250U2l6ZToiMTJweCIsZm9udEZhbWlseTonLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBzYW5zLXNlcmlmJyxmb250V2VpZ2h0OiI0MDAifX0sdGlja0Ftb3VudDo2fX0sITEsITEpfWFzeW5jIGFwcGVuZERhdGEoUil7dGhpcy5jaGFydCYmdGhpcy5jaGFydC5hcHBlbmREYXRhKFIpfWFzeW5jIHVwZGF0ZU9wdGlvbnMoUixxLG9lKXtpZih0aGlzLmNoYXJ0KXJldHVybiB0aGlzLmNoYXJ0LnVwZGF0ZU9wdGlvbnMoUixxLG9lKX1hc3luYyByZXNpemVDaGFydCgpe2lmKHRoaXMuY2hhcnQpe3RoaXMuREVCVUdfUkVTSVpFJiZjb25zb2xlLmxvZygiRGVlc0NoYXJ0QXJlYSAtIHJlc2l6ZUNoYXJ0IGNhbGxlZCIpO3RyeXtsZXQgUj10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm1haW5ib3giKSxxPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY2hhcnRDb250YWluZXIiKTtpZighUnx8IXEpcmV0dXJuO1Iub2Zmc2V0SGVpZ2h0O2xldCBvZT13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShxKSxPPXBhcnNlSW50KG9lLnBhZGRpbmdUb3AsMTApLHJlPXBhcnNlSW50KG9lLnBhZGRpbmdCb3R0b20sMTApLHllPXBhcnNlSW50KG9lLnBhZGRpbmdMZWZ0LDEwKSxCPXBhcnNlSW50KG9lLnBhZGRpbmdSaWdodCwxMCksZWU9Ui5jbGllbnRXaWR0aC15ZS1CLENlPVIub2Zmc2V0SGVpZ2h0LU8tcmU7ZWU+MCYmQ2U+MCYmKHRoaXMuREVCVUdfUkVTSVpFJiZjb25zb2xlLmxvZygiRGVlc0NoYXJ0QXJlYSAtIFVwZGF0aW5nIGNoYXJ0IGRpbWVuc2lvbnM6Iix7d2lkdGg6ZWUsaGVpZ2h0OkNlfSksYXdhaXQgdGhpcy5jaGFydC51cGRhdGVPcHRpb25zKHtjaGFydDp7d2lkdGg6ZWUsaGVpZ2h0OkNlfX0sITAsITEpKX1jYXRjaChSKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gcmVzaXplIGNoYXJ0OiIsUil9fX1hc3luYyBmb3JjZVJlc2l6ZSgpe2F3YWl0IHRoaXMucmVzaXplQ2hhcnQoKX1zdGFydEF1dG9TY3JvbGwoKXt0aGlzLmF1dG9TY3JvbGxUaW1lcnx8KHRoaXMuYXV0b1Njcm9sbFRpbWVyPXdpbmRvdy5zZXRJbnRlcnZhbCgoKT0+e3RoaXMudXBkYXRlVGltZVdpbmRvdygpfSx0aGlzLmF1dG9TY3JvbGxJbnRlcnZhbCkpfXN0b3BBdXRvU2Nyb2xsKCl7dGhpcy5hdXRvU2Nyb2xsVGltZXImJih3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLmF1dG9TY3JvbGxUaW1lciksdGhpcy5hdXRvU2Nyb2xsVGltZXI9bnVsbCl9YXN5bmMgdXBkYXRlQ2hhcnRUaGVtZSgpe2lmKCF0aGlzLmNoYXJ0KXJldHVybjtsZXQgUj0hdGhpcy5nb0JyaWdodCxxPVI/ImRhcmsiOiJsaWdodCI7YXdhaXQgdGhpcy5jaGFydC51cGRhdGVPcHRpb25zKHt0aGVtZTp7bW9kZTpxfSxjb2xvcnM6Uj90aGlzLkNIQVJUX0NPTE9SUy5kYXJrOnRoaXMuQ0hBUlRfQ09MT1JTLmxpZ2h0LHhheGlzOntsYWJlbHM6e3N0eWxlOntjb2xvcnM6W1I/ImhzbCgwIDAlIDYzLjklKSI6ImhzbCgwIDAlIDIwJSkiXX19fSx5YXhpczp7bGFiZWxzOntzdHlsZTp7Y29sb3JzOltSPyJoc2woMCAwJSA2My45JSkiOiJoc2woMCAwJSAyMCUpIl19fX0sZ3JpZDp7Ym9yZGVyQ29sb3I6Uj8iaHNsKDAgMCUgMTQuOSUpIjoiaHNsKDAgMCUgOTQlKSJ9LGZpbGw6e2dyYWRpZW50OntzaGFkZTpSPyJkYXJrIjoibGlnaHQiLG9wYWNpdHlGcm9tOlI/LjI6LjN9fX0pfXN0YXRpY3tJMShyLGEpfX07cmV0dXJuIFU9cn0pKCl9KTt2YXIgWlh0PWMoKCk9PntpQmUoKX0pO3ZhciBYWHQsS1h0PWMoKCk9PntwZSgpO1JhKCk7WFh0PWkoKCk9PndgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57bGV0IGU9dC5xdWVyeVNlbGVjdG9yKCIjc3RydWN0dXJlZC1sb2ciKSxhPXQucXVlcnlTZWxlY3RvcigiI3Jhdy1sb2ciKSxyLHMsbj1bIlNlcnZlciIsIkRhdGFiYXNlIiwiQVBJIiwiQXV0aCIsIkNhY2hlIiwiUXVldWUiLCJXZWJTb2NrZXQiLCJTY2hlZHVsZXIiXSxvPXtkZWJ1ZzpbIkxvYWRpbmcgbW9kdWxlOiB7e21vZHVsZX19IiwiQ2FjaGUgaGl0IGZvciBrZXk6IHt7a2V5fX0iLCJTUUwgcXVlcnkgZXhlY3V0ZWQgaW4ge3t0aW1lfX1tcyIsIlJlcXVlc3QgaGVhZGVyczoge3toZWFkZXJzfX0iLCJFbnZpcm9ubWVudCB2YXJpYWJsZSBsb2FkZWQ6IHt7dmFyfX0iXSxpbmZvOlsiUmVxdWVzdCByZWNlaXZlZDoge3ttZXRob2R9fSB7e3BhdGh9fSIsIlVzZXIge3t1c2VySWR9fSBhdXRoZW50aWNhdGVkIHN1Y2Nlc3NmdWxseSIsIlByb2Nlc3Npbmcgam9iIHt7am9iSWR9fSBmcm9tIHF1ZXVlIiwnU2NoZWR1bGVkIHRhc2sgInt7dGFza319IiBzdGFydGVkJywiV2ViU29ja2V0IGNvbm5lY3Rpb24gZXN0YWJsaXNoZWQgZnJvbSB7e2lwfX0iXSx3YXJuOlsiU2xvdyBxdWVyeSBkZXRlY3RlZDoge3txdWVyeX19ICh7e3RpbWV9fW1zKSIsIk1lbW9yeSB1c2FnZSBhdCB7e3BlcmNlbnR9fSUiLCJSYXRlIGxpbWl0IGFwcHJvYWNoaW5nIGZvciBJUCB7e2lwfX0iLCJEZXByZWNhdGVkIEFQSSBlbmRwb2ludCBjYWxsZWQ6IHt7ZW5kcG9pbnR9fSIsIkNlcnRpZmljYXRlIGV4cGlyZXMgaW4ge3tkYXlzfX0gZGF5cyJdLGVycm9yOlsiRGF0YWJhc2UgY29ubmVjdGlvbiBsb3N0OiB7e2Vycm9yfX0iLCJGYWlsZWQgdG8gcHJvY2VzcyByZXF1ZXN0OiB7e2Vycm9yfX0iLCJBdXRoZW50aWNhdGlvbiBmYWlsZWQgZm9yIHVzZXIge3t1c2VyfX0iLCJGaWxlIG5vdCBmb3VuZDoge3twYXRofX0iLCJTZXJ2aWNlIHVuYXZhaWxhYmxlOiB7e3NlcnZpY2V9fSJdLHN1Y2Nlc3M6WyJTZXJ2ZXIgc3RhcnRlZCBzdWNjZXNzZnVsbHkgb24gcG9ydCB7e3BvcnR9fSIsIkRhdGFiYXNlIG1pZ3JhdGlvbiBjb21wbGV0ZWQiLCJCYWNrdXAgY29tcGxldGVkOiB7e3NpemV9fSBNQiIsIlNTTCBjZXJ0aWZpY2F0ZSByZW5ld2VkIiwiSGVhbHRoIGNoZWNrIHBhc3NlZDogYWxsIHN5c3RlbXMgb3BlcmF0aW9uYWwiXX0sbD1bIlx4MUJbOTBtMjAyNC0wMS0xNVQxMDoyMzo0NS4xMjNaXHgxQlswbSBceDFCWzM2bUlORk9ceDFCWzBtICBbbmdpbnhdIEdFVCAvYXBpL2hlYWx0aCAyMDAgLSAybXMiLCJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDUuNDU2Wlx4MUJbMG0gXHgxQlszM21XQVJOXHgxQlswbSAgW3JlZGlzXSBDb25uZWN0aW9uIHBvb2wgcnVubmluZyBsb3c6IDMvMTAiLCJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDUuNzg5Wlx4MUJbMG0gXHgxQlszMW1FUlJPUlx4MUJbMG0gW21vbmdvZGJdIFF1ZXJ5IHRpbWVvdXQgYWZ0ZXIgMzAwMDBtcyIsIlx4MUJbOTBtMjAyNC0wMS0xNVQxMDoyMzo0Ni4wMTJaXHgxQlswbSBceDFCWzM2bUlORk9ceDFCWzBtICBbYXBwXSBQcm9jZXNzaW5nIGJhdGNoIGpvYiAje3tqb2JJZH19IiwiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ2LjM0NVpceDFCWzBtIFx4MUJbMzJtT0tceDFCWzBtICAgIFtoZWFsdGhdIEFsbCBzZXJ2aWNlcyBoZWFsdGh5IiwiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ2LjY3OFpceDFCWzBtIFx4MUJbMzZtSU5GT1x4MUJbMG0gIFtrYWZrYV0gTWVzc2FnZSBjb25zdW1lZCBmcm9tIHRvcGljOiBldmVudHMiLCJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDcuMDAxWlx4MUJbMG0gXHgxQlszNW1ERUJVR1x4MUJbMG0gW2dycGNdIFJlcXVlc3QgcmVjZWl2ZWQ6IEdldFVzZXIoaWQ9e3t1c2VySWR9fSkiLCJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDcuMjM0Wlx4MUJbMG0gXHgxQlszMW1FUlJPUlx4MUJbMG0gW2F1dGhdIFRva2VuIHZhbGlkYXRpb24gZmFpbGVkOiBleHBpcmVkIiwiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ3LjU2N1pceDFCWzBtIFx4MUJbMzNtV0FSTlx4MUJbMG0gIFtyYXRlLWxpbWl0XSBJUCB7e2lwfX0gYXBwcm9hY2hpbmcgcmF0ZSBsaW1pdCIsIlx4MUJbOTBtMjAyNC0wMS0xNVQxMDoyMzo0Ny44OTBaXHgxQlswbSBceDFCWzM2bUlORk9ceDFCWzBtICBbd2Vic29ja2V0XSBDbGllbnQgY29ubmVjdGVkOiBzZXNzaW9uPXt7c2Vzc2lvbn19IixgXHgxQlszMW1FcnJvcjogQ29ubmVjdGlvbiByZWZ1c2VkXHgxQlswbQogICAgYXQgVGNwQ29ubmVjdGlvbi5jb25uZWN0ICgvYXBwL25vZGVfbW9kdWxlcy9wZy9saWIvY29ubmVjdGlvbi5qczoxMjoxNSkKICAgIGF0IFBvb2wuY29ubmVjdCAoL2FwcC9ub2RlX21vZHVsZXMvcGcvbGliL3Bvb2wuanM6NDU6MjMpCiAgICBhdCBhc3luYyBEYXRhYmFzZVNlcnZpY2UucXVlcnkgKC9hcHAvc3JjL2RiL3NlcnZpY2UudHM6ODk6MTIpYF0saD1pKCgpPT57bGV0IGI9WyJkZWJ1ZyIsImluZm8iLCJ3YXJuIiwiZXJyb3IiLCJzdWNjZXNzIl0sbT1bLjIsLjUsLjE1LC4xLC4wNV0seT1NYXRoLnJhbmRvbSgpLE09MCxrPSJpbmZvIjtmb3IobGV0ICQ9MDskPG0ubGVuZ3RoOyQrKylpZihNKz1tWyRdLHk8TSl7az1iWyRdO2JyZWFrfWxldCBFPW5bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKm4ubGVuZ3RoKV0sXz1vW2tdLE49X1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqXy5sZW5ndGgpXS5yZXBsYWNlKCJ7e21vZHVsZX19IixbImV4cHJlc3MiLCJtb25nb29zZSIsInJlZGlzIiwic29ja2V0LmlvIl1bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQpXSkucmVwbGFjZSgie3trZXl9fSIsInVzZXI6IitNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMWUzKSkucmVwbGFjZSgie3t0aW1lfX0iLFN0cmluZyhNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqNTAwKSs1MCkpLnJlcGxhY2UoInt7aGVhZGVyc319IiwiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29uLCBBdXRob3JpemF0aW9uOiBCZWFyZXIgLi4uIikucmVwbGFjZSgie3t2YXJ9fSIsWyJOT0RFX0VOViIsIkRBVEFCQVNFX1VSTCIsIkFQSV9LRVkiLCJQT1JUIl1bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQpXSkucmVwbGFjZSgie3ttZXRob2R9fSIsWyJHRVQiLCJQT1NUIiwiUFVUIiwiREVMRVRFIl1bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQpXSkucmVwbGFjZSgie3twYXRofX0iLFsiL2FwaS91c2VycyIsIi9hcGkvYXV0aC9sb2dpbiIsIi9hcGkvcHJvZHVjdHMiLCIvaGVhbHRoIl1bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQpXSkucmVwbGFjZSgie3t1c2VySWR9fSIsU3RyaW5nKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxZTQpKSkucmVwbGFjZSgie3tqb2JJZH19Iiwiam9iXyIrTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsMTEpKS5yZXBsYWNlKCJ7e3Rhc2t9fSIsWyJjbGVhbnVwIiwiYmFja3VwIiwicmVwb3J0LWdlbmVyYXRpb24iLCJjYWNoZS1yZWZyZXNoIl1bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjQpXSkucmVwbGFjZSgie3tpcH19IixgMTkyLjE2OC4xLiR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjI1NSl9YCkucmVwbGFjZSgie3txdWVyeX19IiwiU0VMRUNUICogRlJPTSB1c2VycyBXSEVSRSAuLi4iKS5yZXBsYWNlKCJ7e3BlcmNlbnR9fSIsU3RyaW5nKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSozMCkrNzApKS5yZXBsYWNlKCJ7e2VuZHBvaW50fX0iLCIvYXBpL3YxL2xlZ2FjeSIpLnJlcGxhY2UoInt7ZGF5c319IixTdHJpbmcoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjMwKSsxKSkucmVwbGFjZSgie3tlcnJvcn19IixbIkVDT05OUkVGVVNFRCIsIkVUSU1FRE9VVCIsIkVOT1RGT1VORCJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSozKV0pLnJlcGxhY2UoInt7dXNlcn19IiwidXNlcl8iK01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxZTMpKS5yZXBsYWNlKCJ7e3NlcnZpY2V9fSIsWyJSZWRpcyIsIk1vbmdvREIiLCJFbGFzdGljU2VhcmNoIl1bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjMpXSkucmVwbGFjZSgie3twb3J0fX0iLFN0cmluZygzZTMrTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwKSkpLnJlcGxhY2UoInt7c2l6ZX19IixTdHJpbmcoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjUwMCkrMTAwKSk7ZS5hZGRMb2coayxOLEUpfSwiZ2VuZXJhdGVSYW5kb21Mb2ciKSx1PWkoKCk9PntsZXQgYj1sW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSpsLmxlbmd0aCldLG09bmV3IERhdGUoKS50b0lTT1N0cmluZygpLHk9Yi5yZXBsYWNlKC8yMDI0LTAxLTE1VDEwOjIzOlxkezJ9XC5cZHszfVovZyxtKS5yZXBsYWNlKCJ7e2pvYklkfX0iLFN0cmluZyhNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMWU0KSkpLnJlcGxhY2UoInt7dXNlcklkfX0iLFN0cmluZyhNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMWU0KSkpLnJlcGxhY2UoInt7aXB9fSIsYDE5Mi4xNjguMS4ke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyNTUpfWApLnJlcGxhY2UoInt7c2Vzc2lvbn19IixNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiwxMSkpO2Eud3JpdGVsblJhdyh5KX0sImdlbmVyYXRlRG9ja2VyTG9nIiksZj1pKCgpPT57aWYoIXIpe2xldCBiPWkoKCk9PntoKCk7bGV0IG09TWF0aC5yYW5kb20oKSoyZTMrNTAwO3I9d2luZG93LnNldFRpbWVvdXQoKCk9PntyJiZiKCl9LG0pfSwic2NoZWR1bGVOZXh0Iik7YigpfX0sInN0YXJ0U3RydWN0dXJlZFNpbXVsYXRpb24iKSxwPWkoKCk9PntyJiYod2luZG93LmNsZWFyVGltZW91dChyKSxyPW51bGwpfSwic3RvcFN0cnVjdHVyZWRTaW11bGF0aW9uIiksZz1pKCgpPT57aWYoIXMpe2xldCBiPWkoKCk9Pnt1KCk7bGV0IG09TWF0aC5yYW5kb20oKSoxZTMrMjAwO3M9d2luZG93LnNldFRpbWVvdXQoKCk9PntzJiZiKCl9LG0pfSwic2NoZWR1bGVOZXh0Iik7YigpfX0sInN0YXJ0UmF3U2ltdWxhdGlvbiIpLHY9aSgoKT0+e3MmJih3aW5kb3cuY2xlYXJUaW1lb3V0KHMpLHM9bnVsbCl9LCJzdG9wUmF3U2ltdWxhdGlvbiIpO3QucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKGI9Pntzd2l0Y2goYi50ZXh0Q29udGVudD8udHJpbSgpKXtjYXNlIkFkZCBTdHJ1Y3R1cmVkIExvZyI6Yi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PmgoKSk7YnJlYWs7Y2FzZSJTdGFydCBTdHJ1Y3R1cmVkIjpiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+ZigpKTticmVhaztjYXNlIlN0b3AgU3RydWN0dXJlZCI6Yi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PnAoKSk7YnJlYWs7Y2FzZSJBZGQgRG9ja2VyIExvZyI6Yi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PnUoKSk7YnJlYWs7Y2FzZSJTdGFydCBEb2NrZXIiOmIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5nKCkpO2JyZWFrO2Nhc2UiU3RvcCBEb2NrZXIiOmIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT52KCkpO2JyZWFrfX0pfX0+CiAgICAgIDxzdHlsZT4KICAgICAgICAke1hgCiAgICAgICAgICAuZGVtb0JveCB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSA1JSkiKX07CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIH0KICAgICAgICAgIC5zZWN0aW9uIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgfQogICAgICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICAgIH0KICAgICAgICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHsKICAgICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICAgIH0KICAgICAgICAgIC5jb250cm9scyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgICAgfQogICAgICAgIGB9CiAgICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJkZW1vQm94Ij4KICAgICAgPCEtLSBTdHJ1Y3R1cmVkIExvZ3MgU2VjdGlvbiAtLT4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+U3RydWN0dXJlZCBMb2dzIChJTG9nRW50cnkpPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBTdHJ1Y3R1cmVkIGxvZyBlbnRyaWVzIHdpdGggbGV2ZWwsIG1lc3NhZ2UsIGFuZCBzb3VyY2UuIFN1cHBvcnRzIHNlYXJjaCBhbmQga2V5d29yZCBoaWdobGlnaHRpbmcuCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMiPgogICAgICAgICAgPGRlZXMtYnV0dG9uPkFkZCBTdHJ1Y3R1cmVkIExvZzwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U3RhcnQgU3RydWN0dXJlZDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U3RvcCBTdHJ1Y3R1cmVkPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGVlcy1jaGFydC1sb2cKICAgICAgICAgIGlkPSJzdHJ1Y3R1cmVkLWxvZyIKICAgICAgICAgIC5sYWJlbD0keyJQcm9kdWN0aW9uIFNlcnZlciBMb2dzIn0KICAgICAgICAgIC5oaWdobGlnaHRLZXl3b3Jkcz0ke1siZXJyb3IiLCJmYWlsZWQiLCJ0aW1lb3V0Il19CiAgICAgICAgICAuc2hvd01ldHJpY3M9JHshMH0KICAgICAgICA+PC9kZWVzLWNoYXJ0LWxvZz4KICAgICAgPC9kaXY+CgogICAgICA8IS0tIFJhdyBMb2dzIFNlY3Rpb24gLS0+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlJhdyBMb2dzIChEb2NrZXIvQ29udGFpbmVyIFN0eWxlKTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPgogICAgICAgICAgUmF3IGxvZyBvdXRwdXQgd2l0aCBBTlNJIGVzY2FwZSBzZXF1ZW5jZXMgZm9yIHJlYWwgRG9ja2VyL2NvbnRhaW5lciBsb2dzLgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5BZGQgRG9ja2VyIExvZzwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U3RhcnQgRG9ja2VyPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TdG9wIERvY2tlcjwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRlZXMtY2hhcnQtbG9nCiAgICAgICAgICBpZD0icmF3LWxvZyIKICAgICAgICAgIC5sYWJlbD0keyJEb2NrZXIgQ29udGFpbmVyIExvZ3MifQogICAgICAgICAgLm1vZGU9JHsicmF3In0KICAgICAgICAgIC5zaG93TWV0cmljcz0keyExfQogICAgICAgID48L2RlZXMtY2hhcnQtbG9nPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGAsImRlbW9GdW5jIil9KTt2YXIgS2ksR2EsUVh0LEpYdD1jKCgpPT57cGUoKTtJdCgpO0tYdCgpO1hlKCk7cGwoKTtLaT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sR2E9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LFFYdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtY2hhcnQtbG9nIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W10sTiwkPVtdLEk9W10saixTPVtdLHo9W10sRCxUPVtdLEE9W10sVSxSPVtdLHE9W10sb2UsTz1bXSxyZT1bXTt2YXIgeWU9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNDaGFydExvZyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBCPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woKV0saD1bTCh7dHlwZTpTdHJpbmd9KV0scD1bTCh7dHlwZTpBcnJheX0pXSx4PVtMKHt0eXBlOkJvb2xlYW59KV0seT1bTCh7dHlwZTpOdW1iZXJ9KV0sRT1bTCh7dHlwZTpBcnJheX0pXSxOPVtMKHt0eXBlOkJvb2xlYW59KV0saj1bWigpXSxEPVtaKCldLFU9W1ooKV0sb2U9W1ooKV0sS2kodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShlZT0+ImxhYmVsImluIGVlLCJoYXMiKSxnZXQ6aShlZT0+ZWUubGFiZWwsImdldCIpLHNldDppKChlZSxDZSk9PntlZS5sYWJlbD1DZX0sInNldCIpfSxtZXRhZGF0YTpCfSxvLGwpLEtpKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW9kZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShlZT0+Im1vZGUiaW4gZWUsImhhcyIpLGdldDppKGVlPT5lZS5tb2RlLCJnZXQiKSxzZXQ6aSgoZWUsQ2UpPT57ZWUubW9kZT1DZX0sInNldCIpfSxtZXRhZGF0YTpCfSx1LGYpLEtpKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9nRW50cmllcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShlZT0+ImxvZ0VudHJpZXMiaW4gZWUsImhhcyIpLGdldDppKGVlPT5lZS5sb2dFbnRyaWVzLCJnZXQiKSxzZXQ6aSgoZWUsQ2UpPT57ZWUubG9nRW50cmllcz1DZX0sInNldCIpfSxtZXRhZGF0YTpCfSxnLHYpLEtpKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXV0b1Njcm9sbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShlZT0+ImF1dG9TY3JvbGwiaW4gZWUsImhhcyIpLGdldDppKGVlPT5lZS5hdXRvU2Nyb2xsLCJnZXQiKSxzZXQ6aSgoZWUsQ2UpPT57ZWUuYXV0b1Njcm9sbD1DZX0sInNldCIpfSxtZXRhZGF0YTpCfSxiLG0pLEtpKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4RW50cmllcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShlZT0+Im1heEVudHJpZXMiaW4gZWUsImhhcyIpLGdldDppKGVlPT5lZS5tYXhFbnRyaWVzLCJnZXQiKSxzZXQ6aSgoZWUsQ2UpPT57ZWUubWF4RW50cmllcz1DZX0sInNldCIpfSxtZXRhZGF0YTpCfSxNLGspLEtpKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGlnaGxpZ2h0S2V5d29yZHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZWU9PiJoaWdobGlnaHRLZXl3b3JkcyJpbiBlZSwiaGFzIiksZ2V0OmkoZWU9PmVlLmhpZ2hsaWdodEtleXdvcmRzLCJnZXQiKSxzZXQ6aSgoZWUsQ2UpPT57ZWUuaGlnaGxpZ2h0S2V5d29yZHM9Q2V9LCJzZXQiKX0sbWV0YWRhdGE6Qn0sXyxDKSxLaSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dNZXRyaWNzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGVlPT4ic2hvd01ldHJpY3MiaW4gZWUsImhhcyIpLGdldDppKGVlPT5lZS5zaG93TWV0cmljcywiZ2V0Iiksc2V0OmkoKGVlLENlKT0+e2VlLnNob3dNZXRyaWNzPUNlfSwic2V0Iil9LG1ldGFkYXRhOkJ9LCQsSSksS2kodGhpcyxudWxsLGose2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWFyY2hRdWVyeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShlZT0+InNlYXJjaFF1ZXJ5ImluIGVlLCJoYXMiKSxnZXQ6aShlZT0+ZWUuc2VhcmNoUXVlcnksImdldCIpLHNldDppKChlZSxDZSk9PntlZS5zZWFyY2hRdWVyeT1DZX0sInNldCIpfSxtZXRhZGF0YTpCfSxTLHopLEtpKHRoaXMsbnVsbCxELHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsdGVyTW9kZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShlZT0+ImZpbHRlck1vZGUiaW4gZWUsImhhcyIpLGdldDppKGVlPT5lZS5maWx0ZXJNb2RlLCJnZXQiKSxzZXQ6aSgoZWUsQ2UpPT57ZWUuZmlsdGVyTW9kZT1DZX0sInNldCIpfSxtZXRhZGF0YTpCfSxULEEpLEtpKHRoaXMsbnVsbCxVLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWV0cmljcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShlZT0+Im1ldHJpY3MiaW4gZWUsImhhcyIpLGdldDppKGVlPT5lZS5tZXRyaWNzLCJnZXQiKSxzZXQ6aSgoZWUsQ2UpPT57ZWUubWV0cmljcz1DZX0sInNldCIpfSxtZXRhZGF0YTpCfSxSLHEpLEtpKHRoaXMsbnVsbCxvZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRlcm1pbmFsUmVhZHkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZWU9PiJ0ZXJtaW5hbFJlYWR5ImluIGVlLCJoYXMiKSxnZXQ6aShlZT0+ZWUudGVybWluYWxSZWFkeSwiZ2V0Iiksc2V0OmkoKGVlLENlKT0+e2VlLnRlcm1pbmFsUmVhZHk9Q2V9LCJzZXQiKX0sbWV0YWRhdGE6Qn0sTyxyZSksS2kobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Qn0sbnVsbCxhKSx5ZT1yPWUudmFsdWUsQiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpCfSl9c3RhdGljIGRlbW89WFh0O3N0YXRpYyBkZW1vR3JvdXBzPVsiQ2hhcnQiLCJXb3Jrc3BhY2UiXTsjZT1HYSh0aGlzLG8sIlNlcnZlciBMb2dzIik7Z2V0IGxhYmVsKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGxhYmVsKEIpe3RoaXMuI2U9Qn0jdD0oR2EodGhpcyxsKSxHYSh0aGlzLHUsInN0cnVjdHVyZWQiKSk7Z2V0IG1vZGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbW9kZShCKXt0aGlzLiN0PUJ9I2E9KEdhKHRoaXMsZiksR2EodGhpcyxnLFtdKSk7Z2V0IGxvZ0VudHJpZXMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbG9nRW50cmllcyhCKXt0aGlzLiNhPUJ9I3I9KEdhKHRoaXMsdiksR2EodGhpcyxiLCEwKSk7Z2V0IGF1dG9TY3JvbGwoKXtyZXR1cm4gdGhpcy4jcn1zZXQgYXV0b1Njcm9sbChCKXt0aGlzLiNyPUJ9I2k9KEdhKHRoaXMsbSksR2EodGhpcyxNLDFlNCkpO2dldCBtYXhFbnRyaWVzKCl7cmV0dXJuIHRoaXMuI2l9c2V0IG1heEVudHJpZXMoQil7dGhpcy4jaT1CfSNzPShHYSh0aGlzLGspLEdhKHRoaXMsXyxbXSkpO2dldCBoaWdobGlnaHRLZXl3b3Jkcygpe3JldHVybiB0aGlzLiNzfXNldCBoaWdobGlnaHRLZXl3b3JkcyhCKXt0aGlzLiNzPUJ9I289KEdhKHRoaXMsQyksR2EodGhpcywkLCEwKSk7Z2V0IHNob3dNZXRyaWNzKCl7cmV0dXJuIHRoaXMuI299c2V0IHNob3dNZXRyaWNzKEIpe3RoaXMuI289Qn0jbj0oR2EodGhpcyxJKSxHYSh0aGlzLFMsIiIpKTtnZXQgc2VhcmNoUXVlcnkoKXtyZXR1cm4gdGhpcy4jbn1zZXQgc2VhcmNoUXVlcnkoQil7dGhpcy4jbj1CfSNsPShHYSh0aGlzLHopLEdhKHRoaXMsVCwhMSkpO2dldCBmaWx0ZXJNb2RlKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGZpbHRlck1vZGUoQil7dGhpcy4jbD1CfSNjPShHYSh0aGlzLEEpLEdhKHRoaXMsUix7ZGVidWc6MCxpbmZvOjAsd2FybjowLGVycm9yOjAsc3VjY2VzczowLHRvdGFsOjAscmF0ZTowfSkpO2dldCBtZXRyaWNzKCl7cmV0dXJuIHRoaXMuI2N9c2V0IG1ldHJpY3MoQil7dGhpcy4jYz1CfSNkPShHYSh0aGlzLHEpLEdhKHRoaXMsTywhMSkpO2dldCB0ZXJtaW5hbFJlYWR5KCl7cmV0dXJuIHRoaXMuI2R9c2V0IHRlcm1pbmFsUmVhZHkoQil7dGhpcy4jZD1CfWxvZ0J1ZmZlcj0oR2EodGhpcyxyZSksW10pO3RyYWlsaW5nSGlkZGVuQ291bnQ9MDt0ZXJtaW5hbD1udWxsO2ZpdEFkZG9uPW51bGw7c2VhcmNoQWRkb249bnVsbDtyZXNpemVPYnNlcnZlcj1udWxsO3Rlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb249bnVsbDtkb210b29sc0luc3RhbmNlPW51bGw7cmF0ZUJ1ZmZlcj1bXTtyYXRlSW50ZXJ2YWw9bnVsbDtzdGF0aWMgc3R5bGVzPVtEZSxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIHNhbnMtc2VyaWY7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAzLjklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgIH0KCiAgICAgIC5tYWluYm94IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiA0MDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk3JSkiLCJoc2woMCAwJSA3JSkiKX07CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtYm94IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDE1MHB4OwogICAgICAgIG1heC13aWR0aDogMzAwcHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtYm94IGlucHV0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1ib3ggaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICB9CgogICAgICAuc2VhcmNoLWJveCBpbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICB9CgogICAgICAuc2VhcmNoLW5hdiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLnNlYXJjaC1uYXYgYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA0cHggNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICB9CgogICAgICAuc2VhcmNoLW5hdiBidXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAyMCUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkzLjklKSIpfTsKICAgICAgfQoKICAgICAgLmZpbHRlci10b2dnbGUgewogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmZpbHRlci10b2dnbGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAyMCUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkzLjklKSIpfTsKICAgICAgfQoKICAgICAgLmZpbHRlci10b2dnbGUuYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDQ1IDkzJSA0NyUpIiwiaHNsKDQ1IDkzJSA0NyUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCg0NSA5MyUgNDclKSIsImhzbCg0NSA5MyUgNDclKSIpfTsKICAgICAgICBjb2xvcjogaHNsKDAgMCUgOSUpOwogICAgICB9CgogICAgICAuY29udHJvbHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgIH0KCiAgICAgIC5jb250cm9sLWJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7CiAgICAgIH0KCiAgICAgIC5jb250cm9sLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMjUlKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5jb250cm9sLWJ1dHRvbi5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1jb250YWluZXIgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1jb250YWluZXIgLnh0ZXJtIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5sb2FkaW5nLXN0YXRlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgIC5tZXRyaWNzLWJhciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk3JSkiLCJoc2woMCAwJSA3JSkiKX07CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLm1ldHJpYzo6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgfQoKICAgICAgLm1ldHJpYy5lcnJvcjo6YmVmb3JlIHsKICAgICAgICBiYWNrZ3JvdW5kOiBoc2woMCA4NC4yJSA2MC4yJSk7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMud2Fybjo6YmVmb3JlIHsKICAgICAgICBiYWNrZ3JvdW5kOiBoc2woMjUgOTUlIDUzJSk7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMuaW5mbzo6YmVmb3JlIHsKICAgICAgICBiYWNrZ3JvdW5kOiBoc2woMjIyLjIgNDcuNCUgNTEuMiUpOwogICAgICB9CgogICAgICAubWV0cmljLnN1Y2Nlc3M6OmJlZm9yZSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKTsKICAgICAgfQoKICAgICAgLm1ldHJpYy5kZWJ1Zzo6YmVmb3JlIHsKICAgICAgICBiYWNrZ3JvdW5kOiBoc2woMCAwJSA2My45JSk7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMucmF0ZSB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5tZXRyaWMucmF0ZTo6YmVmb3JlIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CiAgICBgXTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksSWEuc2V0dXAoKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibWFpbmJveCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj4ke3RoaXMubGFiZWx9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtYm94Ij4KICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iU2VhcmNoIGxvZ3MuLi4iCiAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5zZWFyY2hRdWVyeX0KICAgICAgICAgICAgICBAaW5wdXQ9JHtCPT50aGlzLmhhbmRsZVNlYXJjaElucHV0KEIpfQogICAgICAgICAgICAgIEBrZXlkb3duPSR7Qj0+dGhpcy5oYW5kbGVTZWFyY2hLZXlkb3duKEIpfQogICAgICAgICAgICAvPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtbmF2Ij4KICAgICAgICAgICAgICA8YnV0dG9uIEBjbGljaz0keygpPT50aGlzLnNlYXJjaFByZXZpb3VzKCl9IHRpdGxlPSJQcmV2aW91cyBtYXRjaCI+4oaRPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbiBAY2xpY2s9JHsoKT0+dGhpcy5zZWFyY2hOZXh0KCl9IHRpdGxlPSJOZXh0IG1hdGNoIj7ihpM8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICBjbGFzcz0iZmlsdGVyLXRvZ2dsZSAke3RoaXMuZmlsdGVyTW9kZT8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMudG9nZ2xlRmlsdGVyTW9kZSgpfQogICAgICAgICAgICAgIHRpdGxlPSIke3RoaXMuZmlsdGVyTW9kZT8iU3dpdGNoIHRvIGhpZ2hsaWdodCBtb2RlIjoiU3dpdGNoIHRvIGZpbHRlciBtb2RlIn0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICAke3RoaXMuZmlsdGVyTW9kZT8iRmlsdGVyIjoiSGlnaGxpZ2h0In0KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgIGNsYXNzPSJjb250cm9sLWJ1dHRvbiAke3RoaXMuYXV0b1Njcm9sbD8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMudG9nZ2xlQXV0b1Njcm9sbCgpfQogICAgICAgICAgICA+CiAgICAgICAgICAgICAgQXV0byBTY3JvbGwKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNvbnRyb2wtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jbGVhckxvZ3MoKX0+CiAgICAgICAgICAgICAgQ2xlYXIKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0idGVybWluYWwtY29udGFpbmVyIj4KICAgICAgICAgICR7dGhpcy50ZXJtaW5hbFJlYWR5PyIiOndgPGRpdiBjbGFzcz0ibG9hZGluZy1zdGF0ZSI+TG9hZGluZyB0ZXJtaW5hbC4uLjwvZGl2PmB9CiAgICAgICAgPC9kaXY+CgogICAgICAgICR7dGhpcy5zaG93TWV0cmljcz93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpY3MtYmFyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMgZXJyb3IiPmVycm9yczogJHt0aGlzLm1ldHJpY3MuZXJyb3J9PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYyB3YXJuIj53YXJuczogJHt0aGlzLm1ldHJpY3Mud2Fybn08L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljIGluZm8iPmluZm86ICR7dGhpcy5tZXRyaWNzLmluZm99PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYyBzdWNjZXNzIj5zdWNjZXNzOiAke3RoaXMubWV0cmljcy5zdWNjZXNzfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMgZGVidWciPmRlYnVnOiAke3RoaXMubWV0cmljcy5kZWJ1Z308L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljIHJhdGUiPiR7dGhpcy5tZXRyaWNzLnJhdGUudG9GaXhlZCgxKX0gbG9ncy9zZWM8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXtpZih0aGlzLmRvbXRvb2xzSW5zdGFuY2U9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UsYXdhaXQgdGhpcy5pbml0aWFsaXplVGVybWluYWwoKSx0aGlzLmxvZ0VudHJpZXMubGVuZ3RoPjAmJnRoaXMubG9nQnVmZmVyLmxlbmd0aD09PTApe3RoaXMubG9nQnVmZmVyPVsuLi50aGlzLmxvZ0VudHJpZXNdO2ZvcihsZXQgQiBvZiB0aGlzLmxvZ0VudHJpZXMpdGhpcy51cGRhdGVNZXRyaWNzKEIubGV2ZWwpLHRoaXMud3JpdGVMb2dFbnRyeShCKX1lbHNlIGlmKHRoaXMubG9nRW50cmllcy5sZW5ndGg+MCYmdGhpcy5sb2dCdWZmZXIubGVuZ3RoPjApe2xldCBCPW5ldyBTZXQodGhpcy5sb2dCdWZmZXIubWFwKGVlPT5gJHtlZS50aW1lc3RhbXB9fCR7ZWUubWVzc2FnZX1gKSk7Zm9yKGxldCBlZSBvZiB0aGlzLmxvZ0VudHJpZXMpQi5oYXMoYCR7ZWUudGltZXN0YW1wfXwke2VlLm1lc3NhZ2V9YCl8fCh0aGlzLmxvZ0J1ZmZlci5wdXNoKGVlKSx0aGlzLnVwZGF0ZU1ldHJpY3MoZWUubGV2ZWwpLHRoaXMud3JpdGVMb2dFbnRyeShlZSkpfX1hc3luYyBpbml0aWFsaXplVGVybWluYWwoKXtsZXQgQj1yci5nZXRJbnN0YW5jZSgpLFtlZSxDZSxZXT1hd2FpdCBQcm9taXNlLmFsbChbQi5sb2FkWHRlcm0oKSxCLmxvYWRYdGVybUZpdEFkZG9uKCksQi5sb2FkWHRlcm1TZWFyY2hBZGRvbigpXSk7YXdhaXQgdGhpcy5pbmplY3RYdGVybVN0eWxlc0ludG9TaGFkb3coKSx0aGlzLnRlcm1pbmFsPW5ldyBlZS5UZXJtaW5hbCh7Y3Vyc29yQmxpbms6ITEsZGlzYWJsZVN0ZGluOiEwLGZvbnRTaXplOjEyLGZvbnRGYW1pbHk6IidTRiBNb25vJywgJ01vbmFjbycsICdDb25zb2xhcycsICdMaWJlcmF0aW9uIE1vbm8nLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2UiLHRoZW1lOnRoaXMuZ2V0VGVybWluYWxUaGVtZSgpLHNjcm9sbGJhY2s6dGhpcy5tYXhFbnRyaWVzLGNvbnZlcnRFb2w6ITB9KSx0aGlzLmZpdEFkZG9uPW5ldyBDZS5GaXRBZGRvbix0aGlzLnNlYXJjaEFkZG9uPW5ldyBZLlNlYXJjaEFkZG9uLHRoaXMudGVybWluYWwubG9hZEFkZG9uKHRoaXMuZml0QWRkb24pLHRoaXMudGVybWluYWwubG9hZEFkZG9uKHRoaXMuc2VhcmNoQWRkb24pO2xldCBQPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIudGVybWluYWwtY29udGFpbmVyIik7dGhpcy50ZXJtaW5hbC5vcGVuKFApLGF3YWl0IG5ldyBQcm9taXNlKEg9PnJlcXVlc3RBbmltYXRpb25GcmFtZShIKSksdGhpcy5maXRBZGRvbi5maXQoKSx0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMuZml0QWRkb24/LmZpdCgpfSksdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKFApLHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbj10aGlzLmRvbXRvb2xzSW5zdGFuY2UudGhlbWVNYW5hZ2VyLnRoZW1lT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKCk9Pnt0aGlzLnRlcm1pbmFsJiYodGhpcy50ZXJtaW5hbC5vcHRpb25zLnRoZW1lPXRoaXMuZ2V0VGVybWluYWxUaGVtZSgpKX0pLHRoaXMucmF0ZUludGVydmFsPXNldEludGVydmFsKCgpPT50aGlzLmNhbGN1bGF0ZVJhdGUoKSwxZTMpLHRoaXMudGVybWluYWxSZWFkeT0hMDtmb3IobGV0IEggb2YgdGhpcy5sb2dCdWZmZXIpdGhpcy53cml0ZUxvZ0VudHJ5KEgpfXVwZGF0ZWQoQil7aWYoc3VwZXIudXBkYXRlZChCKSxCLmhhcygibG9nRW50cmllcyIpJiZ0aGlzLnRlcm1pbmFsUmVhZHkmJnRoaXMubG9nRW50cmllcy5sZW5ndGg+MCl7bGV0IGVlPUIuZ2V0KCJsb2dFbnRyaWVzIil8fFtdLENlPXRoaXMubG9nRW50cmllcztpZihlZS5sZW5ndGg9PT1DZS5sZW5ndGgmJmVlLmxlbmd0aD4wJiZlZVtlZS5sZW5ndGgtMV0udGltZXN0YW1wPT09Q2VbQ2UubGVuZ3RoLTFdLnRpbWVzdGFtcCYmZWVbZWUubGVuZ3RoLTFdLm1lc3NhZ2U9PT1DZVtDZS5sZW5ndGgtMV0ubWVzc2FnZSlyZXR1cm47aWYoQ2UubGVuZ3RoPmVlLmxlbmd0aCYmZWUubGVuZ3RoPjAmJmVlW2VlLmxlbmd0aC0xXS50aW1lc3RhbXA9PT1DZVtlZS5sZW5ndGgtMV0udGltZXN0YW1wJiZlZVtlZS5sZW5ndGgtMV0ubWVzc2FnZT09PUNlW2VlLmxlbmd0aC0xXS5tZXNzYWdlKXtsZXQgWT1DZS5zbGljZShlZS5sZW5ndGgpO2ZvcihsZXQgUCBvZiBZKXRoaXMubG9nQnVmZmVyLnB1c2goUCksdGhpcy51cGRhdGVNZXRyaWNzKFAubGV2ZWwpLHRoaXMubG9nQnVmZmVyLmxlbmd0aD50aGlzLm1heEVudHJpZXMmJnRoaXMubG9nQnVmZmVyLnNoaWZ0KCksKCF0aGlzLmZpbHRlck1vZGV8fCF0aGlzLnNlYXJjaFF1ZXJ5fHx0aGlzLmVudHJ5TWF0Y2hlc0ZpbHRlcihQKSkmJnRoaXMud3JpdGVMb2dFbnRyeShQKTtyZXR1cm59dGhpcy5sb2dCdWZmZXI9Wy4uLkNlXSx0aGlzLnJlUmVuZGVyRmlsdGVyZWRMb2dzKCl9fWdldFRlcm1pbmFsVGhlbWUoKXtyZXR1cm4gdGhpcy5kb210b29sc0luc3RhbmNlPy50aGVtZU1hbmFnZXI/LmlzRGFya01vZGU/PyEwP3tiYWNrZ3JvdW5kOiIjMGEwYTBhIixmb3JlZ3JvdW5kOiIjZTBlMGUwIixjdXJzb3I6IiNlMGUwZTAiLHNlbGVjdGlvbkJhY2tncm91bmQ6IiM0MDQwNDAiLGJsYWNrOiIjMDAwMDAwIixyZWQ6IiNmZjU1NTUiLGdyZWVuOiIjNTBmYTdiIix5ZWxsb3c6IiNmMWZhOGMiLGJsdWU6IiM2MjcyYTQiLG1hZ2VudGE6IiNmZjc5YzYiLGN5YW46IiM4YmU5ZmQiLHdoaXRlOiIjZjhmOGYyIixicmlnaHRCbGFjazoiIzYyNzJhNCIsYnJpZ2h0UmVkOiIjZmY2ZTZlIixicmlnaHRHcmVlbjoiIzY5ZmY5NCIsYnJpZ2h0WWVsbG93OiIjZmZmZmE1IixicmlnaHRCbHVlOiIjZDZhY2ZmIixicmlnaHRNYWdlbnRhOiIjZmY5MmRmIixicmlnaHRDeWFuOiIjYTRmZmZmIixicmlnaHRXaGl0ZToiI2ZmZmZmZiJ9OntiYWNrZ3JvdW5kOiIjZmZmZmZmIixmb3JlZ3JvdW5kOiIjMzMzMzMzIixjdXJzb3I6IiMzMzMzMzMiLHNlbGVjdGlvbkJhY2tncm91bmQ6IiNhZGQ2ZmYiLGJsYWNrOiIjMDAwMDAwIixyZWQ6IiNjZDMxMzEiLGdyZWVuOiIjMDBiYzAwIix5ZWxsb3c6IiM5NDk4MDAiLGJsdWU6IiMwNDUxYTUiLG1hZ2VudGE6IiNiYzA1YmMiLGN5YW46IiMwNTk4YmMiLHdoaXRlOiIjNTU1NTU1IixicmlnaHRCbGFjazoiIzY2NjY2NiIsYnJpZ2h0UmVkOiIjY2QzMTMxIixicmlnaHRHcmVlbjoiIzE0Y2UxNCIsYnJpZ2h0WWVsbG93OiIjYjViYTAwIixicmlnaHRCbHVlOiIjMDQ1MWE1IixicmlnaHRNYWdlbnRhOiIjYmMwNWJjIixicmlnaHRDeWFuOiIjMDU5OGJjIixicmlnaHRXaGl0ZToiI2E1YTVhNSJ9fWFzeW5jIGluamVjdFh0ZXJtU3R5bGVzSW50b1NoYWRvdygpe2xldCBCPSJ4dGVybS1zaGFkb3ctc3R5bGVzIjtpZih0aGlzLnNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoQikpcmV0dXJuO2xldCBlZT1gJHtDcn0veHRlcm1AJHtBcy54dGVybX0vY3NzL3h0ZXJtLmNzc2AsWT1hd2FpdChhd2FpdCBmZXRjaChlZSkpLnRleHQoKSxQPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7UC5pZD1CLFAudGV4dENvbnRlbnQ9WSx0aGlzLnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoUCl9YWRkTG9nKEIsZWUsQ2Upe2xldCBZPXt0aW1lc3RhbXA6bmV3IERhdGUoKS50b0lTT1N0cmluZygpLGxldmVsOkIsbWVzc2FnZTplZSxzb3VyY2U6Q2V9O3RoaXMubG9nQnVmZmVyLnB1c2goWSksdGhpcy5sb2dCdWZmZXIubGVuZ3RoPnRoaXMubWF4RW50cmllcyYmdGhpcy5sb2dCdWZmZXIuc2hpZnQoKSwhdGhpcy5maWx0ZXJNb2RlfHwhdGhpcy5zZWFyY2hRdWVyeT90aGlzLndyaXRlTG9nRW50cnkoWSk6dGhpcy5lbnRyeU1hdGNoZXNGaWx0ZXIoWSk/KHRoaXMudHJhaWxpbmdIaWRkZW5Db3VudD0wLHRoaXMud3JpdGVMb2dFbnRyeShZKSk6dGhpcy51cGRhdGVUcmFpbGluZ1BsYWNlaG9sZGVyKCksdGhpcy51cGRhdGVNZXRyaWNzKFkubGV2ZWwpfXVwZGF0ZUxvZyhCKXtpZihCKWZvcihsZXQgZWUgb2YgQil0aGlzLmxvZ0J1ZmZlci5wdXNoKGVlKSx0aGlzLmxvZ0J1ZmZlci5sZW5ndGg+dGhpcy5tYXhFbnRyaWVzJiZ0aGlzLmxvZ0J1ZmZlci5zaGlmdCgpLCF0aGlzLmZpbHRlck1vZGV8fCF0aGlzLnNlYXJjaFF1ZXJ5P3RoaXMud3JpdGVMb2dFbnRyeShlZSk6dGhpcy5lbnRyeU1hdGNoZXNGaWx0ZXIoZWUpPyh0aGlzLnRyYWlsaW5nSGlkZGVuQ291bnQ9MCx0aGlzLndyaXRlTG9nRW50cnkoZWUpKTp0aGlzLnVwZGF0ZVRyYWlsaW5nUGxhY2Vob2xkZXIoKSx0aGlzLnVwZGF0ZU1ldHJpY3MoZWUubGV2ZWwpfXVwZGF0ZVRyYWlsaW5nUGxhY2Vob2xkZXIoKXt0aGlzLnRlcm1pbmFsJiYodGhpcy50cmFpbGluZ0hpZGRlbkNvdW50PjAmJnRoaXMudGVybWluYWwud3JpdGUoIlx4MUJbMUFceDFCWzJLXHIiKSx0aGlzLnRyYWlsaW5nSGlkZGVuQ291bnQrKyx0aGlzLndyaXRlSGlkZGVuUGxhY2Vob2xkZXIodGhpcy50cmFpbGluZ0hpZGRlbkNvdW50KSx0aGlzLmF1dG9TY3JvbGwmJnRoaXMudGVybWluYWwuc2Nyb2xsVG9Cb3R0b20oKSl9ZW50cnlNYXRjaGVzRmlsdGVyKEIpe2lmKCF0aGlzLnNlYXJjaFF1ZXJ5KXJldHVybiEwO2xldCBlZT10aGlzLnNlYXJjaFF1ZXJ5LnRvTG93ZXJDYXNlKCk7cmV0dXJuIEIubWVzc2FnZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGVlKXx8Qi5sZXZlbC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGVlKXx8KEIuc291cmNlPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGVlKT8/ITEpfXdyaXRlTG9nRW50cnkoQil7aWYoIXRoaXMudGVybWluYWwpcmV0dXJuO2xldCBlZT10aGlzLmZvcm1hdExvZ0VudHJ5KEIpO3RoaXMudGVybWluYWwud3JpdGVsbihlZSksdGhpcy5hdXRvU2Nyb2xsJiZ0aGlzLnRlcm1pbmFsLnNjcm9sbFRvQm90dG9tKCl9Zm9ybWF0TG9nRW50cnkoQil7bGV0IGVlPXRoaXMuZm9ybWF0VGltZXN0YW1wKEIudGltZXN0YW1wKSxDZT17ZGVidWc6Ilx4MUJbOTBtIixpbmZvOiJceDFCWzM2bSIsd2FybjoiXHgxQlszM20iLGVycm9yOiJceDFCWzMxbSIsc3VjY2VzczoiXHgxQlszMm0ifSxZPSJceDFCWzBtIixQPSJceDFCWzJtIixIPWAke0NlW0IubGV2ZWxdfVske0IubGV2ZWwudG9VcHBlckNhc2UoKS5wYWRFbmQoNyl9XSR7WX1gLEc9Qi5zb3VyY2U/YCR7UH1bJHtCLnNvdXJjZX1dJHtZfSBgOiIiLFc9dGhpcy5hcHBseUhpZ2hsaWdodHMoQi5tZXNzYWdlKTtyZXR1cm5gJHtQfSR7ZWV9JHtZfSAke0h9ICR7R30ke1d9YH1mb3JtYXRUaW1lc3RhbXAoQil7cmV0dXJuIG5ldyBEYXRlKEIpLnRvTG9jYWxlVGltZVN0cmluZygiZW4tVVMiLHtob3VyMTI6ITEsaG91cjoiMi1kaWdpdCIsbWludXRlOiIyLWRpZ2l0IixzZWNvbmQ6IjItZGlnaXQiLGZyYWN0aW9uYWxTZWNvbmREaWdpdHM6M30pfWFwcGx5SGlnaGxpZ2h0cyhCKXtsZXQgZWU9Wy4uLnRoaXMuaGlnaGxpZ2h0S2V5d29yZHNdO2lmKHRoaXMuZmlsdGVyTW9kZSYmdGhpcy5zZWFyY2hRdWVyeSYmZWUucHVzaCh0aGlzLnNlYXJjaFF1ZXJ5KSxlZS5sZW5ndGg9PT0wKXJldHVybiBCO2xldCBDZT1CO2ZvcihsZXQgWSBvZiBlZSl7bGV0IFA9WS5yZXBsYWNlKC9bLiorP14ke30oKXxbXF1cXF0vZywiXFwkJiIpLEg9bmV3IFJlZ0V4cChgKCR7UH0pYCwiZ2kiKTtDZT1DZS5yZXBsYWNlKEgsIlx4MUJbNDNtXHgxQlszMG0kMVx4MUJbMG0iKX1yZXR1cm4gQ2V9d3JpdGVSYXcoQil7dGhpcy50ZXJtaW5hbCYmKHRoaXMudGVybWluYWwud3JpdGUoQiksdGhpcy5yZWNvcmRMb2dFdmVudCgpLHRoaXMuYXV0b1Njcm9sbCYmdGhpcy50ZXJtaW5hbC5zY3JvbGxUb0JvdHRvbSgpKX13cml0ZWxuUmF3KEIpe3RoaXMudGVybWluYWwmJih0aGlzLnRlcm1pbmFsLndyaXRlbG4oQiksdGhpcy5yZWNvcmRMb2dFdmVudCgpLHRoaXMuYXV0b1Njcm9sbCYmdGhpcy50ZXJtaW5hbC5zY3JvbGxUb0JvdHRvbSgpKX1oYW5kbGVTZWFyY2hJbnB1dChCKXtsZXQgQ2U9Qi50YXJnZXQudmFsdWUsWT10aGlzLnNlYXJjaFF1ZXJ5IT09Q2U7dGhpcy5zZWFyY2hRdWVyeT1DZSx0aGlzLmZpbHRlck1vZGUmJlk/dGhpcy5yZVJlbmRlckZpbHRlcmVkTG9ncygpOnRoaXMuc2VhcmNoUXVlcnkmJnRoaXMuc2VhcmNoQWRkb24/LmZpbmROZXh0KHRoaXMuc2VhcmNoUXVlcnkpfWhhbmRsZVNlYXJjaEtleWRvd24oQil7Qi5rZXk9PT0iRW50ZXIiP0Iuc2hpZnRLZXk/dGhpcy5zZWFyY2hQcmV2aW91cygpOnRoaXMuc2VhcmNoTmV4dCgpOkIua2V5PT09IkVzY2FwZSImJih0aGlzLnNlYXJjaFF1ZXJ5PSIiLEIudGFyZ2V0LnZhbHVlPSIiKX1zZWFyY2goQil7dGhpcy5zZWFyY2hRdWVyeT1CLHRoaXMuc2VhcmNoQWRkb24/LmZpbmROZXh0KEIpfXNlYXJjaE5leHQoKXt0aGlzLnNlYXJjaFF1ZXJ5JiZ0aGlzLnNlYXJjaEFkZG9uPy5maW5kTmV4dCh0aGlzLnNlYXJjaFF1ZXJ5KX1zZWFyY2hQcmV2aW91cygpe3RoaXMuc2VhcmNoUXVlcnkmJnRoaXMuc2VhcmNoQWRkb24/LmZpbmRQcmV2aW91cyh0aGlzLnNlYXJjaFF1ZXJ5KX10b2dnbGVBdXRvU2Nyb2xsKCl7dGhpcy5hdXRvU2Nyb2xsPSF0aGlzLmF1dG9TY3JvbGwsdGhpcy5hdXRvU2Nyb2xsJiZ0aGlzLnRlcm1pbmFsJiZ0aGlzLnRlcm1pbmFsLnNjcm9sbFRvQm90dG9tKCl9dG9nZ2xlRmlsdGVyTW9kZSgpe3RoaXMuZmlsdGVyTW9kZT0hdGhpcy5maWx0ZXJNb2RlLHRoaXMucmVSZW5kZXJGaWx0ZXJlZExvZ3MoKX1yZVJlbmRlckZpbHRlcmVkTG9ncygpe2lmKHRoaXMudGVybWluYWwpe2lmKHRoaXMudGVybWluYWwuY2xlYXIoKSx0aGlzLnRyYWlsaW5nSGlkZGVuQ291bnQ9MCwhdGhpcy5maWx0ZXJNb2RlfHwhdGhpcy5zZWFyY2hRdWVyeSlmb3IobGV0IEIgb2YgdGhpcy5sb2dCdWZmZXIpe2xldCBlZT10aGlzLmZvcm1hdExvZ0VudHJ5KEIpO3RoaXMudGVybWluYWwud3JpdGVsbihlZSl9ZWxzZXtsZXQgQj0wO2ZvcihsZXQgZWUgb2YgdGhpcy5sb2dCdWZmZXIpaWYodGhpcy5lbnRyeU1hdGNoZXNGaWx0ZXIoZWUpKXtCPjAmJih0aGlzLndyaXRlSGlkZGVuUGxhY2Vob2xkZXIoQiksQj0wKTtsZXQgQ2U9dGhpcy5mb3JtYXRMb2dFbnRyeShlZSk7dGhpcy50ZXJtaW5hbC53cml0ZWxuKENlKX1lbHNlIEIrKztCPjAmJih0aGlzLndyaXRlSGlkZGVuUGxhY2Vob2xkZXIoQiksdGhpcy50cmFpbGluZ0hpZGRlbkNvdW50PUIpfXRoaXMuYXV0b1Njcm9sbCYmdGhpcy50ZXJtaW5hbC5zY3JvbGxUb0JvdHRvbSgpfX13cml0ZUhpZGRlblBsYWNlaG9sZGVyKEIpe2xldCBlZT0iXHgxQlsybSIsQ2U9Ilx4MUJbMG0iLFk9Qj09PTE/IlsxIGxvZyBsaW5lIGhpZGRlbiBieSBmaWx0ZXIgLi4uXSI6YFske0J9IGxvZyBsaW5lcyBoaWRkZW4gYnkgZmlsdGVyIC4uLl1gO3RoaXMudGVybWluYWw/LndyaXRlbG4oYCR7ZWV9JHtZfSR7Q2V9YCl9Y2xlYXJMb2dzKCl7dGhpcy50ZXJtaW5hbD8uY2xlYXIoKSx0aGlzLmxvZ0J1ZmZlcj1bXSx0aGlzLnRyYWlsaW5nSGlkZGVuQ291bnQ9MCx0aGlzLnJlc2V0TWV0cmljcygpfXNjcm9sbFRvQm90dG9tKCl7dGhpcy50ZXJtaW5hbD8uc2Nyb2xsVG9Cb3R0b20oKX11cGRhdGVNZXRyaWNzKEIpe3RoaXMubWV0cmljcz17Li4udGhpcy5tZXRyaWNzLFtCXTp0aGlzLm1ldHJpY3NbQl0rMSx0b3RhbDp0aGlzLm1ldHJpY3MudG90YWwrMX0sdGhpcy5yZWNvcmRMb2dFdmVudCgpfXJlY29yZExvZ0V2ZW50KCl7dGhpcy5yYXRlQnVmZmVyLnB1c2goRGF0ZS5ub3coKSl9Y2FsY3VsYXRlUmF0ZSgpe2xldCBCPURhdGUubm93KCk7dGhpcy5yYXRlQnVmZmVyPXRoaXMucmF0ZUJ1ZmZlci5maWx0ZXIoQ2U9PkItQ2U8MWU0KTtsZXQgZWU9dGhpcy5yYXRlQnVmZmVyLmxlbmd0aC8xMDtlZSE9PXRoaXMubWV0cmljcy5yYXRlJiYodGhpcy5tZXRyaWNzPXsuLi50aGlzLm1ldHJpY3MscmF0ZTplZX0pfXJlc2V0TWV0cmljcygpe3RoaXMubWV0cmljcz17ZGVidWc6MCxpbmZvOjAsd2FybjowLGVycm9yOjAsc3VjY2VzczowLHRvdGFsOjAscmF0ZTowfSx0aGlzLnJhdGVCdWZmZXI9W119YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMucmVzaXplT2JzZXJ2ZXImJnRoaXMucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbiYmdGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5yYXRlSW50ZXJ2YWwmJmNsZWFySW50ZXJ2YWwodGhpcy5yYXRlSW50ZXJ2YWwpLHRoaXMudGVybWluYWwmJnRoaXMudGVybWluYWwuZGlzcG9zZSgpfXN0YXRpY3tHYShyLGEpfX07cmV0dXJuIHllPXJ9KSgpfSk7dmFyIGVLdD1jKCgpPT57Slh0KCl9KTt2YXIgdEt0PWMoKCk9PntaWHQoKTtlS3QoKX0pO3ZhciBhS3Qsckt0PWMoKCk9PntwZSgpO2FLdD1pKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vV3JhcHBlciB7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMzJweDsKICAgIH0KICAgIAogICAgLnNlY3Rpb24gewogICAgICBtYXgtd2lkdGg6IDkwMHB4OwogICAgICB3aWR0aDogMTAwJTsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICB9CiAgICAKICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgfQogICAgCiAgICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgIH0KICA8L3N0eWxlPgogIDxkaXYgY2xhc3M9ImRlbW9XcmFwcGVyIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5UeXBlU2NyaXB0IENvZGUgRXhhbXBsZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5BIGNvbXByZWhlbnNpdmUgVHlwZVNjcmlwdCBjb2RlIGV4YW1wbGUgd2l0aCB2YXJpb3VzIHN5bnRheCBoaWdobGlnaHRpbmcuPC9kaXY+CiAgICAgIDxkZWVzLWRhdGF2aWV3LWNvZGVib3ggcHJvZ2xhbmc9InR5cGVzY3JpcHQiPgppbnRlcmZhY2UgVXNlciB7CiAgaWQ6IG51bWJlcjsKICBuYW1lOiBzdHJpbmc7CiAgZW1haWw6IHN0cmluZzsKICBpc0FjdGl2ZTogYm9vbGVhbjsKfQoKY2xhc3MgVXNlclNlcnZpY2UgewogIHByaXZhdGUgdXNlcnM6IFVzZXJbXSA9IFtdOwogIAogIGNvbnN0cnVjdG9yKHByaXZhdGUgYXBpVXJsOiBzdHJpbmcpIHsKICAgIGNvbnNvbGUubG9nKCdVc2VyU2VydmljZSBpbml0aWFsaXplZCcpOwogIH0KICAKICBhc3luYyBnZXRVc2VycygpOiBQcm9taXNlPFVzZXJbXT4gewogICAgdHJ5IHsKICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh0aGlzLmFwaVVybCk7CiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKCk7CiAgICAgIHJldHVybiBkYXRhLnVzZXJzOwogICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGZldGNoIHVzZXJzOicsIGVycm9yKTsKICAgICAgcmV0dXJuIFtdOwogICAgfQogIH0KICAKICBhZGRVc2VyKHVzZXI6IFVzZXIpOiB2b2lkIHsKICAgIHRoaXMudXNlcnMucHVzaCh1c2VyKTsKICB9Cn0KCi8vIFVzYWdlIGV4YW1wbGUKY29uc3Qgc2VydmljZSA9IG5ldyBVc2VyU2VydmljZSgnaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vdXNlcnMnKTsKY29uc3QgdXNlcnMgPSBhd2FpdCBzZXJ2aWNlLmdldFVzZXJzKCk7CmNvbnNvbGUubG9nKCdGb3VuZCB1c2VyczonLCB1c2Vycy5sZW5ndGgpOwogICAgICA8L2RlZXMtZGF0YXZpZXctY29kZWJveD4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+SmF2YVNjcmlwdCBFeGFtcGxlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPk1vZGVybiBKYXZhU2NyaXB0IHdpdGggRVM2KyBmZWF0dXJlcy48L2Rpdj4KICAgICAgPGRlZXMtZGF0YXZpZXctY29kZWJveCBwcm9nbGFuZz0iamF2YXNjcmlwdCI+Ci8vIEFycmF5IG1hbmlwdWxhdGlvbiBleGFtcGxlcwpjb25zdCBudW1iZXJzID0gWzEsIDIsIDMsIDQsIDVdOwpjb25zdCBkb3VibGVkID0gbnVtYmVycy5tYXAobiA9PiBuICogMik7CmNvbnN0IGZpbHRlcmVkID0gbnVtYmVycy5maWx0ZXIobiA9PiBuID4gMyk7CgovLyBPYmplY3QgZGVzdHJ1Y3R1cmluZwpjb25zdCB1c2VyID0geyBuYW1lOiAnSm9obicsIGFnZTogMzAsIGNpdHk6ICdOZXcgWW9yaycgfTsKY29uc3QgeyBuYW1lLCBhZ2UgfSA9IHVzZXI7CgovLyBQcm9taXNlIGhhbmRsaW5nCmNvbnN0IGZldGNoRGF0YSA9IGFzeW5jICh1cmwpID0+IHsKICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCk7CiAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTsKfTsKCi8vIE1vZGVybiBzeW50YXgKY29uc3QgZ3JlZXQgPSAobmFtZSA9ICdXb3JsZCcpID0+IFxgSGVsbG8sIFwke25hbWV9IVxgOwpjb25zb2xlLmxvZyhncmVldCgnU2hhZENOJykpOwogICAgICA8L2RlZXMtZGF0YXZpZXctY29kZWJveD4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UHl0aG9uIEV4YW1wbGU8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+UHl0aG9uIGNvZGUgd2l0aCBjbGFzc2VzIGFuZCB0eXBlIGhpbnRzLjwvZGl2PgogICAgICA8ZGVlcy1kYXRhdmlldy1jb2RlYm94IHByb2dsYW5nPSJweXRob24iPgpmcm9tIHR5cGluZyBpbXBvcnQgTGlzdCwgT3B0aW9uYWwKaW1wb3J0IGFzeW5jaW8KCmNsYXNzIERhdGFQcm9jZXNzb3I6CiAgICAiIiJBIHNpbXBsZSBkYXRhIHByb2Nlc3NvciBjbGFzcyIiIgogICAgCiAgICBkZWYgX19pbml0X18oc2VsZiwgbmFtZTogc3RyKToKICAgICAgICBzZWxmLm5hbWUgPSBuYW1lCiAgICAgICAgc2VsZi5kYXRhOiBMaXN0W2RpY3RdID0gW10KICAgIAogICAgYXN5bmMgZGVmIHByb2Nlc3NfZGF0YShzZWxmLCBpdGVtczogTGlzdFtkaWN0XSkgLT4gTGlzdFtkaWN0XToKICAgICAgICAiIiJQcm9jZXNzIGRhdGEgaXRlbXMgYXN5bmNocm9ub3VzbHkiIiIKICAgICAgICByZXN1bHRzID0gW10KICAgICAgICBmb3IgaXRlbSBpbiBpdGVtczoKICAgICAgICAgICAgIyBTaW11bGF0ZSBhc3luYyBwcm9jZXNzaW5nCiAgICAgICAgICAgIGF3YWl0IGFzeW5jaW8uc2xlZXAoMC4xKQogICAgICAgICAgICByZXN1bHRzLmFwcGVuZCh7CiAgICAgICAgICAgICAgICAnaWQnOiBpdGVtLmdldCgnaWQnKSwKICAgICAgICAgICAgICAgICdwcm9jZXNzZWQnOiBUcnVlLAogICAgICAgICAgICAgICAgJ3Byb2Nlc3Nvcic6IHNlbGYubmFtZQogICAgICAgICAgICB9KQogICAgICAgIHJldHVybiByZXN1bHRzCiAgICAKICAgIGRlZiBnZXRfc3VtbWFyeShzZWxmKSAtPiBkaWN0OgogICAgICAgIHJldHVybiB7CiAgICAgICAgICAgICdwcm9jZXNzb3InOiBzZWxmLm5hbWUsCiAgICAgICAgICAgICdpdGVtc19wcm9jZXNzZWQnOiBsZW4oc2VsZi5kYXRhKQogICAgICAgIH0KCiMgVXNhZ2UKcHJvY2Vzc29yID0gRGF0YVByb2Nlc3NvcigiTWFpbiIpCmRhdGEgPSBhd2FpdCBwcm9jZXNzb3IucHJvY2Vzc19kYXRhKFt7J2lkJzogMX0sIHsnaWQnOiAyfV0pCiAgICAgIDwvZGVlcy1kYXRhdmlldy1jb2RlYm94PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5DU1MgRXhhbXBsZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5Nb2Rlcm4gQ1NTIHdpdGggY3VzdG9tIHByb3BlcnRpZXMgYW5kIGFuaW1hdGlvbnMuIE5vdGUgdGhlIHNob3J0ZXIgbGFuZ3VhZ2UgbGFiZWwuPC9kaXY+CiAgICAgIDxkZWVzLWRhdGF2aWV3LWNvZGVib3ggcHJvZ2xhbmc9ImNzcyI+Ci8qIE1vZGVybiBDU1Mgd2l0aCBjdXN0b20gcHJvcGVydGllcyAqLwo6cm9vdCB7CiAgLS1wcmltYXJ5LWNvbG9yOiAjM2I4MmY2OwogIC0tc2Vjb25kYXJ5LWNvbG9yOiAjMTBiOTgxOwogIC0tYmFja2dyb3VuZDogI2ZmZmZmZjsKICAtLXRleHQtY29sb3I6ICMwOTA5MGI7CiAgLS1ib3JkZXItcmFkaXVzOiA2cHg7Cn0KCi5jYXJkIHsKICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWNrZ3JvdW5kKTsKICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpOwogIHBhZGRpbmc6IDI0cHg7CiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwp9CgouY2FyZDpob3ZlciB7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpOwogIGJveC1zaGFkb3c6IDAgNHB4IDZweCByZ2JhKDAsIDAsIDAsIDAuMSk7Cn0KCkBrZXlmcmFtZXMgZmFkZUluIHsKICBmcm9tIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOyB9CiAgdG8geyBvcGFjaXR5OiAxOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0KfQogICAgICA8L2RlZXMtZGF0YXZpZXctY29kZWJveD4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+SlNPTiBFeGFtcGxlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkpTT04gY29uZmlndXJhdGlvbiB3aXRoIHByb3BlciBmb3JtYXR0aW5nLjwvZGl2PgogICAgICA8ZGVlcy1kYXRhdmlldy1jb2RlYm94IHByb2dsYW5nPSJqc29uIj4KewogICJuYW1lIjogIkBkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZyIsCiAgInZlcnNpb24iOiAiMS4xMC43IiwKICAiZGVzY3JpcHRpb24iOiAiQSBjb21wcmVoZW5zaXZlIGNhdGFsb2cgb2Ygd2ViIGNvbXBvbmVudHMiLAogICJtYWluIjogImRpc3RfdHNfd2ViL2luZGV4LmpzIiwKICAidHlwZSI6ICJtb2R1bGUiLAogICJzY3JpcHRzIjogewogICAgImJ1aWxkIjogInRzYnVpbGQgdHNmb2xkZXJzIC0tYWxsb3dpbXBsaWNpdGFueSAmJiB0c2J1bmRsZSBlbGVtZW50IC0tcHJvZHVjdGlvbiIsCiAgICAid2F0Y2giOiAidHN3YXRjaCBlbGVtZW50IiwKICAgICJ0ZXN0IjogInRzdGVzdCB0ZXN0LyAtLXdlYiAtLXZlcmJvc2UiCiAgfSwKICAiZGVwZW5kZW5jaWVzIjogewogICAgIkBkZXNpZ24uZXN0YXRlL2RlZXMtZWxlbWVudCI6ICJeMi4wLjQ1IiwKICAgICJoaWdobGlnaHQuanMiOiAiXjExLjkuMCIKICB9Cn0KICAgICAgPC9kZWVzLWRhdGF2aWV3LWNvZGVib3g+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBzQmUseEIsaUt0LG9CZT1jKCgpPT57ckt0KCk7cGUoKTtJcigpO1FsKCk7SXQoKTt2MSgpO3BsKCk7c0JlPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSx4Qj1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0saUt0PSgoKT0+e2xldCB0PVthZSgiZGVlcy1kYXRhdmlldy1jb2RlYm94IildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W107dmFyIHA9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNEYXRhdmlld0NvZGVib3giKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgZz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKCldLGg9W0woe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sc0JlKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicHJvZ0xhbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+InByb2dMYW5nImluIHYsImhhcyIpLGdldDppKHY9PnYucHJvZ0xhbmcsImdldCIpLHNldDppKCh2LHgpPT57di5wcm9nTGFuZz14fSwic2V0Iil9LG1ldGFkYXRhOmd9LG8sbCksc0JlKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29kZVRvRGlzcGxheSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh2PT4iY29kZVRvRGlzcGxheSJpbiB2LCJoYXMiKSxnZXQ6aSh2PT52LmNvZGVUb0Rpc3BsYXksImdldCIpLHNldDppKCh2LHgpPT57di5jb2RlVG9EaXNwbGF5PXh9LCJzZXQiKX0sbWV0YWRhdGE6Z30sdSxmKSxzQmUobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Z30sbnVsbCxhKSxwPXI9ZS52YWx1ZSxnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmd9KX1zdGF0aWMgZGVtbz1hS3Q7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXRhIFZpZXciLCJXb3Jrc3BhY2UiXTsjZT14Qih0aGlzLG8sInR5cGVzY3JpcHQiKTtnZXQgcHJvZ0xhbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcHJvZ0xhbmcoZyl7dGhpcy4jZT1nfSN0PSh4Qih0aGlzLGwpLHhCKHRoaXMsdSwiIikpO2dldCBjb2RlVG9EaXNwbGF5KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGNvZGVUb0Rpc3BsYXkoZyl7dGhpcy4jdD1nfWNvbnN0cnVjdG9yKCl7c3VwZXIoKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgJHtJYS5zdHlsZXN9CiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICBmb250LWZhbWlseTogJHtnYX07CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIH0KICAgICAgICAubWFpbmJveCB7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNik7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIH0KCiAgICAgICAgLmFwcGJhciB7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmOWZhZmIiLCIjMTgxODFiIil9OwogICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLmFwcGJhciAuZmlsZU5hbWUgewogICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgLmJvdHRvbUJhciB7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmOWZhZmIiLCIjMTgxODFiIil9OwogICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC5zcGFjZXNMYWJlbCB7CiAgICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIC5sYW5ndWFnZUxhYmVsIHsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIil9OwogICAgICAgICAgcGFkZGluZzogMHB4IDE2cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICAuaGxqcy1rZXl3b3JkIHsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgICAgfQoKICAgICAgICAuY29kZWdyaWQgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweCBhdXRvOwogICAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgICB9CgogICAgICAgIC5saW5lTnVtYmVycyB7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjNTI1MjViIil9OwogICAgICAgICAgcGFkZGluZzogMjRweCAxNnB4IDBweCAwcHg7CiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICB9CgogICAgICAgIC5saW5lQ291bnRlcjpsYXN0LWNoaWxkIHsKICAgICAgICAgIG9wYWNpdHk6IDUwJTsKICAgICAgICB9CgogICAgICAgIHByZSB7CiAgICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICAgICAgbWFyZ2luOiAwcHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4IDI0cHg7CiAgICAgICAgfQoKICAgICAgICBjb2RlIHsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgICBwYWRkaW5nOiAwcHg7CiAgICAgICAgICBtYXJnaW46IDBweDsKICAgICAgICB9CgogICAgICAgIGNvZGUsCiAgICAgICAgY29kZSAqLAogICAgICAgIC5saW5lTnVtYmVycyB7CiAgICAgICAgICBsaW5lLWhlaWdodDogMS40ZW07CiAgICAgICAgICBmb250LXdlaWdodDogMjAwOwogICAgICAgICAgZm9udC1mYW1pbHk6ICR7dDZ9OwogICAgICAgIH0KCiAgICAgICAgLmhsanMtc3RyaW5nIHsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA1OTY2OSIsIiMxMGI5ODEiKX07CiAgICAgICAgfQoKICAgICAgICAuaGxqcy1idWlsdF9pbiB7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM4YjVjZjYiLCIjYTc4YmZhIil9OwogICAgICAgIH0KCiAgICAgICAgLmhsanMtZnVuY3Rpb24gewogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLXBhcmFtcyB7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwODkxYjIiLCIjMDZiNmQ0Iil9OwogICAgICAgIH0KCiAgICAgICAgLmhsanMtY29tbWVudCB7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgICAgIH0KCiAgICAgICAgLmhsanMtbnVtYmVyIHsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2VhNTgwYyIsIiNmYjkyM2MiKX07CiAgICAgICAgfQoKICAgICAgICAuaGxqcy1saXRlcmFsIHsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgICAgfQoKICAgICAgICAuaGxqcy1hdHRyIHsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzhiNWNmNiIsIiNhNzhiZmEiKX07CiAgICAgICAgfQoKICAgICAgICAuaGxqcy12YXJpYWJsZSB7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJtYWluYm94IgogICAgICAgIEBjb250ZXh0bWVudT0iJHtnPT57TnQub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoZyxbe25hbWU6IkFib3V0IixpY29uTmFtZToiY2lyY2xlSW5mbyIsYWN0aW9uOmkoYXN5bmMoKT0+bnVsbCwiYWN0aW9uIil9XSl9fSIKICAgICAgPgogICAgICAgIDxkaXYgY2xhc3M9ImFwcGJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlTmFtZSI+aW5kZXgudHM8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlZ3JpZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5lTnVtYmVycyI+CiAgICAgICAgICAgICR7KCgpPT57bGV0IGc9MDtyZXR1cm4gdGhpcy5jb2RlVG9EaXNwbGF5LnNwbGl0KGAKYCkubWFwKHY9PihnKyssd2A8ZGl2IGNsYXNzPSJsaW5lQ291bnRlciI+JHtnfTwvZGl2PmApKX0pKCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxwcmU+PGNvZGU+PC9jb2RlPjwvcHJlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbUJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjZXNMYWJlbCI+U3BhY2VzOiAyPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5ndWFnZUxhYmVsIj4ke3RoaXMucHJvZ0xhbmd9PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1jb2RlVG9EaXNwbGF5U3RvcmU9KHhCKHRoaXMsZiksIiIpO2hpZ2hsaWdodEpzPW51bGw7YXN5bmMgdXBkYXRlZChnKXtzdXBlci51cGRhdGVkKGcpLGNvbnNvbGUubG9nKCJoaWdobGlnaHRpbmcgbm93IiksY29uc29sZS5sb2codGhpcy5jaGlsZE5vZGVzKTtsZXQgdj1bXTt0aGlzLmNoaWxkTm9kZXMuZm9yRWFjaChtPT57bS5ub2RlTmFtZT09PSIjdGV4dCImJnYucHVzaChtKX0pLHRoaXMuY29kZVRvRGlzcGxheSYmdGhpcy5jb2RlVG9EaXNwbGF5IT09dGhpcy5jb2RlVG9EaXNwbGF5U3RvcmUmJih0aGlzLmNvZGVUb0Rpc3BsYXlTdG9yZT1LbC5ub3JtYWxpemUodGhpcy5jb2RlVG9EaXNwbGF5KS50cmltU3RhcnQoKSksdlswXSYmdlswXS53aG9sZVRleHQmJiF0aGlzLmNvZGVUb0Rpc3BsYXkmJih0aGlzLmNvZGVUb0Rpc3BsYXlTdG9yZT1LbC5ub3JtYWxpemUodlswXS53aG9sZVRleHQpLnRyaW1TdGFydCgpLHRoaXMuY29kZVRvRGlzcGxheT10aGlzLmNvZGVUb0Rpc3BsYXlTdG9yZSksYXdhaXQgRXQuc21hcnRkZWxheS5kZWxheUZvcigwKSx0aGlzLmhpZ2hsaWdodEpzfHwodGhpcy5oaWdobGlnaHRKcz1hd2FpdCByci5nZXRJbnN0YW5jZSgpLmxvYWRIaWdobGlnaHRKcygpKTtsZXQgeD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiY29kZSIpLGI9dGhpcy5oaWdobGlnaHRKcy5oaWdobGlnaHQodGhpcy5jb2RlVG9EaXNwbGF5U3RvcmUse2xhbmd1YWdlOnRoaXMucHJvZ0xhbmcsaWdub3JlSWxsZWdhbHM6ITB9KTt4LmlubmVySFRNTD1iLnZhbHVlfXN0YXRpY3t4QihyLGEpfX07cmV0dXJuIHA9cn0pKCl9KTt2YXIgc0t0PWMoKCk9PntvQmUoKX0pO3ZhciBvS3Qsbkt0PWMoKCk9PntwZSgpO3dzKCk7b0t0PWkoKCk9PndgIDxzdHlsZT4KICAgIC5kZW1vIHsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNWY1ZjUiLCIjMGEwYTBhIil9OwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgY29udGVudDogJyc7CiAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICB9CiAgICAKICAgIC5kZW1vLWdyaWQgewogICAgICBkaXNwbGF5OiBncmlkOwogICAgICBnYXA6IDI0cHg7CiAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgfQogICAgCiAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAxNnB4OwogICAgfQogICAgCiAgICAuZGVtby10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjsKICAgIH0KICAgIAogICAgLmRlbW8tbm90ZSB7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmOwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtbyI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLW5vdGUiPgogICAgICBSaWdodC1jbGljayBvbiBhbnkgZGV0YWlsIHJvdyB0byBjb3B5IHRoZSB2YWx1ZSwga2V5LCBvciBrZXk6dmFsdWUgY29tYmluYXRpb24KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZGVtby1ncmlkIj4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXRpdGxlIj5TZXJ2aWNlIEhlYWx0aCBTdGF0dXM8L2Rpdj4KICAgICAgICA8ZGVlcy1kYXRhdmlldy1zdGF0dXNvYmplY3QKICAgICAgICAgIC5zdGF0dXNPYmplY3Q9JHt7aWQ6IjEiLG5hbWU6IkFQSSBHYXRld2F5IFNlcnZpY2UiLGxhc3RVcGRhdGVkOkRhdGUubm93KCksY29tYmluZWRTdGF0dXM6Im9rIixjb21iaW5lZFN0YXR1c1RleHQ6IkFsbCBzeXN0ZW1zIG9wZXJhdGlvbmFsIixkZXRhaWxzOlt7bmFtZToiUmVzcG9uc2UgVGltZSIsdmFsdWU6IjQ1bXMgKGF2ZykiLHN0YXR1czoib2siLHN0YXR1c1RleHQ6IldpdGhpbiBub3JtYWwgcmFuZ2UifSx7bmFtZToiVXB0aW1lIix2YWx1ZToiOTkuOTklICgzMCBkYXlzKSIsc3RhdHVzOiJvayIsc3RhdHVzVGV4dDoiRXhjZWxsZW50IHVwdGltZSJ9LHtuYW1lOiJBY3RpdmUgQ29ubmVjdGlvbnMiLHZhbHVlOiIxLDIzNCAvIDEwLDAwMCIsc3RhdHVzOiJvayIsc3RhdHVzVGV4dDoiTm9ybWFsIGxvYWQifSx7bmFtZToiU1NMIENlcnRpZmljYXRlIix2YWx1ZToiVmFsaWQgdW50aWwgMjAyNC0xMi0zMSIsc3RhdHVzOiJvayIsc3RhdHVzVGV4dDoiQ2VydGlmaWNhdGUgdmFsaWQifV19fQogICAgICAgID4KICAgICAgICA8L2RlZXMtZGF0YXZpZXctc3RhdHVzb2JqZWN0PgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby10aXRsZSI+RGF0YWJhc2UgQ2x1c3RlciBTdGF0dXM8L2Rpdj4KICAgICAgICA8ZGVlcy1kYXRhdmlldy1zdGF0dXNvYmplY3QKICAgICAgICAgIC5zdGF0dXNPYmplY3Q9JHt7aWQ6IjIiLG5hbWU6IlBvc3RncmVTUUwgQ2x1c3RlciIsbGFzdFVwZGF0ZWQ6RGF0ZS5ub3coKS0zNmU1LGNvbWJpbmVkU3RhdHVzOiJwYXJ0bHlfb2siLGNvbWJpbmVkU3RhdHVzVGV4dDoiTWlub3IgaXNzdWVzIGRldGVjdGVkIixkZXRhaWxzOlt7bmFtZToiUHJpbWFyeSBOb2RlIix2YWx1ZToiZGItcHJpbWFyeS0wMSAoaGVhbHRoeSkiLHN0YXR1czoib2siLHN0YXR1c1RleHQ6Ik9wZXJhdGluZyBub3JtYWxseSJ9LHtuYW1lOiJSZXBsaWNhIExhZyIsdmFsdWU6IjIuNSBzZWNvbmRzIixzdGF0dXM6InBhcnRseV9vayIsc3RhdHVzVGV4dDoiU2xpZ2h0bHkgZWxldmF0ZWQifSx7bmFtZToiRGlzayBVc2FnZSIsdmFsdWU6Ijc4JSAoMzEyR0IgLyA0MDBHQikiLHN0YXR1czoicGFydGx5X29rIixzdGF0dXNUZXh0OiJBcHByb2FjaGluZyB0aHJlc2hvbGQifSx7bmFtZToiQ29ubmVjdGlvbiBQb29sIix2YWx1ZToiODkgLyAxMDAgY29ubmVjdGlvbnMiLHN0YXR1czoib2siLHN0YXR1c1RleHQ6IldpdGhpbiBsaW1pdHMifV19fQogICAgICAgID4KICAgICAgICA8L2RlZXMtZGF0YXZpZXctc3RhdHVzb2JqZWN0PgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby10aXRsZSI+QnVpbGQgUGlwZWxpbmUgU3RhdHVzPC9kaXY+CiAgICAgICAgPGRlZXMtZGF0YXZpZXctc3RhdHVzb2JqZWN0CiAgICAgICAgICAuc3RhdHVzT2JqZWN0PSR7e2lkOiIzIixuYW1lOiJDSS9DRCBQaXBlbGluZSIsbGFzdFVwZGF0ZWQ6RGF0ZS5ub3coKS04NjRlNSxjb21iaW5lZFN0YXR1czoibm90X29rIixjb21iaW5lZFN0YXR1c1RleHQ6IkJ1aWxkIGZhaWx1cmUiLGRldGFpbHM6W3tuYW1lOiJMYXN0IEJ1aWxkIix2YWx1ZToiQnVpbGQgIzEyMzQgLSBGYWlsZWQiLHN0YXR1czoibm90X29rIixzdGF0dXNUZXh0OiJUZXN0IGZhaWx1cmVzIn0se25hbWU6IkZhaWxlZCBUZXN0cyIsdmFsdWU6IjMgdGVzdHMgZmFpbGVkOiBhdXRoLnNwZWMudHMsIHVzZXIuc3BlYy50cywgYXBpLnNwZWMudHMiLHN0YXR1czoibm90X29rIixzdGF0dXNUZXh0OiJVbml0IHRlc3QgZmFpbHVyZXMifSx7bmFtZToiQ29kZSBDb3ZlcmFnZSIsdmFsdWU6IjgyLjUlICh0YXJnZXQ6IDg1JSkiLHN0YXR1czoicGFydGx5X29rIixzdGF0dXNUZXh0OiJCZWxvdyB0YXJnZXQifSx7bmFtZToiQnVpbGQgRHVyYXRpb24iLHZhbHVlOiIxMm0gMzRzIixzdGF0dXM6Im9rIixzdGF0dXNUZXh0OiJOb3JtYWwgZHVyYXRpb24ifV19fQogICAgICAgID4KICAgICAgICA8L2RlZXMtZGF0YXZpZXctc3RhdHVzb2JqZWN0PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PmAsImRlbW9GdW5jIil9KTt2YXIgbEt0LG5CZSxjS3QsZEt0PWMoKCk9PntHaSgpO1AxKCk7bkt0KCk7cGUoKTt3cygpO3YxKCk7WGUoKTtsS3Q9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LG5CZT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sY0t0PSgoKT0+e2xldCB0PVthZSgiZGVlcy1kYXRhdmlldy1zdGF0dXNvYmplY3QiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXTt2YXIgaD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0RhdGF2aWV3U3RhdHVzb2JqZWN0Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IHU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpPYmplY3R9KV0sbEt0KHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdHVzT2JqZWN0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGY9PiJzdGF0dXNPYmplY3QiaW4gZiwiaGFzIiksZ2V0OmkoZj0+Zi5zdGF0dXNPYmplY3QsImdldCIpLHNldDppKChmLHApPT57Zi5zdGF0dXNPYmplY3Q9cH0sInNldCIpfSxtZXRhZGF0YTp1fSxvLGwpLGxLdChudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTp1fSxudWxsLGEpLGg9cj1lLnZhbHVlLHUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dX0pfXN0YXRpYyBkZW1vPW9LdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhdGEgVmlldyJdOyNlPW5CZSh0aGlzLG8sdm9pZCAwKTtnZXQgc3RhdHVzT2JqZWN0KCl7cmV0dXJuIHRoaXMuI2V9c2V0IHN0YXR1c09iamVjdCh1KXt0aGlzLiNlPXV9c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgc2Fucy1zZXJpZjsKICAgICAgfQoKICAgICAgLm1haW5ib3ggewogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCAwIGhzbCgwIDAlIDAlIC8gMC4xKSwgMCAxcHggMnB4IC0xcHggaHNsKDAgMCUgMCUgLyAwLjEpOwogICAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuaGVhZGluZyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDhweCBhdXRvIDEwMHB4OwogICAgICAgIGhlaWdodDogNTZweDsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk3JSkiLCJoc2woMCAwJSA3JSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgIH0KCiAgICAgIGgxIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW46IDBweDsKICAgICAgICBwYWRkaW5nOiAwcHggMTJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXNkb3QgewogICAgICAgIGhlaWdodDogMTBweDsKICAgICAgICB3aWR0aDogMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDYzLjklKSIsImhzbCgwIDAlIDQ1LjElKSIpfTsKICAgICAgICBtYXJnaW46IGF1dG87CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA2My45JSAvIDAuMikiLCJoc2woMCAwJSA0NS4xJSAvIDAuMikiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLmNvcHlNYWluIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmNvcHlNYWluOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5jb3B5TWFpbjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5MSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7CiAgICAgIH0KCiAgICAgIC5zdGF0dXNkb3Qub2sgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtkLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSAvIDAuMikiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUgLyAwLjIpIil9OwogICAgICB9CgogICAgICAuc3RhdHVzZG90Lm5vdF9vayB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlKSIsImhzbCgwIDcyLjIlIDUwLjYlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtkLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlIC8gMC4yKSIsImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4yKSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1c2RvdC5wYXJ0bHlfb2sgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjUgOTUlIDUzJSkiLCJoc2woMjUgOTUlIDYzJSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7ZC5iZFRoZW1lKCJoc2woMjUgOTUlIDUzJSAvIDAuMikiLCJoc2woMjUgOTUlIDYzJSAvIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5kZXRhaWwgewogICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDhweCBhdXRvOwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTQlKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2U7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGN1cnNvcjogY29udGV4dC1tZW51OwogICAgICB9CgogICAgICAuZGV0YWlsOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgfQoKICAgICAgLmRldGFpbDphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICB9CgogICAgICAuZGV0YWlsIC5kZXRhaWxzVGV4dCB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwgLmRldGFpbHNUZXh0IC5sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICAuZGV0YWlsIC5kZXRhaWxzVGV4dCAudmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogJ0ludGVsIE9uZSBNb25vJywgJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICB9CgogICAgICAuYm90dG9tQmFyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk3JSkiLCJoc2woMCAwJSA3JSkiKX07CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBsaW5lLWhlaWdodDogMjhweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmJvdHRvbUJhciAuc3RhdHVzTGFiZWwgewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9Im1haW5ib3giPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmciPgogICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzZG90ICR7dGhpcy5zdGF0dXNPYmplY3Q/LmNvbWJpbmVkU3RhdHVzfSI+PC9kaXY+CiAgICAgICAgICA8aDE+JHt0aGlzLnN0YXR1c09iamVjdD8ubmFtZXx8Ik5vIHN0YXR1cyBvYmplY3QgYXNzaWduZWQifTwvaDE+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3B5TWFpbiIgQGNsaWNrPSR7dGhpcy5oYW5kbGVDb3B5QXNKc29ufT5Db3B5IEpTT048L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuc3RhdHVzT2JqZWN0Py5kZXRhaWxzPy5tYXAodT0+d2AKICAgICAgICAgICAgPGRpdiAKICAgICAgICAgICAgICBjbGFzcz0iZGV0YWlsIgogICAgICAgICAgICAgIEBjb250ZXh0bWVudT0ke2Y9PntmLnByZXZlbnREZWZhdWx0KCksTnQub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoZixbe25hbWU6IkNvcHkgVmFsdWUiLGljb25OYW1lOiJsdWNpZGU6Y29weSIsYWN0aW9uOmkoYXN5bmMoKT0+e2F3YWl0IHRoaXMuY29weVRvQ2xpcGJvYXJkKHUudmFsdWUsIlZhbHVlIil9LCJhY3Rpb24iKX0se25hbWU6IkNvcHkgS2V5IixpY29uTmFtZToibHVjaWRlOmtleSIsYWN0aW9uOmkoYXN5bmMoKT0+e2F3YWl0IHRoaXMuY29weVRvQ2xpcGJvYXJkKHUubmFtZSwiS2V5Iil9LCJhY3Rpb24iKX0se25hbWU6IkNvcHkgS2V5OlZhbHVlIixpY29uTmFtZToibHVjaWRlOmNvcHktcGx1cyIsYWN0aW9uOmkoYXN5bmMoKT0+e2F3YWl0IHRoaXMuY29weVRvQ2xpcGJvYXJkKGAke3UubmFtZX06ICR7dS52YWx1ZX1gLCJLZXk6VmFsdWUiKX0sImFjdGlvbiIpfV0pfX0KICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1c2RvdCAke3Uuc3RhdHVzfSI+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsc1RleHQiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwiPiR7dS5uYW1lfTwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idmFsdWUiPiR7dS52YWx1ZX08L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgKX0KICAgICAgICA8ZGl2IGNsYXNzPSJib3R0b21CYXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzTGFiZWwiPiR7dGhpcy5zdGF0dXNPYmplY3Q/Lmxhc3RVcGRhdGVkP2BMYXN0IHVwZGF0ZWQ6ICR7bmV3IERhdGUodGhpcy5zdGF0dXNPYmplY3QubGFzdFVwZGF0ZWQpLnRvTG9jYWxlU3RyaW5nKCl9YDoiIn08L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe31hc3luYyBjb3B5VG9DbGlwYm9hcmQodSxmPSJUZXh0Iil7dHJ5e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHUpLGNvbnNvbGUubG9nKGAke2Z9IGNvcGllZCB0byBjbGlwYm9hcmRgKX1jYXRjaChwKXtjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gY29weSAke2Z9OmAscCl9fWFzeW5jIGhhbmRsZUNvcHlBc0pzb24oKXtpZih0aGlzLnN0YXR1c09iamVjdCl0cnl7YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoSlNPTi5zdHJpbmdpZnkodGhpcy5zdGF0dXNPYmplY3QsbnVsbCwyKSk7bGV0IHU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jb3B5TWFpbiIpLGY9dS50ZXh0Q29udGVudDt1LnRleHRDb250ZW50PSJDb3BpZWQhIjtsZXQgcD0hdGhpcy5nb0JyaWdodDt1LnN0eWxlLmJhY2tncm91bmQ9cD8iaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlIC8gMC4xKSI6ImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSAvIDAuMSkiLHUuc3R5bGUuYm9yZGVyQ29sb3I9cD8iaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSI6ImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLHUuc3R5bGUuY29sb3I9cD8iaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSI6ImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLHNldFRpbWVvdXQoKCk9Pnt1LnRleHRDb250ZW50PWYsdS5zdHlsZS5iYWNrZ3JvdW5kPSIiLHUuc3R5bGUuYm9yZGVyQ29sb3I9IiIsdS5zdHlsZS5jb2xvcj0iIn0sMTUwMCl9Y2F0Y2godSl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGNvcHk6Iix1KX19Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLG5CZSh0aGlzLGwpfXN0YXRpY3tuQmUocixhKX19O3JldHVybiBoPXJ9KSgpfSk7dmFyIHBLdD1jKCgpPT57ZEt0KCl9KTt2YXIgdUt0PWMoKCk9PntHWigpfSk7dmFyIGxCZSxmS3QsaEt0PWMoKCk9PntwZSgpO2NCZSgpO2xCZT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJNb2NrU3RvcmFnZURhdGFQcm92aWRlciIpfW9iamVjdHM9bmV3IE1hcDtjb25zdHJ1Y3Rvcigpe2xldCBlPW5ldyBEYXRlKCkudG9JU09TdHJpbmcoKTt0aGlzLm9iamVjdHMuc2V0KCJkb2N1bWVudHMvcmVhZG1lLm1kIix7Y29udGVudDpidG9hKGAjIFdlbGNvbWUKClRoaXMgaXMgYSBkZW1vIFN0b3JhZ2UgYnJvd3Nlci4KYCksY29udGVudFR5cGU6InRleHQvbWFya2Rvd24iLHNpemU6NDIsbGFzdE1vZGlmaWVkOmV9KSx0aGlzLm9iamVjdHMuc2V0KCJkb2N1bWVudHMvY29uZmlnLmpzb24iLHtjb250ZW50OmJ0b2EoYHsKICAibmFtZSI6ICJkZW1vIiwKICAidmVyc2lvbiI6ICIxLjAuMCIKfWApLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi9qc29uIixzaXplOjQ4LGxhc3RNb2RpZmllZDplfSksdGhpcy5vYmplY3RzLnNldCgiZG9jdW1lbnRzL25vdGVzL3RvZG8udHh0Iix7Y29udGVudDpidG9hKGBCdXkgbWlsawpGaXggYnVnICM0MgpEZXBsb3kgdG8gcHJvZHVjdGlvbmApLGNvbnRlbnRUeXBlOiJ0ZXh0L3BsYWluIixzaXplOjQ1LGxhc3RNb2RpZmllZDplfSksdGhpcy5vYmplY3RzLnNldCgiaW1hZ2VzL2xvZ28ucG5nIix7Y29udGVudDpidG9hKCJmYWtlLXBuZy1kYXRhIiksY29udGVudFR5cGU6ImltYWdlL3BuZyIsc2l6ZToyNDUwMCxsYXN0TW9kaWZpZWQ6ZX0pLHRoaXMub2JqZWN0cy5zZXQoImltYWdlcy9iYW5uZXIuanBnIix7Y29udGVudDpidG9hKCJmYWtlLWpwZy1kYXRhIiksY29udGVudFR5cGU6ImltYWdlL2pwZWciLHNpemU6MTU2ZTMsbGFzdE1vZGlmaWVkOmV9KSx0aGlzLm9iamVjdHMuc2V0KCJzY3JpcHRzL2RlcGxveS5zaCIse2NvbnRlbnQ6YnRvYShgIyEvYmluL2Jhc2gKZWNobyAiRGVwbG95aW5nLi4uIgpgKSxjb250ZW50VHlwZToidGV4dC9wbGFpbiIsc2l6ZTozNCxsYXN0TW9kaWZpZWQ6ZX0pLHRoaXMub2JqZWN0cy5zZXQoImluZGV4Lmh0bWwiLHtjb250ZW50OmJ0b2EoYDwhRE9DVFlQRSBodG1sPgo8aHRtbD4KPGJvZHk+CiAgPGgxPkhlbGxvIFdvcmxkPC9oMT4KPC9ib2R5Pgo8L2h0bWw+YCksY29udGVudFR5cGU6InRleHQvaHRtbCIsc2l6ZTo3MixsYXN0TW9kaWZpZWQ6ZX0pLHRoaXMub2JqZWN0cy5zZXQoInN0eWxlcy5jc3MiLHtjb250ZW50OmJ0b2EoImJvZHkgeyBtYXJnaW46IDA7IGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyB9IiksY29udGVudFR5cGU6InRleHQvY3NzIixzaXplOjQ0LGxhc3RNb2RpZmllZDplfSl9YXN5bmMgbGlzdE9iamVjdHMoZSxhLHIpe2xldCBzPWF8fCIiLG49W10sbz1uZXcgU2V0O2ZvcihsZXRbbCxoXW9mIHRoaXMub2JqZWN0cyl7aWYoIWwuc3RhcnRzV2l0aChzKSljb250aW51ZTtsZXQgdT1sLnNsaWNlKHMubGVuZ3RoKTtpZihyKXtsZXQgZj11LmluZGV4T2Yocik7Zj49MD9vLmFkZChzK3Uuc2xpY2UoMCxmKzEpKTpuLnB1c2goe2tleTpsLHNpemU6aC5zaXplLGxhc3RNb2RpZmllZDpoLmxhc3RNb2RpZmllZH0pfWVsc2Ugbi5wdXNoKHtrZXk6bCxzaXplOmguc2l6ZSxsYXN0TW9kaWZpZWQ6aC5sYXN0TW9kaWZpZWR9KX1yZXR1cm57b2JqZWN0czpuLHByZWZpeGVzOkFycmF5LmZyb20obykuc29ydCgpfX1hc3luYyBnZXRPYmplY3QoZSxhKXtsZXQgcj10aGlzLm9iamVjdHMuZ2V0KGEpO2lmKCFyKXRocm93IG5ldyBFcnJvcigiTm90IGZvdW5kIik7cmV0dXJuey4uLnJ9fWFzeW5jIHB1dE9iamVjdChlLGEscixzKXtyZXR1cm4gdGhpcy5vYmplY3RzLnNldChhLHtjb250ZW50OnIsY29udGVudFR5cGU6cyxzaXplOmF0b2IocikubGVuZ3RoLGxhc3RNb2RpZmllZDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9KSwhMH1hc3luYyBkZWxldGVPYmplY3QoZSxhKXtyZXR1cm4gdGhpcy5vYmplY3RzLmRlbGV0ZShhKX1hc3luYyBkZWxldGVQcmVmaXgoZSxhKXtmb3IobGV0IHIgb2YgdGhpcy5vYmplY3RzLmtleXMoKSlyLnN0YXJ0c1dpdGgoYSkmJnRoaXMub2JqZWN0cy5kZWxldGUocik7cmV0dXJuITB9YXN5bmMgZ2V0T2JqZWN0VXJsKGUsYSl7bGV0IHI9dGhpcy5vYmplY3RzLmdldChhKTtpZighcilyZXR1cm4iIjtsZXQgcz1uZXcgQmxvYihbVWludDhBcnJheS5mcm9tKGF0b2Ioci5jb250ZW50KSxuPT5uLmNoYXJDb2RlQXQoMCkpXSx7dHlwZTpyLmNvbnRlbnRUeXBlfSk7cmV0dXJuIFVSTC5jcmVhdGVPYmplY3RVUkwocyl9YXN5bmMgbW92ZU9iamVjdChlLGEscil7bGV0IHM9dGhpcy5vYmplY3RzLmdldChhKTtyZXR1cm4gcz8odGhpcy5vYmplY3RzLnNldChyLHsuLi5zLGxhc3RNb2RpZmllZDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9KSx0aGlzLm9iamVjdHMuZGVsZXRlKGEpLHtzdWNjZXNzOiEwfSk6e3N1Y2Nlc3M6ITEsZXJyb3I6IlNvdXJjZSBub3QgZm91bmQifX1hc3luYyBtb3ZlUHJlZml4KGUsYSxyKXtsZXQgcz0wLG49QXJyYXkuZnJvbSh0aGlzLm9iamVjdHMuZW50cmllcygpKS5maWx0ZXIoKFtvXSk9Pm8uc3RhcnRzV2l0aChhKSk7Zm9yKGxldFtvLGxdb2Ygbil7bGV0IGg9citvLnNsaWNlKGEubGVuZ3RoKTt0aGlzLm9iamVjdHMuc2V0KGgsey4uLmwsbGFzdE1vZGlmaWVkOm5ldyBEYXRlKCkudG9JU09TdHJpbmcoKX0pLHRoaXMub2JqZWN0cy5kZWxldGUobykscysrfXJldHVybntzdWNjZXNzOiEwLG1vdmVkQ291bnQ6c319fSxmS3Q9aSgoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBoZWlnaHQ6IDYwMHB4OwogICAgICBwYWRkaW5nOiAxNnB4OwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtc3RvcmFnZS1icm93c2VyCiAgICAgIC5kYXRhUHJvdmlkZXI9JHtuZXcgbEJlfQogICAgICAuYnVja2V0TmFtZT0keyJkZW1vLWJ1Y2tldCJ9CiAgICA+PC9kZWVzLXN0b3JhZ2UtYnJvd3Nlcj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO2Z1bmN0aW9uIFg4KHQpe2lmKHQ9PW51bGwpcmV0dXJuIi0iO2lmKHQ9PT0wKXJldHVybiIwIEIiO2xldCBlPVsiQiIsIktCIiwiTUIiLCJHQiIsIlRCIl0sYT10LHI9MDtmb3IoO2E+PTEwMjQmJnI8ZS5sZW5ndGgtMTspYS89MTAyNCxyKys7cmV0dXJuYCR7YS50b0ZpeGVkKHI+MD8xOjApfSAke2Vbcl19YH1mdW5jdGlvbiBtS3QodCl7cmV0dXJuIHQ9PW51bGw/IiI6dD49MWU2P2Akeyh0LzFlNikudG9GaXhlZCgxKX1NYDp0Pj0xZTM/YCR7KHQvMWUzKS50b0ZpeGVkKDEpfUtgOnQudG9TdHJpbmcoKX1mdW5jdGlvbiBqdCh0KXtsZXQgZT10LnJlcGxhY2UoL1wvJC8sIiIpLnNwbGl0KCIvIik7cmV0dXJuIGVbZS5sZW5ndGgtMV18fHR9ZnVuY3Rpb24gSzgodCxlKXtyZXR1cm4gdC5lbmRzV2l0aCgiLyIpJiZlLnN0YXJ0c1dpdGgodCk/e3ZhbGlkOiExLGVycm9yOiJDYW5ub3QgbW92ZSBhIGZvbGRlciBpbnRvIGl0c2VsZiJ9OklzKHQpPT09ZT97dmFsaWQ6ITEsZXJyb3I6Ikl0ZW0gaXMgYWxyZWFkeSBpbiB0aGlzIGxvY2F0aW9uIn06e3ZhbGlkOiEwfX1mdW5jdGlvbiBJcyh0KXtsZXQgZT10LmVuZHNXaXRoKCIvIik/dC5zbGljZSgwLC0xKTp0LGE9ZS5sYXN0SW5kZXhPZigiLyIpO3JldHVybiBhPj0wP2Uuc3Vic3RyaW5nKDAsYSsxKToiIn1mdW5jdGlvbiBnbCh0KXtyZXR1cm57anNvbjoiYXBwbGljYXRpb24vanNvbiIsdHh0OiJ0ZXh0L3BsYWluIixodG1sOiJ0ZXh0L2h0bWwiLGNzczoidGV4dC9jc3MiLGpzOiJhcHBsaWNhdGlvbi9qYXZhc2NyaXB0Iix0czoidGV4dC90eXBlc2NyaXB0IixtZDoidGV4dC9tYXJrZG93biIseG1sOiJhcHBsaWNhdGlvbi94bWwiLHlhbWw6InRleHQveWFtbCIseW1sOiJ0ZXh0L3lhbWwiLGNzdjoidGV4dC9jc3YifVt0XXx8ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSJ9ZnVuY3Rpb24gUTgodCl7cmV0dXJue2pzb246YHsKICAKfWAsaHRtbDpgPCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KICA8dGl0bGU+PC90aXRsZT4KPC9oZWFkPgo8Ym9keT4KICAKPC9ib2R5Pgo8L2h0bWw+YCxtZDpgIyBUaXRsZQoKYCx0eHQ6IiJ9W3RdfHwiIn1mdW5jdGlvbiB5Nih0KXtpZighdClyZXR1cm5bXTtsZXQgZT10LnNwbGl0KCIvIikuZmlsdGVyKHM9PnMpLGE9W10scj0iIjtmb3IobGV0IHMgb2YgZSlyKz1zKyIvIixhLnB1c2gocik7cmV0dXJuIGF9dmFyIHlCPWMoKCk9PntpKFg4LCJmb3JtYXRTaXplIik7aShtS3QsImZvcm1hdENvdW50Iik7aShqdCwiZ2V0RmlsZU5hbWUiKTtpKEs4LCJ2YWxpZGF0ZU1vdmUiKTtpKElzLCJnZXRQYXJlbnRQcmVmaXgiKTtpKGdsLCJnZXRDb250ZW50VHlwZSIpO2koUTgsImdldERlZmF1bHRDb250ZW50Iik7aSh5NiwiZ2V0UGF0aFNlZ21lbnRzIil9KTt2YXIgZGEsc3QsZ0t0LGRCZT1jKCgpPT57cGUoKTt2MSgpO1hlKCk7eUIoKTtkYT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sc3Q9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LGdLdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtc3RvcmFnZS1jb2x1bW5zIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W10sTiwkPVtdLEk9W10saixTPVtdLHo9W10sRCxUPVtdLEE9W10sVSxSPVtdLHE9W10sb2UsTz1bXSxyZT1bXSx5ZSxCPVtdLGVlPVtdLENlLFk9W10sUD1bXSxILEc9W10sVz1bXSxzZSx6ZT1bXSxNZT1bXSxFZSxWPVtdLEY9W10sbmUsdGU9W10sSz1bXSxrZSx2ZT1bXSxkZT1bXSwkZSxWZT1bXSxRZT1bXSxUZSxsZT1bXSxmZT1bXSxTZSxIZT1bXSxLZT1bXSxrdCx1dD1bXSxDdD1bXSxXdCxoZT1bXSxtZT1bXSxQZSxmdD1bXSxidD1bXSxuYSxSMT1bXSwkcj1bXSxEcixxZT1bXSx0dD1bXSxTYSxqYT1bXSxYYT1bXSxzMSxLYT1bXSxLcj1bXSxRcixfZT1bXSx4ZT1bXSxOZSxMZT1bXSxnZT1bXTt2YXIgQmU9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNTdG9yYWdlQ29sdW1ucyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCB1ZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk9iamVjdH0pXSxoPVtMKHt0eXBlOlN0cmluZ30pXSxwPVtMKHt0eXBlOlN0cmluZ30pXSx4PVtMKHt0eXBlOk51bWJlcn0pXSx5PVtaKCldLEU9W1ooKV0sTj1bWigpXSxqPVtaKCldLEQ9W1ooKV0sVT1bWigpXSxvZT1bWigpXSx5ZT1bWigpXSxDZT1bWigpXSxIPVtaKCldLHNlPVtaKCldLEVlPVtaKCldLG5lPVtaKCldLGtlPVtaKCldLCRlPVtaKCldLFRlPVtaKCldLFNlPVtaKCldLGt0PVtaKCldLFd0PVtaKCldLFBlPVtaKCldLG5hPVtaKCldLERyPVtaKCldLFNhPVtaKCldLHMxPVtaKCldLFFyPVtaKCldLE5lPVtaKCldLGRhKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YVByb3ZpZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEo9PiJkYXRhUHJvdmlkZXIiaW4gSiwiaGFzIiksZ2V0OmkoSj0+Si5kYXRhUHJvdmlkZXIsImdldCIpLHNldDppKChKLHdlKT0+e0ouZGF0YVByb3ZpZGVyPXdlfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxvLGwpLGRhKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYnVja2V0TmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShKPT4iYnVja2V0TmFtZSJpbiBKLCJoYXMiKSxnZXQ6aShKPT5KLmJ1Y2tldE5hbWUsImdldCIpLHNldDppKChKLHdlKT0+e0ouYnVja2V0TmFtZT13ZX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sdSxmKSxkYSh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRQcmVmaXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSj0+ImN1cnJlbnRQcmVmaXgiaW4gSiwiaGFzIiksZ2V0OmkoSj0+Si5jdXJyZW50UHJlZml4LCJnZXQiKSxzZXQ6aSgoSix3ZSk9PntKLmN1cnJlbnRQcmVmaXg9d2V9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LGcsdiksZGEodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWZyZXNoS2V5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEo9PiJyZWZyZXNoS2V5ImluIEosImhhcyIpLGdldDppKEo9PkoucmVmcmVzaEtleSwiZ2V0Iiksc2V0OmkoKEosd2UpPT57Si5yZWZyZXNoS2V5PXdlfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxiLG0pLGRhKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sdW1ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShKPT4iY29sdW1ucyJpbiBKLCJoYXMiKSxnZXQ6aShKPT5KLmNvbHVtbnMsImdldCIpLHNldDppKChKLHdlKT0+e0ouY29sdW1ucz13ZX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sTSxrKSxkYSh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSj0+ImxvYWRpbmciaW4gSiwiaGFzIiksZ2V0OmkoSj0+Si5sb2FkaW5nLCJnZXQiKSxzZXQ6aSgoSix3ZSk9PntKLmxvYWRpbmc9d2V9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LF8sQyksZGEodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93Q3JlYXRlRGlhbG9nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEo9PiJzaG93Q3JlYXRlRGlhbG9nImluIEosImhhcyIpLGdldDppKEo9Pkouc2hvd0NyZWF0ZURpYWxvZywiZ2V0Iiksc2V0OmkoKEosd2UpPT57Si5zaG93Q3JlYXRlRGlhbG9nPXdlfSwic2V0Iil9LG1ldGFkYXRhOnVlfSwkLEkpLGRhKHRoaXMsbnVsbCxqLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3JlYXRlRGlhbG9nVHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShKPT4iY3JlYXRlRGlhbG9nVHlwZSJpbiBKLCJoYXMiKSxnZXQ6aShKPT5KLmNyZWF0ZURpYWxvZ1R5cGUsImdldCIpLHNldDppKChKLHdlKT0+e0ouY3JlYXRlRGlhbG9nVHlwZT13ZX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sUyx6KSxkYSh0aGlzLG51bGwsRCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNyZWF0ZURpYWxvZ1ByZWZpeCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShKPT4iY3JlYXRlRGlhbG9nUHJlZml4ImluIEosImhhcyIpLGdldDppKEo9PkouY3JlYXRlRGlhbG9nUHJlZml4LCJnZXQiKSxzZXQ6aSgoSix3ZSk9PntKLmNyZWF0ZURpYWxvZ1ByZWZpeD13ZX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sVCxBKSxkYSh0aGlzLG51bGwsVSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNyZWF0ZURpYWxvZ05hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSj0+ImNyZWF0ZURpYWxvZ05hbWUiaW4gSiwiaGFzIiksZ2V0OmkoSj0+Si5jcmVhdGVEaWFsb2dOYW1lLCJnZXQiKSxzZXQ6aSgoSix3ZSk9PntKLmNyZWF0ZURpYWxvZ05hbWU9d2V9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LFIscSksZGEodGhpcyxudWxsLG9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHJhZ092ZXJDb2x1bW5JbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShKPT4iZHJhZ092ZXJDb2x1bW5JbmRleCJpbiBKLCJoYXMiKSxnZXQ6aShKPT5KLmRyYWdPdmVyQ29sdW1uSW5kZXgsImdldCIpLHNldDppKChKLHdlKT0+e0ouZHJhZ092ZXJDb2x1bW5JbmRleD13ZX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sTyxyZSksZGEodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHJhZ092ZXJGb2xkZXJQcmVmaXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSj0+ImRyYWdPdmVyRm9sZGVyUHJlZml4ImluIEosImhhcyIpLGdldDppKEo9PkouZHJhZ092ZXJGb2xkZXJQcmVmaXgsImdldCIpLHNldDppKChKLHdlKT0+e0ouZHJhZ092ZXJGb2xkZXJQcmVmaXg9d2V9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LEIsZWUpLGRhKHRoaXMsbnVsbCxDZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InVwbG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShKPT4idXBsb2FkaW5nImluIEosImhhcyIpLGdldDppKEo9PkoudXBsb2FkaW5nLCJnZXQiKSxzZXQ6aSgoSix3ZSk9PntKLnVwbG9hZGluZz13ZX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sWSxQKSxkYSh0aGlzLG51bGwsSCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InVwbG9hZFByb2dyZXNzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEo9PiJ1cGxvYWRQcm9ncmVzcyJpbiBKLCJoYXMiKSxnZXQ6aShKPT5KLnVwbG9hZFByb2dyZXNzLCJnZXQiKSxzZXQ6aSgoSix3ZSk9PntKLnVwbG9hZFByb2dyZXNzPXdlfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxHLFcpLGRhKHRoaXMsbnVsbCxzZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dNb3ZlRGlhbG9nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEo9PiJzaG93TW92ZURpYWxvZyJpbiBKLCJoYXMiKSxnZXQ6aShKPT5KLnNob3dNb3ZlRGlhbG9nLCJnZXQiKSxzZXQ6aSgoSix3ZSk9PntKLnNob3dNb3ZlRGlhbG9nPXdlfSwic2V0Iil9LG1ldGFkYXRhOnVlfSx6ZSxNZSksZGEodGhpcyxudWxsLEVlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZVNvdXJjZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShKPT4ibW92ZVNvdXJjZSJpbiBKLCJoYXMiKSxnZXQ6aShKPT5KLm1vdmVTb3VyY2UsImdldCIpLHNldDppKChKLHdlKT0+e0oubW92ZVNvdXJjZT13ZX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sVixGKSxkYSh0aGlzLG51bGwsbmUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlRGVzdGluYXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSj0+Im1vdmVEZXN0aW5hdGlvbiJpbiBKLCJoYXMiKSxnZXQ6aShKPT5KLm1vdmVEZXN0aW5hdGlvbiwiZ2V0Iiksc2V0OmkoKEosd2UpPT57Si5tb3ZlRGVzdGluYXRpb249d2V9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LHRlLEspLGRhKHRoaXMsbnVsbCxrZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVJblByb2dyZXNzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEo9PiJtb3ZlSW5Qcm9ncmVzcyJpbiBKLCJoYXMiKSxnZXQ6aShKPT5KLm1vdmVJblByb2dyZXNzLCJnZXQiKSxzZXQ6aSgoSix3ZSk9PntKLm1vdmVJblByb2dyZXNzPXdlfSwic2V0Iil9LG1ldGFkYXRhOnVlfSx2ZSxkZSksZGEodGhpcyxudWxsLCRlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZUVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEo9PiJtb3ZlRXJyb3IiaW4gSiwiaGFzIiksZ2V0OmkoSj0+Si5tb3ZlRXJyb3IsImdldCIpLHNldDppKChKLHdlKT0+e0oubW92ZUVycm9yPXdlfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxWZSxRZSksZGEodGhpcyxudWxsLFRlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd01vdmVQaWNrZXJEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSj0+InNob3dNb3ZlUGlja2VyRGlhbG9nImluIEosImhhcyIpLGdldDppKEo9Pkouc2hvd01vdmVQaWNrZXJEaWFsb2csImdldCIpLHNldDppKChKLHdlKT0+e0ouc2hvd01vdmVQaWNrZXJEaWFsb2c9d2V9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LGxlLGZlKSxkYSh0aGlzLG51bGwsU2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyU291cmNlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEo9PiJtb3ZlUGlja2VyU291cmNlImluIEosImhhcyIpLGdldDppKEo9PkoubW92ZVBpY2tlclNvdXJjZSwiZ2V0Iiksc2V0OmkoKEosd2UpPT57Si5tb3ZlUGlja2VyU291cmNlPXdlfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxIZSxLZSksZGEodGhpcyxudWxsLGt0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZVBpY2tlckN1cnJlbnRQcmVmaXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSj0+Im1vdmVQaWNrZXJDdXJyZW50UHJlZml4ImluIEosImhhcyIpLGdldDppKEo9PkoubW92ZVBpY2tlckN1cnJlbnRQcmVmaXgsImdldCIpLHNldDppKChKLHdlKT0+e0oubW92ZVBpY2tlckN1cnJlbnRQcmVmaXg9d2V9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LHV0LEN0KSxkYSh0aGlzLG51bGwsV3Qse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyUHJlZml4ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSj0+Im1vdmVQaWNrZXJQcmVmaXhlcyJpbiBKLCJoYXMiKSxnZXQ6aShKPT5KLm1vdmVQaWNrZXJQcmVmaXhlcywiZ2V0Iiksc2V0OmkoKEosd2UpPT57Si5tb3ZlUGlja2VyUHJlZml4ZXM9d2V9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LGhlLG1lKSxkYSh0aGlzLG51bGwsUGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyTG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShKPT4ibW92ZVBpY2tlckxvYWRpbmciaW4gSiwiaGFzIiksZ2V0OmkoSj0+Si5tb3ZlUGlja2VyTG9hZGluZywiZ2V0Iiksc2V0OmkoKEosd2UpPT57Si5tb3ZlUGlja2VyTG9hZGluZz13ZX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sZnQsYnQpLGRhKHRoaXMsbnVsbCxuYSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dSZW5hbWVEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSj0+InNob3dSZW5hbWVEaWFsb2ciaW4gSiwiaGFzIiksZ2V0OmkoSj0+Si5zaG93UmVuYW1lRGlhbG9nLCJnZXQiKSxzZXQ6aSgoSix3ZSk9PntKLnNob3dSZW5hbWVEaWFsb2c9d2V9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LFIxLCRyKSxkYSh0aGlzLG51bGwsRHIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5hbWVTb3VyY2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSj0+InJlbmFtZVNvdXJjZSJpbiBKLCJoYXMiKSxnZXQ6aShKPT5KLnJlbmFtZVNvdXJjZSwiZ2V0Iiksc2V0OmkoKEosd2UpPT57Si5yZW5hbWVTb3VyY2U9d2V9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LHFlLHR0KSxkYSh0aGlzLG51bGwsU2Ese2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5hbWVOYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEo9PiJyZW5hbWVOYW1lImluIEosImhhcyIpLGdldDppKEo9PkoucmVuYW1lTmFtZSwiZ2V0Iiksc2V0OmkoKEosd2UpPT57Si5yZW5hbWVOYW1lPXdlfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxqYSxYYSksZGEodGhpcyxudWxsLHMxLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVuYW1lSW5Qcm9ncmVzcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShKPT4icmVuYW1lSW5Qcm9ncmVzcyJpbiBKLCJoYXMiKSxnZXQ6aShKPT5KLnJlbmFtZUluUHJvZ3Jlc3MsImdldCIpLHNldDppKChKLHdlKT0+e0oucmVuYW1lSW5Qcm9ncmVzcz13ZX0sInNldCIpfSxtZXRhZGF0YTp1ZX0sS2EsS3IpLGRhKHRoaXMsbnVsbCxRcix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlbmFtZUVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEo9PiJyZW5hbWVFcnJvciJpbiBKLCJoYXMiKSxnZXQ6aShKPT5KLnJlbmFtZUVycm9yLCJnZXQiKSxzZXQ6aSgoSix3ZSk9PntKLnJlbmFtZUVycm9yPXdlfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxfZSx4ZSksZGEodGhpcyxudWxsLE5lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHJhZ2dlZEl0ZW0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSj0+ImRyYWdnZWRJdGVtImluIEosImhhcyIpLGdldDppKEo9PkouZHJhZ2dlZEl0ZW0sImdldCIpLHNldDppKChKLHdlKT0+e0ouZHJhZ2dlZEl0ZW09d2V9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LExlLGdlKSxkYShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTp1ZX0sbnVsbCxhKSxCZT1yPWUudmFsdWUsdWUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dWV9KX0jZT1zdCh0aGlzLG8sbnVsbCk7Z2V0IGRhdGFQcm92aWRlcigpe3JldHVybiB0aGlzLiNlfXNldCBkYXRhUHJvdmlkZXIodWUpe3RoaXMuI2U9dWV9I3Q9KHN0KHRoaXMsbCksc3QodGhpcyx1LCIiKSk7Z2V0IGJ1Y2tldE5hbWUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYnVja2V0TmFtZSh1ZSl7dGhpcy4jdD11ZX0jYT0oc3QodGhpcyxmKSxzdCh0aGlzLGcsIiIpKTtnZXQgY3VycmVudFByZWZpeCgpe3JldHVybiB0aGlzLiNhfXNldCBjdXJyZW50UHJlZml4KHVlKXt0aGlzLiNhPXVlfSNyPShzdCh0aGlzLHYpLHN0KHRoaXMsYiwwKSk7Z2V0IHJlZnJlc2hLZXkoKXtyZXR1cm4gdGhpcy4jcn1zZXQgcmVmcmVzaEtleSh1ZSl7dGhpcy4jcj11ZX0jaT0oc3QodGhpcyxtKSxzdCh0aGlzLE0sW10pKTtnZXQgY29sdW1ucygpe3JldHVybiB0aGlzLiNpfXNldCBjb2x1bW5zKHVlKXt0aGlzLiNpPXVlfSNzPShzdCh0aGlzLGspLHN0KHRoaXMsXywhMSkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGxvYWRpbmcodWUpe3RoaXMuI3M9dWV9I289KHN0KHRoaXMsQyksc3QodGhpcywkLCExKSk7Z2V0IHNob3dDcmVhdGVEaWFsb2coKXtyZXR1cm4gdGhpcy4jb31zZXQgc2hvd0NyZWF0ZURpYWxvZyh1ZSl7dGhpcy4jbz11ZX0jbj0oc3QodGhpcyxJKSxzdCh0aGlzLFMsImZvbGRlciIpKTtnZXQgY3JlYXRlRGlhbG9nVHlwZSgpe3JldHVybiB0aGlzLiNufXNldCBjcmVhdGVEaWFsb2dUeXBlKHVlKXt0aGlzLiNuPXVlfSNsPShzdCh0aGlzLHopLHN0KHRoaXMsVCwiIikpO2dldCBjcmVhdGVEaWFsb2dQcmVmaXgoKXtyZXR1cm4gdGhpcy4jbH1zZXQgY3JlYXRlRGlhbG9nUHJlZml4KHVlKXt0aGlzLiNsPXVlfSNjPShzdCh0aGlzLEEpLHN0KHRoaXMsUiwiIikpO2dldCBjcmVhdGVEaWFsb2dOYW1lKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGNyZWF0ZURpYWxvZ05hbWUodWUpe3RoaXMuI2M9dWV9I2Q9KHN0KHRoaXMscSksc3QodGhpcyxPLC0xKSk7Z2V0IGRyYWdPdmVyQ29sdW1uSW5kZXgoKXtyZXR1cm4gdGhpcy4jZH1zZXQgZHJhZ092ZXJDb2x1bW5JbmRleCh1ZSl7dGhpcy4jZD11ZX0jcD0oc3QodGhpcyxyZSksc3QodGhpcyxCLG51bGwpKTtnZXQgZHJhZ092ZXJGb2xkZXJQcmVmaXgoKXtyZXR1cm4gdGhpcy4jcH1zZXQgZHJhZ092ZXJGb2xkZXJQcmVmaXgodWUpe3RoaXMuI3A9dWV9I3U9KHN0KHRoaXMsZWUpLHN0KHRoaXMsWSwhMSkpO2dldCB1cGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jdX1zZXQgdXBsb2FkaW5nKHVlKXt0aGlzLiN1PXVlfSNmPShzdCh0aGlzLFApLHN0KHRoaXMsRyxudWxsKSk7Z2V0IHVwbG9hZFByb2dyZXNzKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IHVwbG9hZFByb2dyZXNzKHVlKXt0aGlzLiNmPXVlfSNoPShzdCh0aGlzLFcpLHN0KHRoaXMsemUsITEpKTtnZXQgc2hvd01vdmVEaWFsb2coKXtyZXR1cm4gdGhpcy4jaH1zZXQgc2hvd01vdmVEaWFsb2codWUpe3RoaXMuI2g9dWV9I209KHN0KHRoaXMsTWUpLHN0KHRoaXMsVixudWxsKSk7Z2V0IG1vdmVTb3VyY2UoKXtyZXR1cm4gdGhpcy4jbX1zZXQgbW92ZVNvdXJjZSh1ZSl7dGhpcy4jbT11ZX0jZz0oc3QodGhpcyxGKSxzdCh0aGlzLHRlLCIiKSk7Z2V0IG1vdmVEZXN0aW5hdGlvbigpe3JldHVybiB0aGlzLiNnfXNldCBtb3ZlRGVzdGluYXRpb24odWUpe3RoaXMuI2c9dWV9I2I9KHN0KHRoaXMsSyksc3QodGhpcyx2ZSwhMSkpO2dldCBtb3ZlSW5Qcm9ncmVzcygpe3JldHVybiB0aGlzLiNifXNldCBtb3ZlSW5Qcm9ncmVzcyh1ZSl7dGhpcy4jYj11ZX0jdj0oc3QodGhpcyxkZSksc3QodGhpcyxWZSxudWxsKSk7Z2V0IG1vdmVFcnJvcigpe3JldHVybiB0aGlzLiN2fXNldCBtb3ZlRXJyb3IodWUpe3RoaXMuI3Y9dWV9I3g9KHN0KHRoaXMsUWUpLHN0KHRoaXMsbGUsITEpKTtnZXQgc2hvd01vdmVQaWNrZXJEaWFsb2coKXtyZXR1cm4gdGhpcy4jeH1zZXQgc2hvd01vdmVQaWNrZXJEaWFsb2codWUpe3RoaXMuI3g9dWV9I3k9KHN0KHRoaXMsZmUpLHN0KHRoaXMsSGUsbnVsbCkpO2dldCBtb3ZlUGlja2VyU291cmNlKCl7cmV0dXJuIHRoaXMuI3l9c2V0IG1vdmVQaWNrZXJTb3VyY2UodWUpe3RoaXMuI3k9dWV9I3c9KHN0KHRoaXMsS2UpLHN0KHRoaXMsdXQsIiIpKTtnZXQgbW92ZVBpY2tlckN1cnJlbnRQcmVmaXgoKXtyZXR1cm4gdGhpcy4jd31zZXQgbW92ZVBpY2tlckN1cnJlbnRQcmVmaXgodWUpe3RoaXMuI3c9dWV9I009KHN0KHRoaXMsQ3QpLHN0KHRoaXMsaGUsW10pKTtnZXQgbW92ZVBpY2tlclByZWZpeGVzKCl7cmV0dXJuIHRoaXMuI019c2V0IG1vdmVQaWNrZXJQcmVmaXhlcyh1ZSl7dGhpcy4jTT11ZX0jaz0oc3QodGhpcyxtZSksc3QodGhpcyxmdCwhMSkpO2dldCBtb3ZlUGlja2VyTG9hZGluZygpe3JldHVybiB0aGlzLiNrfXNldCBtb3ZlUGlja2VyTG9hZGluZyh1ZSl7dGhpcy4jaz11ZX0jej0oc3QodGhpcyxidCksc3QodGhpcyxSMSwhMSkpO2dldCBzaG93UmVuYW1lRGlhbG9nKCl7cmV0dXJuIHRoaXMuI3p9c2V0IHNob3dSZW5hbWVEaWFsb2codWUpe3RoaXMuI3o9dWV9I1M9KHN0KHRoaXMsJHIpLHN0KHRoaXMscWUsbnVsbCkpO2dldCByZW5hbWVTb3VyY2UoKXtyZXR1cm4gdGhpcy4jU31zZXQgcmVuYW1lU291cmNlKHVlKXt0aGlzLiNTPXVlfSNDPShzdCh0aGlzLHR0KSxzdCh0aGlzLGphLCIiKSk7Z2V0IHJlbmFtZU5hbWUoKXtyZXR1cm4gdGhpcy4jQ31zZXQgcmVuYW1lTmFtZSh1ZSl7dGhpcy4jQz11ZX0jXz0oc3QodGhpcyxYYSksc3QodGhpcyxLYSwhMSkpO2dldCByZW5hbWVJblByb2dyZXNzKCl7cmV0dXJuIHRoaXMuI199c2V0IHJlbmFtZUluUHJvZ3Jlc3ModWUpe3RoaXMuI189dWV9I1Q9KHN0KHRoaXMsS3IpLHN0KHRoaXMsX2UsbnVsbCkpO2dldCByZW5hbWVFcnJvcigpe3JldHVybiB0aGlzLiNUfXNldCByZW5hbWVFcnJvcih1ZSl7dGhpcy4jVD11ZX0jTD0oc3QodGhpcyx4ZSksc3QodGhpcyxMZSxudWxsKSk7Z2V0IGRyYWdnZWRJdGVtKCl7cmV0dXJuIHRoaXMuI0x9c2V0IGRyYWdnZWRJdGVtKHVlKXt0aGlzLiNMPXVlfXJlc2l6aW5nPShzdCh0aGlzLGdlKSxudWxsKTtERUZBVUxUX0NPTFVNTl9XSURUSD0yNTA7TUlOX0NPTFVNTl9XSURUSD0xNTA7TUFYX0NPTFVNTl9XSURUSD01MDA7ZHJhZ0NvdW50ZXJzPW5ldyBNYXA7Zm9sZGVySG92ZXJUaW1lcj1udWxsO2ZpbGVJbnB1dEVsZW1lbnQ9bnVsbDtmb2xkZXJJbnB1dEVsZW1lbnQ9bnVsbDtzdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsRGUsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmNvbHVtbnMtY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBtaW4td2lkdGg6IG1heC1jb250ZW50OwogICAgICB9CgogICAgICAuY29sdW1uLXdyYXBwZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuY29sdW1uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZSB7CiAgICAgICAgd2lkdGg6IDVweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGU6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDJweDsKICAgICAgICB3aWR0aDogMXB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzMzMiKX07CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlOmhvdmVyOjphZnRlciwKICAgICAgLnJlc2l6ZS1oYW5kbGUuYWN0aXZlOjphZnRlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNhMWExYWEiLCIjNDA0MDQwIil9OwogICAgICAgIHdpZHRoOiAycHg7CiAgICAgICAgbGVmdDogMXB4OwogICAgICB9CgogICAgICAuY29sdW1uLXdyYXBwZXI6bGFzdC1jaGlsZCAucmVzaXplLWhhbmRsZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLmNvbHVtbi1oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiM2NjYiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMikiLCJyZ2JhKDAsIDAsIDAsIDAuMikiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzMzMyIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5jb2x1bW4taXRlbXMgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgIH0KCiAgICAgIC5jb2x1bW4taXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xczsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA0KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkiKX07CiAgICAgIH0KCiAgICAgIC5jb2x1bW4taXRlbS5zZWxlY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzFkNGVkOCIsIiNlMGUwZTAiKX07CiAgICAgIH0KCiAgICAgIC5jb2x1bW4taXRlbS5mb2xkZXIgewogICAgICAgIGNvbG9yOiAjZmJiZjI0OwogICAgICB9CgogICAgICAuY29sdW1uLWl0ZW0gLmljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtIC5uYW1lIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtIC5jaGV2cm9uIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzU1NSIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNhMWExYWEiLCIjNjY2Iil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLmxvYWRpbmcgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgIH0KCiAgICAgIC5jb2x1bW4uZHJhZy1vdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4wOCk7CiAgICAgICAgb3V0bGluZTogMnB4IGRhc2hlZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC40KTsKICAgICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtLmZvbGRlci5kcmFnLXRhcmdldCB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMikgIWltcG9ydGFudDsKICAgICAgICBvdXRsaW5lOiAxcHggc29saWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuNSk7CiAgICAgIH0KCiAgICAgIC51cGxvYWQtb3ZlcmxheSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICB9CgogICAgICAudXBsb2FkLW92ZXJsYXkgLnVwbG9hZC10ZXh0IHsKICAgICAgICBjb2xvcjogI2UwZTBlMDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgIC51cGxvYWQtb3ZlcmxheSAudXBsb2FkLXByb2dyZXNzIHsKICAgICAgICBjb2xvcjogIzg4ODsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgIH0KCiAgICAgIC5kcmFnLWhpbnQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDhweDsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjkpOwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBwYWRkaW5nOiA0cHggMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgei1pbmRleDogNTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1vdmVybGF5IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgei1pbmRleDogMTAwMDsKICAgICAgfQoKICAgICAgLmRpYWxvZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMWUxZTFlIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBtaW4td2lkdGg6IDQwMHB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMjBweCA0MHB4IHJnYmEoMCwgMCwgMCwgMC41KTsKICAgICAgfQoKICAgICAgLmRpYWxvZy10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICB9CgogICAgICAuZGlhbG9nLWxvY2F0aW9uIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiIzg4OCIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctaW5wdXQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBhZGRpbmc6IDEwcHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxNDE0MTQiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjMzMzIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmRpYWxvZy1pbnB1dDpmb2N1cyB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiI2UwZTBlMCIpfTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1oaW50IHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiIzY2NiIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuZGlhbG9nLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYnRuIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsKICAgICAgfQoKICAgICAgLmRpYWxvZy1idG4tY2FuY2VsIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2Q0ZDRkOCIsIiM0NDQiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2FhYSIpfTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1idG4tY2FuY2VsOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAzKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1idG4tY3JlYXRlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiM0MDQwNDAiKX07CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYnRuLWNyZWF0ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjNTA1MDUwIil9OwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0bi1jcmVhdGU6ZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICAvKiBNb3ZlIGRpYWxvZyBzdHlsZXMgKi8KICAgICAgLm1vdmUtc3VtbWFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMykiLCJyZ2JhKDAsIDAsIDAsIDAuMikiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLm1vdmUtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC5tb3ZlLWl0ZW06bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLm1vdmUtbGFiZWwgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiM4ODgiKX07CiAgICAgICAgbWluLXdpZHRoOiA0MHB4OwogICAgICB9CgogICAgICAubW92ZS1wYXRoIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzZjNmNDYiLCIjZTBlMGUwIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgfQoKICAgICAgLm1vdmUtZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMTUpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjM5LCA2OCwgNjgsIDAuMyk7CiAgICAgICAgY29sb3I6ICNmODcxNzE7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLyogTW92ZSBwaWNrZXIgZGlhbG9nIHN0eWxlcyAqLwogICAgICAubW92ZS1waWNrZXItZGlhbG9nIHsKICAgICAgICBtaW4td2lkdGg6IDQ1MHB4OwogICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4OwogICAgICB9CgogICAgICAucGlja2VyLWJyZWFkY3J1bWIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAzKSIsInJnYmEoMCwgMCwgMCwgMC4yKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgfQoKICAgICAgLnBpY2tlci1jcnVtYiB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiIzg4OCIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLnBpY2tlci1jcnVtYjpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLnBpY2tlci1zZXBhcmF0b3IgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2Q0ZDRkOCIsIiM1NTUiKX07CiAgICAgIH0KCiAgICAgIC5waWNrZXItbGlzdCB7CiAgICAgICAgbWF4LWhlaWdodDogMjgwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzMzMiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgbWluLWhlaWdodDogMTAwcHg7CiAgICAgIH0KCiAgICAgIC5waWNrZXItaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBjb2xvcjogI2ZiYmYyNDsKICAgICAgfQoKICAgICAgLnBpY2tlci1pdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAzKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkiKX07CiAgICAgIH0KCiAgICAgIC5waWNrZXItaXRlbSAuaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAucGlja2VyLWl0ZW0gLm5hbWUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAucGlja2VyLWVtcHR5IHsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNhMWExYWEiLCIjNjY2Iil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtLmRyYWdnaW5nIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC5jb2x1bW4taXRlbS5kcm9wLXRhcmdldCB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpICFpbXBvcnRhbnQ7CiAgICAgICAgb3V0bGluZTogMXB4IGRhc2hlZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC41KTsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtLmRyb3AtaW52YWxpZCB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKSAhaW1wb3J0YW50OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KICAgIGBdO2FzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCB0aGlzLmxvYWRJbml0aWFsQ29sdW1uKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuY2xlYXJGb2xkZXJIb3ZlcigpLHRoaXMuZHJhZ0NvdW50ZXJzLmNsZWFyKCksdGhpcy5maWxlSW5wdXRFbGVtZW50JiYodGhpcy5maWxlSW5wdXRFbGVtZW50LnJlbW92ZSgpLHRoaXMuZmlsZUlucHV0RWxlbWVudD1udWxsKSx0aGlzLmZvbGRlcklucHV0RWxlbWVudCYmKHRoaXMuZm9sZGVySW5wdXRFbGVtZW50LnJlbW92ZSgpLHRoaXMuZm9sZGVySW5wdXRFbGVtZW50PW51bGwpfXVwZGF0ZWQodWUpe3VlLmhhcygiYnVja2V0TmFtZSIpfHx1ZS5oYXMoImN1cnJlbnRQcmVmaXgiKT90aGlzLmxvYWRJbml0aWFsQ29sdW1uKCk6dWUuaGFzKCJyZWZyZXNoS2V5IikmJnRoaXMucmVmcmVzaEFsbENvbHVtbnMoKX1hc3luYyBsb2FkSW5pdGlhbENvbHVtbigpe2lmKHRoaXMuZGF0YVByb3ZpZGVyKXt0aGlzLmxvYWRpbmc9ITA7dHJ5e2xldCB1ZT15Nih0aGlzLmN1cnJlbnRQcmVmaXgpLEo9WyIiLC4uLnVlXSx3ZT1hd2FpdCBQcm9taXNlLmFsbChKLm1hcChPZT0+dGhpcy5kYXRhUHJvdmlkZXIubGlzdE9iamVjdHModGhpcy5idWNrZXROYW1lLE9lLCIvIikpKTt0aGlzLmNvbHVtbnM9d2UubWFwKChPZSxGZSk9PntsZXQgSnQ9SltGZV0sbGE9RmU8dWUubGVuZ3RoP3VlW0ZlXTpudWxsO3JldHVybntwcmVmaXg6SnQsb2JqZWN0czpPZS5vYmplY3RzLHByZWZpeGVzOk9lLnByZWZpeGVzLHNlbGVjdGVkSXRlbTpsYSx3aWR0aDp0aGlzLkRFRkFVTFRfQ09MVU1OX1dJRFRIfX0pLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5zY3JvbGxUb0VuZCgpKX1jYXRjaCh1ZSl7Y29uc29sZS5lcnJvcigiRXJyb3IgbG9hZGluZyBvYmplY3RzOiIsdWUpLHRoaXMuY29sdW1ucz1bXX10aGlzLmxvYWRpbmc9ITF9fWFzeW5jIHJlZnJlc2hBbGxDb2x1bW5zKCl7aWYoIXRoaXMuZGF0YVByb3ZpZGVyKXJldHVybjtsZXQgdWU9YXdhaXQgUHJvbWlzZS5hbGwodGhpcy5jb2x1bW5zLm1hcChhc3luYyBKPT57dHJ5e2xldCB3ZT1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5saXN0T2JqZWN0cyh0aGlzLmJ1Y2tldE5hbWUsSi5wcmVmaXgsIi8iKTtyZXR1cm57Li4uSixvYmplY3RzOndlLm9iamVjdHMscHJlZml4ZXM6d2UucHJlZml4ZXN9fWNhdGNoe3JldHVybiBKfX0pKTt0aGlzLmNvbHVtbnM9dWV9YXN5bmMgc2VsZWN0Rm9sZGVyKHVlLEope2lmKHRoaXMuZGF0YVByb3ZpZGVyKXt0aGlzLmNvbHVtbnM9dGhpcy5jb2x1bW5zLm1hcCgod2UsT2UpPT5PZT09PXVlP3suLi53ZSxzZWxlY3RlZEl0ZW06Sn06d2UpLHRoaXMuY29sdW1ucz10aGlzLmNvbHVtbnMuc2xpY2UoMCx1ZSsxKTt0cnl7bGV0IHdlPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmxpc3RPYmplY3RzKHRoaXMuYnVja2V0TmFtZSxKLCIvIik7dGhpcy5jb2x1bW5zPVsuLi50aGlzLmNvbHVtbnMse3ByZWZpeDpKLG9iamVjdHM6d2Uub2JqZWN0cyxwcmVmaXhlczp3ZS5wcmVmaXhlcyxzZWxlY3RlZEl0ZW06bnVsbCx3aWR0aDp0aGlzLkRFRkFVTFRfQ09MVU1OX1dJRFRIfV0sdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLnNjcm9sbFRvRW5kKCkpfWNhdGNoKHdlKXtjb25zb2xlLmVycm9yKCJFcnJvciBsb2FkaW5nIGZvbGRlcjoiLHdlKX19fXNjcm9sbFRvRW5kKCl7dGhpcy5zY3JvbGxMZWZ0PXRoaXMuc2Nyb2xsV2lkdGgtdGhpcy5jbGllbnRXaWR0aH1zdGFydFJlc2l6ZSh1ZSxKKXt1ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMucmVzaXppbmc9e2NvbHVtbkluZGV4Okosc3RhcnRYOnVlLmNsaWVudFgsc3RhcnRXaWR0aDp0aGlzLmNvbHVtbnNbSl0ud2lkdGh9LGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVSZXNpemUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuc3RvcFJlc2l6ZSksZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I9ImNvbC1yZXNpemUiLGRvY3VtZW50LmJvZHkuc3R5bGUudXNlclNlbGVjdD0ibm9uZSJ9aGFuZGxlUmVzaXplPWkodWU9PntpZighdGhpcy5yZXNpemluZylyZXR1cm47bGV0IEo9dWUuY2xpZW50WC10aGlzLnJlc2l6aW5nLnN0YXJ0WCx3ZT1NYXRoLm1pbih0aGlzLk1BWF9DT0xVTU5fV0lEVEgsTWF0aC5tYXgodGhpcy5NSU5fQ09MVU1OX1dJRFRILHRoaXMucmVzaXppbmcuc3RhcnRXaWR0aCtKKSk7dGhpcy5jb2x1bW5zPXRoaXMuY29sdW1ucy5tYXAoKE9lLEZlKT0+RmU9PT10aGlzLnJlc2l6aW5nLmNvbHVtbkluZGV4P3suLi5PZSx3aWR0aDp3ZX06T2UpfSwiaGFuZGxlUmVzaXplIik7c3RvcFJlc2l6ZT1pKCgpPT57dGhpcy5yZXNpemluZz1udWxsLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVSZXNpemUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuc3RvcFJlc2l6ZSksZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I9IiIsZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0PSIifSwic3RvcFJlc2l6ZSIpO3NlbGVjdEZpbGUodWUsSil7dGhpcy5jb2x1bW5zPXRoaXMuY29sdW1ucy5tYXAoKHdlLE9lKT0+T2U9PT11ZT97Li4ud2Usc2VsZWN0ZWRJdGVtOkp9OndlKSx0aGlzLmNvbHVtbnM9dGhpcy5jb2x1bW5zLnNsaWNlKDAsdWUrMSksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgia2V5LXNlbGVjdGVkIix7ZGV0YWlsOntrZXk6Sn0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1nZXRGaWxlSWNvbih1ZSl7bGV0IEo9dWUuc3BsaXQoIi4iKS5wb3AoKT8udG9Mb3dlckNhc2UoKXx8IiI7cmV0dXJue2pzb246Ik0xNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOHoiLHR4dDoiTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4eiIscG5nOiJNNSAzaDE0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yeiIsanBnOiJNNSAzaDE0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yeiIsanBlZzoiTTUgM2gxNGEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMnoiLGdpZjoiTTUgM2gxNGEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMnoiLHBkZjoiTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4eiJ9W0pdfHwiTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4eiJ9aGFuZGxlRm9sZGVyQ29udGV4dE1lbnUodWUsSix3ZSl7dGhpcy5kYXRhUHJvdmlkZXImJih1ZS5wcmV2ZW50RGVmYXVsdCgpLE50Lm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKHVlLFt7bmFtZToiT3BlbiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJPcGVuIixhY3Rpb246aShhc3luYygpPT57dGhpcy5zZWxlY3RGb2xkZXIoSix3ZSl9LCJhY3Rpb24iKX0se25hbWU6IkNvcHkgUGF0aCIsaWNvbk5hbWU6Imx1Y2lkZTpjb3B5IixhY3Rpb246aShhc3luYygpPT57YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQod2UpfSwiYWN0aW9uIil9LHtuYW1lOiJSZW5hbWUiLGljb25OYW1lOiJsdWNpZGU6cGVuY2lsIixhY3Rpb246aShhc3luYygpPT50aGlzLm9wZW5SZW5hbWVEaWFsb2cod2UsITApLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJNb3ZlIHRvLi4uIixpY29uTmFtZToibHVjaWRlOmZvbGRlcklucHV0IixhY3Rpb246aShhc3luYygpPT50aGlzLm9wZW5Nb3ZlUGlja2VyRGlhbG9nKHdlLCEwKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiTmV3IEZvbGRlciBJbnNpZGUiLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVyUGx1cyIsYWN0aW9uOmkoYXN5bmMoKT0+dGhpcy5vcGVuQ3JlYXRlRGlhbG9nKCJmb2xkZXIiLHdlKSwiYWN0aW9uIil9LHtuYW1lOiJOZXcgRmlsZSBJbnNpZGUiLGljb25OYW1lOiJsdWNpZGU6ZmlsZVBsdXMiLGFjdGlvbjppKGFzeW5jKCk9PnRoaXMub3BlbkNyZWF0ZURpYWxvZygiZmlsZSIsd2UpLCJhY3Rpb24iKX0se25hbWU6IlVwbG9hZCBGaWxlcy4uLiIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlIixhY3Rpb246aShhc3luYygpPT50aGlzLnRyaWdnZXJGaWxlVXBsb2FkKHdlLCJmaWxlcyIpLCJhY3Rpb24iKX0se25hbWU6IlVwbG9hZCBGb2xkZXIuLi4iLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVyVXAiLGFjdGlvbjppKGFzeW5jKCk9PnRoaXMudHJpZ2dlckZpbGVVcGxvYWQod2UsImZvbGRlciIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJEZWxldGUgRm9sZGVyIixpY29uTmFtZToibHVjaWRlOnRyYXNoMiIsYWN0aW9uOmkoYXN5bmMoKT0+e2NvbmZpcm0oYERlbGV0ZSBmb2xkZXIgIiR7anQod2UpfSIgYW5kIGFsbCBpdHMgY29udGVudHM/YCkmJmF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmRlbGV0ZVByZWZpeCh0aGlzLmJ1Y2tldE5hbWUsd2UpJiYodGhpcy5jb2x1bW5zPXRoaXMuY29sdW1ucy5zbGljZSgwLEorMSksdGhpcy5jb2x1bW5zPXRoaXMuY29sdW1ucy5tYXAoKEZlLEp0KT0+SnQ9PT1KP3suLi5GZSxzZWxlY3RlZEl0ZW06bnVsbH06RmUpLGF3YWl0IHRoaXMucmVmcmVzaENvbHVtbkJ5UHJlZml4KHRoaXMuY29sdW1uc1tKXS5wcmVmaXgpKX0sImFjdGlvbiIpfV0pKX1oYW5kbGVGaWxlQ29udGV4dE1lbnUodWUsSix3ZSl7dGhpcy5kYXRhUHJvdmlkZXImJih1ZS5wcmV2ZW50RGVmYXVsdCgpLE50Lm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKHVlLFt7bmFtZToiUHJldmlldyIsaWNvbk5hbWU6Imx1Y2lkZTpleWUiLGFjdGlvbjppKGFzeW5jKCk9Pnt0aGlzLnNlbGVjdEZpbGUoSix3ZSl9LCJhY3Rpb24iKX0se25hbWU6IkRvd25sb2FkIixpY29uTmFtZToibHVjaWRlOmRvd25sb2FkIixhY3Rpb246aShhc3luYygpPT57bGV0IE9lPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmdldE9iamVjdFVybCh0aGlzLmJ1Y2tldE5hbWUsd2UpLEZlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtGZS5ocmVmPU9lLEZlLmRvd25sb2FkPWp0KHdlKSxGZS5jbGljaygpfSwiYWN0aW9uIil9LHtuYW1lOiJDb3B5IFBhdGgiLGljb25OYW1lOiJsdWNpZGU6Y29weSIsYWN0aW9uOmkoYXN5bmMoKT0+e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHdlKX0sImFjdGlvbiIpfSx7bmFtZToiUmVuYW1lIixpY29uTmFtZToibHVjaWRlOnBlbmNpbCIsYWN0aW9uOmkoYXN5bmMoKT0+dGhpcy5vcGVuUmVuYW1lRGlhbG9nKHdlLCExKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiTW92ZSB0by4uLiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJJbnB1dCIsYWN0aW9uOmkoYXN5bmMoKT0+dGhpcy5vcGVuTW92ZVBpY2tlckRpYWxvZyh3ZSwhMSksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkRlbGV0ZSIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaDIiLGFjdGlvbjppKGFzeW5jKCk9Pntjb25maXJtKGBEZWxldGUgZmlsZSAiJHtqdCh3ZSl9Ij9gKSYmYXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIuZGVsZXRlT2JqZWN0KHRoaXMuYnVja2V0TmFtZSx3ZSkmJmF3YWl0IHRoaXMucmVmcmVzaENvbHVtbkJ5UHJlZml4KHRoaXMuY29sdW1uc1tKXS5wcmVmaXgpfSwiYWN0aW9uIil9XSkpfWhhbmRsZUVtcHR5U3BhY2VDb250ZXh0TWVudSh1ZSxKKXtpZih1ZS50YXJnZXQhPT11ZS5jdXJyZW50VGFyZ2V0KXJldHVybjt1ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCB3ZT10aGlzLmNvbHVtbnNbSl0ucHJlZml4O050Lm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKHVlLFt7bmFtZToiTmV3IEZvbGRlciIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJQbHVzIixhY3Rpb246aShhc3luYygpPT50aGlzLm9wZW5DcmVhdGVEaWFsb2coImZvbGRlciIsd2UpLCJhY3Rpb24iKX0se25hbWU6Ik5ldyBGaWxlIixpY29uTmFtZToibHVjaWRlOmZpbGVQbHVzIixhY3Rpb246aShhc3luYygpPT50aGlzLm9wZW5DcmVhdGVEaWFsb2coImZpbGUiLHdlKSwiYWN0aW9uIil9LHtuYW1lOiJVcGxvYWQgRmlsZXMuLi4iLGljb25OYW1lOiJsdWNpZGU6ZmlsZSIsYWN0aW9uOmkoYXN5bmMoKT0+dGhpcy50cmlnZ2VyRmlsZVVwbG9hZCh3ZSwiZmlsZXMiKSwiYWN0aW9uIil9LHtuYW1lOiJVcGxvYWQgRm9sZGVyLi4uIixpY29uTmFtZToibHVjaWRlOmZvbGRlclVwIixhY3Rpb246aShhc3luYygpPT50aGlzLnRyaWdnZXJGaWxlVXBsb2FkKHdlLCJmb2xkZXIiKSwiYWN0aW9uIil9XSl9b3BlbkNyZWF0ZURpYWxvZyh1ZSxKKXt0aGlzLmNyZWF0ZURpYWxvZ1R5cGU9dWUsdGhpcy5jcmVhdGVEaWFsb2dQcmVmaXg9Six0aGlzLmNyZWF0ZURpYWxvZ05hbWU9IiIsdGhpcy5zaG93Q3JlYXRlRGlhbG9nPSEwfWVuc3VyZUZpbGVJbnB1dHMoKXt0aGlzLmZpbGVJbnB1dEVsZW1lbnR8fCh0aGlzLmZpbGVJbnB1dEVsZW1lbnQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKSx0aGlzLmZpbGVJbnB1dEVsZW1lbnQudHlwZT0iZmlsZSIsdGhpcy5maWxlSW5wdXRFbGVtZW50Lm11bHRpcGxlPSEwLHRoaXMuZmlsZUlucHV0RWxlbWVudC5zdHlsZS5kaXNwbGF5PSJub25lIix0aGlzLnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQodGhpcy5maWxlSW5wdXRFbGVtZW50KSksdGhpcy5mb2xkZXJJbnB1dEVsZW1lbnR8fCh0aGlzLmZvbGRlcklucHV0RWxlbWVudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLHRoaXMuZm9sZGVySW5wdXRFbGVtZW50LnR5cGU9ImZpbGUiLHRoaXMuZm9sZGVySW5wdXRFbGVtZW50Lm11bHRpcGxlPSEwLHRoaXMuZm9sZGVySW5wdXRFbGVtZW50LndlYmtpdGRpcmVjdG9yeT0hMCx0aGlzLmZvbGRlcklucHV0RWxlbWVudC5zdHlsZS5kaXNwbGF5PSJub25lIix0aGlzLnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQodGhpcy5mb2xkZXJJbnB1dEVsZW1lbnQpKX10cmlnZ2VyRmlsZVVwbG9hZCh1ZSxKKXt0aGlzLmVuc3VyZUZpbGVJbnB1dHMoKTtsZXQgd2U9Sj09PSJmb2xkZXIiP3RoaXMuZm9sZGVySW5wdXRFbGVtZW50OnRoaXMuZmlsZUlucHV0RWxlbWVudDt3ZS52YWx1ZT0iIjtsZXQgT2U9aShhc3luYygpPT57d2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixPZSksd2UuZmlsZXMmJndlLmZpbGVzLmxlbmd0aD4wJiZhd2FpdCB0aGlzLnVwbG9hZEZpbGVzKEFycmF5LmZyb20od2UuZmlsZXMpLHVlKX0sImhhbmRsZXIiKTt3ZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLE9lKSx3ZS5jbGljaygpfWFzeW5jIHVwbG9hZEZpbGVzKHVlLEope2lmKHRoaXMuZGF0YVByb3ZpZGVyKXt0aGlzLnVwbG9hZGluZz0hMCx0aGlzLnVwbG9hZFByb2dyZXNzPXtjdXJyZW50OjAsdG90YWw6dWUubGVuZ3RofTtmb3IobGV0IHdlPTA7d2U8dWUubGVuZ3RoO3dlKyspe2xldCBPZT11ZVt3ZV07dGhpcy51cGxvYWRQcm9ncmVzcz17Y3VycmVudDp3ZSsxLHRvdGFsOnVlLmxlbmd0aH07dHJ5e2xldCBGZT1hd2FpdCB0aGlzLnJlYWRGaWxlQXNCYXNlNjQoT2UpLEp0PU9lLndlYmtpdFJlbGF0aXZlUGF0aHx8T2UubmFtZSxsYT1KK0p0LG8xPU9lLnR5cGV8fGdsKE9lLm5hbWUuc3BsaXQoIi4iKS5wb3AoKT8udG9Mb3dlckNhc2UoKXx8IiIpO2F3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLnB1dE9iamVjdCh0aGlzLmJ1Y2tldE5hbWUsbGEsRmUsbzEpfWNhdGNoKEZlKXtjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gdXBsb2FkICR7T2UubmFtZX06YCxGZSl9fXRoaXMudXBsb2FkaW5nPSExLHRoaXMudXBsb2FkUHJvZ3Jlc3M9bnVsbCxhd2FpdCB0aGlzLnJlZnJlc2hDb2x1bW5CeVByZWZpeChKKX19YXN5bmMgdXBsb2FkRmlsZXNXaXRoUGF0aHModWUsSil7aWYodGhpcy5kYXRhUHJvdmlkZXIpe3RoaXMudXBsb2FkaW5nPSEwLHRoaXMudXBsb2FkUHJvZ3Jlc3M9e2N1cnJlbnQ6MCx0b3RhbDp1ZS5sZW5ndGh9O2ZvcihsZXQgd2U9MDt3ZTx1ZS5sZW5ndGg7d2UrKyl7bGV0e2ZpbGU6T2UscmVsYXRpdmVQYXRoOkZlfT11ZVt3ZV07dGhpcy51cGxvYWRQcm9ncmVzcz17Y3VycmVudDp3ZSsxLHRvdGFsOnVlLmxlbmd0aH07dHJ5e2xldCBKdD1hd2FpdCB0aGlzLnJlYWRGaWxlQXNCYXNlNjQoT2UpLGxhPUorRmUsbzE9T2UudHlwZXx8Z2woT2UubmFtZS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpfHwiIik7YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIucHV0T2JqZWN0KHRoaXMuYnVja2V0TmFtZSxsYSxKdCxvMSl9Y2F0Y2goSnQpe2NvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byB1cGxvYWQgJHtGZX06YCxKdCl9fXRoaXMudXBsb2FkaW5nPSExLHRoaXMudXBsb2FkUHJvZ3Jlc3M9bnVsbCxhd2FpdCB0aGlzLnJlZnJlc2hDb2x1bW5CeVByZWZpeChKKX19cmVhZEZpbGVBc0Jhc2U2NCh1ZSl7cmV0dXJuIG5ldyBQcm9taXNlKChKLHdlKT0+e2xldCBPZT1uZXcgRmlsZVJlYWRlcjtPZS5vbmxvYWQ9KCk9PntsZXQgRmU9T2UucmVzdWx0O0ooRmUuc3BsaXQoIiwiKVsxXXx8IiIpfSxPZS5vbmVycm9yPSgpPT53ZShPZS5lcnJvciksT2UucmVhZEFzRGF0YVVSTCh1ZSl9KX1hc3luYyByZWZyZXNoQ29sdW1uQnlQcmVmaXgodWUpe2lmKCF0aGlzLmRhdGFQcm92aWRlcilyZXR1cm47bGV0IEo9dGhpcy5jb2x1bW5zLmZpbmRJbmRleCh3ZT0+d2UucHJlZml4PT09dWUpO2lmKEo9PT0tMSl7YXdhaXQgdGhpcy5yZWZyZXNoQWxsQ29sdW1ucygpO3JldHVybn10cnl7bGV0IHdlPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmxpc3RPYmplY3RzKHRoaXMuYnVja2V0TmFtZSx1ZSwiLyIpO3RoaXMuY29sdW1ucz10aGlzLmNvbHVtbnMubWFwKChPZSxGZSk9PkZlPT09Sj97Li4uT2Usb2JqZWN0czp3ZS5vYmplY3RzLHByZWZpeGVzOndlLnByZWZpeGVzfTpPZSl9Y2F0Y2h7YXdhaXQgdGhpcy5yZWZyZXNoQWxsQ29sdW1ucygpfX1oYW5kbGVDb2x1bW5EcmFnRW50ZXIodWUsSil7dWUucHJldmVudERlZmF1bHQoKSx1ZS5zdG9wUHJvcGFnYXRpb24oKTtsZXQgd2U9KHRoaXMuZHJhZ0NvdW50ZXJzLmdldChKKXx8MCkrMTt0aGlzLmRyYWdDb3VudGVycy5zZXQoSix3ZSksdGhpcy5kcmFnT3ZlckNvbHVtbkluZGV4PUp9aGFuZGxlQ29sdW1uRHJhZ092ZXIodWUpe3VlLnByZXZlbnREZWZhdWx0KCksdWUuc3RvcFByb3BhZ2F0aW9uKCksdWUuZGF0YVRyYW5zZmVyJiYodWUuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Q9dGhpcy5kcmFnZ2VkSXRlbT8ibW92ZSI6ImNvcHkiKX1oYW5kbGVDb2x1bW5EcmFnTGVhdmUodWUsSil7dWUuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IHdlPSh0aGlzLmRyYWdDb3VudGVycy5nZXQoSil8fDEpLTE7dGhpcy5kcmFnQ291bnRlcnMuc2V0KEosd2UpLHdlPD0wJiYodGhpcy5kcmFnQ291bnRlcnMuZGVsZXRlKEopLHRoaXMuZHJhZ092ZXJDb2x1bW5JbmRleD09PUomJih0aGlzLmRyYWdPdmVyQ29sdW1uSW5kZXg9LTEpLHRoaXMuY2xlYXJGb2xkZXJIb3ZlcigpKX1hc3luYyBoYW5kbGVDb2x1bW5Ecm9wKHVlLEope3VlLnByZXZlbnREZWZhdWx0KCksdWUuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IHdlPXRoaXMuZHJhZ092ZXJGb2xkZXJQcmVmaXg/P3RoaXMuY29sdW1uc1tKXS5wcmVmaXg7aWYodGhpcy5kcmFnZ2VkSXRlbSl7dGhpcy5pbml0aWF0ZU1vdmUodGhpcy5kcmFnZ2VkSXRlbS5rZXksdGhpcy5kcmFnZ2VkSXRlbS5pc0ZvbGRlcix3ZSksdGhpcy5kcmFnZ2VkSXRlbT1udWxsLHRoaXMuY2xlYXJGb2xkZXJIb3ZlcigpLHRoaXMuZHJhZ0NvdW50ZXJzLmNsZWFyKCksdGhpcy5kcmFnT3ZlckNvbHVtbkluZGV4PS0xO3JldHVybn10aGlzLmRyYWdDb3VudGVycy5jbGVhcigpLHRoaXMuZHJhZ092ZXJDb2x1bW5JbmRleD0tMTtsZXQgT2U9dWUuZGF0YVRyYW5zZmVyPy5pdGVtcztpZighT2V8fE9lLmxlbmd0aD09PTApcmV0dXJuO3RoaXMuY2xlYXJGb2xkZXJIb3ZlcigpO2xldCBGZT1bXSxKdD1pKGFzeW5jKGxhLG8xKT0+e2lmKGxhLmlzRmlsZSl7bGV0IGlzPWxhLEYyPWF3YWl0IG5ldyBQcm9taXNlKChPMixHcyk9Pntpcy5maWxlKE8yLEdzKX0pO0ZlLnB1c2goe2ZpbGU6RjIscmVsYXRpdmVQYXRoOm8xK0YyLm5hbWV9KX1lbHNlIGlmKGxhLmlzRGlyZWN0b3J5KXtsZXQgRjI9bGEuY3JlYXRlUmVhZGVyKCksTzI9YXdhaXQgbmV3IFByb21pc2UoKEdzLHJIKT0+e0YyLnJlYWRFbnRyaWVzKEdzLHJIKX0pO2ZvcihsZXQgR3Mgb2YgTzIpYXdhaXQgSnQoR3MsbzErbGEubmFtZSsiLyIpfX0sInByb2Nlc3NFbnRyeSIpO2ZvcihsZXQgbGE9MDtsYTxPZS5sZW5ndGg7bGErKyl7bGV0IG8xPU9lW2xhXTtpZihvMS5raW5kPT09ImZpbGUiKXtsZXQgaXM9bzEud2Via2l0R2V0QXNFbnRyeSgpO2lzJiZhd2FpdCBKdChpcywiIil9fUZlLmxlbmd0aD4wJiZhd2FpdCB0aGlzLnVwbG9hZEZpbGVzV2l0aFBhdGhzKEZlLHdlKX1oYW5kbGVGb2xkZXJEcmFnRW50ZXIodWUsSil7dWUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5jbGVhckZvbGRlckhvdmVyKCksdGhpcy5mb2xkZXJIb3ZlclRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLmRyYWdPdmVyRm9sZGVyUHJlZml4PUp9LDUwMCl9aGFuZGxlRm9sZGVyRHJhZ0xlYXZlKHVlLEope3VlLnN0b3BQcm9wYWdhdGlvbigpO2xldCB3ZT11ZS5jdXJyZW50VGFyZ2V0LE9lPXVlLnJlbGF0ZWRUYXJnZXQ7T2UmJndlLmNvbnRhaW5zKE9lKXx8KHRoaXMuZHJhZ092ZXJGb2xkZXJQcmVmaXg9PT1KJiYodGhpcy5kcmFnT3ZlckZvbGRlclByZWZpeD1udWxsKSx0aGlzLmZvbGRlckhvdmVyVGltZXImJihjbGVhclRpbWVvdXQodGhpcy5mb2xkZXJIb3ZlclRpbWVyKSx0aGlzLmZvbGRlckhvdmVyVGltZXI9bnVsbCkpfWhhbmRsZUZvbGRlckRyYWdPdmVyKHVlKXt1ZS5wcmV2ZW50RGVmYXVsdCgpLHVlLnN0b3BQcm9wYWdhdGlvbigpLHVlLmRhdGFUcmFuc2ZlciYmKHVlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PXRoaXMuZHJhZ2dlZEl0ZW0/Im1vdmUiOiJjb3B5Iil9Y2xlYXJGb2xkZXJIb3Zlcigpe3RoaXMuZm9sZGVySG92ZXJUaW1lciYmKGNsZWFyVGltZW91dCh0aGlzLmZvbGRlckhvdmVyVGltZXIpLHRoaXMuZm9sZGVySG92ZXJUaW1lcj1udWxsKSx0aGlzLmRyYWdPdmVyRm9sZGVyUHJlZml4PW51bGx9aGFuZGxlSXRlbURyYWdTdGFydCh1ZSxKLHdlKXt0aGlzLmRyYWdnZWRJdGVtPXtrZXk6Sixpc0ZvbGRlcjp3ZX0sdWUuZGF0YVRyYW5zZmVyPy5zZXREYXRhKCJ0ZXh0L3BsYWluIixKKSx1ZS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZD0iY29weU1vdmUiLHVlLnRhcmdldC5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpfWhhbmRsZUl0ZW1EcmFnRW5kKHVlKXt0aGlzLmRyYWdnZWRJdGVtPW51bGwsdWUudGFyZ2V0LmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIil9YXN5bmMgb3Blbk1vdmVQaWNrZXJEaWFsb2codWUsSil7dGhpcy5tb3ZlUGlja2VyU291cmNlPXtrZXk6dWUsaXNGb2xkZXI6Sn0sdGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeD0iIix0aGlzLnNob3dNb3ZlUGlja2VyRGlhbG9nPSEwLGF3YWl0IHRoaXMubG9hZE1vdmVQaWNrZXJQcmVmaXhlcygiIil9YXN5bmMgbmF2aWdhdGVNb3ZlUGlja2VyKHVlKXt0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4PXVlLGF3YWl0IHRoaXMubG9hZE1vdmVQaWNrZXJQcmVmaXhlcyh1ZSl9YXN5bmMgbG9hZE1vdmVQaWNrZXJQcmVmaXhlcyh1ZSl7aWYodGhpcy5kYXRhUHJvdmlkZXIpe3RoaXMubW92ZVBpY2tlckxvYWRpbmc9ITA7dHJ5e2xldCBKPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmxpc3RPYmplY3RzKHRoaXMuYnVja2V0TmFtZSx1ZSwiLyIpO3RoaXMubW92ZVBpY2tlclByZWZpeGVzPUoucHJlZml4ZXN9Y2F0Y2h7dGhpcy5tb3ZlUGlja2VyUHJlZml4ZXM9W119dGhpcy5tb3ZlUGlja2VyTG9hZGluZz0hMX19c2VsZWN0TW92ZURlc3RpbmF0aW9uKHVlKXt0aGlzLm1vdmVQaWNrZXJTb3VyY2UmJih0aGlzLmNsb3NlTW92ZVBpY2tlckRpYWxvZygpLHRoaXMuaW5pdGlhdGVNb3ZlKHRoaXMubW92ZVBpY2tlclNvdXJjZS5rZXksdGhpcy5tb3ZlUGlja2VyU291cmNlLmlzRm9sZGVyLHVlKSl9Y2xvc2VNb3ZlUGlja2VyRGlhbG9nKCl7dGhpcy5zaG93TW92ZVBpY2tlckRpYWxvZz0hMSx0aGlzLm1vdmVQaWNrZXJTb3VyY2U9bnVsbCx0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4PSIiLHRoaXMubW92ZVBpY2tlclByZWZpeGVzPVtdfWluaXRpYXRlTW92ZSh1ZSxKLHdlKXtsZXQgT2U9SzgodWUsd2UpO2lmKCFPZS52YWxpZCl7dGhpcy5tb3ZlU291cmNlPXtrZXk6dWUsaXNGb2xkZXI6Sn0sdGhpcy5tb3ZlRGVzdGluYXRpb249d2UsdGhpcy5tb3ZlRXJyb3I9T2UuZXJyb3IsdGhpcy5zaG93TW92ZURpYWxvZz0hMDtyZXR1cm59dGhpcy5tb3ZlU291cmNlPXtrZXk6dWUsaXNGb2xkZXI6Sn0sdGhpcy5tb3ZlRGVzdGluYXRpb249d2UsdGhpcy5tb3ZlRXJyb3I9bnVsbCx0aGlzLnNob3dNb3ZlRGlhbG9nPSEwfWFzeW5jIGV4ZWN1dGVNb3ZlKCl7aWYoISghdGhpcy5tb3ZlU291cmNlfHwhdGhpcy5kYXRhUHJvdmlkZXIpKXt0aGlzLm1vdmVJblByb2dyZXNzPSEwO3RyeXtsZXQgdWU9anQodGhpcy5tb3ZlU291cmNlLmtleSksSj10aGlzLm1vdmVEZXN0aW5hdGlvbit1ZSsodGhpcy5tb3ZlU291cmNlLmlzRm9sZGVyPyIvIjoiIiksd2U7dGhpcy5tb3ZlU291cmNlLmlzRm9sZGVyP3dlPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLm1vdmVQcmVmaXgodGhpcy5idWNrZXROYW1lLHRoaXMubW92ZVNvdXJjZS5rZXksSik6d2U9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubW92ZU9iamVjdCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5tb3ZlU291cmNlLmtleSxKKSx3ZS5zdWNjZXNzPyh0aGlzLmNsb3NlTW92ZURpYWxvZygpLGF3YWl0IHRoaXMucmVmcmVzaEFsbENvbHVtbnMoKSk6dGhpcy5tb3ZlRXJyb3I9d2UuZXJyb3J8fCJNb3ZlIG9wZXJhdGlvbiBmYWlsZWQifWNhdGNoKHVlKXt0aGlzLm1vdmVFcnJvcj1gRXJyb3I6ICR7dWV9YH10aGlzLm1vdmVJblByb2dyZXNzPSExfX1jbG9zZU1vdmVEaWFsb2coKXt0aGlzLnNob3dNb3ZlRGlhbG9nPSExLHRoaXMubW92ZVNvdXJjZT1udWxsLHRoaXMubW92ZURlc3RpbmF0aW9uPSIiLHRoaXMubW92ZUVycm9yPW51bGwsdGhpcy5tb3ZlSW5Qcm9ncmVzcz0hMX1vcGVuUmVuYW1lRGlhbG9nKHVlLEope3RoaXMucmVuYW1lU291cmNlPXtrZXk6dWUsaXNGb2xkZXI6Sn0sdGhpcy5yZW5hbWVOYW1lPWp0KHVlKSx0aGlzLnJlbmFtZUVycm9yPW51bGwsdGhpcy5zaG93UmVuYW1lRGlhbG9nPSEwLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+e2xldCB3ZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5yZW5hbWUtZGlhbG9nLWlucHV0Iik7aWYod2UpaWYod2UuZm9jdXMoKSxKKXdlLnNlbGVjdCgpO2Vsc2V7bGV0IE9lPXRoaXMucmVuYW1lTmFtZS5sYXN0SW5kZXhPZigiLiIpO09lPjA/d2Uuc2V0U2VsZWN0aW9uUmFuZ2UoMCxPZSk6d2Uuc2VsZWN0KCl9fSl9YXN5bmMgZXhlY3V0ZVJlbmFtZSgpe2lmKCF0aGlzLnJlbmFtZVNvdXJjZXx8IXRoaXMucmVuYW1lTmFtZS50cmltKCl8fCF0aGlzLmRhdGFQcm92aWRlcilyZXR1cm47bGV0IHVlPXRoaXMucmVuYW1lTmFtZS50cmltKCksSj1qdCh0aGlzLnJlbmFtZVNvdXJjZS5rZXkpO2lmKHVlPT09Sil7dGhpcy5yZW5hbWVFcnJvcj0iTmFtZSBpcyB0aGUgc2FtZSBhcyBjdXJyZW50IjtyZXR1cm59aWYoIXVlKXt0aGlzLnJlbmFtZUVycm9yPSJOYW1lIGNhbm5vdCBiZSBlbXB0eSI7cmV0dXJufWlmKHVlLmluY2x1ZGVzKCIvIikpe3RoaXMucmVuYW1lRXJyb3I9J05hbWUgY2Fubm90IGNvbnRhaW4gIi8iJztyZXR1cm59dGhpcy5yZW5hbWVJblByb2dyZXNzPSEwLHRoaXMucmVuYW1lRXJyb3I9bnVsbDt0cnl7bGV0IE9lPUlzKHRoaXMucmVuYW1lU291cmNlLmtleSkrdWUrKHRoaXMucmVuYW1lU291cmNlLmlzRm9sZGVyPyIvIjoiIiksRmU7dGhpcy5yZW5hbWVTb3VyY2UuaXNGb2xkZXI/RmU9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubW92ZVByZWZpeCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5yZW5hbWVTb3VyY2Uua2V5LE9lKTpGZT1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5tb3ZlT2JqZWN0KHRoaXMuYnVja2V0TmFtZSx0aGlzLnJlbmFtZVNvdXJjZS5rZXksT2UpLEZlLnN1Y2Nlc3M/KHRoaXMuY2xvc2VSZW5hbWVEaWFsb2coKSxhd2FpdCB0aGlzLnJlZnJlc2hBbGxDb2x1bW5zKCkpOnRoaXMucmVuYW1lRXJyb3I9RmUuZXJyb3J8fCJSZW5hbWUgZmFpbGVkIn1jYXRjaCh3ZSl7dGhpcy5yZW5hbWVFcnJvcj1gRXJyb3I6ICR7d2V9YH10aGlzLnJlbmFtZUluUHJvZ3Jlc3M9ITF9Y2xvc2VSZW5hbWVEaWFsb2coKXt0aGlzLnNob3dSZW5hbWVEaWFsb2c9ITEsdGhpcy5yZW5hbWVTb3VyY2U9bnVsbCx0aGlzLnJlbmFtZU5hbWU9IiIsdGhpcy5yZW5hbWVFcnJvcj1udWxsLHRoaXMucmVuYW1lSW5Qcm9ncmVzcz0hMX1yZW5kZXJSZW5hbWVEaWFsb2coKXtpZighdGhpcy5zaG93UmVuYW1lRGlhbG9nfHwhdGhpcy5yZW5hbWVTb3VyY2UpcmV0dXJuIiI7bGV0IHVlPXRoaXMucmVuYW1lU291cmNlLmlzRm9sZGVyO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctb3ZlcmxheSIgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VSZW5hbWVEaWFsb2coKX0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nIiBAY2xpY2s9JHt3ZT0+d2Uuc3RvcFByb3BhZ2F0aW9uKCl9PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLXRpdGxlIj4ke3VlPyJSZW5hbWUgRm9sZGVyIjoiUmVuYW1lIEZpbGUifTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWxvY2F0aW9uIj4KICAgICAgICAgICAgTG9jYXRpb246ICR7dGhpcy5idWNrZXROYW1lfS8ke0lzKHRoaXMucmVuYW1lU291cmNlLmtleSl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7dGhpcy5yZW5hbWVFcnJvcj93YDxkaXYgY2xhc3M9Im1vdmUtZXJyb3IiPiR7dGhpcy5yZW5hbWVFcnJvcn08L2Rpdj5gOiIifQogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgIGNsYXNzPSJkaWFsb2ctaW5wdXQgcmVuYW1lLWRpYWxvZy1pbnB1dCIKICAgICAgICAgICAgcGxhY2Vob2xkZXI9JHt1ZT8iZm9sZGVyLW5hbWUiOiJmaWxlbmFtZS5leHQifQogICAgICAgICAgICAudmFsdWU9JHt0aGlzLnJlbmFtZU5hbWV9CiAgICAgICAgICAgIEBpbnB1dD0ke3dlPT57dGhpcy5yZW5hbWVOYW1lPXdlLnRhcmdldC52YWx1ZSx0aGlzLnJlbmFtZUVycm9yPW51bGx9fQogICAgICAgICAgICBAa2V5ZG93bj0ke3dlPT57d2Uua2V5PT09IkVudGVyIiYmdGhpcy5leGVjdXRlUmVuYW1lKCksd2Uua2V5PT09IkVzY2FwZSImJnRoaXMuY2xvc2VSZW5hbWVEaWFsb2coKX19CiAgICAgICAgICAvPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY2FuY2VsIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmNsb3NlUmVuYW1lRGlhbG9nKCl9CiAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5yZW5hbWVJblByb2dyZXNzfT5DYW5jZWw8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5leGVjdXRlUmVuYW1lKCl9CiAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5yZW5hbWVJblByb2dyZXNzfHwhdGhpcy5yZW5hbWVOYW1lLnRyaW0oKX0+CiAgICAgICAgICAgICAgJHt0aGlzLnJlbmFtZUluUHJvZ3Jlc3M/IlJlbmFtaW5nLi4uIjoiUmVuYW1lIn0KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlck1vdmVEaWFsb2coKXtpZighdGhpcy5zaG93TW92ZURpYWxvZ3x8IXRoaXMubW92ZVNvdXJjZSlyZXR1cm4iIjtsZXQgdWU9anQodGhpcy5tb3ZlU291cmNlLmtleSk7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1vdmVybGF5IiBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZU1vdmVEaWFsb2coKX0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nIiBAY2xpY2s9JHtKPT5KLnN0b3BQcm9wYWdhdGlvbigpfT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy10aXRsZSI+TW92ZSAke3RoaXMubW92ZVNvdXJjZS5pc0ZvbGRlcj8iRm9sZGVyIjoiRmlsZSJ9PC9kaXY+CgogICAgICAgICAgJHt0aGlzLm1vdmVFcnJvcj93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb3ZlLWVycm9yIj4ke3RoaXMubW92ZUVycm9yfTwvZGl2PgogICAgICAgICAgYDp3YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb3ZlLXN1bW1hcnkiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vdmUtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibW92ZS1sYWJlbCI+RnJvbTo8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibW92ZS1wYXRoIj4ke3RoaXMubW92ZVNvdXJjZS5rZXl9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vdmUtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibW92ZS1sYWJlbCI+VG86PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1vdmUtcGF0aCI+JHt0aGlzLm1vdmVEZXN0aW5hdGlvbn0ke3VlfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfQoKICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1hY3Rpb25zIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNhbmNlbCIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZU1vdmVEaWFsb2coKX0KICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLm1vdmVJblByb2dyZXNzfT4KICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICR7dGhpcy5tb3ZlRXJyb3I/IiI6d2AKICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY3JlYXRlIgogICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuZXhlY3V0ZU1vdmUoKX0KICAgICAgICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMubW92ZUluUHJvZ3Jlc3N9PgogICAgICAgICAgICAgICAgJHt0aGlzLm1vdmVJblByb2dyZXNzPyJNb3ZpbmcuLi4iOiJNb3ZlIn0KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyTW92ZVBpY2tlckRpYWxvZygpe2lmKCF0aGlzLnNob3dNb3ZlUGlja2VyRGlhbG9nfHwhdGhpcy5tb3ZlUGlja2VyU291cmNlKXJldHVybiIiO2xldCB1ZT1qdCh0aGlzLm1vdmVQaWNrZXJTb3VyY2Uua2V5KSxKPUlzKHRoaXMubW92ZVBpY2tlclNvdXJjZS5rZXkpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctb3ZlcmxheSIgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VNb3ZlUGlja2VyRGlhbG9nKCl9PgogICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZyBtb3ZlLXBpY2tlci1kaWFsb2ciIEBjbGljaz0ke3dlPT53ZS5zdG9wUHJvcGFnYXRpb24oKX0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctdGl0bGUiPk1vdmUgIiR7dWV9IiB0by4uLjwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InBpY2tlci1icmVhZGNydW1iIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBpY2tlci1jcnVtYiIgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVNb3ZlUGlja2VyKCIiKX0+CiAgICAgICAgICAgICAgJHt0aGlzLmJ1Y2tldE5hbWV9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgJHt5Nih0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4KS5tYXAod2U9PndgCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBpY2tlci1zZXBhcmF0b3IiPi88L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBpY2tlci1jcnVtYiIgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVNb3ZlUGlja2VyKHdlKX0+CiAgICAgICAgICAgICAgICAke2p0KHdlKX0KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0icGlja2VyLWxpc3QiPgogICAgICAgICAgICAke3RoaXMubW92ZVBpY2tlckxvYWRpbmc/d2A8ZGl2IGNsYXNzPSJwaWNrZXItZW1wdHkiPkxvYWRpbmcuLi48L2Rpdj5gOiIifQogICAgICAgICAgICAkeyF0aGlzLm1vdmVQaWNrZXJMb2FkaW5nJiZ0aGlzLm1vdmVQaWNrZXJQcmVmaXhlcy5maWx0ZXIod2U9PndlIT09dGhpcy5tb3ZlUGlja2VyU291cmNlLmtleSkubGVuZ3RoPT09MD93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpY2tlci1lbXB0eSI+Tm8gc3ViZm9sZGVyczwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgICAke3RoaXMubW92ZVBpY2tlclByZWZpeGVzLmZpbHRlcih3ZT0+d2UhPT10aGlzLm1vdmVQaWNrZXJTb3VyY2Uua2V5KS5tYXAod2U9PndgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWNrZXItaXRlbSIKICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVNb3ZlUGlja2VyKHdlKX0KICAgICAgICAgICAgICAgICAgICAgQGRibGNsaWNrPSR7KCk9PnRoaXMuc2VsZWN0TW92ZURlc3RpbmF0aW9uKHdlKX0+CiAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Imljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnoiLz4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJuYW1lIj4ke2p0KHdlKX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1hY3Rpb25zIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNhbmNlbCIgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VNb3ZlUGlja2VyRGlhbG9nKCl9PgogICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RNb3ZlRGVzdGluYXRpb24odGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeCl9CiAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeD09PUp9PgogICAgICAgICAgICAgIE1vdmUgSGVyZQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgaGFuZGxlQ3JlYXRlKCl7aWYoIXRoaXMuY3JlYXRlRGlhbG9nTmFtZS50cmltKCl8fCF0aGlzLmRhdGFQcm92aWRlcilyZXR1cm47bGV0IHVlPXRoaXMuY3JlYXRlRGlhbG9nTmFtZS50cmltKCksSjt0aGlzLmNyZWF0ZURpYWxvZ1R5cGU9PT0iZm9sZGVyIj9KPXRoaXMuY3JlYXRlRGlhbG9nUHJlZml4K3VlKyIvLmtlZXAiOko9dGhpcy5jcmVhdGVEaWFsb2dQcmVmaXgrdWU7bGV0IHdlPXVlLnNwbGl0KCIuIikucG9wKCk/LnRvTG93ZXJDYXNlKCl8fCIiLE9lPXRoaXMuY3JlYXRlRGlhbG9nVHlwZT09PSJmaWxlIj9nbCh3ZSk6ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIsRmU9dGhpcy5jcmVhdGVEaWFsb2dUeXBlPT09ImZpbGUiP1E4KHdlKToiIjthd2FpdCB0aGlzLmRhdGFQcm92aWRlci5wdXRPYmplY3QodGhpcy5idWNrZXROYW1lLEosYnRvYShGZSksT2UpJiYodGhpcy5zaG93Q3JlYXRlRGlhbG9nPSExLGF3YWl0IHRoaXMucmVmcmVzaENvbHVtbkJ5UHJlZml4KHRoaXMuY3JlYXRlRGlhbG9nUHJlZml4KSl9cmVuZGVyQ3JlYXRlRGlhbG9nKCl7aWYoIXRoaXMuc2hvd0NyZWF0ZURpYWxvZylyZXR1cm4iIjtsZXQgdWU9dGhpcy5jcmVhdGVEaWFsb2dUeXBlPT09ImZvbGRlciIsSj11ZT8iQ3JlYXRlIE5ldyBGb2xkZXIiOiJDcmVhdGUgTmV3IEZpbGUiLHdlPXVlPyJmb2xkZXItbmFtZSBvciBwYXRoL3RvL2ZvbGRlciI6ImZpbGVuYW1lLnR4dCBvciBwYXRoL3RvL2ZpbGUudHh0IjtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLW92ZXJsYXkiIEBjbGljaz0keygpPT50aGlzLnNob3dDcmVhdGVEaWFsb2c9ITF9PgogICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZyIgQGNsaWNrPSR7T2U9Pk9lLnN0b3BQcm9wYWdhdGlvbigpfT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy10aXRsZSI+JHtKfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWxvY2F0aW9uIj4KICAgICAgICAgICAgTG9jYXRpb246ICR7dGhpcy5idWNrZXROYW1lfS8ke3RoaXMuY3JlYXRlRGlhbG9nUHJlZml4fQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgY2xhc3M9ImRpYWxvZy1pbnB1dCIKICAgICAgICAgICAgcGxhY2Vob2xkZXI9JHt3ZX0KICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5jcmVhdGVEaWFsb2dOYW1lfQogICAgICAgICAgICBAaW5wdXQ9JHtPZT0+dGhpcy5jcmVhdGVEaWFsb2dOYW1lPU9lLnRhcmdldC52YWx1ZX0KICAgICAgICAgICAgQGtleWRvd249JHtPZT0+T2Uua2V5PT09IkVudGVyIiYmdGhpcy5oYW5kbGVDcmVhdGUoKX0KICAgICAgICAgIC8+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctaGludCI+CiAgICAgICAgICAgIFVzZSAiLyIgdG8gY3JlYXRlIG5lc3RlZCAke3VlPyJmb2xkZXJzIjoicGF0aCJ9IChlLmcuLCAke3VlPyJwYXJlbnQvY2hpbGQiOiJmb2xkZXIvZmlsZS50eHQifSkKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY2FuY2VsIiBAY2xpY2s9JHsoKT0+dGhpcy5zaG93Q3JlYXRlRGlhbG9nPSExfT4KICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNyZWF0ZSIKICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHshdGhpcy5jcmVhdGVEaWFsb2dOYW1lLnRyaW0oKX0KICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDcmVhdGUoKX0KICAgICAgICAgICAgPgogICAgICAgICAgICAgIENyZWF0ZQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyKCl7cmV0dXJuIHRoaXMubG9hZGluZyYmdGhpcy5jb2x1bW5zLmxlbmd0aD09PTA/d2A8ZGl2IGNsYXNzPSJsb2FkaW5nIj5Mb2FkaW5nLi4uPC9kaXY+YDp3YAogICAgICA8ZGl2IGNsYXNzPSJjb2x1bW5zLWNvbnRhaW5lciI+CiAgICAgICAgJHt0aGlzLmNvbHVtbnMubWFwKCh1ZSxKKT0+dGhpcy5yZW5kZXJDb2x1bW5XcmFwcGVyKHVlLEopKX0KICAgICAgPC9kaXY+CiAgICAgICR7dGhpcy5yZW5kZXJDcmVhdGVEaWFsb2coKX0KICAgICAgJHt0aGlzLnJlbmRlck1vdmVEaWFsb2coKX0KICAgICAgJHt0aGlzLnJlbmRlck1vdmVQaWNrZXJEaWFsb2coKX0KICAgICAgJHt0aGlzLnJlbmRlclJlbmFtZURpYWxvZygpfQogICAgYH1yZW5kZXJDb2x1bW5XcmFwcGVyKHVlLEope3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjb2x1bW4td3JhcHBlciI+CiAgICAgICAgJHt0aGlzLnJlbmRlckNvbHVtbih1ZSxKKX0KICAgICAgICA8ZGl2CiAgICAgICAgICBjbGFzcz0icmVzaXplLWhhbmRsZSAke3RoaXMucmVzaXppbmc/LmNvbHVtbkluZGV4PT09Sj8iYWN0aXZlIjoiIn0iCiAgICAgICAgICBAbW91c2Vkb3duPSR7d2U9PnRoaXMuc3RhcnRSZXNpemUod2UsSil9CiAgICAgICAgPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyQ29sdW1uKHVlLEope2xldCB3ZT11ZS5wcmVmaXg/anQodWUucHJlZml4KTp0aGlzLmJ1Y2tldE5hbWU7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iY29sdW1uICR7dGhpcy5kcmFnT3ZlckNvbHVtbkluZGV4PT09Sj8iZHJhZy1vdmVyIjoiIn0iCiAgICAgICAgc3R5bGU9IndpZHRoOiAke3VlLndpZHRofXB4IgogICAgICAgIEBkcmFnZW50ZXI9JHtPZT0+dGhpcy5oYW5kbGVDb2x1bW5EcmFnRW50ZXIoT2UsSil9CiAgICAgICAgQGRyYWdvdmVyPSR7T2U9PnRoaXMuaGFuZGxlQ29sdW1uRHJhZ092ZXIoT2UpfQogICAgICAgIEBkcmFnbGVhdmU9JHtPZT0+dGhpcy5oYW5kbGVDb2x1bW5EcmFnTGVhdmUoT2UsSil9CiAgICAgICAgQGRyb3A9JHtPZT0+dGhpcy5oYW5kbGVDb2x1bW5Ecm9wKE9lLEopfQogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sdW1uLWhlYWRlciIgdGl0bGU9JHt1ZS5wcmVmaXh8fHRoaXMuYnVja2V0TmFtZX0+CiAgICAgICAgICAke3dlfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbHVtbi1pdGVtcyIgQGNvbnRleHRtZW51PSR7T2U9PnRoaXMuaGFuZGxlRW1wdHlTcGFjZUNvbnRleHRNZW51KE9lLEopfT4KICAgICAgICAgICR7dWUucHJlZml4ZXMubGVuZ3RoPT09MCYmdWUub2JqZWN0cy5sZW5ndGg9PT0wP3dgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPkVtcHR5IGZvbGRlcjwvZGl2PmA6IiJ9CiAgICAgICAgICAke3VlLnByZWZpeGVzLm1hcChPZT0+d2AKICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICBjbGFzcz0iY29sdW1uLWl0ZW0gZm9sZGVyICR7dWUuc2VsZWN0ZWRJdGVtPT09T2U/InNlbGVjdGVkIjoiIn0gJHt0aGlzLmRyYWdPdmVyRm9sZGVyUHJlZml4PT09T2U/ImRyYWctdGFyZ2V0IjoiIn0iCiAgICAgICAgICAgICAgICBkcmFnZ2FibGU9InRydWUiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RGb2xkZXIoSixPZSl9CiAgICAgICAgICAgICAgICBAY29udGV4dG1lbnU9JHtGZT0+dGhpcy5oYW5kbGVGb2xkZXJDb250ZXh0TWVudShGZSxKLE9lKX0KICAgICAgICAgICAgICAgIEBkcmFnc3RhcnQ9JHtGZT0+dGhpcy5oYW5kbGVJdGVtRHJhZ1N0YXJ0KEZlLE9lLCEwKX0KICAgICAgICAgICAgICAgIEBkcmFnZW5kPSR7RmU9PnRoaXMuaGFuZGxlSXRlbURyYWdFbmQoRmUpfQogICAgICAgICAgICAgICAgQGRyYWdlbnRlcj0ke0ZlPT50aGlzLmhhbmRsZUZvbGRlckRyYWdFbnRlcihGZSxPZSl9CiAgICAgICAgICAgICAgICBAZHJhZ292ZXI9JHtGZT0+dGhpcy5oYW5kbGVGb2xkZXJEcmFnT3ZlcihGZSl9CiAgICAgICAgICAgICAgICBAZHJhZ2xlYXZlPSR7RmU9PnRoaXMuaGFuZGxlRm9sZGVyRHJhZ0xlYXZlKEZlLE9lKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMiAxOWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNWwyIDNoOWEyIDIgMCAwIDEgMiAyeiIgLz4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hbWUiPiR7anQoT2UpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImNoZXZyb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjkgMTggMTUgMTIgOSA2Ij48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfQogICAgICAgICAgJHt1ZS5vYmplY3RzLm1hcChPZT0+d2AKICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICBjbGFzcz0iY29sdW1uLWl0ZW0gJHt1ZS5zZWxlY3RlZEl0ZW09PT1PZS5rZXk/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgICAgICBkcmFnZ2FibGU9InRydWUiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RGaWxlKEosT2Uua2V5KX0KICAgICAgICAgICAgICAgIEBjb250ZXh0bWVudT0ke0ZlPT50aGlzLmhhbmRsZUZpbGVDb250ZXh0TWVudShGZSxKLE9lLmtleSl9CiAgICAgICAgICAgICAgICBAZHJhZ3N0YXJ0PSR7RmU9PnRoaXMuaGFuZGxlSXRlbURyYWdTdGFydChGZSxPZS5rZXksITEpfQogICAgICAgICAgICAgICAgQGRyYWdlbmQ9JHtGZT0+dGhpcy5oYW5kbGVJdGVtRHJhZ0VuZChGZSl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgPHBhdGggZD0iJHt0aGlzLmdldEZpbGVJY29uKE9lLmtleSl9IiAvPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibmFtZSI+JHtqdChPZS5rZXkpfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLmRyYWdPdmVyQ29sdW1uSW5kZXg9PT1KP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJkcmFnLWhpbnQiPgogICAgICAgICAgICAke3RoaXMuZHJhZ2dlZEl0ZW0/dGhpcy5kcmFnT3ZlckZvbGRlclByZWZpeD9gTW92ZSB0byAke2p0KHRoaXMuZHJhZ092ZXJGb2xkZXJQcmVmaXgpfWA6Ik1vdmUgaGVyZSI6dGhpcy5kcmFnT3ZlckZvbGRlclByZWZpeD9gRHJvcCB0byB1cGxvYWQgaW50byAke2p0KHRoaXMuZHJhZ092ZXJGb2xkZXJQcmVmaXgpfWA6IkRyb3AgdG8gdXBsb2FkIGhlcmUifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgICAke3RoaXMudXBsb2FkaW5nP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ1cGxvYWQtb3ZlcmxheSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InVwbG9hZC10ZXh0Ij5VcGxvYWRpbmcuLi48L2Rpdj4KICAgICAgICAgICAgJHt0aGlzLnVwbG9hZFByb2dyZXNzP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idXBsb2FkLXByb2dyZXNzIj4ke3RoaXMudXBsb2FkUHJvZ3Jlc3MuY3VycmVudH0gLyAke3RoaXMudXBsb2FkUHJvZ3Jlc3MudG90YWx9IGZpbGVzPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje3N0KHIsYSl9fTtyZXR1cm4gQmU9cn0pKCl9KTt2YXIga2EsY3QsYkt0LHBCZT1jKCgpPT57cGUoKTt2MSgpO1hlKCk7eUIoKTtrYT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sY3Q9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LGJLdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtc3RvcmFnZS1rZXlzIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W10sTiwkPVtdLEk9W10saixTPVtdLHo9W10sRCxUPVtdLEE9W10sVSxSPVtdLHE9W10sb2UsTz1bXSxyZT1bXSx5ZSxCPVtdLGVlPVtdLENlLFk9W10sUD1bXSxILEc9W10sVz1bXSxzZSx6ZT1bXSxNZT1bXSxFZSxWPVtdLEY9W10sbmUsdGU9W10sSz1bXSxrZSx2ZT1bXSxkZT1bXSwkZSxWZT1bXSxRZT1bXSxUZSxsZT1bXSxmZT1bXSxTZSxIZT1bXSxLZT1bXSxrdCx1dD1bXSxDdD1bXSxXdCxoZT1bXSxtZT1bXSxQZSxmdD1bXSxidD1bXSxuYSxSMT1bXSwkcj1bXSxEcixxZT1bXSx0dD1bXSxTYSxqYT1bXSxYYT1bXSxzMSxLYT1bXSxLcj1bXTt2YXIgUXI9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNTdG9yYWdlS2V5cyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBfZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk9iamVjdH0pXSxoPVtMKHt0eXBlOlN0cmluZ30pXSxwPVtMKHt0eXBlOlN0cmluZ30pXSx4PVtMKHt0eXBlOk51bWJlcn0pXSx5PVtaKCldLEU9W1ooKV0sTj1bWigpXSxqPVtaKCldLEQ9W1ooKV0sVT1bWigpXSxvZT1bWigpXSx5ZT1bWigpXSxDZT1bWigpXSxIPVtaKCldLHNlPVtaKCldLEVlPVtaKCldLG5lPVtaKCldLGtlPVtaKCldLCRlPVtaKCldLFRlPVtaKCldLFNlPVtaKCldLGt0PVtaKCldLFd0PVtaKCldLFBlPVtaKCldLG5hPVtaKCldLERyPVtaKCldLFNhPVtaKCldLHMxPVtaKCldLGthKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YVByb3ZpZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHhlPT4iZGF0YVByb3ZpZGVyImluIHhlLCJoYXMiKSxnZXQ6aSh4ZT0+eGUuZGF0YVByb3ZpZGVyLCJnZXQiKSxzZXQ6aSgoeGUsTmUpPT57eGUuZGF0YVByb3ZpZGVyPU5lfSwic2V0Iil9LG1ldGFkYXRhOl9lfSxvLGwpLGthKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYnVja2V0TmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh4ZT0+ImJ1Y2tldE5hbWUiaW4geGUsImhhcyIpLGdldDppKHhlPT54ZS5idWNrZXROYW1lLCJnZXQiKSxzZXQ6aSgoeGUsTmUpPT57eGUuYnVja2V0TmFtZT1OZX0sInNldCIpfSxtZXRhZGF0YTpfZX0sdSxmKSxrYSh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRQcmVmaXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoeGU9PiJjdXJyZW50UHJlZml4ImluIHhlLCJoYXMiKSxnZXQ6aSh4ZT0+eGUuY3VycmVudFByZWZpeCwiZ2V0Iiksc2V0OmkoKHhlLE5lKT0+e3hlLmN1cnJlbnRQcmVmaXg9TmV9LCJzZXQiKX0sbWV0YWRhdGE6X2V9LGcsdiksa2EodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWZyZXNoS2V5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHhlPT4icmVmcmVzaEtleSJpbiB4ZSwiaGFzIiksZ2V0OmkoeGU9PnhlLnJlZnJlc2hLZXksImdldCIpLHNldDppKCh4ZSxOZSk9Pnt4ZS5yZWZyZXNoS2V5PU5lfSwic2V0Iil9LG1ldGFkYXRhOl9lfSxiLG0pLGthKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWxsS2V5cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh4ZT0+ImFsbEtleXMiaW4geGUsImhhcyIpLGdldDppKHhlPT54ZS5hbGxLZXlzLCJnZXQiKSxzZXQ6aSgoeGUsTmUpPT57eGUuYWxsS2V5cz1OZX0sInNldCIpfSxtZXRhZGF0YTpfZX0sTSxrKSxrYSh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByZWZpeGVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHhlPT4icHJlZml4ZXMiaW4geGUsImhhcyIpLGdldDppKHhlPT54ZS5wcmVmaXhlcywiZ2V0Iiksc2V0OmkoKHhlLE5lKT0+e3hlLnByZWZpeGVzPU5lfSwic2V0Iil9LG1ldGFkYXRhOl9lfSxfLEMpLGthKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh4ZT0+ImxvYWRpbmciaW4geGUsImhhcyIpLGdldDppKHhlPT54ZS5sb2FkaW5nLCJnZXQiKSxzZXQ6aSgoeGUsTmUpPT57eGUubG9hZGluZz1OZX0sInNldCIpfSxtZXRhZGF0YTpfZX0sJCxJKSxrYSh0aGlzLG51bGwsaix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkS2V5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHhlPT4ic2VsZWN0ZWRLZXkiaW4geGUsImhhcyIpLGdldDppKHhlPT54ZS5zZWxlY3RlZEtleSwiZ2V0Iiksc2V0OmkoKHhlLE5lKT0+e3hlLnNlbGVjdGVkS2V5PU5lfSwic2V0Iil9LG1ldGFkYXRhOl9lfSxTLHopLGthKHRoaXMsbnVsbCxELHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsdGVyVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh4ZT0+ImZpbHRlclRleHQiaW4geGUsImhhcyIpLGdldDppKHhlPT54ZS5maWx0ZXJUZXh0LCJnZXQiKSxzZXQ6aSgoeGUsTmUpPT57eGUuZmlsdGVyVGV4dD1OZX0sInNldCIpfSxtZXRhZGF0YTpfZX0sVCxBKSxrYSh0aGlzLG51bGwsVSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dDcmVhdGVEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoeGU9PiJzaG93Q3JlYXRlRGlhbG9nImluIHhlLCJoYXMiKSxnZXQ6aSh4ZT0+eGUuc2hvd0NyZWF0ZURpYWxvZywiZ2V0Iiksc2V0OmkoKHhlLE5lKT0+e3hlLnNob3dDcmVhdGVEaWFsb2c9TmV9LCJzZXQiKX0sbWV0YWRhdGE6X2V9LFIscSksa2EodGhpcyxudWxsLG9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3JlYXRlRGlhbG9nVHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh4ZT0+ImNyZWF0ZURpYWxvZ1R5cGUiaW4geGUsImhhcyIpLGdldDppKHhlPT54ZS5jcmVhdGVEaWFsb2dUeXBlLCJnZXQiKSxzZXQ6aSgoeGUsTmUpPT57eGUuY3JlYXRlRGlhbG9nVHlwZT1OZX0sInNldCIpfSxtZXRhZGF0YTpfZX0sTyxyZSksa2EodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3JlYXRlRGlhbG9nUHJlZml4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHhlPT4iY3JlYXRlRGlhbG9nUHJlZml4ImluIHhlLCJoYXMiKSxnZXQ6aSh4ZT0+eGUuY3JlYXRlRGlhbG9nUHJlZml4LCJnZXQiKSxzZXQ6aSgoeGUsTmUpPT57eGUuY3JlYXRlRGlhbG9nUHJlZml4PU5lfSwic2V0Iil9LG1ldGFkYXRhOl9lfSxCLGVlKSxrYSh0aGlzLG51bGwsQ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjcmVhdGVEaWFsb2dOYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHhlPT4iY3JlYXRlRGlhbG9nTmFtZSJpbiB4ZSwiaGFzIiksZ2V0OmkoeGU9PnhlLmNyZWF0ZURpYWxvZ05hbWUsImdldCIpLHNldDppKCh4ZSxOZSk9Pnt4ZS5jcmVhdGVEaWFsb2dOYW1lPU5lfSwic2V0Iil9LG1ldGFkYXRhOl9lfSxZLFApLGthKHRoaXMsbnVsbCxILHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd01vdmVEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoeGU9PiJzaG93TW92ZURpYWxvZyJpbiB4ZSwiaGFzIiksZ2V0OmkoeGU9PnhlLnNob3dNb3ZlRGlhbG9nLCJnZXQiKSxzZXQ6aSgoeGUsTmUpPT57eGUuc2hvd01vdmVEaWFsb2c9TmV9LCJzZXQiKX0sbWV0YWRhdGE6X2V9LEcsVyksa2EodGhpcyxudWxsLHNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZVNvdXJjZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh4ZT0+Im1vdmVTb3VyY2UiaW4geGUsImhhcyIpLGdldDppKHhlPT54ZS5tb3ZlU291cmNlLCJnZXQiKSxzZXQ6aSgoeGUsTmUpPT57eGUubW92ZVNvdXJjZT1OZX0sInNldCIpfSxtZXRhZGF0YTpfZX0semUsTWUpLGthKHRoaXMsbnVsbCxFZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVEZXN0aW5hdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh4ZT0+Im1vdmVEZXN0aW5hdGlvbiJpbiB4ZSwiaGFzIiksZ2V0OmkoeGU9PnhlLm1vdmVEZXN0aW5hdGlvbiwiZ2V0Iiksc2V0OmkoKHhlLE5lKT0+e3hlLm1vdmVEZXN0aW5hdGlvbj1OZX0sInNldCIpfSxtZXRhZGF0YTpfZX0sVixGKSxrYSh0aGlzLG51bGwsbmUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlSW5Qcm9ncmVzcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh4ZT0+Im1vdmVJblByb2dyZXNzImluIHhlLCJoYXMiKSxnZXQ6aSh4ZT0+eGUubW92ZUluUHJvZ3Jlc3MsImdldCIpLHNldDppKCh4ZSxOZSk9Pnt4ZS5tb3ZlSW5Qcm9ncmVzcz1OZX0sInNldCIpfSxtZXRhZGF0YTpfZX0sdGUsSyksa2EodGhpcyxudWxsLGtlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZUVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHhlPT4ibW92ZUVycm9yImluIHhlLCJoYXMiKSxnZXQ6aSh4ZT0+eGUubW92ZUVycm9yLCJnZXQiKSxzZXQ6aSgoeGUsTmUpPT57eGUubW92ZUVycm9yPU5lfSwic2V0Iil9LG1ldGFkYXRhOl9lfSx2ZSxkZSksa2EodGhpcyxudWxsLCRlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd01vdmVQaWNrZXJEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoeGU9PiJzaG93TW92ZVBpY2tlckRpYWxvZyJpbiB4ZSwiaGFzIiksZ2V0OmkoeGU9PnhlLnNob3dNb3ZlUGlja2VyRGlhbG9nLCJnZXQiKSxzZXQ6aSgoeGUsTmUpPT57eGUuc2hvd01vdmVQaWNrZXJEaWFsb2c9TmV9LCJzZXQiKX0sbWV0YWRhdGE6X2V9LFZlLFFlKSxrYSh0aGlzLG51bGwsVGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyU291cmNlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHhlPT4ibW92ZVBpY2tlclNvdXJjZSJpbiB4ZSwiaGFzIiksZ2V0OmkoeGU9PnhlLm1vdmVQaWNrZXJTb3VyY2UsImdldCIpLHNldDppKCh4ZSxOZSk9Pnt4ZS5tb3ZlUGlja2VyU291cmNlPU5lfSwic2V0Iil9LG1ldGFkYXRhOl9lfSxsZSxmZSksa2EodGhpcyxudWxsLFNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZVBpY2tlckN1cnJlbnRQcmVmaXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoeGU9PiJtb3ZlUGlja2VyQ3VycmVudFByZWZpeCJpbiB4ZSwiaGFzIiksZ2V0OmkoeGU9PnhlLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4LCJnZXQiKSxzZXQ6aSgoeGUsTmUpPT57eGUubW92ZVBpY2tlckN1cnJlbnRQcmVmaXg9TmV9LCJzZXQiKX0sbWV0YWRhdGE6X2V9LEhlLEtlKSxrYSh0aGlzLG51bGwsa3Qse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyUHJlZml4ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoeGU9PiJtb3ZlUGlja2VyUHJlZml4ZXMiaW4geGUsImhhcyIpLGdldDppKHhlPT54ZS5tb3ZlUGlja2VyUHJlZml4ZXMsImdldCIpLHNldDppKCh4ZSxOZSk9Pnt4ZS5tb3ZlUGlja2VyUHJlZml4ZXM9TmV9LCJzZXQiKX0sbWV0YWRhdGE6X2V9LHV0LEN0KSxrYSh0aGlzLG51bGwsV3Qse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyTG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh4ZT0+Im1vdmVQaWNrZXJMb2FkaW5nImluIHhlLCJoYXMiKSxnZXQ6aSh4ZT0+eGUubW92ZVBpY2tlckxvYWRpbmcsImdldCIpLHNldDppKCh4ZSxOZSk9Pnt4ZS5tb3ZlUGlja2VyTG9hZGluZz1OZX0sInNldCIpfSxtZXRhZGF0YTpfZX0saGUsbWUpLGthKHRoaXMsbnVsbCxQZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dSZW5hbWVEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoeGU9PiJzaG93UmVuYW1lRGlhbG9nImluIHhlLCJoYXMiKSxnZXQ6aSh4ZT0+eGUuc2hvd1JlbmFtZURpYWxvZywiZ2V0Iiksc2V0OmkoKHhlLE5lKT0+e3hlLnNob3dSZW5hbWVEaWFsb2c9TmV9LCJzZXQiKX0sbWV0YWRhdGE6X2V9LGZ0LGJ0KSxrYSh0aGlzLG51bGwsbmEse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5hbWVTb3VyY2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoeGU9PiJyZW5hbWVTb3VyY2UiaW4geGUsImhhcyIpLGdldDppKHhlPT54ZS5yZW5hbWVTb3VyY2UsImdldCIpLHNldDppKCh4ZSxOZSk9Pnt4ZS5yZW5hbWVTb3VyY2U9TmV9LCJzZXQiKX0sbWV0YWRhdGE6X2V9LFIxLCRyKSxrYSh0aGlzLG51bGwsRHIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5hbWVOYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHhlPT4icmVuYW1lTmFtZSJpbiB4ZSwiaGFzIiksZ2V0OmkoeGU9PnhlLnJlbmFtZU5hbWUsImdldCIpLHNldDppKCh4ZSxOZSk9Pnt4ZS5yZW5hbWVOYW1lPU5lfSwic2V0Iil9LG1ldGFkYXRhOl9lfSxxZSx0dCksa2EodGhpcyxudWxsLFNhLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVuYW1lSW5Qcm9ncmVzcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh4ZT0+InJlbmFtZUluUHJvZ3Jlc3MiaW4geGUsImhhcyIpLGdldDppKHhlPT54ZS5yZW5hbWVJblByb2dyZXNzLCJnZXQiKSxzZXQ6aSgoeGUsTmUpPT57eGUucmVuYW1lSW5Qcm9ncmVzcz1OZX0sInNldCIpfSxtZXRhZGF0YTpfZX0samEsWGEpLGthKHRoaXMsbnVsbCxzMSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlbmFtZUVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHhlPT4icmVuYW1lRXJyb3IiaW4geGUsImhhcyIpLGdldDppKHhlPT54ZS5yZW5hbWVFcnJvciwiZ2V0Iiksc2V0OmkoKHhlLE5lKT0+e3hlLnJlbmFtZUVycm9yPU5lfSwic2V0Iil9LG1ldGFkYXRhOl9lfSxLYSxLciksa2EobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X2V9LG51bGwsYSksUXI9cj1lLnZhbHVlLF9lJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl9lfSl9I2U9Y3QodGhpcyxvLG51bGwpO2dldCBkYXRhUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZGF0YVByb3ZpZGVyKF9lKXt0aGlzLiNlPV9lfSN0PShjdCh0aGlzLGwpLGN0KHRoaXMsdSwiIikpO2dldCBidWNrZXROYW1lKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGJ1Y2tldE5hbWUoX2Upe3RoaXMuI3Q9X2V9I2E9KGN0KHRoaXMsZiksY3QodGhpcyxnLCIiKSk7Z2V0IGN1cnJlbnRQcmVmaXgoKXtyZXR1cm4gdGhpcy4jYX1zZXQgY3VycmVudFByZWZpeChfZSl7dGhpcy4jYT1fZX0jcj0oY3QodGhpcyx2KSxjdCh0aGlzLGIsMCkpO2dldCByZWZyZXNoS2V5KCl7cmV0dXJuIHRoaXMuI3J9c2V0IHJlZnJlc2hLZXkoX2Upe3RoaXMuI3I9X2V9I2k9KGN0KHRoaXMsbSksY3QodGhpcyxNLFtdKSk7Z2V0IGFsbEtleXMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgYWxsS2V5cyhfZSl7dGhpcy4jaT1fZX0jcz0oY3QodGhpcyxrKSxjdCh0aGlzLF8sW10pKTtnZXQgcHJlZml4ZXMoKXtyZXR1cm4gdGhpcy4jc31zZXQgcHJlZml4ZXMoX2Upe3RoaXMuI3M9X2V9I289KGN0KHRoaXMsQyksY3QodGhpcywkLCExKSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jb31zZXQgbG9hZGluZyhfZSl7dGhpcy4jbz1fZX0jbj0oY3QodGhpcyxJKSxjdCh0aGlzLFMsIiIpKTtnZXQgc2VsZWN0ZWRLZXkoKXtyZXR1cm4gdGhpcy4jbn1zZXQgc2VsZWN0ZWRLZXkoX2Upe3RoaXMuI249X2V9I2w9KGN0KHRoaXMseiksY3QodGhpcyxULCIiKSk7Z2V0IGZpbHRlclRleHQoKXtyZXR1cm4gdGhpcy4jbH1zZXQgZmlsdGVyVGV4dChfZSl7dGhpcy4jbD1fZX0jYz0oY3QodGhpcyxBKSxjdCh0aGlzLFIsITEpKTtnZXQgc2hvd0NyZWF0ZURpYWxvZygpe3JldHVybiB0aGlzLiNjfXNldCBzaG93Q3JlYXRlRGlhbG9nKF9lKXt0aGlzLiNjPV9lfSNkPShjdCh0aGlzLHEpLGN0KHRoaXMsTywiZm9sZGVyIikpO2dldCBjcmVhdGVEaWFsb2dUeXBlKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGNyZWF0ZURpYWxvZ1R5cGUoX2Upe3RoaXMuI2Q9X2V9I3A9KGN0KHRoaXMscmUpLGN0KHRoaXMsQiwiIikpO2dldCBjcmVhdGVEaWFsb2dQcmVmaXgoKXtyZXR1cm4gdGhpcy4jcH1zZXQgY3JlYXRlRGlhbG9nUHJlZml4KF9lKXt0aGlzLiNwPV9lfSN1PShjdCh0aGlzLGVlKSxjdCh0aGlzLFksIiIpKTtnZXQgY3JlYXRlRGlhbG9nTmFtZSgpe3JldHVybiB0aGlzLiN1fXNldCBjcmVhdGVEaWFsb2dOYW1lKF9lKXt0aGlzLiN1PV9lfSNmPShjdCh0aGlzLFApLGN0KHRoaXMsRywhMSkpO2dldCBzaG93TW92ZURpYWxvZygpe3JldHVybiB0aGlzLiNmfXNldCBzaG93TW92ZURpYWxvZyhfZSl7dGhpcy4jZj1fZX0jaD0oY3QodGhpcyxXKSxjdCh0aGlzLHplLG51bGwpKTtnZXQgbW92ZVNvdXJjZSgpe3JldHVybiB0aGlzLiNofXNldCBtb3ZlU291cmNlKF9lKXt0aGlzLiNoPV9lfSNtPShjdCh0aGlzLE1lKSxjdCh0aGlzLFYsIiIpKTtnZXQgbW92ZURlc3RpbmF0aW9uKCl7cmV0dXJuIHRoaXMuI219c2V0IG1vdmVEZXN0aW5hdGlvbihfZSl7dGhpcy4jbT1fZX0jZz0oY3QodGhpcyxGKSxjdCh0aGlzLHRlLCExKSk7Z2V0IG1vdmVJblByb2dyZXNzKCl7cmV0dXJuIHRoaXMuI2d9c2V0IG1vdmVJblByb2dyZXNzKF9lKXt0aGlzLiNnPV9lfSNiPShjdCh0aGlzLEspLGN0KHRoaXMsdmUsbnVsbCkpO2dldCBtb3ZlRXJyb3IoKXtyZXR1cm4gdGhpcy4jYn1zZXQgbW92ZUVycm9yKF9lKXt0aGlzLiNiPV9lfSN2PShjdCh0aGlzLGRlKSxjdCh0aGlzLFZlLCExKSk7Z2V0IHNob3dNb3ZlUGlja2VyRGlhbG9nKCl7cmV0dXJuIHRoaXMuI3Z9c2V0IHNob3dNb3ZlUGlja2VyRGlhbG9nKF9lKXt0aGlzLiN2PV9lfSN4PShjdCh0aGlzLFFlKSxjdCh0aGlzLGxlLG51bGwpKTtnZXQgbW92ZVBpY2tlclNvdXJjZSgpe3JldHVybiB0aGlzLiN4fXNldCBtb3ZlUGlja2VyU291cmNlKF9lKXt0aGlzLiN4PV9lfSN5PShjdCh0aGlzLGZlKSxjdCh0aGlzLEhlLCIiKSk7Z2V0IG1vdmVQaWNrZXJDdXJyZW50UHJlZml4KCl7cmV0dXJuIHRoaXMuI3l9c2V0IG1vdmVQaWNrZXJDdXJyZW50UHJlZml4KF9lKXt0aGlzLiN5PV9lfSN3PShjdCh0aGlzLEtlKSxjdCh0aGlzLHV0LFtdKSk7Z2V0IG1vdmVQaWNrZXJQcmVmaXhlcygpe3JldHVybiB0aGlzLiN3fXNldCBtb3ZlUGlja2VyUHJlZml4ZXMoX2Upe3RoaXMuI3c9X2V9I009KGN0KHRoaXMsQ3QpLGN0KHRoaXMsaGUsITEpKTtnZXQgbW92ZVBpY2tlckxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jTX1zZXQgbW92ZVBpY2tlckxvYWRpbmcoX2Upe3RoaXMuI009X2V9I2s9KGN0KHRoaXMsbWUpLGN0KHRoaXMsZnQsITEpKTtnZXQgc2hvd1JlbmFtZURpYWxvZygpe3JldHVybiB0aGlzLiNrfXNldCBzaG93UmVuYW1lRGlhbG9nKF9lKXt0aGlzLiNrPV9lfSN6PShjdCh0aGlzLGJ0KSxjdCh0aGlzLFIxLG51bGwpKTtnZXQgcmVuYW1lU291cmNlKCl7cmV0dXJuIHRoaXMuI3p9c2V0IHJlbmFtZVNvdXJjZShfZSl7dGhpcy4jej1fZX0jUz0oY3QodGhpcywkciksY3QodGhpcyxxZSwiIikpO2dldCByZW5hbWVOYW1lKCl7cmV0dXJuIHRoaXMuI1N9c2V0IHJlbmFtZU5hbWUoX2Upe3RoaXMuI1M9X2V9I0M9KGN0KHRoaXMsdHQpLGN0KHRoaXMsamEsITEpKTtnZXQgcmVuYW1lSW5Qcm9ncmVzcygpe3JldHVybiB0aGlzLiNDfXNldCByZW5hbWVJblByb2dyZXNzKF9lKXt0aGlzLiNDPV9lfSNfPShjdCh0aGlzLFhhKSxjdCh0aGlzLEthLG51bGwpKTtnZXQgcmVuYW1lRXJyb3IoKXtyZXR1cm4gdGhpcy4jX31zZXQgcmVuYW1lRXJyb3IoX2Upe3RoaXMuI189X2V9c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLERlLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmtleXMtY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuZmlsdGVyLWJhciB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzMzIil9OwogICAgICB9CgogICAgICAuZmlsdGVyLWlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAzKSIsInJnYmEoMCwgMCwgMCwgMC4zKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2Q0ZDRkOCIsIiM0NDQiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICAuZmlsdGVyLWlucHV0OmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiNhMWExYWEiLCIjNDA0MDQwIil9OwogICAgICB9CgogICAgICAuZmlsdGVyLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiIzY2NiIpfTsKICAgICAgfQoKICAgICAgLmtleXMtbGlzdCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CgogICAgICB0YWJsZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgICAgfQoKICAgICAgdGhlYWQgewogICAgICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmFmYWZhIiwiIzFhMWExYSIpfTsKICAgICAgICB6LWluZGV4OiAxOwogICAgICB9CgogICAgICB0aCB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiIzY2NiIpfTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzMzMiKX07CiAgICAgIH0KCiAgICAgIHRkIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzJhMmEzZSIpfTsKICAgICAgfQoKICAgICAgdHI6aG92ZXIgdGQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDIpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzKSIpfTsKICAgICAgfQoKICAgICAgdHIuc2VsZWN0ZWQgdGQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICB9CgogICAgICAua2V5LWNlbGwgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5rZXktaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZm9sZGVyLWljb24gewogICAgICAgIGNvbG9yOiAjZmJiZjI0OwogICAgICB9CgogICAgICAua2V5LW5hbWUgewogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLnNpemUtY2VsbCB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiIzg4OCIpfTsKICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDMycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctb3ZlcmxheSB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgIH0KCiAgICAgIC5kaWFsb2cgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzFlMWUxZSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWluLXdpZHRoOiA0MDBweDsKICAgICAgICBib3gtc2hhZG93OiAwIDIwcHggNDBweCByZ2JhKDAsIDAsIDAsIDAuNSk7CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1sb2NhdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiM4ODgiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICB9CgogICAgICAuZGlhbG9nLWlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTQxNDE0Iil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzMzMyIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZmZiIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctaW5wdXQ6Zm9jdXMgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2ExYTFhYSIsIiNlMGUwZTAiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctaGludCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmRpYWxvZy1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0biB7CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYnRuLWNhbmNlbCB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjNDQ0Iil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhYWEiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYnRuLWNhbmNlbDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMykiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYnRuLWNyZWF0ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjNDA0MDQwIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0bi1jcmVhdGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzUwNTA1MCIpfTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1idG4tY3JlYXRlOmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLyogTW92ZSBkaWFsb2cgc3R5bGVzICovCiAgICAgIC5tb3ZlLXN1bW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5tb3ZlLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAubW92ZS1pdGVtOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC5tb3ZlLWxhYmVsIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjODg4Iil9OwogICAgICAgIG1pbi13aWR0aDogNDBweDsKICAgICAgfQoKICAgICAgLm1vdmUtcGF0aCB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjM2YzZjQ2IiwiI2UwZTBlMCIpfTsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgIH0KCiAgICAgIC5tb3ZlLWVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjE1KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpOwogICAgICAgIGNvbG9yOiAjZjg3MTcxOwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgIC8qIE1vdmUgcGlja2VyIGRpYWxvZyBzdHlsZXMgKi8KICAgICAgLm1vdmUtcGlja2VyLWRpYWxvZyB7CiAgICAgICAgbWluLXdpZHRoOiA0NTBweDsKICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDsKICAgICAgfQoKICAgICAgLnBpY2tlci1icmVhZGNydW1iIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMykiLCJyZ2JhKDAsIDAsIDAsIDAuMikiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgIH0KCiAgICAgIC5waWNrZXItY3J1bWIgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiM4ODgiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5waWNrZXItY3J1bWI6aG92ZXIgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC5waWNrZXItc2VwYXJhdG9yIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjNTU1Iil9OwogICAgICB9CgogICAgICAucGlja2VyLWxpc3QgewogICAgICAgIG1heC1oZWlnaHQ6IDI4MHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzMzIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4OwogICAgICB9CgogICAgICAucGlja2VyLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgY29sb3I6ICNmYmJmMjQ7CiAgICAgIH0KCiAgICAgIC5waWNrZXItaXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMykiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpIil9OwogICAgICB9CgogICAgICAucGlja2VyLWl0ZW0gLmljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnBpY2tlci1pdGVtIC5uYW1lIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLnBpY2tlci1lbXB0eSB7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiIzY2NiIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KICAgIGBdO2FzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCB0aGlzLmxvYWRPYmplY3RzKCl9dXBkYXRlZChfZSl7KF9lLmhhcygiYnVja2V0TmFtZSIpfHxfZS5oYXMoImN1cnJlbnRQcmVmaXgiKXx8X2UuaGFzKCJyZWZyZXNoS2V5IikpJiZ0aGlzLmxvYWRPYmplY3RzKCl9YXN5bmMgbG9hZE9iamVjdHMoKXtpZih0aGlzLmRhdGFQcm92aWRlcil7dGhpcy5sb2FkaW5nPSEwO3RyeXtsZXQgX2U9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubGlzdE9iamVjdHModGhpcy5idWNrZXROYW1lLHRoaXMuY3VycmVudFByZWZpeCwiLyIpO3RoaXMuYWxsS2V5cz1fZS5vYmplY3RzLHRoaXMucHJlZml4ZXM9X2UucHJlZml4ZXN9Y2F0Y2goX2Upe2NvbnNvbGUuZXJyb3IoIkVycm9yIGxvYWRpbmcgb2JqZWN0czoiLF9lKSx0aGlzLmFsbEtleXM9W10sdGhpcy5wcmVmaXhlcz1bXX10aGlzLmxvYWRpbmc9ITF9fWhhbmRsZUZpbHRlcklucHV0KF9lKXt0aGlzLmZpbHRlclRleHQ9X2UudGFyZ2V0LnZhbHVlfXNlbGVjdEtleShfZSx4ZSl7dGhpcy5zZWxlY3RlZEtleT1fZSx4ZT90aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJuYXZpZ2F0ZSIse2RldGFpbDp7cHJlZml4Ol9lfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpOnRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImtleS1zZWxlY3RlZCIse2RldGFpbDp7a2V5Ol9lfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWdldCBmaWx0ZXJlZEl0ZW1zKCl7bGV0IF9lPXRoaXMuZmlsdGVyVGV4dC50b0xvd2VyQ2FzZSgpLHhlPXRoaXMucHJlZml4ZXMuZmlsdGVyKExlPT4hX2V8fGp0KExlKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKF9lKSkubWFwKExlPT4oe2tleTpMZSxpc0ZvbGRlcjohMCxzaXplOnZvaWQgMH0pKSxOZT10aGlzLmFsbEtleXMuZmlsdGVyKExlPT4hX2V8fGp0KExlLmtleSkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhfZSkpLm1hcChMZT0+KHtrZXk6TGUua2V5LGlzRm9sZGVyOiExLHNpemU6TGUuc2l6ZX0pKTtyZXR1cm5bLi4ueGUsLi4uTmVdfWhhbmRsZUl0ZW1Db250ZXh0TWVudShfZSx4ZSxOZSl7dGhpcy5kYXRhUHJvdmlkZXImJihfZS5wcmV2ZW50RGVmYXVsdCgpLE5lP050Lm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKF9lLFt7bmFtZToiT3BlbiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJPcGVuIixhY3Rpb246aShhc3luYygpPT57dGhpcy5zZWxlY3RLZXkoeGUsITApfSwiYWN0aW9uIil9LHtuYW1lOiJDb3B5IFBhdGgiLGljb25OYW1lOiJsdWNpZGU6Y29weSIsYWN0aW9uOmkoYXN5bmMoKT0+e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHhlKX0sImFjdGlvbiIpfSx7bmFtZToiUmVuYW1lIixpY29uTmFtZToibHVjaWRlOnBlbmNpbCIsYWN0aW9uOmkoYXN5bmMoKT0+dGhpcy5vcGVuUmVuYW1lRGlhbG9nKHhlLCEwKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiTW92ZSB0by4uLiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJJbnB1dCIsYWN0aW9uOmkoYXN5bmMoKT0+dGhpcy5vcGVuTW92ZVBpY2tlckRpYWxvZyh4ZSwhMCksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6Ik5ldyBGb2xkZXIgSW5zaWRlIixpY29uTmFtZToibHVjaWRlOmZvbGRlclBsdXMiLGFjdGlvbjppKGFzeW5jKCk9PnRoaXMub3BlbkNyZWF0ZURpYWxvZygiZm9sZGVyIix4ZSksImFjdGlvbiIpfSx7bmFtZToiTmV3IEZpbGUgSW5zaWRlIixpY29uTmFtZToibHVjaWRlOmZpbGVQbHVzIixhY3Rpb246aShhc3luYygpPT50aGlzLm9wZW5DcmVhdGVEaWFsb2coImZpbGUiLHhlKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRGVsZXRlIEZvbGRlciIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaDIiLGFjdGlvbjppKGFzeW5jKCk9Pntjb25maXJtKGBEZWxldGUgZm9sZGVyICIke2p0KHhlKX0iIGFuZCBhbGwgaXRzIGNvbnRlbnRzP2ApJiZhd2FpdCB0aGlzLmRhdGFQcm92aWRlci5kZWxldGVQcmVmaXgodGhpcy5idWNrZXROYW1lLHhlKSYmYXdhaXQgdGhpcy5sb2FkT2JqZWN0cygpfSwiYWN0aW9uIil9XSk6TnQub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoX2UsW3tuYW1lOiJQcmV2aWV3IixpY29uTmFtZToibHVjaWRlOmV5ZSIsYWN0aW9uOmkoYXN5bmMoKT0+e3RoaXMuc2VsZWN0S2V5KHhlLCExKX0sImFjdGlvbiIpfSx7bmFtZToiRG93bmxvYWQiLGljb25OYW1lOiJsdWNpZGU6ZG93bmxvYWQiLGFjdGlvbjppKGFzeW5jKCk9PntsZXQgTGU9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIuZ2V0T2JqZWN0VXJsKHRoaXMuYnVja2V0TmFtZSx4ZSksZ2U9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO2dlLmhyZWY9TGUsZ2UuZG93bmxvYWQ9anQoeGUpLGdlLmNsaWNrKCl9LCJhY3Rpb24iKX0se25hbWU6IkNvcHkgUGF0aCIsaWNvbk5hbWU6Imx1Y2lkZTpjb3B5IixhY3Rpb246aShhc3luYygpPT57YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoeGUpfSwiYWN0aW9uIil9LHtuYW1lOiJSZW5hbWUiLGljb25OYW1lOiJsdWNpZGU6cGVuY2lsIixhY3Rpb246aShhc3luYygpPT50aGlzLm9wZW5SZW5hbWVEaWFsb2coeGUsITEpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJNb3ZlIHRvLi4uIixpY29uTmFtZToibHVjaWRlOmZvbGRlcklucHV0IixhY3Rpb246aShhc3luYygpPT50aGlzLm9wZW5Nb3ZlUGlja2VyRGlhbG9nKHhlLCExKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRGVsZXRlIixpY29uTmFtZToibHVjaWRlOnRyYXNoMiIsYWN0aW9uOmkoYXN5bmMoKT0+e2NvbmZpcm0oYERlbGV0ZSBmaWxlICIke2p0KHhlKX0iP2ApJiZhd2FpdCB0aGlzLmRhdGFQcm92aWRlci5kZWxldGVPYmplY3QodGhpcy5idWNrZXROYW1lLHhlKSYmYXdhaXQgdGhpcy5sb2FkT2JqZWN0cygpfSwiYWN0aW9uIil9XSkpfWhhbmRsZUVtcHR5U3BhY2VDb250ZXh0TWVudShfZSl7X2UudGFyZ2V0LmNsb3Nlc3QoInRyIil8fChfZS5wcmV2ZW50RGVmYXVsdCgpLE50Lm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKF9lLFt7bmFtZToiTmV3IEZvbGRlciIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJQbHVzIixhY3Rpb246aShhc3luYygpPT50aGlzLm9wZW5DcmVhdGVEaWFsb2coImZvbGRlciIsdGhpcy5jdXJyZW50UHJlZml4KSwiYWN0aW9uIil9LHtuYW1lOiJOZXcgRmlsZSIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlUGx1cyIsYWN0aW9uOmkoYXN5bmMoKT0+dGhpcy5vcGVuQ3JlYXRlRGlhbG9nKCJmaWxlIix0aGlzLmN1cnJlbnRQcmVmaXgpLCJhY3Rpb24iKX1dKSl9b3BlbkNyZWF0ZURpYWxvZyhfZSx4ZSl7dGhpcy5jcmVhdGVEaWFsb2dUeXBlPV9lLHRoaXMuY3JlYXRlRGlhbG9nUHJlZml4PXhlLHRoaXMuY3JlYXRlRGlhbG9nTmFtZT0iIix0aGlzLnNob3dDcmVhdGVEaWFsb2c9ITB9YXN5bmMgaGFuZGxlQ3JlYXRlKCl7aWYoIXRoaXMuY3JlYXRlRGlhbG9nTmFtZS50cmltKCl8fCF0aGlzLmRhdGFQcm92aWRlcilyZXR1cm47bGV0IF9lPXRoaXMuY3JlYXRlRGlhbG9nTmFtZS50cmltKCkseGU7dGhpcy5jcmVhdGVEaWFsb2dUeXBlPT09ImZvbGRlciI/eGU9dGhpcy5jcmVhdGVEaWFsb2dQcmVmaXgrX2UrIi8ua2VlcCI6eGU9dGhpcy5jcmVhdGVEaWFsb2dQcmVmaXgrX2U7bGV0IE5lPV9lLnNwbGl0KCIuIikucG9wKCk/LnRvTG93ZXJDYXNlKCl8fCIiLExlPXRoaXMuY3JlYXRlRGlhbG9nVHlwZT09PSJmaWxlIj9nbChOZSk6ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIsZ2U9dGhpcy5jcmVhdGVEaWFsb2dUeXBlPT09ImZpbGUiP1E4KE5lKToiIjthd2FpdCB0aGlzLmRhdGFQcm92aWRlci5wdXRPYmplY3QodGhpcy5idWNrZXROYW1lLHhlLGJ0b2EoZ2UpLExlKSYmKHRoaXMuc2hvd0NyZWF0ZURpYWxvZz0hMSxhd2FpdCB0aGlzLmxvYWRPYmplY3RzKCkpfXJlbmRlckNyZWF0ZURpYWxvZygpe2lmKCF0aGlzLnNob3dDcmVhdGVEaWFsb2cpcmV0dXJuIiI7bGV0IF9lPXRoaXMuY3JlYXRlRGlhbG9nVHlwZT09PSJmb2xkZXIiLHhlPV9lPyJDcmVhdGUgTmV3IEZvbGRlciI6IkNyZWF0ZSBOZXcgRmlsZSIsTmU9X2U/ImZvbGRlci1uYW1lIG9yIHBhdGgvdG8vZm9sZGVyIjoiZmlsZW5hbWUudHh0IG9yIHBhdGgvdG8vZmlsZS50eHQiO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctb3ZlcmxheSIgQGNsaWNrPSR7KCk9PnRoaXMuc2hvd0NyZWF0ZURpYWxvZz0hMX0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nIiBAY2xpY2s9JHtMZT0+TGUuc3RvcFByb3BhZ2F0aW9uKCl9PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLXRpdGxlIj4ke3hlfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWxvY2F0aW9uIj4KICAgICAgICAgICAgTG9jYXRpb246ICR7dGhpcy5idWNrZXROYW1lfS8ke3RoaXMuY3JlYXRlRGlhbG9nUHJlZml4fQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgY2xhc3M9ImRpYWxvZy1pbnB1dCIKICAgICAgICAgICAgcGxhY2Vob2xkZXI9JHtOZX0KICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5jcmVhdGVEaWFsb2dOYW1lfQogICAgICAgICAgICBAaW5wdXQ9JHtMZT0+dGhpcy5jcmVhdGVEaWFsb2dOYW1lPUxlLnRhcmdldC52YWx1ZX0KICAgICAgICAgICAgQGtleWRvd249JHtMZT0+TGUua2V5PT09IkVudGVyIiYmdGhpcy5oYW5kbGVDcmVhdGUoKX0KICAgICAgICAgIC8+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctaGludCI+CiAgICAgICAgICAgIFVzZSAiLyIgdG8gY3JlYXRlIG5lc3RlZCAke19lPyJmb2xkZXJzIjoicGF0aCJ9IChlLmcuLCAke19lPyJwYXJlbnQvY2hpbGQiOiJmb2xkZXIvZmlsZS50eHQifSkKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY2FuY2VsIiBAY2xpY2s9JHsoKT0+dGhpcy5zaG93Q3JlYXRlRGlhbG9nPSExfT4KICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNyZWF0ZSIKICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHshdGhpcy5jcmVhdGVEaWFsb2dOYW1lLnRyaW0oKX0KICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDcmVhdGUoKX0KICAgICAgICAgICAgPgogICAgICAgICAgICAgIENyZWF0ZQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgb3Blbk1vdmVQaWNrZXJEaWFsb2coX2UseGUpe3RoaXMubW92ZVBpY2tlclNvdXJjZT17a2V5Ol9lLGlzRm9sZGVyOnhlfSx0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4PSIiLHRoaXMuc2hvd01vdmVQaWNrZXJEaWFsb2c9ITAsYXdhaXQgdGhpcy5sb2FkTW92ZVBpY2tlclByZWZpeGVzKCIiKX1hc3luYyBuYXZpZ2F0ZU1vdmVQaWNrZXIoX2Upe3RoaXMubW92ZVBpY2tlckN1cnJlbnRQcmVmaXg9X2UsYXdhaXQgdGhpcy5sb2FkTW92ZVBpY2tlclByZWZpeGVzKF9lKX1hc3luYyBsb2FkTW92ZVBpY2tlclByZWZpeGVzKF9lKXtpZih0aGlzLmRhdGFQcm92aWRlcil7dGhpcy5tb3ZlUGlja2VyTG9hZGluZz0hMDt0cnl7bGV0IHhlPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmxpc3RPYmplY3RzKHRoaXMuYnVja2V0TmFtZSxfZSwiLyIpO3RoaXMubW92ZVBpY2tlclByZWZpeGVzPXhlLnByZWZpeGVzfWNhdGNoe3RoaXMubW92ZVBpY2tlclByZWZpeGVzPVtdfXRoaXMubW92ZVBpY2tlckxvYWRpbmc9ITF9fXNlbGVjdE1vdmVEZXN0aW5hdGlvbihfZSl7dGhpcy5tb3ZlUGlja2VyU291cmNlJiYodGhpcy5jbG9zZU1vdmVQaWNrZXJEaWFsb2coKSx0aGlzLmluaXRpYXRlTW92ZSh0aGlzLm1vdmVQaWNrZXJTb3VyY2Uua2V5LHRoaXMubW92ZVBpY2tlclNvdXJjZS5pc0ZvbGRlcixfZSkpfWNsb3NlTW92ZVBpY2tlckRpYWxvZygpe3RoaXMuc2hvd01vdmVQaWNrZXJEaWFsb2c9ITEsdGhpcy5tb3ZlUGlja2VyU291cmNlPW51bGwsdGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeD0iIix0aGlzLm1vdmVQaWNrZXJQcmVmaXhlcz1bXX1pbml0aWF0ZU1vdmUoX2UseGUsTmUpe2xldCBMZT1LOChfZSxOZSk7aWYoIUxlLnZhbGlkKXt0aGlzLm1vdmVTb3VyY2U9e2tleTpfZSxpc0ZvbGRlcjp4ZX0sdGhpcy5tb3ZlRGVzdGluYXRpb249TmUsdGhpcy5tb3ZlRXJyb3I9TGUuZXJyb3IsdGhpcy5zaG93TW92ZURpYWxvZz0hMDtyZXR1cm59dGhpcy5tb3ZlU291cmNlPXtrZXk6X2UsaXNGb2xkZXI6eGV9LHRoaXMubW92ZURlc3RpbmF0aW9uPU5lLHRoaXMubW92ZUVycm9yPW51bGwsdGhpcy5zaG93TW92ZURpYWxvZz0hMH1hc3luYyBleGVjdXRlTW92ZSgpe2lmKCEoIXRoaXMubW92ZVNvdXJjZXx8IXRoaXMuZGF0YVByb3ZpZGVyKSl7dGhpcy5tb3ZlSW5Qcm9ncmVzcz0hMDt0cnl7bGV0IF9lPWp0KHRoaXMubW92ZVNvdXJjZS5rZXkpLHhlPXRoaXMubW92ZURlc3RpbmF0aW9uK19lLE5lO3RoaXMubW92ZVNvdXJjZS5pc0ZvbGRlcj9OZT1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5tb3ZlUHJlZml4KHRoaXMuYnVja2V0TmFtZSx0aGlzLm1vdmVTb3VyY2Uua2V5LHhlKTpOZT1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5tb3ZlT2JqZWN0KHRoaXMuYnVja2V0TmFtZSx0aGlzLm1vdmVTb3VyY2Uua2V5LHhlKSxOZS5zdWNjZXNzPyh0aGlzLmNsb3NlTW92ZURpYWxvZygpLGF3YWl0IHRoaXMubG9hZE9iamVjdHMoKSk6dGhpcy5tb3ZlRXJyb3I9TmUuZXJyb3J8fCJNb3ZlIG9wZXJhdGlvbiBmYWlsZWQifWNhdGNoKF9lKXt0aGlzLm1vdmVFcnJvcj1gRXJyb3I6ICR7X2V9YH10aGlzLm1vdmVJblByb2dyZXNzPSExfX1jbG9zZU1vdmVEaWFsb2coKXt0aGlzLnNob3dNb3ZlRGlhbG9nPSExLHRoaXMubW92ZVNvdXJjZT1udWxsLHRoaXMubW92ZURlc3RpbmF0aW9uPSIiLHRoaXMubW92ZUVycm9yPW51bGwsdGhpcy5tb3ZlSW5Qcm9ncmVzcz0hMX1vcGVuUmVuYW1lRGlhbG9nKF9lLHhlKXt0aGlzLnJlbmFtZVNvdXJjZT17a2V5Ol9lLGlzRm9sZGVyOnhlfSx0aGlzLnJlbmFtZU5hbWU9anQoX2UpLHRoaXMucmVuYW1lRXJyb3I9bnVsbCx0aGlzLnNob3dSZW5hbWVEaWFsb2c9ITAsdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT57bGV0IE5lPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnJlbmFtZS1kaWFsb2ctaW5wdXQiKTtpZihOZSlpZihOZS5mb2N1cygpLHhlKU5lLnNlbGVjdCgpO2Vsc2V7bGV0IExlPXRoaXMucmVuYW1lTmFtZS5sYXN0SW5kZXhPZigiLiIpO0xlPjA/TmUuc2V0U2VsZWN0aW9uUmFuZ2UoMCxMZSk6TmUuc2VsZWN0KCl9fSl9YXN5bmMgZXhlY3V0ZVJlbmFtZSgpe2lmKCF0aGlzLnJlbmFtZVNvdXJjZXx8IXRoaXMucmVuYW1lTmFtZS50cmltKCl8fCF0aGlzLmRhdGFQcm92aWRlcilyZXR1cm47bGV0IF9lPXRoaXMucmVuYW1lTmFtZS50cmltKCkseGU9anQodGhpcy5yZW5hbWVTb3VyY2Uua2V5KTtpZihfZT09PXhlKXt0aGlzLnJlbmFtZUVycm9yPSJOYW1lIGlzIHRoZSBzYW1lIGFzIGN1cnJlbnQiO3JldHVybn1pZighX2Upe3RoaXMucmVuYW1lRXJyb3I9Ik5hbWUgY2Fubm90IGJlIGVtcHR5IjtyZXR1cm59aWYoX2UuaW5jbHVkZXMoIi8iKSl7dGhpcy5yZW5hbWVFcnJvcj0nTmFtZSBjYW5ub3QgY29udGFpbiAiLyInO3JldHVybn10aGlzLnJlbmFtZUluUHJvZ3Jlc3M9ITAsdGhpcy5yZW5hbWVFcnJvcj1udWxsO3RyeXtsZXQgTGU9SXModGhpcy5yZW5hbWVTb3VyY2Uua2V5KStfZSsodGhpcy5yZW5hbWVTb3VyY2UuaXNGb2xkZXI/Ii8iOiIiKSxnZTt0aGlzLnJlbmFtZVNvdXJjZS5pc0ZvbGRlcj9nZT1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5tb3ZlUHJlZml4KHRoaXMuYnVja2V0TmFtZSx0aGlzLnJlbmFtZVNvdXJjZS5rZXksTGUpOmdlPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLm1vdmVPYmplY3QodGhpcy5idWNrZXROYW1lLHRoaXMucmVuYW1lU291cmNlLmtleSxMZSksZ2Uuc3VjY2Vzcz8odGhpcy5jbG9zZVJlbmFtZURpYWxvZygpLGF3YWl0IHRoaXMubG9hZE9iamVjdHMoKSk6dGhpcy5yZW5hbWVFcnJvcj1nZS5lcnJvcnx8IlJlbmFtZSBmYWlsZWQifWNhdGNoKE5lKXt0aGlzLnJlbmFtZUVycm9yPWBFcnJvcjogJHtOZX1gfXRoaXMucmVuYW1lSW5Qcm9ncmVzcz0hMX1jbG9zZVJlbmFtZURpYWxvZygpe3RoaXMuc2hvd1JlbmFtZURpYWxvZz0hMSx0aGlzLnJlbmFtZVNvdXJjZT1udWxsLHRoaXMucmVuYW1lTmFtZT0iIix0aGlzLnJlbmFtZUVycm9yPW51bGwsdGhpcy5yZW5hbWVJblByb2dyZXNzPSExfXJlbmRlclJlbmFtZURpYWxvZygpe2lmKCF0aGlzLnNob3dSZW5hbWVEaWFsb2d8fCF0aGlzLnJlbmFtZVNvdXJjZSlyZXR1cm4iIjtsZXQgX2U9dGhpcy5yZW5hbWVTb3VyY2UuaXNGb2xkZXI7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1vdmVybGF5IiBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZVJlbmFtZURpYWxvZygpfT4KICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ciIEBjbGljaz0ke05lPT5OZS5zdG9wUHJvcGFnYXRpb24oKX0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctdGl0bGUiPiR7X2U/IlJlbmFtZSBGb2xkZXIiOiJSZW5hbWUgRmlsZSJ9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctbG9jYXRpb24iPgogICAgICAgICAgICBMb2NhdGlvbjogJHt0aGlzLmJ1Y2tldE5hbWV9LyR7SXModGhpcy5yZW5hbWVTb3VyY2Uua2V5KX0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHt0aGlzLnJlbmFtZUVycm9yP3dgPGRpdiBjbGFzcz0ibW92ZS1lcnJvciI+JHt0aGlzLnJlbmFtZUVycm9yfTwvZGl2PmA6IiJ9CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgY2xhc3M9ImRpYWxvZy1pbnB1dCByZW5hbWUtZGlhbG9nLWlucHV0IgogICAgICAgICAgICBwbGFjZWhvbGRlcj0ke19lPyJmb2xkZXItbmFtZSI6ImZpbGVuYW1lLmV4dCJ9CiAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMucmVuYW1lTmFtZX0KICAgICAgICAgICAgQGlucHV0PSR7TmU9Pnt0aGlzLnJlbmFtZU5hbWU9TmUudGFyZ2V0LnZhbHVlLHRoaXMucmVuYW1lRXJyb3I9bnVsbH19CiAgICAgICAgICAgIEBrZXlkb3duPSR7TmU9PntOZS5rZXk9PT0iRW50ZXIiJiZ0aGlzLmV4ZWN1dGVSZW5hbWUoKSxOZS5rZXk9PT0iRXNjYXBlIiYmdGhpcy5jbG9zZVJlbmFtZURpYWxvZygpfX0KICAgICAgICAgIC8+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctYWN0aW9ucyI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRpYWxvZy1idG4gZGlhbG9nLWJ0bi1jYW5jZWwiCiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VSZW5hbWVEaWFsb2coKX0KICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLnJlbmFtZUluUHJvZ3Jlc3N9PkNhbmNlbDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY3JlYXRlIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmV4ZWN1dGVSZW5hbWUoKX0KICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLnJlbmFtZUluUHJvZ3Jlc3N8fCF0aGlzLnJlbmFtZU5hbWUudHJpbSgpfT4KICAgICAgICAgICAgICAke3RoaXMucmVuYW1lSW5Qcm9ncmVzcz8iUmVuYW1pbmcuLi4iOiJSZW5hbWUifQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyTW92ZURpYWxvZygpe2lmKCF0aGlzLnNob3dNb3ZlRGlhbG9nfHwhdGhpcy5tb3ZlU291cmNlKXJldHVybiIiO2xldCBfZT1qdCh0aGlzLm1vdmVTb3VyY2Uua2V5KTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLW92ZXJsYXkiIEBjbGljaz0keygpPT50aGlzLmNsb3NlTW92ZURpYWxvZygpfT4KICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ciIEBjbGljaz0ke3hlPT54ZS5zdG9wUHJvcGFnYXRpb24oKX0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctdGl0bGUiPk1vdmUgJHt0aGlzLm1vdmVTb3VyY2UuaXNGb2xkZXI/IkZvbGRlciI6IkZpbGUifTwvZGl2PgoKICAgICAgICAgICR7dGhpcy5tb3ZlRXJyb3I/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW92ZS1lcnJvciI+JHt0aGlzLm1vdmVFcnJvcn08L2Rpdj4KICAgICAgICAgIGA6d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW92ZS1zdW1tYXJ5Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb3ZlLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1vdmUtbGFiZWwiPkZyb206PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1vdmUtcGF0aCI+JHt0aGlzLm1vdmVTb3VyY2Uua2V5fTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb3ZlLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1vdmUtbGFiZWwiPlRvOjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtb3ZlLXBhdGgiPiR7dGhpcy5tb3ZlRGVzdGluYXRpb259JHtfZX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYH0KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctYWN0aW9ucyI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRpYWxvZy1idG4gZGlhbG9nLWJ0bi1jYW5jZWwiCiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VNb3ZlRGlhbG9nKCl9CiAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5tb3ZlSW5Qcm9ncmVzc30+CiAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAke3RoaXMubW92ZUVycm9yPyIiOndgCiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmV4ZWN1dGVNb3ZlKCl9CiAgICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLm1vdmVJblByb2dyZXNzfT4KICAgICAgICAgICAgICAgICR7dGhpcy5tb3ZlSW5Qcm9ncmVzcz8iTW92aW5nLi4uIjoiTW92ZSJ9CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlck1vdmVQaWNrZXJEaWFsb2coKXtpZighdGhpcy5zaG93TW92ZVBpY2tlckRpYWxvZ3x8IXRoaXMubW92ZVBpY2tlclNvdXJjZSlyZXR1cm4iIjtsZXQgX2U9anQodGhpcy5tb3ZlUGlja2VyU291cmNlLmtleSkseGU9SXModGhpcy5tb3ZlUGlja2VyU291cmNlLmtleSk7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1vdmVybGF5IiBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZU1vdmVQaWNrZXJEaWFsb2coKX0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nIG1vdmUtcGlja2VyLWRpYWxvZyIgQGNsaWNrPSR7TmU9Pk5lLnN0b3BQcm9wYWdhdGlvbigpfT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy10aXRsZSI+TW92ZSAiJHtfZX0iIHRvLi4uPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0icGlja2VyLWJyZWFkY3J1bWIiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icGlja2VyLWNydW1iIiBAY2xpY2s9JHsoKT0+dGhpcy5uYXZpZ2F0ZU1vdmVQaWNrZXIoIiIpfT4KICAgICAgICAgICAgICAke3RoaXMuYnVja2V0TmFtZX0KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAke3k2KHRoaXMubW92ZVBpY2tlckN1cnJlbnRQcmVmaXgpLm1hcChOZT0+d2AKICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGlja2VyLXNlcGFyYXRvciI+Lzwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGlja2VyLWNydW1iIiBAY2xpY2s9JHsoKT0+dGhpcy5uYXZpZ2F0ZU1vdmVQaWNrZXIoTmUpfT4KICAgICAgICAgICAgICAgICR7anQoTmUpfQogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgYCl9CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWNrZXItbGlzdCI+CiAgICAgICAgICAgICR7dGhpcy5tb3ZlUGlja2VyTG9hZGluZz93YDxkaXYgY2xhc3M9InBpY2tlci1lbXB0eSI+TG9hZGluZy4uLjwvZGl2PmA6IiJ9CiAgICAgICAgICAgICR7IXRoaXMubW92ZVBpY2tlckxvYWRpbmcmJnRoaXMubW92ZVBpY2tlclByZWZpeGVzLmZpbHRlcihOZT0+TmUhPT10aGlzLm1vdmVQaWNrZXJTb3VyY2Uua2V5KS5sZW5ndGg9PT0wP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlja2VyLWVtcHR5Ij5ObyBzdWJmb2xkZXJzPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICR7dGhpcy5tb3ZlUGlja2VyUHJlZml4ZXMuZmlsdGVyKE5lPT5OZSE9PXRoaXMubW92ZVBpY2tlclNvdXJjZS5rZXkpLm1hcChOZT0+d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpY2tlci1pdGVtIgogICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5uYXZpZ2F0ZU1vdmVQaWNrZXIoTmUpfQogICAgICAgICAgICAgICAgICAgICBAZGJsY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RNb3ZlRGVzdGluYXRpb24oTmUpfT4KICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMiAxOWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNWwyIDNoOWEyIDIgMCAwIDEgMiAyeiIvPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hbWUiPiR7anQoTmUpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY2FuY2VsIiBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZU1vdmVQaWNrZXJEaWFsb2coKX0+CiAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY3JlYXRlIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnNlbGVjdE1vdmVEZXN0aW5hdGlvbih0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4KX0KICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4PT09eGV9PgogICAgICAgICAgICAgIE1vdmUgSGVyZQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImtleXMtY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWx0ZXItYmFyIj4KICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICBjbGFzcz0iZmlsdGVyLWlucHV0IgogICAgICAgICAgICBwbGFjZWhvbGRlcj0iRmlsdGVyIGZpbGVzLi4uIgogICAgICAgICAgICAudmFsdWU9JHt0aGlzLmZpbHRlclRleHR9CiAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlRmlsdGVySW5wdXR9CiAgICAgICAgICAvPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJrZXlzLWxpc3QiIEBjb250ZXh0bWVudT0ke19lPT50aGlzLmhhbmRsZUVtcHR5U3BhY2VDb250ZXh0TWVudShfZSl9PgogICAgICAgICAgJHt0aGlzLmxvYWRpbmc/d2A8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+TG9hZGluZy4uLjwvZGl2PmA6dGhpcy5maWx0ZXJlZEl0ZW1zLmxlbmd0aD09PTA/d2A8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gb2JqZWN0cyBmb3VuZDwvZGl2PmA6d2AKICAgICAgICAgICAgICAgICAgPHRhYmxlPgogICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk5hbWU8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOiAxMDBweDsiPlNpemU8L3RoPgogICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICR7dGhpcy5maWx0ZXJlZEl0ZW1zLm1hcChfZT0+d2AKICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSIke3RoaXMuc2VsZWN0ZWRLZXk9PT1fZS5rZXk/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RLZXkoX2Uua2V5LF9lLmlzRm9sZGVyKX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjb250ZXh0bWVudT0ke3hlPT50aGlzLmhhbmRsZUl0ZW1Db250ZXh0TWVudSh4ZSxfZS5rZXksX2UuaXNGb2xkZXIpfQogICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ia2V5LWNlbGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7X2UuaXNGb2xkZXI/d2AKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJrZXktaWNvbiBmb2xkZXItaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIyIDE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg1bDIgM2g5YTIgMiAwIDAgMSAyIDJ6IiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ia2V5LWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjh6IiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXktbmFtZSI+JHtqdChfZS5rZXkpfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJzaXplLWNlbGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke19lLmlzRm9sZGVyPyItIjpYOChfZS5zaXplKX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgIGB9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAke3RoaXMucmVuZGVyQ3JlYXRlRGlhbG9nKCl9CiAgICAgICR7dGhpcy5yZW5kZXJNb3ZlRGlhbG9nKCl9CiAgICAgICR7dGhpcy5yZW5kZXJNb3ZlUGlja2VyRGlhbG9nKCl9CiAgICAgICR7dGhpcy5yZW5kZXJSZW5hbWVEaWFsb2coKX0KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGN0KHRoaXMsS3IpfXN0YXRpY3tjdChyLGEpfX07cmV0dXJuIFFyPXJ9KSgpfSk7dmFyIG9pLFRhLHZLdCx1QmU9YygoKT0+e3BlKCk7WGUoKTt5QigpO29pPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxUYT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sdkt0PSgoKT0+e2xldCB0PVthZSgiZGVlcy1zdG9yYWdlLXByZXZpZXciKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXSx5LE09W10saz1bXSxFLF89W10sQz1bXSxOLCQ9W10sST1bXSxqLFM9W10sej1bXSxELFQ9W10sQT1bXSxVLFI9W10scT1bXSxvZSxPPVtdLHJlPVtdLHllLEI9W10sZWU9W10sQ2UsWT1bXSxQPVtdO3ZhciBIPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzU3RvcmFnZVByZXZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgRz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk9iamVjdH0pXSxoPVtMKHt0eXBlOlN0cmluZ30pXSxwPVtMKHt0eXBlOlN0cmluZ30pXSx4PVtaKCldLHk9W1ooKV0sRT1bWigpXSxOPVtaKCldLGo9W1ooKV0sRD1bWigpXSxVPVtaKCldLG9lPVtaKCldLHllPVtaKCldLENlPVtaKCldLG9pKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YVByb3ZpZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFc9PiJkYXRhUHJvdmlkZXIiaW4gVywiaGFzIiksZ2V0OmkoVz0+Vy5kYXRhUHJvdmlkZXIsImdldCIpLHNldDppKChXLHNlKT0+e1cuZGF0YVByb3ZpZGVyPXNlfSwic2V0Iil9LG1ldGFkYXRhOkd9LG8sbCksb2kodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJidWNrZXROYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFc9PiJidWNrZXROYW1lImluIFcsImhhcyIpLGdldDppKFc9PlcuYnVja2V0TmFtZSwiZ2V0Iiksc2V0OmkoKFcsc2UpPT57Vy5idWNrZXROYW1lPXNlfSwic2V0Iil9LG1ldGFkYXRhOkd9LHUsZiksb2kodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvYmplY3RLZXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoVz0+Im9iamVjdEtleSJpbiBXLCJoYXMiKSxnZXQ6aShXPT5XLm9iamVjdEtleSwiZ2V0Iiksc2V0OmkoKFcsc2UpPT57Vy5vYmplY3RLZXk9c2V9LCJzZXQiKX0sbWV0YWRhdGE6R30sZyx2KSxvaSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoVz0+ImxvYWRpbmciaW4gVywiaGFzIiksZ2V0OmkoVz0+Vy5sb2FkaW5nLCJnZXQiKSxzZXQ6aSgoVyxzZSk9PntXLmxvYWRpbmc9c2V9LCJzZXQiKX0sbWV0YWRhdGE6R30sYixtKSxvaSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNhdmluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShXPT4ic2F2aW5nImluIFcsImhhcyIpLGdldDppKFc9Plcuc2F2aW5nLCJnZXQiKSxzZXQ6aSgoVyxzZSk9PntXLnNhdmluZz1zZX0sInNldCIpfSxtZXRhZGF0YTpHfSxNLGspLG9pKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShXPT4iY29udGVudCJpbiBXLCJoYXMiKSxnZXQ6aShXPT5XLmNvbnRlbnQsImdldCIpLHNldDppKChXLHNlKT0+e1cuY29udGVudD1zZX0sInNldCIpfSxtZXRhZGF0YTpHfSxfLEMpLG9pKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3JpZ2luYWxUZXh0Q29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShXPT4ib3JpZ2luYWxUZXh0Q29udGVudCJpbiBXLCJoYXMiKSxnZXQ6aShXPT5XLm9yaWdpbmFsVGV4dENvbnRlbnQsImdldCIpLHNldDppKChXLHNlKT0+e1cub3JpZ2luYWxUZXh0Q29udGVudD1zZX0sInNldCIpfSxtZXRhZGF0YTpHfSwkLEkpLG9pKHRoaXMsbnVsbCxqLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGFzQ2hhbmdlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShXPT4iaGFzQ2hhbmdlcyJpbiBXLCJoYXMiKSxnZXQ6aShXPT5XLmhhc0NoYW5nZXMsImdldCIpLHNldDppKChXLHNlKT0+e1cuaGFzQ2hhbmdlcz1zZX0sInNldCIpfSxtZXRhZGF0YTpHfSxTLHopLG9pKHRoaXMsbnVsbCxELHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZWRpdGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShXPT4iZWRpdGluZyJpbiBXLCJoYXMiKSxnZXQ6aShXPT5XLmVkaXRpbmcsImdldCIpLHNldDppKChXLHNlKT0+e1cuZWRpdGluZz1zZX0sInNldCIpfSxtZXRhZGF0YTpHfSxULEEpLG9pKHRoaXMsbnVsbCxVLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoVz0+ImNvbnRlbnRUeXBlImluIFcsImhhcyIpLGdldDppKFc9PlcuY29udGVudFR5cGUsImdldCIpLHNldDppKChXLHNlKT0+e1cuY29udGVudFR5cGU9c2V9LCJzZXQiKX0sbWV0YWRhdGE6R30sUixxKSxvaSh0aGlzLG51bGwsb2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxlU2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShXPT4iZmlsZVNpemUiaW4gVywiaGFzIiksZ2V0OmkoVz0+Vy5maWxlU2l6ZSwiZ2V0Iiksc2V0OmkoKFcsc2UpPT57Vy5maWxlU2l6ZT1zZX0sInNldCIpfSxtZXRhZGF0YTpHfSxPLHJlKSxvaSh0aGlzLG51bGwseWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYXN0TW9kaWZpZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoVz0+Imxhc3RNb2RpZmllZCJpbiBXLCJoYXMiKSxnZXQ6aShXPT5XLmxhc3RNb2RpZmllZCwiZ2V0Iiksc2V0OmkoKFcsc2UpPT57Vy5sYXN0TW9kaWZpZWQ9c2V9LCJzZXQiKX0sbWV0YWRhdGE6R30sQixlZSksb2kodGhpcyxudWxsLENlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoVz0+ImVycm9yImluIFcsImhhcyIpLGdldDppKFc9PlcuZXJyb3IsImdldCIpLHNldDppKChXLHNlKT0+e1cuZXJyb3I9c2V9LCJzZXQiKX0sbWV0YWRhdGE6R30sWSxQKSxvaShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpHfSxudWxsLGEpLEg9cj1lLnZhbHVlLEcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6R30pfSNlPVRhKHRoaXMsbyxudWxsKTtnZXQgZGF0YVByb3ZpZGVyKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRhdGFQcm92aWRlcihHKXt0aGlzLiNlPUd9I3Q9KFRhKHRoaXMsbCksVGEodGhpcyx1LCIiKSk7Z2V0IGJ1Y2tldE5hbWUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYnVja2V0TmFtZShHKXt0aGlzLiN0PUd9I2E9KFRhKHRoaXMsZiksVGEodGhpcyxnLCIiKSk7Z2V0IG9iamVjdEtleSgpe3JldHVybiB0aGlzLiNhfXNldCBvYmplY3RLZXkoRyl7dGhpcy4jYT1HfSNyPShUYSh0aGlzLHYpLFRhKHRoaXMsYiwhMSkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGxvYWRpbmcoRyl7dGhpcy4jcj1HfSNpPShUYSh0aGlzLG0pLFRhKHRoaXMsTSwhMSkpO2dldCBzYXZpbmcoKXtyZXR1cm4gdGhpcy4jaX1zZXQgc2F2aW5nKEcpe3RoaXMuI2k9R30jcz0oVGEodGhpcyxrKSxUYSh0aGlzLF8sIiIpKTtnZXQgY29udGVudCgpe3JldHVybiB0aGlzLiNzfXNldCBjb250ZW50KEcpe3RoaXMuI3M9R30jbz0oVGEodGhpcyxDKSxUYSh0aGlzLCQsIiIpKTtnZXQgb3JpZ2luYWxUZXh0Q29udGVudCgpe3JldHVybiB0aGlzLiNvfXNldCBvcmlnaW5hbFRleHRDb250ZW50KEcpe3RoaXMuI289R30jbj0oVGEodGhpcyxJKSxUYSh0aGlzLFMsITEpKTtnZXQgaGFzQ2hhbmdlcygpe3JldHVybiB0aGlzLiNufXNldCBoYXNDaGFuZ2VzKEcpe3RoaXMuI249R30jbD0oVGEodGhpcyx6KSxUYSh0aGlzLFQsITEpKTtnZXQgZWRpdGluZygpe3JldHVybiB0aGlzLiNsfXNldCBlZGl0aW5nKEcpe3RoaXMuI2w9R30jYz0oVGEodGhpcyxBKSxUYSh0aGlzLFIsIiIpKTtnZXQgY29udGVudFR5cGUoKXtyZXR1cm4gdGhpcy4jY31zZXQgY29udGVudFR5cGUoRyl7dGhpcy4jYz1HfSNkPShUYSh0aGlzLHEpLFRhKHRoaXMsTywwKSk7Z2V0IGZpbGVTaXplKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGZpbGVTaXplKEcpe3RoaXMuI2Q9R30jcD0oVGEodGhpcyxyZSksVGEodGhpcyxCLCIiKSk7Z2V0IGxhc3RNb2RpZmllZCgpe3JldHVybiB0aGlzLiNwfXNldCBsYXN0TW9kaWZpZWQoRyl7dGhpcy4jcD1HfSN1PShUYSh0aGlzLGVlKSxUYSh0aGlzLFksIiIpKTtnZXQgZXJyb3IoKXtyZXR1cm4gdGhpcy4jdX1zZXQgZXJyb3IoRyl7dGhpcy4jdT1HfXN0YXRpYyBzdHlsZXM9W2QuZGVmYXVsdFN0eWxlcyxEZSxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAucHJldmlldy1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWhlYWRlciB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzMzIil9OwogICAgICB9CgogICAgICAucHJldmlldy10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgfQoKICAgICAgLnByZXZpZXctbWV0YSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjODg4Iil9OwogICAgICB9CgogICAgICAubWV0YS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnByZXZpZXctY29udGVudCBkZWVzLXByZXZpZXcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLnByZXZpZXctY29udGVudC5jb2RlLWVkaXRvciB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucHJldmlldy1jb250ZW50LmNvZGUtZWRpdG9yIGRlZXMtaW5wdXQtY29kZSB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAucHJldmlldy1hY3Rpb25zIHsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzMzMiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idG4gewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjNDA0MDQwIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzNmM2Y0NiIsIiNlMGUwZTAiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bi5kYW5nZXIgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWY0NDQ0OwogICAgICAgIGNvbG9yOiAjZjg3MTcxOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bi5kYW5nZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMyk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnRuLnByaW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpOwogICAgICAgIGJvcmRlci1jb2xvcjogIzNiODJmNjsKICAgICAgICBjb2xvcjogIzYwYTVmYTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idG4ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuNCk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnRuLnByaW1hcnk6ZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bi5zZWNvbmRhcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzU1NSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYWFhIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bi5zZWNvbmRhcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDYpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC51bnNhdmVkLWluZGljYXRvciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjUxLCAxOTEsIDM2LCAwLjEpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjUxLCAxOTEsIDM2LCAwLjMpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICNmYmJmMjQ7CiAgICAgIH0KCiAgICAgIC51bnNhdmVkLWRvdCB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogI2ZiYmYyNDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiIzY2NiIpfTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHN2ZyB7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAubG9hZGluZy1zdGF0ZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjODg4Iil9OwogICAgICB9CgogICAgICAuZXJyb3Itc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgY29sb3I6ICNmODcxNzE7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CiAgICBgXTt1cGRhdGVkKEcpeyhHLmhhcygib2JqZWN0S2V5Iil8fEcuaGFzKCJidWNrZXROYW1lIikpJiYodGhpcy5vYmplY3RLZXk/dGhpcy5sb2FkT2JqZWN0KCk6KHRoaXMuY29udGVudD0iIix0aGlzLmNvbnRlbnRUeXBlPSIiLHRoaXMuZXJyb3I9IiIsdGhpcy5vcmlnaW5hbFRleHRDb250ZW50PSIiLHRoaXMuaGFzQ2hhbmdlcz0hMSx0aGlzLmVkaXRpbmc9ITEpKX1hc3luYyBsb2FkT2JqZWN0KCl7aWYoISghdGhpcy5vYmplY3RLZXl8fCF0aGlzLmJ1Y2tldE5hbWV8fCF0aGlzLmRhdGFQcm92aWRlcikpe3RoaXMubG9hZGluZz0hMCx0aGlzLmVycm9yPSIiLHRoaXMuaGFzQ2hhbmdlcz0hMSx0aGlzLmVkaXRpbmc9ITE7dHJ5e2xldCBHPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmdldE9iamVjdCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5vYmplY3RLZXkpO2lmKCFHKXt0aGlzLmVycm9yPSJPYmplY3Qgbm90IGZvdW5kIix0aGlzLmxvYWRpbmc9ITE7cmV0dXJufXRoaXMuY29udGVudD1HLmNvbnRlbnR8fCIiLHRoaXMuY29udGVudFR5cGU9Ry5jb250ZW50VHlwZXx8IiIsdGhpcy5maWxlU2l6ZT1HLnNpemV8fDAsdGhpcy5sYXN0TW9kaWZpZWQ9Ry5sYXN0TW9kaWZpZWR8fCIiLHRoaXMuaXNUZXh0KCkmJih0aGlzLm9yaWdpbmFsVGV4dENvbnRlbnQ9dGhpcy5nZXRUZXh0Q29udGVudCgpKX1jYXRjaChHKXtjb25zb2xlLmVycm9yKCJFcnJvciBsb2FkaW5nIG9iamVjdDoiLEcpLHRoaXMuZXJyb3I9IkZhaWxlZCB0byBsb2FkIG9iamVjdCJ9dGhpcy5sb2FkaW5nPSExfX1mb3JtYXREYXRlKEcpe3JldHVybiBHP25ldyBEYXRlKEcpLnRvTG9jYWxlU3RyaW5nKCk6Ii0ifWlzSW1hZ2UoKXtyZXR1cm4gdGhpcy5jb250ZW50VHlwZS5zdGFydHNXaXRoKCJpbWFnZS8iKX1pc1RleHQoKXtyZXR1cm4gdGhpcy5jb250ZW50VHlwZS5zdGFydHNXaXRoKCJ0ZXh0LyIpfHx0aGlzLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL2pzb24ifHx0aGlzLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3htbCJ8fHRoaXMuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24vamF2YXNjcmlwdCJ9Z2V0VGV4dENvbnRlbnQoKXt0cnl7bGV0IEc9YXRvYih0aGlzLmNvbnRlbnQpLFc9bmV3IFVpbnQ4QXJyYXkoRy5sZW5ndGgpO2ZvcihsZXQgc2U9MDtzZTxHLmxlbmd0aDtzZSsrKVdbc2VdPUcuY2hhckNvZGVBdChzZSk7cmV0dXJuIG5ldyBUZXh0RGVjb2RlcigidXRmLTgiKS5kZWNvZGUoVyl9Y2F0Y2h7cmV0dXJuIlVuYWJsZSB0byBkZWNvZGUgY29udGVudCJ9fWFzeW5jIGhhbmRsZURvd25sb2FkKCl7dHJ5e2xldCBHPW5ldyBCbG9iKFtVaW50OEFycmF5LmZyb20oYXRvYih0aGlzLmNvbnRlbnQpLHplPT56ZS5jaGFyQ29kZUF0KDApKV0se3R5cGU6dGhpcy5jb250ZW50VHlwZX0pLFc9VVJMLmNyZWF0ZU9iamVjdFVSTChHKSxzZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7c2UuaHJlZj1XLHNlLmRvd25sb2FkPWp0KHRoaXMub2JqZWN0S2V5KSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNlKSxzZS5jbGljaygpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoc2UpLFVSTC5yZXZva2VPYmplY3RVUkwoVyl9Y2F0Y2goRyl7Y29uc29sZS5lcnJvcigiRXJyb3IgZG93bmxvYWRpbmc6IixHKX19YXN5bmMgaGFuZGxlRGVsZXRlKCl7aWYodGhpcy5kYXRhUHJvdmlkZXImJmNvbmZpcm0oYERlbGV0ZSAiJHtqdCh0aGlzLm9iamVjdEtleSl9Ij9gKSl0cnl7YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIuZGVsZXRlT2JqZWN0KHRoaXMuYnVja2V0TmFtZSx0aGlzLm9iamVjdEtleSksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgib2JqZWN0LWRlbGV0ZWQiLHtkZXRhaWw6e2tleTp0aGlzLm9iamVjdEtleX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jYXRjaChHKXtjb25zb2xlLmVycm9yKCJFcnJvciBkZWxldGluZyBvYmplY3Q6IixHKX19Z2V0TGFuZ3VhZ2UoKXtsZXQgRz10aGlzLm9iamVjdEtleS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpfHwiIjtyZXR1cm57dHM6InR5cGVzY3JpcHQiLHRzeDoidHlwZXNjcmlwdCIsanM6ImphdmFzY3JpcHQiLGpzeDoiamF2YXNjcmlwdCIsbWpzOiJqYXZhc2NyaXB0IixjanM6ImphdmFzY3JpcHQiLGpzb246Impzb24iLGh0bWw6Imh0bWwiLGh0bToiaHRtbCIsY3NzOiJjc3MiLHNjc3M6InNjc3MiLHNhc3M6InNjc3MiLGxlc3M6Imxlc3MiLG1kOiJtYXJrZG93biIsbWFya2Rvd246Im1hcmtkb3duIix4bWw6InhtbCIseWFtbDoieWFtbCIseW1sOiJ5YW1sIixweToicHl0aG9uIixyYjoicnVieSIsZ286ImdvIixyczoicnVzdCIsamF2YToiamF2YSIsYzoiYyIsY3BwOiJjcHAiLGg6ImMiLGhwcDoiY3BwIixjczoiY3NoYXJwIixwaHA6InBocCIsc2g6InNoZWxsIixiYXNoOiJzaGVsbCIsenNoOiJzaGVsbCIsc3FsOiJzcWwiLGdyYXBocWw6ImdyYXBocWwiLGdxbDoiZ3JhcGhxbCIsZG9ja2VyZmlsZToiZG9ja2VyZmlsZSIsdHh0OiJwbGFpbnRleHQifVtHXXx8InBsYWludGV4dCJ9aGFuZGxlQ29udGVudENoYW5nZShHKXtsZXQgVz1HLmRldGFpbDt0aGlzLmhhc0NoYW5nZXM9VyE9PXRoaXMub3JpZ2luYWxUZXh0Q29udGVudH1oYW5kbGVFZGl0KCl7dGhpcy5lZGl0aW5nPSEwfWhhbmRsZURpc2NhcmQoKXtsZXQgRz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtY29kZSIpO0cmJihHLnZhbHVlPXRoaXMub3JpZ2luYWxUZXh0Q29udGVudCksdGhpcy5oYXNDaGFuZ2VzPSExLHRoaXMuZWRpdGluZz0hMX1hc3luYyBoYW5kbGVTYXZlKCl7aWYoISghdGhpcy5oYXNDaGFuZ2VzfHx0aGlzLnNhdmluZ3x8IXRoaXMuZGF0YVByb3ZpZGVyKSl7dGhpcy5zYXZpbmc9ITA7dHJ5e2xldCBXPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1jb2RlIik/LnZhbHVlPz8iIix6ZT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoVyksTWU9YnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLnplKSk7YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIucHV0T2JqZWN0KHRoaXMuYnVja2V0TmFtZSx0aGlzLm9iamVjdEtleSxNZSx0aGlzLmNvbnRlbnRUeXBlKSYmKHRoaXMub3JpZ2luYWxUZXh0Q29udGVudD1XLHRoaXMuaGFzQ2hhbmdlcz0hMSx0aGlzLmVkaXRpbmc9ITEsdGhpcy5jb250ZW50PU1lKX1jYXRjaChHKXtjb25zb2xlLmVycm9yKCJFcnJvciBzYXZpbmcgb2JqZWN0OiIsRyl9dGhpcy5zYXZpbmc9ITF9fXJlbmRlcigpe3JldHVybiB0aGlzLm9iamVjdEtleT90aGlzLmxvYWRpbmc/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXN0YXRlIj5Mb2FkaW5nLi4uPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6dGhpcy5lcnJvcj93YAogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctY29udGFpbmVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLXN0YXRlIj4ke3RoaXMuZXJyb3J9PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctdGl0bGUiPiR7anQodGhpcy5vYmplY3RLZXkpfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1tZXRhIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldGEtaXRlbSI+JHt0aGlzLmNvbnRlbnRUeXBlfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldGEtaXRlbSI+JHtYOCh0aGlzLmZpbGVTaXplKX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRhLWl0ZW0iPiR7dGhpcy5mb3JtYXREYXRlKHRoaXMubGFzdE1vZGlmaWVkKX08L3NwYW4+CiAgICAgICAgICAgICR7dGhpcy5oYXNDaGFuZ2VzP3dgCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuc2F2ZWQtaW5kaWNhdG9yIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bnNhdmVkLWRvdCI+PC9zcGFuPgogICAgICAgICAgICAgICAgVW5zYXZlZCBjaGFuZ2VzCiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctY29udGVudCAke3RoaXMuZWRpdGluZz8iY29kZS1lZGl0b3IiOiIifSI+CiAgICAgICAgICAke3RoaXMuZWRpdGluZz93YAogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtY29kZQogICAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLm9yaWdpbmFsVGV4dENvbnRlbnR9CiAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZT0ke3RoaXMuZ2V0TGFuZ3VhZ2UoKX0KICAgICAgICAgICAgICAgICAgaGVpZ2h0PSIxMDAlIgogICAgICAgICAgICAgICAgICBAY29udGVudC1jaGFuZ2U9JHtHPT50aGlzLmhhbmRsZUNvbnRlbnRDaGFuZ2UoRyl9CiAgICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNvZGU+CiAgICAgICAgICAgICAgYDp0aGlzLmlzVGV4dCgpP3dgCiAgICAgICAgICAgICAgICAgIDxkZWVzLXByZXZpZXcKICAgICAgICAgICAgICAgICAgICAudGV4dENvbnRlbnQ9JHt0aGlzLm9yaWdpbmFsVGV4dENvbnRlbnR9CiAgICAgICAgICAgICAgICAgICAgLmZpbGVuYW1lPSR7anQodGhpcy5vYmplY3RLZXkpfQogICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZT0ke3RoaXMuZ2V0TGFuZ3VhZ2UoKX0KICAgICAgICAgICAgICAgICAgICAuc2hvd1Rvb2xiYXI9JHshMH0KICAgICAgICAgICAgICAgICAgICAuc2hvd0ZpbGVuYW1lPSR7ITF9CiAgICAgICAgICAgICAgICAgID48L2RlZXMtcHJldmlldz4KICAgICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgICAgPGRlZXMtcHJldmlldwogICAgICAgICAgICAgICAgICAgIC5iYXNlNjQ9JHt0aGlzLmNvbnRlbnR9CiAgICAgICAgICAgICAgICAgICAgLm1pbWVUeXBlPSR7dGhpcy5jb250ZW50VHlwZX0KICAgICAgICAgICAgICAgICAgICAuZmlsZW5hbWU9JHtqdCh0aGlzLm9iamVjdEtleSl9CiAgICAgICAgICAgICAgICAgICAgLnNob3dUb29sYmFyPSR7ITB9CiAgICAgICAgICAgICAgICAgICAgLnNob3dGaWxlbmFtZT0keyExfQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICAgICAgICAgICAgICBgfQogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWFjdGlvbnMiPgogICAgICAgICAgJHt0aGlzLmVkaXRpbmc/d2AKICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idG4gc2Vjb25kYXJ5IiBAY2xpY2s9JHt0aGlzLmhhbmRsZURpc2NhcmR9PgogICAgICAgICAgICAgICAgICAke3RoaXMuaGFzQ2hhbmdlcz8iRGlzY2FyZCI6IkNhbmNlbCJ9CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgY2xhc3M9ImFjdGlvbi1idG4gcHJpbWFyeSIKICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVTYXZlfQogICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLnNhdmluZ3x8IXRoaXMuaGFzQ2hhbmdlc30KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgJHt0aGlzLnNhdmluZz8iU2F2aW5nLi4uIjoiU2F2ZSJ9CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAke3RoaXMuaXNUZXh0KCk/d2A8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnRuIiBAY2xpY2s9JHt0aGlzLmhhbmRsZUVkaXR9PkVkaXQ8L2J1dHRvbj5gOiIifQogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ0biIgQGNsaWNrPSR7dGhpcy5oYW5kbGVEb3dubG9hZH0+RG93bmxvYWQ8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idG4gZGFuZ2VyIiBAY2xpY2s9JHt0aGlzLmhhbmRsZURlbGV0ZX0+RGVsZXRlPC9idXR0b24+CiAgICAgICAgICAgICAgYH0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgOndgCiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1jb250YWluZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4eiIgLz4KICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNCAyIDE0IDggMjAgOCIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIDxwPlNlbGVjdCBhIGZpbGUgdG8gcHJldmlldzwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxUYSh0aGlzLFApfXN0YXRpY3tUYShyLGEpfX07cmV0dXJuIEg9cn0pKCl9KTt2YXIgUWksWWEseEt0LGNCZT1jKCgpPT57cGUoKTtYZSgpO2hLdCgpO2RCZSgpO3BCZSgpO3VCZSgpO1FpPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxZYT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0seEt0PSgoKT0+e2xldCB0PVthZSgiZGVlcy1zdG9yYWdlLWJyb3dzZXIiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXSx5LE09W10saz1bXSxFLF89W10sQz1bXSxOLCQ9W10sST1bXSxqLFM9W10sej1bXSxELFQ9W10sQT1bXSxVLFI9W10scT1bXSxvZSxPPVtdLHJlPVtdO3ZhciB5ZT1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc1N0b3JhZ2VCcm93c2VyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IEI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpPYmplY3R9KV0saD1bTCh7dHlwZTpTdHJpbmd9KV0scD1bTCh7dHlwZTpPYmplY3R9KV0seD1bWigpXSx5PVtaKCldLEU9W1ooKV0sTj1bWigpXSxqPVtaKCldLEQ9W1ooKV0sVT1bWigpXSxvZT1bWigpXSxRaSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGFQcm92aWRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShlZT0+ImRhdGFQcm92aWRlciJpbiBlZSwiaGFzIiksZ2V0OmkoZWU9PmVlLmRhdGFQcm92aWRlciwiZ2V0Iiksc2V0OmkoKGVlLENlKT0+e2VlLmRhdGFQcm92aWRlcj1DZX0sInNldCIpfSxtZXRhZGF0YTpCfSxvLGwpLFFpKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYnVja2V0TmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShlZT0+ImJ1Y2tldE5hbWUiaW4gZWUsImhhcyIpLGdldDppKGVlPT5lZS5idWNrZXROYW1lLCJnZXQiKSxzZXQ6aSgoZWUsQ2UpPT57ZWUuYnVja2V0TmFtZT1DZX0sInNldCIpfSxtZXRhZGF0YTpCfSx1LGYpLFFpKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib25DaGFuZ2VFdmVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShlZT0+Im9uQ2hhbmdlRXZlbnQiaW4gZWUsImhhcyIpLGdldDppKGVlPT5lZS5vbkNoYW5nZUV2ZW50LCJnZXQiKSxzZXQ6aSgoZWUsQ2UpPT57ZWUub25DaGFuZ2VFdmVudD1DZX0sInNldCIpfSxtZXRhZGF0YTpCfSxnLHYpLFFpKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmlld1R5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZWU9PiJ2aWV3VHlwZSJpbiBlZSwiaGFzIiksZ2V0OmkoZWU9PmVlLnZpZXdUeXBlLCJnZXQiKSxzZXQ6aSgoZWUsQ2UpPT57ZWUudmlld1R5cGU9Q2V9LCJzZXQiKX0sbWV0YWRhdGE6Qn0sYixtKSxRaSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRQcmVmaXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZWU9PiJjdXJyZW50UHJlZml4ImluIGVlLCJoYXMiKSxnZXQ6aShlZT0+ZWUuY3VycmVudFByZWZpeCwiZ2V0Iiksc2V0OmkoKGVlLENlKT0+e2VlLmN1cnJlbnRQcmVmaXg9Q2V9LCJzZXQiKX0sbWV0YWRhdGE6Qn0sTSxrKSxRaSh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkS2V5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGVlPT4ic2VsZWN0ZWRLZXkiaW4gZWUsImhhcyIpLGdldDppKGVlPT5lZS5zZWxlY3RlZEtleSwiZ2V0Iiksc2V0OmkoKGVlLENlKT0+e2VlLnNlbGVjdGVkS2V5PUNlfSwic2V0Iil9LG1ldGFkYXRhOkJ9LF8sQyksUWkodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWZyZXNoS2V5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGVlPT4icmVmcmVzaEtleSJpbiBlZSwiaGFzIiksZ2V0OmkoZWU9PmVlLnJlZnJlc2hLZXksImdldCIpLHNldDppKChlZSxDZSk9PntlZS5yZWZyZXNoS2V5PUNlfSwic2V0Iil9LG1ldGFkYXRhOkJ9LCQsSSksUWkodGhpcyxudWxsLGose2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwcmV2aWV3V2lkdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZWU9PiJwcmV2aWV3V2lkdGgiaW4gZWUsImhhcyIpLGdldDppKGVlPT5lZS5wcmV2aWV3V2lkdGgsImdldCIpLHNldDppKChlZSxDZSk9PntlZS5wcmV2aWV3V2lkdGg9Q2V9LCJzZXQiKX0sbWV0YWRhdGE6Qn0sUyx6KSxRaSh0aGlzLG51bGwsRCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzUmVzaXppbmdQcmV2aWV3IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGVlPT4iaXNSZXNpemluZ1ByZXZpZXciaW4gZWUsImhhcyIpLGdldDppKGVlPT5lZS5pc1Jlc2l6aW5nUHJldmlldywiZ2V0Iiksc2V0OmkoKGVlLENlKT0+e2VlLmlzUmVzaXppbmdQcmV2aWV3PUNlfSwic2V0Iil9LG1ldGFkYXRhOkJ9LFQsQSksUWkodGhpcyxudWxsLFUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWNlbnRDaGFuZ2VDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShlZT0+InJlY2VudENoYW5nZUNvdW50ImluIGVlLCJoYXMiKSxnZXQ6aShlZT0+ZWUucmVjZW50Q2hhbmdlQ291bnQsImdldCIpLHNldDppKChlZSxDZSk9PntlZS5yZWNlbnRDaGFuZ2VDb3VudD1DZX0sInNldCIpfSxtZXRhZGF0YTpCfSxSLHEpLFFpKHRoaXMsbnVsbCxvZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzU3RyZWFtQ29ubmVjdGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGVlPT4iaXNTdHJlYW1Db25uZWN0ZWQiaW4gZWUsImhhcyIpLGdldDppKGVlPT5lZS5pc1N0cmVhbUNvbm5lY3RlZCwiZ2V0Iiksc2V0OmkoKGVlLENlKT0+e2VlLmlzU3RyZWFtQ29ubmVjdGVkPUNlfSwic2V0Iil9LG1ldGFkYXRhOkJ9LE8scmUpLFFpKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOkJ9LG51bGwsYSkseWU9cj1lLnZhbHVlLEImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Qn0pfXN0YXRpYyBkZW1vPWZLdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhdGEgVmlldyJdOyNlPVlhKHRoaXMsbyxudWxsKTtnZXQgZGF0YVByb3ZpZGVyKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRhdGFQcm92aWRlcihCKXt0aGlzLiNlPUJ9I3Q9KFlhKHRoaXMsbCksWWEodGhpcyx1LCIiKSk7Z2V0IGJ1Y2tldE5hbWUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYnVja2V0TmFtZShCKXt0aGlzLiN0PUJ9I2E9KFlhKHRoaXMsZiksWWEodGhpcyxnLG51bGwpKTtnZXQgb25DaGFuZ2VFdmVudCgpe3JldHVybiB0aGlzLiNhfXNldCBvbkNoYW5nZUV2ZW50KEIpe3RoaXMuI2E9Qn0jcj0oWWEodGhpcyx2KSxZYSh0aGlzLGIsImNvbHVtbnMiKSk7Z2V0IHZpZXdUeXBlKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHZpZXdUeXBlKEIpe3RoaXMuI3I9Qn0jaT0oWWEodGhpcyxtKSxZYSh0aGlzLE0sIiIpKTtnZXQgY3VycmVudFByZWZpeCgpe3JldHVybiB0aGlzLiNpfXNldCBjdXJyZW50UHJlZml4KEIpe3RoaXMuI2k9Qn0jcz0oWWEodGhpcyxrKSxZYSh0aGlzLF8sIiIpKTtnZXQgc2VsZWN0ZWRLZXkoKXtyZXR1cm4gdGhpcy4jc31zZXQgc2VsZWN0ZWRLZXkoQil7dGhpcy4jcz1CfSNvPShZYSh0aGlzLEMpLFlhKHRoaXMsJCwwKSk7Z2V0IHJlZnJlc2hLZXkoKXtyZXR1cm4gdGhpcy4jb31zZXQgcmVmcmVzaEtleShCKXt0aGlzLiNvPUJ9I249KFlhKHRoaXMsSSksWWEodGhpcyxTLDcwMCkpO2dldCBwcmV2aWV3V2lkdGgoKXtyZXR1cm4gdGhpcy4jbn1zZXQgcHJldmlld1dpZHRoKEIpe3RoaXMuI249Qn0jbD0oWWEodGhpcyx6KSxZYSh0aGlzLFQsITEpKTtnZXQgaXNSZXNpemluZ1ByZXZpZXcoKXtyZXR1cm4gdGhpcy4jbH1zZXQgaXNSZXNpemluZ1ByZXZpZXcoQil7dGhpcy4jbD1CfSNjPShZYSh0aGlzLEEpLFlhKHRoaXMsUiwwKSk7Z2V0IHJlY2VudENoYW5nZUNvdW50KCl7cmV0dXJuIHRoaXMuI2N9c2V0IHJlY2VudENoYW5nZUNvdW50KEIpe3RoaXMuI2M9Qn0jZD0oWWEodGhpcyxxKSxZYSh0aGlzLE8sITEpKTtnZXQgaXNTdHJlYW1Db25uZWN0ZWQoKXtyZXR1cm4gdGhpcy4jZH1zZXQgaXNTdHJlYW1Db25uZWN0ZWQoQil7dGhpcy4jZD1CfWNoYW5nZVVuc3Vic2NyaWJlPShZYSh0aGlzLHJlKSxudWxsKTtzdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsRGUsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmJyb3dzZXItY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAudG9vbGJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuYnJlYWRjcnVtYiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiM5OTkiKX07CiAgICAgIH0KCiAgICAgIC5icmVhZGNydW1iLWl0ZW0gewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzOwogICAgICB9CgogICAgICAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA1KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICB9CgogICAgICAuYnJlYWRjcnVtYi1zZXBhcmF0b3IgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2Q0ZDRkOCIsIiM1NTUiKX07CiAgICAgIH0KCiAgICAgIC52aWV3LXRvZ2dsZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLnZpZXctYnRuIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2Q0ZDRkOCIsIiM0NDQiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiIzg4OCIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7CiAgICAgIH0KCiAgICAgIC52aWV3LWJ0bjpob3ZlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjM2YzZjQ2IiwiI2FhYSIpfTsKICAgICAgfQoKICAgICAgLnZpZXctYnRuLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2ExYTFhYSIsIiM0MDQwNDAiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2UwZTBlMCIpfTsKICAgICAgfQoKICAgICAgLmNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICBnYXA6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmNvbnRlbnQuaGFzLXByZXZpZXcgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDRweCB2YXIoLS1wcmV2aWV3LXdpZHRoLCA3MDBweCk7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtZGl2aWRlciB7CiAgICAgICAgd2lkdGg6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjdXJzb3I6IGNvbC1yZXNpemU7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzOwogICAgICB9CgogICAgICAucmVzaXplLWRpdmlkZXI6aG92ZXIsCiAgICAgIC5yZXNpemUtZGl2aWRlci5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5tYWluLXZpZXcgewogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDIpIiwicmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgfQoKICAgICAgLnByZXZpZXctcGFuZWwgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDIpIiwicmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4OwogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7CiAgICAgICAgLmNvbnRlbnQsCiAgICAgICAgLmNvbnRlbnQuaGFzLXByZXZpZXcgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgfQoKICAgICAgICAucHJldmlldy1wYW5lbCwKICAgICAgICAucmVzaXplLWRpdmlkZXIgewogICAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5zdHJlYW0tc3RhdHVzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiM4ODgiKX07CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OwogICAgICB9CgogICAgICAuc3RyZWFtLWRvdCB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNhMWExYWEiLCIjODg4Iil9OwogICAgICB9CgogICAgICAuc3RyZWFtLWRvdC5jb25uZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICMyMmM1NWU7CiAgICAgIH0KCiAgICAgIC5jaGFuZ2UtaW5kaWNhdG9yIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwgMTU4LCAxMSwgMC4yKTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAjZjU5ZTBiOwogICAgICAgIG1hcmdpbi1yaWdodDogMTJweDsKICAgICAgfQoKICAgICAgLmNoYW5nZS1pbmRpY2F0b3IucHVsc2UgewogICAgICAgIGFuaW1hdGlvbjogcHVsc2Utb3JhbmdlIDFzIGVhc2UtaW4tb3V0OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHB1bHNlLW9yYW5nZSB7CiAgICAgICAgMCUgeyBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwgMTU4LCAxMSwgMC40KTsgfQogICAgICAgIDEwMCUgeyBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwgMTU4LCAxMSwgMC4yKTsgfQogICAgICB9CiAgICBgXTthc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5zdWJzY3JpYmVUb0NoYW5nZXMoKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy51bnN1YnNjcmliZUZyb21DaGFuZ2VzKCl9cmVmcmVzaCgpe3RoaXMucmVmcmVzaEtleSsrfXNldFZpZXdUeXBlKEIpe3RoaXMudmlld1R5cGU9Qn1uYXZpZ2F0ZVRvUHJlZml4KEIpe3RoaXMuY3VycmVudFByZWZpeD1CLHRoaXMuc2VsZWN0ZWRLZXk9IiJ9aGFuZGxlS2V5U2VsZWN0ZWQoQil7dGhpcy5zZWxlY3RlZEtleT1CLmRldGFpbC5rZXl9aGFuZGxlTmF2aWdhdGUoQil7dGhpcy5uYXZpZ2F0ZVRvUHJlZml4KEIuZGV0YWlsLnByZWZpeCl9aGFuZGxlT2JqZWN0RGVsZXRlZChCKXt0aGlzLnNlbGVjdGVkS2V5PSIiLHRoaXMucmVmcmVzaEtleSsrfXVwZGF0ZWQoQil7Qi5oYXMoImJ1Y2tldE5hbWUiKSYmKHRoaXMuc2VsZWN0ZWRLZXk9IiIsdGhpcy5jdXJyZW50UHJlZml4PSIiLHRoaXMucmVjZW50Q2hhbmdlQ291bnQ9MCx0aGlzLnVuc3Vic2NyaWJlRnJvbUNoYW5nZXMoKSx0aGlzLnN1YnNjcmliZVRvQ2hhbmdlcygpKSxCLmhhcygib25DaGFuZ2VFdmVudCIpJiYodGhpcy51bnN1YnNjcmliZUZyb21DaGFuZ2VzKCksdGhpcy5zdWJzY3JpYmVUb0NoYW5nZXMoKSl9c3Vic2NyaWJlVG9DaGFuZ2VzKCl7aWYoIXRoaXMub25DaGFuZ2VFdmVudCl7dGhpcy5pc1N0cmVhbUNvbm5lY3RlZD0hMTtyZXR1cm59dHJ5e3RoaXMuY2hhbmdlVW5zdWJzY3JpYmU9dGhpcy5vbkNoYW5nZUV2ZW50KEI9Pnt0aGlzLmhhbmRsZUNoYW5nZShCKX0pLHRoaXMuaXNTdHJlYW1Db25uZWN0ZWQ9ITB9Y2F0Y2goQil7Y29uc29sZS53YXJuKCJbU3RvcmFnZUJyb3dzZXJdIEZhaWxlZCB0byBzdWJzY3JpYmUgdG8gY2hhbmdlczoiLEIpLHRoaXMuaXNTdHJlYW1Db25uZWN0ZWQ9ITF9fXVuc3Vic2NyaWJlRnJvbUNoYW5nZXMoKXt0aGlzLmNoYW5nZVVuc3Vic2NyaWJlJiYodGhpcy5jaGFuZ2VVbnN1YnNjcmliZSgpLHRoaXMuY2hhbmdlVW5zdWJzY3JpYmU9bnVsbCksdGhpcy5pc1N0cmVhbUNvbm5lY3RlZD0hMX1oYW5kbGVDaGFuZ2UoQil7dGhpcy5yZWNlbnRDaGFuZ2VDb3VudCsrLHRoaXMucmVmcmVzaEtleSsrfXN0YXJ0UHJldmlld1Jlc2l6ZT1pKEI9PntCLnByZXZlbnREZWZhdWx0KCksdGhpcy5pc1Jlc2l6aW5nUHJldmlldz0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlUHJldmlld1Jlc2l6ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5lbmRQcmV2aWV3UmVzaXplKX0sInN0YXJ0UHJldmlld1Jlc2l6ZSIpO2hhbmRsZVByZXZpZXdSZXNpemU9aShCPT57aWYoIXRoaXMuaXNSZXNpemluZ1ByZXZpZXcpcmV0dXJuO2xldCBlZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5jb250ZW50Iik7aWYoIWVlKXJldHVybjtsZXQgQ2U9ZWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksWT1NYXRoLm1pbihNYXRoLm1heChDZS5yaWdodC1CLmNsaWVudFgsMjUwKSwxZTMpO3RoaXMucHJldmlld1dpZHRoPVl9LCJoYW5kbGVQcmV2aWV3UmVzaXplIik7ZW5kUHJldmlld1Jlc2l6ZT1pKCgpPT57dGhpcy5pc1Jlc2l6aW5nUHJldmlldz0hMSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlUHJldmlld1Jlc2l6ZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5lbmRQcmV2aWV3UmVzaXplKX0sImVuZFByZXZpZXdSZXNpemUiKTtyZW5kZXIoKXtsZXQgQj10aGlzLmN1cnJlbnRQcmVmaXg/dGhpcy5jdXJyZW50UHJlZml4LnNwbGl0KCIvIikuZmlsdGVyKEJvb2xlYW4pOltdO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJicm93c2VyLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJicmVhZGNydW1iIj4KICAgICAgICAgICAgPHNwYW4KICAgICAgICAgICAgICBjbGFzcz0iYnJlYWRjcnVtYi1pdGVtIgogICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLm5hdmlnYXRlVG9QcmVmaXgoIiIpfQogICAgICAgICAgICA+CiAgICAgICAgICAgICAgJHt0aGlzLmJ1Y2tldE5hbWV9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgJHtCLm1hcCgoZWUsQ2UpPT57bGV0IFk9Qi5zbGljZSgwLENlKzEpLmpvaW4oIi8iKSsiLyI7cmV0dXJuIHdgCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYnJlYWRjcnVtYi1zZXBhcmF0b3IiPi88L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbgogICAgICAgICAgICAgICAgICBjbGFzcz0iYnJlYWRjcnVtYi1pdGVtIgogICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5uYXZpZ2F0ZVRvUHJlZml4KFkpfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAke2VlfQogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgIGB9KX0KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICR7dGhpcy5vbkNoYW5nZUV2ZW50P3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0cmVhbS1zdGF0dXMiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdHJlYW0tZG90ICR7dGhpcy5pc1N0cmVhbUNvbm5lY3RlZD8iY29ubmVjdGVkIjoiIn0iPjwvc3Bhbj4KICAgICAgICAgICAgICAke3RoaXMuaXNTdHJlYW1Db25uZWN0ZWQ/IkxpdmUiOiJPZmZsaW5lIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgICAgJHt0aGlzLnJlY2VudENoYW5nZUNvdW50PjA/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoYW5nZS1pbmRpY2F0b3IgcHVsc2UiPgogICAgICAgICAgICAgICAgICAke3RoaXMucmVjZW50Q2hhbmdlQ291bnR9IGNoYW5nZSR7dGhpcy5yZWNlbnRDaGFuZ2VDb3VudD4xPyJzIjoiIn0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWV3LXRvZ2dsZSI+CiAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICBjbGFzcz0idmlldy1idG4gJHt0aGlzLnZpZXdUeXBlPT09ImNvbHVtbnMiPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zZXRWaWV3VHlwZSgiY29sdW1ucyIpfQogICAgICAgICAgICA+CiAgICAgICAgICAgICAgQ29sdW1ucwogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgIGNsYXNzPSJ2aWV3LWJ0biAke3RoaXMudmlld1R5cGU9PT0ia2V5cyI/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnNldFZpZXdUeXBlKCJrZXlzIil9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICBMaXN0CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQgJHt0aGlzLnNlbGVjdGVkS2V5PyJoYXMtcHJldmlldyI6IiJ9IiBzdHlsZT0iLS1wcmV2aWV3LXdpZHRoOiAke3RoaXMucHJldmlld1dpZHRofXB4Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1haW4tdmlldyI+CiAgICAgICAgICAgICR7dGhpcy52aWV3VHlwZT09PSJjb2x1bW5zIj93YAogICAgICAgICAgICAgICAgICA8ZGVlcy1zdG9yYWdlLWNvbHVtbnMKICAgICAgICAgICAgICAgICAgICAuZGF0YVByb3ZpZGVyPSR7dGhpcy5kYXRhUHJvdmlkZXJ9CiAgICAgICAgICAgICAgICAgICAgLmJ1Y2tldE5hbWU9JHt0aGlzLmJ1Y2tldE5hbWV9CiAgICAgICAgICAgICAgICAgICAgLmN1cnJlbnRQcmVmaXg9JHt0aGlzLmN1cnJlbnRQcmVmaXh9CiAgICAgICAgICAgICAgICAgICAgLnJlZnJlc2hLZXk9JHt0aGlzLnJlZnJlc2hLZXl9CiAgICAgICAgICAgICAgICAgICAgQGtleS1zZWxlY3RlZD0ke3RoaXMuaGFuZGxlS2V5U2VsZWN0ZWR9CiAgICAgICAgICAgICAgICAgICAgQG5hdmlnYXRlPSR7dGhpcy5oYW5kbGVOYXZpZ2F0ZX0KICAgICAgICAgICAgICAgICAgPjwvZGVlcy1zdG9yYWdlLWNvbHVtbnM+CiAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgIDxkZWVzLXN0b3JhZ2Uta2V5cwogICAgICAgICAgICAgICAgICAgIC5kYXRhUHJvdmlkZXI9JHt0aGlzLmRhdGFQcm92aWRlcn0KICAgICAgICAgICAgICAgICAgICAuYnVja2V0TmFtZT0ke3RoaXMuYnVja2V0TmFtZX0KICAgICAgICAgICAgICAgICAgICAuY3VycmVudFByZWZpeD0ke3RoaXMuY3VycmVudFByZWZpeH0KICAgICAgICAgICAgICAgICAgICAucmVmcmVzaEtleT0ke3RoaXMucmVmcmVzaEtleX0KICAgICAgICAgICAgICAgICAgICBAa2V5LXNlbGVjdGVkPSR7dGhpcy5oYW5kbGVLZXlTZWxlY3RlZH0KICAgICAgICAgICAgICAgICAgICBAbmF2aWdhdGU9JHt0aGlzLmhhbmRsZU5hdmlnYXRlfQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXN0b3JhZ2Uta2V5cz4KICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAke3RoaXMuc2VsZWN0ZWRLZXk/d2AKICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgY2xhc3M9InJlc2l6ZS1kaXZpZGVyICR7dGhpcy5pc1Jlc2l6aW5nUHJldmlldz8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICAgIEBtb3VzZWRvd249JHt0aGlzLnN0YXJ0UHJldmlld1Jlc2l6ZX0KICAgICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctcGFuZWwiPgogICAgICAgICAgICAgICAgICA8ZGVlcy1zdG9yYWdlLXByZXZpZXcKICAgICAgICAgICAgICAgICAgICAuZGF0YVByb3ZpZGVyPSR7dGhpcy5kYXRhUHJvdmlkZXJ9CiAgICAgICAgICAgICAgICAgICAgLmJ1Y2tldE5hbWU9JHt0aGlzLmJ1Y2tldE5hbWV9CiAgICAgICAgICAgICAgICAgICAgLm9iamVjdEtleT0ke3RoaXMuc2VsZWN0ZWRLZXl9CiAgICAgICAgICAgICAgICAgICAgQG9iamVjdC1kZWxldGVkPSR7dGhpcy5oYW5kbGVPYmplY3REZWxldGVkfQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXN0b3JhZ2UtcHJldmlldz4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1zdGF0aWN7WWEocixhKX19O3JldHVybiB5ZT1yfSkoKX0pO3ZhciB5S3Q9YygoKT0+e30pO3ZhciB3S3Q9YygoKT0+e2NCZSgpO2RCZSgpO3BCZSgpO3VCZSgpO3lLdCgpO3lCKCl9KTt2YXIgTUt0PWMoKCk9PntzS3QoKTtwS3QoKTtaT2UoKTt1S3QoKTt3S3QoKX0pO3ZhciB3QixObyxrS3QsWlo9YygoKT0+e3BlKCk7WGUoKTtLdCgpO3dCPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxObz1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sa0t0PSgoKT0+e2xldCB0PVthZSgiZGVlcy1hY3Rpb25iYXIiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0FjdGlvbmJhciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBNPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W1ooKV0saD1bWigpXSxwPVtaKCldLHg9W1ooKV0sd0IodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50QmFyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGs9PiJjdXJyZW50QmFyImluIGssImhhcyIpLGdldDppKGs9PmsuY3VycmVudEJhciwiZ2V0Iiksc2V0OmkoKGssRSk9PntrLmN1cnJlbnRCYXI9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxvLGwpLHdCKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGltZVJlbWFpbmluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4idGltZVJlbWFpbmluZyJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLnRpbWVSZW1haW5pbmcsImdldCIpLHNldDppKChrLEUpPT57ay50aW1lUmVtYWluaW5nPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sdSxmKSx3Qih0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByb2dyZXNzUGVyY2VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4icHJvZ3Jlc3NQZXJjZW50ImluIGssImhhcyIpLGdldDppKGs9PmsucHJvZ3Jlc3NQZXJjZW50LCJnZXQiKSxzZXQ6aSgoayxFKT0+e2sucHJvZ3Jlc3NQZXJjZW50PUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sZyx2KSx3Qih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzVmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4iaXNWaXNpYmxlImluIGssImhhcyIpLGdldDppKGs9PmsuaXNWaXNpYmxlLCJnZXQiKSxzZXQ6aSgoayxFKT0+e2suaXNWaXNpYmxlPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYixtKSx3QihudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpNfSxudWxsLGEpLHk9cj1lLnZhbHVlLE0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6TX0pfXN0YXRpYyBkZW1vR3JvdXBzPVsiRmVlZGJhY2siLCJPdmVybGF5Il07c3RhdGljIGRlbW89aSgoKT0+e2xldCBNPWkoQz0+Qy5jdXJyZW50VGFyZ2V0LmNsb3Nlc3QoIi5kZW1vLWNvbnRhaW5lciIpPy5xdWVyeVNlbGVjdG9yKCJkZWVzLWFjdGlvbmJhciIpLCJnZXRBY3Rpb25iYXIiKTtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGhlaWdodDogMzAwcHg7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB9CiAgICAgICAgLmRlbW8tY29udGVudCB7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGVudCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7aShhc3luYyBDPT57bGV0IE49TShDKTtpZighTilyZXR1cm47bGV0ICQ9YXdhaXQgTi5zaG93KHttZXNzYWdlOiJGaWxlIGNoYW5nZWQgZXh0ZXJuYWxseS4gUmVsb2FkPyIsdHlwZToid2FybmluZyIsaWNvbjoibHVjaWRlOmFsZXJ0VHJpYW5nbGUiLGFjdGlvbnM6W3tpZDoicmVsb2FkIixsYWJlbDoiUmVsb2FkIixwcmltYXJ5OiEwfSx7aWQ6Imlnbm9yZSIsbGFiZWw6Iklnbm9yZSJ9XSx0aW1lb3V0OntkdXJhdGlvbjo1ZTMsZGVmYXVsdEFjdGlvbklkOiJyZWxvYWQifSxkaXNtaXNzaWJsZTohMH0pO2NvbnNvbGUubG9nKCJBY3Rpb24gYmFyIHJlc3VsdDoiLCQpfSwic2hvd0FjdGlvbkJhciIpfT5XYXJuaW5nPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHtpKGFzeW5jIEM9PntsZXQgTj1NKEMpO2lmKCFOKXJldHVybjtsZXQgJD1hd2FpdCBOLnNob3coe21lc3NhZ2U6IlByb2Nlc3MgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEiLHR5cGU6ImVycm9yIixpY29uOiJsdWNpZGU6eENpcmNsZSIsYWN0aW9uczpbe2lkOiJyZXRyeSIsbGFiZWw6IlJldHJ5IixwcmltYXJ5OiEwfSx7aWQ6ImRpc21pc3MiLGxhYmVsOiJEaXNtaXNzIn1dLHRpbWVvdXQ6e2R1cmF0aW9uOjFlNCxkZWZhdWx0QWN0aW9uSWQ6ImRpc21pc3MifX0pO2NvbnNvbGUubG9nKCJFcnJvciBiYXIgcmVzdWx0OiIsJCl9LCJzaG93RXJyb3JCYXIiKX0+RXJyb3I8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0ke2koYXN5bmMgQz0+e2xldCBOPU0oQyk7aWYoIU4pcmV0dXJuO2xldCAkPWF3YWl0IE4uc2hvdyh7bWVzc2FnZToiU2F2ZSBjaGFuZ2VzIGJlZm9yZSBjbG9zaW5nPyIsdHlwZToicXVlc3Rpb24iLGljb246Imx1Y2lkZTpoZWxwQ2lyY2xlIixhY3Rpb25zOlt7aWQ6InNhdmUiLGxhYmVsOiJTYXZlIixwcmltYXJ5OiEwfSx7aWQ6ImRpc2NhcmQiLGxhYmVsOiJEaXNjYXJkIn0se2lkOiJjYW5jZWwiLGxhYmVsOiJDYW5jZWwifV19KTtjb25zb2xlLmxvZygiUXVlc3Rpb24gYmFyIHJlc3VsdDoiLCQpfSwic2hvd1F1ZXN0aW9uQmFyIil9PlF1ZXN0aW9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGVlcy1hY3Rpb25iYXI+PC9kZWVzLWFjdGlvbmJhcj4KICAgICAgPC9kaXY+CiAgICBgfSwiZGVtbyIpO3F1ZXVlPVtdOyNlPU5vKHRoaXMsbyxudWxsKTtnZXQgY3VycmVudEJhcigpe3JldHVybiB0aGlzLiNlfXNldCBjdXJyZW50QmFyKE0pe3RoaXMuI2U9TX0jdD0oTm8odGhpcyxsKSxObyh0aGlzLHUsMCkpO2dldCB0aW1lUmVtYWluaW5nKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHRpbWVSZW1haW5pbmcoTSl7dGhpcy4jdD1NfSNhPShObyh0aGlzLGYpLE5vKHRoaXMsZywxMDApKTtnZXQgcHJvZ3Jlc3NQZXJjZW50KCl7cmV0dXJuIHRoaXMuI2F9c2V0IHByb2dyZXNzUGVyY2VudChNKXt0aGlzLiNhPU19I3I9KE5vKHRoaXMsdiksTm8odGhpcyxiLCExKSk7Z2V0IGlzVmlzaWJsZSgpe3JldHVybiB0aGlzLiNyfXNldCBpc1Zpc2libGUoTSl7dGhpcy4jcj1NfXRpbWVvdXRJbnRlcnZhbD0oTm8odGhpcyxtKSxudWxsKTtjdXJyZW50UmVzb2x2ZT1udWxsO3N0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25iYXItaXRlbSB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDBmcjsKICAgICAgICB0cmFuc2l0aW9uOiBncmlkLXRlbXBsYXRlLXJvd3MgMC4ycyBlYXNlLW91dDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTYlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OCUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoLnZpc2libGUpIC5hY3Rpb25iYXItaXRlbSB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25iYXItY29udGVudCB7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0OwogICAgICB9CgogICAgICA6aG9zdCgudmlzaWJsZSkgLmFjdGlvbmJhci1jb250ZW50IHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyIHsKICAgICAgICBoZWlnaHQ6IDNweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTAlKSIsImhzbCgwIDAlIDE4JSkiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWJhci1maWxsIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA1MCUpIiwiaHNsKDIxMCAxMDAlIDYwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4xcyBsaW5lYXI7CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzcy1iYXItZmlsbC53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDM4IDkyJSA1MCUpIiwiaHNsKDM4IDkyJSA1NSUpIil9OwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyLWZpbGwuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCA3MCUgNTAlKSIsImhzbCgwIDcwJSA1NSUpIil9OwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyLWZpbGwucXVlc3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjcwIDcwJSA1MCUpIiwiaHNsKDI3MCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLmNvbnRlbnQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgbWluLWhlaWdodDogMzJweDsKICAgICAgfQoKICAgICAgLm1lc3NhZ2Utc2VjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAubWVzc2FnZS1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDQwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAubWVzc2FnZS1pY29uLmluZm8gewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDQ1JSkiLCJoc2woMjEwIDEwMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2UtaWNvbi53YXJuaW5nIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgzOCA5MiUgNDUlKSIsImhzbCgzOCA5MiUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2UtaWNvbi5lcnJvciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCA3MCUgNTAlKSIsImhzbCgwIDcwJSA1NSUpIil9OwogICAgICB9CgogICAgICAubWVzc2FnZS1pY29uLnF1ZXN0aW9uIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyNzAgNzAlIDUwJSkiLCJoc2woMjcwIDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICAubWVzc2FnZS10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgODUlKSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25zLXNlY3Rpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiA0cHggMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnNlY29uZGFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAzMCUpIiwiaHNsKDAgMCUgNzAlKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4MCUpIiwiaHNsKDAgMCUgMzAlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc2Vjb25kYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTIlKSIsImhzbCgwIDAlIDE4JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgNTAlKSIsImhzbCgyMTAgMTAwJSA1NSUpIil9OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA0NSUpIiwiaHNsKDIxMCAxMDAlIDUwJSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgzOCA5MiUgNDUlKSIsImhzbCgzOCA5MiUgNTAlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeS53YXJuaW5nOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDM4IDkyJSA0MCUpIiwiaHNsKDM4IDkyJSA0NSUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5wcmltYXJ5LmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgNzAlIDUwJSkiLCJoc2woMCA3MCUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeS5lcnJvcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDcwJSA0NSUpIiwiaHNsKDAgNzAlIDUwJSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkucXVlc3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjcwIDcwJSA1MCUpIiwiaHNsKDI3MCA3MCUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeS5xdWVzdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyNzAgNzAlIDQ1JSkiLCJoc2woMjcwIDcwJSA1MCUpIil9OwogICAgICB9CgogICAgICAuY291bnRkb3duIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7CiAgICAgIH0KCiAgICAgIC5kaXNtaXNzLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDUwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5kaXNtaXNzLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg4JSkiLCJoc2woMCAwJSAyMiUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMzAlKSIsImhzbCgwIDAlIDcwJSkiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBNPXRoaXMuY3VycmVudEJhcixrPU0/LnR5cGV8fCJpbmZvIixFPU0/LnRpbWVvdXQmJnRoaXMudGltZVJlbWFpbmluZz4wO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25iYXItaXRlbSI+CiAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9uYmFyLWNvbnRlbnQiPgogICAgICAgICAgJHtNP3dgCiAgICAgICAgICAgICR7RT93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciI+CiAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9ncmVzcy1iYXItZmlsbCAke2t9IgogICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6ICR7dGhpcy5wcm9ncmVzc1BlcmNlbnR9JSIKICAgICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZS1zZWN0aW9uIj4KICAgICAgICAgICAgICAgICR7TS5pY29uP3dgCiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24KICAgICAgICAgICAgICAgICAgICBjbGFzcz0ibWVzc2FnZS1pY29uICR7a30iCiAgICAgICAgICAgICAgICAgICAgLmljb249JHtNLmljb259CiAgICAgICAgICAgICAgICAgICAgaWNvblNpemU9IjE2IgogICAgICAgICAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1lc3NhZ2UtdGV4dCI+JHtNLm1lc3NhZ2V9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnMtc2VjdGlvbiI+CiAgICAgICAgICAgICAgICAke00uYWN0aW9ucy5tYXAoXz0+dGhpcy5yZW5kZXJBY3Rpb25CdXR0b24oXyxNLEUpKX0KICAgICAgICAgICAgICAgICR7TS5kaXNtaXNzaWJsZT93YAogICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImRpc21pc3MtYnV0dG9uIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURpc21pc3MoKX0KICAgICAgICAgICAgICAgICAgICB0aXRsZT0iRGlzbWlzcyIKICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOngifSBpY29uU2l6ZT0iMTQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckFjdGlvbkJ1dHRvbihNLGssRSl7bGV0IF89TS5wcmltYXJ5LEM9ay50eXBlfHwiaW5mbyIsTj1rLnRpbWVvdXQ/LmRlZmF1bHRBY3Rpb25JZD09PU0uaWQsJD1FJiZOLEk9TWF0aC5jZWlsKHRoaXMudGltZVJlbWFpbmluZy8xZTMpO3JldHVybiB3YAogICAgICA8YnV0dG9uCiAgICAgICAgY2xhc3M9ImFjdGlvbi1idXR0b24gJHtfP2BwcmltYXJ5ICR7Q31gOiJzZWNvbmRhcnkifSIKICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBY3Rpb24oTS5pZCwhMSl9CiAgICAgID4KICAgICAgICAke00uaWNvbj93YAogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke00uaWNvbn0gaWNvblNpemU9IjEyIj48L2RlZXMtaWNvbj4KICAgICAgICBgOiIifQogICAgICAgIDxzcGFuPiR7TS5sYWJlbH08L3NwYW4+CiAgICAgICAgJHskP3dgCiAgICAgICAgICA8c3BhbiBjbGFzcz0iY291bnRkb3duIj4oJHtJfXMpPC9zcGFuPgogICAgICAgIGA6IiJ9CiAgICAgIDwvYnV0dG9uPgogICAgYH1hc3luYyBzaG93KE0pe3JldHVybiBuZXcgUHJvbWlzZShrPT57dGhpcy5xdWV1ZS5wdXNoKHtvcHRpb25zOk0scmVzb2x2ZTprfSksdGhpcy5jdXJyZW50QmFyfHx0aGlzLnByb2Nlc3NRdWV1ZSgpfSl9ZGlzbWlzcygpe3RoaXMuaGFuZGxlRGlzbWlzcygpfWNsZWFyUXVldWUoKXtmb3IobGV0IE0gb2YgdGhpcy5xdWV1ZSlNLnJlc29sdmUoe2FjdGlvbklkOiJkaXNtaXNzZWQiLHRpbWVkT3V0OiExfSk7dGhpcy5xdWV1ZT1bXX1hc3luYyBoaWRlQ3VycmVudEJhcigpe3RoaXMuY2xhc3NMaXN0LnJlbW92ZSgidmlzaWJsZSIpLHRoaXMuaXNWaXNpYmxlPSExLGF3YWl0IG5ldyBQcm9taXNlKE09PnNldFRpbWVvdXQoTSwyMjApKSx0aGlzLmN1cnJlbnRCYXI9bnVsbCx0aGlzLmN1cnJlbnRSZXNvbHZlPW51bGx9YXN5bmMgcHJvY2Vzc1F1ZXVlKCl7aWYodGhpcy5xdWV1ZS5sZW5ndGg9PT0wKXt0aGlzLmhpZGVDdXJyZW50QmFyKCk7cmV0dXJufWxldCBNPXRoaXMucXVldWUuc2hpZnQoKTt0aGlzLmN1cnJlbnRCYXI9TS5vcHRpb25zLHRoaXMuY3VycmVudFJlc29sdmU9TS5yZXNvbHZlLHRoaXMuaXNWaXNpYmxlPSEwLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5jbGFzc0xpc3QuYWRkKCJ2aXNpYmxlIil9KSxNLm9wdGlvbnMudGltZW91dCYmdGhpcy5zdGFydFRpbWVvdXQoTS5vcHRpb25zLnRpbWVvdXQuZHVyYXRpb24sTS5vcHRpb25zLnRpbWVvdXQuZGVmYXVsdEFjdGlvbklkKX1zdGFydFRpbWVvdXQoTSxrKXt0aGlzLnRpbWVSZW1haW5pbmc9TSx0aGlzLnByb2dyZXNzUGVyY2VudD0xMDA7bGV0IEU9RGF0ZS5ub3coKSxfPTUwO3RoaXMudGltZW91dEludGVydmFsPXNldEludGVydmFsKCgpPT57bGV0IEM9RGF0ZS5ub3coKS1FO3RoaXMudGltZVJlbWFpbmluZz1NYXRoLm1heCgwLE0tQyksdGhpcy5wcm9ncmVzc1BlcmNlbnQ9dGhpcy50aW1lUmVtYWluaW5nL00qMTAwLHRoaXMudGltZVJlbWFpbmluZzw9MCYmKHRoaXMuY2xlYXJUaW1lb3V0SW50ZXJ2YWwoKSx0aGlzLmhhbmRsZUFjdGlvbihrLCEwKSl9LF8pfWNsZWFyVGltZW91dEludGVydmFsKCl7dGhpcy50aW1lb3V0SW50ZXJ2YWwmJihjbGVhckludGVydmFsKHRoaXMudGltZW91dEludGVydmFsKSx0aGlzLnRpbWVvdXRJbnRlcnZhbD1udWxsKX1oYW5kbGVBY3Rpb24oTSxrKXt0aGlzLmNsZWFyVGltZW91dEludGVydmFsKCksdGhpcy5jdXJyZW50UmVzb2x2ZSYmdGhpcy5jdXJyZW50UmVzb2x2ZSh7YWN0aW9uSWQ6TSx0aW1lZE91dDprfSksdGhpcy5wcm9jZXNzUXVldWUoKX1oYW5kbGVEaXNtaXNzKCl7dGhpcy5oYW5kbGVBY3Rpb24oImRpc21pc3NlZCIsITEpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmNsZWFyVGltZW91dEludGVydmFsKCl9c3RhdGlje05vKHIsYSl9fTtyZXR1cm4geT1yfSkoKX0pO3ZhciB6S3Q9YygoKT0+e30pO3ZhciBTS3Q9YygoKT0+e1paKCk7ekt0KCl9KTt2YXIgQ0t0LF9LdD1jKCgpPT57cGUoKTtDS3Q9aSgoKT0+d2AKICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBnYXA6IDhweDsgYWxpZ24taXRlbXM6IGNlbnRlcjsiPgogICAgPGRlZXMtYmFkZ2UgLnRleHQ9JHsiRGVmYXVsdCJ9PjwvZGVlcy1iYWRnZT4KICAgIDxkZWVzLWJhZGdlIC50eXBlPSR7InByaW1hcnkifSAudGV4dD0keyJQcmltYXJ5In0+PC9kZWVzLWJhZGdlPgogICAgPGRlZXMtYmFkZ2UgLnR5cGU9JHsic3VjY2VzcyJ9IC50ZXh0PSR7IlN1Y2Nlc3MifT48L2RlZXMtYmFkZ2U+CiAgICA8ZGVlcy1iYWRnZSAudHlwZT0keyJ3YXJuaW5nIn0gLnRleHQ9JHsiV2FybmluZyJ9PjwvZGVlcy1iYWRnZT4KICAgIDxkZWVzLWJhZGdlIC50eXBlPSR7ImVycm9yIn0gLnRleHQ9JHsiRXJyb3IifT48L2RlZXMtYmFkZ2U+CiAgICA8ZGVlcy1iYWRnZSAudHlwZT0keyJwcmltYXJ5In0gLnJvdW5kZWQ9JHshMH0gLnRleHQ9JHsiUm91bmRlZCJ9PjwvZGVlcy1iYWRnZT4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBYWix3NixUS3QsTEt0PWMoKCk9PntwZSgpO0l0KCk7X0t0KCk7WGUoKTtYWj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sdzY9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LFRLdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtYmFkZ2UiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0JhZGdlIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpTdHJpbmd9KV0saD1bTCh7dHlwZTpTdHJpbmd9KV0scD1bTCh7dHlwZTpCb29sZWFufSldLFhaKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtPT4idHlwZSJpbiBtLCJoYXMiKSxnZXQ6aShtPT5tLnR5cGUsImdldCIpLHNldDppKChtLHkpPT57bS50eXBlPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbyxsKSxYWih0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkobT0+InRleHQiaW4gbSwiaGFzIiksZ2V0OmkobT0+bS50ZXh0LCJnZXQiKSxzZXQ6aSgobSx5KT0+e20udGV4dD15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LHUsZiksWFoodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3VuZGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJyb3VuZGVkImluIG0sImhhcyIpLGdldDppKG09Pm0ucm91bmRlZCwiZ2V0Iiksc2V0OmkoKG0seSk9PnttLnJvdW5kZWQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxnLHYpLFhaKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsYSkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW89Q0t0O3N0YXRpYyBkZW1vR3JvdXBzPVsiRmVlZGJhY2siXTsjZT13Nih0aGlzLG8sImRlZmF1bHQiKTtnZXQgdHlwZSgpe3JldHVybiB0aGlzLiNlfXNldCB0eXBlKGIpe3RoaXMuI2U9Yn0jdD0odzYodGhpcyxsKSx3Nih0aGlzLHUsIiIpKTtnZXQgdGV4dCgpe3JldHVybiB0aGlzLiN0fXNldCB0ZXh0KGIpe3RoaXMuI3Q9Yn0jYT0odzYodGhpcyxmKSx3Nih0aGlzLGcsITEpKTtnZXQgcm91bmRlZCgpe3JldHVybiB0aGlzLiNhfXNldCByb3VuZGVkKGIpe3RoaXMuI2E9Yn1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksdzYodGhpcyx2KSxJYS5zZXR1cCgpfXN0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAuYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuYmFkZ2Uucm91bmRlZCB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgfQoKICAgICAgLmJhZGdlLmRlZmF1bHQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjVmNWY1IiwiIzMzMyIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM2NjYiLCIjY2NjIil9OwogICAgICB9CgogICAgICAuYmFkZ2UucHJpbWFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogIzAwNTBiOTsKICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgfQoKICAgICAgLmJhZGdlLnN1Y2Nlc3MgewogICAgICAgIGJhY2tncm91bmQ6ICMyZTdkMzI7CiAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgIH0KCiAgICAgIC5iYWRnZS53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZWQ2YzAyOwogICAgICAgIGNvbG9yOiAjZmZmZmZmOwogICAgICB9CgogICAgICAuYmFkZ2UuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICNlNDAwMmI7CiAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJiYWRnZSAke3RoaXMudHlwZX0gJHt0aGlzLnJvdW5kZWQ/InJvdW5kZWQiOiIifSI+CiAgICAgICAgJHt0aGlzLnRleHR9CiAgICAgIDwvZGl2PgogICAgYH1zdGF0aWN7dzYocixhKX19O3JldHVybiB4PXJ9KSgpfSk7dmFyICRLdD1jKCgpPT57TEt0KCl9KTt2YXIgREt0LEFLdD1jKCgpPT57cGUoKTtES3Q9aSgoKT0+d2AKICA8ZGVlcy1oaW50PjwvZGVlcy1oaW50PgpgLCJkZW1vRnVuYyIpfSk7dmFyIFBLdCxmQmUsRUt0LElLdD1jKCgpPT57cGUoKTtJdCgpO0FLdCgpO1hlKCk7UEt0PWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxmQmU9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LEVLdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtaGludCIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdO3ZhciBoPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzSGludCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCB1PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6U3RyaW5nfSldLFBLdCh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZj0+InR5cGUiaW4gZiwiaGFzIiksZ2V0OmkoZj0+Zi50eXBlLCJnZXQiKSxzZXQ6aSgoZixwKT0+e2YudHlwZT1wfSwic2V0Iil9LG1ldGFkYXRhOnV9LG8sbCksUEt0KG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOnV9LG51bGwsYSksaD1yPWUudmFsdWUsdSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp1fSl9c3RhdGljIGRlbW89REt0O3N0YXRpYyBkZW1vR3JvdXBzPVsiRmVlZGJhY2siXTsjZT1mQmUodGhpcyxvLCJpbmZvIik7Z2V0IHR5cGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdHlwZSh1KXt0aGlzLiNlPXV9Y29uc3RydWN0b3IoKXtzdXBlcigpLGZCZSh0aGlzLGwpLElhLnNldHVwKCl9c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AgPGRpdiBjbGFzcz0ibWFpbmJveCI+PC9kaXY+IGB9c3RhdGlje2ZCZShyLGEpfX07cmV0dXJuIGg9cn0pKCl9KTt2YXIgTkt0PWMoKCk9PntJS3QoKX0pO3ZhciBSS3QsRkt0PWMoKCk9PntwZSgpO2hCZSgpO1JLdD1pKCgpPT53YAogICAgPGRlZXMtcHJvZ3Jlc3NiYXIKICAgICAgLnBlcmNlbnRhZ2U9JHs1MH0KICAgID48L2RlZXMtcHJvZ3Jlc3NiYXI+CiAgYCwiZGVtb0Z1bmMiKX0pO3ZhciBPS3QsbUJlLEJLdCxoQmU9YygoKT0+e1AxKCk7R2koKTtGS3QoKTtwZSgpO0l0KCk7WGUoKTtPS3Q9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LG1CZT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sQkt0PSgoKT0+e2xldCB0PVthZSgiZGVlcy1wcm9ncmVzc2JhciIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdO3ZhciBoPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzUHJvZ3Jlc3NiYXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgdT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk51bWJlcn0pXSxPS3QodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwZXJjZW50YWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGY9PiJwZXJjZW50YWdlImluIGYsImhhcyIpLGdldDppKGY9PmYucGVyY2VudGFnZSwiZ2V0Iiksc2V0OmkoKGYscCk9PntmLnBlcmNlbnRhZ2U9cH0sInNldCIpfSxtZXRhZGF0YTp1fSxvLGwpLE9LdChudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTp1fSxudWxsLGEpLGg9cj1lLnZhbHVlLHUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dX0pfXN0YXRpYyBkZW1vPVJLdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIkZlZWRiYWNrIl07I2U9bUJlKHRoaXMsbywwKTtnZXQgcGVyY2VudGFnZSgpe3JldHVybiB0aGlzLiNlfXNldCBwZXJjZW50YWdlKHUpe3RoaXMuI2U9dX1zdGF0aWMgc3R5bGVzPVtEZSxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZShyNi50ZXh0LFdpLnRleHQpfTsKICAgICAgfQogICAgICAucHJvZ3Jlc3NCYXJDb250YWluZXIgewogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBtaW4td2lkdGg6IDIwMHB4OwogICAgICB9CgogICAgICAucHJvZ3Jlc3NCYXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZWVlZWViIiwiIzQ0NCIpfTsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYm9yZGVyLXRvcDogMC41cHggc29saWQgJHtkLmJkVGhlbWUoIm5vbmUiLCIjNTU1Iil9OwogICAgICB9CgogICAgICAucHJvZ3Jlc3NCYXJGaWxsIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZShXaS5ibHVlQWN0aXZlLHI2LmJsdWVBY3RpdmUpfTsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBtYXJnaW4tdG9wOiAtMC41cHg7CiAgICAgICAgdHJhbnNpdGlvbjogMC4ycyB3aWR0aDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgd2lkdGg6IDBweDsKICAgICAgICBib3JkZXItdG9wOiAwLjUgc29saWQgJHtkLmJkVGhlbWUoIm5vbmUiLCIjMzk4ZmZmIil9OwogICAgICB9CgogICAgICAucHJvZ3Jlc3NUZXh0IHsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3NCYXJDb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzQmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzQmFyRmlsbCI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzc1RleHQiPgogICAgICAgICAgICAke3RoaXMucGVyY2VudGFnZX0lCiAgICAgICAgICA8ZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Zmlyc3RVcGRhdGVkKHUpe3N1cGVyLmZpcnN0VXBkYXRlZCh1KSx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9Pnt0aGlzLnVwZGF0ZVBlcmNlbnRhZ2UoKX0pfWFzeW5jIHVwZGF0ZVBlcmNlbnRhZ2UoKXtsZXQgdT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnByb2dyZXNzQmFyRmlsbCIpO3Uuc3R5bGUud2lkdGg9YCR7dGhpcy5wZXJjZW50YWdlfSVgfXVwZGF0ZWQoKXt0aGlzLnVwZGF0ZVBlcmNlbnRhZ2UoKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksbUJlKHRoaXMsbCl9c3RhdGlje21CZShyLGEpfX07cmV0dXJuIGg9cn0pKCl9KTt2YXIgSEt0PWMoKCk9PntoQmUoKX0pO3ZhciBLWixNNixxS3QsVkt0PWMoKCk9PntwZSgpO0l0KCk7WGUoKTtLWj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sTTY9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LHFLdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtc3Bpbm5lciIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzU3Bpbm5lciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6TnVtYmVyfSldLGg9W0woe3R5cGU6U3RyaW5nfSldLHA9W0woKV0sS1oodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJzaXplImluIG0sImhhcyIpLGdldDppKG09Pm0uc2l6ZSwiZ2V0Iiksc2V0OmkoKG0seSk9PnttLnNpemU9eX0sInNldCIpfSxtZXRhZGF0YTpifSxvLGwpLEtaKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYm53IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJibnciaW4gbSwiaGFzIiksZ2V0OmkobT0+bS5ibncsImdldCIpLHNldDppKChtLHkpPT57bS5ibnc9eX0sInNldCIpfSxtZXRhZGF0YTpifSx1LGYpLEtaKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdHVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJzdGF0dXMiaW4gbSwiaGFzIiksZ2V0OmkobT0+bS5zdGF0dXMsImdldCIpLHNldDppKChtLHkpPT57bS5zdGF0dXM9eX0sInNldCIpfSxtZXRhZGF0YTpifSxnLHYpLEtaKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsYSkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW9Hcm91cHM9WyJGZWVkYmFjayJdO3N0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGVlcy1zcGlubmVyPjwvZGVlcy1zcGlubmVyPgogICAgPGRlZXMtc3Bpbm5lciBzdGF0dXM9InN1Y2Nlc3MiPjwvZGVlcy1zcGlubmVyPgogICAgPGRlZXMtc3Bpbm5lciBzdGF0dXM9ImVycm9yIj48L2RlZXMtc3Bpbm5lcj4KICAgIDxkZWVzLXNwaW5uZXIgc2l6ZT0kezY0fSBzdGF0dXM9InN1Y2Nlc3MiPjwvZGVlcy1zcGlubmVyPgogICAgPGRlZXMtc3Bpbm5lciAuc2l6ZT0kezY0fSBzdGF0dXM9ImVycm9yIj48L2RlZXMtc3Bpbm5lcj4KICBgLCJkZW1vIik7I2U9TTYodGhpcyxvLDIwKTtnZXQgc2l6ZSgpe3JldHVybiB0aGlzLiNlfXNldCBzaXplKGIpe3RoaXMuI2U9Yn0jdD0oTTYodGhpcyxsKSxNNih0aGlzLHUsITEpKTtnZXQgYm53KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGJudyhiKXt0aGlzLiN0PWJ9I2E9KE02KHRoaXMsZiksTTYodGhpcyxnLCJub3JtYWwiKSk7Z2V0IHN0YXR1cygpe3JldHVybiB0aGlzLiNhfXNldCBzdGF0dXMoYil7dGhpcy4jYT1ifWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxNNih0aGlzLHYpfXN0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgICNsb2FkaW5nIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBiYWNrZ3JvdW5kOiAjOGJjMzRhMDA7CiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtkLmJkVGhlbWUoIiMzMzMiLCIjZmZmIil9OwogICAgICAgIGFuaW1hdGlvbjogc3BpbiAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogc3BpbiAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgI2xvYWRpbmcuc3VjY2VzcyB7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBhbmltYXRpb246IG5vbmU7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb246IG5vbmU7CiAgICAgIH0KCiAgICAgICNsb2FkaW5nLmVycm9yIHsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGFuaW1hdGlvbjogbm9uZTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICB0byB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgfQogICAgICB9CiAgICAgIEAtd2Via2l0LWtleWZyYW1lcyBzcGluIHsKICAgICAgICB0byB7CiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgfQogICAgICB9CgogICAgICBkZWVzLWljb24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8c3R5bGU+CiAgICAgICAgI2xvYWRpbmcgewogICAgICAgICAgd2lkdGg6ICR7dGhpcy5zaXplfXB4OwogICAgICAgICAgaGVpZ2h0OiAke3RoaXMuc2l6ZX1weDsKICAgICAgICB9CiAgICAgICAgI2xvYWRpbmcuc3VjY2VzcyB7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUodGhpcy5ibnc/IiMzMzMiOiIjOGJjMzRhIix0aGlzLmJudz8iI2ZmZiI6IiM4YmMzNGEiKX07CiAgICAgICAgICAKICAgICAgICB9CiAgICAgICAgI2xvYWRpbmcuZXJyb3IgewogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKHRoaXMuYm53PyIjMzMzIjoiI2U2NGExOSIsdGhpcy5ibnc/IiNmZmYiOiIjZTY0YTE5Iil9OwogICAgICAgIH0KICAgICAgICBkZWVzLWljb24gewogICAgICAgICAgZm9udC1zaXplOiAke3RoaXMuc2l6ZX1weDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9IiR7dGhpcy5zdGF0dXN9IiBpZD0ibG9hZGluZyI+CiAgICAgICAgJHsoKCk9PntpZih0aGlzLnN0YXR1cz09PSJzdWNjZXNzIilyZXR1cm4gd2A8ZGVlcy1pY29uIHN0eWxlPSJ0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMSUpIHRyYW5zbGF0ZVkoMyUpOyIgLmljb249JHsiZmE6Y2lyY2xlLWNoZWNrIn0+PC9kZWVzLWljb24+YDtpZih0aGlzLnN0YXR1cz09PSJlcnJvciIpcmV0dXJuIHdgPGRlZXMtaWNvbiAuaWNvbj0keyJmYTpjaXJjbGUteG1hcmsifT48L2RlZXMtaWNvbj5gfSkoKX0KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpY3tNNihyLGEpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgakt0PWMoKCk9PntWS3QoKX0pO3ZhciBVS3QsV0t0PWMoKCk9PntwZSgpO2dCZSgpO25sKCk7VUt0PWkoKCk9PndgCiAgICA8c3R5bGU+CiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIH0KCiAgICAgIC5kZW1vLXNlY3Rpb24gewogICAgICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7CiAgICAgIH0KCiAgICAgIC5kZW1vLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzMzMyIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC5kZW1vLWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNjY2IiwiI2FhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuYnV0dG9uLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgIH0KCiAgICAgIC50aGVtZS10b2dnbGUgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDE2cHg7CiAgICAgICAgcmlnaHQ6IDE2cHg7CiAgICAgICAgei1pbmRleDogMTAwOwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtYnV0dG9uIGNsYXNzPSJ0aGVtZS10b2dnbGUiIEBjbGlja2VkPSR7KCk9Pntkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoImJyaWdodCIpfX0+VG9nZ2xlIFRoZW1lPC9kZWVzLWJ1dHRvbj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5Ub2FzdCBUeXBlczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPgogICAgICAgICAgRGlmZmVyZW50IHRvYXN0IHR5cGVzIGZvciB2YXJpb3VzIG5vdGlmaWNhdGlvbiBzY2VuYXJpb3MuIENsaWNrIGFueSBidXR0b24gdG8gc2hvdyBhIHRvYXN0LgogICAgICAgIDwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e3JhLmluZm8oIlRoaXMgaXMgYW4gaW5mb3JtYXRpb25hbCBtZXNzYWdlIil9fT5JbmZvIFRvYXN0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImhpZ2hsaWdodGVkIiBAY2xpY2tlZD0keygpPT57cmEuc3VjY2VzcygiT3BlcmF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkhIil9fT5TdWNjZXNzIFRvYXN0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntyYS53YXJuaW5nKCJQbGVhc2UgcmV2aWV3IGJlZm9yZSBwcm9jZWVkaW5nIil9fT5XYXJuaW5nIFRvYXN0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntyYS5lcnJvcigiQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgcHJvY2Vzc2luZyIpfX0+RXJyb3IgVG9hc3Q8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5Ub2FzdCBQb3NpdGlvbnM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIFRvYXN0cyBjYW4gYXBwZWFyIGluIGRpZmZlcmVudCBwb3NpdGlvbnMgb24gdGhlIHNjcmVlbi4KICAgICAgICA8L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntyYS5zaG93KHttZXNzYWdlOiJUb3AgUmlnaHQgUG9zaXRpb24iLHR5cGU6ImluZm8iLHBvc2l0aW9uOiJ0b3AtcmlnaHQifSl9fT5Ub3AgUmlnaHQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e3JhLnNob3coe21lc3NhZ2U6IlRvcCBMZWZ0IFBvc2l0aW9uIix0eXBlOiJpbmZvIixwb3NpdGlvbjoidG9wLWxlZnQifSl9fT5Ub3AgTGVmdDwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57cmEuc2hvdyh7bWVzc2FnZToiQm90dG9tIFJpZ2h0IFBvc2l0aW9uIix0eXBlOiJpbmZvIixwb3NpdGlvbjoiYm90dG9tLXJpZ2h0In0pfX0+Qm90dG9tIFJpZ2h0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntyYS5zaG93KHttZXNzYWdlOiJCb3R0b20gTGVmdCBQb3NpdGlvbiIsdHlwZToiaW5mbyIscG9zaXRpb246ImJvdHRvbS1sZWZ0In0pfX0+Qm90dG9tIExlZnQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e3JhLnNob3coe21lc3NhZ2U6IlRvcCBDZW50ZXIgUG9zaXRpb24iLHR5cGU6ImluZm8iLHBvc2l0aW9uOiJ0b3AtY2VudGVyIn0pfX0+VG9wIENlbnRlcjwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57cmEuc2hvdyh7bWVzc2FnZToiQm90dG9tIENlbnRlciBQb3NpdGlvbiIsdHlwZToiaW5mbyIscG9zaXRpb246ImJvdHRvbS1jZW50ZXIifSl9fT5Cb3R0b20gQ2VudGVyPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+RHVyYXRpb24gT3B0aW9uczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPgogICAgICAgICAgQ29udHJvbCBob3cgbG9uZyB0b2FzdHMgc3RheSB2aXNpYmxlLiBEdXJhdGlvbiBpbiBtaWxsaXNlY29uZHMuCiAgICAgICAgPC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57cmEuc2hvdyh7bWVzc2FnZToiUXVpY2sgdG9hc3QgKDEgc2Vjb25kKSIsdHlwZToiaW5mbyIsZHVyYXRpb246MWUzfSl9fT4xIFNlY29uZDwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57cmEuc2hvdyh7bWVzc2FnZToiU3RhbmRhcmQgdG9hc3QgKDMgc2Vjb25kcykiLHR5cGU6ImluZm8iLGR1cmF0aW9uOjNlM30pfX0+MyBTZWNvbmRzIChEZWZhdWx0KTwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57cmEuc2hvdyh7bWVzc2FnZToiTG9uZyB0b2FzdCAoNSBzZWNvbmRzKSIsdHlwZToiaW5mbyIsZHVyYXRpb246NWUzfSl9fT41IFNlY29uZHM8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e3JhLnNob3coe21lc3NhZ2U6Ik1hbnVhbCBkaXNtaXNzIG9ubHkgKGNsaWNrIHRvIGNsb3NlKSIsdHlwZToid2FybmluZyIsZHVyYXRpb246MH0pfX0+Tm8gQXV0by1EaXNtaXNzPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+TXVsdGlwbGUgVG9hc3RzPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBNdWx0aXBsZSB0b2FzdHMgc3RhY2sgYXV0b21hdGljYWxseS4gVGhleSBtYWludGFpbiB0aGVpciBvcmRlciBhbmQgYW5pbWF0ZSBzbW9vdGhseS4KICAgICAgICA8L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntyYS5pbmZvKCJGaXJzdCBub3RpZmljYXRpb24iKSxzZXRUaW1lb3V0KCgpPT5yYS5zdWNjZXNzKCJTZWNvbmQgbm90aWZpY2F0aW9uIiksMjAwKSxzZXRUaW1lb3V0KCgpPT5yYS53YXJuaW5nKCJUaGlyZCBub3RpZmljYXRpb24iKSw0MDApLHNldFRpbWVvdXQoKCk9PnJhLmVycm9yKCJGb3VydGggbm90aWZpY2F0aW9uIiksNjAwKX19PlNob3cgTXVsdGlwbGU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e2ZvcihsZXQgdD0xO3Q8PTU7dCsrKXNldFRpbWVvdXQoKCk9PntyYS5zaG93KHttZXNzYWdlOmBOb3RpZmljYXRpb24gIyR7dH1gLHR5cGU6dCUyPT09MD8ic3VjY2VzcyI6ImluZm8iLGR1cmF0aW9uOjJlMyt0KjUwMH0pfSx0KjEwMCl9fT5SYXBpZCBGaXJlPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+UmVhbC1Xb3JsZCBFeGFtcGxlczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPgogICAgICAgICAgQ29tbW9uIHVzZSBjYXNlcyBmb3IgdG9hc3Qgbm90aWZpY2F0aW9ucyBpbiBhcHBsaWNhdGlvbnMuCiAgICAgICAgPC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0ke2FzeW5jKCk9PntsZXQgdD1hd2FpdCByYS5zaG93KHttZXNzYWdlOiJTYXZpbmcgY2hhbmdlcy4uLiIsdHlwZToiaW5mbyIsZHVyYXRpb246MH0pO3NldFRpbWVvdXQoKCk9Pnt0LmRpc21pc3MoKSxyYS5zdWNjZXNzKCJDaGFuZ2VzIHNhdmVkIHN1Y2Nlc3NmdWxseSEiKX0sMmUzKX19PlNhdmUgT3BlcmF0aW9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntyYS5lcnJvcigiRmFpbGVkIHRvIGNvbm5lY3QgdG8gc2VydmVyLiBQbGVhc2UgY2hlY2sgeW91ciBpbnRlcm5ldCBjb25uZWN0aW9uLiIpfX0+TmV0d29yayBFcnJvcjwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57cmEud2FybmluZygiWW91ciBzZXNzaW9uIHdpbGwgZXhwaXJlIGluIDUgbWludXRlcyIpfX0+U2Vzc2lvbiBXYXJuaW5nPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntyYS5zdWNjZXNzKCJGaWxlIHVwbG9hZGVkIHN1Y2Nlc3NmdWxseSEiKX19PlVwbG9hZCBDb21wbGV0ZTwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlByb2dyYW1tYXRpYyBDb250cm9sPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBBZHZhbmNlZCBjb250cm9sIG92ZXIgdG9hc3QgYmVoYXZpb3IuCiAgICAgICAgPC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0ke2FzeW5jKCk9PntsZXQgdD1hd2FpdCByYS5zaG93KHttZXNzYWdlOiJUaGlzIHRvYXN0IGNhbiBiZSBkaXNtaXNzZWQgcHJvZ3JhbW1hdGljYWxseSIsdHlwZToiaW5mbyIsZHVyYXRpb246MH0pO3NldFRpbWVvdXQoKCk9Pnt0LmRpc21pc3MoKSxyYS5zdWNjZXNzKCJUb2FzdCBkaXNtaXNzZWQgYWZ0ZXIgMiBzZWNvbmRzIil9LDJlMyl9fT5Qcm9ncmFtbWF0aWMgRGlzbWlzczwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57cmEuaW5mbygiSW5mbyBtZXNzYWdlIiwyZTMpLHNldFRpbWVvdXQoKCk9PnJhLnN1Y2Nlc3MoIlN1Y2Nlc3MgbWVzc2FnZSIsMmUzKSw1MDApLHNldFRpbWVvdXQoKCk9PnJhLndhcm5pbmcoIldhcm5pbmcgbWVzc2FnZSIsMmUzKSwxZTMpLHNldFRpbWVvdXQoKCk9PnJhLmVycm9yKCJFcnJvciBtZXNzYWdlIiwyZTMpLDE1MDApfX0+Q29udmVuaWVuY2UgTWV0aG9kczwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYCwiZGVtb0Z1bmMiKX0pO3ZhciBNQixSbyxyYSxnQmU9YygoKT0+e3BlKCk7SXQoKTtqaSgpO1dLdCgpO0lyKCk7WGUoKTtNQj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sUm89ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LHJhPSgoKT0+e2xldCB0PVthZSgiZGVlcy10b2FzdCIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzVG9hc3QiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOlN0cmluZ30pXSxoPVtMKHt0eXBlOlN0cmluZ30pXSxwPVtMKHt0eXBlOk51bWJlcn0pXSx4PVtMKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxNQih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1lc3NhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+Im1lc3NhZ2UiaW4gaywiaGFzIiksZ2V0Omkoaz0+ay5tZXNzYWdlLCJnZXQiKSxzZXQ6aSgoayxFKT0+e2subWVzc2FnZT1FfSwic2V0Iil9LG1ldGFkYXRhOk19LG8sbCksTUIodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0eXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGs9PiJ0eXBlImluIGssImhhcyIpLGdldDppKGs9PmsudHlwZSwiZ2V0Iiksc2V0OmkoKGssRSk9PntrLnR5cGU9RX0sInNldCIpfSxtZXRhZGF0YTpNfSx1LGYpLE1CKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHVyYXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+ImR1cmF0aW9uImluIGssImhhcyIpLGdldDppKGs9PmsuZHVyYXRpb24sImdldCIpLHNldDppKChrLEUpPT57ay5kdXJhdGlvbj1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGcsdiksTUIodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc1Zpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+ImlzVmlzaWJsZSJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLmlzVmlzaWJsZSwiZ2V0Iiksc2V0OmkoKGssRSk9PntrLmlzVmlzaWJsZT1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGIsbSksTUIobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCxhKSx5PXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1VS3Q7c3RhdGljIGRlbW9Hcm91cHM9WyJGZWVkYmFjayIsIk92ZXJsYXkiXTtzdGF0aWMgdG9hc3RDb250YWluZXJzPW5ldyBNYXA7c3RhdGljIGdldE9yQ3JlYXRlQ29udGFpbmVyKE0pe2lmKCF0aGlzLnRvYXN0Q29udGFpbmVycy5oYXMoTSkpe2xldCBrPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3N3aXRjaChrLmNsYXNzTmFtZT1gdG9hc3QtY29udGFpbmVyIHRvYXN0LWNvbnRhaW5lci0ke019YCxrLnN0eWxlLmNzc1RleHQ9YAogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB6LWluZGV4OiAke0ExLm92ZXJsYXkudG9hc3R9OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICBgLE0pe2Nhc2UidG9wLXJpZ2h0IjprLnN0eWxlLnRvcD0iMCIsay5zdHlsZS5yaWdodD0iMCI7YnJlYWs7Y2FzZSJ0b3AtbGVmdCI6ay5zdHlsZS50b3A9IjAiLGsuc3R5bGUubGVmdD0iMCI7YnJlYWs7Y2FzZSJib3R0b20tcmlnaHQiOmsuc3R5bGUuYm90dG9tPSIwIixrLnN0eWxlLnJpZ2h0PSIwIjticmVhaztjYXNlImJvdHRvbS1sZWZ0IjprLnN0eWxlLmJvdHRvbT0iMCIsay5zdHlsZS5sZWZ0PSIwIjticmVhaztjYXNlInRvcC1jZW50ZXIiOmsuc3R5bGUudG9wPSIwIixrLnN0eWxlLmxlZnQ9IjUwJSIsay5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZVgoLTUwJSkiO2JyZWFrO2Nhc2UiYm90dG9tLWNlbnRlciI6ay5zdHlsZS5ib3R0b209IjAiLGsuc3R5bGUubGVmdD0iNTAlIixrLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWCgtNTAlKSI7YnJlYWt9ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChrKSx0aGlzLnRvYXN0Q29udGFpbmVycy5zZXQoTSxrKX1yZXR1cm4gdGhpcy50b2FzdENvbnRhaW5lcnMuZ2V0KE0pfXN0YXRpYyBhc3luYyBzaG93KE0pe2xldCBrPXR5cGVvZiBNPT0ic3RyaW5nIj97bWVzc2FnZTpNfTpNLEU9bmV3IHk7cmV0dXJuIEUubWVzc2FnZT1rLm1lc3NhZ2UsRS50eXBlPWsudHlwZXx8ImluZm8iLEUuZHVyYXRpb249ay5kdXJhdGlvbnx8M2UzLHRoaXMuZ2V0T3JDcmVhdGVDb250YWluZXIoay5wb3NpdGlvbnx8InRvcC1yaWdodCIpLmFwcGVuZENoaWxkKEUpLGF3YWl0IEUudXBkYXRlQ29tcGxldGUscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57RS5pc1Zpc2libGU9ITB9KSxFLmR1cmF0aW9uPjAmJnNldFRpbWVvdXQoKCk9PntFLmRpc21pc3MoKX0sRS5kdXJhdGlvbiksRX1zdGF0aWMgYXN5bmMgY3JlYXRlQW5kU2hvdyhNKXtyZXR1cm4gdGhpcy5zaG93KE0pfXN0YXRpYyBpbmZvKE0sayl7cmV0dXJuIHRoaXMuc2hvdyh7bWVzc2FnZTpNLHR5cGU6ImluZm8iLGR1cmF0aW9uOmt9KX1zdGF0aWMgc3VjY2VzcyhNLGspe3JldHVybiB0aGlzLnNob3coe21lc3NhZ2U6TSx0eXBlOiJzdWNjZXNzIixkdXJhdGlvbjprfSl9c3RhdGljIHdhcm5pbmcoTSxrKXtyZXR1cm4gdGhpcy5zaG93KHttZXNzYWdlOk0sdHlwZToid2FybmluZyIsZHVyYXRpb246a30pfXN0YXRpYyBlcnJvcihNLGspe3JldHVybiB0aGlzLnNob3coe21lc3NhZ2U6TSx0eXBlOiJlcnJvciIsZHVyYXRpb246a30pfSNlPVJvKHRoaXMsbywiIik7Z2V0IG1lc3NhZ2UoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbWVzc2FnZShNKXt0aGlzLiNlPU19I3Q9KFJvKHRoaXMsbCksUm8odGhpcyx1LCJpbmZvIikpO2dldCB0eXBlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHR5cGUoTSl7dGhpcy4jdD1NfSNhPShSbyh0aGlzLGYpLFJvKHRoaXMsZywzZTMpKTtnZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy4jYX1zZXQgZHVyYXRpb24oTSl7dGhpcy4jYT1NfSNyPShSbyh0aGlzLHYpLFJvKHRoaXMsYiwhMSkpO2dldCBpc1Zpc2libGUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgaXNWaXNpYmxlKE0pe3RoaXMuI3I9TX1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksUm8odGhpcyxtKSxJYS5zZXR1cCgpfXN0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgZm9udC1mYW1pbHk6ICR7Z2F9OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICB9CgogICAgICA6aG9zdChbaXN2aXNpYmxlXSkgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICB9CgogICAgICAudG9hc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTZweCAyMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZiIsIiMyMjIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlMGUwZTAiLCIjMzMzIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggJHtkLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4xKSIsInJnYmEoMCwwLDAsMC4zKSIpfTsKICAgICAgICBtaW4td2lkdGg6IDMwMHB4OwogICAgICAgIG1heC13aWR0aDogNTAwcHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAudG9hc3Q6aG92ZXIgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7CiAgICAgIH0KCiAgICAgIC5pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAuaWNvbiBzdmcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2UgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMzMzIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLmNsb3NlIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7CiAgICAgIH0KCiAgICAgIC5jbG9zZTpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLmNsb3NlIHN2ZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjsKICAgICAgfQoKICAgICAgLyogVHlwZS1zcGVjaWZpYyBzdHlsZXMgKi8KICAgICAgOmhvc3QoW3R5cGU9ImluZm8iXSkgLmljb24gewogICAgICAgIGNvbG9yOiAjMDA4NGZmOwogICAgICB9CgogICAgICA6aG9zdChbdHlwZT0ic3VjY2VzcyJdKSAuaWNvbiB7CiAgICAgICAgY29sb3I6ICMyMmM1NWU7CiAgICAgIH0KCiAgICAgIDpob3N0KFt0eXBlPSJ3YXJuaW5nIl0pIC5pY29uIHsKICAgICAgICBjb2xvcjogI2Y1OWUwYjsKICAgICAgfQoKICAgICAgOmhvc3QoW3R5cGU9ImVycm9yIl0pIC5pY29uIHsKICAgICAgICBjb2xvcjogI2VmNDQ0NDsKICAgICAgfQoKICAgICAgLyogUHJvZ3Jlc3MgYmFyICovCiAgICAgIC5wcm9ncmVzcyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGhlaWdodDogM3B4OwogICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjsKICAgICAgICBvcGFjaXR5OiAwLjI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDhweCA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWJhciB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDsKICAgICAgICBhbmltYXRpb246IHByb2dyZXNzIGxpbmVhciBmb3J3YXJkczsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBwcm9ncmVzcyB7CiAgICAgICAgZnJvbSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxKTsKICAgICAgICB9CiAgICAgICAgdG8gewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoMCk7CiAgICAgICAgfQogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgTT17aW5mbzp3YDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEwIDE4YTggOCAwIDEwMC0xNiA4IDggMCAwMDAgMTZ6bTEtMTFhMSAxIDAgMTAtMiAwdjJIN2ExIDEgMCAxMDAgMmgydjJhMSAxIDAgMTAyIDB2LTJoMmExIDEgMCAxMDAtMmgtMlY3eiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDwvc3ZnPmAsc3VjY2Vzczp3YDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTEwIDE4YTggOCAwIDEwMC0xNiA4IDggMCAwMDAgMTZ6bTMuNzA3LTkuMjkzYTEgMSAwIDAwLTEuNDE0LTEuNDE0TDkgMTAuNTg2IDcuNzA3IDkuMjkzYTEgMSAwIDAwLTEuNDE0IDEuNDE0bDIgMmExIDEgMCAwMDEuNDE0IDBsNC00eiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDwvc3ZnPmAsd2FybmluZzp3YDxzdmcgdmlld0JveD0iMCAwIDIwIDIwIiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTguMjU3IDMuMDk5Yy43NjUtMS4zNiAyLjcyMi0xLjM2IDMuNDg2IDBsNS41OCA5LjkyYy43NSAxLjMzNC0uMjEzIDIuOTgtMS43NDIgMi45OEg0LjQyYy0xLjUzIDAtMi40OTMtMS42NDYtMS43NDMtMi45OGw1LjU4LTkuOTJ6TTExIDEzYTEgMSAwIDExLTIgMCAxIDEgMCAwMTIgMHptLTEtOGExIDEgMCAwMC0xIDF2M2ExIDEgMCAwMDIgMFY2YTEgMSAwIDAwLTEtMXoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgogICAgICA8L3N2Zz5gLGVycm9yOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnpNOC43MDcgNy4yOTNhMSAxIDAgMDAtMS40MTQgMS40MTRMOC41ODYgMTBsLTEuMjkzIDEuMjkzYTEgMSAwIDEwMS40MTQgMS40MTRMMTAgMTEuNDE0bDEuMjkzIDEuMjkzYTEgMSAwIDAwMS40MTQtMS40MTRMMTEuNDE0IDEwbDEuMjkzLTEuMjkzYTEgMSAwIDAwLTEuNDE0LTEuNDE0TDEwIDguNTg2IDguNzA3IDcuMjkzeiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDwvc3ZnPmB9O3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJ0b2FzdCIgQGNsaWNrPSR7dGhpcy5kaXNtaXNzfT4KICAgICAgICA8ZGl2IGNsYXNzPSJpY29uIj4KICAgICAgICAgICR7TVt0aGlzLnR5cGVdfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1lc3NhZ2UiPiR7dGhpcy5tZXNzYWdlfTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNsb3NlIj4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICA8cGF0aCBkPSJNNC42NDYgNC42NDZhLjUuNSAwIDAgMSAuNzA4IDBMOCA3LjI5M2wyLjY0Ni0yLjY0N2EuNS41IDAgMCAxIC43MDguNzA4TDguNzA3IDhsMi42NDcgMi42NDZhLjUuNSAwIDAgMS0uNzA4LjcwOEw4IDguNzA3bC0yLjY0NiAyLjY0N2EuNS41IDAgMCAxLS43MDgtLjcwOEw3LjI5MyA4IDQuNjQ2IDUuMzU0YS41LjUgMCAwIDEgMC0uNzA4eiIvPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLmR1cmF0aW9uPjA/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIiBzdHlsZT0iYW5pbWF0aW9uLWR1cmF0aW9uOiAke3RoaXMuZHVyYXRpb259bXMiPjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGRpc21pc3MoKXt0aGlzLmlzVmlzaWJsZT0hMSxhd2FpdCBuZXcgUHJvbWlzZShrPT5zZXRUaW1lb3V0KGssMzAwKSksdGhpcy5yZW1vdmUoKTtsZXQgTT10aGlzLnBhcmVudEVsZW1lbnQ7aWYoTSYmTS5jaGlsZHJlbi5sZW5ndGg9PT0wKXtNLnJlbW92ZSgpO2ZvcihsZXRbayxFXW9mIHkudG9hc3RDb250YWluZXJzLmVudHJpZXMoKSlpZihFPT09TSl7eS50b2FzdENvbnRhaW5lcnMuZGVsZXRlKGspO2JyZWFrfX19Zmlyc3RVcGRhdGVkKCl7dGhpcy5zZXRBdHRyaWJ1dGUoInR5cGUiLHRoaXMudHlwZSl9c3RhdGlje1JvKHIsYSl9fTtyZXR1cm4geT1yfSkoKX0pO3ZhciBHS3Q9YygoKT0+e2dCZSgpfSk7dmFyIFlLdD1jKCgpPT57U0t0KCk7JEt0KCk7Tkt0KCk7SEt0KCk7akt0KCk7R0t0KCl9KTt2YXIgWkt0PWMoKCk9PntVOCgpfSk7dmFyIFhLdD1jKCgpPT57YzYoKX0pO3ZhciBLS3Q9YygoKT0+e1pLdCgpO1hLdCgpfSk7dmFyIFFLdD1jKCgpPT57V2EoKX0pO3ZhciBKS3Q9YygoKT0+e21aKCl9KTt2YXIgZVF0PWMoKCk9PnttT2UoKX0pO3ZhciB0UXQ9YygoKT0+e0NaKCl9KTt2YXIgYVF0PWMoKCk9PntfT2UoKX0pO3ZhciByUXQ9YygoKT0+e0lPZSgpfSk7dmFyIGlRdD1jKCgpPT57VE9lKCl9KTt2YXIgc1F0PWMoKCk9PntMT2UoKX0pO3ZhciBvUXQ9YygoKT0+e3lPZSgpfSk7dmFyIG5RdD1jKCgpPT57a1ooKX0pO3ZhciBsUXQ9YygoKT0+e1ZaKCl9KTt2YXIgY1F0PWMoKCk9Pnt9KTt2YXIgZFF0PWMoKCk9PntjUXQoKX0pO3ZhciBwUXQ9YygoKT0+e0VPZSgpfSk7dmFyIHVRdD1jKCgpPT57Y2woKX0pO3ZhciBmUXQ9YygoKT0+e0RPZSgpfSk7dmFyIGhRdD1jKCgpPT57UE9lKCl9KTt2YXIgbVF0PWMoKCk9PntxWigpO1dPZSgpfSk7dmFyIFFaLGdRdD1jKCgpPT57UVo9Y2xhc3N7c3RhdGlje2kodGhpcywiSW1hZ2VDcm9wcGVyIil9b3B0aW9ucztjYW52YXM7Y3R4O2ltZztvdmVybGF5Q2FudmFzO292ZXJsYXlDdHg7Y3JvcFg9MDtjcm9wWT0wO2Nyb3BTaXplPTIwMDttaW5Dcm9wU2l6ZT01MDtpc0RyYWdnaW5nPSExO2lzUmVzaXppbmc9ITE7ZHJhZ1N0YXJ0WD0wO2RyYWdTdGFydFk9MDtyZXNpemVIYW5kbGU9IiI7aW1hZ2VTY2FsZT0xO2ltYWdlT2Zmc2V0WD0wO2ltYWdlT2Zmc2V0WT0wO2NvbnN0cnVjdG9yKGUpe3RoaXMub3B0aW9ucz17bWluU2l6ZTo1MCxvdXRwdXRTaXplOjgwMCxvdXRwdXRRdWFsaXR5Oi45NSwuLi5lfSx0aGlzLmNhbnZhcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSx0aGlzLmN0eD10aGlzLmNhbnZhcy5nZXRDb250ZXh0KCIyZCIpLHRoaXMub3ZlcmxheUNhbnZhcz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSx0aGlzLm92ZXJsYXlDdHg9dGhpcy5vdmVybGF5Q2FudmFzLmdldENvbnRleHQoIjJkIiksdGhpcy5pbWc9bmV3IEltYWdlfWFzeW5jIGluaXRpYWxpemUoKXthd2FpdCB0aGlzLmxvYWRJbWFnZSgpLHRoaXMuc2V0dXBDYW52YXNlcygpLHRoaXMuc2V0dXBFdmVudExpc3RlbmVycygpLHRoaXMucmVuZGVyKCl9YXN5bmMgbG9hZEltYWdlKCl7cmV0dXJuIG5ldyBQcm9taXNlKChlLGEpPT57dGhpcy5pbWcub25sb2FkPSgpPT5lKCksdGhpcy5pbWcub25lcnJvcj1hLHRoaXMuaW1nLnNyYz10aGlzLm9wdGlvbnMuaW1hZ2V9KX1zZXR1cENhbnZhc2VzKCl7bGV0IGU9dGhpcy5vcHRpb25zLmNvbnRhaW5lcixhPU1hdGgubWluKGUuY2xpZW50V2lkdGgsZS5jbGllbnRIZWlnaHQpO3RoaXMuY2FudmFzLndpZHRoPWEsdGhpcy5jYW52YXMuaGVpZ2h0PWEsdGhpcy5jYW52YXMuc3R5bGUud2lkdGg9IjEwMCUiLHRoaXMuY2FudmFzLnN0eWxlLmhlaWdodD0iMTAwJSIsdGhpcy5jYW52YXMuc3R5bGUucG9zaXRpb249ImFic29sdXRlIix0aGlzLmNhbnZhcy5zdHlsZS50b3A9IjAiLHRoaXMuY2FudmFzLnN0eWxlLmxlZnQ9IjAiLHRoaXMub3ZlcmxheUNhbnZhcy53aWR0aD1hLHRoaXMub3ZlcmxheUNhbnZhcy5oZWlnaHQ9YSx0aGlzLm92ZXJsYXlDYW52YXMuc3R5bGUud2lkdGg9IjEwMCUiLHRoaXMub3ZlcmxheUNhbnZhcy5zdHlsZS5oZWlnaHQ9IjEwMCUiLHRoaXMub3ZlcmxheUNhbnZhcy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHRoaXMub3ZlcmxheUNhbnZhcy5zdHlsZS50b3A9IjAiLHRoaXMub3ZlcmxheUNhbnZhcy5zdHlsZS5sZWZ0PSIwIix0aGlzLm92ZXJsYXlDYW52YXMuc3R5bGUuY3Vyc29yPSJtb3ZlIixlLmFwcGVuZENoaWxkKHRoaXMuY2FudmFzKSxlLmFwcGVuZENoaWxkKHRoaXMub3ZlcmxheUNhbnZhcyk7bGV0IHI9TWF0aC5taW4oYS90aGlzLmltZy53aWR0aCxhL3RoaXMuaW1nLmhlaWdodCk7dGhpcy5pbWFnZVNjYWxlPXIsdGhpcy5pbWFnZU9mZnNldFg9KGEtdGhpcy5pbWcud2lkdGgqcikvMix0aGlzLmltYWdlT2Zmc2V0WT0oYS10aGlzLmltZy5oZWlnaHQqcikvMjtsZXQgcz10aGlzLmltZy53aWR0aCpyLG49dGhpcy5pbWcuaGVpZ2h0KnIsbz1NYXRoLm1pbihzLG4sYSouOCk7dGhpcy5jcm9wU2l6ZT1vKi44LHRoaXMuY3JvcFg9KGEtdGhpcy5jcm9wU2l6ZSkvMix0aGlzLmNyb3BZPShhLXRoaXMuY3JvcFNpemUpLzJ9c2V0dXBFdmVudExpc3RlbmVycygpe3RoaXMub3ZlcmxheUNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHRoaXMuaGFuZGxlTW91c2VEb3duLmJpbmQodGhpcykpLHRoaXMub3ZlcmxheUNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlTW91c2VNb3ZlLmJpbmQodGhpcykpLHRoaXMub3ZlcmxheUNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmhhbmRsZU1vdXNlVXAuYmluZCh0aGlzKSksdGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLHRoaXMuaGFuZGxlTW91c2VVcC5iaW5kKHRoaXMpKSx0aGlzLm92ZXJsYXlDYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hzdGFydCIsdGhpcy5oYW5kbGVUb3VjaFN0YXJ0LmJpbmQodGhpcykpLHRoaXMub3ZlcmxheUNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLHRoaXMuaGFuZGxlVG91Y2hNb3ZlLmJpbmQodGhpcykpLHRoaXMub3ZlcmxheUNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsdGhpcy5oYW5kbGVUb3VjaEVuZC5iaW5kKHRoaXMpKX1oYW5kbGVNb3VzZURvd24oZSl7bGV0IGE9dGhpcy5vdmVybGF5Q2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHI9KGUuY2xpZW50WC1hLmxlZnQpKih0aGlzLm92ZXJsYXlDYW52YXMud2lkdGgvYS53aWR0aCkscz0oZS5jbGllbnRZLWEudG9wKSoodGhpcy5vdmVybGF5Q2FudmFzLmhlaWdodC9hLmhlaWdodCksbj10aGlzLmdldFJlc2l6ZUhhbmRsZShyLHMpO24/KHRoaXMuaXNSZXNpemluZz0hMCx0aGlzLnJlc2l6ZUhhbmRsZT1uKTp0aGlzLmlzSW5zaWRlQ3JvcEFyZWEocixzKSYmKHRoaXMuaXNEcmFnZ2luZz0hMCksdGhpcy5kcmFnU3RhcnRYPXIsdGhpcy5kcmFnU3RhcnRZPXN9aGFuZGxlTW91c2VNb3ZlKGUpe2xldCBhPXRoaXMub3ZlcmxheUNhbnZhcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxyPShlLmNsaWVudFgtYS5sZWZ0KSoodGhpcy5vdmVybGF5Q2FudmFzLndpZHRoL2Eud2lkdGgpLHM9KGUuY2xpZW50WS1hLnRvcCkqKHRoaXMub3ZlcmxheUNhbnZhcy5oZWlnaHQvYS5oZWlnaHQpLG49dGhpcy5nZXRSZXNpemVIYW5kbGUocixzKTtpZihuP3RoaXMub3ZlcmxheUNhbnZhcy5zdHlsZS5jdXJzb3I9dGhpcy5nZXRSZXNpemVDdXJzb3Iobik6dGhpcy5pc0luc2lkZUNyb3BBcmVhKHIscyk/dGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLmN1cnNvcj0ibW92ZSI6dGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLmN1cnNvcj0iZGVmYXVsdCIsdGhpcy5pc0RyYWdnaW5nKXtsZXQgbz1yLXRoaXMuZHJhZ1N0YXJ0WCxsPXMtdGhpcy5kcmFnU3RhcnRZLGg9dGhpcy5pbWFnZU9mZnNldFgsdT10aGlzLmltYWdlT2Zmc2V0WCt0aGlzLmltZy53aWR0aCp0aGlzLmltYWdlU2NhbGUtdGhpcy5jcm9wU2l6ZSxmPXRoaXMuaW1hZ2VPZmZzZXRZLHA9dGhpcy5pbWFnZU9mZnNldFkrdGhpcy5pbWcuaGVpZ2h0KnRoaXMuaW1hZ2VTY2FsZS10aGlzLmNyb3BTaXplO3RoaXMuY3JvcFg9TWF0aC5tYXgoaCxNYXRoLm1pbih1LHRoaXMuY3JvcFgrbykpLHRoaXMuY3JvcFk9TWF0aC5tYXgoZixNYXRoLm1pbihwLHRoaXMuY3JvcFkrbCkpLHRoaXMuZHJhZ1N0YXJ0WD1yLHRoaXMuZHJhZ1N0YXJ0WT1zLHRoaXMucmVuZGVyKCl9dGhpcy5pc1Jlc2l6aW5nJiYodGhpcy5oYW5kbGVSZXNpemUocixzKSx0aGlzLmRyYWdTdGFydFg9cix0aGlzLmRyYWdTdGFydFk9cyx0aGlzLnJlbmRlcigpKX1oYW5kbGVNb3VzZVVwKCl7dGhpcy5pc0RyYWdnaW5nPSExLHRoaXMuaXNSZXNpemluZz0hMSx0aGlzLnJlc2l6ZUhhbmRsZT0iIn1oYW5kbGVUb3VjaFN0YXJ0KGUpe2UucHJldmVudERlZmF1bHQoKTtsZXQgYT1lLnRvdWNoZXNbMF0scj1uZXcgTW91c2VFdmVudCgibW91c2Vkb3duIix7Y2xpZW50WDphLmNsaWVudFgsY2xpZW50WTphLmNsaWVudFl9KTt0aGlzLmhhbmRsZU1vdXNlRG93bihyKX1oYW5kbGVUb3VjaE1vdmUoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBhPWUudG91Y2hlc1swXSxyPW5ldyBNb3VzZUV2ZW50KCJtb3VzZW1vdmUiLHtjbGllbnRYOmEuY2xpZW50WCxjbGllbnRZOmEuY2xpZW50WX0pO3RoaXMuaGFuZGxlTW91c2VNb3ZlKHIpfWhhbmRsZVRvdWNoRW5kKGUpe2UucHJldmVudERlZmF1bHQoKSx0aGlzLmhhbmRsZU1vdXNlVXAoKX1nZXRSZXNpemVIYW5kbGUoZSxhKXtsZXQgcz17bnc6e3g6dGhpcy5jcm9wWCx5OnRoaXMuY3JvcFl9LG5lOnt4OnRoaXMuY3JvcFgrdGhpcy5jcm9wU2l6ZSx5OnRoaXMuY3JvcFl9LHN3Ont4OnRoaXMuY3JvcFgseTp0aGlzLmNyb3BZK3RoaXMuY3JvcFNpemV9LHNlOnt4OnRoaXMuY3JvcFgrdGhpcy5jcm9wU2l6ZSx5OnRoaXMuY3JvcFkrdGhpcy5jcm9wU2l6ZX19O2ZvcihsZXRbbixvXW9mIE9iamVjdC5lbnRyaWVzKHMpKWlmKE1hdGguYWJzKGUtby54KTwyMCYmTWF0aC5hYnMoYS1vLnkpPDIwKXJldHVybiBuO3JldHVybiIifWdldFJlc2l6ZUN1cnNvcihlKXtyZXR1cm57bnc6Im53LXJlc2l6ZSIsbmU6Im5lLXJlc2l6ZSIsc3c6InN3LXJlc2l6ZSIsc2U6InNlLXJlc2l6ZSJ9W2VdfHwiZGVmYXVsdCJ9aXNJbnNpZGVDcm9wQXJlYShlLGEpe3JldHVybiBlPj10aGlzLmNyb3BYJiZlPD10aGlzLmNyb3BYK3RoaXMuY3JvcFNpemUmJmE+PXRoaXMuY3JvcFkmJmE8PXRoaXMuY3JvcFkrdGhpcy5jcm9wU2l6ZX1oYW5kbGVSZXNpemUoZSxhKXtsZXQgcj1lLXRoaXMuZHJhZ1N0YXJ0WCxzPWEtdGhpcy5kcmFnU3RhcnRZLG49dGhpcy5pbWFnZU9mZnNldFgsbz10aGlzLmltYWdlT2Zmc2V0WSxsPXRoaXMuaW1hZ2VPZmZzZXRYK3RoaXMuaW1nLndpZHRoKnRoaXMuaW1hZ2VTY2FsZSxoPXRoaXMuaW1hZ2VPZmZzZXRZK3RoaXMuaW1nLmhlaWdodCp0aGlzLmltYWdlU2NhbGU7c3dpdGNoKHRoaXMucmVzaXplSGFuZGxlKXtjYXNlInNlIjp0aGlzLmNyb3BTaXplPU1hdGgubWF4KHRoaXMubWluQ3JvcFNpemUsTWF0aC5taW4odGhpcy5jcm9wU2l6ZStNYXRoLm1heChyLHMpLE1hdGgubWluKGwtdGhpcy5jcm9wWCxoLXRoaXMuY3JvcFkpKSk7YnJlYWs7Y2FzZSJudyI6bGV0IHU9TWF0aC5tYXgodGhpcy5taW5Dcm9wU2l6ZSx0aGlzLmNyb3BTaXplLU1hdGgubWF4KHIscykpLGY9dGhpcy5jcm9wU2l6ZS11LHA9dGhpcy5jcm9wWCtmLGc9dGhpcy5jcm9wWStmO3A+PW4mJmc+PW8mJih0aGlzLmNyb3BYPXAsdGhpcy5jcm9wWT1nLHRoaXMuY3JvcFNpemU9dSk7YnJlYWs7Y2FzZSJuZSI6bGV0IHY9TWF0aC5tYXgociwtcykseD1NYXRoLm1heCh0aGlzLm1pbkNyb3BTaXplLHRoaXMuY3JvcFNpemUrdiksYj14LXRoaXMuY3JvcFNpemUsbT10aGlzLmNyb3BZLWI7bT49byYmdGhpcy5jcm9wWCt4PD1sJiYodGhpcy5jcm9wWT1tLHRoaXMuY3JvcFNpemU9eCk7YnJlYWs7Y2FzZSJzdyI6bGV0IHk9TWF0aC5tYXgoLXIscyksTT1NYXRoLm1heCh0aGlzLm1pbkNyb3BTaXplLHRoaXMuY3JvcFNpemUreSksaz1NLXRoaXMuY3JvcFNpemUsRT10aGlzLmNyb3BYLWs7RT49biYmdGhpcy5jcm9wWStNPD1oJiYodGhpcy5jcm9wWD1FLHRoaXMuY3JvcFNpemU9TSk7YnJlYWt9fXJlbmRlcigpe3RoaXMuY3R4LmNsZWFyUmVjdCgwLDAsdGhpcy5jYW52YXMud2lkdGgsdGhpcy5jYW52YXMuaGVpZ2h0KSx0aGlzLm92ZXJsYXlDdHguY2xlYXJSZWN0KDAsMCx0aGlzLm92ZXJsYXlDYW52YXMud2lkdGgsdGhpcy5vdmVybGF5Q2FudmFzLmhlaWdodCksdGhpcy5jdHguZmlsbFN0eWxlPSIjMDAwMDAwIix0aGlzLmN0eC5maWxsUmVjdCgwLDAsdGhpcy5jYW52YXMud2lkdGgsdGhpcy5jYW52YXMuaGVpZ2h0KSx0aGlzLmN0eC5kcmF3SW1hZ2UodGhpcy5pbWcsdGhpcy5pbWFnZU9mZnNldFgsdGhpcy5pbWFnZU9mZnNldFksdGhpcy5pbWcud2lkdGgqdGhpcy5pbWFnZVNjYWxlLHRoaXMuaW1nLmhlaWdodCp0aGlzLmltYWdlU2NhbGUpLHRoaXMub3ZlcmxheUN0eC5maWxsU3R5bGU9InJnYmEoMCwgMCwgMCwgMC41KSIsdGhpcy5vdmVybGF5Q3R4LmZpbGxSZWN0KHRoaXMuaW1hZ2VPZmZzZXRYLHRoaXMuaW1hZ2VPZmZzZXRZLHRoaXMuaW1nLndpZHRoKnRoaXMuaW1hZ2VTY2FsZSx0aGlzLmltZy5oZWlnaHQqdGhpcy5pbWFnZVNjYWxlKSx0aGlzLm92ZXJsYXlDdHguc2F2ZSgpLHRoaXMub3B0aW9ucy5zaGFwZT09PSJyb3VuZCI/KHRoaXMub3ZlcmxheUN0eC5iZWdpblBhdGgoKSx0aGlzLm92ZXJsYXlDdHguYXJjKHRoaXMuY3JvcFgrdGhpcy5jcm9wU2l6ZS8yLHRoaXMuY3JvcFkrdGhpcy5jcm9wU2l6ZS8yLHRoaXMuY3JvcFNpemUvMiwwLE1hdGguUEkqMiksdGhpcy5vdmVybGF5Q3R4LmNsaXAoKSk6KHRoaXMub3ZlcmxheUN0eC5iZWdpblBhdGgoKSx0aGlzLm92ZXJsYXlDdHgucmVjdCh0aGlzLmNyb3BYLHRoaXMuY3JvcFksdGhpcy5jcm9wU2l6ZSx0aGlzLmNyb3BTaXplKSx0aGlzLm92ZXJsYXlDdHguY2xpcCgpKSx0aGlzLm92ZXJsYXlDdHguY2xlYXJSZWN0KDAsMCx0aGlzLm92ZXJsYXlDYW52YXMud2lkdGgsdGhpcy5vdmVybGF5Q2FudmFzLmhlaWdodCksdGhpcy5vdmVybGF5Q3R4LnJlc3RvcmUoKSx0aGlzLm92ZXJsYXlDdHguc3Ryb2tlU3R5bGU9IndoaXRlIix0aGlzLm92ZXJsYXlDdHgubGluZVdpZHRoPTIsdGhpcy5vcHRpb25zLnNoYXBlPT09InJvdW5kIj8odGhpcy5vdmVybGF5Q3R4LmJlZ2luUGF0aCgpLHRoaXMub3ZlcmxheUN0eC5hcmModGhpcy5jcm9wWCt0aGlzLmNyb3BTaXplLzIsdGhpcy5jcm9wWSt0aGlzLmNyb3BTaXplLzIsdGhpcy5jcm9wU2l6ZS8yLDAsTWF0aC5QSSoyKSx0aGlzLm92ZXJsYXlDdHguc3Ryb2tlKCkpOnRoaXMub3ZlcmxheUN0eC5zdHJva2VSZWN0KHRoaXMuY3JvcFgsdGhpcy5jcm9wWSx0aGlzLmNyb3BTaXplLHRoaXMuY3JvcFNpemUpLHRoaXMuZHJhd1Jlc2l6ZUhhbmRsZXMoKX1kcmF3UmVzaXplSGFuZGxlcygpe2xldCBhPVt7eDp0aGlzLmNyb3BYLHk6dGhpcy5jcm9wWX0se3g6dGhpcy5jcm9wWCt0aGlzLmNyb3BTaXplLHk6dGhpcy5jcm9wWX0se3g6dGhpcy5jcm9wWCx5OnRoaXMuY3JvcFkrdGhpcy5jcm9wU2l6ZX0se3g6dGhpcy5jcm9wWCt0aGlzLmNyb3BTaXplLHk6dGhpcy5jcm9wWSt0aGlzLmNyb3BTaXplfV07dGhpcy5vdmVybGF5Q3R4LmZpbGxTdHlsZT0id2hpdGUiLGEuZm9yRWFjaChyPT57dGhpcy5vdmVybGF5Q3R4LmJlZ2luUGF0aCgpLHRoaXMub3ZlcmxheUN0eC5hcmMoci54LHIueSw4LDAsTWF0aC5QSSoyKSx0aGlzLm92ZXJsYXlDdHguZmlsbCgpfSl9YXN5bmMgZ2V0Q3JvcHBlZEltYWdlKCl7bGV0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksYT1lLmdldENvbnRleHQoIjJkIikscj0xL3RoaXMuaW1hZ2VTY2FsZSxzPXRoaXMuY3JvcFNpemUqcixuPXRoaXMub3B0aW9ucy5vdXRwdXRTaXplO24+cyYmY29uc29sZS5pbmZvKGBQcm9maWxlIHBpY3R1cmU6IFVwc2NhbGluZyBmcm9tICR7TWF0aC5yb3VuZChzKX1weCB0byAke259cHhgKSxlLndpZHRoPW4sZS5oZWlnaHQ9bjtsZXQgbz0odGhpcy5jcm9wWC10aGlzLmltYWdlT2Zmc2V0WCkqcixsPSh0aGlzLmNyb3BZLXRoaXMuaW1hZ2VPZmZzZXRZKSpyLGg9dGhpcy5jcm9wU2l6ZSpyO3RoaXMub3B0aW9ucy5zaGFwZT09PSJyb3VuZCImJihhLmJlZ2luUGF0aCgpLGEuYXJjKG4vMixuLzIsbi8yLDAsTWF0aC5QSSoyKSxhLmNsaXAoKSksYS5pbWFnZVNtb290aGluZ0VuYWJsZWQ9ITAsYS5pbWFnZVNtb290aGluZ1F1YWxpdHk9ImhpZ2giLGEuZHJhd0ltYWdlKHRoaXMuaW1nLG8sbCxoLGgsMCwwLG4sbik7bGV0IGY9dGhpcy5vcHRpb25zLmltYWdlLmluY2x1ZGVzKCJpbWFnZS9wbmciKT8iaW1hZ2UvcG5nIjoiaW1hZ2UvanBlZyI7cmV0dXJuIGUudG9EYXRhVVJMKGYsdGhpcy5vcHRpb25zLm91dHB1dFF1YWxpdHkpfWRlc3Ryb3koKXt0aGlzLmNhbnZhcy5yZW1vdmUoKSx0aGlzLm92ZXJsYXlDYW52YXMucmVtb3ZlKCl9fX0pO3ZhciBibCxxcixiQmUsYlF0PWMoKCk9PntwZSgpO0dpKCk7SXIoKTtqaSgpO0t0KCk7bmwoKTtnbygpO2dvKCk7Z1F0KCk7WGUoKTtibD1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0scXI9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LGJCZT0oKCk9PntsZXQgdD1bYWUoImRlZXMtcHJvZmlsZXBpY3R1cmUtbW9kYWwiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXSx5LE09W10saz1bXSxFLF89W10sQz1bXSxOLCQ9W10sST1bXTt2YXIgaj1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiUHJvZmlsZVBpY3R1cmVNb2RhbCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBTPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6U3RyaW5nfSldLGg9W0woe3R5cGU6U3RyaW5nfSldLHA9W0woe3R5cGU6TnVtYmVyfSldLHg9W0woe3R5cGU6TnVtYmVyfSldLHk9W1ooKV0sRT1bWigpXSxOPVtaKCldLGJsKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5pdGlhbEltYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJpbml0aWFsSW1hZ2UiaW4geiwiaGFzIiksZ2V0Omkoej0+ei5pbml0aWFsSW1hZ2UsImdldCIpLHNldDppKCh6LEQpPT57ei5pbml0aWFsSW1hZ2U9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxvLGwpLGJsKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hhcGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+InNoYXBlImluIHosImhhcyIpLGdldDppKHo9Pnouc2hhcGUsImdldCIpLHNldDppKCh6LEQpPT57ei5zaGFwZT1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LHUsZiksYmwodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvdXRwdXRTaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJvdXRwdXRTaXplImluIHosImhhcyIpLGdldDppKHo9Pnoub3V0cHV0U2l6ZSwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6Lm91dHB1dFNpemU9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxnLHYpLGJsKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3V0cHV0UXVhbGl0eSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4ib3V0cHV0UXVhbGl0eSJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56Lm91dHB1dFF1YWxpdHksImdldCIpLHNldDppKCh6LEQpPT57ei5vdXRwdXRRdWFsaXR5PUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sYixtKSxibCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRTdGVwIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJjdXJyZW50U3RlcCJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LmN1cnJlbnRTdGVwLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3ouY3VycmVudFN0ZXA9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxNLGspLGJsKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3JvcHBlZEltYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJjcm9wcGVkSW1hZ2UiaW4geiwiaGFzIiksZ2V0Omkoej0+ei5jcm9wcGVkSW1hZ2UsImdldCIpLHNldDppKCh6LEQpPT57ei5jcm9wcGVkSW1hZ2U9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxfLEMpLGJsKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNQcm9jZXNzaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJpc1Byb2Nlc3NpbmciaW4geiwiaGFzIiksZ2V0Omkoej0+ei5pc1Byb2Nlc3NpbmcsImdldCIpLHNldDppKCh6LEQpPT57ei5pc1Byb2Nlc3Npbmc9RH0sInNldCIpfSxtZXRhZGF0YTpTfSwkLEkpLGJsKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlN9LG51bGwsYSksaj1yPWUudmFsdWUsUyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpTfSl9I2U9cXIodGhpcyxvLCIiKTtnZXQgaW5pdGlhbEltYWdlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGluaXRpYWxJbWFnZShTKXt0aGlzLiNlPVN9I3Q9KHFyKHRoaXMsbCkscXIodGhpcyx1LCJyb3VuZCIpKTtnZXQgc2hhcGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2hhcGUoUyl7dGhpcy4jdD1TfSNhPShxcih0aGlzLGYpLHFyKHRoaXMsZyw4MDApKTtnZXQgb3V0cHV0U2l6ZSgpe3JldHVybiB0aGlzLiNhfXNldCBvdXRwdXRTaXplKFMpe3RoaXMuI2E9U30jcj0ocXIodGhpcyx2KSxxcih0aGlzLGIsLjk1KSk7Z2V0IG91dHB1dFF1YWxpdHkoKXtyZXR1cm4gdGhpcy4jcn1zZXQgb3V0cHV0UXVhbGl0eShTKXt0aGlzLiNyPVN9I2k9KHFyKHRoaXMsbSkscXIodGhpcyxNLCJjcm9wIikpO2dldCBjdXJyZW50U3RlcCgpe3JldHVybiB0aGlzLiNpfXNldCBjdXJyZW50U3RlcChTKXt0aGlzLiNpPVN9I3M9KHFyKHRoaXMsaykscXIodGhpcyxfLCIiKSk7Z2V0IGNyb3BwZWRJbWFnZSgpe3JldHVybiB0aGlzLiNzfXNldCBjcm9wcGVkSW1hZ2UoUyl7dGhpcy4jcz1TfSNvPShxcih0aGlzLEMpLHFyKHRoaXMsJCwhMSkpO2dldCBpc1Byb2Nlc3NpbmcoKXtyZXR1cm4gdGhpcy4jb31zZXQgaXNQcm9jZXNzaW5nKFMpe3RoaXMuI289U31jcm9wcGVyPShxcih0aGlzLEkpLG51bGwpO3dpbmRvd0xheWVyO3pJbmRleD0wO3N0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7Z2F9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzMzMyIsIiNmZmYiKX07CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgei1pbmRleDogdmFyKC0tei1pbmRleCk7CiAgICAgIH0KCiAgICAgIC5tb2RhbC1jb250YWluZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzBhMGEwYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDgpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSIpfTsKICAgICAgICBib3gtc2hhZG93OiAke2QuYmRUaGVtZSgiMCAyMHB4IDI1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMTBweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjA0KSIsIjAgMjBweCAyNXB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjMpLCAwIDEwcHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKSIpfTsKICAgICAgICB3aWR0aDogNDgwcHg7CiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpIHNjYWxlKDAuOTgpOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgYW5pbWF0aW9uOiBtb2RhbFNob3cgMC4yNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSBmb3J3YXJkczsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBtb2RhbFNob3cgewogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KSBzY2FsZSgxKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5tb2RhbC1oZWFkZXIgewogICAgICAgIGhlaWdodDogNTJweDsKICAgICAgICBwYWRkaW5nOiAwIDIwcHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDYpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAubW9kYWwtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC5jbG9zZS1idXR0b24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogMTBweDsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuY2xvc2UtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA1KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmNsb3NlLWJ1dHRvbjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDgpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA4KSIpfTsKICAgICAgfQoKICAgICAgLm1vZGFsLWJvZHkgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMjBweDsKICAgICAgfQoKICAgICAgLmNyb3BwZXItY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDM2MHB4OwogICAgICAgIGFzcGVjdC1yYXRpbzogMTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMwMDAwMDAiLCIjMDAwMDAwIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBib3gtc2hhZG93OiAke2QuYmRUaGVtZSgiaW5zZXQgMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNikiLCJpbnNldCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICB9CgogICAgICAucHJldmlldy1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMjBweDsKICAgICAgfQoKICAgICAgLnByZXZpZXctaW1hZ2UgewogICAgICAgIHdpZHRoOiAxODBweDsKICAgICAgICBoZWlnaHQ6IDE4MHB4OwogICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICAgIGJvcmRlcjogNHB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE4MTgxYiIpfTsKICAgICAgICBib3gtc2hhZG93OiAke2QuYmRUaGVtZSgiMCAxMHB4IDE1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgNHB4IDZweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSkiLCIwIDEwcHggMTVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4zKSwgMCA0cHggNnB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICB9CgogICAgICAucHJldmlldy1pbWFnZS5yb3VuZCB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICB9CgogICAgICAucHJldmlldy1pbWFnZS5zcXVhcmUgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zdWNjZXNzLW1lc3NhZ2UgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjMTBiOTgxIiwiIzEwYjk4MSIpfTsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgYW5pbWF0aW9uOiBzdWNjZXNzUHVsc2UgMC40cyBlYXNlLW91dDsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzdWNjZXNzUHVsc2UgewogICAgICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwLjkpOyBvcGFjaXR5OiAwOyB9CiAgICAgICAgNTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTsgfQogICAgICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxOyB9CiAgICAgIH0KCiAgICAgIC5tb2RhbC1mb290ZXIgewogICAgICAgIHBhZGRpbmc6IDIwcHggMjRweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNikiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgIH0KCiAgICAgIC5pbnN0cnVjdGlvbnMgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgIG1heC13aWR0aDogMzIwcHg7CiAgICAgIH0KCiAgICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICAgIHdpZHRoOiA0MHB4OwogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjEpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR7ZC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDAuNnMgbGluZWFyIGluZmluaXRlOwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgIHRvIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgfQogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAubW9kYWwtY29udGFpbmVyIHsKICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7CiAgICAgICAgICBtYXJnaW46IDE2cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5tb2RhbC1ib2R5IHsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgfQogICAgICB9CiAgICBgXTthc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy53aW5kb3dMYXllcj1hd2FpdCBVaS5jcmVhdGVBbmRTaG93KHtibHVyOiEwfSksdGhpcy53aW5kb3dMYXllci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PnRoaXMuY2xvc2UoKSksdGhpcy56SW5kZXg9X2EuZ2V0TmV4dFpJbmRleCgpLHRoaXMuc3R5bGUuc2V0UHJvcGVydHkoIi0tei1pbmRleCIsdGhpcy56SW5kZXgudG9TdHJpbmcoKSksX2EucmVnaXN0ZXIodGhpcyx0aGlzLnpJbmRleCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuY3JvcHBlciYmdGhpcy5jcm9wcGVyLmRlc3Ryb3koKSx0aGlzLndpbmRvd0xheWVyJiZhd2FpdCB0aGlzLndpbmRvd0xheWVyLmRlc3Ryb3koKSxfYS51bnJlZ2lzdGVyKHRoaXMpfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1jb250YWluZXIiIEBjbGljaz0ke1M9PlMuc3RvcFByb3BhZ2F0aW9uKCl9PgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWhlYWRlciI+CiAgICAgICAgICA8aDMgY2xhc3M9Im1vZGFsLXRpdGxlIj4KICAgICAgICAgICAgJHt0aGlzLmN1cnJlbnRTdGVwPT09ImNyb3AiPyJBZGp1c3QgSW1hZ2UiOiJTdWNjZXNzIn0KICAgICAgICAgIDwvaDM+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjbG9zZS1idXR0b24iIEBjbGljaz0ke3RoaXMuY2xvc2V9IHRpdGxlPSJDbG9zZSI+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOngiIGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1ib2R5Ij4KICAgICAgICAgICR7dGhpcy5jdXJyZW50U3RlcD09PSJjcm9wIj93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnN0cnVjdGlvbnMiPgogICAgICAgICAgICAgIFBvc2l0aW9uIGFuZCByZXNpemUgdGhlIHNxdWFyZSB0byBzZWxlY3QgeW91ciBwcm9maWxlIGFyZWEKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNyb3BwZXItY29udGFpbmVyIiBpZD0iY3JvcHBlckNvbnRhaW5lciI+PC9kaXY+CiAgICAgICAgICBgOndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctY29udGFpbmVyIj4KICAgICAgICAgICAgICAke3RoaXMuaXNQcm9jZXNzaW5nP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5zdHJ1Y3Rpb25zIj5TYXZpbmcuLi48L2Rpdj4KICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICA8aW1nIAogICAgICAgICAgICAgICAgICBjbGFzcz0icHJldmlldy1pbWFnZSAke3RoaXMuc2hhcGV9IiAKICAgICAgICAgICAgICAgICAgc3JjPSIke3RoaXMuY3JvcHBlZEltYWdlfSIgCiAgICAgICAgICAgICAgICAgIGFsdD0iQ3JvcHBlZCBwcmV2aWV3IgogICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1Y2Nlc3MtbWVzc2FnZSI+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOmNoZWNrIiBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICA8c3Bhbj5Mb29raW5nIGdvb2QhPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfQogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWZvb3RlciI+CiAgICAgICAgICAke3RoaXMuY3VycmVudFN0ZXA9PT0iY3JvcCI/d2AKICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlc3RydWN0aXZlIiBzaXplPSJzbSIgQGNsaWNrPSR7dGhpcy5jbG9zZX0+CiAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJkZWZhdWx0IiBzaXplPSJzbSIgQGNsaWNrPSR7dGhpcy5oYW5kbGVDcm9wfT4KICAgICAgICAgICAgICBTYXZlCiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy5jdXJyZW50U3RlcD09PSJjcm9wIiYmYXdhaXQgdGhpcy5pbml0aWFsaXplQ3JvcHBlcigpfWFzeW5jIGluaXRpYWxpemVDcm9wcGVyKCl7YXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtsZXQgUz10aGlzLnNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoImNyb3BwZXJDb250YWluZXIiKTtTJiYodGhpcy5jcm9wcGVyPW5ldyBRWih7Y29udGFpbmVyOlMsaW1hZ2U6dGhpcy5pbml0aWFsSW1hZ2Usc2hhcGU6dGhpcy5zaGFwZSxhc3BlY3RSYXRpbzoxLG91dHB1dFNpemU6dGhpcy5vdXRwdXRTaXplLG91dHB1dFF1YWxpdHk6dGhpcy5vdXRwdXRRdWFsaXR5fSksYXdhaXQgdGhpcy5jcm9wcGVyLmluaXRpYWxpemUoKSl9YXN5bmMgaGFuZGxlQ3JvcCgpe2lmKHRoaXMuY3JvcHBlcil0cnl7dGhpcy5pc1Byb2Nlc3Npbmc9ITAsdGhpcy5jdXJyZW50U3RlcD0icHJldmlldyIsYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtsZXQgUz1hd2FpdCB0aGlzLmNyb3BwZXIuZ2V0Q3JvcHBlZEltYWdlKCk7dGhpcy5jcm9wcGVkSW1hZ2U9Uyxhd2FpdCBuZXcgUHJvbWlzZSh6PT5zZXRUaW1lb3V0KHosODAwKSksdGhpcy5pc1Byb2Nlc3Npbmc9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2F2ZSIse2RldGFpbDp7Y3JvcHBlZEltYWdlOnRoaXMuY3JvcHBlZEltYWdlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpLHNldFRpbWVvdXQoKCk9Pnt0aGlzLmNsb3NlKCl9LDE1MDApfWNhdGNoKFMpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGNyb3BwaW5nIGltYWdlOiIsUyksdGhpcy5pc1Byb2Nlc3Npbmc9ITF9fWNsb3NlKCl7dGhpcy5yZW1vdmUoKX1zdGF0aWN7cXIocixhKX19O3JldHVybiBqPXJ9KSgpfSk7dmFyIHZRdCx4UXQ9YygoKT0+e3BlKCk7UmEoKTtXMSgpO3ZCZSgpO3ZRdD1pKCgpPT53YAogIDxzdHlsZT4KICAgICR7WGAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWwgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDQ4cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLW91dHB1dCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTA1LCAyNDIsIDAuMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CiAgICAgIAogICAgICAuZmVhdHVyZS1saXN0IHsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsKICAgICAgfQogICAgICAKICAgICAgLmZlYXR1cmUtbGlzdCBsaSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e2xldCBlPXQucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZVtzaGFwZT0icm91bmQiXScpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixhPT57bGV0IHI9YS50YXJnZXQ7Y29uc29sZS5sb2coIlJvdW5kIHByb2ZpbGUgcGljdHVyZSBjaGFuZ2VkOiIsci52YWx1ZT8uc3Vic3RyaW5nKDAsNTApKyIuLi4iKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJQcm9maWxlIFBpY3R1cmUgSW5wdXQifSAuc3VidGl0bGU9JHsiQmFzaWMgdXNhZ2Ugd2l0aCByb3VuZCBhbmQgc3F1YXJlIHNoYXBlcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICAgIDxkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlCiAgICAgICAgICAgIGxhYmVsPSJQcm9maWxlIFBpY3R1cmUgKFJvdW5kKSIKICAgICAgICAgICAgZGVzY3JpcHRpb249IkNsaWNrIHRvIHVwbG9hZCBvciBkcmFnICYgZHJvcCBhbiBpbWFnZSIKICAgICAgICAgICAgc2hhcGU9InJvdW5kIgogICAgICAgICAgICBzaXplPSIxMjAiCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBsYWJlbD0iUHJvZmlsZSBQaWN0dXJlIChTcXVhcmUpIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iU3VwcG9ydHMgSlBFRywgUE5HLCBhbmQgV2ViUCBmb3JtYXRzIgogICAgICAgICAgICBzaGFwZT0ic3F1YXJlIgogICAgICAgICAgICBzaXplPSIxMjAiCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e3QucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZSIpLmZvckVhY2goYT0+e2EuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixyPT57bGV0IHM9ci50YXJnZXQ7Y29uc29sZS5sb2coYFByb2ZpbGUgKHNpemUgJHtzLnNpemV9KSBjaGFuZ2VkYCl9KX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJTaXplIFZhcmlhdGlvbnMifSAuc3VidGl0bGU9JHsiUHJvZmlsZSBwaWN0dXJlcyBpbiBkaWZmZXJlbnQgc2l6ZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXJvdyI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBsYWJlbD0iU21hbGwgKDgwcHgpIgogICAgICAgICAgICBzaGFwZT0icm91bmQiCiAgICAgICAgICAgIHNpemU9IjgwIgogICAgICAgICAgPjwvZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZT4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmUKICAgICAgICAgICAgbGFiZWw9Ik1lZGl1bSAoMTIwcHgpIgogICAgICAgICAgICBzaGFwZT0icm91bmQiCiAgICAgICAgICAgIHNpemU9IjEyMCIKICAgICAgICAgID48L2RlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmU+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlCiAgICAgICAgICAgIGxhYmVsPSJMYXJnZSAoMTYwcHgpIgogICAgICAgICAgICBzaGFwZT0icm91bmQiCiAgICAgICAgICAgIHNpemU9IjE2MCIKICAgICAgICAgID48L2RlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57bGV0IGU9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1qQXdJaUJvWldsbmFIUTlJakl3TUNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S0lDQThaR1ZtY3o0S0lDQWdJRHhzYVc1bFlYSkhjbUZrYVdWdWRDQnBaRDBpWjNKaFpHbGxiblFpSUhneFBTSXdKU0lnZVRFOUlqQWxJaUI0TWowaU1UQXdKU0lnZVRJOUlqRXdNQ1VpUGdvZ0lDQWdJQ0E4YzNSdmNDQnZabVp6WlhROUlqQWxJaUJ6ZEc5d0xXTnZiRzl5UFNJak5qWTNaV1ZoSWlBdlBnb2dJQ0FnSUNBOGMzUnZjQ0J2Wm1aelpYUTlJakV3TUNVaUlITjBiM0F0WTI5c2IzSTlJaU0zTmpSaVlUSWlJQzgrQ2lBZ0lDQThMMnhwYm1WaGNrZHlZV1JwWlc1MFBnb2dJRHd2WkdWbWN6NEtJQ0E4Y21WamRDQjNhV1IwYUQwaU1qQXdJaUJvWldsbmFIUTlJakl3TUNJZ1ptbHNiRDBpZFhKc0tDTm5jbUZrYVdWdWRDa2lJQzgrQ2lBZ1BIUmxlSFFnZUQwaU5UQWxJaUI1UFNJMU1DVWlJR1J2YldsdVlXNTBMV0poYzJWc2FXNWxQU0p0YVdSa2JHVWlJSFJsZUhRdFlXNWphRzl5UFNKdGFXUmtiR1VpSUdadmJuUXRabUZ0YVd4NVBTSkJjbWxoYkNJZ1ptOXVkQzF6YVhwbFBTSTRNQ0lnWm1sc2JEMGlkMmhwZEdVaVBrcEVQQzkwWlhoMFBnbzhMM04yWno0PSIsYT10LnF1ZXJ5U2VsZWN0b3IoIiNwcmVmaWxsZWQtcHJvZmlsZSIpO2EmJihhLnZhbHVlPWUsYS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHI9PntsZXQgcz1yLnRhcmdldCxuPXQucXVlcnlTZWxlY3RvcigiI3ByZWZpbGxlZC1vdXRwdXQiKTtuJiYobi50ZXh0Q29udGVudD1zLnZhbHVlP2BJbWFnZSBkYXRhOiAke3MudmFsdWUuc3Vic3RyaW5nKDAsODApfS4uLmA6Ik5vIGltYWdlIHNlbGVjdGVkIil9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlByZS1maWxsZWQgYW5kIFZhbHVlIEJpbmRpbmcifSAuc3VidGl0bGU9JHsiUHJvZmlsZSBwaWN0dXJlIHdpdGggaW5pdGlhbCB2YWx1ZSBhbmQgY2hhbmdlIHRyYWNraW5nIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmUKICAgICAgICAgIGlkPSJwcmVmaWxsZWQtcHJvZmlsZSIKICAgICAgICAgIGxhYmVsPSJFZGl0IEV4aXN0aW5nIFByb2ZpbGUiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iQ2xpY2sgdGhlIGVkaXQgYnV0dG9uIHRvIGNoYW5nZSBvciBkZWxldGUgdG8gcmVtb3ZlIgogICAgICAgICAgc2hhcGU9InJvdW5kIgogICAgICAgICAgc2l6ZT0iMTUwIgogICAgICAgID48L2RlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmU+CiAgICAgICAgCiAgICAgICAgPGRpdiBpZD0icHJlZmlsbGVkLW91dHB1dCIgY2xhc3M9ImRlbW8tb3V0cHV0Ij4KICAgICAgICAgIEltYWdlIGRhdGEgd2lsbCBhcHBlYXIgaGVyZSB3aGVuIGNoYW5nZWQKICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIHQ9PntsZXQgZT10LnF1ZXJ5U2VsZWN0b3IoIiNkaXNhYmxlZC1wcm9maWxlIik7ZSYmKGUudmFsdWU9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1qQXdJaUJvWldsbmFIUTlJakl3TUNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S0lDQThjbVZqZENCM2FXUjBhRDBpTWpBd0lpQm9aV2xuYUhROUlqSXdNQ0lnWm1sc2JEMGlJMk5qWTJOall5SWdMejRLSUNBOGRHVjRkQ0I0UFNJMU1DVWlJSGs5SWpVd0pTSWdaRzl0YVc1aGJuUXRZbUZ6Wld4cGJtVTlJbTFwWkdSc1pTSWdkR1Y0ZEMxaGJtTm9iM0k5SW0xcFpHUnNaU0lnWm05dWRDMW1ZVzFwYkhrOUlrRnlhV0ZzSWlCbWIyNTBMWE5wZW1VOUlqWXdJaUJtYVd4c1BTSjNhR2wwWlNJK1RrRThMM1JsZUhRK0Nqd3ZjM1puUGc9PSIpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGb3JtIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgc3RhdGVzIGFuZCBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICAgIDxkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlCiAgICAgICAgICAgIGxhYmVsPSJSZXF1aXJlZCBGaWVsZCIKICAgICAgICAgICAgZGVzY3JpcHRpb249IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQiCiAgICAgICAgICAgIHNoYXBlPSJyb3VuZCIKICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBpZD0iZGlzYWJsZWQtcHJvZmlsZSIKICAgICAgICAgICAgbGFiZWw9IkRpc2FibGVkIFN0YXRlIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iQ2Fubm90IGJlIGVkaXRlZCIKICAgICAgICAgICAgc2hhcGU9InNxdWFyZSIKICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBsYWJlbD0iVXBsb2FkIE9ubHkiCiAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJEZWxldGUgbm90IGFsbG93ZWQiCiAgICAgICAgICAgIHNoYXBlPSJyb3VuZCIKICAgICAgICAgICAgLmFsbG93RGVsZXRlPSR7ITF9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGZWF0dXJlcyJ9IC5zdWJ0aXRsZT0keyJDb21wbGV0ZSBmZWF0dXJlIHNldCBvZiB0aGUgcHJvZmlsZSBwaWN0dXJlIGlucHV0In0+CiAgICAgICAgPHVsIGNsYXNzPSJmZWF0dXJlLWxpc3QiPgogICAgICAgICAgPGxpPjxzdHJvbmc+SW1hZ2UgVXBsb2FkOjwvc3Ryb25nPiBDbGljayB0byB1cGxvYWQgb3IgZHJhZyAmIGRyb3AgaW1hZ2VzPC9saT4KICAgICAgICAgIDxsaT48c3Ryb25nPkltYWdlIENyb3BwaW5nOjwvc3Ryb25nPiBJbnRlcmFjdGl2ZSBjcm9wIHRvb2wgd2l0aCByZXNpemUgaGFuZGxlczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5TaGFwZSBTdXBwb3J0Ojwvc3Ryb25nPiBSb3VuZCBvciBzcXVhcmUgcHJvZmlsZSBwaWN0dXJlczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5TaXplIEN1c3RvbWl6YXRpb246PC9zdHJvbmc+IEFkanVzdGFibGUgZGltZW5zaW9uczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5QcmV2aWV3ICYgRWRpdDo8L3N0cm9uZz4gSG92ZXIgb3ZlcmxheSB3aXRoIGVkaXQgYW5kIGRlbGV0ZSBvcHRpb25zPC9saT4KICAgICAgICAgIDxsaT48c3Ryb25nPkZpbGUgVmFsaWRhdGlvbjo8L3N0cm9uZz4gRm9ybWF0IGFuZCBzaXplIHJlc3RyaWN0aW9uczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5SZXNwb25zaXZlIERlc2lnbjo8L3N0cm9uZz4gV29ya3Mgb24gZGVza3RvcCBhbmQgbW9iaWxlIGRldmljZXM8L2xpPgogICAgICAgICAgPGxpPjxzdHJvbmc+Rm9ybSBJbnRlZ3JhdGlvbjo8L3N0cm9uZz4gU3RhbmRhcmQgZm9ybSB2YWx1ZSBiaW5kaW5nIGFuZCB2YWxpZGF0aW9uPC9saT4KICAgICAgICAgIDxsaT48c3Ryb25nPkFjY2Vzc2liaWxpdHk6PC9zdHJvbmc+IEtleWJvYXJkIG5hdmlnYXRpb24gYW5kIHNjcmVlbiByZWFkZXIgc3VwcG9ydDwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5aLUluZGV4IE1hbmFnZW1lbnQ6PC9zdHJvbmc+IFByb3BlciBtb2RhbCBzdGFja2luZyB3aXRoIHJlZ2lzdHJ5PC9saT4KICAgICAgICA8L3VsPgogICAgICAgIAogICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDI0cHg7Ij4KICAgICAgICAgIDxzdHJvbmc+U3VwcG9ydGVkIEZvcm1hdHM6PC9zdHJvbmc+IEpQRUcsIFBORywgV2ViUDxicj4KICAgICAgICAgIDxzdHJvbmc+TWF4IEZpbGUgU2l6ZTo8L3N0cm9uZz4gNU1CIChjb25maWd1cmFibGUpPGJyPgogICAgICAgICAgPHN0cm9uZz5PdXRwdXQgRm9ybWF0Ojwvc3Ryb25nPiBCYXNlNjQgZW5jb2RlZCBKUEVHCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBuaSxMYSx5UXQsdkJlPWMoKCk9PntwZSgpO1dhKCk7S3QoKTtxOCgpO2JRdCgpO3hRdCgpO1hlKCk7bmk9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LExhPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSx5UXQ9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlIildLGUsYT1bXSxyLHM9b3QsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W10sTiwkPVtdLEk9W10saixTPVtdLHo9W10sRCxUPVtdLEE9W10sVSxSPVtdLHE9W10sb2UsTz1bXSxyZT1bXSx5ZSxCPVtdLGVlPVtdLENlLFk9W10sUD1bXTt2YXIgSD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0lucHV0UHJvZmlsZVBpY3R1cmUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgRz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOlN0cmluZ30pXSxoPVtMKHt0eXBlOlN0cmluZ30pXSxwPVtMKHt0eXBlOk51bWJlcn0pXSx4PVtMKHt0eXBlOlN0cmluZ30pXSx5PVtMKHt0eXBlOkJvb2xlYW59KV0sRT1bTCh7dHlwZTpCb29sZWFufSldLE49W0woe3R5cGU6TnVtYmVyfSldLGo9W0woe3R5cGU6QXJyYXl9KV0sRD1bTCh7dHlwZTpOdW1iZXJ9KV0sVT1bTCh7dHlwZTpOdW1iZXJ9KV0sb2U9W1ooKV0seWU9W1ooKV0sQ2U9W1ooKV0sbmkodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShXPT4idmFsdWUiaW4gVywiaGFzIiksZ2V0OmkoVz0+Vy52YWx1ZSwiZ2V0Iiksc2V0OmkoKFcsc2UpPT57Vy52YWx1ZT1zZX0sInNldCIpfSxtZXRhZGF0YTpHfSxvLGwpLG5pKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hhcGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoVz0+InNoYXBlImluIFcsImhhcyIpLGdldDppKFc9Plcuc2hhcGUsImdldCIpLHNldDppKChXLHNlKT0+e1cuc2hhcGU9c2V9LCJzZXQiKX0sbWV0YWRhdGE6R30sdSxmKSxuaSh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoVz0+InNpemUiaW4gVywiaGFzIiksZ2V0OmkoVz0+Vy5zaXplLCJnZXQiKSxzZXQ6aSgoVyxzZSk9PntXLnNpemU9c2V9LCJzZXQiKX0sbWV0YWRhdGE6R30sZyx2KSxuaSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFc9PiJwbGFjZWhvbGRlciJpbiBXLCJoYXMiKSxnZXQ6aShXPT5XLnBsYWNlaG9sZGVyLCJnZXQiKSxzZXQ6aSgoVyxzZSk9PntXLnBsYWNlaG9sZGVyPXNlfSwic2V0Iil9LG1ldGFkYXRhOkd9LGIsbSksbmkodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhbGxvd1VwbG9hZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShXPT4iYWxsb3dVcGxvYWQiaW4gVywiaGFzIiksZ2V0OmkoVz0+Vy5hbGxvd1VwbG9hZCwiZ2V0Iiksc2V0OmkoKFcsc2UpPT57Vy5hbGxvd1VwbG9hZD1zZX0sInNldCIpfSxtZXRhZGF0YTpHfSxNLGspLG5pKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWxsb3dEZWxldGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoVz0+ImFsbG93RGVsZXRlImluIFcsImhhcyIpLGdldDppKFc9PlcuYWxsb3dEZWxldGUsImdldCIpLHNldDppKChXLHNlKT0+e1cuYWxsb3dEZWxldGU9c2V9LCJzZXQiKX0sbWV0YWRhdGE6R30sXyxDKSxuaSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1heEZpbGVTaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFc9PiJtYXhGaWxlU2l6ZSJpbiBXLCJoYXMiKSxnZXQ6aShXPT5XLm1heEZpbGVTaXplLCJnZXQiKSxzZXQ6aSgoVyxzZSk9PntXLm1heEZpbGVTaXplPXNlfSwic2V0Iil9LG1ldGFkYXRhOkd9LCQsSSksbmkodGhpcyxudWxsLGose2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY2NlcHRlZEZvcm1hdHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoVz0+ImFjY2VwdGVkRm9ybWF0cyJpbiBXLCJoYXMiKSxnZXQ6aShXPT5XLmFjY2VwdGVkRm9ybWF0cywiZ2V0Iiksc2V0OmkoKFcsc2UpPT57Vy5hY2NlcHRlZEZvcm1hdHM9c2V9LCJzZXQiKX0sbWV0YWRhdGE6R30sUyx6KSxuaSh0aGlzLG51bGwsRCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im91dHB1dFNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoVz0+Im91dHB1dFNpemUiaW4gVywiaGFzIiksZ2V0OmkoVz0+Vy5vdXRwdXRTaXplLCJnZXQiKSxzZXQ6aSgoVyxzZSk9PntXLm91dHB1dFNpemU9c2V9LCJzZXQiKX0sbWV0YWRhdGE6R30sVCxBKSxuaSh0aGlzLG51bGwsVSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im91dHB1dFF1YWxpdHkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoVz0+Im91dHB1dFF1YWxpdHkiaW4gVywiaGFzIiksZ2V0OmkoVz0+Vy5vdXRwdXRRdWFsaXR5LCJnZXQiKSxzZXQ6aSgoVyxzZSk9PntXLm91dHB1dFF1YWxpdHk9c2V9LCJzZXQiKX0sbWV0YWRhdGE6R30sUixxKSxuaSh0aGlzLG51bGwsb2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0hvdmVyZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoVz0+ImlzSG92ZXJlZCJpbiBXLCJoYXMiKSxnZXQ6aShXPT5XLmlzSG92ZXJlZCwiZ2V0Iiksc2V0OmkoKFcsc2UpPT57Vy5pc0hvdmVyZWQ9c2V9LCJzZXQiKX0sbWV0YWRhdGE6R30sTyxyZSksbmkodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNEcmFnZ2luZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShXPT4iaXNEcmFnZ2luZyJpbiBXLCJoYXMiKSxnZXQ6aShXPT5XLmlzRHJhZ2dpbmcsImdldCIpLHNldDppKChXLHNlKT0+e1cuaXNEcmFnZ2luZz1zZX0sInNldCIpfSxtZXRhZGF0YTpHfSxCLGVlKSxuaSh0aGlzLG51bGwsQ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0xvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoVz0+ImlzTG9hZGluZyJpbiBXLCJoYXMiKSxnZXQ6aShXPT5XLmlzTG9hZGluZywiZ2V0Iiksc2V0OmkoKFcsc2UpPT57Vy5pc0xvYWRpbmc9c2V9LCJzZXQiKX0sbWV0YWRhdGE6R30sWSxQKSxuaShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpHfSxudWxsLGEpLEg9cj1lLnZhbHVlLEcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6R30pfXN0YXRpYyBkZW1vPXZRdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9TGEodGhpcyxvLCIiKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoRyl7dGhpcy4jZT1HfSN0PShMYSh0aGlzLGwpLExhKHRoaXMsdSwicm91bmQiKSk7Z2V0IHNoYXBlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNoYXBlKEcpe3RoaXMuI3Q9R30jYT0oTGEodGhpcyxmKSxMYSh0aGlzLGcsMTIwKSk7Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2l6ZShHKXt0aGlzLiNhPUd9I3I9KExhKHRoaXMsdiksTGEodGhpcyxiLCIiKSk7Z2V0IHBsYWNlaG9sZGVyKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHBsYWNlaG9sZGVyKEcpe3RoaXMuI3I9R30jaT0oTGEodGhpcyxtKSxMYSh0aGlzLE0sITApKTtnZXQgYWxsb3dVcGxvYWQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgYWxsb3dVcGxvYWQoRyl7dGhpcy4jaT1HfSNzPShMYSh0aGlzLGspLExhKHRoaXMsXywhMCkpO2dldCBhbGxvd0RlbGV0ZSgpe3JldHVybiB0aGlzLiNzfXNldCBhbGxvd0RlbGV0ZShHKXt0aGlzLiNzPUd9I289KExhKHRoaXMsQyksTGEodGhpcywkLDUqMTAyNCoxMDI0KSk7Z2V0IG1heEZpbGVTaXplKCl7cmV0dXJuIHRoaXMuI299c2V0IG1heEZpbGVTaXplKEcpe3RoaXMuI289R30jbj0oTGEodGhpcyxJKSxMYSh0aGlzLFMsWyJpbWFnZS9qcGVnIiwiaW1hZ2UvcG5nIiwiaW1hZ2Uvd2VicCJdKSk7Z2V0IGFjY2VwdGVkRm9ybWF0cygpe3JldHVybiB0aGlzLiNufXNldCBhY2NlcHRlZEZvcm1hdHMoRyl7dGhpcy4jbj1HfSNsPShMYSh0aGlzLHopLExhKHRoaXMsVCw4MDApKTtnZXQgb3V0cHV0U2l6ZSgpe3JldHVybiB0aGlzLiNsfXNldCBvdXRwdXRTaXplKEcpe3RoaXMuI2w9R30jYz0oTGEodGhpcyxBKSxMYSh0aGlzLFIsLjk1KSk7Z2V0IG91dHB1dFF1YWxpdHkoKXtyZXR1cm4gdGhpcy4jY31zZXQgb3V0cHV0UXVhbGl0eShHKXt0aGlzLiNjPUd9I2Q9KExhKHRoaXMscSksTGEodGhpcyxPLCExKSk7Z2V0IGlzSG92ZXJlZCgpe3JldHVybiB0aGlzLiNkfXNldCBpc0hvdmVyZWQoRyl7dGhpcy4jZD1HfSNwPShMYSh0aGlzLHJlKSxMYSh0aGlzLEIsITEpKTtnZXQgaXNEcmFnZ2luZygpe3JldHVybiB0aGlzLiNwfXNldCBpc0RyYWdnaW5nKEcpe3RoaXMuI3A9R30jdT0oTGEodGhpcyxlZSksTGEodGhpcyxZLCExKSk7Z2V0IGlzTG9hZGluZygpe3JldHVybiB0aGlzLiN1fXNldCBpc0xvYWRpbmcoRyl7dGhpcy4jdT1HfW1vZGFsSW5zdGFuY2U9KExhKHRoaXMsUCksbnVsbCk7c3RhdGljIHN0eWxlcz1bRGUsLi4ub3QuYmFzZVN0eWxlcyxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmlucHV0LXdyYXBwZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgfQoKICAgICAgLnByb2ZpbGUtY29udGFpbmVyOmhvdmVyIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOwogICAgICB9CgogICAgICAucHJvZmlsZS1waWN0dXJlIHsKICAgICAgICB3aWR0aDogdmFyKC0tc2l6ZSwgMTIwcHgpOwogICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSwgMTIwcHgpOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjVmNWY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLXBpY3R1cmUucm91bmQgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgfQoKICAgICAgLnByb2ZpbGUtcGljdHVyZS5zcXVhcmUgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLXBpY3R1cmUuZHJhZ2dpbmcgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAke2QuYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIiwicmdiYSg5NiwgMTY1LCAyNTAsIDAuMTUpIil9OwogICAgICB9CgogICAgICAucHJvZmlsZS1waWN0dXJlOmhvdmVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgfQoKICAgICAgLnByb2ZpbGUtcGljdHVyZTpkaXNhYmxlZCB7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLWltYWdlIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgIH0KCiAgICAgIC5wbGFjZWhvbGRlci1pY29uIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAub3ZlcmxheSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLWNvbnRhaW5lcjpob3ZlciAub3ZlcmxheSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLm92ZXJsYXktY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5vdmVybGF5LWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSIsInJnYmEoMzksIDM5LCA0MiwgMC45NSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICB9CgogICAgICAub3ZlcmxheS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzNmM2Y0NiIpfTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgIH0KCiAgICAgIC5vdmVybGF5LWJ1dHRvbi5kZWxldGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjkpIiwicmdiYSgyMjAsIDM4LCAzOCwgMC45KSIpfTsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLm92ZXJsYXktYnV0dG9uLmRlbGV0ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZGMyNjI2Iil9OwogICAgICB9CgogICAgICAuZHJvcC16b25lLXRleHQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuaGlkZGVuLWlucHV0IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBMb2FkaW5nIGFuaW1hdGlvbiAqLwogICAgICAubG9hZGluZy1vdmVybGF5IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkiLCJyZ2JhKDAsIDAsIDAsIDAuOCkiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLmxvYWRpbmctb3ZlcmxheS5zaG93IHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICAubG9hZGluZy1zcGlubmVyIHsKICAgICAgICB3aWR0aDogNDBweDsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICB0byB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBwdWxzZSB7CiAgICAgICAgMCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgfQogICAgICAgIDUwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogICAgICAgICAgb3BhY2l0eTogMC44OwogICAgICAgIH0KICAgICAgICAxMDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnByb2ZpbGUtcGljdHVyZS5jbGlja2luZyB7CiAgICAgICAgYW5pbWF0aW9uOiBwdWxzZSAwLjNzIGVhc2Utb3V0OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7dGhpcy5sYWJlbH0gLmRlc2NyaXB0aW9uPSR7dGhpcy5kZXNjcmlwdGlvbn0gLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0+PC9kZWVzLWxhYmVsPgogICAgICAgIAogICAgICAgIDxkaXYgCiAgICAgICAgICBjbGFzcz0icHJvZmlsZS1jb250YWluZXIiCiAgICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZUNsaWNrfQogICAgICAgICAgQGRyYWdvdmVyPSR7dGhpcy5oYW5kbGVEcmFnT3Zlcn0KICAgICAgICAgIEBkcmFnbGVhdmU9JHt0aGlzLmhhbmRsZURyYWdMZWF2ZX0KICAgICAgICAgIEBkcm9wPSR7dGhpcy5oYW5kbGVEcm9wfQogICAgICAgICAgc3R5bGU9Ii0tc2l6ZTogJHt0aGlzLnNpemV9cHgiCiAgICAgICAgPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZmlsZS1waWN0dXJlICR7dGhpcy5zaGFwZX0gJHt0aGlzLmlzRHJhZ2dpbmc/ImRyYWdnaW5nIjoiIn0gJHt0aGlzLmlzTG9hZGluZyYmIXRoaXMudmFsdWU/ImNsaWNraW5nIjoiIn0iPgogICAgICAgICAgICAke3RoaXMudmFsdWU/d2AKICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJwcm9maWxlLWltYWdlIiBzcmM9IiR7dGhpcy52YWx1ZX0iIGFsdD0iUHJvZmlsZSBwaWN0dXJlIiAvPgogICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0icGxhY2Vob2xkZXItaWNvbiIgaWNvbj0ibHVjaWRlOnVzZXIiIGljb25TaXplPSIke3RoaXMuc2l6ZSouNX0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICBgfQogICAgICAgICAgICAKICAgICAgICAgICAgJHt0aGlzLmlzRHJhZ2dpbmc/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVybGF5IiBzdHlsZT0ib3BhY2l0eTogMSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wLXpvbmUtdGV4dCI+CiAgICAgICAgICAgICAgICAgIERyb3AgaW1hZ2UgaGVyZQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIAogICAgICAgICAgICAke3RoaXMudmFsdWUmJiF0aGlzLmRpc2FibGVkP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmxheSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVybGF5LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAke3RoaXMuYWxsb3dVcGxvYWQ/d2AKICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJvdmVybGF5LWJ1dHRvbiIgQGNsaWNrPSR7Rz0+e0cuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5vcGVuTW9kYWwoKX19IHRpdGxlPSJDaGFuZ2UgcGljdHVyZSI+CiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpwZW5jaWwiIGljb25TaXplPSIyMCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAgICR7dGhpcy5hbGxvd0RlbGV0ZT93YAogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im92ZXJsYXktYnV0dG9uIGRlbGV0ZSIgQGNsaWNrPSR7Rz0+e0cuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kZWxldGVQaWN0dXJlKCl9fSB0aXRsZT0iRGVsZXRlIHBpY3R1cmUiPgogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6dHJhc2gyIiBpY29uU2l6ZT0iMjAiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIAogICAgICAgICAgICAke3RoaXMuaXNMb2FkaW5nJiYhdGhpcy52YWx1ZT93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctb3ZlcmxheSBzaG93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8aW5wdXQKICAgICAgICAgIHR5cGU9ImZpbGUiCiAgICAgICAgICBjbGFzcz0iaGlkZGVuLWlucHV0IgogICAgICAgICAgYWNjZXB0PSIke3RoaXMuYWNjZXB0ZWRGb3JtYXRzLmpvaW4oIiwiKX0iCiAgICAgICAgICBAY2hhbmdlPSR7dGhpcy5oYW5kbGVGaWxlU2VsZWN0fQogICAgICAgIC8+CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVDbGljaygpe2lmKCEodGhpcy5kaXNhYmxlZHx8IXRoaXMuYWxsb3dVcGxvYWQpJiYhdGhpcy52YWx1ZSl7dGhpcy5pc0xvYWRpbmc9ITA7bGV0IEc9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5oaWRkZW4taW5wdXQiKSxXPWkoKCk9PntzZXRUaW1lb3V0KCgpPT57KCFHLmZpbGVzfHxHLmZpbGVzLmxlbmd0aD09PTApJiYodGhpcy5pc0xvYWRpbmc9ITEpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsVyl9LDMwMCl9LCJoYW5kbGVGb2N1cyIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsVyksRy5jbGljaygpfX1oYW5kbGVGaWxlU2VsZWN0KEcpe2xldCBXPUcudGFyZ2V0LHNlPVcuZmlsZXM/LlswXTt0aGlzLmlzTG9hZGluZz0hMSxzZSYmdGhpcy5wcm9jZXNzRmlsZShzZSksVy52YWx1ZT0iIn1oYW5kbGVEcmFnT3ZlcihHKXtHLnByZXZlbnREZWZhdWx0KCksIXRoaXMuZGlzYWJsZWQmJnRoaXMuYWxsb3dVcGxvYWQmJih0aGlzLmlzRHJhZ2dpbmc9ITApfWhhbmRsZURyYWdMZWF2ZSgpe3RoaXMuaXNEcmFnZ2luZz0hMX1oYW5kbGVEcm9wKEcpe2lmKEcucHJldmVudERlZmF1bHQoKSx0aGlzLmlzRHJhZ2dpbmc9ITEsdGhpcy5kaXNhYmxlZHx8IXRoaXMuYWxsb3dVcGxvYWQpcmV0dXJuO2xldCBXPUcuZGF0YVRyYW5zZmVyPy5maWxlc1swXTtXJiZ0aGlzLnByb2Nlc3NGaWxlKFcpfWFzeW5jIHByb2Nlc3NGaWxlKEcpe2lmKCF0aGlzLmFjY2VwdGVkRm9ybWF0cy5pbmNsdWRlcyhHLnR5cGUpKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGZpbGUgdHlwZToiLEcudHlwZSk7cmV0dXJufWlmKEcuc2l6ZT50aGlzLm1heEZpbGVTaXplKXtjb25zb2xlLmVycm9yKCJGaWxlIHRvbyBsYXJnZToiLEcuc2l6ZSk7cmV0dXJufWxldCBXPW5ldyBGaWxlUmVhZGVyO1cub25sb2FkPWFzeW5jIHNlPT57bGV0IHplPXNlLnRhcmdldD8ucmVzdWx0O2F3YWl0IHRoaXMub3Blbk1vZGFsKHplKX0sVy5yZWFkQXNEYXRhVVJMKEcpfWFzeW5jIG9wZW5Nb2RhbChHKXtsZXQgVz1HfHx0aGlzLnZhbHVlO2lmKCFXKXt0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmhpZGRlbi1pbnB1dCIpLmNsaWNrKCk7cmV0dXJufXRoaXMubW9kYWxJbnN0YW5jZT1uZXcgYkJlLHRoaXMubW9kYWxJbnN0YW5jZS5zaGFwZT10aGlzLnNoYXBlLHRoaXMubW9kYWxJbnN0YW5jZS5pbml0aWFsSW1hZ2U9Vyx0aGlzLm1vZGFsSW5zdGFuY2Uub3V0cHV0U2l6ZT10aGlzLm91dHB1dFNpemUsdGhpcy5tb2RhbEluc3RhbmNlLm91dHB1dFF1YWxpdHk9dGhpcy5vdXRwdXRRdWFsaXR5LHRoaXMubW9kYWxJbnN0YW5jZS5hZGRFdmVudExpc3RlbmVyKCJzYXZlIixzZT0+e3RoaXMudmFsdWU9c2UuZGV0YWlsLmNyb3BwZWRJbWFnZSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX0pLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5tb2RhbEluc3RhbmNlKX1kZWxldGVQaWN0dXJlKCl7dGhpcy52YWx1ZT0iIix0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKEcpe3RoaXMudmFsdWU9R31zdGF0aWN7TGEocixhKX19O3JldHVybiBIPXJ9KSgpfSk7dmFyIHdRdD1jKCgpPT57UUt0KCk7Skt0KCk7ZVF0KCk7Yk9lKCk7dFF0KCk7TU9lKCk7YVF0KCk7clF0KCk7aVF0KCk7c1F0KCk7b1F0KCk7blF0KCk7bFF0KCk7ZFF0KCk7cFF0KCk7dVF0KCk7ZlF0KCk7aFF0KCk7bVF0KCk7dkJlKCl9KTt2YXIgTVF0LGtRdD1jKCgpPT57cGUoKTtNUXQ9aSgoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtb0NvbnRhaW5lciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMzJweDsKICAgICAgcGFkZGluZzogNDhweDsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmOGY5ZmEiLCIjMGEwYTBhIil9OwogICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgIH0KICAgIAogICAgLnNlY3Rpb24gewogICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMxODE4MWIiKX07CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICBwYWRkaW5nOiAyNHB4OwogICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgfQogICAgCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIH0KICAgIAogICAgLnNlY3Rpb24tZGVzY3JpcHRpb24gewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vQ29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Ob24tU2VsZWN0YWJsZSBDaGlwczwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5CYXNpYyBjaGlwcyB3aXRob3V0IHNlbGVjdGlvbiBjYXBhYmlsaXR5LiBVc2UgZm9yIGRpc3BsYXktb25seSB0YWdzLjwvZGl2PgogICAgICA8ZGVlcy1jaGlwcwogICAgICAgIHNlbGVjdGlvbk1vZGU9Im5vbmUiCiAgICAgICAgLnNlbGVjdGFibGVDaGlwcz0ke1t7a2V5OiJzdGF0dXMiLHZhbHVlOiJBY3RpdmUifSx7a2V5OiJ0aWVyIix2YWx1ZToiUHJlbWl1bSJ9LHtrZXk6InJlZ2lvbiIsdmFsdWU6IkVVLVdlc3QifSx7a2V5OiJ0eXBlIix2YWx1ZToiRW50ZXJwcmlzZSJ9XX0KICAgICAgPjwvZGVlcy1jaGlwcz4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+U2luZ2xlIFNlbGVjdGlvbiBDaGlwczwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5DbGljayB0byBzZWxlY3Qgb25lIGNoaXAgYXQgYSB0aW1lLiBVc2VmdWwgZm9yIGZpbHRlcnMgYW5kIG9wdGlvbnMuPC9kaXY+CiAgICAgIDxkZWVzLWNoaXBzCiAgICAgICAgc2VsZWN0aW9uTW9kZT0ic2luZ2xlIgogICAgICAgIC5zZWxlY3RhYmxlQ2hpcHM9JHtbe2tleToiYWxsIix2YWx1ZToiQWxsIFByb2plY3RzIn0se2tleToiYWN0aXZlIix2YWx1ZToiQWN0aXZlIn0se2tleToiYXJjaGl2ZWQiLHZhbHVlOiJBcmNoaXZlZCJ9LHtrZXk6ImRyYWZ0cyIsdmFsdWU6IkRyYWZ0cyJ9XX0KICAgICAgPjwvZGVlcy1jaGlwcz4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TXVsdGlwbGUgU2VsZWN0aW9uIENoaXBzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlNlbGVjdCBtdWx0aXBsZSBjaGlwcyBzaW11bHRhbmVvdXNseS4gR3JlYXQgZm9yIHRhZyBzZWxlY3Rpb24uPC9kaXY+CiAgICAgIDxkZWVzLWNoaXBzCiAgICAgICAgc2VsZWN0aW9uTW9kZT0ibXVsdGlwbGUiCiAgICAgICAgLnNlbGVjdGFibGVDaGlwcz0ke1t7a2V5OiJqcyIsdmFsdWU6IkphdmFTY3JpcHQifSx7a2V5OiJ0cyIsdmFsdWU6IlR5cGVTY3JpcHQifSx7a2V5OiJyZWFjdCIsdmFsdWU6IlJlYWN0In0se2tleToidnVlIix2YWx1ZToiVnVlIn0se2tleToiYW5ndWxhciIsdmFsdWU6IkFuZ3VsYXIifSx7a2V5OiJub2RlIix2YWx1ZToiTm9kZS5qcyJ9XX0KICAgICAgPjwvZGVlcy1jaGlwcz4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UmVtb3ZhYmxlIENoaXBzIHdpdGggS2V5czwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5DaGlwcyB3aXRoIHJlbW92ZSBidXR0b25zIGFuZCBrZXktdmFsdWUgcGFpcnMuIFBlcmZlY3QgZm9yIGR5bmFtaWMgbGlzdHMuPC9kaXY+CiAgICAgIDxkZWVzLWNoaXBzCiAgICAgICAgc2VsZWN0aW9uTW9kZT0ic2luZ2xlIgogICAgICAgIGNoaXBzQXJlUmVtb3ZhYmxlCiAgICAgICAgLnNlbGVjdGFibGVDaGlwcz0ke1t7a2V5OiJlbnYiLHZhbHVlOiJQcm9kdWN0aW9uIn0se2tleToidmVyc2lvbiIsdmFsdWU6IjIuNC4xIn0se2tleToiYnJhbmNoIix2YWx1ZToibWFpbiJ9LHtrZXk6ImF1dGhvciIsdmFsdWU6IkpvaG4gRG9lIn1dfQogICAgICA+PC9kZWVzLWNoaXBzPgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5NaXhlZCBDb250ZW50IEV4YW1wbGU8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+Q29tYmluaW5nIGRpZmZlcmVudCBjaGlwIHR5cGVzIGZvciBjb21wbGV4IFVJcy48L2Rpdj4KICAgICAgPGRlZXMtY2hpcHMKICAgICAgICBzZWxlY3Rpb25Nb2RlPSJtdWx0aXBsZSIKICAgICAgICBjaGlwc0FyZVJlbW92YWJsZQogICAgICAgIC5zZWxlY3RhYmxlQ2hpcHM9JHtbe2tleToicHJpb3JpdHkiLHZhbHVlOiJIaWdoIn0se2tleToic3RhdHVzIix2YWx1ZToiSW4gUHJvZ3Jlc3MifSx7a2V5OiJidWciLHZhbHVlOiJCdWcifSx7a2V5OiJmZWF0dXJlIix2YWx1ZToiRmVhdHVyZSJ9LHtrZXk6InNwcmludCIsdmFsdWU6IlNwcmludCAyMyJ9LHtrZXk6ImFzc2lnbmVlIix2YWx1ZToiQWxpY2UifV19CiAgICAgID48L2RlZXMtY2hpcHM+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBKOCxOcyx6UXQsU1F0PWMoKCk9PntwZSgpO0l0KCk7a1F0KCk7WGUoKTtKOD1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sTnM9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LHpRdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtY2hpcHMiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXSx5LE09W10saz1bXTt2YXIgRT1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0NoaXBzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCgpXSxoPVtMKHt0eXBlOkJvb2xlYW59KV0scD1bTCh7dHlwZTpBcnJheX0pXSx4PVtMKCldLHk9W0woe3R5cGU6QXJyYXl9KV0sSjgodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3Rpb25Nb2RlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJzZWxlY3Rpb25Nb2RlImluIEMsImhhcyIpLGdldDppKEM9PkMuc2VsZWN0aW9uTW9kZSwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLnNlbGVjdGlvbk1vZGU9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxvLGwpLEo4KHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2hpcHNBcmVSZW1vdmFibGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+ImNoaXBzQXJlUmVtb3ZhYmxlImluIEMsImhhcyIpLGdldDppKEM9PkMuY2hpcHNBcmVSZW1vdmFibGUsImdldCIpLHNldDppKChDLE4pPT57Qy5jaGlwc0FyZVJlbW92YWJsZT1OfSwic2V0Iil9LG1ldGFkYXRhOl99LHUsZiksSjgodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RhYmxlQ2hpcHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+InNlbGVjdGFibGVDaGlwcyJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLnNlbGVjdGFibGVDaGlwcywiZ2V0Iiksc2V0OmkoKEMsTik9PntDLnNlbGVjdGFibGVDaGlwcz1OfSwic2V0Iil9LG1ldGFkYXRhOl99LGcsdiksSjgodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZENoaXAiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+InNlbGVjdGVkQ2hpcCJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLnNlbGVjdGVkQ2hpcCwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLnNlbGVjdGVkQ2hpcD1OfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsbSksSjgodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZENoaXBzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJzZWxlY3RlZENoaXBzImluIEMsImhhcyIpLGdldDppKEM9PkMuc2VsZWN0ZWRDaGlwcywiZ2V0Iiksc2V0OmkoKEMsTik9PntDLnNlbGVjdGVkQ2hpcHM9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxNLGspLEo4KG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsYSksRT1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89TVF0O3N0YXRpYyBkZW1vR3JvdXBzPVsiTGF5b3V0Il07I2U9TnModGhpcyxvLCJzaW5nbGUiKTtnZXQgc2VsZWN0aW9uTW9kZSgpe3JldHVybiB0aGlzLiNlfXNldCBzZWxlY3Rpb25Nb2RlKF8pe3RoaXMuI2U9X30jdD0oTnModGhpcyxsKSxOcyh0aGlzLHUsITEpKTtnZXQgY2hpcHNBcmVSZW1vdmFibGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY2hpcHNBcmVSZW1vdmFibGUoXyl7dGhpcy4jdD1ffSNhPShOcyh0aGlzLGYpLE5zKHRoaXMsZyxbXSkpO2dldCBzZWxlY3RhYmxlQ2hpcHMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2VsZWN0YWJsZUNoaXBzKF8pe3RoaXMuI2E9X30jcj0oTnModGhpcyx2KSxOcyh0aGlzLGIsbnVsbCkpO2dldCBzZWxlY3RlZENoaXAoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2VsZWN0ZWRDaGlwKF8pe3RoaXMuI3I9X30jaT0oTnModGhpcyxtKSxOcyh0aGlzLE0sW10pKTtnZXQgc2VsZWN0ZWRDaGlwcygpe3JldHVybiB0aGlzLiNpfXNldCBzZWxlY3RlZENoaXBzKF8pe3RoaXMuI2k9X31jb25zdHJ1Y3Rvcigpe3N1cGVyKCksTnModGhpcyxrKX1zdGF0aWMgc3R5bGVzPVtEZSxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5tYWluYm94IHsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmNoaXAgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBib3gtc2hhZG93OiAwIDFweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMDUpOwogICAgICB9CgogICAgICAuY2hpcDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjM2YzZjQ2Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiNkMWQ1ZGIiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuY2hpcDphY3RpdmUgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7CiAgICAgIH0KCiAgICAgIC5jaGlwLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgIH0KCiAgICAgIC5jaGlwLnNlbGVjdGVkOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiMyNTYzZWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiMyNTYzZWIiKX07CiAgICAgIH0KCiAgICAgIC5jaGlwS2V5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA2KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tbGVmdDogLThweDsKICAgICAgICBwYWRkaW5nOiAwcHggOHB4OwogICAgICAgIG1hcmdpbi1yaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuY2hpcC5zZWxlY3RlZCAuY2hpcEtleSB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpOwogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7CiAgICAgIH0KCiAgICAgIGRlZXMtaWNvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBtYXJnaW4tbGVmdDogOHB4OwogICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmNoaXAuc2VsZWN0ZWQgZGVlcy1pY29uIHsKICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpOwogICAgICB9CgogICAgICBkZWVzLWljb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZWY0NDQ0IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmNoaXAuc2VsZWN0ZWQgZGVlcy1pY29uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7CiAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtYWluYm94Ij4KICAgICAgICAke3RoaXMuc2VsZWN0YWJsZUNoaXBzLm1hcChfPT53YAogICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2VsZWN0Q2hpcChfKX0KICAgICAgICAgICAgICBjbGFzcz0iY2hpcCAke3RoaXMuaXNTZWxlY3RlZChfKT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgICR7Xy5rZXk/d2A8ZGl2IGNsYXNzPSJjaGlwS2V5Ij4ke18ua2V5fTwvZGl2PmA6d2BgfSAke18udmFsdWV9CiAgICAgICAgICAgICAgJHt0aGlzLmNoaXBzQXJlUmVtb3ZhYmxlP3dgCiAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbgogICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7Qz0+e0Muc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5yZW1vdmVDaGlwKF8pfX0KICAgICAgICAgICAgICAgICAgICAgIC5pY29uPSR7ImZhOnhtYXJrIn0KICAgICAgICAgICAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgIGA6d2BgfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7fWlzU2VsZWN0ZWQoXyl7cmV0dXJuIHRoaXMuc2VsZWN0aW9uTW9kZT09PSJzaW5nbGUiP3RoaXMuc2VsZWN0ZWRDaGlwP3RoaXMuaXNTYW1lQ2hpcCh0aGlzLnNlbGVjdGVkQ2hpcCxfKTohMTp0aGlzLnNlbGVjdGVkQ2hpcHMuc29tZShDPT50aGlzLmlzU2FtZUNoaXAoQyxfKSl9aXNTYW1lQ2hpcChfLEMpe3JldHVybihfLmtleSYmQy5rZXl8fF8udmFsdWU9PT1DLnZhbHVlKSYmXy5rZXk9PT1DLmtleX1hc3luYyBzZWxlY3RDaGlwKF8pe3RoaXMuc2VsZWN0aW9uTW9kZSE9PSJub25lIiYmKHRoaXMuc2VsZWN0aW9uTW9kZT09PSJzaW5nbGUiP3RoaXMuaXNTZWxlY3RlZChfKT8odGhpcy5zZWxlY3RlZENoaXA9bnVsbCx0aGlzLnNlbGVjdGVkQ2hpcHM9W10pOih0aGlzLnNlbGVjdGVkQ2hpcD1fLHRoaXMuc2VsZWN0ZWRDaGlwcz1bX10pOnRoaXMuc2VsZWN0aW9uTW9kZT09PSJtdWx0aXBsZSImJih0aGlzLmlzU2VsZWN0ZWQoXyk/dGhpcy5zZWxlY3RlZENoaXBzPXRoaXMuc2VsZWN0ZWRDaGlwcy5maWx0ZXIoQz0+IXRoaXMuaXNTYW1lQ2hpcChDLF8pKTp0aGlzLnNlbGVjdGVkQ2hpcHM9Wy4uLnRoaXMuc2VsZWN0ZWRDaGlwcyxfXSx0aGlzLnJlcXVlc3RVcGRhdGUoKSksY29uc29sZS5sb2codGhpcy5zZWxlY3RlZENoaXBzKSl9cmVtb3ZlQ2hpcChfKXt0aGlzLnNlbGVjdGFibGVDaGlwcz10aGlzLnNlbGVjdGFibGVDaGlwcy5maWx0ZXIoQz0+IXRoaXMuaXNTYW1lQ2hpcChDLF8pKSx0aGlzLnNlbGVjdGVkQ2hpcHM9dGhpcy5zZWxlY3RlZENoaXBzLmZpbHRlcihDPT4hdGhpcy5pc1NhbWVDaGlwKEMsXykpLHRoaXMuc2VsZWN0ZWRDaGlwJiZ0aGlzLmlzU2FtZUNoaXAodGhpcy5zZWxlY3RlZENoaXAsXykmJih0aGlzLnNlbGVjdGVkQ2hpcD1udWxsKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1zdGF0aWN7TnMocixhKX19O3JldHVybiBFPXJ9KSgpfSk7dmFyIENRdD1jKCgpPT57U1F0KCl9KTt2YXIgX1F0LFRRdD1jKCgpPT57cGUoKTtSYSgpO19RdD1pKCgpPT53YAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e2xldCBlPXQucXVlcnlTZWxlY3RvcigiI2Rhc2hib2FyZEdyaWQiKSxhPVt7aWQ6Im1ldHJpY3MxIix4OjAseTowLHc6MyxoOjIsdGl0bGU6IlJldmVudWUiLGljb246Imx1Y2lkZTpkb2xsYXJTaWduIixjb250ZW50OndgCiAgICAgICAgICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDIwcHg7Ij4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDMycHg7IGZvbnQtd2VpZ2h0OiA3MDA7IGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07Ij4kMTI0LDU2MzwvZGl2PgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImNvbG9yOiAjMjJjNTVlOyBmb250LXNpemU6IDE0cHg7IG1hcmdpbi10b3A6IDhweDsiPuKGkSAxMi41JSBmcm9tIGxhc3QgbW9udGg8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfSx7aWQ6Im1ldHJpY3MyIix4OjMseTowLHc6MyxoOjIsdGl0bGU6IlVzZXJzIixpY29uOiJsdWNpZGU6dXNlcnMiLGNvbnRlbnQ6d2AKICAgICAgICAgICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjBweDsiPgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMzJweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsiPjgsMjM0PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iY29sb3I6ICMzYjgyZjY7IGZvbnQtc2l6ZTogMTRweDsgbWFyZ2luLXRvcDogOHB4OyI+4oaRIDUuMiUgZnJvbSBsYXN0IHdlZWs8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfSx7aWQ6ImNoYXJ0MSIseDo2LHk6MCx3OjYsaDo0LHRpdGxlOiJBbmFseXRpY3MiLGljb246Imx1Y2lkZTpsaW5lQ2hhcnQiLGNvbnRlbnQ6d2AKICAgICAgICAgICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjBweDsgaGVpZ2h0OiAxMDAlOyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsiPgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICM3MTcxN2E7Ij4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmxpbmVDaGFydCJ9IHN0eWxlPSJmb250LXNpemU6IDQ4cHg7IG1hcmdpbi1ib3R0b206IDE2cHg7Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDxkaXY+Q2hhcnQgdmlzdWFsaXphdGlvbiBhcmVhPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYH1dO2Uud2lkZ2V0cz1hLm1hcCh5PT4oey4uLnl9KSksZS5jZWxsSGVpZ2h0PTgwLGUubWFyZ2luPXt0b3A6MTAscmlnaHQ6MTAsYm90dG9tOjEwLGxlZnQ6MTB9LGUuZW5hYmxlQW5pbWF0aW9uPSEwLGUuc2hvd0dyaWRMaW5lcz0hMTtsZXQgcj1lLmdldExheW91dCgpLm1hcCh5PT4oey4uLnl9KSkscz1lLndpZGdldHMubWFwKCh5LE0pPT4oe2lkOnkuaWQseDowLHk6TT09PTA/MDplLndpZGdldHMuc2xpY2UoMCxNKS5yZWR1Y2UoKGssRSk9PmsrRS5oLDApLHc6ZS5jb2x1bW5zLGg6eS5ofSkpO2UubGF5b3V0cz17YmFzZTpyLG1vYmlsZTpzfTtsZXQgbj10LnF1ZXJ5U2VsZWN0b3IoIiNkYXNoYm9hcmRMYXlvdXRTdGF0dXMiKSxvPWkoKCk9PntsZXQgeT1lLmdldExheW91dCgpO24udGV4dENvbnRlbnQ9YEFjdGl2ZSBicmVha3BvaW50OiAke2UuYWN0aXZlQnJlYWtwb2ludH0gXHUyMDIyIFRpbGVzOiAke3kubGVuZ3RofWB9LCJ1cGRhdGVTdGF0dXMiKSxsPXdpbmRvdy5tYXRjaE1lZGlhKCIobWF4LXdpZHRoOiA3NjhweCkiKSxoPWkoKCk9PntsZXQgeT1sLm1hdGNoZXM/Im1vYmlsZSI6ImJhc2UiO2UuYXBwbHlCcmVha3BvaW50TGF5b3V0KHkpLG8oKX0sImhhbmRsZUJyZWFrcG9pbnQiKTt0eXBlb2YgbC5hZGRFdmVudExpc3RlbmVyPT0iZnVuY3Rpb24iP2wuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixoKTpsLmFkZExpc3RlbmVyPy4oaCksaCgpO2xldCB1PTQ7dC5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2goeT0+e3N3aXRjaCh5LnRleHRDb250ZW50Py50cmltKCkpe2Nhc2UiVG9nZ2xlIEFuaW1hdGlvbiI6eS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLmVuYWJsZUFuaW1hdGlvbj0hZS5lbmFibGVBbmltYXRpb259KTticmVhaztjYXNlIlRvZ2dsZSBHcmlkIExpbmVzIjp5LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2Uuc2hvd0dyaWRMaW5lcz0hZS5zaG93R3JpZExpbmVzfSk7YnJlYWs7Y2FzZSJBZGQgV2lkZ2V0Ijp5LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2xldCBrPXtpZDpgd2lkZ2V0JHt1Kyt9YCx4OjAseTowLHc6MyxoOjIsYXV0b1Bvc2l0aW9uOiEwLHRpdGxlOmBXaWRnZXQgJHt1LTF9YCxpY29uOiJsdWNpZGU6cGFja2FnZSIsY29udGVudDp3YAogICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyMHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJjb2xvcjogIzcxNzE3YTsiPk5ldyB3aWRnZXQgY29udGVudDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDhweDsgZm9udC1zaXplOiAyNHB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OyI+JHtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMWUzKX08L2Rpdj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgfTtlLmFkZFdpZGdldChrLCEwKX0pO2JyZWFrO2Nhc2UiQ29tcGFjdCBHcmlkIjp5LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2UuY29tcGFjdCgpfSk7YnJlYWs7Y2FzZSJUb2dnbGUgRWRpdCBNb2RlIjp5LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2UuZWRpdGFibGU9IWUuZWRpdGFibGUseS50ZXh0Q29udGVudD1lLmVkaXRhYmxlPyJMb2NrIEdyaWQiOiJVbmxvY2sgR3JpZCJ9KTticmVhaztjYXNlIlJlc2V0IExheW91dCI6eS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLmFwcGx5QnJlYWtwb2ludExheW91dChlLmFjdGl2ZUJyZWFrcG9pbnQpfSk7YnJlYWs7ZGVmYXVsdDpicmVha319KTtsZXQgcD1udWxsLGc9MCx2PWkoKHksTSk9PntsZXQgaz1lLmdldExheW91dCgpO2NvbnNvbGUuZ3JvdXAoYFx1ezFGNTA0fSAke3l9IFtFdmVudCAjJHsrK2d9XWApLGNvbnNvbGUubG9nKCJUaW1lc3RhbXA6IixuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpLGNvbnNvbGUubG9nKCJHcmlkIENvbmZpZ3VyYXRpb246Iix7Y29sdW1uczplLmNvbHVtbnMsY2VsbEhlaWdodDplLmNlbGxIZWlnaHQsbWFyZ2luOmUubWFyZ2luLGVkaXRhYmxlOmUuZWRpdGFibGUsYWN0aXZlQnJlYWtwb2ludDplLmFjdGl2ZUJyZWFrcG9pbnR9KSxjb25zb2xlLmxvZygiQ3VycmVudCBMYXlvdXQ6IixrKSxjb25zb2xlLmxvZygiV2lkZ2V0IENvdW50OiIsay5sZW5ndGgpLGNvbnNvbGUubG9nKCJHcmlkIEJvdW5kczoiLHt0b3RhbFdpZGdldHM6ZS53aWRnZXRzLmxlbmd0aCxtYXhZOk1hdGgubWF4KC4uLmsubWFwKEU9PkUueStFLmgpKSxvY2N1cGllZDprLm1hcChFPT5gJHtFLmlkfTogKCR7RS54fSwke0UueX0pICR7RS53fXgke0UuaH1gKS5qb2luKCIsICIpfSksTSYmY29uc29sZS5sb2coIkV2ZW50IERldGFpbHM6IixNKSxjb25zb2xlLmdyb3VwRW5kKCl9LCJsb2dHcmlkU3RhdGUiKSx4PW5ldyBNdXRhdGlvbk9ic2VydmVyKCgpPT57bGV0IHk9ZS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIucGxhY2Vob2xkZXIiKTtpZih5KXtsZXQgTT17bGVmdDp5LnN0eWxlLmxlZnQsdG9wOnkuc3R5bGUudG9wLHdpZHRoOnkuc3R5bGUud2lkdGgsaGVpZ2h0Onkuc3R5bGUuaGVpZ2h0fTtpZihKU09OLnN0cmluZ2lmeShNKSE9PUpTT04uc3RyaW5naWZ5KHApKXtjb25zb2xlLmdyb3VwKCJcdXsxRjRDRH0gUGxhY2Vob2xkZXIgUG9zaXRpb24gQ2hhbmdlZCIpLGNvbnNvbGUubG9nKCJQcmV2aW91czoiLHApLGNvbnNvbGUubG9nKCJDdXJyZW50OiIsTSk7bGV0IGs9ZS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZ3JpZC1jb250YWluZXIiKTtrJiZjb25zb2xlLmxvZygiR3JpZCBDb250YWluZXIgRGltZW5zaW9uczoiLHt3aWR0aDprLmNsaWVudFdpZHRoLGhlaWdodDprLmNsaWVudEhlaWdodH0pLGNvbnNvbGUuZ3JvdXBFbmQoKSxwPU19fX0pO2Uuc2hhZG93Um9vdCYmeC5vYnNlcnZlKGUuc2hhZG93Um9vdCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITAsYXR0cmlidXRlczohMCxhdHRyaWJ1dGVGaWx0ZXI6WyJzdHlsZSJdfSksdigiSW5pdGlhbCBHcmlkIFN0YXRlIiksZS5hZGRFdmVudExpc3RlbmVyKCJ3aWRnZXQtbW92ZSIseT0+e3YoIldpZGdldCBNb3ZlIix7d2lkZ2V0OnkuZGV0YWlsLndpZGdldCxkaXNwbGFjZWQ6eS5kZXRhaWwuZGlzcGxhY2VkLHN3YXBwZWRXaXRoOnkuZGV0YWlsLnN3YXBwZWRXaXRofSl9KSxlLmFkZEV2ZW50TGlzdGVuZXIoIndpZGdldC1yZXNpemUiLHk9Pnt2KCJXaWRnZXQgUmVzaXplIix7d2lkZ2V0OnkuZGV0YWlsLndpZGdldCxkaXNwbGFjZWQ6eS5kZXRhaWwuZGlzcGxhY2VkLHN3YXBwZWRXaXRoOnkuZGV0YWlsLnN3YXBwZWRXaXRofSl9KSxlLmFkZEV2ZW50TGlzdGVuZXIoIndpZGdldC1yZW1vdmUiLHk9Pnt2KCJXaWRnZXQgUmVtb3ZlIix7cmVtb3ZlZFdpZGdldDp5LmRldGFpbC53aWRnZXR9KSxvKCl9KSxlLmFkZEV2ZW50TGlzdGVuZXIoImxheW91dC1jaGFuZ2UiLCgpPT57digiTGF5b3V0IENoYW5nZSIpLG8oKX0pLGUuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLHk9PntsZXQgTT15LnRhcmdldC5jbG9zZXN0KCIud2lkZ2V0LWhlYWRlciIpLGs9eS50YXJnZXQuY2xvc2VzdCgiLnJlc2l6ZS1oYW5kbGUiKTtpZihNfHxrKXtjb25zb2xlLmdyb3VwKGBcdXsxRjNBRn0gSW50ZXJhY3Rpb24gU3RhcnRlZDogJHtNPyJEcmFnIjoiUmVzaXplIn1gKSxjb25zb2xlLmxvZygiVGFyZ2V0IFdpZGdldDoiLHkudGFyZ2V0LmNsb3Nlc3QoIi53aWRnZXQiKT8uZ2V0QXR0cmlidXRlKCJkYXRhLXdpZGdldC1pZCIpKSxjb25zb2xlLmxvZygiUG9pbnRlciBQb3NpdGlvbjoiLHt4OnkuY2xpZW50WCx5OnkuY2xpZW50WX0pLGNvbnNvbGUuZ3JvdXBFbmQoKTtsZXQgRT1pKEM9PntsZXQgTj15LnRhcmdldC5jbG9zZXN0KCIud2lkZ2V0Iik7TiYmY29uc29sZS5sb2coIlx1MjE5NFx1RkUwRiBQb2ludGVyIE1vdmU6Iix7d2lkZ2V0SWQ6Ti5nZXRBdHRyaWJ1dGUoImRhdGEtd2lkZ2V0LWlkIikscG9zaXRpb246e3g6Qy5jbGllbnRYLHk6Qy5jbGllbnRZfSxkZWx0YTp7eDpDLmNsaWVudFgteS5jbGllbnRYLHk6Qy5jbGllbnRZLXkuY2xpZW50WX19KX0sImhhbmRsZVBvaW50ZXJNb3ZlIiksXz1pKCgpPT57Y29uc29sZS5ncm91cCgiXHV7MUYzQzF9IEludGVyYWN0aW9uIEVuZGVkIiksdigiRmluYWwgU3RhdGUgQWZ0ZXIgSW50ZXJhY3Rpb24iKSxjb25zb2xlLmdyb3VwRW5kKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLEUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsXyl9LCJoYW5kbGVQb2ludGVyVXAiKTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsRSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixfKX19KTtsZXQgYj1lLmFkZFdpZGdldC5iaW5kKGUpO2UuYWRkV2lkZ2V0PSh5LE0pPT57Y29uc29sZS5ncm91cCgiXHUyNzk1IEFkZGluZyBXaWRnZXQiKSxjb25zb2xlLmxvZygiTmV3IFdpZGdldDoiLHkpLGNvbnNvbGUubG9nKCJBdXRvIFBvc2l0aW9uOiIsTSk7bGV0IGs9Yih5LE0pO3JldHVybiB2KCJBZnRlciBXaWRnZXQgQWRkZWQiKSxjb25zb2xlLmdyb3VwRW5kKCksa307bGV0IG09ZS5jb21wYWN0LmJpbmQoZSk7ZS5jb21wYWN0PXk9Pntjb25zb2xlLmdyb3VwKCJcdXsxRjVEQ31cdUZFMEYgQ29tcGFjdGluZyBHcmlkIiksY29uc29sZS5sb2coIkRpcmVjdGlvbjoiLHl8fCJ2ZXJ0aWNhbCIpLHYoIkJlZm9yZSBDb21wYWN0Iik7bGV0IE09bSh5KTtyZXR1cm4gdigiQWZ0ZXIgQ29tcGFjdCIpLGNvbnNvbGUuZ3JvdXBFbmQoKSxNfSxvKCl9fT4KICAgICAgPHN0eWxlPgogICAgICAgICR7WGAKICAgICAgICAgIC5kZW1vQm94IHsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMwOTA5MGIiKX07CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIH0KCiAgICAgICAgICAuZGVtby1jb250cm9scyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgfQoKICAgICAgICAgIC5kZW1vLWNvbnRyb2xzIGRlZXMtYnV0dG9uIHsKICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgICB9CgogICAgICAgICAgLmdyaWQtY29udGFpbmVyLXdyYXBwZXIgewogICAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgICBtaW4taGVpZ2h0OiA2MDBweDsKICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgfQoKICAgICAgICAgIC5pbmZvIHsKICAgICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogNnB4OwogICAgICAgICAgfQoKICAgICAgICAgICNkYXNoYm9hcmRMYXlvdXRTdGF0dXMgewogICAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgICAgfQogICAgICAgIGB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW9Cb3giPgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udHJvbHMiPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJBbmltYXRpb246Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlRvZ2dsZSBBbmltYXRpb248L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KCiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkRpc3BsYXk6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlRvZ2dsZSBHcmlkIExpbmVzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJBY3Rpb25zOiI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5BZGQgV2lkZ2V0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkNvbXBhY3QgR3JpZDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5SZXNldCBMYXlvdXQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KCiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9Ik1vZGU6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlRvZ2dsZSBFZGl0IE1vZGU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1jb250YWluZXItd3JhcHBlciI+CiAgICAgICAgICA8ZGVlcy1kYXNoYm9hcmRncmlkIGlkPSJkYXNoYm9hcmRHcmlkIj48L2RlZXMtZGFzaGJvYXJkZ3JpZD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaW5mbyI+CiAgICAgICAgICA8ZGl2PkRyYWcgdG8gcmVwb3NpdGlvbiwgcmVzaXplIGZyb20gaGFuZGxlcywgb3IgcmlnaHQtY2xpY2sgYSBoZWFkZXIgdG8gZGVsZXRlIGEgdGlsZS48L2Rpdj4KICAgICAgICAgIDxkaXYgaWQ9ImRhc2hib2FyZExheW91dFN0YXR1cyI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGAsImRlbW9GdW5jIil9KTt2YXIgTFF0LCRRdD1jKCgpPT57cGUoKTtMUXQ9W2QuZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmdyaWQtY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWluLWhlaWdodDogNDAwcHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmdyaWQtd2lkZ2V0IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtlbmFibGVhbmltYXRpb25dKSAuZ3JpZC13aWRnZXQgewogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIC5ncmlkLXdpZGdldC5kcmFnZ2luZyB7CiAgICAgICAgei1pbmRleDogMTAwMDsKICAgICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICAgIGN1cnNvcjogZ3JhYmJpbmc7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgfQogICAgICAKICAgICAgLmdyaWQtd2lkZ2V0LnBsYWNlaG9sZGVyIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB6LWluZGV4OiAxOwogICAgICB9CiAgICAgIAogICAgICAuZ3JpZC13aWRnZXQucGxhY2Vob2xkZXIgLndpZGdldC1jb250ZW50IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMSkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIpfTsKICAgICAgICBib3JkZXI6IDJweCBkYXNoZWQgJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5ncmlkLXdpZGdldC5yZXNpemluZyB7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAud2lkZ2V0LWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBib3gtc2hhZG93OiAke2QuYmRUaGVtZSgiMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSIsIjAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5ncmlkLXdpZGdldDpob3ZlciAud2lkZ2V0LWNvbnRlbnQgewogICAgICAgIGJveC1zaGFkb3c6ICR7ZC5iZFRoZW1lKCIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSkiLCIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC40KSIpfTsKICAgICAgfQoKICAgICAgLmdyaWQtd2lkZ2V0LmRyYWdnaW5nIC53aWRnZXQtY29udGVudCB7CiAgICAgICAgYm94LXNoYWRvdzogJHtkLmJkVGhlbWUoIjAgMTZweCA0OHB4IHJnYmEoMCwgMCwgMCwgMC4yNSkiLCIwIDE2cHggNDhweCByZ2JhKDAsIDAsIDAsIDAuNikiKX07CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKICAgICAgfQoKICAgICAgLndpZGdldC1oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjlmYWZiIiwiIzBhMGEwYSIpfTsKICAgICAgICBjdXJzb3I6IGdyYWI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC53aWRnZXQtaGVhZGVyOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC53aWRnZXQtaGVhZGVyOmFjdGl2ZSB7CiAgICAgICAgY3Vyc29yOiBncmFiYmluZzsKICAgICAgfQoKICAgICAgLndpZGdldC1oZWFkZXIubG9ja2VkIHsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KICAgICAgCiAgICAgIC53aWRnZXQtaGVhZGVyLmxvY2tlZDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmOWZhZmIiLCIjMGEwYTBhIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LWhlYWRlciBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LWJvZHkgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldC1ib2R5Lmhhcy1oZWFkZXIgewogICAgICAgIHRvcDogNDVweDsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICBvcGFjaXR5OiAwLjM7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLWUgewogICAgICAgIGN1cnNvcjogZXctcmVzaXplOwogICAgICAgIHdpZHRoOiAxMnB4OwogICAgICAgIHJpZ2h0OiAtNnB4OwogICAgICAgIHRvcDogMTAlOwogICAgICAgIGhlaWdodDogODAlOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS1zIHsKICAgICAgICBjdXJzb3I6IG5zLXJlc2l6ZTsKICAgICAgICBoZWlnaHQ6IDEycHg7CiAgICAgICAgd2lkdGg6IDgwJTsKICAgICAgICBib3R0b206IC02cHg7CiAgICAgICAgbGVmdDogMTAlOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS1zZSB7CiAgICAgICAgY3Vyc29yOiBzZS1yZXNpemU7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIHJpZ2h0OiAtMnB4OwogICAgICAgIGJvdHRvbTogLTJweDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAucmVzaXplLWhhbmRsZS1zZTo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogNHB4OwogICAgICAgIGJvdHRvbTogNHB4OwogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgIH0KCiAgICAgIC5ncmlkLXdpZGdldDpob3ZlciAucmVzaXplLWhhbmRsZS1zZSB7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS1zZTpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OwogICAgICB9CiAgICAgIAogICAgICAucmVzaXplLWhhbmRsZS1zZTpob3Zlcjo6YWZ0ZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICB9CgogICAgICAuZ3JpZC1wbGFjZWhvbGRlciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICBvcGFjaXR5OiAwLjE7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDMycHg7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogNDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQogICAgICAKICAgICAgLmdyaWQtbGluZXMgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgei1pbmRleDogLTE7CiAgICAgIH0KICAgICAgCiAgICAgIC5ncmlkLWxpbmUtdmVydGljYWwgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIG9wYWNpdHk6IDAuMzsKICAgICAgfQogICAgICAKICAgICAgLmdyaWQtbGluZS1ob3Jpem9udGFsIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgb3BhY2l0eTogMC4zOwogICAgICB9CiAgYF19KTt2YXIgUUxpLHhCZSxQUXQsRVF0LERRdCxrQixBUXQsTXZhLGt2YSx5QmUsdmwsSVF0LE5RdCxSUXQ9YygoKT0+e1FMaT0xMCx4QmU9aSh0PT57aWYodHlwZW9mIHQ9PSJudW1iZXIiKXJldHVybntob3Jpem9udGFsOnQsdmVydGljYWw6dCx0b3A6dCxyaWdodDp0LGJvdHRvbTp0LGxlZnQ6dH07bGV0IGU9e3RvcDp0LnRvcD8/MTAscmlnaHQ6dC5yaWdodD8/MTAsYm90dG9tOnQuYm90dG9tPz8xMCxsZWZ0OnQubGVmdD8/MTB9O3JldHVybnsuLi5lLGhvcml6b250YWw6KGUubGVmdCtlLnJpZ2h0KS8yLHZlcnRpY2FsOihlLnRvcCtlLmJvdHRvbSkvMn19LCJyZXNvbHZlTWFyZ2lucyIpLFBRdD1pKCh0LGUsYSxyLHMpPT57bGV0IG49YS5ob3Jpem9udGFsKihlKzEpLG89TWF0aC5tYXgodC1uLDApLGw9ZT4wP28vZTowLGg9cz09PSJhdXRvIj9sOnI7cmV0dXJue2NvbnRhaW5lcldpZHRoOnQsY2VsbFdpZHRoUHg6bCxtYXJnaW5Ib3Jpem9udGFsUHg6YS5ob3Jpem9udGFsLGNlbGxIZWlnaHRQeDpoLG1hcmdpblZlcnRpY2FsUHg6YS52ZXJ0aWNhbH19LCJjYWxjdWxhdGVDZWxsTWV0cmljcyIpLEVRdD1pKCh0LGUsYSk9PntpZih0Lmxlbmd0aD09PTApcmV0dXJuIDA7bGV0IHI9TWF0aC5tYXgoLi4udC5tYXAocz0+cy55K3MuaCksMCk7cmV0dXJuIHIqYSsocisxKSplLnZlcnRpY2FsfSwiY2FsY3VsYXRlR3JpZEhlaWdodCIpLERRdD1pKCh0LGUsYSxyLHMpPT5lPHQueCt0LncmJmUrcj50LngmJmE8dC55K3QuaCYmYStzPnQueSwib3ZlcmxhcHMiKSxrQj1pKCh0LGUsYSxyLHM9ZS53LG49ZS5oKT0+dC5maWx0ZXIobz0+by5pZD09PWUuaWQ/ITE6RFF0KG8sYSxyLHMsbikpLCJjb2xsZWN0Q29sbGlzaW9ucyIpLEFRdD1pKCh0LGUsYSxyKT0+a0IodCxlLGEscikubGVuZ3RoPjAsImNoZWNrQ29sbGlzaW9uIiksTXZhPWkodD0+KHsuLi50fSksImNsb25lV2lkZ2V0Iiksa3ZhPWkodD0+dC5tYXAoTXZhKSwiY2xvbmVXaWRnZXRzIikseUJlPWkoKHQsZSxhLHIpPT57Zm9yKGxldCBuPTA7bjwyMDA7bisrKWZvcihsZXQgbz0wO288PXItZTtvKyspaWYoIXQuc29tZShoPT5EUXQoaCxvLG4sZSxhKSkpcmV0dXJue3g6byx5Om59O3JldHVybnt4OjAseTp0LnJlZHVjZSgobixvKT0+TWF0aC5tYXgobixvLnkrby5oKSwwKX19LCJmaW5kQXZhaWxhYmxlUG9zaXRpb24iKSx2bD1pKCh0LGUsYSxyLHMpPT57bGV0IG49a3ZhKHQpLG89bi5maW5kKGc9PmcuaWQ9PT1lKSxsPXQuZmluZChnPT5nLmlkPT09ZSk7aWYoIW98fCFsKXJldHVybiBudWxsO2xldCBoPXt4OmEueCx5OmEueSx3OmEudz8/by53LGg6YS5oPz9vLmh9O28ueD1oLngsby55PWgueSxvLnc9aC53LG8uaD1oLmg7bGV0IHU9a0IobixvLGgueCxoLnksaC53LGguaCk7aWYodS5sZW5ndGg9PT0wKXJldHVybnt3aWRnZXRzOm4sbW92ZWRXaWRnZXRzOltvLmlkXX07aWYodS5sZW5ndGg9PT0xKXtsZXQgZz11WzBdO2lmKCFnLmxvY2tlZCYmIWcubm9Nb3ZlJiZnLnc9PT1vLncmJmcuaD09PW8uaCl7bGV0IHY9bi5maW5kKHg9PnguaWQ9PT1nLmlkKTtpZih2KXtsZXQgeD1sLGI9e3g6di54LHk6di55fTtpZih2Lng9eC54LHYueT14Lnksa0IobixvLG8ueCxvLnksby53LG8uaCkubGVuZ3RoPT09MCYma0Iobix2LHYueCx2Lnksdi53LHYuaCkubGVuZ3RoPT09MClyZXR1cm57d2lkZ2V0czpuLG1vdmVkV2lkZ2V0czpbby5pZCx2LmlkXSxzd2FwcGVkV2l0aDp2LmlkfTt2Lng9Yi54LHYueT1iLnl9fX1sZXQgZj1uZXcgU2V0KFtvLmlkXSk7Zm9yKGxldCBnIG9mIHUpe2lmKGcubG9ja2VkfHxnLm5vTW92ZSlyZXR1cm4gbnVsbDtsZXQgdj1uLmZpbmQobT0+bS5pZD09PWcuaWQpO2lmKCF2KWNvbnRpbnVlO2xldCB4PW4uZmlsdGVyKG09Pm0uaWQhPT1nLmlkKSxiPXlCZSh4LHYudyx2Lmgscik7di54PWIueCx2Lnk9Yi55LGYuYWRkKHYuaWQpfXJldHVybiBrQihuLG8sby54LG8ueSxvLncsby5oKS5sZW5ndGg+MD9udWxsOnt3aWRnZXRzOm4sbW92ZWRXaWRnZXRzOkFycmF5LmZyb20oZil9fSwicmVzb2x2ZVdpZGdldFBsYWNlbWVudCIpLElRdD1pKCh0LGU9InZlcnRpY2FsIik9PntsZXQgYT1bLi4udF0uc29ydCgocixzKT0+ZT09PSJ2ZXJ0aWNhbCI/ci55IT09cy55P3IueS1zLnk6ci54LXMueDpyLnghPT1zLng/ci54LXMueDpyLnktcy55KTtmb3IobGV0IHIgb2YgYSlpZighKHIubG9ja2VkfHxyLm5vTW92ZSkpaWYoZT09PSJ2ZXJ0aWNhbCIpZm9yKDtyLnk+MCYmIUFRdCh0LHIsci54LHIueS0xKTspci55LT0xO2Vsc2UgZm9yKDtyLng+MCYmIUFRdCh0LHIsci54LTEsci55KTspci54LT0xfSwiY29tcGFjdExheW91dCIpLE5RdD1pKCh0LGUpPT50Lm1hcChhPT57bGV0IHI9ZS5maW5kKHM9PnMuaWQ9PT1hLmlkKTtyZXR1cm4gcj97Li4uYSwuLi5yfTphfSksImFwcGx5TGF5b3V0Iil9KTt2YXIgRlF0LE9RdCxCUXQ9YygoKT0+e0ZRdD1pKCh7cG9pbnRlcjp0LGNvbnRhaW5lclJlY3Q6ZSxtZXRyaWNzOmEsY29sdW1uczpyLHdpZGdldDpzLHJ0bDpuLGRyYWdPZmZzZXRYOm89MCxkcmFnT2Zmc2V0WTpsPTB9KT0+e2xldCBoPXQuY2xpZW50WC1lLmxlZnQtbyx1PXQuY2xpZW50WS1lLnRvcC1sLGY9YS5tYXJnaW5Ib3Jpem9udGFsUHgscD1hLm1hcmdpblZlcnRpY2FsUHgsZz1hLmNlbGxXaWR0aFB4LHY9YS5jZWxsSGVpZ2h0UHgseD1pKChfLEMsTik9Pk1hdGgubWF4KEMsTWF0aC5taW4oTixfKSksImNsYW1wIiksYj14KGgtZiwwLGUud2lkdGgtZiksbT14KHUtcCwwLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSkseT1nK2YsTT12K3Asaz1NYXRoLnJvdW5kKGIveSk7biYmKGs9ci1zLnctayksaz14KGssMCxyLXMudyk7bGV0IEU9eChNYXRoLnJvdW5kKG0vTSksMCxOdW1iZXIuTUFYX1NBRkVfSU5URUdFUik7cmV0dXJue3g6ayx5OkV9fSwiY29tcHV0ZUdyaWRDb29yZGluYXRlcyIpLE9RdD1pKCh7cG9pbnRlcjp0LGNvbnRhaW5lclJlY3Q6ZSxtZXRyaWNzOmEsc3RhcnRXaWR0aDpyLHN0YXJ0SGVpZ2h0OnMsc3RhcnRQb2ludGVyOm4saGFuZGxlcjpvLHdpZGdldDpsLGNvbHVtbnM6aH0pPT57bGV0IHU9dC5jbGllbnRYLW4uY2xpZW50WCxmPXQuY2xpZW50WS1uLmNsaWVudFkscD1yLGc9cyx2PWEuY2VsbFdpZHRoUHgrYS5tYXJnaW5Ib3Jpem9udGFsUHgseD1hLmNlbGxIZWlnaHRQeCthLm1hcmdpblZlcnRpY2FsUHg7aWYoby5pbmNsdWRlcygiZSIpKXtsZXQgeT1NYXRoLnJvdW5kKHUvdik7cD1yK3l9aWYoby5pbmNsdWRlcygicyIpKXtsZXQgeT1NYXRoLnJvdW5kKGYveCk7Zz1zK3l9bGV0IGI9TWF0aC5tYXgobC5taW5XfHwxLE1hdGgubWluKHAsbC5tYXhXfHxoLWwueCkpLG09TWF0aC5tYXgobC5taW5IfHwxLE1hdGgubWluKGcsbC5tYXhIfHxOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikpO3JldHVybnt3aWR0aDpiLGhlaWdodDptfX0sImNvbXB1dGVSZXNpemVEaW1lbnNpb25zIil9KTt2YXIgSFF0LHFRdD1jKCgpPT57djEoKTtQMSgpO0hRdD1pKCh7d2lkZ2V0OnQsaG9zdDplLGV2ZW50OmF9KT0+e2xldCByPVt7bmFtZToiRGVsZXRlIHRpbGUiLGljb25OYW1lOiJsdWNpZGU6dHJhc2gyIixhY3Rpb246aShhc3luYygpPT4oZS5yZW1vdmVXaWRnZXQodC5pZCksbnVsbCksImFjdGlvbiIpfV07TnQub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoYSxyKX0sIm9wZW5XaWRnZXRDb250ZXh0TWVudSIpfSk7dmFyIF9yLHBhLFZRdCxqUXQ9YygoKT0+e3BlKCk7S3QoKTt2MSgpO1RRdCgpOyRRdCgpO1JRdCgpO0JRdCgpO3FRdCgpO19yPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxwYT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sVlF0PSgoKT0+e2xldCB0PVthZSgiZGVlcy1kYXNoYm9hcmRncmlkIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W10sTiwkPVtdLEk9W10saixTPVtdLHo9W10sRCxUPVtdLEE9W10sVSxSPVtdLHE9W10sb2UsTz1bXSxyZT1bXSx5ZSxCPVtdLGVlPVtdLENlLFk9W10sUD1bXSxILEc9W10sVz1bXSxzZSx6ZT1bXSxNZT1bXTt2YXIgRWU9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNEYXNoYm9hcmRncmlkIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFY9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpBcnJheX0pXSxoPVtMKHt0eXBlOk51bWJlcn0pXSxwPVtMKHt0eXBlOk9iamVjdH0pXSx4PVtMKHt0eXBlOk51bWJlcn0pXSx5PVtMKHt0eXBlOkJvb2xlYW59KV0sRT1bTCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0sTj1bTCh7dHlwZTpTdHJpbmd9KV0saj1bTCh7dHlwZTpCb29sZWFufSldLEQ9W0woe3R5cGU6Qm9vbGVhbn0pXSxVPVtMKHthdHRyaWJ1dGU6ITF9KV0sb2U9W0woe3R5cGU6U3RyaW5nfSldLHllPVtaKCldLENlPVtaKCldLEg9W1ooKV0sc2U9W1ooKV0sX3IodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3aWRnZXRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEY9PiJ3aWRnZXRzImluIEYsImhhcyIpLGdldDppKEY9PkYud2lkZ2V0cywiZ2V0Iiksc2V0OmkoKEYsbmUpPT57Ri53aWRnZXRzPW5lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LG8sbCksX3IodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjZWxsSGVpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEY9PiJjZWxsSGVpZ2h0ImluIEYsImhhcyIpLGdldDppKEY9PkYuY2VsbEhlaWdodCwiZ2V0Iiksc2V0OmkoKEYsbmUpPT57Ri5jZWxsSGVpZ2h0PW5lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LHUsZiksX3IodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXJnaW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+Im1hcmdpbiJpbiBGLCJoYXMiKSxnZXQ6aShGPT5GLm1hcmdpbiwiZ2V0Iiksc2V0OmkoKEYsbmUpPT57Ri5tYXJnaW49bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sZyx2KSxfcih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbHVtbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+ImNvbHVtbnMiaW4gRiwiaGFzIiksZ2V0OmkoRj0+Ri5jb2x1bW5zLCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLmNvbHVtbnM9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sYixtKSxfcih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVkaXRhYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEY9PiJlZGl0YWJsZSJpbiBGLCJoYXMiKSxnZXQ6aShGPT5GLmVkaXRhYmxlLCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLmVkaXRhYmxlPW5lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LE0sayksX3IodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVBbmltYXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+ImVuYWJsZUFuaW1hdGlvbiJpbiBGLCJoYXMiKSxnZXQ6aShGPT5GLmVuYWJsZUFuaW1hdGlvbiwiZ2V0Iiksc2V0OmkoKEYsbmUpPT57Ri5lbmFibGVBbmltYXRpb249bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sXyxDKSxfcih0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNlbGxIZWlnaHRVbml0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEY9PiJjZWxsSGVpZ2h0VW5pdCJpbiBGLCJoYXMiKSxnZXQ6aShGPT5GLmNlbGxIZWlnaHRVbml0LCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLmNlbGxIZWlnaHRVbml0PW5lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LCQsSSksX3IodGhpcyxudWxsLGose2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJydGwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+InJ0bCJpbiBGLCJoYXMiKSxnZXQ6aShGPT5GLnJ0bCwiZ2V0Iiksc2V0OmkoKEYsbmUpPT57Ri5ydGw9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sUyx6KSxfcih0aGlzLG51bGwsRCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dHcmlkTGluZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+InNob3dHcmlkTGluZXMiaW4gRiwiaGFzIiksZ2V0OmkoRj0+Ri5zaG93R3JpZExpbmVzLCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLnNob3dHcmlkTGluZXM9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sVCxBKSxfcih0aGlzLG51bGwsVSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxheW91dHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+ImxheW91dHMiaW4gRiwiaGFzIiksZ2V0OmkoRj0+Ri5sYXlvdXRzLCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLmxheW91dHM9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sUixxKSxfcih0aGlzLG51bGwsb2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3RpdmVCcmVha3BvaW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEY9PiJhY3RpdmVCcmVha3BvaW50ImluIEYsImhhcyIpLGdldDppKEY9PkYuYWN0aXZlQnJlYWtwb2ludCwiZ2V0Iiksc2V0OmkoKEYsbmUpPT57Ri5hY3RpdmVCcmVha3BvaW50PW5lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LE8scmUpLF9yKHRoaXMsbnVsbCx5ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyUG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+InBsYWNlaG9sZGVyUG9zaXRpb24iaW4gRiwiaGFzIiksZ2V0OmkoRj0+Ri5wbGFjZWhvbGRlclBvc2l0aW9uLCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLnBsYWNlaG9sZGVyUG9zaXRpb249bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sQixlZSksX3IodGhpcyxudWxsLENlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWV0cmljcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShGPT4ibWV0cmljcyJpbiBGLCJoYXMiKSxnZXQ6aShGPT5GLm1ldHJpY3MsImdldCIpLHNldDppKChGLG5lKT0+e0YubWV0cmljcz1uZX0sInNldCIpfSxtZXRhZGF0YTpWfSxZLFApLF9yKHRoaXMsbnVsbCxILHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVzb2x2ZWRNYXJnaW5zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEY9PiJyZXNvbHZlZE1hcmdpbnMiaW4gRiwiaGFzIiksZ2V0OmkoRj0+Ri5yZXNvbHZlZE1hcmdpbnMsImdldCIpLHNldDppKChGLG5lKT0+e0YucmVzb2x2ZWRNYXJnaW5zPW5lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LEcsVyksX3IodGhpcyxudWxsLHNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicHJldmlld1dpZGdldHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+InByZXZpZXdXaWRnZXRzImluIEYsImhhcyIpLGdldDppKEY9PkYucHJldmlld1dpZGdldHMsImdldCIpLHNldDppKChGLG5lKT0+e0YucHJldmlld1dpZGdldHM9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0semUsTWUpLF9yKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlZ9LG51bGwsYSksRWU9cj1lLnZhbHVlLFYmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Vn0pfXN0YXRpYyBkZW1vPV9RdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCJdO3N0YXRpYyBzdHlsZXM9TFF0OyNlPXBhKHRoaXMsbyxbXSk7Z2V0IHdpZGdldHMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgd2lkZ2V0cyhWKXt0aGlzLiNlPVZ9I3Q9KHBhKHRoaXMsbCkscGEodGhpcyx1LDgwKSk7Z2V0IGNlbGxIZWlnaHQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY2VsbEhlaWdodChWKXt0aGlzLiN0PVZ9I2E9KHBhKHRoaXMsZikscGEodGhpcyxnLDEwKSk7Z2V0IG1hcmdpbigpe3JldHVybiB0aGlzLiNhfXNldCBtYXJnaW4oVil7dGhpcy4jYT1WfSNyPShwYSh0aGlzLHYpLHBhKHRoaXMsYiwxMikpO2dldCBjb2x1bW5zKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGNvbHVtbnMoVil7dGhpcy4jcj1WfSNpPShwYSh0aGlzLG0pLHBhKHRoaXMsTSwhMCkpO2dldCBlZGl0YWJsZSgpe3JldHVybiB0aGlzLiNpfXNldCBlZGl0YWJsZShWKXt0aGlzLiNpPVZ9I3M9KHBhKHRoaXMsaykscGEodGhpcyxfLCEwKSk7Z2V0IGVuYWJsZUFuaW1hdGlvbigpe3JldHVybiB0aGlzLiNzfXNldCBlbmFibGVBbmltYXRpb24oVil7dGhpcy4jcz1WfSNvPShwYSh0aGlzLEMpLHBhKHRoaXMsJCwicHgiKSk7Z2V0IGNlbGxIZWlnaHRVbml0KCl7cmV0dXJuIHRoaXMuI299c2V0IGNlbGxIZWlnaHRVbml0KFYpe3RoaXMuI289Vn0jbj0ocGEodGhpcyxJKSxwYSh0aGlzLFMsITEpKTtnZXQgcnRsKCl7cmV0dXJuIHRoaXMuI259c2V0IHJ0bChWKXt0aGlzLiNuPVZ9I2w9KHBhKHRoaXMseikscGEodGhpcyxULCExKSk7Z2V0IHNob3dHcmlkTGluZXMoKXtyZXR1cm4gdGhpcy4jbH1zZXQgc2hvd0dyaWRMaW5lcyhWKXt0aGlzLiNsPVZ9I2M9KHBhKHRoaXMsQSkscGEodGhpcyxSLHZvaWQgMCkpO2dldCBsYXlvdXRzKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGxheW91dHMoVil7dGhpcy4jYz1WfSNkPShwYSh0aGlzLHEpLHBhKHRoaXMsTywiYmFzZSIpKTtnZXQgYWN0aXZlQnJlYWtwb2ludCgpe3JldHVybiB0aGlzLiNkfXNldCBhY3RpdmVCcmVha3BvaW50KFYpe3RoaXMuI2Q9Vn0jcD0ocGEodGhpcyxyZSkscGEodGhpcyxCLG51bGwpKTtnZXQgcGxhY2Vob2xkZXJQb3NpdGlvbigpe3JldHVybiB0aGlzLiNwfXNldCBwbGFjZWhvbGRlclBvc2l0aW9uKFYpe3RoaXMuI3A9Vn0jdT0ocGEodGhpcyxlZSkscGEodGhpcyxZLG51bGwpKTtnZXQgbWV0cmljcygpe3JldHVybiB0aGlzLiN1fXNldCBtZXRyaWNzKFYpe3RoaXMuI3U9Vn0jZj0ocGEodGhpcyxQKSxwYSh0aGlzLEcsbnVsbCkpO2dldCByZXNvbHZlZE1hcmdpbnMoKXtyZXR1cm4gdGhpcy4jZn1zZXQgcmVzb2x2ZWRNYXJnaW5zKFYpe3RoaXMuI2Y9Vn0jaD0ocGEodGhpcyxXKSxwYSh0aGlzLHplLG51bGwpKTtnZXQgcHJldmlld1dpZGdldHMoKXtyZXR1cm4gdGhpcy4jaH1zZXQgcHJldmlld1dpZGdldHMoVil7dGhpcy4jaD1WfWNvbnRhaW5lckJvdW5kcz0ocGEodGhpcyxNZSksbnVsbCk7ZHJhZ1N0YXRlPW51bGw7cmVzaXplU3RhdGU9bnVsbDtyZXNpemVPYnNlcnZlcjtpbnRlcmFjdGlvbkFjdGl2ZT0hMTthc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5jb21wdXRlTWV0cmljcygpLHRoaXMub2JzZXJ2ZVJlc2l6ZSgpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmRpc2Nvbm5lY3RSZXNpemVPYnNlcnZlcigpLHRoaXMucmVsZWFzZVBvaW50ZXJFdmVudHMoKX11cGRhdGVkKFYpeyhWLmhhcygibWFyZ2luIil8fFYuaGFzKCJjb2x1bW5zIil8fFYuaGFzKCJjZWxsSGVpZ2h0Iil8fFYuaGFzKCJjZWxsSGVpZ2h0VW5pdCIpKSYmdGhpcy5jb21wdXRlTWV0cmljcygpLFYuaGFzKCJ3aWRnZXRzIikmJiF0aGlzLmludGVyYWN0aW9uQWN0aXZlJiZ0aGlzLm5vdGlmeUxheW91dENoYW5nZSgpfXJlbmRlcigpe2xldCBWPXRoaXMud2lkZ2V0cztpZihWLmxlbmd0aD09PTApcmV0dXJuIHdgCiAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6bGF5b3V0R3JpZCJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgPGRpdj5ObyB3aWRnZXRzIGNvbmZpZ3VyZWQ8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTRweDsgbWFyZ2luLXRvcDogOHB4OyI+QWRkIHdpZGdldHMgdG8gcG9wdWxhdGUgdGhlIGRhc2hib2FyZDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgO2xldCBGPXRoaXMuZW5zdXJlTWV0cmljcygpLG5lPXRoaXMucmVzb2x2ZWRNYXJnaW5zPz94QmUodGhpcy5tYXJnaW4pLHRlPUYuY2VsbEhlaWdodFB4LEs9dGhpcy5wcmV2aWV3V2lkZ2V0cz8/dGhpcy53aWRnZXRzLGtlPUVRdChLLG5lLHRlKSx2ZT10aGlzLnByZXZpZXdXaWRnZXRzP25ldyBNYXAodGhpcy5wcmV2aWV3V2lkZ2V0cy5tYXAoZGU9PltkZS5pZCxkZV0pKTpudWxsO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJncmlkLWNvbnRhaW5lciIgc3R5bGU9ImhlaWdodDogJHtrZX1weDsiPgogICAgICAgICR7dGhpcy5zaG93R3JpZExpbmVzP3RoaXMucmVuZGVyR3JpZExpbmVzKEYsa2UpOm51bGx9CiAgICAgICAgJHtWLm1hcChkZT0+dGhpcy5yZW5kZXJXaWRnZXQoZGUsRixuZSx2ZSkpfQogICAgICAgICR7dGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uP3RoaXMucmVuZGVyUGxhY2Vob2xkZXIoRixuZSk6bnVsbH0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckdyaWRMaW5lcyhWLEYpe2xldCBuZT1bXSx0ZT1bXSxLPVYuY2VsbFdpZHRoUHgrVi5tYXJnaW5Ib3Jpem9udGFsUHgsa2U9Vi5jZWxsSGVpZ2h0UHgrVi5tYXJnaW5WZXJ0aWNhbFB4O2ZvcihsZXQgZGU9MDtkZTw9dGhpcy5jb2x1bW5zO2RlKyspe2xldCAkZT1kZSpLK1YubWFyZ2luSG9yaXpvbnRhbFB4LFZlPXRoaXMucHhUb1BlcmNlbnQoJGUsVi5jb250YWluZXJXaWR0aCk7bmUucHVzaCh3YDxkaXYgY2xhc3M9ImdyaWQtbGluZS12ZXJ0aWNhbCIgc3R5bGU9ImxlZnQ6ICR7VmV9JTsiPjwvZGl2PmApfWxldCB2ZT1NYXRoLmNlaWwoRi9rZSk7Zm9yKGxldCBkZT0wO2RlPD12ZTtkZSsrKXtsZXQgJGU9ZGUqa2U7dGUucHVzaCh3YDxkaXYgY2xhc3M9ImdyaWQtbGluZS1ob3Jpem9udGFsIiBzdHlsZT0idG9wOiAkeyRlfXB4OyI+PC9kaXY+YCl9cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQtbGluZXMiPgogICAgICAgICR7bmV9CiAgICAgICAgJHt0ZX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlcldpZGdldChWLEYsbmUsdGUpe2xldCBLPXRoaXMuZHJhZ1N0YXRlPy53aWRnZXRJZD09PVYuaWQsa2U9dGhpcy5yZXNpemVTdGF0ZT8ud2lkZ2V0SWQ9PT1WLmlkLHZlPVYubG9ja2VkfHwhdGhpcy5lZGl0YWJsZSxkZT10ZT8uZ2V0KFYuaWQpPz9udWxsLCRlPUs/VjpkZT8/VixWZT10aGlzLmNvbXB1dGVXaWRnZXRSZWN0KCRlLEYsbmUpLFFlPXRoaXMucnRsPyJyaWdodCI6ImxlZnQiLFRlPXRoaXMucHhUb1BlcmNlbnQoVmUubGVmdCxGLmNvbnRhaW5lcldpZHRoKSxsZT10aGlzLnB4VG9QZXJjZW50KFZlLndpZHRoLEYuY29udGFpbmVyV2lkdGgpLGZlPSIiO2lmKEsmJnRoaXMuZHJhZ1N0YXRlPy5jdXJyZW50UG9pbnRlcil7bGV0IFNlPXRoaXMuZHJhZ1N0YXRlLmN1cnJlbnRQb2ludGVyLEhlPXRoaXMuY29udGFpbmVyQm91bmRzPz90aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEtlPVNlLmNsaWVudFgtSGUubGVmdC10aGlzLmRyYWdTdGF0ZS5vZmZzZXRYLVZlLmxlZnQsa3Q9U2UuY2xpZW50WS1IZS50b3AtdGhpcy5kcmFnU3RhdGUub2Zmc2V0WS1WZS50b3A7ZmU9YHRyYW5zZm9ybTogdHJhbnNsYXRlKCR7S2V9cHgsICR7a3R9cHgpO2B9cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iZ3JpZC13aWRnZXQgJHtLPyJkcmFnZ2luZyI6IiJ9ICR7a2U/InJlc2l6aW5nIjoiIn0iCiAgICAgICAgc3R5bGU9IgogICAgICAgICAgJHtRZX06ICR7VGV9JTsKICAgICAgICAgIHRvcDogJHtWZS50b3B9cHg7CiAgICAgICAgICB3aWR0aDogJHtsZX0lOwogICAgICAgICAgaGVpZ2h0OiAke1ZlLmhlaWdodH1weDsKICAgICAgICAgICR7ZmV9CiAgICAgICAgIgogICAgICAgIGRhdGEtd2lkZ2V0LWlkPSR7Vi5pZH0KICAgICAgPgogICAgICAgIDxkaXYgY2xhc3M9IndpZGdldC1jb250ZW50Ij4KICAgICAgICAgICR7Vi50aXRsZT93YAogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBjbGFzcz0id2lkZ2V0LWhlYWRlciAke3ZlPyJsb2NrZWQiOiIifSIKICAgICAgICAgICAgICAgICAgQHBvaW50ZXJkb3duPSR7IXZlJiYhVi5ub01vdmU/U2U9PnRoaXMuc3RhcnREcmFnKFNlLFYpOm51bGx9CiAgICAgICAgICAgICAgICAgIEBjb250ZXh0bWVudT0ke1NlPT50aGlzLmhhbmRsZVdpZGdldENvbnRleHRNZW51KFNlLFYpfQogICAgICAgICAgICAgICAgICB0YWJpbmRleD0keyF2ZSYmIVYubm9Nb3ZlPzA6LTF9CiAgICAgICAgICAgICAgICAgIEBrZXlkb3duPSR7U2U9PnRoaXMuaGFuZGxlSGVhZGVyS2V5ZG93bihTZSxWKX0KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgJHtWLmljb24/d2A8ZGVlcy1pY29uIC5pY29uPSR7Vi5pY29ufT48L2RlZXMtaWNvbj5gOm51bGx9CiAgICAgICAgICAgICAgICAgICR7Vi50aXRsZX0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6bnVsbH0KICAgICAgICAgIDxkaXYgY2xhc3M9IndpZGdldC1ib2R5ICR7Vi50aXRsZT8iaGFzLWhlYWRlciI6IiJ9Ij4KICAgICAgICAgICAgJHtWLmNvbnRlbnR9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7IXZlJiYhVi5ub1Jlc2l6ZT93YAogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBjbGFzcz0icmVzaXplLWhhbmRsZSByZXNpemUtaGFuZGxlLWUiCiAgICAgICAgICAgICAgICAgIEBwb2ludGVyZG93bj0ke1NlPT50aGlzLnN0YXJ0UmVzaXplKFNlLFYsImUiKX0KICAgICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgY2xhc3M9InJlc2l6ZS1oYW5kbGUgcmVzaXplLWhhbmRsZS1zIgogICAgICAgICAgICAgICAgICBAcG9pbnRlcmRvd249JHtTZT0+dGhpcy5zdGFydFJlc2l6ZShTZSxWLCJzIil9CiAgICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJyZXNpemUtaGFuZGxlIHJlc2l6ZS1oYW5kbGUtc2UiCiAgICAgICAgICAgICAgICAgIEBwb2ludGVyZG93bj0ke1NlPT50aGlzLnN0YXJ0UmVzaXplKFNlLFYsInNlIil9CiAgICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgICAgYDpudWxsfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyUGxhY2Vob2xkZXIoVixGKXtpZighdGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uKXJldHVybiB3YGA7bGV0IG5lPXRoaXMuY29tcHV0ZVdpZGdldFJlY3QodGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uLFYsRiksdGU9dGhpcy5ydGw/InJpZ2h0IjoibGVmdCIsSz10aGlzLnB4VG9QZXJjZW50KG5lLmxlZnQsVi5jb250YWluZXJXaWR0aCksa2U9dGhpcy5weFRvUGVyY2VudChuZS53aWR0aCxWLmNvbnRhaW5lcldpZHRoKTtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJncmlkLXdpZGdldCBwbGFjZWhvbGRlciIKICAgICAgICBzdHlsZT0iCiAgICAgICAgICAke3RlfTogJHtLfSU7CiAgICAgICAgICB0b3A6ICR7bmUudG9wfXB4OwogICAgICAgICAgd2lkdGg6ICR7a2V9JTsKICAgICAgICAgIGhlaWdodDogJHtuZS5oZWlnaHR9cHg7CiAgICAgICAgIgogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0LWNvbnRlbnQiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9c3RhcnREcmFnKFYsRil7aWYoIXRoaXMuZWRpdGFibGV8fEYubm9Nb3ZlfHxGLmxvY2tlZClyZXR1cm47Vi5wcmV2ZW50RGVmYXVsdCgpLFYuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IG5lPVYuY3VycmVudFRhcmdldC5jbG9zZXN0KCIuZ3JpZC13aWRnZXQiKTtpZighbmUpcmV0dXJuO2xldCB0ZT1uZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLmNvbnRhaW5lckJvdW5kcz10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHRoaXMuZW5zdXJlTWV0cmljcygpLHRoaXMuZHJhZ1N0YXRlPXt3aWRnZXRJZDpGLmlkLHBvaW50ZXJJZDpWLnBvaW50ZXJJZCxvZmZzZXRYOlYuY2xpZW50WC10ZS5sZWZ0LG9mZnNldFk6Vi5jbGllbnRZLXRlLnRvcCxzdGFydDp7aWQ6Ri5pZCx4OkYueCx5OkYueSx3OkYudyxoOkYuaH0scHJldmlvdXNQb3NpdGlvbjp7aWQ6Ri5pZCx4OkYueCx5OkYueSx3OkYudyxoOkYuaH0sY3VycmVudFBvaW50ZXI6e2NsaWVudFg6Vi5jbGllbnRYLGNsaWVudFk6Vi5jbGllbnRZfSxsYXN0UGxhY2VtZW50Om51bGx9LHRoaXMuaW50ZXJhY3Rpb25BY3RpdmU9ITAsVi5jdXJyZW50VGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKFYucG9pbnRlcklkKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdGhpcy5oYW5kbGVEcmFnTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIix0aGlzLmhhbmRsZURyYWdFbmQpLHRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj17aWQ6Ri5pZCx4OkYueCx5OkYueSx3OkYudyxoOkYuaH19aGFuZGxlRHJhZ01vdmU9aShWPT57aWYoIXRoaXMuZHJhZ1N0YXRlKXJldHVybjtsZXQgRj10aGlzLmVuc3VyZU1ldHJpY3MoKSxuZT10aGlzLndpZGdldHMsdGU9bmUuZmluZChkZT0+ZGUuaWQ9PT10aGlzLmRyYWdTdGF0ZS53aWRnZXRJZCk7aWYoIXRlKXJldHVybjtWLnByZXZlbnREZWZhdWx0KCk7bGV0IEs9dGhpcy5kcmFnU3RhdGUucHJldmlvdXNQb3NpdGlvbixrZT1GUXQoe3BvaW50ZXI6e2NsaWVudFg6Vi5jbGllbnRYLGNsaWVudFk6Vi5jbGllbnRZfSxjb250YWluZXJSZWN0OnRoaXMuY29udGFpbmVyQm91bmRzPz90aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG1ldHJpY3M6Rixjb2x1bW5zOnRoaXMuY29sdW1ucyx3aWRnZXQ6dGUscnRsOnRoaXMucnRsLGRyYWdPZmZzZXRYOnRoaXMuZHJhZ1N0YXRlLm9mZnNldFgsZHJhZ09mZnNldFk6dGhpcy5kcmFnU3RhdGUub2Zmc2V0WX0pLHZlPXZsKG5lLHRlLmlkLHt4OmtlLngseTprZS55fSx0aGlzLmNvbHVtbnMsSyk7aWYodmUpe2xldCBkZT12ZS53aWRnZXRzLmZpbmQoVmU9PlZlLmlkPT09dGUuaWQpO3RoaXMuZHJhZ1N0YXRlPXsuLi50aGlzLmRyYWdTdGF0ZSxjdXJyZW50UG9pbnRlcjp7Y2xpZW50WDpWLmNsaWVudFgsY2xpZW50WTpWLmNsaWVudFl9LGxhc3RQbGFjZW1lbnQ6dmUscHJldmlvdXNQb3NpdGlvbjpkZT97aWQ6ZGUuaWQseDpkZS54LHk6ZGUueSx3OmRlLncsaDpkZS5ofTp7aWQ6dGUuaWQseDprZS54LHk6a2UueSx3OnRlLncsaDp0ZS5ofX0sdGhpcy5wcmV2aWV3V2lkZ2V0cz12ZS53aWRnZXRzO2xldCAkZT12ZS53aWRnZXRzLmZpbmQoVmU9PlZlLmlkPT09dGUuaWQpOyRlP3RoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj17aWQ6JGUuaWQseDokZS54LHk6JGUueSx3OiRlLncsaDokZS5ofTp0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249e2lkOnRlLmlkLHg6a2UueCx5OmtlLnksdzp0ZS53LGg6dGUuaH19ZWxzZSB0aGlzLnByZXZpZXdXaWRnZXRzPW51bGwsdGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPW51bGw7dGhpcy5yZXF1ZXN0VXBkYXRlKCl9LCJoYW5kbGVEcmFnTW92ZSIpO2hhbmRsZURyYWdFbmQ9aShWPT57bGV0IEY9dGhpcy5kcmFnU3RhdGU7aWYoIUZ8fFYucG9pbnRlcklkIT09Ri5wb2ludGVySWQpcmV0dXJuO2xldCBuZT10aGlzLndpZGdldHM7dGhpcy5wcmV2aWV3V2lkZ2V0cz1udWxsO2xldCB0ZT10aGlzLnBsYWNlaG9sZGVyUG9zaXRpb24/P0Yuc3RhcnQsSz12bChuZSxGLndpZGdldElkLHt4OnRlLngseTp0ZS55fSx0aGlzLmNvbHVtbnMsRi5wcmV2aW91c1Bvc2l0aW9uKTtpZihLKXtsZXQga2U9Sy53aWRnZXRzLmZpbmQodmU9PnZlLmlkPT09Ri53aWRnZXRJZCk7a2UmJihLLndpZGdldHMuc29tZShkZT0+ZGUuaWQ9PT1GLndpZGdldElkPyExOmtlLng8ZGUueCtkZS53JiZrZS54K2tlLnc+ZGUueCYma2UueTxkZS55K2RlLmgmJmtlLnkra2UuaD5kZS55KT90aGlzLndpZGdldHM9dGhpcy53aWRnZXRzLm1hcChkZT0+ZGUuaWQ9PT1GLndpZGdldElkP3suLi5kZSx4OkYuc3RhcnQueCx5OkYuc3RhcnQueX06ZGUpOnRoaXMuY29tbWl0UGxhY2VtZW50KEssRi53aWRnZXRJZCwid2lkZ2V0LW1vdmUiKSl9ZWxzZSB0aGlzLndpZGdldHM9dGhpcy53aWRnZXRzLm1hcChrZT0+a2UuaWQ9PT1GLndpZGdldElkP3suLi5rZSx4OkYuc3RhcnQueCx5OkYuc3RhcnQueX06a2UpO3RoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj1udWxsLHRoaXMuZHJhZ1N0YXRlPW51bGwsdGhpcy5pbnRlcmFjdGlvbkFjdGl2ZT0hMSx0aGlzLnJlbGVhc2VQb2ludGVyRXZlbnRzKCl9LCJoYW5kbGVEcmFnRW5kIik7c3RhcnRSZXNpemUoVixGLG5lKXshdGhpcy5lZGl0YWJsZXx8Ri5ub1Jlc2l6ZXx8Ri5sb2NrZWR8fChWLnByZXZlbnREZWZhdWx0KCksVi5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmVuc3VyZU1ldHJpY3MoKSx0aGlzLnJlc2l6ZVN0YXRlPXt3aWRnZXRJZDpGLmlkLHBvaW50ZXJJZDpWLnBvaW50ZXJJZCxoYW5kbGVyOm5lLHN0YXJ0UG9pbnRlcjp7Y2xpZW50WDpWLmNsaWVudFgsY2xpZW50WTpWLmNsaWVudFl9LHN0YXJ0OntpZDpGLmlkLHg6Ri54LHk6Ri55LHc6Ri53LGg6Ri5ofSxzdGFydFdpZHRoOkYudyxzdGFydEhlaWdodDpGLmgsbGFzdFBsYWNlbWVudDpudWxsfSx0aGlzLmludGVyYWN0aW9uQWN0aXZlPSEwLFYuY3VycmVudFRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShWLnBvaW50ZXJJZCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHRoaXMuaGFuZGxlUmVzaXplTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIix0aGlzLmhhbmRsZVJlc2l6ZUVuZCksdGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPXtpZDpGLmlkLHg6Ri54LHk6Ri55LHc6Ri53LGg6Ri5ofSl9aGFuZGxlUmVzaXplTW92ZT1pKFY9PntpZighdGhpcy5yZXNpemVTdGF0ZSlyZXR1cm47bGV0IEY9dGhpcy5lbnN1cmVNZXRyaWNzKCksbmU9dGhpcy53aWRnZXRzLHRlPW5lLmZpbmQodmU9PnZlLmlkPT09dGhpcy5yZXNpemVTdGF0ZS53aWRnZXRJZCk7aWYoIXRlKXJldHVybjtWLnByZXZlbnREZWZhdWx0KCk7bGV0IEs9T1F0KHtwb2ludGVyOntjbGllbnRYOlYuY2xpZW50WCxjbGllbnRZOlYuY2xpZW50WX0sY29udGFpbmVyUmVjdDp0aGlzLmNvbnRhaW5lckJvdW5kcz8/dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxtZXRyaWNzOkYsc3RhcnRXaWR0aDp0aGlzLnJlc2l6ZVN0YXRlLnN0YXJ0V2lkdGgsc3RhcnRIZWlnaHQ6dGhpcy5yZXNpemVTdGF0ZS5zdGFydEhlaWdodCxzdGFydFBvaW50ZXI6dGhpcy5yZXNpemVTdGF0ZS5zdGFydFBvaW50ZXIsaGFuZGxlcjp0aGlzLnJlc2l6ZVN0YXRlLmhhbmRsZXIsd2lkZ2V0OnRlLGNvbHVtbnM6dGhpcy5jb2x1bW5zfSksa2U9dmwobmUsdGUuaWQse3g6dGUueCx5OnRlLnksdzpLLndpZHRoLGg6Sy5oZWlnaHR9LHRoaXMuY29sdW1ucyx0aGlzLnJlc2l6ZVN0YXRlLnN0YXJ0KTtpZihrZSl7dGhpcy5yZXNpemVTdGF0ZT17Li4udGhpcy5yZXNpemVTdGF0ZSxsYXN0UGxhY2VtZW50OmtlfSx0aGlzLnByZXZpZXdXaWRnZXRzPWtlLndpZGdldHM7bGV0IHZlPWtlLndpZGdldHMuZmluZChkZT0+ZGUuaWQ9PT10ZS5pZCk7dmU/dGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPXtpZDp2ZS5pZCx4OnZlLngseTp2ZS55LHc6dmUudyxoOnZlLmh9OnRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj17aWQ6dGUuaWQseDp0ZS54LHk6dGUueSx3Oksud2lkdGgsaDpLLmhlaWdodH19ZWxzZSB0aGlzLnByZXZpZXdXaWRnZXRzPW51bGwsdGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPW51bGw7dGhpcy5yZXF1ZXN0VXBkYXRlKCl9LCJoYW5kbGVSZXNpemVNb3ZlIik7aGFuZGxlUmVzaXplRW5kPWkoVj0+e2xldCBGPXRoaXMucmVzaXplU3RhdGU7aWYoIUZ8fFYucG9pbnRlcklkIT09Ri5wb2ludGVySWQpcmV0dXJuO2xldCBuZT10aGlzLndpZGdldHM7dGhpcy5wcmV2aWV3V2lkZ2V0cz1udWxsO2xldCB0ZT1GLmxhc3RQbGFjZW1lbnQ/P3ZsKG5lLEYud2lkZ2V0SWQse3g6dGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPy54Pz9GLnN0YXJ0LngseTp0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb24/Lnk/P0Yuc3RhcnQueSx3OnRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj8udz8/Ri5zdGFydC53LGg6dGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPy5oPz9GLnN0YXJ0Lmh9LHRoaXMuY29sdW1ucyxGLnN0YXJ0KTt0ZT90aGlzLmNvbW1pdFBsYWNlbWVudCh0ZSxGLndpZGdldElkLCJ3aWRnZXQtcmVzaXplIik6dGhpcy53aWRnZXRzPXRoaXMud2lkZ2V0cy5tYXAoSz0+Sy5pZD09PUYud2lkZ2V0SWQ/ey4uLkssdzpGLnN0YXJ0LncsaDpGLnN0YXJ0Lmh9OkspLHRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj1udWxsLHRoaXMucmVzaXplU3RhdGU9bnVsbCx0aGlzLmludGVyYWN0aW9uQWN0aXZlPSExLHRoaXMucmVsZWFzZVBvaW50ZXJFdmVudHMoKX0sImhhbmRsZVJlc2l6ZUVuZCIpO2hhbmRsZUhlYWRlcktleWRvd24oVixGKXtpZighdGhpcy5lZGl0YWJsZXx8Ri5ub01vdmV8fEYubG9ja2VkKXJldHVybjtsZXQgbmU9Vi5rZXksdGU9Vi5zaGlmdEtleSxLPW51bGw7aWYodGUmJlsiQXJyb3dMZWZ0IiwiQXJyb3dSaWdodCIsIkFycm93VXAiLCJBcnJvd0Rvd24iXS5pbmNsdWRlcyhuZSkpe1YucHJldmVudERlZmF1bHQoKTtsZXQgVmU9bmU9PT0iQXJyb3dSaWdodCJ8fG5lPT09IkFycm93RG93biI/MTotMTtpZihuZT09PSJBcnJvd0xlZnQifHxuZT09PSJBcnJvd1JpZ2h0Iil7bGV0IFFlPUYubWF4Vz8/dGhpcy5jb2x1bW5zLUYueCxUZT1NYXRoLm1heChGLm1pblc/PzEsTWF0aC5taW4oUWUsRi53K1ZlKSk7Sz12bCh0aGlzLndpZGdldHMsRi5pZCx7eDpGLngseTpGLnksdzpUZSxoOkYuaH0sdGhpcy5jb2x1bW5zKX1lbHNle2xldCBRZT1GLm1heEg/P051bWJlci5QT1NJVElWRV9JTkZJTklUWSxUZT1NYXRoLm1heChGLm1pbkg/PzEsTWF0aC5taW4oUWUsRi5oK1ZlKSk7Sz12bCh0aGlzLndpZGdldHMsRi5pZCx7eDpGLngseTpGLnksdzpGLncsaDpUZX0sdGhpcy5jb2x1bW5zKX1LJiZ0aGlzLmNvbW1pdFBsYWNlbWVudChLLEYuaWQsIndpZGdldC1yZXNpemUiKTtyZXR1cm59bGV0IHZlPXtBcnJvd0xlZnQ6e2R4Oi0xLGR5OjB9LEFycm93UmlnaHQ6e2R4OjEsZHk6MH0sQXJyb3dVcDp7ZHg6MCxkeTotMX0sQXJyb3dEb3duOntkeDowLGR5OjF9fVtuZV07aWYoIXZlKXJldHVybjtWLnByZXZlbnREZWZhdWx0KCk7bGV0IGRlPU1hdGgubWF4KDAsTWF0aC5taW4odGhpcy5jb2x1bW5zLUYudyxGLngrdmUuZHgpKSwkZT1NYXRoLm1heCgwLEYueSt2ZS5keSk7Sz12bCh0aGlzLndpZGdldHMsRi5pZCx7eDpkZSx5OiRlfSx0aGlzLmNvbHVtbnMpLEsmJnRoaXMuY29tbWl0UGxhY2VtZW50KEssRi5pZCwid2lkZ2V0LW1vdmUiKX1oYW5kbGVXaWRnZXRDb250ZXh0TWVudShWLEYpe1YucHJldmVudERlZmF1bHQoKSxWLnN0b3BQcm9wYWdhdGlvbigpLEhRdCh7d2lkZ2V0OkYsaG9zdDp0aGlzLGV2ZW50OlZ9KX1jb21taXRQbGFjZW1lbnQoVixGLG5lKXt0aGlzLnByZXZpZXdXaWRnZXRzPW51bGwsdGhpcy53aWRnZXRzPVYud2lkZ2V0cztsZXQgdGU9dGhpcy53aWRnZXRzLmZpbmQoSz0+Sy5pZD09PUYpO3RlJiZ0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KG5lLHtkZXRhaWw6e3dpZGdldDp0ZSxkaXNwbGFjZWQ6Vi5tb3ZlZFdpZGdldHMuZmlsdGVyKEs9PkshPT1GKSxzd2FwcGVkV2l0aDpWLnN3YXBwZWRXaXRofSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfXJlbW92ZVdpZGdldChWKXtsZXQgRj10aGlzLndpZGdldHMuZmluZChuZT0+bmUuaWQ9PT1WKTtGJiYodGhpcy53aWRnZXRzPXRoaXMud2lkZ2V0cy5maWx0ZXIobmU9Pm5lLmlkIT09ViksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgid2lkZ2V0LXJlbW92ZSIse2RldGFpbDp7d2lkZ2V0OkZ9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSkpfXVwZGF0ZVdpZGdldChWLEYpe3RoaXMud2lkZ2V0cz10aGlzLndpZGdldHMubWFwKG5lPT5uZS5pZD09PVY/ey4uLm5lLC4uLkZ9Om5lKX1nZXRMYXlvdXQoKXtyZXR1cm4gdGhpcy53aWRnZXRzLm1hcCgoe2lkOlYseDpGLHk6bmUsdzp0ZSxoOkt9KT0+KHtpZDpWLHg6Rix5Om5lLHc6dGUsaDpLfSkpfXNldExheW91dChWKXt0aGlzLndpZGdldHM9TlF0KHRoaXMud2lkZ2V0cyxWKX1sb2NrR3JpZCgpe3RoaXMuZWRpdGFibGU9ITF9dW5sb2NrR3JpZCgpe3RoaXMuZWRpdGFibGU9ITB9YWRkV2lkZ2V0KFYsRj0hMSl7bGV0IG5lPXsuLi5WfTtpZihGfHxuZS5hdXRvUG9zaXRpb24pe2xldCB0ZT15QmUodGhpcy53aWRnZXRzLG5lLncsbmUuaCx0aGlzLmNvbHVtbnMpO25lLng9dGUueCxuZS55PXRlLnl9dGhpcy53aWRnZXRzPVsuLi50aGlzLndpZGdldHMsbmVdfWNvbXBhY3QoVj0idmVydGljYWwiKXtsZXQgRj10aGlzLndpZGdldHMubWFwKG5lPT4oey4uLm5lfSkpO0lRdChGLFYpLHRoaXMud2lkZ2V0cz1GfWFwcGx5QnJlYWtwb2ludExheW91dChWKXt0aGlzLmFjdGl2ZUJyZWFrcG9pbnQ9VjtsZXQgRj10aGlzLmxheW91dHM/LltWXTtGJiZ0aGlzLnNldExheW91dChGKX1ub3RpZnlMYXlvdXRDaGFuZ2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJsYXlvdXQtY2hhbmdlIix7ZGV0YWlsOntsYXlvdXQ6dGhpcy5nZXRMYXlvdXQoKX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1lbnN1cmVNZXRyaWNzKCl7cmV0dXJuIHRoaXMubWV0cmljc3x8dGhpcy5jb21wdXRlTWV0cmljcygpLHRoaXMubWV0cmljc31jb21wdXRlTWV0cmljcygpe2lmKCF0aGlzLmlzQ29ubmVjdGVkKXJldHVybjtsZXQgVj10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuY29udGFpbmVyQm91bmRzPVY7bGV0IEY9eEJlKHRoaXMubWFyZ2luKTt0aGlzLnJlc29sdmVkTWFyZ2lucz1GLHRoaXMubWV0cmljcz1QUXQoVi53aWR0aCx0aGlzLmNvbHVtbnMsRix0aGlzLmNlbGxIZWlnaHQsdGhpcy5jZWxsSGVpZ2h0VW5pdCl9b2JzZXJ2ZVJlc2l6ZSgpe3RoaXMucmVzaXplT2JzZXJ2ZXJ8fCh0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMuY29tcHV0ZU1ldHJpY3MoKX0pLHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzKSl9ZGlzY29ubmVjdFJlc2l6ZU9ic2VydmVyKCl7dGhpcy5yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9dm9pZCAwfXJlbGVhc2VQb2ludGVyRXZlbnRzKCl7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHRoaXMuaGFuZGxlRHJhZ01vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsdGhpcy5oYW5kbGVEcmFnRW5kKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdGhpcy5oYW5kbGVSZXNpemVNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHRoaXMuaGFuZGxlUmVzaXplRW5kKX1weFRvUGVyY2VudChWLEYpe3JldHVybiBGP051bWJlcigoVi9GKjEwMCkudG9GaXhlZCg0KSk6MH1jb21wdXRlV2lkZ2V0UmVjdChWLEYsbmUpe2xldCB0ZT1GLmNlbGxXaWR0aFB4LEs9Ri5jZWxsSGVpZ2h0UHgsa2U9Vi54Kih0ZStuZS5ob3Jpem9udGFsKStuZS5ob3Jpem9udGFsLHZlPVYueSooSytuZS52ZXJ0aWNhbCkrbmUudmVydGljYWwsZGU9Vi53KnRlK01hdGgubWF4KDAsVi53LTEpKm5lLmhvcml6b250YWwsJGU9Vi5oKksrTWF0aC5tYXgoMCxWLmgtMSkqbmUudmVydGljYWw7cmV0dXJue2xlZnQ6a2UsdG9wOnZlLHdpZHRoOmRlLGhlaWdodDokZX19c3RhdGlje3BhKHIsYSl9fTtyZXR1cm4gRWU9cn0pKCl9KTt2YXIgVVF0PWMoKCk9PntqUXQoKX0pO2Z1bmN0aW9uIFdRdCgpe3JldHVybiB3YAogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iMSI+VGhpcyBpcyBhIEgxIGhlYWRpbmc8L2RlZXMtaGVhZGluZz4KICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9IjIiPlRoaXMgaXMgYSBIMiBoZWFkaW5nPC9kZWVzLWhlYWRpbmc+CiAgICA8ZGVlcy1oZWFkaW5nIGxldmVsPSIzIj5UaGlzIGlzIGEgSDMgaGVhZGluZzwvZGVlcy1oZWFkaW5nPgogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iNCI+VGhpcyBpcyBhIEg0IGhlYWRpbmc8L2RlZXMtaGVhZGluZz4KICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9IjUiPlRoaXMgaXMgYSBINSBoZWFkaW5nPC9kZWVzLWhlYWRpbmc+CiAgICA8ZGVlcy1oZWFkaW5nIGxldmVsPSI2Ij5UaGlzIGlzIGEgSDYgaGVhZGluZzwvZGVlcy1oZWFkaW5nPgogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iaHIiPlRoaXMgaXMgYW4gaHIgaGVhZGluZzwvZGVlcy1oZWFkaW5nPgogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iaHItc21hbGwiPlRoaXMgaXMgYW4gaHIgc21hbGwgaGVhZGluZzwvZGVlcy1oZWFkaW5nPgogIGB9dmFyIEdRdD1jKCgpPT57cGUoKTtpKFdRdCwiZGVtb0Z1bmMiKX0pO3ZhciBZUXQsd0JlLFpRdCxYUXQ9YygoKT0+e3BlKCk7R1F0KCk7SXIoKTtYZSgpO1lRdD1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sd0JlPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxaUXQ9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLWhlYWRpbmciKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXTt2YXIgaD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0hlYWRpbmciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgdT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLFlRdCh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxldmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGY9PiJsZXZlbCJpbiBmLCJoYXMiKSxnZXQ6aShmPT5mLmxldmVsLCJnZXQiKSxzZXQ6aSgoZixwKT0+e2YubGV2ZWw9cH0sInNldCIpfSxtZXRhZGF0YTp1fSxvLGwpLFlRdChudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTp1fSxudWxsLGEpLGg9cj1lLnZhbHVlLHUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dX0pfXN0YXRpYyBkZW1vPVdRdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCJdOyNlPXdCZSh0aGlzLG8sIjEiKTtnZXQgbGV2ZWwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbGV2ZWwodSl7dGhpcy4jZT11fXN0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICAvKiBIZWFkaW5nIHN0eWxlcyAqLwogICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsKICAgICAgICBtYXJnaW46IDE2cHggMCA4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwMDAiLCIjZmZmIil9OwogICAgICB9CiAgICAgIGgxIHsgZm9udC1zaXplOiAzMnB4OyBmb250LWZhbWlseTogJHtuWXR9OyBsZXR0ZXItc3BhY2luZzogMC4wMjVlbTt9CiAgICAgIGgyIHsgZm9udC1zaXplOiAyOHB4OyB9CiAgICAgIGgzIHsgZm9udC1zaXplOiAyNHB4OyB9CiAgICAgIGg0IHsgZm9udC1zaXplOiAyMHB4OyB9CiAgICAgIGg1IHsgZm9udC1zaXplOiAxNnB4OyB9CiAgICAgIGg2IHsgZm9udC1zaXplOiAxNHB4OyB9CiAgICAgIC8qIEhvcml6b250YWwgcnVsZSBzdHlsZSBoZWFkaW5nICovCiAgICAgIC5oZWFkaW5nLWhyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIG1hcmdpbjogMTZweCAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzAwMCIsIiNmZmYiKX07CiAgICAgIH0KICAgICAgLyogRmFkZSBsaW5lcyB0b3dhcmQgYW5kIGF3YXkgZnJvbSB0ZXh0IGZvciBociBzdHlsZSAqLwogICAgICAuaGVhZGluZy1ocjo6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIC8qIGZhZGUgaW4gdG93YXJkIGNlbnRlciAqLwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50LCAjY2NjKSIsImxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsICMzMzMpIil9OwogICAgICAgIG1hcmdpbjogMCA4cHg7CiAgICAgIH0KICAgICAgLmhlYWRpbmctaHI6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIC8qIGZhZGUgb3V0IGF3YXkgZnJvbSBjZW50ZXIgKi8KICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgibGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjY2NjLCB0cmFuc3BhcmVudCkiLCJsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICMzMzMsIHRyYW5zcGFyZW50KSIpfTsKICAgICAgICBtYXJnaW46IDAgOHB4OwogICAgICB9CiAgICAgIC8qIFNtYWxsIGhyIHZhcmlhbnQgd2l0aCByZWR1Y2VkIG1hcmdpbnMgKi8KICAgICAgLmhlYWRpbmctaHIuaGVhZGluZy1oci1zbWFsbCB7CiAgICAgICAgbWFyZ2luOiA4cHggMDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIH0KICAgICAgLmhlYWRpbmctaHIuaGVhZGluZy1oci1zbWFsbDo6YmVmb3JlLAogICAgICAuaGVhZGluZy1oci5oZWFkaW5nLWhyLXNtYWxsOjphZnRlciB7CiAgICAgICAgbWFyZ2luOiAwIDhweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7c3dpdGNoKHRoaXMubGV2ZWwpe2Nhc2UiMSI6cmV0dXJuIHdgPGgxPjxzbG90Pjwvc2xvdD48L2gxPmA7Y2FzZSIyIjpyZXR1cm4gd2A8aDI+PHNsb3Q+PC9zbG90PjwvaDI+YDtjYXNlIjMiOnJldHVybiB3YDxoMz48c2xvdD48L3Nsb3Q+PC9oMz5gO2Nhc2UiNCI6cmV0dXJuIHdgPGg0PjxzbG90Pjwvc2xvdD48L2g0PmA7Y2FzZSI1IjpyZXR1cm4gd2A8aDU+PHNsb3Q+PC9zbG90PjwvaDU+YDtjYXNlIjYiOnJldHVybiB3YDxoNj48c2xvdD48L3Nsb3Q+PC9oNj5gO2Nhc2UiaHIiOnJldHVybiB3YDxkaXYgY2xhc3M9ImhlYWRpbmctaHIiPjxzbG90Pjwvc2xvdD48L2Rpdj5gO2Nhc2UiaHItc21hbGwiOnJldHVybiB3YDxkaXYgY2xhc3M9ImhlYWRpbmctaHIgaGVhZGluZy1oci1zbWFsbCI+PHNsb3Q+PC9zbG90PjwvZGl2PmA7ZGVmYXVsdDpyZXR1cm4gd2A8aDE+PHNsb3Q+PC9zbG90PjwvaDE+YH19Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHdCZSh0aGlzLGwpfXN0YXRpY3t3QmUocixhKX19O3JldHVybiBoPXJ9KSgpfSk7dmFyIEtRdD1jKCgpPT57WFF0KCl9KTt2YXIgUVF0PWMoKCk9PntxOCgpfSk7dmFyIEpRdCxlSnQ9YygoKT0+e3BlKCk7SlF0PWkoKCk9PndgCiAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsgZ2FwOiAxNnB4OyI+CiAgICA8IS0tIFNtYWxsIHNldCBvZiBwYWdlcyAtLT4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNHB4OyI+CiAgICAgIDxzcGFuPjUgcGFnZXMsIHN0YXJ0aW5nIGF0IDE6PC9zcGFuPgogICAgICA8ZGVlcy1wYWdpbmF0aW9uCiAgICAgICAgLnRvdGFsPSR7NX0KICAgICAgICAucGFnZT0kezF9CiAgICAgICAgQHBhZ2UtY2hhbmdlPSR7dD0+Y29uc29sZS5sb2coIlBhZ2UgY2hhbmdlZCB0byIsdC5kZXRhaWwucGFnZSl9CiAgICAgID48L2RlZXMtcGFnaW5hdGlvbj4KICAgIDwvZGl2PgoKICAgIDwhLS0gTGFyZ2VyIHNldCBvZiBwYWdlcyAtLT4KICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogNHB4OyI+CiAgICAgIDxzcGFuPjE1IHBhZ2VzLCBzdGFydGluZyBhdCA4Ojwvc3Bhbj4KICAgICAgPGRlZXMtcGFnaW5hdGlvbgogICAgICAgIC50b3RhbD0kezE1fQogICAgICAgIC5wYWdlPSR7OH0KICAgICAgICBAcGFnZS1jaGFuZ2U9JHt0PT5jb25zb2xlLmxvZygiUGFnZSBjaGFuZ2VkIHRvIix0LmRldGFpbC5wYWdlKX0KICAgICAgPjwvZGVlcy1wYWdpbmF0aW9uPgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgTUJlLHpCLHRKdCxhSnQ9YygoKT0+e3BlKCk7ZUp0KCk7WGUoKTtNQmU9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LHpCPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSx0SnQ9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLXBhZ2luYXRpb24iKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXTt2YXIgcD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc1BhZ2luYXRpb24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgZz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk51bWJlcixyZWZsZWN0OiEwfSldLGg9W0woe3R5cGU6TnVtYmVyLHJlZmxlY3Q6ITB9KV0sTUJlKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGFnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh2PT4icGFnZSJpbiB2LCJoYXMiKSxnZXQ6aSh2PT52LnBhZ2UsImdldCIpLHNldDppKCh2LHgpPT57di5wYWdlPXh9LCJzZXQiKX0sbWV0YWRhdGE6Z30sbyxsKSxNQmUodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0b3RhbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh2PT4idG90YWwiaW4gdiwiaGFzIiksZ2V0Omkodj0+di50b3RhbCwiZ2V0Iiksc2V0OmkoKHYseCk9Pnt2LnRvdGFsPXh9LCJzZXQiKX0sbWV0YWRhdGE6Z30sdSxmKSxNQmUobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Z30sbnVsbCxhKSxwPXI9ZS52YWx1ZSxnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmd9KX1zdGF0aWMgZGVtbz1KUXQ7c3RhdGljIGRlbW9Hcm91cHM9WyJMYXlvdXQiXTsjZT16Qih0aGlzLG8sMSk7Z2V0IHBhZ2UoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcGFnZShnKXt0aGlzLiNlPWd9I3Q9KHpCKHRoaXMsbCksekIodGhpcyx1LDEpKTtnZXQgdG90YWwoKXtyZXR1cm4gdGhpcy4jdH1zZXQgdG90YWwoZyl7dGhpcy4jdD1nfXN0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQogICAgICBidXR0b24gewogICAgICAgIGJhY2tncm91bmQ6IG5vbmU7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIG1hcmdpbjogMCAycHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzMzMiLCIjY2NjIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7CiAgICAgIH0KICAgICAgYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2VlZSIsIiM0NDQiKX07CiAgICAgIH0KICAgICAgYnV0dG9uOmRpc2FibGVkIHsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYWFhIiwiIzY2NiIpfTsKICAgICAgfQogICAgICBidXR0b24uY3VycmVudCB7CiAgICAgICAgYmFja2dyb3VuZDogIzAwNTBiOTsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KICAgICAgc3Bhbi5lbGxpcHNpcyB7CiAgICAgICAgbWFyZ2luOiAwIDRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzMzMiLCIjY2NjIil9OwogICAgICB9CiAgICBgXTtnZXQgcGFnZXMoKXtsZXQgZz1bXSx2PXRoaXMudG90YWwseD10aGlzLnBhZ2U7aWYodjw9Nylmb3IobGV0IGI9MTtiPD12O2IrKylnLnB1c2goYik7ZWxzZXtnLnB1c2goMSkseD40JiZnLnB1c2goIi4uLiIpO2xldCBiPU1hdGgubWF4KDIseC0yKSxtPU1hdGgubWluKHYtMSx4KzIpO2ZvcihsZXQgeT1iO3k8PW07eSsrKWcucHVzaCh5KTt4PHYtMyYmZy5wdXNoKCIuLi4iKSxnLnB1c2godil9cmV0dXJuIGd9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxidXR0b24KICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5jaGFuZ2VQYWdlKHRoaXMucGFnZS0xKX0KICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLnBhZ2U8PTF9CiAgICAgICAgYXJpYS1sYWJlbD0iUHJldmlvdXMgcGFnZSIKICAgICAgPgogICAgICAgIOKAuQogICAgICA8L2J1dHRvbj4KICAgICAgJHt0aGlzLnBhZ2VzLm1hcChnPT5nPT09Ii4uLiI/d2A8c3BhbiBjbGFzcz0iZWxsaXBzaXMiPuKApjwvc3Bhbj5gOndgCiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9IiR7Zz09PXRoaXMucGFnZT8iY3VycmVudCI6IiJ9IgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuY2hhbmdlUGFnZShnKX0KICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke2c9PT10aGlzLnBhZ2V9CiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPSJQYWdlICR7Z30iCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHtnfQogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICBgKX0KICAgICAgPGJ1dHRvbgogICAgICAgIEBjbGljaz0keygpPT50aGlzLmNoYW5nZVBhZ2UodGhpcy5wYWdlKzEpfQogICAgICAgID9kaXNhYmxlZD0ke3RoaXMucGFnZT49dGhpcy50b3RhbH0KICAgICAgICBhcmlhLWxhYmVsPSJOZXh0IHBhZ2UiCiAgICAgID4KICAgICAgICDigLoKICAgICAgPC9idXR0b24+CiAgICBgfWNoYW5nZVBhZ2UoZyl7ZzwxfHxnPnRoaXMudG90YWx8fGc9PT10aGlzLnBhZ2V8fCh0aGlzLnBhZ2U9Zyx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJwYWdlLWNoYW5nZSIse2RldGFpbDp7cGFnZTp0aGlzLnBhZ2V9LGJ1YmJsZXM6ITB9KSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx6Qih0aGlzLGYpfXN0YXRpY3t6QihyLGEpfX07cmV0dXJuIHA9cn0pKCl9KTt2YXIgckp0PWMoKCk9PnthSnQoKX0pO3ZhciBpSnQ9YygoKT0+e1cxKCl9KTt2YXIgc0p0LG9KdD1jKCgpPT57cGUoKTtzSnQ9aSgoKT0+d2AKICA8ZGVlcy1zdGVwcGVyCiAgICAuc3RlcHM9JHtbe3RpdGxlOiJBY2NvdW50IFNldHVwIixjb250ZW50OndgCiAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0iZW1haWwiIGxhYmVsPSJXb3JrIEVtYWlsIiByZXF1aXJlZD48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBrZXk9InBhc3N3b3JkIiBsYWJlbD0iQ3JlYXRlIFBhc3N3b3JkIiB0eXBlPSJwYXNzd29yZCIgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PkNvbnRpbnVlPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgYCx2YWxpZGF0aW9uRnVuYzppKGFzeW5jKHQsZSk9PntlLnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpLmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIiwoKT0+dC5nb05leHQoKSx7b25jZTohMH0pfSwidmFsaWRhdGlvbkZ1bmMiKX0se3RpdGxlOiJQcm9maWxlIERldGFpbHMiLGNvbnRlbnQ6d2AKICAgICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJmaXJzdE5hbWUiIGxhYmVsPSJGaXJzdCBOYW1lIiByZXF1aXJlZD48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBrZXk9Imxhc3ROYW1lIiBsYWJlbD0iTGFzdCBOYW1lIiByZXF1aXJlZD48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+Q29udGludWU8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICBgLHZhbGlkYXRpb25GdW5jOmkoYXN5bmModCxlKT0+e2UucXVlcnlTZWxlY3RvcigiZGVlcy1mb3JtIikuYWRkRXZlbnRMaXN0ZW5lcigiZm9ybURhdGEiLCgpPT50LmdvTmV4dCgpLHtvbmNlOiEwfSl9LCJ2YWxpZGF0aW9uRnVuYyIpfSx7dGl0bGU6IkNvbnRhY3QgSW5mb3JtYXRpb24iLGNvbnRlbnQ6d2AKICAgICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXBob25lIGtleT0icGhvbmUiIGxhYmVsPSJNb2JpbGUgTnVtYmVyIiByZXF1aXJlZD48L2RlZXMtaW5wdXQtcGhvbmU+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJjb21wYW55IiBsYWJlbD0iQ29tcGFueSI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PkNvbnRpbnVlPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgYCx2YWxpZGF0aW9uRnVuYzppKGFzeW5jKHQsZSk9PntlLnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpLmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIiwoKT0+dC5nb05leHQoKSx7b25jZTohMH0pfSwidmFsaWRhdGlvbkZ1bmMiKX0se3RpdGxlOiJUZWFtIFNpemUiLGNvbnRlbnQ6d2AKICAgICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgICAga2V5PSJ0ZWFtU2l6ZSIKICAgICAgICAgICAgICBsYWJlbD0iSG93IGJpZyBpcyB5b3VyIHRlYW0/IgogICAgICAgICAgICAgIC5vcHRpb25zPSR7W3tsYWJlbDoiMS01Iix2YWx1ZToiMS01In0se2xhYmVsOiI2LTIwIix2YWx1ZToiNi0yMCJ9LHtsYWJlbDoiMjEtNTAiLHZhbHVlOiIyMS01MCJ9LHtsYWJlbDoiNTErIix2YWx1ZToiNTErIn1dfQogICAgICAgICAgICAgIHJlcXVpcmVkCiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PkNvbnRpbnVlPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgYCx2YWxpZGF0aW9uRnVuYzppKGFzeW5jKHQsZSk9PntlLnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpLmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIiwoKT0+dC5nb05leHQoKSx7b25jZTohMH0pfSwidmFsaWRhdGlvbkZ1bmMiKX0se3RpdGxlOiJHb2FscyIsY29udGVudDp3YAogICAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgICBrZXk9ImdvYWwiCiAgICAgICAgICAgICAgbGFiZWw9Ik1haW4gb2JqZWN0aXZlIgogICAgICAgICAgICAgIC5vcHRpb25zPSR7W3tsYWJlbDoiT25ib2FyZGluZyIsdmFsdWU6Im9uYm9hcmRpbmcifSx7bGFiZWw6IkFuYWx5dGljcyIsdmFsdWU6ImFuYWx5dGljcyJ9LHtsYWJlbDoiQXV0b21hdGlvbiIsdmFsdWU6ImF1dG9tYXRpb24ifV19CiAgICAgICAgICAgICAgcmVxdWlyZWQKICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+Q29udGludWU8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICBgLHZhbGlkYXRpb25GdW5jOmkoYXN5bmModCxlKT0+e2UucXVlcnlTZWxlY3RvcigiZGVlcy1mb3JtIikuYWRkRXZlbnRMaXN0ZW5lcigiZm9ybURhdGEiLCgpPT50LmdvTmV4dCgpLHtvbmNlOiEwfSl9LCJ2YWxpZGF0aW9uRnVuYyIpfSx7dGl0bGU6IkJyYW5kIFByZWZlcmVuY2VzIixjb250ZW50OndgCiAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0iYnJhbmRDb2xvciIgbGFiZWw9IlByaW1hcnkgYnJhbmQgY29sb3IiPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0idG9uZSIgbGFiZWw9IlByZWZlcnJlZCB0b25lIChlLmcuIGZyaWVuZGx5LCBmb3JtYWwpIj48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+Q29udGludWU8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICBgLHZhbGlkYXRpb25GdW5jOmkoYXN5bmModCxlKT0+e2UucXVlcnlTZWxlY3RvcigiZGVlcy1mb3JtIikuYWRkRXZlbnRMaXN0ZW5lcigiZm9ybURhdGEiLCgpPT50LmdvTmV4dCgpLHtvbmNlOiEwfSl9LCJ2YWxpZGF0aW9uRnVuYyIpfSx7dGl0bGU6IkludGVncmF0aW9ucyIsY29udGVudDp3YAogICAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgICAgIGtleT0iaW50ZWdyYXRpb25zIgogICAgICAgICAgICAgIGxhYmVsPSJJbnRlZ3JhdGlvbnMgaW4gdXNlIgogICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJBZGQgaW50ZWdyYXRpb24iCiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+Q29udGludWU8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICBgLHZhbGlkYXRpb25GdW5jOmkoYXN5bmModCxlKT0+e2UucXVlcnlTZWxlY3RvcigiZGVlcy1mb3JtIikuYWRkRXZlbnRMaXN0ZW5lcigiZm9ybURhdGEiLCgpPT50LmdvTmV4dCgpLHtvbmNlOiEwfSl9LCJ2YWxpZGF0aW9uRnVuYyIpfSx7dGl0bGU6IlJldmlldyAmIExhdW5jaCIsY29udGVudDp3YAogICAgICAgICAgPGRlZXMtcGFuZWw+CiAgICAgICAgICAgIDxwPkFsbW9zdCB0aGVyZSEgUmV2aWV3IHlvdXIgc2VsZWN0aW9ucyBhbmQgbGF1bmNoIHdoZW5ldmVyIHlvdSdyZSByZWFkeS48L3A+CiAgICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgICAgYH1dfQogID48L2RlZXMtc3RlcHBlcj4KYCwic3RlcHBlckRlbW8iKX0pO3ZhciBrQmUsU0Isbkp0LGxKdD1jKCgpPT57UDEoKTtHaSgpO3BlKCk7SXQoKTtvSnQoKTtYZSgpO2tCZT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sU0I9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LG5KdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtc3RlcHBlciIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdO3ZhciBwPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzU3RlcHBlciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBnPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6QXJyYXl9KV0saD1bTCh7dHlwZTpPYmplY3R9KV0sa0JlKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RlcHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+InN0ZXBzImluIHYsImhhcyIpLGdldDppKHY9PnYuc3RlcHMsImdldCIpLHNldDppKCh2LHgpPT57di5zdGVwcz14fSwic2V0Iil9LG1ldGFkYXRhOmd9LG8sbCksa0JlKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRTdGVwIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHY9PiJzZWxlY3RlZFN0ZXAiaW4gdiwiaGFzIiksZ2V0Omkodj0+di5zZWxlY3RlZFN0ZXAsImdldCIpLHNldDppKCh2LHgpPT57di5zZWxlY3RlZFN0ZXA9eH0sInNldCIpfSxtZXRhZGF0YTpnfSx1LGYpLGtCZShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpnfSxudWxsLGEpLHA9cj1lLnZhbHVlLGcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Z30pfXN0YXRpYyBkZW1vPXNKdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCIsIkZvcm0iXTsjZT1TQih0aGlzLG8sW10pO2dldCBzdGVwcygpe3JldHVybiB0aGlzLiNlfXNldCBzdGVwcyhnKXt0aGlzLiNlPWd9I3Q9KFNCKHRoaXMsbCksU0IodGhpcyx1LHZvaWQgMCkpO2dldCBzZWxlY3RlZFN0ZXAoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VsZWN0ZWRTdGVwKGcpe3RoaXMuI3Q9Z31jb25zdHJ1Y3Rvcigpe3N1cGVyKCl9c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICAgIC5zdGVwcGVyQ29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5zdGVwIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC43cyBjdWJpYy1iZXppZXIoMC44NywgMCwgMC4xMywgMSksIGJveC1zaGFkb3cgMC43cyBjdWJpYy1iZXppZXIoMC44NywgMCwgMC4xMywgMSksIGZpbHRlciAwLjdzIGN1YmljLWJlemllcigwLjg3LCAwLCAwLjEzLCAxKSwgYm9yZGVyIDAuN3MgY3ViaWMtYmV6aWVyKDAuODcsIDAsIDAuMTMsIDEpOwogICAgICAgIG1heC13aWR0aDogNTAwcHg7CiAgICAgICAgbWluLWhlaWdodDogMzAwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwZjBmMTEiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlMmU4ZjAiLCIjMjcyNzI5Iil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzBmMTcyYSIsIiNmNWY1ZjUiKX07CiAgICAgICAgbWFyZ2luOiBhdXRvOwogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgZmlsdGVyOiBvcGFjaXR5KDAuNTUpIHNhdHVyYXRlKDAuODUpOwogICAgICAgIGJveC1zaGFkb3c6IDAgOHB4IDMycHggcmdiYSgwLCAwLCAwLCAwLjQpOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAuc3RlcC5zZWxlY3RlZCB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsKICAgICAgICBmaWx0ZXI6IG9wYWNpdHkoMSkgc2F0dXJhdGUoMSk7CiAgICAgICAgdXNlci1zZWxlY3Q6IGF1dG87CiAgICAgIH0KCiAgICAgIC5zdGVwLmhpZGRlblN0ZXAgewogICAgICAgIGZpbHRlcjogb3BhY2l0eSgwKTsKICAgICAgfQoKICAgICAgLnN0ZXAuZW50cmFuY2UgewogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjM1cyBlYXNlLCBib3gtc2hhZG93IDAuMzVzIGVhc2UsIGZpbHRlciAwLjM1cyBlYXNlLCBib3JkZXIgMC4zNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnN0ZXAuZW50cmFuY2UuaGlkZGVuU3RlcCB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE2cHgpOwogICAgICB9CgogICAgICAuc3RlcDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDB2aDsKICAgICAgfQoKICAgICAgLnN0ZXAgLnN0ZXBDb3VudGVyIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM2NDc0OGIiLCIjYTFhMWFhIil9OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDEycHg7CiAgICAgICAgcmlnaHQ6IDEycHg7CiAgICAgICAgcGFkZGluZzogNnB4IDE0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDIyNiwgMjMyLCAyNDAsIDAuNSkiLCJyZ2JhKDYzLCA2MywgNzAsIDAuNDUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJyZ2JhKDIyNiwgMjMyLCAyNDAsIDAuNykiLCJyZ2JhKDYzLCA2MywgNzAsIDAuNikiKX07CiAgICAgIH0KCiAgICAgIC5zdGVwIC5nb0JhY2sgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDEycHg7CiAgICAgICAgbGVmdDogMTJweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJyZ2JhKDIyNiwgMjMyLCAyNDAsIDAuOSkiLCJyZ2JhKDYzLCA2MywgNzAsIDAuODUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkiLCJyZ2JhKDM5LCAzOSwgNDIsIDAuODUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzQ3NTU2OSIsIiNkNGQ0ZDgiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZSwgYmFja2dyb3VuZCAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zdGVwIC5nb0JhY2s6aG92ZXIgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzBmMTcyYSIsIiNmYWZhZmEiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZShXaS5ibHVlLFdpLmJsdWUpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgyMjYsIDIzMiwgMjQwLCAwLjk1KSIsInJnYmEoNjMsIDYzLCA3MCwgMC43KSIpfTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7CiAgICAgIH0KCiAgICAgIC5zdGVwIC5nb0JhY2s6YWN0aXZlIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwZjE3MmEiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoV2kuYmx1ZUFjdGl2ZSxXaS5ibHVlQWN0aXZlKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMjI2LCAyMzIsIDI0MCwgMC44NSkiLCJyZ2JhKDYzLCA2MywgNzAsIDAuNikiKX07CiAgICAgIH0KCiAgICAgIC5zdGVwIC5nb0JhY2sgc3BhbiB7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KCiAgICAgIC5zdGVwIC5nb0JhY2s6aG92ZXIgc3BhbiB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0ycHgpOwogICAgICB9CgogICAgICAuc3RlcCAudGl0bGUgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBwYWRkaW5nLXRvcDogNjRweDsKICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgICB9CgogICAgICAuc3RlcCAuY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InN0ZXBwZXJDb250YWluZXIiPgogICAgICAgICR7dGhpcy5zdGVwcy5tYXAoZz0+d2A8ZGl2CiAgICAgICAgICAgICAgY2xhc3M9InN0ZXAgJHtnPT09dGhpcy5zZWxlY3RlZFN0ZXA/InNlbGVjdGVkIjpudWxsfSAke3RoaXMuZ2V0SW5kZXhPZlN0ZXAoZyk+dGhpcy5nZXRJbmRleE9mU3RlcCh0aGlzLnNlbGVjdGVkU3RlcCk/ImhpZGRlblN0ZXAiOiIifSAke3RoaXMuZ2V0SW5kZXhPZlN0ZXAoZyk9PT0wPyJlbnRyYW5jZSI6IiJ9IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgJHt0aGlzLmdldEluZGV4T2ZTdGVwKGcpPjA/d2A8ZGl2IGNsYXNzPSJnb0JhY2siIEBjbGljaz0ke3RoaXMuZ29CYWNrfT48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEludGVyIj48LTwvc3Bhbj4gZ28gdG8gcHJldmlvdXMgc3RlcDwvZGl2PmA6IiJ9CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RlcENvdW50ZXIiPgogICAgICAgICAgICAgICAgU3RlcCAke3RoaXMuc3RlcHMuZmluZEluZGV4KHY9PnY9PT1nKSsxfSBvZgogICAgICAgICAgICAgICAgJHt0aGlzLnN0ZXBzLmxlbmd0aH0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+JHtnLnRpdGxlfTwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPiR7Zy5jb250ZW50fTwvZGl2PgogICAgICAgICAgICA8L2Rpdj4gYCl9CiAgICAgIDwvZGl2PgogICAgYH1nZXRJbmRleE9mU3RlcD0oU0IodGhpcyxmKSxnPT50aGlzLnN0ZXBzLmZpbmRJbmRleCh2PT5nPT09dikpO2FzeW5jIGZpcnN0VXBkYXRlZCgpe2F3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLGF3YWl0IHRoaXMuZG9tdG9vbHMuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigwKSx0aGlzLnNlbGVjdGVkU3RlcD10aGlzLnN0ZXBzWzBdLHRoaXMuc2V0U2Nyb2xsU3RhdHVzKCksYXdhaXQgdGhpcy5kb210b29scy5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDM1MCksdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zdGVwLmVudHJhbmNlIik/LmNsYXNzTGlzdC5yZW1vdmUoImVudHJhbmNlIil9YXN5bmMgdXBkYXRlZCgpe3RoaXMuc2V0U2Nyb2xsU3RhdHVzKCl9c2Nyb2xsZXI7YXN5bmMgc2V0U2Nyb2xsU3RhdHVzKCl7bGV0IGc9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zdGVwcGVyQ29udGFpbmVyIiksdj10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnN0ZXAiKSx4PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc2VsZWN0ZWQiKTtpZigheClyZXR1cm47Zy5zdHlsZS5wYWRkaW5nVG9wfHwoZy5zdHlsZS5wYWRkaW5nVG9wPWAke2cub2Zmc2V0SGVpZ2h0LzIteC5vZmZzZXRIZWlnaHQvMn1weGApLGNvbnNvbGUubG9nKCJTZXR0aW5nIHNjcm9sbCBzdGF0dXMiKSxjb25zb2xlLmxvZyh4KTtsZXQgYj14Lm9mZnNldFRvcC1nLm9mZnNldEhlaWdodC8yK3gub2Zmc2V0SGVpZ2h0LzI7Y29uc29sZS5sb2coYik7bGV0IG09YXdhaXQga3Iuc2V0dXBEb21Ub29scygpO3RoaXMuc2Nyb2xsZXJ8fCh0aGlzLnNjcm9sbGVyPW5ldyBFdC5Td2VldFNjcm9sbCh7dmVydGljYWw6ITAsaG9yaXpvbnRhbDohMSxlYXNpbmc6ImVhc2VJbk91dEV4cG8iLGR1cmF0aW9uOjcwMH0sZykpLCF0aGlzLnNlbGVjdGVkU3RlcC52YWxpZGF0aW9uRnVuY0NhbGxlZCYmdGhpcy5zZWxlY3RlZFN0ZXAudmFsaWRhdGlvbkZ1bmMmJih0aGlzLnNlbGVjdGVkU3RlcC5hYm9ydENvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcix0aGlzLnNlbGVjdGVkU3RlcC52YWxpZGF0aW9uRnVuY0NhbGxlZD0hMCxhd2FpdCB0aGlzLnNlbGVjdGVkU3RlcC52YWxpZGF0aW9uRnVuYyh0aGlzLHgsdGhpcy5zZWxlY3RlZFN0ZXAuYWJvcnRDb250cm9sbGVyLnNpZ25hbCkpLHRoaXMuc2Nyb2xsZXIudG8oYil9YXN5bmMgZ29CYWNrKCl7bGV0IGc9dGhpcy5zdGVwcy5maW5kSW5kZXgoYj0+Yj09PXRoaXMuc2VsZWN0ZWRTdGVwKTtpZihnPD0wKXJldHVybjt0aGlzLnNlbGVjdGVkU3RlcC5hYm9ydENvbnRyb2xsZXImJnRoaXMuc2VsZWN0ZWRTdGVwLmFib3J0Q29udHJvbGxlci5hYm9ydCgpO2xldCB2PXRoaXMuc3RlcHNbZ107di52YWxpZGF0aW9uRnVuY0NhbGxlZD0hMTtsZXQgeD10aGlzLnN0ZXBzW2ctMV07eC52YWxpZGF0aW9uRnVuY0NhbGxlZD0hMSx0aGlzLnNlbGVjdGVkU3RlcD14LGF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLGF3YWl0IHRoaXMuZG9tdG9vbHMuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigxMDApLHRoaXMuc2VsZWN0ZWRTdGVwLm9uUmV0dXJuVG9TdGVwRnVuYz8uKHRoaXMsdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zZWxlY3RlZCIpKX1nb05leHQoKXtsZXQgZz10aGlzLnN0ZXBzLmZpbmRJbmRleChiPT5iPT09dGhpcy5zZWxlY3RlZFN0ZXApO2lmKGc8MHx8Zz49dGhpcy5zdGVwcy5sZW5ndGgtMSlyZXR1cm47dGhpcy5zZWxlY3RlZFN0ZXAuYWJvcnRDb250cm9sbGVyJiZ0aGlzLnNlbGVjdGVkU3RlcC5hYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtsZXQgdj10aGlzLnN0ZXBzW2ddO3YudmFsaWRhdGlvbkZ1bmNDYWxsZWQ9ITE7bGV0IHg9dGhpcy5zdGVwc1tnKzFdO3gudmFsaWRhdGlvbkZ1bmNDYWxsZWQ9ITEsdGhpcy5zZWxlY3RlZFN0ZXA9eH1zdGF0aWN7U0IocixhKX19O3JldHVybiBwPXJ9KSgpfSk7dmFyIGNKdD1jKCgpPT57bEp0KCl9KTt2YXIgZEp0PWMoKCk9PntDUXQoKTtVUXQoKTtLUXQoKTtRUXQoKTtySnQoKTtpSnQoKTtjSnQoKX0pO3ZhciBwSnQsdUp0PWMoKCk9PntwZSgpO3BKdD1pKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDQ4cHg7CiAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAzMnB4OwogICAgfQoKICAgIC5zZWN0aW9uIHsKICAgICAgbWF4LXdpZHRoOiA5MDBweDsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgfQoKICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CgogICAgLnNlY3Rpb24tZGVzY3JpcHRpb24gewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICB9CgogICAgZGVlcy1pbWFnZS12aWV3ZXIgewogICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KCiAgICAuY29tcGFjdCB7CiAgICAgIGhlaWdodDogMjUwcHg7CiAgICB9CiAgPC9zdHlsZT4KCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkpQRUcgSW1hZ2Ugd2l0aCBUb29sYmFyPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkEgbGFuZHNjYXBlIHBob3RvIHdpdGggem9vbSwgcGFuLCBmaXQsIGFuZCBkb3dubG9hZCBjb250cm9scy48L2Rpdj4KICAgICAgPGRlZXMtaW1hZ2Utdmlld2VyCiAgICAgICAgc3JjPSJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTUwNjc0NDAzODEzNi00NjI3MzgzNGIzZmI/dz0xMjAwIgogICAgICAgIGFsdD0iTW91bnRhaW4gbGFuZHNjYXBlIgogICAgICA+PC9kZWVzLWltYWdlLXZpZXdlcj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5QTkcgd2l0aCBUcmFuc3BhcmVuY3k8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+VHJhbnNwYXJlbnQgUE5HIGRpc3BsYXllZCBvbiBhIGNoZWNrZXJib2FyZCBiYWNrZ3JvdW5kLjwvZGl2PgogICAgICA8ZGVlcy1pbWFnZS12aWV3ZXIKICAgICAgICBzcmM9Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvNC80Ny9QTkdfdHJhbnNwYXJlbmN5X2RlbW9uc3RyYXRpb25fMS5wbmciCiAgICAgICAgYWx0PSJQTkcgdHJhbnNwYXJlbmN5IGRlbW8iCiAgICAgID48L2RlZXMtaW1hZ2Utdmlld2VyPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlNWRyBJbWFnZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5TY2FsYWJsZSB2ZWN0b3IgZ3JhcGhpYy48L2Rpdj4KICAgICAgPGRlZXMtaW1hZ2Utdmlld2VyCiAgICAgICAgc3JjPSJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zLzAvMDIvU1ZHX2xvZ28uc3ZnIgogICAgICAgIGFsdD0iU1ZHIGxvZ28iCiAgICAgICAgZml0PSJjb250YWluIgogICAgICA+PC9kZWVzLWltYWdlLXZpZXdlcj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5ObyBUb29sYmFyIFZhcmlhbnQ8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+SW1hZ2Ugdmlld2VyIHdpdGggdGhlIHRvb2xiYXIgaGlkZGVuLjwvZGl2PgogICAgICA8ZGVlcy1pbWFnZS12aWV3ZXIKICAgICAgICBjbGFzcz0iY29tcGFjdCIKICAgICAgICBzcmM9Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNDY5NDc0OTY4MDI4LTU2NjIzZjAyZTQyZT93PTgwMCIKICAgICAgICBhbHQ9Ik5hdHVyZSBzY2VuZSIKICAgICAgICAuc2hvd1Rvb2xiYXI9JHshMX0KICAgICAgPjwvZGVlcy1pbWFnZS12aWV3ZXI+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtbyIpfSk7dmFyIHppLEJhLGZKdCx6QmU9YygoKT0+e3BlKCk7S3QoKTt1SnQoKTt6aT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sQmE9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LGZKdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtaW1hZ2Utdmlld2VyIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W10sTiwkPVtdLEk9W10saixTPVtdLHo9W10sRCxUPVtdLEE9W10sVSxSPVtdLHE9W10sb2UsTz1bXSxyZT1bXSx5ZSxCPVtdLGVlPVtdO3ZhciBDZT1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc0ltYWdlVmlld2VyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFk9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCgpXSxoPVtMKCldLHA9W0woKV0seD1bTCh7dHlwZTpCb29sZWFufSldLHk9W1ooKV0sRT1bWigpXSxOPVtaKCldLGo9W1ooKV0sRD1bWigpXSxVPVtaKCldLG9lPVtaKCldLHllPVtaKCldLHppKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3JjIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFA9PiJzcmMiaW4gUCwiaGFzIiksZ2V0OmkoUD0+UC5zcmMsImdldCIpLHNldDppKChQLEgpPT57UC5zcmM9SH0sInNldCIpfSxtZXRhZGF0YTpZfSxvLGwpLHppKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWx0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFA9PiJhbHQiaW4gUCwiaGFzIiksZ2V0OmkoUD0+UC5hbHQsImdldCIpLHNldDppKChQLEgpPT57UC5hbHQ9SH0sInNldCIpfSxtZXRhZGF0YTpZfSx1LGYpLHppKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZml0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFA9PiJmaXQiaW4gUCwiaGFzIiksZ2V0OmkoUD0+UC5maXQsImdldCIpLHNldDppKChQLEgpPT57UC5maXQ9SH0sInNldCIpfSxtZXRhZGF0YTpZfSxnLHYpLHppKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1Rvb2xiYXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoUD0+InNob3dUb29sYmFyImluIFAsImhhcyIpLGdldDppKFA9PlAuc2hvd1Rvb2xiYXIsImdldCIpLHNldDppKChQLEgpPT57UC5zaG93VG9vbGJhcj1IfSwic2V0Iil9LG1ldGFkYXRhOll9LGIsbSksemkodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ6b29tIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFA9PiJ6b29tImluIFAsImhhcyIpLGdldDppKFA9PlAuem9vbSwiZ2V0Iiksc2V0OmkoKFAsSCk9PntQLnpvb209SH0sInNldCIpfSxtZXRhZGF0YTpZfSxNLGspLHppKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGFuWCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShQPT4icGFuWCJpbiBQLCJoYXMiKSxnZXQ6aShQPT5QLnBhblgsImdldCIpLHNldDppKChQLEgpPT57UC5wYW5YPUh9LCJzZXQiKX0sbWV0YWRhdGE6WX0sXyxDKSx6aSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBhblkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoUD0+InBhblkiaW4gUCwiaGFzIiksZ2V0OmkoUD0+UC5wYW5ZLCJnZXQiKSxzZXQ6aSgoUCxIKT0+e1AucGFuWT1IfSwic2V0Iil9LG1ldGFkYXRhOll9LCQsSSksemkodGhpcyxudWxsLGose2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0RyYWdnaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFA9PiJpc0RyYWdnaW5nImluIFAsImhhcyIpLGdldDppKFA9PlAuaXNEcmFnZ2luZywiZ2V0Iiksc2V0OmkoKFAsSCk9PntQLmlzRHJhZ2dpbmc9SH0sInNldCIpfSxtZXRhZGF0YTpZfSxTLHopLHppKHRoaXMsbnVsbCxELHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShQPT4ibG9hZGluZyJpbiBQLCJoYXMiKSxnZXQ6aShQPT5QLmxvYWRpbmcsImdldCIpLHNldDppKChQLEgpPT57UC5sb2FkaW5nPUh9LCJzZXQiKX0sbWV0YWRhdGE6WX0sVCxBKSx6aSh0aGlzLG51bGwsVSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFA9PiJlcnJvciJpbiBQLCJoYXMiKSxnZXQ6aShQPT5QLmVycm9yLCJnZXQiKSxzZXQ6aSgoUCxIKT0+e1AuZXJyb3I9SH0sInNldCIpfSxtZXRhZGF0YTpZfSxSLHEpLHppKHRoaXMsbnVsbCxvZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImltYWdlTmF0dXJhbFdpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFA9PiJpbWFnZU5hdHVyYWxXaWR0aCJpbiBQLCJoYXMiKSxnZXQ6aShQPT5QLmltYWdlTmF0dXJhbFdpZHRoLCJnZXQiKSxzZXQ6aSgoUCxIKT0+e1AuaW1hZ2VOYXR1cmFsV2lkdGg9SH0sInNldCIpfSxtZXRhZGF0YTpZfSxPLHJlKSx6aSh0aGlzLG51bGwseWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbWFnZU5hdHVyYWxIZWlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoUD0+ImltYWdlTmF0dXJhbEhlaWdodCJpbiBQLCJoYXMiKSxnZXQ6aShQPT5QLmltYWdlTmF0dXJhbEhlaWdodCwiZ2V0Iiksc2V0OmkoKFAsSCk9PntQLmltYWdlTmF0dXJhbEhlaWdodD1IfSwic2V0Iil9LG1ldGFkYXRhOll9LEIsZWUpLHppKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOll9LG51bGwsYSksQ2U9cj1lLnZhbHVlLFkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6WX0pfXN0YXRpYyBkZW1vPXBKdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIl07I2U9QmEodGhpcyxvLCIiKTtnZXQgc3JjKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNyYyhZKXt0aGlzLiNlPVl9I3Q9KEJhKHRoaXMsbCksQmEodGhpcyx1LCIiKSk7Z2V0IGFsdCgpe3JldHVybiB0aGlzLiN0fXNldCBhbHQoWSl7dGhpcy4jdD1ZfSNhPShCYSh0aGlzLGYpLEJhKHRoaXMsZywiY29udGFpbiIpKTtnZXQgZml0KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGZpdChZKXt0aGlzLiNhPVl9I3I9KEJhKHRoaXMsdiksQmEodGhpcyxiLCEwKSk7Z2V0IHNob3dUb29sYmFyKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHNob3dUb29sYmFyKFkpe3RoaXMuI3I9WX0jaT0oQmEodGhpcyxtKSxCYSh0aGlzLE0sMSkpO2dldCB6b29tKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHpvb20oWSl7dGhpcy4jaT1ZfSNzPShCYSh0aGlzLGspLEJhKHRoaXMsXywwKSk7Z2V0IHBhblgoKXtyZXR1cm4gdGhpcy4jc31zZXQgcGFuWChZKXt0aGlzLiNzPVl9I289KEJhKHRoaXMsQyksQmEodGhpcywkLDApKTtnZXQgcGFuWSgpe3JldHVybiB0aGlzLiNvfXNldCBwYW5ZKFkpe3RoaXMuI289WX0jbj0oQmEodGhpcyxJKSxCYSh0aGlzLFMsITEpKTtnZXQgaXNEcmFnZ2luZygpe3JldHVybiB0aGlzLiNufXNldCBpc0RyYWdnaW5nKFkpe3RoaXMuI249WX0jbD0oQmEodGhpcyx6KSxCYSh0aGlzLFQsITApKTtnZXQgbG9hZGluZygpe3JldHVybiB0aGlzLiNsfXNldCBsb2FkaW5nKFkpe3RoaXMuI2w9WX0jYz0oQmEodGhpcyxBKSxCYSh0aGlzLFIsIiIpKTtnZXQgZXJyb3IoKXtyZXR1cm4gdGhpcy4jY31zZXQgZXJyb3IoWSl7dGhpcy4jYz1ZfSNkPShCYSh0aGlzLHEpLEJhKHRoaXMsTywwKSk7Z2V0IGltYWdlTmF0dXJhbFdpZHRoKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGltYWdlTmF0dXJhbFdpZHRoKFkpe3RoaXMuI2Q9WX0jcD0oQmEodGhpcyxyZSksQmEodGhpcyxCLDApKTtnZXQgaW1hZ2VOYXR1cmFsSGVpZ2h0KCl7cmV0dXJuIHRoaXMuI3B9c2V0IGltYWdlTmF0dXJhbEhlaWdodChZKXt0aGlzLiNwPVl9ZHJhZ1N0YXJ0WD0oQmEodGhpcyxlZSksMCk7ZHJhZ1N0YXJ0WT0wO2RyYWdTdGFydFBhblg9MDtkcmFnU3RhcnRQYW5ZPTA7cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgICB9CgogICAgICAgIC52aWV3ZXItY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk3JSkiLCJoc2woMjE1IDIwJSAxMCUpIil9OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiaHNsKDIxNSAyMCUgMTUlKSIpfTsKICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1idXR0b24gewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1idXR0b24gZGVlcy1pY29uIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTIlKSIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgICAgICAgfQoKICAgICAgICAuem9vbS1sZXZlbCB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgbWluLXdpZHRoOiA0OHB4OwogICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC5pbWFnZS1hcmVhIHsKICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgY3Vyc29yOiAke3RoaXMuem9vbT4xP3RoaXMuaXNEcmFnZ2luZz8iZ3JhYmJpbmciOiJncmFiIjoiZGVmYXVsdCJ9OwogICAgICAgIH0KCiAgICAgICAgLmNoZWNrZXJib2FyZCB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6CiAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCg0NWRlZywgJHtkLmJkVGhlbWUoIiNmMGYwZjAiLCIjMWExYTFhIil9IDI1JSwgdHJhbnNwYXJlbnQgMjUlKSwKICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KC00NWRlZywgJHtkLmJkVGhlbWUoIiNmMGYwZjAiLCIjMWExYTFhIil9IDI1JSwgdHJhbnNwYXJlbnQgMjUlKSwKICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCB0cmFuc3BhcmVudCA3NSUsICR7ZC5iZFRoZW1lKCIjZjBmMGYwIiwiIzFhMWExYSIpfSA3NSUpLAogICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCB0cmFuc3BhcmVudCA3NSUsICR7ZC5iZFRoZW1lKCIjZjBmMGYwIiwiIzFhMWExYSIpfSA3NSUpOwogICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IDE2cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsIDAgOHB4LCA4cHggLThweCwgLThweCAwcHg7CiAgICAgICAgICBvcGFjaXR5OiAwLjM7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2Utd3JhcHBlciB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgke3RoaXMucGFuWH1weCwgJHt0aGlzLnBhbll9cHgpIHNjYWxlKCR7dGhpcy56b29tfSk7CiAgICAgICAgICB0cmFuc2l0aW9uOiAke3RoaXMuaXNEcmFnZ2luZz8ibm9uZSI6InRyYW5zZm9ybSAwLjJzIGVhc2UifTsKICAgICAgICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2Utd3JhcHBlciBpbWcgewogICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgICAgbWF4LWhlaWdodDogMTAwJTsKICAgICAgICAgIG9iamVjdC1maXQ6ICR7dGhpcy5maXR9OwogICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgICAtd2Via2l0LXVzZXItZHJhZzogbm9uZTsKICAgICAgICB9CgogICAgICAgIC5pbWFnZS13cmFwcGVyIGltZy5hY3R1YWwgewogICAgICAgICAgbWF4LXdpZHRoOiBub25lOwogICAgICAgICAgbWF4LWhlaWdodDogbm9uZTsKICAgICAgICAgIG9iamVjdC1maXQ6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAubG9hZGluZy1vdmVybGF5IHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDI1NSwyNTUsMjU1LDAuOCkiLCJyZ2JhKDAsMCwwLDAuNikiKX07CiAgICAgICAgfQoKICAgICAgICAubG9hZGluZy1zcGlubmVyIHsKICAgICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjM2YzZjQ2Iil9OwogICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYW5pbWF0aW9uOiBzcGluIDAuOHMgbGluZWFyIGluZmluaXRlOwogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQogICAgICAgIH0KCiAgICAgICAgLmVycm9yLW92ZXJsYXkgewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICB9CgogICAgICAgIC5lcnJvci1vdmVybGF5IC5lcnJvci1pY29uIHsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgfQoKICAgICAgICAuZXJyb3ItdGV4dCB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgfQoKICAgICAgICAuaW1hZ2UtaW5mbyB7CiAgICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNhMWExYWEiLCIjNzE3MTdhIil9OwogICAgICAgICAgcGFkZGluZzogMCA0cHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgoKICAgICAgPGRpdiBjbGFzcz0idmlld2VyLWNvbnRhaW5lciI+CiAgICAgICAgJHt0aGlzLnNob3dUb29sYmFyP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cCI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24iIEBjbGljaz0ke3RoaXMuem9vbU91dH0gdGl0bGU9Ilpvb20gb3V0Ij4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlpvb21PdXQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRvb2xiYXItYnV0dG9uIiBAY2xpY2s9JHt0aGlzLnJlc2V0Wm9vbX0+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iem9vbS1sZXZlbCI+JHtNYXRoLnJvdW5kKHRoaXMuem9vbSoxMDApfSU8L3NwYW4+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24iIEBjbGljaz0ke3RoaXMuem9vbUlufSB0aXRsZT0iWm9vbSBpbiI+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpab29tSW4iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cCI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24iIEBjbGljaz0ke3RoaXMuZml0VG9TY3JlZW59IHRpdGxlPSJGaXQgdG8gc2NyZWVuIj4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOk1heGltaXplIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5hY3R1YWxTaXplfSB0aXRsZT0iQWN0dWFsIHNpemUgKDEwMCUpIj4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlNjYW4iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cCI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24iIEBjbGljaz0ke3RoaXMuZG93bmxvYWR9IHRpdGxlPSJEb3dubG9hZCI+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpEb3dubG9hZCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAke3RoaXMuaW1hZ2VOYXR1cmFsV2lkdGg+MD93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItZ3JvdXAiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImltYWdlLWluZm8iPiR7dGhpcy5pbWFnZU5hdHVyYWxXaWR0aH0geCAke3RoaXMuaW1hZ2VOYXR1cmFsSGVpZ2h0fTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJpbWFnZS1hcmVhIgogICAgICAgICAgQHdoZWVsPSR7dGhpcy5oYW5kbGVXaGVlbH0KICAgICAgICAgIEBtb3VzZWRvd249JHt0aGlzLmhhbmRsZU1vdXNlRG93bn0KICAgICAgICAgIEBtb3VzZW1vdmU9JHt0aGlzLmhhbmRsZU1vdXNlTW92ZX0KICAgICAgICAgIEBtb3VzZXVwPSR7dGhpcy5oYW5kbGVNb3VzZVVwfQogICAgICAgICAgQG1vdXNlbGVhdmU9JHt0aGlzLmhhbmRsZU1vdXNlVXB9CiAgICAgICAgICBAZGJsY2xpY2s9JHt0aGlzLmhhbmRsZURvdWJsZUNsaWNrfQogICAgICAgID4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNoZWNrZXJib2FyZCI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpbWFnZS13cmFwcGVyIj4KICAgICAgICAgICAgJHt0aGlzLnNyYz93YAogICAgICAgICAgICAgIDxpbWcKICAgICAgICAgICAgICAgIGNsYXNzPSIke3RoaXMuZml0PT09ImFjdHVhbCI/ImFjdHVhbCI6IiJ9IgogICAgICAgICAgICAgICAgc3JjPSIke3RoaXMuc3JjfSIKICAgICAgICAgICAgICAgIGFsdD0iJHt0aGlzLmFsdH0iCiAgICAgICAgICAgICAgICBAbG9hZD0ke3RoaXMuaGFuZGxlSW1hZ2VMb2FkfQogICAgICAgICAgICAgICAgQGVycm9yPSR7dGhpcy5oYW5kbGVJbWFnZUVycm9yfQogICAgICAgICAgICAgICAgZHJhZ2dhYmxlPSJmYWxzZSIKICAgICAgICAgICAgICAvPgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAke3RoaXMubG9hZGluZyYmdGhpcy5zcmM/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1vdmVybGF5Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke3RoaXMuZXJyb3I/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXJyb3Itb3ZlcmxheSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0iZXJyb3ItaWNvbiIgaWNvbj0ibHVjaWRlOkltYWdlT2ZmIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZXJyb3ItdGV4dCI+JHt0aGlzLmVycm9yfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9em9vbUluKCl7dGhpcy56b29tPU1hdGgubWluKDEwLHRoaXMuem9vbSoxLjI1KX16b29tT3V0KCl7dGhpcy56b29tPU1hdGgubWF4KC4xLHRoaXMuem9vbS8xLjI1KSx0aGlzLnpvb208PTEmJih0aGlzLnBhblg9MCx0aGlzLnBhblk9MCl9cmVzZXRab29tKCl7dGhpcy56b29tPTEsdGhpcy5wYW5YPTAsdGhpcy5wYW5ZPTB9Zml0VG9TY3JlZW4oKXt0aGlzLnpvb209MSx0aGlzLnBhblg9MCx0aGlzLnBhblk9MCx0aGlzLmZpdD0iY29udGFpbiJ9YWN0dWFsU2l6ZSgpe3RoaXMuem9vbT0xLHRoaXMucGFuWD0wLHRoaXMucGFuWT0wLHRoaXMuZml0PSJhY3R1YWwifWRvd25sb2FkKCl7aWYoIXRoaXMuc3JjKXJldHVybjtsZXQgWT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7WS5ocmVmPXRoaXMuc3JjLFkuZG93bmxvYWQ9dGhpcy5zcmMuc3BsaXQoIi8iKS5wb3AoKXx8ImltYWdlIixZLmNsaWNrKCl9aGFuZGxlSW1hZ2VMb2FkKFkpe2xldCBQPVkudGFyZ2V0O3RoaXMubG9hZGluZz0hMSx0aGlzLmVycm9yPSIiLHRoaXMuaW1hZ2VOYXR1cmFsV2lkdGg9UC5uYXR1cmFsV2lkdGgsdGhpcy5pbWFnZU5hdHVyYWxIZWlnaHQ9UC5uYXR1cmFsSGVpZ2h0fWhhbmRsZUltYWdlRXJyb3IoKXt0aGlzLmxvYWRpbmc9ITEsdGhpcy5lcnJvcj0iRmFpbGVkIHRvIGxvYWQgaW1hZ2UifWhhbmRsZVdoZWVsKFkpe1kucHJldmVudERlZmF1bHQoKTtsZXQgUD1ZLmRlbHRhWT4wPy45OjEuMSxIPU1hdGgubWluKDEwLE1hdGgubWF4KC4xLHRoaXMuem9vbSpQKSk7dGhpcy56b29tPUgsdGhpcy56b29tPD0xJiYodGhpcy5wYW5YPTAsdGhpcy5wYW5ZPTApfWhhbmRsZU1vdXNlRG93bihZKXt0aGlzLnpvb208PTF8fCh0aGlzLmlzRHJhZ2dpbmc9ITAsdGhpcy5kcmFnU3RhcnRYPVkuY2xpZW50WCx0aGlzLmRyYWdTdGFydFk9WS5jbGllbnRZLHRoaXMuZHJhZ1N0YXJ0UGFuWD10aGlzLnBhblgsdGhpcy5kcmFnU3RhcnRQYW5ZPXRoaXMucGFuWSl9aGFuZGxlTW91c2VNb3ZlKFkpe3RoaXMuaXNEcmFnZ2luZyYmKHRoaXMucGFuWD10aGlzLmRyYWdTdGFydFBhblgrKFkuY2xpZW50WC10aGlzLmRyYWdTdGFydFgpLHRoaXMucGFuWT10aGlzLmRyYWdTdGFydFBhblkrKFkuY2xpZW50WS10aGlzLmRyYWdTdGFydFkpKX1oYW5kbGVNb3VzZVVwKCl7dGhpcy5pc0RyYWdnaW5nPSExfWhhbmRsZURvdWJsZUNsaWNrKCl7dGhpcy56b29tPT09MT90aGlzLnpvb209MjoodGhpcy56b29tPTEsdGhpcy5wYW5YPTAsdGhpcy5wYW5ZPTApfXVwZGF0ZWQoWSl7c3VwZXIudXBkYXRlZChZKSxZLmhhcygic3JjIikmJih0aGlzLmxvYWRpbmc9ITAsdGhpcy5lcnJvcj0iIix0aGlzLnpvb209MSx0aGlzLnBhblg9MCx0aGlzLnBhblk9MCx0aGlzLmltYWdlTmF0dXJhbFdpZHRoPTAsdGhpcy5pbWFnZU5hdHVyYWxIZWlnaHQ9MCl9c3RhdGlje0JhKHIsYSl9fTtyZXR1cm4gQ2U9cn0pKCl9KTt2YXIgaEp0PWMoKCk9Pnt6QmUoKX0pO3ZhciBtSnQsZ0p0PWMoKCk9PntwZSgpO21KdD1pKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDQ4cHg7CiAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAzMnB4OwogICAgfQoKICAgIC5zZWN0aW9uIHsKICAgICAgbWF4LXdpZHRoOiA2MDBweDsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgfQoKICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CgogICAgLnNlY3Rpb24tZGVzY3JpcHRpb24gewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICB9CgogICAgZGVlcy1hdWRpby12aWV3ZXIgewogICAgICBoZWlnaHQ6IDIwMHB4OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KICA8L3N0eWxlPgoKICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QXVkaW8gd2l0aCBXYXZlZm9ybTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5BdWRpbyBwbGF5ZXIgd2l0aCB3YXZlZm9ybSB2aXN1YWxpemF0aW9uIGFuZCBmdWxsIHRyYW5zcG9ydCBjb250cm9scy48L2Rpdj4KICAgICAgPGRlZXMtYXVkaW8tdmlld2VyCiAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTEubXAzIgogICAgICAgIHRpdGxlPSJTb3VuZEhlbGl4IFNvbmcgMSIKICAgICAgICBhcnRpc3Q9IlQuIFNjaHVlcmdlciIKICAgICAgPjwvZGVlcy1hdWRpby12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QXVkaW8gd2l0aG91dCBXYXZlZm9ybTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5TaW1wbGUgYXVkaW8gcGxheWVyIHdpdGggYSBzZWVrYmFyIGluc3RlYWQgb2YgYSB3YXZlZm9ybS48L2Rpdj4KICAgICAgPGRlZXMtYXVkaW8tdmlld2VyCiAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTIubXAzIgogICAgICAgIHRpdGxlPSJTb3VuZEhlbGl4IFNvbmcgMiIKICAgICAgICAuc2hvd1dhdmVmb3JtPSR7ITF9CiAgICAgID48L2RlZXMtYXVkaW8tdmlld2VyPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPk1pbmltYWwgQXVkaW8gUGxheWVyPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPk5vIHRpdGxlIG9yIGFydGlzdCBtZXRhZGF0YSDigJQganVzdCB0aGUgcGxheWVyLjwvZGl2PgogICAgICA8ZGVlcy1hdWRpby12aWV3ZXIKICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMy5tcDMiCiAgICAgID48L2RlZXMtYXVkaW8tdmlld2VyPgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW8iKX0pO3ZhciBUcix1YSxiSnQsU0JlPWMoKCk9PntwZSgpO0t0KCk7Z0p0KCk7VHI9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LHVhPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxiSnQ9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLWF1ZGlvLXZpZXdlciIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdLEUsXz1bXSxDPVtdLE4sJD1bXSxJPVtdLGosUz1bXSx6PVtdLEQsVD1bXSxBPVtdLFUsUj1bXSxxPVtdLG9lLE89W10scmU9W10seWUsQj1bXSxlZT1bXSxDZSxZPVtdLFA9W10sSCxHPVtdLFc9W10sc2UsemU9W10sTWU9W107dmFyIEVlPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzQXVkaW9WaWV3ZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgVj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKCldLGg9W0woKV0scD1bTCgpXSx4PVtMKHt0eXBlOkJvb2xlYW59KV0seT1bTCh7dHlwZTpCb29sZWFufSldLEU9W0woe3R5cGU6Qm9vbGVhbn0pXSxOPVtaKCldLGo9W1ooKV0sRD1bWigpXSxVPVtaKCldLG9lPVtaKCldLHllPVtaKCldLENlPVtaKCldLEg9W1ooKV0sc2U9W1ooKV0sVHIodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzcmMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+InNyYyJpbiBGLCJoYXMiKSxnZXQ6aShGPT5GLnNyYywiZ2V0Iiksc2V0OmkoKEYsbmUpPT57Ri5zcmM9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sbyxsKSxUcih0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpdGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEY9PiJ0aXRsZSJpbiBGLCJoYXMiKSxnZXQ6aShGPT5GLnRpdGxlLCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLnRpdGxlPW5lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LHUsZiksVHIodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcnRpc3QiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+ImFydGlzdCJpbiBGLCJoYXMiKSxnZXQ6aShGPT5GLmFydGlzdCwiZ2V0Iiksc2V0OmkoKEYsbmUpPT57Ri5hcnRpc3Q9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sZyx2KSxUcih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dXYXZlZm9ybSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShGPT4ic2hvd1dhdmVmb3JtImluIEYsImhhcyIpLGdldDppKEY9PkYuc2hvd1dhdmVmb3JtLCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLnNob3dXYXZlZm9ybT1uZX0sInNldCIpfSxtZXRhZGF0YTpWfSxiLG0pLFRyKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXV0b3BsYXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+ImF1dG9wbGF5ImluIEYsImhhcyIpLGdldDppKEY9PkYuYXV0b3BsYXksImdldCIpLHNldDppKChGLG5lKT0+e0YuYXV0b3BsYXk9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sTSxrKSxUcih0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imxvb3AiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+Imxvb3AiaW4gRiwiaGFzIiksZ2V0OmkoRj0+Ri5sb29wLCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLmxvb3A9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sXyxDKSxUcih0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzUGxheWluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShGPT4iaXNQbGF5aW5nImluIEYsImhhcyIpLGdldDppKEY9PkYuaXNQbGF5aW5nLCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLmlzUGxheWluZz1uZX0sInNldCIpfSxtZXRhZGF0YTpWfSwkLEkpLFRyKHRoaXMsbnVsbCxqLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFRpbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+ImN1cnJlbnRUaW1lImluIEYsImhhcyIpLGdldDppKEY9PkYuY3VycmVudFRpbWUsImdldCIpLHNldDppKChGLG5lKT0+e0YuY3VycmVudFRpbWU9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sUyx6KSxUcih0aGlzLG51bGwsRCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImR1cmF0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEY9PiJkdXJhdGlvbiJpbiBGLCJoYXMiKSxnZXQ6aShGPT5GLmR1cmF0aW9uLCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLmR1cmF0aW9uPW5lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LFQsQSksVHIodGhpcyxudWxsLFUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2b2x1bWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+InZvbHVtZSJpbiBGLCJoYXMiKSxnZXQ6aShGPT5GLnZvbHVtZSwiZ2V0Iiksc2V0OmkoKEYsbmUpPT57Ri52b2x1bWU9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sUixxKSxUcih0aGlzLG51bGwsb2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc011dGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEY9PiJpc011dGVkImluIEYsImhhcyIpLGdldDppKEY9PkYuaXNNdXRlZCwiZ2V0Iiksc2V0OmkoKEYsbmUpPT57Ri5pc011dGVkPW5lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LE8scmUpLFRyKHRoaXMsbnVsbCx5ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+ImxvYWRpbmciaW4gRiwiaGFzIiksZ2V0OmkoRj0+Ri5sb2FkaW5nLCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLmxvYWRpbmc9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sQixlZSksVHIodGhpcyxudWxsLENlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+ImVycm9yImluIEYsImhhcyIpLGdldDppKEY9PkYuZXJyb3IsImdldCIpLHNldDppKChGLG5lKT0+e0YuZXJyb3I9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sWSxQKSxUcih0aGlzLG51bGwsSCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndhdmVmb3JtRGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShGPT4id2F2ZWZvcm1EYXRhImluIEYsImhhcyIpLGdldDppKEY9PkYud2F2ZWZvcm1EYXRhLCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLndhdmVmb3JtRGF0YT1uZX0sInNldCIpfSxtZXRhZGF0YTpWfSxHLFcpLFRyKHRoaXMsbnVsbCxzZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndhdmVmb3JtUmVhZHkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoRj0+IndhdmVmb3JtUmVhZHkiaW4gRiwiaGFzIiksZ2V0OmkoRj0+Ri53YXZlZm9ybVJlYWR5LCJnZXQiKSxzZXQ6aSgoRixuZSk9PntGLndhdmVmb3JtUmVhZHk9bmV9LCJzZXQiKX0sbWV0YWRhdGE6Vn0semUsTWUpLFRyKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlZ9LG51bGwsYSksRWU9cj1lLnZhbHVlLFYmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Vn0pfXN0YXRpYyBkZW1vPW1KdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIl07I2U9dWEodGhpcyxvLCIiKTtnZXQgc3JjKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNyYyhWKXt0aGlzLiNlPVZ9I3Q9KHVhKHRoaXMsbCksdWEodGhpcyx1LCIiKSk7Z2V0IHRpdGxlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHRpdGxlKFYpe3RoaXMuI3Q9Vn0jYT0odWEodGhpcyxmKSx1YSh0aGlzLGcsIiIpKTtnZXQgYXJ0aXN0KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGFydGlzdChWKXt0aGlzLiNhPVZ9I3I9KHVhKHRoaXMsdiksdWEodGhpcyxiLCEwKSk7Z2V0IHNob3dXYXZlZm9ybSgpe3JldHVybiB0aGlzLiNyfXNldCBzaG93V2F2ZWZvcm0oVil7dGhpcy4jcj1WfSNpPSh1YSh0aGlzLG0pLHVhKHRoaXMsTSwhMSkpO2dldCBhdXRvcGxheSgpe3JldHVybiB0aGlzLiNpfXNldCBhdXRvcGxheShWKXt0aGlzLiNpPVZ9I3M9KHVhKHRoaXMsayksdWEodGhpcyxfLCExKSk7Z2V0IGxvb3AoKXtyZXR1cm4gdGhpcy4jc31zZXQgbG9vcChWKXt0aGlzLiNzPVZ9I289KHVhKHRoaXMsQyksdWEodGhpcywkLCExKSk7Z2V0IGlzUGxheWluZygpe3JldHVybiB0aGlzLiNvfXNldCBpc1BsYXlpbmcoVil7dGhpcy4jbz1WfSNuPSh1YSh0aGlzLEkpLHVhKHRoaXMsUywwKSk7Z2V0IGN1cnJlbnRUaW1lKCl7cmV0dXJuIHRoaXMuI259c2V0IGN1cnJlbnRUaW1lKFYpe3RoaXMuI249Vn0jbD0odWEodGhpcyx6KSx1YSh0aGlzLFQsMCkpO2dldCBkdXJhdGlvbigpe3JldHVybiB0aGlzLiNsfXNldCBkdXJhdGlvbihWKXt0aGlzLiNsPVZ9I2M9KHVhKHRoaXMsQSksdWEodGhpcyxSLDEpKTtnZXQgdm9sdW1lKCl7cmV0dXJuIHRoaXMuI2N9c2V0IHZvbHVtZShWKXt0aGlzLiNjPVZ9I2Q9KHVhKHRoaXMscSksdWEodGhpcyxPLCExKSk7Z2V0IGlzTXV0ZWQoKXtyZXR1cm4gdGhpcy4jZH1zZXQgaXNNdXRlZChWKXt0aGlzLiNkPVZ9I3A9KHVhKHRoaXMscmUpLHVhKHRoaXMsQiwhMSkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI3B9c2V0IGxvYWRpbmcoVil7dGhpcy4jcD1WfSN1PSh1YSh0aGlzLGVlKSx1YSh0aGlzLFksIiIpKTtnZXQgZXJyb3IoKXtyZXR1cm4gdGhpcy4jdX1zZXQgZXJyb3IoVil7dGhpcy4jdT1WfSNmPSh1YSh0aGlzLFApLHVhKHRoaXMsRyxbXSkpO2dldCB3YXZlZm9ybURhdGEoKXtyZXR1cm4gdGhpcy4jZn1zZXQgd2F2ZWZvcm1EYXRhKFYpe3RoaXMuI2Y9Vn0jaD0odWEodGhpcyxXKSx1YSh0aGlzLHplLCExKSk7Z2V0IHdhdmVmb3JtUmVhZHkoKXtyZXR1cm4gdGhpcy4jaH1zZXQgd2F2ZWZvcm1SZWFkeShWKXt0aGlzLiNoPVZ9YXVkaW9FbGVtZW50PSh1YSh0aGlzLE1lKSxudWxsKTtjYW52YXNFbGVtZW50PW51bGw7YW5pbUZyYW1lSWQ9MDt2b2x1bWVCZWZvcmVNdXRlPTE7cmVuZGVyKCl7bGV0IFY9dGhpcy50aXRsZSYmdGhpcy5hcnRpc3Q/YCR7dGhpcy50aXRsZX0gXHUyMDE0ICR7dGhpcy5hcnRpc3R9YDp0aGlzLnRpdGxlfHx0aGlzLmFydGlzdHx8IiI7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgICB9CgogICAgICAgIC52aWV3ZXItY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk3JSkiLCJoc2woMjE1IDIwJSAxMCUpIil9OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsImhzbCgyMTUgMjAlIDE1JSkiKX07CiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1ncm91cCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogNHB4OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItZ3JvdXAtLWVuZCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogNHB4OwogICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1idXR0b24gewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbiBkZWVzLWljb24gewogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItYnV0dG9uOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MiUpIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1idXR0b246YWN0aXZlIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZTVlN2ViIiwiIzNmM2Y0NiIpfTsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbi5hY3RpdmUgewogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLXRpdGxlIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgICB9CgogICAgICAgIC50aW1lLWRpc3BsYXkgewogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICAgICAgbWluLXdpZHRoOiA5MHB4OwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgfQoKICAgICAgICAudm9sdW1lLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgfQoKICAgICAgICAudm9sdW1lLXNsaWRlciB7CiAgICAgICAgICB3aWR0aDogNzBweDsKICAgICAgICAgIGhlaWdodDogNHB4OwogICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MSUpIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQoKICAgICAgICAudm9sdW1lLXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgewogICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgICAgICAgd2lkdGg6IDEycHg7CiAgICAgICAgICBoZWlnaHQ6IDEycHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQoKICAgICAgICAudm9sdW1lLXNsaWRlcjo6LW1vei1yYW5nZS10aHVtYiB7CiAgICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC5jb250ZW50LWFyZWEgewogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIH0KCiAgICAgICAgLndhdmVmb3JtLWNvbnRhaW5lciB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQoKICAgICAgICAud2F2ZWZvcm0tY29udGFpbmVyIGNhbnZhcyB7CiAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLnNlZWtiYXItY29udGFpbmVyIHsKICAgICAgICAgIHdpZHRoOiA4MCU7CiAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4OwogICAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTElKSIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIH0KCiAgICAgICAgLnNlZWtiYXItZmlsbCB7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjFzIGxpbmVhcjsKICAgICAgICB9CgogICAgICAgIC5lcnJvci1vdmVybGF5IHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgfQoKICAgICAgICAuZXJyb3Itb3ZlcmxheSAuZXJyb3ItaWNvbiB7CiAgICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkYzI2MjYiLCIjZjg3MTcxIil9OwogICAgICAgICAgZm9udC1zaXplOiAzMnB4OwogICAgICAgIH0KCiAgICAgICAgLmVycm9yLXRleHQgewogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIH0KCiAgICAgICAgLmxvYWRpbmctb3ZlcmxheSB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICAubG9hZGluZy1zcGlubmVyIHsKICAgICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgyMTQgMzElIDg2JSkiLCJoc2woMjE3IDI1JSAyOCUpIil9OwogICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYW5pbWF0aW9uOiBzcGluIDAuOHMgbGluZWFyIGluZmluaXRlOwogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQogICAgICAgIH0KICAgICAgPC9zdHlsZT4KCiAgICAgIDxkaXYgY2xhc3M9InZpZXdlci1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cCI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRvb2xiYXItYnV0dG9uIiBAY2xpY2s9JHt0aGlzLnRvZ2dsZVBsYXl9PgogICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOiR7dGhpcy5pc1BsYXlpbmc/IlBhdXNlIjoiUGxheSJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aW1lLWRpc3BsYXkiPgogICAgICAgICAgICAgICR7dGhpcy5mb3JtYXRUaW1lKHRoaXMuY3VycmVudFRpbWUpfSAvICR7dGhpcy5mb3JtYXRUaW1lKHRoaXMuZHVyYXRpb24pfQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAke1Y/d2AKICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRvb2xiYXItdGl0bGUiPiR7Vn08L3NwYW4+CiAgICAgICAgICBgOiIifQoKICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItZ3JvdXAtLWVuZCI+CiAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24gJHt0aGlzLmxvb3A/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMudG9nZ2xlTG9vcH0KICAgICAgICAgICAgICB0aXRsZT0iTG9vcCIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlJlcGVhdCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0idm9sdW1lLWdyb3VwIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy50b2dnbGVNdXRlfSB0aXRsZT0iJHt0aGlzLmlzTXV0ZWQ/IlVubXV0ZSI6Ik11dGUifSI+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZToke3RoaXMuaXNNdXRlZHx8dGhpcy52b2x1bWU9PT0wPyJWb2x1bWVYIjp0aGlzLnZvbHVtZTwuNT8iVm9sdW1lMSI6IlZvbHVtZTIifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICBjbGFzcz0idm9sdW1lLXNsaWRlciIKICAgICAgICAgICAgICAgIHR5cGU9InJhbmdlIgogICAgICAgICAgICAgICAgbWluPSIwIgogICAgICAgICAgICAgICAgbWF4PSIxIgogICAgICAgICAgICAgICAgc3RlcD0iMC4wMSIKICAgICAgICAgICAgICAgIC52YWx1ZT0ke1N0cmluZyh0aGlzLmlzTXV0ZWQ/MDp0aGlzLnZvbHVtZSl9CiAgICAgICAgICAgICAgICBAaW5wdXQ9JHt0aGlzLmhhbmRsZVZvbHVtZUNoYW5nZX0KICAgICAgICAgICAgICAvPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50LWFyZWEiPgogICAgICAgICAgJHt0aGlzLmVycm9yP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLW92ZXJsYXkiPgogICAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9ImVycm9yLWljb24iIGljb249Imx1Y2lkZTpNdXNpY09mZiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVycm9yLXRleHQiPiR7dGhpcy5lcnJvcn08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDp0aGlzLmxvYWRpbmc/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1vdmVybGF5Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6dGhpcy5zaG93V2F2ZWZvcm0/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0id2F2ZWZvcm0tY29udGFpbmVyIiBAY2xpY2s9JHt0aGlzLmhhbmRsZVdhdmVmb3JtQ2xpY2t9PgogICAgICAgICAgICAgIDxjYW52YXM+PC9jYW52YXM+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDp3YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWVrYmFyLWNvbnRhaW5lciIgQGNsaWNrPSR7dGhpcy5oYW5kbGVTZWVrYmFyQ2xpY2t9PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlZWtiYXItZmlsbCIgc3R5bGU9IndpZHRoOiAke3RoaXMuZHVyYXRpb24/dGhpcy5jdXJyZW50VGltZS90aGlzLmR1cmF0aW9uKjEwMDowfSUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5zcmMmJnRoaXMuaW5pdEF1ZGlvKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuY2xlYW51cCgpfWFzeW5jIHVwZGF0ZWQoVil7c3VwZXIudXBkYXRlZChWKSxWLmhhcygic3JjIikmJnRoaXMuc3JjJiYodGhpcy5jbGVhbnVwKCksdGhpcy5pbml0QXVkaW8oKSksKFYuaGFzKCJ3YXZlZm9ybURhdGEiKXx8Vi5oYXMoImN1cnJlbnRUaW1lIikpJiZ0aGlzLmRyYXdXYXZlZm9ybSgpfXBsYXkoKXt0aGlzLmF1ZGlvRWxlbWVudD8ucGxheSgpfXBhdXNlKCl7dGhpcy5hdWRpb0VsZW1lbnQ/LnBhdXNlKCl9dG9nZ2xlUGxheSgpe3RoaXMuaXNQbGF5aW5nP3RoaXMucGF1c2UoKTp0aGlzLnBsYXkoKX1zZWVrKFYpe3RoaXMuYXVkaW9FbGVtZW50JiYodGhpcy5hdWRpb0VsZW1lbnQuY3VycmVudFRpbWU9Vil9c2V0Vm9sdW1lKFYpe3RoaXMudm9sdW1lPU1hdGgubWF4KDAsTWF0aC5taW4oMSxWKSksdGhpcy5hdWRpb0VsZW1lbnQmJih0aGlzLmF1ZGlvRWxlbWVudC52b2x1bWU9dGhpcy52b2x1bWUpLHRoaXMudm9sdW1lPjAmJih0aGlzLmlzTXV0ZWQ9ITEpfXRvZ2dsZU11dGUoKXt0aGlzLmlzTXV0ZWQ/KHRoaXMuaXNNdXRlZD0hMSx0aGlzLnZvbHVtZT10aGlzLnZvbHVtZUJlZm9yZU11dGV8fC41LHRoaXMuYXVkaW9FbGVtZW50JiYodGhpcy5hdWRpb0VsZW1lbnQudm9sdW1lPXRoaXMudm9sdW1lKSk6KHRoaXMudm9sdW1lQmVmb3JlTXV0ZT10aGlzLnZvbHVtZSx0aGlzLmlzTXV0ZWQ9ITAsdGhpcy5hdWRpb0VsZW1lbnQmJih0aGlzLmF1ZGlvRWxlbWVudC52b2x1bWU9MCkpfXRvZ2dsZUxvb3AoKXt0aGlzLmxvb3A9IXRoaXMubG9vcCx0aGlzLmF1ZGlvRWxlbWVudCYmKHRoaXMuYXVkaW9FbGVtZW50Lmxvb3A9dGhpcy5sb29wKX1pbml0QXVkaW8oKXt0aGlzLmF1ZGlvRWxlbWVudD1uZXcgQXVkaW8sdGhpcy5hdWRpb0VsZW1lbnQuY3Jvc3NPcmlnaW49ImFub255bW91cyIsdGhpcy5hdWRpb0VsZW1lbnQuc3JjPXRoaXMuc3JjLHRoaXMuYXVkaW9FbGVtZW50LnZvbHVtZT10aGlzLmlzTXV0ZWQ/MDp0aGlzLnZvbHVtZSx0aGlzLmF1ZGlvRWxlbWVudC5sb29wPXRoaXMubG9vcCx0aGlzLmF1ZGlvRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJsb2FkZWRtZXRhZGF0YSIsKCk9Pnt0aGlzLmR1cmF0aW9uPXRoaXMuYXVkaW9FbGVtZW50LmR1cmF0aW9uLHRoaXMubG9hZGluZz0hMX0pLHRoaXMuYXVkaW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBsYXkiLCgpPT57dGhpcy5pc1BsYXlpbmc9ITAsdGhpcy5zdGFydFRpbWVVcGRhdGUoKX0pLHRoaXMuYXVkaW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBhdXNlIiwoKT0+e3RoaXMuaXNQbGF5aW5nPSExLHRoaXMuc3RvcFRpbWVVcGRhdGUoKX0pLHRoaXMuYXVkaW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImVuZGVkIiwoKT0+e3RoaXMuaXNQbGF5aW5nPSExLHRoaXMuc3RvcFRpbWVVcGRhdGUoKX0pLHRoaXMuYXVkaW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e3RoaXMuZXJyb3I9IkZhaWxlZCB0byBsb2FkIGF1ZGlvIix0aGlzLmxvYWRpbmc9ITF9KSx0aGlzLmF1ZGlvRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0aW1ldXBkYXRlIiwoKT0+e3RoaXMuY3VycmVudFRpbWU9dGhpcy5hdWRpb0VsZW1lbnQuY3VycmVudFRpbWV9KSx0aGlzLmF1dG9wbGF5JiZ0aGlzLmF1ZGlvRWxlbWVudC5wbGF5KCkuY2F0Y2goKCk9Pnt9KSx0aGlzLnNob3dXYXZlZm9ybSYmdGhpcy5sb2FkV2F2ZWZvcm0oKX1hc3luYyBsb2FkV2F2ZWZvcm0oKXt0cnl7dGhpcy5sb2FkaW5nPSEwO2xldCBGPWF3YWl0KGF3YWl0IGZldGNoKHRoaXMuc3JjKSkuYXJyYXlCdWZmZXIoKSxuZT1uZXcgQXVkaW9Db250ZXh0LEs9KGF3YWl0IG5lLmRlY29kZUF1ZGlvRGF0YShGKSkuZ2V0Q2hhbm5lbERhdGEoMCksa2U9MjAwLHZlPU1hdGguZmxvb3IoSy5sZW5ndGgva2UpLGRlPVtdO2ZvcihsZXQgVmU9MDtWZTxrZTtWZSsrKXtsZXQgUWU9MDtmb3IobGV0IFRlPTA7VGU8dmU7VGUrKylRZSs9TWF0aC5hYnMoS1tWZSp2ZStUZV0pO2RlLnB1c2goUWUvdmUpfWxldCAkZT1NYXRoLm1heCguLi5kZSk7dGhpcy53YXZlZm9ybURhdGE9ZGUubWFwKFZlPT4kZT4wP1ZlLyRlOjApLHRoaXMud2F2ZWZvcm1SZWFkeT0hMCx0aGlzLmxvYWRpbmc9ITEsYXdhaXQgbmUuY2xvc2UoKX1jYXRjaHt0aGlzLndhdmVmb3JtUmVhZHk9ITEsdGhpcy5sb2FkaW5nPSExfX1kcmF3V2F2ZWZvcm0oKXtpZighdGhpcy5zaG93V2F2ZWZvcm18fCF0aGlzLndhdmVmb3JtUmVhZHkpcmV0dXJuO2xldCBWPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiY2FudmFzIik7aWYoIVYpcmV0dXJuO3RoaXMuY2FudmFzRWxlbWVudD1WO2xldCBGPVYucGFyZW50RWxlbWVudCxuZT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MSx0ZT1GLmNsaWVudFdpZHRoLEs9Ri5jbGllbnRIZWlnaHQ7Vi53aWR0aD10ZSpuZSxWLmhlaWdodD1LKm5lO2xldCBrZT1WLmdldENvbnRleHQoIjJkIik7aWYoIWtlKXJldHVybjtrZS5zY2FsZShuZSxuZSksa2UuY2xlYXJSZWN0KDAsMCx0ZSxLKTtsZXQgdmU9dGhpcy53YXZlZm9ybURhdGEubGVuZ3RoO2lmKHZlPT09MClyZXR1cm47bGV0IGRlPXRlL3ZlLCRlPXRoaXMuZHVyYXRpb24+MD90aGlzLmN1cnJlbnRUaW1lL3RoaXMuZHVyYXRpb246MCxWZT1NYXRoLmZsb29yKCRlKnZlKSxRZT1kb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5jb250YWlucygidGhlbWUtZGFyayIpfHx3aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSIpLm1hdGNoZXMsVGU9UWU/ImhzbCgyMTMgOTMlIDY4JSkiOiJoc2woMjE3IDkxJSA2MCUpIixsZT1RZT8iaHNsKDIxNyAyNSUgMjIlKSI6ImhzbCgyMTQgMzElIDg2JSkiO2ZvcihsZXQgZmU9MDtmZTx2ZTtmZSsrKXtsZXQgU2U9dGhpcy53YXZlZm9ybURhdGFbZmVdLEhlPU1hdGgubWF4KDIsU2UqKEstNCkpLEtlPWZlKmRlLGt0PShLLUhlKS8yO2tlLmZpbGxTdHlsZT1mZTxWZT9UZTpsZSxrZS5maWxsUmVjdChLZSsuNSxrdCxkZS0xLEhlKX19aGFuZGxlV2F2ZWZvcm1DbGljayhWKXtsZXQgRj1WLmN1cnJlbnRUYXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbmU9KFYuY2xpZW50WC1GLmxlZnQpL0Yud2lkdGg7dGhpcy5zZWVrKG5lKnRoaXMuZHVyYXRpb24pfWhhbmRsZVNlZWtiYXJDbGljayhWKXtsZXQgRj1WLmN1cnJlbnRUYXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbmU9KFYuY2xpZW50WC1GLmxlZnQpL0Yud2lkdGg7dGhpcy5zZWVrKG5lKnRoaXMuZHVyYXRpb24pfWhhbmRsZVZvbHVtZUNoYW5nZShWKXtsZXQgRj1wYXJzZUZsb2F0KFYudGFyZ2V0LnZhbHVlKTt0aGlzLnNldFZvbHVtZShGKX1zdGFydFRpbWVVcGRhdGUoKXt0aGlzLnN0b3BUaW1lVXBkYXRlKCk7bGV0IFY9aSgoKT0+e3RoaXMuYXVkaW9FbGVtZW50JiZ0aGlzLmlzUGxheWluZyYmKHRoaXMuY3VycmVudFRpbWU9dGhpcy5hdWRpb0VsZW1lbnQuY3VycmVudFRpbWUsdGhpcy5hbmltRnJhbWVJZD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoVikpfSwidXBkYXRlIik7dGhpcy5hbmltRnJhbWVJZD1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoVil9c3RvcFRpbWVVcGRhdGUoKXt0aGlzLmFuaW1GcmFtZUlkJiYoY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5hbmltRnJhbWVJZCksdGhpcy5hbmltRnJhbWVJZD0wKX1mb3JtYXRUaW1lKFYpe2lmKCFpc0Zpbml0ZShWKXx8VjwwKXJldHVybiIwOjAwIjtsZXQgRj1NYXRoLmZsb29yKFYvNjApLG5lPU1hdGguZmxvb3IoViU2MCk7cmV0dXJuYCR7Rn06JHtuZS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gfWNsZWFudXAoKXt0aGlzLnN0b3BUaW1lVXBkYXRlKCksdGhpcy5hdWRpb0VsZW1lbnQmJih0aGlzLmF1ZGlvRWxlbWVudC5wYXVzZSgpLHRoaXMuYXVkaW9FbGVtZW50LnNyYz0iIix0aGlzLmF1ZGlvRWxlbWVudD1udWxsKSx0aGlzLmlzUGxheWluZz0hMSx0aGlzLmN1cnJlbnRUaW1lPTAsdGhpcy5kdXJhdGlvbj0wLHRoaXMud2F2ZWZvcm1EYXRhPVtdLHRoaXMud2F2ZWZvcm1SZWFkeT0hMX1zdGF0aWN7dWEocixhKX19O3JldHVybiBFZT1yfSkoKX0pO3ZhciB2SnQ9YygoKT0+e1NCZSgpfSk7dmFyIHhKdCx5SnQ9YygoKT0+e3BlKCk7eEp0PWkoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgcGFkZGluZzogNDhweDsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmOGY5ZmEiLCIjMGEwYTBhIil9OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDMycHg7CiAgICB9CgogICAgLnNlY3Rpb24gewogICAgICBtYXgtd2lkdGg6IDgwMHB4OwogICAgICB3aWR0aDogMTAwJTsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICB9CgogICAgLnNlY3Rpb24tdGl0bGUgewogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIH0KCiAgICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgIH0KICA8L3N0eWxlPgoKICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+VmlkZW8gd2l0aCBDdXN0b20gQ29udHJvbHM8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+QSB2aWRlbyBwbGF5ZXIgd2l0aCBvdmVybGF5IGNvbnRyb2xzLCBzZWVraW5nLCBhbmQgdm9sdW1lIGFkanVzdG1lbnQuPC9kaXY+CiAgICAgIDxkZWVzLXZpZGVvLXZpZXdlcgogICAgICAgIHNyYz0iaHR0cHM6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9ndHYtdmlkZW9zLWJ1Y2tldC9zYW1wbGUvQmlnQnVja0J1bm55Lm1wNCIKICAgICAgICBwb3N0ZXI9Imh0dHBzOi8vY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZ3R2LXZpZGVvcy1idWNrZXQvc2FtcGxlL2ltYWdlcy9CaWdCdWNrQnVubnkuanBnIgogICAgICA+PC9kZWVzLXZpZGVvLXZpZXdlcj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BdXRvcGxheSBNdXRlZDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5WaWRlbyB0aGF0IGF1dG9wbGF5cyBtdXRlZCwgY29tbW9ubHkgdXNlZCBmb3IgcHJldmlld3MuPC9kaXY+CiAgICAgIDxkZWVzLXZpZGVvLXZpZXdlcgogICAgICAgIHNyYz0iaHR0cHM6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9ndHYtdmlkZW9zLWJ1Y2tldC9zYW1wbGUvRWxlcGhhbnRzRHJlYW0ubXA0IgogICAgICAgIHBvc3Rlcj0iaHR0cHM6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9ndHYtdmlkZW9zLWJ1Y2tldC9zYW1wbGUvaW1hZ2VzL0VsZXBoYW50c0RyZWFtLmpwZyIKICAgICAgICAuYXV0b3BsYXk9JHshMH0KICAgICAgICAubXV0ZWQ9JHshMH0KICAgICAgPjwvZGVlcy12aWRlby12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TmF0aXZlIENvbnRyb2xzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlZpZGVvIHVzaW5nIGJyb3dzZXItbmF0aXZlIGNvbnRyb2xzIGluc3RlYWQgb2YgY3VzdG9tIG92ZXJsYXkuPC9kaXY+CiAgICAgIDxkZWVzLXZpZGVvLXZpZXdlcgogICAgICAgIHNyYz0iaHR0cHM6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9ndHYtdmlkZW9zLWJ1Y2tldC9zYW1wbGUvRm9yQmlnZ2VyQmxhemVzLm1wNCIKICAgICAgICAuc2hvd0NvbnRyb2xzPSR7ITF9CiAgICAgID48L2RlZXMtdmlkZW8tdmlld2VyPgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW8iKX0pO3ZhciBWcix6YSx3SnQsQ0JlPWMoKCk9PntwZSgpO0t0KCk7eUp0KCk7VnI9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LHphPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSx3SnQ9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLXZpZGVvLXZpZXdlciIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdLEUsXz1bXSxDPVtdLE4sJD1bXSxJPVtdLGosUz1bXSx6PVtdLEQsVD1bXSxBPVtdLFUsUj1bXSxxPVtdLG9lLE89W10scmU9W10seWUsQj1bXSxlZT1bXSxDZSxZPVtdLFA9W10sSCxHPVtdLFc9W107dmFyIHNlPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzVmlkZW9WaWV3ZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgemU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCgpXSxoPVtMKCldLHA9W0woe3R5cGU6Qm9vbGVhbn0pXSx4PVtMKHt0eXBlOkJvb2xlYW59KV0seT1bTCh7dHlwZTpCb29sZWFufSldLEU9W0woe3R5cGU6Qm9vbGVhbn0pXSxOPVtaKCldLGo9W1ooKV0sRD1bWigpXSxVPVtaKCldLG9lPVtaKCldLHllPVtaKCldLENlPVtaKCldLEg9W1ooKV0sVnIodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzcmMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoTWU9PiJzcmMiaW4gTWUsImhhcyIpLGdldDppKE1lPT5NZS5zcmMsImdldCIpLHNldDppKChNZSxFZSk9PntNZS5zcmM9RWV9LCJzZXQiKX0sbWV0YWRhdGE6emV9LG8sbCksVnIodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwb3N0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoTWU9PiJwb3N0ZXIiaW4gTWUsImhhcyIpLGdldDppKE1lPT5NZS5wb3N0ZXIsImdldCIpLHNldDppKChNZSxFZSk9PntNZS5wb3N0ZXI9RWV9LCJzZXQiKX0sbWV0YWRhdGE6emV9LHUsZiksVnIodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93Q29udHJvbHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoTWU9PiJzaG93Q29udHJvbHMiaW4gTWUsImhhcyIpLGdldDppKE1lPT5NZS5zaG93Q29udHJvbHMsImdldCIpLHNldDppKChNZSxFZSk9PntNZS5zaG93Q29udHJvbHM9RWV9LCJzZXQiKX0sbWV0YWRhdGE6emV9LGcsdiksVnIodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhdXRvcGxheSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShNZT0+ImF1dG9wbGF5ImluIE1lLCJoYXMiKSxnZXQ6aShNZT0+TWUuYXV0b3BsYXksImdldCIpLHNldDppKChNZSxFZSk9PntNZS5hdXRvcGxheT1FZX0sInNldCIpfSxtZXRhZGF0YTp6ZX0sYixtKSxWcih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imxvb3AiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoTWU9PiJsb29wImluIE1lLCJoYXMiKSxnZXQ6aShNZT0+TWUubG9vcCwiZ2V0Iiksc2V0OmkoKE1lLEVlKT0+e01lLmxvb3A9RWV9LCJzZXQiKX0sbWV0YWRhdGE6emV9LE0sayksVnIodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtdXRlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShNZT0+Im11dGVkImluIE1lLCJoYXMiKSxnZXQ6aShNZT0+TWUubXV0ZWQsImdldCIpLHNldDppKChNZSxFZSk9PntNZS5tdXRlZD1FZX0sInNldCIpfSxtZXRhZGF0YTp6ZX0sXyxDKSxWcih0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzUGxheWluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShNZT0+ImlzUGxheWluZyJpbiBNZSwiaGFzIiksZ2V0OmkoTWU9Pk1lLmlzUGxheWluZywiZ2V0Iiksc2V0OmkoKE1lLEVlKT0+e01lLmlzUGxheWluZz1FZX0sInNldCIpfSxtZXRhZGF0YTp6ZX0sJCxJKSxWcih0aGlzLG51bGwsaix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRUaW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKE1lPT4iY3VycmVudFRpbWUiaW4gTWUsImhhcyIpLGdldDppKE1lPT5NZS5jdXJyZW50VGltZSwiZ2V0Iiksc2V0OmkoKE1lLEVlKT0+e01lLmN1cnJlbnRUaW1lPUVlfSwic2V0Iil9LG1ldGFkYXRhOnplfSxTLHopLFZyKHRoaXMsbnVsbCxELHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHVyYXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoTWU9PiJkdXJhdGlvbiJpbiBNZSwiaGFzIiksZ2V0OmkoTWU9Pk1lLmR1cmF0aW9uLCJnZXQiKSxzZXQ6aSgoTWUsRWUpPT57TWUuZHVyYXRpb249RWV9LCJzZXQiKX0sbWV0YWRhdGE6emV9LFQsQSksVnIodGhpcyxudWxsLFUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2b2x1bWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoTWU9PiJ2b2x1bWUiaW4gTWUsImhhcyIpLGdldDppKE1lPT5NZS52b2x1bWUsImdldCIpLHNldDppKChNZSxFZSk9PntNZS52b2x1bWU9RWV9LCJzZXQiKX0sbWV0YWRhdGE6emV9LFIscSksVnIodGhpcyxudWxsLG9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShNZT0+ImxvYWRpbmciaW4gTWUsImhhcyIpLGdldDppKE1lPT5NZS5sb2FkaW5nLCJnZXQiKSxzZXQ6aSgoTWUsRWUpPT57TWUubG9hZGluZz1FZX0sInNldCIpfSxtZXRhZGF0YTp6ZX0sTyxyZSksVnIodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoTWU9PiJlcnJvciJpbiBNZSwiaGFzIiksZ2V0OmkoTWU9Pk1lLmVycm9yLCJnZXQiKSxzZXQ6aSgoTWUsRWUpPT57TWUuZXJyb3I9RWV9LCJzZXQiKX0sbWV0YWRhdGE6emV9LEIsZWUpLFZyKHRoaXMsbnVsbCxDZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzRnVsbHNjcmVlbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShNZT0+ImlzRnVsbHNjcmVlbiJpbiBNZSwiaGFzIiksZ2V0OmkoTWU9Pk1lLmlzRnVsbHNjcmVlbiwiZ2V0Iiksc2V0OmkoKE1lLEVlKT0+e01lLmlzRnVsbHNjcmVlbj1FZX0sInNldCIpfSxtZXRhZGF0YTp6ZX0sWSxQKSxWcih0aGlzLG51bGwsSCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRyb2xzVmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShNZT0+ImNvbnRyb2xzVmlzaWJsZSJpbiBNZSwiaGFzIiksZ2V0OmkoTWU9Pk1lLmNvbnRyb2xzVmlzaWJsZSwiZ2V0Iiksc2V0OmkoKE1lLEVlKT0+e01lLmNvbnRyb2xzVmlzaWJsZT1FZX0sInNldCIpfSxtZXRhZGF0YTp6ZX0sRyxXKSxWcihudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTp6ZX0sbnVsbCxhKSxzZT1yPWUudmFsdWUsemUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6emV9KX1zdGF0aWMgZGVtbz14SnQ7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSJdOyNlPXphKHRoaXMsbywiIik7Z2V0IHNyYygpe3JldHVybiB0aGlzLiNlfXNldCBzcmMoemUpe3RoaXMuI2U9emV9I3Q9KHphKHRoaXMsbCksemEodGhpcyx1LCIiKSk7Z2V0IHBvc3Rlcigpe3JldHVybiB0aGlzLiN0fXNldCBwb3N0ZXIoemUpe3RoaXMuI3Q9emV9I2E9KHphKHRoaXMsZiksemEodGhpcyxnLCEwKSk7Z2V0IHNob3dDb250cm9scygpe3JldHVybiB0aGlzLiNhfXNldCBzaG93Q29udHJvbHMoemUpe3RoaXMuI2E9emV9I3I9KHphKHRoaXMsdiksemEodGhpcyxiLCExKSk7Z2V0IGF1dG9wbGF5KCl7cmV0dXJuIHRoaXMuI3J9c2V0IGF1dG9wbGF5KHplKXt0aGlzLiNyPXplfSNpPSh6YSh0aGlzLG0pLHphKHRoaXMsTSwhMSkpO2dldCBsb29wKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGxvb3AoemUpe3RoaXMuI2k9emV9I3M9KHphKHRoaXMsayksemEodGhpcyxfLCExKSk7Z2V0IG11dGVkKCl7cmV0dXJuIHRoaXMuI3N9c2V0IG11dGVkKHplKXt0aGlzLiNzPXplfSNvPSh6YSh0aGlzLEMpLHphKHRoaXMsJCwhMSkpO2dldCBpc1BsYXlpbmcoKXtyZXR1cm4gdGhpcy4jb31zZXQgaXNQbGF5aW5nKHplKXt0aGlzLiNvPXplfSNuPSh6YSh0aGlzLEkpLHphKHRoaXMsUywwKSk7Z2V0IGN1cnJlbnRUaW1lKCl7cmV0dXJuIHRoaXMuI259c2V0IGN1cnJlbnRUaW1lKHplKXt0aGlzLiNuPXplfSNsPSh6YSh0aGlzLHopLHphKHRoaXMsVCwwKSk7Z2V0IGR1cmF0aW9uKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGR1cmF0aW9uKHplKXt0aGlzLiNsPXplfSNjPSh6YSh0aGlzLEEpLHphKHRoaXMsUiwxKSk7Z2V0IHZvbHVtZSgpe3JldHVybiB0aGlzLiNjfXNldCB2b2x1bWUoemUpe3RoaXMuI2M9emV9I2Q9KHphKHRoaXMscSksemEodGhpcyxPLCEwKSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jZH1zZXQgbG9hZGluZyh6ZSl7dGhpcy4jZD16ZX0jcD0oemEodGhpcyxyZSksemEodGhpcyxCLCIiKSk7Z2V0IGVycm9yKCl7cmV0dXJuIHRoaXMuI3B9c2V0IGVycm9yKHplKXt0aGlzLiNwPXplfSN1PSh6YSh0aGlzLGVlKSx6YSh0aGlzLFksITEpKTtnZXQgaXNGdWxsc2NyZWVuKCl7cmV0dXJuIHRoaXMuI3V9c2V0IGlzRnVsbHNjcmVlbih6ZSl7dGhpcy4jdT16ZX0jZj0oemEodGhpcyxQKSx6YSh0aGlzLEcsITApKTtnZXQgY29udHJvbHNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IGNvbnRyb2xzVmlzaWJsZSh6ZSl7dGhpcy4jZj16ZX1oaWRlQ29udHJvbHNUaW1lcj0oemEodGhpcyxXKSxudWxsKTt2aWRlb0VsZW1lbnQ9bnVsbDtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmOwogICAgICAgIH0KCiAgICAgICAgLnZpZGVvLWNvbnRhaW5lciB7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIGFzcGVjdC1yYXRpbzogMTYgLyA5OwogICAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQoKICAgICAgICB2aWRlbyB7CiAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIG9iamVjdC1maXQ6IGNvbnRhaW47CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB9CgogICAgICAgIC5vdmVybGF5IHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH0KCiAgICAgICAgLmNlbnRlci1wbGF5IHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIHRvcDogNTAlOwogICAgICAgICAgbGVmdDogNTAlOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgICB3aWR0aDogNjRweDsKICAgICAgICAgIGhlaWdodDogNjRweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTsKICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlOwogICAgICAgICAgb3BhY2l0eTogJHt0aGlzLmlzUGxheWluZz8wOjF9OwogICAgICAgICAgcG9pbnRlci1ldmVudHM6ICR7dGhpcy5pc1BsYXlpbmc/Im5vbmUiOiJhdXRvIn07CiAgICAgICAgfQoKICAgICAgICAuY2VudGVyLXBsYXkgZGVlcy1pY29uIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDsKICAgICAgICB9CgogICAgICAgIC5jZW50ZXItcGxheTpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgxLjEpOwogICAgICAgIH0KCiAgICAgICAgLmNvbnRyb2xzLWJhciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC43KSk7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4IDEycHggMTJweDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBvcGFjaXR5OiAke3RoaXMuY29udHJvbHNWaXNpYmxlfHwhdGhpcy5pc1BsYXlpbmc/MTowfTsKICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLnNlZWtiYXItcm93IHsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgfQoKICAgICAgICAuc2Vla2Jhci1yb3c6aG92ZXIgewogICAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgfQoKICAgICAgICAuc2Vla2Jhci1wcm9ncmVzcyB7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB9CgogICAgICAgIC5jb250cm9scy1yb3cgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICB9CgogICAgICAgIC5jdHJsLWJ1dHRvbiB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgIGNvbG9yOiAjZmZmZmZmOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgfQoKICAgICAgICAuY3RybC1idXR0b24gZGVlcy1pY29uIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICB9CgogICAgICAgIC5jdHJsLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpOwogICAgICAgIH0KCiAgICAgICAgLnRpbWUtZGlzcGxheSB7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOwogICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsKICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgfQoKICAgICAgICAuc3BhY2VyIHsKICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgfQoKICAgICAgICAudm9sdW1lLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgfQoKICAgICAgICAudm9sdW1lLXNsaWRlciB7CiAgICAgICAgICB3aWR0aDogNjBweDsKICAgICAgICAgIGhlaWdodDogNHB4OwogICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgfQoKICAgICAgICAudm9sdW1lLXNsaWRlcjo6LXdlYmtpdC1zbGlkZXItdGh1bWIgewogICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOwogICAgICAgICAgd2lkdGg6IDEycHg7CiAgICAgICAgICBoZWlnaHQ6IDEycHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH0KCiAgICAgICAgLnZvbHVtZS1zbGlkZXI6Oi1tb3otcmFuZ2UtdGh1bWIgewogICAgICAgICAgd2lkdGg6IDEycHg7CiAgICAgICAgICBoZWlnaHQ6IDEycHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmOwogICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH0KCiAgICAgICAgLmxvYWRpbmctb3ZlcmxheSB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB9CgogICAgICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7CiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmZmZmOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYW5pbWF0aW9uOiBzcGluIDAuOHMgbGluZWFyIGluZmluaXRlOwogICAgICAgIH0KCiAgICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQogICAgICAgIH0KCiAgICAgICAgLmVycm9yLW92ZXJsYXkgewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTsKICAgICAgICB9CgogICAgICAgIC5lcnJvci1vdmVybGF5IGRlZXMtaWNvbiB7CiAgICAgICAgICBjb2xvcjogI2Y4NzE3MTsKICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDsKICAgICAgICB9CgogICAgICAgIC5lcnJvci10ZXh0IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CgogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9InZpZGVvLWNvbnRhaW5lciIKICAgICAgICBAbW91c2Vtb3ZlPSR7dGhpcy5oYW5kbGVNb3VzZU1vdmV9CiAgICAgICAgQG1vdXNlbGVhdmU9JHt0aGlzLmhhbmRsZU1vdXNlTGVhdmV9CiAgICAgID4KICAgICAgICA8dmlkZW8KICAgICAgICAgIC5zcmM9JHt0aGlzLnNyY30KICAgICAgICAgIC5wb3N0ZXI9JHt0aGlzLnBvc3Rlcn0KICAgICAgICAgIC5tdXRlZD0ke3RoaXMubXV0ZWR9CiAgICAgICAgICAubG9vcD0ke3RoaXMubG9vcH0KICAgICAgICAgID9hdXRvcGxheT0ke3RoaXMuYXV0b3BsYXl9CiAgICAgICAgICA/Y29udHJvbHM9JHshdGhpcy5zaG93Q29udHJvbHN9CiAgICAgICAgICBwbGF5c2lubGluZQogICAgICAgICAgQGxvYWRlZG1ldGFkYXRhPSR7dGhpcy5oYW5kbGVMb2FkZWRNZXRhZGF0YX0KICAgICAgICAgIEBwbGF5PSR7dGhpcy5oYW5kbGVQbGF5fQogICAgICAgICAgQHBhdXNlPSR7dGhpcy5oYW5kbGVQYXVzZX0KICAgICAgICAgIEBlbmRlZD0ke3RoaXMuaGFuZGxlRW5kZWR9CiAgICAgICAgICBAdGltZXVwZGF0ZT0ke3RoaXMuaGFuZGxlVGltZVVwZGF0ZX0KICAgICAgICAgIEBlcnJvcj0ke3RoaXMuaGFuZGxlRXJyb3J9CiAgICAgICAgICBAd2FpdGluZz0keygpPT57dGhpcy5sb2FkaW5nPSEwfX0KICAgICAgICAgIEBjYW5wbGF5PSR7KCk9Pnt0aGlzLmxvYWRpbmc9ITF9fQogICAgICAgID48L3ZpZGVvPgoKICAgICAgICAke3RoaXMuc2hvd0NvbnRyb2xzP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVybGF5IiBAY2xpY2s9JHt0aGlzLmhhbmRsZU92ZXJsYXlDbGlja30+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlbnRlci1wbGF5Ij4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpQbGF5Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9scy1iYXIiIEBjbGljaz0ke3plPT56ZS5zdG9wUHJvcGFnYXRpb24oKX0+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2Vla2Jhci1yb3ciIEBjbGljaz0ke3RoaXMuaGFuZGxlU2Vla30+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWVrYmFyLXByb2dyZXNzIiBzdHlsZT0id2lkdGg6ICR7dGhpcy5kdXJhdGlvbj90aGlzLmN1cnJlbnRUaW1lL3RoaXMuZHVyYXRpb24qMTAwOjB9JSI+PC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzLXJvdyI+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHJsLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy50b2dnbGVQbGF5fT4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6JHt0aGlzLmlzUGxheWluZz8iUGF1c2UiOiJQbGF5In0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9idXR0b24+CgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpbWUtZGlzcGxheSI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5mb3JtYXRUaW1lKHRoaXMuY3VycmVudFRpbWUpfSAvICR7dGhpcy5mb3JtYXRUaW1lKHRoaXMuZHVyYXRpb24pfQogICAgICAgICAgICAgICAgPC9zcGFuPgoKICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzcGFjZXIiPjwvc3Bhbj4KCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2b2x1bWUtZ3JvdXAiPgogICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHJsLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy50b2dnbGVNdXRlfT4KICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZToke3RoaXMubXV0ZWR8fHRoaXMudm9sdW1lPT09MD8iVm9sdW1lWCI6dGhpcy52b2x1bWU8LjU/IlZvbHVtZTEiOiJWb2x1bWUyIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InZvbHVtZS1zbGlkZXIiCiAgICAgICAgICAgICAgICAgICAgdHlwZT0icmFuZ2UiCiAgICAgICAgICAgICAgICAgICAgbWluPSIwIgogICAgICAgICAgICAgICAgICAgIG1heD0iMSIKICAgICAgICAgICAgICAgICAgICBzdGVwPSIwLjAxIgogICAgICAgICAgICAgICAgICAgIC52YWx1ZT0ke1N0cmluZyh0aGlzLm11dGVkPzA6dGhpcy52b2x1bWUpfQogICAgICAgICAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlVm9sdW1lQ2hhbmdlfQogICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3RybC1idXR0b24iIEBjbGljaz0ke3RoaXMudG9nZ2xlRnVsbHNjcmVlbn0gdGl0bGU9IkZ1bGxzY3JlZW4iPgogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZToke3RoaXMuaXNGdWxsc2NyZWVuPyJNaW5pbWl6ZSI6Ik1heGltaXplIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgJHt0aGlzLmxvYWRpbmcmJiF0aGlzLmVycm9yP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLW92ZXJsYXkiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiPjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgJHt0aGlzLmVycm9yP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJlcnJvci1vdmVybGF5Ij4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6VmlkZW9PZmYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZXJyb3ItdGV4dCI+JHt0aGlzLmVycm9yfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXt0aGlzLnZpZGVvRWxlbWVudD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoInZpZGVvIil8fG51bGwsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmNoYW5nZSIsdGhpcy5oYW5kbGVGdWxsc2NyZWVuQ2hhbmdlKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZnVsbHNjcmVlbmNoYW5nZSIsdGhpcy5oYW5kbGVGdWxsc2NyZWVuQ2hhbmdlKSx0aGlzLmhpZGVDb250cm9sc1RpbWVyJiZjbGVhclRpbWVvdXQodGhpcy5oaWRlQ29udHJvbHNUaW1lcil9cGxheSgpe3RoaXMudmlkZW9FbGVtZW50Py5wbGF5KCl9cGF1c2UoKXt0aGlzLnZpZGVvRWxlbWVudD8ucGF1c2UoKX10b2dnbGVQbGF5KCl7dGhpcy5pc1BsYXlpbmc/dGhpcy5wYXVzZSgpOnRoaXMucGxheSgpfXNlZWsoemUpe3RoaXMudmlkZW9FbGVtZW50JiYodGhpcy52aWRlb0VsZW1lbnQuY3VycmVudFRpbWU9emUpfXNldFZvbHVtZSh6ZSl7dGhpcy52b2x1bWU9TWF0aC5tYXgoMCxNYXRoLm1pbigxLHplKSksdGhpcy52aWRlb0VsZW1lbnQmJih0aGlzLnZpZGVvRWxlbWVudC52b2x1bWU9dGhpcy52b2x1bWUpfXRvZ2dsZUZ1bGxzY3JlZW4oKXtsZXQgemU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudmlkZW8tY29udGFpbmVyIik7emUmJih0aGlzLmlzRnVsbHNjcmVlbj9kb2N1bWVudC5leGl0RnVsbHNjcmVlbj8uKCk6emUucmVxdWVzdEZ1bGxzY3JlZW4/LigpKX1oYW5kbGVMb2FkZWRNZXRhZGF0YSgpe3RoaXMudmlkZW9FbGVtZW50JiYodGhpcy5kdXJhdGlvbj10aGlzLnZpZGVvRWxlbWVudC5kdXJhdGlvbix0aGlzLmxvYWRpbmc9ITEpfWhhbmRsZVBsYXkoKXt0aGlzLmlzUGxheWluZz0hMCx0aGlzLnNjaGVkdWxlSGlkZUNvbnRyb2xzKCl9aGFuZGxlUGF1c2UoKXt0aGlzLmlzUGxheWluZz0hMSx0aGlzLmNvbnRyb2xzVmlzaWJsZT0hMH1oYW5kbGVFbmRlZCgpe3RoaXMuaXNQbGF5aW5nPSExLHRoaXMuY29udHJvbHNWaXNpYmxlPSEwfWhhbmRsZVRpbWVVcGRhdGUoKXt0aGlzLnZpZGVvRWxlbWVudCYmKHRoaXMuY3VycmVudFRpbWU9dGhpcy52aWRlb0VsZW1lbnQuY3VycmVudFRpbWUpfWhhbmRsZUVycm9yKCl7dGhpcy5lcnJvcj0iRmFpbGVkIHRvIGxvYWQgdmlkZW8iLHRoaXMubG9hZGluZz0hMX1oYW5kbGVPdmVybGF5Q2xpY2soKXt0aGlzLnRvZ2dsZVBsYXkoKX1oYW5kbGVTZWVrKHplKXtsZXQgTWU9emUuY3VycmVudFRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxFZT0oemUuY2xpZW50WC1NZS5sZWZ0KS9NZS53aWR0aDt0aGlzLnNlZWsoRWUqdGhpcy5kdXJhdGlvbil9aGFuZGxlVm9sdW1lQ2hhbmdlKHplKXtsZXQgTWU9cGFyc2VGbG9hdCh6ZS50YXJnZXQudmFsdWUpO3RoaXMuc2V0Vm9sdW1lKE1lKSx0aGlzLm11dGVkPU1lPT09MH10b2dnbGVNdXRlKCl7dGhpcy5tdXRlZD0hdGhpcy5tdXRlZCx0aGlzLnZpZGVvRWxlbWVudCYmKHRoaXMudmlkZW9FbGVtZW50Lm11dGVkPXRoaXMubXV0ZWQpfWhhbmRsZU1vdXNlTW92ZSgpe3RoaXMuY29udHJvbHNWaXNpYmxlPSEwLHRoaXMuc2NoZWR1bGVIaWRlQ29udHJvbHMoKX1oYW5kbGVNb3VzZUxlYXZlKCl7dGhpcy5pc1BsYXlpbmcmJih0aGlzLmNvbnRyb2xzVmlzaWJsZT0hMSl9c2NoZWR1bGVIaWRlQ29udHJvbHMoKXt0aGlzLmhpZGVDb250cm9sc1RpbWVyJiZjbGVhclRpbWVvdXQodGhpcy5oaWRlQ29udHJvbHNUaW1lciksdGhpcy5pc1BsYXlpbmcmJih0aGlzLmhpZGVDb250cm9sc1RpbWVyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLmNvbnRyb2xzVmlzaWJsZT0hMX0sM2UzKSl9aGFuZGxlRnVsbHNjcmVlbkNoYW5nZT1pKCgpPT57dGhpcy5pc0Z1bGxzY3JlZW49ISFkb2N1bWVudC5mdWxsc2NyZWVuRWxlbWVudH0sImhhbmRsZUZ1bGxzY3JlZW5DaGFuZ2UiKTtmb3JtYXRUaW1lKHplKXtpZighaXNGaW5pdGUoemUpfHx6ZTwwKXJldHVybiIwOjAwIjtsZXQgTWU9TWF0aC5mbG9vcih6ZS82MCksRWU9TWF0aC5mbG9vcih6ZSU2MCk7cmV0dXJuYCR7TWV9OiR7RWUudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YH1zdGF0aWN7emEocixhKX19O3JldHVybiBzZT1yfSkoKX0pO3ZhciBNSnQ9YygoKT0+e0NCZSgpfSk7dmFyIEQyLEpaPWMoKCk9PntwZSgpO0QyPWNsYXNze3N0YXRpY3tpKHRoaXMsIlBkZk1hbmFnZXIiKX1zdGF0aWMgcGRmanNMaWI7c3RhdGljIGluaXRpYWxpemVkPSExO3N0YXRpYyBhc3luYyBpbml0aWFsaXplKCl7dGhpcy5pbml0aWFsaXplZHx8KHRoaXMucGRmanNMaWI9YXdhaXQgaW1wb3J0KCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3BkZmpzLWRpc3RANC4wLjM3OS8rZXNtIiksdGhpcy5wZGZqc0xpYi5HbG9iYWxXb3JrZXJPcHRpb25zLndvcmtlclNyYz0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9wZGZqcy1kaXN0QDQuMC4zNzkvYnVpbGQvcGRmLndvcmtlci5tanMiLHRoaXMuaW5pdGlhbGl6ZWQ9ITApfXN0YXRpYyBhc3luYyBsb2FkRG9jdW1lbnQoZSl7cmV0dXJuIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZSgpLGF3YWl0IHRoaXMucGRmanNMaWIuZ2V0RG9jdW1lbnQoZSkucHJvbWlzZX1zdGF0aWMgcmVsZWFzZURvY3VtZW50KGUpe319fSk7dmFyIGtKdCx6SnQ9YygoKT0+e3BlKCk7a0p0PVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgIDpob3N0IHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IDYwMHB4OwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgIGNvbnRhaW46IGxheW91dCBzdHlsZTsKICAgIH0KCiAgICAucGRmLXZpZXdlciB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NyUpIiwiaHNsKDIxNSAyMCUgMTAlKSIpfTsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQoKICAgIC50b29sYmFyIHsKICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDIwJSAxNSUpIil9OwogICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgyMTQgMzElIDkxJSkiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgIGdhcDogMTZweDsKICAgICAgZmxleC1zaHJpbms6IDA7CiAgICB9CgogICAgLnRvb2xiYXItZ3JvdXAgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBnYXA6IDRweDsKICAgIH0KCiAgICAudG9vbGJhci1ncm91cC0tZW5kIHsKICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICB9CgogICAgLnRvb2xiYXItYnV0dG9uIHsKICAgICAgd2lkdGg6IDMycHg7CiAgICAgIGhlaWdodDogMzJweDsKICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICB9CgogICAgLnRvb2xiYXItYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTQgMzElIDkyJSkiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgfQoKICAgIC50b29sYmFyLWJ1dHRvbjpkaXNhYmxlZCB7CiAgICAgIG9wYWNpdHk6IDAuNDsKICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgIH0KCiAgICAudG9vbGJhci1idXR0b24gZGVlcy1pY29uIHsKICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgfQoKICAgIC5wYWdlLWluZm8gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBnYXA6IDhweDsKICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgIH0KCiAgICAucGFnZS1pbnB1dCB7CiAgICAgIHdpZHRoOiA0OHB4OwogICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgyMTQgMzElIDg2JSkiLCJoc2woMjE3IDI1JSAyOCUpIil9OwogICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDIwJSAxMiUpIil9OwogICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMjIgNDclIDExJSkiLCJoc2woMjEwIDIwJSA5NiUpIil9OwogICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgIG91dGxpbmU6IG5vbmU7CiAgICB9CgogICAgLnBhZ2UtaW5wdXQ6Zm9jdXMgewogICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgIH0KCiAgICAucGFnZS1zZXBhcmF0b3IgewogICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUgMTYlIDYwJSkiLCJoc2woMjE1IDE2JSA1MCUpIil9OwogICAgfQoKICAgIC56b29tLWxldmVsIHsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgICBtaW4td2lkdGg6IDQ4cHg7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIH0KCiAgICAudmlld2VyLWNvbnRhaW5lciB7CiAgICAgIGZsZXg6IDE7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgbWluLWhlaWdodDogMDsKICAgIH0KCiAgICAuc2lkZWJhciB7CiAgICAgIHdpZHRoOiAyMDBweDsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIxNSAyMCUgMTUlKSIpfTsKICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgyMTQgMzElIDkxJSkiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CgogICAgLnNpZGViYXItaGVhZGVyIHsKICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MSUpIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgfQoKICAgIC5zaWRlYmFyLWNsb3NlIHsKICAgICAgd2lkdGg6IDI0cHg7CiAgICAgIGhlaWdodDogMjRweDsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICB9CgogICAgLnNpZGViYXItY2xvc2U6aG92ZXIgewogICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTIlKSIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICB9CgogICAgLnNpZGViYXItY2xvc2UgZGVlcy1pY29uIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgfQoKICAgIC5zaWRlYmFyLWNvbnRlbnQgewogICAgICBmbGV4OiAxOwogICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICBtaW4taGVpZ2h0OiAwOwogICAgfQoKICAgIC50aHVtYm5haWwgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2U7CiAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDIxNSAyMCUgMTglKSIpfTsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAvKiBEZWZhdWx0IEE0IGFzcGVjdCByYXRpbyAoMjk3bW0gLyAyMTBtbSDiiYggMS40MTQpICovCiAgICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTc2cHggKiAxLjQxNCk7CiAgICB9CgogICAgLnRodW1ibmFpbDpsYXN0LWNoaWxkIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIH0KCiAgICAudGh1bWJuYWlsOmhvdmVyIHsKICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNCAzMSUgODYlKSIsImhzbCgyMTcgMjUlIDM1JSkiKX07CiAgICB9CgogICAgLnRodW1ibmFpbC5hY3RpdmUgewogICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgIH0KCiAgICAudGh1bWJuYWlsLWNhbnZhcyB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiBhdXRvOwogICAgICBpbWFnZS1yZW5kZXJpbmc6IC13ZWJraXQtb3B0aW1pemUtY29udHJhc3Q7CiAgICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7CiAgICB9CgogICAgLnRodW1ibmFpbC1udW1iZXIgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGJvdHRvbTogNHB4OwogICAgICByaWdodDogNHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjcpIiwicmdiYSgwLCAwLCAwLCAwLjgpIil9OwogICAgICBjb2xvcjogd2hpdGU7CiAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgcGFkZGluZzogMnB4IDZweDsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgfQoKICAgIC52aWV3ZXItbWFpbiB7CiAgICAgIGZsZXg6IDE7CiAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgcGFkZGluZzogMjBweDsKICAgICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7CiAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIH0KCiAgICAubG9hZGluZy1jb250YWluZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBnYXA6IDE2cHg7CiAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICB9CgogICAgLmxvYWRpbmctc3Bpbm5lciB7CiAgICAgIHdpZHRoOiAzMnB4OwogICAgICBoZWlnaHQ6IDMycHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgYm9yZGVyOiAzcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgyMTQgMzElIDg2JSkiLCJoc2woMjE3IDI1JSAyOCUpIil9OwogICAgICBib3JkZXItdG9wLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICAgIH0KCiAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICB0byB7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgfQogICAgfQoKICAgIC5sb2FkaW5nLXRleHQgewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICB9CgogICAgLnBhZ2VzLWNvbnRhaW5lciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogMjBweDsKICAgIH0KCiAgICAucGFnZS13cmFwcGVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQoKICAgIC5jYW52YXMtY29udGFpbmVyIHsKICAgICAgYmFja2dyb3VuZDogd2hpdGU7CiAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDEycHggJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMCwgMCwgMCwgMC4zKSIpfTsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIH0KCiAgICAucGFnZS1jYW52YXMgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0OwogICAgICBpbWFnZS1yZW5kZXJpbmc6IGNyaXNwLWVkZ2VzOwogICAgfQoKICAgIC8qIFRleHQgbGF5ZXIgZm9yIHNlbGVjdGlvbiAqLwogICAgLnRleHQtbGF5ZXIgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGluc2V0OiAwOwogICAgICBvdmVyZmxvdzogdmlzaWJsZTsKICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIHRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7CiAgICAgIGZvcmNlZC1jb2xvci1hZGp1c3Q6IG5vbmU7CiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDsKICAgICAgei1pbmRleDogMTsKICAgICAgdXNlci1zZWxlY3Q6IHRleHQ7CiAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IHRleHQ7CiAgICB9CgogICAgLnRleHQtbGF5ZXIgc3BhbiwKICAgIC50ZXh0LWxheWVyIGJyIHsKICAgICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHdoaXRlLXNwYWNlOiBwcmU7CiAgICAgIGN1cnNvcjogdGV4dDsKICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7CiAgICAgIHVzZXItc2VsZWN0OiB0ZXh0OwogICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiB0ZXh0OwogICAgfQoKICAgIC50ZXh0LWxheWVyIDo6c2VsZWN0aW9uIHsKICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAxMDAsIDIwMCwgMC4zKTsKICAgIH0KCiAgICAudGV4dC1sYXllciBicjo6c2VsZWN0aW9uIHsKICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICB9CgogICAgLnRleHQtbGF5ZXIgLmVuZE9mQ29udGVudCB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIGluc2V0OiAxMDAlIDAgMDsKICAgICAgei1pbmRleDogMDsKICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgIH0KCiAgICAudGV4dC1sYXllci5zZWxlY3RpbmcgLmVuZE9mQ29udGVudCB7CiAgICAgIHRvcDogMDsKICAgIH0KCiAgICAucGRmLXZpZXdlci53aXRoLXNpZGViYXIgLnZpZXdlci1tYWluIHsKICAgICAgbWFyZ2luLWxlZnQ6IDA7CiAgICB9CiAgYF19KTt2YXIgU0p0LENKdD1jKCgpPT57cGUoKTtTSnQ9aSgoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBwYWRkaW5nOiA0MHB4OwogICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1OwogICAgfQoKICAgIC5kZW1vLXNlY3Rpb24gewogICAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogICAgfQoKICAgIGgzIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgfQoKICAgIGRlZXMtcGRmLXZpZXdlciB7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KCiAgICAudmlld2VyLXRhbGwgewogICAgICBoZWlnaHQ6IDgwMHB4OwogICAgfQoKICAgIC52aWV3ZXItY29tcGFjdCB7CiAgICAgIGhlaWdodDogNTAwcHg7CiAgICB9CiAgPC9zdHlsZT4KCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkZ1bGwgRmVhdHVyZWQgUERGIFZpZXdlciB3aXRoIFRvb2xiYXI8L2gzPgogICAgICA8ZGVlcy1wZGYtdmlld2VyCiAgICAgICAgY2xhc3M9InZpZXdlci10YWxsIgogICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL3dlYi9jb21wcmVzc2VkLnRyYWNlbW9ua2V5LXBsZGktMDkucGRmIgogICAgICAgIHNob3dUb29sYmFyPSJ0cnVlIgogICAgICAgIHNob3dTaWRlYmFyPSJmYWxzZSIKICAgICAgICBpbml0aWFsWm9vbT0icGFnZS1maXQiCiAgICAgID48L2RlZXMtcGRmLXZpZXdlcj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5QREYgVmlld2VyIHdpdGggU2lkZWJhciBOYXZpZ2F0aW9uPC9oMz4KICAgICAgPGRlZXMtcGRmLXZpZXdlcgogICAgICAgIGNsYXNzPSJ2aWV3ZXItdGFsbCIKICAgICAgICBwZGZVcmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS93ZWIvY29tcHJlc3NlZC50cmFjZW1vbmtleS1wbGRpLTA5LnBkZiIKICAgICAgICBzaG93VG9vbGJhcj0idHJ1ZSIKICAgICAgICBzaG93U2lkZWJhcj0idHJ1ZSIKICAgICAgICBpbml0aWFsWm9vbT0icGFnZS13aWR0aCIKICAgICAgPjwvZGVlcy1wZGYtdmlld2VyPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkNvbXBhY3QgVmlld2VyIHdpdGhvdXQgQ29udHJvbHM8L2gzPgogICAgICA8ZGVlcy1wZGYtdmlld2VyCiAgICAgICAgY2xhc3M9InZpZXdlci1jb21wYWN0IgogICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL2V4YW1wbGVzL2xlYXJuaW5nL2hlbGxvd29ybGQucGRmIgogICAgICAgIHNob3dUb29sYmFyPSJmYWxzZSIKICAgICAgICBzaG93U2lkZWJhcj0iZmFsc2UiCiAgICAgICAgaW5pdGlhbFpvb209ImF1dG8iCiAgICAgID48L2RlZXMtcGRmLXZpZXdlcj4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vIil9KTt2YXIgU2ksSGEsX0p0LF9CZT1jKCgpPT57cGUoKTtKWigpO3pKdCgpO0NKdCgpO0t0KCk7U2k9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LEhhPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxfSnQ9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLXBkZi12aWV3ZXIiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXSx5LE09W10saz1bXSxFLF89W10sQz1bXSxOLCQ9W10sST1bXSxqLFM9W10sej1bXSxELFQ9W10sQT1bXSxVLFI9W10scT1bXSxvZSxPPVtdLHJlPVtdLHllLEI9W10sZWU9W107dmFyIENlPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzUGRmVmlld2VyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFk9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpTdHJpbmd9KV0saD1bTCh7dHlwZTpOdW1iZXJ9KV0scD1bTCh7dHlwZTpTdHJpbmd9KV0seD1bTCh7dHlwZTpCb29sZWFufSldLHk9W0woe3R5cGU6Qm9vbGVhbn0pXSxFPVtMKHt0eXBlOk51bWJlcn0pXSxOPVtMKHt0eXBlOk51bWJlcn0pXSxqPVtMKHt0eXBlOk51bWJlcn0pXSxEPVtMKHt0eXBlOkJvb2xlYW59KV0sVT1bTCh7dHlwZTpTdHJpbmd9KV0sb2U9W0woe3R5cGU6QXJyYXl9KV0seWU9W0woe3R5cGU6QXJyYXl9KV0sU2kodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwZGZVcmwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoUD0+InBkZlVybCJpbiBQLCJoYXMiKSxnZXQ6aShQPT5QLnBkZlVybCwiZ2V0Iiksc2V0OmkoKFAsSCk9PntQLnBkZlVybD1IfSwic2V0Iil9LG1ldGFkYXRhOll9LG8sbCksU2kodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbml0aWFsUGFnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShQPT4iaW5pdGlhbFBhZ2UiaW4gUCwiaGFzIiksZ2V0OmkoUD0+UC5pbml0aWFsUGFnZSwiZ2V0Iiksc2V0OmkoKFAsSCk9PntQLmluaXRpYWxQYWdlPUh9LCJzZXQiKX0sbWV0YWRhdGE6WX0sdSxmKSxTaSh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImluaXRpYWxab29tIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFA9PiJpbml0aWFsWm9vbSJpbiBQLCJoYXMiKSxnZXQ6aShQPT5QLmluaXRpYWxab29tLCJnZXQiKSxzZXQ6aSgoUCxIKT0+e1AuaW5pdGlhbFpvb209SH0sInNldCIpfSxtZXRhZGF0YTpZfSxnLHYpLFNpKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1Rvb2xiYXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoUD0+InNob3dUb29sYmFyImluIFAsImhhcyIpLGdldDppKFA9PlAuc2hvd1Rvb2xiYXIsImdldCIpLHNldDppKChQLEgpPT57UC5zaG93VG9vbGJhcj1IfSwic2V0Iil9LG1ldGFkYXRhOll9LGIsbSksU2kodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93U2lkZWJhciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShQPT4ic2hvd1NpZGViYXIiaW4gUCwiaGFzIiksZ2V0OmkoUD0+UC5zaG93U2lkZWJhciwiZ2V0Iiksc2V0OmkoKFAsSCk9PntQLnNob3dTaWRlYmFyPUh9LCJzZXQiKX0sbWV0YWRhdGE6WX0sTSxrKSxTaSh0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRQYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFA9PiJjdXJyZW50UGFnZSJpbiBQLCJoYXMiKSxnZXQ6aShQPT5QLmN1cnJlbnRQYWdlLCJnZXQiKSxzZXQ6aSgoUCxIKT0+e1AuY3VycmVudFBhZ2U9SH0sInNldCIpfSxtZXRhZGF0YTpZfSxfLEMpLFNpKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidG90YWxQYWdlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShQPT4idG90YWxQYWdlcyJpbiBQLCJoYXMiKSxnZXQ6aShQPT5QLnRvdGFsUGFnZXMsImdldCIpLHNldDppKChQLEgpPT57UC50b3RhbFBhZ2VzPUh9LCJzZXQiKX0sbWV0YWRhdGE6WX0sJCxJKSxTaSh0aGlzLG51bGwsaix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRab29tIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKFA9PiJjdXJyZW50Wm9vbSJpbiBQLCJoYXMiKSxnZXQ6aShQPT5QLmN1cnJlbnRab29tLCJnZXQiKSxzZXQ6aSgoUCxIKT0+e1AuY3VycmVudFpvb209SH0sInNldCIpfSxtZXRhZGF0YTpZfSxTLHopLFNpKHRoaXMsbnVsbCxELHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShQPT4ibG9hZGluZyJpbiBQLCJoYXMiKSxnZXQ6aShQPT5QLmxvYWRpbmcsImdldCIpLHNldDppKChQLEgpPT57UC5sb2FkaW5nPUh9LCJzZXQiKX0sbWV0YWRhdGE6WX0sVCxBKSxTaSh0aGlzLG51bGwsVSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRvY3VtZW50SWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoUD0+ImRvY3VtZW50SWQiaW4gUCwiaGFzIiksZ2V0OmkoUD0+UC5kb2N1bWVudElkLCJnZXQiKSxzZXQ6aSgoUCxIKT0+e1AuZG9jdW1lbnRJZD1IfSwic2V0Iil9LG1ldGFkYXRhOll9LFIscSksU2kodGhpcyxudWxsLG9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGh1bWJuYWlsRGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShQPT4idGh1bWJuYWlsRGF0YSJpbiBQLCJoYXMiKSxnZXQ6aShQPT5QLnRodW1ibmFpbERhdGEsImdldCIpLHNldDppKChQLEgpPT57UC50aHVtYm5haWxEYXRhPUh9LCJzZXQiKX0sbWV0YWRhdGE6WX0sTyxyZSksU2kodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGFnZURhdGEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoUD0+InBhZ2VEYXRhImluIFAsImhhcyIpLGdldDppKFA9PlAucGFnZURhdGEsImdldCIpLHNldDppKChQLEgpPT57UC5wYWdlRGF0YT1IfSwic2V0Iil9LG1ldGFkYXRhOll9LEIsZWUpLFNpKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOll9LG51bGwsYSksQ2U9cj1lLnZhbHVlLFkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6WX0pfXN0YXRpYyBkZW1vPVNKdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIiwiUERGIl07c3RhdGljIHN0eWxlcz1rSnQ7I2U9SGEodGhpcyxvLCIiKTtnZXQgcGRmVXJsKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHBkZlVybChZKXt0aGlzLiNlPVl9I3Q9KEhhKHRoaXMsbCksSGEodGhpcyx1LDEpKTtnZXQgaW5pdGlhbFBhZ2UoKXtyZXR1cm4gdGhpcy4jdH1zZXQgaW5pdGlhbFBhZ2UoWSl7dGhpcy4jdD1ZfSNhPShIYSh0aGlzLGYpLEhhKHRoaXMsZywiYXV0byIpKTtnZXQgaW5pdGlhbFpvb20oKXtyZXR1cm4gdGhpcy4jYX1zZXQgaW5pdGlhbFpvb20oWSl7dGhpcy4jYT1ZfSNyPShIYSh0aGlzLHYpLEhhKHRoaXMsYiwhMCkpO2dldCBzaG93VG9vbGJhcigpe3JldHVybiB0aGlzLiNyfXNldCBzaG93VG9vbGJhcihZKXt0aGlzLiNyPVl9I2k9KEhhKHRoaXMsbSksSGEodGhpcyxNLCExKSk7Z2V0IHNob3dTaWRlYmFyKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHNob3dTaWRlYmFyKFkpe3RoaXMuI2k9WX0jcz0oSGEodGhpcyxrKSxIYSh0aGlzLF8sMSkpO2dldCBjdXJyZW50UGFnZSgpe3JldHVybiB0aGlzLiNzfXNldCBjdXJyZW50UGFnZShZKXt0aGlzLiNzPVl9I289KEhhKHRoaXMsQyksSGEodGhpcywkLDEpKTtnZXQgdG90YWxQYWdlcygpe3JldHVybiB0aGlzLiNvfXNldCB0b3RhbFBhZ2VzKFkpe3RoaXMuI289WX0jbj0oSGEodGhpcyxJKSxIYSh0aGlzLFMsMSkpO2dldCBjdXJyZW50Wm9vbSgpe3JldHVybiB0aGlzLiNufXNldCBjdXJyZW50Wm9vbShZKXt0aGlzLiNuPVl9I2w9KEhhKHRoaXMseiksSGEodGhpcyxULCExKSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jbH1zZXQgbG9hZGluZyhZKXt0aGlzLiNsPVl9I2M9KEhhKHRoaXMsQSksSGEodGhpcyxSLCIiKSk7Z2V0IGRvY3VtZW50SWQoKXtyZXR1cm4gdGhpcy4jY31zZXQgZG9jdW1lbnRJZChZKXt0aGlzLiNjPVl9I2Q9KEhhKHRoaXMscSksSGEodGhpcyxPLFtdKSk7Z2V0IHRodW1ibmFpbERhdGEoKXtyZXR1cm4gdGhpcy4jZH1zZXQgdGh1bWJuYWlsRGF0YShZKXt0aGlzLiNkPVl9I3A9KEhhKHRoaXMscmUpLEhhKHRoaXMsQixbXSkpO2dldCBwYWdlRGF0YSgpe3JldHVybiB0aGlzLiNwfXNldCBwYWdlRGF0YShZKXt0aGlzLiNwPVl9cGRmRG9jdW1lbnQ9SGEodGhpcyxlZSk7cmVuZGVyU3RhdGU9ImlkbGUiO3JlbmRlckFib3J0Q29udHJvbGxlcj1udWxsO3BhZ2VSZW5kZXJpbmc9ITE7cGFnZU51bVBlbmRpbmc9bnVsbDtjdXJyZW50UmVuZGVyVGFzaz1udWxsO2N1cnJlbnRSZW5kZXJQcm9taXNlPW51bGw7dGh1bWJuYWlsUmVuZGVyVGFza3M9W107cGFnZVJlbmRlclRhc2tzPW5ldyBNYXA7dGV4dExheWVyUmVuZGVyVGFza3M9bmV3IE1hcDtjYW52YXM7Y3R4O3ZpZXdlck1haW49bnVsbDtyZXNpemVPYnNlcnZlcjtpbnRlcnNlY3Rpb25PYnNlcnZlcjtzY3JvbGxUaHJvdHRsZVRpbWVvdXQ7dmlld3BvcnREaW1lbnNpb25zPXt3aWR0aDowLGhlaWdodDowfTt2aWV3cG9ydE1vZGU9ImF1dG8iO01BTlVBTF9NSU5fWk9PTT0uNTtNQU5VQUxfTUFYX1pPT009MztBQlNPTFVURV9NSU5fWk9PTT0uMTtBQlNPTFVURV9NQVhfWk9PTT00O1BBR0VfR0FQPTIwO1JFTkRFUl9CVUZGRVI9Mztjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InBkZi12aWV3ZXIgJHt0aGlzLnNob3dTaWRlYmFyPyJ3aXRoLXNpZGViYXIiOiIifSI+CiAgICAgICAgJHt0aGlzLnNob3dUb29sYmFyP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cCI+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5wcmV2aW91c1BhZ2V9CiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmN1cnJlbnRQYWdlPD0xfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkNoZXZyb25MZWZ0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlLWluZm8iPgogICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgIHR5cGU9Im51bWJlciIKICAgICAgICAgICAgICAgICAgbWluPSIxIgogICAgICAgICAgICAgICAgICBtYXg9IiR7dGhpcy50b3RhbFBhZ2VzfSIKICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7U3RyaW5nKHRoaXMuY3VycmVudFBhZ2UpfQogICAgICAgICAgICAgICAgICBAY2hhbmdlPSR7dGhpcy5oYW5kbGVQYWdlSW5wdXR9CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJwYWdlLWlucHV0IgogICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYWdlLXNlcGFyYXRvciI+Lzwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYWdlLXRvdGFsIj4ke3RoaXMudG90YWxQYWdlc308L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5uZXh0UGFnZX0KICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuY3VycmVudFBhZ2U+PXRoaXMudG90YWxQYWdlc30KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpDaGV2cm9uUmlnaHQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItZ3JvdXAiPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuem9vbU91dH0KICAgICAgICAgICAgICAgID9kaXNhYmxlZD0keyF0aGlzLmNhblpvb21PdXR9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Wm9vbU91dCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5yZXNldFpvb219CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Inpvb20tbGV2ZWwiPiR7TWF0aC5yb3VuZCh0aGlzLmN1cnJlbnRab29tKjEwMCl9JTwvc3Bhbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLnpvb21Jbn0KICAgICAgICAgICAgICAgID9kaXNhYmxlZD0keyF0aGlzLmNhblpvb21Jbn0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpab29tSW4iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItZ3JvdXAiPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuZml0VG9QYWdlfQogICAgICAgICAgICAgICAgdGl0bGU9IkZpdCB0byBwYWdlIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOk1heGltaXplIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmZpdFRvV2lkdGh9CiAgICAgICAgICAgICAgICB0aXRsZT0iRml0IHRvIHdpZHRoIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkFycm93TGVmdFJpZ2h0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIHRvb2xiYXItZ3JvdXAtLWVuZCI+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2hvd1NpZGViYXI9IXRoaXMuc2hvd1NpZGViYXJ9CiAgICAgICAgICAgICAgICB0aXRsZT0iJHt0aGlzLnNob3dTaWRlYmFyPyJIaWRlIHRodW1ibmFpbHMiOiJTaG93IHRodW1ibmFpbHMifSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249IiR7dGhpcy5zaG93U2lkZWJhcj8ibHVjaWRlOlNpZGViYXJDbG9zZSI6Imx1Y2lkZTpTaWRlYmFyIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuZG93bmxvYWRQZGZ9CiAgICAgICAgICAgICAgICB0aXRsZT0iRG93bmxvYWQiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6RG93bmxvYWQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMucHJpbnRQZGZ9CiAgICAgICAgICAgICAgICB0aXRsZT0iUHJpbnQiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6UHJpbnRlciI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgPGRpdiBjbGFzcz0idmlld2VyLWNvbnRhaW5lciI+CiAgICAgICAgICAke3RoaXMuc2hvd1NpZGViYXI/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4+UGFnZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJzaWRlYmFyLWNsb3NlIgogICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zaG93U2lkZWJhcj0hMX0KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6WCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgJHt2aS5rZXllZCh0aGlzLmRvY3VtZW50SWQsd2AKICAgICAgICAgICAgICAgICAgJHt2aS5yZXBlYXQodGhpcy50aHVtYm5haWxEYXRhLFk9PlkucGFnZSxZPT53YAogICAgICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGh1bWJuYWlsICR7dGhpcy5jdXJyZW50UGFnZT09PVkucGFnZT8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtcGFnZT0iJHtZLnBhZ2V9IgogICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZVRodW1ibmFpbENsaWNrfQogICAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgICA8Y2FudmFzIGNsYXNzPSJ0aHVtYm5haWwtY2FudmFzIiBkYXRhLXBhZ2U9IiR7WS5wYWdlfSI+PC9jYW52YXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aHVtYm5haWwtbnVtYmVyIj4ke1kucGFnZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CgogICAgICAgICAgPGRpdiBjbGFzcz0idmlld2VyLW1haW4iIEBzY3JvbGw9JHt0aGlzLmhhbmRsZVNjcm9sbH0+CiAgICAgICAgICAgICR7dGhpcy5sb2FkaW5nP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1jb250YWluZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1zcGlubmVyIj48L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctdGV4dCI+TG9hZGluZyBQREYuLi48L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhZ2VzLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAke3ZpLnJlcGVhdCh0aGlzLnBhZ2VEYXRhLFk9PlkucGFnZSxZPT53YAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhZ2Utd3JhcHBlciIgZGF0YS1wYWdlPSIke1kucGFnZX0iPgogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FudmFzLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjYW52YXMgY2xhc3M9InBhZ2UtY2FudmFzIiBkYXRhLXBhZ2U9IiR7WS5wYWdlfSI+PC9jYW52YXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtbGF5ZXIiIGRhdGEtcGFnZT0iJHtZLnBhZ2V9Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5lbnN1cmVWaWV3ZXJSZWZzKCksdGhpcy5wZGZVcmwmJih0aGlzLmRvY3VtZW50SWQ9YCR7dGhpcy5wZGZVcmx9LSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpfWAsYXdhaXQgdGhpcy5sb2FkUGRmKCkpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCksdGhpcy5yZXNpemVPYnNlcnZlcj12b2lkIDAsdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlcj8uZGlzY29ubmVjdCgpLHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXI9dm9pZCAwLHRoaXMuc2Nyb2xsVGhyb3R0bGVUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuc2Nyb2xsVGhyb3R0bGVUaW1lb3V0KSx0aGlzLnNjcm9sbFRocm90dGxlVGltZW91dD12b2lkIDApLHRoaXMucmVuZGVyU3RhdGU9ImRpc3Bvc2VkIixhd2FpdCB0aGlzLmNsZWFudXBEb2N1bWVudCgpLHRoaXMuY2FudmFzPXZvaWQgMCx0aGlzLmN0eD12b2lkIDB9YXN5bmMgdXBkYXRlZChZKXtpZihzdXBlci51cGRhdGVkKFkpLFkuaGFzKCJwZGZVcmwiKSYmdGhpcy5wZGZVcmwpe2xldCBQPVkuZ2V0KCJwZGZVcmwiKTtQJiZEMi5yZWxlYXNlRG9jdW1lbnQoUCksdGhpcy5kb2N1bWVudElkPWAke3RoaXMucGRmVXJsfS0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKX1gLGF3YWl0IHRoaXMubG9hZFBkZigpfVkuaGFzKCJzaG93U2lkZWJhciIpJiZ0aGlzLnNob3dTaWRlYmFyJiZ0aGlzLnBkZkRvY3VtZW50JiYoYXdhaXQgbmV3IFByb21pc2UoUD0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKFApKSx0aGlzLnRodW1ibmFpbERhdGEuZm9yRWFjaChQPT5QLnJlbmRlcmVkPSExKSxhd2FpdCB0aGlzLnJlbmRlclRodW1ibmFpbHMoKSx0aGlzLnNldHVwSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKSx0aGlzLnNjcm9sbFRodW1ibmFpbEludG9WaWV3KHRoaXMuY3VycmVudFBhZ2UpKX1hc3luYyBsb2FkUGRmKCl7dGhpcy5sb2FkaW5nPSEwLHRoaXMucmVuZGVyU3RhdGU9ImxvYWRpbmciO3RyeXthd2FpdCB0aGlzLmNsZWFudXBEb2N1bWVudCgpLHRoaXMucmVuZGVyQWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXI7bGV0IFk9dGhpcy5yZW5kZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsO2lmKHRoaXMucGRmRG9jdW1lbnQ9YXdhaXQgRDIubG9hZERvY3VtZW50KHRoaXMucGRmVXJsKSxZLmFib3J0ZWR8fCh0aGlzLnRvdGFsUGFnZXM9dGhpcy5wZGZEb2N1bWVudC5udW1QYWdlcyx0aGlzLmN1cnJlbnRQYWdlPXRoaXMuaW5pdGlhbFBhZ2UsdGhpcy5yZXNvbHZlSW5pdGlhbFZpZXdwb3J0TW9kZSgpLHRoaXMudGh1bWJuYWlsRGF0YT1BcnJheS5mcm9tKHtsZW5ndGg6dGhpcy50b3RhbFBhZ2VzfSwoUCxIKT0+KHtwYWdlOkgrMSxyZW5kZXJlZDohMX0pKSx0aGlzLnBhZ2VEYXRhPUFycmF5LmZyb20oe2xlbmd0aDp0aGlzLnRvdGFsUGFnZXN9LChQLEgpPT4oe3BhZ2U6SCsxLHJlbmRlcmVkOiExLHJlbmRlcmluZzohMSx0ZXh0TGF5ZXJSZW5kZXJlZDohMX0pKSx0aGlzLmxvYWRpbmc9ITEsYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSx0aGlzLmVuc3VyZVZpZXdlclJlZnMoKSx0aGlzLnNldHVwSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKSxhd2FpdCBuZXcgUHJvbWlzZShQPT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoUCkpLFkuYWJvcnRlZCl8fCh0aGlzLnJlbmRlclN0YXRlPSJyZW5kZXJpbmctbWFpbiIsYXdhaXQgdGhpcy5yZW5kZXJWaXNpYmxlUGFnZXMoKSxZLmFib3J0ZWQpfHwodGhpcy5pbml0aWFsUGFnZT4xJiZhd2FpdCB0aGlzLnNjcm9sbFRvUGFnZSh0aGlzLmluaXRpYWxQYWdlLCExKSx0aGlzLnNob3dTaWRlYmFyJiYoYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxhd2FpdCBuZXcgUHJvbWlzZShQPT5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoUCkpLFkuYWJvcnRlZHx8KGF3YWl0IHRoaXMucmVuZGVyVGh1bWJuYWlscygpLFkuYWJvcnRlZCkpKSlyZXR1cm47dGhpcy5yZW5kZXJTdGF0ZT0icmVuZGVyZWQifWNhdGNoKFkpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGxvYWRpbmcgUERGOiIsWSksdGhpcy5sb2FkaW5nPSExLHRoaXMucmVuZGVyU3RhdGU9ImVycm9yIn19c2V0dXBJbnRlcnNlY3Rpb25PYnNlcnZlcigpe3RoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXImJnRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXI9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKFA9Pntmb3IobGV0IEggb2YgUCl7bGV0IEc9SC50YXJnZXQsVz1wYXJzZUludChHLmRhdGFzZXQucGFnZXx8IjEiKTtILmlzSW50ZXJzZWN0aW5nJiZ0aGlzLnJlbmRlclBhZ2VJZk5lZWRlZChXKX19LHtyb290OnRoaXMudmlld2VyTWFpbixyb290TWFyZ2luOmAke3RoaXMuUkVOREVSX0JVRkZFUioxMDB9cHggMHB4YCx0aHJlc2hvbGQ6LjAxfSk7bGV0IFk9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCIucGFnZS13cmFwcGVyIik7WSYmWS5mb3JFYWNoKFA9Pnt0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPy5vYnNlcnZlKFApfSl9YXN5bmMgcmVuZGVyVmlzaWJsZVBhZ2VzKCl7aWYoIXRoaXMudmlld2VyTWFpbilyZXR1cm47bGV0IFk9dGhpcy52aWV3ZXJNYWluLmNsaWVudEhlaWdodDtmb3IobGV0IFAgb2YgdGhpcy5wYWdlRGF0YSl7bGV0IEg9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGAucGFnZS13cmFwcGVyW2RhdGEtcGFnZT0iJHtQLnBhZ2V9Il1gKTtpZighSCljb250aW51ZTtsZXQgRz1ILmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFc9dGhpcy52aWV3ZXJNYWluLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHNlPUcudG9wLVcudG9wLHplPXNlK0cuaGVpZ2h0LE1lPXRoaXMuUkVOREVSX0JVRkZFUipZO3plPj0tTWUmJnNlPD1ZK01lJiZhd2FpdCB0aGlzLnJlbmRlclBhZ2VJZk5lZWRlZChQLnBhZ2UpfX1hc3luYyByZW5kZXJQYWdlSWZOZWVkZWQoWSl7bGV0IFA9dGhpcy5wYWdlRGF0YS5maW5kKEg9PkgucGFnZT09PVkpO2lmKCEoIVB8fFAucmVuZGVyZWR8fFAucmVuZGVyaW5nKSl7UC5yZW5kZXJpbmc9ITA7dHJ5e2xldCBIPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLnBhZ2UtY2FudmFzW2RhdGEtcGFnZT0iJHtZfSJdYCk7aWYoIUgpe1AucmVuZGVyaW5nPSExO3JldHVybn1sZXQgRz1hd2FpdCB0aGlzLnBkZkRvY3VtZW50LmdldFBhZ2UoWSksVz10aGlzLmNvbXB1dGVWaWV3cG9ydChHKSxzZT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtILndpZHRoPU1hdGguZmxvb3IoVy53aWR0aCpzZSksSC5oZWlnaHQ9TWF0aC5mbG9vcihXLmhlaWdodCpzZSksSC5zdHlsZS53aWR0aD1gJHtXLndpZHRofXB4YCxILnN0eWxlLmhlaWdodD1gJHtXLmhlaWdodH1weGA7bGV0IHplPUguZ2V0Q29udGV4dCgiMmQiKTtpZighemUpe0cuY2xlYW51cD8uKCksUC5yZW5kZXJpbmc9ITE7cmV0dXJufXplLnNjYWxlKHNlLHNlKTtsZXQgTWU9e2NhbnZhc0NvbnRleHQ6emUsdmlld3BvcnQ6V30sRWU9Ry5yZW5kZXIoTWUpO3RoaXMucGFnZVJlbmRlclRhc2tzLnNldChZLEVlKSxhd2FpdCBFZS5wcm9taXNlLEcuY2xlYW51cD8uKCksUC5yZW5kZXJlZD0hMCxQLnJlbmRlcmluZz0hMSx0aGlzLnBhZ2VSZW5kZXJUYXNrcy5kZWxldGUoWSksYXdhaXQgdGhpcy5yZW5kZXJUZXh0TGF5ZXIoWSksdGhpcy5yZXF1ZXN0VXBkYXRlKCJwYWdlRGF0YSIpfWNhdGNoKEgpe0g/Lm5hbWUhPT0iUmVuZGVyaW5nQ2FuY2VsbGVkRXhjZXB0aW9uIiYmY29uc29sZS5lcnJvcihgRXJyb3IgcmVuZGVyaW5nIHBhZ2UgJHtZfTpgLEgpLFAucmVuZGVyaW5nPSExLHRoaXMucGFnZVJlbmRlclRhc2tzLmRlbGV0ZShZKX19fWFzeW5jIHJlbmRlclRleHRMYXllcihZKXtsZXQgUD10aGlzLnBhZ2VEYXRhLmZpbmQoSD0+SC5wYWdlPT09WSk7aWYoISghUHx8UC50ZXh0TGF5ZXJSZW5kZXJlZCkpdHJ5e2xldCBIPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLnRleHQtbGF5ZXJbZGF0YS1wYWdlPSIke1l9Il1gKTtpZighSClyZXR1cm47SC5pbm5lckhUTUw9IiI7bGV0IEc9YXdhaXQgdGhpcy5wZGZEb2N1bWVudC5nZXRQYWdlKFkpLFc9YXdhaXQgRy5nZXRUZXh0Q29udGVudCgpLHNlPXRoaXMuY29tcHV0ZVZpZXdwb3J0KEcpLHplPWF3YWl0IGltcG9ydCgiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9wZGZqcy1kaXN0QDQuMC4zNzkvK2VzbSIpO0guc3R5bGUud2lkdGg9YCR7c2Uud2lkdGh9cHhgLEguc3R5bGUuaGVpZ2h0PWAke3NlLmhlaWdodH1weGAsSC5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1zY2FsZS1mYWN0b3IiLFN0cmluZyhzZS5zY2FsZSkpO2xldCBNZT16ZS5yZW5kZXJUZXh0TGF5ZXIoe3RleHRDb250ZW50U291cmNlOlcsY29udGFpbmVyOkgsdmlld3BvcnQ6c2V9KTt0aGlzLnRleHRMYXllclJlbmRlclRhc2tzLnNldChZLE1lKSxhd2FpdCBNZS5wcm9taXNlO2xldCBFZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtFZS5jbGFzc05hbWU9ImVuZE9mQ29udGVudCIsSC5hcHBlbmRDaGlsZChFZSk7bGV0IFY9ITEsRj1udWxsLG5lPTAsdGU9aSgodmUsZGUpPT57bGV0ICRlPUFycmF5LmZyb20oSC5xdWVyeVNlbGVjdG9yQWxsKCJzcGFuIikpO2ZvcihsZXQgVmUgb2YgJGUpe2xldCBRZT1WZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZih2ZT49UWUubGVmdCYmdmU8PVFlLnJpZ2h0JiZkZT49UWUudG9wJiZkZTw9UWUuYm90dG9tKXtsZXQgVGU9VmUuZmlyc3RDaGlsZDtpZihUZSYmVGUubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERSl7bGV0IGxlPVRlLnRleHRDb250ZW50fHwiIixmZT1RZS53aWR0aC9sZS5sZW5ndGgsU2U9dmUtUWUubGVmdCxIZT1NYXRoLm1pbihNYXRoLnJvdW5kKFNlL2ZlKSxsZS5sZW5ndGgpO3JldHVybntub2RlOlRlLG9mZnNldDpIZX19fX1yZXR1cm4gbnVsbH0sImdldFRleHRQb3NpdGlvbkZyb21Qb2ludCIpLEs9aSgoKT0+e1YmJihWPSExLEY9bnVsbCxILmNsYXNzTGlzdC5yZW1vdmUoInNlbGVjdGluZyIpKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIixLKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLGtlKX0sImhhbmRsZU1vdXNlVXAiKSxrZT1pKHZlPT57aWYoIVZ8fCFGKXJldHVybjt2ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBkZT10ZSh2ZS5jbGllbnRYLHZlLmNsaWVudFkpO2lmKGRlKXtsZXQgJGU9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCRlKXRyeXskZS5zZXRCYXNlQW5kRXh0ZW50KEYsbmUsZGUubm9kZSxkZS5vZmZzZXQpfWNhdGNoe319fSwiaGFuZGxlTW91c2VNb3ZlIik7SC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLHZlPT57aWYodmUuYnV0dG9uIT09MClyZXR1cm47bGV0IGRlPXRlKHZlLmNsaWVudFgsdmUuY2xpZW50WSk7ZGUmJih2ZS5wcmV2ZW50RGVmYXVsdCgpLFY9ITAsRj1kZS5ub2RlLG5lPWRlLm9mZnNldCxILmNsYXNzTGlzdC5hZGQoInNlbGVjdGluZyIpLHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8ucmVtb3ZlQWxsUmFuZ2VzKCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixrZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsSykpfSksUC50ZXh0TGF5ZXJSZW5kZXJlZD0hMCxHLmNsZWFudXA/LigpLHRoaXMudGV4dExheWVyUmVuZGVyVGFza3MuZGVsZXRlKFkpfWNhdGNoKEgpe0g/Lm5hbWUhPT0iUmVuZGVyaW5nQ2FuY2VsbGVkRXhjZXB0aW9uIiYmY29uc29sZS5lcnJvcihgRXJyb3IgcmVuZGVyaW5nIHRleHQgbGF5ZXIgZm9yIHBhZ2UgJHtZfTpgLEgpLHRoaXMudGV4dExheWVyUmVuZGVyVGFza3MuZGVsZXRlKFkpfX1oYW5kbGVTY3JvbGw9aSgoKT0+e3RoaXMuc2Nyb2xsVGhyb3R0bGVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5zY3JvbGxUaHJvdHRsZVRpbWVvdXQpLHRoaXMuc2Nyb2xsVGhyb3R0bGVUaW1lb3V0PXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dGhpcy51cGRhdGVDdXJyZW50UGFnZSgpLHRoaXMucmVuZGVyVmlzaWJsZVBhZ2VzKCl9LDUwKX0sImhhbmRsZVNjcm9sbCIpO3VwZGF0ZUN1cnJlbnRQYWdlKCl7aWYoIXRoaXMudmlld2VyTWFpbilyZXR1cm47bGV0IFk9dGhpcy52aWV3ZXJNYWluLnNjcm9sbFRvcCxQPXRoaXMudmlld2VyTWFpbi5jbGllbnRIZWlnaHQsSD1ZK1AvMjtmb3IobGV0IEc9MDtHPHRoaXMucGFnZURhdGEubGVuZ3RoO0crKyl7bGV0IFc9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGAucGFnZS13cmFwcGVyW2RhdGEtcGFnZT0iJHtHKzF9Il1gKTtpZighVyljb250aW51ZTtsZXQgc2U9Vy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx6ZT10aGlzLnZpZXdlck1haW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksTWU9c2UudG9wLXplLnRvcCtZLEVlPU1lK3NlLmhlaWdodDtpZihIPj1NZSYmSDw9RWUpe3RoaXMuY3VycmVudFBhZ2UhPT1HKzEmJih0aGlzLmN1cnJlbnRQYWdlPUcrMSx0aGlzLnNob3dTaWRlYmFyJiZ0aGlzLnNjcm9sbFRodW1ibmFpbEludG9WaWV3KEcrMSkpO2JyZWFrfX19c2Nyb2xsVGh1bWJuYWlsSW50b1ZpZXcoWSl7bGV0IFA9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGAudGh1bWJuYWlsW2RhdGEtcGFnZT0iJHtZfSJdYCksSD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5zaWRlYmFyLWNvbnRlbnQiKTtpZihQJiZIKXtsZXQgRz1QLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFc9SC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxzZT1HLnRvcDxXLnRvcCx6ZT1HLmJvdHRvbT5XLmJvdHRvbTtpZihzZXx8emUpe2xldCBNZT1QLm9mZnNldFRvcCxFZT1QLm9mZnNldEhlaWdodCxWPUguY2xpZW50SGVpZ2h0LEY9TWUtVi8yK0VlLzI7SC5zY3JvbGxUbyh7dG9wOk1hdGgubWF4KDAsRiksYmVoYXZpb3I6InNtb290aCJ9KX19fWFzeW5jIHNjcm9sbFRvUGFnZShZLFA9ITApe2F3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7bGV0IEg9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGAucGFnZS13cmFwcGVyW2RhdGEtcGFnZT0iJHtZfSJdYCk7aWYoSCYmdGhpcy52aWV3ZXJNYWluKXtsZXQgRz1ILmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFc9dGhpcy52aWV3ZXJNYWluLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHplPXRoaXMudmlld2VyTWFpbi5zY3JvbGxUb3ArKEcudG9wLVcudG9wKS10aGlzLnZpZXdlck1haW4uY2xpZW50VG9wO1A/dGhpcy52aWV3ZXJNYWluLnNjcm9sbFRvKHt0b3A6emUsYmVoYXZpb3I6InNtb290aCJ9KTp0aGlzLnZpZXdlck1haW4uc2Nyb2xsVG9wPXplLHRoaXMuY3VycmVudFBhZ2U9WSx0aGlzLnNob3dTaWRlYmFyJiZ0aGlzLnNjcm9sbFRodW1ibmFpbEludG9WaWV3KFkpLGF3YWl0IHRoaXMucmVuZGVyUGFnZUlmTmVlZGVkKFkpfX1hc3luYyByZW5kZXJUaHVtYm5haWxzKCl7aWYoIXRoaXMucGRmRG9jdW1lbnR8fHRoaXMudGh1bWJuYWlsRGF0YS5sZW5ndGg+MCYmdGhpcy50aHVtYm5haWxEYXRhLmV2ZXJ5KFA9PlAucmVuZGVyZWQpfHx0aGlzLnJlbmRlckFib3J0Q29udHJvbGxlcj8uc2lnbmFsLmFib3J0ZWQpcmV0dXJuO2xldCBZPXRoaXMucmVuZGVyQWJvcnRDb250cm9sbGVyPy5zaWduYWw7dGhpcy5yZW5kZXJTdGF0ZT0icmVuZGVyaW5nLXRodW1icyI7Zm9yKGxldCBQIG9mIHRoaXMudGh1bWJuYWlsUmVuZGVyVGFza3MpdHJ5e1AuY2FuY2VsKCl9Y2F0Y2h7fXRoaXMudGh1bWJuYWlsUmVuZGVyVGFza3M9W107dHJ5e2F3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7bGV0IFA9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCIudGh1bWJuYWlsIiksSD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3JBbGwoIi50aHVtYm5haWwtY2FudmFzIiksRz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5zaWRlYmFyLWNvbnRlbnQiKSxXPXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKEcpLHplPTIwMC0ocGFyc2VGbG9hdChXLnBhZGRpbmdMZWZ0KStwYXJzZUZsb2F0KFcucGFkZGluZ1JpZ2h0KSktNDtmb3IobGV0IE1lIG9mIEFycmF5LmZyb20oSCkpe2xldCBFZT1NZS5nZXRDb250ZXh0KCIyZCIpO0VlJiZFZS5jbGVhclJlY3QoMCwwLE1lLndpZHRoLE1lLmhlaWdodCl9Zm9yKGxldCBNZT0wO01lPEgubGVuZ3RoO01lKyspe2lmKFk/LmFib3J0ZWQpcmV0dXJuO2xldCBFZT1IW01lXSxWPVBbTWVdLEY9cGFyc2VJbnQoRWUuZGF0YXNldC5wYWdlfHwiMSIpLG5lPWF3YWl0IHRoaXMucGRmRG9jdW1lbnQuZ2V0UGFnZShGKSx0ZT1uZS5nZXRWaWV3cG9ydCh7c2NhbGU6MX0pLEs9emUvdGUud2lkdGgsa2U9bmUuZ2V0Vmlld3BvcnQoe3NjYWxlOkt9KSx2ZT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTtFZS53aWR0aD1NYXRoLmZsb29yKGtlLndpZHRoKnZlKSxFZS5oZWlnaHQ9TWF0aC5mbG9vcihrZS5oZWlnaHQqdmUpLEVlLnN0eWxlLndpZHRoPWAke2tlLndpZHRofXB4YCxFZS5zdHlsZS5oZWlnaHQ9YCR7a2UuaGVpZ2h0fXB4YCxWLnN0eWxlLmhlaWdodD1gJHtrZS5oZWlnaHR9cHhgLFYuc3R5bGUubWluSGVpZ2h0PWAke2tlLmhlaWdodH1weGA7bGV0IGRlPUVlLmdldENvbnRleHQoIjJkIik7aWYoIWRlKXtuZS5jbGVhbnVwPy4oKTtjb250aW51ZX1kZS5zY2FsZSh2ZSx2ZSk7bGV0ICRlPXtjYW52YXNDb250ZXh0OmRlLHZpZXdwb3J0OmtlfSxWZT1uZS5yZW5kZXIoJGUpO3RoaXMudGh1bWJuYWlsUmVuZGVyVGFza3MucHVzaChWZSksYXdhaXQgVmUucHJvbWlzZSxuZS5jbGVhbnVwPy4oKTtsZXQgUWU9dGhpcy50aHVtYm5haWxEYXRhLmZpbmQoVGU9PlRlLnBhZ2U9PT1GKTtRZSYmKFFlLnJlbmRlcmVkPSEwKX10aGlzLnJlcXVlc3RVcGRhdGUoInRodW1ibmFpbERhdGEiKX1jYXRjaChQKXtQPy5uYW1lIT09IlJlbmRlcmluZ0NhbmNlbGxlZEV4Y2VwdGlvbiImJmNvbnNvbGUuZXJyb3IoIkVycm9yIHJlbmRlcmluZyB0aHVtYm5haWxzOiIsUCl9ZmluYWxseXt0aGlzLnRodW1ibmFpbFJlbmRlclRhc2tzPVtdfX1wcmV2aW91c1BhZ2UoKXt0aGlzLmN1cnJlbnRQYWdlPjEmJnRoaXMuc2Nyb2xsVG9QYWdlKHRoaXMuY3VycmVudFBhZ2UtMSl9bmV4dFBhZ2UoKXt0aGlzLmN1cnJlbnRQYWdlPHRoaXMudG90YWxQYWdlcyYmdGhpcy5zY3JvbGxUb1BhZ2UodGhpcy5jdXJyZW50UGFnZSsxKX1oYW5kbGVUaHVtYm5haWxDbGljayhZKXtsZXQgUD1ZLmN1cnJlbnRUYXJnZXQsSD1wYXJzZUludChQLmRhdGFzZXQucGFnZXx8IjEiKTt0aGlzLnNjcm9sbFRvUGFnZShIKX1oYW5kbGVQYWdlSW5wdXQoWSl7bGV0IFA9WS50YXJnZXQsSD1wYXJzZUludChQLnZhbHVlKTt0aGlzLnNjcm9sbFRvUGFnZShIKX16b29tSW4oKXtsZXQgWT1NYXRoLm1pbih0aGlzLk1BTlVBTF9NQVhfWk9PTSx0aGlzLmN1cnJlbnRab29tKjEuMik7dGhpcy52aWV3cG9ydE1vZGU9ImN1c3RvbSIsWSE9PXRoaXMuY3VycmVudFpvb20mJih0aGlzLmN1cnJlbnRab29tPVksdGhpcy5yZVJlbmRlckFsbFBhZ2VzKCkpfXpvb21PdXQoKXtsZXQgWT1NYXRoLm1heCh0aGlzLk1BTlVBTF9NSU5fWk9PTSx0aGlzLmN1cnJlbnRab29tLzEuMik7dGhpcy52aWV3cG9ydE1vZGU9ImN1c3RvbSIsWSE9PXRoaXMuY3VycmVudFpvb20mJih0aGlzLmN1cnJlbnRab29tPVksdGhpcy5yZVJlbmRlckFsbFBhZ2VzKCkpfXJlc2V0Wm9vbSgpe3RoaXMudmlld3BvcnRNb2RlPSJjdXN0b20iLHRoaXMuY3VycmVudFpvb209MSx0aGlzLnJlUmVuZGVyQWxsUGFnZXMoKX1maXRUb1BhZ2UoKXt0aGlzLnZpZXdwb3J0TW9kZT0icGFnZS1maXQiLHRoaXMucmVSZW5kZXJBbGxQYWdlcygpfWZpdFRvV2lkdGgoKXt0aGlzLnZpZXdwb3J0TW9kZT0icGFnZS13aWR0aCIsdGhpcy5yZVJlbmRlckFsbFBhZ2VzKCl9cmVSZW5kZXJBbGxQYWdlcygpe3RoaXMucGFnZURhdGEuZm9yRWFjaChZPT57WS5yZW5kZXJlZD0hMSxZLnJlbmRlcmluZz0hMSxZLnRleHRMYXllclJlbmRlcmVkPSExfSksdGhpcy5wYWdlUmVuZGVyVGFza3MuZm9yRWFjaChZPT57dHJ5e1kuY2FuY2VsKCl9Y2F0Y2h7fX0pLHRoaXMucGFnZVJlbmRlclRhc2tzLmNsZWFyKCksdGhpcy50ZXh0TGF5ZXJSZW5kZXJUYXNrcy5mb3JFYWNoKFk9Pnt0cnl7WS5jYW5jZWw/LigpfWNhdGNoe319KSx0aGlzLnRleHRMYXllclJlbmRlclRhc2tzLmNsZWFyKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCksdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT57dGhpcy5yZW5kZXJWaXNpYmxlUGFnZXMoKX0pfWFzeW5jIGRvd25sb2FkUGRmKCl7aWYodGhpcy5wZGZEb2N1bWVudCl0cnl7bGV0IFk9YXdhaXQgdGhpcy5wZGZEb2N1bWVudC5nZXREYXRhKCksUD1uZXcgQmxvYihbWS5idWZmZXJdLHt0eXBlOiJhcHBsaWNhdGlvbi9wZGYifSksSD1VUkwuY3JlYXRlT2JqZWN0VVJMKFApLEc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO0cuaHJlZj1ILEcuZG93bmxvYWQ9dGhpcy5wZGZVcmwmJnRoaXMucGRmVXJsLnNwbGl0KCIvIikucG9wKCl8fCJkb2N1bWVudC5wZGYiLEcuY2xpY2soKSxzZXRUaW1lb3V0KCgpPT5VUkwucmV2b2tlT2JqZWN0VVJMKEgpLDFlMyl9Y2F0Y2goWSl7Y29uc29sZS5lcnJvcigiRXJyb3IgZG93bmxvYWRpbmcgUERGOiIsWSl9fWFzeW5jIHByaW50UGRmKCl7aWYodGhpcy5wZGZEb2N1bWVudCl0cnl7bGV0IFk9YXdhaXQgdGhpcy5wZGZEb2N1bWVudC5nZXREYXRhKCksUD1uZXcgQmxvYihbWS5idWZmZXJdLHt0eXBlOiJhcHBsaWNhdGlvbi9wZGYifSksSD1VUkwuY3JlYXRlT2JqZWN0VVJMKFApLEc9YAogICAgICAgIDwhRE9DVFlQRSBodG1sPgogICAgICAgIDxodG1sPgogICAgICAgIDxoZWFkPgogICAgICAgICAgPHRpdGxlPlByaW50IFBERjwvdGl0bGU+CiAgICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgICogeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH0KICAgICAgICAgICAgaHRtbCwgYm9keSB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG92ZXJmbG93OiBoaWRkZW47IH0KICAgICAgICAgICAgaWZyYW1lIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgYm9yZGVyOiBub25lOyB9CiAgICAgICAgICAgIEBtZWRpYSBwcmludCB7CiAgICAgICAgICAgICAgaHRtbCwgYm9keSwgaWZyYW1lIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfQogICAgICAgICAgICB9CiAgICAgICAgICA8L3N0eWxlPgogICAgICAgIDwvaGVhZD4KICAgICAgICA8Ym9keT4KICAgICAgICAgIDxpZnJhbWUgc3JjPSIke0h9IiB0eXBlPSJhcHBsaWNhdGlvbi9wZGYiPjwvaWZyYW1lPgogICAgICAgICAgPHNjcmlwdD4KICAgICAgICAgICAgd2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICB3aW5kb3cuZm9jdXMoKTsKICAgICAgICAgICAgICAgIHdpbmRvdy5wcmludCgpOwogICAgICAgICAgICAgIH0sIDUwMCk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIHdpbmRvdy5vbmFmdGVycHJpbnQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICB3aW5kb3cuY2xvc2UoKTsKICAgICAgICAgICAgfTsKICAgICAgICAgICAgLy8gU2FmZXR5IGNsb3NlIGFmdGVyIDIgbWludXRlcwogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyB3aW5kb3cuY2xvc2UoKTsgfSwgMTIwMDAwKTsKICAgICAgICAgIDxcL3NjcmlwdD4KICAgICAgICA8L2JvZHk+CiAgICAgICAgPC9odG1sPgogICAgICBgLFc9bmV3IEJsb2IoW0ddLHt0eXBlOiJ0ZXh0L2h0bWwifSksc2U9VVJMLmNyZWF0ZU9iamVjdFVSTChXKSx6ZT13aW5kb3cub3BlbihzZSwiX2JsYW5rIiwid2lkdGg9ODAwLGhlaWdodD02MDAiKTtpZih6ZSl7bGV0IE1lPXNldEludGVydmFsKCgpPT57emUuY2xvc2VkJiYoY2xlYXJJbnRlcnZhbChNZSksVVJMLnJldm9rZU9iamVjdFVSTChIKSxVUkwucmV2b2tlT2JqZWN0VVJMKHNlKSl9LDUwMCk7c2V0VGltZW91dCgoKT0+e2NsZWFySW50ZXJ2YWwoTWUpLFVSTC5yZXZva2VPYmplY3RVUkwoSCksVVJMLnJldm9rZU9iamVjdFVSTChzZSl9LDEyZTQpfWVsc2Ugd2luZG93Lm9wZW4oSCwiX2JsYW5rIiksc2V0VGltZW91dCgoKT0+VVJMLnJldm9rZU9iamVjdFVSTChIKSw2ZTQpLFVSTC5yZXZva2VPYmplY3RVUkwoc2UpfWNhdGNoKFkpe2NvbnNvbGUuZXJyb3IoIkVycm9yIHByaW50aW5nIFBERjoiLFkpfX1nZXRDb250ZXh0TWVudUl0ZW1zKCl7bGV0IFk9W10sSD13aW5kb3cuZ2V0U2VsZWN0aW9uKCk/LnRvU3RyaW5nKCl8fCIiO3JldHVybiBIJiYoWS5wdXNoKHtuYW1lOiJDb3B5IixpY29uTmFtZToibHVjaWRlOkNvcHkiLGFjdGlvbjppKGFzeW5jKCk9Pnthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChIKX0sImFjdGlvbiIpfSksWS5wdXNoKHtkaXZpZGVyOiEwfSkpLFkucHVzaCh7bmFtZToiRG93bmxvYWQgUERGIixpY29uTmFtZToibHVjaWRlOkRvd25sb2FkIixhY3Rpb246aShhc3luYygpPT57YXdhaXQgdGhpcy5kb3dubG9hZFBkZigpfSwiYWN0aW9uIil9LHtuYW1lOiJQcmludCBQREYiLGljb25OYW1lOiJsdWNpZGU6UHJpbnRlciIsYWN0aW9uOmkoYXN5bmMoKT0+e2F3YWl0IHRoaXMucHJpbnRQZGYoKX0sImFjdGlvbiIpfSksWX1nZXQgY2FuWm9vbUluKCl7cmV0dXJuIHRoaXMudmlld3BvcnRNb2RlIT09ImN1c3RvbSJ8fHRoaXMuY3VycmVudFpvb208dGhpcy5NQU5VQUxfTUFYX1pPT019Z2V0IGNhblpvb21PdXQoKXtyZXR1cm4gdGhpcy52aWV3cG9ydE1vZGUhPT0iY3VzdG9tInx8dGhpcy5jdXJyZW50Wm9vbT50aGlzLk1BTlVBTF9NSU5fWk9PTX1lbnN1cmVWaWV3ZXJSZWZzKCl7dGhpcy52aWV3ZXJNYWlufHwodGhpcy52aWV3ZXJNYWluPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnZpZXdlci1tYWluIikpLHRoaXMudmlld2VyTWFpbiYmIXRoaXMucmVzaXplT2JzZXJ2ZXImJih0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMubWVhc3VyZVZpZXdwb3J0RGltZW5zaW9ucygpLHRoaXMucGRmRG9jdW1lbnQmJnRoaXMucmVSZW5kZXJBbGxQYWdlcygpfSksdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMudmlld2VyTWFpbiksdGhpcy5tZWFzdXJlVmlld3BvcnREaW1lbnNpb25zKCksdGhpcy52aWV3ZXJNYWluLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixZPT57bGV0IFA9WS5jdXJyZW50VGFyZ2V0LEg9UC5zY3JvbGxUb3AsRz1QLnNjcm9sbEhlaWdodCxXPVAuY2xpZW50SGVpZ2h0LHNlPVkuZGVsdGFZLHplPUg9PT0wLE1lPU1hdGguYWJzKEgrVy1HKTwxO3NlPDAmJiF6ZXx8c2U+MCYmIU1lP1kuc3RvcFByb3BhZ2F0aW9uKCk6KHNlPDAmJnplfHxzZT4wJiZNZSkmJihZLnByZXZlbnREZWZhdWx0KCksWS5zdG9wUHJvcGFnYXRpb24oKSl9LHtwYXNzaXZlOiExfSkpfW1lYXN1cmVWaWV3cG9ydERpbWVuc2lvbnMoKXtpZighdGhpcy52aWV3ZXJNYWluKXt0aGlzLnZpZXdwb3J0RGltZW5zaW9ucz17d2lkdGg6MCxoZWlnaHQ6MH07cmV0dXJufWxldCBZPWdldENvbXB1dGVkU3R5bGUodGhpcy52aWV3ZXJNYWluKSxQPXBhcnNlRmxvYXQoWS5wYWRkaW5nTGVmdHx8IjAiKStwYXJzZUZsb2F0KFkucGFkZGluZ1JpZ2h0fHwiMCIpLEg9cGFyc2VGbG9hdChZLnBhZGRpbmdUb3B8fCIwIikrcGFyc2VGbG9hdChZLnBhZGRpbmdCb3R0b218fCIwIiksRz1NYXRoLm1heCh0aGlzLnZpZXdlck1haW4uY2xpZW50V2lkdGgtUCwwKSxXPU1hdGgubWF4KHRoaXMudmlld2VyTWFpbi5jbGllbnRIZWlnaHQtSCwwKTt0aGlzLnZpZXdwb3J0RGltZW5zaW9ucz17d2lkdGg6RyxoZWlnaHQ6V319cmVzb2x2ZUluaXRpYWxWaWV3cG9ydE1vZGUoKXt0eXBlb2YgdGhpcy5pbml0aWFsWm9vbT09Im51bWJlciI/KHRoaXMudmlld3BvcnRNb2RlPSJjdXN0b20iLHRoaXMuY3VycmVudFpvb209dGhpcy5ub3JtYWxpemVab29tKHRoaXMuaW5pdGlhbFpvb20sITApKTp0aGlzLmluaXRpYWxab29tPT09InBhZ2Utd2lkdGgiP3RoaXMudmlld3BvcnRNb2RlPSJwYWdlLXdpZHRoIjp0aGlzLmluaXRpYWxab29tPT09InBhZ2UtZml0Inx8dGhpcy5pbml0aWFsWm9vbT09PSJhdXRvIj90aGlzLnZpZXdwb3J0TW9kZT0icGFnZS1maXQiOnRoaXMudmlld3BvcnRNb2RlPSJhdXRvIix0aGlzLnZpZXdwb3J0TW9kZSE9PSJjdXN0b20iJiYodGhpcy5jdXJyZW50Wm9vbT0xKX1jb21wdXRlVmlld3BvcnQoWSl7dGhpcy5tZWFzdXJlVmlld3BvcnREaW1lbnNpb25zKCk7bGV0IFA9WS5nZXRWaWV3cG9ydCh7c2NhbGU6MX0pLEg7c3dpdGNoKHRoaXMudmlld3BvcnRNb2RlKXtjYXNlInBhZ2Utd2lkdGgiOntIPSh0aGlzLnZpZXdwb3J0RGltZW5zaW9ucy53aWR0aHx8UC53aWR0aCkvUC53aWR0aDticmVha31jYXNlInBhZ2UtZml0IjpjYXNlImF1dG8iOntsZXQgVz10aGlzLnZpZXdwb3J0RGltZW5zaW9ucy53aWR0aHx8UC53aWR0aCxzZT10aGlzLnZpZXdwb3J0RGltZW5zaW9ucy5oZWlnaHR8fFAuaGVpZ2h0LHplPVcvUC53aWR0aCxNZT1zZS9QLmhlaWdodDtIPU1hdGgubWluKHplLE1lKTticmVha31kZWZhdWx0OntIPXRoaXMubm9ybWFsaXplWm9vbSh0aGlzLmN1cnJlbnRab29tfHwxLCExKTticmVha319KCFOdW1iZXIuaXNGaW5pdGUoSCl8fEg8PTApJiYoSD0xKTtsZXQgRz10aGlzLnZpZXdwb3J0TW9kZT09PSJjdXN0b20iP3RoaXMubm9ybWFsaXplWm9vbShILCEwKTp0aGlzLm5vcm1hbGl6ZVpvb20oSCwhMSk7cmV0dXJuIHRoaXMudmlld3BvcnRNb2RlIT09ImN1c3RvbSImJih0aGlzLmN1cnJlbnRab29tPUcpLFkuZ2V0Vmlld3BvcnQoe3NjYWxlOkd9KX1ub3JtYWxpemVab29tKFksUCl7bGV0IEg9UD90aGlzLk1BTlVBTF9NSU5fWk9PTTp0aGlzLkFCU09MVVRFX01JTl9aT09NLEc9UD90aGlzLk1BTlVBTF9NQVhfWk9PTTp0aGlzLkFCU09MVVRFX01BWF9aT09NO3JldHVybiBNYXRoLm1pbihNYXRoLm1heChZLEgpLEcpfWFzeW5jIGNsZWFudXBEb2N1bWVudCgpe2lmKHRoaXMucmVuZGVyQWJvcnRDb250cm9sbGVyJiYodGhpcy5yZW5kZXJBYm9ydENvbnRyb2xsZXIuYWJvcnQoKSx0aGlzLnJlbmRlckFib3J0Q29udHJvbGxlcj1udWxsKSx0aGlzLmN1cnJlbnRSZW5kZXJQcm9taXNlKXt0cnl7YXdhaXQgdGhpcy5jdXJyZW50UmVuZGVyUHJvbWlzZX1jYXRjaHt9dGhpcy5jdXJyZW50UmVuZGVyUHJvbWlzZT1udWxsfXRoaXMuY3VycmVudFJlbmRlclRhc2s9bnVsbCx0aGlzLnBhZ2VSZW5kZXJUYXNrcy5mb3JFYWNoKFk9Pnt0cnl7WS5jYW5jZWwoKX1jYXRjaHt9fSksdGhpcy5wYWdlUmVuZGVyVGFza3MuY2xlYXIoKSx0aGlzLnRleHRMYXllclJlbmRlclRhc2tzLmZvckVhY2goWT0+e3RyeXtZLmNhbmNlbD8uKCl9Y2F0Y2h7fX0pLHRoaXMudGV4dExheWVyUmVuZGVyVGFza3MuY2xlYXIoKTtmb3IobGV0IFkgb2YgdGhpcy50aHVtYm5haWxSZW5kZXJUYXNrc3x8W10pdHJ5e1kuY2FuY2VsKCl9Y2F0Y2h7fWlmKHRoaXMudGh1bWJuYWlsUmVuZGVyVGFza3M9W10sdGhpcy5yZW5kZXJTdGF0ZT0iaWRsZSIsdGhpcy5wYWdlUmVuZGVyaW5nPSExLHRoaXMucGFnZU51bVBlbmRpbmc9bnVsbCx0aGlzLnRodW1ibmFpbERhdGE9W10sdGhpcy5wYWdlRGF0YT1bXSx0aGlzLmRvY3VtZW50SWQ9IiIsdGhpcy5jYW52YXMmJnRoaXMuY3R4JiZ0aGlzLmN0eC5jbGVhclJlY3QoMCwwLHRoaXMuY2FudmFzLndpZHRoLHRoaXMuY2FudmFzLmhlaWdodCksdGhpcy5wZGZEb2N1bWVudCl0cnl7dGhpcy5wZGZEb2N1bWVudC5kZXN0cm95KCl9Y2F0Y2goWSl7Y29uc29sZS5lcnJvcigiRXJyb3IgZGVzdHJveWluZyBQREYgZG9jdW1lbnQ6IixZKX10aGlzLnBkZkRvY3VtZW50PW51bGwsdGhpcy5yZXF1ZXN0VXBkYXRlKCl9c3RhdGlje0hhKHIsYSl9fTtyZXR1cm4gQ2U9cn0pKCl9KTt2YXIgVEp0LExKdD1jKCgpPT57cGUoKTtUSnQ9aSgoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogNDBweDsKICAgIH0KCiAgICAuc2VjdGlvbiB7CiAgICAgIG1heC13aWR0aDogOTAwcHg7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgfQoKICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgfQoKICAgIC5wcmV2aWV3LWltYWdlIHsKICAgICAgaGVpZ2h0OiA0MDBweDsKICAgIH0KCiAgICAucHJldmlldy1wZGYgewogICAgICBoZWlnaHQ6IDYwMHB4OwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5JbWFnZSBQcmV2aWV3IChVUkwpPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkF1dG8tZGV0ZWN0cyBpbWFnZSBmcm9tIFVSTCBleHRlbnNpb24gYW5kIHJlbmRlcnMgd2l0aCB0aGUgaW1hZ2Ugdmlld2VyLjwvZGl2PgogICAgICA8ZGVlcy1wcmV2aWV3CiAgICAgICAgY2xhc3M9InByZXZpZXctaW1hZ2UiCiAgICAgICAgdXJsPSJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTUwNjc0NDAzODEzNi00NjI3MzgzNGIzZmI/dz0xMjAwIgogICAgICAgIGZpbGVuYW1lPSJsYW5kc2NhcGUuanBnIgogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UERGIFByZXZpZXcgKFVSTCk8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+QXV0by1kZXRlY3RzIFBERiBhbmQgZGlzcGxheXMgd2l0aCB0aGUgUERGIHZpZXdlciBpbmNsdWRpbmcgdG9vbGJhci48L2Rpdj4KICAgICAgPGRlZXMtcHJldmlldwogICAgICAgIGNsYXNzPSJwcmV2aWV3LXBkZiIKICAgICAgICB1cmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS93ZWIvY29tcHJlc3NlZC50cmFjZW1vbmtleS1wbGRpLTA5LnBkZiIKICAgICAgICBmaWxlbmFtZT0icmVzZWFyY2gtcGFwZXIucGRmIgogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Q29kZSBQcmV2aWV3IChUZXh0IENvbnRlbnQpPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlR5cGVTY3JpcHQgY29kZSBkaXNwbGF5ZWQgd2l0aCBzeW50YXggaGlnaGxpZ2h0aW5nIHZpYSB0aGUgY29kZWJveC48L2Rpdj4KICAgICAgPGRlZXMtcHJldmlldwogICAgICAgIGZpbGVuYW1lPSJleGFtcGxlLnRzIgogICAgICAgIGxhbmd1YWdlPSJ0eXBlc2NyaXB0IgogICAgICAgIC50ZXh0Q29udGVudD0ke2BpbXBvcnQgeyBodG1sLCBjc3MgfSBmcm9tICdsaXQnOwoKZXhwb3J0IGNsYXNzIE15Q29tcG9uZW50IGV4dGVuZHMgTGl0RWxlbWVudCB7CiAgc3RhdGljIHN0eWxlcyA9IGNzc1xgCiAgICA6aG9zdCB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBwYWRkaW5nOiAxNnB4OwogICAgfQogIFxgOwoKICByZW5kZXIoKSB7CiAgICByZXR1cm4gaHRtbFxgPGgxPkhlbGxvIFdvcmxkPC9oMT5cYDsKICB9Cn1gfQogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QXVkaW8gUHJldmlldyAoVVJMKTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5BdWRpbyBmaWxlIGRldGVjdGVkIGJ5IGV4dGVuc2lvbiwgc2hvd24gd2l0aCB3YXZlZm9ybSBwbGF5ZXIuPC9kaXY+CiAgICAgIDxkZWVzLXByZXZpZXcKICAgICAgICB1cmw9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMS5tcDMiCiAgICAgICAgZmlsZW5hbWU9InNvbmcubXAzIgogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+VmlkZW8gUHJldmlldyAoVVJMKTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5WaWRlbyBmaWxlIGRldGVjdGVkIGZyb20gVVJMLCByZW5kZXJlZCB3aXRoIGN1c3RvbSB2aWRlbyBjb250cm9scy48L2Rpdj4KICAgICAgPGRlZXMtcHJldmlldwogICAgICAgIHVybD0iaHR0cHM6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9ndHYtdmlkZW9zLWJ1Y2tldC9zYW1wbGUvQmlnQnVja0J1bm55Lm1wNCIKICAgICAgICBmaWxlbmFtZT0iYmlnLWJ1Y2stYnVubnkubXA0IgogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+RXhwbGljaXQgVHlwZSBPdmVycmlkZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5Gb3JjZSBjb250ZW50IHR5cGUgdG8gJ3RleHQnIGV2ZW4gdGhvdWdoIHRoZSBVUkwgaGFzIG5vIGV4dGVuc2lvbi48L2Rpdj4KICAgICAgPGRlZXMtcHJldmlldwogICAgICAgIGNvbnRlbnRUeXBlPSJ0ZXh0IgogICAgICAgIC50ZXh0Q29udGVudD0ke2BUaGlzIGlzIHBsYWluIHRleHQgY29udGVudC4KSXQgcHJlc2VydmVzIHdoaXRlc3BhY2UgYW5kIGxpbmUgYnJlYWtzLgoKVXNlZnVsIGZvciBsb2cgZmlsZXMsIFJFQURNRXMsIGV0Yy5gfQogICAgICAgIGZpbGVuYW1lPSJub3Rlcy50eHQiCiAgICAgID48L2RlZXMtcHJldmlldz4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Vbmtub3duIFR5cGU8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+V2hlbiBjb250ZW50IHR5cGUgY2Fubm90IGJlIGRldGVjdGVkLCBzaG93cyBhIHBsYWNlaG9sZGVyLjwvZGl2PgogICAgICA8ZGVlcy1wcmV2aWV3CiAgICAgICAgZmlsZW5hbWU9ImRhdGEuYmluIgogICAgICAgIGNvbnRlbnRUeXBlPSJ1bmtub3duIgogICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBzcixpYSwkSnQsenZhLFN2YSxDdmEsREp0LEFKdD1jKCgpPT57cGUoKTt6QmUoKTtTQmUoKTtDQmUoKTtvQmUoKTtfQmUoKTtLdCgpO0xKdCgpO3NyPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxpYT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sJEp0PXtqcGc6ImltYWdlIixqcGVnOiJpbWFnZSIscG5nOiJpbWFnZSIsZ2lmOiJpbWFnZSIsd2VicDoiaW1hZ2UiLHN2ZzoiaW1hZ2UiLGJtcDoiaW1hZ2UiLGF2aWY6ImltYWdlIixpY286ImltYWdlIixwZGY6InBkZiIsbXAzOiJhdWRpbyIsd2F2OiJhdWRpbyIsb2dnOiJhdWRpbyIsZmxhYzoiYXVkaW8iLGFhYzoiYXVkaW8iLG00YToiYXVkaW8iLG9wdXM6ImF1ZGlvIix3ZWJhOiJhdWRpbyIsbXA0OiJ2aWRlbyIsd2VibToidmlkZW8iLG1vdjoidmlkZW8iLGF2aToidmlkZW8iLG1rdjoidmlkZW8iLG9ndjoidmlkZW8iLHRzOiJjb2RlIixqczoiY29kZSIsanN4OiJjb2RlIix0c3g6ImNvZGUiLGpzb246ImNvZGUiLGh0bWw6ImNvZGUiLGNzczoiY29kZSIsc2NzczoiY29kZSIsbGVzczoiY29kZSIscHk6ImNvZGUiLGphdmE6ImNvZGUiLGdvOiJjb2RlIixyczoiY29kZSIseWFtbDoiY29kZSIseW1sOiJjb2RlIix4bWw6ImNvZGUiLHNxbDoiY29kZSIsc2g6ImNvZGUiLGJhc2g6ImNvZGUiLHpzaDoiY29kZSIsbWQ6ImNvZGUiLGM6ImNvZGUiLGNwcDoiY29kZSIsaDoiY29kZSIsaHBwOiJjb2RlIixyYjoiY29kZSIscGhwOiJjb2RlIixzd2lmdDoiY29kZSIsa3Q6ImNvZGUiLHR4dDoidGV4dCIsbG9nOiJ0ZXh0Iixjc3Y6InRleHQiLGVudjoidGV4dCJ9LHp2YT17ImltYWdlLyI6ImltYWdlIiwiYXVkaW8vIjoiYXVkaW8iLCJ2aWRlby8iOiJ2aWRlbyIsImFwcGxpY2F0aW9uL3BkZiI6InBkZiJ9LFN2YT17dHM6InR5cGVzY3JpcHQiLHRzeDoidHlwZXNjcmlwdCIsanM6ImphdmFzY3JpcHQiLGpzeDoiamF2YXNjcmlwdCIsanNvbjoianNvbiIsaHRtbDoieG1sIix4bWw6InhtbCIsY3NzOiJjc3MiLHNjc3M6InNjc3MiLGxlc3M6Imxlc3MiLHB5OiJweXRob24iLGphdmE6ImphdmEiLGdvOiJnbyIscnM6InJ1c3QiLHlhbWw6InlhbWwiLHltbDoieWFtbCIsc3FsOiJzcWwiLHNoOiJiYXNoIixiYXNoOiJiYXNoIix6c2g6ImJhc2giLGM6ImMiLGNwcDoiY3BwIixoOiJjIixocHA6ImNwcCIscmI6InJ1YnkiLHBocDoicGhwIixzd2lmdDoic3dpZnQiLGt0OiJrb3RsaW4iLG1kOiJtYXJrZG93biJ9LEN2YT17aW1hZ2U6Imx1Y2lkZTpJbWFnZSIscGRmOiJsdWNpZGU6RmlsZVRleHQiLGF1ZGlvOiJsdWNpZGU6TXVzaWMiLHZpZGVvOiJsdWNpZGU6VmlkZW8iLGNvZGU6Imx1Y2lkZTpDb2RlIix0ZXh0OiJsdWNpZGU6RmlsZVRleHQiLHVua25vd246Imx1Y2lkZTpGaWxlIn0sREp0PSgoKT0+e2xldCB0PVthZSgiZGVlcy1wcmV2aWV3IildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W10sTiwkPVtdLEk9W10saixTPVtdLHo9W10sRCxUPVtdLEE9W10sVSxSPVtdLHE9W10sb2UsTz1bXSxyZT1bXSx5ZSxCPVtdLGVlPVtdLENlLFk9W10sUD1bXSxILEc9W10sVz1bXSxzZSx6ZT1bXSxNZT1bXSxFZSxWPVtdLEY9W107dmFyIG5lPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzUHJldmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCB0ZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKCldLGg9W0woe2F0dHJpYnV0ZTohMX0pXSxwPVtMKCldLHg9W0woKV0seT1bTCgpXSxFPVtMKCldLE49W0woKV0saj1bTCgpXSxEPVtMKHt0eXBlOkJvb2xlYW59KV0sVT1bTCh7dHlwZTpCb29sZWFufSldLG9lPVtaKCldLHllPVtaKCldLENlPVtaKCldLEg9W1ooKV0sc2U9W1ooKV0sRWU9W1ooKV0sc3IodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ1cmwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSz0+InVybCJpbiBLLCJoYXMiKSxnZXQ6aShLPT5LLnVybCwiZ2V0Iiksc2V0OmkoKEssa2UpPT57Sy51cmw9a2V9LCJzZXQiKX0sbWV0YWRhdGE6dGV9LG8sbCksc3IodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEs9PiJmaWxlImluIEssImhhcyIpLGdldDppKEs9PksuZmlsZSwiZ2V0Iiksc2V0OmkoKEssa2UpPT57Sy5maWxlPWtlfSwic2V0Iil9LG1ldGFkYXRhOnRlfSx1LGYpLHNyKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYmFzZTY0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEs9PiJiYXNlNjQiaW4gSywiaGFzIiksZ2V0OmkoSz0+Sy5iYXNlNjQsImdldCIpLHNldDppKChLLGtlKT0+e0suYmFzZTY0PWtlfSwic2V0Iil9LG1ldGFkYXRhOnRlfSxnLHYpLHNyKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGV4dENvbnRlbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSz0+InRleHRDb250ZW50ImluIEssImhhcyIpLGdldDppKEs9PksudGV4dENvbnRlbnQsImdldCIpLHNldDppKChLLGtlKT0+e0sudGV4dENvbnRlbnQ9a2V9LCJzZXQiKX0sbWV0YWRhdGE6dGV9LGIsbSksc3IodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50VHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShLPT4iY29udGVudFR5cGUiaW4gSywiaGFzIiksZ2V0OmkoSz0+Sy5jb250ZW50VHlwZSwiZ2V0Iiksc2V0OmkoKEssa2UpPT57Sy5jb250ZW50VHlwZT1rZX0sInNldCIpfSxtZXRhZGF0YTp0ZX0sTSxrKSxzcih0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imxhbmd1YWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEs9PiJsYW5ndWFnZSJpbiBLLCJoYXMiKSxnZXQ6aShLPT5LLmxhbmd1YWdlLCJnZXQiKSxzZXQ6aSgoSyxrZSk9PntLLmxhbmd1YWdlPWtlfSwic2V0Iil9LG1ldGFkYXRhOnRlfSxfLEMpLHNyKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWltZVR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSz0+Im1pbWVUeXBlImluIEssImhhcyIpLGdldDppKEs9PksubWltZVR5cGUsImdldCIpLHNldDppKChLLGtlKT0+e0subWltZVR5cGU9a2V9LCJzZXQiKX0sbWV0YWRhdGE6dGV9LCQsSSksc3IodGhpcyxudWxsLGose2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxlbmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShLPT4iZmlsZW5hbWUiaW4gSywiaGFzIiksZ2V0OmkoSz0+Sy5maWxlbmFtZSwiZ2V0Iiksc2V0OmkoKEssa2UpPT57Sy5maWxlbmFtZT1rZX0sInNldCIpfSxtZXRhZGF0YTp0ZX0sUyx6KSxzcih0aGlzLG51bGwsRCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dUb29sYmFyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEs9PiJzaG93VG9vbGJhciJpbiBLLCJoYXMiKSxnZXQ6aShLPT5LLnNob3dUb29sYmFyLCJnZXQiKSxzZXQ6aSgoSyxrZSk9PntLLnNob3dUb29sYmFyPWtlfSwic2V0Iil9LG1ldGFkYXRhOnRlfSxULEEpLHNyKHRoaXMsbnVsbCxVLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0ZpbGVuYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEs9PiJzaG93RmlsZW5hbWUiaW4gSywiaGFzIiksZ2V0OmkoSz0+Sy5zaG93RmlsZW5hbWUsImdldCIpLHNldDppKChLLGtlKT0+e0suc2hvd0ZpbGVuYW1lPWtlfSwic2V0Iil9LG1ldGFkYXRhOnRlfSxSLHEpLHNyKHRoaXMsbnVsbCxvZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlc29sdmVkVHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShLPT4icmVzb2x2ZWRUeXBlImluIEssImhhcyIpLGdldDppKEs9PksucmVzb2x2ZWRUeXBlLCJnZXQiKSxzZXQ6aSgoSyxrZSk9PntLLnJlc29sdmVkVHlwZT1rZX0sInNldCIpfSxtZXRhZGF0YTp0ZX0sTyxyZSksc3IodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVzb2x2ZWRTcmMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSz0+InJlc29sdmVkU3JjImluIEssImhhcyIpLGdldDppKEs9PksucmVzb2x2ZWRTcmMsImdldCIpLHNldDppKChLLGtlKT0+e0sucmVzb2x2ZWRTcmM9a2V9LCJzZXQiKX0sbWV0YWRhdGE6dGV9LEIsZWUpLHNyKHRoaXMsbnVsbCxDZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlc29sdmVkVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShLPT4icmVzb2x2ZWRUZXh0ImluIEssImhhcyIpLGdldDppKEs9PksucmVzb2x2ZWRUZXh0LCJnZXQiKSxzZXQ6aSgoSyxrZSk9PntLLnJlc29sdmVkVGV4dD1rZX0sInNldCIpfSxtZXRhZGF0YTp0ZX0sWSxQKSxzcih0aGlzLG51bGwsSCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlc29sdmVkTGFuZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShLPT4icmVzb2x2ZWRMYW5nImluIEssImhhcyIpLGdldDppKEs9PksucmVzb2x2ZWRMYW5nLCJnZXQiKSxzZXQ6aSgoSyxrZSk9PntLLnJlc29sdmVkTGFuZz1rZX0sInNldCIpfSxtZXRhZGF0YTp0ZX0sRyxXKSxzcih0aGlzLG51bGwsc2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEs9PiJsb2FkaW5nImluIEssImhhcyIpLGdldDppKEs9PksubG9hZGluZywiZ2V0Iiksc2V0OmkoKEssa2UpPT57Sy5sb2FkaW5nPWtlfSwic2V0Iil9LG1ldGFkYXRhOnRlfSx6ZSxNZSksc3IodGhpcyxudWxsLEVlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSz0+ImVycm9yImluIEssImhhcyIpLGdldDppKEs9PksuZXJyb3IsImdldCIpLHNldDppKChLLGtlKT0+e0suZXJyb3I9a2V9LCJzZXQiKX0sbWV0YWRhdGE6dGV9LFYsRiksc3IobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6dGV9LG51bGwsYSksbmU9cj1lLnZhbHVlLHRlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnRlfSl9c3RhdGljIGRlbW89VEp0O3N0YXRpYyBkZW1vR3JvdXBzPVsiTWVkaWEiLCJEYXRhIFZpZXciXTsjZT1pYSh0aGlzLG8sIiIpO2dldCB1cmwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdXJsKHRlKXt0aGlzLiNlPXRlfSN0PShpYSh0aGlzLGwpLGlhKHRoaXMsdSx2b2lkIDApKTtnZXQgZmlsZSgpe3JldHVybiB0aGlzLiN0fXNldCBmaWxlKHRlKXt0aGlzLiN0PXRlfSNhPShpYSh0aGlzLGYpLGlhKHRoaXMsZywiIikpO2dldCBiYXNlNjQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYmFzZTY0KHRlKXt0aGlzLiNhPXRlfSNyPShpYSh0aGlzLHYpLGlhKHRoaXMsYiwiIikpO2dldCB0ZXh0Q29udGVudCgpe3JldHVybiB0aGlzLiNyfXNldCB0ZXh0Q29udGVudCh0ZSl7dGhpcy4jcj10ZX0jaT0oaWEodGhpcyxtKSxpYSh0aGlzLE0sdm9pZCAwKSk7Z2V0IGNvbnRlbnRUeXBlKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGNvbnRlbnRUeXBlKHRlKXt0aGlzLiNpPXRlfSNzPShpYSh0aGlzLGspLGlhKHRoaXMsXywiIikpO2dldCBsYW5ndWFnZSgpe3JldHVybiB0aGlzLiNzfXNldCBsYW5ndWFnZSh0ZSl7dGhpcy4jcz10ZX0jbz0oaWEodGhpcyxDKSxpYSh0aGlzLCQsIiIpKTtnZXQgbWltZVR5cGUoKXtyZXR1cm4gdGhpcy4jb31zZXQgbWltZVR5cGUodGUpe3RoaXMuI289dGV9I249KGlhKHRoaXMsSSksaWEodGhpcyxTLCIiKSk7Z2V0IGZpbGVuYW1lKCl7cmV0dXJuIHRoaXMuI259c2V0IGZpbGVuYW1lKHRlKXt0aGlzLiNuPXRlfSNsPShpYSh0aGlzLHopLGlhKHRoaXMsVCwhMCkpO2dldCBzaG93VG9vbGJhcigpe3JldHVybiB0aGlzLiNsfXNldCBzaG93VG9vbGJhcih0ZSl7dGhpcy4jbD10ZX0jYz0oaWEodGhpcyxBKSxpYSh0aGlzLFIsITApKTtnZXQgc2hvd0ZpbGVuYW1lKCl7cmV0dXJuIHRoaXMuI2N9c2V0IHNob3dGaWxlbmFtZSh0ZSl7dGhpcy4jYz10ZX0jZD0oaWEodGhpcyxxKSxpYSh0aGlzLE8sInVua25vd24iKSk7Z2V0IHJlc29sdmVkVHlwZSgpe3JldHVybiB0aGlzLiNkfXNldCByZXNvbHZlZFR5cGUodGUpe3RoaXMuI2Q9dGV9I3A9KGlhKHRoaXMscmUpLGlhKHRoaXMsQiwiIikpO2dldCByZXNvbHZlZFNyYygpe3JldHVybiB0aGlzLiNwfXNldCByZXNvbHZlZFNyYyh0ZSl7dGhpcy4jcD10ZX0jdT0oaWEodGhpcyxlZSksaWEodGhpcyxZLCIiKSk7Z2V0IHJlc29sdmVkVGV4dCgpe3JldHVybiB0aGlzLiN1fXNldCByZXNvbHZlZFRleHQodGUpe3RoaXMuI3U9dGV9I2Y9KGlhKHRoaXMsUCksaWEodGhpcyxHLCJ0ZXh0IikpO2dldCByZXNvbHZlZExhbmcoKXtyZXR1cm4gdGhpcy4jZn1zZXQgcmVzb2x2ZWRMYW5nKHRlKXt0aGlzLiNmPXRlfSNoPShpYSh0aGlzLFcpLGlhKHRoaXMsemUsITEpKTtnZXQgbG9hZGluZygpe3JldHVybiB0aGlzLiNofXNldCBsb2FkaW5nKHRlKXt0aGlzLiNoPXRlfSNtPShpYSh0aGlzLE1lKSxpYSh0aGlzLFYsIiIpKTtnZXQgZXJyb3IoKXtyZXR1cm4gdGhpcy4jbX1zZXQgZXJyb3IodGUpe3RoaXMuI209dGV9b2JqZWN0VXJsPShpYSh0aGlzLEYpLCIiKTtyZW5kZXIoKXtsZXQgdGU9dGhpcy5maWxlbmFtZXx8dGhpcy5maWxlPy5uYW1lfHx0aGlzLmdldEZpbGVuYW1lRnJvbVVybCgpfHwiIjtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmOwogICAgICAgIH0KCiAgICAgICAgLnByZXZpZXctY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICB9CgogICAgICAgIC5oZWFkZXItYmFyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y5ZmFmYiIsImhzbCgyMTUgMjAlIDE1JSkiKX07CiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgfQoKICAgICAgICAuaGVhZGVyLWljb24gewogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLmhlYWRlci1maWxlbmFtZSB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgIH0KCiAgICAgICAgLmhlYWRlci1iYWRnZSB7CiAgICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjE1KSIpfTsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgfQoKICAgICAgICAuY29udGVudC1hcmVhIHsKICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgbWluLWhlaWdodDogMjAwcHg7CiAgICAgICAgfQoKICAgICAgICAuY29udGVudC1hcmVhID4gKiB7CiAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB9CgogICAgICAgIGRlZXMtaW1hZ2Utdmlld2VyIHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIH0KCiAgICAgICAgZGVlcy1wZGYtdmlld2VyIHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIH0KCiAgICAgICAgZGVlcy12aWRlby12aWV3ZXIgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgfQoKICAgICAgICBkZWVzLWF1ZGlvLXZpZXdlciB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB9CgogICAgICAgIGRlZXMtZGF0YXZpZXctY29kZWJveCB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB9CgogICAgICAgIC50ZXh0LXZpZXdlciB7CiAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBtb25vc3BhY2U7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICB9CgogICAgICAgIC5wbGFjZWhvbGRlciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4OwogICAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiIzcxNzE3YSIpfTsKICAgICAgICB9CgogICAgICAgIC5wbGFjZWhvbGRlciBkZWVzLWljb24gewogICAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgICAgZm9udC1zaXplOiAzMnB4OwogICAgICAgIH0KCiAgICAgICAgLnBsYWNlaG9sZGVyLXRleHQgewogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIH0KCiAgICAgICAgLmxvYWRpbmctY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsKICAgICAgICB9CgogICAgICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgICAgfQoKICAgICAgICAuZXJyb3ItY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsKICAgICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgICAgfQoKICAgICAgICAuZXJyb3ItY29udGFpbmVyIGRlZXMtaWNvbiB7CiAgICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgfQoKICAgICAgICAuZXJyb3ItdGV4dCB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgoKICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1jb250YWluZXIiPgogICAgICAgICR7dGhpcy5zaG93RmlsZW5hbWUmJnRlP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItYmFyIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0iaGVhZGVyLWljb24iIGljb249IiR7Q3ZhW3RoaXMucmVzb2x2ZWRUeXBlXX0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaGVhZGVyLWZpbGVuYW1lIj4ke3RlfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImhlYWRlci1iYWRnZSI+JHt0aGlzLnJlc29sdmVkVHlwZX08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50LWFyZWEiPgogICAgICAgICAgJHt0aGlzLmVycm9yP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6QWxlcnRUcmlhbmdsZSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVycm9yLXRleHQiPiR7dGhpcy5lcnJvcn08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDp0aGlzLmxvYWRpbmc/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1jb250YWluZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDp0aGlzLnJlbmRlckNvbnRlbnQoKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckNvbnRlbnQoKXtzd2l0Y2godGhpcy5yZXNvbHZlZFR5cGUpe2Nhc2UiaW1hZ2UiOnJldHVybiB3YAogICAgICAgICAgPGRlZXMtaW1hZ2Utdmlld2VyCiAgICAgICAgICAgIC5zcmM9JHt0aGlzLnJlc29sdmVkU3JjfQogICAgICAgICAgICAuc2hvd1Rvb2xiYXI9JHt0aGlzLnNob3dUb29sYmFyfQogICAgICAgICAgICBhbHQ9IiR7dGhpcy5maWxlbmFtZXx8IiJ9IgogICAgICAgICAgPjwvZGVlcy1pbWFnZS12aWV3ZXI+CiAgICAgICAgYDtjYXNlInBkZiI6cmV0dXJuIHdgCiAgICAgICAgICA8ZGVlcy1wZGYtdmlld2VyCiAgICAgICAgICAgIC5wZGZVcmw9JHt0aGlzLnJlc29sdmVkU3JjfQogICAgICAgICAgICAuc2hvd1Rvb2xiYXI9JHt0aGlzLnNob3dUb29sYmFyfQogICAgICAgICAgICBpbml0aWFsWm9vbT0icGFnZS1maXQiCiAgICAgICAgICA+PC9kZWVzLXBkZi12aWV3ZXI+CiAgICAgICAgYDtjYXNlImF1ZGlvIjpyZXR1cm4gd2AKICAgICAgICAgIDxkZWVzLWF1ZGlvLXZpZXdlcgogICAgICAgICAgICAuc3JjPSR7dGhpcy5yZXNvbHZlZFNyY30KICAgICAgICAgICAgLnRpdGxlPSR7dGhpcy5maWxlbmFtZXx8dGhpcy5maWxlPy5uYW1lfHwiIn0KICAgICAgICAgID48L2RlZXMtYXVkaW8tdmlld2VyPgogICAgICAgIGA7Y2FzZSJ2aWRlbyI6cmV0dXJuIHdgCiAgICAgICAgICA8ZGVlcy12aWRlby12aWV3ZXIKICAgICAgICAgICAgLnNyYz0ke3RoaXMucmVzb2x2ZWRTcmN9CiAgICAgICAgICA+PC9kZWVzLXZpZGVvLXZpZXdlcj4KICAgICAgICBgO2Nhc2UiY29kZSI6cmV0dXJuIHdgCiAgICAgICAgICA8ZGVlcy1kYXRhdmlldy1jb2RlYm94CiAgICAgICAgICAgIC5wcm9nTGFuZz0ke3RoaXMucmVzb2x2ZWRMYW5nfQogICAgICAgICAgICAuY29kZVRvRGlzcGxheT0ke3RoaXMucmVzb2x2ZWRUZXh0fQogICAgICAgICAgPjwvZGVlcy1kYXRhdmlldy1jb2RlYm94PgogICAgICAgIGA7Y2FzZSJ0ZXh0IjpyZXR1cm4gd2A8cHJlIGNsYXNzPSJ0ZXh0LXZpZXdlciI+JHt0aGlzLnJlc29sdmVkVGV4dH08L3ByZT5gO2RlZmF1bHQ6cmV0dXJuIHdgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGFjZWhvbGRlciI+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkZpbGVRdWVzdGlvbiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwbGFjZWhvbGRlci10ZXh0Ij5QcmV2aWV3IG5vdCBhdmFpbGFibGU8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgfX1hc3luYyB1cGRhdGVkKHRlKXtzdXBlci51cGRhdGVkKHRlKSxbInVybCIsImZpbGUiLCJiYXNlNjQiLCJ0ZXh0Q29udGVudCIsImNvbnRlbnRUeXBlIiwibGFuZ3VhZ2UiLCJtaW1lVHlwZSIsImZpbGVuYW1lIl0uc29tZSh2ZT0+dGUuaGFzKHZlKSkmJmF3YWl0IHRoaXMucmVzb2x2ZUNvbnRlbnQoKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5yZXZva2VPYmplY3RVcmwoKX1hc3luYyByZXNvbHZlQ29udGVudCgpe3RoaXMuZXJyb3I9IiIsdGhpcy5yZXZva2VPYmplY3RVcmwoKSx0aGlzLnJlc29sdmVkVHlwZT10aGlzLmRldGVjdFR5cGUoKTt0cnl7aWYodGhpcy51cmwpe2lmKHRoaXMucmVzb2x2ZWRTcmM9dGhpcy51cmwsdGhpcy5yZXNvbHZlZFR5cGU9PT0iY29kZSJ8fHRoaXMucmVzb2x2ZWRUeXBlPT09InRleHQiKWlmKHRoaXMudGV4dENvbnRlbnQpdGhpcy5yZXNvbHZlZFRleHQ9dGhpcy50ZXh0Q29udGVudDtlbHNle3RoaXMubG9hZGluZz0hMDtsZXQgdGU9YXdhaXQgZmV0Y2godGhpcy51cmwpO3RoaXMucmVzb2x2ZWRUZXh0PWF3YWl0IHRlLnRleHQoKSx0aGlzLmxvYWRpbmc9ITF9fWVsc2UgaWYodGhpcy5maWxlKXRoaXMub2JqZWN0VXJsPVVSTC5jcmVhdGVPYmplY3RVUkwodGhpcy5maWxlKSx0aGlzLnJlc29sdmVkU3JjPXRoaXMub2JqZWN0VXJsLCh0aGlzLnJlc29sdmVkVHlwZT09PSJjb2RlInx8dGhpcy5yZXNvbHZlZFR5cGU9PT0idGV4dCIpJiYodGhpcy5sb2FkaW5nPSEwLHRoaXMucmVzb2x2ZWRUZXh0PWF3YWl0IHRoaXMuZmlsZS50ZXh0KCksdGhpcy5sb2FkaW5nPSExKTtlbHNlIGlmKHRoaXMuYmFzZTY0KXtsZXQgdGU9dGhpcy5taW1lVHlwZXx8ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSI7dGhpcy5yZXNvbHZlZFNyYz1gZGF0YToke3RlfTtiYXNlNjQsJHt0aGlzLmJhc2U2NH1gfWVsc2UgdGhpcy50ZXh0Q29udGVudCYmKHRoaXMucmVzb2x2ZWRUZXh0PXRoaXMudGV4dENvbnRlbnQpfWNhdGNoe3RoaXMuZXJyb3I9IkZhaWxlZCB0byBsb2FkIGNvbnRlbnQiLHRoaXMubG9hZGluZz0hMX10aGlzLnJlc29sdmVkTGFuZz10aGlzLnJlc29sdmVMYW5ndWFnZSgpfWRldGVjdFR5cGUoKXtpZih0aGlzLmNvbnRlbnRUeXBlKXJldHVybiB0aGlzLmNvbnRlbnRUeXBlO2xldCB0ZT10aGlzLm1pbWVUeXBlfHx0aGlzLmZpbGU/LnR5cGV8fCIiO2lmKHRlKXtpZih0ZT09PSJhcHBsaWNhdGlvbi9wZGYiKXJldHVybiJwZGYiO2ZvcihsZXRba2UsdmVdb2YgT2JqZWN0LmVudHJpZXMoenZhKSlpZih0ZS5zdGFydHNXaXRoKGtlKSlyZXR1cm4gdmU7aWYodGUuc3RhcnRzV2l0aCgidGV4dC8iKSlyZXR1cm4idGV4dCJ9bGV0IEs9dGhpcy5nZXRFeHRlbnNpb24oKTtyZXR1cm4gSyYmJEp0W0tdPyRKdFtLXTp0aGlzLnRleHRDb250ZW50P3RoaXMubGFuZ3VhZ2U/ImNvZGUiOiJ0ZXh0IjoidW5rbm93biJ9Z2V0RXh0ZW5zaW9uKCl7bGV0IHRlPXRoaXMuZmlsZW5hbWV8fHRoaXMuZmlsZT8ubmFtZXx8IiI7aWYodGUpe2xldCBLPXRlLnNwbGl0KCIuIik7aWYoSy5sZW5ndGg+MSlyZXR1cm4gSy5wb3AoKS50b0xvd2VyQ2FzZSgpfWlmKHRoaXMudXJsKXRyeXtsZXQga2U9bmV3IFVSTCh0aGlzLnVybCwiaHR0cHM6Ly9wbGFjZWhvbGRlci5jb20iKS5wYXRobmFtZS5zcGxpdCgiLiIpO2lmKGtlLmxlbmd0aD4xKXJldHVybiBrZS5wb3AoKS50b0xvd2VyQ2FzZSgpfWNhdGNoe31yZXR1cm4iIn1nZXRGaWxlbmFtZUZyb21VcmwoKXtpZighdGhpcy51cmwpcmV0dXJuIiI7dHJ5e3JldHVybiBuZXcgVVJMKHRoaXMudXJsLCJodHRwczovL3BsYWNlaG9sZGVyLmNvbSIpLnBhdGhuYW1lLnNwbGl0KCIvIikucG9wKCl8fCIifWNhdGNoe3JldHVybiIifX1yZXNvbHZlTGFuZ3VhZ2UoKXtpZih0aGlzLmxhbmd1YWdlKXJldHVybiB0aGlzLmxhbmd1YWdlO2xldCB0ZT10aGlzLmdldEV4dGVuc2lvbigpO3JldHVybiBTdmFbdGVdfHwidGV4dCJ9cmV2b2tlT2JqZWN0VXJsKCl7dGhpcy5vYmplY3RVcmwmJihVUkwucmV2b2tlT2JqZWN0VVJMKHRoaXMub2JqZWN0VXJsKSx0aGlzLm9iamVjdFVybD0iIil9c3RhdGlje2lhKHIsYSl9fTtyZXR1cm4gbmU9cn0pKCl9KTt2YXIgUEp0PWMoKCk9PntBSnQoKX0pO3ZhciBlcCxUQmU9YygoKT0+e2VwPWNsYXNze3N0YXRpY3tpKHRoaXMsIkNhbnZhc1Bvb2wiKX1zdGF0aWMgcG9vbD1bXTtzdGF0aWMgbWF4UG9vbFNpemU9MjA7c3RhdGljIE1JTl9DQU5WQVNfU0laRT0yNTY7c3RhdGljIE1BWF9DQU5WQVNfU0laRT00MDk2O3N0YXRpYyBhY3F1aXJlKGUsYSl7bGV0IHI9dGhpcy5wb29sLmZpbmQobD0+IWwuaW5Vc2UmJmwuY2FudmFzLndpZHRoPj1lJiZsLmNhbnZhcy5oZWlnaHQ+PWEmJmwuY2FudmFzLndpZHRoPD1lKjEuNSYmbC5jYW52YXMuaGVpZ2h0PD1hKjEuNSk7aWYocilyZXR1cm4gci5pblVzZT0hMCxyLmxhc3RVc2VkPURhdGUubm93KCksci5jYW52YXMud2lkdGg9ZSxyLmNhbnZhcy5oZWlnaHQ9YSxyLmN0eC5jbGVhclJlY3QoMCwwLGUsYSkscjtpZih0aGlzLnBvb2wubGVuZ3RoPHRoaXMubWF4UG9vbFNpemUpe2xldCBsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLGg9bC5nZXRDb250ZXh0KCIyZCIse2FscGhhOiEwLGRlc3luY2hyb25pemVkOiEwfSk7bC53aWR0aD1NYXRoLm1pbihNYXRoLm1heChlLHRoaXMuTUlOX0NBTlZBU19TSVpFKSx0aGlzLk1BWF9DQU5WQVNfU0laRSksbC5oZWlnaHQ9TWF0aC5taW4oTWF0aC5tYXgoYSx0aGlzLk1JTl9DQU5WQVNfU0laRSksdGhpcy5NQVhfQ0FOVkFTX1NJWkUpO2xldCB1PXtjYW52YXM6bCxjdHg6aCxpblVzZTohMCxsYXN0VXNlZDpEYXRlLm5vdygpfTtyZXR1cm4gdGhpcy5wb29sLnB1c2godSksdX1sZXQgcz10aGlzLnBvb2wuZmlsdGVyKGw9PiFsLmluVXNlKS5zb3J0KChsLGgpPT5sLmxhc3RVc2VkLWgubGFzdFVzZWQpWzBdO2lmKHMpcmV0dXJuIHMuY2FudmFzLndpZHRoPWUscy5jYW52YXMuaGVpZ2h0PWEscy5jdHguY2xlYXJSZWN0KDAsMCxlLGEpLHMuaW5Vc2U9ITAscy5sYXN0VXNlZD1EYXRlLm5vdygpLHM7bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksbz1uLmdldENvbnRleHQoIjJkIik7cmV0dXJuIG4ud2lkdGg9ZSxuLmhlaWdodD1hLHtjYW52YXM6bixjdHg6byxpblVzZTohMCxsYXN0VXNlZDpEYXRlLm5vdygpfX1zdGF0aWMgcmVsZWFzZShlKXt0aGlzLnBvb2wuaW5jbHVkZXMoZSkmJihlLmluVXNlPSExLGUuY3R4LmNsZWFyUmVjdCgwLDAsZS5jYW52YXMud2lkdGgsZS5jYW52YXMuaGVpZ2h0KSl9c3RhdGljIHJlbGVhc2VBbGwoKXtmb3IobGV0IGUgb2YgdGhpcy5wb29sKWUuaW5Vc2U9ITEsZS5jdHguY2xlYXJSZWN0KDAsMCxlLmNhbnZhcy53aWR0aCxlLmNhbnZhcy5oZWlnaHQpfXN0YXRpYyBkZXN0cm95KCl7Zm9yKGxldCBlIG9mIHRoaXMucG9vbCllLmNhbnZhcy53aWR0aD0wLGUuY2FudmFzLmhlaWdodD0wO3RoaXMucG9vbD1bXX1zdGF0aWMgZ2V0U3RhdHMoKXtyZXR1cm57cG9vbFNpemU6dGhpcy5wb29sLmxlbmd0aCxtYXhQb29sU2l6ZTp0aGlzLm1heFBvb2xTaXplLGluVXNlOnRoaXMucG9vbC5maWx0ZXIoZT0+ZS5pblVzZSkubGVuZ3RoLGF2YWlsYWJsZTp0aGlzLnBvb2wuZmlsdGVyKGU9PiFlLmluVXNlKS5sZW5ndGh9fXN0YXRpYyBhZGp1c3RQb29sU2l6ZShlKXtpZihlPHRoaXMucG9vbC5sZW5ndGgpe2xldCBhPXRoaXMucG9vbC5sZW5ndGgtZSxyPXRoaXMucG9vbC5maWx0ZXIocz0+IXMuaW5Vc2UpLnNsaWNlKDAsYSk7Zm9yKGxldCBzIG9mIHIpe2xldCBuPXRoaXMucG9vbC5pbmRleE9mKHMpO24+LTEmJnRoaXMucG9vbC5zcGxpY2UobiwxKX19dGhpcy5tYXhQb29sU2l6ZT1lfX19KTtmdW5jdGlvbiBfdmEodCxlKXtsZXQgYTtyZXR1cm4gaShmdW5jdGlvbiguLi5zKXtsZXQgbj1pKCgpPT57Y2xlYXJUaW1lb3V0KGEpLHQoLi4ucyl9LCJsYXRlciIpO2NsZWFyVGltZW91dChhKSxhPXdpbmRvdy5zZXRUaW1lb3V0KG4sZSl9LCJleGVjdXRlZEZ1bmN0aW9uIil9ZnVuY3Rpb24gVHZhKHQsZSl7bGV0IGE7cmV0dXJuIGkoZnVuY3Rpb24oLi4ucyl7YXx8KHQuYXBwbHkodGhpcyxzKSxhPSEwLHNldFRpbWVvdXQoKCk9PmE9ITEsZSkpfSwiZXhlY3V0ZWRGdW5jdGlvbiIpfWZ1bmN0aW9uIExCZSh0KXtpZih0PT09MClyZXR1cm4iMCBCeXRlcyI7bGV0IGU9MTAyNCxhPVsiQnl0ZXMiLCJLQiIsIk1CIiwiR0IiXSxyPU1hdGguZmxvb3IoTWF0aC5sb2codCkvTWF0aC5sb2coZSkpO3JldHVybiBNYXRoLnJvdW5kKHQvTWF0aC5wb3coZSxyKSoxMDApLzEwMCsiICIrYVtyXX1mdW5jdGlvbiBMdmEodCxlPTApe2xldCBhPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7cmV0dXJuIGEudG9wPj0tZSYmYS5sZWZ0Pj0tZSYmYS5ib3R0b208PSh3aW5kb3cuaW5uZXJIZWlnaHR8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQpK2UmJmEucmlnaHQ8PSh3aW5kb3cuaW5uZXJXaWR0aHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKStlfXZhciB0cCwkQmU9YygoKT0+e2koX3ZhLCJkZWJvdW5jZSIpO2koVHZhLCJ0aHJvdHRsZSIpO2koTEJlLCJmb3JtYXRGaWxlU2l6ZSIpO2koTHZhLCJpc0luVmlld3BvcnQiKTt0cD1jbGFzc3tzdGF0aWN7aSh0aGlzLCJQZXJmb3JtYW5jZU1vbml0b3IiKX1zdGF0aWMgbWFya3M9bmV3IE1hcDtzdGF0aWMgbWVhc3VyZXM9W107c3RhdGljIG1hcmsoZSl7dGhpcy5tYXJrcy5zZXQoZSxwZXJmb3JtYW5jZS5ub3coKSl9c3RhdGljIG1lYXN1cmUoZSxhKXtsZXQgcj10aGlzLm1hcmtzLmdldChhKTtpZihyKXtsZXQgcz1wZXJmb3JtYW5jZS5ub3coKS1yO3JldHVybiB0aGlzLm1lYXN1cmVzLnB1c2goe25hbWU6ZSxkdXJhdGlvbjpzfSksdGhpcy5tYXJrcy5kZWxldGUoYSksc31yZXR1cm4gMH1zdGF0aWMgZ2V0UmVwb3J0KCl7bGV0IGU9e21lYXN1cmVzOlsuLi50aGlzLm1lYXN1cmVzXSxhdmVyYWdlczp7fX0sYT1uZXcgTWFwO2ZvcihsZXQgciBvZiB0aGlzLm1lYXN1cmVzKWEuaGFzKHIubmFtZSl8fGEuc2V0KHIubmFtZSxbXSksYS5nZXQoci5uYW1lKS5wdXNoKHIuZHVyYXRpb24pO2ZvcihsZXRbcixzXW9mIGEpZS5hdmVyYWdlc1tyXT1zLnJlZHVjZSgobixvKT0+bitvLDApL3MubGVuZ3RoO3JldHVybiBlfXN0YXRpYyBjbGVhcigpe3RoaXMubWFya3MuY2xlYXIoKSx0aGlzLm1lYXN1cmVzPVtdfX19KTt2YXIgRUp0PWMoKCk9PntUQmUoKTtKWigpOyRCZSgpfSk7dmFyIElKdD1jKCgpPT57X0JlKCl9KTt2YXIgTHIsRm89YygoKT0+e3BlKCk7THI9W2QuZGVmYXVsdFN0eWxlcyxYYAogICAgOmhvc3QgewogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIH0KCiAgICAudGlsZS1jb250YWluZXIgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHdpZHRoOiAyMDBweDsKICAgICAgaGVpZ2h0OiAyNjBweDsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk4JSkiLCJoc2woMjE1IDIwJSAxNCUpIil9OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlOwogICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggJHtkLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xMikiLCJyZ2JhKDAsIDAsIDAsIDAuMjQpIil9OwoKICAgIH0KCiAgICAudGlsZS1jb250YWluZXIuY2xpY2thYmxlIHsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgfQoKICAgIC50aWxlLWNvbnRhaW5lci5jbGlja2FibGU6aG92ZXIgewogICAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMTIpIiwicmdiYSgwLCAwLCAwLCAwLjMpIil9OwogICAgfQoKICAgIC50aWxlLWNvbnRhaW5lci5jbGlja2FibGU6aG92ZXIgLnRpbGUtb3ZlcmxheSB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICB9CgogICAgLnRpbGUtY29udGVudCB7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CgogICAgLnRpbGUtb3ZlcmxheSB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICBsZWZ0OiAwOwogICAgICByaWdodDogMDsKICAgICAgYm90dG9tOiAwOwogICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjcpIiwicmdiYSgwLCAwLCAwLCAwLjgpIil9OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgZ2FwOiA4cHg7CiAgICAgIG9wYWNpdHk6IDA7CiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICB6LWluZGV4OiAyMDsKICAgIH0KCiAgICAudGlsZS1vdmVybGF5IGRlZXMtaWNvbiB7CiAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgY29sb3I6IHdoaXRlOwogICAgfQoKICAgIC50aWxlLW92ZXJsYXkgc3BhbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgY29sb3I6IHdoaXRlOwogICAgfQoKICAgIC50aWxlLWluZm8tYmFyIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBib3R0b206IDA7CiAgICAgIGxlZnQ6IDA7CiAgICAgIHJpZ2h0OiAwOwogICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSAvIDAuOTUpIiwiaHNsKDIxNSAyMCUgMTIlIC8gMC45NSkiKX07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogNnB4OwogICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTsKICAgICAgei1pbmRleDogMjU7CiAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICB9CgogICAgLmluZm8tbGFiZWwgewogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgbWluLXdpZHRoOiAwOwogICAgfQoKICAgIC5pbmZvLXNwYWNlciB7CiAgICAgIGZsZXg6IDE7CiAgICB9CgogICAgLmluZm8tZGV0YWlsIHsKICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgb3BhY2l0eTogMC43OwogICAgICBmbGV4LXNocmluazogMDsKICAgIH0KCiAgICAudGlsZS1sb2FkaW5nLAogICAgLnRpbGUtZXJyb3IgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogMDsKICAgICAgcmlnaHQ6IDA7CiAgICAgIGJvdHRvbTogMDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGdhcDogMTJweDsKICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgIH0KCiAgICAudGlsZS1sb2FkaW5nIHsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk5JSkiLCJoc2woMjE1IDIwJSAxNCUpIil9OwogICAgfQoKICAgIC50aWxlLWVycm9yIHsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDcyJSA5OCUpIiwiaHNsKDAgNjIlIDIwJSkiKX07CiAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgNzIlIDQwJSkiLCJoc2woMCA3MCUgNjglKSIpfTsKICAgIH0KCiAgICAudGlsZS1lcnJvciBkZWVzLWljb24gewogICAgICBmb250LXNpemU6IDMycHg7CiAgICB9CgogICAgLnRpbGUtc3Bpbm5lciB7CiAgICAgIHdpZHRoOiAyNHB4OwogICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgYm9yZGVyOiAycHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgyMTQgMzElIDg2JSkiLCJoc2woMjE3IDI1JSAyOCUpIil9OwogICAgICBib3JkZXItdG9wLWNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICAgIH0KCiAgICAudGlsZS1sb2FkaW5nLXRleHQsCiAgICAudGlsZS1lcnJvci10ZXh0IHsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQoKICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgIHRvIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgICB9CiAgICB9CgogICAgLyogU2l6ZSB2YXJpYW50cyAqLwogICAgOmhvc3QoW3NpemU9InNtYWxsIl0pIC50aWxlLWNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxNTBweDsKICAgICAgaGVpZ2h0OiAxOTVweDsKICAgIH0KCiAgICA6aG9zdChbc2l6ZT0ibGFyZ2UiXSkgLnRpbGUtY29udGFpbmVyIHsKICAgICAgd2lkdGg6IDI1MHB4OwogICAgICBoZWlnaHQ6IDMyNXB4OwogICAgfQoKICAgIC8qIEdyaWQgb3B0aW1pemF0aW9ucyAqLwogICAgOmhvc3QoW2dyaWQtbW9kZV0pIC50aWxlLWNvbnRhaW5lciB7CiAgICAgIHdpbGwtY2hhbmdlOiBhdXRvOwogICAgfQogIGBdfSk7dmFyIENCLEEyLGpyLHhsPWMoKCk9PntwZSgpO0ZvKCk7S3QoKTtDQj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sQTI9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LGpyPSgoKT0+e2xldCB0PWNlLGUsYT1bXSxyPVtdLHMsbj1bXSxvPVtdLGwsaD1bXSx1PVtdLGYscD1bXSxnPVtdLHYseD1bXSxiPVtdO3JldHVybiBjbGFzcyBleHRlbmRzIHR7c3RhdGlje2kodGhpcywiRGVlc1RpbGVCYXNlIil9c3RhdGlje2xldCB5PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHRbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO2U9W0woe3R5cGU6Qm9vbGVhbn0pXSxzPVtMKHt0eXBlOkJvb2xlYW59KV0sbD1bTCh7dHlwZTpCb29sZWFufSldLGY9W0woe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sdj1bTCh7dHlwZTpTdHJpbmd9KV0sQ0IodGhpcyxudWxsLGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjbGlja2FibGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoTT0+ImNsaWNrYWJsZSJpbiBNLCJoYXMiKSxnZXQ6aShNPT5NLmNsaWNrYWJsZSwiZ2V0Iiksc2V0OmkoKE0sayk9PntNLmNsaWNrYWJsZT1rfSwic2V0Iil9LG1ldGFkYXRhOnl9LGEsciksQ0IodGhpcyxudWxsLHMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKE09PiJsb2FkaW5nImluIE0sImhhcyIpLGdldDppKE09Pk0ubG9hZGluZywiZ2V0Iiksc2V0OmkoKE0sayk9PntNLmxvYWRpbmc9a30sInNldCIpfSxtZXRhZGF0YTp5fSxuLG8pLENCKHRoaXMsbnVsbCxsLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoTT0+ImVycm9yImluIE0sImhhcyIpLGdldDppKE09Pk0uZXJyb3IsImdldCIpLHNldDppKChNLGspPT57TS5lcnJvcj1rfSwic2V0Iil9LG1ldGFkYXRhOnl9LGgsdSksQ0IodGhpcyxudWxsLGYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKE09PiJzaXplImluIE0sImhhcyIpLGdldDppKE09Pk0uc2l6ZSwiZ2V0Iiksc2V0OmkoKE0sayk9PntNLnNpemU9a30sInNldCIpfSxtZXRhZGF0YTp5fSxwLGcpLENCKHRoaXMsbnVsbCx2LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoTT0+ImxhYmVsImluIE0sImhhcyIpLGdldDppKE09Pk0ubGFiZWwsImdldCIpLHNldDppKChNLGspPT57TS5sYWJlbD1rfSwic2V0Iil9LG1ldGFkYXRhOnl9LHgsYikseSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp5fSl9c3RhdGljIHN0eWxlcz1McjsjZT1BMih0aGlzLGEsITApO2dldCBjbGlja2FibGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY2xpY2thYmxlKHkpe3RoaXMuI2U9eX0jdD0oQTIodGhpcyxyKSxBMih0aGlzLG4sITEpKTtnZXQgbG9hZGluZygpe3JldHVybiB0aGlzLiN0fXNldCBsb2FkaW5nKHkpe3RoaXMuI3Q9eX0jYT0oQTIodGhpcyxvKSxBMih0aGlzLGgsITEpKTtnZXQgZXJyb3IoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZXJyb3IoeSl7dGhpcy4jYT15fSNyPShBMih0aGlzLHUpLEEyKHRoaXMscCwiZGVmYXVsdCIpKTtnZXQgc2l6ZSgpe3JldHVybiB0aGlzLiNyfXNldCBzaXplKHkpe3RoaXMuI3I9eX0jaT0oQTIodGhpcyxnKSxBMih0aGlzLHgsIiIpKTtnZXQgbGFiZWwoKXtyZXR1cm4gdGhpcy4jaX1zZXQgbGFiZWwoeSl7dGhpcy4jaT15fW9ic2VydmVyPUEyKHRoaXMsYik7X3Zpc2libGU9ITE7Z2V0IGlzVmlzaWJsZSgpe3JldHVybiB0aGlzLl92aXNpYmxlfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9InRpbGUtY29udGFpbmVyICR7dGhpcy5jbGlja2FibGU/ImNsaWNrYWJsZSI6IiJ9ICR7dGhpcy5sb2FkaW5nPyJsb2FkaW5nIjoiIn0gJHt0aGlzLmVycm9yPyJlcnJvciI6IiJ9IgogICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlVGlsZUNsaWNrfQogICAgICAgIEBtb3VzZWVudGVyPSR7dGhpcy5vblRpbGVNb3VzZUVudGVyfQogICAgICAgIEBtb3VzZWxlYXZlPSR7dGhpcy5vblRpbGVNb3VzZUxlYXZlfQogICAgICAgIEBtb3VzZW1vdmU9JHt0aGlzLm9uVGlsZU1vdXNlTW92ZX0KICAgICAgPgogICAgICAgICR7dGhpcy5sb2FkaW5nP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWxvYWRpbmciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXNwaW5uZXIiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWxvYWRpbmctdGV4dCI+TG9hZGluZy4uLjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgJHt0aGlzLmVycm9yP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWVycm9yIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6QWxlcnRUcmlhbmdsZSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtZXJyb3ItdGV4dCI+RmFpbGVkIHRvIGxvYWQ8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgICR7IXRoaXMubG9hZGluZyYmIXRoaXMuZXJyb3I/dGhpcy5yZW5kZXJUaWxlQ29udGVudCgpOiIifQoKICAgICAgICAke3RoaXMucmVuZGVyQm90dG9tQmFyKCl9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJCb3R0b21CYXIoKXtyZXR1cm4iIn1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5zZXR1cEludGVyc2VjdGlvbk9ic2VydmVyKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMub2JzZXJ2ZXImJih0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKSx0aGlzLm9ic2VydmVyPXZvaWQgMCl9c2V0dXBJbnRlcnNlY3Rpb25PYnNlcnZlcigpe3RoaXMub2JzZXJ2ZXI9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKHk9Pntmb3IobGV0IE0gb2YgeSl7bGV0IGs9dGhpcy5fdmlzaWJsZTt0aGlzLl92aXNpYmxlPU0uaXNJbnRlcnNlY3RpbmcsdGhpcy5fdmlzaWJsZSYmIWsmJnRoaXMub25CZWNhbWVWaXNpYmxlKCl9fSx7cm9vdDpudWxsLHJvb3RNYXJnaW46IjIwMHB4Iix0aHJlc2hvbGQ6LjAxfSksdGhpcy5vYnNlcnZlci5vYnNlcnZlKHRoaXMpfW9uQmVjYW1lVmlzaWJsZSgpe31vblRpbGVNb3VzZUVudGVyKCl7fW9uVGlsZU1vdXNlTGVhdmUoKXt9b25UaWxlTW91c2VNb3ZlKHkpe31oYW5kbGVUaWxlQ2xpY2soKXt0aGlzLmNsaWNrYWJsZSYmdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGlsZS1jbGljayIse2RldGFpbDp0aGlzLmdldFRpbGVDbGlja0RldGFpbCgpLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue319fX0pKCl9KTt2YXIgTkp0PWMoKCk9Pnt4bCgpO0ZvKCl9KTt2YXIgUkp0LEZKdD1jKCgpPT57cGUoKTtSSnQ9WGAKICAucHJldmlldy1zdGFjayB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHBhZGRpbmc6IDhweCA4cHggMjhweCA4cHg7CiAgfQoKICAucHJldmlldy1zdGFjay5ub24tYTQgewogICAgcGFkZGluZzogMTJweCAxMnB4IDI4cHggMTJweDsKICB9CgogIC5wcmV2aWV3LWNhbnZhcyB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWF4LXdpZHRoOiAxMDAlOwogICAgbWF4LWhlaWdodDogMTAwJTsKICAgIHdpZHRoOiBhdXRvOwogICAgaGVpZ2h0OiBhdXRvOwogICAgb2JqZWN0LWZpdDogY29udGFpbjsKICAgIGltYWdlLXJlbmRlcmluZzogYXV0bzsKICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwogICAgYm94LXNoYWRvdzogMCAxcHggM3B4ICR7ZC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMSkiLCJyZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgfQoKICAubm9uLWE0IC5wcmV2aWV3LWNhbnZhcyB7CiAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTIlKSIsImhzbCgyMTcgMjUlIDI0JSkiKX07CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgfQoKICAvKiBHcmlkIG9wdGltaXphdGlvbnMgKi8KICA6aG9zdChbZ3JpZC1tb2RlXSkgLnByZXZpZXctY2FudmFzIHsKICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDsKICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7CiAgfQpgfSk7dmFyIE9KdCxCSnQ9YygoKT0+e3BlKCk7T0p0PWkoKCk9PntsZXQgdD1bImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS9leGFtcGxlcy9sZWFybmluZy9oZWxsb3dvcmxkLnBkZiIsImh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS93ZWIvY29tcHJlc3NlZC50cmFjZW1vbmtleS1wbGRpLTA5LnBkZiJdLGU9aShhPT57bGV0IHI9W107Zm9yKGxldCBzPTA7czxhO3MrKyl7bGV0IG49dFtzJXQubGVuZ3RoXTtyLnB1c2god2AKICAgICAgICA8ZGVlcy10aWxlLXBkZgogICAgICAgICAgcGRmVXJsPSIke259IgogICAgICAgICAgY2xpY2thYmxlPSJ0cnVlIgogICAgICAgICAgZ3JpZC1tb2RlCiAgICAgICAgICBAdGlsZS1jbGljaz0ke289Pntjb25zb2xlLmxvZygiUERGIFRpbGUgY2xpY2tlZDoiLG8uZGV0YWlsKSxhbGVydChgUERGIGNsaWNrZWQ6ICR7by5kZXRhaWwucGFnZUNvdW50fSBwYWdlc2ApfX0KICAgICAgICA+PC9kZWVzLXRpbGUtcGRmPgogICAgICBgKX1yZXR1cm4gcn0sImdlbmVyYXRlR3JpZEl0ZW1zIik7cmV0dXJuIHdgCiAgICA8c3R5bGU+CiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y1ZjVmNSIsIiMwYTBhMGEiKX07CiAgICAgIH0KCiAgICAgIC5kZW1vLXNlY3Rpb24gewogICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7CiAgICAgIH0KCiAgICAgIGgzIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjAwcHgsIDFmcikpOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQoKICAgICAgLnByZXZpZXctcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBtaW4td2lkdGg6IDEwMHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5TaW5nbGUgUERGIFRpbGU8L2gzPgogICAgICAgIDxkZWVzLXRpbGUtcGRmCiAgICAgICAgICBwZGZVcmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS93ZWIvY29tcHJlc3NlZC50cmFjZW1vbmtleS1wbGRpLTA5LnBkZiIKICAgICAgICAgIGNsaWNrYWJsZT0idHJ1ZSIKICAgICAgICA+PC9kZWVzLXRpbGUtcGRmPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgzPkRpZmZlcmVudCBTaXplczwvaDM+CiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1sYWJlbCI+U21hbGw6PC9kaXY+CiAgICAgICAgICA8ZGVlcy10aWxlLXBkZgogICAgICAgICAgICBzaXplPSJzbWFsbCIKICAgICAgICAgICAgcGRmVXJsPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW96aWxsYS9wZGYuanMvYmEyZWRlYWUvZXhhbXBsZXMvbGVhcm5pbmcvaGVsbG93b3JsZC5wZGYiCiAgICAgICAgICAgIGNsaWNrYWJsZT0idHJ1ZSIKICAgICAgICAgID48L2RlZXMtdGlsZS1wZGY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctbGFiZWwiPkRlZmF1bHQ6PC9kaXY+CiAgICAgICAgICA8ZGVlcy10aWxlLXBkZgogICAgICAgICAgICBwZGZVcmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS9leGFtcGxlcy9sZWFybmluZy9oZWxsb3dvcmxkLnBkZiIKICAgICAgICAgICAgY2xpY2thYmxlPSJ0cnVlIgogICAgICAgICAgPjwvZGVlcy10aWxlLXBkZj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1sYWJlbCI+TGFyZ2U6PC9kaXY+CiAgICAgICAgICA8ZGVlcy10aWxlLXBkZgogICAgICAgICAgICBzaXplPSJsYXJnZSIKICAgICAgICAgICAgcGRmVXJsPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW96aWxsYS9wZGYuanMvYmEyZWRlYWUvZXhhbXBsZXMvbGVhcm5pbmcvaGVsbG93b3JsZC5wZGYiCiAgICAgICAgICAgIGNsaWNrYWJsZT0idHJ1ZSIKICAgICAgICAgID48L2RlZXMtdGlsZS1wZGY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+V2l0aCBMYWJlbDwvaDM+CiAgICAgICAgPGRlZXMtdGlsZS1wZGYKICAgICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL3dlYi9jb21wcmVzc2VkLnRyYWNlbW9ua2V5LXBsZGktMDkucGRmIgogICAgICAgICAgY2xpY2thYmxlPSJ0cnVlIgogICAgICAgICAgbGFiZWw9IlJlc2VhcmNoIFBhcGVyLnBkZiIKICAgICAgICA+PC9kZWVzLXRpbGUtcGRmPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgzPk5vbi1DbGlja2FibGU8L2gzPgogICAgICAgIDxkZWVzLXRpbGUtcGRmCiAgICAgICAgICBwZGZVcmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS9leGFtcGxlcy9sZWFybmluZy9oZWxsb3dvcmxkLnBkZiIKICAgICAgICAgIGNsaWNrYWJsZT0iZmFsc2UiCiAgICAgICAgPjwvZGVlcy10aWxlLXBkZj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5HcmlkIC0gMjAgUERGcyB3aXRoIExhenkgTG9hZGluZzwvaDM+CiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1ncmlkIj4KICAgICAgICAgICR7ZSgyMCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYH0sImRlbW8iKX0pO3ZhciB5bCxVcixISnQscUp0PWMoKCk9PntwZSgpO3hsKCk7Rm8oKTtKWigpO1RCZSgpOyRCZSgpO0ZKdCgpO0JKdCgpO3lsPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxVcj1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sSEp0PSgoKT0+e2xldCB0PVthZSgiZGVlcy10aWxlLXBkZiIpXSxlLGE9W10scixzPWpyLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdLEUsXz1bXSxDPVtdLE4sJD1bXSxJPVtdO3ZhciBqPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzVGlsZVBkZiIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBTPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6U3RyaW5nfSldLGg9W0woe3R5cGU6TnVtYmVyfSldLHA9W0woe3R5cGU6TnVtYmVyfSldLHg9W0woe3R5cGU6Qm9vbGVhbn0pXSx5PVtMKHt0eXBlOkJvb2xlYW59KV0sRT1bTCh7dHlwZTpCb29sZWFufSldLE49W1ooKV0seWwodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwZGZVcmwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+InBkZlVybCJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LnBkZlVybCwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LnBkZlVybD1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LG8sbCkseWwodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50UHJldmlld1BhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+ImN1cnJlbnRQcmV2aWV3UGFnZSJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LmN1cnJlbnRQcmV2aWV3UGFnZSwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LmN1cnJlbnRQcmV2aWV3UGFnZT1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LHUsZikseWwodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwYWdlQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+InBhZ2VDb3VudCJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LnBhZ2VDb3VudCwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LnBhZ2VDb3VudD1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LGcsdikseWwodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5kZXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4icmVuZGVyZWQiaW4geiwiaGFzIiksZ2V0Omkoej0+ei5yZW5kZXJlZCwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LnJlbmRlcmVkPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sYixtKSx5bCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzSG92ZXJpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+ImlzSG92ZXJpbmciaW4geiwiaGFzIiksZ2V0Omkoej0+ei5pc0hvdmVyaW5nLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3ouaXNIb3ZlcmluZz1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LE0saykseWwodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0E0Rm9ybWF0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJpc0E0Rm9ybWF0ImluIHosImhhcyIpLGdldDppKHo9PnouaXNBNEZvcm1hdCwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LmlzQTRGb3JtYXQ9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxfLEMpLHlsKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsZVNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+ImZpbGVTaXplImluIHosImhhcyIpLGdldDppKHo9PnouZmlsZVNpemUsImdldCIpLHNldDppKCh6LEQpPT57ei5maWxlU2l6ZT1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LCQsSSkseWwobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6U30sbnVsbCxhKSxqPXI9ZS52YWx1ZSxTJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlN9KX1zdGF0aWMgZGVtbz1PSnQ7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSIsIlBERiJdO3N0YXRpYyBzdHlsZXM9Wy4uLkxyLFJKdF07I2U9VXIodGhpcyxvLCIiKTtnZXQgcGRmVXJsKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHBkZlVybChTKXt0aGlzLiNlPVN9I3Q9KFVyKHRoaXMsbCksVXIodGhpcyx1LDEpKTtnZXQgY3VycmVudFByZXZpZXdQYWdlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGN1cnJlbnRQcmV2aWV3UGFnZShTKXt0aGlzLiN0PVN9I2E9KFVyKHRoaXMsZiksVXIodGhpcyxnLDApKTtnZXQgcGFnZUNvdW50KCl7cmV0dXJuIHRoaXMuI2F9c2V0IHBhZ2VDb3VudChTKXt0aGlzLiNhPVN9I3I9KFVyKHRoaXMsdiksVXIodGhpcyxiLCExKSk7Z2V0IHJlbmRlcmVkKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHJlbmRlcmVkKFMpe3RoaXMuI3I9U30jaT0oVXIodGhpcyxtKSxVcih0aGlzLE0sITEpKTtnZXQgaXNIb3ZlcmluZygpe3JldHVybiB0aGlzLiNpfXNldCBpc0hvdmVyaW5nKFMpe3RoaXMuI2k9U30jcz0oVXIodGhpcyxrKSxVcih0aGlzLF8sITApKTtnZXQgaXNBNEZvcm1hdCgpe3JldHVybiB0aGlzLiNzfXNldCBpc0E0Rm9ybWF0KFMpe3RoaXMuI3M9U30jbz0oVXIodGhpcyxDKSxVcih0aGlzLCQsMCkpO2dldCBmaWxlU2l6ZSgpe3JldHVybiB0aGlzLiNvfXNldCBmaWxlU2l6ZShTKXt0aGlzLiNvPVN9cmVuZGVyUGFnZXNUYXNrPShVcih0aGlzLEkpLG51bGwpO3JlbmRlclBhZ2VzUXVldWVkPSExO3BkZkRvY3VtZW50O2NhbnZhc2VzPVtdO3Jlc2l6ZU9ic2VydmVyO3N0YWNrRWxlbWVudD1udWxsO2xvYWRlZFBkZlVybD1udWxsO3JlbmRlclRpbGVDb250ZW50KCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctc3RhY2sgJHt0aGlzLmlzQTRGb3JtYXQ/IiI6Im5vbi1hNCJ9Ij4KICAgICAgICA8Y2FudmFzCiAgICAgICAgICBjbGFzcz0icHJldmlldy1jYW52YXMiCiAgICAgICAgICBkYXRhLXBhZ2U9IiR7dGhpcy5jdXJyZW50UHJldmlld1BhZ2V9IgogICAgICAgID48L2NhbnZhcz4KICAgICAgPC9kaXY+CgogICAgICAke3RoaXMuY2xpY2thYmxlP3dgCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1vdmVybGF5Ij4KICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkV5ZSI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5WaWV3IFBERjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgIGB9cmVuZGVyQm90dG9tQmFyKCl7cmV0dXJuIXRoaXMucGFnZUNvdW50JiYhdGhpcy5sYWJlbD8iIjp3YAogICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWluZm8tYmFyIj4KICAgICAgICAke3RoaXMubGFiZWw/d2A8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCIgdGl0bGU9IiR7dGhpcy5sYWJlbH0iPiR7dGhpcy5sYWJlbH08L3NwYW4+YDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1zcGFjZXIiPjwvc3Bhbj4KICAgICAgICAke3RoaXMucGFnZUNvdW50PjEmJnRoaXMuaXNIb3ZlcmluZz93YDxzcGFuIGNsYXNzPSJpbmZvLWRldGFpbCI+JHt0aGlzLmN1cnJlbnRQcmV2aWV3UGFnZX0vJHt0aGlzLnBhZ2VDb3VudH08L3NwYW4+YDp0aGlzLnBhZ2VDb3VudD4wP3dgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj4ke3RoaXMucGFnZUNvdW50fSBwZzwvc3Bhbj5gOiIifQogICAgICAgICR7dGhpcy5maWxlU2l6ZT4wP3dgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj4ke0xCZSh0aGlzLmZpbGVTaXplKX08L3NwYW4+YDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWdldFRpbGVDbGlja0RldGFpbCgpe3JldHVybntwZGZVcmw6dGhpcy5wZGZVcmwscGFnZUNvdW50OnRoaXMucGFnZUNvdW50fX1vbkJlY2FtZVZpc2libGUoKXshdGhpcy5yZW5kZXJlZCYmdGhpcy5wZGZVcmwmJnRoaXMubG9hZEFuZFJlbmRlclByZXZpZXcoKX1vblRpbGVNb3VzZUVudGVyKCl7dGhpcy5pc0hvdmVyaW5nPSEwfW9uVGlsZU1vdXNlTGVhdmUoKXt0aGlzLmlzSG92ZXJpbmc9ITEsdGhpcy5jdXJyZW50UHJldmlld1BhZ2UhPT0xJiYodGhpcy5jdXJyZW50UHJldmlld1BhZ2U9MSx0aGlzLnNjaGVkdWxlUmVuZGVyUGFnZXMoKSl9b25UaWxlTW91c2VNb3ZlKFMpe2lmKCF0aGlzLmlzSG92ZXJpbmd8fHRoaXMucGFnZUNvdW50PD0xKXJldHVybjtsZXQgej10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEQ9Uy5jbGllbnRYLXoubGVmdCxUPXoud2lkdGgsQT1NYXRoLm1heCgwLE1hdGgubWluKDEsRC9UKSksVT1NYXRoLmNlaWwoQSp0aGlzLnBhZ2VDb3VudCl8fDE7VSE9PXRoaXMuY3VycmVudFByZXZpZXdQYWdlJiYodGhpcy5jdXJyZW50UHJldmlld1BhZ2U9VSx0aGlzLnNjaGVkdWxlUmVuZGVyUGFnZXMoKSl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5jYWNoZUVsZW1lbnRzKCksdGhpcy5zZXR1cFJlc2l6ZU9ic2VydmVyKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuY2xlYW51cCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKSx0aGlzLnJlc2l6ZU9ic2VydmVyPXZvaWQgMH1hc3luYyBsb2FkQW5kUmVuZGVyUHJldmlldygpe2lmKCEodGhpcy5yZW5kZXJlZHx8dGhpcy5sb2FkaW5nKSl7dGhpcy5sb2FkaW5nPSEwLHRoaXMuZXJyb3I9ITEsdHAubWFyayhgcHJldmlldy1sb2FkLSR7dGhpcy5wZGZVcmx9YCk7dHJ5e3RoaXMucGRmRG9jdW1lbnQ9YXdhaXQgRDIubG9hZERvY3VtZW50KHRoaXMucGRmVXJsKSx0aGlzLnBhZ2VDb3VudD10aGlzLnBkZkRvY3VtZW50Lm51bVBhZ2VzLHRoaXMuY3VycmVudFByZXZpZXdQYWdlPTE7dHJ5e2xldCB6PWF3YWl0IHRoaXMucGRmRG9jdW1lbnQuZ2V0RG93bmxvYWRJbmZvKCk7dGhpcy5maWxlU2l6ZT16Lmxlbmd0aH1jYXRjaHt9dGhpcy5sb2FkZWRQZGZVcmw9dGhpcy5wZGZVcmwsdGhpcy5sb2FkaW5nPSExLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5jYWNoZUVsZW1lbnRzKCksYXdhaXQgdGhpcy5zY2hlZHVsZVJlbmRlclBhZ2VzKCksdGhpcy5yZW5kZXJlZD0hMDtsZXQgUz10cC5tZWFzdXJlKGBwcmV2aWV3LXJlbmRlci0ke3RoaXMucGRmVXJsfWAsYHByZXZpZXctbG9hZC0ke3RoaXMucGRmVXJsfWApO2NvbnNvbGUubG9nKGBQREYgdGlsZSByZW5kZXJlZCBpbiAke1N9bXNgKX1jYXRjaChTKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gbG9hZCBQREYgdGlsZToiLFMpLHRoaXMuZXJyb3I9ITAsdGhpcy5sb2FkaW5nPSExfX19c2NoZWR1bGVSZW5kZXJQYWdlcygpe3JldHVybiB0aGlzLnBkZkRvY3VtZW50P3RoaXMucmVuZGVyUGFnZXNUYXNrPyh0aGlzLnJlbmRlclBhZ2VzUXVldWVkPSEwLHRoaXMucmVuZGVyUGFnZXNUYXNrKToodGhpcy5yZW5kZXJQYWdlc1Rhc2s9KGFzeW5jKCk9Pnt0cnl7YXdhaXQgdGhpcy5wZXJmb3JtUmVuZGVyUGFnZXMoKX1jYXRjaChTKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gcmVuZGVyIFBERiB0aWxlIHBhZ2VzOiIsUyl9fSkoKS5maW5hbGx5KCgpPT57dGhpcy5yZW5kZXJQYWdlc1Rhc2s9bnVsbCx0aGlzLnJlbmRlclBhZ2VzUXVldWVkJiYodGhpcy5yZW5kZXJQYWdlc1F1ZXVlZD0hMSx0aGlzLnNjaGVkdWxlUmVuZGVyUGFnZXMoKSl9KSx0aGlzLnJlbmRlclBhZ2VzVGFzayk6UHJvbWlzZS5yZXNvbHZlKCl9YXN5bmMgcGVyZm9ybVJlbmRlclBhZ2VzKCl7aWYoIXRoaXMucGRmRG9jdW1lbnQpcmV0dXJuO2F3YWl0IG5ldyBQcm9taXNlKFQ9PnJlcXVlc3RBbmltYXRpb25GcmFtZShUKSk7bGV0IFM9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIucHJldmlldy1jYW52YXMiKTtpZighUylyZXR1cm47dGhpcy5jbGVhckNhbnZhc2VzKCksdGhpcy5jYWNoZUVsZW1lbnRzKCk7bGV0e2F2YWlsYWJsZVdpZHRoOnosYXZhaWxhYmxlSGVpZ2h0OkR9PXRoaXMuZ2V0QXZhaWxhYmxlU2l6ZSgpO3RyeXtsZXQgVD10aGlzLmN1cnJlbnRQcmV2aWV3UGFnZSxBPWF3YWl0IHRoaXMucGRmRG9jdW1lbnQuZ2V0UGFnZShUKSxVPUEuZ2V0Vmlld3BvcnQoe3NjYWxlOjF9KSxSPVUuaGVpZ2h0L1Uud2lkdGgscT0xLjQxNCxvZT0uNzA3LE89MS4yOTQscmU9Ljc3Myx5ZT0uMDUsQj1NYXRoLmFicyhSLXEpPHEqeWUsZWU9TWF0aC5hYnMoUi1vZSk8b2UqeWUsQ2U9TWF0aC5hYnMoUi1PKTxPKnllLFk9TWF0aC5hYnMoUi1yZSk8cmUqeWU7dGhpcy5pc0E0Rm9ybWF0PUJ8fGVlfHxDZXx8WTtsZXQgUD10aGlzLmlzQTRGb3JtYXQ/ejp6LTI0LEg9dGhpcy5pc0E0Rm9ybWF0P0Q6RC0yNCxHPVA+MD9QL1Uud2lkdGg6MCxXPUg+MD9IL1UuaGVpZ2h0OjAsc2U9TWF0aC5taW4oR3x8LjUsV3x8R3x8LjUpLHplPU1hdGgubWluKHNlKjIsMyk7aWYoIU51bWJlci5pc0Zpbml0ZSh6ZSl8fHplPD0wKXtBLmNsZWFudXA/LigpO3JldHVybn1sZXQgTWU9QS5nZXRWaWV3cG9ydCh7c2NhbGU6emV9KSxFZT1lcC5hY3F1aXJlKE1lLndpZHRoLE1lLmhlaWdodCk7dGhpcy5jYW52YXNlcy5wdXNoKEVlKTtsZXQgVj17Y2FudmFzQ29udGV4dDpFZS5jdHgsdmlld3BvcnQ6TWV9O2F3YWl0IEEucmVuZGVyKFYpLnByb21pc2UsUy53aWR0aD1NZS53aWR0aCxTLmhlaWdodD1NZS5oZWlnaHQ7bGV0IEY9UCxuZT1NZS5oZWlnaHQvTWUud2lkdGgqUDtpZihuZT5IKXtsZXQgSz1ILGtlPU1lLndpZHRoL01lLmhlaWdodCpIO1Muc3R5bGUud2lkdGg9YCR7a2V9cHhgLFMuc3R5bGUuaGVpZ2h0PWAke0t9cHhgfWVsc2UgUy5zdHlsZS53aWR0aD1gJHtGfXB4YCxTLnN0eWxlLmhlaWdodD1gJHtuZX1weGA7bGV0IHRlPVMuZ2V0Q29udGV4dCgiMmQiKTt0ZSYmKHRlLmltYWdlU21vb3RoaW5nRW5hYmxlZD0hMCx0ZS5pbWFnZVNtb290aGluZ1F1YWxpdHk9ImhpZ2giLHRlLmRyYXdJbWFnZShFZS5jYW52YXMsMCwwKSksQS5jbGVhbnVwKCl9Y2F0Y2goVCl7Y29uc29sZS5lcnJvcihgRmFpbGVkIHRvIHJlbmRlciBwYWdlICR7dGhpcy5jdXJyZW50UHJldmlld1BhZ2V9OmAsVCl9fWNsZWFyQ2FudmFzZXMoKXtmb3IobGV0IFMgb2YgdGhpcy5jYW52YXNlcyllcC5yZWxlYXNlKFMpO3RoaXMuY2FudmFzZXM9W119Y2xlYW51cCgpe3RoaXMuY2xlYXJDYW52YXNlcygpLHRoaXMucGRmRG9jdW1lbnQmJihEMi5yZWxlYXNlRG9jdW1lbnQodGhpcy5sb2FkZWRQZGZVcmw/P3RoaXMucGRmVXJsKSx0aGlzLnBkZkRvY3VtZW50PW51bGwpLHRoaXMucmVuZGVyUGFnZXNRdWV1ZWQ9ITEsdGhpcy5wYWdlQ291bnQ9MCx0aGlzLmN1cnJlbnRQcmV2aWV3UGFnZT0xLHRoaXMuaXNIb3ZlcmluZz0hMSx0aGlzLmlzQTRGb3JtYXQ9ITAsdGhpcy5zdGFja0VsZW1lbnQ9bnVsbCx0aGlzLmxvYWRlZFBkZlVybD1udWxsLHRoaXMucmVuZGVyZWQ9ITEsdGhpcy5sb2FkaW5nPSExLHRoaXMuZXJyb3I9ITF9YXN5bmMgdXBkYXRlZChTKXtpZihzdXBlci51cGRhdGVkKFMpLFMuaGFzKCJwZGZVcmwiKSYmdGhpcy5wZGZVcmwpe2xldCB6PVMuZ2V0KCJwZGZVcmwiKTt6JiZEMi5yZWxlYXNlRG9jdW1lbnQoeiksdGhpcy5jbGVhbnVwKCksdGhpcy5yZW5kZXJlZD0hMSx0aGlzLmN1cnJlbnRQcmV2aWV3UGFnZT0xO2xldCBEPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7RC50b3A8d2luZG93LmlubmVySGVpZ2h0JiZELmJvdHRvbT4wJiZ0aGlzLmxvYWRBbmRSZW5kZXJQcmV2aWV3KCl9Uy5oYXMoImN1cnJlbnRQcmV2aWV3UGFnZSIpJiZ0aGlzLnJlbmRlcmVkJiZhd2FpdCB0aGlzLnNjaGVkdWxlUmVuZGVyUGFnZXMoKX1nZXRDb250ZXh0TWVudUl0ZW1zKCl7bGV0IFM9W107cmV0dXJuIHRoaXMuY2xpY2thYmxlJiYoUy5wdXNoKHtuYW1lOiJWaWV3IFBERiIsaWNvbk5hbWU6Imx1Y2lkZTpFeWUiLGFjdGlvbjppKGFzeW5jKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0aWxlLWNsaWNrIix7ZGV0YWlsOnRoaXMuZ2V0VGlsZUNsaWNrRGV0YWlsKCksYnViYmxlczohMCxjb21wb3NlZDohMH0pKX0sImFjdGlvbiIpfSksUy5wdXNoKHtkaXZpZGVyOiEwfSkpLFMucHVzaCh7bmFtZToiT3BlbiBQREYgaW4gTmV3IFRhYiIsaWNvbk5hbWU6Imx1Y2lkZTpFeHRlcm5hbExpbmsiLGFjdGlvbjppKGFzeW5jKCk9Pnt3aW5kb3cub3Blbih0aGlzLnBkZlVybCwiX2JsYW5rIil9LCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJDb3B5IFBERiBVUkwiLGljb25OYW1lOiJsdWNpZGU6Q29weSIsYWN0aW9uOmkoYXN5bmMoKT0+e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHRoaXMucGRmVXJsKX0sImFjdGlvbiIpfSx7bmFtZToiRG93bmxvYWQgUERGIixpY29uTmFtZToibHVjaWRlOkRvd25sb2FkIixhY3Rpb246aShhc3luYygpPT57bGV0IHo9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO3ouaHJlZj10aGlzLnBkZlVybCx6LmRvd25sb2FkPXRoaXMucGRmVXJsLnNwbGl0KCIvIikucG9wKCl8fCJkb2N1bWVudC5wZGYiLHouY2xpY2soKX0sImFjdGlvbiIpfSksdGhpcy5wYWdlQ291bnQ+MCYmUy5wdXNoKHtkaXZpZGVyOiEwfSx7bmFtZTpgJHt0aGlzLnBhZ2VDb3VudH0gcGFnZSR7dGhpcy5wYWdlQ291bnQ+MT8icyI6IiJ9YCxpY29uTmFtZToibHVjaWRlOkZpbGVUZXh0IixkaXNhYmxlZDohMCxhY3Rpb246aShhc3luYygpPT57fSwiYWN0aW9uIil9KSxTfWNhY2hlRWxlbWVudHMoKXt0aGlzLnN0YWNrRWxlbWVudHx8KHRoaXMuc3RhY2tFbGVtZW50PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnByZXZpZXctc3RhY2siKSl9c2V0dXBSZXNpemVPYnNlcnZlcigpe3RoaXMucmVzaXplT2JzZXJ2ZXJ8fCh0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMucmVuZGVyZWQmJnRoaXMucGRmRG9jdW1lbnQmJiF0aGlzLmxvYWRpbmcmJnRoaXMuc2NoZWR1bGVSZW5kZXJQYWdlcygpfSksdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMpKX1nZXRBdmFpbGFibGVTaXplKCl7aWYodGhpcy5zdGFja0VsZW1lbnR8fCh0aGlzLnN0YWNrRWxlbWVudD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5wcmV2aWV3LXN0YWNrIikpLCF0aGlzLnN0YWNrRWxlbWVudClyZXR1cm57YXZhaWxhYmxlV2lkdGg6MjAwLGF2YWlsYWJsZUhlaWdodDoyNjB9O2xldCBTPXRoaXMuc3RhY2tFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHo9TWF0aC5tYXgoUy53aWR0aCwwKXx8MjAwLEQ9TWF0aC5tYXgoUy5oZWlnaHQsMCl8fDI2MDtyZXR1cm57YXZhaWxhYmxlV2lkdGg6eixhdmFpbGFibGVIZWlnaHQ6RH19c3RhdGlje1VyKHIsYSl9fTtyZXR1cm4gaj1yfSkoKX0pO3ZhciBWSnQ9YygoKT0+e3FKdCgpfSk7dmFyIGpKdCxVSnQ9YygoKT0+e3BlKCk7akp0PWkoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgcGFkZGluZzogNDBweDsKICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsKICAgIH0KICAgIC5kZW1vLXNlY3Rpb24gewogICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OwogICAgfQogICAgaDMgewogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICB9CiAgICAudGlsZS1yb3cgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDI0cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICB9CiAgPC9zdHlsZT4KCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkltYWdlIFRpbGVzPC9oMz4KICAgICAgPGRpdiBjbGFzcz0idGlsZS1yb3ciPgogICAgICAgIDxkZWVzLXRpbGUtaW1hZ2UKICAgICAgICAgIHNyYz0iaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzgwMC82MDAiCiAgICAgICAgICBhbHQ9IkxhbmRzY2FwZSBwaG90byIKICAgICAgICAgIGxhYmVsPSJsYW5kc2NhcGUuanBnIgogICAgICAgICAgQHRpbGUtY2xpY2s9JHt0PT5jb25zb2xlLmxvZygiSW1hZ2UgY2xpY2tlZDoiLHQuZGV0YWlsKX0KICAgICAgICA+PC9kZWVzLXRpbGUtaW1hZ2U+CgogICAgICAgIDxkZWVzLXRpbGUtaW1hZ2UKICAgICAgICAgIHNyYz0iaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzQwMC80MDAiCiAgICAgICAgICBhbHQ9IlNxdWFyZSBwaG90byIKICAgICAgICAgIGxhYmVsPSJzcXVhcmUucG5nIgogICAgICAgID48L2RlZXMtdGlsZS1pbWFnZT4KCiAgICAgICAgPGRlZXMtdGlsZS1pbWFnZQogICAgICAgICAgc3JjPSJodHRwczovL3BpY3N1bS5waG90b3MvMzAwLzkwMCIKICAgICAgICAgIGFsdD0iUG9ydHJhaXQgcGhvdG8iCiAgICAgICAgICBsYWJlbD0icG9ydHJhaXQud2VicCIKICAgICAgICA+PC9kZWVzLXRpbGUtaW1hZ2U+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPlNpemUgVmFyaWFudHM8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgPGRlZXMtdGlsZS1pbWFnZQogICAgICAgICAgc2l6ZT0ic21hbGwiCiAgICAgICAgICBzcmM9Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8yMDAvMjAwIgogICAgICAgICAgYWx0PSJTbWFsbCIKICAgICAgICAgIGxhYmVsPSJzbWFsbC5qcGciCiAgICAgICAgPjwvZGVlcy10aWxlLWltYWdlPgoKICAgICAgICA8ZGVlcy10aWxlLWltYWdlCiAgICAgICAgICBzcmM9Imh0dHBzOi8vcGljc3VtLnBob3Rvcy82MDAvNDAwIgogICAgICAgICAgYWx0PSJEZWZhdWx0IgogICAgICAgICAgbGFiZWw9ImRlZmF1bHQuanBnIgogICAgICAgID48L2RlZXMtdGlsZS1pbWFnZT4KCiAgICAgICAgPGRlZXMtdGlsZS1pbWFnZQogICAgICAgICAgc2l6ZT0ibGFyZ2UiCiAgICAgICAgICBzcmM9Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8xMjAwLzgwMCIKICAgICAgICAgIGFsdD0iTGFyZ2UiCiAgICAgICAgICBsYWJlbD0ibGFyZ2UuanBnIgogICAgICAgID48L2RlZXMtdGlsZS1pbWFnZT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+RXJyb3IgU3RhdGUgKGJyb2tlbiBVUkwpPC9oMz4KICAgICAgPGRlZXMtdGlsZS1pbWFnZQogICAgICAgIHNyYz0iaHR0cHM6Ly9pbnZhbGlkLXVybC10aGF0LWRvZXMtbm90LWV4aXN0LmV4YW1wbGUvaW1hZ2UucG5nIgogICAgICAgIGFsdD0iQnJva2VuIgogICAgICAgIGxhYmVsPSJicm9rZW4ucG5nIgogICAgICA+PC9kZWVzLXRpbGUtaW1hZ2U+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtbyIpfSk7dmFyIGFwLFJzLFdKdCxHSnQ9YygoKT0+e3BlKCk7eGwoKTtGbygpO1VKdCgpO2FwPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxScz1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sV0p0PSgoKT0+e2xldCB0PVthZSgiZGVlcy10aWxlLWltYWdlIildLGUsYT1bXSxyLHM9anIsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W107dmFyIEU9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNUaWxlSW1hZ2UiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOlN0cmluZ30pXSxoPVtMKHt0eXBlOlN0cmluZ30pXSxwPVtaKCldLHg9W1ooKV0seT1bWigpXSxhcCh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNyYyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4ic3JjImluIEMsImhhcyIpLGdldDppKEM9PkMuc3JjLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0Muc3JjPU59LCJzZXQiKX0sbWV0YWRhdGE6X30sbyxsKSxhcCh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFsdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4iYWx0ImluIEMsImhhcyIpLGdldDppKEM9PkMuYWx0LCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0MuYWx0PU59LCJzZXQiKX0sbWV0YWRhdGE6X30sdSxmKSxhcCh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImltYWdlTG9hZGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJpbWFnZUxvYWRlZCJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLmltYWdlTG9hZGVkLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0MuaW1hZ2VMb2FkZWQ9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxnLHYpLGFwKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW1hZ2VXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4iaW1hZ2VXaWR0aCJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLmltYWdlV2lkdGgsImdldCIpLHNldDppKChDLE4pPT57Qy5pbWFnZVdpZHRoPU59LCJzZXQiKX0sbWV0YWRhdGE6X30sYixtKSxhcCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImltYWdlSGVpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJpbWFnZUhlaWdodCJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLmltYWdlSGVpZ2h0LCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0MuaW1hZ2VIZWlnaHQ9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxNLGspLGFwKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsYSksRT1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89akp0O3N0YXRpYyBkZW1vR3JvdXBzPVsiTWVkaWEiXTtzdGF0aWMgc3R5bGVzPVsuLi5McixYYAogICAgICAuaW1hZ2Utd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmVwZWF0aW5nLWNvbmljLWdyYWRpZW50KCNlOGU4ZTggMCUgMjUlLCB3aGl0ZSAwJSA1MCUpIDUwJSAvIDE2cHggMTZweCIsInJlcGVhdGluZy1jb25pYy1ncmFkaWVudChoc2woMjE1IDIwJSAxOCUpIDAlIDI1JSwgaHNsKDIxNSAyMCUgMTQlKSAwJSA1MCUpIDUwJSAvIDE2cHggMTZweCIpfTsKICAgICAgfQoKICAgICAgLmltYWdlLXdyYXBwZXIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5pbWFnZS13cmFwcGVyIGltZy5sb2FkZWQgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5pbWFnZS13cmFwcGVyIGltZy5sb2FkaW5nIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgYF07I2U9UnModGhpcyxvLCIiKTtnZXQgc3JjKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNyYyhfKXt0aGlzLiNlPV99I3Q9KFJzKHRoaXMsbCksUnModGhpcyx1LCIiKSk7Z2V0IGFsdCgpe3JldHVybiB0aGlzLiN0fXNldCBhbHQoXyl7dGhpcy4jdD1ffSNhPShScyh0aGlzLGYpLFJzKHRoaXMsZywhMSkpO2dldCBpbWFnZUxvYWRlZCgpe3JldHVybiB0aGlzLiNhfXNldCBpbWFnZUxvYWRlZChfKXt0aGlzLiNhPV99I3I9KFJzKHRoaXMsdiksUnModGhpcyxiLDApKTtnZXQgaW1hZ2VXaWR0aCgpe3JldHVybiB0aGlzLiNyfXNldCBpbWFnZVdpZHRoKF8pe3RoaXMuI3I9X30jaT0oUnModGhpcyxtKSxScyh0aGlzLE0sMCkpO2dldCBpbWFnZUhlaWdodCgpe3JldHVybiB0aGlzLiNpfXNldCBpbWFnZUhlaWdodChfKXt0aGlzLiNpPV99aGFzU3RhcnRlZExvYWRpbmc9KFJzKHRoaXMsayksITEpO3JlbmRlclRpbGVDb250ZW50KCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImltYWdlLXdyYXBwZXIiPgogICAgICAgICR7dGhpcy5oYXNTdGFydGVkTG9hZGluZz93YAogICAgICAgICAgPGltZwogICAgICAgICAgICBjbGFzcz0iJHt0aGlzLmltYWdlTG9hZGVkPyJsb2FkZWQiOiJsb2FkaW5nIn0iCiAgICAgICAgICAgIHNyYz0iJHt0aGlzLnNyY30iCiAgICAgICAgICAgIGFsdD0iJHt0aGlzLmFsdH0iCiAgICAgICAgICAgIEBsb2FkPSR7dGhpcy5oYW5kbGVJbWFnZUxvYWR9CiAgICAgICAgICAgIEBlcnJvcj0ke3RoaXMuaGFuZGxlSW1hZ2VFcnJvcn0KICAgICAgICAgIC8+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CgogICAgICAke3RoaXMuY2xpY2thYmxlP3dgCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1vdmVybGF5Ij4KICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkV5ZSI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5WaWV3IEltYWdlPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgYH1yZW5kZXJCb3R0b21CYXIoKXtyZXR1cm4hdGhpcy5sYWJlbCYmISh0aGlzLmltYWdlV2lkdGg+MCk/IiI6d2AKICAgICAgPGRpdiBjbGFzcz0idGlsZS1pbmZvLWJhciI+CiAgICAgICAgJHt0aGlzLmxhYmVsP3dgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiIHRpdGxlPSIke3RoaXMubGFiZWx9Ij4ke3RoaXMubGFiZWx9PC9zcGFuPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tc3BhY2VyIj48L3NwYW4+CiAgICAgICAgJHt0aGlzLmltYWdlV2lkdGg+MCYmdGhpcy5pbWFnZUhlaWdodD4wP3dgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj4ke3RoaXMuaW1hZ2VXaWR0aH0gw5cgJHt0aGlzLmltYWdlSGVpZ2h0fTwvc3Bhbj5gOiIifQogICAgICA8L2Rpdj4KICAgIGB9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue3NyYzp0aGlzLnNyYyxhbHQ6dGhpcy5hbHQsd2lkdGg6dGhpcy5pbWFnZVdpZHRoLGhlaWdodDp0aGlzLmltYWdlSGVpZ2h0fX1vbkJlY2FtZVZpc2libGUoKXshdGhpcy5oYXNTdGFydGVkTG9hZGluZyYmdGhpcy5zcmMmJih0aGlzLmhhc1N0YXJ0ZWRMb2FkaW5nPSEwLHRoaXMubG9hZGluZz0hMCx0aGlzLnJlcXVlc3RVcGRhdGUoKSl9aGFuZGxlSW1hZ2VMb2FkKF8pe2xldCBDPV8udGFyZ2V0O3RoaXMuaW1hZ2VXaWR0aD1DLm5hdHVyYWxXaWR0aCx0aGlzLmltYWdlSGVpZ2h0PUMubmF0dXJhbEhlaWdodCx0aGlzLmltYWdlTG9hZGVkPSEwLHRoaXMubG9hZGluZz0hMX1oYW5kbGVJbWFnZUVycm9yKCl7dGhpcy5lcnJvcj0hMCx0aGlzLmxvYWRpbmc9ITF9YXN5bmMgdXBkYXRlZChfKXtzdXBlci51cGRhdGVkKF8pLF8uaGFzKCJzcmMiKSYmdGhpcy5zcmMmJnRoaXMuaXNWaXNpYmxlJiYodGhpcy5oYXNTdGFydGVkTG9hZGluZz0hMCx0aGlzLmltYWdlTG9hZGVkPSExLHRoaXMubG9hZGluZz0hMCl9c3RhdGlje1JzKHIsYSl9fTtyZXR1cm4gRT1yfSkoKX0pO3ZhciBZSnQ9YygoKT0+e0dKdCgpfSk7dmFyIFpKdCxYSnQ9YygoKT0+e3BlKCk7Wkp0PWkoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgcGFkZGluZzogNDBweDsKICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsKICAgIH0KICAgIC5kZW1vLXNlY3Rpb24gewogICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OwogICAgfQogICAgaDMgewogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICB9CiAgICAudGlsZS1yb3cgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDI0cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICB9CiAgPC9zdHlsZT4KCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkF1ZGlvIFRpbGVzPC9oMz4KICAgICAgPGRpdiBjbGFzcz0idGlsZS1yb3ciPgogICAgICAgIDxkZWVzLXRpbGUtYXVkaW8KICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuc291bmRoZWxpeC5jb20vZXhhbXBsZXMvbXAzL1NvdW5kSGVsaXgtU29uZy0xLm1wMyIKICAgICAgICAgIHRpdGxlPSJTb3VuZEhlbGl4IFNvbmcgMSIKICAgICAgICAgIGFydGlzdD0iVC4gU2NodWVyZ2VyIgogICAgICAgICAgbGFiZWw9InNvdW5kaGVsaXgtMS5tcDMiCiAgICAgICAgICBAdGlsZS1jbGljaz0ke3Q9PmNvbnNvbGUubG9nKCJBdWRpbyBjbGlja2VkOiIsdC5kZXRhaWwpfQogICAgICAgID48L2RlZXMtdGlsZS1hdWRpbz4KCiAgICAgICAgPGRlZXMtdGlsZS1hdWRpbwogICAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTIubXAzIgogICAgICAgICAgdGl0bGU9IlNvdW5kSGVsaXggU29uZyAyIgogICAgICAgICAgYXJ0aXN0PSJULiBTY2h1ZXJnZXIiCiAgICAgICAgICBsYWJlbD0ic291bmRoZWxpeC0yLm1wMyIKICAgICAgICA+PC9kZWVzLXRpbGUtYXVkaW8+CgogICAgICAgIDxkZWVzLXRpbGUtYXVkaW8KICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuc291bmRoZWxpeC5jb20vZXhhbXBsZXMvbXAzL1NvdW5kSGVsaXgtU29uZy0zLm1wMyIKICAgICAgICAgIHRpdGxlPSJTb3VuZEhlbGl4IFNvbmcgMyIKICAgICAgICAgIGxhYmVsPSJzb3VuZGhlbGl4LTMubXAzIgogICAgICAgID48L2RlZXMtdGlsZS1hdWRpbz4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+U2l6ZSBWYXJpYW50czwvaDM+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICA8ZGVlcy10aWxlLWF1ZGlvCiAgICAgICAgICBzaXplPSJzbWFsbCIKICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuc291bmRoZWxpeC5jb20vZXhhbXBsZXMvbXAzL1NvdW5kSGVsaXgtU29uZy0xLm1wMyIKICAgICAgICAgIHRpdGxlPSJTbWFsbCIKICAgICAgICAgIGxhYmVsPSJzbWFsbC5tcDMiCiAgICAgICAgPjwvZGVlcy10aWxlLWF1ZGlvPgoKICAgICAgICA8ZGVlcy10aWxlLWF1ZGlvCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMS5tcDMiCiAgICAgICAgICB0aXRsZT0iRGVmYXVsdCIKICAgICAgICAgIGxhYmVsPSJkZWZhdWx0Lm1wMyIKICAgICAgICA+PC9kZWVzLXRpbGUtYXVkaW8+CgogICAgICAgIDxkZWVzLXRpbGUtYXVkaW8KICAgICAgICAgIHNpemU9ImxhcmdlIgogICAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTEubXAzIgogICAgICAgICAgdGl0bGU9IkxhcmdlIgogICAgICAgICAgbGFiZWw9ImxhcmdlLm1wMyIKICAgICAgICA+PC9kZWVzLXRpbGUtYXVkaW8+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW8iKX0pO3ZhciB3bCxXcixLSnQsUUp0PWMoKCk9PntwZSgpO3hsKCk7Rm8oKTtYSnQoKTt3bD1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sV3I9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LEtKdD0oKCk9PntsZXQgdD1bYWUoImRlZXMtdGlsZS1hdWRpbyIpXSxlLGE9W10scixzPWpyLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdLEUsXz1bXSxDPVtdLE4sJD1bXSxJPVtdO3ZhciBqPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzVGlsZUF1ZGlvIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpTdHJpbmd9KV0saD1bTCh7dHlwZTpTdHJpbmd9KV0scD1bTCh7dHlwZTpTdHJpbmd9KV0seD1bWigpXSx5PVtaKCldLEU9W1ooKV0sTj1bWigpXSx3bCh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNyYyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4ic3JjImluIHosImhhcyIpLGdldDppKHo9Pnouc3JjLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3ouc3JjPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sbyxsKSx3bCh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpdGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJ0aXRsZSJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LnRpdGxlLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3oudGl0bGU9RH0sInNldCIpfSxtZXRhZGF0YTpTfSx1LGYpLHdsKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXJ0aXN0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJhcnRpc3QiaW4geiwiaGFzIiksZ2V0Omkoej0+ei5hcnRpc3QsImdldCIpLHNldDppKCh6LEQpPT57ei5hcnRpc3Q9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxnLHYpLHdsKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHVyYXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+ImR1cmF0aW9uImluIHosImhhcyIpLGdldDppKHo9PnouZHVyYXRpb24sImdldCIpLHNldDppKCh6LEQpPT57ei5kdXJhdGlvbj1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LGIsbSksd2wodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3YXZlZm9ybURhdGEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+IndhdmVmb3JtRGF0YSJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LndhdmVmb3JtRGF0YSwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LndhdmVmb3JtRGF0YT1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LE0sayksd2wodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3YXZlZm9ybVJlYWR5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJ3YXZlZm9ybVJlYWR5ImluIHosImhhcyIpLGdldDppKHo9Pnoud2F2ZWZvcm1SZWFkeSwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LndhdmVmb3JtUmVhZHk9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxfLEMpLHdsKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNQcmV2aWV3UGxheWluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4iaXNQcmV2aWV3UGxheWluZyJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LmlzUHJldmlld1BsYXlpbmcsImdldCIpLHNldDppKCh6LEQpPT57ei5pc1ByZXZpZXdQbGF5aW5nPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sJCxJKSx3bChudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpTfSxudWxsLGEpLGo9cj1lLnZhbHVlLFMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6U30pfXN0YXRpYyBkZW1vPVpKdDtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIl07c3RhdGljIHN0eWxlcz1bLi4uTHIsWGAKICAgICAgLmF1ZGlvLWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCBoc2woMjUwIDQwJSA5NiUpLCBoc2woMjgwIDMwJSA5NCUpKSIsImxpbmVhci1ncmFkaWVudCgxMzVkZWcsIGhzbCgyNTAgMzAlIDE2JSksIGhzbCgyODAgMjUlIDE0JSkpIil9OwogICAgICB9CgogICAgICAubXVzaWMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiA0OHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDI1MCA2MCUgNjUlKSIsImhzbCgyNTAgNjAlIDcwJSkiKX07CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICB9CgogICAgICAuYXVkaW8tdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDI1MCAyMCUgMzUlKSIsImhzbCgyNTAgMjAlIDgwJSkiKX07CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuYXVkaW8tYXJ0aXN0IHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyNTAgMTUlIDUwJSkiLCJoc2woMjUwIDE1JSA2NSUpIil9OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgbWFyZ2luLXRvcDogLTEycHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLndhdmVmb3JtLWNvbnRhaW5lciB7CiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpOwogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLndhdmVmb3JtLWNvbnRhaW5lciBjYW52YXMgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKCiAgICAgIC5wbGF5LW92ZXJsYXkgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7CiAgICAgICAgei1pbmRleDogMTg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC50aWxlLWNvbnRhaW5lci5jbGlja2FibGU6aG92ZXIgLnBsYXktb3ZlcmxheSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLnBsYXktY2lyY2xlIHsKICAgICAgICB3aWR0aDogNDhweDsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7CiAgICAgIH0KCiAgICAgIC5wbGF5LWNpcmNsZSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgIH0KICAgIGBdOyNlPVdyKHRoaXMsbywiIik7Z2V0IHNyYygpe3JldHVybiB0aGlzLiNlfXNldCBzcmMoUyl7dGhpcy4jZT1TfSN0PShXcih0aGlzLGwpLFdyKHRoaXMsdSwiIikpO2dldCB0aXRsZSgpe3JldHVybiB0aGlzLiN0fXNldCB0aXRsZShTKXt0aGlzLiN0PVN9I2E9KFdyKHRoaXMsZiksV3IodGhpcyxnLCIiKSk7Z2V0IGFydGlzdCgpe3JldHVybiB0aGlzLiNhfXNldCBhcnRpc3QoUyl7dGhpcy4jYT1TfSNyPShXcih0aGlzLHYpLFdyKHRoaXMsYiwwKSk7Z2V0IGR1cmF0aW9uKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGR1cmF0aW9uKFMpe3RoaXMuI3I9U30jaT0oV3IodGhpcyxtKSxXcih0aGlzLE0sW10pKTtnZXQgd2F2ZWZvcm1EYXRhKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHdhdmVmb3JtRGF0YShTKXt0aGlzLiNpPVN9I3M9KFdyKHRoaXMsayksV3IodGhpcyxfLCExKSk7Z2V0IHdhdmVmb3JtUmVhZHkoKXtyZXR1cm4gdGhpcy4jc31zZXQgd2F2ZWZvcm1SZWFkeShTKXt0aGlzLiNzPVN9I289KFdyKHRoaXMsQyksV3IodGhpcywkLCExKSk7Z2V0IGlzUHJldmlld1BsYXlpbmcoKXtyZXR1cm4gdGhpcy4jb31zZXQgaXNQcmV2aWV3UGxheWluZyhTKXt0aGlzLiNvPVN9YXVkaW9FbGVtZW50PShXcih0aGlzLEkpLG51bGwpO3ByZXZpZXdUaW1lb3V0PW51bGw7aGFzTG9hZGVkV2F2ZWZvcm09ITE7cmVuZGVyVGlsZUNvbnRlbnQoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iYXVkaW8tY29udGVudCI+CiAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0ibXVzaWMtaWNvbiIgaWNvbj0ibHVjaWRlOk11c2ljIj48L2RlZXMtaWNvbj4KCiAgICAgICAgJHt0aGlzLnRpdGxlP3dgPGRpdiBjbGFzcz0iYXVkaW8tdGl0bGUiPiR7dGhpcy50aXRsZX08L2Rpdj5gOiIifQogICAgICAgICR7dGhpcy5hcnRpc3Q/d2A8ZGl2IGNsYXNzPSJhdWRpby1hcnRpc3QiPiR7dGhpcy5hcnRpc3R9PC9kaXY+YDoiIn0KCiAgICAgICAgJHt0aGlzLndhdmVmb3JtUmVhZHk/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9IndhdmVmb3JtLWNvbnRhaW5lciI+CiAgICAgICAgICAgIDxjYW52YXM+PC9jYW52YXM+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InBsYXktb3ZlcmxheSI+CiAgICAgICAgPGRpdiBjbGFzcz0icGxheS1jaXJjbGUiPgogICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6UGxheSI+PC9kZWVzLWljb24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgJHt0aGlzLmNsaWNrYWJsZT93YAogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtb3ZlcmxheSI+CiAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpIZWFkcGhvbmVzIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDxzcGFuPlBsYXkgQXVkaW88L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CiAgICBgfXJlbmRlckJvdHRvbUJhcigpe3JldHVybiF0aGlzLmxhYmVsJiYhdGhpcy5kdXJhdGlvbj8iIjp3YAogICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWluZm8tYmFyIj4KICAgICAgICAke3RoaXMubGFiZWw/d2A8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCIgdGl0bGU9IiR7dGhpcy5sYWJlbH0iPiR7dGhpcy5sYWJlbH08L3NwYW4+YDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1zcGFjZXIiPjwvc3Bhbj4KICAgICAgICAke3RoaXMuZHVyYXRpb24+MD93YDxzcGFuIGNsYXNzPSJpbmZvLWRldGFpbCI+JHt0aGlzLmZvcm1hdFRpbWUodGhpcy5kdXJhdGlvbil9PC9zcGFuPmA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1nZXRUaWxlQ2xpY2tEZXRhaWwoKXtyZXR1cm57c3JjOnRoaXMuc3JjLHRpdGxlOnRoaXMudGl0bGUsYXJ0aXN0OnRoaXMuYXJ0aXN0LGR1cmF0aW9uOnRoaXMuZHVyYXRpb259fW9uQmVjYW1lVmlzaWJsZSgpeyF0aGlzLmhhc0xvYWRlZFdhdmVmb3JtJiZ0aGlzLnNyYyYmKHRoaXMuaGFzTG9hZGVkV2F2ZWZvcm09ITAsdGhpcy5sb2FkQXVkaW9NZXRhKCkpfWFzeW5jIGxvYWRBdWRpb01ldGEoKXt0aGlzLmxvYWRpbmc9ITA7dHJ5e2xldCBTPW5ldyBBdWRpbztTLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLFMucHJlbG9hZD0ibWV0YWRhdGEiLGF3YWl0IG5ldyBQcm9taXNlKCh6LEQpPT57Uy5hZGRFdmVudExpc3RlbmVyKCJsb2FkZWRtZXRhZGF0YSIsKCk9Pnt0aGlzLmR1cmF0aW9uPVMuZHVyYXRpb24seigpfSx7b25jZTohMH0pLFMuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCgpPT5EKG5ldyBFcnJvcigiRmFpbGVkIHRvIGxvYWQgYXVkaW8iKSkse29uY2U6ITB9KSxTLnNyYz10aGlzLnNyY30pLGF3YWl0IHRoaXMubG9hZFdhdmVmb3JtKCksdGhpcy5sb2FkaW5nPSExfWNhdGNoe3RoaXMubG9hZGluZz0hMX19YXN5bmMgbG9hZFdhdmVmb3JtKCl7dHJ5e2xldCB6PWF3YWl0KGF3YWl0IGZldGNoKHRoaXMuc3JjKSkuYXJyYXlCdWZmZXIoKSxEPW5ldyBBdWRpb0NvbnRleHQsQT0oYXdhaXQgRC5kZWNvZGVBdWRpb0RhdGEoeikpLmdldENoYW5uZWxEYXRhKDApLFU9ODAsUj1NYXRoLmZsb29yKEEubGVuZ3RoL1UpLHE9W107Zm9yKGxldCBPPTA7TzxVO08rKyl7bGV0IHJlPTA7Zm9yKGxldCB5ZT0wO3llPFI7eWUrKylyZSs9TWF0aC5hYnMoQVtPKlIreWVdKTtxLnB1c2gocmUvUil9bGV0IG9lPU1hdGgubWF4KC4uLnEpO3RoaXMud2F2ZWZvcm1EYXRhPXEubWFwKE89Pm9lPjA/Ty9vZTowKSx0aGlzLndhdmVmb3JtUmVhZHk9ITAsYXdhaXQgRC5jbG9zZSgpLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5kcmF3V2F2ZWZvcm0oKX1jYXRjaHt0aGlzLndhdmVmb3JtUmVhZHk9ITF9fWRyYXdXYXZlZm9ybSgpe2lmKCF0aGlzLndhdmVmb3JtUmVhZHkpcmV0dXJuO2xldCBTPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLndhdmVmb3JtLWNvbnRhaW5lciBjYW52YXMiKTtpZighUylyZXR1cm47bGV0IHo9Uy5wYXJlbnRFbGVtZW50LEQ9d2luZG93LmRldmljZVBpeGVsUmF0aW98fDEsVD16LmNsaWVudFdpZHRoLEE9ei5jbGllbnRIZWlnaHQ7Uy53aWR0aD1UKkQsUy5oZWlnaHQ9QSpEO2xldCBVPVMuZ2V0Q29udGV4dCgiMmQiKTtpZighVSlyZXR1cm47VS5zY2FsZShELEQpLFUuY2xlYXJSZWN0KDAsMCxULEEpO2xldCBSPXRoaXMud2F2ZWZvcm1EYXRhLmxlbmd0aDtpZihSPT09MClyZXR1cm47bGV0IHE9VC9SLE89ZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QuY29udGFpbnMoInRoZW1lLWRhcmsiKXx8d2luZG93Lm1hdGNoTWVkaWEoIihwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykiKS5tYXRjaGVzPyJoc2woMjUwIDUwJSA2MCUpIjoiaHNsKDI1MCA1MCUgNzAlKSI7VS5maWxsU3R5bGU9Tztmb3IobGV0IHJlPTA7cmU8UjtyZSsrKXtsZXQgeWU9dGhpcy53YXZlZm9ybURhdGFbcmVdLEI9TWF0aC5tYXgoMix5ZSooQS00KSksZWU9cmUqcSxDZT0oQS1CKS8yO1UuZmlsbFJlY3QoZWUrLjUsQ2UscS0xLEIpfX1hc3luYyB1cGRhdGVkKFMpe3N1cGVyLnVwZGF0ZWQoUyksUy5oYXMoInNyYyIpJiZ0aGlzLnNyYyYmdGhpcy5pc1Zpc2libGUmJih0aGlzLmhhc0xvYWRlZFdhdmVmb3JtPSEwLHRoaXMud2F2ZWZvcm1SZWFkeT0hMSx0aGlzLmR1cmF0aW9uPTAsdGhpcy5sb2FkQXVkaW9NZXRhKCkpLFMuaGFzKCJ3YXZlZm9ybVJlYWR5IikmJnRoaXMud2F2ZWZvcm1SZWFkeSYmKGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5kcmF3V2F2ZWZvcm0oKSl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMucHJldmlld1RpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLnByZXZpZXdUaW1lb3V0KSx0aGlzLmF1ZGlvRWxlbWVudCYmKHRoaXMuYXVkaW9FbGVtZW50LnBhdXNlKCksdGhpcy5hdWRpb0VsZW1lbnQuc3JjPSIiLHRoaXMuYXVkaW9FbGVtZW50PW51bGwpfWZvcm1hdFRpbWUoUyl7aWYoIWlzRmluaXRlKFMpfHxTPDApcmV0dXJuIjA6MDAiO2xldCB6PU1hdGguZmxvb3IoUy82MCksRD1NYXRoLmZsb29yKFMlNjApO3JldHVybmAke3p9OiR7RC50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gfXN0YXRpY3tXcihyLGEpfX07cmV0dXJuIGo9cn0pKCl9KTt2YXIgSkp0PWMoKCk9PntRSnQoKX0pO3ZhciBlZWEsdGVhPWMoKCk9PntwZSgpO2VlYT1pKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7CiAgICB9CiAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgIH0KICAgIGgzIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgfQogICAgLnRpbGUtcm93IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZ2FwOiAyNHB4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5WaWRlbyBUaWxlczwvaDM+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICA8ZGVlcy10aWxlLXZpZGVvCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vaHRtbC9tb3ZfYmJiLm1wNCIKICAgICAgICAgIGxhYmVsPSJidW5ueS5tcDQiCiAgICAgICAgICBAdGlsZS1jbGljaz0ke3Q9PmNvbnNvbGUubG9nKCJWaWRlbyBjbGlja2VkOiIsdC5kZXRhaWwpfQogICAgICAgID48L2RlZXMtdGlsZS12aWRlbz4KCiAgICAgICAgPGRlZXMtdGlsZS12aWRlbwogICAgICAgICAgc3JjPSJodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2h0bWwvbW92aWUubXA0IgogICAgICAgICAgcG9zdGVyPSJodHRwczovL3BpY3N1bS5waG90b3MvNDAwLzMwMCIKICAgICAgICAgIGxhYmVsPSJtb3ZpZS5tcDQiCiAgICAgICAgPjwvZGVlcy10aWxlLXZpZGVvPgoKICAgICAgICA8ZGVlcy10aWxlLXZpZGVvCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vaHRtbC9tb3ZfYmJiLm1wNCIKICAgICAgICAgIGxhYmVsPSJhbm90aGVyLXZpZGVvLm1wNCIKICAgICAgICA+PC9kZWVzLXRpbGUtdmlkZW8+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPlNpemUgVmFyaWFudHM8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgPGRlZXMtdGlsZS12aWRlbwogICAgICAgICAgc2l6ZT0ic21hbGwiCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vaHRtbC9tb3ZfYmJiLm1wNCIKICAgICAgICAgIGxhYmVsPSJzbWFsbC5tcDQiCiAgICAgICAgPjwvZGVlcy10aWxlLXZpZGVvPgoKICAgICAgICA8ZGVlcy10aWxlLXZpZGVvCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vaHRtbC9tb3ZfYmJiLm1wNCIKICAgICAgICAgIGxhYmVsPSJkZWZhdWx0Lm1wNCIKICAgICAgICA+PC9kZWVzLXRpbGUtdmlkZW8+CgogICAgICAgIDxkZWVzLXRpbGUtdmlkZW8KICAgICAgICAgIHNpemU9ImxhcmdlIgogICAgICAgICAgc3JjPSJodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2h0bWwvbW92X2JiYi5tcDQiCiAgICAgICAgICBsYWJlbD0ibGFyZ2UubXA0IgogICAgICAgID48L2RlZXMtdGlsZS12aWRlbz4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+V2l0aCBQb3N0ZXIgSW1hZ2U8L2gzPgogICAgICA8ZGVlcy10aWxlLXZpZGVvCiAgICAgICAgc3JjPSJodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2h0bWwvbW92aWUubXA0IgogICAgICAgIHBvc3Rlcj0iaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzYwMC80MDAiCiAgICAgICAgbGFiZWw9InBvc3Rlci12aWRlby5tcDQiCiAgICAgID48L2RlZXMtdGlsZS12aWRlbz4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vIil9KTt2YXIgcnAsRnMsYWVhLHJlYT1jKCgpPT57cGUoKTt4bCgpO0ZvKCk7dGVhKCk7cnA9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LEZzPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxhZWE9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLXRpbGUtdmlkZW8iKV0sZSxhPVtdLHIscz1qcixuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXSx5LE09W10saz1bXTt2YXIgRT1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc1RpbGVWaWRlbyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6U3RyaW5nfSldLGg9W0woe3R5cGU6U3RyaW5nfSldLHA9W1ooKV0seD1bWigpXSx5PVtaKCldLHJwKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3JjIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJzcmMiaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy5zcmMsImdldCIpLHNldDppKChDLE4pPT57Qy5zcmM9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxvLGwpLHJwKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9zdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJwb3N0ZXIiaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy5wb3N0ZXIsImdldCIpLHNldDppKChDLE4pPT57Qy5wb3N0ZXI9Tn0sInNldCIpfSxtZXRhZGF0YTpffSx1LGYpLHJwKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHVyYXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+ImR1cmF0aW9uImluIEMsImhhcyIpLGdldDppKEM9PkMuZHVyYXRpb24sImdldCIpLHNldDppKChDLE4pPT57Qy5kdXJhdGlvbj1OfSwic2V0Iil9LG1ldGFkYXRhOl99LGcsdikscnAodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aHVtYm5haWxDYXB0dXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4idGh1bWJuYWlsQ2FwdHVyZWQiaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy50aHVtYm5haWxDYXB0dXJlZCwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLnRodW1ibmFpbENhcHR1cmVkPU59LCJzZXQiKX0sbWV0YWRhdGE6X30sYixtKSxycCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzSG92ZXJpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+ImlzSG92ZXJpbmciaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy5pc0hvdmVyaW5nLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0MuaXNIb3ZlcmluZz1OfSwic2V0Iil9LG1ldGFkYXRhOl99LE0saykscnAobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCxhKSxFPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz1lZWE7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSJdO3N0YXRpYyBzdHlsZXM9Wy4uLkxyLFhgCiAgICAgIC52aWRlby13cmFwcGVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogIzAwMDsKICAgICAgfQoKICAgICAgLnZpZGVvLXdyYXBwZXIgdmlkZW8gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLnZpZGVvLXdyYXBwZXIgY2FudmFzIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5wb3N0ZXItaW1hZ2UgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKCiAgICAgIC5wbGF5LW92ZXJsYXkgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHotaW5kZXg6IDE1OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICB9CgogICAgICAucGxheS1vdmVybGF5IGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLnRpbGUtY29udGFpbmVyLmNsaWNrYWJsZTpob3ZlciAucGxheS1vdmVybGF5IHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAudmlkZW8taG92ZXItcHJldmlldyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgICB6LWluZGV4OiA1OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgICAgIH0KCiAgICAgIC52aWRlby1ob3Zlci1wcmV2aWV3LmFjdGl2ZSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQogICAgYF07I2U9RnModGhpcyxvLCIiKTtnZXQgc3JjKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNyYyhfKXt0aGlzLiNlPV99I3Q9KEZzKHRoaXMsbCksRnModGhpcyx1LCIiKSk7Z2V0IHBvc3Rlcigpe3JldHVybiB0aGlzLiN0fXNldCBwb3N0ZXIoXyl7dGhpcy4jdD1ffSNhPShGcyh0aGlzLGYpLEZzKHRoaXMsZywwKSk7Z2V0IGR1cmF0aW9uKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGR1cmF0aW9uKF8pe3RoaXMuI2E9X30jcj0oRnModGhpcyx2KSxGcyh0aGlzLGIsITEpKTtnZXQgdGh1bWJuYWlsQ2FwdHVyZWQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdGh1bWJuYWlsQ2FwdHVyZWQoXyl7dGhpcy4jcj1ffSNpPShGcyh0aGlzLG0pLEZzKHRoaXMsTSwhMSkpO2dldCBpc0hvdmVyaW5nKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGlzSG92ZXJpbmcoXyl7dGhpcy4jaT1ffXRodW1ibmFpbENhbnZhcz0oRnModGhpcyxrKSxudWxsKTtob3ZlclZpZGVvPW51bGw7aGFzU3RhcnRlZExvYWRpbmc9ITE7cmVuZGVyVGlsZUNvbnRlbnQoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0idmlkZW8td3JhcHBlciI+CiAgICAgICAgJHt0aGlzLnBvc3Rlcj93YAogICAgICAgICAgPGltZyBjbGFzcz0icG9zdGVyLWltYWdlIiBzcmM9IiR7dGhpcy5wb3N0ZXJ9IiBhbHQ9IiIgLz4KICAgICAgICBgOnRoaXMudGh1bWJuYWlsQ2FwdHVyZWQ/d2AKICAgICAgICAgIDxjYW52YXM+PC9jYW52YXM+CiAgICAgICAgYDp3YAogICAgICAgICAgPGRpdiBzdHlsZT0id2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgYmFja2dyb3VuZDogIzAwMDsiPjwvZGl2PgogICAgICAgIGB9CgogICAgICAgICR7dGhpcy5pc0hvdmVyaW5nJiZ0aGlzLnNyYz93YAogICAgICAgICAgPHZpZGVvCiAgICAgICAgICAgIGNsYXNzPSJ2aWRlby1ob3Zlci1wcmV2aWV3ICR7dGhpcy5pc0hvdmVyaW5nPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgLnNyYz0ke3RoaXMuc3JjfQogICAgICAgICAgICBtdXRlZAogICAgICAgICAgICBwbGF5c2lubGluZQogICAgICAgICAgICBAbG9hZGVkZGF0YT0ke3RoaXMuaGFuZGxlSG92ZXJWaWRlb0xvYWRlZH0KICAgICAgICAgID48L3ZpZGVvPgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgoKICAgICAgJHt0aGlzLmlzSG92ZXJpbmc/IiI6d2AKICAgICAgICA8ZGl2IGNsYXNzPSJwbGF5LW92ZXJsYXkiPgogICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6UGxheSI+PC9kZWVzLWljb24+CiAgICAgICAgPC9kaXY+CiAgICAgIGB9CgogICAgICAke3RoaXMuY2xpY2thYmxlP3dgCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1vdmVybGF5Ij4KICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlBsYXkiPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+UGxheSBWaWRlbzwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgIGB9cmVuZGVyQm90dG9tQmFyKCl7cmV0dXJuIXRoaXMubGFiZWwmJiF0aGlzLmR1cmF0aW9uPyIiOndgCiAgICAgIDxkaXYgY2xhc3M9InRpbGUtaW5mby1iYXIiPgogICAgICAgICR7dGhpcy5sYWJlbD93YDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIiB0aXRsZT0iJHt0aGlzLmxhYmVsfSI+JHt0aGlzLmxhYmVsfTwvc3Bhbj5gOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXNwYWNlciI+PC9zcGFuPgogICAgICAgICR7dGhpcy5kdXJhdGlvbj4wP3dgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj4ke3RoaXMuZm9ybWF0VGltZSh0aGlzLmR1cmF0aW9uKX08L3NwYW4+YDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWdldFRpbGVDbGlja0RldGFpbCgpe3JldHVybntzcmM6dGhpcy5zcmMscG9zdGVyOnRoaXMucG9zdGVyLGR1cmF0aW9uOnRoaXMuZHVyYXRpb259fW9uQmVjYW1lVmlzaWJsZSgpeyF0aGlzLmhhc1N0YXJ0ZWRMb2FkaW5nJiZ0aGlzLnNyYyYmKHRoaXMuaGFzU3RhcnRlZExvYWRpbmc9ITAsdGhpcy5jYXB0dXJlRmlyc3RGcmFtZSgpKX1hc3luYyBjYXB0dXJlRmlyc3RGcmFtZSgpe2lmKHRoaXMucG9zdGVyKXt0aGlzLmxvYWREdXJhdGlvbigpO3JldHVybn10aGlzLmxvYWRpbmc9ITA7dHJ5e2xldCBfPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInZpZGVvIik7Xy5jcm9zc09yaWdpbj0iYW5vbnltb3VzIixfLm11dGVkPSEwLF8ucHJlbG9hZD0ibWV0YWRhdGEiLGF3YWl0IG5ldyBQcm9taXNlKChDLE4pPT57Xy5hZGRFdmVudExpc3RlbmVyKCJsb2FkZWRkYXRhIiwoKT0+e3RoaXMuZHVyYXRpb249Xy5kdXJhdGlvbixfLmN1cnJlbnRUaW1lPS4xLF8uYWRkRXZlbnRMaXN0ZW5lcigic2Vla2VkIiwoKT0+e2xldCAkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOyQud2lkdGg9Xy52aWRlb1dpZHRoLCQuaGVpZ2h0PV8udmlkZW9IZWlnaHQ7bGV0IEk9JC5nZXRDb250ZXh0KCIyZCIpO0kmJihJLmRyYXdJbWFnZShfLDAsMCksdGhpcy50aHVtYm5haWxDYW52YXM9JCx0aGlzLnRodW1ibmFpbENhcHR1cmVkPSEwKSxfLnNyYz0iIixfLmxvYWQoKSxDKCl9LHtvbmNlOiEwfSl9LHtvbmNlOiEwfSksXy5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsKCk9Pk4obmV3IEVycm9yKCJGYWlsZWQgdG8gbG9hZCB2aWRlbyIpKSx7b25jZTohMH0pLF8uc3JjPXRoaXMuc3JjfSksdGhpcy5sb2FkaW5nPSExLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5jb3B5VGh1bWJuYWlsVG9DYW52YXMoKX1jYXRjaHt0aGlzLmxvYWRpbmc9ITEsdGhpcy5sb2FkRHVyYXRpb24oKX19bG9hZER1cmF0aW9uKCl7bGV0IF89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKTtfLnByZWxvYWQ9Im1ldGFkYXRhIixfLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZG1ldGFkYXRhIiwoKT0+e3RoaXMuZHVyYXRpb249Xy5kdXJhdGlvbixfLnNyYz0iIixfLmxvYWQoKX0pLF8uc3JjPXRoaXMuc3JjfWNvcHlUaHVtYm5haWxUb0NhbnZhcygpe2lmKCF0aGlzLnRodW1ibmFpbENhbnZhcylyZXR1cm47bGV0IF89dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudmlkZW8td3JhcHBlciBjYW52YXMiKTtpZighXylyZXR1cm47Xy53aWR0aD10aGlzLnRodW1ibmFpbENhbnZhcy53aWR0aCxfLmhlaWdodD10aGlzLnRodW1ibmFpbENhbnZhcy5oZWlnaHQ7bGV0IEM9Xy5nZXRDb250ZXh0KCIyZCIpO0MmJkMuZHJhd0ltYWdlKHRoaXMudGh1bWJuYWlsQ2FudmFzLDAsMCl9b25UaWxlTW91c2VFbnRlcigpe3RoaXMuaXNIb3ZlcmluZz0hMH1vblRpbGVNb3VzZUxlYXZlKCl7dGhpcy5pc0hvdmVyaW5nPSExLHRoaXMuaG92ZXJWaWRlbz1udWxsfWhhbmRsZUhvdmVyVmlkZW9Mb2FkZWQoXyl7dGhpcy5ob3ZlclZpZGVvPV8udGFyZ2V0LHRoaXMuaG92ZXJWaWRlby5wbGF5KCkuY2F0Y2goKCk9Pnt9KX1hc3luYyB1cGRhdGVkKF8pe3N1cGVyLnVwZGF0ZWQoXyksXy5oYXMoInNyYyIpJiZ0aGlzLnNyYyYmdGhpcy5pc1Zpc2libGUmJih0aGlzLmhhc1N0YXJ0ZWRMb2FkaW5nPSEwLHRoaXMudGh1bWJuYWlsQ2FwdHVyZWQ9ITEsdGhpcy5kdXJhdGlvbj0wLHRoaXMuY2FwdHVyZUZpcnN0RnJhbWUoKSksXy5oYXMoInRodW1ibmFpbENhcHR1cmVkIikmJnRoaXMudGh1bWJuYWlsQ2FwdHVyZWQmJihhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMuY29weVRodW1ibmFpbFRvQ2FudmFzKCkpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmhvdmVyVmlkZW8mJih0aGlzLmhvdmVyVmlkZW8ucGF1c2UoKSx0aGlzLmhvdmVyVmlkZW8uc3JjPSIiLHRoaXMuaG92ZXJWaWRlbz1udWxsKSx0aGlzLnRodW1ibmFpbENhbnZhcz1udWxsfWZvcm1hdFRpbWUoXyl7aWYoIWlzRmluaXRlKF8pfHxfPDApcmV0dXJuIjA6MDAiO2xldCBDPU1hdGguZmxvb3IoXy82MCksTj1NYXRoLmZsb29yKF8lNjApO3JldHVybmAke0N9OiR7Ti50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gfXN0YXRpY3tGcyhyLGEpfX07cmV0dXJuIEU9cn0pKCl9KTt2YXIgaWVhPWMoKCk9PntyZWEoKX0pO3ZhciBzZWEsb2VhPWMoKCk9PntwZSgpO3NlYT1pKCgpPT57bGV0IHQ9YGltcG9ydCB7IGh0bWwgfSBmcm9tICdsaXQnOwoKZXhwb3J0IGNsYXNzIE15Q29tcG9uZW50IHsKICBwcml2YXRlIGl0ZW1zOiBzdHJpbmdbXSA9IFtdOwoKICByZW5kZXIoKSB7CiAgICByZXR1cm4gaHRtbFxgCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgXCR7dGhpcy5pdGVtcy5tYXAoaXRlbSA9PiBodG1sXGAKICAgICAgICAgIDxzcGFuPlwke2l0ZW19PC9zcGFuPgogICAgICAgIFxgKX0KICAgICAgPC9kaXY+CiAgICBcYDsKICB9Cn1gLGU9YE1lZXRpbmcgTm90ZXMgLSBRNCBQbGFubmluZwpEYXRlOiBKYW51YXJ5IDE1LCAyMDI2CkF0dGVuZGVlczogQWxpY2UsIEJvYiwgQ2hhcmxpZQoKS2V5IERlY2lzaW9uczoKMS4gTGF1bmNoIG5ldyBmZWF0dXJlIGJ5IE1hcmNoCjIuIEhpcmUgMiBtb3JlIGVuZ2luZWVycwozLiBNaWdyYXRlIHRvIG5ldyBDSS9DRCBwaXBlbGluZQo0LiBVcGRhdGUgZGVzaWduIHN5c3RlbSB0byB2MwoKQWN0aW9uIEl0ZW1zOgotIEFsaWNlOiBEcmFmdCBQUkQgYnkgbmV4dCB3ZWVrCi0gQm9iOiBTZXQgdXAgaW50ZXJ2aWV3IHBpcGVsaW5lCi0gQ2hhcmxpZTogRXZhbHVhdGUgSmVua2lucyB2cyBHaXRIdWIgQWN0aW9uc2A7cmV0dXJuIHdgCiAgICA8c3R5bGU+CiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1OwogICAgICB9CiAgICAgIC5kZW1vLXNlY3Rpb24gewogICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7CiAgICAgIH0KICAgICAgaDMgewogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KICAgICAgLnRpbGUtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5Ob3RlIFRpbGVzPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgICA8ZGVlcy10aWxlLW5vdGUKICAgICAgICAgICAgdGl0bGU9ImNvbXBvbmVudC50cyIKICAgICAgICAgICAgLmNvbnRlbnQ9JHt0fQogICAgICAgICAgICBsYW5ndWFnZT0idHlwZXNjcmlwdCIKICAgICAgICAgICAgbGFiZWw9ImNvbXBvbmVudC50cyIKICAgICAgICAgICAgQHRpbGUtY2xpY2s9JHtyPT5jb25zb2xlLmxvZygiTm90ZSBjbGlja2VkOiIsci5kZXRhaWwpfQogICAgICAgICAgPjwvZGVlcy10aWxlLW5vdGU+CgogICAgICAgICAgPGRlZXMtdGlsZS1ub3RlCiAgICAgICAgICAgIHRpdGxlPSJNZWV0aW5nIE5vdGVzIgogICAgICAgICAgICAuY29udGVudD0ke2V9CiAgICAgICAgICAgIGxhYmVsPSJtZWV0aW5nLW5vdGVzLnR4dCIKICAgICAgICAgID48L2RlZXMtdGlsZS1ub3RlPgoKICAgICAgICAgIDxkZWVzLXRpbGUtbm90ZQogICAgICAgICAgICB0aXRsZT0icGFja2FnZS5qc29uIgogICAgICAgICAgICAuY29udGVudD0ke2B7CiAgIm5hbWUiOiAiQGRlc2lnbi5lc3RhdGUvZGVlcy1jYXRhbG9nIiwKICAidmVyc2lvbiI6ICIzLjM4LjAiLAogICJkZXNjcmlwdGlvbiI6ICJEZXNpZ24gY29tcG9uZW50IGNhdGFsb2ciLAogICJkZXBlbmRlbmNpZXMiOiB7CiAgICAiQGRlc2lnbi5lc3RhdGUvZGVlcy1lbGVtZW50IjogIl4yLjAuMCIsCiAgICAibGl0IjogIl4zLjEuMCIKICB9LAogICJzY3JpcHRzIjogewogICAgImJ1aWxkIjogInRzYnVpbGQiLAogICAgInRlc3QiOiAidHN0ZXN0IgogIH0KfWB9CiAgICAgICAgICAgIGxhbmd1YWdlPSJqc29uIgogICAgICAgICAgICBsYWJlbD0icGFja2FnZS5qc29uIgogICAgICAgICAgPjwvZGVlcy10aWxlLW5vdGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+U2l6ZSBWYXJpYW50czwvaDM+CiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1yb3ciPgogICAgICAgICAgPGRlZXMtdGlsZS1ub3RlCiAgICAgICAgICAgIHNpemU9InNtYWxsIgogICAgICAgICAgICB0aXRsZT0ic21hbGwudHMiCiAgICAgICAgICAgIC5jb250ZW50PSR7dH0KICAgICAgICAgICAgbGFuZ3VhZ2U9InRzIgogICAgICAgICAgICBsYWJlbD0ic21hbGwudHMiCiAgICAgICAgICA+PC9kZWVzLXRpbGUtbm90ZT4KCiAgICAgICAgICA8ZGVlcy10aWxlLW5vdGUKICAgICAgICAgICAgdGl0bGU9ImRlZmF1bHQudHMiCiAgICAgICAgICAgIC5jb250ZW50PSR7dH0KICAgICAgICAgICAgbGFuZ3VhZ2U9InRzIgogICAgICAgICAgICBsYWJlbD0iZGVmYXVsdC50cyIKICAgICAgICAgID48L2RlZXMtdGlsZS1ub3RlPgoKICAgICAgICAgIDxkZWVzLXRpbGUtbm90ZQogICAgICAgICAgICBzaXplPSJsYXJnZSIKICAgICAgICAgICAgdGl0bGU9ImxhcmdlLnRzIgogICAgICAgICAgICAuY29udGVudD0ke3R9CiAgICAgICAgICAgIGxhbmd1YWdlPSJ0cyIKICAgICAgICAgICAgbGFiZWw9ImxhcmdlLnRzIgogICAgICAgICAgPjwvZGVlcy10aWxlLW5vdGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+V2l0aG91dCBUaXRsZTwvaDM+CiAgICAgICAgPGRlZXMtdGlsZS1ub3RlCiAgICAgICAgICAuY29udGVudD0ke2V9CiAgICAgICAgICBsYWJlbD0idW50aXRsZWQudHh0IgogICAgICAgID48L2RlZXMtdGlsZS1ub3RlPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIGB9LCJkZW1vIil9KTt2YXIgX0IsT28sbmVhLGxlYT1jKCgpPT57cGUoKTt4bCgpO0ZvKCk7b2VhKCk7X0I9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LE9vPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxuZWE9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLXRpbGUtbm90ZSIpXSxlLGE9W10scixzPWpyLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzVGlsZU5vdGUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOlN0cmluZ30pXSxoPVtMKHt0eXBlOlN0cmluZ30pXSxwPVtMKHt0eXBlOlN0cmluZ30pXSx4PVtaKCldLF9CKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGl0bGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+InRpdGxlImluIGssImhhcyIpLGdldDppKGs9PmsudGl0bGUsImdldCIpLHNldDppKChrLEUpPT57ay50aXRsZT1FfSwic2V0Iil9LG1ldGFkYXRhOk19LG8sbCksX0IodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGs9PiJjb250ZW50ImluIGssImhhcyIpLGdldDppKGs9PmsuY29udGVudCwiZ2V0Iiksc2V0OmkoKGssRSk9PntrLmNvbnRlbnQ9RX0sInNldCIpfSxtZXRhZGF0YTpNfSx1LGYpLF9CKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFuZ3VhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+Imxhbmd1YWdlImluIGssImhhcyIpLGdldDppKGs9PmsubGFuZ3VhZ2UsImdldCIpLHNldDppKChrLEUpPT57ay5sYW5ndWFnZT1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGcsdiksX0IodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0hvdmVyaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGs9PiJpc0hvdmVyaW5nImluIGssImhhcyIpLGdldDppKGs9PmsuaXNIb3ZlcmluZywiZ2V0Iiksc2V0OmkoKGssRSk9PntrLmlzSG92ZXJpbmc9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxiLG0pLF9CKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsYSkseT1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9c3RhdGljIGRlbW89c2VhO3N0YXRpYyBkZW1vR3JvdXBzPVsiTWVkaWEiXTtzdGF0aWMgc3R5bGVzPVsuLi5McixYYAogICAgICAubm90ZS1jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsImhzbCg2MCA1JSA5NiUpIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5ub3RlLWhlYWRlciB7CiAgICAgICAgcGFkZGluZzogMTJweCAxNHB4IDhweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLm5vdGUtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNSAyMCUgMjAlKSIsImhzbCgyMTUgMjAlIDIwJSkiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICAgIH0KCiAgICAgIC5ub3RlLWJvZHkgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgcGFkZGluZzogMCAxNHB4IDE0cHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5ub3RlLXRleHQgewogICAgICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNSAxMCUgNDAlKSIsImhzbCgyMTUgMTAlIDM1JSkiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLm5vdGUtZmFkZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGhlaWdodDogNjBweDsKICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgICB0cmFuc3BhcmVudCwKICAgICAgICAgICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiaHNsKDYwIDUlIDk2JSkiKX0KICAgICAgICApOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAubm90ZS1saW5lcyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICB3aWR0aDogMzRweDsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgNzAlIDg1JSkiLCJoc2woMCA1MCUgODAlKSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7CiAgICAgIH0KCiAgICAgIC5saW5lLW51bWJlciB7CiAgICAgICAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiA5cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7IC8qIG1hdGNoZXMgMTBweCAqIDEuNSBsaW5lLWhlaWdodCAqLwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNSAxMCUgNzUlKSIsImhzbCgyMTUgMTAlIDcwJSkiKX07CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgcGFkZGluZy1yaWdodDogNnB4OwogICAgICB9CgogICAgYF07I2U9T28odGhpcyxvLCIiKTtnZXQgdGl0bGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdGl0bGUoTSl7dGhpcy4jZT1NfSN0PShPbyh0aGlzLGwpLE9vKHRoaXMsdSwiIikpO2dldCBjb250ZW50KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGNvbnRlbnQoTSl7dGhpcy4jdD1NfSNhPShPbyh0aGlzLGYpLE9vKHRoaXMsZywiIikpO2dldCBsYW5ndWFnZSgpe3JldHVybiB0aGlzLiNhfXNldCBsYW5ndWFnZShNKXt0aGlzLiNhPU19I3I9KE9vKHRoaXMsdiksT28odGhpcyxiLCExKSk7Z2V0IGlzSG92ZXJpbmcoKXtyZXR1cm4gdGhpcy4jcn1zZXQgaXNIb3ZlcmluZyhNKXt0aGlzLiNyPU19bm90ZUJvZHlFbGVtZW50PShPbyh0aGlzLG0pLG51bGwpO3JlbmRlclRpbGVDb250ZW50KCl7bGV0IE09dGhpcy5jb250ZW50LnNwbGl0KGAKYCk7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9Im5vdGUtY29udGVudCI+CiAgICAgICAgJHt0aGlzLnRpdGxlP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJub3RlLWhlYWRlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5vdGUtdGl0bGUiPiR7dGhpcy50aXRsZX08L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgIDxkaXYgY2xhc3M9Im5vdGUtYm9keSI+CiAgICAgICAgICA8cHJlIGNsYXNzPSJub3RlLXRleHQiPiR7TS5qb2luKGAKYCl9PC9wcmU+CiAgICAgICAgICAke3RoaXMuaXNIb3ZlcmluZz8iIjp3YDxkaXYgY2xhc3M9Im5vdGUtZmFkZSI+PC9kaXY+YH0KICAgICAgICA8L2Rpdj4KCiAgICAgIDwvZGl2PgoKICAgICAgJHt0aGlzLmNsaWNrYWJsZT93YAogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtb3ZlcmxheSI+CiAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpGaWxlVGV4dCI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5PcGVuIE5vdGU8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CiAgICBgfXJlbmRlckJvdHRvbUJhcigpe2xldCBNPXRoaXMuY29udGVudC5zcGxpdChgCmApO3JldHVybiF0aGlzLmxhYmVsJiYhdGhpcy5sYW5ndWFnZSYmIU0ubGVuZ3RoPyIiOndgCiAgICAgIDxkaXYgY2xhc3M9InRpbGUtaW5mby1iYXIiPgogICAgICAgICR7dGhpcy5sYWJlbD93YDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIiB0aXRsZT0iJHt0aGlzLmxhYmVsfSI+JHt0aGlzLmxhYmVsfTwvc3Bhbj5gOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXNwYWNlciI+PC9zcGFuPgogICAgICAgICR7dGhpcy5sYW5ndWFnZT93YDxzcGFuIGNsYXNzPSJpbmZvLWRldGFpbCI+JHt0aGlzLmxhbmd1YWdlLnRvVXBwZXJDYXNlKCl9PC9zcGFuPmA6IiJ9CiAgICAgICAgJHt0aGlzLmlzSG92ZXJpbmcmJk0ubGVuZ3RoPjEyP3dgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj5MaW5lICR7dGhpcy5nZXRWaXNpYmxlTGluZVJhbmdlKE0ubGVuZ3RoKX08L3NwYW4+YDp3YDxzcGFuIGNsYXNzPSJpbmZvLWRldGFpbCI+JHtNLmxlbmd0aH0gbGluZXM8L3NwYW4+YH0KICAgICAgPC9kaXY+CiAgICBgfWdldFRpbGVDbGlja0RldGFpbCgpe3JldHVybnt0aXRsZTp0aGlzLnRpdGxlLGNvbnRlbnQ6dGhpcy5jb250ZW50LGxhbmd1YWdlOnRoaXMubGFuZ3VhZ2V9fW9uVGlsZU1vdXNlRW50ZXIoKXt0aGlzLmlzSG92ZXJpbmc9ITAsdGhpcy5ub3RlQm9keUVsZW1lbnR8fCh0aGlzLm5vdGVCb2R5RWxlbWVudD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ub3RlLWJvZHkiKSl9b25UaWxlTW91c2VMZWF2ZSgpe3RoaXMuaXNIb3ZlcmluZz0hMSx0aGlzLm5vdGVCb2R5RWxlbWVudCYmKHRoaXMubm90ZUJvZHlFbGVtZW50LnNjcm9sbFRvcD0wKX1vblRpbGVNb3VzZU1vdmUoTSl7aWYoIXRoaXMuaXNIb3ZlcmluZ3x8IXRoaXMubm90ZUJvZHlFbGVtZW50fHx0aGlzLmNvbnRlbnQuc3BsaXQoYApgKS5sZW5ndGg8PTEyKXJldHVybjtsZXQgRT10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLF89TS5jbGllbnRYLUUubGVmdCxDPU1hdGgubWF4KDAsTWF0aC5taW4oMSxfL0Uud2lkdGgpKSxOPXRoaXMubm90ZUJvZHlFbGVtZW50LnNjcm9sbEhlaWdodC10aGlzLm5vdGVCb2R5RWxlbWVudC5jbGllbnRIZWlnaHQ7dGhpcy5ub3RlQm9keUVsZW1lbnQuc2Nyb2xsVG9wPUMqTn1nZXRWaXNpYmxlTGluZVJhbmdlKE0pe2lmKCF0aGlzLm5vdGVCb2R5RWxlbWVudClyZXR1cm5gMVx1MjAxMzEyIG9mICR7TX1gO2xldCBrPTE1LEU9TWF0aC5mbG9vcih0aGlzLm5vdGVCb2R5RWxlbWVudC5zY3JvbGxUb3AvaykrMSxfPU1hdGguZmxvb3IodGhpcy5ub3RlQm9keUVsZW1lbnQuY2xpZW50SGVpZ2h0L2spLEM9TWF0aC5taW4oRStfLTEsTSk7cmV0dXJuYCR7RX1cdTIwMTMke0N9IG9mICR7TX1gfXN0YXRpY3tPbyhyLGEpfX07cmV0dXJuIHk9cn0pKCl9KTt2YXIgY2VhPWMoKCk9PntsZWEoKX0pO3ZhciBkZWEscGVhPWMoKCk9PntwZSgpO2RlYT1pKCgpPT57bGV0IHQ9W3t0eXBlOiJpbWFnZSIsbmFtZToic3Vuc2V0LmpwZyIsdGh1bWJuYWlsU3JjOiJodHRwczovL3BpY3N1bS5waG90b3MvMjAwLzIwMD9yYW5kb209MSJ9LHt0eXBlOiJpbWFnZSIsbmFtZToibW91bnRhaW4uanBnIix0aHVtYm5haWxTcmM6Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8yMDAvMjAwP3JhbmRvbT0yIn0se3R5cGU6ImltYWdlIixuYW1lOiJvY2Vhbi5qcGciLHRodW1ibmFpbFNyYzoiaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzIwMC8yMDA/cmFuZG9tPTMifSx7dHlwZToiaW1hZ2UiLG5hbWU6ImZvcmVzdC5qcGciLHRodW1ibmFpbFNyYzoiaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzIwMC8yMDA/cmFuZG9tPTQifSx7dHlwZToiaW1hZ2UiLG5hbWU6ImNpdHkuanBnIix0aHVtYm5haWxTcmM6Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8yMDAvMjAwP3JhbmRvbT01In0se3R5cGU6ImltYWdlIixuYW1lOiJkZXNlcnQuanBnIix0aHVtYm5haWxTcmM6Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8yMDAvMjAwP3JhbmRvbT02In1dO3JldHVybiB3YAogICAgPHN0eWxlPgogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsKICAgICAgfQogICAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OwogICAgICB9CiAgICAgIGgzIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CiAgICAgIC50aWxlLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+Rm9sZGVyIFRpbGVzPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgICA8ZGVlcy10aWxlLWZvbGRlcgogICAgICAgICAgICBuYW1lPSJQaG90b3MiCiAgICAgICAgICAgIC5pdGVtcz0ke3R9CiAgICAgICAgICAgIGxhYmVsPSI2IHBob3RvcyIKICAgICAgICAgICAgQHRpbGUtY2xpY2s9JHtuPT5jb25zb2xlLmxvZygiRm9sZGVyIGNsaWNrZWQ6IixuLmRldGFpbCl9CiAgICAgICAgICA+PC9kZWVzLXRpbGUtZm9sZGVyPgoKICAgICAgICAgIDxkZWVzLXRpbGUtZm9sZGVyCiAgICAgICAgICAgIG5hbWU9Im15LXByb2plY3QiCiAgICAgICAgICAgIC5pdGVtcz0ke1t7dHlwZToibm90ZSIsbmFtZToiUkVBRE1FLm1kIn0se3R5cGU6Im5vdGUiLG5hbWU6InBhY2thZ2UuanNvbiJ9LHt0eXBlOiJmb2xkZXIiLG5hbWU6InNyYyJ9LHt0eXBlOiJmb2xkZXIiLG5hbWU6InRlc3QifSx7dHlwZToibm90ZSIsbmFtZToidHNjb25maWcuanNvbiJ9LHt0eXBlOiJwZGYiLG5hbWU6ImRvY3MucGRmIn0se3R5cGU6ImltYWdlIixuYW1lOiJsb2dvLnBuZyIsdGh1bWJuYWlsU3JjOiJodHRwczovL3BpY3N1bS5waG90b3MvMTAwLzEwMD9yYW5kb209MTAifV19CiAgICAgICAgICAgIGxhYmVsPSJQcm9qZWN0IGZpbGVzIgogICAgICAgICAgPjwvZGVlcy10aWxlLWZvbGRlcj4KCiAgICAgICAgICA8ZGVlcy10aWxlLWZvbGRlcgogICAgICAgICAgICBuYW1lPSJNZWRpYSBBc3NldHMiCiAgICAgICAgICAgIC5pdGVtcz0ke1t7dHlwZToidmlkZW8iLG5hbWU6ImludHJvLm1wNCJ9LHt0eXBlOiJhdWRpbyIsbmFtZToiYmFja2dyb3VuZC5tcDMifSx7dHlwZToiaW1hZ2UiLG5hbWU6InRodW1ibmFpbC5qcGciLHRodW1ibmFpbFNyYzoiaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzIwMC8yMDA/cmFuZG9tPTIwIn0se3R5cGU6InBkZiIsbmFtZToic3Rvcnlib2FyZC5wZGYifV19CiAgICAgICAgICAgIGxhYmVsPSJNaXhlZCBtZWRpYSIKICAgICAgICAgID48L2RlZXMtdGlsZS1mb2xkZXI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+RWRnZSBDYXNlczwvaDM+CiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1yb3ciPgogICAgICAgICAgPGRlZXMtdGlsZS1mb2xkZXIKICAgICAgICAgICAgbmFtZT0iRW1wdHkgRm9sZGVyIgogICAgICAgICAgICAuaXRlbXM9JHtbXX0KICAgICAgICAgID48L2RlZXMtdGlsZS1mb2xkZXI+CgogICAgICAgICAgPGRlZXMtdGlsZS1mb2xkZXIKICAgICAgICAgICAgbmFtZT0iU2luZ2xlIEl0ZW0iCiAgICAgICAgICAgIC5pdGVtcz0ke1t7dHlwZToicGRmIixuYW1lOiJyZXBvcnQucGRmIn1dfQogICAgICAgICAgPjwvZGVlcy10aWxlLWZvbGRlcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5TaXplIFZhcmlhbnRzPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgICA8ZGVlcy10aWxlLWZvbGRlcgogICAgICAgICAgICBzaXplPSJzbWFsbCIKICAgICAgICAgICAgbmFtZT0iU21hbGwiCiAgICAgICAgICAgIC5pdGVtcz0ke3R9CiAgICAgICAgICA+PC9kZWVzLXRpbGUtZm9sZGVyPgoKICAgICAgICAgIDxkZWVzLXRpbGUtZm9sZGVyCiAgICAgICAgICAgIG5hbWU9IkRlZmF1bHQiCiAgICAgICAgICAgIC5pdGVtcz0ke3R9CiAgICAgICAgICA+PC9kZWVzLXRpbGUtZm9sZGVyPgoKICAgICAgICAgIDxkZWVzLXRpbGUtZm9sZGVyCiAgICAgICAgICAgIHNpemU9ImxhcmdlIgogICAgICAgICAgICBuYW1lPSJMYXJnZSIKICAgICAgICAgICAgLml0ZW1zPSR7dH0KICAgICAgICAgID48L2RlZXMtdGlsZS1mb2xkZXI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYH0sImRlbW8iKX0pO3ZhciBEQmUsVEIsdWVhLGZlYSxoZWE9YygoKT0+e3BlKCk7eGwoKTtGbygpO3BlYSgpO0RCZT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sVEI9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LHVlYT17cGRmOiJsdWNpZGU6RmlsZVRleHQiLGltYWdlOiJsdWNpZGU6SW1hZ2UiLGF1ZGlvOiJsdWNpZGU6TXVzaWMiLHZpZGVvOiJsdWNpZGU6VmlkZW8iLG5vdGU6Imx1Y2lkZTpGaWxlQ29kZSIsZm9sZGVyOiJsdWNpZGU6Rm9sZGVyIix1bmtub3duOiJsdWNpZGU6RmlsZSJ9LGZlYT0oKCk9PntsZXQgdD1bYWUoImRlZXMtdGlsZS1mb2xkZXIiKV0sZSxhPVtdLHIscz1qcixuLG89W10sbD1bXSxoLHU9W10sZj1bXTt2YXIgcD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc1RpbGVGb2xkZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgZz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOlN0cmluZ30pXSxoPVtMKHthdHRyaWJ1dGU6ITF9KV0sREJlKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh2PT4ibmFtZSJpbiB2LCJoYXMiKSxnZXQ6aSh2PT52Lm5hbWUsImdldCIpLHNldDppKCh2LHgpPT57di5uYW1lPXh9LCJzZXQiKX0sbWV0YWRhdGE6Z30sbyxsKSxEQmUodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh2PT4iaXRlbXMiaW4gdiwiaGFzIiksZ2V0Omkodj0+di5pdGVtcywiZ2V0Iiksc2V0OmkoKHYseCk9Pnt2Lml0ZW1zPXh9LCJzZXQiKX0sbWV0YWRhdGE6Z30sdSxmKSxEQmUobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Z30sbnVsbCxhKSxwPXI9ZS52YWx1ZSxnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmd9KX1zdGF0aWMgZGVtbz1kZWE7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSJdO3N0YXRpYyBzdHlsZXM9Wy4uLkxyLFhgCiAgICAgIC5mb2xkZXItY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCg0MCAzMCUgOTclKSIsImhzbCgyMTUgMjAlIDE0JSkiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmZvbGRlci1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE0cHggOHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZm9sZGVyLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCg0MCA4MCUgNTAlKSIsImhzbCg0MCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLmZvbGRlci1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUgMjAlIDIwJSkiLCJoc2woMjE1IDE2JSA4MCUpIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAucHJldmlldy1ncmlkIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDFmcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiAwIDE0cHggMTRweDsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICB9CgogICAgICAuZ3JpZC1jZWxsIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTUgMjAlIDk0JSkiLCJoc2woMjE1IDIwJSAxOCUpIil9OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmdyaWQtY2VsbCBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmdyaWQtY2VsbCBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUgMTYlIDYwJSkiLCJoc2woMjE1IDE2JSA1NSUpIil9OwogICAgICB9CgogICAgICAuZ3JpZC1jZWxsLWVtcHR5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxNSAxNSUgOTYlKSIsImhzbCgyMTUgMjAlIDE2JSkiKX07CiAgICAgIH0KCiAgICBgXTsjZT1UQih0aGlzLG8sIiIpO2dldCBuYW1lKCl7cmV0dXJuIHRoaXMuI2V9c2V0IG5hbWUoZyl7dGhpcy4jZT1nfSN0PShUQih0aGlzLGwpLFRCKHRoaXMsdSxbXSkpO2dldCBpdGVtcygpe3JldHVybiB0aGlzLiN0fXNldCBpdGVtcyhnKXt0aGlzLiN0PWd9cmVuZGVyVGlsZUNvbnRlbnQoKXtsZXQgZz10aGlzLml0ZW1zLnNsaWNlKDAsNCksdj00LWcubGVuZ3RoO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJmb2xkZXItY29udGVudCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9sZGVyLWhlYWRlciI+CiAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJmb2xkZXItaWNvbiIgaWNvbj0ibHVjaWRlOkZvbGRlciI+PC9kZWVzLWljb24+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb2xkZXItbmFtZSI+JHt0aGlzLm5hbWV8fCJVbnRpdGxlZCBGb2xkZXIifTwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWdyaWQiPgogICAgICAgICAgJHtnLm1hcCh4PT53YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWNlbGwiPgogICAgICAgICAgICAgICR7eC50aHVtYm5haWxTcmM/d2AKICAgICAgICAgICAgICAgIDxpbWcgc3JjPSIke3gudGh1bWJuYWlsU3JjfSIgYWx0PSIke3gubmFtZX0iIC8+CiAgICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSIke3VlYVt4LnR5cGVdfHx1ZWEudW5rbm93bn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIGB9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgICAgICAke0FycmF5LmZyb20oe2xlbmd0aDp2fSkubWFwKCgpPT53YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWNlbGwgZ3JpZC1jZWxsLWVtcHR5Ij48L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgICR7dGhpcy5jbGlja2FibGU/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLW92ZXJsYXkiPgogICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Rm9sZGVyT3BlbiI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5PcGVuIEZvbGRlcjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgIGB9cmVuZGVyQm90dG9tQmFyKCl7cmV0dXJuIXRoaXMubGFiZWwmJiF0aGlzLml0ZW1zLmxlbmd0aD8iIjp3YAogICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWluZm8tYmFyIj4KICAgICAgICAke3RoaXMubGFiZWw/d2A8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCIgdGl0bGU9IiR7dGhpcy5sYWJlbH0iPiR7dGhpcy5sYWJlbH08L3NwYW4+YDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1zcGFjZXIiPjwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1kZXRhaWwiPiR7dGhpcy5pdGVtcy5sZW5ndGh9IGl0ZW0ke3RoaXMuaXRlbXMubGVuZ3RoIT09MT8icyI6IiJ9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgIGB9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue25hbWU6dGhpcy5uYW1lLGl0ZW1Db3VudDp0aGlzLml0ZW1zLmxlbmd0aCxpdGVtczp0aGlzLml0ZW1zfX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksVEIodGhpcyxmKX1zdGF0aWN7VEIocixhKX19O3JldHVybiBwPXJ9KSgpfSk7dmFyIG1lYT1jKCgpPT57aGVhKCl9KTt2YXIgZ2VhPWMoKCk9PntoSnQoKTt2SnQoKTtNSnQoKTtQSnQoKTtFSnQoKTtJSnQoKTtOSnQoKTtWSnQoKTtZSnQoKTtKSnQoKTtpZWEoKTtjZWEoKTttZWEoKX0pO3ZhciBiZWE9YygoKT0+e3YxKCl9KTt2YXIgdmVhPWMoKCk9PntzNigpfSk7dmFyIHhlYSx5ZWE9YygoKT0+e3BlKCk7eGVhPWkoKCk9PndgCiAgICA8c3R5bGU+CiAgICAgIC5yZWYxIHsKICAgICAgICBtYXJnaW46IDIwcHg7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgICAgaGVpZ2h0OiAxMHB4OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxkaXYgY2xhc3M9InJlZjEiPjwvZGl2PgogICAgPGRlZXMtc3BlZWNoYnViYmxlIC50ZXh0PSR7YAogICAgICAqKlRoaXMgaXMgYSBsb25nZXIgbWFya2Rvd24gdGV4dCB0aGF0ICBjYW4gYmUgdXNlZCB0aGUgd3JpdGUqKiAgCiAgICAgIGEgbG9uZ2VyIGRlc2NyaXB0aW9uIGFib3V0IHdoYXRzIGdvaW5nIG9uIHRoZSBhcHAgIAogIAogICAgICAqKlRoaXMgaXMgYSBzdWJoZWFkZXIqKgogICAgICBhbmQgYW5vdGhlciB0ZXh0CiAgICAKICAgIGB9PjwvZGVlcy1zcGVlY2hidWJibGU+CiAgYCwiZGVtb0Z1bmMiKX0pO3ZhciBpcCxPcyx3ZWEsTWVhPWMoKCk9PntHaSgpO1AxKCk7eWVhKCk7cGUoKTtnbygpO1hlKCk7aXA9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LE9zPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSx3ZWE9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLXNwZWVjaGJ1YmJsZSIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdO3ZhciBFPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzU3BlZWNoYnViYmxlIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpPYmplY3R9KV0saD1bTCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxwPVtMKHt0eXBlOkJvb2xlYW59KV0seD1bTCh7dHlwZTpCb29sZWFufSldLHk9W0woe3R5cGU6U3RyaW5nfSldLGlwKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVmZmVkRWxlbWVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4icmVmZmVkRWxlbWVudCJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLnJlZmZlZEVsZW1lbnQsImdldCIpLHNldDppKChDLE4pPT57Qy5yZWZmZWRFbGVtZW50PU59LCJzZXQiKX0sbWV0YWRhdGE6X30sbyxsKSxpcCh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+InRleHQiaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy50ZXh0LCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0MudGV4dD1OfSwic2V0Iil9LG1ldGFkYXRhOl99LHUsZiksaXAodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3YXZlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJ3YXZlImluIEMsImhhcyIpLGdldDppKEM9PkMud2F2ZSwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLndhdmU9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxnLHYpLGlwKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFuaWZlc3RlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4ibWFuaWZlc3RlZCJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLm1hbmlmZXN0ZWQsImdldCIpLHNldDppKChDLE4pPT57Qy5tYW5pZmVzdGVkPU59LCJzZXQiKX0sbWV0YWRhdGE6X30sYixtKSxpcCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXR1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4ic3RhdHVzImluIEMsImhhcyIpLGdldDppKEM9PkMuc3RhdHVzLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0Muc3RhdHVzPU59LCJzZXQiKX0sbWV0YWRhdGE6X30sTSxrKSxpcChudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpffSxudWxsLGEpLEU9cj1lLnZhbHVlLF8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6X30pfXN0YXRpYyBkZW1vPXhlYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk92ZXJsYXkiXTtzdGF0aWMgYXN5bmMgY3JlYXRlQW5kU2hvdyhfLEMpe2xldCBOPWF3YWl0IFVpLmNyZWF0ZUFuZFNob3coe2JsdXI6ITF9KSwkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRlZXMtc3BlZWNoYnViYmxlIik7cmV0dXJuICQud2luZG93TGF5ZXI9TiwkLnJlZmZlZEVsZW1lbnQ9XywkLnRleHQ9QywkLm1hbmlmZXN0ZWQ9ITAsTi5hcHBlbmRDaGlsZCgkKSxOLnN0eWxlLnBvaW50ZXJFdmVudHM9Im5vbmUiLE4uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIud2luZG93T3ZlcmxheSIpLnN0eWxlLnBvaW50ZXJFdmVudHM9Im5vbmUiLCR9I2U9T3ModGhpcyxvLHZvaWQgMCk7Z2V0IHJlZmZlZEVsZW1lbnQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcmVmZmVkRWxlbWVudChfKXt0aGlzLiNlPV99I3Q9KE9zKHRoaXMsbCksT3ModGhpcyx1LHZvaWQgMCkpO2dldCB0ZXh0KCl7cmV0dXJuIHRoaXMuI3R9c2V0IHRleHQoXyl7dGhpcy4jdD1ffSNhPShPcyh0aGlzLGYpLE9zKHRoaXMsZywhMSkpO2dldCB3YXZlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHdhdmUoXyl7dGhpcy4jYT1ffSNyPShPcyh0aGlzLHYpLE9zKHRoaXMsYiwhMSkpO2dldCBtYW5pZmVzdGVkKCl7cmV0dXJuIHRoaXMuI3J9c2V0IG1hbmlmZXN0ZWQoXyl7dGhpcy4jcj1ffSNpPShPcyh0aGlzLG0pLE9zKHRoaXMsTSwibm9ybWFsIikpO2dldCBzdGF0dXMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgc3RhdHVzKF8pe3RoaXMuI2k9X313aW5kb3dMYXllcj1Pcyh0aGlzLGspO2NvbnN0cnVjdG9yKCl7c3VwZXIoKX1zdGF0aWMgc3R5bGVzPVtEZSxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMzMzIiwiI2ZmZiIpfTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7CiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwcHggMHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMikpOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAgIH0KCiAgICAgIC5hcnJvdyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZiIsIiMzMzMiKX07CiAgICAgICAgaGVpZ2h0OiAxNXB4OwogICAgICAgIHdpZHRoOiAxNXB4OwogICAgICAgIGxlZnQ6IDJweDsKICAgICAgICB0b3A6IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAuc3BlZWNoYnViYmxlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZiIsIiMzMzMiKX07CiAgICAgICAgcGFkZGluZzogMHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBtaW4td2lkdGg6IDI0MHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICB0b3A6IDBweDsKICAgICAgICBsZWZ0OiA4cHg7CiAgICAgIH0KCiAgICAgIC53YXZlIHsKICAgICAgICBhbmltYXRpb24tbmFtZTogd2F2ZS1hbmltYXRpb247IC8qIFJlZmVycyB0byB0aGUgbmFtZSBvZiB5b3VyIEBrZXlmcmFtZXMgZWxlbWVudCBiZWxvdyAqLwogICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMi41czsgLyogQ2hhbmdlIHRvIHNwZWVkIHVwIG9yIHNsb3cgZG93biAqLwogICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyAvKiBOZXZlciBzdG9wIHdhdmluZyA6KSAqLwogICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDcwJSA3MCU7IC8qIFBpdm90IGFyb3VuZCB0aGUgYm90dG9tLWxlZnQgcGFsbSAqLwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyB3YXZlLWFuaW1hdGlvbiB7CiAgICAgICAgMCUgewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgICAgICAgfQogICAgICAgIDEwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNGRlZyk7CiAgICAgICAgfSAvKiBUaGUgZm9sbG93aW5nIGZpdmUgdmFsdWVzIGNhbiBiZSBwbGF5ZWQgd2l0aCB0byBtYWtlIHRoZSB3YXZpbmcgbW9yZSBvciBsZXNzIGV4dHJlbWUgKi8KICAgICAgICAyMCUgewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLThkZWcpOwogICAgICAgIH0KICAgICAgICAzMCUgewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTRkZWcpOwogICAgICAgIH0KICAgICAgICA0MCUgewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTRkZWcpOwogICAgICAgIH0KICAgICAgICA1MCUgewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTBkZWcpOwogICAgICAgIH0KICAgICAgICA2MCUgewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgICAgICAgfSAvKiBSZXNldCBmb3IgdGhlIGxhc3QgaGFsZiB0byBwYXVzZSAqLwogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgICAgICAgfQogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLm1hbmlmZXN0ZWQ/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciIgQGNsaWNrPSR7dGhpcy5oYW5kbGVDbGlja30+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXJyb3ciPjwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwZWVjaGJ1YmJsZSI+CiAgICAgICAgICAgICAgICAke3RoaXMud2F2ZT93YDxzcGFuIGNsYXNzPSJ3YXZlIj7wn5GLPC9zcGFuPmA6d2BgfQogICAgICAgICAgICAgICAgJHt2aS5yZXNvbHZlKHRoaXMuZ2V0SHRtbCgpKX0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOndgYH0KICAgIGB9YXN5bmMgaGFuZGxlQ2xpY2soKXtjb25zb2xlLmxvZygic3BlZWNoYnViYmxlIGdvdCBjbGlja2VkLiIpfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2lmKHRoaXMucmVmZmVkRWxlbWVudHx8KHRoaXMucmVmZmVkRWxlbWVudD10aGlzLnByZXZpb3VzRWxlbWVudFNpYmxpbmcpLHRoaXMubWFuaWZlc3RlZClhd2FpdCB0aGlzLnVwZGF0ZVBvc2l0aW9uKCksdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5tYWluY29udGFpbmVyIikuc3R5bGUub3BhY2l0eT0iMSI7ZWxzZXtsZXQgXzt0aGlzLnJlZmZlZEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VlbnRlciIsYXN5bmMoKT0+e189YXdhaXQgRS5jcmVhdGVBbmRTaG93KHRoaXMucmVmZmVkRWxlbWVudCx0aGlzLnRleHQpfSksdGhpcy5yZWZmZWRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLCgpPT57Xy5kZXN0cm95KCl9KX19YXN5bmMgdXBkYXRlUG9zaXRpb24oKXtsZXQgXz10aGlzLnJlZmZlZEVsZW1lbnQsQz1fLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuc3R5bGUucG9zaXRpb249ImZpeGVkIix0aGlzLnN0eWxlLnRvcD1gJHtDLnRvcC0xM31weGAsdGhpcy5zdHlsZS5sZWZ0PWAke0MubGVmdCtfLmNsaWVudFdpZHRoKzR9cHhgLEMucmlnaHQ+MjUwJiYodGhpcy5zdHlsZS53aWR0aD0iMjUwcHgiKX1hc3luYyBnZXRIdG1sKCl7aWYoIXRoaXMudGV4dClyZXR1cm4iIjtsZXQgXz12dC5wbHVnaW5zLnNtYXJ0c3RyaW5nLm5vcm1hbGl6ZS5zdGFuZGFyZCh0aGlzLnRleHQpLEM9YXdhaXQgdnQucGx1Z2lucy5zbWFydG1hcmtkb3duLlNtYXJ0TWFya2Rvd24uZWFzeU1hcmtkb3duVG9IdG1sKF8pO3JldHVybiBFZihDKX1hc3luYyBzaG93KCl7fWFzeW5jIGRlc3Ryb3koKXt0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm1haW5jb250YWluZXIiKS5zdHlsZS5vcGFjaXR5PSIwIix0aGlzLndpbmRvd0xheWVyLmRlc3Ryb3koKX1zdGF0aWN7T3MocixhKX19O3JldHVybiBFPXJ9KSgpfSk7dmFyIGtlYT1jKCgpPT57TWVhKCl9KTt2YXIgemVhPWMoKCk9PntnbygpfSk7dmFyIFNlYT1jKCgpPT57YmVhKCk7dmVhKCk7a2VhKCk7emVhKCl9KTt2YXIgQ2VhPWMoKCk9Pnt9KTt2YXIgX2VhPWMoKCk9PntDZWEoKX0pO3ZhciBUZWEsZVgsdFgsQUJlLExlYSxhWCxyWCxpWCxzWD1jKCgpPT57VGVhPSJodHRwczovL3N0YWNrYmxpdHouY29tIixlWD0iY29kZSIsdFg9ImVycm9yIixBQmU9ImVycm9yX2Rlc2NyaXB0aW9uIixMZWE9Il9fd2NfYXBpX2JjX18iLGFYPSJfX3djX2FwaV90b2tlbnNfXyIsclg9Il9fd2NfYXBpX3ZlcmlmaWVyX18iLGlYPSJfX3djX2FwaV9wb3B1cF9fIn0pO3ZhciBrNixQQmU9YygoKT0+e2s2PWNsYXNze3N0YXRpY3tpKHRoaXMsIlR5cGVkRXZlbnRUYXJnZXQiKX1fYnVzPW5ldyBFdmVudFRhcmdldDtsaXN0ZW4oZSl7ZnVuY3Rpb24gYShyKXtlKHIuZGF0YSl9cmV0dXJuIGkoYSwid3JhcHBlZExpc3RlbmVyIiksdGhpcy5fYnVzLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGEpLCgpPT50aGlzLl9idXMucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYSl9ZmlyZUV2ZW50KGUpe3RoaXMuX2J1cy5kaXNwYXRjaEV2ZW50KG5ldyBNZXNzYWdlRXZlbnQoIm1lc3NhZ2UiLHtkYXRhOmV9KSl9fX0pO2Z1bmN0aW9uIG9YKCl7bG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oYVgpfWZ1bmN0aW9uIEVlYSh0KXtyZXR1cm4gRGVhLmxpc3Rlbih0KX1mdW5jdGlvbiAkdmEoKXtsZXQgdD1sb2NhbFN0b3JhZ2UuZ2V0SXRlbShhWCk7aWYoIXQpcmV0dXJuIG51bGw7dHJ5e3JldHVybiBKU09OLnBhcnNlKHQpfWNhdGNoe3JldHVybiBudWxsfX1mdW5jdGlvbiBEdmEodCl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oYVgsSlNPTi5zdHJpbmdpZnkodCkpfWZ1bmN0aW9uIEFlYSh7Y3JlYXRlZF9hdDp0LGV4cGlyZXNfaW46ZX0pe3JldHVybih0K2UpKjFlM31mdW5jdGlvbiBQZWEodCl7aWYodHlwZW9mIHQhPSJvYmplY3QifHwhdCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgVG9rZW4gUmVzcG9uc2UiKTtpZih0eXBlb2YgdC5hY2Nlc3NfdG9rZW4hPSJzdHJpbmcifHx0eXBlb2YgdC5yZWZyZXNoX3Rva2VuIT0ic3RyaW5nInx8dHlwZW9mIHQuY3JlYXRlZF9hdCE9Im51bWJlciJ8fHR5cGVvZiB0LmV4cGlyZXNfaW4hPSJudW1iZXIiKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBUb2tlbiBSZXNwb25zZSIpfWZ1bmN0aW9uIEF2YSh0KXtyZXR1cm4gbmV3IFByb21pc2UoZT0+c2V0VGltZW91dChlLHQpKX1mdW5jdGlvbiBQdmEodCl7RGVhLmZpcmVFdmVudCh0KX12YXIgJGVhLERlYSxzcCxFQmU9YygoKT0+e3NYKCk7UEJlKCk7JGVhPW5ldyBFcnJvcjskZWEuc3RhY2s9IiI7RGVhPW5ldyBrNixzcD1jbGFzcyB0e3N0YXRpY3tpKHRoaXMsIlRva2VucyIpfW9yaWdpbjtyZWZyZXNoO2FjY2VzcztleHBpcmVzO19yZXZva2VkPW5ldyBBYm9ydENvbnRyb2xsZXI7Y29uc3RydWN0b3IoZSxhLHIscyl7dGhpcy5vcmlnaW49ZSx0aGlzLnJlZnJlc2g9YSx0aGlzLmFjY2Vzcz1yLHRoaXMuZXhwaXJlcz1zfWFzeW5jIGFjdGl2YXRlKGUpe2lmKHRoaXMuX3Jldm9rZWQuc2lnbmFsLmFib3J0ZWQpdGhyb3cgbmV3IEVycm9yKCJUb2tlbiByZXZva2VkIik7cmV0dXJuIHRoaXMuZXhwaXJlczxEYXRlLm5vdygpJiYhYXdhaXQgdGhpcy5fZmV0Y2hOZXdBY2Nlc3NUb2tlbigpPyExOih0aGlzLl9zeW5jKCksdGhpcy5fc3RhcnRSZWZyZXNoVG9rZW5zTG9vcChlKSwhMCl9YXN5bmMgcmV2b2tlKGUsYSl7dGhpcy5fcmV2b2tlZC5hYm9ydCgpO3RyeXtpZighKGF3YWl0IGZldGNoKGAke3RoaXMub3JpZ2lufS9vYXV0aC9yZXZva2VgLHttZXRob2Q6IlBPU1QiLGhlYWRlcnM6eyJDb250ZW50LVR5cGUiOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQifSxib2R5Om5ldyBVUkxTZWFyY2hQYXJhbXMoe3Rva2VuOnRoaXMucmVmcmVzaCx0b2tlbl90eXBlX2hpbnQ6InJlZnJlc2hfdG9rZW4iLGNsaWVudF9pZDplfSksbW9kZToiY29ycyJ9KSkub2spdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gbG9nb3V0Iil9Y2F0Y2gocil7aWYoIWEpdGhyb3cgcn1vWCgpfXN0YXRpYyBmcm9tU3RvcmFnZSgpe2xldCBlPSR2YSgpO3JldHVybiBlP25ldyB0KGUub3JpZ2luLGUucmVmcmVzaCxlLmFjY2VzcyxlLmV4cGlyZXMpOm51bGx9c3RhdGljIGFzeW5jIGZyb21BdXRoQ29kZSh7ZWRpdG9yT3JpZ2luOmUsY2xpZW50SWQ6YSxjb2RlVmVyaWZpZXI6cixhdXRoQ29kZTpzLHJlZGlyZWN0VXJpOm59KXtsZXQgbz1hd2FpdCBmZXRjaChgJHtlfS9vYXV0aC90b2tlbmAse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCJ9LGJvZHk6bmV3IFVSTFNlYXJjaFBhcmFtcyh7Y2xpZW50X2lkOmEsY29kZTpzLGNvZGVfdmVyaWZpZXI6cixncmFudF90eXBlOiJhdXRob3JpemF0aW9uX2NvZGUiLHJlZGlyZWN0X3VyaTpufSksbW9kZToiY29ycyJ9KTtpZighby5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBmZXRjaCB0b2tlbjogJHtvLnN0YXR1c31gKTtsZXQgbD1hd2FpdCBvLmpzb24oKTtQZWEobCk7bGV0e2FjY2Vzc190b2tlbjpoLHJlZnJlc2hfdG9rZW46dX09bCxmPUFlYShsKTtyZXR1cm4gbmV3IHQoZSx1LGgsZil9YXN5bmMgX2ZldGNoTmV3QWNjZXNzVG9rZW4oKXt0cnl7bGV0IGU9YXdhaXQgZmV0Y2goYCR7dGhpcy5vcmlnaW59L29hdXRoL3Rva2VuYCx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn0sYm9keTpuZXcgVVJMU2VhcmNoUGFyYW1zKHtncmFudF90eXBlOiJyZWZyZXNoX3Rva2VuIixyZWZyZXNoX3Rva2VuOnRoaXMucmVmcmVzaH0pLG1vZGU6ImNvcnMiLHNpZ25hbDp0aGlzLl9yZXZva2VkLnNpZ25hbH0pO2lmKCFlLm9rKXRocm93ICRlYTtsZXQgYT1hd2FpdCBlLmpzb24oKTtQZWEoYSk7bGV0e2FjY2Vzc190b2tlbjpyLHJlZnJlc2hfdG9rZW46c309YSxuPUFlYShhKTtyZXR1cm4gdGhpcy5hY2Nlc3M9cix0aGlzLmV4cGlyZXM9bix0aGlzLnJlZnJlc2g9cywhMH1jYXRjaHtyZXR1cm4gb1goKSwhMX19X3N5bmMoKXtEdmEodGhpcyksUHZhKHRoaXMuYWNjZXNzKX1hc3luYyBfc3RhcnRSZWZyZXNoVG9rZW5zTG9vcChlKXtmb3IoOzspe2xldCBhPXRoaXMuZXhwaXJlcy1EYXRlLm5vdygpLTFlMztpZihhd2FpdCBBdmEoTWF0aC5tYXgoYSwxZTMpKSx0aGlzLl9yZXZva2VkLnNpZ25hbC5hYm9ydGVkKXJldHVybjtpZighdGhpcy5fZmV0Y2hOZXdBY2Nlc3NUb2tlbigpKXtlKCk7cmV0dXJufXRoaXMuX3N5bmMoKX19fTtpKG9YLCJjbGVhclRva2Vuc0luU3RvcmFnZSIpO2koRWVhLCJhZGRBY2Nlc3NUb2tlbkNoYW5nZWRMaXN0ZW5lciIpO2koJHZhLCJyZWFkVG9rZW5zRnJvbVN0b3JhZ2UiKTtpKER2YSwicGVyc2lzdFRva2Vuc0luU3RvcmFnZSIpO2koQWVhLCJnZXRFeHBpcmVzRnJvbVRva2VuUmVzcG9uc2UiKTtpKFBlYSwiYXNzZXJ0VG9rZW5SZXNwb25zZSIpO2koQXZhLCJ3YWl0Iik7aShQdmEsImZpcmVBY2Nlc3NUb2tlbkNoYW5nZWQiKX0pO3ZhciBJQmUsblgsQm8sTkJlPWMoKCk9PntzWCgpO0lCZT17fSxuWD1udWxsLEJvPXtnZXQgZWRpdG9yT3JpZ2luKCl7cmV0dXJuIG5YPT1udWxsJiYoblg9bmV3IFVSTChnbG9iYWxUaGlzLldFQkNPTlRBSU5FUl9BUElfSUZSQU1FX1VSTD8/VGVhKS5vcmlnaW4pLG5YfSxzZXQgZWRpdG9yT3JpZ2luKHQpe25YPW5ldyBVUkwodCkub3JpZ2lufSxzZXRRdWVyeVBhcmFtKHQsZSl7SUJlW3RdPWV9LGdldCB1cmwoKXtsZXQgdD1uZXcgVVJMKHRoaXMuZWRpdG9yT3JpZ2luKTt0LnBhdGhuYW1lPSIvaGVhZGxlc3MiO2ZvcihsZXQgZSBpbiBJQmUpdC5zZWFyY2hQYXJhbXMuc2V0KGUsSUJlW2VdKTtyZXR1cm4gdC5zZWFyY2hQYXJhbXMuc2V0KCJ2ZXJzaW9uIiwiMS42LjEiKSx0fX19KTthc3luYyBmdW5jdGlvbiBJZWEodCl7bGV0IGU9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHQpLGE9bmV3IFVpbnQ4QXJyYXkoYXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3QoIlNIQS0yNTYiLGUpKTtyZXR1cm4gYnRvYShhLnJlZHVjZSgocixzKT0+citTdHJpbmcuZnJvbUNvZGVQb2ludChzKSwiIikpLnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIikucmVwbGFjZSgvPSskLywiIil9ZnVuY3Rpb24gTmVhKCl7bGV0IHQ9bmV3IFVpbnQ4QXJyYXkoOTYpO2NyeXB0by5nZXRSYW5kb21WYWx1ZXModCk7bGV0IGU9IiI7Zm9yKGxldCBhPTA7YTwzMjsrK2EpZSs9RXZhKHRbMyphKzBdLHRbMyphKzFdLHRbMyphKzJdKTtyZXR1cm4gZX1mdW5jdGlvbiBFdmEodCxlLGEpe2xldCByPXQ+PjIscz0odCYzKTw8NHxlPj40LG49ZSYxNXwoYSYxOTIpPj4yLG89YSY2MztyZXR1cm5bcixzLG4sb10ubWFwKEl2YSkuam9pbigiIil9ZnVuY3Rpb24gSXZhKHQpe2xldCBlO3JldHVybiB0PDI2P2U9dCs2NTp0PDUyP2U9dC0yNis5Nzp0PDYyP2U9dC01Mis0ODplPXQ9PT02Mj8zMDo0NSxTdHJpbmcuZnJvbUNoYXJDb2RlKGUpfXZhciBSZWE9YygoKT0+e2koSWVhLCJTMjU2Iik7aShOZWEsIm5ld0NvZGVWZXJpZmllciIpO2koRXZhLCJuZXh0Rm91ckNoYXJzIik7aShJdmEsInVucmVzZXJ2ZWRDaGFyYWN0ZXJzIil9KTtmdW5jdGlvbiBGZWEoKXtsZXQgdCxlO2Z1bmN0aW9uIGEoKXtlPW5ldyBQcm9taXNlKHI9PnQ9cil9cmV0dXJuIGkoYSwicmVzZXQiKSxhKCkse2dldCBwcm9taXNlKCl7cmV0dXJuIGV9LHJlc29sdmUocil7cmV0dXJuIHQocil9LHJlc2V0OmF9fXZhciBPZWE9YygoKT0+e2koRmVhLCJyZXNldHRhYmxlUHJvbWlzZSIpfSk7ZnVuY3Rpb24gTEIodCl7QXQuYnJvYWRjYXN0Q2hhbm5lbCYmKEF0LmJyb2FkY2FzdENoYW5uZWwucG9zdE1lc3NhZ2UodCksbG9jYWxTdG9yYWdlLmdldEl0ZW0oaVgpPT09InRydWUiJiZ0LnR5cGUhPT0iYXV0aC1sb2dvdXQiJiYobG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oaVgpLHNldFRpbWVvdXQoKCk9Pnt3aW5kb3cuY2xvc2UoKX0pKSl9ZnVuY3Rpb24gUkJlKCl7ejYuZmlyZUV2ZW50KCksTEIoe3R5cGU6ImF1dGgtbG9nb3V0In0pfWZ1bmN0aW9uIEhlYSgpe3JldHVybiB3aW5kb3cubG9jYXRpb24uaHJlZn1hc3luYyBmdW5jdGlvbiBxZWEoKXtsZXQgdD1OZWEoKTtsb2NhbFN0b3JhZ2Uuc2V0SXRlbShyWCx0KTtsZXQgZT1hd2FpdCBJZWEodCksYT1uZXcgVVJMKCIvb2F1dGgvYXV0aG9yaXplIixBdC5lZGl0b3JPcmlnaW4pLHtzZWFyY2hQYXJhbXM6cn09YTtyZXR1cm4gci5hcHBlbmQoInJlc3BvbnNlX3R5cGUiLCJjb2RlIiksci5hcHBlbmQoImNsaWVudF9pZCIsQXQuY2xpZW50SWQpLHIuYXBwZW5kKCJyZWRpcmVjdF91cmkiLEhlYSgpKSxyLmFwcGVuZCgic2NvcGUiLEF0Lm9hdXRoU2NvcGUpLHIuYXBwZW5kKCJjb2RlX2NoYWxsZW5nZSIsZSksci5hcHBlbmQoImNvZGVfY2hhbGxlbmdlX21ldGhvZCIsIlMyNTYiKSxhLnRvU3RyaW5nKCl9ZnVuY3Rpb24gRkJlKHQpe2lmKCF0KXRocm93IG5ldyBFcnJvcigiT29wcyEgVG9rZW5zIGlzIG5vdCBkZWZpbmVkIHdoZW4gaXQgYWx3YXlzIHNob3VsZCBiZS4iKX12YXIgQXQsQmVhLHo2LFZlYSxPQmU9YygoKT0+e0VCZSgpO3NYKCk7TkJlKCk7UmVhKCk7T2VhKCk7UEJlKCk7QXQ9e2luaXRpYWxpemVkOiExLGJvb3RDYWxsZWQ6ITEsYXV0aENvbXBsZXRlOkZlYSgpLGNsaWVudElkOiIiLG9hdXRoU2NvcGU6IiIsYnJvYWRjYXN0Q2hhbm5lbDpudWxsLGdldCBlZGl0b3JPcmlnaW4oKXtyZXR1cm4gQm8uZWRpdG9yT3JpZ2lufSx0b2tlbnM6bnVsbH0sQmVhPW5ldyBrNix6Nj1uZXcgazY7aShMQiwiYnJvYWRjYXN0TWVzc2FnZSIpO1ZlYT17aW5pdCh7ZWRpdG9yT3JpZ2luOnQsY2xpZW50SWQ6ZSxzY29wZTphfSl7aWYoQXQuaW5pdGlhbGl6ZWQpdGhyb3cgbmV3IEVycm9yKCJJbml0IHNob3VsZCBvbmx5IGJlIGNhbGxlZCBvbmNlIik7aWYoITAmJkF0LmJvb3RDYWxsZWQpdGhyb3cgbmV3IEVycm9yKCJgYXV0aC5pbml0YCBzaG91bGQgYWx3YXlzIGJlIGNhbGxlZCBiZWZvcmUgYFdlYkNvbnRhaW5lci5ib290YCIpO0F0LmluaXRpYWxpemVkPSEwLEF0LnRva2Vucz1zcC5mcm9tU3RvcmFnZSgpLEF0LmNsaWVudElkPWUsQXQub2F1dGhTY29wZT1hLEF0LmJyb2FkY2FzdENoYW5uZWw9bmV3IEJyb2FkY2FzdENoYW5uZWwoTGVhKSxCby5zZXRRdWVyeVBhcmFtKCJjbGllbnRfaWQiLGUpLHQmJihCby5lZGl0b3JPcmlnaW49bmV3IFVSTCh0KS5vcmlnaW4pLHo2Lmxpc3RlbigoKT0+QXQuYXV0aENvbXBsZXRlLnJlc2V0KCkpLEF0LmJyb2FkY2FzdENoYW5uZWwuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscyk7YXN5bmMgZnVuY3Rpb24gcyhoKXtsZXQgdT1oLmRhdGE7aWYodS50eXBlPT09ImF1dGgtY29tcGxldGUiKXtBdC50b2tlbnM9c3AuZnJvbVN0b3JhZ2UoKSxhd2FpdCBBdC50b2tlbnMuYWN0aXZhdGUoUkJlKSxBdC5hdXRoQ29tcGxldGUucmVzb2x2ZSgpO3JldHVybn1pZih1LnR5cGU9PT0iYXV0aC1mYWlsZWQiKXtCZWEuZmlyZUV2ZW50KHUpO3JldHVybn1pZih1LnR5cGU9PT0iYXV0aC1sb2dvdXQiKXt6Ni5maXJlRXZlbnQoKTtyZXR1cm59fWlmKGkocywib25DaGFubmVsTWVzc2FnZSIpLEF0LnRva2Vucyl7bGV0IGg9QXQudG9rZW5zO2lmKGgub3JpZ2luPT09QXQuZWRpdG9yT3JpZ2luKXJldHVybihhc3luYygpPT57aWYoIWF3YWl0IGguYWN0aXZhdGUoUkJlKSl7aWYoQXQudG9rZW5zIT09aClyZXR1cm47ejYuZmlyZUV2ZW50KCk7cmV0dXJufUF0LmF1dGhDb21wbGV0ZS5yZXNvbHZlKCl9KSgpLHtzdGF0dXM6ImF1dGhvcml6ZWQifTtvWCgpLEF0LnRva2Vucz1udWxsfWxldCBuPW5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpLHtzZWFyY2hQYXJhbXM6b309bixsPWkoKCk9PndpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSh7fSxkb2N1bWVudC50aXRsZSxuKSwidXBkYXRlVVJMIik7aWYoby5oYXModFgpKXtsZXQgaD1vLmdldCh0WCksdT1vLmdldChBQmUpO3JldHVybiBvLmRlbGV0ZSh0WCksby5kZWxldGUoQUJlKSxsKCksTEIoe3R5cGU6ImF1dGgtZmFpbGVkIixlcnJvcjpoLGRlc2NyaXB0aW9uOnV9KSx7c3RhdHVzOiJhdXRoLWZhaWxlZCIsZXJyb3I6aCxkZXNjcmlwdGlvbjp1fX1pZihvLmhhcyhlWCkpe2xldCBoPW8uZ2V0KGVYKSx1PUF0LmVkaXRvck9yaWdpbjtvLmRlbGV0ZShlWCksbCgpO2xldCBmPWxvY2FsU3RvcmFnZS5nZXRJdGVtKHJYKTtyZXR1cm4gZj8obG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oclgpLHNwLmZyb21BdXRoQ29kZSh7ZWRpdG9yT3JpZ2luOnUsY2xpZW50SWQ6QXQuY2xpZW50SWQsYXV0aENvZGU6aCxjb2RlVmVyaWZpZXI6ZixyZWRpcmVjdFVyaTpIZWEoKX0pLnRoZW4oYXN5bmMgcD0+e2lmKEF0LnRva2Vucz1wLEZCZShBdC50b2tlbnMpLCFhd2FpdCBBdC50b2tlbnMuYWN0aXZhdGUoUkJlKSl0aHJvdyBuZXcgRXJyb3I7QXQuYXV0aENvbXBsZXRlLnJlc29sdmUoKSxMQih7dHlwZToiYXV0aC1jb21wbGV0ZSJ9KX0pLmNhdGNoKHA9Pntjb25zb2xlLmVycm9yKHApLHo2LmZpcmVFdmVudCgpLExCKHt0eXBlOiJhdXRoLWxvZ291dCJ9KX0pLHtzdGF0dXM6ImF1dGhvcml6ZWQifSk6e3N0YXR1czoibmVlZC1hdXRoIn19cmV0dXJue3N0YXR1czoibmVlZC1hdXRoIn19LGFzeW5jIHN0YXJ0QXV0aEZsb3coe3BvcHVwOnR9PXt9KXtpZighQXQuaW5pdGlhbGl6ZWQpdGhyb3cgbmV3IEVycm9yKCJhdXRoLmluaXQgbXVzdCBiZSBjYWxsZWQgZmlyc3QiKTtpZih0KXtsb2NhbFN0b3JhZ2Uuc2V0SXRlbShpWCwidHJ1ZSIpO2xldCBlPTUwMCxhPTYyMCxyPXdpbmRvdy5zY3JlZW5MZWZ0Kyh3aW5kb3cub3V0ZXJXaWR0aC1hKS8yLHM9d2luZG93LnNjcmVlblRvcCsod2luZG93Lm91dGVySGVpZ2h0LWUpLzI7d2luZG93Lm9wZW4oYXdhaXQgcWVhKCksIl9ibGFuayIsYHBvcHVwLHdpZHRoPSR7YX0saGVpZ2h0PSR7ZX0sbGVmdD0ke3J9LHRvcD0ke3N9YCl9ZWxzZSB3aW5kb3cubG9jYXRpb24uaHJlZj1hd2FpdCBxZWEoKX0sYXN5bmMgbG9nb3V0KHtpZ25vcmVSZXZva2VFcnJvcjp0fT17fSl7YXdhaXQgQXQudG9rZW5zPy5yZXZva2UoQXQuY2xpZW50SWQsdD8/ITEpLHo2LmZpcmVFdmVudCgpLExCKHt0eXBlOiJhdXRoLWxvZ291dCJ9KX0sbG9nZ2VkSW4oKXtyZXR1cm4gQXQuYXV0aENvbXBsZXRlLnByb21pc2V9LG9uKHQsZSl7c3dpdGNoKHQpe2Nhc2UiYXV0aC1mYWlsZWQiOnJldHVybiBCZWEubGlzdGVuKGUpO2Nhc2UibG9nZ2VkLW91dCI6cmV0dXJuIHo2Lmxpc3RlbihlKTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgZXZlbnQgdHlwZSAnJHt0fScuYCl9fX07aShSQmUsIm9uRmFpbGVkVG9rZW5SZWZyZXNoIik7aShIZWEsImRlZmF1bHRSZWRpcmVjdFVyaSIpO2kocWVhLCJnZW5lcmF0ZU9BdXRoUmVxdWVzdCIpO2koRkJlLCJhc3NlcnRBdXRoVG9rZW5zIil9KTt2YXIgSG8sbFg9YygoKT0+eyhmdW5jdGlvbih0KXt0LlVuY2F1Z2h0RXhjZXB0aW9uPSJQUkVWSUVXX1VOQ0FVR0hUX0VYQ0VQVElPTiIsdC5VbmhhbmRsZWRSZWplY3Rpb249IlBSRVZJRVdfVU5IQU5ETEVEX1JFSkVDVElPTiIsdC5Db25zb2xlRXJyb3I9IlBSRVZJRVdfQ09OU09MRV9FUlJPUiJ9KShIb3x8KEhvPXt9KSl9KTtmdW5jdGlvbiBWQmUodCxlPXNlbGYpe2UuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsaShmdW5jdGlvbiBhKHIpe2lmKCFyfHwhci5kYXRhKXJldHVybjtsZXR7aWQ6cyx0eXBlOm4scGF0aDpvfT1PYmplY3QuYXNzaWduKHtwYXRoOltdfSxyLmRhdGEpLGw9KHIuZGF0YS5hcmd1bWVudExpc3R8fFtdKS5tYXAoUzYpLGg7dHJ5e2xldCB1PW8uc2xpY2UoMCwtMSkucmVkdWNlKChwLGcpPT5wW2ddLHQpLGY9by5yZWR1Y2UoKHAsZyk9PnBbZ10sdCk7c3dpdGNoKG4pe2Nhc2UgMDpoPWY7YnJlYWs7Y2FzZSAxOnVbby5zbGljZSgtMSlbMF1dPVM2KHIuZGF0YS52YWx1ZSksaD0hMDticmVhaztjYXNlIDI6aD1mLmFwcGx5KHUsbCk7YnJlYWs7Y2FzZSAzOntsZXQgcD1uZXcgZiguLi5sKTtoPVFlYShwKX1icmVhaztjYXNlIDQ6e2xldHtwb3J0MTpwLHBvcnQyOmd9PW5ldyBNZXNzYWdlQ2hhbm5lbDtWQmUodCxnKSxoPUtlYShwLFtwXSl9YnJlYWs7Y2FzZSA1Omg9dm9pZCAwO2JyZWFrfX1jYXRjaCh1KXtoPXt2YWx1ZTp1LFtIQmVdOjB9fVByb21pc2UucmVzb2x2ZShoKS5jYXRjaCh1PT4oe3ZhbHVlOnUsW0hCZV06MH0pKS50aGVuKHU9PntsZXRbZixwXT1VQmUodSk7ZS5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sZikse2lkOnN9KSxwKSxuPT09NSYmKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsYSksR2VhKGUpKX0pfSwiY2FsbGJhY2siKSksZS5zdGFydCYmZS5zdGFydCgpfWZ1bmN0aW9uIEJ2YSh0KXtyZXR1cm4gdC5jb25zdHJ1Y3Rvci5uYW1lPT09Ik1lc3NhZ2VQb3J0In1mdW5jdGlvbiBHZWEodCl7QnZhKHQpJiZ0LmNsb3NlKCl9ZnVuY3Rpb24gWWVhKHQsZSl7cmV0dXJuIGpCZSh0LFtdLGUpfWZ1bmN0aW9uIGNYKHQpe2lmKHQpdGhyb3cgbmV3IEVycm9yKCJQcm94eSBoYXMgYmVlbiByZWxlYXNlZCBhbmQgaXMgbm90IHVzZWFibGUiKX1mdW5jdGlvbiBqQmUodCxlPVtdLGE9ZnVuY3Rpb24oKXt9KXtsZXQgcj0hMSxzPW5ldyBQcm94eShhLHtnZXQobixvKXtpZihjWChyKSxvPT09VWVhKXJldHVybigpPT5vcCh0LHt0eXBlOjUscGF0aDplLm1hcChsPT5sLnRvU3RyaW5nKCkpfSkudGhlbigoKT0+e0dlYSh0KSxyPSEwfSk7aWYobz09PSJ0aGVuIil7aWYoZS5sZW5ndGg9PT0wKXJldHVybnt0aGVuOmkoKCk9PnMsInRoZW4iKX07bGV0IGw9b3AodCx7dHlwZTowLHBhdGg6ZS5tYXAoaD0+aC50b1N0cmluZygpKX0pLnRoZW4oUzYpO3JldHVybiBsLnRoZW4uYmluZChsKX1yZXR1cm4gakJlKHQsWy4uLmUsb10pfSxzZXQobixvLGwpe2NYKHIpO2xldFtoLHVdPVVCZShsKTtyZXR1cm4gb3AodCx7dHlwZToxLHBhdGg6Wy4uLmUsb10ubWFwKGY9PmYudG9TdHJpbmcoKSksdmFsdWU6aH0sdSkudGhlbihTNil9LGFwcGx5KG4sbyxsKXtjWChyKTtsZXQgaD1lW2UubGVuZ3RoLTFdO2lmKGg9PT1qZWEpcmV0dXJuIG9wKHQse3R5cGU6NH0pLnRoZW4oUzYpO2lmKGg9PT0iYmluZCIpcmV0dXJuIGpCZSh0LGUuc2xpY2UoMCwtMSkpO2xldFt1LGZdPVplYShsKTtyZXR1cm4gb3AodCx7dHlwZToyLHBhdGg6ZS5tYXAocD0+cC50b1N0cmluZygpKSxhcmd1bWVudExpc3Q6dX0sZikudGhlbihTNil9LGNvbnN0cnVjdChuLG8pe2NYKHIpO2xldFtsLGhdPVplYShvKTtyZXR1cm4gb3AodCx7dHlwZTozLHBhdGg6ZS5tYXAodT0+dS50b1N0cmluZygpKSxhcmd1bWVudExpc3Q6bH0saCkudGhlbihTNil9fSk7cmV0dXJuIHN9ZnVuY3Rpb24gSHZhKHQpe3JldHVybiBBcnJheS5wcm90b3R5cGUuY29uY2F0LmFwcGx5KFtdLHQpfWZ1bmN0aW9uIFplYSh0KXtsZXQgZT10Lm1hcChVQmUpO3JldHVybltlLm1hcChhPT5hWzBdKSxIdmEoZS5tYXAoYT0+YVsxXSkpXX1mdW5jdGlvbiBLZWEodCxlKXtyZXR1cm4gWGVhLnNldCh0LGUpLHR9ZnVuY3Rpb24gUWVhKHQpe3JldHVybiBPYmplY3QuYXNzaWduKHQse1tCQmVdOiEwfSl9ZnVuY3Rpb24gcXZhKHQsZT1zZWxmLGE9IioiKXtyZXR1cm57cG9zdE1lc3NhZ2U6aSgocixzKT0+dC5wb3N0TWVzc2FnZShyLGEscyksInBvc3RNZXNzYWdlIiksYWRkRXZlbnRMaXN0ZW5lcjplLmFkZEV2ZW50TGlzdGVuZXIuYmluZChlKSxyZW1vdmVFdmVudExpc3RlbmVyOmUucmVtb3ZlRXZlbnRMaXN0ZW5lci5iaW5kKGUpfX1mdW5jdGlvbiBVQmUodCl7Zm9yKGxldFtlLGFdb2YgcUJlKWlmKGEuY2FuSGFuZGxlKHQpKXtsZXRbcixzXT1hLnNlcmlhbGl6ZSh0KTtyZXR1cm5be3R5cGU6MyxuYW1lOmUsdmFsdWU6cn0sc119cmV0dXJuW3t0eXBlOjAsdmFsdWU6dH0sWGVhLmdldCh0KXx8W11dfWZ1bmN0aW9uIFM2KHQpe3N3aXRjaCh0LnR5cGUpe2Nhc2UgMzpyZXR1cm4gcUJlLmdldCh0Lm5hbWUpLmRlc2VyaWFsaXplKHQudmFsdWUpO2Nhc2UgMDpyZXR1cm4gdC52YWx1ZX19ZnVuY3Rpb24gb3AodCxlLGEpe3JldHVybiBuZXcgUHJvbWlzZShyPT57bGV0IHM9VnZhKCk7dC5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixpKGZ1bmN0aW9uIG4obyl7IW8uZGF0YXx8IW8uZGF0YS5pZHx8by5kYXRhLmlkIT09c3x8KHQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbikscihvLmRhdGEpKX0sImwiKSksdC5zdGFydCYmdC5zdGFydCgpLHQucG9zdE1lc3NhZ2UoT2JqZWN0LmFzc2lnbih7aWQ6c30sZSksYSl9KX1mdW5jdGlvbiBWdmEoKXtyZXR1cm4gbmV3IEFycmF5KDQpLmZpbGwoMCkubWFwKCgpPT5NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIpLnRvU3RyaW5nKDE2KSkuam9pbigiLSIpfXZhciBOdmEsUnZhLEppLEJCZSxqZWEsVWVhLEhCZSxXZWEsRnZhLE92YSxxQmUsWGVhLEplYT1jKCgpPT57TnZhPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxSdmE9aSgodCxlKT0+e2Zvcih2YXIgYSBpbiBlKU52YSh0LGEse2dldDplW2FdLGVudW1lcmFibGU6ITB9KX0sIl9fZXhwb3J0IiksSmk9e307UnZhKEppLHtjcmVhdGVFbmRwb2ludDppKCgpPT5qZWEsImNyZWF0ZUVuZHBvaW50IiksZXhwb3NlOmkoKCk9PlZCZSwiZXhwb3NlIikscHJveHk6aSgoKT0+UWVhLCJwcm94eSIpLHByb3h5TWFya2VyOmkoKCk9PkJCZSwicHJveHlNYXJrZXIiKSxyZWxlYXNlUHJveHk6aSgoKT0+VWVhLCJyZWxlYXNlUHJveHkiKSx0cmFuc2ZlcjppKCgpPT5LZWEsInRyYW5zZmVyIiksdHJhbnNmZXJIYW5kbGVyczppKCgpPT5xQmUsInRyYW5zZmVySGFuZGxlcnMiKSx3aW5kb3dFbmRwb2ludDppKCgpPT5xdmEsIndpbmRvd0VuZHBvaW50Iiksd3JhcDppKCgpPT5ZZWEsIndyYXAiKX0pO0JCZT1TeW1ib2woIkNvbWxpbmsucHJveHkiKSxqZWE9U3ltYm9sKCJDb21saW5rLmVuZHBvaW50IiksVWVhPVN5bWJvbCgiQ29tbGluay5yZWxlYXNlUHJveHkiKSxIQmU9U3ltYm9sKCJDb21saW5rLnRocm93biIpLFdlYT1pKHQ9PnR5cGVvZiB0PT0ib2JqZWN0IiYmdCE9PW51bGx8fHR5cGVvZiB0PT0iZnVuY3Rpb24iLCJpc09iamVjdCIpLEZ2YT17Y2FuSGFuZGxlOmkodD0+V2VhKHQpJiZ0W0JCZV0sImNhbkhhbmRsZSIpLHNlcmlhbGl6ZSh0KXtsZXR7cG9ydDE6ZSxwb3J0MjphfT1uZXcgTWVzc2FnZUNoYW5uZWw7cmV0dXJuIFZCZSh0LGUpLFthLFthXV19LGRlc2VyaWFsaXplKHQpe3JldHVybiB0LnN0YXJ0KCksWWVhKHQpfX0sT3ZhPXtjYW5IYW5kbGU6aSh0PT5XZWEodCkmJkhCZSBpbiB0LCJjYW5IYW5kbGUiKSxzZXJpYWxpemUoe3ZhbHVlOnR9KXtsZXQgZTtyZXR1cm4gdCBpbnN0YW5jZW9mIEVycm9yP2U9e2lzRXJyb3I6ITAsdmFsdWU6e21lc3NhZ2U6dC5tZXNzYWdlLG5hbWU6dC5uYW1lLHN0YWNrOnQuc3RhY2t9fTplPXtpc0Vycm9yOiExLHZhbHVlOnR9LFtlLFtdXX0sZGVzZXJpYWxpemUodCl7dGhyb3cgdC5pc0Vycm9yP09iamVjdC5hc3NpZ24obmV3IEVycm9yKHQudmFsdWUubWVzc2FnZSksdC52YWx1ZSk6dC52YWx1ZX19LHFCZT1uZXcgTWFwKFtbInByb3h5IixGdmFdLFsidGhyb3ciLE92YV1dKTtpKFZCZSwiZXhwb3NlIik7aShCdmEsImlzTWVzc2FnZVBvcnQiKTtpKEdlYSwiY2xvc2VFbmRQb2ludCIpO2koWWVhLCJ3cmFwIik7aShjWCwidGhyb3dJZlByb3h5UmVsZWFzZWQiKTtpKGpCZSwiY3JlYXRlUHJveHkiKTtpKEh2YSwibXlGbGF0Iik7aShaZWEsInByb2Nlc3NBcmd1bWVudHMiKTtYZWE9bmV3IFdlYWtNYXA7aShLZWEsInRyYW5zZmVyIik7aShRZWEsInByb3h5Iik7aShxdmEsIndpbmRvd0VuZHBvaW50Iik7aShVQmUsInRvV2lyZVZhbHVlIik7aShTNiwiZnJvbVdpcmVWYWx1ZSIpO2kob3AsInJlcXVlc3RSZXNwb25zZU1lc3NhZ2UiKTtpKFZ2YSwiZ2VuZXJhdGVVVUlEIil9KTt2YXIgZXRhPWMoKCk9Pnt9KTtmdW5jdGlvbiBXQmUodCl7cmV0dXJuISh0PT1udWxsfHx0eXBlb2YgdCE9Im9iamVjdCJ8fCEoInR5cGUiaW4gdCl8fCFqdmEuaW5jbHVkZXModC50eXBlKSl9dmFyIGp2YSx0dGE9YygoKT0+e2xYKCk7anZhPVtIby5Db25zb2xlRXJyb3IsSG8uVW5jYXVnaHRFeGNlcHRpb24sSG8uVW5oYW5kbGVkUmVqZWN0aW9uXTtpKFdCZSwiaXNQcmV2aWV3TWVzc2FnZSIpfSk7dmFyIEdCZT1jKCgpPT57ZXRhKCk7bFgoKTt0dGEoKX0pO2Z1bmN0aW9uIEM2KHQpe2xldCBlPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIHQ/T2JqZWN0LmFzc2lnbihlLHQpOmV9dmFyIGF0YT1jKCgpPT57aShDNiwibnVsbFByb3RvdHlwZSIpfSk7ZnVuY3Rpb24gWUJlKHQpe2xldCBlPXtkOnt9fTtmb3IobGV0IGEgb2YgT2JqZWN0LmtleXModCkpe2xldCByPXRbYV07aWYoImZpbGUiaW4gcil7aWYoInN5bWxpbmsiaW4gci5maWxlKXtlLmRbYV09e2Y6e2w6ci5maWxlLnN5bWxpbmt9fTtjb250aW51ZX1sZXQgbj1yLmZpbGUuY29udGVudHMsbz10eXBlb2Ygbj09InN0cmluZyI/bjpVdmEuZGVjb2RlKG4pLGw9dHlwZW9mIG49PSJzdHJpbmciP3t9OntiOiEwfTtlLmRbYV09e2Y6e2M6bywuLi5sfX07Y29udGludWV9bGV0IHM9WUJlKHIuZGlyZWN0b3J5KTtlLmRbYV09c31yZXR1cm4gZX1mdW5jdGlvbiBaQmUodCl7bGV0IGU9QzYoKTtpZigiZiJpbiB0KXRocm93IG5ldyBFcnJvcigiSXQgaXMgbm90IHBvc3NpYmxlIHRvIGV4cG9ydCBhIHNpbmdsZSBmaWxlIGluIHRoZSBKU09OIGZvcm1hdC4iKTtpZigiZCJpbiB0KWZvcihsZXQgYSBvZiBPYmplY3Qua2V5cyh0LmQpKXtsZXQgcj10LmRbYV07ImQiaW4gcj9lW2FdPUM2KHtkaXJlY3Rvcnk6WkJlKHIpfSk6ImYiaW4gciYmKCJjImluIHIuZj9lW2FdPUM2KHtmaWxlOkM2KHtjb250ZW50czpyLmYuYj9XdmEoci5mLmMpOnIuZi5jfSl9KToibCJpbiByLmYmJihlW2FdPUM2KHtmaWxlOkM2KHtzeW1saW5rOnIuZi5sfSl9KSkpfXJldHVybiBlfWZ1bmN0aW9uIFd2YSh0KXtsZXQgZT1uZXcgVWludDhBcnJheSh0Lmxlbmd0aCk7Zm9yKGxldCBhPTA7YTx0Lmxlbmd0aDthKyspZVthXT10W2FdLmNoYXJDb2RlQXQoMCk7cmV0dXJuIGV9dmFyIFV2YSxydGE9YygoKT0+e2F0YSgpO1V2YT1uZXcgVGV4dERlY29kZXIoImxhdGluMSIpO2koWUJlLCJ0b0ludGVybmFsRmlsZVN5c3RlbVRyZWUiKTtpKFpCZSwidG9FeHRlcm5hbEZpbGVTeXN0ZW1UcmVlIik7aShXdmEsImZyb21CaW5hcnlTdHJpbmciKX0pO2Z1bmN0aW9uIHROaSh0KXtpZihBdC5ib290Q2FsbGVkKXRocm93IG5ldyBFcnJvcigiYGNvbmZpZ3VyZUFQSUtleWAgc2hvdWxkIGFsd2F5cyBiZSBjYWxsZWQgYmVmb3JlIGBXZWJDb250YWluZXIuYm9vdGAiKTtCby5zZXRRdWVyeVBhcmFtKCJjbGllbnRfaWQiLHQpfWFzeW5jIGZ1bmN0aW9uIFh2YSh0KXtsZXR7c2VydmVyUHJvbWlzZTplfT1LdmEodCkscj1hd2FpdChhd2FpdCBlKS5idWlsZCh7aG9zdDp3aW5kb3cubG9jYXRpb24uaG9zdCx2ZXJzaW9uOiIxLjYuMSIsd29ya2Rpck5hbWU6dC53b3JrZGlyTmFtZSxmb3J3YXJkUHJldmlld0Vycm9yczp0LmZvcndhcmRQcmV2aWV3RXJyb3JzfSksW3MsbixvXT1hd2FpdCBQcm9taXNlLmFsbChbci5mcygpLHIucHJldmlld1NjcmlwdCgpLHIucnVudGltZUluZm8oKV0pO3JldHVybiBuZXcgJEIocixzLG4sbyl9ZnVuY3Rpb24gdEhlKHQpe2lmKHQhPW51bGwpcmV0dXJuIGU9PntlIGluc3RhbmNlb2YgVWludDhBcnJheT90KGl0YS5kZWNvZGUoZSkpOmU9PW51bGwmJnQobnVsbCl9fWZ1bmN0aW9uIHVYKHQpe2lmKHQhPW51bGwpcmV0dXJuIEppLnByb3h5KHQpfWZ1bmN0aW9uIEt2YSh0KXtpZihwWCE9bnVsbClyZXR1cm4gdC5jb2VwIT09WEJlLmNvZXAmJihjb25zb2xlLndhcm4oYEF0dGVtcHRpbmcgdG8gYm9vdCBXZWJDb250YWluZXIgd2l0aCAnY29lcDogJHt0LmNvZXB9J2ApLGNvbnNvbGUud2FybihgRmlyc3QgYm9vdCBoYWQgJ2NvZXA6ICR7WEJlLmNvZXB9JywgbmV3IHNldHRpbmdzIHdpbGwgbm90IHRha2UgZWZmZWN0IWApKSx7c2VydmVyUHJvbWlzZTpwWH07dC5jb2VwJiZCby5zZXRRdWVyeVBhcmFtKCJjb2VwIix0LmNvZXApLHQuZXhwZXJpbWVudGFsTm9kZSYmQm8uc2V0UXVlcnlQYXJhbSgiZXhwZXJpbWVudGFsX25vZGUiLCIxIik7bGV0IGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaWZyYW1lIik7ZS5zdHlsZS5kaXNwbGF5PSJub25lIixlLnNldEF0dHJpYnV0ZSgiYWxsb3ciLCJjcm9zcy1vcmlnaW4taXNvbGF0ZWQiKTtsZXQgYT1Cby51cmw7ZS5zcmM9YS50b1N0cmluZygpO2xldHtvcmlnaW46cn09YTtyZXR1cm4gWEJlPXsuLi50fSxwWD1uZXcgUHJvbWlzZShzPT57bGV0IG49aShvPT57aWYoby5vcmlnaW4hPT1yKXJldHVybjtsZXR7ZGF0YTpsfT1vO2lmKGwudHlwZT09PSJpbml0Iil7cyhKaS53cmFwKG8ucG9ydHNbMF0pKTtyZXR1cm59aWYobC50eXBlPT09Indhcm5pbmciKXtjb25zb2xlW2wubGV2ZWxdLmNhbGwoY29uc29sZSxsLm1lc3NhZ2UpO3JldHVybn19LCJvbk1lc3NhZ2UiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbil9KSxkb2N1bWVudC5ib2R5Lmluc2VydEJlZm9yZShlLG51bGwpLHtzZXJ2ZXJQcm9taXNlOnBYfX1mdW5jdGlvbiBRdmEodCl7cmV0dXJuIHR5cGVvZiB0WzBdPT0ic3RyaW5nIn1mdW5jdGlvbiBKdmEodCl7cmV0dXJuIHRbMF1pbnN0YW5jZW9mIFVpbnQ4QXJyYXl9ZnVuY3Rpb24gZXhhKCl7bGV0IHQ9bnVsbDtyZXR1cm57c3RyZWFtOm5ldyBSZWFkYWJsZVN0cmVhbSh7c3RhcnQocil7dD1yfX0pLHB1c2g6aShyPT57ciE9bnVsbD90Py5lbnF1ZXVlKHIpOih0Py5jbG9zZSgpLHQ9bnVsbCl9LCJwdXNoIil9fWZ1bmN0aW9uIHR4YSh0KXtsZXQgZT0hMSxhPWkoKCk9Pnt9LCJ1bnN1YnNjcmliZSIpO3JldHVybntzdWJzY3JpYmUocyl7cmV0dXJuIHMudGhlbihuPT57YT1uLGUmJmEoKX0pLCgpPT57ZT0hMCxhKCl9fSxsaXN0ZW5lcjppKCgoLi4ucyk9PntlfHx0KC4uLnMpfSksIndyYXBwZWQiKX19dmFyIGVOaSxkWCxwWCxYQmUsaXRhLEd2YSwkQixZdmEsWnZhLEtCZSxRQmUsSkJlLGVIZSxzdGE9YygoKT0+e09CZSgpO2xYKCk7SmVhKCk7T0JlKCk7RUJlKCk7TkJlKCk7R0JlKCk7cnRhKCk7R0JlKCk7ZU5pPVZlYSxkWD1udWxsLHBYPW51bGwsWEJlPXt9LGl0YT1uZXcgVGV4dERlY29kZXIsR3ZhPW5ldyBUZXh0RW5jb2RlciwkQj1jbGFzcyB0e3N0YXRpY3tpKHRoaXMsIldlYkNvbnRhaW5lciIpfV9pbnN0YW5jZTtfcnVudGltZUluZm87ZnM7c3RhdGljIF9pbnN0YW5jZT1udWxsO3N0YXRpYyBfdGVhcmRvd25Qcm9taXNlPW51bGw7X3Rvcm5Eb3duPSExO191bnN1YnNjcmliZUZyb21Ub2tlbkNoYW5nZWRMaXN0ZW5lcj1pKCgpPT57fSwiX3Vuc3Vic2NyaWJlRnJvbVRva2VuQ2hhbmdlZExpc3RlbmVyIik7Y29uc3RydWN0b3IoZSxhLHIscyl7dGhpcy5faW5zdGFuY2U9ZSx0aGlzLl9ydW50aW1lSW5mbz1zLHRoaXMuZnM9bmV3IGVIZShhKSxBdC5pbml0aWFsaXplZCYmKHRoaXMuX3Vuc3Vic2NyaWJlRnJvbVRva2VuQ2hhbmdlZExpc3RlbmVyPUVlYShuPT57dGhpcy5faW5zdGFuY2Uuc2V0Q3JlZGVudGlhbHMoe2FjY2Vzc1Rva2VuOm4sZWRpdG9yT3JpZ2luOkF0LmVkaXRvck9yaWdpbn0pfSksKGFzeW5jKCk9Pnthd2FpdCBBdC5hdXRoQ29tcGxldGUucHJvbWlzZSwhdGhpcy5fdG9ybkRvd24mJihGQmUoQXQudG9rZW5zKSxhd2FpdCB0aGlzLl9pbnN0YW5jZS5zZXRDcmVkZW50aWFscyh7YWNjZXNzVG9rZW46QXQudG9rZW5zLmFjY2VzcyxlZGl0b3JPcmlnaW46QXQuZWRpdG9yT3JpZ2lufSkpfSkoKS5jYXRjaChuPT57Y29uc29sZS5lcnJvcihuKX0pKX1hc3luYyBzcGF3bihlLGEscil7bGV0IHM9W107QXJyYXkuaXNBcnJheShhKT9zPWE6cj1hO2xldCBuLG89bmV3IFJlYWRhYmxlU3RyZWFtO2lmKHI/Lm91dHB1dCE9PSExKXtsZXQgYj1leGEoKTtuPWIucHVzaCxvPWIuc3RyZWFtfWxldCBsLGgsdSxmLHA9dVgodEhlKG4pKSxnPXVYKHRIZShsKSksdj11WCh0SGUodSkpLHg9YXdhaXQgdGhpcy5faW5zdGFuY2UucnVuKHtjb21tYW5kOmUsYXJnczpzLGN3ZDpyPy5jd2QsZW52OnI/LmVudix0ZXJtaW5hbDpyPy50ZXJtaW5hbH0sZyx2LHApO3JldHVybiBuZXcgSkJlKHgsbyxoLGYpfWFzeW5jIGV4cG9ydChlLGEpe2xldCByPXtmb3JtYXQ6YT8uZm9ybWF0Pz8ianNvbiIsaW5jbHVkZXM6YT8uaW5jbHVkZXMsZXhjbHVkZXM6YT8uZXhjbHVkZXMsZXh0ZXJuYWw6ITB9LHM9YXdhaXQgdGhpcy5faW5zdGFuY2Uuc2VyaWFsaXplKGUscik7aWYoci5mb3JtYXQ9PT0ianNvbiIpe2xldCBuPUpTT04ucGFyc2UoaXRhLmRlY29kZShzKSk7cmV0dXJuIFpCZShuKX1yZXR1cm4gc31vbihlLGEpe2lmKGU9PT0icHJldmlldy1tZXNzYWdlIil7bGV0IG49YTthPWkoKG89PntXQmUobykmJm4obyl9KSwibGlzdGVuZXIiKX1sZXR7bGlzdGVuZXI6cixzdWJzY3JpYmU6c309dHhhKGEpO3JldHVybiBzKHRoaXMuX2luc3RhbmNlLm9uKGUsSmkucHJveHkocikpKX1tb3VudChlLGEpe2xldCByPWUgaW5zdGFuY2VvZiBVaW50OEFycmF5P2U6ZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyP25ldyBVaW50OEFycmF5KGUpOkd2YS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoWUJlKGUpKSk7cmV0dXJuIHRoaXMuX2luc3RhbmNlLmxvYWRGaWxlcyhKaS50cmFuc2ZlcihyLFtyLmJ1ZmZlcl0pLHttb3VudFBvaW50czphPy5tb3VudFBvaW50fSl9c2V0UHJldmlld1NjcmlwdChlLGEpe3JldHVybiB0aGlzLl9pbnN0YW5jZS5zZXRQcmV2aWV3U2NyaXB0KGUsYSl9Z2V0IHBhdGgoKXtyZXR1cm4gdGhpcy5fcnVudGltZUluZm8ucGF0aH1nZXQgd29ya2Rpcigpe3JldHVybiB0aGlzLl9ydW50aW1lSW5mby5jd2R9dGVhcmRvd24oKXtpZih0aGlzLl90b3JuRG93bil0aHJvdyBuZXcgRXJyb3IoIldlYkNvbnRhaW5lciBhbHJlYWR5IHRvcm4gZG93biIpO3RoaXMuX3Rvcm5Eb3duPSEwLHRoaXMuX3Vuc3Vic2NyaWJlRnJvbVRva2VuQ2hhbmdlZExpc3RlbmVyKCk7bGV0IGU9aShhc3luYygpPT57dHJ5e2F3YWl0IHRoaXMuZnMuX3RlYXJkb3duKCksYXdhaXQgdGhpcy5faW5zdGFuY2UudGVhcmRvd24oKX1maW5hbGx5e3RoaXMuX2luc3RhbmNlW0ppLnJlbGVhc2VQcm94eV0oKSx0Ll9pbnN0YW5jZT09PXRoaXMmJih0Ll9pbnN0YW5jZT1udWxsKX19LCJ0ZWFyZG93bkZuIik7dC5fdGVhcmRvd25Qcm9taXNlPWUoKX1zdGF0aWMgYXN5bmMgYm9vdChlPXt9KXthd2FpdCB0aGlzLl90ZWFyZG93blByb21pc2UsdC5fdGVhcmRvd25Qcm9taXNlPW51bGw7bGV0e3dvcmtkaXJOYW1lOmF9PWU7aWYod2luZG93LmNyb3NzT3JpZ2luSXNvbGF0ZWQmJmUuY29lcD09PSJub25lIiYmY29uc29sZS53YXJuKGBBIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kgaGVhZGVyIGlzIHJlcXVpcmVkIGluIGNyb3NzIG9yaWdpbiBpc29sYXRlZCBlbnZpcm9ubWVudHMuClNldCB0aGUgJ2NvZXAnIG9wdGlvbiB0byAncmVxdWlyZS1jb3JwJy5gKSxhPy5pbmNsdWRlcygiLyIpfHxhPT09Ii4uInx8YT09PSIuIil0aHJvdyBuZXcgRXJyb3IoIndvcmtkaXJOYW1lIHNob3VsZCBiZSBhIHZhbGlkIGZvbGRlciBuYW1lIik7Zm9yKEF0LmJvb3RDYWxsZWQ9ITA7ZFg7KWF3YWl0IGRYO2lmKHQuX2luc3RhbmNlKXRocm93IG5ldyBFcnJvcigiT25seSBhIHNpbmdsZSBXZWJDb250YWluZXIgaW5zdGFuY2UgY2FuIGJlIGJvb3RlZCIpO2xldCByPVh2YShlKTtkWD1yLmNhdGNoKCgpPT57fSk7dHJ5e2xldCBzPWF3YWl0IHI7cmV0dXJuIHQuX2luc3RhbmNlPXMsc31maW5hbGx5e2RYPW51bGx9fX07aSh0TmksImNvbmZpZ3VyZUFQSUtleSIpO1l2YT0xLFp2YT0yLEtCZT1jbGFzc3tzdGF0aWN7aSh0aGlzLCJEaXJFbnRJbXBsIil9bmFtZTtfdHlwZTtjb25zdHJ1Y3RvcihlLGEpe3RoaXMubmFtZT1lLHRoaXMuX3R5cGU9YX1pc0ZpbGUoKXtyZXR1cm4gdGhpcy5fdHlwZT09PVl2YX1pc0RpcmVjdG9yeSgpe3JldHVybiB0aGlzLl90eXBlPT09WnZhfX0sUUJlPWNsYXNze3N0YXRpY3tpKHRoaXMsIkZTV2F0Y2hlciIpfV9hcGlDbGllbnQ7X3BhdGg7X29wdGlvbnM7X2xpc3RlbmVyO193cmFwcGVkTGlzdGVuZXI7X3dhdGNoZXI7X2Nsb3NlZD0hMTtjb25zdHJ1Y3RvcihlLGEscixzKXt0aGlzLl9hcGlDbGllbnQ9ZSx0aGlzLl9wYXRoPWEsdGhpcy5fb3B0aW9ucz1yLHRoaXMuX2xpc3RlbmVyPXMsdGhpcy5fYXBpQ2xpZW50Ll93YXRjaGVycy5hZGQodGhpcyksdGhpcy5fd3JhcHBlZExpc3RlbmVyPShuLG8pPT57dGhpcy5fbGlzdGVuZXImJiF0aGlzLl9jbG9zZWQmJnRoaXMuX2xpc3RlbmVyKG4sbyl9LHRoaXMuX2FwaUNsaWVudC5fZnMud2F0Y2godGhpcy5fcGF0aCx0aGlzLl9vcHRpb25zLHVYKHRoaXMuX3dyYXBwZWRMaXN0ZW5lcikpLnRoZW4obj0+e2lmKHRoaXMuX3dhdGNoZXI9bix0aGlzLl9jbG9zZWQpcmV0dXJuIHRoaXMuX3RlYXJkb3duKCl9KS5jYXRjaChjb25zb2xlLmVycm9yKX1hc3luYyBjbG9zZSgpe3RoaXMuX2Nsb3NlZHx8KHRoaXMuX2Nsb3NlZD0hMCx0aGlzLl9hcGlDbGllbnQuX3dhdGNoZXJzLmRlbGV0ZSh0aGlzKSxhd2FpdCB0aGlzLl90ZWFyZG93bigpKX1hc3luYyBfdGVhcmRvd24oKXthd2FpdCB0aGlzLl93YXRjaGVyPy5jbG9zZSgpLmZpbmFsbHkoKCk9Pnt0aGlzLl93YXRjaGVyPy5bSmkucmVsZWFzZVByb3h5XSgpfSl9fSxKQmU9Y2xhc3N7c3RhdGlje2kodGhpcywiV2ViQ29udGFpbmVyUHJvY2Vzc0ltcGwiKX1vdXRwdXQ7aW5wdXQ7ZXhpdDtfcHJvY2VzcztzdGRvdXQ7c3RkZXJyO2NvbnN0cnVjdG9yKGUsYSxyLHMpe3RoaXMub3V0cHV0PWEsdGhpcy5fcHJvY2Vzcz1lLHRoaXMuaW5wdXQ9bmV3IFdyaXRhYmxlU3RyZWFtKHt3cml0ZTppKG49Pnt0aGlzLl9nZXRQcm9jZXNzKCk/LndyaXRlKG4pLmNhdGNoKCgpPT57fSl9LCJ3cml0ZSIpfSksdGhpcy5leGl0PXRoaXMuX29uRXhpdCgpLHRoaXMuc3Rkb3V0PXIsdGhpcy5zdGRlcnI9c31raWxsKCl7dGhpcy5fcHJvY2Vzcz8ua2lsbCgpfXJlc2l6ZShlKXt0aGlzLl9nZXRQcm9jZXNzKCk/LnJlc2l6ZShlKX1hc3luYyBfb25FeGl0KCl7dHJ5e3JldHVybiBhd2FpdCB0aGlzLl9wcm9jZXNzLm9uRXhpdH1maW5hbGx5e3RoaXMuX3Byb2Nlc3M/LltKaS5yZWxlYXNlUHJveHldKCksdGhpcy5fcHJvY2Vzcz1udWxsfX1fZ2V0UHJvY2Vzcygpe3JldHVybiB0aGlzLl9wcm9jZXNzPT1udWxsJiZjb25zb2xlLndhcm4oIlRoaXMgcHJvY2VzcyBhbHJlYWR5IGV4aXRlZCIpLHRoaXMuX3Byb2Nlc3N9fSxlSGU9Y2xhc3N7c3RhdGlje2kodGhpcywiRmlsZVN5c3RlbUFQSUNsaWVudCIpfV9mcztfd2F0Y2hlcnM9bmV3IFNldChbXSk7Y29uc3RydWN0b3IoZSl7dGhpcy5fZnM9ZX1ybSguLi5lKXtyZXR1cm4gdGhpcy5fZnMucm0oLi4uZSl9YXN5bmMgcmVhZEZpbGUoZSxhKXtyZXR1cm4gYXdhaXQgdGhpcy5fZnMucmVhZEZpbGUoZSxhKX1hc3luYyByZW5hbWUoZSxhKXtyZXR1cm4gYXdhaXQgdGhpcy5fZnMucmVuYW1lKGUsYSl9YXN5bmMgd3JpdGVGaWxlKGUsYSxyKXtpZihhIGluc3RhbmNlb2YgVWludDhBcnJheSl7bGV0IHM9YS5idWZmZXIuc2xpY2UoYS5ieXRlT2Zmc2V0LGEuYnl0ZU9mZnNldCthLmJ5dGVMZW5ndGgpO2E9SmkudHJhbnNmZXIobmV3IFVpbnQ4QXJyYXkocyksW3NdKX1hd2FpdCB0aGlzLl9mcy53cml0ZUZpbGUoZSxhLHIpfWFzeW5jIHJlYWRkaXIoZSxhKXtsZXQgcj1hd2FpdCB0aGlzLl9mcy5yZWFkZGlyKGUsYSk7cmV0dXJuIFF2YShyKXx8SnZhKHIpP3I6ci5tYXAobj0+bmV3IEtCZShuLm5hbWUsblsiU3ltYm9sKHR5cGUpIl0pKX1hc3luYyBta2RpcihlLGEpe3JldHVybiBhd2FpdCB0aGlzLl9mcy5ta2RpcihlLGEpfXdhdGNoKGUsYSxyKXtyZXR1cm4gdHlwZW9mIGE9PSJmdW5jdGlvbiImJihyPWEsYT1udWxsKSxuZXcgUUJlKHRoaXMsZSxhLHIpfWFzeW5jIF90ZWFyZG93bigpe3RoaXMuX2ZzW0ppLnJlbGVhc2VQcm94eV0oKSxhd2FpdCBQcm9taXNlLmFsbChbLi4udGhpcy5fd2F0Y2hlcnNdLm1hcChlPT5lLmNsb3NlKCkpKX19O2koWHZhLCJ1bnN5bmNocm9uaXplZEJvb3QiKTtpKHRIZSwiYmluYXJ5TGlzdGVuZXIiKTtpKHVYLCJwcm94eUxpc3RlbmVyIik7aShLdmEsInNlcnZlckZhY3RvcnkiKTtpKFF2YSwiaXNTdHJpbmdBcnJheSIpO2koSnZhLCJpc1R5cGVkQXJyYXlDb2xsZWN0aW9uIik7aShleGEsInN0cmVhbVdpdGhQdXNoIik7aSh0eGEsInN5bmNTdWJzY3JpcHRpb24iKX0pO3ZhciBfNixvdGE9YygoKT0+e3N0YSgpO182PWNsYXNzIHR7c3RhdGlje2kodGhpcywiV2ViQ29udGFpbmVyRW52aXJvbm1lbnQiKX1zdGF0aWMgc2hhcmVkQ29udGFpbmVyPW51bGw7c3RhdGljIGJvb3RQcm9taXNlPW51bGw7X3JlYWR5PSExO3R5cGU9IndlYmNvbnRhaW5lciI7Z2V0IHJlYWR5KCl7cmV0dXJuIHRoaXMuX3JlYWR5fWdldCBjb250YWluZXIoKXtyZXR1cm4gdC5zaGFyZWRDb250YWluZXJ9YXN5bmMgaW5pdCgpe2lmKCEodGhpcy5fcmVhZHkmJnQuc2hhcmVkQ29udGFpbmVyKSl7aWYodC5ib290UHJvbWlzZSl7YXdhaXQgdC5ib290UHJvbWlzZSx0aGlzLl9yZWFkeT0hMDtyZXR1cm59aWYodC5zaGFyZWRDb250YWluZXIpe3RoaXMuX3JlYWR5PSEwO3JldHVybn1pZih0eXBlb2YgU2hhcmVkQXJyYXlCdWZmZXI+InUiKXRocm93IG5ldyBFcnJvcihgV2ViQ29udGFpbmVyIHJlcXVpcmVzIFNoYXJlZEFycmF5QnVmZmVyIHdoaWNoIGlzIG5vdCBhdmFpbGFibGUuIEVuc3VyZSB5b3VyIHNlcnZlciBzZW5kcyB0aGVzZSBoZWFkZXJzOgogIENyb3NzLU9yaWdpbi1PcGVuZXItUG9saWN5OiBzYW1lLW9yaWdpbgogIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3k6IHJlcXVpcmUtY29ycGApO3QuYm9vdFByb21pc2U9JEIuYm9vdCgpO3RyeXt0LnNoYXJlZENvbnRhaW5lcj1hd2FpdCB0LmJvb3RQcm9taXNlLHRoaXMuX3JlYWR5PSEwfWNhdGNoKGUpe3Rocm93IHQuYm9vdFByb21pc2U9bnVsbCxlfX19YXN5bmMgZGVzdHJveSgpe3Quc2hhcmVkQ29udGFpbmVyJiYodC5zaGFyZWRDb250YWluZXIudGVhcmRvd24oKSx0LnNoYXJlZENvbnRhaW5lcj1udWxsLHQuYm9vdFByb21pc2U9bnVsbCx0aGlzLl9yZWFkeT0hMSl9YXN5bmMgcmVhZEZpbGUoZSl7cmV0dXJuIHRoaXMuZW5zdXJlUmVhZHkoKSxhd2FpdCB0aGlzLmNvbnRhaW5lci5mcy5yZWFkRmlsZShlLCJ1dGYtOCIpfWFzeW5jIHdyaXRlRmlsZShlLGEpe3RoaXMuZW5zdXJlUmVhZHkoKSxhd2FpdCB0aGlzLmNvbnRhaW5lci5mcy53cml0ZUZpbGUoZSxhLCJ1dGYtOCIpfWFzeW5jIHJlYWREaXIoZSl7cmV0dXJuIHRoaXMuZW5zdXJlUmVhZHkoKSwoYXdhaXQgdGhpcy5jb250YWluZXIuZnMucmVhZGRpcihlLHt3aXRoRmlsZVR5cGVzOiEwfSkpLm1hcChyPT4oe3R5cGU6ci5pc0RpcmVjdG9yeSgpPyJkaXJlY3RvcnkiOiJmaWxlIixuYW1lOnIubmFtZSxwYXRoOmU9PT0iLyI/YC8ke3IubmFtZX1gOmAke2V9LyR7ci5uYW1lfWB9KSl9YXN5bmMgbWtkaXIoZSl7dGhpcy5lbnN1cmVSZWFkeSgpLGF3YWl0IHRoaXMuY29udGFpbmVyLmZzLm1rZGlyKGUse3JlY3Vyc2l2ZTohMH0pfWFzeW5jIHJtKGUsYSl7dGhpcy5lbnN1cmVSZWFkeSgpLGF3YWl0IHRoaXMuY29udGFpbmVyLmZzLnJtKGUse3JlY3Vyc2l2ZTphPy5yZWN1cnNpdmU/PyExfSl9YXN5bmMgZXhpc3RzKGUpe3RoaXMuZW5zdXJlUmVhZHkoKTt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuY29udGFpbmVyLmZzLnJlYWRGaWxlKGUpLCEwfWNhdGNoe3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5jb250YWluZXIuZnMucmVhZGRpcihlKSwhMH1jYXRjaHtyZXR1cm4hMX19fXdhdGNoKGUsYSxyKXt0aGlzLmVuc3VyZVJlYWR5KCk7bGV0IHM9dGhpcy5jb250YWluZXIuZnMud2F0Y2goZSx7cmVjdXJzaXZlOnI/LnJlY3Vyc2l2ZT8/ITF9LGEpO3JldHVybntzdG9wOmkoKCk9PnMuY2xvc2UoKSwic3RvcCIpfX1hc3luYyBzcGF3bihlLGE9W10pe3RoaXMuZW5zdXJlUmVhZHkoKTtsZXQgcj1hd2FpdCB0aGlzLmNvbnRhaW5lci5zcGF3bihlLGEpO3JldHVybntvdXRwdXQ6ci5vdXRwdXQsaW5wdXQ6ci5pbnB1dCxleGl0OnIuZXhpdCxraWxsOmkoKCk9PnIua2lsbCgpLCJraWxsIil9fWFzeW5jIG1vdW50KGUpe3RoaXMuZW5zdXJlUmVhZHkoKSxhd2FpdCB0aGlzLmNvbnRhaW5lci5tb3VudChlKX1nZXRDb250YWluZXIoKXtyZXR1cm4gdGhpcy5lbnN1cmVSZWFkeSgpLHRoaXMuY29udGFpbmVyfWVuc3VyZVJlYWR5KCl7aWYoIXRoaXMuX3JlYWR5fHwhdGhpcy5jb250YWluZXIpdGhyb3cgbmV3IEVycm9yKCJXZWJDb250YWluZXJFbnZpcm9ubWVudCBub3QgaW5pdGlhbGl6ZWQuIENhbGwgaW5pdCgpIGZpcnN0LiIpfX19KTt2YXIgbnRhPWMoKCk9PntvdGEoKX0pO3ZhciBmWD1jKCgpPT57X2VhKCk7bnRhKCl9KTt2YXIgbHRhPWMoKCk9Pnt2T2UoKX0pO3ZhciBEQixhSGU9YygoKT0+e0RCPWNsYXNze3N0YXRpY3tpKHRoaXMsIlRlcm1pbmFsVGFiTWFuYWdlciIpfXRhYnM9bmV3IE1hcDt0YWJDb3VudGVyPTA7eHRlcm1CdW5kbGU9bnVsbDt4dGVybUZpdEFkZG9uQnVuZGxlPW51bGw7c2V0WHRlcm1Nb2R1bGVzKGUsYSl7dGhpcy54dGVybUJ1bmRsZT1lLHRoaXMueHRlcm1GaXRBZGRvbkJ1bmRsZT1hfWdlbmVyYXRlVGFiSWQoKXtyZXR1cm4gdGhpcy50YWJDb3VudGVyKyssYHRlcm1pbmFsLSR7dGhpcy50YWJDb3VudGVyfS0ke0RhdGUubm93KCl9YH1nZXREZWZhdWx0TGFiZWwoZSxhKXtzd2l0Y2goZSl7Y2FzZSJzaGVsbCI6cmV0dXJuImJhc2giO2Nhc2Uic2NyaXB0IjpyZXR1cm4gYT8uc2NyaXB0TmFtZXx8InNjcmlwdCI7Y2FzZSJwYWNrYWdlLXVwZGF0ZSI6cmV0dXJuIGE/LnBhY2thZ2VOYW1lP2B1cGRhdGUgJHthLnBhY2thZ2VOYW1lfWA6InVwZGF0ZSI7Y2FzZSJjdXN0b20iOnJldHVybiBhPy5jb21tYW5kfHwicHJvY2VzcyI7ZGVmYXVsdDpyZXR1cm4idGVybWluYWwifX1nZXREZWZhdWx0SWNvbihlKXtzd2l0Y2goZSl7Y2FzZSJzaGVsbCI6cmV0dXJuImx1Y2lkZTp0ZXJtaW5hbCI7Y2FzZSJzY3JpcHQiOnJldHVybiJsdWNpZGU6cGxheSI7Y2FzZSJwYWNrYWdlLXVwZGF0ZSI6cmV0dXJuImx1Y2lkZTpwYWNrYWdlQ2hlY2siO2Nhc2UiY3VzdG9tIjpyZXR1cm4ibHVjaWRlOmNvZGUiO2RlZmF1bHQ6cmV0dXJuImx1Y2lkZTp0ZXJtaW5hbCJ9fWdldFRlcm1pbmFsVGhlbWUoZSl7cmV0dXJuIGU/e2JhY2tncm91bmQ6IiNmZmZmZmYiLGZvcmVncm91bmQ6IiMzMzMzMzMiLGN1cnNvcjoiIzMzMzMzMyIsY3Vyc29yQWNjZW50OiIjZmZmZmZmIixzZWxlY3Rpb246InJnYmEoMCwgMCwgMCwgMC4yKSIsYmxhY2s6IiMwMDAwMDAiLHJlZDoiI2NkMzEzMSIsZ3JlZW46IiMwMGJjMDAiLHllbGxvdzoiIzk0OTgwMCIsYmx1ZToiIzA0NTFhNSIsbWFnZW50YToiI2JjMDViYyIsY3lhbjoiIzA1OThiYyIsd2hpdGU6IiM1NTU1NTUiLGJyaWdodEJsYWNrOiIjNjY2NjY2IixicmlnaHRSZWQ6IiNjZDMxMzEiLGJyaWdodEdyZWVuOiIjMTRjZTE0IixicmlnaHRZZWxsb3c6IiNiNWJhMDAiLGJyaWdodEJsdWU6IiMwNDUxYTUiLGJyaWdodE1hZ2VudGE6IiNiYzA1YmMiLGJyaWdodEN5YW46IiMwNTk4YmMiLGJyaWdodFdoaXRlOiIjYTVhNWE1In06e2JhY2tncm91bmQ6IiMwMDAwMDAiLGZvcmVncm91bmQ6IiNmZmZmZmYiLGN1cnNvcjoiI2ZmZmZmZiIsY3Vyc29yQWNjZW50OiIjMDAwMDAwIixzZWxlY3Rpb246InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSJ9fWNyZWF0ZVRhYihlLGEpe2lmKCF0aGlzLnh0ZXJtQnVuZGxlfHwhdGhpcy54dGVybUZpdEFkZG9uQnVuZGxlKXRocm93IG5ldyBFcnJvcigiVGVybWluYWxUYWJNYW5hZ2VyOiB4dGVybSBtb2R1bGVzIG5vdCBpbml0aWFsaXplZC4gQ2FsbCBzZXRYdGVybU1vZHVsZXMoKSBmaXJzdC4iKTtsZXQgcj10aGlzLmdlbmVyYXRlVGFiSWQoKSxzPWUudHlwZSxuPW5ldyB0aGlzLnh0ZXJtQnVuZGxlLlRlcm1pbmFsKHtjb252ZXJ0RW9sOiEwLGN1cnNvckJsaW5rOiEwLHRoZW1lOnRoaXMuZ2V0VGVybWluYWxUaGVtZShhKSxmb250RmFtaWx5OidNZW5sbywgTW9uYWNvLCAiQ291cmllciBOZXciLCBtb25vc3BhY2UnLGZvbnRTaXplOjEzLGxpbmVIZWlnaHQ6MS4yfSksbz1uZXcgdGhpcy54dGVybUZpdEFkZG9uQnVuZGxlLkZpdEFkZG9uO24ubG9hZEFkZG9uKG8pO2xldCBsPXtpZDpyLGxhYmVsOmUubGFiZWx8fHRoaXMuZ2V0RGVmYXVsdExhYmVsKHMsZS5tZXRhZGF0YSksaWNvbk5hbWU6ZS5pY29uTmFtZXx8dGhpcy5nZXREZWZhdWx0SWNvbihzKSx0eXBlOnMsY2xvc2VhYmxlOmUuY2xvc2VhYmxlPz9zIT09InNoZWxsIix0ZXJtaW5hbDpuLGZpdEFkZG9uOm8scHJvY2VzczpudWxsLGlucHV0V3JpdGVyOm51bGwsZXhpdGVkOiExLGV4aXRDb2RlOm51bGwsY3JlYXRlZEF0OkRhdGUubm93KCksbWV0YWRhdGE6ZS5tZXRhZGF0YX07cmV0dXJuIHRoaXMudGFicy5zZXQocixsKSxsfWdldFRhYihlKXtyZXR1cm4gdGhpcy50YWJzLmdldChlKX1nZXRBbGxUYWJzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy50YWJzLnZhbHVlcygpKS5zb3J0KChlLGEpPT5lLmNyZWF0ZWRBdC1hLmNyZWF0ZWRBdCl9Z2V0VGFiQ291bnQoKXtyZXR1cm4gdGhpcy50YWJzLnNpemV9aGFzVGFiKGUpe3JldHVybiB0aGlzLnRhYnMuaGFzKGUpfWNsb3NlVGFiKGUpe2xldCBhPXRoaXMudGFicy5nZXQoZSk7aWYoIWEpcmV0dXJuITE7aWYoYS5wcm9jZXNzJiYhYS5leGl0ZWQpdHJ5e2EucHJvY2Vzcy5raWxsKCl9Y2F0Y2gocil7Y29uc29sZS53YXJuKCJGYWlsZWQgdG8ga2lsbCBwcm9jZXNzOiIscil9dHJ5e2EudGVybWluYWwuZGlzcG9zZSgpfWNhdGNoKHIpe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIGRpc3Bvc2UgdGVybWluYWw6IixyKX1yZXR1cm4gdGhpcy50YWJzLmRlbGV0ZShlKSwhMH1yZW5hbWVUYWIoZSxhKXtsZXQgcj10aGlzLnRhYnMuZ2V0KGUpO3JldHVybiByPyhyLmxhYmVsPWEsITApOiExfW1hcmtUYWJFeGl0ZWQoZSxhKXtsZXQgcj10aGlzLnRhYnMuZ2V0KGUpO3ImJihyLmV4aXRlZD0hMCxyLmV4aXRDb2RlPWEpfXNldFRhYlByb2Nlc3MoZSxhLHIpe2xldCBzPXRoaXMudGFicy5nZXQoZSk7cyYmKHMucHJvY2Vzcz1hLHMuaW5wdXRXcml0ZXI9cil9dXBkYXRlQWxsVGhlbWVzKGUpe2xldCBhPXRoaXMuZ2V0VGVybWluYWxUaGVtZShlKTtmb3IobGV0IHIgb2YgdGhpcy50YWJzLnZhbHVlcygpKXIudGVybWluYWwub3B0aW9ucy50aGVtZT1hfWRpc3Bvc2VBbGwoKXtmb3IobGV0W2Vdb2YgdGhpcy50YWJzKXRoaXMuY2xvc2VUYWIoZSk7dGhpcy50YWJzLmNsZWFyKCl9fX0pO3ZhciBjdGE9e307ZXQoY3RhLHtEZWVzV29ya3NwYWNlVGVybWluYWw6KCk9PnJIZX0pO3ZhciBNbCxHcixySGUsQUI9YygoKT0+e3BlKCk7SXQoKTtYZSgpO2ZYKCk7S3QoKTtaWigpO2FIZSgpO3BsKCk7TWw9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LEdyPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxySGU9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbCIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdLEUsXz1bXSxDPVtdLE4sJD1bXSxJPVtdO3ZhciBqPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzV29ya3NwYWNlVGVybWluYWwiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgUz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk9iamVjdH0pXSxoPVtMKCldLHA9W0woKV0seD1bTCh7dHlwZTpOdW1iZXJ9KV0seT1bTCh7dHlwZTpCb29sZWFufSldLEU9W1ooKV0sTj1bWigpXSxNbCh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV4ZWN1dGlvbkVudmlyb25tZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJleGVjdXRpb25FbnZpcm9ubWVudCJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LmV4ZWN1dGlvbkVudmlyb25tZW50LCJnZXQiKSxzZXQ6aSgoeixEKT0+e3ouZXhlY3V0aW9uRW52aXJvbm1lbnQ9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxvLGwpLE1sKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2V0dXBDb21tYW5kIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJzZXR1cENvbW1hbmQiaW4geiwiaGFzIiksZ2V0Omkoej0+ei5zZXR1cENvbW1hbmQsImdldCIpLHNldDppKCh6LEQpPT57ei5zZXR1cENvbW1hbmQ9RH0sInNldCIpfSxtZXRhZGF0YTpTfSx1LGYpLE1sKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW52aXJvbm1lbnRWYXJpYWJsZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+ImVudmlyb25tZW50VmFyaWFibGVzImluIHosImhhcyIpLGdldDppKHo9PnouZW52aXJvbm1lbnRWYXJpYWJsZXMsImdldCIpLHNldDppKCh6LEQpPT57ei5lbnZpcm9ubWVudFZhcmlhYmxlcz1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LGcsdiksTWwodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJCYXJXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4idGFiQmFyV2lkdGgiaW4geiwiaGFzIiksZ2V0Omkoej0+ei50YWJCYXJXaWR0aCwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LnRhYkJhcldpZHRoPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sYixtKSxNbCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dUYWJCYXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+InNob3dUYWJCYXIiaW4geiwiaGFzIiksZ2V0Omkoej0+ei5zaG93VGFiQmFyLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3ouc2hvd1RhYkJhcj1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LE0sayksTWwodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJ0YWJzImluIHosImhhcyIpLGdldDppKHo9PnoudGFicywiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LnRhYnM9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxfLEMpLE1sKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZlVGFiSWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+ImFjdGl2ZVRhYklkImluIHosImhhcyIpLGdldDppKHo9PnouYWN0aXZlVGFiSWQsImdldCIpLHNldDppKCh6LEQpPT57ei5hY3RpdmVUYWJJZD1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LCQsSSksTWwobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6U30sbnVsbCxhKSxqPXI9ZS52YWx1ZSxTJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlN9KX1zdGF0aWMgZGVtbz1pKCgpPT57bGV0IFM9bmV3IF82O3JldHVybiB3YDxkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbCAuZXhlY3V0aW9uRW52aXJvbm1lbnQ9JHtTfT48L2RlZXMtd29ya3NwYWNlLXRlcm1pbmFsPmB9LCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJXb3Jrc3BhY2UiXTtyZXNpemVPYnNlcnZlcjt0YWJNYW5hZ2VyOyNlPUdyKHRoaXMsbyxudWxsKTtnZXQgZXhlY3V0aW9uRW52aXJvbm1lbnQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZXhlY3V0aW9uRW52aXJvbm1lbnQoUyl7dGhpcy4jZT1TfSN0PShHcih0aGlzLGwpLEdyKHRoaXMsdSwiIikpO2dldCBzZXR1cENvbW1hbmQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2V0dXBDb21tYW5kKFMpe3RoaXMuI3Q9U30jYT0oR3IodGhpcyxmKSxHcih0aGlzLGcse30pKTtnZXQgZW52aXJvbm1lbnRWYXJpYWJsZXMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZW52aXJvbm1lbnRWYXJpYWJsZXMoUyl7dGhpcy4jYT1TfSNyPShHcih0aGlzLHYpLEdyKHRoaXMsYiwxNjApKTtnZXQgdGFiQmFyV2lkdGgoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdGFiQmFyV2lkdGgoUyl7dGhpcy4jcj1TfSNpPShHcih0aGlzLG0pLEdyKHRoaXMsTSwhMCkpO2dldCBzaG93VGFiQmFyKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHNob3dUYWJCYXIoUyl7dGhpcy4jaT1TfSNzPShHcih0aGlzLGspLEdyKHRoaXMsXyxbXSkpO2dldCB0YWJzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHRhYnMoUyl7dGhpcy4jcz1TfSNvPShHcih0aGlzLEMpLEdyKHRoaXMsJCxudWxsKSk7Z2V0IGFjdGl2ZVRhYklkKCl7cmV0dXJuIHRoaXMuI299c2V0IGFjdGl2ZVRhYklkKFMpe3RoaXMuI289U310ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uPShHcih0aGlzLEkpLG51bGwpO2lzQnJpZ2h0PSExO3Rlcm1pbmFsQWN0aW9uYmFyPW51bGw7ZW52aXJvbm1lbnREZWZlcnJlZD1uZXcgRXQuc21hcnRwcm9taXNlLkRlZmVycmVkO2Vudmlyb25tZW50UHJvbWlzZT10aGlzLmVudmlyb25tZW50RGVmZXJyZWQucHJvbWlzZTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy50YWJNYW5hZ2VyPW5ldyBEQix0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMuaGFuZGxlUmVzaXplKCl9KX1zdGF0aWMgc3R5bGVzPVtEZSxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgfQoKICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDAwMDAwIil9OwogICAgICB9CgogICAgICAjYWN0aXZlLXRlcm1pbmFsLWNvbnRhaW5lciB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgICBtYXJnaW46IDIwcHg7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1jb250ZW50IGRlZXMtYWN0aW9uYmFyIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLyogVGFiIGJhciBvbiB0aGUgcmlnaHQgc2lkZSAqLwogICAgICAudGFiLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NiUpIiwiaHNsKDAgMCUgNyUpIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC50YWItYmFyLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiA4cHggMTBweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg4JSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNDUlKSIsImhzbCgwIDAlIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC50YWItYmFyLXRpdGxlIHsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC50YWItYmFyLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIC50YWItYWN0aW9uIHsKICAgICAgICB3aWR0aDogMjJweDsKICAgICAgICBoZWlnaHQ6IDIycHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OCUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDMwJSkiLCJoc2woMCAwJSA4MCUpIil9OwogICAgICB9CgogICAgICAudGFiLWxpc3QgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC10YWIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTBweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA0NSUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLXRhYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDkwJSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMjUlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC10YWIuYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDk1JSkiLCJoc2woMjEwIDMwJSAxNSUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDQwJSkiLCJoc2woMjEwIDEwMCUgNzAlKSIpfTsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLXRhYi5leGl0ZWQgewogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQoKICAgICAgLnRhYi1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnRhYi1pY29uLnJ1bm5pbmcgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDE0MiA3MCUgNDAlKSIsImhzbCgxNDIgNzAlIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC50YWItbGFiZWwgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuZXhpdC1iYWRnZSB7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIHBhZGRpbmc6IDFweCA1cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5leGl0LWJhZGdlLnN1Y2Nlc3MgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMTQyIDcwJSA5MCUpIiwiaHNsKDE0MiAzMCUgMjAlKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgxNDIgNzAlIDM1JSkiLCJoc2woMTQyIDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICAuZXhpdC1iYWRnZS5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDcwJSA5MyUpIiwiaHNsKDAgMzAlIDIwJSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCA3MCUgNDUlKSIsImhzbCgwIDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICAudGFiLWNsb3NlIHsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAudGVybWluYWwtdGFiOmhvdmVyIC50YWItY2xvc2UgewogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgfQoKICAgICAgLnRhYi1jbG9zZTpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjUlKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDcwJSA1MCUpIiwiaHNsKDAgNzAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDUwJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAvKiB4dGVybS5qcyBzdHlsZXMgKi8KICAgICAgLnh0ZXJtIHsKICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJyAwOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLnh0ZXJtLmZvY3VzLAogICAgICAueHRlcm06Zm9jdXMgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0taGVscGVycyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICB6LWluZGV4OiA1OwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLWhlbHBlci10ZXh0YXJlYSB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBib3JkZXI6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGxlZnQ6IC05OTk5ZW07CiAgICAgICAgdG9wOiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIGhlaWdodDogMDsKICAgICAgICB6LWluZGV4OiAtNTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcmVzaXplOiBub25lOwogICAgICB9CgogICAgICAueHRlcm0gLmNvbXBvc2l0aW9uLXZpZXcgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzMzMzMzMiLCIjZmZmZmZmIil9OwogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgfQoKICAgICAgLnh0ZXJtIC5jb21wb3NpdGlvbi12aWV3LmFjdGl2ZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tdmlld3BvcnQgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tc2NyZWVuIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tc2NyZWVuIGNhbnZhcyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXNjcm9sbC1hcmVhIHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC54dGVybS1jaGFyLW1lYXN1cmUtZWxlbWVudCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IC05OTk5ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICAgICAgfQoKICAgICAgLnh0ZXJtIHsKICAgICAgICBjdXJzb3I6IHRleHQ7CiAgICAgIH0KCiAgICAgIC54dGVybS5lbmFibGUtbW91c2UtZXZlbnRzIHsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC54dGVybS54dGVybS1jdXJzb3ItcG9pbnRlciB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAueHRlcm0uY29sdW1uLXNlbGVjdC5mb2N1cyB7CiAgICAgICAgY3Vyc29yOiBjcm9zc2hhaXI7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tYWNjZXNzaWJpbGl0eSwKICAgICAgLnh0ZXJtIC54dGVybS1tZXNzYWdlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLnh0ZXJtIC5saXZlLXJlZ2lvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IC05OTk5cHg7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAueHRlcm0tZGltIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC54dGVybS11bmRlcmxpbmUgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgUz10aGlzLmFjdGl2ZVRhYklkP3RoaXMudGFiTWFuYWdlci5nZXRUYWIodGhpcy5hY3RpdmVUYWJJZCk6bnVsbDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0idGVybWluYWwtY29udGFpbmVyIj4KICAgICAgICA8IS0tIE1haW4gdGVybWluYWwgYXJlYSAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXJtaW5hbC1jb250ZW50Ij4KICAgICAgICAgICR7Uz93YAogICAgICAgICAgICA8ZGl2IGlkPSJhY3RpdmUtdGVybWluYWwtY29udGFpbmVyIj48L2Rpdj4KICAgICAgICAgIGA6d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOnRlcm1pbmFsIn0gaWNvblNpemU9IjMyIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3Bhbj5ObyB0ZXJtaW5hbCBvcGVuPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9CiAgICAgICAgICA8ZGVlcy1hY3Rpb25iYXI+PC9kZWVzLWFjdGlvbmJhcj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBWZXJ0aWNhbCB0YWIgYmFyIG9uIHRoZSByaWdodCAtLT4KICAgICAgICAke3RoaXMuc2hvd1RhYkJhcj93YAogICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWJhciIgc3R5bGU9IndpZHRoOiAke3RoaXMudGFiQmFyV2lkdGh9cHgiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItYmFyLWhlYWRlciI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYi1iYXItdGl0bGUiPlRlcm1pbmFsczwvc3Bhbj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItYmFyLWFjdGlvbnMiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWFjdGlvbiIgQGNsaWNrPSR7dGhpcy5oYW5kbGVBZGRUYWJ9IHRpdGxlPSJOZXcgVGVybWluYWwiPgogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpwbHVzIn0gaWNvblNpemU9IjE0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1saXN0Ij4KICAgICAgICAgICAgICAke3RoaXMudGFicy5tYXAoej0+d2AKICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgY2xhc3M9InRlcm1pbmFsLXRhYiAke3ouaWQ9PT10aGlzLmFjdGl2ZVRhYklkPyJhY3RpdmUiOiIifSAke3ouZXhpdGVkPyJleGl0ZWQiOiIifSIKICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc3dpdGNoVG9UYWIoei5pZCl9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24KICAgICAgICAgICAgICAgICAgICAuaWNvbj0ke3ouaWNvbk5hbWV9CiAgICAgICAgICAgICAgICAgICAgaWNvblNpemU9IjE0IgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0YWItaWNvbiAke3oucHJvY2VzcyYmIXouZXhpdGVkPyJydW5uaW5nIjoiIn0iCiAgICAgICAgICAgICAgICAgID48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYi1sYWJlbCI+JHt6LmxhYmVsfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgJHt6LmV4aXRlZD93YAogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJleGl0LWJhZGdlICR7ei5leGl0Q29kZT09PTA/InN1Y2Nlc3MiOiJlcnJvciJ9Ij4KICAgICAgICAgICAgICAgICAgICAgICR7ei5leGl0Q29kZX0KICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAgICR7ei5jbG9zZWFibGU/d2AKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFiLWNsb3NlIiBAY2xpY2s9JHtEPT50aGlzLmhhbmRsZVRhYkNsb3NlKEQsei5pZCl9PgogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6eCJ9IGljb25TaXplPSIxMiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2xldCBTPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO3RoaXMuaXNCcmlnaHQ9Uy50aGVtZU1hbmFnZXIuZ29CcmlnaHRCb29sZWFuLHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbj1TLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKEE9Pnt0aGlzLmlzQnJpZ2h0PUEsdGhpcy50YWJNYW5hZ2VyLnVwZGF0ZUFsbFRoZW1lcyhBKX0pO2xldCB6PXJyLmdldEluc3RhbmNlKCksW0QsVF09YXdhaXQgUHJvbWlzZS5hbGwoW3oubG9hZFh0ZXJtKCksei5sb2FkWHRlcm1GaXRBZGRvbigpXSk7dGhpcy50YWJNYW5hZ2VyLnNldFh0ZXJtTW9kdWxlcyhELFQpLGF3YWl0IHRoaXMuY3JlYXRlU2hlbGxUYWIoKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtsZXQgUz10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJhY3RpdmUtdGVybWluYWwtY29udGFpbmVyIik7UyYmdGhpcy5yZXNpemVPYnNlcnZlci51bm9ic2VydmUoUyksdGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uJiYodGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uPW51bGwpLHRoaXMudGFiTWFuYWdlci5kaXNwb3NlQWxsKCksYXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKX1hc3luYyBoYW5kbGVBZGRUYWIoKXthd2FpdCB0aGlzLmNyZWF0ZVNoZWxsVGFiKCl9aGFuZGxlVGFiQ2xvc2UoUyx6KXtTLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY2xvc2VUYWIoeil9c3dpdGNoVG9UYWIoUyl7aWYoUz09PXRoaXMuYWN0aXZlVGFiSWQpcmV0dXJuO2xldCB6PXRoaXMudGFiTWFuYWdlci5nZXRUYWIoUyk7aWYoIXopcmV0dXJuO2xldCBEPXRoaXMuYWN0aXZlVGFiSWQ7dGhpcy5hY3RpdmVUYWJJZCYmdGhpcy5kZXRhY2hBY3RpdmVUZXJtaW5hbCgpLHRoaXMuYWN0aXZlVGFiSWQ9Uyx0aGlzLnRhYnM9dGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKSx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9Pnt0aGlzLmF0dGFjaFRlcm1pbmFsVG9Db250YWluZXIoeiksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGFiLXN3aXRjaGVkIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6e3RhYklkOlMscHJldmlvdXNUYWJJZDpEfX0pKX0pfWRldGFjaEFjdGl2ZVRlcm1pbmFsKCl7bGV0IFM9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgiYWN0aXZlLXRlcm1pbmFsLWNvbnRhaW5lciIpO1MmJihTLmlubmVySFRNTD0iIil9YXR0YWNoVGVybWluYWxUb0NvbnRhaW5lcihTKXtsZXQgej10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJhY3RpdmUtdGVybWluYWwtY29udGFpbmVyIik7eiYmKHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh6KSx6LmlubmVySFRNTD0iIixTLnRlcm1pbmFsLm9wZW4oeiksUy5maXRBZGRvbi5maXQoKSxTLnRlcm1pbmFsLmZvY3VzKCkpfWhhbmRsZVJlc2l6ZSgpe2lmKHRoaXMuYWN0aXZlVGFiSWQpe2xldCBTPXRoaXMudGFiTWFuYWdlci5nZXRUYWIodGhpcy5hY3RpdmVUYWJJZCk7UyYmUy5maXRBZGRvbi5maXQoKX19YXN5bmMgc3Bhd25Qcm9jZXNzRm9yVGFiKFMseixEPVtdKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl7Uy50ZXJtaW5hbC53cml0ZSgiXHgxQlszMW0iKSxTLnRlcm1pbmFsLndyaXRlKGBcdTI3NEMgTm8gZXhlY3V0aW9uIGVudmlyb25tZW50IGF2YWlsYWJsZS5ccgpgKSxTLnRlcm1pbmFsLndyaXRlKCJceDFCWzBtIik7cmV0dXJufXRyeXt0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWR5fHwoUy50ZXJtaW5hbC53cml0ZShgSW5pdGlhbGl6aW5nIGVudmlyb25tZW50Li4uXHIKYCksYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5pbml0KCkpO2xldCBUPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuc3Bhd24oeixEKTtULm91dHB1dC5waXBlVG8obmV3IFdyaXRhYmxlU3RyZWFtKHt3cml0ZTppKFU9PntTLnRlcm1pbmFsLndyaXRlKFUpfSwid3JpdGUiKX0pKTtsZXQgQT1ULmlucHV0LmdldFdyaXRlcigpO1MudGVybWluYWwub25EYXRhKFU9PntBLndyaXRlKFUpfSksdGhpcy50YWJNYW5hZ2VyLnNldFRhYlByb2Nlc3MoUy5pZCxULEEpLHRoaXMudGFicz10aGlzLnRhYk1hbmFnZXIuZ2V0QWxsVGFicygpLFQuZXhpdC50aGVuKFU9Pnt0aGlzLmhhbmRsZVByb2Nlc3NFeGl0KFMuaWQsVSl9KX1jYXRjaChUKXtTLnRlcm1pbmFsLndyaXRlKCJceDFCWzMxbSIpLFMudGVybWluYWwud3JpdGUoYFx1Mjc0QyBGYWlsZWQgdG8gc3Bhd24gcHJvY2VzczogJHtUfVxyCmApLFMudGVybWluYWwud3JpdGUoIlx4MUJbMG0iKSxjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc3Bhd24gcHJvY2VzczoiLFQpfX1oYW5kbGVQcm9jZXNzRXhpdChTLHope2xldCBEPXRoaXMudGFiTWFuYWdlci5nZXRUYWIoUyk7aWYoIUQpcmV0dXJuO3RoaXMudGFiTWFuYWdlci5tYXJrVGFiRXhpdGVkKFMseik7bGV0IFQ9ej09PTA/YFxyClx4MUJbMzJtW1Byb2Nlc3MgY29tcGxldGVkIHN1Y2Nlc3NmdWxseV1ceDFCWzBtXHIKYDpgXHIKXHgxQlszMW1bUHJvY2VzcyBleGl0ZWQgd2l0aCBjb2RlICR7en1dXHgxQlswbVxyCmA7RC50ZXJtaW5hbC53cml0ZShUKSx0aGlzLnRhYnM9dGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJwcm9jZXNzLWNvbXBsZXRlIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6e3RhYklkOlMsZXhpdENvZGU6en19KSksRC5jbG9zZWFibGUmJnRoaXMuc2hvd0V4aXRlZFRhYkFjdGlvbmJhcihTLEQubGFiZWwseil9YXN5bmMgc2hvd0V4aXRlZFRhYkFjdGlvbmJhcihTLHosRCl7bGV0IFQ9RD09PTA7KGF3YWl0IHRoaXMuc2hvd0FjdGlvbmJhcih7bWVzc2FnZTpUP2AiJHt6fSIgY29tcGxldGVkLiBDbG9zZSB0YWI/YDpgIiR7en0iIGV4aXRlZCAoY29kZSAke0R9KS4gQ2xvc2UgdGFiP2AsdHlwZTpUPyJpbmZvIjoid2FybmluZyIsaWNvbjpUPyJsdWNpZGU6Y2hlY2tDaXJjbGUiOiJsdWNpZGU6YWxlcnRUcmlhbmdsZSIsYWN0aW9uczpbe2lkOiJjbG9zZSIsbGFiZWw6IkNsb3NlIFRhYiIscHJpbWFyeTohMH0se2lkOiJrZWVwIixsYWJlbDoiS2VlcCBPcGVuIn1dLHRpbWVvdXQ6e2R1cmF0aW9uOjFlNCxkZWZhdWx0QWN0aW9uSWQ6ImNsb3NlIn0sZGlzbWlzc2libGU6ITB9KSkuYWN0aW9uSWQ9PT0iY2xvc2UiJiZ0aGlzLmNsb3NlVGFiKFMpfWFzeW5jIGNyZWF0ZVNoZWxsVGFiKFMpe2xldCB6PXRoaXMudGFiTWFuYWdlci5jcmVhdGVUYWIoe3R5cGU6InNoZWxsIixsYWJlbDpTfHxgYmFzaCAke3RoaXMudGFiTWFuYWdlci5nZXRUYWJDb3VudCgpKzF9YCxjbG9zZWFibGU6dGhpcy50YWJNYW5hZ2VyLmdldFRhYkNvdW50KCk+MH0sdGhpcy5pc0JyaWdodCk7cmV0dXJuIHRoaXMudGFicz10aGlzLnRhYk1hbmFnZXIuZ2V0QWxsVGFicygpLHRoaXMuc3dpdGNoVG9UYWIoei5pZCksYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxhd2FpdCB0aGlzLnNwYXduUHJvY2Vzc0ZvclRhYih6LCJqc2giKSx0aGlzLnRhYk1hbmFnZXIuZ2V0VGFiQ291bnQoKT09PTEmJnRoaXMuc2V0dXBDb21tYW5kJiYoYXdhaXQgdGhpcy53YWl0Rm9yUHJvbXB0KHoudGVybWluYWwsIn4vIiksei5pbnB1dFdyaXRlciYmei5pbnB1dFdyaXRlci53cml0ZSh0aGlzLnNldHVwQ29tbWFuZCkpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRhYi1jcmVhdGVkIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6e3RhYklkOnouaWR9fSkpLHouaWR9YXN5bmMgY3JlYXRlUHJvY2Vzc1RhYihTKXtsZXQgej10aGlzLnRhYk1hbmFnZXIuY3JlYXRlVGFiKFMsdGhpcy5pc0JyaWdodCk7cmV0dXJuIHRoaXMudGFicz10aGlzLnRhYk1hbmFnZXIuZ2V0QWxsVGFicygpLFMuc3dpdGNoVG9UYWIhPT0hMSYmdGhpcy5zd2l0Y2hUb1RhYih6LmlkKSxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLFMuY29tbWFuZCYmYXdhaXQgdGhpcy5zcGF3blByb2Nlc3NGb3JUYWIoeixTLmNvbW1hbmQsUy5hcmdzKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItY3JlYXRlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt0YWJJZDp6LmlkfX0pKSx6LmlkfWdldEFjdGl2ZVRhYigpe3JldHVybiB0aGlzLmFjdGl2ZVRhYklkJiZ0aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKHRoaXMuYWN0aXZlVGFiSWQpfHxudWxsfWdldFRhYnMoKXtyZXR1cm4gdGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKX1zZWxlY3RUYWIoUyl7cmV0dXJuIHRoaXMudGFiTWFuYWdlci5oYXNUYWIoUyk/KHRoaXMuc3dpdGNoVG9UYWIoUyksITApOiExfWNsb3NlVGFiKFMpe2xldCB6PXRoaXMudGFiTWFuYWdlci5nZXRUYWIoUyk7aWYoIXp8fCF6LmNsb3NlYWJsZSlyZXR1cm4hMTtpZihTPT09dGhpcy5hY3RpdmVUYWJJZCl7bGV0IEQ9dGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKSxUPUQuZmluZEluZGV4KFU9PlUuaWQ9PT1TKSxBPURbVCsxXXx8RFtULTFdO0E/dGhpcy5zd2l0Y2hUb1RhYihBLmlkKToodGhpcy5hY3RpdmVUYWJJZD1udWxsLHRoaXMuZGV0YWNoQWN0aXZlVGVybWluYWwoKSl9cmV0dXJuIHRoaXMudGFiTWFuYWdlci5jbG9zZVRhYihTKSx0aGlzLnRhYnM9dGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItY2xvc2VkIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6e3RhYklkOlN9fSkpLCEwfXdyaXRlVG9UYWIoUyx6KXtsZXQgRD10aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKFMpO3JldHVybiBEPyhELnRlcm1pbmFsLndyaXRlKHopLCEwKTohMX1zZW5kSW5wdXRUb1RhYihTLHope2xldCBEPXRoaXMudGFiTWFuYWdlci5nZXRUYWIoUyk7cmV0dXJuIUR8fCFELmlucHV0V3JpdGVyPyExOihELmlucHV0V3JpdGVyLndyaXRlKHopLCEwKX1hc3luYyBzaG93QWN0aW9uYmFyKFMpe3JldHVybiB0aGlzLnRlcm1pbmFsQWN0aW9uYmFyfHwodGhpcy50ZXJtaW5hbEFjdGlvbmJhcj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYWN0aW9uYmFyIikpLHRoaXMudGVybWluYWxBY3Rpb25iYXI/LnNob3coUyl9YXN5bmMgd2FpdEZvclByb21wdChTLHope3JldHVybiBuZXcgUHJvbWlzZShEPT57bGV0IFQ9aSgoKT0+e2xldCBBPVMuYnVmZmVyLmFjdGl2ZTtmb3IobGV0IFU9MDtVPEEubGVuZ3RoO1UrKyl7bGV0IFI9QS5nZXRMaW5lKFUpO2lmKFImJlIudHJhbnNsYXRlVG9TdHJpbmcoKS5pbmNsdWRlcyh6KSl7c2V0VGltZW91dCgoKT0+e0QoKX0sMTAwKTtyZXR1cm59fXNldFRpbWVvdXQoVCwxMDApfSwiY2hlY2tQcm9tcHQiKTtUKCl9KX1hc3luYyBzZXRFbnZpcm9ubWVudFZhcmlhYmxlcyhTKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl0aHJvdyBuZXcgRXJyb3IoIk5vIGV4ZWN1dGlvbiBlbnZpcm9ubWVudCBhdmFpbGFibGUiKTtsZXQgej0iIjtmb3IobGV0IEQgaW4gUyl6Kz1gZXhwb3J0ICR7RH09IiR7U1tEXX0iCmA7YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUoIi9zb3VyY2UuZW52Iix6KX1nZXRFeGVjdXRpb25FbnZpcm9ubWVudCgpe3JldHVybiB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fXN0YXRpY3tHcihyLGEpfX07cmV0dXJuIGo9cn0pKCl9KTt2YXIgaUhlLHNIZSxyeGEsaXhhLHN4YSxkdGEscHRhPWMoKCk9PntwZSgpO1U4KCk7Y2woKTttWigpO0NaKCk7a1ooKTtjNigpO0daKCk7aUhlPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxzSGU9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LHJ4YT0oKCk9PntsZXQgdD1bYWUoImRlbW8tdmlldy1kYXNoYm9hcmQiKV0sZSxhPVtdLHIscz1jZTt2YXIgbj1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVtb1ZpZXdEYXNoYm9hcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtpSGUobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6b30sbnVsbCxhKSxuPXI9ZS52YWx1ZSxvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm99KX1zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIH0KICAgICAgaDEgewogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwMDAiLCIjZmZmIil9OwogICAgICB9CiAgICAgIGRlZXMtc3RhdHNncmlkIHsKICAgICAgICBtYXJnaW4tdG9wOiAyMHB4OwogICAgICB9CiAgICBgXTtzdGF0c1RpbGVzPVt7aWQ6InVzZXJzIix0aXRsZToiQWN0aXZlIFVzZXJzIix2YWx1ZToxMjM0LHR5cGU6Im51bWJlciIsaWNvbjoiZmFVc2VycyIsZGVzY3JpcHRpb246IisxNSUgZnJvbSBsYXN0IHdlZWsiLGNvbG9yOiIjMjJjNTVlIn0se2lkOiJwYWdldmlld3MiLHRpdGxlOiJQYWdlIFZpZXdzIix2YWx1ZTo1NjcwMCx0eXBlOiJudW1iZXIiLGljb246ImZhRXllIixkZXNjcmlwdGlvbjoiNTYuN2sgdG90YWwgdmlld3MiLGNvbG9yOiIjM2I4MmY2In0se2lkOiJ1cHRpbWUiLHRpdGxlOiJTeXN0ZW0gVXB0aW1lIix2YWx1ZTo4OSx1bml0OiIlIix0eXBlOiJnYXVnZSIsaWNvbjoiZmFTZXJ2ZXIiLGRlc2NyaXB0aW9uOiJMYXN0IDMwIGRheXMiLGNvbG9yOiIjMTBiOTgxIixnYXVnZU9wdGlvbnM6e21pbjowLG1heDoxMDAsdGhyZXNob2xkczpbe3ZhbHVlOjgwLGNvbG9yOiIjZWY0NDQ0In0se3ZhbHVlOjkwLGNvbG9yOiIjZjU5ZTBiIn0se3ZhbHVlOjEwMCxjb2xvcjoiIzEwYjk4MSJ9XX19LHtpZDoicmVzcG9uc2UiLHRpdGxlOiJBdmcgUmVzcG9uc2UgVGltZSIsdmFsdWU6My4yLHVuaXQ6InMiLHR5cGU6Im51bWJlciIsaWNvbjoiZmFDbG9jayIsZGVzY3JpcHRpb246Ii0wLjVzIGltcHJvdmVtZW50Iixjb2xvcjoiI2Y1OWUwYiJ9LHtpZDoicmV2ZW51ZSIsdGl0bGU6Ik1vbnRobHkgUmV2ZW51ZSIsdmFsdWU6NDg1MjAsdW5pdDoiJCIsdHlwZToidHJlbmQiLGljb246ImZhRG9sbGFyU2lnbiIsZGVzY3JpcHRpb246Iis4LjIlIGdyb3d0aCIsY29sb3I6IiMyMmM1NWUiLHRyZW5kRGF0YTpbMzVlMywzOGUzLDM3NTAwLDQxZTMsMzk4MDAsNDJlMyw0NDEwMCw0MzIwMCw0NTYwMCw0NzEwMCw0NjgwMCw0ODUyMF19LHtpZDoidHJhZmZpYyIsdGl0bGU6IlRyYWZmaWMgVHJlbmQiLHZhbHVlOjE2ODAsdHlwZToidHJlbmQiLGljb246ImZhQ2hhcnRMaW5lIixkZXNjcmlwdGlvbjoiTGFzdCA3IGRheXMiLGNvbG9yOiIjM2I4MmY2Iix0cmVuZERhdGE6WzEyMDAsMTM1MCwxMTAwLDE0NTAsMTYwMCwxNTUwLDE2ODBdfV07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxoMT5EYXNoYm9hcmQ8L2gxPgogICAgICA8cD5XZWxjb21lIHRvIHlvdXIgYXBwbGljYXRpb24gZGFzaGJvYXJkLiBIZXJlJ3MgYW4gb3ZlcnZpZXcgb2YgeW91ciBtZXRyaWNzOjwvcD4KICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgLnRpbGVzPSR7dGhpcy5zdGF0c1RpbGVzfQogICAgICAgIEB0aWxlLWFjdGlvbj0ke289Pntjb25zb2xlLmxvZygiVGlsZSBhY3Rpb246IixvLmRldGFpbCl9fQogICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KICAgIGB9c3RhdGlje3NIZShyLGEpfX07cmV0dXJuIG49cn0pKCksaXhhPSgoKT0+e2xldCB0PVthZSgiZGVtby12aWV3LWFuYWx5dGljcyIpXSxlLGE9W10scixzPWNlO3ZhciBuPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZW1vVmlld0FuYWx5dGljcyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBvPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO2lIZShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpvfSxudWxsLGEpLG49cj1lLnZhbHVlLG8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6b30pfXN0YXRpYyBzdHlsZXM9W2QuZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgfQogICAgICBoMSB7CiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzAwMCIsIiNmZmYiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8aDE+QW5hbHl0aWNzPC9oMT4KICAgICAgPHA+VGhpcyBpcyB0aGUgYW5hbHl0aWNzIHZpZXcuIFlvdSBjYW4gYWRkIGNoYXJ0cyBhbmQgbWV0cmljcyBoZXJlLjwvcD4KICAgIGB9c3RhdGlje3NIZShyLGEpfX07cmV0dXJuIG49cn0pKCksc3hhPSgoKT0+e2xldCB0PVthZSgiZGVtby12aWV3LXNldHRpbmdzIildLGUsYT1bXSxyLHM9Y2U7dmFyIG49Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlbW9WaWV3U2V0dGluZ3MiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtpSGUobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6b30sbnVsbCxhKSxuPXI9ZS52YWx1ZSxvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm99KX1zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIH0KICAgICAgaDEgewogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwMDAiLCIjZmZmIil9OwogICAgICB9CiAgICAgIC5zZXR0aW5ncy1zZWN0aW9uIHsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgICB9CiAgICAgIC5zZXR0aW5ncy1zZWN0aW9uIGgyIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzMzMyIsIiNjY2MiKX07CiAgICAgIH0KICAgICAgLmhvcml6b250YWwtZm9ybS1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y1ZjVmNSIsIiMxYTFhMWEiKX07CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgbWFyZ2luOiAxNXB4IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8aDE+U2V0dGluZ3M8L2gxPgogICAgICA8cD5Db25maWd1cmUgeW91ciBhcHBsaWNhdGlvbiBzZXR0aW5ncyBiZWxvdzo8L3A+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uIj4KICAgICAgICA8aDI+R2VuZXJhbCBTZXR0aW5nczwvaDI+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJhcHBOYW1lIiBsYWJlbD0iQXBwbGljYXRpb24gTmFtZSIgdmFsdWU9Ik15IEFwcCI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0iYXBpRW5kcG9pbnQiIGxhYmVsPSJBUEkgRW5kcG9pbnQiIHZhbHVlPSJodHRwczovL2FwaS5leGFtcGxlLmNvbSI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICBrZXk9ImVudmlyb25tZW50IgogICAgICAgICAgICBsYWJlbD0iRW52aXJvbm1lbnQiCiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkRldmVsb3BtZW50IixrZXk6ImRldiJ9LHtvcHRpb246IlN0YWdpbmciLGtleToic3RhZ2luZyJ9LHtvcHRpb246IlByb2R1Y3Rpb24iLGtleToicHJvZCJ9XX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7e29wdGlvbjoiUHJvZHVjdGlvbiIsa2V5OiJwcm9kIn19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gga2V5PSJlbmFibGVOb3RpZmljYXRpb25zIiBsYWJlbD0iRW5hYmxlIE5vdGlmaWNhdGlvbnMiIHZhbHVlPSJ0cnVlIj48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCBrZXk9ImVuYWJsZUFuYWx5dGljcyIgbGFiZWw9IkVuYWJsZSBBbmFseXRpY3MiIHZhbHVlPSJmYWxzZSI+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+U2F2ZSBHZW5lcmFsIFNldHRpbmdzPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24iPgogICAgICAgIDxoMj5EaXNwbGF5IFByZWZlcmVuY2VzPC9oMj4KICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWZvcm0tc2VjdGlvbiI+CiAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMTZweDsiPlF1aWNrIGRpc3BsYXkgc2V0dGluZ3MgdXNpbmcgaG9yaXpvbnRhbCBsYXlvdXQ6PC9wPgogICAgICAgICAgPGRlZXMtZm9ybSBob3Jpem9udGFsLWxheW91dD4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgICBrZXk9InRoZW1lIgogICAgICAgICAgICAgIGxhYmVsPSJUaGVtZSIKICAgICAgICAgICAgICAuZW5hYmxlU2VhcmNoPSR7ITF9CiAgICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiTGlnaHQiLGtleToibGlnaHQifSx7b3B0aW9uOiJEYXJrIixrZXk6ImRhcmsifSx7b3B0aW9uOiJBdXRvIixrZXk6ImF1dG8ifV19CiAgICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7e29wdGlvbjoiRGFyayIsa2V5OiJkYXJrIn19CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgICAga2V5PSJsYW5ndWFnZSIKICAgICAgICAgICAgICBsYWJlbD0iTGFuZ3VhZ2UiCiAgICAgICAgICAgICAgLmVuYWJsZVNlYXJjaD0keyExfQogICAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkVuZ2xpc2giLGtleToiZW4ifSx7b3B0aW9uOiJHZXJtYW4iLGtleToiZGUifSx7b3B0aW9uOiJTcGFuaXNoIixrZXk6ImVzIn0se29wdGlvbjoiRnJlbmNoIixrZXk6ImZyIn1dfQogICAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0ke3tvcHRpb246IkVuZ2xpc2giLGtleToiZW4ifX0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gga2V5PSJjb21wYWN0TW9kZSIgbGFiZWw9IkNvbXBhY3QgTW9kZSI+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbiI+CiAgICAgICAgPGgyPk5vdGlmaWNhdGlvbiBTZXR0aW5nczwvaDI+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IkVtYWlsIEZyZXF1ZW5jeSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJSZWFsLXRpbWUiLCJEYWlseSBEaWdlc3QiLCJXZWVrbHkgU3VtbWFyeSIsIk5ldmVyIl19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJSZWFsLXRpbWUifQogICAgICAgICAgICAua2V5PSR7ImVtYWlsRnJlcXVlbmN5In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IGtleT0icHVzaE5vdGlmaWNhdGlvbnMiIGxhYmVsPSJFbmFibGUgUHVzaCBOb3RpZmljYXRpb25zIiB2YWx1ZT0idHJ1ZSI+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gga2V5PSJzb3VuZEFsZXJ0cyIgbGFiZWw9IlBsYXkgU291bmQgZm9yIEFsZXJ0cyIgdmFsdWU9InRydWUiPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PlVwZGF0ZSBOb3RpZmljYXRpb25zPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje3NIZShyLGEpfX07cmV0dXJuIG49cn0pKCksZHRhPWkoKCk9PndgCiAgPHN0eWxlPgogICAgYm9keSB7CiAgICAgIG1hcmdpbjogMDsKICAgICAgcGFkZGluZzogMDsKICAgIH0KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICBsZWZ0OiAwOwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtc2ltcGxlLWFwcGRhc2gKICAgICAgbmFtZT0iTXkgQXBwbGljYXRpb24iCiAgICAgIHRlcm1pbmFsU2V0dXBDb21tYW5kPSJlY2hvICdXZWxjb21lIHRvIHRoZSB0ZXJtaW5hbCEnIgogICAgICAudmlld1RhYnM9JHtbe25hbWU6IkRhc2hib2FyZCIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixlbGVtZW50OnJ4YX0se25hbWU6IkFuYWx5dGljcyIsaWNvbk5hbWU6Imx1Y2lkZTpsaW5lQ2hhcnQiLGVsZW1lbnQ6aXhhfSx7bmFtZToiU2V0dGluZ3MiLGljb25OYW1lOiJsdWNpZGU6c2V0dGluZ3MiLGVsZW1lbnQ6c3hhfV19CiAgICAgIEBsb2dvdXQ9JHsoKT0+e2NvbnNvbGUubG9nKCJMb2dvdXQgZXZlbnQgdHJpZ2dlcmVkIiksYWxlcnQoIkxvZ291dCBjbGlja2VkISIpfX0KICAgICAgQHZpZXctc2VsZWN0PSR7dD0+e2NvbnNvbGUubG9nKCJWaWV3IHNlbGVjdGVkOiIsdC5kZXRhaWwudmlldy5uYW1lKX19CiAgICA+PC9kZWVzLXNpbXBsZS1hcHBkYXNoPgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIFBCLHFvLHV0YSxmdGE9YygoKT0+e3B0YSgpO3BlKCk7S3QoKTtYZSgpO1BCPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxxbz1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sdXRhPSgoKT0+e2xldCB0PVthZSgiZGVlcy1zaW1wbGUtYXBwZGFzaCIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzU2ltcGxlQXBwRGFzaCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBNPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woKV0saD1bTCh7dHlwZTpBcnJheX0pXSxwPVtMKHt0eXBlOlN0cmluZ30pXSx4PVtaKCldLFBCKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4ibmFtZSJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLm5hbWUsImdldCIpLHNldDppKChrLEUpPT57ay5uYW1lPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbyxsKSxQQih0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZpZXdUYWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGs9PiJ2aWV3VGFicyJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLnZpZXdUYWJzLCJnZXQiKSxzZXQ6aSgoayxFKT0+e2sudmlld1RhYnM9RX0sInNldCIpfSxtZXRhZGF0YTpNfSx1LGYpLFBCKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGVybWluYWxTZXR1cENvbW1hbmQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+InRlcm1pbmFsU2V0dXBDb21tYW5kImluIGssImhhcyIpLGdldDppKGs9PmsudGVybWluYWxTZXR1cENvbW1hbmQsImdldCIpLHNldDppKChrLEUpPT57ay50ZXJtaW5hbFNldHVwQ29tbWFuZD1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGcsdiksUEIodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFZpZXciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+InNlbGVjdGVkVmlldyJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLnNlbGVjdGVkVmlldywiZ2V0Iiksc2V0OmkoKGssRSk9PntrLnNlbGVjdGVkVmlldz1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGIsbSksUEIobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCxhKSx5PXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1kdGE7c3RhdGljIGRlbW9Hcm91cHM9WyJTaW1wbGUiXTsjZT1xbyh0aGlzLG8sIkFwcGxpY2F0aW9uIERhc2hib2FyZCIpO2dldCBuYW1lKCl7cmV0dXJuIHRoaXMuI2V9c2V0IG5hbWUoTSl7dGhpcy4jZT1NfSN0PShxbyh0aGlzLGwpLHFvKHRoaXMsdSxbXSkpO2dldCB2aWV3VGFicygpe3JldHVybiB0aGlzLiN0fXNldCB2aWV3VGFicyhNKXt0aGlzLiN0PU19I2E9KHFvKHRoaXMsZikscW8odGhpcyxnLCdlY2hvICJUZXJtaW5hbCByZWFkeSInKSk7Z2V0IHRlcm1pbmFsU2V0dXBDb21tYW5kKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHRlcm1pbmFsU2V0dXBDb21tYW5kKE0pe3RoaXMuI2E9TX0jcj0ocW8odGhpcyx2KSxxbyh0aGlzLGIsdm9pZCAwKSk7Z2V0IHNlbGVjdGVkVmlldygpe3JldHVybiB0aGlzLiNyfXNldCBzZWxlY3RlZFZpZXcoTSl7dGhpcy4jcj1NfXN0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgbGVmdDogMHB4OwogICAgICAgIHJpZ2h0OiAwcHg7CiAgICAgICAgYm90dG9tOiAwcHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmFwcGJhciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMHB4OwogICAgICAgIGxlZnQ6IDBweDsKICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDI0cHgpOwogICAgICAgIHdpZHRoOiAyNDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTklKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTElKSIsImhzbCgwIDAlIDEzJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgei1pbmRleDogMjsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnIgbWluLWNvbnRlbnQ7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnNpZGViYXItaGVhZGVyIHsKICAgICAgICBwYWRkaW5nOiAyMHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5MSUpIiwiaHNsKDAgMCUgMTMlKSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWljb24td3JhcHBlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAzNnB4OwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCBoc2woMjE1IDIwJSA5NSUpIDAlLCBoc2woMjE1IDIwJSA5MCUpIDEwMCUpIiwibGluZWFyLWdyYWRpZW50KDEzNWRlZywgaHNsKDIxNSAyMCUgMTglKSAwJSwgaHNsKDIxNSAyMCUgMTQlKSAxMDAlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAke2QuYmRUaGVtZSgiMCAxcHggMnB4IHJnYigwIDAgMCAvIDAuMDUpLCBpbnNldCAwIDFweCAwIHJnYigyNTUgMjU1IDI1NSAvIDAuNSkiLCIwIDFweCAycHggcmdiKDAgMCAwIC8gMC4yKSwgaW5zZXQgMCAxcHggMCByZ2IoMjU1IDI1NSAyNTUgLyAwLjA1KSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRlci1pY29uLXdyYXBwZXIgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMjE1IDIwJSA0MCUpIiwiaHNsKDIxNSAyMCUgNzAlKSIpfTsKICAgICAgfQoKICAgICAgLmFwcE5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07CiAgICAgIH0KCiAgICAgIC52aWV3VGFicy1jb250YWluZXIgewogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgcGFkZGluZzogMTJweCA4cHg7CiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOwogICAgICAgIHNjcm9sbGJhci1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAyMCUpIil9IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAudmlld1RhYnMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgfQoKICAgICAgLnZpZXdUYWJzLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAudmlld1RhYnMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAyMCUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLnZpZXdUYWJzLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA3NSUpIiwiaHNsKDAgMCUgMzAlKSIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA1MCUpIil9OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC52aWV3VGFicyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAudmlld1RhYiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNDAlKSIsImhzbCgwIDAlIDY1JSkiKX07CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgfQoKICAgICAgLnZpZXdUYWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDQpIiwiaHNsKDAgMCUgMTAwJSAvIDAuMDUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgIH0KCiAgICAgIC52aWV3VGFiOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wNikiLCJoc2woMCAwJSAxMDAlIC8gMC4wNykiKX07CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5KTsKICAgICAgfQoKICAgICAgLnZpZXdUYWIuc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMjE1IDI1JSA5NSUpIiwiaHNsKDIxNSAyMCUgMTUlKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTUgMjUlIDMwJSkiLCJoc2woMjE1IDI1JSA4NSUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLnNlbGVjdGVkOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogOHB4OwogICAgICAgIGJvdHRvbTogOHB4OwogICAgICAgIHdpZHRoOiAzcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTUgNzAlIDUwJSkiLCJoc2woMjE1IDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICAudmlld1RhYiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBvcGFjaXR5OiAwLjU1OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAudmlld1RhYjpob3ZlciBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDAuNzU7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLnNlbGVjdGVkIGRlZXMtaWNvbiB7CiAgICAgICAgb3BhY2l0eTogMC45OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxNSA3MCUgNDUlKSIsImhzbCgyMTUgNzAlIDY1JSkiKX07CiAgICAgIH0KCiAgICAgIC52aWV3VGFiIHNwYW4gewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuYXBwQWN0aW9ucyB7CiAgICAgICAgcGFkZGluZzogMTJweCA4cHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5MSUpIiwiaHNsKDAgMCUgMTMlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDQwJSkiLCJoc2woMCAwJSA2NSUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgODQlIDYwJSAvIDAuMDgpIiwiaHNsKDAgODQlIDYwJSAvIDAuMTIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgODQlIDQ1JSkiLCJoc2woMCA4NCUgNjUlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hY3Rpb246aG92ZXIgZGVlcy1pY29uIHsKICAgICAgICBvcGFjaXR5OiAwLjk7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCA4NCUgNDUlKSIsImhzbCgwIDg0JSA2NSUpIil9OwogICAgICB9CgogICAgICAuYXBwY29udGVudCB7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgcmlnaHQ6IDBweDsKICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDI0cHgpOwogICAgICAgIGJvdHRvbTogMjRweDsKICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjQwcHgpOwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NyUpIiwiaHNsKDAgMCUgNSUpIil9OwogICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgIH0KCiAgICAgIC5jb250cm9sYmFyIHsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAwcHg7CiAgICAgICAgbGVmdDogMHB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIyMCAxMyUgMTglKSIsImhzbCgyMjAgMTMlIDEyJSkiKX07CiAgICAgICAgei1pbmRleDogMjsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07CiAgICAgIH0KCiAgICAgIC5jb250cm9sIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBjb2xvcjogaHNsKDAgMCUgNzAlKTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGhzbCgwIDAlIDEwMCUgLyAwLjA4KTsKICAgICAgfQoKICAgICAgLmNvbnRyb2w6Zmlyc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICB9CgogICAgICAuY29udHJvbDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDAgMCUgMTAwJSAvIDAuMDYpOwogICAgICAgIGNvbG9yOiBoc2woMCAwJSA5NSUpOwogICAgICB9CgogICAgICAuY29udHJvbCBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLmNvbnRyb2wuc3RhdHVzLWNvbm5lY3RlZCBkZWVzLWljb24gewogICAgICAgIGNvbG9yOiBoc2woMTQyIDcwJSA1MCUpOwogICAgICB9CgogICAgICAuY29udHJvbC5zdGF0dXMtdGVybWluYWwgZGVlcy1pY29uIHsKICAgICAgICBjb2xvcjogaHNsKDQ1IDkwJSA1NSUpOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0iYXBwYmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXItaGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWljb24td3JhcHBlciI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOmxheW91dEdyaWQifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcHBOYW1lIj4ke3RoaXMubmFtZX08L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idmlld1RhYnMtY29udGFpbmVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+TmF2aWdhdGlvbjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWV3VGFicyI+CiAgICAgICAgICAgICAgJHt0aGlzLnZpZXdUYWJzLm1hcChNPT53YAogICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9InZpZXdUYWIgJHt0aGlzLnNlbGVjdGVkVmlldz09PU0/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMubG9hZFZpZXcoTSl9CiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAke00uaWNvbk5hbWU/d2AKICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7TS5pY29uTmFtZS5pbmNsdWRlcygiOiIpP00uaWNvbk5hbWU6YGx1Y2lkZToke00uaWNvbk5hbWV9YH0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7Imx1Y2lkZTpmaWxlIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+JHtNLm5hbWV9PC9zcGFuPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iYXBwQWN0aW9ucyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbiIgQGNsaWNrPSR7KCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJsb2dvdXQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfX0+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOmxvZ091dCJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3Bhbj5TaWduIG91dDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhcHBjb250ZW50Ij4KICAgICAgICAgIDwhLS0gQ29udGVudCBnb2VzIGhlcmUgLS0+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbGJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9sIHN0YXR1cy1jb25uZWN0ZWQiPgogICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIkeyJsdWNpZGU6d2lmaSJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPHNwYW4+Q29ubmVjdGVkPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9sIHN0YXR1cy10ZXJtaW5hbCIgQGNsaWNrPSR7dGhpcy5sYXVuY2hUZXJtaW5hbH0+CiAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7Imx1Y2lkZTp0ZXJtaW5hbCJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPHNwYW4+VGVybWluYWw8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZChNKXtsZXQgaz1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTtpZihzdXBlci5maXJzdFVwZGF0ZWQoTSksdGhpcy52aWV3VGFicyYmdGhpcy52aWV3VGFicy5sZW5ndGg+MCl7bGV0IEU9dGhpcy5zZWxlY3RlZFZpZXd8fHRoaXMudmlld1RhYnNbMF07YXdhaXQgdGhpcy5sb2FkVmlldyhFKX19Y3VycmVudFRlcm1pbmFsPXFvKHRoaXMsbSk7YXN5bmMgbGF1bmNoVGVybWluYWwoKXtsZXQgTT1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTtpZih0aGlzLmN1cnJlbnRUZXJtaW5hbCl7YXdhaXQgdGhpcy5jbG9zZVRlcm1pbmFsKCk7cmV0dXJufWxldCBrPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIubWFpbmNvbnRhaW5lciIpLHtEZWVzV29ya3NwYWNlVGVybWluYWw6RX09YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KEFCKCksY3RhKSksXz1uZXcgRTtyZXR1cm4gXy5zZXR1cENvbW1hbmQ9dGhpcy50ZXJtaW5hbFNldHVwQ29tbWFuZCx0aGlzLmN1cnJlbnRUZXJtaW5hbD1fLGsuYXBwZW5kQ2hpbGQoXyksXy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLF8uc3R5bGUuekluZGV4PSIxMCIsXy5zdHlsZS50b3A9IjBweCIsXy5zdHlsZS5sZWZ0PSIyNDBweCIsXy5zdHlsZS5yaWdodD0iMHB4IixfLnN0eWxlLmJvdHRvbT0iMjRweCIsXy5zdHlsZS5vcGFjaXR5PSIwIixfLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSg4cHgpIHNjYWxlKDAuOTkpIixfLnN0eWxlLnRyYW5zaXRpb249ImFsbCAwLjI1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIixfLnN0eWxlLmJveFNoYWRvdz0iMCAyNXB4IDUwcHggLTEycHggcmdiKDAgMCAwIC8gMC41KSwgMCAwIDAgMXB4IHJnYigyNTUgMjU1IDI1NSAvIDAuMDUpIixfLnN0eWxlLm1heFdpZHRoPWBjYWxjKCR7ay5jbGllbnRXaWR0aH1weCAtMjQwcHgpYCxfLnN0eWxlLm1heEhlaWdodD1gY2FsYygke2suY2xpZW50SGVpZ2h0fXB4IC0gMjRweClgLF8uYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgpPT50aGlzLmNsb3NlVGVybWluYWwoKSksYXdhaXQgTS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLF8uc3R5bGUub3BhY2l0eT0iMSIsXy5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZVkoMCkgc2NhbGUoMSkiLF99YXN5bmMgY2xvc2VUZXJtaW5hbCgpe2xldCBNPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO3RoaXMuY3VycmVudFRlcm1pbmFsJiYodGhpcy5jdXJyZW50VGVybWluYWwuc3R5bGUub3BhY2l0eT0iMCIsdGhpcy5jdXJyZW50VGVybWluYWwuc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGVZKDhweCkgc2NhbGUoMC45OSkiLGF3YWl0IE0uY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigyNTApLHRoaXMuY3VycmVudFRlcm1pbmFsLnJlbW92ZSgpLHRoaXMuY3VycmVudFRlcm1pbmFsPW51bGwpfWN1cnJlbnRWaWV3O2FzeW5jIGxvYWRWaWV3KE0pe2xldCBrPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuYXBwY29udGVudCIpLEU9bmV3IE0uZWxlbWVudDt0aGlzLmN1cnJlbnRWaWV3JiZ0aGlzLmN1cnJlbnRWaWV3LnJlbW92ZSgpLGsuYXBwZW5kQ2hpbGQoRSksdGhpcy5jdXJyZW50Vmlldz1FLHRoaXMuc2VsZWN0ZWRWaWV3PU0sdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidmlldy1zZWxlY3QiLHtkZXRhaWw6e3ZpZXc6TX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1zdGF0aWN7cW8ocixhKX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIGh0YT1jKCgpPT57ZnRhKCl9KTt2YXIgbXRhLGd0YT1jKCgpPT57cGUoKTttdGE9aSgoKT0+d2AKICA8c3R5bGU+CiAgICBib2R5IHsKICAgICAgbWFyZ2luOiAwOwogICAgICBwYWRkaW5nOiAwOwogICAgfQogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB0b3A6IDA7CiAgICAgIGxlZnQ6IDA7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGVlcy1zaW1wbGUtbG9naW4gCiAgICAgIG5hbWU9Ik15IEFwcGxpY2F0aW9uIgogICAgICBAbG9naW49JHt0PT57Y29uc29sZS5sb2coIkxvZ2luIGV2ZW50IHJlY2VpdmVkOiIsdC5kZXRhaWwpO2xldCBlPXQuZGV0YWlsPy5kYXRhfHx0LmRldGFpbDtlPy51c2VybmFtZSYmZT8ucGFzc3dvcmQ/YWxlcnQoYExvZ2luIGF0dGVtcHRlZCB3aXRoOgpVc2VybmFtZTogJHtlLnVzZXJuYW1lfQpQYXNzd29yZDogJHtlLnBhc3N3b3JkfWApOmNvbnNvbGUuZXJyb3IoIkludmFsaWQgbG9naW4gZGF0YSBzdHJ1Y3R1cmU6Iix0LmRldGFpbCl9fQogICAgPgogICAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiA0MHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij4KICAgICAgICA8aDE+V2VsY29tZSE8L2gxPgogICAgICAgIDxwPlRoaXMgaXMgdGhlIHNsb3R0ZWQgY29udGVudCB0aGF0IGFwcGVhcnMgYWZ0ZXIgbG9naW4uPC9wPgogICAgICA8L2Rpdj4KICAgIDwvZGVlcy1zaW1wbGUtbG9naW4+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgYnRhLG9IZSx2dGEseHRhPWMoKCk9PntndGEoKTtwZSgpO1hlKCk7YnRhPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxvSGU9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LHZ0YT0oKCk9PntsZXQgdD1bYWUoImRlZXMtc2ltcGxlLWxvZ2luIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W107dmFyIGg9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNTaW1wbGVMb2dpbiIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCB1PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woKV0sYnRhKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmPT4ibmFtZSJpbiBmLCJoYXMiKSxnZXQ6aShmPT5mLm5hbWUsImdldCIpLHNldDppKChmLHApPT57Zi5uYW1lPXB9LCJzZXQiKX0sbWV0YWRhdGE6dX0sbyxsKSxidGEobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6dX0sbnVsbCxhKSxoPXI9ZS52YWx1ZSx1JiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnV9KX1zdGF0aWMgZGVtbz1tdGE7c3RhdGljIGRlbW9Hcm91cHM9WyJTaW1wbGUiXTsjZT1vSGUodGhpcyxvLCJBcHBsaWNhdGlvbiIpO2dldCBuYW1lKCl7cmV0dXJuIHRoaXMuI2V9c2V0IG5hbWUodSl7dGhpcy4jZT11fXN0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAzLjklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5sb2dpbkNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgIH0KCiAgICAgIC5zbG90Q29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5sb2dpbiB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWF4LXdpZHRoOiAzNjBweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CgogICAgICAubG9naW4taGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICB9CgogICAgICAuc3ViaGVhZGVyIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5sb2dpbi1jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgfQoKICAgICAgLmxvZ2luLWNhcmQgZGVlcy1mb3JtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICAubG9naW4tY2FyZCBkZWVzLWlucHV0LXRleHQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAubG9naW4tY2FyZCBkZWVzLWZvcm0tc3VibWl0IHsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJsb2dpbkNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9naW4iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibG9naW4taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj5TaWduIGluPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1YmhlYWRlciI+RW50ZXIgeW91ciBjcmVkZW50aWFscyB0byBhY2Nlc3MgJHt0aGlzLm5hbWV9PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZ2luLWNhcmQiPgogICAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJ1c2VybmFtZSIgbGFiZWw9IlVzZXJuYW1lIiByZXF1aXJlZD48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0icGFzc3dvcmQiIGxhYmVsPSJQYXNzd29yZCIgaXNQYXNzd29yZEJvb2wgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+U2lnbiBpbjwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNsb3RDb250YWluZXIiPgogICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCh1KXtzdXBlci5maXJzdFVwZGF0ZWQodSk7bGV0IGY9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpO2YmJmYuYWRkRXZlbnRMaXN0ZW5lcigiZm9ybURhdGEiLHA9Pnt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJsb2dpbiIse2RldGFpbDpwLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfSl9YXN5bmMgc3dpdGNoVG9TbG90dGVkQ29udGVudCgpe2xldCB1PWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLGY9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5sb2dpbiIpLHA9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5sb2dpbkNvbnRhaW5lciIpLGc9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zbG90Q29udGFpbmVyIik7Zi5zdHlsZS5vcGFjaXR5PSIwIixmLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgyMHB4KSIscC5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixnLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgyMHB4KSIsYXdhaXQgdS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDMwMCksZy5zdHlsZS5vcGFjaXR5PSIxIixnLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgwcHgpIixhd2FpdCB1LmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMzAwKSxnLnN0eWxlLnBvaW50ZXJFdmVudHM9ImFsbCJ9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLG9IZSh0aGlzLGwpfXN0YXRpY3tvSGUocixhKX19O3JldHVybiBoPXJ9KSgpfSk7dmFyIHl0YT1jKCgpPT57eHRhKCl9KTt2YXIgd3RhPWMoKCk9PntsdGEoKTtodGEoKTt5dGEoKX0pO3ZhciBNdGE9YygoKT0+e0t0KCl9KTt2YXIga3RhLHp0YT1jKCgpPT57cGUoKTtrdGE9aSgoKT0+d2AKICAgIDxzdHlsZT4KICAgICAgLmRlbW9XcmFwcGVyIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgCiAgICAgICAgYmFja2dyb3VuZDogIzg4ODg4ODsKICAgICAgfQogICAgICAubG9ncyB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICB3aWR0aDogNjAwcHg7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQogICAgICAubG9ncyBkaXYgewogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJkZW1vV3JhcHBlciI+CiAgICAgIDxkZWVzLXNlYXJjaGJhcgogICAgICAgIEBzZWFyY2gtY2hhbmdlZD0ke2koYT0+e2xldCBzPWEudGFyZ2V0LmNsb3Nlc3QoIi5kZW1vV3JhcHBlciIpPy5xdWVyeVNlbGVjdG9yKCIjY2hhbmdlZCIpO3MmJihzLnRleHRDb250ZW50PWBzZWFyY2gtY2hhbmdlZDogJHthLmRldGFpbC52YWx1ZX1gKX0sIm9uQ2hhbmdlZCIpfQogICAgICAgIEBzZWFyY2gtc3VibWl0PSR7aShhPT57bGV0IHM9YS50YXJnZXQuY2xvc2VzdCgiLmRlbW9XcmFwcGVyIik/LnF1ZXJ5U2VsZWN0b3IoIiNzdWJtaXR0ZWQiKTtzJiYocy50ZXh0Q29udGVudD1gc2VhcmNoLXN1Ym1pdDogJHthLmRldGFpbC52YWx1ZX1gKX0sIm9uU3VibWl0Iil9CiAgICAgID48L2RlZXMtc2VhcmNoYmFyPgogICAgICA8ZGl2IGNsYXNzPSJsb2dzIj4KICAgICAgICA8ZGl2IGlkPSJjaGFuZ2VkIj5zZWFyY2gtY2hhbmdlZDo8L2Rpdj4KICAgICAgICA8ZGl2IGlkPSJzdWJtaXR0ZWQiPnNlYXJjaC1zdWJtaXQ6PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYCwiZGVtb0Z1bmMiKX0pO3ZhciBTdGEsbkhlLEN0YSxfdGE9YygoKT0+e3BlKCk7R2koKTt6dGEoKTtYZSgpO1N0YT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sbkhlPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxDdGE9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLXNlYXJjaGJhciIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdO3ZhciBoPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzU2VhcmNoYmFyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IHU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCgpXSxTdGEodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWx0ZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGY9PiJmaWx0ZXJzImluIGYsImhhcyIpLGdldDppKGY9PmYuZmlsdGVycywiZ2V0Iiksc2V0OmkoKGYscCk9PntmLmZpbHRlcnM9cH0sInNldCIpfSxtZXRhZGF0YTp1fSxvLGwpLFN0YShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTp1fSxudWxsLGEpLGg9cj1lLnZhbHVlLHUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dX0pfXN0YXRpYyBkZW1vPWt0YTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlV0aWxpdHkiXTtzdGF0aWMgc3R5bGVzPVtEZSxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgZm9udC1mYW1pbHk6IERlZXMgU2FuczsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2VlZWVlYiIsIiMwMDAwMDAiKX07CiAgICAgIH0KCiAgICAgIC5zZWFyY2hib3hDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW46IGF1dG87CiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzAwMDAwMDE1IiwiI2ZmZmZmZjE1Iil9OwogICAgICAgIC0tYm94SGVpZ2h0OiA2MHB4OwogICAgICAgIGhlaWdodDogdmFyKC0tYm94SGVpZ2h0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3hIZWlnaHQpOwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMTQwcHg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiMwMDAwMDAxNSIsIiNmZmZmZmYyMCIpfTsKICAgICAgfQoKICAgICAgaW5wdXQgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwMDAwMDAiLCIjZWVlZWViIil9OwogICAgICAgIHBhZGRpbmctbGVmdDogMjVweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IC04cHg7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2hCdXR0b24gewogICAgICAgIC0tYnV0dG9uUGFkZGluZzogOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZWVlZWViIiwiIzAwMDAwMCIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwMDAwMDAiLCIjZWVlZWViIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKHZhcigtLWJveEhlaWdodCkgLSAodmFyKC0tYnV0dG9uUGFkZGluZykgKiAyKSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm94SGVpZ2h0KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIDsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcywgYmFja2dyb3VuZCAwLjFzOwogICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tYnV0dG9uUGFkZGluZyk7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5zZWFyY2hCdXR0b246aG92ZXIgewogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKHI2LmJsdWUsV2kuYmx1ZSl9OwogICAgICB9CgogICAgICAuc2VhcmNoQnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUocjYuYmx1ZUFjdGl2ZSxXaS5ibHVlQWN0aXZlKX07CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLmZpbHRlcnMgewogICAgICAgIG1hcmdpbjogYXV0bzsKICAgICAgICBtYXgtd2lkdGg6IDgwMHB4OwogICAgICB9CiAgICBgXTsjZT1uSGUodGhpcyxvLFtdKTtnZXQgZmlsdGVycygpe3JldHVybiB0aGlzLiNlfXNldCBmaWx0ZXJzKHUpe3RoaXMuI2U9dX1zZWFyY2hJbnB1dD1uSGUodGhpcyxsKTtzZWFyY2hCdXR0b247Y29uc3RydWN0b3IoKXtzdXBlcigpfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJzZWFyY2hib3hDb250YWluZXIiPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iWW91ciBTa2lsbHMgKGUuZy4gVHlwZVNjcmlwdCwgUnVzdCwgUHJvamVjdG1hbmFnZW1lbnQpIiAvPgogICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaEJ1dHRvbiI+U2VhcmNoIC0+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAke3RoaXMuZmlsdGVycy5sZW5ndGg+MD93YAogICAgICAgIDxkaXYgY2xhc3M9ImZpbHRlcnMiPgogICAgICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9ImhyLXNtYWxsIj5GaWx0ZXJzPC9kZWVzLWhlYWRpbmc+CiAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24gLmxhYmVsPSR7ImxvY2F0aW9uIn0+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICA8L2Rpdj4gIAogICAgICBgOndgYH0KICAgIGB9Zmlyc3RVcGRhdGVkKCl7dGhpcy5zZWFyY2hJbnB1dC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWFyY2gtY2hhbmdlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt2YWx1ZTp0aGlzLnNlYXJjaElucHV0LnZhbHVlfX0pKX0pLHRoaXMuc2VhcmNoSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdT0+e3Uua2V5PT09IkVudGVyIiYmdGhpcy5fZGlzcGF0Y2hTdWJtaXQoKX0pLHRoaXMuc2VhcmNoQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+dGhpcy5fZGlzcGF0Y2hTdWJtaXQoKSl9X2Rpc3BhdGNoU3VibWl0KCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VhcmNoLXN1Ym1pdCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt2YWx1ZTp0aGlzLnNlYXJjaElucHV0LnZhbHVlfX0pKX1zdGF0aWN7bkhlKHIsYSl9fTtyZXR1cm4gaD1yfSkoKX0pO3ZhciBUdGE9YygoKT0+e190YSgpfSk7dmFyIEx0YSwkdGE9YygoKT0+e3BlKCk7THRhPWkoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAzMnB4OwogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgfQoKICAgIC5zZWN0aW9uIHsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgcGFkZGluZzogMjRweDsKICAgIH0KCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIH0KCiAgICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgIH0KCiAgICAudG9rZW4tZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwMHB4LCAxZnIpKTsKICAgICAgZ2FwOiAxNnB4OwogICAgfQoKICAgIC50b2tlbi1pdGVtIHsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICB9CgogICAgLnRva2VuLW5hbWUgewogICAgICBmb250LWZhbWlseTogJ0ludGVsIE9uZSBNb25vJywgbW9ub3NwYWNlOwogICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgIH0KCiAgICAudG9rZW4tdmFsdWUgewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CgogICAgLnNwYWNpbmctZGVtbyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgZ2FwOiA4cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIH0KCiAgICAuc3BhY2luZy1ib3ggewogICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIH0KCiAgICAucmFkaXVzLWRlbW8gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDE2cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIH0KCiAgICAucmFkaXVzLWJveCB7CiAgICAgIHdpZHRoOiA2MHB4OwogICAgICBoZWlnaHQ6IDYwcHg7CiAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQoKICAgIC5zaGFkb3ctZGVtbyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGdhcDogMjRweDsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgfQoKICAgIC5zaGFkb3ctYm94IHsKICAgICAgd2lkdGg6IDEwMHB4OwogICAgICBoZWlnaHQ6IDEwMHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMyNzI3MmEiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgIH0KCiAgICAuaGVpZ2h0LWRlbW8gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDE2cHg7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgfQoKICAgIC5oZWlnaHQtYm94IHsKICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICB3aWR0aDogMTIwcHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtdGhlbWU+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlNwYWNpbmcgU2NhbGU8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIENTUyB2YXJpYWJsZXM6IC0tZGVlcy1zcGFjaW5nLXhzIHRocm91Z2ggLS1kZWVzLXNwYWNpbmctM3hsCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2luZy1kZW1vIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNpbmctYm94IiBzdHlsZT0id2lkdGg6IHZhcigtLWRlZXMtc3BhY2luZy14cyk7IGhlaWdodDogdmFyKC0tZGVlcy1zcGFjaW5nLXhzKTsiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj54cyAoNHB4KTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjaW5nLWJveCIgc3R5bGU9IndpZHRoOiB2YXIoLS1kZWVzLXNwYWNpbmctc20pOyBoZWlnaHQ6IHZhcigtLWRlZXMtc3BhY2luZy1zbSk7Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+c20gKDhweCk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2luZy1ib3giIHN0eWxlPSJ3aWR0aDogdmFyKC0tZGVlcy1zcGFjaW5nLW1kKTsgaGVpZ2h0OiB2YXIoLS1kZWVzLXNwYWNpbmctbWQpOyI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPm1kICgxMnB4KTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjaW5nLWJveCIgc3R5bGU9IndpZHRoOiB2YXIoLS1kZWVzLXNwYWNpbmctbGcpOyBoZWlnaHQ6IHZhcigtLWRlZXMtc3BhY2luZy1sZyk7Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+bGcgKDE2cHgpPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNpbmctYm94IiBzdHlsZT0id2lkdGg6IHZhcigtLWRlZXMtc3BhY2luZy14bCk7IGhlaWdodDogdmFyKC0tZGVlcy1zcGFjaW5nLXhsKTsiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj54bCAoMjRweCk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2luZy1ib3giIHN0eWxlPSJ3aWR0aDogdmFyKC0tZGVlcy1zcGFjaW5nLTJ4bCk7IGhlaWdodDogdmFyKC0tZGVlcy1zcGFjaW5nLTJ4bCk7Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+MnhsICgzMnB4KTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjaW5nLWJveCIgc3R5bGU9IndpZHRoOiB2YXIoLS1kZWVzLXNwYWNpbmctM3hsKTsgaGVpZ2h0OiB2YXIoLS1kZWVzLXNwYWNpbmctM3hsKTsiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4zeGwgKDQ4cHgpPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Cb3JkZXIgUmFkaXVzIFNjYWxlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDU1MgdmFyaWFibGVzOiAtLWRlZXMtcmFkaXVzLXhzIHRocm91Z2ggLS1kZWVzLXJhZGl1cy1mdWxsCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icmFkaXVzLWRlbW8iPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmFkaXVzLWJveCIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IHZhcigtLWRlZXMtcmFkaXVzLXhzKTsiPnhzPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjJweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpdXMtYm94IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMtc20pOyI+c208L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+NHB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJhZGl1cy1ib3giIHN0eWxlPSJib3JkZXItcmFkaXVzOiB2YXIoLS1kZWVzLXJhZGl1cy1tZCk7Ij5tZDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj42cHg8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmFkaXVzLWJveCIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IHZhcigtLWRlZXMtcmFkaXVzLWxnKTsiPmxnPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjhweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpdXMtYm94IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMteGwpOyI+eGw8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+MTJweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpdXMtYm94IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMtZnVsbCk7Ij5mdWxsPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjk5OXB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TaGFkb3cgRWxldmF0aW9uIFNjYWxlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDU1MgdmFyaWFibGVzOiAtLWRlZXMtc2hhZG93LXhzIHRocm91Z2ggLS1kZWVzLXNoYWRvdy1sZwogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1kZW1vIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1ib3giIHN0eWxlPSJib3gtc2hhZG93OiB2YXIoLS1kZWVzLXNoYWRvdy14cyk7Ij54czwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj5taW5pbWFsPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1ib3giIHN0eWxlPSJib3gtc2hhZG93OiB2YXIoLS1kZWVzLXNoYWRvdy1zbSk7Ij5zbTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj5zdWJ0bGU8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hhZG93LWJveCIgc3R5bGU9ImJveC1zaGFkb3c6IHZhcigtLWRlZXMtc2hhZG93LW1kKTsiPm1kPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPm1lZGl1bTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaGFkb3ctYm94IiBzdHlsZT0iYm94LXNoYWRvdzogdmFyKC0tZGVlcy1zaGFkb3ctbGcpOyI+bGc8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+cHJvbWluZW50PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Db250cm9sIEhlaWdodCBTY2FsZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPgogICAgICAgICAgQ1NTIHZhcmlhYmxlczogLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LXNtIHRocm91Z2ggLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LXhsCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVpZ2h0LWRlbW8iPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVpZ2h0LWJveCIgc3R5bGU9ImhlaWdodDogdmFyKC0tZGVlcy1jb250cm9sLWhlaWdodC1zbSk7Ij5zbTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4zMnB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlaWdodC1ib3giIHN0eWxlPSJoZWlnaHQ6IHZhcigtLWRlZXMtY29udHJvbC1oZWlnaHQtbWQpOyI+bWQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+MzZweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWlnaHQtYm94IiBzdHlsZT0iaGVpZ2h0OiB2YXIoLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LWxnKTsiPmxnPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjQwcHg8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVpZ2h0LWJveCIgc3R5bGU9ImhlaWdodDogdmFyKC0tZGVlcy1jb250cm9sLWhlaWdodC14bCk7Ij54bDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj40OHB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5UcmFuc2l0aW9uIER1cmF0aW9uczwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPgogICAgICAgICAgQ1NTIHZhcmlhYmxlczogLS1kZWVzLXRyYW5zaXRpb24tZmFzdCB0aHJvdWdoIC0tZGVlcy10cmFuc2l0aW9uLXNsb3dlcgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWdyaWQiPgogICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4taXRlbSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPi0tZGVlcy10cmFuc2l0aW9uLWZhc3Q8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tdmFsdWUiPjAuMXM8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4taXRlbSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPi0tZGVlcy10cmFuc2l0aW9uLWRlZmF1bHQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tdmFsdWUiPjAuMTVzPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4tLWRlZXMtdHJhbnNpdGlvbi1zbG93PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLXZhbHVlIj4wLjJzPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4tLWRlZXMtdHJhbnNpdGlvbi1zbG93ZXI8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tdmFsdWUiPjAuM3M8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGVlcy10aGVtZT4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBucCxCcyxEdGEsQXRhPWMoKCk9PntwZSgpO1hlKCk7JHRhKCk7bnA9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LEJzPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxEdGE9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLXRoZW1lIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W107dmFyIEU9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNUaGVtZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6T2JqZWN0fSldLGg9W0woe3R5cGU6T2JqZWN0fSldLHA9W0woe3R5cGU6T2JqZWN0fSldLHg9W0woe3R5cGU6T2JqZWN0fSldLHk9W0woe3R5cGU6T2JqZWN0fSldLG5wKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VzdG9tU3BhY2luZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4iY3VzdG9tU3BhY2luZyJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLmN1c3RvbVNwYWNpbmcsImdldCIpLHNldDppKChDLE4pPT57Qy5jdXN0b21TcGFjaW5nPU59LCJzZXQiKX0sbWV0YWRhdGE6X30sbyxsKSxucCh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1c3RvbVJhZGl1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4iY3VzdG9tUmFkaXVzImluIEMsImhhcyIpLGdldDppKEM9PkMuY3VzdG9tUmFkaXVzLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0MuY3VzdG9tUmFkaXVzPU59LCJzZXQiKX0sbWV0YWRhdGE6X30sdSxmKSxucCh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1c3RvbVNoYWRvd3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+ImN1c3RvbVNoYWRvd3MiaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy5jdXN0b21TaGFkb3dzLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0MuY3VzdG9tU2hhZG93cz1OfSwic2V0Iil9LG1ldGFkYXRhOl99LGcsdiksbnAodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXN0b21UcmFuc2l0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4iY3VzdG9tVHJhbnNpdGlvbnMiaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy5jdXN0b21UcmFuc2l0aW9ucywiZ2V0Iiksc2V0OmkoKEMsTik9PntDLmN1c3RvbVRyYW5zaXRpb25zPU59LCJzZXQiKX0sbWV0YWRhdGE6X30sYixtKSxucCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1c3RvbUNvbnRyb2xIZWlnaHRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJjdXN0b21Db250cm9sSGVpZ2h0cyJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLmN1c3RvbUNvbnRyb2xIZWlnaHRzLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0MuY3VzdG9tQ29udHJvbEhlaWdodHM9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxNLGspLG5wKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsYSksRT1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89THRhO3N0YXRpYyBkZW1vR3JvdXBzPVsiVXRpbGl0eSJdOyNlPUJzKHRoaXMsbyxudWxsKTtnZXQgY3VzdG9tU3BhY2luZygpe3JldHVybiB0aGlzLiNlfXNldCBjdXN0b21TcGFjaW5nKF8pe3RoaXMuI2U9X30jdD0oQnModGhpcyxsKSxCcyh0aGlzLHUsbnVsbCkpO2dldCBjdXN0b21SYWRpdXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY3VzdG9tUmFkaXVzKF8pe3RoaXMuI3Q9X30jYT0oQnModGhpcyxmKSxCcyh0aGlzLGcsbnVsbCkpO2dldCBjdXN0b21TaGFkb3dzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGN1c3RvbVNoYWRvd3MoXyl7dGhpcy4jYT1ffSNyPShCcyh0aGlzLHYpLEJzKHRoaXMsYixudWxsKSk7Z2V0IGN1c3RvbVRyYW5zaXRpb25zKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGN1c3RvbVRyYW5zaXRpb25zKF8pe3RoaXMuI3I9X30jaT0oQnModGhpcyxtKSxCcyh0aGlzLE0sbnVsbCkpO2dldCBjdXN0b21Db250cm9sSGVpZ2h0cygpe3JldHVybiB0aGlzLiNpfXNldCBjdXN0b21Db250cm9sSGVpZ2h0cyhfKXt0aGlzLiNpPV99c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBjb250ZW50czsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICAke3RoaXMuZ2VuZXJhdGVDdXN0b21TdHlsZXMoKX0KICAgICAgPC9zdHlsZT4KICAgICAgPHNsb3Q+PC9zbG90PgogICAgYH1nZW5lcmF0ZUN1c3RvbVN0eWxlcygpe2xldCBfPVsiOmhvc3QgeyJdO2lmKHRoaXMuY3VzdG9tU3BhY2luZylmb3IobGV0W0MsTl1vZiBPYmplY3QuZW50cmllcyh0aGlzLmN1c3RvbVNwYWNpbmcpKU4mJl8ucHVzaChgICAtLWRlZXMtc3BhY2luZy0ke0N9OiAke059O2ApO2lmKHRoaXMuY3VzdG9tUmFkaXVzKWZvcihsZXRbQyxOXW9mIE9iamVjdC5lbnRyaWVzKHRoaXMuY3VzdG9tUmFkaXVzKSlOJiZfLnB1c2goYCAgLS1kZWVzLXJhZGl1cy0ke0N9OiAke059O2ApO2lmKHRoaXMuY3VzdG9tU2hhZG93cylmb3IobGV0W0MsTl1vZiBPYmplY3QuZW50cmllcyh0aGlzLmN1c3RvbVNoYWRvd3MpKU4mJl8ucHVzaChgICAtLWRlZXMtc2hhZG93LSR7Q306ICR7Tn07YCk7aWYodGhpcy5jdXN0b21UcmFuc2l0aW9ucyl7Zm9yKGxldFtDLE5db2YgT2JqZWN0LmVudHJpZXModGhpcy5jdXN0b21UcmFuc2l0aW9ucykpaWYoTil7bGV0ICQ9Qz09PSJkZWZhdWx0Ij8iZGVmYXVsdCI6QztfLnB1c2goYCAgLS1kZWVzLXRyYW5zaXRpb24tJHskfTogJHtOfTtgKX19aWYodGhpcy5jdXN0b21Db250cm9sSGVpZ2h0cylmb3IobGV0W0MsTl1vZiBPYmplY3QuZW50cmllcyh0aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzKSlOJiZfLnB1c2goYCAgLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LSR7Q306ICR7Tn07YCk7cmV0dXJuIF8ucHVzaCgifSIpLF8uam9pbihgCmApfXNldFNwYWNpbmcoXyxDKXt0aGlzLmN1c3RvbVNwYWNpbmc9ey4uLnRoaXMuY3VzdG9tU3BhY2luZyxbX106Q319c2V0UmFkaXVzKF8sQyl7dGhpcy5jdXN0b21SYWRpdXM9ey4uLnRoaXMuY3VzdG9tUmFkaXVzLFtfXTpDfX1zZXRTaGFkb3coXyxDKXt0aGlzLmN1c3RvbVNoYWRvd3M9ey4uLnRoaXMuY3VzdG9tU2hhZG93cyxbX106Q319c2V0VHJhbnNpdGlvbihfLEMpe3RoaXMuY3VzdG9tVHJhbnNpdGlvbnM9ey4uLnRoaXMuY3VzdG9tVHJhbnNpdGlvbnMsW19dOkN9fXNldENvbnRyb2xIZWlnaHQoXyxDKXt0aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzPXsuLi50aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzLFtfXTpDfX1nZXRUaGVtZSgpe3JldHVybntjb2xvcnM6Sm4uY29sb3JzLHNwYWNpbmc6ey4uLkpuLnNwYWNpbmcsLi4udGhpcy5jdXN0b21TcGFjaW5nfSxyYWRpdXM6ey4uLkpuLnJhZGl1cywuLi50aGlzLmN1c3RvbVJhZGl1c30sc2hhZG93czp7Li4uSm4uc2hhZG93cywuLi50aGlzLmN1c3RvbVNoYWRvd3N9LHRyYW5zaXRpb25zOnsuLi5Kbi50cmFuc2l0aW9ucywuLi50aGlzLmN1c3RvbVRyYW5zaXRpb25zfSxjb250cm9sSGVpZ2h0czp7Li4uSm4uY29udHJvbEhlaWdodHMsLi4udGhpcy5jdXN0b21Db250cm9sSGVpZ2h0c319fXJlc2V0VG9EZWZhdWx0cygpe3RoaXMuY3VzdG9tU3BhY2luZz1udWxsLHRoaXMuY3VzdG9tUmFkaXVzPW51bGwsdGhpcy5jdXN0b21TaGFkb3dzPW51bGwsdGhpcy5jdXN0b21UcmFuc2l0aW9ucz1udWxsLHRoaXMuY3VzdG9tQ29udHJvbEhlaWdodHM9bnVsbH1hcHBseVRoZW1lKF8pe18uc3BhY2luZyYmKHRoaXMuY3VzdG9tU3BhY2luZz1fLnNwYWNpbmcpLF8ucmFkaXVzJiYodGhpcy5jdXN0b21SYWRpdXM9Xy5yYWRpdXMpLF8uc2hhZG93cyYmKHRoaXMuY3VzdG9tU2hhZG93cz1fLnNoYWRvd3MpLF8udHJhbnNpdGlvbnMmJih0aGlzLmN1c3RvbVRyYW5zaXRpb25zPV8udHJhbnNpdGlvbnMpLF8uY29udHJvbEhlaWdodHMmJih0aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzPV8uY29udHJvbEhlaWdodHMpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxCcyh0aGlzLGspfXN0YXRpY3tCcyhyLGEpfX07cmV0dXJuIEU9cn0pKCl9KTt2YXIgUHRhPWMoKCk9PntBdGEoKX0pO3ZhciBFdGEsSXRhPWMoKCk9PntwZSgpO2xIZSgpO0V0YT1pKGFzeW5jKCk9PntsZXQgdD1hd2FpdCBoWC5jcmVhdGVBbmRTaG93KCk7c2V0VGltZW91dChhc3luYygpPT57YXdhaXQgdC5kZXN0cm95KCl9LDFlNCl9LCJkZW1vRnVuYyIpfSk7dmFyIGNIZSxFQixoWCxsSGU9YygoKT0+e3BlKCk7SXRhKCk7Z28oKTtwZSgpO1hlKCk7Y0hlPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxFQj1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0saFg9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLXVwZGF0ZXIiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXTt2YXIgcD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc1VwZGF0ZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgZz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOlN0cmluZ30pXSxoPVtMKHt0eXBlOlN0cmluZ30pXSxjSGUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VmVyc2lvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh2PT4iY3VycmVudFZlcnNpb24iaW4gdiwiaGFzIiksZ2V0Omkodj0+di5jdXJyZW50VmVyc2lvbiwiZ2V0Iiksc2V0OmkoKHYseCk9Pnt2LmN1cnJlbnRWZXJzaW9uPXh9LCJzZXQiKX0sbWV0YWRhdGE6Z30sbyxsKSxjSGUodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ1cGRhdGVkVmVyc2lvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh2PT4idXBkYXRlZFZlcnNpb24iaW4gdiwiaGFzIiksZ2V0Omkodj0+di51cGRhdGVkVmVyc2lvbiwiZ2V0Iiksc2V0OmkoKHYseCk9Pnt2LnVwZGF0ZWRWZXJzaW9uPXh9LCJzZXQiKX0sbWV0YWRhdGE6Z30sdSxmKSxjSGUobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Z30sbnVsbCxhKSxwPXI9ZS52YWx1ZSxnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmd9KX1zdGF0aWMgZGVtbz1FdGE7c3RhdGljIGRlbW9Hcm91cHM9WyJVdGlsaXR5Il07c3RhdGljIGFzeW5jIGNyZWF0ZUFuZFNob3coKXtsZXQgZz1uZXcgcDtyZXR1cm4gZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChnKSxnfSNlPUVCKHRoaXMsbyx2b2lkIDApO2dldCBjdXJyZW50VmVyc2lvbigpe3JldHVybiB0aGlzLiNlfXNldCBjdXJyZW50VmVyc2lvbihnKXt0aGlzLiNlPWd9I3Q9KEVCKHRoaXMsbCksRUIodGhpcyx1LHZvaWQgMCkpO2dldCB1cGRhdGVkVmVyc2lvbigpe3JldHVybiB0aGlzLiN0fXNldCB1cGRhdGVkVmVyc2lvbihnKXt0aGlzLiN0PWd9Y29uc3RydWN0b3IoKXtzdXBlcigpLEVCKHRoaXMsZiksdnQuZWxlbWVudEJhc2ljLnNldHVwKCl9c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIC5tb2RhbENvbnRhaW5lciB7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlZWVlZWIiLCIjMjIyIil9OwogICAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2VlZWVlYiIsIiMzMzMiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nQ29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNDBweCA0MHB4OwogICAgICB9CgogICAgICBoMSB7CiAgICAgICAgbWFyZ2luOiBub25lOwogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzMzMiLCIjZmZmIil9OwogICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgIH0KCiAgICAgIC5idXR0b25Db250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCUgNTAlOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRlZXMtd2luZG93bGF5ZXIKICAgICAgICBAY2xpY2tlZD0iJHt0aGlzLndpbmRvd0xheWVyQ2xpY2tlZH0iCiAgICAgICAgLm9wdGlvbnM9JHt7Ymx1cjohMH19CiAgICAgID4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbENvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nQ29udGFpbmVyIj4KICAgICAgICAgICAgPGRlZXMtc3Bpbm5lciAuc2l6ZT0kezYwfT48L2RlZXMtc3Bpbm5lcj4KICAgICAgICAgICAgPGgxPlVwZGF0aW5nIHRoZSBhcHBsaWNhdGlvbi4uLjwvaDE+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzIj4KICAgICAgICAgICAgPGRlZXMtcHJvZ3Jlc3NiYXIgLnByb2dyZXNzPSR7LjV9PjwvZGVlcy1wcm9ncmVzc2Jhcj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uQ29udGFpbmVyIj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPk1vcmUgaW5mbzwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5DaGFuZ2Vsb2c8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+IDwvZGVlcy13aW5kb3dsYXllcgogICAgICA+PgogICAgYH1hc3luYyBkZXN0cm95KCl7dGhpcy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMpfXdpbmRvd0xheWVyQ2xpY2tlZCgpe31zdGF0aWN7RUIocixhKX19O3JldHVybiBwPXJ9KSgpfSk7dmFyIE50YT1jKCgpPT57bEhlKCl9KTt2YXIgUnRhPWMoKCk9PntvT2UoKX0pO3ZhciBGdGE9YygoKT0+e010YSgpO1R0YSgpO1B0YSgpO050YSgpO1J0YSgpfSk7dmFyIFQ2LENpLE90YSxtWD1jKCgpPT57cGUoKTtJdCgpO1hlKCk7S3QoKTt2MSgpO3YxKCk7czYoKTtjbCgpO2NsKCk7VDY9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LENpPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxPdGE9KCgpPT57bGV0IHQ9W2FlKCJkZWVzLXdvcmtzcGFjZS1maWxldHJlZSIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdLEUsXz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzV29ya3NwYWNlRmlsZXRyZWUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgJD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk9iamVjdH0pXSxoPVtMKHt0eXBlOlN0cmluZ30pXSxwPVtMKHt0eXBlOlN0cmluZ30pXSx4PVtaKCldLHk9W1ooKV0sRT1bWigpXSxUNih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV4ZWN1dGlvbkVudmlyb25tZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEk9PiJleGVjdXRpb25FbnZpcm9ubWVudCJpbiBJLCJoYXMiKSxnZXQ6aShJPT5JLmV4ZWN1dGlvbkVudmlyb25tZW50LCJnZXQiKSxzZXQ6aSgoSSxqKT0+e0kuZXhlY3V0aW9uRW52aXJvbm1lbnQ9an0sInNldCIpfSxtZXRhZGF0YTokfSxvLGwpLFQ2KHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicm9vdFBhdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoST0+InJvb3RQYXRoImluIEksImhhcyIpLGdldDppKEk9Pkkucm9vdFBhdGgsImdldCIpLHNldDppKChJLGopPT57SS5yb290UGF0aD1qfSwic2V0Iil9LG1ldGFkYXRhOiR9LHUsZiksVDYodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFBhdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoST0+InNlbGVjdGVkUGF0aCJpbiBJLCJoYXMiKSxnZXQ6aShJPT5JLnNlbGVjdGVkUGF0aCwiZ2V0Iiksc2V0OmkoKEksaik9PntJLnNlbGVjdGVkUGF0aD1qfSwic2V0Iil9LG1ldGFkYXRhOiR9LGcsdiksVDYodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0cmVlRGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShJPT4idHJlZURhdGEiaW4gSSwiaGFzIiksZ2V0OmkoST0+SS50cmVlRGF0YSwiZ2V0Iiksc2V0OmkoKEksaik9PntJLnRyZWVEYXRhPWp9LCJzZXQiKX0sbWV0YWRhdGE6JH0sYixtKSxUNih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzTG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShJPT4iaXNMb2FkaW5nImluIEksImhhcyIpLGdldDppKEk9PkkuaXNMb2FkaW5nLCJnZXQiKSxzZXQ6aSgoSSxqKT0+e0kuaXNMb2FkaW5nPWp9LCJzZXQiKX0sbWV0YWRhdGE6JH0sTSxrKSxUNih0aGlzLG51bGwsRSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVycm9yTWVzc2FnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShJPT4iZXJyb3JNZXNzYWdlImluIEksImhhcyIpLGdldDppKEk9PkkuZXJyb3JNZXNzYWdlLCJnZXQiKSxzZXQ6aSgoSSxqKT0+e0kuZXJyb3JNZXNzYWdlPWp9LCJzZXQiKX0sbWV0YWRhdGE6JH0sXyxDKSxUNihudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTokfSxudWxsLGEpLE49cj1lLnZhbHVlLCQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6JH0pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzAwcHg7IGhlaWdodDogNDAwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsiPgogICAgICA8ZGVlcy13b3Jrc3BhY2UtZmlsZXRyZWU+PC9kZWVzLXdvcmtzcGFjZS1maWxldHJlZT4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIldvcmtzcGFjZSJdOyNlPUNpKHRoaXMsbyxudWxsKTtnZXQgZXhlY3V0aW9uRW52aXJvbm1lbnQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZXhlY3V0aW9uRW52aXJvbm1lbnQoJCl7dGhpcy4jZT0kfSN0PShDaSh0aGlzLGwpLENpKHRoaXMsdSwiLyIpKTtnZXQgcm9vdFBhdGgoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcm9vdFBhdGgoJCl7dGhpcy4jdD0kfSNhPShDaSh0aGlzLGYpLENpKHRoaXMsZywiIikpO2dldCBzZWxlY3RlZFBhdGgoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2VsZWN0ZWRQYXRoKCQpe3RoaXMuI2E9JH0jcj0oQ2kodGhpcyx2KSxDaSh0aGlzLGIsW10pKTtnZXQgdHJlZURhdGEoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdHJlZURhdGEoJCl7dGhpcy4jcj0kfSNpPShDaSh0aGlzLG0pLENpKHRoaXMsTSwhMSkpO2dldCBpc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy4jaX1zZXQgaXNMb2FkaW5nKCQpe3RoaXMuI2k9JH0jcz0oQ2kodGhpcyxrKSxDaSh0aGlzLF8sIiIpKTtnZXQgZXJyb3JNZXNzYWdlKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGVycm9yTWVzc2FnZSgkKXt0aGlzLiNzPSR9ZXhwYW5kZWRQYXRocz0oQ2kodGhpcyxDKSxuZXcgU2V0KTtsb2FkVHJlZVN0YXJ0ZWQ9ITE7Y2xpcGJvYXJkUGF0aD1udWxsO2NsaXBib2FyZE9wZXJhdGlvbj1udWxsO2ZpbGVXYXRjaGVyPW51bGw7cmVmcmVzaERlYm91bmNlVGltZW91dD1udWxsO2xhc3RFeGVjdXRpb25FbnZpcm9ubWVudD1udWxsO3N0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTglKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAudHJlZS1jb250YWluZXIgewogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICB9CgogICAgICAudHJlZS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbjogMXB4IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRyZWUtaXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDkzJSkiLCJoc2woMCAwJSAxNCUpIil9OwogICAgICB9CgogICAgICAudHJlZS1pdGVtLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDk1JSkiLCJoc2woMjEwIDUwJSAyMCUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDQwJSkiLCJoc2woMjEwIDEwMCUgNzAlKSIpfTsKICAgICAgfQoKICAgICAgLnRyZWUtaXRlbS5zZWxlY3RlZDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA5MiUpIiwiaHNsKDIxMCA1MCUgMjUlKSIpfTsKICAgICAgfQoKICAgICAgLmluZGVudCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZXhwYW5kLWljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmV4cGFuZC1pY29uLmV4cGFuZGVkIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgICAgIH0KCiAgICAgIC5leHBhbmQtaWNvbi5oaWRkZW4gewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIG1hcmdpbi1yaWdodDogNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbiBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbi5mb2xkZXIgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDQ1IDgwJSA0NSUpIiwiaHNsKDQ1IDcwJSA1NSUpIil9OwogICAgICB9CgogICAgICAuZmlsZS1pY29uLmZpbGUgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24udHlwZXNjcmlwdCB7CiAgICAgICAgY29sb3I6IGhzbCgyMTEgNjAlIDQ4JSk7CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24uamF2YXNjcmlwdCB7CiAgICAgICAgY29sb3I6IGhzbCg1MyA5MyUgNTQlKTsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbi5qc29uIHsKICAgICAgICBjb2xvcjogaHNsKDQ1IDgwJSA1MCUpOwogICAgICB9CgogICAgICAuZmlsZS1pY29uLmh0bWwgewogICAgICAgIGNvbG9yOiBoc2woMTQgNzclIDUyJSk7CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24uY3NzIHsKICAgICAgICBjb2xvcjogaHNsKDIyOCA3NyUgNTklKTsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbi5tYXJrZG93biB7CiAgICAgICAgY29sb3I6IGhzbCgwIDAlIDUwJSk7CiAgICAgIH0KCiAgICAgIC5maWxlLW5hbWUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDg1JSkiKX07CiAgICAgIH0KCiAgICAgIC5sb2FkaW5nIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAuZXJyb3IgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiBoc2woMCA3MCUgNTAlKTsKICAgICAgfQoKICAgICAgLmVtcHR5IHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgLmZpbGV0cmVlLXRvb2xiYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NiUpIiwiaHNsKDAgMCUgOCUpIil9OwogICAgICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICAgICAgdG9wOiAwOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDQwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAudG9vbGJhci1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzLCBiYWNrZ3JvdW5kIDAuMTVzOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDMwJSkiLCJoc2woMCAwJSA3MCUpIil9OwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b246aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wOCkiLCJoc2woMCAwJSAxMDAlIC8gMC4xKSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQ/dGhpcy5pc0xvYWRpbmc/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nIj4KICAgICAgICAgIExvYWRpbmcgZmlsZXMuLi4KICAgICAgICA8L2Rpdj4KICAgICAgYDp0aGlzLmVycm9yTWVzc2FnZT93YAogICAgICAgIDxkaXYgY2xhc3M9ImVycm9yIj4KICAgICAgICAgICR7dGhpcy5lcnJvck1lc3NhZ2V9CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgPGRpdiBjbGFzcz0iZmlsZXRyZWUtdG9vbGJhciI+CiAgICAgICAgPHNwYW4gY2xhc3M9InRvb2xiYXItdGl0bGUiPkV4cGxvcmVyPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYWN0aW9ucyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY3JlYXRlTmV3RmlsZSgiLyIpfSB0aXRsZT0iTmV3IEZpbGUiPgogICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpmaWxlUGx1cyJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jcmVhdGVOZXdGb2xkZXIoIi8iKX0gdGl0bGU9Ik5ldyBGb2xkZXIiPgogICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpmb2xkZXJQbHVzIn0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgJHt0aGlzLnRyZWVEYXRhLmxlbmd0aD09PTA/d2A8ZGl2IGNsYXNzPSJlbXB0eSI+Tm8gZmlsZXMgZm91bmQuPC9kaXY+YDp3YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cmVlLWNvbnRhaW5lciIgQGNvbnRleHRtZW51PSR7dGhpcy5oYW5kbGVFbXB0eVNwYWNlQ29udGV4dE1lbnV9PgogICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJUcmVlKHRoaXMudHJlZURhdGEpfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9CiAgICBgOndgCiAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHkiPgogICAgICAgICAgTm8gZXhlY3V0aW9uIGVudmlyb25tZW50IHByb3ZpZGVkLgogICAgICAgIDwvZGl2PgogICAgICBgfXJlbmRlclRyZWUoJCl7cmV0dXJuICQubWFwKEk9PnRoaXMucmVuZGVyTm9kZShJKSl9cmVuZGVyTm9kZSgkKXtsZXQgST0kLnR5cGU9PT0iZGlyZWN0b3J5IixqPXRoaXMuZXhwYW5kZWRQYXRocy5oYXMoJC5wYXRoKSxTPSQucGF0aD09PXRoaXMuc2VsZWN0ZWRQYXRoLHo9dGhpcy5nZXRGaWxlSWNvbkNsYXNzKCQpO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9InRyZWUtaXRlbSAke1M/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgc3R5bGU9InBhZGRpbmctbGVmdDogJHs4KyQubGV2ZWwqMTZ9cHgiCiAgICAgICAgQGNsaWNrPSR7RD0+dGhpcy5oYW5kbGVJdGVtQ2xpY2soRCwkKX0KICAgICAgICBAY29udGV4dG1lbnU9JHtEPT50aGlzLmhhbmRsZUNvbnRleHRNZW51KEQsJCl9CiAgICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0iZXhwYW5kLWljb24gJHtqPyJleHBhbmRlZCI6IiJ9ICR7ST8iIjoiaGlkZGVuIn0iPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Y2hldnJvblJpZ2h0In0gaWNvblNpemU9IjEyIj48L2RlZXMtaWNvbj4KICAgICAgICA8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImZpbGUtaWNvbiAke3p9Ij4KICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHt0aGlzLmdldEZpbGVJY29uKCQpfSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgIDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZmlsZS1uYW1lIj4keyQubmFtZX08L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICAke0kmJmomJiQuY2hpbGRyZW4/dGhpcy5yZW5kZXJUcmVlKCQuY2hpbGRyZW4pOiIifQogICAgYH1nZXRGaWxlSWNvbigkKXtpZigkLnR5cGU9PT0iZGlyZWN0b3J5IilyZXR1cm4gdGhpcy5leHBhbmRlZFBhdGhzLmhhcygkLnBhdGgpPyJsdWNpZGU6Zm9sZGVyT3BlbiI6Imx1Y2lkZTpmb2xkZXIiO3N3aXRjaCgkLm5hbWUuc3BsaXQoIi4iKS5wb3AoKT8udG9Mb3dlckNhc2UoKSl7Y2FzZSJ0cyI6Y2FzZSJ0c3giOnJldHVybiJsdWNpZGU6ZmlsZUNvZGUiO2Nhc2UianMiOmNhc2UianN4IjpyZXR1cm4ibHVjaWRlOmZpbGVDb2RlIjtjYXNlImpzb24iOnJldHVybiJsdWNpZGU6ZmlsZUpzb24iO2Nhc2UiaHRtbCI6cmV0dXJuImx1Y2lkZTpmaWxlQ29kZSI7Y2FzZSJjc3MiOmNhc2Uic2NzcyI6Y2FzZSJsZXNzIjpyZXR1cm4ibHVjaWRlOmZpbGVDb2RlIjtjYXNlIm1kIjpyZXR1cm4ibHVjaWRlOmZpbGVUZXh0IjtjYXNlInBuZyI6Y2FzZSJqcGciOmNhc2UianBlZyI6Y2FzZSJnaWYiOmNhc2Uic3ZnIjpyZXR1cm4ibHVjaWRlOmltYWdlIjtkZWZhdWx0OnJldHVybiJsdWNpZGU6ZmlsZSJ9fWdldEZpbGVJY29uQ2xhc3MoJCl7aWYoJC50eXBlPT09ImRpcmVjdG9yeSIpcmV0dXJuImZvbGRlciI7c3dpdGNoKCQubmFtZS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpKXtjYXNlInRzIjpjYXNlInRzeCI6cmV0dXJuInR5cGVzY3JpcHQiO2Nhc2UianMiOmNhc2UianN4IjpyZXR1cm4iamF2YXNjcmlwdCI7Y2FzZSJqc29uIjpyZXR1cm4ianNvbiI7Y2FzZSJodG1sIjpyZXR1cm4iaHRtbCI7Y2FzZSJjc3MiOmNhc2Uic2NzcyI6Y2FzZSJsZXNzIjpyZXR1cm4iY3NzIjtjYXNlIm1kIjpyZXR1cm4ibWFya2Rvd24iO2RlZmF1bHQ6cmV0dXJuImZpbGUifX1hc3luYyBoYW5kbGVJdGVtQ2xpY2soJCxJKXskLnN0b3BQcm9wYWdhdGlvbigpLEkudHlwZT09PSJkaXJlY3RvcnkiP2F3YWl0IHRoaXMudG9nZ2xlRGlyZWN0b3J5KEkpOih0aGlzLnNlbGVjdGVkUGF0aD1JLnBhdGgsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZmlsZS1zZWxlY3QiLHtkZXRhaWw6e3BhdGg6SS5wYXRoLG5hbWU6SS5uYW1lfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX1hc3luYyB0b2dnbGVEaXJlY3RvcnkoJCl7dGhpcy5leHBhbmRlZFBhdGhzLmhhcygkLnBhdGgpP3RoaXMuZXhwYW5kZWRQYXRocy5kZWxldGUoJC5wYXRoKToodGhpcy5leHBhbmRlZFBhdGhzLmFkZCgkLnBhdGgpLCghJC5jaGlsZHJlbnx8JC5jaGlsZHJlbi5sZW5ndGg9PT0wKSYmYXdhaXQgdGhpcy5sb2FkRGlyZWN0b3J5Q29udGVudHMoJCkpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfWFzeW5jIGxvYWREaXJlY3RvcnlDb250ZW50cygkKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXRyeXtsZXQgST1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWREaXIoJC5wYXRoKTskLmNoaWxkcmVuPXRoaXMuc29ydEVudHJpZXMoSSkubWFwKGo9Pih7Li4uaixsZXZlbDokLmxldmVsKzEsZXhwYW5kZWQ6ITEsY2hpbGRyZW46ai50eXBlPT09ImRpcmVjdG9yeSI/W106dm9pZCAwfSkpfWNhdGNoKEkpe2NvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBsb2FkIGRpcmVjdG9yeSAkeyQucGF0aH06YCxJKX19YXN5bmMgaGFuZGxlQ29udGV4dE1lbnUoJCxJKXskLnByZXZlbnREZWZhdWx0KCksJC5zdG9wUHJvcGFnYXRpb24oKTtsZXQgaj1bXTtJLnR5cGU9PT0iZGlyZWN0b3J5IiYmai5wdXNoKHtuYW1lOiJOZXcgRmlsZSIsaWNvbk5hbWU6ImZpbGVQbHVzIixhY3Rpb246aShhc3luYygpPT50aGlzLmNyZWF0ZU5ld0ZpbGUoSS5wYXRoKSwiYWN0aW9uIil9LHtuYW1lOiJOZXcgRm9sZGVyIixpY29uTmFtZToiZm9sZGVyUGx1cyIsYWN0aW9uOmkoYXN5bmMoKT0+dGhpcy5jcmVhdGVOZXdGb2xkZXIoSS5wYXRoKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSksai5wdXNoKHtuYW1lOiJSZW5hbWUiLGljb25OYW1lOiJwZW5jaWwiLGFjdGlvbjppKGFzeW5jKCk9PnRoaXMucmVuYW1lSXRlbShJKSwiYWN0aW9uIil9LHtuYW1lOiJEdXBsaWNhdGUiLGljb25OYW1lOiJmaWxlcyIsYWN0aW9uOmkoYXN5bmMoKT0+dGhpcy5kdXBsaWNhdGVJdGVtKEkpLCJhY3Rpb24iKX0se25hbWU6IkNvcHkiLGljb25OYW1lOiJjb3B5IixhY3Rpb246aShhc3luYygpPT50aGlzLmNvcHlJdGVtKEkpLCJhY3Rpb24iKX0pLEkudHlwZT09PSJkaXJlY3RvcnkiJiZ0aGlzLmNsaXBib2FyZFBhdGgmJmoucHVzaCh7bmFtZToiUGFzdGUiLGljb25OYW1lOiJjbGlwYm9hcmQiLGFjdGlvbjppKGFzeW5jKCk9PnRoaXMucGFzdGVJdGVtKEkucGF0aCksImFjdGlvbiIpfSksai5wdXNoKHtkaXZpZGVyOiEwfSx7bmFtZToiRGVsZXRlIixpY29uTmFtZToidHJhc2gyIixhY3Rpb246aShhc3luYygpPT50aGlzLmRlbGV0ZUl0ZW0oSSksImFjdGlvbiIpfSksYXdhaXQgTnQub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoJCxqKX1hc3luYyBoYW5kbGVFbXB0eVNwYWNlQ29udGV4dE1lbnUoJCl7aWYoJC50YXJnZXQuY2xvc2VzdCgiLnRyZWUtaXRlbSIpKXJldHVybjskLnByZXZlbnREZWZhdWx0KCksJC5zdG9wUHJvcGFnYXRpb24oKTtsZXQgaj1be25hbWU6Ik5ldyBGaWxlIixpY29uTmFtZToiZmlsZVBsdXMiLGFjdGlvbjppKGFzeW5jKCk9PnRoaXMuY3JlYXRlTmV3RmlsZSgiLyIpLCJhY3Rpb24iKX0se25hbWU6Ik5ldyBGb2xkZXIiLGljb25OYW1lOiJmb2xkZXJQbHVzIixhY3Rpb246aShhc3luYygpPT50aGlzLmNyZWF0ZU5ld0ZvbGRlcigiLyIpLCJhY3Rpb24iKX1dO3RoaXMuY2xpcGJvYXJkUGF0aCYmai5wdXNoKHtkaXZpZGVyOiEwfSx7bmFtZToiUGFzdGUiLGljb25OYW1lOiJjbGlwYm9hcmQiLGFjdGlvbjppKGFzeW5jKCk9PnRoaXMucGFzdGVJdGVtKCIvIiksImFjdGlvbiIpfSksYXdhaXQgTnQub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoJCxqKX1hc3luYyBzaG93SW5wdXRNb2RhbCgkKXtyZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgST0+e2xldCBqPWF3YWl0IE1hLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6JC5oZWFkaW5nLHdpZHRoOiJzbWFsbCIsY29udGVudDp3YAogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHskLmxhYmVsfQogICAgICAgICAgICAudmFsdWU9JHskLnZhbHVlfHwiIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246aShhc3luYyB6PT57YXdhaXQgei5kZXN0cm95KCksSShudWxsKX0sImFjdGlvbiIpfSx7bmFtZTokLmJ1dHRvbk5hbWV8fCJDcmVhdGUiLGFjdGlvbjppKGFzeW5jIHo9PntsZXQgQT16LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5tb2RhbCAuY29udGVudCIpPy5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LXRleHQiKT8udmFsdWU/LnRyaW0oKXx8IiI7YXdhaXQgei5kZXN0cm95KCksSShBfHxudWxsKX0sImFjdGlvbiIpfV19KTthd2FpdCBqLnVwZGF0ZUNvbXBsZXRlO2xldCBTPWouc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLm1vZGFsIC5jb250ZW50Iik7aWYoUyl7bGV0IHo9Uy5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LXRleHQiKTt6JiYoYXdhaXQgei51cGRhdGVDb21wbGV0ZSx6LmZvY3VzKCkpfX0pfWFzeW5jIGNyZWF0ZU5ld0ZpbGUoJCl7bGV0IEk9YXdhaXQgdGhpcy5zaG93SW5wdXRNb2RhbCh7aGVhZGluZzoiTmV3IEZpbGUiLGxhYmVsOiJGaWxlIG5hbWUifSk7aWYoIUl8fCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXJldHVybjtsZXQgaj0kPT09Ii8iP2AvJHtJfWA6YCR7JH0vJHtJfWA7dHJ5e2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud3JpdGVGaWxlKGosIiIpLGF3YWl0IHRoaXMucmVmcmVzaCgpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZpbGUtY3JlYXRlZCIse2RldGFpbDp7cGF0aDpqfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNhdGNoKFMpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgZmlsZToiLFMpfX1hc3luYyBjcmVhdGVOZXdGb2xkZXIoJCl7bGV0IEk9YXdhaXQgdGhpcy5zaG93SW5wdXRNb2RhbCh7aGVhZGluZzoiTmV3IEZvbGRlciIsbGFiZWw6IkZvbGRlciBuYW1lIn0pO2lmKCFJfHwhdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudClyZXR1cm47bGV0IGo9JD09PSIvIj9gLyR7SX1gOmAkeyR9LyR7SX1gO3RyeXthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50Lm1rZGlyKGopLGF3YWl0IHRoaXMucmVmcmVzaCgpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZvbGRlci1jcmVhdGVkIix7ZGV0YWlsOntwYXRoOmp9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y2F0Y2goUyl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBmb2xkZXI6IixTKX19YXN5bmMgZGVsZXRlSXRlbSgkKXtpZighKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHwhY29uZmlybShgRGVsZXRlICR7JC5uYW1lfT9gKSkpdHJ5e2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucm0oJC5wYXRoLHtyZWN1cnNpdmU6JC50eXBlPT09ImRpcmVjdG9yeSJ9KSxhd2FpdCB0aGlzLnJlZnJlc2goKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpdGVtLWRlbGV0ZWQiLHtkZXRhaWw6e3BhdGg6JC5wYXRoLHR5cGU6JC50eXBlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNhdGNoKGope2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBkZWxldGUgaXRlbToiLGopfX1hc3luYyByZW5hbWVJdGVtKCQpe2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXJldHVybjtsZXQgST1hd2FpdCB0aGlzLnNob3dJbnB1dE1vZGFsKHtoZWFkaW5nOiJSZW5hbWUiLGxhYmVsOiJOZXcgbmFtZSIsdmFsdWU6JC5uYW1lLGJ1dHRvbk5hbWU6IlJlbmFtZSJ9KTtpZighSXx8ST09PSQubmFtZSlyZXR1cm47bGV0IGo9JC5wYXRoLnN1YnN0cmluZygwLCQucGF0aC5sYXN0SW5kZXhPZigiLyIpKXx8Ii8iLFM9aj09PSIvIj9gLyR7SX1gOmAke2p9LyR7SX1gO3RyeXtpZigkLnR5cGU9PT0iZmlsZSIpe2xldCB6PWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUoJC5wYXRoKTthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShTLHopLGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucm0oJC5wYXRoKX1lbHNlIGF3YWl0IHRoaXMuY29weURpcmVjdG9yeUNvbnRlbnRzKCQucGF0aCxTKSxhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJtKCQucGF0aCx7cmVjdXJzaXZlOiEwfSk7YXdhaXQgdGhpcy5yZWZyZXNoKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiaXRlbS1yZW5hbWVkIix7ZGV0YWlsOntvbGRQYXRoOiQucGF0aCxuZXdQYXRoOlMsdHlwZTokLnR5cGV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y2F0Y2goeil7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHJlbmFtZSBpdGVtOiIseil9fWFzeW5jIGR1cGxpY2F0ZUl0ZW0oJCl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO2xldCBJPSQucGF0aC5zdWJzdHJpbmcoMCwkLnBhdGgubGFzdEluZGV4T2YoIi8iKSl8fCIvIixqO2lmKCQudHlwZT09PSJmaWxlIil7bGV0IHo9JC5uYW1lLmxhc3RJbmRleE9mKCIuIik7aWYoej4wKXtsZXQgRD0kLm5hbWUuc3Vic3RyaW5nKDAseiksVD0kLm5hbWUuc3Vic3RyaW5nKHopO2o9YCR7RH1fY29weSR7VH1gfWVsc2Ugaj1gJHskLm5hbWV9X2NvcHlgfWVsc2Ugaj1gJHskLm5hbWV9X2NvcHlgO2xldCBTPUk9PT0iLyI/YC8ke2p9YDpgJHtJfS8ke2p9YDt0cnl7aWYoJC50eXBlPT09ImZpbGUiKXtsZXQgej1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKCQucGF0aCk7YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUoUyx6KX1lbHNlIGF3YWl0IHRoaXMuY29weURpcmVjdG9yeUNvbnRlbnRzKCQucGF0aCxTKTthd2FpdCB0aGlzLnJlZnJlc2goKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpdGVtLWR1cGxpY2F0ZWQiLHtkZXRhaWw6e3NvdXJjZVBhdGg6JC5wYXRoLG5ld1BhdGg6Uyx0eXBlOiQudHlwZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jYXRjaCh6KXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZHVwbGljYXRlIGl0ZW06Iix6KX19YXN5bmMgY29weUl0ZW0oJCl7dGhpcy5jbGlwYm9hcmRQYXRoPSQucGF0aCx0aGlzLmNsaXBib2FyZE9wZXJhdGlvbj0iY29weSJ9YXN5bmMgcGFzdGVJdGVtKCQpe2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHwhdGhpcy5jbGlwYm9hcmRQYXRoKXJldHVybjtsZXQgST10aGlzLmNsaXBib2FyZFBhdGguc3BsaXQoIi8iKS5wb3AoKXx8InBhc3RlZCIsaj0kPT09Ii8iP2AvJHtJfWA6YCR7JH0vJHtJfWA7dHJ5e2lmKCFhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmV4aXN0cyh0aGlzLmNsaXBib2FyZFBhdGgpKXtjb25zb2xlLmVycm9yKCJTb3VyY2UgZmlsZSBubyBsb25nZXIgZXhpc3RzIiksdGhpcy5jbGlwYm9hcmRQYXRoPW51bGwsdGhpcy5jbGlwYm9hcmRPcGVyYXRpb249bnVsbDtyZXR1cm59dHJ5e2xldCBTPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUodGhpcy5jbGlwYm9hcmRQYXRoKTthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShqLFMpfWNhdGNoe2F3YWl0IHRoaXMuY29weURpcmVjdG9yeUNvbnRlbnRzKHRoaXMuY2xpcGJvYXJkUGF0aCxqKX1hd2FpdCB0aGlzLnJlZnJlc2goKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpdGVtLXBhc3RlZCIse2RldGFpbDp7c291cmNlUGF0aDp0aGlzLmNsaXBib2FyZFBhdGgsdGFyZ2V0UGF0aDpqfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpLHRoaXMuY2xpcGJvYXJkUGF0aD1udWxsLHRoaXMuY2xpcGJvYXJkT3BlcmF0aW9uPW51bGx9Y2F0Y2goUyl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHBhc3RlIGl0ZW06IixTKX19YXN5bmMgY29weURpcmVjdG9yeUNvbnRlbnRzKCQsSSl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQubWtkaXIoSSk7bGV0IGo9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRGlyKCQpO2ZvcihsZXQgUyBvZiBqKXtsZXQgej0kPT09Ii8iP2AvJHtTLm5hbWV9YDpgJHskfS8ke1MubmFtZX1gLEQ9ST09PSIvIj9gLyR7Uy5uYW1lfWA6YCR7SX0vJHtTLm5hbWV9YDtpZihTLnR5cGU9PT0iZGlyZWN0b3J5Iilhd2FpdCB0aGlzLmNvcHlEaXJlY3RvcnlDb250ZW50cyh6LEQpO2Vsc2V7bGV0IFQ9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZSh6KTthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShELFQpfX19YXN5bmMgZmlyc3RVcGRhdGVkKCl7YXdhaXQgdGhpcy5sb2FkVHJlZSgpfWFzeW5jIHVwZGF0ZWQoJCl7JC5oYXMoImV4ZWN1dGlvbkVudmlyb25tZW50IikmJih0aGlzLmxhc3RFeGVjdXRpb25FbnZpcm9ubWVudCE9PXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQmJih0aGlzLnN0b3BGaWxlV2F0Y2hlcigpLHRoaXMubGFzdEV4ZWN1dGlvbkVudmlyb25tZW50PXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpLHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQmJihhd2FpdCB0aGlzLmxvYWRUcmVlKCksdGhpcy5zdGFydEZpbGVXYXRjaGVyKCkpKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5zdG9wRmlsZVdhdGNoZXIoKSx0aGlzLnJlZnJlc2hEZWJvdW5jZVRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoRGVib3VuY2VUaW1lb3V0KSx0aGlzLnJlZnJlc2hEZWJvdW5jZVRpbWVvdXQ9bnVsbCl9c3RhcnRGaWxlV2F0Y2hlcigpe2lmKCEoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR8fHRoaXMuZmlsZVdhdGNoZXIpKXRyeXt0aGlzLmZpbGVXYXRjaGVyPXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud2F0Y2goIi8iLCgkLEkpPT57dGhpcy5yZWZyZXNoRGVib3VuY2VUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoRGVib3VuY2VUaW1lb3V0KSx0aGlzLnJlZnJlc2hEZWJvdW5jZVRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMucmVmcmVzaCgpfSwzMDApfSx7cmVjdXJzaXZlOiEwfSl9Y2F0Y2goJCl7Y29uc29sZS53YXJuKCJGaWxlIHdhdGNoaW5nIG5vdCBzdXBwb3J0ZWQ6IiwkKX19c3RvcEZpbGVXYXRjaGVyKCl7dGhpcy5maWxlV2F0Y2hlciYmKHRoaXMuZmlsZVdhdGNoZXIuc3RvcCgpLHRoaXMuZmlsZVdhdGNoZXI9bnVsbCl9YXN5bmMgbG9hZFRyZWUoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50JiYhdGhpcy5sb2FkVHJlZVN0YXJ0ZWQpe3RoaXMubG9hZFRyZWVTdGFydGVkPSEwLHRoaXMuaXNMb2FkaW5nPSEwLHRoaXMuZXJyb3JNZXNzYWdlPSIiO3RyeXt0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWR5fHxhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmluaXQoKTtsZXQgJD1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWREaXIodGhpcy5yb290UGF0aCk7dGhpcy50cmVlRGF0YT10aGlzLnNvcnRFbnRyaWVzKCQpLm1hcChJPT4oey4uLkksbGV2ZWw6MCxleHBhbmRlZDohMSxjaGlsZHJlbjpJLnR5cGU9PT0iZGlyZWN0b3J5Ij9bXTp2b2lkIDB9KSl9Y2F0Y2goJCl7dGhpcy5lcnJvck1lc3NhZ2U9YEZhaWxlZCB0byBsb2FkIGZpbGVzOiAkeyR9YCxjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gbG9hZCBmaWxlIHRyZWU6IiwkKSx0aGlzLmxvYWRUcmVlU3RhcnRlZD0hMX1maW5hbGx5e3RoaXMuaXNMb2FkaW5nPSExfX19c29ydEVudHJpZXMoJCl7cmV0dXJuICQuc29ydCgoSSxqKT0+SS50eXBlIT09ai50eXBlP0kudHlwZT09PSJkaXJlY3RvcnkiPy0xOjE6SS5uYW1lLmxvY2FsZUNvbXBhcmUoai5uYW1lKSl9YXN5bmMgcmVmcmVzaCgpe3RoaXMuZXhwYW5kZWRQYXRocy5jbGVhcigpLHRoaXMubG9hZFRyZWVTdGFydGVkPSExLGF3YWl0IHRoaXMubG9hZFRyZWUoKX1zZWxlY3RGaWxlKCQpe3RoaXMuc2VsZWN0ZWRQYXRoPSR9c3RhdGlje0NpKHIsYSl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBkSGUsSUIsQnRhLHBIZT1jKCgpPT57cGUoKTtYZSgpO3BsKCk7ZEhlPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxJQj1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sQnRhPSgoKT0+e2xldCB0PVthZSgiZGVlcy13b3Jrc3BhY2UtdGVybWluYWwtcHJldmlldyIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdO3ZhciBwPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzV29ya3NwYWNlVGVybWluYWxQcmV2aWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGc9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpTdHJpbmd9KV0saD1bTCh7dHlwZTpBcnJheX0pXSxkSGUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb21tYW5kIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHY9PiJjb21tYW5kImluIHYsImhhcyIpLGdldDppKHY9PnYuY29tbWFuZCwiZ2V0Iiksc2V0OmkoKHYseCk9Pnt2LmNvbW1hbmQ9eH0sInNldCIpfSxtZXRhZGF0YTpnfSxvLGwpLGRIZSh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxpbmVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHY9PiJsaW5lcyJpbiB2LCJoYXMiKSxnZXQ6aSh2PT52LmxpbmVzLCJnZXQiKSxzZXQ6aSgodix4KT0+e3YubGluZXM9eH0sInNldCIpfSxtZXRhZGF0YTpnfSx1LGYpLGRIZShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpnfSxudWxsLGEpLHA9cj1lLnZhbHVlLGcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Z30pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGVlcy13b3Jrc3BhY2UtdGVybWluYWwtcHJldmlldwogICAgICAuY29tbWFuZD0keyJwbnBtIGluc3RhbGwifQogICAgICAubGluZXM9JHtbIlBhY2thZ2VzOiArNDIiLCJQcm9ncmVzczogcmVzb2x2ZWQgMTQyLCByZXVzZWQgMTQwLCBkb3dubG9hZGVkIDIsIGFkZGVkIDQyLCBkb25lIiwiIiwiZGVwZW5kZW5jaWVzOiIsIisgQHB1c2gucm9ja3Mvc21hcnRwcm9taXNlIDQuMi4zIiwiKyB0eXBlc2NyaXB0IDUuMy4zIiwiIiwiRG9uZSBpbiAyLjNzIl19CiAgICA+PC9kZWVzLXdvcmtzcGFjZS10ZXJtaW5hbC1wcmV2aWV3PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIldvcmtzcGFjZSJdOyNlPUlCKHRoaXMsbywiIik7Z2V0IGNvbW1hbmQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY29tbWFuZChnKXt0aGlzLiNlPWd9I3Q9KElCKHRoaXMsbCksSUIodGhpcyx1LFtdKSk7Z2V0IGxpbmVzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGxpbmVzKGcpe3RoaXMuI3Q9Z310ZXJtaW5hbD0oSUIodGhpcyxmKSxudWxsKTtmaXRBZGRvbj1udWxsO2xhc3RMaW5lQ291bnQ9MDtyZXNpemVPYnNlcnZlcj1udWxsO3Rlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb249bnVsbDtzdGF0aWMgc3R5bGVzPVtEZSxkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1wcmV2aWV3IHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDAwMDAwIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTYlKSIsImhzbCgwIDAlIDEwJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNDAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWhlYWRlci1pY29uIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA1MCUpIil9OwogICAgICB9CgogICAgICAudGVybWluYWwtaGVhZGVyLWNvbW1hbmQgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWNvbnRhaW5lciB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICB9CgogICAgICAjeHRlcm0tY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA4cHg7CiAgICAgICAgbGVmdDogOHB4OwogICAgICAgIHJpZ2h0OiA4cHg7CiAgICAgICAgYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC8qIHh0ZXJtLmpzIHN0eWxlcyAqLwogICAgICAueHRlcm0gewogICAgICAgIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnIDA7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAueHRlcm0uZm9jdXMsCiAgICAgIC54dGVybTpmb2N1cyB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS1oZWxwZXJzIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIHotaW5kZXg6IDU7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0taGVscGVyLXRleHRhcmVhIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgbGVmdDogLTk5OTllbTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgaGVpZ2h0OiAwOwogICAgICAgIHotaW5kZXg6IC01OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICByZXNpemU6IG5vbmU7CiAgICAgIH0KCiAgICAgIC54dGVybSAuY29tcG9zaXRpb24tdmlldyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDAwMDAwIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzMzMzMzMyIsIiNmZmZmZmYiKX07CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB6LWluZGV4OiAxOwogICAgICB9CgogICAgICAueHRlcm0gLmNvbXBvc2l0aW9uLXZpZXcuYWN0aXZlIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS12aWV3cG9ydCB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDAwMDAwIil9OwogICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS1zY3JlZW4gewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS1zY3JlZW4gY2FudmFzIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tc2Nyb2xsLWFyZWEgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnh0ZXJtLWNoYXItbWVhc3VyZS1lbGVtZW50IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogLTk5OTllbTsKICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOwogICAgICB9CgogICAgICAueHRlcm0gewogICAgICAgIGN1cnNvcjogdGV4dDsKICAgICAgfQoKICAgICAgLnh0ZXJtLmVuYWJsZS1tb3VzZS1ldmVudHMgewogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgfQoKICAgICAgLnh0ZXJtLnh0ZXJtLWN1cnNvci1wb2ludGVyIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC54dGVybS5jb2x1bW4tc2VsZWN0LmZvY3VzIHsKICAgICAgICBjdXJzb3I6IGNyb3NzaGFpcjsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS1hY2Nlc3NpYmlsaXR5LAogICAgICAueHRlcm0gLnh0ZXJtLW1lc3NhZ2UgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAueHRlcm0gLmxpdmUtcmVnaW9uIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogLTk5OTlweDsKICAgICAgICB3aWR0aDogMXB4OwogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC54dGVybS1kaW0gewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLnh0ZXJtLXVuZGVybGluZSB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC8qIEN1c3RvbSBzY3JvbGxiYXIgZm9yIHh0ZXJtIHZpZXdwb3J0ICovCiAgICAgIC54dGVybSAueHRlcm0tdmlld3BvcnQ6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXZpZXdwb3J0Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk2JSkiLCJoc2woMCAwJSA4JSkiKX07CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tdmlld3BvcnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODAlKSIsImhzbCgwIDAlIDI1JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXZpZXdwb3J0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDcwJSkiLCJoc2woMCAwJSAzNSUpIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0idGVybWluYWwtcHJldmlldyI+CiAgICAgICAgPGRpdiBjbGFzcz0idGVybWluYWwtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXJtaW5hbC1oZWFkZXItaWNvbiI+JDwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0ZXJtaW5hbC1oZWFkZXItY29tbWFuZCI+JHt0aGlzLmNvbW1hbmR8fCJXYWl0aW5nLi4uIn08L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idGVybWluYWwtY29udGFpbmVyIj4KICAgICAgICAgIDxkaXYgaWQ9Inh0ZXJtLWNvbnRhaW5lciI+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1nZXRUZXJtaW5hbFRoZW1lKGcpe3JldHVybiBnP3tiYWNrZ3JvdW5kOiIjZmZmZmZmIixmb3JlZ3JvdW5kOiIjMzMzMzMzIixjdXJzb3I6IiMzMzMzMzMiLGN1cnNvckFjY2VudDoiI2ZmZmZmZiIsc2VsZWN0aW9uQmFja2dyb3VuZDoicmdiYSgwLCAwLCAwLCAwLjIpIn06e2JhY2tncm91bmQ6IiMwMDAwMDAiLGZvcmVncm91bmQ6IiNjY2NjY2MiLGN1cnNvcjoiI2NjY2NjYyIsY3Vyc29yQWNjZW50OiIjMDAwMDAwIixzZWxlY3Rpb25CYWNrZ3JvdW5kOiJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikifX1hc3luYyBmaXJzdFVwZGF0ZWQoZyl7c3VwZXIuZmlyc3RVcGRhdGVkKGcpO2xldCB2PXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoInh0ZXJtLWNvbnRhaW5lciIpO2lmKCF2KXJldHVybjtsZXQgeD1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSxiPXgudGhlbWVNYW5hZ2VyLmdvQnJpZ2h0Qm9vbGVhbixtPXJyLmdldEluc3RhbmNlKCksW3ksTV09YXdhaXQgUHJvbWlzZS5hbGwoW20ubG9hZFh0ZXJtKCksbS5sb2FkWHRlcm1GaXRBZGRvbigpXSk7dGhpcy50ZXJtaW5hbD1uZXcgeS5UZXJtaW5hbCh7Y29udmVydEVvbDohMCxjdXJzb3JCbGluazohMSxkaXNhYmxlU3RkaW46ITAsZm9udFNpemU6MTIsZm9udEZhbWlseToiJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZSIsdGhlbWU6dGhpcy5nZXRUZXJtaW5hbFRoZW1lKGIpLHNjcm9sbGJhY2s6MWUzfSksdGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uPXgudGhlbWVNYW5hZ2VyLnRoZW1lT2JzZXJ2YWJsZS5zdWJzY3JpYmUoaz0+e3RoaXMudGVybWluYWwmJih0aGlzLnRlcm1pbmFsLm9wdGlvbnMudGhlbWU9dGhpcy5nZXRUZXJtaW5hbFRoZW1lKGspKX0pLHRoaXMuZml0QWRkb249bmV3IE0uRml0QWRkb24sdGhpcy50ZXJtaW5hbC5sb2FkQWRkb24odGhpcy5maXRBZGRvbiksdGhpcy50ZXJtaW5hbC5vcGVuKHYpLHRoaXMuZml0QWRkb24uZml0KCksdGhpcy5yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9Pnt0aGlzLmZpdEFkZG9uJiZ0aGlzLmZpdEFkZG9uLmZpdCgpfSksdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHYpLHRoaXMud3JpdGVOZXdMaW5lcygpfWFzeW5jIHVwZGF0ZWQoZyl7c3VwZXIudXBkYXRlZChnKSxnLmhhcygibGluZXMiKSYmdGhpcy53cml0ZU5ld0xpbmVzKCl9d3JpdGVOZXdMaW5lcygpe2lmKCF0aGlzLnRlcm1pbmFsKXJldHVybjtsZXQgZz10aGlzLmxpbmVzLnNsaWNlKHRoaXMubGFzdExpbmVDb3VudCk7Zm9yKGxldCB2IG9mIGcpdGhpcy50ZXJtaW5hbC53cml0ZWxuKHYpO3RoaXMubGFzdExpbmVDb3VudD10aGlzLmxpbmVzLmxlbmd0aH1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMucmVzaXplT2JzZXJ2ZXImJih0aGlzLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKSx0aGlzLnJlc2l6ZU9ic2VydmVyPW51bGwpLHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbiYmKHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbj1udWxsKSx0aGlzLnRlcm1pbmFsJiYodGhpcy50ZXJtaW5hbC5kaXNwb3NlKCksdGhpcy50ZXJtaW5hbD1udWxsKSxhd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpfWFkZExpbmUoZyl7dGhpcy5saW5lcz1bLi4udGhpcy5saW5lcyxnXX1jbGVhcigpe3RoaXMubGluZXM9W10sdGhpcy5sYXN0TGluZUNvdW50PTAsdGhpcy50ZXJtaW5hbCYmdGhpcy50ZXJtaW5hbC5jbGVhcigpfXN0YXRpY3tJQihyLGEpfX07cmV0dXJuIHA9cn0pKCl9KTt2YXIgbHAsSHMsSHRhLHVIZT1jKCgpPT57cGUoKTtYZSgpO0t0KCk7djEoKTtscD1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sSHM9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LEh0YT0oKCk9PntsZXQgdD1bYWUoImRlZXMtd29ya3NwYWNlLWJvdHRvbWJhciIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdO3ZhciBFPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJEZWVzV29ya3NwYWNlQm90dG9tYmFyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpPYmplY3R9KV0saD1bWigpXSxwPVtaKCldLHg9W1ooKV0seT1bWigpXSxscCh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV4ZWN1dGlvbkVudmlyb25tZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJleGVjdXRpb25FbnZpcm9ubWVudCJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLmV4ZWN1dGlvbkVudmlyb25tZW50LCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0MuZXhlY3V0aW9uRW52aXJvbm1lbnQ9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxvLGwpLGxwKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2NyaXB0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4ic2NyaXB0cyJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLnNjcmlwdHMsImdldCIpLHNldDppKChDLE4pPT57Qy5zY3JpcHRzPU59LCJzZXQiKX0sbWV0YWRhdGE6X30sdSxmKSxscCh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBhY2thZ2VTdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+InBhY2thZ2VTdGF0dXMiaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy5wYWNrYWdlU3RhdHVzLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0MucGFja2FnZVN0YXR1cz1OfSwic2V0Iil9LG1ldGFkYXRhOl99LGcsdiksbHAodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvdXRkYXRlZFBhY2thZ2VzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJvdXRkYXRlZFBhY2thZ2VzImluIEMsImhhcyIpLGdldDppKEM9PkMub3V0ZGF0ZWRQYWNrYWdlcywiZ2V0Iiksc2V0OmkoKEMsTik9PntDLm91dGRhdGVkUGFja2FnZXM9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxiLG0pLGxwKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNDaGVja2luZ1BhY2thZ2VzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJpc0NoZWNraW5nUGFja2FnZXMiaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy5pc0NoZWNraW5nUGFja2FnZXMsImdldCIpLHNldDppKChDLE4pPT57Qy5pc0NoZWNraW5nUGFja2FnZXM9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxNLGspLGxwKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsYSksRT1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9I2U9SHModGhpcyxvLG51bGwpO2dldCBleGVjdXRpb25FbnZpcm9ubWVudCgpe3JldHVybiB0aGlzLiNlfXNldCBleGVjdXRpb25FbnZpcm9ubWVudChfKXt0aGlzLiNlPV99I3Q9KEhzKHRoaXMsbCksSHModGhpcyx1LHt9KSk7Z2V0IHNjcmlwdHMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2NyaXB0cyhfKXt0aGlzLiN0PV99I2E9KEhzKHRoaXMsZiksSHModGhpcyxnLCJpZGxlIikpO2dldCBwYWNrYWdlU3RhdHVzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHBhY2thZ2VTdGF0dXMoXyl7dGhpcy4jYT1ffSNyPShIcyh0aGlzLHYpLEhzKHRoaXMsYixbXSkpO2dldCBvdXRkYXRlZFBhY2thZ2VzKCl7cmV0dXJuIHRoaXMuI3J9c2V0IG91dGRhdGVkUGFja2FnZXMoXyl7dGhpcy4jcj1ffSNpPShIcyh0aGlzLG0pLEhzKHRoaXMsTSwhMSkpO2dldCBpc0NoZWNraW5nUGFja2FnZXMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgaXNDaGVja2luZ1BhY2thZ2VzKF8pe3RoaXMuI2k9X31wZW5kaW5nUGFja2FnZVVwZGF0ZT0oSHModGhpcyxrKSwhMSk7aGFuZGxlUHJvY2Vzc0NvbXBsZXRlPWkoXz0+e3RoaXMucGVuZGluZ1BhY2thZ2VVcGRhdGUmJih0aGlzLnBlbmRpbmdQYWNrYWdlVXBkYXRlPSExLHNldFRpbWVvdXQoKCk9PnRoaXMuY2hlY2tQYWNrYWdlcygpLDUwMCkpfSwiaGFuZGxlUHJvY2Vzc0NvbXBsZXRlIik7c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5ib3R0b20tYmFyIHsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICAgIGdhcDogNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NCUpIiwiaHNsKDAgMCUgNiUpIil9OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNDAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC53aWRnZXQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlLCBjb2xvciAwLjE1cyBlYXNlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC53aWRnZXQ6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OCUpIiwiaHNsKDAgMCUgMTIlKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA4MCUpIil9OwogICAgICB9CgogICAgICAud2lkZ2V0IGRlZXMtaWNvbiB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC53aWRnZXQtc2VwYXJhdG9yIHsKICAgICAgICB3aWR0aDogMXB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODAlKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgbWFyZ2luOiAwIDRweDsKICAgICAgfQoKICAgICAgLndpZGdldC5ydW5uaW5nIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA0NSUpIiwiaHNsKDIxMCAxMDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC53aWRnZXQudXAtdG8tZGF0ZSB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMTQyIDcwJSAzNSUpIiwiaHNsKDE0MiA3MCUgNTAlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldC51cGRhdGVzLWF2YWlsYWJsZSB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMzggOTIlIDQ1JSkiLCJoc2woMzggOTIlIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC53aWRnZXQuZXJyb3IgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgNzAlIDUwJSkiLCJoc2woMCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0KICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0KICAgICAgfQoKICAgICAgLnNwaW5uaW5nIHsKICAgICAgICBhbmltYXRpb246IHNwaW4gMXMgbGluZWFyIGluZmluaXRlOwogICAgICB9CgogICAgICAuc3BhY2VyIHsKICAgICAgICBmbGV4OiAxOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iYm90dG9tLWJhciI+CiAgICAgICAgPCEtLSBTY3JpcHQgUnVubmVyIFdpZGdldCAtLT4KICAgICAgICA8ZGl2CiAgICAgICAgICBjbGFzcz0id2lkZ2V0IgogICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVTY3JpcHRDbGlja30KICAgICAgICAgIHRpdGxlPSJSdW4gc2NyaXB0IgogICAgICAgID4KICAgICAgICAgIDxkZWVzLWljb24KICAgICAgICAgICAgLmljb249JHsibHVjaWRlOnBsYXkifQogICAgICAgICAgICBpY29uU2l6ZT0iMTIiCiAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5TY3JpcHRzPC9zcGFuPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQtc2VwYXJhdG9yIj48L2Rpdj4KCiAgICAgICAgPCEtLSBQYWNrYWdlIENoZWNrZXIgV2lkZ2V0IC0tPgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJ3aWRnZXQgJHt0aGlzLmdldFBhY2thZ2VTdGF0dXNDbGFzcygpfSIKICAgICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlUGFja2FnZUNsaWNrfQogICAgICAgICAgdGl0bGU9IiR7dGhpcy5nZXRQYWNrYWdlVG9vbHRpcCgpfSIKICAgICAgICA+CiAgICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICAgIC5pY29uPSR7dGhpcy5nZXRQYWNrYWdlSWNvbigpfQogICAgICAgICAgICBpY29uU2l6ZT0iMTIiCiAgICAgICAgICAgIGNsYXNzPSIke3RoaXMuaXNDaGVja2luZ1BhY2thZ2VzPyJzcGlubmluZyI6IiJ9IgogICAgICAgICAgPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+JHt0aGlzLmdldFBhY2thZ2VTdGF0dXNUZXh0KCl9PC9zcGFuPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgoKICAgICAgICA8IS0tIEZ1dHVyZSB3aWRnZXRzIGNhbiBiZSBhZGRlZCBoZXJlIC0tPgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwcm9jZXNzLWNvbXBsZXRlIix0aGlzLmhhbmRsZVByb2Nlc3NDb21wbGV0ZSl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJwcm9jZXNzLWNvbXBsZXRlIix0aGlzLmhhbmRsZVByb2Nlc3NDb21wbGV0ZSl9YXN5bmMgZmlyc3RVcGRhdGVkKCl7YXdhaXQgdGhpcy5sb2FkU2NyaXB0cygpLGF3YWl0IHRoaXMuY2hlY2tQYWNrYWdlcygpfWFzeW5jIHVwZGF0ZWQoXyl7Xy5oYXMoImV4ZWN1dGlvbkVudmlyb25tZW50IikmJnRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQmJihhd2FpdCB0aGlzLmxvYWRTY3JpcHRzKCksYXdhaXQgdGhpcy5jaGVja1BhY2thZ2VzKCkpfWFzeW5jIGxvYWRTY3JpcHRzKCl7aWYodGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl0cnl7aWYoIWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuZXhpc3RzKCIvcGFja2FnZS5qc29uIikpe3RoaXMuc2NyaXB0cz17fTtyZXR1cm59bGV0IEM9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZSgiL3BhY2thZ2UuanNvbiIpLE49SlNPTi5wYXJzZShDKTt0aGlzLnNjcmlwdHM9Ti5zY3JpcHRzfHx7fX1jYXRjaChfKXtjb25zb2xlLndhcm4oIkZhaWxlZCB0byBsb2FkIHNjcmlwdHMgZnJvbSBwYWNrYWdlLmpzb246IixfKSx0aGlzLnNjcmlwdHM9e319fWFzeW5jIGhhbmRsZVNjcmlwdENsaWNrKF8pe18uc3RvcFByb3BhZ2F0aW9uKCk7bGV0IEM9T2JqZWN0LmtleXModGhpcy5zY3JpcHRzKTtpZihDLmxlbmd0aD09PTApcmV0dXJuO2xldCBOPUMubWFwKCQ9Pih7bmFtZTokLGljb25OYW1lOiJsdWNpZGU6dGVybWluYWwiLGFjdGlvbjppKGFzeW5jKCk9Pnthd2FpdCB0aGlzLnJ1blNjcmlwdCgkKX0sImFjdGlvbiIpfSkpO2F3YWl0IE50Lm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKF8sTil9YXN5bmMgcnVuU2NyaXB0KF8pe2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXJldHVybjtsZXQgQz17dHlwZToic2NyaXB0IixsYWJlbDpfLGNvbW1hbmQ6InBucG0iLGFyZ3M6WyJydW4iLF9dLG1ldGFkYXRhOntzY3JpcHROYW1lOl99fTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJydW4tcHJvY2VzcyIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOkN9KSl9YXN5bmMgY2hlY2tQYWNrYWdlcygpe2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXt0aGlzLnBhY2thZ2VTdGF0dXM9ImlkbGUiO3JldHVybn10cnl7aWYoIWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuZXhpc3RzKCIvcGFja2FnZS5qc29uIikpe3RoaXMucGFja2FnZVN0YXR1cz0iaWRsZSI7cmV0dXJufXRoaXMucGFja2FnZVN0YXR1cz0iY2hlY2tpbmciLHRoaXMuaXNDaGVja2luZ1BhY2thZ2VzPSEwO2xldCBDPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuc3Bhd24oInBucG0iLFsib3V0ZGF0ZWQiLCItLWpzb24iXSksTj0iIiwkPUMub3V0cHV0LmdldFJlYWRlcigpO2koYXN5bmMoKT0+e3RyeXtmb3IoOzspe2xldHtkb25lOlMsdmFsdWU6en09YXdhaXQgJC5yZWFkKCk7aWYoUylicmVhaztOKz16fX1jYXRjaHt9fSwicmVhZE91dHB1dCIpKCk7bGV0IGo9YXdhaXQgUHJvbWlzZS5yYWNlKFtDLmV4aXQsbmV3IFByb21pc2UoUz0+c2V0VGltZW91dCgoKT0+UygtMSksMWU0KSldKTt0cnl7YXdhaXQgJC5jYW5jZWwoKX1jYXRjaHt9aWYoaj09PS0xKXtjb25zb2xlLndhcm4oIlBhY2thZ2UgY2hlY2sgdGltZWQgb3V0IiksdGhpcy5wYWNrYWdlU3RhdHVzPSJlcnJvciI7cmV0dXJufWlmKGo9PT0wKXRoaXMucGFja2FnZVN0YXR1cz0idXAtdG8tZGF0ZSIsdGhpcy5vdXRkYXRlZFBhY2thZ2VzPVtdO2Vsc2UgdHJ5e2xldCBTPUpTT04ucGFyc2UoTik7dGhpcy5vdXRkYXRlZFBhY2thZ2VzPXRoaXMucGFyc2VPdXRkYXRlZFBhY2thZ2VzKFMpLHRoaXMucGFja2FnZVN0YXR1cz10aGlzLm91dGRhdGVkUGFja2FnZXMubGVuZ3RoPjA/InVwZGF0ZXMtYXZhaWxhYmxlIjoidXAtdG8tZGF0ZSJ9Y2F0Y2h7dGhpcy5wYWNrYWdlU3RhdHVzPSJ1cGRhdGVzLWF2YWlsYWJsZSIsdGhpcy5vdXRkYXRlZFBhY2thZ2VzPVtdfX1jYXRjaChfKXtjb25zb2xlLndhcm4oIkZhaWxlZCB0byBjaGVjayBmb3IgcGFja2FnZSB1cGRhdGVzOiIsXyksdGhpcy5wYWNrYWdlU3RhdHVzPSJlcnJvciJ9ZmluYWxseXt0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcz0hMX19cGFyc2VPdXRkYXRlZFBhY2thZ2VzKF8pe2xldCBDPVtdO2lmKHR5cGVvZiBfPT0ib2JqZWN0IiYmXyE9PW51bGwpZm9yKGxldFtOLCRdb2YgT2JqZWN0LmVudHJpZXMoXykpe2xldCBJPSQ7Qy5wdXNoKHtuYW1lOk4sY3VycmVudDpJLmN1cnJlbnR8fCJ1bmtub3duIix3YW50ZWQ6SS53YW50ZWR8fEkuY3VycmVudHx8InVua25vd24iLGxhdGVzdDpJLmxhdGVzdHx8SS53YW50ZWR8fCJ1bmtub3duIix0eXBlOkkuZGVwZW5kZW5jeVR5cGU9PT0iZGV2RGVwZW5kZW5jaWVzIj8iZGV2RGVwZW5kZW5jaWVzIjoiZGVwZW5kZW5jaWVzIn0pfXJldHVybiBDfWFzeW5jIGhhbmRsZVBhY2thZ2VDbGljayhfKXtfLnN0b3BQcm9wYWdhdGlvbigpO2xldCBDPVtdO2lmKEMucHVzaCh7bmFtZTp0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcz8iQ2hlY2tpbmcuLi4iOiJDaGVjayBmb3IgdXBkYXRlcyIsaWNvbk5hbWU6Imx1Y2lkZTpyZWZyZXNoQ3ciLGFjdGlvbjppKGFzeW5jKCk9PntpZih0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcylyZXR1cm47bGV0IE49e3R5cGU6InBhY2thZ2UtdXBkYXRlIixsYWJlbDoiY2hlY2sgcGFja2FnZXMiLGNvbW1hbmQ6InBucG0iLGFyZ3M6WyJvdXRkYXRlZCJdfTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJydW4tcHJvY2VzcyIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOk59KSksc2V0VGltZW91dCgoKT0+dGhpcy5jaGVja1BhY2thZ2VzKCksM2UzKX0sImFjdGlvbiIpfSksdGhpcy5vdXRkYXRlZFBhY2thZ2VzLmxlbmd0aD4wKXtDLnB1c2goe2RpdmlkZXI6ITB9KTtsZXQgTj10aGlzLm91dGRhdGVkUGFja2FnZXMuc2xpY2UoMCwxMCk7Zm9yKGxldCAkIG9mIE4pQy5wdXNoKHtuYW1lOmAkeyQubmFtZX06ICR7JC5jdXJyZW50fSBcdTIxOTIgJHskLmxhdGVzdH1gLGljb25OYW1lOiJsdWNpZGU6cGFja2FnZSIsYWN0aW9uOmkoYXN5bmMoKT0+e2F3YWl0IHRoaXMudXBkYXRlUGFja2FnZSgkLm5hbWUpfSwiYWN0aW9uIil9KTt0aGlzLm91dGRhdGVkUGFja2FnZXMubGVuZ3RoPjEwJiZDLnB1c2goe25hbWU6YC4uLiBhbmQgJHt0aGlzLm91dGRhdGVkUGFja2FnZXMubGVuZ3RoLTEwfSBtb3JlYCxpY29uTmFtZToibHVjaWRlOm1vcmVIb3Jpem9udGFsIixhY3Rpb246aShhc3luYygpPT57fSwiYWN0aW9uIil9KSxDLnB1c2goe2RpdmlkZXI6ITB9KSxDLnB1c2goe25hbWU6IlVwZGF0ZSBhbGwgcGFja2FnZXMiLGljb25OYW1lOiJsdWNpZGU6YXJyb3dVcENpcmNsZSIsYWN0aW9uOmkoYXN5bmMoKT0+e2F3YWl0IHRoaXMudXBkYXRlQWxsUGFja2FnZXMoKX0sImFjdGlvbiIpfSl9YXdhaXQgTnQub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoXyxDKX1hc3luYyB1cGRhdGVQYWNrYWdlKF8pe2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXJldHVybjt0aGlzLnBlbmRpbmdQYWNrYWdlVXBkYXRlPSEwO2xldCBDPXt0eXBlOiJwYWNrYWdlLXVwZGF0ZSIsbGFiZWw6YHVwZGF0ZSAke199YCxjb21tYW5kOiJwbnBtIixhcmdzOlsidXBkYXRlIiwiLS1sYXRlc3QiLF9dLG1ldGFkYXRhOntwYWNrYWdlTmFtZTpffX07dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicnVuLXByb2Nlc3MiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwLGRldGFpbDpDfSkpfWFzeW5jIHVwZGF0ZUFsbFBhY2thZ2VzKCl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO3RoaXMucGVuZGluZ1BhY2thZ2VVcGRhdGU9ITA7bGV0IF89e3R5cGU6InBhY2thZ2UtdXBkYXRlIixsYWJlbDoidXBkYXRlIGFsbCIsY29tbWFuZDoicG5wbSIsYXJnczpbInVwZGF0ZSIsIi0tbGF0ZXN0Il19O3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJ1bi1wcm9jZXNzIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6X30pKX1nZXRQYWNrYWdlU3RhdHVzQ2xhc3MoKXtyZXR1cm4gdGhpcy5pc0NoZWNraW5nUGFja2FnZXM/IiI6dGhpcy5wYWNrYWdlU3RhdHVzfWdldFBhY2thZ2VJY29uKCl7aWYodGhpcy5pc0NoZWNraW5nUGFja2FnZXMpcmV0dXJuImx1Y2lkZTpsb2FkZXIyIjtzd2l0Y2godGhpcy5wYWNrYWdlU3RhdHVzKXtjYXNlInVwLXRvLWRhdGUiOnJldHVybiJsdWNpZGU6Y2hlY2tDaXJjbGUiO2Nhc2UidXBkYXRlcy1hdmFpbGFibGUiOnJldHVybiJsdWNpZGU6YWxlcnRDaXJjbGUiO2Nhc2UiZXJyb3IiOnJldHVybiJsdWNpZGU6eENpcmNsZSI7ZGVmYXVsdDpyZXR1cm4ibHVjaWRlOnBhY2thZ2UifX1nZXRQYWNrYWdlU3RhdHVzVGV4dCgpe2lmKHRoaXMuaXNDaGVja2luZ1BhY2thZ2VzKXJldHVybiJDaGVja2luZy4uLiI7c3dpdGNoKHRoaXMucGFja2FnZVN0YXR1cyl7Y2FzZSJ1cC10by1kYXRlIjpyZXR1cm4iVXAgdG8gZGF0ZSI7Y2FzZSJ1cGRhdGVzLWF2YWlsYWJsZSI6cmV0dXJuYCR7dGhpcy5vdXRkYXRlZFBhY2thZ2VzLmxlbmd0aH0gdXBkYXRlJHt0aGlzLm91dGRhdGVkUGFja2FnZXMubGVuZ3RoIT09MT8icyI6IiJ9YDtjYXNlImVycm9yIjpyZXR1cm4iQ2hlY2sgZmFpbGVkIjtkZWZhdWx0OnJldHVybiJQYWNrYWdlcyJ9fWdldFBhY2thZ2VUb29sdGlwKCl7aWYodGhpcy5pc0NoZWNraW5nUGFja2FnZXMpcmV0dXJuIkNoZWNraW5nIGZvciBwYWNrYWdlIHVwZGF0ZXMuLi4iO3N3aXRjaCh0aGlzLnBhY2thZ2VTdGF0dXMpe2Nhc2UidXAtdG8tZGF0ZSI6cmV0dXJuIkFsbCBwYWNrYWdlcyBhcmUgdXAgdG8gZGF0ZSI7Y2FzZSJ1cGRhdGVzLWF2YWlsYWJsZSI6cmV0dXJuYCR7dGhpcy5vdXRkYXRlZFBhY2thZ2VzLmxlbmd0aH0gcGFja2FnZSB1cGRhdGUke3RoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGghPT0xPyJzIjoiIn0gYXZhaWxhYmxlYDtjYXNlImVycm9yIjpyZXR1cm4iRmFpbGVkIHRvIGNoZWNrIGZvciB1cGRhdGVzLiBDbGljayB0byByZXRyeS4iO2RlZmF1bHQ6cmV0dXJuIkNsaWNrIHRvIGNoZWNrIGZvciBwYWNrYWdlIHVwZGF0ZXMifX1hc3luYyByZWZyZXNoUGFja2FnZVN0YXR1cygpe2F3YWl0IHRoaXMuY2hlY2tQYWNrYWdlcygpfWFzeW5jIHJlZnJlc2hTY3JpcHRzKCl7YXdhaXQgdGhpcy5sb2FkU2NyaXB0cygpfXN0YXRpY3tIcyhyLGEpfX07cmV0dXJuIEU9cn0pKCl9KTt2YXIgTkIsZkhlPWMoKCk9PntOQj1jbGFzc3tzdGF0aWN7aSh0aGlzLCJUeXBlU2NyaXB0SW50ZWxsaVNlbnNlTWFuYWdlciIpfWxvYWRlZExpYnM9bmV3IFNldDtub3RGb3VuZFBhY2thZ2VzPW5ldyBTZXQ7bW9uYWNvSW5zdGFuY2U9bnVsbDtleGVjdXRpb25FbnZpcm9ubWVudD1udWxsO2ZpbGVDYWNoZT1uZXcgTWFwO2FkZGVkRXh0cmFMaWJzPW5ldyBNYXA7Z2V0IHRzQXBpKCl7cmV0dXJuIHRoaXMubW9uYWNvSW5zdGFuY2U/dGhpcy5tb25hY29JbnN0YW5jZS5sYW5ndWFnZXMudHlwZXNjcmlwdDpudWxsfWFzeW5jIGluaXQoZSxhKXt0aGlzLm1vbmFjb0luc3RhbmNlPWUsdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudD1hLHRoaXMuY29uZmlndXJlQ29tcGlsZXJPcHRpb25zKCksYXdhaXQgdGhpcy5sb2FkQWxsUHJvamVjdEZpbGVzKCl9YXN5bmMgbG9hZEFsbFByb2plY3RGaWxlcygpe3RoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQmJmF3YWl0IHRoaXMubG9hZEZpbGVzRnJvbURpcmVjdG9yeSgiLyIpfWFzeW5jIGxvYWRGaWxlc0Zyb21EaXJlY3RvcnkoZSl7aWYodGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl0cnl7bGV0IGE9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRGlyKGUpO2ZvcihsZXQgciBvZiBhKXtsZXQgcz1lPT09Ii8iP2AvJHtyLm5hbWV9YDpgJHtlfS8ke3IubmFtZX1gO2lmKHIubmFtZSE9PSJub2RlX21vZHVsZXMiKXtpZihyLnR5cGU9PT0iZGlyZWN0b3J5Iilhd2FpdCB0aGlzLmxvYWRGaWxlc0Zyb21EaXJlY3Rvcnkocyk7ZWxzZSBpZihyLnR5cGU9PT0iZmlsZSIpe2xldCBuPXIubmFtZS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpO2lmKG49PT0idHMifHxuPT09InRzeCJ8fG49PT0ianMifHxuPT09ImpzeCIpdHJ5e2xldCBvPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUocyk7dGhpcy5hZGRGaWxlTW9kZWwocyxvKX1jYXRjaHt9fX19fWNhdGNoe319Y29uZmlndXJlQ29tcGlsZXJPcHRpb25zKCl7bGV0IGU9dGhpcy50c0FwaTtlJiYoZS50eXBlc2NyaXB0RGVmYXVsdHMuc2V0Q29tcGlsZXJPcHRpb25zKHt0YXJnZXQ6ZS5TY3JpcHRUYXJnZXQuRVMyMDIwLG1vZHVsZTplLk1vZHVsZUtpbmQuRVNOZXh0LG1vZHVsZVJlc29sdXRpb246ZS5Nb2R1bGVSZXNvbHV0aW9uS2luZC5CdW5kbGVyPz9lLk1vZHVsZVJlc29sdXRpb25LaW5kLk5vZGVKcyxhbGxvd1N5bnRoZXRpY0RlZmF1bHRJbXBvcnRzOiEwLGVzTW9kdWxlSW50ZXJvcDohMCxzdHJpY3Q6ITAsbm9FbWl0OiEwLGFsbG93SnM6ITAsY2hlY2tKczohMSxhbGxvd05vblRzRXh0ZW5zaW9uczohMCxsaWI6WyJlczIwMjAiLCJkb20iLCJkb20uaXRlcmFibGUiXSxiYXNlVXJsOiIvIixhbGxvd0ltcG9ydGluZ1RzRXh0ZW5zaW9uczohMCxyZXNvbHZlSnNvbk1vZHVsZTohMH0pLGUudHlwZXNjcmlwdERlZmF1bHRzLnNldERpYWdub3N0aWNzT3B0aW9ucyh7bm9TZW1hbnRpY1ZhbGlkYXRpb246ITEsbm9TeW50YXhWYWxpZGF0aW9uOiExfSksZS50eXBlc2NyaXB0RGVmYXVsdHMuc2V0RWFnZXJNb2RlbFN5bmMoITApKX1wYXJzZUltcG9ydHMoZSl7bGV0IGE9W10scj0vaW1wb3J0XHMrKD86W1x3Knt9XHMsXStmcm9tXHMrKT9bJyJdKFteJyJdKylbJyJdL2cscztmb3IoOyhzPXIuZXhlYyhlKSkhPT1udWxsOyl7bGV0IG89c1sxXTtpZighby5zdGFydHNXaXRoKCIuIikmJiFvLnN0YXJ0c1dpdGgoIi8iKSl7bGV0IGw9by5zdGFydHNXaXRoKCJAIik/by5zcGxpdCgiLyIpLnNsaWNlKDAsMikuam9pbigiLyIpOm8uc3BsaXQoIi8iKVswXTthLnB1c2gobCl9fWxldCBuPS9yZXF1aXJlXHMqXChccypbJyJdKFteJyJdKylbJyJdXHMqXCkvZztmb3IoOyhzPW4uZXhlYyhlKSkhPT1udWxsOyl7bGV0IG89c1sxXTtpZighby5zdGFydHNXaXRoKCIuIikmJiFvLnN0YXJ0c1dpdGgoIi8iKSl7bGV0IGw9by5zdGFydHNXaXRoKCJAIik/by5zcGxpdCgiLyIpLnNsaWNlKDAsMikuam9pbigiLyIpOm8uc3BsaXQoIi8iKVswXTthLnB1c2gobCl9fXJldHVyblsuLi5uZXcgU2V0KGEpXX1hc3luYyBsb2FkVHlwZXNGb3JQYWNrYWdlKGUpe2lmKCEoIXRoaXMubW9uYWNvSW5zdGFuY2V8fCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KSYmIXRoaXMubG9hZGVkTGlicy5oYXMoZSkmJiF0aGlzLm5vdEZvdW5kUGFja2FnZXMuaGFzKGUpKXRyeXtsZXQgYT1hd2FpdCB0aGlzLnRyeUxvYWRQYWNrYWdlVHlwZXMoZSk7YXx8KGE9YXdhaXQgdGhpcy50cnlMb2FkQXRUeXBlc1BhY2thZ2UoZSkpLGE/dGhpcy5sb2FkZWRMaWJzLmFkZChlKTp0aGlzLm5vdEZvdW5kUGFja2FnZXMuYWRkKGUpfWNhdGNoKGEpe2NvbnNvbGUud2FybihgRmFpbGVkIHRvIGxvYWQgdHlwZXMgZm9yICR7ZX06YCxhKX19YXN5bmMgdHJ5TG9hZFBhY2thZ2VUeXBlcyhlKXtsZXQgYT10aGlzLnRzQXBpO2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHwhYSlyZXR1cm4hMTtsZXQgcj1gL25vZGVfbW9kdWxlcy8ke2V9YDt0cnl7bGV0IHM9YCR7cn0vcGFja2FnZS5qc29uYDtpZihhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmV4aXN0cyhzKSl7bGV0IGw9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZShzKSxoPUpTT04ucGFyc2UobCk7aWYoYS50eXBlc2NyaXB0RGVmYXVsdHMuYWRkRXh0cmFMaWIobCxgZmlsZTovLyR7c31gKSxoLnR5cGVzfHxoLnR5cGluZ3MpcmV0dXJuIGF3YWl0IHRoaXMubG9hZEFsbER0c0ZpbGVzRnJvbVBhY2thZ2UociksITB9bGV0IG89W2Ake3J9L2luZGV4LmQudHNgLGAke3J9L2Rpc3QvaW5kZXguZC50c2AsYCR7cn0vbGliL2luZGV4LmQudHNgXTtmb3IobGV0IGwgb2YgbylpZihhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmV4aXN0cyhsKSlyZXR1cm4gYXdhaXQgdGhpcy5sb2FkQWxsRHRzRmlsZXNGcm9tUGFja2FnZShyKSwhMDtyZXR1cm4hMX1jYXRjaChzKXtyZXR1cm4gY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGxvYWQgcGFja2FnZSB0eXBlcyBmb3IgJHtlfTpgLHMpLCExfX1hc3luYyBsb2FkQWxsRHRzRmlsZXNGcm9tUGFja2FnZShlKXtsZXQgYT10aGlzLnRzQXBpOyF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHwhYXx8YXdhaXQgdGhpcy5sb2FkRHRzRmlsZXNGcm9tRGlyZWN0b3J5KGUpfWFzeW5jIGxvYWREdHNGaWxlc0Zyb21EaXJlY3RvcnkoZSl7bGV0IGE9dGhpcy50c0FwaTtpZighKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHwhYSkpdHJ5e2xldCByPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZERpcihlKTtmb3IobGV0IHMgb2Ygcil7bGV0IG49ZT09PSIvIj9gLyR7cy5uYW1lfWA6YCR7ZX0vJHtzLm5hbWV9YDtpZihzLm5hbWUhPT0ibm9kZV9tb2R1bGVzIil7aWYocy50eXBlPT09ImRpcmVjdG9yeSIpYXdhaXQgdGhpcy5sb2FkRHRzRmlsZXNGcm9tRGlyZWN0b3J5KG4pO2Vsc2UgaWYocy50eXBlPT09ImZpbGUiJiZzLm5hbWUuZW5kc1dpdGgoIi5kLnRzIikpdHJ5e2xldCBvPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUobik7YS50eXBlc2NyaXB0RGVmYXVsdHMuYWRkRXh0cmFMaWIobyxgZmlsZTovLyR7bn1gKX1jYXRjaHt9fX19Y2F0Y2h7fX1hc3luYyB0cnlMb2FkQXRUeXBlc1BhY2thZ2UoZSl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuITE7bGV0IHI9YC9ub2RlX21vZHVsZXMvJHtlLnN0YXJ0c1dpdGgoIkAiKT9gQHR5cGVzLyR7ZS5zbGljZSgxKS5yZXBsYWNlKCIvIiwiX18iKX1gOmBAdHlwZXMvJHtlfWB9YDt0cnl7bGV0IHM9YCR7cn0vaW5kZXguZC50c2A7cmV0dXJuIGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuZXhpc3RzKHMpPyhhd2FpdCB0aGlzLmxvYWRBbGxEdHNGaWxlc0Zyb21QYWNrYWdlKHIpLCEwKTohMX1jYXRjaHtyZXR1cm4hMX19YXN5bmMgcHJvY2Vzc0NvbnRlbnRDaGFuZ2UoZSl7bGV0IGE9dGhpcy5wYXJzZUltcG9ydHMoZSk7Zm9yKGxldCByIG9mIGEpdGhpcy5sb2FkZWRMaWJzLmhhcyhyKXx8YXdhaXQgdGhpcy5sb2FkVHlwZXNGb3JQYWNrYWdlKHIpfWFzeW5jIHNjYW5BbmRMb2FkTmV3UGFja2FnZVR5cGVzKCl7aWYodGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl7dGhpcy5ub3RGb3VuZFBhY2thZ2VzLmNsZWFyKCk7dHJ5e2lmKCFhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmV4aXN0cygiL25vZGVfbW9kdWxlcyIpKXJldHVybjtsZXQgZT1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWREaXIoIi9ub2RlX21vZHVsZXMiKTtmb3IobGV0IGEgb2YgZSlpZihhLnR5cGU9PT0iZGlyZWN0b3J5IilpZihhLm5hbWUuc3RhcnRzV2l0aCgiQCIpKXRyeXtsZXQgcj1gL25vZGVfbW9kdWxlcy8ke2EubmFtZX1gLHM9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRGlyKHIpO2ZvcihsZXQgbiBvZiBzKWlmKG4udHlwZT09PSJkaXJlY3RvcnkiKXtsZXQgbz1gJHthLm5hbWV9LyR7bi5uYW1lfWA7YXdhaXQgdGhpcy5sb2FkVHlwZXNGb3JQYWNrYWdlKG8pfX1jYXRjaHt9ZWxzZSBhLm5hbWUuc3RhcnRzV2l0aCgiLiIpfHxhd2FpdCB0aGlzLmxvYWRUeXBlc0ZvclBhY2thZ2UoYS5uYW1lKX1jYXRjaChlKXtjb25zb2xlLndhcm4oIkZhaWxlZCB0byBzY2FuIG5vZGVfbW9kdWxlczoiLGUpfX19YWRkRmlsZU1vZGVsKGUsYSl7aWYoIXRoaXMubW9uYWNvSW5zdGFuY2UpcmV0dXJuO3RoaXMuZmlsZUNhY2hlLnNldChlLGEpO2xldCByPXRoaXMubW9uYWNvSW5zdGFuY2UuVXJpLnBhcnNlKGBmaWxlOi8vJHtlfWApLHM9dGhpcy5tb25hY29JbnN0YW5jZS5lZGl0b3IuZ2V0TW9kZWwocik7aWYocylzLmdldFZhbHVlKCkhPT1hJiZzLnNldFZhbHVlKGEpO2Vsc2V7bGV0IG49dGhpcy5nZXRMYW5ndWFnZUZyb21QYXRoKGUpO3RoaXMubW9uYWNvSW5zdGFuY2UuZWRpdG9yLmNyZWF0ZU1vZGVsKGEsbixyKX10aGlzLmFkZEZpbGVBc0V4dHJhTGliKGUsYSl9YWRkRmlsZUFzRXh0cmFMaWIoZSxhKXtsZXQgcj10aGlzLnRzQXBpO2lmKCFyKXJldHVybjtsZXQgcz10aGlzLmFkZGVkRXh0cmFMaWJzLmdldChlKTtzJiZzLmRpc3Bvc2UoKTtsZXQgbj1gZmlsZTovLyR7ZX1gLG89ci50eXBlc2NyaXB0RGVmYXVsdHMuYWRkRXh0cmFMaWIoYSxuKTtpZih0aGlzLmFkZGVkRXh0cmFMaWJzLnNldChlLG8pLGUuZW5kc1dpdGgoIi50cyIpJiYhZS5lbmRzV2l0aCgiLmQudHMiKSl7bGV0IGw9ZS5yZXBsYWNlKC9cLnRzJC8sIi5qcyIpLGg9YGZpbGU6Ly8ke2x9YCx1PXIudHlwZXNjcmlwdERlZmF1bHRzLmFkZEV4dHJhTGliKGEsaCk7dGhpcy5hZGRlZEV4dHJhTGlicy5zZXQobCx1KSx0aGlzLmZpbGVDYWNoZS5zZXQobCxhKX1lbHNlIGlmKGUuZW5kc1dpdGgoIi50c3giKSl7bGV0IGw9ZS5yZXBsYWNlKC9cLnRzeCQvLCIuanN4IiksaD1gZmlsZTovLyR7bH1gLHU9ci50eXBlc2NyaXB0RGVmYXVsdHMuYWRkRXh0cmFMaWIoYSxoKTt0aGlzLmFkZGVkRXh0cmFMaWJzLnNldChsLHUpLHRoaXMuZmlsZUNhY2hlLnNldChsLGEpfX1nZXRGaWxlQ29udGVudChlKXtyZXR1cm4gdGhpcy5maWxlQ2FjaGUuZ2V0KGUpfWdldExhbmd1YWdlRnJvbVBhdGgoZSl7c3dpdGNoKGUuc3BsaXQoIi4iKS5wb3AoKT8udG9Mb3dlckNhc2UoKSl7Y2FzZSJ0cyI6Y2FzZSJ0c3giOnJldHVybiJ0eXBlc2NyaXB0IjtjYXNlImpzIjpjYXNlImpzeCI6cmV0dXJuImphdmFzY3JpcHQiO2Nhc2UianNvbiI6cmV0dXJuImpzb24iO2RlZmF1bHQ6cmV0dXJuInBsYWludGV4dCJ9fX19KTt2YXIgTDYsX2kscXRhLGhIZT1jKCgpPT57cGUoKTtJdCgpO2hPZSgpO1hlKCk7bmwoKTtMNj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sX2k9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LHF0YT0oKCk9PntsZXQgdD1bYWUoImRlZXMtd29ya3NwYWNlLWRpZmYtZWRpdG9yIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNXb3Jrc3BhY2VEaWZmRWRpdG9yIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0ICQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpTdHJpbmd9KV0saD1bTCh7dHlwZTpTdHJpbmd9KV0scD1bTCh7dHlwZTpTdHJpbmd9KV0seD1bTCh7dHlwZTpTdHJpbmd9KV0seT1bTCh7dHlwZTpTdHJpbmd9KV0sRT1bTCh7dHlwZTpTdHJpbmd9KV0sTDYodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcmlnaW5hbENvbnRlbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoST0+Im9yaWdpbmFsQ29udGVudCJpbiBJLCJoYXMiKSxnZXQ6aShJPT5JLm9yaWdpbmFsQ29udGVudCwiZ2V0Iiksc2V0OmkoKEksaik9PntJLm9yaWdpbmFsQ29udGVudD1qfSwic2V0Iil9LG1ldGFkYXRhOiR9LG8sbCksTDYodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb2RpZmllZENvbnRlbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoST0+Im1vZGlmaWVkQ29udGVudCJpbiBJLCJoYXMiKSxnZXQ6aShJPT5JLm1vZGlmaWVkQ29udGVudCwiZ2V0Iiksc2V0OmkoKEksaik9PntJLm1vZGlmaWVkQ29udGVudD1qfSwic2V0Iil9LG1ldGFkYXRhOiR9LHUsZiksTDYodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcmlnaW5hbExhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEk9PiJvcmlnaW5hbExhYmVsImluIEksImhhcyIpLGdldDppKEk9Pkkub3JpZ2luYWxMYWJlbCwiZ2V0Iiksc2V0OmkoKEksaik9PntJLm9yaWdpbmFsTGFiZWw9an0sInNldCIpfSxtZXRhZGF0YTokfSxnLHYpLEw2KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW9kaWZpZWRMYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShJPT4ibW9kaWZpZWRMYWJlbCJpbiBJLCJoYXMiKSxnZXQ6aShJPT5JLm1vZGlmaWVkTGFiZWwsImdldCIpLHNldDppKChJLGopPT57SS5tb2RpZmllZExhYmVsPWp9LCJzZXQiKX0sbWV0YWRhdGE6JH0sYixtKSxMNih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imxhbmd1YWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEk9PiJsYW5ndWFnZSJpbiBJLCJoYXMiKSxnZXQ6aShJPT5JLmxhbmd1YWdlLCJnZXQiKSxzZXQ6aSgoSSxqKT0+e0kubGFuZ3VhZ2U9an0sInNldCIpfSxtZXRhZGF0YTokfSxNLGspLEw2KHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsZVBhdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoST0+ImZpbGVQYXRoImluIEksImhhcyIpLGdldDppKEk9PkkuZmlsZVBhdGgsImdldCIpLHNldDppKChJLGopPT57SS5maWxlUGF0aD1qfSwic2V0Iil9LG1ldGFkYXRhOiR9LF8sQyksTDYobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6JH0sbnVsbCxhKSxOPXI9ZS52YWx1ZSwkJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOiR9KX1zdGF0aWMgZGVtbz1pKCgpPT53YAogICAgPGRlZXMtd29ya3NwYWNlLWRpZmYtZWRpdG9yCiAgICAgIC5vcmlnaW5hbENvbnRlbnQ9JHtgZnVuY3Rpb24gaGVsbG8oKSB7CiAgY29uc29sZS5sb2coIkhlbGxvIik7Cn1gfQogICAgICAubW9kaWZpZWRDb250ZW50PSR7YGZ1bmN0aW9uIGhlbGxvKCkgewogIGNvbnNvbGUubG9nKCJIZWxsbyBXb3JsZCEiKTsKICByZXR1cm4gdHJ1ZTsKfWB9CiAgICAgIC5sYW5ndWFnZT0keyJ0eXBlc2NyaXB0In0KICAgICAgLmZpbGVQYXRoPSR7Ii9kZW1vL2V4YW1wbGUudHMifQogICAgPjwvZGVlcy13b3Jrc3BhY2UtZGlmZi1lZGl0b3I+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiV29ya3NwYWNlIl07ZGlmZkVkaXRvckRlZmVycmVkPUV0LnNtYXJ0cHJvbWlzZS5kZWZlcigpOyNlPV9pKHRoaXMsbywiIik7Z2V0IG9yaWdpbmFsQ29udGVudCgpe3JldHVybiB0aGlzLiNlfXNldCBvcmlnaW5hbENvbnRlbnQoJCl7dGhpcy4jZT0kfSN0PShfaSh0aGlzLGwpLF9pKHRoaXMsdSwiIikpO2dldCBtb2RpZmllZENvbnRlbnQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbW9kaWZpZWRDb250ZW50KCQpe3RoaXMuI3Q9JH0jYT0oX2kodGhpcyxmKSxfaSh0aGlzLGcsIkRpc2sgVmVyc2lvbiIpKTtnZXQgb3JpZ2luYWxMYWJlbCgpe3JldHVybiB0aGlzLiNhfXNldCBvcmlnaW5hbExhYmVsKCQpe3RoaXMuI2E9JH0jcj0oX2kodGhpcyx2KSxfaSh0aGlzLGIsIkxvY2FsIFZlcnNpb24iKSk7Z2V0IG1vZGlmaWVkTGFiZWwoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbW9kaWZpZWRMYWJlbCgkKXt0aGlzLiNyPSR9I2k9KF9pKHRoaXMsbSksX2kodGhpcyxNLCJ0eXBlc2NyaXB0IikpO2dldCBsYW5ndWFnZSgpe3JldHVybiB0aGlzLiNpfXNldCBsYW5ndWFnZSgkKXt0aGlzLiNpPSR9I3M9KF9pKHRoaXMsayksX2kodGhpcyxfLCIiKSk7Z2V0IGZpbGVQYXRoKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGZpbGVQYXRoKCQpe3RoaXMuI3M9JH1kaWZmRWRpdG9yPShfaSh0aGlzLEMpLG51bGwpO21vbmFjb1RoZW1lU3Vic2NyaXB0aW9uPW51bGw7b3JpZ2luYWxNb2RlbD1udWxsO21vZGlmaWVkTW9kZWw9bnVsbDtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksa3Iuc2V0dXBEb21Ub29scygpfXN0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgfQoKICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmRpZmYtd3JhcHBlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLmRpZmYtdG9vbGJhciB7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NiUpIiwiaHNsKDAgMCUgMTIlKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAyMCUpIil9OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZGlmZi1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDMwJSkiLCJoc2woMCAwJSA4MCUpIil9OwogICAgICB9CgogICAgICAuZGlmZi1maWxlbmFtZSB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICAuZGlmZi1sYWJlbHMgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAuZGlmZi1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5kaWZmLWNvbnRhaW5lciB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAubmF2LWJ1dHRvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtYXJnaW4tbGVmdDogMTZweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0ICQ9dGhpcy5maWxlUGF0aC5zcGxpdCgiLyIpLnBvcCgpfHwiZmlsZSI7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImRpZmYtd3JhcHBlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlmZi10b29sYmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpZmYtaW5mbyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkaWZmLWZpbGVuYW1lIj4keyR9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGlmZi1sYWJlbHMiPiR7dGhpcy5vcmlnaW5hbExhYmVsfSDihpQgJHt0aGlzLm1vZGlmaWVkTGFiZWx9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWZmLWFjdGlvbnMiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJuYXYtYnV0dG9ucyI+CiAgICAgICAgICAgICAgPGRlZXMtYnV0dG9uCiAgICAgICAgICAgICAgICB0eXBlPSJvdXRsaW5lIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5nb1RvUHJldmlvdXNEaWZmfQogICAgICAgICAgICAgID5QcmV2aW91czwvZGVlcy1idXR0b24+CiAgICAgICAgICAgICAgPGRlZXMtYnV0dG9uCiAgICAgICAgICAgICAgICB0eXBlPSJvdXRsaW5lIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5nb1RvTmV4dERpZmZ9CiAgICAgICAgICAgICAgPk5leHQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9uLWJ1dHRvbnMiPgogICAgICAgICAgICAgIDxkZWVzLWJ1dHRvbgogICAgICAgICAgICAgICAgdHlwZT0iaGlnaGxpZ2h0ZWQiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmFjY2VwdExvY2FsfQogICAgICAgICAgICAgID5Vc2UgTG9jYWw8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICAgIDxkZWVzLWJ1dHRvbgogICAgICAgICAgICAgICAgdHlwZT0ib3V0bGluZSIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuYWNjZXB0RGlza30KICAgICAgICAgICAgICA+VXNlIERpc2s8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICAgIDxkZWVzLWJ1dHRvbgogICAgICAgICAgICAgICAgdHlwZT0ib3V0bGluZSIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuY2xvc2V9CiAgICAgICAgICAgICAgPkNsb3NlPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJkaWZmLWNvbnRhaW5lciI+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXthd2FpdCBzdXBlci5maXJzdFVwZGF0ZWQobmV3IE1hcCksYXdhaXQgdGhpcy5pbml0RGlmZkVkaXRvcigpfWFzeW5jIGluaXREaWZmRWRpdG9yKCl7bGV0ICQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZGlmZi1jb250YWluZXIiKTtpZighJClyZXR1cm47bGV0IEk9YGh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbW9uYWNvLWVkaXRvckAke2JafWAsaj13aW5kb3cubW9uYWNvO2p8fChhd2FpdCBuZXcgUHJvbWlzZShxPT57bGV0IG9lPXNldEludGVydmFsKCgpPT57d2luZG93Lm1vbmFjbyYmKGNsZWFySW50ZXJ2YWwob2UpLHEoKSl9LDEwMCl9KSxqPXdpbmRvdy5tb25hY28pO2xldCBTPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLEQ9Uy50aGVtZU1hbmFnZXIuZ29CcmlnaHRCb29sZWFuPyJ2cyI6InZzLWRhcmsiLFQ9RGF0ZS5ub3coKSxBPWouVXJpLnBhcnNlKGBkaWZmOi8vb3JpZ2luYWwvJHtUfSR7dGhpcy5maWxlUGF0aH1gKSxVPWouVXJpLnBhcnNlKGBkaWZmOi8vbW9kaWZpZWQvJHtUfSR7dGhpcy5maWxlUGF0aH1gKTt0aGlzLm9yaWdpbmFsTW9kZWw9ai5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy5vcmlnaW5hbENvbnRlbnQsdGhpcy5sYW5ndWFnZSxBKSx0aGlzLm1vZGlmaWVkTW9kZWw9ai5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy5tb2RpZmllZENvbnRlbnQsdGhpcy5sYW5ndWFnZSxVKSx0aGlzLmRpZmZFZGl0b3I9ai5lZGl0b3IuY3JlYXRlRGlmZkVkaXRvcigkLHthdXRvbWF0aWNMYXlvdXQ6ITAscmVhZE9ubHk6ITEsb3JpZ2luYWxFZGl0YWJsZTohMSxyZW5kZXJTaWRlQnlTaWRlOiEwLGlnbm9yZVRyaW1XaGl0ZXNwYWNlOiExLGZvbnRTaXplOjE0LG1pbmltYXA6e2VuYWJsZWQ6ITF9fSksai5lZGl0b3Iuc2V0VGhlbWUoRCksdGhpcy5kaWZmRWRpdG9yLnNldE1vZGVsKHtvcmlnaW5hbDp0aGlzLm9yaWdpbmFsTW9kZWwsbW9kaWZpZWQ6dGhpcy5tb2RpZmllZE1vZGVsfSksdGhpcy5tb25hY29UaGVtZVN1YnNjcmlwdGlvbj1TLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKHE9PntsZXQgb2U9cT8idnMiOiJ2cy1kYXJrIjtqLmVkaXRvci5zZXRUaGVtZShvZSl9KTtsZXQgUj0ibW9uYWNvLWRpZmYtZWRpdG9yLWNzcyI7aWYoIXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoUikpe2xldCBvZT1hd2FpdChhd2FpdCBmZXRjaChgJHtJfS9taW4vdnMvZWRpdG9yL2VkaXRvci5tYWluLmNzc2ApKS50ZXh0KCksTz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO08uaWQ9UixPLnRleHRDb250ZW50PW9lLHRoaXMuc2hhZG93Um9vdD8uYXBwZW5kKE8pfXNldFRpbWVvdXQoKCk9Pnt0cnl7dGhpcy5kaWZmRWRpdG9yPy5yZXZlYWxGaXJzdERpZmYoKX1jYXRjaHt9fSwxMDApLHRoaXMuZGlmZkVkaXRvckRlZmVycmVkLnJlc29sdmUodGhpcy5kaWZmRWRpdG9yKX1nb1RvTmV4dERpZmYoKXt0cnl7dGhpcy5kaWZmRWRpdG9yPy5nb1RvRGlmZigibmV4dCIpfWNhdGNoe319Z29Ub1ByZXZpb3VzRGlmZigpe3RyeXt0aGlzLmRpZmZFZGl0b3I/LmdvVG9EaWZmKCJwcmV2aW91cyIpfWNhdGNoe319YWNjZXB0TG9jYWwoKXtsZXQgJD10aGlzLmRpZmZFZGl0b3I/LmdldE1vZGlmaWVkRWRpdG9yKCkuZ2V0VmFsdWUoKXx8dGhpcy5tb2RpZmllZENvbnRlbnQ7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGlmZi1yZXNvbHZlZCIse2RldGFpbDp7YWN0aW9uOiJ1c2UtbG9jYWwiLGNvbnRlbnQ6JH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1hY2NlcHREaXNrKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGlmZi1yZXNvbHZlZCIse2RldGFpbDp7YWN0aW9uOiJ1c2UtZGlzayIsY29udGVudDp0aGlzLm9yaWdpbmFsQ29udGVudH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jbG9zZSgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRpZmYtY2xvc2VkIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5tb25hY29UaGVtZVN1YnNjcmlwdGlvbiYmKHRoaXMubW9uYWNvVGhlbWVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLm1vbmFjb1RoZW1lU3Vic2NyaXB0aW9uPW51bGwpLHRoaXMub3JpZ2luYWxNb2RlbCYmKHRoaXMub3JpZ2luYWxNb2RlbC5kaXNwb3NlKCksdGhpcy5vcmlnaW5hbE1vZGVsPW51bGwpLHRoaXMubW9kaWZpZWRNb2RlbCYmKHRoaXMubW9kaWZpZWRNb2RlbC5kaXNwb3NlKCksdGhpcy5tb2RpZmllZE1vZGVsPW51bGwpLHRoaXMuZGlmZkVkaXRvciYmKHRoaXMuZGlmZkVkaXRvci5kaXNwb3NlKCksdGhpcy5kaWZmRWRpdG9yPW51bGwpfXN0YXRpY3tfaShyLGEpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgWmEsenQsVnRhLGp0YT1jKCgpPT57cGUoKTtJdCgpO1hlKCk7ZlgoKTtuNigpO21YKCk7bVgoKTtBQigpO0FCKCk7cEhlKCk7dUhlKCk7S3QoKTtuNigpO2ZIZSgpO3YxKCk7UmEoKTtaWigpO2hIZSgpO1phPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSx6dD1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sVnRhPSgoKT0+e2xldCB0PVthZSgiZGVlcy13b3Jrc3BhY2UiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXSx5LE09W10saz1bXSxFLF89W10sQz1bXSxOLCQ9W10sST1bXSxqLFM9W10sej1bXSxELFQ9W10sQT1bXSxVLFI9W10scT1bXSxvZSxPPVtdLHJlPVtdLHllLEI9W10sZWU9W10sQ2UsWT1bXSxQPVtdLEgsRz1bXSxXPVtdLHNlLHplPVtdLE1lPVtdLEVlLFY9W10sRj1bXSxuZSx0ZT1bXSxLPVtdLGtlLHZlPVtdLGRlPVtdLCRlLFZlPVtdLFFlPVtdLFRlLGxlPVtdLGZlPVtdLFNlLEhlPVtdLEtlPVtdLGt0LHV0PVtdLEN0PVtdO3ZhciBXdD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc1dvcmtzcGFjZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBoZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk9iamVjdH0pXSxoPVtMKHthdHRyaWJ1dGU6ITF9KV0scD1bTCh7dHlwZTpCb29sZWFufSldLHg9W0woe3R5cGU6Qm9vbGVhbn0pXSx5PVtMKHt0eXBlOk51bWJlcn0pXSxFPVtMKHt0eXBlOk51bWJlcn0pXSxOPVtaKCldLGo9W1ooKV0sRD1bWigpXSxVPVtaKCldLG9lPVtaKCldLHllPVtaKCldLENlPVtaKCldLEg9W1ooKV0sc2U9W1ooKV0sRWU9W1ooKV0sbmU9W1ooKV0sa2U9W1ooKV0sJGU9W1ooKV0sVGU9W1ooKV0sU2U9W1ooKV0sa3Q9W1ooKV0sWmEodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJleGVjdXRpb25FbnZpcm9ubWVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtZT0+ImV4ZWN1dGlvbkVudmlyb25tZW50ImluIG1lLCJoYXMiKSxnZXQ6aShtZT0+bWUuZXhlY3V0aW9uRW52aXJvbm1lbnQsImdldCIpLHNldDppKChtZSxQZSk9PnttZS5leGVjdXRpb25FbnZpcm9ubWVudD1QZX0sInNldCIpfSxtZXRhZGF0YTpoZX0sbyxsKSxaYSh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImluaXRpYWxpemF0aW9uUHJvbWlzZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtZT0+ImluaXRpYWxpemF0aW9uUHJvbWlzZSJpbiBtZSwiaGFzIiksZ2V0OmkobWU9Pm1lLmluaXRpYWxpemF0aW9uUHJvbWlzZSwiZ2V0Iiksc2V0OmkoKG1lLFBlKT0+e21lLmluaXRpYWxpemF0aW9uUHJvbWlzZT1QZX0sInNldCIpfSxtZXRhZGF0YTpoZX0sdSxmKSxaYSh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dGaWxlVHJlZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtZT0+InNob3dGaWxlVHJlZSJpbiBtZSwiaGFzIiksZ2V0OmkobWU9Pm1lLnNob3dGaWxlVHJlZSwiZ2V0Iiksc2V0OmkoKG1lLFBlKT0+e21lLnNob3dGaWxlVHJlZT1QZX0sInNldCIpfSxtZXRhZGF0YTpoZX0sZyx2KSxaYSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dUZXJtaW5hbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtZT0+InNob3dUZXJtaW5hbCJpbiBtZSwiaGFzIiksZ2V0OmkobWU9Pm1lLnNob3dUZXJtaW5hbCwiZ2V0Iiksc2V0OmkoKG1lLFBlKT0+e21lLnNob3dUZXJtaW5hbD1QZX0sInNldCIpfSxtZXRhZGF0YTpoZX0sYixtKSxaYSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbGVUcmVlV2lkdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkobWU9PiJmaWxlVHJlZVdpZHRoImluIG1lLCJoYXMiKSxnZXQ6aShtZT0+bWUuZmlsZVRyZWVXaWR0aCwiZ2V0Iiksc2V0OmkoKG1lLFBlKT0+e21lLmZpbGVUcmVlV2lkdGg9UGV9LCJzZXQiKX0sbWV0YWRhdGE6aGV9LE0sayksWmEodGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0ZXJtaW5hbEhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtZT0+InRlcm1pbmFsSGVpZ2h0ImluIG1lLCJoYXMiKSxnZXQ6aShtZT0+bWUudGVybWluYWxIZWlnaHQsImdldCIpLHNldDppKChtZSxQZSk9PnttZS50ZXJtaW5hbEhlaWdodD1QZX0sInNldCIpfSxtZXRhZGF0YTpoZX0sXyxDKSxaYSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9wZW5GaWxlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtZT0+Im9wZW5GaWxlcyJpbiBtZSwiaGFzIiksZ2V0OmkobWU9Pm1lLm9wZW5GaWxlcywiZ2V0Iiksc2V0OmkoKG1lLFBlKT0+e21lLm9wZW5GaWxlcz1QZX0sInNldCIpfSxtZXRhZGF0YTpoZX0sJCxJKSxaYSh0aGlzLG51bGwsaix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2ZUZpbGVQYXRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG1lPT4iYWN0aXZlRmlsZVBhdGgiaW4gbWUsImhhcyIpLGdldDppKG1lPT5tZS5hY3RpdmVGaWxlUGF0aCwiZ2V0Iiksc2V0OmkoKG1lLFBlKT0+e21lLmFjdGl2ZUZpbGVQYXRoPVBlfSwic2V0Iil9LG1ldGFkYXRhOmhlfSxTLHopLFphKHRoaXMsbnVsbCxELHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNUZXJtaW5hbENvbGxhcHNlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtZT0+ImlzVGVybWluYWxDb2xsYXBzZWQiaW4gbWUsImhhcyIpLGdldDppKG1lPT5tZS5pc1Rlcm1pbmFsQ29sbGFwc2VkLCJnZXQiKSxzZXQ6aSgobWUsUGUpPT57bWUuaXNUZXJtaW5hbENvbGxhcHNlZD1QZX0sInNldCIpfSxtZXRhZGF0YTpoZX0sVCxBKSxaYSh0aGlzLG51bGwsVSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzRmlsZVRyZWVDb2xsYXBzZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkobWU9PiJpc0ZpbGVUcmVlQ29sbGFwc2VkImluIG1lLCJoYXMiKSxnZXQ6aShtZT0+bWUuaXNGaWxlVHJlZUNvbGxhcHNlZCwiZ2V0Iiksc2V0OmkoKG1lLFBlKT0+e21lLmlzRmlsZVRyZWVDb2xsYXBzZWQ9UGV9LCJzZXQiKX0sbWV0YWRhdGE6aGV9LFIscSksWmEodGhpcyxudWxsLG9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNJbml0aWFsaXppbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkobWU9PiJpc0luaXRpYWxpemluZyJpbiBtZSwiaGFzIiksZ2V0OmkobWU9Pm1lLmlzSW5pdGlhbGl6aW5nLCJnZXQiKSxzZXQ6aSgobWUsUGUpPT57bWUuaXNJbml0aWFsaXppbmc9UGV9LCJzZXQiKX0sbWV0YWRhdGE6aGV9LE8scmUpLFphKHRoaXMsbnVsbCx5ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2ZUJvdHRvbVBhbmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG1lPT4iYWN0aXZlQm90dG9tUGFuZWwiaW4gbWUsImhhcyIpLGdldDppKG1lPT5tZS5hY3RpdmVCb3R0b21QYW5lbCwiZ2V0Iiksc2V0OmkoKG1lLFBlKT0+e21lLmFjdGl2ZUJvdHRvbVBhbmVsPVBlfSwic2V0Iil9LG1ldGFkYXRhOmhlfSxCLGVlKSxaYSh0aGlzLG51bGwsQ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaWFnbm9zdGljTWFya2VycyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtZT0+ImRpYWdub3N0aWNNYXJrZXJzImluIG1lLCJoYXMiKSxnZXQ6aShtZT0+bWUuZGlhZ25vc3RpY01hcmtlcnMsImdldCIpLHNldDppKChtZSxQZSk9PnttZS5kaWFnbm9zdGljTWFya2Vycz1QZX0sInNldCIpfSxtZXRhZGF0YTpoZX0sWSxQKSxaYSh0aGlzLG51bGwsSCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9TYXZlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG1lPT4iYXV0b1NhdmUiaW4gbWUsImhhcyIpLGdldDppKG1lPT5tZS5hdXRvU2F2ZSwiZ2V0Iiksc2V0OmkoKG1lLFBlKT0+e21lLmF1dG9TYXZlPVBlfSwic2V0Iil9LG1ldGFkYXRhOmhlfSxHLFcpLFphKHRoaXMsbnVsbCxzZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImluaXRDb21tYW5kIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG1lPT4iaW5pdENvbW1hbmQiaW4gbWUsImhhcyIpLGdldDppKG1lPT5tZS5pbml0Q29tbWFuZCwiZ2V0Iiksc2V0OmkoKG1lLFBlKT0+e21lLmluaXRDb21tYW5kPVBlfSwic2V0Iil9LG1ldGFkYXRhOmhlfSx6ZSxNZSksWmEodGhpcyxudWxsLEVlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5pdE91dHB1dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtZT0+ImluaXRPdXRwdXQiaW4gbWUsImhhcyIpLGdldDppKG1lPT5tZS5pbml0T3V0cHV0LCJnZXQiKSxzZXQ6aSgobWUsUGUpPT57bWUuaW5pdE91dHB1dD1QZX0sInNldCIpfSxtZXRhZGF0YTpoZX0sVixGKSxaYSh0aGlzLG51bGwsbmUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50RmlsZVRyZWVXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtZT0+ImN1cnJlbnRGaWxlVHJlZVdpZHRoImluIG1lLCJoYXMiKSxnZXQ6aShtZT0+bWUuY3VycmVudEZpbGVUcmVlV2lkdGgsImdldCIpLHNldDppKChtZSxQZSk9PnttZS5jdXJyZW50RmlsZVRyZWVXaWR0aD1QZX0sInNldCIpfSxtZXRhZGF0YTpoZX0sdGUsSyksWmEodGhpcyxudWxsLGtlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFRlcm1pbmFsSGVpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG1lPT4iY3VycmVudFRlcm1pbmFsSGVpZ2h0ImluIG1lLCJoYXMiKSxnZXQ6aShtZT0+bWUuY3VycmVudFRlcm1pbmFsSGVpZ2h0LCJnZXQiKSxzZXQ6aSgobWUsUGUpPT57bWUuY3VycmVudFRlcm1pbmFsSGVpZ2h0PVBlfSwic2V0Iil9LG1ldGFkYXRhOmhlfSx2ZSxkZSksWmEodGhpcyxudWxsLCRlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNEcmFnZ2luZ0ZpbGVUcmVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG1lPT4iaXNEcmFnZ2luZ0ZpbGVUcmVlImluIG1lLCJoYXMiKSxnZXQ6aShtZT0+bWUuaXNEcmFnZ2luZ0ZpbGVUcmVlLCJnZXQiKSxzZXQ6aSgobWUsUGUpPT57bWUuaXNEcmFnZ2luZ0ZpbGVUcmVlPVBlfSwic2V0Iil9LG1ldGFkYXRhOmhlfSxWZSxRZSksWmEodGhpcyxudWxsLFRlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNEcmFnZ2luZ1Rlcm1pbmFsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG1lPT4iaXNEcmFnZ2luZ1Rlcm1pbmFsImluIG1lLCJoYXMiKSxnZXQ6aShtZT0+bWUuaXNEcmFnZ2luZ1Rlcm1pbmFsLCJnZXQiKSxzZXQ6aSgobWUsUGUpPT57bWUuaXNEcmFnZ2luZ1Rlcm1pbmFsPVBlfSwic2V0Iil9LG1ldGFkYXRhOmhlfSxsZSxmZSksWmEodGhpcyxudWxsLFNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0RpZmZWaWV3IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG1lPT4ic2hvd0RpZmZWaWV3ImluIG1lLCJoYXMiKSxnZXQ6aShtZT0+bWUuc2hvd0RpZmZWaWV3LCJnZXQiKSxzZXQ6aSgobWUsUGUpPT57bWUuc2hvd0RpZmZWaWV3PVBlfSwic2V0Iil9LG1ldGFkYXRhOmhlfSxIZSxLZSksWmEodGhpcyxudWxsLGt0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGlmZlZpZXdDb25maWciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkobWU9PiJkaWZmVmlld0NvbmZpZyJpbiBtZSwiaGFzIiksZ2V0OmkobWU9Pm1lLmRpZmZWaWV3Q29uZmlnLCJnZXQiKSxzZXQ6aSgobWUsUGUpPT57bWUuZGlmZlZpZXdDb25maWc9UGV9LCJzZXQiKX0sbWV0YWRhdGE6aGV9LHV0LEN0KSxaYShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpoZX0sbnVsbCxhKSxXdD1yPWUudmFsdWUsaGUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6aGV9KX1zdGF0aWMgZGVtbz1pKCgpPT57bGV0IGhlPW5ldyBfNixtZT0oYXN5bmMoKT0+e2F3YWl0IGhlLmluaXQoKTtsZXQgYnQ9eyJwYWNrYWdlLmpzb24iOntmaWxlOntjb250ZW50czpKU09OLnN0cmluZ2lmeSh7bmFtZToiZGVtby1wcm9qZWN0Iix2ZXJzaW9uOiIxLjAuMCIsdHlwZToibW9kdWxlIixzY3JpcHRzOntidWlsZDoidHNjIixkZXY6InRzYyAtLXdhdGNoIn0sZGVwZW5kZW5jaWVzOnsiQHB1c2gucm9ja3Mvc21hcnRwcm9taXNlIjoiXjQuMi4zIn0sZGV2RGVwZW5kZW5jaWVzOnsiQHR5cGVzL25vZGUiOiJeMjIuMC4wIix0eXBlc2NyaXB0OiJeNS4wLjAifX0sbnVsbCwyKX19LCJucG1leHRyYS5qc29uIjp7ZmlsZTp7Y29udGVudHM6SlNPTi5zdHJpbmdpZnkoe2RlZXNFZGl0b3JXb3Jrc3BhY2U6e29uSW5pdDoicG5wbSBpbnN0YWxsIn19LG51bGwsMil9fSwidHNjb25maWcuanNvbiI6e2ZpbGU6e2NvbnRlbnRzOkpTT04uc3RyaW5naWZ5KHtjb21waWxlck9wdGlvbnM6e3RhcmdldDoiRVMyMDIyIixtb2R1bGU6Ik5vZGVOZXh0Iixtb2R1bGVSZXNvbHV0aW9uOiJOb2RlTmV4dCIsc3RyaWN0OiEwLG91dERpcjoiLi9kaXN0Iixyb290RGlyOiIuL3NyYyIsZGVjbGFyYXRpb246ITB9LGluY2x1ZGU6WyJzcmMvKiovKiJdfSxudWxsLDIpfX0sc3JjOntkaXJlY3Rvcnk6eyJpbmRleC50cyI6e2ZpbGU6e2NvbnRlbnRzOmAvLyBNYWluIGVudHJ5IHBvaW50CmltcG9ydCB7IGdyZWV0LCBmb3JtYXROYW1lIH0gZnJvbSAnLi91dGlscy5qcyc7Cgpjb25zdCBuYW1lID0gZm9ybWF0TmFtZSgnV29ybGQnKTsKY29uc29sZS5sb2coZ3JlZXQobmFtZSkpOwoKLy8gRXhhbXBsZSBhc3luYyBmdW5jdGlvbgphc3luYyBmdW5jdGlvbiBtYWluKCkgewogIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFByb21pc2UucmVzb2x2ZSgnSGVsbG8gZnJvbSBhc3luYyEnKTsKICBjb25zb2xlLmxvZyhyZXN1bHQpOwp9CgptYWluKCk7CmB9fSwidXRpbHMudHMiOntmaWxlOntjb250ZW50czpgLy8gVXRpbGl0eSBmdW5jdGlvbnMKCmV4cG9ydCBpbnRlcmZhY2UgSVVzZXIgewogIGZpcnN0TmFtZTogc3RyaW5nOwogIGxhc3ROYW1lOiBzdHJpbmc7Cn0KCmV4cG9ydCBmdW5jdGlvbiBncmVldChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgewogIHJldHVybiBcYEhlbGxvLCBcJHtuYW1lfSFcYDsKfQoKZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdE5hbWUobmFtZTogc3RyaW5nKTogc3RyaW5nIHsKICByZXR1cm4gbmFtZS50cmltKCkudG9VcHBlckNhc2UoKTsKfQoKZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVVzZXIoZmlyc3ROYW1lOiBzdHJpbmcsIGxhc3ROYW1lOiBzdHJpbmcpOiBJVXNlciB7CiAgcmV0dXJuIHsgZmlyc3ROYW1lLCBsYXN0TmFtZSB9Owp9CmB9fSwiaW1wb3J0dGVzdC50cyI6e2ZpbGU6e2NvbnRlbnRzOmAvLyBUZXN0IG5wbSBwYWNrYWdlIGltcG9ydHMKaW1wb3J0ICogYXMgc21hcnRwcm9taXNlIGZyb20gJ0BwdXNoLnJvY2tzL3NtYXJ0cHJvbWlzZSc7CgovLyBUaGlzIHNob3VsZCBoYXZlIEludGVsbGlTZW5zZSBzaG93aW5nIGRlZmVyKCkgbWV0aG9kCmNvbnN0IGRlZmVycmVkID0gc21hcnRwcm9taXNlLmRlZmVyPHN0cmluZz4oKTsKCi8vIFRlc3QgdXNpbmcgdGhlIGRlZmVycmVkIHByb21pc2UKYXN5bmMgZnVuY3Rpb24gdGVzdFNtYXJ0UHJvbWlzZSgpIHsKICBzZXRUaW1lb3V0KCgpID0+IHsKICAgIGRlZmVycmVkLnJlc29sdmUoJ0hlbGxvIGZyb20gc21hcnRwcm9taXNlIScpOwogIH0sIDEwMCk7CgogIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGRlZmVycmVkLnByb21pc2U7CiAgY29uc29sZS5sb2cocmVzdWx0KTsKfQoKdGVzdFNtYXJ0UHJvbWlzZSgpOwpgfX19fX07YXdhaXQgaGUubW91bnQoYnQpfSkoKSxQZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtQZS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjsiO2xldCBmdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkZWVzLXdvcmtzcGFjZSIpO3JldHVybiBmdC5leGVjdXRpb25FbnZpcm9ubWVudD1oZSxmdC5pbml0aWFsaXphdGlvblByb21pc2U9bWUsUGUuYXBwZW5kQ2hpbGQoZnQpLHdgCiAgICAgIDxkZWVzLWRlbW93cmFwcGVyPgogICAgICAgICR7UGV9CiAgICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIGB9LCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJXb3Jrc3BhY2UiXTsjZT16dCh0aGlzLG8sbnVsbCk7Z2V0IGV4ZWN1dGlvbkVudmlyb25tZW50KCl7cmV0dXJuIHRoaXMuI2V9c2V0IGV4ZWN1dGlvbkVudmlyb25tZW50KGhlKXt0aGlzLiNlPWhlfSN0PSh6dCh0aGlzLGwpLHp0KHRoaXMsdSxudWxsKSk7Z2V0IGluaXRpYWxpemF0aW9uUHJvbWlzZSgpe3JldHVybiB0aGlzLiN0fXNldCBpbml0aWFsaXphdGlvblByb21pc2UoaGUpe3RoaXMuI3Q9aGV9I2E9KHp0KHRoaXMsZiksenQodGhpcyxnLCEwKSk7Z2V0IHNob3dGaWxlVHJlZSgpe3JldHVybiB0aGlzLiNhfXNldCBzaG93RmlsZVRyZWUoaGUpe3RoaXMuI2E9aGV9I3I9KHp0KHRoaXMsdiksenQodGhpcyxiLCEwKSk7Z2V0IHNob3dUZXJtaW5hbCgpe3JldHVybiB0aGlzLiNyfXNldCBzaG93VGVybWluYWwoaGUpe3RoaXMuI3I9aGV9I2k9KHp0KHRoaXMsbSksenQodGhpcyxNLDI1MCkpO2dldCBmaWxlVHJlZVdpZHRoKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGZpbGVUcmVlV2lkdGgoaGUpe3RoaXMuI2k9aGV9I3M9KHp0KHRoaXMsayksenQodGhpcyxfLDIwMCkpO2dldCB0ZXJtaW5hbEhlaWdodCgpe3JldHVybiB0aGlzLiNzfXNldCB0ZXJtaW5hbEhlaWdodChoZSl7dGhpcy4jcz1oZX0jbz0oenQodGhpcyxDKSx6dCh0aGlzLCQsW10pKTtnZXQgb3BlbkZpbGVzKCl7cmV0dXJuIHRoaXMuI299c2V0IG9wZW5GaWxlcyhoZSl7dGhpcy4jbz1oZX0jbj0oenQodGhpcyxJKSx6dCh0aGlzLFMsIiIpKTtnZXQgYWN0aXZlRmlsZVBhdGgoKXtyZXR1cm4gdGhpcy4jbn1zZXQgYWN0aXZlRmlsZVBhdGgoaGUpe3RoaXMuI249aGV9I2w9KHp0KHRoaXMseiksenQodGhpcyxULCExKSk7Z2V0IGlzVGVybWluYWxDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy4jbH1zZXQgaXNUZXJtaW5hbENvbGxhcHNlZChoZSl7dGhpcy4jbD1oZX0jYz0oenQodGhpcyxBKSx6dCh0aGlzLFIsITEpKTtnZXQgaXNGaWxlVHJlZUNvbGxhcHNlZCgpe3JldHVybiB0aGlzLiNjfXNldCBpc0ZpbGVUcmVlQ29sbGFwc2VkKGhlKXt0aGlzLiNjPWhlfSNkPSh6dCh0aGlzLHEpLHp0KHRoaXMsTywhMCkpO2dldCBpc0luaXRpYWxpemluZygpe3JldHVybiB0aGlzLiNkfXNldCBpc0luaXRpYWxpemluZyhoZSl7dGhpcy4jZD1oZX0jcD0oenQodGhpcyxyZSksenQodGhpcyxCLCJ0ZXJtaW5hbCIpKTtnZXQgYWN0aXZlQm90dG9tUGFuZWwoKXtyZXR1cm4gdGhpcy4jcH1zZXQgYWN0aXZlQm90dG9tUGFuZWwoaGUpe3RoaXMuI3A9aGV9I3U9KHp0KHRoaXMsZWUpLHp0KHRoaXMsWSxbXSkpO2dldCBkaWFnbm9zdGljTWFya2Vycygpe3JldHVybiB0aGlzLiN1fXNldCBkaWFnbm9zdGljTWFya2VycyhoZSl7dGhpcy4jdT1oZX1lZGl0b3JFbGVtZW50PSh6dCh0aGlzLFApLG51bGwpO2luaXRpYWxpemF0aW9uU3RhcnRlZD0hMTtpbnRlbGxpU2Vuc2VNYW5hZ2VyPW51bGw7aW50ZWxsaVNlbnNlSW5pdGlhbGl6ZWQ9ITE7bm9kZU1vZHVsZXNXYXRjaGVyPW51bGw7bm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQ9bnVsbDtpbnRlbGxpU2Vuc2VEZWJvdW5jZVRpbWVvdXQ9bnVsbDtvcGVuRmlsZVdhdGNoZXJzPW5ldyBNYXA7ZmlsZUNoYW5nZURlYm91bmNlPW5ldyBNYXA7YWN0aW9uYmFyRWxlbWVudD1udWxsOyNmPXp0KHRoaXMsRywhMSk7Z2V0IGF1dG9TYXZlKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IGF1dG9TYXZlKGhlKXt0aGlzLiNmPWhlfWF1dG9TYXZlSW50ZXJ2YWw9KHp0KHRoaXMsVyksbnVsbCk7I2g9enQodGhpcyx6ZSwiIik7Z2V0IGluaXRDb21tYW5kKCl7cmV0dXJuIHRoaXMuI2h9c2V0IGluaXRDb21tYW5kKGhlKXt0aGlzLiNoPWhlfSNtPSh6dCh0aGlzLE1lKSx6dCh0aGlzLFYsW10pKTtnZXQgaW5pdE91dHB1dCgpe3JldHVybiB0aGlzLiNtfXNldCBpbml0T3V0cHV0KGhlKXt0aGlzLiNtPWhlfSNnPSh6dCh0aGlzLEYpLHp0KHRoaXMsdGUsMjUwKSk7Z2V0IGN1cnJlbnRGaWxlVHJlZVdpZHRoKCl7cmV0dXJuIHRoaXMuI2d9c2V0IGN1cnJlbnRGaWxlVHJlZVdpZHRoKGhlKXt0aGlzLiNnPWhlfSNiPSh6dCh0aGlzLEspLHp0KHRoaXMsdmUsMjAwKSk7Z2V0IGN1cnJlbnRUZXJtaW5hbEhlaWdodCgpe3JldHVybiB0aGlzLiNifXNldCBjdXJyZW50VGVybWluYWxIZWlnaHQoaGUpe3RoaXMuI2I9aGV9I3Y9KHp0KHRoaXMsZGUpLHp0KHRoaXMsVmUsITEpKTtnZXQgaXNEcmFnZ2luZ0ZpbGVUcmVlKCl7cmV0dXJuIHRoaXMuI3Z9c2V0IGlzRHJhZ2dpbmdGaWxlVHJlZShoZSl7dGhpcy4jdj1oZX0jeD0oenQodGhpcyxRZSksenQodGhpcyxsZSwhMSkpO2dldCBpc0RyYWdnaW5nVGVybWluYWwoKXtyZXR1cm4gdGhpcy4jeH1zZXQgaXNEcmFnZ2luZ1Rlcm1pbmFsKGhlKXt0aGlzLiN4PWhlfSN5PSh6dCh0aGlzLGZlKSx6dCh0aGlzLEhlLCExKSk7Z2V0IHNob3dEaWZmVmlldygpe3JldHVybiB0aGlzLiN5fXNldCBzaG93RGlmZlZpZXcoaGUpe3RoaXMuI3k9aGV9I3c9KHp0KHRoaXMsS2UpLHp0KHRoaXMsdXQsbnVsbCkpO2dldCBkaWZmVmlld0NvbmZpZygpe3JldHVybiB0aGlzLiN3fXNldCBkaWZmVmlld0NvbmZpZyhoZSl7dGhpcy4jdz1oZX1rZXlkb3duSGFuZGxlcj0oenQodGhpcyxDdCksaGU9PnsoaGUubWV0YUtleXx8aGUuY3RybEtleSkmJmhlLmtleT09PSJzIiYmIWhlLnNoaWZ0S2V5JiYoaGUucHJldmVudERlZmF1bHQoKSx0aGlzLnNhdmVBY3RpdmVGaWxlKCkpLChoZS5tZXRhS2V5fHxoZS5jdHJsS2V5KSYmaGUuc2hpZnRLZXkmJmhlLmtleS50b0xvd2VyQ2FzZSgpPT09InMiJiYoaGUucHJldmVudERlZmF1bHQoKSx0aGlzLnNhdmVBbGxGaWxlcygpKX0pO2hhbmRsZUZpbGVUcmVlTW91c2VEb3duPWkoaGU9PntoZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaXNEcmFnZ2luZ0ZpbGVUcmVlPSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVGaWxlVHJlZU1vdXNlTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5oYW5kbGVGaWxlVHJlZU1vdXNlVXApfSwiaGFuZGxlRmlsZVRyZWVNb3VzZURvd24iKTtoYW5kbGVGaWxlVHJlZU1vdXNlTW92ZT1pKGhlPT57aWYoIXRoaXMuaXNEcmFnZ2luZ0ZpbGVUcmVlKXJldHVybjtsZXQgbWU9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxQZT1oZS5jbGllbnRYLW1lLmxlZnQsZnQ9MTUwLGJ0PW1lLndpZHRoKi41LG5hPU1hdGgubWF4KGZ0LE1hdGgubWluKGJ0LFBlKSk7dGhpcy5jdXJyZW50RmlsZVRyZWVXaWR0aD1uYX0sImhhbmRsZUZpbGVUcmVlTW91c2VNb3ZlIik7aGFuZGxlRmlsZVRyZWVNb3VzZVVwPWkoKCk9Pnt0aGlzLmlzRHJhZ2dpbmdGaWxlVHJlZT0hMSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlRmlsZVRyZWVNb3VzZU1vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlRmlsZVRyZWVNb3VzZVVwKSx3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInJlc2l6ZSIpKX0sImhhbmRsZUZpbGVUcmVlTW91c2VVcCIpO2hhbmRsZVRlcm1pbmFsTW91c2VEb3duPWkoaGU9PntoZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaXNEcmFnZ2luZ1Rlcm1pbmFsPSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVUZXJtaW5hbE1vdXNlTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5oYW5kbGVUZXJtaW5hbE1vdXNlVXApfSwiaGFuZGxlVGVybWluYWxNb3VzZURvd24iKTtoYW5kbGVUZXJtaW5hbE1vdXNlTW92ZT1pKGhlPT57aWYoIXRoaXMuaXNEcmFnZ2luZ1Rlcm1pbmFsKXJldHVybjtsZXQgbWU9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxQZT1oZS5jbGllbnRZLW1lLnRvcCxmdD1tZS5oZWlnaHQtUGUsYnQ9MTAwLG5hPW1lLmhlaWdodCouNyxSMT1NYXRoLm1heChidCxNYXRoLm1pbihuYSxmdCkpO3RoaXMuY3VycmVudFRlcm1pbmFsSGVpZ2h0PVIxfSwiaGFuZGxlVGVybWluYWxNb3VzZU1vdmUiKTtoYW5kbGVUZXJtaW5hbE1vdXNlVXA9aSgoKT0+e3RoaXMuaXNEcmFnZ2luZ1Rlcm1pbmFsPSExLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVUZXJtaW5hbE1vdXNlTW92ZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5oYW5kbGVUZXJtaW5hbE1vdXNlVXApLHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgicmVzaXplIikpfSwiaGFuZGxlVGVybWluYWxNb3VzZVVwIik7c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5NiUpIiwiaHNsKDAgMCUgNyUpIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1vdXRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItYXJlYSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5maWxldHJlZS1wYW5lbCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5maWxldHJlZS1wYW5lbC5jb2xsYXBzZWQgewogICAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItcGFuZWwgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDIwMHB4OwogICAgICB9CgogICAgICAudGVybWluYWwtcGFuZWwgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1wYW5lbC5jb2xsYXBzZWQgewogICAgICAgIGhlaWdodDogMzJweCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAucGFuZWwtaGVhZGVyIHsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDglKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNDAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5wYW5lbC1oZWFkZXItdGl0bGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLnBhbmVsLWhlYWRlci1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5wYW5lbC1hY3Rpb24gewogICAgICAgIHdpZHRoOiAyNHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAucGFuZWwtYWN0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgODglKSIsImhzbCgwIDAlIDE4JSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAzMCUpIiwiaHNsKDAgMCUgODAlKSIpfTsKICAgICAgfQoKICAgICAgLnRhYnMtYmFyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTYlKSIsImhzbCgwIDAlIDglKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgIH0KCiAgICAgIC50YWIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgbWluLXdpZHRoOiAxMjBweDsKICAgICAgICBtYXgtd2lkdGg6IDIwMHB4OwogICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA4OCUpIiwiaHNsKDAgMCUgMTIlKSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDk0JSkiLCJoc2woMCAwJSAxMCUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAudGFiOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTIlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgIH0KCiAgICAgIC50YWIuYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHtkLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA1MCUpIiwiaHNsKDIxMCAxMDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC50YWItbmFtZSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC50YWItY2xvc2UgewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWI6aG92ZXIgLnRhYi1jbG9zZSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLnRhYi1jbG9zZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAyNSUpIil9OwogICAgICB9CgogICAgICAudGFiLW1vZGlmaWVkIHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC50YWJzLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItbWVudS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDZweCA4cHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cywgYmFja2dyb3VuZCAwLjE1czsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItbWVudS1idXR0b246aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wOCkiLCJoc2woMCAwJSAxMDAlIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDMycHg7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtcy1jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAzMnB4OwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICB9CgogICAgICAucGFuZWwtdGFicyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMDsKICAgICAgfQoKICAgICAgLnBhbmVsLXRhYiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDU1JSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAucGFuZWwtdGFiOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDMwJSkiLCJoc2woMCAwJSA3NSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA5MCUpIiwiaHNsKDAgMCUgMTIlKSIpfTsKICAgICAgfQoKICAgICAgLnBhbmVsLXRhYi5hY3RpdmUgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHtkLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA1MCUpIiwiaHNsKDIxMCAxMDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5wYW5lbC10YWItYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgbWluLXdpZHRoOiAxOHB4OwogICAgICAgIGhlaWdodDogMThweDsKICAgICAgICBwYWRkaW5nOiAwIDVweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoImhzbCgwIDcwJSA1MCUpIiwiaHNsKDAgNzAlIDQ1JSkiKX07CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICB9CgogICAgICAucGFuZWwtdGFiLWJhZGdlLndhcm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJoc2woNDAgNzAlIDUwJSkiLCJoc2woNDAgNzAlIDQ1JSkiKX07CiAgICAgIH0KCiAgICAgIC5wYW5lbC10YWItYmFkZ2Uubm9uZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLnByb2JsZW1zLWxpc3QgewogICAgICAgIHBhZGRpbmc6IDRweCAwOwogICAgICB9CgogICAgICAucHJvYmxlbS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoImhzbCgwIDAlIDMwJSkiLCJoc2woMCAwJSA4MCUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcyBlYXNlOwogICAgICB9CgogICAgICAucHJvYmxlbS1pdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtLWljb24gewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLnByb2JsZW0taWNvbi5lcnJvciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCA3MCUgNTAlKSIsImhzbCgwIDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICAucHJvYmxlbS1pY29uLndhcm5pbmcgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDQwIDcwJSA1MCUpIiwiaHNsKDQwIDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICAucHJvYmxlbS1kZXRhaWxzIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLnByb2JsZW0tbWVzc2FnZSB7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDsKICAgICAgfQoKICAgICAgLnByb2JsZW0tbG9jYXRpb24gewogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLnByb2JsZW1zLWVtcHR5IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA1NSUpIiwiaHNsKDAgMCUgNTAlKSIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDUwJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogNDhweDsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgIGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfQogICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQogICAgICB9CgogICAgICAuaW5pdGlhbGl6aW5nIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuaW5pdGlhbGl6aW5nIGRlZXMtaWNvbiB7CiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgLmluaXRpYWxpemluZyBkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbC1wcmV2aWV3IHsKICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgICAgIHdpZHRoOiA4MCU7CiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDsKICAgICAgICBoZWlnaHQ6IDIwMHB4OwogICAgICB9CgogICAgICBkZWVzLXdvcmtzcGFjZS1maWxldHJlZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgfQoKICAgICAgZGVlcy13b3Jrc3BhY2UtbW9uYWNvIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICB9CgogICAgICBkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLyogUmVzaXplIGhhbmRsZXMgKi8KICAgICAgLnJlc2l6ZS1oYW5kbGUtdmVydGljYWwgewogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLXZlcnRpY2FsOmhvdmVyLAogICAgICAucmVzaXplLWhhbmRsZS12ZXJ0aWNhbC5kcmFnZ2luZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjNThhNmZmIil9OwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS12ZXJ0aWNhbDo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgd2lkdGg6IDJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmU3NjgxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDFweDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtdmVydGljYWw6aG92ZXI6OmFmdGVyLAogICAgICAucmVzaXplLWhhbmRsZS12ZXJ0aWNhbC5kcmFnZ2luZzo6YWZ0ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjZmZmZmZmIil9OwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS1ob3Jpem9udGFsIHsKICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICBjdXJzb3I6IHJvdy1yZXNpemU7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtaG9yaXpvbnRhbDpob3ZlciwKICAgICAgLnJlc2l6ZS1oYW5kbGUtaG9yaXpvbnRhbC5kcmFnZ2luZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjNThhNmZmIil9OwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS1ob3Jpem9udGFsOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogNTAlOwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzljYTNhZiIsIiM2ZTc2ODEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS1ob3Jpem9udGFsOmhvdmVyOjphZnRlciwKICAgICAgLnJlc2l6ZS1oYW5kbGUtaG9yaXpvbnRhbC5kcmFnZ2luZzo6YWZ0ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjZmZmZmZmIil9OwogICAgICB9CgogICAgICAvKiBQcmV2ZW50IHRleHQgc2VsZWN0aW9uIHdoaWxlIGRyYWdnaW5nICovCiAgICAgIC53b3Jrc3BhY2UtY29udGFpbmVyLmRyYWdnaW5nIHsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1jb250YWluZXIuZHJhZ2dpbmcgLmZpbGV0cmVlLXBhbmVsLAogICAgICAud29ya3NwYWNlLWNvbnRhaW5lci5kcmFnZ2luZyAuZWRpdG9yLXBhbmVsLAogICAgICAud29ya3NwYWNlLWNvbnRhaW5lci5kcmFnZ2luZyAudGVybWluYWwtcGFuZWwgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgYF07cmVuZGVyKCl7bGV0IGhlPVsid29ya3NwYWNlLWNvbnRhaW5lciIsdGhpcy5pc0RyYWdnaW5nRmlsZVRyZWV8fHRoaXMuaXNEcmFnZ2luZ1Rlcm1pbmFsPyJkcmFnZ2luZyI6IiJdLmZpbHRlcihCb29sZWFuKS5qb2luKCIgIik7cmV0dXJuIHRoaXMuaXNJbml0aWFsaXppbmc/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJpbml0aWFsaXppbmciPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6bG9hZGVyMiJ9IGljb25TaXplPSIzMiI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5Jbml0aWFsaXppbmcgd29ya3NwYWNlLi4uPC9zcGFuPgogICAgICAgICAgPGRlZXMtd29ya3NwYWNlLXRlcm1pbmFsLXByZXZpZXcKICAgICAgICAgICAgLmNvbW1hbmQ9JHt0aGlzLmluaXRDb21tYW5kfHwiIn0KICAgICAgICAgICAgLmxpbmVzPSR7dGhpcy5pbml0T3V0cHV0fQogICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtdGVybWluYWwtcHJldmlldz4KICAgICAgICA8L2Rpdj4KICAgICAgYDp3YAogICAgICA8ZGl2IGNsYXNzPSJ3b3Jrc3BhY2Utb3V0ZXIiPgogICAgICAgIDxkaXYgY2xhc3M9IiR7aGV9Ij4KICAgICAgICAgIDwhLS0gRmlsZXRyZWUgcGFuZWwgKGZ1bGwgaGVpZ2h0KSAtLT4KICAgICAgICAgICR7dGhpcy5zaG93RmlsZVRyZWU/d2AKICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgIGNsYXNzPSJmaWxldHJlZS1wYW5lbCAke3RoaXMuaXNGaWxlVHJlZUNvbGxhcHNlZD8iY29sbGFwc2VkIjoiIn0iCiAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAke3RoaXMuaXNGaWxlVHJlZUNvbGxhcHNlZD8wOnRoaXMuY3VycmVudEZpbGVUcmVlV2lkdGh9cHgiCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtZmlsZXRyZWUKICAgICAgICAgICAgICAgIC5leGVjdXRpb25FbnZpcm9ubWVudD0ke3RoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR9CiAgICAgICAgICAgICAgICAuc2VsZWN0ZWRQYXRoPSR7dGhpcy5hY3RpdmVGaWxlUGF0aH0KICAgICAgICAgICAgICAgIEBmaWxlLXNlbGVjdD0ke3RoaXMuaGFuZGxlRmlsZVNlbGVjdH0KICAgICAgICAgICAgICA+PC9kZWVzLXdvcmtzcGFjZS1maWxldHJlZT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICR7dGhpcy5pc0ZpbGVUcmVlQ29sbGFwc2VkPyIiOndgCiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9InJlc2l6ZS1oYW5kbGUtdmVydGljYWwgJHt0aGlzLmlzRHJhZ2dpbmdGaWxlVHJlZT8iZHJhZ2dpbmciOiIifSIKICAgICAgICAgICAgICAgIEBtb3VzZWRvd249JHt0aGlzLmhhbmRsZUZpbGVUcmVlTW91c2VEb3dufQogICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgICAgIGA6IiJ9CgogICAgICAgICAgPCEtLSBFZGl0b3IgKyBUZXJtaW5hbCBhcmVhIC0tPgogICAgICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yLWFyZWEiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJlZGl0b3ItcGFuZWwiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYnMtYmFyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYnMtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgJHt0aGlzLm9wZW5GaWxlcy5tYXAobWU9PndgCiAgICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InRhYiAke21lLnBhdGg9PT10aGlzLmFjdGl2ZUZpbGVQYXRoPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmFjdGl2YXRlRmlsZShtZS5wYXRoKX0KICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAke21lLm1vZGlmaWVkP3dgPHNwYW4gY2xhc3M9InRhYi1tb2RpZmllZCI+PC9zcGFuPmA6IiJ9CiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFiLW5hbWUiPiR7bWUubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFiLWNsb3NlIiBAY2xpY2s9JHtQZT0+dGhpcy5jbG9zZUZpbGUoUGUsbWUucGF0aCl9PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp4In0gaWNvblNpemU9IjEyIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVkaXRvci1tZW51LWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5zaG93RWRpdG9yTWVudX0gdGl0bGU9IkVkaXRvciBvcHRpb25zIj4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6bW9yZVZlcnRpY2FsIn0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVkaXRvci1jb250ZW50Ij4KICAgICAgICAgICAgICAgICR7dGhpcy5zaG93RGlmZlZpZXcmJnRoaXMuZGlmZlZpZXdDb25maWc/d2AKICAgICAgICAgICAgICAgICAgPGRlZXMtd29ya3NwYWNlLWRpZmYtZWRpdG9yCiAgICAgICAgICAgICAgICAgICAgLmZpbGVQYXRoPSR7dGhpcy5kaWZmVmlld0NvbmZpZy5maWxlUGF0aH0KICAgICAgICAgICAgICAgICAgICAub3JpZ2luYWxDb250ZW50PSR7dGhpcy5kaWZmVmlld0NvbmZpZy5vcmlnaW5hbENvbnRlbnR9CiAgICAgICAgICAgICAgICAgICAgLm1vZGlmaWVkQ29udGVudD0ke3RoaXMuZGlmZlZpZXdDb25maWcubW9kaWZpZWRDb250ZW50fQogICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZT0ke3RoaXMuZGlmZlZpZXdDb25maWcubGFuZ3VhZ2V9CiAgICAgICAgICAgICAgICAgICAgQGRpZmYtcmVzb2x2ZWQ9JHt0aGlzLmhhbmRsZURpZmZSZXNvbHZlZH0KICAgICAgICAgICAgICAgICAgICBAZGlmZi1jbG9zZWQ9JHsoKT0+e3RoaXMuc2hvd0RpZmZWaWV3PSExLHRoaXMuZGlmZlZpZXdDb25maWc9bnVsbH19CiAgICAgICAgICAgICAgICAgID48L2RlZXMtd29ya3NwYWNlLWRpZmYtZWRpdG9yPgogICAgICAgICAgICAgICAgYDp0aGlzLm9wZW5GaWxlcy5sZW5ndGg9PT0wP3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj4KICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpmaWxlQ29kZSJ9IGljb25TaXplPSI0OCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4+U2VsZWN0IGEgZmlsZSB0byBlZGl0PC9zcGFuPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1vbmFjbwogICAgICAgICAgICAgICAgICAgIC5maWxlUGF0aD0ke3RoaXMuYWN0aXZlRmlsZVBhdGh9CiAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnQ9JHt0aGlzLmdldEFjdGl2ZUZpbGVDb250ZW50KCl9CiAgICAgICAgICAgICAgICAgICAgLmxhbmd1YWdlPSR7dGhpcy5nZXRMYW5ndWFnZUZyb21QYXRoKHRoaXMuYWN0aXZlRmlsZVBhdGgpfQogICAgICAgICAgICAgICAgICAgIEBjb250ZW50LWNoYW5nZT0ke3RoaXMuaGFuZGxlQ29udGVudENoYW5nZX0KICAgICAgICAgICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtbW9uYWNvPgogICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGVlcy1hY3Rpb25iYXI+PC9kZWVzLWFjdGlvbmJhcj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8IS0tIEhvcml6b250YWwgcmVzaXplIGhhbmRsZSBmb3IgdGVybWluYWwgLS0+CiAgICAgICAgICAgICR7dGhpcy5zaG93VGVybWluYWwmJiF0aGlzLmlzVGVybWluYWxDb2xsYXBzZWQ/d2AKICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICBjbGFzcz0icmVzaXplLWhhbmRsZS1ob3Jpem9udGFsICR7dGhpcy5pc0RyYWdnaW5nVGVybWluYWw/ImRyYWdnaW5nIjoiIn0iCiAgICAgICAgICAgICAgICBAbW91c2Vkb3duPSR7dGhpcy5oYW5kbGVUZXJtaW5hbE1vdXNlRG93bn0KICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CgogICAgICAgICAgICA8IS0tIFRlcm1pbmFsIHBhbmVsIC0tPgogICAgICAgICAgICAke3RoaXMuc2hvd1Rlcm1pbmFsP3dgCiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9InRlcm1pbmFsLXBhbmVsICR7dGhpcy5pc1Rlcm1pbmFsQ29sbGFwc2VkPyJjb2xsYXBzZWQiOiIifSIKICAgICAgICAgICAgICAgIHN0eWxlPSJoZWlnaHQ6ICR7dGhpcy5pc1Rlcm1pbmFsQ29sbGFwc2VkPzMyOnRoaXMuY3VycmVudFRlcm1pbmFsSGVpZ2h0fXB4IgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLXRhYnMiPgogICAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwYW5lbC10YWIgJHt0aGlzLmFjdGl2ZUJvdHRvbVBhbmVsPT09InRlcm1pbmFsIj8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5hY3RpdmVCb3R0b21QYW5lbD0idGVybWluYWwifQogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOnRlcm1pbmFsIn0gaWNvblNpemU9IjE0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgIFRlcm1pbmFsCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgICAgY2xhc3M9InBhbmVsLXRhYiAke3RoaXMuYWN0aXZlQm90dG9tUGFuZWw9PT0icHJvYmxlbXMiPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmFjdGl2ZUJvdHRvbVBhbmVsPSJwcm9ibGVtcyJ9CiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Y2lyY2xlQWxlcnQifSBpY29uU2l6ZT0iMTQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgICAgUHJvYmxlbXMKICAgICAgICAgICAgICAgICAgICAgICR7dGhpcy5kaWFnbm9zdGljTWFya2Vycy5sZW5ndGg+MD93YAogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGFuZWwtdGFiLWJhZGdlICR7dGhpcy5nZXRFcnJvckNvdW50KCk9PT0wPyJ3YXJuaW5nIjoiIn0iPiR7dGhpcy5kaWFnbm9zdGljTWFya2Vycy5sZW5ndGh9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmVsLWhlYWRlci1hY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1hY3Rpb24iIEBjbGljaz0ke3RoaXMudG9nZ2xlVGVybWluYWx9PgogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbgogICAgICAgICAgICAgICAgICAgICAgICAuaWNvbj0ke3RoaXMuaXNUZXJtaW5hbENvbGxhcHNlZD8ibHVjaWRlOmNoZXZyb25VcCI6Imx1Y2lkZTpjaGV2cm9uRG93biJ9CiAgICAgICAgICAgICAgICAgICAgICAgIGljb25TaXplPSIxNCIKICAgICAgICAgICAgICAgICAgICAgID48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlcm1pbmFsLWNvbnRlbnQiIHN0eWxlPSJkaXNwbGF5OiAke3RoaXMuYWN0aXZlQm90dG9tUGFuZWw9PT0idGVybWluYWwiPyJibG9jayI6Im5vbmUifSI+CiAgICAgICAgICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbAogICAgICAgICAgICAgICAgICAgIC5leGVjdXRpb25FbnZpcm9ubWVudD0ke3RoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR9CiAgICAgICAgICAgICAgICAgICAgLnNldHVwQ29tbWFuZD0keyIifQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXdvcmtzcGFjZS10ZXJtaW5hbD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvYmxlbXMtY29udGVudCIgc3R5bGU9ImRpc3BsYXk6ICR7dGhpcy5hY3RpdmVCb3R0b21QYW5lbD09PSJwcm9ibGVtcyI/ImJsb2NrIjoibm9uZSJ9Ij4KICAgICAgICAgICAgICAgICAgJHt0aGlzLnJlbmRlclByb2JsZW1zUGFuZWwoKX0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gQm90dG9tIEJhciAoZnVsbCB3aWR0aCkgLS0+CiAgICAgICAgPGRlZXMtd29ya3NwYWNlLWJvdHRvbWJhcgogICAgICAgICAgLmV4ZWN1dGlvbkVudmlyb25tZW50PSR7dGhpcy5leGVjdXRpb25FbnZpcm9ubWVudH0KICAgICAgICAgIEBydW4tcHJvY2Vzcz0ke3RoaXMuaGFuZGxlUnVuUHJvY2Vzc30KICAgICAgICA+PC9kZWVzLXdvcmtzcGFjZS1ib3R0b21iYXI+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5rZXlkb3duSGFuZGxlcil9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMua2V5ZG93bkhhbmRsZXIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVGaWxlVHJlZU1vdXNlTW92ZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5oYW5kbGVGaWxlVHJlZU1vdXNlVXApLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVUZXJtaW5hbE1vdXNlTW92ZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5oYW5kbGVUZXJtaW5hbE1vdXNlVXApLHRoaXMuYXV0b1NhdmVJbnRlcnZhbCYmKGNsZWFySW50ZXJ2YWwodGhpcy5hdXRvU2F2ZUludGVydmFsKSx0aGlzLmF1dG9TYXZlSW50ZXJ2YWw9bnVsbCksdGhpcy5zdG9wTm9kZU1vZHVsZXNXYXRjaGVyKCksdGhpcy5zdG9wQWxsRmlsZVdhdGNoZXJzKCl9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy5jdXJyZW50RmlsZVRyZWVXaWR0aD10aGlzLmZpbGVUcmVlV2lkdGgsdGhpcy5jdXJyZW50VGVybWluYWxIZWlnaHQ9dGhpcy50ZXJtaW5hbEhlaWdodCx0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50JiZhd2FpdCB0aGlzLmluaXRpYWxpemVXb3Jrc3BhY2UoKX1hc3luYyB1cGRhdGVkKGhlKXtoZS5oYXMoImV4ZWN1dGlvbkVudmlyb25tZW50IikmJnRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQmJmF3YWl0IHRoaXMuaW5pdGlhbGl6ZVdvcmtzcGFjZSgpLHRoaXMuYWN0aW9uYmFyRWxlbWVudHx8KHRoaXMuYWN0aW9uYmFyRWxlbWVudD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5lZGl0b3ItcGFuZWwgZGVlcy1hY3Rpb25iYXIiKSl9YXN5bmMgaW5pdGlhbGl6ZVdvcmtzcGFjZSgpe2lmKHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQmJiF0aGlzLmluaXRpYWxpemF0aW9uU3RhcnRlZCl7dGhpcy5pbml0aWFsaXphdGlvblN0YXJ0ZWQ9ITAsdGhpcy5pc0luaXRpYWxpemluZz0hMDt0cnl7dGhpcy5pbml0aWFsaXphdGlvblByb21pc2U/YXdhaXQgdGhpcy5pbml0aWFsaXphdGlvblByb21pc2U6dGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkeXx8YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5pbml0KCksYXdhaXQgdGhpcy5leGVjdXRlT25Jbml0Q29tbWFuZCgpfWNhdGNoKGhlKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSB3b3Jrc3BhY2U6IixoZSksdGhpcy5pbml0aWFsaXphdGlvblN0YXJ0ZWQ9ITF9ZmluYWxseXt0aGlzLmlzSW5pdGlhbGl6aW5nPSExfX19YXN5bmMgZXhlY3V0ZU9uSW5pdENvbW1hbmQoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXRyeXtpZihhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmV4aXN0cygiL25wbWV4dHJhLmpzb24iKSl7bGV0IGhlPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUoIi9ucG1leHRyYS5qc29uIiksUGU9SlNPTi5wYXJzZShoZSk/LmRlZXNFZGl0b3JXb3Jrc3BhY2U/Lm9uSW5pdDtpZihQZSYmdHlwZW9mIFBlPT0ic3RyaW5nIil7Y29uc29sZS5sb2coIkV4ZWN1dGluZyBvbkluaXQgY29tbWFuZDoiLFBlKSx0aGlzLmluaXRDb21tYW5kPVBlLHRoaXMuaW5pdE91dHB1dD1bXTtsZXRbZnQsLi4uYnRdPVBlLnNwbGl0KCIgIiksbmE9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5zcGF3bihmdCxidCk7bmEub3V0cHV0LnBpcGVUbyhuZXcgV3JpdGFibGVTdHJlYW0oe3dyaXRlOmkoJHI9PntsZXQgRHI9JHIuc3BsaXQoYApgKTtmb3IobGV0IHFlIG9mIERyKXFlJiYodGhpcy5pbml0T3V0cHV0PVsuLi50aGlzLmluaXRPdXRwdXQscWVdKX0sIndyaXRlIil9KSk7bGV0IFIxPWF3YWl0IG5hLmV4aXQ7Y29uc29sZS5sb2coIm9uSW5pdCBjb21tYW5kIGNvbXBsZXRlZCB3aXRoIGV4aXQgY29kZToiLFIxKSx0aGlzLmluaXRPdXRwdXQ9Wy4uLnRoaXMuaW5pdE91dHB1dCwiIixgQ29tbWFuZCBjb21wbGV0ZWQgd2l0aCBleGl0IGNvZGU6ICR7UjF9YF19fX1jYXRjaChoZSl7Y29uc29sZS53YXJuKCJGYWlsZWQgdG8gZXhlY3V0ZSBvbkluaXQgY29tbWFuZDoiLGhlKX19YXN5bmMgaW5pdGlhbGl6ZUludGVsbGlTZW5zZSgpe2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHx0aGlzLmludGVsbGlTZW5zZUluaXRpYWxpemVkKXJldHVybjtsZXQgaGU9d2luZG93Lm1vbmFjbztpZihoZXx8KGF3YWl0IG5ldyBQcm9taXNlKG1lPT5zZXRUaW1lb3V0KG1lLDEwMCkpLGhlPXdpbmRvdy5tb25hY28pLCFoZSl7Y29uc29sZS53YXJuKCJNb25hY28gbm90IHlldCBsb2FkZWQsIEludGVsbGlTZW5zZSB3aWxsIGJlIGluaXRpYWxpemVkIGxhdGVyIik7cmV0dXJufXRoaXMuaW50ZWxsaVNlbnNlSW5pdGlhbGl6ZWQ9ITAsdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyPW5ldyBOQixhd2FpdCB0aGlzLmludGVsbGlTZW5zZU1hbmFnZXIuaW5pdChoZSx0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KSx0aGlzLnNldHVwTWFya2VyTGlzdGVuZXIoKSx0aGlzLnN0YXJ0Tm9kZU1vZHVsZXNXYXRjaGVyKCksYXdhaXQgdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyLnNjYW5BbmRMb2FkTmV3UGFja2FnZVR5cGVzKCl9c3RhcnROb2RlTW9kdWxlc1dhdGNoZXIoKXtpZighKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHx0aGlzLm5vZGVNb2R1bGVzV2F0Y2hlcikpdHJ5e3RoaXMubm9kZU1vZHVsZXNXYXRjaGVyPXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud2F0Y2goIi9ub2RlX21vZHVsZXMiLChoZSxtZSk9Pnt0aGlzLm5vZGVNb2R1bGVzRGVib3VuY2VUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5ub2RlTW9kdWxlc0RlYm91bmNlVGltZW91dCksdGhpcy5ub2RlTW9kdWxlc0RlYm91bmNlVGltZW91dD1zZXRUaW1lb3V0KGFzeW5jKCk9Pnt0aGlzLmludGVsbGlTZW5zZU1hbmFnZXImJmF3YWl0IHRoaXMuaW50ZWxsaVNlbnNlTWFuYWdlci5zY2FuQW5kTG9hZE5ld1BhY2thZ2VUeXBlcygpfSwyZTMpfSx7cmVjdXJzaXZlOiEwfSl9Y2F0Y2goaGUpe2NvbnNvbGUud2FybigiQ291bGQgbm90IHdhdGNoIG5vZGVfbW9kdWxlczoiLGhlKX19c3RvcE5vZGVNb2R1bGVzV2F0Y2hlcigpe3RoaXMubm9kZU1vZHVsZXNXYXRjaGVyJiYodGhpcy5ub2RlTW9kdWxlc1dhdGNoZXIuc3RvcCgpLHRoaXMubm9kZU1vZHVsZXNXYXRjaGVyPW51bGwpLHRoaXMubm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5ub2RlTW9kdWxlc0RlYm91bmNlVGltZW91dCksdGhpcy5ub2RlTW9kdWxlc0RlYm91bmNlVGltZW91dD1udWxsKX1zdGFydFdhdGNoaW5nRmlsZShoZSl7aWYoISghdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudHx8dGhpcy5vcGVuRmlsZVdhdGNoZXJzLmhhcyhoZSkpKXRyeXtsZXQgbWU9dGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53YXRjaChoZSwoUGUsZnQpPT57bGV0IGJ0PXRoaXMuZmlsZUNoYW5nZURlYm91bmNlLmdldChoZSk7YnQmJmNsZWFyVGltZW91dChidCk7bGV0IG5hPXNldFRpbWVvdXQoKCk9Pnt0aGlzLmhhbmRsZUV4dGVybmFsRmlsZUNoYW5nZShoZSksdGhpcy5maWxlQ2hhbmdlRGVib3VuY2UuZGVsZXRlKGhlKX0sMzAwKTt0aGlzLmZpbGVDaGFuZ2VEZWJvdW5jZS5zZXQoaGUsbmEpfSk7dGhpcy5vcGVuRmlsZVdhdGNoZXJzLnNldChoZSxtZSl9Y2F0Y2gobWUpe2NvbnNvbGUud2FybihgQ291bGQgbm90IHdhdGNoIGZpbGUgJHtoZX06YCxtZSl9fXN0b3BXYXRjaGluZ0ZpbGUoaGUpe2xldCBtZT10aGlzLm9wZW5GaWxlV2F0Y2hlcnMuZ2V0KGhlKTttZSYmKG1lLnN0b3AoKSx0aGlzLm9wZW5GaWxlV2F0Y2hlcnMuZGVsZXRlKGhlKSk7bGV0IFBlPXRoaXMuZmlsZUNoYW5nZURlYm91bmNlLmdldChoZSk7UGUmJihjbGVhclRpbWVvdXQoUGUpLHRoaXMuZmlsZUNoYW5nZURlYm91bmNlLmRlbGV0ZShoZSkpfXN0b3BBbGxGaWxlV2F0Y2hlcnMoKXtmb3IobGV0IGhlIG9mIHRoaXMub3BlbkZpbGVXYXRjaGVycy52YWx1ZXMoKSloZS5zdG9wKCk7dGhpcy5vcGVuRmlsZVdhdGNoZXJzLmNsZWFyKCk7Zm9yKGxldCBoZSBvZiB0aGlzLmZpbGVDaGFuZ2VEZWJvdW5jZS52YWx1ZXMoKSljbGVhclRpbWVvdXQoaGUpO3RoaXMuZmlsZUNoYW5nZURlYm91bmNlLmNsZWFyKCl9YXN5bmMgaGFuZGxlRXh0ZXJuYWxGaWxlQ2hhbmdlKGhlKXtsZXQgbWU9dGhpcy5vcGVuRmlsZXMuZmluZChQZT0+UGUucGF0aD09PWhlKTtpZighKCFtZXx8IXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpKXRyeXtsZXQgUGU9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZShoZSk7aWYoUGU9PT1tZS5jb250ZW50KXJldHVybjtpZihtZS5tb2RpZmllZCl7bGV0IGZ0PWF3YWl0IHRoaXMuYWN0aW9uYmFyRWxlbWVudD8uc2hvdyh7bWVzc2FnZTpgIiR7bWUubmFtZX0iIGNoYW5nZWQgb24gZGlzay4gV2hhdCBkbyB5b3Ugd2FudCB0byBkbz9gLHR5cGU6InF1ZXN0aW9uIixpY29uOiJsdWNpZGU6Z2l0TWVyZ2UiLGFjdGlvbnM6W3tpZDoibG9hZC1kaXNrIixsYWJlbDoiTG9hZCBmcm9tIERpc2siLHByaW1hcnk6ITB9LHtpZDoic2F2ZS1sb2NhbCIsbGFiZWw6IlNhdmUgTG9jYWwgdG8gRGlzayJ9LHtpZDoiY29tcGFyZSIsbGFiZWw6IkNvbXBhcmUifV0sdGltZW91dDp7ZHVyYXRpb246MTVlMyxkZWZhdWx0QWN0aW9uSWQ6ImxvYWQtZGlzayJ9LGRpc21pc3NpYmxlOiEwfSk7ZnQ/LmFjdGlvbklkPT09ImxvYWQtZGlzayI/YXdhaXQgdGhpcy51cGRhdGVGaWxlQ29udGVudChoZSxQZSwhMSk6ZnQ/LmFjdGlvbklkPT09InNhdmUtbG9jYWwiPyhhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShoZSxtZS5jb250ZW50KSx0aGlzLm9wZW5GaWxlcz10aGlzLm9wZW5GaWxlcy5tYXAoYnQ9PmJ0LnBhdGg9PT1oZT97Li4uYnQsbW9kaWZpZWQ6ITF9OmJ0KSk6ZnQ/LmFjdGlvbklkPT09ImNvbXBhcmUiJiZ0aGlzLm9wZW5EaWZmVmlldyhoZSxtZS5jb250ZW50LFBlKX1lbHNlIGF3YWl0IHRoaXMudXBkYXRlRmlsZUNvbnRlbnQoaGUsUGUsITApfWNhdGNoKFBlKXtjb25zb2xlLndhcm4oYEZhaWxlZCB0byBoYW5kbGUgZXh0ZXJuYWwgY2hhbmdlIGZvciAke2hlfTpgLFBlKX19YXN5bmMgdXBkYXRlRmlsZUNvbnRlbnQoaGUsbWUsUGUpe2lmKHRoaXMub3BlbkZpbGVzPXRoaXMub3BlbkZpbGVzLm1hcChmdD0+ZnQucGF0aD09PWhlP3suLi5mdCxjb250ZW50Om1lLG1vZGlmaWVkOiExfTpmdCksaGU9PT10aGlzLmFjdGl2ZUZpbGVQYXRoKXtsZXQgZnQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKTtmdCYmYXdhaXQgZnQuc2V0Q29udGVudEV4dGVybmFsKG1lLFBlKX19b3BlbkRpZmZWaWV3KGhlLG1lLFBlKXt0aGlzLmRpZmZWaWV3Q29uZmlnPXtmaWxlUGF0aDpoZSxvcmlnaW5hbENvbnRlbnQ6UGUsbW9kaWZpZWRDb250ZW50Om1lLGxhbmd1YWdlOnRoaXMuZ2V0TGFuZ3VhZ2VGcm9tUGF0aChoZSl9LHRoaXMuc2hvd0RpZmZWaWV3PSEwfWFzeW5jIGhhbmRsZURpZmZSZXNvbHZlZChoZSl7bGV0e2FjdGlvbjptZSxjb250ZW50OlBlfT1oZS5kZXRhaWwsZnQ9dGhpcy5kaWZmVmlld0NvbmZpZz8uZmlsZVBhdGg7aWYoIWZ0fHwhdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl7dGhpcy5zaG93RGlmZlZpZXc9ITEsdGhpcy5kaWZmVmlld0NvbmZpZz1udWxsO3JldHVybn1pZihtZT09PSJ1c2UtbG9jYWwiKXtpZihhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShmdCxQZSksdGhpcy5vcGVuRmlsZXM9dGhpcy5vcGVuRmlsZXMubWFwKGJ0PT5idC5wYXRoPT09ZnQ/ey4uLmJ0LGNvbnRlbnQ6UGUsbW9kaWZpZWQ6ITF9OmJ0KSxmdD09PXRoaXMuYWN0aXZlRmlsZVBhdGgpe2xldCBidD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1vbmFjbyIpO2J0JiZhd2FpdCBidC5zZXRDb250ZW50RXh0ZXJuYWwoUGUsITEpfX1lbHNlIG1lPT09InVzZS1kaXNrIiYmYXdhaXQgdGhpcy51cGRhdGVGaWxlQ29udGVudChmdCxQZSwhMSk7dGhpcy5zaG93RGlmZlZpZXc9ITEsdGhpcy5kaWZmVmlld0NvbmZpZz1udWxsfWFzeW5jIGhhbmRsZUZpbGVTZWxlY3QoaGUpe2xldHtwYXRoOm1lLG5hbWU6UGV9PWhlLmRldGFpbDthd2FpdCB0aGlzLm9wZW5GaWxlKG1lLFBlKX1hc3luYyBvcGVuRmlsZShoZSxtZSl7aWYodGhpcy5vcGVuRmlsZXMuZmluZChmdD0+ZnQucGF0aD09PWhlKSl7dGhpcy5hY3RpdmVGaWxlUGF0aD1oZTtyZXR1cm59aWYodGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl0cnl7bGV0IGZ0PWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUoaGUpO2lmKHRoaXMub3BlbkZpbGVzPVsuLi50aGlzLm9wZW5GaWxlcyx7cGF0aDpoZSxuYW1lOm1lLGNvbnRlbnQ6ZnQsbW9kaWZpZWQ6ITF9XSx0aGlzLmFjdGl2ZUZpbGVQYXRoPWhlLHRoaXMuc3RhcnRXYXRjaGluZ0ZpbGUoaGUpLCF0aGlzLmludGVsbGlTZW5zZUluaXRpYWxpemVkKXthd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLGF3YWl0IG5ldyBQcm9taXNlKG5hPT5zZXRUaW1lb3V0KG5hLDUwMCkpLGF3YWl0IHRoaXMuaW5pdGlhbGl6ZUludGVsbGlTZW5zZSgpO2xldCBidD10aGlzLmdldExhbmd1YWdlRnJvbVBhdGgoaGUpO3RoaXMuaW50ZWxsaVNlbnNlTWFuYWdlciYmKGJ0PT09InR5cGVzY3JpcHQifHxidD09PSJqYXZhc2NyaXB0IikmJmF3YWl0IHRoaXMuaW50ZWxsaVNlbnNlTWFuYWdlci5wcm9jZXNzQ29udGVudENoYW5nZShmdCl9fWNhdGNoKGZ0KXtjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gb3BlbiBmaWxlICR7aGV9OmAsZnQpfX1hY3RpdmF0ZUZpbGUoaGUpe3RoaXMuYWN0aXZlRmlsZVBhdGg9aGV9Y2xvc2VGaWxlKGhlLG1lKXtoZS5zdG9wUHJvcGFnYXRpb24oKTtsZXQgUGU9dGhpcy5vcGVuRmlsZXMuZmluZEluZGV4KGJ0PT5idC5wYXRoPT09bWUpO2lmKFBlPT09LTEpcmV0dXJuO2xldCBmdD10aGlzLm9wZW5GaWxlc1tQZV07aWYoIShmdC5tb2RpZmllZCYmIWNvbmZpcm0oYCR7ZnQubmFtZX0gaGFzIHVuc2F2ZWQgY2hhbmdlcy4gQ2xvc2UgYW55d2F5P2ApKSYmKHRoaXMuc3RvcFdhdGNoaW5nRmlsZShtZSksdGhpcy5vcGVuRmlsZXM9dGhpcy5vcGVuRmlsZXMuZmlsdGVyKGJ0PT5idC5wYXRoIT09bWUpLHRoaXMuYWN0aXZlRmlsZVBhdGg9PT1tZSkpaWYodGhpcy5vcGVuRmlsZXMubGVuZ3RoPjApe2xldCBidD1NYXRoLm1pbihQZSx0aGlzLm9wZW5GaWxlcy5sZW5ndGgtMSk7dGhpcy5hY3RpdmVGaWxlUGF0aD10aGlzLm9wZW5GaWxlc1tidF0ucGF0aH1lbHNlIHRoaXMuYWN0aXZlRmlsZVBhdGg9IiJ9Z2V0QWN0aXZlRmlsZUNvbnRlbnQoKXtyZXR1cm4gdGhpcy5vcGVuRmlsZXMuZmluZChtZT0+bWUucGF0aD09PXRoaXMuYWN0aXZlRmlsZVBhdGgpPy5jb250ZW50fHwiIn1oYW5kbGVDb250ZW50Q2hhbmdlKGhlKXtsZXQgbWU9aGUuZGV0YWlsLFBlPXRoaXMub3BlbkZpbGVzLmZpbmRJbmRleChidD0+YnQucGF0aD09PXRoaXMuYWN0aXZlRmlsZVBhdGgpO2lmKFBlPT09LTEpcmV0dXJuO2xldCBmdD10aGlzLm9wZW5GaWxlc1tQZV07aWYoZnQuY29udGVudCE9PW1lKXt0aGlzLm9wZW5GaWxlcz1bLi4udGhpcy5vcGVuRmlsZXMuc2xpY2UoMCxQZSksey4uLmZ0LGNvbnRlbnQ6bWUsbW9kaWZpZWQ6ITB9LC4uLnRoaXMub3BlbkZpbGVzLnNsaWNlKFBlKzEpXTtsZXQgYnQ9dGhpcy5nZXRMYW5ndWFnZUZyb21QYXRoKHRoaXMuYWN0aXZlRmlsZVBhdGgpO3RoaXMuaW50ZWxsaVNlbnNlTWFuYWdlciYmKGJ0PT09InR5cGVzY3JpcHQifHxidD09PSJqYXZhc2NyaXB0IikmJih0aGlzLmludGVsbGlTZW5zZURlYm91bmNlVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuaW50ZWxsaVNlbnNlRGVib3VuY2VUaW1lb3V0KSx0aGlzLmludGVsbGlTZW5zZURlYm91bmNlVGltZW91dD1zZXRUaW1lb3V0KCgpPT57dGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyPy5wcm9jZXNzQ29udGVudENoYW5nZShtZSl9LDUwMCkpfX1nZXRMYW5ndWFnZUZyb21QYXRoKGhlKXtsZXQgbWU9aGUuc3BsaXQoIi4iKS5wb3AoKT8udG9Mb3dlckNhc2UoKTtyZXR1cm57dHM6InR5cGVzY3JpcHQiLHRzeDoidHlwZXNjcmlwdCIsanM6ImphdmFzY3JpcHQiLGpzeDoiamF2YXNjcmlwdCIsanNvbjoianNvbiIsaHRtbDoiaHRtbCIsY3NzOiJjc3MiLHNjc3M6InNjc3MiLGxlc3M6Imxlc3MiLG1kOiJtYXJrZG93biIseWFtbDoieWFtbCIseW1sOiJ5YW1sIix4bWw6InhtbCIsc3FsOiJzcWwiLHB5OiJweXRob24iLHNoOiJzaGVsbCIsYmFzaDoic2hlbGwifVttZXx8IiJdfHwicGxhaW50ZXh0In10b2dnbGVUZXJtaW5hbCgpe3RoaXMuaXNUZXJtaW5hbENvbGxhcHNlZD0hdGhpcy5pc1Rlcm1pbmFsQ29sbGFwc2VkfWFzeW5jIHNhdmVBY3RpdmVGaWxlKCl7bGV0IGhlPXRoaXMub3BlbkZpbGVzLmZpbmQobWU9Pm1lLnBhdGg9PT10aGlzLmFjdGl2ZUZpbGVQYXRoKTtpZighKCFoZXx8IXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpKXRyeXthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShoZS5wYXRoLGhlLmNvbnRlbnQpLHRoaXMub3BlbkZpbGVzPXRoaXMub3BlbkZpbGVzLm1hcChtZT0+bWUucGF0aD09PWhlLnBhdGg/ey4uLm1lLG1vZGlmaWVkOiExfTptZSksdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyJiZ0aGlzLmludGVsbGlTZW5zZU1hbmFnZXIuYWRkRmlsZU1vZGVsKGhlLnBhdGgsaGUuY29udGVudCl9Y2F0Y2gobWUpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBzYXZlIGZpbGU6IixtZSl9fWFzeW5jIHNhdmVBbGxGaWxlcygpe2lmKHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpe2ZvcihsZXQgaGUgb2YgdGhpcy5vcGVuRmlsZXMuZmlsdGVyKG1lPT5tZS5tb2RpZmllZCkpdHJ5e2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud3JpdGVGaWxlKGhlLnBhdGgsaGUuY29udGVudCksdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyJiZ0aGlzLmludGVsbGlTZW5zZU1hbmFnZXIuYWRkRmlsZU1vZGVsKGhlLnBhdGgsaGUuY29udGVudCl9Y2F0Y2gobWUpe2NvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBzYXZlICR7aGUucGF0aH06YCxtZSl9dGhpcy5vcGVuRmlsZXM9dGhpcy5vcGVuRmlsZXMubWFwKGhlPT4oey4uLmhlLG1vZGlmaWVkOiExfSkpfX1hc3luYyBzaG93RWRpdG9yTWVudShoZSl7aGUuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IG1lPVt7bmFtZTp0aGlzLmF1dG9TYXZlPyJcdTI3MTMgQXV0byBTYXZlIjoiQXV0byBTYXZlIixpY29uTmFtZToibHVjaWRlOnNhdmUiLGFjdGlvbjppKGFzeW5jKCk9PnRoaXMudG9nZ2xlQXV0b1NhdmUoKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiU2F2ZSIsaWNvbk5hbWU6Imx1Y2lkZTpzYXZlIixhY3Rpb246aShhc3luYygpPT50aGlzLnNhdmVBY3RpdmVGaWxlKCksImFjdGlvbiIpfSx7bmFtZToiU2F2ZSBBbGwiLGljb25OYW1lOiJsdWNpZGU6c2F2ZSIsYWN0aW9uOmkoYXN5bmMoKT0+dGhpcy5zYXZlQWxsRmlsZXMoKSwiYWN0aW9uIil9XTthd2FpdCBOdC5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhoZSxtZSl9dG9nZ2xlQXV0b1NhdmUoKXt0aGlzLmF1dG9TYXZlPSF0aGlzLmF1dG9TYXZlLHRoaXMuYXV0b1NhdmU/dGhpcy5hdXRvU2F2ZUludGVydmFsPXNldEludGVydmFsKCgpPT57dGhpcy5vcGVuRmlsZXMuc29tZShtZT0+bWUubW9kaWZpZWQpJiZ0aGlzLnNhdmVBbGxGaWxlcygpfSwyZTMpOnRoaXMuYXV0b1NhdmVJbnRlcnZhbCYmKGNsZWFySW50ZXJ2YWwodGhpcy5hdXRvU2F2ZUludGVydmFsKSx0aGlzLmF1dG9TYXZlSW50ZXJ2YWw9bnVsbCl9Z2V0RXJyb3JDb3VudCgpe3JldHVybiB0aGlzLmRpYWdub3N0aWNNYXJrZXJzLmZpbHRlcihoZT0+aGUuc2V2ZXJpdHk9PT04KS5sZW5ndGh9cmVuZGVyUHJvYmxlbXNQYW5lbCgpe3JldHVybiB0aGlzLmRpYWdub3N0aWNNYXJrZXJzLmxlbmd0aD09PTA/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ibGVtcy1lbXB0eSI+CiAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpjaGVja0NpcmNsZSJ9IGljb25TaXplPSIyNCI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5ObyBwcm9ibGVtcyBkZXRlY3RlZDwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDp3YAogICAgICA8ZGl2IGNsYXNzPSJwcm9ibGVtcy1saXN0Ij4KICAgICAgICAke3RoaXMuZGlhZ25vc3RpY01hcmtlcnMubWFwKGhlPT53YAogICAgICAgICAgPGRpdiBjbGFzcz0icHJvYmxlbS1pdGVtIiBAY2xpY2s9JHsoKT0+dGhpcy5uYXZpZ2F0ZVRvUHJvYmxlbShoZSl9PgogICAgICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICAgICAgY2xhc3M9InByb2JsZW0taWNvbiAke2hlLnNldmVyaXR5PT09OD8iZXJyb3IiOiJ3YXJuaW5nIn0iCiAgICAgICAgICAgICAgLmljb249JHtoZS5zZXZlcml0eT09PTg/Imx1Y2lkZTpjaXJjbGVYIjoibHVjaWRlOnRyaWFuZ2xlQWxlcnQifQogICAgICAgICAgICAgIGljb25TaXplPSIxNCIKICAgICAgICAgICAgPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ibGVtLWRldGFpbHMiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2JsZW0tbWVzc2FnZSI+JHtoZS5tZXNzYWdlfTwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2JsZW0tbG9jYXRpb24iPgogICAgICAgICAgICAgICAgJHtoZS5yZXNvdXJjZS5wYXRoLnNwbGl0KCIvIikucG9wKCl9ICgke2hlLnN0YXJ0TGluZU51bWJlcn0sICR7aGUuc3RhcnRDb2x1bW59KQogICAgICAgICAgICAgICAgJHtoZS5zb3VyY2U/YFske2hlLnNvdXJjZX1dYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgKX0KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIG5hdmlnYXRlVG9Qcm9ibGVtKGhlKXtsZXQgbWU9aGUucmVzb3VyY2UucGF0aCxQZT1tZS5zcGxpdCgiLyIpLnBvcCgpfHwiIjt0aGlzLm9wZW5GaWxlcy5maW5kKG5hPT5uYS5wYXRoPT09bWUpP3RoaXMuYWN0aXZlRmlsZVBhdGg9bWU6YXdhaXQgdGhpcy5vcGVuRmlsZShtZSxQZSksYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtsZXQgYnQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKTtpZihidCl7bGV0IG5hPWF3YWl0IGJ0LmVkaXRvckRlZmVycmVkLnByb21pc2U7bmEucmV2ZWFsTGluZUluQ2VudGVyKGhlLnN0YXJ0TGluZU51bWJlciksbmEuc2V0UG9zaXRpb24oe2xpbmVOdW1iZXI6aGUuc3RhcnRMaW5lTnVtYmVyLGNvbHVtbjpoZS5zdGFydENvbHVtbn0pLG5hLmZvY3VzKCl9fXNldHVwTWFya2VyTGlzdGVuZXIoKXtsZXQgaGU9d2luZG93Lm1vbmFjbztoZSYmKGhlLmVkaXRvci5vbkRpZENoYW5nZU1hcmtlcnMobWU9Pnt0aGlzLnVwZGF0ZURpYWdub3N0aWNNYXJrZXJzKCl9KSx0aGlzLnVwZGF0ZURpYWdub3N0aWNNYXJrZXJzKCkpfXVwZGF0ZURpYWdub3N0aWNNYXJrZXJzKCl7bGV0IGhlPXdpbmRvdy5tb25hY287aWYoIWhlKXJldHVybjtsZXQgbWU9aGUuZWRpdG9yLmdldE1vZGVsTWFya2Vycyh7fSk7dGhpcy5kaWFnbm9zdGljTWFya2Vycz1tZS5tYXAoUGU9Pih7bWVzc2FnZTpQZS5tZXNzYWdlLHNldmVyaXR5OlBlLnNldmVyaXR5LHN0YXJ0TGluZU51bWJlcjpQZS5zdGFydExpbmVOdW1iZXIsc3RhcnRDb2x1bW46UGUuc3RhcnRDb2x1bW4sZW5kTGluZU51bWJlcjpQZS5lbmRMaW5lTnVtYmVyLGVuZENvbHVtbjpQZS5lbmRDb2x1bW4sc291cmNlOlBlLnNvdXJjZSxyZXNvdXJjZTp7cGF0aDpQZS5yZXNvdXJjZS5wYXRofX0pKX1hc3luYyBoYW5kbGVSdW5Qcm9jZXNzKGhlKXtsZXQgbWU9aGUuZGV0YWlsLFBlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy13b3Jrc3BhY2UtdGVybWluYWwiKTtpZighUGUpe2NvbnNvbGUud2FybigiVGVybWluYWwgY29tcG9uZW50IG5vdCBmb3VuZCIpO3JldHVybn10aGlzLmlzVGVybWluYWxDb2xsYXBzZWQmJih0aGlzLmlzVGVybWluYWxDb2xsYXBzZWQ9ITEpLHRoaXMuYWN0aXZlQm90dG9tUGFuZWw9InRlcm1pbmFsIixhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLGF3YWl0IFBlLmNyZWF0ZVByb2Nlc3NUYWIoe3R5cGU6bWUudHlwZSxsYWJlbDptZS5sYWJlbCxjb21tYW5kOm1lLmNvbW1hbmQsYXJnczptZS5hcmdzLG1ldGFkYXRhOm1lLm1ldGFkYXRhLHN3aXRjaFRvVGFiOiEwfSl9c2V0RmlsZVRyZWVXaWR0aChoZSl7bGV0IFBlPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgqLjU7dGhpcy5jdXJyZW50RmlsZVRyZWVXaWR0aD1NYXRoLm1heCgxNTAsTWF0aC5taW4oUGUsaGUpKSx3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInJlc2l6ZSIpKX1zZXRUZXJtaW5hbEhlaWdodChoZSl7bGV0IFBlPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0Ki43O3RoaXMuY3VycmVudFRlcm1pbmFsSGVpZ2h0PU1hdGgubWF4KDEwMCxNYXRoLm1pbihQZSxoZSkpLHdpbmRvdy5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgicmVzaXplIikpfXJlc2V0TGF5b3V0KCl7dGhpcy5jdXJyZW50RmlsZVRyZWVXaWR0aD10aGlzLmZpbGVUcmVlV2lkdGgsdGhpcy5jdXJyZW50VGVybWluYWxIZWlnaHQ9dGhpcy50ZXJtaW5hbEhlaWdodCx3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInJlc2l6ZSIpKX1zdGF0aWN7enQocixhKX19O3JldHVybiBXdD1yfSkoKX0pO3ZhciBVdGE9YygoKT0+e2p0YSgpO2ZIZSgpfSk7dmFyIFd0YT1jKCgpPT57bjYoKX0pO3ZhciBHdGE9YygoKT0+e21YKCl9KTt2YXIgWXRhPWMoKCk9Pnt9KTt2YXIgWnRhPWMoKCk9PntBQigpO1l0YSgpO2FIZSgpfSk7dmFyIFh0YT1jKCgpPT57cEhlKCl9KTt2YXIgUkIsVm8sVE9pLEt0YSxRdGE9YygoKT0+e3BlKCk7WGUoKTtuNigpO1JCPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxWbz1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sVE9pPXZ0LnBsdWdpbnMuc21hcnRwcm9taXNlLmRlZmVyKCksS3RhPSgoKT0+e2xldCB0PVthZSgiZGVlcy13b3Jrc3BhY2UtbWFya2Rvd24iKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiRGVlc1dvcmtzcGFjZU1hcmtkb3duIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IE09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpOdW1iZXJ9KV0saD1bTCh7dHlwZTpOdW1iZXJ9KV0scD1bWigpXSx4PVtaKCldLFJCKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3BsaXRSYXRpbyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4ic3BsaXRSYXRpbyJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLnNwbGl0UmF0aW8sImdldCIpLHNldDppKChrLEUpPT57ay5zcGxpdFJhdGlvPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbyxsKSxSQih0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1pblBhbmVsU2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4ibWluUGFuZWxTaXplImluIGssImhhcyIpLGdldDppKGs9PmsubWluUGFuZWxTaXplLCJnZXQiKSxzZXQ6aSgoayxFKT0+e2subWluUGFuZWxTaXplPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sdSxmKSxSQih0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRTcGxpdFJhdGlvIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGs9PiJjdXJyZW50U3BsaXRSYXRpbyJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLmN1cnJlbnRTcGxpdFJhdGlvLCJnZXQiKSxzZXQ6aSgoayxFKT0+e2suY3VycmVudFNwbGl0UmF0aW89RX0sInNldCIpfSxtZXRhZGF0YTpNfSxnLHYpLFJCKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNEcmFnZ2luZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4iaXNEcmFnZ2luZyJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLmlzRHJhZ2dpbmcsImdldCIpLHNldDppKChrLEUpPT57ay5pc0RyYWdnaW5nPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYixtKSxSQihudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpNfSxudWxsLGEpLHk9cj1lLnZhbHVlLE0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6TX0pfXN0YXRpYyBkZW1vPWkoKCk9PndgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3duPjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd24+YCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiV29ya3NwYWNlIl07c3RhdGljIHN0eWxlcz1bRGUsZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuc3BsaXRDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICB9CgogICAgICAuZWRpdG9yQ29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG1pbi13aWR0aDogMTAwcHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnJlc2l6ZUhhbmRsZSB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzAzNjNkIil9OwogICAgICAgIGN1cnNvcjogY29sLXJlc2l6ZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAucmVzaXplSGFuZGxlOmhvdmVyLAogICAgICAucmVzaXplSGFuZGxlLmRyYWdnaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiM1OGE2ZmYiKX07CiAgICAgIH0KCiAgICAgIC5yZXNpemVIYW5kbGU6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgbGVmdDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgICAgIHdpZHRoOiAycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZlNzY4MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICB9CgogICAgICAucmVzaXplSGFuZGxlOmhvdmVyOjphZnRlciwKICAgICAgLnJlc2l6ZUhhbmRsZS5kcmFnZ2luZzo6YWZ0ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiI2ZmZmZmZiIpfTsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAub3V0bGV0Q29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG1pbi13aWR0aDogMTAwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMGQxMTE3Iil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzI0MjkyZiIsIiNlNmVkZjMiKX07CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ05vdG8gU2FucycsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC8qIFByZXZlbnQgdGV4dCBzZWxlY3Rpb24gd2hpbGUgZHJhZ2dpbmcgKi8KICAgICAgLnNwbGl0Q29udGFpbmVyLmRyYWdnaW5nIHsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLnNwbGl0Q29udGFpbmVyLmRyYWdnaW5nIC5lZGl0b3JDb250YWluZXIsCiAgICAgIC5zcGxpdENvbnRhaW5lci5kcmFnZ2luZyAub3V0bGV0Q29udGFpbmVyIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQogICAgYF07I2U9Vm8odGhpcyxvLDUwKTtnZXQgc3BsaXRSYXRpbygpe3JldHVybiB0aGlzLiNlfXNldCBzcGxpdFJhdGlvKE0pe3RoaXMuI2U9TX0jdD0oVm8odGhpcyxsKSxWbyh0aGlzLHUsMTApKTtnZXQgbWluUGFuZWxTaXplKCl7cmV0dXJuIHRoaXMuI3R9c2V0IG1pblBhbmVsU2l6ZShNKXt0aGlzLiN0PU19I2E9KFZvKHRoaXMsZiksVm8odGhpcyxnLDUwKSk7Z2V0IGN1cnJlbnRTcGxpdFJhdGlvKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGN1cnJlbnRTcGxpdFJhdGlvKE0pe3RoaXMuI2E9TX0jcj0oVm8odGhpcyx2KSxWbyh0aGlzLGIsITEpKTtnZXQgaXNEcmFnZ2luZygpe3JldHVybiB0aGlzLiNyfXNldCBpc0RyYWdnaW5nKE0pe3RoaXMuI3I9TX1yZXNpemVIYW5kbGVFbGVtZW50PVZvKHRoaXMsbSk7Y29udGFpbmVyRWxlbWVudDtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ic3BsaXRDb250YWluZXIgJHt0aGlzLmlzRHJhZ2dpbmc/ImRyYWdnaW5nIjoiIn0iPgogICAgICAgIDxkaXYgY2xhc3M9ImVkaXRvckNvbnRhaW5lciIgc3R5bGU9IndpZHRoOiAke3RoaXMuY3VycmVudFNwbGl0UmF0aW99JSI+CiAgICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbW9uYWNvCiAgICAgICAgICAgIC5sYW5ndWFnZT0keyJtYXJrZG93biJ9CiAgICAgICAgICAgIC5jb250ZW50PSR7YCMgYSB0ZXN0IGNvbnRlbnQKClRoaXMgaXMgdGVzdCBjb250ZW50IHRoYXQgaXMgb2YgbG9uZ2VyIGZvcm0gYW4gaG9wZWZ1bGx5IHN0YXJ0cyB0byB3cmFwIHdoZW4gSSBuZWVkIGl0LiBBbmQgeWVzLCBpdCBkb2VzIHBlcmZlY3RseS4gbmljZS4KClRlc3QgfCBIZWxsbwotLS0gfCAtLS0KWWVhaCB8IFNvIGdvb2QKClRoaXMgaXMgcmVhbCBhc3NldCBJIHRoaW5rLiBXaHkgd291bGQgd2Ugd2FudCB0byBsZWF2ZSB0aGF0IG9uIHRoZSB0YWJsZT8gQ2FuIHlvdSB0ZWxsIG15IHRoYXQ/CgpXaHkgYXJlIHdlIGhlcmU/CgpEbyB5b3Uga25vdz8KCj4gbm90ZToKVGhlcmUgaXMgc29tZXRoaW5nIGdvaW5nIG9uLgoKXGBcYFxgdHlwZXNjcmlwdApjb25zdCBoZWxsbyA9ICd5ZXMnClxgXGBcYApgfQogICAgICAgICAgICB3b3JkV3JhcD0iYm91bmRlZCIKICAgICAgICAgID48L2RlZXMtd29ya3NwYWNlLW1vbmFjbz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2CiAgICAgICAgICBjbGFzcz0icmVzaXplSGFuZGxlICR7dGhpcy5pc0RyYWdnaW5nPyJkcmFnZ2luZyI6IiJ9IgogICAgICAgICAgQG1vdXNlZG93bj0ke3RoaXMuaGFuZGxlTW91c2VEb3dufQogICAgICAgID48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJvdXRsZXRDb250YWluZXIiIHN0eWxlPSJ3aWR0aDogJHsxMDAtdGhpcy5jdXJyZW50U3BsaXRSYXRpb30lIj4KICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD48L2RlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKE0pe2F3YWl0IHN1cGVyLmZpcnN0VXBkYXRlZChNKSx0aGlzLmN1cnJlbnRTcGxpdFJhdGlvPXRoaXMuc3BsaXRSYXRpbyx0aGlzLmNvbnRhaW5lckVsZW1lbnQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zcGxpdENvbnRhaW5lciIpLHRoaXMucmVzaXplSGFuZGxlRWxlbWVudD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnJlc2l6ZUhhbmRsZSIpO2xldCBrPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKSxFPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldCIpLEM9YXdhaXQgbmV3IHZ0LnBsdWdpbnMuc21hcnRtYXJrZG93bi5TbWFydE1hcmtkb3duKCkuZ2V0TWRQYXJzZWRSZXN1bHRGcm9tTWFya2Rvd24oImxvYWRpbmcuLi4iKTtrLmNvbnRlbnRTdWJqZWN0LnN1YnNjcmliZShhc3luYyBOPT57YXdhaXQgQy51cGRhdGVGcm9tTWFya2Rvd25TdHJpbmcoTik7bGV0ICQ9Qy5odG1sO0UudXBkYXRlSHRtbFRleHQoJCl9KX1oYW5kbGVNb3VzZURvd249aShNPT57TS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaXNEcmFnZ2luZz0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlTW91c2VNb3ZlKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmhhbmRsZU1vdXNlVXApfSwiaGFuZGxlTW91c2VEb3duIik7aGFuZGxlTW91c2VNb3ZlPWkoTT0+e2lmKCF0aGlzLmlzRHJhZ2dpbmd8fCF0aGlzLmNvbnRhaW5lckVsZW1lbnQpcmV0dXJuO2xldCBrPXRoaXMuY29udGFpbmVyRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxFPWsud2lkdGgsQz0oTS5jbGllbnRYLWsubGVmdCkvRSoxMDA7Qz1NYXRoLm1heCh0aGlzLm1pblBhbmVsU2l6ZSxNYXRoLm1pbigxMDAtdGhpcy5taW5QYW5lbFNpemUsQykpLHRoaXMuY3VycmVudFNwbGl0UmF0aW89Q30sImhhbmRsZU1vdXNlTW92ZSIpO2hhbmRsZU1vdXNlVXA9aSgoKT0+e3RoaXMuaXNEcmFnZ2luZz0hMSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlTW91c2VNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmhhbmRsZU1vdXNlVXApLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKSYmd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJyZXNpemUiKSl9LCJoYW5kbGVNb3VzZVVwIik7YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVNb3VzZU1vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlTW91c2VVcCl9c2V0U3BsaXRSYXRpbyhNKXt0aGlzLmN1cnJlbnRTcGxpdFJhdGlvPU1hdGgubWF4KHRoaXMubWluUGFuZWxTaXplLE1hdGgubWluKDEwMC10aGlzLm1pblBhbmVsU2l6ZSxNKSl9cmVzZXRTcGxpdFJhdGlvKCl7dGhpcy5jdXJyZW50U3BsaXRSYXRpbz10aGlzLnNwbGl0UmF0aW99c3RhdGlje1ZvKHIsYSl9fTtyZXR1cm4geT1yfSkoKX0pO3ZhciBKdGE9YygoKT0+e1F0YSgpfSk7dmFyIGVhYSx0YWE9YygoKT0+e3BlKCk7UmEoKTtXMSgpO2VhYT1pKCgpPT53YAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICAke1hgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogOTAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPCEtLSBEZW1vIDE6IEhlYWRpbmdzIC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJIZWFkaW5ncyJ9CiAgICAgICAgLnN1YnRpdGxlPSR7IkFsbCBoZWFkaW5nIGxldmVscyBmcm9tIEgxIHRvIEg2In0KICAgICAgICAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57YXdhaXQgdC5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldCIpPy51cGRhdGVIdG1sVGV4dChgCiAgICAgICAgICAgIDxoMT5IZWFkaW5nIExldmVsIDE8L2gxPgogICAgICAgICAgICA8aDI+SGVhZGluZyBMZXZlbCAyPC9oMj4KICAgICAgICAgICAgPGgzPkhlYWRpbmcgTGV2ZWwgMzwvaDM+CiAgICAgICAgICAgIDxoND5IZWFkaW5nIExldmVsIDQ8L2g0PgogICAgICAgICAgICA8aDU+SGVhZGluZyBMZXZlbCA1PC9oNT4KICAgICAgICAgICAgPGg2PkhlYWRpbmcgTGV2ZWwgNjwvaDY+CiAgICAgICAgICBgKX19CiAgICAgID4KICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+PC9kZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPCEtLSBEZW1vIDI6IFRleHQgRm9ybWF0dGluZyAtLT4KICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiVGV4dCBGb3JtYXR0aW5nIn0KICAgICAgICAuc3VidGl0bGU9JHsiQm9sZCwgaXRhbGljLCBsaW5rcywgY29kZSwgYW5kIGtleWJvYXJkIGlucHV0In0KICAgICAgICAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57YXdhaXQgdC5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldCIpPy51cGRhdGVIdG1sVGV4dChgCiAgICAgICAgICAgIDxwPlRoaXMgaXMgYSBwYXJhZ3JhcGggd2l0aCA8c3Ryb25nPmJvbGQgdGV4dDwvc3Ryb25nPiBhbmQgPGVtPml0YWxpYyB0ZXh0PC9lbT4uPC9wPgogICAgICAgICAgICA8cD5Zb3UgY2FuIGFsc28gdXNlIDxzdHJvbmc+PGVtPmJvbGQgaXRhbGljPC9lbT48L3N0cm9uZz4gZm9yIGVtcGhhc2lzLjwvcD4KICAgICAgICAgICAgPHA+SGVyZSdzIGEgPGEgaHJlZj0iIyI+bGluayBleGFtcGxlPC9hPiBhbmQgc29tZSA8Y29kZT5pbmxpbmUgY29kZTwvY29kZT4uPC9wPgogICAgICAgICAgICA8cD5QcmVzcyA8a2JkPkN0cmw8L2tiZD4gKyA8a2JkPkM8L2tiZD4gdG8gY29weSB0ZXh0LjwvcD4KICAgICAgICAgICAgPGhyPgogICAgICAgICAgICA8cD5BYm92ZSBpcyBhIGhvcml6b250YWwgcnVsZSBzZXBhcmF0b3IuPC9wPgogICAgICAgICAgYCl9fQogICAgICA+CiAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDwhLS0gRGVtbyAzOiBMaXN0cyAtLT4KICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiTGlzdHMifQogICAgICAgIC5zdWJ0aXRsZT0keyJPcmRlcmVkLCB1bm9yZGVyZWQsIGFuZCB0YXNrIGxpc3RzIn0KICAgICAgICAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57YXdhaXQgdC5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldCIpPy51cGRhdGVIdG1sVGV4dChgCiAgICAgICAgICAgIDxoMz5Vbm9yZGVyZWQgTGlzdDwvaDM+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+Rmlyc3QgaXRlbTwvbGk+CiAgICAgICAgICAgICAgPGxpPlNlY29uZCBpdGVtCiAgICAgICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgICAgIDxsaT5OZXN0ZWQgaXRlbSAxPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPk5lc3RlZCBpdGVtIDI8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICA8L2xpPgogICAgICAgICAgICAgIDxsaT5UaGlyZCBpdGVtPC9saT4KICAgICAgICAgICAgPC91bD4KCiAgICAgICAgICAgIDxoMz5PcmRlcmVkIExpc3Q8L2gzPgogICAgICAgICAgICA8b2w+CiAgICAgICAgICAgICAgPGxpPlN0ZXAgb25lPC9saT4KICAgICAgICAgICAgICA8bGk+U3RlcCB0d288L2xpPgogICAgICAgICAgICAgIDxsaT5TdGVwIHRocmVlPC9saT4KICAgICAgICAgICAgPC9vbD4KCiAgICAgICAgICAgIDxoMz5UYXNrIExpc3Q8L2gzPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0YXNrLWxpc3QtaXRlbSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBjaGVja2VkIGRpc2FibGVkPiBDb21wbGV0ZWQgdGFzazwvbGk+CiAgICAgICAgICAgICAgPGxpIGNsYXNzPSJ0YXNrLWxpc3QtaXRlbSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBkaXNhYmxlZD4gUGVuZGluZyB0YXNrPC9saT4KICAgICAgICAgICAgICA8bGkgY2xhc3M9InRhc2stbGlzdC1pdGVtIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGRpc2FibGVkPiBBbm90aGVyIHRhc2s8L2xpPgogICAgICAgICAgICA8L3VsPgogICAgICAgICAgYCl9fQogICAgICA+CiAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDwhLS0gRGVtbyA0OiBDb2RlIEJsb2NrcyAtLT4KICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiQ29kZSBCbG9ja3MifQogICAgICAgIC5zdWJ0aXRsZT0keyJTeW50YXggaGlnaGxpZ2h0ZWQgY29kZSBleGFtcGxlcyJ9CiAgICAgICAgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e2F3YWl0IHQucXVlcnlTZWxlY3RvcigiZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQiKT8udXBkYXRlSHRtbFRleHQoYAogICAgICAgICAgICA8cD5JbmxpbmUgY29kZTogPGNvZGU+Y29uc3QgZ3JlZXRpbmcgPSAiSGVsbG8sIFdvcmxkISI7PC9jb2RlPjwvcD4KCiAgICAgICAgICAgIDxoMz5UeXBlU2NyaXB0IEV4YW1wbGU8L2gzPgogICAgICAgICAgICA8cHJlPjxjb2RlPjxzcGFuIGNsYXNzPSJobGpzLWtleXdvcmQiPmltcG9ydDwvc3Bhbj4geyBodG1sLCBjc3MgfSA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5mcm9tPC9zcGFuPiA8c3BhbiBjbGFzcz0iaGxqcy1zdHJpbmciPidAZGVzaWduLmVzdGF0ZS9kZWVzLWVsZW1lbnQnPC9zcGFuPjsKCjxzcGFuIGNsYXNzPSJobGpzLWtleXdvcmQiPmludGVyZmFjZTwvc3Bhbj4gPHNwYW4gY2xhc3M9ImhsanMtdGl0bGUiPklVc2VyPC9zcGFuPiB7CiAgPHNwYW4gY2xhc3M9ImhsanMtYXR0ciI+bmFtZTwvc3Bhbj46IDxzcGFuIGNsYXNzPSJobGpzLWJ1aWx0X2luIj5zdHJpbmc8L3NwYW4+OwogIDxzcGFuIGNsYXNzPSJobGpzLWF0dHIiPmVtYWlsPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtYnVpbHRfaW4iPnN0cmluZzwvc3Bhbj47CiAgPHNwYW4gY2xhc3M9ImhsanMtYXR0ciI+YWdlPC9zcGFuPj86IDxzcGFuIGNsYXNzPSJobGpzLWJ1aWx0X2luIj5udW1iZXI8L3NwYW4+Owp9Cgo8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5jb25zdDwvc3Bhbj4gPHNwYW4gY2xhc3M9ImhsanMtdGl0bGUiPmdldFVzZXI8L3NwYW4+ID0gPHNwYW4gY2xhc3M9ImhsanMta2V5d29yZCI+YXN5bmM8L3NwYW4+ICg8c3BhbiBjbGFzcz0iaGxqcy1hdHRyIj5pZDwvc3Bhbj46IDxzcGFuIGNsYXNzPSJobGpzLWJ1aWx0X2luIj5zdHJpbmc8L3NwYW4+KTogPHNwYW4gY2xhc3M9ImhsanMtYnVpbHRfaW4iPlByb21pc2U8L3NwYW4+Jmx0O0lVc2VyJmd0OyA9Jmd0OyB7CiAgPHNwYW4gY2xhc3M9ImhsanMta2V5d29yZCI+Y29uc3Q8L3NwYW4+IHJlc3BvbnNlID0gPHNwYW4gY2xhc3M9ImhsanMta2V5d29yZCI+YXdhaXQ8L3NwYW4+IGZldGNoKFxgL2FwaS91c2Vycy9cJHtpZH1cYCk7CiAgPHNwYW4gY2xhc3M9ImhsanMta2V5d29yZCI+cmV0dXJuPC9zcGFuPiByZXNwb25zZS5qc29uKCk7Cn07PC9jb2RlPjwvcHJlPgoKICAgICAgICAgICAgPGgzPkpTT04gRXhhbXBsZTwvaDM+CiAgICAgICAgICAgIDxwcmU+PGNvZGU+ewogIDxzcGFuIGNsYXNzPSJobGpzLWF0dHIiPiJuYW1lIjwvc3Bhbj46IDxzcGFuIGNsYXNzPSJobGpzLXN0cmluZyI+ImRlZXMtY2F0YWxvZyI8L3NwYW4+LAogIDxzcGFuIGNsYXNzPSJobGpzLWF0dHIiPiJ2ZXJzaW9uIjwvc3Bhbj46IDxzcGFuIGNsYXNzPSJobGpzLXN0cmluZyI+IjMuMC4wIjwvc3Bhbj4sCiAgPHNwYW4gY2xhc3M9ImhsanMtYXR0ciI+ImRlcGVuZGVuY2llcyI8L3NwYW4+OiB7CiAgICA8c3BhbiBjbGFzcz0iaGxqcy1hdHRyIj4iQGRlc2lnbi5lc3RhdGUvZGVlcy1lbGVtZW50Ijwvc3Bhbj46IDxzcGFuIGNsYXNzPSJobGpzLXN0cmluZyI+Il4yLjAuMCI8L3NwYW4+CiAgfQp9PC9jb2RlPjwvcHJlPgogICAgICAgICAgYCl9fQogICAgICA+CiAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDwhLS0gRGVtbyA1OiBUYWJsZXMgLS0+CiAgICAgIDxkZWVzLXBhbmVsCiAgICAgICAgLnRpdGxlPSR7IlRhYmxlcyJ9CiAgICAgICAgLnN1YnRpdGxlPSR7IlN0eWxlZCB0YWJsZXMgd2l0aCBhbHRlcm5hdGluZyByb3dzIn0KICAgICAgICAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57YXdhaXQgdC5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldCIpPy51cGRhdGVIdG1sVGV4dChgCiAgICAgICAgICAgIDx0YWJsZT4KICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0aD5GZWF0dXJlPC90aD4KICAgICAgICAgICAgICAgICAgPHRoPlN0YXR1czwvdGg+CiAgICAgICAgICAgICAgICAgIDx0aD5Qcmlvcml0eTwvdGg+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgPHRib2R5PgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQ+RGFyayBtb2RlIHN1cHBvcnQ8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+Q29tcGxldGVkPC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPkhpZ2g8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkPlJlc3BvbnNpdmUgZGVzaWduPC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPkluIFByb2dyZXNzPC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPk1lZGl1bTwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQ+QWNjZXNzaWJpbGl0eTwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5QbGFubmVkPC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPkhpZ2g8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkPkRvY3VtZW50YXRpb248L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+SW4gUHJvZ3Jlc3M8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+TG93PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgIGApfX0KICAgICAgPgogICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD48L2RlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8IS0tIERlbW8gNjogQmxvY2txdW90ZXMgJiBBbGVydHMgLS0+CiAgICAgIDxkZWVzLXBhbmVsCiAgICAgICAgLnRpdGxlPSR7IkJsb2NrcXVvdGVzICYgQWxlcnRzIn0KICAgICAgICAuc3VidGl0bGU9JHsiUXVvdGVzIGFuZCBHaXRIdWItc3R5bGUgYWxlcnRzIn0KICAgICAgICAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57YXdhaXQgdC5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldCIpPy51cGRhdGVIdG1sVGV4dChgCiAgICAgICAgICAgIDxibG9ja3F1b3RlPgogICAgICAgICAgICAgIDxwPlRoaXMgaXMgYSBzdGFuZGFyZCBibG9ja3F1b3RlLiBJdCdzIGdyZWF0IGZvciBoaWdobGlnaHRpbmcgaW1wb3J0YW50IGluZm9ybWF0aW9uIG9yIHF1b3RlcyBmcm9tIG90aGVyIHNvdXJjZXMuPC9wPgogICAgICAgICAgICA8L2Jsb2NrcXVvdGU+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXJrZG93bi1hbGVydCBtYXJrZG93bi1hbGVydC1ub3RlIj4KICAgICAgICAgICAgICA8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoaXMgaXMgYW4gaW5mb3JtYXRpb25hbCBub3RlIHRvIGRyYXcgYXR0ZW50aW9uIHRvIGltcG9ydGFudCBkZXRhaWxzLjwvcD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXJrZG93bi1hbGVydCBtYXJrZG93bi1hbGVydC10aXAiPgogICAgICAgICAgICAgIDxwPjxzdHJvbmc+VGlwOjwvc3Ryb25nPiBIZXJlJ3MgYSBoZWxwZnVsIHRpcCB0byBpbXByb3ZlIHlvdXIgd29ya2Zsb3cuPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWFsZXJ0IG1hcmtkb3duLWFsZXJ0LWltcG9ydGFudCI+CiAgICAgICAgICAgICAgPHA+PHN0cm9uZz5JbXBvcnRhbnQ6PC9zdHJvbmc+IFRoaXMgaW5mb3JtYXRpb24gaXMgY3J1Y2lhbCBmb3IgdW5kZXJzdGFuZGluZyB0aGUgdG9waWMuPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWFsZXJ0IG1hcmtkb3duLWFsZXJ0LXdhcm5pbmciPgogICAgICAgICAgICAgIDxwPjxzdHJvbmc+V2FybmluZzo8L3N0cm9uZz4gQmUgY2FyZWZ1bCB3aGVuIHBlcmZvcm1pbmcgdGhpcyBhY3Rpb24uPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWFsZXJ0IG1hcmtkb3duLWFsZXJ0LWNhdXRpb24iPgogICAgICAgICAgICAgIDxwPjxzdHJvbmc+Q2F1dGlvbjo8L3N0cm9uZz4gVGhpcyBhY3Rpb24gbWF5IGhhdmUgdW5pbnRlbmRlZCBjb25zZXF1ZW5jZXMuPC9wPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfX0KICAgICAgPgogICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD48L2RlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8IS0tIERlbW8gNzogRnVsbCBEb2N1bWVudCAtLT4KICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiRnVsbCBEb2N1bWVudCJ9CiAgICAgICAgLnN1YnRpdGxlPSR7IkEgY29tcGxldGUgbWFya2Rvd24gZG9jdW1lbnQgZXhhbXBsZSJ9CiAgICAgICAgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e2F3YWl0IHQucXVlcnlTZWxlY3RvcigiZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQiKT8udXBkYXRlSHRtbFRleHQoYAogICAgICAgICAgICA8aDE+R2V0dGluZyBTdGFydGVkIEd1aWRlPC9oMT4KICAgICAgICAgICAgPHA+V2VsY29tZSB0byB0aGUgPHN0cm9uZz5kZWVzLWNhdGFsb2c8L3N0cm9uZz4gY29tcG9uZW50IGxpYnJhcnkuIFRoaXMgZ3VpZGUgd2lsbCBoZWxwIHlvdSBnZXQgdXAgYW5kIHJ1bm5pbmcgcXVpY2tseS48L3A+CgogICAgICAgICAgICA8aDI+SW5zdGFsbGF0aW9uPC9oMj4KICAgICAgICAgICAgPHA+SW5zdGFsbCB0aGUgcGFja2FnZSB1c2luZyB5b3VyIHByZWZlcnJlZCBwYWNrYWdlIG1hbmFnZXI6PC9wPgogICAgICAgICAgICA8cHJlPjxjb2RlPjxzcGFuIGNsYXNzPSJobGpzLWNvbW1lbnQiPiMgVXNpbmcgcG5wbSAocmVjb21tZW5kZWQpPC9zcGFuPgpwbnBtIGFkZCBAZGVzaWduLmVzdGF0ZS9kZWVzLWNhdGFsb2cKCjxzcGFuIGNsYXNzPSJobGpzLWNvbW1lbnQiPiMgVXNpbmcgbnBtPC9zcGFuPgpucG0gaW5zdGFsbCBAZGVzaWduLmVzdGF0ZS9kZWVzLWNhdGFsb2c8L2NvZGU+PC9wcmU+CgogICAgICAgICAgICA8aDI+QmFzaWMgVXNhZ2U8L2gyPgogICAgICAgICAgICA8cD5JbXBvcnQgYW5kIHVzZSBjb21wb25lbnRzIGluIHlvdXIgVHlwZVNjcmlwdCBmaWxlczo8L3A+CiAgICAgICAgICAgIDxwcmU+PGNvZGU+PHNwYW4gY2xhc3M9ImhsanMta2V5d29yZCI+aW1wb3J0PC9zcGFuPiB7IERlZXNCdXR0b24gfSA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5mcm9tPC9zcGFuPiA8c3BhbiBjbGFzcz0iaGxqcy1zdHJpbmciPidAZGVzaWduLmVzdGF0ZS9kZWVzLWNhdGFsb2cnPC9zcGFuPjsKCjxzcGFuIGNsYXNzPSJobGpzLWNvbW1lbnQiPi8vIFVzZSBpbiB5b3VyIHRlbXBsYXRlczwvc3Bhbj4KaHRtbFxgJmx0O2RlZXMtYnV0dG9uJmd0O0NsaWNrIG1lJmx0Oy9kZWVzLWJ1dHRvbiZndDtcYDwvY29kZT48L3ByZT4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWFsZXJ0IG1hcmtkb3duLWFsZXJ0LXRpcCI+CiAgICAgICAgICAgICAgPHA+PHN0cm9uZz5UaXA6PC9zdHJvbmc+IENoZWNrIHRoZSBkZW1vIHNob3djYXNlIGZvciBsaXZlIGV4YW1wbGVzIG9mIGFsbCBjb21wb25lbnRzLjwvcD4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8aDI+QXZhaWxhYmxlIENvbXBvbmVudHM8L2gyPgogICAgICAgICAgICA8dGFibGU+CiAgICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGg+Q29tcG9uZW50PC90aD4KICAgICAgICAgICAgICAgICAgPHRoPkRlc2NyaXB0aW9uPC90aD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0ZD48Y29kZT5kZWVzLWJ1dHRvbjwvY29kZT48L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+UHJpbWFyeSBidXR0b24gY29tcG9uZW50PC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0ZD48Y29kZT5kZWVzLWlucHV0LXRleHQ8L2NvZGU+PC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPlRleHQgaW5wdXQgZmllbGQ8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkPjxjb2RlPmRlZXMtdGFibGU8L2NvZGU+PC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPkRhdGEgdGFibGUgd2l0aCBzb3J0aW5nPC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0ZD48Y29kZT5kZWVzLW1vZGFsPC9jb2RlPjwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5Nb2RhbCBkaWFsb2c8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICA8L3RhYmxlPgoKICAgICAgICAgICAgPGgyPk5leHQgU3RlcHM8L2gyPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPGxpPkV4cGxvcmUgdGhlIDxhIGhyZWY9IiMiPmNvbXBvbmVudCBkb2N1bWVudGF0aW9uPC9hPjwvbGk+CiAgICAgICAgICAgICAgPGxpPkNoZWNrIG91dCB0aGUgPGEgaHJlZj0iIyI+dGhlbWluZyBndWlkZTwvYT48L2xpPgogICAgICAgICAgICAgIDxsaT5Kb2luIG91ciA8YSBocmVmPSIjIj5jb21tdW5pdHkgRGlzY29yZDwvYT48L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPGJsb2NrcXVvdGU+CiAgICAgICAgICAgICAgPHA+IlRoZSBiZXN0IGNvbXBvbmVudCBsaWJyYXJ5IGlzIG9uZSB0aGF0IGdldHMgb3V0IG9mIHlvdXIgd2F5LiIgXHUyMDE0IERlc2lnbiBTeXN0ZW1zIFRlYW08L3A+CiAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KICAgICAgICAgIGApfX0KICAgICAgPgogICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD48L2RlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgb3hhLG54YSxhYWEscmFhPWMoKCk9PntwZSgpO1hlKCk7dGFhKCk7b3hhPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxueGE9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LGFhYT0oKCk9PntsZXQgdD1bYWUoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0IildLGUsYT1bXSxyLHM9Y2U7dmFyIG49Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIkRlZXNXb3Jrc3BhY2VNYXJrZG93bm91dGxldCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBvPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO294YShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpvfSxudWxsLGEpLG49cj1lLnZhbHVlLG8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6b30pfXN0YXRpYyBkZW1vPWVhYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIldvcmtzcGFjZSJdO3N0YXRpYyBzdHlsZXM9W0RlLGQuZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ05vdG8gU2FucycsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMjQyOTJmIiwiI2U2ZWRmMyIpfTsKICAgICAgfQoKICAgICAgLm91dGxldCB7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICB9CgogICAgICAvKiBIZWFkaW5ncyAqLwogICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsKICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBsaW5lLWhlaWdodDogMS4yNTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxZjIzMjgiLCIjZjBmNmZjIil9OwogICAgICB9CgogICAgICBoMSB7CiAgICAgICAgZm9udC1zaXplOiAyZW07CiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuM2VtOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgIH0KCiAgICAgIGgyIHsKICAgICAgICBmb250LXNpemU6IDEuNWVtOwogICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjNlbTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNkMWQ5ZTAiLCIjMzAzNjNkIil9OwogICAgICB9CgogICAgICBoMyB7CiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07CiAgICAgIH0KCiAgICAgIGg0IHsKICAgICAgICBmb250LXNpemU6IDFlbTsKICAgICAgfQoKICAgICAgaDUgewogICAgICAgIGZvbnQtc2l6ZTogMC44NzVlbTsKICAgICAgfQoKICAgICAgaDYgewogICAgICAgIGZvbnQtc2l6ZTogMC44NWVtOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzY1NmQ3NiIsIiM4Yjk0OWUiKX07CiAgICAgIH0KCiAgICAgIC8qIFBhcmFncmFwaHMgYW5kIHRleHQgKi8KICAgICAgcCB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAvKiBMaW5rcyAqLwogICAgICBhIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMwOTY5ZGEiLCIjNThhNmZmIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgYTpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC8qIFN0cm9uZyBhbmQgZW1waGFzaXMgKi8KICAgICAgc3Ryb25nIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzFmMjMyOCIsIiNmMGY2ZmMiKX07CiAgICAgIH0KCiAgICAgIGVtIHsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIC8qIExpc3RzICovCiAgICAgIHVsLCBvbCB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIHBhZGRpbmctbGVmdDogMmVtOwogICAgICB9CgogICAgICBsaSB7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICB9CgogICAgICBsaSArIGxpIHsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgIH0KCiAgICAgIHVsIHVsLCB1bCBvbCwgb2wgdWwsIG9sIG9sIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC8qIEJsb2NrcXVvdGVzICovCiAgICAgIGJsb2NrcXVvdGUgewogICAgICAgIG1hcmdpbjogMCAwIDE2cHggMDsKICAgICAgICBwYWRkaW5nOiAwIDFlbTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM2NTZkNzYiLCIjOGI5NDllIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgJHtkLmJkVGhlbWUoIiNkMWQ5ZTAiLCIjMzAzNjNkIil9OwogICAgICB9CgogICAgICBibG9ja3F1b3RlID4gOmZpcnN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICB9CgogICAgICBibG9ja3F1b3RlID4gOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC8qIElubGluZSBjb2RlICovCiAgICAgIGNvZGUgewogICAgICAgIHBhZGRpbmc6IDAuMmVtIDAuNGVtOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBmb250LXNpemU6IDg1JTsKICAgICAgICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgJ1NGIE1vbm8nLCBNZW5sbywgQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBtb25vc3BhY2U7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtkLmJkVGhlbWUoInJnYmEoMTc1LCAxODQsIDE5MywgMC4yKSIsInJnYmEoMTEwLCAxMTgsIDEyOSwgMC40KSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgd2hpdGUtc3BhY2U6IGJyZWFrLXNwYWNlczsKICAgICAgfQoKICAgICAgLyogQ29kZSBibG9ja3MgKi8KICAgICAgcHJlIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBmb250LXNpemU6IDg1JTsKICAgICAgICBsaW5lLWhlaWdodDogMS40NTsKICAgICAgICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgJ1NGIE1vbm8nLCBNZW5sbywgQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBtb25vc3BhY2U7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtkLmJkVGhlbWUoIiNmNmY4ZmEiLCIjMTYxYjIyIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDsKICAgICAgfQoKICAgICAgcHJlIGNvZGUgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIG92ZXJmbG93OiB2aXNpYmxlOwogICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OwogICAgICAgIHdvcmQtd3JhcDogbm9ybWFsOwogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBmb250LXNpemU6IDEwMCU7CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZTsKICAgICAgfQoKICAgICAgLyogVGFibGVzICovCiAgICAgIHRhYmxlIHsKICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBib3JkZXItc3BhY2luZzogMDsKICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICB0YWJsZSB0aCB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBwYWRkaW5nOiA2cHggMTNweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtkLmJkVGhlbWUoIiNmNmY4ZmEiLCIjMTYxYjIyIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzFmMjMyOCIsIiNlNmVkZjMiKX07CiAgICAgIH0KCiAgICAgIHRhYmxlIHRkIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTNweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMWYyMzI4IiwiI2U2ZWRmMyIpfTsKICAgICAgfQoKICAgICAgdGFibGUgdHIgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzBkMTExNyIpfTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNkMWQ5ZTAiLCIjMjEyNjJkIil9OwogICAgICB9CgogICAgICB0YWJsZSB0cjpudGgtY2hpbGQoMm4pIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2QuYmRUaGVtZSgiI2Y2ZjhmYSIsIiMxNjFiMjIiKX07CiAgICAgIH0KCiAgICAgIC8qIEhvcml6b250YWwgcnVsZXMgKi8KICAgICAgaHIgewogICAgICAgIGhlaWdodDogNHB4OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgbWFyZ2luOiAyNHB4IDA7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtkLmJkVGhlbWUoIiNkMWQ5ZTAiLCIjMzAzNjNkIil9OwogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgIH0KCiAgICAgIC8qIEltYWdlcyAqLwogICAgICBpbWcgewogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgfQoKICAgICAgLyogVGFzayBsaXN0cyAqLwogICAgICAudGFzay1saXN0LWl0ZW0gewogICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsKICAgICAgfQoKICAgICAgLnRhc2stbGlzdC1pdGVtIGlucHV0IHsKICAgICAgICBtYXJnaW46IDAgMC4yZW0gMC4yNWVtIC0xLjRlbTsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICB9CgogICAgICAvKiBEZWZpbml0aW9uIGxpc3RzICovCiAgICAgIGRsIHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICBkbCBkdCB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMWVtOwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICBkbCBkZCB7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC8qIEtleWJvYXJkIGlucHV0ICovCiAgICAgIGtiZCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHBhZGRpbmc6IDNweCA1cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCAnU0YgTW9ubycsIE1lbmxvLCBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIG1vbm9zcGFjZTsKICAgICAgICBsaW5lLWhlaWdodDogMTBweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxZjIzMjgiLCIjZTZlZGYzIil9OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtkLmJkVGhlbWUoIiNmNmY4ZmEiLCIjMTYxYjIyIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZDFkOWUwIiwiIzMwMzYzZCIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgJHtkLmJkVGhlbWUoIiNkMWQ5ZTAiLCIjMzAzNjNkIil9OwogICAgICB9CgogICAgICAvKiBGb290bm90ZXMgKi8KICAgICAgLmZvb3Rub3RlcyB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzY1NmQ3NiIsIiM4Yjk0OWUiKX07CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZDFkOWUwIiwiIzMwMzYzZCIpfTsKICAgICAgICBwYWRkaW5nLXRvcDogMTZweDsKICAgICAgICBtYXJnaW4tdG9wOiAzMnB4OwogICAgICB9CgogICAgICAvKiBBbGVydHMvQWRtb25pdGlvbnMgKi8KICAgICAgLm1hcmtkb3duLWFsZXJ0IHsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICB9CgogICAgICAubWFya2Rvd24tYWxlcnQtbm90ZSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiIzA5NjlkYSIsIiM1OGE2ZmYiKX07CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtkLmJkVGhlbWUoInJnYmEoOSwgMTA1LCAyMTgsIDAuMSkiLCJyZ2JhKDU2LCAxMzksIDI1MywgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLm1hcmtkb3duLWFsZXJ0LXdhcm5pbmcgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiNiZjg3MDAiLCIjZDI5OTIyIil9OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7ZC5iZFRoZW1lKCJyZ2JhKDE5MSwgMTM1LCAwLCAwLjEpIiwicmdiYSgxODcsIDEyOCwgOSwgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLm1hcmtkb3duLWFsZXJ0LWltcG9ydGFudCB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiIzgyNTBkZiIsIiNhMzcxZjciKX07CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtkLmJkVGhlbWUoInJnYmEoMTMwLCA4MCwgMjIzLCAwLjEpIiwicmdiYSgxNjMsIDExMywgMjQ3LCAwLjEpIil9OwogICAgICB9CgogICAgICAubWFya2Rvd24tYWxlcnQtY2F1dGlvbiB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2NmMjIyZSIsIiNmODUxNDkiKX07CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtkLmJkVGhlbWUoInJnYmEoMjA3LCAzNCwgNDYsIDAuMSkiLCJyZ2JhKDI0OCwgODEsIDczLCAwLjEpIil9OwogICAgICB9CgogICAgICAubWFya2Rvd24tYWxlcnQtdGlwIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjMWE3ZjM3IiwiIzNmYjk1MCIpfTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2QuYmRUaGVtZSgicmdiYSgyNiwgMTI3LCA1NSwgMC4xKSIsInJnYmEoNDYsIDE2MCwgNjcsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFN5bnRheCBoaWdobGlnaHRpbmcgZm9yIGNvZGUgYmxvY2tzICovCiAgICAgIC5obGpzLWNvbW1lbnQsCiAgICAgIC5obGpzLXF1b3RlIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM2YTczN2QiLCIjOGI5NDllIil9OwogICAgICB9CgogICAgICAuaGxqcy1rZXl3b3JkLAogICAgICAuaGxqcy1zZWxlY3Rvci10YWcsCiAgICAgIC5obGpzLWFkZGl0aW9uIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkNzNhNDkiLCIjZmY3YjcyIil9OwogICAgICB9CgogICAgICAuaGxqcy1udW1iZXIsCiAgICAgIC5obGpzLXN0cmluZywKICAgICAgLmhsanMtbWV0YSAuaGxqcy1tZXRhLXN0cmluZywKICAgICAgLmhsanMtbGl0ZXJhbCwKICAgICAgLmhsanMtZG9jdGFnLAogICAgICAuaGxqcy1yZWdleHAgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzAzMmY2MiIsIiNhNWQ2ZmYiKX07CiAgICAgIH0KCiAgICAgIC5obGpzLXRpdGxlLAogICAgICAuaGxqcy1zZWN0aW9uLAogICAgICAuaGxqcy1uYW1lLAogICAgICAuaGxqcy1zZWxlY3Rvci1pZCwKICAgICAgLmhsanMtc2VsZWN0b3ItY2xhc3MgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzZmNDJjMSIsIiNkMmE4ZmYiKX07CiAgICAgIH0KCiAgICAgIC5obGpzLWF0dHJpYnV0ZSwKICAgICAgLmhsanMtYXR0ciwKICAgICAgLmhsanMtdmFyaWFibGUsCiAgICAgIC5obGpzLXRlbXBsYXRlLXZhcmlhYmxlLAogICAgICAuaGxqcy1jbGFzcyAuaGxqcy10aXRsZSwKICAgICAgLmhsanMtdHlwZSB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMDA1Y2M1IiwiIzc5YzBmZiIpfTsKICAgICAgfQoKICAgICAgLmhsanMtc3ltYm9sLAogICAgICAuaGxqcy1idWxsZXQsCiAgICAgIC5obGpzLXN1YnN0LAogICAgICAuaGxqcy1tZXRhLAogICAgICAuaGxqcy1tZXRhIC5obGpzLWtleXdvcmQsCiAgICAgIC5obGpzLXNlbGVjdG9yLWF0dHIsCiAgICAgIC5obGpzLXNlbGVjdG9yLXBzZXVkbywKICAgICAgLmhsanMtbGluayB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZTM2MjA5IiwiI2ZmYTY1NyIpfTsKICAgICAgfQoKICAgICAgLmhsanMtYnVpbHRfaW4sCiAgICAgIC5obGpzLWRlbGV0aW9uIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNiMzFkMjgiLCIjZmZhMTk4Iil9OwogICAgICB9CgogICAgICAuaGxqcy1mb3JtdWxhIHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2QuYmRUaGVtZSgiI2Y2ZjhmYSIsIiMxNjFiMjIiKX07CiAgICAgIH0KCiAgICAgIC5obGpzLWVtcGhhc2lzIHsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIC5obGpzLXN0cm9uZyB7CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgIH0KICAgIGBdO291dGxldDtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ib3V0bGV0Ij4KICAgICAgICA8aDE+TWFya2Rvd24gUHJldmlldzwvaDE+CiAgICAgICAgPHA+Q29udGVudCB3aWxsIGFwcGVhciBoZXJlIHdoZW4gbWFya2Rvd24gaXMgcGFyc2VkLjwvcD4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZChvKXthd2FpdCBzdXBlci5maXJzdFVwZGF0ZWQobyksdGhpcy5vdXRsZXQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5vdXRsZXQiKX1hc3luYyB1cGRhdGVIdG1sVGV4dChvKXthd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMub3V0bGV0fHwodGhpcy5vdXRsZXQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5vdXRsZXQiKSksdGhpcy5vdXRsZXQuaW5uZXJIVE1MPW99c3RhdGlje254YShyLGEpfX07cmV0dXJuIG49cn0pKCl9KTt2YXIgaWFhPWMoKCk9PntyYWEoKX0pO3ZhciBzYWE9YygoKT0+e3VIZSgpfSk7dmFyIG9hYT1jKCgpPT57aEhlKCl9KTt2YXIgbmFhPWMoKCk9PntVdGEoKTtXdGEoKTtHdGEoKTtadGEoKTtYdGEoKTtKdGEoKTtpYWEoKTtzYWEoKTtvYWEoKX0pO3ZhciBsYWE9YygoKT0+e30pO3ZhciBjYWE9YygoKT0+e2xhYSgpfSk7dmFyIGRhYT1jKCgpPT57cGUoKX0pO3ZhciBwYWE9YygoKT0+e2RhYSgpfSk7dmFyIHVhYT1jKCgpPT57amkoKTtYZSgpOyRYdCgpO0hYdCgpO3RLdCgpO01LdCgpO1lLdCgpO0tLdCgpO3dRdCgpO2RKdCgpO2dlYSgpO1NlYSgpO2ZYKCk7d3RhKCk7RnRhKCk7bmFhKCk7Y2FhKCk7cGFhKCl9KTt2YXIgZmFhLGhhYT1jKCgpPT57ZmFhPXtuYW1lOiJAZGVzaWduLmVzdGF0ZS9kZWVzLWNhdGFsb2ciLHZlcnNpb246IjMuNDkuMCIsZGVzY3JpcHRpb246IkEgY29tcHJlaGVuc2l2ZSBsaWJyYXJ5IHRoYXQgcHJvdmlkZXMgZHluYW1pYyB3ZWIgY29tcG9uZW50cyBmb3IgYnVpbGRpbmcgc29waGlzdGljYXRlZCBhbmQgbW9kZXJuIHdlYiBhcHBsaWNhdGlvbnMgdXNpbmcgSmF2YVNjcmlwdCBhbmQgVHlwZVNjcmlwdC4ifX0pO3ZhciBtSGU9e307ZXQobUhlLHtDYW52YXNQb29sOigpPT5lcCxEZWVzQWN0aW9uYmFyOigpPT5rS3QsRGVlc0FwcHVpOigpPT54WHQsRGVlc0FwcHVpQWN0aXZpdHlsb2c6KCk9PkZHdCxEZWVzQXBwdWlCYXI6KCk9PkpHdCxEZWVzQXBwdWlCb3R0b21iYXI6KCk9PnJZdCxEZWVzQXBwdWlNYWluY29udGVudDooKT0+dlh0LERlZXNBcHB1aU1haW5tZW51OigpPT5wWHQsRGVlc0FwcHVpUHJvZmlsZURyb3Bkb3duOigpPT5RR3QsRGVlc0FwcHVpU2Vjb25kYXJ5bWVudTooKT0+aFh0LERlZXNBcHB1aVRhYnM6KCk9PmJYdCxEZWVzQXVkaW9WaWV3ZXI6KCk9PmJKdCxEZWVzQmFkZ2U6KCk9PlRLdCxEZWVzQnV0dG9uOigpPT5zWHQsRGVlc0J1dHRvbkV4aXQ6KCk9PlBYdCxEZWVzQnV0dG9uR3JvdXA6KCk9PkZYdCxEZWVzQ2hhcnRBcmVhOigpPT5ZWHQsRGVlc0NoYXJ0TG9nOigpPT5RWHQsRGVlc0NoaXBzOigpPT56UXQsRGVlc0NvbnRleHRtZW51OigpPT5OdCxEZWVzRGFzaGJvYXJkZ3JpZDooKT0+VlF0LERlZXNEYXRhdmlld0NvZGVib3g6KCk9PmlLdCxEZWVzRGF0YXZpZXdTdGF0dXNvYmplY3Q6KCk9PmNLdCxEZWVzRm9ybTooKT0+YVh0LERlZXNGb3JtU3VibWl0OigpPT56WixEZWVzRm9ybWF0dGluZ01lbnU6KCk9PkJaLERlZXNIZWFkaW5nOigpPT5aUXQsRGVlc0hpbnQ6KCk9PkVLdCxEZWVzSWNvbjooKT0+QUd0LERlZXNJbWFnZVZpZXdlcjooKT0+Zkp0LERlZXNJbnB1dEJhc2U6KCk9Pm90LERlZXNJbnB1dENoZWNrYm94OigpPT5oWixEZWVzSW5wdXRDb2RlOigpPT52WixEZWVzSW5wdXREYXRlcGlja2VyOigpPT54WixEZWVzSW5wdXREcm9wZG93bjooKT0+U1osRGVlc0lucHV0RmlsZXVwbG9hZDooKT0+X1osRGVlc0lucHV0SWJhbjooKT0+JFosRGVlc0lucHV0TGlzdDooKT0+UlosRGVlc0lucHV0TXVsdGl0b2dnbGU6KCk9PkRaLERlZXNJbnB1dFBob25lOigpPT5QWixEZWVzSW5wdXRQcm9maWxlUGljdHVyZTooKT0+eVF0LERlZXNJbnB1dFF1YW50aXR5U2VsZWN0b3I6KCk9PndaLERlZXNJbnB1dFJhZGlvZ3JvdXA6KCk9Pk1aLERlZXNJbnB1dFJpY2h0ZXh0OigpPT5qWixEZWVzSW5wdXRUYWdzOigpPT5OWixEZWVzSW5wdXRUZXh0OigpPT55WixEZWVzSW5wdXRUb2dnbGU6KCk9PkVaLERlZXNJbnB1dFR5cGVsaXN0OigpPT5JWixEZWVzSW5wdXRXeXNpd3lnOigpPT5nQixEZWVzTGFiZWw6KCk9PnZZdCxEZWVzTW9iaWxlbmF2aWdhdGlvbjooKT0+X1h0LERlZXNNb2RhbDooKT0+TWEsRGVlc1BhZ2luYXRpb246KCk9PnRKdCxEZWVzUGFuZWw6KCk9PmxZdCxEZWVzUGRmVmlld2VyOigpPT5fSnQsRGVlc1ByZXZpZXc6KCk9PkRKdCxEZWVzUHJvZ3Jlc3NiYXI6KCk9PkJLdCxEZWVzU2VhcmNoYmFyOigpPT5DdGEsRGVlc1Nob3BwaW5nUHJvZHVjdGNhcmQ6KCk9PiRZdCxEZWVzU2ltcGxlQXBwRGFzaDooKT0+dXRhLERlZXNTaW1wbGVMb2dpbjooKT0+dnRhLERlZXNTbGFzaE1lbnU6KCk9PkZaLERlZXNTcGVlY2hidWJibGU6KCk9PndlYSxEZWVzU3Bpbm5lcjooKT0+cUt0LERlZXNTdGF0c0dyaWQ6KCk9Pm9YdCxEZWVzU3RlcHBlcjooKT0+bkp0LERlZXNTdG9yYWdlQnJvd3NlcjooKT0+eEt0LERlZXNTdG9yYWdlQ29sdW1uczooKT0+Z0t0LERlZXNTdG9yYWdlS2V5czooKT0+Ykt0LERlZXNTdG9yYWdlUHJldmlldzooKT0+dkt0LERlZXNUYWJsZTooKT0+V1osRGVlc1RoZW1lOigpPT5EdGEsRGVlc1RpbGVBdWRpbzooKT0+S0p0LERlZXNUaWxlQmFzZTooKT0+anIsRGVlc1RpbGVGb2xkZXI6KCk9PmZlYSxEZWVzVGlsZUltYWdlOigpPT5XSnQsRGVlc1RpbGVOb3RlOigpPT5uZWEsRGVlc1RpbGVQZGY6KCk9PkhKdCxEZWVzVGlsZVZpZGVvOigpPT5hZWEsRGVlc1RvYXN0OigpPT5yYSxEZWVzVXBkYXRlcjooKT0+aFgsRGVlc1ZpZGVvVmlld2VyOigpPT53SnQsRGVlc1dpbmRvd0NvbnRyb2xzOigpPT5LR3QsRGVlc1dpbmRvd0xheWVyOigpPT5VaSxEZWVzV29ya3NwYWNlOigpPT5WdGEsRGVlc1dvcmtzcGFjZUJvdHRvbWJhcjooKT0+SHRhLERlZXNXb3Jrc3BhY2VEaWZmRWRpdG9yOigpPT5xdGEsRGVlc1dvcmtzcGFjZUZpbGV0cmVlOigpPT5PdGEsRGVlc1dvcmtzcGFjZU1hcmtkb3duOigpPT5LdGEsRGVlc1dvcmtzcGFjZU1hcmtkb3dub3V0bGV0OigpPT5hYWEsRGVlc1dvcmtzcGFjZU1vbmFjbzooKT0+eFl0LERlZXNXb3Jrc3BhY2VUZXJtaW5hbDooKT0+ckhlLERlZXNXb3Jrc3BhY2VUZXJtaW5hbFByZXZpZXc6KCk9PkJ0YSxEZWVzV3lzaXd5Z0Jsb2NrOigpPT5JWnQsUFJPR1JBTU1JTkdfTEFOR1VBR0VTOigpPT5RTyxQZGZNYW5hZ2VyOigpPT5EMixQZXJmb3JtYW5jZU1vbml0b3I6KCk9PnRwLFRlcm1pbmFsVGFiTWFuYWdlcjooKT0+REIsVHlwZVNjcmlwdEludGVsbGlTZW5zZU1hbmFnZXI6KCk9Pk5CLFZpZXdSZWdpc3RyeTooKT0+YkIsV2ViQ29udGFpbmVyRW52aXJvbm1lbnQ6KCk9Pl82LFd5c2l3eWdCbG9ja09wZXJhdGlvbnM6KCk9PkpPLFd5c2l3eWdCbG9ja3M6KCk9PmFyLFd5c2l3eWdDb252ZXJ0ZXJzOigpPT5aaSxXeXNpd3lnRHJhZ0Ryb3BIYW5kbGVyOigpPT5mQixXeXNpd3lnRm9ybWF0dGluZzooKT0+QW8sV3lzaXd5Z0hpc3Rvcnk6KCk9PmhCLFd5c2l3eWdJbnB1dEhhbmRsZXI6KCk9PnBCLFd5c2l3eWdLZXlib2FyZEhhbmRsZXI6KCk9PnVCLFd5c2l3eWdNb2RhbE1hbmFnZXI6KCk9PmRCLFd5c2l3eWdTZWxlY3Rpb246KCk9PlllLFd5c2l3eWdTaG9ydGN1dHM6KCk9PnAxLFpJbmRleFJlZ2lzdHJ5OigpPT5wRyxjb2xvcnM6KCk9Pmk2LGNvbW1pdGluZm86KCk9PmZhYSxjb21wb25lbnRaSW5kZXg6KCk9PmNtYSxkZWJvdW5jZTooKT0+X3ZhLGZvcm1hdENvdW50OigpPT5tS3QsZm9ybWF0RmlsZVNpemU6KCk9PkxCZSxmb3JtYXRTaXplOigpPT5YOCxnZXRDb250ZW50VHlwZTooKT0+Z2wsZ2V0RGVmYXVsdENvbnRlbnQ6KCk9PlE4LGdldEZpbGVOYW1lOigpPT5qdCxnZXRQYXJlbnRQcmVmaXg6KCk9PklzLGdldFBhdGhTZWdtZW50czooKT0+eTYsZ2V0WkluZGV4OigpPT5sbWEsaWNvbnM6KCk9PnVaLGlzSW5WaWV3cG9ydDooKT0+THZhLHJlZ2lzdGVyQWxsQmxvY2tIYW5kbGVyczooKT0+JFp0LHRoZW1lRGVmYXVsdFN0eWxlczooKT0+RGUsdGhlbWVEZWZhdWx0czooKT0+Sm4sdGhyb3R0bGU6KCk9PlR2YSx0aWxlQmFzZVN0eWxlczooKT0+THIsdmFsaWRhdGVNb3ZlOigpPT5LOCx3eXNpd3lnU3R5bGVzOigpPT5PT2UsekluZGV4TGF5ZXJzOigpPT5BMSx6SW5kZXhSZWdpc3RyeTooKT0+X2F9KTt2YXIgZ0hlPWMoKCk9Pnt1YWEoKTtHaSgpO2hhYSgpfSk7dmFyIGNwLHFzLGx4YSxkcD1jKCgpPT57cGUoKTtjcD1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0scXM9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LGx4YT0oKCk9PntsZXQgdD1bYWUoInN6LXN0YXQtY2FyZCIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdO3ZhciBFPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJTelN0YXRDYXJkIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpTdHJpbmd9KV0saD1bTCh7dHlwZTpTdHJpbmd9KV0scD1bTCh7dHlwZTpTdHJpbmd9KV0seD1bTCh7dHlwZTpTdHJpbmd9KV0seT1bTCh7dHlwZTpCb29sZWFufSldLGNwKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+ImxhYmVsImluIEMsImhhcyIpLGdldDppKEM9PkMubGFiZWwsImdldCIpLHNldDppKChDLE4pPT57Qy5sYWJlbD1OfSwic2V0Iil9LG1ldGFkYXRhOl99LG8sbCksY3AodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4idmFsdWUiaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy52YWx1ZSwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLnZhbHVlPU59LCJzZXQiKX0sbWV0YWRhdGE6X30sdSxmKSxjcCh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imljb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+Imljb24iaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy5pY29uLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0MuaWNvbj1OfSwic2V0Iil9LG1ldGFkYXRhOl99LGcsdiksY3AodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YXJpYW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEM9PiJ2YXJpYW50ImluIEMsImhhcyIpLGdldDppKEM9PkMudmFyaWFudCwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLnZhcmlhbnQ9Tn0sInNldCIpfSxtZXRhZGF0YTpffSxiLG0pLGNwKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWVCYWRnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4idmFsdWVCYWRnZSJpbiBDLCJoYXMiKSxnZXQ6aShDPT5DLnZhbHVlQmFkZ2UsImdldCIpLHNldDppKChDLE4pPT57Qy52YWx1ZUJhZGdlPU59LCJzZXQiKX0sbWV0YWRhdGE6X30sTSxrKSxjcChudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpffSxudWxsLGEpLEU9cj1lLnZhbHVlLF8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6X30pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8c3R5bGU+CiAgICAgIC5kZW1vLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBtYXgtd2lkdGg6IDgwMHB4OwogICAgICB9CiAgICA8L3N0eWxlPgogICAgPGRpdiBjbGFzcz0iZGVtby1ncmlkIj4KICAgICAgPHN6LXN0YXQtY2FyZAogICAgICAgIGxhYmVsPSJUb3RhbCBTZXJ2aWNlcyIKICAgICAgICB2YWx1ZT0iNyIKICAgICAgICBpY29uPSJzZXJ2ZXIiCiAgICAgID48L3N6LXN0YXQtY2FyZD4KICAgICAgPHN6LXN0YXQtY2FyZAogICAgICAgIGxhYmVsPSJSdW5uaW5nIgogICAgICAgIHZhbHVlPSI3IgogICAgICAgIGljb249ImNoZWNrIgogICAgICAgIHZhcmlhbnQ9InN1Y2Nlc3MiCiAgICAgID48L3N6LXN0YXQtY2FyZD4KICAgICAgPHN6LXN0YXQtY2FyZAogICAgICAgIGxhYmVsPSJTdG9wcGVkIgogICAgICAgIHZhbHVlPSIwIgogICAgICAgIGljb249InN0b3AiCiAgICAgID48L3N6LXN0YXQtY2FyZD4KICAgICAgPHN6LXN0YXQtY2FyZAogICAgICAgIGxhYmVsPSJEb2NrZXIiCiAgICAgICAgdmFsdWU9IlJ1bm5pbmciCiAgICAgICAgaWNvbj0iY29udGFpbmVyIgogICAgICAgIHZhcmlhbnQ9InN1Y2Nlc3MiCiAgICAgICAgdmFsdWVCYWRnZQogICAgICA+PC9zei1zdGF0LWNhcmQ+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXNoYm9hcmQiXTsjZT1xcyh0aGlzLG8sIiIpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiNlfXNldCBsYWJlbChfKXt0aGlzLiNlPV99I3Q9KHFzKHRoaXMsbCkscXModGhpcyx1LCIiKSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHZhbHVlKF8pe3RoaXMuI3Q9X30jYT0ocXModGhpcyxmKSxxcyh0aGlzLGcsIiIpKTtnZXQgaWNvbigpe3JldHVybiB0aGlzLiNhfXNldCBpY29uKF8pe3RoaXMuI2E9X30jcj0ocXModGhpcyx2KSxxcyh0aGlzLGIsImRlZmF1bHQiKSk7Z2V0IHZhcmlhbnQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdmFyaWFudChfKXt0aGlzLiNyPV99I2k9KHFzKHRoaXMsbSkscXModGhpcyxNLCExKSk7Z2V0IHZhbHVlQmFkZ2UoKXtyZXR1cm4gdGhpcy4jaX1zZXQgdmFsdWVCYWRnZShfKXt0aGlzLiNpPV99c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuY2FyZDpob3ZlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCAke2QuYmRUaGVtZSgicmdiYSgwLDAsMCwwLjA1KSIsInJnYmEoMCwwLDAsMC4yKSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC5sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmljb24gewogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAudmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMjhweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgICAgfQoKICAgICAgLnZhbHVlLnN1Y2Nlc3MgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC52YWx1ZS53YXJuaW5nIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNjYThhMDQiLCIjZmFjYzE1Iil9OwogICAgICB9CgogICAgICAudmFsdWUuZXJyb3IgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA0cHggMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5zdWNjZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLndhcm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmVmOWMzIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLmRlZmF1bHQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgXz10aGlzLnZhbHVlQmFkZ2U/YGJhZGdlICR7dGhpcy52YXJpYW50fWA6YHZhbHVlICR7dGhpcy52YXJpYW50fWA7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFiZWwiPiR7dGhpcy5sYWJlbH08L3NwYW4+CiAgICAgICAgICAke3RoaXMucmVuZGVySWNvbigpfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9IiR7X30iPiR7dGhpcy52YWx1ZX08L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckljb24oKXtyZXR1cm57c2VydmVyOndgPHN2ZyBjbGFzcz0iaWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxyZWN0IHg9IjIiIHk9IjIiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIgcnk9IjIiPjwvcmVjdD48cmVjdCB4PSIyIiB5PSIxNCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PjxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjYuMDEiIHkyPSI2Ij48L2xpbmU+PGxpbmUgeDE9IjYiIHkxPSIxOCIgeDI9IjYuMDEiIHkyPSIxOCI+PC9saW5lPjwvc3ZnPmAsY2hlY2s6d2A8c3ZnIGNsYXNzPSJpY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBvbHlsaW5lIHBvaW50cz0iMjAgNiA5IDE3IDQgMTIiPjwvcG9seWxpbmU+PC9zdmc+YCxzdG9wOndgPHN2ZyBjbGFzcz0iaWNvbiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMjQgMjQiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIj48L2NpcmNsZT48bGluZSB4MT0iMTAiIHkxPSIxNSIgeDI9IjEwIiB5Mj0iOSI+PC9saW5lPjxsaW5lIHgxPSIxNCIgeTE9IjE1IiB4Mj0iMTQiIHkyPSI5Ij48L2xpbmU+PC9zdmc+YCxjb250YWluZXI6d2A8c3ZnIGNsYXNzPSJpY29uIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTIxIDE2VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43M2w3IDRhMiAyIDAgMCAwIDIgMGw3LTRBMiAyIDAgMCAwIDIxIDE2eiI+PC9wYXRoPjwvc3ZnPmB9W3RoaXMuaWNvbl18fHdgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cykscXModGhpcyxrKX1zdGF0aWN7cXMocixhKX19O3JldHVybiBFPXJ9KSgpfSk7dmFyIGJIZSxGQixjeGEsdkhlPWMoKCk9PntwZSgpO2JIZT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sRkI9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LGN4YT0oKCk9PntsZXQgdD1bYWUoInN6LXJlc291cmNlLXVzYWdlLWNhcmQiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXTt2YXIgcD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiU3pSZXNvdXJjZVVzYWdlQ2FyZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBnPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6T2JqZWN0fSldLGg9W0woe3R5cGU6U3RyaW5nfSldLGJIZSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+ImRhdGEiaW4gdiwiaGFzIiksZ2V0Omkodj0+di5kYXRhLCJnZXQiKSxzZXQ6aSgodix4KT0+e3YuZGF0YT14fSwic2V0Iil9LG1ldGFkYXRhOmd9LG8sbCksYkhlKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VydmljZUNvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHY9PiJzZXJ2aWNlQ291bnQiaW4gdiwiaGFzIiksZ2V0Omkodj0+di5zZXJ2aWNlQ291bnQsImdldCIpLHNldDppKCh2LHgpPT57di5zZXJ2aWNlQ291bnQ9eH0sInNldCIpfSxtZXRhZGF0YTpnfSx1LGYpLGJIZShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpnfSxudWxsLGEpLHA9cj1lLnZhbHVlLGcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Z30pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDgwMHB4OyI+CiAgICAgIDxzei1yZXNvdXJjZS11c2FnZS1jYXJkCiAgICAgICAgLmRhdGE9JHt7Y3B1Oi41LG1lbW9yeVVzZWQ6IjE5MSBNQiIsbWVtb3J5VG90YWw6IjQyOS4yIEdCIixuZXR3b3JrSW46IjM4LjkgS0IvcyIsbmV0d29ya091dDoiMS43IEtCL3MiLHRvcENvbnN1bWVyczpbe25hbWU6InRlc3QtbmdpbngiLG1lbW9yeToiMzIuMSBNQiJ9LHtuYW1lOiJ0ZXN0LXYyIixtZW1vcnk6IjMxLjcgTUIifV19fQogICAgICAgIHNlcnZpY2VDb3VudD0iNyIKICAgICAgPjwvc3otcmVzb3VyY2UtdXNhZ2UtY2FyZD4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhc2hib2FyZCJdOyNlPUZCKHRoaXMsbyx7Y3B1OjAsbWVtb3J5VXNlZDoiMCBNQiIsbWVtb3J5VG90YWw6IjAgR0IiLG5ldHdvcmtJbjoiMCBLQi9zIixuZXR3b3JrT3V0OiIwIEtCL3MiLHRvcENvbnN1bWVyczpbXX0pO2dldCBkYXRhKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRhdGEoZyl7dGhpcy4jZT1nfSN0PShGQih0aGlzLGwpLEZCKHRoaXMsdSwiMCIpKTtnZXQgc2VydmljZUNvdW50KCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlcnZpY2VDb3VudChnKXt0aGlzLiN0PWd9c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAudmlldy1hbGwgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC52aWV3LWFsbDpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC5tZXRyaWNzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICAubWV0cmljLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAubWV0cmljLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLm1ldHJpYy1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5tZXRyaWMtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyIHsKICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzcy1maWxsIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAzMDBtcyBlYXNlOwogICAgICB9CgogICAgICAubmV0d29yay1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5uZXR3b3JrLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLm5ldHdvcmstaWNvbiB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CgogICAgICAubmV0d29yay1pY29uLmRvd24gewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5uZXR3b3JrLWljb24udXAgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC50b3AtY29uc3VtZXJzIHsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmNvbnN1bWVycy1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgICB9CgogICAgICAuY29uc3VtZXJzLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmNvbnN1bWVyLWl0ZW0gewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuY29uc3VtZXItbmFtZSB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+UmVzb3VyY2UgVXNhZ2U8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VidGl0bGUiPkFnZ3JlZ2F0ZWQgYWNyb3NzICR7dGhpcy5zZXJ2aWNlQ291bnR9IHNlcnZpY2VzPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxhIGNsYXNzPSJ2aWV3LWFsbCI+VmlldyBBbGw8L2E+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpY3MiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLXJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1oZWFkZXIiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtbGFiZWwiPkNQVTwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLXZhbHVlIj4ke3RoaXMuZGF0YS5jcHUudG9GaXhlZCgxKX0lPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1maWxsIiBzdHlsZT0id2lkdGg6ICR7TWF0aC5taW4odGhpcy5kYXRhLmNwdSwxMDApfSUiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtaGVhZGVyIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLWxhYmVsIj5NZW1vcnk8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLmRhdGEubWVtb3J5VXNlZH0gLyAke3RoaXMuZGF0YS5tZW1vcnlUb3RhbH08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWZpbGwiIHN0eWxlPSJ3aWR0aDogJHt0aGlzLmNhbGN1bGF0ZU1lbW9yeVBlcmNlbnQoKX0lIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtcm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWhlYWRlciI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy1sYWJlbCI+TmV0d29yazwvc3Bhbj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJuZXR3b3JrLXJvdyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibmV0d29yay1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmV0d29yay1pY29uIGRvd24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDV2MTRNMTkgMTJsLTcgNy03LTciLz4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5kYXRhLm5ldHdvcmtJbn0KICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJuZXR3b3JrLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJuZXR3b3JrLWljb24gdXAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDE5VjVNNSAxMmw3LTcgNyA3Ii8+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAke3RoaXMuZGF0YS5uZXR3b3JrT3V0fQogICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICAke3RoaXMuZGF0YS50b3BDb25zdW1lcnMubGVuZ3RoPjA/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRvcC1jb25zdW1lcnMiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25zdW1lcnMtbGFiZWwiPlRvcCBjb25zdW1lcnM8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uc3VtZXJzLWxpc3QiPgogICAgICAgICAgICAgICR7dGhpcy5kYXRhLnRvcENvbnN1bWVycy5tYXAoZz0+d2AKICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbnN1bWVyLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb25zdW1lci1uYW1lIj4ke2cubmFtZX06PC9zcGFuPiAke2cubWVtb3J5fQogICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9Y2FsY3VsYXRlTWVtb3J5UGVyY2VudCgpe2xldCBnPXBhcnNlRmxvYXQodGhpcy5kYXRhLm1lbW9yeVVzZWQpLHY9cGFyc2VGbG9hdCh0aGlzLmRhdGEubWVtb3J5VG90YWwpO3JldHVybiB2PT09MD8wOk1hdGgubWluKGcvdioxMDAsMTAwKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksRkIodGhpcyxmKX1zdGF0aWN7RkIocixhKX19O3JldHVybiBwPXJ9KSgpfSk7dmFyIG1hYSx4SGUsZHhhLHlIZT1jKCgpPT57cGUoKTttYWE9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LHhIZT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sZHhhPSgoKT0+e2xldCB0PVthZSgic3otdHJhZmZpYy1jYXJkIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W107dmFyIGg9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6VHJhZmZpY0NhcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgdT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk9iamVjdH0pXSxtYWEodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGY9PiJkYXRhImluIGYsImhhcyIpLGdldDppKGY9PmYuZGF0YSwiZ2V0Iiksc2V0OmkoKGYscCk9PntmLmRhdGE9cH0sInNldCIpfSxtZXRhZGF0YTp1fSxvLGwpLG1hYShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTp1fSxudWxsLGEpLGg9cj1lLnZhbHVlLHUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dX0pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDUwMHB4OyI+CiAgICAgIDxzei10cmFmZmljLWNhcmQKICAgICAgICAuZGF0YT0ke3tyZXF1ZXN0czoxMjUwLGVycm9yczoxNSxlcnJvclBlcmNlbnQ6MS4yLGF2Z1Jlc3BvbnNlOjE0NSxyZXFQZXJNaW46MjEsc3RhdHVzMnh4Ojg1LHN0YXR1czN4eDo1LHN0YXR1czR4eDo4LHN0YXR1czV4eDoyfX0KICAgICAgPjwvc3otdHJhZmZpYy1jYXJkPgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGFzaGJvYXJkIl07I2U9eEhlKHRoaXMsbyx7cmVxdWVzdHM6MCxlcnJvcnM6MCxlcnJvclBlcmNlbnQ6MCxhdmdSZXNwb25zZTowLHJlcVBlck1pbjowLHN0YXR1czJ4eDowLHN0YXR1czN4eDowLHN0YXR1czR4eDowLHN0YXR1czV4eDowfSk7Z2V0IGRhdGEoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZGF0YSh1KXt0aGlzLiNlPXV9c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAubWV0cmljcyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAubWV0cmljIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAubWV0cmljLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhci1jb250YWluZXIgewogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtc2VnbWVudCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDMwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtMnh4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzIyYzU1ZSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtM3h4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtNHh4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZhY2MxNSIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtNXh4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2VmNDQ0NCIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtbGVnZW5kIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgfQoKICAgICAgLmxlZ2VuZC1pdGVtIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IHU9dGhpcy5kYXRhLnN0YXR1czJ4eCt0aGlzLmRhdGEuc3RhdHVzM3h4K3RoaXMuZGF0YS5zdGF0dXM0eHgrdGhpcy5kYXRhLnN0YXR1czV4eCxmPXU+MD90aGlzLmRhdGEuc3RhdHVzMnh4L3UqMTAwOjAscD11PjA/dGhpcy5kYXRhLnN0YXR1czN4eC91KjEwMDowLGc9dT4wP3RoaXMuZGF0YS5zdGF0dXM0eHgvdSoxMDA6MCx2PXU+MD90aGlzLmRhdGEuc3RhdHVzNXh4L3UqMTAwOjA7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+VHJhZmZpYyAoTGFzdCBIb3VyKTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3VidGl0bGUiPlJlcXVlc3QgbWV0cmljcyBmcm9tIGFjY2VzcyBsb2dzPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpY3MiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy1sYWJlbCI+UmVxdWVzdHM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtdmFsdWUiPiR7dGhpcy5mb3JtYXROdW1iZXIodGhpcy5kYXRhLnJlcXVlc3RzKX08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtbGFiZWwiPkVycm9yczwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLmRhdGEuZXJyb3JzfSAoJHt0aGlzLmRhdGEuZXJyb3JQZXJjZW50fSUpPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLWxhYmVsIj5BdmcgUmVzcG9uc2U8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtdmFsdWUiPiR7dGhpcy5kYXRhLmF2Z1Jlc3BvbnNlfW1zPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLWxhYmVsIj5SZXEvbWluPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLXZhbHVlIj4ke3RoaXMuZGF0YS5yZXFQZXJNaW59PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1iYXItY29udGFpbmVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1iYXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtc2VnbWVudCBzdGF0dXMtMnh4IiBzdHlsZT0id2lkdGg6ICR7Zn0lIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzLXNlZ21lbnQgc3RhdHVzLTN4eCIgc3R5bGU9IndpZHRoOiAke3B9JSI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1zZWdtZW50IHN0YXR1cy00eHgiIHN0eWxlPSJ3aWR0aDogJHtnfSUiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtc2VnbWVudCBzdGF0dXMtNXh4IiBzdHlsZT0id2lkdGg6ICR7dn0lIj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzLWxlZ2VuZCI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsZWdlbmQtaXRlbSI+Mnh4PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGVnZW5kLWl0ZW0iPjN4eDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxlZ2VuZC1pdGVtIj40eHg8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsZWdlbmQtaXRlbSI+NXh4PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1mb3JtYXROdW1iZXIodSl7cmV0dXJuIHU+PTFlNj8odS8xZTYpLnRvRml4ZWQoMSkrIk0iOnU+PTFlMz8odS8xZTMpLnRvRml4ZWQoMSkrIksiOnUudG9TdHJpbmcoKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cykseEhlKHRoaXMsbCl9c3RhdGlje3hIZShyLGEpfX07cmV0dXJuIGg9cn0pKCl9KTt2YXIgZ2FhLHdIZSxweGEsTUhlPWMoKCk9PntwZSgpO2dhYT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sd0hlPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxweGE9KCgpPT57bGV0IHQ9W2FlKCJzei1wbGF0Zm9ybS1zZXJ2aWNlcy1jYXJkIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W107dmFyIGg9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6UGxhdGZvcm1TZXJ2aWNlc0NhcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgdT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOkFycmF5fSldLGdhYSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcnZpY2VzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGY9PiJzZXJ2aWNlcyJpbiBmLCJoYXMiKSxnZXQ6aShmPT5mLnNlcnZpY2VzLCJnZXQiKSxzZXQ6aSgoZixwKT0+e2Yuc2VydmljZXM9cH0sInNldCIpfSxtZXRhZGF0YTp1fSxvLGwpLGdhYShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTp1fSxudWxsLGEpLGg9cj1lLnZhbHVlLHUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dX0pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDUwMHB4OyI+CiAgICAgIDxzei1wbGF0Zm9ybS1zZXJ2aWNlcy1jYXJkCiAgICAgICAgLnNlcnZpY2VzPSR7W3tuYW1lOiJNb25nb0RCIixzdGF0dXM6IjEgREIiLHJ1bm5pbmc6ITB9LHtuYW1lOiJTMyBTdG9yYWdlIChNaW5JTykiLHN0YXR1czoiMSBidWNrZXQiLHJ1bm5pbmc6ITB9LHtuYW1lOiJDYWRkeSBSZXZlcnNlIFByb3h5IixzdGF0dXM6IlJ1bm5pbmciLHJ1bm5pbmc6ITB9LHtuYW1lOiJDbGlja0hvdXNlIixzdGF0dXM6IjEgREIiLHJ1bm5pbmc6ITB9XX0KICAgICAgPjwvc3otcGxhdGZvcm0tc2VydmljZXMtY2FyZD4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlBsYXRmb3JtIl07I2U9d0hlKHRoaXMsbyxbXSk7Z2V0IHNlcnZpY2VzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNlcnZpY2VzKHUpe3RoaXMuI2U9dX1zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlcy1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuc2VydmljZS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLWl0ZW06aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtbGVmdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1kb3QgewogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWRvdC5ydW5uaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzIyYzU1ZSIsIiMyMmM1NWUiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDZweCAke2QuYmRUaGVtZSgicmdiYSgzNCwgMTk3LCA5NCwgMC40KSIsInJnYmEoMzQsIDE5NywgOTQsIDAuNCkiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtZG90LnN0b3BwZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZWY0NDQ0IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnNlcnZpY2Utc3RhdHVzIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+UGxhdGZvcm0gU2VydmljZXM8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj5JbmZyYXN0cnVjdHVyZSBzdGF0dXM8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZXMtbGlzdCI+CiAgICAgICAgICAke3RoaXMuc2VydmljZXMubWFwKHU9PndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1pdGVtIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTZXJ2aWNlQ2xpY2sodSl9PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1sZWZ0Ij4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzLWRvdCAke3UucnVubmluZz8icnVubmluZyI6InN0b3BwZWQifSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZXJ2aWNlLW5hbWUiPiR7dS5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlcnZpY2Utc3RhdHVzIj4ke3Uuc3RhdHVzfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVTZXJ2aWNlQ2xpY2sodSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VydmljZS1jbGljayIse2RldGFpbDp1LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHdIZSh0aGlzLGwpfXN0YXRpY3t3SGUocixhKX19O3JldHVybiBoPXJ9KSgpfSk7dmFyIGdYLCQ2LHV4YSxrSGU9YygoKT0+e3BlKCk7Z1g9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LCQ2PWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSx1eGE9KCgpPT57bGV0IHQ9W2FlKCJzei1jZXJ0aWZpY2F0ZXMtY2FyZCIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJTekNlcnRpZmljYXRlc0NhcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk51bWJlcn0pXSxoPVtMKHt0eXBlOk51bWJlcn0pXSxwPVtMKHt0eXBlOk51bWJlcn0pXSxnWCh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbGlkQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkobT0+InZhbGlkQ291bnQiaW4gbSwiaGFzIiksZ2V0OmkobT0+bS52YWxpZENvdW50LCJnZXQiKSxzZXQ6aSgobSx5KT0+e20udmFsaWRDb3VudD15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG8sbCksZ1godGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJleHBpcmluZ0NvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJleHBpcmluZ0NvdW50ImluIG0sImhhcyIpLGdldDppKG09Pm0uZXhwaXJpbmdDb3VudCwiZ2V0Iiksc2V0OmkoKG0seSk9PnttLmV4cGlyaW5nQ291bnQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSx1LGYpLGdYKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXhwaXJlZENvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJleHBpcmVkQ291bnQiaW4gbSwiaGFzIiksZ2V0OmkobT0+bS5leHBpcmVkQ291bnQsImdldCIpLHNldDppKChtLHkpPT57bS5leHBpcmVkQ291bnQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxnLHYpLGdYKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsYSkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW89aSgoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IGRpc3BsYXk6IGZsZXg7IGdhcDogMTZweDsgZmxleC13cmFwOiB3cmFwOyI+CiAgICAgIDxzei1jZXJ0aWZpY2F0ZXMtY2FyZCB2YWxpZENvdW50PSIyIj48L3N6LWNlcnRpZmljYXRlcy1jYXJkPgogICAgICA8c3otY2VydGlmaWNhdGVzLWNhcmQgdmFsaWRDb3VudD0iNSIgZXhwaXJpbmdDb3VudD0iMiI+PC9zei1jZXJ0aWZpY2F0ZXMtY2FyZD4KICAgICAgPHN6LWNlcnRpZmljYXRlcy1jYXJkIHZhbGlkQ291bnQ9IjAiIGV4cGlyZWRDb3VudD0iMSI+PC9zei1jZXJ0aWZpY2F0ZXMtY2FyZD4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT0kNih0aGlzLG8sMCk7Z2V0IHZhbGlkQ291bnQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsaWRDb3VudChiKXt0aGlzLiNlPWJ9I3Q9KCQ2KHRoaXMsbCksJDYodGhpcyx1LDApKTtnZXQgZXhwaXJpbmdDb3VudCgpe3JldHVybiB0aGlzLiN0fXNldCBleHBpcmluZ0NvdW50KGIpe3RoaXMuI3Q9Yn0jYT0oJDYodGhpcyxmKSwkNih0aGlzLGcsMCkpO2dldCBleHBpcmVkQ291bnQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZXhwaXJlZENvdW50KGIpe3RoaXMuI2E9Yn1zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1pbi13aWR0aDogMjAwcHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuY2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLnN0YXR1cyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuc3RhdHVzLWljb24gewogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1pY29uLnZhbGlkIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMyMmM1NWUiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWljb24ud2FybmluZyB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZmFjYzE1IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1pY29uLmVycm9yIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLXRleHQgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+Q2VydGlmaWNhdGVzPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+U1NML1RMUyBjZXJ0aWZpY2F0ZSBzdGF0dXM8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzLWxpc3QiPgogICAgICAgICAgJHt0aGlzLnZhbGlkQ291bnQ+MD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMiPgogICAgICAgICAgICAgIDxzdmcgY2xhc3M9InN0YXR1cy1pY29uIHZhbGlkIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMjAgNiA5IDE3IDQgMTIiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy10ZXh0Ij4ke3RoaXMudmFsaWRDb3VudH0gdmFsaWQ8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KCiAgICAgICAgICAke3RoaXMuZXhwaXJpbmdDb3VudD4wP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cyI+CiAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic3RhdHVzLWljb24gd2FybmluZyIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMC4yOSAzLjg2TDEuODIgMThhMiAyIDAgMCAwIDEuNzEgM2gxNi45NGEyIDIgMCAwIDAgMS43MS0zTDEzLjcxIDMuODZhMiAyIDAgMCAwLTMuNDIgMHoiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjkiIHgyPSIxMiIgeTI9IjEzIj48L2xpbmU+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIxNyIgeDI9IjEyLjAxIiB5Mj0iMTciPjwvbGluZT4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLXRleHQiPiR7dGhpcy5leHBpcmluZ0NvdW50fSBleHBpcmluZyBzb29uPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CgogICAgICAgICAgJHt0aGlzLmV4cGlyZWRDb3VudD4wP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cyI+CiAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ic3RhdHVzLWljb24gZXJyb3IiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTUiIHkxPSI5IiB4Mj0iOSIgeTI9IjE1Ij48L2xpbmU+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iOSIgeTE9IjkiIHgyPSIxNSIgeTI9IjE1Ij48L2xpbmU+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy10ZXh0Ij4ke3RoaXMuZXhwaXJlZENvdW50fSBleHBpcmVkPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CgogICAgICAgICAgJHt0aGlzLnZhbGlkQ291bnQ9PT0wJiZ0aGlzLmV4cGlyaW5nQ291bnQ9PT0wJiZ0aGlzLmV4cGlyZWRDb3VudD09PTA/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLXRleHQiPk5vIGNlcnRpZmljYXRlczwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLCQ2KHRoaXMsdil9c3RhdGljeyQ2KHIsYSl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBwcCxWcyxmeGEsekhlPWMoKCk9PntwZSgpO3BwPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxWcz1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sZnhhPSgoKT0+e2xldCB0PVthZSgic3otcmV2ZXJzZS1wcm94eS1jYXJkIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W107dmFyIEU9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6UmV2ZXJzZVByb3h5Q2FyZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6U3RyaW5nfSldLGg9W0woe3R5cGU6U3RyaW5nfSldLHA9W0woe3R5cGU6Qm9vbGVhbn0pXSx4PVtMKHt0eXBlOkJvb2xlYW59KV0seT1bTCh7dHlwZTpTdHJpbmd9KV0scHAodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJodHRwUG9ydCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4iaHR0cFBvcnQiaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy5odHRwUG9ydCwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLmh0dHBQb3J0PU59LCJzZXQiKX0sbWV0YWRhdGE6X30sbyxsKSxwcCh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imh0dHBzUG9ydCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4iaHR0cHNQb3J0ImluIEMsImhhcyIpLGdldDppKEM9PkMuaHR0cHNQb3J0LCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0MuaHR0cHNQb3J0PU59LCJzZXQiKX0sbWV0YWRhdGE6X30sdSxmKSxwcCh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imh0dHBBY3RpdmUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+Imh0dHBBY3RpdmUiaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy5odHRwQWN0aXZlLCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0MuaHR0cEFjdGl2ZT1OfSwic2V0Iil9LG1ldGFkYXRhOl99LGcsdikscHAodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJodHRwc0FjdGl2ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShDPT4iaHR0cHNBY3RpdmUiaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy5odHRwc0FjdGl2ZSwiZ2V0Iiksc2V0OmkoKEMsTik9PntDLmh0dHBzQWN0aXZlPU59LCJzZXQiKX0sbWV0YWRhdGE6X30sYixtKSxwcCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJvdXRlQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQz0+InJvdXRlQ291bnQiaW4gQywiaGFzIiksZ2V0OmkoQz0+Qy5yb3V0ZUNvdW50LCJnZXQiKSxzZXQ6aSgoQyxOKT0+e0Mucm91dGVDb3VudD1OfSwic2V0Iil9LG1ldGFkYXRhOl99LE0saykscHAobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCxhKSxFPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz1pKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA0MDBweDsiPgogICAgICA8c3otcmV2ZXJzZS1wcm94eS1jYXJkCiAgICAgICAgaHR0cFBvcnQ9IjgwODAiCiAgICAgICAgaHR0cHNQb3J0PSI4NDQzIgogICAgICAgIGh0dHBBY3RpdmUKICAgICAgICBodHRwc0FjdGl2ZQogICAgICAgIHJvdXRlQ291bnQ9IjMiCiAgICAgID48L3N6LXJldmVyc2UtcHJveHktY2FyZD4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT1Wcyh0aGlzLG8sIjgwIik7Z2V0IGh0dHBQb3J0KCl7cmV0dXJuIHRoaXMuI2V9c2V0IGh0dHBQb3J0KF8pe3RoaXMuI2U9X30jdD0oVnModGhpcyxsKSxWcyh0aGlzLHUsIjQ0MyIpKTtnZXQgaHR0cHNQb3J0KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGh0dHBzUG9ydChfKXt0aGlzLiN0PV99I2E9KFZzKHRoaXMsZiksVnModGhpcyxnLCExKSk7Z2V0IGh0dHBBY3RpdmUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgaHR0cEFjdGl2ZShfKXt0aGlzLiNhPV99I3I9KFZzKHRoaXMsdiksVnModGhpcyxiLCExKSk7Z2V0IGh0dHBzQWN0aXZlKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGh0dHBzQWN0aXZlKF8pe3RoaXMuI3I9X30jaT0oVnModGhpcyxtKSxWcyh0aGlzLE0sIjAiKSk7Z2V0IHJvdXRlQ291bnQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgcm91dGVDb3VudChfKXt0aGlzLiNpPV99c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuaXRlbXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgIH0KCiAgICAgIC5pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAuaXRlbS1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5pdGVtLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmJhZGdlLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZS5pbmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPlJldmVyc2UgUHJveHk8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj5IVFRQL0hUVFBTIHByb3h5IHN0YXR1czwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtcyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tbGFiZWwiPkhUVFAgKCR7dGhpcy5odHRwUG9ydH0pPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmFkZ2UgJHt0aGlzLmh0dHBBY3RpdmU/ImFjdGl2ZSI6ImluYWN0aXZlIn0iPgogICAgICAgICAgICAgICR7dGhpcy5odHRwQWN0aXZlPyJBY3RpdmUiOiJJbmFjdGl2ZSJ9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLWxhYmVsIj5IVFRQUyAoJHt0aGlzLmh0dHBzUG9ydH0pPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmFkZ2UgJHt0aGlzLmh0dHBzQWN0aXZlPyJhY3RpdmUiOiJpbmFjdGl2ZSJ9Ij4KICAgICAgICAgICAgICAke3RoaXMuaHR0cHNBY3RpdmU/IkFjdGl2ZSI6IkluYWN0aXZlIn0KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tbGFiZWwiPlJvdXRlczwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdmFsdWUiPiR7dGhpcy5yb3V0ZUNvdW50fTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFZzKHRoaXMsayl9c3RhdGlje1ZzKHIsYSl9fTtyZXR1cm4gRT1yfSkoKX0pO3ZhciBTSGUsT0IsaHhhLENIZT1jKCgpPT57cGUoKTtTSGU9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LE9CPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxoeGE9KCgpPT57bGV0IHQ9W2FlKCJzei1kbnMtc3NsLWNhcmQiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXTt2YXIgcD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiU3pEbnNTc2xDYXJkIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGc9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpCb29sZWFufSldLGg9W0woe3R5cGU6Qm9vbGVhbn0pXSxTSGUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkbnNDb25maWd1cmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHY9PiJkbnNDb25maWd1cmVkImluIHYsImhhcyIpLGdldDppKHY9PnYuZG5zQ29uZmlndXJlZCwiZ2V0Iiksc2V0OmkoKHYseCk9Pnt2LmRuc0NvbmZpZ3VyZWQ9eH0sInNldCIpfSxtZXRhZGF0YTpnfSxvLGwpLFNIZSh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjbWVDb25maWd1cmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHY9PiJhY21lQ29uZmlndXJlZCJpbiB2LCJoYXMiKSxnZXQ6aSh2PT52LmFjbWVDb25maWd1cmVkLCJnZXQiKSxzZXQ6aSgodix4KT0+e3YuYWNtZUNvbmZpZ3VyZWQ9eH0sInNldCIpfSxtZXRhZGF0YTpnfSx1LGYpLFNIZShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpnfSxudWxsLGEpLHA9cj1lLnZhbHVlLGcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Z30pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDQwMHB4OyI+CiAgICAgIDxzei1kbnMtc3NsLWNhcmQKICAgICAgICBkbnNDb25maWd1cmVkCiAgICAgICAgYWNtZUNvbmZpZ3VyZWQKICAgICAgPjwvc3otZG5zLXNzbC1jYXJkPgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiTmV0d29yayJdOyNlPU9CKHRoaXMsbywhMSk7Z2V0IGRuc0NvbmZpZ3VyZWQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZG5zQ29uZmlndXJlZChnKXt0aGlzLiNlPWd9I3Q9KE9CKHRoaXMsbCksT0IodGhpcyx1LCExKSk7Z2V0IGFjbWVDb25maWd1cmVkKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGFjbWVDb25maWd1cmVkKGcpe3RoaXMuI3Q9Z31zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5pdGVtcyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTBweDsKICAgICAgfQoKICAgICAgLml0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5pdGVtLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmJhZGdlLmNvbmZpZ3VyZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLm5vdC1jb25maWd1cmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+RE5TICYgU1NMPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+Q29uZmlndXJhdGlvbiBzdGF0dXM8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaXRlbXMiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLWxhYmVsIj5DbG91ZGZsYXJlIEROUzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7dGhpcy5kbnNDb25maWd1cmVkPyJjb25maWd1cmVkIjoibm90LWNvbmZpZ3VyZWQifSI+CiAgICAgICAgICAgICAgJHt0aGlzLmRuc0NvbmZpZ3VyZWQ/IkNvbmZpZ3VyZWQiOiJOb3QgY29uZmlndXJlZCJ9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLWxhYmVsIj5BQ01FIChMZXQncyBFbmNyeXB0KTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7dGhpcy5hY21lQ29uZmlndXJlZD8iY29uZmlndXJlZCI6Im5vdC1jb25maWd1cmVkIn0iPgogICAgICAgICAgICAgICR7dGhpcy5hY21lQ29uZmlndXJlZD8iQ29uZmlndXJlZCI6Ik5vdCBjb25maWd1cmVkIn0KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksT0IodGhpcyxmKX1zdGF0aWN7T0IocixhKX19O3JldHVybiBwPXJ9KSgpfSk7dmFyIGJhYSxfSGUsbXhhLFRIZT1jKCgpPT57cGUoKTtiYWE9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LF9IZT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sbXhhPSgoKT0+e2xldCB0PVthZSgic3otcXVpY2stYWN0aW9ucy1jYXJkIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W107dmFyIGg9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6UXVpY2tBY3Rpb25zQ2FyZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCB1PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6QXJyYXl9KV0sYmFhKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmPT4iYWN0aW9ucyJpbiBmLCJoYXMiKSxnZXQ6aShmPT5mLmFjdGlvbnMsImdldCIpLHNldDppKChmLHApPT57Zi5hY3Rpb25zPXB9LCJzZXQiKX0sbWV0YWRhdGE6dX0sbyxsKSxiYWEobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6dX0sbnVsbCxhKSxoPXI9ZS52YWx1ZSx1JiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnV9KX1zdGF0aWMgZGVtbz1pKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA4MDBweDsiPgogICAgICA8c3otcXVpY2stYWN0aW9ucy1jYXJkCiAgICAgICAgLmFjdGlvbnM9JHtbe2xhYmVsOiJEZXBsb3kgU2VydmljZSIsaWNvbjoicGx1cyIscHJpbWFyeTohMH0se2xhYmVsOiJWaWV3IEFsbCBTZXJ2aWNlcyJ9LHtsYWJlbDoiUGxhdGZvcm0gU2VydmljZXMifSx7bGFiZWw6Ik1hbmFnZSBEb21haW5zIn1dfQogICAgICA+PC9zei1xdWljay1hY3Rpb25zLWNhcmQ+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXNoYm9hcmQiXTsjZT1fSGUodGhpcyxvLFtdKTtnZXQgYWN0aW9ucygpe3JldHVybiB0aGlzLiNlfXNldCBhY3Rpb25zKHUpe3RoaXMuI2U9dX1zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiMzYjgyZjYiKX07CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5wcmltYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzFkNGVkOCIsIiMyNTYzZWIiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnNlY29uZGFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1pY29uIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPlF1aWNrIEFjdGlvbnM8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj5Db21tb24gdGFza3MgYW5kIHNob3J0Y3V0czwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj4KICAgICAgICAgICR7dGhpcy5hY3Rpb25zLm1hcCh1PT53YAogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJhY3Rpb24tYnV0dG9uICR7dS5wcmltYXJ5PyJwcmltYXJ5Ijoic2Vjb25kYXJ5In0iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBY3Rpb25DbGljayh1KX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke3UuaWNvbj09PSJwbHVzIj93YAogICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJhY3Rpb24taWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgICR7dS5sYWJlbH0KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVBY3Rpb25DbGljayh1KXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhY3Rpb24tY2xpY2siLHtkZXRhaWw6dSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxfSGUodGhpcyxsKX1zdGF0aWN7X0hlKHIsYSl9fTtyZXR1cm4gaD1yfSkoKX0pO3ZhciB2YWEsTEhlLGd4YSwkSGU9YygoKT0+e3BlKCk7ZHAoKTt2YWE9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LExIZT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sZ3hhPSgoKT0+e2xldCB0PVthZSgic3otc3RhdHVzLWdyaWQtY2x1c3RlciIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdO3ZhciBoPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJTelN0YXR1c0dyaWRDbHVzdGVyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IHU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpPYmplY3R9KV0sdmFhKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZj0+InN0YXRzImluIGYsImhhcyIpLGdldDppKGY9PmYuc3RhdHMsImdldCIpLHNldDppKChmLHApPT57Zi5zdGF0cz1wfSwic2V0Iil9LG1ldGFkYXRhOnV9LG8sbCksdmFhKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOnV9LG51bGwsYSksaD1yPWUudmFsdWUsdSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp1fSl9c3RhdGljIGRlbW89aSgoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogOTAwcHg7Ij4KICAgICAgPHN6LXN0YXR1cy1ncmlkLWNsdXN0ZXIKICAgICAgICAuc3RhdHM9JHt7dG90YWxTZXJ2aWNlczo3LHJ1bm5pbmc6NyxzdG9wcGVkOjAsZG9ja2VyU3RhdHVzOiJydW5uaW5nIn19CiAgICAgID48L3N6LXN0YXR1cy1ncmlkLWNsdXN0ZXI+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXNoYm9hcmQgR3JpZHMiXTsjZT1MSGUodGhpcyxvLHt0b3RhbFNlcnZpY2VzOjAscnVubmluZzowLHN0b3BwZWQ6MCxkb2NrZXJTdGF0dXM6InN0b3BwZWQifSk7Z2V0IHN0YXRzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHN0YXRzKHUpe3RoaXMuI2U9dX1zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLmdyaWQgPiAqIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7CiAgICAgICAgfQogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZ3JpZCI+CiAgICAgICAgPHN6LXN0YXQtY2FyZAogICAgICAgICAgbGFiZWw9IlRvdGFsIFNlcnZpY2VzIgogICAgICAgICAgdmFsdWU9IiR7dGhpcy5zdGF0cy50b3RhbFNlcnZpY2VzfSIKICAgICAgICAgIGljb249InNlcnZlciIKICAgICAgICA+PC9zei1zdGF0LWNhcmQ+CiAgICAgICAgPHN6LXN0YXQtY2FyZAogICAgICAgICAgbGFiZWw9IlJ1bm5pbmciCiAgICAgICAgICB2YWx1ZT0iJHt0aGlzLnN0YXRzLnJ1bm5pbmd9IgogICAgICAgICAgaWNvbj0iY2hlY2siCiAgICAgICAgICB2YXJpYW50PSJzdWNjZXNzIgogICAgICAgID48L3N6LXN0YXQtY2FyZD4KICAgICAgICA8c3otc3RhdC1jYXJkCiAgICAgICAgICBsYWJlbD0iU3RvcHBlZCIKICAgICAgICAgIHZhbHVlPSIke3RoaXMuc3RhdHMuc3RvcHBlZH0iCiAgICAgICAgICBpY29uPSJzdG9wIgogICAgICAgICAgdmFyaWFudD0iJHt0aGlzLnN0YXRzLnN0b3BwZWQ+MD8id2FybmluZyI6ImRlZmF1bHQifSIKICAgICAgICA+PC9zei1zdGF0LWNhcmQ+CiAgICAgICAgPHN6LXN0YXQtY2FyZAogICAgICAgICAgbGFiZWw9IkRvY2tlciIKICAgICAgICAgIHZhbHVlPSIke3RoaXMuc3RhdHMuZG9ja2VyU3RhdHVzPT09InJ1bm5pbmciPyJSdW5uaW5nIjoiU3RvcHBlZCJ9IgogICAgICAgICAgaWNvbj0iY29udGFpbmVyIgogICAgICAgICAgdmFyaWFudD0iJHt0aGlzLnN0YXRzLmRvY2tlclN0YXR1cz09PSJydW5uaW5nIj8ic3VjY2VzcyI6ImVycm9yIn0iCiAgICAgICAgICB2YWx1ZUJhZGdlCiAgICAgICAgPjwvc3otc3RhdC1jYXJkPgogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLExIZSh0aGlzLGwpfXN0YXRpY3tMSGUocixhKX19O3JldHVybiBoPXJ9KSgpfSk7dmFyIERIZSxCQixieGEsQUhlPWMoKCk9PntwZSgpO3ZIZSgpO01IZSgpO0RIZT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sQkI9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LGJ4YT0oKCk9PntsZXQgdD1bYWUoInN6LXN0YXR1cy1ncmlkLXNlcnZpY2VzIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W107dmFyIHA9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6U3RhdHVzR3JpZFNlcnZpY2VzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGc9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpPYmplY3R9KV0saD1bTCh7dHlwZTpBcnJheX0pXSxESGUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXNvdXJjZVVzYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHY9PiJyZXNvdXJjZVVzYWdlImluIHYsImhhcyIpLGdldDppKHY9PnYucmVzb3VyY2VVc2FnZSwiZ2V0Iiksc2V0OmkoKHYseCk9Pnt2LnJlc291cmNlVXNhZ2U9eH0sInNldCIpfSxtZXRhZGF0YTpnfSxvLGwpLERIZSh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYXRmb3JtU2VydmljZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+InBsYXRmb3JtU2VydmljZXMiaW4gdiwiaGFzIiksZ2V0Omkodj0+di5wbGF0Zm9ybVNlcnZpY2VzLCJnZXQiKSxzZXQ6aSgodix4KT0+e3YucGxhdGZvcm1TZXJ2aWNlcz14fSwic2V0Iil9LG1ldGFkYXRhOmd9LHUsZiksREhlKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmd9LG51bGwsYSkscD1yPWUudmFsdWUsZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpnfSl9c3RhdGljIGRlbW89aSgoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1zdGF0dXMtZ3JpZC1zZXJ2aWNlcwogICAgICAgIC5yZXNvdXJjZVVzYWdlPSR7e2NwdTo0NSxtZW1vcnlVc2VkOiI0Ljk2IEdCIixtZW1vcnlUb3RhbDoiOCBHQiIsbmV0d29ya0luOiIxLjIgTUIvcyIsbmV0d29ya091dDoiMC44IE1CL3MiLHRvcENvbnN1bWVyczpbe25hbWU6ImFwaS1zZXJ2aWNlIixtZW1vcnk6IjUxMiBNQiJ9LHtuYW1lOiJ3ZWItZnJvbnRlbmQiLG1lbW9yeToiMjU2IE1CIn0se25hbWU6IndvcmtlciIsbWVtb3J5OiIxMjggTUIifV19fQogICAgICAgIC5wbGF0Zm9ybVNlcnZpY2VzPSR7W3tuYW1lOiJNb25nb0RCIixzdGF0dXM6IjEgREIiLHJ1bm5pbmc6ITB9LHtuYW1lOiJTMyBTdG9yYWdlIixzdGF0dXM6IjEgYnVja2V0IixydW5uaW5nOiEwfSx7bmFtZToiQ2xpY2tIb3VzZSIsc3RhdHVzOiJTdG9wcGVkIixydW5uaW5nOiExfSx7bmFtZToiUmVkaXMgQ2FjaGUiLHN0YXR1czoiUnVubmluZyIscnVubmluZzohMH1dfQogICAgICA+PC9zei1zdGF0dXMtZ3JpZC1zZXJ2aWNlcz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhc2hib2FyZCBHcmlkcyJdOyNlPUJCKHRoaXMsbyx7Y3B1OjAsbWVtb3J5VXNlZDoiMCBHQiIsbWVtb3J5VG90YWw6IjAgR0IiLG5ldHdvcmtJbjoiMCBNQi9zIixuZXR3b3JrT3V0OiIwIE1CL3MiLHRvcENvbnN1bWVyczpbXX0pO2dldCByZXNvdXJjZVVzYWdlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJlc291cmNlVXNhZ2UoZyl7dGhpcy4jZT1nfSN0PShCQih0aGlzLGwpLEJCKHRoaXMsdSxbXSkpO2dldCBwbGF0Zm9ybVNlcnZpY2VzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBsYXRmb3JtU2VydmljZXMoZyl7dGhpcy4jdD1nfXN0YXRpYyBzdHlsZXM9W2QuZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLmdyaWQgPiAqIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJncmlkIj4KICAgICAgICA8c3otcmVzb3VyY2UtdXNhZ2UtY2FyZAogICAgICAgICAgLnVzYWdlPSR7dGhpcy5yZXNvdXJjZVVzYWdlfQogICAgICAgID48L3N6LXJlc291cmNlLXVzYWdlLWNhcmQ+CiAgICAgICAgPHN6LXBsYXRmb3JtLXNlcnZpY2VzLWNhcmQKICAgICAgICAgIC5zZXJ2aWNlcz0ke3RoaXMucGxhdGZvcm1TZXJ2aWNlc30KICAgICAgICA+PC9zei1wbGF0Zm9ybS1zZXJ2aWNlcy1jYXJkPgogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLEJCKHRoaXMsZil9c3RhdGlje0JCKHIsYSl9fTtyZXR1cm4gcD1yfSkoKX0pO3ZhciBiWCxENix2eGEsUEhlPWMoKCk9PntwZSgpO3lIZSgpO3pIZSgpO2tIZSgpO2JYPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxENj1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sdnhhPSgoKT0+e2xldCB0PVthZSgic3otc3RhdHVzLWdyaWQtbmV0d29yayIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJTelN0YXR1c0dyaWROZXR3b3JrIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpPYmplY3R9KV0saD1bTCh7dHlwZTpPYmplY3R9KV0scD1bTCh7dHlwZTpPYmplY3R9KV0sYlgodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0cmFmZmljIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJ0cmFmZmljImluIG0sImhhcyIpLGdldDppKG09Pm0udHJhZmZpYywiZ2V0Iiksc2V0OmkoKG0seSk9PnttLnRyYWZmaWM9eX0sInNldCIpfSxtZXRhZGF0YTpifSxvLGwpLGJYKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicHJveHkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkobT0+InByb3h5ImluIG0sImhhcyIpLGdldDppKG09Pm0ucHJveHksImdldCIpLHNldDppKChtLHkpPT57bS5wcm94eT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LHUsZiksYlgodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjZXJ0aWZpY2F0ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkobT0+ImNlcnRpZmljYXRlcyJpbiBtLCJoYXMiKSxnZXQ6aShtPT5tLmNlcnRpZmljYXRlcywiZ2V0Iiksc2V0OmkoKG0seSk9PnttLmNlcnRpZmljYXRlcz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGcsdiksYlgobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCxhKSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz1pKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxNDAwcHg7Ij4KICAgICAgPHN6LXN0YXR1cy1ncmlkLW5ldHdvcmsKICAgICAgICAudHJhZmZpYz0ke3tyZXF1ZXN0czoxMjU0MjAsZXJyb3JzOjE1MCxlcnJvclBlcmNlbnQ6LjEyLGF2Z1Jlc3BvbnNlOjQ1LHJlcVBlck1pbjo4NDcsc3RhdHVzMnh4Ojk1LjIsc3RhdHVzM3h4OjIuMSxzdGF0dXM0eHg6Mi4zLHN0YXR1czV4eDouNH19CiAgICAgICAgLnByb3h5PSR7e2h0dHBQb3J0OiI4MCIsaHR0cHNQb3J0OiI0NDMiLGh0dHBBY3RpdmU6ITAsaHR0cHNBY3RpdmU6ITAscm91dGVDb3VudDoiMTIifX0KICAgICAgICAuY2VydGlmaWNhdGVzPSR7e3ZhbGlkOjgsZXhwaXJpbmc6MixleHBpcmVkOjB9fQogICAgICA+PC9zei1zdGF0dXMtZ3JpZC1uZXR3b3JrPgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGFzaGJvYXJkIEdyaWRzIl07I2U9RDYodGhpcyxvLHtyZXF1ZXN0czowLGVycm9yczowLGVycm9yUGVyY2VudDowLGF2Z1Jlc3BvbnNlOjAscmVxUGVyTWluOjAsc3RhdHVzMnh4OjAsc3RhdHVzM3h4OjAsc3RhdHVzNHh4OjAsc3RhdHVzNXh4OjB9KTtnZXQgdHJhZmZpYygpe3JldHVybiB0aGlzLiNlfXNldCB0cmFmZmljKGIpe3RoaXMuI2U9Yn0jdD0oRDYodGhpcyxsKSxENih0aGlzLHUse2h0dHBQb3J0OiI4MCIsaHR0cHNQb3J0OiI0NDMiLGh0dHBBY3RpdmU6ITEsaHR0cHNBY3RpdmU6ITEscm91dGVDb3VudDoiMCJ9KSk7Z2V0IHByb3h5KCl7cmV0dXJuIHRoaXMuI3R9c2V0IHByb3h5KGIpe3RoaXMuI3Q9Yn0jYT0oRDYodGhpcyxmKSxENih0aGlzLGcse3ZhbGlkOjAsZXhwaXJpbmc6MCxleHBpcmVkOjB9KSk7Z2V0IGNlcnRpZmljYXRlcygpe3JldHVybiB0aGlzLiNhfXNldCBjZXJ0aWZpY2F0ZXMoYil7dGhpcy4jYT1ifXN0YXRpYyBzdHlsZXM9W2QuZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLmdyaWQgPiAqIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHsKICAgICAgICAuZ3JpZCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnIgMWZyOwogICAgICAgIH0KICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQiPgogICAgICAgIDxzei10cmFmZmljLWNhcmQKICAgICAgICAgIC5kYXRhPSR7dGhpcy50cmFmZmljfQogICAgICAgID48L3N6LXRyYWZmaWMtY2FyZD4KICAgICAgICA8c3otcmV2ZXJzZS1wcm94eS1jYXJkCiAgICAgICAgICBodHRwUG9ydD0iJHt0aGlzLnByb3h5Lmh0dHBQb3J0fSIKICAgICAgICAgIGh0dHBzUG9ydD0iJHt0aGlzLnByb3h5Lmh0dHBzUG9ydH0iCiAgICAgICAgICA/aHR0cEFjdGl2ZT0ke3RoaXMucHJveHkuaHR0cEFjdGl2ZX0KICAgICAgICAgID9odHRwc0FjdGl2ZT0ke3RoaXMucHJveHkuaHR0cHNBY3RpdmV9CiAgICAgICAgICByb3V0ZUNvdW50PSIke3RoaXMucHJveHkucm91dGVDb3VudH0iCiAgICAgICAgPjwvc3otcmV2ZXJzZS1wcm94eS1jYXJkPgogICAgICAgIDxzei1jZXJ0aWZpY2F0ZXMtY2FyZAogICAgICAgICAgdmFsaWQ9IiR7dGhpcy5jZXJ0aWZpY2F0ZXMudmFsaWR9IgogICAgICAgICAgZXhwaXJpbmc9IiR7dGhpcy5jZXJ0aWZpY2F0ZXMuZXhwaXJpbmd9IgogICAgICAgICAgZXhwaXJlZD0iJHt0aGlzLmNlcnRpZmljYXRlcy5leHBpcmVkfSIKICAgICAgICA+PC9zei1jZXJ0aWZpY2F0ZXMtY2FyZD4KICAgICAgPC9kaXY+CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxENih0aGlzLHYpfXN0YXRpY3tENihyLGEpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgdlgsQTYseHhhLEVIZT1jKCgpPT57cGUoKTtDSGUoKTtUSGUoKTt2WD1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sQTY9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LHh4YT0oKCk9PntsZXQgdD1bYWUoInN6LXN0YXR1cy1ncmlkLWluZnJhIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6U3RhdHVzR3JpZEluZnJhIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpCb29sZWFufSldLGg9W0woe3R5cGU6Qm9vbGVhbn0pXSxwPVtMKHt0eXBlOkFycmF5fSldLHZYKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZG5zQ29uZmlndXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtPT4iZG5zQ29uZmlndXJlZCJpbiBtLCJoYXMiKSxnZXQ6aShtPT5tLmRuc0NvbmZpZ3VyZWQsImdldCIpLHNldDppKChtLHkpPT57bS5kbnNDb25maWd1cmVkPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbyxsKSx2WCh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjbWVDb25maWd1cmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJhY21lQ29uZmlndXJlZCJpbiBtLCJoYXMiKSxnZXQ6aShtPT5tLmFjbWVDb25maWd1cmVkLCJnZXQiKSxzZXQ6aSgobSx5KT0+e20uYWNtZUNvbmZpZ3VyZWQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSx1LGYpLHZYKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtPT4iYWN0aW9ucyJpbiBtLCJoYXMiKSxnZXQ6aShtPT5tLmFjdGlvbnMsImdldCIpLHNldDppKChtLHkpPT57bS5hY3Rpb25zPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sZyx2KSx2WChudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLGEpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEyMDBweDsiPgogICAgICA8c3otc3RhdHVzLWdyaWQtaW5mcmEKICAgICAgICBkbnNDb25maWd1cmVkCiAgICAgICAgYWNtZUNvbmZpZ3VyZWQKICAgICAgICAuYWN0aW9ucz0ke1t7bGFiZWw6IkRlcGxveSBTZXJ2aWNlIixpY29uOiJwbHVzIixwcmltYXJ5OiEwfSx7bGFiZWw6IlZpZXcgQWxsIFNlcnZpY2VzIn0se2xhYmVsOiJQbGF0Zm9ybSBTZXJ2aWNlcyJ9LHtsYWJlbDoiTWFuYWdlIERvbWFpbnMifV19CiAgICAgID48L3N6LXN0YXR1cy1ncmlkLWluZnJhPgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGFzaGJvYXJkIEdyaWRzIl07I2U9QTYodGhpcyxvLCExKTtnZXQgZG5zQ29uZmlndXJlZCgpe3JldHVybiB0aGlzLiNlfXNldCBkbnNDb25maWd1cmVkKGIpe3RoaXMuI2U9Yn0jdD0oQTYodGhpcyxsKSxBNih0aGlzLHUsITEpKTtnZXQgYWNtZUNvbmZpZ3VyZWQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYWNtZUNvbmZpZ3VyZWQoYil7dGhpcy4jdD1ifSNhPShBNih0aGlzLGYpLEE2KHRoaXMsZyxbXSkpO2dldCBhY3Rpb25zKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGFjdGlvbnMoYil7dGhpcy4jYT1ifXN0YXRpYyBzdHlsZXM9W2QuZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLmdyaWQgPiAqIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDJmcjsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJncmlkIj4KICAgICAgICA8c3otZG5zLXNzbC1jYXJkCiAgICAgICAgICA/ZG5zQ29uZmlndXJlZD0ke3RoaXMuZG5zQ29uZmlndXJlZH0KICAgICAgICAgID9hY21lQ29uZmlndXJlZD0ke3RoaXMuYWNtZUNvbmZpZ3VyZWR9CiAgICAgICAgPjwvc3otZG5zLXNzbC1jYXJkPgogICAgICAgIDxzei1xdWljay1hY3Rpb25zLWNhcmQKICAgICAgICAgIC5hY3Rpb25zPSR7dGhpcy5hY3Rpb25zfQogICAgICAgICAgQGFjdGlvbi1jbGljaz0ke2I9PnRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFjdGlvbi1jbGljayIse2RldGFpbDpiLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfQogICAgICAgID48L3N6LXF1aWNrLWFjdGlvbnMtY2FyZD4KICAgICAgPC9kaXY+CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxBNih0aGlzLHYpfXN0YXRpY3tBNihyLGEpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgeGFhLElIZSx5eGEseWFhPWMoKCk9PntwZSgpOyRIZSgpO0FIZSgpO1BIZSgpO0VIZSgpO3hhYT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sSUhlPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSx5eGE9KCgpPT57bGV0IHQ9W2FlKCJzei1kYXNoYm9hcmQtdmlldyIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdO3ZhciBoPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJTekRhc2hib2FyZFZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgdT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk9iamVjdH0pXSx4YWEodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGY9PiJkYXRhImluIGYsImhhcyIpLGdldDppKGY9PmYuZGF0YSwiZ2V0Iiksc2V0OmkoKGYscCk9PntmLmRhdGE9cH0sInNldCIpfSxtZXRhZGF0YTp1fSxvLGwpLHhhYShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTp1fSxudWxsLGEpLGg9cj1lLnZhbHVlLHUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dX0pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDE0MDBweDsiPgogICAgICA8c3otZGFzaGJvYXJkLXZpZXcKICAgICAgICAuZGF0YT0ke3tjbHVzdGVyOnt0b3RhbFNlcnZpY2VzOjcscnVubmluZzo3LHN0b3BwZWQ6MCxkb2NrZXJTdGF0dXM6InJ1bm5pbmcifSxyZXNvdXJjZVVzYWdlOntjcHU6LjUsbWVtb3J5VXNlZDoiMTkxIE1CIixtZW1vcnlUb3RhbDoiNDI5LjIgR0IiLG5ldHdvcmtJbjoiMzguOSBLQi9zIixuZXR3b3JrT3V0OiIxLjcgS0IvcyIsdG9wQ29uc3VtZXJzOlt7bmFtZToidGVzdC1uZ2lueCIsbWVtb3J5OiIzMi4xIE1CIn0se25hbWU6InRlc3QtdjIiLG1lbW9yeToiMzEuNyBNQiJ9XX0scGxhdGZvcm1TZXJ2aWNlczpbe25hbWU6Ik1vbmdvREIiLHN0YXR1czoiMSBEQiIscnVubmluZzohMH0se25hbWU6IlMzIFN0b3JhZ2UgKE1pbklPKSIsc3RhdHVzOiIxIGJ1Y2tldCIscnVubmluZzohMH0se25hbWU6IkNhZGR5IFJldmVyc2UgUHJveHkiLHN0YXR1czoiUnVubmluZyIscnVubmluZzohMH0se25hbWU6IkNsaWNrSG91c2UiLHN0YXR1czoiMSBEQiIscnVubmluZzohMH1dLHRyYWZmaWM6e3JlcXVlc3RzOjEyNTAsZXJyb3JzOjE1LGVycm9yUGVyY2VudDoxLjIsYXZnUmVzcG9uc2U6MTQ1LHJlcVBlck1pbjoyMSxzdGF0dXMyeHg6ODUsc3RhdHVzM3h4OjUsc3RhdHVzNHh4Ojgsc3RhdHVzNXh4OjJ9LHByb3h5OntodHRwUG9ydDoiODAiLGh0dHBzUG9ydDoiNDQzIixodHRwQWN0aXZlOiEwLGh0dHBzQWN0aXZlOiEwLHJvdXRlQ291bnQ6IjEyIn0sY2VydGlmaWNhdGVzOnt2YWxpZDo4LGV4cGlyaW5nOjIsZXhwaXJlZDowfSxkbnNDb25maWd1cmVkOiEwLGFjbWVDb25maWd1cmVkOiEwLHF1aWNrQWN0aW9uczpbe2xhYmVsOiJEZXBsb3kgU2VydmljZSIsaWNvbjoicGx1cyIscHJpbWFyeTohMH0se2xhYmVsOiJWaWV3IEFsbCBTZXJ2aWNlcyJ9LHtsYWJlbDoiUGxhdGZvcm0gU2VydmljZXMifSx7bGFiZWw6Ik1hbmFnZSBEb21haW5zIn1dfX0KICAgICAgPjwvc3otZGFzaGJvYXJkLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXNoYm9hcmQiXTsjZT1JSGUodGhpcyxvLHtjbHVzdGVyOnt0b3RhbFNlcnZpY2VzOjAscnVubmluZzowLHN0b3BwZWQ6MCxkb2NrZXJTdGF0dXM6InN0b3BwZWQifSxyZXNvdXJjZVVzYWdlOntjcHU6MCxtZW1vcnlVc2VkOiIwIE1CIixtZW1vcnlUb3RhbDoiMCBHQiIsbmV0d29ya0luOiIwIEtCL3MiLG5ldHdvcmtPdXQ6IjAgS0IvcyIsdG9wQ29uc3VtZXJzOltdfSxwbGF0Zm9ybVNlcnZpY2VzOltdLHRyYWZmaWM6e3JlcXVlc3RzOjAsZXJyb3JzOjAsZXJyb3JQZXJjZW50OjAsYXZnUmVzcG9uc2U6MCxyZXFQZXJNaW46MCxzdGF0dXMyeHg6MCxzdGF0dXMzeHg6MCxzdGF0dXM0eHg6MCxzdGF0dXM1eHg6MH0scHJveHk6e2h0dHBQb3J0OiI4MCIsaHR0cHNQb3J0OiI0NDMiLGh0dHBBY3RpdmU6ITEsaHR0cHNBY3RpdmU6ITEscm91dGVDb3VudDoiMCJ9LGNlcnRpZmljYXRlczp7dmFsaWQ6MCxleHBpcmluZzowLGV4cGlyZWQ6MH0sZG5zQ29uZmlndXJlZDohMSxhY21lQ29uZmlndXJlZDohMSxxdWlja0FjdGlvbnM6W119KTtnZXQgZGF0YSgpe3JldHVybiB0aGlzLiNlfXNldCBkYXRhKHUpe3RoaXMuI2U9dX1zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuZGFzaGJvYXJkIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICB9CgogICAgICAuc2VjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGFzaGJvYXJkIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkNsdXN0ZXIgT3ZlcnZpZXc8L2gyPgogICAgICAgICAgPHN6LXN0YXR1cy1ncmlkLWNsdXN0ZXIKICAgICAgICAgICAgLnN0YXRzPSR7dGhpcy5kYXRhLmNsdXN0ZXJ9CiAgICAgICAgICA+PC9zei1zdGF0dXMtZ3JpZC1jbHVzdGVyPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TZXJ2aWNlcyAmIFJlc291cmNlczwvaDI+CiAgICAgICAgICA8c3otc3RhdHVzLWdyaWQtc2VydmljZXMKICAgICAgICAgICAgLnJlc291cmNlVXNhZ2U9JHt0aGlzLmRhdGEucmVzb3VyY2VVc2FnZX0KICAgICAgICAgICAgLnBsYXRmb3JtU2VydmljZXM9JHt0aGlzLmRhdGEucGxhdGZvcm1TZXJ2aWNlc30KICAgICAgICAgID48L3N6LXN0YXR1cy1ncmlkLXNlcnZpY2VzPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5OZXR3b3JrICYgVHJhZmZpYzwvaDI+CiAgICAgICAgICA8c3otc3RhdHVzLWdyaWQtbmV0d29yawogICAgICAgICAgICAudHJhZmZpYz0ke3RoaXMuZGF0YS50cmFmZmljfQogICAgICAgICAgICAucHJveHk9JHt0aGlzLmRhdGEucHJveHl9CiAgICAgICAgICAgIC5jZXJ0aWZpY2F0ZXM9JHt0aGlzLmRhdGEuY2VydGlmaWNhdGVzfQogICAgICAgICAgPjwvc3otc3RhdHVzLWdyaWQtbmV0d29yaz4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+SW5mcmFzdHJ1Y3R1cmU8L2gyPgogICAgICAgICAgPHN6LXN0YXR1cy1ncmlkLWluZnJhCiAgICAgICAgICAgID9kbnNDb25maWd1cmVkPSR7dGhpcy5kYXRhLmRuc0NvbmZpZ3VyZWR9CiAgICAgICAgICAgID9hY21lQ29uZmlndXJlZD0ke3RoaXMuZGF0YS5hY21lQ29uZmlndXJlZH0KICAgICAgICAgICAgLmFjdGlvbnM9JHt0aGlzLmRhdGEucXVpY2tBY3Rpb25zfQogICAgICAgICAgICBAYWN0aW9uLWNsaWNrPSR7dT0+dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYWN0aW9uLWNsaWNrIix7ZGV0YWlsOnUuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9CiAgICAgICAgICA+PC9zei1zdGF0dXMtZ3JpZC1pbmZyYT4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgIDwvZGl2PgogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksSUhlKHRoaXMsbCl9c3RhdGlje0lIZShyLGEpfX07cmV0dXJuIGg9cn0pKCl9KTt2YXIga2wsWXIsd3hhLHdhYT1jKCgpPT57cGUoKTtkcCgpO2tsPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxZcj1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sd3hhPSgoKT0+e2xldCB0PVthZSgic3otbmV0d29yay1wcm94eS12aWV3IildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W10seSxNPVtdLGs9W10sRSxfPVtdLEM9W10sTiwkPVtdLEk9W107dmFyIGo9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6TmV0d29ya1Byb3h5VmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBTPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6U3RyaW5nfSldLGg9W0woe3R5cGU6U3RyaW5nfSldLHA9W0woe3R5cGU6U3RyaW5nfSldLHg9W0woe3R5cGU6U3RyaW5nfSldLHk9W0woe3R5cGU6QXJyYXl9KV0sRT1bTCh7dHlwZTpBcnJheX0pXSxOPVtMKHt0eXBlOkJvb2xlYW59KV0sa2wodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwcm94eVN0YXR1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4icHJveHlTdGF0dXMiaW4geiwiaGFzIiksZ2V0Omkoej0+ei5wcm94eVN0YXR1cywiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LnByb3h5U3RhdHVzPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sbyxsKSxrbCh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJvdXRlQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+InJvdXRlQ291bnQiaW4geiwiaGFzIiksZ2V0Omkoej0+ei5yb3V0ZUNvdW50LCJnZXQiKSxzZXQ6aSgoeixEKT0+e3oucm91dGVDb3VudD1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LHUsZiksa2wodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjZXJ0aWZpY2F0ZUNvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJjZXJ0aWZpY2F0ZUNvdW50ImluIHosImhhcyIpLGdldDppKHo9PnouY2VydGlmaWNhdGVDb3VudCwiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LmNlcnRpZmljYXRlQ291bnQ9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxnLHYpLGtsKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFyZ2V0Q291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoej0+InRhcmdldENvdW50ImluIHosImhhcyIpLGdldDppKHo9PnoudGFyZ2V0Q291bnQsImdldCIpLHNldDppKCh6LEQpPT57ei50YXJnZXRDb3VudD1EfSwic2V0Iil9LG1ldGFkYXRhOlN9LGIsbSksa2wodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YXJnZXRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHo9PiJ0YXJnZXRzImluIHosImhhcyIpLGdldDppKHo9PnoudGFyZ2V0cywiZ2V0Iiksc2V0OmkoKHosRCk9Pnt6LnRhcmdldHM9RH0sInNldCIpfSxtZXRhZGF0YTpTfSxNLGspLGtsKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9ncyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4ibG9ncyJpbiB6LCJoYXMiKSxnZXQ6aSh6PT56LmxvZ3MsImdldCIpLHNldDppKCh6LEQpPT57ei5sb2dzPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sXyxDKSxrbCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0cmVhbWluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh6PT4ic3RyZWFtaW5nImluIHosImhhcyIpLGdldDppKHo9Pnouc3RyZWFtaW5nLCJnZXQiKSxzZXQ6aSgoeixEKT0+e3ouc3RyZWFtaW5nPUR9LCJzZXQiKX0sbWV0YWRhdGE6U30sJCxJKSxrbChudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpTfSxudWxsLGEpLGo9cj1lLnZhbHVlLFMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6U30pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDE0MDBweDsiPgogICAgICA8c3otbmV0d29yay1wcm94eS12aWV3CiAgICAgICAgcHJveHlTdGF0dXM9InJ1bm5pbmciCiAgICAgICAgcm91dGVDb3VudD0iMyIKICAgICAgICBjZXJ0aWZpY2F0ZUNvdW50PSIyIgogICAgICAgIHRhcmdldENvdW50PSIxMSIKICAgICAgICAudGFyZ2V0cz0ke1t7dHlwZToic2VydmljZSIsbmFtZToidGVzdC1uZ2lueCIsZG9tYWluOiJhcHAuYmxldS5kZSIsdGFyZ2V0OiJsb2NhbGhvc3Q6ODA4MCIsc3RhdHVzOiJydW5uaW5nIn0se3R5cGU6InNlcnZpY2UiLG5hbWU6ImhlbGxvLXdvcmxkIixkb21haW46ImhlbGxvLnRhc2sudmMiLHRhcmdldDoibG9jYWxob3N0OjgwODEiLHN0YXR1czoicnVubmluZyJ9LHt0eXBlOiJyZWdpc3RyeSIsbmFtZToib25lYm94LXJlZ2lzdHJ5Iixkb21haW46bnVsbCx0YXJnZXQ6ImxvY2FsaG9zdDo0MDAwIixzdGF0dXM6InJ1bm5pbmcifSx7dHlwZToicGxhdGZvcm0iLG5hbWU6Ik1vbmdvREIiLGRvbWFpbjpudWxsLHRhcmdldDoibG9jYWxob3N0OjI3MDE3IixzdGF0dXM6InJ1bm5pbmcifSx7dHlwZToicGxhdGZvcm0iLG5hbWU6IkNsaWNrSG91c2UiLGRvbWFpbjpudWxsLHRhcmdldDoibG9jYWxob3N0OjgxMjMiLHN0YXR1czoicnVubmluZyJ9XX0KICAgICAgICAubG9ncz0ke1t7dGltZXN0YW1wOiIyMDI0LTAxLTAyIDEwOjE1OjMyIixtZXRob2Q6IkdFVCIscGF0aDoiL2FwaS9zZXJ2aWNlcyIsc3RhdHVzOjIwMCxkdXJhdGlvbjo0NSxpcDoiMTkyLjE2OC4xLjEwMCJ9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMDIgMTA6MTU6MzAiLG1ldGhvZDoiUE9TVCIscGF0aDoiL2FwaS9hdXRoL2xvZ2luIixzdGF0dXM6MjAwLGR1cmF0aW9uOjEyMCxpcDoiMTkyLjE2OC4xLjEwMSJ9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMDIgMTA6MTU6MjgiLG1ldGhvZDoiR0VUIixwYXRoOiIvc3RhdGljL2J1bmRsZS5qcyIsc3RhdHVzOjMwNCxkdXJhdGlvbjo1LGlwOiIxOTIuMTY4LjEuMTAwIn1dfQogICAgICA+PC9zei1uZXR3b3JrLXByb3h5LXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJOZXR3b3JrIl07I2U9WXIodGhpcyxvLCJzdG9wcGVkIik7Z2V0IHByb3h5U3RhdHVzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHByb3h5U3RhdHVzKFMpe3RoaXMuI2U9U30jdD0oWXIodGhpcyxsKSxZcih0aGlzLHUsIjAiKSk7Z2V0IHJvdXRlQ291bnQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcm91dGVDb3VudChTKXt0aGlzLiN0PVN9I2E9KFlyKHRoaXMsZiksWXIodGhpcyxnLCIwIikpO2dldCBjZXJ0aWZpY2F0ZUNvdW50KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGNlcnRpZmljYXRlQ291bnQoUyl7dGhpcy4jYT1TfSNyPShZcih0aGlzLHYpLFlyKHRoaXMsYiwiMCIpKTtnZXQgdGFyZ2V0Q291bnQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdGFyZ2V0Q291bnQoUyl7dGhpcy4jcj1TfSNpPShZcih0aGlzLG0pLFlyKHRoaXMsTSxbXSkpO2dldCB0YXJnZXRzKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHRhcmdldHMoUyl7dGhpcy4jaT1TfSNzPShZcih0aGlzLGspLFlyKHRoaXMsXyxbXSkpO2dldCBsb2dzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGxvZ3MoUyl7dGhpcy4jcz1TfSNvPShZcih0aGlzLEMpLFlyKHRoaXMsJCwhMSkpO2dldCBzdHJlYW1pbmcoKXtyZXR1cm4gdGhpcy4jb31zZXQgc3RyZWFtaW5nKFMpe3RoaXMuI289U31zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5yZWZyZXNoLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnJlZnJlc2gtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0cy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgIC5zdGF0cy1ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7CiAgICAgICAgfQogICAgICB9CgogICAgICAuc2VjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC50YWJsZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA4MHB4IDEuNWZyIDEuNWZyIDEuNWZyIDgwcHg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDgwcHggMS41ZnIgMS41ZnIgMS41ZnIgODBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAudGFibGUtcm93OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC50eXBlLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgIH0KCiAgICAgIC50eXBlLWJhZGdlLnNlcnZpY2UgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLnR5cGUtYmFkZ2UucmVnaXN0cnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjNlOGZmIiwicmdiYSgxNjgsIDg1LCAyNDcsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjOTMzM2VhIiwiI2E4NTVmNyIpfTsKICAgICAgfQoKICAgICAgLnR5cGUtYmFkZ2UucGxhdGZvcm0gewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmVmM2M3IiwicmdiYSgyNDUsIDE1OCwgMTEsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZDk3NzA2IiwiI2Y1OWUwYiIpfTsKICAgICAgfQoKICAgICAgLnRhcmdldC12YWx1ZSB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnJ1bm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnN0b3BwZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAubG9ncy1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAubG9ncy1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuc3RyZWFtLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiMzYjgyZjYiKX07CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuc3RyZWFtLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMxZDRlZDgiLCIjMjU2M2ViIil9OwogICAgICB9CgogICAgICAuc3RyZWFtLWJ1dHRvbi5zdHJlYW1pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0cmVhbS1idXR0b24uc3RyZWFtaW5nOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2I5MWMxYyIsIiNkYzI2MjYiKX07CiAgICAgIH0KCiAgICAgIC5jbGVhci1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuY2xlYXItYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5sb2dzLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBtYXgtaGVpZ2h0OiAzMDBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgfQoKICAgICAgLmxvZy1lbnRyeSB7CiAgICAgICAgcGFkZGluZzogNHB4IDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmxvZy10aW1lc3RhbXAgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5sb2ctbWV0aG9kIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5sb2ctc3RhdHVzLTJ4eCB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmxvZy1zdGF0dXMtM3h4IHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAubG9nLXN0YXR1cy00eHggewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5sb2ctc3RhdHVzLTV4eCB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LWxvZ3MgewogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJyZWZyZXNoLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlUmVmcmVzaCgpfT5SZWZyZXNoPC9idXR0b24+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0ic3RhdHMtZ3JpZCI+CiAgICAgICAgPHN6LXN0YXQtY2FyZAogICAgICAgICAgbGFiZWw9IlByb3h5IFN0YXR1cyIKICAgICAgICAgIHZhbHVlPSIke3RoaXMucHJveHlTdGF0dXM9PT0icnVubmluZyI/IlJ1bm5pbmciOiJTdG9wcGVkIn0iCiAgICAgICAgICBpY29uPSJzZXJ2ZXIiCiAgICAgICAgICB2YXJpYW50PSIke3RoaXMucHJveHlTdGF0dXM9PT0icnVubmluZyI/InN1Y2Nlc3MiOiJlcnJvciJ9IgogICAgICAgICAgdmFsdWVCYWRnZQogICAgICAgID48L3N6LXN0YXQtY2FyZD4KICAgICAgICA8c3otc3RhdC1jYXJkCiAgICAgICAgICBsYWJlbD0iUm91dGVzIgogICAgICAgICAgdmFsdWU9IiR7dGhpcy5yb3V0ZUNvdW50fSIKICAgICAgICAgIGljb249InNlcnZlciIKICAgICAgICA+PC9zei1zdGF0LWNhcmQ+CiAgICAgICAgPHN6LXN0YXQtY2FyZAogICAgICAgICAgbGFiZWw9IkNlcnRpZmljYXRlcyIKICAgICAgICAgIHZhbHVlPSIke3RoaXMuY2VydGlmaWNhdGVDb3VudH0iCiAgICAgICAgICBpY29uPSJjaGVjayIKICAgICAgICA+PC9zei1zdGF0LWNhcmQ+CiAgICAgICAgPHN6LXN0YXQtY2FyZAogICAgICAgICAgbGFiZWw9IlRhcmdldHMiCiAgICAgICAgICB2YWx1ZT0iJHt0aGlzLnRhcmdldENvdW50fSIKICAgICAgICAgIGljb249InNlcnZlciIKICAgICAgICA+PC9zei1zdGF0LWNhcmQ+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+VHJhZmZpYyBUYXJnZXRzPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5TZXJ2aWNlcywgcmVnaXN0cnksIGFuZCBwbGF0Zm9ybSBzZXJ2aWNlcyB3aXRoIHRoZWlyIHJvdXRpbmcgaW5mbzwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciI+CiAgICAgICAgICA8c3Bhbj5UeXBlPC9zcGFuPgogICAgICAgICAgPHNwYW4+TmFtZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkRvbWFpbjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlRhcmdldDwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlN0YXR1czwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMudGFyZ2V0cy5tYXAoUz0+d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJvdyIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlVGFyZ2V0Q2xpY2soUyl9PgogICAgICAgICAgICA8c3Bhbj48c3BhbiBjbGFzcz0idHlwZS1iYWRnZSAke1MudHlwZX0iPiR7Uy50eXBlfTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPiR7Uy5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+JHtTLmRvbWFpbnx8Ii0ifTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhcmdldC12YWx1ZSI+JHtTLnRhcmdldH08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPjxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHtTLnN0YXR1c30iPiR7Uy5zdGF0dXN9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGApfQogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9ImxvZ3MtaGVhZGVyIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkFjY2VzcyBMb2dzPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPlJlYWwtdGltZSBDYWRkeSBhY2Nlc3MgbG9nczwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dzLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJzdHJlYW0tYnV0dG9uICR7dGhpcy5zdHJlYW1pbmc/InN0cmVhbWluZyI6IiJ9IiBAY2xpY2s9JHsoKT0+dGhpcy50b2dnbGVTdHJlYW1pbmcoKX0+CiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICAgICR7dGhpcy5zdHJlYW1pbmc/d2A8cmVjdCB4PSI2IiB5PSI2IiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHJ4PSIxIi8+YDp3YDxwb2x5Z29uIHBvaW50cz0iNSwzIDE5LDEyIDUsMjEiLz5gfQogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICR7dGhpcy5zdHJlYW1pbmc/IlN0b3AiOiJTdHJlYW0ifQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY2xlYXItYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDbGVhckxvZ3MoKX0+CiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIzLDYgNSw2IDIxLDYiLz48cGF0aCBkPSJNMTksNnYxNGEyLDIsMCwwLDEtMiwySDdhMiwyLDAsMCwxLTItMlY2bTMsMFY0YTIsMiwwLDAsMSwyLTJoNGEyLDIsMCwwLDEsMiwydjIiLz4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBDbGVhciBsb2dzCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9ncy1jb250YWluZXIiPgogICAgICAgICAgJHt0aGlzLmxvZ3MubGVuZ3RoPjA/dGhpcy5sb2dzLm1hcChTPT53YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2ctZW50cnkiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsb2ctdGltZXN0YW1wIj4ke1MudGltZXN0YW1wfTwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibG9nLW1ldGhvZCI+JHtTLm1ldGhvZH08L3NwYW4+CiAgICAgICAgICAgICAgJHtTLnBhdGh9CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9IiR7dGhpcy5nZXRTdGF0dXNDbGFzcyhTLnN0YXR1cyl9Ij4ke1Muc3RhdHVzfTwvc3Bhbj4KICAgICAgICAgICAgICAke1MuZHVyYXRpb259bXMKICAgICAgICAgICAgICAke1MuaXB9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCk6d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktbG9ncyI+Q2xpY2sgIlN0cmVhbSIgdG8gc3RhcnQgbGl2ZSBhY2Nlc3MgbG9nIHN0cmVhbWluZzwvZGl2PgogICAgICAgICAgYH0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWdldFN0YXR1c0NsYXNzKFMpe3JldHVybiBTPj01MDA/ImxvZy1zdGF0dXMtNXh4IjpTPj00MDA/ImxvZy1zdGF0dXMtNHh4IjpTPj0zMDA/ImxvZy1zdGF0dXMtM3h4IjoibG9nLXN0YXR1cy0yeHgifWhhbmRsZVJlZnJlc2goKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZWZyZXNoIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVUYXJnZXRDbGljayhTKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YXJnZXQtY2xpY2siLHtkZXRhaWw6UyxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfXRvZ2dsZVN0cmVhbWluZygpe3RoaXMuc3RyZWFtaW5nPSF0aGlzLnN0cmVhbWluZyx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzdHJlYW0tdG9nZ2xlIix7ZGV0YWlsOntzdHJlYW1pbmc6dGhpcy5zdHJlYW1pbmd9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ2xlYXJMb2dzKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2xlYXItbG9ncyIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFlyKHRoaXMsSSl9c3RhdGlje1lyKHIsYSl9fTtyZXR1cm4gaj1yfSkoKX0pO3ZhciBNYWEsTkhlLE14YSxrYWE9YygoKT0+e3BlKCk7TWFhPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxOSGU9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LE14YT0oKCk9PntsZXQgdD1bYWUoInN6LW5ldHdvcmstZG5zLXZpZXciKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXTt2YXIgaD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiU3pOZXR3b3JrRG5zVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCB1PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6QXJyYXl9KV0sTWFhKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVjb3JkcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmPT4icmVjb3JkcyJpbiBmLCJoYXMiKSxnZXQ6aShmPT5mLnJlY29yZHMsImdldCIpLHNldDppKChmLHApPT57Zi5yZWNvcmRzPXB9LCJzZXQiKX0sbWV0YWRhdGE6dX0sbyxsKSxNYWEobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6dX0sbnVsbCxhKSxoPXI9ZS52YWx1ZSx1JiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnV9KX1zdGF0aWMgZGVtbz1pKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMDAwcHg7Ij4KICAgICAgPHN6LW5ldHdvcmstZG5zLXZpZXcKICAgICAgICAucmVjb3Jkcz0ke1t7ZG9tYWluOiJwci50YXNrLnZjIix0eXBlOiJBIix2YWx1ZToiMTk1LjIwMS45OC4yMzIifSx7ZG9tYWluOiJvdXRsaW5lLnRhc2sudmMiLHR5cGU6IkEiLHZhbHVlOiIxOTUuMjAxLjk4LjIzMiJ9LHtkb21haW46Im5zMS50YXNrLnZjIix0eXBlOiJBIix2YWx1ZToiMjEyLjk1Ljk5LjEzMCJ9LHtkb21haW46ImJsZXUuZGUiLHR5cGU6IkEiLHZhbHVlOiIyMTIuOTUuOTkuMTMwIn0se2RvbWFpbjoibWFpbC5ibGV1LmRlIix0eXBlOiJNWCIsdmFsdWU6IjEwIG1haWwuYmxldS5kZSJ9XX0KICAgICAgPjwvc3otbmV0d29yay1kbnMtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT1OSGUodGhpcyxvLFtdKTtnZXQgcmVjb3Jkcygpe3JldHVybiB0aGlzLiNlfXNldCByZWNvcmRzKHUpe3RoaXMuI2U9dX1zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5kZXNjcmlwdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5zeW5jLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnN5bmMtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgIH0KCiAgICAgIC50YWJsZS1jb250YWluZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC50YWJsZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgODBweCAyZnIgMTAwcHg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciA4MHB4IDJmciAxMDBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudGFibGUtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLmRvbWFpbiB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnR5cGUtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAudmFsdWUgewogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmRlbGV0ZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4zKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuZGVsZXRlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRlc2NyaXB0aW9uIj5NYW5hZ2UgRE5TIHJlY29yZHMgc3luY2VkIHdpdGggQ2xvdWRmbGFyZTwvc3Bhbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJzeW5jLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlU3luYygpfT4KICAgICAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMCAxLTkgOW05LTlhOSA5IDAgMCAwLTktOW05IDlIM205IDlhOSA5IDAgMCAxLTktOW05IDljMS42NiAwIDMtNC4wMyAzLTlzLTEuMzQtOS0zLTltMCAxOGMtMS42NiAwLTMtNC4wMy0zLTlzMS4zNC05IDMtOSIvPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBTeW5jIENsb3VkZmxhcmUKICAgICAgICA8L2J1dHRvbj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciI+CiAgICAgICAgICA8c3Bhbj5Eb21haW48L3NwYW4+CiAgICAgICAgICA8c3Bhbj5UeXBlPC9zcGFuPgogICAgICAgICAgPHNwYW4+VmFsdWU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5BY3Rpb25zPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5yZWNvcmRzLmxlbmd0aD4wP3RoaXMucmVjb3Jkcy5tYXAodT0+d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJvdyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb21haW4iPiR7dS5kb21haW59PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj48c3BhbiBjbGFzcz0idHlwZS1iYWRnZSI+JHt1LnR5cGV9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InZhbHVlIj4ke3UudmFsdWV9PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkZWxldGUtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEZWxldGUodSl9PkRlbGV0ZTwvYnV0dG9uPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgKTp3YAogICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIEROUyByZWNvcmRzIGZvdW5kPC9kaXY+CiAgICAgICAgYH0KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZVN5bmMoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzeW5jIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEZWxldGUodSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVsZXRlIix7ZGV0YWlsOnUsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksTkhlKHRoaXMsbCl9c3RhdGlje05IZShyLGEpfX07cmV0dXJuIGg9cn0pKCl9KTt2YXIgUkhlLEhCLGt4YSx6YWE9YygoKT0+e3BlKCk7ZHAoKTtSSGU9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LEhCPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxreGE9KCgpPT57bGV0IHQ9W2FlKCJzei1uZXR3b3JrLWRvbWFpbnMtdmlldyIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdO3ZhciBwPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJTek5ldHdvcmtEb21haW5zVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBnPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6QXJyYXl9KV0saD1bTCh7dHlwZTpPYmplY3R9KV0sUkhlKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZG9tYWlucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh2PT4iZG9tYWlucyJpbiB2LCJoYXMiKSxnZXQ6aSh2PT52LmRvbWFpbnMsImdldCIpLHNldDppKCh2LHgpPT57di5kb21haW5zPXh9LCJzZXQiKX0sbWV0YWRhdGE6Z30sbyxsKSxSSGUodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh2PT4ic3RhdHMiaW4gdiwiaGFzIiksZ2V0Omkodj0+di5zdGF0cywiZ2V0Iiksc2V0OmkoKHYseCk9Pnt2LnN0YXRzPXh9LCJzZXQiKX0sbWV0YWRhdGE6Z30sdSxmKSxSSGUobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Z30sbnVsbCxhKSxwPXI9ZS52YWx1ZSxnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmd9KX1zdGF0aWMgZGVtbz1pKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LW5ldHdvcmstZG9tYWlucy12aWV3CiAgICAgICAgLmRvbWFpbnM9JHtbe2RvbWFpbjoiYmxldS5kZSIscHJvdmlkZXI6ImNsb3VkZmxhcmUiLHNlcnZpY2VDb3VudDoyLGNlcnRpZmljYXRlU3RhdHVzOiJ2YWxpZCIsZXhwaXJlc0luOiI1MiBkYXlzIn0se2RvbWFpbjoidGFzay52YyIscHJvdmlkZXI6ImNsb3VkZmxhcmUiLHNlcnZpY2VDb3VudDoxLGNlcnRpZmljYXRlU3RhdHVzOiJ2YWxpZCIsZXhwaXJlc0luOiI1MiBkYXlzIn0se2RvbWFpbjoiZXhhbXBsZS5jb20iLHByb3ZpZGVyOiJjbG91ZGZsYXJlIixzZXJ2aWNlQ291bnQ6MCxjZXJ0aWZpY2F0ZVN0YXR1czoiZXhwaXJpbmciLGV4cGlyZXNJbjoiNyBkYXlzIn1dfQogICAgICAgIC5zdGF0cz0ke3t0b3RhbDozLHZhbGlkOjIsZXhwaXJpbmc6MSxleHBpcmVkOjB9fQogICAgICA+PC9zei1uZXR3b3JrLWRvbWFpbnMtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT1IQih0aGlzLG8sW10pO2dldCBkb21haW5zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRvbWFpbnMoZyl7dGhpcy4jZT1nfSN0PShIQih0aGlzLGwpLEhCKHRoaXMsdSx7dG90YWw6MCx2YWxpZDowLGV4cGlyaW5nOjAsZXhwaXJlZDowfSkpO2dldCBzdGF0cygpe3JldHVybiB0aGlzLiN0fXNldCBzdGF0cyhnKXt0aGlzLiN0PWd9c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuc3luYy1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zeW5jLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjM2YzZjQ2Iil9OwogICAgICB9CgogICAgICAuc3RhdHMtZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHsKICAgICAgICAuc3RhdHMtZ3JpZCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnRhYmxlLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnRhYmxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnIgODBweCAxMDBweCAxMDBweCA4MHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyIDgwcHggMTAwcHggMTAwcHggODBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuZG9tYWluLW5hbWUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5wcm92aWRlciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS52YWxpZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZXhwaXJpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmVmOWMzIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5leHBpcmVkLAogICAgICAuc3RhdHVzLWJhZGdlLnBlbmRpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuZXhwaXJlcyB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnZpZXctYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC52aWV3LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImRlc2NyaXB0aW9uIj5NYW5hZ2UgZG9tYWlucyBhbmQgU1NMIGNlcnRpZmljYXRlczwvc3Bhbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJzeW5jLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlU3luYygpfT5TeW5jIENsb3VkZmxhcmU8L2J1dHRvbj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzdGF0cy1ncmlkIj4KICAgICAgICA8c3otc3RhdC1jYXJkCiAgICAgICAgICBsYWJlbD0iVG90YWwgRG9tYWlucyIKICAgICAgICAgIHZhbHVlPSIke3RoaXMuc3RhdHMudG90YWx9IgogICAgICAgICAgaWNvbj0ic2VydmVyIgogICAgICAgID48L3N6LXN0YXQtY2FyZD4KICAgICAgICA8c3otc3RhdC1jYXJkCiAgICAgICAgICBsYWJlbD0iVmFsaWQgQ2VydGlmaWNhdGVzIgogICAgICAgICAgdmFsdWU9IiR7dGhpcy5zdGF0cy52YWxpZH0iCiAgICAgICAgICBpY29uPSJjaGVjayIKICAgICAgICAgIHZhcmlhbnQ9InN1Y2Nlc3MiCiAgICAgICAgPjwvc3otc3RhdC1jYXJkPgogICAgICAgIDxzei1zdGF0LWNhcmQKICAgICAgICAgIGxhYmVsPSJFeHBpcmluZyBTb29uIgogICAgICAgICAgdmFsdWU9IiR7dGhpcy5zdGF0cy5leHBpcmluZ30iCiAgICAgICAgICBpY29uPSJzdG9wIgogICAgICAgICAgdmFyaWFudD0iJHt0aGlzLnN0YXRzLmV4cGlyaW5nPjA/Indhcm5pbmciOiJkZWZhdWx0In0iCiAgICAgICAgPjwvc3otc3RhdC1jYXJkPgogICAgICAgIDxzei1zdGF0LWNhcmQKICAgICAgICAgIGxhYmVsPSJFeHBpcmVkL1BlbmRpbmciCiAgICAgICAgICB2YWx1ZT0iJHt0aGlzLnN0YXRzLmV4cGlyZWR9IgogICAgICAgICAgaWNvbj0ic3RvcCIKICAgICAgICAgIHZhcmlhbnQ9IiR7dGhpcy5zdGF0cy5leHBpcmVkPjA/ImVycm9yIjoiZGVmYXVsdCJ9IgogICAgICAgID48L3N6LXN0YXQtY2FyZD4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciI+CiAgICAgICAgICA8c3Bhbj5Eb21haW48L3NwYW4+CiAgICAgICAgICA8c3Bhbj5Qcm92aWRlcjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlNlcnZpY2VzPC9zcGFuPgogICAgICAgICAgPHNwYW4+Q2VydGlmaWNhdGU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5FeHBpcmVzPC9zcGFuPgogICAgICAgICAgPHNwYW4+QWN0aW9uczwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuZG9tYWlucy5sZW5ndGg+MD90aGlzLmRvbWFpbnMubWFwKGc9PndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yb3ciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZG9tYWluLW5hbWUiPiR7Zy5kb21haW59PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJvdmlkZXIiPiR7Zy5wcm92aWRlcn08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPiR7Zy5zZXJ2aWNlQ291bnR9PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj48c3BhbiBjbGFzcz0ic3RhdHVzLWJhZGdlICR7Zy5jZXJ0aWZpY2F0ZVN0YXR1c30iPiR7Zy5jZXJ0aWZpY2F0ZVN0YXR1c308L3NwYW4+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZXhwaXJlcyI+JHtnLmV4cGlyZXNJbnx8Ii0ifTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idmlldy1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVZpZXcoZyl9PlZpZXc8L2J1dHRvbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCk6d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBkb21haW5zIGNvbmZpZ3VyZWQ8L2Rpdj4KICAgICAgICBgfQogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlU3luYygpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInN5bmMiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVZpZXcoZyl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidmlldyIse2RldGFpbDpnLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLEhCKHRoaXMsZil9c3RhdGlje0hCKHIsYSl9fTtyZXR1cm4gcD1yfSkoKX0pO3ZhciBGSGUscUIsenhhLFNhYT1jKCgpPT57cGUoKTtGSGU9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LHFCPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSx6eGE9KCgpPT57bGV0IHQ9W2FlKCJzei1yZWdpc3RyeS1hZHZlcnRpc2VtZW50IildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W107dmFyIHA9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6UmVnaXN0cnlBZHZlcnRpc2VtZW50Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGc9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpTdHJpbmd9KV0saD1bTCh7dHlwZTpTdHJpbmd9KV0sRkhlKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdHVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHY9PiJzdGF0dXMiaW4gdiwiaGFzIiksZ2V0Omkodj0+di5zdGF0dXMsImdldCIpLHNldDppKCh2LHgpPT57di5zdGF0dXM9eH0sInNldCIpfSxtZXRhZGF0YTpnfSxvLGwpLEZIZSh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlZ2lzdHJ5VXJsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHY9PiJyZWdpc3RyeVVybCJpbiB2LCJoYXMiKSxnZXQ6aSh2PT52LnJlZ2lzdHJ5VXJsLCJnZXQiKSxzZXQ6aSgodix4KT0+e3YucmVnaXN0cnlVcmw9eH0sInNldCIpfSxtZXRhZGF0YTpnfSx1LGYpLEZIZShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpnfSxudWxsLGEpLHA9cj1lLnZhbHVlLGcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Z30pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDgwMHB4OyI+CiAgICAgIDxzei1yZWdpc3RyeS1hZHZlcnRpc2VtZW50CiAgICAgICAgc3RhdHVzPSJydW5uaW5nIgogICAgICAgIHJlZ2lzdHJ5VXJsPSJsb2NhbGhvc3Q6MzAwMC92MiIKICAgICAgPjwvc3otcmVnaXN0cnktYWR2ZXJ0aXNlbWVudD4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkF1dGggJiBTZXR0aW5ncyJdOyNlPXFCKHRoaXMsbywic3RvcHBlZCIpO2dldCBzdGF0dXMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3RhdHVzKGcpe3RoaXMuI2U9Z30jdD0ocUIodGhpcyxsKSxxQih0aGlzLHUsIiIpKTtnZXQgcmVnaXN0cnlVcmwoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcmVnaXN0cnlVcmwoZyl7dGhpcy4jdD1nfXN0YXRpYyBzdHlsZXM9W2QuZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuY2FyZC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAucmVnaXN0cnktaWNvbiB7CiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuaGVhZGVyLWluZm8gewogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItdGl0bGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuZGVmYXVsdC1iYWRnZSB7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAuaGVhZGVyLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5jYXJkLWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5pbmZvLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5pbmZvLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmluZm8tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICB9CgogICAgICAuaW5mby12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UucnVubmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uuc3RvcHBlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5tYW5hZ2UtbGluayB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAubWFuYWdlLWxpbms6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAucXVpY2stc3RhcnQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgfQoKICAgICAgLnF1aWNrLXN0YXJ0LXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLnF1aWNrLXN0YXJ0LWRlc2MgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIH0KCiAgICAgIC5jb2RlLWJsb2NrIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiMwYTBhMGEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgfQoKICAgICAgLmNvZGUtbGluZSB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiIzcxNzE3YSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC5jb2RlLWxpbmU6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLmNvZGUtY29tbWVudCB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNmI3MjgwIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLmNvZGUtY29tbWFuZCB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZmFmYWZhIiwiI2U0ZTRlNyIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LWljb24iPgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6Ij48L3BhdGg+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItaW5mbyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10aXRsZSI+CiAgICAgICAgICAgICAgUmVnaXN0cnkgQWR2ZXJ0aXNlbWVudAogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZWZhdWx0LWJhZGdlIj5EZWZhdWx0PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXN1YnRpdGxlIj5Db250YWluZXIgcmVnaXN0cnkgZm9yIHlvdXIgc2VydmljZXM8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1ncmlkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+U3RhdHVzPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHt0aGlzLnN0YXR1c30iPiR7dGhpcy5zdGF0dXM9PT0icnVubmluZyI/IlJ1bm5pbmciOiJTdG9wcGVkIn08L3NwYW4+CiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+UmVnaXN0cnkgVVJMPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlIj4ke3RoaXMucmVnaXN0cnlVcmx9PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+QXV0aGVudGljYXRpb248L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9Im1hbmFnZS1saW5rIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVNYW5hZ2VUb2tlbnMoKX0+TWFuYWdlIFRva2VuczwvYT4KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0icXVpY2stc3RhcnQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJxdWljay1zdGFydC10aXRsZSI+UXVpY2sgU3RhcnQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icXVpY2stc3RhcnQtZGVzYyI+VG8gcHVzaCBpbWFnZXMgdG8gdGhlIHJlZ2lzdHJ5LCB1c2UgYSBDSSBvciBHbG9iYWwgdG9rZW46PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtYmxvY2siPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtbGluZSBjb2RlLWNvbW1lbnQiPiMgTG9naW4gdG8gdGhlIHJlZ2lzdHJ5PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1saW5lIGNvZGUtY29tbWFuZCI+ZG9ja2VyIGxvZ2luICR7dGhpcy5yZWdpc3RyeVVybC5zcGxpdCgiLyIpWzBdfSAtdSByZWdpc3RyeSAtcCBZT1VSX1RPS0VOPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1saW5lIGNvZGUtY29tbWVudCI+IyBUYWcgYW5kIHB1c2ggeW91ciBpbWFnZTwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtbGluZSBjb2RlLWNvbW1hbmQiPmRvY2tlciB0YWcgbXlhcHAgJHt0aGlzLnJlZ2lzdHJ5VXJsLnNwbGl0KCIvIilbMF19L215c2VydmljZTpsYXRlc3Q8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWxpbmUgY29kZS1jb21tYW5kIj5kb2NrZXIgcHVzaCAke3RoaXMucmVnaXN0cnlVcmwuc3BsaXQoIi8iKVswXX0vbXlzZXJ2aWNlOmxhdGVzdDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlTWFuYWdlVG9rZW5zKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibWFuYWdlLXRva2VucyIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHFCKHRoaXMsZil9c3RhdGlje3FCKHIsYSl9fTtyZXR1cm4gcD1yfSkoKX0pO3ZhciBDYWEsT0hlLFN4YSxfYWE9YygoKT0+e3BlKCk7Q2FhPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxPSGU9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LFN4YT0oKCk9PntsZXQgdD1bYWUoInN6LXJlZ2lzdHJ5LWV4dGVybmFsLXZpZXciKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXTt2YXIgaD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiU3pSZWdpc3RyeUV4dGVybmFsVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCB1PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6QXJyYXl9KV0sQ2FhKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVnaXN0cmllcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmPT4icmVnaXN0cmllcyJpbiBmLCJoYXMiKSxnZXQ6aShmPT5mLnJlZ2lzdHJpZXMsImdldCIpLHNldDppKChmLHApPT57Zi5yZWdpc3RyaWVzPXB9LCJzZXQiKX0sbWV0YWRhdGE6dX0sbyxsKSxDYWEobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6dX0sbnVsbCxhKSxoPXI9ZS52YWx1ZSx1JiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnV9KX1zdGF0aWMgZGVtbz1pKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA4MDBweDsiPgogICAgICA8c3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldwogICAgICAgIC5yZWdpc3RyaWVzPSR7W3tpZDoiMSIsbmFtZToiRG9ja2VyIEh1YiIsdXJsOiJkb2NrZXIuaW8iLHVzZXJuYW1lOiJteXVzZXIiLHR5cGU6ImRvY2tlcmh1YiJ9LHtpZDoiMiIsbmFtZToiR2l0SHViIENvbnRhaW5lciBSZWdpc3RyeSIsdXJsOiJnaGNyLmlvIix1c2VybmFtZToibXlvcmciLHR5cGU6ImdoY3IifV19CiAgICAgID48L3N6LXJlZ2lzdHJ5LWV4dGVybmFsLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJBdXRoICYgU2V0dGluZ3MiXTsjZT1PSGUodGhpcyxvLFtdKTtnZXQgcmVnaXN0cmllcygpe3JldHVybiB0aGlzLiNlfXNldCByZWdpc3RyaWVzKHUpe3RoaXMuI2U9dX1zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmhlYWRlci10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRlci1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYWRkLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMC45OwogICAgICB9CgogICAgICAucmVnaXN0cnktbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5yZWdpc3RyeS1pY29uIHsKICAgICAgICB3aWR0aDogNDBweDsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LWRldGFpbHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5yZWdpc3RyeS11cmwgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5yZWdpc3RyeS1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGVsZXRlIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kZWxldGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiA0OHB4IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAuZW1wdHktaWNvbiB7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvIDE2cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLmVtcHR5LWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuZW1wdHktYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuZW1wdHktYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pbmZvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10aXRsZSI+RXh0ZXJuYWwgUmVnaXN0cmllczwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXN1YnRpdGxlIj5BZGQgY3JlZGVudGlhbHMgZm9yIHByaXZhdGUgRG9ja2VyIHJlZ2lzdHJpZXM8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJhZGQtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBZGQoKX0+QWRkIFJlZ2lzdHJ5PC9idXR0b24+CiAgICAgIDwvZGl2PgoKICAgICAgJHt0aGlzLnJlZ2lzdHJpZXMubGVuZ3RoPjA/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1saXN0Ij4KICAgICAgICAgICR7dGhpcy5yZWdpc3RyaWVzLm1hcCh1PT53YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1pdGVtIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1pbmZvIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LWljb24iPgogICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1kZXRhaWxzIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVnaXN0cnktbmFtZSI+JHt1Lm5hbWV9PC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LXVybCI+JHt1LnVybH0gKCR7dS51c2VybmFtZX0pPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1hY3Rpb25zIj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUVkaXQodSl9PkVkaXQ8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gZGVsZXRlIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEZWxldGUodSl9PkRlbGV0ZTwvYnV0dG9uPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICBgOndgCiAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgPHN2ZyBjbGFzcz0iZW1wdHktaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPgogICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6Ij48L3BhdGg+CiAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjMuMjcgNi45NiAxMiAxMi4wMSAyMC43MyA2Ljk2Ij48L3BvbHlsaW5lPgogICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIyMi4wOCIgeDI9IjEyIiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktdGl0bGUiPk5vIGV4dGVybmFsIHJlZ2lzdHJpZXM8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LWRlc2NyaXB0aW9uIj5BZGQgY3JlZGVudGlhbHMgZm9yIERvY2tlciBIdWIsIEdpdEh1YiBDb250YWluZXIgUmVnaXN0cnksIG9yIG90aGVyIHByaXZhdGUgcmVnaXN0cmllcy48L2Rpdj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImVtcHR5LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWRkKCl9PkFkZCBFeHRlcm5hbCBSZWdpc3RyeTwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICBgfQogICAgYH1oYW5kbGVBZGQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhZGQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUVkaXQodSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZWRpdCIse2RldGFpbDp1LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRGVsZXRlKHUpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRlbGV0ZSIse2RldGFpbDp1LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLE9IZSh0aGlzLGwpfXN0YXRpY3tPSGUocixhKX19O3JldHVybiBoPXJ9KSgpfSk7dmFyIFRhYSxCSGUsQ3hhLExhYT1jKCgpPT57cGUoKTtUYWE9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LEJIZT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sQ3hhPSgoKT0+e2xldCB0PVthZSgic3otc2VydmljZXMtbGlzdC12aWV3IildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W107dmFyIGg9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6U2VydmljZXNMaXN0VmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCB1PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6QXJyYXl9KV0sVGFhKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VydmljZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoZj0+InNlcnZpY2VzImluIGYsImhhcyIpLGdldDppKGY9PmYuc2VydmljZXMsImdldCIpLHNldDppKChmLHApPT57Zi5zZXJ2aWNlcz1wfSwic2V0Iil9LG1ldGFkYXRhOnV9LG8sbCksVGFhKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOnV9LG51bGwsYSksaD1yPWUudmFsdWUsdSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp1fSl9c3RhdGljIGRlbW89aSgoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1zZXJ2aWNlcy1saXN0LXZpZXcKICAgICAgICAuc2VydmljZXM9JHtbe25hbWU6InRlc3QtbmdpbngiLGltYWdlOiJuZ2lueDphbHBpbmUiLGRvbWFpbjoiYXBwLmJsZXUuZGUiLHN0YXR1czoicnVubmluZyJ9LHtuYW1lOiJoZWxsby13b3JsZCIsaW1hZ2U6ImxvY2FsaG9zdDozMDAwL2hlbGxvLXdvcmxkOmxhdGVzdCIsZG9tYWluOiJoZWxsby50YXNrLnZjIixzdGF0dXM6InJ1bm5pbmcifSx7bmFtZToidGVzdC12MiIsaW1hZ2U6ImxvY2FsaG9zdDozMDAwL3Rlc3QtcmVnaXN0cnk6djEiLGRvbWFpbjpudWxsLHN0YXR1czoicnVubmluZyJ9LHtuYW1lOiJhcGktc2VydmljZSIsaW1hZ2U6Im5vZGU6MTgtYWxwaW5lIixkb21haW46ImFwaS5leGFtcGxlLmNvbSIsc3RhdHVzOiJzdG9wcGVkIn1dfQogICAgICA+PC9zei1zZXJ2aWNlcy1saXN0LXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJTZXJ2aWNlcyJdOyNlPUJIZSh0aGlzLG8sW10pO2dldCBzZXJ2aWNlcygpe3JldHVybiB0aGlzLiNlfXNldCBzZXJ2aWNlcyh1KXt0aGlzLiNlPXV9c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLnRhYmxlLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnRhYmxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuNWZyIDJmciAxLjVmciAxMDBweCAyMDBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAudGFibGUtcm93IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS41ZnIgMmZyIDEuNWZyIDEwMHB4IDIwMHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAudGFibGUtcm93OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLW5hbWUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLW5hbWU6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAuaW1hZ2UgewogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuZG9tYWluLWxpbmsgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICB9CgogICAgICAuZG9tYWluLWxpbms6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnJ1bm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnN0b3BwZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnN0YXJ0aW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZlZjljMyIsInJnYmEoMjUwLCAyMDQsIDIxLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc3RvcCB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjZmVmOWMzIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnN0YXJ0IHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjMpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5yZXN0YXJ0IHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGVsZXRlIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuPk5hbWU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5JbWFnZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkRvbWFpbjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlN0YXR1czwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkFjdGlvbnM8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnNlcnZpY2VzLmxlbmd0aD4wP3RoaXMuc2VydmljZXMubWFwKHU9PndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yb3ciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VydmljZS1uYW1lIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTZXJ2aWNlQ2xpY2sodSl9PiR7dS5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImltYWdlIiB0aXRsZT0iJHt1LmltYWdlfSI+JHt1LmltYWdlfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgJHt1LmRvbWFpbj93YDxhIGNsYXNzPSJkb21haW4tbGluayIgaHJlZj0iaHR0cHM6Ly8ke3UuZG9tYWlufSIgdGFyZ2V0PSJfYmxhbmsiPiR7dS5kb21haW59PC9hPmA6Ii0ifQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPjxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHt1LnN0YXR1c30iPiR7dS5zdGF0dXN9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFjdGlvbnMiPgogICAgICAgICAgICAgICR7dS5zdGF0dXM9PT0icnVubmluZyI/d2A8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIHN0b3AiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUFjdGlvbih1LCJzdG9wIil9PlN0b3A8L2J1dHRvbj5gOndgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBzdGFydCIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKHUsInN0YXJ0Iil9PlN0YXJ0PC9idXR0b24+YH0KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIHJlc3RhcnQiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUFjdGlvbih1LCJyZXN0YXJ0Iil9PlJlc3RhcnQ8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIGRlbGV0ZSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKHUsImRlbGV0ZSIpfT5EZWxldGU8L2J1dHRvbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCk6d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBzZXJ2aWNlcyBkZXBsb3llZDwvZGl2PgogICAgICAgIGB9CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVTZXJ2aWNlQ2xpY2sodSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VydmljZS1jbGljayIse2RldGFpbDp1LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQWN0aW9uKHUsZil7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VydmljZS1hY3Rpb24iLHtkZXRhaWw6e3NlcnZpY2U6dSxhY3Rpb246Zn0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksQkhlKHRoaXMsbCl9c3RhdGlje0JIZShyLGEpfX07cmV0dXJuIGg9cn0pKCl9KTt2YXIgSEhlLFZCLF94YSwkYWE9YygoKT0+e3BlKCk7SEhlPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxWQj1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sX3hhPSgoKT0+e2xldCB0PVthZSgic3otc2VydmljZXMtYmFja3Vwcy12aWV3IildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W107dmFyIHA9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6U2VydmljZXNCYWNrdXBzVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBnPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6QXJyYXl9KV0saD1bTCh7dHlwZTpBcnJheX0pXSxISGUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzY2hlZHVsZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+InNjaGVkdWxlcyJpbiB2LCJoYXMiKSxnZXQ6aSh2PT52LnNjaGVkdWxlcywiZ2V0Iiksc2V0OmkoKHYseCk9Pnt2LnNjaGVkdWxlcz14fSwic2V0Iil9LG1ldGFkYXRhOmd9LG8sbCksSEhlKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYmFja3VwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aSh2PT4iYmFja3VwcyJpbiB2LCJoYXMiKSxnZXQ6aSh2PT52LmJhY2t1cHMsImdldCIpLHNldDppKCh2LHgpPT57di5iYWNrdXBzPXh9LCJzZXQiKX0sbWV0YWRhdGE6Z30sdSxmKSxISGUobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Z30sbnVsbCxhKSxwPXI9ZS52YWx1ZSxnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmd9KX1zdGF0aWMgZGVtbz1pKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LXNlcnZpY2VzLWJhY2t1cHMtdmlldwogICAgICAgIC5zY2hlZHVsZXM9JHtbe2lkOiIxIixzY29wZToiQWxsIFNlcnZpY2VzIixyZXRlbnRpb246IkQ6NywgVzo0LCBNOjEyIixzY2hlZHVsZToiMCAyICogKiAqIixsYXN0UnVuOiIxLzIvMjAyNiwgMjowMDowMyBBTSIsbmV4dFJ1bjoiMS8zLzIwMjYsIDI6MDA6MDAgQU0iLHN0YXR1czoiYWN0aXZlIn1dfQogICAgICAgIC5iYWNrdXBzPSR7W3tpZDoiMSIsc2VydmljZToidGVzdC1uZ2lueCIsY3JlYXRlZEF0OiIxLzIvMjAyNiwgMjowMDowMyBBTSIsc2l6ZToiMjIuMCBNQiIsaW5jbHVkZXM6WyJJbWFnZSJdfSx7aWQ6IjIiLHNlcnZpY2U6ImhlbGxvLXdvcmxkIixjcmVhdGVkQXQ6IjEvMi8yMDI2LCAyOjAwOjAyIEFNIixzaXplOiIyMS41IE1CIixpbmNsdWRlczpbIkltYWdlIl19LHtpZDoiMyIsc2VydmljZToidGVzdC1jaC1maW5hbCIsY3JlYXRlZEF0OiIxLzIvMjAyNiwgMjowMDowMCBBTSIsc2l6ZToiMjIuMCBNQiIsaW5jbHVkZXM6WyJJbWFnZSIsImNsaWNraG91c2UiXX1dfQogICAgICA+PC9zei1zZXJ2aWNlcy1iYWNrdXBzLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJTZXJ2aWNlcyJdOyNlPVZCKHRoaXMsbyxbXSk7Z2V0IHNjaGVkdWxlcygpe3JldHVybiB0aGlzLiNlfXNldCBzY2hlZHVsZXMoZyl7dGhpcy4jZT1nfSN0PShWQih0aGlzLGwpLFZCKHRoaXMsdSxbXSkpO2dldCBiYWNrdXBzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGJhY2t1cHMoZyl7dGhpcy4jdD1nfXN0YXRpYyBzdHlsZXM9W2QuZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuc2VjdGlvbi1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc2VjdGlvbi1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXItYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMC45OwogICAgICB9CgogICAgICAudGFibGUtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5zY2hlZHVsZXMtaGVhZGVyIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDEuNWZyIDEuNWZyIDgwcHggMTIwcHg7CiAgICAgIH0KCiAgICAgIC5iYWNrdXBzLWhlYWRlciB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjVmciAxLjVmciAxMDBweCAxZnIgMTIwcHg7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5zY2hlZHVsZXMtcm93IHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDEuNWZyIDEuNWZyIDgwcHggMTIwcHg7CiAgICAgIH0KCiAgICAgIC5iYWNrdXBzLXJvdyB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjVmciAxLjVmciAxMDBweCAxZnIgMTIwcHg7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZmFpbGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5kaXNhYmxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5tZXRhLXRleHQgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuaW5jbHVkZXMtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5pbmNsdWRlLWJhZGdlIHsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5yb3ctYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uLmRhbmdlcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWluZm8iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5CYWNrdXAgU2NoZWR1bGVzPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPkNvbmZpZ3VyZSBhdXRvbWF0ZWQgYmFja3VwIHNjaGVkdWxlcyBmb3IgeW91ciBzZXJ2aWNlczwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItYWN0aW9ucyI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUltcG9ydCgpfT4KICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ii8+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNyA4IDEyIDMgNyA4Ii8+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIzIiB4Mj0iMTIiIHkyPSIxNSIvPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIEltcG9ydCBCYWNrdXAKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gcHJpbWFyeSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ3JlYXRlU2NoZWR1bGUoKX0+CiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBDcmVhdGUgU2NoZWR1bGUKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1oZWFkZXIgc2NoZWR1bGVzLWhlYWRlciI+CiAgICAgICAgICA8c3Bhbj5TY29wZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlJldGVudGlvbjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlNjaGVkdWxlPC9zcGFuPgogICAgICAgICAgPHNwYW4+TGFzdCBSdW48L3NwYW4+CiAgICAgICAgICA8c3Bhbj5OZXh0IFJ1bjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlN0YXR1czwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkFjdGlvbnM8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnNjaGVkdWxlcy5tYXAoZz0+d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJvdyBzY2hlZHVsZXMtcm93Ij4KICAgICAgICAgICAgPHNwYW4+JHtnLnNjb3BlfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldGEtdGV4dCIgdGl0bGU9IktlZXA6ICR7Zy5yZXRlbnRpb259Ij4ke2cucmV0ZW50aW9ufTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldGEtdGV4dCI+JHtnLnNjaGVkdWxlfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldGEtdGV4dCI+JHtnLmxhc3RSdW58fCItIn08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRhLXRleHQiPiR7Zy5uZXh0UnVufHwiLSJ9PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWJhZGdlICR7Zy5zdGF0dXN9IiB0aXRsZT0iJHtnLmVycm9yfHwiIn0iPgogICAgICAgICAgICAgICAgJHtnLnN0YXR1cz09PSJhY3RpdmUiPyJBY3RpdmUiOmcuc3RhdHVzPT09ImZhaWxlZCI/IkZhaWxlZCI6IkRpc2FibGVkIn0KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJvdy1hY3Rpb25zIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiIgdGl0bGU9IlJ1biBiYWNrdXAgbm93IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVSdW5Ob3coZyl9PgogICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj48cG9seWdvbiBwb2ludHM9IjUsMyAxOSwxMiA1LDIxIi8+PC9zdmc+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24iIHRpdGxlPSIke2cuc3RhdHVzPT09ImRpc2FibGVkIj8iRW5hYmxlIjoiRGlzYWJsZSJ9IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVUb2dnbGUoZyl9PgogICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICR7Zy5zdGF0dXM9PT0iZGlzYWJsZWQiP3dgPHBvbHlsaW5lIHBvaW50cz0iMjAgNiA5IDE3IDQgMTIiPjwvcG9seWxpbmU+YDp3YDxyZWN0IHg9IjYiIHk9IjYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiLz5gfQogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24gZGFuZ2VyIiB0aXRsZT0iRGVsZXRlIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEZWxldGVTY2hlZHVsZShnKX0+CiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMyw2IDUsNiAyMSw2Ii8+PHBhdGggZD0iTTE5LDZ2MTRhMiwyLDAsMCwxLTIsMkg3YTIsMiwwLDAsMS0yLTJWNm0zLDBWNGEyLDIsMCwwLDEsMi0yaDRhMiwyLDAsMCwxLDIsMnYyIi8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCl9CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1pbmZvIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QWxsIEJhY2t1cHM8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+QnJvd3NlIGFuZCBtYW5hZ2UgYWxsIGJhY2t1cHMgYWNyb3NzIHNlcnZpY2VzPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1oZWFkZXIgYmFja3Vwcy1oZWFkZXIiPgogICAgICAgICAgPHNwYW4+U2VydmljZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkNyZWF0ZWQ8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5TaXplPC9zcGFuPgogICAgICAgICAgPHNwYW4+SW5jbHVkZXM8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5BY3Rpb25zPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5iYWNrdXBzLm1hcChnPT53YAogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcm93IGJhY2t1cHMtcm93Ij4KICAgICAgICAgICAgPHNwYW4+JHtnLnNlcnZpY2V9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0YS10ZXh0Ij4ke2cuY3JlYXRlZEF0fTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldGEtdGV4dCI+JHtnLnNpemV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5jbHVkZXMtbGlzdCI+CiAgICAgICAgICAgICAgJHtnLmluY2x1ZGVzLm1hcCh2PT53YDxzcGFuIGNsYXNzPSJpbmNsdWRlLWJhZGdlIj4ke3Z9PC9zcGFuPmApfQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyb3ctYWN0aW9ucyI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24iIHRpdGxlPSJEb3dubG9hZCBiYWNrdXAiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURvd25sb2FkKGcpfT4KICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCIvPgogICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSI3IDEwIDEyIDE1IDE3IDEwIi8+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjE1IiB4Mj0iMTIiIHkyPSIzIi8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiBkYW5nZXIiIHRpdGxlPSJEZWxldGUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZUJhY2t1cChnKX0+CiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMyw2IDUsNiAyMSw2Ii8+PHBhdGggZD0iTTE5LDZ2MTRhMiwyLDAsMCwxLTIsMkg3YTIsMiwwLDAsMS0yLTJWNm0zLDBWNGEyLDIsMCwwLDEsMi0yaDRhMiwyLDAsMCwxLDIsMnYyIi8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCl9CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVJbXBvcnQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpbXBvcnQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUNyZWF0ZVNjaGVkdWxlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY3JlYXRlLXNjaGVkdWxlIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVSdW5Ob3coZyl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicnVuLW5vdyIse2RldGFpbDpnLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlVG9nZ2xlKGcpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRvZ2dsZS1zY2hlZHVsZSIse2RldGFpbDpnLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRGVsZXRlU2NoZWR1bGUoZyl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVsZXRlLXNjaGVkdWxlIix7ZGV0YWlsOmcsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEb3dubG9hZChnKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkb3dubG9hZCIse2RldGFpbDpnLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRGVsZXRlQmFja3VwKGcpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRlbGV0ZS1iYWNrdXAiLHtkZXRhaWw6ZyxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxWQih0aGlzLGYpfXN0YXRpY3tWQihyLGEpfX07cmV0dXJuIHA9cn0pKCl9KTt2YXIgam8sb3IsVHhhLERhYT1jKCgpPT57cGUoKTtkcCgpO2pvPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxvcj1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sVHhhPSgoKT0+e2xldCB0PVthZSgic3otc2VydmljZS1kZXRhaWwtdmlldyIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdLEUsXz1bXSxDPVtdLE4sJD1bXSxJPVtdLGosUz1bXSx6PVtdO3ZhciBEPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJTelNlcnZpY2VEZXRhaWxWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpPYmplY3R9KV0saD1bTCh7dHlwZTpPYmplY3R9KV0scD1bTCh7dHlwZTpBcnJheX0pXSx4PVtMKHt0eXBlOkFycmF5fSldLHk9W0woe3R5cGU6Qm9vbGVhbn0pXSxFPVtMKHt0eXBlOk9iamVjdH0pXSxOPVtMKHt0eXBlOlN0cmluZ30pXSxqPVtaKCldLGpvKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VydmljZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShBPT4ic2VydmljZSJpbiBBLCJoYXMiKSxnZXQ6aShBPT5BLnNlcnZpY2UsImdldCIpLHNldDppKChBLFUpPT57QS5zZXJ2aWNlPVV9LCJzZXQiKX0sbWV0YWRhdGE6VH0sbyxsKSxqbyh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEE9PiJzdGF0cyJpbiBBLCJoYXMiKSxnZXQ6aShBPT5BLnN0YXRzLCJnZXQiKSxzZXQ6aSgoQSxVKT0+e0Euc3RhdHM9VX0sInNldCIpfSxtZXRhZGF0YTpUfSx1LGYpLGpvKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYmFja3VwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShBPT4iYmFja3VwcyJpbiBBLCJoYXMiKSxnZXQ6aShBPT5BLmJhY2t1cHMsImdldCIpLHNldDppKChBLFUpPT57QS5iYWNrdXBzPVV9LCJzZXQiKX0sbWV0YWRhdGE6VH0sZyx2KSxqbyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvZ3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQT0+ImxvZ3MiaW4gQSwiaGFzIiksZ2V0OmkoQT0+QS5sb2dzLCJnZXQiKSxzZXQ6aSgoQSxVKT0+e0EubG9ncz1VfSwic2V0Iil9LG1ldGFkYXRhOlR9LGIsbSksam8odGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdHJlYW1pbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQT0+InN0cmVhbWluZyJpbiBBLCJoYXMiKSxnZXQ6aShBPT5BLnN0cmVhbWluZywiZ2V0Iiksc2V0OmkoKEEsVSk9PntBLnN0cmVhbWluZz1VfSwic2V0Iil9LG1ldGFkYXRhOlR9LE0sayksam8odGhpcyxudWxsLEUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3b3Jrc3BhY2VFbnZpcm9ubWVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShBPT4id29ya3NwYWNlRW52aXJvbm1lbnQiaW4gQSwiaGFzIiksZ2V0OmkoQT0+QS53b3Jrc3BhY2VFbnZpcm9ubWVudCwiZ2V0Iiksc2V0OmkoKEEsVSk9PntBLndvcmtzcGFjZUVudmlyb25tZW50PVV9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyxDKSxqbyh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndvcmtzcGFjZVBhdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoQT0+IndvcmtzcGFjZVBhdGgiaW4gQSwiaGFzIiksZ2V0OmkoQT0+QS53b3Jrc3BhY2VQYXRoLCJnZXQiKSxzZXQ6aSgoQSxVKT0+e0Eud29ya3NwYWNlUGF0aD1VfSwic2V0Iil9LG1ldGFkYXRhOlR9LCQsSSksam8odGhpcyxudWxsLGose2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VmlldyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShBPT4iY3VycmVudFZpZXciaW4gQSwiaGFzIiksZ2V0OmkoQT0+QS5jdXJyZW50VmlldywiZ2V0Iiksc2V0OmkoKEEsVSk9PntBLmN1cnJlbnRWaWV3PVV9LCJzZXQiKX0sbWV0YWRhdGE6VH0sUyx6KSxqbyhudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpUfSxudWxsLGEpLEQ9cj1lLnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEyMDBweDsiPgogICAgICA8c3otc2VydmljZS1kZXRhaWwtdmlldwogICAgICAgIC5zZXJ2aWNlPSR7e25hbWU6InRlc3QtbmdpbngiLHN0YXR1czoicnVubmluZyIsaW1hZ2U6Im5naW54OmFscGluZSIscG9ydDo4MCxkb21haW46ImFwcC5ibGV1LmRlIixjb250YWluZXJJZDoicGNoYmJyOWZqcjRnIixjcmVhdGVkOiIxMS8xOC8yMDI1LCAyOjA2OjU1IFBNIix1cGRhdGVkOiIxMS8yNi8yMDI1LCA0OjA1OjQ2IFBNIixyZWdpc3RyeToiRG9ja2VyIEh1YiIscmVwb3NpdG9yeToibmdpbngiLHRhZzoiYWxwaW5lIn19CiAgICAgICAgLnN0YXRzPSR7e2NwdTouNSxtZW1vcnk6IjMyLjEgTUIiLG1lbW9yeUxpbWl0OiI2MS4zIEdCIixuZXR3b3JrSW46IjYuNCBLQiIsbmV0d29ya091dDoiMjUyIEIifX0KICAgICAgICAuYmFja3Vwcz0ke1t7aWQ6IjEiLGNyZWF0ZWRBdDoiMS8yLzIwMjYsIDI6MDA6MDMgQU0iLHNpemU6IjIxLjk2IE1CIix0eXBlOiJEb2NrZXIgSW1hZ2UifSx7aWQ6IjIiLGNyZWF0ZWRBdDoiMTEvMjcvMjAyNSwgMTo0MjoyNiBQTSIsc2l6ZToiNTEuNzYgTUIiLHR5cGU6IkRvY2tlciBJbWFnZSJ9XX0KICAgICAgICAubG9ncz0ke1t7dGltZXN0YW1wOiIyMDI0LTAxLTAyIDEwOjE1OjMyIixtZXNzYWdlOicxOTIuMTY4LjEuMTAwIC0gLSBbMDIvSmFuLzIwMjQ6MTA6MTU6MzIgKzAwMDBdICJHRVQgLyBIVFRQLzEuMSIgMjAwIDYxMid9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMDIgMTA6MTU6MzAiLG1lc3NhZ2U6JzE5Mi4xNjguMS4xMDAgLSAtIFswMi9KYW4vMjAyNDoxMDoxNTozMCArMDAwMF0gIkdFVCAvZmF2aWNvbi5pY28gSFRUUC8xLjEiIDQwNCAxNTMnfV19CiAgICAgID48L3N6LXNlcnZpY2UtZGV0YWlsLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJTZXJ2aWNlcyJdOyNlPW9yKHRoaXMsbyx7bmFtZToiIixzdGF0dXM6InN0b3BwZWQiLGltYWdlOiIiLHBvcnQ6MCxkb21haW46bnVsbCxjb250YWluZXJJZDoiIixjcmVhdGVkOiIiLHVwZGF0ZWQ6IiIscmVnaXN0cnk6IiIscmVwb3NpdG9yeToiIix0YWc6IiJ9KTtnZXQgc2VydmljZSgpe3JldHVybiB0aGlzLiNlfXNldCBzZXJ2aWNlKFQpe3RoaXMuI2U9VH0jdD0ob3IodGhpcyxsKSxvcih0aGlzLHUse2NwdTowLG1lbW9yeToiMCBNQiIsbWVtb3J5TGltaXQ6IjAgR0IiLG5ldHdvcmtJbjoiMCBCIixuZXR3b3JrT3V0OiIwIEIifSkpO2dldCBzdGF0cygpe3JldHVybiB0aGlzLiN0fXNldCBzdGF0cyhUKXt0aGlzLiN0PVR9I2E9KG9yKHRoaXMsZiksb3IodGhpcyxnLFtdKSk7Z2V0IGJhY2t1cHMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYmFja3VwcyhUKXt0aGlzLiNhPVR9I3I9KG9yKHRoaXMsdiksb3IodGhpcyxiLFtdKSk7Z2V0IGxvZ3MoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbG9ncyhUKXt0aGlzLiNyPVR9I2k9KG9yKHRoaXMsbSksb3IodGhpcyxNLCExKSk7Z2V0IHN0cmVhbWluZygpe3JldHVybiB0aGlzLiNpfXNldCBzdHJlYW1pbmcoVCl7dGhpcy4jaT1UfSNzPShvcih0aGlzLGspLG9yKHRoaXMsXyxudWxsKSk7Z2V0IHdvcmtzcGFjZUVudmlyb25tZW50KCl7cmV0dXJuIHRoaXMuI3N9c2V0IHdvcmtzcGFjZUVudmlyb25tZW50KFQpe3RoaXMuI3M9VH0jbz0ob3IodGhpcyxDKSxvcih0aGlzLCQsIi8iKSk7Z2V0IHdvcmtzcGFjZVBhdGgoKXtyZXR1cm4gdGhpcy4jb31zZXQgd29ya3NwYWNlUGF0aChUKXt0aGlzLiNvPVR9I249KG9yKHRoaXMsSSksb3IodGhpcyxTLCJkZXRhaWxzIikpO2dldCBjdXJyZW50Vmlldygpe3JldHVybiB0aGlzLiNufXNldCBjdXJyZW50VmlldyhUKXt0aGlzLiNuPVR9c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuYmFjay1saW5rIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYmFjay1saW5rOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc2VydmljZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNHB4IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnJ1bm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnN0b3BwZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHsKICAgICAgICAuY29udGVudCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnI7CiAgICAgICAgfQogICAgICB9CgogICAgICAubWFpbi1jb250ZW50IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CgogICAgICAuc2lkZWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5jYXJkLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5jYXJkLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuY2FyZC1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuY2FyZC1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICAuZGV0YWlsLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuZGV0YWlsLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgfQoKICAgICAgLmRldGFpbC12YWx1ZSBhIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgLmRldGFpbC12YWx1ZSBhOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQoKICAgICAgLnN0YXRzLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5zdGF0LWl0ZW0gewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgfQoKICAgICAgLnN0YXQtbGFiZWwgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC5zdGF0LXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3RhdC1zdWJ2YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb25zLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGFuZ2VyIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kYW5nZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgfQoKICAgICAgLmJhY2t1cC1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5iYWNrdXAtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIH0KCiAgICAgIC5iYWNrdXAtaW5mbyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAuYmFja3VwLWRhdGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYmFja3VwLW1ldGEgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuYmFja3VwLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5pY29uLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5pY29uLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50YWctYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgOmhvc3QoLndvcmtzcGFjZS1tb2RlKSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS13cmFwcGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAud29ya3NwYWNlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2UtYmFjay1saW5rIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2UtYmFjay1saW5rOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxZDRlZDgiLCIjOTNjNWZkIil9OwogICAgICB9CgogICAgICAud29ya3NwYWNlLXNlcnZpY2UtbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2Utc3RhdHVzLWJhZGdlLnJ1bm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjMjJjNTVlIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1zdGF0dXMtYmFkZ2Uuc3RvcHBlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAud29ya3NwYWNlLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHRoaXMuY3VycmVudFZpZXc9PT0id29ya3NwYWNlIj90aGlzLnJlbmRlcldvcmtzcGFjZVZpZXcoKTp0aGlzLnJlbmRlckRldGFpbHNWaWV3KCl9cmVuZGVyV29ya3NwYWNlVmlldygpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJ3b3Jrc3BhY2Utd3JhcHBlciI+CiAgICAgICAgPGRpdiBjbGFzcz0id29ya3NwYWNlLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ3b3Jrc3BhY2UtYmFjay1saW5rIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDbG9zZVdvcmtzcGFjZSgpfT4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMTUgMTggOSAxMiAxNSA2Ij48L3BvbHlsaW5lPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgQmFjayB0byBEZXRhaWxzCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3b3Jrc3BhY2Utc2VydmljZS1uYW1lIj4ke3RoaXMuc2VydmljZS5uYW1lfTwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ3b3Jrc3BhY2Utc3RhdHVzLWJhZGdlICR7dGhpcy5zZXJ2aWNlLnN0YXR1c30iPjwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ3b3Jrc3BhY2UtY29udGFpbmVyIj4KICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZSAuZXhlY3V0aW9uRW52aXJvbm1lbnQ9JHt0aGlzLndvcmtzcGFjZUVudmlyb25tZW50fT48L2RlZXMtd29ya3NwYWNlPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRGV0YWlsc1ZpZXcoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJiYWNrLWxpbmsiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUJhY2soKX0+CiAgICAgICAgICA8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMTUgMTggOSAxMiAxNSA2Ij48L3BvbHlsaW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBCYWNrIHRvIFNlcnZpY2VzCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1oZWFkZXIiIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAyNHB4OyI+CiAgICAgICAgPGgxIGNsYXNzPSJzZXJ2aWNlLW5hbWUiPiR7dGhpcy5zZXJ2aWNlLm5hbWV9PC9oMT4KICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWJhZGdlICR7dGhpcy5zZXJ2aWNlLnN0YXR1c30iPiR7dGhpcy5zZXJ2aWNlLnN0YXR1c308L3NwYW4+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbi1jb250ZW50Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtdGl0bGUiPlNlcnZpY2UgRGV0YWlsczwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIHN0eWxlPSJ3aWR0aDogYXV0bzsgcGFkZGluZzogNnB4IDEycHg7IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVFZGl0KCl9PkVkaXQ8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWxpc3QiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5JbWFnZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHt0aGlzLnNlcnZpY2UuaW1hZ2V9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlBvcnQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLnBvcnR9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkRvbWFpbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2UuZG9tYWluP3dgPGEgaHJlZj0iaHR0cHM6Ly8ke3RoaXMuc2VydmljZS5kb21haW59IiB0YXJnZXQ9Il9ibGFuayI+JHt0aGlzLnNlcnZpY2UuZG9tYWlufTwvYT5gOiItIn0KICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkNvbnRhaW5lciBJRDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHt0aGlzLnNlcnZpY2UuY29udGFpbmVySWR9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkNyZWF0ZWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLmNyZWF0ZWR9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlVwZGF0ZWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLnVwZGF0ZWR9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRlZXMtY2hhcnQtbG9nCiAgICAgICAgICAgIC5sYWJlbD0keyJTZXJ2aWNlIExvZ3MifQogICAgICAgICAgICAubG9nRW50cmllcz0ke3RoaXMubG9ncy5tYXAoVD0+KHt0aW1lc3RhbXA6VC50aW1lc3RhbXA/LmluY2x1ZGVzPy4oIlQiKT9ULnRpbWVzdGFtcDpuZXcgRGF0ZShULnRpbWVzdGFtcHx8RGF0ZS5ub3coKSkudG9JU09TdHJpbmcoKSxsZXZlbDpULmxldmVsfHwiaW5mbyIsbWVzc2FnZTpULm1lc3NhZ2V9KSl9CiAgICAgICAgICAgIC5hdXRvU2Nyb2xsPSR7ITB9CiAgICAgICAgICAgIC5tYXhFbnRyaWVzPSR7MmUzfQogICAgICAgICAgICAuc2hvd01ldHJpY3M9JHshMH0KICAgICAgICAgID48L2RlZXMtY2hhcnQtbG9nPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC10aXRsZSI+TGl2ZSBzdGF0czwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0cy1ncmlkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPkNQVTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LXZhbHVlIj4ke3RoaXMuc3RhdHMuY3B1LnRvRml4ZWQoMSl9JTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWl0ZW0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWxhYmVsIj5NZW1vcnk8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC12YWx1ZSI+JHt0aGlzLnN0YXRzLm1lbW9yeX08L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1zdWJ2YWx1ZSI+b2YgJHt0aGlzLnN0YXRzLm1lbW9yeUxpbWl0fTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWl0ZW0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWxhYmVsIj5OZXR3b3JrIEluPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtdmFsdWUiPiR7dGhpcy5zdGF0cy5uZXR3b3JrSW59PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPk5ldHdvcmsgT3V0PC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtdmFsdWUiPiR7dGhpcy5zdGF0cy5uZXR3b3JrT3V0fTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC10aXRsZSI+QWN0aW9uczwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1zdWJ0aXRsZSI+TWFuYWdlIHNlcnZpY2Ugc3RhdGU8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucy1ncmlkIj4KICAgICAgICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLnN0YXR1cz09PSJydW5uaW5nIj93YDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUFjdGlvbigic3RvcCIpfT5TdG9wIFNlcnZpY2U8L2J1dHRvbj5gOndgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKCJzdGFydCIpfT5TdGFydCBTZXJ2aWNlPC9idXR0b24+YH0KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUFjdGlvbigicmVzdGFydCIpfT5SZXN0YXJ0IFNlcnZpY2U8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZU9wZW5Xb3Jrc3BhY2UoKX0+CiAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmU7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IG1hcmdpbi1yaWdodDogNHB4OyI+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iNCAxNyAxMCAxMSA0IDUiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMTkiIHgyPSIyMCIgeTI9IjE5Ij48L2xpbmU+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICBPcGVuIFdvcmtzcGFjZQogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIGRhbmdlciIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKCJkZWxldGUiKX0+RGVsZXRlIFNlcnZpY2U8L2J1dHRvbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLXRpdGxlIj5JbWFnZSBTb3VyY2U8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtc3VidGl0bGUiPiR7dGhpcy5zZXJ2aWNlLnJlZ2lzdHJ5PT09IkRvY2tlciBIdWIiPyJFeHRlcm5hbCBjb250YWluZXIgcmVnaXN0cnkiOiJPbmVib3ggcmVnaXN0cnkifTwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtbGlzdCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlJlZ2lzdHJ5PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke3RoaXMuc2VydmljZS5yZWdpc3RyeX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+UmVwb3NpdG9yeTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHt0aGlzLnNlcnZpY2UucmVwb3NpdG9yeX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+VGFnPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj48c3BhbiBjbGFzcz0idGFnLWJhZGdlIj4ke3RoaXMuc2VydmljZS50YWd9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtdGl0bGUiPkJhY2t1cHM8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtc3VidGl0bGUiPkNyZWF0ZSBhbmQgbWFuYWdlIHNlcnZpY2UgYmFja3VwczwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIHN0eWxlPSJ3aWR0aDogYXV0bzsgcGFkZGluZzogNnB4IDEycHg7IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDcmVhdGVCYWNrdXAoKX0+CiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA0cHg7Ij4KICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgQ3JlYXRlIEJhY2t1cAogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYWNrdXAtbGlzdCI+CiAgICAgICAgICAgICAgICAke3RoaXMuYmFja3Vwcy5tYXAoVD0+d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFja3VwLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJhY2t1cC1pbmZvIj4KICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJhY2t1cC1kYXRlIj4ke1QuY3JlYXRlZEF0fTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFja3VwLW1ldGEiPiR7VC5zaXplfSDCtyAke1QudHlwZX08L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYWNrdXAtYWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiIgdGl0bGU9IkRvd25sb2FkIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEb3dubG9hZEJhY2t1cChUKX0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iNyAxMCAxMiAxNSAxNyAxMCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjE1IiB4Mj0iMTIiIHkyPSIzIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiIgdGl0bGU9IlJlc3RvcmUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVJlc3RvcmVCYWNrdXAoVCl9PgogICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxIDQgMSAxMCA3IDEwIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTMuNTEgMTVhOSA5IDAgMSAwIDIuMTMtOS4zNkwxIDEwIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiIgdGl0bGU9IkRlbGV0ZSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRGVsZXRlQmFja3VwKFQpfT4KICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMyw2IDUsNiAyMSw2Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE5LDZ2MTRhMiwyLDAsMCwxLTIsMkg3YTIsMiwwLDAsMS0yLTJWNm0zLDBWNGEyLDIsMCwwLDEsMi0yaDRhMiwyLDAsMCwxLDIsMnYyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVCYWNrKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYmFjayIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRWRpdCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImVkaXQiLHtkZXRhaWw6dGhpcy5zZXJ2aWNlLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQWN0aW9uKFQpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlcnZpY2UtYWN0aW9uIix7ZGV0YWlsOntzZXJ2aWNlOnRoaXMuc2VydmljZSxhY3Rpb246VH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX10b2dnbGVTdHJlYW1pbmcoKXt0aGlzLnN0cmVhbWluZz0hdGhpcy5zdHJlYW1pbmcsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic3RyZWFtLXRvZ2dsZSIse2RldGFpbDp7c3RyZWFtaW5nOnRoaXMuc3RyZWFtaW5nfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUNsZWFyTG9ncygpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNsZWFyLWxvZ3MiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUNyZWF0ZUJhY2t1cCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNyZWF0ZS1iYWNrdXAiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZURvd25sb2FkQmFja3VwKFQpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRvd25sb2FkLWJhY2t1cCIse2RldGFpbDpULGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlUmVzdG9yZUJhY2t1cChUKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZXN0b3JlLWJhY2t1cCIse2RldGFpbDpULGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRGVsZXRlQmFja3VwKFQpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRlbGV0ZS1iYWNrdXAiLHtkZXRhaWw6VCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZU9wZW5Xb3Jrc3BhY2UoKXt0aGlzLndvcmtzcGFjZUVudmlyb25tZW50Pyh0aGlzLmN1cnJlbnRWaWV3PSJ3b3Jrc3BhY2UiLHRoaXMuY2xhc3NMaXN0LmFkZCgid29ya3NwYWNlLW1vZGUiKSk6dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicmVxdWVzdC13b3Jrc3BhY2UiLHtkZXRhaWw6e3NlcnZpY2U6dGhpcy5zZXJ2aWNlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUNsb3NlV29ya3NwYWNlKCl7dGhpcy5jdXJyZW50Vmlldz0iZGV0YWlscyIsdGhpcy5jbGFzc0xpc3QucmVtb3ZlKCJ3b3Jrc3BhY2UtbW9kZSIpfXVwZGF0ZWQoVCl7c3VwZXIudXBkYXRlZChUKSxULmhhcygid29ya3NwYWNlRW52aXJvbm1lbnQiKSYmdGhpcy53b3Jrc3BhY2VFbnZpcm9ubWVudCYmdGhpcy5jdXJyZW50Vmlldz09PSJkZXRhaWxzIiYmKHRoaXMuY3VycmVudFZpZXc9IndvcmtzcGFjZSIsdGhpcy5jbGFzc0xpc3QuYWRkKCJ3b3Jrc3BhY2UtbW9kZSIpKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksb3IodGhpcyx6KX1zdGF0aWN7b3IocixhKX19O3JldHVybiBEPXJ9KSgpfSk7dmFyIHhYLFA2LEx4YSxBYWE9YygoKT0+e3BlKCk7eFg9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LFA2PWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxMeGE9KCgpPT57bGV0IHQ9W2FlKCJzei1hcHAtc3RvcmUtdmlldyIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJTekFwcFN0b3JlVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6QXJyYXl9KV0saD1bWigpXSxwPVtaKCldLHhYKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXBwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtPT4iYXBwcyJpbiBtLCJoYXMiKSxnZXQ6aShtPT5tLmFwcHMsImdldCIpLHNldDppKChtLHkpPT57bS5hcHBzPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbyxsKSx4WCh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkQ2F0ZWdvcnkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkobT0+InNlbGVjdGVkQ2F0ZWdvcnkiaW4gbSwiaGFzIiksZ2V0OmkobT0+bS5zZWxlY3RlZENhdGVnb3J5LCJnZXQiKSxzZXQ6aSgobSx5KT0+e20uc2VsZWN0ZWRDYXRlZ29yeT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LHUsZikseFgodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWFyY2hRdWVyeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtPT4ic2VhcmNoUXVlcnkiaW4gbSwiaGFzIiksZ2V0OmkobT0+bS5zZWFyY2hRdWVyeSwiZ2V0Iiksc2V0OmkoKG0seSk9PnttLnNlYXJjaFF1ZXJ5PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sZyx2KSx4WChudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLGEpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEyMDBweDsiPgogICAgICA8c3otYXBwLXN0b3JlLXZpZXcKICAgICAgICAuYXBwcz0ke1t7aWQ6IndvcmRwcmVzcyIsbmFtZToiV29yZFByZXNzIixkZXNjcmlwdGlvbjoiVGhlIHdvcmxkJ3MgbW9zdCBwb3B1bGFyIG9wZW4tc291cmNlIGNvbnRlbnQgbWFuYWdlbWVudCBzeXN0ZW0gZm9yIGJ1aWxkaW5nIHdlYnNpdGVzIGFuZCBibG9ncy4iLGNhdGVnb3J5OiJDTVMiLGljb25OYW1lOiJmaWxlLXRleHQiLGltYWdlOiJ3b3JkcHJlc3M6bGF0ZXN0Iixwb3J0OjgwLGVudlZhcnM6W3trZXk6IldPUkRQUkVTU19EQl9IT1NUIix2YWx1ZToiIixkZXNjcmlwdGlvbjoiRGF0YWJhc2UgaG9zdCBhZGRyZXNzIixyZXF1aXJlZDohMH0se2tleToiV09SRFBSRVNTX0RCX1VTRVIiLHZhbHVlOiJ3b3JkcHJlc3MiLGRlc2NyaXB0aW9uOiJEYXRhYmFzZSB1c2VybmFtZSIscmVxdWlyZWQ6ITB9LHtrZXk6IldPUkRQUkVTU19EQl9QQVNTV09SRCIsdmFsdWU6IiIsZGVzY3JpcHRpb246IkRhdGFiYXNlIHBhc3N3b3JkIixyZXF1aXJlZDohMH0se2tleToiV09SRFBSRVNTX0RCX05BTUUiLHZhbHVlOiJ3b3JkcHJlc3MiLGRlc2NyaXB0aW9uOiJEYXRhYmFzZSBuYW1lIixyZXF1aXJlZDohMH1dLHZvbHVtZXM6WyIvdmFyL3d3dy9odG1sIl0sZW5hYmxlTW9uZ29EQjohMSxlbmFibGVTMzohMX0se2lkOiJnaXRlYSIsbmFtZToiR2l0ZWEiLGRlc2NyaXB0aW9uOiJBIGxpZ2h0d2VpZ2h0LCBzZWxmLWhvc3RlZCBHaXQgc2VydmljZS4gUGFpbmxlc3Mgc2V0dXAgZm9yIHlvdXIgb3duIGNvZGUgaG9zdGluZyBwbGF0Zm9ybS4iLGNhdGVnb3J5OiJEZXZlbG9wbWVudCIsaWNvbk5hbWU6ImdpdC1icmFuY2giLGltYWdlOiJnaXRlYS9naXRlYTpsYXRlc3QiLHBvcnQ6M2UzLGVudlZhcnM6W3trZXk6IkdJVEVBX19kYXRhYmFzZV9fREJfVFlQRSIsdmFsdWU6InNxbGl0ZTMiLGRlc2NyaXB0aW9uOiJEYXRhYmFzZSB0eXBlIixyZXF1aXJlZDohMH0se2tleToiR0lURUFfX3NlcnZlcl9fUk9PVF9VUkwiLHZhbHVlOiIiLGRlc2NyaXB0aW9uOiJQdWJsaWMgVVJMIG9mIHRoZSBHaXRlYSBpbnN0YW5jZSIscmVxdWlyZWQ6ITF9XSx2b2x1bWVzOlsiL2RhdGEiXX0se2lkOiJnaG9zdCIsbmFtZToiR2hvc3QiLGRlc2NyaXB0aW9uOiJBIHBvd2VyZnVsIG9wZW4tc291cmNlIHB1Ymxpc2hpbmcgcGxhdGZvcm0gZm9yIHByb2Zlc3Npb25hbCBibG9nZ2VycyBhbmQgY29udGVudCBjcmVhdG9ycy4iLGNhdGVnb3J5OiJDTVMiLGljb25OYW1lOiJib29rLW9wZW4iLGltYWdlOiJnaG9zdDpsYXRlc3QiLHBvcnQ6MjM2OCxlbnZWYXJzOlt7a2V5OiJ1cmwiLHZhbHVlOiIiLGRlc2NyaXB0aW9uOiJQdWJsaWMgVVJMIGZvciB0aGUgR2hvc3Qgc2l0ZSIscmVxdWlyZWQ6ITB9LHtrZXk6ImRhdGFiYXNlX19jbGllbnQiLHZhbHVlOiJzcWxpdGUzIixkZXNjcmlwdGlvbjoiRGF0YWJhc2UgY2xpZW50IHR5cGUiLHJlcXVpcmVkOiExfV0sdm9sdW1lczpbIi92YXIvbGliL2dob3N0L2NvbnRlbnQiXX0se2lkOiJuZ2lueCIsbmFtZToiTmdpbngiLGRlc2NyaXB0aW9uOiJIaWdoLXBlcmZvcm1hbmNlIEhUVFAgc2VydmVyIGFuZCByZXZlcnNlIHByb3h5IHdpdGggbG93IHJlc291cmNlIGNvbnN1bXB0aW9uLiIsY2F0ZWdvcnk6IldlYiBTZXJ2ZXIiLGljb25OYW1lOiJnbG9iZSIsaW1hZ2U6Im5naW54OmFscGluZSIscG9ydDo4MCx2b2x1bWVzOlsiL3Vzci9zaGFyZS9uZ2lueC9odG1sIiwiL2V0Yy9uZ2lueC9jb25mLmQiXX0se2lkOiJyZWRpcyIsbmFtZToiUmVkaXMiLGRlc2NyaXB0aW9uOiJJbi1tZW1vcnkgZGF0YSBzdG9yZSB1c2VkIGFzIGEgZGF0YWJhc2UsIGNhY2hlLCBzdHJlYW1pbmcgZW5naW5lLCBhbmQgbWVzc2FnZSBicm9rZXIuIixjYXRlZ29yeToiRGF0YWJhc2UiLGljb25OYW1lOiJkYXRhYmFzZSIsaW1hZ2U6InJlZGlzOmFscGluZSIscG9ydDo2Mzc5fSx7aWQ6InBvc3RncmVzIixuYW1lOiJQb3N0Z3JlU1FMIixkZXNjcmlwdGlvbjoiQWR2YW5jZWQgb3Blbi1zb3VyY2UgcmVsYXRpb25hbCBkYXRhYmFzZSB3aXRoIHN0cm9uZyByZWxpYWJpbGl0eSBhbmQgZmVhdHVyZSBzZXQuIixjYXRlZ29yeToiRGF0YWJhc2UiLGljb25OYW1lOiJkYXRhYmFzZSIsaW1hZ2U6InBvc3RncmVzOjE2LWFscGluZSIscG9ydDo1NDMyLGVudlZhcnM6W3trZXk6IlBPU1RHUkVTX1VTRVIiLHZhbHVlOiJwb3N0Z3JlcyIsZGVzY3JpcHRpb246IlN1cGVydXNlciB1c2VybmFtZSIscmVxdWlyZWQ6ITB9LHtrZXk6IlBPU1RHUkVTX1BBU1NXT1JEIix2YWx1ZToiIixkZXNjcmlwdGlvbjoiU3VwZXJ1c2VyIHBhc3N3b3JkIixyZXF1aXJlZDohMH0se2tleToiUE9TVEdSRVNfREIiLHZhbHVlOiJwb3N0Z3JlcyIsZGVzY3JpcHRpb246IkRlZmF1bHQgZGF0YWJhc2UgbmFtZSIscmVxdWlyZWQ6ITF9XSx2b2x1bWVzOlsiL3Zhci9saWIvcG9zdGdyZXNxbC9kYXRhIl19XX0KICAgICAgPjwvc3otYXBwLXN0b3JlLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJTZXJ2aWNlcyJdOyNlPVA2KHRoaXMsbyxbXSk7Z2V0IGFwcHMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgYXBwcyhiKXt0aGlzLiNlPWJ9I3Q9KFA2KHRoaXMsbCksUDYodGhpcyx1LCJBbGwiKSk7Z2V0IHNlbGVjdGVkQ2F0ZWdvcnkoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VsZWN0ZWRDYXRlZ29yeShiKXt0aGlzLiN0PWJ9I2E9KFA2KHRoaXMsZiksUDYodGhpcyxnLCIiKSk7Z2V0IHNlYXJjaFF1ZXJ5KCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNlYXJjaFF1ZXJ5KGIpe3RoaXMuI2E9Yn1zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuaGVhZGVyLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgIH0KCiAgICAgIC5maWx0ZXItYmFyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuY2F0ZWdvcnktcGlsbHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAuY2F0ZWdvcnktcGlsbCB7CiAgICAgICAgcGFkZGluZzogNnB4IDE0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmNhdGVnb3J5LXBpbGw6aG92ZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjM2YzZjQ2Iil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5jYXRlZ29yeS1waWxsLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaW5wdXQgewogICAgICAgIHdpZHRoOiAyNDBweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweCA4cHggMzZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyMDBtcyBlYXNlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLnNlYXJjaC13cmFwcGVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaWNvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDEwcHg7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuYXBwLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHsKICAgICAgICAuYXBwLWdyaWQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2NDBweCkgewogICAgICAgIC5hcHAtZ3JpZCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICB9CgogICAgICAgIC5maWx0ZXItYmFyIHsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgICB9CgogICAgICAgIC5zZWFyY2gtaW5wdXQgewogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgfQogICAgICB9CgogICAgICAuYXBwLWNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC5hcHAtY2FyZDpob3ZlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCAke2QuYmRUaGVtZSgicmdiYSgwLDAsMCwwLjA1KSIsInJnYmEoMCwwLDAsMC4yKSIpfTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7CiAgICAgIH0KCiAgICAgIC5jYXJkLXRvcCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBnYXA6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5hcHAtaWNvbiB7CiAgICAgICAgd2lkdGg6IDQ0cHg7CiAgICAgICAgaGVpZ2h0OiA0NHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuYXBwLWljb24gc3ZnIHsKICAgICAgICB3aWR0aDogMjJweDsKICAgICAgICBoZWlnaHQ6IDIycHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmFwcC1pY29uIGltZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICB9CgogICAgICAuYXBwLWljb24gLmxldHRlci1mYWxsYmFjayB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLmNhcmQtaW5mbyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5hcHAtbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS4zOwogICAgICB9CgogICAgICAuY2F0ZWdvcnktYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZWZmNmZmIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5hcHAtZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7CiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyOwogICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAuY2FyZC1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzFhMWExZSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiBhdXRvOwogICAgICB9CgogICAgICAuaW1hZ2UtdGFnIHsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBtYXgtd2lkdGg6IDE2MHB4OwogICAgICB9CgogICAgICAuZGVwbG95LWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA3cHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZGVwbG95LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMC44NTsKICAgICAgfQoKICAgICAgLmRlcGxveS1idXR0b24gc3ZnIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5kZXRhaWxzLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA3cHggMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5kZXRhaWxzLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmNhcmQtYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7CiAgICAgICAgcGFkZGluZzogNjRweCAyNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmVtcHR5LWljb24gewogICAgICAgIHdpZHRoOiA0OHB4OwogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjM2YzZjQ2Iil9OwogICAgICAgIG1hcmdpbjogMCBhdXRvIDE2cHg7CiAgICAgIH0KCiAgICAgIC5lbXB0eS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1kZXNjcmlwdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO2dldCBjYXRlZ29yaWVzKCl7bGV0IGI9bmV3IFNldCh0aGlzLmFwcHMubWFwKG09Pm0uY2F0ZWdvcnkpKTtyZXR1cm5bIkFsbCIsLi4uQXJyYXkuZnJvbShiKS5zb3J0KCldfWdldCBmaWx0ZXJlZEFwcHMoKXtsZXQgYj10aGlzLmFwcHM7aWYodGhpcy5zZWxlY3RlZENhdGVnb3J5IT09IkFsbCImJihiPWIuZmlsdGVyKG09Pm0uY2F0ZWdvcnk9PT10aGlzLnNlbGVjdGVkQ2F0ZWdvcnkpKSx0aGlzLnNlYXJjaFF1ZXJ5LnRyaW0oKSl7bGV0IG09dGhpcy5zZWFyY2hRdWVyeS50cmltKCkudG9Mb3dlckNhc2UoKTtiPWIuZmlsdGVyKHk9PnkubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG0pfHx5LmRlc2NyaXB0aW9uLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobSl8fHkuY2F0ZWdvcnkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhtKSl9cmV0dXJuIGJ9cmVuZGVyKCl7bGV0IGI9dGhpcy5maWx0ZXJlZEFwcHM7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXRpdGxlIj5BcHAgU3RvcmU8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItc3VidGl0bGUiPkRlcGxveSBwb3B1bGFyIGFwcGxpY2F0aW9ucyB3aXRoIG9uZSBjbGljazwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImZpbHRlci1iYXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImNhdGVnb3J5LXBpbGxzIj4KICAgICAgICAgICR7dGhpcy5jYXRlZ29yaWVzLm1hcChtPT53YAogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJjYXRlZ29yeS1waWxsICR7dGhpcy5zZWxlY3RlZENhdGVnb3J5PT09bT8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+e3RoaXMuc2VsZWN0ZWRDYXRlZ29yeT1tfX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke219CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaC13cmFwcGVyIj4KICAgICAgICAgIDxzdmcgY2xhc3M9InNlYXJjaC1pY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4Ij48L2NpcmNsZT4KICAgICAgICAgICAgPGxpbmUgeDE9IjIxIiB5MT0iMjEiIHgyPSIxNi42NSIgeTI9IjE2LjY1Ij48L2xpbmU+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICBjbGFzcz0ic2VhcmNoLWlucHV0IgogICAgICAgICAgICBwbGFjZWhvbGRlcj0iU2VhcmNoIGFwcHMuLi4iCiAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuc2VhcmNoUXVlcnl9CiAgICAgICAgICAgIEBpbnB1dD0ke209Pnt0aGlzLnNlYXJjaFF1ZXJ5PW0udGFyZ2V0LnZhbHVlfX0KICAgICAgICAgID4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJhcHAtZ3JpZCI+CiAgICAgICAgJHtiLmxlbmd0aD4wP2IubWFwKG09PnRoaXMucmVuZGVyQXBwQ2FyZChtKSk6d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJlbXB0eS1pY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSI+CiAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjExIiBjeT0iMTEiIHI9IjgiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMjEiIHkxPSIyMSIgeDI9IjE2LjY1IiB5Mj0iMTYuNjUiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjgiIHkxPSIxMSIgeDI9IjE0IiB5Mj0iMTEiPjwvbGluZT4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktdGl0bGUiPk5vIGFwcHMgZm91bmQ8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LWRlc2NyaXB0aW9uIj4KICAgICAgICAgICAgICAgICAgVHJ5IGFkanVzdGluZyB5b3VyIHNlYXJjaCBvciBmaWx0ZXIgdG8gZmluZCB3aGF0IHlvdSdyZSBsb29raW5nIGZvci4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgfQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyQXBwQ2FyZChiKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iYXBwLWNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtdG9wIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFwcC1pY29uIj4KICAgICAgICAgICAgJHtiLmljb25Vcmw/d2A8aW1nIHNyYz0iJHtiLmljb25Vcmx9IiBhbHQ9IiR7Yi5uYW1lfSI+YDpiLmljb25OYW1lP3RoaXMucmVuZGVySWNvbkJ5TmFtZShiLmljb25OYW1lKTp3YDxzcGFuIGNsYXNzPSJsZXR0ZXItZmFsbGJhY2siPiR7Yi5uYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpfTwvc3Bhbj5gfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWluZm8iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhcHAtbmFtZSI+JHtiLm5hbWV9PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhdGVnb3J5LWJhZGdlIj4ke2IuY2F0ZWdvcnl9PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhcHAtZGVzY3JpcHRpb24iPiR7Yi5kZXNjcmlwdGlvbn08L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWZvb3RlciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iaW1hZ2UtdGFnIiB0aXRsZT0iJHtiLmltYWdlfSI+JHtiLmltYWdlfTwvc3Bhbj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYWN0aW9ucyI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRldGFpbHMtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVWaWV3RGV0YWlscyhiKX0+CiAgICAgICAgICAgICAgVmlldyBEZXRhaWxzCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkZXBsb3ktYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEZXBsb3koYil9PgogICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjIwIDEyIDIwIDIyIDQgMjIgNCAxMiI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgIDxyZWN0IHg9IjIiIHk9IjciIHdpZHRoPSIyMCIgaGVpZ2h0PSI1Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIyMiIgeDI9IjEyIiB5Mj0iNyI+PC9saW5lPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDdINy41YTIuNSAyLjUgMCAwIDEgMC01QzExIDIgMTIgNyAxMiA3eiI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDdoNC41YTIuNSAyLjUgMCAwIDAgMC01QzEzIDIgMTIgNyAxMiA3eiI+PC9wYXRoPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIERlcGxveQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVySWNvbkJ5TmFtZShiKXtyZXR1cm57ImZpbGUtdGV4dCI6d2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4eiI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9IjE0IDIgMTQgOCAyMCA4Ij48L3BvbHlsaW5lPjxsaW5lIHgxPSIxNiIgeTE9IjEzIiB4Mj0iOCIgeTI9IjEzIj48L2xpbmU+PGxpbmUgeDE9IjE2IiB5MT0iMTciIHgyPSI4IiB5Mj0iMTciPjwvbGluZT48cG9seWxpbmUgcG9pbnRzPSIxMCA5IDkgOSA4IDkiPjwvcG9seWxpbmU+PC9zdmc+YCwiZ2l0LWJyYW5jaCI6d2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PGxpbmUgeDE9IjYiIHkxPSIzIiB4Mj0iNiIgeTI9IjE1Ij48L2xpbmU+PGNpcmNsZSBjeD0iMTgiIGN5PSI2IiByPSIzIj48L2NpcmNsZT48Y2lyY2xlIGN4PSI2IiBjeT0iMTgiIHI9IjMiPjwvY2lyY2xlPjxwYXRoIGQ9Ik0xOCA5YTkgOSAwIDAgMS05IDkiPjwvcGF0aD48L3N2Zz5gLCJib29rLW9wZW4iOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik0yIDNoNmE0IDQgMCAwIDEgNCA0djE0YTMgMyAwIDAgMC0zLTNIMnoiPjwvcGF0aD48cGF0aCBkPSJNMjIgM2gtNmE0IDQgMCAwIDAtNCA0djE0YTMgMyAwIDAgMSAzLTNoN3oiPjwvcGF0aD48L3N2Zz5gLGdsb2JlOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIj48L2NpcmNsZT48bGluZSB4MT0iMiIgeTE9IjEyIiB4Mj0iMjIiIHkyPSIxMiI+PC9saW5lPjxwYXRoIGQ9Ik0xMiAyYTE1LjMgMTUuMyAwIDAgMSA0IDEwIDE1LjMgMTUuMyAwIDAgMS00IDEwIDE1LjMgMTUuMyAwIDAgMS00LTEwIDE1LjMgMTUuMyAwIDAgMSA0LTEweiI+PC9wYXRoPjwvc3ZnPmAsZGF0YWJhc2U6d2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PGVsbGlwc2UgY3g9IjEyIiBjeT0iNSIgcng9IjkiIHJ5PSIzIj48L2VsbGlwc2U+PHBhdGggZD0iTTIxIDEyYzAgMS42Ni00IDMtOSAzcy05LTEuMzQtOS0zIj48L3BhdGg+PHBhdGggZD0iTTMgNXYxNGMwIDEuNjYgNCAzIDkgM3M5LTEuMzQgOS0zVjUiPjwvcGF0aD48L3N2Zz5gLHNlcnZlcjp3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cmVjdCB4PSIyIiB5PSIyIiB3aWR0aD0iMjAiIGhlaWdodD0iOCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+PHJlY3QgeD0iMiIgeT0iMTQiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIgcnk9IjIiPjwvcmVjdD48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSI2LjAxIiB5Mj0iNiI+PC9saW5lPjxsaW5lIHgxPSI2IiB5MT0iMTgiIHgyPSI2LjAxIiB5Mj0iMTgiPjwvbGluZT48L3N2Zz5gLHBhY2thZ2U6d2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PGxpbmUgeDE9IjE2LjUiIHkxPSI5LjQiIHgyPSI3LjUiIHkyPSI0LjIxIj48L2xpbmU+PHBhdGggZD0iTTIxIDE2VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43M2w3IDRhMiAyIDAgMCAwIDIgMGw3LTRBMiAyIDAgMCAwIDIxIDE2eiI+PC9wYXRoPjxwb2x5bGluZSBwb2ludHM9IjMuMjcgNi45NiAxMiAxMi4wMSAyMC43MyA2Ljk2Ij48L3BvbHlsaW5lPjxsaW5lIHgxPSIxMiIgeTE9IjIyLjA4IiB4Mj0iMTIiIHkyPSIxMiI+PC9saW5lPjwvc3ZnPmAsbWFpbDp3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNNCA0aDE2YzEuMSAwIDIgLjkgMiAydjEyYzAgMS4xLS45IDItMiAySDRjLTEuMSAwLTItLjktMi0yVjZjMC0xLjEuOS0yIDItMnoiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPSIyMiw2IDEyLDEzIDIsNiI+PC9wb2x5bGluZT48L3N2Zz5gLHNoaWVsZDp3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNMTIgMjJzOC00IDgtMTBWNWwtOC0zLTggM3Y3YzAgNiA4IDEwIDggMTB6Ij48L3BhdGg+PC9zdmc+YCxtb25pdG9yOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxyZWN0IHg9IjIiIHk9IjMiIHdpZHRoPSIyMCIgaGVpZ2h0PSIxNCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+PGxpbmUgeDE9IjgiIHkxPSIyMSIgeDI9IjE2IiB5Mj0iMjEiPjwvbGluZT48bGluZSB4MT0iMTIiIHkxPSIxNyIgeDI9IjEyIiB5Mj0iMjEiPjwvbGluZT48L3N2Zz5gfVtiXXx8d2A8c3BhbiBjbGFzcz0ibGV0dGVyLWZhbGxiYWNrIj4/PC9zcGFuPmB9aGFuZGxlVmlld0RldGFpbHMoYil7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidmlldy1hcHAiLHtkZXRhaWw6e2FwcDpifSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZURlcGxveShiKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZXBsb3ktYXBwIix7ZGV0YWlsOnthcHA6Yn0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksUDYodGhpcyx2KX1zdGF0aWN7UDYocixhKX19O3JldHVybiB4PXJ9KSgpfSk7dmFyIHFIZSxqQiwkeGEsUGFhPWMoKCk9PntwZSgpO3FIZT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sakI9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LCR4YT0oKCk9PntsZXQgdD1bYWUoInN6LXRva2Vucy12aWV3IildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W107dmFyIHA9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6VG9rZW5zVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBnPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6QXJyYXl9KV0saD1bTCh7dHlwZTpBcnJheX0pXSxxSGUodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJnbG9iYWxUb2tlbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+Imdsb2JhbFRva2VucyJpbiB2LCJoYXMiKSxnZXQ6aSh2PT52Lmdsb2JhbFRva2VucywiZ2V0Iiksc2V0OmkoKHYseCk9Pnt2Lmdsb2JhbFRva2Vucz14fSwic2V0Iil9LG1ldGFkYXRhOmd9LG8sbCkscUhlKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2lUb2tlbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+ImNpVG9rZW5zImluIHYsImhhcyIpLGdldDppKHY9PnYuY2lUb2tlbnMsImdldCIpLHNldDppKCh2LHgpPT57di5jaVRva2Vucz14fSwic2V0Iil9LG1ldGFkYXRhOmd9LHUsZikscUhlKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmd9LG51bGwsYSkscD1yPWUudmFsdWUsZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpnfSl9c3RhdGljIGRlbW89aSgoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTAwMHB4OyI+CiAgICAgIDxzei10b2tlbnMtdmlldwogICAgICAgIC5nbG9iYWxUb2tlbnM9JHtbe2lkOiIxIixuYW1lOiJDSS9DRCBQaXBlbGluZSIsdHlwZToiZ2xvYmFsIixjcmVhdGVkQXQ6IjIwMjQtMDEtMTUiLGxhc3RVc2VkOiIyMDI0LTAxLTIwIn0se2lkOiIyIixuYW1lOiJEZXZlbG9wbWVudCIsdHlwZToiZ2xvYmFsIixjcmVhdGVkQXQ6IjIwMjQtMDEtMTAifV19CiAgICAgICAgLmNpVG9rZW5zPSR7W3tpZDoiMyIsbmFtZToiaGVsbG8td29ybGQtY2kiLHR5cGU6ImNpIixzZXJ2aWNlOiJoZWxsby13b3JsZCIsY3JlYXRlZEF0OiIyMDI0LTAxLTE4In0se2lkOiI0IixuYW1lOiJhcGktc2VydmljZS1jaSIsdHlwZToiY2kiLHNlcnZpY2U6ImFwaS1zZXJ2aWNlIixjcmVhdGVkQXQ6IjIwMjQtMDEtMTIiLGxhc3RVc2VkOiIyMDI0LTAxLTE5In1dfQogICAgICA+PC9zei10b2tlbnMtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkF1dGggJiBTZXR0aW5ncyJdOyNlPWpCKHRoaXMsbyxbXSk7Z2V0IGdsb2JhbFRva2Vucygpe3JldHVybiB0aGlzLiNlfXNldCBnbG9iYWxUb2tlbnMoZyl7dGhpcy4jZT1nfSN0PShqQih0aGlzLGwpLGpCKHRoaXMsdSxbXSkpO2dldCBjaVRva2Vucygpe3JldHVybiB0aGlzLiN0fXNldCBjaVRva2VucyhnKXt0aGlzLiN0PWd9c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLnNlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnNlY3Rpb24taGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmNyZWF0ZS1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5jcmVhdGUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAwLjk7CiAgICAgIH0KCiAgICAgIC50b2tlbi1saXN0IHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICAudG9rZW4taXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC50b2tlbi1pdGVtOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC50b2tlbi1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC50b2tlbi1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudG9rZW4tbWV0YSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC50b2tlbi1zZXJ2aWNlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDsKICAgICAgfQoKICAgICAgLnRva2VuLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kZWxldGUgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRlbGV0ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDMycHggMTZweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5lbXB0eS10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuZW1wdHktYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuZW1wdHktYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWluZm8iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5HbG9iYWwgVG9rZW5zPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPlRva2VucyB0aGF0IGNhbiBwdXNoIGltYWdlcyB0byBtdWx0aXBsZSBzZXJ2aWNlczwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjcmVhdGUtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDcmVhdGUoImdsb2JhbCIpfT4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgICA8bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgQ3JlYXRlIFRva2VuCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuZ2xvYmFsVG9rZW5zLmxlbmd0aD4wP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1saXN0Ij4KICAgICAgICAgICAgJHt0aGlzLmdsb2JhbFRva2Vucy5tYXAoZz0+dGhpcy5yZW5kZXJUb2tlbihnKSl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXRleHQiPk5vIGdsb2JhbCB0b2tlbnMgY3JlYXRlZDwvZGl2PgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJlbXB0eS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUNyZWF0ZSgiZ2xvYmFsIil9PkNyZWF0ZSBHbG9iYWwgVG9rZW48L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGB9CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1pbmZvIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Q0kgVG9rZW5zIChTZXJ2aWNlLXNwZWNpZmljKTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5Ub2tlbnMgdGllZCB0byBpbmRpdmlkdWFsIHNlcnZpY2VzIGZvciBDSS9DRCBwaXBlbGluZXM8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3JlYXRlLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ3JlYXRlKCJjaSIpfT4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgICA8bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgQ3JlYXRlIFRva2VuCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuY2lUb2tlbnMubGVuZ3RoPjA/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWxpc3QiPgogICAgICAgICAgICAke3RoaXMuY2lUb2tlbnMubWFwKGc9PnRoaXMucmVuZGVyVG9rZW4oZykpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDp3YAogICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS10ZXh0Ij5ObyBDSSB0b2tlbnMgY3JlYXRlZDwvZGl2PgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJlbXB0eS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUNyZWF0ZSgiY2kiKX0+Q3JlYXRlIENJIFRva2VuPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgfQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyVG9rZW4oZyl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InRva2VuLWl0ZW0iPgogICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWluZm8iPgogICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+JHtnLm5hbWV9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1tZXRhIj4KICAgICAgICAgICAgJHtnLnNlcnZpY2U/d2A8c3BhbiBjbGFzcz0idG9rZW4tc2VydmljZSI+JHtnLnNlcnZpY2V9PC9zcGFuPmA6IiJ9CiAgICAgICAgICAgIENyZWF0ZWQgJHtnLmNyZWF0ZWRBdH0KICAgICAgICAgICAgJHtnLmxhc3RVc2VkP3dgIMK3IExhc3QgdXNlZCAke2cubGFzdFVzZWR9YDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWFjdGlvbnMiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ29weShnKX0+Q29weTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlUmVnZW5lcmF0ZShnKX0+UmVnZW5lcmF0ZTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBkZWxldGUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZShnKX0+RGVsZXRlPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVDcmVhdGUoZyl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY3JlYXRlIix7ZGV0YWlsOnt0eXBlOmd9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ29weShnKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb3B5Iix7ZGV0YWlsOmcsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVSZWdlbmVyYXRlKGcpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJlZ2VuZXJhdGUiLHtkZXRhaWw6ZyxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZURlbGV0ZShnKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWxldGUiLHtkZXRhaWw6ZyxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxqQih0aGlzLGYpfXN0YXRpY3tqQihyLGEpfX07cmV0dXJuIHA9cn0pKCl9KTt2YXIgVkhlLFVCLER4YSxFYWE9YygoKT0+e3BlKCk7VkhlPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxVQj1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sRHhhPSgoKT0+e2xldCB0PVthZSgic3otc2V0dGluZ3MtdmlldyIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdO3ZhciBwPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJTelNldHRpbmdzVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBnPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6T2JqZWN0fSldLGg9W0woe3R5cGU6U3RyaW5nfSldLFZIZSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNldHRpbmdzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHY9PiJzZXR0aW5ncyJpbiB2LCJoYXMiKSxnZXQ6aSh2PT52LnNldHRpbmdzLCJnZXQiKSxzZXQ6aSgodix4KT0+e3Yuc2V0dGluZ3M9eH0sInNldCIpfSxtZXRhZGF0YTpnfSxvLGwpLFZIZSh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRVc2VyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHY9PiJjdXJyZW50VXNlciJpbiB2LCJoYXMiKSxnZXQ6aSh2PT52LmN1cnJlbnRVc2VyLCJnZXQiKSxzZXQ6aSgodix4KT0+e3YuY3VycmVudFVzZXI9eH0sInNldCIpfSxtZXRhZGF0YTpnfSx1LGYpLFZIZShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpnfSxudWxsLGEpLHA9cj1lLnZhbHVlLGcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Z30pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDgwMHB4OyI+CiAgICAgIDxzei1zZXR0aW5ncy12aWV3CiAgICAgICAgLnNldHRpbmdzPSR7e2RhcmtNb2RlOiEwLGNsb3VkZmxhcmVUb2tlbjoiIixjbG91ZGZsYXJlWm9uZUlkOiIiLGF1dG9SZW5ld0NlcnRzOiEwLHJlbmV3YWxUaHJlc2hvbGQ6MzAsYWNtZUVtYWlsOiJjZXJ0c0BleGFtcGxlLmNvbSIsaHR0cFBvcnQ6ODAsaHR0cHNQb3J0OjQ0Myxmb3JjZUh0dHBzOiEwfX0KICAgICAgICBjdXJyZW50VXNlcj0iYWRtaW4iCiAgICAgID48L3N6LXNldHRpbmdzLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJBdXRoICYgU2V0dGluZ3MiXTsjZT1VQih0aGlzLG8se2RhcmtNb2RlOiExLGNsb3VkZmxhcmVUb2tlbjoiIixjbG91ZGZsYXJlWm9uZUlkOiIiLGF1dG9SZW5ld0NlcnRzOiEwLHJlbmV3YWxUaHJlc2hvbGQ6MzAsYWNtZUVtYWlsOiIiLGh0dHBQb3J0OjgwLGh0dHBzUG9ydDo0NDMsZm9yY2VIdHRwczohMH0pO2dldCBzZXR0aW5ncygpe3JldHVybiB0aGlzLiNlfXNldCBzZXR0aW5ncyhnKXt0aGlzLiNlPWd9I3Q9KFVCKHRoaXMsbCksVUIodGhpcyx1LCIiKSk7Z2V0IGN1cnJlbnRVc2VyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGN1cnJlbnRVc2VyKGcpe3RoaXMuI3Q9Z31zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuc2VjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc2VjdGlvbi1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuZm9ybS1ncm91cCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmZvcm0tZ3JvdXA6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLmZvcm0tcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDEycHggMDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuZm9ybS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmZvcm0tbGFiZWwtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLmZvcm0tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWhpbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuaW5wdXQtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmlucHV0LXJvdyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICBpbnB1dFt0eXBlPSJ0ZXh0Il0sCiAgICAgIGlucHV0W3R5cGU9InBhc3N3b3JkIl0sCiAgICAgIGlucHV0W3R5cGU9ImVtYWlsIl0sCiAgICAgIGlucHV0W3R5cGU9Im51bWJlciJdIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyMDBtcyBlYXNlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIGlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAudG9nZ2xlLXN3aXRjaCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiA0NHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtc3dpdGNoLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMyNTYzZWIiLCIjM2I4MmY2Iil9OwogICAgICB9CgogICAgICAudG9nZ2xlLXN3aXRjaDo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDJweDsKICAgICAgICBsZWZ0OiAycHg7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1zd2l0Y2guYWN0aXZlOjphZnRlciB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOwogICAgICB9CgogICAgICAucGFzc3dvcmQtc2VjdGlvbiB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nLXRvcDogMTZweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAucGFzc3dvcmQtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQoKICAgICAgLnBhc3N3b3JkLWZpZWxkcyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmZpZWxkLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmctdG9wOiAxNnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5idXR0b24uc2Vjb25kYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24ucHJpbWFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkFwcGVhcmFuY2U8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPkN1c3RvbWl6ZSB0aGUgbG9vayBhbmQgZmVlbDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tbGFiZWwtZ3JvdXAiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9ybS1sYWJlbCI+RGFyayBNb2RlPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9ybS1oaW50Ij5Ub2dnbGUgZGFyayBtb2RlIG9uIG9yIG9mZjwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLXN3aXRjaCAke3RoaXMuc2V0dGluZ3MuZGFya01vZGU/ImFjdGl2ZSI6IiJ9IiBAY2xpY2s9JHsoKT0+dGhpcy50b2dnbGVEYXJrTW9kZSgpfT48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5DbG91ZGZsYXJlIEludGVncmF0aW9uPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5Db25maWd1cmUgQ2xvdWRmbGFyZSBBUEkgZm9yIEROUyBtYW5hZ2VtZW50PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtZ3JvdXAiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLWxhYmVsIj5BUEkgVG9rZW48L2Rpdj4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBwbGFjZWhvbGRlcj0iRW50ZXIgQ2xvdWRmbGFyZSBBUEkgdG9rZW4iIC52YWx1ZT0ke3RoaXMuc2V0dGluZ3MuY2xvdWRmbGFyZVRva2VufSBAaW5wdXQ9JHtnPT50aGlzLnVwZGF0ZVNldHRpbmcoImNsb3VkZmxhcmVUb2tlbiIsZy50YXJnZXQudmFsdWUpfT4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLWxhYmVsIj5ab25lIElEIChPcHRpb25hbCk8L2Rpdj4KICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJEZWZhdWx0IHpvbmUgSUQiIC52YWx1ZT0ke3RoaXMuc2V0dGluZ3MuY2xvdWRmbGFyZVpvbmVJZH0gQGlucHV0PSR7Zz0+dGhpcy51cGRhdGVTZXR0aW5nKCJjbG91ZGZsYXJlWm9uZUlkIixnLnRhcmdldC52YWx1ZSl9PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPkdldCB5b3VyIEFQSSB0b2tlbiBmcm9tIHRoZSBDbG91ZGZsYXJlIGRhc2hib2FyZCB3aXRoIEROUyBlZGl0IHBlcm1pc3Npb25zLjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlNTTC9UTFMgU2V0dGluZ3M8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPkNvbmZpZ3VyZSBjZXJ0aWZpY2F0ZSBtYW5hZ2VtZW50PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1sYWJlbC1ncm91cCI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb3JtLWxhYmVsIj5BdXRvLVJlbmV3IENlcnRpZmljYXRlczwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvcm0taGludCI+QXV0b21hdGljYWxseSByZW5ldyBjZXJ0aWZpY2F0ZXMgYmVmb3JlIGV4cGlyeTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLXN3aXRjaCAke3RoaXMuc2V0dGluZ3MuYXV0b1JlbmV3Q2VydHM/ImFjdGl2ZSI6IiJ9IiBAY2xpY2s9JHsoKT0+dGhpcy50b2dnbGVTZXR0aW5nKCJhdXRvUmVuZXdDZXJ0cyIpfT48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtbGFiZWwiPlJlbmV3YWwgVGhyZXNob2xkIChkYXlzKTwvZGl2PgogICAgICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgLnZhbHVlPSR7U3RyaW5nKHRoaXMuc2V0dGluZ3MucmVuZXdhbFRocmVzaG9sZCl9IEBpbnB1dD0ke2c9PnRoaXMudXBkYXRlU2V0dGluZygicmVuZXdhbFRocmVzaG9sZCIscGFyc2VJbnQoZy50YXJnZXQudmFsdWUpKX0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPlJlbmV3IGNlcnRpZmljYXRlcyB3aGVuIHRoZXkgaGF2ZSBmZXdlciB0aGFuIHRoaXMgbWFueSBkYXlzIHJlbWFpbmluZy48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLWxhYmVsIj5BQ01FIEVtYWlsPC9kaXY+CiAgICAgICAgICA8aW5wdXQgdHlwZT0iZW1haWwiIHBsYWNlaG9sZGVyPSJhZG1pbkBleGFtcGxlLmNvbSIgLnZhbHVlPSR7dGhpcy5zZXR0aW5ncy5hY21lRW1haWx9IEBpbnB1dD0ke2c9PnRoaXMudXBkYXRlU2V0dGluZygiYWNtZUVtYWlsIixnLnRhcmdldC52YWx1ZSl9PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1oaW50Ij5FbWFpbCBhZGRyZXNzIGZvciBMZXQncyBFbmNyeXB0IG5vdGlmaWNhdGlvbnMuPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TmV0d29yayBTZXR0aW5nczwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+Q29uZmlndXJlIG5ldHdvcmsgYW5kIHByb3h5IHNldHRpbmdzPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+SFRUUCBQb3J0PC9kaXY+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIC52YWx1ZT0ke1N0cmluZyh0aGlzLnNldHRpbmdzLmh0dHBQb3J0KX0gQGlucHV0PSR7Zz0+dGhpcy51cGRhdGVTZXR0aW5nKCJodHRwUG9ydCIscGFyc2VJbnQoZy50YXJnZXQudmFsdWUpKX0+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+SFRUUFMgUG9ydDwvZGl2PgogICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiAudmFsdWU9JHtTdHJpbmcodGhpcy5zZXR0aW5ncy5odHRwc1BvcnQpfSBAaW5wdXQ9JHtnPT50aGlzLnVwZGF0ZVNldHRpbmcoImh0dHBzUG9ydCIscGFyc2VJbnQoZy50YXJnZXQudmFsdWUpKX0+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWxhYmVsLWdyb3VwIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvcm0tbGFiZWwiPkZvcmNlIEhUVFBTPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9ybS1oaW50Ij5SZWRpcmVjdCBhbGwgSFRUUCB0cmFmZmljIHRvIEhUVFBTPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtc3dpdGNoICR7dGhpcy5zZXR0aW5ncy5mb3JjZUh0dHBzPyJhY3RpdmUiOiIifSIgQGNsaWNrPSR7KCk9PnRoaXMudG9nZ2xlU2V0dGluZygiZm9yY2VIdHRwcyIpfT48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BY2NvdW50PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5NYW5hZ2UgeW91ciBhY2NvdW50IHNldHRpbmdzPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+Q3VycmVudCBVc2VyPC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDE0cHg7IGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07Ij4ke3RoaXMuY3VycmVudFVzZXJ8fCJVbmtub3duIn08L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwYXNzd29yZC1zZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBhc3N3b3JkLXRpdGxlIj5DaGFuZ2UgUGFzc3dvcmQ8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InBhc3N3b3JkLWZpZWxkcyI+CiAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtbGFiZWwiPkN1cnJlbnQgUGFzc3dvcmQ8L2Rpdj4KICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0icGFzc3dvcmQiIGlkPSJjdXJyZW50UGFzc3dvcmQiPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+TmV3IFBhc3N3b3JkPC9kaXY+CiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBpZD0ibmV3UGFzc3dvcmQiPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+Q29uZmlybSBQYXNzd29yZDwvZGl2PgogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgaWQ9ImNvbmZpcm1QYXNzd29yZCI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gc2Vjb25kYXJ5IiBzdHlsZT0id2lkdGg6IGZpdC1jb250ZW50OyIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ2hhbmdlUGFzc3dvcmQoKX0+VXBkYXRlIFBhc3N3b3JkPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gc2Vjb25kYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVSZXNldCgpfT5SZXNldDwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9ImJ1dHRvbiBwcmltYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTYXZlKCl9PlNhdmUgU2V0dGluZ3M8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICBgfXRvZ2dsZURhcmtNb2RlKCl7dGhpcy5zZXR0aW5ncz17Li4udGhpcy5zZXR0aW5ncyxkYXJrTW9kZTohdGhpcy5zZXR0aW5ncy5kYXJrTW9kZX0sdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2V0dGluZy1jaGFuZ2UiLHtkZXRhaWw6e2tleToiZGFya01vZGUiLHZhbHVlOnRoaXMuc2V0dGluZ3MuZGFya01vZGV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9dG9nZ2xlU2V0dGluZyhnKXt0aGlzLnNldHRpbmdzW2ddPSF0aGlzLnNldHRpbmdzW2ddLHRoaXMuc2V0dGluZ3M9ey4uLnRoaXMuc2V0dGluZ3N9fXVwZGF0ZVNldHRpbmcoZyx2KXt0aGlzLnNldHRpbmdzW2ddPXYsdGhpcy5zZXR0aW5ncz17Li4udGhpcy5zZXR0aW5nc319aGFuZGxlQ2hhbmdlUGFzc3dvcmQoKXtsZXQgZz10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJjdXJyZW50UGFzc3dvcmQiKT8udmFsdWUsdj10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJuZXdQYXNzd29yZCIpPy52YWx1ZSx4PXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoImNvbmZpcm1QYXNzd29yZCIpPy52YWx1ZTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjaGFuZ2UtcGFzc3dvcmQiLHtkZXRhaWw6e2N1cnJlbnRQYXNzd29yZDpnLG5ld1Bhc3N3b3JkOnYsY29uZmlybVBhc3N3b3JkOnh9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlUmVzZXQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZXNldCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlU2F2ZSgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNhdmUiLHtkZXRhaWw6dGhpcy5zZXR0aW5ncyxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxVQih0aGlzLGYpfXN0YXRpY3tVQihyLGEpfX07cmV0dXJuIHA9cn0pKCl9KTt2YXIgV0IsVW8sQXhhLElhYT1jKCgpPT57cGUoKTtXQj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sVW89ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LEF4YT0oKCk9PntsZXQgdD1bYWUoInN6LWxvZ2luLXZpZXciKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiU3pMb2dpblZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOkJvb2xlYW59KV0saD1bTCh7dHlwZTpTdHJpbmd9KV0scD1bTCh7dHlwZTpTdHJpbmd9KV0seD1bTCh7dHlwZTpTdHJpbmd9KV0sV0IodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGs9PiJsb2FkaW5nImluIGssImhhcyIpLGdldDppKGs9PmsubG9hZGluZywiZ2V0Iiksc2V0OmkoKGssRSk9PntrLmxvYWRpbmc9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxvLGwpLFdCKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+ImVycm9yImluIGssImhhcyIpLGdldDppKGs9PmsuZXJyb3IsImdldCIpLHNldDppKChrLEUpPT57ay5lcnJvcj1FfSwic2V0Iil9LG1ldGFkYXRhOk19LHUsZiksV0IodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aXRsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4idGl0bGUiaW4gaywiaGFzIiksZ2V0Omkoaz0+ay50aXRsZSwiZ2V0Iiksc2V0OmkoKGssRSk9PntrLnRpdGxlPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sZyx2KSxXQih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN1YnRpdGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGs9PiJzdWJ0aXRsZSJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLnN1YnRpdGxlLCJnZXQiKSxzZXQ6aSgoayxFKT0+e2suc3VidGl0bGU9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxiLG0pLFdCKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsYSkseT1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9c3RhdGljIGRlbW89aSgoKT0+d2AKICAgIDxkaXYgc3R5bGU9ImhlaWdodDogNjAwcHg7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBiYWNrZ3JvdW5kOiAjMDkwOTBiOyI+CiAgICAgIDxzei1sb2dpbi12aWV3Pjwvc3otbG9naW4tdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkF1dGggJiBTZXR0aW5ncyJdOyNlPVVvKHRoaXMsbywhMSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbG9hZGluZyhNKXt0aGlzLiNlPU19I3Q9KFVvKHRoaXMsbCksVW8odGhpcyx1LCIiKSk7Z2V0IGVycm9yKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGVycm9yKE0pe3RoaXMuI3Q9TX0jYT0oVW8odGhpcyxmKSxVbyh0aGlzLGcsInNlcnZlLnpvbmUiKSk7Z2V0IHRpdGxlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHRpdGxlKE0pe3RoaXMuI2E9TX0jcj0oVW8odGhpcyx2KSxVbyh0aGlzLGIsIlNpZ24gaW4gdG8geW91ciBvbmVib3giKSk7Z2V0IHN1YnRpdGxlKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHN1YnRpdGxlKE0pe3RoaXMuI3I9TX1zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMwOTA5MGIiKX07CiAgICAgIH0KCiAgICAgIC5sb2dpbi1jb250YWluZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1heC13aWR0aDogNDAwcHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgfQoKICAgICAgLmxvZ2luLWNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICBwYWRkaW5nOiAzMnB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjA2KTsKICAgICAgfQoKICAgICAgLmxvZ28tc2VjdGlvbiB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgIH0KCiAgICAgIC5sb2dvIHsKICAgICAgICB3aWR0aDogNjRweDsKICAgICAgICBoZWlnaHQ6IDY0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG1hcmdpbjogMCBhdXRvIDE2cHg7CiAgICAgIH0KCiAgICAgIC5sb2dvIHN2ZyB7CiAgICAgICAgd2lkdGg6IDM2cHg7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyMHB4OwogICAgICB9CgogICAgICAuZm9ybS1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAuZm9ybS1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmZvcm0taW5wdXQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBhZGRpbmc6IDEycHggMTRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyMDBtcyBlYXNlLCBib3gtc2hhZG93IDIwMG1zIGVhc2U7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmZvcm0taW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2QuYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMSkiLCJyZ2JhKDk2LCAxNjUsIDI1MCwgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmZvcm0taW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuZm9ybS1pbnB1dC5lcnJvciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2VmNDQ0NCIsIiNmODcxNzEiKX07CiAgICAgIH0KCiAgICAgIC5lcnJvci1tZXNzYWdlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmVmMmYyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2ZlY2FjYSIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkYzI2MjYiLCIjZjg3MTcxIil9OwogICAgICB9CgogICAgICAuZXJyb3ItbWVzc2FnZSBzdmcgewogICAgICAgIHdpZHRoOiAxOHB4OwogICAgICAgIGhlaWdodDogMThweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnN1Ym1pdC1idXR0b24gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBhZGRpbmc6IDEycHggMjBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2UsIHRyYW5zZm9ybSAyMDBtcyBlYXNlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnN1Ym1pdC1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgewogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgfQoKICAgICAgLnN1Ym1pdC1idXR0b246YWN0aXZlOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpOwogICAgICB9CgogICAgICAuc3VibWl0LWJ1dHRvbjpkaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC5zcGlubmVyIHsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogY3VycmVudENvbG9yOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgdG8gewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5mb290ZXIgewogICAgICAgIG1hcmdpbi10b3A6IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuZm9vdGVyIGEgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICB9CgogICAgICAuZm9vdGVyIGE6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibG9naW4tY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsb2dpbi1jYXJkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZ28tc2VjdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvZ28iPgogICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTIxIDE2VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43M2w3IDRhMiAyIDAgMCAwIDIgMGw3LTRBMiAyIDAgMCAwIDIxIDE2eiI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMy4yNyA2Ljk2IDEyIDEyLjAxIDIwLjczIDYuOTYiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIyMi4wOCIgeDI9IjEyIiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj4ke3RoaXMudGl0bGV9PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj4ke3RoaXMuc3VidGl0bGV9PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8Zm9ybSBjbGFzcz0iZm9ybSIgQHN1Ym1pdD0ke3RoaXMuaGFuZGxlU3VibWl0fT4KICAgICAgICAgICAgJHt0aGlzLmVycm9yP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXJyb3ItbWVzc2FnZSI+CiAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iOCIgeDI9IjEyIiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMTYiIHgyPSIxMi4wMSIgeTI9IjE2Ij48L2xpbmU+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICR7dGhpcy5lcnJvcn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJ1c2VybmFtZSI+VXNlcm5hbWU8L2xhYmVsPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGlkPSJ1c2VybmFtZSIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0ICR7dGhpcy5lcnJvcj8iZXJyb3IiOiIifSIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJFbnRlciB5b3VyIHVzZXJuYW1lIgogICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPSJ1c2VybmFtZSIKICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMubG9hZGluZ30KICAgICAgICAgICAgICAgIHJlcXVpcmVkCiAgICAgICAgICAgICAgPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCIgZm9yPSJwYXNzd29yZCI+UGFzc3dvcmQ8L2xhYmVsPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0icGFzc3dvcmQiCiAgICAgICAgICAgICAgICBpZD0icGFzc3dvcmQiCiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCAke3RoaXMuZXJyb3I/ImVycm9yIjoiIn0iCiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iRW50ZXIgeW91ciBwYXNzd29yZCIKICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT0iY3VycmVudC1wYXNzd29yZCIKICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMubG9hZGluZ30KICAgICAgICAgICAgICAgIHJlcXVpcmVkCiAgICAgICAgICAgICAgPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0IiBjbGFzcz0ic3VibWl0LWJ1dHRvbiIgP2Rpc2FibGVkPSR7dGhpcy5sb2FkaW5nfT4KICAgICAgICAgICAgICAke3RoaXMubG9hZGluZz93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgICAgICBTaWduaW5nIGluLi4uCiAgICAgICAgICAgICAgYDoiU2lnbiBpbiJ9CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9mb3JtPgoKICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3RlciI+CiAgICAgICAgICAgIFBvd2VyZWQgYnkgPGEgaHJlZj0iaHR0cHM6Ly9zZXJ2ZS56b25lIiB0YXJnZXQ9Il9ibGFuayI+c2VydmUuem9uZTwvYT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlU3VibWl0KE0pe00ucHJldmVudERlZmF1bHQoKTtsZXQgaz10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJ1c2VybmFtZSIpLEU9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgicGFzc3dvcmQiKTtpZigha3x8IUUpcmV0dXJuO2xldCBfPWsudmFsdWUudHJpbSgpLEM9RS52YWx1ZTtpZighX3x8IUMpe3RoaXMuZXJyb3I9IlBsZWFzZSBlbnRlciBib3RoIHVzZXJuYW1lIGFuZCBwYXNzd29yZCI7cmV0dXJufXRoaXMuZXJyb3I9IiIsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibG9naW4iLHtkZXRhaWw6e3VzZXJuYW1lOl8scGFzc3dvcmQ6Q30sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jbGVhckZvcm0oKXtsZXQgTT10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJ1c2VybmFtZSIpLGs9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgicGFzc3dvcmQiKTtNJiYoTS52YWx1ZT0iIiksayYmKGsudmFsdWU9IiIpLHRoaXMuZXJyb3I9IiJ9Zm9jdXNVc2VybmFtZSgpe2xldCBNPXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoInVzZXJuYW1lIik7TSYmTS5mb2N1cygpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxVbyh0aGlzLG0pfXN0YXRpY3tVbyhyLGEpfX07cmV0dXJuIHk9cn0pKCl9KTt2YXIgbnIsc2EsUHhhLE5hYT1jKCgpPT57cGUoKTtucj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sc2E9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LFB4YT0oKCk9PntsZXQgdD1bYWUoInN6LXNlcnZpY2UtY3JlYXRlLXZpZXciKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXSx4LGI9W10sbT1bXSx5LE09W10saz1bXSxFLF89W10sQz1bXSxOLCQ9W10sST1bXSxqLFM9W10sej1bXSxELFQ9W10sQT1bXSxVLFI9W10scT1bXSxvZSxPPVtdLHJlPVtdLHllLEI9W10sZWU9W10sQ2UsWT1bXSxQPVtdLEgsRz1bXSxXPVtdLHNlLHplPVtdLE1lPVtdLEVlLFY9W10sRj1bXTt2YXIgbmU9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6U2VydmljZUNyZWF0ZVZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgdGU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpBcnJheX0pXSxoPVtMKHt0eXBlOkJvb2xlYW59KV0scD1bWigpXSx4PVtaKCldLHk9W1ooKV0sRT1bWigpXSxOPVtaKCldLGo9W1ooKV0sRD1bWigpXSxVPVtaKCldLG9lPVtaKCldLHllPVtaKCldLENlPVtaKCldLEg9W1ooKV0sc2U9W1ooKV0sRWU9W1ooKV0sbnIodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWdpc3RyaWVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEs9PiJyZWdpc3RyaWVzImluIEssImhhcyIpLGdldDppKEs9PksucmVnaXN0cmllcywiZ2V0Iiksc2V0OmkoKEssa2UpPT57Sy5yZWdpc3RyaWVzPWtlfSwic2V0Iil9LG1ldGFkYXRhOnRlfSxvLGwpLG5yKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShLPT4ibG9hZGluZyJpbiBLLCJoYXMiKSxnZXQ6aShLPT5LLmxvYWRpbmcsImdldCIpLHNldDppKChLLGtlKT0+e0subG9hZGluZz1rZX0sInNldCIpfSxtZXRhZGF0YTp0ZX0sdSxmKSxucih0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcnZpY2VOYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEs9PiJzZXJ2aWNlTmFtZSJpbiBLLCJoYXMiKSxnZXQ6aShLPT5LLnNlcnZpY2VOYW1lLCJnZXQiKSxzZXQ6aSgoSyxrZSk9PntLLnNlcnZpY2VOYW1lPWtlfSwic2V0Iil9LG1ldGFkYXRhOnRlfSxnLHYpLG5yKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW1hZ2VVcmwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSz0+ImltYWdlVXJsImluIEssImhhcyIpLGdldDppKEs9PksuaW1hZ2VVcmwsImdldCIpLHNldDppKChLLGtlKT0+e0suaW1hZ2VVcmw9a2V9LCJzZXQiKX0sbWV0YWRhdGE6dGV9LGIsbSksbnIodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFJlZ2lzdHJ5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEs9PiJzZWxlY3RlZFJlZ2lzdHJ5ImluIEssImhhcyIpLGdldDppKEs9Pksuc2VsZWN0ZWRSZWdpc3RyeSwiZ2V0Iiksc2V0OmkoKEssa2UpPT57Sy5zZWxlY3RlZFJlZ2lzdHJ5PWtlfSwic2V0Iil9LG1ldGFkYXRhOnRlfSxNLGspLG5yKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9ydHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSz0+InBvcnRzImluIEssImhhcyIpLGdldDppKEs9PksucG9ydHMsImdldCIpLHNldDppKChLLGtlKT0+e0sucG9ydHM9a2V9LCJzZXQiKX0sbWV0YWRhdGE6dGV9LF8sQyksbnIodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbnZWYXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEs9PiJlbnZWYXJzImluIEssImhhcyIpLGdldDppKEs9PksuZW52VmFycywiZ2V0Iiksc2V0OmkoKEssa2UpPT57Sy5lbnZWYXJzPWtlfSwic2V0Iil9LG1ldGFkYXRhOnRlfSwkLEkpLG5yKHRoaXMsbnVsbCxqLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidm9sdW1lcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShLPT4idm9sdW1lcyJpbiBLLCJoYXMiKSxnZXQ6aShLPT5LLnZvbHVtZXMsImdldCIpLHNldDppKChLLGtlKT0+e0sudm9sdW1lcz1rZX0sInNldCIpfSxtZXRhZGF0YTp0ZX0sUyx6KSxucih0aGlzLG51bGwsRCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNwdUxpbWl0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEs9PiJjcHVMaW1pdCJpbiBLLCJoYXMiKSxnZXQ6aShLPT5LLmNwdUxpbWl0LCJnZXQiKSxzZXQ6aSgoSyxrZSk9PntLLmNwdUxpbWl0PWtlfSwic2V0Iil9LG1ldGFkYXRhOnRlfSxULEEpLG5yKHRoaXMsbnVsbCxVLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVtb3J5TGltaXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSz0+Im1lbW9yeUxpbWl0ImluIEssImhhcyIpLGdldDppKEs9PksubWVtb3J5TGltaXQsImdldCIpLHNldDppKChLLGtlKT0+e0subWVtb3J5TGltaXQ9a2V9LCJzZXQiKX0sbWV0YWRhdGE6dGV9LFIscSksbnIodGhpcyxudWxsLG9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVzdGFydFBvbGljeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShLPT4icmVzdGFydFBvbGljeSJpbiBLLCJoYXMiKSxnZXQ6aShLPT5LLnJlc3RhcnRQb2xpY3ksImdldCIpLHNldDppKChLLGtlKT0+e0sucmVzdGFydFBvbGljeT1rZX0sInNldCIpfSxtZXRhZGF0YTp0ZX0sTyxyZSksbnIodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibmV0d29ya01vZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSz0+Im5ldHdvcmtNb2RlImluIEssImhhcyIpLGdldDppKEs9PksubmV0d29ya01vZGUsImdldCIpLHNldDppKChLLGtlKT0+e0submV0d29ya01vZGU9a2V9LCJzZXQiKX0sbWV0YWRhdGE6dGV9LEIsZWUpLG5yKHRoaXMsbnVsbCxDZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dBZHZhbmNlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShLPT4ic2hvd0FkdmFuY2VkImluIEssImhhcyIpLGdldDppKEs9Pksuc2hvd0FkdmFuY2VkLCJnZXQiKSxzZXQ6aSgoSyxrZSk9PntLLnNob3dBZHZhbmNlZD1rZX0sInNldCIpfSxtZXRhZGF0YTp0ZX0sWSxQKSxucih0aGlzLG51bGwsSCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVuYWJsZU1vbmdvREIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSz0+ImVuYWJsZU1vbmdvREIiaW4gSywiaGFzIiksZ2V0OmkoSz0+Sy5lbmFibGVNb25nb0RCLCJnZXQiKSxzZXQ6aSgoSyxrZSk9PntLLmVuYWJsZU1vbmdvREI9a2V9LCJzZXQiKX0sbWV0YWRhdGE6dGV9LEcsVyksbnIodGhpcyxudWxsLHNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW5hYmxlUzMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoSz0+ImVuYWJsZVMzImluIEssImhhcyIpLGdldDppKEs9PksuZW5hYmxlUzMsImdldCIpLHNldDppKChLLGtlKT0+e0suZW5hYmxlUzM9a2V9LCJzZXQiKX0sbWV0YWRhdGE6dGV9LHplLE1lKSxucih0aGlzLG51bGwsRWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVDbGlja0hvdXNlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKEs9PiJlbmFibGVDbGlja0hvdXNlImluIEssImhhcyIpLGdldDppKEs9PksuZW5hYmxlQ2xpY2tIb3VzZSwiZ2V0Iiksc2V0OmkoKEssa2UpPT57Sy5lbmFibGVDbGlja0hvdXNlPWtlfSwic2V0Iil9LG1ldGFkYXRhOnRlfSxWLEYpLG5yKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOnRlfSxudWxsLGEpLG5lPXI9ZS52YWx1ZSx0ZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp0ZX0pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDgwMHB4OyI+CiAgICAgIDxzei1zZXJ2aWNlLWNyZWF0ZS12aWV3CiAgICAgICAgLnJlZ2lzdHJpZXM9JHtbe2lkOiIxIixuYW1lOiJPbmVib3ggUmVnaXN0cnkiLHVybDoicmVnaXN0cnkub25lYm94LmxvY2FsIn0se2lkOiIyIixuYW1lOiJEb2NrZXIgSHViIix1cmw6ImRvY2tlci5pbyJ9XX0KICAgICAgPjwvc3otc2VydmljZS1jcmVhdGUtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlNlcnZpY2VzIl07I2U9c2EodGhpcyxvLFtdKTtnZXQgcmVnaXN0cmllcygpe3JldHVybiB0aGlzLiNlfXNldCByZWdpc3RyaWVzKHRlKXt0aGlzLiNlPXRlfSN0PShzYSh0aGlzLGwpLHNhKHRoaXMsdSwhMSkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGxvYWRpbmcodGUpe3RoaXMuI3Q9dGV9I2E9KHNhKHRoaXMsZiksc2EodGhpcyxnLCIiKSk7Z2V0IHNlcnZpY2VOYW1lKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNlcnZpY2VOYW1lKHRlKXt0aGlzLiNhPXRlfSNyPShzYSh0aGlzLHYpLHNhKHRoaXMsYiwiIikpO2dldCBpbWFnZVVybCgpe3JldHVybiB0aGlzLiNyfXNldCBpbWFnZVVybCh0ZSl7dGhpcy4jcj10ZX0jaT0oc2EodGhpcyxtKSxzYSh0aGlzLE0sIiIpKTtnZXQgc2VsZWN0ZWRSZWdpc3RyeSgpe3JldHVybiB0aGlzLiNpfXNldCBzZWxlY3RlZFJlZ2lzdHJ5KHRlKXt0aGlzLiNpPXRlfSNzPShzYSh0aGlzLGspLHNhKHRoaXMsXyxbe2hvc3RQb3J0OiIiLGNvbnRhaW5lclBvcnQ6IiIscHJvdG9jb2w6InRjcCJ9XSkpO2dldCBwb3J0cygpe3JldHVybiB0aGlzLiNzfXNldCBwb3J0cyh0ZSl7dGhpcy4jcz10ZX0jbz0oc2EodGhpcyxDKSxzYSh0aGlzLCQsW3trZXk6IiIsdmFsdWU6IiJ9XSkpO2dldCBlbnZWYXJzKCl7cmV0dXJuIHRoaXMuI299c2V0IGVudlZhcnModGUpe3RoaXMuI289dGV9I249KHNhKHRoaXMsSSksc2EodGhpcyxTLFtdKSk7Z2V0IHZvbHVtZXMoKXtyZXR1cm4gdGhpcy4jbn1zZXQgdm9sdW1lcyh0ZSl7dGhpcy4jbj10ZX0jbD0oc2EodGhpcyx6KSxzYSh0aGlzLFQsIiIpKTtnZXQgY3B1TGltaXQoKXtyZXR1cm4gdGhpcy4jbH1zZXQgY3B1TGltaXQodGUpe3RoaXMuI2w9dGV9I2M9KHNhKHRoaXMsQSksc2EodGhpcyxSLCIiKSk7Z2V0IG1lbW9yeUxpbWl0KCl7cmV0dXJuIHRoaXMuI2N9c2V0IG1lbW9yeUxpbWl0KHRlKXt0aGlzLiNjPXRlfSNkPShzYSh0aGlzLHEpLHNhKHRoaXMsTywiYWx3YXlzIikpO2dldCByZXN0YXJ0UG9saWN5KCl7cmV0dXJuIHRoaXMuI2R9c2V0IHJlc3RhcnRQb2xpY3kodGUpe3RoaXMuI2Q9dGV9I3A9KHNhKHRoaXMscmUpLHNhKHRoaXMsQiwiYnJpZGdlIikpO2dldCBuZXR3b3JrTW9kZSgpe3JldHVybiB0aGlzLiNwfXNldCBuZXR3b3JrTW9kZSh0ZSl7dGhpcy4jcD10ZX0jdT0oc2EodGhpcyxlZSksc2EodGhpcyxZLCExKSk7Z2V0IHNob3dBZHZhbmNlZCgpe3JldHVybiB0aGlzLiN1fXNldCBzaG93QWR2YW5jZWQodGUpe3RoaXMuI3U9dGV9I2Y9KHNhKHRoaXMsUCksc2EodGhpcyxHLCExKSk7Z2V0IGVuYWJsZU1vbmdvREIoKXtyZXR1cm4gdGhpcy4jZn1zZXQgZW5hYmxlTW9uZ29EQih0ZSl7dGhpcy4jZj10ZX0jaD0oc2EodGhpcyxXKSxzYSh0aGlzLHplLCExKSk7Z2V0IGVuYWJsZVMzKCl7cmV0dXJuIHRoaXMuI2h9c2V0IGVuYWJsZVMzKHRlKXt0aGlzLiNoPXRlfSNtPShzYSh0aGlzLE1lKSxzYSh0aGlzLFYsITEpKTtnZXQgZW5hYmxlQ2xpY2tIb3VzZSgpe3JldHVybiB0aGlzLiNtfXNldCBlbmFibGVDbGlja0hvdXNlKHRlKXt0aGlzLiNtPXRlfXN0YXRpYyBzdHlsZXM9W2QuZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmhlYWRlci10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRlci1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgc3ZnIHsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmZvcm0tcm93IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmZvcm0tcm93LnNpbmdsZSB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgIH0KCiAgICAgIC5mb3JtLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgIH0KCiAgICAgIC5mb3JtLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuZm9ybS1sYWJlbCAucmVxdWlyZWQgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2VmNDQ0NCIsIiNmODcxNzEiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWhpbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuZm9ybS1pbnB1dCwKICAgICAgLmZvcm0tc2VsZWN0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXMgZWFzZTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuZm9ybS1pbnB1dDpmb2N1cywKICAgICAgLmZvcm0tc2VsZWN0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmZvcm0taW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuZm9ybS1zZWxlY3QgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLmR5bmFtaWMtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuZHluYW1pYy1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgIH0KCiAgICAgIC5keW5hbWljLXJvdyAuZm9ybS1pbnB1dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLmR5bmFtaWMtcm93IC5mb3JtLXNlbGVjdCB7CiAgICAgICAgd2lkdGg6IDgwcHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5yZW1vdmUtYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAxMHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5yZW1vdmUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2ZlY2FjYSIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmFkZC1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggZGFzaGVkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgfQoKICAgICAgLmFkZC1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYWRkLWJ1dHRvbiBzdmcgewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1hZHZhbmNlZCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1hZHZhbmNlZCBzdmcgewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1hZHZhbmNlZC5vcGVuIHN2ZyB7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKICAgICAgfQoKICAgICAgLmNoZWNrYm94LXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuY2hlY2tib3ggewogICAgICAgIHdpZHRoOiAxOHB4OwogICAgICAgIGhlaWdodDogMThweDsKICAgICAgICBhY2NlbnQtY29sb3I6ICR7ZC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLnBsYXRmb3JtLXRvZ2dsZS1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAucGxhdGZvcm0tdG9nZ2xlLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAucGxhdGZvcm0tdG9nZ2xlLWl0ZW06aGFzKGlucHV0OmNoZWNrZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2VmZjZmZiIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIil9OwogICAgICB9CgogICAgICAucGxhdGZvcm0tdG9nZ2xlLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5wbGF0Zm9ybS10b2dnbGUtaWNvbiB7CiAgICAgICAgd2lkdGg6IDM2cHg7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMyNzI3MmEiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAucGxhdGZvcm0tdG9nZ2xlLWljb24gc3ZnIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnBsYXRmb3JtLXRvZ2dsZS1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAucGxhdGZvcm0tdG9nZ2xlLWRlc2MgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1zd2l0Y2ggewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogNDRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtc3dpdGNoIGlucHV0IHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIGhlaWdodDogMDsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1zbGlkZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1zbGlkZXI6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogMThweDsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBsZWZ0OiAzcHg7CiAgICAgICAgYm90dG9tOiAzcHg7CiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudG9nZ2xlLXN3aXRjaCBpbnB1dDpjaGVja2VkICsgLnRvZ2dsZS1zbGlkZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIC50b2dnbGUtc2xpZGVyOjpiZWZvcmUgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsKICAgICAgfQoKICAgICAgLmFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZy10b3A6IDE2cHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgIH0KCiAgICAgIC5idXR0b24gewogICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5idXR0b24uc2Vjb25kYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24ucHJpbWFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXI6bm90KDpkaXNhYmxlZCkgewogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5wcmltYXJ5OmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLnNwaW5uZXIgewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBjdXJyZW50Q29sb3I7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICB0byB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgICAgIH0KICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPGRpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10aXRsZSI+RGVwbG95IE5ldyBTZXJ2aWNlPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItc3VidGl0bGUiPkNvbmZpZ3VyZSBhbmQgZGVwbG95IGEgbmV3IERvY2tlciBjb250YWluZXI8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8IS0tIEJhc2ljIEluZm8gU2VjdGlvbiAtLT4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxyZWN0IHg9IjMiIHk9IjMiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+CiAgICAgICAgICAgIDxsaW5lIHgxPSI5IiB5MT0iOSIgeDI9IjE1IiB5Mj0iOSI+PC9saW5lPgogICAgICAgICAgICA8bGluZSB4MT0iOSIgeTE9IjE1IiB4Mj0iMTUiIHkyPSIxNSI+PC9saW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBCYXNpYyBJbmZvcm1hdGlvbgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiPlNlcnZpY2UgTmFtZSA8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+PC9sYWJlbD4KICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ibXktc2VydmljZSIKICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLnNlcnZpY2VOYW1lfQogICAgICAgICAgICAgIEBpbnB1dD0ke3RlPT50aGlzLnNlcnZpY2VOYW1lPXRlLnRhcmdldC52YWx1ZX0KICAgICAgICAgICAgPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPlVuaXF1ZSBuYW1lIGZvciB0aGUgc2VydmljZSAoYWxwaGFudW1lcmljIGFuZCBoeXBoZW5zKTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIj5SZWdpc3RyeTwvbGFiZWw+CiAgICAgICAgICAgIDxzZWxlY3QKICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1zZWxlY3QiCiAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5zZWxlY3RlZFJlZ2lzdHJ5fQogICAgICAgICAgICAgIEBjaGFuZ2U9JHt0ZT0+dGhpcy5zZWxlY3RlZFJlZ2lzdHJ5PXRlLnRhcmdldC52YWx1ZX0KICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9IiI+Q3VzdG9tIEltYWdlIFVSTDwvb3B0aW9uPgogICAgICAgICAgICAgICR7dGhpcy5yZWdpc3RyaWVzLm1hcCh0ZT0+d2AKICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9JHt0ZS5pZH0+JHt0ZS5uYW1lfTwvb3B0aW9uPgogICAgICAgICAgICAgIGApfQogICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tcm93IHNpbmdsZSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIj5JbWFnZSA8c3BhbiBjbGFzcz0icmVxdWlyZWQiPio8L3NwYW4+PC9sYWJlbD4KICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ibmdpbng6bGF0ZXN0IG9yIHJlZ2lzdHJ5LmV4YW1wbGUuY29tL2ltYWdlOnRhZyIKICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLmltYWdlVXJsfQogICAgICAgICAgICAgIEBpbnB1dD0ke3RlPT50aGlzLmltYWdlVXJsPXRlLnRhcmdldC52YWx1ZX0KICAgICAgICAgICAgPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPkRvY2tlciBpbWFnZSB0byBkZXBsb3kgKGluY2x1ZGUgdGFnKTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPCEtLSBQb3J0IENvbmZpZ3VyYXRpb24gLS0+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+CiAgICAgICAgICAgIDxsaW5lIHgxPSIyIiB5MT0iMTIiIHgyPSIyMiIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAyYTE1LjMgMTUuMyAwIDAgMSA0IDEwIDE1LjMgMTUuMyAwIDAgMS00IDEwIDE1LjMgMTUuMyAwIDAgMS00LTEwIDE1LjMgMTUuMyAwIDAgMSA0LTEweiI+PC9wYXRoPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBQb3J0IENvbmZpZ3VyYXRpb24KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJkeW5hbWljLWxpc3QiPgogICAgICAgICAgJHt0aGlzLnBvcnRzLm1hcCgodGUsSyk9PndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImR5bmFtaWMtcm93Ij4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJIb3N0IFBvcnQiCiAgICAgICAgICAgICAgICAudmFsdWU9JHt0ZS5ob3N0UG9ydH0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke2tlPT50aGlzLnVwZGF0ZVBvcnQoSywiaG9zdFBvcnQiLGtlLnRhcmdldC52YWx1ZSl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkNvbnRhaW5lciBQb3J0IgogICAgICAgICAgICAgICAgLnZhbHVlPSR7dGUuY29udGFpbmVyUG9ydH0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke2tlPT50aGlzLnVwZGF0ZVBvcnQoSywiY29udGFpbmVyUG9ydCIsa2UudGFyZ2V0LnZhbHVlKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHNlbGVjdAogICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0tc2VsZWN0IgogICAgICAgICAgICAgICAgLnZhbHVlPSR7dGUucHJvdG9jb2x9CiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7a2U9PnRoaXMudXBkYXRlUG9ydChLLCJwcm90b2NvbCIsa2UudGFyZ2V0LnZhbHVlKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJ0Y3AiPlRDUDwvb3B0aW9uPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0idWRwIj5VRFA8L29wdGlvbj4KICAgICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgICAgICAke3RoaXMucG9ydHMubGVuZ3RoPjE/d2AKICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InJlbW92ZS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLnJlbW92ZVBvcnQoSyl9PgogICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTgiIHkxPSI2IiB4Mj0iNiIgeTI9IjE4Ij48L2xpbmU+CiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWRkLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuYWRkUG9ydCgpfT4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgQWRkIFBvcnQgTWFwcGluZwogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2Rpdj4KCiAgICAgIDwhLS0gRW52aXJvbm1lbnQgVmFyaWFibGVzIC0tPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iNCAxNyAxMCAxMSA0IDUiPjwvcG9seWxpbmU+CiAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjE5IiB4Mj0iMjAiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBFbnZpcm9ubWVudCBWYXJpYWJsZXMKICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJkeW5hbWljLWxpc3QiPgogICAgICAgICAgJHt0aGlzLmVudlZhcnMubWFwKCh0ZSxLKT0+d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHluYW1pYy1yb3ciPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IktFWSIKICAgICAgICAgICAgICAgIC52YWx1ZT0ke3RlLmtleX0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke2tlPT50aGlzLnVwZGF0ZUVudlZhcihLLCJrZXkiLGtlLnRhcmdldC52YWx1ZSl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9InZhbHVlIgogICAgICAgICAgICAgICAgLnZhbHVlPSR7dGUudmFsdWV9CiAgICAgICAgICAgICAgICBAaW5wdXQ9JHtrZT0+dGhpcy51cGRhdGVFbnZWYXIoSywidmFsdWUiLGtlLnRhcmdldC52YWx1ZSl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICR7dGhpcy5lbnZWYXJzLmxlbmd0aD4xP3dgCiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJyZW1vdmUtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5yZW1vdmVFbnZWYXIoSyl9PgogICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTgiIHkxPSI2IiB4Mj0iNiIgeTI9IjE4Ij48L2xpbmU+CiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWRkLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuYWRkRW52VmFyKCl9PgogICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICA8bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBBZGQgRW52aXJvbm1lbnQgVmFyaWFibGUKICAgICAgICA8L2J1dHRvbj4KICAgICAgPC9kaXY+CgogICAgICA8IS0tIFBsYXRmb3JtIFNlcnZpY2VzIC0tPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PgogICAgICAgICAgICA8cmVjdCB4PSIyIiB5PSIxNCIgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PgogICAgICAgICAgICA8bGluZSB4MT0iNiIgeTE9IjYiIHgyPSI2LjAxIiB5Mj0iNiI+PC9saW5lPgogICAgICAgICAgICA8bGluZSB4MT0iNiIgeTE9IjE4IiB4Mj0iNi4wMSIgeTI9IjE4Ij48L2xpbmU+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIFBsYXRmb3JtIFNlcnZpY2VzCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1oaW50IiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMTJweDsiPgogICAgICAgICAgRW5hYmxlIG1hbmFnZWQgaW5mcmFzdHJ1Y3R1cmUgc2VydmljZXMgZm9yIHRoaXMgZGVwbG95bWVudC4gUmVzb3VyY2VzIGFyZSBhdXRvbWF0aWNhbGx5IHByb3Zpc2lvbmVkIGFuZCBjb25uZWN0aW9uIGRldGFpbHMgaW5qZWN0ZWQgYXMgZW52aXJvbm1lbnQgdmFyaWFibGVzLgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1saXN0Ij4KICAgICAgICAgIDxsYWJlbCBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtaW5mbyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWljb24iPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTEyIDJDNi40OCAyIDIgNi40OCAyIDEyczQuNDggMTAgMTAgMTAgMTAtNC40OCAxMC0xMFMxNy41MiAyIDEyIDJ6bS0xIDE3LjkzYy0zLjk1LS40OS03LTMuODUtNy03LjkzIDAtLjYyLjA4LTEuMjEuMjEtMS43OUw5IDE1djFjMCAxLjEuOSAyIDIgMnYxLjkzem02LjktMi41NGMtLjI2LS44MS0xLTEuMzktMS45LTEuMzloLTF2LTNjMC0uNTUtLjQ1LTEtMS0xSDh2LTJoMmMuNTUgMCAxLS40NSAxLTFWN2gyYzEuMSAwIDItLjkgMi0ydi0uNDFjMi45MyAxLjE5IDUgNC4wNiA1IDcuNDEgMCAyLjA4LS44IDMuOTctMi4xIDUuMzl6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1uYW1lIj5Nb25nb0RCPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtZGVzYyI+RG9jdW1lbnQgZGF0YWJhc2Ugd2l0aCBhdXRvLXByb3Zpc2lvbmVkIGNyZWRlbnRpYWxzPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtc3dpdGNoIj4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9ImNoZWNrYm94IgogICAgICAgICAgICAgICAgP2NoZWNrZWQ9JHt0aGlzLmVuYWJsZU1vbmdvREJ9CiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7dGU9PnRoaXMuZW5hYmxlTW9uZ29EQj10ZS50YXJnZXQuY2hlY2tlZH0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRvZ2dsZS1zbGlkZXIiPjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2xhYmVsPgogICAgICAgICAgPGxhYmVsIGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtaXRlbSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1pbmZvIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtaWNvbiI+CiAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMjEgMTYuNWMwIC4zOC0uMjEuNzEtLjUzLjg4bC03LjkgNC40NGMtLjE2LjEyLS4zNi4xOC0uNTcuMTgtLjIxIDAtLjQxLS4wNi0uNTctLjE4bC03LjktNC40NEEuOTkxLjk5MSAwIDAgMSAzIDE2LjV2LTljMC0uMzguMjEtLjcxLjUzLS44OGw3LjktNC40NGMuMTYtLjEyLjM2LS4xOC41Ny0uMTguMjEgMCAuNDEuMDYuNTcuMThsNy45IDQuNDRjLjMyLjE3LjUzLjUuNTMuODh2OXoiLz48L3N2Zz4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLW5hbWUiPlMzIFN0b3JhZ2UgKE1pbklPKTwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWRlc2MiPk9iamVjdCBzdG9yYWdlIGJ1Y2tldCB3aXRoIGF1dG8tcHJvdmlzaW9uZWQgYWNjZXNzIGtleXM8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvZ2dsZS1zd2l0Y2giPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0iY2hlY2tib3giCiAgICAgICAgICAgICAgICA/Y2hlY2tlZD0ke3RoaXMuZW5hYmxlUzN9CiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7dGU9PnRoaXMuZW5hYmxlUzM9dGUudGFyZ2V0LmNoZWNrZWR9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0b2dnbGUtc2xpZGVyIj48L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgIDxsYWJlbCBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtaW5mbyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWljb24iPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjYiIGhlaWdodD0iMjAiLz48cmVjdCB4PSI5IiB5PSI3IiB3aWR0aD0iNiIgaGVpZ2h0PSIxNSIvPjxyZWN0IHg9IjE2IiB5PSIxMiIgd2lkdGg9IjYiIGhlaWdodD0iMTAiLz48L3N2Zz4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLW5hbWUiPkNsaWNrSG91c2U8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1kZXNjIj5BbmFseXRpY3MgZGF0YWJhc2Ugd2l0aCBhdXRvLXByb3Zpc2lvbmVkIGNyZWRlbnRpYWxzPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtc3dpdGNoIj4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9ImNoZWNrYm94IgogICAgICAgICAgICAgICAgP2NoZWNrZWQ9JHt0aGlzLmVuYWJsZUNsaWNrSG91c2V9CiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7dGU9PnRoaXMuZW5hYmxlQ2xpY2tIb3VzZT10ZS50YXJnZXQuY2hlY2tlZH0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRvZ2dsZS1zbGlkZXIiPjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2xhYmVsPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDwhLS0gQWR2YW5jZWQgT3B0aW9ucyBUb2dnbGUgLS0+CiAgICAgIDxidXR0b24KICAgICAgICBjbGFzcz0idG9nZ2xlLWFkdmFuY2VkICR7dGhpcy5zaG93QWR2YW5jZWQ/Im9wZW4iOiIifSIKICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zaG93QWR2YW5jZWQ9IXRoaXMuc2hvd0FkdmFuY2VkfQogICAgICA+CiAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iNiA5IDEyIDE1IDE4IDkiPjwvcG9seWxpbmU+CiAgICAgICAgPC9zdmc+CiAgICAgICAgQWR2YW5jZWQgT3B0aW9ucwogICAgICA8L2J1dHRvbj4KCiAgICAgICR7dGhpcy5zaG93QWR2YW5jZWQ/d2AKICAgICAgICA8IS0tIFZvbHVtZXMgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMiAxOWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNWwyIDNoOWEyIDIgMCAwIDEgMiAyeiI+PC9wYXRoPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgVm9sdW1lIE1vdW50cwogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkeW5hbWljLWxpc3QiPgogICAgICAgICAgICAke3RoaXMudm9sdW1lcy5sZW5ndGg9PT0wP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1oaW50Ij5ObyB2b2x1bWVzIGNvbmZpZ3VyZWQ8L2Rpdj4KICAgICAgICAgICAgYDp0aGlzLnZvbHVtZXMubWFwKCh0ZSxLKT0+d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkeW5hbWljLXJvdyI+CiAgICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0taW5wdXQiCiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSIvaG9zdC9wYXRoIgogICAgICAgICAgICAgICAgICAudmFsdWU9JHt0ZS5ob3N0UGF0aH0KICAgICAgICAgICAgICAgICAgQGlucHV0PSR7a2U9PnRoaXMudXBkYXRlVm9sdW1lKEssImhvc3RQYXRoIixrZS50YXJnZXQudmFsdWUpfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iL2NvbnRhaW5lci9wYXRoIgogICAgICAgICAgICAgICAgICAudmFsdWU9JHt0ZS5jb250YWluZXJQYXRofQogICAgICAgICAgICAgICAgICBAaW5wdXQ9JHtrZT0+dGhpcy51cGRhdGVWb2x1bWUoSywiY29udGFpbmVyUGF0aCIsa2UudGFyZ2V0LnZhbHVlKX0KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNoZWNrYm94LXJvdyI+CiAgICAgICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgICAgIHR5cGU9ImNoZWNrYm94IgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjaGVja2JveCIKICAgICAgICAgICAgICAgICAgICA/Y2hlY2tlZD0ke3RlLnJlYWRPbmx5fQogICAgICAgICAgICAgICAgICAgIEBjaGFuZ2U9JHtrZT0+dGhpcy51cGRhdGVWb2x1bWUoSywicmVhZE9ubHkiLGtlLnRhcmdldC5jaGVja2VkKX0KICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9ybS1oaW50Ij5STzwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0icmVtb3ZlLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMucmVtb3ZlVm9sdW1lKEspfT4KICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCI+PC9saW5lPgogICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFkZC1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmFkZFZvbHVtZSgpfT4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ij48L2xpbmU+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIEFkZCBWb2x1bWUgTW91bnQKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIFJlc291cmNlIExpbWl0cyAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPHJlY3QgeD0iMSIgeT0iNCIgd2lkdGg9IjIyIiBoZWlnaHQ9IjE2IiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICA8bGluZSB4MT0iMSIgeTE9IjEwIiB4Mj0iMjMiIHkyPSIxMCI+PC9saW5lPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgUmVzb3VyY2UgTGltaXRzCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tcm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIj5DUFUgTGltaXQ8L2xhYmVsPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9ImUuZy4sIDEuMCBvciAwLjUiCiAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLmNwdUxpbWl0fQogICAgICAgICAgICAgICAgQGlucHV0PSR7dGU9PnRoaXMuY3B1TGltaXQ9dGUudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPk51bWJlciBvZiBDUFVzIChsZWF2ZSBlbXB0eSBmb3IgdW5saW1pdGVkKTwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIj5NZW1vcnkgTGltaXQ8L2xhYmVsPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9ImUuZy4sIDUxMm0gb3IgMWciCiAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLm1lbW9yeUxpbWl0fQogICAgICAgICAgICAgICAgQGlucHV0PSR7dGU9PnRoaXMubWVtb3J5TGltaXQ9dGUudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPk1lbW9yeSBsaW1pdCAobGVhdmUgZW1wdHkgZm9yIHVubGltaXRlZCk8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBSZXN0YXJ0IFBvbGljeSAmIE5ldHdvcmsgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiPjwvY2lyY2xlPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xOS40IDE1YTEuNjUgMS42NSAwIDAgMCAuMzMgMS44MmwuMDYuMDZhMiAyIDAgMCAxIDAgMi44MyAyIDIgMCAwIDEtMi44MyAwbC0uMDYtLjA2YTEuNjUgMS42NSAwIDAgMC0xLjgyLS4zMyAxLjY1IDEuNjUgMCAwIDAtMSAxLjUxVjIxYTIgMiAwIDAgMS0yIDIgMiAyIDAgMCAxLTItMnYtLjA5QTEuNjUgMS42NSAwIDAgMCA5IDE5LjRhMS42NSAxLjY1IDAgMCAwLTEuODIuMzNsLS4wNi4wNmEyIDIgMCAwIDEtMi44MyAwIDIgMiAwIDAgMSAwLTIuODNsLjA2LS4wNmExLjY1IDEuNjUgMCAwIDAgLjMzLTEuODIgMS42NSAxLjY1IDAgMCAwLTEuNTEtMUgzYTIgMiAwIDAgMS0yLTIgMiAyIDAgMCAxIDItMmguMDlBMS42NSAxLjY1IDAgMCAwIDQuNiA5YTEuNjUgMS42NSAwIDAgMC0uMzMtMS44MmwtLjA2LS4wNmEyIDIgMCAwIDEgMC0yLjgzIDIgMiAwIDAgMSAyLjgzIDBsLjA2LjA2YTEuNjUgMS42NSAwIDAgMCAxLjgyLjMzSDlhMS42NSAxLjY1IDAgMCAwIDEtMS41MVYzYTIgMiAwIDAgMSAyLTIgMiAyIDAgMCAxIDIgMnYuMDlhMS42NSAxLjY1IDAgMCAwIDEgMS41MSAxLjY1IDEuNjUgMCAwIDAgMS44Mi0uMzNsLjA2LS4wNmEyIDIgMCAwIDEgMi44MyAwIDIgMiAwIDAgMSAwIDIuODNsLS4wNi4wNmExLjY1IDEuNjUgMCAwIDAtLjMzIDEuODJWOWExLjY1IDEuNjUgMCAwIDAgMS41MSAxSDIxYTIgMiAwIDAgMSAyIDIgMiAyIDAgMCAxLTIgMmgtLjA5YTEuNjUgMS42NSAwIDAgMC0xLjUxIDF6Ij48L3BhdGg+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBDb250YWluZXIgU2V0dGluZ3MKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiPlJlc3RhcnQgUG9saWN5PC9sYWJlbD4KICAgICAgICAgICAgICA8c2VsZWN0CiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1zZWxlY3QiCiAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLnJlc3RhcnRQb2xpY3l9CiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7dGU9PnRoaXMucmVzdGFydFBvbGljeT10ZS50YXJnZXQudmFsdWV9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iYWx3YXlzIj5BbHdheXM8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im9uLWZhaWx1cmUiPk9uIEZhaWx1cmU8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im5ldmVyIj5OZXZlcjwvb3B0aW9uPgogICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIj5OZXR3b3JrIE1vZGU8L2xhYmVsPgogICAgICAgICAgICAgIDxzZWxlY3QKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLXNlbGVjdCIKICAgICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMubmV0d29ya01vZGV9CiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7dGU9PnRoaXMubmV0d29ya01vZGU9dGUudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImJyaWRnZSI+QnJpZGdlPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJob3N0Ij5Ib3N0PC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJub25lIj5Ob25lPC9vcHRpb24+CiAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CgogICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gc2Vjb25kYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDYW5jZWwoKX0+Q2FuY2VsPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbgogICAgICAgICAgY2xhc3M9ImJ1dHRvbiBwcmltYXJ5IgogICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5sb2FkaW5nfHwhdGhpcy5pc1ZhbGlkKCl9CiAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDcmVhdGUoKX0KICAgICAgICA+CiAgICAgICAgICAke3RoaXMubG9hZGluZz93YDxkaXYgY2xhc3M9InNwaW5uZXIiPjwvZGl2PmA6IiJ9CiAgICAgICAgICAke3RoaXMubG9hZGluZz8iRGVwbG95aW5nLi4uIjoiRGVwbG95IFNlcnZpY2UifQogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIGB9aXNWYWxpZCgpe3JldHVybiB0aGlzLnNlcnZpY2VOYW1lLnRyaW0oKSE9PSIiJiZ0aGlzLmltYWdlVXJsLnRyaW0oKSE9PSIifWFkZFBvcnQoKXt0aGlzLnBvcnRzPVsuLi50aGlzLnBvcnRzLHtob3N0UG9ydDoiIixjb250YWluZXJQb3J0OiIiLHByb3RvY29sOiJ0Y3AifV19cmVtb3ZlUG9ydCh0ZSl7dGhpcy5wb3J0cz10aGlzLnBvcnRzLmZpbHRlcigoSyxrZSk9PmtlIT09dGUpfXVwZGF0ZVBvcnQodGUsSyxrZSl7bGV0IHZlPVsuLi50aGlzLnBvcnRzXTt2ZVt0ZV1bS109a2UsdGhpcy5wb3J0cz12ZX1hZGRFbnZWYXIoKXt0aGlzLmVudlZhcnM9Wy4uLnRoaXMuZW52VmFycyx7a2V5OiIiLHZhbHVlOiIifV19cmVtb3ZlRW52VmFyKHRlKXt0aGlzLmVudlZhcnM9dGhpcy5lbnZWYXJzLmZpbHRlcigoSyxrZSk9PmtlIT09dGUpfXVwZGF0ZUVudlZhcih0ZSxLLGtlKXtsZXQgdmU9Wy4uLnRoaXMuZW52VmFyc107dmVbdGVdW0tdPWtlLHRoaXMuZW52VmFycz12ZX1hZGRWb2x1bWUoKXt0aGlzLnZvbHVtZXM9Wy4uLnRoaXMudm9sdW1lcyx7aG9zdFBhdGg6IiIsY29udGFpbmVyUGF0aDoiIixyZWFkT25seTohMX1dfXJlbW92ZVZvbHVtZSh0ZSl7dGhpcy52b2x1bWVzPXRoaXMudm9sdW1lcy5maWx0ZXIoKEssa2UpPT5rZSE9PXRlKX11cGRhdGVWb2x1bWUodGUsSyxrZSl7bGV0IHZlPVsuLi50aGlzLnZvbHVtZXNdO3ZlW3RlXVtLXT1rZSx0aGlzLnZvbHVtZXM9dmV9aGFuZGxlQ2FuY2VsKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2FuY2VsIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVDcmVhdGUoKXtsZXQgdGU9e25hbWU6dGhpcy5zZXJ2aWNlTmFtZS50cmltKCksaW1hZ2U6dGhpcy5pbWFnZVVybC50cmltKCkscG9ydHM6dGhpcy5wb3J0cy5maWx0ZXIoSz0+Sy5ob3N0UG9ydCYmSy5jb250YWluZXJQb3J0KSxlbnZWYXJzOnRoaXMuZW52VmFycy5maWx0ZXIoSz0+Sy5rZXkpLHZvbHVtZXM6dGhpcy52b2x1bWVzLmZpbHRlcihLPT5LLmhvc3RQYXRoJiZLLmNvbnRhaW5lclBhdGgpLGNwdUxpbWl0OnRoaXMuY3B1TGltaXQsbWVtb3J5TGltaXQ6dGhpcy5tZW1vcnlMaW1pdCxyZXN0YXJ0UG9saWN5OnRoaXMucmVzdGFydFBvbGljeSxuZXR3b3JrTW9kZTp0aGlzLm5ldHdvcmtNb2RlLGVuYWJsZU1vbmdvREI6dGhpcy5lbmFibGVNb25nb0RCLGVuYWJsZVMzOnRoaXMuZW5hYmxlUzMsZW5hYmxlQ2xpY2tIb3VzZTp0aGlzLmVuYWJsZUNsaWNrSG91c2V9O3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNyZWF0ZS1zZXJ2aWNlIix7ZGV0YWlsOnRlLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9cmVzZXQoKXt0aGlzLnNlcnZpY2VOYW1lPSIiLHRoaXMuaW1hZ2VVcmw9IiIsdGhpcy5zZWxlY3RlZFJlZ2lzdHJ5PSIiLHRoaXMucG9ydHM9W3tob3N0UG9ydDoiIixjb250YWluZXJQb3J0OiIiLHByb3RvY29sOiJ0Y3AifV0sdGhpcy5lbnZWYXJzPVt7a2V5OiIiLHZhbHVlOiIifV0sdGhpcy52b2x1bWVzPVtdLHRoaXMuY3B1TGltaXQ9IiIsdGhpcy5tZW1vcnlMaW1pdD0iIix0aGlzLnJlc3RhcnRQb2xpY3k9ImFsd2F5cyIsdGhpcy5uZXR3b3JrTW9kZT0iYnJpZGdlIix0aGlzLnNob3dBZHZhbmNlZD0hMSx0aGlzLmVuYWJsZU1vbmdvREI9ITEsdGhpcy5lbmFibGVTMz0hMSx0aGlzLmVuYWJsZUNsaWNrSG91c2U9ITF9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHNhKHRoaXMsRil9c3RhdGlje3NhKHIsYSl9fTtyZXR1cm4gbmU9cn0pKCl9KTt2YXIgeVgsRTYsRXhhLFJhYT1jKCgpPT57cGUoKTt5WD1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sRTY9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LEV4YT0oKCk9PntsZXQgdD1bYWUoInN6LXBsYXRmb3JtLXNlcnZpY2UtZGV0YWlsLXZpZXciKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiU3pQbGF0Zm9ybVNlcnZpY2VEZXRhaWxWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bTCh7dHlwZTpPYmplY3R9KV0saD1bTCh7dHlwZTpBcnJheX0pXSxwPVtMKHt0eXBlOkJvb2xlYW59KV0seVgodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXJ2aWNlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJzZXJ2aWNlImluIG0sImhhcyIpLGdldDppKG09Pm0uc2VydmljZSwiZ2V0Iiksc2V0OmkoKG0seSk9PnttLnNlcnZpY2U9eX0sInNldCIpfSxtZXRhZGF0YTpifSxvLGwpLHlYKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9ncyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtPT4ibG9ncyJpbiBtLCJoYXMiKSxnZXQ6aShtPT5tLmxvZ3MsImdldCIpLHNldDppKChtLHkpPT57bS5sb2dzPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sdSxmKSx5WCh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbkxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkobT0+ImFjdGlvbkxvYWRpbmciaW4gbSwiaGFzIiksZ2V0OmkobT0+bS5hY3Rpb25Mb2FkaW5nLCJnZXQiKSxzZXQ6aSgobSx5KT0+e20uYWN0aW9uTG9hZGluZz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGcsdikseVgobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCxhKSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz1pKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMDAwcHg7Ij4KICAgICAgPHN6LXBsYXRmb3JtLXNlcnZpY2UtZGV0YWlsLXZpZXcKICAgICAgICAuc2VydmljZT0ke3tpZDoiMSIsbmFtZToiTW9uZ29EQiIsdHlwZToibW9uZ29kYiIsc3RhdHVzOiJydW5uaW5nIix2ZXJzaW9uOiI3LjAuNCIsaG9zdDoibG9jYWxob3N0Iixwb3J0OjI3MDE3LGNyZWRlbnRpYWxzOnt1c2VybmFtZToiYWRtaW4iLHBhc3N3b3JkOiJcdTIwMjJcdTIwMjJcdTIwMjJcdTIwMjJcdTIwMjJcdTIwMjJcdTIwMjJcdTIwMjIifSxjb25maWc6e3JlcGxpY2FTZXQ6InJzMCIsYXV0aEVuYWJsZWQ6ITB9LG1ldHJpY3M6e2NwdToxMixtZW1vcnk6NDUsc3RvcmFnZToyMyxjb25uZWN0aW9uczo4fX19CiAgICAgICAgLmxvZ3M9JHtbe3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoyMiIsbGV2ZWw6ImluZm8iLG1lc3NhZ2U6IkNvbm5lY3Rpb24gYWNjZXB0ZWQgZnJvbSAxMjcuMC4wLjE6NTQzMjEifSx7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjIwIixsZXZlbDoiaW5mbyIsbWVzc2FnZToiSW5kZXggYnVpbGQgY29tcGxldGVkIG9uIGNvbGxlY3Rpb24gdXNlcnMifSx7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjE1IixsZXZlbDoid2FybiIsbWVzc2FnZToiU2xvdyBxdWVyeSBkZXRlY3RlZDogMS4ycyBvbiBjb2xsZWN0aW9uIG9yZGVycyJ9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MTAiLGxldmVsOiJpbmZvIixtZXNzYWdlOiJDaGVja3BvaW50IGNvbXBsZXRlIn1dfQogICAgICA+PC9zei1wbGF0Zm9ybS1zZXJ2aWNlLWRldGFpbC12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiUGxhdGZvcm0iXTsjZT1FNih0aGlzLG8sbnVsbCk7Z2V0IHNlcnZpY2UoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc2VydmljZShiKXt0aGlzLiNlPWJ9I3Q9KEU2KHRoaXMsbCksRTYodGhpcyx1LFtdKSk7Z2V0IGxvZ3MoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbG9ncyhiKXt0aGlzLiN0PWJ9I2E9KEU2KHRoaXMsZiksRTYodGhpcyxnLCExKSk7Z2V0IGFjdGlvbkxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYWN0aW9uTG9hZGluZyhiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmhlYWRlci1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICAuc2VydmljZS1pY29uIHsKICAgICAgICB3aWR0aDogNTZweDsKICAgICAgICBoZWlnaHQ6IDU2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAuc2VydmljZS1pY29uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDI4cHg7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLWRldGFpbHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAyMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtbWV0YSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA0cHggMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UucnVubmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uuc3RvcHBlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWRvdCB7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yOwogICAgICB9CgogICAgICAuaGVhZGVyLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpkaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kYW5nZXIgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRhbmdlcjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICB9CgogICAgICAuZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnNlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLmZ1bGwtd2lkdGggewogICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxNHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgc3ZnIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgfQoKICAgICAgLmluZm8tcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDEwcHggMDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuaW5mby1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmluZm8tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuaW5mby12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmNvcHktYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmNvcHktYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLm1ldHJpY3MtZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7CiAgICAgICAgLm1ldHJpY3MtZ3JpZCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLm1ldHJpYy1jYXJkIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICB9CgogICAgICAubWV0cmljLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAubWV0cmljLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzcy1iYXIgewogICAgICAgIGhlaWdodDogNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzcy1maWxsIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDMwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzcy1maWxsLmxvdyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMyMmM1NWUiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtZmlsbC5tZWRpdW0gewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZWFiMzA4IiwiI2VhYjMwOCIpfTsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWZpbGwuaGlnaCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuY29uZmlnLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5jb25maWctaXRlbTpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAuY29uZmlnLWtleSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5jb25maWctdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5jb25maWctdmFsdWUudHJ1ZSB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmNvbmZpZy12YWx1ZS5mYWxzZSB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNDBweCAyMHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLnNlcnZpY2U/d2AKICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItaW5mbyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLWljb24iPgogICAgICAgICAgICAke3RoaXMucmVuZGVyU2VydmljZUljb24oKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1kZXRhaWxzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1uYW1lIj4ke3RoaXMuc2VydmljZS5uYW1lfTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXJ2aWNlLW1ldGEiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHt0aGlzLnNlcnZpY2Uuc3RhdHVzfSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWRvdCI+PC9zcGFuPgogICAgICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2Uuc3RhdHVzLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK3RoaXMuc2VydmljZS5zdGF0dXMuc2xpY2UoMSl9CiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuPlZlcnNpb24gJHt0aGlzLnNlcnZpY2UudmVyc2lvbn08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWFjdGlvbnMiPgogICAgICAgICAgJHt0aGlzLnNlcnZpY2Uuc3RhdHVzPT09InJ1bm5pbmciP3dgCiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iID9kaXNhYmxlZD0ke3RoaXMuYWN0aW9uTG9hZGluZ30gQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlUmVzdGFydCgpfT4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIyMyA0IDIzIDEwIDE3IDEwIj48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMSAyMCAxIDE0IDcgMTQiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMy41MSA5YTkgOSAwIDAgMSAxNC44NS0zLjM2TDIzIDEwTTEgMTRsNC42NCA0LjM2QTkgOSAwIDAgMCAyMC40OSAxNSI+PC9wYXRoPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIFJlc3RhcnQKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gZGFuZ2VyIiA/ZGlzYWJsZWQ9JHt0aGlzLmFjdGlvbkxvYWRpbmd9IEBjbGljaz0keygpPT50aGlzLmhhbmRsZVN0b3AoKX0+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPHJlY3QgeD0iNiIgeT0iNiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiByeD0iMSI+PC9yZWN0PgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIFN0b3AKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICBgOndgCiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iID9kaXNhYmxlZD0ke3RoaXMuYWN0aW9uTG9hZGluZ30gQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlU3RhcnQoKX0+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgICAgICA8cG9seWdvbiBwb2ludHM9IjUsMyAxOSwxMiA1LDIxIj48L3BvbHlnb24+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgU3RhcnQKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICBgfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQiPgogICAgICAgIDwhLS0gQ29ubmVjdGlvbiBJbmZvIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAgMTNhNSA1IDAgMCAwIDcuNTQuNTRsMy0zYTUgNSAwIDAgMC03LjA3LTcuMDdsLTEuNzIgMS43MSI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE0IDExYTUgNSAwIDAgMC03LjU0LS41NGwtMyAzYTUgNSAwIDAgMCA3LjA3IDcuMDdsMS43MS0xLjcxIj48L3BhdGg+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgQ29ubmVjdGlvbgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5Ib3N0PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlIj4KICAgICAgICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLmhvc3R9CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjb3B5LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY29weVRvQ2xpcGJvYXJkKHRoaXMuc2VydmljZS5ob3N0KX0+CiAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgIDxyZWN0IHg9IjkiIHk9IjkiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTUgMTVINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg5YTIgMiAwIDAgMSAyIDJ2MSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8tcm93Ij4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+UG9ydDwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+JHt0aGlzLnNlcnZpY2UucG9ydH08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAke3RoaXMuc2VydmljZS5jcmVkZW50aWFscz8udXNlcm5hbWU/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+VXNlcm5hbWU8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLmNyZWRlbnRpYWxzLnVzZXJuYW1lfQogICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjb3B5LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY29weVRvQ2xpcGJvYXJkKHRoaXMuc2VydmljZS5jcmVkZW50aWFscy51c2VybmFtZSl9PgogICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01IDE1SDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAydjEiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPlBhc3N3b3JkPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPuKAouKAouKAouKAouKAouKAouKAouKAojwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2UuY3JlZGVudGlhbHM/LmFjY2Vzc0tleT93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8tcm93Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5BY2Nlc3MgS2V5PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPgogICAgICAgICAgICAgICAgICAke3RoaXMuc2VydmljZS5jcmVkZW50aWFscy5hY2Nlc3NLZXl9CiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNvcHktYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jb3B5VG9DbGlwYm9hcmQodGhpcy5zZXJ2aWNlLmNyZWRlbnRpYWxzLmFjY2Vzc0tleSl9PgogICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik01IDE1SDRhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOWEyIDIgMCAwIDEgMiAydjEiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPlNlY3JldCBLZXk8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+4oCi4oCi4oCi4oCi4oCi4oCi4oCi4oCiPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gQ29uZmlndXJhdGlvbiAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMyI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTkuNCAxNWExLjY1IDEuNjUgMCAwIDAgLjMzIDEuODJsLjA2LjA2YTIgMiAwIDAgMSAwIDIuODMgMiAyIDAgMCAxLTIuODMgMGwtLjA2LS4wNmExLjY1IDEuNjUgMCAwIDAtMS44Mi0uMzMgMS42NSAxLjY1IDAgMCAwLTEgMS41MVYyMWEyIDIgMCAwIDEtMiAyIDIgMiAwIDAgMS0yLTJ2LS4wOUExLjY1IDEuNjUgMCAwIDAgOSAxOS40YTEuNjUgMS42NSAwIDAgMC0xLjgyLjMzbC0uMDYuMDZhMiAyIDAgMCAxLTIuODMgMCAyIDIgMCAwIDEgMC0yLjgzbC4wNi0uMDZhMS42NSAxLjY1IDAgMCAwIC4zMy0xLjgyIDEuNjUgMS42NSAwIDAgMC0xLjUxLTFIM2EyIDIgMCAwIDEtMi0yIDIgMiAwIDAgMSAyLTJoLjA5QTEuNjUgMS42NSAwIDAgMCA0LjYgOWExLjY1IDEuNjUgMCAwIDAtLjMzLTEuODJsLS4wNi0uMDZhMiAyIDAgMCAxIDAtMi44MyAyIDIgMCAwIDEgMi44MyAwbC4wNi4wNmExLjY1IDEuNjUgMCAwIDAgMS44Mi4zM0g5YTEuNjUgMS42NSAwIDAgMCAxLTEuNTFWM2EyIDIgMCAwIDEgMi0yIDIgMiAwIDAgMSAyIDJ2LjA5YTEuNjUgMS42NSAwIDAgMCAxIDEuNTEgMS42NSAxLjY1IDAgMCAwIDEuODItLjMzbC4wNi0uMDZhMiAyIDAgMCAxIDIuODMgMCAyIDIgMCAwIDEgMCAyLjgzbC0uMDYuMDZhMS42NSAxLjY1IDAgMCAwLS4zMyAxLjgyVjlhMS42NSAxLjY1IDAgMCAwIDEuNTEgMUgyMWEyIDIgMCAwIDEgMiAyIDIgMiAwIDAgMS0yIDJoLS4wOWExLjY1IDEuNjUgMCAwIDAtMS41MSAxeiI+PC9wYXRoPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIENvbmZpZ3VyYXRpb24KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICAgICR7T2JqZWN0LmVudHJpZXModGhpcy5zZXJ2aWNlLmNvbmZpZykubWFwKChbYixtXSk9PndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbmZpZy1rZXkiPiR7dGhpcy5mb3JtYXRDb25maWdLZXkoYil9PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbmZpZy12YWx1ZSAke3R5cGVvZiBtPT0iYm9vbGVhbiI/bT8idHJ1ZSI6ImZhbHNlIjoiIn0iPiR7dGhpcy5mb3JtYXRDb25maWdWYWx1ZShtKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gTWV0cmljcyAtLT4KICAgICAgICAke3RoaXMuc2VydmljZS5tZXRyaWNzP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIGZ1bGwtd2lkdGgiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxOCIgeTE9IjIwIiB4Mj0iMTgiIHkyPSIxMCI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIyMCIgeDI9IjEyIiB5Mj0iNCI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8bGluZSB4MT0iNiIgeTE9IjIwIiB4Mj0iNiIgeTI9IjE0Ij48L2xpbmU+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIFJlc291cmNlIFVzYWdlCiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpY3MtZ3JpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLnNlcnZpY2UubWV0cmljcy5jcHV9JTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtbGFiZWwiPkNQVTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWZpbGwgJHt0aGlzLmdldFByb2dyZXNzQ2xhc3ModGhpcy5zZXJ2aWNlLm1ldHJpY3MuY3B1KX0iIHN0eWxlPSJ3aWR0aDogJHt0aGlzLnNlcnZpY2UubWV0cmljcy5jcHV9JSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLnNlcnZpY2UubWV0cmljcy5tZW1vcnl9JTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtbGFiZWwiPk1lbW9yeTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWZpbGwgJHt0aGlzLmdldFByb2dyZXNzQ2xhc3ModGhpcy5zZXJ2aWNlLm1ldHJpY3MubWVtb3J5KX0iIHN0eWxlPSJ3aWR0aDogJHt0aGlzLnNlcnZpY2UubWV0cmljcy5tZW1vcnl9JSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLnNlcnZpY2UubWV0cmljcy5zdG9yYWdlfSU8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWxhYmVsIj5TdG9yYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtZmlsbCAke3RoaXMuZ2V0UHJvZ3Jlc3NDbGFzcyh0aGlzLnNlcnZpY2UubWV0cmljcy5zdG9yYWdlKX0iIHN0eWxlPSJ3aWR0aDogJHt0aGlzLnNlcnZpY2UubWV0cmljcy5zdG9yYWdlfSUiPjwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2UubWV0cmljcy5jb25uZWN0aW9ucyE9PXZvaWQgMD93YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLXZhbHVlIj4ke3RoaXMuc2VydmljZS5tZXRyaWNzLmNvbm5lY3Rpb25zfTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1sYWJlbCI+Q29ubmVjdGlvbnM8L2Rpdj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgIDwhLS0gTG9ncyAtLT4KICAgICAgICA8ZGl2IHN0eWxlPSJncmlkLWNvbHVtbjogMSAvIC0xOyI+CiAgICAgICAgICA8ZGVlcy1jaGFydC1sb2cKICAgICAgICAgICAgLmxhYmVsPSR7IlNlcnZpY2UgTG9ncyJ9CiAgICAgICAgICAgIC5sb2dFbnRyaWVzPSR7dGhpcy5sb2dzLm1hcChiPT4oe3RpbWVzdGFtcDpiLnRpbWVzdGFtcC5pbmNsdWRlcygiVCIpP2IudGltZXN0YW1wOm5ldyBEYXRlKGIudGltZXN0YW1wKS50b0lTT1N0cmluZygpLGxldmVsOmIubGV2ZWwsbWVzc2FnZTpiLm1lc3NhZ2V9KSl9CiAgICAgICAgICAgIC5hdXRvU2Nyb2xsPSR7ITB9CiAgICAgICAgICAgIC5tYXhFbnRyaWVzPSR7MmUzfQogICAgICAgICAgICAuc2hvd01ldHJpY3M9JHshMH0KICAgICAgICAgID48L2RlZXMtY2hhcnQtbG9nPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGA6d2A8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gc2VydmljZSBzZWxlY3RlZDwvZGl2PmB9cmVuZGVyU2VydmljZUljb24oKXtzd2l0Y2godGhpcy5zZXJ2aWNlPy50eXBlKXtjYXNlIm1vbmdvZGIiOnJldHVybiB3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0tMSAxNy45M2MtMy45NS0uNDktNy0zLjg1LTctNy45MyAwLS42Mi4wOC0xLjIxLjIxLTEuNzlMOSAxNXYxYzAgMS4xLjkgMiAyIDJ2MS45M3ptNi45LTIuNTRjLS4yNi0uODEtMS0xLjM5LTEuOS0xLjM5aC0xdi0zYzAtLjU1LS40NS0xLTEtMUg4di0yaDJjLjU1IDAgMS0uNDUgMS0xVjdoMmMxLjEgMCAyLS45IDItMnYtLjQxYzIuOTMgMS4xOSA1IDQuMDYgNSA3LjQxIDAgMi4wOC0uOCAzLjk3LTIuMSA1LjM5eiIvPjwvc3ZnPmA7Y2FzZSJtaW5pbyI6cmV0dXJuIHdgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTIxIDE2LjVjMCAuMzgtLjIxLjcxLS41My44OGwtNy45IDQuNDRjLS4xNi4xMi0uMzYuMTgtLjU3LjE4LS4yMSAwLS40MS0uMDYtLjU3LS4xOGwtNy45LTQuNDRBLjk5MS45OTEgMCAwIDEgMyAxNi41di05YzAtLjM4LjIxLS43MS41My0uODhsNy45LTQuNDRjLjE2LS4xMi4zNi0uMTguNTctLjE4LjIxIDAgLjQxLjA2LjU3LjE4bDcuOSA0LjQ0Yy4zMi4xNy41My41LjUzLjg4djl6Ii8+PC9zdmc+YDtjYXNlImNsaWNraG91c2UiOnJldHVybiB3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxyZWN0IHg9IjIiIHk9IjIiIHdpZHRoPSI2IiBoZWlnaHQ9IjIwIi8+PHJlY3QgeD0iOSIgeT0iNyIgd2lkdGg9IjYiIGhlaWdodD0iMTUiLz48cmVjdCB4PSIxNiIgeT0iMTIiIHdpZHRoPSI2IiBoZWlnaHQ9IjEwIi8+PC9zdmc+YDtjYXNlInJlZGlzIjpyZXR1cm4gd2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMTIgMkwyIDdsMTAgNSAxMC01LTEwLTV6TTIgMTdsMTAgNSAxMC01TTIgMTJsMTAgNSAxMC01Ii8+PC9zdmc+YDtkZWZhdWx0OnJldHVybiB3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cmVjdCB4PSIyIiB5PSIyIiB3aWR0aD0iMjAiIGhlaWdodD0iOCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+PHJlY3QgeD0iMiIgeT0iMTQiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIgcnk9IjIiPjwvcmVjdD48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSI2LjAxIiB5Mj0iNiI+PC9saW5lPjxsaW5lIHgxPSI2IiB5MT0iMTgiIHgyPSI2LjAxIiB5Mj0iMTgiPjwvbGluZT48L3N2Zz5gfX1nZXRQcm9ncmVzc0NsYXNzKGIpe3JldHVybiBiPDUwPyJsb3ciOmI8ODA/Im1lZGl1bSI6ImhpZ2gifWZvcm1hdENvbmZpZ0tleShiKXtyZXR1cm4gYi5yZXBsYWNlKC8oW0EtWl0pL2csIiAkMSIpLnJlcGxhY2UoL14uLyxtPT5tLnRvVXBwZXJDYXNlKCkpfWZvcm1hdENvbmZpZ1ZhbHVlKGIpe3JldHVybiB0eXBlb2YgYj09ImJvb2xlYW4iP2I/IkVuYWJsZWQiOiJEaXNhYmxlZCI6U3RyaW5nKGIpfWNvcHlUb0NsaXBib2FyZChiKXtuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChiKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb3B5Iix7ZGV0YWlsOmIsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVTdGFydCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInN0YXJ0Iix7ZGV0YWlsOnRoaXMuc2VydmljZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVN0b3AoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzdG9wIix7ZGV0YWlsOnRoaXMuc2VydmljZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVJlc3RhcnQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZXN0YXJ0Iix7ZGV0YWlsOnRoaXMuc2VydmljZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxFNih0aGlzLHYpfXN0YXRpY3tFNihyLGEpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgR0IsV28sSXhhLEZhYT1jKCgpPT57cGUoKTtHQj1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sV289ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LEl4YT0oKCk9PntsZXQgdD1bYWUoInN6LWRvbWFpbi1kZXRhaWwtdmlldyIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJTekRvbWFpbkRldGFpbFZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk9iamVjdH0pXSxoPVtMKHt0eXBlOk9iamVjdH0pXSxwPVtMKHt0eXBlOkFycmF5fSldLHg9W0woe3R5cGU6Qm9vbGVhbn0pXSxHQih0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRvbWFpbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4iZG9tYWluImluIGssImhhcyIpLGdldDppKGs9PmsuZG9tYWluLCJnZXQiKSxzZXQ6aSgoayxFKT0+e2suZG9tYWluPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbyxsKSxHQih0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNlcnRpZmljYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGs9PiJjZXJ0aWZpY2F0ZSJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLmNlcnRpZmljYXRlLCJnZXQiKSxzZXQ6aSgoayxFKT0+e2suY2VydGlmaWNhdGU9RX0sInNldCIpfSxtZXRhZGF0YTpNfSx1LGYpLEdCKHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZG5zUmVjb3JkcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4iZG5zUmVjb3JkcyJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLmRuc1JlY29yZHMsImdldCIpLHNldDppKChrLEUpPT57ay5kbnNSZWNvcmRzPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sZyx2KSxHQih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbkxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+ImFjdGlvbkxvYWRpbmciaW4gaywiaGFzIiksZ2V0Omkoaz0+ay5hY3Rpb25Mb2FkaW5nLCJnZXQiKSxzZXQ6aSgoayxFKT0+e2suYWN0aW9uTG9hZGluZz1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGIsbSksR0IobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCxhKSx5PXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1pKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMDAwcHg7Ij4KICAgICAgPHN6LWRvbWFpbi1kZXRhaWwtdmlldwogICAgICAgIC5kb21haW49JHt7aWQ6IjEiLG5hbWU6ImV4YW1wbGUuY29tIixzdGF0dXM6ImFjdGl2ZSIsdmVyaWZpZWQ6ITAsY3JlYXRlZEF0OiIyMDI0LTAxLTEwIixwcm94eVJvdXRlczpbIi9hcGkvKiIsIi9hcHAvKiJdfX0KICAgICAgICAuY2VydGlmaWNhdGU9JHt7aWQ6IjEiLGRvbWFpbjoiZXhhbXBsZS5jb20iLGlzc3VlcjoiTGV0J3MgRW5jcnlwdCIsdmFsaWRGcm9tOiIyMDI0LTAxLTEwIix2YWxpZFVudGlsOiIyMDI0LTA0LTEwIixkYXlzUmVtYWluaW5nOjQ1LHN0YXR1czoidmFsaWQiLGF1dG9SZW5ldzohMCxjaGFpbjpbIlIzIiwiSVNSRyBSb290IFgxIl19fQogICAgICAgIC5kbnNSZWNvcmRzPSR7W3tpZDoiMSIsdHlwZToiQSIsbmFtZToiQCIsdmFsdWU6IjE5Mi4xNjguMS4xMDAiLHR0bDozNjAwfSx7aWQ6IjIiLHR5cGU6IkNOQU1FIixuYW1lOiJ3d3ciLHZhbHVlOiJleGFtcGxlLmNvbSIsdHRsOjM2MDB9LHtpZDoiMyIsdHlwZToiTVgiLG5hbWU6IkAiLHZhbHVlOiJtYWlsLmV4YW1wbGUuY29tIix0dGw6MzYwMCxwcmlvcml0eToxMH0se2lkOiI0Iix0eXBlOiJUWFQiLG5hbWU6IkAiLHZhbHVlOiJ2PXNwZjEgaW5jbHVkZTpfc3BmLmV4YW1wbGUuY29tIH5hbGwiLHR0bDozNjAwfV19CiAgICAgID48L3N6LWRvbWFpbi1kZXRhaWwtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT1Xbyh0aGlzLG8sbnVsbCk7Z2V0IGRvbWFpbigpe3JldHVybiB0aGlzLiNlfXNldCBkb21haW4oTSl7dGhpcy4jZT1NfSN0PShXbyh0aGlzLGwpLFdvKHRoaXMsdSxudWxsKSk7Z2V0IGNlcnRpZmljYXRlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGNlcnRpZmljYXRlKE0pe3RoaXMuI3Q9TX0jYT0oV28odGhpcyxmKSxXbyh0aGlzLGcsW10pKTtnZXQgZG5zUmVjb3Jkcygpe3JldHVybiB0aGlzLiNhfXNldCBkbnNSZWNvcmRzKE0pe3RoaXMuI2E9TX0jcj0oV28odGhpcyx2KSxXbyh0aGlzLGIsITEpKTtnZXQgYWN0aW9uTG9hZGluZygpe3JldHVybiB0aGlzLiNyfXNldCBhY3Rpb25Mb2FkaW5nKE0pe3RoaXMuI3I9TX1zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmRvbWFpbi1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UucGVuZGluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZWYzYzciLCJyZ2JhKDI0NSwgMTU4LCAxMSwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkOTc3MDYiLCIjZjU5ZTBiIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1kb3QgewogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjsKICAgICAgfQoKICAgICAgLmRvbWFpbi1tZXRhIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAudmVyaWZpZWQtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnZlcmlmaWVkLWJhZGdlIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpkaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kYW5nZXIgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRhbmdlcjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICB9CgogICAgICAuZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnNlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLmZ1bGwtd2lkdGggewogICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxNHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgc3ZnIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tYWN0aW9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tYWN0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgfQoKICAgICAgLmNlcnQtc3RhdHVzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmMGZkZjQiLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjEpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuY2VydC1zdGF0dXMuZXhwaXJpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmYmViIiwicmdiYSgyNDUsIDE1OCwgMTEsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LXN0YXR1cy5leHBpcmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZlZjJmMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LWljb24gewogICAgICAgIHdpZHRoOiA0MHB4OwogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuY2VydC1pY29uLnZhbGlkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmNlcnQtaWNvbi5leHBpcmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZWYzYzciLCJyZ2JhKDI0NSwgMTU4LCAxMSwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkOTc3MDYiLCIjZjU5ZTBiIil9OwogICAgICB9CgogICAgICAuY2VydC1pY29uLmV4cGlyZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuY2VydC1pY29uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICB9CgogICAgICAuY2VydC1pbmZvIHsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAuY2VydC10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmNlcnQtc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLmNlcnQtZGF5cyB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAuY2VydC1kYXlzLnZhbGlkIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuY2VydC1kYXlzLmV4cGlyaW5nIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkOTc3MDYiLCIjZjU5ZTBiIil9OwogICAgICB9CgogICAgICAuY2VydC1kYXlzLmV4cGlyZWQgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LWRheXMtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5pbmZvLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMHB4IDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmluZm8tcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5pbmZvLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmluZm8tdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5pbmZvLXZhbHVlLmVuYWJsZWQgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5jaGFpbi1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmNoYWluLWJhZGdlIHsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5kbnMtdGFibGUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuZG5zLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDgwcHggMWZyIDJmciA4MHB4IDYwcHg7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDEwcHggMDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuZG5zLXJvdyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDgwcHggMWZyIDJmciA4MHB4IDYwcHg7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5kbnMtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5kbnMtcm93OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgbWFyZ2luOiAwIC0xNnB4OwogICAgICAgIHBhZGRpbmctbGVmdDogMTZweDsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OwogICAgICB9CgogICAgICAuZG5zLXR5cGUgewogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5kbnMtbmFtZSB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQoKICAgICAgLmRucy12YWx1ZSB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmRucy10dGwgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5kbnMtYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uLmRhbmdlcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5pY29uLWJ1dHRvbiBzdmcgewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQoKICAgICAgLnJvdXRlcy1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnJvdXRlLWJhZGdlIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLmRvbWFpbj93YAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pbmZvIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRvbWFpbi1uYW1lIj4KICAgICAgICAgICAgJHt0aGlzLmRvbWFpbi5uYW1lfQogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWJhZGdlICR7dGhpcy5kb21haW4uc3RhdHVzfSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1kb3QiPjwvc3Bhbj4KICAgICAgICAgICAgICAke3RoaXMuZG9tYWluLnN0YXR1cy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0aGlzLmRvbWFpbi5zdGF0dXMuc2xpY2UoMSl9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZG9tYWluLW1ldGEiPgogICAgICAgICAgICAke3RoaXMuZG9tYWluLnZlcmlmaWVkP3dgCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InZlcmlmaWVkLWJhZGdlIj4KICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIyIDExLjA4VjEyYTEwIDEwIDAgMSAxLTUuOTMtOS4xNCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIyMiA0IDEyIDE0LjAxIDkgMTEuMDEiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIFZlcmlmaWVkCiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICBgOndgPHNwYW4+Tm90IHZlcmlmaWVkPC9zcGFuPmB9CiAgICAgICAgICAgIDxzcGFuPkFkZGVkICR7dGhpcy5kb21haW4uY3JlYXRlZEF0fTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1hY3Rpb25zIj4KICAgICAgICAgICR7dGhpcy5kb21haW4udmVyaWZpZWQ/IiI6d2AKICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgP2Rpc2FibGVkPSR7dGhpcy5hY3Rpb25Mb2FkaW5nfSBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVWZXJpZnkoKX0+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMjAgNiA5IDE3IDQgMTIiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgVmVyaWZ5IERvbWFpbgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIGB9CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIGRhbmdlciIgP2Rpc2FibGVkPSR7dGhpcy5hY3Rpb25Mb2FkaW5nfSBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEZWxldGUoKX0+CiAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIzIDYgNSA2IDIxIDYiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE5IDZ2MTRhMiAyIDAgMCAxLTIgMkg3YTIgMiAwIDAgMS0yLTJWNm0zIDBWNGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYyIj48L3BhdGg+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBEZWxldGUKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQiPgogICAgICAgIDwhLS0gQ2VydGlmaWNhdGUgU2VjdGlvbiAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPHJlY3QgeD0iMyIgeT0iMTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMSIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNyAxMVY3YTUgNSAwIDAgMSAxMCAwdjQiPjwvcGF0aD4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBTU0wgQ2VydGlmaWNhdGUKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICR7dGhpcy5jZXJ0aWZpY2F0ZT93YAogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InNlY3Rpb24tYWN0aW9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVSZW5ld0NlcnRpZmljYXRlKCl9PlJlbmV3PC9idXR0b24+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICAgICR7dGhpcy5jZXJ0aWZpY2F0ZT93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtc3RhdHVzICR7dGhpcy5jZXJ0aWZpY2F0ZS5zdGF0dXN9Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtaWNvbiAke3RoaXMuY2VydGlmaWNhdGUuc3RhdHVzfSI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5jZXJ0aWZpY2F0ZS5zdGF0dXM9PT0idmFsaWQiP3dgCiAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIyIDExLjA4VjEyYTEwIDEwIDAgMSAxLTUuOTMtOS4xNCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMjIgNCAxMiAxNC4wMSA5IDExLjAxIj48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICBgOnRoaXMuY2VydGlmaWNhdGUuc3RhdHVzPT09ImV4cGlyaW5nIj93YAogICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjgiIHgyPSIxMiIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIxNiIgeDI9IjEyLjAxIiB5Mj0iMTYiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxNSIgeTE9IjkiIHgyPSI5IiB5Mj0iMTUiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI5IiB5MT0iOSIgeDI9IjE1IiB5Mj0iMTUiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VydC1pbmZvIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VydC10aXRsZSI+JHt0aGlzLmNlcnRpZmljYXRlLnN0YXR1cz09PSJ2YWxpZCI/IkNlcnRpZmljYXRlIFZhbGlkIjp0aGlzLmNlcnRpZmljYXRlLnN0YXR1cz09PSJleHBpcmluZyI/IkNlcnRpZmljYXRlIEV4cGlyaW5nIFNvb24iOiJDZXJ0aWZpY2F0ZSBFeHBpcmVkIn08L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VydC1zdWJ0aXRsZSI+SXNzdWVkIGJ5ICR7dGhpcy5jZXJ0aWZpY2F0ZS5pc3N1ZXJ9PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtZGF5cyAke3RoaXMuY2VydGlmaWNhdGUuc3RhdHVzfSI+JHtNYXRoLmFicyh0aGlzLmNlcnRpZmljYXRlLmRheXNSZW1haW5pbmcpfTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZXJ0LWRheXMtbGFiZWwiPiR7dGhpcy5jZXJ0aWZpY2F0ZS5kYXlzUmVtYWluaW5nPj0wPyJkYXlzIGxlZnQiOiJkYXlzIGFnbyJ9PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPlZhbGlkIEZyb208L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+JHt0aGlzLmNlcnRpZmljYXRlLnZhbGlkRnJvbX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPlZhbGlkIFVudGlsPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPiR7dGhpcy5jZXJ0aWZpY2F0ZS52YWxpZFVudGlsfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+QXV0by1SZW5ldzwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlICR7dGhpcy5jZXJ0aWZpY2F0ZS5hdXRvUmVuZXc/ImVuYWJsZWQiOiIifSI+JHt0aGlzLmNlcnRpZmljYXRlLmF1dG9SZW5ldz8iRW5hYmxlZCI6IkRpc2FibGVkIn08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgJHt0aGlzLmNlcnRpZmljYXRlLmNoYWluJiZ0aGlzLmNlcnRpZmljYXRlLmNoYWluLmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5DZXJ0aWZpY2F0ZSBDaGFpbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hhaW4tbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgJHt0aGlzLmNlcnRpZmljYXRlLmNoYWluLm1hcChNPT53YDxzcGFuIGNsYXNzPSJjaGFpbi1iYWRnZSI+JHtNfTwvc3Bhbj5gKX0KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIGNlcnRpZmljYXRlIGNvbmZpZ3VyZWQ8L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIFByb3h5IFJvdXRlcyBTZWN0aW9uIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNiAzIDIxIDMgMjEgOCI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI0IiB5MT0iMjAiIHgyPSIyMSIgeTI9IjMiPjwvbGluZT4KICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjIxIDE2IDIxIDIxIDE2IDIxIj48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjE1IiB5MT0iMTUiIHgyPSIyMSIgeTI9IjIxIj48L2xpbmU+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iNCIgeTE9IjQiIHgyPSI5IiB5Mj0iOSI+PC9saW5lPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIFByb3h5IFJvdXRlcwogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgICAgJHt0aGlzLmRvbWFpbi5wcm94eVJvdXRlcyYmdGhpcy5kb21haW4ucHJveHlSb3V0ZXMubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3V0ZXMtbGlzdCI+CiAgICAgICAgICAgICAgICAke3RoaXMuZG9tYWluLnByb3h5Um91dGVzLm1hcChNPT53YAogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icm91dGUtYmFkZ2UiPiR7TX08L3NwYW4+CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBwcm94eSByb3V0ZXMgY29uZmlndXJlZDwvZGl2PgogICAgICAgICAgICBgfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gRE5TIFJlY29yZHMgU2VjdGlvbiAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIGZ1bGwtd2lkdGgiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMiIgeTE9IjEyIiB4Mj0iMjIiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyIDJhMTUuMyAxNS4zIDAgMCAxIDQgMTAgMTUuMyAxNS4zIDAgMCAxLTQgMTAgMTUuMyAxNS4zIDAgMCAxLTQtMTAgMTUuMyAxNS4zIDAgMCAxIDQtMTB6Ij48L3BhdGg+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgRE5TIFJlY29yZHMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InNlY3Rpb24tYWN0aW9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBZGREbnNSZWNvcmQoKX0+CiAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3R5bGU9Im1hcmdpbi1yaWdodDogNHB4OyI+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBBZGQgUmVjb3JkCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiPgogICAgICAgICAgICAke3RoaXMuZG5zUmVjb3Jkcy5sZW5ndGg+MD93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRucy10YWJsZSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkbnMtaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgPHNwYW4+VHlwZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4+TmFtZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4+VmFsdWU8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuPlRUTDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAke3RoaXMuZG5zUmVjb3Jkcy5tYXAoTT0+d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG5zLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy10eXBlIj4ke00udHlwZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy1uYW1lIj4ke00ubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy12YWx1ZSIgdGl0bGU9IiR7TS52YWx1ZX0iPiR7TS5wcmlvcml0eT9gJHtNLnByaW9yaXR5fSBgOiIifSR7TS52YWx1ZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy10dGwiPiR7TS50dGx9czwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZG5zLWFjdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24iIHRpdGxlPSJFZGl0IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVFZGl0RG5zUmVjb3JkKE0pfT4KICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMSA0SDRhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ2LTciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTguNSAyLjVhMi4xMjEgMi4xMjEgMCAwIDEgMyAzTDEyIDE1bC00IDEgMS00IDkuNS05LjV6Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiBkYW5nZXIiIHRpdGxlPSJEZWxldGUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZURuc1JlY29yZChNKX0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIzIDYgNSA2IDIxIDYiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE5IDZ2MTRhMiAyIDAgMCAxLTIgMkg3YTIgMiAwIDAgMS0yLTJWNm0zIDBWNGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYyIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIEROUyByZWNvcmRzIGNvbmZpZ3VyZWQ8L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGA6d2A8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gZG9tYWluIHNlbGVjdGVkPC9kaXY+YH1oYW5kbGVWZXJpZnkoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ2ZXJpZnktZG9tYWluIix7ZGV0YWlsOnRoaXMuZG9tYWluLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRGVsZXRlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVsZXRlLWRvbWFpbiIse2RldGFpbDp0aGlzLmRvbWFpbixidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVJlbmV3Q2VydGlmaWNhdGUoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZW5ldy1jZXJ0aWZpY2F0ZSIse2RldGFpbDp0aGlzLmNlcnRpZmljYXRlLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQWRkRG5zUmVjb3JkKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYWRkLWRucy1yZWNvcmQiLHtkZXRhaWw6dGhpcy5kb21haW4sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVFZGl0RG5zUmVjb3JkKE0pe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImVkaXQtZG5zLXJlY29yZCIse2RldGFpbDpNLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRGVsZXRlRG5zUmVjb3JkKE0pe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRlbGV0ZS1kbnMtcmVjb3JkIix7ZGV0YWlsOk0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksV28odGhpcyxtKX1zdGF0aWN7V28ocixhKX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIFlCLEdvLE54YSxPYWE9YygoKT0+e3BlKCk7WUI9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LEdvPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxOeGE9KCgpPT57bGV0IHQ9W2FlKCJzei1tdGEtbGlzdC12aWV3IildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6TXRhTGlzdFZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOkFycmF5fSldLGg9W1ooKV0scD1bWigpXSx4PVtaKCldLFlCKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW1haWxzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGs9PiJlbWFpbHMiaW4gaywiaGFzIiksZ2V0Omkoaz0+ay5lbWFpbHMsImdldCIpLHNldDppKChrLEUpPT57ay5lbWFpbHM9RX0sInNldCIpfSxtZXRhZGF0YTpNfSxvLGwpLFlCKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VhcmNoUXVlcnkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+InNlYXJjaFF1ZXJ5ImluIGssImhhcyIpLGdldDppKGs9Pmsuc2VhcmNoUXVlcnksImdldCIpLHNldDppKChrLEUpPT57ay5zZWFyY2hRdWVyeT1FfSwic2V0Iil9LG1ldGFkYXRhOk19LHUsZiksWUIodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXNGaWx0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+InN0YXR1c0ZpbHRlciJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLnN0YXR1c0ZpbHRlciwiZ2V0Iiksc2V0OmkoKGssRSk9PntrLnN0YXR1c0ZpbHRlcj1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGcsdiksWUIodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXJlY3Rpb25GaWx0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+ImRpcmVjdGlvbkZpbHRlciJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLmRpcmVjdGlvbkZpbHRlciwiZ2V0Iiksc2V0OmkoKGssRSk9PntrLmRpcmVjdGlvbkZpbHRlcj1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGIsbSksWUIobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCxhKSx5PXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1pKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LW10YS1saXN0LXZpZXcKICAgICAgICAuZW1haWxzPSR7W3tpZDoiMSIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJkZWxpdmVyZWQiLGZyb206Im5vcmVwbHlAc2VydmUuem9uZSIsdG86InVzZXJAZXhhbXBsZS5jb20iLHN1YmplY3Q6IldlbGNvbWUgdG8gc2VydmUuem9uZSIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjMwOjIyIixtZXNzYWdlSWQ6IjxhYmMxMjNAc2VydmUuem9uZT4iLHNpemU6IjEyLjQgS0IifSx7aWQ6IjIiLGRpcmVjdGlvbjoib3V0Ym91bmQiLHN0YXR1czoiYm91bmNlZCIsZnJvbToiYWxlcnRzQHNlcnZlLnpvbmUiLHRvOiJpbnZhbGlkQG5vd2hlcmUudGVzdCIsc3ViamVjdDoiU2VydmljZSBBbGVydDogQ1BVIFVzYWdlIEhpZ2giLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoyODoxMCIsbWVzc2FnZUlkOiI8ZGVmNDU2QHNlcnZlLnpvbmU+IixzaXplOiI4LjIgS0IifSx7aWQ6IjMiLGRpcmVjdGlvbjoiaW5ib3VuZCIsc3RhdHVzOiJkZWxpdmVyZWQiLGZyb206InN1cHBvcnRAY3VzdG9tZXIuY29tIix0bzoiYWRtaW5Ac2VydmUuem9uZSIsc3ViamVjdDoiUmU6IEluZnJhc3RydWN0dXJlIFJldmlldyIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjI1OjAwIixtZXNzYWdlSWQ6IjxnaGk3ODlAY3VzdG9tZXIuY29tPiIsc2l6ZToiMjQuMSBLQiJ9LHtpZDoiNCIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJyZWplY3RlZCIsZnJvbToiYmlsbGluZ0BzZXJ2ZS56b25lIix0bzoiYmxvY2tlZEBzcGFtLWRvbWFpbi50ZXN0IixzdWJqZWN0OiJJbnZvaWNlICMyMDI0LTAwMSIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjIwOjQ1IixtZXNzYWdlSWQ6Ijxqa2wwMTJAc2VydmUuem9uZT4iLHNpemU6IjQ1LjYgS0IifSx7aWQ6IjUiLGRpcmVjdGlvbjoib3V0Ym91bmQiLHN0YXR1czoiZGVmZXJyZWQiLGZyb206Im5vcmVwbHlAc2VydmUuem9uZSIsdG86InNsb3dAcmVtb3RlLXNlcnZlci50ZXN0IixzdWJqZWN0OiJQYXNzd29yZCBSZXNldCBSZXF1ZXN0Iix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MTU6MzAiLG1lc3NhZ2VJZDoiPG1ubzM0NUBzZXJ2ZS56b25lPiIsc2l6ZToiNi44IEtCIn0se2lkOiI2IixkaXJlY3Rpb246ImluYm91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJjaUBnaXRodWIuY29tIix0bzoiZGV2b3BzQHNlcnZlLnpvbmUiLHN1YmplY3Q6IkJ1aWxkICM0NTIxIHBhc3NlZCIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjEwOjAwIixtZXNzYWdlSWQ6IjxwcXI2NzhAZ2l0aHViLmNvbT4iLHNpemU6IjE1LjMgS0IifSx7aWQ6IjciLGRpcmVjdGlvbjoib3V0Ym91bmQiLHN0YXR1czoicGVuZGluZyIsZnJvbToicmVwb3J0c0BzZXJ2ZS56b25lIix0bzoidGVhbUBzZXJ2ZS56b25lIixzdWJqZWN0OiJXZWVrbHkgSW5mcmFzdHJ1Y3R1cmUgUmVwb3J0Iix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MDU6MDAiLG1lc3NhZ2VJZDoiPHN0dTkwMUBzZXJ2ZS56b25lPiIsc2l6ZToiMTAyLjcgS0IifV19CiAgICAgID48L3N6LW10YS1saXN0LXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJNVEEiXTsjZT1Hbyh0aGlzLG8sW10pO2dldCBlbWFpbHMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZW1haWxzKE0pe3RoaXMuI2U9TX0jdD0oR28odGhpcyxsKSxHbyh0aGlzLHUsIiIpKTtnZXQgc2VhcmNoUXVlcnkoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VhcmNoUXVlcnkoTSl7dGhpcy4jdD1NfSNhPShHbyh0aGlzLGYpLEdvKHRoaXMsZywiYWxsIikpO2dldCBzdGF0dXNGaWx0ZXIoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc3RhdHVzRmlsdGVyKE0pe3RoaXMuI2E9TX0jcj0oR28odGhpcyx2KSxHbyh0aGlzLGIsImFsbCIpKTtnZXQgZGlyZWN0aW9uRmlsdGVyKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGRpcmVjdGlvbkZpbHRlcihNKXt0aGlzLiNyPU19Z2V0IGZpbHRlcmVkRW1haWxzKCl7cmV0dXJuIHRoaXMuZW1haWxzLmZpbHRlcihNPT57aWYodGhpcy5zdGF0dXNGaWx0ZXIhPT0iYWxsIiYmTS5zdGF0dXMhPT10aGlzLnN0YXR1c0ZpbHRlcnx8dGhpcy5kaXJlY3Rpb25GaWx0ZXIhPT0iYWxsIiYmTS5kaXJlY3Rpb24hPT10aGlzLmRpcmVjdGlvbkZpbHRlcilyZXR1cm4hMTtpZih0aGlzLnNlYXJjaFF1ZXJ5KXtsZXQgaz10aGlzLnNlYXJjaFF1ZXJ5LnRvTG93ZXJDYXNlKCk7cmV0dXJuIE0uZnJvbS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGspfHxNLnRvLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoayl8fE0uc3ViamVjdC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGspfHxNLm1lc3NhZ2VJZC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGspfXJldHVybiEwfSl9c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmZpbHRlci1iYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaW5wdXQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pbnB1dDpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiMzYjgyZjYiKX07CiAgICAgIH0KCiAgICAgIC5jaGlwLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuY2hpcCB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuY2hpcDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5jaGlwLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5yZXN1bHRzLWNvdW50IHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICB9CgogICAgICAudGFibGUtY29udGFpbmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAudGFibGUtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDBweCA5MHB4IDEuNWZyIDEuNWZyIDJmciAxNDBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAudGFibGUtcm93IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNDBweCA5MHB4IDEuNWZyIDEuNWZyIDJmciAxNDBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudGFibGUtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLmRpcmVjdGlvbi1pY29uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5kaXJlY3Rpb24taWNvbi5pbmJvdW5kIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuZGlyZWN0aW9uLWljb24ub3V0Ym91bmQgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZGVsaXZlcmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5ib3VuY2VkLAogICAgICAuc3RhdHVzLWJhZGdlLnJlamVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5kZWZlcnJlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZWY5YzMiLCJyZ2JhKDI1MCwgMjA0LCAyMSwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNjYThhMDQiLCIjZmFjYzE1Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnBlbmRpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmVtYWlsLWZyb20sCiAgICAgIC5lbWFpbC10byB7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuZW1haWwtc3ViamVjdCB7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5lbWFpbC10aW1lc3RhbXAgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgcGFkZGluZzogNDhweCAyNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgTT10aGlzLmZpbHRlcmVkRW1haWxzO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJmaWx0ZXItYmFyIj4KICAgICAgICA8aW5wdXQKICAgICAgICAgIGNsYXNzPSJzZWFyY2gtaW5wdXQiCiAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgcGxhY2Vob2xkZXI9IlNlYXJjaCBieSBmcm9tLCB0bywgc3ViamVjdCwgb3IgbWVzc2FnZSBJRC4uLiIKICAgICAgICAgIC52YWx1ZT0ke3RoaXMuc2VhcmNoUXVlcnl9CiAgICAgICAgICBAaW5wdXQ9JHtrPT57dGhpcy5zZWFyY2hRdWVyeT1rLnRhcmdldC52YWx1ZX19CiAgICAgICAgLz4KICAgICAgICA8ZGl2IGNsYXNzPSJjaGlwLWdyb3VwIj4KICAgICAgICAgICR7WyJhbGwiLCJpbmJvdW5kIiwib3V0Ym91bmQiXS5tYXAoaz0+d2AKICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgIGNsYXNzPSJjaGlwICR7dGhpcy5kaXJlY3Rpb25GaWx0ZXI9PT1rPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+e3RoaXMuZGlyZWN0aW9uRmlsdGVyPWt9fQogICAgICAgICAgICA+JHtrPT09ImFsbCI/IkFsbCI6az09PSJpbmJvdW5kIj8iSW5ib3VuZCI6Ik91dGJvdW5kIn08L2J1dHRvbj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNoaXAtZ3JvdXAiPgogICAgICAgICAgJHtbImFsbCIsImRlbGl2ZXJlZCIsImJvdW5jZWQiLCJyZWplY3RlZCIsImRlZmVycmVkIiwicGVuZGluZyJdLm1hcChrPT53YAogICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgY2xhc3M9ImNoaXAgJHt0aGlzLnN0YXR1c0ZpbHRlcj09PWs/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0keygpPT57dGhpcy5zdGF0dXNGaWx0ZXI9a319CiAgICAgICAgICAgID4ke2s9PT0iYWxsIj8iQWxsIjprLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2suc2xpY2UoMSl9PC9idXR0b24+CiAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJyZXN1bHRzLWNvdW50Ij5TaG93aW5nICR7TS5sZW5ndGh9IG9mICR7dGhpcy5lbWFpbHMubGVuZ3RofSBlbWFpbHM8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuPjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlN0YXR1czwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkZyb208L3NwYW4+CiAgICAgICAgICA8c3Bhbj5Ubzwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlN1YmplY3Q8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5UaW1lc3RhbXA8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHtNLmxlbmd0aD4wP00ubWFwKGs9PndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yb3ciIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUVtYWlsQ2xpY2soayl9PgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGlyZWN0aW9uLWljb24gJHtrLmRpcmVjdGlvbn0iPgogICAgICAgICAgICAgICR7ay5kaXJlY3Rpb249PT0iaW5ib3VuZCI/d2A8c3ZnIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSIvPjxwb2x5bGluZSBwb2ludHM9IjE5IDEyIDEyIDE5IDUgMTIiLz48L3N2Zz5gOndgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PGxpbmUgeDE9IjEyIiB5MT0iMTkiIHgyPSIxMiIgeTI9IjUiLz48cG9seWxpbmUgcG9pbnRzPSI1IDEyIDEyIDUgMTkgMTIiLz48L3N2Zz5gfQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPjxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHtrLnN0YXR1c30iPiR7ay5zdGF0dXN9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVtYWlsLWZyb20iIHRpdGxlPSIke2suZnJvbX0iPiR7ay5mcm9tfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVtYWlsLXRvIiB0aXRsZT0iJHtrLnRvfSI+JHtrLnRvfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVtYWlsLXN1YmplY3QiIHRpdGxlPSIke2suc3ViamVjdH0iPiR7ay5zdWJqZWN0fTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVtYWlsLXRpbWVzdGFtcCI+JHtrLnRpbWVzdGFtcH08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgKTp3YAogICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIGVtYWlscyBmb3VuZDwvZGl2PgogICAgICAgIGB9CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVFbWFpbENsaWNrKE0pe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImVtYWlsLWNsaWNrIix7ZGV0YWlsOk0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksR28odGhpcyxtKX1zdGF0aWN7R28ocixhKX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIEJhYSxqSGUsUnhhLEhhYT1jKCgpPT57cGUoKTtCYWE9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LGpIZT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sUnhhPSgoKT0+e2xldCB0PVthZSgic3otbXRhLWRldGFpbC12aWV3IildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W107dmFyIGg9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6TXRhRGV0YWlsVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCB1PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6T2JqZWN0fSldLEJhYSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVtYWlsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKGY9PiJlbWFpbCJpbiBmLCJoYXMiKSxnZXQ6aShmPT5mLmVtYWlsLCJnZXQiKSxzZXQ6aSgoZixwKT0+e2YuZW1haWw9cH0sInNldCIpfSxtZXRhZGF0YTp1fSxvLGwpLEJhYShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTp1fSxudWxsLGEpLGg9cj1lLnZhbHVlLHUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dX0pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEyMDBweDsiPgogICAgICA8c3otbXRhLWRldGFpbC12aWV3CiAgICAgICAgLmVtYWlsPSR7e2lkOiIxIixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToibm9yZXBseUBzZXJ2ZS56b25lIix0bzoidXNlckBleGFtcGxlLmNvbSIsdG9MaXN0OlsidXNlckBleGFtcGxlLmNvbSJdLHN1YmplY3Q6IldlbGNvbWUgdG8gc2VydmUuem9uZSIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjMwOjIyIixtZXNzYWdlSWQ6IjxhYmMxMjNAc2VydmUuem9uZT4iLHNpemU6IjEyLjQgS0IiLHNtdHBMb2c6W3t0aW1lc3RhbXA6IjE0OjMwOjIwIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiRUhMTyBtYWlsLnNlcnZlLnpvbmUifSx7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1tYWlsLmV4YW1wbGUuY29tIEhlbGxvIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1TVEFSVFRMUyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgU0laRSA1MjQyODgwMCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJTVEFSVFRMUyJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjIwIFJlYWR5IHRvIHN0YXJ0IFRMUyIscmVzcG9uc2VDb2RlOjIyMH0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJFSExPIG1haWwuc2VydmUuem9uZSJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwLW1haWwuZXhhbXBsZS5jb20gSGVsbG8iLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwLUFVVEggUExBSU4gTE9HSU4iLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIFNJWkUgNTI0Mjg4MDAiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiQVVUSCBQTEFJTiBBSFZ6WlhJQWNHRnpjM2R2Y21RPSJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjM1IDIuNy4wIEF1dGhlbnRpY2F0aW9uIHN1Y2Nlc3NmdWwiLHJlc3BvbnNlQ29kZToyMzV9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiTUFJTCBGUk9NOjxub3JlcGx5QHNlcnZlLnpvbmU+In0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgT0siLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiUkNQVCBUTzo8dXNlckBleGFtcGxlLmNvbT4ifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBBY2NlcHRlZCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJEQVRBIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiczNTQgRW50ZXIgbWVzc2FnZSwgZW5kaW5nIHdpdGggIi4iIG9uIGEgbGluZSBieSBpdHNlbGYnLHJlc3BvbnNlQ29kZTozNTR9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiLiJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIE9LIGlkPTFwUTJyUy0wMDAzQWItQzQiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiUVVJVCJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjIxIG1haWwuZXhhbXBsZS5jb20gY2xvc2luZyBjb25uZWN0aW9uIixyZXNwb25zZUNvZGU6MjIxfV0sY29ubmVjdGlvbkluZm86e3NvdXJjZUlwOiIxMC4wLjEuNTAiLHNvdXJjZUhvc3RuYW1lOiJtYWlsLnNlcnZlLnpvbmUiLGRlc3RpbmF0aW9uSXA6IjkzLjE4NC4yMTYuMzQiLGRlc3RpbmF0aW9uUG9ydDoyNSx0bHNWZXJzaW9uOiJUTFN2MS4zIix0bHNDaXBoZXI6IlRMU19BRVNfMjU2X0dDTV9TSEEzODQiLGF1dGhlbnRpY2F0ZWQ6ITAsYXV0aE1ldGhvZDoiUExBSU4iLGF1dGhVc2VyOiJub3JlcGx5QHNlcnZlLnpvbmUifSxhdXRoZW50aWNhdGlvblJlc3VsdHM6e3NwZjoicGFzcyIsc3BmRG9tYWluOiJzZXJ2ZS56b25lIixka2ltOiJwYXNzIixka2ltRG9tYWluOiJzZXJ2ZS56b25lIixkbWFyYzoicGFzcyIsZG1hcmNQb2xpY3k6InJlamVjdCJ9LGhlYWRlcnM6e0Zyb206Im5vcmVwbHlAc2VydmUuem9uZSIsVG86InVzZXJAZXhhbXBsZS5jb20iLFN1YmplY3Q6IldlbGNvbWUgdG8gc2VydmUuem9uZSIsRGF0ZToiTW9uLCAxNSBKYW4gMjAyNCAxNDozMDoyMiArMDAwMCIsIk1JTUUtVmVyc2lvbiI6IjEuMCIsIkNvbnRlbnQtVHlwZSI6InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCJ9LGJvZHk6JzxodG1sPlxcbjxoZWFkPjx0aXRsZT5XZWxjb21lPC90aXRsZT48L2hlYWQ+XFxuPGJvZHk+XFxuICA8aDE+V2VsY29tZSB0byBzZXJ2ZS56b25lITwvaDE+XFxuICA8cD5Zb3VyIGFjY291bnQgaGFzIGJlZW4gY3JlYXRlZCBzdWNjZXNzZnVsbHkuPC9wPlxcbiAgPGEgaHJlZj0iaHR0cHM6Ly9zZXJ2ZS56b25lL2Rhc2hib2FyZCI+R28gdG8gRGFzaGJvYXJkPC9hPlxcbjwvYm9keT5cXG48L2h0bWw+J319CiAgICAgID48L3N6LW10YS1kZXRhaWwtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1UQSJdOyNlPWpIZSh0aGlzLG8sbnVsbCk7Z2V0IGVtYWlsKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGVtYWlsKHUpe3RoaXMuI2U9dX1zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5iYWNrLWxpbmsgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5iYWNrLWxpbms6aG92ZXIgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5lbWFpbC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmVtYWlsLXN1YmplY3QgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAuYmFkZ2UtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNHB4IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmRlbGl2ZXJlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuYm91bmNlZCwKICAgICAgLnN0YXR1cy1iYWRnZS5yZWplY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZGVmZXJyZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmVmOWMzIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5wZW5kaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5kaXJlY3Rpb24tYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuZGlyZWN0aW9uLWJhZGdlLmluYm91bmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuZGlyZWN0aW9uLWJhZGdlLm91dGJvdW5kIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5jb250ZW50IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQoKICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkgewogICAgICAgIC5jb250ZW50IHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDFmcjsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5tYWluLWNvbnRlbnQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5zaWRlYmFyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CgogICAgICAuY2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmNhcmQtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmNhcmQtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5jYXJkLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5jYXJkLWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmRldGFpbC1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgfQoKICAgICAgLmRldGFpbC1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgfQoKICAgICAgLnNtdHAtbG9nLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCBNb25hY28sICdDYXNjYWRpYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47CiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX0gdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5zbXRwLWxvZy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICB9CgogICAgICAuc210cC1sb2ctY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5zbXRwLWxvZy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAvKiBQaGFzZSBzZXBhcmF0b3JzICovCiAgICAgIC5zbXRwLXBoYXNlLXNlcGFyYXRvciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgICBtYXJnaW46IDRweCAwOwogICAgICB9CgogICAgICAuc210cC1waGFzZS1saW5lIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLnNtdHAtcGhhc2UtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLyogQ2hhdCBidWJibGVzICovCiAgICAgIC5zbXRwLWJ1YmJsZSB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDEwcHggMTRweDsKICAgICAgICBtYXgtd2lkdGg6IDcwJTsKICAgICAgfQoKICAgICAgLnNtdHAtYnViYmxlLmNsaWVudCB7CiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMDgpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTIpIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgICAgfQoKICAgICAgLnNtdHAtYnViYmxlLnNlcnZlciB7CiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMzQsIDE5NywgOTQsIDAuMDYpIiwicmdiYSgzNCwgMTk3LCA5NCwgMC4xMCkiKX07CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgJHtkLmJkVGhlbWUoIiMyMmM1NWUiLCIjNGFkZTgwIil9OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICB9CgogICAgICAuc210cC1idWJibGUtY29tbWFuZCB7CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc210cC1idWJibGUtbWV0YSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLnNtdHAtYnViYmxlLnNlcnZlciAuc210cC1idWJibGUtbWV0YSB7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLnNtdHAtZGlyZWN0aW9uLXRhZyB7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7CiAgICAgIH0KCiAgICAgIC5zbXRwLWRpcmVjdGlvbi10YWcuY2xpZW50IHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuc210cC1kaXJlY3Rpb24tdGFnLnNlcnZlciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMjJjNTVlIiwiIzRhZGU4MCIpfTsKICAgICAgfQoKICAgICAgLyogUmVzcG9uc2UgY29kZSBiYWRnZXMgKi8KICAgICAgLnJlc3BvbnNlLWNvZGUtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwYWRkaW5nOiAxcHggN3B4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgTW9uYWNvLCAnQ2FzY2FkaWEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgfQoKICAgICAgLnJlc3BvbnNlLWNvZGUtYmFkZ2UuY29kZS0yeHggewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjE1KSIsInJnYmEoMzQsIDE5NywgOTQsIDAuMjUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5yZXNwb25zZS1jb2RlLWJhZGdlLmNvZGUtM3h4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMjUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5yZXNwb25zZS1jb2RlLWJhZGdlLmNvZGUtNHh4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgyNTAsIDIwNCwgMjEsIDAuMTUpIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMjUpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5yZXNwb25zZS1jb2RlLWJhZGdlLmNvZGUtNXh4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgicmdiYSgyMzksIDY4LCA2OCwgMC4xNSkiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjI1KSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAvKiBDb3B5IGJ1dHRvbiAqLwogICAgICAuc210cC1jb3B5LWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAxNTBtcyBlYXNlOwogICAgICB9CgogICAgICAuc210cC1jb3B5LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgIH0KCiAgICAgIC8qIEhlYWRlciBzdWJ0aXRsZSBlbmhhbmNlbWVudHMgKi8KICAgICAgLnNtdHAtaGVhZGVyLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgfQoKICAgICAgLnNtdHAtZGlyZWN0aW9uLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4OwogICAgICB9CgogICAgICAuc210cC1kaXJlY3Rpb24tYmFkZ2UuaW5ib3VuZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMzQsIDE5NywgOTQsIDAuMTIpIiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc210cC1kaXJlY3Rpb24tYmFkZ2Uub3V0Ym91bmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xMikiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuZW1haWwtYm9keS1jb250YWluZXIgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudGxzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuYXV0aC1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogOHB4IDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmF1dGgtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5hdXRoLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYXV0aC1kb21haW4gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgIH0KCiAgICAgIC5hdXRoLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuYXV0aC1iYWRnZS5wYXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmF1dGgtYmFkZ2UuZmFpbCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5hdXRoLWJhZGdlLnNvZnRmYWlsLAogICAgICAuYXV0aC1iYWRnZS5uZXV0cmFsLAogICAgICAuYXV0aC1iYWRnZS5ub25lIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZlZjljMyIsInJnYmEoMjUwLCAyMDQsIDIxLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5yZWplY3Rpb24tY2FyZCB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiI2ZlY2FjYSIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5yZWplY3Rpb24tY29udGVudCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5yZWplY3Rpb24tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQoKICAgICAgLnJlamVjdGlvbi10ZXh0IHsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZlZjJmMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjOTkxYjFiIiwiI2ZjYTVhNSIpfTsKICAgICAgfQoKICAgICAgLnJlamVjdGlvbi10ZXh0Omxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC5uby1lbWFpbCB7CiAgICAgICAgcGFkZGluZzogNDhweCAyNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtpZighdGhpcy5lbWFpbClyZXR1cm4gd2A8ZGl2IGNsYXNzPSJuby1lbWFpbCI+Tm8gZW1haWwgc2VsZWN0ZWQ8L2Rpdj5gO2xldCB1PXRoaXMuZW1haWw7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iYmFjay1saW5rIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVCYWNrKCl9PgogICAgICAgICAgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiI+PC9wb2x5bGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgQmFjayB0byBFbWFpbHMKICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJlbWFpbC1oZWFkZXIiPgogICAgICAgIDxoMSBjbGFzcz0iZW1haWwtc3ViamVjdCI+JHt1LnN1YmplY3R9PC9oMT4KICAgICAgICA8ZGl2IGNsYXNzPSJiYWRnZS1ncm91cCI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWJhZGdlICR7dS5zdGF0dXN9Ij4ke3Uuc3RhdHVzfTwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJkaXJlY3Rpb24tYmFkZ2UgJHt1LmRpcmVjdGlvbn0iPiR7dS5kaXJlY3Rpb259PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgogICAgICAgIDxkaXYgY2xhc3M9Im1haW4tY29udGVudCI+CiAgICAgICAgICA8IS0tIEVtYWlsIE1ldGFkYXRhIC0tPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLXRpdGxlIj5FbWFpbCBNZXRhZGF0YTwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtbGlzdCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkZyb208L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dS5mcm9tfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5Ubzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHt1LnRvTGlzdC5qb2luKCIsICIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgJHt1LmNjJiZ1LmNjLmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5DQzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke3UuY2Muam9pbigiLCAiKX08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+U3ViamVjdDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHt1LnN1YmplY3R9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkRhdGU8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dS50aW1lc3RhbXB9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPk1lc3NhZ2UgSUQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dS5tZXNzYWdlSWR9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlNpemU8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dS5zaXplfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDwhLS0gU01UUCBUcmFuc2FjdGlvbiBMb2cgLS0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLXRpdGxlIj5TTVRQIFRyYW5zYWN0aW9uIExvZzwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic210cC1oZWFkZXItc3VidGl0bGUiPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic210cC1kaXJlY3Rpb24tYmFkZ2UgJHt1LmRpcmVjdGlvbn0iPiR7dS5kaXJlY3Rpb259PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3Bhbj4ke3UuZGlyZWN0aW9uPT09Im91dGJvdW5kIj9gJHt1LmNvbm5lY3Rpb25JbmZvLnNvdXJjZUhvc3RuYW1lfSBcdTIxOTIgJHt1LmNvbm5lY3Rpb25JbmZvLmRlc3RpbmF0aW9uSXB9OiR7dS5jb25uZWN0aW9uSW5mby5kZXN0aW5hdGlvblBvcnR9YDpgJHt1LmNvbm5lY3Rpb25JbmZvLnNvdXJjZUlwfSBcdTIxOTIgJHt1LmNvbm5lY3Rpb25JbmZvLnNvdXJjZUhvc3RuYW1lfToke3UuY29ubmVjdGlvbkluZm8uZGVzdGluYXRpb25Qb3J0fWB9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ic210cC1jb3B5LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY29weVNtdHBMb2coKX0+CiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgICAgICAgICAgICAgICA8cmVjdCB4PSI5IiB5PSI5IiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNSAxNUg0YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDlhMiAyIDAgMCAxIDIgMnYxIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIENvcHkgTG9nCiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAke3RoaXMucmVuZGVyU210cExvZyh1KX0KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDwhLS0gRW1haWwgQm9keSAtLT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtdGl0bGUiPkVtYWlsIEJvZHkgKEVzY2FwZWQpPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLXN1YnRpdGxlIj5SYXcgY29udGVudCDigJQgSFRNTCBpcyBub3QgcmVuZGVyZWQ8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxwcmUgY2xhc3M9ImVtYWlsLWJvZHktY29udGFpbmVyIj4ke3UuYm9keX08L3ByZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyIj4KICAgICAgICAgIDwhLS0gQ29ubmVjdGlvbiBJbmZvIC0tPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLXRpdGxlIj5Db25uZWN0aW9uIEluZm88L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWxpc3QiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5Tb3VyY2UgSVA8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dS5jb25uZWN0aW9uSW5mby5zb3VyY2VJcH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+U291cmNlIEhvc3RuYW1lPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke3UuY29ubmVjdGlvbkluZm8uc291cmNlSG9zdG5hbWV9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkRlc3RpbmF0aW9uPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke3UuY29ubmVjdGlvbkluZm8uZGVzdGluYXRpb25JcH06JHt1LmNvbm5lY3Rpb25JbmZvLmRlc3RpbmF0aW9uUG9ydH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+VExTPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAke3UuY29ubmVjdGlvbkluZm8udGxzVmVyc2lvbj93YDxzcGFuIGNsYXNzPSJ0bHMtYmFkZ2UiPiR7dS5jb25uZWN0aW9uSW5mby50bHNWZXJzaW9ufTwvc3Bhbj5gOiJOb25lIn0KICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAke3UuY29ubmVjdGlvbkluZm8udGxzQ2lwaGVyP3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5DaXBoZXI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHt1LmNvbm5lY3Rpb25JbmZvLnRsc0NpcGhlcn08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+QXV0aGVudGljYXRlZDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHt1LmNvbm5lY3Rpb25JbmZvLmF1dGhlbnRpY2F0ZWQ/IlllcyI6Ik5vIn08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICR7dS5jb25uZWN0aW9uSW5mby5hdXRoZW50aWNhdGVkP3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5BdXRoIE1ldGhvZDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke3UuY29ubmVjdGlvbkluZm8uYXV0aE1ldGhvZH08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+QXV0aCBVc2VyPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dS5jb25uZWN0aW9uSW5mby5hdXRoVXNlcn08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8IS0tIEF1dGhlbnRpY2F0aW9uIFJlc3VsdHMgLS0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtdGl0bGUiPkF1dGhlbnRpY2F0aW9uIFJlc3VsdHM8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXV0aC1yb3ciPgogICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGgtbGFiZWwiPlNQRjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGgtZG9tYWluIj4ke3UuYXV0aGVudGljYXRpb25SZXN1bHRzLnNwZkRvbWFpbn08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWJhZGdlICR7dS5hdXRoZW50aWNhdGlvblJlc3VsdHMuc3BmfSI+JHt1LmF1dGhlbnRpY2F0aW9uUmVzdWx0cy5zcGZ9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF1dGgtcm93Ij4KICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWxhYmVsIj5ES0lNPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aC1kb21haW4iPiR7dS5hdXRoZW50aWNhdGlvblJlc3VsdHMuZGtpbURvbWFpbn08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWJhZGdlICR7dS5hdXRoZW50aWNhdGlvblJlc3VsdHMuZGtpbX0iPiR7dS5hdXRoZW50aWNhdGlvblJlc3VsdHMuZGtpbX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXV0aC1yb3ciPgogICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGgtbGFiZWwiPkRNQVJDPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aC1kb21haW4iPnBvbGljeTogJHt1LmF1dGhlbnRpY2F0aW9uUmVzdWx0cy5kbWFyY1BvbGljeX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWJhZGdlICR7dS5hdXRoZW50aWNhdGlvblJlc3VsdHMuZG1hcmN9Ij4ke3UuYXV0aGVudGljYXRpb25SZXN1bHRzLmRtYXJjfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8IS0tIFJlamVjdGlvbiBEZXRhaWxzIChjb25kaXRpb25hbCkgLS0+CiAgICAgICAgICAke3Uuc3RhdHVzPT09InJlamVjdGVkInx8dS5zdGF0dXM9PT0iYm91bmNlZCI/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZCByZWplY3Rpb24tY2FyZCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC10aXRsZSI+UmVqZWN0aW9uIERldGFpbHM8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgJHt1LnJlamVjdGlvblJlYXNvbj93YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWplY3Rpb24tbGFiZWwiPlJlamVjdGlvbiBSZWFzb248L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVqZWN0aW9uLXRleHQiPiR7dS5yZWplY3Rpb25SZWFzb259PC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgJHt1LmJvdW5jZU1lc3NhZ2U/d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVqZWN0aW9uLWxhYmVsIj5Cb3VuY2UgTWVzc2FnZTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWplY3Rpb24tdGV4dCI+JHt1LmJvdW5jZU1lc3NhZ2V9PC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1nZXRSZXNwb25zZUNvZGVCYWRnZUNsYXNzKHUpe3JldHVybiB1Pj01MDA/ImNvZGUtNXh4Ijp1Pj00MDA/ImNvZGUtNHh4Ijp1Pj0zMDA/ImNvZGUtM3h4IjoiY29kZS0yeHgifWdldFNtdHBQaGFzZXModSl7bGV0IGY9W10scD0iIixnPTA7Zm9yKGxldCB2IG9mIHUpe2xldCB4PXYuY29tbWFuZC50b1VwcGVyQ2FzZSgpLGI9cDtpZih2LmRpcmVjdGlvbj09PSJjbGllbnQiJiYoeC5zdGFydHNXaXRoKCJFSExPIil8fHguc3RhcnRzV2l0aCgiSEVMTyIpPyhnKyssZz09PTE/Yj0iY29ubmVjdGlvbiI6Yj0icG9zdC10bHMiKTp4PT09IlNUQVJUVExTIj9iPSJ0bHMiOnguc3RhcnRzV2l0aCgiQVVUSCIpP2I9ImF1dGgiOnguc3RhcnRzV2l0aCgiTUFJTCBGUk9NIil8fHguc3RhcnRzV2l0aCgiUkNQVCBUTyIpfHx4PT09IkRBVEEifHx4PT09Ii4iP2I9InRyYW5zZmVyIjp4PT09IlFVSVQiJiYoYj0iY2xvc2luZyIpKSx2LmRpcmVjdGlvbj09PSJzZXJ2ZXIiJiZiPT09IiImJihiPXB8fCJjb25uZWN0aW9uIiksYj09PSIiJiYoYj0iY29ubmVjdGlvbiIpLGIhPT1wKXtwPWI7bGV0IG09e2Nvbm5lY3Rpb246IkNvbm5lY3Rpb24iLHRsczoiVExTIE5lZ290aWF0aW9uIiwicG9zdC10bHMiOiJQb3N0LVRMUyBIYW5kc2hha2UiLGF1dGg6IkF1dGhlbnRpY2F0aW9uIix0cmFuc2ZlcjoiTWFpbCBUcmFuc2ZlciIsY2xvc2luZzoiQ2xvc2luZyJ9O2YucHVzaCh7cGhhc2U6YixsYWJlbDptW2JdfHxiLGVudHJpZXM6W119KX1mLmxlbmd0aD09PTAmJmYucHVzaCh7cGhhc2U6ImNvbm5lY3Rpb24iLGxhYmVsOiJDb25uZWN0aW9uIixlbnRyaWVzOltdfSksZltmLmxlbmd0aC0xXS5lbnRyaWVzLnB1c2godil9cmV0dXJuIGZ9cmVuZGVyU210cExvZyh1KXtsZXQgZj10aGlzLmdldFNtdHBQaGFzZXModS5zbXRwTG9nKTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ic210cC1sb2ctY29udGFpbmVyIj4KICAgICAgICAke2YubWFwKHA9PndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJzbXRwLXBoYXNlLXNlcGFyYXRvciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtdHAtcGhhc2UtbGluZSI+PC9kaXY+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzbXRwLXBoYXNlLWxhYmVsIj4ke3AubGFiZWx9PC9zcGFuPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbXRwLXBoYXNlLWxpbmUiPjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAke3AuZW50cmllcy5tYXAoZz0+d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ic210cC1idWJibGUgJHtnLmRpcmVjdGlvbn0iPgogICAgICAgICAgICAgICR7Zy5kaXJlY3Rpb249PT0ic2VydmVyIiYmZy5yZXNwb25zZUNvZGU/d2AKICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyZXNwb25zZS1jb2RlLWJhZGdlICR7dGhpcy5nZXRSZXNwb25zZUNvZGVCYWRnZUNsYXNzKGcucmVzcG9uc2VDb2RlKX0iPiR7Zy5yZXNwb25zZUNvZGV9PC9zcGFuPgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic210cC1idWJibGUtY29tbWFuZCI+JHtnLmNvbW1hbmR9PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic210cC1idWJibGUtbWV0YSI+CiAgICAgICAgICAgICAgICA8c3Bhbj4ke2cudGltZXN0YW1wfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuPsK3PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNtdHAtZGlyZWN0aW9uLXRhZyAke2cuZGlyZWN0aW9ufSI+JHtnLmRpcmVjdGlvbj09PSJjbGllbnQiPyJDbGllbnQiOiJTZXJ2ZXIifTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgKX0KICAgICAgICBgKX0KICAgICAgPC9kaXY+CiAgICBgfWNvcHlTbXRwTG9nKCl7aWYoIXRoaXMuZW1haWwpcmV0dXJuO2xldCB1PXRoaXMuZW1haWwuc210cExvZy5tYXAoZj0+YFske2YudGltZXN0YW1wfV0gJHtmLmRpcmVjdGlvbj09PSJjbGllbnQiPyJDOiI6IlM6In0gJHtmLmNvbW1hbmR9YCkuam9pbihgCmApO25hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHUpfWhhbmRsZUJhY2soKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJiYWNrIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksakhlKHRoaXMsbCl9c3RhdGlje2pIZShyLGEpfX07cmV0dXJuIGg9cn0pKCl9KTtmdW5jdGlvbiBGeGEodCl7cmV0dXJuIHR5cGVvZiB0PT0ibnVtYmVyIj9TdHJpbmcodCk6QXJyYXkuaXNBcnJheSh0KT90Lm1hcChlPT50eXBlb2YgZT09Im51bWJlciI/U3RyaW5nKGUpOmAke2UuZnJvbX1cdTIwMTMke2UudG99YCkuam9pbigiLCAiKTpTdHJpbmcodCl9ZnVuY3Rpb24gT3hhKHQpe2xldCBlPVtdO2ZvcihsZXQgYSBvZiB0KXtsZXQgcj1BcnJheS5pc0FycmF5KGEuaG9zdCk/YS5ob3N0OlthLmhvc3RdLHM9YS5wb3J0PT09InByZXNlcnZlIj8iKHByZXNlcnZlKSI6U3RyaW5nKGEucG9ydCk7Zm9yKGxldCBuIG9mIHIpZS5wdXNoKGAke259OiR7c31gKX1yZXR1cm4gZX12YXIgcWFhLFVIZSxCeGEsVmFhPWMoKCk9PntwZSgpO3FhYT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sVUhlPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfTtpKEZ4YSwiZm9ybWF0UG9ydHMiKTtpKE94YSwiZm9ybWF0VGFyZ2V0cyIpO0J4YT0oKCk9PntsZXQgdD1bYWUoInN6LXJvdXRlLWNhcmQiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXTt2YXIgaD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiU3pSb3V0ZUNhcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgdT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOk9iamVjdH0pXSxxYWEodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3V0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmPT4icm91dGUiaW4gZiwiaGFzIiksZ2V0OmkoZj0+Zi5yb3V0ZSwiZ2V0Iiksc2V0OmkoKGYscCk9PntmLnJvdXRlPXB9LCJzZXQiKX0sbWV0YWRhdGE6dX0sbyxsKSxxYWEobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6dX0sbnVsbCxhKSxoPXI9ZS52YWx1ZSx1JiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnV9KX1zdGF0aWMgZGVtbz1pKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA1MjBweDsiPgogICAgICA8c3otcm91dGUtY2FyZAogICAgICAgIC5yb3V0ZT0ke3tuYW1lOiJBUEkgR2F0ZXdheSIsZGVzY3JpcHRpb246Ik1haW4gQVBJIGdhdGV3YXkgd2l0aCBUTFMgdGVybWluYXRpb24gYW5kIGxvYWQgYmFsYW5jaW5nIixlbmFibGVkOiEwLHByaW9yaXR5OjEwLHRhZ3M6WyJ3ZWIiLCJhcGkiLCJwcm9kdWN0aW9uIl0sbWF0Y2g6e3BvcnRzOls0NDMsODQ0M10sZG9tYWluczpbImFwaS5leGFtcGxlLmNvbSIsIiouYXBpLnNlcnZlLnpvbmUiXSxwYXRoOiIvYXBpLyoiLHByb3RvY29sOiJodHRwIixjbGllbnRJcDpbIjEwLjAuMC4wLzgiXX0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDpbIjEwLjAuMC4xIiwiMTAuMC4wLjIiXSxwb3J0OjgwODB9XSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifSx3ZWJzb2NrZXQ6e2VuYWJsZWQ6ITB9LGxvYWRCYWxhbmNpbmc6e2FsZ29yaXRobToicm91bmQtcm9iaW4ifSxmb3J3YXJkaW5nRW5naW5lOiJuZnRhYmxlcyJ9LHNlY3VyaXR5OntpcEFsbG93TGlzdDpbIjEwLjAuMC4wLzgiXSxpcEJsb2NrTGlzdDpbIjE5Mi4xNjguMTAwLjAvMjQiXSxyYXRlTGltaXQ6e2VuYWJsZWQ6ITAsbWF4UmVxdWVzdHM6MTAwLHdpbmRvdzo2MH0sbWF4Q29ubmVjdGlvbnM6MWUzfX19CiAgICAgID48L3N6LXJvdXRlLWNhcmQ+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJSb3V0ZXMiXTsjZT1VSGUodGhpcyxvLG51bGwpO2dldCByb3V0ZSgpe3JldHVybiB0aGlzLiNlfXNldCByb3V0ZSh1KXt0aGlzLiNlPXV9c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmNhcmQ6aG92ZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtkLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjM2YzZjQ2Iil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCAke2QuYmRUaGVtZSgicmdiYSgwLDAsMCwwLjA2KSIsInJnYmEoMCwwLDAsMC4yKSIpfTsKICAgICAgfQoKICAgICAgLyogSGVhZGVyICovCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItbGVmdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1kb3QgewogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWRvdC5lbmFibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzIyYzU1ZSIsIiMyMmM1NWUiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDZweCAke2QuYmRUaGVtZSgicmdiYSgzNCwxOTcsOTQsMC40KSIsInJnYmEoMzQsMTk3LDk0LDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtZG90LmRpc2FibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5yb3V0ZS1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLmhlYWRlci1iYWRnZXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuYmFkZ2UuZm9yd2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuYmFkZ2Uuc29ja2V0LWhhbmRsZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZWRlOWZlIiwicmdiYSgxMzksIDkyLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjN2MzYWVkIiwiI2E3OGJmYSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLmVuYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuYmFkZ2UuZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwicmdiYSgxMTMsIDExMywgMTIyLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5kZXNjcmlwdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgIH0KCiAgICAgIC5tZXRhLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnRhZ3MgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAudGFnIHsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNTI1MjViIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnByaW9yaXR5IHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiIzcxNzE3YSIpfTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAvKiBTZWN0aW9ucyAqLwogICAgICAuc2VjdGlvbiB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAwIDZweCA2cHggMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uOmxhc3Qtb2YtdHlwZSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24ubWF0Y2ggewogICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2QuYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLmFjdGlvbiB7CiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7ZC5iZFRoZW1lKCIjMjJjNTVlIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24uc2VjdXJpdHkgewogICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2QuYmRUaGVtZSgiI2Y1OWUwYiIsIiNmNTllMGIiKX07CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiIzcxNzE3YSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC5maWVsZC1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICB9CgogICAgICAuZmllbGQtcm93Omxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC5maWVsZC1rZXkgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWluLXdpZHRoOiA2NHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5maWVsZC12YWx1ZSB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2U0ZTRlNyIpfTsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgIH0KCiAgICAgIC5kb21haW4tY2hpcCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgcGFkZGluZzogMXB4IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2VmZjZmZiIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgIH0KCiAgICAgIC5kb21haW4tY2hpcC5nbG9iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZlZjNjNyIsInJnYmEoMjQ1LCAxNTgsIDExLCAwLjE1KSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM5MjQwMGUiLCIjZmJiZjI0Iil9OwogICAgICB9CgogICAgICAubW9ubyB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIH0KCiAgICAgIC5wcm90b2NvbC1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgcGFkZGluZzogMXB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5wcm90b2NvbC1iYWRnZS5odHRwIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5wcm90b2NvbC1iYWRnZS50Y3AgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAudGxzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBwYWRkaW5nOiAxcHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnRscy1iYWRnZS5hdXRvIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnRscy1iYWRnZS5jdXN0b20gewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZlZGQ1IiwicmdiYSgyNDksIDExNSwgMjIsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYzI0MTBjIiwiI2ZiOTIzYyIpfTsKICAgICAgfQoKICAgICAgLmVuZ2luZS1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgcGFkZGluZzogMXB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmYWU4ZmYiLCJyZ2JhKDE2OCwgODUsIDI0NywgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3ZTIyY2UiLCIjYzA4NGZjIil9OwogICAgICB9CgogICAgICAuaGVhZGVyLXBhaXIgewogICAgICAgIGRpc3BsYXk6IGlubGluZTsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgfQoKICAgICAgLyogRmVhdHVyZSBpY29ucyAqLwogICAgICAuZmVhdHVyZXMtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTRweDsKICAgICAgICBwYWRkaW5nLXRvcDogMTJweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMWExYTFhIil9OwogICAgICB9CgogICAgICAuZmVhdHVyZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5mZWF0dXJlLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLm5vLXJvdXRlIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7aWYoIXRoaXMucm91dGUpcmV0dXJuIHdgPGRpdiBjbGFzcz0iY2FyZCI+PGRpdiBjbGFzcz0ibm8tcm91dGUiPk5vIHJvdXRlIGRhdGE8L2Rpdj48L2Rpdj5gO2xldCB1PXRoaXMucm91dGUsZj11LmVuYWJsZWQhPT0hMSxwPXUubWF0Y2gsZz11LmFjdGlvbix2PXUuc2VjdXJpdHk7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImNhcmQiPgogICAgICAgIDwhLS0gSGVhZGVyIC0tPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItbGVmdCI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtZG90ICR7Zj8iZW5hYmxlZCI6ImRpc2FibGVkIn0iPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJvdXRlLW5hbWUiPiR7dS5uYW1lfHx1LmlkfHwiVW5uYW1lZCBSb3V0ZSJ9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItYmFkZ2VzIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7Zy50eXBlfSI+JHtnLnR5cGV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmFkZ2UgJHtmPyJlbmFibGVkIjoiZGlzYWJsZWQifSI+JHtmPyJlbmFibGVkIjoiZGlzYWJsZWQifTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICAke3UuZGVzY3JpcHRpb24/d2A8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+JHt1LmRlc2NyaXB0aW9ufTwvZGl2PmA6IiJ9CgogICAgICAgIDxkaXYgY2xhc3M9Im1ldGEtcm93Ij4KICAgICAgICAgICR7dS50YWdzJiZ1LnRhZ3MubGVuZ3RoPjA/d2A8ZGl2IGNsYXNzPSJ0YWdzIj4ke3UudGFncy5tYXAoeD0+d2A8c3BhbiBjbGFzcz0idGFnIj4ke3h9PC9zcGFuPmApfTwvZGl2PmA6d2A8ZGl2PjwvZGl2PmB9CiAgICAgICAgICAke3UucHJpb3JpdHkhPW51bGw/d2A8c3BhbiBjbGFzcz0icHJpb3JpdHkiPlByaW9yaXR5OiAke3UucHJpb3JpdHl9PC9zcGFuPmA6IiJ9CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gTWF0Y2ggU2VjdGlvbiAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIG1hdGNoIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiPk1hdGNoPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5Qb3J0czwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIG1vbm8iPiR7RnhhKHAucG9ydHMpfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHtwLmRvbWFpbnM/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPkRvbWFpbnM8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+JHt0aGlzLnJlbmRlckRvbWFpbnMocC5kb21haW5zKX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgJHtwLnBhdGg/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPlBhdGg8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSBtb25vIj4ke3AucGF0aH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgJHtwLnByb3RvY29sP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5Qcm90b2NvbDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJvdG9jb2wtYmFkZ2UgJHtwLnByb3RvY29sfSI+JHtwLnByb3RvY29sfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7cC5jbGllbnRJcCYmcC5jbGllbnRJcC5sZW5ndGg+MD93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+Q2xpZW50PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUgbW9ubyI+JHtwLmNsaWVudElwLmpvaW4oIiwgIil9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7cC50bHNWZXJzaW9uJiZwLnRsc1ZlcnNpb24ubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPlRMUyBWZXI8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+JHtwLnRsc1ZlcnNpb24uam9pbigiLCAiKX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgJHtwLmhlYWRlcnM/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPkhlYWRlcnM8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgJHtPYmplY3QuZW50cmllcyhwLmhlYWRlcnMpLm1hcCgoW3gsYl0pPT53YDxzcGFuIGNsYXNzPSJoZWFkZXItcGFpciI+JHt4fT0ke2J9PC9zcGFuPiBgKX0KICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBBY3Rpb24gU2VjdGlvbiAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIGFjdGlvbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5BY3Rpb248L2Rpdj4KICAgICAgICAgICR7Zy50YXJnZXRzJiZnLnRhcmdldHMubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPlRhcmdldHM8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSBtb25vIj4ke094YShnLnRhcmdldHMpLmpvaW4oIiwgIil9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7Zy50bHM/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPlRMUzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj4KICAgICAgICAgICAgICAgICAgICAke2cudGxzLm1vZGV9CiAgICAgICAgICAgICAgICAgICAgJHtnLnRscy5jZXJ0aWZpY2F0ZT9nLnRscy5jZXJ0aWZpY2F0ZT09PSJhdXRvIj93YCA8c3BhbiBjbGFzcz0idGxzLWJhZGdlIGF1dG8iPmF1dG8gY2VydDwvc3Bhbj5gOndgIDxzcGFuIGNsYXNzPSJ0bHMtYmFkZ2UgY3VzdG9tIj5jdXN0b20gY2VydDwvc3Bhbj5gOiIifQogICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgJHtnLmZvcndhcmRpbmdFbmdpbmU/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPkVuZ2luZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj48c3BhbiBjbGFzcz0iZW5naW5lLWJhZGdlIj4ke2cuZm9yd2FyZGluZ0VuZ2luZX08L3NwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7Zy5sb2FkQmFsYW5jaW5nP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5MQjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj4ke2cubG9hZEJhbGFuY2luZy5hbGdvcml0aG19PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7Zy53ZWJzb2NrZXQ/LmVuYWJsZWQ/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPldTPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPjxzcGFuIGNsYXNzPSJiYWRnZSBlbmFibGVkIj5lbmFibGVkPC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gU2VjdXJpdHkgU2VjdGlvbiAtLT4KICAgICAgICAke3Y/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIHNlY3VyaXR5Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiPlNlY3VyaXR5PC9kaXY+CiAgICAgICAgICAgICAgICAke3YuaXBBbGxvd0xpc3QmJnYuaXBBbGxvd0xpc3QubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPkFsbG93PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUgbW9ubyI+JHt2LmlwQWxsb3dMaXN0LmpvaW4oIiwgIil9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgICR7di5pcEJsb2NrTGlzdCYmdi5pcEJsb2NrTGlzdC5sZW5ndGg+MD93YAogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+QmxvY2s8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSBtb25vIj4ke3YuaXBCbG9ja0xpc3Quam9pbigiLCAiKX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgJHt2LnJhdGVMaW1pdD8uZW5hYmxlZD93YAogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+UmF0ZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj4ke3YucmF0ZUxpbWl0Lm1heFJlcXVlc3RzfSByZXEgLyAke3YucmF0ZUxpbWl0LndpbmRvd31zPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgICR7di5tYXhDb25uZWN0aW9ucz93YAogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+TWF4IENvbm48L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+JHt2Lm1heENvbm5lY3Rpb25zfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CgogICAgICAgIDwhLS0gRmVhdHVyZSBJY29ucyBSb3cgLS0+CiAgICAgICAgJHt0aGlzLnJlbmRlckZlYXR1cmVzKCl9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJEb21haW5zKHUpe2xldCBmPUFycmF5LmlzQXJyYXkodSk/dTpbdV07cmV0dXJuIHdgJHtmLm1hcChwPT53YDxzcGFuIGNsYXNzPSJkb21haW4tY2hpcCAke3AuaW5jbHVkZXMoIioiKT8iZ2xvYiI6IiJ9Ij4ke3B9PC9zcGFuPmApfWB9cmVuZGVyRmVhdHVyZXMoKXtpZighdGhpcy5yb3V0ZSlyZXR1cm4gd2BgO2xldCB1PVtdLGY9dGhpcy5yb3V0ZS5hY3Rpb24scD10aGlzLnJvdXRlLnNlY3VyaXR5LGc9dGhpcy5yb3V0ZS5oZWFkZXJzO3JldHVybiBmLnRscyYmdS5wdXNoKHdgPHNwYW4gY2xhc3M9ImZlYXR1cmUiPjxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPiYjeDFmNTEyOzwvc3Bhbj5UTFM8L3NwYW4+YCksZi53ZWJzb2NrZXQ/LmVuYWJsZWQmJnUucHVzaCh3YDxzcGFuIGNsYXNzPSJmZWF0dXJlIj48c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj4mI3gyMTk0Ozwvc3Bhbj5XUzwvc3Bhbj5gKSxmLmxvYWRCYWxhbmNpbmcmJnUucHVzaCh3YDxzcGFuIGNsYXNzPSJmZWF0dXJlIj48c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj4mI3gyNjk2Ozwvc3Bhbj5MQjwvc3Bhbj5gKSxwJiZ1LnB1c2god2A8c3BhbiBjbGFzcz0iZmVhdHVyZSI+PHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+JiN4MWY2ZTE7PC9zcGFuPlNlY3VyaXR5PC9zcGFuPmApLGcmJnUucHVzaCh3YDxzcGFuIGNsYXNzPSJmZWF0dXJlIj48c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj4mI3gyNjk5Ozwvc3Bhbj5IZWFkZXJzPC9zcGFuPmApLHUubGVuZ3RoPT09MD93YGA6d2A8ZGl2IGNsYXNzPSJmZWF0dXJlcy1yb3ciPiR7dX08L2Rpdj5gfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxVSGUodGhpcyxsKX1zdGF0aWN7VUhlKHIsYSl9fTtyZXR1cm4gaD1yfSkoKX0pO3ZhciBaQixZbyxIeGEsamFhPWMoKCk9PntwZSgpO1pCPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxZbz1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sSHhhPSgoKT0+e2xldCB0PVthZSgic3otcm91dGUtbGlzdC12aWV3IildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W10scCxnPVtdLHY9W10seCxiPVtdLG09W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6Um91dGVMaXN0VmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBNPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6QXJyYXl9KV0saD1bWigpXSxwPVtaKCldLHg9W1ooKV0sWkIodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3V0ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+InJvdXRlcyJpbiBrLCJoYXMiKSxnZXQ6aShrPT5rLnJvdXRlcywiZ2V0Iiksc2V0OmkoKGssRSk9PntrLnJvdXRlcz1FfSwic2V0Iil9LG1ldGFkYXRhOk19LG8sbCksWkIodGhpcyxudWxsLGgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWFyY2hRdWVyeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4ic2VhcmNoUXVlcnkiaW4gaywiaGFzIiksZ2V0Omkoaz0+ay5zZWFyY2hRdWVyeSwiZ2V0Iiksc2V0OmkoKGssRSk9PntrLnNlYXJjaFF1ZXJ5PUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sdSxmKSxaQih0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbkZpbHRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShrPT4iYWN0aW9uRmlsdGVyImluIGssImhhcyIpLGdldDppKGs9PmsuYWN0aW9uRmlsdGVyLCJnZXQiKSxzZXQ6aSgoayxFKT0+e2suYWN0aW9uRmlsdGVyPUV9LCJzZXQiKX0sbWV0YWRhdGE6TX0sZyx2KSxaQih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVuYWJsZWRGaWx0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkoaz0+ImVuYWJsZWRGaWx0ZXIiaW4gaywiaGFzIiksZ2V0Omkoaz0+ay5lbmFibGVkRmlsdGVyLCJnZXQiKSxzZXQ6aSgoayxFKT0+e2suZW5hYmxlZEZpbHRlcj1FfSwic2V0Iil9LG1ldGFkYXRhOk19LGIsbSksWkIobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCxhKSx5PXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1pKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LXJvdXRlLWxpc3QtdmlldwogICAgICAgIC5yb3V0ZXM9JHtbe25hbWU6IkhUVFBTIEdhdGV3YXkiLGRlc2NyaXB0aW9uOiJNYWluIHdlYiBnYXRld2F5IHdpdGggVExTIHRlcm1pbmF0aW9uIixlbmFibGVkOiEwLHRhZ3M6WyJ3ZWIiLCJodHRwcyIsInByb2R1Y3Rpb24iXSxtYXRjaDp7cG9ydHM6NDQzLGRvbWFpbnM6WyIqLmV4YW1wbGUuY29tIiwic2VydmUuem9uZSJdLHByb3RvY29sOiJodHRwIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDoiMTAuMC4wLjEiLHBvcnQ6ODA4MH1dLHRsczp7bW9kZToidGVybWluYXRlIixjZXJ0aWZpY2F0ZToiYXV0byJ9fX0se25hbWU6IlNNVFAgSW5ib3VuZCIsZGVzY3JpcHRpb246IkVtYWlsIHJlbGF5IGZvciBpbmNvbWluZyBtYWlsIixlbmFibGVkOiEwLHRhZ3M6WyJlbWFpbCIsInNtdHAiXSxtYXRjaDp7cG9ydHM6MjUsZG9tYWluczoibWFpbC5zZXJ2ZS56b25lIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDoiMTAuMC4xLjUiLHBvcnQ6MjV9XX19LHtuYW1lOiJXZWJTb2NrZXQgQVBJIixkZXNjcmlwdGlvbjoiUmVhbC10aW1lIFdlYlNvY2tldCBjb25uZWN0aW9ucyIsZW5hYmxlZDohMCx0YWdzOlsid2ViIiwiYXBpIl0sbWF0Y2g6e3BvcnRzOjQ0Myxkb21haW5zOiJ3cy5leGFtcGxlLmNvbSIscGF0aDoiL3dzLyoifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OiIxMC4wLjAuMyIscG9ydDo5MDkwfV0sd2Vic29ja2V0OntlbmFibGVkOiEwfSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifX19LHtuYW1lOiJNYWludGVuYW5jZSBQYWdlIixlbmFibGVkOiExLHRhZ3M6WyJ3ZWIiXSxtYXRjaDp7cG9ydHM6WzgwLDQ0M10sZG9tYWluczoib2xkLmV4YW1wbGUuY29tIn0sYWN0aW9uOnt0eXBlOiJzb2NrZXQtaGFuZGxlciJ9fV19CiAgICAgID48L3N6LXJvdXRlLWxpc3Qtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlJvdXRlcyJdOyNlPVlvKHRoaXMsbyxbXSk7Z2V0IHJvdXRlcygpe3JldHVybiB0aGlzLiNlfXNldCByb3V0ZXMoTSl7dGhpcy4jZT1NfSN0PShZbyh0aGlzLGwpLFlvKHRoaXMsdSwiIikpO2dldCBzZWFyY2hRdWVyeSgpe3JldHVybiB0aGlzLiN0fXNldCBzZWFyY2hRdWVyeShNKXt0aGlzLiN0PU19I2E9KFlvKHRoaXMsZiksWW8odGhpcyxnLCJhbGwiKSk7Z2V0IGFjdGlvbkZpbHRlcigpe3JldHVybiB0aGlzLiNhfXNldCBhY3Rpb25GaWx0ZXIoTSl7dGhpcy4jYT1NfSNyPShZbyh0aGlzLHYpLFlvKHRoaXMsYiwiYWxsIikpO2dldCBlbmFibGVkRmlsdGVyKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGVuYWJsZWRGaWx0ZXIoTSl7dGhpcy4jcj1NfWdldCBmaWx0ZXJlZFJvdXRlcygpe3JldHVybiB0aGlzLnJvdXRlcy5maWx0ZXIoTT0+e2lmKHRoaXMuYWN0aW9uRmlsdGVyIT09ImFsbCImJk0uYWN0aW9uLnR5cGUhPT10aGlzLmFjdGlvbkZpbHRlcnx8dGhpcy5lbmFibGVkRmlsdGVyPT09ImVuYWJsZWQiJiZNLmVuYWJsZWQ9PT0hMXx8dGhpcy5lbmFibGVkRmlsdGVyPT09ImRpc2FibGVkIiYmTS5lbmFibGVkIT09ITEpcmV0dXJuITE7aWYodGhpcy5zZWFyY2hRdWVyeSl7bGV0IGs9dGhpcy5zZWFyY2hRdWVyeS50b0xvd2VyQ2FzZSgpO3JldHVybiB0aGlzLnJvdXRlTWF0Y2hlc1NlYXJjaChNLGspfXJldHVybiEwfSl9cm91dGVNYXRjaGVzU2VhcmNoKE0sayl7aWYoTS5uYW1lPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGspfHxNLmRlc2NyaXB0aW9uPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGspfHxNLm1hdGNoLmRvbWFpbnMmJihBcnJheS5pc0FycmF5KE0ubWF0Y2guZG9tYWlucyk/TS5tYXRjaC5kb21haW5zOltNLm1hdGNoLmRvbWFpbnNdKS5zb21lKEM9PkMudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhrKSl8fHRoaXMuZm9ybWF0UG9ydHNGb3JTZWFyY2goTS5tYXRjaC5wb3J0cykuaW5jbHVkZXMoayl8fE0ubWF0Y2gucGF0aD8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhrKXx8TS5tYXRjaC5jbGllbnRJcD8uc29tZShfPT5fLmluY2x1ZGVzKGspKSlyZXR1cm4hMDtpZihNLmFjdGlvbi50YXJnZXRzKXtmb3IobGV0IF8gb2YgTS5hY3Rpb24udGFyZ2V0cylpZigoQXJyYXkuaXNBcnJheShfLmhvc3QpP18uaG9zdDpbXy5ob3N0XSkuc29tZShOPT5OLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaykpKXJldHVybiEwfXJldHVybiEhTS50YWdzPy5zb21lKF89Pl8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhrKSl9Zm9ybWF0UG9ydHNGb3JTZWFyY2goTSl7cmV0dXJuIHR5cGVvZiBNPT0ibnVtYmVyIj9TdHJpbmcoTSk6QXJyYXkuaXNBcnJheShNKT9NLm1hcChrPT50eXBlb2Ygaz09Im51bWJlciI/U3RyaW5nKGspOmAke2suZnJvbX0tJHtrLnRvfWApLmpvaW4oIiAiKTpTdHJpbmcoTSl9c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmZpbHRlci1iYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaW5wdXQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pbnB1dDpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiMzYjgyZjYiKX07CiAgICAgIH0KCiAgICAgIC5jaGlwLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuY2hpcCB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuY2hpcDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5jaGlwLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5yZXN1bHRzLWNvdW50IHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCg0MjBweCwgMWZyKSk7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICAuZ3JpZCBzei1yb3V0ZS1jYXJkIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMzJweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IE09dGhpcy5maWx0ZXJlZFJvdXRlcztyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZmlsdGVyLWJhciI+CiAgICAgICAgPGlucHV0CiAgICAgICAgICBjbGFzcz0ic2VhcmNoLWlucHV0IgogICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgIHBsYWNlaG9sZGVyPSJTZWFyY2ggcm91dGVzIGJ5IGRvbWFpbiwgSVAsIHBvcnQsIHBhdGgsIG9yIHRhZy4uLiIKICAgICAgICAgIC52YWx1ZT0ke3RoaXMuc2VhcmNoUXVlcnl9CiAgICAgICAgICBAaW5wdXQ9JHtrPT57dGhpcy5zZWFyY2hRdWVyeT1rLnRhcmdldC52YWx1ZX19CiAgICAgICAgLz4KICAgICAgICA8ZGl2IGNsYXNzPSJjaGlwLWdyb3VwIj4KICAgICAgICAgICR7WyJhbGwiLCJmb3J3YXJkIiwic29ja2V0LWhhbmRsZXIiXS5tYXAoaz0+d2AKICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0iY2hpcCAke3RoaXMuYWN0aW9uRmlsdGVyPT09az8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+e3RoaXMuYWN0aW9uRmlsdGVyPWt9fQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICR7az09PSJhbGwiPyJBbGwiOms9PT0iZm9yd2FyZCI/IkZvcndhcmQiOiJTb2NrZXQgSGFuZGxlciJ9CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNoaXAtZ3JvdXAiPgogICAgICAgICAgJHtbImFsbCIsImVuYWJsZWQiLCJkaXNhYmxlZCJdLm1hcChrPT53YAogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJjaGlwICR7dGhpcy5lbmFibGVkRmlsdGVyPT09az8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+e3RoaXMuZW5hYmxlZEZpbHRlcj1rfX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke2suY2hhckF0KDApLnRvVXBwZXJDYXNlKCkray5zbGljZSgxKX0KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0icmVzdWx0cy1jb3VudCI+CiAgICAgICAgU2hvd2luZyAke00ubGVuZ3RofSBvZiAke3RoaXMucm91dGVzLmxlbmd0aH0gcm91dGVzCiAgICAgIDwvZGl2PgoKICAgICAgJHtNLmxlbmd0aD4wP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQiPgogICAgICAgICAgICAgICR7TS5tYXAoaz0+d2AKICAgICAgICAgICAgICAgICAgPHN6LXJvdXRlLWNhcmQKICAgICAgICAgICAgICAgICAgICAucm91dGU9JHtrfQogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVJvdXRlQ2xpY2soayl9CiAgICAgICAgICAgICAgICAgID48L3N6LXJvdXRlLWNhcmQ+CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZS1pY29uIj4mI3gxZjUwZDs8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2Pk5vIHJvdXRlcyBtYXRjaCB5b3VyIGZpbHRlcnM8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfQogICAgYH1oYW5kbGVSb3V0ZUNsaWNrKE0pe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJvdXRlLWNsaWNrIix7ZGV0YWlsOk0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksWW8odGhpcyxtKX1zdGF0aWN7WW8ocixhKX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIFAyLE4xLHF4YSxVYWE9YygoKT0+e3BlKCk7UDI9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LE4xPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxxeGE9KCgpPT57bGV0IHQ9W2FlKCJzei1jb25maWctc2VjdGlvbiIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdLHgsYj1bXSxtPVtdLHksTT1bXSxrPVtdLEUsXz1bXSxDPVtdLE4sJD1bXSxJPVtdLGosUz1bXSx6PVtdLEQsVD1bXSxBPVtdO3ZhciBVPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJTekNvbmZpZ1NlY3Rpb24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgUj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtuPVtMKHt0eXBlOlN0cmluZ30pXSxoPVtMKHt0eXBlOlN0cmluZ30pXSxwPVtMKHt0eXBlOlN0cmluZ30pXSx4PVtMKHt0eXBlOlN0cmluZ30pXSx5PVtMKHt0eXBlOkFycmF5fSldLEU9W0woe3R5cGU6QXJyYXl9KV0sTj1bTCh7dHlwZTpCb29sZWFufSldLGo9W0woe3R5cGU6Qm9vbGVhbn0pXSxEPVtaKCldLFAyKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGl0bGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkocT0+InRpdGxlImluIHEsImhhcyIpLGdldDppKHE9PnEudGl0bGUsImdldCIpLHNldDppKChxLG9lKT0+e3EudGl0bGU9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Un0sbyxsKSxQMih0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN1YnRpdGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHE9PiJzdWJ0aXRsZSJpbiBxLCJoYXMiKSxnZXQ6aShxPT5xLnN1YnRpdGxlLCJnZXQiKSxzZXQ6aSgocSxvZSk9PntxLnN1YnRpdGxlPW9lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LHUsZiksUDIodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpY29uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKHE9PiJpY29uImluIHEsImhhcyIpLGdldDppKHE9PnEuaWNvbiwiZ2V0Iiksc2V0OmkoKHEsb2UpPT57cS5pY29uPW9lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGcsdiksUDIodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkocT0+InN0YXR1cyJpbiBxLCJoYXMiKSxnZXQ6aShxPT5xLnN0YXR1cywiZ2V0Iiksc2V0OmkoKHEsb2UpPT57cS5zdGF0dXM9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Un0sYixtKSxQMih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpZWxkcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShxPT4iZmllbGRzImluIHEsImhhcyIpLGdldDppKHE9PnEuZmllbGRzLCJnZXQiKSxzZXQ6aSgocSxvZSk9PntxLmZpZWxkcz1vZX0sInNldCIpfSxtZXRhZGF0YTpSfSxNLGspLFAyKHRoaXMsbnVsbCxFLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShxPT4iYWN0aW9ucyJpbiBxLCJoYXMiKSxnZXQ6aShxPT5xLmFjdGlvbnMsImdldCIpLHNldDppKChxLG9lKT0+e3EuYWN0aW9ucz1vZX0sInNldCIpfSxtZXRhZGF0YTpSfSxfLEMpLFAyKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sbGFwc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkocT0+ImNvbGxhcHNpYmxlImluIHEsImhhcyIpLGdldDppKHE9PnEuY29sbGFwc2libGUsImdldCIpLHNldDppKChxLG9lKT0+e3EuY29sbGFwc2libGU9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Un0sJCxJKSxQMih0aGlzLG51bGwsaix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbGxhcHNlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShxPT4iY29sbGFwc2VkImluIHEsImhhcyIpLGdldDppKHE9PnEuY29sbGFwc2VkLCJnZXQiKSxzZXQ6aSgocSxvZSk9PntxLmNvbGxhcHNlZD1vZX0sInNldCIpfSxtZXRhZGF0YTpSfSxTLHopLFAyKHRoaXMsbnVsbCxELHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNDb2xsYXBzZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkocT0+ImlzQ29sbGFwc2VkImluIHEsImhhcyIpLGdldDppKHE9PnEuaXNDb2xsYXBzZWQsImdldCIpLHNldDppKChxLG9lKT0+e3EuaXNDb2xsYXBzZWQ9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Un0sVCxBKSxQMihudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpSfSxudWxsLGEpLFU9cj1lLnZhbHVlLFImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Un0pfXN0YXRpYyBkZW1vPWkoKCk9PndgCiAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgdGl0bGU9IlNtYXJ0UHJveHkiCiAgICAgIHN1YnRpdGxlPSJIVFRQL0hUVFBTIGFuZCBUQ1AvU05JIHJldmVyc2UgcHJveHkiCiAgICAgIGljb249Imx1Y2lkZTpuZXR3b3JrIgogICAgICBzdGF0dXM9ImVuYWJsZWQiCiAgICAgIC5maWVsZHM9JHtbe2tleToiUm91dGUgQ291bnQiLHZhbHVlOjEyfSx7a2V5OiJBQ01FIEVuYWJsZWQiLHZhbHVlOiEwLHR5cGU6ImJvb2xlYW4ifSx7a2V5OiJBY2NvdW50IEVtYWlsIix2YWx1ZToiYWRtaW5AZXhhbXBsZS5jb20ifSx7a2V5OiJVc2UgUHJvZHVjdGlvbiIsdmFsdWU6ITAsdHlwZToiYm9vbGVhbiJ9LHtrZXk6IkF1dG8gUmVuZXciLHZhbHVlOiEwLHR5cGU6ImJvb2xlYW4ifSx7a2V5OiJSZW5ldyBUaHJlc2hvbGQiLHZhbHVlOiIzMCBkYXlzIn1dfQogICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CiAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgdGl0bGU9IkVtYWlsIFNlcnZlciIKICAgICAgc3VidGl0bGU9IlNNVFAgZW1haWwgaGFuZGxpbmcgd2l0aCBzbWFydG10YSIKICAgICAgaWNvbj0ibHVjaWRlOm1haWwiCiAgICAgIHN0YXR1cz0iZGlzYWJsZWQiCiAgICAgIC5maWVsZHM9JHtbe2tleToiUG9ydHMiLHZhbHVlOlsiMjUiLCI0NjUiLCI1ODciXSx0eXBlOiJwaWxscyJ9LHtrZXk6Ikhvc3RuYW1lIix2YWx1ZTpudWxsfSx7a2V5OiJEb21haW5zIix2YWx1ZTpbImV4YW1wbGUuY29tIiwibWFpbC5leGFtcGxlLmNvbSJdLHR5cGU6InBpbGxzIn1dfQogICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CiAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgdGl0bGU9IkROUyBTZXJ2ZXIiCiAgICAgIHN1YnRpdGxlPSJBdXRob3JpdGF0aXZlIEROUyB3aXRoIHNtYXJ0ZG5zIgogICAgICBpY29uPSJsdWNpZGU6Z2xvYmUiCiAgICAgIHN0YXR1cz0ibm90LWNvbmZpZ3VyZWQiCiAgICAgIGNvbGxhcHNpYmxlCiAgICAgIC5maWVsZHM9JHtbe2tleToiUG9ydCIsdmFsdWU6NTN9LHtrZXk6Ik5TIERvbWFpbnMiLHZhbHVlOlsibnMxLmV4YW1wbGUuY29tIiwibnMyLmV4YW1wbGUuY29tIl0sdHlwZToicGlsbHMifV19CiAgICA+PC9zei1jb25maWctc2VjdGlvbj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJDb25maWd1cmF0aW9uIl07I2U9TjEodGhpcyxvLCIiKTtnZXQgdGl0bGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdGl0bGUoUil7dGhpcy4jZT1SfSN0PShOMSh0aGlzLGwpLE4xKHRoaXMsdSwiIikpO2dldCBzdWJ0aXRsZSgpe3JldHVybiB0aGlzLiN0fXNldCBzdWJ0aXRsZShSKXt0aGlzLiN0PVJ9I2E9KE4xKHRoaXMsZiksTjEodGhpcyxnLCIiKSk7Z2V0IGljb24oKXtyZXR1cm4gdGhpcy4jYX1zZXQgaWNvbihSKXt0aGlzLiNhPVJ9I3I9KE4xKHRoaXMsdiksTjEodGhpcyxiLCJlbmFibGVkIikpO2dldCBzdGF0dXMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc3RhdHVzKFIpe3RoaXMuI3I9Un0jaT0oTjEodGhpcyxtKSxOMSh0aGlzLE0sW10pKTtnZXQgZmllbGRzKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGZpZWxkcyhSKXt0aGlzLiNpPVJ9I3M9KE4xKHRoaXMsayksTjEodGhpcyxfLFtdKSk7Z2V0IGFjdGlvbnMoKXtyZXR1cm4gdGhpcy4jc31zZXQgYWN0aW9ucyhSKXt0aGlzLiNzPVJ9I289KE4xKHRoaXMsQyksTjEodGhpcywkLCExKSk7Z2V0IGNvbGxhcHNpYmxlKCl7cmV0dXJuIHRoaXMuI299c2V0IGNvbGxhcHNpYmxlKFIpe3RoaXMuI289Un0jbj0oTjEodGhpcyxJKSxOMSh0aGlzLFMsITEpKTtnZXQgY29sbGFwc2VkKCl7cmV0dXJuIHRoaXMuI259c2V0IGNvbGxhcHNlZChSKXt0aGlzLiNuPVJ9I2w9KE4xKHRoaXMseiksTjEodGhpcyxULCExKSk7Z2V0IGlzQ29sbGFwc2VkKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGlzQ29sbGFwc2VkKFIpe3RoaXMuI2w9Un1zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgcGFkZGluZzogMTRweCAyMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNpYmxlXSkgLnNlY3Rpb24taGVhZGVyIHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzaWJsZV0pIC5zZWN0aW9uLWhlYWRlcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlYmViZWQiLCIjMWMxYzFmIil9OwogICAgICB9CgogICAgICAuaGVhZGVyLWxlZnQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAuaGVhZGVyLWljb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmhlYWRlci1pY29uIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzUyNTI1YiIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXItdGV4dCB7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAuaGVhZGVyLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICAgICAgbWFyZ2luLXRvcDogMXB4OwogICAgICB9CgogICAgICAuaGVhZGVyLXJpZ2h0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAvKiBTdGF0dXMgYmFkZ2UgKi8KICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiAzcHggMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5lbmFibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsMTk3LDk0LDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5kaXNhYmxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSw2OCw2OCwwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uubm90LWNvbmZpZ3VyZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwicmdiYSgxMTMsMTEzLDEyMiwwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmZWYzYzciLCJyZ2JhKDI0NSwxNTgsMTEsMC4xNSkiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjOTI0MDBlIiwiI2ZiYmYyNCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1kb3QgewogICAgICAgIHdpZHRoOiA3cHg7CiAgICAgICAgaGVpZ2h0OiA3cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmVuYWJsZWQgLnN0YXR1cy1kb3QgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5kaXNhYmxlZCAuc3RhdHVzLWRvdCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLm5vdC1jb25maWd1cmVkIC5zdGF0dXMtZG90IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uud2FybmluZyAuc3RhdHVzLWRvdCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNTllMGIiLCIjZmJiZjI0Iil9OwogICAgICB9CgogICAgICAvKiBBY3Rpb24gYnV0dG9ucyAqLwogICAgICAuaGVhZGVyLWFjdGlvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDVweDsKICAgICAgICBwYWRkaW5nOiA0cHggMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMTUwbXMgZWFzZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICB9CgogICAgICAuaGVhZGVyLWFjdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoInJnYmEoMzcsOTksMjM1LDAuMDgpIiwicmdiYSg5NiwxNjUsMjUwLDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXItYWN0aW9uIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICAvKiBDaGV2cm9uICovCiAgICAgIC5jaGV2cm9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5jaGV2cm9uLmNvbGxhcHNlZCB7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICAgICAgfQoKICAgICAgLmNoZXZyb24gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLyogQ29udGVudCAqLwogICAgICAuc2VjdGlvbi1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAuc2VjdGlvbi1jb250ZW50LmNvbGxhcHNlZCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogRmllbGQgcm93cyAqLwogICAgICAuZmllbGQtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzFhMWExZSIpfTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5maWVsZC1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmZpZWxkLWtleSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBtaW4td2lkdGg6IDE0MHB4OwogICAgICAgIHBhZGRpbmctdG9wOiAxcHg7CiAgICAgIH0KCiAgICAgIC5maWVsZC12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsIE1vbmFjbywgJ0Nhc2NhZGlhIENvZGUnLCBtb25vc3BhY2U7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgIH0KCiAgICAgIC5maWVsZC12YWx1ZS5udWxsLXZhbHVlIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgfQoKICAgICAgLyogQm9vbGVhbiBkaXNwbGF5ICovCiAgICAgIC5ib29sLXZhbHVlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNXB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuYm9vbC12YWx1ZS50cnVlIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuYm9vbC12YWx1ZS5mYWxzZSB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmJvb2wtZG90IHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgfQoKICAgICAgLmJvb2wtdmFsdWUudHJ1ZSAuYm9vbC1kb3QgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmJvb2wtdmFsdWUuZmFsc2UgLmJvb2wtZG90IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC8qIFBpbGxzICovCiAgICAgIC5waWxscyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiA1cHg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLnBpbGwgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDlweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgTW9uYWNvLCAnQ2FzY2FkaWEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2VmZjZmZiIsInJnYmEoNTksMTMwLDI0NiwwLjEpIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC8qIENvZGUgdmFsdWUgKi8KICAgICAgLmNvZGUtdmFsdWUgewogICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsIE1vbmFjbywgJ0Nhc2NhZGlhIENvZGUnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAvKiBMaW5rIHZhbHVlICovCiAgICAgIC5saW5rLXZhbHVlIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAubGluay12YWx1ZTpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC8qIERlc2NyaXB0aW9uIGhpbnQgKi8KICAgICAgLmZpZWxkLWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAzcHg7CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgIH0KCiAgICAgIC8qIFNsb3QgZm9yIGN1c3RvbSBjb250ZW50ICovCiAgICAgIC5zbG90LWNvbnRlbnQgewogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxYTFhMWUiKX07CiAgICAgIH0KCiAgICAgIC5zbG90LWNvbnRlbnQ6ZW1wdHkgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTsKICAgICAgfQoKICAgICAgLyogQmFkZ2UgdHlwZSAqLwogICAgICAuYmFkZ2UtdmFsdWUgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDlweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzUyNTI1YiIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO2FzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmlzQ29sbGFwc2VkPXRoaXMuY29sbGFwc2VkLHRoaXMuY29sbGFwc2libGUmJnRoaXMuc2V0QXR0cmlidXRlKCJjb2xsYXBzaWJsZSIsIiIpfXJlbmRlcigpe2xldCBSPXtlbmFibGVkOiJFbmFibGVkIixkaXNhYmxlZDoiRGlzYWJsZWQiLCJub3QtY29uZmlndXJlZCI6Ik5vdCBDb25maWd1cmVkIix3YXJuaW5nOiJXYXJuaW5nIn07cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJzZWN0aW9uLWhlYWRlciIKICAgICAgICAgIEBjbGljaz0keygpPT57dGhpcy5jb2xsYXBzaWJsZSYmKHRoaXMuaXNDb2xsYXBzZWQ9IXRoaXMuaXNDb2xsYXBzZWQpfX0KICAgICAgICA+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItbGVmdCI+CiAgICAgICAgICAgICR7dGhpcy5pY29uP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWljb24iPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke3RoaXMuaWNvbn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10ZXh0Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItdGl0bGUiPiR7dGhpcy50aXRsZX08L2Rpdj4KICAgICAgICAgICAgICAke3RoaXMuc3VidGl0bGU/d2A8ZGl2IGNsYXNzPSJoZWFkZXItc3VidGl0bGUiPiR7dGhpcy5zdWJ0aXRsZX08L2Rpdj5gOiIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXJpZ2h0Ij4KICAgICAgICAgICAgJHt0aGlzLnN0YXR1cz93YAogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHt0aGlzLnN0YXR1c30iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1kb3QiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICR7Ult0aGlzLnN0YXR1c118fHRoaXMuc3RhdHVzfQogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgJHt0aGlzLmFjdGlvbnMubWFwKHE9PndgCiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaGVhZGVyLWFjdGlvbiIgQGNsaWNrPSR7b2U9PntvZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KHEuZXZlbnR8fCJhY3Rpb24iLHtkZXRhaWw6cS5kZXRhaWx8fHtsYWJlbDpxLmxhYmVsfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfX0+CiAgICAgICAgICAgICAgICAke3EuaWNvbj93YDxkZWVzLWljb24gLmljb249JHtxLmljb259PjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICAgICAke3EubGFiZWx9CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICAgICAgICAke3RoaXMuY29sbGFwc2libGU/d2AKICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2hldnJvbiAke3RoaXMuaXNDb2xsYXBzZWQ/ImNvbGxhcHNlZCI6IiJ9Ij4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmNoZXZyb25Eb3duIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50ICR7dGhpcy5pc0NvbGxhcHNlZD8iY29sbGFwc2VkIjoiIn0iPgogICAgICAgICAgJHt0aGlzLmZpZWxkcy5tYXAocT0+dGhpcy5yZW5kZXJGaWVsZChxKSl9CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzbG90LWNvbnRlbnQiPgogICAgICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckZpZWxkKFIpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLWtleSI+JHtSLmtleX08L2Rpdj4KICAgICAgICA8ZGl2PgogICAgICAgICAgJHt0aGlzLnJlbmRlckZpZWxkVmFsdWUoUil9CiAgICAgICAgICAke1IuZGVzY3JpcHRpb24/d2A8ZGl2IGNsYXNzPSJmaWVsZC1kZXNjcmlwdGlvbiI+JHtSLmRlc2NyaXB0aW9ufTwvZGl2PmA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJGaWVsZFZhbHVlKFIpe2xldCBxPVIudmFsdWUsb2U9Ui50eXBlfHx0aGlzLmluZmVyVHlwZShxKTtpZihxPT1udWxsKXJldHVybiB3YDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSBudWxsLXZhbHVlIj5Ob3QgY29uZmlndXJlZDwvc3Bhbj5gO3N3aXRjaChvZSl7Y2FzZSJib29sZWFuIjpyZXR1cm4gd2AKICAgICAgICAgIDxzcGFuIGNsYXNzPSJib29sLXZhbHVlICR7cT8idHJ1ZSI6ImZhbHNlIn0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYm9vbC1kb3QiPjwvc3Bhbj4KICAgICAgICAgICAgJHtxPyJFbmFibGVkIjoiRGlzYWJsZWQifQogICAgICAgICAgPC9zcGFuPgogICAgICAgIGA7Y2FzZSJwaWxscyI6cmV0dXJuIEFycmF5LmlzQXJyYXkocSkmJnEubGVuZ3RoPT09MD93YDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSBudWxsLXZhbHVlIj5Ob25lPC9zcGFuPmA6d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InBpbGxzIj4KICAgICAgICAgICAgJHtxLm1hcChPPT53YDxzcGFuIGNsYXNzPSJwaWxsIj4ke099PC9zcGFuPmApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDtjYXNlImNvZGUiOnJldHVybiB3YDxzcGFuIGNsYXNzPSJjb2RlLXZhbHVlIj4ke1N0cmluZyhxKX08L3NwYW4+YDtjYXNlImJhZGdlIjpyZXR1cm4gd2A8c3BhbiBjbGFzcz0iYmFkZ2UtdmFsdWUiPiR7U3RyaW5nKHEpfTwvc3Bhbj5gO2Nhc2UibGluayI6cmV0dXJuIHdgCiAgICAgICAgICA8c3BhbgogICAgICAgICAgICBjbGFzcz0ibGluay12YWx1ZSIKICAgICAgICAgICAgQGNsaWNrPSR7KCk9PntSLmxpbmtUbyYmdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibmF2aWdhdGUiLHtkZXRhaWw6e3RhcmdldDpSLmxpbmtUb30sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX19CiAgICAgICAgICA+JHtTdHJpbmcocSl9PC9zcGFuPgogICAgICAgIGA7ZGVmYXVsdDpyZXR1cm4gd2A8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPiR7U3RyaW5nKHEpfTwvc3Bhbj5gfX1pbmZlclR5cGUoUil7cmV0dXJuIHR5cGVvZiBSPT0iYm9vbGVhbiI/ImJvb2xlYW4iOkFycmF5LmlzQXJyYXkoUik/InBpbGxzIjoidGV4dCJ9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLE4xKHRoaXMsQSl9c3RhdGlje04xKHIsYSl9fTtyZXR1cm4gVT1yfSkoKX0pO3ZhciBXSGUsWEIsVnhhLFdhYT1jKCgpPT57cGUoKTtXSGU9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LFhCPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxWeGE9KCgpPT57bGV0IHQ9W2FlKCJzei1jb25maWctb3ZlcnZpZXciKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXTt2YXIgcD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiU3pDb25maWdPdmVydmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBnPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W0woe3R5cGU6U3RyaW5nfSldLGg9W0woe3R5cGU6U3RyaW5nfSldLFdIZSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhlYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+ImhlYWRpbmciaW4gdiwiaGFzIiksZ2V0Omkodj0+di5oZWFkaW5nLCJnZXQiKSxzZXQ6aSgodix4KT0+e3YuaGVhZGluZz14fSwic2V0Iil9LG1ldGFkYXRhOmd9LG8sbCksV0hlKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5mb1RleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+ImluZm9UZXh0ImluIHYsImhhcyIpLGdldDppKHY9PnYuaW5mb1RleHQsImdldCIpLHNldDppKCh2LHgpPT57di5pbmZvVGV4dD14fSwic2V0Iil9LG1ldGFkYXRhOmd9LHUsZiksV0hlKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmd9LG51bGwsYSkscD1yPWUudmFsdWUsZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpnfSl9c3RhdGljIGRlbW89aSgoKT0+d2A8c3otY29uZmlnLW92ZXJ2aWV3CiAgICBoZWFkaW5nPSJDb25maWd1cmF0aW9uIgogICAgaW5mb1RleHQ9IlRoaXMgaXMgYSByZWFkLW9ubHkgdmlldyBvZiB0aGUgY3VycmVudCBydW5uaW5nIGNvbmZpZ3VyYXRpb24uIgogID4KICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDIwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsgY29sb3I6ICM3MTcxN2E7IGZvbnQtc2l6ZTogMTRweDsiPgogICAgICBQbGFjZSAmbHQ7c3otY29uZmlnLXNlY3Rpb24mZ3Q7IGVsZW1lbnRzIGhlcmUKICAgIDwvZGl2PgogIDwvc3otY29uZmlnLW92ZXJ2aWV3PmAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkNvbmZpZ3VyYXRpb24iXTsjZT1YQih0aGlzLG8sIiIpO2dldCBoZWFkaW5nKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGhlYWRpbmcoZyl7dGhpcy4jZT1nfSN0PShYQih0aGlzLGwpLFhCKHRoaXMsdSwiIikpO2dldCBpbmZvVGV4dCgpe3JldHVybiB0aGlzLiN0fXNldCBpbmZvVGV4dChnKXt0aGlzLiN0PWd9c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRpbmcgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmluZm8tYmFubmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxNHB4IDE4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNlZmY2ZmYiLCJyZ2JhKDU5LDEzMCwyNDYsMC4wOCkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtkLmJkVGhlbWUoIiNiZmRiZmUiLCJyZ2JhKDU5LDEzMCwyNDYsMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxZTQwYWYiLCIjOTNjNWZkIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICB9CgogICAgICAuaW5mby1iYW5uZXIgZGVlcy1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgbWFyZ2luLXRvcDogMXB4OwogICAgICB9CgogICAgICA6OnNsb3R0ZWQoc3otY29uZmlnLXNlY3Rpb24pIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICB9CgogICAgICA6OnNsb3R0ZWQoc3otY29uZmlnLXNlY3Rpb246bGFzdC1jaGlsZCkgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICAke3RoaXMuaGVhZGluZz93YDxkaXYgY2xhc3M9ImhlYWRpbmciPiR7dGhpcy5oZWFkaW5nfTwvZGl2PmA6IiJ9CiAgICAgICR7dGhpcy5pbmZvVGV4dD93YAogICAgICAgIDxkaXYgY2xhc3M9ImluZm8tYmFubmVyIj4KICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmluZm8ifT48L2RlZXMtaWNvbj4KICAgICAgICAgIDxzcGFuPiR7dGhpcy5pbmZvVGV4dH08L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CiAgICAgIDxzbG90Pjwvc2xvdD4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFhCKHRoaXMsZil9c3RhdGlje1hCKHIsYSl9fTtyZXR1cm4gcD1yfSkoKX0pO3ZhciBqeGEsVXhhLFd4YSxHYWE9YygoKT0+e3BlKCk7VGkoKTtqeGE9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LFV4YT1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sV3hhPSgoKT0+e2xldCB0PVthZSgic3otZGVtby12aWV3LWRhc2hib2FyZCIpXSxlLGE9W10scixzPWNlO3ZhciBuPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJTekRlbW9WaWV3RGFzaGJvYXJkIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7anhhKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm99LG51bGwsYSksbj1yPWUudmFsdWUsbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpvfSl9YXBwdWk9bnVsbDthc3luYyBvbkFjdGl2YXRlKG8pe3RoaXMuYXBwdWk9by5hcHB1aSx0aGlzLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IkRhc2hib2FyZCIsZ3JvdXBzOlt7bmFtZToiUXVpY2sgQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiRGVwbG95IFNlcnZpY2UiLGljb25OYW1lOiJsdWNpZGU6Um9ja2V0IixhY3Rpb246aSgoKT0+e2NvbnNvbGUubG9nKCJEZXBsb3kgc2VydmljZSIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiQWRkIERvbWFpbiIsaWNvbk5hbWU6Imx1Y2lkZTpHbG9iZSIsYWN0aW9uOmkoKCk9Pntjb25zb2xlLmxvZygiQWRkIGRvbWFpbiIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiQ3JlYXRlIFRva2VuIixpY29uTmFtZToibHVjaWRlOktleSIsYWN0aW9uOmkoKCk9Pntjb25zb2xlLmxvZygiQ3JlYXRlIHRva2VuIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiU3lzdGVtIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJSZWZyZXNoIFN0YXRzIixpY29uTmFtZToibHVjaWRlOlJlZnJlc2hDdyIsYWN0aW9uOmkoKCk9Pntjb25zb2xlLmxvZygiUmVmcmVzaCIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiVmlldyBMb2dzIixpY29uTmFtZToibHVjaWRlOlRlcm1pbmFsIixhY3Rpb246aSgoKT0+e2NvbnNvbGUubG9nKCJWaWV3IGxvZ3MiKX0sImFjdGlvbiIpfV19XX0pfW9uRGVhY3RpdmF0ZSgpe31zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnBhZ2UtaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAucGFnZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW46IDAgMCA4cHggMDsKICAgICAgfQoKICAgICAgLnBhZ2Utc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InBhZ2UtaGVhZGVyIj4KICAgICAgICA8aDEgY2xhc3M9InBhZ2UtdGl0bGUiPkRhc2hib2FyZDwvaDE+CiAgICAgICAgPHAgY2xhc3M9InBhZ2Utc3VidGl0bGUiPk92ZXJ2aWV3IG9mIHlvdXIgb25lYm94IGluZnJhc3RydWN0dXJlPC9wPgogICAgICA8L2Rpdj4KCiAgICAgIDxzei1kYXNoYm9hcmQtdmlldwogICAgICAgIC5jbHVzdGVyU3RhdHM9JHt7dG90YWxTZXJ2aWNlczoxMixydW5uaW5nOjksc3RvcHBlZDozLGRvY2tlclN0YXR1czoicnVubmluZyJ9fQogICAgICAgIC5yZXNvdXJjZVVzYWdlPSR7e2NwdTo0NSxtZW1vcnlVc2VkOiI2LjIgR0IiLG1lbW9yeVRvdGFsOiIxNiBHQiIsbmV0d29ya0luOiIyLjUgTUIvcyIsbmV0d29ya091dDoiMS4yIE1CL3MiLHRvcENvbnN1bWVyczpbe25hbWU6Im1vbmdvZGIiLG1lbW9yeToiMS4yIEdCIn0se25hbWU6ImNsaWNraG91c2UiLG1lbW9yeToiOTgwIE1CIn0se25hbWU6Im5naW54LXByb3h5IixtZW1vcnk6IjI1NiBNQiJ9XX19CiAgICAgICAgLnBsYXRmb3JtU2VydmljZXM9JHtbe25hbWU6Ik1vbmdvREIiLHN0YXR1czoicnVubmluZyIsaWNvbjoiZGF0YWJhc2UifSx7bmFtZToiUzMgU3RvcmFnZSIsc3RhdHVzOiJydW5uaW5nIixpY29uOiJzdG9yYWdlIn0se25hbWU6IkNsaWNrSG91c2UiLHN0YXR1czoic3RvcHBlZCIsaWNvbjoiYW5hbHl0aWNzIn0se25hbWU6IlJlZGlzIENhY2hlIixzdGF0dXM6InJ1bm5pbmciLGljb246ImNhY2hlIn1dfQogICAgICAgIC50cmFmZmljPSR7e3JlcXVlc3RzOjE1NDIwLGVycm9yczoyMyxlcnJvclBlcmNlbnQ6LjE1LGF2Z1Jlc3BvbnNlOjE0NSxyZXFQZXJNaW46ODU2LHN0YXR1czJ4eDoxNDg1MCxzdGF0dXMzeHg6MzIwLHN0YXR1czR4eDoyMjcsc3RhdHVzNXh4OjIzfX0KICAgICAgICAucHJveHk9JHt7aHR0cFBvcnQ6IjgwIixodHRwc1BvcnQ6IjQ0MyIsaHR0cEFjdGl2ZTohMCxodHRwc0FjdGl2ZTohMCxyb3V0ZUNvdW50OiIyNCJ9fQogICAgICAgIC5jZXJ0aWZpY2F0ZXM9JHt7dmFsaWQ6MTgsZXhwaXJpbmc6MixleHBpcmVkOjB9fQogICAgICAgIC5kbnM9JHt7cmVjb3Jkczo0NSx6b25lczo4LHBlbmRpbmdDaGFuZ2VzOjB9fQogICAgICAgIC5zc2w9JHt7YWN0aXZlQ2VydHM6MjAsYXV0b1JlbmV3OiEwLHByb3ZpZGVyOiJMZXQncyBFbmNyeXB0In19CiAgICAgICAgQHF1aWNrLWFjdGlvbj0ke289PmNvbnNvbGUubG9nKCJRdWljayBhY3Rpb246IixvLmRldGFpbCl9CiAgICAgID48L3N6LWRhc2hib2FyZC12aWV3PgogICAgYH1zdGF0aWN7VXhhKHIsYSl9fTtyZXR1cm4gbj1yfSkoKX0pO3ZhciB3WCxJNixHeGEsWWFhPWMoKCk9PntwZSgpO1RpKCk7d1g9ZnVuY3Rpb24odCxlLGEscixzLG4pe2Z1bmN0aW9uIG8oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1pKG8sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsaD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsdT0hZSYmdD9yLnN0YXRpYz90OnQucHJvdG90eXBlOm51bGwsZj1lfHwodT9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHUsci5uYW1lKTp7fSkscCxnPSExLHY9YS5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihnKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO24ucHVzaChvKHl8fG51bGwpKX07dmFyIG09KDAsYVt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpmLmdldCxzZXQ6Zi5zZXR9OmZbaF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKG09PT12b2lkIDApY29udGludWU7aWYobT09PW51bGx8fHR5cGVvZiBtIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsocD1vKG0uZ2V0KSkmJihmLmdldD1wKSwocD1vKG0uc2V0KSkmJihmLnNldD1wKSwocD1vKG0uaW5pdCkpJiZzLnVuc2hpZnQocCl9ZWxzZShwPW8obSkpJiYobD09PSJmaWVsZCI/cy51bnNoaWZ0KHApOmZbaF09cCl9dSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHUsci5uYW1lLGYpLGc9ITB9LEk2PWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxHeGE9KCgpPT57bGV0IHQ9W2FlKCJzei1kZW1vLXZpZXctc2VydmljZXMiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXSxoLHU9W10sZj1bXSxwLGc9W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiU3pEZW1vVmlld1NlcnZpY2VzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bWigpXSxoPVtaKCldLHA9W1ooKV0sd1godGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VmlldyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtPT4iY3VycmVudFZpZXciaW4gbSwiaGFzIiksZ2V0OmkobT0+bS5jdXJyZW50VmlldywiZ2V0Iiksc2V0OmkoKG0seSk9PnttLmN1cnJlbnRWaWV3PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbyxsKSx3WCh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkU2VydmljZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtPT4ic2VsZWN0ZWRTZXJ2aWNlImluIG0sImhhcyIpLGdldDppKG09Pm0uc2VsZWN0ZWRTZXJ2aWNlLCJnZXQiKSxzZXQ6aSgobSx5KT0+e20uc2VsZWN0ZWRTZXJ2aWNlPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sdSxmKSx3WCh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkUGxhdGZvcm1TZXJ2aWNlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJzZWxlY3RlZFBsYXRmb3JtU2VydmljZSJpbiBtLCJoYXMiKSxnZXQ6aShtPT5tLnNlbGVjdGVkUGxhdGZvcm1TZXJ2aWNlLCJnZXQiKSxzZXQ6aSgobSx5KT0+e20uc2VsZWN0ZWRQbGF0Zm9ybVNlcnZpY2U9eX0sInNldCIpfSxtZXRhZGF0YTpifSxnLHYpLHdYKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsYSkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9YXBwdWk9bnVsbDsjZT1JNih0aGlzLG8sImxpc3QiKTtnZXQgY3VycmVudFZpZXcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY3VycmVudFZpZXcoYil7dGhpcy4jZT1ifSN0PShJNih0aGlzLGwpLEk2KHRoaXMsdSxudWxsKSk7Z2V0IHNlbGVjdGVkU2VydmljZSgpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZFNlcnZpY2UoYil7dGhpcy4jdD1ifSNhPShJNih0aGlzLGYpLEk2KHRoaXMsZyxudWxsKSk7Z2V0IHNlbGVjdGVkUGxhdGZvcm1TZXJ2aWNlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNlbGVjdGVkUGxhdGZvcm1TZXJ2aWNlKGIpe3RoaXMuI2E9Yn1kZW1vU2VydmljZXM9KEk2KHRoaXMsdiksW3tpZDoiMSIsbmFtZToibmdpbngtcHJveHkiLGltYWdlOiJuZ2lueDpsYXRlc3QiLHN0YXR1czoicnVubmluZyIsY3B1OiIyLjUlIixtZW1vcnk6IjI1NiBNQiIscG9ydHM6IjgwLCA0NDMiLHVwdGltZToiNWQgMTJoIn0se2lkOiIyIixuYW1lOiJhcGktZ2F0ZXdheSIsaW1hZ2U6ImFwaS1nYXRld2F5OnYyLjEuMCIsc3RhdHVzOiJydW5uaW5nIixjcHU6IjguMiUiLG1lbW9yeToiNTEyIE1CIixwb3J0czoiMzAwMCIsdXB0aW1lOiIzZCA4aCJ9LHtpZDoiMyIsbmFtZToid29ya2VyLXNlcnZpY2UiLGltYWdlOiJ3b3JrZXI6bGF0ZXN0IixzdGF0dXM6InN0b3BwZWQiLGNwdToiMCUiLG1lbW9yeToiMCBNQiIscG9ydHM6Ii0iLHVwdGltZToiLSJ9LHtpZDoiNCIsbmFtZToicmVkaXMtY2FjaGUiLGltYWdlOiJyZWRpczo3LWFscGluZSIsc3RhdHVzOiJydW5uaW5nIixjcHU6IjEuMiUiLG1lbW9yeToiMTI4IE1CIixwb3J0czoiNjM3OSIsdXB0aW1lOiIxMGQgNGgifV0pO2RlbW9QbGF0Zm9ybVNlcnZpY2U9e2lkOiIxIixuYW1lOiJNb25nb0RCIix0eXBlOiJtb25nb2RiIixzdGF0dXM6InJ1bm5pbmciLHZlcnNpb246IjcuMC40Iixob3N0OiJsb2NhbGhvc3QiLHBvcnQ6MjcwMTcsY3JlZGVudGlhbHM6e3VzZXJuYW1lOiJhZG1pbiIscGFzc3dvcmQ6Ilx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMiJ9LGNvbmZpZzp7cmVwbGljYVNldDoicnMwIixhdXRoRW5hYmxlZDohMCxqb3VybmFsaW5nOiEwfSxtZXRyaWNzOntjcHU6MTIsbWVtb3J5OjQ1LHN0b3JhZ2U6MjMsY29ubmVjdGlvbnM6OH19O2RlbW9QbGF0Zm9ybUxvZ3M9W3t0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MjIiLGxldmVsOiJpbmZvIixtZXNzYWdlOiJDb25uZWN0aW9uIGFjY2VwdGVkIGZyb20gMTI3LjAuMC4xOjU0MzIxIn0se3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoyMCIsbGV2ZWw6ImluZm8iLG1lc3NhZ2U6IkluZGV4IGJ1aWxkIGNvbXBsZXRlZCBvbiBjb2xsZWN0aW9uIHVzZXJzIn0se3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoxNSIsbGV2ZWw6Indhcm4iLG1lc3NhZ2U6IlNsb3cgcXVlcnkgZGV0ZWN0ZWQ6IDEuMnMgb24gY29sbGVjdGlvbiBvcmRlcnMifSx7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjEwIixsZXZlbDoiaW5mbyIsbWVzc2FnZToiQ2hlY2twb2ludCBjb21wbGV0ZSJ9XTtkZW1vQmFja3VwU2NoZWR1bGVzPVt7aWQ6IjEiLHNjb3BlOiJBbGwgU2VydmljZXMiLHJldGVudGlvbjoiRDo3LCBXOjQsIE06MTIiLHNjaGVkdWxlOiIwIDIgKiAqICoiLGxhc3RSdW46IjEvMi8yMDI2LCAyOjAwOjAzIEFNIixuZXh0UnVuOiIxLzMvMjAyNiwgMjowMDowMCBBTSIsc3RhdHVzOiJhY3RpdmUifV07ZGVtb0JhY2t1cHM9W3tpZDoiMSIsc2VydmljZToibmdpbngtcHJveHkiLGNyZWF0ZWRBdDoiMS8yLzIwMjYsIDI6MDA6MDMgQU0iLHNpemU6IjIyLjAgTUIiLGluY2x1ZGVzOlsiSW1hZ2UiXX0se2lkOiIyIixzZXJ2aWNlOiJhcGktZ2F0ZXdheSIsY3JlYXRlZEF0OiIxLzIvMjAyNiwgMjowMDowMiBBTSIsc2l6ZToiMTU2LjUgTUIiLGluY2x1ZGVzOlsiSW1hZ2UiLCJWb2x1bWVzIl19LHtpZDoiMyIsc2VydmljZToicmVkaXMtY2FjaGUiLGNyZWF0ZWRBdDoiMS8yLzIwMjYsIDI6MDA6MDAgQU0iLHNpemU6IjQ4LjAgTUIiLGluY2x1ZGVzOlsiSW1hZ2UiLCJEYXRhIl19XTtzdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnBhZ2UtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnBhZ2UtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAucGFnZS1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAuaGVhZGVyLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMC45OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zZWNvbmRhcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc2Vjb25kYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC50YWJzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLnRhYiB7CiAgICAgICAgcGFkZGluZzogMTBweCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYjpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRhYi5hY3RpdmUgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50YWIuYWN0aXZlOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogLTFweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGhlaWdodDogMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxcHggMXB4IDAgMDsKICAgICAgfQoKICAgICAgLmJhY2stYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5iYWNrLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtkLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICAke3RoaXMuY3VycmVudFZpZXc9PT0ibGlzdCI/dGhpcy5yZW5kZXJMaXN0VmlldygpOiIifQogICAgICAke3RoaXMuY3VycmVudFZpZXc9PT0iY3JlYXRlIj90aGlzLnJlbmRlckNyZWF0ZVZpZXcoKToiIn0KICAgICAgJHt0aGlzLmN1cnJlbnRWaWV3PT09ImRldGFpbCI/dGhpcy5yZW5kZXJEZXRhaWxWaWV3KCk6IiJ9CiAgICAgICR7dGhpcy5jdXJyZW50Vmlldz09PSJiYWNrdXBzIj90aGlzLnJlbmRlckJhY2t1cHNWaWV3KCk6IiJ9CiAgICAgICR7dGhpcy5jdXJyZW50Vmlldz09PSJwbGF0Zm9ybS1kZXRhaWwiP3RoaXMucmVuZGVyUGxhdGZvcm1EZXRhaWxWaWV3KCk6IiJ9CiAgICBgfXJlbmRlckxpc3RWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InBhZ2UtaGVhZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItaW5mbyI+CiAgICAgICAgICA8aDEgY2xhc3M9InBhZ2UtdGl0bGUiPlNlcnZpY2VzPC9oMT4KICAgICAgICAgIDxwIGNsYXNzPSJwYWdlLXN1YnRpdGxlIj5NYW5hZ2UgeW91ciBEb2NrZXIgY29udGFpbmVycyBhbmQgcGxhdGZvcm0gc2VydmljZXM8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWFjdGlvbnMiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBzZWNvbmRhcnkiIEBjbGljaz0keygpPT50aGlzLmN1cnJlbnRWaWV3PSJiYWNrdXBzIn0+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ii8+CiAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMTcgOCAxMiAzIDcgOCIvPgogICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjMiIHgyPSIxMiIgeTI9IjE1Ii8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBCYWNrdXBzCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmN1cnJlbnRWaWV3PSJjcmVhdGUifT4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiLz4KICAgICAgICAgICAgICA8bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiIvPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgRGVwbG95IFNlcnZpY2UKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InRhYnMiPgogICAgICAgIDxidXR0b24gY2xhc3M9InRhYiBhY3RpdmUiPkRvY2tlciBTZXJ2aWNlczwvYnV0dG9uPgogICAgICAgIDxidXR0b24gY2xhc3M9InRhYiIgQGNsaWNrPSR7KCk9Pnt0aGlzLnNlbGVjdGVkUGxhdGZvcm1TZXJ2aWNlPXRoaXMuZGVtb1BsYXRmb3JtU2VydmljZSx0aGlzLmN1cnJlbnRWaWV3PSJwbGF0Zm9ybS1kZXRhaWwifX0+UGxhdGZvcm0gU2VydmljZXM8L2J1dHRvbj4KICAgICAgPC9kaXY+CgogICAgICA8c3otc2VydmljZXMtbGlzdC12aWV3CiAgICAgICAgLnNlcnZpY2VzPSR7dGhpcy5kZW1vU2VydmljZXN9CiAgICAgICAgQHZpZXctc2VydmljZT0ke2I9Pnt0aGlzLnNlbGVjdGVkU2VydmljZT1iLmRldGFpbCx0aGlzLmN1cnJlbnRWaWV3PSJkZXRhaWwifX0KICAgICAgICBAc3RhcnQtc2VydmljZT0ke2I9PmNvbnNvbGUubG9nKCJTdGFydCBzZXJ2aWNlOiIsYi5kZXRhaWwpfQogICAgICAgIEBzdG9wLXNlcnZpY2U9JHtiPT5jb25zb2xlLmxvZygiU3RvcCBzZXJ2aWNlOiIsYi5kZXRhaWwpfQogICAgICAgIEByZXN0YXJ0LXNlcnZpY2U9JHtiPT5jb25zb2xlLmxvZygiUmVzdGFydCBzZXJ2aWNlOiIsYi5kZXRhaWwpfQogICAgICAgIEBkZWxldGUtc2VydmljZT0ke2I9PmNvbnNvbGUubG9nKCJEZWxldGUgc2VydmljZToiLGIuZGV0YWlsKX0KICAgICAgPjwvc3otc2VydmljZXMtbGlzdC12aWV3PgogICAgYH1yZW5kZXJDcmVhdGVWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxidXR0b24gY2xhc3M9ImJhY2stYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9PgogICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMTUgMTggOSAxMiAxNSA2Ii8+CiAgICAgICAgPC9zdmc+CiAgICAgICAgQmFjayB0byBTZXJ2aWNlcwogICAgICA8L2J1dHRvbj4KCiAgICAgIDxzei1zZXJ2aWNlLWNyZWF0ZS12aWV3CiAgICAgICAgLnJlZ2lzdHJpZXM9JHtbe2lkOiIxIixuYW1lOiJPbmVib3ggUmVnaXN0cnkiLHVybDoicmVnaXN0cnkub25lYm94LmxvY2FsIn0se2lkOiIyIixuYW1lOiJEb2NrZXIgSHViIix1cmw6ImRvY2tlci5pbyJ9XX0KICAgICAgICBAY3JlYXRlLXNlcnZpY2U9JHtiPT57Y29uc29sZS5sb2coIkNyZWF0ZSBzZXJ2aWNlOiIsYi5kZXRhaWwpLHRoaXMuY3VycmVudFZpZXc9Imxpc3QifX0KICAgICAgICBAY2FuY2VsPSR7KCk9PnRoaXMuY3VycmVudFZpZXc9Imxpc3QifQogICAgICA+PC9zei1zZXJ2aWNlLWNyZWF0ZS12aWV3PgogICAgYH1yZW5kZXJEZXRhaWxWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxidXR0b24gY2xhc3M9ImJhY2stYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9PgogICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMTUgMTggOSAxMiAxNSA2Ii8+CiAgICAgICAgPC9zdmc+CiAgICAgICAgQmFjayB0byBTZXJ2aWNlcwogICAgICA8L2J1dHRvbj4KCiAgICAgIDxzei1zZXJ2aWNlLWRldGFpbC12aWV3CiAgICAgICAgLnNlcnZpY2U9JHt7aWQ6dGhpcy5zZWxlY3RlZFNlcnZpY2U/LmlkfHwiMSIsbmFtZTp0aGlzLnNlbGVjdGVkU2VydmljZT8ubmFtZXx8Im5naW54LXByb3h5IixpbWFnZTp0aGlzLnNlbGVjdGVkU2VydmljZT8uaW1hZ2V8fCJuZ2lueDpsYXRlc3QiLHN0YXR1czp0aGlzLnNlbGVjdGVkU2VydmljZT8uc3RhdHVzfHwicnVubmluZyIscG9ydHM6W3tob3N0OiI4MCIsY29udGFpbmVyOiI4MCJ9LHtob3N0OiI0NDMiLGNvbnRhaW5lcjoiNDQzIn1dLGVudlZhcnM6W3trZXk6Ik5HSU5YX0hPU1QiLHZhbHVlOiJsb2NhbGhvc3QifSx7a2V5OiJOR0lOWF9QT1JUIix2YWx1ZToiODAifV0sdm9sdW1lczpbe2hvc3Q6Ii9kYXRhL25naW54L2NvbmYiLGNvbnRhaW5lcjoiL2V0Yy9uZ2lueC9jb25mLmQifV0sY3JlYXRlZEF0OiIyMDI0LTAxLTE1IDEwOjMwOjAwIixyZXN0YXJ0UG9saWN5OiJhbHdheXMifX0KICAgICAgICAubG9ncz0ke1t7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjIyIixsZXZlbDoiaW5mbyIsbWVzc2FnZTonMTI3LjAuMC4xIC0gLSBbMjAvSmFuLzIwMjQ6MTQ6MzA6MjIgKzAwMDBdICJHRVQgLyBIVFRQLzEuMSIgMjAwIDYxMid9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MjEiLGxldmVsOiJpbmZvIixtZXNzYWdlOicxMjcuMC4wLjEgLSAtIFsyMC9KYW4vMjAyNDoxNDozMDoyMSArMDAwMF0gIkdFVCAvYXBpL2hlYWx0aCBIVFRQLzEuMSIgMjAwIDE1J30se3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoyMCIsbGV2ZWw6Indhcm4iLG1lc3NhZ2U6InVwc3RyZWFtIHRpbWVkIG91dCAoMTEwOiBDb25uZWN0aW9uIHRpbWVkIG91dCkifSx7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjE5IixsZXZlbDoiaW5mbyIsbWVzc2FnZTonMTI3LjAuMC4xIC0gLSBbMjAvSmFuLzIwMjQ6MTQ6MzA6MTkgKzAwMDBdICJQT1NUIC9hcGkvZGF0YSBIVFRQLzEuMSIgMjAxIDg5J31dfQogICAgICAgIEBzdGFydD0keygpPT5jb25zb2xlLmxvZygiU3RhcnQiKX0KICAgICAgICBAc3RvcD0keygpPT5jb25zb2xlLmxvZygiU3RvcCIpfQogICAgICAgIEByZXN0YXJ0PSR7KCk9PmNvbnNvbGUubG9nKCJSZXN0YXJ0Iil9CiAgICAgICAgQHJlcXVlc3Qtd29ya3NwYWNlPSR7Yj0+Y29uc29sZS5sb2coIldvcmtzcGFjZSByZXF1ZXN0ZWQgZm9yOiIsYi5kZXRhaWwuc2VydmljZS5uYW1lKX0KICAgICAgPjwvc3otc2VydmljZS1kZXRhaWwtdmlldz4KICAgIGB9cmVuZGVyQmFja3Vwc1ZpZXcoKXtyZXR1cm4gd2AKICAgICAgPGJ1dHRvbiBjbGFzcz0iYmFjay1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmN1cnJlbnRWaWV3PSJsaXN0In0+CiAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiLz4KICAgICAgICA8L3N2Zz4KICAgICAgICBCYWNrIHRvIFNlcnZpY2VzCiAgICAgIDwvYnV0dG9uPgoKICAgICAgPGRpdiBjbGFzcz0icGFnZS1oZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pbmZvIj4KICAgICAgICAgIDxoMSBjbGFzcz0icGFnZS10aXRsZSI+QmFja3VwczwvaDE+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZS1zdWJ0aXRsZSI+TWFuYWdlIGJhY2t1cCBzY2hlZHVsZXMgYW5kIHJlc3RvcmUgcG9pbnRzPC9wPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxzei1zZXJ2aWNlcy1iYWNrdXBzLXZpZXcKICAgICAgICAuc2NoZWR1bGVzPSR7dGhpcy5kZW1vQmFja3VwU2NoZWR1bGVzfQogICAgICAgIC5iYWNrdXBzPSR7dGhpcy5kZW1vQmFja3Vwc30KICAgICAgICBAY3JlYXRlLXNjaGVkdWxlPSR7KCk9PmNvbnNvbGUubG9nKCJDcmVhdGUgc2NoZWR1bGUiKX0KICAgICAgICBAcnVuLW5vdz0ke2I9PmNvbnNvbGUubG9nKCJSdW4gbm93OiIsYi5kZXRhaWwpfQogICAgICAgIEBkb3dubG9hZD0ke2I9PmNvbnNvbGUubG9nKCJEb3dubG9hZDoiLGIuZGV0YWlsKX0KICAgICAgPjwvc3otc2VydmljZXMtYmFja3Vwcy12aWV3PgogICAgYH1yZW5kZXJQbGF0Zm9ybURldGFpbFZpZXcoKXtyZXR1cm4gd2AKICAgICAgPGJ1dHRvbiBjbGFzcz0iYmFjay1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmN1cnJlbnRWaWV3PSJsaXN0In0+CiAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiLz4KICAgICAgICA8L3N2Zz4KICAgICAgICBCYWNrIHRvIFNlcnZpY2VzCiAgICAgIDwvYnV0dG9uPgoKICAgICAgPHN6LXBsYXRmb3JtLXNlcnZpY2UtZGV0YWlsLXZpZXcKICAgICAgICAuc2VydmljZT0ke3RoaXMuZGVtb1BsYXRmb3JtU2VydmljZX0KICAgICAgICAubG9ncz0ke3RoaXMuZGVtb1BsYXRmb3JtTG9nc30KICAgICAgICBAc3RhcnQ9JHsoKT0+Y29uc29sZS5sb2coIlN0YXJ0Iil9CiAgICAgICAgQHN0b3A9JHsoKT0+Y29uc29sZS5sb2coIlN0b3AiKX0KICAgICAgICBAcmVzdGFydD0keygpPT5jb25zb2xlLmxvZygiUmVzdGFydCIpfQogICAgICA+PC9zei1wbGF0Zm9ybS1zZXJ2aWNlLWRldGFpbC12aWV3PgogICAgYH1hc3luYyBvbkFjdGl2YXRlKGIpe3RoaXMuYXBwdWk9Yi5hcHB1aSx0aGlzLmFwcHVpLnNldENvbnRlbnRUYWJzKFt7a2V5OiJEb2NrZXIgU2VydmljZXMiLGFjdGlvbjppKCgpPT57dGhpcy5jdXJyZW50Vmlldz0ibGlzdCIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX0se2tleToiUGxhdGZvcm0gU2VydmljZXMiLGFjdGlvbjppKCgpPT57dGhpcy5jdXJyZW50Vmlldz0icGxhdGZvcm0tZGV0YWlsIix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfSx7a2V5OiJCYWNrdXBzIixhY3Rpb246aSgoKT0+e3RoaXMuY3VycmVudFZpZXc9ImJhY2t1cHMiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9XSksdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9dXBkYXRlU2Vjb25kYXJ5TWVudSgpe3RoaXMuYXBwdWkmJnRoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiU2VydmljZXMiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IkRlcGxveSBTZXJ2aWNlIixpY29uTmFtZToibHVjaWRlOlBsdXMiLGFjdGlvbjppKCgpPT57dGhpcy5jdXJyZW50Vmlldz0iY3JlYXRlIn0sImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIixrZXk6IlJlZnJlc2giLGljb25OYW1lOiJsdWNpZGU6UmVmcmVzaEN3IixhY3Rpb246aSgoKT0+e2NvbnNvbGUubG9nKCJSZWZyZXNoIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiUXVpY2sgRmlsdGVycyIsaXRlbXM6W3trZXk6IlJ1bm5pbmciLGljb25OYW1lOiJsdWNpZGU6UGxheSIsYmFkZ2U6IjMiLGJhZGdlVmFyaWFudDoic3VjY2VzcyIsYWN0aW9uOmkoKCk9Pntjb25zb2xlLmxvZygiRmlsdGVyIHJ1bm5pbmciKX0sImFjdGlvbiIpfSx7a2V5OiJTdG9wcGVkIixpY29uTmFtZToibHVjaWRlOlNxdWFyZSIsYmFkZ2U6IjEiLGFjdGlvbjppKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciBzdG9wcGVkIil9LCJhY3Rpb24iKX1dfV19KX1vbkRlYWN0aXZhdGUoKXt9c3RhdGlje0k2KHIsYSl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBHSGUsS0IsWXhhLFphYT1jKCgpPT57cGUoKTtUaSgpO0dIZT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sS0I9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LFl4YT0oKCk9PntsZXQgdD1bYWUoInN6LWRlbW8tdmlldy1uZXR3b3JrIildLGUsYT1bXSxyLHM9Y2UsbixvPVtdLGw9W10saCx1PVtdLGY9W107dmFyIHA9Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6RGVtb1ZpZXdOZXR3b3JrIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGc9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bWigpXSxoPVtaKCldLEdIZSh0aGlzLG51bGwsbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRUYWIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+ImN1cnJlbnRUYWIiaW4gdiwiaGFzIiksZ2V0Omkodj0+di5jdXJyZW50VGFiLCJnZXQiKSxzZXQ6aSgodix4KT0+e3YuY3VycmVudFRhYj14fSwic2V0Iil9LG1ldGFkYXRhOmd9LG8sbCksR0hlKHRoaXMsbnVsbCxoLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWREb21haW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkodj0+InNlbGVjdGVkRG9tYWluImluIHYsImhhcyIpLGdldDppKHY9PnYuc2VsZWN0ZWREb21haW4sImdldCIpLHNldDppKCh2LHgpPT57di5zZWxlY3RlZERvbWFpbj14fSwic2V0Iil9LG1ldGFkYXRhOmd9LHUsZiksR0hlKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmd9LG51bGwsYSkscD1yPWUudmFsdWUsZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpnfSl9YXBwdWk9bnVsbDsjZT1LQih0aGlzLG8sInByb3h5Iik7Z2V0IGN1cnJlbnRUYWIoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY3VycmVudFRhYihnKXt0aGlzLiNlPWd9YXN5bmMgb25BY3RpdmF0ZShnKXt0aGlzLmFwcHVpPWcuYXBwdWksdGhpcy5hcHB1aS5zZXRDb250ZW50VGFicyhbe2tleToiUmV2ZXJzZSBQcm94eSIsYWN0aW9uOmkoKCk9Pnt0aGlzLmN1cnJlbnRUYWI9InByb3h5Iix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfSx7a2V5OiJETlMgUmVjb3JkcyIsYWN0aW9uOmkoKCk9Pnt0aGlzLmN1cnJlbnRUYWI9ImRucyIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX0se2tleToiRG9tYWlucyIsYWN0aW9uOmkoKCk9Pnt0aGlzLmN1cnJlbnRUYWI9ImRvbWFpbnMiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9XSksdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9dXBkYXRlU2Vjb25kYXJ5TWVudSgpe3RoaXMuYXBwdWkmJih0aGlzLmN1cnJlbnRUYWI9PT0icHJveHkiP3RoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiUmV2ZXJzZSBQcm94eSIsZ3JvdXBzOlt7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiQWRkIFJvdXRlIixpY29uTmFtZToibHVjaWRlOlBsdXMiLGFjdGlvbjppKCgpPT57Y29uc29sZS5sb2coIkFkZCByb3V0ZSIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiUmVmcmVzaCIsaWNvbk5hbWU6Imx1Y2lkZTpSZWZyZXNoQ3ciLGFjdGlvbjppKCgpPT57Y29uc29sZS5sb2coIlJlZnJlc2giKX0sImFjdGlvbiIpfV19LHtuYW1lOiJTdGF0aXN0aWNzIixpdGVtczpbe3R5cGU6ImhlYWRlciIsbGFiZWw6IjQyIEFjdGl2ZSBDb25uZWN0aW9ucyJ9LHt0eXBlOiJoZWFkZXIiLGxhYmVsOiIxNSw0MjAgUmVxdWVzdHMgVG9kYXkifV19XX0pOnRoaXMuY3VycmVudFRhYj09PSJkbnMiP3RoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiRE5TIFJlY29yZHMiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IkFkZCBSZWNvcmQiLGljb25OYW1lOiJsdWNpZGU6UGx1cyIsYWN0aW9uOmkoKCk9Pntjb25zb2xlLmxvZygiQWRkIHJlY29yZCIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiSW1wb3J0IFpvbmUiLGljb25OYW1lOiJsdWNpZGU6VXBsb2FkIixhY3Rpb246aSgoKT0+e2NvbnNvbGUubG9nKCJJbXBvcnQgem9uZSIpfSwiYWN0aW9uIil9XX0se25hbWU6IlpvbmVzIixpdGVtczpbe2tleToiZXhhbXBsZS5jb20iLGljb25OYW1lOiJsdWNpZGU6R2xvYmUiLGFjdGlvbjppKCgpPT57Y29uc29sZS5sb2coIlNlbGVjdCBleGFtcGxlLmNvbSIpfSwiYWN0aW9uIil9LHtrZXk6ImV4YW1wbGUubmV0IixpY29uTmFtZToibHVjaWRlOkdsb2JlIixhY3Rpb246aSgoKT0+e2NvbnNvbGUubG9nKCJTZWxlY3QgZXhhbXBsZS5uZXQiKX0sImFjdGlvbiIpfSx7a2V5OiJteWFwcC5pbyIsaWNvbk5hbWU6Imx1Y2lkZTpHbG9iZSIsYWN0aW9uOmkoKCk9Pntjb25zb2xlLmxvZygiU2VsZWN0IG15YXBwLmlvIil9LCJhY3Rpb24iKX1dfV19KToodGhpcy5jdXJyZW50VGFiPT09ImRvbWFpbnMifHx0aGlzLmN1cnJlbnRUYWI9PT0iZG9tYWluLWRldGFpbCIpJiZ0aGlzLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IkRvbWFpbnMiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IkFkZCBEb21haW4iLGljb25OYW1lOiJsdWNpZGU6UGx1cyIsYWN0aW9uOmkoKCk9Pntjb25zb2xlLmxvZygiQWRkIGRvbWFpbiIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiVmVyaWZ5IEFsbCIsaWNvbk5hbWU6Imx1Y2lkZTpDaGVja0NpcmNsZSIsYWN0aW9uOmkoKCk9Pntjb25zb2xlLmxvZygiVmVyaWZ5IGFsbCIpfSwiYWN0aW9uIil9XX0se25hbWU6IkNlcnRpZmljYXRlcyIsaXRlbXM6W3trZXk6IlZhbGlkIixpY29uTmFtZToibHVjaWRlOlNoaWVsZENoZWNrIixiYWRnZToiMyIsYmFkZ2VWYXJpYW50OiJzdWNjZXNzIixhY3Rpb246aSgoKT0+e2NvbnNvbGUubG9nKCJGaWx0ZXIgdmFsaWQiKX0sImFjdGlvbiIpfSx7a2V5OiJFeHBpcmluZyBTb29uIixpY29uTmFtZToibHVjaWRlOkFsZXJ0VHJpYW5nbGUiLGJhZGdlOiIxIixiYWRnZVZhcmlhbnQ6Indhcm5pbmciLGFjdGlvbjppKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciBleHBpcmluZyIpfSwiYWN0aW9uIil9XX1dfSkpfW9uRGVhY3RpdmF0ZSgpe30jdD0oS0IodGhpcyxsKSxLQih0aGlzLHUsbnVsbCkpO2dldCBzZWxlY3RlZERvbWFpbigpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZERvbWFpbihnKXt0aGlzLiN0PWd9ZGVtb1Byb3h5Um91dGVzPShLQih0aGlzLGYpLFt7aWQ6IjEiLGRvbWFpbjoiYXBpLmV4YW1wbGUuY29tIix0YXJnZXQ6Imh0dHA6Ly9hcGktZ2F0ZXdheTozMDAwIixzc2w6ITAsc3RhdHVzOiJhY3RpdmUifSx7aWQ6IjIiLGRvbWFpbjoiYXBwLmV4YW1wbGUuY29tIix0YXJnZXQ6Imh0dHA6Ly9mcm9udGVuZDo4MDgwIixzc2w6ITAsc3RhdHVzOiJhY3RpdmUifSx7aWQ6IjMiLGRvbWFpbjoiYWRtaW4uZXhhbXBsZS5jb20iLHRhcmdldDoiaHR0cDovL2FkbWluLXBhbmVsOjQwMDAiLHNzbDohMCxzdGF0dXM6ImFjdGl2ZSJ9LHtpZDoiNCIsZG9tYWluOiJsZWdhY3kuZXhhbXBsZS5jb20iLHRhcmdldDoiaHR0cDovL2xlZ2FjeTo1MDAwIixzc2w6ITEsc3RhdHVzOiJpbmFjdGl2ZSJ9XSk7ZGVtb0FjY2Vzc0xvZ3M9W3t0aW1lc3RhbXA6IjE0OjMwOjIyIixtZXRob2Q6IkdFVCIscGF0aDoiL2FwaS91c2VycyIsc3RhdHVzOjIwMCxkdXJhdGlvbjoiNDVtcyIsaXA6IjE5Mi4xNjguMS4xMDAifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsbWV0aG9kOiJQT1NUIixwYXRoOiIvYXBpL29yZGVycyIsc3RhdHVzOjIwMSxkdXJhdGlvbjoiMTIwbXMiLGlwOiIxOTIuMTY4LjEuMTA1In0se3RpbWVzdGFtcDoiMTQ6MzA6MjAiLG1ldGhvZDoiR0VUIixwYXRoOiIvYXBpL3Byb2R1Y3RzIixzdGF0dXM6MjAwLGR1cmF0aW9uOiI4OW1zIixpcDoiMTkyLjE2OC4xLjEwMCJ9LHt0aW1lc3RhbXA6IjE0OjMwOjE5IixtZXRob2Q6IkRFTEVURSIscGF0aDoiL2FwaS9jYWNoZSIsc3RhdHVzOjIwNCxkdXJhdGlvbjoiMTJtcyIsaXA6IjE5Mi4xNjguMS41MCJ9LHt0aW1lc3RhbXA6IjE0OjMwOjE4IixtZXRob2Q6IkdFVCIscGF0aDoiL2hlYWx0aCIsc3RhdHVzOjIwMCxkdXJhdGlvbjoiNW1zIixpcDoiMTAuMC4wLjEifV07ZGVtb0Ruc1JlY29yZHM9W3tpZDoiMSIsdHlwZToiQSIsbmFtZToiQCIsdmFsdWU6IjE5Mi4xNjguMS4xMDAiLHR0bDozNjAwLHpvbmU6ImV4YW1wbGUuY29tIn0se2lkOiIyIix0eXBlOiJBIixuYW1lOiJhcGkiLHZhbHVlOiIxOTIuMTY4LjEuMTAwIix0dGw6MzYwMCx6b25lOiJleGFtcGxlLmNvbSJ9LHtpZDoiMyIsdHlwZToiQ05BTUUiLG5hbWU6Ind3dyIsdmFsdWU6ImV4YW1wbGUuY29tIix0dGw6MzYwMCx6b25lOiJleGFtcGxlLmNvbSJ9LHtpZDoiNCIsdHlwZToiTVgiLG5hbWU6IkAiLHZhbHVlOiJtYWlsLmV4YW1wbGUuY29tIix0dGw6MzYwMCx6b25lOiJleGFtcGxlLmNvbSIscHJpb3JpdHk6MTB9LHtpZDoiNSIsdHlwZToiVFhUIixuYW1lOiJAIix2YWx1ZToidj1zcGYxIGluY2x1ZGU6X3NwZi5leGFtcGxlLmNvbSB+YWxsIix0dGw6MzYwMCx6b25lOiJleGFtcGxlLmNvbSJ9XTtkZW1vRG9tYWlucz1be2lkOiIxIixuYW1lOiJleGFtcGxlLmNvbSIsc3RhdHVzOiJhY3RpdmUiLHNzbDohMCxzc2xFeHBpcnk6IjIwMjQtMDQtMTUiLGRuc1Byb3ZpZGVyOiJDbG91ZGZsYXJlIixyZWNvcmRDb3VudDoxMn0se2lkOiIyIixuYW1lOiJhcGkuZXhhbXBsZS5jb20iLHN0YXR1czoiYWN0aXZlIixzc2w6ITAsc3NsRXhwaXJ5OiIyMDI0LTA1LTIwIixkbnNQcm92aWRlcjoiQ2xvdWRmbGFyZSIscmVjb3JkQ291bnQ6M30se2lkOiIzIixuYW1lOiJzdGFnaW5nLmV4YW1wbGUuY29tIixzdGF0dXM6InBlbmRpbmciLHNzbDohMSxzc2xFeHBpcnk6bnVsbCxkbnNQcm92aWRlcjoiQ2xvdWRmbGFyZSIscmVjb3JkQ291bnQ6Mn0se2lkOiI0IixuYW1lOiJsZWdhY3kuZXhhbXBsZS5uZXQiLHN0YXR1czoiYWN0aXZlIixzc2w6ITAsc3NsRXhwaXJ5OiIyMDI0LTAyLTEwIixkbnNQcm92aWRlcjoiTWFudWFsIixyZWNvcmRDb3VudDo1fV07ZGVtb0RvbWFpbkRldGFpbD17aWQ6IjEiLG5hbWU6ImV4YW1wbGUuY29tIixzdGF0dXM6ImFjdGl2ZSIsdmVyaWZpZWQ6ITAsY3JlYXRlZEF0OiIyMDI0LTAxLTEwIixwcm94eVJvdXRlczpbIi9hcGkvKiIsIi9hcHAvKiIsIi9hZG1pbi8qIl19O2RlbW9DZXJ0aWZpY2F0ZT17aWQ6IjEiLGRvbWFpbjoiZXhhbXBsZS5jb20iLGlzc3VlcjoiTGV0J3MgRW5jcnlwdCIsdmFsaWRGcm9tOiIyMDI0LTAxLTEwIix2YWxpZFVudGlsOiIyMDI0LTA0LTEwIixkYXlzUmVtYWluaW5nOjQ1LHN0YXR1czoidmFsaWQiLGF1dG9SZW5ldzohMCxjaGFpbjpbIlIzIiwiSVNSRyBSb290IFgxIl19O2RlbW9Eb21haW5EbnNSZWNvcmRzPVt7aWQ6IjEiLHR5cGU6IkEiLG5hbWU6IkAiLHZhbHVlOiIxOTIuMTY4LjEuMTAwIix0dGw6MzYwMH0se2lkOiIyIix0eXBlOiJDTkFNRSIsbmFtZToid3d3Iix2YWx1ZToiZXhhbXBsZS5jb20iLHR0bDozNjAwfSx7aWQ6IjMiLHR5cGU6Ik1YIixuYW1lOiJAIix2YWx1ZToibWFpbC5leGFtcGxlLmNvbSIsdHRsOjM2MDAscHJpb3JpdHk6MTB9LHtpZDoiNCIsdHlwZToiVFhUIixuYW1lOiJAIix2YWx1ZToidj1zcGYxIGluY2x1ZGU6X3NwZi5leGFtcGxlLmNvbSB+YWxsIix0dGw6MzYwMH1dO3N0YXRpYyBzdHlsZXM9W2QuZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAucGFnZS1oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5wYWdlLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbjogMCAwIDhweCAwOwogICAgICB9CgogICAgICAucGFnZS1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CgogICAgICAudGFicyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC50YWIgewogICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWI6aG92ZXIgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50YWIuYWN0aXZlIHsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudGFiLmFjdGl2ZTo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IC0xcHg7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMXB4IDFweCAwIDA7CiAgICAgIH0KCiAgICAgIC5iYWNrLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2QuYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYmFjay1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gdGhpcy5jdXJyZW50VGFiPT09ImRvbWFpbi1kZXRhaWwiP3RoaXMucmVuZGVyRG9tYWluRGV0YWlsKCk6d2AKICAgICAgJHt0aGlzLmN1cnJlbnRUYWI9PT0icHJveHkiP3RoaXMucmVuZGVyUHJveHlWaWV3KCk6IiJ9CiAgICAgICR7dGhpcy5jdXJyZW50VGFiPT09ImRucyI/dGhpcy5yZW5kZXJEbnNWaWV3KCk6IiJ9CiAgICAgICR7dGhpcy5jdXJyZW50VGFiPT09ImRvbWFpbnMiP3RoaXMucmVuZGVyRG9tYWluc1ZpZXcoKToiIn0KICAgIGB9cmVuZGVyUHJveHlWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxzei1uZXR3b3JrLXByb3h5LXZpZXcKICAgICAgICAucm91dGVzPSR7dGhpcy5kZW1vUHJveHlSb3V0ZXN9CiAgICAgICAgLmFjY2Vzc0xvZ3M9JHt0aGlzLmRlbW9BY2Nlc3NMb2dzfQogICAgICAgIC5zdGF0cz0ke3thY3RpdmVDb25uZWN0aW9uczo0MixyZXF1ZXN0c1RvZGF5OjE1NDIwLGJ5dGVzVHJhbnNmZXJyZWQ6IjIuNCBHQiJ9fQogICAgICAgIEBhZGQtcm91dGU9JHsoKT0+Y29uc29sZS5sb2coIkFkZCByb3V0ZSIpfQogICAgICAgIEBlZGl0LXJvdXRlPSR7Zz0+Y29uc29sZS5sb2coIkVkaXQgcm91dGU6IixnLmRldGFpbCl9CiAgICAgICAgQGRlbGV0ZS1yb3V0ZT0ke2c9PmNvbnNvbGUubG9nKCJEZWxldGUgcm91dGU6IixnLmRldGFpbCl9CiAgICAgID48L3N6LW5ldHdvcmstcHJveHktdmlldz4KICAgIGB9cmVuZGVyRG5zVmlldygpe3JldHVybiB3YAogICAgICA8c3otbmV0d29yay1kbnMtdmlldwogICAgICAgIC5yZWNvcmRzPSR7dGhpcy5kZW1vRG5zUmVjb3Jkc30KICAgICAgICAuem9uZXM9JHtbImV4YW1wbGUuY29tIiwiZXhhbXBsZS5uZXQiLCJteWFwcC5pbyJdfQogICAgICAgIC5zZWxlY3RlZFpvbmU9JHsiZXhhbXBsZS5jb20ifQogICAgICAgIEBhZGQtcmVjb3JkPSR7KCk9PmNvbnNvbGUubG9nKCJBZGQgcmVjb3JkIil9CiAgICAgICAgQGVkaXQtcmVjb3JkPSR7Zz0+Y29uc29sZS5sb2coIkVkaXQgcmVjb3JkOiIsZy5kZXRhaWwpfQogICAgICAgIEBkZWxldGUtcmVjb3JkPSR7Zz0+Y29uc29sZS5sb2coIkRlbGV0ZSByZWNvcmQ6IixnLmRldGFpbCl9CiAgICAgICAgQGNoYW5nZS16b25lPSR7Zz0+Y29uc29sZS5sb2coIkNoYW5nZSB6b25lOiIsZy5kZXRhaWwpfQogICAgICA+PC9zei1uZXR3b3JrLWRucy12aWV3PgogICAgYH1yZW5kZXJEb21haW5zVmlldygpe3JldHVybiB3YAogICAgICA8c3otbmV0d29yay1kb21haW5zLXZpZXcKICAgICAgICAuZG9tYWlucz0ke3RoaXMuZGVtb0RvbWFpbnN9CiAgICAgICAgQGFkZC1kb21haW49JHsoKT0+Y29uc29sZS5sb2coIkFkZCBkb21haW4iKX0KICAgICAgICBAdmlldy1kb21haW49JHtnPT57dGhpcy5zZWxlY3RlZERvbWFpbj1nLmRldGFpbCx0aGlzLmN1cnJlbnRUYWI9ImRvbWFpbi1kZXRhaWwifX0KICAgICAgICBAcmVuZXctc3NsPSR7Zz0+Y29uc29sZS5sb2coIlJlbmV3IFNTTDoiLGcuZGV0YWlsKX0KICAgICAgICBAZGVsZXRlLWRvbWFpbj0ke2c9PmNvbnNvbGUubG9nKCJEZWxldGUgZG9tYWluOiIsZy5kZXRhaWwpfQogICAgICA+PC9zei1uZXR3b3JrLWRvbWFpbnMtdmlldz4KICAgIGB9cmVuZGVyRG9tYWluRGV0YWlsKCl7cmV0dXJuIHdgCiAgICAgIDxidXR0b24gY2xhc3M9ImJhY2stYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jdXJyZW50VGFiPSJkb21haW5zIn0+CiAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiLz4KICAgICAgICA8L3N2Zz4KICAgICAgICBCYWNrIHRvIERvbWFpbnMKICAgICAgPC9idXR0b24+CgogICAgICA8c3otZG9tYWluLWRldGFpbC12aWV3CiAgICAgICAgLmRvbWFpbj0ke3RoaXMuZGVtb0RvbWFpbkRldGFpbH0KICAgICAgICAuY2VydGlmaWNhdGU9JHt0aGlzLmRlbW9DZXJ0aWZpY2F0ZX0KICAgICAgICAuZG5zUmVjb3Jkcz0ke3RoaXMuZGVtb0RvbWFpbkRuc1JlY29yZHN9CiAgICAgICAgQHZlcmlmeS1kb21haW49JHsoKT0+Y29uc29sZS5sb2coIlZlcmlmeSBkb21haW4iKX0KICAgICAgICBAZGVsZXRlLWRvbWFpbj0keygpPT57Y29uc29sZS5sb2coIkRlbGV0ZSBkb21haW4iKSx0aGlzLmN1cnJlbnRUYWI9ImRvbWFpbnMifX0KICAgICAgICBAcmVuZXctY2VydGlmaWNhdGU9JHsoKT0+Y29uc29sZS5sb2coIlJlbmV3IGNlcnRpZmljYXRlIil9CiAgICAgICAgQGFkZC1kbnMtcmVjb3JkPSR7KCk9PmNvbnNvbGUubG9nKCJBZGQgRE5TIHJlY29yZCIpfQogICAgICAgIEBlZGl0LWRucy1yZWNvcmQ9JHtnPT5jb25zb2xlLmxvZygiRWRpdCBETlMgcmVjb3JkOiIsZy5kZXRhaWwpfQogICAgICAgIEBkZWxldGUtZG5zLXJlY29yZD0ke2c9PmNvbnNvbGUubG9nKCJEZWxldGUgRE5TIHJlY29yZDoiLGcuZGV0YWlsKX0KICAgICAgPjwvc3otZG9tYWluLWRldGFpbC12aWV3PgogICAgYH1zdGF0aWN7S0IocixhKX19O3JldHVybiBwPXJ9KSgpfSk7dmFyIFhhYSxZSGUsWnhhLEthYT1jKCgpPT57cGUoKTtUaSgpO1hhYT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sWUhlPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxaeGE9KCgpPT57bGV0IHQ9W2FlKCJzei1kZW1vLXZpZXctcmVnaXN0cmllcyIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdO3ZhciBoPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJTekRlbW9WaWV3UmVnaXN0cmllcyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCB1PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W1ooKV0sWGFhKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmPT4iY3VycmVudFRhYiJpbiBmLCJoYXMiKSxnZXQ6aShmPT5mLmN1cnJlbnRUYWIsImdldCIpLHNldDppKChmLHApPT57Zi5jdXJyZW50VGFiPXB9LCJzZXQiKX0sbWV0YWRhdGE6dX0sbyxsKSxYYWEobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6dX0sbnVsbCxhKSxoPXI9ZS52YWx1ZSx1JiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnV9KX1hcHB1aT1udWxsOyNlPVlIZSh0aGlzLG8sIm9uZWJveCIpO2dldCBjdXJyZW50VGFiKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGN1cnJlbnRUYWIodSl7dGhpcy4jZT11fWFzeW5jIG9uQWN0aXZhdGUodSl7dGhpcy5hcHB1aT11LmFwcHVpLHRoaXMuYXBwdWkuc2V0Q29udGVudFRhYnMoW3trZXk6IlJlZ2lzdHJ5IEFkdmVydGlzZW1lbnQiLGFjdGlvbjppKCgpPT57dGhpcy5jdXJyZW50VGFiPSJvbmVib3giLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9LHtrZXk6IkV4dGVybmFsIFJlZ2lzdHJpZXMiLGFjdGlvbjppKCgpPT57dGhpcy5jdXJyZW50VGFiPSJleHRlcm5hbCIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX1dKSx0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX11cGRhdGVTZWNvbmRhcnlNZW51KCl7dGhpcy5hcHB1aSYmKHRoaXMuY3VycmVudFRhYj09PSJvbmVib3giP3RoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiUmVnaXN0cnkgQWR2ZXJ0aXNlbWVudCIsZ3JvdXBzOlt7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiUHVzaCBJbWFnZSIsaWNvbk5hbWU6Imx1Y2lkZTpVcGxvYWQiLGFjdGlvbjppKCgpPT57Y29uc29sZS5sb2coIlB1c2ggaW1hZ2UiKX0sImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIix2YXJpYW50OiJkYW5nZXIiLGtleToiR2FyYmFnZSBDb2xsZWN0IixpY29uTmFtZToibHVjaWRlOlRyYXNoMiIsYWN0aW9uOmkoKCk9Pntjb25zb2xlLmxvZygiR0MiKX0sImFjdGlvbiIpfV19LHtuYW1lOiJTdGF0aXN0aWNzIixpdGVtczpbe3R5cGU6ImhlYWRlciIsbGFiZWw6IjQgSW1hZ2VzIn0se3R5cGU6ImhlYWRlciIsbGFiZWw6IjY0MCBNQiBUb3RhbCJ9XX1dfSk6dGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJFeHRlcm5hbCBSZWdpc3RyaWVzIixncm91cHM6W3tuYW1lOiJBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJBZGQgUmVnaXN0cnkiLGljb25OYW1lOiJsdWNpZGU6UGx1cyIsYWN0aW9uOmkoKCk9Pntjb25zb2xlLmxvZygiQWRkIHJlZ2lzdHJ5Iil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJUZXN0IEFsbCIsaWNvbk5hbWU6Imx1Y2lkZTpDaGVja0NpcmNsZSIsYWN0aW9uOmkoKCk9Pntjb25zb2xlLmxvZygiVGVzdCBhbGwiKX0sImFjdGlvbiIpfV19LHtuYW1lOiJDb25uZWN0ZWQiLGl0ZW1zOlt7a2V5OiJEb2NrZXIgSHViIixpY29uTmFtZToibHVjaWRlOkJveCIsYWN0aW9uOmkoKCk9Pntjb25zb2xlLmxvZygiRG9ja2VyIEh1YiIpfSwiYWN0aW9uIil9LHtrZXk6IkdIQ1IiLGljb25OYW1lOiJsdWNpZGU6R2l0aHViIixhY3Rpb246aSgoKT0+e2NvbnNvbGUubG9nKCJHSENSIil9LCJhY3Rpb24iKX1dfV19KSl9b25EZWFjdGl2YXRlKCl7fWRlbW9PbmVib3hJbWFnZXM9KFlIZSh0aGlzLGwpLFt7aWQ6IjEiLG5hbWU6ImFwaS1nYXRld2F5Iix0YWdzOlsibGF0ZXN0IiwidjIuMS4wIiwidjIuMC4wIl0sc2l6ZToiMjU2IE1CIix1cGRhdGVkOiIyMDI0LTAxLTIwIixwdWxsczoxNDJ9LHtpZDoiMiIsbmFtZToiZnJvbnRlbmQiLHRhZ3M6WyJsYXRlc3QiLCJ2MS41LjAiXSxzaXplOiIxMjggTUIiLHVwZGF0ZWQ6IjIwMjQtMDEtMTkiLHB1bGxzOjg5fSx7aWQ6IjMiLG5hbWU6Indvcmtlci1zZXJ2aWNlIix0YWdzOlsibGF0ZXN0Il0sc2l6ZToiNjQgTUIiLHVwZGF0ZWQ6IjIwMjQtMDEtMTgiLHB1bGxzOjU2fSx7aWQ6IjQiLG5hbWU6ImFkbWluLXBhbmVsIix0YWdzOlsibGF0ZXN0IiwidjMuMC4wIiwidjIuOS4wIl0sc2l6ZToiMTkyIE1CIix1cGRhdGVkOiIyMDI0LTAxLTE3IixwdWxsczozNH1dKTtkZW1vRXh0ZXJuYWxSZWdpc3RyaWVzPVt7aWQ6IjEiLG5hbWU6IkRvY2tlciBIdWIiLHVybDoiZG9ja2VyLmlvIixzdGF0dXM6ImNvbm5lY3RlZCIsaW1hZ2VzOjEyfSx7aWQ6IjIiLG5hbWU6IkdpdEh1YiBDb250YWluZXIgUmVnaXN0cnkiLHVybDoiZ2hjci5pbyIsc3RhdHVzOiJjb25uZWN0ZWQiLGltYWdlczo4fSx7aWQ6IjMiLG5hbWU6IkFXUyBFQ1IiLHVybDoiMTIzNDU2Nzg5LmRrci5lY3IudXMtZWFzdC0xLmFtYXpvbmF3cy5jb20iLHN0YXR1czoiZXJyb3IiLGltYWdlczowfV07c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5wYWdlLWhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLnBhZ2UtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luOiAwIDAgOHB4IDA7CiAgICAgIH0KCiAgICAgIC5wYWdlLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC50YWJzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7ZC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLnRhYiB7CiAgICAgICAgcGFkZGluZzogMTBweCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYjpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRhYi5hY3RpdmUgewogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50YWIuYWN0aXZlOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogLTFweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGhlaWdodDogMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxcHggMXB4IDAgMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgICR7dGhpcy5jdXJyZW50VGFiPT09Im9uZWJveCI/d2AKICAgICAgICA8c3otcmVnaXN0cnktYWR2ZXJ0aXNlbWVudAogICAgICAgICAgLmltYWdlcz0ke3RoaXMuZGVtb09uZWJveEltYWdlc30KICAgICAgICAgIC5zdGF0cz0ke3t0b3RhbEltYWdlczo0LHRvdGFsU2l6ZToiNjQwIE1CIix0b3RhbFB1bGxzOjMyMX19CiAgICAgICAgICBAdmlldy1pbWFnZT0ke3U9PmNvbnNvbGUubG9nKCJWaWV3IGltYWdlOiIsdS5kZXRhaWwpfQogICAgICAgICAgQGRlbGV0ZS1pbWFnZT0ke3U9PmNvbnNvbGUubG9nKCJEZWxldGUgaW1hZ2U6Iix1LmRldGFpbCl9CiAgICAgICAgICBAZGVsZXRlLXRhZz0ke3U9PmNvbnNvbGUubG9nKCJEZWxldGUgdGFnOiIsdS5kZXRhaWwpfQogICAgICAgID48L3N6LXJlZ2lzdHJ5LWFkdmVydGlzZW1lbnQ+CiAgICAgIGA6d2AKICAgICAgICA8c3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldwogICAgICAgICAgLnJlZ2lzdHJpZXM9JHt0aGlzLmRlbW9FeHRlcm5hbFJlZ2lzdHJpZXN9CiAgICAgICAgICBAYWRkLXJlZ2lzdHJ5PSR7KCk9PmNvbnNvbGUubG9nKCJBZGQgcmVnaXN0cnkiKX0KICAgICAgICAgIEBlZGl0LXJlZ2lzdHJ5PSR7dT0+Y29uc29sZS5sb2coIkVkaXQgcmVnaXN0cnk6Iix1LmRldGFpbCl9CiAgICAgICAgICBAZGVsZXRlLXJlZ2lzdHJ5PSR7dT0+Y29uc29sZS5sb2coIkRlbGV0ZSByZWdpc3RyeToiLHUuZGV0YWlsKX0KICAgICAgICAgIEB0ZXN0LWNvbm5lY3Rpb249JHt1PT5jb25zb2xlLmxvZygiVGVzdCBjb25uZWN0aW9uOiIsdS5kZXRhaWwpfQogICAgICAgID48L3N6LXJlZ2lzdHJ5LWV4dGVybmFsLXZpZXc+CiAgICAgIGB9CiAgICBgfXN0YXRpY3tZSGUocixhKX19O3JldHVybiBoPXJ9KSgpfSk7dmFyIFh4YSxLeGEsUXhhLFFhYT1jKCgpPT57cGUoKTtUaSgpO1h4YT1mdW5jdGlvbih0LGUsYSxyLHMsbil7ZnVuY3Rpb24gbyh5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fWkobywiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxoPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIix1PSFlJiZ0P3Iuc3RhdGljP3Q6dC5wcm90b3R5cGU6bnVsbCxmPWV8fCh1P09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodSxyLm5hbWUpOnt9KSxwLGc9ITEsdj1hLmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKGcpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7bi5wdXNoKG8oeXx8bnVsbCkpfTt2YXIgbT0oMCxhW3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OmYuZ2V0LHNldDpmLnNldH06ZltoXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYobT09PXZvaWQgMCljb250aW51ZTtpZihtPT09bnVsbHx8dHlwZW9mIG0hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyhwPW8obS5nZXQpKSYmKGYuZ2V0PXApLChwPW8obS5zZXQpKSYmKGYuc2V0PXApLChwPW8obS5pbml0KSkmJnMudW5zaGlmdChwKX1lbHNlKHA9byhtKSkmJihsPT09ImZpZWxkIj9zLnVuc2hpZnQocCk6ZltoXT1wKX11JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodSxyLm5hbWUsZiksZz0hMH0sS3hhPWZ1bmN0aW9uKHQsZSxhKXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLHM9MDtzPGUubGVuZ3RoO3MrKylhPXI/ZVtzXS5jYWxsKHQsYSk6ZVtzXS5jYWxsKHQpO3JldHVybiByP2E6dm9pZCAwfSxReGE9KCgpPT57bGV0IHQ9W2FlKCJzei1kZW1vLXZpZXctdG9rZW5zIildLGUsYT1bXSxyLHM9Y2U7dmFyIG49Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6RGVtb1ZpZXdUb2tlbnMiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtYeGEobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6b30sbnVsbCxhKSxuPXI9ZS52YWx1ZSxvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm99KX1hcHB1aT1udWxsO2FzeW5jIG9uQWN0aXZhdGUobyl7dGhpcy5hcHB1aT1vLmFwcHVpLHRoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiVG9rZW5zIixncm91cHM6W3tuYW1lOiJBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJDcmVhdGUgR2xvYmFsIFRva2VuIixpY29uTmFtZToibHVjaWRlOlBsdXMiLGFjdGlvbjppKCgpPT57Y29uc29sZS5sb2coIkNyZWF0ZSBnbG9iYWwgdG9rZW4iKX0sImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIixrZXk6IkNyZWF0ZSBDSSBUb2tlbiIsaWNvbk5hbWU6Imx1Y2lkZTpHaXRCcmFuY2giLGFjdGlvbjppKCgpPT57Y29uc29sZS5sb2coIkNyZWF0ZSBDSSB0b2tlbiIpfSwiYWN0aW9uIil9XX0se25hbWU6IlRva2VuIFR5cGVzIixpdGVtczpbe2tleToiR2xvYmFsIFRva2VucyIsaWNvbk5hbWU6Imx1Y2lkZTpLZXkiLGJhZGdlOiIzIixhY3Rpb246aSgoKT0+e2NvbnNvbGUubG9nKCJGaWx0ZXIgZ2xvYmFsIil9LCJhY3Rpb24iKX0se2tleToiQ0kgVG9rZW5zIixpY29uTmFtZToibHVjaWRlOkNwdSIsYmFkZ2U6IjMiLGFjdGlvbjppKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciBDSSIpfSwiYWN0aW9uIil9XX1dfSl9b25EZWFjdGl2YXRlKCl7fWRlbW9HbG9iYWxUb2tlbnM9W3tpZDoiMSIsbmFtZToiQ0kvQ0QgUGlwZWxpbmUiLHR5cGU6Imdsb2JhbCIsY3JlYXRlZEF0OiIyMDI0LTAxLTE1IixsYXN0VXNlZDoiMjAyNC0wMS0yMCJ9LHtpZDoiMiIsbmFtZToiRGV2ZWxvcG1lbnQiLHR5cGU6Imdsb2JhbCIsY3JlYXRlZEF0OiIyMDI0LTAxLTEwIn0se2lkOiIzIixuYW1lOiJQcm9kdWN0aW9uIERlcGxveSIsdHlwZToiZ2xvYmFsIixjcmVhdGVkQXQ6IjIwMjQtMDEtMDUiLGxhc3RVc2VkOiIyMDI0LTAxLTE5In1dO2RlbW9DaVRva2Vucz1be2lkOiI0IixuYW1lOiJhcGktZ2F0ZXdheS1jaSIsdHlwZToiY2kiLHNlcnZpY2U6ImFwaS1nYXRld2F5IixjcmVhdGVkQXQ6IjIwMjQtMDEtMTgiLGxhc3RVc2VkOiIyMDI0LTAxLTIwIn0se2lkOiI1IixuYW1lOiJmcm9udGVuZC1jaSIsdHlwZToiY2kiLHNlcnZpY2U6ImZyb250ZW5kIixjcmVhdGVkQXQ6IjIwMjQtMDEtMTIiLGxhc3RVc2VkOiIyMDI0LTAxLTE5In0se2lkOiI2IixuYW1lOiJ3b3JrZXItc2VydmljZS1jaSIsdHlwZToiY2kiLHNlcnZpY2U6Indvcmtlci1zZXJ2aWNlIixjcmVhdGVkQXQ6IjIwMjQtMDEtMDgifV07c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5wYWdlLWhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLnBhZ2UtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luOiAwIDAgOHB4IDA7CiAgICAgIH0KCiAgICAgIC5wYWdlLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJwYWdlLWhlYWRlciI+CiAgICAgICAgPGgxIGNsYXNzPSJwYWdlLXRpdGxlIj5Ub2tlbnM8L2gxPgogICAgICAgIDxwIGNsYXNzPSJwYWdlLXN1YnRpdGxlIj5NYW5hZ2UgcmVnaXN0cnkgYWNjZXNzIHRva2VucyBmb3IgQ0kvQ0QgcGlwZWxpbmVzPC9wPgogICAgICA8L2Rpdj4KCiAgICAgIDxzei10b2tlbnMtdmlldwogICAgICAgIC5nbG9iYWxUb2tlbnM9JHt0aGlzLmRlbW9HbG9iYWxUb2tlbnN9CiAgICAgICAgLmNpVG9rZW5zPSR7dGhpcy5kZW1vQ2lUb2tlbnN9CiAgICAgICAgQGNyZWF0ZT0ke289PmNvbnNvbGUubG9nKCJDcmVhdGUgdG9rZW46IixvLmRldGFpbCl9CiAgICAgICAgQGNvcHk9JHtvPT5jb25zb2xlLmxvZygiQ29weSB0b2tlbjoiLG8uZGV0YWlsKX0KICAgICAgICBAcmVnZW5lcmF0ZT0ke289PmNvbnNvbGUubG9nKCJSZWdlbmVyYXRlIHRva2VuOiIsby5kZXRhaWwpfQogICAgICAgIEBkZWxldGU9JHtvPT5jb25zb2xlLmxvZygiRGVsZXRlIHRva2VuOiIsby5kZXRhaWwpfQogICAgICA+PC9zei10b2tlbnMtdmlldz4KICAgIGB9c3RhdGlje0t4YShyLGEpfX07cmV0dXJuIG49cn0pKCl9KTt2YXIgSnhhLGV5YSx0eWEsSmFhPWMoKCk9PntwZSgpO1RpKCk7SnhhPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxleWE9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LHR5YT0oKCk9PntsZXQgdD1bYWUoInN6LWRlbW8tdmlldy1zZXR0aW5ncyIpXSxlLGE9W10scixzPWNlO3ZhciBuPWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJTekRlbW9WaWV3U2V0dGluZ3MiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShzW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtKeGEobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6b30sbnVsbCxhKSxuPXI9ZS52YWx1ZSxvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm99KX1hcHB1aT1udWxsO2FzeW5jIG9uQWN0aXZhdGUobyl7dGhpcy5hcHB1aT1vLmFwcHVpLHRoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiU2V0dGluZ3MiLGdyb3Vwczpbe25hbWU6IkNhdGVnb3JpZXMiLGl0ZW1zOlt7a2V5OiJHZW5lcmFsIixpY29uTmFtZToibHVjaWRlOlNldHRpbmdzIixhY3Rpb246aSgoKT0+e2NvbnNvbGUubG9nKCJHZW5lcmFsIHNldHRpbmdzIil9LCJhY3Rpb24iKX0se2tleToiTmV0d29yayIsaWNvbk5hbWU6Imx1Y2lkZTpOZXR3b3JrIixhY3Rpb246aSgoKT0+e2NvbnNvbGUubG9nKCJOZXR3b3JrIHNldHRpbmdzIil9LCJhY3Rpb24iKX0se2tleToiU2VjdXJpdHkiLGljb25OYW1lOiJsdWNpZGU6U2hpZWxkIixhY3Rpb246aSgoKT0+e2NvbnNvbGUubG9nKCJTZWN1cml0eSBzZXR0aW5ncyIpfSwiYWN0aW9uIil9LHtrZXk6IkNlcnRpZmljYXRlcyIsaWNvbk5hbWU6Imx1Y2lkZTpGaWxlQmFkZ2UiLGFjdGlvbjppKCgpPT57Y29uc29sZS5sb2coIkNlcnRpZmljYXRlIHNldHRpbmdzIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiRXhwb3J0IENvbmZpZyIsaWNvbk5hbWU6Imx1Y2lkZTpEb3dubG9hZCIsYWN0aW9uOmkoKCk9Pntjb25zb2xlLmxvZygiRXhwb3J0IGNvbmZpZyIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiSW1wb3J0IENvbmZpZyIsaWNvbk5hbWU6Imx1Y2lkZTpVcGxvYWQiLGFjdGlvbjppKCgpPT57Y29uc29sZS5sb2coIkltcG9ydCBjb25maWciKX0sImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIix2YXJpYW50OiJkYW5nZXIiLGtleToiUmVzZXQgdG8gRGVmYXVsdCIsaWNvbk5hbWU6Imx1Y2lkZTpSb3RhdGVDY3ciLGNvbmZpcm1NZXNzYWdlOiJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVzZXQgYWxsIHNldHRpbmdzIHRvIGRlZmF1bHQ/IixhY3Rpb246aSgoKT0+e2NvbnNvbGUubG9nKCJSZXNldCBzZXR0aW5ncyIpfSwiYWN0aW9uIil9XX1dfSl9b25EZWFjdGl2YXRlKCl7fWRlbW9TZXR0aW5ncz17ZGFya01vZGU6ITAsY2xvdWRmbGFyZVRva2VuOiIiLGNsb3VkZmxhcmVab25lSWQ6IiIsYXV0b1JlbmV3Q2VydHM6ITAscmVuZXdhbFRocmVzaG9sZDozMCxhY21lRW1haWw6ImFkbWluQHNlcnZlLnpvbmUiLGh0dHBQb3J0OjgwLGh0dHBzUG9ydDo0NDMsZm9yY2VIdHRwczohMH07c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5wYWdlLWhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLnBhZ2UtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2QuYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luOiAwIDAgOHB4IDA7CiAgICAgIH0KCiAgICAgIC5wYWdlLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7ZC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC5zZXR0aW5ncy1jb250YWluZXIgewogICAgICAgIG1heC13aWR0aDogODAwcHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJwYWdlLWhlYWRlciI+CiAgICAgICAgPGgxIGNsYXNzPSJwYWdlLXRpdGxlIj5TZXR0aW5nczwvaDE+CiAgICAgICAgPHAgY2xhc3M9InBhZ2Utc3VidGl0bGUiPkNvbmZpZ3VyZSB5b3VyIG9uZWJveCBpbnN0YW5jZTwvcD4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1jb250YWluZXIiPgogICAgICAgIDxzei1zZXR0aW5ncy12aWV3CiAgICAgICAgICAuc2V0dGluZ3M9JHt0aGlzLmRlbW9TZXR0aW5nc30KICAgICAgICAgIGN1cnJlbnRVc2VyPSJhZG1pbiIKICAgICAgICAgIEBzZXR0aW5nLWNoYW5nZT0ke289PmNvbnNvbGUubG9nKCJTZXR0aW5nIGNoYW5nZToiLG8uZGV0YWlsKX0KICAgICAgICAgIEBjaGFuZ2UtcGFzc3dvcmQ9JHtvPT5jb25zb2xlLmxvZygiQ2hhbmdlIHBhc3N3b3JkOiIsby5kZXRhaWwpfQogICAgICAgICAgQHJlc2V0PSR7KCk9PmNvbnNvbGUubG9nKCJSZXNldCBzZXR0aW5ncyIpfQogICAgICAgICAgQHNhdmU9JHtvPT5jb25zb2xlLmxvZygiU2F2ZSBzZXR0aW5nczoiLG8uZGV0YWlsKX0KICAgICAgICA+PC9zei1zZXR0aW5ncy12aWV3PgogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje2V5YShyLGEpfX07cmV0dXJuIG49cn0pKCl9KTt2YXIgTVgsTjYsYXlhLGUxYT1jKCgpPT57cGUoKTtUaSgpO01YPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxONj1mdW5jdGlvbih0LGUsYSl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixzPTA7czxlLmxlbmd0aDtzKyspYT1yP2Vbc10uY2FsbCh0LGEpOmVbc10uY2FsbCh0KTtyZXR1cm4gcj9hOnZvaWQgMH0sYXlhPSgoKT0+e2xldCB0PVthZSgic3otZGVtby12aWV3LW10YSIpXSxlLGE9W10scixzPWNlLG4sbz1bXSxsPVtdLGgsdT1bXSxmPVtdLHAsZz1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgc3tzdGF0aWN7aSh0aGlzLCJTekRlbW9WaWV3TXRhIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bj1bWigpXSxoPVtaKCldLHA9W1ooKV0sTVgodGhpcyxudWxsLG4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VmlldyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShtPT4iY3VycmVudFZpZXciaW4gbSwiaGFzIiksZ2V0OmkobT0+bS5jdXJyZW50VmlldywiZ2V0Iiksc2V0OmkoKG0seSk9PnttLmN1cnJlbnRWaWV3PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbyxsKSxNWCh0aGlzLG51bGwsaCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkRW1haWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOmkobT0+InNlbGVjdGVkRW1haWwiaW4gbSwiaGFzIiksZ2V0OmkobT0+bS5zZWxlY3RlZEVtYWlsLCJnZXQiKSxzZXQ6aSgobSx5KT0+e20uc2VsZWN0ZWRFbWFpbD15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LHUsZiksTVgodGhpcyxudWxsLHAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50RGlyZWN0aW9uRmlsdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczppKG09PiJjdXJyZW50RGlyZWN0aW9uRmlsdGVyImluIG0sImhhcyIpLGdldDppKG09Pm0uY3VycmVudERpcmVjdGlvbkZpbHRlciwiZ2V0Iiksc2V0OmkoKG0seSk9PnttLmN1cnJlbnREaXJlY3Rpb25GaWx0ZXI9eX0sInNldCIpfSxtZXRhZGF0YTpifSxnLHYpLE1YKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsYSkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9YXBwdWk9bnVsbDsjZT1ONih0aGlzLG8sImxpc3QiKTtnZXQgY3VycmVudFZpZXcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY3VycmVudFZpZXcoYil7dGhpcy4jZT1ifSN0PShONih0aGlzLGwpLE42KHRoaXMsdSxudWxsKSk7Z2V0IHNlbGVjdGVkRW1haWwoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VsZWN0ZWRFbWFpbChiKXt0aGlzLiN0PWJ9I2E9KE42KHRoaXMsZiksTjYodGhpcyxnLCJhbGwiKSk7Z2V0IGN1cnJlbnREaXJlY3Rpb25GaWx0ZXIoKXtyZXR1cm4gdGhpcy4jYX1zZXQgY3VycmVudERpcmVjdGlvbkZpbHRlcihiKXt0aGlzLiNhPWJ9ZGVtb0VtYWlscz0oTjYodGhpcyx2KSxbe2lkOiIxIixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToibm9yZXBseUBzZXJ2ZS56b25lIix0bzoidXNlckBleGFtcGxlLmNvbSIsc3ViamVjdDoiV2VsY29tZSB0byBzZXJ2ZS56b25lIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MzA6MjIiLG1lc3NhZ2VJZDoiPGFiYzEyM0BzZXJ2ZS56b25lPiIsc2l6ZToiMTIuNCBLQiJ9LHtpZDoiMiIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJib3VuY2VkIixmcm9tOiJhbGVydHNAc2VydmUuem9uZSIsdG86ImludmFsaWRAbm93aGVyZS50ZXN0IixzdWJqZWN0OiJTZXJ2aWNlIEFsZXJ0OiBDUFUgVXNhZ2UgSGlnaCIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjI4OjEwIixtZXNzYWdlSWQ6IjxkZWY0NTZAc2VydmUuem9uZT4iLHNpemU6IjguMiBLQiJ9LHtpZDoiMyIsZGlyZWN0aW9uOiJpbmJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToic3VwcG9ydEBjdXN0b21lci5jb20iLHRvOiJhZG1pbkBzZXJ2ZS56b25lIixzdWJqZWN0OiJSZTogSW5mcmFzdHJ1Y3R1cmUgUmV2aWV3Iix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MjU6MDAiLG1lc3NhZ2VJZDoiPGdoaTc4OUBjdXN0b21lci5jb20+IixzaXplOiIyNC4xIEtCIn0se2lkOiI0IixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6InJlamVjdGVkIixmcm9tOiJiaWxsaW5nQHNlcnZlLnpvbmUiLHRvOiJibG9ja2VkQHNwYW0tZG9tYWluLnRlc3QiLHN1YmplY3Q6Ikludm9pY2UgIzIwMjQtMDAxIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MjA6NDUiLG1lc3NhZ2VJZDoiPGprbDAxMkBzZXJ2ZS56b25lPiIsc2l6ZToiNDUuNiBLQiJ9LHtpZDoiNSIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJkZWZlcnJlZCIsZnJvbToibm9yZXBseUBzZXJ2ZS56b25lIix0bzoic2xvd0ByZW1vdGUtc2VydmVyLnRlc3QiLHN1YmplY3Q6IlBhc3N3b3JkIFJlc2V0IFJlcXVlc3QiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoxNTozMCIsbWVzc2FnZUlkOiI8bW5vMzQ1QHNlcnZlLnpvbmU+IixzaXplOiI2LjggS0IifSx7aWQ6IjYiLGRpcmVjdGlvbjoiaW5ib3VuZCIsc3RhdHVzOiJkZWxpdmVyZWQiLGZyb206ImNpQGdpdGh1Yi5jb20iLHRvOiJkZXZvcHNAc2VydmUuem9uZSIsc3ViamVjdDoiQnVpbGQgIzQ1MjEgcGFzc2VkIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MTA6MDAiLG1lc3NhZ2VJZDoiPHBxcjY3OEBnaXRodWIuY29tPiIsc2l6ZToiMTUuMyBLQiJ9LHtpZDoiNyIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJwZW5kaW5nIixmcm9tOiJyZXBvcnRzQHNlcnZlLnpvbmUiLHRvOiJ0ZWFtQHNlcnZlLnpvbmUiLHN1YmplY3Q6IldlZWtseSBJbmZyYXN0cnVjdHVyZSBSZXBvcnQiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDowNTowMCIsbWVzc2FnZUlkOiI8c3R1OTAxQHNlcnZlLnpvbmU+IixzaXplOiIxMDIuNyBLQiJ9LHtpZDoiOCIsZGlyZWN0aW9uOiJpbmJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToibW9uaXRvcmluZ0B1cHRpbWUuaW8iLHRvOiJvcHNAc2VydmUuem9uZSIsc3ViamVjdDoiVXB0aW1lIFJlcG9ydDogOTkuOTglIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTM6NTU6MDAiLG1lc3NhZ2VJZDoiPHZ3eDIzNEB1cHRpbWUuaW8+IixzaXplOiI5LjEgS0IifV0pO2RlbW9FbWFpbERldGFpbHM9ezE6e2lkOiIxIixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToibm9yZXBseUBzZXJ2ZS56b25lIix0bzoidXNlckBleGFtcGxlLmNvbSIsdG9MaXN0OlsidXNlckBleGFtcGxlLmNvbSJdLHN1YmplY3Q6IldlbGNvbWUgdG8gc2VydmUuem9uZSIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjMwOjIyIixtZXNzYWdlSWQ6IjxhYmMxMjNAc2VydmUuem9uZT4iLHNpemU6IjEyLjQgS0IiLHNtdHBMb2c6W3t0aW1lc3RhbXA6IjE0OjMwOjIwIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiRUhMTyBtYWlsLnNlcnZlLnpvbmUifSx7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1tYWlsLmV4YW1wbGUuY29tIEhlbGxvIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1TVEFSVFRMUyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgU0laRSA1MjQyODgwMCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJTVEFSVFRMUyJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjIwIFJlYWR5IHRvIHN0YXJ0IFRMUyIscmVzcG9uc2VDb2RlOjIyMH0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJFSExPIG1haWwuc2VydmUuem9uZSJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwLW1haWwuZXhhbXBsZS5jb20gSGVsbG8iLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwLUFVVEggUExBSU4gTE9HSU4iLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIFNJWkUgNTI0Mjg4MDAiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiQVVUSCBQTEFJTiBBSFZ6WlhJQWNHRnpjM2R2Y21RPSJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjM1IDIuNy4wIEF1dGhlbnRpY2F0aW9uIHN1Y2Nlc3NmdWwiLHJlc3BvbnNlQ29kZToyMzV9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiTUFJTCBGUk9NOjxub3JlcGx5QHNlcnZlLnpvbmU+In0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgT0siLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiUkNQVCBUTzo8dXNlckBleGFtcGxlLmNvbT4ifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBBY2NlcHRlZCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJEQVRBIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiczNTQgRW50ZXIgbWVzc2FnZSwgZW5kaW5nIHdpdGggIi4iIG9uIGEgbGluZSBieSBpdHNlbGYnLHJlc3BvbnNlQ29kZTozNTR9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiLiJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIE9LIGlkPTFwUTJyUy0wMDAzQWItQzQiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiUVVJVCJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjIxIG1haWwuZXhhbXBsZS5jb20gY2xvc2luZyBjb25uZWN0aW9uIixyZXNwb25zZUNvZGU6MjIxfV0sY29ubmVjdGlvbkluZm86e3NvdXJjZUlwOiIxMC4wLjEuNTAiLHNvdXJjZUhvc3RuYW1lOiJtYWlsLnNlcnZlLnpvbmUiLGRlc3RpbmF0aW9uSXA6IjkzLjE4NC4yMTYuMzQiLGRlc3RpbmF0aW9uUG9ydDoyNSx0bHNWZXJzaW9uOiJUTFN2MS4zIix0bHNDaXBoZXI6IlRMU19BRVNfMjU2X0dDTV9TSEEzODQiLGF1dGhlbnRpY2F0ZWQ6ITAsYXV0aE1ldGhvZDoiUExBSU4iLGF1dGhVc2VyOiJub3JlcGx5QHNlcnZlLnpvbmUifSxhdXRoZW50aWNhdGlvblJlc3VsdHM6e3NwZjoicGFzcyIsc3BmRG9tYWluOiJzZXJ2ZS56b25lIixka2ltOiJwYXNzIixka2ltRG9tYWluOiJzZXJ2ZS56b25lIixkbWFyYzoicGFzcyIsZG1hcmNQb2xpY3k6InJlamVjdCJ9LGhlYWRlcnM6e0Zyb206Im5vcmVwbHlAc2VydmUuem9uZSIsVG86InVzZXJAZXhhbXBsZS5jb20iLFN1YmplY3Q6IldlbGNvbWUgdG8gc2VydmUuem9uZSIsRGF0ZToiTW9uLCAxNSBKYW4gMjAyNCAxNDozMDoyMiArMDAwMCIsIk1JTUUtVmVyc2lvbiI6IjEuMCIsIkNvbnRlbnQtVHlwZSI6InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCJ9LGJvZHk6YDxodG1sPgo8aGVhZD48dGl0bGU+V2VsY29tZTwvdGl0bGU+PC9oZWFkPgo8Ym9keT4KICA8aDE+V2VsY29tZSB0byBzZXJ2ZS56b25lITwvaDE+CiAgPHA+WW91ciBhY2NvdW50IGhhcyBiZWVuIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LjwvcD4KICA8cD5HZXQgc3RhcnRlZCBieSB2aXNpdGluZyB5b3VyIDxhIGhyZWY9Imh0dHBzOi8vc2VydmUuem9uZS9kYXNoYm9hcmQiPmRhc2hib2FyZDwvYT4uPC9wPgo8L2JvZHk+CjwvaHRtbD5gfSwyOntpZDoiMiIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJib3VuY2VkIixmcm9tOiJhbGVydHNAc2VydmUuem9uZSIsdG86ImludmFsaWRAbm93aGVyZS50ZXN0Iix0b0xpc3Q6WyJpbnZhbGlkQG5vd2hlcmUudGVzdCJdLHN1YmplY3Q6IlNlcnZpY2UgQWxlcnQ6IENQVSBVc2FnZSBIaWdoIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6Mjg6MTAiLG1lc3NhZ2VJZDoiPGRlZjQ1NkBzZXJ2ZS56b25lPiIsc2l6ZToiOC4yIEtCIixyZWplY3Rpb25SZWFzb246IjU1MCA1LjEuMSBUaGUgZW1haWwgYWNjb3VudCB0aGF0IHlvdSB0cmllZCB0byByZWFjaCBkb2VzIG5vdCBleGlzdC4iLGJvdW5jZU1lc3NhZ2U6YERlbGl2ZXJ5IHRvIHRoZSBmb2xsb3dpbmcgcmVjaXBpZW50IGZhaWxlZCBwZXJtYW5lbnRseToKCiAgICBpbnZhbGlkQG5vd2hlcmUudGVzdAoKVGVjaG5pY2FsIGRldGFpbHMgb2YgcGVybWFuZW50IGZhaWx1cmU6Ckdvb2dsZSB0cmllZCB0byBkZWxpdmVyIHlvdXIgbWVzc2FnZSwgYnV0IGl0IHdhcyByZWplY3RlZCBieSB0aGUgc2VydmVyIGZvciB0aGUgcmVjaXBpZW50IGRvbWFpbiBub3doZXJlLnRlc3QuYCxzbXRwTG9nOlt7dGltZXN0YW1wOiIxNDoyODowOCIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkVITE8gbWFpbC5zZXJ2ZS56b25lIn0se3RpbWVzdGFtcDoiMTQ6Mjg6MDgiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtbWFpbC5ub3doZXJlLnRlc3QgSGVsbG8iLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjI4OjA4IixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiTUFJTCBGUk9NOjxhbGVydHNAc2VydmUuem9uZT4ifSx7dGltZXN0YW1wOiIxNDoyODowOSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBPSyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6Mjg6MDkiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJSQ1BUIFRPOjxpbnZhbGlkQG5vd2hlcmUudGVzdD4ifSx7dGltZXN0YW1wOiIxNDoyODoxMCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjU1MCA1LjEuMSBUaGUgZW1haWwgYWNjb3VudCB0aGF0IHlvdSB0cmllZCB0byByZWFjaCBkb2VzIG5vdCBleGlzdC4iLHJlc3BvbnNlQ29kZTo1NTB9LHt0aW1lc3RhbXA6IjE0OjI4OjEwIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiUVVJVCJ9LHt0aW1lc3RhbXA6IjE0OjI4OjEwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjIxIEJ5ZSIscmVzcG9uc2VDb2RlOjIyMX1dLGNvbm5lY3Rpb25JbmZvOntzb3VyY2VJcDoiMTAuMC4xLjUwIixzb3VyY2VIb3N0bmFtZToibWFpbC5zZXJ2ZS56b25lIixkZXN0aW5hdGlvbklwOiIxOTguNTEuMTAwLjI1IixkZXN0aW5hdGlvblBvcnQ6MjUsdGxzVmVyc2lvbjoiVExTdjEuMiIsdGxzQ2lwaGVyOiJFQ0RIRS1SU0EtQUVTMTI4LUdDTS1TSEEyNTYiLGF1dGhlbnRpY2F0ZWQ6ITAsYXV0aE1ldGhvZDoiUExBSU4iLGF1dGhVc2VyOiJhbGVydHNAc2VydmUuem9uZSJ9LGF1dGhlbnRpY2F0aW9uUmVzdWx0czp7c3BmOiJwYXNzIixzcGZEb21haW46InNlcnZlLnpvbmUiLGRraW06InBhc3MiLGRraW1Eb21haW46InNlcnZlLnpvbmUiLGRtYXJjOiJwYXNzIixkbWFyY1BvbGljeToicXVhcmFudGluZSJ9LGhlYWRlcnM6e0Zyb206ImFsZXJ0c0BzZXJ2ZS56b25lIixUbzoiaW52YWxpZEBub3doZXJlLnRlc3QiLFN1YmplY3Q6IlNlcnZpY2UgQWxlcnQ6IENQVSBVc2FnZSBIaWdoIixEYXRlOiJNb24sIDE1IEphbiAyMDI0IDE0OjI4OjEwICswMDAwIiwiTUlNRS1WZXJzaW9uIjoiMS4wIiwiQ29udGVudC1UeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOCJ9LGJvZHk6YEFMRVJUOiBDUFUgVXNhZ2UgSGlnaAoKU2VydmljZTogYXBpLWdhdGV3YXkKQ3VycmVudCBVc2FnZTogOTQuMiUKVGhyZXNob2xkOiA5MCUKVGltZXN0YW1wOiAyMDI0LTAxLTE1IDE0OjI4OjAwIFVUQwoKUGxlYXNlIGludmVzdGlnYXRlIGltbWVkaWF0ZWx5LmB9LDM6e2lkOiIzIixkaXJlY3Rpb246ImluYm91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJzdXBwb3J0QGN1c3RvbWVyLmNvbSIsdG86ImFkbWluQHNlcnZlLnpvbmUiLHRvTGlzdDpbImFkbWluQHNlcnZlLnpvbmUiXSxjYzpbIm9wc0BzZXJ2ZS56b25lIl0sc3ViamVjdDoiUmU6IEluZnJhc3RydWN0dXJlIFJldmlldyIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjI1OjAwIixtZXNzYWdlSWQ6IjxnaGk3ODlAY3VzdG9tZXIuY29tPiIsc2l6ZToiMjQuMSBLQiIsc210cExvZzpbe3RpbWVzdGFtcDoiMTQ6MjQ6NTgiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJFSExPIG1haWwuY3VzdG9tZXIuY29tIn0se3RpbWVzdGFtcDoiMTQ6MjQ6NTgiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtbWFpbC5zZXJ2ZS56b25lIEhlbGxvIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDoyNDo1OCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1TVEFSVFRMUyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MjQ6NTgiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgU0laRSA1MjQyODgwMCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MjQ6NTkiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJTVEFSVFRMUyJ9LHt0aW1lc3RhbXA6IjE0OjI0OjU5IixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjIwIFJlYWR5IHRvIHN0YXJ0IFRMUyIscmVzcG9uc2VDb2RlOjIyMH0se3RpbWVzdGFtcDoiMTQ6MjQ6NTkiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJNQUlMIEZST006PHN1cHBvcnRAY3VzdG9tZXIuY29tPiJ9LHt0aW1lc3RhbXA6IjE0OjI0OjU5IixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIE9LIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDoyNDo1OSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IlJDUFQgVE86PGFkbWluQHNlcnZlLnpvbmU+In0se3RpbWVzdGFtcDoiMTQ6MjU6MDAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgQWNjZXB0ZWQiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjI1OjAwIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiREFUQSJ9LHt0aW1lc3RhbXA6IjE0OjI1OjAwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMzU0IEVudGVyIG1lc3NhZ2UiLHJlc3BvbnNlQ29kZTozNTR9LHt0aW1lc3RhbXA6IjE0OjI1OjAwIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiLiJ9LHt0aW1lc3RhbXA6IjE0OjI1OjAwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIE9LIGlkPTJiUjNzVC0wMDA0Q2QtRTUiLHJlc3BvbnNlQ29kZToyNTB9XSxjb25uZWN0aW9uSW5mbzp7c291cmNlSXA6IjIwMy4wLjExMy40NSIsc291cmNlSG9zdG5hbWU6Im1haWwuY3VzdG9tZXIuY29tIixkZXN0aW5hdGlvbklwOiIxMC4wLjEuNTAiLGRlc3RpbmF0aW9uUG9ydDoyNSx0bHNWZXJzaW9uOiJUTFN2MS4zIix0bHNDaXBoZXI6IlRMU19BRVNfMTI4X0dDTV9TSEEyNTYiLGF1dGhlbnRpY2F0ZWQ6ITEsYXV0aE1ldGhvZDoiIixhdXRoVXNlcjoiIn0sYXV0aGVudGljYXRpb25SZXN1bHRzOntzcGY6InBhc3MiLHNwZkRvbWFpbjoiY3VzdG9tZXIuY29tIixka2ltOiJwYXNzIixka2ltRG9tYWluOiJjdXN0b21lci5jb20iLGRtYXJjOiJwYXNzIixkbWFyY1BvbGljeToibm9uZSJ9LGhlYWRlcnM6e0Zyb206InN1cHBvcnRAY3VzdG9tZXIuY29tIixUbzoiYWRtaW5Ac2VydmUuem9uZSIsQ0M6Im9wc0BzZXJ2ZS56b25lIixTdWJqZWN0OiJSZTogSW5mcmFzdHJ1Y3R1cmUgUmV2aWV3IixEYXRlOiJNb24sIDE1IEphbiAyMDI0IDE0OjI1OjAwICswMDAwIiwiTUlNRS1WZXJzaW9uIjoiMS4wIiwiQ29udGVudC1UeXBlIjoidGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOCIsIkluLVJlcGx5LVRvIjoiPHByZXYxMjNAc2VydmUuem9uZT4ifSxib2R5OmBIaSBBZG1pbiwKClRoYW5rIHlvdSBmb3IgdGhlIGRldGFpbGVkIGluZnJhc3RydWN0dXJlIHJldmlldyByZXBvcnQuCgpXZSBoYXZlIHJldmlld2VkIHRoZSByZWNvbW1lbmRhdGlvbnMgYW5kIHdvdWxkIGxpa2UgdG8KcHJvY2VlZCB3aXRoIHRoZSBmb2xsb3dpbmc6CgoxLiBVcGdyYWRlIHRvIHRoZSBQcm8gdGllcgoyLiBFbmFibGUgYXV0b21hdGljIGJhY2t1cHMKMy4gU2V0IHVwIG1vbml0b3JpbmcgYWxlcnRzCgpQbGVhc2UgbGV0IHVzIGtub3cgdGhlIHRpbWVsaW5lIGZvciB0aGVzZSBjaGFuZ2VzLgoKQmVzdCByZWdhcmRzLApDdXN0b21lciBTdXBwb3J0IFRlYW1gfX07YXN5bmMgb25BY3RpdmF0ZShiKXt0aGlzLmFwcHVpPWIuYXBwdWksdGhpcy5hcHB1aS5zZXRDb250ZW50VGFicyhbe2tleToiQWxsIEVtYWlscyIsYWN0aW9uOmkoKCk9Pnt0aGlzLmN1cnJlbnREaXJlY3Rpb25GaWx0ZXI9ImFsbCIsdGhpcy5jdXJyZW50Vmlldz0ibGlzdCIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX0se2tleToiSW5ib3VuZCIsYWN0aW9uOmkoKCk9Pnt0aGlzLmN1cnJlbnREaXJlY3Rpb25GaWx0ZXI9ImluYm91bmQiLHRoaXMuY3VycmVudFZpZXc9Imxpc3QiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9LHtrZXk6Ik91dGJvdW5kIixhY3Rpb246aSgoKT0+e3RoaXMuY3VycmVudERpcmVjdGlvbkZpbHRlcj0ib3V0Ym91bmQiLHRoaXMuY3VycmVudFZpZXc9Imxpc3QiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9XSksdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9dXBkYXRlU2Vjb25kYXJ5TWVudSgpe3RoaXMuYXBwdWkmJnRoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiRW1haWwgLyBNVEEiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IlJlZnJlc2giLGljb25OYW1lOiJsdWNpZGU6UmVmcmVzaEN3IixhY3Rpb246aSgoKT0+e2NvbnNvbGUubG9nKCJSZWZyZXNoIGVtYWlscyIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiRXhwb3J0IExvZ3MiLGljb25OYW1lOiJsdWNpZGU6RG93bmxvYWQiLGFjdGlvbjppKCgpPT57Y29uc29sZS5sb2coIkV4cG9ydCBsb2dzIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiU3RhdHVzIEZpbHRlcnMiLGl0ZW1zOlt7a2V5OiJEZWxpdmVyZWQiLGljb25OYW1lOiJsdWNpZGU6Q2hlY2tDaXJjbGUiLGJhZGdlOiI1IixiYWRnZVZhcmlhbnQ6InN1Y2Nlc3MiLGFjdGlvbjppKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciBkZWxpdmVyZWQiKX0sImFjdGlvbiIpfSx7a2V5OiJCb3VuY2VkIixpY29uTmFtZToibHVjaWRlOlhDaXJjbGUiLGJhZGdlOiIxIixiYWRnZVZhcmlhbnQ6ImVycm9yIixhY3Rpb246aSgoKT0+e2NvbnNvbGUubG9nKCJGaWx0ZXIgYm91bmNlZCIpfSwiYWN0aW9uIil9LHtrZXk6IkRlZmVycmVkIixpY29uTmFtZToibHVjaWRlOkNsb2NrIixiYWRnZToiMSIsYmFkZ2VWYXJpYW50OiJ3YXJuaW5nIixhY3Rpb246aSgoKT0+e2NvbnNvbGUubG9nKCJGaWx0ZXIgZGVmZXJyZWQiKX0sImFjdGlvbiIpfSx7a2V5OiJQZW5kaW5nIixpY29uTmFtZToibHVjaWRlOkxvYWRlciIsYmFkZ2U6IjEiLGFjdGlvbjppKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciBwZW5kaW5nIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiU3RhdGlzdGljcyIsaXRlbXM6W3t0eXBlOiJoZWFkZXIiLGxhYmVsOiI4IFRvdGFsIEVtYWlscyJ9LHt0eXBlOiJoZWFkZXIiLGxhYmVsOiI2Mi41JSBEZWxpdmVyeSBSYXRlIn1dfV19KX1vbkRlYWN0aXZhdGUoKXt9c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLmN1cnJlbnRWaWV3PT09ImRldGFpbCImJnRoaXMuc2VsZWN0ZWRFbWFpbD93YAogICAgICAgIDxzei1tdGEtZGV0YWlsLXZpZXcKICAgICAgICAgIC5lbWFpbD0ke3RoaXMuc2VsZWN0ZWRFbWFpbH0KICAgICAgICAgIEBiYWNrPSR7KCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJsaXN0Iix0aGlzLnNlbGVjdGVkRW1haWw9bnVsbH19CiAgICAgICAgPjwvc3otbXRhLWRldGFpbC12aWV3PgogICAgICBgOndgCiAgICAgIDxzei1tdGEtbGlzdC12aWV3CiAgICAgICAgLmVtYWlscz0ke3RoaXMuY3VycmVudERpcmVjdGlvbkZpbHRlcj09PSJhbGwiP3RoaXMuZGVtb0VtYWlsczp0aGlzLmRlbW9FbWFpbHMuZmlsdGVyKGI9PmIuZGlyZWN0aW9uPT09dGhpcy5jdXJyZW50RGlyZWN0aW9uRmlsdGVyKX0KICAgICAgICBAZW1haWwtY2xpY2s9JHtiPT50aGlzLmhhbmRsZUVtYWlsQ2xpY2soYi5kZXRhaWwpfQogICAgICA+PC9zei1tdGEtbGlzdC12aWV3PgogICAgYH1oYW5kbGVFbWFpbENsaWNrKGIpe2xldCBtPXRoaXMuZGVtb0VtYWlsRGV0YWlsc1tiLmlkXTttPyh0aGlzLnNlbGVjdGVkRW1haWw9bSx0aGlzLmN1cnJlbnRWaWV3PSJkZXRhaWwiKTpjb25zb2xlLmxvZygiTm8gZGV0YWlsIGRhdGEgYXZhaWxhYmxlIGZvciBlbWFpbDoiLGIuaWQpfXN0YXRpY3tONihyLGEpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgdDFhLFpIZSxyeWEsYTFhPWMoKCk9PntwZSgpO1RpKCk7dDFhPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxaSGU9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LHJ5YT0oKCk9PntsZXQgdD1bYWUoInN6LWRlbW8tdmlldy1yb3V0ZXMiKV0sZSxhPVtdLHIscz1jZSxuLG89W10sbD1bXTt2YXIgaD1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiU3pEZW1vVmlld1JvdXRlcyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCB1PXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO249W1ooKV0sdDFhKHRoaXMsbnVsbCxuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6aShmPT4iY3VycmVudFRhYiJpbiBmLCJoYXMiKSxnZXQ6aShmPT5mLmN1cnJlbnRUYWIsImdldCIpLHNldDppKChmLHApPT57Zi5jdXJyZW50VGFiPXB9LCJzZXQiKX0sbWV0YWRhdGE6dX0sbyxsKSx0MWEobnVsbCxlPXt2YWx1ZTpyfSx0LHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6dX0sbnVsbCxhKSxoPXI9ZS52YWx1ZSx1JiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnV9KX1hcHB1aT1udWxsOyNlPVpIZSh0aGlzLG8sImFsbCIpO2dldCBjdXJyZW50VGFiKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGN1cnJlbnRUYWIodSl7dGhpcy4jZT11fWRlbW9Sb3V0ZXM9KFpIZSh0aGlzLGwpLFt7aWQ6InJvdXRlLTEiLG5hbWU6IldlYiBGcm9udGVuZCIsZGVzY3JpcHRpb246Ik1haW4gd2Vic2l0ZSB3aXRoIFRMUyB0ZXJtaW5hdGlvbiBhbmQgYXV0b21hdGljIGNlcnRpZmljYXRlcyIsZW5hYmxlZDohMCxwcmlvcml0eToxMCx0YWdzOlsid2ViIiwiaHR0cHMiLCJwcm9kdWN0aW9uIl0sbWF0Y2g6e3BvcnRzOjQ0Myxkb21haW5zOlsic2VydmUuem9uZSIsInd3dy5zZXJ2ZS56b25lIl0scHJvdG9jb2w6Imh0dHAifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OiIxMC4wLjAuMTAiLHBvcnQ6M2UzfV0sdGxzOnttb2RlOiJ0ZXJtaW5hdGUiLGNlcnRpZmljYXRlOiJhdXRvIn19fSx7aWQ6InJvdXRlLTIiLG5hbWU6IkhUVFAgUmVkaXJlY3QiLGRlc2NyaXB0aW9uOiJSZWRpcmVjdHMgYWxsIEhUVFAgdHJhZmZpYyB0byBIVFRQUyIsZW5hYmxlZDohMCxwcmlvcml0eToxMDAsdGFnczpbIndlYiIsImh0dHAiLCJyZWRpcmVjdCJdLG1hdGNoOntwb3J0czo4MCxkb21haW5zOlsic2VydmUuem9uZSIsInd3dy5zZXJ2ZS56b25lIl0scHJvdG9jb2w6Imh0dHAifSxhY3Rpb246e3R5cGU6InNvY2tldC1oYW5kbGVyIn19LHtpZDoicm91dGUtMyIsbmFtZToiU01UUCBJbmJvdW5kIixkZXNjcmlwdGlvbjoiSW5ib3VuZCBlbWFpbCByZWxheSBmb3Igc2VydmUuem9uZSBkb21haW4iLGVuYWJsZWQ6ITAsdGFnczpbImVtYWlsIiwic210cCIsInByb2R1Y3Rpb24iXSxtYXRjaDp7cG9ydHM6MjUsZG9tYWluczoibWFpbC5zZXJ2ZS56b25lIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDoiMTAuMC4xLjUiLHBvcnQ6MjV9XSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifX19LHtpZDoicm91dGUtNCIsbmFtZToiQVBJIEdhdGV3YXkiLGRlc2NyaXB0aW9uOiJBUEkgZ2F0ZXdheSB3aXRoIHJhdGUgbGltaXRpbmcsIENPUlMgaGVhZGVycywgYW5kIGxvYWQgYmFsYW5jaW5nIixlbmFibGVkOiEwLHByaW9yaXR5OjIwLHRhZ3M6WyJ3ZWIiLCJhcGkiLCJodHRwcyIsInByb2R1Y3Rpb24iXSxtYXRjaDp7cG9ydHM6NDQzLGRvbWFpbnM6ImFwaS5zZXJ2ZS56b25lIixwYXRoOiIvdjIvKiIscHJvdG9jb2w6Imh0dHAifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OlsiMTAuMC4wLjIwIiwiMTAuMC4wLjIxIiwiMTAuMC4wLjIyIl0scG9ydDo4MDgwfV0sdGxzOnttb2RlOiJ0ZXJtaW5hdGUiLGNlcnRpZmljYXRlOiJhdXRvIn0sbG9hZEJhbGFuY2luZzp7YWxnb3JpdGhtOiJyb3VuZC1yb2JpbiJ9fSxzZWN1cml0eTp7cmF0ZUxpbWl0OntlbmFibGVkOiEwLG1heFJlcXVlc3RzOjIwMCx3aW5kb3c6NjB9LG1heENvbm5lY3Rpb25zOjVlM30saGVhZGVyczp7cmVzcG9uc2U6eyJBY2Nlc3MtQ29udHJvbC1BbGxvdy1PcmlnaW4iOiIqIiwiWC1SZXF1ZXN0LUlkIjoie3tyZXF1ZXN0SWR9fSJ9fX0se2lkOiJyb3V0ZS01IixuYW1lOiJXZWJTb2NrZXQgUmVhbHRpbWUiLGRlc2NyaXB0aW9uOiJSZWFsLXRpbWUgV2ViU29ja2V0IGNvbm5lY3Rpb25zIGZvciBsaXZlIHVwZGF0ZXMiLGVuYWJsZWQ6ITAsdGFnczpbIndlYiIsImh0dHBzIiwid2Vic29ja2V0Il0sbWF0Y2g6e3BvcnRzOjQ0Myxkb21haW5zOiJ3cy5zZXJ2ZS56b25lIixwYXRoOiIvd3MvKiIscHJvdG9jb2w6Imh0dHAifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OiIxMC4wLjAuMzAiLHBvcnQ6OTA5MH1dLHRsczp7bW9kZToidGVybWluYXRlIixjZXJ0aWZpY2F0ZToiYXV0byJ9LHdlYnNvY2tldDp7ZW5hYmxlZDohMH19fSx7aWQ6InJvdXRlLTYiLG5hbWU6IlRlbmFudCBXaWxkY2FyZCIsZGVzY3JpcHRpb246Ik11bHRpLXRlbmFudCB3aWxkY2FyZCByb3V0aW5nIGZvciBjdXN0b21lciBzdWJkb21haW5zIixlbmFibGVkOiEwLHByaW9yaXR5OjUwLHRhZ3M6WyJ3ZWIiLCJodHRwcyIsIm11bHRpLXRlbmFudCJdLG1hdGNoOntwb3J0czo0NDMsZG9tYWluczoiKi5jdXN0b21lcnMuc2VydmUuem9uZSIscHJvdG9jb2w6Imh0dHAifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OiIxMC4wLjAuNDAiLHBvcnQ6ODA4MH1dLHRsczp7bW9kZToidGVybWluYXRlIixjZXJ0aWZpY2F0ZToiYXV0byJ9fSxzZWN1cml0eTp7aXBBbGxvd0xpc3Q6WyIxMC4wLjAuMC84IiwiMTcyLjE2LjAuMC8xMiJdfX0se2lkOiJyb3V0ZS03IixuYW1lOiJNaWNyb3NlcnZpY2VzIExCIixkZXNjcmlwdGlvbjoiTG9hZC1iYWxhbmNlZCBtaWNyb3NlcnZpY2VzIGJhY2tlbmQgd2l0aCBJUC1oYXNoIGFmZmluaXR5IixlbmFibGVkOiEwLHRhZ3M6WyJ3ZWIiLCJodHRwcyIsInByb2R1Y3Rpb24iXSxtYXRjaDp7cG9ydHM6WzQ0Myw4NDQzXSxkb21haW5zOiJzZXJ2aWNlcy5zZXJ2ZS56b25lIixwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6WyIxMC4wLjIuMSIsIjEwLjAuMi4yIiwiMTAuMC4yLjMiLCIxMC4wLjIuNCJdLHBvcnQ6M2UzfV0sdGxzOnttb2RlOiJ0ZXJtaW5hdGUtYW5kLXJlZW5jcnlwdCIsY2VydGlmaWNhdGU6ImF1dG8ifSxsb2FkQmFsYW5jaW5nOnthbGdvcml0aG06ImlwLWhhc2gifX19LHtpZDoicm91dGUtOCIsbmFtZToiRE5TIG92ZXIgSFRUUFMiLGRlc2NyaXB0aW9uOiJETlMtb3Zlci1IVFRQUyByZXNvbHZlciBlbmRwb2ludCIsZW5hYmxlZDohMCx0YWdzOlsiZG5zIiwiaHR0cHMiXSxtYXRjaDp7cG9ydHM6NDQzLGRvbWFpbnM6ImRucy5zZXJ2ZS56b25lIixwYXRoOiIvZG5zLXF1ZXJ5Iixwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6IjEwLjAuMy4xIixwb3J0OjgwNTN9XSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifX19LHtpZDoicm91dGUtOSIsbmFtZToiSGlnaC1QZXJmIFRDUCBQcm94eSIsZGVzY3JpcHRpb246Ik5GVGFibGVzLWFjY2VsZXJhdGVkIFRDUCBwcm94eSBmb3IgZ2FtZSBzZXJ2ZXJzIixlbmFibGVkOiEwLHRhZ3M6WyJ0Y3AiLCJuZnRhYmxlcyIsInByb2R1Y3Rpb24iXSxtYXRjaDp7cG9ydHM6W3tmcm9tOjI3ZTMsdG86MjcwNTB9XSxwcm90b2NvbDoidGNwIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDoiMTAuMC40LjEiLHBvcnQ6InByZXNlcnZlIn1dLGZvcndhcmRpbmdFbmdpbmU6Im5mdGFibGVzIn19LHtpZDoicm91dGUtMTAiLG5hbWU6IkxlZ2FjeSBBZG1pbiBQYW5lbCIsZGVzY3JpcHRpb246IkRlcHJlY2F0ZWQgYWRtaW4gcGFuZWwgXHUyMDE0IGRpc2FibGVkIGZvciBtYWludGVuYW5jZSIsZW5hYmxlZDohMSx0YWdzOlsid2ViIiwiaHR0cHMiLCJkZXByZWNhdGVkIl0sbWF0Y2g6e3BvcnRzOjQ0Myxkb21haW5zOiJhZG1pbi1vbGQuc2VydmUuem9uZSIscHJvdG9jb2w6Imh0dHAifSxhY3Rpb246e3R5cGU6InNvY2tldC1oYW5kbGVyIn0sc2VjdXJpdHk6e2lwQmxvY2tMaXN0OlsiMC4wLjAuMC8wIl19fV0pO2dldCBmaWx0ZXJlZFJvdXRlcygpe3JldHVybiB0aGlzLmN1cnJlbnRUYWI9PT0iYWxsIj90aGlzLmRlbW9Sb3V0ZXM6dGhpcy5jdXJyZW50VGFiPT09Imh0dHBzIj90aGlzLmRlbW9Sb3V0ZXMuZmlsdGVyKHU9PnUudGFncz8uc29tZShmPT5bIndlYiIsImh0dHBzIiwiaHR0cCJdLmluY2x1ZGVzKGYpKSk6dGhpcy5jdXJyZW50VGFiPT09ImVtYWlsIj90aGlzLmRlbW9Sb3V0ZXMuZmlsdGVyKHU9PnUudGFncz8uc29tZShmPT5bImVtYWlsIiwic210cCJdLmluY2x1ZGVzKGYpKSk6dGhpcy5jdXJyZW50VGFiPT09ImRucyI/dGhpcy5kZW1vUm91dGVzLmZpbHRlcih1PT51LnRhZ3M/LnNvbWUoZj0+WyJkbnMiXS5pbmNsdWRlcyhmKSkpOnRoaXMuZGVtb1JvdXRlc31hc3luYyBvbkFjdGl2YXRlKHUpe3RoaXMuYXBwdWk9dS5hcHB1aSx0aGlzLmFwcHVpLnNldENvbnRlbnRUYWJzKFt7a2V5OiJBbGwgUm91dGVzIixhY3Rpb246aSgoKT0+e3RoaXMuY3VycmVudFRhYj0iYWxsIix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfSx7a2V5OiJIVFRQL1MiLGFjdGlvbjppKCgpPT57dGhpcy5jdXJyZW50VGFiPSJodHRwcyIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX0se2tleToiRW1haWwiLGFjdGlvbjppKCgpPT57dGhpcy5jdXJyZW50VGFiPSJlbWFpbCIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX0se2tleToiRE5TIixhY3Rpb246aSgoKT0+e3RoaXMuY3VycmVudFRhYj0iZG5zIix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfV0pLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfXVwZGF0ZVNlY29uZGFyeU1lbnUoKXtpZighdGhpcy5hcHB1aSlyZXR1cm47bGV0IHU9dGhpcy5kZW1vUm91dGVzLmxlbmd0aCxmPXRoaXMuZGVtb1JvdXRlcy5maWx0ZXIoZz0+Zy5lbmFibGVkIT09ITEpLmxlbmd0aCxwPXRoaXMuZGVtb1JvdXRlcy5maWx0ZXIoZz0+Zy5hY3Rpb24udHlwZT09PSJmb3J3YXJkIikubGVuZ3RoO3RoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiUm91dGVzIixncm91cHM6W3tuYW1lOiJBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJSZWZyZXNoIixpY29uTmFtZToibHVjaWRlOlJlZnJlc2hDdyIsYWN0aW9uOmkoKCk9Pntjb25zb2xlLmxvZygiUmVmcmVzaCByb3V0ZXMiKX0sImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIixrZXk6IkFkZCBSb3V0ZSIsaWNvbk5hbWU6Imx1Y2lkZTpQbHVzIixhY3Rpb246aSgoKT0+e2NvbnNvbGUubG9nKCJBZGQgcm91dGUiKX0sImFjdGlvbiIpfV19LHtuYW1lOiJTdGF0aXN0aWNzIixpdGVtczpbe3R5cGU6ImhlYWRlciIsbGFiZWw6YCR7dX0gVG90YWwgUm91dGVzYH0se3R5cGU6ImhlYWRlciIsbGFiZWw6YCR7Zn0gQWN0aXZlYH0se3R5cGU6ImhlYWRlciIsbGFiZWw6YCR7cH0gRm9yd2FyZGB9LHt0eXBlOiJoZWFkZXIiLGxhYmVsOmAke3UtcH0gU29ja2V0IEhhbmRsZXJgfV19XX0pfW9uRGVhY3RpdmF0ZSgpe31zdGF0aWMgc3R5bGVzPVtkLmRlZmF1bHRTdHlsZXMsWGAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzei1yb3V0ZS1saXN0LXZpZXcKICAgICAgICAucm91dGVzPSR7dGhpcy5maWx0ZXJlZFJvdXRlc30KICAgICAgICBAcm91dGUtY2xpY2s9JHt1PT57Y29uc29sZS5sb2coIlJvdXRlIGNsaWNrZWQ6Iix1LmRldGFpbC5uYW1lKX19CiAgICAgID48L3N6LXJvdXRlLWxpc3Qtdmlldz4KICAgIGB9c3RhdGlje1pIZShyLGEpfX07cmV0dXJuIGg9cn0pKCl9KTt2YXIgaXlhLHN5YSxveWEscjFhPWMoKCk9PntwZSgpO1RpKCk7aXlhPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxzeWE9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LG95YT0oKCk9PntsZXQgdD1bYWUoInN6LWRlbW8tdmlldy1jb25maWciKV0sZSxhPVtdLHIscz1jZTt2YXIgbj1jbGFzcyBleHRlbmRzIHN7c3RhdGlje2kodGhpcywiU3pEZW1vVmlld0NvbmZpZyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBvPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKHNbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO2l5YShudWxsLGU9e3ZhbHVlOnJ9LHQse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpvfSxudWxsLGEpLG49cj1lLnZhbHVlLG8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6b30pfXN0YXRpYyBzdHlsZXM9W2QuZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN6LWNvbmZpZy1vdmVydmlldwogICAgICAgIGluZm9UZXh0PSJUaGlzIHZpZXcgZGlzcGxheXMgdGhlIGN1cnJlbnQgcnVubmluZyBjb25maWd1cmF0aW9uLiBEY1JvdXRlciBpcyBjb25maWd1cmVkIHRocm91Z2ggY29kZSBvciByZW1vdGUgbWFuYWdlbWVudC4iCiAgICAgID4KICAgICAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgICAgIHRpdGxlPSJTeXN0ZW0iCiAgICAgICAgICBzdWJ0aXRsZT0iQmFzZSBwYXRocyBhbmQgaW5mcmFzdHJ1Y3R1cmUiCiAgICAgICAgICBpY29uPSJsdWNpZGU6c2VydmVyIgogICAgICAgICAgc3RhdHVzPSJlbmFibGVkIgogICAgICAgICAgLmZpZWxkcz0ke1t7a2V5OiJCYXNlIERpcmVjdG9yeSIsdmFsdWU6Ii9ob21lL3VzZXIvLnNlcnZlLnpvbmUvZGNyb3V0ZXIifSx7a2V5OiJEYXRhIERpcmVjdG9yeSIsdmFsdWU6Ii9ob21lL3VzZXIvLnNlcnZlLnpvbmUvZGNyb3V0ZXIvZGF0YSJ9LHtrZXk6IlB1YmxpYyBJUCIsdmFsdWU6IjIwMy4wLjExMy41MCJ9LHtrZXk6IlByb3h5IElQcyIsdmFsdWU6WyIyMDMuMC4xMTMuMTAiLCIyMDMuMC4xMTMuMTEiXSx0eXBlOiJwaWxscyJ9LHtrZXk6IlVwdGltZSIsdmFsdWU6IjNkIDE0aCAyMm0ifSx7a2V5OiJTdG9yYWdlIEJhY2tlbmQiLHZhbHVlOiJmaWxlc3lzdGVtIix0eXBlOiJiYWRnZSJ9XX0KICAgICAgICA+PC9zei1jb25maWctc2VjdGlvbj4KCiAgICAgICAgPHN6LWNvbmZpZy1zZWN0aW9uCiAgICAgICAgICB0aXRsZT0iU21hcnRQcm94eSIKICAgICAgICAgIHN1YnRpdGxlPSJIVFRQL0hUVFBTIGFuZCBUQ1AvU05JIHJldmVyc2UgcHJveHkiCiAgICAgICAgICBpY29uPSJsdWNpZGU6bmV0d29yayIKICAgICAgICAgIHN0YXR1cz0iZW5hYmxlZCIKICAgICAgICAgIC5maWVsZHM9JHtbe2tleToiUm91dGUgQ291bnQiLHZhbHVlOjEyfSx7a2V5OiJBQ01FIEVuYWJsZWQiLHZhbHVlOiEwLHR5cGU6ImJvb2xlYW4ifSx7a2V5OiJBY2NvdW50IEVtYWlsIix2YWx1ZToiYWRtaW5Ac2VydmUuem9uZSJ9LHtrZXk6IlVzZSBQcm9kdWN0aW9uIix2YWx1ZTohMCx0eXBlOiJib29sZWFuIn0se2tleToiQXV0byBSZW5ldyIsdmFsdWU6ITAsdHlwZToiYm9vbGVhbiJ9LHtrZXk6IlJlbmV3IFRocmVzaG9sZCIsdmFsdWU6IjMwIGRheXMifV19CiAgICAgICAgICAuYWN0aW9ucz0ke1t7bGFiZWw6IlZpZXcgUm91dGVzIixpY29uOiJsdWNpZGU6YXJyb3ctcmlnaHQiLGV2ZW50OiJuYXZpZ2F0ZSIsZGV0YWlsOnt2aWV3OiJyb3V0ZXMifX1dfQogICAgICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgoKICAgICAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgICAgIHRpdGxlPSJFbWFpbCBTZXJ2ZXIiCiAgICAgICAgICBzdWJ0aXRsZT0iU01UUCBlbWFpbCBoYW5kbGluZyB3aXRoIHNtYXJ0bXRhIgogICAgICAgICAgaWNvbj0ibHVjaWRlOm1haWwiCiAgICAgICAgICBzdGF0dXM9ImVuYWJsZWQiCiAgICAgICAgICAuZmllbGRzPSR7W3trZXk6IlBvcnRzIix2YWx1ZTpbIjI1IiwiNDY1IiwiNTg3Il0sdHlwZToicGlsbHMifSx7a2V5OiJIb3N0bmFtZSIsdmFsdWU6Im1haWwuc2VydmUuem9uZSJ9LHtrZXk6IkRvbWFpbnMiLHZhbHVlOlsic2VydmUuem9uZSIsIm1haWwuc2VydmUuem9uZSJdLHR5cGU6InBpbGxzIn0se2tleToiRW1haWwgUm91dGVzIix2YWx1ZTo1fSx7a2V5OiJSZWNlaXZlZCBQYXRoIix2YWx1ZToiL2RhdGEvZW1haWxzIn1dfQogICAgICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgoKICAgICAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgICAgIHRpdGxlPSJETlMgU2VydmVyIgogICAgICAgICAgc3VidGl0bGU9IkF1dGhvcml0YXRpdmUgRE5TIHdpdGggc21hcnRkbnMiCiAgICAgICAgICBpY29uPSJsdWNpZGU6Z2xvYmUiCiAgICAgICAgICBzdGF0dXM9ImVuYWJsZWQiCiAgICAgICAgICAuZmllbGRzPSR7W3trZXk6IlBvcnQiLHZhbHVlOjUzfSx7a2V5OiJOUyBEb21haW5zIix2YWx1ZTpbIm5zMS5zZXJ2ZS56b25lIiwibnMyLnNlcnZlLnpvbmUiXSx0eXBlOiJwaWxscyJ9LHtrZXk6IlNjb3BlcyIsdmFsdWU6WyJzZXJ2ZS56b25lIiwiZXhhbXBsZS5jb20iXSx0eXBlOiJwaWxscyJ9LHtrZXk6IlJlY29yZCBDb3VudCIsdmFsdWU6MjR9LHtrZXk6IkROUyBDaGFsbGVuZ2UiLHZhbHVlOiEwLHR5cGU6ImJvb2xlYW4ifV19CiAgICAgICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CgogICAgICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICAgICAgdGl0bGU9IlRMUyAvIENlcnRpZmljYXRlcyIKICAgICAgICAgIHN1YnRpdGxlPSJDZXJ0aWZpY2F0ZSBtYW5hZ2VtZW50IGFuZCBBQ01FIgogICAgICAgICAgaWNvbj0ibHVjaWRlOnNoaWVsZC1jaGVjayIKICAgICAgICAgIHN0YXR1cz0iZW5hYmxlZCIKICAgICAgICAgIC5maWVsZHM9JHtbe2tleToiQ29udGFjdCBFbWFpbCIsdmFsdWU6ImFkbWluQHNlcnZlLnpvbmUifSx7a2V5OiJEb21haW4iLHZhbHVlOiJzZXJ2ZS56b25lIn0se2tleToiU291cmNlIix2YWx1ZToiYWNtZSIsdHlwZToiYmFkZ2UifSx7a2V5OiJDZXJ0aWZpY2F0ZSBQYXRoIix2YWx1ZTpudWxsfSx7a2V5OiJLZXkgUGF0aCIsdmFsdWU6bnVsbH1dfQogICAgICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgoKICAgICAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgICAgIHRpdGxlPSJDYWNoZSBEYXRhYmFzZSIKICAgICAgICAgIHN1YnRpdGxlPSJQZXJzaXN0ZW50IGNhY2hpbmcgd2l0aCBzbWFydGRhdGEiCiAgICAgICAgICBpY29uPSJsdWNpZGU6ZGF0YWJhc2UiCiAgICAgICAgICBzdGF0dXM9ImVuYWJsZWQiCiAgICAgICAgICAuZmllbGRzPSR7W3trZXk6IlN0b3JhZ2UgUGF0aCIsdmFsdWU6Ii9ob21lL3VzZXIvLnNlcnZlLnpvbmUvZGNyb3V0ZXIvdHNtZGIifSx7a2V5OiJEQiBOYW1lIix2YWx1ZToiZGNyb3V0ZXIifSx7a2V5OiJEZWZhdWx0IFRUTCIsdmFsdWU6IjMwIGRheXMifSx7a2V5OiJDbGVhbnVwIEludGVydmFsIix2YWx1ZToiMSBob3VyIn1dfQogICAgICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgoKICAgICAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgICAgIHRpdGxlPSJSQURJVVMgU2VydmVyIgogICAgICAgICAgc3VidGl0bGU9Ik5ldHdvcmsgYXV0aGVudGljYXRpb24gYW5kIFZMQU4gYXNzaWdubWVudCIKICAgICAgICAgIGljb249Imx1Y2lkZTp3aWZpIgogICAgICAgICAgc3RhdHVzPSJub3QtY29uZmlndXJlZCIKICAgICAgICAgIC5maWVsZHM9JHtbe2tleToiQXV0aCBQb3J0Iix2YWx1ZTpudWxsfSx7a2V5OiJBY2NvdW50aW5nIFBvcnQiLHZhbHVlOm51bGx9XX0KICAgICAgICA+PC9zei1jb25maWctc2VjdGlvbj4KCiAgICAgICAgPHN6LWNvbmZpZy1zZWN0aW9uCiAgICAgICAgICB0aXRsZT0iUmVtb3RlIEluZ3Jlc3MiCiAgICAgICAgICBzdWJ0aXRsZT0iRWRnZSB0dW5uZWwgbm9kZXMiCiAgICAgICAgICBpY29uPSJsdWNpZGU6Y2xvdWQiCiAgICAgICAgICBzdGF0dXM9ImVuYWJsZWQiCiAgICAgICAgICAuZmllbGRzPSR7W3trZXk6IlR1bm5lbCBQb3J0Iix2YWx1ZTo4NDQzfSx7a2V5OiJIdWIgRG9tYWluIix2YWx1ZToiaHViLnNlcnZlLnpvbmUifSx7a2V5OiJUTFMgQ29uZmlndXJlZCIsdmFsdWU6ITAsdHlwZToiYm9vbGVhbiJ9XX0KICAgICAgICA+PC9zei1jb25maWctc2VjdGlvbj4KICAgICAgPC9zei1jb25maWctb3ZlcnZpZXc+CiAgICBgfXN0YXRpY3tzeWEocixhKX19O3JldHVybiBuPXJ9KSgpfSk7dmFyIFRpPWMoKCk9PntkcCgpO3ZIZSgpO3lIZSgpO01IZSgpO2tIZSgpO3pIZSgpO0NIZSgpO1RIZSgpOyRIZSgpO0FIZSgpO1BIZSgpO0VIZSgpO3lhYSgpO3dhYSgpO2thYSgpO3phYSgpO1NhYSgpO19hYSgpO0xhYSgpOyRhYSgpO0RhYSgpO0FhYSgpO1BhYSgpO0VhYSgpO0lhYSgpO05hYSgpO1JhYSgpO0ZhYSgpO09hYSgpO0hhYSgpO1ZhYSgpO2phYSgpO1VhYSgpO1dhYSgpO0dhYSgpO1lhYSgpO1phYSgpO0thYSgpO1FhYSgpO0phYSgpO2UxYSgpO2ExYSgpO3IxYSgpfSk7dmFyIGlVaSxpMWE9YygoKT0+e3BlKCk7aVVpPWkoKCk9PndgCiAgPHN0eWxlPgogICAgYm9keSB7CiAgICAgIG1hcmdpbjogMDsKICAgICAgcGFkZGluZzogMDsKICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsKICAgIH0KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgcGFkZGluZzogMjRweDsKICAgIH0KICAgIC5kZW1vLXNlY3Rpb24gewogICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgcGFkZGluZzogNDhweDsKICAgICAgYm94LXNoYWRvdzogMCA0cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAgIG1heC13aWR0aDogNjAwcHg7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogICAgaDEgewogICAgICBtYXJnaW46IDAgMCAzMnB4IDA7CiAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgZm9udC1zaXplOiAyOHB4OwogICAgICBjb2xvcjogIzFhMWExYTsKICAgIH0KICAgIC5jb21wb25lbnQtZGVtbyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMTZweDsKICAgIH0KICA8L3N0eWxlPgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMT5TZXJ2ZS5ab25lIENhdGFsb2c8L2gxPgogICAgICA8ZGl2IGNsYXNzPSJjb21wb25lbnQtZGVtbyI+CiAgICAgICAgPHN6LWhlbGxvPjwvc3otaGVsbG8+CiAgICAgICAgPHN6LWhlbGxvIHRleHQ9IldlbGNvbWUgdG8gU2VydmUuWm9uZSEiPjwvc3otaGVsbG8+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CmAsIm1haW5wYWdlIil9KTt2YXIgY1VpLHMxYT1jKCgpPT57cGUoKTtUaSgpO2NVaT1pKCgpPT53YAogIDxzdHlsZT4KICAgIGh0bWwsIGJvZHkgewogICAgICBtYXJnaW46IDA7CiAgICAgIHBhZGRpbmc6IDA7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CiAgICBzei1kZW1vLWFwcC1zaGVsbCB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICB3aWR0aDogMTAwdnc7CiAgICB9CiAgPC9zdHlsZT4KICA8c3otZGVtby1hcHAtc2hlbGw+PC9zei1kZW1vLWFwcC1zaGVsbD4KYCwic3pEZW1vQXBwIil9KTt2YXIgbnlhLGx5YSxjeWEsbzFhPWMoKCk9PntwZSgpO2dIZSgpO1RpKCk7bnlhPWZ1bmN0aW9uKHQsZSxhLHIscyxuKXtmdW5jdGlvbiBvKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9aShvLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGg9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLHU9IWUmJnQ/ci5zdGF0aWM/dDp0LnByb3RvdHlwZTpudWxsLGY9ZXx8KHU/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih1LHIubmFtZSk6e30pLHAsZz0hMSx2PWEubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYoZyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtuLnB1c2gobyh5fHxudWxsKSl9O3ZhciBtPSgwLGFbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6Zi5nZXQsc2V0OmYuc2V0fTpmW2hdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihtPT09dm9pZCAwKWNvbnRpbnVlO2lmKG09PT1udWxsfHx0eXBlb2YgbSE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHA9byhtLmdldCkpJiYoZi5nZXQ9cCksKHA9byhtLnNldCkpJiYoZi5zZXQ9cCksKHA9byhtLmluaXQpKSYmcy51bnNoaWZ0KHApfWVsc2UocD1vKG0pKSYmKGw9PT0iZmllbGQiP3MudW5zaGlmdChwKTpmW2hdPXApfXUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh1LHIubmFtZSxmKSxnPSEwfSxseWE9ZnVuY3Rpb24odCxlLGEpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIscz0wO3M8ZS5sZW5ndGg7cysrKWE9cj9lW3NdLmNhbGwodCxhKTplW3NdLmNhbGwodCk7cmV0dXJuIHI/YTp2b2lkIDB9LGN5YT0oKCk9PntsZXQgdD1bYWUoInN6LWRlbW8tYXBwLXNoZWxsIildLGUsYT1bXSxyLHM9Y2U7dmFyIG49Y2xhc3MgZXh0ZW5kcyBze3N0YXRpY3tpKHRoaXMsIlN6RGVtb0FwcFNoZWxsIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoc1tTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bnlhKG51bGwsZT17dmFsdWU6cn0sdCx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm99LG51bGwsYSksbj1yPWUudmFsdWUsbyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpvfSl9c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIGRlZXMtYXBwdWkgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLWFwcHVpPjwvZGVlcy1hcHB1aT4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7bGV0IG89dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLWFwcHVpIik7byYmKG8uY29uZmlndXJlKHticmFuZGluZzp7bG9nb0ljb246Imx1Y2lkZTpCb3giLGxvZ29UZXh0OiJzZXJ2ZS56b25lIn0sYXBwQmFyOntzaG93U2VhcmNoOiEwLGJyZWFkY3J1bWJzOiJzZXJ2ZS56b25lIixtZW51SXRlbXM6W3tuYW1lOiJGaWxlIixhY3Rpb246aShhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6Ik5ldyBTZXJ2aWNlIixzaG9ydGN1dDoiQ21kK04iLGFjdGlvbjppKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiTmV3IFNlcnZpY2UiKX0sImFjdGlvbiIpfSx7bmFtZToiSW1wb3J0IENvbmZpZ3VyYXRpb24iLGFjdGlvbjppKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiSW1wb3J0Iil9LCJhY3Rpb24iKX0se25hbWU6IkV4cG9ydCBDb25maWd1cmF0aW9uIixhY3Rpb246aShhc3luYygpPT57Y29uc29sZS5sb2coIkV4cG9ydCIpfSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiUHJlZmVyZW5jZXMiLHNob3J0Y3V0OiJDbWQrLCIsYWN0aW9uOmkoYXN5bmMoKT0+e28ubmF2aWdhdGVUb1ZpZXcoInNldHRpbmdzIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiVmlldyIsYWN0aW9uOmkoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJEYXNoYm9hcmQiLHNob3J0Y3V0OiJDbWQrMSIsYWN0aW9uOmkoYXN5bmMoKT0+e28ubmF2aWdhdGVUb1ZpZXcoImRhc2hib2FyZCIpfSwiYWN0aW9uIil9LHtuYW1lOiJTZXJ2aWNlcyIsc2hvcnRjdXQ6IkNtZCsyIixhY3Rpb246aShhc3luYygpPT57by5uYXZpZ2F0ZVRvVmlldygic2VydmljZXMiKX0sImFjdGlvbiIpfSx7bmFtZToiTmV0d29yayIsc2hvcnRjdXQ6IkNtZCszIixhY3Rpb246aShhc3luYygpPT57by5uYXZpZ2F0ZVRvVmlldygibmV0d29yayIpfSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiQWN0aXZpdHkgTG9nIixzaG9ydGN1dDoiQ21kK1NoaWZ0K0EiLGFjdGlvbjppKGFzeW5jKCk9PntvLnRvZ2dsZUFjdGl2aXR5TG9nKCl9LCJhY3Rpb24iKX0se25hbWU6IlRvZ2dsZSBTaWRlYmFyIixzaG9ydGN1dDoiQ21kK0IiLGFjdGlvbjppKGFzeW5jKCk9PntvLnNldE1haW5NZW51Q29sbGFwc2VkKCFvLm1haW5tZW51Q29sbGFwc2VkKX0sImFjdGlvbiIpfV19LHtuYW1lOiJTZXJ2aWNlcyIsYWN0aW9uOmkoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJEZXBsb3kgTmV3IFNlcnZpY2UiLGFjdGlvbjppKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiRGVwbG95Iil9LCJhY3Rpb24iKX0se25hbWU6IlN0YXJ0IEFsbCIsYWN0aW9uOmkoYXN5bmMoKT0+e2NvbnNvbGUubG9nKCJTdGFydCBhbGwiKX0sImFjdGlvbiIpfSx7bmFtZToiU3RvcCBBbGwiLGFjdGlvbjppKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiU3RvcCBhbGwiKX0sImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkdhcmJhZ2UgQ29sbGVjdCIsYWN0aW9uOmkoYXN5bmMoKT0+e2NvbnNvbGUubG9nKCJHQyIpfSwiYWN0aW9uIil9XX0se25hbWU6IkhlbHAiLGFjdGlvbjppKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiRG9jdW1lbnRhdGlvbiIsYWN0aW9uOmkoYXN5bmMoKT0+e3dpbmRvdy5vcGVuKCJodHRwczovL2RvY3Muc2VydmUuem9uZSIsIl9ibGFuayIpfSwiYWN0aW9uIil9LHtuYW1lOiJSZWxlYXNlIE5vdGVzIixhY3Rpb246aShhc3luYygpPT57Y29uc29sZS5sb2coIlJlbGVhc2Ugbm90ZXMiKX0sImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkFib3V0IHNlcnZlLnpvbmUiLGFjdGlvbjppKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiQWJvdXQiKX0sImFjdGlvbiIpfV19XX0sdmlld3M6W3tpZDoiZGFzaGJvYXJkIixuYW1lOiJEYXNoYm9hcmQiLGljb25OYW1lOiJsdWNpZGU6TGF5b3V0RGFzaGJvYXJkIixjb250ZW50OiJzei1kZW1vLXZpZXctZGFzaGJvYXJkIn0se2lkOiJzZXJ2aWNlcyIsbmFtZToiU2VydmljZXMiLGljb25OYW1lOiJsdWNpZGU6U2VydmVyIixjb250ZW50OiJzei1kZW1vLXZpZXctc2VydmljZXMifSx7aWQ6Im5ldHdvcmsiLG5hbWU6Ik5ldHdvcmsiLGljb25OYW1lOiJsdWNpZGU6TmV0d29yayIsY29udGVudDoic3otZGVtby12aWV3LW5ldHdvcmsifSx7aWQ6InJlZ2lzdHJpZXMiLG5hbWU6IlJlZ2lzdHJpZXMiLGljb25OYW1lOiJsdWNpZGU6QXJjaGl2ZSIsY29udGVudDoic3otZGVtby12aWV3LXJlZ2lzdHJpZXMifSx7aWQ6InRva2VucyIsbmFtZToiVG9rZW5zIixpY29uTmFtZToibHVjaWRlOktleSIsY29udGVudDoic3otZGVtby12aWV3LXRva2VucyJ9LHtpZDoibXRhIixuYW1lOiJFbWFpbCAvIE1UQSIsaWNvbk5hbWU6Imx1Y2lkZTpNYWlsIixjb250ZW50OiJzei1kZW1vLXZpZXctbXRhIn0se2lkOiJyb3V0ZXMiLG5hbWU6IlJvdXRlcyIsaWNvbk5hbWU6Imx1Y2lkZTpSb3V0ZSIsY29udGVudDoic3otZGVtby12aWV3LXJvdXRlcyJ9LHtpZDoic2V0dGluZ3MiLG5hbWU6IlNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOlNldHRpbmdzIixjb250ZW50OiJzei1kZW1vLXZpZXctc2V0dGluZ3MifV0sbWFpbk1lbnU6e3NlY3Rpb25zOlt7bmFtZToiT3ZlcnZpZXciLHZpZXdzOlsiZGFzaGJvYXJkIl19LHtuYW1lOiJJbmZyYXN0cnVjdHVyZSIsdmlld3M6WyJzZXJ2aWNlcyIsIm5ldHdvcmsiLCJyZWdpc3RyaWVzIiwibXRhIiwicm91dGVzIl19LHtuYW1lOiJBZG1pbmlzdHJhdGlvbiIsdmlld3M6WyJ0b2tlbnMiLCJzZXR0aW5ncyJdfV19LGRlZmF1bHRWaWV3OiJkYXNoYm9hcmQiLG9uVmlld0NoYW5nZTppKChsLGgpPT57Y29uc29sZS5sb2coIlZpZXcgY2hhbmdlZCB0bzoiLGwsaCl9LCJvblZpZXdDaGFuZ2UiKX0pLG8uc2V0VXNlcih7bmFtZToiQWRtaW4gVXNlciIsZW1haWw6ImFkbWluQHNlcnZlLnpvbmUiLHN0YXR1czoib25saW5lIn0pLG8uc2V0UHJvZmlsZU1lbnVJdGVtcyhbe25hbWU6IlByb2ZpbGUiLGljb25OYW1lOiJsdWNpZGU6VXNlciIsYWN0aW9uOmkoYXN5bmMoKT0+e2NvbnNvbGUubG9nKCJQcm9maWxlIil9LCJhY3Rpb24iKX0se25hbWU6IlByZWZlcmVuY2VzIixpY29uTmFtZToibHVjaWRlOlNsaWRlcnNIb3Jpem9udGFsIixhY3Rpb246aShhc3luYygpPT57Y29uc29sZS5sb2coIlByZWZlcmVuY2VzIil9LCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJTaWduIE91dCIsaWNvbk5hbWU6Imx1Y2lkZTpMb2dPdXQiLGFjdGlvbjppKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiU2lnbiBPdXQiKX0sImFjdGlvbiIpfV0pKX1zdGF0aWN7bHlhKHIsYSl9fTtyZXR1cm4gbj1yfSkoKX0pO3ZhciBuMWE9YygoKT0+e2kxYSgpO3MxYSgpO28xYSgpfSk7dmFyIGwxYT1jKCgpPT57VGkoKTtuMWEoKX0pO3ZhciBjMWE9d3QoeTE9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHkxLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx5MS5nZXRGaXJzdFRydWVPckZhbHNlPXkxLnRpbWVvdXRBbmRDb250aW51ZT15MS50aW1lb3V0V3JhcD15MS5tYXA9eTEucmVqZWN0ZWRQcm9taXNlPXkxLnJlc29sdmVkUHJvbWlzZT15MS5kZWZlcj15MS5EZWZlcnJlZD12b2lkIDA7dmFyIGtYPWNsYXNze3N0YXRpY3tpKHRoaXMsIkRlZmVycmVkIil9Y29uc3RydWN0b3IoKXt0aGlzLnByb21pc2U9bmV3IFByb21pc2UoKGUsYSk9Pnt0aGlzLnJlc29sdmU9cj0+e3RoaXMuc3RhdHVzPSJmdWxmaWxsZWQiLHRoaXMuc3RvcHBlZEF0PURhdGUubm93KCksZShyKX0sdGhpcy5yZWplY3Q9cj0+e3RoaXMuc3RhdHVzPSJyZWplY3RlZCIsdGhpcy5zdG9wcGVkQXQ9RGF0ZS5ub3coKSxhKHIpfSx0aGlzLnN0YXJ0ZWRBdD1EYXRlLm5vdygpLHRoaXMuc3RhdHVzPSJwZW5kaW5nIn0pfWdldCBkdXJhdGlvbigpe3JldHVybiB0aGlzLnN0b3BwZWRBdD90aGlzLnN0b3BwZWRBdC10aGlzLnN0YXJ0ZWRBdDpEYXRlLm5vdygpLXRoaXMuc3RhcnRlZEF0fX07eTEuRGVmZXJyZWQ9a1gseTEuZGVmZXI9KCk9Pm5ldyBrWCx5MS5yZXNvbHZlZFByb21pc2U9dD0+UHJvbWlzZS5yZXNvbHZlKHQpLHkxLnJlamVjdGVkUHJvbWlzZT10PT5Qcm9taXNlLnJlamVjdCh0KSx5MS5tYXA9YXN5bmModCxlKT0+e2xldCBhPVtdLHI9W107Zm9yKGxldCBzIG9mIHQpe2xldCBuPWUocyk7YS5wdXNoKG4pLG4udGhlbihvPT57ci5wdXNoKG8pfSl9cmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKGEpLHJ9LHkxLnRpbWVvdXRXcmFwPWFzeW5jKHQsZSxhPSEwKT0+bmV3IFByb21pc2UoKHIscyk9PntzZXRUaW1lb3V0KCgpPT57YT9zKG5ldyBFcnJvcigidGltZW91dCIpKTpyKG51bGwpfSxlKSx0LnRoZW4ocixzKX0pLHkxLnRpbWVvdXRBbmRDb250aW51ZT1hc3luYyh0LGU9NmU0KT0+eTEudGltZW91dFdyYXAodCxlLCExKSx5MS5nZXRGaXJzdFRydWVPckZhbHNlPWFzeW5jIHQ9PntsZXQgZT15MS5kZWZlcigpO2ZvcihsZXQgYSBvZiB0KWEudGhlbihyPT57cj09PSEwJiZlLnJlc29sdmUoITApfSk7cmV0dXJuIFByb21pc2UuYWxsKHQpLnRoZW4oKCk9PntlLnJlc29sdmUoITEpfSksZS5wcm9taXNlfX0pO3ZhciBYSGUsZDFhPWMoKCk9PntYSGU9WDEoYzFhKCksMSl9KTt2YXIgcDFhPWMoKCk9Pnt9KTt2YXIgS0hlLHUxYT1jKCgpPT57ZDFhKCk7cDFhKCk7S0hlPWNsYXNze3N0YXRpY3tpKHRoaXMsIlNtYXJ0ZW52Iil9Y29uc3RydWN0b3IoKXt0aGlzLmxvYWRlZFNjcmlwdHM9W119YXN5bmMgZ2V0RW52QXdhcmVNb2R1bGUoZSl7aWYodGhpcy5pc05vZGUpcmV0dXJuIGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUoZS5ub2RlTW9kdWxlTmFtZSk7aWYodGhpcy5pc0Jyb3dzZXIpcmV0dXJuIGF3YWl0IHRoaXMuZ2V0U2FmZVdlYk1vZHVsZShlLndlYlVybEFyZyxlLmdldEZ1bmN0aW9uKTtjb25zb2xlLmVycm9yKCJwbGF0Zm9ybSBmb3IgbG9hZGluZyBub3Qgc3VwcG9ydGVkIGJ5IHNtYXJ0ZW52Iil9YXN5bmMgZ2V0U2FmZU5vZGVNb2R1bGUoZSl7aWYoIXRoaXMuaXNOb2RlKXtjb25zb2xlLmVycm9yKGBZb3UgdHJpZWQgdG8gbG9hZCBhIG5vZGUgbW9kdWxlIGluIGEgd3JvbmcgY29udGV4dDogJHtlfWApO3JldHVybn1yZXR1cm4gbmV3IEZ1bmN0aW9uKGByZXR1cm4gaW1wb3J0KCcke2V9JylgKSgpfWFzeW5jIGdldFNhZmVXZWJNb2R1bGUoZSxhKXtpZighdGhpcy5pc0Jyb3dzZXIpe2NvbnNvbGUuZXJyb3IoIllvdSB0cmllZCB0byBsb2FkIGEgd2ViIG1vZHVsZSBpbiBhIHdyb25nIGNvbnRleHQiKTtyZXR1cm59aWYodGhpcy5sb2FkZWRTY3JpcHRzLmluY2x1ZGVzKGUpKXJldHVybiBhKCk7dGhpcy5sb2FkZWRTY3JpcHRzLnB1c2goZSk7bGV0IHI9WEhlLmRlZmVyKCk7aWYoZ2xvYmFsVGhpcy5pbXBvcnRTY3JpcHRzKWdsb2JhbFRoaXMuaW1wb3J0U2NyaXB0cyhlKSxyLnJlc29sdmUoKTtlbHNle2xldCBzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO3Mub25sb2FkPSgpPT57ci5yZXNvbHZlKCl9LHMuc3JjPWUsZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChzKX1yZXR1cm4gYXdhaXQgci5wcm9taXNlLGEoKX1nZXQgcnVudGltZUVudigpe3JldHVybiB0eXBlb2YgcHJvY2VzczwidSI/Im5vZGUiOiJicm93c2VyIn1nZXQgaXNCcm93c2VyKCl7cmV0dXJuIXRoaXMuaXNOb2RlfWdldCB1c2VyQWdlbnQoKXtyZXR1cm4gdGhpcy5pc0Jyb3dzZXI/bmF2aWdhdG9yLnVzZXJBZ2VudDoidW5kZWZpbmVkIn1nZXQgaXNOb2RlKCl7cmV0dXJuIHRoaXMucnVudGltZUVudj09PSJub2RlIn1nZXQgbm9kZVZlcnNpb24oKXtyZXR1cm4gcHJvY2Vzcy52ZXJzaW9ufWdldCBpc0NJKCl7cmV0dXJuIHRoaXMuaXNOb2RlPyEhcHJvY2Vzcy5lbnYuQ0k6ITF9YXN5bmMgaXNNYWNBc3luYygpe3JldHVybiB0aGlzLmlzTm9kZT8oYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSgib3MiKSkucGxhdGZvcm0oKT09PSJkYXJ3aW4iOiExfWFzeW5jIGlzV2luZG93c0FzeW5jKCl7cmV0dXJuIHRoaXMuaXNOb2RlPyhhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKCJvcyIpKS5wbGF0Zm9ybSgpPT09IndpbjMyIjohMX1hc3luYyBpc0xpbnV4QXN5bmMoKXtyZXR1cm4gdGhpcy5pc05vZGU/KGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUoIm9zIikpLnBsYXRmb3JtKCk9PT0ibGludXgiOiExfWFzeW5jIHByaW50RW52KCl7dGhpcy5pc05vZGU/KGNvbnNvbGUubG9nKCJydW5uaW5nIG9uIE5PREUiKSxjb25zb2xlLmxvZygibm9kZSB2ZXJzaW9uIGlzICIrdGhpcy5ub2RlVmVyc2lvbikpOihjb25zb2xlLmxvZygicnVubmluZyBvbiBCUk9XU0VSIiksY29uc29sZS5sb2coImJyb3dzZXIgaXMgIit0aGlzLnVzZXJBZ2VudCkpfX19KTt2YXIgUUI9e307ZXQoUUIse1NtYXJ0ZW52OigpPT5LSGV9KTt2YXIgZjFhPWMoKCk9Pnt1MWEoKX0pO3ZhciBoMWE9YygoKT0+e2YxYSgpfSk7dmFyIFFIZT17fTtldChRSGUse3NoYTI1NkZyb21TdHJpbmc6KCk9PmZ5YX0pO3ZhciB1eWEsZnlhLG0xYT1jKCgpPT57aDFhKCk7dXlhPWkodD0+e2xldCBlPVtdLGE9bmV3IERhdGFWaWV3KHQpO2ZvcihsZXQgcj0wO3I8YS5ieXRlTGVuZ3RoO3IrPTQpe2xldCBuPWEuZ2V0VWludDMyKHIpLnRvU3RyaW5nKDE2KSxvPSIwMDAwMDAwMCIsbD0obytuKS5zbGljZSgtby5sZW5ndGgpO2UucHVzaChsKX1yZXR1cm4gZS5qb2luKCIiKX0sImhleCIpLGZ5YT1pKGFzeW5jIHQ9PntsZXQgZT1uZXcgUUIuU21hcnRlbnY7aWYoZS5pc0Jyb3dzZXIpe2xldCBhPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZSh0KSxyPWF3YWl0IGNyeXB0by5zdWJ0bGUuZGlnZXN0KCJTSEEtMjU2IixhKTtyZXR1cm4gdXlhKHIpfWVsc2UgaWYoZS5pc05vZGUpcmV0dXJuIGF3YWl0KGF3YWl0IGUuZ2V0U2FmZU5vZGVNb2R1bGUoIkBwdXNocm9ja3Mvc21hcnRoYXNoIikpLnNoYTI1NkZyb21TdHJpbmcodCl9LCJzaGEyNTZGcm9tU3RyaW5nIil9KTt2YXIgZzFhPWMoKCk9PntXNSgpO2k1KCk7bTFhKCk7ajIoKTtqaigpO2RyKCk7Y3MoKTtRbCgpO0lXKCl9KTtmdW5jdGlvbiBteWEodCl7cmV0dXJue3BlZXI6dCxhc3luYyBnZXRUYWdCeUlkKGUpe2lmKCF0LnRhZ3MuaGFzKGUpKXJldHVybjtsZXQgYT10LmRhdGEuZ2V0KGAke0pIZX0ke2V9YCk7cmV0dXJue2lkOmUscGF5bG9hZDphfX19fXZhciBKSGUsZXFlLGIxYT1jKCgpPT57ZzFhKCk7SkhlPSJfX3R5cGVkc29ja2V0X3RhZ19fIjtpKG15YSwid3JhcFNtYXJ0U2VydmVQZWVyIik7ZXFlPWNsYXNzIHR7c3RhdGlje2kodGhpcywiVHlwZWRTb2NrZXQiKX1zdGF0aWMgYXN5bmMgY3JlYXRlQ2xpZW50KGUsYSxyPXt9KXtsZXQgbj17Li4ue2F1dG9SZWNvbm5lY3Q6ITAsbWF4UmV0cmllczoxMDAsaW5pdGlhbEJhY2tvZmZNczoxZTMsbWF4QmFja29mZk1zOjZlNH0sLi4ucn0sbz1uZXcgdCgiY2xpZW50IixlKTtyZXR1cm4gby5jbGllbnRPcHRpb25zPW4sby5zZXJ2ZXJVcmw9YSxvLmN1cnJlbnRCYWNrb2ZmPW4uaW5pdGlhbEJhY2tvZmZNcyxhd2FpdCBvLmNvbm5lY3QoKSxvfXN0YXRpY3t0aGlzLnVzZVdpbmRvd0xvY2F0aW9uT3JpZ2luVXJsPSgpPT5CaS5TbWFydHVybC5jcmVhdGVGcm9tVXJsKGdsb2JhbFRoaXMubG9jYXRpb24ub3JpZ2luKS50b1N0cmluZygpfXN0YXRpYyBmcm9tU21hcnRTZXJ2ZShlLGEpe2xldCByPW5ldyBNYXA7dC5yZWdpc3RlclRhZ0hhbmRsZXJzKGEpO2xldCBzPW5ldyB0KCJzZXJ2ZXIiLGEpO3JldHVybiBzLnNtYXJ0U2VydmVSZWY9ZSxzLnNtYXJ0U2VydmVDb25uZWN0aW9uV3JhcHBlcnM9cixzfXN0YXRpYyByZWdpc3RlclRhZ0hhbmRsZXJzKGUpe2UuYWRkVHlwZWRIYW5kbGVyKG5ldyBlMS5UeXBlZEhhbmRsZXIoIl9fdHlwZWRzb2NrZXRfc2V0VGFnIixhc3luYyhhLHIpPT57bGV0IHM9cj8ubG9jYWxEYXRhPy5wZWVyO3JldHVybiBzPyhzLnRhZ3MuYWRkKGEubmFtZSkscy5kYXRhLnNldChgJHtKSGV9JHthLm5hbWV9YCxhLnBheWxvYWQpLHtzdWNjZXNzOiEwfSk6KGNvbnNvbGUud2Fybigic2V0VGFnOiBObyBwZWVyIGZvdW5kIGluIHJlcXVlc3QgY29udGV4dCIpLHtzdWNjZXNzOiExfSl9KSksZS5hZGRUeXBlZEhhbmRsZXIobmV3IGUxLlR5cGVkSGFuZGxlcigiX190eXBlZHNvY2tldF9yZW1vdmVUYWciLGFzeW5jKGEscik9PntsZXQgcz1yPy5sb2NhbERhdGE/LnBlZXI7cmV0dXJuIHM/KHMudGFncy5kZWxldGUoYS5uYW1lKSxzLmRhdGEuZGVsZXRlKGAke0pIZX0ke2EubmFtZX1gKSx7c3VjY2VzczohMH0pOihjb25zb2xlLndhcm4oInJlbW92ZVRhZzogTm8gcGVlciBmb3VuZCBpbiByZXF1ZXN0IGNvbnRleHQiKSx7c3VjY2VzczohMX0pfSkpfWNvbnN0cnVjdG9yKGUsYSl7dGhpcy5zdGF0dXNTdWJqZWN0PW5ldyBZdC5yeGpzLlN1YmplY3QsdGhpcy5jb25uZWN0aW9uU3RhdHVzPSJuZXciLHRoaXMud2Vic29ja2V0PW51bGwsdGhpcy5jbGllbnRPcHRpb25zPW51bGwsdGhpcy5zZXJ2ZXJVcmw9IiIsdGhpcy5yZXRyeUNvdW50PTAsdGhpcy5jdXJyZW50QmFja29mZj0xZTMsdGhpcy5wZW5kaW5nUmVxdWVzdHM9bmV3IE1hcCx0aGlzLnNtYXJ0U2VydmVSZWY9bnVsbCx0aGlzLnNtYXJ0U2VydmVDb25uZWN0aW9uV3JhcHBlcnM9bmV3IE1hcCx0aGlzLnNpZGU9ZSx0aGlzLnR5cGVkcm91dGVyPWF9YXN5bmMgY29ubmVjdCgpe2xldCBlPUplLmRlZmVyKCk7dGhpcy51cGRhdGVTdGF0dXMoImNvbm5lY3RpbmciKTtsZXQgYT10aGlzLnRvV2ViU29ja2V0VXJsKHRoaXMuc2VydmVyVXJsKTtjb25zb2xlLmxvZyhgVHlwZWRTb2NrZXQgY29ubmVjdGluZyB0byAke2F9Li4uYCksdGhpcy53ZWJzb2NrZXQ9bmV3IFdlYlNvY2tldChhKTtsZXQgcj1zZXRUaW1lb3V0KCgpPT57dGhpcy5jb25uZWN0aW9uU3RhdHVzIT09ImNvbm5lY3RlZCImJihjb25zb2xlLndhcm4oIlR5cGVkU29ja2V0IGNvbm5lY3Rpb24gdGltZW91dCIpLHRoaXMud2Vic29ja2V0Py5jbG9zZSgpLGUucmVqZWN0KG5ldyBFcnJvcigiQ29ubmVjdGlvbiB0aW1lb3V0IikpKX0sMWU0KTt0aGlzLndlYnNvY2tldC5vbm9wZW49KCk9PntjbGVhclRpbWVvdXQociksY29uc29sZS5sb2coIlR5cGVkU29ja2V0IGNvbm5lY3RlZCEiKSx0aGlzLnVwZGF0ZVN0YXR1cygiY29ubmVjdGVkIiksdGhpcy5yZXRyeUNvdW50PTAsdGhpcy5jdXJyZW50QmFja29mZj10aGlzLmNsaWVudE9wdGlvbnM/LmluaXRpYWxCYWNrb2ZmTXM/PzFlMyxlLnJlc29sdmUoKX0sdGhpcy53ZWJzb2NrZXQub25tZXNzYWdlPWFzeW5jIHM9Pnthd2FpdCB0aGlzLmhhbmRsZU1lc3NhZ2Uocy5kYXRhKX0sdGhpcy53ZWJzb2NrZXQub25jbG9zZT0oKT0+e2NsZWFyVGltZW91dChyKSx0aGlzLmhhbmRsZURpc2Nvbm5lY3QoKX0sdGhpcy53ZWJzb2NrZXQub25lcnJvcj1zPT57Y29uc29sZS5lcnJvcigiVHlwZWRTb2NrZXQgV2ViU29ja2V0IGVycm9yOiIscyl9O3RyeXthd2FpdCBlLnByb21pc2V9Y2F0Y2gocyl7aWYoY2xlYXJUaW1lb3V0KHIpLHRoaXMuY2xpZW50T3B0aW9ucz8uYXV0b1JlY29ubmVjdClhd2FpdCB0aGlzLnNjaGVkdWxlUmVjb25uZWN0KCk7ZWxzZSB0aHJvdyBzfX10b1dlYlNvY2tldFVybChlKXtsZXQgYT1uZXcgVVJMKGUpO3JldHVybmAke2EucHJvdG9jb2w9PT0iaHR0cHM6Ij8id3NzOiI6IndzOiJ9Ly8ke2EuaG9zdH0ke2EucGF0aG5hbWV9YH1hc3luYyBoYW5kbGVNZXNzYWdlKGUpe3RyeXtsZXQgYT10eXBlb2YgZT09InN0cmluZyI/ZTpuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoZSkscj1WMS5wYXJzZShhKTtpZihyLmNvcnJlbGF0aW9uPy5pZCYmdGhpcy5wZW5kaW5nUmVxdWVzdHMuaGFzKHIuY29ycmVsYXRpb24uaWQpKXtsZXQgbj10aGlzLnBlbmRpbmdSZXF1ZXN0cy5nZXQoci5jb3JyZWxhdGlvbi5pZCk7dGhpcy5wZW5kaW5nUmVxdWVzdHMuZGVsZXRlKHIuY29ycmVsYXRpb24uaWQpLG4ucmVzb2x2ZShyKTtyZXR1cm59bGV0IHM9YXdhaXQgdGhpcy50eXBlZHJvdXRlci5yb3V0ZUFuZEFkZFJlc3BvbnNlKHIpO3MmJnRoaXMud2Vic29ja2V0Py5yZWFkeVN0YXRlPT09V2ViU29ja2V0Lk9QRU4mJnRoaXMud2Vic29ja2V0LnNlbmQoVjEuc3RyaW5naWZ5KHMpKX1jYXRjaChhKXtjb25zb2xlLmVycm9yKCJUeXBlZFNvY2tldCBmYWlsZWQgdG8gcHJvY2VzcyBtZXNzYWdlOiIsYSl9fWhhbmRsZURpc2Nvbm5lY3QoKXtpZih0aGlzLmNvbm5lY3Rpb25TdGF0dXMhPT0iZGlzY29ubmVjdGVkIil7dGhpcy51cGRhdGVTdGF0dXMoImRpc2Nvbm5lY3RlZCIpO2ZvcihsZXRbZSxhXW9mIHRoaXMucGVuZGluZ1JlcXVlc3RzKWEucmVqZWN0KG5ldyBFcnJvcigiVHlwZWRTb2NrZXQgZGlzY29ubmVjdGVkIikpO3RoaXMucGVuZGluZ1JlcXVlc3RzLmNsZWFyKCksdGhpcy5jbGllbnRPcHRpb25zPy5hdXRvUmVjb25uZWN0JiZ0aGlzLnJldHJ5Q291bnQ8dGhpcy5jbGllbnRPcHRpb25zLm1heFJldHJpZXMmJnRoaXMuc2NoZWR1bGVSZWNvbm5lY3QoKX19YXN5bmMgc2NoZWR1bGVSZWNvbm5lY3QoKXtpZighdGhpcy5jbGllbnRPcHRpb25zKXJldHVybjt0aGlzLnVwZGF0ZVN0YXR1cygicmVjb25uZWN0aW5nIiksdGhpcy5yZXRyeUNvdW50Kys7bGV0IGU9dGhpcy5jdXJyZW50QmFja29mZiouMiooTWF0aC5yYW5kb20oKSoyLTEpLGE9TWF0aC5taW4odGhpcy5jdXJyZW50QmFja29mZitlLHRoaXMuY2xpZW50T3B0aW9ucy5tYXhCYWNrb2ZmTXMpO2NvbnNvbGUubG9nKGBUeXBlZFNvY2tldCByZWNvbm5lY3RpbmcgaW4gJHtNYXRoLnJvdW5kKGEpfW1zIChhdHRlbXB0ICR7dGhpcy5yZXRyeUNvdW50fS8ke3RoaXMuY2xpZW50T3B0aW9ucy5tYXhSZXRyaWVzfSlgKSxhd2FpdCBTdC5kZWxheUZvcihhKSx0aGlzLmN1cnJlbnRCYWNrb2ZmPU1hdGgubWluKHRoaXMuY3VycmVudEJhY2tvZmYqMix0aGlzLmNsaWVudE9wdGlvbnMubWF4QmFja29mZk1zKTt0cnl7YXdhaXQgdGhpcy5jb25uZWN0KCl9Y2F0Y2gocil7Y29uc29sZS5lcnJvcigiVHlwZWRTb2NrZXQgcmVjb25uZWN0aW9uIGZhaWxlZDoiLHIpfX11cGRhdGVTdGF0dXMoZSl7dGhpcy5jb25uZWN0aW9uU3RhdHVzIT09ZSYmKHRoaXMuY29ubmVjdGlvblN0YXR1cz1lLHRoaXMuc3RhdHVzU3ViamVjdC5uZXh0KGUpKX1hc3luYyBzZW5kUmVxdWVzdChlKXtpZighdGhpcy53ZWJzb2NrZXR8fHRoaXMud2Vic29ja2V0LnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTil0aHJvdyBuZXcgRXJyb3IoIldlYlNvY2tldCBub3QgY29ubmVjdGVkIik7cmV0dXJuIG5ldyBQcm9taXNlKChhLHIpPT57bGV0IHM9c2V0VGltZW91dCgoKT0+e3RoaXMucGVuZGluZ1JlcXVlc3RzLmRlbGV0ZShlLmNvcnJlbGF0aW9uLmlkKSxyKG5ldyBFcnJvcigiUmVxdWVzdCB0aW1lb3V0IikpfSwzZTQpO3RoaXMucGVuZGluZ1JlcXVlc3RzLnNldChlLmNvcnJlbGF0aW9uLmlkLHtyZXNvbHZlOmkobj0+e2NsZWFyVGltZW91dChzKSxhKG4pfSwicmVzb2x2ZSIpLHJlamVjdDppKG49PntjbGVhclRpbWVvdXQocykscihuKX0sInJlamVjdCIpfSksdGhpcy53ZWJzb2NrZXQuc2VuZChWMS5zdHJpbmdpZnkoZSkpfSl9Y3JlYXRlVHlwZWRSZXF1ZXN0KGUsYSl7bGV0IHI9aShhc3luYyBzPT57aWYodGhpcy5zaWRlPT09ImNsaWVudCIpcmV0dXJuIHRoaXMuc2VuZFJlcXVlc3Qocyk7aWYoIXRoaXMuc21hcnRTZXJ2ZVJlZil0aHJvdyBuZXcgRXJyb3IoIlNlcnZlciBub3QgaW5pdGlhbGl6ZWQiKTtsZXQgbj1hO2lmKCFuKXtsZXQgbD10aGlzLnNtYXJ0U2VydmVSZWYuZ2V0V2ViU29ja2V0Q29ubmVjdGlvbnMoKTtpZihsLmxlbmd0aD09PTEpe2xldCBoPWxbMF07bj10aGlzLmdldE9yQ3JlYXRlV3JhcHBlcihoKX1lbHNlIHRocm93IGwubGVuZ3RoPT09MD9uZXcgRXJyb3IoIk5vIFdlYlNvY2tldCBjb25uZWN0aW9ucyBhdmFpbGFibGUiKTpuZXcgRXJyb3IoIk11bHRpcGxlIGNvbm5lY3Rpb25zIGF2YWlsYWJsZSAtIHNwZWNpZnkgdGFyZ2V0Q29ubmVjdGlvbiIpfWxldCBvPWF3YWl0IHRoaXMudHlwZWRyb3V0ZXIuZmlyZUV2ZW50SW50ZXJlc3RNYXAuYWRkSW50ZXJlc3Qocy5jb3JyZWxhdGlvbi5pZCxzKTtyZXR1cm4gbi5wZWVyLnNlbmQoVjEuc3RyaW5naWZ5KHMpKSxhd2FpdCBvLmludGVyZXN0RnVsbGZpbGxlZH0sInBvc3RNZXRob2QiKTtyZXR1cm4gbmV3IGUxLlR5cGVkUmVxdWVzdChuZXcgZTEuVHlwZWRUYXJnZXQoe3Bvc3RNZXRob2Q6cn0pLGUpfWdldFN0YXR1cygpe3JldHVybiB0aGlzLmNvbm5lY3Rpb25TdGF0dXN9YXN5bmMgc3RvcCgpe3RoaXMuc2lkZT09PSJjbGllbnQiPyh0aGlzLmNsaWVudE9wdGlvbnMmJih0aGlzLmNsaWVudE9wdGlvbnMuYXV0b1JlY29ubmVjdD0hMSksdGhpcy53ZWJzb2NrZXQmJih0aGlzLndlYnNvY2tldC5jbG9zZSgpLHRoaXMud2Vic29ja2V0PW51bGwpLHRoaXMucGVuZGluZ1JlcXVlc3RzLmNsZWFyKCkpOnRoaXMuc21hcnRTZXJ2ZUNvbm5lY3Rpb25XcmFwcGVycy5jbGVhcigpfWFzeW5jIHNldFRhZyhlLGEpe2lmKHRoaXMuc2lkZSE9PSJjbGllbnQiKXRocm93IG5ldyBFcnJvcigic2V0VGFnIGlzIG9ubHkgYXZhaWxhYmxlIG9uIGNsaWVudHMiKTtpZighKGF3YWl0IHRoaXMuY3JlYXRlVHlwZWRSZXF1ZXN0KCJfX3R5cGVkc29ja2V0X3NldFRhZyIpLmZpcmUoe25hbWU6ZSxwYXlsb2FkOmF9KSkuc3VjY2Vzcyl0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBzZXQgdGFnIG9uIHNlcnZlciIpfWFzeW5jIHJlbW92ZVRhZyhlKXtpZih0aGlzLnNpZGUhPT0iY2xpZW50Iil0aHJvdyBuZXcgRXJyb3IoInJlbW92ZVRhZyBpcyBvbmx5IGF2YWlsYWJsZSBvbiBjbGllbnRzIik7aWYoIShhd2FpdCB0aGlzLmNyZWF0ZVR5cGVkUmVxdWVzdCgiX190eXBlZHNvY2tldF9yZW1vdmVUYWciKS5maXJlKHtuYW1lOmV9KSkuc3VjY2Vzcyl0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byByZW1vdmUgdGFnIG9uIHNlcnZlciIpfWdldE9yQ3JlYXRlV3JhcHBlcihlKXtsZXQgYT10aGlzLnNtYXJ0U2VydmVDb25uZWN0aW9uV3JhcHBlcnMuZ2V0KGUuaWQpO3JldHVybiBhfHwoYT1teWEoZSksdGhpcy5zbWFydFNlcnZlQ29ubmVjdGlvbldyYXBwZXJzLnNldChlLmlkLGEpKSxhfWFzeW5jIGZpbmRBbGxUYXJnZXRDb25uZWN0aW9ucyhlKXtpZih0aGlzLnNpZGUhPT0ic2VydmVyInx8IXRoaXMuc21hcnRTZXJ2ZVJlZil0aHJvdyBuZXcgRXJyb3IoImZpbmRBbGxUYXJnZXRDb25uZWN0aW9ucyBpcyBvbmx5IGF2YWlsYWJsZSBvbiBzZXJ2ZXJzIik7bGV0IGE9W107Zm9yKGxldCByIG9mIHRoaXMuc21hcnRTZXJ2ZVJlZi5nZXRXZWJTb2NrZXRDb25uZWN0aW9ucygpKXtsZXQgcz10aGlzLmdldE9yQ3JlYXRlV3JhcHBlcihyKTthd2FpdCBlKHMpJiZhLnB1c2gocyl9cmV0dXJuIGF9YXN5bmMgZmluZFRhcmdldENvbm5lY3Rpb24oZSl7cmV0dXJuKGF3YWl0IHRoaXMuZmluZEFsbFRhcmdldENvbm5lY3Rpb25zKGUpKVswXX1hc3luYyBmaW5kQWxsVGFyZ2V0Q29ubmVjdGlvbnNCeVRhZyhlLGEpe2lmKHRoaXMuc2lkZSE9PSJzZXJ2ZXIifHwhdGhpcy5zbWFydFNlcnZlUmVmKXRocm93IG5ldyBFcnJvcigiZmluZEFsbFRhcmdldENvbm5lY3Rpb25zQnlUYWcgaXMgb25seSBhdmFpbGFibGUgb24gc2VydmVycyIpO2xldCByPXRoaXMuc21hcnRTZXJ2ZVJlZi5nZXRXZWJTb2NrZXRDb25uZWN0aW9uc0J5VGFnKGUpLHM9W107Zm9yKGxldCBuIG9mIHIpe2xldCBvPXRoaXMuZ2V0T3JDcmVhdGVXcmFwcGVyKG4pO2lmKGEhPT12b2lkIDApe2xldCBsPWF3YWl0IG8uZ2V0VGFnQnlJZChlKTtpZihWMS5zdHJpbmdpZnkobD8ucGF5bG9hZCkhPT1WMS5zdHJpbmdpZnkoYSkpY29udGludWV9cy5wdXNoKG8pfXJldHVybiBzfWFzeW5jIGZpbmRUYXJnZXRDb25uZWN0aW9uQnlUYWcoZSxhKXtyZXR1cm4oYXdhaXQgdGhpcy5maW5kQWxsVGFyZ2V0Q29ubmVjdGlvbnNCeVRhZyhlLGEpKVswXX19fSk7dmFyIHVwPXt9O2V0KHVwLHtUeXBlZFNvY2tldDooKT0+ZXFlfSk7dmFyIHYxYT1jKCgpPT57YjFhKCl9KTt2YXIgYXQsTGk9YygoKT0+e3BlKCk7Z0hlKCk7bDFhKCk7djFhKCk7YXQ9dnR9KTt2YXIgbGkseDFhPWMoKCk9PntwZSgpO2xpPVhgCiAgOmhvc3QgewogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXJnaW46IGF1dG87CiAgICBtYXgtd2lkdGg6IDEyODBweDsKICAgIHBhZGRpbmc6IDE2cHggMTZweDsKICB9CmB9KTt2YXIgeTFhLHRxZSxneWEsSkIsdzFhPWMoKCk9PntwZSgpO3kxYT1bYWUoIm9iLXNlY3Rpb25oZWFkaW5nIildO0pCPWNsYXNzIGV4dGVuZHMoZ3lhPWNlKXtzdGF0aWN7aSh0aGlzLCJPYlNlY3Rpb25IZWFkaW5nIil9c3RhdGljIHN0eWxlcz1bZC5kZWZhdWx0U3R5bGVzLFhgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CiAgICAgIC5oZWFkaW5nIHsKICAgICAgICBmb250LWZhbWlseTogJ0NhbCBTYW5zJywgJ0ludGVyJywgc2Fucy1zZXJpZjsKICAgICAgICBmb250LXNpemU6IDI4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiMxMTEiLCIjZmZmIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGgxIGNsYXNzPSJoZWFkaW5nIj4KICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgIDwvaDE+CiAgICBgfX07dHFlPUYxKGd5YSksSkI9eHQodHFlLDAsIk9iU2VjdGlvbkhlYWRpbmciLHkxYSxKQiksV2UodHFlLDEsSkIpfSk7dmFyIFpvPWMoKCk9Pnt4MWEoKTt3MWEoKX0pO3ZhciBscj1jKCgpPT57aTUoKX0pO3ZhciBNMWE9YygoKT0+e30pO3ZhciBrMWE9YygoKT0+e30pO3ZhciB6MWE9YygoKT0+e30pO3ZhciBTMWE9YygoKT0+e30pO3ZhciBDMWE9YygoKT0+e30pO3ZhciBfMWE9YygoKT0+e30pO3ZhciBieWEsVDFhPWMoKCk9PntieWE9e3N0YW5kYXJkOntob3VybHk6MCxkYWlseTo3LHdlZWtseTo0LG1vbnRobHk6MTJ9LGZyZXF1ZW50Ontob3VybHk6MjQsZGFpbHk6Nyx3ZWVrbHk6NCxtb250aGx5OjEyfSxtaW5pbWFsOntob3VybHk6MCxkYWlseTozLHdlZWtseToyLG1vbnRobHk6Nn0sbG9uZ3Rlcm06e2hvdXJseTowLGRhaWx5OjE0LHdlZWtseTo4LG1vbnRobHk6MjR9fX0pO3ZhciBMMWE9YygoKT0+e30pO3ZhciAkMWE9YygoKT0+e30pO3ZhciBhcWU9e307ZXQoYXFlLHtSRVRFTlRJT05fUFJFU0VUUzooKT0+YnlhfSk7dmFyIGNyPWMoKCk9PntNMWEoKTtrMWEoKTt6MWEoKTtTMWEoKTtDMWEoKTtfMWEoKTtUMWEoKTtMMWEoKTskMWEoKX0pO3ZhciBEMWE9YygoKT0+e2xyKCk7Y3IoKX0pO3ZhciBBMWE9YygoKT0+e2xyKCk7Y3IoKX0pO3ZhciBQMWE9YygoKT0+e2xyKCk7Y3IoKX0pO3ZhciBFMWE9YygoKT0+e2xyKCk7Y3IoKX0pO3ZhciBJMWE9YygoKT0+e2xyKCk7Y3IoKX0pO3ZhciBOMWE9YygoKT0+e2xyKCk7Y3IoKX0pO3ZhciBSMWE9YygoKT0+e2xyKCk7Y3IoKX0pO3ZhciBGMWE9YygoKT0+e2xyKCk7Y3IoKX0pO3ZhciBPMWE9YygoKT0+e2xyKCk7Y3IoKX0pO3ZhciBCMWE9YygoKT0+e2xyKCk7Y3IoKX0pO3ZhciBIMWE9YygoKT0+e2xyKCk7Y3IoKX0pO3ZhciBxMWE9YygoKT0+e2xyKCk7Y3IoKX0pO3ZhciBWMWE9YygoKT0+e2xyKCk7Y3IoKX0pO3ZhciBqMWE9YygoKT0+e2xyKCk7Y3IoKX0pO3ZhciBVMWE9YygoKT0+e2xyKCk7Y3IoKX0pO3ZhciBXMWE9e307dmFyIEcxYT1jKCgpPT57RDFhKCk7QTFhKCk7UDFhKCk7RTFhKCk7STFhKCk7TjFhKCk7UjFhKCk7RjFhKCk7TzFhKCk7QjFhKCk7SDFhKCk7cTFhKCk7VjFhKCk7ajFhKCk7VTFhKCl9KTt2YXIgaHA9YygoKT0+e2xyKCk7Y3IoKTtHMWEoKX0pO2FzeW5jIGZ1bmN0aW9uIHl5YSgpe2lmKCFGNil0cnl7RjY9YXdhaXQgdXAuVHlwZWRTb2NrZXQuY3JlYXRlQ2xpZW50KHpYLHVwLlR5cGVkU29ja2V0LnVzZVdpbmRvd0xvY2F0aW9uT3JpZ2luVXJsKCkpLGF3YWl0IEY2LnNldFRhZygicm9sZSIsIm9wc19kYXNoYm9hcmQiKSxjb25zb2xlLmxvZygiVHlwZWRTb2NrZXQgZGFzaGJvYXJkIGNvbm5lY3Rpb24gZXN0YWJsaXNoZWQiKX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKCJUeXBlZFNvY2tldCBjb25uZWN0aW9uIGZhaWxlZDoiLHQpLEY2PW51bGx9fWFzeW5jIGZ1bmN0aW9uIHd5YSgpe2lmKEY2KXt0cnl7YXdhaXQgRjYuZGlzY29ubmVjdCgpfWNhdGNoe31GNj1udWxsfX12YXIgWG8sdzEsUW8scHQscWEsVXMsanMsS28sRTIsZXMsRnQsWTFhLFNYLGdwLGVILGlxZSx0SCxaMWEsWDFhLEsxYSxRMWEsSjFhLGVyYSxDWCxzcWUsb3FlLF9YLHRyYSxucWUsYUgsYXJhLHJyYSxpcmEsbHFlLFRYLHNyYSxMWCxvcmEsbnJhLFpXaSxscmEsWFdpLGNyYSxLV2ksZHJhLGNxZSxkcWUsUVdpLEpXaSxlR2ksbXAsdnlhLHJxZSxGNix6WCx4eWEscHJhLHVyYSxmcmEsSTI9Yyhhc3luYygpPT57TGkoKTtocCgpO1hvPW5ldyBhdC5wbHVnaW5zLnNtYXJ0c3RhdGUuU21hcnRzdGF0ZSx3MT1hd2FpdCBYby5nZXRTdGF0ZVBhcnQoImxvZ2luIix7aWRlbnRpdHk6bnVsbCxpc0xvZ2dlZEluOiExfSwicGVyc2lzdGVudCIpLFFvPWF3YWl0IFhvLmdldFN0YXRlUGFydCgic3lzdGVtIix7c3RhdHVzOm51bGx9LCJzb2Z0IikscHQ9YXdhaXQgWG8uZ2V0U3RhdGVQYXJ0KCJzZXJ2aWNlcyIse3NlcnZpY2VzOltdLGN1cnJlbnRTZXJ2aWNlOm51bGwsY3VycmVudFNlcnZpY2VMb2dzOltdLGN1cnJlbnRTZXJ2aWNlU3RhdHM6bnVsbCxwbGF0Zm9ybVNlcnZpY2VzOltdLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2U6bnVsbCxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlU3RhdHM6bnVsbCxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlTG9nczpbXX0sInNvZnQiKSxxYT1hd2FpdCBYby5nZXRTdGF0ZVBhcnQoIm5ldHdvcmsiLHt0YXJnZXRzOltdLHN0YXRzOm51bGwsdHJhZmZpY1N0YXRzOm51bGwsZG5zUmVjb3JkczpbXSxkb21haW5zOltdLGNlcnRpZmljYXRlczpbXX0sInNvZnQiKSxVcz1hd2FpdCBYby5nZXRTdGF0ZVBhcnQoInJlZ2lzdHJpZXMiLHt0b2tlbnM6W10scmVnaXN0cnlTdGF0dXM6bnVsbH0sInNvZnQiKSxqcz1hd2FpdCBYby5nZXRTdGF0ZVBhcnQoImJhY2t1cHMiLHtiYWNrdXBzOltdLHNjaGVkdWxlczpbXX0sInNvZnQiKSxLbz1hd2FpdCBYby5nZXRTdGF0ZVBhcnQoInNldHRpbmdzIix7c2V0dGluZ3M6bnVsbCxiYWNrdXBQYXNzd29yZENvbmZpZ3VyZWQ6ITF9LCJzb2Z0IiksRTI9YXdhaXQgWG8uZ2V0U3RhdGVQYXJ0KCJhcHBTdG9yZSIse2FwcHM6W10sdXBncmFkZWFibGVTZXJ2aWNlczpbXX0sInNvZnQiKSxlcz1hd2FpdCBYby5nZXRTdGF0ZVBhcnQoInVpIix7YWN0aXZlVmlldzoiZGFzaGJvYXJkIixhdXRvUmVmcmVzaDohMCxyZWZyZXNoSW50ZXJ2YWw6M2U0fSksRnQ9aSgoKT0+KHtpZGVudGl0eTp3MS5nZXRTdGF0ZSgpLmlkZW50aXR5fSksImdldEFjdGlvbkNvbnRleHQiKSxZMWE9dzEuY3JlYXRlQWN0aW9uKGFzeW5jKHQsZSk9Pnt0cnl7cmV0dXJue2lkZW50aXR5Oihhd2FpdCBuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiYWRtaW5Mb2dpbldpdGhVc2VybmFtZUFuZFBhc3N3b3JkIikuZmlyZSh7dXNlcm5hbWU6ZS51c2VybmFtZSxwYXNzd29yZDplLnBhc3N3b3JkfSkpLmlkZW50aXR5LGlzTG9nZ2VkSW46ITB9fWNhdGNoKGEpe3JldHVybiBjb25zb2xlLmVycm9yKCJMb2dpbiBmYWlsZWQ6IixhKSx7aWRlbnRpdHk6bnVsbCxpc0xvZ2dlZEluOiExfX19KSxTWD13MS5jcmVhdGVBY3Rpb24oYXN5bmMgdD0+e2xldCBlPUZ0KCk7dHJ5e2UuaWRlbnRpdHkmJmF3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJhZG1pbkxvZ291dCIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KX1jYXRjaChhKXtjb25zb2xlLmVycm9yKCJMb2dvdXQgZXJyb3I6IixhKX1yZXR1cm57aWRlbnRpdHk6bnVsbCxpc0xvZ2dlZEluOiExfX0pLGdwPVFvLmNyZWF0ZUFjdGlvbihhc3luYyB0PT57bGV0IGU9RnQoKTt0cnl7cmV0dXJue3N0YXR1czooYXdhaXQgbmV3IGF0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFN5c3RlbVN0YXR1cyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KSkuc3RhdHVzfX1jYXRjaChhKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHN5c3RlbSBzdGF0dXM6IixhKSx0LmdldFN0YXRlKCl9fSksZUg9cHQuY3JlYXRlQWN0aW9uKGFzeW5jIHQ9PntsZXQgZT1GdCgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0U2VydmljZXMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLnQuZ2V0U3RhdGUoKSxzZXJ2aWNlczpyLnNlcnZpY2VzfX1jYXRjaChhKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHNlcnZpY2VzOiIsYSksdC5nZXRTdGF0ZSgpfX0pLGlxZT1wdC5jcmVhdGVBY3Rpb24oYXN5bmModCxlKT0+e2xldCBhPUZ0KCk7dHJ5e2xldCBzPWF3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTZXJ2aWNlIikuZmlyZSh7aWRlbnRpdHk6YS5pZGVudGl0eSxzZXJ2aWNlTmFtZTplLm5hbWV9KTtyZXR1cm57Li4udC5nZXRTdGF0ZSgpLGN1cnJlbnRTZXJ2aWNlOnMuc2VydmljZX19Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBzZXJ2aWNlOiIsciksdC5nZXRTdGF0ZSgpfX0pLHRIPXB0LmNyZWF0ZUFjdGlvbihhc3luYyh0LGUpPT57bGV0IGE9RnQoKTt0cnl7YXdhaXQgbmV3IGF0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImNyZWF0ZVNlcnZpY2UiKS5maXJlKHtpZGVudGl0eTphLmlkZW50aXR5LHNlcnZpY2VDb25maWc6ZS5jb25maWd9KTtsZXQgbj1hd2FpdCBuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0U2VydmljZXMiKS5maXJlKHtpZGVudGl0eTphLmlkZW50aXR5fSk7cmV0dXJuey4uLnQuZ2V0U3RhdGUoKSxzZXJ2aWNlczpuLnNlcnZpY2VzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBzZXJ2aWNlOiIsciksdC5nZXRTdGF0ZSgpfX0pLFoxYT1wdC5jcmVhdGVBY3Rpb24oYXN5bmModCxlKT0+e2xldCBhPUZ0KCk7dHJ5e2F3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJkZWxldGVTZXJ2aWNlIikuZmlyZSh7aWRlbnRpdHk6YS5pZGVudGl0eSxzZXJ2aWNlTmFtZTplLm5hbWV9KTtsZXQgcz10LmdldFN0YXRlKCk7cmV0dXJuey4uLnMsc2VydmljZXM6cy5zZXJ2aWNlcy5maWx0ZXIobj0+bi5uYW1lIT09ZS5uYW1lKSxjdXJyZW50U2VydmljZTpudWxsfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGRlbGV0ZSBzZXJ2aWNlOiIsciksdC5nZXRTdGF0ZSgpfX0pLFgxYT1wdC5jcmVhdGVBY3Rpb24oYXN5bmModCxlKT0+e2xldCBhPUZ0KCk7dHJ5e2F3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJzdGFydFNlcnZpY2UiKS5maXJlKHtpZGVudGl0eTphLmlkZW50aXR5LHNlcnZpY2VOYW1lOmUubmFtZX0pO2xldCBuPWF3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTZXJ2aWNlcyIpLmZpcmUoe2lkZW50aXR5OmEuaWRlbnRpdHl9KTtyZXR1cm57Li4udC5nZXRTdGF0ZSgpLHNlcnZpY2VzOm4uc2VydmljZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc3RhcnQgc2VydmljZToiLHIpLHQuZ2V0U3RhdGUoKX19KSxLMWE9cHQuY3JlYXRlQWN0aW9uKGFzeW5jKHQsZSk9PntsZXQgYT1GdCgpO3RyeXthd2FpdCBuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0Iiwic3RvcFNlcnZpY2UiKS5maXJlKHtpZGVudGl0eTphLmlkZW50aXR5LHNlcnZpY2VOYW1lOmUubmFtZX0pO2xldCBuPWF3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTZXJ2aWNlcyIpLmZpcmUoe2lkZW50aXR5OmEuaWRlbnRpdHl9KTtyZXR1cm57Li4udC5nZXRTdGF0ZSgpLHNlcnZpY2VzOm4uc2VydmljZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc3RvcCBzZXJ2aWNlOiIsciksdC5nZXRTdGF0ZSgpfX0pLFExYT1wdC5jcmVhdGVBY3Rpb24oYXN5bmModCxlKT0+e2xldCBhPUZ0KCk7dHJ5e2F3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJyZXN0YXJ0U2VydmljZSIpLmZpcmUoe2lkZW50aXR5OmEuaWRlbnRpdHksc2VydmljZU5hbWU6ZS5uYW1lfSk7bGV0IG49YXdhaXQgbmV3IGF0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6YS5pZGVudGl0eX0pO3JldHVybnsuLi50LmdldFN0YXRlKCksc2VydmljZXM6bi5zZXJ2aWNlc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byByZXN0YXJ0IHNlcnZpY2U6IixyKSx0LmdldFN0YXRlKCl9fSksSjFhPXB0LmNyZWF0ZUFjdGlvbihhc3luYyh0LGUpPT57bGV0IGE9RnQoKTt0cnl7bGV0IHM9YXdhaXQgbmV3IGF0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNlcnZpY2VMb2dzIikuZmlyZSh7aWRlbnRpdHk6YS5pZGVudGl0eSxzZXJ2aWNlTmFtZTplLm5hbWUsdGFpbDplLmxpbmVzfHwyMDB9KTtyZXR1cm57Li4udC5nZXRTdGF0ZSgpLGN1cnJlbnRTZXJ2aWNlTG9nczpzLmxvZ3N9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggc2VydmljZSBsb2dzOiIsciksdC5nZXRTdGF0ZSgpfX0pLGVyYT1wdC5jcmVhdGVBY3Rpb24oYXN5bmModCxlKT0+e2xldCBhPUZ0KCk7dHJ5e2xldCBzPWF3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTZXJ2aWNlU3RhdHMiKS5maXJlKHtpZGVudGl0eTphLmlkZW50aXR5LHNlcnZpY2VOYW1lOmUubmFtZX0pO3JldHVybnsuLi50LmdldFN0YXRlKCksY3VycmVudFNlcnZpY2VTdGF0czpzLnN0YXRzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHNlcnZpY2Ugc3RhdHM6IixyKSx0LmdldFN0YXRlKCl9fSksQ1g9cHQuY3JlYXRlQWN0aW9uKGFzeW5jIHQ9PntsZXQgZT1GdCgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0UGxhdGZvcm1TZXJ2aWNlcyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4udC5nZXRTdGF0ZSgpLHBsYXRmb3JtU2VydmljZXM6ci5wbGF0Zm9ybVNlcnZpY2VzfX1jYXRjaChhKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHBsYXRmb3JtIHNlcnZpY2VzOiIsYSksdC5nZXRTdGF0ZSgpfX0pLHNxZT1wdC5jcmVhdGVBY3Rpb24oYXN5bmModCxlKT0+e2xldCBhPUZ0KCk7dHJ5e2F3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJzdGFydFBsYXRmb3JtU2VydmljZSIpLmZpcmUoe2lkZW50aXR5OmEuaWRlbnRpdHksc2VydmljZVR5cGU6ZS5zZXJ2aWNlVHlwZX0pO2xldCBuPWF3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRQbGF0Zm9ybVNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6YS5pZGVudGl0eX0pO3JldHVybnsuLi50LmdldFN0YXRlKCkscGxhdGZvcm1TZXJ2aWNlczpuLnBsYXRmb3JtU2VydmljZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc3RhcnQgcGxhdGZvcm0gc2VydmljZToiLHIpLHQuZ2V0U3RhdGUoKX19KSxvcWU9cHQuY3JlYXRlQWN0aW9uKGFzeW5jKHQsZSk9PntsZXQgYT1GdCgpO3RyeXthd2FpdCBuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0Iiwic3RvcFBsYXRmb3JtU2VydmljZSIpLmZpcmUoe2lkZW50aXR5OmEuaWRlbnRpdHksc2VydmljZVR5cGU6ZS5zZXJ2aWNlVHlwZX0pO2xldCBuPWF3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRQbGF0Zm9ybVNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6YS5pZGVudGl0eX0pO3JldHVybnsuLi50LmdldFN0YXRlKCkscGxhdGZvcm1TZXJ2aWNlczpuLnBsYXRmb3JtU2VydmljZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc3RvcCBwbGF0Zm9ybSBzZXJ2aWNlOiIsciksdC5nZXRTdGF0ZSgpfX0pLF9YPXB0LmNyZWF0ZUFjdGlvbihhc3luYyh0LGUpPT57bGV0IGE9RnQoKTt0cnl7bGV0IHM9YXdhaXQgbmV3IGF0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFBsYXRmb3JtU2VydmljZVN0YXRzIikuZmlyZSh7aWRlbnRpdHk6YS5pZGVudGl0eSxzZXJ2aWNlVHlwZTplLnNlcnZpY2VUeXBlfSk7cmV0dXJuey4uLnQuZ2V0U3RhdGUoKSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlU3RhdHM6cy5zdGF0c319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBwbGF0Zm9ybSBzZXJ2aWNlIHN0YXRzOiIsciksey4uLnQuZ2V0U3RhdGUoKSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlU3RhdHM6bnVsbH19fSksdHJhPXB0LmNyZWF0ZUFjdGlvbihhc3luYyh0LGUpPT57bGV0IGE9RnQoKTt0cnl7bGV0IHM9YXdhaXQgbmV3IGF0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFBsYXRmb3JtU2VydmljZUxvZ3MiKS5maXJlKHtpZGVudGl0eTphLmlkZW50aXR5LHNlcnZpY2VUeXBlOmUuc2VydmljZVR5cGUsdGFpbDplLnRhaWx8fDEwMH0pO3JldHVybnsuLi50LmdldFN0YXRlKCksY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3M6cy5sb2dzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHBsYXRmb3JtIHNlcnZpY2UgbG9nczoiLHIpLHsuLi50LmdldFN0YXRlKCksY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3M6W119fX0pLG5xZT1xYS5jcmVhdGVBY3Rpb24oYXN5bmMgdD0+e2xldCBlPUZ0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXROZXR3b3JrVGFyZ2V0cyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4udC5nZXRTdGF0ZSgpLHRhcmdldHM6ci50YXJnZXRzfX1jYXRjaChhKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIG5ldHdvcmsgdGFyZ2V0czoiLGEpLHQuZ2V0U3RhdGUoKX19KSxhSD1xYS5jcmVhdGVBY3Rpb24oYXN5bmMgdD0+e2xldCBlPUZ0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXROZXR3b3JrU3RhdHMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLnQuZ2V0U3RhdGUoKSxzdGF0czpyLnN0YXRzfX1jYXRjaChhKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIG5ldHdvcmsgc3RhdHM6IixhKSx0LmdldFN0YXRlKCl9fSksYXJhPXFhLmNyZWF0ZUFjdGlvbihhc3luYyB0PT57bGV0IGU9RnQoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IGF0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFRyYWZmaWNTdGF0cyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4udC5nZXRTdGF0ZSgpLHRyYWZmaWNTdGF0czpyLnN0YXRzfX1jYXRjaChhKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHRyYWZmaWMgc3RhdHM6IixhKSx0LmdldFN0YXRlKCl9fSkscnJhPXFhLmNyZWF0ZUFjdGlvbihhc3luYyB0PT57bGV0IGU9RnQoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IGF0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldERuc1JlY29yZHMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLnQuZ2V0U3RhdGUoKSxkbnNSZWNvcmRzOnIucmVjb3Jkc319Y2F0Y2goYSl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBETlMgcmVjb3JkczoiLGEpLHQuZ2V0U3RhdGUoKX19KSxpcmE9cWEuY3JlYXRlQWN0aW9uKGFzeW5jIHQ9PntsZXQgZT1GdCgpO3RyeXthd2FpdCBuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0Iiwic3luY0RucyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtsZXQgcz1hd2FpdCBuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0RG5zUmVjb3JkcyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4udC5nZXRTdGF0ZSgpLGRuc1JlY29yZHM6cy5yZWNvcmRzfX1jYXRjaChhKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHN5bmMgRE5TOiIsYSksdC5nZXRTdGF0ZSgpfX0pLGxxZT1xYS5jcmVhdGVBY3Rpb24oYXN5bmMgdD0+e2xldCBlPUZ0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXREb21haW5zIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi50LmdldFN0YXRlKCksZG9tYWluczpyLmRvbWFpbnN9fWNhdGNoKGEpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggZG9tYWluczoiLGEpLHQuZ2V0U3RhdGUoKX19KSxUWD1xYS5jcmVhdGVBY3Rpb24oYXN5bmMgdD0+e2xldCBlPUZ0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJsaXN0Q2VydGlmaWNhdGVzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi50LmdldFN0YXRlKCksY2VydGlmaWNhdGVzOnIuY2VydGlmaWNhdGVzfX1jYXRjaChhKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIGNlcnRpZmljYXRlczoiLGEpLHQuZ2V0U3RhdGUoKX19KSxzcmE9cWEuY3JlYXRlQWN0aW9uKGFzeW5jKHQsZSk9PntsZXQgYT1GdCgpO3RyeXthd2FpdCBuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwicmVuZXdDZXJ0aWZpY2F0ZSIpLmZpcmUoe2lkZW50aXR5OmEuaWRlbnRpdHksZG9tYWluOmUuZG9tYWlufSk7bGV0IG49YXdhaXQgbmV3IGF0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImxpc3RDZXJ0aWZpY2F0ZXMiKS5maXJlKHtpZGVudGl0eTphLmlkZW50aXR5fSk7cmV0dXJuey4uLnQuZ2V0U3RhdGUoKSxjZXJ0aWZpY2F0ZXM6bi5jZXJ0aWZpY2F0ZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gcmVuZXcgY2VydGlmaWNhdGU6IixyKSx0LmdldFN0YXRlKCl9fSksTFg9VXMuY3JlYXRlQWN0aW9uKGFzeW5jIHQ9PntsZXQgZT1GdCgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0UmVnaXN0cnlUb2tlbnMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLnQuZ2V0U3RhdGUoKSx0b2tlbnM6ci50b2tlbnN9fWNhdGNoKGEpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggcmVnaXN0cnkgdG9rZW5zOiIsYSksdC5nZXRTdGF0ZSgpfX0pLG9yYT1Vcy5jcmVhdGVBY3Rpb24oYXN5bmModCxlKT0+e2xldCBhPUZ0KCk7dHJ5e2F3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJjcmVhdGVSZWdpc3RyeVRva2VuIikuZmlyZSh7aWRlbnRpdHk6YS5pZGVudGl0eSx0b2tlbjplLnRva2VufSk7bGV0IG49YXdhaXQgbmV3IGF0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFJlZ2lzdHJ5VG9rZW5zIikuZmlyZSh7aWRlbnRpdHk6YS5pZGVudGl0eX0pO3JldHVybnsuLi50LmdldFN0YXRlKCksdG9rZW5zOm4udG9rZW5zfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSByZWdpc3RyeSB0b2tlbjoiLHIpLHQuZ2V0U3RhdGUoKX19KSxucmE9VXMuY3JlYXRlQWN0aW9uKGFzeW5jKHQsZSk9PntsZXQgYT1GdCgpO3RyeXthd2FpdCBuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZGVsZXRlUmVnaXN0cnlUb2tlbiIpLmZpcmUoe2lkZW50aXR5OmEuaWRlbnRpdHksdG9rZW5JZDplLnRva2VuSWR9KTtsZXQgcz10LmdldFN0YXRlKCk7cmV0dXJuey4uLnMsdG9rZW5zOnMudG9rZW5zLmZpbHRlcihuPT5uLmlkIT09ZS50b2tlbklkKX19Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBkZWxldGUgcmVnaXN0cnkgdG9rZW46IixyKSx0LmdldFN0YXRlKCl9fSksWldpPWpzLmNyZWF0ZUFjdGlvbihhc3luYyB0PT57bGV0IGU9RnQoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IGF0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldEJhY2t1cHMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLnQuZ2V0U3RhdGUoKSxiYWNrdXBzOnIuYmFja3Vwc319Y2F0Y2goYSl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBiYWNrdXBzOiIsYSksdC5nZXRTdGF0ZSgpfX0pLGxyYT1qcy5jcmVhdGVBY3Rpb24oYXN5bmModCxlKT0+e2xldCBhPUZ0KCk7dHJ5e2F3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJkZWxldGVCYWNrdXAiKS5maXJlKHtpZGVudGl0eTphLmlkZW50aXR5LGJhY2t1cElkOmUuYmFja3VwSWR9KTtsZXQgcz10LmdldFN0YXRlKCk7cmV0dXJuey4uLnMsYmFja3VwczpzLmJhY2t1cHMuZmlsdGVyKG49Pm4uaWQhPT1lLmJhY2t1cElkKX19Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBkZWxldGUgYmFja3VwOiIsciksdC5nZXRTdGF0ZSgpfX0pLFhXaT1qcy5jcmVhdGVBY3Rpb24oYXN5bmMgdD0+e2xldCBlPUZ0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRCYWNrdXBTY2hlZHVsZXMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLnQuZ2V0U3RhdGUoKSxzY2hlZHVsZXM6ci5zY2hlZHVsZXN9fWNhdGNoKGEpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggc2NoZWR1bGVzOiIsYSksdC5nZXRTdGF0ZSgpfX0pLGNyYT1qcy5jcmVhdGVBY3Rpb24oYXN5bmModCxlKT0+e2xldCBhPUZ0KCk7dHJ5e2F3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJjcmVhdGVCYWNrdXBTY2hlZHVsZSIpLmZpcmUoe2lkZW50aXR5OmEuaWRlbnRpdHksc2NoZWR1bGVDb25maWc6ZS5jb25maWd9KTtsZXQgbj1hd2FpdCBuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0QmFja3VwU2NoZWR1bGVzIikuZmlyZSh7aWRlbnRpdHk6YS5pZGVudGl0eX0pO3JldHVybnsuLi50LmdldFN0YXRlKCksc2NoZWR1bGVzOm4uc2NoZWR1bGVzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBzY2hlZHVsZToiLHIpLHQuZ2V0U3RhdGUoKX19KSxLV2k9anMuY3JlYXRlQWN0aW9uKGFzeW5jKHQsZSk9PntsZXQgYT1GdCgpO3RyeXthd2FpdCBuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZGVsZXRlQmFja3VwU2NoZWR1bGUiKS5maXJlKHtpZGVudGl0eTphLmlkZW50aXR5LHNjaGVkdWxlSWQ6ZS5zY2hlZHVsZUlkfSk7bGV0IHM9dC5nZXRTdGF0ZSgpO3JldHVybnsuLi5zLHNjaGVkdWxlczpzLnNjaGVkdWxlcy5maWx0ZXIobj0+bi5pZCE9PWUuc2NoZWR1bGVJZCl9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZGVsZXRlIHNjaGVkdWxlOiIsciksdC5nZXRTdGF0ZSgpfX0pLGRyYT1qcy5jcmVhdGVBY3Rpb24oYXN5bmModCxlKT0+e2xldCBhPUZ0KCk7dHJ5e2F3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJ0cmlnZ2VyQmFja3VwU2NoZWR1bGUiKS5maXJlKHtpZGVudGl0eTphLmlkZW50aXR5LHNjaGVkdWxlSWQ6ZS5zY2hlZHVsZUlkfSk7bGV0IG49YXdhaXQgbmV3IGF0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldEJhY2t1cHMiKS5maXJlKHtpZGVudGl0eTphLmlkZW50aXR5fSk7cmV0dXJuey4uLnQuZ2V0U3RhdGUoKSxiYWNrdXBzOm4uYmFja3Vwc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byB0cmlnZ2VyIHNjaGVkdWxlOiIsciksdC5nZXRTdGF0ZSgpfX0pLGNxZT1Lby5jcmVhdGVBY3Rpb24oYXN5bmMgdD0+e2xldCBlPUZ0KCk7dHJ5e2xldFthLHJdPWF3YWl0IFByb21pc2UuYWxsKFtuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0U2V0dGluZ3MiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSksbmV3IGF0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldEJhY2t1cFBhc3N3b3JkU3RhdHVzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pXSk7cmV0dXJue3NldHRpbmdzOmEuc2V0dGluZ3MsYmFja3VwUGFzc3dvcmRDb25maWd1cmVkOnIuc3RhdHVzLmlzQ29uZmlndXJlZH19Y2F0Y2goYSl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBzZXR0aW5nczoiLGEpLHQuZ2V0U3RhdGUoKX19KSxkcWU9S28uY3JlYXRlQWN0aW9uKGFzeW5jKHQsZSk9PntsZXQgYT1GdCgpO3RyeXtsZXQgcz1hd2FpdCBuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwidXBkYXRlU2V0dGluZ3MiKS5maXJlKHtpZGVudGl0eTphLmlkZW50aXR5LHNldHRpbmdzOmUuc2V0dGluZ3N9KTtyZXR1cm57Li4udC5nZXRTdGF0ZSgpLHNldHRpbmdzOnMuc2V0dGluZ3N9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gdXBkYXRlIHNldHRpbmdzOiIsciksdC5nZXRTdGF0ZSgpfX0pLFFXaT1Lby5jcmVhdGVBY3Rpb24oYXN5bmModCxlKT0+e2xldCBhPUZ0KCk7dHJ5e3JldHVybiBhd2FpdCBuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0Iiwic2V0QmFja3VwUGFzc3dvcmQiKS5maXJlKHtpZGVudGl0eTphLmlkZW50aXR5LHBhc3N3b3JkOmUucGFzc3dvcmR9KSx7Li4udC5nZXRTdGF0ZSgpLGJhY2t1cFBhc3N3b3JkQ29uZmlndXJlZDohMH19Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBzZXQgYmFja3VwIHBhc3N3b3JkOiIsciksdC5nZXRTdGF0ZSgpfX0pLEpXaT1lcy5jcmVhdGVBY3Rpb24oYXN5bmModCxlKT0+e2xldCBhPWUudmlldy50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xzKy9nLCItIik7cmV0dXJuey4uLnQuZ2V0U3RhdGUoKSxhY3RpdmVWaWV3OmF9fSksZUdpPWVzLmNyZWF0ZUFjdGlvbihhc3luYyB0PT57bGV0IGU9dC5nZXRTdGF0ZSgpO3JldHVybnsuLi5lLGF1dG9SZWZyZXNoOiFlLmF1dG9SZWZyZXNofX0pLG1wPW51bGwsdnlhPWkoYXN5bmMoKT0+e2lmKHcxLmdldFN0YXRlKCkuaXNMb2dnZWRJbil0cnl7YXdhaXQgUW8uZGlzcGF0Y2hBY3Rpb24oZ3AsbnVsbCl9Y2F0Y2h7fX0sImRpc3BhdGNoQ29tYmluZWRSZWZyZXNoQWN0aW9uIikscnFlPWkoKCk9PntsZXQgdD1lcy5nZXRTdGF0ZSgpLGU9dzEuZ2V0U3RhdGUoKTt0LmF1dG9SZWZyZXNoJiZlLmlzTG9nZ2VkSW4/KG1wJiZjbGVhckludGVydmFsKG1wKSxtcD1zZXRJbnRlcnZhbCgoKT0+e3Z5YSgpfSx0LnJlZnJlc2hJbnRlcnZhbCkpOm1wJiYoY2xlYXJJbnRlcnZhbChtcCksbXA9bnVsbCl9LCJzdGFydEF1dG9SZWZyZXNoIik7ZXMuc2VsZWN0KHQ9PnQpLnN1YnNjcmliZSgoKT0+cnFlKCkpLHcxLnNlbGVjdCh0PT50KS5zdWJzY3JpYmUoKCk9PnJxZSgpKSxycWUoKTtGNj1udWxsLHpYPW5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJvdXRlcix4eWE9aSgodCxlKT0+e2xldCBhPXQuZmluZEluZGV4KHM9PnMubmFtZT09PWUubmFtZSk7aWYoYT09PS0xKXJldHVyblsuLi50LGVdO2xldCByPVsuLi50XTtyZXR1cm4gclthXT1lLHJ9LCJ1cHNlcnRTZXJ2aWNlIik7elguYWRkVHlwZWRIYW5kbGVyKG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZEhhbmRsZXIoInB1c2hTZXJ2aWNlVXBkYXRlIixhc3luYyB0PT57bGV0IGU9cHQuZ2V0U3RhdGUoKSxhPWUuc2VydmljZXMscj1lLmN1cnJlbnRTZXJ2aWNlLHM9ZS5jdXJyZW50U2VydmljZUxvZ3Msbj1lLmN1cnJlbnRTZXJ2aWNlU3RhdHM7cmV0dXJuIHQuYWN0aW9uPT09ImRlbGV0ZWQiPyhhPWEuZmlsdGVyKG89Pm8ubmFtZSE9PXQuc2VydmljZU5hbWUpLHI/Lm5hbWU9PT10LnNlcnZpY2VOYW1lJiYocj1udWxsLHM9W10sbj1udWxsKSk6dC5zZXJ2aWNlJiYoYT14eWEoYSx0LnNlcnZpY2UpLHI/Lm5hbWU9PT10LnNlcnZpY2UubmFtZSYmKHI9dC5zZXJ2aWNlKSkscHQuc2V0U3RhdGUoey4uLmUsc2VydmljZXM6YSxjdXJyZW50U2VydmljZTpyLGN1cnJlbnRTZXJ2aWNlTG9nczpzLGN1cnJlbnRTZXJ2aWNlU3RhdHM6bn0pLHt9fSkpLHpYLmFkZFR5cGVkSGFuZGxlcihuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRIYW5kbGVyKCJwdXNoUGxhdGZvcm1TZXJ2aWNlTG9nIixhc3luYyB0PT57bGV0IGU9cHQuZ2V0U3RhdGUoKSxhPXtpZDplLmN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VMb2dzLmxlbmd0aCxzZXJ2aWNlSWQ6MCx0aW1lc3RhbXA6bmV3IERhdGUodC5lbnRyeS50aW1lc3RhbXApLmdldFRpbWUoKSxtZXNzYWdlOnQuZW50cnkubWVzc2FnZSxsZXZlbDp0LmVudHJ5LmxldmVsLHNvdXJjZToic3Rkb3V0In0scj1bLi4uZS5jdXJyZW50UGxhdGZvcm1TZXJ2aWNlTG9ncyxhXTtyZXR1cm4gci5sZW5ndGg+MmUzJiZyLnNwbGljZSgwLHIubGVuZ3RoLTJlMykscHQuc2V0U3RhdGUoey4uLmUsY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3M6cn0pLHt9fSkpLHpYLmFkZFR5cGVkSGFuZGxlcihuZXcgYXQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRIYW5kbGVyKCJwdXNoU2VydmljZUxvZyIsYXN5bmMgdD0+e2xldCBlPXB0LmdldFN0YXRlKCk7aWYoIWUuY3VycmVudFNlcnZpY2V8fGUuY3VycmVudFNlcnZpY2UubmFtZSE9PXQuc2VydmljZU5hbWUpcmV0dXJue307bGV0IGE9e2lkOmUuY3VycmVudFNlcnZpY2VMb2dzLmxlbmd0aCxzZXJ2aWNlSWQ6MCx0aW1lc3RhbXA6bmV3IERhdGUodC5lbnRyeS50aW1lc3RhbXApLmdldFRpbWUoKSxtZXNzYWdlOnQuZW50cnkubWVzc2FnZSxsZXZlbDp0LmVudHJ5LmxldmVsLHNvdXJjZToic3Rkb3V0In0scj1bLi4uZS5jdXJyZW50U2VydmljZUxvZ3MsYV07cmV0dXJuIHIubGVuZ3RoPjJlMyYmci5zcGxpY2UoMCxyLmxlbmd0aC0yZTMpLHB0LnNldFN0YXRlKHsuLi5lLGN1cnJlbnRTZXJ2aWNlTG9nczpyfSkse319KSk7aSh5eWEsImNvbm5lY3RTb2NrZXQiKTtpKHd5YSwiZGlzY29ubmVjdFNvY2tldCIpO3ByYT1FMi5jcmVhdGVBY3Rpb24oYXN5bmMgdD0+e2xldCBlPUZ0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRBcHBUZW1wbGF0ZXMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLnQuZ2V0U3RhdGUoKSxhcHBzOnIuYXBwc319Y2F0Y2goYSl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBhcHAgdGVtcGxhdGVzOiIsYSksdC5nZXRTdGF0ZSgpfX0pLHVyYT1FMi5jcmVhdGVBY3Rpb24oYXN5bmMgdD0+e2xldCBlPUZ0KCk7dHJ5e2xldCByPWF3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRVcGdyYWRlYWJsZVNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi50LmdldFN0YXRlKCksdXBncmFkZWFibGVTZXJ2aWNlczpyLnNlcnZpY2VzfX1jYXRjaChhKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHVwZ3JhZGVhYmxlIHNlcnZpY2VzOiIsYSksdC5nZXRTdGF0ZSgpfX0pLGZyYT1FMi5jcmVhdGVBY3Rpb24oYXN5bmModCxlKT0+e2xldCBhPUZ0KCk7dHJ5e2F3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJ1cGdyYWRlU2VydmljZSIpLmZpcmUoe2lkZW50aXR5OmEuaWRlbnRpdHksc2VydmljZU5hbWU6ZS5zZXJ2aWNlTmFtZSx0YXJnZXRWZXJzaW9uOmUudGFyZ2V0VmVyc2lvbn0pO2xldCBuPWF3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRVcGdyYWRlYWJsZVNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6YS5pZGVudGl0eX0pO3JldHVybnsuLi50LmdldFN0YXRlKCksdXBncmFkZWFibGVTZXJ2aWNlczpuLnNlcnZpY2VzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHVwZ3JhZGUgc2VydmljZToiLHIpLHQuZ2V0U3RhdGUoKX19KTt3MS5zZWxlY3QodD0+dCkuc3Vic2NyaWJlKHQ9Pnt0LmlzTG9nZ2VkSW4/eXlhKCk6d3lhKCl9KX0pO3ZhciBNeWEscHFlLHVxZSx0cyxicD1jKGFzeW5jKCk9PntMaSgpO2F3YWl0IEkyKCk7TXlhPWF0LnBsdWdpbnMuc21hcnRyb3V0ZXIuU21hcnRSb3V0ZXIscHFlPVsiZGFzaGJvYXJkIiwiYXBwLXN0b3JlIiwic2VydmljZXMiLCJuZXR3b3JrIiwicmVnaXN0cmllcyIsInRva2VucyIsInNldHRpbmdzIl0sdXFlPWNsYXNze3N0YXRpY3tpKHRoaXMsIkFwcFJvdXRlciIpfXJvdXRlcjtpbml0aWFsaXplZD0hMTtzdXBwcmVzc1N0YXRlVXBkYXRlPSExO2NvbnN0cnVjdG9yKCl7dGhpcy5yb3V0ZXI9bmV3IE15YSh7ZGVidWc6ITF9KX1pbml0KCl7dGhpcy5pbml0aWFsaXplZHx8KHRoaXMuc2V0dXBSb3V0ZXMoKSx0aGlzLnNldHVwU3RhdGVTeW5jKCksdGhpcy5oYW5kbGVJbml0aWFsUm91dGUoKSx0aGlzLmluaXRpYWxpemVkPSEwKX1zZXR1cFJvdXRlcygpe2ZvcihsZXQgZSBvZiBwcWUpdGhpcy5yb3V0ZXIub24oYC8ke2V9YCxhc3luYygpPT57dGhpcy51cGRhdGVWaWV3U3RhdGUoZSl9KTt0aGlzLnJvdXRlci5vbigiLyIsYXN5bmMoKT0+e3RoaXMubmF2aWdhdGVUbygiL2Rhc2hib2FyZCIpfSl9c2V0dXBTdGF0ZVN5bmMoKXtlcy5zZWxlY3QoZT0+ZS5hY3RpdmVWaWV3KS5zdWJzY3JpYmUoZT0+e2lmKHRoaXMuc3VwcHJlc3NTdGF0ZVVwZGF0ZSlyZXR1cm47bGV0IGE9d2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLHI9YC8ke2V9YDthIT09ciYmKHRoaXMuc3VwcHJlc3NTdGF0ZVVwZGF0ZT0hMCx0aGlzLnJvdXRlci5wdXNoVXJsKHIpLHRoaXMuc3VwcHJlc3NTdGF0ZVVwZGF0ZT0hMSl9KX1oYW5kbGVJbml0aWFsUm91dGUoKXtsZXQgZT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7aWYoIWV8fGU9PT0iLyIpdGhpcy5yb3V0ZXIucHVzaFVybCgiL2Rhc2hib2FyZCIpO2Vsc2V7bGV0IHI9ZS5zcGxpdCgiLyIpLmZpbHRlcihCb29sZWFuKVswXTtwcWUuaW5jbHVkZXMocik/dGhpcy51cGRhdGVWaWV3U3RhdGUocik6dGhpcy5yb3V0ZXIucHVzaFVybCgiL2Rhc2hib2FyZCIpfX11cGRhdGVWaWV3U3RhdGUoZSl7dGhpcy5zdXBwcmVzc1N0YXRlVXBkYXRlPSEwO2xldCBhPWVzLmdldFN0YXRlKCk7YS5hY3RpdmVWaWV3IT09ZSYmZXMuc2V0U3RhdGUoey4uLmEsYWN0aXZlVmlldzplfSksdGhpcy5zdXBwcmVzc1N0YXRlVXBkYXRlPSExfW5hdmlnYXRlVG8oZSl7dGhpcy5yb3V0ZXIucHVzaFVybChlKX1uYXZpZ2F0ZVRvVmlldyhlKXtsZXQgYT1lLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXHMrL2csIi0iKTtwcWUuaW5jbHVkZXMoYSk/dGhpcy5uYXZpZ2F0ZVRvKGAvJHthfWApOnRoaXMubmF2aWdhdGVUbygiL2Rhc2hib2FyZCIpfWdldEN1cnJlbnRWaWV3KCl7cmV0dXJuIGVzLmdldFN0YXRlKCkuYWN0aXZlVmlld31kZXN0cm95KCl7dGhpcy5yb3V0ZXIuZGVzdHJveSgpLHRoaXMuaW5pdGlhbGl6ZWQ9ITF9fSx0cz1uZXcgdXFlfSk7dmFyIHhyYT17fTtldCh4cmEse09iVmlld0Rhc2hib2FyZDooKT0+Z3FlfSk7dmFyIGhyYSxtcmEsZ3JhLGJyYSx2cmEsYXMsZnFlLGhxZSxtcWUsTjIsZ3FlLGJxZT1jKGFzeW5jKCk9PntMaSgpO1pvKCk7YXdhaXQgSTIoKTthd2FpdCBicCgpO3BlKCk7dnJhPVthZSgib2Itdmlldy1kYXNoYm9hcmQiKV07TjI9Y2xhc3MgTjIgZXh0ZW5kcyhicmE9Y2UsZ3JhPVtaKCldLG1yYT1bWigpXSxocmE9W1ooKV0sYnJhKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7JHQodGhpcyxmcWUsV2UoYXMsOCx0aGlzLHtzdGF0dXM6bnVsbH0pKSxXZShhcywxMSx0aGlzKTskdCh0aGlzLGhxZSxXZShhcywxMix0aGlzLHtzZXJ2aWNlczpbXSxjdXJyZW50U2VydmljZTpudWxsLGN1cnJlbnRTZXJ2aWNlTG9nczpbXSxjdXJyZW50U2VydmljZVN0YXRzOm51bGwscGxhdGZvcm1TZXJ2aWNlczpbXSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZVN0YXRzOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3M6W119KSksV2UoYXMsMTUsdGhpcyk7JHQodGhpcyxtcWUsV2UoYXMsMTYsdGhpcyx7dGFyZ2V0czpbXSxzdGF0czpudWxsLHRyYWZmaWNTdGF0czpudWxsLGRuc1JlY29yZHM6W10sZG9tYWluczpbXSxjZXJ0aWZpY2F0ZXM6W119KSksV2UoYXMsMTksdGhpcyk7bGV0IGE9UW8uc2VsZWN0KG49Pm4pLnN1YnNjcmliZShuPT57dGhpcy5zeXN0ZW1TdGF0ZT1ufSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChhKTtsZXQgcj1wdC5zZWxlY3Qobj0+bikuc3Vic2NyaWJlKG49Pnt0aGlzLnNlcnZpY2VzU3RhdGU9bn0pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2gocik7bGV0IHM9cWEuc2VsZWN0KG49Pm4pLnN1YnNjcmliZShuPT57dGhpcy5uZXR3b3JrU3RhdGU9bn0pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2gocyl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IFByb21pc2UuYWxsKFtRby5kaXNwYXRjaEFjdGlvbihncCxudWxsKSxwdC5kaXNwYXRjaEFjdGlvbihlSCxudWxsKSxwdC5kaXNwYXRjaEFjdGlvbihDWCxudWxsKSxxYS5kaXNwYXRjaEFjdGlvbihhSCxudWxsKSxxYS5kaXNwYXRjaEFjdGlvbihUWCxudWxsKV0pfXJlbmRlcigpe2xldCBhPXRoaXMuc3lzdGVtU3RhdGUuc3RhdHVzLHI9dGhpcy5zZXJ2aWNlc1N0YXRlLnNlcnZpY2VzLHM9dGhpcy5zZXJ2aWNlc1N0YXRlLnBsYXRmb3JtU2VydmljZXMsbj10aGlzLm5ldHdvcmtTdGF0ZS5zdGF0cyxvPXRoaXMubmV0d29ya1N0YXRlLmNlcnRpZmljYXRlcyxsPXIuZmlsdGVyKGc9Pmcuc3RhdHVzPT09InJ1bm5pbmciKS5sZW5ndGgsaD1yLmZpbHRlcihnPT5nLnN0YXR1cz09PSJzdG9wcGVkIikubGVuZ3RoLHU9by5maWx0ZXIoZz0+Zy5pc1ZhbGlkKS5sZW5ndGgsZj1vLmZpbHRlcihnPT5nLmlzVmFsaWQmJmcuZXhwaXJlc0F0JiZnLmV4cGlyZXNBdC1EYXRlLm5vdygpPDcyMCo2MCo2MCoxZTMpLmxlbmd0aCxwPW8uZmlsdGVyKGc9PiFnLmlzVmFsaWQpLmxlbmd0aDtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkRhc2hib2FyZDwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxzei1kYXNoYm9hcmQtdmlldwogICAgICAgIC5kYXRhPSR7e2NsdXN0ZXI6e3RvdGFsU2VydmljZXM6ci5sZW5ndGgscnVubmluZzpsLHN0b3BwZWQ6aCxkb2NrZXJTdGF0dXM6YT8uZG9ja2VyPy5ydW5uaW5nPyJydW5uaW5nIjoic3RvcHBlZCJ9LHJlc291cmNlVXNhZ2U6e2NwdTphPy5kb2NrZXI/LmNwdVVzYWdlfHwwLG1lbW9yeVVzZWQ6YT8uZG9ja2VyPy5tZW1vcnlVc2FnZXx8MCxtZW1vcnlUb3RhbDphPy5kb2NrZXI/Lm1lbW9yeVRvdGFsfHwwLG5ldHdvcmtJbjphPy5kb2NrZXI/Lm5ldHdvcmtJbnx8MCxuZXR3b3JrT3V0OmE/LmRvY2tlcj8ubmV0d29ya091dHx8MCx0b3BDb25zdW1lcnM6W119LHBsYXRmb3JtU2VydmljZXM6cy5maWx0ZXIoZz0+Zy5zdGF0dXM9PT0icnVubmluZyJ8fGcuc3RhdHVzPT09InN0YXJ0aW5nInx8Zy5zdGF0dXM9PT0ic3RvcHBpbmcifHxnLmlzQ29yZSkubWFwKGc9Pih7bmFtZTpnLmRpc3BsYXlOYW1lLHN0YXR1czpnLnN0YXR1cz09PSJydW5uaW5nIj8iUnVubmluZyI6Zy5zdGF0dXM9PT0ic3RhcnRpbmciPyJTdGFydGluZy4uLiI6Zy5zdGF0dXM9PT0ic3RvcHBpbmciPyJTdG9wcGluZy4uLiI6IlN0b3BwZWQiLHJ1bm5pbmc6Zy5zdGF0dXM9PT0icnVubmluZyJ9KSksdHJhZmZpYzp7cmVxdWVzdHM6MCxlcnJvcnM6MCxlcnJvclBlcmNlbnQ6MCxhdmdSZXNwb25zZTowLHJlcVBlck1pbjowLHN0YXR1czJ4eDowLHN0YXR1czN4eDowLHN0YXR1czR4eDowLHN0YXR1czV4eDowfSxwcm94eTp7aHR0cFBvcnQ6bj8ucHJveHk/Lmh0dHBQb3J0fHw4MCxodHRwc1BvcnQ6bj8ucHJveHk/Lmh0dHBzUG9ydHx8NDQzLGh0dHBBY3RpdmU6bj8ucHJveHk/LnJ1bm5pbmd8fCExLGh0dHBzQWN0aXZlOm4/LnByb3h5Py5ydW5uaW5nfHwhMSxyb3V0ZUNvdW50Om4/LnByb3h5Py5yb3V0ZXN8fDB9LGNlcnRpZmljYXRlczp7dmFsaWQ6dSxleHBpcmluZzpmLGV4cGlyZWQ6cH0sZG5zQ29uZmlndXJlZDohMCxhY21lQ29uZmlndXJlZDohMCxxdWlja0FjdGlvbnM6W3tsYWJlbDoiRGVwbG95IFNlcnZpY2UiLGljb246Imx1Y2lkZTpQbHVzIixwcmltYXJ5OiEwfSx7bGFiZWw6IkFkZCBEb21haW4iLGljb246Imx1Y2lkZTpHbG9iZSJ9LHtsYWJlbDoiVmlldyBMb2dzIixpY29uOiJsdWNpZGU6RmlsZVRleHQifV19fQogICAgICAgIEBhY3Rpb24tY2xpY2s9JHtnPT50aGlzLmhhbmRsZVF1aWNrQWN0aW9uKGcpfQogICAgICAgIEBzZXJ2aWNlLWNsaWNrPSR7Zz0+dGhpcy5oYW5kbGVQbGF0Zm9ybVNlcnZpY2VDbGljayhnKX0KICAgICAgPjwvc3otZGFzaGJvYXJkLXZpZXc+CiAgICBgfWhhbmRsZVF1aWNrQWN0aW9uKGEpe2xldCByPWEuZGV0YWlsPy5hY3Rpb258fGEuZGV0YWlsPy5sYWJlbDtyPT09IkRlcGxveSBTZXJ2aWNlIj90cy5uYXZpZ2F0ZVRvVmlldygic2VydmljZXMiKTpyPT09IkFkZCBEb21haW4iJiZ0cy5uYXZpZ2F0ZVRvVmlldygibmV0d29yayIpfWhhbmRsZVBsYXRmb3JtU2VydmljZUNsaWNrKGEpe2xldCByPWEuZGV0YWlsPy5uYW1lLHM9dGhpcy5zZXJ2aWNlc1N0YXRlLnBsYXRmb3JtU2VydmljZXMuZmluZChuPT5uLmRpc3BsYXlOYW1lPT09cik7cyYmKHB0LnNldFN0YXRlKHsuLi5wdC5nZXRTdGF0ZSgpLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2U6c30pLHRzLm5hdmlnYXRlVG9WaWV3KCJzZXJ2aWNlcyIpKX19O2FzPUYxKGJyYSksZnFlPW5ldyBXZWFrTWFwLGhxZT1uZXcgV2Vha01hcCxtcWU9bmV3IFdlYWtNYXAseHQoYXMsNCwic3lzdGVtU3RhdGUiLGdyYSxOMixmcWUpLHh0KGFzLDQsInNlcnZpY2VzU3RhdGUiLG1yYSxOMixocWUpLHh0KGFzLDQsIm5ldHdvcmtTdGF0ZSIsaHJhLE4yLG1xZSksTjI9eHQoYXMsMCwiT2JWaWV3RGFzaGJvYXJkIix2cmEsTjIpLGkoTjIsIk9iVmlld0Rhc2hib2FyZCIpLE8xKE4yLCJzdHlsZXMiLFtkLmRlZmF1bHRTdHlsZXMsbGksWGBgXSksV2UoYXMsMSxOMik7Z3FlPU4yfSk7dmFyIFByYT17fTtldChQcmEse09iVmlld0FwcFN0b3JlOigpPT5McWV9KTt2YXIgeXJhLHdyYSxNcmEsa3JhLHpyYSxTcmEsQ3JhLF9yYSxUcmEsTHJhLCRyYSxEcmEsQXJhLFp0LHZxZSx4cWUseXFlLHdxZSxNcWUsa3FlLHpxZSxTcWUsQ3FlLF9xZSxUcWUsWTEsTHFlLEVyYT1jKGFzeW5jKCk9PntMaSgpO1pvKCk7YXdhaXQgSTIoKTtocCgpO2F3YWl0IGJwKCk7cGUoKTtBcmE9W2FlKCJvYi12aWV3LWFwcHN0b3JlIildO1kxPWNsYXNzIFkxIGV4dGVuZHMoRHJhPWNlLCRyYT1bWigpXSxMcmE9W1ooKV0sVHJhPVtaKCldLF9yYT1bWigpXSxDcmE9W1ooKV0sU3JhPVtaKCldLHpyYT1bWigpXSxrcmE9W1ooKV0sTXJhPVtaKCldLHdyYT1bWigpXSx5cmE9W1ooKV0sRHJhKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7JHQodGhpcyx2cWUsV2UoWnQsOCx0aGlzLHthcHBzOltdLHVwZ3JhZGVhYmxlU2VydmljZXM6W119KSksV2UoWnQsMTEsdGhpcyk7JHQodGhpcyx4cWUsV2UoWnQsMTIsdGhpcywiZ3JpZCIpKSxXZShadCwxNSx0aGlzKTskdCh0aGlzLHlxZSxXZShadCwxNix0aGlzLG51bGwpKSxXZShadCwxOSx0aGlzKTskdCh0aGlzLHdxZSxXZShadCwyMCx0aGlzLG51bGwpKSxXZShadCwyMyx0aGlzKTskdCh0aGlzLE1xZSxXZShadCwyNCx0aGlzLG51bGwpKSxXZShadCwyNyx0aGlzKTskdCh0aGlzLGtxZSxXZShadCwyOCx0aGlzLCIiKSksV2UoWnQsMzEsdGhpcyk7JHQodGhpcyx6cWUsV2UoWnQsMzIsdGhpcyxbXSkpLFdlKFp0LDM1LHRoaXMpOyR0KHRoaXMsU3FlLFdlKFp0LDM2LHRoaXMsIiIpKSxXZShadCwzOSx0aGlzKTskdCh0aGlzLENxZSxXZShadCw0MCx0aGlzLCIiKSksV2UoWnQsNDMsdGhpcyk7JHQodGhpcyxfcWUsV2UoWnQsNDQsdGhpcywhMSkpLFdlKFp0LDQ3LHRoaXMpOyR0KHRoaXMsVHFlLFdlKFp0LDQ4LHRoaXMsITEpKSxXZShadCw1MSx0aGlzKTtsZXQgYT1FMi5zZWxlY3Qocj0+cikuc3Vic2NyaWJlKHI9Pnt0aGlzLmFwcFN0b3JlU3RhdGU9cn0pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2goYSl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IEUyLmRpc3BhdGNoQWN0aW9uKHByYSxudWxsKX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5jdXJyZW50Vmlldz09PSJkZXRhaWwiP3RoaXMucmVuZGVyRGV0YWlsVmlldygpOnRoaXMucmVuZGVyR3JpZFZpZXcoKX1yZW5kZXJHcmlkVmlldygpe2xldCBhPXRoaXMuYXBwU3RvcmVTdGF0ZS5hcHBzLm1hcChyPT4oe2lkOnIuaWQsbmFtZTpyLm5hbWUsZGVzY3JpcHRpb246ci5kZXNjcmlwdGlvbixjYXRlZ29yeTpyLmNhdGVnb3J5LGljb25OYW1lOnIuaWNvbk5hbWUsaWNvblVybDpyLmljb25VcmwsaW1hZ2U6IiIscG9ydDowfSkpO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+QXBwIFN0b3JlPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgJHthLmxlbmd0aD09PTA/d2A8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiPkxvYWRpbmcgYXBwIHRlbXBsYXRlcy4uLjwvZGl2PmA6d2AKICAgICAgICAgIDxzei1hcHAtc3RvcmUtdmlldwogICAgICAgICAgICAuYXBwcz0ke2F9CiAgICAgICAgICAgIEB2aWV3LWFwcD0ke3I9PnRoaXMuaGFuZGxlVmlld0RldGFpbHMocil9CiAgICAgICAgICAgIEBkZXBsb3ktYXBwPSR7cj0+dGhpcy5oYW5kbGVBcHBDbGljayhyKX0KICAgICAgICAgID48L3N6LWFwcC1zdG9yZS12aWV3PgogICAgICAgIGB9CiAgICBgfXJlbmRlckRldGFpbFZpZXcoKXtpZih0aGlzLmxvYWRpbmcpcmV0dXJuIHdgCiAgICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkFwcCBTdG9yZTwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1zcGlubmVyIj5Mb2FkaW5nIGFwcCBkZXRhaWxzLi4uPC9kaXY+CiAgICAgIGA7bGV0IGE9dGhpcy5zZWxlY3RlZEFwcCxyPXRoaXMuc2VsZWN0ZWRBcHBNZXRhLHM9dGhpcy5zZWxlY3RlZEFwcENvbmZpZztpZighYXx8IXMpcmV0dXJuIHdgCiAgICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkFwcCBTdG9yZTwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1zcGlubmVyIj5BcHAgbm90IGZvdW5kLjwvZGl2PgogICAgICBgO2xldCBuPXMucGxhdGZvcm1SZXF1aXJlbWVudHN8fHt9LG89T2JqZWN0LnZhbHVlcyhuKS5zb21lKEJvb2xlYW4pLGw9e21vbmdvZGI6Ik1vbmdvREIiLHMzOiJTMyAoTWluSU8pIixjbGlja2hvdXNlOiJDbGlja0hvdXNlIixyZWRpczoiUmVkaXMiLG1hcmlhZGI6Ik1hcmlhREIifTtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkFwcCBTdG9yZTwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMTZweDsiIEBjbGljaz0keygpPT57dGhpcy5jdXJyZW50Vmlldz0iZ3JpZCJ9fT4KICAgICAgICAmbGFycjsgQmFjayB0byBBcHAgU3RvcmUKICAgICAgPC9idXR0b24+CgogICAgICA8IS0tIEhlYWRlciAtLT4KICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWljb24iPiR7KGEubmFtZXx8Ij8iKVswXS50b1VwcGVyQ2FzZSgpfTwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0iZmxleDogMTsiPgogICAgICAgICAgICA8aDIgY2xhc3M9ImRldGFpbC10aXRsZSI+JHthLm5hbWV9PC9oMj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1jYXRlZ29yeSI+JHthLmNhdGVnb3J5fTwvc3Bhbj4KICAgICAgICAgICAgPHAgY2xhc3M9ImRldGFpbC1kZXNjcmlwdGlvbiI+JHthLmRlc2NyaXB0aW9ufTwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLW1ldGEiPgogICAgICAgICAgICAgICR7cj8ubWFpbnRhaW5lcj93YDxzcGFuPk1haW50YWluZXI6IDxzdHJvbmc+JHtyLm1haW50YWluZXJ9PC9zdHJvbmc+PC9zcGFuPmA6IiJ9CiAgICAgICAgICAgICAgJHtyPy5saW5rcz9PYmplY3QuZW50cmllcyhyLmxpbmtzKS5tYXAoKFtoLHVdKT0+d2A8YSBocmVmPSIke3V9IiB0YXJnZXQ9Il9ibGFuayIgcmVsPSJub29wZW5lciI+JHtofTwvYT5gKToiIn0KICAgICAgICAgICAgICAke2EudGFncz8ubGVuZ3RoP3dgPHNwYW4+VGFnczogJHthLnRhZ3Muam9pbigiLCAiKX08L3NwYW4+YDoiIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8IS0tIFBsYXRmb3JtIFNlcnZpY2VzIC0tPgogICAgICAke28/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtY2FyZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5QbGF0Zm9ybSBTZXJ2aWNlczwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgJHtPYmplY3QuZW50cmllcyhuKS5maWx0ZXIoKFtoLHVdKT0+dSkubWFwKChbaF0pPT53YDxzcGFuIGNsYXNzPSJiYWRnZSI+JHtsW2hdfHxofTwvc3Bhbj5gKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNCwgIzcxNzE3YSk7IG1hcmdpbi10b3A6IDhweDsiPgogICAgICAgICAgICBUaGVzZSBwbGF0Zm9ybSBzZXJ2aWNlcyB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgcHJvdmlzaW9uZWQgd2hlbiB5b3UgZGVwbG95LgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CgogICAgICA8IS0tIFZlcnNpb24gJiBJbWFnZSAtLT4KICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWNhcmQiPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiPlZlcnNpb248L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ2ZXJzaW9uLXJvdyI+CiAgICAgICAgICA8c2VsZWN0IGNsYXNzPSJ2ZXJzaW9uLXNlbGVjdCIgQGNoYW5nZT0ke2g9PnRoaXMuaGFuZGxlVmVyc2lvbkNoYW5nZShoLnRhcmdldC52YWx1ZSl9PgogICAgICAgICAgICAkeyhyPy52ZXJzaW9uc3x8W3RoaXMuc2VsZWN0ZWRWZXJzaW9uXSkubWFwKGg9PndgPG9wdGlvbiB2YWx1ZT0iJHtofSIgP3NlbGVjdGVkPSR7aD09PXRoaXMuc2VsZWN0ZWRWZXJzaW9ufT4ke2h9JHtoPT09YS5sYXRlc3RWZXJzaW9uPyIgKGxhdGVzdCkiOiIifTwvb3B0aW9uPmApfQogICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iaW1hZ2UtdGFnIj4ke3MuaW1hZ2V9PC9zcGFuPgogICAgICAgICAgJHtzLm1pbk9uZWJveFZlcnNpb24/d2A8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNCwgIzcxNzE3YSk7Ij5SZXF1aXJlcyBvbmVib3ggJmdlOyAke3MubWluT25lYm94VmVyc2lvbn08L3NwYW4+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8IS0tIEVudmlyb25tZW50IFZhcmlhYmxlcyAtLT4KICAgICAgJHt0aGlzLmVkaXRhYmxlRW52VmFycy5sZW5ndGg+MD93YAogICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1jYXJkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiPkVudmlyb25tZW50IFZhcmlhYmxlczwvZGl2PgogICAgICAgICAgPHRhYmxlIGNsYXNzPSJlbnYtdGFibGUiPgogICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDogMzAlOyI+VmFyaWFibGU8L3RoPgogICAgICAgICAgICAgICAgPHRoIHN0eWxlPSJ3aWR0aDogNDAlOyI+VmFsdWU8L3RoPgogICAgICAgICAgICAgICAgPHRoPkRlc2NyaXB0aW9uPC90aD4KICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgJHt0aGlzLmVkaXRhYmxlRW52VmFycy5tYXAoKGgsdSk9PndgCiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZW52LWtleSI+JHtoLmtleX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgJHtoLnJlcXVpcmVkP3dgPHNwYW4gY2xhc3M9ImVudi1iYWRnZSByZXF1aXJlZCI+cmVxdWlyZWQ8L3NwYW4+YDoiIn0KICAgICAgICAgICAgICAgICAgICAke2gucGxhdGZvcm1JbmplY3RlZD93YDxzcGFuIGNsYXNzPSJlbnYtYmFkZ2UgYXV0byI+YXV0bzwvc3Bhbj5gOiIifQogICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iZW52LWlucHV0IgogICAgICAgICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgICAgICAgIC52YWx1ZT0ke2gudmFsdWV9CiAgICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHtoLnBsYXRmb3JtSW5qZWN0ZWR8fCF0aGlzLmRlcGxveU1vZGV9CiAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0ke2gucGxhdGZvcm1JbmplY3RlZD8iQXV0by1pbmplY3RlZCBieSBwbGF0Zm9ybSI6IkVudGVyIHZhbHVlLi4uIn0KICAgICAgICAgICAgICAgICAgICAgIEBpbnB1dD0ke2Y9PnRoaXMuaGFuZGxlRW52VmFyQ2hhbmdlKHUsZi50YXJnZXQudmFsdWUpfQogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz0iZW52LWRlc2MiPiR7aC5kZXNjcmlwdGlvbnx8IiJ9PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgIGApfQogICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KCiAgICAgIDwhLS0gRGVwbG95IHNlY3Rpb24gKG9ubHkgaW4gZGVwbG95IG1vZGUpIG9yIGFjdGlvbiBidXR0b24gKHZpZXcgbW9kZSkgLS0+CiAgICAgICR7dGhpcy5kZXBsb3lNb2RlP3dgCiAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWNhcmQiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+U2VydmljZSBOYW1lPC9kaXY+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgY2xhc3M9Im5hbWUtaW5wdXQiCiAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuc2VydmljZU5hbWV9CiAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJlLmcuIG15LWdob3N0LWJsb2ciCiAgICAgICAgICAgIEBpbnB1dD0ke2g9Pnt0aGlzLnNlcnZpY2VOYW1lPWgudGFyZ2V0LnZhbHVlfX0KICAgICAgICAgIC8+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS00LCAjNzE3MTdhKTsgbWFyZ2luLXRvcDogNnB4OyI+CiAgICAgICAgICAgIExvd2VyY2FzZSBsZXR0ZXJzLCBudW1iZXJzLCBhbmQgaHlwaGVucyBvbmx5LgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCIgc3R5bGU9Im1hcmdpbi10b3A6IDE4cHg7Ij5Eb21haW48L2Rpdj4KICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICBjbGFzcz0ibmFtZS1pbnB1dCIKICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5zZXJ2aWNlRG9tYWlufQogICAgICAgICAgICBwbGFjZWhvbGRlcj0iZS5nLiBjbG91ZGx5LmV4YW1wbGUuY29tIgogICAgICAgICAgICBAaW5wdXQ9JHtoPT50aGlzLmhhbmRsZVNlcnZpY2VEb21haW5DaGFuZ2UoaC50YXJnZXQudmFsdWUpfQogICAgICAgICAgLz4KICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOyBtYXJnaW4tdG9wOiA2cHg7Ij4KICAgICAgICAgICAgT25lYm94IHJvdXRlcyB0aGlzIGRvbWFpbiB0byB0aGUgZGVwbG95ZWQgYXBwLiBSZXF1aXJlZCB3aGVuIHRoZSBhcHAgdXNlcyBTRVJWSUNFX0RPTUFJTi4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnMtcm93Ij4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1zZWNvbmRhcnkiIEBjbGljaz0keygpPT57dGhpcy5jdXJyZW50Vmlldz0iZ3JpZCJ9fT5DYW5jZWw8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYnRuIGJ0bi1wcmltYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEZXBsb3koKX0+CiAgICAgICAgICAgICAgRGVwbG95IHYke3RoaXMuc2VsZWN0ZWRWZXJzaW9ufQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgOndgCiAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucy1yb3ciIHN0eWxlPSJtYXJnaW4tdG9wOiA4cHg7Ij4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IiBAY2xpY2s9JHsoKT0+e3RoaXMuY3VycmVudFZpZXc9ImdyaWQifX0+CiAgICAgICAgICAgICZsYXJyOyBCYWNrCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgQGNsaWNrPSR7KCk9Pnt0aGlzLmRlcGxveU1vZGU9ITB9fT4KICAgICAgICAgICAgRGVwbG95IHRoaXMgQXBwCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgYH0KICAgIGB9YXN5bmMgaGFuZGxlVmlld0RldGFpbHMoYSl7bGV0IHI9YS5kZXRhaWw/LmFwcDtpZighcilyZXR1cm47bGV0IHM9dGhpcy5hcHBTdG9yZVN0YXRlLmFwcHMuZmluZChuPT5uLmlkPT09ci5pZCk7cyYmKHRoaXMuZGVwbG95TW9kZT0hMSx0aGlzLnNlbGVjdGVkQXBwPXMsdGhpcy5zZWxlY3RlZFZlcnNpb249cy5sYXRlc3RWZXJzaW9uLHRoaXMuc2VydmljZU5hbWU9cy5pZCx0aGlzLmxvYWRpbmc9ITAsdGhpcy5jdXJyZW50Vmlldz0iZGV0YWlsIixhd2FpdCB0aGlzLmZldGNoVmVyc2lvbkNvbmZpZyhzLmlkLHMubGF0ZXN0VmVyc2lvbiksdGhpcy5sb2FkaW5nPSExKX1hc3luYyBoYW5kbGVBcHBDbGljayhhKXtsZXQgcj1hLmRldGFpbD8uYXBwO2lmKCFyKXJldHVybjtsZXQgcz10aGlzLmFwcFN0b3JlU3RhdGUuYXBwcy5maW5kKG49Pm4uaWQ9PT1yLmlkKTtzJiYodGhpcy5kZXBsb3lNb2RlPSEwLHRoaXMuc2VsZWN0ZWRBcHA9cyx0aGlzLnNlbGVjdGVkVmVyc2lvbj1zLmxhdGVzdFZlcnNpb24sdGhpcy5zZXJ2aWNlTmFtZT1zLmlkLHRoaXMubG9hZGluZz0hMCx0aGlzLmN1cnJlbnRWaWV3PSJkZXRhaWwiLGF3YWl0IHRoaXMuZmV0Y2hWZXJzaW9uQ29uZmlnKHMuaWQscy5sYXRlc3RWZXJzaW9uKSx0aGlzLmxvYWRpbmc9ITEpfWFzeW5jIGhhbmRsZVZlcnNpb25DaGFuZ2UoYSl7IXRoaXMuc2VsZWN0ZWRBcHB8fGE9PT10aGlzLnNlbGVjdGVkVmVyc2lvbnx8KHRoaXMuc2VsZWN0ZWRWZXJzaW9uPWEsdGhpcy5sb2FkaW5nPSEwLGF3YWl0IHRoaXMuZmV0Y2hWZXJzaW9uQ29uZmlnKHRoaXMuc2VsZWN0ZWRBcHAuaWQsYSksdGhpcy5sb2FkaW5nPSExKX1hc3luYyBmZXRjaFZlcnNpb25Db25maWcoYSxyKXt0cnl7bGV0IHM9dzEuZ2V0U3RhdGUoKS5pZGVudGl0eTtpZighcylyZXR1cm47bGV0IG89YXdhaXQgbmV3IGF0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldEFwcENvbmZpZyIpLmZpcmUoe2lkZW50aXR5OnMsYXBwSWQ6YSx2ZXJzaW9uOnJ9KTt0aGlzLnNlbGVjdGVkQXBwTWV0YT1vLmFwcE1ldGEsdGhpcy5zZWxlY3RlZEFwcENvbmZpZz1vLmNvbmZpZyx0aGlzLmVkaXRhYmxlRW52VmFycz0oby5jb25maWcuZW52VmFyc3x8W10pLm1hcChsPT4oe2tleTpsLmtleSx2YWx1ZTpsLnZhbHVlfHwiIixkZXNjcmlwdGlvbjpsLmRlc2NyaXB0aW9ufHwiIixyZXF1aXJlZDpsLnJlcXVpcmVkLHBsYXRmb3JtSW5qZWN0ZWQ6bC52YWx1ZT8uaW5jbHVkZXMoIiR7Iil8fCExfSkpLHRoaXMuc2VydmljZURvbWFpbj0iIn1jYXRjaChzKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggYXBwIGNvbmZpZzoiLHMpfX1oYW5kbGVFbnZWYXJDaGFuZ2UoYSxyKXtsZXQgcz1bLi4udGhpcy5lZGl0YWJsZUVudlZhcnNdO3NbYV09ey4uLnNbYV0sdmFsdWU6cn0sdGhpcy5lZGl0YWJsZUVudlZhcnM9c31oYW5kbGVTZXJ2aWNlRG9tYWluQ2hhbmdlKGEpe3RoaXMuc2VydmljZURvbWFpbj10aGlzLm5vcm1hbGl6ZURvbWFpbihhKX1ub3JtYWxpemVEb21haW4oYSl7cmV0dXJuIGEudHJpbSgpLnJlcGxhY2UoL15odHRwcz86XC9cLy8sIiIpLnJlcGxhY2UoL1wvJC8sIiIpfWFzeW5jIGhhbmRsZURlcGxveSgpe2xldCBhPXRoaXMuc2VsZWN0ZWRBcHAscj10aGlzLnNlbGVjdGVkQXBwQ29uZmlnO2lmKCFhfHwhcilyZXR1cm47bGV0IHM9dGhpcy5lZGl0YWJsZUVudlZhcnMuZmlsdGVyKHU9PnUucmVxdWlyZWQmJiF1LnBsYXRmb3JtSW5qZWN0ZWQmJiF1LnZhbHVlLnRyaW0oKSk7aWYocy5sZW5ndGg+MCl7Y29uc29sZS5lcnJvcihgTWlzc2luZyByZXF1aXJlZCBlbnZpcm9ubWVudCB2YXJpYWJsZXM6ICR7cy5tYXAodT0+dS5rZXkpLmpvaW4oIiwgIil9YCk7cmV0dXJufWlmKChyLmVudlZhcnN8fFtdKS5zb21lKHU9PnUudmFsdWU/LmluY2x1ZGVzKCIke1NFUlZJQ0VfRE9NQUlOfSIpKSYmIXRoaXMuc2VydmljZURvbWFpbil7Y29uc29sZS5lcnJvcigiQSBkb21haW4gaXMgcmVxdWlyZWQgZm9yIHRoaXMgYXBwLiIpO3JldHVybn1sZXQgbz17fTtmb3IobGV0IHUgb2YgdGhpcy5lZGl0YWJsZUVudlZhcnMpdS5rZXkmJnUudmFsdWUmJihvW3Uua2V5XT11LnZhbHVlKTtsZXQgbD1yLnBsYXRmb3JtUmVxdWlyZW1lbnRzfHx7fSxoPXtuYW1lOnRoaXMuc2VydmljZU5hbWV8fGEuaWQsaW1hZ2U6ci5pbWFnZSxwb3J0OnIucG9ydHx8ODAsZG9tYWluOnRoaXMuc2VydmljZURvbWFpbnx8dm9pZCAwLGVudlZhcnM6byxlbmFibGVNb25nb0RCOmwubW9uZ29kYnx8ITEsZW5hYmxlUzM6bC5zM3x8ITEsZW5hYmxlQ2xpY2tIb3VzZTpsLmNsaWNraG91c2V8fCExLGVuYWJsZVJlZGlzOmwucmVkaXN8fCExLGVuYWJsZU1hcmlhREI6bC5tYXJpYWRifHwhMSxhcHBUZW1wbGF0ZUlkOmEuaWQsYXBwVGVtcGxhdGVWZXJzaW9uOnRoaXMuc2VsZWN0ZWRWZXJzaW9ufTt0cnl7YXdhaXQgcHQuZGlzcGF0Y2hBY3Rpb24odEgse2NvbmZpZzpofSksc2V0VGltZW91dCgoKT0+e3RzLm5hdmlnYXRlVG9WaWV3KCJzZXJ2aWNlcyIpfSwwKX1jYXRjaCh1KXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZGVwbG95IGZyb20gQXBwIFN0b3JlOiIsdSl9fX07WnQ9RjEoRHJhKSx2cWU9bmV3IFdlYWtNYXAseHFlPW5ldyBXZWFrTWFwLHlxZT1uZXcgV2Vha01hcCx3cWU9bmV3IFdlYWtNYXAsTXFlPW5ldyBXZWFrTWFwLGtxZT1uZXcgV2Vha01hcCx6cWU9bmV3IFdlYWtNYXAsU3FlPW5ldyBXZWFrTWFwLENxZT1uZXcgV2Vha01hcCxfcWU9bmV3IFdlYWtNYXAsVHFlPW5ldyBXZWFrTWFwLHh0KFp0LDQsImFwcFN0b3JlU3RhdGUiLCRyYSxZMSx2cWUpLHh0KFp0LDQsImN1cnJlbnRWaWV3IixMcmEsWTEseHFlKSx4dChadCw0LCJzZWxlY3RlZEFwcCIsVHJhLFkxLHlxZSkseHQoWnQsNCwic2VsZWN0ZWRBcHBNZXRhIixfcmEsWTEsd3FlKSx4dChadCw0LCJzZWxlY3RlZEFwcENvbmZpZyIsQ3JhLFkxLE1xZSkseHQoWnQsNCwic2VsZWN0ZWRWZXJzaW9uIixTcmEsWTEsa3FlKSx4dChadCw0LCJlZGl0YWJsZUVudlZhcnMiLHpyYSxZMSx6cWUpLHh0KFp0LDQsInNlcnZpY2VOYW1lIixrcmEsWTEsU3FlKSx4dChadCw0LCJzZXJ2aWNlRG9tYWluIixNcmEsWTEsQ3FlKSx4dChadCw0LCJsb2FkaW5nIix3cmEsWTEsX3FlKSx4dChadCw0LCJkZXBsb3lNb2RlIix5cmEsWTEsVHFlKSxZMT14dChadCwwLCJPYlZpZXdBcHBTdG9yZSIsQXJhLFkxKSxpKFkxLCJPYlZpZXdBcHBTdG9yZSIpLE8xKFkxLCJzdHlsZXMiLFtkLmRlZmF1bHRTdHlsZXMsbGksWGAKICAgICAgLmRldGFpbC1jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS0xLCAjMDkwOTBiKTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuZGV0YWlsLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmRldGFpbC1pY29uIHsKICAgICAgICB3aWR0aDogNjRweDsKICAgICAgICBoZWlnaHQ6IDY0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAyOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICNhMWExYWEpOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZGV0YWlsLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNywgI2U0ZTRlNyk7CiAgICAgICAgbWFyZ2luOiAwIDAgNHB4IDA7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtY2F0ZWdvcnkgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwYWRkaW5nOiAycHggMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtMiwgIzI3MjcyYSk7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICNhMWExYWEpOwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLmRldGFpbC1kZXNjcmlwdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjYTFhMWFhKTsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLmRldGFpbC1tZXRhIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS00LCAjNzE3MTdhKTsKICAgICAgfQoKICAgICAgLmRldGFpbC1tZXRhIGEgewogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjYTFhMWFhKTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtbWV0YSBhOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjYTFhMWFhKTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICAgICAgfQoKICAgICAgLmJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xNSk7CiAgICAgICAgY29sb3I6ICM2MGE1ZmE7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgICB9CgogICAgICAudmVyc2lvbi1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC52ZXJzaW9uLXNlbGVjdCB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtMiwgIzI3MjcyYSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2ktc2hhZGUtMywgIzNmM2Y0Nik7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS03LCAjZTRlNGU3KTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAuaW1hZ2UtdGFnIHsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtMiwgIzI3MjcyYSk7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KCiAgICAgIC5lbnYtdGFibGUgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICAgIH0KCiAgICAgIC5lbnYtdGFibGUgdGggewogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOwogICAgICAgIHBhZGRpbmc6IDhweCA4cHggOHB4IDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOwogICAgICB9CgogICAgICAuZW52LXRhYmxlIHRkIHsKICAgICAgICBwYWRkaW5nOiA2cHggOHB4IDZweCAwOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgIH0KCiAgICAgIC5lbnYtaW5wdXQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNpLXNoYWRlLTMsICMzZjNmNDYpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBwYWRkaW5nOiA2cHggOHB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS03LCAjZTRlNGU3KTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuZW52LWlucHV0OmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLmVudi1rZXkgewogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS02LCAjZDRkNGQ4KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuZW52LWRlc2MgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNCwgIzcxNzE3YSk7CiAgICAgIH0KCiAgICAgIC5lbnYtYmFkZ2UgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBwYWRkaW5nOiAxcHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBtYXJnaW4tbGVmdDogNnB4OwogICAgICB9CgogICAgICAuZW52LWJhZGdlLnJlcXVpcmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjE1KTsKICAgICAgICBjb2xvcjogI2Y4NzE3MTsKICAgICAgfQoKICAgICAgLmVudi1iYWRnZS5hdXRvIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjE1KTsKICAgICAgICBjb2xvcjogIzRhZGU4MDsKICAgICAgfQoKICAgICAgLm5hbWUtaW5wdXQgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNpLXNoYWRlLTMsICMzZjNmNDYpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE0cHg7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTcsICNlNGU0ZTcpOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB3aWR0aDogMzAwcHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmFjdGlvbnMtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIG1hcmdpbi10b3A6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5idG4gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmJ0bjpob3ZlciB7IG9wYWNpdHk6IDAuOTsgfQoKICAgICAgLmJ0bi1wcmltYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS03LCAjZTRlNGU3KTsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtMCwgIzA5MDkwYik7CiAgICAgIH0KCiAgICAgIC5idG4tc2Vjb25kYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNiwgI2Q0ZDRkOCk7CiAgICAgIH0KCiAgICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICAgIHBhZGRpbmc6IDMycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS00LCAjNzE3MTdhKTsKICAgICAgfQogICAgYF0pLFdlKFp0LDEsWTEpO0xxZT1ZMX0pO3ZhciBreWEsJFgsSXJhPWMoKCk9PntMaSgpO2hwKCk7a3lhPUIwLmRvbXRvb2xzLCRYPWNsYXNze2NvbnN0cnVjdG9yKGUsYSl7dGhpcy5zZXJ2aWNlTmFtZT1lO3RoaXMuaWRlbnRpdHk9YX1zdGF0aWN7aSh0aGlzLCJCYWNrZW5kRXhlY3V0aW9uRW52aXJvbm1lbnQiKX10eXBlPSJiYWNrZW5kIjtfcmVhZHk9ITE7aWRlbnRpdHk7Z2V0IHJlYWR5KCl7cmV0dXJuIHRoaXMuX3JlYWR5fWFzeW5jIGluaXQoKXtpZighKGF3YWl0IHRoaXMuZmlyZVJlcXVlc3QoIndvcmtzcGFjZUV4aXN0cyIse3BhdGg6Ii8ifSkpLmV4aXN0cyl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBhY2Nlc3MgY29udGFpbmVyIGZpbGVzeXN0ZW0gZm9yIHNlcnZpY2U6ICR7dGhpcy5zZXJ2aWNlTmFtZX1gKTt0aGlzLl9yZWFkeT0hMH1hc3luYyBkZXN0cm95KCl7dGhpcy5fcmVhZHk9ITF9YXN5bmMgcmVhZEZpbGUoZSl7cmV0dXJuKGF3YWl0IHRoaXMuZmlyZVJlcXVlc3QoIndvcmtzcGFjZVJlYWRGaWxlIix7cGF0aDplfSkpLmNvbnRlbnR9YXN5bmMgd3JpdGVGaWxlKGUsYSl7YXdhaXQgdGhpcy5maXJlUmVxdWVzdCgid29ya3NwYWNlV3JpdGVGaWxlIix7cGF0aDplLGNvbnRlbnQ6YX0pfWFzeW5jIHJlYWREaXIoZSl7cmV0dXJuKGF3YWl0IHRoaXMuZmlyZVJlcXVlc3QoIndvcmtzcGFjZVJlYWREaXIiLHtwYXRoOmV9KSkuZW50cmllc31hc3luYyBta2RpcihlKXthd2FpdCB0aGlzLmZpcmVSZXF1ZXN0KCJ3b3Jrc3BhY2VNa2RpciIse3BhdGg6ZX0pfWFzeW5jIHJtKGUsYSl7YXdhaXQgdGhpcy5maXJlUmVxdWVzdCgid29ya3NwYWNlUm0iLHtwYXRoOmUscmVjdXJzaXZlOmE/LnJlY3Vyc2l2ZX0pfWFzeW5jIGV4aXN0cyhlKXtyZXR1cm4oYXdhaXQgdGhpcy5maXJlUmVxdWVzdCgid29ya3NwYWNlRXhpc3RzIix7cGF0aDplfSkpLmV4aXN0c313YXRjaChlLGEscil7cmV0dXJue3N0b3A6aSgoKT0+e30sInN0b3AiKX19YXN5bmMgc3Bhd24oZSxhKXtsZXQgcj1hP1tlLC4uLmFdOltlXSxzPXIuam9pbigiICIpLG49YXdhaXQgdGhpcy5maXJlUmVxdWVzdCgid29ya3NwYWNlRXhlYyIse2NvbW1hbmQ6clswXSxhcmdzOnIuc2xpY2UoMSl9KSxvPW5ldyBSZWFkYWJsZVN0cmVhbSh7c3RhcnQoaCl7bi5zdGRvdXQmJmguZW5xdWV1ZShuLnN0ZG91dCksbi5zdGRlcnImJmguZW5xdWV1ZShuLnN0ZGVyciksaC5jbG9zZSgpfX0pLGw9bmV3IFdyaXRhYmxlU3RyZWFtO3JldHVybntvdXRwdXQ6byxpbnB1dDpsLGV4aXQ6UHJvbWlzZS5yZXNvbHZlKG4uZXhpdENvZGUpLGtpbGw6aSgoKT0+e30sImtpbGwiKX19YXN5bmMgZmlyZVJlcXVlc3QoZSxhKXtyZXR1cm4gYXdhaXQgbmV3IGt5YS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLGUpLmZpcmUoe2lkZW50aXR5OnRoaXMuaWRlbnRpdHksc2VydmljZU5hbWU6dGhpcy5zZXJ2aWNlTmFtZSwuLi5hfSl9fX0pO3ZhciBHcmE9e307ZXQoR3JhLHtPYlZpZXdTZXJ2aWNlczooKT0+RnFlfSk7ZnVuY3Rpb24gRFgodCl7aWYoIXR8fHQ9PT0wKXJldHVybiIwIEIiO2xldCBlPVsiQiIsIktCIiwiTUIiLCJHQiIsIlRCIl0sYT0xMDI0LHI9TWF0aC5mbG9vcihNYXRoLmxvZyh0KS9NYXRoLmxvZyhhKSk7cmV0dXJuYCR7KHQvTWF0aC5wb3coYSxyKSkudG9GaXhlZCgxKX0gJHtlW3JdfWB9ZnVuY3Rpb24genlhKHQpe2xldCBlPXQubGFzdEluZGV4T2YoIjoiKSxhPXQubGFzdEluZGV4T2YoIi8iKTtyZXR1cm4gZT5hJiZlPjA/e3JlcG9zaXRvcnk6dC5zdWJzdHJpbmcoMCxlKSx0YWc6dC5zdWJzdHJpbmcoZSsxKX06e3JlcG9zaXRvcnk6dCx0YWc6ImxhdGVzdCJ9fWZ1bmN0aW9uIE5yYSh0KXtzd2l0Y2godCl7Y2FzZSJydW5uaW5nIjpyZXR1cm4icnVubmluZyI7Y2FzZSJzdGFydGluZyI6cmV0dXJuInN0YXJ0aW5nIjtjYXNlImZhaWxlZCI6cmV0dXJuImVycm9yIjtkZWZhdWx0OnJldHVybiJzdG9wcGVkIn19ZnVuY3Rpb24gU3lhKHQpe2xldCBlPXp5YSh0LmltYWdlKTtyZXR1cm57bmFtZTp0Lm5hbWUsc3RhdHVzOk5yYSh0LnN0YXR1cyksaW1hZ2U6dC5pbWFnZSxwb3J0OnQucG9ydCxkb21haW46dC5kb21haW58fG51bGwsY29udGFpbmVySWQ6dC5jb250YWluZXJJRHx8IiIsY3JlYXRlZDp0LmNyZWF0ZWRBdD9uZXcgRGF0ZSh0LmNyZWF0ZWRBdCkudG9Mb2NhbGVTdHJpbmcoKToiLSIsdXBkYXRlZDp0LnVwZGF0ZWRBdD9uZXcgRGF0ZSh0LnVwZGF0ZWRBdCkudG9Mb2NhbGVTdHJpbmcoKToiLSIscmVnaXN0cnk6dC51c2VPbmVib3hSZWdpc3RyeT8iT25lYm94IFJlZ2lzdHJ5Ijp0LnJlZ2lzdHJ5fHwiRG9ja2VyIEh1YiIscmVwb3NpdG9yeTp0LnJlZ2lzdHJ5UmVwb3NpdG9yeXx8ZS5yZXBvc2l0b3J5LHRhZzp0LnJlZ2lzdHJ5SW1hZ2VUYWd8fGUudGFnfX1mdW5jdGlvbiBDeWEodCl7cmV0dXJue2NwdTp0LmNwdVBlcmNlbnQsbWVtb3J5OkRYKHQubWVtb3J5VXNlZCksbWVtb3J5TGltaXQ6RFgodC5tZW1vcnlMaW1pdCksbmV0d29ya0luOkRYKHQubmV0d29ya1J4KSxuZXR3b3JrT3V0OkRYKHQubmV0d29ya1R4KX19ZnVuY3Rpb24gX3lhKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP3QubWFwKGU9PntsZXQgYT1lLnRpbWVzdGFtcD90eXBlb2YgZS50aW1lc3RhbXA9PSJudW1iZXIiP25ldyBEYXRlKGUudGltZXN0YW1wKS50b0lTT1N0cmluZygpOlN0cmluZyhlLnRpbWVzdGFtcCk6bmV3IERhdGUoKS50b0lTT1N0cmluZygpLHI9ZS5tZXNzYWdlfHxTdHJpbmcoZSkscz1lLmxldmVsfHwiaW5mbyI7cmV0dXJue3RpbWVzdGFtcDphLG1lc3NhZ2U6cixsZXZlbDpzfX0pOnR5cGVvZiB0PT0ic3RyaW5nIiYmdC50cmltKCk/dC5zcGxpdChgCmApLmZpbHRlcihlPT5lLnRyaW0oKSkubWFwKGU9PntsZXQgYT1lLm1hdGNoKC9eKFxkezR9LVxkezJ9LVxkezJ9VFtcZDouXStaPylccysoLiopLykscj1hP2FbMV06bmV3IERhdGUoKS50b0lTT1N0cmluZygpLHM9YT9hWzJdOmUsbj1zLnRvTG93ZXJDYXNlKCksbz1uLmluY2x1ZGVzKCJlcnJvciIpfHxuLmluY2x1ZGVzKCJmYXRhbCIpPyJlcnJvciI6bi5pbmNsdWRlcygid2FybiIpPyJ3YXJuIjoiaW5mbyI7cmV0dXJue3RpbWVzdGFtcDpyLG1lc3NhZ2U6cyxsZXZlbDpvfX0pOltdfXZhciBScmEsRnJhLE9yYSxCcmEsSHJhLHFyYSxWcmEsanJhLFVyYSxXcmEsJGEsJHFlLERxZSxBcWUsUHFlLEVxZSxJcWUsTnFlLFJxZSxUeWEsWnIsRnFlLE9xZT1jKGFzeW5jKCk9PntMaSgpO1pvKCk7YXdhaXQgSTIoKTtocCgpO0lyYSgpO3BlKCk7aShEWCwiZm9ybWF0Qnl0ZXMiKTtpKHp5YSwicGFyc2VJbWFnZVN0cmluZyIpO2koTnJhLCJtYXBTdGF0dXMiKTtpKFN5YSwidG9TZXJ2aWNlRGV0YWlsIik7aShDeWEsInRvU2VydmljZVN0YXRzIik7aShfeWEsInBhcnNlTG9ncyIpO1R5YT17Y3B1OjAsbWVtb3J5OiIwIEIiLG1lbW9yeUxpbWl0OiIwIEIiLG5ldHdvcmtJbjoiMCBCIixuZXR3b3JrT3V0OiIwIEIifTtXcmE9W2FlKCJvYi12aWV3LXNlcnZpY2VzIildO1pyPWNsYXNzIFpyIGV4dGVuZHMoVXJhPWNlLGpyYT1bWigpXSxWcmE9W1ooKV0scXJhPVtaKCldLEhyYT1bWigpXSxCcmE9W1ooKV0sT3JhPVtaKCldLEZyYT1bWigpXSxScmE9W1ooKV0sVXJhKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7JHQodGhpcywkcWUsV2UoJGEsOCx0aGlzLHtzZXJ2aWNlczpbXSxjdXJyZW50U2VydmljZTpudWxsLGN1cnJlbnRTZXJ2aWNlTG9nczpbXSxjdXJyZW50U2VydmljZVN0YXRzOm51bGwscGxhdGZvcm1TZXJ2aWNlczpbXSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZVN0YXRzOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3M6W119KSksV2UoJGEsMTEsdGhpcyk7JHQodGhpcyxEcWUsV2UoJGEsMTIsdGhpcyx7YmFja3VwczpbXSxzY2hlZHVsZXM6W119KSksV2UoJGEsMTUsdGhpcyk7JHQodGhpcyxBcWUsV2UoJGEsMTYsdGhpcywibGlzdCIpKSxXZSgkYSwxOSx0aGlzKTskdCh0aGlzLFBxZSxXZSgkYSwyMCx0aGlzLCIiKSksV2UoJGEsMjMsdGhpcyk7JHQodGhpcyxFcWUsV2UoJGEsMjQsdGhpcywiIikpLFdlKCRhLDI3LHRoaXMpOyR0KHRoaXMsSXFlLFdlKCRhLDI4LHRoaXMsITEpKSxXZSgkYSwzMSx0aGlzKTskdCh0aGlzLE5xZSxXZSgkYSwzMix0aGlzLG51bGwpKSxXZSgkYSwzNSx0aGlzKTskdCh0aGlzLFJxZSxXZSgkYSwzNix0aGlzLHthcHBzOltdLHVwZ3JhZGVhYmxlU2VydmljZXM6W119KSksV2UoJGEsMzksdGhpcyk7bGV0IGE9cHQuc2VsZWN0KG49Pm4pLnN1YnNjcmliZShuPT57dGhpcy5zZXJ2aWNlc1N0YXRlPW59KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKGEpO2xldCByPWpzLnNlbGVjdChuPT5uKS5zdWJzY3JpYmUobj0+e3RoaXMuYmFja3Vwc1N0YXRlPW59KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKHIpO2xldCBzPUUyLnNlbGVjdChuPT5uKS5zdWJzY3JpYmUobj0+e3RoaXMuYXBwU3RvcmVTdGF0ZT1ufSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChzKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgUHJvbWlzZS5hbGwoW3B0LmRpc3BhdGNoQWN0aW9uKGVILG51bGwpLHB0LmRpc3BhdGNoQWN0aW9uKENYLG51bGwpLEUyLmRpc3BhdGNoQWN0aW9uKHVyYSxudWxsKV0pO2xldCBhPXB0LmdldFN0YXRlKCk7aWYoYS5jdXJyZW50UGxhdGZvcm1TZXJ2aWNlKXtsZXQgcj1hLmN1cnJlbnRQbGF0Zm9ybVNlcnZpY2UudHlwZTtwdC5zZXRTdGF0ZSh7Li4ucHQuZ2V0U3RhdGUoKSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlOm51bGx9KSx0aGlzLm5hdmlnYXRlVG9QbGF0Zm9ybURldGFpbChyKX19cmVuZGVyKCl7c3dpdGNoKHRoaXMuY3VycmVudFZpZXcpe2Nhc2UiY3JlYXRlIjpyZXR1cm4gdGhpcy5yZW5kZXJDcmVhdGVWaWV3KCk7Y2FzZSJkZXRhaWwiOnJldHVybiB0aGlzLnJlbmRlckRldGFpbFZpZXcoKTtjYXNlImJhY2t1cHMiOnJldHVybiB0aGlzLnJlbmRlckJhY2t1cHNWaWV3KCk7Y2FzZSJwbGF0Zm9ybS1kZXRhaWwiOnJldHVybiB0aGlzLnJlbmRlclBsYXRmb3JtRGV0YWlsVmlldygpO2RlZmF1bHQ6cmV0dXJuIHRoaXMucmVuZGVyTGlzdFZpZXcoKX19cmVuZGVyTGlzdFZpZXcoKXtsZXQgYT10aGlzLnNlcnZpY2VzU3RhdGUuc2VydmljZXMubWFwKGw9Pih7bmFtZTpsLm5hbWUsaW1hZ2U6bC5pbWFnZSxkb21haW46bC5kb21haW58fG51bGwsc3RhdHVzOk5yYShsLnN0YXR1cyl9KSkscj1pKGw9Pntzd2l0Y2gobCl7Y2FzZSJydW5uaW5nIjpyZXR1cm4iUnVubmluZyI7Y2FzZSJzdG9wcGVkIjpyZXR1cm4iU3RvcHBlZCI7Y2FzZSJzdGFydGluZyI6cmV0dXJuIlN0YXJ0aW5nLi4uIjtjYXNlInN0b3BwaW5nIjpyZXR1cm4iU3RvcHBpbmcuLi4iO2Nhc2UiZmFpbGVkIjpyZXR1cm4iRmFpbGVkIjtjYXNlIm5vdC1kZXBsb3llZCI6cmV0dXJuIk5vdCBEZXBsb3llZCI7ZGVmYXVsdDpyZXR1cm4gbH19LCJkaXNwbGF5U3RhdHVzIikscz10aGlzLnNlcnZpY2VzU3RhdGUucGxhdGZvcm1TZXJ2aWNlcy5maWx0ZXIobD0+bC5zdGF0dXM9PT0icnVubmluZyJ8fGwuc3RhdHVzPT09InN0YXJ0aW5nInx8bC5zdGF0dXM9PT0ic3RvcHBpbmcifHxsLmlzQ29yZSksbj10aGlzLnNlcnZpY2VzU3RhdGUucGxhdGZvcm1TZXJ2aWNlcy5maWx0ZXIobD0+IWwuaXNDb3JlJiYobC5zdGF0dXM9PT0ibm90LWRlcGxveWVkInx8bC5zdGF0dXM9PT0ic3RvcHBlZCJ8fGwuc3RhdHVzPT09ImZhaWxlZCIpKSxvPXMubWFwKGw9Pih7bmFtZTpsLmRpc3BsYXlOYW1lLHN0YXR1czpyKGwuc3RhdHVzKSxydW5uaW5nOmwuc3RhdHVzPT09InJ1bm5pbmciLHR5cGU6bC50eXBlfSkpO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+U2VydmljZXM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8ZGl2IGNsYXNzPSJwYWdlLWFjdGlvbnMiPgogICAgICAgIDxidXR0b24gY2xhc3M9ImRlcGxveS1idXR0b24iIEBjbGljaz0keygpPT57dGhpcy5jdXJyZW50Vmlldz0iY3JlYXRlIn19PgogICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICA8bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBEZXBsb3kgU2VydmljZQogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgICAgPHN6LXNlcnZpY2VzLWxpc3QtdmlldwogICAgICAgIC5zZXJ2aWNlcz0ke2F9CiAgICAgICAgQHNlcnZpY2UtY2xpY2s9JHtsPT57dGhpcy5zZWxlY3RlZFNlcnZpY2VOYW1lPWwuZGV0YWlsLm5hbWV8fGwuZGV0YWlsLnNlcnZpY2U/Lm5hbWUscHQuZGlzcGF0Y2hBY3Rpb24oaXFlLHtuYW1lOnRoaXMuc2VsZWN0ZWRTZXJ2aWNlTmFtZX0pLHB0LmRpc3BhdGNoQWN0aW9uKEoxYSx7bmFtZTp0aGlzLnNlbGVjdGVkU2VydmljZU5hbWV9KSxwdC5kaXNwYXRjaEFjdGlvbihlcmEse25hbWU6dGhpcy5zZWxlY3RlZFNlcnZpY2VOYW1lfSksdGhpcy5jdXJyZW50Vmlldz0iZGV0YWlsIn19CiAgICAgICAgQHNlcnZpY2UtYWN0aW9uPSR7bD0+dGhpcy5oYW5kbGVTZXJ2aWNlQWN0aW9uKGwpfQogICAgICA+PC9zei1zZXJ2aWNlcy1saXN0LXZpZXc+CiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZyBzdHlsZT0ibWFyZ2luLXRvcDogMzJweDsiPlBsYXRmb3JtIFNlcnZpY2VzPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOiA1MDBweDsiPgogICAgICAgICR7by5sZW5ndGg+MD93YAogICAgICAgICAgPHN6LXBsYXRmb3JtLXNlcnZpY2VzLWNhcmQKICAgICAgICAgICAgLnNlcnZpY2VzPSR7b30KICAgICAgICAgICAgQHNlcnZpY2UtY2xpY2s9JHtsPT57bGV0IGg9bC5kZXRhaWwudHlwZXx8dGhpcy5zZXJ2aWNlc1N0YXRlLnBsYXRmb3JtU2VydmljZXMuZmluZCh1PT51LmRpc3BsYXlOYW1lPT09bC5kZXRhaWwubmFtZSk/LnR5cGU7aCYmdGhpcy5uYXZpZ2F0ZVRvUGxhdGZvcm1EZXRhaWwoaCl9fQogICAgICAgICAgPjwvc3otcGxhdGZvcm0tc2VydmljZXMtY2FyZD4KICAgICAgICBgOiIifQogICAgICAgICR7bi5sZW5ndGg+MD93YAogICAgICAgICAgPGRpdiBzdHlsZT0iCiAgICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTEsICMwOTA5MGIpOwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgICBtYXJnaW4tdG9wOiAke28ubGVuZ3RoPjA/IjEycHgiOiIwIn07CiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICAgICI+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOyBtYXJnaW4tYm90dG9tOiAxMnB4OyI+QXZhaWxhYmxlIOKAlCBub3QgaW4gdXNlPC9kaXY+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGdhcDogMTJweDsiPgogICAgICAgICAgICAgICR7bi5tYXAobD0+d2AKICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgYWxpZ24taXRlbXM6IGNlbnRlcjsgcGFkZGluZzogOHB4IDA7IGN1cnNvcjogcG9pbnRlcjsgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlOyIKICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVUb1BsYXRmb3JtRGV0YWlsKGwudHlwZSl9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMTBweDsiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9IndpZHRoOiA4cHg7IGhlaWdodDogOHB4OyBib3JkZXItcmFkaXVzOiA1MCU7IGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTMsICMzZjNmNDYpOyBmbGV4LXNocmluazogMDsiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS00LCAjNzE3MTdhKTsiPiR7bC5kaXNwbGF5TmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtMywgIzNmM2Y0Nik7Ij4ke3IobC5zdGF0dXMpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGApfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBkZXBsb3lGcm9tVGVtcGxhdGUoYSl7bGV0IHI9YS5pZHx8YS5uYW1lLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvW15hLXowLTktXS9nLCItIikscz17fTtpZihhLmVudlZhcnMpZm9yKGxldCBvIG9mIGEuZW52VmFycylvLmtleSYmby52YWx1ZSYmKHNbby5rZXldPW8udmFsdWUpO2xldCBuPXtuYW1lOnIsaW1hZ2U6YS5pbWFnZSxwb3J0OmEucG9ydHx8ODAsZW52VmFyczpzLGVuYWJsZU1vbmdvREI6YS5lbmFibGVNb25nb0RCfHwhMSxlbmFibGVTMzphLmVuYWJsZVMzfHwhMSxlbmFibGVDbGlja0hvdXNlOmEuZW5hYmxlQ2xpY2tIb3VzZXx8ITEsZW5hYmxlUmVkaXM6YS5lbmFibGVSZWRpc3x8ITEsZW5hYmxlTWFyaWFEQjphLmVuYWJsZU1hcmlhREJ8fCExfTthd2FpdCBwdC5kaXNwYXRjaEFjdGlvbih0SCx7Y29uZmlnOm59KSx0aGlzLnBlbmRpbmdUZW1wbGF0ZT1udWxsLHRoaXMuY3VycmVudFZpZXc9Imxpc3QifXJlbmRlckNyZWF0ZVZpZXcoKXtpZih0aGlzLnBlbmRpbmdUZW1wbGF0ZSl7bGV0IGE9dGhpcy5wZW5kaW5nVGVtcGxhdGU7cmV0dXJuIHdgCiAgICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkRlcGxveSAke2EubmFtZX08L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICAgIDxkaXYgc3R5bGU9Im1heC13aWR0aDogNjAwcHg7IG1hcmdpbjogMCBhdXRvOyI+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS0xLCAjMDkwOTBiKTsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2ktc2hhZGUtMiwgIzI3MjcyYSk7IGJvcmRlci1yYWRpdXM6IDhweDsgcGFkZGluZzogMjRweDsgbWFyZ2luLWJvdHRvbTogMTZweDsiPgogICAgICAgICAgICA8aDMgc3R5bGU9Im1hcmdpbjogMCAwIDhweCAwOyBmb250LXNpemU6IDE4cHg7Ij4ke2EubmFtZX08L2gzPgogICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luOiAwIDAgMTZweCAwOyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7IGZvbnQtc2l6ZTogMTRweDsiPiR7YS5kZXNjcmlwdGlvbn08L3A+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGdyaWQ7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsgZ2FwOiAxMnB4OyBmb250LXNpemU6IDEzcHg7Ij4KICAgICAgICAgICAgICA8ZGl2PjxzcGFuIHN0eWxlPSJjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7Ij5JbWFnZTo8L3NwYW4+IDxzdHJvbmc+JHthLmltYWdlfTwvc3Ryb25nPjwvZGl2PgogICAgICAgICAgICAgIDxkaXY+PHNwYW4gc3R5bGU9ImNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjYTFhMWFhKTsiPlBvcnQ6PC9zcGFuPiA8c3Ryb25nPiR7YS5wb3J0fTwvc3Ryb25nPjwvZGl2PgogICAgICAgICAgICAgIDxkaXY+PHNwYW4gc3R5bGU9ImNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjYTFhMWFhKTsiPlNlcnZpY2UgTmFtZTo8L3NwYW4+IDxzdHJvbmc+JHthLmlkfTwvc3Ryb25nPjwvZGl2PgogICAgICAgICAgICAgIDxkaXY+PHNwYW4gc3R5bGU9ImNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjYTFhMWFhKTsiPkNhdGVnb3J5Ojwvc3Bhbj4gPHN0cm9uZz4ke2EuY2F0ZWdvcnl9PC9zdHJvbmc+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAke2EuZW5hYmxlTW9uZ29EQnx8YS5lbmFibGVTM3x8YS5lbmFibGVDbGlja0hvdXNlfHxhLmVuYWJsZVJlZGlzfHxhLmVuYWJsZU1hcmlhREI/d2AKICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAxMnB4OyBmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjYTFhMWFhKTsiPgogICAgICAgICAgICAgICAgUGxhdGZvcm0gU2VydmljZXM6CiAgICAgICAgICAgICAgICAke2EuZW5hYmxlTW9uZ29EQj93YDxzcGFuIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDhweDsiPk1vbmdvREI8L3NwYW4+YDoiIn0KICAgICAgICAgICAgICAgICR7YS5lbmFibGVTMz93YDxzcGFuIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDhweDsiPlMzPC9zcGFuPmA6IiJ9CiAgICAgICAgICAgICAgICAke2EuZW5hYmxlQ2xpY2tIb3VzZT93YDxzcGFuIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDhweDsiPkNsaWNrSG91c2U8L3NwYW4+YDoiIn0KICAgICAgICAgICAgICAgICR7YS5lbmFibGVSZWRpcz93YDxzcGFuIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDhweDsiPlJlZGlzPC9zcGFuPmA6IiJ9CiAgICAgICAgICAgICAgICAke2EuZW5hYmxlTWFyaWFEQj93YDxzcGFuIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDhweDsiPk1hcmlhREI8L3NwYW4+YDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZ2FwOiAxMnB4OyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRlcGxveS1idXR0b24iIHN0eWxlPSJiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2ktc2hhZGUtMiwgIzI3MjcyYSk7IGNvbG9yOiBpbmhlcml0OyIgQGNsaWNrPSR7KCk9Pnt0aGlzLnBlbmRpbmdUZW1wbGF0ZT1udWxsLHRoaXMuY3VycmVudFZpZXc9Imxpc3QifX0+Q2FuY2VsPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRlcGxveS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmRlcGxveUZyb21UZW1wbGF0ZShhKX0+RGVwbG95ICR7YS5uYW1lfTwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGB9cmV0dXJuIHdgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5DcmVhdGUgU2VydmljZTwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxzei1zZXJ2aWNlLWNyZWF0ZS12aWV3CiAgICAgICAgLnJlZ2lzdHJpZXM9JHtbXX0KICAgICAgICBAY3JlYXRlLXNlcnZpY2U9JHthc3luYyBhPT57bGV0IHI9YS5kZXRhaWwscz17bmFtZTpyLm5hbWUsaW1hZ2U6ci5pbWFnZSxwb3J0OnIucG9ydHM/LlswXT8uY29udGFpbmVyUG9ydD9wYXJzZUludChyLnBvcnRzWzBdLmNvbnRhaW5lclBvcnQsMTApOjgwLGVudlZhcnM6ci5lbnZWYXJzPy5yZWR1Y2UoKG4sbyk9PihvLmtleSYmKG5bby5rZXldPW8udmFsdWUpLG4pLHt9KSxlbmFibGVNb25nb0RCOnIuZW5hYmxlTW9uZ29EQnx8ITEsZW5hYmxlUzM6ci5lbmFibGVTM3x8ITEsZW5hYmxlQ2xpY2tIb3VzZTpyLmVuYWJsZUNsaWNrSG91c2V8fCExLGVuYWJsZVJlZGlzOnIuZW5hYmxlUmVkaXN8fCExLGVuYWJsZU1hcmlhREI6ci5lbmFibGVNYXJpYURCfHwhMX07YXdhaXQgcHQuZGlzcGF0Y2hBY3Rpb24odEgse2NvbmZpZzpzfSksdGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9fQogICAgICAgIEBjYW5jZWw9JHsoKT0+e3RoaXMuY3VycmVudFZpZXc9Imxpc3QifX0KICAgICAgPjwvc3otc2VydmljZS1jcmVhdGUtdmlldz4KICAgIGB9cmVuZGVyRGV0YWlsVmlldygpe2xldCBhPXRoaXMuc2VydmljZXNTdGF0ZS5jdXJyZW50U2VydmljZSxyPWE/U3lhKGEpOm51bGwscz10aGlzLnNlcnZpY2VzU3RhdGUuY3VycmVudFNlcnZpY2VTdGF0cz9DeWEodGhpcy5zZXJ2aWNlc1N0YXRlLmN1cnJlbnRTZXJ2aWNlU3RhdHMpOlR5YSxuPV95YSh0aGlzLnNlcnZpY2VzU3RhdGUuY3VycmVudFNlcnZpY2VMb2dzKSxvPWE/dGhpcy5hcHBTdG9yZVN0YXRlLnVwZ3JhZGVhYmxlU2VydmljZXMuZmluZChsPT5sLnNlcnZpY2VOYW1lPT09YS5uYW1lKTpudWxsO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+U2VydmljZSBEZXRhaWxzPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgJHtvP3dgCiAgICAgICAgPGRpdiBzdHlsZT0iCiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSwgcmdiYSgxMzksIDkyLCAyNDYsIDAuMSkpOwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMyk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICI+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS03LCAjZTRlNGU3KTsiPgogICAgICAgICAgICAgIFVwZGF0ZSBhdmFpbGFibGU6IHYke28uY3VycmVudFZlcnNpb259ICZyYXJyOyB2JHtvLmxhdGVzdFZlcnNpb259CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS00LCAjNzE3MTdhKTsgbWFyZ2luLXRvcDogNHB4OyI+CiAgICAgICAgICAgICAgJHtvLmhhc01pZ3JhdGlvbj8iTWlncmF0aW9uIHNjcmlwdCBhdmFpbGFibGUiOiJDb25maWctb25seSB1cGdyYWRlIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgY2xhc3M9ImRlcGxveS1idXR0b24iCiAgICAgICAgICAgIHN0eWxlPSJwYWRkaW5nOiA4cHggMTZweDsgZm9udC1zaXplOiAxM3B4OyIKICAgICAgICAgICAgQGNsaWNrPSR7YXN5bmMoKT0+e2F3YWl0IEUyLmRpc3BhdGNoQWN0aW9uKGZyYSx7c2VydmljZU5hbWU6by5zZXJ2aWNlTmFtZSx0YXJnZXRWZXJzaW9uOm8ubGF0ZXN0VmVyc2lvbn0pLHB0LmRpc3BhdGNoQWN0aW9uKGlxZSx7bmFtZTpvLnNlcnZpY2VOYW1lfSkscHQuZGlzcGF0Y2hBY3Rpb24oZUgsbnVsbCl9fQogICAgICAgICAgPlVwZ3JhZGU8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgICAgPHN6LXNlcnZpY2UtZGV0YWlsLXZpZXcKICAgICAgICAuc2VydmljZT0ke3J9CiAgICAgICAgLmxvZ3M9JHtufQogICAgICAgIC5zdGF0cz0ke3N9CiAgICAgICAgQGJhY2s9JHsoKT0+e3RoaXMuY3VycmVudFZpZXc9Imxpc3QifX0KICAgICAgICBAc2VydmljZS1hY3Rpb249JHtsPT50aGlzLmhhbmRsZVNlcnZpY2VBY3Rpb24obCl9CiAgICAgICAgQHJlcXVlc3Qtd29ya3NwYWNlPSR7YXN5bmMgbD0+e2xldCBoPWwuZGV0YWlsPy5zZXJ2aWNlPy5uYW1lfHx0aGlzLnNlbGVjdGVkU2VydmljZU5hbWUsdT13MS5nZXRTdGF0ZSgpLmlkZW50aXR5O2lmKCEoIWh8fCF1KSl0cnl7bGV0IGY9bmV3ICRYKGgsdSk7YXdhaXQgZi5pbml0KCk7bGV0IHA9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJzei1zZXJ2aWNlLWRldGFpbC12aWV3Iik7cCYmKHAud29ya3NwYWNlRW52aXJvbm1lbnQ9ZiksdGhpcy53b3Jrc3BhY2VPcGVuPSEwLHRoaXMuY2xhc3NMaXN0LmFkZCgid29ya3NwYWNlLW1vZGUiKX1jYXRjaChmKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gb3BlbiB3b3Jrc3BhY2U6IixmKX19fQogICAgICAgIEBiYWNrPSR7KCk9Pnt0aGlzLndvcmtzcGFjZU9wZW49ITEsdGhpcy5jbGFzc0xpc3QucmVtb3ZlKCJ3b3Jrc3BhY2UtbW9kZSIpLHRoaXMuY3VycmVudFZpZXc9Imxpc3QifX0KICAgICAgPjwvc3otc2VydmljZS1kZXRhaWwtdmlldz4KICAgIGB9cmVuZGVyQmFja3Vwc1ZpZXcoKXtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkJhY2t1cHM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otc2VydmljZXMtYmFja3Vwcy12aWV3CiAgICAgICAgLnNjaGVkdWxlcz0ke3RoaXMuYmFja3Vwc1N0YXRlLnNjaGVkdWxlc30KICAgICAgICAuYmFja3Vwcz0ke3RoaXMuYmFja3Vwc1N0YXRlLmJhY2t1cHN9CiAgICAgICAgQGNyZWF0ZS1zY2hlZHVsZT0ke2E9Pntqcy5kaXNwYXRjaEFjdGlvbihjcmEse2NvbmZpZzphLmRldGFpbH0pfX0KICAgICAgICBAcnVuLW5vdz0ke2E9Pntqcy5kaXNwYXRjaEFjdGlvbihkcmEse3NjaGVkdWxlSWQ6YS5kZXRhaWwuc2NoZWR1bGVJZH0pfX0KICAgICAgICBAZGVsZXRlLWJhY2t1cD0ke2E9Pntqcy5kaXNwYXRjaEFjdGlvbihscmEse2JhY2t1cElkOmEuZGV0YWlsLmJhY2t1cElkfSl9fQogICAgICA+PC9zei1zZXJ2aWNlcy1iYWNrdXBzLXZpZXc+CiAgICBgfW5hdmlnYXRlVG9QbGF0Zm9ybURldGFpbChhKXt0aGlzLmN1cnJlbnRWaWV3PSJsaXN0Iix0aGlzLnNlbGVjdGVkUGxhdGZvcm1UeXBlPWEscHQuc2V0U3RhdGUoey4uLnB0LmdldFN0YXRlKCksY3VycmVudFBsYXRmb3JtU2VydmljZVN0YXRzOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3M6W119KTtsZXQgcj1hO3B0LmRpc3BhdGNoQWN0aW9uKF9YLHtzZXJ2aWNlVHlwZTpyfSkscHQuZGlzcGF0Y2hBY3Rpb24odHJhLHtzZXJ2aWNlVHlwZTpyfSkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5jdXJyZW50Vmlldz0icGxhdGZvcm0tZGV0YWlsIn0pfXJlbmRlclBsYXRmb3JtRGV0YWlsVmlldygpe2xldCBhPXRoaXMuc2VydmljZXNTdGF0ZS5wbGF0Zm9ybVNlcnZpY2VzLmZpbmQoaD0+aC50eXBlPT09dGhpcy5zZWxlY3RlZFBsYXRmb3JtVHlwZSkscj10aGlzLnNlcnZpY2VzU3RhdGUuY3VycmVudFBsYXRmb3JtU2VydmljZVN0YXRzLHM9e2NwdTpyP01hdGgucm91bmQoci5jcHVQZXJjZW50KTowLG1lbW9yeTpyP01hdGgucm91bmQoci5tZW1vcnlQZXJjZW50KTowLHN0b3JhZ2U6MCxjb25uZWN0aW9uczp2b2lkIDB9LG89YT97bW9uZ29kYjp7aG9zdDoib25lYm94LW1vbmdvZGIiLHBvcnQ6MjcwMTcsdmVyc2lvbjoiNC40Iixjb25maWc6e2VuZ2luZToiV2lyZWRUaWdlciIsYXV0aEVuYWJsZWQ6ITB9fSxtaW5pbzp7aG9zdDoib25lYm94LW1pbmlvIixwb3J0OjllMyx2ZXJzaW9uOiJsYXRlc3QiLGNvbmZpZzp7Y29uc29sZVBvcnQ6OTAwMSxyZWdpb246InVzLWVhc3QtMSJ9fSxjbGlja2hvdXNlOntob3N0OiJvbmVib3gtY2xpY2tob3VzZSIscG9ydDo4MTIzLHZlcnNpb246ImxhdGVzdCIsY29uZmlnOntuYXRpdmVQb3J0OjllMyxodHRwUG9ydDo4MTIzfX0sc21hcnRwcm94eTp7aG9zdDoib25lYm94LXNtYXJ0cHJveHkiLHBvcnQ6ODAsdmVyc2lvbjoibGF0ZXN0Iixjb25maWc6e2h0dHBzUG9ydDo0NDMsYWRtaW5BcGk6MjAxOX19LG1hcmlhZGI6e2hvc3Q6Im9uZWJveC1tYXJpYWRiIixwb3J0OjMzMDYsdmVyc2lvbjoiMTEiLGNvbmZpZzp7ZW5naW5lOiJJbm5vREIiLGF1dGhFbmFibGVkOiEwfX0scmVkaXM6e2hvc3Q6Im9uZWJveC1yZWRpcyIscG9ydDo2Mzc5LHZlcnNpb246IjctYWxwaW5lIixjb25maWc6e2FwcGVuZG9ubHk6ITAsbWF4RGF0YWJhc2VzOjE2fX19W2EudHlwZV18fHtob3N0OiJ1bmtub3duIixwb3J0OjAsdmVyc2lvbjoiIixjb25maWc6e319Ontob3N0OiIiLHBvcnQ6MCx2ZXJzaW9uOiIiLGNvbmZpZzp7fX0sbD1pKGg9Pntzd2l0Y2goaCl7Y2FzZSJydW5uaW5nIjpyZXR1cm4icnVubmluZyI7Y2FzZSJmYWlsZWQiOnJldHVybiJlcnJvciI7ZGVmYXVsdDpyZXR1cm4ic3RvcHBlZCJ9fSwibWFwUGxhdGZvcm1TdGF0dXMiKTtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPlBsYXRmb3JtIFNlcnZpY2U8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8ZGl2IGNsYXNzPSJwYWdlLWFjdGlvbnMiIHN0eWxlPSJqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7Ij4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJkZXBsb3ktYnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOyBjb2xvcjogaW5oZXJpdDsiIEBjbGljaz0keygpPT57dGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9fT4KICAgICAgICAgICZsYXJyOyBCYWNrIHRvIFNlcnZpY2VzCiAgICAgICAgPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8c3otcGxhdGZvcm0tc2VydmljZS1kZXRhaWwtdmlldwogICAgICAgIC5zZXJ2aWNlPSR7YT97aWQ6YS50eXBlLG5hbWU6YS5kaXNwbGF5TmFtZSx0eXBlOmEudHlwZSxzdGF0dXM6bChhLnN0YXR1cyksdmVyc2lvbjpvLnZlcnNpb24saG9zdDpvLmhvc3QscG9ydDpvLnBvcnQsY29uZmlnOm8uY29uZmlnLG1ldHJpY3M6c306bnVsbH0KICAgICAgICAubG9ncz0ke3RoaXMuc2VydmljZXNTdGF0ZS5jdXJyZW50UGxhdGZvcm1TZXJ2aWNlTG9ncy5tYXAoaD0+KHt0aW1lc3RhbXA6bmV3IERhdGUoaC50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCksbGV2ZWw6aC5sZXZlbCxtZXNzYWdlOmgubWVzc2FnZX0pKX0KICAgICAgICBAYmFjaz0keygpPT57dGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9fQogICAgICAgIEBzdGFydD0ke2FzeW5jKCk9Pnthd2FpdCBwdC5kaXNwYXRjaEFjdGlvbihzcWUse3NlcnZpY2VUeXBlOnRoaXMuc2VsZWN0ZWRQbGF0Zm9ybVR5cGV9KSxwdC5kaXNwYXRjaEFjdGlvbihfWCx7c2VydmljZVR5cGU6dGhpcy5zZWxlY3RlZFBsYXRmb3JtVHlwZX0pfX0KICAgICAgICBAc3RvcD0ke2FzeW5jKCk9Pnthd2FpdCBwdC5kaXNwYXRjaEFjdGlvbihvcWUse3NlcnZpY2VUeXBlOnRoaXMuc2VsZWN0ZWRQbGF0Zm9ybVR5cGV9KX19CiAgICAgICAgQHJlc3RhcnQ9JHthc3luYygpPT57YXdhaXQgcHQuZGlzcGF0Y2hBY3Rpb24ob3FlLHtzZXJ2aWNlVHlwZTp0aGlzLnNlbGVjdGVkUGxhdGZvcm1UeXBlfSksYXdhaXQgcHQuZGlzcGF0Y2hBY3Rpb24oc3FlLHtzZXJ2aWNlVHlwZTp0aGlzLnNlbGVjdGVkUGxhdGZvcm1UeXBlfSkscHQuZGlzcGF0Y2hBY3Rpb24oX1gse3NlcnZpY2VUeXBlOnRoaXMuc2VsZWN0ZWRQbGF0Zm9ybVR5cGV9KX19CiAgICAgID48L3N6LXBsYXRmb3JtLXNlcnZpY2UtZGV0YWlsLXZpZXc+CiAgICBgfWFzeW5jIGhhbmRsZVNlcnZpY2VBY3Rpb24oYSl7bGV0IHI9YS5kZXRhaWwuYWN0aW9uLHM9YS5kZXRhaWwuc2VydmljZT8ubmFtZXx8YS5kZXRhaWwubmFtZXx8dGhpcy5zZWxlY3RlZFNlcnZpY2VOYW1lO3N3aXRjaChyKXtjYXNlInN0YXJ0Ijphd2FpdCBwdC5kaXNwYXRjaEFjdGlvbihYMWEse25hbWU6c30pO2JyZWFrO2Nhc2Uic3RvcCI6YXdhaXQgcHQuZGlzcGF0Y2hBY3Rpb24oSzFhLHtuYW1lOnN9KTticmVhaztjYXNlInJlc3RhcnQiOmF3YWl0IHB0LmRpc3BhdGNoQWN0aW9uKFExYSx7bmFtZTpzfSk7YnJlYWs7Y2FzZSJkZWxldGUiOmF3YWl0IHB0LmRpc3BhdGNoQWN0aW9uKFoxYSx7bmFtZTpzfSksdGhpcy5jdXJyZW50Vmlldz0ibGlzdCI7YnJlYWt9fX07JGE9RjEoVXJhKSwkcWU9bmV3IFdlYWtNYXAsRHFlPW5ldyBXZWFrTWFwLEFxZT1uZXcgV2Vha01hcCxQcWU9bmV3IFdlYWtNYXAsRXFlPW5ldyBXZWFrTWFwLElxZT1uZXcgV2Vha01hcCxOcWU9bmV3IFdlYWtNYXAsUnFlPW5ldyBXZWFrTWFwLHh0KCRhLDQsInNlcnZpY2VzU3RhdGUiLGpyYSxaciwkcWUpLHh0KCRhLDQsImJhY2t1cHNTdGF0ZSIsVnJhLFpyLERxZSkseHQoJGEsNCwiY3VycmVudFZpZXciLHFyYSxacixBcWUpLHh0KCRhLDQsInNlbGVjdGVkU2VydmljZU5hbWUiLEhyYSxacixQcWUpLHh0KCRhLDQsInNlbGVjdGVkUGxhdGZvcm1UeXBlIixCcmEsWnIsRXFlKSx4dCgkYSw0LCJ3b3Jrc3BhY2VPcGVuIixPcmEsWnIsSXFlKSx4dCgkYSw0LCJwZW5kaW5nVGVtcGxhdGUiLEZyYSxacixOcWUpLHh0KCRhLDQsImFwcFN0b3JlU3RhdGUiLFJyYSxacixScWUpLFpyPXh0KCRhLDAsIk9iVmlld1NlcnZpY2VzIixXcmEsWnIpLGkoWnIsIk9iVmlld1NlcnZpY2VzIiksTzEoWnIsInN0eWxlcyIsW2QuZGVmYXVsdFN0eWxlcyxsaSxYYAogICAgICAucGFnZS1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmRlcGxveS1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7ZC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjb2xvcjogJHtkLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmRlcGxveS1idXR0b246aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgfQoKICAgICAgLmRlcGxveS1idXR0b24gc3ZnIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KC53b3Jrc3BhY2UtbW9kZSkgewogICAgICAgIG1heC13aWR0aDogbm9uZTsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIH0KCiAgICAgIDpob3N0KC53b3Jrc3BhY2UtbW9kZSkgb2Itc2VjdGlvbmhlYWRpbmcgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KICAgIGBdKSxXZSgkYSwxLFpyKTtGcWU9WnJ9KTt2YXIgSnJhPXt9O2V0KEpyYSx7T2JWaWV3TmV0d29yazooKT0+VnFlfSk7dmFyIFlyYSxacmEsWHJhLEtyYSxRcmEscnMsQnFlLEhxZSxxcWUsUjIsVnFlLGpxZT1jKGFzeW5jKCk9PntMaSgpO1pvKCk7YXdhaXQgSTIoKTtwZSgpO1FyYT1bYWUoIm9iLXZpZXctbmV0d29yayIpXTtSMj1jbGFzcyBSMiBleHRlbmRzKEtyYT1jZSxYcmE9W1ooKV0sWnJhPVtaKCldLFlyYT1bWigpXSxLcmEpe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTskdCh0aGlzLEJxZSxXZShycyw4LHRoaXMse3RhcmdldHM6W10sc3RhdHM6bnVsbCx0cmFmZmljU3RhdHM6bnVsbCxkbnNSZWNvcmRzOltdLGRvbWFpbnM6W10sY2VydGlmaWNhdGVzOltdfSkpLFdlKHJzLDExLHRoaXMpOyR0KHRoaXMsSHFlLFdlKHJzLDEyLHRoaXMsInByb3h5IikpLFdlKHJzLDE1LHRoaXMpOyR0KHRoaXMscXFlLFdlKHJzLDE2LHRoaXMsIiIpKSxXZShycywxOSx0aGlzKTtsZXQgYT1xYS5zZWxlY3Qocj0+cikuc3Vic2NyaWJlKHI9Pnt0aGlzLm5ldHdvcmtTdGF0ZT1yfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChhKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgUHJvbWlzZS5hbGwoW3FhLmRpc3BhdGNoQWN0aW9uKG5xZSxudWxsKSxxYS5kaXNwYXRjaEFjdGlvbihhSCxudWxsKSxxYS5kaXNwYXRjaEFjdGlvbihhcmEsbnVsbCkscWEuZGlzcGF0Y2hBY3Rpb24ocnJhLG51bGwpLHFhLmRpc3BhdGNoQWN0aW9uKGxxZSxudWxsKSxxYS5kaXNwYXRjaEFjdGlvbihUWCxudWxsKV0pfXJlbmRlcigpe3N3aXRjaCh0aGlzLmN1cnJlbnRUYWIpe2Nhc2UiZG5zIjpyZXR1cm4gdGhpcy5yZW5kZXJEbnNWaWV3KCk7Y2FzZSJkb21haW5zIjpyZXR1cm4gdGhpcy5yZW5kZXJEb21haW5zVmlldygpO2Nhc2UiZG9tYWluLWRldGFpbCI6cmV0dXJuIHRoaXMucmVuZGVyRG9tYWluRGV0YWlsVmlldygpO2RlZmF1bHQ6cmV0dXJuIHRoaXMucmVuZGVyUHJveHlWaWV3KCl9fXJlbmRlclByb3h5Vmlldygpe2xldCBhPXRoaXMubmV0d29ya1N0YXRlLnN0YXRzO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+TmV0d29yazwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxzei1uZXR3b3JrLXByb3h5LXZpZXcKICAgICAgICAucHJveHlTdGF0dXM9JHthPy5wcm94eT8ucnVubmluZz8icnVubmluZyI6InN0b3BwZWQifQogICAgICAgIC5yb3V0ZUNvdW50PSR7U3RyaW5nKGE/LnByb3h5Py5yb3V0ZXN8fDApfQogICAgICAgIC5jZXJ0aWZpY2F0ZUNvdW50PSR7U3RyaW5nKGE/LnByb3h5Py5jZXJ0aWZpY2F0ZXN8fDApfQogICAgICAgIC50YXJnZXRDb3VudD0ke1N0cmluZyh0aGlzLm5ldHdvcmtTdGF0ZS50YXJnZXRzLmxlbmd0aCl9CiAgICAgICAgLnRhcmdldHM9JHt0aGlzLm5ldHdvcmtTdGF0ZS50YXJnZXRzLm1hcChyPT4oe3R5cGU6ci50eXBlLG5hbWU6ci5uYW1lLGRvbWFpbjpyLmRvbWFpbix0YXJnZXQ6YCR7ci50YXJnZXRIb3N0fToke3IudGFyZ2V0UG9ydH1gLHN0YXR1czpyLnN0YXR1c30pKX0KICAgICAgICAubG9ncz0ke1tdfQogICAgICAgIEByZWZyZXNoPSR7KCk9PntxYS5kaXNwYXRjaEFjdGlvbihucWUsbnVsbCkscWEuZGlzcGF0Y2hBY3Rpb24oYUgsbnVsbCl9fQogICAgICA+PC9zei1uZXR3b3JrLXByb3h5LXZpZXc+CiAgICBgfXJlbmRlckRuc1ZpZXcoKXtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkROUyBSZWNvcmRzPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LW5ldHdvcmstZG5zLXZpZXcKICAgICAgICAucmVjb3Jkcz0ke3RoaXMubmV0d29ya1N0YXRlLmRuc1JlY29yZHN9CiAgICAgICAgQHN5bmM9JHsoKT0+e3FhLmRpc3BhdGNoQWN0aW9uKGlyYSxudWxsKX19CiAgICAgICAgQGRlbGV0ZT0ke2E9Pntjb25zb2xlLmxvZygiRGVsZXRlIEROUyByZWNvcmQ6IixhLmRldGFpbCl9fQogICAgICA+PC9zei1uZXR3b3JrLWRucy12aWV3PgogICAgYH1yZW5kZXJEb21haW5zVmlldygpe2xldCBhPXRoaXMubmV0d29ya1N0YXRlLmNlcnRpZmljYXRlcztyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkRvbWFpbnM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otbmV0d29yay1kb21haW5zLXZpZXcKICAgICAgICAuZG9tYWlucz0ke3RoaXMubmV0d29ya1N0YXRlLmRvbWFpbnMubWFwKHI9PntsZXQgcz1hLmZpbmQobz0+by5jZXJ0RG9tYWluPT09ci5kb21haW4pLG49InBlbmRpbmciO3JldHVybiBzJiYocy5pc1ZhbGlkP3MuZXhwaXJlc0F0JiZzLmV4cGlyZXNBdC1EYXRlLm5vdygpPDcyMCo2MCo2MCoxZTM/bj0iZXhwaXJpbmciOm49InZhbGlkIjpuPSJleHBpcmVkIikse2RvbWFpbjpyLmRvbWFpbixwcm92aWRlcjoiY2xvdWRmbGFyZSIsc2VydmljZUNvdW50OnIuc2VydmljZXM/Lmxlbmd0aHx8MCxjZXJ0aWZpY2F0ZVN0YXR1czpufX0pfQogICAgICAgIEBzeW5jPSR7KCk9PntxYS5kaXNwYXRjaEFjdGlvbihscWUsbnVsbCl9fQogICAgICAgIEB2aWV3PSR7cj0+e3RoaXMuc2VsZWN0ZWREb21haW49ci5kZXRhaWwuZG9tYWlufHxyLmRldGFpbCx0aGlzLmN1cnJlbnRUYWI9ImRvbWFpbi1kZXRhaWwifX0KICAgICAgPjwvc3otbmV0d29yay1kb21haW5zLXZpZXc+CiAgICBgfXJlbmRlckRvbWFpbkRldGFpbFZpZXcoKXtsZXQgYT10aGlzLm5ldHdvcmtTdGF0ZS5kb21haW5zLmZpbmQocz0+cy5kb21haW49PT10aGlzLnNlbGVjdGVkRG9tYWluKSxyPXRoaXMubmV0d29ya1N0YXRlLmNlcnRpZmljYXRlcy5maW5kKHM9PnMuY2VydERvbWFpbj09PXRoaXMuc2VsZWN0ZWREb21haW4pO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+RG9tYWluIERldGFpbHM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otZG9tYWluLWRldGFpbC12aWV3CiAgICAgICAgLmRvbWFpbj0ke2E/e2lkOnRoaXMuc2VsZWN0ZWREb21haW4sbmFtZTp0aGlzLnNlbGVjdGVkRG9tYWluLHN0YXR1czoiYWN0aXZlIix2ZXJpZmllZDohMCxjcmVhdGVkQXQ6IiJ9Om51bGx9CiAgICAgICAgLmNlcnRpZmljYXRlPSR7cj97aWQ6ci5kb21haW5JZCxkb21haW46ci5jZXJ0RG9tYWluLGlzc3VlcjoiTGV0J3MgRW5jcnlwdCIsdmFsaWRGcm9tOnIuaXNzdWVkQXQ/bmV3IERhdGUoci5pc3N1ZWRBdCkudG9JU09TdHJpbmcoKToiIix2YWxpZFVudGlsOnIuZXhwaXJlc0F0P25ldyBEYXRlKHIuZXhwaXJlc0F0KS50b0lTT1N0cmluZygpOiIiLGRheXNSZW1haW5pbmc6ci5leHBpcmVzQXQ/TWF0aC5mbG9vcigoci5leHBpcmVzQXQtRGF0ZS5ub3coKSkvKDE0NDAqNjAqMWUzKSk6MCxzdGF0dXM6ci5pc1ZhbGlkPyJ2YWxpZCI6ImV4cGlyZWQiLGF1dG9SZW5ldzohMH06bnVsbH0KICAgICAgICAuZG5zUmVjb3Jkcz0ke3RoaXMubmV0d29ya1N0YXRlLmRuc1JlY29yZHMuZmlsdGVyKHM9PnMuZG9tYWluPy5pbmNsdWRlcyh0aGlzLnNlbGVjdGVkRG9tYWluKSkubWFwKHM9Pih7aWQ6cy5pZHx8IiIsdHlwZTpzLnR5cGUsbmFtZTpzLmRvbWFpbix2YWx1ZTpzLnZhbHVlLHR0bDozNjAwfSkpfQogICAgICAgIEByZW5ldy1jZXJ0aWZpY2F0ZT0keygpPT57cWEuZGlzcGF0Y2hBY3Rpb24oc3JhLHtkb21haW46dGhpcy5zZWxlY3RlZERvbWFpbn0pfX0KICAgICAgPjwvc3otZG9tYWluLWRldGFpbC12aWV3PgogICAgYH19O3JzPUYxKEtyYSksQnFlPW5ldyBXZWFrTWFwLEhxZT1uZXcgV2Vha01hcCxxcWU9bmV3IFdlYWtNYXAseHQocnMsNCwibmV0d29ya1N0YXRlIixYcmEsUjIsQnFlKSx4dChycyw0LCJjdXJyZW50VGFiIixacmEsUjIsSHFlKSx4dChycyw0LCJzZWxlY3RlZERvbWFpbiIsWXJhLFIyLHFxZSksUjI9eHQocnMsMCwiT2JWaWV3TmV0d29yayIsUXJhLFIyKSxpKFIyLCJPYlZpZXdOZXR3b3JrIiksTzEoUjIsInN0eWxlcyIsW2QuZGVmYXVsdFN0eWxlcyxsaSxYYGBdKSxXZShycywxLFIyKTtWcWU9UjJ9KTt2YXIgaWlhPXt9O2V0KGlpYSx7T2JWaWV3UmVnaXN0cmllczooKT0+R3FlfSk7dmFyIGVpYSx0aWEsYWlhLHJpYSxlbixVcWUsV3FlLHRuLEdxZSxZcWU9Yyhhc3luYygpPT57TGkoKTtabygpO2F3YWl0IEkyKCk7YXdhaXQgYnAoKTtwZSgpO3JpYT1bYWUoIm9iLXZpZXctcmVnaXN0cmllcyIpXTt0bj1jbGFzcyB0biBleHRlbmRzKGFpYT1jZSx0aWE9W1ooKV0sZWlhPVtaKCldLGFpYSl7Y29uc3RydWN0b3IoKXtzdXBlcigpOyR0KHRoaXMsVXFlLFdlKGVuLDgsdGhpcyx7dG9rZW5zOltdLHJlZ2lzdHJ5U3RhdHVzOm51bGx9KSksV2UoZW4sMTEsdGhpcyk7JHQodGhpcyxXcWUsV2UoZW4sMTIsdGhpcywib25lYm94IikpLFdlKGVuLDE1LHRoaXMpO2xldCBhPVVzLnNlbGVjdChyPT5yKS5zdWJzY3JpYmUocj0+e3RoaXMucmVnaXN0cmllc1N0YXRlPXJ9KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKGEpfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCBVcy5kaXNwYXRjaEFjdGlvbihMWCxudWxsKX1yZW5kZXIoKXtyZXR1cm4gdGhpcy5jdXJyZW50VGFiPT09ImV4dGVybmFsIj90aGlzLnJlbmRlckV4dGVybmFsVmlldygpOnRoaXMucmVuZGVyT25lYm94VmlldygpfXJlbmRlck9uZWJveFZpZXcoKXtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPlJlZ2lzdHJpZXM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otcmVnaXN0cnktYWR2ZXJ0aXNlbWVudAogICAgICAgIC5zdGF0dXM9JHsicnVubmluZyJ9CiAgICAgICAgLnJlZ2lzdHJ5VXJsPSR7ImxvY2FsaG9zdDo1MDAwIn0KICAgICAgICBAbWFuYWdlLXRva2Vucz0keygpPT57dHMubmF2aWdhdGVUb1ZpZXcoInRva2VucyIpfX0KICAgICAgPjwvc3otcmVnaXN0cnktYWR2ZXJ0aXNlbWVudD4KICAgIGB9cmVuZGVyRXh0ZXJuYWxWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5FeHRlcm5hbCBSZWdpc3RyaWVzPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LXJlZ2lzdHJ5LWV4dGVybmFsLXZpZXcKICAgICAgICAucmVnaXN0cmllcz0ke1tdfQogICAgICAgIEBhZGQ9JHthPT57Y29uc29sZS5sb2coIkFkZCBleHRlcm5hbCByZWdpc3RyeToiLGEuZGV0YWlsKX19CiAgICAgID48L3N6LXJlZ2lzdHJ5LWV4dGVybmFsLXZpZXc+CiAgICBgfX07ZW49RjEoYWlhKSxVcWU9bmV3IFdlYWtNYXAsV3FlPW5ldyBXZWFrTWFwLHh0KGVuLDQsInJlZ2lzdHJpZXNTdGF0ZSIsdGlhLHRuLFVxZSkseHQoZW4sNCwiY3VycmVudFRhYiIsZWlhLHRuLFdxZSksdG49eHQoZW4sMCwiT2JWaWV3UmVnaXN0cmllcyIscmlhLHRuKSxpKHRuLCJPYlZpZXdSZWdpc3RyaWVzIiksTzEodG4sInN0eWxlcyIsW2QuZGVmYXVsdFN0eWxlcyxsaSxYYGBdKSxXZShlbiwxLHRuKTtHcWU9dG59KTt2YXIgbGlhPXt9O2V0KGxpYSx7T2JWaWV3VG9rZW5zOigpPT5YcWV9KTt2YXIgc2lhLG9pYSxuaWEsdnAsWnFlLHpsLFhxZSxLcWU9Yyhhc3luYygpPT57TGkoKTtabygpO2F3YWl0IEkyKCk7cGUoKTtuaWE9W2FlKCJvYi12aWV3LXRva2VucyIpXTt6bD1jbGFzcyB6bCBleHRlbmRzKG9pYT1jZSxzaWE9W1ooKV0sb2lhKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7JHQodGhpcyxacWUsV2UodnAsOCx0aGlzLHt0b2tlbnM6W10scmVnaXN0cnlTdGF0dXM6bnVsbH0pKSxXZSh2cCwxMSx0aGlzKTtsZXQgYT1Vcy5zZWxlY3Qocj0+cikuc3Vic2NyaWJlKHI9Pnt0aGlzLnJlZ2lzdHJpZXNTdGF0ZT1yfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChhKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgVXMuZGlzcGF0Y2hBY3Rpb24oTFgsbnVsbCl9cmVuZGVyKCl7bGV0IGE9dGhpcy5yZWdpc3RyaWVzU3RhdGUudG9rZW5zLmZpbHRlcihzPT5zLnR5cGU9PT0iZ2xvYmFsIikscj10aGlzLnJlZ2lzdHJpZXNTdGF0ZS50b2tlbnMuZmlsdGVyKHM9PnMudHlwZT09PSJjaSIpO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+VG9rZW5zPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LXRva2Vucy12aWV3CiAgICAgICAgLmdsb2JhbFRva2Vucz0ke2EubWFwKHM9Pih7aWQ6cy5pZCxuYW1lOnMubmFtZSx0eXBlOiJnbG9iYWwiLGNyZWF0ZWRBdDpzLmNyZWF0ZWRBdCxsYXN0VXNlZDpzLmxhc3RVc2VkfSkpfQogICAgICAgIC5jaVRva2Vucz0ke3IubWFwKHM9Pih7aWQ6cy5pZCxuYW1lOnMubmFtZSx0eXBlOiJjaSIsc2VydmljZTpzLnNlcnZpY2UsY3JlYXRlZEF0OnMuY3JlYXRlZEF0LGxhc3RVc2VkOnMubGFzdFVzZWR9KSl9CiAgICAgICAgQGNyZWF0ZT0ke3M9PntVcy5kaXNwYXRjaEFjdGlvbihvcmEse3Rva2VuOntuYW1lOmBuZXctJHtzLmRldGFpbC50eXBlfS10b2tlbmAsdHlwZTpzLmRldGFpbC50eXBlLHBlcm1pc3Npb25zOlsicHVsbCJdfX0pfX0KICAgICAgICBAZGVsZXRlPSR7cz0+e1VzLmRpc3BhdGNoQWN0aW9uKG5yYSx7dG9rZW5JZDpzLmRldGFpbC5pZHx8cy5kZXRhaWwudG9rZW5JZH0pfX0KICAgICAgPjwvc3otdG9rZW5zLXZpZXc+CiAgICBgfX07dnA9RjEob2lhKSxacWU9bmV3IFdlYWtNYXAseHQodnAsNCwicmVnaXN0cmllc1N0YXRlIixzaWEsemwsWnFlKSx6bD14dCh2cCwwLCJPYlZpZXdUb2tlbnMiLG5pYSx6bCksaSh6bCwiT2JWaWV3VG9rZW5zIiksTzEoemwsInN0eWxlcyIsW2QuZGVmYXVsdFN0eWxlcyxsaSxYYGBdKSxXZSh2cCwxLHpsKTtYcWU9emx9KTt2YXIgZmlhPXt9O2V0KGZpYSx7T2JWaWV3U2V0dGluZ3M6KCk9PmVWZX0pO3ZhciBjaWEsZGlhLHBpYSx1aWEsYW4sUXFlLEpxZSxybixlVmUsdFZlPWMoYXN5bmMoKT0+e0xpKCk7Wm8oKTthd2FpdCBJMigpO3BlKCk7dWlhPVthZSgib2Itdmlldy1zZXR0aW5ncyIpXTtybj1jbGFzcyBybiBleHRlbmRzKHBpYT1jZSxkaWE9W1ooKV0sY2lhPVtaKCldLHBpYSl7Y29uc3RydWN0b3IoKXtzdXBlcigpOyR0KHRoaXMsUXFlLFdlKGFuLDgsdGhpcyx7c2V0dGluZ3M6bnVsbCxiYWNrdXBQYXNzd29yZENvbmZpZ3VyZWQ6ITF9KSksV2UoYW4sMTEsdGhpcyk7JHQodGhpcyxKcWUsV2UoYW4sMTIsdGhpcyx7aWRlbnRpdHk6bnVsbCxpc0xvZ2dlZEluOiExfSkpLFdlKGFuLDE1LHRoaXMpO2xldCBhPUtvLnNlbGVjdChzPT5zKS5zdWJzY3JpYmUocz0+e3RoaXMuc2V0dGluZ3NTdGF0ZT1zfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChhKTtsZXQgcj13MS5zZWxlY3Qocz0+cykuc3Vic2NyaWJlKHM9Pnt0aGlzLmxvZ2luU3RhdGU9c30pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2gocil9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IEtvLmRpc3BhdGNoQWN0aW9uKGNxZSxudWxsKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPlNldHRpbmdzPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LXNldHRpbmdzLXZpZXcKICAgICAgICAuc2V0dGluZ3M9JHt0aGlzLnNldHRpbmdzU3RhdGUuc2V0dGluZ3N8fHtkYXJrTW9kZTohMCxjbG91ZGZsYXJlVG9rZW46IiIsY2xvdWRmbGFyZVpvbmVJZDoiIixhdXRvUmVuZXdDZXJ0czohMSxyZW5ld2FsVGhyZXNob2xkOjMwLGFjbWVFbWFpbDoiIixodHRwUG9ydDo4MCxodHRwc1BvcnQ6NDQzLGZvcmNlSHR0cHM6ITF9fQogICAgICAgIC5jdXJyZW50VXNlcj0ke3RoaXMubG9naW5TdGF0ZS5pZGVudGl0eT8udXNlcm5hbWV8fCJhZG1pbiJ9CiAgICAgICAgQHNldHRpbmctY2hhbmdlPSR7YT0+e2xldHtrZXk6cix2YWx1ZTpzfT1hLmRldGFpbDtLby5kaXNwYXRjaEFjdGlvbihkcWUse3NldHRpbmdzOntbcl06c319KX19CiAgICAgICAgQHNhdmU9JHthPT57S28uZGlzcGF0Y2hBY3Rpb24oZHFlLHtzZXR0aW5nczphLmRldGFpbH0pfX0KICAgICAgICBAY2hhbmdlLXBhc3N3b3JkPSR7YT0+e2NvbnNvbGUubG9nKCJDaGFuZ2UgcGFzc3dvcmQgcmVxdWVzdGVkOiIsYS5kZXRhaWwpfX0KICAgICAgICBAcmVzZXQ9JHsoKT0+e0tvLmRpc3BhdGNoQWN0aW9uKGNxZSxudWxsKX19CiAgICAgID48L3N6LXNldHRpbmdzLXZpZXc+CiAgICBgfX07YW49RjEocGlhKSxRcWU9bmV3IFdlYWtNYXAsSnFlPW5ldyBXZWFrTWFwLHh0KGFuLDQsInNldHRpbmdzU3RhdGUiLGRpYSxybixRcWUpLHh0KGFuLDQsImxvZ2luU3RhdGUiLGNpYSxybixKcWUpLHJuPXh0KGFuLDAsIk9iVmlld1NldHRpbmdzIix1aWEscm4pLGkocm4sIk9iVmlld1NldHRpbmdzIiksTzEocm4sInN0eWxlcyIsW2QuZGVmYXVsdFN0eWxlcyxsaSxYYGBdKSxXZShhbiwxLHJuKTtlVmU9cm59KTtMaSgpO2F3YWl0IEkyKCk7aHAoKTthd2FpdCBicCgpO3BlKCk7dmFyIG1pYSxnaWEsYmlhLHZpYSx4aWEseWlhLFhyLGFWZSxyVmUsaVZlLHNWZTt5aWE9W2FlKCJvYi1hcHAtc2hlbGwiKV07dmFyIFdzPWNsYXNzIFdzIGV4dGVuZHMoeGlhPWNlLHZpYT1bWigpXSxiaWE9W1ooKV0sZ2lhPVtaKCldLG1pYT1bWigpXSx4aWEpe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTskdCh0aGlzLGFWZSxXZShYciw4LHRoaXMse2lkZW50aXR5Om51bGwsaXNMb2dnZWRJbjohMX0pKSxXZShYciwxMSx0aGlzKTskdCh0aGlzLHJWZSxXZShYciwxMix0aGlzLHthY3RpdmVWaWV3OiJkYXNoYm9hcmQiLGF1dG9SZWZyZXNoOiEwLHJlZnJlc2hJbnRlcnZhbDozZTR9KSksV2UoWHIsMTUsdGhpcyk7JHQodGhpcyxpVmUsV2UoWHIsMTYsdGhpcywhMSkpLFdlKFhyLDE5LHRoaXMpOyR0KHRoaXMsc1ZlLFdlKFhyLDIwLHRoaXMsIiIpKSxXZShYciwyMyx0aGlzKTtPMSh0aGlzLCJ2aWV3VGFicyIsW3tuYW1lOiJEYXNoYm9hcmQiLGljb25OYW1lOiJsdWNpZGU6bGF5b3V0RGFzaGJvYXJkIixlbGVtZW50Oihhc3luYygpPT4oYXdhaXQgYnFlKCkudGhlbigoKT0+eHJhKSkuT2JWaWV3RGFzaGJvYXJkKSgpfSx7bmFtZToiQXBwIFN0b3JlIixpY29uTmFtZToibHVjaWRlOnN0b3JlIixlbGVtZW50Oihhc3luYygpPT4oYXdhaXQgRXJhKCkudGhlbigoKT0+UHJhKSkuT2JWaWV3QXBwU3RvcmUpKCl9LHtuYW1lOiJTZXJ2aWNlcyIsaWNvbk5hbWU6Imx1Y2lkZTpib3hlcyIsZWxlbWVudDooYXN5bmMoKT0+KGF3YWl0IE9xZSgpLnRoZW4oKCk9PkdyYSkpLk9iVmlld1NlcnZpY2VzKSgpfSx7bmFtZToiTmV0d29yayIsaWNvbk5hbWU6Imx1Y2lkZTpuZXR3b3JrIixlbGVtZW50Oihhc3luYygpPT4oYXdhaXQganFlKCkudGhlbigoKT0+SnJhKSkuT2JWaWV3TmV0d29yaykoKX0se25hbWU6IlJlZ2lzdHJpZXMiLGljb25OYW1lOiJsdWNpZGU6cGFja2FnZSIsZWxlbWVudDooYXN5bmMoKT0+KGF3YWl0IFlxZSgpLnRoZW4oKCk9PmlpYSkpLk9iVmlld1JlZ2lzdHJpZXMpKCl9LHtuYW1lOiJUb2tlbnMiLGljb25OYW1lOiJsdWNpZGU6a2V5IixlbGVtZW50Oihhc3luYygpPT4oYXdhaXQgS3FlKCkudGhlbigoKT0+bGlhKSkuT2JWaWV3VG9rZW5zKSgpfSx7bmFtZToiU2V0dGluZ3MiLGljb25OYW1lOiJsdWNpZGU6c2V0dGluZ3MiLGVsZW1lbnQ6KGFzeW5jKCk9Pihhd2FpdCB0VmUoKS50aGVuKCgpPT5maWEpKS5PYlZpZXdTZXR0aW5ncykoKX1dKTtPMSh0aGlzLCJyZXNvbHZlZFZpZXdUYWJzIixbXSk7ZG9jdW1lbnQudGl0bGU9Ik9uZWJveCI7bGV0IGE9dzEuc2VsZWN0KHM9PnMpLnN1YnNjcmliZShzPT57dGhpcy5sb2dpblN0YXRlPXMscy5pc0xvZ2dlZEluJiZRby5kaXNwYXRjaEFjdGlvbihncCxudWxsKX0pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2goYSk7bGV0IHI9ZXMuc2VsZWN0KHM9PnMpLnN1YnNjcmliZShzPT57dGhpcy51aVN0YXRlPXMsdGhpcy5zeW5jQXBwZGFzaFZpZXcocy5hY3RpdmVWaWV3KX0pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2gocil9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIiPgogICAgICAgIDxkZWVzLXNpbXBsZS1sb2dpbiBuYW1lPSJPbmVib3giPgogICAgICAgICAgPGRlZXMtc2ltcGxlLWFwcGRhc2gKICAgICAgICAgICAgbmFtZT0iT25lYm94IgogICAgICAgICAgICAudmlld1RhYnM9JHt0aGlzLnJlc29sdmVkVmlld1RhYnN9CiAgICAgICAgICAgIC5zZWxlY3RlZFZpZXc9JHt0aGlzLnJlc29sdmVkVmlld1RhYnMuZmluZChhPT5hLm5hbWUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9ccysvZywiLSIpPT09dGhpcy51aVN0YXRlLmFjdGl2ZVZpZXcpfHx0aGlzLnJlc29sdmVkVmlld1RhYnNbMF19CiAgICAgICAgICA+CiAgICAgICAgICA8L2RlZXMtc2ltcGxlLWFwcGRhc2g+CiAgICAgICAgPC9kZWVzLXNpbXBsZS1sb2dpbj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe3RoaXMucmVzb2x2ZWRWaWV3VGFicz1hd2FpdCBQcm9taXNlLmFsbCh0aGlzLnZpZXdUYWJzLm1hcChhc3luYyBuPT4oe25hbWU6bi5uYW1lLGljb25OYW1lOm4uaWNvbk5hbWUsZWxlbWVudDphd2FpdCBuLmVsZW1lbnR9KSkpLHRoaXMucmVxdWVzdFVwZGF0ZSgpLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7bGV0IGE9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtc2ltcGxlLWxvZ2luIik7YSYmYS5hZGRFdmVudExpc3RlbmVyKCJsb2dpbiIsbj0+e3RoaXMubG9naW4obi5kZXRhaWwuZGF0YS51c2VybmFtZSxuLmRldGFpbC5kYXRhLnBhc3N3b3JkKX0pO2xldCByPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLXNpbXBsZS1hcHBkYXNoIik7aWYociYmKHIuYWRkRXZlbnRMaXN0ZW5lcigidmlldy1zZWxlY3QiLG49PntsZXQgbz1uLmRldGFpbC52aWV3Lm5hbWUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9ccysvZywiLSIpO3RzLm5hdmlnYXRlVG9WaWV3KG8pfSksci5hZGRFdmVudExpc3RlbmVyKCJsb2dvdXQiLGFzeW5jKCk9Pnthd2FpdCB3MS5kaXNwYXRjaEFjdGlvbihTWCxudWxsKX0pKSxyJiZ0aGlzLnJlc29sdmVkVmlld1RhYnMubGVuZ3RoPjApe2xldCBuPWVzLmdldFN0YXRlKCkuYWN0aXZlVmlldyxvPXRoaXMucmVzb2x2ZWRWaWV3VGFicy5maW5kKGw9PmwubmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xzKy9nLCItIik9PT1uKXx8dGhpcy5yZXNvbHZlZFZpZXdUYWJzWzBdO2F3YWl0IHIubG9hZFZpZXcobyl9bGV0IHM9dzEuZ2V0U3RhdGUoKTtpZihzLmlkZW50aXR5Py5qd3QpaWYocy5pZGVudGl0eS5leHBpcmVzQXQ+RGF0ZS5ub3coKSl7dGhpcy5sb2dpblN0YXRlPXMsYSYmYXdhaXQgYS5zd2l0Y2hUb1Nsb3R0ZWRDb250ZW50KCk7dHJ5e2xldCBvPWF3YWl0IG5ldyBhdC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTeXN0ZW1TdGF0dXMiKS5maXJlKHtpZGVudGl0eTpzLmlkZW50aXR5fSk7UW8uc2V0U3RhdGUoe3N0YXR1czpvLnN0YXR1c30pfWNhdGNoKG4pe2NvbnNvbGUud2FybigiU3RvcmVkIHNlc3Npb24gaW52YWxpZCwgcmV0dXJuaW5nIHRvIGxvZ2luOiIsbiksYXdhaXQgdzEuZGlzcGF0Y2hBY3Rpb24oU1gsbnVsbCksYSYmd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpfX1lbHNlIGF3YWl0IHcxLmRpc3BhdGNoQWN0aW9uKFNYLG51bGwpfWFzeW5jIGxvZ2luKGEscil7bGV0IHM9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2Usbj10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1zaW1wbGUtbG9naW4iKSxvPW4/LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpO28mJm8uc2V0U3RhdHVzKCJwZW5kaW5nIiwiTG9nZ2luZyBpbi4uLiIpLChhd2FpdCB3MS5kaXNwYXRjaEFjdGlvbihZMWEse3VzZXJuYW1lOmEscGFzc3dvcmQ6cn0pKS5pZGVudGl0eT8obyYmby5zZXRTdGF0dXMoInN1Y2Nlc3MiLCJMb2dnZWQgaW4hIiksbiYmYXdhaXQgbi5zd2l0Y2hUb1Nsb3R0ZWRDb250ZW50KCksYXdhaXQgUW8uZGlzcGF0Y2hBY3Rpb24oZ3AsbnVsbCkpOm8mJihvLnNldFN0YXR1cygiZXJyb3IiLCJMb2dpbiBmYWlsZWQhIiksYXdhaXQgcy5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDJlMyksby5yZXNldCgpKX1zeW5jQXBwZGFzaFZpZXcoYSl7bGV0IHI9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLXNpbXBsZS1hcHBkYXNoIik7aWYoIXJ8fHRoaXMucmVzb2x2ZWRWaWV3VGFicy5sZW5ndGg9PT0wKXJldHVybjtsZXQgcz10aGlzLnJlc29sdmVkVmlld1RhYnMuZmluZChuPT5uLm5hbWUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9ccysvZywiLSIpPT09YSk7cyYmci5sb2FkVmlldyhzKX19O1hyPUYxKHhpYSksYVZlPW5ldyBXZWFrTWFwLHJWZT1uZXcgV2Vha01hcCxpVmU9bmV3IFdlYWtNYXAsc1ZlPW5ldyBXZWFrTWFwLHh0KFhyLDQsImxvZ2luU3RhdGUiLHZpYSxXcyxhVmUpLHh0KFhyLDQsInVpU3RhdGUiLGJpYSxXcyxyVmUpLHh0KFhyLDQsImxvZ2luTG9hZGluZyIsZ2lhLFdzLGlWZSkseHQoWHIsNCwibG9naW5FcnJvciIsbWlhLFdzLHNWZSksV3M9eHQoWHIsMCwiT2JBcHBTaGVsbCIseWlhLFdzKSxpKFdzLCJPYkFwcFNoZWxsIiksTzEoV3MsInN0eWxlcyIsW2QuZGVmYXVsdFN0eWxlcyxYYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICB9CiAgICBgXSksV2UoWHIsMSxXcyk7dmFyIGhpYT1XcztabygpO2JxZSgpO09xZSgpO2pxZSgpO1lxZSgpO0txZSgpO3RWZSgpO0xpKCk7cGUoKTthd2FpdCBicCgpO3RzLmluaXQoKSxCMC5yZW5kZXIod2AKICA8b2ItYXBwLXNoZWxsPjwvb2ItYXBwLXNoZWxsPgpgLGRvY3VtZW50LmJvZHkpOwovKiEgQnVuZGxlZCBsaWNlbnNlIGluZm9ybWF0aW9uOgoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2Nzcy10YWcuanM6CiAgKCoqCiAgICogQGxpY2Vuc2UKICAgKiBDb3B5cmlnaHQgMjAxOSBHb29nbGUgTExDCiAgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQogICAqKQoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L3JlYWN0aXZlLWVsZW1lbnQuanM6CmxpdC1odG1sL2xpdC1odG1sLmpzOgpsaXQtZWxlbWVudC9saXQtZWxlbWVudC5qczoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvcHJvcGVydHkuanM6CmxpdC1odG1sL2RpcmVjdGl2ZS5qczoKbGl0LWh0bWwvZGlyZWN0aXZlcy91bnNhZmUtaHRtbC5qczoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvY3VzdG9tLWVsZW1lbnQuanM6CkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL3N0YXRlLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9ldmVudC1vcHRpb25zLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9iYXNlLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9xdWVyeS5qczoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvcXVlcnktYWxsLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9xdWVyeS1hc3luYy5qczoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvcXVlcnktYXNzaWduZWQtbm9kZXMuanM6CmxpdC1odG1sL2FzeW5jLWRpcmVjdGl2ZS5qczoKbGl0LWh0bWwvZGlyZWN0aXZlcy91bnRpbC5qczoKbGl0LWh0bWwvZGlyZWN0aXZlcy9hc3luYy1yZXBsYWNlLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL2FzeW5jLWFwcGVuZC5qczoKbGl0LWh0bWwvZGlyZWN0aXZlcy9yZXBlYXQuanM6CiAgKCoqCiAgICogQGxpY2Vuc2UKICAgKiBDb3B5cmlnaHQgMjAxNyBHb29nbGUgTExDCiAgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQogICAqKQoKbGl0LWh0bWwvaXMtc2VydmVyLmpzOgogICgqKgogICAqIEBsaWNlbnNlCiAgICogQ29weXJpZ2h0IDIwMjIgR29vZ2xlIExMQwogICAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKICAgKikKCnN3ZWV0LXNjcm9sbC9zd2VldC1zY3JvbGwuanM6CiAgKCohIEBwcmVzZXJ2ZSBzd2VldC1zY3JvbGwgdjQuMC4wIC0gdHN1eW9zaGl3YWRhIHwgTUlUIExpY2Vuc2UgKikKICAoKiEgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKICAgICAgQ29weXJpZ2h0IChjKSBNaWNyb3NvZnQgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UKICAgICAgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUKICAgICAgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKICAKICAgICAgVEhJUyBDT0RFIElTIFBST1ZJREVEIE9OIEFOICpBUyBJUyogQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWQogICAgICBLSU5ELCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgV0lUSE9VVCBMSU1JVEFUSU9OIEFOWSBJTVBMSUVECiAgICAgIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBUSVRMRSwgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsCiAgICAgIE1FUkNIQU5UQUJMSVRZIE9SIE5PTi1JTkZSSU5HRU1FTlQuCiAgCiAgICAgIFNlZSB0aGUgQXBhY2hlIFZlcnNpb24gMi4wIExpY2Vuc2UgZm9yIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucwogICAgICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCiAgICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICopCgpsaXQtaHRtbC9zdGF0aWMuanM6CmxpdC1odG1sL2RpcmVjdGl2ZS1oZWxwZXJzLmpzOgogICgqKgogICAqIEBsaWNlbnNlCiAgICogQ29weXJpZ2h0IDIwMjAgR29vZ2xlIExMQwogICAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKICAgKikKCkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL3F1ZXJ5LWFzc2lnbmVkLWVsZW1lbnRzLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL3ByaXZhdGUtYXN5bmMtaGVscGVycy5qczoKbGl0LWh0bWwvZGlyZWN0aXZlcy9rZXllZC5qczoKICAoKioKICAgKiBAbGljZW5zZQogICAqIENvcHlyaWdodCAyMDIxIEdvb2dsZSBMTEMKICAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiAgICopCgpAZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtc3ZnLWNvcmUvaW5kZXgubWpzOgpAZm9ydGF3ZXNvbWUvZnJlZS1icmFuZHMtc3ZnLWljb25zL2luZGV4Lm1qczoKQGZvcnRhd2Vzb21lL2ZyZWUtcmVndWxhci1zdmctaWNvbnMvaW5kZXgubWpzOgpAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMvaW5kZXgubWpzOgogICgqIQogICAqIEZvbnQgQXdlc29tZSBGcmVlIDcuMi4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tCiAgICogTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UvZnJlZSAoSWNvbnM6IENDIEJZIDQuMCwgRm9udHM6IFNJTCBPRkwgMS4xLCBDb2RlOiBNSVQgTGljZW5zZSkKICAgKiBDb3B5cmlnaHQgMjAyNiBGb250aWNvbnMsIEluYy4KICAgKikKCmx1Y2lkZS9kaXN0L2VzbS9kZWZhdWx0QXR0cmlidXRlcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2NyZWF0ZUVsZW1lbnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9zaGFyZWQvc3JjL3V0aWxzL2hhc0ExMXlQcm9wLmpzOgpsdWNpZGUvZGlzdC9lc20vc2hhcmVkL3NyYy91dGlscy9tZXJnZUNsYXNzZXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9zaGFyZWQvc3JjL3V0aWxzL3RvQ2FtZWxDYXNlLmpzOgpsdWNpZGUvZGlzdC9lc20vc2hhcmVkL3NyYy91dGlscy90b1Bhc2NhbENhc2UuanM6Cmx1Y2lkZS9kaXN0L2VzbS9yZXBsYWNlRWxlbWVudC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2EtYXJyb3ctZG93bi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2EtYXJyb3ctdXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hLWxhcmdlLXNtYWxsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWNjZXNzaWJpbGl0eS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FjdGl2aXR5LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWlyLXZlbnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9haXJwbGF5LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxhcm0tY2xvY2stbWludXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGFybS1jbG9jay1jaGVjay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsYXJtLWNsb2NrLW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsYXJtLWNsb2NrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxhcm0tY2xvY2stcGx1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsYXJtLXNtb2tlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxidW0uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1jZW50ZXItaG9yaXpvbnRhbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWNlbnRlci12ZXJ0aWNhbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWVuZC1ob3Jpem9udGFsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24tZW5kLXZlcnRpY2FsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24taG9yaXpvbnRhbC1kaXN0cmlidXRlLWNlbnRlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWhvcml6b250YWwtZGlzdHJpYnV0ZS1lbmQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1ob3Jpem9udGFsLWRpc3RyaWJ1dGUtc3RhcnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1ob3Jpem9udGFsLWp1c3RpZnktY2VudGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24taG9yaXpvbnRhbC1qdXN0aWZ5LWVuZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWhvcml6b250YWwtanVzdGlmeS1zdGFydC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWhvcml6b250YWwtc3BhY2UtYXJvdW5kLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24taG9yaXpvbnRhbC1zcGFjZS1iZXR3ZWVuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24tc3RhcnQtaG9yaXpvbnRhbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXN0YXJ0LXZlcnRpY2FsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24tdmVydGljYWwtZGlzdHJpYnV0ZS1jZW50ZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi12ZXJ0aWNhbC1kaXN0cmlidXRlLWVuZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXZlcnRpY2FsLWRpc3RyaWJ1dGUtc3RhcnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi12ZXJ0aWNhbC1qdXN0aWZ5LWNlbnRlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXZlcnRpY2FsLWp1c3RpZnktZW5kLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24tdmVydGljYWwtanVzdGlmeS1zdGFydC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXZlcnRpY2FsLXNwYWNlLWFyb3VuZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXZlcnRpY2FsLXNwYWNlLWJldHdlZW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbXBlcnNhbmQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbWJ1bGFuY2UuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbXBlcnNhbmRzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYW1waG9yYS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FuY2hvci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FuZ3J5LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYW5ub3llZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FudGVubmEuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbnZpbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FwZXJ0dXJlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXBwLXdpbmRvdy1tYWMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcHAtd2luZG93LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXBwbGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcmNoaXZlLXJlc3RvcmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcmNoaXZlLXguanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcmNoaXZlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJtY2hhaXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1iaWctZG93bi1kYXNoLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctYmlnLWRvd24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1iaWctbGVmdC1kYXNoLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctYmlnLWxlZnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1iaWctcmlnaHQtZGFzaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWJpZy1yaWdodC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWJpZy11cC1kYXNoLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctZG93bi0wLTEuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1iaWctdXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLTEtMC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24tYS16LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctZG93bi1mcm9tLWxpbmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLWxlZnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLW5hcnJvdy13aWRlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctZG93bi1yaWdodC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24tdG8tZG90LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctZG93bi10by1saW5lLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctZG93bi11cC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24td2lkZS1uYXJyb3cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLXotYS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1sZWZ0LWZyb20tbGluZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWxlZnQtcmlnaHQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1sZWZ0LXRvLWxpbmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1sZWZ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctcmlnaHQtZnJvbS1saW5lLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctcmlnaHQtbGVmdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXJpZ2h0LXRvLWxpbmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1yaWdodC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLTAtMS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLTEtMC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLWEtei5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLWRvd24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy11cC1mcm9tLWRvdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLWZyb20tbGluZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLWxlZnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy11cC1uYXJyb3ctd2lkZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLXJpZ2h0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctdXAtdG8tbGluZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLXdpZGUtbmFycm93LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctdXAtei1hLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctdXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvd3MtdXAtZnJvbS1saW5lLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXQtc2lnbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FzdGVyaXNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXRvbS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2F1ZGlvLWxpbmVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXVkaW8td2F2ZWZvcm0uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hd2FyZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2F4ZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2F4aXMtM2QuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWJ5LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFja3BhY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1hbGVydC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLWNlbnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1jaGVjay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLWV1cm8uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1kb2xsYXItc2lnbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLWluZGlhbi1ydXBlZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLWluZm8uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1qYXBhbmVzZS15ZW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1taW51cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLXBlcmNlbnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1wb3VuZC1zdGVybGluZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLXBsdXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1xdWVzdGlvbi1tYXJrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UtcnVzc2lhbi1ydWJsZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLXN3aXNzLWZyYW5jLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UtdHVya2lzaC1saXJhLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UteC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFnZ2FnZS1jbGFpbS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhbGxvb24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYW5hbmEuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYW5kYWdlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFua25vdGUtYXJyb3ctZG93bi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jhbmtub3RlLWFycm93LXVwLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFua25vdGUteC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jhbmtub3RlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFyY29kZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhcnJlbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jhc2VsaW5lLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmF0aC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhdHRlcnktY2hhcmdpbmcuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYXR0ZXJ5LWZ1bGwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYXR0ZXJ5LWxvdy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhdHRlcnktbWVkaXVtLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmF0dGVyeS1wbHVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmF0dGVyeS13YXJuaW5nLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmF0dGVyeS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlYWtlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlYW4tb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVhbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlZC1kb3VibGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWQtc2luZ2xlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVlZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlZXItb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlbGwtZG90LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVsbC1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWxsLWVsZWN0cmljLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVsbC1taW51cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlbGwtcGx1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlbGwtcmluZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlbGwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZXR3ZWVuLWhvcml6b250YWwtZW5kLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmV0d2Vlbi12ZXJ0aWNhbC1lbmQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZXR3ZWVuLWhvcml6b250YWwtc3RhcnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZXR3ZWVuLXZlcnRpY2FsLXN0YXJ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmlrZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JpY2Vwcy1mbGV4ZWQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iaW5hcnkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iaW9oYXphcmQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iaW5vY3VsYXJzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmlyZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JpdGNvaW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iaXJkaG91c2UuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ibGVuZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JsaW5kcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jsb2Nrcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JsdWV0b290aC1jb25uZWN0ZWQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ibHVldG9vdGgtb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmx1ZXRvb3RoLXNlYXJjaGluZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JsdWV0b290aC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JvbGQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib2x0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9tYi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JvbmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWEuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWFsZXJ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1hdWRpby5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stY2hlY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWRhc2hlZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stY29weS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stZG93bi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2staGVhZHBob25lcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2staGVhcnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWltYWdlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1rZXkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLW1hcmtlZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stbG9jay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stbWludXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLW9wZW4tY2hlY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLW9wZW4tdGV4dC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stb3Blbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stcGx1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stc2VhcmNoLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay10ZXh0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay11cC0yLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay10eXBlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay11cC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stdXNlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2steC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rbWFyay1jaGVjay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2ttYXJrLW1pbnVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9va21hcmstcGx1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2ttYXJrLXguanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rbWFyay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb20tYm94LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm90LW1lc3NhZ2Utc3F1YXJlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm90LW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JvdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvdy1hcnJvdy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JvdHRsZS13aW5lLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm94LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm94ZXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icmFjZXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icmFja2V0cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyYWluLWNpcmN1aXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icmFpbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyYWluLWNvZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyaWNrLXdhbGwtZmlyZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyaWNrLXdhbGwtc2hpZWxkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJpY2std2FsbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyaWVmY2FzZS1idXNpbmVzcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyaWVmY2FzZS1jb252ZXlvci1iZWx0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJpZWZjYXNlLW1lZGljYWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icmllZmNhc2UuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icmluZy10by1mcm9udC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JydXNoLWNsZWFuaW5nLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJ1c2guanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9idWctb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnViYmxlcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2J1Zy1wbGF5LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnVnLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnVpbGRpbmctMi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2J1aWxkaW5nLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnVzLWZyb250LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FibGUtY2FyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FibGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWtlLXNsaWNlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FrZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGN1bGF0b3IuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci0xLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItYXJyb3ctZG93bi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLWFycm93LXVwLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItY2hlY2stMi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLWNoZWNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItY2xvY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1jb2cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1kYXlzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItZm9sZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLWhlYXJ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItbWludXMtMi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLW1pbnVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItcGx1cy0yLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItcGx1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLXJhbmdlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItc2VhcmNoLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItc3luYy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLXgtMi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLXguanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFycy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbWVyYS1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYW1lcmEuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYW5keS1jYW5lLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FuZHktb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FubmFiaXMtb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FubmFiaXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYW5keS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhcHRpb25zLW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhcHRpb25zLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FyLWZyb250LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FyLXRheGktZnJvbnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXJhdmFuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2Fycm90LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FyZC1zaW0uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXNlLWxvd2VyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FzZS1zZW5zaXRpdmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXNlLXVwcGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2Fzc2V0dGUtdGFwZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nhc3QuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXN0bGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jY3R2LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtYXJlYS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWJhci1iaWcuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1iYXItZGVjcmVhc2luZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWJhci1pbmNyZWFzaW5nLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtYmFyLXN0YWNrZWQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1iYXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1jYW5kbGVzdGljay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWNvbHVtbi1iaWcuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1jb2x1bW4tZGVjcmVhc2luZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWNvbHVtbi1pbmNyZWFzaW5nLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtY29sdW1uLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtY29sdW1uLXN0YWNrZWQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1nYW50dC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWxpbmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1uZXR3b3JrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtbm8tYXhlcy1jb2x1bW4tZGVjcmVhc2luZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LW5vLWF4ZXMtY29sdW1uLWluY3JlYXNpbmcuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1uby1heGVzLWNvbHVtbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LW5vLWF4ZXMtY29tYmluZWQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1uby1heGVzLWdhbnR0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtcGllLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtc3BsaW5lLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtc2NhdHRlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZWNrLWNoZWNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlY2stbGluZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZWNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlZi1oYXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGVycnkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGVzcy1raW5nLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlc3MtYmlzaG9wLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlc3Mta25pZ2h0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlc3MtcGF3bi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXNzLXF1ZWVuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlc3Mtcm9vay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb24tZG93bi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb24tZmlyc3QuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9uLWxhc3QuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9uLXJpZ2h0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbi1sZWZ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbi11cC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb25zLWRvd24tdXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9ucy1kb3duLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbnMtbGVmdC1yaWdodC1lbGxpcHNpcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb25zLWxlZnQtcmlnaHQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9ucy1sZWZ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbnMtcmlnaHQtbGVmdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb25zLXJpZ2h0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbnMtdXAtZG93bi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb25zLXVwLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hyb21pdW0uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaWdhcmV0dGUtb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2h1cmNoLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lnYXJldHRlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWFsZXJ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWFycm93LWRvd24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtYXJyb3ctbGVmdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1hcnJvdy1vdXQtZG93bi1sZWZ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWFycm93LW91dC1kb3duLXJpZ2h0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWFycm93LW91dC11cC1sZWZ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWFycm93LW91dC11cC1yaWdodC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1hcnJvdy1yaWdodC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1hcnJvdy11cC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1jaGVjay1iaWcuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtY2hlY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtY2hldnJvbi1kb3duLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWNoZXZyb24tbGVmdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1jaGV2cm9uLXJpZ2h0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWNoZXZyb24tdXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtZGFzaGVkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWRpdmlkZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1kb2xsYXItc2lnbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1kb3QtZGFzaGVkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWRvdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1lbGxpcHNpcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1lcXVhbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1mYWRpbmctYXJyb3ctdXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtZmFkaW5nLXBsdXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtZ2F1Z2UuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtbWludXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXBhcmtpbmcuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtcGFya2luZy1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtcGF1c2UuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtcGVyY2VudC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1waWxlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXBsYXkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtcGx1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1wb3VuZC1zdGVybGluZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1wb3dlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1xdWVzdGlvbi1tYXJrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXNsYXNoLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtc2xhc2guanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtc21hbGwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtc3Rhci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1zdG9wLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXVzZXItcm91bmQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtdXNlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS14LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY3VpdC1ib2FyZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpdHJ1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsYXBwZXJib2FyZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsaXBib2FyZC1jaGVjay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsaXBib2FyZC1jbG9jay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsaXBib2FyZC1jb3B5LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xpcGJvYXJkLWxpc3QuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQtbWludXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQtcGFzdGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQtcGVuLWxpbmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQtcGVuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xpcGJvYXJkLXBsdXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQtdHlwZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsaXBib2FyZC14LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xpcGJvYXJkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stMS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLTEwLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stMTEuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay0xMi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLTMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay0yLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stNC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLTUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay02LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stNy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLTkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay04LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stYWxlcnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay1hcnJvdy1kb3duLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stYXJyb3ctdXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay1jaGVjay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLWZhZGluZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLXBsdXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLWFsZXJ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvc2VkLWNhcHRpb24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1iYWNrdXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1jaGVjay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLWNvZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLWRvd25sb2FkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtZHJpenpsZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLWZvZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLWhhaWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1saWdodG5pbmcuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1tb29uLXJhaW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1tb29uLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtcmFpbi13aW5kLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtcmFpbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLXNub3cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1zdW4tcmFpbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLXN5bmMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1zdW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLXVwbG9hZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkeS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3Zlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsdWIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb2RlLXhtbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvZGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb2RlcGVuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29kZXNhbmRib3guanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb2ZmZWUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb2cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb2lucy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbHVtbnMtMi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbHVtbnMtMy1jb2cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb2x1bW5zLTMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb2x1bW5zLTQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb21iaW5lLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29tbWFuZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbXBhc3MuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb21wb25lbnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb25jaWVyZ2UtYmVsbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbXB1dGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29uZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbnN0cnVjdGlvbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbnRhY3Qtcm91bmQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb250YWN0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29udGFpbmVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29udHJhc3QuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb29raWUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb29raW5nLXBvdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvcHktY2hlY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3B5LW1pbnVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29weS1wbHVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29weS1zbGFzaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvcHkteC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvcHkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3B5bGVmdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvcHlyaWdodC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nvcm5lci1kb3duLWxlZnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3JuZXItZG93bi1yaWdodC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nvcm5lci1sZWZ0LWRvd24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3JuZXItbGVmdC11cC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nvcm5lci1yaWdodC1kb3duLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29ybmVyLXJpZ2h0LXVwLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29ybmVyLXVwLWxlZnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jcHUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3JuZXItdXAtcmlnaHQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jcmVhdGl2ZS1jb21tb25zLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3JlZGl0LWNhcmQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jcm9pc3NhbnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jcm9wLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3Jvc3MuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jcm9zc2hhaXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jcm93bi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2N1cC1zb2RhLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3Vib2lkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3VycmVuY3kuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jeWxpbmRlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RhbS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RhdGFiYXNlLWJhY2t1cC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RhdGFiYXNlLXphcC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RhdGFiYXNlLXNlYXJjaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RlY2ltYWxzLWFycm93LWxlZnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kYXRhYmFzZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RlY2ltYWxzLWFycm93LXJpZ2h0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGVsZXRlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGlhbWV0ZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kZXNzZXJ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGlhbW9uZC1taW51cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RpYW1vbmQtcGVyY2VudC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RpYW1vbmQtcGx1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RpYW1vbmQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWNlLTEuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWNlLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWNlLTMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWNlLTQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWNlLTUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWNlLTYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWNlcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RpZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaXNjLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaXNjLWFsYnVtLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGlzYy0zLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGlzYy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RpdmlkZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RuYS1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kb2NrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZG5hLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZG9nLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZG9sbGFyLXNpZ24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kb251dC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Rvb3ItY2xvc2VkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZG9vci1jbG9zZWQtbG9ja2VkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZG9vci1vcGVuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZG90LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZG93bmxvYWQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kcmFtYS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RyYWZ0aW5nLWNvbXBhc3MuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kcmliYmJsZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RyaWxsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZHJvbmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kcm9wbGV0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZHJvcGxldC1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kcm9wbGV0cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RydW0uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kcnVtc3RpY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kdW1iYmVsbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Vhci1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lYXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lYXJ0aC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VhcnRoLWxvY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lY2xpcHNlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZWdnLW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VnZy1mcmllZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VnZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VsbGlwc2UuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lbGxpcHNpcy12ZXJ0aWNhbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VsbGlwc2lzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZXF1YWwtYXBwcm94aW1hdGVseS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VxdWFsLW5vdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VxdWFsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZXJhc2VyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZXRoZXJuZXQtcG9ydC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2V1cm8uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9leHBhbmQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ldi1jaGFyZ2VyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZXh0ZXJuYWwtbGluay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2V5ZS1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9leWUtY2xvc2VkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZXllLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmFjZWJvb2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mYWN0b3J5LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmFuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmFzdC1mb3J3YXJkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmVhdGhlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZlbmNlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmVycmlzLXdoZWVsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlnbWEuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWFyY2hpdmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWF4aXMtM2QuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWJhZGdlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1ib3guanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWJyYWNlcy1jb3JuZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWJyYWNlcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtY2hhcnQtY29sdW1uLWluY3JlYXNpbmcuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWNoYXJ0LWNvbHVtbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtY2hhcnQtbGluZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtY2hhcnQtcGllLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1jaGVjay1jb3JuZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWNoZWNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1jb2RlLWNvcm5lci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtY2xvY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWNvZGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWNvZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtZGlnaXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWRpZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWRvd24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWV4Y2xhbWF0aW9uLXBvaW50LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1oZWFkcGhvbmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWhlYXJ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1pbWFnZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtaW5wdXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWxvY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWtleS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtbWludXMtY29ybmVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1taW51cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtbXVzaWMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLW91dHB1dC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtcGVuLWxpbmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXBlbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtcGxheS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtcGx1cy1jb3JuZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXBsdXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXF1ZXN0aW9uLW1hcmsuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXNjYW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXNlYXJjaC1jb3JuZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXNlYXJjaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtc2lnbmFsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1zbGlkZXJzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1zcHJlYWRzaGVldC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtc3RhY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXN5bWxpbmsuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXRleHQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXR5cGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXRlcm1pbmFsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS10eXBlLWNvcm5lci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtdXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXVzZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXZpZGVvLWNhbWVyYS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUteC1jb3JuZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXZvbHVtZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUteC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbG0uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maW5nZXJwcmludC1wYXR0ZXJuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlyZS1leHRpbmd1aXNoZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maXNoLW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zpc2gtc3ltYm9sLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlzaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zpc2hpbmctaG9vay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zpc2hpbmctcm9kLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxhZy10cmlhbmdsZS1sZWZ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxhZy1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbGFnLXRyaWFuZ2xlLXJpZ2h0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxhZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsYW1lLWtpbmRsaW5nLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxhbWUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbGFzaGxpZ2h0LW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsYXNobGlnaHQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbGFzay1jb25pY2FsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxhc2stY29uaWNhbC1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbGFzay1yb3VuZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsaXAtaG9yaXpvbnRhbC0yLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxpcC12ZXJ0aWNhbC0yLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxvd2VyLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbG93ZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2N1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGQtaG9yaXpvbnRhbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGQtdmVydGljYWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItYXJjaGl2ZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1jaGVjay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1jbG9jay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1jbG9zZWQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItY29kZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1jb2cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItZG90LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWRvd24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItZ2l0LTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItZ2l0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWhlYXJ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWlucHV0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWthbmJhbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1rZXkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItbG9jay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1taW51cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1vcGVuLWRvdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1vcGVuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXBlbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1vdXRwdXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItcGx1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1yb290LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXNlYXJjaC0yLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXNlYXJjaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1zeW1saW5rLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXN5bmMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItdHJlZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci11cC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci14LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVycy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zvb3RwcmludHMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb3JtLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9ya2xpZnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mcmFtZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvcndhcmQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mcmFtZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mcm93bi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Z1ZWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mdWxsc2NyZWVuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZnVubmVsLXBsdXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mdW5uZWwteC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Z1bm5lbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dhbGxlcnktaG9yaXpvbnRhbC1lbmQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nYWxsZXJ5LWhvcml6b250YWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nYWxsZXJ5LXRodW1ibmFpbHMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nYWxsZXJ5LXZlcnRpY2FsLWVuZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dhbGxlcnktdmVydGljYWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nYW1lcGFkLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nYW1lcGFkLWRpcmVjdGlvbmFsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2FtZXBhZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dhdWdlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2F2ZWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nZW9yZ2lhbi1sYXJpLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2VtLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2hvc3QuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naWZ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LWJyYW5jaC1taW51cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1icmFuY2gtcGx1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1icmFuY2guanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtY29tbWl0LWhvcml6b250YWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtY29tbWl0LXZlcnRpY2FsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LWNvbXBhcmUtYXJyb3dzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LWNvbXBhcmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtZ3JhcGguanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtZm9yay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1tZXJnZS1jb25mbGljdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1tZXJnZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1wdWxsLXJlcXVlc3QtYXJyb3cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtcHVsbC1yZXF1ZXN0LWNsb3NlZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1wdWxsLXJlcXVlc3QtY3JlYXRlLWFycm93LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LXB1bGwtcmVxdWVzdC1jcmVhdGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtcHVsbC1yZXF1ZXN0LWRyYWZ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LXB1bGwtcmVxdWVzdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdGh1Yi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdGxhYi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dsYXNzLXdhdGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2xvYmUtbG9jay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dsYXNzZXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nbG9iZS14LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2xvYmUtb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2xvYmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nb2FsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3B1LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JhZHVhdGlvbi1jYXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncmlkLTJ4Mi1jaGVjay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dyaWQtMngyLXBsdXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncmFwZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dyaWQtMngyLXguanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncmlkLTJ4Mi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dyaWQtM3gyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JpZC0zeDMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncmlwLWhvcml6b250YWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncmlwLXZlcnRpY2FsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JpcC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dyb3VwLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3VpdGFyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFtLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFtYnVyZ2VyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFtbWVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFuZC1jb2lucy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbmQtZmlzdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbmQtZ3JhYi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbmQtaGVhcnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYW5kLWhlbHBpbmcuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYW5kLW1ldGFsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFuZC1wbGF0dGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFuZGJhZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbmQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYXJkLWRyaXZlLWRvd25sb2FkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFyZC1kcml2ZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbmRzaGFrZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhcmQtZHJpdmUtdXBsb2FkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFyZC1oYXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYXNoLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGF0LWdsYXNzZXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYXplLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZG1pLXBvcnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFkaW5nLTEuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFkaW5nLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFkaW5nLTMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFkaW5nLTQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFkaW5nLTUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFkaW5nLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhZGluZy02LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhZHBob25lcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYWRwaG9uZS1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFkc2V0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhcnQtaGFuZHNoYWtlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhcnQtY3JhY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFydC1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFydC1taW51cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYXJ0LXBsdXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFydC1wdWxzZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYXJ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhdGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVsaWNvcHRlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hleGFnb24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oaWdobGlnaHRlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hpc3RvcnkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ob3Atb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaG9zcGl0YWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ob3AuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ob3RlbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hvdXJnbGFzcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hvdXNlLWhlYXJ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaG91c2UtcGx1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hvdXNlLXBsdWcuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ob3VzZS13aWZpLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaWNlLWNyZWFtLWJvd2wuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ob3VzZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ljZS1jcmVhbS1jb25lLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaWQtY2FyZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2lkLWNhcmQtbGFueWFyZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ltYWdlLWRvd24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbWFnZS1taW51cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ltYWdlLW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ltYWdlLXBsYXkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbWFnZS1wbHVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW1hZ2UtdXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbWFnZS11cHNjYWxlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW1hZ2UuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbWFnZXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbXBvcnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbmJveC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2luZmluaXR5LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW5kaWFuLXJ1cGVlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW5mby5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2luc3BlY3Rpb24tcGFuZWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbnN0YWdyYW0uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pdGFsaWMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pdGVyYXRpb24tY3cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pdGVyYXRpb24tY2N3LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvam95c3RpY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9qYXBhbmVzZS15ZW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9rYW5iYW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9rYXlhay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2tleS1zcXVhcmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9rZXktcm91bmQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9rZXkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9rZXlib2FyZC1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9rZXlib2FyZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2tleWJvYXJkLW11c2ljLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFtcC1jZWlsaW5nLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFtcC1kZXNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFtcC1mbG9vci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhbXAtd2FsbC1kb3duLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFtcC13YWxsLXVwLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFuZC1wbG90LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFtcC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhbmRtYXJrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFuZ3VhZ2VzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFwdG9wLW1pbmltYWwtY2hlY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXB0b3AtbWluaW1hbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhcHRvcC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhc3NvLXNlbGVjdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhc3NvLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGF1Z2guanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXllcnMtMi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheWVycy1wbHVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGF5ZXJzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGF5b3V0LWdyaWQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXlvdXQtZGFzaGJvYXJkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGF5b3V0LWxpc3QuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXlvdXQtcGFuZWwtbGVmdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheW91dC1wYW5lbC10b3AuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXlvdXQtdGVtcGxhdGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sZWFmeS1ncmVlbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xlY3Rlcm4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sZWFmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGVucy1jb25jYXZlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGVucy1jb252ZXguanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saWJyYXJ5LWJpZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpYnJhcnkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saWZlLWJ1b3kuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saWdhdHVyZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpZ2h0YnVsYi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpbmUtZG90LXJpZ2h0LWhvcml6b250YWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saWdodGJ1bGItb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGluZS1zcXVpZ2dsZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpbmstMi1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saW5rLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saW5rLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlua2VkaW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWNoZWNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1jaGVja3MuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWNoZXZyb25zLWRvd24tdXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWNvbGxhcHNlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1jaGV2cm9ucy11cC1kb3duLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1lbmQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWZpbHRlci1wbHVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1maWx0ZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWluZGVudC1kZWNyZWFzZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtaW5kZW50LWluY3JlYXNlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1tdXNpYy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtbWludXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LW9yZGVyZWQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LXJlc3RhcnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LXBsdXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LXN0YXJ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC10b2RvLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC10cmVlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC12aWRlby5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QteC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2FkZXItY2lyY2xlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9hZGVyLXBpbndoZWVsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9hZGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9jYXRlLWZpeGVkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9jYXRlLW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvY2F0ZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvY2sta2V5aG9sZS1vcGVuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9jay1rZXlob2xlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9jay1vcGVuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9nLWluLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9jay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvZy1vdXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2dzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9sbGlwb3AuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sdWdnYWdlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFnbmV0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFpbC1jaGVjay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21haWwtbWludXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWlsLW9wZW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWlsLXBsdXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWlsLXF1ZXN0aW9uLW1hcmsuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWlsLXNlYXJjaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21haWwtd2FybmluZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21haWwteC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21haWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWlsYm94LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFpbHMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtbWludXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtcGluLWNoZWNrLWluc2lkZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4taG91c2UuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtcGluLWNoZWNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi1taW51cy1pbnNpZGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtcGluLW1pbnVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtcGluLXBlbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4tcGx1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4tcGx1cy1pbnNpZGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtcGluLXgtaW5zaWRlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi14LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW5uZWQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtcGx1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcnMtc3Ryb2tlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFycy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcnRpbmkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXhpbWl6ZS0yLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWF4aW1pemUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZWdhcGhvbmUtb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVkYWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZWdhcGhvbmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZWguanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZW51LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVtb3J5LXN0aWNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVyZ2UuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLWNpcmNsZS1jaGVjay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2UtY2lyY2xlLWNvZGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLWNpcmNsZS1kYXNoZWQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLWNpcmNsZS1oZWFydC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2UtY2lyY2xlLW1vcmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLWNpcmNsZS1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLWNpcmNsZS1wbHVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUtcXVlc3Rpb24tbWFyay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2UtY2lyY2xlLXJlcGx5LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUtd2FybmluZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2UtY2lyY2xlLXguanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLWNpcmNsZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLWNoZWNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtY29kZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLWRhc2hlZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLWRpZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1kb3QuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1oZWFydC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLWxvY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1tb3JlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtcGx1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLXF1b3RlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtcmVwbHkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1zaGFyZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLXRleHQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS13YXJuaW5nLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUteC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZXMtc3F1YXJlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWV0cm9ub21lLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWljLW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pYy12b2NhbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pYy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pY3JvY2hpcC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pY3Jvd2F2ZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pbGVzdG9uZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pY3Jvc2NvcGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9taWxrLW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pbmltaXplLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9taWxrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWluaW1pemUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9taW51cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pcnJvci1yZWN0YW5ndWxhci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pcnJvci1yb3VuZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3ItY2hlY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb25pdG9yLWNsb3VkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci1jb2cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb25pdG9yLWRvdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3ItZG93bi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3Itb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci1wYXVzZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3ItcGxheS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3Itc21hcnRwaG9uZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3Itc3BlYWtlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3Itc3RvcC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3ItdXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb25pdG9yLXguanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb25pdG9yLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9vbi1zdGFyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9vbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdG9yYmlrZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdW50YWluLXNub3cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3VudGFpbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdXNlLWxlZnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3VzZS1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3VzZS1wb2ludGVyLTItb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW91c2UtcG9pbnRlci0yLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW91c2UtcG9pbnRlci1iYW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3VzZS1wb2ludGVyLWNsaWNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW91c2UtcG9pbnRlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdXNlLXJpZ2h0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS0zZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdXNlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS1kaWFnb25hbC0yLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS1kaWFnb25hbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtZG93bi1yaWdodC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtZG93bi1sZWZ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS1kb3duLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS1ob3Jpem9udGFsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS1yaWdodC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtbGVmdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtdXAtbGVmdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtdXAtcmlnaHQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3ZlLXVwLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS12ZXJ0aWNhbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tdXNpYy0yLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbXVzaWMtMy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL211c2ljLTQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tdXNpYy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25hdmlnYXRpb24tMi1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9uYXZpZ2F0aW9uLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9uYXZpZ2F0aW9uLW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25hdmlnYXRpb24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9uZXR3b3JrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbmZjLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbmV3c3BhcGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbm9uLWJpbmFyeS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25vdGVib29rLXBlbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25vdGVib29rLXRhYnMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ub3RlYm9vay10ZXh0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbm90ZXBhZC10ZXh0LWRhc2hlZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25vdGVwYWQtdGV4dC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25vdGVib29rLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbnV0LW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL29jdGFnb24tbWludXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9udXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9vY3RhZ29uLWFsZXJ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvb2N0YWdvbi1wYXVzZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL29jdGFnb24teC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL29jdGFnb24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9vbWVnYS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL29wdGlvbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL29yYml0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvb3JpZ2FtaS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhY2thZ2UtMi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhY2thZ2UtY2hlY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWNrYWdlLW1pbnVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFja2FnZS1vcGVuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFja2FnZS1wbHVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFja2FnZS1zZWFyY2guanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWNrYWdlLXguanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWNrYWdlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFpbnQtYnVja2V0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFpbnQtcm9sbGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFpbnRicnVzaC12ZXJ0aWNhbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhaW50YnJ1c2guanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWxldHRlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZGEuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1ib3R0b20tY2xvc2UuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1ib3R0b20tZGFzaGVkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWwtYm90dG9tLW9wZW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1ib3R0b20uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1sZWZ0LWNsb3NlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWwtbGVmdC1kYXNoZWQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1sZWZ0LW9wZW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1sZWZ0LXJpZ2h0LWRhc2hlZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLWxlZnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1yaWdodC1jbG9zZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXJpZ2h0LWRhc2hlZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXJpZ2h0LW9wZW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1yaWdodC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXRvcC1ib3R0b20tZGFzaGVkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWwtdG9wLWNsb3NlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWwtdG9wLW9wZW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC10b3AtZGFzaGVkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWwtdG9wLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWxzLWxlZnQtYm90dG9tLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWxzLXJpZ2h0LWJvdHRvbS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVscy10b3AtbGVmdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhcGVyY2xpcC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhcmVudGhlc2VzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFya2luZy1tZXRlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhcnR5LXBvcHBlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhdXNlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGF3LXByaW50LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGMtY2FzZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Blbi1saW5lLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGVuLW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Blbi10b29sLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGVuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGVuY2lsLWxpbmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wZW5jaWwtb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGVuY2lsLXJ1bGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGVuY2lsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGVyY2VudC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BlbnRhZ29uLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGVyc29uLXN0YW5kaW5nLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGhpbGlwcGluZS1wZXNvLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGhvbmUtY2FsbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Bob25lLWZvcndhcmRlZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Bob25lLWluY29taW5nLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGhvbmUtbWlzc2VkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGhvbmUtb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGhvbmUtb3V0Z29pbmcuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waG9uZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BpLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGlhbm8uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWNrYXhlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGljdHVyZS1pbi1waWN0dXJlLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWN0dXJlLWluLXBpY3R1cmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWdneS1iYW5rLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGlsY3Jvdy1sZWZ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGlsY3Jvdy1yaWdodC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BpbGNyb3cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWxsLWJvdHRsZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BpbGwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waW4tb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGluLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGlwZXR0ZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BpenphLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGxhbmUtbGFuZGluZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BsYW5lLXRha2VvZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wbGFuZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BsYXkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wbHVnLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wbHVnLXphcC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BsdWcuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wbHVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcG9ja2V0LWtuaWZlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcG9ja2V0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcG9kY2FzdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BvaW50ZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wb2ludGVyLW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BvcGNvcm4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wb3BzaWNsZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BvdW5kLXN0ZXJsaW5nLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcG93ZXItb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcG93ZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wcmVzZW50YXRpb24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wcmludGVyLWNoZWNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcHJpbnRlci14LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcHJpbnRlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Byb2plY3Rvci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Byb3BvcnRpb25zLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcHV6emxlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcHlyYW1pZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3FyLWNvZGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yYWJiaXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9xdW90ZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhZGFyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmFkaWF0aW9uLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmFkaWNhbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhZGlvLXJlY2VpdmVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmFkaW8uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yYWRpby10b3dlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhZGl1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhaWwtc3ltYm9sLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmFpbmJvdy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhdGlvLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjZWlwdC1ldXJvLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjZWlwdC1jZW50LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjZWlwdC1pbmRpYW4tcnVwZWUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWNlaXB0LWphcGFuZXNlLXllbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY2VpcHQtcG91bmQtc3RlcmxpbmcuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWNlaXB0LXJ1c3NpYW4tcnVibGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWNlaXB0LXRleHQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWNlaXB0LXN3aXNzLWZyYW5jLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjZWlwdC10dXJraXNoLWxpcmEuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWNlaXB0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjdGFuZ2xlLWNpcmNsZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY3RhbmdsZS1lbGxpcHNpcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY3RhbmdsZS1nb2dnbGVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjdGFuZ2xlLWhvcml6b250YWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWN5Y2xlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjdGFuZ2xlLXZlcnRpY2FsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVkby0yLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVkby1kb3QuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWRvLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVmcmVzaC1jY3ctZG90LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVmcmVzaC1jY3cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWZyZXNoLWN3LW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlZnJlc2gtY3cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWZyaWdlcmF0b3IuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWdleC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlbW92ZS1mb3JtYXR0aW5nLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVwZWF0LTEuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZXBlYXQtMi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGVhdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGxhY2UtYWxsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVwbGFjZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGx5LWFsbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Jld2luZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGx5LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmliYm9uLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm9ja2V0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm9ja2luZy1jaGFpci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JvbGxlci1jb2FzdGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm9zZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JvdGF0ZS0zZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JvdGF0ZS1jY3cta2V5LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm90YXRlLWNjdy1zcXVhcmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3RhdGUtY2N3LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm90YXRlLWN3LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm90YXRlLWN3LXNxdWFyZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JvdXRlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm91dGUtb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm91dGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm93cy0yLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm93cy0zLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm93cy00LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcnNzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcnVsZXItZGltZW5zaW9uLWxpbmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ydWxlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3J1c3NpYW4tcnVibGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zYWlsYm9hdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhbGFkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2FuZHdpY2guanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zYXRlbGxpdGUtZGlzaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhdGVsbGl0ZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhdWRpLXJpeWFsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2F2ZS1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zYXZlLWFsbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhdmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY2FsZS0zZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYWxlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2NhbGluZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYW4tYmFyY29kZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYW4tZXllLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nhbi1mYWNlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nhbi1oZWFydC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYW4tbGluZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYW4tcXItY29kZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYW4tc2VhcmNoLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nhbi10ZXh0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nhbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjaG9vbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjaXNzb3JzLWxpbmUtZGFzaGVkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Npc3NvcnMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY29vdGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2NyZWVuLXNoYXJlLW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjcmVlbi1zaGFyZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Njcm9sbC10ZXh0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nyb2xsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VhcmNoLWFsZXJ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VhcmNoLWNoZWNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VhcmNoLWNvZGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZWFyY2gteC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlYXJjaC1zbGFzaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlY3Rpb24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZWFyY2guanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZW5kLWhvcml6b250YWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZW5kLXRvLWJhY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZW5kLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VwYXJhdG9yLWhvcml6b250YWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZXBhcmF0b3ItdmVydGljYWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZXJ2ZXItY29nLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VydmVyLWNyYXNoLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VydmVyLW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlcnZlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NldHRpbmdzLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZXR0aW5ncy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoYXBlcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoYXJlLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGFyZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoZWV0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hlbGwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGVsdmluZy11bml0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hpZWxkLWFsZXJ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hpZWxkLWJhbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1lbGxpcHNpcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1jaGVjay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1oYWxmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hpZWxkLW1pbnVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hpZWxkLW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1wbHVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hpZWxkLXF1ZXN0aW9uLW1hcmsuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGllbGQtdXNlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC14LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hpcC13aGVlbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGlydC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nob3BwaW5nLWJhZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nob3BwaW5nLWJhc2tldC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nob3BwaW5nLWNhcnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaG92ZWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaG93ZXItaGVhZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NocmVkZGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hyaW1wLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hyaW5rLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hydWIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaHVmZmxlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2lnbWEuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaWduYWwtaGlnaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NpZ25hbC1sb3cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaWduYWwtbWVkaXVtLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2lnbmFsLXplcm8uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaWduYWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaWduYXR1cmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaWducG9zdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NpcmVuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2lnbnBvc3QtYmlnLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2tpcC1iYWNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2tpcC1mb3J3YXJkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2xhY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zbGFzaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NrdWxsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2xpY2UuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zbGlkZXJzLXZlcnRpY2FsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2xpZGVycy1ob3Jpem9udGFsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc21hcnRwaG9uZS1jaGFyZ2luZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NtYXJ0cGhvbmUtbmZjLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc21hcnRwaG9uZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NtaWxlLXBsdXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zbWlsZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nub3dmbGFrZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NvYXAtZGlzcGVuc2VyLWRyb3BsZXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zbmFpbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NvZmEuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zb2xhci1wYW5lbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NvdXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcGFjZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwYWRlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BhcmtsZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwYXJrbGVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BlYWtlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwZWVjaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwZWxsLWNoZWNrLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcGxpbmUtcG9pbnRlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwZWxsLWNoZWNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BsaW5lLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BsaXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcG9vbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwcmF5LWNhbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nwb3RsaWdodC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nwcm91dC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy1kb3duLWxlZnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYWN0aXZpdHkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctZG93bi1yaWdodC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy1kb3duLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LWxlZnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctb3V0LWRvd24tbGVmdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy1vdXQtZG93bi1yaWdodC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy1vdXQtdXAtbGVmdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy1vdXQtdXAtcmlnaHQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctcmlnaHQtZW50ZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctcmlnaHQtZXhpdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy1yaWdodC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy11cC1sZWZ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LXVwLXJpZ2h0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LXVwLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWNlbnRlcmxpbmUtZGFzaGVkLWhvcml6b250YWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXN0ZXJpc2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYm90dG9tLWRhc2hlZC1zY2lzc29ycy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1jZW50ZXJsaW5lLWRhc2hlZC12ZXJ0aWNhbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1jaGFydC1nYW50dC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1jaGVjay1iaWcuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtY2hlY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtY2hldnJvbi1kb3duLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWNoZXZyb24tbGVmdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1jaGV2cm9uLXJpZ2h0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWNoZXZyb24tdXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtY29kZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1kYXNoZWQtYm90dG9tLWNvZGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtZGFzaGVkLWJvdHRvbS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1kYXNoZWQta2FuYmFuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWRhc2hlZC1tb3VzZS1wb2ludGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWRhc2hlZC10b3Atc29saWQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtZGFzaGVkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWRpdmlkZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1kb3QuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtZXF1YWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtZnVuY3Rpb24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUta2FuYmFuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWxpYnJhcnkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtbS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1tZW51LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLW1pbnVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLW1vdXNlLXBvaW50ZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcGFya2luZy1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcGFya2luZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1wYXVzZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1wZW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcGVyY2VudC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1waS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1waWxjcm93LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXBsYXkuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcGx1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1wb3dlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1yYWRpY2FsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXJvdW5kLWNvcm5lci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1zY2lzc29ycy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1zaWdtYS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1zbGFzaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1zcGxpdC1ob3Jpem9udGFsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXNwbGl0LXZlcnRpY2FsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXNxdWFyZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1zdGFjay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1zdGFyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXN0b3AuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtdXNlci1yb3VuZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS10ZXJtaW5hbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS11c2VyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXguanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmVzLWV4Y2x1ZGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmVzLWludGVyc2VjdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZXMtc3VidHJhY3QuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmVzLXVuaXRlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1aXJjbGUtZGFzaGVkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1aXJjbGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdGFtcC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWlycmVsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3Rhci1oYWxmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3Rhci1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdGFyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RlcC1iYWNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RlcC1mb3J3YXJkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RldGhvc2NvcGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdGlja2VyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RpY2t5LW5vdGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdG9uZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N0b3JlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RyZXRjaC1ob3Jpem9udGFsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RyZXRjaC12ZXJ0aWNhbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N0cmlrZXRocm91Z2guanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdWJzY3JpcHQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdW4tZGltLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3VuLW1lZGl1bS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N1bi1tb29uLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3VuLXNub3cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdW5yaXNlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3Vuc2V0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3VwZXJzY3JpcHQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zd2F0Y2gtYm9vay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N3aXRjaC1jYW1lcmEuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zd2lzcy1mcmFuYy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N3b3JkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGUtMi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhYmxlLWNlbGxzLW1lcmdlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3dvcmRzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3lyaW5nZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhYmxlLWNlbGxzLXNwbGl0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGUtY29sdW1ucy1zcGxpdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhYmxlLW9mLWNvbnRlbnRzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGUtcHJvcGVydGllcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhYmxlLXJvd3Mtc3BsaXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWJsZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhYmxldC1zbWFydHBob25lLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGV0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGV0cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhZ3MuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWxseS0xLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFsbHktMi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhbGx5LTMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWxseS00LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFsbHktNS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhbmdlbnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YXJnZXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZWxlc2NvcGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZW50LXRyZWUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZW50LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGVybWluYWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXN0LXR1YmUtZGlhZ29uYWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXN0LXR1YmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXN0LXR1YmVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC1hbGlnbi1jZW50ZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LWFsaWduLWVuZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RleHQtYWxpZ24tanVzdGlmeS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RleHQtYWxpZ24tc3RhcnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LWN1cnNvci1pbnB1dC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RleHQtY3Vyc29yLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC1pbml0aWFsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC1xdW90ZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RleHQtc2VhcmNoLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC1zZWxlY3QuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LXdyYXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aGVhdGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGhlcm1vbWV0ZXItc25vd2ZsYWtlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGhlcm1vbWV0ZXItc3VuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGhlcm1vbWV0ZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aHVtYnMtZG93bi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RodW1icy11cC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpY2tldC1jaGVjay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpY2tldC1taW51cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpY2tldC1wZXJjZW50LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGlja2V0LXBsdXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aWNrZXQtc2xhc2guanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aWNrZXQteC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpY2tldC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpY2tldHMtcGxhbmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aWNrZXRzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGltZXItcmVzZXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aW1lci1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aW1lci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RvZ2dsZS1sZWZ0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdG9pbGV0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdG9nZ2xlLXJpZ2h0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdG9vbC1jYXNlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdG9vbGJveC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Rvcm5hZG8uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90b3J1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RvdWNocGFkLW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RvdWNocGFkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdG93ZWwtcmFjay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Rvd2VyLWNvbnRyb2wuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90b3ktYnJpY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmFjdG9yLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJhZmZpYy1jb25lLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJhaW4tZnJvbnQtdHVubmVsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJhaW4tZnJvbnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmFpbi10cmFjay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyYW0tZnJvbnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmFuc2dlbmRlci5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyYXNoLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmFzaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyZWUtcGFsbS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyZWUtZGVjaWR1b3VzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJlZS1waW5lLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJlZXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmVsbG8uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmVuZGluZy1kb3duLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJlbmRpbmctdXAtZG93bi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyZW5kaW5nLXVwLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJpYW5nbGUtYWxlcnQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmlhbmdsZS1kYXNoZWQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmlhbmdsZS1yaWdodC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyaWFuZ2xlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJvcGh5LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJ1Y2stZWxlY3RyaWMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cnVjay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3R1cmtpc2gtbGlyYS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3R1cm50YWJsZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3R1cnRsZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3R2LW1pbmltYWwtcGxheS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3R2LW1pbmltYWwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90di5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3R3aXRjaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3R3aXR0ZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90eXBlLW91dGxpbmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90eXBlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW1icmVsbGEuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bWJyZWxsYS1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bmRlcmxpbmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bmRvLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bmRvLWRvdC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VuZG8uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bmZvbGQtaG9yaXpvbnRhbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VuZm9sZC12ZXJ0aWNhbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VuZ3JvdXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bml2ZXJzaXR5LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW5saW5rLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW5wbHVnLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW5saW5rLTIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91cGxvYWQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2IuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLWNoZWNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1jb2cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLWtleS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXItbG9jay5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXItbWludXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXBsdXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXBlbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXItcm91bmQtY2hlY2suanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXJvdW5kLWNvZy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXItcm91bmQta2V5LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1yb3VuZC1taW51cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXItcm91bmQtcGVuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1yb3VuZC1wbHVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1yb3VuZC1zZWFyY2guanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXJvdW5kLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1yb3VuZC14LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1zZWFyY2guanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXN0YXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXguanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlcnMtcm91bmQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91dGVuc2lscy1jcm9zc2VkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlcnMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91dGlsaXR5LXBvbGUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91dGVuc2lscy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Zhbi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZhcmlhYmxlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmVjdG9yLXNxdWFyZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZhdWx0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmVnYW4uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92ZW5ldGlhbi1tYXNrLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmVudXMtYW5kLW1hcnMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92ZW51cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZpYnJhdGUtb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmlicmF0ZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZpZGVvLW9mZi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZpZGVvLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmlkZW90YXBlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmlldy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZvaWNlbWFpbC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZvbGxleWJhbGwuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92b2x1bWUtMS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZvbHVtZS0yLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdm9sdW1lLXguanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92b2x1bWUtb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdm9sdW1lLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2FsbGV0LWNhcmRzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdm90ZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhbGxldC1taW5pbWFsLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2FsbGV0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2FsbHBhcGVyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2FuZC1zcGFya2xlcy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhbmQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93YXJlaG91c2UuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93YXNoaW5nLW1hY2hpbmUuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93YXRjaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhdmVzLWFycm93LWRvd24uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93YXZlcy1sYWRkZXIuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93YXZlcy1hcnJvdy11cC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhdmVzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2F5cG9pbnRzLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2ViY2FtLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2ViaG9vay1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93ZWJob29rLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2VpZ2h0LXRpbGRlLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2hlYXQtb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2VpZ2h0LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2hlYXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aG9sZS13b3JkLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2lmaS1jb2cuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aWZpLWhpZ2guanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aWZpLWxvdy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpZmktcGVuLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2lmaS1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aWZpLXplcm8uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aWZpLXN5bmMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aWZpLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2luZC1hcnJvdy1kb3duLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2luZC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpbmUtb2ZmLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2luZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dvcmtmbG93LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd29ybS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dyZW5jaC5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3gtbGluZS10b3AuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy94LmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMveW91dHViZS5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3phcC1vZmYuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96YXAuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtYXF1YXJpdXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtYXJpZXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtY2FuY2VyLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLWNhcHJpY29ybi5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3pvZGlhYy1sZW8uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtZ2VtaW5pLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLWxpYnJhLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLW9waGl1Y2h1cy5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3pvZGlhYy1waXNjZXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtc2FnaXR0YXJpdXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtc2NvcnBpby5qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3pvZGlhYy10YXVydXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtdmlyZ28uanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b29tLWluLmpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9vbS1vdXQuanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29uc0FuZEFsaWFzZXMuanM6Cmx1Y2lkZS9kaXN0L2VzbS9sdWNpZGUuanM6CiAgKCoqCiAgICogQGxpY2Vuc2UgbHVjaWRlIHYwLjU3Ny4wIC0gSVNDCiAgICoKICAgKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBJU0MgbGljZW5zZS4KICAgKiBTZWUgdGhlIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS4KICAgKikKCmliYW50b29scy9qc25leHQvaWJhbnRvb2xzLmpzOgogICgqIQogICAqIEBsaWNlbnNlCiAgICogQ29weXJpZ2h0IFNhxaFhIEpvdmFuacSHCiAgICogTGljZW5zZWQgdW5kZXIgdGhlIE1vemlsbGEgUHVibGljIExpY2Vuc2UsIFZlcnNpb24gMi4wIG9yIHRoZSBNSVQgbGljZW5zZSwKICAgKiBhdCB5b3VyIG9wdGlvbi4gVGhpcyBmaWxlIG1heSBub3QgYmUgY29waWVkLCBtb2RpZmllZCwgb3IgZGlzdHJpYnV0ZWQKICAgKiBleGNlcHQgYWNjb3JkaW5nIHRvIHRob3NlIHRlcm1zLgogICAqIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IFNhxaFhIEpvdmFuacSHCiAgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVCBvciBNUEwvMi4wCiAgICopCiAgKCoqCiAgICogVmFsaWRhdGlvbiwgZXh0cmFjdGlvbiBhbmQgY3JlYXRpb24gb2YgSUJBTiwgQkJBTiwgQklDL1NXSUZUIG51bWJlcnMgcGx1cyBzb21lIG90aGVyIGhlbHBmdWwgc3R1ZmYKICAgKiBAcGFja2FnZSBEb2N1bWVudGF0aW9uCiAgICogQGF1dGhvciBTYcWhYSBKb3ZhbmnEhwogICAqIEBtb2R1bGUgaWJhbnRvb2xzCiAgICogQHZlcnNpb24gNC41LjEKICAgKiBAbGljZW5zZSBNSVQgb3IgTVBMLTIuMAogICAqIEBwcmVmZXJyZWQKICAgKikKKi8KLy8jIHNvdXJjZU1hcHBpbmdVUkw9YnVuZGxlLTE3Nzc0MjYxNzc2MjkuanMubWFwCg==" + "contentBase64": "dmFyIHRhdD1PYmplY3QuY3JlYXRlLFF0dD1PYmplY3QuZnJlZXplLEo0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgYWF0PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7dmFyIFBoYT1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lczt2YXIgSWhhPU9iamVjdC5nZXRQcm90b3R5cGVPZixOaGE9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgcmF0PShhLGUpPT4oZT1TeW1ib2xbYV0pP2U6U3ltYm9sLmZvcigiU3ltYm9sLiIrYSksSDU9YT0+e3Rocm93IFR5cGVFcnJvcihhKX07dmFyIHNhdD0oYSxlLHQpPT5lIGluIGE/SjQoYSxlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp0fSk6YVtlXT10O3ZhciBzPShhLGUpPT5KNChhLCJuYW1lIix7dmFsdWU6ZSxjb25maWd1cmFibGU6ITB9KTt2YXIgZj0oYSxlKT0+KCk9PihhJiYoZT1hKGE9MCkpLGUpO3ZhciBibz0oYSxlKT0+KCk9PihlfHxhKChlPXtleHBvcnRzOnt9fSkuZXhwb3J0cyxlKSxlLmV4cG9ydHMpLGx0PShhLGUpPT57Zm9yKHZhciB0IGluIGUpSjQoYSx0LHtnZXQ6ZVt0XSxlbnVtZXJhYmxlOiEwfSl9LFJoYT0oYSxlLHQscik9PntpZihlJiZ0eXBlb2YgZT09Im9iamVjdCJ8fHR5cGVvZiBlPT0iZnVuY3Rpb24iKWZvcihsZXQgaSBvZiBQaGEoZSkpIU5oYS5jYWxsKGEsaSkmJmkhPT10JiZKNChhLGkse2dldDooKT0+ZVtpXSxlbnVtZXJhYmxlOiEocj1hYXQoZSxpKSl8fHIuZW51bWVyYWJsZX0pO3JldHVybiBhfTt2YXIgRmk9KGEsZSx0KT0+KHQ9YSE9bnVsbD90YXQoSWhhKGEpKTp7fSxSaGEoZXx8IWF8fCFhLl9fZXNNb2R1bGU/SjQodCwiZGVmYXVsdCIse3ZhbHVlOmEsZW51bWVyYWJsZTohMH0pOnQsYSkpO3ZhciBJcz1hPT5bLCwsdGF0KGE/LltyYXQoIm1ldGFkYXRhIildPz9udWxsKV0saWF0PVsiY2xhc3MiLCJtZXRob2QiLCJnZXR0ZXIiLCJzZXR0ZXIiLCJhY2Nlc3NvciIsImZpZWxkIiwidmFsdWUiLCJnZXQiLCJzZXQiXSxENz1hPT5hIT09dm9pZCAwJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIj9INSgiRnVuY3Rpb24gZXhwZWN0ZWQiKTphLE9oYT0oYSxlLHQscixpKT0+KHtraW5kOmlhdFthXSxuYW1lOmUsbWV0YWRhdGE6cixhZGRJbml0aWFsaXplcjpvPT50Ll8/SDUoIkFscmVhZHkgaW5pdGlhbGl6ZWQiKTppLnB1c2goRDcob3x8bnVsbCkpfSksRmhhPShhLGUpPT5zYXQoZSxyYXQoIm1ldGFkYXRhIiksYVszXSksWGU9KGEsZSx0LHIpPT57Zm9yKHZhciBpPTAsbz1hW2U+PjFdLG49byYmby5sZW5ndGg7aTxuO2krKyllJjE/b1tpXS5jYWxsKHQpOnI9b1tpXS5jYWxsKHQscik7cmV0dXJuIHJ9LEV0PShhLGUsdCxyLGksbyk9Pnt2YXIgbixsLGQsYyxwLHU9ZSY3LG09ISEoZSY4KSx2PSEhKGUmMTYpLHg9dT4zP2EubGVuZ3RoKzE6dT9tPzE6MjowLGI9aWF0W3UrNV0sZz11PjMmJihhW3gtMV09W10pLHk9YVt4XXx8KGFbeF09W10pLGs9dSYmKCF2JiYhbSYmKGk9aS5wcm90b3R5cGUpLHU8NSYmKHU+M3x8IXYpJiZhYXQodTw0P2k6e2dldFt0XSgpe3JldHVybiBKdHQodGhpcyxvKX0sc2V0W3RdKE4pe3JldHVybiBlYXQodGhpcyxvLE4pfX0sdCkpO3U/diYmdTw0JiZzKG8sKHU+Mj8ic2V0ICI6dT4xPyJnZXQgIjoiIikrdCk6cyhpLHQpO2Zvcih2YXIgQz1yLmxlbmd0aC0xO0M+PTA7Qy0tKWM9T2hhKHUsdCxkPXt9LGFbM10seSksdSYmKGMuc3RhdGljPW0sYy5wcml2YXRlPXYscD1jLmFjY2Vzcz17aGFzOnY/Tj0+QmhhKGksTik6Tj0+dCBpbiBOfSx1XjMmJihwLmdldD12P049Pih1XjE/SnR0OkhoYSkoTixpLHVeND9vOmsuZ2V0KTpOPT5OW3RdKSx1PjImJihwLnNldD12PyhOLF8pPT5lYXQoTixpLF8sdV40P286ay5zZXQpOihOLF8pPT5OW3RdPV8pKSxsPSgwLHJbQ10pKHU/dTw0P3Y/bzprW2JdOnU+ND92b2lkIDA6e2dldDprLmdldCxzZXQ6ay5zZXR9OmksYyksZC5fPTEsdV40fHxsPT09dm9pZCAwP0Q3KGwpJiYodT40P2cudW5zaGlmdChsKTp1P3Y/bz1sOmtbYl09bDppPWwpOnR5cGVvZiBsIT0ib2JqZWN0Inx8bD09PW51bGw/SDUoIk9iamVjdCBleHBlY3RlZCIpOihENyhuPWwuZ2V0KSYmKGsuZ2V0PW4pLEQ3KG49bC5zZXQpJiYoay5zZXQ9biksRDcobj1sLmluaXQpJiZnLnVuc2hpZnQobikpO3JldHVybiB1fHxGaGEoYSxpKSxrJiZKNChpLHQsayksdj91XjQ/bzprOml9LE5zPShhLGUsdCk9PnNhdChhLHR5cGVvZiBlIT0ic3ltYm9sIj9lKyIiOmUsdCksR2llPShhLGUsdCk9PmUuaGFzKGEpfHxINSgiQ2Fubm90ICIrdCksQmhhPShhLGUpPT5PYmplY3QoZSkhPT1lP0g1KCdDYW5ub3QgdXNlIHRoZSAiaW4iIG9wZXJhdG9yIG9uIHRoaXMgdmFsdWUnKTphLmhhcyhlKSxKdHQ9KGEsZSx0KT0+KEdpZShhLGUsInJlYWQgZnJvbSBwcml2YXRlIGZpZWxkIiksdD90LmNhbGwoYSk6ZS5nZXQoYSkpLEd0PShhLGUsdCk9PmUuaGFzKGEpP0g1KCJDYW5ub3QgYWRkIHRoZSBzYW1lIHByaXZhdGUgbWVtYmVyIG1vcmUgdGhhbiBvbmNlIik6ZSBpbnN0YW5jZW9mIFdlYWtTZXQ/ZS5hZGQoYSk6ZS5zZXQoYSx0KSxlYXQ9KGEsZSx0LHIpPT4oR2llKGEsZSwid3JpdGUgdG8gcHJpdmF0ZSBmaWVsZCIpLHI/ci5jYWxsKGEsdCk6ZS5zZXQoYSx0KSx0KSxIaGE9KGEsZSx0KT0+KEdpZShhLGUsImFjY2VzcyBwcml2YXRlIG1ldGhvZCIpLHQpO3ZhciBxNT0oYSxlKT0+UXR0KEo0KGEsInJhdyIse3ZhbHVlOlF0dChlfHxhLnNsaWNlKCkpfSkpO3ZhciBGRyxBNyxZaWUsb2F0LFY1LG9hLFEsQkcsRTcsS2llPWYoKCk9PntGRz1nbG9iYWxUaGlzLEE3PUZHLlNoYWRvd1Jvb3QmJihGRy5TaGFkeUNTUz09PXZvaWQgMHx8RkcuU2hhZHlDU1MubmF0aXZlU2hhZG93KSYmImFkb3B0ZWRTdHlsZVNoZWV0cyJpbiBEb2N1bWVudC5wcm90b3R5cGUmJiJyZXBsYWNlImluIENTU1N0eWxlU2hlZXQucHJvdG90eXBlLFlpZT1TeW1ib2woKSxvYXQ9bmV3IFdlYWtNYXAsVjU9Y2xhc3N7c3RhdGlje3ModGhpcywibiIpfWNvbnN0cnVjdG9yKGUsdCxyKXtpZih0aGlzLl8kY3NzUmVzdWx0JD0hMCxyIT09WWllKXRocm93IEVycm9yKCJDU1NSZXN1bHQgaXMgbm90IGNvbnN0cnVjdGFibGUuIFVzZSBgdW5zYWZlQ1NTYCBvciBgY3NzYCBpbnN0ZWFkLiIpO3RoaXMuY3NzVGV4dD1lLHRoaXMudD10fWdldCBzdHlsZVNoZWV0KCl7bGV0IGU9dGhpcy5vLHQ9dGhpcy50O2lmKEE3JiZlPT09dm9pZCAwKXtsZXQgcj10IT09dm9pZCAwJiZ0Lmxlbmd0aD09PTE7ciYmKGU9b2F0LmdldCh0KSksZT09PXZvaWQgMCYmKCh0aGlzLm89ZT1uZXcgQ1NTU3R5bGVTaGVldCkucmVwbGFjZVN5bmModGhpcy5jc3NUZXh0KSxyJiZvYXQuc2V0KHQsZSkpfXJldHVybiBlfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuY3NzVGV4dH19LG9hPXMoYT0+bmV3IFY1KHR5cGVvZiBhPT0ic3RyaW5nIj9hOmErIiIsdm9pZCAwLFlpZSksInIiKSxRPXMoKGEsLi4uZSk9PntsZXQgdD1hLmxlbmd0aD09PTE/YVswXTplLnJlZHVjZSgocixpLG8pPT5yKyhuPT57aWYobi5fJGNzc1Jlc3VsdCQ9PT0hMClyZXR1cm4gbi5jc3NUZXh0O2lmKHR5cGVvZiBuPT0ibnVtYmVyIilyZXR1cm4gbjt0aHJvdyBFcnJvcigiVmFsdWUgcGFzc2VkIHRvICdjc3MnIGZ1bmN0aW9uIG11c3QgYmUgYSAnY3NzJyBmdW5jdGlvbiByZXN1bHQ6ICIrbisiLiBVc2UgJ3Vuc2FmZUNTUycgdG8gcGFzcyBub24tbGl0ZXJhbCB2YWx1ZXMsIGJ1dCB0YWtlIGNhcmUgdG8gZW5zdXJlIHBhZ2Ugc2VjdXJpdHkuIil9KShpKSthW28rMV0sYVswXSk7cmV0dXJuIG5ldyBWNSh0LGEsWWllKX0sImkiKSxCRz1zKChhLGUpPT57aWYoQTcpYS5hZG9wdGVkU3R5bGVTaGVldHM9ZS5tYXAodD0+dCBpbnN0YW5jZW9mIENTU1N0eWxlU2hlZXQ/dDp0LnN0eWxlU2hlZXQpO2Vsc2UgZm9yKGxldCB0IG9mIGUpe2xldCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIiksaT1GRy5saXROb25jZTtpIT09dm9pZCAwJiZyLnNldEF0dHJpYnV0ZSgibm9uY2UiLGkpLHIudGV4dENvbnRlbnQ9dC5jc3NUZXh0LGEuYXBwZW5kQ2hpbGQocil9fSwiUyIpLEU3PUE3P2E9PmE6YT0+YSBpbnN0YW5jZW9mIENTU1N0eWxlU2hlZXQ/KGU9PntsZXQgdD0iIjtmb3IobGV0IHIgb2YgZS5jc3NSdWxlcyl0Kz1yLmNzc1RleHQ7cmV0dXJuIG9hKHQpfSkoYSk6YX0pO3ZhciBxaGEsVmhhLGpoYSxVaGEsV2hhLEdoYSxIRyxuYXQsWWhhLEtoYSxQNyxqNSxJNyxsYXQsbzIsTjc9ZigoKT0+e0tpZSgpO0tpZSgpOyh7aXM6cWhhLGRlZmluZVByb3BlcnR5OlZoYSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I6amhhLGdldE93blByb3BlcnR5TmFtZXM6VWhhLGdldE93blByb3BlcnR5U3ltYm9sczpXaGEsZ2V0UHJvdG90eXBlT2Y6R2hhfT1PYmplY3QpLEhHPWdsb2JhbFRoaXMsbmF0PUhHLnRydXN0ZWRUeXBlcyxZaGE9bmF0P25hdC5lbXB0eVNjcmlwdDoiIixLaGE9SEcucmVhY3RpdmVFbGVtZW50UG9seWZpbGxTdXBwb3J0LFA3PXMoKGEsZSk9PmEsImQiKSxqNT17dG9BdHRyaWJ1dGUoYSxlKXtzd2l0Y2goZSl7Y2FzZSBCb29sZWFuOmE9YT9ZaGE6bnVsbDticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OmE9YT09bnVsbD9hOkpTT04uc3RyaW5naWZ5KGEpfXJldHVybiBhfSxmcm9tQXR0cmlidXRlKGEsZSl7bGV0IHQ9YTtzd2l0Y2goZSl7Y2FzZSBCb29sZWFuOnQ9YSE9PW51bGw7YnJlYWs7Y2FzZSBOdW1iZXI6dD1hPT09bnVsbD9udWxsOk51bWJlcihhKTticmVhaztjYXNlIE9iamVjdDpjYXNlIEFycmF5OnRyeXt0PUpTT04ucGFyc2UoYSl9Y2F0Y2h7dD1udWxsfX1yZXR1cm4gdH19LEk3PXMoKGEsZSk9PiFxaGEoYSxlKSwiZiIpLGxhdD17YXR0cmlidXRlOiEwLHR5cGU6U3RyaW5nLGNvbnZlcnRlcjpqNSxyZWZsZWN0OiExLHVzZURlZmF1bHQ6ITEsaGFzQ2hhbmdlZDpJN307U3ltYm9sLm1ldGFkYXRhPz89U3ltYm9sKCJtZXRhZGF0YSIpLEhHLmxpdFByb3BlcnR5TWV0YWRhdGE/Pz1uZXcgV2Vha01hcDtvMj1jbGFzcyBleHRlbmRzIEhUTUxFbGVtZW50e3N0YXRpY3tzKHRoaXMsInkiKX1zdGF0aWMgYWRkSW5pdGlhbGl6ZXIoZSl7dGhpcy5fJEVpKCksKHRoaXMubD8/PVtdKS5wdXNoKGUpfXN0YXRpYyBnZXQgb2JzZXJ2ZWRBdHRyaWJ1dGVzKCl7cmV0dXJuIHRoaXMuZmluYWxpemUoKSx0aGlzLl8kRWgmJlsuLi50aGlzLl8kRWgua2V5cygpXX1zdGF0aWMgY3JlYXRlUHJvcGVydHkoZSx0PWxhdCl7aWYodC5zdGF0ZSYmKHQuYXR0cmlidXRlPSExKSx0aGlzLl8kRWkoKSx0aGlzLnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eShlKSYmKCh0PU9iamVjdC5jcmVhdGUodCkpLndyYXBwZWQ9ITApLHRoaXMuZWxlbWVudFByb3BlcnRpZXMuc2V0KGUsdCksIXQubm9BY2Nlc3Nvcil7bGV0IHI9U3ltYm9sKCksaT10aGlzLmdldFByb3BlcnR5RGVzY3JpcHRvcihlLHIsdCk7aSE9PXZvaWQgMCYmVmhhKHRoaXMucHJvdG90eXBlLGUsaSl9fXN0YXRpYyBnZXRQcm9wZXJ0eURlc2NyaXB0b3IoZSx0LHIpe2xldHtnZXQ6aSxzZXQ6b309amhhKHRoaXMucHJvdG90eXBlLGUpPz97Z2V0KCl7cmV0dXJuIHRoaXNbdF19LHNldChuKXt0aGlzW3RdPW59fTtyZXR1cm57Z2V0Omksc2V0KG4pe2xldCBsPWk/LmNhbGwodGhpcyk7bz8uY2FsbCh0aGlzLG4pLHRoaXMucmVxdWVzdFVwZGF0ZShlLGwscil9LGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwfX1zdGF0aWMgZ2V0UHJvcGVydHlPcHRpb25zKGUpe3JldHVybiB0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzLmdldChlKT8/bGF0fXN0YXRpYyBfJEVpKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eShQNygiZWxlbWVudFByb3BlcnRpZXMiKSkpcmV0dXJuO2xldCBlPUdoYSh0aGlzKTtlLmZpbmFsaXplKCksZS5sIT09dm9pZCAwJiYodGhpcy5sPVsuLi5lLmxdKSx0aGlzLmVsZW1lbnRQcm9wZXJ0aWVzPW5ldyBNYXAoZS5lbGVtZW50UHJvcGVydGllcyl9c3RhdGljIGZpbmFsaXplKCl7aWYodGhpcy5oYXNPd25Qcm9wZXJ0eShQNygiZmluYWxpemVkIikpKXJldHVybjtpZih0aGlzLmZpbmFsaXplZD0hMCx0aGlzLl8kRWkoKSx0aGlzLmhhc093blByb3BlcnR5KFA3KCJwcm9wZXJ0aWVzIikpKXtsZXQgdD10aGlzLnByb3BlcnRpZXMscj1bLi4uVWhhKHQpLC4uLldoYSh0KV07Zm9yKGxldCBpIG9mIHIpdGhpcy5jcmVhdGVQcm9wZXJ0eShpLHRbaV0pfWxldCBlPXRoaXNbU3ltYm9sLm1ldGFkYXRhXTtpZihlIT09bnVsbCl7bGV0IHQ9bGl0UHJvcGVydHlNZXRhZGF0YS5nZXQoZSk7aWYodCE9PXZvaWQgMClmb3IobGV0W3IsaV1vZiB0KXRoaXMuZWxlbWVudFByb3BlcnRpZXMuc2V0KHIsaSl9dGhpcy5fJEVoPW5ldyBNYXA7Zm9yKGxldFt0LHJdb2YgdGhpcy5lbGVtZW50UHJvcGVydGllcyl7bGV0IGk9dGhpcy5fJEV1KHQscik7aSE9PXZvaWQgMCYmdGhpcy5fJEVoLnNldChpLHQpfXRoaXMuZWxlbWVudFN0eWxlcz10aGlzLmZpbmFsaXplU3R5bGVzKHRoaXMuc3R5bGVzKX1zdGF0aWMgZmluYWxpemVTdHlsZXMoZSl7bGV0IHQ9W107aWYoQXJyYXkuaXNBcnJheShlKSl7bGV0IHI9bmV3IFNldChlLmZsYXQoMS8wKS5yZXZlcnNlKCkpO2ZvcihsZXQgaSBvZiByKXQudW5zaGlmdChFNyhpKSl9ZWxzZSBlIT09dm9pZCAwJiZ0LnB1c2goRTcoZSkpO3JldHVybiB0fXN0YXRpYyBfJEV1KGUsdCl7bGV0IHI9dC5hdHRyaWJ1dGU7cmV0dXJuIHI9PT0hMT92b2lkIDA6dHlwZW9mIHI9PSJzdHJpbmciP3I6dHlwZW9mIGU9PSJzdHJpbmciP2UudG9Mb3dlckNhc2UoKTp2b2lkIDB9Y29uc3RydWN0b3IoKXtzdXBlcigpLHRoaXMuXyRFcD12b2lkIDAsdGhpcy5pc1VwZGF0ZVBlbmRpbmc9ITEsdGhpcy5oYXNVcGRhdGVkPSExLHRoaXMuXyRFbT1udWxsLHRoaXMuXyRFdigpfV8kRXYoKXt0aGlzLl8kRVM9bmV3IFByb21pc2UoZT0+dGhpcy5lbmFibGVVcGRhdGluZz1lKSx0aGlzLl8kQUw9bmV3IE1hcCx0aGlzLl8kRV8oKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmNvbnN0cnVjdG9yLmw/LmZvckVhY2goZT0+ZSh0aGlzKSl9YWRkQ29udHJvbGxlcihlKXsodGhpcy5fJEVPPz89bmV3IFNldCkuYWRkKGUpLHRoaXMucmVuZGVyUm9vdCE9PXZvaWQgMCYmdGhpcy5pc0Nvbm5lY3RlZCYmZS5ob3N0Q29ubmVjdGVkPy4oKX1yZW1vdmVDb250cm9sbGVyKGUpe3RoaXMuXyRFTz8uZGVsZXRlKGUpfV8kRV8oKXtsZXQgZT1uZXcgTWFwLHQ9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcztmb3IobGV0IHIgb2YgdC5rZXlzKCkpdGhpcy5oYXNPd25Qcm9wZXJ0eShyKSYmKGUuc2V0KHIsdGhpc1tyXSksZGVsZXRlIHRoaXNbcl0pO2Uuc2l6ZT4wJiYodGhpcy5fJEVwPWUpfWNyZWF0ZVJlbmRlclJvb3QoKXtsZXQgZT10aGlzLnNoYWRvd1Jvb3Q/P3RoaXMuYXR0YWNoU2hhZG93KHRoaXMuY29uc3RydWN0b3Iuc2hhZG93Um9vdE9wdGlvbnMpO3JldHVybiBCRyhlLHRoaXMuY29uc3RydWN0b3IuZWxlbWVudFN0eWxlcyksZX1jb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMucmVuZGVyUm9vdD8/PXRoaXMuY3JlYXRlUmVuZGVyUm9vdCgpLHRoaXMuZW5hYmxlVXBkYXRpbmcoITApLHRoaXMuXyRFTz8uZm9yRWFjaChlPT5lLmhvc3RDb25uZWN0ZWQ/LigpKX1lbmFibGVVcGRhdGluZyhlKXt9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXt0aGlzLl8kRU8/LmZvckVhY2goZT0+ZS5ob3N0RGlzY29ubmVjdGVkPy4oKSl9YXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrKGUsdCxyKXt0aGlzLl8kQUsoZSxyKX1fJEVUKGUsdCl7bGV0IHI9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcy5nZXQoZSksaT10aGlzLmNvbnN0cnVjdG9yLl8kRXUoZSxyKTtpZihpIT09dm9pZCAwJiZyLnJlZmxlY3Q9PT0hMCl7bGV0IG89KHIuY29udmVydGVyPy50b0F0dHJpYnV0ZSE9PXZvaWQgMD9yLmNvbnZlcnRlcjpqNSkudG9BdHRyaWJ1dGUodCxyLnR5cGUpO3RoaXMuXyRFbT1lLG89PW51bGw/dGhpcy5yZW1vdmVBdHRyaWJ1dGUoaSk6dGhpcy5zZXRBdHRyaWJ1dGUoaSxvKSx0aGlzLl8kRW09bnVsbH19XyRBSyhlLHQpe2xldCByPXRoaXMuY29uc3RydWN0b3IsaT1yLl8kRWguZ2V0KGUpO2lmKGkhPT12b2lkIDAmJnRoaXMuXyRFbSE9PWkpe2xldCBvPXIuZ2V0UHJvcGVydHlPcHRpb25zKGkpLG49dHlwZW9mIG8uY29udmVydGVyPT0iZnVuY3Rpb24iP3tmcm9tQXR0cmlidXRlOm8uY29udmVydGVyfTpvLmNvbnZlcnRlcj8uZnJvbUF0dHJpYnV0ZSE9PXZvaWQgMD9vLmNvbnZlcnRlcjpqNTt0aGlzLl8kRW09aTtsZXQgbD1uLmZyb21BdHRyaWJ1dGUodCxvLnR5cGUpO3RoaXNbaV09bD8/dGhpcy5fJEVqPy5nZXQoaSk/P2wsdGhpcy5fJEVtPW51bGx9fXJlcXVlc3RVcGRhdGUoZSx0LHIsaT0hMSxvKXtpZihlIT09dm9pZCAwKXtsZXQgbj10aGlzLmNvbnN0cnVjdG9yO2lmKGk9PT0hMSYmKG89dGhpc1tlXSkscj8/PW4uZ2V0UHJvcGVydHlPcHRpb25zKGUpLCEoKHIuaGFzQ2hhbmdlZD8/STcpKG8sdCl8fHIudXNlRGVmYXVsdCYmci5yZWZsZWN0JiZvPT09dGhpcy5fJEVqPy5nZXQoZSkmJiF0aGlzLmhhc0F0dHJpYnV0ZShuLl8kRXUoZSxyKSkpKXJldHVybjt0aGlzLkMoZSx0LHIpfXRoaXMuaXNVcGRhdGVQZW5kaW5nPT09ITEmJih0aGlzLl8kRVM9dGhpcy5fJEVQKCkpfUMoZSx0LHt1c2VEZWZhdWx0OnIscmVmbGVjdDppLHdyYXBwZWQ6b30sbil7ciYmISh0aGlzLl8kRWo/Pz1uZXcgTWFwKS5oYXMoZSkmJih0aGlzLl8kRWouc2V0KGUsbj8/dD8/dGhpc1tlXSksbyE9PSEwfHxuIT09dm9pZCAwKXx8KHRoaXMuXyRBTC5oYXMoZSl8fCh0aGlzLmhhc1VwZGF0ZWR8fHJ8fCh0PXZvaWQgMCksdGhpcy5fJEFMLnNldChlLHQpKSxpPT09ITAmJnRoaXMuXyRFbSE9PWUmJih0aGlzLl8kRXE/Pz1uZXcgU2V0KS5hZGQoZSkpfWFzeW5jIF8kRVAoKXt0aGlzLmlzVXBkYXRlUGVuZGluZz0hMDt0cnl7YXdhaXQgdGhpcy5fJEVTfWNhdGNoKHQpe1Byb21pc2UucmVqZWN0KHQpfWxldCBlPXRoaXMuc2NoZWR1bGVVcGRhdGUoKTtyZXR1cm4gZSE9bnVsbCYmYXdhaXQgZSwhdGhpcy5pc1VwZGF0ZVBlbmRpbmd9c2NoZWR1bGVVcGRhdGUoKXtyZXR1cm4gdGhpcy5wZXJmb3JtVXBkYXRlKCl9cGVyZm9ybVVwZGF0ZSgpe2lmKCF0aGlzLmlzVXBkYXRlUGVuZGluZylyZXR1cm47aWYoIXRoaXMuaGFzVXBkYXRlZCl7aWYodGhpcy5yZW5kZXJSb290Pz89dGhpcy5jcmVhdGVSZW5kZXJSb290KCksdGhpcy5fJEVwKXtmb3IobGV0W2ksb11vZiB0aGlzLl8kRXApdGhpc1tpXT1vO3RoaXMuXyRFcD12b2lkIDB9bGV0IHI9dGhpcy5jb25zdHJ1Y3Rvci5lbGVtZW50UHJvcGVydGllcztpZihyLnNpemU+MClmb3IobGV0W2ksb11vZiByKXtsZXR7d3JhcHBlZDpufT1vLGw9dGhpc1tpXTtuIT09ITB8fHRoaXMuXyRBTC5oYXMoaSl8fGw9PT12b2lkIDB8fHRoaXMuQyhpLHZvaWQgMCxvLGwpfX1sZXQgZT0hMSx0PXRoaXMuXyRBTDt0cnl7ZT10aGlzLnNob3VsZFVwZGF0ZSh0KSxlPyh0aGlzLndpbGxVcGRhdGUodCksdGhpcy5fJEVPPy5mb3JFYWNoKHI9PnIuaG9zdFVwZGF0ZT8uKCkpLHRoaXMudXBkYXRlKHQpKTp0aGlzLl8kRU0oKX1jYXRjaChyKXt0aHJvdyBlPSExLHRoaXMuXyRFTSgpLHJ9ZSYmdGhpcy5fJEFFKHQpfXdpbGxVcGRhdGUoZSl7fV8kQUUoZSl7dGhpcy5fJEVPPy5mb3JFYWNoKHQ9PnQuaG9zdFVwZGF0ZWQ/LigpKSx0aGlzLmhhc1VwZGF0ZWR8fCh0aGlzLmhhc1VwZGF0ZWQ9ITAsdGhpcy5maXJzdFVwZGF0ZWQoZSkpLHRoaXMudXBkYXRlZChlKX1fJEVNKCl7dGhpcy5fJEFMPW5ldyBNYXAsdGhpcy5pc1VwZGF0ZVBlbmRpbmc9ITF9Z2V0IHVwZGF0ZUNvbXBsZXRlKCl7cmV0dXJuIHRoaXMuZ2V0VXBkYXRlQ29tcGxldGUoKX1nZXRVcGRhdGVDb21wbGV0ZSgpe3JldHVybiB0aGlzLl8kRVN9c2hvdWxkVXBkYXRlKGUpe3JldHVybiEwfXVwZGF0ZShlKXt0aGlzLl8kRXEmJj10aGlzLl8kRXEuZm9yRWFjaCh0PT50aGlzLl8kRVQodCx0aGlzW3RdKSksdGhpcy5fJEVNKCl9dXBkYXRlZChlKXt9Zmlyc3RVcGRhdGVkKGUpe319O28yLmVsZW1lbnRTdHlsZXM9W10sbzIuc2hhZG93Um9vdE9wdGlvbnM9e21vZGU6Im9wZW4ifSxvMltQNygiZWxlbWVudFByb3BlcnRpZXMiKV09bmV3IE1hcCxvMltQNygiZmluYWxpemVkIildPW5ldyBNYXAsS2hhPy4oe1JlYWN0aXZlRWxlbWVudDpvMn0pLChIRy5yZWFjdGl2ZUVsZW1lbnRWZXJzaW9ucz8/PVtdKS5wdXNoKCIyLjEuMiIpfSk7ZnVuY3Rpb24gdmF0KGEsZSl7aWYoIUppZShhKXx8IWEuaGFzT3duUHJvcGVydHkoInJhdyIpKXRocm93IEVycm9yKCJpbnZhbGlkIHRlbXBsYXRlIHN0cmluZ3MgYXJyYXkiKTtyZXR1cm4gZGF0IT09dm9pZCAwP2RhdC5jcmVhdGVIVE1MKGUpOmV9ZnVuY3Rpb24gcjMoYSxlLHQ9YSxyKXtpZihlPT09bHIpcmV0dXJuIGU7bGV0IGk9ciE9PXZvaWQgMD90Ll8kQ28/LltyXTp0Ll8kQ2wsbz1PNyhlKT92b2lkIDA6ZS5fJGxpdERpcmVjdGl2ZSQ7cmV0dXJuIGk/LmNvbnN0cnVjdG9yIT09byYmKGk/Ll8kQU8/LighMSksbz09PXZvaWQgMD9pPXZvaWQgMDooaT1uZXcgbyhhKSxpLl8kQVQoYSx0LHIpKSxyIT09dm9pZCAwPyh0Ll8kQ28/Pz1bXSlbcl09aTp0Ll8kQ2w9aSksaSE9PXZvaWQgMCYmKGU9cjMoYSxpLl8kQVMoYSxlLnZhbHVlcyksaSxyKSksZX12YXIgWmllLGNhdCxxRyxkYXQsWGllLGJsLFFpZSxaaGEsZTMsUjcsTzcsSmllLHVhdCxlb2UsRjcscGF0LGZhdCx0MyxoYXQsbWF0LGdhdCx0b2Usdyxhb2Uscm9lLGxyLHhyLGJhdCxhMyx4YXQsQjcsVkcsVTUsczMsakcsVUcsV0csR0csc29lLFhoYSxlMCxRbj1mKCgpPT57WmllPWdsb2JhbFRoaXMsY2F0PXMoYT0+YSwiaSIpLHFHPVppZS50cnVzdGVkVHlwZXMsZGF0PXFHP3FHLmNyZWF0ZVBvbGljeSgibGl0LWh0bWwiLHtjcmVhdGVIVE1MOnMoYT0+YSwiY3JlYXRlSFRNTCIpfSk6dm9pZCAwLFhpZT0iJGxpdCQiLGJsPWBsaXQkJHtNYXRoLnJhbmRvbSgpLnRvRml4ZWQoOSkuc2xpY2UoMil9JGAsUWllPSI/IitibCxaaGE9YDwke1FpZX0+YCxlMz1kb2N1bWVudCxSNz1zKCgpPT5lMy5jcmVhdGVDb21tZW50KCIiKSwiYyIpLE83PXMoYT0+YT09PW51bGx8fHR5cGVvZiBhIT0ib2JqZWN0IiYmdHlwZW9mIGEhPSJmdW5jdGlvbiIsImEiKSxKaWU9QXJyYXkuaXNBcnJheSx1YXQ9cyhhPT5KaWUoYSl8fHR5cGVvZiBhPy5bU3ltYm9sLml0ZXJhdG9yXT09ImZ1bmN0aW9uIiwiZCIpLGVvZT1gWyAJClxmXHJdYCxGNz0vPCg/OighLS18XC9bXmEtekEtWl0pfChcLz9bYS16QS1aXVtePlxzXSopfChcLz8kKSkvZyxwYXQ9Ly0tPi9nLGZhdD0vPi9nLHQzPVJlZ0V4cChgPnwke2VvZX0oPzooW15cXHMiJz49L10rKSgke2VvZX0qPSR7ZW9lfSooPzpbXiAJClxmXHIiJ1xgPD49XXwoInwnKXwpKXwkKWAsImciKSxoYXQ9LycvZyxtYXQ9LyIvZyxnYXQ9L14oPzpzY3JpcHR8c3R5bGV8dGV4dGFyZWF8dGl0bGUpJC9pLHRvZT1zKGE9PihlLC4uLnQpPT4oe18kbGl0VHlwZSQ6YSxzdHJpbmdzOmUsdmFsdWVzOnR9KSwieCIpLHc9dG9lKDEpLGFvZT10b2UoMikscm9lPXRvZSgzKSxscj1TeW1ib2wuZm9yKCJsaXQtbm9DaGFuZ2UiKSx4cj1TeW1ib2wuZm9yKCJsaXQtbm90aGluZyIpLGJhdD1uZXcgV2Vha01hcCxhMz1lMy5jcmVhdGVUcmVlV2Fsa2VyKGUzLDEyOSk7cyh2YXQsIlYiKTt4YXQ9cygoYSxlKT0+e2xldCB0PWEubGVuZ3RoLTEscj1bXSxpLG89ZT09PTI/Ijxzdmc+IjplPT09Mz8iPG1hdGg+IjoiIixuPUY3O2ZvcihsZXQgbD0wO2w8dDtsKyspe2xldCBkPWFbbF0sYyxwLHU9LTEsbT0wO2Zvcig7bTxkLmxlbmd0aCYmKG4ubGFzdEluZGV4PW0scD1uLmV4ZWMoZCkscCE9PW51bGwpOyltPW4ubGFzdEluZGV4LG49PT1GNz9wWzFdPT09IiEtLSI/bj1wYXQ6cFsxXSE9PXZvaWQgMD9uPWZhdDpwWzJdIT09dm9pZCAwPyhnYXQudGVzdChwWzJdKSYmKGk9UmVnRXhwKCI8LyIrcFsyXSwiZyIpKSxuPXQzKTpwWzNdIT09dm9pZCAwJiYobj10Myk6bj09PXQzP3BbMF09PT0iPiI/KG49aT8/RjcsdT0tMSk6cFsxXT09PXZvaWQgMD91PS0yOih1PW4ubGFzdEluZGV4LXBbMl0ubGVuZ3RoLGM9cFsxXSxuPXBbM109PT12b2lkIDA/dDM6cFszXT09PSciJz9tYXQ6aGF0KTpuPT09bWF0fHxuPT09aGF0P249dDM6bj09PXBhdHx8bj09PWZhdD9uPUY3OihuPXQzLGk9dm9pZCAwKTtsZXQgdj1uPT09dDMmJmFbbCsxXS5zdGFydHNXaXRoKCIvPiIpPyIgIjoiIjtvKz1uPT09Rjc/ZCtaaGE6dT49MD8oci5wdXNoKGMpLGQuc2xpY2UoMCx1KStYaWUrZC5zbGljZSh1KStibCt2KTpkK2JsKyh1PT09LTI/bDp2KX1yZXR1cm5bdmF0KGEsbysoYVt0XXx8Ijw/PiIpKyhlPT09Mj8iPC9zdmc+IjplPT09Mz8iPC9tYXRoPiI6IiIpKSxyXX0sIk4iKSxCNz1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlMiKX1jb25zdHJ1Y3Rvcih7c3RyaW5nczplLF8kbGl0VHlwZSQ6dH0scil7bGV0IGk7dGhpcy5wYXJ0cz1bXTtsZXQgbz0wLG49MCxsPWUubGVuZ3RoLTEsZD10aGlzLnBhcnRzLFtjLHBdPXhhdChlLHQpO2lmKHRoaXMuZWw9YS5jcmVhdGVFbGVtZW50KGMsciksYTMuY3VycmVudE5vZGU9dGhpcy5lbC5jb250ZW50LHQ9PT0yfHx0PT09Myl7bGV0IHU9dGhpcy5lbC5jb250ZW50LmZpcnN0Q2hpbGQ7dS5yZXBsYWNlV2l0aCguLi51LmNoaWxkTm9kZXMpfWZvcig7KGk9YTMubmV4dE5vZGUoKSkhPT1udWxsJiZkLmxlbmd0aDxsOyl7aWYoaS5ub2RlVHlwZT09PTEpe2lmKGkuaGFzQXR0cmlidXRlcygpKWZvcihsZXQgdSBvZiBpLmdldEF0dHJpYnV0ZU5hbWVzKCkpaWYodS5lbmRzV2l0aChYaWUpKXtsZXQgbT1wW24rK10sdj1pLmdldEF0dHJpYnV0ZSh1KS5zcGxpdChibCkseD0vKFsuP0BdKT8oLiopLy5leGVjKG0pO2QucHVzaCh7dHlwZToxLGluZGV4Om8sbmFtZTp4WzJdLHN0cmluZ3M6dixjdG9yOnhbMV09PT0iLiI/akc6eFsxXT09PSI/Ij9VRzp4WzFdPT09IkAiP1dHOnMzfSksaS5yZW1vdmVBdHRyaWJ1dGUodSl9ZWxzZSB1LnN0YXJ0c1dpdGgoYmwpJiYoZC5wdXNoKHt0eXBlOjYsaW5kZXg6b30pLGkucmVtb3ZlQXR0cmlidXRlKHUpKTtpZihnYXQudGVzdChpLnRhZ05hbWUpKXtsZXQgdT1pLnRleHRDb250ZW50LnNwbGl0KGJsKSxtPXUubGVuZ3RoLTE7aWYobT4wKXtpLnRleHRDb250ZW50PXFHP3FHLmVtcHR5U2NyaXB0OiIiO2ZvcihsZXQgdj0wO3Y8bTt2KyspaS5hcHBlbmQodVt2XSxSNygpKSxhMy5uZXh0Tm9kZSgpLGQucHVzaCh7dHlwZToyLGluZGV4Oisrb30pO2kuYXBwZW5kKHVbbV0sUjcoKSl9fX1lbHNlIGlmKGkubm9kZVR5cGU9PT04KWlmKGkuZGF0YT09PVFpZSlkLnB1c2goe3R5cGU6MixpbmRleDpvfSk7ZWxzZXtsZXQgdT0tMTtmb3IoOyh1PWkuZGF0YS5pbmRleE9mKGJsLHUrMSkpIT09LTE7KWQucHVzaCh7dHlwZTo3LGluZGV4Om99KSx1Kz1ibC5sZW5ndGgtMX1vKyt9fXN0YXRpYyBjcmVhdGVFbGVtZW50KGUsdCl7bGV0IHI9ZTMuY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiKTtyZXR1cm4gci5pbm5lckhUTUw9ZSxyfX07cyhyMywiTSIpO1ZHPWNsYXNze3N0YXRpY3tzKHRoaXMsIlIiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuXyRBVj1bXSx0aGlzLl8kQU49dm9pZCAwLHRoaXMuXyRBRD1lLHRoaXMuXyRBTT10fWdldCBwYXJlbnROb2RlKCl7cmV0dXJuIHRoaXMuXyRBTS5wYXJlbnROb2RlfWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfXUoZSl7bGV0e2VsOntjb250ZW50OnR9LHBhcnRzOnJ9PXRoaXMuXyRBRCxpPShlPy5jcmVhdGlvblNjb3BlPz9lMykuaW1wb3J0Tm9kZSh0LCEwKTthMy5jdXJyZW50Tm9kZT1pO2xldCBvPWEzLm5leHROb2RlKCksbj0wLGw9MCxkPXJbMF07Zm9yKDtkIT09dm9pZCAwOyl7aWYobj09PWQuaW5kZXgpe2xldCBjO2QudHlwZT09PTI/Yz1uZXcgVTUobyxvLm5leHRTaWJsaW5nLHRoaXMsZSk6ZC50eXBlPT09MT9jPW5ldyBkLmN0b3IobyxkLm5hbWUsZC5zdHJpbmdzLHRoaXMsZSk6ZC50eXBlPT09NiYmKGM9bmV3IEdHKG8sdGhpcyxlKSksdGhpcy5fJEFWLnB1c2goYyksZD1yWysrbF19biE9PWQ/LmluZGV4JiYobz1hMy5uZXh0Tm9kZSgpLG4rKyl9cmV0dXJuIGEzLmN1cnJlbnROb2RlPWUzLGl9cChlKXtsZXQgdD0wO2ZvcihsZXQgciBvZiB0aGlzLl8kQVYpciE9PXZvaWQgMCYmKHIuc3RyaW5ncyE9PXZvaWQgMD8oci5fJEFJKGUscix0KSx0Kz1yLnN0cmluZ3MubGVuZ3RoLTIpOnIuXyRBSShlW3RdKSksdCsrfX0sVTU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJrIil9Z2V0IF8kQVUoKXtyZXR1cm4gdGhpcy5fJEFNPy5fJEFVPz90aGlzLl8kQ3Z9Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy50eXBlPTIsdGhpcy5fJEFIPXhyLHRoaXMuXyRBTj12b2lkIDAsdGhpcy5fJEFBPWUsdGhpcy5fJEFCPXQsdGhpcy5fJEFNPXIsdGhpcy5vcHRpb25zPWksdGhpcy5fJEN2PWk/LmlzQ29ubmVjdGVkPz8hMH1nZXQgcGFyZW50Tm9kZSgpe2xldCBlPXRoaXMuXyRBQS5wYXJlbnROb2RlLHQ9dGhpcy5fJEFNO3JldHVybiB0IT09dm9pZCAwJiZlPy5ub2RlVHlwZT09PTExJiYoZT10LnBhcmVudE5vZGUpLGV9Z2V0IHN0YXJ0Tm9kZSgpe3JldHVybiB0aGlzLl8kQUF9Z2V0IGVuZE5vZGUoKXtyZXR1cm4gdGhpcy5fJEFCfV8kQUkoZSx0PXRoaXMpe2U9cjModGhpcyxlLHQpLE83KGUpP2U9PT14cnx8ZT09bnVsbHx8ZT09PSIiPyh0aGlzLl8kQUghPT14ciYmdGhpcy5fJEFSKCksdGhpcy5fJEFIPXhyKTplIT09dGhpcy5fJEFIJiZlIT09bHImJnRoaXMuXyhlKTplLl8kbGl0VHlwZSQhPT12b2lkIDA/dGhpcy4kKGUpOmUubm9kZVR5cGUhPT12b2lkIDA/dGhpcy5UKGUpOnVhdChlKT90aGlzLmsoZSk6dGhpcy5fKGUpfU8oZSl7cmV0dXJuIHRoaXMuXyRBQS5wYXJlbnROb2RlLmluc2VydEJlZm9yZShlLHRoaXMuXyRBQil9VChlKXt0aGlzLl8kQUghPT1lJiYodGhpcy5fJEFSKCksdGhpcy5fJEFIPXRoaXMuTyhlKSl9XyhlKXt0aGlzLl8kQUghPT14ciYmTzcodGhpcy5fJEFIKT90aGlzLl8kQUEubmV4dFNpYmxpbmcuZGF0YT1lOnRoaXMuVChlMy5jcmVhdGVUZXh0Tm9kZShlKSksdGhpcy5fJEFIPWV9JChlKXtsZXR7dmFsdWVzOnQsXyRsaXRUeXBlJDpyfT1lLGk9dHlwZW9mIHI9PSJudW1iZXIiP3RoaXMuXyRBQyhlKTooci5lbD09PXZvaWQgMCYmKHIuZWw9QjcuY3JlYXRlRWxlbWVudCh2YXQoci5oLHIuaFswXSksdGhpcy5vcHRpb25zKSkscik7aWYodGhpcy5fJEFIPy5fJEFEPT09aSl0aGlzLl8kQUgucCh0KTtlbHNle2xldCBvPW5ldyBWRyhpLHRoaXMpLG49by51KHRoaXMub3B0aW9ucyk7by5wKHQpLHRoaXMuVChuKSx0aGlzLl8kQUg9b319XyRBQyhlKXtsZXQgdD1iYXQuZ2V0KGUuc3RyaW5ncyk7cmV0dXJuIHQ9PT12b2lkIDAmJmJhdC5zZXQoZS5zdHJpbmdzLHQ9bmV3IEI3KGUpKSx0fWsoZSl7SmllKHRoaXMuXyRBSCl8fCh0aGlzLl8kQUg9W10sdGhpcy5fJEFSKCkpO2xldCB0PXRoaXMuXyRBSCxyLGk9MDtmb3IobGV0IG8gb2YgZSlpPT09dC5sZW5ndGg/dC5wdXNoKHI9bmV3IGEodGhpcy5PKFI3KCkpLHRoaXMuTyhSNygpKSx0aGlzLHRoaXMub3B0aW9ucykpOnI9dFtpXSxyLl8kQUkobyksaSsrO2k8dC5sZW5ndGgmJih0aGlzLl8kQVIociYmci5fJEFCLm5leHRTaWJsaW5nLGkpLHQubGVuZ3RoPWkpfV8kQVIoZT10aGlzLl8kQUEubmV4dFNpYmxpbmcsdCl7Zm9yKHRoaXMuXyRBUD8uKCExLCEwLHQpO2UhPT10aGlzLl8kQUI7KXtsZXQgcj1jYXQoZSkubmV4dFNpYmxpbmc7Y2F0KGUpLnJlbW92ZSgpLGU9cn19c2V0Q29ubmVjdGVkKGUpe3RoaXMuXyRBTT09PXZvaWQgMCYmKHRoaXMuXyRDdj1lLHRoaXMuXyRBUD8uKGUpKX19LHMzPWNsYXNze3N0YXRpY3tzKHRoaXMsIkgiKX1nZXQgdGFnTmFtZSgpe3JldHVybiB0aGlzLmVsZW1lbnQudGFnTmFtZX1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1jb25zdHJ1Y3RvcihlLHQscixpLG8pe3RoaXMudHlwZT0xLHRoaXMuXyRBSD14cix0aGlzLl8kQU49dm9pZCAwLHRoaXMuZWxlbWVudD1lLHRoaXMubmFtZT10LHRoaXMuXyRBTT1pLHRoaXMub3B0aW9ucz1vLHIubGVuZ3RoPjJ8fHJbMF0hPT0iInx8clsxXSE9PSIiPyh0aGlzLl8kQUg9QXJyYXkoci5sZW5ndGgtMSkuZmlsbChuZXcgU3RyaW5nKSx0aGlzLnN0cmluZ3M9cik6dGhpcy5fJEFIPXhyfV8kQUkoZSx0PXRoaXMscixpKXtsZXQgbz10aGlzLnN0cmluZ3Msbj0hMTtpZihvPT09dm9pZCAwKWU9cjModGhpcyxlLHQsMCksbj0hTzcoZSl8fGUhPT10aGlzLl8kQUgmJmUhPT1scixuJiYodGhpcy5fJEFIPWUpO2Vsc2V7bGV0IGw9ZSxkLGM7Zm9yKGU9b1swXSxkPTA7ZDxvLmxlbmd0aC0xO2QrKyljPXIzKHRoaXMsbFtyK2RdLHQsZCksYz09PWxyJiYoYz10aGlzLl8kQUhbZF0pLG58fD0hTzcoYyl8fGMhPT10aGlzLl8kQUhbZF0sYz09PXhyP2U9eHI6ZSE9PXhyJiYoZSs9KGM/PyIiKStvW2QrMV0pLHRoaXMuXyRBSFtkXT1jfW4mJiFpJiZ0aGlzLmooZSl9aihlKXtlPT09eHI/dGhpcy5lbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSh0aGlzLm5hbWUpOnRoaXMuZWxlbWVudC5zZXRBdHRyaWJ1dGUodGhpcy5uYW1lLGU/PyIiKX19LGpHPWNsYXNzIGV4dGVuZHMgczN7c3RhdGlje3ModGhpcywiSSIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnR5cGU9M31qKGUpe3RoaXMuZWxlbWVudFt0aGlzLm5hbWVdPWU9PT14cj92b2lkIDA6ZX19LFVHPWNsYXNzIGV4dGVuZHMgczN7c3RhdGlje3ModGhpcywiTCIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLnR5cGU9NH1qKGUpe3RoaXMuZWxlbWVudC50b2dnbGVBdHRyaWJ1dGUodGhpcy5uYW1lLCEhZSYmZSE9PXhyKX19LFdHPWNsYXNzIGV4dGVuZHMgczN7c3RhdGlje3ModGhpcywieiIpfWNvbnN0cnVjdG9yKGUsdCxyLGksbyl7c3VwZXIoZSx0LHIsaSxvKSx0aGlzLnR5cGU9NX1fJEFJKGUsdD10aGlzKXtpZigoZT1yMyh0aGlzLGUsdCwwKT8/eHIpPT09bHIpcmV0dXJuO2xldCByPXRoaXMuXyRBSCxpPWU9PT14ciYmciE9PXhyfHxlLmNhcHR1cmUhPT1yLmNhcHR1cmV8fGUub25jZSE9PXIub25jZXx8ZS5wYXNzaXZlIT09ci5wYXNzaXZlLG89ZSE9PXhyJiYocj09PXhyfHxpKTtpJiZ0aGlzLmVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcih0aGlzLm5hbWUsdGhpcyxyKSxvJiZ0aGlzLmVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcih0aGlzLm5hbWUsdGhpcyxlKSx0aGlzLl8kQUg9ZX1oYW5kbGVFdmVudChlKXt0eXBlb2YgdGhpcy5fJEFIPT0iZnVuY3Rpb24iP3RoaXMuXyRBSC5jYWxsKHRoaXMub3B0aW9ucz8uaG9zdD8/dGhpcy5lbGVtZW50LGUpOnRoaXMuXyRBSC5oYW5kbGVFdmVudChlKX19LEdHPWNsYXNze3N0YXRpY3tzKHRoaXMsIloiKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy5lbGVtZW50PWUsdGhpcy50eXBlPTYsdGhpcy5fJEFOPXZvaWQgMCx0aGlzLl8kQU09dCx0aGlzLm9wdGlvbnM9cn1nZXQgXyRBVSgpe3JldHVybiB0aGlzLl8kQU0uXyRBVX1fJEFJKGUpe3IzKHRoaXMsZSl9fSxzb2U9e006WGllLFA6YmwsQTpRaWUsQzoxLEw6eGF0LFI6VkcsRDp1YXQsVjpyMyxJOlU1LEg6czMsTjpVRyxVOldHLEI6akcsRjpHR30sWGhhPVppZS5saXRIdG1sUG9seWZpbGxTdXBwb3J0O1hoYT8uKEI3LFU1KSwoWmllLmxpdEh0bWxWZXJzaW9ucz8/PVtdKS5wdXNoKCIzLjMuMiIpO2UwPXMoKGEsZSx0KT0+e2xldCByPXQ/LnJlbmRlckJlZm9yZT8/ZSxpPXIuXyRsaXRQYXJ0JDtpZihpPT09dm9pZCAwKXtsZXQgbz10Py5yZW5kZXJCZWZvcmU/P251bGw7ci5fJGxpdFBhcnQkPWk9bmV3IFU1KGUuaW5zZXJ0QmVmb3JlKFI3KCksbyksbyx2b2lkIDAsdD8/e30pfXJldHVybiBpLl8kQUkoYSksaX0sIkQiKX0pO3ZhciBpb2UsdmwsUWhhLEpoYSx5YXQ9ZigoKT0+e043KCk7TjcoKTtRbigpO1FuKCk7aW9lPWdsb2JhbFRoaXMsdmw9Y2xhc3MgZXh0ZW5kcyBvMntzdGF0aWN7cyh0aGlzLCJpIil9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMucmVuZGVyT3B0aW9ucz17aG9zdDp0aGlzfSx0aGlzLl8kRG89dm9pZCAwfWNyZWF0ZVJlbmRlclJvb3QoKXtsZXQgZT1zdXBlci5jcmVhdGVSZW5kZXJSb290KCk7cmV0dXJuIHRoaXMucmVuZGVyT3B0aW9ucy5yZW5kZXJCZWZvcmU/Pz1lLmZpcnN0Q2hpbGQsZX11cGRhdGUoZSl7bGV0IHQ9dGhpcy5yZW5kZXIoKTt0aGlzLmhhc1VwZGF0ZWR8fCh0aGlzLnJlbmRlck9wdGlvbnMuaXNDb25uZWN0ZWQ9dGhpcy5pc0Nvbm5lY3RlZCksc3VwZXIudXBkYXRlKGUpLHRoaXMuXyREbz1lMCh0LHRoaXMucmVuZGVyUm9vdCx0aGlzLnJlbmRlck9wdGlvbnMpfWNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl8kRG8/LnNldENvbm5lY3RlZCghMCl9ZGlzY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuXyREbz8uc2V0Q29ubmVjdGVkKCExKX1yZW5kZXIoKXtyZXR1cm4gbHJ9fTt2bC5fJGxpdEVsZW1lbnQkPSEwLHZsLmZpbmFsaXplZD0hMCxpb2UubGl0RWxlbWVudEh5ZHJhdGVTdXBwb3J0Py4oe0xpdEVsZW1lbnQ6dmx9KTtRaGE9aW9lLmxpdEVsZW1lbnRQb2x5ZmlsbFN1cHBvcnQ7UWhhPy4oe0xpdEVsZW1lbnQ6dmx9KTtKaGE9e18kQUs6cygoYSxlLHQpPT57YS5fJEFLKGUsdCl9LCJfJEFLIiksXyRBTDpzKGE9PmEuXyRBTCwiXyRBTCIpfTsoaW9lLmxpdEVsZW1lbnRWZXJzaW9ucz8/PVtdKS5wdXNoKCI0LjIuMiIpfSk7dmFyIGU4YSx3YXQ9ZigoKT0+e2U4YT0hMX0pO3ZhciB1bj1mKCgpPT57TjcoKTtRbigpO3lhdCgpO3dhdCgpfSk7dmFyIEg3PWJvKFlHPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShZRywiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksWUcudW5pPXZvaWQgMDt2YXIgdDhhPXMoKGE9InVuaSIpPT5gJHthfV8keyJ4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHgiLnJlcGxhY2UoL1t4eV0vZyxlPT57bGV0IHQ9TWF0aC5yYW5kb20oKSoxNnwwO3JldHVybihlPT09IngiP3Q6dCYzfDgpLnRvU3RyaW5nKDE2KX0pfWAsInVuaSIpO1lHLnVuaT10OGF9KTt2YXIgS0csdDAsWkc9ZigoKT0+e0tHPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRlZmVycmVkIil9Y2xhaW0oKXtpZih0aGlzLmNsYWltZWQpdGhyb3cgbmV3IEVycm9yKCJEZWZlcnJlZCBhbHJlYWR5IGNsYWltZWQiKTt0aGlzLmNsYWltZWQ9ITB9Z2V0IGR1cmF0aW9uKCl7cmV0dXJuIHRoaXMuc3RvcHBlZEF0P3RoaXMuc3RvcHBlZEF0LXRoaXMuc3RhcnRlZEF0OkRhdGUubm93KCktdGhpcy5zdGFydGVkQXR9Y29uc3RydWN0b3IoKXt0aGlzLmNsYWltZWQ9ITEsdGhpcy5wcm9taXNlPW5ldyBQcm9taXNlKChlLHQpPT57dGhpcy5yZXNvbHZlPXI9Pnt0aGlzLnN0YXR1cz0iZnVsZmlsbGVkIix0aGlzLnN0b3BwZWRBdD1EYXRlLm5vdygpLGUocil9LHRoaXMucmVqZWN0PXI9Pnt0aGlzLnN0YXR1cz0icmVqZWN0ZWQiLHRoaXMuc3RvcHBlZEF0PURhdGUubm93KCksdChyKX0sdGhpcy5zdGFydGVkQXQ9RGF0ZS5ub3coKSx0aGlzLnN0YXR1cz0icGVuZGluZyJ9KX19LHQwPXMoKCk9Pm5ldyBLRywiZGVmZXIiKX0pO3ZhciBYRyxhOGEsTWF0PWYoKCk9PntaRygpO1hHPWNsYXNze3N0YXRpY3tzKHRoaXMsIkN1bXVsYXRpdmVEZWZlcnJlZCIpfWNvbnN0cnVjdG9yKCl7dGhpcy5hY2N1bXVsYXRlZFByb21pc2VzPVtdLHRoaXMuZGVmZXJyZWQ9dDAoKSx0aGlzLnByb21pc2U9dGhpcy5kZWZlcnJlZC5wcm9taXNlLHNldFRpbWVvdXQoYXN5bmMoKT0+e2Zvcig7dGhpcy5hY2N1bXVsYXRlZFByb21pc2VzLmxlbmd0aD4wOylhd2FpdCB0aGlzLmFjY3VtdWxhdGVkUHJvbWlzZXMuc2hpZnQoKTt0aGlzLmRlZmVycmVkLnJlc29sdmUoKX0sMCl9c3ViRGVmZXIoKXtsZXQgZT10MCgpO3JldHVybiB0aGlzLmFkZFByb21pc2UoZS5wcm9taXNlKSxlfWFkZFByb21pc2UoZSl7dGhpcy5hY2N1bXVsYXRlZFByb21pc2VzLnB1c2goZSl9fSxhOGE9cygoKT0+bmV3IFhHLCJjdW11bGF0aXZlRGVmZXIiKX0pO3ZhciBldD17fTtsdChldCx7Q3VtdWxhdGl2ZURlZmVycmVkOigpPT5YRyxEZWZlcnJlZDooKT0+S0csY3VtdWxhdGl2ZURlZmVyOigpPT5hOGEsZGVmZXI6KCk9PnQwLGZyb21DYWxsYmFjazooKT0+bDhhLGdldEZpcnN0VHJ1ZU9yRmFsc2U6KCk9Pm44YSxtYXA6KCk9Pmk4YSxyZWplY3RlZFByb21pc2U6KCk9PnM4YSxyZXNvbHZlZFByb21pc2U6KCk9PnI4YSx0aW1lb3V0QW5kQ29udGludWU6KCk9Pm84YSx0aW1lb3V0V3JhcDooKT0+a2F0fSk7ZnVuY3Rpb24gcjhhKGEpe3JldHVybiBQcm9taXNlLnJlc29sdmUoYSl9dmFyIHM4YSxpOGEsa2F0LG84YSxuOGEsbDhhLEtzPWYoKCk9PntaRygpO01hdCgpO1pHKCk7cyhyOGEsInJlc29sdmVkUHJvbWlzZSIpO3M4YT1zKGE9PlByb21pc2UucmVqZWN0KGEpLCJyZWplY3RlZFByb21pc2UiKSxpOGE9cyhhc3luYyhhLGUpPT5Qcm9taXNlLmFsbChhLm1hcChlKSksIm1hcCIpLGthdD1zKGFzeW5jKGEsZSx0PSEwKT0+bmV3IFByb21pc2UoKHIsaSk9PntzZXRUaW1lb3V0KCgpPT57dD9pKG5ldyBFcnJvcigidGltZW91dCIpKTpyKG51bGwpfSxlKSxhLnRoZW4ocixpKX0pLCJ0aW1lb3V0V3JhcCIpLG84YT1zKGFzeW5jKGEsZT02ZTQpPT5rYXQoYSxlLCExKSwidGltZW91dEFuZENvbnRpbnVlIiksbjhhPXMoYXN5bmMgYT0+e2xldCBlPXQwKCk7Zm9yKGxldCB0IG9mIGEpdC50aGVuKHI9PntyPT09ITAmJmUucmVzb2x2ZSghMCl9KTtyZXR1cm4gUHJvbWlzZS5hbGwoYSkudGhlbigoKT0+e2UucmVzb2x2ZSghMSl9KSxlLnByb21pc2V9LCJnZXRGaXJzdFRydWVPckZhbHNlIiksbDhhPXMoYT0+bmV3IFByb21pc2UoKGUsdCk9PnthKChyLGkpPT57cj90KHIpOmUoaSl9KX0pLCJmcm9tQ2FsbGJhY2siKX0pO3ZhciBRRz1mKCgpPT57S3MoKX0pO2Z1bmN0aW9uIG5hKGEsZSl7aWYodHlwZW9mIGUhPSJmdW5jdGlvbiImJmUhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNsYXNzIGV4dGVuZHMgdmFsdWUgIitTdHJpbmcoZSkrIiBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsIik7b29lKGEsZSk7ZnVuY3Rpb24gdCgpe3RoaXMuY29uc3RydWN0b3I9YX1zKHQsIl9fIiksYS5wcm90b3R5cGU9ZT09PW51bGw/T2JqZWN0LmNyZWF0ZShlKToodC5wcm90b3R5cGU9ZS5wcm90b3R5cGUsbmV3IHQpfWZ1bmN0aW9uIGQ4YShhLGUpe3ZhciB0PXt9O2Zvcih2YXIgciBpbiBhKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChhLHIpJiZlLmluZGV4T2Yocik8MCYmKHRbcl09YVtyXSk7aWYoYSE9bnVsbCYmdHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHM9PSJmdW5jdGlvbiIpZm9yKHZhciBpPTAscj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGEpO2k8ci5sZW5ndGg7aSsrKWUuaW5kZXhPZihyW2ldKTwwJiZPYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLmNhbGwoYSxyW2ldKSYmKHRbcltpXV09YVtyW2ldXSk7cmV0dXJuIHR9ZnVuY3Rpb24gdThhKGEsZSx0LHIpe3ZhciBpPWFyZ3VtZW50cy5sZW5ndGgsbz1pPDM/ZTpyPT09bnVsbD9yPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KTpyLG47aWYodHlwZW9mIFJlZmxlY3Q9PSJvYmplY3QiJiZ0eXBlb2YgUmVmbGVjdC5kZWNvcmF0ZT09ImZ1bmN0aW9uIilvPVJlZmxlY3QuZGVjb3JhdGUoYSxlLHQscik7ZWxzZSBmb3IodmFyIGw9YS5sZW5ndGgtMTtsPj0wO2wtLSkobj1hW2xdKSYmKG89KGk8Mz9uKG8pOmk+Mz9uKGUsdCxvKTpuKGUsdCkpfHxvKTtyZXR1cm4gaT4zJiZvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoZSx0LG8pLG99ZnVuY3Rpb24gcDhhKGEsZSl7cmV0dXJuIGZ1bmN0aW9uKHQscil7ZSh0LHIsYSl9fWZ1bmN0aW9uIGY4YShhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH1mdW5jdGlvbiBoOGEoYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9ZnVuY3Rpb24gbThhKGEpe3JldHVybiB0eXBlb2YgYT09InN5bWJvbCI/YToiIi5jb25jYXQoYSl9ZnVuY3Rpb24gZzhhKGEsZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJzeW1ib2wiJiYoZT1lLmRlc2NyaXB0aW9uPyJbIi5jb25jYXQoZS5kZXNjcmlwdGlvbiwiXSIpOiIiKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwibmFtZSIse2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTp0PyIiLmNvbmNhdCh0LCIgIixlKTplfSl9ZnVuY3Rpb24gYjhhKGEsZSl7aWYodHlwZW9mIFJlZmxlY3Q9PSJvYmplY3QiJiZ0eXBlb2YgUmVmbGVjdC5tZXRhZGF0YT09ImZ1bmN0aW9uIilyZXR1cm4gUmVmbGVjdC5tZXRhZGF0YShhLGUpfWZ1bmN0aW9uIGRvZShhLGUsdCxyKXtmdW5jdGlvbiBpKG8pe3JldHVybiBvIGluc3RhbmNlb2YgdD9vOm5ldyB0KGZ1bmN0aW9uKG4pe24obyl9KX1yZXR1cm4gcyhpLCJhZG9wdCIpLG5ldyh0fHwodD1Qcm9taXNlKSkoZnVuY3Rpb24obyxuKXtmdW5jdGlvbiBsKHApe3RyeXtjKHIubmV4dChwKSl9Y2F0Y2godSl7bih1KX19cyhsLCJmdWxmaWxsZWQiKTtmdW5jdGlvbiBkKHApe3RyeXtjKHIudGhyb3cocCkpfWNhdGNoKHUpe24odSl9fXMoZCwicmVqZWN0ZWQiKTtmdW5jdGlvbiBjKHApe3AuZG9uZT9vKHAudmFsdWUpOmkocC52YWx1ZSkudGhlbihsLGQpfXMoYywic3RlcCIpLGMoKHI9ci5hcHBseShhLGV8fFtdKSkubmV4dCgpKX0pfWZ1bmN0aW9uIHE3KGEsZSl7dmFyIHQ9e2xhYmVsOjAsc2VudDpzKGZ1bmN0aW9uKCl7aWYob1swXSYxKXRocm93IG9bMV07cmV0dXJuIG9bMV19LCJzZW50IiksdHJ5czpbXSxvcHM6W119LHIsaSxvLG49T2JqZWN0LmNyZWF0ZSgodHlwZW9mIEl0ZXJhdG9yPT0iZnVuY3Rpb24iP0l0ZXJhdG9yOk9iamVjdCkucHJvdG90eXBlKTtyZXR1cm4gbi5uZXh0PWwoMCksbi50aHJvdz1sKDEpLG4ucmV0dXJuPWwoMiksdHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmKG5bU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksbjtmdW5jdGlvbiBsKGMpe3JldHVybiBmdW5jdGlvbihwKXtyZXR1cm4gZChbYyxwXSl9fWZ1bmN0aW9uIGQoYyl7aWYocil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtuJiYobj0wLGNbMF0mJih0PTApKSx0Oyl0cnl7aWYocj0xLGkmJihvPWNbMF0mMj9pLnJldHVybjpjWzBdP2kudGhyb3d8fCgobz1pLnJldHVybikmJm8uY2FsbChpKSwwKTppLm5leHQpJiYhKG89by5jYWxsKGksY1sxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKGk9MCxvJiYoYz1bY1swXSYyLG8udmFsdWVdKSxjWzBdKXtjYXNlIDA6Y2FzZSAxOm89YzticmVhaztjYXNlIDQ6cmV0dXJuIHQubGFiZWwrKyx7dmFsdWU6Y1sxXSxkb25lOiExfTtjYXNlIDU6dC5sYWJlbCsrLGk9Y1sxXSxjPVswXTtjb250aW51ZTtjYXNlIDc6Yz10Lm9wcy5wb3AoKSx0LnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZihvPXQudHJ5cywhKG89by5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSkmJihjWzBdPT09Nnx8Y1swXT09PTIpKXt0PTA7Y29udGludWV9aWYoY1swXT09PTMmJighb3x8Y1sxXT5vWzBdJiZjWzFdPG9bM10pKXt0LmxhYmVsPWNbMV07YnJlYWt9aWYoY1swXT09PTYmJnQubGFiZWw8b1sxXSl7dC5sYWJlbD1vWzFdLG89YzticmVha31pZihvJiZ0LmxhYmVsPG9bMl0pe3QubGFiZWw9b1syXSx0Lm9wcy5wdXNoKGMpO2JyZWFrfW9bMl0mJnQub3BzLnBvcCgpLHQudHJ5cy5wb3AoKTtjb250aW51ZX1jPWUuY2FsbChhLHQpfWNhdGNoKHApe2M9WzYscF0saT0wfWZpbmFsbHl7cj1vPTB9aWYoY1swXSY1KXRocm93IGNbMV07cmV0dXJue3ZhbHVlOmNbMF0/Y1sxXTp2b2lkIDAsZG9uZTohMH19fWZ1bmN0aW9uIHY4YShhLGUpe2Zvcih2YXIgdCBpbiBhKXQhPT0iZGVmYXVsdCImJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSx0KSYmbG9lKGUsYSx0KX1mdW5jdGlvbiBoaShhKXt2YXIgZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wuaXRlcmF0b3IsdD1lJiZhW2VdLHI9MDtpZih0KXJldHVybiB0LmNhbGwoYSk7aWYoYSYmdHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIilyZXR1cm57bmV4dDpzKGZ1bmN0aW9uKCl7cmV0dXJuIGEmJnI+PWEubGVuZ3RoJiYoYT12b2lkIDApLHt2YWx1ZTphJiZhW3IrK10sZG9uZTohYX19LCJuZXh0Iil9O3Rocm93IG5ldyBUeXBlRXJyb3IoZT8iT2JqZWN0IGlzIG5vdCBpdGVyYWJsZS4iOiJTeW1ib2wuaXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIil9ZnVuY3Rpb24gQXIoYSxlKXt2YXIgdD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZhW1N5bWJvbC5pdGVyYXRvcl07aWYoIXQpcmV0dXJuIGE7dmFyIHI9dC5jYWxsKGEpLGksbz1bXSxuO3RyeXtmb3IoOyhlPT09dm9pZCAwfHxlLS0gPjApJiYhKGk9ci5uZXh0KCkpLmRvbmU7KW8ucHVzaChpLnZhbHVlKX1jYXRjaChsKXtuPXtlcnJvcjpsfX1maW5hbGx5e3RyeXtpJiYhaS5kb25lJiYodD1yLnJldHVybikmJnQuY2FsbChyKX1maW5hbGx5e2lmKG4pdGhyb3cgbi5lcnJvcn19cmV0dXJuIG99ZnVuY3Rpb24geDhhKCl7Zm9yKHZhciBhPVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKWE9YS5jb25jYXQoQXIoYXJndW1lbnRzW2VdKSk7cmV0dXJuIGF9ZnVuY3Rpb24geThhKCl7Zm9yKHZhciBhPTAsZT0wLHQ9YXJndW1lbnRzLmxlbmd0aDtlPHQ7ZSsrKWErPWFyZ3VtZW50c1tlXS5sZW5ndGg7Zm9yKHZhciByPUFycmF5KGEpLGk9MCxlPTA7ZTx0O2UrKylmb3IodmFyIG89YXJndW1lbnRzW2VdLG49MCxsPW8ubGVuZ3RoO248bDtuKyssaSsrKXJbaV09b1tuXTtyZXR1cm4gcn1mdW5jdGlvbiB3cyhhLGUsdCl7aWYodHx8YXJndW1lbnRzLmxlbmd0aD09PTIpZm9yKHZhciByPTAsaT1lLmxlbmd0aCxvO3I8aTtyKyspKG98fCEociBpbiBlKSkmJihvfHwobz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChlLDAscikpLG9bcl09ZVtyXSk7cmV0dXJuIGEuY29uY2F0KG98fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGUpKX1mdW5jdGlvbiB4bChhKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIHhsPyh0aGlzLnY9YSx0aGlzKTpuZXcgeGwoYSl9ZnVuY3Rpb24gdW9lKGEsZSx0KXtpZighU3ltYm9sLmFzeW5jSXRlcmF0b3IpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmFzeW5jSXRlcmF0b3IgaXMgbm90IGRlZmluZWQuIik7dmFyIHI9dC5hcHBseShhLGV8fFtdKSxpLG89W107cmV0dXJuIGk9T2JqZWN0LmNyZWF0ZSgodHlwZW9mIEFzeW5jSXRlcmF0b3I9PSJmdW5jdGlvbiI/QXN5bmNJdGVyYXRvcjpPYmplY3QpLnByb3RvdHlwZSksbCgibmV4dCIpLGwoInRocm93IiksbCgicmV0dXJuIixuKSxpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxpO2Z1bmN0aW9uIG4odil7cmV0dXJuIGZ1bmN0aW9uKHgpe3JldHVybiBQcm9taXNlLnJlc29sdmUoeCkudGhlbih2LHUpfX1mdW5jdGlvbiBsKHYseCl7clt2XSYmKGlbdl09ZnVuY3Rpb24oYil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGcseSl7by5wdXNoKFt2LGIsZyx5XSk+MXx8ZCh2LGIpfSl9LHgmJihpW3ZdPXgoaVt2XSkpKX1mdW5jdGlvbiBkKHYseCl7dHJ5e2Moclt2XSh4KSl9Y2F0Y2goYil7bShvWzBdWzNdLGIpfX1mdW5jdGlvbiBjKHYpe3YudmFsdWUgaW5zdGFuY2VvZiB4bD9Qcm9taXNlLnJlc29sdmUodi52YWx1ZS52KS50aGVuKHAsdSk6bShvWzBdWzJdLHYpfWZ1bmN0aW9uIHAodil7ZCgibmV4dCIsdil9ZnVuY3Rpb24gdSh2KXtkKCJ0aHJvdyIsdil9ZnVuY3Rpb24gbSh2LHgpe3YoeCksby5zaGlmdCgpLG8ubGVuZ3RoJiZkKG9bMF1bMF0sb1swXVsxXSl9fWZ1bmN0aW9uIHc4YShhKXt2YXIgZSx0O3JldHVybiBlPXt9LHIoIm5leHQiKSxyKCJ0aHJvdyIsZnVuY3Rpb24oaSl7dGhyb3cgaX0pLHIoInJldHVybiIpLGVbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlO2Z1bmN0aW9uIHIoaSxvKXtlW2ldPWFbaV0/ZnVuY3Rpb24obil7cmV0dXJuKHQ9IXQpP3t2YWx1ZTp4bChhW2ldKG4pKSxkb25lOiExfTpvP28obik6bn06b319ZnVuY3Rpb24gcG9lKGEpe2lmKCFTeW1ib2wuYXN5bmNJdGVyYXRvcil0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNJdGVyYXRvciBpcyBub3QgZGVmaW5lZC4iKTt2YXIgZT1hW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSx0O3JldHVybiBlP2UuY2FsbChhKTooYT10eXBlb2YgaGk9PSJmdW5jdGlvbiI/aGkoYSk6YVtTeW1ib2wuaXRlcmF0b3JdKCksdD17fSxyKCJuZXh0IikscigidGhyb3ciKSxyKCJyZXR1cm4iKSx0W1N5bWJvbC5hc3luY0l0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSx0KTtmdW5jdGlvbiByKG8pe3Rbb109YVtvXSYmZnVuY3Rpb24obil7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGwsZCl7bj1hW29dKG4pLGkobCxkLG4uZG9uZSxuLnZhbHVlKX0pfX1mdW5jdGlvbiBpKG8sbixsLGQpe1Byb21pc2UucmVzb2x2ZShkKS50aGVuKGZ1bmN0aW9uKGMpe28oe3ZhbHVlOmMsZG9uZTpsfSl9LG4pfX1mdW5jdGlvbiBNOGEoYSxlKXtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnR5P09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJyYXciLHt2YWx1ZTplfSk6YS5yYXc9ZSxhfWZ1bmN0aW9uIFM4YShhKXtpZihhJiZhLl9fZXNNb2R1bGUpcmV0dXJuIGE7dmFyIGU9e307aWYoYSE9bnVsbClmb3IodmFyIHQ9Y29lKGEpLHI9MDtyPHQubGVuZ3RoO3IrKyl0W3JdIT09ImRlZmF1bHQiJiZsb2UoZSxhLHRbcl0pO3JldHVybiBrOGEoZSxhKSxlfWZ1bmN0aW9uIHo4YShhKXtyZXR1cm4gYSYmYS5fX2VzTW9kdWxlP2E6e2RlZmF1bHQ6YX19ZnVuY3Rpb24gQzhhKGEsZSx0LHIpe2lmKHQ9PT0iYSImJiFyKXRocm93IG5ldyBUeXBlRXJyb3IoIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlciIpO2lmKHR5cGVvZiBlPT0iZnVuY3Rpb24iP2EhPT1lfHwhcjohZS5oYXMoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHJlYWQgcHJpdmF0ZSBtZW1iZXIgZnJvbSBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7cmV0dXJuIHQ9PT0ibSI/cjp0PT09ImEiP3IuY2FsbChhKTpyP3IudmFsdWU6ZS5nZXQoYSl9ZnVuY3Rpb24gXzhhKGEsZSx0LHIsaSl7aWYocj09PSJtIil0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGUiKTtpZihyPT09ImEiJiYhaSl0aHJvdyBuZXcgVHlwZUVycm9yKCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBzZXR0ZXIiKTtpZih0eXBlb2YgZT09ImZ1bmN0aW9uIj9hIT09ZXx8IWk6IWUuaGFzKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCB3cml0ZSBwcml2YXRlIG1lbWJlciB0byBhbiBvYmplY3Qgd2hvc2UgY2xhc3MgZGlkIG5vdCBkZWNsYXJlIGl0Iik7cmV0dXJuIHI9PT0iYSI/aS5jYWxsKGEsdCk6aT9pLnZhbHVlPXQ6ZS5zZXQoYSx0KSx0fWZ1bmN0aW9uIFQ4YShhLGUpe2lmKGU9PT1udWxsfHx0eXBlb2YgZSE9Im9iamVjdCImJnR5cGVvZiBlIT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCB1c2UgJ2luJyBvcGVyYXRvciBvbiBub24tb2JqZWN0Iik7cmV0dXJuIHR5cGVvZiBhPT0iZnVuY3Rpb24iP2U9PT1hOmEuaGFzKGUpfWZ1bmN0aW9uIEw4YShhLGUsdCl7aWYoZSE9bnVsbCl7aWYodHlwZW9mIGUhPSJvYmplY3QiJiZ0eXBlb2YgZSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQuIik7dmFyIHIsaTtpZih0KXtpZighU3ltYm9sLmFzeW5jRGlzcG9zZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTeW1ib2wuYXN5bmNEaXNwb3NlIGlzIG5vdCBkZWZpbmVkLiIpO3I9ZVtTeW1ib2wuYXN5bmNEaXNwb3NlXX1pZihyPT09dm9pZCAwKXtpZighU3ltYm9sLmRpc3Bvc2UpdGhyb3cgbmV3IFR5cGVFcnJvcigiU3ltYm9sLmRpc3Bvc2UgaXMgbm90IGRlZmluZWQuIik7cj1lW1N5bWJvbC5kaXNwb3NlXSx0JiYoaT1yKX1pZih0eXBlb2YgciE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3Qgbm90IGRpc3Bvc2FibGUuIik7aSYmKHI9cyhmdW5jdGlvbigpe3RyeXtpLmNhbGwodGhpcyl9Y2F0Y2gobyl7cmV0dXJuIFByb21pc2UucmVqZWN0KG8pfX0sImRpc3Bvc2UiKSksYS5zdGFjay5wdXNoKHt2YWx1ZTplLGRpc3Bvc2U6cixhc3luYzp0fSl9ZWxzZSB0JiZhLnN0YWNrLnB1c2goe2FzeW5jOiEwfSk7cmV0dXJuIGV9ZnVuY3Rpb24gRDhhKGEpe2Z1bmN0aW9uIGUobyl7YS5lcnJvcj1hLmhhc0Vycm9yP25ldyAkOGEobyxhLmVycm9yLCJBbiBlcnJvciB3YXMgc3VwcHJlc3NlZCBkdXJpbmcgZGlzcG9zYWwuIik6byxhLmhhc0Vycm9yPSEwfXMoZSwiZmFpbCIpO3ZhciB0LHI9MDtmdW5jdGlvbiBpKCl7Zm9yKDt0PWEuc3RhY2sucG9wKCk7KXRyeXtpZighdC5hc3luYyYmcj09PTEpcmV0dXJuIHI9MCxhLnN0YWNrLnB1c2godCksUHJvbWlzZS5yZXNvbHZlKCkudGhlbihpKTtpZih0LmRpc3Bvc2Upe3ZhciBvPXQuZGlzcG9zZS5jYWxsKHQudmFsdWUpO2lmKHQuYXN5bmMpcmV0dXJuIHJ8PTIsUHJvbWlzZS5yZXNvbHZlKG8pLnRoZW4oaSxmdW5jdGlvbihuKXtyZXR1cm4gZShuKSxpKCl9KX1lbHNlIHJ8PTF9Y2F0Y2gobil7ZShuKX1pZihyPT09MSlyZXR1cm4gYS5oYXNFcnJvcj9Qcm9taXNlLnJlamVjdChhLmVycm9yKTpQcm9taXNlLnJlc29sdmUoKTtpZihhLmhhc0Vycm9yKXRocm93IGEuZXJyb3J9cmV0dXJuIHMoaSwibmV4dCIpLGkoKX1mdW5jdGlvbiBBOGEoYSxlKXtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmciJiYvXlwuXC4/XC8vLnRlc3QoYSk/YS5yZXBsYWNlKC9cLih0c3gpJHwoKD86XC5kKT8pKCg/OlwuW14uL10rPyk/KVwuKFtjbV0/KXRzJC9pLGZ1bmN0aW9uKHQscixpLG8sbil7cmV0dXJuIHI/ZT8iLmpzeCI6Ii5qcyI6aSYmKCFvfHwhbik/dDppK28rIi4iK24udG9Mb3dlckNhc2UoKSsianMifSk6YX12YXIgb29lLG5vZSxsb2UsazhhLGNvZSwkOGEsb0JhLEJhPWYoKCk9Pntvb2U9cyhmdW5jdGlvbihhLGUpe3JldHVybiBvb2U9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHQscil7dC5fX3Byb3RvX189cn18fGZ1bmN0aW9uKHQscil7Zm9yKHZhciBpIGluIHIpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHIsaSkmJih0W2ldPXJbaV0pfSxvb2UoYSxlKX0sImV4dGVuZFN0YXRpY3MiKTtzKG5hLCJfX2V4dGVuZHMiKTtub2U9cyhmdW5jdGlvbigpe3JldHVybiBub2U9T2JqZWN0LmFzc2lnbnx8cyhmdW5jdGlvbihlKXtmb3IodmFyIHQscj0xLGk9YXJndW1lbnRzLmxlbmd0aDtyPGk7cisrKXt0PWFyZ3VtZW50c1tyXTtmb3IodmFyIG8gaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxvKSYmKGVbb109dFtvXSl9cmV0dXJuIGV9LCJfX2Fzc2lnbiIpLG5vZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LCJfX2Fzc2lnbiIpO3MoZDhhLCJfX3Jlc3QiKTtzKHU4YSwiX19kZWNvcmF0ZSIpO3MocDhhLCJfX3BhcmFtIik7cyhmOGEsIl9fZXNEZWNvcmF0ZSIpO3MoaDhhLCJfX3J1bkluaXRpYWxpemVycyIpO3MobThhLCJfX3Byb3BLZXkiKTtzKGc4YSwiX19zZXRGdW5jdGlvbk5hbWUiKTtzKGI4YSwiX19tZXRhZGF0YSIpO3MoZG9lLCJfX2F3YWl0ZXIiKTtzKHE3LCJfX2dlbmVyYXRvciIpO2xvZT1PYmplY3QuY3JlYXRlPyhmdW5jdGlvbihhLGUsdCxyKXtyPT09dm9pZCAwJiYocj10KTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCk7KCFpfHwoImdldCJpbiBpPyFlLl9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpKSYmKGk9e2VudW1lcmFibGU6ITAsZ2V0OnMoZnVuY3Rpb24oKXtyZXR1cm4gZVt0XX0sImdldCIpfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEscixpKX0pOihmdW5jdGlvbihhLGUsdCxyKXtyPT09dm9pZCAwJiYocj10KSxhW3JdPWVbdF19KTtzKHY4YSwiX19leHBvcnRTdGFyIik7cyhoaSwiX192YWx1ZXMiKTtzKEFyLCJfX3JlYWQiKTtzKHg4YSwiX19zcHJlYWQiKTtzKHk4YSwiX19zcHJlYWRBcnJheXMiKTtzKHdzLCJfX3NwcmVhZEFycmF5Iik7cyh4bCwiX19hd2FpdCIpO3ModW9lLCJfX2FzeW5jR2VuZXJhdG9yIik7cyh3OGEsIl9fYXN5bmNEZWxlZ2F0b3IiKTtzKHBvZSwiX19hc3luY1ZhbHVlcyIpO3MoTThhLCJfX21ha2VUZW1wbGF0ZU9iamVjdCIpO2s4YT1PYmplY3QuY3JlYXRlPyhmdW5jdGlvbihhLGUpe09iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCx2YWx1ZTplfSl9KTpmdW5jdGlvbihhLGUpe2EuZGVmYXVsdD1lfSxjb2U9cyhmdW5jdGlvbihhKXtyZXR1cm4gY29lPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzfHxmdW5jdGlvbihlKXt2YXIgdD1bXTtmb3IodmFyIHIgaW4gZSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxyKSYmKHRbdC5sZW5ndGhdPXIpO3JldHVybiB0fSxjb2UoYSl9LCJvd25LZXlzIik7cyhTOGEsIl9faW1wb3J0U3RhciIpO3MoejhhLCJfX2ltcG9ydERlZmF1bHQiKTtzKEM4YSwiX19jbGFzc1ByaXZhdGVGaWVsZEdldCIpO3MoXzhhLCJfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0Iik7cyhUOGEsIl9fY2xhc3NQcml2YXRlRmllbGRJbiIpO3MoTDhhLCJfX2FkZERpc3Bvc2FibGVSZXNvdXJjZSIpOyQ4YT10eXBlb2YgU3VwcHJlc3NlZEVycm9yPT0iZnVuY3Rpb24iP1N1cHByZXNzZWRFcnJvcjpmdW5jdGlvbihhLGUsdCl7dmFyIHI9bmV3IEVycm9yKHQpO3JldHVybiByLm5hbWU9IlN1cHByZXNzZWRFcnJvciIsci5lcnJvcj1hLHIuc3VwcHJlc3NlZD1lLHJ9O3MoRDhhLCJfX2Rpc3Bvc2VSZXNvdXJjZXMiKTtzKEE4YSwiX19yZXdyaXRlUmVsYXRpdmVJbXBvcnRFeHRlbnNpb24iKTtvQmE9e19fZXh0ZW5kczpuYSxfX2Fzc2lnbjpub2UsX19yZXN0OmQ4YSxfX2RlY29yYXRlOnU4YSxfX3BhcmFtOnA4YSxfX2VzRGVjb3JhdGU6ZjhhLF9fcnVuSW5pdGlhbGl6ZXJzOmg4YSxfX3Byb3BLZXk6bThhLF9fc2V0RnVuY3Rpb25OYW1lOmc4YSxfX21ldGFkYXRhOmI4YSxfX2F3YWl0ZXI6ZG9lLF9fZ2VuZXJhdG9yOnE3LF9fY3JlYXRlQmluZGluZzpsb2UsX19leHBvcnRTdGFyOnY4YSxfX3ZhbHVlczpoaSxfX3JlYWQ6QXIsX19zcHJlYWQ6eDhhLF9fc3ByZWFkQXJyYXlzOnk4YSxfX3NwcmVhZEFycmF5OndzLF9fYXdhaXQ6eGwsX19hc3luY0dlbmVyYXRvcjp1b2UsX19hc3luY0RlbGVnYXRvcjp3OGEsX19hc3luY1ZhbHVlczpwb2UsX19tYWtlVGVtcGxhdGVPYmplY3Q6TThhLF9faW1wb3J0U3RhcjpTOGEsX19pbXBvcnREZWZhdWx0Ono4YSxfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0OkM4YSxfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0Ol84YSxfX2NsYXNzUHJpdmF0ZUZpZWxkSW46VDhhLF9fYWRkRGlzcG9zYWJsZVJlc291cmNlOkw4YSxfX2Rpc3Bvc2VSZXNvdXJjZXM6RDhhLF9fcmV3cml0ZVJlbGF0aXZlSW1wb3J0RXh0ZW5zaW9uOkE4YX19KTtmdW5jdGlvbiBPdChhKXtyZXR1cm4gdHlwZW9mIGE9PSJmdW5jdGlvbiJ9dmFyIFJzPWYoKCk9PntzKE90LCJpc0Z1bmN0aW9uIil9KTtmdW5jdGlvbiB2byhhKXt2YXIgZT1zKGZ1bmN0aW9uKHIpe0Vycm9yLmNhbGwociksci5zdGFjaz1uZXcgRXJyb3IoKS5zdGFja30sIl9zdXBlciIpLHQ9YShlKTtyZXR1cm4gdC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpLHQucHJvdG90eXBlLmNvbnN0cnVjdG9yPXQsdH12YXIgYTA9ZigoKT0+e3Modm8sImNyZWF0ZUVycm9yQ2xhc3MiKX0pO3ZhciBWNyxmb2U9ZigoKT0+e2EwKCk7Vjc9dm8oZnVuY3Rpb24oYSl7cmV0dXJuIHMoZnVuY3Rpb24odCl7YSh0aGlzKSx0aGlzLm1lc3NhZ2U9dD90Lmxlbmd0aCtgIGVycm9ycyBvY2N1cnJlZCBkdXJpbmcgdW5zdWJzY3JpcHRpb246CmArdC5tYXAoZnVuY3Rpb24ocixpKXtyZXR1cm4gaSsxKyIpICIrci50b1N0cmluZygpfSkuam9pbihgCiAgYCk6IiIsdGhpcy5uYW1lPSJVbnN1YnNjcmlwdGlvbkVycm9yIix0aGlzLmVycm9ycz10fSwiVW5zdWJzY3JpcHRpb25FcnJvckltcGwiKX0pfSk7ZnVuY3Rpb24gSm4oYSxlKXtpZihhKXt2YXIgdD1hLmluZGV4T2YoZSk7MDw9dCYmYS5zcGxpY2UodCwxKX19dmFyIFc1PWYoKCk9PntzKEpuLCJhcnJSZW1vdmUiKX0pO2Z1bmN0aW9uIEpHKGEpe3JldHVybiBhIGluc3RhbmNlb2YganJ8fGEmJiJjbG9zZWQiaW4gYSYmT3QoYS5yZW1vdmUpJiZPdChhLmFkZCkmJk90KGEudW5zdWJzY3JpYmUpfWZ1bmN0aW9uIFNhdChhKXtPdChhKT9hKCk6YS51bnN1YnNjcmliZSgpfXZhciBqcixob2UsbjI9ZigoKT0+e0JhKCk7UnMoKTtmb2UoKTtXNSgpO2pyPShmdW5jdGlvbigpe2Z1bmN0aW9uIGEoZSl7dGhpcy5pbml0aWFsVGVhcmRvd249ZSx0aGlzLmNsb3NlZD0hMSx0aGlzLl9wYXJlbnRhZ2U9bnVsbCx0aGlzLl9maW5hbGl6ZXJzPW51bGx9cmV0dXJuIHMoYSwiU3Vic2NyaXB0aW9uIiksYS5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXt2YXIgZSx0LHIsaSxvO2lmKCF0aGlzLmNsb3NlZCl7dGhpcy5jbG9zZWQ9ITA7dmFyIG49dGhpcy5fcGFyZW50YWdlO2lmKG4paWYodGhpcy5fcGFyZW50YWdlPW51bGwsQXJyYXkuaXNBcnJheShuKSl0cnl7Zm9yKHZhciBsPWhpKG4pLGQ9bC5uZXh0KCk7IWQuZG9uZTtkPWwubmV4dCgpKXt2YXIgYz1kLnZhbHVlO2MucmVtb3ZlKHRoaXMpfX1jYXRjaChiKXtlPXtlcnJvcjpifX1maW5hbGx5e3RyeXtkJiYhZC5kb25lJiYodD1sLnJldHVybikmJnQuY2FsbChsKX1maW5hbGx5e2lmKGUpdGhyb3cgZS5lcnJvcn19ZWxzZSBuLnJlbW92ZSh0aGlzKTt2YXIgcD10aGlzLmluaXRpYWxUZWFyZG93bjtpZihPdChwKSl0cnl7cCgpfWNhdGNoKGIpe289YiBpbnN0YW5jZW9mIFY3P2IuZXJyb3JzOltiXX12YXIgdT10aGlzLl9maW5hbGl6ZXJzO2lmKHUpe3RoaXMuX2ZpbmFsaXplcnM9bnVsbDt0cnl7Zm9yKHZhciBtPWhpKHUpLHY9bS5uZXh0KCk7IXYuZG9uZTt2PW0ubmV4dCgpKXt2YXIgeD12LnZhbHVlO3RyeXtTYXQoeCl9Y2F0Y2goYil7bz1vPz9bXSxiIGluc3RhbmNlb2YgVjc/bz13cyh3cyhbXSxBcihvKSksQXIoYi5lcnJvcnMpKTpvLnB1c2goYil9fX1jYXRjaChiKXtyPXtlcnJvcjpifX1maW5hbGx5e3RyeXt2JiYhdi5kb25lJiYoaT1tLnJldHVybikmJmkuY2FsbChtKX1maW5hbGx5e2lmKHIpdGhyb3cgci5lcnJvcn19fWlmKG8pdGhyb3cgbmV3IFY3KG8pfX0sYS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGUpe3ZhciB0O2lmKGUmJmUhPT10aGlzKWlmKHRoaXMuY2xvc2VkKVNhdChlKTtlbHNle2lmKGUgaW5zdGFuY2VvZiBhKXtpZihlLmNsb3NlZHx8ZS5faGFzUGFyZW50KHRoaXMpKXJldHVybjtlLl9hZGRQYXJlbnQodGhpcyl9KHRoaXMuX2ZpbmFsaXplcnM9KHQ9dGhpcy5fZmluYWxpemVycykhPT1udWxsJiZ0IT09dm9pZCAwP3Q6W10pLnB1c2goZSl9fSxhLnByb3RvdHlwZS5faGFzUGFyZW50PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3BhcmVudGFnZTtyZXR1cm4gdD09PWV8fEFycmF5LmlzQXJyYXkodCkmJnQuaW5jbHVkZXMoZSl9LGEucHJvdG90eXBlLl9hZGRQYXJlbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fcGFyZW50YWdlO3RoaXMuX3BhcmVudGFnZT1BcnJheS5pc0FycmF5KHQpPyh0LnB1c2goZSksdCk6dD9bdCxlXTplfSxhLnByb3RvdHlwZS5fcmVtb3ZlUGFyZW50PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX3BhcmVudGFnZTt0PT09ZT90aGlzLl9wYXJlbnRhZ2U9bnVsbDpBcnJheS5pc0FycmF5KHQpJiZKbih0LGUpfSxhLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fZmluYWxpemVyczt0JiZKbih0LGUpLGUgaW5zdGFuY2VvZiBhJiZlLl9yZW1vdmVQYXJlbnQodGhpcyl9LGEuRU1QVFk9KGZ1bmN0aW9uKCl7dmFyIGU9bmV3IGE7cmV0dXJuIGUuY2xvc2VkPSEwLGV9KSgpLGF9KSgpLGhvZT1qci5FTVBUWTtzKEpHLCJpc1N1YnNjcmlwdGlvbiIpO3MoU2F0LCJleGVjRmluYWxpemVyIil9KTt2YXIgcG4sRzU9ZigoKT0+e3BuPXtvblVuaGFuZGxlZEVycm9yOm51bGwsb25TdG9wcGVkTm90aWZpY2F0aW9uOm51bGwsUHJvbWlzZTp2b2lkIDAsdXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZzohMSx1c2VEZXByZWNhdGVkTmV4dENvbnRleHQ6ITF9fSk7dmFyIFk1LG1vZT1mKCgpPT57QmEoKTtZNT17c2V0VGltZW91dDpzKGZ1bmN0aW9uKGEsZSl7Zm9yKHZhciB0PVtdLHI9MjtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXRbci0yXT1hcmd1bWVudHNbcl07dmFyIGk9WTUuZGVsZWdhdGU7cmV0dXJuIGk/LnNldFRpbWVvdXQ/aS5zZXRUaW1lb3V0LmFwcGx5KGksd3MoW2EsZV0sQXIodCkpKTpzZXRUaW1lb3V0LmFwcGx5KHZvaWQgMCx3cyhbYSxlXSxBcih0KSkpfSwic2V0VGltZW91dCIpLGNsZWFyVGltZW91dDpzKGZ1bmN0aW9uKGEpe3ZhciBlPVk1LmRlbGVnYXRlO3JldHVybihlPy5jbGVhclRpbWVvdXR8fGNsZWFyVGltZW91dCkoYSl9LCJjbGVhclRpbWVvdXQiKSxkZWxlZ2F0ZTp2b2lkIDB9fSk7ZnVuY3Rpb24gZVkoYSl7WTUuc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBlPXBuLm9uVW5oYW5kbGVkRXJyb3I7aWYoZSllKGEpO2Vsc2UgdGhyb3cgYX0pfXZhciBnb2U9ZigoKT0+e0c1KCk7bW9lKCk7cyhlWSwicmVwb3J0VW5oYW5kbGVkRXJyb3IiKX0pO2Z1bmN0aW9uIGZuKCl7fXZhciBpMz1mKCgpPT57cyhmbiwibm9vcCIpfSk7ZnVuY3Rpb24gQ2F0KGEpe3JldHVybiBib2UoIkUiLHZvaWQgMCxhKX1mdW5jdGlvbiBfYXQoYSl7cmV0dXJuIGJvZSgiTiIsYSx2b2lkIDApfWZ1bmN0aW9uIGJvZShhLGUsdCl7cmV0dXJue2tpbmQ6YSx2YWx1ZTplLGVycm9yOnR9fXZhciB6YXQsVGF0PWYoKCk9Pnt6YXQ9KGZ1bmN0aW9uKCl7cmV0dXJuIGJvZSgiQyIsdm9pZCAwLHZvaWQgMCl9KSgpO3MoQ2F0LCJlcnJvck5vdGlmaWNhdGlvbiIpO3MoX2F0LCJuZXh0Tm90aWZpY2F0aW9uIik7cyhib2UsImNyZWF0ZU5vdGlmaWNhdGlvbiIpfSk7ZnVuY3Rpb24gSzUoYSl7aWYocG4udXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZyl7dmFyIGU9IW8zO2lmKGUmJihvMz17ZXJyb3JUaHJvd246ITEsZXJyb3I6bnVsbH0pLGEoKSxlKXt2YXIgdD1vMyxyPXQuZXJyb3JUaHJvd24saT10LmVycm9yO2lmKG8zPW51bGwscil0aHJvdyBpfX1lbHNlIGEoKX1mdW5jdGlvbiBMYXQoYSl7cG4udXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZyYmbzMmJihvMy5lcnJvclRocm93bj0hMCxvMy5lcnJvcj1hKX12YXIgbzMsdFk9ZigoKT0+e0c1KCk7bzM9bnVsbDtzKEs1LCJlcnJvckNvbnRleHQiKTtzKExhdCwiY2FwdHVyZUVycm9yIil9KTtmdW5jdGlvbiB2b2UoYSxlKXtyZXR1cm4gRThhLmNhbGwoYSxlKX1mdW5jdGlvbiBhWShhKXtwbi51c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nP0xhdChhKTplWShhKX1mdW5jdGlvbiBJOGEoYSl7dGhyb3cgYX1mdW5jdGlvbiB4b2UoYSxlKXt2YXIgdD1wbi5vblN0b3BwZWROb3RpZmljYXRpb247dCYmWTUuc2V0VGltZW91dChmdW5jdGlvbigpe3JldHVybiB0KGEsZSl9KX12YXIgbjMsRThhLFA4YSxyMCxOOGEsajc9ZigoKT0+e0JhKCk7UnMoKTtuMigpO0c1KCk7Z29lKCk7aTMoKTtUYXQoKTttb2UoKTt0WSgpO24zPShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUodCl7dmFyIHI9YS5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiByLmlzU3RvcHBlZD0hMSx0PyhyLmRlc3RpbmF0aW9uPXQsSkcodCkmJnQuYWRkKHIpKTpyLmRlc3RpbmF0aW9uPU44YSxyfXJldHVybiBzKGUsIlN1YnNjcmliZXIiKSxlLmNyZWF0ZT1mdW5jdGlvbih0LHIsaSl7cmV0dXJuIG5ldyByMCh0LHIsaSl9LGUucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24odCl7dGhpcy5pc1N0b3BwZWQ/eG9lKF9hdCh0KSx0aGlzKTp0aGlzLl9uZXh0KHQpfSxlLnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbih0KXt0aGlzLmlzU3RvcHBlZD94b2UoQ2F0KHQpLHRoaXMpOih0aGlzLmlzU3RvcHBlZD0hMCx0aGlzLl9lcnJvcih0KSl9LGUucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dGhpcy5pc1N0b3BwZWQ/eG9lKHphdCx0aGlzKToodGhpcy5pc1N0b3BwZWQ9ITAsdGhpcy5fY29tcGxldGUoKSl9LGUucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7dGhpcy5jbG9zZWR8fCh0aGlzLmlzU3RvcHBlZD0hMCxhLnByb3RvdHlwZS51bnN1YnNjcmliZS5jYWxsKHRoaXMpLHRoaXMuZGVzdGluYXRpb249bnVsbCl9LGUucHJvdG90eXBlLl9uZXh0PWZ1bmN0aW9uKHQpe3RoaXMuZGVzdGluYXRpb24ubmV4dCh0KX0sZS5wcm90b3R5cGUuX2Vycm9yPWZ1bmN0aW9uKHQpe3RyeXt0aGlzLmRlc3RpbmF0aW9uLmVycm9yKHQpfWZpbmFsbHl7dGhpcy51bnN1YnNjcmliZSgpfX0sZS5wcm90b3R5cGUuX2NvbXBsZXRlPWZ1bmN0aW9uKCl7dHJ5e3RoaXMuZGVzdGluYXRpb24uY29tcGxldGUoKX1maW5hbGx5e3RoaXMudW5zdWJzY3JpYmUoKX19LGV9KShqciksRThhPUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kO3Modm9lLCJiaW5kIik7UDhhPShmdW5jdGlvbigpe2Z1bmN0aW9uIGEoZSl7dGhpcy5wYXJ0aWFsT2JzZXJ2ZXI9ZX1yZXR1cm4gcyhhLCJDb25zdW1lck9ic2VydmVyIiksYS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLnBhcnRpYWxPYnNlcnZlcjtpZih0Lm5leHQpdHJ5e3QubmV4dChlKX1jYXRjaChyKXthWShyKX19LGEucHJvdG90eXBlLmVycm9yPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucGFydGlhbE9ic2VydmVyO2lmKHQuZXJyb3IpdHJ5e3QuZXJyb3IoZSl9Y2F0Y2gocil7YVkocil9ZWxzZSBhWShlKX0sYS5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnBhcnRpYWxPYnNlcnZlcjtpZihlLmNvbXBsZXRlKXRyeXtlLmNvbXBsZXRlKCl9Y2F0Y2godCl7YVkodCl9fSxhfSkoKSxyMD0oZnVuY3Rpb24oYSl7bmEoZSxhKTtmdW5jdGlvbiBlKHQscixpKXt2YXIgbz1hLmNhbGwodGhpcyl8fHRoaXMsbjtpZihPdCh0KXx8IXQpbj17bmV4dDp0Pz92b2lkIDAsZXJyb3I6cj8/dm9pZCAwLGNvbXBsZXRlOmk/P3ZvaWQgMH07ZWxzZXt2YXIgbDtvJiZwbi51c2VEZXByZWNhdGVkTmV4dENvbnRleHQ/KGw9T2JqZWN0LmNyZWF0ZSh0KSxsLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7cmV0dXJuIG8udW5zdWJzY3JpYmUoKX0sbj17bmV4dDp0Lm5leHQmJnZvZSh0Lm5leHQsbCksZXJyb3I6dC5lcnJvciYmdm9lKHQuZXJyb3IsbCksY29tcGxldGU6dC5jb21wbGV0ZSYmdm9lKHQuY29tcGxldGUsbCl9KTpuPXR9cmV0dXJuIG8uZGVzdGluYXRpb249bmV3IFA4YShuKSxvfXJldHVybiBzKGUsIlNhZmVTdWJzY3JpYmVyIiksZX0pKG4zKTtzKGFZLCJoYW5kbGVVbmhhbmRsZWRFcnJvciIpO3MoSThhLCJkZWZhdWx0RXJyb3JIYW5kbGVyIik7cyh4b2UsImhhbmRsZVN0b3BwZWROb3RpZmljYXRpb24iKTtOOGE9e2Nsb3NlZDohMCxuZXh0OmZuLGVycm9yOkk4YSxjb21wbGV0ZTpmbn19KTt2YXIgbDMsVTc9ZigoKT0+e2wzPShmdW5jdGlvbigpe3JldHVybiB0eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wub2JzZXJ2YWJsZXx8IkBAb2JzZXJ2YWJsZSJ9KSgpfSk7ZnVuY3Rpb24gbDIoYSl7cmV0dXJuIGF9dmFyIFo1PWYoKCk9PntzKGwyLCJpZGVudGl0eSIpfSk7ZnVuY3Rpb24gUjhhKCl7Zm9yKHZhciBhPVtdLGU9MDtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKWFbZV09YXJndW1lbnRzW2VdO3JldHVybiB5b2UoYSl9ZnVuY3Rpb24geW9lKGEpe3JldHVybiBhLmxlbmd0aD09PTA/bDI6YS5sZW5ndGg9PT0xP2FbMF06cyhmdW5jdGlvbih0KXtyZXR1cm4gYS5yZWR1Y2UoZnVuY3Rpb24ocixpKXtyZXR1cm4gaShyKX0sdCl9LCJwaXBlZCIpfXZhciB3b2U9ZigoKT0+e1o1KCk7cyhSOGEsInBpcGUiKTtzKHlvZSwicGlwZUZyb21BcnJheSIpfSk7ZnVuY3Rpb24gJGF0KGEpe3ZhciBlO3JldHVybihlPWE/P3BuLlByb21pc2UpIT09bnVsbCYmZSE9PXZvaWQgMD9lOlByb21pc2V9ZnVuY3Rpb24gTzhhKGEpe3JldHVybiBhJiZPdChhLm5leHQpJiZPdChhLmVycm9yKSYmT3QoYS5jb21wbGV0ZSl9ZnVuY3Rpb24gRjhhKGEpe3JldHVybiBhJiZhIGluc3RhbmNlb2YgbjN8fE84YShhKSYmSkcoYSl9dmFyIEZ0LEJpPWYoKCk9PntqNygpO24yKCk7VTcoKTt3b2UoKTtHNSgpO1JzKCk7dFkoKTtGdD0oZnVuY3Rpb24oKXtmdW5jdGlvbiBhKGUpe2UmJih0aGlzLl9zdWJzY3JpYmU9ZSl9cmV0dXJuIHMoYSwiT2JzZXJ2YWJsZSIpLGEucHJvdG90eXBlLmxpZnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9bmV3IGE7cmV0dXJuIHQuc291cmNlPXRoaXMsdC5vcGVyYXRvcj1lLHR9LGEucHJvdG90eXBlLnN1YnNjcmliZT1mdW5jdGlvbihlLHQscil7dmFyIGk9dGhpcyxvPUY4YShlKT9lOm5ldyByMChlLHQscik7cmV0dXJuIEs1KGZ1bmN0aW9uKCl7dmFyIG49aSxsPW4ub3BlcmF0b3IsZD1uLnNvdXJjZTtvLmFkZChsP2wuY2FsbChvLGQpOmQ/aS5fc3Vic2NyaWJlKG8pOmkuX3RyeVN1YnNjcmliZShvKSl9KSxvfSxhLnByb3RvdHlwZS5fdHJ5U3Vic2NyaWJlPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gdGhpcy5fc3Vic2NyaWJlKGUpfWNhdGNoKHQpe2UuZXJyb3IodCl9fSxhLnByb3RvdHlwZS5mb3JFYWNoPWZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpcztyZXR1cm4gdD0kYXQodCksbmV3IHQoZnVuY3Rpb24oaSxvKXt2YXIgbj1uZXcgcjAoe25leHQ6cyhmdW5jdGlvbihsKXt0cnl7ZShsKX1jYXRjaChkKXtvKGQpLG4udW5zdWJzY3JpYmUoKX19LCJuZXh0IiksZXJyb3I6byxjb21wbGV0ZTppfSk7ci5zdWJzY3JpYmUobil9KX0sYS5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbihlKXt2YXIgdDtyZXR1cm4odD10aGlzLnNvdXJjZSk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0LnN1YnNjcmliZShlKX0sYS5wcm90b3R5cGVbbDNdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LGEucHJvdG90eXBlLnBpcGU9ZnVuY3Rpb24oKXtmb3IodmFyIGU9W10sdD0wO3Q8YXJndW1lbnRzLmxlbmd0aDt0KyspZVt0XT1hcmd1bWVudHNbdF07cmV0dXJuIHlvZShlKSh0aGlzKX0sYS5wcm90b3R5cGUudG9Qcm9taXNlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIGU9JGF0KGUpLG5ldyBlKGZ1bmN0aW9uKHIsaSl7dmFyIG87dC5zdWJzY3JpYmUoZnVuY3Rpb24obil7cmV0dXJuIG89bn0sZnVuY3Rpb24obil7cmV0dXJuIGkobil9LGZ1bmN0aW9uKCl7cmV0dXJuIHIobyl9KX0pfSxhLmNyZWF0ZT1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IGEoZSl9LGF9KSgpO3MoJGF0LCJnZXRQcm9taXNlQ3RvciIpO3MoTzhhLCJpc09ic2VydmVyIik7cyhGOGEsImlzU3Vic2NyaWJlciIpfSk7ZnVuY3Rpb24gTW9lKGEpe3JldHVybiBPdChhPy5saWZ0KX1mdW5jdGlvbiB5YShhKXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoTW9lKGUpKXJldHVybiBlLmxpZnQoZnVuY3Rpb24odCl7dHJ5e3JldHVybiBhKHQsdGhpcyl9Y2F0Y2gocil7dGhpcy5lcnJvcihyKX19KTt0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmFibGUgdG8gbGlmdCB1bmtub3duIE9ic2VydmFibGUgdHlwZSIpfX12YXIgcnM9ZigoKT0+e1JzKCk7cyhNb2UsImhhc0xpZnQiKTtzKHlhLCJvcGVyYXRlIil9KTtmdW5jdGlvbiBsYShhLGUsdCxyLGkpe3JldHVybiBuZXcgRGF0KGEsZSx0LHIsaSl9dmFyIERhdCxPcz1mKCgpPT57QmEoKTtqNygpO3MobGEsImNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciIpO0RhdD0oZnVuY3Rpb24oYSl7bmEoZSxhKTtmdW5jdGlvbiBlKHQscixpLG8sbixsKXt2YXIgZD1hLmNhbGwodGhpcyx0KXx8dGhpcztyZXR1cm4gZC5vbkZpbmFsaXplPW4sZC5zaG91bGRVbnN1YnNjcmliZT1sLGQuX25leHQ9cj9mdW5jdGlvbihjKXt0cnl7cihjKX1jYXRjaChwKXt0LmVycm9yKHApfX06YS5wcm90b3R5cGUuX25leHQsZC5fZXJyb3I9bz9mdW5jdGlvbihjKXt0cnl7byhjKX1jYXRjaChwKXt0LmVycm9yKHApfWZpbmFsbHl7dGhpcy51bnN1YnNjcmliZSgpfX06YS5wcm90b3R5cGUuX2Vycm9yLGQuX2NvbXBsZXRlPWk/ZnVuY3Rpb24oKXt0cnl7aSgpfWNhdGNoKGMpe3QuZXJyb3IoYyl9ZmluYWxseXt0aGlzLnVuc3Vic2NyaWJlKCl9fTphLnByb3RvdHlwZS5fY29tcGxldGUsZH1yZXR1cm4gcyhlLCJPcGVyYXRvclN1YnNjcmliZXIiKSxlLnByb3RvdHlwZS51bnN1YnNjcmliZT1mdW5jdGlvbigpe3ZhciB0O2lmKCF0aGlzLnNob3VsZFVuc3Vic2NyaWJlfHx0aGlzLnNob3VsZFVuc3Vic2NyaWJlKCkpe3ZhciByPXRoaXMuY2xvc2VkO2EucHJvdG90eXBlLnVuc3Vic2NyaWJlLmNhbGwodGhpcyksIXImJigodD10aGlzLm9uRmluYWxpemUpPT09bnVsbHx8dD09PXZvaWQgMHx8dC5jYWxsKHRoaXMpKX19LGV9KShuMyl9KTtmdW5jdGlvbiByWSgpe3JldHVybiB5YShmdW5jdGlvbihhLGUpe3ZhciB0PW51bGw7YS5fcmVmQ291bnQrKzt2YXIgcj1sYShlLHZvaWQgMCx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7aWYoIWF8fGEuX3JlZkNvdW50PD0wfHwwPC0tYS5fcmVmQ291bnQpe3Q9bnVsbDtyZXR1cm59dmFyIGk9YS5fY29ubmVjdGlvbixvPXQ7dD1udWxsLGkmJighb3x8aT09PW8pJiZpLnVuc3Vic2NyaWJlKCksZS51bnN1YnNjcmliZSgpfSk7YS5zdWJzY3JpYmUociksci5jbG9zZWR8fCh0PWEuY29ubmVjdCgpKX0pfXZhciBzWT1mKCgpPT57cnMoKTtPcygpO3MoclksInJlZkNvdW50Iil9KTt2YXIgQWF0LEVhdD1mKCgpPT57QmEoKTtCaSgpO24yKCk7c1koKTtPcygpO3JzKCk7QWF0PShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUodCxyKXt2YXIgaT1hLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIGkuc291cmNlPXQsaS5zdWJqZWN0RmFjdG9yeT1yLGkuX3N1YmplY3Q9bnVsbCxpLl9yZWZDb3VudD0wLGkuX2Nvbm5lY3Rpb249bnVsbCxNb2UodCkmJihpLmxpZnQ9dC5saWZ0KSxpfXJldHVybiBzKGUsIkNvbm5lY3RhYmxlT2JzZXJ2YWJsZSIpLGUucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuZ2V0U3ViamVjdCgpLnN1YnNjcmliZSh0KX0sZS5wcm90b3R5cGUuZ2V0U3ViamVjdD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX3N1YmplY3Q7cmV0dXJuKCF0fHx0LmlzU3RvcHBlZCkmJih0aGlzLl9zdWJqZWN0PXRoaXMuc3ViamVjdEZhY3RvcnkoKSksdGhpcy5fc3ViamVjdH0sZS5wcm90b3R5cGUuX3RlYXJkb3duPWZ1bmN0aW9uKCl7dGhpcy5fcmVmQ291bnQ9MDt2YXIgdD10aGlzLl9jb25uZWN0aW9uO3RoaXMuX3N1YmplY3Q9dGhpcy5fY29ubmVjdGlvbj1udWxsLHQ/LnVuc3Vic2NyaWJlKCl9LGUucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLHI9dGhpcy5fY29ubmVjdGlvbjtpZighcil7cj10aGlzLl9jb25uZWN0aW9uPW5ldyBqcjt2YXIgaT10aGlzLmdldFN1YmplY3QoKTtyLmFkZCh0aGlzLnNvdXJjZS5zdWJzY3JpYmUobGEoaSx2b2lkIDAsZnVuY3Rpb24oKXt0Ll90ZWFyZG93bigpLGkuY29tcGxldGUoKX0sZnVuY3Rpb24obyl7dC5fdGVhcmRvd24oKSxpLmVycm9yKG8pfSxmdW5jdGlvbigpe3JldHVybiB0Ll90ZWFyZG93bigpfSkpKSxyLmNsb3NlZCYmKHRoaXMuX2Nvbm5lY3Rpb249bnVsbCxyPWpyLkVNUFRZKX1yZXR1cm4gcn0sZS5wcm90b3R5cGUucmVmQ291bnQ9ZnVuY3Rpb24oKXtyZXR1cm4gclkoKSh0aGlzKX0sZX0pKEZ0KX0pO3ZhciBrb2UsUGF0PWYoKCk9Pntrb2U9e25vdzpzKGZ1bmN0aW9uKCl7cmV0dXJuKGtvZS5kZWxlZ2F0ZXx8cGVyZm9ybWFuY2UpLm5vdygpfSwibm93IiksZGVsZWdhdGU6dm9pZCAwfX0pO3ZhciB5bCxTb2U9ZigoKT0+e0JhKCk7bjIoKTt5bD17c2NoZWR1bGU6cyhmdW5jdGlvbihhKXt2YXIgZT1yZXF1ZXN0QW5pbWF0aW9uRnJhbWUsdD1jYW5jZWxBbmltYXRpb25GcmFtZSxyPXlsLmRlbGVnYXRlO3ImJihlPXIucmVxdWVzdEFuaW1hdGlvbkZyYW1lLHQ9ci5jYW5jZWxBbmltYXRpb25GcmFtZSk7dmFyIGk9ZShmdW5jdGlvbihvKXt0PXZvaWQgMCxhKG8pfSk7cmV0dXJuIG5ldyBqcihmdW5jdGlvbigpe3JldHVybiB0Py4oaSl9KX0sInNjaGVkdWxlIikscmVxdWVzdEFuaW1hdGlvbkZyYW1lOnMoZnVuY3Rpb24oKXtmb3IodmFyIGE9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspYVtlXT1hcmd1bWVudHNbZV07dmFyIHQ9eWwuZGVsZWdhdGU7cmV0dXJuKHQ/LnJlcXVlc3RBbmltYXRpb25GcmFtZXx8cmVxdWVzdEFuaW1hdGlvbkZyYW1lKS5hcHBseSh2b2lkIDAsd3MoW10sQXIoYSkpKX0sInJlcXVlc3RBbmltYXRpb25GcmFtZSIpLGNhbmNlbEFuaW1hdGlvbkZyYW1lOnMoZnVuY3Rpb24oKXtmb3IodmFyIGE9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspYVtlXT1hcmd1bWVudHNbZV07dmFyIHQ9eWwuZGVsZWdhdGU7cmV0dXJuKHQ/LmNhbmNlbEFuaW1hdGlvbkZyYW1lfHxjYW5jZWxBbmltYXRpb25GcmFtZSkuYXBwbHkodm9pZCAwLHdzKFtdLEFyKGEpKSl9LCJjYW5jZWxBbmltYXRpb25GcmFtZSIpLGRlbGVnYXRlOnZvaWQgMH19KTtmdW5jdGlvbiBCOGEoYSl7cmV0dXJuIGE/SWF0KGEpOkg4YX1mdW5jdGlvbiBJYXQoYSl7cmV0dXJuIG5ldyBGdChmdW5jdGlvbihlKXt2YXIgdD1hfHxrb2Uscj10Lm5vdygpLGk9MCxvPXMoZnVuY3Rpb24oKXtlLmNsb3NlZHx8KGk9eWwucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKG4pe2k9MDt2YXIgbD10Lm5vdygpO2UubmV4dCh7dGltZXN0YW1wOmE/bDpuLGVsYXBzZWQ6bC1yfSksbygpfSkpfSwicnVuIik7cmV0dXJuIG8oKSxmdW5jdGlvbigpe2kmJnlsLmNhbmNlbEFuaW1hdGlvbkZyYW1lKGkpfX0pfXZhciBIOGEsTmF0PWYoKCk9PntCaSgpO1BhdCgpO1NvZSgpO3MoQjhhLCJhbmltYXRpb25GcmFtZXMiKTtzKElhdCwiYW5pbWF0aW9uRnJhbWVzRmFjdG9yeSIpO0g4YT1JYXQoKX0pO3ZhciB6b2UsQ29lPWYoKCk9PnthMCgpO3pvZT12byhmdW5jdGlvbihhKXtyZXR1cm4gcyhmdW5jdGlvbigpe2EodGhpcyksdGhpcy5uYW1lPSJPYmplY3RVbnN1YnNjcmliZWRFcnJvciIsdGhpcy5tZXNzYWdlPSJvYmplY3QgdW5zdWJzY3JpYmVkIn0sIk9iamVjdFVuc3Vic2NyaWJlZEVycm9ySW1wbCIpfSl9KTt2YXIgbWksX29lLFg1PWYoKCk9PntCYSgpO0JpKCk7bjIoKTtDb2UoKTtXNSgpO3RZKCk7bWk9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSgpe3ZhciB0PWEuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gdC5jbG9zZWQ9ITEsdC5jdXJyZW50T2JzZXJ2ZXJzPW51bGwsdC5vYnNlcnZlcnM9W10sdC5pc1N0b3BwZWQ9ITEsdC5oYXNFcnJvcj0hMSx0LnRocm93bkVycm9yPW51bGwsdH1yZXR1cm4gcyhlLCJTdWJqZWN0IiksZS5wcm90b3R5cGUubGlmdD1mdW5jdGlvbih0KXt2YXIgcj1uZXcgX29lKHRoaXMsdGhpcyk7cmV0dXJuIHIub3BlcmF0b3I9dCxyfSxlLnByb3RvdHlwZS5fdGhyb3dJZkNsb3NlZD1mdW5jdGlvbigpe2lmKHRoaXMuY2xvc2VkKXRocm93IG5ldyB6b2V9LGUucHJvdG90eXBlLm5leHQ9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcztLNShmdW5jdGlvbigpe3ZhciBpLG87aWYoci5fdGhyb3dJZkNsb3NlZCgpLCFyLmlzU3RvcHBlZCl7ci5jdXJyZW50T2JzZXJ2ZXJzfHwoci5jdXJyZW50T2JzZXJ2ZXJzPUFycmF5LmZyb20oci5vYnNlcnZlcnMpKTt0cnl7Zm9yKHZhciBuPWhpKHIuY3VycmVudE9ic2VydmVycyksbD1uLm5leHQoKTshbC5kb25lO2w9bi5uZXh0KCkpe3ZhciBkPWwudmFsdWU7ZC5uZXh0KHQpfX1jYXRjaChjKXtpPXtlcnJvcjpjfX1maW5hbGx5e3RyeXtsJiYhbC5kb25lJiYobz1uLnJldHVybikmJm8uY2FsbChuKX1maW5hbGx5e2lmKGkpdGhyb3cgaS5lcnJvcn19fX0pfSxlLnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbih0KXt2YXIgcj10aGlzO0s1KGZ1bmN0aW9uKCl7aWYoci5fdGhyb3dJZkNsb3NlZCgpLCFyLmlzU3RvcHBlZCl7ci5oYXNFcnJvcj1yLmlzU3RvcHBlZD0hMCxyLnRocm93bkVycm9yPXQ7Zm9yKHZhciBpPXIub2JzZXJ2ZXJzO2kubGVuZ3RoOylpLnNoaWZ0KCkuZXJyb3IodCl9fSl9LGUucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztLNShmdW5jdGlvbigpe2lmKHQuX3Rocm93SWZDbG9zZWQoKSwhdC5pc1N0b3BwZWQpe3QuaXNTdG9wcGVkPSEwO2Zvcih2YXIgcj10Lm9ic2VydmVycztyLmxlbmd0aDspci5zaGlmdCgpLmNvbXBsZXRlKCl9fSl9LGUucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7dGhpcy5pc1N0b3BwZWQ9dGhpcy5jbG9zZWQ9ITAsdGhpcy5vYnNlcnZlcnM9dGhpcy5jdXJyZW50T2JzZXJ2ZXJzPW51bGx9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwib2JzZXJ2ZWQiLHtnZXQ6cyhmdW5jdGlvbigpe3ZhciB0O3JldHVybigodD10aGlzLm9ic2VydmVycyk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0Lmxlbmd0aCk+MH0sImdldCIpLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuX3RyeVN1YnNjcmliZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fdGhyb3dJZkNsb3NlZCgpLGEucHJvdG90eXBlLl90cnlTdWJzY3JpYmUuY2FsbCh0aGlzLHQpfSxlLnByb3RvdHlwZS5fc3Vic2NyaWJlPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl90aHJvd0lmQ2xvc2VkKCksdGhpcy5fY2hlY2tGaW5hbGl6ZWRTdGF0dXNlcyh0KSx0aGlzLl9pbm5lclN1YnNjcmliZSh0KX0sZS5wcm90b3R5cGUuX2lubmVyU3Vic2NyaWJlPWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMsaT10aGlzLG89aS5oYXNFcnJvcixuPWkuaXNTdG9wcGVkLGw9aS5vYnNlcnZlcnM7cmV0dXJuIG98fG4/aG9lOih0aGlzLmN1cnJlbnRPYnNlcnZlcnM9bnVsbCxsLnB1c2godCksbmV3IGpyKGZ1bmN0aW9uKCl7ci5jdXJyZW50T2JzZXJ2ZXJzPW51bGwsSm4obCx0KX0pKX0sZS5wcm90b3R5cGUuX2NoZWNrRmluYWxpemVkU3RhdHVzZXM9ZnVuY3Rpb24odCl7dmFyIHI9dGhpcyxpPXIuaGFzRXJyb3Isbz1yLnRocm93bkVycm9yLG49ci5pc1N0b3BwZWQ7aT90LmVycm9yKG8pOm4mJnQuY29tcGxldGUoKX0sZS5wcm90b3R5cGUuYXNPYnNlcnZhYmxlPWZ1bmN0aW9uKCl7dmFyIHQ9bmV3IEZ0O3JldHVybiB0LnNvdXJjZT10aGlzLHR9LGUuY3JlYXRlPWZ1bmN0aW9uKHQscil7cmV0dXJuIG5ldyBfb2UodCxyKX0sZX0pKEZ0KSxfb2U9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSh0LHIpe3ZhciBpPWEuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gaS5kZXN0aW5hdGlvbj10LGkuc291cmNlPXIsaX1yZXR1cm4gcyhlLCJBbm9ueW1vdXNTdWJqZWN0IiksZS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbih0KXt2YXIgcixpOyhpPShyPXRoaXMuZGVzdGluYXRpb24pPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6ci5uZXh0KT09PW51bGx8fGk9PT12b2lkIDB8fGkuY2FsbChyLHQpfSxlLnByb3RvdHlwZS5lcnJvcj1mdW5jdGlvbih0KXt2YXIgcixpOyhpPShyPXRoaXMuZGVzdGluYXRpb24pPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6ci5lcnJvcik9PT1udWxsfHxpPT09dm9pZCAwfHxpLmNhbGwocix0KX0sZS5wcm90b3R5cGUuY29tcGxldGU9ZnVuY3Rpb24oKXt2YXIgdCxyOyhyPSh0PXRoaXMuZGVzdGluYXRpb24pPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5jb21wbGV0ZSk9PT1udWxsfHxyPT09dm9pZCAwfHxyLmNhbGwodCl9LGUucHJvdG90eXBlLl9zdWJzY3JpYmU9ZnVuY3Rpb24odCl7dmFyIHIsaTtyZXR1cm4oaT0ocj10aGlzLnNvdXJjZSk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLnN1YnNjcmliZSh0KSkhPT1udWxsJiZpIT09dm9pZCAwP2k6aG9lfSxlfSkobWkpfSk7dmFyIFE1LFJhdD1mKCgpPT57QmEoKTtYNSgpO1E1PShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUodCl7dmFyIHI9YS5jYWxsKHRoaXMpfHx0aGlzO3JldHVybiByLl92YWx1ZT10LHJ9cmV0dXJuIHMoZSwiQmVoYXZpb3JTdWJqZWN0IiksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUucHJvdG90eXBlLCJ2YWx1ZSIse2dldDpzKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0VmFsdWUoKX0sImdldCIpLGVudW1lcmFibGU6ITEsY29uZmlndXJhYmxlOiEwfSksZS5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbih0KXt2YXIgcj1hLnByb3RvdHlwZS5fc3Vic2NyaWJlLmNhbGwodGhpcyx0KTtyZXR1cm4hci5jbG9zZWQmJnQubmV4dCh0aGlzLl92YWx1ZSkscn0sZS5wcm90b3R5cGUuZ2V0VmFsdWU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLHI9dC5oYXNFcnJvcixpPXQudGhyb3duRXJyb3Isbz10Ll92YWx1ZTtpZihyKXRocm93IGk7cmV0dXJuIHRoaXMuX3Rocm93SWZDbG9zZWQoKSxvfSxlLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKHQpe2EucHJvdG90eXBlLm5leHQuY2FsbCh0aGlzLHRoaXMuX3ZhbHVlPXQpfSxlfSkobWkpfSk7dmFyIFc3LFRvZT1mKCgpPT57Vzc9e25vdzpzKGZ1bmN0aW9uKCl7cmV0dXJuKFc3LmRlbGVnYXRlfHxEYXRlKS5ub3coKX0sIm5vdyIpLGRlbGVnYXRlOnZvaWQgMH19KTt2YXIgSjUsTG9lPWYoKCk9PntCYSgpO1g1KCk7VG9lKCk7SjU9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSh0LHIsaSl7dD09PXZvaWQgMCYmKHQ9MS8wKSxyPT09dm9pZCAwJiYocj0xLzApLGk9PT12b2lkIDAmJihpPVc3KTt2YXIgbz1hLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG8uX2J1ZmZlclNpemU9dCxvLl93aW5kb3dUaW1lPXIsby5fdGltZXN0YW1wUHJvdmlkZXI9aSxvLl9idWZmZXI9W10sby5faW5maW5pdGVUaW1lV2luZG93PSEwLG8uX2luZmluaXRlVGltZVdpbmRvdz1yPT09MS8wLG8uX2J1ZmZlclNpemU9TWF0aC5tYXgoMSx0KSxvLl93aW5kb3dUaW1lPU1hdGgubWF4KDEsciksb31yZXR1cm4gcyhlLCJSZXBsYXlTdWJqZWN0IiksZS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbih0KXt2YXIgcj10aGlzLGk9ci5pc1N0b3BwZWQsbz1yLl9idWZmZXIsbj1yLl9pbmZpbml0ZVRpbWVXaW5kb3csbD1yLl90aW1lc3RhbXBQcm92aWRlcixkPXIuX3dpbmRvd1RpbWU7aXx8KG8ucHVzaCh0KSwhbiYmby5wdXNoKGwubm93KCkrZCkpLHRoaXMuX3RyaW1CdWZmZXIoKSxhLnByb3RvdHlwZS5uZXh0LmNhbGwodGhpcyx0KX0sZS5wcm90b3R5cGUuX3N1YnNjcmliZT1mdW5jdGlvbih0KXt0aGlzLl90aHJvd0lmQ2xvc2VkKCksdGhpcy5fdHJpbUJ1ZmZlcigpO2Zvcih2YXIgcj10aGlzLl9pbm5lclN1YnNjcmliZSh0KSxpPXRoaXMsbz1pLl9pbmZpbml0ZVRpbWVXaW5kb3csbj1pLl9idWZmZXIsbD1uLnNsaWNlKCksZD0wO2Q8bC5sZW5ndGgmJiF0LmNsb3NlZDtkKz1vPzE6Mil0Lm5leHQobFtkXSk7cmV0dXJuIHRoaXMuX2NoZWNrRmluYWxpemVkU3RhdHVzZXModCkscn0sZS5wcm90b3R5cGUuX3RyaW1CdWZmZXI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLHI9dC5fYnVmZmVyU2l6ZSxpPXQuX3RpbWVzdGFtcFByb3ZpZGVyLG89dC5fYnVmZmVyLG49dC5faW5maW5pdGVUaW1lV2luZG93LGw9KG4/MToyKSpyO2lmKHI8MS8wJiZsPG8ubGVuZ3RoJiZvLnNwbGljZSgwLG8ubGVuZ3RoLWwpLCFuKXtmb3IodmFyIGQ9aS5ub3coKSxjPTAscD0xO3A8by5sZW5ndGgmJm9bcF08PWQ7cCs9MiljPXA7YyYmby5zcGxpY2UoMCxjKzEpfX0sZX0pKG1pKX0pO3ZhciBPYXQsRmF0PWYoKCk9PntCYSgpO1g1KCk7T2F0PShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUoKXt2YXIgdD1hIT09bnVsbCYmYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXM7cmV0dXJuIHQuX3ZhbHVlPW51bGwsdC5faGFzVmFsdWU9ITEsdC5faXNDb21wbGV0ZT0hMSx0fXJldHVybiBzKGUsIkFzeW5jU3ViamVjdCIpLGUucHJvdG90eXBlLl9jaGVja0ZpbmFsaXplZFN0YXR1c2VzPWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMsaT1yLmhhc0Vycm9yLG89ci5faGFzVmFsdWUsbj1yLl92YWx1ZSxsPXIudGhyb3duRXJyb3IsZD1yLmlzU3RvcHBlZCxjPXIuX2lzQ29tcGxldGU7aT90LmVycm9yKGwpOihkfHxjKSYmKG8mJnQubmV4dChuKSx0LmNvbXBsZXRlKCkpfSxlLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKHQpe3RoaXMuaXNTdG9wcGVkfHwodGhpcy5fdmFsdWU9dCx0aGlzLl9oYXNWYWx1ZT0hMCl9LGUucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxyPXQuX2hhc1ZhbHVlLGk9dC5fdmFsdWUsbz10Ll9pc0NvbXBsZXRlO298fCh0aGlzLl9pc0NvbXBsZXRlPSEwLHImJmEucHJvdG90eXBlLm5leHQuY2FsbCh0aGlzLGkpLGEucHJvdG90eXBlLmNvbXBsZXRlLmNhbGwodGhpcykpfSxlfSkobWkpfSk7dmFyICRvZSxCYXQ9ZigoKT0+e0JhKCk7bjIoKTskb2U9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSh0LHIpe3JldHVybiBhLmNhbGwodGhpcyl8fHRoaXN9cmV0dXJuIHMoZSwiQWN0aW9uIiksZS5wcm90b3R5cGUuc2NoZWR1bGU9ZnVuY3Rpb24odCxyKXtyZXR1cm4gcj09PXZvaWQgMCYmKHI9MCksdGhpc30sZX0pKGpyKX0pO3ZhciBHNyxIYXQ9ZigoKT0+e0JhKCk7Rzc9e3NldEludGVydmFsOnMoZnVuY3Rpb24oYSxlKXtmb3IodmFyIHQ9W10scj0yO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspdFtyLTJdPWFyZ3VtZW50c1tyXTt2YXIgaT1HNy5kZWxlZ2F0ZTtyZXR1cm4gaT8uc2V0SW50ZXJ2YWw/aS5zZXRJbnRlcnZhbC5hcHBseShpLHdzKFthLGVdLEFyKHQpKSk6c2V0SW50ZXJ2YWwuYXBwbHkodm9pZCAwLHdzKFthLGVdLEFyKHQpKSl9LCJzZXRJbnRlcnZhbCIpLGNsZWFySW50ZXJ2YWw6cyhmdW5jdGlvbihhKXt2YXIgZT1HNy5kZWxlZ2F0ZTtyZXR1cm4oZT8uY2xlYXJJbnRlcnZhbHx8Y2xlYXJJbnRlcnZhbCkoYSl9LCJjbGVhckludGVydmFsIiksZGVsZWdhdGU6dm9pZCAwfX0pO3ZhciBlMSxlaD1mKCgpPT57QmEoKTtCYXQoKTtIYXQoKTtXNSgpO2UxPShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUodCxyKXt2YXIgaT1hLmNhbGwodGhpcyx0LHIpfHx0aGlzO3JldHVybiBpLnNjaGVkdWxlcj10LGkud29yaz1yLGkucGVuZGluZz0hMSxpfXJldHVybiBzKGUsIkFzeW5jQWN0aW9uIiksZS5wcm90b3R5cGUuc2NoZWR1bGU9ZnVuY3Rpb24odCxyKXt2YXIgaTtpZihyPT09dm9pZCAwJiYocj0wKSx0aGlzLmNsb3NlZClyZXR1cm4gdGhpczt0aGlzLnN0YXRlPXQ7dmFyIG89dGhpcy5pZCxuPXRoaXMuc2NoZWR1bGVyO3JldHVybiBvIT1udWxsJiYodGhpcy5pZD10aGlzLnJlY3ljbGVBc3luY0lkKG4sbyxyKSksdGhpcy5wZW5kaW5nPSEwLHRoaXMuZGVsYXk9cix0aGlzLmlkPShpPXRoaXMuaWQpIT09bnVsbCYmaSE9PXZvaWQgMD9pOnRoaXMucmVxdWVzdEFzeW5jSWQobix0aGlzLmlkLHIpLHRoaXN9LGUucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKHQscixpKXtyZXR1cm4gaT09PXZvaWQgMCYmKGk9MCksRzcuc2V0SW50ZXJ2YWwodC5mbHVzaC5iaW5kKHQsdGhpcyksaSl9LGUucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkPWZ1bmN0aW9uKHQscixpKXtpZihpPT09dm9pZCAwJiYoaT0wKSxpIT1udWxsJiZ0aGlzLmRlbGF5PT09aSYmdGhpcy5wZW5kaW5nPT09ITEpcmV0dXJuIHI7ciE9bnVsbCYmRzcuY2xlYXJJbnRlcnZhbChyKX0sZS5wcm90b3R5cGUuZXhlY3V0ZT1mdW5jdGlvbih0LHIpe2lmKHRoaXMuY2xvc2VkKXJldHVybiBuZXcgRXJyb3IoImV4ZWN1dGluZyBhIGNhbmNlbGxlZCBhY3Rpb24iKTt0aGlzLnBlbmRpbmc9ITE7dmFyIGk9dGhpcy5fZXhlY3V0ZSh0LHIpO2lmKGkpcmV0dXJuIGk7dGhpcy5wZW5kaW5nPT09ITEmJnRoaXMuaWQhPW51bGwmJih0aGlzLmlkPXRoaXMucmVjeWNsZUFzeW5jSWQodGhpcy5zY2hlZHVsZXIsdGhpcy5pZCxudWxsKSl9LGUucHJvdG90eXBlLl9leGVjdXRlPWZ1bmN0aW9uKHQscil7dmFyIGk9ITEsbzt0cnl7dGhpcy53b3JrKHQpfWNhdGNoKG4pe2k9ITAsbz1ufHxuZXcgRXJyb3IoIlNjaGVkdWxlZCBhY3Rpb24gdGhyZXcgZmFsc3kgZXJyb3IiKX1pZihpKXJldHVybiB0aGlzLnVuc3Vic2NyaWJlKCksb30sZS5wcm90b3R5cGUudW5zdWJzY3JpYmU9ZnVuY3Rpb24oKXtpZighdGhpcy5jbG9zZWQpe3ZhciB0PXRoaXMscj10LmlkLGk9dC5zY2hlZHVsZXIsbz1pLmFjdGlvbnM7dGhpcy53b3JrPXRoaXMuc3RhdGU9dGhpcy5zY2hlZHVsZXI9bnVsbCx0aGlzLnBlbmRpbmc9ITEsSm4obyx0aGlzKSxyIT1udWxsJiYodGhpcy5pZD10aGlzLnJlY3ljbGVBc3luY0lkKGkscixudWxsKSksdGhpcy5kZWxheT1udWxsLGEucHJvdG90eXBlLnVuc3Vic2NyaWJlLmNhbGwodGhpcyl9fSxlfSkoJG9lKX0pO2Z1bmN0aW9uIHFhdChhKXtyZXR1cm4gYSBpbiBpWT8oZGVsZXRlIGlZW2FdLCEwKTohMX12YXIgcThhLERvZSxpWSxBb2UsQ3FhLFZhdD1mKCgpPT57cThhPTEsaVk9e307cyhxYXQsImZpbmRBbmRDbGVhckhhbmRsZSIpO0FvZT17c2V0SW1tZWRpYXRlOnMoZnVuY3Rpb24oYSl7dmFyIGU9cThhKys7cmV0dXJuIGlZW2VdPSEwLERvZXx8KERvZT1Qcm9taXNlLnJlc29sdmUoKSksRG9lLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gcWF0KGUpJiZhKCl9KSxlfSwic2V0SW1tZWRpYXRlIiksY2xlYXJJbW1lZGlhdGU6cyhmdW5jdGlvbihhKXtxYXQoYSl9LCJjbGVhckltbWVkaWF0ZSIpfSxDcWE9e3BlbmRpbmc6cyhmdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyhpWSkubGVuZ3RofSwicGVuZGluZyIpfX0pO3ZhciBWOGEsajhhLFk3LGphdD1mKCgpPT57QmEoKTtWYXQoKTtWOGE9QW9lLnNldEltbWVkaWF0ZSxqOGE9QW9lLmNsZWFySW1tZWRpYXRlLFk3PXtzZXRJbW1lZGlhdGU6cyhmdW5jdGlvbigpe2Zvcih2YXIgYT1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKylhW2VdPWFyZ3VtZW50c1tlXTt2YXIgdD1ZNy5kZWxlZ2F0ZTtyZXR1cm4odD8uc2V0SW1tZWRpYXRlfHxWOGEpLmFwcGx5KHZvaWQgMCx3cyhbXSxBcihhKSkpfSwic2V0SW1tZWRpYXRlIiksY2xlYXJJbW1lZGlhdGU6cyhmdW5jdGlvbihhKXt2YXIgZT1ZNy5kZWxlZ2F0ZTtyZXR1cm4oZT8uY2xlYXJJbW1lZGlhdGV8fGo4YSkoYSl9LCJjbGVhckltbWVkaWF0ZSIpLGRlbGVnYXRlOnZvaWQgMH19KTt2YXIgRW9lLFVhdD1mKCgpPT57QmEoKTtlaCgpO2phdCgpO0VvZT0oZnVuY3Rpb24oYSl7bmEoZSxhKTtmdW5jdGlvbiBlKHQscil7dmFyIGk9YS5jYWxsKHRoaXMsdCxyKXx8dGhpcztyZXR1cm4gaS5zY2hlZHVsZXI9dCxpLndvcms9cixpfXJldHVybiBzKGUsIkFzYXBBY3Rpb24iKSxlLnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZD1mdW5jdGlvbih0LHIsaSl7cmV0dXJuIGk9PT12b2lkIDAmJihpPTApLGkhPT1udWxsJiZpPjA/YS5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQuY2FsbCh0aGlzLHQscixpKToodC5hY3Rpb25zLnB1c2godGhpcyksdC5fc2NoZWR1bGVkfHwodC5fc2NoZWR1bGVkPVk3LnNldEltbWVkaWF0ZSh0LmZsdXNoLmJpbmQodCx2b2lkIDApKSkpfSxlLnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZD1mdW5jdGlvbih0LHIsaSl7dmFyIG87aWYoaT09PXZvaWQgMCYmKGk9MCksaSE9bnVsbD9pPjA6dGhpcy5kZWxheT4wKXJldHVybiBhLnByb3RvdHlwZS5yZWN5Y2xlQXN5bmNJZC5jYWxsKHRoaXMsdCxyLGkpO3ZhciBuPXQuYWN0aW9ucztyIT1udWxsJiYoKG89bltuLmxlbmd0aC0xXSk9PT1udWxsfHxvPT09dm9pZCAwP3ZvaWQgMDpvLmlkKSE9PXImJihZNy5jbGVhckltbWVkaWF0ZShyKSx0Ll9zY2hlZHVsZWQ9PT1yJiYodC5fc2NoZWR1bGVkPXZvaWQgMCkpfSxlfSkoZTEpfSk7dmFyIEs3LFBvZT1mKCgpPT57VG9lKCk7Szc9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShlLHQpe3Q9PT12b2lkIDAmJih0PWEubm93KSx0aGlzLnNjaGVkdWxlckFjdGlvbkN0b3I9ZSx0aGlzLm5vdz10fXJldHVybiBzKGEsIlNjaGVkdWxlciIpLGEucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gdD09PXZvaWQgMCYmKHQ9MCksbmV3IHRoaXMuc2NoZWR1bGVyQWN0aW9uQ3Rvcih0aGlzLGUpLnNjaGVkdWxlKHIsdCl9LGEubm93PVc3Lm5vdyxhfSkoKX0pO3ZhciB0MSx0aD1mKCgpPT57QmEoKTtQb2UoKTt0MT0oZnVuY3Rpb24oYSl7bmEoZSxhKTtmdW5jdGlvbiBlKHQscil7cj09PXZvaWQgMCYmKHI9Szcubm93KTt2YXIgaT1hLmNhbGwodGhpcyx0LHIpfHx0aGlzO3JldHVybiBpLmFjdGlvbnM9W10saS5fYWN0aXZlPSExLGl9cmV0dXJuIHMoZSwiQXN5bmNTY2hlZHVsZXIiKSxlLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbih0KXt2YXIgcj10aGlzLmFjdGlvbnM7aWYodGhpcy5fYWN0aXZlKXtyLnB1c2godCk7cmV0dXJufXZhciBpO3RoaXMuX2FjdGl2ZT0hMDtkbyBpZihpPXQuZXhlY3V0ZSh0LnN0YXRlLHQuZGVsYXkpKWJyZWFrO3doaWxlKHQ9ci5zaGlmdCgpKTtpZih0aGlzLl9hY3RpdmU9ITEsaSl7Zm9yKDt0PXIuc2hpZnQoKTspdC51bnN1YnNjcmliZSgpO3Rocm93IGl9fSxlfSkoSzcpfSk7dmFyIElvZSxXYXQ9ZigoKT0+e0JhKCk7dGgoKTtJb2U9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSgpe3JldHVybiBhIT09bnVsbCYmYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIHMoZSwiQXNhcFNjaGVkdWxlciIpLGUucHJvdG90eXBlLmZsdXNoPWZ1bmN0aW9uKHQpe3RoaXMuX2FjdGl2ZT0hMDt2YXIgcj10aGlzLl9zY2hlZHVsZWQ7dGhpcy5fc2NoZWR1bGVkPXZvaWQgMDt2YXIgaT10aGlzLmFjdGlvbnMsbzt0PXR8fGkuc2hpZnQoKTtkbyBpZihvPXQuZXhlY3V0ZSh0LnN0YXRlLHQuZGVsYXkpKWJyZWFrO3doaWxlKCh0PWlbMF0pJiZ0LmlkPT09ciYmaS5zaGlmdCgpKTtpZih0aGlzLl9hY3RpdmU9ITEsbyl7Zm9yKDsodD1pWzBdKSYmdC5pZD09PXImJmkuc2hpZnQoKTspdC51bnN1YnNjcmliZSgpO3Rocm93IG99fSxlfSkodDEpfSk7dmFyIEdhdCxVOGEsWWF0PWYoKCk9PntVYXQoKTtXYXQoKTtHYXQ9bmV3IElvZShFb2UpLFU4YT1HYXR9KTt2YXIgeG8sTm9lLHdsPWYoKCk9PntlaCgpO3RoKCk7eG89bmV3IHQxKGUxKSxOb2U9eG99KTt2YXIgUm9lLEthdD1mKCgpPT57QmEoKTtlaCgpO1JvZT0oZnVuY3Rpb24oYSl7bmEoZSxhKTtmdW5jdGlvbiBlKHQscil7dmFyIGk9YS5jYWxsKHRoaXMsdCxyKXx8dGhpcztyZXR1cm4gaS5zY2hlZHVsZXI9dCxpLndvcms9cixpfXJldHVybiBzKGUsIlF1ZXVlQWN0aW9uIiksZS5wcm90b3R5cGUuc2NoZWR1bGU9ZnVuY3Rpb24odCxyKXtyZXR1cm4gcj09PXZvaWQgMCYmKHI9MCkscj4wP2EucHJvdG90eXBlLnNjaGVkdWxlLmNhbGwodGhpcyx0LHIpOih0aGlzLmRlbGF5PXIsdGhpcy5zdGF0ZT10LHRoaXMuc2NoZWR1bGVyLmZsdXNoKHRoaXMpLHRoaXMpfSxlLnByb3RvdHlwZS5leGVjdXRlPWZ1bmN0aW9uKHQscil7cmV0dXJuIHI+MHx8dGhpcy5jbG9zZWQ/YS5wcm90b3R5cGUuZXhlY3V0ZS5jYWxsKHRoaXMsdCxyKTp0aGlzLl9leGVjdXRlKHQscil9LGUucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKHQscixpKXtyZXR1cm4gaT09PXZvaWQgMCYmKGk9MCksaSE9bnVsbCYmaT4wfHxpPT1udWxsJiZ0aGlzLmRlbGF5PjA/YS5wcm90b3R5cGUucmVxdWVzdEFzeW5jSWQuY2FsbCh0aGlzLHQscixpKToodC5mbHVzaCh0aGlzKSwwKX0sZX0pKGUxKX0pO3ZhciBPb2UsWmF0PWYoKCk9PntCYSgpO3RoKCk7T29lPShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUoKXtyZXR1cm4gYSE9PW51bGwmJmEuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiBzKGUsIlF1ZXVlU2NoZWR1bGVyIiksZX0pKHQxKX0pO3ZhciBYYXQsVzhhLFFhdD1mKCgpPT57S2F0KCk7WmF0KCk7WGF0PW5ldyBPb2UoUm9lKSxXOGE9WGF0fSk7dmFyIEZvZSxKYXQ9ZigoKT0+e0JhKCk7ZWgoKTtTb2UoKTtGb2U9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSh0LHIpe3ZhciBpPWEuY2FsbCh0aGlzLHQscil8fHRoaXM7cmV0dXJuIGkuc2NoZWR1bGVyPXQsaS53b3JrPXIsaX1yZXR1cm4gcyhlLCJBbmltYXRpb25GcmFtZUFjdGlvbiIpLGUucHJvdG90eXBlLnJlcXVlc3RBc3luY0lkPWZ1bmN0aW9uKHQscixpKXtyZXR1cm4gaT09PXZvaWQgMCYmKGk9MCksaSE9PW51bGwmJmk+MD9hLnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZC5jYWxsKHRoaXMsdCxyLGkpOih0LmFjdGlvbnMucHVzaCh0aGlzKSx0Ll9zY2hlZHVsZWR8fCh0Ll9zY2hlZHVsZWQ9eWwucmVxdWVzdEFuaW1hdGlvbkZyYW1lKGZ1bmN0aW9uKCl7cmV0dXJuIHQuZmx1c2godm9pZCAwKX0pKSl9LGUucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkPWZ1bmN0aW9uKHQscixpKXt2YXIgbztpZihpPT09dm9pZCAwJiYoaT0wKSxpIT1udWxsP2k+MDp0aGlzLmRlbGF5PjApcmV0dXJuIGEucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkLmNhbGwodGhpcyx0LHIsaSk7dmFyIG49dC5hY3Rpb25zO3IhPW51bGwmJnI9PT10Ll9zY2hlZHVsZWQmJigobz1uW24ubGVuZ3RoLTFdKT09PW51bGx8fG89PT12b2lkIDA/dm9pZCAwOm8uaWQpIT09ciYmKHlsLmNhbmNlbEFuaW1hdGlvbkZyYW1lKHIpLHQuX3NjaGVkdWxlZD12b2lkIDApfSxlfSkoZTEpfSk7dmFyIEJvZSxlcnQ9ZigoKT0+e0JhKCk7dGgoKTtCb2U9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSgpe3JldHVybiBhIT09bnVsbCYmYS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXN9cmV0dXJuIHMoZSwiQW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIiKSxlLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbih0KXt0aGlzLl9hY3RpdmU9ITA7dmFyIHI7dD9yPXQuaWQ6KHI9dGhpcy5fc2NoZWR1bGVkLHRoaXMuX3NjaGVkdWxlZD12b2lkIDApO3ZhciBpPXRoaXMuYWN0aW9ucyxvO3Q9dHx8aS5zaGlmdCgpO2RvIGlmKG89dC5leGVjdXRlKHQuc3RhdGUsdC5kZWxheSkpYnJlYWs7d2hpbGUoKHQ9aVswXSkmJnQuaWQ9PT1yJiZpLnNoaWZ0KCkpO2lmKHRoaXMuX2FjdGl2ZT0hMSxvKXtmb3IoOyh0PWlbMF0pJiZ0LmlkPT09ciYmaS5zaGlmdCgpOyl0LnVuc3Vic2NyaWJlKCk7dGhyb3cgb319LGV9KSh0MSl9KTt2YXIgdHJ0LEc4YSxhcnQ9ZigoKT0+e0phdCgpO2VydCgpO3RydD1uZXcgQm9lKEZvZSksRzhhPXRydH0pO3ZhciBycnQsSG9lLHNydD1mKCgpPT57QmEoKTtlaCgpO24yKCk7dGgoKTtycnQ9KGZ1bmN0aW9uKGEpe25hKGUsYSk7ZnVuY3Rpb24gZSh0LHIpe3Q9PT12b2lkIDAmJih0PUhvZSkscj09PXZvaWQgMCYmKHI9MS8wKTt2YXIgaT1hLmNhbGwodGhpcyx0LGZ1bmN0aW9uKCl7cmV0dXJuIGkuZnJhbWV9KXx8dGhpcztyZXR1cm4gaS5tYXhGcmFtZXM9cixpLmZyYW1lPTAsaS5pbmRleD0tMSxpfXJldHVybiBzKGUsIlZpcnR1YWxUaW1lU2NoZWR1bGVyIiksZS5wcm90b3R5cGUuZmx1c2g9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcyxyPXQuYWN0aW9ucyxpPXQubWF4RnJhbWVzLG8sbjsobj1yWzBdKSYmbi5kZWxheTw9aSYmKHIuc2hpZnQoKSx0aGlzLmZyYW1lPW4uZGVsYXksIShvPW4uZXhlY3V0ZShuLnN0YXRlLG4uZGVsYXkpKSk7KTtpZihvKXtmb3IoO249ci5zaGlmdCgpOyluLnVuc3Vic2NyaWJlKCk7dGhyb3cgb319LGUuZnJhbWVUaW1lRmFjdG9yPTEwLGV9KSh0MSksSG9lPShmdW5jdGlvbihhKXtuYShlLGEpO2Z1bmN0aW9uIGUodCxyLGkpe2k9PT12b2lkIDAmJihpPXQuaW5kZXgrPTEpO3ZhciBvPWEuY2FsbCh0aGlzLHQscil8fHRoaXM7cmV0dXJuIG8uc2NoZWR1bGVyPXQsby53b3JrPXIsby5pbmRleD1pLG8uYWN0aXZlPSEwLG8uaW5kZXg9dC5pbmRleD1pLG99cmV0dXJuIHMoZSwiVmlydHVhbEFjdGlvbiIpLGUucHJvdG90eXBlLnNjaGVkdWxlPWZ1bmN0aW9uKHQscil7aWYocj09PXZvaWQgMCYmKHI9MCksTnVtYmVyLmlzRmluaXRlKHIpKXtpZighdGhpcy5pZClyZXR1cm4gYS5wcm90b3R5cGUuc2NoZWR1bGUuY2FsbCh0aGlzLHQscik7dGhpcy5hY3RpdmU9ITE7dmFyIGk9bmV3IGUodGhpcy5zY2hlZHVsZXIsdGhpcy53b3JrKTtyZXR1cm4gdGhpcy5hZGQoaSksaS5zY2hlZHVsZSh0LHIpfWVsc2UgcmV0dXJuIGpyLkVNUFRZfSxlLnByb3RvdHlwZS5yZXF1ZXN0QXN5bmNJZD1mdW5jdGlvbih0LHIsaSl7aT09PXZvaWQgMCYmKGk9MCksdGhpcy5kZWxheT10LmZyYW1lK2k7dmFyIG89dC5hY3Rpb25zO3JldHVybiBvLnB1c2godGhpcyksby5zb3J0KGUuc29ydEFjdGlvbnMpLDF9LGUucHJvdG90eXBlLnJlY3ljbGVBc3luY0lkPWZ1bmN0aW9uKHQscixpKXtpPT09dm9pZCAwJiYoaT0wKX0sZS5wcm90b3R5cGUuX2V4ZWN1dGU9ZnVuY3Rpb24odCxyKXtpZih0aGlzLmFjdGl2ZT09PSEwKXJldHVybiBhLnByb3RvdHlwZS5fZXhlY3V0ZS5jYWxsKHRoaXMsdCxyKX0sZS5zb3J0QWN0aW9ucz1mdW5jdGlvbih0LHIpe3JldHVybiB0LmRlbGF5PT09ci5kZWxheT90LmluZGV4PT09ci5pbmRleD8wOnQuaW5kZXg+ci5pbmRleD8xOi0xOnQuZGVsYXk+ci5kZWxheT8xOi0xfSxlfSkoZTEpfSk7ZnVuY3Rpb24gWThhKGEpe3JldHVybiBhP0s4YShhKTpvWX1mdW5jdGlvbiBLOGEoYSl7cmV0dXJuIG5ldyBGdChmdW5jdGlvbihlKXtyZXR1cm4gYS5zY2hlZHVsZShmdW5jdGlvbigpe3JldHVybiBlLmNvbXBsZXRlKCl9KX0pfXZhciBvWSxuWT1mKCgpPT57QmkoKTtvWT1uZXcgRnQoZnVuY3Rpb24oYSl7cmV0dXJuIGEuY29tcGxldGUoKX0pO3MoWThhLCJlbXB0eSIpO3MoSzhhLCJlbXB0eVNjaGVkdWxlZCIpfSk7ZnVuY3Rpb24gbFkoYSl7cmV0dXJuIGEmJk90KGEuc2NoZWR1bGUpfXZhciBxb2U9ZigoKT0+e1JzKCk7cyhsWSwiaXNTY2hlZHVsZXIiKX0pO2Z1bmN0aW9uIFZvZShhKXtyZXR1cm4gYVthLmxlbmd0aC0xXX1mdW5jdGlvbiBpcnQoYSl7cmV0dXJuIE90KFZvZShhKSk/YS5wb3AoKTp2b2lkIDB9ZnVuY3Rpb24gYzIoYSl7cmV0dXJuIGxZKFZvZShhKSk/YS5wb3AoKTp2b2lkIDB9ZnVuY3Rpb24gT1ZhKGEsZSl7cmV0dXJuIHR5cGVvZiBWb2UoYSk9PSJudW1iZXIiP2EucG9wKCk6ZX12YXIgYWg9ZigoKT0+e1JzKCk7cW9lKCk7cyhWb2UsImxhc3QiKTtzKGlydCwicG9wUmVzdWx0U2VsZWN0b3IiKTtzKGMyLCJwb3BTY2hlZHVsZXIiKTtzKE9WYSwicG9wTnVtYmVyIil9KTt2YXIgcmgsY1k9ZigoKT0+e3JoPXMoKGZ1bmN0aW9uKGEpe3JldHVybiBhJiZ0eXBlb2YgYS5sZW5ndGg9PSJudW1iZXIiJiZ0eXBlb2YgYSE9ImZ1bmN0aW9uIn0pLCJpc0FycmF5TGlrZSIpfSk7ZnVuY3Rpb24gZFkoYSl7cmV0dXJuIE90KGE/LnRoZW4pfXZhciBqb2U9ZigoKT0+e1JzKCk7cyhkWSwiaXNQcm9taXNlIil9KTtmdW5jdGlvbiB1WShhKXtyZXR1cm4gT3QoYVtsM10pfXZhciBVb2U9ZigoKT0+e1U3KCk7UnMoKTtzKHVZLCJpc0ludGVyb3BPYnNlcnZhYmxlIil9KTtmdW5jdGlvbiBwWShhKXtyZXR1cm4gU3ltYm9sLmFzeW5jSXRlcmF0b3ImJk90KGE/LltTeW1ib2wuYXN5bmNJdGVyYXRvcl0pfXZhciBXb2U9ZigoKT0+e1JzKCk7cyhwWSwiaXNBc3luY0l0ZXJhYmxlIil9KTtmdW5jdGlvbiBmWShhKXtyZXR1cm4gbmV3IFR5cGVFcnJvcigiWW91IHByb3ZpZGVkICIrKGEhPT1udWxsJiZ0eXBlb2YgYT09Im9iamVjdCI/ImFuIGludmFsaWQgb2JqZWN0IjoiJyIrYSsiJyIpKyIgd2hlcmUgYSBzdHJlYW0gd2FzIGV4cGVjdGVkLiBZb3UgY2FuIHByb3ZpZGUgYW4gT2JzZXJ2YWJsZSwgUHJvbWlzZSwgUmVhZGFibGVTdHJlYW0sIEFycmF5LCBBc3luY0l0ZXJhYmxlLCBvciBJdGVyYWJsZS4iKX12YXIgR29lPWYoKCk9PntzKGZZLCJjcmVhdGVJbnZhbGlkT2JzZXJ2YWJsZVR5cGVFcnJvciIpfSk7ZnVuY3Rpb24gWjhhKCl7cmV0dXJuIHR5cGVvZiBTeW1ib2whPSJmdW5jdGlvbiJ8fCFTeW1ib2wuaXRlcmF0b3I/IkBAaXRlcmF0b3IiOlN5bWJvbC5pdGVyYXRvcn12YXIgaFksWW9lPWYoKCk9PntzKFo4YSwiZ2V0U3ltYm9sSXRlcmF0b3IiKTtoWT1aOGEoKX0pO2Z1bmN0aW9uIG1ZKGEpe3JldHVybiBPdChhPy5baFldKX12YXIgS29lPWYoKCk9PntZb2UoKTtScygpO3MobVksImlzSXRlcmFibGUiKX0pO2Z1bmN0aW9uIGdZKGEpe3JldHVybiB1b2UodGhpcyxhcmd1bWVudHMscyhmdW5jdGlvbigpe3ZhciB0LHIsaSxvO3JldHVybiBxNyh0aGlzLGZ1bmN0aW9uKG4pe3N3aXRjaChuLmxhYmVsKXtjYXNlIDA6dD1hLmdldFJlYWRlcigpLG4ubGFiZWw9MTtjYXNlIDE6bi50cnlzLnB1c2goWzEsLDksMTBdKSxuLmxhYmVsPTI7Y2FzZSAyOnJldHVybls0LHhsKHQucmVhZCgpKV07Y2FzZSAzOnJldHVybiByPW4uc2VudCgpLGk9ci52YWx1ZSxvPXIuZG9uZSxvP1s0LHhsKHZvaWQgMCldOlszLDVdO2Nhc2UgNDpyZXR1cm5bMixuLnNlbnQoKV07Y2FzZSA1OnJldHVybls0LHhsKGkpXTtjYXNlIDY6cmV0dXJuWzQsbi5zZW50KCldO2Nhc2UgNzpyZXR1cm4gbi5zZW50KCksWzMsMl07Y2FzZSA4OnJldHVyblszLDEwXTtjYXNlIDk6cmV0dXJuIHQucmVsZWFzZUxvY2soKSxbN107Y2FzZSAxMDpyZXR1cm5bMl19fSl9LCJyZWFkYWJsZVN0cmVhbUxpa2VUb0FzeW5jR2VuZXJhdG9yXzEiKSl9ZnVuY3Rpb24gYlkoYSl7cmV0dXJuIE90KGE/LmdldFJlYWRlcil9dmFyIHZZPWYoKCk9PntCYSgpO1JzKCk7cyhnWSwicmVhZGFibGVTdHJlYW1MaWtlVG9Bc3luY0dlbmVyYXRvciIpO3MoYlksImlzUmVhZGFibGVTdHJlYW1MaWtlIil9KTtmdW5jdGlvbiBjcihhKXtpZihhIGluc3RhbmNlb2YgRnQpcmV0dXJuIGE7aWYoYSE9bnVsbCl7aWYodVkoYSkpcmV0dXJuIFg4YShhKTtpZihyaChhKSlyZXR1cm4gUThhKGEpO2lmKGRZKGEpKXJldHVybiBKOGEoYSk7aWYocFkoYSkpcmV0dXJuIG9ydChhKTtpZihtWShhKSlyZXR1cm4gZW1hKGEpO2lmKGJZKGEpKXJldHVybiB0bWEoYSl9dGhyb3cgZlkoYSl9ZnVuY3Rpb24gWDhhKGEpe3JldHVybiBuZXcgRnQoZnVuY3Rpb24oZSl7dmFyIHQ9YVtsM10oKTtpZihPdCh0LnN1YnNjcmliZSkpcmV0dXJuIHQuc3Vic2NyaWJlKGUpO3Rocm93IG5ldyBUeXBlRXJyb3IoIlByb3ZpZGVkIG9iamVjdCBkb2VzIG5vdCBjb3JyZWN0bHkgaW1wbGVtZW50IFN5bWJvbC5vYnNlcnZhYmxlIil9KX1mdW5jdGlvbiBROGEoYSl7cmV0dXJuIG5ldyBGdChmdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGEubGVuZ3RoJiYhZS5jbG9zZWQ7dCsrKWUubmV4dChhW3RdKTtlLmNvbXBsZXRlKCl9KX1mdW5jdGlvbiBKOGEoYSl7cmV0dXJuIG5ldyBGdChmdW5jdGlvbihlKXthLnRoZW4oZnVuY3Rpb24odCl7ZS5jbG9zZWR8fChlLm5leHQodCksZS5jb21wbGV0ZSgpKX0sZnVuY3Rpb24odCl7cmV0dXJuIGUuZXJyb3IodCl9KS50aGVuKG51bGwsZVkpfSl9ZnVuY3Rpb24gZW1hKGEpe3JldHVybiBuZXcgRnQoZnVuY3Rpb24oZSl7dmFyIHQscjt0cnl7Zm9yKHZhciBpPWhpKGEpLG89aS5uZXh0KCk7IW8uZG9uZTtvPWkubmV4dCgpKXt2YXIgbj1vLnZhbHVlO2lmKGUubmV4dChuKSxlLmNsb3NlZClyZXR1cm59fWNhdGNoKGwpe3Q9e2Vycm9yOmx9fWZpbmFsbHl7dHJ5e28mJiFvLmRvbmUmJihyPWkucmV0dXJuKSYmci5jYWxsKGkpfWZpbmFsbHl7aWYodCl0aHJvdyB0LmVycm9yfX1lLmNvbXBsZXRlKCl9KX1mdW5jdGlvbiBvcnQoYSl7cmV0dXJuIG5ldyBGdChmdW5jdGlvbihlKXthbWEoYSxlKS5jYXRjaChmdW5jdGlvbih0KXtyZXR1cm4gZS5lcnJvcih0KX0pfSl9ZnVuY3Rpb24gdG1hKGEpe3JldHVybiBvcnQoZ1koYSkpfWZ1bmN0aW9uIGFtYShhLGUpe3ZhciB0LHIsaSxvO3JldHVybiBkb2UodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG4sbDtyZXR1cm4gcTcodGhpcyxmdW5jdGlvbihkKXtzd2l0Y2goZC5sYWJlbCl7Y2FzZSAwOmQudHJ5cy5wdXNoKFswLDUsNiwxMV0pLHQ9cG9lKGEpLGQubGFiZWw9MTtjYXNlIDE6cmV0dXJuWzQsdC5uZXh0KCldO2Nhc2UgMjppZihyPWQuc2VudCgpLCEhci5kb25lKXJldHVyblszLDRdO2lmKG49ci52YWx1ZSxlLm5leHQobiksZS5jbG9zZWQpcmV0dXJuWzJdO2QubGFiZWw9MztjYXNlIDM6cmV0dXJuWzMsMV07Y2FzZSA0OnJldHVyblszLDExXTtjYXNlIDU6cmV0dXJuIGw9ZC5zZW50KCksaT17ZXJyb3I6bH0sWzMsMTFdO2Nhc2UgNjpyZXR1cm4gZC50cnlzLnB1c2goWzYsLDksMTBdKSxyJiYhci5kb25lJiYobz10LnJldHVybik/WzQsby5jYWxsKHQpXTpbMyw4XTtjYXNlIDc6ZC5zZW50KCksZC5sYWJlbD04O2Nhc2UgODpyZXR1cm5bMywxMF07Y2FzZSA5OmlmKGkpdGhyb3cgaS5lcnJvcjtyZXR1cm5bN107Y2FzZSAxMDpyZXR1cm5bN107Y2FzZSAxMTpyZXR1cm4gZS5jb21wbGV0ZSgpLFsyXX19KX0pfXZhciBPbz1mKCgpPT57QmEoKTtjWSgpO2pvZSgpO0JpKCk7VW9lKCk7V29lKCk7R29lKCk7S29lKCk7dlkoKTtScygpO2dvZSgpO1U3KCk7cyhjciwiaW5uZXJGcm9tIik7cyhYOGEsImZyb21JbnRlcm9wT2JzZXJ2YWJsZSIpO3MoUThhLCJmcm9tQXJyYXlMaWtlIik7cyhKOGEsImZyb21Qcm9taXNlIik7cyhlbWEsImZyb21JdGVyYWJsZSIpO3Mob3J0LCJmcm9tQXN5bmNJdGVyYWJsZSIpO3ModG1hLCJmcm9tUmVhZGFibGVTdHJlYW1MaWtlIik7cyhhbWEsInByb2Nlc3MiKX0pO2Z1bmN0aW9uIE1zKGEsZSx0LHIsaSl7cj09PXZvaWQgMCYmKHI9MCksaT09PXZvaWQgMCYmKGk9ITEpO3ZhciBvPWUuc2NoZWR1bGUoZnVuY3Rpb24oKXt0KCksaT9hLmFkZCh0aGlzLnNjaGVkdWxlKG51bGwscikpOnRoaXMudW5zdWJzY3JpYmUoKX0scik7aWYoYS5hZGQobyksIWkpcmV0dXJuIG99dmFyIHMwPWYoKCk9PntzKE1zLCJleGVjdXRlU2NoZWR1bGUiKX0pO2Z1bmN0aW9uIHNoKGEsZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPTApLHlhKGZ1bmN0aW9uKHQscil7dC5zdWJzY3JpYmUobGEocixmdW5jdGlvbihpKXtyZXR1cm4gTXMocixhLGZ1bmN0aW9uKCl7cmV0dXJuIHIubmV4dChpKX0sZSl9LGZ1bmN0aW9uKCl7cmV0dXJuIE1zKHIsYSxmdW5jdGlvbigpe3JldHVybiByLmNvbXBsZXRlKCl9LGUpfSxmdW5jdGlvbihpKXtyZXR1cm4gTXMocixhLGZ1bmN0aW9uKCl7cmV0dXJuIHIuZXJyb3IoaSl9LGUpfSkpfSl9dmFyIFo3PWYoKCk9PntzMCgpO3JzKCk7T3MoKTtzKHNoLCJvYnNlcnZlT24iKX0pO2Z1bmN0aW9uIGloKGEsZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPTApLHlhKGZ1bmN0aW9uKHQscil7ci5hZGQoYS5zY2hlZHVsZShmdW5jdGlvbigpe3JldHVybiB0LnN1YnNjcmliZShyKX0sZSkpfSl9dmFyIFg3PWYoKCk9PntycygpO3MoaWgsInN1YnNjcmliZU9uIil9KTtmdW5jdGlvbiBucnQoYSxlKXtyZXR1cm4gY3IoYSkucGlwZShpaChlKSxzaChlKSl9dmFyIGxydD1mKCgpPT57T28oKTtaNygpO1g3KCk7cyhucnQsInNjaGVkdWxlT2JzZXJ2YWJsZSIpfSk7ZnVuY3Rpb24gY3J0KGEsZSl7cmV0dXJuIGNyKGEpLnBpcGUoaWgoZSksc2goZSkpfXZhciBkcnQ9ZigoKT0+e09vKCk7WjcoKTtYNygpO3MoY3J0LCJzY2hlZHVsZVByb21pc2UiKX0pO2Z1bmN0aW9uIHVydChhLGUpe3JldHVybiBuZXcgRnQoZnVuY3Rpb24odCl7dmFyIHI9MDtyZXR1cm4gZS5zY2hlZHVsZShmdW5jdGlvbigpe3I9PT1hLmxlbmd0aD90LmNvbXBsZXRlKCk6KHQubmV4dChhW3IrK10pLHQuY2xvc2VkfHx0aGlzLnNjaGVkdWxlKCkpfSl9KX12YXIgcHJ0PWYoKCk9PntCaSgpO3ModXJ0LCJzY2hlZHVsZUFycmF5Iil9KTtmdW5jdGlvbiBmcnQoYSxlKXtyZXR1cm4gbmV3IEZ0KGZ1bmN0aW9uKHQpe3ZhciByO3JldHVybiBNcyh0LGUsZnVuY3Rpb24oKXtyPWFbaFldKCksTXModCxlLGZ1bmN0aW9uKCl7dmFyIGksbyxuO3RyeXtpPXIubmV4dCgpLG89aS52YWx1ZSxuPWkuZG9uZX1jYXRjaChsKXt0LmVycm9yKGwpO3JldHVybn1uP3QuY29tcGxldGUoKTp0Lm5leHQobyl9LDAsITApfSksZnVuY3Rpb24oKXtyZXR1cm4gT3Qocj8ucmV0dXJuKSYmci5yZXR1cm4oKX19KX12YXIgaHJ0PWYoKCk9PntCaSgpO1lvZSgpO1JzKCk7czAoKTtzKGZydCwic2NoZWR1bGVJdGVyYWJsZSIpfSk7ZnVuY3Rpb24geFkoYSxlKXtpZighYSl0aHJvdyBuZXcgRXJyb3IoIkl0ZXJhYmxlIGNhbm5vdCBiZSBudWxsIik7cmV0dXJuIG5ldyBGdChmdW5jdGlvbih0KXtNcyh0LGUsZnVuY3Rpb24oKXt2YXIgcj1hW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSgpO01zKHQsZSxmdW5jdGlvbigpe3IubmV4dCgpLnRoZW4oZnVuY3Rpb24oaSl7aS5kb25lP3QuY29tcGxldGUoKTp0Lm5leHQoaS52YWx1ZSl9KX0sMCwhMCl9KX0pfXZhciBab2U9ZigoKT0+e0JpKCk7czAoKTtzKHhZLCJzY2hlZHVsZUFzeW5jSXRlcmFibGUiKX0pO2Z1bmN0aW9uIG1ydChhLGUpe3JldHVybiB4WShnWShhKSxlKX12YXIgZ3J0PWYoKCk9Pntab2UoKTt2WSgpO3MobXJ0LCJzY2hlZHVsZVJlYWRhYmxlU3RyZWFtTGlrZSIpfSk7ZnVuY3Rpb24gWG9lKGEsZSl7aWYoYSE9bnVsbCl7aWYodVkoYSkpcmV0dXJuIG5ydChhLGUpO2lmKHJoKGEpKXJldHVybiB1cnQoYSxlKTtpZihkWShhKSlyZXR1cm4gY3J0KGEsZSk7aWYocFkoYSkpcmV0dXJuIHhZKGEsZSk7aWYobVkoYSkpcmV0dXJuIGZydChhLGUpO2lmKGJZKGEpKXJldHVybiBtcnQoYSxlKX10aHJvdyBmWShhKX12YXIgUW9lPWYoKCk9PntscnQoKTtkcnQoKTtwcnQoKTtocnQoKTtab2UoKTtVb2UoKTtqb2UoKTtjWSgpO0tvZSgpO1dvZSgpO0dvZSgpO3ZZKCk7Z3J0KCk7cyhYb2UsInNjaGVkdWxlZCIpfSk7ZnVuY3Rpb24gZDIoYSxlKXtyZXR1cm4gZT9Yb2UoYSxlKTpjcihhKX12YXIgUTc9ZigoKT0+e1FvZSgpO09vKCk7cyhkMiwiZnJvbSIpfSk7ZnVuY3Rpb24gYzMoKXtmb3IodmFyIGE9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspYVtlXT1hcmd1bWVudHNbZV07dmFyIHQ9YzIoYSk7cmV0dXJuIGQyKGEsdCl9dmFyIEpvZT1mKCgpPT57YWgoKTtRNygpO3MoYzMsIm9mIil9KTtmdW5jdGlvbiBlbmUoYSxlKXt2YXIgdD1PdChhKT9hOmZ1bmN0aW9uKCl7cmV0dXJuIGF9LHI9cyhmdW5jdGlvbihpKXtyZXR1cm4gaS5lcnJvcih0KCkpfSwiaW5pdCIpO3JldHVybiBuZXcgRnQoZT9mdW5jdGlvbihpKXtyZXR1cm4gZS5zY2hlZHVsZShyLDAsaSl9OnIpfXZhciB0bmU9ZigoKT0+e0JpKCk7UnMoKTtzKGVuZSwidGhyb3dFcnJvciIpfSk7ZnVuY3Rpb24gcm1hKGEsZSl7dmFyIHQscixpLG89YSxuPW8ua2luZCxsPW8udmFsdWUsZD1vLmVycm9yO2lmKHR5cGVvZiBuIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG5vdGlmaWNhdGlvbiwgbWlzc2luZyAia2luZCInKTtuPT09Ik4iPyh0PWUubmV4dCk9PT1udWxsfHx0PT09dm9pZCAwfHx0LmNhbGwoZSxsKTpuPT09IkUiPyhyPWUuZXJyb3IpPT09bnVsbHx8cj09PXZvaWQgMHx8ci5jYWxsKGUsZCk6KGk9ZS5jb21wbGV0ZSk9PT1udWxsfHxpPT09dm9pZCAwfHxpLmNhbGwoZSl9dmFyIGFuZSxicnQsdnJ0PWYoKCk9PntuWSgpO0pvZSgpO3RuZSgpO1JzKCk7KGZ1bmN0aW9uKGEpe2EuTkVYVD0iTiIsYS5FUlJPUj0iRSIsYS5DT01QTEVURT0iQyJ9KShhbmV8fChhbmU9e30pKTticnQ9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShlLHQscil7dGhpcy5raW5kPWUsdGhpcy52YWx1ZT10LHRoaXMuZXJyb3I9cix0aGlzLmhhc1ZhbHVlPWU9PT0iTiJ9cmV0dXJuIHMoYSwiTm90aWZpY2F0aW9uIiksYS5wcm90b3R5cGUub2JzZXJ2ZT1mdW5jdGlvbihlKXtyZXR1cm4gcm1hKHRoaXMsZSl9LGEucHJvdG90eXBlLmRvPWZ1bmN0aW9uKGUsdCxyKXt2YXIgaT10aGlzLG89aS5raW5kLG49aS52YWx1ZSxsPWkuZXJyb3I7cmV0dXJuIG89PT0iTiI/ZT8uKG4pOm89PT0iRSI/dD8uKGwpOnI/LigpfSxhLnByb3RvdHlwZS5hY2NlcHQ9ZnVuY3Rpb24oZSx0LHIpe3ZhciBpO3JldHVybiBPdCgoaT1lKT09PW51bGx8fGk9PT12b2lkIDA/dm9pZCAwOmkubmV4dCk/dGhpcy5vYnNlcnZlKGUpOnRoaXMuZG8oZSx0LHIpfSxhLnByb3RvdHlwZS50b09ic2VydmFibGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS5raW5kLHI9ZS52YWx1ZSxpPWUuZXJyb3Isbz10PT09Ik4iP2MzKHIpOnQ9PT0iRSI/ZW5lKGZ1bmN0aW9uKCl7cmV0dXJuIGl9KTp0PT09IkMiP29ZOjA7aWYoIW8pdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5leHBlY3RlZCBub3RpZmljYXRpb24ga2luZCAiK3QpO3JldHVybiBvfSxhLmNyZWF0ZU5leHQ9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBhKCJOIixlKX0sYS5jcmVhdGVFcnJvcj1mdW5jdGlvbihlKXtyZXR1cm4gbmV3IGEoIkUiLHZvaWQgMCxlKX0sYS5jcmVhdGVDb21wbGV0ZT1mdW5jdGlvbigpe3JldHVybiBhLmNvbXBsZXRlTm90aWZpY2F0aW9ufSxhLmNvbXBsZXRlTm90aWZpY2F0aW9uPW5ldyBhKCJDIiksYX0pKCk7cyhybWEsIm9ic2VydmVOb3RpZmljYXRpb24iKX0pO3ZhciB4cnQ9ZigoKT0+e30pO3ZhciBzbWEseXJ0PWYoKCk9PnthMCgpO3NtYT12byhmdW5jdGlvbihhKXtyZXR1cm4gcyhmdW5jdGlvbigpe2EodGhpcyksdGhpcy5uYW1lPSJFbXB0eUVycm9yIix0aGlzLm1lc3NhZ2U9Im5vIGVsZW1lbnRzIGluIHNlcXVlbmNlIn0sIkVtcHR5RXJyb3JJbXBsIil9KX0pO3ZhciB3cnQ9ZigoKT0+e30pO3ZhciBNcnQ9ZigoKT0+e30pO3ZhciBpbWEsa3J0PWYoKCk9PnthMCgpO2ltYT12byhmdW5jdGlvbihhKXtyZXR1cm4gcyhmdW5jdGlvbigpe2EodGhpcyksdGhpcy5uYW1lPSJBcmd1bWVudE91dE9mUmFuZ2VFcnJvciIsdGhpcy5tZXNzYWdlPSJhcmd1bWVudCBvdXQgb2YgcmFuZ2UifSwiQXJndW1lbnRPdXRPZlJhbmdlRXJyb3JJbXBsIil9KX0pO3ZhciBvbWEsU3J0PWYoKCk9PnthMCgpO29tYT12byhmdW5jdGlvbihhKXtyZXR1cm4gcyhmdW5jdGlvbih0KXthKHRoaXMpLHRoaXMubmFtZT0iTm90Rm91bmRFcnJvciIsdGhpcy5tZXNzYWdlPXR9LCJOb3RGb3VuZEVycm9ySW1wbCIpfSl9KTt2YXIgbm1hLHpydD1mKCgpPT57YTAoKTtubWE9dm8oZnVuY3Rpb24oYSl7cmV0dXJuIHMoZnVuY3Rpb24odCl7YSh0aGlzKSx0aGlzLm5hbWU9IlNlcXVlbmNlRXJyb3IiLHRoaXMubWVzc2FnZT10fSwiU2VxdWVuY2VFcnJvckltcGwiKX0pfSk7ZnVuY3Rpb24geVkoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBEYXRlJiYhaXNOYU4oYSl9dmFyIHJuZT1mKCgpPT57cyh5WSwiaXNWYWxpZERhdGUiKX0pO2Z1bmN0aW9uIF9ydChhLGUpe3ZhciB0PXlZKGEpP3tmaXJzdDphfTp0eXBlb2YgYT09Im51bWJlciI/e2VhY2g6YX06YSxyPXQuZmlyc3QsaT10LmVhY2gsbz10LndpdGgsbj1vPT09dm9pZCAwP2xtYTpvLGw9dC5zY2hlZHVsZXIsZD1sPT09dm9pZCAwP2U/P3hvOmwsYz10Lm1ldGEscD1jPT09dm9pZCAwP251bGw6YztpZihyPT1udWxsJiZpPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIk5vIHRpbWVvdXQgcHJvdmlkZWQuIik7cmV0dXJuIHlhKGZ1bmN0aW9uKHUsbSl7dmFyIHYseCxiPW51bGwsZz0wLHk9cyhmdW5jdGlvbihrKXt4PU1zKG0sZCxmdW5jdGlvbigpe3RyeXt2LnVuc3Vic2NyaWJlKCksY3Iobih7bWV0YTpwLGxhc3RWYWx1ZTpiLHNlZW46Z30pKS5zdWJzY3JpYmUobSl9Y2F0Y2goQyl7bS5lcnJvcihDKX19LGspfSwic3RhcnRUaW1lciIpO3Y9dS5zdWJzY3JpYmUobGEobSxmdW5jdGlvbihrKXt4Py51bnN1YnNjcmliZSgpLGcrKyxtLm5leHQoYj1rKSxpPjAmJnkoaSl9LHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt4Py5jbG9zZWR8fHg/LnVuc3Vic2NyaWJlKCksYj1udWxsfSkpLCFnJiZ5KHIhPW51bGw/dHlwZW9mIHI9PSJudW1iZXIiP3I6K3ItZC5ub3coKTppKX0pfWZ1bmN0aW9uIGxtYShhKXt0aHJvdyBuZXcgQ3J0KGEpfXZhciBDcnQsd1k9ZigoKT0+e3dsKCk7cm5lKCk7cnMoKTtPbygpO2EwKCk7T3MoKTtzMCgpO0NydD12byhmdW5jdGlvbihhKXtyZXR1cm4gcyhmdW5jdGlvbih0KXt0PT09dm9pZCAwJiYodD1udWxsKSxhKHRoaXMpLHRoaXMubWVzc2FnZT0iVGltZW91dCBoYXMgb2NjdXJyZWQiLHRoaXMubmFtZT0iVGltZW91dEVycm9yIix0aGlzLmluZm89dH0sIlRpbWVvdXRFcnJvckltcGwiKX0pO3MoX3J0LCJ0aW1lb3V0Iik7cyhsbWEsInRpbWVvdXRFcnJvckZhY3RvcnkiKX0pO2Z1bmN0aW9uIHUyKGEsZSl7cmV0dXJuIHlhKGZ1bmN0aW9uKHQscil7dmFyIGk9MDt0LnN1YnNjcmliZShsYShyLGZ1bmN0aW9uKG8pe3IubmV4dChhLmNhbGwoZSxvLGkrKykpfSkpfSl9dmFyIEo3PWYoKCk9PntycygpO09zKCk7cyh1MiwibWFwIil9KTtmdW5jdGlvbiBkbWEoYSxlKXtyZXR1cm4gY21hKGUpP2EuYXBwbHkodm9pZCAwLHdzKFtdLEFyKGUpKSk6YShlKX1mdW5jdGlvbiBNWShhKXtyZXR1cm4gdTIoZnVuY3Rpb24oZSl7cmV0dXJuIGRtYShhLGUpfSl9dmFyIGNtYSxzbmU9ZigoKT0+e0JhKCk7SjcoKTtjbWE9QXJyYXkuaXNBcnJheTtzKGRtYSwiY2FsbE9yQXBwbHkiKTtzKE1ZLCJtYXBPbmVPck1hbnlBcmdzIil9KTt2YXIgVHJ0PWYoKCk9Pnt9KTt2YXIgTHJ0PWYoKCk9Pnt9KTtmdW5jdGlvbiAkcnQoYSl7aWYoYS5sZW5ndGg9PT0xKXt2YXIgZT1hWzBdO2lmKHVtYShlKSlyZXR1cm57YXJnczplLGtleXM6bnVsbH07aWYobW1hKGUpKXt2YXIgdD1obWEoZSk7cmV0dXJue2FyZ3M6dC5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIGVbcl19KSxrZXlzOnR9fX1yZXR1cm57YXJnczphLGtleXM6bnVsbH19ZnVuY3Rpb24gbW1hKGEpe3JldHVybiBhJiZ0eXBlb2YgYT09Im9iamVjdCImJnBtYShhKT09PWZtYX12YXIgdW1hLHBtYSxmbWEsaG1hLERydD1mKCgpPT57dW1hPUFycmF5LmlzQXJyYXkscG1hPU9iamVjdC5nZXRQcm90b3R5cGVPZixmbWE9T2JqZWN0LnByb3RvdHlwZSxobWE9T2JqZWN0LmtleXM7cygkcnQsImFyZ3NBcmdBcnJheU9yT2JqZWN0Iik7cyhtbWEsImlzUE9KTyIpfSk7ZnVuY3Rpb24gQXJ0KGEsZSl7cmV0dXJuIGEucmVkdWNlKGZ1bmN0aW9uKHQscixpKXtyZXR1cm4gdFtyXT1lW2ldLHR9LHt9KX12YXIgRXJ0PWYoKCk9PntzKEFydCwiY3JlYXRlT2JqZWN0Iil9KTtmdW5jdGlvbiBpbmUoKXtmb3IodmFyIGE9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspYVtlXT1hcmd1bWVudHNbZV07dmFyIHQ9YzIoYSkscj1pcnQoYSksaT0kcnQoYSksbz1pLmFyZ3Msbj1pLmtleXM7aWYoby5sZW5ndGg9PT0wKXJldHVybiBkMihbXSx0KTt2YXIgbD1uZXcgRnQoZ21hKG8sdCxuP2Z1bmN0aW9uKGQpe3JldHVybiBBcnQobixkKX06bDIpKTtyZXR1cm4gcj9sLnBpcGUoTVkocikpOmx9ZnVuY3Rpb24gZ21hKGEsZSx0KXtyZXR1cm4gdD09PXZvaWQgMCYmKHQ9bDIpLGZ1bmN0aW9uKHIpe1BydChlLGZ1bmN0aW9uKCl7Zm9yKHZhciBpPWEubGVuZ3RoLG89bmV3IEFycmF5KGkpLG49aSxsPWksZD1zKGZ1bmN0aW9uKHApe1BydChlLGZ1bmN0aW9uKCl7dmFyIHU9ZDIoYVtwXSxlKSxtPSExO3Uuc3Vic2NyaWJlKGxhKHIsZnVuY3Rpb24odil7b1twXT12LG18fChtPSEwLGwtLSksbHx8ci5uZXh0KHQoby5zbGljZSgpKSl9LGZ1bmN0aW9uKCl7LS1ufHxyLmNvbXBsZXRlKCl9KSl9LHIpfSwiX2xvb3BfMSIpLGM9MDtjPGk7YysrKWQoYyl9LHIpfX1mdW5jdGlvbiBQcnQoYSxlLHQpe2E/TXModCxhLGUpOmUoKX12YXIgSXJ0PWYoKCk9PntCaSgpO0RydCgpO1E3KCk7WjUoKTtzbmUoKTthaCgpO0VydCgpO09zKCk7czAoKTtzKGluZSwiY29tYmluZUxhdGVzdCIpO3MoZ21hLCJjb21iaW5lTGF0ZXN0SW5pdCIpO3MoUHJ0LCJtYXliZVNjaGVkdWxlIil9KTtmdW5jdGlvbiBOcnQoYSxlLHQscixpLG8sbixsKXt2YXIgZD1bXSxjPTAscD0wLHU9ITEsbT1zKGZ1bmN0aW9uKCl7dSYmIWQubGVuZ3RoJiYhYyYmZS5jb21wbGV0ZSgpfSwiY2hlY2tDb21wbGV0ZSIpLHY9cyhmdW5jdGlvbihiKXtyZXR1cm4gYzxyP3goYik6ZC5wdXNoKGIpfSwib3V0ZXJOZXh0IikseD1zKGZ1bmN0aW9uKGIpe28mJmUubmV4dChiKSxjKys7dmFyIGc9ITE7Y3IodChiLHArKykpLnN1YnNjcmliZShsYShlLGZ1bmN0aW9uKHkpe2k/Lih5KSxvP3YoeSk6ZS5uZXh0KHkpfSxmdW5jdGlvbigpe2c9ITB9LHZvaWQgMCxmdW5jdGlvbigpe2lmKGcpdHJ5e2MtLTtmb3IodmFyIHk9cyhmdW5jdGlvbigpe3ZhciBrPWQuc2hpZnQoKTtuP01zKGUsbixmdW5jdGlvbigpe3JldHVybiB4KGspfSk6eChrKX0sIl9sb29wXzEiKTtkLmxlbmd0aCYmYzxyOyl5KCk7bSgpfWNhdGNoKGspe2UuZXJyb3Ioayl9fSkpfSwiZG9Jbm5lclN1YiIpO3JldHVybiBhLnN1YnNjcmliZShsYShlLHYsZnVuY3Rpb24oKXt1PSEwLG0oKX0pKSxmdW5jdGlvbigpe2w/LigpfX12YXIgUnJ0PWYoKCk9PntPbygpO3MwKCk7T3MoKTtzKE5ydCwibWVyZ2VJbnRlcm5hbHMiKX0pO2Z1bmN0aW9uIGQzKGEsZSx0KXtyZXR1cm4gdD09PXZvaWQgMCYmKHQ9MS8wKSxPdChlKT9kMyhmdW5jdGlvbihyLGkpe3JldHVybiB1MihmdW5jdGlvbihvLG4pe3JldHVybiBlKHIsbyxpLG4pfSkoY3IoYShyLGkpKSl9LHQpOih0eXBlb2YgZT09Im51bWJlciImJih0PWUpLHlhKGZ1bmN0aW9uKHIsaSl7cmV0dXJuIE5ydChyLGksYSx0KX0pKX12YXIgZTk9ZigoKT0+e0o3KCk7T28oKTtycygpO1JydCgpO1JzKCk7cyhkMywibWVyZ2VNYXAiKX0pO2Z1bmN0aW9uIGtZKGEpe3JldHVybiBhPT09dm9pZCAwJiYoYT0xLzApLGQzKGwyLGEpfXZhciBTWT1mKCgpPT57ZTkoKTtaNSgpO3Moa1ksIm1lcmdlQWxsIil9KTtmdW5jdGlvbiB6WSgpe3JldHVybiBrWSgxKX12YXIgQ1k9ZigoKT0+e1NZKCk7cyh6WSwiY29uY2F0QWxsIil9KTtmdW5jdGlvbiBfWSgpe2Zvcih2YXIgYT1bXSxlPTA7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKylhW2VdPWFyZ3VtZW50c1tlXTtyZXR1cm4gelkoKShkMihhLGMyKGEpKSl9dmFyIG9uZT1mKCgpPT57Q1koKTthaCgpO1E3KCk7cyhfWSwiY29uY2F0Iil9KTt2YXIgT3J0PWYoKCk9Pnt9KTt2YXIgRnJ0PWYoKCk9Pnt9KTt2YXIgQnJ0PWYoKCk9Pnt9KTtmdW5jdGlvbiB1MyhhLGUsdCxyKXtpZihPdCh0KSYmKHI9dCx0PXZvaWQgMCkscilyZXR1cm4gdTMoYSxlLHQpLnBpcGUoTVkocikpO3ZhciBpPUFyKE1tYShhKT92bWEubWFwKGZ1bmN0aW9uKGwpe3JldHVybiBmdW5jdGlvbihkKXtyZXR1cm4gYVtsXShlLGQsdCl9fSk6eW1hKGEpP2JtYS5tYXAoSHJ0KGEsZSkpOndtYShhKT94bWEubWFwKEhydChhLGUpKTpbXSwyKSxvPWlbMF0sbj1pWzFdO2lmKCFvJiZyaChhKSlyZXR1cm4gZDMoZnVuY3Rpb24obCl7cmV0dXJuIHUzKGwsZSx0KX0pKGNyKGEpKTtpZighbyl0aHJvdyBuZXcgVHlwZUVycm9yKCJJbnZhbGlkIGV2ZW50IHRhcmdldCIpO3JldHVybiBuZXcgRnQoZnVuY3Rpb24obCl7dmFyIGQ9cyhmdW5jdGlvbigpe2Zvcih2YXIgYz1bXSxwPTA7cDxhcmd1bWVudHMubGVuZ3RoO3ArKyljW3BdPWFyZ3VtZW50c1twXTtyZXR1cm4gbC5uZXh0KDE8Yy5sZW5ndGg/YzpjWzBdKX0sImhhbmRsZXIiKTtyZXR1cm4gbyhkKSxmdW5jdGlvbigpe3JldHVybiBuKGQpfX0pfWZ1bmN0aW9uIEhydChhLGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIGFbdF0oZSxyKX19fWZ1bmN0aW9uIHltYShhKXtyZXR1cm4gT3QoYS5hZGRMaXN0ZW5lcikmJk90KGEucmVtb3ZlTGlzdGVuZXIpfWZ1bmN0aW9uIHdtYShhKXtyZXR1cm4gT3QoYS5vbikmJk90KGEub2ZmKX1mdW5jdGlvbiBNbWEoYSl7cmV0dXJuIE90KGEuYWRkRXZlbnRMaXN0ZW5lcikmJk90KGEucmVtb3ZlRXZlbnRMaXN0ZW5lcil9dmFyIGJtYSx2bWEseG1hLHFydD1mKCgpPT57QmEoKTtPbygpO0JpKCk7ZTkoKTtjWSgpO1JzKCk7c25lKCk7Ym1hPVsiYWRkTGlzdGVuZXIiLCJyZW1vdmVMaXN0ZW5lciJdLHZtYT1bImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIl0seG1hPVsib24iLCJvZmYiXTtzKHUzLCJmcm9tRXZlbnQiKTtzKEhydCwidG9Db21tb25IYW5kbGVyUmVnaXN0cnkiKTtzKHltYSwiaXNOb2RlU3R5bGVFdmVudEVtaXR0ZXIiKTtzKHdtYSwiaXNKUXVlcnlTdHlsZUV2ZW50RW1pdHRlciIpO3MoTW1hLCJpc0V2ZW50VGFyZ2V0Iil9KTt2YXIgVnJ0PWYoKCk9Pnt9KTt2YXIganJ0PWYoKCk9Pnt9KTt2YXIgVXJ0PWYoKCk9Pnt9KTtmdW5jdGlvbiB0OShhLGUsdCl7YT09PXZvaWQgMCYmKGE9MCksdD09PXZvaWQgMCYmKHQ9Tm9lKTt2YXIgcj0tMTtyZXR1cm4gZSE9bnVsbCYmKGxZKGUpP3Q9ZTpyPWUpLG5ldyBGdChmdW5jdGlvbihpKXt2YXIgbz15WShhKT8rYS10Lm5vdygpOmE7bzwwJiYobz0wKTt2YXIgbj0wO3JldHVybiB0LnNjaGVkdWxlKGZ1bmN0aW9uKCl7aS5jbG9zZWR8fChpLm5leHQobisrKSwwPD1yP3RoaXMuc2NoZWR1bGUodm9pZCAwLHIpOmkuY29tcGxldGUoKSl9LG8pfSl9dmFyIFRZPWYoKCk9PntCaSgpO3dsKCk7cW9lKCk7cm5lKCk7cyh0OSwidGltZXIiKX0pO2Z1bmN0aW9uIG5uZShhLGUpe3JldHVybiBhPT09dm9pZCAwJiYoYT0wKSxlPT09dm9pZCAwJiYoZT14byksYTwwJiYoYT0wKSx0OShhLGEsZSl9dmFyIFdydD1mKCgpPT57d2woKTtUWSgpO3Mobm5lLCJpbnRlcnZhbCIpfSk7dmFyIEdydD1mKCgpPT57fSk7ZnVuY3Rpb24ga21hKCl7cmV0dXJuIFlydH12YXIgWXJ0LGxuZT1mKCgpPT57QmkoKTtpMygpO1lydD1uZXcgRnQoZm4pO3Moa21hLCJuZXZlciIpfSk7dmFyIEtydD1mKCgpPT57fSk7dmFyIFpydD1mKCgpPT57fSk7ZnVuY3Rpb24gTFkoYSxlKXtyZXR1cm4geWEoZnVuY3Rpb24odCxyKXt2YXIgaT0wO3Quc3Vic2NyaWJlKGxhKHIsZnVuY3Rpb24obyl7cmV0dXJuIGEuY2FsbChlLG8saSsrKSYmci5uZXh0KG8pfSkpfSl9dmFyIGNuZT1mKCgpPT57cnMoKTtPcygpO3MoTFksImZpbHRlciIpfSk7dmFyIFhydD1mKCgpPT57fSk7dmFyIFFydD1mKCgpPT57fSk7dmFyIEpydD1mKCgpPT57fSk7dmFyIGVzdD1mKCgpPT57fSk7dmFyIHRzdD1mKCgpPT57fSk7dmFyIGFzdD1mKCgpPT57fSk7dmFyIGRuZT1mKCgpPT57fSk7dmFyIHVuZT1mKCgpPT57fSk7ZnVuY3Rpb24gJFkoYSl7cmV0dXJuIHlhKGZ1bmN0aW9uKGUsdCl7dmFyIHI9W107cmV0dXJuIGUuc3Vic2NyaWJlKGxhKHQsZnVuY3Rpb24oaSl7cmV0dXJuIHIucHVzaChpKX0sZnVuY3Rpb24oKXt0Lm5leHQociksdC5jb21wbGV0ZSgpfSkpLGNyKGEpLnN1YnNjcmliZShsYSh0LGZ1bmN0aW9uKCl7dmFyIGk9cjtyPVtdLHQubmV4dChpKX0sZm4pKSxmdW5jdGlvbigpe3I9bnVsbH19KX12YXIgcG5lPWYoKCk9PntycygpO2kzKCk7T3MoKTtPbygpO3MoJFksImJ1ZmZlciIpfSk7ZnVuY3Rpb24gRFkoYSxlKXtyZXR1cm4gZT09PXZvaWQgMCYmKGU9bnVsbCksZT1lPz9hLHlhKGZ1bmN0aW9uKHQscil7dmFyIGk9W10sbz0wO3Quc3Vic2NyaWJlKGxhKHIsZnVuY3Rpb24obil7dmFyIGwsZCxjLHAsdT1udWxsO28rKyVlPT09MCYmaS5wdXNoKFtdKTt0cnl7Zm9yKHZhciBtPWhpKGkpLHY9bS5uZXh0KCk7IXYuZG9uZTt2PW0ubmV4dCgpKXt2YXIgeD12LnZhbHVlO3gucHVzaChuKSxhPD14Lmxlbmd0aCYmKHU9dT8/W10sdS5wdXNoKHgpKX19Y2F0Y2goeSl7bD17ZXJyb3I6eX19ZmluYWxseXt0cnl7diYmIXYuZG9uZSYmKGQ9bS5yZXR1cm4pJiZkLmNhbGwobSl9ZmluYWxseXtpZihsKXRocm93IGwuZXJyb3J9fWlmKHUpdHJ5e2Zvcih2YXIgYj1oaSh1KSxnPWIubmV4dCgpOyFnLmRvbmU7Zz1iLm5leHQoKSl7dmFyIHg9Zy52YWx1ZTtKbihpLHgpLHIubmV4dCh4KX19Y2F0Y2goeSl7Yz17ZXJyb3I6eX19ZmluYWxseXt0cnl7ZyYmIWcuZG9uZSYmKHA9Yi5yZXR1cm4pJiZwLmNhbGwoYil9ZmluYWxseXtpZihjKXRocm93IGMuZXJyb3J9fX0sZnVuY3Rpb24oKXt2YXIgbixsO3RyeXtmb3IodmFyIGQ9aGkoaSksYz1kLm5leHQoKTshYy5kb25lO2M9ZC5uZXh0KCkpe3ZhciBwPWMudmFsdWU7ci5uZXh0KHApfX1jYXRjaCh1KXtuPXtlcnJvcjp1fX1maW5hbGx5e3RyeXtjJiYhYy5kb25lJiYobD1kLnJldHVybikmJmwuY2FsbChkKX1maW5hbGx5e2lmKG4pdGhyb3cgbi5lcnJvcn19ci5jb21wbGV0ZSgpfSx2b2lkIDAsZnVuY3Rpb24oKXtpPW51bGx9KSl9KX12YXIgZm5lPWYoKCk9PntCYSgpO3JzKCk7T3MoKTtXNSgpO3MoRFksImJ1ZmZlckNvdW50Iil9KTtmdW5jdGlvbiBBWShhKXtmb3IodmFyIGUsdCxyPVtdLGk9MTtpPGFyZ3VtZW50cy5sZW5ndGg7aSsrKXJbaS0xXT1hcmd1bWVudHNbaV07dmFyIG89KGU9YzIocikpIT09bnVsbCYmZSE9PXZvaWQgMD9lOnhvLG49KHQ9clswXSkhPT1udWxsJiZ0IT09dm9pZCAwP3Q6bnVsbCxsPXJbMV18fDEvMDtyZXR1cm4geWEoZnVuY3Rpb24oZCxjKXt2YXIgcD1bXSx1PSExLG09cyhmdW5jdGlvbihiKXt2YXIgZz1iLmJ1ZmZlcix5PWIuc3Viczt5LnVuc3Vic2NyaWJlKCksSm4ocCxiKSxjLm5leHQoZyksdSYmdigpfSwiZW1pdCIpLHY9cyhmdW5jdGlvbigpe2lmKHApe3ZhciBiPW5ldyBqcjtjLmFkZChiKTt2YXIgZz1bXSx5PXtidWZmZXI6ZyxzdWJzOmJ9O3AucHVzaCh5KSxNcyhiLG8sZnVuY3Rpb24oKXtyZXR1cm4gbSh5KX0sYSl9fSwic3RhcnRCdWZmZXIiKTtuIT09bnVsbCYmbj49MD9NcyhjLG8sdixuLCEwKTp1PSEwLHYoKTt2YXIgeD1sYShjLGZ1bmN0aW9uKGIpe3ZhciBnLHksaz1wLnNsaWNlKCk7dHJ5e2Zvcih2YXIgQz1oaShrKSxOPUMubmV4dCgpOyFOLmRvbmU7Tj1DLm5leHQoKSl7dmFyIF89Ti52YWx1ZSx6PV8uYnVmZmVyO3oucHVzaChiKSxsPD16Lmxlbmd0aCYmbShfKX19Y2F0Y2goTyl7Zz17ZXJyb3I6T319ZmluYWxseXt0cnl7TiYmIU4uZG9uZSYmKHk9Qy5yZXR1cm4pJiZ5LmNhbGwoQyl9ZmluYWxseXtpZihnKXRocm93IGcuZXJyb3J9fX0sZnVuY3Rpb24oKXtmb3IoO3A/Lmxlbmd0aDspYy5uZXh0KHAuc2hpZnQoKS5idWZmZXIpO3g/LnVuc3Vic2NyaWJlKCksYy5jb21wbGV0ZSgpLGMudW5zdWJzY3JpYmUoKX0sdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIHA9bnVsbH0pO2Quc3Vic2NyaWJlKHgpfSl9dmFyIGhuZT1mKCgpPT57QmEoKTtuMigpO3JzKCk7T3MoKTtXNSgpO3dsKCk7YWgoKTtzMCgpO3MoQVksImJ1ZmZlclRpbWUiKX0pO3ZhciBtbmU9ZigoKT0+e30pO3ZhciBnbmU9ZigoKT0+e30pO3ZhciBibmU9ZigoKT0+e30pO3ZhciB2bmU9ZigoKT0+e30pO3ZhciB4bmU9ZigoKT0+e30pO3ZhciB5bmU9ZigoKT0+e30pO3ZhciB3bmU9ZigoKT0+e30pO3ZhciByc3Q9ZigoKT0+e30pO3ZhciBNbmU9ZigoKT0+e30pO3ZhciBrbmU9ZigoKT0+e30pO3ZhciBTbmU9ZigoKT0+e30pO3ZhciBzc3Q9ZigoKT0+e30pO3ZhciB6bmU9ZigoKT0+e30pO3ZhciBDbmU9ZigoKT0+e30pO3ZhciBfbmU9ZigoKT0+e30pO2Z1bmN0aW9uIEVZKGEpe3JldHVybiB5YShmdW5jdGlvbihlLHQpe3ZhciByPSExLGk9bnVsbCxvPW51bGwsbj1zKGZ1bmN0aW9uKCl7aWYobz8udW5zdWJzY3JpYmUoKSxvPW51bGwscil7cj0hMTt2YXIgbD1pO2k9bnVsbCx0Lm5leHQobCl9fSwiZW1pdCIpO2Uuc3Vic2NyaWJlKGxhKHQsZnVuY3Rpb24obCl7bz8udW5zdWJzY3JpYmUoKSxyPSEwLGk9bCxvPWxhKHQsbixmbiksY3IoYShsKSkuc3Vic2NyaWJlKG8pfSxmdW5jdGlvbigpe24oKSx0LmNvbXBsZXRlKCl9LHZvaWQgMCxmdW5jdGlvbigpe2k9bz1udWxsfSkpfSl9dmFyIFRuZT1mKCgpPT57cnMoKTtpMygpO09zKCk7T28oKTtzKEVZLCJkZWJvdW5jZSIpfSk7ZnVuY3Rpb24gUFkoYSxlKXtyZXR1cm4gZT09PXZvaWQgMCYmKGU9eG8pLHlhKGZ1bmN0aW9uKHQscil7dmFyIGk9bnVsbCxvPW51bGwsbj1udWxsLGw9cyhmdW5jdGlvbigpe2lmKGkpe2kudW5zdWJzY3JpYmUoKSxpPW51bGw7dmFyIGM9bztvPW51bGwsci5uZXh0KGMpfX0sImVtaXQiKTtmdW5jdGlvbiBkKCl7dmFyIGM9bithLHA9ZS5ub3coKTtpZihwPGMpe2k9dGhpcy5zY2hlZHVsZSh2b2lkIDAsYy1wKSxyLmFkZChpKTtyZXR1cm59bCgpfXMoZCwiZW1pdFdoZW5JZGxlIiksdC5zdWJzY3JpYmUobGEocixmdW5jdGlvbihjKXtvPWMsbj1lLm5vdygpLGl8fChpPWUuc2NoZWR1bGUoZCxhKSxyLmFkZChpKSl9LGZ1bmN0aW9uKCl7bCgpLHIuY29tcGxldGUoKX0sdm9pZCAwLGZ1bmN0aW9uKCl7bz1pPW51bGx9KSl9KX12YXIgTG5lPWYoKCk9Pnt3bCgpO3JzKCk7T3MoKTtzKFBZLCJkZWJvdW5jZVRpbWUiKX0pO3ZhciAkbmU9ZigoKT0+e30pO3ZhciBEbmU9ZigoKT0+e30pO3ZhciBBbmU9ZigoKT0+e30pO3ZhciBFbmU9ZigoKT0+e30pO3ZhciBQbmU9ZigoKT0+e30pO3ZhciBJbmU9ZigoKT0+e30pO3ZhciBObmU9ZigoKT0+e30pO3ZhciBSbmU9ZigoKT0+e30pO2Z1bmN0aW9uIG9oKGEsZSl7cmV0dXJuIGU9PT12b2lkIDAmJihlPWwyKSxhPWE/P1NtYSx5YShmdW5jdGlvbih0LHIpe3ZhciBpLG89ITA7dC5zdWJzY3JpYmUobGEocixmdW5jdGlvbihuKXt2YXIgbD1lKG4pOyhvfHwhYShpLGwpKSYmKG89ITEsaT1sLHIubmV4dChuKSl9KSl9KX1mdW5jdGlvbiBTbWEoYSxlKXtyZXR1cm4gYT09PWV9dmFyIE9uZT1mKCgpPT57WjUoKTtycygpO09zKCk7cyhvaCwiZGlzdGluY3RVbnRpbENoYW5nZWQiKTtzKFNtYSwiZGVmYXVsdENvbXBhcmUiKX0pO3ZhciBGbmU9ZigoKT0+e30pO3ZhciBCbmU9ZigoKT0+e30pO3ZhciBIbmU9ZigoKT0+e30pO3ZhciBxbmU9ZigoKT0+e30pO3ZhciBWbmU9ZigoKT0+e30pO3ZhciBqbmU9ZigoKT0+e30pO3ZhciBVbmU9ZigoKT0+e30pO3ZhciBXbmU9ZigoKT0+e30pO3ZhciBHbmU9ZigoKT0+e30pO3ZhciBZbmU9ZigoKT0+e30pO3ZhciBLbmU9ZigoKT0+e30pO3ZhciBabmU9ZigoKT0+e30pO3ZhciBYbmU9ZigoKT0+e30pO3ZhciBRbmU9ZigoKT0+e30pO3ZhciBKbmU9ZigoKT0+e30pO3ZhciBlMWU9ZigoKT0+e30pO3ZhciB0MWU9ZigoKT0+e30pO3ZhciBhMWU9ZigoKT0+e30pO3ZhciByMWU9ZigoKT0+e30pO3ZhciBzMWU9ZigoKT0+e30pO3ZhciBpMWU9ZigoKT0+e30pO3ZhciBvMWU9ZigoKT0+e30pO3ZhciBpc3Q9ZigoKT0+e30pO3ZhciBuMWU9ZigoKT0+e30pO3ZhciBsMWU9ZigoKT0+e30pO3ZhciBjMWU9ZigoKT0+e30pO3ZhciBkMWU9ZigoKT0+e30pO3ZhciB1MWU9ZigoKT0+e30pO3ZhciBwMWU9ZigoKT0+e30pO3ZhciBmMWU9ZigoKT0+e30pO3ZhciBoMWU9ZigoKT0+e30pO3ZhciBtMWU9ZigoKT0+e30pO3ZhciBnMWU9ZigoKT0+e30pO3ZhciBiMWU9ZigoKT0+e30pO3ZhciB2MWU9ZigoKT0+e30pO3ZhciB4MWU9ZigoKT0+e30pO3ZhciB5MWU9ZigoKT0+e30pO3ZhciB3MWU9ZigoKT0+e30pO3ZhciBNMWU9ZigoKT0+e30pO3ZhciBrMWU9ZigoKT0+e30pO3ZhciBTMWU9ZigoKT0+e30pO3ZhciB6MWU9ZigoKT0+e30pO2Z1bmN0aW9uIElZKGEpe2E9PT12b2lkIDAmJihhPXt9KTt2YXIgZT1hLmNvbm5lY3Rvcix0PWU9PT12b2lkIDA/ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG1pfTplLHI9YS5yZXNldE9uRXJyb3IsaT1yPT09dm9pZCAwPyEwOnIsbz1hLnJlc2V0T25Db21wbGV0ZSxuPW89PT12b2lkIDA/ITA6byxsPWEucmVzZXRPblJlZkNvdW50WmVybyxkPWw9PT12b2lkIDA/ITA6bDtyZXR1cm4gZnVuY3Rpb24oYyl7dmFyIHAsdSxtLHY9MCx4PSExLGI9ITEsZz1zKGZ1bmN0aW9uKCl7dT8udW5zdWJzY3JpYmUoKSx1PXZvaWQgMH0sImNhbmNlbFJlc2V0IikseT1zKGZ1bmN0aW9uKCl7ZygpLHA9bT12b2lkIDAseD1iPSExfSwicmVzZXQiKSxrPXMoZnVuY3Rpb24oKXt2YXIgQz1wO3koKSxDPy51bnN1YnNjcmliZSgpfSwicmVzZXRBbmRVbnN1YnNjcmliZSIpO3JldHVybiB5YShmdW5jdGlvbihDLE4pe3YrKywhYiYmIXgmJmcoKTt2YXIgXz1tPW0/P3QoKTtOLmFkZChmdW5jdGlvbigpe3YtLSx2PT09MCYmIWImJiF4JiYodT1DMWUoayxkKSl9KSxfLnN1YnNjcmliZShOKSwhcCYmdj4wJiYocD1uZXcgcjAoe25leHQ6cyhmdW5jdGlvbih6KXtyZXR1cm4gXy5uZXh0KHopfSwibmV4dCIpLGVycm9yOnMoZnVuY3Rpb24oeil7Yj0hMCxnKCksdT1DMWUoeSxpLHopLF8uZXJyb3Ioeil9LCJlcnJvciIpLGNvbXBsZXRlOnMoZnVuY3Rpb24oKXt4PSEwLGcoKSx1PUMxZSh5LG4pLF8uY29tcGxldGUoKX0sImNvbXBsZXRlIil9KSxjcihDKS5zdWJzY3JpYmUocCkpfSkoYyl9fWZ1bmN0aW9uIEMxZShhLGUpe2Zvcih2YXIgdD1bXSxyPTI7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMl09YXJndW1lbnRzW3JdO2lmKGU9PT0hMCl7YSgpO3JldHVybn1pZihlIT09ITEpe3ZhciBpPW5ldyByMCh7bmV4dDpzKGZ1bmN0aW9uKCl7aS51bnN1YnNjcmliZSgpLGEoKX0sIm5leHQiKX0pO3JldHVybiBjcihlLmFwcGx5KHZvaWQgMCx3cyhbXSxBcih0KSkpKS5zdWJzY3JpYmUoaSl9fXZhciBOWT1mKCgpPT57QmEoKTtPbygpO1g1KCk7ajcoKTtycygpO3MoSVksInNoYXJlIik7cyhDMWUsImhhbmRsZVJlc2V0Iil9KTtmdW5jdGlvbiBSWShhLGUsdCl7dmFyIHIsaSxvLG4sbD0hMTtyZXR1cm4gYSYmdHlwZW9mIGE9PSJvYmplY3QiPyhyPWEuYnVmZmVyU2l6ZSxuPXI9PT12b2lkIDA/MS8wOnIsaT1hLndpbmRvd1RpbWUsZT1pPT09dm9pZCAwPzEvMDppLG89YS5yZWZDb3VudCxsPW89PT12b2lkIDA/ITE6byx0PWEuc2NoZWR1bGVyKTpuPWE/PzEvMCxJWSh7Y29ubmVjdG9yOnMoZnVuY3Rpb24oKXtyZXR1cm4gbmV3IEo1KG4sZSx0KX0sImNvbm5lY3RvciIpLHJlc2V0T25FcnJvcjohMCxyZXNldE9uQ29tcGxldGU6ITEscmVzZXRPblJlZkNvdW50WmVybzpsfSl9dmFyIF8xZT1mKCgpPT57TG9lKCk7TlkoKTtzKFJZLCJzaGFyZVJlcGxheSIpfSk7dmFyIFQxZT1mKCgpPT57fSk7dmFyIEwxZT1mKCgpPT57fSk7dmFyICQxZT1mKCgpPT57fSk7dmFyIEQxZT1mKCgpPT57fSk7dmFyIEExZT1mKCgpPT57fSk7ZnVuY3Rpb24gT1koKXtmb3IodmFyIGE9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspYVtlXT1hcmd1bWVudHNbZV07dmFyIHQ9YzIoYSk7cmV0dXJuIHlhKGZ1bmN0aW9uKHIsaSl7KHQ/X1koYSxyLHQpOl9ZKGEscikpLnN1YnNjcmliZShpKX0pfXZhciBFMWU9ZigoKT0+e29uZSgpO2FoKCk7cnMoKTtzKE9ZLCJzdGFydFdpdGgiKX0pO3ZhciBQMWU9ZigoKT0+e30pO3ZhciBJMWU9ZigoKT0+e30pO3ZhciBOMWU9ZigoKT0+e30pO3ZhciBSMWU9ZigoKT0+e30pO2Z1bmN0aW9uIG5oKGEpe3JldHVybiB5YShmdW5jdGlvbihlLHQpe2NyKGEpLnN1YnNjcmliZShsYSh0LGZ1bmN0aW9uKCl7cmV0dXJuIHQuY29tcGxldGUoKX0sZm4pKSwhdC5jbG9zZWQmJmUuc3Vic2NyaWJlKHQpfSl9dmFyIE8xZT1mKCgpPT57cnMoKTtPcygpO09vKCk7aTMoKTtzKG5oLCJ0YWtlVW50aWwiKX0pO3ZhciBGMWU9ZigoKT0+e30pO3ZhciBCMWU9ZigoKT0+e30pO2Z1bmN0aW9uIEZZKGEsZSl7cmV0dXJuIHlhKGZ1bmN0aW9uKHQscil7dmFyIGk9ZT8/e30sbz1pLmxlYWRpbmcsbj1vPT09dm9pZCAwPyEwOm8sbD1pLnRyYWlsaW5nLGQ9bD09PXZvaWQgMD8hMTpsLGM9ITEscD1udWxsLHU9bnVsbCxtPSExLHY9cyhmdW5jdGlvbigpe3U/LnVuc3Vic2NyaWJlKCksdT1udWxsLGQmJihnKCksbSYmci5jb21wbGV0ZSgpKX0sImVuZFRocm90dGxpbmciKSx4PXMoZnVuY3Rpb24oKXt1PW51bGwsbSYmci5jb21wbGV0ZSgpfSwiY2xlYW51cFRocm90dGxpbmciKSxiPXMoZnVuY3Rpb24oeSl7cmV0dXJuIHU9Y3IoYSh5KSkuc3Vic2NyaWJlKGxhKHIsdix4KSl9LCJzdGFydFRocm90dGxlIiksZz1zKGZ1bmN0aW9uKCl7aWYoYyl7Yz0hMTt2YXIgeT1wO3A9bnVsbCxyLm5leHQoeSksIW0mJmIoeSl9fSwic2VuZCIpO3Quc3Vic2NyaWJlKGxhKHIsZnVuY3Rpb24oeSl7Yz0hMCxwPXksISh1JiYhdS5jbG9zZWQpJiYobj9nKCk6Yih5KSl9LGZ1bmN0aW9uKCl7bT0hMCwhKGQmJmMmJnUmJiF1LmNsb3NlZCkmJnIuY29tcGxldGUoKX0pKX0pfXZhciBCWT1mKCgpPT57cnMoKTtPcygpO09vKCk7cyhGWSwidGhyb3R0bGUiKX0pO2Z1bmN0aW9uIEhZKGEsZSx0KXtlPT09dm9pZCAwJiYoZT14byk7dmFyIHI9dDkoYSxlKTtyZXR1cm4gRlkoZnVuY3Rpb24oKXtyZXR1cm4gcn0sdCl9dmFyIEgxZT1mKCgpPT57d2woKTtCWSgpO1RZKCk7cyhIWSwidGhyb3R0bGVUaW1lIil9KTtmdW5jdGlvbiBuc3QoYSl7cmV0dXJuIGE9PT12b2lkIDAmJihhPXhvKSx5YShmdW5jdGlvbihlLHQpe3ZhciByPWEubm93KCk7ZS5zdWJzY3JpYmUobGEodCxmdW5jdGlvbihpKXt2YXIgbz1hLm5vdygpLG49by1yO3I9byx0Lm5leHQobmV3IG9zdChpLG4pKX0pKX0pfXZhciBvc3QscTFlPWYoKCk9Pnt3bCgpO3JzKCk7T3MoKTtzKG5zdCwidGltZUludGVydmFsIik7b3N0PShmdW5jdGlvbigpe2Z1bmN0aW9uIGEoZSx0KXt0aGlzLnZhbHVlPWUsdGhpcy5pbnRlcnZhbD10fXJldHVybiBzKGEsIlRpbWVJbnRlcnZhbCIpLGF9KSgpfSk7dmFyIFYxZT1mKCgpPT57fSk7dmFyIGoxZT1mKCgpPT57fSk7dmFyIFUxZT1mKCgpPT57fSk7dmFyIFcxZT1mKCgpPT57fSk7dmFyIEcxZT1mKCgpPT57fSk7dmFyIFkxZT1mKCgpPT57fSk7dmFyIEsxZT1mKCgpPT57fSk7dmFyIFoxZT1mKCgpPT57fSk7dmFyIFgxZT1mKCgpPT57fSk7dmFyIGxzdD1mKCgpPT57fSk7dmFyIFExZT1mKCgpPT57fSk7dmFyIGxoPWYoKCk9PntCaSgpO0VhdCgpO1U3KCk7TmF0KCk7WDUoKTtSYXQoKTtMb2UoKTtGYXQoKTtZYXQoKTt3bCgpO1FhdCgpO2FydCgpO3NydCgpO1BvZSgpO24yKCk7ajcoKTt2cnQoKTt3b2UoKTtpMygpO1o1KCk7eHJ0KCk7d3J0KCk7TXJ0KCk7a3J0KCk7eXJ0KCk7U3J0KCk7Q29lKCk7enJ0KCk7d1koKTtmb2UoKTtUcnQoKTtMcnQoKTtJcnQoKTtvbmUoKTtGcnQoKTtPcnQoKTtuWSgpO0JydCgpO1E3KCk7cXJ0KCk7VnJ0KCk7anJ0KCk7VXJ0KCk7V3J0KCk7R3J0KCk7bG5lKCk7Sm9lKCk7S3J0KCk7WnJ0KCk7WHJ0KCk7UXJ0KCk7SnJ0KCk7dG5lKCk7VFkoKTtlc3QoKTt0c3QoKTtRb2UoKTtuWSgpO2xuZSgpO2FzdCgpO0c1KCk7ZG5lKCk7dW5lKCk7cG5lKCk7Zm5lKCk7aG5lKCk7bW5lKCk7Z25lKCk7Ym5lKCk7d25lKCk7eW5lKCk7TW5lKCk7Q1koKTtrbmUoKTtTbmUoKTt6bmUoKTtDbmUoKTtfbmUoKTtUbmUoKTtMbmUoKTskbmUoKTtJbmUoKTtQbmUoKTtObmUoKTtSbmUoKTtPbmUoKTtGbmUoKTtIbmUoKTtxbmUoKTtWbmUoKTtXbmUoKTtVbmUoKTtqbmUoKTtHbmUoKTtjbmUoKTtZbmUoKTtLbmUoKTtabmUoKTtYbmUoKTtRbmUoKTtBbmUoKTtKbmUoKTt0MWUoKTtKNygpO0VuZSgpO2ExZSgpO3IxZSgpO1NZKCk7czFlKCk7ZTkoKTtpMWUoKTtvMWUoKTtuMWUoKTtsMWUoKTtjMWUoKTtaNygpO2QxZSgpO3UxZSgpO3AxZSgpO2YxZSgpO2gxZSgpO20xZSgpO2cxZSgpO2IxZSgpO3ZuZSgpO3YxZSgpO3gxZSgpO3kxZSgpO3cxZSgpO3NZKCk7TTFlKCk7azFlKCk7UzFlKCk7ejFlKCk7TlkoKTtfMWUoKTtUMWUoKTtMMWUoKTskMWUoKTtEMWUoKTtBMWUoKTtFMWUoKTtYNygpO0kxZSgpO1AxZSgpO04xZSgpO1IxZSgpO0RuZSgpO2UxZSgpO08xZSgpO0YxZSgpO0IxZSgpO0JZKCk7SDFlKCk7Qm5lKCk7cTFlKCk7d1koKTtWMWUoKTtqMWUoKTt4bmUoKTtVMWUoKTtXMWUoKTtHMWUoKTtZMWUoKTtLMWUoKTtaMWUoKTtYMWUoKTtRMWUoKX0pO3ZhciBjc3Q9ZigoKT0+e30pO3ZhciBkc3Q9ZigoKT0+e30pO3ZhciB1c3Q9ZigoKT0+e2RuZSgpO3VuZSgpO3BuZSgpO2ZuZSgpO2huZSgpO21uZSgpO2duZSgpO2JuZSgpO3duZSgpO3luZSgpO3JzdCgpO01uZSgpO3NzdCgpO0NZKCk7a25lKCk7U25lKCk7em5lKCk7Q25lKCk7X25lKCk7VG5lKCk7TG5lKCk7JG5lKCk7SW5lKCk7UG5lKCk7Tm5lKCk7Um5lKCk7T25lKCk7Rm5lKCk7SG5lKCk7cW5lKCk7Vm5lKCk7V25lKCk7VW5lKCk7am5lKCk7R25lKCk7Y25lKCk7WW5lKCk7S25lKCk7Wm5lKCk7WG5lKCk7UW5lKCk7QW5lKCk7Sm5lKCk7dDFlKCk7SjcoKTtFbmUoKTthMWUoKTtyMWUoKTtpc3QoKTtTWSgpO3MxZSgpO2U5KCk7aTFlKCk7bzFlKCk7bjFlKCk7bDFlKCk7YzFlKCk7WjcoKTtkMWUoKTt1MWUoKTtjc3QoKTtwMWUoKTtmMWUoKTtoMWUoKTttMWUoKTtnMWUoKTtkc3QoKTtiMWUoKTt2bmUoKTt2MWUoKTt4MWUoKTt5MWUoKTt3MWUoKTtzWSgpO00xZSgpO2sxZSgpO1MxZSgpO3oxZSgpO05ZKCk7XzFlKCk7VDFlKCk7TDFlKCk7JDFlKCk7RDFlKCk7QTFlKCk7RTFlKCk7WDcoKTtJMWUoKTtQMWUoKTtOMWUoKTtSMWUoKTtEbmUoKTtlMWUoKTtPMWUoKTtGMWUoKTtCMWUoKTtCWSgpO0gxZSgpO0JuZSgpO3ExZSgpO3dZKCk7VjFlKCk7ajFlKCk7eG5lKCk7VTFlKCk7VzFlKCk7RzFlKCk7WTFlKCk7SzFlKCk7WjFlKCk7bHN0KCk7WDFlKCk7UTFlKCl9KTt2YXIgY2g9e307bHQoY2gse09ic2VydmFibGU6KCk9PkZ0LFJlcGxheVN1YmplY3Q6KCk9Pko1LFN1YmplY3Q6KCk9Pm1pLFN1YnNjcmlwdGlvbjooKT0+anIsZnJvbTooKT0+ZDIsZnJvbUV2ZW50OigpPT51MyxvZjooKT0+YzMsb3BzOigpPT50OWF9KTt2YXIgdDlhLHFZPWYoKCk9PntsaCgpO3VzdCgpO3Q5YT17YnVmZmVyOiRZLGJ1ZmZlckNvdW50OkRZLGJ1ZmZlclRpbWU6QVksZGVib3VuY2U6RVksZGVib3VuY2VUaW1lOlBZLGZpbHRlcjpMWSxtYXA6dTIsc3RhcnRXaXRoOk9ZLHRha2VVbnRpbDpuaCx0aHJvdHRsZVRpbWU6SFl9fSk7dmFyIEoxZSxwc3Q9ZigoKT0+e1FHKCk7cVkoKTtKMWU9Y2xhc3N7c3RhdGlje3ModGhpcywiT2JzZXJ2YWJsZW1hcCIpfWNvbnN0cnVjdG9yKCl7dGhpcy5vYnNlcnZhYmxlRXZlbnRFbWl0dGVyQnVuZGxlQXJyYXk9bmV3IEFycmF5LHRoaXMub2JzZXJ2YWJsZUV2ZW50VGFyZ2V0QnVuZGxlQXJyYXk9bmV3IEFycmF5fWdldFN1YmplY3RGb3JFbWl0dGVyRXZlbnQoZSx0KXtsZXQgcj10aGlzLm9ic2VydmFibGVFdmVudEVtaXR0ZXJCdW5kbGVBcnJheS5maW5kKGk9PmkuZXZlbnRSZWY9PT1lJiZpLmV2ZW50PT09dCk7aWYocilyZXR1cm4gci5zdWJqZWN0O3tsZXQgaT11MyhlLHQpLG89bmV3IG1pO2kuc3Vic2NyaWJlKG8pO2xldCBuPXtzdWJqZWN0Om8sZXZlbnRSZWY6ZSxldmVudDp0fTtyZXR1cm4gdGhpcy5vYnNlcnZhYmxlRXZlbnRFbWl0dGVyQnVuZGxlQXJyYXkucHVzaChuKSxuLnN1YmplY3R9fWdldFN1YmplY3RGb3JFdmVudFRhcmdldChlLHQpe2xldCByPXRoaXMub2JzZXJ2YWJsZUV2ZW50VGFyZ2V0QnVuZGxlQXJyYXkuZmluZChpPT5pLmV2ZW50UmVmPT09ZSYmaS5ldmVudD09PXQpO2lmKHIpcmV0dXJuIHIuc3ViamVjdDt7bGV0IG89e3N1YmplY3Q6bmV3IG1pLGV2ZW50UmVmOmUsZXZlbnQ6dH07cmV0dXJuIHRoaXMub2JzZXJ2YWJsZUV2ZW50VGFyZ2V0QnVuZGxlQXJyYXkucHVzaChvKSxvLnN1YmplY3R9fX19KTt2YXIgZTJlLGZzdD1mKCgpPT57UUcoKTtxWSgpO2UyZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJPYnNlcnZhYmxlSW50YWtlIil9Y29uc3RydWN0b3IoKXt0aGlzLm9ic2VydmFibGVGdW5jdGlvbnM9e25leHQ6cyhlPT57fSwibmV4dCIpLGNvbXBsZXRlOnMoZT0+e30sImNvbXBsZXRlIil9LHRoaXMuZ2VuZXJhdG9yPW51bGwsdGhpcy5idWZmZXJlZD0hMSx0aGlzLnBheWxvYWRCdWZmZXI9W10sdGhpcy5vYnNlcnZhYmxlPW5ldyBGdChlPT57dGhpcy5vYnNlcnZhYmxlRnVuY3Rpb25zLm5leHQ9KC4uLnQpPT5lLm5leHQodCksdGhpcy5vYnNlcnZhYmxlRnVuY3Rpb25zLmNvbXBsZXRlPSgpPT4odGhpcy5jb21wbGV0ZWREZWZmZXJlZC5yZXNvbHZlKCksZS5jb21wbGV0ZSgpKX0pLHRoaXMuY29tcGxldGVkRGVmZmVyZWQ9ZXQuZGVmZXIoKSx0aGlzLmNvbXBsZXRlZD10aGlzLmNvbXBsZXRlZERlZmZlcmVkLnByb21pc2V9c2V0T2JzZXJ2YWJsZShlKXt0aGlzLm9ic2VydmFibGU9ZX1wdXNoKGUpe3RoaXMuYnVmZmVyZWQ/dGhpcy5wYXlsb2FkQnVmZmVyLnB1c2goZSk6dGhpcy5pbnRlcm5hbFB1c2goZSl9cHVzaE1hbnkoZSl7Zm9yKGxldCB0IG9mIGUpdGhpcy5wdXNoKHQpfXNldEdlbmVyYXRvcihlKXt0aGlzLmdlbmVyYXRvcj1lfW1ha2VCdWZmZXJlZCgpe3RoaXMuYnVmZmVyZWQ9ITB9c3Vic2NyaWJlKC4uLmUpe3JldHVybiB0aGlzLm9ic2VydmFibGUuc3Vic2NyaWJlKC4uLmUpfXJlcXVlc3QoZSl7aWYoZSE9PTApZm9yKGxldCB0PTA7dCE9PWU7dCsrKWlmKHRoaXMucGF5bG9hZEJ1ZmZlci5sZW5ndGg+MCl0aGlzLmludGVybmFsUHVzaCh0aGlzLnBheWxvYWRCdWZmZXIuc2hpZnQoKSk7ZWxzZXtsZXQgcj10aGlzLmdlbmVyYXRvci5uZXh0KCk7dGhpcy5pbnRlcm5hbFB1c2goci52YWx1ZSl9fXNpZ25hbENvbXBsZXRlKCl7dGhpcy5vYnNlcnZhYmxlRnVuY3Rpb25zLmNvbXBsZXRlKCl9aW50ZXJuYWxQdXNoKGUpe3RoaXMub2JzZXJ2YWJsZUZ1bmN0aW9ucy5uZXh0KGUpfX19KTtmdW5jdGlvbiBhOWEoYSl7cmV0dXJuIG5ldyBGdChlPT57bGV0IHQ9cygoKT0+YS5wYXVzZSgpLCJwYXVzZVN0cmVhbSIpLHI9cygoKT0+cHJvY2Vzcy5uZXh0VGljaygoKT0+YS5yZXN1bWUoKSksInJlc3VtZVN0cmVhbSIpLGk9cyhvPT57dCgpLGUubmV4dChvKSxyKCl9LCJvbkRhdGEiKTtyZXR1cm4gYS5vbigiZGF0YSIsaSksYS5vbigiZXJyb3IiLG89PmUuZXJyb3IobykpLGEub24oImVuZCIsKCk9PmUuY29tcGxldGUoKSksYS5vbigiY2xvc2UiLCgpPT5lLmNvbXBsZXRlKCkpLCgpPT57YS5yZW1vdmVMaXN0ZW5lcigiZGF0YSIsaSksYS5yZW1vdmVMaXN0ZW5lcigiZXJyb3IiLGUuZXJyb3IpLGEucmVtb3ZlTGlzdGVuZXIoImVuZCIsZS5jb21wbGV0ZSksYS5yZW1vdmVMaXN0ZW5lcigiY2xvc2UiLGUuY29tcGxldGUpfX0pfXZhciBoc3Q9ZigoKT0+e2xoKCk7cyhhOWEsImZyb21TdHJlYW1XaXRoQmFja3ByZXNzdXJlIil9KTt2YXIgQ2E9e307bHQoQ2Ese09ic2VydmFibGVJbnRha2U6KCk9PmUyZSxPYnNlcnZhYmxlbWFwOigpPT5KMWUsZnJvbVN0cmVhbVdpdGhCYWNrcHJlc3N1cmU6KCk9PmE5YSxyeGpzOigpPT5jaH0pO3ZhciBwMj1mKCgpPT57UUcoKTtwc3QoKTtmc3QoKTtoc3QoKTtxWSgpfSk7ZnVuY3Rpb24gJChhKXtyZXR1cm4oZSx0KT0+dHlwZW9mIHQ9PSJvYmplY3QiP21zdChhLGUsdCk6KChyLGksbyk9PntsZXQgbj1pLmhhc093blByb3BlcnR5KG8pO3JldHVybiBpLmNvbnN0cnVjdG9yLmNyZWF0ZVByb3BlcnR5KG8sciksbj9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGksbyk6dm9pZCAwfSkoYSxlLHQpfXZhciByOWEsbXN0LFZZPWYoKCk9PntONygpO3I5YT17YXR0cmlidXRlOiEwLHR5cGU6U3RyaW5nLGNvbnZlcnRlcjpqNSxyZWZsZWN0OiExLGhhc0NoYW5nZWQ6STd9LG1zdD1zKChhPXI5YSxlLHQpPT57bGV0e2tpbmQ6cixtZXRhZGF0YTppfT10LG89Z2xvYmFsVGhpcy5saXRQcm9wZXJ0eU1ldGFkYXRhLmdldChpKTtpZihvPT09dm9pZCAwJiZnbG9iYWxUaGlzLmxpdFByb3BlcnR5TWV0YWRhdGEuc2V0KGksbz1uZXcgTWFwKSxyPT09InNldHRlciImJigoYT1PYmplY3QuY3JlYXRlKGEpKS53cmFwcGVkPSEwKSxvLnNldCh0Lm5hbWUsYSkscj09PSJhY2Nlc3NvciIpe2xldHtuYW1lOm59PXQ7cmV0dXJue3NldChsKXtsZXQgZD1lLmdldC5jYWxsKHRoaXMpO2Uuc2V0LmNhbGwodGhpcyxsKSx0aGlzLnJlcXVlc3RVcGRhdGUobixkLGEsITAsbCl9LGluaXQobCl7cmV0dXJuIGwhPT12b2lkIDAmJnRoaXMuQyhuLHZvaWQgMCxhLGwpLGx9fX1pZihyPT09InNldHRlciIpe2xldHtuYW1lOm59PXQ7cmV0dXJuIGZ1bmN0aW9uKGwpe2xldCBkPXRoaXNbbl07ZS5jYWxsKHRoaXMsbCksdGhpcy5yZXF1ZXN0VXBkYXRlKG4sZCxhLCEwLGwpfX10aHJvdyBFcnJvcigiVW5zdXBwb3J0ZWQgZGVjb3JhdG9yIGxvY2F0aW9uOiAiK3IpfSwiciIpO3MoJCwibiIpfSk7dmFyIGdzdD1mKCgpPT57VlkoKX0pO3ZhciBic3Q9ZigoKT0+e30pO3ZhciBQdD17fTtsdChQdCx7VGltZW91dDooKT0+alksZGVsYXlGb3I6KCk9PnZzdCxkZWxheUZvclJhbmRvbTooKT0+czlhfSk7dmFyIHZzdCxzOWEsalksTWw9ZigoKT0+e0tzKCk7dnN0PXMoYXN5bmMoYSxlLHQ9ITEpPT4oYXdhaXQgbmV3IGpZKGEsbnVsbCx0KS5wcm9taXNlLGUpLCJkZWxheUZvciIpLHM5YT1zKGFzeW5jKGEsZSx0LHI9ITEpPT4oYXdhaXQgdnN0KE1hdGgucmFuZG9tKCkqKGUtYSkrYSxudWxsLHIpLHQpLCJkZWxheUZvclJhbmRvbSIpLGpZPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRpbWVvdXQiKX1jb25zdHJ1Y3RvcihlLHQscj0hMSl7dGhpcy5fY2FuY2VsbGVkPSExLHRoaXMudGltZW91dEluTWlsbGlzPWUsdGhpcy5fZGVmZXJyZWQ9dDAoKSx0aGlzLnByb21pc2U9dGhpcy5fZGVmZXJyZWQucHJvbWlzZSx0aGlzLl90aW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLl9jYW5jZWxsZWR8fHRoaXMuX2RlZmVycmVkLnJlc29sdmUodCl9LGUpLHRoaXMuc3RhcnRlZD1EYXRlLm5vdygpLHImJnRoaXMubWFrZVVucmVmZWQoKX1tYWtlVW5yZWZlZCgpe3RoaXMuX3RpbWVvdXQudW5yZWY/LigpfWNhbmNlbCgpe3RoaXMuX2NhbmNlbGxlZD0hMCxjbGVhclRpbWVvdXQodGhpcy5fdGltZW91dCl9Z2V0VGltZUxlZnQoKXtsZXQgZT10aGlzLnN0YXJ0ZWQrdGhpcy50aW1lb3V0SW5NaWxsaXMtRGF0ZS5ub3coKTtyZXR1cm4gZT4wP2U6MH19fSk7dmFyIGhuPXt9O3ZhciBwMz1mKCgpPT57fSk7ZnVuY3Rpb24gZjMoYSl7aWYodHlwZW9mIGEhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgc3RyaW5nIik7cmV0dXJuIGEucmVwbGFjZSgvW3xcXHt9KClbXF1eJCsqPy5dL2csIlxcJCYiKS5yZXBsYWNlKC8tL2csIlxceDJkIil9dmFyIFVZPWYoKCk9PntzKGYzLCJlc2NhcGVTdHJpbmdSZWdleHAiKX0pO3ZhciBhOT17fTtsdChhOSx7aXNNYXRjaDooKT0+bjlhLG1hdGNoZXI6KCk9Pm85YX0pO2Z1bmN0aW9uIG85YShhLGUsdCl7cmV0dXJuIHlzdChhLGUsdCwhMSl9ZnVuY3Rpb24gbjlhKGEsZSx0KXtyZXR1cm4geXN0KGEsZSx0LCEwKS5sZW5ndGg+MH12YXIgdDJlLHhzdCxpOWEseXN0LHdzdD1mKCgpPT57VVkoKTt0MmU9bmV3IE1hcCx4c3Q9cygoYSxlKT0+e2lmKCFBcnJheS5pc0FycmF5KGEpKXN3aXRjaCh0eXBlb2YgYSl7Y2FzZSJzdHJpbmciOmE9W2FdO2JyZWFrO2Nhc2UidW5kZWZpbmVkIjphPVtdO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgJyR7ZX0nIHRvIGJlIGEgc3RyaW5nIG9yIGFuIGFycmF5LCBidXQgZ290IGEgdHlwZSBvZiAnJHt0eXBlb2YgYX0nYCl9cmV0dXJuIGEuZmlsdGVyKHQ9PntpZih0eXBlb2YgdCE9InN0cmluZyIpe2lmKHR5cGVvZiB0PiJ1IilyZXR1cm4hMTt0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCAnJHtlfScgdG8gYmUgYW4gYXJyYXkgb2Ygc3RyaW5ncywgYnV0IGZvdW5kIGEgdHlwZSBvZiAnJHt0eXBlb2YgdH0nIGluIHRoZSBhcnJheWApfXJldHVybiEwfSl9LCJzYW5pdGl6ZUFycmF5IiksaTlhPXMoKGEsZSk9PntlPXtjYXNlU2Vuc2l0aXZlOiExLC4uLmV9O2xldCB0PWErSlNPTi5zdHJpbmdpZnkoZSk7aWYodDJlLmhhcyh0KSlyZXR1cm4gdDJlLmdldCh0KTtsZXQgcj1hWzBdPT09IiEiO3ImJihhPWEuc2xpY2UoMSkpLGE9ZjMoYSkucmVwbGFjZSgvXFxcKi9nLCJbXFxzXFxTXSoiKTtsZXQgaT1uZXcgUmVnRXhwKGBeJHthfSRgLGUuY2FzZVNlbnNpdGl2ZT8iIjoiaSIpO3JldHVybiBpLm5lZ2F0ZWQ9cix0MmUuc2V0KHQsaSksaX0sIm1ha2VSZWdleHAiKSx5c3Q9cygoYSxlLHQscik9PntpZihhPXhzdChhLCJpbnB1dHMiKSxlPXhzdChlLCJwYXR0ZXJucyIpLGUubGVuZ3RoPT09MClyZXR1cm5bXTtlPWUubWFwKG49Pmk5YShuLHQpKTtsZXR7YWxsUGF0dGVybnM6aX09dHx8e30sbz1bXTtmb3IobGV0IG4gb2YgYSl7bGV0IGwsZD1bLi4uZV0uZmlsbCghMSk7Zm9yKGxldFtjLHBdb2YgZS5lbnRyaWVzKCkpaWYocC50ZXN0KG4pJiYoZFtjXT0hMCxsPSFwLm5lZ2F0ZWQsIWwpKWJyZWFrO2lmKCEobD09PSExfHxsPT09dm9pZCAwJiZlLnNvbWUoYz0+IWMubmVnYXRlZCl8fGkmJmQuc29tZSgoYyxwKT0+IWMmJiFlW3BdLm5lZ2F0ZWQpKSYmKG8ucHVzaChuKSxyKSlicmVha31yZXR1cm4gb30sImJhc2VNYXRjaGVyIik7cyhvOWEsIm1hdGNoZXIiKTtzKG45YSwiaXNNYXRjaCIpfSk7dmFyIE1zdD1mKCgpPT57d3N0KCl9KTt2YXIgcjk9e307bHQocjkse1NtYXJ0TWF0Y2g6KCk9PmEyZX0pO3ZhciBhMmUsa3N0PWYoKCk9PntNc3QoKTthMmU9Y2xhc3N7c3RhdGlje3ModGhpcywiU21hcnRNYXRjaCIpfWNvbnN0cnVjdG9yKGUpe3RoaXMud2lsZGNhcmQ9ZX1tYXRjaChlKXtyZXR1cm4gYTkuaXNNYXRjaChlLHRoaXMud2lsZGNhcmQpfX19KTt2YXIgbjk9e307bHQobjkse0Nyb246KCk9PkxzdCxDcm9uRGF0ZTooKT0+a3MsQ3JvblBhdHRlcm46KCk9PldZLHNjaGVkdWxlZEpvYnM6KCk9PmRofSk7ZnVuY3Rpb24gczkoYSl7cmV0dXJuIERhdGUuVVRDKGEueSxhLm0tMSxhLmQsYS5oLGEuaSxhLnMpfWZ1bmN0aW9uIHIyZShhLGUpe3JldHVybiBhLnk9PT1lLnkmJmEubT09PWUubSYmYS5kPT09ZS5kJiZhLmg9PT1lLmgmJmEuaT09PWUuaSYmYS5zPT09ZS5zfWZ1bmN0aW9uIGM5YShhLGUpe2xldCB0PW5ldyBEYXRlKERhdGUucGFyc2UoYSkpO2lmKGlzTmFOKHQpKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBJU084NjAxIHBhc3NlZCB0byB0aW1lem9uZSBwYXJzZXIuIik7bGV0IHI9YS5zdWJzdHJpbmcoOSk7cmV0dXJuIHIuaW5jbHVkZXMoIloiKXx8ci5pbmNsdWRlcygiKyIpfHxyLmluY2x1ZGVzKCItIik/czJlKHQuZ2V0VVRDRnVsbFllYXIoKSx0LmdldFVUQ01vbnRoKCkrMSx0LmdldFVUQ0RhdGUoKSx0LmdldFVUQ0hvdXJzKCksdC5nZXRVVENNaW51dGVzKCksdC5nZXRVVENTZWNvbmRzKCksIkV0Yy9VVEMiKTpzMmUodC5nZXRGdWxsWWVhcigpLHQuZ2V0TW9udGgoKSsxLHQuZ2V0RGF0ZSgpLHQuZ2V0SG91cnMoKSx0LmdldE1pbnV0ZXMoKSx0LmdldFNlY29uZHMoKSxlKX1mdW5jdGlvbiBTc3QoYSxlLHQpe3JldHVybiB6c3QoYzlhKGEsZSksdCl9ZnVuY3Rpb24genN0KGEsZSl7bGV0IHQ9bmV3IERhdGUoczkoYSkpLHI9aTkodCxhLnR6KSxpPXM5KGEpLG89czkociksbj1pLW8sbD1uZXcgRGF0ZSh0LmdldFRpbWUoKStuKSxkPWk5KGwsYS50eik7aWYocjJlKGQsYSkpe2xldCB1PW5ldyBEYXRlKGwuZ2V0VGltZSgpLTM2ZTUpLG09aTkodSxhLnR6KTtyZXR1cm4gcjJlKG0sYSk/dTpsfWxldCBjPW5ldyBEYXRlKGwuZ2V0VGltZSgpK3M5KGEpLXM5KGQpKSxwPWk5KGMsYS50eik7aWYocjJlKHAsYSkpcmV0dXJuIGM7aWYoZSl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgZGF0ZSBwYXNzZWQgdG8gZnJvbVRaKCkiKTtyZXR1cm4gbC5nZXRUaW1lKCk+Yy5nZXRUaW1lKCk/bDpjfWZ1bmN0aW9uIGk5KGEsZSl7bGV0IHQscjt0cnl7dD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiZW4tVVMiLHt0aW1lWm9uZTplLHllYXI6Im51bWVyaWMiLG1vbnRoOiJudW1lcmljIixkYXk6Im51bWVyaWMiLGhvdXI6Im51bWVyaWMiLG1pbnV0ZToibnVtZXJpYyIsc2Vjb25kOiJudW1lcmljIixob3VyMTI6ITF9KSxyPXQuZm9ybWF0VG9QYXJ0cyhhKX1jYXRjaChvKXtsZXQgbj1vIGluc3RhbmNlb2YgRXJyb3I/by5tZXNzYWdlOlN0cmluZyhvKTt0aHJvdyBuZXcgUmFuZ2VFcnJvcihgdG9UWjogSW52YWxpZCB0aW1lem9uZSAnJHtlfScgb3IgZGF0ZS4gUGxlYXNlIHByb3ZpZGUgYSB2YWxpZCBJQU5BIHRpbWV6b25lIChlLmcuLCAnQW1lcmljYS9OZXdfWW9yaycsICdFdXJvcGUvU3RvY2tob2xtJykuIE9yaWdpbmFsIGVycm9yOiAke259YCl9bGV0IGk9e3llYXI6MCxtb250aDowLGRheTowLGhvdXI6MCxtaW51dGU6MCxzZWNvbmQ6MH07Zm9yKGxldCBvIG9mIHIpKG8udHlwZT09PSJ5ZWFyInx8by50eXBlPT09Im1vbnRoInx8by50eXBlPT09ImRheSJ8fG8udHlwZT09PSJob3VyInx8by50eXBlPT09Im1pbnV0ZSJ8fG8udHlwZT09PSJzZWNvbmQiKSYmKGlbby50eXBlXT1wYXJzZUludChvLnZhbHVlLDEwKSk7aWYoaXNOYU4oaS55ZWFyKXx8aXNOYU4oaS5tb250aCl8fGlzTmFOKGkuZGF5KXx8aXNOYU4oaS5ob3VyKXx8aXNOYU4oaS5taW51dGUpfHxpc05hTihpLnNlY29uZCkpdGhyb3cgbmV3IEVycm9yKGB0b1RaOiBGYWlsZWQgdG8gcGFyc2UgYWxsIGRhdGUgY29tcG9uZW50cyBmcm9tIHRpbWV6b25lICcke2V9Jy4gVGhpcyBtYXkgaW5kaWNhdGUgYW4gaW52YWxpZCBkYXRlIG9yIHRpbWV6b25lIGNvbmZpZ3VyYXRpb24uIFBhcnNlZCBjb21wb25lbnRzOiAke0pTT04uc3RyaW5naWZ5KGkpfWApO3JldHVybiBpLmhvdXI9PT0yNCYmKGkuaG91cj0wKSx7eTppLnllYXIsbTppLm1vbnRoLGQ6aS5kYXksaDppLmhvdXIsaTppLm1pbnV0ZSxzOmkuc2Vjb25kLHR6OmV9fWZ1bmN0aW9uIHMyZShhLGUsdCxyLGksbyxuKXtyZXR1cm57eTphLG06ZSxkOnQsaDpyLGksczpvLHR6Om59fWZ1bmN0aW9uIGQ5YShhKXtpZihhPT09dm9pZCAwJiYoYT17fSksZGVsZXRlIGEubmFtZSxhLmxlZ2FjeU1vZGUhPT12b2lkIDAmJmEuZG9tQW5kRG93PT09dm9pZCAwP2EuZG9tQW5kRG93PSFhLmxlZ2FjeU1vZGU6YS5kb21BbmREb3c9PT12b2lkIDAmJihhLmRvbUFuZERvdz0hMSksYS5sZWdhY3lNb2RlPSFhLmRvbUFuZERvdyxhLnBhdXNlZD1hLnBhdXNlZD09PXZvaWQgMD8hMTphLnBhdXNlZCxhLm1heFJ1bnM9YS5tYXhSdW5zPT09dm9pZCAwPzEvMDphLm1heFJ1bnMsYS5jYXRjaD1hLmNhdGNoPT09dm9pZCAwPyExOmEuY2F0Y2gsYS5pbnRlcnZhbD1hLmludGVydmFsPT09dm9pZCAwPzA6cGFyc2VJbnQoYS5pbnRlcnZhbC50b1N0cmluZygpLDEwKSxhLnV0Y09mZnNldD1hLnV0Y09mZnNldD09PXZvaWQgMD92b2lkIDA6cGFyc2VJbnQoYS51dGNPZmZzZXQudG9TdHJpbmcoKSwxMCksYS5kYXlPZmZzZXQ9YS5kYXlPZmZzZXQ9PT12b2lkIDA/MDpwYXJzZUludChhLmRheU9mZnNldC50b1N0cmluZygpLDEwKSxhLnVucmVmPWEudW5yZWY9PT12b2lkIDA/ITE6YS51bnJlZixhLm1vZGU9YS5tb2RlPT09dm9pZCAwPyJhdXRvIjphLm1vZGUsYS5hbHRlcm5hdGl2ZVdlZWtkYXlzPWEuYWx0ZXJuYXRpdmVXZWVrZGF5cz09PXZvaWQgMD8hMTphLmFsdGVybmF0aXZlV2Vla2RheXMsYS5zbG9wcHlSYW5nZXM9YS5zbG9wcHlSYW5nZXM9PT12b2lkIDA/ITE6YS5zbG9wcHlSYW5nZXMsIVsiYXV0byIsIjUtcGFydCIsIjYtcGFydCIsIjctcGFydCIsIjUtb3ItNi1wYXJ0cyIsIjYtb3ItNy1wYXJ0cyJdLmluY2x1ZGVzKGEubW9kZSkpdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogbW9kZSBtdXN0IGJlIG9uZSBvZiAnYXV0bycsICc1LXBhcnQnLCAnNi1wYXJ0JywgJzctcGFydCcsICc1LW9yLTYtcGFydHMnLCBvciAnNi1vci03LXBhcnRzJy4iKTtpZihhLnN0YXJ0QXQmJihhLnN0YXJ0QXQ9bmV3IGtzKGEuc3RhcnRBdCxhLnRpbWV6b25lKSksYS5zdG9wQXQmJihhLnN0b3BBdD1uZXcga3MoYS5zdG9wQXQsYS50aW1lem9uZSkpLGEuaW50ZXJ2YWwhPT1udWxsKXtpZihpc05hTihhLmludGVydmFsKSl0aHJvdyBuZXcgRXJyb3IoIkNyb25PcHRpb25zOiBTdXBwbGllZCB2YWx1ZSBmb3IgaW50ZXJ2YWwgaXMgbm90IGEgbnVtYmVyIik7aWYoYS5pbnRlcnZhbDwwKXRocm93IG5ldyBFcnJvcigiQ3Jvbk9wdGlvbnM6IFN1cHBsaWVkIHZhbHVlIGZvciBpbnRlcnZhbCBjYW4gbm90IGJlIG5lZ2F0aXZlIil9aWYoYS51dGNPZmZzZXQhPT12b2lkIDApe2lmKGlzTmFOKGEudXRjT2Zmc2V0KSl0aHJvdyBuZXcgRXJyb3IoIkNyb25PcHRpb25zOiBJbnZhbGlkIHZhbHVlIHBhc3NlZCBmb3IgdXRjT2Zmc2V0LCBzaG91bGQgYmUgbnVtYmVyIHJlcHJlc2VudGluZyBtaW51dGVzIG9mZnNldCBmcm9tIFVUQy4iKTtpZihhLnV0Y09mZnNldDwtODcwfHxhLnV0Y09mZnNldD44NzApdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogdXRjT2Zmc2V0IG91dCBvZiBib3VuZHMuIik7aWYoYS51dGNPZmZzZXQhPT12b2lkIDAmJmEudGltZXpvbmUpdGhyb3cgbmV3IEVycm9yKCJDcm9uT3B0aW9uczogQ29tYmluaW5nICd1dGNPZmZzZXQnIHdpdGggJ3RpbWV6b25lJyBpcyBub3QgYWxsb3dlZC4iKX1pZihhLnVucmVmIT09ITAmJmEudW5yZWYhPT0hMSl0aHJvdyBuZXcgRXJyb3IoIkNyb25PcHRpb25zOiBVbnJlZiBzaG91bGQgYmUgZWl0aGVyIHRydWUsIGZhbHNlIG9yIHVuZGVmaW5lZChmYWxzZSkuIik7aWYoYS5kYXlPZmZzZXQhPT12b2lkIDAmJmEuZGF5T2Zmc2V0IT09MCYmaXNOYU4oYS5kYXlPZmZzZXQpKXRocm93IG5ldyBFcnJvcigiQ3Jvbk9wdGlvbnM6IEludmFsaWQgdmFsdWUgcGFzc2VkIGZvciBkYXlPZmZzZXQsIHNob3VsZCBiZSBhIG51bWJlciByZXByZXNlbnRpbmcgZGF5cyB0byBvZmZzZXQuIik7cmV0dXJuIGF9ZnVuY3Rpb24gbzkoYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKT09PSJbb2JqZWN0IEZ1bmN0aW9uXSJ8fHR5cGVvZiBhPT0iZnVuY3Rpb24ifHxhIGluc3RhbmNlb2YgRnVuY3Rpb259ZnVuY3Rpb24gdTlhKGEpe3JldHVybiBvOShhKX1mdW5jdGlvbiBwOWEoYSl7dHlwZW9mIERlbm88InUiJiZ0eXBlb2YgRGVuby51bnJlZlRpbWVyPCJ1Ij9EZW5vLnVucmVmVGltZXIoYSk6YSYmdHlwZW9mIGEudW5yZWY8InUiJiZhLnVucmVmKCl9dmFyIENzdCxXWSxpMmUsZHIsa3MsX3N0LGRoLExzdCwkc3Q9ZigoKT0+e3MoczksIlQiKTtzKHIyZSwiRCIpO3MoYzlhLCJBIik7cyhTc3QsInYiKTtzKHpzdCwiayIpO3MoaTksImciKTtzKHMyZSwiYiIpO0NzdD1bMSwyLDQsOCwxNl0sV1k9Y2xhc3N7c3RhdGlje3ModGhpcywiQyIpfXBhdHRlcm47dGltZXpvbmU7bW9kZTthbHRlcm5hdGl2ZVdlZWtkYXlzO3Nsb3BweVJhbmdlcztzZWNvbmQ7bWludXRlO2hvdXI7ZGF5O21vbnRoO2RheU9mV2Vlazt5ZWFyO2xhc3REYXlPZk1vbnRoO2xhc3RXZWVrZGF5O25lYXJlc3RXZWVrZGF5cztzdGFyRE9NO3N0YXJET1c7c3RhclllYXI7dXNlQW5kTG9naWM7Y29uc3RydWN0b3IoYSxlLHQpe3RoaXMucGF0dGVybj1hLHRoaXMudGltZXpvbmU9ZSx0aGlzLm1vZGU9dD8ubW9kZT8/ImF1dG8iLHRoaXMuYWx0ZXJuYXRpdmVXZWVrZGF5cz10Py5hbHRlcm5hdGl2ZVdlZWtkYXlzPz8hMSx0aGlzLnNsb3BweVJhbmdlcz10Py5zbG9wcHlSYW5nZXM/PyExLHRoaXMuc2Vjb25kPUFycmF5KDYwKS5maWxsKDApLHRoaXMubWludXRlPUFycmF5KDYwKS5maWxsKDApLHRoaXMuaG91cj1BcnJheSgyNCkuZmlsbCgwKSx0aGlzLmRheT1BcnJheSgzMSkuZmlsbCgwKSx0aGlzLm1vbnRoPUFycmF5KDEyKS5maWxsKDApLHRoaXMuZGF5T2ZXZWVrPUFycmF5KDcpLmZpbGwoMCksdGhpcy55ZWFyPUFycmF5KDFlNCkuZmlsbCgwKSx0aGlzLmxhc3REYXlPZk1vbnRoPSExLHRoaXMubGFzdFdlZWtkYXk9ITEsdGhpcy5uZWFyZXN0V2Vla2RheXM9QXJyYXkoMzEpLmZpbGwoMCksdGhpcy5zdGFyRE9NPSExLHRoaXMuc3RhckRPVz0hMSx0aGlzLnN0YXJZZWFyPSExLHRoaXMudXNlQW5kTG9naWM9ITEsdGhpcy5wYXJzZSgpfXBhcnNlKCl7aWYoISh0eXBlb2YgdGhpcy5wYXR0ZXJuPT0ic3RyaW5nInx8dGhpcy5wYXR0ZXJuIGluc3RhbmNlb2YgU3RyaW5nKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogUGF0dGVybiBoYXMgdG8gYmUgb2YgdHlwZSBzdHJpbmcuIik7dGhpcy5wYXR0ZXJuLmluZGV4T2YoIkAiKT49MCYmKHRoaXMucGF0dGVybj10aGlzLmhhbmRsZU5pY2tuYW1lcyh0aGlzLnBhdHRlcm4pLnRyaW0oKSk7bGV0IGE9dGhpcy5wYXR0ZXJuLm1hdGNoKC9cUysvZyl8fFsiIl0sZT1hLmxlbmd0aDtpZihhLmxlbmd0aDw1fHxhLmxlbmd0aD43KXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBpbnZhbGlkIGNvbmZpZ3VyYXRpb24gZm9ybWF0ICgnIit0aGlzLnBhdHRlcm4rIicpLCBleGFjdGx5IGZpdmUsIHNpeCwgb3Igc2V2ZW4gc3BhY2Ugc2VwYXJhdGVkIHBhcnRzIGFyZSByZXF1aXJlZC4iKTtpZih0aGlzLm1vZGUhPT0iYXV0byIpe2xldCByO3N3aXRjaCh0aGlzLm1vZGUpe2Nhc2UiNS1wYXJ0IjpyPTU7YnJlYWs7Y2FzZSI2LXBhcnQiOnI9NjticmVhaztjYXNlIjctcGFydCI6cj03O2JyZWFrO2Nhc2UiNS1vci02LXBhcnRzIjpyPVs1LDZdO2JyZWFrO2Nhc2UiNi1vci03LXBhcnRzIjpyPVs2LDddO2JyZWFrO2RlZmF1bHQ6cj0wfWlmKCEoQXJyYXkuaXNBcnJheShyKT9yLmluY2x1ZGVzKGUpOmU9PT1yKSl7bGV0IGk9QXJyYXkuaXNBcnJheShyKT9yLmpvaW4oIiBvciAiKTpyLnRvU3RyaW5nKCk7dGhyb3cgbmV3IFR5cGVFcnJvcihgQ3JvblBhdHRlcm46IG1vZGUgJyR7dGhpcy5tb2RlfScgcmVxdWlyZXMgZXhhY3RseSAke2l9IHBhcnRzLCBidXQgcGF0dGVybiAnJHt0aGlzLnBhdHRlcm59JyBoYXMgJHtlfSBwYXJ0cy5gKX19aWYoYS5sZW5ndGg9PT01JiZhLnVuc2hpZnQoIjAiKSxhLmxlbmd0aD09PTYmJmEucHVzaCgiKiIpLGFbM10udG9VcHBlckNhc2UoKT09PSJMVyI/KHRoaXMubGFzdFdlZWtkYXk9ITAsYVszXT0iIik6YVszXS50b1VwcGVyQ2FzZSgpLmluZGV4T2YoIkwiKT49MCYmKGFbM109YVszXS5yZXBsYWNlKC9ML2dpLCIiKSx0aGlzLmxhc3REYXlPZk1vbnRoPSEwKSxhWzNdPT0iKiImJih0aGlzLnN0YXJET009ITApLGFbNl09PSIqIiYmKHRoaXMuc3RhclllYXI9ITApLGFbNF0ubGVuZ3RoPj0zJiYoYVs0XT10aGlzLnJlcGxhY2VBbHBoYU1vbnRocyhhWzRdKSksYVs1XS5sZW5ndGg+PTMmJihhWzVdPXRoaXMuYWx0ZXJuYXRpdmVXZWVrZGF5cz90aGlzLnJlcGxhY2VBbHBoYURheXNRdWFydHooYVs1XSk6dGhpcy5yZXBsYWNlQWxwaGFEYXlzKGFbNV0pKSxhWzVdLnN0YXJ0c1dpdGgoIisiKSYmKHRoaXMudXNlQW5kTG9naWM9ITAsYVs1XT1hWzVdLnN1YnN0cmluZygxKSxhWzVdPT09IiIpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBEYXktb2Ytd2VlayBmaWVsZCBjYW5ub3QgYmUgZW1wdHkgYWZ0ZXIgJysnIG1vZGlmaWVyLiIpO3N3aXRjaChhWzVdPT0iKiImJih0aGlzLnN0YXJET1c9ITApLHRoaXMucGF0dGVybi5pbmRleE9mKCI/Iik+PTAmJihhWzBdPWFbMF0ucmVwbGFjZSgvXD8vZywiKiIpLGFbMV09YVsxXS5yZXBsYWNlKC9cPy9nLCIqIiksYVsyXT1hWzJdLnJlcGxhY2UoL1w/L2csIioiKSxhWzNdPWFbM10ucmVwbGFjZSgvXD8vZywiKiIpLGFbNF09YVs0XS5yZXBsYWNlKC9cPy9nLCIqIiksYVs1XT1hWzVdLnJlcGxhY2UoL1w/L2csIioiKSxhWzZdJiYoYVs2XT1hWzZdLnJlcGxhY2UoL1w/L2csIioiKSkpLHRoaXMubW9kZSl7Y2FzZSI1LXBhcnQiOmFbMF09IjAiLGFbNl09IioiO2JyZWFrO2Nhc2UiNi1wYXJ0IjphWzZdPSIqIjticmVhaztjYXNlIjUtb3ItNi1wYXJ0cyI6YVs2XT0iKiI7YnJlYWs7Y2FzZSI2LW9yLTctcGFydHMiOmJyZWFrO2Nhc2UiNy1wYXJ0IjpjYXNlImF1dG8iOmJyZWFrfXRoaXMudGhyb3dBdElsbGVnYWxDaGFyYWN0ZXJzKGEpLHRoaXMucGFydFRvQXJyYXkoInNlY29uZCIsYVswXSwwLDEpLHRoaXMucGFydFRvQXJyYXkoIm1pbnV0ZSIsYVsxXSwwLDEpLHRoaXMucGFydFRvQXJyYXkoImhvdXIiLGFbMl0sMCwxKSx0aGlzLnBhcnRUb0FycmF5KCJkYXkiLGFbM10sLTEsMSksdGhpcy5wYXJ0VG9BcnJheSgibW9udGgiLGFbNF0sLTEsMSk7bGV0IHQ9dGhpcy5hbHRlcm5hdGl2ZVdlZWtkYXlzPy0xOjA7dGhpcy5wYXJ0VG9BcnJheSgiZGF5T2ZXZWVrIixhWzVdLHQsNjMpLHRoaXMucGFydFRvQXJyYXkoInllYXIiLGFbNl0sMCwxKSwhdGhpcy5hbHRlcm5hdGl2ZVdlZWtkYXlzJiZ0aGlzLmRheU9mV2Vla1s3XSYmKHRoaXMuZGF5T2ZXZWVrWzBdPXRoaXMuZGF5T2ZXZWVrWzddKX1wYXJ0VG9BcnJheShhLGUsdCxyKXtsZXQgaT10aGlzW2FdLG89YT09PSJkYXkiJiZ0aGlzLmxhc3REYXlPZk1vbnRoLG49YT09PSJkYXkiJiZ0aGlzLmxhc3RXZWVrZGF5O2lmKGU9PT0iIiYmIW8mJiFuKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBjb25maWd1cmF0aW9uIGVudHJ5ICIrYSsiICgiK2UrIikgaXMgZW1wdHksIGNoZWNrIGZvciB0cmFpbGluZyBzcGFjZXMuIik7aWYoZT09PSIqIilyZXR1cm4gaS5maWxsKHIpO2xldCBsPWUuc3BsaXQoIiwiKTtpZihsLmxlbmd0aD4xKWZvcihsZXQgZD0wO2Q8bC5sZW5ndGg7ZCsrKXRoaXMucGFydFRvQXJyYXkoYSxsW2RdLHQscik7ZWxzZSBlLmluZGV4T2YoIi0iKSE9PS0xJiZlLmluZGV4T2YoIi8iKSE9PS0xP3RoaXMuaGFuZGxlUmFuZ2VXaXRoU3RlcHBpbmcoZSxhLHQscik6ZS5pbmRleE9mKCItIikhPT0tMT90aGlzLmhhbmRsZVJhbmdlKGUsYSx0LHIpOmUuaW5kZXhPZigiLyIpIT09LTE/dGhpcy5oYW5kbGVTdGVwcGluZyhlLGEsdCxyKTplIT09IiImJnRoaXMuaGFuZGxlTnVtYmVyKGUsYSx0LHIpfXRocm93QXRJbGxlZ2FsQ2hhcmFjdGVycyhhKXtmb3IobGV0IGU9MDtlPGEubGVuZ3RoO2UrKylpZigoZT09PTM/L1teLyowLTksXC1Xd0xsXSsvOmU9PT01Py9bXi8qMC05LFwtI0xsXSsvOi9bXi8qMC05LFwtXSsvKS50ZXN0KGFbZV0pKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBjb25maWd1cmF0aW9uIGVudHJ5ICIrZSsiICgiK2FbZV0rIikgY29udGFpbnMgaWxsZWdhbCBjaGFyYWN0ZXJzLiIpfWhhbmRsZU51bWJlcihhLGUsdCxyKXtsZXQgaT10aGlzLmV4dHJhY3ROdGgoYSxlKSxvPWEudG9VcHBlckNhc2UoKS5pbmNsdWRlcygiVyIpO2lmKGUhPT0iZGF5IiYmbyl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogTmVhcmVzdCB3ZWVrZGF5IG1vZGlmaWVyIChXKSBvbmx5IGFsbG93ZWQgaW4gZGF5LW9mLW1vbnRoLiIpO28mJihlPSJuZWFyZXN0V2Vla2RheXMiKTtsZXQgbj1wYXJzZUludChpWzBdLDEwKSt0O2lmKGlzTmFOKG4pKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiAiK2UrIiBpcyBub3QgYSBudW1iZXI6ICciK2ErIiciKTt0aGlzLnNldFBhcnQoZSxuLGlbMV18fHIpfXNldFBhcnQoYSxlLHQpe2lmKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcyxhKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogSW52YWxpZCBwYXJ0IHNwZWNpZmllZDogIithKTtpZihhPT09ImRheU9mV2VlayIpe2lmKGU9PT03JiYoZT0wKSxlPDB8fGU+Nil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ3JvblBhdHRlcm46IEludmFsaWQgdmFsdWUgZm9yIGRheU9mV2VlazogIitlKTt0aGlzLnNldE50aFdlZWtkYXlPZk1vbnRoKGUsdCk7cmV0dXJufWlmKGE9PT0ic2Vjb25kInx8YT09PSJtaW51dGUiKXtpZihlPDB8fGU+PTYwKXRocm93IG5ldyBSYW5nZUVycm9yKCJDcm9uUGF0dGVybjogSW52YWxpZCB2YWx1ZSBmb3IgIithKyI6ICIrZSl9ZWxzZSBpZihhPT09ImhvdXIiKXtpZihlPDB8fGU+PTI0KXRocm93IG5ldyBSYW5nZUVycm9yKCJDcm9uUGF0dGVybjogSW52YWxpZCB2YWx1ZSBmb3IgIithKyI6ICIrZSl9ZWxzZSBpZihhPT09ImRheSJ8fGE9PT0ibmVhcmVzdFdlZWtkYXlzIil7aWYoZTwwfHxlPj0zMSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ3JvblBhdHRlcm46IEludmFsaWQgdmFsdWUgZm9yICIrYSsiOiAiK2UpfWVsc2UgaWYoYT09PSJtb250aCIpe2lmKGU8MHx8ZT49MTIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNyb25QYXR0ZXJuOiBJbnZhbGlkIHZhbHVlIGZvciAiK2ErIjogIitlKX1lbHNlIGlmKGE9PT0ieWVhciImJihlPDF8fGU+PTFlNCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkNyb25QYXR0ZXJuOiBJbnZhbGlkIHZhbHVlIGZvciAiK2ErIjogIitlKyIgKHN1cHBvcnRlZCByYW5nZTogMS05OTk5KSIpO3RoaXNbYV1bZV09dH12YWxpZGF0ZU5vdE5hTihhLGUpe2lmKGlzTmFOKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoZSl9dmFsaWRhdGVSYW5nZShhLGUsdCxyLGkpe2lmKGE+ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogRnJvbSB2YWx1ZSBpcyBsYXJnZXIgdGhhbiB0byB2YWx1ZTogJyIraSsiJyIpO2lmKHQhPT12b2lkIDApe2lmKHQ9PT0wKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgc3RlcHBpbmc6IDAiKTtpZih0PnRoaXNbcl0ubGVuZ3RoKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIHN0ZXBzIGNhbm5vdCBiZSBncmVhdGVyIHRoYW4gbWF4aW11bSB2YWx1ZSBvZiBwYXJ0ICgiK3RoaXNbcl0ubGVuZ3RoKyIpIil9fWhhbmRsZVJhbmdlV2l0aFN0ZXBwaW5nKGEsZSx0LHIpe2lmKGEudG9VcHBlckNhc2UoKS5pbmNsdWRlcygiVyIpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIFcgaXMgbm90IGFsbG93ZWQgaW4gcmFuZ2VzIHdpdGggc3RlcHBpbmcuIik7bGV0IGk9dGhpcy5leHRyYWN0TnRoKGEsZSksbz1pWzBdLm1hdGNoKC9eKFxkKyktKFxkKylcLyhcZCspJC8pO2lmKG89PT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgcmFuZ2Ugd2l0aCBzdGVwcGluZzogJyIrYSsiJyIpO2xldFssbixsLGRdPW8sYz1wYXJzZUludChuLDEwKSt0LHA9cGFyc2VJbnQobCwxMCkrdCx1PXBhcnNlSW50KGQsMTApO3RoaXMudmFsaWRhdGVOb3ROYU4oYywiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCBsb3dlciByYW5nZSAoTmFOKSIpLHRoaXMudmFsaWRhdGVOb3ROYU4ocCwiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCB1cHBlciByYW5nZSAoTmFOKSIpLHRoaXMudmFsaWRhdGVOb3ROYU4odSwiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCBzdGVwcGluZzogKE5hTikiKSx0aGlzLnZhbGlkYXRlUmFuZ2UoYyxwLHUsZSxhKTtmb3IobGV0IG09YzttPD1wO20rPXUpdGhpcy5zZXRQYXJ0KGUsbSxpWzFdfHxyKX1leHRyYWN0TnRoKGEsZSl7bGV0IHQ9YSxyO2lmKHQuaW5jbHVkZXMoIiMiKSl7aWYoZSE9PSJkYXlPZldlZWsiKXRocm93IG5ldyBFcnJvcigiQ3JvblBhdHRlcm46IG50aCAoIykgb25seSBhbGxvd2VkIGluIGRheS1vZi13ZWVrIGZpZWxkIik7cj10LnNwbGl0KCIjIilbMV0sdD10LnNwbGl0KCIjIilbMF19ZWxzZSBpZih0LnRvVXBwZXJDYXNlKCkuZW5kc1dpdGgoIkwiKSl7aWYoZSE9PSJkYXlPZldlZWsiKXRocm93IG5ldyBFcnJvcigiQ3JvblBhdHRlcm46IEwgbW9kaWZpZXIgb25seSBhbGxvd2VkIGluIGRheS1vZi13ZWVrIGZpZWxkICh1c2UgTCBhbG9uZSBmb3IgZGF5LW9mLW1vbnRoKSIpO3I9IkwiLHQ9dC5zbGljZSgwLC0xKX1yZXR1cm5bdCxyXX1oYW5kbGVSYW5nZShhLGUsdCxyKXtpZihhLnRvVXBwZXJDYXNlKCkuaW5jbHVkZXMoIlciKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBXIGlzIG5vdCBhbGxvd2VkIGluIGEgcmFuZ2UuIik7bGV0IGk9dGhpcy5leHRyYWN0TnRoKGEsZSksbz1pWzBdLnNwbGl0KCItIik7aWYoby5sZW5ndGghPT0yKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgcmFuZ2U6ICciK2ErIiciKTtsZXQgbj1wYXJzZUludChvWzBdLDEwKSt0LGw9cGFyc2VJbnQob1sxXSwxMCkrdDt0aGlzLnZhbGlkYXRlTm90TmFOKG4sIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgbG93ZXIgcmFuZ2UgKE5hTikiKSx0aGlzLnZhbGlkYXRlTm90TmFOKGwsIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIGlsbGVnYWwgdXBwZXIgcmFuZ2UgKE5hTikiKSx0aGlzLnZhbGlkYXRlUmFuZ2UobixsLHZvaWQgMCxlLGEpO2ZvcihsZXQgZD1uO2Q8PWw7ZCsrKXRoaXMuc2V0UGFydChlLGQsaVsxXXx8cil9aGFuZGxlU3RlcHBpbmcoYSxlLHQscil7aWYoYS50b1VwcGVyQ2FzZSgpLmluY2x1ZGVzKCJXIikpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgVyBpcyBub3QgYWxsb3dlZCBpbiBwYXJ0cyB3aXRoIHN0ZXBwaW5nLiIpO2xldCBpPXRoaXMuZXh0cmFjdE50aChhLGUpLG89aVswXS5zcGxpdCgiLyIpO2lmKG8ubGVuZ3RoIT09Mil0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uUGF0dGVybjogU3ludGF4IGVycm9yLCBpbGxlZ2FsIHN0ZXBwaW5nOiAnIithKyInIik7aWYodGhpcy5zbG9wcHlSYW5nZXMpb1swXT09PSIiJiYob1swXT0iKiIpO2Vsc2V7aWYob1swXT09PSIiKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIHN0ZXBwaW5nIHdpdGggbWlzc2luZyBwcmVmaXggKCciK2ErIicpIGlzIG5vdCBhbGxvd2VkLiBVc2Ugd2lsZGNhcmQgKCovc3RlcCkgb3IgcmFuZ2UgKG1pbi1tYXgvc3RlcCkgaW5zdGVhZC4iKTtpZihvWzBdIT09IioiKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBTeW50YXggZXJyb3IsIHN0ZXBwaW5nIHdpdGggbnVtZXJpYyBwcmVmaXggKCciK2ErIicpIGlzIG5vdCBhbGxvd2VkLiBVc2Ugd2lsZGNhcmQgKCovc3RlcCkgb3IgcmFuZ2UgKG1pbi1tYXgvc3RlcCkgaW5zdGVhZC4iKX1sZXQgbj0wO29bMF0hPT0iKiImJihuPXBhcnNlSW50KG9bMF0sMTApK3QpO2xldCBsPXBhcnNlSW50KG9bMV0sMTApO3RoaXMudmFsaWRhdGVOb3ROYU4obCwiQ3JvblBhdHRlcm46IFN5bnRheCBlcnJvciwgaWxsZWdhbCBzdGVwcGluZzogKE5hTikiKSx0aGlzLnZhbGlkYXRlUmFuZ2UoMCx0aGlzW2VdLmxlbmd0aC0xLGwsZSxhKTtmb3IobGV0IGQ9bjtkPHRoaXNbZV0ubGVuZ3RoO2QrPWwpdGhpcy5zZXRQYXJ0KGUsZCxpWzFdfHxyKX1yZXBsYWNlQWxwaGFEYXlzKGEpe3JldHVybiBhLnJlcGxhY2UoLy1zdW4vZ2ksIi03IikucmVwbGFjZSgvc3VuL2dpLCIwIikucmVwbGFjZSgvbW9uL2dpLCIxIikucmVwbGFjZSgvdHVlL2dpLCIyIikucmVwbGFjZSgvd2VkL2dpLCIzIikucmVwbGFjZSgvdGh1L2dpLCI0IikucmVwbGFjZSgvZnJpL2dpLCI1IikucmVwbGFjZSgvc2F0L2dpLCI2Iil9cmVwbGFjZUFscGhhRGF5c1F1YXJ0eihhKXtyZXR1cm4gYS5yZXBsYWNlKC9zdW4vZ2ksIjEiKS5yZXBsYWNlKC9tb24vZ2ksIjIiKS5yZXBsYWNlKC90dWUvZ2ksIjMiKS5yZXBsYWNlKC93ZWQvZ2ksIjQiKS5yZXBsYWNlKC90aHUvZ2ksIjUiKS5yZXBsYWNlKC9mcmkvZ2ksIjYiKS5yZXBsYWNlKC9zYXQvZ2ksIjciKX1yZXBsYWNlQWxwaGFNb250aHMoYSl7cmV0dXJuIGEucmVwbGFjZSgvamFuL2dpLCIxIikucmVwbGFjZSgvZmViL2dpLCIyIikucmVwbGFjZSgvbWFyL2dpLCIzIikucmVwbGFjZSgvYXByL2dpLCI0IikucmVwbGFjZSgvbWF5L2dpLCI1IikucmVwbGFjZSgvanVuL2dpLCI2IikucmVwbGFjZSgvanVsL2dpLCI3IikucmVwbGFjZSgvYXVnL2dpLCI4IikucmVwbGFjZSgvc2VwL2dpLCI5IikucmVwbGFjZSgvb2N0L2dpLCIxMCIpLnJlcGxhY2UoL25vdi9naSwiMTEiKS5yZXBsYWNlKC9kZWMvZ2ksIjEyIil9aGFuZGxlTmlja25hbWVzKGEpe2xldCBlPWEudHJpbSgpLnRvTG93ZXJDYXNlKCk7aWYoZT09PSJAeWVhcmx5Inx8ZT09PSJAYW5udWFsbHkiKXJldHVybiIwIDAgMSAxICoiO2lmKGU9PT0iQG1vbnRobHkiKXJldHVybiIwIDAgMSAqICoiO2lmKGU9PT0iQHdlZWtseSIpcmV0dXJuIjAgMCAqICogMCI7aWYoZT09PSJAZGFpbHkifHxlPT09IkBtaWRuaWdodCIpcmV0dXJuIjAgMCAqICogKiI7aWYoZT09PSJAaG91cmx5IilyZXR1cm4iMCAqICogKiAqIjtpZihlPT09IkByZWJvb3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25QYXR0ZXJuOiBAcmVib290IGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhpcyBlbnZpcm9ubWVudC4gVGhpcyBpcyBhbiBldmVudC1iYXNlZCB0cmlnZ2VyIHRoYXQgcmVxdWlyZXMgc3lzdGVtIHN0YXJ0dXAgZGV0ZWN0aW9uLiIpO3JldHVybiBhfXNldE50aFdlZWtkYXlPZk1vbnRoKGEsZSl7aWYodHlwZW9mIGUhPSJudW1iZXIiJiZlLnRvVXBwZXJDYXNlKCk9PT0iTCIpdGhpcy5kYXlPZldlZWtbYV09dGhpcy5kYXlPZldlZWtbYV18MzI7ZWxzZSBpZihlPT09NjMpdGhpcy5kYXlPZldlZWtbYV09NjM7ZWxzZSBpZihlPDYmJmU+MCl0aGlzLmRheU9mV2Vla1thXT10aGlzLmRheU9mV2Vla1thXXxDc3RbZS0xXTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoYENyb25QYXR0ZXJuOiBudGggd2Vla2RheSBvdXQgb2YgcmFuZ2UsIHNob3VsZCBiZSAxLTUgb3IgTC4gVmFsdWU6ICR7ZX0sIFR5cGU6ICR7dHlwZW9mIGV9YCl9fSxpMmU9WzMxLDI4LDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXSxkcj1bWyJtb250aCIsInllYXIiLDBdLFsiZGF5IiwibW9udGgiLC0xXSxbImhvdXIiLCJkYXkiLDBdLFsibWludXRlIiwiaG91ciIsMF0sWyJzZWNvbmQiLCJtaW51dGUiLDBdXSxrcz1jbGFzcyBUc3R7c3RhdGlje3ModGhpcywicyIpfXR6O21zO3NlY29uZDttaW51dGU7aG91cjtkYXk7bW9udGg7eWVhcjtjb25zdHJ1Y3RvcihlLHQpe2lmKHRoaXMudHo9dCxlJiZlIGluc3RhbmNlb2YgRGF0ZSlpZighaXNOYU4oZSkpdGhpcy5mcm9tRGF0ZShlKTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIkNyb25EYXRlOiBJbnZhbGlkIGRhdGUgcGFzc2VkIHRvIENyb25EYXRlIGNvbnN0cnVjdG9yIik7ZWxzZSBpZihlPT1udWxsKXRoaXMuZnJvbURhdGUobmV3IERhdGUpO2Vsc2UgaWYoZSYmdHlwZW9mIGU9PSJzdHJpbmciKXRoaXMuZnJvbVN0cmluZyhlKTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBUc3QpdGhpcy5mcm9tQ3JvbkRhdGUoZSk7ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJDcm9uRGF0ZTogSW52YWxpZCB0eXBlICgiK3R5cGVvZiBlKyIpIHBhc3NlZCB0byBDcm9uRGF0ZSBjb25zdHJ1Y3RvciIpfWdldExhc3REYXlPZk1vbnRoKGUsdCl7cmV0dXJuIHQhPT0xP2kyZVt0XTpuZXcgRGF0ZShEYXRlLlVUQyhlLHQrMSwwKSkuZ2V0VVRDRGF0ZSgpfWdldExhc3RXZWVrZGF5KGUsdCl7bGV0IHI9dGhpcy5nZXRMYXN0RGF5T2ZNb250aChlLHQpLGk9bmV3IERhdGUoRGF0ZS5VVEMoZSx0LHIpKS5nZXRVVENEYXkoKTtyZXR1cm4gaT09PTA/ci0yOmk9PT02P3ItMTpyfWdldE5lYXJlc3RXZWVrZGF5KGUsdCxyKXtsZXQgaT10aGlzLmdldExhc3REYXlPZk1vbnRoKGUsdCk7aWYocj5pKXJldHVybi0xO2xldCBvPW5ldyBEYXRlKERhdGUuVVRDKGUsdCxyKSkuZ2V0VVRDRGF5KCk7cmV0dXJuIG89PT0wP3I9PT1pP3ItMjpyKzE6bz09PTY/cj09PTE/cisyOnItMTpyfWlzTnRoV2Vla2RheU9mTW9udGgoZSx0LHIsaSl7bGV0IG89bmV3IERhdGUoRGF0ZS5VVEMoZSx0LHIpKS5nZXRVVENEYXkoKSxuPTA7Zm9yKGxldCBsPTE7bDw9cjtsKyspbmV3IERhdGUoRGF0ZS5VVEMoZSx0LGwpKS5nZXRVVENEYXkoKT09PW8mJm4rKztpZihpJjYzJiZDc3Rbbi0xXSZpKXJldHVybiEwO2lmKGkmMzIpe2xldCBsPXRoaXMuZ2V0TGFzdERheU9mTW9udGgoZSx0KTtmb3IobGV0IGQ9cisxO2Q8PWw7ZCsrKWlmKG5ldyBEYXRlKERhdGUuVVRDKGUsdCxkKSkuZ2V0VVRDRGF5KCk9PT1vKXJldHVybiExO3JldHVybiEwfXJldHVybiExfWZyb21EYXRlKGUpe2lmKHRoaXMudHohPT12b2lkIDApaWYodHlwZW9mIHRoaXMudHo9PSJudW1iZXIiKXRoaXMubXM9ZS5nZXRVVENNaWxsaXNlY29uZHMoKSx0aGlzLnNlY29uZD1lLmdldFVUQ1NlY29uZHMoKSx0aGlzLm1pbnV0ZT1lLmdldFVUQ01pbnV0ZXMoKSt0aGlzLnR6LHRoaXMuaG91cj1lLmdldFVUQ0hvdXJzKCksdGhpcy5kYXk9ZS5nZXRVVENEYXRlKCksdGhpcy5tb250aD1lLmdldFVUQ01vbnRoKCksdGhpcy55ZWFyPWUuZ2V0VVRDRnVsbFllYXIoKSx0aGlzLmFwcGx5KCk7ZWxzZSB0cnl7bGV0IHQ9aTkoZSx0aGlzLnR6KTt0aGlzLm1zPWUuZ2V0TWlsbGlzZWNvbmRzKCksdGhpcy5zZWNvbmQ9dC5zLHRoaXMubWludXRlPXQuaSx0aGlzLmhvdXI9dC5oLHRoaXMuZGF5PXQuZCx0aGlzLm1vbnRoPXQubS0xLHRoaXMueWVhcj10Lnl9Y2F0Y2godCl7bGV0IHI9dCBpbnN0YW5jZW9mIEVycm9yP3QubWVzc2FnZTpTdHJpbmcodCk7dGhyb3cgbmV3IFR5cGVFcnJvcihgQ3JvbkRhdGU6IEZhaWxlZCB0byBjb252ZXJ0IGRhdGUgdG8gdGltZXpvbmUgJyR7dGhpcy50en0nLiBUaGlzIG1heSBoYXBwZW4gd2l0aCBpbnZhbGlkIHRpbWV6b25lIG5hbWVzIG9yIGRhdGVzLiBPcmlnaW5hbCBlcnJvcjogJHtyfWApfWVsc2UgdGhpcy5tcz1lLmdldE1pbGxpc2Vjb25kcygpLHRoaXMuc2Vjb25kPWUuZ2V0U2Vjb25kcygpLHRoaXMubWludXRlPWUuZ2V0TWludXRlcygpLHRoaXMuaG91cj1lLmdldEhvdXJzKCksdGhpcy5kYXk9ZS5nZXREYXRlKCksdGhpcy5tb250aD1lLmdldE1vbnRoKCksdGhpcy55ZWFyPWUuZ2V0RnVsbFllYXIoKX1mcm9tQ3JvbkRhdGUoZSl7dGhpcy50ej1lLnR6LHRoaXMueWVhcj1lLnllYXIsdGhpcy5tb250aD1lLm1vbnRoLHRoaXMuZGF5PWUuZGF5LHRoaXMuaG91cj1lLmhvdXIsdGhpcy5taW51dGU9ZS5taW51dGUsdGhpcy5zZWNvbmQ9ZS5zZWNvbmQsdGhpcy5tcz1lLm1zfWFwcGx5KCl7aWYodGhpcy5tb250aD4xMXx8dGhpcy5tb250aDwwfHx0aGlzLmRheT5pMmVbdGhpcy5tb250aF18fHRoaXMuZGF5PDF8fHRoaXMuaG91cj41OXx8dGhpcy5taW51dGU+NTl8fHRoaXMuc2Vjb25kPjU5fHx0aGlzLmhvdXI8MHx8dGhpcy5taW51dGU8MHx8dGhpcy5zZWNvbmQ8MCl7bGV0IGU9bmV3IERhdGUoRGF0ZS5VVEModGhpcy55ZWFyLHRoaXMubW9udGgsdGhpcy5kYXksdGhpcy5ob3VyLHRoaXMubWludXRlLHRoaXMuc2Vjb25kLHRoaXMubXMpKTtyZXR1cm4gdGhpcy5tcz1lLmdldFVUQ01pbGxpc2Vjb25kcygpLHRoaXMuc2Vjb25kPWUuZ2V0VVRDU2Vjb25kcygpLHRoaXMubWludXRlPWUuZ2V0VVRDTWludXRlcygpLHRoaXMuaG91cj1lLmdldFVUQ0hvdXJzKCksdGhpcy5kYXk9ZS5nZXRVVENEYXRlKCksdGhpcy5tb250aD1lLmdldFVUQ01vbnRoKCksdGhpcy55ZWFyPWUuZ2V0VVRDRnVsbFllYXIoKSwhMH1lbHNlIHJldHVybiExfWZyb21TdHJpbmcoZSl7aWYodHlwZW9mIHRoaXMudHo9PSJudW1iZXIiKXtsZXQgdD1Tc3QoZSk7dGhpcy5tcz10LmdldFVUQ01pbGxpc2Vjb25kcygpLHRoaXMuc2Vjb25kPXQuZ2V0VVRDU2Vjb25kcygpLHRoaXMubWludXRlPXQuZ2V0VVRDTWludXRlcygpLHRoaXMuaG91cj10LmdldFVUQ0hvdXJzKCksdGhpcy5kYXk9dC5nZXRVVENEYXRlKCksdGhpcy5tb250aD10LmdldFVUQ01vbnRoKCksdGhpcy55ZWFyPXQuZ2V0VVRDRnVsbFllYXIoKSx0aGlzLmFwcGx5KCl9ZWxzZSByZXR1cm4gdGhpcy5mcm9tRGF0ZShTc3QoZSx0aGlzLnR6KSl9ZmluZE5leHQoZSx0LHIsaSl7cmV0dXJuIHRoaXMuX2ZpbmRNYXRjaChlLHQscixpLDEpfV9maW5kTWF0Y2goZSx0LHIsaSxvKXtsZXQgbj10aGlzW3RdLGw7ci5sYXN0RGF5T2ZNb250aCYmKGw9dGhpcy5nZXRMYXN0RGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCkpO2xldCBkPSFyLnN0YXJET1cmJnQ9PSJkYXkiP25ldyBEYXRlKERhdGUuVVRDKHRoaXMueWVhcix0aGlzLm1vbnRoLDEsMCwwLDAsMCkpLmdldFVUQ0RheSgpOnZvaWQgMCxjPXRoaXNbdF0raSxwPW89PT0xP3U9PnU8clt0XS5sZW5ndGg6dT0+dT49MDtmb3IobGV0IHU9YztwKHUpO3UrPW8pe2xldCBtPXJbdF1bdV07aWYodD09PSJkYXkiJiYhbSl7Zm9yKGxldCB2PTA7djxyLm5lYXJlc3RXZWVrZGF5cy5sZW5ndGg7disrKWlmKHIubmVhcmVzdFdlZWtkYXlzW3ZdKXtsZXQgeD10aGlzLmdldE5lYXJlc3RXZWVrZGF5KHRoaXMueWVhcix0aGlzLm1vbnRoLHYtaSk7aWYoeD09PS0xKWNvbnRpbnVlO2lmKHg9PT11LWkpe209MTticmVha319fWlmKHQ9PT0iZGF5IiYmci5sYXN0V2Vla2RheSl7bGV0IHY9dGhpcy5nZXRMYXN0V2Vla2RheSh0aGlzLnllYXIsdGhpcy5tb250aCk7dS1pPT09diYmKG09MSl9aWYodD09PSJkYXkiJiZyLmxhc3REYXlPZk1vbnRoJiZ1LWk9PWwmJihtPTEpLHQ9PT0iZGF5IiYmIXIuc3RhckRPVyl7bGV0IHY9ci5kYXlPZldlZWtbKGQrKHUtaS0xKSklN107aWYodiYmdiY2Myl2PXRoaXMuaXNOdGhXZWVrZGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCx1LWksdik/MTowO2Vsc2UgaWYodil0aHJvdyBuZXcgRXJyb3IoYENyb25EYXRlOiBJbnZhbGlkIHZhbHVlIGZvciBkYXlPZldlZWsgZW5jb3VudGVyZWQuICR7dn1gKTtyLnVzZUFuZExvZ2ljP209bSYmdjohZS5kb21BbmREb3cmJiFyLnN0YXJET00/bT1tfHx2Om09bSYmdn1pZihtKXJldHVybiB0aGlzW3RdPXUtaSxuIT09dGhpc1t0XT8yOjF9cmV0dXJuIDN9cmVjdXJzZShlLHQscil7aWYocj09PTAmJiFlLnN0YXJZZWFyKXtpZih0aGlzLnllYXI+PTAmJnRoaXMueWVhcjxlLnllYXIubGVuZ3RoJiZlLnllYXJbdGhpcy55ZWFyXT09PTApe2xldCBvPS0xO2ZvcihsZXQgbj10aGlzLnllYXIrMTtuPGUueWVhci5sZW5ndGgmJm48MWU0O24rKylpZihlLnllYXJbbl09PT0xKXtvPW47YnJlYWt9aWYobz09PS0xKXJldHVybiBudWxsO3RoaXMueWVhcj1vLHRoaXMubW9udGg9MCx0aGlzLmRheT0xLHRoaXMuaG91cj0wLHRoaXMubWludXRlPTAsdGhpcy5zZWNvbmQ9MCx0aGlzLm1zPTB9aWYodGhpcy55ZWFyPj0xZTQpcmV0dXJuIG51bGx9bGV0IGk9dGhpcy5maW5kTmV4dCh0LGRyW3JdWzBdLGUsZHJbcl1bMl0pO2lmKGk+MSl7bGV0IG89cisxO2Zvcig7bzxkci5sZW5ndGg7KXRoaXNbZHJbb11bMF1dPS1kcltvXVsyXSxvKys7aWYoaT09PTMpe2lmKHRoaXNbZHJbcl1bMV1dKyssdGhpc1tkcltyXVswXV09LWRyW3JdWzJdLHRoaXMuYXBwbHkoKSxyPT09MCYmIWUuc3RhclllYXIpe2Zvcig7dGhpcy55ZWFyPj0wJiZ0aGlzLnllYXI8ZS55ZWFyLmxlbmd0aCYmZS55ZWFyW3RoaXMueWVhcl09PT0wJiZ0aGlzLnllYXI8MWU0Oyl0aGlzLnllYXIrKztpZih0aGlzLnllYXI+PTFlNHx8dGhpcy55ZWFyPj1lLnllYXIubGVuZ3RoKXJldHVybiBudWxsfXJldHVybiB0aGlzLnJlY3Vyc2UoZSx0LDApfWVsc2UgaWYodGhpcy5hcHBseSgpKXJldHVybiB0aGlzLnJlY3Vyc2UoZSx0LHItMSl9cmV0dXJuIHIrPTEscj49ZHIubGVuZ3RoP3RoaXM6KGUuc3RhclllYXI/dGhpcy55ZWFyPj0zZTM6dGhpcy55ZWFyPj0xZTQpP251bGw6dGhpcy5yZWN1cnNlKGUsdCxyKX1pbmNyZW1lbnQoZSx0LHIpe3JldHVybiB0aGlzLnNlY29uZCs9dC5pbnRlcnZhbCE9PXZvaWQgMCYmdC5pbnRlcnZhbD4xJiZyP3QuaW50ZXJ2YWw6MSx0aGlzLm1zPTAsdGhpcy5hcHBseSgpLHRoaXMucmVjdXJzZShlLHQsMCl9ZGVjcmVtZW50KGUsdCl7cmV0dXJuIHRoaXMuc2Vjb25kLT10LmludGVydmFsIT09dm9pZCAwJiZ0LmludGVydmFsPjE/dC5pbnRlcnZhbDoxLHRoaXMubXM9MCx0aGlzLmFwcGx5KCksdGhpcy5yZWN1cnNlQmFja3dhcmQoZSx0LDAsMCl9cmVjdXJzZUJhY2t3YXJkKGUsdCxyLGk9MCl7aWYoaT4xZTQpcmV0dXJuIG51bGw7aWYocj09PTAmJiFlLnN0YXJZZWFyKXtpZih0aGlzLnllYXI+PTAmJnRoaXMueWVhcjxlLnllYXIubGVuZ3RoJiZlLnllYXJbdGhpcy55ZWFyXT09PTApe2xldCBuPS0xO2ZvcihsZXQgbD10aGlzLnllYXItMTtsPj0wO2wtLSlpZihlLnllYXJbbF09PT0xKXtuPWw7YnJlYWt9aWYobj09PS0xKXJldHVybiBudWxsO3RoaXMueWVhcj1uLHRoaXMubW9udGg9MTEsdGhpcy5kYXk9MzEsdGhpcy5ob3VyPTIzLHRoaXMubWludXRlPTU5LHRoaXMuc2Vjb25kPTU5LHRoaXMubXM9MH1pZih0aGlzLnllYXI8MClyZXR1cm4gbnVsbH1sZXQgbz10aGlzLmZpbmRQcmV2aW91cyh0LGRyW3JdWzBdLGUsZHJbcl1bMl0pO2lmKG8+MSl7bGV0IG49cisxO2Zvcig7bjxkci5sZW5ndGg7KXtsZXQgbD1kcltuXVswXSxkPWRyW25dWzJdLGM9dGhpcy5nZXRNYXhQYXR0ZXJuVmFsdWUobCxlLGQpO3RoaXNbbF09YyxuKyt9aWYobz09PTMpe2lmKHRoaXNbZHJbcl1bMV1dLS0scj09PTApe2xldCBwPXRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpO3RoaXMuZGF5PnAmJih0aGlzLmRheT1wKX1pZihyPT09MSlpZih0aGlzLmRheTw9MCl0aGlzLmRheT0xO2Vsc2V7bGV0IHA9dGhpcy55ZWFyLHU9dGhpcy5tb250aDtmb3IoO3U8MDspdSs9MTIscC0tO2Zvcig7dT4xMTspdS09MTIscCsrO2xldCBtPXUhPT0xP2kyZVt1XTpuZXcgRGF0ZShEYXRlLlVUQyhwLHUrMSwwKSkuZ2V0VVRDRGF0ZSgpO3RoaXMuZGF5Pm0mJih0aGlzLmRheT1tKX10aGlzLmFwcGx5KCk7bGV0IGw9ZHJbcl1bMF0sZD1kcltyXVsyXSxjPXRoaXMuZ2V0TWF4UGF0dGVyblZhbHVlKGwsZSxkKTtpZihsPT09ImRheSIpe2xldCBwPXRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpO3RoaXNbbF09TWF0aC5taW4oYyxwKX1lbHNlIHRoaXNbbF09YztpZih0aGlzLmFwcGx5KCkscj09PTApe2xldCBwPWRyWzFdWzJdLHU9dGhpcy5nZXRNYXhQYXR0ZXJuVmFsdWUoImRheSIsZSxwKSxtPXRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpLHY9TWF0aC5taW4odSxtKTt2IT09dGhpcy5kYXkmJih0aGlzLmRheT12LHRoaXMuaG91cj10aGlzLmdldE1heFBhdHRlcm5WYWx1ZSgiaG91ciIsZSxkclsyXVsyXSksdGhpcy5taW51dGU9dGhpcy5nZXRNYXhQYXR0ZXJuVmFsdWUoIm1pbnV0ZSIsZSxkclszXVsyXSksdGhpcy5zZWNvbmQ9dGhpcy5nZXRNYXhQYXR0ZXJuVmFsdWUoInNlY29uZCIsZSxkcls0XVsyXSkpfWlmKHI9PT0wJiYhZS5zdGFyWWVhcil7Zm9yKDt0aGlzLnllYXI+PTAmJnRoaXMueWVhcjxlLnllYXIubGVuZ3RoJiZlLnllYXJbdGhpcy55ZWFyXT09PTA7KXRoaXMueWVhci0tO2lmKHRoaXMueWVhcjwwKXJldHVybiBudWxsfXJldHVybiB0aGlzLnJlY3Vyc2VCYWNrd2FyZChlLHQsMCxpKzEpfWVsc2UgaWYodGhpcy5hcHBseSgpKXJldHVybiB0aGlzLnJlY3Vyc2VCYWNrd2FyZChlLHQsci0xLGkrMSl9cmV0dXJuIHIrPTEscj49ZHIubGVuZ3RoP3RoaXM6dGhpcy55ZWFyPDA/bnVsbDp0aGlzLnJlY3Vyc2VCYWNrd2FyZChlLHQscixpKzEpfWdldE1heFBhdHRlcm5WYWx1ZShlLHQscil7aWYoZT09PSJkYXkiJiZ0Lmxhc3REYXlPZk1vbnRoKXJldHVybiB0aGlzLmdldExhc3REYXlPZk1vbnRoKHRoaXMueWVhcix0aGlzLm1vbnRoKTtpZihlPT09ImRheSImJiF0LnN0YXJET1cpcmV0dXJuIHRoaXMuZ2V0TGFzdERheU9mTW9udGgodGhpcy55ZWFyLHRoaXMubW9udGgpO2ZvcihsZXQgaT10W2VdLmxlbmd0aC0xO2k+PTA7aS0tKWlmKHRbZV1baV0pcmV0dXJuIGktcjtyZXR1cm4gdFtlXS5sZW5ndGgtMS1yfWZpbmRQcmV2aW91cyhlLHQscixpKXtyZXR1cm4gdGhpcy5fZmluZE1hdGNoKGUsdCxyLGksLTEpfWdldERhdGUoZSl7cmV0dXJuIGV8fHRoaXMudHo9PT12b2lkIDA/bmV3IERhdGUodGhpcy55ZWFyLHRoaXMubW9udGgsdGhpcy5kYXksdGhpcy5ob3VyLHRoaXMubWludXRlLHRoaXMuc2Vjb25kLHRoaXMubXMpOnR5cGVvZiB0aGlzLnR6PT0ibnVtYmVyIj9uZXcgRGF0ZShEYXRlLlVUQyh0aGlzLnllYXIsdGhpcy5tb250aCx0aGlzLmRheSx0aGlzLmhvdXIsdGhpcy5taW51dGUtdGhpcy50eix0aGlzLnNlY29uZCx0aGlzLm1zKSk6enN0KHMyZSh0aGlzLnllYXIsdGhpcy5tb250aCsxLHRoaXMuZGF5LHRoaXMuaG91cix0aGlzLm1pbnV0ZSx0aGlzLnNlY29uZCx0aGlzLnR6KSwhMSl9Z2V0VGltZSgpe3JldHVybiB0aGlzLmdldERhdGUoITEpLmdldFRpbWUoKX1tYXRjaChlLHQpe2lmKCFlLnN0YXJZZWFyJiYodGhpcy55ZWFyPDB8fHRoaXMueWVhcj49ZS55ZWFyLmxlbmd0aHx8ZS55ZWFyW3RoaXMueWVhcl09PT0wKSlyZXR1cm4hMTtmb3IobGV0IHI9MDtyPGRyLmxlbmd0aDtyKyspe2xldCBpPWRyW3JdWzBdLG89ZHJbcl1bMl0sbj10aGlzW2ldO2lmKG4rbzwwfHxuK28+PWVbaV0ubGVuZ3RoKXJldHVybiExO2xldCBsPWVbaV1bbitvXTtpZihpPT09ImRheSIpe2lmKCFsKXtmb3IobGV0IGQ9MDtkPGUubmVhcmVzdFdlZWtkYXlzLmxlbmd0aDtkKyspaWYoZS5uZWFyZXN0V2Vla2RheXNbZF0pe2xldCBjPXRoaXMuZ2V0TmVhcmVzdFdlZWtkYXkodGhpcy55ZWFyLHRoaXMubW9udGgsZC1vKTtpZihjIT09LTEmJmM9PT1uKXtsPTE7YnJlYWt9fX1pZihlLmxhc3RXZWVrZGF5KXtsZXQgZD10aGlzLmdldExhc3RXZWVrZGF5KHRoaXMueWVhcix0aGlzLm1vbnRoKTtuPT09ZCYmKGw9MSl9aWYoZS5sYXN0RGF5T2ZNb250aCl7bGV0IGQ9dGhpcy5nZXRMYXN0RGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCk7bj09PWQmJihsPTEpfWlmKCFlLnN0YXJET1cpe2xldCBkPW5ldyBEYXRlKERhdGUuVVRDKHRoaXMueWVhcix0aGlzLm1vbnRoLDEsMCwwLDAsMCkpLmdldFVUQ0RheSgpLGM9ZS5kYXlPZldlZWtbKGQrKG4tMSkpJTddO2MmJmMmNjMmJihjPXRoaXMuaXNOdGhXZWVrZGF5T2ZNb250aCh0aGlzLnllYXIsdGhpcy5tb250aCxuLGMpPzE6MCksZS51c2VBbmRMb2dpYz9sPWwmJmM6IXQuZG9tQW5kRG93JiYhZS5zdGFyRE9NP2w9bHx8YzpsPWwmJmN9fWlmKCFsKXJldHVybiExfXJldHVybiEwfX07cyhkOWEsIlIiKTtzKG85LCJwIik7cyh1OWEsIl8iKTtzKHA5YSwieCIpO19zdD0zMCoxZTMsZGg9W10sTHN0PWNsYXNze3N0YXRpY3tzKHRoaXMsIkUiKX1uYW1lO29wdGlvbnM7X3N0YXRlcztmbjtnZXRUeigpe3JldHVybiB0aGlzLm9wdGlvbnMudGltZXpvbmV8fHRoaXMub3B0aW9ucy51dGNPZmZzZXR9YXBwbHlEYXlPZmZzZXQoYSl7aWYodGhpcy5vcHRpb25zLmRheU9mZnNldCE9PXZvaWQgMCYmdGhpcy5vcHRpb25zLmRheU9mZnNldCE9PTApe2xldCBlPXRoaXMub3B0aW9ucy5kYXlPZmZzZXQqMjQqNjAqNjAqMWUzO3JldHVybiBuZXcgRGF0ZShhLmdldFRpbWUoKStlKX1yZXR1cm4gYX1jb25zdHJ1Y3RvcihhLGUsdCl7bGV0IHIsaTtpZihvOShlKSlpPWU7ZWxzZSBpZih0eXBlb2YgZT09Im9iamVjdCIpcj1lO2Vsc2UgaWYoZSE9PXZvaWQgMCl0aHJvdyBuZXcgRXJyb3IoIkNyb246IEludmFsaWQgYXJndW1lbnQgcGFzc2VkIGZvciBvcHRpb25zSW4uIFNob3VsZCBiZSBvbmUgb2YgZnVuY3Rpb24sIG9yIG9iamVjdCAob3B0aW9ucykuIik7aWYobzkodCkpaT10O2Vsc2UgaWYodHlwZW9mIHQ9PSJvYmplY3QiKXI9dDtlbHNlIGlmKHQhPT12b2lkIDApdGhyb3cgbmV3IEVycm9yKCJDcm9uOiBJbnZhbGlkIGFyZ3VtZW50IHBhc3NlZCBmb3IgZnVuY0luLiBTaG91bGQgYmUgb25lIG9mIGZ1bmN0aW9uLCBvciBvYmplY3QgKG9wdGlvbnMpLiIpO2lmKHRoaXMubmFtZT1yPy5uYW1lLHRoaXMub3B0aW9ucz1kOWEociksdGhpcy5fc3RhdGVzPXtraWxsOiExLGJsb2NraW5nOiExLHByZXZpb3VzUnVuOnZvaWQgMCxjdXJyZW50UnVuOnZvaWQgMCxvbmNlOnZvaWQgMCxjdXJyZW50VGltZW91dDp2b2lkIDAsbWF4UnVuczpyP3IubWF4UnVuczp2b2lkIDAscGF1c2VkOnI/ci5wYXVzZWQ6ITEscGF0dGVybjpuZXcgV1koIiogKiAqICogKiIsdm9pZCAwLHttb2RlOiJhdXRvIn0pfSxhJiYoYSBpbnN0YW5jZW9mIERhdGV8fHR5cGVvZiBhPT0ic3RyaW5nIiYmYS5pbmRleE9mKCI6Iik+MCk/dGhpcy5fc3RhdGVzLm9uY2U9bmV3IGtzKGEsdGhpcy5nZXRUeigpKTp0aGlzLl9zdGF0ZXMucGF0dGVybj1uZXcgV1koYSx0aGlzLm9wdGlvbnMudGltZXpvbmUse21vZGU6dGhpcy5vcHRpb25zLm1vZGUsYWx0ZXJuYXRpdmVXZWVrZGF5czp0aGlzLm9wdGlvbnMuYWx0ZXJuYXRpdmVXZWVrZGF5cyxzbG9wcHlSYW5nZXM6dGhpcy5vcHRpb25zLnNsb3BweVJhbmdlc30pLHRoaXMubmFtZSl7aWYoZGguZmluZChvPT5vLm5hbWU9PT10aGlzLm5hbWUpKXRocm93IG5ldyBFcnJvcigiQ3JvbjogVHJpZWQgdG8gaW5pdGlhbGl6ZSBuZXcgbmFtZWQgam9iICciK3RoaXMubmFtZSsiJywgYnV0IG5hbWUgYWxyZWFkeSB0YWtlbi4iKTtkaC5wdXNoKHRoaXMpfXJldHVybiBpIT09dm9pZCAwJiZ1OWEoaSkmJih0aGlzLmZuPWksdGhpcy5zY2hlZHVsZSgpKSx0aGlzfW5leHRSdW4oYSl7bGV0IGU9dGhpcy5fbmV4dChhKTtyZXR1cm4gZT90aGlzLmFwcGx5RGF5T2Zmc2V0KGUuZ2V0RGF0ZSghMSkpOm51bGx9bmV4dFJ1bnMoYSxlKXt0aGlzLl9zdGF0ZXMubWF4UnVucyE9PXZvaWQgMCYmYT50aGlzLl9zdGF0ZXMubWF4UnVucyYmKGE9dGhpcy5fc3RhdGVzLm1heFJ1bnMpO2xldCB0PWV8fHRoaXMuX3N0YXRlcy5jdXJyZW50UnVufHx2b2lkIDA7cmV0dXJuIHRoaXMuX2VudW1lcmF0ZVJ1bnMoYSx0LCJuZXh0Iil9cHJldmlvdXNSdW5zKGEsZSl7cmV0dXJuIHRoaXMuX2VudW1lcmF0ZVJ1bnMoYSxlfHx2b2lkIDAsInByZXZpb3VzIil9X2VudW1lcmF0ZVJ1bnMoYSxlLHQpe2xldCByPVtdLGk9ZT9uZXcga3MoZSx0aGlzLmdldFR6KCkpOm51bGwsbz10PT09Im5leHQiP3RoaXMuX25leHQ6dGhpcy5fcHJldmlvdXM7Zm9yKDthLS07KXtsZXQgbj1vLmNhbGwodGhpcyxpKTtpZighbilicmVhaztsZXQgbD1uLmdldERhdGUoITEpO3IucHVzaCh0aGlzLmFwcGx5RGF5T2Zmc2V0KGwpKSxpPW59cmV0dXJuIHJ9bWF0Y2goYSl7aWYodGhpcy5fc3RhdGVzLm9uY2Upe2xldCB0PW5ldyBrcyhhLHRoaXMuZ2V0VHooKSk7dC5tcz0wO2xldCByPW5ldyBrcyh0aGlzLl9zdGF0ZXMub25jZSx0aGlzLmdldFR6KCkpO3JldHVybiByLm1zPTAsdC5nZXRUaW1lKCk9PT1yLmdldFRpbWUoKX1sZXQgZT1uZXcga3MoYSx0aGlzLmdldFR6KCkpO3JldHVybiBlLm1zPTAsZS5tYXRjaCh0aGlzLl9zdGF0ZXMucGF0dGVybix0aGlzLm9wdGlvbnMpfWdldFBhdHRlcm4oKXtpZighdGhpcy5fc3RhdGVzLm9uY2UpcmV0dXJuIHRoaXMuX3N0YXRlcy5wYXR0ZXJuP3RoaXMuX3N0YXRlcy5wYXR0ZXJuLnBhdHRlcm46dm9pZCAwfWdldE9uY2UoKXtyZXR1cm4gdGhpcy5fc3RhdGVzLm9uY2U/dGhpcy5fc3RhdGVzLm9uY2UuZ2V0RGF0ZSgpOm51bGx9aXNSdW5uaW5nKCl7bGV0IGE9dGhpcy5uZXh0UnVuKHRoaXMuX3N0YXRlcy5jdXJyZW50UnVuKSxlPSF0aGlzLl9zdGF0ZXMucGF1c2VkLHQ9dGhpcy5mbiE9PXZvaWQgMCxyPSF0aGlzLl9zdGF0ZXMua2lsbDtyZXR1cm4gZSYmdCYmciYmYSE9PW51bGx9aXNTdG9wcGVkKCl7cmV0dXJuIHRoaXMuX3N0YXRlcy5raWxsfWlzQnVzeSgpe3JldHVybiB0aGlzLl9zdGF0ZXMuYmxvY2tpbmd9Y3VycmVudFJ1bigpe3JldHVybiB0aGlzLl9zdGF0ZXMuY3VycmVudFJ1bj90aGlzLl9zdGF0ZXMuY3VycmVudFJ1bi5nZXREYXRlKCk6bnVsbH1wcmV2aW91c1J1bigpe3JldHVybiB0aGlzLl9zdGF0ZXMucHJldmlvdXNSdW4/dGhpcy5fc3RhdGVzLnByZXZpb3VzUnVuLmdldERhdGUoKTpudWxsfW1zVG9OZXh0KGEpe2xldCBlPXRoaXMuX25leHQoYSk7cmV0dXJuIGU/YSBpbnN0YW5jZW9mIGtzfHxhIGluc3RhbmNlb2YgRGF0ZT9lLmdldFRpbWUoKS1hLmdldFRpbWUoKTplLmdldFRpbWUoKS1uZXcga3MoYSkuZ2V0VGltZSgpOm51bGx9c3RvcCgpe3RoaXMuX3N0YXRlcy5raWxsPSEwLHRoaXMuX3N0YXRlcy5jdXJyZW50VGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuX3N0YXRlcy5jdXJyZW50VGltZW91dCk7bGV0IGE9ZGguaW5kZXhPZih0aGlzKTthPj0wJiZkaC5zcGxpY2UoYSwxKX1wYXVzZSgpe3JldHVybiB0aGlzLl9zdGF0ZXMucGF1c2VkPSEwLCF0aGlzLl9zdGF0ZXMua2lsbH1yZXN1bWUoKXtyZXR1cm4gdGhpcy5fc3RhdGVzLnBhdXNlZD0hMSwhdGhpcy5fc3RhdGVzLmtpbGx9c2NoZWR1bGUoYSl7aWYoYSYmdGhpcy5mbil0aHJvdyBuZXcgRXJyb3IoIkNyb246IEl0IGlzIG5vdCBhbGxvd2VkIHRvIHNjaGVkdWxlIHR3byBmdW5jdGlvbnMgdXNpbmcgdGhlIHNhbWUgQ3JvbmVyIGluc3RhbmNlLiIpO2EmJih0aGlzLmZuPWEpO2xldCBlPXRoaXMubXNUb05leHQoKSx0PXRoaXMubmV4dFJ1bih0aGlzLl9zdGF0ZXMuY3VycmVudFJ1bik7cmV0dXJuIGU9PW51bGx8fGlzTmFOKGUpfHx0PT09bnVsbD90aGlzOihlPl9zdCYmKGU9X3N0KSx0aGlzLl9zdGF0ZXMuY3VycmVudFRpbWVvdXQ9c2V0VGltZW91dCgoKT0+dGhpcy5fY2hlY2tUcmlnZ2VyKHQpLGUpLHRoaXMuX3N0YXRlcy5jdXJyZW50VGltZW91dCYmdGhpcy5vcHRpb25zLnVucmVmJiZwOWEodGhpcy5fc3RhdGVzLmN1cnJlbnRUaW1lb3V0KSx0aGlzKX1hc3luYyBfdHJpZ2dlcihhKXt0aGlzLl9zdGF0ZXMuYmxvY2tpbmc9ITAsdGhpcy5fc3RhdGVzLmN1cnJlbnRSdW49bmV3IGtzKHZvaWQgMCx0aGlzLmdldFR6KCkpO3RyeXtpZih0aGlzLm9wdGlvbnMuY2F0Y2gpdHJ5e3RoaXMuZm4hPT12b2lkIDAmJmF3YWl0IHRoaXMuZm4odGhpcyx0aGlzLm9wdGlvbnMuY29udGV4dCl9Y2F0Y2goZSl7aWYobzkodGhpcy5vcHRpb25zLmNhdGNoKSl0cnl7dGhpcy5vcHRpb25zLmNhdGNoKGUsdGhpcyl9Y2F0Y2h7fX1lbHNlIHRoaXMuZm4hPT12b2lkIDAmJmF3YWl0IHRoaXMuZm4odGhpcyx0aGlzLm9wdGlvbnMuY29udGV4dCl9ZmluYWxseXt0aGlzLl9zdGF0ZXMucHJldmlvdXNSdW49bmV3IGtzKGEsdGhpcy5nZXRUeigpKSx0aGlzLl9zdGF0ZXMuYmxvY2tpbmc9ITF9fWFzeW5jIHRyaWdnZXIoKXthd2FpdCB0aGlzLl90cmlnZ2VyKCl9cnVuc0xlZnQoKXtyZXR1cm4gdGhpcy5fc3RhdGVzLm1heFJ1bnN9X2NoZWNrVHJpZ2dlcihhKXtsZXQgZT1uZXcgRGF0ZSx0PSF0aGlzLl9zdGF0ZXMucGF1c2VkJiZlLmdldFRpbWUoKT49YS5nZXRUaW1lKCkscj10aGlzLl9zdGF0ZXMuYmxvY2tpbmcmJnRoaXMub3B0aW9ucy5wcm90ZWN0O3QmJiFyPyh0aGlzLl9zdGF0ZXMubWF4UnVucyE9PXZvaWQgMCYmdGhpcy5fc3RhdGVzLm1heFJ1bnMtLSx0aGlzLl90cmlnZ2VyKCkpOnQmJnImJm85KHRoaXMub3B0aW9ucy5wcm90ZWN0KSYmc2V0VGltZW91dCgoKT0+dGhpcy5vcHRpb25zLnByb3RlY3QodGhpcyksMCksdGhpcy5zY2hlZHVsZSgpfV9uZXh0KGEpe2xldCBlPSEhKGF8fHRoaXMuX3N0YXRlcy5jdXJyZW50UnVuKSx0PSExOyFhJiZ0aGlzLm9wdGlvbnMuc3RhcnRBdCYmdGhpcy5vcHRpb25zLmludGVydmFsJiYoW2EsZV09dGhpcy5fY2FsY3VsYXRlUHJldmlvdXNSdW4oYSxlKSx0PSFhKSxhPW5ldyBrcyhhLHRoaXMuZ2V0VHooKSksdGhpcy5vcHRpb25zLnN0YXJ0QXQmJmEmJmEuZ2V0VGltZSgpPHRoaXMub3B0aW9ucy5zdGFydEF0LmdldFRpbWUoKSYmKGE9dGhpcy5vcHRpb25zLnN0YXJ0QXQpO2xldCByPXRoaXMuX3N0YXRlcy5vbmNlfHxuZXcga3MoYSx0aGlzLmdldFR6KCkpO3JldHVybiF0JiZyIT09dGhpcy5fc3RhdGVzLm9uY2UmJihyPXIuaW5jcmVtZW50KHRoaXMuX3N0YXRlcy5wYXR0ZXJuLHRoaXMub3B0aW9ucyxlKSksdGhpcy5fc3RhdGVzLm9uY2UmJnRoaXMuX3N0YXRlcy5vbmNlLmdldFRpbWUoKTw9YS5nZXRUaW1lKCl8fHI9PT1udWxsfHx0aGlzLl9zdGF0ZXMubWF4UnVucyE9PXZvaWQgMCYmdGhpcy5fc3RhdGVzLm1heFJ1bnM8PTB8fHRoaXMuX3N0YXRlcy5raWxsfHx0aGlzLm9wdGlvbnMuc3RvcEF0JiZyLmdldFRpbWUoKT49dGhpcy5vcHRpb25zLnN0b3BBdC5nZXRUaW1lKCk/bnVsbDpyfV9wcmV2aW91cyhhKXtsZXQgZT1uZXcga3MoYSx0aGlzLmdldFR6KCkpO3RoaXMub3B0aW9ucy5zdG9wQXQmJmUuZ2V0VGltZSgpPnRoaXMub3B0aW9ucy5zdG9wQXQuZ2V0VGltZSgpJiYoZT10aGlzLm9wdGlvbnMuc3RvcEF0KTtsZXQgdD1uZXcga3MoZSx0aGlzLmdldFR6KCkpO3JldHVybiB0aGlzLl9zdGF0ZXMub25jZT90aGlzLl9zdGF0ZXMub25jZS5nZXRUaW1lKCk8ZS5nZXRUaW1lKCk/dGhpcy5fc3RhdGVzLm9uY2U6bnVsbDoodD10LmRlY3JlbWVudCh0aGlzLl9zdGF0ZXMucGF0dGVybix0aGlzLm9wdGlvbnMpLHQ9PT1udWxsfHx0aGlzLm9wdGlvbnMuc3RhcnRBdCYmdC5nZXRUaW1lKCk8dGhpcy5vcHRpb25zLnN0YXJ0QXQuZ2V0VGltZSgpP251bGw6dCl9X2NhbGN1bGF0ZVByZXZpb3VzUnVuKGEsZSl7bGV0IHQ9bmV3IGtzKHZvaWQgMCx0aGlzLmdldFR6KCkpLHI9YTtpZih0aGlzLm9wdGlvbnMuc3RhcnRBdC5nZXRUaW1lKCk8PXQuZ2V0VGltZSgpKXtyPXRoaXMub3B0aW9ucy5zdGFydEF0O2xldCBpPXIuZ2V0VGltZSgpK3RoaXMub3B0aW9ucy5pbnRlcnZhbCoxZTM7Zm9yKDtpPD10LmdldFRpbWUoKTspcj1uZXcga3Mocix0aGlzLmdldFR6KCkpLmluY3JlbWVudCh0aGlzLl9zdGF0ZXMucGF0dGVybix0aGlzLm9wdGlvbnMsITApLGk9ci5nZXRUaW1lKCkrdGhpcy5vcHRpb25zLmludGVydmFsKjFlMztlPSEwfXJldHVybiByPT09bnVsbCYmKHI9dm9pZCAwKSxbcixlXX19fSk7dmFyIFlZLGw5LGY5YSxmaXIsZjIsS1ksZ2ksRm8sdWgsbzJlLGkwLHBoLFpZLFhZLFFZLEpZLGgzLGZoLEdZLERzdCxuMmUsbDJlLEFzdCxjMmUsUXQ9ZigoKT0+e1lZPTcsbDk9MzY1LjI0MjUsZjlhPU1hdGgucG93KDEwLDgpKjI0KjYwKjYwKjFlMyxmaXI9LWY5YSxmMj02MDQ4ZTUsS1k9ODY0ZTUsZ2k9NmU0LEZvPTM2ZTUsdWg9MWUzLG8yZT01MjU2MDAsaTA9NDMyMDAscGg9MTQ0MCxaWT02MCxYWT0zLFFZPTEyLEpZPTQsaDM9MzYwMCxmaD02MCxHWT1oMyoyNCxEc3Q9R1kqNyxuMmU9R1kqMzY1LjI0MjUsbDJlPW4yZS8xMixBc3Q9bDJlKjMsYzJlPVN5bWJvbC5mb3IoImNvbnN0cnVjdERhdGVGcm9tIil9KTtmdW5jdGlvbiBGZShhLGUpe3JldHVybiB0eXBlb2YgYT09ImZ1bmN0aW9uIj9hKGUpOmEmJnR5cGVvZiBhPT0ib2JqZWN0IiYmYzJlIGluIGE/YVtjMmVdKGUpOmEgaW5zdGFuY2VvZiBEYXRlP25ldyBhLmNvbnN0cnVjdG9yKGUpOm5ldyBEYXRlKGUpfXZhciBnaXIsJHQ9ZigoKT0+e1F0KCk7cyhGZSwiY29uc3RydWN0RnJvbSIpO2dpcj1GZX0pO2Z1bmN0aW9uIGtlKGEsZSl7cmV0dXJuIEZlKGV8fGEsYSl9dmFyIHlpcixIZT1mKCgpPT57JHQoKTtzKGtlLCJ0b0RhdGUiKTt5aXI9a2V9KTtmdW5jdGlvbiBTcyhhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbik7cmV0dXJuIGlzTmFOKGUpP0ZlKHQ/LmlufHxhLE5hTik6KGUmJnIuc2V0RGF0ZShyLmdldERhdGUoKStlKSxyKX12YXIgemlyLGgyPWYoKCk9PnskdCgpO0hlKCk7cyhTcywiYWRkRGF5cyIpO3ppcj1Tc30pO2Z1bmN0aW9uIG0yKGEsZSx0KXtsZXQgcj1rZShhLHQ/LmluKTtpZihpc05hTihlKSlyZXR1cm4gRmUodD8uaW58fGEsTmFOKTtpZighZSlyZXR1cm4gcjtsZXQgaT1yLmdldERhdGUoKSxvPUZlKHQ/LmlufHxhLHIuZ2V0VGltZSgpKTtvLnNldE1vbnRoKHIuZ2V0TW9udGgoKStlKzEsMCk7bGV0IG49by5nZXREYXRlKCk7cmV0dXJuIGk+PW4/bzooci5zZXRGdWxsWWVhcihvLmdldEZ1bGxZZWFyKCksby5nZXRNb250aCgpLGkpLHIpfXZhciAkaXIsaGg9ZigoKT0+eyR0KCk7SGUoKTtzKG0yLCJhZGRNb250aHMiKTskaXI9bTJ9KTtmdW5jdGlvbiBvMChhLGUsdCl7bGV0e3llYXJzOnI9MCxtb250aHM6aT0wLHdlZWtzOm89MCxkYXlzOm49MCxob3VyczpsPTAsbWludXRlczpkPTAsc2Vjb25kczpjPTB9PWUscD1rZShhLHQ/LmluKSx1PWl8fHI/bTIocCxpK3IqMTIpOnAsbT1ufHxvP1NzKHUsbitvKjcpOnUsdj1kK2wqNjAsYj0oYyt2KjYwKSoxZTM7cmV0dXJuIEZlKHQ/LmlufHxhLCttK2IpfXZhciBSaXIsZDJlPWYoKCk9PntoMigpO2hoKCk7JHQoKTtIZSgpO3MobzAsImFkZCIpO1Jpcj1vMH0pO2Z1bmN0aW9uIGVLKGEsZSl7cmV0dXJuIGtlKGEsZT8uaW4pLmdldERheSgpPT09Nn12YXIgSGlyLHUyZT1mKCgpPT57SGUoKTtzKGVLLCJpc1NhdHVyZGF5Iik7SGlyPWVLfSk7ZnVuY3Rpb24gdEsoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0RGF5KCk9PT0wfXZhciBVaXIscDJlPWYoKCk9PntIZSgpO3ModEssImlzU3VuZGF5Iik7VWlyPXRLfSk7ZnVuY3Rpb24gZzIoYSxlKXtsZXQgdD1rZShhLGU/LmluKS5nZXREYXkoKTtyZXR1cm4gdD09PTB8fHQ9PT02fXZhciBLaXIsYzk9ZigoKT0+e0hlKCk7cyhnMiwiaXNXZWVrZW5kIik7S2lyPWcyfSk7ZnVuY3Rpb24gYUsoYSxlLHQpe2xldCByPWtlKGEsdD8uaW4pLGk9ZzIocix0KTtpZihpc05hTihlKSlyZXR1cm4gRmUodD8uaW4sTmFOKTtsZXQgbz1yLmdldEhvdXJzKCksbj1lPDA/LTE6MSxsPU1hdGgudHJ1bmMoZS81KTtyLnNldERhdGUoci5nZXREYXRlKCkrbCo3KTtsZXQgZD1NYXRoLmFicyhlJTUpO2Zvcig7ZD4wOylyLnNldERhdGUoci5nZXREYXRlKCkrbiksZzIocix0KXx8KGQtPTEpO3JldHVybiBpJiZnMihyLHQpJiZlIT09MCYmKGVLKHIsdCkmJnIuc2V0RGF0ZShyLmdldERhdGUoKSsobjwwPzI6LTEpKSx0SyhyLHQpJiZyLnNldERhdGUoci5nZXREYXRlKCkrKG48MD8xOi0yKSkpLHIuc2V0SG91cnMobykscn12YXIgcm9yLGYyZT1mKCgpPT57JHQoKTt1MmUoKTtwMmUoKTtjOSgpO0hlKCk7cyhhSywiYWRkQnVzaW5lc3NEYXlzIik7cm9yPWFLfSk7ZnVuY3Rpb24gbjAoYSxlLHQpe3JldHVybiBGZSh0Py5pbnx8YSwra2UoYSkrZSl9dmFyIGxvcixkOT1mKCgpPT57JHQoKTtIZSgpO3MobjAsImFkZE1pbGxpc2Vjb25kcyIpO2xvcj1uMH0pO2Z1bmN0aW9uIHJLKGEsZSx0KXtyZXR1cm4gbjAoYSxlKkZvLHQpfXZhciBob3IsaDJlPWYoKCk9PntkOSgpO1F0KCk7cyhySywiYWRkSG91cnMiKTtob3I9ckt9KTtmdW5jdGlvbiBIYSgpe3JldHVybiBFc3R9ZnVuY3Rpb24gUHN0KGEpe0VzdD1hfXZhciBFc3QsYmk9ZigoKT0+e0VzdD17fTtzKEhhLCJnZXREZWZhdWx0T3B0aW9ucyIpO3MoUHN0LCJzZXREZWZhdWx0T3B0aW9ucyIpfSk7ZnVuY3Rpb24gZXIoYSxlKXtsZXQgdD1IYSgpLHI9ZT8ud2Vla1N0YXJ0c09uPz9lPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/dC53ZWVrU3RhcnRzT24/P3QubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsaT1rZShhLGU/LmluKSxvPWkuZ2V0RGF5KCksbj0obzxyPzc6MCkrby1yO3JldHVybiBpLnNldERhdGUoaS5nZXREYXRlKCktbiksaS5zZXRIb3VycygwLDAsMCwwKSxpfXZhciB3b3IsYTE9ZigoKT0+e2JpKCk7SGUoKTtzKGVyLCJzdGFydE9mV2VlayIpO3dvcj1lcn0pO2Z1bmN0aW9uIHNzKGEsZSl7cmV0dXJuIGVyKGEsey4uLmUsd2Vla1N0YXJ0c09uOjF9KX12YXIgem9yLGIyPWYoKCk9PnthMSgpO3Moc3MsInN0YXJ0T2ZJU09XZWVrIik7em9yPXNzfSk7ZnVuY3Rpb24gSGkoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0RnVsbFllYXIoKSxpPUZlKHQsMCk7aS5zZXRGdWxsWWVhcihyKzEsMCw0KSxpLnNldEhvdXJzKDAsMCwwLDApO2xldCBvPXNzKGkpLG49RmUodCwwKTtuLnNldEZ1bGxZZWFyKHIsMCw0KSxuLnNldEhvdXJzKDAsMCwwLDApO2xldCBsPXNzKG4pO3JldHVybiB0LmdldFRpbWUoKT49by5nZXRUaW1lKCk/cisxOnQuZ2V0VGltZSgpPj1sLmdldFRpbWUoKT9yOnItMX12YXIgRG9yLGwwPWYoKCk9PnskdCgpO2IyKCk7SGUoKTtzKEhpLCJnZXRJU09XZWVrWWVhciIpO0Rvcj1IaX0pO2Z1bmN0aW9uIEVyKGEpe2xldCBlPWtlKGEpLHQ9bmV3IERhdGUoRGF0ZS5VVEMoZS5nZXRGdWxsWWVhcigpLGUuZ2V0TW9udGgoKSxlLmdldERhdGUoKSxlLmdldEhvdXJzKCksZS5nZXRNaW51dGVzKCksZS5nZXRTZWNvbmRzKCksZS5nZXRNaWxsaXNlY29uZHMoKSkpO3JldHVybiB0LnNldFVUQ0Z1bGxZZWFyKGUuZ2V0RnVsbFllYXIoKSksK2EtK3R9dmFyIGtsPWYoKCk9PntIZSgpO3MoRXIsImdldFRpbWV6b25lT2Zmc2V0SW5NaWxsaXNlY29uZHMiKX0pO2Z1bmN0aW9uIF90KGEsLi4uZSl7bGV0IHQ9RmUuYmluZChudWxsLGF8fGUuZmluZChyPT50eXBlb2Ygcj09Im9iamVjdCIpKTtyZXR1cm4gZS5tYXAodCl9dmFyIGphPWYoKCk9PnskdCgpO3MoX3QsIm5vcm1hbGl6ZURhdGVzIil9KTtmdW5jdGlvbiB2MihhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldEhvdXJzKDAsMCwwLDApLHR9dmFyIEhvcix1OT1mKCgpPT57SGUoKTtzKHYyLCJzdGFydE9mRGF5Iik7SG9yPXYyfSk7ZnVuY3Rpb24gRnMoYSxlLHQpe2xldFtyLGldPV90KHQ/LmluLGEsZSksbz12MihyKSxuPXYyKGkpLGw9K28tRXIobyksZD0rbi1FcihuKTtyZXR1cm4gTWF0aC5yb3VuZCgobC1kKS9LWSl9dmFyIFlvcixTbD1mKCgpPT57a2woKTtqYSgpO1F0KCk7dTkoKTtzKEZzLCJkaWZmZXJlbmNlSW5DYWxlbmRhckRheXMiKTtZb3I9RnN9KTtmdW5jdGlvbiBCbyhhLGUpe2xldCB0PUhpKGEsZSkscj1GZShlPy5pbnx8YSwwKTtyZXR1cm4gci5zZXRGdWxsWWVhcih0LDAsNCksci5zZXRIb3VycygwLDAsMCwwKSxzcyhyKX12YXIgZW5yLG1oPWYoKCk9PnskdCgpO2wwKCk7YjIoKTtzKEJvLCJzdGFydE9mSVNPV2Vla1llYXIiKTtlbnI9Qm99KTtmdW5jdGlvbiBzSyhhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbiksaT1GcyhyLEJvKHIsdCkpLG89RmUodD8uaW58fGEsMCk7cmV0dXJuIG8uc2V0RnVsbFllYXIoZSwwLDQpLG8uc2V0SG91cnMoMCwwLDAsMCkscj1CbyhvKSxyLnNldERhdGUoci5nZXREYXRlKCkraSkscn12YXIgbm5yLG0yZT1mKCgpPT57JHQoKTtTbCgpO21oKCk7SGUoKTtzKHNLLCJzZXRJU09XZWVrWWVhciIpO25ucj1zS30pO2Z1bmN0aW9uIGlLKGEsZSx0KXtyZXR1cm4gc0soYSxIaShhLHQpK2UsdCl9dmFyIHBucixnMmU9ZigoKT0+e2wwKCk7bTJlKCk7cyhpSywiYWRkSVNPV2Vla1llYXJzIik7cG5yPWlLfSk7ZnVuY3Rpb24gZ2goYSxlLHQpe2xldCByPWtlKGEsdD8uaW4pO3JldHVybiByLnNldFRpbWUoci5nZXRUaW1lKCkrZSpnaSkscn12YXIgYm5yLG9LPWYoKCk9PntRdCgpO0hlKCk7cyhnaCwiYWRkTWludXRlcyIpO2Jucj1naH0pO2Z1bmN0aW9uIGJoKGEsZSx0KXtyZXR1cm4gbTIoYSxlKjMsdCl9dmFyIHducixuSz1mKCgpPT57aGgoKTtzKGJoLCJhZGRRdWFydGVycyIpO3ducj1iaH0pO2Z1bmN0aW9uIGxLKGEsZSx0KXtyZXR1cm4gbjAoYSxlKjFlMyx0KX12YXIgem5yLGIyZT1mKCgpPT57ZDkoKTtzKGxLLCJhZGRTZWNvbmRzIik7em5yPWxLfSk7ZnVuY3Rpb24gYzAoYSxlLHQpe3JldHVybiBTcyhhLGUqNyx0KX12YXIgTG5yLHA5PWYoKCk9PntoMigpO3MoYzAsImFkZFdlZWtzIik7TG5yPWMwfSk7ZnVuY3Rpb24gY0soYSxlLHQpe3JldHVybiBtMihhLGUqMTIsdCl9dmFyIEVucix2MmU9ZigoKT0+e2hoKCk7cyhjSywiYWRkWWVhcnMiKTtFbnI9Y0t9KTtmdW5jdGlvbiBJc3QoYSxlLHQpe2xldFtyLGldPVsra2UoYS5zdGFydCx0Py5pbiksK2tlKGEuZW5kLHQ/LmluKV0uc29ydCgobCxkKT0+bC1kKSxbbyxuXT1bK2tlKGUuc3RhcnQsdD8uaW4pLCtrZShlLmVuZCx0Py5pbildLnNvcnQoKGwsZCk9PmwtZCk7cmV0dXJuIHQ/LmluY2x1c2l2ZT9yPD1uJiZvPD1pOnI8biYmbzxpfXZhciBSbnIsTnN0PWYoKCk9PntIZSgpO3MoSXN0LCJhcmVJbnRlcnZhbHNPdmVybGFwcGluZyIpO1Jucj1Jc3R9KTtmdW5jdGlvbiBkSyhhLGUpe2xldCB0LHI9ZT8uaW47cmV0dXJuIGEuZm9yRWFjaChpPT57IXImJnR5cGVvZiBpPT0ib2JqZWN0IiYmKHI9RmUuYmluZChudWxsLGkpKTtsZXQgbz1rZShpLHIpOyghdHx8dDxvfHxpc05hTigrbykpJiYodD1vKX0pLEZlKHIsdHx8TmFOKX12YXIgcW5yLHgyZT1mKCgpPT57JHQoKTtIZSgpO3MoZEssIm1heCIpO3Fucj1kS30pO2Z1bmN0aW9uIHVLKGEsZSl7bGV0IHQscj1lPy5pbjtyZXR1cm4gYS5mb3JFYWNoKGk9PnshciYmdHlwZW9mIGk9PSJvYmplY3QiJiYocj1GZS5iaW5kKG51bGwsaSkpO2xldCBvPWtlKGkscik7KCF0fHx0Pm98fGlzTmFOKCtvKSkmJih0PW8pfSksRmUocix0fHxOYU4pfXZhciBHbnIseTJlPWYoKCk9PnskdCgpO0hlKCk7cyh1SywibWluIik7R25yPXVLfSk7ZnVuY3Rpb24gUnN0KGEsZSx0KXtsZXRbcixpLG9dPV90KHQ/LmluLGEsZS5zdGFydCxlLmVuZCk7cmV0dXJuIHVLKFtkSyhbcixpXSx0KSxvXSx0KX12YXIgSm5yLE9zdD1mKCgpPT57amEoKTt4MmUoKTt5MmUoKTtzKFJzdCwiY2xhbXAiKTtKbnI9UnN0fSk7ZnVuY3Rpb24gcEsoYSxlKXtsZXQgdD0ra2UoYSk7aWYoaXNOYU4odCkpcmV0dXJuIE5hTjtsZXQgcixpO3JldHVybiBlLmZvckVhY2goKG8sbik9PntsZXQgbD1rZShvKTtpZihpc05hTigrbCkpe3I9TmFOLGk9TmFOO3JldHVybn1sZXQgZD1NYXRoLmFicyh0LStsKTsocj09bnVsbHx8ZDxpKSYmKHI9bixpPWQpfSkscn12YXIgcjFyLHcyZT1mKCgpPT57SGUoKTtzKHBLLCJjbG9zZXN0SW5kZXhUbyIpO3Ixcj1wS30pO2Z1bmN0aW9uIEZzdChhLGUsdCl7bGV0W3IsLi4uaV09X3QodD8uaW4sYSwuLi5lKSxvPXBLKHIsaSk7aWYodHlwZW9mIG89PSJudW1iZXIiJiZpc05hTihvKSlyZXR1cm4gRmUocixOYU4pO2lmKG8hPT12b2lkIDApcmV0dXJuIGlbb119dmFyIGMxcixCc3Q9ZigoKT0+e2phKCk7dzJlKCk7JHQoKTtzKEZzdCwiY2xvc2VzdFRvIik7YzFyPUZzdH0pO2Z1bmN0aW9uIHZpKGEsZSl7bGV0IHQ9K2tlKGEpLStrZShlKTtyZXR1cm4gdDwwPy0xOnQ+MD8xOnR9dmFyIGYxcixtMz1mKCgpPT57SGUoKTtzKHZpLCJjb21wYXJlQXNjIik7ZjFyPXZpfSk7ZnVuY3Rpb24gSHN0KGEsZSl7bGV0IHQ9K2tlKGEpLStrZShlKTtyZXR1cm4gdD4wPy0xOnQ8MD8xOnR9dmFyIGIxcixxc3Q9ZigoKT0+e0hlKCk7cyhIc3QsImNvbXBhcmVEZXNjIik7YjFyPUhzdH0pO2Z1bmN0aW9uIGNhKGEpe3JldHVybiBGZShhLERhdGUubm93KCkpfXZhciB3MXIsenM9ZigoKT0+eyR0KCk7cyhjYSwiY29uc3RydWN0Tm93Iik7dzFyPWNhfSk7ZnVuY3Rpb24gVnN0KGEpe2xldCBlPU1hdGgudHJ1bmMoYS83KTtyZXR1cm4gZT09PTA/MDplfXZhciB6MXIsanN0PWYoKCk9PntRdCgpO3MoVnN0LCJkYXlzVG9XZWVrcyIpO3oxcj1Wc3R9KTtmdW5jdGlvbiB4MihhLGUsdCl7bGV0W3IsaV09X3QodD8uaW4sYSxlKTtyZXR1cm4rdjIocik9PSt2MihpKX12YXIgJDFyLHZoPWYoKCk9PntqYSgpO3U5KCk7cyh4MiwiaXNTYW1lRGF5Iik7JDFyPXgyfSk7ZnVuY3Rpb24gZksoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBEYXRlfHx0eXBlb2YgYT09Im9iamVjdCImJk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKT09PSJbb2JqZWN0IERhdGVdIn12YXIgRTFyLE0yZT1mKCgpPT57cyhmSywiaXNEYXRlIik7RTFyPWZLfSk7ZnVuY3Rpb24gWnMoYSl7cmV0dXJuISghZksoYSkmJnR5cGVvZiBhIT0ibnVtYmVyInx8aXNOYU4oK2tlKGEpKSl9dmFyIE8xcix6bD1mKCgpPT57TTJlKCk7SGUoKTtzKFpzLCJpc1ZhbGlkIik7TzFyPVpzfSk7ZnVuY3Rpb24gVXN0KGEsZSx0KXtsZXRbcixpXT1fdCh0Py5pbixhLGUpO2lmKCFacyhyKXx8IVpzKGkpKXJldHVybiBOYU47bGV0IG89RnMocixpKSxuPW88MD8tMToxLGw9TWF0aC50cnVuYyhvLzcpLGQ9bCo1LGM9U3MoaSxsKjcpO2Zvcig7IXgyKHIsYyk7KWQrPWcyKGMsdCk/MDpuLGM9U3MoYyxuKTtyZXR1cm4gZD09PTA/MDpkfXZhciBHMXIsV3N0PWYoKCk9PntqYSgpO2gyKCk7U2woKTt2aCgpO3psKCk7YzkoKTtzKFVzdCwiZGlmZmVyZW5jZUluQnVzaW5lc3NEYXlzIik7RzFyPVVzdH0pO2Z1bmN0aW9uIGhLKGEsZSx0KXtsZXRbcixpXT1fdCh0Py5pbixhLGUpO3JldHVybiBIaShyLHQpLUhpKGksdCl9dmFyIFExcixrMmU9ZigoKT0+e2phKCk7bDAoKTtzKGhLLCJkaWZmZXJlbmNlSW5DYWxlbmRhcklTT1dlZWtZZWFycyIpO1Excj1oS30pO2Z1bmN0aW9uIEdzdChhLGUsdCl7bGV0W3IsaV09X3QodD8uaW4sYSxlKSxvPXNzKHIpLG49c3MoaSksbD0rby1FcihvKSxkPStuLUVyKG4pO3JldHVybiBNYXRoLnJvdW5kKChsLWQpL2YyKX12YXIgaTJyLFlzdD1mKCgpPT57a2woKTtqYSgpO1F0KCk7YjIoKTtzKEdzdCwiZGlmZmVyZW5jZUluQ2FsZW5kYXJJU09XZWVrcyIpO2kycj1Hc3R9KTtmdW5jdGlvbiBnMyhhLGUsdCl7bGV0W3IsaV09X3QodD8uaW4sYSxlKSxvPXIuZ2V0RnVsbFllYXIoKS1pLmdldEZ1bGxZZWFyKCksbj1yLmdldE1vbnRoKCktaS5nZXRNb250aCgpO3JldHVybiBvKjEyK259dmFyIGMycixtSz1mKCgpPT57amEoKTtzKGczLCJkaWZmZXJlbmNlSW5DYWxlbmRhck1vbnRocyIpO2Mycj1nM30pO2Z1bmN0aW9uIGY5KGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7cmV0dXJuIE1hdGgudHJ1bmModC5nZXRNb250aCgpLzMpKzF9dmFyIGYycixTMmU9ZigoKT0+e0hlKCk7cyhmOSwiZ2V0UXVhcnRlciIpO2Yycj1mOX0pO2Z1bmN0aW9uIHhoKGEsZSx0KXtsZXRbcixpXT1fdCh0Py5pbixhLGUpLG89ci5nZXRGdWxsWWVhcigpLWkuZ2V0RnVsbFllYXIoKSxuPWY5KHIpLWY5KGkpO3JldHVybiBvKjQrbn12YXIgdjJyLHoyZT1mKCgpPT57amEoKTtTMmUoKTtzKHhoLCJkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzIik7djJyPXhofSk7ZnVuY3Rpb24gYjMoYSxlLHQpe2xldFtyLGldPV90KHQ/LmluLGEsZSksbz1lcihyLHQpLG49ZXIoaSx0KSxsPStvLUVyKG8pLGQ9K24tRXIobik7cmV0dXJuIE1hdGgucm91bmQoKGwtZCkvZjIpfXZhciB6MnIsZ0s9ZigoKT0+e2tsKCk7amEoKTtRdCgpO2ExKCk7cyhiMywiZGlmZmVyZW5jZUluQ2FsZW5kYXJXZWVrcyIpO3oycj1iM30pO2Z1bmN0aW9uIGQwKGEsZSx0KXtsZXRbcixpXT1fdCh0Py5pbixhLGUpO3JldHVybiByLmdldEZ1bGxZZWFyKCktaS5nZXRGdWxsWWVhcigpfXZhciBMMnIsYks9ZigoKT0+e2phKCk7cyhkMCwiZGlmZmVyZW5jZUluQ2FsZW5kYXJZZWFycyIpO0wycj1kMH0pO2Z1bmN0aW9uIHloKGEsZSx0KXtsZXRbcixpXT1fdCh0Py5pbixhLGUpLG89S3N0KHIsaSksbj1NYXRoLmFicyhGcyhyLGkpKTtyLnNldERhdGUoci5nZXREYXRlKCktbypuKTtsZXQgbD0rKEtzdChyLGkpPT09LW8pLGQ9byoobi1sKTtyZXR1cm4gZD09PTA/MDpkfWZ1bmN0aW9uIEtzdChhLGUpe2xldCB0PWEuZ2V0RnVsbFllYXIoKS1lLmdldEZ1bGxZZWFyKCl8fGEuZ2V0TW9udGgoKS1lLmdldE1vbnRoKCl8fGEuZ2V0RGF0ZSgpLWUuZ2V0RGF0ZSgpfHxhLmdldEhvdXJzKCktZS5nZXRIb3VycygpfHxhLmdldE1pbnV0ZXMoKS1lLmdldE1pbnV0ZXMoKXx8YS5nZXRTZWNvbmRzKCktZS5nZXRTZWNvbmRzKCl8fGEuZ2V0TWlsbGlzZWNvbmRzKCktZS5nZXRNaWxsaXNlY29uZHMoKTtyZXR1cm4gdDwwPy0xOnQ+MD8xOnR9dmFyIFAycix2Sz1mKCgpPT57amEoKTtTbCgpO3MoeWgsImRpZmZlcmVuY2VJbkRheXMiKTtzKEtzdCwiY29tcGFyZUxvY2FsQXNjIik7UDJyPXlofSk7ZnVuY3Rpb24geGkoYSl7cmV0dXJuIGU9PntsZXQgcj0oYT9NYXRoW2FdOk1hdGgudHJ1bmMpKGUpO3JldHVybiByPT09MD8wOnJ9fXZhciBDbD1mKCgpPT57cyh4aSwiZ2V0Um91bmRpbmdNZXRob2QiKX0pO2Z1bmN0aW9uIHYzKGEsZSx0KXtsZXRbcixpXT1fdCh0Py5pbixhLGUpLG89KCtyLStpKS9GbztyZXR1cm4geGkodD8ucm91bmRpbmdNZXRob2QpKG8pfXZhciBxMnIseEs9ZigoKT0+e0NsKCk7amEoKTtRdCgpO3ModjMsImRpZmZlcmVuY2VJbkhvdXJzIik7cTJyPXYzfSk7ZnVuY3Rpb24geUsoYSxlLHQpe3JldHVybiBpSyhhLC1lLHQpfXZhciBXMnIsQzJlPWYoKCk9PntnMmUoKTtzKHlLLCJzdWJJU09XZWVrWWVhcnMiKTtXMnI9eUt9KTtmdW5jdGlvbiBac3QoYSxlLHQpe2xldFtyLGldPV90KHQ/LmluLGEsZSksbz12aShyLGkpLG49TWF0aC5hYnMoaEsocixpLHQpKSxsPXlLKHIsbypuLHQpLGQ9Kyh2aShsLGkpPT09LW8pLGM9byoobi1kKTtyZXR1cm4gYz09PTA/MDpjfXZhciBKMnIsWHN0PWYoKCk9PntqYSgpO20zKCk7azJlKCk7QzJlKCk7cyhac3QsImRpZmZlcmVuY2VJbklTT1dlZWtZZWFycyIpO0oycj1ac3R9KTtmdW5jdGlvbiB3aChhLGUpe3JldHVybitrZShhKS0ra2UoZSl9dmFyIHJscix3Sz1mKCgpPT57SGUoKTtzKHdoLCJkaWZmZXJlbmNlSW5NaWxsaXNlY29uZHMiKTtybHI9d2h9KTtmdW5jdGlvbiB4MyhhLGUsdCl7bGV0IHI9d2goYSxlKS9naTtyZXR1cm4geGkodD8ucm91bmRpbmdNZXRob2QpKHIpfXZhciBjbHIsTUs9ZigoKT0+e0NsKCk7UXQoKTt3SygpO3MoeDMsImRpZmZlcmVuY2VJbk1pbnV0ZXMiKTtjbHI9eDN9KTtmdW5jdGlvbiBNaChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldEhvdXJzKDIzLDU5LDU5LDk5OSksdH12YXIgZmxyLGtLPWYoKCk9PntIZSgpO3MoTWgsImVuZE9mRGF5Iik7ZmxyPU1ofSk7ZnVuY3Rpb24ga2goYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0TW9udGgoKTtyZXR1cm4gdC5zZXRGdWxsWWVhcih0LmdldEZ1bGxZZWFyKCkscisxLDApLHQuc2V0SG91cnMoMjMsNTksNTksOTk5KSx0fXZhciBibHIsU0s9ZigoKT0+e0hlKCk7cyhraCwiZW5kT2ZNb250aCIpO2Jscj1raH0pO2Z1bmN0aW9uIHpLKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7cmV0dXJuK01oKHQsZSk9PStraCh0LGUpfXZhciBrbHIsXzJlPWYoKCk9PntrSygpO1NLKCk7SGUoKTtzKHpLLCJpc0xhc3REYXlPZk1vbnRoIik7a2xyPXpLfSk7ZnVuY3Rpb24gdTAoYSxlLHQpe2xldFtyLGksb109X3QodD8uaW4sYSxhLGUpLG49dmkoaSxvKSxsPU1hdGguYWJzKGczKGksbykpO2lmKGw8MSlyZXR1cm4gMDtpLmdldE1vbnRoKCk9PT0xJiZpLmdldERhdGUoKT4yNyYmaS5zZXREYXRlKDMwKSxpLnNldE1vbnRoKGkuZ2V0TW9udGgoKS1uKmwpO2xldCBkPXZpKGksbyk9PT0tbjt6SyhyKSYmbD09PTEmJnZpKHIsbyk9PT0xJiYoZD0hMSk7bGV0IGM9bioobC0rZCk7cmV0dXJuIGM9PT0wPzA6Y312YXIgJGxyLGg5PWYoKCk9PntqYSgpO20zKCk7bUsoKTtfMmUoKTtzKHUwLCJkaWZmZXJlbmNlSW5Nb250aHMiKTskbHI9dTB9KTtmdW5jdGlvbiBRc3QoYSxlLHQpe2xldCByPXUwKGEsZSx0KS8zO3JldHVybiB4aSh0Py5yb3VuZGluZ01ldGhvZCkocil9dmFyIElscixKc3Q9ZigoKT0+e0NsKCk7aDkoKTtzKFFzdCwiZGlmZmVyZW5jZUluUXVhcnRlcnMiKTtJbHI9UXN0fSk7ZnVuY3Rpb24geTIoYSxlLHQpe2xldCByPXdoKGEsZSkvMWUzO3JldHVybiB4aSh0Py5yb3VuZGluZ01ldGhvZCkocil9dmFyIEJscixtOT1mKCgpPT57Q2woKTt3SygpO3MoeTIsImRpZmZlcmVuY2VJblNlY29uZHMiKTtCbHI9eTJ9KTtmdW5jdGlvbiBlaXQoYSxlLHQpe2xldCByPXloKGEsZSx0KS83O3JldHVybiB4aSh0Py5yb3VuZGluZ01ldGhvZCkocil9dmFyIFVscix0aXQ9ZigoKT0+e0NsKCk7dksoKTtzKGVpdCwiZGlmZmVyZW5jZUluV2Vla3MiKTtVbHI9ZWl0fSk7ZnVuY3Rpb24gQ0soYSxlLHQpe2xldFtyLGldPV90KHQ/LmluLGEsZSksbz12aShyLGkpLG49TWF0aC5hYnMoZDAocixpKSk7ci5zZXRGdWxsWWVhcigxNTg0KSxpLnNldEZ1bGxZZWFyKDE1ODQpO2xldCBsPXZpKHIsaSk9PT0tbyxkPW8qKG4tK2wpO3JldHVybiBkPT09MD8wOmR9dmFyIFhscixUMmU9ZigoKT0+e2phKCk7bTMoKTtiSygpO3MoQ0ssImRpZmZlcmVuY2VJblllYXJzIik7WGxyPUNLfSk7ZnVuY3Rpb24gQnMoYSxlKXtsZXRbdCxyXT1fdChhLGUuc3RhcnQsZS5lbmQpO3JldHVybntzdGFydDp0LGVuZDpyfX12YXIgdzI9ZigoKT0+e2phKCk7cyhCcywibm9ybWFsaXplSW50ZXJ2YWwiKX0pO2Z1bmN0aW9uIF9LKGEsZSl7bGV0e3N0YXJ0OnQsZW5kOnJ9PUJzKGU/LmluLGEpLGk9K3Q+K3Isbz1pPyt0OityLG49aT9yOnQ7bi5zZXRIb3VycygwLDAsMCwwKTtsZXQgbD1lPy5zdGVwPz8xO2lmKCFsKXJldHVybltdO2w8MCYmKGw9LWwsaT0haSk7bGV0IGQ9W107Zm9yKDsrbjw9bzspZC5wdXNoKEZlKHQsbikpLG4uc2V0RGF0ZShuLmdldERhdGUoKStsKSxuLnNldEhvdXJzKDAsMCwwLDApO3JldHVybiBpP2QucmV2ZXJzZSgpOmR9dmFyIGljcixMMmU9ZigoKT0+e3cyKCk7JHQoKTtzKF9LLCJlYWNoRGF5T2ZJbnRlcnZhbCIpO2ljcj1fS30pO2Z1bmN0aW9uIGFpdChhLGUpe2xldHtzdGFydDp0LGVuZDpyfT1CcyhlPy5pbixhKSxpPSt0PityLG89aT8rdDorcixuPWk/cjp0O24uc2V0TWludXRlcygwLDAsMCk7bGV0IGw9ZT8uc3RlcD8/MTtpZighbClyZXR1cm5bXTtsPDAmJihsPS1sLGk9IWkpO2xldCBkPVtdO2Zvcig7K248PW87KWQucHVzaChGZSh0LG4pKSxuLnNldEhvdXJzKG4uZ2V0SG91cnMoKStsKTtyZXR1cm4gaT9kLnJldmVyc2UoKTpkfXZhciBkY3Iscml0PWYoKCk9Pnt3MigpOyR0KCk7cyhhaXQsImVhY2hIb3VyT2ZJbnRlcnZhbCIpO2Rjcj1haXR9KTtmdW5jdGlvbiBzaXQoYSxlKXtsZXR7c3RhcnQ6dCxlbmQ6cn09QnMoZT8uaW4sYSk7dC5zZXRTZWNvbmRzKDAsMCk7bGV0IGk9K3Q+K3Isbz1pPyt0OityLG49aT9yOnQsbD1lPy5zdGVwPz8xO2lmKCFsKXJldHVybltdO2w8MCYmKGw9LWwsaT0haSk7bGV0IGQ9W107Zm9yKDsrbjw9bzspZC5wdXNoKEZlKHQsbikpLG49Z2gobixsKTtyZXR1cm4gaT9kLnJldmVyc2UoKTpkfXZhciBnY3IsaWl0PWYoKCk9Pnt3MigpO29LKCk7JHQoKTtzKHNpdCwiZWFjaE1pbnV0ZU9mSW50ZXJ2YWwiKTtnY3I9c2l0fSk7ZnVuY3Rpb24gb2l0KGEsZSl7bGV0e3N0YXJ0OnQsZW5kOnJ9PUJzKGU/LmluLGEpLGk9K3Q+K3Isbz1pPyt0OityLG49aT9yOnQ7bi5zZXRIb3VycygwLDAsMCwwKSxuLnNldERhdGUoMSk7bGV0IGw9ZT8uc3RlcD8/MTtpZighbClyZXR1cm5bXTtsPDAmJihsPS1sLGk9IWkpO2xldCBkPVtdO2Zvcig7K248PW87KWQucHVzaChGZSh0LG4pKSxuLnNldE1vbnRoKG4uZ2V0TW9udGgoKStsKTtyZXR1cm4gaT9kLnJldmVyc2UoKTpkfXZhciB3Y3Isbml0PWYoKCk9Pnt3MigpOyR0KCk7cyhvaXQsImVhY2hNb250aE9mSW50ZXJ2YWwiKTt3Y3I9b2l0fSk7ZnVuY3Rpb24gTTIoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0TW9udGgoKSxpPXItciUzO3JldHVybiB0LnNldE1vbnRoKGksMSksdC5zZXRIb3VycygwLDAsMCwwKSx0fXZhciB6Y3IsVEs9ZigoKT0+e0hlKCk7cyhNMiwic3RhcnRPZlF1YXJ0ZXIiKTt6Y3I9TTJ9KTtmdW5jdGlvbiBsaXQoYSxlKXtsZXR7c3RhcnQ6dCxlbmQ6cn09QnMoZT8uaW4sYSksaT0rdD4rcixvPWk/K00yKHQpOitNMihyKSxuPWk/TTIocik6TTIodCksbD1lPy5zdGVwPz8xO2lmKCFsKXJldHVybltdO2w8MCYmKGw9LWwsaT0haSk7bGV0IGQ9W107Zm9yKDsrbjw9bzspZC5wdXNoKEZlKHQsbikpLG49YmgobixsKTtyZXR1cm4gaT9kLnJldmVyc2UoKTpkfXZhciBBY3IsY2l0PWYoKCk9Pnt3MigpO25LKCk7JHQoKTtUSygpO3MobGl0LCJlYWNoUXVhcnRlck9mSW50ZXJ2YWwiKTtBY3I9bGl0fSk7ZnVuY3Rpb24gZGl0KGEsZSl7bGV0e3N0YXJ0OnQsZW5kOnJ9PUJzKGU/LmluLGEpLGk9K3Q+K3Isbz1pP2VyKHIsZSk6ZXIodCxlKSxuPWk/ZXIodCxlKTplcihyLGUpO28uc2V0SG91cnMoMTUpLG4uc2V0SG91cnMoMTUpO2xldCBsPStuLmdldFRpbWUoKSxkPW8sYz1lPy5zdGVwPz8xO2lmKCFjKXJldHVybltdO2M8MCYmKGM9LWMsaT0haSk7bGV0IHA9W107Zm9yKDsrZDw9bDspZC5zZXRIb3VycygwKSxwLnB1c2goRmUodCxkKSksZD1jMChkLGMpLGQuc2V0SG91cnMoMTUpO3JldHVybiBpP3AucmV2ZXJzZSgpOnB9dmFyIEZjcix1aXQ9ZigoKT0+e3cyKCk7cDkoKTskdCgpO2ExKCk7cyhkaXQsImVhY2hXZWVrT2ZJbnRlcnZhbCIpO0Zjcj1kaXR9KTtmdW5jdGlvbiBTaChhLGUpe2xldHtzdGFydDp0LGVuZDpyfT1CcyhlPy5pbixhKSxpPV9LKHtzdGFydDp0LGVuZDpyfSxlKSxvPVtdLG49MDtmb3IoO248aS5sZW5ndGg7KXtsZXQgbD1pW24rK107ZzIobCkmJm8ucHVzaChGZSh0LGwpKX1yZXR1cm4gb312YXIgV2NyLExLPWYoKCk9Pnt3MigpOyR0KCk7TDJlKCk7YzkoKTtzKFNoLCJlYWNoV2Vla2VuZE9mSW50ZXJ2YWwiKTtXY3I9U2h9KTtmdW5jdGlvbiBwMChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldERhdGUoMSksdC5zZXRIb3VycygwLDAsMCwwKSx0fXZhciBaY3IsZzk9ZigoKT0+e0hlKCk7cyhwMCwic3RhcnRPZk1vbnRoIik7WmNyPXAwfSk7ZnVuY3Rpb24gcGl0KGEsZSl7bGV0IHQ9cDAoYSxlKSxyPWtoKGEsZSk7cmV0dXJuIFNoKHtzdGFydDp0LGVuZDpyfSxlKX12YXIgYTByLGZpdD1mKCgpPT57TEsoKTtTSygpO2c5KCk7cyhwaXQsImVhY2hXZWVrZW5kT2ZNb250aCIpO2Ewcj1waXR9KTtmdW5jdGlvbiAkSyhhLGUpe2xldCB0PWtlKGEsZT8uaW4pLHI9dC5nZXRGdWxsWWVhcigpO3JldHVybiB0LnNldEZ1bGxZZWFyKHIrMSwwLDApLHQuc2V0SG91cnMoMjMsNTksNTksOTk5KSx0fXZhciBvMHIsJDJlPWYoKCk9PntIZSgpO3MoJEssImVuZE9mWWVhciIpO28wcj0kS30pO2Z1bmN0aW9uIHpoKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7cmV0dXJuIHQuc2V0RnVsbFllYXIodC5nZXRGdWxsWWVhcigpLDAsMSksdC5zZXRIb3VycygwLDAsMCwwKSx0fXZhciBkMHIsREs9ZigoKT0+e0hlKCk7cyh6aCwic3RhcnRPZlllYXIiKTtkMHI9emh9KTtmdW5jdGlvbiBoaXQoYSxlKXtsZXQgdD16aChhLGUpLHI9JEsoYSxlKTtyZXR1cm4gU2goe3N0YXJ0OnQsZW5kOnJ9LGUpfXZhciBnMHIsbWl0PWYoKCk9PntMSygpOyQyZSgpO0RLKCk7cyhoaXQsImVhY2hXZWVrZW5kT2ZZZWFyIik7ZzByPWhpdH0pO2Z1bmN0aW9uIGdpdChhLGUpe2xldHtzdGFydDp0LGVuZDpyfT1CcyhlPy5pbixhKSxpPSt0PityLG89aT8rdDorcixuPWk/cjp0O24uc2V0SG91cnMoMCwwLDAsMCksbi5zZXRNb250aCgwLDEpO2xldCBsPWU/LnN0ZXA/PzE7aWYoIWwpcmV0dXJuW107bDwwJiYobD0tbCxpPSFpKTtsZXQgZD1bXTtmb3IoOytuPD1vOylkLnB1c2goRmUodCxuKSksbi5zZXRGdWxsWWVhcihuLmdldEZ1bGxZZWFyKCkrbCk7cmV0dXJuIGk/ZC5yZXZlcnNlKCk6ZH12YXIgdzByLGJpdD1mKCgpPT57dzIoKTskdCgpO3MoZ2l0LCJlYWNoWWVhck9mSW50ZXJ2YWwiKTt3MHI9Z2l0fSk7ZnVuY3Rpb24gdml0KGEsZSl7bGV0IHQ9a2UoYSxlPy5pbikscj10LmdldEZ1bGxZZWFyKCksaT05K01hdGguZmxvb3Ioci8xMCkqMTA7cmV0dXJuIHQuc2V0RnVsbFllYXIoaSwxMSwzMSksdC5zZXRIb3VycygyMyw1OSw1OSw5OTkpLHR9dmFyIHowcix4aXQ9ZigoKT0+e0hlKCk7cyh2aXQsImVuZE9mRGVjYWRlIik7ejByPXZpdH0pO2Z1bmN0aW9uIHlpdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldE1pbnV0ZXMoNTksNTksOTk5KSx0fXZhciBMMHIsd2l0PWYoKCk9PntIZSgpO3MoeWl0LCJlbmRPZkhvdXIiKTtMMHI9eWl0fSk7ZnVuY3Rpb24gQUsoYSxlKXtsZXQgdD1IYSgpLHI9ZT8ud2Vla1N0YXJ0c09uPz9lPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/dC53ZWVrU3RhcnRzT24/P3QubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsaT1rZShhLGU/LmluKSxvPWkuZ2V0RGF5KCksbj0obzxyPy03OjApKzYtKG8tcik7cmV0dXJuIGkuc2V0RGF0ZShpLmdldERhdGUoKStuKSxpLnNldEhvdXJzKDIzLDU5LDU5LDk5OSksaX12YXIgUDByLEQyZT1mKCgpPT57YmkoKTtIZSgpO3MoQUssImVuZE9mV2VlayIpO1Awcj1BS30pO2Z1bmN0aW9uIE1pdChhLGUpe3JldHVybiBBSyhhLHsuLi5lLHdlZWtTdGFydHNPbjoxfSl9dmFyIE8wcixraXQ9ZigoKT0+e0QyZSgpO3MoTWl0LCJlbmRPZklTT1dlZWsiKTtPMHI9TWl0fSk7ZnVuY3Rpb24gU2l0KGEsZSl7bGV0IHQ9SGkoYSxlKSxyPUZlKGU/LmlufHxhLDApO3Iuc2V0RnVsbFllYXIodCsxLDAsNCksci5zZXRIb3VycygwLDAsMCwwKTtsZXQgaT1zcyhyLGUpO3JldHVybiBpLnNldE1pbGxpc2Vjb25kcyhpLmdldE1pbGxpc2Vjb25kcygpLTEpLGl9dmFyIGowcix6aXQ9ZigoKT0+eyR0KCk7bDAoKTtiMigpO3MoU2l0LCJlbmRPZklTT1dlZWtZZWFyIik7ajByPVNpdH0pO2Z1bmN0aW9uIENpdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldFNlY29uZHMoNTksOTk5KSx0fXZhciBZMHIsX2l0PWYoKCk9PntIZSgpO3MoQ2l0LCJlbmRPZk1pbnV0ZSIpO1kwcj1DaXR9KTtmdW5jdGlvbiBUaXQoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0TW9udGgoKSxpPXItciUzKzM7cmV0dXJuIHQuc2V0TW9udGgoaSwwKSx0LnNldEhvdXJzKDIzLDU5LDU5LDk5OSksdH12YXIgUTByLExpdD1mKCgpPT57SGUoKTtzKFRpdCwiZW5kT2ZRdWFydGVyIik7UTByPVRpdH0pO2Z1bmN0aW9uICRpdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldE1pbGxpc2Vjb25kcyg5OTkpLHR9dmFyIGE0cixEaXQ9ZigoKT0+e0hlKCk7cygkaXQsImVuZE9mU2Vjb25kIik7YTRyPSRpdH0pO2Z1bmN0aW9uIEFpdChhKXtyZXR1cm4gTWgoRGF0ZS5ub3coKSxhKX12YXIgbzRyLEVpdD1mKCgpPT57a0soKTtzKEFpdCwiZW5kT2ZUb2RheSIpO280cj1BaXR9KTtmdW5jdGlvbiBQaXQoYSl7bGV0IGU9Y2EoYT8uaW4pLHQ9ZS5nZXRGdWxsWWVhcigpLHI9ZS5nZXRNb250aCgpLGk9ZS5nZXREYXRlKCksbz1jYShhPy5pbik7cmV0dXJuIG8uc2V0RnVsbFllYXIodCxyLGkrMSksby5zZXRIb3VycygyMyw1OSw1OSw5OTkpLGE/LmluP2EuaW4obyk6b312YXIgZDRyLElpdD1mKCgpPT57enMoKTtzKFBpdCwiZW5kT2ZUb21vcnJvdyIpO2Q0cj1QaXR9KTtmdW5jdGlvbiBOaXQoYSl7bGV0IGU9Y2EoYT8uaW4pLHQ9RmUoYT8uaW4sMCk7cmV0dXJuIHQuc2V0RnVsbFllYXIoZS5nZXRGdWxsWWVhcigpLGUuZ2V0TW9udGgoKSxlLmdldERhdGUoKS0xKSx0LnNldEhvdXJzKDIzLDU5LDU5LDk5OSksdH12YXIgbTRyLFJpdD1mKCgpPT57JHQoKTt6cygpO3MoTml0LCJlbmRPZlllc3RlcmRheSIpO200cj1OaXR9KTt2YXIgaDlhLE9pdCxGaXQ9ZigoKT0+e2g5YT17bGVzc1RoYW5YU2Vjb25kczp7b25lOiJsZXNzIHRoYW4gYSBzZWNvbmQiLG90aGVyOiJsZXNzIHRoYW4ge3tjb3VudH19IHNlY29uZHMifSx4U2Vjb25kczp7b25lOiIxIHNlY29uZCIsb3RoZXI6Int7Y291bnR9fSBzZWNvbmRzIn0saGFsZkFNaW51dGU6ImhhbGYgYSBtaW51dGUiLGxlc3NUaGFuWE1pbnV0ZXM6e29uZToibGVzcyB0aGFuIGEgbWludXRlIixvdGhlcjoibGVzcyB0aGFuIHt7Y291bnR9fSBtaW51dGVzIn0seE1pbnV0ZXM6e29uZToiMSBtaW51dGUiLG90aGVyOiJ7e2NvdW50fX0gbWludXRlcyJ9LGFib3V0WEhvdXJzOntvbmU6ImFib3V0IDEgaG91ciIsb3RoZXI6ImFib3V0IHt7Y291bnR9fSBob3VycyJ9LHhIb3Vyczp7b25lOiIxIGhvdXIiLG90aGVyOiJ7e2NvdW50fX0gaG91cnMifSx4RGF5czp7b25lOiIxIGRheSIsb3RoZXI6Int7Y291bnR9fSBkYXlzIn0sYWJvdXRYV2Vla3M6e29uZToiYWJvdXQgMSB3ZWVrIixvdGhlcjoiYWJvdXQge3tjb3VudH19IHdlZWtzIn0seFdlZWtzOntvbmU6IjEgd2VlayIsb3RoZXI6Int7Y291bnR9fSB3ZWVrcyJ9LGFib3V0WE1vbnRoczp7b25lOiJhYm91dCAxIG1vbnRoIixvdGhlcjoiYWJvdXQge3tjb3VudH19IG1vbnRocyJ9LHhNb250aHM6e29uZToiMSBtb250aCIsb3RoZXI6Int7Y291bnR9fSBtb250aHMifSxhYm91dFhZZWFyczp7b25lOiJhYm91dCAxIHllYXIiLG90aGVyOiJhYm91dCB7e2NvdW50fX0geWVhcnMifSx4WWVhcnM6e29uZToiMSB5ZWFyIixvdGhlcjoie3tjb3VudH19IHllYXJzIn0sb3ZlclhZZWFyczp7b25lOiJvdmVyIDEgeWVhciIsb3RoZXI6Im92ZXIge3tjb3VudH19IHllYXJzIn0sYWxtb3N0WFllYXJzOntvbmU6ImFsbW9zdCAxIHllYXIiLG90aGVyOiJhbG1vc3Qge3tjb3VudH19IHllYXJzIn19LE9pdD1zKChhLGUsdCk9PntsZXQgcixpPWg5YVthXTtyZXR1cm4gdHlwZW9mIGk9PSJzdHJpbmciP3I9aTplPT09MT9yPWkub25lOnI9aS5vdGhlci5yZXBsYWNlKCJ7e2NvdW50fX0iLGUudG9TdHJpbmcoKSksdD8uYWRkU3VmZml4P3QuY29tcGFyaXNvbiYmdC5jb21wYXJpc29uPjA/ImluICIrcjpyKyIgYWdvIjpyfSwiZm9ybWF0RGlzdGFuY2UiKX0pO2Z1bmN0aW9uIEVLKGEpe3JldHVybihlPXt9KT0+e2xldCB0PWUud2lkdGg/U3RyaW5nKGUud2lkdGgpOmEuZGVmYXVsdFdpZHRoO3JldHVybiBhLmZvcm1hdHNbdF18fGEuZm9ybWF0c1thLmRlZmF1bHRXaWR0aF19fXZhciBCaXQ9ZigoKT0+e3MoRUssImJ1aWxkRm9ybWF0TG9uZ0ZuIil9KTt2YXIgbTlhLGc5YSxiOWEsSGl0LHFpdD1mKCgpPT57Qml0KCk7bTlhPXtmdWxsOiJFRUVFLCBNTU1NIGRvLCB5Iixsb25nOiJNTU1NIGRvLCB5IixtZWRpdW06Ik1NTSBkLCB5IixzaG9ydDoiTU0vZGQveXl5eSJ9LGc5YT17ZnVsbDoiaDptbTpzcyBhIHp6enoiLGxvbmc6Img6bW06c3MgYSB6IixtZWRpdW06Img6bW06c3MgYSIsc2hvcnQ6Img6bW0gYSJ9LGI5YT17ZnVsbDoie3tkYXRlfX0gJ2F0JyB7e3RpbWV9fSIsbG9uZzoie3tkYXRlfX0gJ2F0JyB7e3RpbWV9fSIsbWVkaXVtOiJ7e2RhdGV9fSwge3t0aW1lfX0iLHNob3J0OiJ7e2RhdGV9fSwge3t0aW1lfX0ifSxIaXQ9e2RhdGU6RUsoe2Zvcm1hdHM6bTlhLGRlZmF1bHRXaWR0aDoiZnVsbCJ9KSx0aW1lOkVLKHtmb3JtYXRzOmc5YSxkZWZhdWx0V2lkdGg6ImZ1bGwifSksZGF0ZVRpbWU6RUsoe2Zvcm1hdHM6YjlhLGRlZmF1bHRXaWR0aDoiZnVsbCJ9KX19KTt2YXIgdjlhLFZpdCxqaXQ9ZigoKT0+e3Y5YT17bGFzdFdlZWs6IidsYXN0JyBlZWVlICdhdCcgcCIseWVzdGVyZGF5OiIneWVzdGVyZGF5IGF0JyBwIix0b2RheToiJ3RvZGF5IGF0JyBwIix0b21vcnJvdzoiJ3RvbW9ycm93IGF0JyBwIixuZXh0V2VlazoiZWVlZSAnYXQnIHAiLG90aGVyOiJQIn0sVml0PXMoKGEsZSx0LHIpPT52OWFbYV0sImZvcm1hdFJlbGF0aXZlIil9KTtmdW5jdGlvbiBDaChhKXtyZXR1cm4oZSx0KT0+e2xldCByPXQ/LmNvbnRleHQ/U3RyaW5nKHQuY29udGV4dCk6InN0YW5kYWxvbmUiLGk7aWYocj09PSJmb3JtYXR0aW5nIiYmYS5mb3JtYXR0aW5nVmFsdWVzKXtsZXQgbj1hLmRlZmF1bHRGb3JtYXR0aW5nV2lkdGh8fGEuZGVmYXVsdFdpZHRoLGw9dD8ud2lkdGg/U3RyaW5nKHQud2lkdGgpOm47aT1hLmZvcm1hdHRpbmdWYWx1ZXNbbF18fGEuZm9ybWF0dGluZ1ZhbHVlc1tuXX1lbHNle2xldCBuPWEuZGVmYXVsdFdpZHRoLGw9dD8ud2lkdGg/U3RyaW5nKHQud2lkdGgpOmEuZGVmYXVsdFdpZHRoO2k9YS52YWx1ZXNbbF18fGEudmFsdWVzW25dfWxldCBvPWEuYXJndW1lbnRDYWxsYmFjaz9hLmFyZ3VtZW50Q2FsbGJhY2soZSk6ZTtyZXR1cm4gaVtvXX19dmFyIFVpdD1mKCgpPT57cyhDaCwiYnVpbGRMb2NhbGl6ZUZuIil9KTt2YXIgeDlhLHk5YSx3OWEsTTlhLGs5YSxTOWEsejlhLFdpdCxHaXQ9ZigoKT0+e1VpdCgpO3g5YT17bmFycm93OlsiQiIsIkEiXSxhYmJyZXZpYXRlZDpbIkJDIiwiQUQiXSx3aWRlOlsiQmVmb3JlIENocmlzdCIsIkFubm8gRG9taW5pIl19LHk5YT17bmFycm93OlsiMSIsIjIiLCIzIiwiNCJdLGFiYnJldmlhdGVkOlsiUTEiLCJRMiIsIlEzIiwiUTQiXSx3aWRlOlsiMXN0IHF1YXJ0ZXIiLCIybmQgcXVhcnRlciIsIjNyZCBxdWFydGVyIiwiNHRoIHF1YXJ0ZXIiXX0sdzlhPXtuYXJyb3c6WyJKIiwiRiIsIk0iLCJBIiwiTSIsIkoiLCJKIiwiQSIsIlMiLCJPIiwiTiIsIkQiXSxhYmJyZXZpYXRlZDpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLHdpZGU6WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdfSxNOWE9e25hcnJvdzpbIlMiLCJNIiwiVCIsIlciLCJUIiwiRiIsIlMiXSxzaG9ydDpbIlN1IiwiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIl0sYWJicmV2aWF0ZWQ6WyJTdW4iLCJNb24iLCJUdWUiLCJXZWQiLCJUaHUiLCJGcmkiLCJTYXQiXSx3aWRlOlsiU3VuZGF5IiwiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiXX0sazlhPXtuYXJyb3c6e2FtOiJhIixwbToicCIsbWlkbmlnaHQ6Im1pIixub29uOiJuIixtb3JuaW5nOiJtb3JuaW5nIixhZnRlcm5vb246ImFmdGVybm9vbiIsZXZlbmluZzoiZXZlbmluZyIsbmlnaHQ6Im5pZ2h0In0sYWJicmV2aWF0ZWQ6e2FtOiJBTSIscG06IlBNIixtaWRuaWdodDoibWlkbmlnaHQiLG5vb246Im5vb24iLG1vcm5pbmc6Im1vcm5pbmciLGFmdGVybm9vbjoiYWZ0ZXJub29uIixldmVuaW5nOiJldmVuaW5nIixuaWdodDoibmlnaHQifSx3aWRlOnthbToiYS5tLiIscG06InAubS4iLG1pZG5pZ2h0OiJtaWRuaWdodCIsbm9vbjoibm9vbiIsbW9ybmluZzoibW9ybmluZyIsYWZ0ZXJub29uOiJhZnRlcm5vb24iLGV2ZW5pbmc6ImV2ZW5pbmciLG5pZ2h0OiJuaWdodCJ9fSxTOWE9e25hcnJvdzp7YW06ImEiLHBtOiJwIixtaWRuaWdodDoibWkiLG5vb246Im4iLG1vcm5pbmc6ImluIHRoZSBtb3JuaW5nIixhZnRlcm5vb246ImluIHRoZSBhZnRlcm5vb24iLGV2ZW5pbmc6ImluIHRoZSBldmVuaW5nIixuaWdodDoiYXQgbmlnaHQifSxhYmJyZXZpYXRlZDp7YW06IkFNIixwbToiUE0iLG1pZG5pZ2h0OiJtaWRuaWdodCIsbm9vbjoibm9vbiIsbW9ybmluZzoiaW4gdGhlIG1vcm5pbmciLGFmdGVybm9vbjoiaW4gdGhlIGFmdGVybm9vbiIsZXZlbmluZzoiaW4gdGhlIGV2ZW5pbmciLG5pZ2h0OiJhdCBuaWdodCJ9LHdpZGU6e2FtOiJhLm0uIixwbToicC5tLiIsbWlkbmlnaHQ6Im1pZG5pZ2h0Iixub29uOiJub29uIixtb3JuaW5nOiJpbiB0aGUgbW9ybmluZyIsYWZ0ZXJub29uOiJpbiB0aGUgYWZ0ZXJub29uIixldmVuaW5nOiJpbiB0aGUgZXZlbmluZyIsbmlnaHQ6ImF0IG5pZ2h0In19LHo5YT1zKChhLGUpPT57bGV0IHQ9TnVtYmVyKGEpLHI9dCUxMDA7aWYocj4yMHx8cjwxMClzd2l0Y2gociUxMCl7Y2FzZSAxOnJldHVybiB0KyJzdCI7Y2FzZSAyOnJldHVybiB0KyJuZCI7Y2FzZSAzOnJldHVybiB0KyJyZCJ9cmV0dXJuIHQrInRoIn0sIm9yZGluYWxOdW1iZXIiKSxXaXQ9e29yZGluYWxOdW1iZXI6ejlhLGVyYTpDaCh7dmFsdWVzOng5YSxkZWZhdWx0V2lkdGg6IndpZGUifSkscXVhcnRlcjpDaCh7dmFsdWVzOnk5YSxkZWZhdWx0V2lkdGg6IndpZGUiLGFyZ3VtZW50Q2FsbGJhY2s6cyhhPT5hLTEsImFyZ3VtZW50Q2FsbGJhY2siKX0pLG1vbnRoOkNoKHt2YWx1ZXM6dzlhLGRlZmF1bHRXaWR0aDoid2lkZSJ9KSxkYXk6Q2goe3ZhbHVlczpNOWEsZGVmYXVsdFdpZHRoOiJ3aWRlIn0pLGRheVBlcmlvZDpDaCh7dmFsdWVzOms5YSxkZWZhdWx0V2lkdGg6IndpZGUiLGZvcm1hdHRpbmdWYWx1ZXM6UzlhLGRlZmF1bHRGb3JtYXR0aW5nV2lkdGg6IndpZGUifSl9fSk7ZnVuY3Rpb24gX2goYSl7cmV0dXJuKGUsdD17fSk9PntsZXQgcj10LndpZHRoLGk9ciYmYS5tYXRjaFBhdHRlcm5zW3JdfHxhLm1hdGNoUGF0dGVybnNbYS5kZWZhdWx0TWF0Y2hXaWR0aF0sbz1lLm1hdGNoKGkpO2lmKCFvKXJldHVybiBudWxsO2xldCBuPW9bMF0sbD1yJiZhLnBhcnNlUGF0dGVybnNbcl18fGEucGFyc2VQYXR0ZXJuc1thLmRlZmF1bHRQYXJzZVdpZHRoXSxkPUFycmF5LmlzQXJyYXkobCk/XzlhKGwsdT0+dS50ZXN0KG4pKTpDOWEobCx1PT51LnRlc3QobikpLGM7Yz1hLnZhbHVlQ2FsbGJhY2s/YS52YWx1ZUNhbGxiYWNrKGQpOmQsYz10LnZhbHVlQ2FsbGJhY2s/dC52YWx1ZUNhbGxiYWNrKGMpOmM7bGV0IHA9ZS5zbGljZShuLmxlbmd0aCk7cmV0dXJue3ZhbHVlOmMscmVzdDpwfX19ZnVuY3Rpb24gQzlhKGEsZSl7Zm9yKGxldCB0IGluIGEpaWYoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsdCkmJmUoYVt0XSkpcmV0dXJuIHR9ZnVuY3Rpb24gXzlhKGEsZSl7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0KyspaWYoZShhW3RdKSlyZXR1cm4gdH12YXIgWWl0PWYoKCk9PntzKF9oLCJidWlsZE1hdGNoRm4iKTtzKEM5YSwiZmluZEtleSIpO3MoXzlhLCJmaW5kSW5kZXgiKX0pO2Z1bmN0aW9uIEtpdChhKXtyZXR1cm4oZSx0PXt9KT0+e2xldCByPWUubWF0Y2goYS5tYXRjaFBhdHRlcm4pO2lmKCFyKXJldHVybiBudWxsO2xldCBpPXJbMF0sbz1lLm1hdGNoKGEucGFyc2VQYXR0ZXJuKTtpZighbylyZXR1cm4gbnVsbDtsZXQgbj1hLnZhbHVlQ2FsbGJhY2s/YS52YWx1ZUNhbGxiYWNrKG9bMF0pOm9bMF07bj10LnZhbHVlQ2FsbGJhY2s/dC52YWx1ZUNhbGxiYWNrKG4pOm47bGV0IGw9ZS5zbGljZShpLmxlbmd0aCk7cmV0dXJue3ZhbHVlOm4scmVzdDpsfX19dmFyIFppdD1mKCgpPT57cyhLaXQsImJ1aWxkTWF0Y2hQYXR0ZXJuRm4iKX0pO3ZhciBUOWEsTDlhLCQ5YSxEOWEsQTlhLEU5YSxQOWEsSTlhLE45YSxSOWEsTzlhLEY5YSxYaXQsUWl0PWYoKCk9PntZaXQoKTtaaXQoKTtUOWE9L14oXGQrKSh0aHxzdHxuZHxyZCk/L2ksTDlhPS9cZCsvaSwkOWE9e25hcnJvdzovXihifGEpL2ksYWJicmV2aWF0ZWQ6L14oYlwuP1xzP2NcLj98YlwuP1xzP2NcLj9ccz9lXC4/fGFcLj9ccz9kXC4/fGNcLj9ccz9lXC4/KS9pLHdpZGU6L14oYmVmb3JlIGNocmlzdHxiZWZvcmUgY29tbW9uIGVyYXxhbm5vIGRvbWluaXxjb21tb24gZXJhKS9pfSxEOWE9e2FueTpbL15iL2ksL14oYXxjKS9pXX0sQTlhPXtuYXJyb3c6L15bMTIzNF0vaSxhYmJyZXZpYXRlZDovXnFbMTIzNF0vaSx3aWRlOi9eWzEyMzRdKHRofHN0fG5kfHJkKT8gcXVhcnRlci9pfSxFOWE9e2FueTpbLzEvaSwvMi9pLC8zL2ksLzQvaV19LFA5YT17bmFycm93Oi9eW2pmbWFzb25kXS9pLGFiYnJldmlhdGVkOi9eKGphbnxmZWJ8bWFyfGFwcnxtYXl8anVufGp1bHxhdWd8c2VwfG9jdHxub3Z8ZGVjKS9pLHdpZGU6L14oamFudWFyeXxmZWJydWFyeXxtYXJjaHxhcHJpbHxtYXl8anVuZXxqdWx5fGF1Z3VzdHxzZXB0ZW1iZXJ8b2N0b2Jlcnxub3ZlbWJlcnxkZWNlbWJlcikvaX0sSTlhPXtuYXJyb3c6Wy9eai9pLC9eZi9pLC9ebS9pLC9eYS9pLC9ebS9pLC9eai9pLC9eai9pLC9eYS9pLC9ecy9pLC9eby9pLC9ebi9pLC9eZC9pXSxhbnk6Wy9eamEvaSwvXmYvaSwvXm1hci9pLC9eYXAvaSwvXm1heS9pLC9eanVuL2ksL15qdWwvaSwvXmF1L2ksL15zL2ksL15vL2ksL15uL2ksL15kL2ldfSxOOWE9e25hcnJvdzovXltzbXR3Zl0vaSxzaG9ydDovXihzdXxtb3x0dXx3ZXx0aHxmcnxzYSkvaSxhYmJyZXZpYXRlZDovXihzdW58bW9ufHR1ZXx3ZWR8dGh1fGZyaXxzYXQpL2ksd2lkZTovXihzdW5kYXl8bW9uZGF5fHR1ZXNkYXl8d2VkbmVzZGF5fHRodXJzZGF5fGZyaWRheXxzYXR1cmRheSkvaX0sUjlhPXtuYXJyb3c6Wy9ecy9pLC9ebS9pLC9edC9pLC9edy9pLC9edC9pLC9eZi9pLC9ecy9pXSxhbnk6Wy9ec3UvaSwvXm0vaSwvXnR1L2ksL153L2ksL150aC9pLC9eZi9pLC9ec2EvaV19LE85YT17bmFycm93Oi9eKGF8cHxtaXxufChpbiB0aGV8YXQpIChtb3JuaW5nfGFmdGVybm9vbnxldmVuaW5nfG5pZ2h0KSkvaSxhbnk6L14oW2FwXVwuP1xzP21cLj98bWlkbmlnaHR8bm9vbnwoaW4gdGhlfGF0KSAobW9ybmluZ3xhZnRlcm5vb258ZXZlbmluZ3xuaWdodCkpL2l9LEY5YT17YW55OnthbTovXmEvaSxwbTovXnAvaSxtaWRuaWdodDovXm1pL2ksbm9vbjovXm5vL2ksbW9ybmluZzovbW9ybmluZy9pLGFmdGVybm9vbjovYWZ0ZXJub29uL2ksZXZlbmluZzovZXZlbmluZy9pLG5pZ2h0Oi9uaWdodC9pfX0sWGl0PXtvcmRpbmFsTnVtYmVyOktpdCh7bWF0Y2hQYXR0ZXJuOlQ5YSxwYXJzZVBhdHRlcm46TDlhLHZhbHVlQ2FsbGJhY2s6cyhhPT5wYXJzZUludChhLDEwKSwidmFsdWVDYWxsYmFjayIpfSksZXJhOl9oKHttYXRjaFBhdHRlcm5zOiQ5YSxkZWZhdWx0TWF0Y2hXaWR0aDoid2lkZSIscGFyc2VQYXR0ZXJuczpEOWEsZGVmYXVsdFBhcnNlV2lkdGg6ImFueSJ9KSxxdWFydGVyOl9oKHttYXRjaFBhdHRlcm5zOkE5YSxkZWZhdWx0TWF0Y2hXaWR0aDoid2lkZSIscGFyc2VQYXR0ZXJuczpFOWEsZGVmYXVsdFBhcnNlV2lkdGg6ImFueSIsdmFsdWVDYWxsYmFjazpzKGE9PmErMSwidmFsdWVDYWxsYmFjayIpfSksbW9udGg6X2goe21hdGNoUGF0dGVybnM6UDlhLGRlZmF1bHRNYXRjaFdpZHRoOiJ3aWRlIixwYXJzZVBhdHRlcm5zOkk5YSxkZWZhdWx0UGFyc2VXaWR0aDoiYW55In0pLGRheTpfaCh7bWF0Y2hQYXR0ZXJuczpOOWEsZGVmYXVsdE1hdGNoV2lkdGg6IndpZGUiLHBhcnNlUGF0dGVybnM6UjlhLGRlZmF1bHRQYXJzZVdpZHRoOiJhbnkifSksZGF5UGVyaW9kOl9oKHttYXRjaFBhdHRlcm5zOk85YSxkZWZhdWx0TWF0Y2hXaWR0aDoiYW55IixwYXJzZVBhdHRlcm5zOkY5YSxkZWZhdWx0UGFyc2VXaWR0aDoiYW55In0pfX0pO3ZhciB5byxqNHIsSml0PWYoKCk9PntGaXQoKTtxaXQoKTtqaXQoKTtHaXQoKTtRaXQoKTt5bz17Y29kZToiZW4tVVMiLGZvcm1hdERpc3RhbmNlOk9pdCxmb3JtYXRMb25nOkhpdCxmb3JtYXRSZWxhdGl2ZTpWaXQsbG9jYWxpemU6V2l0LG1hdGNoOlhpdCxvcHRpb25zOnt3ZWVrU3RhcnRzT246MCxmaXJzdFdlZWtDb250YWluc0RhdGU6MX19LGo0cj15b30pO3ZhciB5Mz1mKCgpPT57Sml0KCl9KTtmdW5jdGlvbiBQSyhhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiBGcyh0LHpoKHQpKSsxfXZhciBYNHIsQTJlPWYoKCk9PntTbCgpO0RLKCk7SGUoKTtzKFBLLCJnZXREYXlPZlllYXIiKTtYNHI9UEt9KTtmdW5jdGlvbiBUaChhLGUpe2xldCB0PWtlKGEsZT8uaW4pLHI9K3NzKHQpLStCbyh0KTtyZXR1cm4gTWF0aC5yb3VuZChyL2YyKSsxfXZhciBzM3IsSUs9ZigoKT0+e1F0KCk7YjIoKTttaCgpO0hlKCk7cyhUaCwiZ2V0SVNPV2VlayIpO3Mzcj1UaH0pO2Z1bmN0aW9uIGYwKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbikscj10LmdldEZ1bGxZZWFyKCksaT1IYSgpLG89ZT8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9lPy5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/aS5maXJzdFdlZWtDb250YWluc0RhdGU/P2kubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/PzEsbj1GZShlPy5pbnx8YSwwKTtuLnNldEZ1bGxZZWFyKHIrMSwwLG8pLG4uc2V0SG91cnMoMCwwLDAsMCk7bGV0IGw9ZXIobixlKSxkPUZlKGU/LmlufHxhLDApO2Quc2V0RnVsbFllYXIociwwLG8pLGQuc2V0SG91cnMoMCwwLDAsMCk7bGV0IGM9ZXIoZCxlKTtyZXR1cm4rdD49K2w/cisxOit0Pj0rYz9yOnItMX12YXIgdTNyLGI5PWYoKCk9PntiaSgpOyR0KCk7YTEoKTtIZSgpO3MoZjAsImdldFdlZWtZZWFyIik7dTNyPWYwfSk7ZnVuY3Rpb24gdzMoYSxlKXtsZXQgdD1IYSgpLHI9ZT8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9lPy5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/dC5maXJzdFdlZWtDb250YWluc0RhdGU/P3QubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/PzEsaT1mMChhLGUpLG89RmUoZT8uaW58fGEsMCk7cmV0dXJuIG8uc2V0RnVsbFllYXIoaSwwLHIpLG8uc2V0SG91cnMoMCwwLDAsMCksZXIobyxlKX12YXIgdjNyLE5LPWYoKCk9PntiaSgpOyR0KCk7YjkoKTthMSgpO3ModzMsInN0YXJ0T2ZXZWVrWWVhciIpO3Yzcj13M30pO2Z1bmN0aW9uIExoKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbikscj0rZXIodCxlKS0rdzModCxlKTtyZXR1cm4gTWF0aC5yb3VuZChyL2YyKSsxfXZhciB6M3IsUks9ZigoKT0+e1F0KCk7YTEoKTtOSygpO0hlKCk7cyhMaCwiZ2V0V2VlayIpO3ozcj1MaH0pO2Z1bmN0aW9uIGJ0KGEsZSl7bGV0IHQ9YTwwPyItIjoiIixyPU1hdGguYWJzKGEpLnRvU3RyaW5nKCkucGFkU3RhcnQoZSwiMCIpO3JldHVybiB0K3J9dmFyIE0zPWYoKCk9PntzKGJ0LCJhZGRMZWFkaW5nWmVyb3MiKX0pO3ZhciBIbyxFMmU9ZigoKT0+e00zKCk7SG89e3koYSxlKXtsZXQgdD1hLmdldEZ1bGxZZWFyKCkscj10PjA/dDoxLXQ7cmV0dXJuIGJ0KGU9PT0ieXkiP3IlMTAwOnIsZS5sZW5ndGgpfSxNKGEsZSl7bGV0IHQ9YS5nZXRNb250aCgpO3JldHVybiBlPT09Ik0iP1N0cmluZyh0KzEpOmJ0KHQrMSwyKX0sZChhLGUpe3JldHVybiBidChhLmdldERhdGUoKSxlLmxlbmd0aCl9LGEoYSxlKXtsZXQgdD1hLmdldEhvdXJzKCkvMTI+PTE/InBtIjoiYW0iO3N3aXRjaChlKXtjYXNlImEiOmNhc2UiYWEiOnJldHVybiB0LnRvVXBwZXJDYXNlKCk7Y2FzZSJhYWEiOnJldHVybiB0O2Nhc2UiYWFhYWEiOnJldHVybiB0WzBdO2RlZmF1bHQ6cmV0dXJuIHQ9PT0iYW0iPyJhLm0uIjoicC5tLiJ9fSxoKGEsZSl7cmV0dXJuIGJ0KGEuZ2V0SG91cnMoKSUxMnx8MTIsZS5sZW5ndGgpfSxIKGEsZSl7cmV0dXJuIGJ0KGEuZ2V0SG91cnMoKSxlLmxlbmd0aCl9LG0oYSxlKXtyZXR1cm4gYnQoYS5nZXRNaW51dGVzKCksZS5sZW5ndGgpfSxzKGEsZSl7cmV0dXJuIGJ0KGEuZ2V0U2Vjb25kcygpLGUubGVuZ3RoKX0sUyhhLGUpe2xldCB0PWUubGVuZ3RoLHI9YS5nZXRNaWxsaXNlY29uZHMoKSxpPU1hdGgudHJ1bmMocipNYXRoLnBvdygxMCx0LTMpKTtyZXR1cm4gYnQoaSxlLmxlbmd0aCl9fX0pO2Z1bmN0aW9uIGVvdChhLGU9IiIpe2xldCB0PWE+MD8iLSI6IisiLHI9TWF0aC5hYnMoYSksaT1NYXRoLnRydW5jKHIvNjApLG89ciU2MDtyZXR1cm4gbz09PTA/dCtTdHJpbmcoaSk6dCtTdHJpbmcoaSkrZStidChvLDIpfWZ1bmN0aW9uIHRvdChhLGUpe3JldHVybiBhJTYwPT09MD8oYT4wPyItIjoiKyIpK2J0KE1hdGguYWJzKGEpLzYwLDIpOmszKGEsZSl9ZnVuY3Rpb24gazMoYSxlPSIiKXtsZXQgdD1hPjA/Ii0iOiIrIixyPU1hdGguYWJzKGEpLGk9YnQoTWF0aC50cnVuYyhyLzYwKSwyKSxvPWJ0KHIlNjAsMik7cmV0dXJuIHQraStlK299dmFyICRoLHY5LGFvdD1mKCgpPT57QTJlKCk7SUsoKTtsMCgpO1JLKCk7YjkoKTtNMygpO0UyZSgpOyRoPXthbToiYW0iLHBtOiJwbSIsbWlkbmlnaHQ6Im1pZG5pZ2h0Iixub29uOiJub29uIixtb3JuaW5nOiJtb3JuaW5nIixhZnRlcm5vb246ImFmdGVybm9vbiIsZXZlbmluZzoiZXZlbmluZyIsbmlnaHQ6Im5pZ2h0In0sdjk9e0c6cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9YS5nZXRGdWxsWWVhcigpPjA/MTowO3N3aXRjaChlKXtjYXNlIkciOmNhc2UiR0ciOmNhc2UiR0dHIjpyZXR1cm4gdC5lcmEocix7d2lkdGg6ImFiYnJldmlhdGVkIn0pO2Nhc2UiR0dHR0ciOnJldHVybiB0LmVyYShyLHt3aWR0aDoibmFycm93In0pO2RlZmF1bHQ6cmV0dXJuIHQuZXJhKHIse3dpZHRoOiJ3aWRlIn0pfX0sIkciKSx5OnMoZnVuY3Rpb24oYSxlLHQpe2lmKGU9PT0ieW8iKXtsZXQgcj1hLmdldEZ1bGxZZWFyKCksaT1yPjA/cjoxLXI7cmV0dXJuIHQub3JkaW5hbE51bWJlcihpLHt1bml0OiJ5ZWFyIn0pfXJldHVybiBIby55KGEsZSl9LCJ5IiksWTpzKGZ1bmN0aW9uKGEsZSx0LHIpe2xldCBpPWYwKGEsciksbz1pPjA/aToxLWk7aWYoZT09PSJZWSIpe2xldCBuPW8lMTAwO3JldHVybiBidChuLDIpfXJldHVybiBlPT09IllvIj90Lm9yZGluYWxOdW1iZXIobyx7dW5pdDoieWVhciJ9KTpidChvLGUubGVuZ3RoKX0sIlkiKSxSOnMoZnVuY3Rpb24oYSxlKXtsZXQgdD1IaShhKTtyZXR1cm4gYnQodCxlLmxlbmd0aCl9LCJSIiksdTpzKGZ1bmN0aW9uKGEsZSl7bGV0IHQ9YS5nZXRGdWxsWWVhcigpO3JldHVybiBidCh0LGUubGVuZ3RoKX0sInUiKSxROnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPU1hdGguY2VpbCgoYS5nZXRNb250aCgpKzEpLzMpO3N3aXRjaChlKXtjYXNlIlEiOnJldHVybiBTdHJpbmcocik7Y2FzZSJRUSI6cmV0dXJuIGJ0KHIsMik7Y2FzZSJRbyI6cmV0dXJuIHQub3JkaW5hbE51bWJlcihyLHt1bml0OiJxdWFydGVyIn0pO2Nhc2UiUVFRIjpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIlFRUVFRIjpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sIlEiKSxxOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPU1hdGguY2VpbCgoYS5nZXRNb250aCgpKzEpLzMpO3N3aXRjaChlKXtjYXNlInEiOnJldHVybiBTdHJpbmcocik7Y2FzZSJxcSI6cmV0dXJuIGJ0KHIsMik7Y2FzZSJxbyI6cmV0dXJuIHQub3JkaW5hbE51bWJlcihyLHt1bml0OiJxdWFydGVyIn0pO2Nhc2UicXFxIjpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlInFxcXFxIjpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gdC5xdWFydGVyKHIse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX0sInEiKSxNOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPWEuZ2V0TW9udGgoKTtzd2l0Y2goZSl7Y2FzZSJNIjpjYXNlIk1NIjpyZXR1cm4gSG8uTShhLGUpO2Nhc2UiTW8iOnJldHVybiB0Lm9yZGluYWxOdW1iZXIocisxLHt1bml0OiJtb250aCJ9KTtjYXNlIk1NTSI6cmV0dXJuIHQubW9udGgocix7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiTU1NTU0iOnJldHVybiB0Lm1vbnRoKHIse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gdC5tb250aChyLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LCJNIiksTDpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1hLmdldE1vbnRoKCk7c3dpdGNoKGUpe2Nhc2UiTCI6cmV0dXJuIFN0cmluZyhyKzEpO2Nhc2UiTEwiOnJldHVybiBidChyKzEsMik7Y2FzZSJMbyI6cmV0dXJuIHQub3JkaW5hbE51bWJlcihyKzEse3VuaXQ6Im1vbnRoIn0pO2Nhc2UiTExMIjpyZXR1cm4gdC5tb250aChyLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJMTExMTCI6cmV0dXJuIHQubW9udGgocix7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtkZWZhdWx0OnJldHVybiB0Lm1vbnRoKHIse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX0sIkwiKSx3OnMoZnVuY3Rpb24oYSxlLHQscil7bGV0IGk9TGgoYSxyKTtyZXR1cm4gZT09PSJ3byI/dC5vcmRpbmFsTnVtYmVyKGkse3VuaXQ6IndlZWsifSk6YnQoaSxlLmxlbmd0aCl9LCJ3IiksSTpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1UaChhKTtyZXR1cm4gZT09PSJJbyI/dC5vcmRpbmFsTnVtYmVyKHIse3VuaXQ6IndlZWsifSk6YnQocixlLmxlbmd0aCl9LCJJIiksZDpzKGZ1bmN0aW9uKGEsZSx0KXtyZXR1cm4gZT09PSJkbyI/dC5vcmRpbmFsTnVtYmVyKGEuZ2V0RGF0ZSgpLHt1bml0OiJkYXRlIn0pOkhvLmQoYSxlKX0sImQiKSxEOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPVBLKGEpO3JldHVybiBlPT09IkRvIj90Lm9yZGluYWxOdW1iZXIocix7dW5pdDoiZGF5T2ZZZWFyIn0pOmJ0KHIsZS5sZW5ndGgpfSwiRCIpLEU6cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9YS5nZXREYXkoKTtzd2l0Y2goZSl7Y2FzZSJFIjpjYXNlIkVFIjpjYXNlIkVFRSI6cmV0dXJuIHQuZGF5KHIse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkVFRUVFIjpyZXR1cm4gdC5kYXkocix7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkVFRUVFRSI6cmV0dXJuIHQuZGF5KHIse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiB0LmRheShyLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LCJFIiksZTpzKGZ1bmN0aW9uKGEsZSx0LHIpe2xldCBpPWEuZ2V0RGF5KCksbz0oaS1yLndlZWtTdGFydHNPbis4KSU3fHw3O3N3aXRjaChlKXtjYXNlImUiOnJldHVybiBTdHJpbmcobyk7Y2FzZSJlZSI6cmV0dXJuIGJ0KG8sMik7Y2FzZSJlbyI6cmV0dXJuIHQub3JkaW5hbE51bWJlcihvLHt1bml0OiJkYXkifSk7Y2FzZSJlZWUiOnJldHVybiB0LmRheShpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJlZWVlZSI6cmV0dXJuIHQuZGF5KGkse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJlZWVlZWUiOnJldHVybiB0LmRheShpLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gdC5kYXkoaSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl9fSwiZSIpLGM6cyhmdW5jdGlvbihhLGUsdCxyKXtsZXQgaT1hLmdldERheSgpLG89KGktci53ZWVrU3RhcnRzT24rOCklN3x8Nztzd2l0Y2goZSl7Y2FzZSJjIjpyZXR1cm4gU3RyaW5nKG8pO2Nhc2UiY2MiOnJldHVybiBidChvLGUubGVuZ3RoKTtjYXNlImNvIjpyZXR1cm4gdC5vcmRpbmFsTnVtYmVyKG8se3VuaXQ6ImRheSJ9KTtjYXNlImNjYyI6cmV0dXJuIHQuZGF5KGkse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlImNjY2NjIjpyZXR1cm4gdC5kYXkoaSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtjYXNlImNjY2NjYyI6cmV0dXJuIHQuZGF5KGkse3dpZHRoOiJzaG9ydCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtkZWZhdWx0OnJldHVybiB0LmRheShpLHt3aWR0aDoid2lkZSIsY29udGV4dDoic3RhbmRhbG9uZSJ9KX19LCJjIiksaTpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1hLmdldERheSgpLGk9cj09PTA/NzpyO3N3aXRjaChlKXtjYXNlImkiOnJldHVybiBTdHJpbmcoaSk7Y2FzZSJpaSI6cmV0dXJuIGJ0KGksZS5sZW5ndGgpO2Nhc2UiaW8iOnJldHVybiB0Lm9yZGluYWxOdW1iZXIoaSx7dW5pdDoiZGF5In0pO2Nhc2UiaWlpIjpyZXR1cm4gdC5kYXkocix7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiaWlpaWkiOnJldHVybiB0LmRheShyLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiaWlpaWlpIjpyZXR1cm4gdC5kYXkocix7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHQuZGF5KHIse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sImkiKSxhOnMoZnVuY3Rpb24oYSxlLHQpe2xldCBpPWEuZ2V0SG91cnMoKS8xMj49MT8icG0iOiJhbSI7c3dpdGNoKGUpe2Nhc2UiYSI6Y2FzZSJhYSI6cmV0dXJuIHQuZGF5UGVyaW9kKGkse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlImFhYSI6cmV0dXJuIHQuZGF5UGVyaW9kKGkse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KS50b0xvd2VyQ2FzZSgpO2Nhc2UiYWFhYWEiOnJldHVybiB0LmRheVBlcmlvZChpLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHQuZGF5UGVyaW9kKGkse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX0sImEiKSxiOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPWEuZ2V0SG91cnMoKSxpO3N3aXRjaChyPT09MTI/aT0kaC5ub29uOnI9PT0wP2k9JGgubWlkbmlnaHQ6aT1yLzEyPj0xPyJwbSI6ImFtIixlKXtjYXNlImIiOmNhc2UiYmIiOnJldHVybiB0LmRheVBlcmlvZChpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJiYmIiOnJldHVybiB0LmRheVBlcmlvZChpLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSkudG9Mb3dlckNhc2UoKTtjYXNlImJiYmJiIjpyZXR1cm4gdC5kYXlQZXJpb2QoaSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiB0LmRheVBlcmlvZChpLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LCJiIiksQjpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1hLmdldEhvdXJzKCksaTtzd2l0Y2gocj49MTc/aT0kaC5ldmVuaW5nOnI+PTEyP2k9JGguYWZ0ZXJub29uOnI+PTQ/aT0kaC5tb3JuaW5nOmk9JGgubmlnaHQsZSl7Y2FzZSJCIjpjYXNlIkJCIjpjYXNlIkJCQiI6cmV0dXJuIHQuZGF5UGVyaW9kKGkse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtjYXNlIkJCQkJCIjpyZXR1cm4gdC5kYXlQZXJpb2QoaSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiB0LmRheVBlcmlvZChpLHt3aWR0aDoid2lkZSIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19LCJCIiksaDpzKGZ1bmN0aW9uKGEsZSx0KXtpZihlPT09ImhvIil7bGV0IHI9YS5nZXRIb3VycygpJTEyO3JldHVybiByPT09MCYmKHI9MTIpLHQub3JkaW5hbE51bWJlcihyLHt1bml0OiJob3VyIn0pfXJldHVybiBIby5oKGEsZSl9LCJoIiksSDpzKGZ1bmN0aW9uKGEsZSx0KXtyZXR1cm4gZT09PSJIbyI/dC5vcmRpbmFsTnVtYmVyKGEuZ2V0SG91cnMoKSx7dW5pdDoiaG91ciJ9KTpIby5IKGEsZSl9LCJIIiksSzpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1hLmdldEhvdXJzKCklMTI7cmV0dXJuIGU9PT0iS28iP3Qub3JkaW5hbE51bWJlcihyLHt1bml0OiJob3VyIn0pOmJ0KHIsZS5sZW5ndGgpfSwiSyIpLGs6cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9YS5nZXRIb3VycygpO3JldHVybiByPT09MCYmKHI9MjQpLGU9PT0ia28iP3Qub3JkaW5hbE51bWJlcihyLHt1bml0OiJob3VyIn0pOmJ0KHIsZS5sZW5ndGgpfSwiayIpLG06cyhmdW5jdGlvbihhLGUsdCl7cmV0dXJuIGU9PT0ibW8iP3Qub3JkaW5hbE51bWJlcihhLmdldE1pbnV0ZXMoKSx7dW5pdDoibWludXRlIn0pOkhvLm0oYSxlKX0sIm0iKSxzOnMoZnVuY3Rpb24oYSxlLHQpe3JldHVybiBlPT09InNvIj90Lm9yZGluYWxOdW1iZXIoYS5nZXRTZWNvbmRzKCkse3VuaXQ6InNlY29uZCJ9KTpIby5zKGEsZSl9LCJzIiksUzpzKGZ1bmN0aW9uKGEsZSl7cmV0dXJuIEhvLlMoYSxlKX0sIlMiKSxYOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPWEuZ2V0VGltZXpvbmVPZmZzZXQoKTtpZihyPT09MClyZXR1cm4iWiI7c3dpdGNoKGUpe2Nhc2UiWCI6cmV0dXJuIHRvdChyKTtjYXNlIlhYWFgiOmNhc2UiWFgiOnJldHVybiBrMyhyKTtkZWZhdWx0OnJldHVybiBrMyhyLCI6Iil9fSwiWCIpLHg6cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9YS5nZXRUaW1lem9uZU9mZnNldCgpO3N3aXRjaChlKXtjYXNlIngiOnJldHVybiB0b3Qocik7Y2FzZSJ4eHh4IjpjYXNlInh4IjpyZXR1cm4gazMocik7ZGVmYXVsdDpyZXR1cm4gazMociwiOiIpfX0sIngiKSxPOnMoZnVuY3Rpb24oYSxlLHQpe2xldCByPWEuZ2V0VGltZXpvbmVPZmZzZXQoKTtzd2l0Y2goZSl7Y2FzZSJPIjpjYXNlIk9PIjpjYXNlIk9PTyI6cmV0dXJuIkdNVCIrZW90KHIsIjoiKTtkZWZhdWx0OnJldHVybiJHTVQiK2szKHIsIjoiKX19LCJPIiksejpzKGZ1bmN0aW9uKGEsZSx0KXtsZXQgcj1hLmdldFRpbWV6b25lT2Zmc2V0KCk7c3dpdGNoKGUpe2Nhc2UieiI6Y2FzZSJ6eiI6Y2FzZSJ6enoiOnJldHVybiJHTVQiK2VvdChyLCI6Iik7ZGVmYXVsdDpyZXR1cm4iR01UIitrMyhyLCI6Iil9fSwieiIpLHQ6cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9TWF0aC50cnVuYygrYS8xZTMpO3JldHVybiBidChyLGUubGVuZ3RoKX0sInQiKSxUOnMoZnVuY3Rpb24oYSxlLHQpe3JldHVybiBidCgrYSxlLmxlbmd0aCl9LCJUIil9O3MoZW90LCJmb3JtYXRUaW1lem9uZVNob3J0Iik7cyh0b3QsImZvcm1hdFRpbWV6b25lV2l0aE9wdGlvbmFsTWludXRlcyIpO3MoazMsImZvcm1hdFRpbWV6b25lIil9KTt2YXIgcm90LHNvdCxCOWEsaDAsUDJlPWYoKCk9Pntyb3Q9cygoYSxlKT0+e3N3aXRjaChhKXtjYXNlIlAiOnJldHVybiBlLmRhdGUoe3dpZHRoOiJzaG9ydCJ9KTtjYXNlIlBQIjpyZXR1cm4gZS5kYXRlKHt3aWR0aDoibWVkaXVtIn0pO2Nhc2UiUFBQIjpyZXR1cm4gZS5kYXRlKHt3aWR0aDoibG9uZyJ9KTtkZWZhdWx0OnJldHVybiBlLmRhdGUoe3dpZHRoOiJmdWxsIn0pfX0sImRhdGVMb25nRm9ybWF0dGVyIiksc290PXMoKGEsZSk9Pntzd2l0Y2goYSl7Y2FzZSJwIjpyZXR1cm4gZS50aW1lKHt3aWR0aDoic2hvcnQifSk7Y2FzZSJwcCI6cmV0dXJuIGUudGltZSh7d2lkdGg6Im1lZGl1bSJ9KTtjYXNlInBwcCI6cmV0dXJuIGUudGltZSh7d2lkdGg6ImxvbmcifSk7ZGVmYXVsdDpyZXR1cm4gZS50aW1lKHt3aWR0aDoiZnVsbCJ9KX19LCJ0aW1lTG9uZ0Zvcm1hdHRlciIpLEI5YT1zKChhLGUpPT57bGV0IHQ9YS5tYXRjaCgvKFArKShwKyk/Lyl8fFtdLHI9dFsxXSxpPXRbMl07aWYoIWkpcmV0dXJuIHJvdChhLGUpO2xldCBvO3N3aXRjaChyKXtjYXNlIlAiOm89ZS5kYXRlVGltZSh7d2lkdGg6InNob3J0In0pO2JyZWFrO2Nhc2UiUFAiOm89ZS5kYXRlVGltZSh7d2lkdGg6Im1lZGl1bSJ9KTticmVhaztjYXNlIlBQUCI6bz1lLmRhdGVUaW1lKHt3aWR0aDoibG9uZyJ9KTticmVhaztkZWZhdWx0Om89ZS5kYXRlVGltZSh7d2lkdGg6ImZ1bGwifSk7YnJlYWt9cmV0dXJuIG8ucmVwbGFjZSgie3tkYXRlfX0iLHJvdChyLGUpKS5yZXBsYWNlKCJ7e3RpbWV9fSIsc290KGksZSkpfSwiZGF0ZVRpbWVMb25nRm9ybWF0dGVyIiksaDA9e3A6c290LFA6QjlhfX0pO2Z1bmN0aW9uIE9LKGEpe3JldHVybiBIOWEudGVzdChhKX1mdW5jdGlvbiBGSyhhKXtyZXR1cm4gcTlhLnRlc3QoYSl9ZnVuY3Rpb24geDkoYSxlLHQpe2xldCByPWo5YShhLGUsdCk7aWYoY29uc29sZS53YXJuKHIpLFY5YS5pbmNsdWRlcyhhKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcihyKX1mdW5jdGlvbiBqOWEoYSxlLHQpe2xldCByPWFbMF09PT0iWSI/InllYXJzIjoiZGF5cyBvZiB0aGUgbW9udGgiO3JldHVybmBVc2UgXGAke2EudG9Mb3dlckNhc2UoKX1cYCBpbnN0ZWFkIG9mIFxgJHthfVxgIChpbiBcYCR7ZX1cYCkgZm9yIGZvcm1hdHRpbmcgJHtyfSB0byB0aGUgaW5wdXQgXGAke3R9XGA7IHNlZTogaHR0cHM6Ly9naXRodWIuY29tL2RhdGUtZm5zL2RhdGUtZm5zL2Jsb2IvbWFzdGVyL2RvY3MvdW5pY29kZVRva2Vucy5tZGB9dmFyIEg5YSxxOWEsVjlhLEkyZT1mKCgpPT57SDlhPS9eRCskLyxxOWE9L15ZKyQvLFY5YT1bIkQiLCJERCIsIllZIiwiWVlZWSJdO3MoT0ssImlzUHJvdGVjdGVkRGF5T2ZZZWFyVG9rZW4iKTtzKEZLLCJpc1Byb3RlY3RlZFdlZWtZZWFyVG9rZW4iKTtzKHg5LCJ3YXJuT3JUaHJvd1Byb3RlY3RlZEVycm9yIik7cyhqOWEsIm1lc3NhZ2UiKX0pO2Z1bmN0aW9uIHk5KGEsZSx0KXtsZXQgcj1IYSgpLGk9dD8ubG9jYWxlPz9yLmxvY2FsZT8/eW8sbz10Py5maXJzdFdlZWtDb250YWluc0RhdGU/P3Q/LmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9yLmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/ci5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/MSxuPXQ/LndlZWtTdGFydHNPbj8/dD8ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/P3Iud2Vla1N0YXJ0c09uPz9yLmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz8wLGw9a2UoYSx0Py5pbik7aWYoIVpzKGwpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgZD1lLm1hdGNoKFc5YSkubWFwKHA9PntsZXQgdT1wWzBdO2lmKHU9PT0icCJ8fHU9PT0iUCIpe2xldCBtPWgwW3VdO3JldHVybiBtKHAsaS5mb3JtYXRMb25nKX1yZXR1cm4gcH0pLmpvaW4oIiIpLm1hdGNoKFU5YSkubWFwKHA9PntpZihwPT09IicnIilyZXR1cm57aXNUb2tlbjohMSx2YWx1ZToiJyJ9O2xldCB1PXBbMF07aWYodT09PSInIilyZXR1cm57aXNUb2tlbjohMSx2YWx1ZTpaOWEocCl9O2lmKHY5W3VdKXJldHVybntpc1Rva2VuOiEwLHZhbHVlOnB9O2lmKHUubWF0Y2goSzlhKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRm9ybWF0IHN0cmluZyBjb250YWlucyBhbiB1bmVzY2FwZWQgbGF0aW4gYWxwaGFiZXQgY2hhcmFjdGVyIGAiK3UrImAiKTtyZXR1cm57aXNUb2tlbjohMSx2YWx1ZTpwfX0pO2kubG9jYWxpemUucHJlcHJvY2Vzc29yJiYoZD1pLmxvY2FsaXplLnByZXByb2Nlc3NvcihsLGQpKTtsZXQgYz17Zmlyc3RXZWVrQ29udGFpbnNEYXRlOm8sd2Vla1N0YXJ0c09uOm4sbG9jYWxlOml9O3JldHVybiBkLm1hcChwPT57aWYoIXAuaXNUb2tlbilyZXR1cm4gcC52YWx1ZTtsZXQgdT1wLnZhbHVlOyghdD8udXNlQWRkaXRpb25hbFdlZWtZZWFyVG9rZW5zJiZGSyh1KXx8IXQ/LnVzZUFkZGl0aW9uYWxEYXlPZlllYXJUb2tlbnMmJk9LKHUpKSYmeDkodSxlLFN0cmluZyhhKSk7bGV0IG09djlbdVswXV07cmV0dXJuIG0obCx1LGkubG9jYWxpemUsYyl9KS5qb2luKCIiKX1mdW5jdGlvbiBaOWEoYSl7bGV0IGU9YS5tYXRjaChHOWEpO3JldHVybiBlP2VbMV0ucmVwbGFjZShZOWEsIiciKTphfXZhciBVOWEsVzlhLEc5YSxZOWEsSzlhLFEzcixOMmU9ZigoKT0+e3kzKCk7YmkoKTthb3QoKTtQMmUoKTtJMmUoKTt6bCgpO0hlKCk7VTlhPS9beVlRcU1Md0lkRGVjaWhIS2ttc11vfChcdylcMSp8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2csVzlhPS9QK3ArfFArfHArfCcnfCcoJyd8W14nXSkrKCd8JCl8Li9nLEc5YT0vXicoW15dKj8pJz8kLyxZOWE9LycnL2csSzlhPS9bYS16QS1aXS87cyh5OSwiZm9ybWF0Iik7cyhaOWEsImNsZWFuRXNjYXBlZFN0cmluZyIpO1Ezcj15OX0pO2Z1bmN0aW9uIEJLKGEsZSx0KXtsZXQgcj1IYSgpLGk9dD8ubG9jYWxlPz9yLmxvY2FsZT8/eW8sbz0yNTIwLG49dmkoYSxlKTtpZihpc05hTihuKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IGw9T2JqZWN0LmFzc2lnbih7fSx0LHthZGRTdWZmaXg6dD8uYWRkU3VmZml4LGNvbXBhcmlzb246bn0pLFtkLGNdPV90KHQ/LmluLC4uLm4+MD9bZSxhXTpbYSxlXSkscD15MihjLGQpLHU9KEVyKGMpLUVyKGQpKS8xZTMsbT1NYXRoLnJvdW5kKChwLXUpLzYwKSx2O2lmKG08MilyZXR1cm4gdD8uaW5jbHVkZVNlY29uZHM/cDw1P2kuZm9ybWF0RGlzdGFuY2UoImxlc3NUaGFuWFNlY29uZHMiLDUsbCk6cDwxMD9pLmZvcm1hdERpc3RhbmNlKCJsZXNzVGhhblhTZWNvbmRzIiwxMCxsKTpwPDIwP2kuZm9ybWF0RGlzdGFuY2UoImxlc3NUaGFuWFNlY29uZHMiLDIwLGwpOnA8NDA/aS5mb3JtYXREaXN0YW5jZSgiaGFsZkFNaW51dGUiLDAsbCk6cDw2MD9pLmZvcm1hdERpc3RhbmNlKCJsZXNzVGhhblhNaW51dGVzIiwxLGwpOmkuZm9ybWF0RGlzdGFuY2UoInhNaW51dGVzIiwxLGwpOm09PT0wP2kuZm9ybWF0RGlzdGFuY2UoImxlc3NUaGFuWE1pbnV0ZXMiLDEsbCk6aS5mb3JtYXREaXN0YW5jZSgieE1pbnV0ZXMiLG0sbCk7aWYobTw0NSlyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgieE1pbnV0ZXMiLG0sbCk7aWYobTw5MClyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgiYWJvdXRYSG91cnMiLDEsbCk7aWYobTxwaCl7bGV0IHg9TWF0aC5yb3VuZChtLzYwKTtyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgiYWJvdXRYSG91cnMiLHgsbCl9ZWxzZXtpZihtPG8pcmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoInhEYXlzIiwxLGwpO2lmKG08aTApe2xldCB4PU1hdGgucm91bmQobS9waCk7cmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoInhEYXlzIix4LGwpfWVsc2UgaWYobTxpMCoyKXJldHVybiB2PU1hdGgucm91bmQobS9pMCksaS5mb3JtYXREaXN0YW5jZSgiYWJvdXRYTW9udGhzIix2LGwpfWlmKHY9dTAoYyxkKSx2PDEyKXtsZXQgeD1NYXRoLnJvdW5kKG0vaTApO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4TW9udGhzIix4LGwpfWVsc2V7bGV0IHg9diUxMixiPU1hdGgudHJ1bmModi8xMik7cmV0dXJuIHg8Mz9pLmZvcm1hdERpc3RhbmNlKCJhYm91dFhZZWFycyIsYixsKTp4PDk/aS5mb3JtYXREaXN0YW5jZSgib3ZlclhZZWFycyIsYixsKTppLmZvcm1hdERpc3RhbmNlKCJhbG1vc3RYWWVhcnMiLGIrMSxsKX19dmFyIGNkcixSMmU9ZigoKT0+e3kzKCk7YmkoKTtrbCgpO2phKCk7bTMoKTtRdCgpO2g5KCk7bTkoKTtzKEJLLCJmb3JtYXREaXN0YW5jZSIpO2Nkcj1CS30pO2Z1bmN0aW9uIEhLKGEsZSx0KXtsZXQgcj1IYSgpLGk9dD8ubG9jYWxlPz9yLmxvY2FsZT8/eW8sbz12aShhLGUpO2lmKGlzTmFOKG8pKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgbj1PYmplY3QuYXNzaWduKHt9LHQse2FkZFN1ZmZpeDp0Py5hZGRTdWZmaXgsY29tcGFyaXNvbjpvfSksW2wsZF09X3QodD8uaW4sLi4ubz4wP1tlLGFdOlthLGVdKSxjPXhpKHQ/LnJvdW5kaW5nTWV0aG9kPz8icm91bmQiKSxwPWQuZ2V0VGltZSgpLWwuZ2V0VGltZSgpLHU9cC9naSxtPUVyKGQpLUVyKGwpLHY9KHAtbSkvZ2kseD10Py51bml0LGI7aWYoeD9iPXg6dTwxP2I9InNlY29uZCI6dTw2MD9iPSJtaW51dGUiOnU8cGg/Yj0iaG91ciI6djxpMD9iPSJkYXkiOnY8bzJlP2I9Im1vbnRoIjpiPSJ5ZWFyIixiPT09InNlY29uZCIpe2xldCBnPWMocC8xZTMpO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4U2Vjb25kcyIsZyxuKX1lbHNlIGlmKGI9PT0ibWludXRlIil7bGV0IGc9Yyh1KTtyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgieE1pbnV0ZXMiLGcsbil9ZWxzZSBpZihiPT09ImhvdXIiKXtsZXQgZz1jKHUvNjApO3JldHVybiBpLmZvcm1hdERpc3RhbmNlKCJ4SG91cnMiLGcsbil9ZWxzZSBpZihiPT09ImRheSIpe2xldCBnPWModi9waCk7cmV0dXJuIGkuZm9ybWF0RGlzdGFuY2UoInhEYXlzIixnLG4pfWVsc2UgaWYoYj09PSJtb250aCIpe2xldCBnPWModi9pMCk7cmV0dXJuIGc9PT0xMiYmeCE9PSJtb250aCI/aS5mb3JtYXREaXN0YW5jZSgieFllYXJzIiwxLG4pOmkuZm9ybWF0RGlzdGFuY2UoInhNb250aHMiLGcsbil9ZWxzZXtsZXQgZz1jKHYvbzJlKTtyZXR1cm4gaS5mb3JtYXREaXN0YW5jZSgieFllYXJzIixnLG4pfX12YXIgeGRyLE8yZT1mKCgpPT57eTMoKTtiaSgpO0NsKCk7a2woKTtqYSgpO20zKCk7UXQoKTtzKEhLLCJmb3JtYXREaXN0YW5jZVN0cmljdCIpO3hkcj1IS30pO2Z1bmN0aW9uIGlvdChhLGUpe3JldHVybiBCSyhhLGNhKGEpLGUpfXZhciBTZHIsb290PWYoKCk9Pnt6cygpO1IyZSgpO3MoaW90LCJmb3JtYXREaXN0YW5jZVRvTm93Iik7U2RyPWlvdH0pO2Z1bmN0aW9uIG5vdChhLGUpe3JldHVybiBISyhhLGNhKGEpLGUpfXZhciBMZHIsbG90PWYoKCk9Pnt6cygpO08yZSgpO3Mobm90LCJmb3JtYXREaXN0YW5jZVRvTm93U3RyaWN0Iik7TGRyPW5vdH0pO2Z1bmN0aW9uIGNvdChhLGUpe2xldCB0PUhhKCkscj1lPy5sb2NhbGU/P3QubG9jYWxlPz95byxpPWU/LmZvcm1hdD8/WDlhLG89ZT8uemVybz8/ITEsbj1lPy5kZWxpbWl0ZXI/PyIgIjtyZXR1cm4gci5mb3JtYXREaXN0YW5jZT9pLnJlZHVjZSgoZCxjKT0+e2xldCBwPWB4JHtjLnJlcGxhY2UoLyheLikvLG09Pm0udG9VcHBlckNhc2UoKSl9YCx1PWFbY107cmV0dXJuIHUhPT12b2lkIDAmJihvfHxhW2NdKT9kLmNvbmNhdChyLmZvcm1hdERpc3RhbmNlKHAsdSkpOmR9LFtdKS5qb2luKG4pOiIifXZhciBYOWEsUGRyLGRvdD1mKCgpPT57eTMoKTtiaSgpO1g5YT1bInllYXJzIiwibW9udGhzIiwid2Vla3MiLCJkYXlzIiwiaG91cnMiLCJtaW51dGVzIiwic2Vjb25kcyJdO3MoY290LCJmb3JtYXREdXJhdGlvbiIpO1Bkcj1jb3R9KTtmdW5jdGlvbiB1b3QoYSxlKXtsZXQgdD1rZShhLGU/LmluKTtpZihpc05hTigrdCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgdGltZSB2YWx1ZSIpO2xldCByPWU/LmZvcm1hdD8/ImV4dGVuZGVkIixpPWU/LnJlcHJlc2VudGF0aW9uPz8iY29tcGxldGUiLG89IiIsbj0iIixsPXI9PT0iZXh0ZW5kZWQiPyItIjoiIixkPXI9PT0iZXh0ZW5kZWQiPyI6IjoiIjtpZihpIT09InRpbWUiKXtsZXQgYz1idCh0LmdldERhdGUoKSwyKSxwPWJ0KHQuZ2V0TW9udGgoKSsxLDIpO289YCR7YnQodC5nZXRGdWxsWWVhcigpLDQpfSR7bH0ke3B9JHtsfSR7Y31gfWlmKGkhPT0iZGF0ZSIpe2xldCBjPXQuZ2V0VGltZXpvbmVPZmZzZXQoKTtpZihjIT09MCl7bGV0IGI9TWF0aC5hYnMoYyksZz1idChNYXRoLnRydW5jKGIvNjApLDIpLHk9YnQoYiU2MCwyKTtuPWAke2M8MD8iKyI6Ii0ifSR7Z306JHt5fWB9ZWxzZSBuPSJaIjtsZXQgcD1idCh0LmdldEhvdXJzKCksMiksdT1idCh0LmdldE1pbnV0ZXMoKSwyKSxtPWJ0KHQuZ2V0U2Vjb25kcygpLDIpLHY9bz09PSIiPyIiOiJUIix4PVtwLHUsbV0uam9pbihkKTtvPWAke299JHt2fSR7eH0ke259YH1yZXR1cm4gb312YXIgRmRyLHBvdD1mKCgpPT57TTMoKTtIZSgpO3ModW90LCJmb3JtYXRJU08iKTtGZHI9dW90fSk7ZnVuY3Rpb24gZm90KGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7aWYoIVpzKHQpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgcj1lPy5mb3JtYXQ/PyJleHRlbmRlZCIsaT1lPy5yZXByZXNlbnRhdGlvbj8/ImNvbXBsZXRlIixvPSIiLG49cj09PSJleHRlbmRlZCI/Ii0iOiIiLGw9cj09PSJleHRlbmRlZCI/IjoiOiIiO2lmKGkhPT0idGltZSIpe2xldCBkPWJ0KHQuZ2V0RGF0ZSgpLDIpLGM9YnQodC5nZXRNb250aCgpKzEsMik7bz1gJHtidCh0LmdldEZ1bGxZZWFyKCksNCl9JHtufSR7Y30ke259JHtkfWB9aWYoaSE9PSJkYXRlIil7bGV0IGQ9YnQodC5nZXRIb3VycygpLDIpLGM9YnQodC5nZXRNaW51dGVzKCksMikscD1idCh0LmdldFNlY29uZHMoKSwyKTtvPWAke299JHtvPT09IiI/IiI6IiAifSR7ZH0ke2x9JHtjfSR7bH0ke3B9YH1yZXR1cm4gb312YXIgVWRyLGhvdD1mKCgpPT57TTMoKTt6bCgpO0hlKCk7cyhmb3QsImZvcm1hdElTTzkwNzUiKTtVZHI9Zm90fSk7ZnVuY3Rpb24gbW90KGEpe2xldHt5ZWFyczplPTAsbW9udGhzOnQ9MCxkYXlzOnI9MCxob3VyczppPTAsbWludXRlczpvPTAsc2Vjb25kczpuPTB9PWE7cmV0dXJuYFAke2V9WSR7dH1NJHtyfURUJHtpfUgke299TSR7bn1TYH12YXIgWWRyLGdvdD1mKCgpPT57cyhtb3QsImZvcm1hdElTT0R1cmF0aW9uIik7WWRyPW1vdH0pO2Z1bmN0aW9uIGJvdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO2lmKCFacyh0KSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IHI9ZT8uZnJhY3Rpb25EaWdpdHM/PzAsaT1idCh0LmdldERhdGUoKSwyKSxvPWJ0KHQuZ2V0TW9udGgoKSsxLDIpLG49dC5nZXRGdWxsWWVhcigpLGw9YnQodC5nZXRIb3VycygpLDIpLGQ9YnQodC5nZXRNaW51dGVzKCksMiksYz1idCh0LmdldFNlY29uZHMoKSwyKSxwPSIiO2lmKHI+MCl7bGV0IHY9dC5nZXRNaWxsaXNlY29uZHMoKSx4PU1hdGgudHJ1bmModipNYXRoLnBvdygxMCxyLTMpKTtwPSIuIitidCh4LHIpfWxldCB1PSIiLG09dC5nZXRUaW1lem9uZU9mZnNldCgpO2lmKG0hPT0wKXtsZXQgdj1NYXRoLmFicyhtKSx4PWJ0KE1hdGgudHJ1bmModi82MCksMiksYj1idCh2JTYwLDIpO3U9YCR7bTwwPyIrIjoiLSJ9JHt4fToke2J9YH1lbHNlIHU9IloiO3JldHVybmAke259LSR7b30tJHtpfVQke2x9OiR7ZH06JHtjfSR7cH0ke3V9YH12YXIgZTZyLHZvdD1mKCgpPT57TTMoKTt6bCgpO0hlKCk7cyhib3QsImZvcm1hdFJGQzMzMzkiKTtlNnI9Ym90fSk7ZnVuY3Rpb24geG90KGEpe2xldCBlPWtlKGEpO2lmKCFacyhlKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCB0aW1lIHZhbHVlIik7bGV0IHQ9UTlhW2UuZ2V0VVRDRGF5KCldLHI9YnQoZS5nZXRVVENEYXRlKCksMiksaT1KOWFbZS5nZXRVVENNb250aCgpXSxvPWUuZ2V0VVRDRnVsbFllYXIoKSxuPWJ0KGUuZ2V0VVRDSG91cnMoKSwyKSxsPWJ0KGUuZ2V0VVRDTWludXRlcygpLDIpLGQ9YnQoZS5nZXRVVENTZWNvbmRzKCksMik7cmV0dXJuYCR7dH0sICR7cn0gJHtpfSAke299ICR7bn06JHtsfToke2R9IEdNVGB9dmFyIFE5YSxKOWEsbzZyLHlvdD1mKCgpPT57TTMoKTt6bCgpO0hlKCk7UTlhPVsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sSjlhPVsiSmFuIiwiRmViIiwiTWFyIiwiQXByIiwiTWF5IiwiSnVuIiwiSnVsIiwiQXVnIiwiU2VwIiwiT2N0IiwiTm92IiwiRGVjIl07cyh4b3QsImZvcm1hdFJGQzcyMzEiKTtvNnI9eG90fSk7ZnVuY3Rpb24gd290KGEsZSx0KXtsZXRbcixpXT1fdCh0Py5pbixhLGUpLG89SGEoKSxuPXQ/LmxvY2FsZT8/by5sb2NhbGU/P3lvLGw9dD8ud2Vla1N0YXJ0c09uPz90Py5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/by53ZWVrU3RhcnRzT24/P28ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsZD1GcyhyLGkpO2lmKGlzTmFOKGQpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgYztkPC02P2M9Im90aGVyIjpkPC0xP2M9Imxhc3RXZWVrIjpkPDA/Yz0ieWVzdGVyZGF5IjpkPDE/Yz0idG9kYXkiOmQ8Mj9jPSJ0b21vcnJvdyI6ZDw3P2M9Im5leHRXZWVrIjpjPSJvdGhlciI7bGV0IHA9bi5mb3JtYXRSZWxhdGl2ZShjLHIsaSx7bG9jYWxlOm4sd2Vla1N0YXJ0c09uOmx9KTtyZXR1cm4geTkocixwLHtsb2NhbGU6bix3ZWVrU3RhcnRzT246bH0pfXZhciBoNnIsTW90PWYoKCk9Pnt5MygpO2JpKCk7amEoKTtTbCgpO04yZSgpO3Mod290LCJmb3JtYXRSZWxhdGl2ZSIpO2g2cj13b3R9KTtmdW5jdGlvbiBrb3QoYSxlKXtyZXR1cm4ga2UoYSoxZTMsZT8uaW4pfXZhciB2NnIsU290PWYoKCk9PntIZSgpO3Moa290LCJmcm9tVW5peFRpbWUiKTt2NnI9a290fSk7ZnVuY3Rpb24gcUsoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0RGF0ZSgpfXZhciBNNnIsRjJlPWYoKCk9PntIZSgpO3MocUssImdldERhdGUiKTtNNnI9cUt9KTtmdW5jdGlvbiBtMChhLGUpe3JldHVybiBrZShhLGU/LmluKS5nZXREYXkoKX12YXIgQzZyLHc5PWYoKCk9PntIZSgpO3MobTAsImdldERheSIpO0M2cj1tMH0pO2Z1bmN0aW9uIFZLKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbikscj10LmdldEZ1bGxZZWFyKCksaT10LmdldE1vbnRoKCksbz1GZSh0LDApO3JldHVybiBvLnNldEZ1bGxZZWFyKHIsaSsxLDApLG8uc2V0SG91cnMoMCwwLDAsMCksby5nZXREYXRlKCl9dmFyIEQ2cixCMmU9ZigoKT0+eyR0KCk7SGUoKTtzKFZLLCJnZXREYXlzSW5Nb250aCIpO0Q2cj1WS30pO2Z1bmN0aW9uIGpLKGEsZSl7bGV0IHI9a2UoYSxlPy5pbikuZ2V0RnVsbFllYXIoKTtyZXR1cm4gciU0MDA9PT0wfHxyJTQ9PT0wJiZyJTEwMCE9PTB9dmFyIEk2cixIMmU9ZigoKT0+e0hlKCk7cyhqSywiaXNMZWFwWWVhciIpO0k2cj1qS30pO2Z1bmN0aW9uIHpvdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiBOdW1iZXIuaXNOYU4oK3QpP05hTjpqSyh0KT8zNjY6MzY1fXZhciBCNnIsQ290PWYoKCk9PntIMmUoKTtIZSgpO3Moem90LCJnZXREYXlzSW5ZZWFyIik7QjZyPXpvdH0pO2Z1bmN0aW9uIF9vdChhLGUpe2xldCByPWtlKGEsZT8uaW4pLmdldEZ1bGxZZWFyKCk7cmV0dXJuIE1hdGguZmxvb3Ioci8xMCkqMTB9dmFyIGo2cixUb3Q9ZigoKT0+e0hlKCk7cyhfb3QsImdldERlY2FkZSIpO2o2cj1fb3R9KTtmdW5jdGlvbiBVSygpe3JldHVybiBPYmplY3QuYXNzaWduKHt9LEhhKCkpfXZhciBZNnIscTJlPWYoKCk9PntiaSgpO3MoVUssImdldERlZmF1bHRPcHRpb25zIik7WTZyPVVLfSk7ZnVuY3Rpb24gTG90KGEsZSl7cmV0dXJuIGtlKGEsZT8uaW4pLmdldEhvdXJzKCl9dmFyIFE2ciwkb3Q9ZigoKT0+e0hlKCk7cyhMb3QsImdldEhvdXJzIik7UTZyPUxvdH0pO2Z1bmN0aW9uIFdLKGEsZSl7bGV0IHQ9a2UoYSxlPy5pbikuZ2V0RGF5KCk7cmV0dXJuIHQ9PT0wPzc6dH12YXIgYXVyLFYyZT1mKCgpPT57SGUoKTtzKFdLLCJnZXRJU09EYXkiKTthdXI9V0t9KTtmdW5jdGlvbiBEb3QoYSxlKXtsZXQgdD1CbyhhLGUpLGk9K0JvKGMwKHQsNjApKS0rdDtyZXR1cm4gTWF0aC5yb3VuZChpL2YyKX12YXIgbHVyLEFvdD1mKCgpPT57cDkoKTtRdCgpO21oKCk7cyhEb3QsImdldElTT1dlZWtzSW5ZZWFyIik7bHVyPURvdH0pO2Z1bmN0aW9uIEVvdChhKXtyZXR1cm4ga2UoYSkuZ2V0TWlsbGlzZWNvbmRzKCl9dmFyIHB1cixQb3Q9ZigoKT0+e0hlKCk7cyhFb3QsImdldE1pbGxpc2Vjb25kcyIpO3B1cj1Fb3R9KTtmdW5jdGlvbiBJb3QoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0TWludXRlcygpfXZhciBndXIsTm90PWYoKCk9PntIZSgpO3MoSW90LCJnZXRNaW51dGVzIik7Z3VyPUlvdH0pO2Z1bmN0aW9uIFJvdChhLGUpe3JldHVybiBrZShhLGU/LmluKS5nZXRNb250aCgpfXZhciB5dXIsT290PWYoKCk9PntIZSgpO3MoUm90LCJnZXRNb250aCIpO3l1cj1Sb3R9KTtmdW5jdGlvbiBGb3QoYSxlKXtsZXRbdCxyXT1bK2tlKGEuc3RhcnQpLCtrZShhLmVuZCldLnNvcnQoKHUsbSk9PnUtbSksW2ksb109WytrZShlLnN0YXJ0KSwra2UoZS5lbmQpXS5zb3J0KCh1LG0pPT51LW0pO2lmKCEodDxvJiZpPHIpKXJldHVybiAwO2xldCBsPWk8dD90OmksZD1sLUVyKGwpLGM9bz5yP3I6byxwPWMtRXIoYyk7cmV0dXJuIE1hdGguY2VpbCgocC1kKS9LWSl9dmFyIEN1cixCb3Q9ZigoKT0+e2tsKCk7UXQoKTtIZSgpO3MoRm90LCJnZXRPdmVybGFwcGluZ0RheXNJbkludGVydmFscyIpO0N1cj1Gb3R9KTtmdW5jdGlvbiBIb3QoYSl7cmV0dXJuIGtlKGEpLmdldFNlY29uZHMoKX12YXIgJHVyLHFvdD1mKCgpPT57SGUoKTtzKEhvdCwiZ2V0U2Vjb25kcyIpOyR1cj1Ib3R9KTtmdW5jdGlvbiBWb3QoYSl7cmV0dXJuK2tlKGEpfXZhciBQdXIsam90PWYoKCk9PntIZSgpO3MoVm90LCJnZXRUaW1lIik7UHVyPVZvdH0pO2Z1bmN0aW9uIFVvdChhKXtyZXR1cm4gTWF0aC50cnVuYygra2UoYSkvMWUzKX12YXIgT3VyLFdvdD1mKCgpPT57SGUoKTtzKFVvdCwiZ2V0VW5peFRpbWUiKTtPdXI9VW90fSk7ZnVuY3Rpb24gR290KGEsZSl7bGV0IHQ9SGEoKSxyPWU/LndlZWtTdGFydHNPbj8/ZT8ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/P3Qud2Vla1N0YXJ0c09uPz90LmxvY2FsZT8ub3B0aW9ucz8ud2Vla1N0YXJ0c09uPz8wLGk9cUsoa2UoYSxlPy5pbikpO2lmKGlzTmFOKGkpKXJldHVybiBOYU47bGV0IG89bTAocDAoYSxlKSksbj1yLW87bjw9MCYmKG4rPTcpO2xldCBsPWktbjtyZXR1cm4gTWF0aC5jZWlsKGwvNykrMX12YXIgV3VyLFlvdD1mKCgpPT57YmkoKTtGMmUoKTt3OSgpO2c5KCk7SGUoKTtzKEdvdCwiZ2V0V2Vla09mTW9udGgiKTtXdXI9R290fSk7ZnVuY3Rpb24gR0soYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0TW9udGgoKTtyZXR1cm4gdC5zZXRGdWxsWWVhcih0LmdldEZ1bGxZZWFyKCkscisxLDApLHQuc2V0SG91cnMoMCwwLDAsMCksa2UodCxlPy5pbil9dmFyIFp1cixqMmU9ZigoKT0+e0hlKCk7cyhHSywibGFzdERheU9mTW9udGgiKTtadXI9R0t9KTtmdW5jdGlvbiBLb3QoYSxlKXtsZXQgdD1rZShhLGU/LmluKTtyZXR1cm4gYjMoR0sodCxlKSxwMCh0LGUpLGUpKzF9dmFyIHJwcixab3Q9ZigoKT0+e2dLKCk7ajJlKCk7ZzkoKTtIZSgpO3MoS290LCJnZXRXZWVrc0luTW9udGgiKTtycHI9S290fSk7ZnVuY3Rpb24gWG90KGEsZSl7cmV0dXJuIGtlKGEsZT8uaW4pLmdldEZ1bGxZZWFyKCl9dmFyIG5wcixRb3Q9ZigoKT0+e0hlKCk7cyhYb3QsImdldFllYXIiKTtucHI9WG90fSk7ZnVuY3Rpb24gSm90KGEpe3JldHVybiBNYXRoLnRydW5jKGEqRm8pfXZhciB1cHIsZW50PWYoKCk9PntRdCgpO3MoSm90LCJob3Vyc1RvTWlsbGlzZWNvbmRzIik7dXByPUpvdH0pO2Z1bmN0aW9uIHRudChhKXtyZXR1cm4gTWF0aC50cnVuYyhhKlpZKX12YXIgbXByLGFudD1mKCgpPT57UXQoKTtzKHRudCwiaG91cnNUb01pbnV0ZXMiKTttcHI9dG50fSk7ZnVuY3Rpb24gcm50KGEpe3JldHVybiBNYXRoLnRydW5jKGEqaDMpfXZhciB4cHIsc250PWYoKCk9PntRdCgpO3Mocm50LCJob3Vyc1RvU2Vjb25kcyIpO3hwcj1ybnR9KTtmdW5jdGlvbiBpbnQoYSxlLHQpe2xldFtyLGldPV90KHQ/LmluLGEsZSk7aWYoaXNOYU4oK3IpKXRocm93IG5ldyBUeXBlRXJyb3IoIlN0YXJ0IGRhdGUgaXMgaW52YWxpZCIpO2lmKGlzTmFOKCtpKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFbmQgZGF0ZSBpcyBpbnZhbGlkIik7aWYodD8uYXNzZXJ0UG9zaXRpdmUmJityPitpKXRocm93IG5ldyBUeXBlRXJyb3IoIkVuZCBkYXRlIG11c3QgYmUgYWZ0ZXIgc3RhcnQgZGF0ZSIpO3JldHVybntzdGFydDpyLGVuZDppfX12YXIga3ByLG9udD1mKCgpPT57amEoKTtzKGludCwiaW50ZXJ2YWwiKTtrcHI9aW50fSk7ZnVuY3Rpb24gbm50KGEsZSl7bGV0e3N0YXJ0OnQsZW5kOnJ9PUJzKGU/LmluLGEpLGk9e30sbz1DSyhyLHQpO28mJihpLnllYXJzPW8pO2xldCBuPW8wKHQse3llYXJzOmkueWVhcnN9KSxsPXUwKHIsbik7bCYmKGkubW9udGhzPWwpO2xldCBkPW8wKG4se21vbnRoczppLm1vbnRoc30pLGM9eWgocixkKTtjJiYoaS5kYXlzPWMpO2xldCBwPW8wKGQse2RheXM6aS5kYXlzfSksdT12MyhyLHApO3UmJihpLmhvdXJzPXUpO2xldCBtPW8wKHAse2hvdXJzOmkuaG91cnN9KSx2PXgzKHIsbSk7diYmKGkubWludXRlcz12KTtsZXQgeD1vMChtLHttaW51dGVzOmkubWludXRlc30pLGI9eTIocix4KTtyZXR1cm4gYiYmKGkuc2Vjb25kcz1iKSxpfXZhciBQcHIsbG50PWYoKCk9Pnt3MigpO2QyZSgpO3ZLKCk7eEsoKTtNSygpO2g5KCk7bTkoKTtUMmUoKTtzKG5udCwiaW50ZXJ2YWxUb0R1cmF0aW9uIik7UHByPW5udH0pO2Z1bmN0aW9uIGNudChhLGUsdCl7bGV0IHI7cmV0dXJuIGVnYShlKT9yPWU6dD1lLG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KHQ/LmxvY2FsZSxyKS5mb3JtYXQoa2UoYSkpfWZ1bmN0aW9uIGVnYShhKXtyZXR1cm4gYSE9PXZvaWQgMCYmISgibG9jYWxlImluIGEpfXZhciBPcHIsZG50PWYoKCk9PntIZSgpO3MoY250LCJpbnRsRm9ybWF0Iik7cyhlZ2EsImlzRm9ybWF0T3B0aW9ucyIpO09wcj1jbnR9KTtmdW5jdGlvbiB1bnQoYSxlLHQpe2xldCByPTAsaSxbbyxuXT1fdCh0Py5pbixhLGUpO2lmKHQ/LnVuaXQpaT10Py51bml0LGk9PT0ic2Vjb25kIj9yPXkyKG8sbik6aT09PSJtaW51dGUiP3I9eDMobyxuKTppPT09ImhvdXIiP3I9djMobyxuKTppPT09ImRheSI/cj1GcyhvLG4pOmk9PT0id2VlayI/cj1iMyhvLG4pOmk9PT0ibW9udGgiP3I9ZzMobyxuKTppPT09InF1YXJ0ZXIiP3I9eGgobyxuKTppPT09InllYXIiJiYocj1kMChvLG4pKTtlbHNle2xldCBkPXkyKG8sbik7TWF0aC5hYnMoZCk8Zmg/KHI9eTIobyxuKSxpPSJzZWNvbmQiKTpNYXRoLmFicyhkKTxoMz8ocj14MyhvLG4pLGk9Im1pbnV0ZSIpOk1hdGguYWJzKGQpPEdZJiZNYXRoLmFicyhGcyhvLG4pKTwxPyhyPXYzKG8sbiksaT0iaG91ciIpOk1hdGguYWJzKGQpPERzdCYmKHI9RnMobyxuKSkmJk1hdGguYWJzKHIpPDc/aT0iZGF5IjpNYXRoLmFicyhkKTxsMmU/KHI9YjMobyxuKSxpPSJ3ZWVrIik6TWF0aC5hYnMoZCk8QXN0PyhyPWczKG8sbiksaT0ibW9udGgiKTpNYXRoLmFicyhkKTxuMmU/eGgobyxuKTw0PyhyPXhoKG8sbiksaT0icXVhcnRlciIpOihyPWQwKG8sbiksaT0ieWVhciIpOihyPWQwKG8sbiksaT0ieWVhciIpfXJldHVybiBuZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQodD8ubG9jYWxlLHtudW1lcmljOiJhdXRvIiwuLi50fSkuZm9ybWF0KHIsaSl9dmFyIFhwcixwbnQ9ZigoKT0+e2phKCk7UXQoKTtTbCgpO21LKCk7ejJlKCk7Z0soKTtiSygpO3hLKCk7TUsoKTttOSgpO3ModW50LCJpbnRsRm9ybWF0RGlzdGFuY2UiKTtYcHI9dW50fSk7ZnVuY3Rpb24gZm50KGEsZSl7cmV0dXJuK2tlKGEpPitrZShlKX12YXIgdGZyLGhudD1mKCgpPT57SGUoKTtzKGZudCwiaXNBZnRlciIpO3Rmcj1mbnR9KTtmdW5jdGlvbiBtbnQoYSxlKXtyZXR1cm4ra2UoYSk8K2tlKGUpfXZhciBpZnIsZ250PWYoKCk9PntIZSgpO3MobW50LCJpc0JlZm9yZSIpO2lmcj1tbnR9KTtmdW5jdGlvbiBibnQoYSxlKXtyZXR1cm4ra2UoYSk9PStrZShlKX12YXIgY2ZyLHZudD1mKCgpPT57SGUoKTtzKGJudCwiaXNFcXVhbCIpO2Nmcj1ibnR9KTtmdW5jdGlvbiB4bnQoYSxlLHQpe2xldCByPW5ldyBEYXRlKGEsZSx0KTtyZXR1cm4gci5nZXRGdWxsWWVhcigpPT09YSYmci5nZXRNb250aCgpPT09ZSYmci5nZXREYXRlKCk9PT10fXZhciBwZnIseW50PWYoKCk9PntzKHhudCwiaXNFeGlzdHMiKTtwZnI9eG50fSk7ZnVuY3Rpb24gd250KGEsZSl7cmV0dXJuIGtlKGEsZT8uaW4pLmdldERhdGUoKT09PTF9dmFyIGdmcixNbnQ9ZigoKT0+e0hlKCk7cyh3bnQsImlzRmlyc3REYXlPZk1vbnRoIik7Z2ZyPXdudH0pO2Z1bmN0aW9uIGtudChhLGUpe3JldHVybiBrZShhLGU/LmluKS5nZXREYXkoKT09PTV9dmFyIHlmcixTbnQ9ZigoKT0+e0hlKCk7cyhrbnQsImlzRnJpZGF5Iik7eWZyPWtudH0pO2Z1bmN0aW9uIHpudChhKXtyZXR1cm4ra2UoYSk+RGF0ZS5ub3coKX12YXIgU2ZyLENudD1mKCgpPT57SGUoKTtzKHpudCwiaXNGdXR1cmUiKTtTZnI9em50fSk7ZnVuY3Rpb24gWUsoYSxlKXtsZXQgdD10Z2EoZSk/bmV3IGUoMCk6RmUoZSwwKTtyZXR1cm4gdC5zZXRGdWxsWWVhcihhLmdldEZ1bGxZZWFyKCksYS5nZXRNb250aCgpLGEuZ2V0RGF0ZSgpKSx0LnNldEhvdXJzKGEuZ2V0SG91cnMoKSxhLmdldE1pbnV0ZXMoKSxhLmdldFNlY29uZHMoKSxhLmdldE1pbGxpc2Vjb25kcygpKSx0fWZ1bmN0aW9uIHRnYShhKXtyZXR1cm4gdHlwZW9mIGE9PSJmdW5jdGlvbiImJmEucHJvdG90eXBlPy5jb25zdHJ1Y3Rvcj09PWF9dmFyIFRmcixVMmU9ZigoKT0+eyR0KCk7cyhZSywidHJhbnNwb3NlIik7cyh0Z2EsImlzQ29uc3RydWN0b3IiKTtUZnI9WUt9KTt2YXIgYWdhLEtLLFpLLFhLLFcyZT1mKCgpPT57JHQoKTtVMmUoKTthZ2E9MTAsS0s9Y2xhc3N7c3RhdGlje3ModGhpcywiU2V0dGVyIil9c3ViUHJpb3JpdHk9MDt2YWxpZGF0ZShlLHQpe3JldHVybiEwfX0sWks9Y2xhc3MgZXh0ZW5kcyBLS3tzdGF0aWN7cyh0aGlzLCJWYWx1ZVNldHRlciIpfWNvbnN0cnVjdG9yKGUsdCxyLGksbyl7c3VwZXIoKSx0aGlzLnZhbHVlPWUsdGhpcy52YWxpZGF0ZVZhbHVlPXQsdGhpcy5zZXRWYWx1ZT1yLHRoaXMucHJpb3JpdHk9aSxvJiYodGhpcy5zdWJQcmlvcml0eT1vKX12YWxpZGF0ZShlLHQpe3JldHVybiB0aGlzLnZhbGlkYXRlVmFsdWUoZSx0aGlzLnZhbHVlLHQpfXNldChlLHQscil7cmV0dXJuIHRoaXMuc2V0VmFsdWUoZSx0LHRoaXMudmFsdWUscil9fSxYSz1jbGFzcyBleHRlbmRzIEtLe3N0YXRpY3tzKHRoaXMsIkRhdGVUaW1lem9uZVNldHRlciIpfXByaW9yaXR5PWFnYTtzdWJQcmlvcml0eT0tMTtjb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5jb250ZXh0PWV8fChyPT5GZSh0LHIpKX1zZXQoZSx0KXtyZXR1cm4gdC50aW1lc3RhbXBJc1NldD9lOkZlKGUsWUsoZSx0aGlzLmNvbnRleHQpKX19fSk7dmFyIGd0LFBhPWYoKCk9PntXMmUoKTtndD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJQYXJzZXIiKX1ydW4oZSx0LHIsaSl7bGV0IG89dGhpcy5wYXJzZShlLHQscixpKTtyZXR1cm4gbz97c2V0dGVyOm5ldyBaSyhvLnZhbHVlLHRoaXMudmFsaWRhdGUsdGhpcy5zZXQsdGhpcy5wcmlvcml0eSx0aGlzLnN1YlByaW9yaXR5KSxyZXN0Om8ucmVzdH06bnVsbH12YWxpZGF0ZShlLHQscil7cmV0dXJuITB9fX0pO3ZhciBRSyxfbnQ9ZigoKT0+e1BhKCk7UUs9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJFcmFQYXJzZXIiKX1wcmlvcml0eT0xNDA7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlIkciOmNhc2UiR0ciOmNhc2UiR0dHIjpyZXR1cm4gci5lcmEoZSx7d2lkdGg6ImFiYnJldmlhdGVkIn0pfHxyLmVyYShlLHt3aWR0aDoibmFycm93In0pO2Nhc2UiR0dHR0ciOnJldHVybiByLmVyYShlLHt3aWR0aDoibmFycm93In0pO2RlZmF1bHQ6cmV0dXJuIHIuZXJhKGUse3dpZHRoOiJ3aWRlIn0pfHxyLmVyYShlLHt3aWR0aDoiYWJicmV2aWF0ZWQifSl8fHIuZXJhKGUse3dpZHRoOiJuYXJyb3cifSl9fXNldChlLHQscil7cmV0dXJuIHQuZXJhPXIsZS5zZXRGdWxsWWVhcihyLDAsMSksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIlIiLCJ1IiwidCIsIlQiXX19KTt2YXIgX2EsbW4seWk9ZigoKT0+e19hPXttb250aDovXigxWzAtMl18MD9cZCkvLGRhdGU6L14oM1swLTFdfFswLTJdP1xkKS8sZGF5T2ZZZWFyOi9eKDM2WzAtNl18M1swLTVdXGR8WzAtMl0/XGQ/XGQpLyx3ZWVrOi9eKDVbMC0zXXxbMC00XT9cZCkvLGhvdXIyM2g6L14oMlswLTNdfFswLTFdP1xkKS8saG91cjI0aDovXigyWzAtNF18WzAtMV0/XGQpLyxob3VyMTFoOi9eKDFbMC0xXXwwP1xkKS8saG91cjEyaDovXigxWzAtMl18MD9cZCkvLG1pbnV0ZTovXlswLTVdP1xkLyxzZWNvbmQ6L15bMC01XT9cZC8sc2luZ2xlRGlnaXQ6L15cZC8sdHdvRGlnaXRzOi9eXGR7MSwyfS8sdGhyZWVEaWdpdHM6L15cZHsxLDN9Lyxmb3VyRGlnaXRzOi9eXGR7MSw0fS8sYW55RGlnaXRzU2lnbmVkOi9eLT9cZCsvLHNpbmdsZURpZ2l0U2lnbmVkOi9eLT9cZC8sdHdvRGlnaXRzU2lnbmVkOi9eLT9cZHsxLDJ9Lyx0aHJlZURpZ2l0c1NpZ25lZDovXi0/XGR7MSwzfS8sZm91ckRpZ2l0c1NpZ25lZDovXi0/XGR7MSw0fS99LG1uPXtiYXNpY09wdGlvbmFsTWludXRlczovXihbKy1dKShcZHsyfSkoXGR7Mn0pP3xaLyxiYXNpYzovXihbKy1dKShcZHsyfSkoXGR7Mn0pfFovLGJhc2ljT3B0aW9uYWxTZWNvbmRzOi9eKFsrLV0pKFxkezJ9KShcZHsyfSkoKFxkezJ9KSk/fFovLGV4dGVuZGVkOi9eKFsrLV0pKFxkezJ9KTooXGR7Mn0pfFovLGV4dGVuZGVkT3B0aW9uYWxTZWNvbmRzOi9eKFsrLV0pKFxkezJ9KTooXGR7Mn0pKDooXGR7Mn0pKT98Wi99fSk7ZnVuY3Rpb24gVWEoYSxlKXtyZXR1cm4gYSYme3ZhbHVlOmUoYS52YWx1ZSkscmVzdDphLnJlc3R9fWZ1bmN0aW9uIGthKGEsZSl7bGV0IHQ9ZS5tYXRjaChhKTtyZXR1cm4gdD97dmFsdWU6cGFyc2VJbnQodFswXSwxMCkscmVzdDplLnNsaWNlKHRbMF0ubGVuZ3RoKX06bnVsbH1mdW5jdGlvbiBnbihhLGUpe2xldCB0PWUubWF0Y2goYSk7aWYoIXQpcmV0dXJuIG51bGw7aWYodFswXT09PSJaIilyZXR1cm57dmFsdWU6MCxyZXN0OmUuc2xpY2UoMSl9O2xldCByPXRbMV09PT0iKyI/MTotMSxpPXRbMl0/cGFyc2VJbnQodFsyXSwxMCk6MCxvPXRbM10/cGFyc2VJbnQodFszXSwxMCk6MCxuPXRbNV0/cGFyc2VJbnQodFs1XSwxMCk6MDtyZXR1cm57dmFsdWU6ciooaSpGbytvKmdpK24qdWgpLHJlc3Q6ZS5zbGljZSh0WzBdLmxlbmd0aCl9fWZ1bmN0aW9uIEpLKGEpe3JldHVybiBrYShfYS5hbnlEaWdpdHNTaWduZWQsYSl9ZnVuY3Rpb24gWXQoYSxlKXtzd2l0Y2goYSl7Y2FzZSAxOnJldHVybiBrYShfYS5zaW5nbGVEaWdpdCxlKTtjYXNlIDI6cmV0dXJuIGthKF9hLnR3b0RpZ2l0cyxlKTtjYXNlIDM6cmV0dXJuIGthKF9hLnRocmVlRGlnaXRzLGUpO2Nhc2UgNDpyZXR1cm4ga2EoX2EuZm91ckRpZ2l0cyxlKTtkZWZhdWx0OnJldHVybiBrYShuZXcgUmVnRXhwKCJeXFxkezEsIithKyJ9IiksZSl9fWZ1bmN0aW9uIERoKGEsZSl7c3dpdGNoKGEpe2Nhc2UgMTpyZXR1cm4ga2EoX2Euc2luZ2xlRGlnaXRTaWduZWQsZSk7Y2FzZSAyOnJldHVybiBrYShfYS50d29EaWdpdHNTaWduZWQsZSk7Y2FzZSAzOnJldHVybiBrYShfYS50aHJlZURpZ2l0c1NpZ25lZCxlKTtjYXNlIDQ6cmV0dXJuIGthKF9hLmZvdXJEaWdpdHNTaWduZWQsZSk7ZGVmYXVsdDpyZXR1cm4ga2EobmV3IFJlZ0V4cCgiXi0/XFxkezEsIithKyJ9IiksZSl9fWZ1bmN0aW9uIEFoKGEpe3N3aXRjaChhKXtjYXNlIm1vcm5pbmciOnJldHVybiA0O2Nhc2UiZXZlbmluZyI6cmV0dXJuIDE3O2Nhc2UicG0iOmNhc2Uibm9vbiI6Y2FzZSJhZnRlcm5vb24iOnJldHVybiAxMjtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvbiBlWihhLGUpe2xldCB0PWU+MCxyPXQ/ZToxLWUsaTtpZihyPD01MClpPWF8fDEwMDtlbHNle2xldCBvPXIrNTAsbj1NYXRoLnRydW5jKG8vMTAwKSoxMDAsbD1hPj1vJTEwMDtpPWErbi0obD8xMDA6MCl9cmV0dXJuIHQ/aToxLWl9ZnVuY3Rpb24gdFooYSl7cmV0dXJuIGElNDAwPT09MHx8YSU0PT09MCYmYSUxMDAhPT0wfXZhciBxYT1mKCgpPT57UXQoKTt5aSgpO3MoVWEsIm1hcFZhbHVlIik7cyhrYSwicGFyc2VOdW1lcmljUGF0dGVybiIpO3MoZ24sInBhcnNlVGltZXpvbmVQYXR0ZXJuIik7cyhKSywicGFyc2VBbnlEaWdpdHNTaWduZWQiKTtzKFl0LCJwYXJzZU5EaWdpdHMiKTtzKERoLCJwYXJzZU5EaWdpdHNTaWduZWQiKTtzKEFoLCJkYXlQZXJpb2RFbnVtVG9Ib3VycyIpO3MoZVosIm5vcm1hbGl6ZVR3b0RpZ2l0WWVhciIpO3ModFosImlzTGVhcFllYXJJbmRleCIpfSk7dmFyIGFaLFRudD1mKCgpPT57UGEoKTtxYSgpO2FaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiWWVhclBhcnNlciIpfXByaW9yaXR5PTEzMDtpbmNvbXBhdGlibGVUb2tlbnM9WyJZIiwiUiIsInUiLCJ3IiwiSSIsImkiLCJlIiwiYyIsInQiLCJUIl07cGFyc2UoZSx0LHIpe2xldCBpPXMobz0+KHt5ZWFyOm8saXNUd29EaWdpdFllYXI6dD09PSJ5eSJ9KSwidmFsdWVDYWxsYmFjayIpO3N3aXRjaCh0KXtjYXNlInkiOnJldHVybiBVYShZdCg0LGUpLGkpO2Nhc2UieW8iOnJldHVybiBVYShyLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoieWVhciJ9KSxpKTtkZWZhdWx0OnJldHVybiBVYShZdCh0Lmxlbmd0aCxlKSxpKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdC5pc1R3b0RpZ2l0WWVhcnx8dC55ZWFyPjB9c2V0KGUsdCxyKXtsZXQgaT1lLmdldEZ1bGxZZWFyKCk7aWYoci5pc1R3b0RpZ2l0WWVhcil7bGV0IG49ZVooci55ZWFyLGkpO3JldHVybiBlLnNldEZ1bGxZZWFyKG4sMCwxKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9bGV0IG89ISgiZXJhImluIHQpfHx0LmVyYT09PTE/ci55ZWFyOjEtci55ZWFyO3JldHVybiBlLnNldEZ1bGxZZWFyKG8sMCwxKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9fX0pO3ZhciByWixMbnQ9ZigoKT0+e2I5KCk7YTEoKTtQYSgpO3FhKCk7clo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJMb2NhbFdlZWtZZWFyUGFyc2VyIil9cHJpb3JpdHk9MTMwO3BhcnNlKGUsdCxyKXtsZXQgaT1zKG89Pih7eWVhcjpvLGlzVHdvRGlnaXRZZWFyOnQ9PT0iWVkifSksInZhbHVlQ2FsbGJhY2siKTtzd2l0Y2godCl7Y2FzZSJZIjpyZXR1cm4gVWEoWXQoNCxlKSxpKTtjYXNlIllvIjpyZXR1cm4gVWEoci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6InllYXIifSksaSk7ZGVmYXVsdDpyZXR1cm4gVWEoWXQodC5sZW5ndGgsZSksaSl9fXZhbGlkYXRlKGUsdCl7cmV0dXJuIHQuaXNUd29EaWdpdFllYXJ8fHQueWVhcj4wfXNldChlLHQscixpKXtsZXQgbz1mMChlLGkpO2lmKHIuaXNUd29EaWdpdFllYXIpe2xldCBsPWVaKHIueWVhcixvKTtyZXR1cm4gZS5zZXRGdWxsWWVhcihsLDAsaS5maXJzdFdlZWtDb250YWluc0RhdGUpLGUuc2V0SG91cnMoMCwwLDAsMCksZXIoZSxpKX1sZXQgbj0hKCJlcmEiaW4gdCl8fHQuZXJhPT09MT9yLnllYXI6MS1yLnllYXI7cmV0dXJuIGUuc2V0RnVsbFllYXIobiwwLGkuZmlyc3RXZWVrQ29udGFpbnNEYXRlKSxlLnNldEhvdXJzKDAsMCwwLDApLGVyKGUsaSl9aW5jb21wYXRpYmxlVG9rZW5zPVsieSIsIlIiLCJ1IiwiUSIsInEiLCJNIiwiTCIsIkkiLCJkIiwiRCIsImkiLCJ0IiwiVCJdfX0pO3ZhciBzWiwkbnQ9ZigoKT0+e2IyKCk7JHQoKTtQYSgpO3FhKCk7c1o9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJJU09XZWVrWWVhclBhcnNlciIpfXByaW9yaXR5PTEzMDtwYXJzZShlLHQpe3JldHVybiB0PT09IlIiP0RoKDQsZSk6RGgodC5sZW5ndGgsZSl9c2V0KGUsdCxyKXtsZXQgaT1GZShlLDApO3JldHVybiBpLnNldEZ1bGxZZWFyKHIsMCw0KSxpLnNldEhvdXJzKDAsMCwwLDApLHNzKGkpfWluY29tcGF0aWJsZVRva2Vucz1bIkciLCJ5IiwiWSIsInUiLCJRIiwicSIsIk0iLCJMIiwidyIsImQiLCJEIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciBpWixEbnQ9ZigoKT0+e1BhKCk7cWEoKTtpWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIkV4dGVuZGVkWWVhclBhcnNlciIpfXByaW9yaXR5PTEzMDtwYXJzZShlLHQpe3JldHVybiB0PT09InUiP0RoKDQsZSk6RGgodC5sZW5ndGgsZSl9c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRGdWxsWWVhcihyLDAsMSksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIkciLCJ5IiwiWSIsIlIiLCJ3IiwiSSIsImkiLCJlIiwiYyIsInQiLCJUIl19fSk7dmFyIG9aLEFudD1mKCgpPT57UGEoKTtxYSgpO29aPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiUXVhcnRlclBhcnNlciIpfXByaW9yaXR5PTEyMDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiUSI6Y2FzZSJRUSI6cmV0dXJuIFl0KHQubGVuZ3RoLGUpO2Nhc2UiUW8iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoicXVhcnRlciJ9KTtjYXNlIlFRUSI6cmV0dXJuIHIucXVhcnRlcihlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIucXVhcnRlcihlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiUVFRUVEiOnJldHVybiByLnF1YXJ0ZXIoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiByLnF1YXJ0ZXIoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIucXVhcnRlcihlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIucXVhcnRlcihlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0xJiZ0PD00fXNldChlLHQscil7cmV0dXJuIGUuc2V0TW9udGgoKHItMSkqMywxKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJxIiwiTSIsIkwiLCJ3IiwiSSIsImQiLCJEIiwiaSIsImUiLCJjIiwidCIsIlQiXX19KTt2YXIgblosRW50PWYoKCk9PntQYSgpO3FhKCk7blo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJTdGFuZEFsb25lUXVhcnRlclBhcnNlciIpfXByaW9yaXR5PTEyMDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UicSI6Y2FzZSJxcSI6cmV0dXJuIFl0KHQubGVuZ3RoLGUpO2Nhc2UicW8iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoicXVhcnRlciJ9KTtjYXNlInFxcSI6cmV0dXJuIHIucXVhcnRlcihlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIucXVhcnRlcihlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pO2Nhc2UicXFxcXEiOnJldHVybiByLnF1YXJ0ZXIoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtkZWZhdWx0OnJldHVybiByLnF1YXJ0ZXIoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIucXVhcnRlcihlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIucXVhcnRlcihlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0xJiZ0PD00fXNldChlLHQscil7cmV0dXJuIGUuc2V0TW9udGgoKHItMSkqMywxKSxlLnNldEhvdXJzKDAsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJRIiwiTSIsIkwiLCJ3IiwiSSIsImQiLCJEIiwiaSIsImUiLCJjIiwidCIsIlQiXX19KTt2YXIgbFosUG50PWYoKCk9Pnt5aSgpO1BhKCk7cWEoKTtsWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIk1vbnRoUGFyc2VyIil9aW5jb21wYXRpYmxlVG9rZW5zPVsiWSIsIlIiLCJxIiwiUSIsIkwiLCJ3IiwiSSIsIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdO3ByaW9yaXR5PTExMDtwYXJzZShlLHQscil7bGV0IGk9cyhvPT5vLTEsInZhbHVlQ2FsbGJhY2siKTtzd2l0Y2godCl7Y2FzZSJNIjpyZXR1cm4gVWEoa2EoX2EubW9udGgsZSksaSk7Y2FzZSJNTSI6cmV0dXJuIFVhKFl0KDIsZSksaSk7Y2FzZSJNbyI6cmV0dXJuIFVhKHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJtb250aCJ9KSxpKTtjYXNlIk1NTSI6cmV0dXJuIHIubW9udGgoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLm1vbnRoKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJNTU1NTSI6cmV0dXJuIHIubW9udGgoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KTtkZWZhdWx0OnJldHVybiByLm1vbnRoKGUse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLm1vbnRoKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5tb250aChlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0wJiZ0PD0xMX1zZXQoZSx0LHIpe3JldHVybiBlLnNldE1vbnRoKHIsMSksZS5zZXRIb3VycygwLDAsMCwwKSxlfX19KTt2YXIgY1osSW50PWYoKCk9Pnt5aSgpO1BhKCk7cWEoKTtjWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIlN0YW5kQWxvbmVNb250aFBhcnNlciIpfXByaW9yaXR5PTExMDtwYXJzZShlLHQscil7bGV0IGk9cyhvPT5vLTEsInZhbHVlQ2FsbGJhY2siKTtzd2l0Y2godCl7Y2FzZSJMIjpyZXR1cm4gVWEoa2EoX2EubW9udGgsZSksaSk7Y2FzZSJMTCI6cmV0dXJuIFVhKFl0KDIsZSksaSk7Y2FzZSJMbyI6cmV0dXJuIFVhKHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJtb250aCJ9KSxpKTtjYXNlIkxMTCI6cmV0dXJuIHIubW9udGgoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxyLm1vbnRoKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJMTExMTCI6cmV0dXJuIHIubW9udGgoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoic3RhbmRhbG9uZSJ9KTtkZWZhdWx0OnJldHVybiByLm1vbnRoKGUse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxyLm1vbnRoKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8ci5tb250aChlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0wJiZ0PD0xMX1zZXQoZSx0LHIpe3JldHVybiBlLnNldE1vbnRoKHIsMSksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIlkiLCJSIiwicSIsIlEiLCJNIiwidyIsIkkiLCJEIiwiaSIsImUiLCJjIiwidCIsIlQiXX19KTtmdW5jdGlvbiBkWihhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbiksaT1MaChyLHQpLWU7cmV0dXJuIHIuc2V0RGF0ZShyLmdldERhdGUoKS1pKjcpLGtlKHIsdD8uaW4pfXZhciBBNXIsRzJlPWYoKCk9PntSSygpO0hlKCk7cyhkWiwic2V0V2VlayIpO0E1cj1kWn0pO3ZhciB1WixObnQ9ZigoKT0+e0cyZSgpO2ExKCk7eWkoKTtQYSgpO3FhKCk7dVo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJMb2NhbFdlZWtQYXJzZXIiKX1wcmlvcml0eT0xMDA7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlInciOnJldHVybiBrYShfYS53ZWVrLGUpO2Nhc2Uid28iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoid2VlayJ9KTtkZWZhdWx0OnJldHVybiBZdCh0Lmxlbmd0aCxlKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MSYmdDw9NTN9c2V0KGUsdCxyLGkpe3JldHVybiBlcihkWihlLHIsaSksaSl9aW5jb21wYXRpYmxlVG9rZW5zPVsieSIsIlIiLCJ1IiwicSIsIlEiLCJNIiwiTCIsIkkiLCJkIiwiRCIsImkiLCJ0IiwiVCJdfX0pO2Z1bmN0aW9uIHBaKGEsZSx0KXtsZXQgcj1rZShhLHQ/LmluKSxpPVRoKHIsdCktZTtyZXR1cm4gci5zZXREYXRlKHIuZ2V0RGF0ZSgpLWkqNykscn12YXIgajVyLFkyZT1mKCgpPT57SUsoKTtIZSgpO3MocFosInNldElTT1dlZWsiKTtqNXI9cFp9KTt2YXIgZlosUm50PWYoKCk9PntZMmUoKTtiMigpO3lpKCk7UGEoKTtxYSgpO2ZaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiSVNPV2Vla1BhcnNlciIpfXByaW9yaXR5PTEwMDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiSSI6cmV0dXJuIGthKF9hLndlZWssZSk7Y2FzZSJJbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJ3ZWVrIn0pO2RlZmF1bHQ6cmV0dXJuIFl0KHQubGVuZ3RoLGUpfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0xJiZ0PD01M31zZXQoZSx0LHIpe3JldHVybiBzcyhwWihlLHIpKX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ5IiwiWSIsInUiLCJxIiwiUSIsIk0iLCJMIiwidyIsImQiLCJEIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciByZ2Esc2dhLGhaLE9udD1mKCgpPT57eWkoKTtQYSgpO3FhKCk7cmdhPVszMSwyOCwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0sc2dhPVszMSwyOSwzMSwzMCwzMSwzMCwzMSwzMSwzMCwzMSwzMCwzMV0saFo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJEYXRlUGFyc2VyIil9cHJpb3JpdHk9OTA7c3ViUHJpb3JpdHk9MTtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiZCI6cmV0dXJuIGthKF9hLmRhdGUsZSk7Y2FzZSJkbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJkYXRlIn0pO2RlZmF1bHQ6cmV0dXJuIFl0KHQubGVuZ3RoLGUpfX12YWxpZGF0ZShlLHQpe2xldCByPWUuZ2V0RnVsbFllYXIoKSxpPXRaKHIpLG89ZS5nZXRNb250aCgpO3JldHVybiBpP3Q+PTEmJnQ8PXNnYVtvXTp0Pj0xJiZ0PD1yZ2Fbb119c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXREYXRlKHIpLGUuc2V0SG91cnMoMCwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJZIiwiUiIsInEiLCJRIiwidyIsIkkiLCJEIiwiaSIsImUiLCJjIiwidCIsIlQiXX19KTt2YXIgbVosRm50PWYoKCk9Pnt5aSgpO1BhKCk7cWEoKTttWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIkRheU9mWWVhclBhcnNlciIpfXByaW9yaXR5PTkwO3N1YnByaW9yaXR5PTE7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlIkQiOmNhc2UiREQiOnJldHVybiBrYShfYS5kYXlPZlllYXIsZSk7Y2FzZSJEbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJkYXRlIn0pO2RlZmF1bHQ6cmV0dXJuIFl0KHQubGVuZ3RoLGUpfX12YWxpZGF0ZShlLHQpe2xldCByPWUuZ2V0RnVsbFllYXIoKTtyZXR1cm4gdFoocik/dD49MSYmdDw9MzY2OnQ+PTEmJnQ8PTM2NX1zZXQoZSx0LHIpe3JldHVybiBlLnNldE1vbnRoKDAsciksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIlkiLCJSIiwicSIsIlEiLCJNIiwiTCIsInciLCJJIiwiZCIsIkUiLCJpIiwiZSIsImMiLCJ0IiwiVCJdfX0pO2Z1bmN0aW9uIGcwKGEsZSx0KXtsZXQgcj1IYSgpLGk9dD8ud2Vla1N0YXJ0c09uPz90Py5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/ci53ZWVrU3RhcnRzT24/P3IubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsbz1rZShhLHQ/LmluKSxuPW8uZ2V0RGF5KCksZD0oZSU3KzcpJTcsYz03LWkscD1lPDB8fGU+Nj9lLShuK2MpJTc6KGQrYyklNy0obitjKSU3O3JldHVybiBTcyhvLHAsdCl9dmFyIGZocixNOT1mKCgpPT57YmkoKTtoMigpO0hlKCk7cyhnMCwic2V0RGF5Iik7ZmhyPWcwfSk7dmFyIGdaLEJudD1mKCgpPT57TTkoKTtQYSgpO2daPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiRGF5UGFyc2VyIil9cHJpb3JpdHk9OTA7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlIkUiOmNhc2UiRUUiOmNhc2UiRUVFIjpyZXR1cm4gci5kYXkoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJFRUVFRSI6cmV0dXJuIHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJFRUVFRUUiOnJldHVybiByLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXkoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0wJiZ0PD02fXNldChlLHQscixpKXtyZXR1cm4gZT1nMChlLHIsaSksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIkQiLCJpIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciBiWixIbnQ9ZigoKT0+e005KCk7UGEoKTtxYSgpO2JaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiTG9jYWxEYXlQYXJzZXIiKX1wcmlvcml0eT05MDtwYXJzZShlLHQscixpKXtsZXQgbz1zKG49PntsZXQgbD1NYXRoLmZsb29yKChuLTEpLzcpKjc7cmV0dXJuKG4raS53ZWVrU3RhcnRzT24rNiklNytsfSwidmFsdWVDYWxsYmFjayIpO3N3aXRjaCh0KXtjYXNlImUiOmNhc2UiZWUiOnJldHVybiBVYShZdCh0Lmxlbmd0aCxlKSxvKTtjYXNlImVvIjpyZXR1cm4gVWEoci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6ImRheSJ9KSxvKTtjYXNlImVlZSI6cmV0dXJuIHIuZGF5KGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiZWVlZWUiOnJldHVybiByLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2Nhc2UiZWVlZWVlIjpyZXR1cm4gci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pO2RlZmF1bHQ6cmV0dXJuIHIuZGF5KGUse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MCYmdDw9Nn1zZXQoZSx0LHIsaSl7cmV0dXJuIGU9ZzAoZSxyLGkpLGUuc2V0SG91cnMoMCwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ5IiwiUiIsInUiLCJxIiwiUSIsIk0iLCJMIiwiSSIsImQiLCJEIiwiRSIsImkiLCJjIiwidCIsIlQiXX19KTt2YXIgdloscW50PWYoKCk9PntNOSgpO1BhKCk7cWEoKTt2Wj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIlN0YW5kQWxvbmVMb2NhbERheVBhcnNlciIpfXByaW9yaXR5PTkwO3BhcnNlKGUsdCxyLGkpe2xldCBvPXMobj0+e2xldCBsPU1hdGguZmxvb3IoKG4tMSkvNykqNztyZXR1cm4obitpLndlZWtTdGFydHNPbis2KSU3K2x9LCJ2YWx1ZUNhbGxiYWNrIik7c3dpdGNoKHQpe2Nhc2UiYyI6Y2FzZSJjYyI6cmV0dXJuIFVhKFl0KHQubGVuZ3RoLGUpLG8pO2Nhc2UiY28iOnJldHVybiBVYShyLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoiZGF5In0pLG8pO2Nhc2UiY2NjIjpyZXR1cm4gci5kYXkoZSx7d2lkdGg6ImFiYnJldmlhdGVkIixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxyLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJjY2NjYyI6cmV0dXJuIHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7Y2FzZSJjY2NjY2MiOnJldHVybiByLmRheShlLHt3aWR0aDoic2hvcnQiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIuZGF5KGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6InN0YW5kYWxvbmUifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXkoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6InN0YW5kYWxvbmUifSl8fHIuZGF5KGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoic3RhbmRhbG9uZSJ9KXx8ci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJzdGFuZGFsb25lIn0pfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0wJiZ0PD02fXNldChlLHQscixpKXtyZXR1cm4gZT1nMChlLHIsaSksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bInkiLCJSIiwidSIsInEiLCJRIiwiTSIsIkwiLCJJIiwiZCIsIkQiLCJFIiwiaSIsImUiLCJ0IiwiVCJdfX0pO2Z1bmN0aW9uIHhaKGEsZSx0KXtsZXQgcj1rZShhLHQ/LmluKSxpPVdLKHIsdCksbz1lLWk7cmV0dXJuIFNzKHIsbyx0KX12YXIgRWhyLEsyZT1mKCgpPT57aDIoKTtWMmUoKTtIZSgpO3MoeFosInNldElTT0RheSIpO0Vocj14Wn0pO3ZhciB5WixWbnQ9ZigoKT0+e0syZSgpO1BhKCk7cWEoKTt5Wj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIklTT0RheVBhcnNlciIpfXByaW9yaXR5PTkwO3BhcnNlKGUsdCxyKXtsZXQgaT1zKG89Pm89PT0wPzc6bywidmFsdWVDYWxsYmFjayIpO3N3aXRjaCh0KXtjYXNlImkiOmNhc2UiaWkiOnJldHVybiBZdCh0Lmxlbmd0aCxlKTtjYXNlImlvIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6ImRheSJ9KTtjYXNlImlpaSI6cmV0dXJuIFVhKHIuZGF5KGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLGkpO2Nhc2UiaWlpaWkiOnJldHVybiBVYShyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLGkpO2Nhc2UiaWlpaWlpIjpyZXR1cm4gVWEoci5kYXkoZSx7d2lkdGg6InNob3J0Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoibmFycm93Iixjb250ZXh0OiJmb3JtYXR0aW5nIn0pLGkpO2RlZmF1bHQ6cmV0dXJuIFVhKHIuZGF5KGUse3dpZHRoOiJ3aWRlIixjb250ZXh0OiJmb3JtYXR0aW5nIn0pfHxyLmRheShlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5KGUse3dpZHRoOiJzaG9ydCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXkoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KSxpKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MSYmdDw9N31zZXQoZSx0LHIpe3JldHVybiBlPXhaKGUsciksZS5zZXRIb3VycygwLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bInkiLCJZIiwidSIsInEiLCJRIiwiTSIsIkwiLCJ3IiwiZCIsIkQiLCJFIiwiZSIsImMiLCJ0IiwiVCJdfX0pO3ZhciB3WixqbnQ9ZigoKT0+e1BhKCk7cWEoKTt3Wj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIkFNUE1QYXJzZXIiKX1wcmlvcml0eT04MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiYSI6Y2FzZSJhYSI6Y2FzZSJhYWEiOnJldHVybiByLmRheVBlcmlvZChlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJhYWFhYSI6cmV0dXJuIHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXlQZXJpb2QoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXlQZXJpb2QoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRIb3VycyhBaChyKSwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJiIiwiQiIsIkgiLCJrIiwidCIsIlQiXX19KTt2YXIgTVosVW50PWYoKCk9PntQYSgpO3FhKCk7TVo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJBTVBNTWlkbmlnaHRQYXJzZXIiKX1wcmlvcml0eT04MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiYiI6Y2FzZSJiYiI6Y2FzZSJiYmIiOnJldHVybiByLmRheVBlcmlvZChlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJiYmJiYiI6cmV0dXJuIHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXlQZXJpb2QoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXlQZXJpb2QoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRIb3VycyhBaChyKSwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJhIiwiQiIsIkgiLCJrIiwidCIsIlQiXX19KTt2YXIga1osV250PWYoKCk9PntQYSgpO3FhKCk7a1o9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJEYXlQZXJpb2RQYXJzZXIiKX1wcmlvcml0eT04MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiQiI6Y2FzZSJCQiI6Y2FzZSJCQkIiOnJldHVybiByLmRheVBlcmlvZChlLHt3aWR0aDoiYWJicmV2aWF0ZWQiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7Y2FzZSJCQkJCQiI6cmV0dXJuIHIuZGF5UGVyaW9kKGUse3dpZHRoOiJuYXJyb3ciLGNvbnRleHQ6ImZvcm1hdHRpbmcifSk7ZGVmYXVsdDpyZXR1cm4gci5kYXlQZXJpb2QoZSx7d2lkdGg6IndpZGUiLGNvbnRleHQ6ImZvcm1hdHRpbmcifSl8fHIuZGF5UGVyaW9kKGUse3dpZHRoOiJhYmJyZXZpYXRlZCIsY29udGV4dDoiZm9ybWF0dGluZyJ9KXx8ci5kYXlQZXJpb2QoZSx7d2lkdGg6Im5hcnJvdyIsY29udGV4dDoiZm9ybWF0dGluZyJ9KX19c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRIb3VycyhBaChyKSwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJhIiwiYiIsInQiLCJUIl19fSk7dmFyIFNaLEdudD1mKCgpPT57eWkoKTtQYSgpO3FhKCk7U1o9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJIb3VyMXRvMTJQYXJzZXIiKX1wcmlvcml0eT03MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiaCI6cmV0dXJuIGthKF9hLmhvdXIxMmgsZSk7Y2FzZSJobyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJob3VyIn0pO2RlZmF1bHQ6cmV0dXJuIFl0KHQubGVuZ3RoLGUpfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0xJiZ0PD0xMn1zZXQoZSx0LHIpe2xldCBpPWUuZ2V0SG91cnMoKT49MTI7cmV0dXJuIGkmJnI8MTI/ZS5zZXRIb3VycyhyKzEyLDAsMCwwKTohaSYmcj09PTEyP2Uuc2V0SG91cnMoMCwwLDAsMCk6ZS5zZXRIb3VycyhyLDAsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bIkgiLCJLIiwiayIsInQiLCJUIl19fSk7dmFyIHpaLFludD1mKCgpPT57eWkoKTtQYSgpO3FhKCk7elo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJIb3VyMHRvMjNQYXJzZXIiKX1wcmlvcml0eT03MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UiSCI6cmV0dXJuIGthKF9hLmhvdXIyM2gsZSk7Y2FzZSJIbyI6cmV0dXJuIHIub3JkaW5hbE51bWJlcihlLHt1bml0OiJob3VyIn0pO2RlZmF1bHQ6cmV0dXJuIFl0KHQubGVuZ3RoLGUpfX12YWxpZGF0ZShlLHQpe3JldHVybiB0Pj0wJiZ0PD0yM31zZXQoZSx0LHIpe3JldHVybiBlLnNldEhvdXJzKHIsMCwwLDApLGV9aW5jb21wYXRpYmxlVG9rZW5zPVsiYSIsImIiLCJoIiwiSyIsImsiLCJ0IiwiVCJdfX0pO3ZhciBDWixLbnQ9ZigoKT0+e3lpKCk7UGEoKTtxYSgpO0NaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiSG91cjBUbzExUGFyc2VyIil9cHJpb3JpdHk9NzA7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlIksiOnJldHVybiBrYShfYS5ob3VyMTFoLGUpO2Nhc2UiS28iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoiaG91ciJ9KTtkZWZhdWx0OnJldHVybiBZdCh0Lmxlbmd0aCxlKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MCYmdDw9MTF9c2V0KGUsdCxyKXtyZXR1cm4gZS5nZXRIb3VycygpPj0xMiYmcjwxMj9lLnNldEhvdXJzKHIrMTIsMCwwLDApOmUuc2V0SG91cnMociwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJoIiwiSCIsImsiLCJ0IiwiVCJdfX0pO3ZhciBfWixabnQ9ZigoKT0+e3lpKCk7UGEoKTtxYSgpO19aPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiSG91cjFUbzI0UGFyc2VyIil9cHJpb3JpdHk9NzA7cGFyc2UoZSx0LHIpe3N3aXRjaCh0KXtjYXNlImsiOnJldHVybiBrYShfYS5ob3VyMjRoLGUpO2Nhc2Uia28iOnJldHVybiByLm9yZGluYWxOdW1iZXIoZSx7dW5pdDoiaG91ciJ9KTtkZWZhdWx0OnJldHVybiBZdCh0Lmxlbmd0aCxlKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MSYmdDw9MjR9c2V0KGUsdCxyKXtsZXQgaT1yPD0yND9yJTI0OnI7cmV0dXJuIGUuc2V0SG91cnMoaSwwLDAsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJhIiwiYiIsImgiLCJIIiwiSyIsInQiLCJUIl19fSk7dmFyIFRaLFhudD1mKCgpPT57eWkoKTtQYSgpO3FhKCk7VFo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJNaW51dGVQYXJzZXIiKX1wcmlvcml0eT02MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UibSI6cmV0dXJuIGthKF9hLm1pbnV0ZSxlKTtjYXNlIm1vIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6Im1pbnV0ZSJ9KTtkZWZhdWx0OnJldHVybiBZdCh0Lmxlbmd0aCxlKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MCYmdDw9NTl9c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRNaW51dGVzKHIsMCwwKSxlfWluY29tcGF0aWJsZVRva2Vucz1bInQiLCJUIl19fSk7dmFyIExaLFFudD1mKCgpPT57eWkoKTtQYSgpO3FhKCk7TFo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJTZWNvbmRQYXJzZXIiKX1wcmlvcml0eT01MDtwYXJzZShlLHQscil7c3dpdGNoKHQpe2Nhc2UicyI6cmV0dXJuIGthKF9hLnNlY29uZCxlKTtjYXNlInNvIjpyZXR1cm4gci5vcmRpbmFsTnVtYmVyKGUse3VuaXQ6InNlY29uZCJ9KTtkZWZhdWx0OnJldHVybiBZdCh0Lmxlbmd0aCxlKX19dmFsaWRhdGUoZSx0KXtyZXR1cm4gdD49MCYmdDw9NTl9c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRTZWNvbmRzKHIsMCksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ0IiwiVCJdfX0pO3ZhciAkWixKbnQ9ZigoKT0+e1BhKCk7cWEoKTskWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIkZyYWN0aW9uT2ZTZWNvbmRQYXJzZXIiKX1wcmlvcml0eT0zMDtwYXJzZShlLHQpe2xldCByPXMoaT0+TWF0aC50cnVuYyhpKk1hdGgucG93KDEwLC10Lmxlbmd0aCszKSksInZhbHVlQ2FsbGJhY2siKTtyZXR1cm4gVWEoWXQodC5sZW5ndGgsZSkscil9c2V0KGUsdCxyKXtyZXR1cm4gZS5zZXRNaWxsaXNlY29uZHMociksZX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ0IiwiVCJdfX0pO3ZhciBEWixlMXQ9ZigoKT0+eyR0KCk7a2woKTt5aSgpO1BhKCk7cWEoKTtEWj1jbGFzcyBleHRlbmRzIGd0e3N0YXRpY3tzKHRoaXMsIklTT1RpbWV6b25lV2l0aFpQYXJzZXIiKX1wcmlvcml0eT0xMDtwYXJzZShlLHQpe3N3aXRjaCh0KXtjYXNlIlgiOnJldHVybiBnbihtbi5iYXNpY09wdGlvbmFsTWludXRlcyxlKTtjYXNlIlhYIjpyZXR1cm4gZ24obW4uYmFzaWMsZSk7Y2FzZSJYWFhYIjpyZXR1cm4gZ24obW4uYmFzaWNPcHRpb25hbFNlY29uZHMsZSk7Y2FzZSJYWFhYWCI6cmV0dXJuIGduKG1uLmV4dGVuZGVkT3B0aW9uYWxTZWNvbmRzLGUpO2RlZmF1bHQ6cmV0dXJuIGduKG1uLmV4dGVuZGVkLGUpfX1zZXQoZSx0LHIpe3JldHVybiB0LnRpbWVzdGFtcElzU2V0P2U6RmUoZSxlLmdldFRpbWUoKS1FcihlKS1yKX1pbmNvbXBhdGlibGVUb2tlbnM9WyJ0IiwiVCIsIngiXX19KTt2YXIgQVosdDF0PWYoKCk9PnskdCgpO2tsKCk7eWkoKTtQYSgpO3FhKCk7QVo9Y2xhc3MgZXh0ZW5kcyBndHtzdGF0aWN7cyh0aGlzLCJJU09UaW1lem9uZVBhcnNlciIpfXByaW9yaXR5PTEwO3BhcnNlKGUsdCl7c3dpdGNoKHQpe2Nhc2UieCI6cmV0dXJuIGduKG1uLmJhc2ljT3B0aW9uYWxNaW51dGVzLGUpO2Nhc2UieHgiOnJldHVybiBnbihtbi5iYXNpYyxlKTtjYXNlInh4eHgiOnJldHVybiBnbihtbi5iYXNpY09wdGlvbmFsU2Vjb25kcyxlKTtjYXNlInh4eHh4IjpyZXR1cm4gZ24obW4uZXh0ZW5kZWRPcHRpb25hbFNlY29uZHMsZSk7ZGVmYXVsdDpyZXR1cm4gZ24obW4uZXh0ZW5kZWQsZSl9fXNldChlLHQscil7cmV0dXJuIHQudGltZXN0YW1wSXNTZXQ/ZTpGZShlLGUuZ2V0VGltZSgpLUVyKGUpLXIpfWluY29tcGF0aWJsZVRva2Vucz1bInQiLCJUIiwiWCJdfX0pO3ZhciBFWixhMXQ9ZigoKT0+eyR0KCk7UGEoKTtxYSgpO0VaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiVGltZXN0YW1wU2Vjb25kc1BhcnNlciIpfXByaW9yaXR5PTQwO3BhcnNlKGUpe3JldHVybiBKSyhlKX1zZXQoZSx0LHIpe3JldHVybltGZShlLHIqMWUzKSx7dGltZXN0YW1wSXNTZXQ6ITB9XX1pbmNvbXBhdGlibGVUb2tlbnM9IioifX0pO3ZhciBQWixyMXQ9ZigoKT0+eyR0KCk7UGEoKTtxYSgpO1BaPWNsYXNzIGV4dGVuZHMgZ3R7c3RhdGlje3ModGhpcywiVGltZXN0YW1wTWlsbGlzZWNvbmRzUGFyc2VyIil9cHJpb3JpdHk9MjA7cGFyc2UoZSl7cmV0dXJuIEpLKGUpfXNldChlLHQscil7cmV0dXJuW0ZlKGUscikse3RpbWVzdGFtcElzU2V0OiEwfV19aW5jb21wYXRpYmxlVG9rZW5zPSIqIn19KTt2YXIgSVosczF0PWYoKCk9PntfbnQoKTtUbnQoKTtMbnQoKTskbnQoKTtEbnQoKTtBbnQoKTtFbnQoKTtQbnQoKTtJbnQoKTtObnQoKTtSbnQoKTtPbnQoKTtGbnQoKTtCbnQoKTtIbnQoKTtxbnQoKTtWbnQoKTtqbnQoKTtVbnQoKTtXbnQoKTtHbnQoKTtZbnQoKTtLbnQoKTtabnQoKTtYbnQoKTtRbnQoKTtKbnQoKTtlMXQoKTt0MXQoKTthMXQoKTtyMXQoKTtJWj17RzpuZXcgUUsseTpuZXcgYVosWTpuZXcgclosUjpuZXcgc1osdTpuZXcgaVosUTpuZXcgb1oscTpuZXcgblosTTpuZXcgbFosTDpuZXcgY1osdzpuZXcgdVosSTpuZXcgZlosZDpuZXcgaFosRDpuZXcgbVosRTpuZXcgZ1osZTpuZXcgYlosYzpuZXcgdlosaTpuZXcgeVosYTpuZXcgd1osYjpuZXcgTVosQjpuZXcga1osaDpuZXcgU1osSDpuZXcgelosSzpuZXcgQ1osazpuZXcgX1osbTpuZXcgVFosczpuZXcgTFosUzpuZXcgJFosWDpuZXcgRFoseDpuZXcgQVosdDpuZXcgRVosVDpuZXcgUFp9fSk7ZnVuY3Rpb24gTlooYSxlLHQscil7bGV0IGk9cygoKT0+RmUocj8uaW58fHQsTmFOKSwiaW52YWxpZERhdGUiKSxvPVVLKCksbj1yPy5sb2NhbGU/P28ubG9jYWxlPz95byxsPXI/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/cj8ubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/P28uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz9vLmxvY2FsZT8ub3B0aW9ucz8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz8xLGQ9cj8ud2Vla1N0YXJ0c09uPz9yPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/by53ZWVrU3RhcnRzT24/P28ubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzA7aWYoIWUpcmV0dXJuIGE/aSgpOmtlKHQscj8uaW4pO2xldCBjPXtmaXJzdFdlZWtDb250YWluc0RhdGU6bCx3ZWVrU3RhcnRzT246ZCxsb2NhbGU6bn0scD1bbmV3IFhLKHI/LmluLHQpXSx1PWUubWF0Y2gob2dhKS5tYXAoZz0+e2xldCB5PWdbMF07aWYoeSBpbiBoMCl7bGV0IGs9aDBbeV07cmV0dXJuIGsoZyxuLmZvcm1hdExvbmcpfXJldHVybiBnfSkuam9pbigiIikubWF0Y2goaWdhKSxtPVtdO2ZvcihsZXQgZyBvZiB1KXshcj8udXNlQWRkaXRpb25hbFdlZWtZZWFyVG9rZW5zJiZGSyhnKSYmeDkoZyxlLGEpLCFyPy51c2VBZGRpdGlvbmFsRGF5T2ZZZWFyVG9rZW5zJiZPSyhnKSYmeDkoZyxlLGEpO2xldCB5PWdbMF0saz1JWlt5XTtpZihrKXtsZXR7aW5jb21wYXRpYmxlVG9rZW5zOkN9PWs7aWYoQXJyYXkuaXNBcnJheShDKSl7bGV0IF89bS5maW5kKHo9PkMuaW5jbHVkZXMoei50b2tlbil8fHoudG9rZW49PT15KTtpZihfKXRocm93IG5ldyBSYW5nZUVycm9yKGBUaGUgZm9ybWF0IHN0cmluZyBtdXN0bid0IGNvbnRhaW4gXGAke18uZnVsbFRva2VufVxgIGFuZCBcYCR7Z31cYCBhdCB0aGUgc2FtZSB0aW1lYCl9ZWxzZSBpZihrLmluY29tcGF0aWJsZVRva2Vucz09PSIqIiYmbS5sZW5ndGg+MCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihgVGhlIGZvcm1hdCBzdHJpbmcgbXVzdG4ndCBjb250YWluIFxgJHtnfVxgIGFuZCBhbnkgb3RoZXIgdG9rZW4gYXQgdGhlIHNhbWUgdGltZWApO20ucHVzaCh7dG9rZW46eSxmdWxsVG9rZW46Z30pO2xldCBOPWsucnVuKGEsZyxuLm1hdGNoLGMpO2lmKCFOKXJldHVybiBpKCk7cC5wdXNoKE4uc2V0dGVyKSxhPU4ucmVzdH1lbHNle2lmKHkubWF0Y2goZGdhKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRm9ybWF0IHN0cmluZyBjb250YWlucyBhbiB1bmVzY2FwZWQgbGF0aW4gYWxwaGFiZXQgY2hhcmFjdGVyIGAiK3krImAiKTtpZihnPT09IicnIj9nPSInIjp5PT09IiciJiYoZz11Z2EoZykpLGEuaW5kZXhPZihnKT09PTApYT1hLnNsaWNlKGcubGVuZ3RoKTtlbHNlIHJldHVybiBpKCl9fWlmKGEubGVuZ3RoPjAmJmNnYS50ZXN0KGEpKXJldHVybiBpKCk7bGV0IHY9cC5tYXAoZz0+Zy5wcmlvcml0eSkuc29ydCgoZyx5KT0+eS1nKS5maWx0ZXIoKGcseSxrKT0+ay5pbmRleE9mKGcpPT09eSkubWFwKGc9PnAuZmlsdGVyKHk9PnkucHJpb3JpdHk9PT1nKS5zb3J0KCh5LGspPT5rLnN1YlByaW9yaXR5LXkuc3ViUHJpb3JpdHkpKS5tYXAoZz0+Z1swXSkseD1rZSh0LHI/LmluKTtpZihpc05hTigreCkpcmV0dXJuIGkoKTtsZXQgYj17fTtmb3IobGV0IGcgb2Ygdil7aWYoIWcudmFsaWRhdGUoeCxjKSlyZXR1cm4gaSgpO2xldCB5PWcuc2V0KHgsYixjKTtBcnJheS5pc0FycmF5KHkpPyh4PXlbMF0sT2JqZWN0LmFzc2lnbihiLHlbMV0pKTp4PXl9cmV0dXJuIHh9ZnVuY3Rpb24gdWdhKGEpe3JldHVybiBhLm1hdGNoKG5nYSlbMV0ucmVwbGFjZShsZ2EsIiciKX12YXIgaWdhLG9nYSxuZ2EsbGdhLGNnYSxkZ2EsVm1yLFoyZT1mKCgpPT57eTMoKTtQMmUoKTtJMmUoKTskdCgpO3EyZSgpO0hlKCk7VzJlKCk7czF0KCk7aWdhPS9beVlRcU1Md0lkRGVjaWhIS2ttc11vfChcdylcMSp8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2csb2dhPS9QK3ArfFArfHArfCcnfCcoJyd8W14nXSkrKCd8JCl8Li9nLG5nYT0vXicoW15dKj8pJz8kLyxsZ2E9LycnL2csY2dhPS9cUy8sZGdhPS9bYS16QS1aXS87cyhOWiwicGFyc2UiKTtzKHVnYSwiY2xlYW5Fc2NhcGVkU3RyaW5nIik7Vm1yPU5afSk7ZnVuY3Rpb24gaTF0KGEsZSx0KXtyZXR1cm4gWnMoTlooYSxlLG5ldyBEYXRlLHQpKX12YXIgWW1yLG8xdD1mKCgpPT57emwoKTtaMmUoKTtzKGkxdCwiaXNNYXRjaCIpO1ltcj1pMXR9KTtmdW5jdGlvbiBuMXQoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0RGF5KCk9PT0xfXZhciBRbXIsbDF0PWYoKCk9PntIZSgpO3MobjF0LCJpc01vbmRheSIpO1Ftcj1uMXR9KTtmdW5jdGlvbiBjMXQoYSl7cmV0dXJuK2tlKGEpPERhdGUubm93KCl9dmFyIGE3cixkMXQ9ZigoKT0+e0hlKCk7cyhjMXQsImlzUGFzdCIpO2E3cj1jMXR9KTtmdW5jdGlvbiBrOShhLGUpe2xldCB0PWtlKGEsZT8uaW4pO3JldHVybiB0LnNldE1pbnV0ZXMoMCwwLDApLHR9dmFyIG83cixYMmU9ZigoKT0+e0hlKCk7cyhrOSwic3RhcnRPZkhvdXIiKTtvN3I9azl9KTtmdW5jdGlvbiBSWihhLGUsdCl7bGV0W3IsaV09X3QodD8uaW4sYSxlKTtyZXR1cm4razkocik9PStrOShpKX12YXIgdTdyLFEyZT1mKCgpPT57amEoKTtYMmUoKTtzKFJaLCJpc1NhbWVIb3VyIik7dTdyPVJafSk7ZnVuY3Rpb24gRWgoYSxlLHQpe2xldFtyLGldPV90KHQ/LmluLGEsZSk7cmV0dXJuK2VyKHIsdCk9PStlcihpLHQpfXZhciBnN3IsT1o9ZigoKT0+e2phKCk7YTEoKTtzKEVoLCJpc1NhbWVXZWVrIik7ZzdyPUVofSk7ZnVuY3Rpb24gRlooYSxlLHQpe3JldHVybiBFaChhLGUsey4uLnQsd2Vla1N0YXJ0c09uOjF9KX12YXIgeTdyLEoyZT1mKCgpPT57T1ooKTtzKEZaLCJpc1NhbWVJU09XZWVrIik7eTdyPUZafSk7ZnVuY3Rpb24gdTF0KGEsZSx0KXtsZXRbcixpXT1fdCh0Py5pbixhLGUpO3JldHVybitCbyhyKT09K0JvKGkpfXZhciB6N3IscDF0PWYoKCk9PnttaCgpO2phKCk7cyh1MXQsImlzU2FtZUlTT1dlZWtZZWFyIik7ejdyPXUxdH0pO2Z1bmN0aW9uIFM5KGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7cmV0dXJuIHQuc2V0U2Vjb25kcygwLDApLHR9dmFyIEw3cixlbGU9ZigoKT0+e0hlKCk7cyhTOSwic3RhcnRPZk1pbnV0ZSIpO0w3cj1TOX0pO2Z1bmN0aW9uIEJaKGEsZSl7cmV0dXJuK1M5KGEpPT0rUzkoZSl9dmFyIEU3cix0bGU9ZigoKT0+e2VsZSgpO3MoQlosImlzU2FtZU1pbnV0ZSIpO0U3cj1CWn0pO2Z1bmN0aW9uIEhaKGEsZSx0KXtsZXRbcixpXT1fdCh0Py5pbixhLGUpO3JldHVybiByLmdldEZ1bGxZZWFyKCk9PT1pLmdldEZ1bGxZZWFyKCkmJnIuZ2V0TW9udGgoKT09PWkuZ2V0TW9udGgoKX12YXIgUjdyLGFsZT1mKCgpPT57amEoKTtzKEhaLCJpc1NhbWVNb250aCIpO1I3cj1IWn0pO2Z1bmN0aW9uIHFaKGEsZSx0KXtsZXRbcixpXT1fdCh0Py5pbixhLGUpO3JldHVybitNMihyKT09K00yKGkpfXZhciBxN3IscmxlPWYoKCk9PntqYSgpO1RLKCk7cyhxWiwiaXNTYW1lUXVhcnRlciIpO3E3cj1xWn0pO2Z1bmN0aW9uIHo5KGEsZSl7bGV0IHQ9a2UoYSxlPy5pbik7cmV0dXJuIHQuc2V0TWlsbGlzZWNvbmRzKDApLHR9dmFyIFc3cixzbGU9ZigoKT0+e0hlKCk7cyh6OSwic3RhcnRPZlNlY29uZCIpO1c3cj16OX0pO2Z1bmN0aW9uIFZaKGEsZSl7cmV0dXJuK3o5KGEpPT0rejkoZSl9dmFyIFo3cixpbGU9ZigoKT0+e3NsZSgpO3MoVlosImlzU2FtZVNlY29uZCIpO1o3cj1WWn0pO2Z1bmN0aW9uIGpaKGEsZSx0KXtsZXRbcixpXT1fdCh0Py5pbixhLGUpO3JldHVybiByLmdldEZ1bGxZZWFyKCk9PT1pLmdldEZ1bGxZZWFyKCl9dmFyIGU5cixvbGU9ZigoKT0+e2phKCk7cyhqWiwiaXNTYW1lWWVhciIpO2U5cj1qWn0pO2Z1bmN0aW9uIGYxdChhLGUpe3JldHVybiBSWihrZShhLGU/LmluKSxjYShlPy5pbnx8YSkpfXZhciBvOXIsaDF0PWYoKCk9Pnt6cygpO1EyZSgpO0hlKCk7cyhmMXQsImlzVGhpc0hvdXIiKTtvOXI9ZjF0fSk7ZnVuY3Rpb24gbTF0KGEsZSl7cmV0dXJuIEZaKEZlKGU/LmlufHxhLGEpLGNhKGU/LmlufHxhKSl9dmFyIHA5cixnMXQ9ZigoKT0+eyR0KCk7enMoKTtKMmUoKTtzKG0xdCwiaXNUaGlzSVNPV2VlayIpO3A5cj1tMXR9KTtmdW5jdGlvbiBiMXQoYSl7cmV0dXJuIEJaKGEsY2EoYSkpfXZhciBiOXIsdjF0PWYoKCk9Pnt6cygpO3RsZSgpO3MoYjF0LCJpc1RoaXNNaW51dGUiKTtiOXI9YjF0fSk7ZnVuY3Rpb24geDF0KGEsZSl7cmV0dXJuIEhaKEZlKGU/LmlufHxhLGEpLGNhKGU/LmlufHxhKSl9dmFyIGs5cix5MXQ9ZigoKT0+eyR0KCk7enMoKTthbGUoKTtzKHgxdCwiaXNUaGlzTW9udGgiKTtrOXI9eDF0fSk7ZnVuY3Rpb24gdzF0KGEsZSl7cmV0dXJuIHFaKEZlKGU/LmlufHxhLGEpLGNhKGU/LmlufHxhKSl9dmFyIEw5cixNMXQ9ZigoKT0+eyR0KCk7enMoKTtybGUoKTtzKHcxdCwiaXNUaGlzUXVhcnRlciIpO0w5cj13MXR9KTtmdW5jdGlvbiBrMXQoYSl7cmV0dXJuIFZaKGEsY2EoYSkpfXZhciBQOXIsUzF0PWYoKCk9Pnt6cygpO2lsZSgpO3MoazF0LCJpc1RoaXNTZWNvbmQiKTtQOXI9azF0fSk7ZnVuY3Rpb24gejF0KGEsZSl7cmV0dXJuIEVoKEZlKGU/LmlufHxhLGEpLGNhKGU/LmlufHxhKSxlKX12YXIgQjlyLEMxdD1mKCgpPT57JHQoKTt6cygpO09aKCk7cyh6MXQsImlzVGhpc1dlZWsiKTtCOXI9ejF0fSk7ZnVuY3Rpb24gXzF0KGEsZSl7cmV0dXJuIGpaKEZlKGU/LmlufHxhLGEpLGNhKGU/LmlufHxhKSl9dmFyIFc5cixUMXQ9ZigoKT0+eyR0KCk7enMoKTtvbGUoKTtzKF8xdCwiaXNUaGlzWWVhciIpO1c5cj1fMXR9KTtmdW5jdGlvbiBMMXQoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0RGF5KCk9PT00fXZhciBaOXIsJDF0PWYoKCk9PntIZSgpO3MoTDF0LCJpc1RodXJzZGF5Iik7WjlyPUwxdH0pO2Z1bmN0aW9uIEQxdChhLGUpe3JldHVybiB4MihGZShlPy5pbnx8YSxhKSxjYShlPy5pbnx8YSkpfXZhciBhZ3IsQTF0PWYoKCk9PnskdCgpO3pzKCk7dmgoKTtzKEQxdCwiaXNUb2RheSIpO2Fncj1EMXR9KTtmdW5jdGlvbiBFMXQoYSxlKXtyZXR1cm4geDIoYSxTcyhjYShlPy5pbnx8YSksMSksZSl9dmFyIGxncixQMXQ9ZigoKT0+e2gyKCk7enMoKTt2aCgpO3MoRTF0LCJpc1RvbW9ycm93Iik7bGdyPUUxdH0pO2Z1bmN0aW9uIEkxdChhLGUpe3JldHVybiBrZShhLGU/LmluKS5nZXREYXkoKT09PTJ9dmFyIHBncixOMXQ9ZigoKT0+e0hlKCk7cyhJMXQsImlzVHVlc2RheSIpO3Bncj1JMXR9KTtmdW5jdGlvbiBSMXQoYSxlKXtyZXR1cm4ga2UoYSxlPy5pbikuZ2V0RGF5KCk9PT0zfXZhciBnZ3IsTzF0PWYoKCk9PntIZSgpO3MoUjF0LCJpc1dlZG5lc2RheSIpO2dncj1SMXR9KTtmdW5jdGlvbiBGMXQoYSxlLHQpe2xldCByPStrZShhLHQ/LmluKSxbaSxvXT1bK2tlKGUuc3RhcnQsdD8uaW4pLCtrZShlLmVuZCx0Py5pbildLnNvcnQoKG4sbCk9Pm4tbCk7cmV0dXJuIHI+PWkmJnI8PW99dmFyIHlncixCMXQ9ZigoKT0+e0hlKCk7cyhGMXQsImlzV2l0aGluSW50ZXJ2YWwiKTt5Z3I9RjF0fSk7ZnVuY3Rpb24gYjAoYSxlLHQpe3JldHVybiBTcyhhLC1lLHQpfXZhciBTZ3IsQzk9ZigoKT0+e2gyKCk7cyhiMCwic3ViRGF5cyIpO1Nncj1iMH0pO2Z1bmN0aW9uIEgxdChhLGUpe3JldHVybiB4MihGZShlPy5pbnx8YSxhKSxiMChjYShlPy5pbnx8YSksMSkpfXZhciBEZ3IscTF0PWYoKCk9PnskdCgpO3pzKCk7dmgoKTtDOSgpO3MoSDF0LCJpc1llc3RlcmRheSIpO0Rncj1IMXR9KTtmdW5jdGlvbiBWMXQoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0RnVsbFllYXIoKSxpPTkrTWF0aC5mbG9vcihyLzEwKSoxMDtyZXR1cm4gdC5zZXRGdWxsWWVhcihpKzEsMCwwKSx0LnNldEhvdXJzKDAsMCwwLDApLGtlKHQsZT8uaW4pfXZhciBJZ3IsajF0PWYoKCk9PntIZSgpO3MoVjF0LCJsYXN0RGF5T2ZEZWNhZGUiKTtJZ3I9VjF0fSk7ZnVuY3Rpb24gVVooYSxlKXtsZXQgdD1IYSgpLHI9ZT8ud2Vla1N0YXJ0c09uPz9lPy5sb2NhbGU/Lm9wdGlvbnM/LndlZWtTdGFydHNPbj8/dC53ZWVrU3RhcnRzT24/P3QubG9jYWxlPy5vcHRpb25zPy53ZWVrU3RhcnRzT24/PzAsaT1rZShhLGU/LmluKSxvPWkuZ2V0RGF5KCksbj0obzxyPy03OjApKzYtKG8tcik7cmV0dXJuIGkuc2V0SG91cnMoMCwwLDAsMCksaS5zZXREYXRlKGkuZ2V0RGF0ZSgpK24pLGl9dmFyIEJncixubGU9ZigoKT0+e2JpKCk7SGUoKTtzKFVaLCJsYXN0RGF5T2ZXZWVrIik7QmdyPVVafSk7ZnVuY3Rpb24gVTF0KGEsZSl7cmV0dXJuIFVaKGEsey4uLmUsd2Vla1N0YXJ0c09uOjF9KX12YXIgamdyLFcxdD1mKCgpPT57bmxlKCk7cyhVMXQsImxhc3REYXlPZklTT1dlZWsiKTtqZ3I9VTF0fSk7ZnVuY3Rpb24gRzF0KGEsZSl7bGV0IHQ9SGkoYSxlKSxyPUZlKGU/LmlufHxhLDApO3Iuc2V0RnVsbFllYXIodCsxLDAsNCksci5zZXRIb3VycygwLDAsMCwwKTtsZXQgaT1zcyhyLGUpO3JldHVybiBpLnNldERhdGUoaS5nZXREYXRlKCktMSksaX12YXIgWmdyLFkxdD1mKCgpPT57JHQoKTtsMCgpO2IyKCk7cyhHMXQsImxhc3REYXlPZklTT1dlZWtZZWFyIik7WmdyPUcxdH0pO2Z1bmN0aW9uIEsxdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pLHI9dC5nZXRNb250aCgpLGk9ci1yJTMrMztyZXR1cm4gdC5zZXRNb250aChpLDApLHQuc2V0SG91cnMoMCwwLDAsMCksdH12YXIgZWJyLFoxdD1mKCgpPT57SGUoKTtzKEsxdCwibGFzdERheU9mUXVhcnRlciIpO2Vicj1LMXR9KTtmdW5jdGlvbiBYMXQoYSxlKXtsZXQgdD1rZShhLGU/LmluKSxyPXQuZ2V0RnVsbFllYXIoKTtyZXR1cm4gdC5zZXRGdWxsWWVhcihyKzEsMCwwKSx0LnNldEhvdXJzKDAsMCwwLDApLHR9dmFyIHNicixRMXQ9ZigoKT0+e0hlKCk7cyhYMXQsImxhc3REYXlPZlllYXIiKTtzYnI9WDF0fSk7ZnVuY3Rpb24gSjF0KGEsZSl7bGV0IHQ9a2UoYSk7aWYoIVpzKHQpKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIHRpbWUgdmFsdWUiKTtsZXQgcj1lLm1hdGNoKHBnYSk7cmV0dXJuIHI/ci5tYXAobz0+e2lmKG89PT0iJyciKXJldHVybiInIjtsZXQgbj1vWzBdO2lmKG49PT0iJyIpcmV0dXJuIGdnYShvKTtsZXQgbD1Ib1tuXTtpZihsKXJldHVybiBsKHQsbyk7aWYobi5tYXRjaChtZ2EpKXRocm93IG5ldyBSYW5nZUVycm9yKCJGb3JtYXQgc3RyaW5nIGNvbnRhaW5zIGFuIHVuZXNjYXBlZCBsYXRpbiBhbHBoYWJldCBjaGFyYWN0ZXIgYCIrbisiYCIpO3JldHVybiBvfSkuam9pbigiIik6IiJ9ZnVuY3Rpb24gZ2dhKGEpe2xldCBlPWEubWF0Y2goZmdhKTtyZXR1cm4gZT9lWzFdLnJlcGxhY2UoaGdhLCInIik6YX12YXIgcGdhLGZnYSxoZ2EsbWdhLGRicixlMnQ9ZigoKT0+e0UyZSgpO3psKCk7SGUoKTtwZ2E9LyhcdylcMSp8Jyd8JygnJ3xbXiddKSsoJ3wkKXwuL2csZmdhPS9eJyhbXl0qPyknPyQvLGhnYT0vJycvZyxtZ2E9L1thLXpBLVpdLztzKEoxdCwibGlnaHRGb3JtYXQiKTtzKGdnYSwiY2xlYW5Fc2NhcGVkU3RyaW5nIik7ZGJyPUoxdH0pO2Z1bmN0aW9uIHQydCh7eWVhcnM6YSxtb250aHM6ZSx3ZWVrczp0LGRheXM6cixob3VyczppLG1pbnV0ZXM6byxzZWNvbmRzOm59KXtsZXQgbD0wO2EmJihsKz1hKjM2NS4yNDI1KSxlJiYobCs9ZSooMzY1LjI0MjUvMTIpKSx0JiYobCs9dCo3KSxyJiYobCs9cik7bGV0IGQ9bCoyNCo2MCo2MDtyZXR1cm4gaSYmKGQrPWkqNjAqNjApLG8mJihkKz1vKjYwKSxuJiYoZCs9biksTWF0aC50cnVuYyhkKjFlMyl9dmFyIGhicixhMnQ9ZigoKT0+e1F0KCk7cyh0MnQsIm1pbGxpc2Vjb25kcyIpO2hicj10MnR9KTtmdW5jdGlvbiByMnQoYSl7bGV0IGU9YS9GbztyZXR1cm4gTWF0aC50cnVuYyhlKX12YXIgdmJyLHMydD1mKCgpPT57UXQoKTtzKHIydCwibWlsbGlzZWNvbmRzVG9Ib3VycyIpO3Zicj1yMnR9KTtmdW5jdGlvbiBpMnQoYSl7bGV0IGU9YS9naTtyZXR1cm4gTWF0aC50cnVuYyhlKX12YXIgTWJyLG8ydD1mKCgpPT57UXQoKTtzKGkydCwibWlsbGlzZWNvbmRzVG9NaW51dGVzIik7TWJyPWkydH0pO2Z1bmN0aW9uIG4ydChhKXtsZXQgZT1hL3VoO3JldHVybiBNYXRoLnRydW5jKGUpfXZhciBDYnIsbDJ0PWYoKCk9PntRdCgpO3MobjJ0LCJtaWxsaXNlY29uZHNUb1NlY29uZHMiKTtDYnI9bjJ0fSk7ZnVuY3Rpb24gYzJ0KGEpe2xldCBlPWEvWlk7cmV0dXJuIE1hdGgudHJ1bmMoZSl9dmFyICRicixkMnQ9ZigoKT0+e1F0KCk7cyhjMnQsIm1pbnV0ZXNUb0hvdXJzIik7JGJyPWMydH0pO2Z1bmN0aW9uIHUydChhKXtyZXR1cm4gTWF0aC50cnVuYyhhKmdpKX12YXIgUGJyLHAydD1mKCgpPT57UXQoKTtzKHUydCwibWludXRlc1RvTWlsbGlzZWNvbmRzIik7UGJyPXUydH0pO2Z1bmN0aW9uIGYydChhKXtyZXR1cm4gTWF0aC50cnVuYyhhKmZoKX12YXIgT2JyLGgydD1mKCgpPT57UXQoKTtzKGYydCwibWludXRlc1RvU2Vjb25kcyIpO09icj1mMnR9KTtmdW5jdGlvbiBtMnQoYSl7bGV0IGU9YS9YWTtyZXR1cm4gTWF0aC50cnVuYyhlKX12YXIgcWJyLGcydD1mKCgpPT57UXQoKTtzKG0ydCwibW9udGhzVG9RdWFydGVycyIpO3Ficj1tMnR9KTtmdW5jdGlvbiBiMnQoYSl7bGV0IGU9YS9RWTtyZXR1cm4gTWF0aC50cnVuYyhlKX12YXIgV2JyLHYydD1mKCgpPT57UXQoKTtzKGIydCwibW9udGhzVG9ZZWFycyIpO1dicj1iMnR9KTtmdW5jdGlvbiB3aShhLGUsdCl7bGV0IHI9ZS1tMChhLHQpO3JldHVybiByPD0wJiYocis9NyksU3MoYSxyLHQpfXZhciBYYnIsX2w9ZigoKT0+e2gyKCk7dzkoKTtzKHdpLCJuZXh0RGF5Iik7WGJyPXdpfSk7ZnVuY3Rpb24geDJ0KGEsZSl7cmV0dXJuIHdpKGEsNSxlKX12YXIgdHZyLHkydD1mKCgpPT57X2woKTtzKHgydCwibmV4dEZyaWRheSIpO3R2cj14MnR9KTtmdW5jdGlvbiB3MnQoYSxlKXtyZXR1cm4gd2koYSwxLGUpfXZhciBpdnIsTTJ0PWYoKCk9PntfbCgpO3ModzJ0LCJuZXh0TW9uZGF5Iik7aXZyPXcydH0pO2Z1bmN0aW9uIGsydChhLGUpe3JldHVybiB3aShhLDYsZSl9dmFyIGN2cixTMnQ9ZigoKT0+e19sKCk7cyhrMnQsIm5leHRTYXR1cmRheSIpO2N2cj1rMnR9KTtmdW5jdGlvbiB6MnQoYSxlKXtyZXR1cm4gd2koYSwwLGUpfXZhciBmdnIsQzJ0PWYoKCk9PntfbCgpO3MoejJ0LCJuZXh0U3VuZGF5Iik7ZnZyPXoydH0pO2Z1bmN0aW9uIF8ydChhLGUpe3JldHVybiB3aShhLDQsZSl9dmFyIGJ2cixUMnQ9ZigoKT0+e19sKCk7cyhfMnQsIm5leHRUaHVyc2RheSIpO2J2cj1fMnR9KTtmdW5jdGlvbiBMMnQoYSxlKXtyZXR1cm4gd2koYSwyLGUpfXZhciB3dnIsJDJ0PWYoKCk9PntfbCgpO3MoTDJ0LCJuZXh0VHVlc2RheSIpO3d2cj1MMnR9KTtmdW5jdGlvbiBEMnQoYSxlKXtyZXR1cm4gd2koYSwzLGUpfXZhciB6dnIsQTJ0PWYoKCk9PntfbCgpO3MoRDJ0LCJuZXh0V2VkbmVzZGF5Iik7enZyPUQydH0pO2Z1bmN0aW9uIFAydChhLGUpe2xldCB0PXMoKCk9PkZlKGU/LmluLE5hTiksImludmFsaWREYXRlIikscj1lPy5hZGRpdGlvbmFsRGlnaXRzPz8yLGk9eWdhKGEpLG87aWYoaS5kYXRlKXtsZXQgYz13Z2EoaS5kYXRlLHIpO289TWdhKGMucmVzdERhdGVTdHJpbmcsYy55ZWFyKX1pZighb3x8aXNOYU4oK28pKXJldHVybiB0KCk7bGV0IG49K28sbD0wLGQ7aWYoaS50aW1lJiYobD1rZ2EoaS50aW1lKSxpc05hTihsKSkpcmV0dXJuIHQoKTtpZihpLnRpbWV6b25lKXtpZihkPVNnYShpLnRpbWV6b25lKSxpc05hTihkKSlyZXR1cm4gdCgpfWVsc2V7bGV0IGM9bmV3IERhdGUobitsKSxwPWtlKDAsZT8uaW4pO3JldHVybiBwLnNldEZ1bGxZZWFyKGMuZ2V0VVRDRnVsbFllYXIoKSxjLmdldFVUQ01vbnRoKCksYy5nZXRVVENEYXRlKCkpLHAuc2V0SG91cnMoYy5nZXRVVENIb3VycygpLGMuZ2V0VVRDTWludXRlcygpLGMuZ2V0VVRDU2Vjb25kcygpLGMuZ2V0VVRDTWlsbGlzZWNvbmRzKCkpLHB9cmV0dXJuIGtlKG4rbCtkLGU/LmluKX1mdW5jdGlvbiB5Z2EoYSl7bGV0IGU9e30sdD1hLnNwbGl0KFdaLmRhdGVUaW1lRGVsaW1pdGVyKSxyO2lmKHQubGVuZ3RoPjIpcmV0dXJuIGU7aWYoLzovLnRlc3QodFswXSk/cj10WzBdOihlLmRhdGU9dFswXSxyPXRbMV0sV1oudGltZVpvbmVEZWxpbWl0ZXIudGVzdChlLmRhdGUpJiYoZS5kYXRlPWEuc3BsaXQoV1oudGltZVpvbmVEZWxpbWl0ZXIpWzBdLHI9YS5zdWJzdHIoZS5kYXRlLmxlbmd0aCxhLmxlbmd0aCkpKSxyKXtsZXQgaT1XWi50aW1lem9uZS5leGVjKHIpO2k/KGUudGltZT1yLnJlcGxhY2UoaVsxXSwiIiksZS50aW1lem9uZT1pWzFdKTplLnRpbWU9cn1yZXR1cm4gZX1mdW5jdGlvbiB3Z2EoYSxlKXtsZXQgdD1uZXcgUmVnRXhwKCJeKD86KFxcZHs0fXxbKy1dXFxkeyIrKDQrZSkrIn0pfChcXGR7Mn18WystXVxcZHsiKygyK2UpKyJ9KSQpIikscj1hLm1hdGNoKHQpO2lmKCFyKXJldHVybnt5ZWFyOk5hTixyZXN0RGF0ZVN0cmluZzoiIn07bGV0IGk9clsxXT9wYXJzZUludChyWzFdKTpudWxsLG89clsyXT9wYXJzZUludChyWzJdKTpudWxsO3JldHVybnt5ZWFyOm89PT1udWxsP2k6byoxMDAscmVzdERhdGVTdHJpbmc6YS5zbGljZSgoclsxXXx8clsyXSkubGVuZ3RoKX19ZnVuY3Rpb24gTWdhKGEsZSl7aWYoZT09PW51bGwpcmV0dXJuIG5ldyBEYXRlKE5hTik7bGV0IHQ9YS5tYXRjaChiZ2EpO2lmKCF0KXJldHVybiBuZXcgRGF0ZShOYU4pO2xldCByPSEhdFs0XSxpPV85KHRbMV0pLG89XzkodFsyXSktMSxuPV85KHRbM10pLGw9XzkodFs0XSksZD1fOSh0WzVdKS0xO2lmKHIpcmV0dXJuIExnYShlLGwsZCk/emdhKGUsbCxkKTpuZXcgRGF0ZShOYU4pO3tsZXQgYz1uZXcgRGF0ZSgwKTtyZXR1cm4hX2dhKGUsbyxuKXx8IVRnYShlLGkpP25ldyBEYXRlKE5hTik6KGMuc2V0VVRDRnVsbFllYXIoZSxvLE1hdGgubWF4KGksbikpLGMpfX1mdW5jdGlvbiBfOShhKXtyZXR1cm4gYT9wYXJzZUludChhKToxfWZ1bmN0aW9uIGtnYShhKXtsZXQgZT1hLm1hdGNoKHZnYSk7aWYoIWUpcmV0dXJuIE5hTjtsZXQgdD1sbGUoZVsxXSkscj1sbGUoZVsyXSksaT1sbGUoZVszXSk7cmV0dXJuICRnYSh0LHIsaSk/dCpGbytyKmdpK2kqMWUzOk5hTn1mdW5jdGlvbiBsbGUoYSl7cmV0dXJuIGEmJnBhcnNlRmxvYXQoYS5yZXBsYWNlKCIsIiwiLiIpKXx8MH1mdW5jdGlvbiBTZ2EoYSl7aWYoYT09PSJaIilyZXR1cm4gMDtsZXQgZT1hLm1hdGNoKHhnYSk7aWYoIWUpcmV0dXJuIDA7bGV0IHQ9ZVsxXT09PSIrIj8tMToxLHI9cGFyc2VJbnQoZVsyXSksaT1lWzNdJiZwYXJzZUludChlWzNdKXx8MDtyZXR1cm4gRGdhKHIsaSk/dCoocipGbytpKmdpKTpOYU59ZnVuY3Rpb24gemdhKGEsZSx0KXtsZXQgcj1uZXcgRGF0ZSgwKTtyLnNldFVUQ0Z1bGxZZWFyKGEsMCw0KTtsZXQgaT1yLmdldFVUQ0RheSgpfHw3LG89KGUtMSkqNyt0KzEtaTtyZXR1cm4gci5zZXRVVENEYXRlKHIuZ2V0VVRDRGF0ZSgpK28pLHJ9ZnVuY3Rpb24gRTJ0KGEpe3JldHVybiBhJTQwMD09PTB8fGElND09PTAmJmElMTAwIT09MH1mdW5jdGlvbiBfZ2EoYSxlLHQpe3JldHVybiBlPj0wJiZlPD0xMSYmdD49MSYmdDw9KENnYVtlXXx8KEUydChhKT8yOToyOCkpfWZ1bmN0aW9uIFRnYShhLGUpe3JldHVybiBlPj0xJiZlPD0oRTJ0KGEpPzM2NjozNjUpfWZ1bmN0aW9uIExnYShhLGUsdCl7cmV0dXJuIGU+PTEmJmU8PTUzJiZ0Pj0wJiZ0PD02fWZ1bmN0aW9uICRnYShhLGUsdCl7cmV0dXJuIGE9PT0yND9lPT09MCYmdD09PTA6dD49MCYmdDw2MCYmZT49MCYmZTw2MCYmYT49MCYmYTwyNX1mdW5jdGlvbiBEZ2EoYSxlKXtyZXR1cm4gZT49MCYmZTw9NTl9dmFyIFdaLGJnYSx2Z2EseGdhLENnYSxEdnIsSTJ0PWYoKCk9PntRdCgpOyR0KCk7SGUoKTtzKFAydCwicGFyc2VJU08iKTtXWj17ZGF0ZVRpbWVEZWxpbWl0ZXI6L1tUIF0vLHRpbWVab25lRGVsaW1pdGVyOi9bWiBdL2ksdGltZXpvbmU6LyhbWistXS4qKSQvfSxiZ2E9L14tPyg/OihcZHszfSl8KFxkezJ9KSg/Oi0/KFxkezJ9KSk/fFcoXGR7Mn0pKD86LT8oXGR7MX0pKT98KSQvLHZnYT0vXihcZHsyfSg/OlsuLF1cZCopPykoPzo6PyhcZHsyfSg/OlsuLF1cZCopPykpPyg/Ojo/KFxkezJ9KD86Wy4sXVxkKik/KSk/JC8seGdhPS9eKFsrLV0pKFxkezJ9KSg/Ojo/KFxkezJ9KSk/JC87cyh5Z2EsInNwbGl0RGF0ZVN0cmluZyIpO3Mod2dhLCJwYXJzZVllYXIiKTtzKE1nYSwicGFyc2VEYXRlIik7cyhfOSwicGFyc2VEYXRlVW5pdCIpO3Moa2dhLCJwYXJzZVRpbWUiKTtzKGxsZSwicGFyc2VUaW1lVW5pdCIpO3MoU2dhLCJwYXJzZVRpbWV6b25lIik7cyh6Z2EsImRheU9mSVNPV2Vla1llYXIiKTtDZ2E9WzMxLG51bGwsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdO3MoRTJ0LCJpc0xlYXBZZWFySW5kZXgiKTtzKF9nYSwidmFsaWRhdGVEYXRlIik7cyhUZ2EsInZhbGlkYXRlRGF5T2ZZZWFyRGF0ZSIpO3MoTGdhLCJ2YWxpZGF0ZVdlZWtEYXRlIik7cygkZ2EsInZhbGlkYXRlVGltZSIpO3MoRGdhLCJ2YWxpZGF0ZVRpbWV6b25lIik7RHZyPVAydH0pO2Z1bmN0aW9uIE4ydChhLGUpe2xldCB0PWEubWF0Y2goLyhcZHs0fSktKFxkezJ9KS0oXGR7Mn0pW1QgXShcZHsyfSk6KFxkezJ9KTooXGR7Mn0pKD86XC4oXGR7MCw3fSkpPyg/Olp8KC4pKFxkezJ9KTo/KFxkezJ9KT8pPy8pO3JldHVybiB0P2tlKERhdGUuVVRDKCt0WzFdLCt0WzJdLTEsK3RbM10sK3RbNF0tKCt0WzldfHwwKSoodFs4XT09Ii0iPy0xOjEpLCt0WzVdLSgrdFsxMF18fDApKih0WzhdPT0iLSI/LTE6MSksK3RbNl0sKygodFs3XXx8IjAiKSsiMDAiKS5zdWJzdHJpbmcoMCwzKSksZT8uaW4pOmtlKE5hTixlPy5pbil9dmFyIEl2cixSMnQ9ZigoKT0+e0hlKCk7cyhOMnQsInBhcnNlSlNPTiIpO0l2cj1OMnR9KTtmdW5jdGlvbiBNaShhLGUsdCl7bGV0IHI9bTAoYSx0KS1lO3JldHVybiByPD0wJiYocis9NyksYjAoYSxyLHQpfXZhciBCdnIsVGw9ZigoKT0+e3c5KCk7QzkoKTtzKE1pLCJwcmV2aW91c0RheSIpO0J2cj1NaX0pO2Z1bmN0aW9uIE8ydChhLGUpe3JldHVybiBNaShhLDUsZSl9dmFyIGp2cixGMnQ9ZigoKT0+e1RsKCk7cyhPMnQsInByZXZpb3VzRnJpZGF5Iik7anZyPU8ydH0pO2Z1bmN0aW9uIEIydChhLGUpe3JldHVybiBNaShhLDEsZSl9dmFyIFl2cixIMnQ9ZigoKT0+e1RsKCk7cyhCMnQsInByZXZpb3VzTW9uZGF5Iik7WXZyPUIydH0pO2Z1bmN0aW9uIHEydChhLGUpe3JldHVybiBNaShhLDYsZSl9dmFyIFF2cixWMnQ9ZigoKT0+e1RsKCk7cyhxMnQsInByZXZpb3VzU2F0dXJkYXkiKTtRdnI9cTJ0fSk7ZnVuY3Rpb24gajJ0KGEsZSl7cmV0dXJuIE1pKGEsMCxlKX12YXIgYXhyLFUydD1mKCgpPT57VGwoKTtzKGoydCwicHJldmlvdXNTdW5kYXkiKTtheHI9ajJ0fSk7ZnVuY3Rpb24gVzJ0KGEsZSl7cmV0dXJuIE1pKGEsNCxlKX12YXIgb3hyLEcydD1mKCgpPT57VGwoKTtzKFcydCwicHJldmlvdXNUaHVyc2RheSIpO294cj1XMnR9KTtmdW5jdGlvbiBZMnQoYSxlKXtyZXR1cm4gTWkoYSwyLGUpfXZhciBkeHIsSzJ0PWYoKCk9PntUbCgpO3MoWTJ0LCJwcmV2aW91c1R1ZXNkYXkiKTtkeHI9WTJ0fSk7ZnVuY3Rpb24gWjJ0KGEsZSl7cmV0dXJuIE1pKGEsMyxlKX12YXIgaHhyLFgydD1mKCgpPT57VGwoKTtzKFoydCwicHJldmlvdXNXZWRuZXNkYXkiKTtoeHI9WjJ0fSk7ZnVuY3Rpb24gUTJ0KGEpe3JldHVybiBNYXRoLnRydW5jKGEqWFkpfXZhciB2eHIsSjJ0PWYoKCk9PntRdCgpO3MoUTJ0LCJxdWFydGVyc1RvTW9udGhzIik7dnhyPVEydH0pO2Z1bmN0aW9uIGVsdChhKXtsZXQgZT1hL0pZO3JldHVybiBNYXRoLnRydW5jKGUpfXZhciBNeHIsdGx0PWYoKCk9PntRdCgpO3MoZWx0LCJxdWFydGVyc1RvWWVhcnMiKTtNeHI9ZWx0fSk7ZnVuY3Rpb24gYWx0KGEsZSl7bGV0IHQ9ZT8ubmVhcmVzdFRvPz8xO2lmKHQ8MXx8dD4xMilyZXR1cm4gRmUoZT8uaW58fGEsTmFOKTtsZXQgcj1rZShhLGU/LmluKSxpPXIuZ2V0TWludXRlcygpLzYwLG89ci5nZXRTZWNvbmRzKCkvNjAvNjAsbj1yLmdldE1pbGxpc2Vjb25kcygpLzFlMy82MC82MCxsPXIuZ2V0SG91cnMoKStpK28rbixkPWU/LnJvdW5kaW5nTWV0aG9kPz8icm91bmQiLHA9eGkoZCkobC90KSp0O3JldHVybiByLnNldEhvdXJzKHAsMCwwLDApLHJ9dmFyIFR4cixybHQ9ZigoKT0+e0NsKCk7JHQoKTtIZSgpO3MoYWx0LCJyb3VuZFRvTmVhcmVzdEhvdXJzIik7VHhyPWFsdH0pO2Z1bmN0aW9uIHNsdChhLGUpe2xldCB0PWU/Lm5lYXJlc3RUbz8/MTtpZih0PDF8fHQ+MzApcmV0dXJuIEZlKGEsTmFOKTtsZXQgcj1rZShhLGU/LmluKSxpPXIuZ2V0U2Vjb25kcygpLzYwLG89ci5nZXRNaWxsaXNlY29uZHMoKS8xZTMvNjAsbj1yLmdldE1pbnV0ZXMoKStpK28sbD1lPy5yb3VuZGluZ01ldGhvZD8/InJvdW5kIixjPXhpKGwpKG4vdCkqdDtyZXR1cm4gci5zZXRNaW51dGVzKGMsMCwwKSxyfXZhciBQeHIsaWx0PWYoKCk9PntDbCgpOyR0KCk7SGUoKTtzKHNsdCwicm91bmRUb05lYXJlc3RNaW51dGVzIik7UHhyPXNsdH0pO2Z1bmN0aW9uIG9sdChhKXtsZXQgZT1hL2gzO3JldHVybiBNYXRoLnRydW5jKGUpfXZhciBPeHIsbmx0PWYoKCk9PntRdCgpO3Mob2x0LCJzZWNvbmRzVG9Ib3VycyIpO094cj1vbHR9KTtmdW5jdGlvbiBsbHQoYSl7cmV0dXJuIGEqdWh9dmFyIHF4cixjbHQ9ZigoKT0+e1F0KCk7cyhsbHQsInNlY29uZHNUb01pbGxpc2Vjb25kcyIpO3F4cj1sbHR9KTtmdW5jdGlvbiBkbHQoYSl7bGV0IGU9YS9maDtyZXR1cm4gTWF0aC50cnVuYyhlKX12YXIgV3hyLHVsdD1mKCgpPT57UXQoKTtzKGRsdCwic2Vjb25kc1RvTWludXRlcyIpO1d4cj1kbHR9KTtmdW5jdGlvbiBQaChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbiksaT1yLmdldEZ1bGxZZWFyKCksbz1yLmdldERhdGUoKSxuPUZlKHQ/LmlufHxhLDApO24uc2V0RnVsbFllYXIoaSxlLDE1KSxuLnNldEhvdXJzKDAsMCwwLDApO2xldCBsPVZLKG4pO3JldHVybiByLnNldE1vbnRoKGUsTWF0aC5taW4obyxsKSkscn12YXIgUXhyLEdaPWYoKCk9PnskdCgpO0IyZSgpO0hlKCk7cyhQaCwic2V0TW9udGgiKTtReHI9UGh9KTtmdW5jdGlvbiBwbHQoYSxlLHQpe2xldCByPWtlKGEsdD8uaW4pO3JldHVybiBpc05hTigrcik/RmUodD8uaW58fGEsTmFOKTooZS55ZWFyIT1udWxsJiZyLnNldEZ1bGxZZWFyKGUueWVhciksZS5tb250aCE9bnVsbCYmKHI9UGgocixlLm1vbnRoKSksZS5kYXRlIT1udWxsJiZyLnNldERhdGUoZS5kYXRlKSxlLmhvdXJzIT1udWxsJiZyLnNldEhvdXJzKGUuaG91cnMpLGUubWludXRlcyE9bnVsbCYmci5zZXRNaW51dGVzKGUubWludXRlcyksZS5zZWNvbmRzIT1udWxsJiZyLnNldFNlY29uZHMoZS5zZWNvbmRzKSxlLm1pbGxpc2Vjb25kcyE9bnVsbCYmci5zZXRNaWxsaXNlY29uZHMoZS5taWxsaXNlY29uZHMpLHIpfXZhciBzeXIsZmx0PWYoKCk9PnskdCgpO0daKCk7SGUoKTtzKHBsdCwic2V0Iik7c3lyPXBsdH0pO2Z1bmN0aW9uIGhsdChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbik7cmV0dXJuIHIuc2V0RGF0ZShlKSxyfXZhciBseXIsbWx0PWYoKCk9PntIZSgpO3MoaGx0LCJzZXREYXRlIik7bHlyPWhsdH0pO2Z1bmN0aW9uIGdsdChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbik7cmV0dXJuIHIuc2V0TW9udGgoMCksci5zZXREYXRlKGUpLHJ9dmFyIHB5cixibHQ9ZigoKT0+e0hlKCk7cyhnbHQsInNldERheU9mWWVhciIpO3B5cj1nbHR9KTtmdW5jdGlvbiB2bHQoYSl7bGV0IGU9e30sdD1IYSgpO2ZvcihsZXQgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpJiYoZVtyXT10W3JdKTtmb3IobGV0IHIgaW4gYSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxyKSYmKGFbcl09PT12b2lkIDA/ZGVsZXRlIGVbcl06ZVtyXT1hW3JdKTtQc3QoZSl9dmFyIGd5cix4bHQ9ZigoKT0+e2JpKCk7cyh2bHQsInNldERlZmF1bHRPcHRpb25zIik7Z3lyPXZsdH0pO2Z1bmN0aW9uIHlsdChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbik7cmV0dXJuIHIuc2V0SG91cnMoZSkscn12YXIgeXlyLHdsdD1mKCgpPT57SGUoKTtzKHlsdCwic2V0SG91cnMiKTt5eXI9eWx0fSk7ZnVuY3Rpb24gTWx0KGEsZSx0KXtsZXQgcj1rZShhLHQ/LmluKTtyZXR1cm4gci5zZXRNaWxsaXNlY29uZHMoZSkscn12YXIgU3lyLGtsdD1mKCgpPT57SGUoKTtzKE1sdCwic2V0TWlsbGlzZWNvbmRzIik7U3lyPU1sdH0pO2Z1bmN0aW9uIFNsdChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbik7cmV0dXJuIHIuc2V0TWludXRlcyhlKSxyfXZhciBUeXIsemx0PWYoKCk9PntIZSgpO3MoU2x0LCJzZXRNaW51dGVzIik7VHlyPVNsdH0pO2Z1bmN0aW9uIENsdChhLGUsdCl7bGV0IHI9a2UoYSx0Py5pbiksaT1NYXRoLnRydW5jKHIuZ2V0TW9udGgoKS8zKSsxLG89ZS1pO3JldHVybiBQaChyLHIuZ2V0TW9udGgoKStvKjMpfXZhciBFeXIsX2x0PWYoKCk9PntHWigpO0hlKCk7cyhDbHQsInNldFF1YXJ0ZXIiKTtFeXI9Q2x0fSk7ZnVuY3Rpb24gVGx0KGEsZSx0KXtsZXQgcj1rZShhLHQ/LmluKTtyZXR1cm4gci5zZXRTZWNvbmRzKGUpLHJ9dmFyIFJ5cixMbHQ9ZigoKT0+e0hlKCk7cyhUbHQsInNldFNlY29uZHMiKTtSeXI9VGx0fSk7ZnVuY3Rpb24gJGx0KGEsZSx0KXtsZXQgcj1IYSgpLGk9dD8uZmlyc3RXZWVrQ29udGFpbnNEYXRlPz90Py5sb2NhbGU/Lm9wdGlvbnM/LmZpcnN0V2Vla0NvbnRhaW5zRGF0ZT8/ci5maXJzdFdlZWtDb250YWluc0RhdGU/P3IubG9jYWxlPy5vcHRpb25zPy5maXJzdFdlZWtDb250YWluc0RhdGU/PzEsbz1GcyhrZShhLHQ/LmluKSx3MyhhLHQpLHQpLG49RmUodD8uaW58fGEsMCk7bi5zZXRGdWxsWWVhcihlLDAsaSksbi5zZXRIb3VycygwLDAsMCwwKTtsZXQgbD13MyhuLHQpO3JldHVybiBsLnNldERhdGUobC5nZXREYXRlKCkrbyksbH12YXIgVXlyLERsdD1mKCgpPT57YmkoKTskdCgpO1NsKCk7TksoKTtIZSgpO3MoJGx0LCJzZXRXZWVrWWVhciIpO1V5cj0kbHR9KTtmdW5jdGlvbiBBbHQoYSxlLHQpe2xldCByPWtlKGEsdD8uaW4pO3JldHVybiBpc05hTigrcik/RmUodD8uaW58fGEsTmFOKTooci5zZXRGdWxsWWVhcihlKSxyKX12YXIgWnlyLEVsdD1mKCgpPT57JHQoKTtIZSgpO3MoQWx0LCJzZXRZZWFyIik7WnlyPUFsdH0pO2Z1bmN0aW9uIFBsdChhLGUpe2xldCB0PWtlKGEsZT8uaW4pLHI9dC5nZXRGdWxsWWVhcigpLGk9TWF0aC5mbG9vcihyLzEwKSoxMDtyZXR1cm4gdC5zZXRGdWxsWWVhcihpLDAsMSksdC5zZXRIb3VycygwLDAsMCwwKSx0fXZhciBld3IsSWx0PWYoKCk9PntIZSgpO3MoUGx0LCJzdGFydE9mRGVjYWRlIik7ZXdyPVBsdH0pO2Z1bmN0aW9uIE5sdChhKXtyZXR1cm4gdjIoRGF0ZS5ub3coKSxhKX12YXIgc3dyLFJsdD1mKCgpPT57dTkoKTtzKE5sdCwic3RhcnRPZlRvZGF5Iik7c3dyPU5sdH0pO2Z1bmN0aW9uIE9sdChhKXtsZXQgZT1jYShhPy5pbiksdD1lLmdldEZ1bGxZZWFyKCkscj1lLmdldE1vbnRoKCksaT1lLmdldERhdGUoKSxvPUZlKGE/LmluLDApO3JldHVybiBvLnNldEZ1bGxZZWFyKHQscixpKzEpLG8uc2V0SG91cnMoMCwwLDAsMCksb312YXIgY3dyLEZsdD1mKCgpPT57JHQoKTt6cygpO3MoT2x0LCJzdGFydE9mVG9tb3Jyb3ciKTtjd3I9T2x0fSk7ZnVuY3Rpb24gQmx0KGEpe2xldCBlPWNhKGE/LmluKSx0PWUuZ2V0RnVsbFllYXIoKSxyPWUuZ2V0TW9udGgoKSxpPWUuZ2V0RGF0ZSgpLG89Y2EoYT8uaW4pO3JldHVybiBvLnNldEZ1bGxZZWFyKHQscixpLTEpLG8uc2V0SG91cnMoMCwwLDAsMCksb312YXIgZndyLEhsdD1mKCgpPT57enMoKTtzKEJsdCwic3RhcnRPZlllc3RlcmRheSIpO2Z3cj1CbHR9KTtmdW5jdGlvbiBZWihhLGUsdCl7cmV0dXJuIG0yKGEsLWUsdCl9dmFyIGJ3cixjbGU9ZigoKT0+e2hoKCk7cyhZWiwic3ViTW9udGhzIik7YndyPVlafSk7ZnVuY3Rpb24gcWx0KGEsZSx0KXtsZXR7eWVhcnM6cj0wLG1vbnRoczppPTAsd2Vla3M6bz0wLGRheXM6bj0wLGhvdXJzOmw9MCxtaW51dGVzOmQ9MCxzZWNvbmRzOmM9MH09ZSxwPVlaKGEsaStyKjEyLHQpLHU9YjAocCxuK28qNyx0KSxtPWQrbCo2MCx4PShjK20qNjApKjFlMztyZXR1cm4gRmUodD8uaW58fGEsK3UteCl9dmFyIGt3cixWbHQ9ZigoKT0+eyR0KCk7QzkoKTtjbGUoKTtzKHFsdCwic3ViIik7a3dyPXFsdH0pO2Z1bmN0aW9uIGpsdChhLGUsdCl7cmV0dXJuIGFLKGEsLWUsdCl9dmFyIF93cixVbHQ9ZigoKT0+e2YyZSgpO3Moamx0LCJzdWJCdXNpbmVzc0RheXMiKTtfd3I9amx0fSk7ZnVuY3Rpb24gV2x0KGEsZSx0KXtyZXR1cm4gcksoYSwtZSx0KX12YXIgRHdyLEdsdD1mKCgpPT57aDJlKCk7cyhXbHQsInN1YkhvdXJzIik7RHdyPVdsdH0pO2Z1bmN0aW9uIFlsdChhLGUsdCl7cmV0dXJuIG4wKGEsLWUsdCl9dmFyIEl3cixLbHQ9ZigoKT0+e2Q5KCk7cyhZbHQsInN1Yk1pbGxpc2Vjb25kcyIpO0l3cj1ZbHR9KTtmdW5jdGlvbiBabHQoYSxlLHQpe3JldHVybiBnaChhLC1lLHQpfXZhciBGd3IsWGx0PWYoKCk9PntvSygpO3MoWmx0LCJzdWJNaW51dGVzIik7RndyPVpsdH0pO2Z1bmN0aW9uIFFsdChhLGUsdCl7cmV0dXJuIGJoKGEsLWUsdCl9dmFyIFZ3cixKbHQ9ZigoKT0+e25LKCk7cyhRbHQsInN1YlF1YXJ0ZXJzIik7VndyPVFsdH0pO2Z1bmN0aW9uIGVjdChhLGUsdCl7cmV0dXJuIGxLKGEsLWUsdCl9dmFyIEd3cix0Y3Q9ZigoKT0+e2IyZSgpO3MoZWN0LCJzdWJTZWNvbmRzIik7R3dyPWVjdH0pO2Z1bmN0aW9uIGFjdChhLGUsdCl7cmV0dXJuIGMwKGEsLWUsdCl9dmFyIFh3cixyY3Q9ZigoKT0+e3A5KCk7cyhhY3QsInN1YldlZWtzIik7WHdyPWFjdH0pO2Z1bmN0aW9uIHNjdChhLGUsdCl7cmV0dXJuIGNLKGEsLWUsdCl9dmFyIHRNcixpY3Q9ZigoKT0+e3YyZSgpO3Moc2N0LCJzdWJZZWFycyIpO3RNcj1zY3R9KTtmdW5jdGlvbiBvY3QoYSl7cmV0dXJuIE1hdGgudHJ1bmMoYSo3KX12YXIgaU1yLG5jdD1mKCgpPT57UXQoKTtzKG9jdCwid2Vla3NUb0RheXMiKTtpTXI9b2N0fSk7ZnVuY3Rpb24gbGN0KGEpe3JldHVybiBNYXRoLnRydW5jKGEqMzY1LjI0MjUpfXZhciBjTXIsY2N0PWYoKCk9PntRdCgpO3MobGN0LCJ5ZWFyc1RvRGF5cyIpO2NNcj1sY3R9KTtmdW5jdGlvbiBkY3QoYSl7cmV0dXJuIE1hdGgudHJ1bmMoYSpRWSl9dmFyIGZNcix1Y3Q9ZigoKT0+e1F0KCk7cyhkY3QsInllYXJzVG9Nb250aHMiKTtmTXI9ZGN0fSk7ZnVuY3Rpb24gcGN0KGEpe3JldHVybiBNYXRoLnRydW5jKGEqSlkpfXZhciBiTXIsZmN0PWYoKCk9PntRdCgpO3MocGN0LCJ5ZWFyc1RvUXVhcnRlcnMiKTtiTXI9cGN0fSk7dmFyIFQ5PXt9O2x0KFQ5LHthZGQ6KCk9Pm8wLGFkZEJ1c2luZXNzRGF5czooKT0+YUssYWRkRGF5czooKT0+U3MsYWRkSG91cnM6KCk9PnJLLGFkZElTT1dlZWtZZWFyczooKT0+aUssYWRkTWlsbGlzZWNvbmRzOigpPT5uMCxhZGRNaW51dGVzOigpPT5naCxhZGRNb250aHM6KCk9Pm0yLGFkZFF1YXJ0ZXJzOigpPT5iaCxhZGRTZWNvbmRzOigpPT5sSyxhZGRXZWVrczooKT0+YzAsYWRkWWVhcnM6KCk9PmNLLGFyZUludGVydmFsc092ZXJsYXBwaW5nOigpPT5Jc3QsY2xhbXA6KCk9PlJzdCxjbG9zZXN0SW5kZXhUbzooKT0+cEssY2xvc2VzdFRvOigpPT5Gc3QsY29tcGFyZUFzYzooKT0+dmksY29tcGFyZURlc2M6KCk9PkhzdCxjb25zdHJ1Y3RGcm9tOigpPT5GZSxjb25zdHJ1Y3ROb3c6KCk9PmNhLGRheXNUb1dlZWtzOigpPT5Wc3QsZGlmZmVyZW5jZUluQnVzaW5lc3NEYXlzOigpPT5Vc3QsZGlmZmVyZW5jZUluQ2FsZW5kYXJEYXlzOigpPT5GcyxkaWZmZXJlbmNlSW5DYWxlbmRhcklTT1dlZWtZZWFyczooKT0+aEssZGlmZmVyZW5jZUluQ2FsZW5kYXJJU09XZWVrczooKT0+R3N0LGRpZmZlcmVuY2VJbkNhbGVuZGFyTW9udGhzOigpPT5nMyxkaWZmZXJlbmNlSW5DYWxlbmRhclF1YXJ0ZXJzOigpPT54aCxkaWZmZXJlbmNlSW5DYWxlbmRhcldlZWtzOigpPT5iMyxkaWZmZXJlbmNlSW5DYWxlbmRhclllYXJzOigpPT5kMCxkaWZmZXJlbmNlSW5EYXlzOigpPT55aCxkaWZmZXJlbmNlSW5Ib3VyczooKT0+djMsZGlmZmVyZW5jZUluSVNPV2Vla1llYXJzOigpPT5ac3QsZGlmZmVyZW5jZUluTWlsbGlzZWNvbmRzOigpPT53aCxkaWZmZXJlbmNlSW5NaW51dGVzOigpPT54MyxkaWZmZXJlbmNlSW5Nb250aHM6KCk9PnUwLGRpZmZlcmVuY2VJblF1YXJ0ZXJzOigpPT5Rc3QsZGlmZmVyZW5jZUluU2Vjb25kczooKT0+eTIsZGlmZmVyZW5jZUluV2Vla3M6KCk9PmVpdCxkaWZmZXJlbmNlSW5ZZWFyczooKT0+Q0ssZWFjaERheU9mSW50ZXJ2YWw6KCk9Pl9LLGVhY2hIb3VyT2ZJbnRlcnZhbDooKT0+YWl0LGVhY2hNaW51dGVPZkludGVydmFsOigpPT5zaXQsZWFjaE1vbnRoT2ZJbnRlcnZhbDooKT0+b2l0LGVhY2hRdWFydGVyT2ZJbnRlcnZhbDooKT0+bGl0LGVhY2hXZWVrT2ZJbnRlcnZhbDooKT0+ZGl0LGVhY2hXZWVrZW5kT2ZJbnRlcnZhbDooKT0+U2gsZWFjaFdlZWtlbmRPZk1vbnRoOigpPT5waXQsZWFjaFdlZWtlbmRPZlllYXI6KCk9PmhpdCxlYWNoWWVhck9mSW50ZXJ2YWw6KCk9PmdpdCxlbmRPZkRheTooKT0+TWgsZW5kT2ZEZWNhZGU6KCk9PnZpdCxlbmRPZkhvdXI6KCk9PnlpdCxlbmRPZklTT1dlZWs6KCk9Pk1pdCxlbmRPZklTT1dlZWtZZWFyOigpPT5TaXQsZW5kT2ZNaW51dGU6KCk9PkNpdCxlbmRPZk1vbnRoOigpPT5raCxlbmRPZlF1YXJ0ZXI6KCk9PlRpdCxlbmRPZlNlY29uZDooKT0+JGl0LGVuZE9mVG9kYXk6KCk9PkFpdCxlbmRPZlRvbW9ycm93OigpPT5QaXQsZW5kT2ZXZWVrOigpPT5BSyxlbmRPZlllYXI6KCk9PiRLLGVuZE9mWWVzdGVyZGF5OigpPT5OaXQsZm9ybWF0OigpPT55OSxmb3JtYXREYXRlOigpPT55OSxmb3JtYXREaXN0YW5jZTooKT0+QkssZm9ybWF0RGlzdGFuY2VTdHJpY3Q6KCk9PkhLLGZvcm1hdERpc3RhbmNlVG9Ob3c6KCk9PmlvdCxmb3JtYXREaXN0YW5jZVRvTm93U3RyaWN0OigpPT5ub3QsZm9ybWF0RHVyYXRpb246KCk9PmNvdCxmb3JtYXRJU086KCk9PnVvdCxmb3JtYXRJU085MDc1OigpPT5mb3QsZm9ybWF0SVNPRHVyYXRpb246KCk9Pm1vdCxmb3JtYXRSRkMzMzM5OigpPT5ib3QsZm9ybWF0UkZDNzIzMTooKT0+eG90LGZvcm1hdFJlbGF0aXZlOigpPT53b3QsZm9ybWF0dGVyczooKT0+djksZnJvbVVuaXhUaW1lOigpPT5rb3QsZ2V0RGF0ZTooKT0+cUssZ2V0RGF5OigpPT5tMCxnZXREYXlPZlllYXI6KCk9PlBLLGdldERheXNJbk1vbnRoOigpPT5WSyxnZXREYXlzSW5ZZWFyOigpPT56b3QsZ2V0RGVjYWRlOigpPT5fb3QsZ2V0RGVmYXVsdE9wdGlvbnM6KCk9PlVLLGdldEhvdXJzOigpPT5Mb3QsZ2V0SVNPRGF5OigpPT5XSyxnZXRJU09XZWVrOigpPT5UaCxnZXRJU09XZWVrWWVhcjooKT0+SGksZ2V0SVNPV2Vla3NJblllYXI6KCk9PkRvdCxnZXRNaWxsaXNlY29uZHM6KCk9PkVvdCxnZXRNaW51dGVzOigpPT5Jb3QsZ2V0TW9udGg6KCk9PlJvdCxnZXRPdmVybGFwcGluZ0RheXNJbkludGVydmFsczooKT0+Rm90LGdldFF1YXJ0ZXI6KCk9PmY5LGdldFNlY29uZHM6KCk9PkhvdCxnZXRUaW1lOigpPT5Wb3QsZ2V0VW5peFRpbWU6KCk9PlVvdCxnZXRXZWVrOigpPT5MaCxnZXRXZWVrT2ZNb250aDooKT0+R290LGdldFdlZWtZZWFyOigpPT5mMCxnZXRXZWVrc0luTW9udGg6KCk9PktvdCxnZXRZZWFyOigpPT5Yb3QsaG91cnNUb01pbGxpc2Vjb25kczooKT0+Sm90LGhvdXJzVG9NaW51dGVzOigpPT50bnQsaG91cnNUb1NlY29uZHM6KCk9PnJudCxpbnRlcnZhbDooKT0+aW50LGludGVydmFsVG9EdXJhdGlvbjooKT0+bm50LGludGxGb3JtYXQ6KCk9PmNudCxpbnRsRm9ybWF0RGlzdGFuY2U6KCk9PnVudCxpc0FmdGVyOigpPT5mbnQsaXNCZWZvcmU6KCk9Pm1udCxpc0RhdGU6KCk9PmZLLGlzRXF1YWw6KCk9PmJudCxpc0V4aXN0czooKT0+eG50LGlzRmlyc3REYXlPZk1vbnRoOigpPT53bnQsaXNGcmlkYXk6KCk9PmtudCxpc0Z1dHVyZTooKT0+em50LGlzTGFzdERheU9mTW9udGg6KCk9PnpLLGlzTGVhcFllYXI6KCk9PmpLLGlzTWF0Y2g6KCk9PmkxdCxpc01vbmRheTooKT0+bjF0LGlzUGFzdDooKT0+YzF0LGlzU2FtZURheTooKT0+eDIsaXNTYW1lSG91cjooKT0+UlosaXNTYW1lSVNPV2VlazooKT0+RlosaXNTYW1lSVNPV2Vla1llYXI6KCk9PnUxdCxpc1NhbWVNaW51dGU6KCk9PkJaLGlzU2FtZU1vbnRoOigpPT5IWixpc1NhbWVRdWFydGVyOigpPT5xWixpc1NhbWVTZWNvbmQ6KCk9PlZaLGlzU2FtZVdlZWs6KCk9PkVoLGlzU2FtZVllYXI6KCk9PmpaLGlzU2F0dXJkYXk6KCk9PmVLLGlzU3VuZGF5OigpPT50Syxpc1RoaXNIb3VyOigpPT5mMXQsaXNUaGlzSVNPV2VlazooKT0+bTF0LGlzVGhpc01pbnV0ZTooKT0+YjF0LGlzVGhpc01vbnRoOigpPT54MXQsaXNUaGlzUXVhcnRlcjooKT0+dzF0LGlzVGhpc1NlY29uZDooKT0+azF0LGlzVGhpc1dlZWs6KCk9PnoxdCxpc1RoaXNZZWFyOigpPT5fMXQsaXNUaHVyc2RheTooKT0+TDF0LGlzVG9kYXk6KCk9PkQxdCxpc1RvbW9ycm93OigpPT5FMXQsaXNUdWVzZGF5OigpPT5JMXQsaXNWYWxpZDooKT0+WnMsaXNXZWRuZXNkYXk6KCk9PlIxdCxpc1dlZWtlbmQ6KCk9PmcyLGlzV2l0aGluSW50ZXJ2YWw6KCk9PkYxdCxpc1llc3RlcmRheTooKT0+SDF0LGxhc3REYXlPZkRlY2FkZTooKT0+VjF0LGxhc3REYXlPZklTT1dlZWs6KCk9PlUxdCxsYXN0RGF5T2ZJU09XZWVrWWVhcjooKT0+RzF0LGxhc3REYXlPZk1vbnRoOigpPT5HSyxsYXN0RGF5T2ZRdWFydGVyOigpPT5LMXQsbGFzdERheU9mV2VlazooKT0+VVosbGFzdERheU9mWWVhcjooKT0+WDF0LGxpZ2h0Rm9ybWF0OigpPT5KMXQsbGlnaHRGb3JtYXR0ZXJzOigpPT5Ibyxsb25nRm9ybWF0dGVyczooKT0+aDAsbWF4OigpPT5kSyxtaWxsaXNlY29uZHM6KCk9PnQydCxtaWxsaXNlY29uZHNUb0hvdXJzOigpPT5yMnQsbWlsbGlzZWNvbmRzVG9NaW51dGVzOigpPT5pMnQsbWlsbGlzZWNvbmRzVG9TZWNvbmRzOigpPT5uMnQsbWluOigpPT51SyxtaW51dGVzVG9Ib3VyczooKT0+YzJ0LG1pbnV0ZXNUb01pbGxpc2Vjb25kczooKT0+dTJ0LG1pbnV0ZXNUb1NlY29uZHM6KCk9PmYydCxtb250aHNUb1F1YXJ0ZXJzOigpPT5tMnQsbW9udGhzVG9ZZWFyczooKT0+YjJ0LG5leHREYXk6KCk9PndpLG5leHRGcmlkYXk6KCk9PngydCxuZXh0TW9uZGF5OigpPT53MnQsbmV4dFNhdHVyZGF5OigpPT5rMnQsbmV4dFN1bmRheTooKT0+ejJ0LG5leHRUaHVyc2RheTooKT0+XzJ0LG5leHRUdWVzZGF5OigpPT5MMnQsbmV4dFdlZG5lc2RheTooKT0+RDJ0LHBhcnNlOigpPT5OWixwYXJzZUlTTzooKT0+UDJ0LHBhcnNlSlNPTjooKT0+TjJ0LHBhcnNlcnM6KCk9PklaLHByZXZpb3VzRGF5OigpPT5NaSxwcmV2aW91c0ZyaWRheTooKT0+TzJ0LHByZXZpb3VzTW9uZGF5OigpPT5CMnQscHJldmlvdXNTYXR1cmRheTooKT0+cTJ0LHByZXZpb3VzU3VuZGF5OigpPT5qMnQscHJldmlvdXNUaHVyc2RheTooKT0+VzJ0LHByZXZpb3VzVHVlc2RheTooKT0+WTJ0LHByZXZpb3VzV2VkbmVzZGF5OigpPT5aMnQscXVhcnRlcnNUb01vbnRoczooKT0+UTJ0LHF1YXJ0ZXJzVG9ZZWFyczooKT0+ZWx0LHJvdW5kVG9OZWFyZXN0SG91cnM6KCk9PmFsdCxyb3VuZFRvTmVhcmVzdE1pbnV0ZXM6KCk9PnNsdCxzZWNvbmRzVG9Ib3VyczooKT0+b2x0LHNlY29uZHNUb01pbGxpc2Vjb25kczooKT0+bGx0LHNlY29uZHNUb01pbnV0ZXM6KCk9PmRsdCxzZXQ6KCk9PnBsdCxzZXREYXRlOigpPT5obHQsc2V0RGF5OigpPT5nMCxzZXREYXlPZlllYXI6KCk9PmdsdCxzZXREZWZhdWx0T3B0aW9uczooKT0+dmx0LHNldEhvdXJzOigpPT55bHQsc2V0SVNPRGF5OigpPT54WixzZXRJU09XZWVrOigpPT5wWixzZXRJU09XZWVrWWVhcjooKT0+c0ssc2V0TWlsbGlzZWNvbmRzOigpPT5NbHQsc2V0TWludXRlczooKT0+U2x0LHNldE1vbnRoOigpPT5QaCxzZXRRdWFydGVyOigpPT5DbHQsc2V0U2Vjb25kczooKT0+VGx0LHNldFdlZWs6KCk9PmRaLHNldFdlZWtZZWFyOigpPT4kbHQsc2V0WWVhcjooKT0+QWx0LHN0YXJ0T2ZEYXk6KCk9PnYyLHN0YXJ0T2ZEZWNhZGU6KCk9PlBsdCxzdGFydE9mSG91cjooKT0+azksc3RhcnRPZklTT1dlZWs6KCk9PnNzLHN0YXJ0T2ZJU09XZWVrWWVhcjooKT0+Qm8sc3RhcnRPZk1pbnV0ZTooKT0+Uzksc3RhcnRPZk1vbnRoOigpPT5wMCxzdGFydE9mUXVhcnRlcjooKT0+TTIsc3RhcnRPZlNlY29uZDooKT0+ejksc3RhcnRPZlRvZGF5OigpPT5ObHQsc3RhcnRPZlRvbW9ycm93OigpPT5PbHQsc3RhcnRPZldlZWs6KCk9PmVyLHN0YXJ0T2ZXZWVrWWVhcjooKT0+dzMsc3RhcnRPZlllYXI6KCk9PnpoLHN0YXJ0T2ZZZXN0ZXJkYXk6KCk9PkJsdCxzdWI6KCk9PnFsdCxzdWJCdXNpbmVzc0RheXM6KCk9PmpsdCxzdWJEYXlzOigpPT5iMCxzdWJIb3VyczooKT0+V2x0LHN1YklTT1dlZWtZZWFyczooKT0+eUssc3ViTWlsbGlzZWNvbmRzOigpPT5ZbHQsc3ViTWludXRlczooKT0+Wmx0LHN1Yk1vbnRoczooKT0+WVosc3ViUXVhcnRlcnM6KCk9PlFsdCxzdWJTZWNvbmRzOigpPT5lY3Qsc3ViV2Vla3M6KCk9PmFjdCxzdWJZZWFyczooKT0+c2N0LHRvRGF0ZTooKT0+a2UsdHJhbnNwb3NlOigpPT5ZSyx3ZWVrc1RvRGF5czooKT0+b2N0LHllYXJzVG9EYXlzOigpPT5sY3QseWVhcnNUb01vbnRoczooKT0+ZGN0LHllYXJzVG9RdWFydGVyczooKT0+cGN0fSk7dmFyIGhjdD1mKCgpPT57ZDJlKCk7ZjJlKCk7aDIoKTtoMmUoKTtnMmUoKTtkOSgpO29LKCk7aGgoKTtuSygpO2IyZSgpO3A5KCk7djJlKCk7TnN0KCk7T3N0KCk7dzJlKCk7QnN0KCk7bTMoKTtxc3QoKTskdCgpO3pzKCk7anN0KCk7V3N0KCk7U2woKTtrMmUoKTtZc3QoKTttSygpO3oyZSgpO2dLKCk7YksoKTt2SygpO3hLKCk7WHN0KCk7d0soKTtNSygpO2g5KCk7SnN0KCk7bTkoKTt0aXQoKTtUMmUoKTtMMmUoKTtyaXQoKTtpaXQoKTtuaXQoKTtjaXQoKTt1aXQoKTtMSygpO2ZpdCgpO21pdCgpO2JpdCgpO2tLKCk7eGl0KCk7d2l0KCk7a2l0KCk7eml0KCk7X2l0KCk7U0soKTtMaXQoKTtEaXQoKTtFaXQoKTtJaXQoKTtEMmUoKTskMmUoKTtSaXQoKTtOMmUoKTtSMmUoKTtPMmUoKTtvb3QoKTtsb3QoKTtkb3QoKTtwb3QoKTtob3QoKTtnb3QoKTt2b3QoKTt5b3QoKTtNb3QoKTtTb3QoKTtGMmUoKTt3OSgpO0EyZSgpO0IyZSgpO0NvdCgpO1RvdCgpO3EyZSgpOyRvdCgpO1YyZSgpO0lLKCk7bDAoKTtBb3QoKTtQb3QoKTtOb3QoKTtPb3QoKTtCb3QoKTtTMmUoKTtxb3QoKTtqb3QoKTtXb3QoKTtSSygpO1lvdCgpO2I5KCk7Wm90KCk7UW90KCk7ZW50KCk7YW50KCk7c250KCk7b250KCk7bG50KCk7ZG50KCk7cG50KCk7aG50KCk7Z250KCk7TTJlKCk7dm50KCk7eW50KCk7TW50KCk7U250KCk7Q250KCk7XzJlKCk7SDJlKCk7bzF0KCk7bDF0KCk7ZDF0KCk7dmgoKTtRMmUoKTtKMmUoKTtwMXQoKTt0bGUoKTthbGUoKTtybGUoKTtpbGUoKTtPWigpO29sZSgpO3UyZSgpO3AyZSgpO2gxdCgpO2cxdCgpO3YxdCgpO3kxdCgpO00xdCgpO1MxdCgpO0MxdCgpO1QxdCgpOyQxdCgpO0ExdCgpO1AxdCgpO04xdCgpO3psKCk7TzF0KCk7YzkoKTtCMXQoKTtxMXQoKTtqMXQoKTtXMXQoKTtZMXQoKTtqMmUoKTtaMXQoKTtubGUoKTtRMXQoKTtlMnQoKTt4MmUoKTthMnQoKTtzMnQoKTtvMnQoKTtsMnQoKTt5MmUoKTtkMnQoKTtwMnQoKTtoMnQoKTtnMnQoKTt2MnQoKTtfbCgpO3kydCgpO00ydCgpO1MydCgpO0MydCgpO1QydCgpOyQydCgpO0EydCgpO1oyZSgpO0kydCgpO1IydCgpO1RsKCk7RjJ0KCk7SDJ0KCk7VjJ0KCk7VTJ0KCk7RzJ0KCk7SzJ0KCk7WDJ0KCk7SjJ0KCk7dGx0KCk7cmx0KCk7aWx0KCk7bmx0KCk7Y2x0KCk7dWx0KCk7Zmx0KCk7bWx0KCk7TTkoKTtibHQoKTt4bHQoKTt3bHQoKTtLMmUoKTtZMmUoKTttMmUoKTtrbHQoKTt6bHQoKTtHWigpO19sdCgpO0xsdCgpO0cyZSgpO0RsdCgpO0VsdCgpO3U5KCk7SWx0KCk7WDJlKCk7YjIoKTttaCgpO2VsZSgpO2c5KCk7VEsoKTtzbGUoKTtSbHQoKTtGbHQoKTthMSgpO05LKCk7REsoKTtIbHQoKTtWbHQoKTtVbHQoKTtDOSgpO0dsdCgpO0MyZSgpO0tsdCgpO1hsdCgpO2NsZSgpO0psdCgpO3RjdCgpO3JjdCgpO2ljdCgpO0hlKCk7VTJlKCk7bmN0KCk7Y2N0KCk7dWN0KCk7ZmN0KCl9KTt2YXIgbWN0PWJvKChkbGUsdWxlKT0+eyhmdW5jdGlvbihhLGUpe3R5cGVvZiBkbGU9PSJvYmplY3QiJiZ0eXBlb2YgdWxlPCJ1Ij91bGUuZXhwb3J0cz1lKCk6dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUoZSk6KGE9dHlwZW9mIGdsb2JhbFRoaXM8InUiP2dsb2JhbFRoaXM6YXx8c2VsZikuZGF5anM9ZSgpfSkoZGxlLChmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgYT0xZTMsZT02ZTQsdD0zNmU1LHI9Im1pbGxpc2Vjb25kIixpPSJzZWNvbmQiLG89Im1pbnV0ZSIsbj0iaG91ciIsbD0iZGF5IixkPSJ3ZWVrIixjPSJtb250aCIscD0icXVhcnRlciIsdT0ieWVhciIsbT0iZGF0ZSIsdj0iSW52YWxpZCBEYXRlIix4PS9eKFxkezR9KVstL10/KFxkezEsMn0pP1stL10/KFxkezAsMn0pW1R0XHNdKihcZHsxLDJ9KT86PyhcZHsxLDJ9KT86PyhcZHsxLDJ9KT9bLjpdPyhcZCspPyQvLGI9L1xbKFteXF1dKyldfFl7MSw0fXxNezEsNH18RHsxLDJ9fGR7MSw0fXxIezEsMn18aHsxLDJ9fGF8QXxtezEsMn18c3sxLDJ9fFp7MSwyfXxTU1MvZyxnPXtuYW1lOiJlbiIsd2Vla2RheXM6IlN1bmRheV9Nb25kYXlfVHVlc2RheV9XZWRuZXNkYXlfVGh1cnNkYXlfRnJpZGF5X1NhdHVyZGF5Ii5zcGxpdCgiXyIpLG1vbnRoczoiSmFudWFyeV9GZWJydWFyeV9NYXJjaF9BcHJpbF9NYXlfSnVuZV9KdWx5X0F1Z3VzdF9TZXB0ZW1iZXJfT2N0b2Jlcl9Ob3ZlbWJlcl9EZWNlbWJlciIuc3BsaXQoIl8iKSxvcmRpbmFsOnMoZnVuY3Rpb24oUyl7dmFyIFA9WyJ0aCIsInN0IiwibmQiLCJyZCJdLEE9UyUxMDA7cmV0dXJuIlsiK1MrKFBbKEEtMjApJTEwXXx8UFtBXXx8UFswXSkrIl0ifSwib3JkaW5hbCIpfSx5PXMoZnVuY3Rpb24oUyxQLEEpe3ZhciBGPVN0cmluZyhTKTtyZXR1cm4hRnx8Ri5sZW5ndGg+PVA/UzoiIitBcnJheShQKzEtRi5sZW5ndGgpLmpvaW4oQSkrU30sIm0iKSxrPXtzOnksejpzKGZ1bmN0aW9uKFMpe3ZhciBQPS1TLnV0Y09mZnNldCgpLEE9TWF0aC5hYnMoUCksRj1NYXRoLmZsb29yKEEvNjApLFc9QSU2MDtyZXR1cm4oUDw9MD8iKyI6Ii0iKSt5KEYsMiwiMCIpKyI6Iit5KFcsMiwiMCIpfSwieiIpLG06cyhmdW5jdGlvbiBTKFAsQSl7aWYoUC5kYXRlKCk8QS5kYXRlKCkpcmV0dXJuLVMoQSxQKTt2YXIgRj0xMiooQS55ZWFyKCktUC55ZWFyKCkpKyhBLm1vbnRoKCktUC5tb250aCgpKSxXPVAuY2xvbmUoKS5hZGQoRixjKSxqPUEtVzwwLEc9UC5jbG9uZSgpLmFkZChGKyhqPy0xOjEpLGMpO3JldHVybisoLShGKyhBLVcpLyhqP1ctRzpHLVcpKXx8MCl9LCJ0IiksYTpzKGZ1bmN0aW9uKFMpe3JldHVybiBTPDA/TWF0aC5jZWlsKFMpfHwwOk1hdGguZmxvb3IoUyl9LCJhIikscDpzKGZ1bmN0aW9uKFMpe3JldHVybntNOmMseTp1LHc6ZCxkOmwsRDptLGg6bixtOm8sczppLG1zOnIsUTpwfVtTXXx8U3RyaW5nKFN8fCIiKS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL3MkLywiIil9LCJwIiksdTpzKGZ1bmN0aW9uKFMpe3JldHVybiBTPT09dm9pZCAwfSwidSIpfSxDPSJlbiIsTj17fTtOW0NdPWc7dmFyIF89IiRpc0RheWpzT2JqZWN0Iix6PXMoZnVuY3Rpb24oUyl7cmV0dXJuIFMgaW5zdGFuY2VvZiBCfHwhKCFTfHwhU1tfXSl9LCJTIiksTz1zKGZ1bmN0aW9uIFMoUCxBLEYpe3ZhciBXO2lmKCFQKXJldHVybiBDO2lmKHR5cGVvZiBQPT0ic3RyaW5nIil7dmFyIGo9UC50b0xvd2VyQ2FzZSgpO05bal0mJihXPWopLEEmJihOW2pdPUEsVz1qKTt2YXIgRz1QLnNwbGl0KCItIik7aWYoIVcmJkcubGVuZ3RoPjEpcmV0dXJuIFMoR1swXSl9ZWxzZXt2YXIgaGU9UC5uYW1lO05baGVdPVAsVz1oZX1yZXR1cm4hRiYmVyYmKEM9VyksV3x8IUYmJkN9LCJ0IiksVD1zKGZ1bmN0aW9uKFMsUCl7aWYoeihTKSlyZXR1cm4gUy5jbG9uZSgpO3ZhciBBPXR5cGVvZiBQPT0ib2JqZWN0Ij9QOnt9O3JldHVybiBBLmRhdGU9UyxBLmFyZ3M9YXJndW1lbnRzLG5ldyBCKEEpfSwiTyIpLEU9aztFLmw9TyxFLmk9eixFLnc9ZnVuY3Rpb24oUyxQKXtyZXR1cm4gVChTLHtsb2NhbGU6UC4kTCx1dGM6UC4kdSx4OlAuJHgsJG9mZnNldDpQLiRvZmZzZXR9KX07dmFyIEI9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gUyhBKXt0aGlzLiRMPU8oQS5sb2NhbGUsbnVsbCwhMCksdGhpcy5wYXJzZShBKSx0aGlzLiR4PXRoaXMuJHh8fEEueHx8e30sdGhpc1tfXT0hMH1zKFMsIk0iKTt2YXIgUD1TLnByb3RvdHlwZTtyZXR1cm4gUC5wYXJzZT1mdW5jdGlvbihBKXt0aGlzLiRkPShmdW5jdGlvbihGKXt2YXIgVz1GLmRhdGUsaj1GLnV0YztpZihXPT09bnVsbClyZXR1cm4gbmV3IERhdGUoTmFOKTtpZihFLnUoVykpcmV0dXJuIG5ldyBEYXRlO2lmKFcgaW5zdGFuY2VvZiBEYXRlKXJldHVybiBuZXcgRGF0ZShXKTtpZih0eXBlb2YgVz09InN0cmluZyImJiEvWiQvaS50ZXN0KFcpKXt2YXIgRz1XLm1hdGNoKHgpO2lmKEcpe3ZhciBoZT1HWzJdLTF8fDAsUj0oR1s3XXx8IjAiKS5zdWJzdHJpbmcoMCwzKTtyZXR1cm4gaj9uZXcgRGF0ZShEYXRlLlVUQyhHWzFdLGhlLEdbM118fDEsR1s0XXx8MCxHWzVdfHwwLEdbNl18fDAsUikpOm5ldyBEYXRlKEdbMV0saGUsR1szXXx8MSxHWzRdfHwwLEdbNV18fDAsR1s2XXx8MCxSKX19cmV0dXJuIG5ldyBEYXRlKFcpfSkoQSksdGhpcy5pbml0KCl9LFAuaW5pdD1mdW5jdGlvbigpe3ZhciBBPXRoaXMuJGQ7dGhpcy4keT1BLmdldEZ1bGxZZWFyKCksdGhpcy4kTT1BLmdldE1vbnRoKCksdGhpcy4kRD1BLmdldERhdGUoKSx0aGlzLiRXPUEuZ2V0RGF5KCksdGhpcy4kSD1BLmdldEhvdXJzKCksdGhpcy4kbT1BLmdldE1pbnV0ZXMoKSx0aGlzLiRzPUEuZ2V0U2Vjb25kcygpLHRoaXMuJG1zPUEuZ2V0TWlsbGlzZWNvbmRzKCl9LFAuJHV0aWxzPWZ1bmN0aW9uKCl7cmV0dXJuIEV9LFAuaXNWYWxpZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRkLnRvU3RyaW5nKCkhPT12fSxQLmlzU2FtZT1mdW5jdGlvbihBLEYpe3ZhciBXPVQoQSk7cmV0dXJuIHRoaXMuc3RhcnRPZihGKTw9VyYmVzw9dGhpcy5lbmRPZihGKX0sUC5pc0FmdGVyPWZ1bmN0aW9uKEEsRil7cmV0dXJuIFQoQSk8dGhpcy5zdGFydE9mKEYpfSxQLmlzQmVmb3JlPWZ1bmN0aW9uKEEsRil7cmV0dXJuIHRoaXMuZW5kT2YoRik8VChBKX0sUC4kZz1mdW5jdGlvbihBLEYsVyl7cmV0dXJuIEUudShBKT90aGlzW0ZdOnRoaXMuc2V0KFcsQSl9LFAudW5peD1mdW5jdGlvbigpe3JldHVybiBNYXRoLmZsb29yKHRoaXMudmFsdWVPZigpLzFlMyl9LFAudmFsdWVPZj1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRkLmdldFRpbWUoKX0sUC5zdGFydE9mPWZ1bmN0aW9uKEEsRil7dmFyIFc9dGhpcyxqPSEhRS51KEYpfHxGLEc9RS5wKEEpLGhlPXMoZnVuY3Rpb24oWSxYKXt2YXIgSj1FLncoVy4kdT9EYXRlLlVUQyhXLiR5LFgsWSk6bmV3IERhdGUoVy4keSxYLFkpLFcpO3JldHVybiBqP0o6Si5lbmRPZihsKX0sImwiKSxSPXMoZnVuY3Rpb24oWSxYKXtyZXR1cm4gRS53KFcudG9EYXRlKClbWV0uYXBwbHkoVy50b0RhdGUoInMiKSwoaj9bMCwwLDAsMF06WzIzLDU5LDU5LDk5OV0pLnNsaWNlKFgpKSxXKX0sIiQiKSxVPXRoaXMuJFcsbWU9dGhpcy4kTSxJPXRoaXMuJEQscT0ic2V0IisodGhpcy4kdT8iVVRDIjoiIik7c3dpdGNoKEcpe2Nhc2UgdTpyZXR1cm4gaj9oZSgxLDApOmhlKDMxLDExKTtjYXNlIGM6cmV0dXJuIGo/aGUoMSxtZSk6aGUoMCxtZSsxKTtjYXNlIGQ6dmFyIGNlPXRoaXMuJGxvY2FsZSgpLndlZWtTdGFydHx8MCx1ZT0oVTxjZT9VKzc6VSktY2U7cmV0dXJuIGhlKGo/SS11ZTpJKyg2LXVlKSxtZSk7Y2FzZSBsOmNhc2UgbTpyZXR1cm4gUihxKyJIb3VycyIsMCk7Y2FzZSBuOnJldHVybiBSKHErIk1pbnV0ZXMiLDEpO2Nhc2UgbzpyZXR1cm4gUihxKyJTZWNvbmRzIiwyKTtjYXNlIGk6cmV0dXJuIFIocSsiTWlsbGlzZWNvbmRzIiwzKTtkZWZhdWx0OnJldHVybiB0aGlzLmNsb25lKCl9fSxQLmVuZE9mPWZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLnN0YXJ0T2YoQSwhMSl9LFAuJHNldD1mdW5jdGlvbihBLEYpe3ZhciBXLGo9RS5wKEEpLEc9InNldCIrKHRoaXMuJHU/IlVUQyI6IiIpLGhlPShXPXt9LFdbbF09RysiRGF0ZSIsV1ttXT1HKyJEYXRlIixXW2NdPUcrIk1vbnRoIixXW3VdPUcrIkZ1bGxZZWFyIixXW25dPUcrIkhvdXJzIixXW29dPUcrIk1pbnV0ZXMiLFdbaV09RysiU2Vjb25kcyIsV1tyXT1HKyJNaWxsaXNlY29uZHMiLFcpW2pdLFI9aj09PWw/dGhpcy4kRCsoRi10aGlzLiRXKTpGO2lmKGo9PT1jfHxqPT09dSl7dmFyIFU9dGhpcy5jbG9uZSgpLnNldChtLDEpO1UuJGRbaGVdKFIpLFUuaW5pdCgpLHRoaXMuJGQ9VS5zZXQobSxNYXRoLm1pbih0aGlzLiRELFUuZGF5c0luTW9udGgoKSkpLiRkfWVsc2UgaGUmJnRoaXMuJGRbaGVdKFIpO3JldHVybiB0aGlzLmluaXQoKSx0aGlzfSxQLnNldD1mdW5jdGlvbihBLEYpe3JldHVybiB0aGlzLmNsb25lKCkuJHNldChBLEYpfSxQLmdldD1mdW5jdGlvbihBKXtyZXR1cm4gdGhpc1tFLnAoQSldKCl9LFAuYWRkPWZ1bmN0aW9uKEEsRil7dmFyIFcsaj10aGlzO0E9TnVtYmVyKEEpO3ZhciBHPUUucChGKSxoZT1zKGZ1bmN0aW9uKG1lKXt2YXIgST1UKGopO3JldHVybiBFLncoSS5kYXRlKEkuZGF0ZSgpK01hdGgucm91bmQobWUqQSkpLGopfSwieSIpO2lmKEc9PT1jKXJldHVybiB0aGlzLnNldChjLHRoaXMuJE0rQSk7aWYoRz09PXUpcmV0dXJuIHRoaXMuc2V0KHUsdGhpcy4keStBKTtpZihHPT09bClyZXR1cm4gaGUoMSk7aWYoRz09PWQpcmV0dXJuIGhlKDcpO3ZhciBSPShXPXt9LFdbb109ZSxXW25dPXQsV1tpXT1hLFcpW0ddfHwxLFU9dGhpcy4kZC5nZXRUaW1lKCkrQSpSO3JldHVybiBFLncoVSx0aGlzKX0sUC5zdWJ0cmFjdD1mdW5jdGlvbihBLEYpe3JldHVybiB0aGlzLmFkZCgtMSpBLEYpfSxQLmZvcm1hdD1mdW5jdGlvbihBKXt2YXIgRj10aGlzLFc9dGhpcy4kbG9jYWxlKCk7aWYoIXRoaXMuaXNWYWxpZCgpKXJldHVybiBXLmludmFsaWREYXRlfHx2O3ZhciBqPUF8fCJZWVlZLU1NLUREVEhIOm1tOnNzWiIsRz1FLnoodGhpcyksaGU9dGhpcy4kSCxSPXRoaXMuJG0sVT10aGlzLiRNLG1lPVcud2Vla2RheXMsST1XLm1vbnRocyxxPVcubWVyaWRpZW0sY2U9cyhmdW5jdGlvbihYLEosWixnZSl7cmV0dXJuIFgmJihYW0pdfHxYKEYsaikpfHxaW0pdLnNsaWNlKDAsZ2UpfSwiaCIpLHVlPXMoZnVuY3Rpb24oWCl7cmV0dXJuIEUucyhoZSUxMnx8MTIsWCwiMCIpfSwiZCIpLFk9cXx8ZnVuY3Rpb24oWCxKLFope3ZhciBnZT1YPDEyPyJBTSI6IlBNIjtyZXR1cm4gWj9nZS50b0xvd2VyQ2FzZSgpOmdlfTtyZXR1cm4gai5yZXBsYWNlKGIsKGZ1bmN0aW9uKFgsSil7cmV0dXJuIEp8fChmdW5jdGlvbihaKXtzd2l0Y2goWil7Y2FzZSJZWSI6cmV0dXJuIFN0cmluZyhGLiR5KS5zbGljZSgtMik7Y2FzZSJZWVlZIjpyZXR1cm4gRS5zKEYuJHksNCwiMCIpO2Nhc2UiTSI6cmV0dXJuIFUrMTtjYXNlIk1NIjpyZXR1cm4gRS5zKFUrMSwyLCIwIik7Y2FzZSJNTU0iOnJldHVybiBjZShXLm1vbnRoc1Nob3J0LFUsSSwzKTtjYXNlIk1NTU0iOnJldHVybiBjZShJLFUpO2Nhc2UiRCI6cmV0dXJuIEYuJEQ7Y2FzZSJERCI6cmV0dXJuIEUucyhGLiRELDIsIjAiKTtjYXNlImQiOnJldHVybiBTdHJpbmcoRi4kVyk7Y2FzZSJkZCI6cmV0dXJuIGNlKFcud2Vla2RheXNNaW4sRi4kVyxtZSwyKTtjYXNlImRkZCI6cmV0dXJuIGNlKFcud2Vla2RheXNTaG9ydCxGLiRXLG1lLDMpO2Nhc2UiZGRkZCI6cmV0dXJuIG1lW0YuJFddO2Nhc2UiSCI6cmV0dXJuIFN0cmluZyhoZSk7Y2FzZSJISCI6cmV0dXJuIEUucyhoZSwyLCIwIik7Y2FzZSJoIjpyZXR1cm4gdWUoMSk7Y2FzZSJoaCI6cmV0dXJuIHVlKDIpO2Nhc2UiYSI6cmV0dXJuIFkoaGUsUiwhMCk7Y2FzZSJBIjpyZXR1cm4gWShoZSxSLCExKTtjYXNlIm0iOnJldHVybiBTdHJpbmcoUik7Y2FzZSJtbSI6cmV0dXJuIEUucyhSLDIsIjAiKTtjYXNlInMiOnJldHVybiBTdHJpbmcoRi4kcyk7Y2FzZSJzcyI6cmV0dXJuIEUucyhGLiRzLDIsIjAiKTtjYXNlIlNTUyI6cmV0dXJuIEUucyhGLiRtcywzLCIwIik7Y2FzZSJaIjpyZXR1cm4gR31yZXR1cm4gbnVsbH0pKFgpfHxHLnJlcGxhY2UoIjoiLCIiKX0pKX0sUC51dGNPZmZzZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gMTUqLU1hdGgucm91bmQodGhpcy4kZC5nZXRUaW1lem9uZU9mZnNldCgpLzE1KX0sUC5kaWZmPWZ1bmN0aW9uKEEsRixXKXt2YXIgaixHPXRoaXMsaGU9RS5wKEYpLFI9VChBKSxVPShSLnV0Y09mZnNldCgpLXRoaXMudXRjT2Zmc2V0KCkpKmUsbWU9dGhpcy1SLEk9cyhmdW5jdGlvbigpe3JldHVybiBFLm0oRyxSKX0sIkQiKTtzd2l0Y2goaGUpe2Nhc2UgdTpqPUkoKS8xMjticmVhaztjYXNlIGM6aj1JKCk7YnJlYWs7Y2FzZSBwOmo9SSgpLzM7YnJlYWs7Y2FzZSBkOmo9KG1lLVUpLzYwNDhlNTticmVhaztjYXNlIGw6aj0obWUtVSkvODY0ZTU7YnJlYWs7Y2FzZSBuOmo9bWUvdDticmVhaztjYXNlIG86aj1tZS9lO2JyZWFrO2Nhc2UgaTpqPW1lL2E7YnJlYWs7ZGVmYXVsdDpqPW1lfXJldHVybiBXP2o6RS5hKGopfSxQLmRheXNJbk1vbnRoPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZW5kT2YoYykuJER9LFAuJGxvY2FsZT1mdW5jdGlvbigpe3JldHVybiBOW3RoaXMuJExdfSxQLmxvY2FsZT1mdW5jdGlvbihBLEYpe2lmKCFBKXJldHVybiB0aGlzLiRMO3ZhciBXPXRoaXMuY2xvbmUoKSxqPU8oQSxGLCEwKTtyZXR1cm4gaiYmKFcuJEw9aiksV30sUC5jbG9uZT1mdW5jdGlvbigpe3JldHVybiBFLncodGhpcy4kZCx0aGlzKX0sUC50b0RhdGU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IERhdGUodGhpcy52YWx1ZU9mKCkpfSxQLnRvSlNPTj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzVmFsaWQoKT90aGlzLnRvSVNPU3RyaW5nKCk6bnVsbH0sUC50b0lTT1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRkLnRvSVNPU3RyaW5nKCl9LFAudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4kZC50b1VUQ1N0cmluZygpfSxTfSkoKSxNPUIucHJvdG90eXBlO3JldHVybiBULnByb3RvdHlwZT1NLFtbIiRtcyIscl0sWyIkcyIsaV0sWyIkbSIsb10sWyIkSCIsbl0sWyIkVyIsbF0sWyIkTSIsY10sWyIkeSIsdV0sWyIkRCIsbV1dLmZvckVhY2goKGZ1bmN0aW9uKFMpe01bU1sxXV09ZnVuY3Rpb24oUCl7cmV0dXJuIHRoaXMuJGcoUCxTWzBdLFNbMV0pfX0pKSxULmV4dGVuZD1mdW5jdGlvbihTLFApe3JldHVybiBTLiRpfHwoUyhQLEIsVCksUy4kaT0hMCksVH0sVC5sb2NhbGU9TyxULmlzRGF5anM9eixULnVuaXg9ZnVuY3Rpb24oUyl7cmV0dXJuIFQoMWUzKlMpfSxULmVuPU5bQ10sVC5Mcz1OLFQucD17fSxUfSkpfSk7dmFyIGdjdD1ibygocGxlLGZsZSk9PnsoZnVuY3Rpb24oYSxlKXt0eXBlb2YgcGxlPT0ib2JqZWN0IiYmdHlwZW9mIGZsZTwidSI/ZmxlLmV4cG9ydHM9ZSgpOnR5cGVvZiBkZWZpbmU9PSJmdW5jdGlvbiImJmRlZmluZS5hbWQ/ZGVmaW5lKGUpOihhPXR5cGVvZiBnbG9iYWxUaGlzPCJ1Ij9nbG9iYWxUaGlzOmF8fHNlbGYpLmRheWpzX3BsdWdpbl9pc1RvZGF5PWUoKX0pKHBsZSwoZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7cmV0dXJuIGZ1bmN0aW9uKGEsZSx0KXtlLnByb3RvdHlwZS5pc1RvZGF5PWZ1bmN0aW9uKCl7dmFyIHI9IllZWVktTU0tREQiLGk9dCgpO3JldHVybiB0aGlzLmZvcm1hdChyKT09PWkuZm9ybWF0KHIpfX19KSl9KTtmdW5jdGlvbiBBZ2EoYSl7cmV0dXJue2RheXM6TWF0aC50cnVuYyhhLzg2NGU1KSxob3VyczpNYXRoLnRydW5jKGEvMzZlNSUyNCksbWludXRlczpNYXRoLnRydW5jKGEvNmU0JTYwKSxzZWNvbmRzOk1hdGgudHJ1bmMoYS8xZTMlNjApLG1pbGxpc2Vjb25kczpNYXRoLnRydW5jKGElMWUzKSxtaWNyb3NlY29uZHM6TWF0aC50cnVuYyhiY3QoYSoxZTMpJTFlMyksbmFub3NlY29uZHM6TWF0aC50cnVuYyhiY3QoYSoxZTYpJTFlMyl9fWZ1bmN0aW9uIEVnYShhKXtyZXR1cm57ZGF5czphLzg2NDAwMDAwbixob3VyczphLzM2MDAwMDBuJTI0bixtaW51dGVzOmEvNjAwMDBuJTYwbixzZWNvbmRzOmEvMTAwMG4lNjBuLG1pbGxpc2Vjb25kczphJTEwMDBuLG1pY3Jvc2Vjb25kczowbixuYW5vc2Vjb25kczowbn19ZnVuY3Rpb24gaGxlKGEpe3N3aXRjaCh0eXBlb2YgYSl7Y2FzZSJudW1iZXIiOntpZihOdW1iZXIuaXNGaW5pdGUoYSkpcmV0dXJuIEFnYShhKTticmVha31jYXNlImJpZ2ludCI6cmV0dXJuIEVnYShhKX10aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGZpbml0ZSBudW1iZXIgb3IgYmlnaW50Iil9dmFyIGJjdCx2Y3Q9ZigoKT0+e2JjdD1zKGE9Pk51bWJlci5pc0Zpbml0ZShhKT9hOjAsInRvWmVyb0lmSW5maW5pdHkiKTtzKEFnYSwicGFyc2VOdW1iZXIiKTtzKEVnYSwicGFyc2VCaWdpbnQiKTtzKGhsZSwicGFyc2VNaWxsaXNlY29uZHMiKX0pO2Z1bmN0aW9uIEw5KGEsZSl7bGV0IHQ9dHlwZW9mIGE9PSJiaWdpbnQiO2lmKCF0JiYhTnVtYmVyLmlzRmluaXRlKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIGEgZmluaXRlIG51bWJlciBvciBiaWdpbnQiKTtlPXsuLi5lfTtsZXQgcj1hPDA/Ii0iOiIiO2E9YTwwPy1hOmEsZS5jb2xvbk5vdGF0aW9uJiYoZS5jb21wYWN0PSExLGUuZm9ybWF0U3ViTWlsbGlzZWNvbmRzPSExLGUuc2VwYXJhdGVNaWxsaXNlY29uZHM9ITEsZS52ZXJib3NlPSExKSxlLmNvbXBhY3QmJihlLnVuaXRDb3VudD0xLGUuc2Vjb25kc0RlY2ltYWxEaWdpdHM9MCxlLm1pbGxpc2Vjb25kc0RlY2ltYWxEaWdpdHM9MCk7bGV0IGk9W10sbz1zKChwLHUpPT57bGV0IG09TWF0aC5mbG9vcihwKjEwKip1K05nYSk7cmV0dXJuKE1hdGgucm91bmQobSkvMTAqKnUpLnRvRml4ZWQodSl9LCJmbG9vckRlY2ltYWxzIiksbj1zKChwLHUsbSx2KT0+e2lmKCEoKGkubGVuZ3RoPT09MHx8IWUuY29sb25Ob3RhdGlvbikmJlBnYShwKSYmIShlLmNvbG9uTm90YXRpb24mJm09PT0ibSIpKSl7aWYodj8/PVN0cmluZyhwKSxlLmNvbG9uTm90YXRpb24pe2xldCB4PXYuaW5jbHVkZXMoIi4iKT92LnNwbGl0KCIuIilbMF0ubGVuZ3RoOnYubGVuZ3RoLGI9aS5sZW5ndGg+MD8yOjE7dj0iMCIucmVwZWF0KE1hdGgubWF4KDAsYi14KSkrdn1lbHNlIHYrPWUudmVyYm9zZT8iICIrSWdhKHUscCk6bTtpLnB1c2godil9fSwiYWRkIiksbD1obGUoYSksZD1CaWdJbnQobC5kYXlzKTtpZihlLmhpZGVZZWFyQW5kRGF5cz9uKEJpZ0ludChkKSoyNG4rQmlnSW50KGwuaG91cnMpLCJob3VyIiwiaCIpOihlLmhpZGVZZWFyP24oZCwiZGF5IiwiZCIpOihuKGQvMzY1biwieWVhciIsInkiKSxuKGQlMzY1biwiZGF5IiwiZCIpKSxuKE51bWJlcihsLmhvdXJzKSwiaG91ciIsImgiKSksbihOdW1iZXIobC5taW51dGVzKSwibWludXRlIiwibSIpLCFlLmhpZGVTZWNvbmRzKWlmKGUuc2VwYXJhdGVNaWxsaXNlY29uZHN8fGUuZm9ybWF0U3ViTWlsbGlzZWNvbmRzfHwhZS5jb2xvbk5vdGF0aW9uJiZhPDFlMyYmIWUuc3ViU2Vjb25kc0FzRGVjaW1hbHMpe2xldCBwPU51bWJlcihsLnNlY29uZHMpLHU9TnVtYmVyKGwubWlsbGlzZWNvbmRzKSxtPU51bWJlcihsLm1pY3Jvc2Vjb25kcyksdj1OdW1iZXIobC5uYW5vc2Vjb25kcyk7aWYobihwLCJzZWNvbmQiLCJzIiksZS5mb3JtYXRTdWJNaWxsaXNlY29uZHMpbih1LCJtaWxsaXNlY29uZCIsIm1zIiksbihtLCJtaWNyb3NlY29uZCIsIlx4QjVzIiksbih2LCJuYW5vc2Vjb25kIiwibnMiKTtlbHNle2xldCB4PXUrbS8xZTMrdi8xZTYsYj10eXBlb2YgZS5taWxsaXNlY29uZHNEZWNpbWFsRGlnaXRzPT0ibnVtYmVyIj9lLm1pbGxpc2Vjb25kc0RlY2ltYWxEaWdpdHM6MCxnPXg+PTE/TWF0aC5yb3VuZCh4KTpNYXRoLmNlaWwoeCkseT1iP3gudG9GaXhlZChiKTpnO24oTnVtYmVyLnBhcnNlRmxvYXQoeSksIm1pbGxpc2Vjb25kIiwibXMiLHkpfX1lbHNle2xldCBwPSh0P051bWJlcihhJVJnYSk6YSkvMWUzJTYwLHU9dHlwZW9mIGUuc2Vjb25kc0RlY2ltYWxEaWdpdHM9PSJudW1iZXIiP2Uuc2Vjb25kc0RlY2ltYWxEaWdpdHM6MSxtPW8ocCx1KSx2PWUua2VlcERlY2ltYWxzT25XaG9sZVNlY29uZHM/bTptLnJlcGxhY2UoL1wuMCskLywiIik7bihOdW1iZXIucGFyc2VGbG9hdCh2KSwic2Vjb25kIiwicyIsdil9aWYoaS5sZW5ndGg9PT0wKXJldHVybiByKyIwIisoZS52ZXJib3NlPyIgbWlsbGlzZWNvbmRzIjoibXMiKTtsZXQgYz1lLmNvbG9uTm90YXRpb24/IjoiOiIgIjtyZXR1cm4gdHlwZW9mIGUudW5pdENvdW50PT0ibnVtYmVyIiYmKGk9aS5zbGljZSgwLE1hdGgubWF4KGUudW5pdENvdW50LDEpKSkscitpLmpvaW4oYyl9dmFyIFBnYSxJZ2EsTmdhLFJnYSx4Y3Q9ZigoKT0+e3ZjdCgpO1BnYT1zKGE9PmE9PT0wfHxhPT09MG4sImlzWmVybyIpLElnYT1zKChhLGUpPT5lPT09MXx8ZT09PTFuP2E6YCR7YX1zYCwicGx1cmFsaXplIiksTmdhPTFlLTcsUmdhPTI0bio2MG4qNjBuKjEwMDBuO3MoTDksInByZXR0eU1pbGxpc2Vjb25kcyIpfSk7dmFyIFMzLHljdCx2MD1mKCgpPT57TmgoKTtNbCgpO0tzKCk7JHN0KCk7aGN0KCk7UzM9RmkobWN0KCksMSkseWN0PUZpKGdjdCgpLDEpO3hjdCgpO1MzLmRlZmF1bHQuZXh0ZW5kKHljdC5kZWZhdWx0KX0pO3ZhciAkOSxtbGU9ZigoKT0+e3YwKCk7Z2xlKCk7JDk9Y2xhc3N7c3RhdGlje3ModGhpcywiQ3JvbkpvYiIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLnN0YXR1cz0iaW5pdGlhbCIsdGhpcy5uZXh0RXhlY3V0aW9uVW5peD0wLHRoaXMuY3JvbkV4cHJlc3Npb249dCx0aGlzLmpvYkZ1bmN0aW9uPXIsdGhpcy5jcm9uUGFyc2VyPW5ldyBuOS5Dcm9uKHQpfWNoZWNrRXhlY3V0aW9uKCl7aWYodGhpcy5zdGF0dXM9PT0ic3RvcHBlZCIpcmV0dXJuIHRoaXMubmV4dEV4ZWN1dGlvblVuaXg7aWYodGhpcy5uZXh0RXhlY3V0aW9uVW5peD09PTAmJnRoaXMuZ2V0TmV4dEV4ZWN1dGlvblRpbWUoKSxEYXRlLm5vdygpPnRoaXMubmV4dEV4ZWN1dGlvblVuaXgpe2xldCBlPXRoaXMuam9iRnVuY3Rpb24odGhpcy5uZXh0RXhlY3V0aW9uVW5peCk7ZSBpbnN0YW5jZW9mIFByb21pc2UmJmUuY2F0Y2godD0+Y29uc29sZS5sb2codCkpLHRoaXMubmV4dEV4ZWN1dGlvblVuaXg9dGhpcy5nZXROZXh0RXhlY3V0aW9uVGltZSgpfXJldHVybiB0aGlzLm5leHRFeGVjdXRpb25Vbml4fWdldE5leHRFeGVjdXRpb25UaW1lKCl7cmV0dXJuIHRoaXMubmV4dEV4ZWN1dGlvblVuaXg9RGF0ZS5ub3coKSt0aGlzLmdldFRpbWVUb05leHRFeGVjdXRpb24oKX1nZXRUaW1lVG9OZXh0RXhlY3V0aW9uKCl7cmV0dXJuIHRoaXMuY3JvblBhcnNlci5tc1RvTmV4dCgpfXN0YXJ0KCl7dGhpcy5zdGF0dXM9InN0YXJ0ZWQifXN0b3AoKXt0aGlzLnN0YXR1cz0ic3RvcHBlZCJ9fX0pO3ZhciBibGUsZ2xlPWYoKCk9Pnt2MCgpO21sZSgpO2JsZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJDcm9uTWFuYWdlciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5zdGF0dXM9InN0b3BwZWQiLHRoaXMuY3JvbmpvYnM9bmV3IFdhLk9iamVjdE1hcCx0aGlzLmN5Y2xlV2FrZURlZmVycmVkPW51bGx9d2FrZUN5Y2xlKCl7dGhpcy5jeWNsZVdha2VEZWZlcnJlZCYmdGhpcy5jeWNsZVdha2VEZWZlcnJlZC5zdGF0dXM9PT0icGVuZGluZyImJnRoaXMuY3ljbGVXYWtlRGVmZXJyZWQucmVzb2x2ZSgpfWFkZENyb25qb2IoZSx0KXtsZXQgcj1uZXcgJDkodGhpcyxlLHQpO3JldHVybiB0aGlzLmNyb25qb2JzLmFkZChyKSx0aGlzLnN0YXR1cz09PSJzdGFydGVkIiYmKHIuc3RhcnQoKSx0aGlzLndha2VDeWNsZSgpKSxyfXJlbW92ZUNyb25qb2IoZSl7ZS5zdG9wKCksdGhpcy5jcm9uam9icy5yZW1vdmUoZSksdGhpcy5zdGF0dXM9PT0ic3RhcnRlZCImJnRoaXMud2FrZUN5Y2xlKCl9c3RhcnQoKXtpZih0aGlzLnN0YXR1cyE9PSJzdGFydGVkIil7dGhpcy5zdGF0dXM9InN0YXJ0ZWQiO2ZvcihsZXQgZSBvZiB0aGlzLmNyb25qb2JzLmdldEFycmF5KCkpZS5zdGFydCgpO3RoaXMucnVuQ3JvbkN5Y2xlKCl9fWFzeW5jIHJ1bkNyb25DeWNsZSgpe2Zvcig7dGhpcy5zdGF0dXM9PT0ic3RhcnRlZCI7KXt0aGlzLmN5Y2xlV2FrZURlZmVycmVkPW5ldyBldC5EZWZlcnJlZDtsZXQgZT0xLzA7Zm9yKGxldCB0IG9mIHRoaXMuY3JvbmpvYnMuZ2V0QXJyYXkoKSl7dC5jaGVja0V4ZWN1dGlvbigpO2xldCByPXQuZ2V0VGltZVRvTmV4dEV4ZWN1dGlvbigpO3I8ZSYmKGU9cil9aWYoZTwxLzAmJmU+MCl0aGlzLmV4ZWN1dGlvblRpbWVvdXQ9bmV3IFB0LlRpbWVvdXQoZSksYXdhaXQgUHJvbWlzZS5yYWNlKFt0aGlzLmV4ZWN1dGlvblRpbWVvdXQucHJvbWlzZSx0aGlzLmN5Y2xlV2FrZURlZmVycmVkLnByb21pc2VdKSx0aGlzLmV4ZWN1dGlvblRpbWVvdXQuY2FuY2VsKCk7ZWxzZXtpZihlPD0wKWNvbnRpbnVlO2F3YWl0IHRoaXMuY3ljbGVXYWtlRGVmZXJyZWQucHJvbWlzZX19dGhpcy5jeWNsZVdha2VEZWZlcnJlZD1udWxsfXN0b3AoKXt0aGlzLnN0YXR1cz09PSJzdGFydGVkIiYmKHRoaXMuc3RhdHVzPSJzdG9wcGVkIix0aGlzLmV4ZWN1dGlvblRpbWVvdXQmJnRoaXMuZXhlY3V0aW9uVGltZW91dC5jYW5jZWwoKSx0aGlzLndha2VDeWNsZSgpKTtmb3IobGV0IGUgb2YgdGhpcy5jcm9uam9icy5nZXRBcnJheSgpKWUuc3RvcCgpfX19KTt2YXIgeDAsdmxlLE9nYSxGZ2EseGxlPWYoKCk9Pnt2MCgpO3gwPXt5ZWFyczpzKChhPTEpPT5hKjMxNTRlNywieWVhcnMiKSxtb250aHM6cygoYT0xKT0+YSoyNjI4ZTYsIm1vbnRocyIpLHdlZWtzOnMoKGE9MSk9PmEqNjA0OGU1LCJ3ZWVrcyIpLGRheXM6cygoYT0xKT0+YSo4NjRlNSwiZGF5cyIpLGhvdXJzOnMoKGE9MSk9PmEqMzZlNSwiaG91cnMiKSxtaW51dGVzOnMoKGE9MSk9PmEqNmU0LCJtaW51dGVzIiksc2Vjb25kczpzKChhPTEpPT5hKjFlMywic2Vjb25kcyIpfSx2bGU9cyhhPT57bGV0IGU9MCx0PXMocj0+e2U9ZStyfSwiYWRkTWlsbGlTZWNvbmRzIik7cmV0dXJuIGEueWVhcnMmJnQoeDAueWVhcnMoYS55ZWFycykpLGEubW9udGhzJiZ0KHgwLm1vbnRocyhhLm1vbnRocykpLGEud2Vla3MmJnQoeDAud2Vla3MoYS53ZWVrcykpLGEuZGF5cyYmdCh4MC5kYXlzKGEuZGF5cykpLGEuaG91cnMmJnQoeDAuaG91cnMoYS5ob3VycykpLGEubWludXRlcyYmdCh4MC5taW51dGVzKGEubWludXRlcykpLGEuc2Vjb25kcyYmdCh4MC5zZWNvbmRzKGEuc2Vjb25kcykpLGV9LCJnZXRNaWxsaVNlY29uZHNGcm9tVW5pdHMiKSxPZ2E9cyhhPT5MOShhKSwiZ2V0TWlsbGlTZWNvbmRzQXNIdW1hblJlYWRhYmxlU3RyaW5nIiksRmdhPXMoYT0+VDkuZm9ybWF0RGlzdGFuY2VUb05vdyhuZXcgRGF0ZShhKSksImdldE1pbGxpU2Vjb25kc0FzSHVtYW5SZWFkYWJsZUFnb1RpbWUiKX0pO3ZhciB5bGUsd2N0PWYoKCk9Pnt2MCgpO3hsZSgpO3lsZT1jbGFzcyBhIGV4dGVuZHMgRGF0ZXtzdGF0aWN7cyh0aGlzLCJFeHRlbmRlZERhdGUiKX1zdGF0aWMgZnJvbU1pbGxpcyhlKXtyZXR1cm4gbmV3IGEoZSl9c3RhdGljIGZyb21EYXRlKGUpe3JldHVybiBuZXcgYShlLmdldFRpbWUoKSl9c3RhdGljIGZyb21FdXJvcGVhbkRhdGUoZSl7bGV0IHQ9LyguKilcLiguKilcLiguKikvLmV4ZWMoZSksaT1uZXcgRGF0ZShwYXJzZUZsb2F0KHRbM10pLHBhcnNlRmxvYXQodFsyXSktMSxwYXJzZUZsb2F0KHRbMV0pKS5nZXRUaW1lKCk7cmV0dXJuIG5ldyBhKGkpfXN0YXRpYyBmcm9tSHlwaGVkRGF0ZShlKXtsZXQgdD1uZXcgRGF0ZShlKS5nZXRUaW1lKCk7cmV0dXJuIG5ldyBhKHQpfXN0YXRpYyBmcm9tRXVyb3BlYW5EYXRlQW5kVGltZShlLHQ9IjEyOjAwOjAwIixyPSJFdXJvcGUvQmVybGluIil7bGV0IGk9LyguKilcLiguKilcLiguKikvLmV4ZWMoZSksbz1zKGM9PmAwJHtjfWAuc2xpY2UoLTIpLCJzbGljZURhdGUiKSxuPWAke2lbM119LSR7byhpWzJdKX0tJHtvKGlbMV0pfVQke3R9YCxkPVMzLmRlZmF1bHQobikudG9EYXRlKCkuZ2V0VGltZSgpO3JldHVybiBuZXcgYShkKX1jb25zdHJ1Y3RvcihlPURhdGUubm93KCkpe3N1cGVyKGUpfWV4cG9ydFRvRXVyb3BlYW5EYXRlKCl7bGV0IGU9dGhpcy5leHBvcnRUb1VuaXRzKCk7cmV0dXJuYCR7ZS5kYXlTdHJpbmd9LiR7ZS5tb250aFN0cmluZ30uJHtlLnllYXJTdHJpbmd9YH1leHBvcnRUb0h5cGhlZFNvcnRhYmxlRGF0ZSgpe2xldCBlPXRoaXMuZXhwb3J0VG9Vbml0cygpO3JldHVybmAke2UueWVhclN0cmluZ30tJHtlLm1vbnRoU3RyaW5nfS0ke2UuZGF5U3RyaW5nfWB9ZXhwb3J0VG9Vbml0cygpe2xldCBlPVsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSx0PVsiTW9uZGF5IiwiVHVlc2RheSIsIldlZG5lc2RheSIsIlRodXJzZGF5IiwiRnJpZGF5IiwiU2F0dXJkYXkiLCJTdW5kYXkiXTtyZXR1cm57eWVhcjp0aGlzLmdldEZ1bGxZZWFyKCkseWVhclN0cmluZzpgJHt0aGlzLmdldEZ1bGxZZWFyKCl9YCxtb250aDp0aGlzLmdldE1vbnRoKCkrMSxtb250aFN0cmluZzooIjAiKyh0aGlzLmdldE1vbnRoKCkrMSkpLnNsaWNlKC0yKSxtb250aE5hbWU6ZVt0aGlzLmdldE1vbnRoKCldLGRheTp0aGlzLmdldERhdGUoKSxkYXlTdHJpbmc6KCIwIit0aGlzLmdldERhdGUoKSkuc2xpY2UoLTIpLGRheU9mVGhlV2Vlazp0aGlzLmdldERheSgpLGRheU9mVGhlV2Vla05hbWU6dFt0aGlzLmdldERheSgpXX19Zm9ybWF0KGUpe3JldHVybiBTMy5kZWZhdWx0KHRoaXMuZ2V0VGltZSgpKS5mb3JtYXQoZSl9aXNUb2RheSgpe3JldHVybiBTMy5kZWZhdWx0KHRoaXMuZ2V0VGltZSgpKS5pc1RvZGF5KCl9bGVzc1RpbWVQYXNzZWRUb05vdyhlKXtsZXQgdD12bGUoZSk7cmV0dXJuIERhdGUubm93KCktdGhpcy5nZXRUaW1lKCk8dH1tb3JlVGltZVBhc3NlZFRvTm93KGUpe3JldHVybiF0aGlzLmxlc3NUaW1lUGFzc2VkVG9Ob3coZSl9fX0pO3ZhciB3bGUsTWN0PWYoKCk9Pnt3bGU9Y2xhc3N7c3RhdGlje3ModGhpcywiSHJ0TWVhc3VyZW1lbnQiKX1jb25zdHJ1Y3Rvcigpe3RoaXMubmFub1NlY29uZHM9bnVsbCx0aGlzLm1pbGxpU2Vjb25kcz1udWxsLHRoaXMuX21pbGxpU3RhcnQ9bnVsbCx0aGlzLl9taWxsaURpZmY9bnVsbCx0aGlzLl9zdGFydGVkPSExfXN0YXJ0KCl7dGhpcy5fc3RhcnRlZD0hMCx0aGlzLl9taWxsaVN0YXJ0PURhdGUubm93KCl9c3RvcCgpe2lmKHRoaXMuX3N0YXJ0ZWQ9PT0hMSl7Y29uc29sZS5sb2coIkhhc24ndCBzdGFydGVkIHlldCIpO3JldHVybn1yZXR1cm4gdGhpcy5fbWlsbGlEaWZmPURhdGUubm93KCktdGhpcy5fbWlsbGlTdGFydCx0aGlzLm5hbm9TZWNvbmRzPXRoaXMuX21pbGxpRGlmZioxZTMsdGhpcy5taWxsaVNlY29uZHM9dGhpcy5fbWlsbGlEaWZmLHRoaXN9cmVzZXQoKXt0aGlzLm5hbm9TZWNvbmRzPW51bGwsdGhpcy5taWxsaVNlY29uZHM9bnVsbCx0aGlzLl9taWxsaVN0YXJ0PW51bGwsdGhpcy5fbWlsbGlEaWZmPW51bGwsdGhpcy5fc3RhcnRlZD0hMX19fSk7dmFyIE1sZSxrY3Q9ZigoKT0+e3YwKCk7TWxlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkludGVydmFsIil9Y29uc3RydWN0b3IoZSl7dGhpcy5zdGF0dXM9ImluaXRpYWwiLHRoaXMuc3RhdHVzQXV0aG9yaXphdGlvbj1udWxsLHRoaXMuaW50ZXJ2YWxKb2JzPVtdLHRoaXMuaW50ZXJ2YWxNaWxsaXNlY29uZHM9ZX1zdGFydCgpe3RoaXMuc3RhdHVzPSJzdGFydGVkIjtsZXQgZT1uZXcgRGF0ZTt0aGlzLnN0YXR1c0F1dGhvcml6YXRpb249ZSxzKGFzeW5jKCk9Pntmb3IoO3RoaXMuc3RhdHVzPT09InN0YXJ0ZWQiJiZ0aGlzLnN0YXR1c0F1dGhvcml6YXRpb249PT1lOylhd2FpdCBQdC5kZWxheUZvcih0aGlzLmludGVydmFsTWlsbGlzZWNvbmRzKSx0aGlzLmV4ZWN1dGVJbnRlcnZhbEpvYnMoKX0sInJ1bkludGVydmFsIikoKX1zdG9wKCl7dGhpcy5zdGF0dXM9InN0b3BwZWQiLHRoaXMuc3RhdHVzQXV0aG9yaXphdGlvbj1udWxsfWFkZEludGVydmFsSm9iKGUpe3RoaXMuaW50ZXJ2YWxKb2JzLnB1c2goZSl9ZXhlY3V0ZUludGVydmFsSm9icygpe2ZvcihsZXQgZSBvZiB0aGlzLmludGVydmFsSm9icyllKCl9fX0pO3ZhciBSaCxrbGU9ZigoKT0+e3YwKCk7Umg9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJUaW1lU3RhbXAiKX1zdGF0aWMgZnJvbU1pbGxpU2Vjb25kcyhlKXtyZXR1cm4gbmV3IGEoZSl9c3RhdGljIGZyb21UaW1lU3RhbXAoZSl7bGV0IHQ9bmV3IGE7cmV0dXJuIHQuY2hhbmdlPXQubWlsbGlTZWNvbmRzLWUubWlsbGlTZWNvbmRzLHR9Y29uc3RydWN0b3IoZSl7dGhpcy5jaGFuZ2U9bnVsbCxlP3R5cGVvZiBlPT0ibnVtYmVyIiYmKHRoaXMuZGF0ZT1uZXcgRGF0ZShlKSk6dGhpcy5kYXRlPW5ldyBEYXRlLHRoaXMubWlsbGlTZWNvbmRzPXRoaXMuZGF0ZS5nZXRUaW1lKCksdGhpcy5lcG9jaHRpbWU9TWF0aC5mbG9vcih0aGlzLm1pbGxpU2Vjb25kcy8xZTMpfWlzT2xkZXJUaGFuT3RoZXJUaW1lU3RhbXAoZSx0PTApe3JldHVybiB0aGlzLm1pbGxpU2Vjb25kczxlLm1pbGxpU2Vjb25kcy10fWlzT2xkZXJUaGFuKGUsdD0wKXtyZXR1cm4gdGhpcy5taWxsaVNlY29uZHMrdDxlLm1pbGxpU2Vjb25kc31pc1lvdW5nZXJUaGFuT3RoZXJUaW1lU3RhbXAoZSx0PTApe3JldHVybiB0aGlzLm1pbGxpU2Vjb25kcz5lLm1pbGxpU2Vjb25kcyt0fWlzWW91bmdlclRoYW5NaWxsaVNlY29uZHMoZSl7bGV0IHI9bmV3IGEoKS5lcG9jaHRpbWUtZSxpPW5ldyBhKHIpO3JldHVybiB0aGlzLmlzWW91bmdlclRoYW5PdGhlclRpbWVTdGFtcChpKX19fSk7dmFyIFNsZSxTY3Q9ZigoKT0+e3YwKCk7a2xlKCk7U2xlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRpbWVyIil9Z2V0IHRpbWVMZWZ0KCl7cmV0dXJuIHRoaXMudGltZUluTWlsbGlzZWNvbmRzLXRoaXMucGF1c2VkQXQuY2hhbmdlfWNvbnN0cnVjdG9yKGUpe3RoaXMuc3RhdGU9ImluaXRpYXRlZCIsdGhpcy5jb21wbGV0ZWREZWZlcnJlZD1ldC5kZWZlcigpLHRoaXMudGltZUluTWlsbGlzZWNvbmRzPWUsdGhpcy5jb21wbGV0ZWQ9dGhpcy5jb21wbGV0ZWREZWZlcnJlZC5wcm9taXNlfXN0YXJ0KCl7aWYoIXRoaXMuc3RhcnRlZEF0KXRoaXMuY3VycmVudFRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuY29tcGxldGVkRGVmZXJyZWQucmVzb2x2ZSgpfSx0aGlzLnRpbWVJbk1pbGxpc2Vjb25kcyksdGhpcy5zdGFydGVkQXQ9bmV3IFJoO2Vsc2UgdGhyb3cgbmV3IEVycm9yKCJ0aW1lciBoYXMgYmVlbiBzdGFydGVkIGJlZm9yZS4gUGxlYXNlIHVzZSByZXN1bWUgaW5zdGVhZCIpfXBhdXNlKCl7dGhpcy5zdGFydGVkQXQmJihjbGVhclRpbWVvdXQodGhpcy5jdXJyZW50VGltZW91dCksdGhpcy5jdXJyZW50VGltZW91dD1udWxsLHRoaXMucGF1c2VkQXQ9UmguZnJvbVRpbWVTdGFtcCh0aGlzLnN0YXJ0ZWRBdCkpfXJlc3VtZSgpe2lmKHRoaXMuc3RhcnRlZEF0KXRoaXMuY3VycmVudFRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuY29tcGxldGVkRGVmZXJyZWQucmVzb2x2ZSgpfSx0aGlzLnRpbWVMZWZ0KTtlbHNlIHRocm93IG5ldyBFcnJvcigidGltZXIgaGFzIE5PVCBiZWVuIHN0YXJ0ZWQgYmVmb3JlLiBQbGVhc2UgdXNlIC5zdGFydCgpIGluc3RlYWQiKX1yZXNldCgpe3RoaXMucGF1c2UoKSx0aGlzLnN0YXJ0ZWRBdD1udWxsLHRoaXMucGF1c2VkQXQ9bnVsbH19fSk7dmFyIHozPXt9O2x0KHozLHtDcm9uSm9iOigpPT4kOSxDcm9uTWFuYWdlcjooKT0+YmxlLEV4dGVuZGVkRGF0ZTooKT0+eWxlLEhydE1lYXN1cmVtZW50OigpPT53bGUsSW50ZXJ2YWw6KCk9Pk1sZSxUaW1lU3RhbXA6KCk9PlJoLFRpbWVyOigpPT5TbGUsZ2V0TWlsbGlTZWNvbmRzQXNIdW1hblJlYWRhYmxlQWdvVGltZTooKT0+RmdhLGdldE1pbGxpU2Vjb25kc0FzSHVtYW5SZWFkYWJsZVN0cmluZzooKT0+T2dhLGdldE1pbGxpU2Vjb25kc0Zyb21Vbml0czooKT0+dmxlLHVuaXRzOigpPT54MH0pO3ZhciB6Y3Q9ZigoKT0+e2dsZSgpO21sZSgpO3djdCgpO01jdCgpO2tjdCgpO1NjdCgpO2tsZSgpO3hsZSgpfSk7dmFyIF9jdD1ibygoRF9yLENjdCk9PnsidXNlIHN0cmljdCI7Q2N0LmV4cG9ydHM9Y2xhc3N7c3RhdGlje3ModGhpcywiU3ltYm9sVHJlZU5vZGUiKX1jb25zdHJ1Y3Rvcigpe3RoaXMucGFyZW50PW51bGwsdGhpcy5wcmV2aW91c1NpYmxpbmc9bnVsbCx0aGlzLm5leHRTaWJsaW5nPW51bGwsdGhpcy5maXJzdENoaWxkPW51bGwsdGhpcy5sYXN0Q2hpbGQ9bnVsbCx0aGlzLmNoaWxkcmVuVmVyc2lvbj0wLHRoaXMuY2hpbGRJbmRleENhY2hlZFVwVG89bnVsbCx0aGlzLmNhY2hlZEluZGV4PS0xLHRoaXMuY2FjaGVkSW5kZXhWZXJzaW9uPU5hTn1nZXQgaXNBdHRhY2hlZCgpe3JldHVybiEhKHRoaXMucGFyZW50fHx0aGlzLnByZXZpb3VzU2libGluZ3x8dGhpcy5uZXh0U2libGluZyl9Z2V0IGhhc0NoaWxkcmVuKCl7cmV0dXJuISF0aGlzLmZpcnN0Q2hpbGR9Y2hpbGRyZW5DaGFuZ2VkKCl7dGhpcy5jaGlsZHJlblZlcnNpb249dGhpcy5jaGlsZHJlblZlcnNpb24rMSY0Mjk0OTY3Mjk1LHRoaXMuY2hpbGRJbmRleENhY2hlZFVwVG89bnVsbH1nZXRDYWNoZWRJbmRleChlKXtyZXR1cm4gdGhpcy5jYWNoZWRJbmRleFZlcnNpb24hPT1lLmNoaWxkcmVuVmVyc2lvbj8odGhpcy5jYWNoZWRJbmRleFZlcnNpb249TmFOLC0xKTp0aGlzLmNhY2hlZEluZGV4fXNldENhY2hlZEluZGV4KGUsdCl7dGhpcy5jYWNoZWRJbmRleFZlcnNpb249ZS5jaGlsZHJlblZlcnNpb24sdGhpcy5jYWNoZWRJbmRleD10fX19KTt2YXIgTGN0PWJvKChFX3IsVGN0KT0+eyJ1c2Ugc3RyaWN0IjtUY3QuZXhwb3J0cz1PYmplY3QuZnJlZXplKHtESVNDT05ORUNURUQ6MSxQUkVDRURJTkc6MixGT0xMT1dJTkc6NCxDT05UQUlOUzo4LENPTlRBSU5FRF9CWToxNn0pfSk7dmFyIFBjdD1ibygoUF9yLEVjdCk9PnsidXNlIHN0cmljdCI7dmFyICRjdD1TeW1ib2woKSxEY3Q9U3ltYm9sKCkseTA9U3ltYm9sKCksQWN0PVN5bWJvbCgpLHIxPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRyZWVJdGVyYXRvciIpfWNvbnN0cnVjdG9yKGUsdCxyLGkpe3RoaXNbJGN0XT1lLHRoaXNbRGN0XT10LHRoaXNbeTBdPXIsdGhpc1tBY3RdPWl9bmV4dCgpe2xldCBlPXRoaXNbJGN0XSx0PXRoaXNbQWN0XSxyPXRoaXNbRGN0XTtpZighdGhpc1t5MF0pcmV0dXJue2RvbmU6ITAsdmFsdWU6cn07bGV0IGk9dGhpc1t5MF07cmV0dXJuIHQ9PT0xP3RoaXNbeTBdPWUuX25vZGUoaSkucHJldmlvdXNTaWJsaW5nOnQ9PT0yP3RoaXNbeTBdPWUuX25vZGUoaSkubmV4dFNpYmxpbmc6dD09PTM/dGhpc1t5MF09ZS5fbm9kZShpKS5wYXJlbnQ6dD09PTQ/dGhpc1t5MF09ZS5wcmVjZWRpbmcoaSx7cm9vdDpyfSk6dGhpc1t5MF09ZS5mb2xsb3dpbmcoaSx7cm9vdDpyfSkse2RvbmU6ITEsdmFsdWU6aX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkocjEucHJvdG90eXBlLFN5bWJvbC5pdGVyYXRvcix7dmFsdWU6cyhmdW5jdGlvbigpe3JldHVybiB0aGlzfSwidmFsdWUiKSx3cml0YWJsZTohMX0pLHIxLlBSRVY9MSxyMS5ORVhUPTIscjEuUEFSRU5UPTMscjEuUFJFQ0VESU5HPTQscjEuRk9MTE9XSU5HPTUsT2JqZWN0LmZyZWV6ZShyMSksT2JqZWN0LmZyZWV6ZShyMS5wcm90b3R5cGUpLEVjdC5leHBvcnRzPXIxfSk7dmFyIE5jdD1ibygoTl9yLEljdCk9PnsidXNlIHN0cmljdCI7dmFyIEhnYT1fY3QoKSx3MD1MY3QoKSxibj1QY3QoKTtmdW5jdGlvbiB6bGUoKXtyZXR1cm4hMH1zKHpsZSwicmV0dXJuVHJ1ZSIpO2Z1bmN0aW9uIE9oKGEsZSl7cmV0dXJuIGFbYS5sZW5ndGgtMS1lXX1zKE9oLCJyZXZlcnNlQXJyYXlJbmRleCIpO3ZhciBLWj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTeW1ib2xUcmVlIil9Y29uc3RydWN0b3IoZSl7dGhpcy5zeW1ib2w9U3ltYm9sKGV8fCJTeW1ib2xUcmVlIGRhdGEiKX1pbml0aWFsaXplKGUpe3JldHVybiB0aGlzLl9ub2RlKGUpLGV9X25vZGUoZSl7aWYoIWUpcmV0dXJuIG51bGw7bGV0IHQ9ZVt0aGlzLnN5bWJvbF07cmV0dXJuIHR8fChlW3RoaXMuc3ltYm9sXT1uZXcgSGdhKX1oYXNDaGlsZHJlbihlKXtyZXR1cm4gdGhpcy5fbm9kZShlKS5oYXNDaGlsZHJlbn1maXJzdENoaWxkKGUpe3JldHVybiB0aGlzLl9ub2RlKGUpLmZpcnN0Q2hpbGR9bGFzdENoaWxkKGUpe3JldHVybiB0aGlzLl9ub2RlKGUpLmxhc3RDaGlsZH1wcmV2aW91c1NpYmxpbmcoZSl7cmV0dXJuIHRoaXMuX25vZGUoZSkucHJldmlvdXNTaWJsaW5nfW5leHRTaWJsaW5nKGUpe3JldHVybiB0aGlzLl9ub2RlKGUpLm5leHRTaWJsaW5nfXBhcmVudChlKXtyZXR1cm4gdGhpcy5fbm9kZShlKS5wYXJlbnR9bGFzdEluY2x1c2l2ZURlc2NlbmRhbnQoZSl7bGV0IHQscj1lO2Zvcig7dD10aGlzLl9ub2RlKHIpLmxhc3RDaGlsZDspcj10O3JldHVybiByfXByZWNlZGluZyhlLHQpe2xldCByPXQmJnQucm9vdDtpZihlPT09cilyZXR1cm4gbnVsbDtsZXQgaT10aGlzLl9ub2RlKGUpLnByZXZpb3VzU2libGluZztyZXR1cm4gaT90aGlzLmxhc3RJbmNsdXNpdmVEZXNjZW5kYW50KGkpOnRoaXMuX25vZGUoZSkucGFyZW50fWZvbGxvd2luZyhlLHQpe2xldCByPXQmJnQucm9vdCxvPSEodCYmdC5za2lwQ2hpbGRyZW4pJiZ0aGlzLl9ub2RlKGUpLmZpcnN0Q2hpbGQ7aWYobylyZXR1cm4gbztsZXQgbj1lO2Rve2lmKG49PT1yKXJldHVybiBudWxsO2xldCBsPXRoaXMuX25vZGUobikubmV4dFNpYmxpbmc7aWYobClyZXR1cm4gbDtuPXRoaXMuX25vZGUobikucGFyZW50fXdoaWxlKG4pO3JldHVybiBudWxsfWNoaWxkcmVuVG9BcnJheShlLHQpe2xldCByPXQmJnQuYXJyYXl8fFtdLGk9dCYmdC5maWx0ZXJ8fHpsZSxvPXQmJnQudGhpc0FyZ3x8dm9pZCAwLG49dGhpcy5fbm9kZShlKSxsPW4uZmlyc3RDaGlsZCxkPTA7Zm9yKDtsOyl7bGV0IGM9dGhpcy5fbm9kZShsKTtjLnNldENhY2hlZEluZGV4KG4sZCksaS5jYWxsKG8sbCkmJnIucHVzaChsKSxsPWMubmV4dFNpYmxpbmcsKytkfXJldHVybiByfWFuY2VzdG9yc1RvQXJyYXkoZSx0KXtsZXQgcj10JiZ0LmFycmF5fHxbXSxpPXQmJnQuZmlsdGVyfHx6bGUsbz10JiZ0LnRoaXNBcmd8fHZvaWQgMCxuPWU7Zm9yKDtuOylpLmNhbGwobyxuKSYmci5wdXNoKG4pLG49dGhpcy5fbm9kZShuKS5wYXJlbnQ7cmV0dXJuIHJ9dHJlZVRvQXJyYXkoZSx0KXtsZXQgcj10JiZ0LmFycmF5fHxbXSxpPXQmJnQuZmlsdGVyfHx6bGUsbz10JiZ0LnRoaXNBcmd8fHZvaWQgMCxuPWU7Zm9yKDtuOylpLmNhbGwobyxuKSYmci5wdXNoKG4pLG49dGhpcy5mb2xsb3dpbmcobix7cm9vdDplfSk7cmV0dXJuIHJ9Y2hpbGRyZW5JdGVyYXRvcihlLHQpe2xldCByPXQmJnQucmV2ZXJzZSxpPXRoaXMuX25vZGUoZSk7cmV0dXJuIG5ldyBibih0aGlzLGUscj9pLmxhc3RDaGlsZDppLmZpcnN0Q2hpbGQscj9ibi5QUkVWOmJuLk5FWFQpfXByZXZpb3VzU2libGluZ3NJdGVyYXRvcihlKXtyZXR1cm4gbmV3IGJuKHRoaXMsZSx0aGlzLl9ub2RlKGUpLnByZXZpb3VzU2libGluZyxibi5QUkVWKX1uZXh0U2libGluZ3NJdGVyYXRvcihlKXtyZXR1cm4gbmV3IGJuKHRoaXMsZSx0aGlzLl9ub2RlKGUpLm5leHRTaWJsaW5nLGJuLk5FWFQpfWFuY2VzdG9yc0l0ZXJhdG9yKGUpe3JldHVybiBuZXcgYm4odGhpcyxlLGUsYm4uUEFSRU5UKX10cmVlSXRlcmF0b3IoZSx0KXtsZXQgcj10JiZ0LnJldmVyc2U7cmV0dXJuIG5ldyBibih0aGlzLGUscj90aGlzLmxhc3RJbmNsdXNpdmVEZXNjZW5kYW50KGUpOmUscj9ibi5QUkVDRURJTkc6Ym4uRk9MTE9XSU5HKX1pbmRleChlKXtsZXQgdD10aGlzLl9ub2RlKGUpLHI9dGhpcy5fbm9kZSh0LnBhcmVudCk7aWYoIXIpcmV0dXJuLTE7bGV0IGk9dC5nZXRDYWNoZWRJbmRleChyKTtpZihpPj0wKXJldHVybiBpO2k9MDtsZXQgbz1yLmZpcnN0Q2hpbGQ7aWYoci5jaGlsZEluZGV4Q2FjaGVkVXBUbyl7bGV0IG49dGhpcy5fbm9kZShyLmNoaWxkSW5kZXhDYWNoZWRVcFRvKTtvPW4ubmV4dFNpYmxpbmcsaT1uLmdldENhY2hlZEluZGV4KHIpKzF9Zm9yKDtvOyl7bGV0IG49dGhpcy5fbm9kZShvKTtpZihuLnNldENhY2hlZEluZGV4KHIsaSksbz09PWUpYnJlYWs7KytpLG89bi5uZXh0U2libGluZ31yZXR1cm4gci5jaGlsZEluZGV4Q2FjaGVkVXBUbz1lLGl9Y2hpbGRyZW5Db3VudChlKXtsZXQgdD10aGlzLl9ub2RlKGUpO3JldHVybiB0Lmxhc3RDaGlsZD90aGlzLmluZGV4KHQubGFzdENoaWxkKSsxOjB9Y29tcGFyZVRyZWVQb3NpdGlvbihlLHQpe2lmKGU9PT10KXJldHVybiAwO2xldCByPVtdO3tsZXQgcD1lO2Zvcig7cDspe2lmKHA9PT10KXJldHVybiB3MC5DT05UQUlOU3x3MC5QUkVDRURJTkc7ci5wdXNoKHApLHA9dGhpcy5wYXJlbnQocCl9fWxldCBpPVtdO3tsZXQgcD10O2Zvcig7cDspe2lmKHA9PT1lKXJldHVybiB3MC5DT05UQUlORURfQll8dzAuRk9MTE9XSU5HO2kucHVzaChwKSxwPXRoaXMucGFyZW50KHApfX1sZXQgbz1PaChyLDApO2lmKCFvfHxvIT09T2goaSwwKSlyZXR1cm4gdzAuRElTQ09OTkVDVEVEO2xldCBuPTAsbD1NYXRoLm1pbihyLmxlbmd0aCxpLmxlbmd0aCk7Zm9yKGxldCBwPTA7cDxsOysrcCl7bGV0IHU9T2gocixwKSxtPU9oKGkscCk7aWYodSE9PW0pYnJlYWs7bj1wfWxldCBkPXRoaXMuaW5kZXgoT2gocixuKzEpKTtyZXR1cm4gdGhpcy5pbmRleChPaChpLG4rMSkpPGQ/dzAuUFJFQ0VESU5HOncwLkZPTExPV0lOR31yZW1vdmUoZSl7bGV0IHQ9dGhpcy5fbm9kZShlKSxyPXRoaXMuX25vZGUodC5wYXJlbnQpLGk9dGhpcy5fbm9kZSh0LnByZXZpb3VzU2libGluZyksbz10aGlzLl9ub2RlKHQubmV4dFNpYmxpbmcpO3JldHVybiByJiYoci5maXJzdENoaWxkPT09ZSYmKHIuZmlyc3RDaGlsZD10Lm5leHRTaWJsaW5nKSxyLmxhc3RDaGlsZD09PWUmJihyLmxhc3RDaGlsZD10LnByZXZpb3VzU2libGluZykpLGkmJihpLm5leHRTaWJsaW5nPXQubmV4dFNpYmxpbmcpLG8mJihvLnByZXZpb3VzU2libGluZz10LnByZXZpb3VzU2libGluZyksdC5wYXJlbnQ9bnVsbCx0LnByZXZpb3VzU2libGluZz1udWxsLHQubmV4dFNpYmxpbmc9bnVsbCx0LmNhY2hlZEluZGV4PS0xLHQuY2FjaGVkSW5kZXhWZXJzaW9uPU5hTixyJiZyLmNoaWxkcmVuQ2hhbmdlZCgpLGV9aW5zZXJ0QmVmb3JlKGUsdCl7bGV0IHI9dGhpcy5fbm9kZShlKSxpPXRoaXMuX25vZGUoci5wcmV2aW91c1NpYmxpbmcpLG89dGhpcy5fbm9kZSh0KSxuPXRoaXMuX25vZGUoci5wYXJlbnQpO2lmKG8uaXNBdHRhY2hlZCl0aHJvdyBFcnJvcigiR2l2ZW4gb2JqZWN0IGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGlzIFN5bWJvbFRyZWUsIHJlbW92ZSBpdCBmaXJzdCIpO3JldHVybiBvLnBhcmVudD1yLnBhcmVudCxvLnByZXZpb3VzU2libGluZz1yLnByZXZpb3VzU2libGluZyxvLm5leHRTaWJsaW5nPWUsci5wcmV2aW91c1NpYmxpbmc9dCxpJiYoaS5uZXh0U2libGluZz10KSxuJiZuLmZpcnN0Q2hpbGQ9PT1lJiYobi5maXJzdENoaWxkPXQpLG4mJm4uY2hpbGRyZW5DaGFuZ2VkKCksdH1pbnNlcnRBZnRlcihlLHQpe2xldCByPXRoaXMuX25vZGUoZSksaT10aGlzLl9ub2RlKHIubmV4dFNpYmxpbmcpLG89dGhpcy5fbm9kZSh0KSxuPXRoaXMuX25vZGUoci5wYXJlbnQpO2lmKG8uaXNBdHRhY2hlZCl0aHJvdyBFcnJvcigiR2l2ZW4gb2JqZWN0IGlzIGFscmVhZHkgcHJlc2VudCBpbiB0aGlzIFN5bWJvbFRyZWUsIHJlbW92ZSBpdCBmaXJzdCIpO3JldHVybiBvLnBhcmVudD1yLnBhcmVudCxvLnByZXZpb3VzU2libGluZz1lLG8ubmV4dFNpYmxpbmc9ci5uZXh0U2libGluZyxyLm5leHRTaWJsaW5nPXQsaSYmKGkucHJldmlvdXNTaWJsaW5nPXQpLG4mJm4ubGFzdENoaWxkPT09ZSYmKG4ubGFzdENoaWxkPXQpLG4mJm4uY2hpbGRyZW5DaGFuZ2VkKCksdH1wcmVwZW5kQ2hpbGQoZSx0KXtsZXQgcj10aGlzLl9ub2RlKGUpLGk9dGhpcy5fbm9kZSh0KTtpZihpLmlzQXR0YWNoZWQpdGhyb3cgRXJyb3IoIkdpdmVuIG9iamVjdCBpcyBhbHJlYWR5IHByZXNlbnQgaW4gdGhpcyBTeW1ib2xUcmVlLCByZW1vdmUgaXQgZmlyc3QiKTtyZXR1cm4gci5oYXNDaGlsZHJlbj90aGlzLmluc2VydEJlZm9yZShyLmZpcnN0Q2hpbGQsdCk6KGkucGFyZW50PWUsci5maXJzdENoaWxkPXQsci5sYXN0Q2hpbGQ9dCxyLmNoaWxkcmVuQ2hhbmdlZCgpKSx0fWFwcGVuZENoaWxkKGUsdCl7bGV0IHI9dGhpcy5fbm9kZShlKSxpPXRoaXMuX25vZGUodCk7aWYoaS5pc0F0dGFjaGVkKXRocm93IEVycm9yKCJHaXZlbiBvYmplY3QgaXMgYWxyZWFkeSBwcmVzZW50IGluIHRoaXMgU3ltYm9sVHJlZSwgcmVtb3ZlIGl0IGZpcnN0Iik7cmV0dXJuIHIuaGFzQ2hpbGRyZW4/dGhpcy5pbnNlcnRBZnRlcihyLmxhc3RDaGlsZCx0KTooaS5wYXJlbnQ9ZSxyLmZpcnN0Q2hpbGQ9dCxyLmxhc3RDaGlsZD10LHIuY2hpbGRyZW5DaGFuZ2VkKCkpLHR9fTtJY3QuZXhwb3J0cz1LWixLWi5UcmVlUG9zaXRpb249dzB9KTt2YXIgWlosdm49ZigoKT0+e01sKCk7a3N0KCk7S3MoKTtwMigpO3pjdCgpO1paPUZpKE5jdCgpLDEpfSk7dmFyIENsZSxSY3Q9ZigoKT0+e3ZuKCk7Q2xlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkFzeW5jRXhlY3V0aW9uU3RhY2siKX1leGVjdXRpb25TbG90cz1bXTtpc1Byb2Nlc3Npbmc9ITE7bm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3k9MS8wO25vbkV4Y2x1c2l2ZUN1cnJlbnRDb3VudD0wO25vbkV4Y2x1c2l2ZVBlbmRpbmdRdWV1ZT1bXTthc3luYyBnZXRFeGNsdXNpdmVFeGVjdXRpb25TbG90KGUsdCl7bGV0IHI9ZXQuZGVmZXIoKSxpPXtmdW5jVG9FeGVjdXRlOmUsZXhlY3V0aW9uRGVmZXJyZWQ6cix0aW1lb3V0OnQsbW9kZToiZXhjbHVzaXZlIn07cmV0dXJuIHRoaXMuZXhlY3V0aW9uU2xvdHMucHVzaChpKSx0aGlzLnByb2Nlc3NFeGVjdXRpb25TbG90cygpLHIucHJvbWlzZX1hc3luYyBnZXROb25FeGNsdXNpdmVFeGVjdXRpb25TbG90KGUsdCl7bGV0IHI9ZXQuZGVmZXIoKSxpPXtmdW5jVG9FeGVjdXRlOmUsZXhlY3V0aW9uRGVmZXJyZWQ6cix0aW1lb3V0OnQsbW9kZToibm9uZXhjbHVzaXZlIn07cmV0dXJuIHRoaXMuZXhlY3V0aW9uU2xvdHMucHVzaChpKSx0aGlzLnByb2Nlc3NFeGVjdXRpb25TbG90cygpLHIucHJvbWlzZX1zZXROb25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeShlKXtpZighTnVtYmVyLmlzRmluaXRlKGUpfHxlPDEpdGhyb3cgbmV3IEVycm9yKCJub25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeSBtdXN0IGJlIGEgZmluaXRlIG51bWJlciA+PSAxIik7dGhpcy5ub25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeT1lfWdldE5vbkV4Y2x1c2l2ZU1heENvbmN1cnJlbmN5KCl7cmV0dXJuIHRoaXMubm9uRXhjbHVzaXZlTWF4Q29uY3VycmVuY3l9Z2V0QWN0aXZlTm9uRXhjbHVzaXZlQ291bnQoKXtyZXR1cm4gdGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnR9Z2V0UGVuZGluZ05vbkV4Y2x1c2l2ZUNvdW50KCl7cmV0dXJuIHRoaXMubm9uRXhjbHVzaXZlUGVuZGluZ1F1ZXVlLmxlbmd0aH1hc3luYyBwcm9jZXNzRXhlY3V0aW9uU2xvdHMoKXtpZighdGhpcy5pc1Byb2Nlc3Npbmcpe2Zvcih0aGlzLmlzUHJvY2Vzc2luZz0hMDt0aGlzLmV4ZWN1dGlvblNsb3RzLmxlbmd0aD4wOyl7bGV0IGU9dGhpcy5leGVjdXRpb25TbG90c1swXTtpZihlLm1vZGU9PT0iZXhjbHVzaXZlIilhd2FpdCB0aGlzLmV4ZWN1dGVFeGNsdXNpdmVTbG90KGUpLHRoaXMuZXhlY3V0aW9uU2xvdHMuc2hpZnQoKTtlbHNle2xldCB0PVtdO2Zvcig7dGhpcy5leGVjdXRpb25TbG90cy5sZW5ndGg+MCYmdGhpcy5leGVjdXRpb25TbG90c1swXS5tb2RlPT09Im5vbmV4Y2x1c2l2ZSI7KXQucHVzaCh0aGlzLmV4ZWN1dGlvblNsb3RzLnNoaWZ0KCkpO2F3YWl0IHRoaXMuZXhlY3V0ZU5vbkV4Y2x1c2l2ZVNsb3RzKHQpfX10aGlzLmlzUHJvY2Vzc2luZz0hMX19YXN5bmMgZXhlY3V0ZUV4Y2x1c2l2ZVNsb3QoZSl7dHJ5e2lmKGUudGltZW91dCl7bGV0IHQ9bmV3IFB0LlRpbWVvdXQoZS50aW1lb3V0KTt0cnl7bGV0IHI9YXdhaXQgUHJvbWlzZS5yYWNlKFtlLmZ1bmNUb0V4ZWN1dGUoKSx0LnByb21pc2UudGhlbigoKT0+e3Rocm93IG5ldyBFcnJvcigiVGltZW91dCByZWFjaGVkIil9KV0pO3QuY2FuY2VsKCksZS5leGVjdXRpb25EZWZlcnJlZC5yZXNvbHZlKHIpfWNhdGNoKHIpe3Rocm93IHQuY2FuY2VsKCkscn19ZWxzZXtsZXQgdD1hd2FpdCBlLmZ1bmNUb0V4ZWN1dGUoKTtlLmV4ZWN1dGlvbkRlZmVycmVkLnJlc29sdmUodCl9fWNhdGNoKHQpe2UuZXhlY3V0aW9uRGVmZXJyZWQucmVqZWN0KHQpfX1hc3luYyBleGVjdXRlTm9uRXhjbHVzaXZlU2xvdHMoZSl7bGV0IHQ9ZS5tYXAoYXN5bmMgcj0+e2F3YWl0IHRoaXMud2FpdEZvck5vbkV4Y2x1c2l2ZVNsb3QoKTt0cnl7aWYoci50aW1lb3V0KXtsZXQgaT1uZXcgUHQuVGltZW91dChyLnRpbWVvdXQpO3RyeXtsZXQgbz1hd2FpdCBQcm9taXNlLnJhY2UoW3IuZnVuY1RvRXhlY3V0ZSgpLGkucHJvbWlzZS50aGVuKCgpPT57dGhyb3cgbmV3IEVycm9yKCJUaW1lb3V0IHJlYWNoZWQiKX0pXSk7aS5jYW5jZWwoKSxyLmV4ZWN1dGlvbkRlZmVycmVkLnJlc29sdmUobyl9Y2F0Y2gobyl7dGhyb3cgaS5jYW5jZWwoKSxvfX1lbHNle2xldCBpPWF3YWl0IHIuZnVuY1RvRXhlY3V0ZSgpO3IuZXhlY3V0aW9uRGVmZXJyZWQucmVzb2x2ZShpKX19Y2F0Y2goaSl7ci5leGVjdXRpb25EZWZlcnJlZC5yZWplY3QoaSl9ZmluYWxseXt0aGlzLnJlbGVhc2VOb25FeGNsdXNpdmVTbG90KCl9fSk7YXdhaXQgUHJvbWlzZS5hbGwodCl9d2FpdEZvck5vbkV4Y2x1c2l2ZVNsb3QoKXtyZXR1cm4gdGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnQ8dGhpcy5ub25FeGNsdXNpdmVNYXhDb25jdXJyZW5jeT8odGhpcy5ub25FeGNsdXNpdmVDdXJyZW50Q291bnQrKyxQcm9taXNlLnJlc29sdmUoKSk6bmV3IFByb21pc2UoZT0+e3RoaXMubm9uRXhjbHVzaXZlUGVuZGluZ1F1ZXVlLnB1c2goKCk9Pnt0aGlzLm5vbkV4Y2x1c2l2ZUN1cnJlbnRDb3VudCsrLGUoKX0pfSl9cmVsZWFzZU5vbkV4Y2x1c2l2ZVNsb3QoKXt0aGlzLm5vbkV4Y2x1c2l2ZUN1cnJlbnRDb3VudC0tO2xldCBlPXRoaXMubm9uRXhjbHVzaXZlUGVuZGluZ1F1ZXVlLnNoaWZ0KCk7ZSYmZSgpfX19KTt2YXIgX2xlLE9jdD1mKCgpPT57dm4oKTtfbGU9Y2xhc3N7c3RhdGlje3ModGhpcywiQmFja3ByZXNzdXJlZEFycmF5Iil9ZGF0YTtoaWdoV2F0ZXJNYXJrO2hhc1NwYWNlPW5ldyBDYS5yeGpzLlN1YmplY3Q7aXRlbXNBdmFpbGFibGU9bmV3IENhLnJ4anMuU3ViamVjdDtpc0Rlc3Ryb3llZD0hMTtjb25zdHJ1Y3RvcihlPTE2KXt0aGlzLmRhdGE9W10sdGhpcy5oaWdoV2F0ZXJNYXJrPWV9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmRhdGEubGVuZ3RofXB1c2goZSl7dGhpcy5kYXRhLnB1c2goZSksdGhpcy5pdGVtc0F2YWlsYWJsZS5uZXh0KCJpdGVtc0F2YWlsYWJsZSIpO2xldCB0PXRoaXMuY2hlY2tTcGFjZUF2YWlsYWJsZSgpO3JldHVybiB0JiZ0aGlzLmhhc1NwYWNlLm5leHQoImhhc1NwYWNlIiksdH1wdXNoTWFueShlKXtmb3IobGV0IHQgb2YgZSl0aGlzLnB1c2godCk7cmV0dXJuIHRoaXMuY2hlY2tTcGFjZUF2YWlsYWJsZSgpfXNoaWZ0KCl7bGV0IGU9dGhpcy5kYXRhLnNoaWZ0KCk7cmV0dXJuIHRoaXMuY2hlY2tTcGFjZUF2YWlsYWJsZSgpJiZ0aGlzLmhhc1NwYWNlLm5leHQoImhhc1NwYWNlIiksZX1wZWVrKCl7cmV0dXJuIHRoaXMuZGF0YVswXX1jaGVja1NwYWNlQXZhaWxhYmxlKCl7cmV0dXJuIHRoaXMuZGF0YS5sZW5ndGg8dGhpcy5oaWdoV2F0ZXJNYXJrfWNoZWNrSGFzSXRlbXMoKXtyZXR1cm4gdGhpcy5kYXRhLmxlbmd0aD4wfXdhaXRGb3JTcGFjZSgpe3JldHVybiBuZXcgUHJvbWlzZShlPT57aWYodGhpcy5jaGVja1NwYWNlQXZhaWxhYmxlKCl8fHRoaXMuaXNEZXN0cm95ZWQpZSgpO2Vsc2V7bGV0IHQ9dGhpcy5oYXNTcGFjZS5zdWJzY3JpYmUoe25leHQ6cygoKT0+e3QudW5zdWJzY3JpYmUoKSxlKCl9LCJuZXh0IiksY29tcGxldGU6cygoKT0+e2UoKX0sImNvbXBsZXRlIil9KX19KX13YWl0Rm9ySXRlbXMoKXtyZXR1cm4gbmV3IFByb21pc2UoZT0+e2lmKHRoaXMuZGF0YS5sZW5ndGg+MHx8dGhpcy5pc0Rlc3Ryb3llZCllKCk7ZWxzZXtsZXQgdD10aGlzLml0ZW1zQXZhaWxhYmxlLnN1YnNjcmliZSh7bmV4dDpzKCgpPT57dC51bnN1YnNjcmliZSgpLGUoKX0sIm5leHQiKSxjb21wbGV0ZTpzKCgpPT57ZSgpfSwiY29tcGxldGUiKX0pfX0pfVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXMuZGF0YVtTeW1ib2wuaXRlcmF0b3JdKCl9ZGVzdHJveSgpe3RoaXMuaXNEZXN0cm95ZWQ9ITAsdGhpcy5oYXNTcGFjZS5jb21wbGV0ZSgpLHRoaXMuaXRlbXNBdmFpbGFibGUuY29tcGxldGUoKX19fSk7dmFyIEMzLFhaPWYoKCk9Pnt2bigpO0MzPWNsYXNzIGF7c3RhdGlje3ModGhpcywiRmFzdE1hcCIpfW1hcE9iamVjdD1uZXcgTWFwO2lzVW5pcXVlS2V5KGUpe3JldHVybiF0aGlzLm1hcE9iamVjdC5oYXMoZSl9aGFzKGUpe3JldHVybiB0aGlzLm1hcE9iamVjdC5oYXMoZSl9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5tYXBPYmplY3Quc2l6ZX1hZGRUb01hcChlLHQscil7cmV0dXJuIHRoaXMuaXNVbmlxdWVLZXkoZSl8fHImJnIuZm9yY2U/KHRoaXMubWFwT2JqZWN0LnNldChlLHQpLCEwKTohMX1nZXRCeUtleShlKXtyZXR1cm4gdGhpcy5tYXBPYmplY3QuZ2V0KGUpfXJlbW92ZUZyb21NYXAoZSl7bGV0IHQ9dGhpcy5tYXBPYmplY3QuZ2V0KGUpO3JldHVybiB0aGlzLm1hcE9iamVjdC5kZWxldGUoZSksdH1nZXRLZXlzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5tYXBPYmplY3Qua2V5cygpKX12YWx1ZXMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLm1hcE9iamVjdC52YWx1ZXMoKSl9ZW50cmllcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMubWFwT2JqZWN0LmVudHJpZXMoKSl9Y2xlYW4oKXt0aGlzLm1hcE9iamVjdC5jbGVhcigpfWNvbmNhdChlKXtsZXQgdD1uZXcgYTtmb3IobGV0IHIgb2YgdGhpcy5nZXRLZXlzKCkpdC5hZGRUb01hcChyLHRoaXMuZ2V0QnlLZXkocikpO2ZvcihsZXQgciBvZiBlLmdldEtleXMoKSl0LmFkZFRvTWFwKHIsZS5nZXRCeUtleShyKSx7Zm9yY2U6ITB9KTtyZXR1cm4gdH1hZGRBbGxGcm9tT3RoZXIoZSl7Zm9yKGxldCB0IG9mIGUuZ2V0S2V5cygpKXRoaXMuYWRkVG9NYXAodCxlLmdldEJ5S2V5KHQpLHtmb3JjZTohMH0pfWFzeW5jIGZpbmQoZSl7Zm9yKGxldCB0IG9mIHRoaXMuZ2V0S2V5cygpKXtsZXQgcj10aGlzLmdldEJ5S2V5KHQpO2lmKGF3YWl0IGUocikpcmV0dXJuIHJ9fVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXMubWFwT2JqZWN0LmVudHJpZXMoKX19fSk7dmFyIEZjdCxMbCxEOT1mKCgpPT57dm4oKTtYWigpO0ZjdD1zKChhPSJ1bmkiKT0+YCR7YX14eHh4eHh4eHh4eGAucmVwbGFjZSgvW3h5XS9nLGU9PntsZXQgdD1NYXRoLnJhbmRvbSgpKjE2fDA7cmV0dXJuKGU9PT0ieCI/dDp0JjN8OCkudG9TdHJpbmcoMTYpfSksInVuaSIpLExsPWNsYXNzIGF7c3RhdGlje3ModGhpcywiT2JqZWN0TWFwIil9ZmFzdE1hcD1uZXcgQzM7cmV2ZXJzZU1hcD1uZXcgTWFwO2V2ZW50U3ViamVjdD1uZXcgQ2Eucnhqcy5TdWJqZWN0O2NvbnN0cnVjdG9yKCl7fWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5mYXN0TWFwLnNpemV9YWRkTWFwcGVkVW5pcXVlKGUsdCl7dGhpcy5mYXN0TWFwLmFkZFRvTWFwKGUsdCksdGhpcy5yZXZlcnNlTWFwLnNldCh0LGUpfWdldE1hcHBlZFVuaXF1ZShlKXtyZXR1cm4gdGhpcy5mYXN0TWFwLmdldEJ5S2V5KGUpfXJlbW92ZU1hcHBlZFVuaXF1ZShlKXtsZXQgdD10aGlzLmZhc3RNYXAucmVtb3ZlRnJvbU1hcChlKTtyZXR1cm4gdCE9PXZvaWQgMCYmKHRoaXMucmV2ZXJzZU1hcC5kZWxldGUodCksdGhpcy5ldmVudFN1YmplY3QubmV4dCh7b3BlcmF0aW9uOiJyZW1vdmUiLHBheWxvYWQ6dH0pKSx0fWFkZChlKXtsZXQgdD10aGlzLnJldmVyc2VNYXAuZ2V0KGUpO2lmKHQhPT12b2lkIDApcmV0dXJuIHQ7bGV0IHI9RmN0KCJrZXkiKTtyZXR1cm4gdGhpcy5hZGRNYXBwZWRVbmlxdWUocixlKSx0aGlzLmV2ZW50U3ViamVjdC5uZXh0KHtvcGVyYXRpb246ImFkZCIscGF5bG9hZDplfSkscn1hZGRBcnJheShlKXtmb3IobGV0IHQgb2YgZSl0aGlzLmFkZCh0KX1jaGVja0Zvck9iamVjdChlKXtyZXR1cm4gdGhpcy5yZXZlcnNlTWFwLmhhcyhlKX1nZXRLZXlGb3JPYmplY3QoZSl7cmV0dXJuIHRoaXMucmV2ZXJzZU1hcC5nZXQoZSk/P251bGx9YXN5bmMgZmluZChlKXtyZXR1cm4gdGhpcy5mYXN0TWFwLmZpbmQoZSl9ZmluZFN5bmMoZSl7Zm9yKGxldCB0IG9mIHRoaXMuZmFzdE1hcC5nZXRLZXlzKCkpaWYoZSh0aGlzLmZhc3RNYXAuZ2V0QnlLZXkodCkpKXJldHVybiB0aGlzLmdldE1hcHBlZFVuaXF1ZSh0KX1hc3luYyBmaW5kT25lQW5kUmVtb3ZlKGUpe2xldCB0PWF3YWl0IHRoaXMuZmluZChlKTtyZXR1cm4gdCYmdGhpcy5yZW1vdmUodCksdH1maW5kT25lQW5kUmVtb3ZlU3luYyhlKXtsZXQgdD10aGlzLmZpbmRTeW5jKGUpO3JldHVybiB0JiZ0aGlzLnJlbW92ZSh0KSx0fWFzeW5jIGZvckVhY2goZSl7Zm9yKGxldCB0IG9mIHRoaXMuZmFzdE1hcC5nZXRLZXlzKCkpYXdhaXQgZSh0aGlzLmZhc3RNYXAuZ2V0QnlLZXkodCkpfWdldE9uZUFuZFJlbW92ZSgpe2xldCBlPXRoaXMuZmFzdE1hcC5nZXRLZXlzKCk7aWYoZS5sZW5ndGg9PT0wKXJldHVybiBudWxsO3tsZXQgdD1lWzBdLHI9dGhpcy5mYXN0TWFwLnJlbW92ZUZyb21NYXAodCk7cmV0dXJuIHRoaXMucmV2ZXJzZU1hcC5kZWxldGUociksdGhpcy5ldmVudFN1YmplY3QubmV4dCh7b3BlcmF0aW9uOiJyZW1vdmUiLHBheWxvYWQ6cn0pLHJ9fWdldEFycmF5KCl7cmV0dXJuIHRoaXMuZmFzdE1hcC52YWx1ZXMoKX1pc0VtcHR5KCl7cmV0dXJuIHRoaXMuZmFzdE1hcC5zaXplPT09MH1yZW1vdmUoZSl7bGV0IHQ9dGhpcy5yZXZlcnNlTWFwLmdldChlKTtpZih0IT09dm9pZCAwKXtsZXQgcj10aGlzLmZhc3RNYXAucmVtb3ZlRnJvbU1hcCh0KTtyZXR1cm4gdGhpcy5yZXZlcnNlTWFwLmRlbGV0ZShyKSx0aGlzLmV2ZW50U3ViamVjdC5uZXh0KHtvcGVyYXRpb246InJlbW92ZSIscGF5bG9hZDpyfSkscn1yZXR1cm4gbnVsbH13aXBlKCl7bGV0IGU9dGhpcy5mYXN0TWFwLmdldEtleXMoKTtmb3IobGV0IHQgb2YgZSl7bGV0IHI9dGhpcy5mYXN0TWFwLnJlbW92ZUZyb21NYXAodCk7dGhpcy5yZXZlcnNlTWFwLmRlbGV0ZShyKSx0aGlzLmV2ZW50U3ViamVjdC5uZXh0KHtvcGVyYXRpb246InJlbW92ZSIscGF5bG9hZDpyfSl9fWNvbmNhdChlKXtsZXQgdD1uZXcgYTt0LmZhc3RNYXAuYWRkQWxsRnJvbU90aGVyKHRoaXMuZmFzdE1hcCksdC5mYXN0TWFwLmFkZEFsbEZyb21PdGhlcihlLmZhc3RNYXApO2ZvcihsZXQgciBvZiB0LmZhc3RNYXAuZ2V0S2V5cygpKXQucmV2ZXJzZU1hcC5zZXQodC5mYXN0TWFwLmdldEJ5S2V5KHIpLHIpO3JldHVybiB0fWFkZEFsbEZyb21PdGhlcihlKXt0aGlzLmZhc3RNYXAuYWRkQWxsRnJvbU90aGVyKGUuZmFzdE1hcCk7Zm9yKGxldCB0IG9mIGUuZmFzdE1hcC5nZXRLZXlzKCkpdGhpcy5yZXZlcnNlTWFwLnNldChlLmZhc3RNYXAuZ2V0QnlLZXkodCksdCl9bWFwKGUpe3JldHVybiB0aGlzLmdldEFycmF5KCkubWFwKGUpfWZpbHRlcihlKXtyZXR1cm4gdGhpcy5nZXRBcnJheSgpLmZpbHRlcihlKX1yZWR1Y2UoZSx0KXtyZXR1cm4gdGhpcy5nZXRBcnJheSgpLnJlZHVjZShlLHQpfVtTeW1ib2wuaXRlcmF0b3JdKCl7cmV0dXJuIHRoaXMuZ2V0QXJyYXkoKVtTeW1ib2wuaXRlcmF0b3JdKCl9ZGVzdHJveSgpe3RoaXMud2lwZSgpLHRoaXMucmV2ZXJzZU1hcC5jbGVhcigpLHRoaXMuZXZlbnRTdWJqZWN0LmNvbXBsZXRlKCl9fX0pO3ZhciBBOSxUbGU9ZigoKT0+e3ZuKCk7TGxlKCk7QTk9Y2xhc3N7c3RhdGlje3ModGhpcywiSW50ZXJlc3QiKX1vcHRpb25zO2ludGVyZXN0TWFwUmVmO29yaWdpbmFsSW50ZXJlc3Q7Y29tcGFyaXNvbkZ1bmM7ZGVzdHJ1Y3Rpb25UaW1lcj1uZXcgejMuVGltZXIoMWU0KTtpc0Z1bGxmaWxsZWQ9ITE7aXNEZXN0cm95ZWQ9ITE7ZnVsbGZpbGxtZW50U3RvcmU9W107bWFya0xvc3RUaW1lb3V0PW51bGw7Z2V0IGNvbXBhcmlzb25TdHJpbmcoKXtyZXR1cm4gdGhpcy5jb21wYXJpc29uRnVuYyh0aGlzLm9yaWdpbmFsSW50ZXJlc3QpfWludGVyZXN0RGVmZXJyZWQ9bmV3IGV0LkRlZmVycmVkO2ludGVyZXN0RnVsbGZpbGxlZD10aGlzLmludGVyZXN0RGVmZXJyZWQucHJvbWlzZTtmdWxsZmlsbEludGVyZXN0KGUpe3RoaXMuaXNGdWxsZmlsbGVkPSEwLHRoaXMuZnVsbGZpbGxtZW50U3RvcmU9W10sdGhpcy5pbnRlcmVzdERlZmVycmVkLnJlc29sdmUoZSksdGhpcy5kZXN0cm95KCl9Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy5pbnRlcmVzdE1hcFJlZj1lLHRoaXMub3JpZ2luYWxJbnRlcmVzdD10LHRoaXMuY29tcGFyaXNvbkZ1bmM9cix0aGlzLm9wdGlvbnM9aSx0aGlzLmRlc3RydWN0aW9uVGltZXIuY29tcGxldGVkLnRoZW4oKCk9Pnt0aGlzLmlzRGVzdHJveWVkfHx0aGlzLmRlc3Ryb3koKX0pLHRoaXMub3B0aW9ucz8ubWFya0xvc3RBZnRlckRlZmF1bHQmJih0aGlzLm1hcmtMb3N0VGltZW91dD1uZXcgUHQuVGltZW91dCh0aGlzLm9wdGlvbnMubWFya0xvc3RBZnRlckRlZmF1bHQpLHRoaXMubWFya0xvc3RUaW1lb3V0LnByb21pc2UudGhlbigoKT0+e3RoaXMuaXNEZXN0cm95ZWR8fHRoaXMubWFya0xvc3QoKX0pKX1kZXN0cm95KCl7dGhpcy5pc0Rlc3Ryb3llZHx8KHRoaXMuaXNEZXN0cm95ZWQ9ITAsdGhpcy5kZXN0cnVjdGlvblRpbWVyLnJlc2V0KCksdGhpcy5tYXJrTG9zdFRpbWVvdXQmJih0aGlzLm1hcmtMb3N0VGltZW91dC5jYW5jZWwoKSx0aGlzLm1hcmtMb3N0VGltZW91dD1udWxsKSx0aGlzLmZ1bGxmaWxsbWVudFN0b3JlPVtdLHRoaXMuaW50ZXJlc3RNYXBSZWYucmVtb3ZlSW50ZXJlc3QodGhpcyksIXRoaXMuaXNGdWxsZmlsbGVkJiZ0aGlzLm9wdGlvbnM/LmRlZmF1bHRGdWxsZmlsbG1lbnQmJih0aGlzLmlzRnVsbGZpbGxlZD0hMCx0aGlzLmludGVyZXN0RGVmZXJyZWQucmVzb2x2ZSh0aGlzLm9wdGlvbnMuZGVmYXVsdEZ1bGxmaWxsbWVudCkpKX1tYXJrTG9zdCgpe3RoaXMuZGVzdHJ1Y3Rpb25UaW1lci5zdGFydCgpfXJlbmV3KCl7dGhpcy5kZXN0cnVjdGlvblRpbWVyLnJlc2V0KCl9fX0pO3ZhciAkbGUsTGxlPWYoKCk9Pnt2bigpO0Q5KCk7VGxlKCk7JGxlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkludGVyZXN0TWFwIil9b3B0aW9ucztpbnRlcmVzdE9iamVjdE1hcD1uZXcgTGw7aW50ZXJlc3RzQnlDb21wYXJpc29uU3RyaW5nPW5ldyBNYXA7Y29tcGFyaXNvbkZ1bmM7Y29uc3RydWN0b3IoZSx0PXt9KXt0aGlzLmNvbXBhcmlzb25GdW5jPWUsdGhpcy5vcHRpb25zPXR9YXN5bmMgYWRkSW50ZXJlc3QoZSx0KXtsZXQgcj10aGlzLmNvbXBhcmlzb25GdW5jKGUpLGksbz10aGlzLmludGVyZXN0c0J5Q29tcGFyaXNvblN0cmluZy5nZXQocik7cmV0dXJuIG8/KGk9byxpLnJlbmV3KCkpOihpPW5ldyBBOSh0aGlzLGUsdGhpcy5jb21wYXJpc29uRnVuYyx7bWFya0xvc3RBZnRlckRlZmF1bHQ6dGhpcy5vcHRpb25zLm1hcmtMb3N0QWZ0ZXJEZWZhdWx0LGRlZmF1bHRGdWxsZmlsbG1lbnQ6dH0pLHRoaXMuaW50ZXJlc3RPYmplY3RNYXAuYWRkKGkpLHRoaXMuaW50ZXJlc3RzQnlDb21wYXJpc29uU3RyaW5nLnNldChyLGkpKSx0aGlzLmludGVyZXN0T2JzZXJ2YWJsZS5wdXNoKGkpLGl9aW50ZXJlc3RPYnNlcnZhYmxlPW5ldyBDYS5PYnNlcnZhYmxlSW50YWtlO3JlbW92ZUludGVyZXN0KGUpe3RoaXMuaW50ZXJlc3RPYmplY3RNYXAuZmluZE9uZUFuZFJlbW92ZVN5bmModD0+ZS5jb21wYXJpc29uU3RyaW5nPT09dC5jb21wYXJpc29uU3RyaW5nKSx0aGlzLmludGVyZXN0c0J5Q29tcGFyaXNvblN0cmluZy5kZWxldGUoZS5jb21wYXJpc29uU3RyaW5nKX1jaGVja0ludGVyZXN0KGUpe2xldCB0PXRoaXMuY29tcGFyaXNvbkZ1bmMoZSk7cmV0dXJuIHRoaXMuY2hlY2tJbnRlcmVzdEJ5U3RyaW5nKHQpfWNoZWNrSW50ZXJlc3RCeVN0cmluZyhlKXtyZXR1cm4gdGhpcy5pbnRlcmVzdHNCeUNvbXBhcmlzb25TdHJpbmcuaGFzKGUpfWluZm9ybUxvc3RJbnRlcmVzdChlKXtsZXQgdD10aGlzLmZpbmRJbnRlcmVzdChlKTt0JiZ0Lm1hcmtMb3N0KCl9ZmluZEludGVyZXN0KGUpe2xldCB0PXRoaXMuY29tcGFyaXNvbkZ1bmMoZSk7cmV0dXJuIHRoaXMuaW50ZXJlc3RzQnlDb21wYXJpc29uU3RyaW5nLmdldCh0KT8/bnVsbH1kZXN0cm95KCl7bGV0IGU9dGhpcy5pbnRlcmVzdE9iamVjdE1hcC5nZXRBcnJheSgpO2ZvcihsZXQgdCBvZiBlKXQuZGVzdHJveSgpO3RoaXMuaW50ZXJlc3RPYmplY3RNYXAud2lwZSgpLHRoaXMuaW50ZXJlc3RzQnlDb21wYXJpc29uU3RyaW5nLmNsZWFyKCksdGhpcy5pbnRlcmVzdE9ic2VydmFibGUuc2lnbmFsQ29tcGxldGUoKX19fSk7dmFyIERsZSxCY3Q9ZigoKT0+e3ZuKCk7RGxlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkxpbWl0ZWRBcnJheSIpfWFycmF5PVtdO2FycmF5TGltaXQ7Y29uc3RydWN0b3IoZSl7dGhpcy5hcnJheUxpbWl0PWV9Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmFycmF5Lmxlbmd0aH1hZGRPbmUoZSl7dGhpcy5hcnJheS51bnNoaWZ0KGUpLHRoaXMuYXJyYXkubGVuZ3RoPnRoaXMuYXJyYXlMaW1pdCYmKHRoaXMuYXJyYXkubGVuZ3RoPXRoaXMuYXJyYXlMaW1pdCl9YWRkTWFueShlKXtmb3IobGV0IHQgb2YgZSl0aGlzLmFkZE9uZSh0KX1zZXRMaW1pdChlKXt0aGlzLmFycmF5TGltaXQ9ZSx0aGlzLmFycmF5Lmxlbmd0aD50aGlzLmFycmF5TGltaXQmJih0aGlzLmFycmF5Lmxlbmd0aD10aGlzLmFycmF5TGltaXQpfWdldEF2ZXJhZ2UoKXtpZih0aGlzLmFycmF5Lmxlbmd0aD09PTApcmV0dXJuIDA7aWYodHlwZW9mIHRoaXMuYXJyYXlbMF09PSJudW1iZXIiKXtsZXQgZT0wO2ZvcihsZXQgdCBvZiB0aGlzLmFycmF5KWU9ZSt0O3JldHVybiBlL3RoaXMuYXJyYXkubGVuZ3RofWVsc2UgcmV0dXJuIG51bGx9cmVtb3ZlKGUpe2xldCB0PXRoaXMuYXJyYXkuaW5kZXhPZihlKTtyZXR1cm4gdCE9PS0xPyh0aGlzLmFycmF5LnNwbGljZSh0LDEpLCEwKTohMX1jbGVhcigpe3RoaXMuYXJyYXkubGVuZ3RoPTB9Z2V0QXJyYXkoKXtyZXR1cm5bLi4udGhpcy5hcnJheV19W1N5bWJvbC5pdGVyYXRvcl0oKXtyZXR1cm4gdGhpcy5hcnJheVtTeW1ib2wuaXRlcmF0b3JdKCl9fX0pO3ZhciBBbGUsSGN0PWYoKCk9Pnt2bigpO0Q5KCk7QWxlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkxvb3BUcmFja2VyIil9cmVmZXJlbmNlT2JqZWN0TWFwPW5ldyBMbDtjb25zdHJ1Y3Rvcigpe31jaGVja0FuZFRyYWNrKGUpe3JldHVybiB0aGlzLnJlZmVyZW5jZU9iamVjdE1hcC5jaGVja0Zvck9iamVjdChlKT8hMToodGhpcy5yZWZlcmVuY2VPYmplY3RNYXAuYWRkKGUpLCEwKX1yZXNldCgpe3RoaXMucmVmZXJlbmNlT2JqZWN0TWFwLndpcGUoKX1kZXN0cm95KCl7dGhpcy5yZWZlcmVuY2VPYmplY3RNYXAuZGVzdHJveSgpfX19KTt2YXIgRTksRWxlPWYoKCk9Pnt2bigpO0U5PWNsYXNze3N0YXRpY3tzKHRoaXMsIlN0cmluZ21hcCIpfV9zdHJpbmdBcnJheT1bXTtfdHJpZ2dlclVudGlsVHJ1ZUZ1bmN0aW9uQXJyYXk9W107Y29uc3RydWN0b3IoKXt9YWRkU3RyaW5nKGUpe3RoaXMuX3N0cmluZ0FycmF5LnB1c2goZSksdGhpcy5ub3RpZnlUcmlnZ2VyKCl9YWRkU3RyaW5nQXJyYXkoZSl7Zm9yKGxldCB0IG9mIGUpdGhpcy5hZGRTdHJpbmcodCl9cmVtb3ZlU3RyaW5nKGUpe3RoaXMuX3N0cmluZ0FycmF5PXRoaXMuX3N0cmluZ0FycmF5LmZpbHRlcih0PT50IT09ZSksdGhpcy5ub3RpZnlUcmlnZ2VyKCl9d2lwZSgpe3RoaXMuX3N0cmluZ0FycmF5PVtdLHRoaXMubm90aWZ5VHJpZ2dlcigpfWNoZWNrU3RyaW5nKGUpe3JldHVybiB0aGlzLl9zdHJpbmdBcnJheS5pbmRleE9mKGUpIT09LTF9Y2hlY2tNaW5pbWF0Y2goZSl7bGV0IHQ9bmV3IHI5LlNtYXJ0TWF0Y2goZSkscj0hMTtmb3IobGV0IGkgb2YgdGhpcy5fc3RyaW5nQXJyYXkpdC5tYXRjaChpKSYmKHI9ITApO3JldHVybiByfWNoZWNrSXNFbXB0eSgpe3JldHVybiB0aGlzLl9zdHJpbmdBcnJheS5sZW5ndGg9PT0wfWdldFN0cmluZ0FycmF5KCl7bGV0IGU9W107Zm9yKGxldCB0IG9mIHRoaXMuX3N0cmluZ0FycmF5KWUucHVzaCh0KTtyZXR1cm4gZX1yZWdpc3RlclVudGlsVHJ1ZShlLHQpe2xldCByPWV0LmRlZmVyKCk7cmV0dXJuIHRoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5LnB1c2goKCk9PntsZXQgaT1lKHRoaXMuZ2V0U3RyaW5nQXJyYXkoKSk7cmV0dXJuIGk9PT0hMCYmKHQmJnQoKSxyLnJlc29sdmUoKSksaX0pLHRoaXMubm90aWZ5VHJpZ2dlcigpLHIucHJvbWlzZX1ub3RpZnlUcmlnZ2VyKCl7bGV0IGU9dGhpcy5fdHJpZ2dlclVudGlsVHJ1ZUZ1bmN0aW9uQXJyYXkuZmlsdGVyKHQ9PiF0KCkpO3RoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5PWV9ZGVzdHJveSgpe3RoaXMuX3N0cmluZ0FycmF5PVtdLHRoaXMuX3RyaWdnZXJVbnRpbFRydWVGdW5jdGlvbkFycmF5PVtdfX19KTt2YXIgUDksUGxlPWYoKCk9Pnt2bigpO1A5PWNsYXNze3N0YXRpY3tzKHRoaXMsIlRpbWVkQWdncmVndG9yIil9b3B0aW9ucztzdG9yYWdlQXJyYXk9W107aXNTdG9wcGVkPSExO2NvbnN0cnVjdG9yKGUpe3RoaXMub3B0aW9ucz1lfWFnZ3JlZ2F0aW9uVGltZXI7Y2hlY2tBZ2dyZWdhdGlvblN0YXR1cygpe2lmKHRoaXMuaXNTdG9wcGVkKXJldHVybjtsZXQgZT1zKCgpPT57dGhpcy5hZ2dyZWdhdGlvblRpbWVyPW5ldyB6My5UaW1lcih0aGlzLm9wdGlvbnMuYWdncmVnYXRpb25JbnRlcnZhbEluTWlsbGlzKSx0aGlzLmFnZ3JlZ2F0aW9uVGltZXIuY29tcGxldGVkLnRoZW4oKCk9PntpZih0aGlzLmlzU3RvcHBlZCl7dGhpcy5hZ2dyZWdhdGlvblRpbWVyPW51bGw7cmV0dXJufWxldCB0PXRoaXMuc3RvcmFnZUFycmF5O2lmKHQubGVuZ3RoPT09MCl7dGhpcy5hZ2dyZWdhdGlvblRpbWVyPW51bGw7cmV0dXJufXRoaXMuc3RvcmFnZUFycmF5PVtdLGUoKSx0aGlzLm9wdGlvbnMuZnVuY3Rpb25Gb3JBZ2dyZWdhdGlvbih0KX0pLHRoaXMuYWdncmVnYXRpb25UaW1lci5zdGFydCgpfSwiYWRkQWdncmVnYXRpb25UaW1lciIpO3RoaXMuYWdncmVnYXRpb25UaW1lcnx8ZSgpfWFkZChlKXt0aGlzLmlzU3RvcHBlZHx8KHRoaXMuc3RvcmFnZUFycmF5LnB1c2goZSksdGhpcy5jaGVja0FnZ3JlZ2F0aW9uU3RhdHVzKCkpfXN0b3AoZT0hMSl7aWYodGhpcy5pc1N0b3BwZWQ9ITAsdGhpcy5hZ2dyZWdhdGlvblRpbWVyJiYodGhpcy5hZ2dyZWdhdGlvblRpbWVyLnJlc2V0KCksdGhpcy5hZ2dyZWdhdGlvblRpbWVyPW51bGwpLGUmJnRoaXMuc3RvcmFnZUFycmF5Lmxlbmd0aD4wKXtsZXQgdD10aGlzLnN0b3JhZ2VBcnJheTt0aGlzLnN0b3JhZ2VBcnJheT1bXSx0aGlzLm9wdGlvbnMuZnVuY3Rpb25Gb3JBZ2dyZWdhdGlvbih0KX1lbHNlIHRoaXMuc3RvcmFnZUFycmF5PVtdfXJlc3RhcnQoKXt0aGlzLmlzU3RvcHBlZD0hMX19fSk7dmFyIElsZSxxY3Q9ZigoKT0+e3ZuKCk7SWxlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRyZWUiKX1zeW1ib2xUcmVlO2NvbnN0cnVjdG9yKCl7dGhpcy5zeW1ib2xUcmVlPW5ldyBaWi5kZWZhdWx0fWluaXRpYWxpemUoZSl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5pbml0aWFsaXplKGUpfWhhc0NoaWxkcmVuKGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuaGFzQ2hpbGRyZW4oZSl9Zmlyc3RDaGlsZChlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmZpcnN0Q2hpbGQoZSl9bGFzdENoaWxkKGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUubGFzdENoaWxkKGUpfXByZXZpb3VzU2libGluZyhlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLnByZXZpb3VzU2libGluZyhlKX1uZXh0U2libGluZyhlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLm5leHRTaWJsaW5nKGUpfXBhcmVudChlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLnBhcmVudChlKX1sYXN0SW5jbHVzaXZlRGVzY2VuZGFudChlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmxhc3RJbmNsdXNpdmVEZXNjZW5kYW50KGUpfXByZWNlZGluZyhlLHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUucHJlY2VkaW5nKGUsdCl9Zm9sbG93aW5nKGUsdCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5mb2xsb3dpbmcoZSx0KX1jaGlsZHJlblRvQXJyYXkoZSx0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmNoaWxkcmVuVG9BcnJheShlLHQpfWFuY2VzdG9yc1RvQXJyYXkoZSx0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmFuY2VzdG9yc1RvQXJyYXkoZSx0KX10cmVlVG9BcnJheShlLHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUudHJlZVRvQXJyYXkoZSx0KX1jaGlsZHJlbkl0ZXJhdG9yKGUsdCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5jaGlsZHJlbkl0ZXJhdG9yKGUsdCl9cHJldmlvdXNTaWJsaW5nc0l0ZXJhdG9yKGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUucHJldmlvdXNTaWJsaW5nc0l0ZXJhdG9yKGUpfW5leHRTaWJsaW5nc0l0ZXJhdG9yKGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUubmV4dFNpYmxpbmdzSXRlcmF0b3IoZSl9YW5jZXN0b3JzSXRlcmF0b3IoZSl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5hbmNlc3RvcnNJdGVyYXRvcihlKX10cmVlSXRlcmF0b3IoZSx0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLnRyZWVJdGVyYXRvcihlLHQpfWluZGV4KGUpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuaW5kZXgoZSl9Y2hpbGRyZW5Db3VudChlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmNoaWxkcmVuQ291bnQoZSl9Y29tcGFyZVRyZWVQb3NpdGlvbihlLHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUuY29tcGFyZVRyZWVQb3NpdGlvbihlLHQpfXJlbW92ZShlKXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLnJlbW92ZShlKX1pbnNlcnRCZWZvcmUoZSx0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmluc2VydEJlZm9yZShlLHQpfWluc2VydEFmdGVyKGUsdCl7cmV0dXJuIHRoaXMuc3ltYm9sVHJlZS5pbnNlcnRBZnRlcihlLHQpfXByZXBlbmRDaGlsZChlLHQpe3JldHVybiB0aGlzLnN5bWJvbFRyZWUucHJlcGVuZENoaWxkKGUsdCl9YXBwZW5kQ2hpbGQoZSx0KXtyZXR1cm4gdGhpcy5zeW1ib2xUcmVlLmFwcGVuZENoaWxkKGUsdCl9dG9Kc29uV2l0aEhpZXJhY2h5KGUpe2xldCB0PXMocj0+e2xldCBpPVtdO2lmKHRoaXMuaGFzQ2hpbGRyZW4ocikpe2xldCBvPXRoaXMuY2hpbGRyZW5Ub0FycmF5KHIse30pO2ZvcihsZXQgbiBvZiBvKWkucHVzaCh0KG4pKX1yZXR1cm57ZGF0YTpyLGNoaWxkcmVuOml9fSwiYnVpbGROb2RlIik7cmV0dXJuIHQoZSl9ZnJvbUpzb25XaXRoSGllcmFjaHkoZSx0KXtsZXQgcj1zKChpLG8pPT57bGV0IG49dD90KGkuZGF0YSk6aS5kYXRhO3RoaXMuaW5pdGlhbGl6ZShuKSxvJiZ0aGlzLmFwcGVuZENoaWxkKG8sbik7Zm9yKGxldCBsIG9mIGkuY2hpbGRyZW4pcihsLG4pO3JldHVybiBufSwiYnVpbGRUcmVlIik7cmV0dXJuIHIoZSl9fX0pO3ZhciBXYT17fTtsdChXYSx7QXN5bmNFeGVjdXRpb25TdGFjazooKT0+Q2xlLEJhY2twcmVzc3VyZWRBcnJheTooKT0+X2xlLEZhc3RNYXA6KCk9PkMzLEludGVyZXN0OigpPT5BOSxJbnRlcmVzdE1hcDooKT0+JGxlLExpbWl0ZWRBcnJheTooKT0+RGxlLExvb3BUcmFja2VyOigpPT5BbGUsT2JqZWN0TWFwOigpPT5MbCxTdHJpbmdtYXA6KCk9PkU5LFRpbWVkQWdncmVnYXRvcjooKT0+UDksVGltZWRBZ2dyZWd0b3I6KCk9PlA5LFRyZWU6KCk9PklsZSx1bmk6KCk9PkZjdH0pO3ZhciBOaD1mKCgpPT57UmN0KCk7T2N0KCk7WFooKTtMbGUoKTtUbGUoKTtCY3QoKTtIY3QoKTtEOSgpO0VsZSgpO1BsZSgpO1BsZSgpO3FjdCgpfSk7dmFyIFMwPXt9O2x0KFMwLHthcmVVaW50OEFycmF5c0VxdWFsOigpPT5LZ2EsYXNzZXJ0VWludDhBcnJheTooKT0+azAsYXNzZXJ0VWludDhBcnJheU9yQXJyYXlCdWZmZXI6KCk9PkdjdCxiYXNlNjRUb1N0cmluZzooKT0+dGJhLGJhc2U2NFRvVWludDhBcnJheTooKT0+WGN0LGNvbXBhcmVVaW50OEFycmF5czooKT0+WmdhLGNvbmNhdFVpbnQ4QXJyYXlzOigpPT5ZZ2EsZ2V0VWludEJFOigpPT5pYmEsaGV4VG9VaW50OEFycmF5OigpPT5zYmEsaW5jbHVkZXM6KCk9Pm9iYSxpbmRleE9mOigpPT5RY3QsaXNVaW50OEFycmF5OigpPT5ObGUsc3RyaW5nVG9CYXNlNjQ6KCk9PmViYSxzdHJpbmdUb1VpbnQ4QXJyYXk6KCk9PktjdCx0b1VpbnQ4QXJyYXk6KCk9PkdnYSx1aW50OEFycmF5VG9CYXNlNjQ6KCk9PlpjdCx1aW50OEFycmF5VG9IZXg6KCk9PnJiYSx1aW50OEFycmF5VG9TdHJpbmc6KCk9PlljdH0pO2Z1bmN0aW9uIFZjdChhLGUsdCl7cmV0dXJuIGE/YS5jb25zdHJ1Y3Rvcj09PWU/ITA6cWdhLmNhbGwoYSk9PT10OiExfWZ1bmN0aW9uIE5sZShhKXtyZXR1cm4gVmN0KGEsVWludDhBcnJheSxWZ2EpfWZ1bmN0aW9uIFVnYShhKXtyZXR1cm4gVmN0KGEsQXJyYXlCdWZmZXIsamdhKX1mdW5jdGlvbiBXZ2EoYSl7cmV0dXJuIE5sZShhKXx8VWdhKGEpfWZ1bmN0aW9uIGswKGEpe2lmKCFObGUoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgXGBVaW50OEFycmF5XGAsIGdvdCBcYCR7dHlwZW9mIGF9XGBgKX1mdW5jdGlvbiBHY3QoYSl7aWYoIVdnYShhKSl0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBcYFVpbnQ4QXJyYXlcYCBvciBcYEFycmF5QnVmZmVyXGAsIGdvdCBcYCR7dHlwZW9mIGF9XGBgKX1mdW5jdGlvbiBHZ2EoYSl7aWYoYSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKXJldHVybiBuZXcgVWludDhBcnJheShhKTtpZihBcnJheUJ1ZmZlci5pc1ZpZXcoYSkpcmV0dXJuIG5ldyBVaW50OEFycmF5KGEuYnVmZmVyLGEuYnl0ZU9mZnNldCxhLmJ5dGVMZW5ndGgpO3Rocm93IG5ldyBUeXBlRXJyb3IoYFVuc3VwcG9ydGVkIHZhbHVlLCBnb3QgXGAke3R5cGVvZiBhfVxgLmApfWZ1bmN0aW9uIFlnYShhLGUpe2lmKGEubGVuZ3RoPT09MClyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoMCk7ZT8/PWEucmVkdWNlKChpLG8pPT5pK28ubGVuZ3RoLDApO2xldCB0PW5ldyBVaW50OEFycmF5KGUpLHI9MDtmb3IobGV0IGkgb2YgYSlrMChpKSx0LnNldChpLHIpLHIrPWkubGVuZ3RoO3JldHVybiB0fWZ1bmN0aW9uIEtnYShhLGUpe2lmKGswKGEpLGswKGUpLGE9PT1lKXJldHVybiEwO2lmKGEubGVuZ3RoIT09ZS5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0KyspaWYoYVt0XSE9PWVbdF0pcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gWmdhKGEsZSl7azAoYSksazAoZSk7bGV0IHQ9TWF0aC5taW4oYS5sZW5ndGgsZS5sZW5ndGgpO2ZvcihsZXQgcj0wO3I8dDtyKyspe2xldCBpPWFbcl0tZVtyXTtpZihpIT09MClyZXR1cm4gTWF0aC5zaWduKGkpfXJldHVybiBNYXRoLnNpZ24oYS5sZW5ndGgtZS5sZW5ndGgpfWZ1bmN0aW9uIFljdChhLGU9InV0ZjgiKXtyZXR1cm4gR2N0KGEpLGpjdFtlXT8/PW5ldyBnbG9iYWxUaGlzLlRleHREZWNvZGVyKGUpLGpjdFtlXS5kZWNvZGUoYSl9ZnVuY3Rpb24gSTkoYSl7aWYodHlwZW9mIGEhPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIFxgc3RyaW5nXGAsIGdvdCBcYCR7dHlwZW9mIGF9XGBgKX1mdW5jdGlvbiBLY3QoYSl7cmV0dXJuIEk5KGEpLFhnYS5lbmNvZGUoYSl9ZnVuY3Rpb24gUWdhKGEpe3JldHVybiBhLnJlcGxhY2VBbGwoIisiLCItIikucmVwbGFjZUFsbCgiLyIsIl8iKS5yZXBsYWNlKC89KyQvLCIiKX1mdW5jdGlvbiBKZ2EoYSl7bGV0IGU9YS5yZXBsYWNlQWxsKCItIiwiKyIpLnJlcGxhY2VBbGwoIl8iLCIvIiksdD0oNC1lLmxlbmd0aCU0KSU0O3JldHVybiBlKyI9Ii5yZXBlYXQodCl9ZnVuY3Rpb24gWmN0KGEse3VybFNhZmU6ZT0hMX09e30pe2swKGEpO2xldCB0PSIiO2ZvcihsZXQgcj0wO3I8YS5sZW5ndGg7cis9VWN0KXtsZXQgaT1hLnN1YmFycmF5KHIscitVY3QpO3QrPWdsb2JhbFRoaXMuYnRvYShTdHJpbmcuZnJvbUNvZGVQb2ludC5hcHBseSh2b2lkIDAsaSkpfXJldHVybiBlP1FnYSh0KTp0fWZ1bmN0aW9uIFhjdChhKXtyZXR1cm4gSTkoYSksVWludDhBcnJheS5mcm9tKGdsb2JhbFRoaXMuYXRvYihKZ2EoYSkpLGU9PmUuY29kZVBvaW50QXQoMCkpfWZ1bmN0aW9uIGViYShhLHt1cmxTYWZlOmU9ITF9PXt9KXtyZXR1cm4gSTkoYSksWmN0KEtjdChhKSx7dXJsU2FmZTplfSl9ZnVuY3Rpb24gdGJhKGEpe3JldHVybiBJOShhKSxZY3QoWGN0KGEpKX1mdW5jdGlvbiByYmEoYSl7azAoYSk7bGV0IGU9IiI7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0KyspZSs9YWJhW2FbdF1dO3JldHVybiBlfWZ1bmN0aW9uIHNiYShhKXtpZihJOShhKSxhLmxlbmd0aCUyIT09MCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgSGV4IHN0cmluZyBsZW5ndGguIik7bGV0IGU9YS5sZW5ndGgvMix0PW5ldyBVaW50OEFycmF5KGUpO2ZvcihsZXQgcj0wO3I8ZTtyKyspe2xldCBpPVdjdFthW3IqMl1dLG89V2N0W2FbcioyKzFdXTtpZihpPT09dm9pZCAwfHxvPT09dm9pZCAwKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBIZXggY2hhcmFjdGVyIGVuY291bnRlcmVkIGF0IHBvc2l0aW9uICR7cioyfWApO3Rbcl09aTw8NHxvfXJldHVybiB0fWZ1bmN0aW9uIGliYShhKXtsZXR7Ynl0ZUxlbmd0aDplfT1hO2lmKGU9PT02KXJldHVybiBhLmdldFVpbnQxNigwKSoyKiozMithLmdldFVpbnQzMigyKTtpZihlPT09NSlyZXR1cm4gYS5nZXRVaW50OCgwKSoyKiozMithLmdldFVpbnQzMigxKTtpZihlPT09NClyZXR1cm4gYS5nZXRVaW50MzIoMCk7aWYoZT09PTMpcmV0dXJuIGEuZ2V0VWludDgoMCkqMioqMTYrYS5nZXRVaW50MTYoMSk7aWYoZT09PTIpcmV0dXJuIGEuZ2V0VWludDE2KDApO2lmKGU9PT0xKXJldHVybiBhLmdldFVpbnQ4KDApfWZ1bmN0aW9uIFFjdChhLGUpe2xldCB0PWEubGVuZ3RoLHI9ZS5sZW5ndGg7aWYocj09PTB8fHI+dClyZXR1cm4tMTtsZXQgaT10LXI7Zm9yKGxldCBvPTA7bzw9aTtvKyspe2xldCBuPSEwO2ZvcihsZXQgbD0wO2w8cjtsKyspaWYoYVtvK2xdIT09ZVtsXSl7bj0hMTticmVha31pZihuKXJldHVybiBvfXJldHVybi0xfWZ1bmN0aW9uIG9iYShhLGUpe3JldHVybiBRY3QoYSxlKSE9PS0xfXZhciBxZ2EsVmdhLGpnYSxqY3QsWGdhLFVjdCxhYmEsV2N0LEpjdD1mKCgpPT57cWdhPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsVmdhPSJbb2JqZWN0IFVpbnQ4QXJyYXldIixqZ2E9IltvYmplY3QgQXJyYXlCdWZmZXJdIjtzKFZjdCwiaXNUeXBlIik7cyhObGUsImlzVWludDhBcnJheSIpO3MoVWdhLCJpc0FycmF5QnVmZmVyIik7cyhXZ2EsImlzVWludDhBcnJheU9yQXJyYXlCdWZmZXIiKTtzKGswLCJhc3NlcnRVaW50OEFycmF5Iik7cyhHY3QsImFzc2VydFVpbnQ4QXJyYXlPckFycmF5QnVmZmVyIik7cyhHZ2EsInRvVWludDhBcnJheSIpO3MoWWdhLCJjb25jYXRVaW50OEFycmF5cyIpO3MoS2dhLCJhcmVVaW50OEFycmF5c0VxdWFsIik7cyhaZ2EsImNvbXBhcmVVaW50OEFycmF5cyIpO2pjdD17dXRmODpuZXcgZ2xvYmFsVGhpcy5UZXh0RGVjb2RlcigidXRmOCIpfTtzKFljdCwidWludDhBcnJheVRvU3RyaW5nIik7cyhJOSwiYXNzZXJ0U3RyaW5nIik7WGdhPW5ldyBnbG9iYWxUaGlzLlRleHRFbmNvZGVyO3MoS2N0LCJzdHJpbmdUb1VpbnQ4QXJyYXkiKTtzKFFnYSwiYmFzZTY0VG9CYXNlNjRVcmwiKTtzKEpnYSwiYmFzZTY0VXJsVG9CYXNlNjQiKTtVY3Q9NjU1MzU7cyhaY3QsInVpbnQ4QXJyYXlUb0Jhc2U2NCIpO3MoWGN0LCJiYXNlNjRUb1VpbnQ4QXJyYXkiKTtzKGViYSwic3RyaW5nVG9CYXNlNjQiKTtzKHRiYSwiYmFzZTY0VG9TdHJpbmciKTthYmE9QXJyYXkuZnJvbSh7bGVuZ3RoOjI1Nn0sKGEsZSk9PmUudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsIjAiKSk7cyhyYmEsInVpbnQ4QXJyYXlUb0hleCIpO1djdD17MDowLDE6MSwyOjIsMzozLDQ6NCw1OjUsNjo2LDc6Nyw4OjgsOTo5LGE6MTAsYjoxMSxjOjEyLGQ6MTMsZToxNCxmOjE1LEE6MTAsQjoxMSxDOjEyLEQ6MTMsRToxNCxGOjE1fTtzKHNiYSwiaGV4VG9VaW50OEFycmF5Iik7cyhpYmEsImdldFVpbnRCRSIpO3MoUWN0LCJpbmRleE9mIik7cyhvYmEsImluY2x1ZGVzIil9KTt2YXIgZTB0PWYoKCk9PntKY3QoKX0pO3ZhciBzMT17fTtsdChzMSx7YmFzZTY0VG9VaW50OEFycmF5OigpPT5kYmEsZW5zdXJlUHVyZVVpbnQ4QXJyYXk6KCk9PmZiYSxpc0J1ZmZlckxpa2U6KCk9PnBiYSxpc1VpbnQ4QXJyYXk6KCk9PnViYSx1SW50OEFycmF5RXh0cmFzOigpPT5sYmEsdUludDhBcnJheVRvQmFzZTY0OigpPT5jYmF9KTtmdW5jdGlvbiBjYmEoYSl7cmV0dXJuIFMwLnVpbnQ4QXJyYXlUb0Jhc2U2NChhKX1mdW5jdGlvbiBkYmEoYSl7cmV0dXJuIFMwLmJhc2U2NFRvVWludDhBcnJheShhKX1mdW5jdGlvbiBwYmEoYSl7cmV0dXJuIGEmJnR5cGVvZiBhLmJ5dGVMZW5ndGg9PSJudW1iZXIiPyEwOnR5cGVvZiBCdWZmZXI8InUiJiZCdWZmZXIuaXNCdWZmZXI/QnVmZmVyLmlzQnVmZmVyKGEpOiExfWZ1bmN0aW9uIGZiYShhKXtsZXQgZT1uZXcgVWludDhBcnJheShhLmxlbmd0aCk7cmV0dXJuIGUuc2V0KGEpLGV9dmFyIGxiYSx1YmEsUmxlPWYoKCk9PntlMHQoKTtsYmE9UzA7cyhjYmEsInVJbnQ4QXJyYXlUb0Jhc2U2NCIpO3MoZGJhLCJiYXNlNjRUb1VpbnQ4QXJyYXkiKTt1YmE9cyhhPT5TMC5pc1VpbnQ4QXJyYXkoYSksImlzVWludDhBcnJheSIpO3MocGJhLCJpc0J1ZmZlckxpa2UiKTtzKGZiYSwiZW5zdXJlUHVyZVVpbnQ4QXJyYXkiKX0pO3ZhciBOOT1mKCgpPT57S3MoKX0pO3ZhciBSOSxRWj1mKCgpPT57TjkoKTtSOT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJHdWFyZCIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5ndWFyZEZ1bmN0aW9uPWUsdGhpcy5vcHRpb25zPXR9YXN5bmMgZXhlYyhlKXtyZXR1cm4gYXdhaXQgdGhpcy5ndWFyZEZ1bmN0aW9uKGUpfWFzeW5jIGdldEZhaWxlZEhpbnQoZSl7cmV0dXJuIGF3YWl0IHRoaXMuZXhlYyhlKT9udWxsOnRoaXMub3B0aW9ucy5mYWlsZWRIaW50fX19KTt2YXIgTzksT2xlPWYoKCk9PntOOSgpO085PWNsYXNzIGV4dGVuZHMgRXJyb3J7c3RhdGlje3ModGhpcywiR3VhcmRFcnJvciIpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMubmFtZT0iR3VhcmRFcnJvciJ9fX0pO3ZhciBGOSxGbGU9ZigoKT0+e045KCk7UVooKTtGOT1jbGFzcyBleHRlbmRzIFI5e3N0YXRpY3tzKHRoaXMsIkd1YXJkU2V0Iil9Y29uc3RydWN0b3IoZT1bXSl7c3VwZXIoYXN5bmMgdD0+dGhpcy5hbGxHdWFyZHNQYXNzKHQpKSx0aGlzLmd1YXJkcz1lfWFzeW5jIGV4ZWNBbGxXaXRoRGF0YShlLHQ9e21vZGU6InBhcmFsbGVsIixzdG9wT25GYWlsOiExfSl7bGV0IHI9W107Zm9yKGxldCBvIG9mIHRoaXMuZ3VhcmRzKXtsZXQgbj1vLmV4ZWMoZSk7aWYodC5tb2RlPT09InNlcmlhbCImJmF3YWl0IG4sci5wdXNoKG4pLHQuc3RvcE9uRmFpbCYmIWF3YWl0IG4pcmV0dXJuIGF3YWl0IFByb21pc2UuYWxsKHIpfXJldHVybiBhd2FpdCBQcm9taXNlLmFsbChyKX1hc3luYyBhbGxHdWFyZHNQYXNzKGUsdD17bW9kZToicGFyYWxsZWwiLHN0b3BPbkZhaWw6ITF9KXtyZXR1cm4oYXdhaXQgdGhpcy5leGVjQWxsV2l0aERhdGEoZSx0KSkuZXZlcnkoaT0+aSl9YXN5bmMgYW55R3VhcmRzUGFzcyhlKXtyZXR1cm4oYXdhaXQgdGhpcy5leGVjQWxsV2l0aERhdGEoZSx7bW9kZToicGFyYWxsZWwiLHN0b3BPbkZhaWw6ITF9KSkuc29tZShyPT5yKX1nZXRGYWlsZWRIaW50KGUpe2ZvcihsZXQgdCBvZiB0aGlzLmd1YXJkcyl7bGV0IHI9dC5nZXRGYWlsZWRIaW50KGUpO2lmKHIpcmV0dXJuIHJ9fX19KTt2YXIgJGw9e307bHQoJGwse0d1YXJkOigpPT5SOSxHdWFyZEVycm9yOigpPT5POSxHdWFyZFNldDooKT0+RjkscGFzc0d1YXJkc09yUmVqZWN0OigpPT5oYmF9KTt2YXIgaGJhLEJsZT1mKCgpPT57TjkoKTtRWigpO09sZSgpO1FaKCk7RmxlKCk7RmxlKCk7T2xlKCk7aGJhPXMoYXN5bmMoYSxlKT0+e2xldCB0PW5ldyBGOShlKTtpZighYXdhaXQgdC5hbGxHdWFyZHNQYXNzKGEpKXtsZXQgaT1hd2FpdCB0LmdldEZhaWxlZEhpbnQoYSk7dGhyb3cgbmV3IE85KGBHdWFyZHMgZmFpbGVkOgoke2l9CiAgICBgKX19LCJwYXNzR3VhcmRzT3JSZWplY3QiKX0pO3ZhciBGaCxIbGU9ZigoKT0+e0ZoPWNsYXNze3N0YXRpY3tzKHRoaXMsIkludGVyY2VwdG9yTWFuYWdlciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzPVtdLHRoaXMucmVzcG9uc2VJbnRlcmNlcHRvcnM9W10sdGhpcy5lcnJvckludGVyY2VwdG9ycz1bXX1hZGRSZXF1ZXN0SW50ZXJjZXB0b3IoZSl7dGhpcy5yZXF1ZXN0SW50ZXJjZXB0b3JzLnB1c2goZSl9YWRkUmVzcG9uc2VJbnRlcmNlcHRvcihlKXt0aGlzLnJlc3BvbnNlSW50ZXJjZXB0b3JzLnB1c2goZSl9YWRkRXJyb3JJbnRlcmNlcHRvcihlKXt0aGlzLmVycm9ySW50ZXJjZXB0b3JzLnB1c2goZSl9cmVtb3ZlUmVxdWVzdEludGVyY2VwdG9yKGUpe2xldCB0PXRoaXMucmVxdWVzdEludGVyY2VwdG9ycy5pbmRleE9mKGUpO3Q+LTEmJnRoaXMucmVxdWVzdEludGVyY2VwdG9ycy5zcGxpY2UodCwxKX1yZW1vdmVSZXNwb25zZUludGVyY2VwdG9yKGUpe2xldCB0PXRoaXMucmVzcG9uc2VJbnRlcmNlcHRvcnMuaW5kZXhPZihlKTt0Pi0xJiZ0aGlzLnJlc3BvbnNlSW50ZXJjZXB0b3JzLnNwbGljZSh0LDEpfXJlbW92ZUVycm9ySW50ZXJjZXB0b3IoZSl7bGV0IHQ9dGhpcy5lcnJvckludGVyY2VwdG9ycy5pbmRleE9mKGUpO3Q+LTEmJnRoaXMuZXJyb3JJbnRlcmNlcHRvcnMuc3BsaWNlKHQsMSl9Y2xlYXJBbGwoKXt0aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnM9W10sdGhpcy5yZXNwb25zZUludGVyY2VwdG9ycz1bXSx0aGlzLmVycm9ySW50ZXJjZXB0b3JzPVtdfWFzeW5jIHByb2Nlc3NSZXF1ZXN0KGUpe2xldCB0PWU7Zm9yKGxldCByIG9mIHRoaXMucmVxdWVzdEludGVyY2VwdG9ycyl0cnl7dD1hd2FpdCByKHQpfWNhdGNoKGkpe3Rocm93IGF3YWl0IHRoaXMucHJvY2Vzc0Vycm9yKGkgaW5zdGFuY2VvZiBFcnJvcj9pOm5ldyBFcnJvcihTdHJpbmcoaSkpKX1yZXR1cm4gdH1hc3luYyBwcm9jZXNzUmVzcG9uc2UoZSl7bGV0IHQ9ZTtmb3IobGV0IHIgb2YgdGhpcy5yZXNwb25zZUludGVyY2VwdG9ycyl0cnl7dD1hd2FpdCByKHQpfWNhdGNoKGkpe3Rocm93IGF3YWl0IHRoaXMucHJvY2Vzc0Vycm9yKGkgaW5zdGFuY2VvZiBFcnJvcj9pOm5ldyBFcnJvcihTdHJpbmcoaSkpKX1yZXR1cm4gdH1hc3luYyBwcm9jZXNzRXJyb3IoZSl7bGV0IHQ9ZTtmb3IobGV0IHIgb2YgdGhpcy5lcnJvckludGVyY2VwdG9ycyl0cnl7dD1hd2FpdCByKHQpfWNhdGNoKGkpe3Q9aSBpbnN0YW5jZW9mIEVycm9yP2k6bmV3IEVycm9yKFN0cmluZyhpKSl9cmV0dXJuIHR9Z2V0SW50ZXJjZXB0b3JDb3VudHMoKXtyZXR1cm57cmVxdWVzdDp0aGlzLnJlcXVlc3RJbnRlcmNlcHRvcnMubGVuZ3RoLHJlc3BvbnNlOnRoaXMucmVzcG9uc2VJbnRlcmNlcHRvcnMubGVuZ3RoLGVycm9yOnRoaXMuZXJyb3JJbnRlcmNlcHRvcnMubGVuZ3RofX19fSk7dmFyIHQwdD1mKCgpPT57S3MoKX0pO3ZhciBhMHQ9ZigoKT0+e30pO3ZhciBxbGUscjB0PWYoKCk9Pnt0MHQoKTthMHQoKTtxbGU9Y2xhc3N7c3RhdGlje3ModGhpcywiU21hcnRlbnYiKX1jb25zdHJ1Y3Rvcigpe3RoaXMubG9hZGVkU2NyaXB0cz1bXX1hc3luYyBnZXRFbnZBd2FyZU1vZHVsZShlKXtpZih0aGlzLmlzTm9kZSlyZXR1cm4gYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZShlLm5vZGVNb2R1bGVOYW1lKTtpZih0aGlzLmlzQnJvd3NlcilyZXR1cm4gYXdhaXQgdGhpcy5nZXRTYWZlV2ViTW9kdWxlKGUud2ViVXJsQXJnLGUuZ2V0RnVuY3Rpb24pO2NvbnNvbGUuZXJyb3IoInBsYXRmb3JtIGZvciBsb2FkaW5nIG5vdCBzdXBwb3J0ZWQgYnkgc21hcnRlbnYiKX1hc3luYyBnZXRTYWZlTm9kZU1vZHVsZShlLHQpe2lmKCF0aGlzLmlzTm9kZSYmIXRoaXMuaXNEZW5vJiYhdGhpcy5pc0J1bil7Y29uc29sZS5lcnJvcihgWW91IHRyaWVkIHRvIGxvYWQgYSBzZXJ2ZXIgbW9kdWxlIGluIGEgd3JvbmcgY29udGV4dDogJHtlfS4gVGhpcyBkb2VzIG5vdCB0aHJvdy5gKTtyZXR1cm59bGV0IHI9YXdhaXQgbmV3IEZ1bmN0aW9uKGByZXR1cm4gaW1wb3J0KCcke2V9JylgKSgpO3JldHVybiB0JiZhd2FpdCB0KHIpLHJ9YXN5bmMgZ2V0U2FmZVdlYk1vZHVsZShlLHQpe2lmKCF0aGlzLmlzQnJvd3Nlcil7Y29uc29sZS5lcnJvcigiWW91IHRyaWVkIHRvIGxvYWQgYSB3ZWIgbW9kdWxlIGluIGEgd3JvbmcgY29udGV4dCIpO3JldHVybn1pZih0aGlzLmxvYWRlZFNjcmlwdHMuaW5jbHVkZXMoZSkpcmV0dXJuIHQoKTt0aGlzLmxvYWRlZFNjcmlwdHMucHVzaChlKTtsZXQgcj1ldC5kZWZlcigpLGk9Z2xvYmFsVGhpcztpZihpLmltcG9ydFNjcmlwdHMpaS5pbXBvcnRTY3JpcHRzKGUpLHIucmVzb2x2ZSgpO2Vsc2V7bGV0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7by5vbmxvYWQ9KCk9PntyLnJlc29sdmUoKX0sby5zcmM9ZSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG8pfXJldHVybiBhd2FpdCByLnByb21pc2UsdCgpfWdldCBydW50aW1lRW52KCl7bGV0IGU9Z2xvYmFsVGhpcztyZXR1cm4gdHlwZW9mIGUuRGVubzwidSImJnR5cGVvZiBlLkRlbm8udmVyc2lvbjwidSI/ImRlbm8iOnR5cGVvZiBlLkJ1bjwidSImJnR5cGVvZiBlLkJ1bi52ZXJzaW9uPCJ1Ij8iYnVuIjp0eXBlb2YgZ2xvYmFsVGhpcy5wcm9jZXNzPCJ1IiYmdHlwZW9mIGdsb2JhbFRoaXMucHJvY2Vzcz8udmVyc2lvbnM/Lm5vZGU8InUiPyJub2RlIjoodHlwZW9mIGdsb2JhbFRoaXMud2luZG93PCJ1IiYmdHlwZW9mIGdsb2JhbFRoaXMuZG9jdW1lbnQ8InUiLCJicm93c2VyIil9Z2V0IGlzQnJvd3Nlcigpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0iYnJvd3NlciJ9Z2V0IGlzTm9kZSgpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0ibm9kZSJ9Z2V0IGlzRGVubygpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0iZGVubyJ9Z2V0IGlzQnVuKCl7cmV0dXJuIHRoaXMucnVudGltZUVudj09PSJidW4ifWdldCB1c2VyQWdlbnQoKXtyZXR1cm4gdGhpcy5pc0Jyb3dzZXI/bmF2aWdhdG9yLnVzZXJBZ2VudDoidW5kZWZpbmVkIn1nZXQgbm9kZVZlcnNpb24oKXtyZXR1cm4gdGhpcy5pc05vZGU/cHJvY2Vzcy52ZXJzaW9uOiJ1bmRlZmluZWQifWdldCBkZW5vVmVyc2lvbigpe3JldHVybiB0aGlzLmlzRGVubz9nbG9iYWxUaGlzLkRlbm8/LnZlcnNpb24/LmRlbm8/PyJ1bmRlZmluZWQiOiJ1bmRlZmluZWQifWdldCBidW5WZXJzaW9uKCl7cmV0dXJuIHRoaXMuaXNCdW4/Z2xvYmFsVGhpcy5CdW4/LnZlcnNpb24/PyJ1bmRlZmluZWQiOiJ1bmRlZmluZWQifWFzeW5jIGdldFNhZmVNb2R1bGVGb3IoZSx0LHIpe2xldCBpO2lmKEFycmF5LmlzQXJyYXkoZSk/aT1lLmZsYXRNYXAobz0+bz09PSJzZXJ2ZXIiP1sibm9kZSIsImRlbm8iLCJidW4iXTpbb10pOmU9PT0ic2VydmVyIj9pPVsibm9kZSIsImRlbm8iLCJidW4iXTppPVtlXSwhaS5pbmNsdWRlcyh0aGlzLnJ1bnRpbWVFbnYpKXtjb25zb2xlLndhcm4oYE1vZHVsZSAiJHt0fSIgcmVxdWVzdGVkIGZvciBydW50aW1lKHMpIFske2kuam9pbigiLCAiKX1dIGJ1dCBjdXJyZW50IHJ1bnRpbWUgaXMgIiR7dGhpcy5ydW50aW1lRW52fSIuIFNraXBwaW5nIGxvYWQuYCk7cmV0dXJufWlmKHRoaXMuaXNOb2RlfHx0aGlzLmlzRGVub3x8dGhpcy5pc0J1bilyZXR1cm4gYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSh0KTtpZih0aGlzLmlzQnJvd3Nlcil7aWYoIXIpe2NvbnNvbGUuZXJyb3IoYEJyb3dzZXIgbW9kdWxlIGxvYWQgcmVxdWlyZXMgZ2V0RnVuY3Rpb24gcGFyYW1ldGVyIGZvciAiJHt0fSJgKTtyZXR1cm59cmV0dXJuIGF3YWl0IHRoaXMuZ2V0U2FmZVdlYk1vZHVsZSh0LHIpfX1nZXQgaXNDSSgpe3JldHVybiB0aGlzLmlzTm9kZT8hIXByb2Nlc3MuZW52LkNJOiExfWFzeW5jIGlzTWFjQXN5bmMoKXtyZXR1cm4gdGhpcy5pc05vZGV8fHRoaXMuaXNEZW5vfHx0aGlzLmlzQnVuPyhhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKHRoaXMuaXNEZW5vPyJub2RlOm9zIjoib3MiKSk/LnBsYXRmb3JtKCk9PT0iZGFyd2luIjohMX1hc3luYyBpc1dpbmRvd3NBc3luYygpe3JldHVybiB0aGlzLmlzTm9kZXx8dGhpcy5pc0Rlbm98fHRoaXMuaXNCdW4/KGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUodGhpcy5pc0Rlbm8/Im5vZGU6b3MiOiJvcyIpKT8ucGxhdGZvcm0oKT09PSJ3aW4zMiI6ITF9YXN5bmMgaXNMaW51eEFzeW5jKCl7cmV0dXJuIHRoaXMuaXNOb2RlfHx0aGlzLmlzRGVub3x8dGhpcy5pc0J1bj8oYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSh0aGlzLmlzRGVubz8ibm9kZTpvcyI6Im9zIikpPy5wbGF0Zm9ybSgpPT09ImxpbnV4IjohMX1hc3luYyBwcmludEVudigpe3RoaXMuaXNOb2RlPyhjb25zb2xlLmxvZygicnVubmluZyBvbiBOT0RFIiksY29uc29sZS5sb2coIm5vZGUgdmVyc2lvbiBpcyAiK3RoaXMubm9kZVZlcnNpb24pKTp0aGlzLmlzRGVubz8oY29uc29sZS5sb2coInJ1bm5pbmcgb24gREVOTyIpLGNvbnNvbGUubG9nKCJkZW5vIHZlcnNpb24gaXMgIit0aGlzLmRlbm9WZXJzaW9uKSk6dGhpcy5pc0J1bj8oY29uc29sZS5sb2coInJ1bm5pbmcgb24gQlVOIiksY29uc29sZS5sb2coImJ1biB2ZXJzaW9uIGlzICIrdGhpcy5idW5WZXJzaW9uKSk6KGNvbnNvbGUubG9nKCJydW5uaW5nIG9uIEJST1dTRVIiKSxjb25zb2xlLmxvZygiYnJvd3NlciBpcyAiK3RoaXMudXNlckFnZW50KSl9fX0pO3ZhciBpMT17fTtsdChpMSx7U21hcnRlbnY6KCk9PnFsZX0pO3ZhciBCOT1mKCgpPT57cjB0KCl9KTt2YXIgVmxlLEg5PWYoKCk9PntWbGU9RmkoSDcoKSwxKX0pO3ZhciBKWj17fTtsdChKWix7Y3JlYXRlQ3J5cHRvUmFuZG9tU3RyaW5nOigpPT55YmEsY3JlYXRlUmFuZG9tU3RyaW5nOigpPT54YmF9KTt2YXIgYmJhLHZiYSx4YmEseWJhLHMwdD1mKCgpPT57SDkoKTtiYmE9cygoYSxlKT0+e2lmKHR5cGVvZiBnbG9iYWxUaGlzPCJ1IiYmZ2xvYmFsVGhpcy5jcnlwdG8mJmdsb2JhbFRoaXMuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl7bGV0IHQ9ZS1hLHI9bmV3IFVpbnQzMkFycmF5KDEpO3JldHVybiBnbG9iYWxUaGlzLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMociksYStyWzBdJXR9ZWxzZSByZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKihlLWEpKSthfSwiZ2V0UmFuZG9tSW50IiksdmJhPXMoKGEsZSx0KT0+e2xldCByPXtBOiJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWiIsYToiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoiLDA6IjAxMjM0NTY3ODkiLCIhIjoiIUAjJCVeJiooKV8rLT1bXXt9fDs6LC48Pj8iLCIqIjoiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkhQCMkJV4mKigpXystPVtde318OzosLjw+PyJ9LGk9YTtlJiZlPmEubGVuZ3RoP2k9YS5yZXBlYXQoTWF0aC5jZWlsKGUvYS5sZW5ndGgpKS5zbGljZSgwLGUpOmUmJihpPWEuc2xpY2UoMCxlKSk7bGV0IG89IiI7Zm9yKGxldCBuIG9mIGkpaWYocltuXSl7bGV0IGw9cltuXSxkPWJiYSgwLGwubGVuZ3RoKTtvKz1sW2RdfWVsc2Ugbys9bjtyZXR1cm4gb30sImN1c3RvbVJhbmRvbWF0aWMiKSx4YmE9cygoYSxlLHQpPT52YmEoYSxlLHQpLCJjcmVhdGVSYW5kb21TdHJpbmciKSx5YmE9cygoKT0+VmxlLnVuaSgpLCJjcmVhdGVDcnlwdG9SYW5kb21TdHJpbmciKX0pO3ZhciBlWD17fTtsdChlWCx7bWFrZUVudk9iamVjdDooKT0+d2JhfSk7dmFyIHdiYSxpMHQ9ZigoKT0+e0g5KCk7d2JhPXMoZnVuY3Rpb24oYSl7bGV0IGU9e30sdD0vKC4qKT0oLiopLztpZih0eXBlb2YgYTwidSIpZm9yKGxldCByIG9mIGEpe2xldCBpPXQuZXhlYyhyKTtpJiYoZVtpWzFdXT1pWzJdKX1yZXR1cm4gZX0sIm1ha2VFbnZPYmplY3QiKX0pO3ZhciBfMz17fTtsdChfMyx7aW5kZW50OigpPT5rYmEsaW5kZW50V2l0aFByZWZpeDooKT0+U2JhLG5vcm1hbGl6ZTooKT0+emJhfSk7dmFyIGpsZSxVbGUsTWJhLGtiYSxTYmEsemJhLG8wdD1mKCgpPT57SDkoKTtqbGU9cyhhPT57bGV0IGU9YS5zcGxpdChgCmApO3JldHVybiBNYmEoZSl9LCJzcGxpdFN0cmluZ0F0TGluZUJyZWFrIiksVWxlPXMoYT0+e2xldCBlPSIiO2ZvcihsZXQgdCBvZiBhKWU9ZSt0K2AKYDtyZXR1cm4gZX0sImpvaW5TdHJpbmdXaXRoTGluZUJyZWFrcyIpLE1iYT1zKGE9PntsZXQgZT0vXltcc10qJC87cmV0dXJuIGUudGVzdChhWzBdKSYmYS5zaGlmdCgpLGUudGVzdChhW2EubGVuZ3RoLTFdKSYmYS5wb3AoKSxhfSwiY2xlYW5TdHJpbmdBcnJheSIpLGtiYT1zKChhLGUpPT57bGV0IHQ9amxlKGEpO2ZvcihsZXQgaSBvZiB0KWk9IiAiLnJlcGVhdChlKStpO3JldHVybiBVbGUodCl9LCJpbmRlbnQiKSxTYmE9cygoYSxlKT0+e2xldCB0LHI9amxlKGEpLGk9W107Zm9yKGxldCBvIG9mIHIpaS5wdXNoKGUrbyk7cmV0dXJuIHQ9VWxlKGkpLHR9LCJpbmRlbnRXaXRoUHJlZml4IiksemJhPXMoYT0+e2xldCBlLHQ9amxlKGEpLHIsaT0vXihccyopLyxvPS9eKFxzKikkLztmb3IobGV0IGQgb2YgdCl7bGV0IGM9aS5leGVjKGQpLHA9Yz9jWzFdOiIiOyh0eXBlb2Ygcj4idSJ8fHAubGVuZ3RoPHIpJiYhby50ZXN0KGQpJiYocj1wLmxlbmd0aCl9bGV0IG49W10sbD1yfHwwO2ZvcihsZXQgZCBvZiB0KW4ucHVzaChkLnN1YnN0cihsKSk7cmV0dXJuIGU9VWxlKG4pLGV9LCJub3JtYWxpemUiKX0pO3ZhciB0WD17fTtsdCh0WCx7cmVwbGFjZUFsbDooKT0+bjB0LHN0YW5kYXJkOigpPT5fYmF9KTt2YXIgbjB0LENiYSxfYmEsbDB0PWYoKCk9PntuMHQ9cygoYSxlLHQpPT5hLnJlcGxhY2UobmV3IFJlZ0V4cChlLCJnIiksdCksInJlcGxhY2VBbGwiKSxDYmE9cyhhPT57bGV0IGU9YS5zcGxpdChgCmApLHQ9MS8wO2ZvcihsZXQgciBvZiBlKWlmKHIudHJpbSgpLmxlbmd0aD4wKXtsZXQgaT1yLm1hdGNoKC9eKFxzKikvKTtpJiYodD1NYXRoLm1pbih0LGlbMV0ubGVuZ3RoKSl9cmV0dXJuIHQ9PT0xLzB8fHQ9PT0wP2E6ZS5tYXAocj0+ci5sZW5ndGg+PXQ/ci5zbGljZSh0KTpyKS5qb2luKGAKYCl9LCJzdHJpcEluZGVudCIpLF9iYT1zKChhLGUpPT57bGV0IHQ9YTtyZXR1cm4oIWV8fGUuc3RyaXBJbmRlbnQpJiYodD1DYmEodCkpLCghZXx8ZS5ub3JtYWxpemVOZXdsaW5lKSYmKHQ9dC5yZXBsYWNlKC9cclxuL2csYApgKSksKCFlfHxlLnJlcGxhY2VUYWJzKSYmKHQ9bjB0KHQsIgkvIiwiICIpKSwoIWV8fGUuc3RyaXBMZWFkaW5nVHJhaWxpbmdFbXB0eUxpbmVzKSYmKHQ9dC5yZXBsYWNlKC9eXHMqW1xyXG5dL2dtLCIiKS5yZXBsYWNlKC9ccypbXHJcbl0kL2dtLCIiKSksKCFlfHxlLnN0cmlwQWxsRW1wdHlMaW5lcykmJih0PXQucmVwbGFjZSgvXlxzKltcclxuXS9nbSwiIikpLHR9LCJzdGFuZGFyZCIpfSk7dmFyIFdsZSxhWCxCaCxHbGU9ZigoKT0+e1dsZT17ZW5jb2RlOnMoYT0+e2lmKHR5cGVvZiBCdWZmZXI8InUiKXJldHVybiBCdWZmZXIuZnJvbShhLCJ1dGY4IikudG9TdHJpbmcoImJhc2U2NCIpO2lmKHR5cGVvZiBidG9hPCJ1Iil7bGV0IGU9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGEpLHQ9QXJyYXkuZnJvbShlLHI9PlN0cmluZy5mcm9tQ2hhckNvZGUocikpLmpvaW4oIiIpO3JldHVybiBidG9hKHQpfWVsc2V7bGV0IGU9IkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8iLHQ9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGEpLHI9IiIsaT0wO2Zvcig7aTx0Lmxlbmd0aDspe2xldCBvPXRbaSsrXSxuPWk8dC5sZW5ndGg/dFtpKytdOjAsbD1pPHQubGVuZ3RoP3RbaSsrXTowLGQ9bzw8MTZ8bjw8OHxsO3IrPWUuY2hhckF0KGQ+PjE4JjYzKSxyKz1lLmNoYXJBdChkPj4xMiY2Mykscis9aS0yPHQubGVuZ3RoP2UuY2hhckF0KGQ+PjYmNjMpOiI9IixyKz1pLTE8dC5sZW5ndGg/ZS5jaGFyQXQoZCY2Myk6Ij0ifXJldHVybiByfX0sImVuY29kZSIpLGRlY29kZTpzKGE9PntsZXQgZT1hLnJlcGxhY2UoLy0vZywiKyIpLnJlcGxhY2UoL18vZywiLyIpLnBhZEVuZChhLmxlbmd0aCsoNC1hLmxlbmd0aCU0KSU0LCI9Iik7aWYodHlwZW9mIEJ1ZmZlcjwidSIpcmV0dXJuIEJ1ZmZlci5mcm9tKGUsImJhc2U2NCIpLnRvU3RyaW5nKCJ1dGY4Iik7aWYodHlwZW9mIGF0b2I8InUiKXtsZXQgdD1hdG9iKGUpLHI9bmV3IFVpbnQ4QXJyYXkodC5sZW5ndGgpO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKXJbaV09dC5jaGFyQ29kZUF0KGkpO3JldHVybiBuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUocil9ZWxzZXtsZXQgdD0iQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyIscj1bXSxpPTA7Zm9yKDtpPGUubGVuZ3RoOyl7bGV0IG89dC5pbmRleE9mKGUuY2hhckF0KGkrKykpLG49dC5pbmRleE9mKGUuY2hhckF0KGkrKykpLGw9dC5pbmRleE9mKGUuY2hhckF0KGkrKykpLGQ9dC5pbmRleE9mKGUuY2hhckF0KGkrKykpLGM9bzw8MTh8bjw8MTJ8bDw8NnxkO3IucHVzaChjPj4xNiYyNTUpLGwhPT02NCYmci5wdXNoKGM+PjgmMjU1KSxkIT09NjQmJnIucHVzaChjJjI1NSl9cmV0dXJuIG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZShuZXcgVWludDhBcnJheShyKSl9fSwiZGVjb2RlIil9LGFYPWNsYXNze3N0YXRpY3tzKHRoaXMsIkJhc2U2NCIpfWNvbnN0cnVjdG9yKGUsdCl7c3dpdGNoKHQpe2Nhc2Uic3RyaW5nIjp0aGlzLnJlZlN0cmluZz1lO2JyZWFrO2Nhc2UiYmFzZTY0Ijp0aGlzLnJlZlN0cmluZz1CaC5kZWNvZGUoZSk7YnJlYWs7Y2FzZSJiYXNlNjR1cmkiOnRoaXMucmVmU3RyaW5nPUJoLmRlY29kZShlKX19Z2V0IHNpbXBsZVN0cmluZygpe3JldHVybiB0aGlzLnJlZlN0cmluZ31nZXQgYmFzZTY0U3RyaW5nKCl7cmV0dXJuIEJoLmVuY29kZSh0aGlzLnJlZlN0cmluZyl9Z2V0IGJhc2U2NFVyaVN0cmluZygpe3JldHVybiBCaC5lbmNvZGVVcmkodGhpcy5yZWZTdHJpbmcpfX0sQmg9e2VuY29kZTpzKGE9PldsZS5lbmNvZGUoYSksImVuY29kZSIpLGVuY29kZVVyaTpzKGE9PldsZS5lbmNvZGUoYSkucmVwbGFjZSgvXCsvZywiLSIpLnJlcGxhY2UoL1wvL2csIl8iKS5yZXBsYWNlKC89L2csIiIpLCJlbmNvZGVVcmkiKSxkZWNvZGU6cyhhPT5XbGUuZGVjb2RlKGEpLCJkZWNvZGUiKSxpc0Jhc2U2NDpzKGE9Pi9eKFtBLVphLXowLTkrL117NH0pKihbQS1aYS16MC05Ky9dezN9PXxbQS1aYS16MC05Ky9dezJ9PT0pPyQvLnRlc3QoYSksImlzQmFzZTY0Iil9fSk7dmFyIHJYPXt9O2x0KHJYLHtpc0Jhc2U2NDooKT0+TGJhLGlzVXRmODooKT0+VGJhfSk7dmFyIFRiYSxMYmEsYzB0PWYoKCk9PntIOSgpO0dsZSgpO1RiYT1zKGE9PntsZXQgdD1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoYSkscj0wO2Zvcig7cjx0Lmxlbmd0aDspe2lmKHRbcl09PT05fHx0W3JdPT09MTB8fHRbcl09PT0xM3x8MzI8PXRbcl0mJnRbcl08PTEyNil7cis9MTtjb250aW51ZX1pZigxOTQ8PXRbcl0mJnRbcl08PTIyMyYmMTI4PD10W3IrMV0mJnRbcisxXTw9MTkxKXtyKz0yO2NvbnRpbnVlfWlmKHRbcl09PT0yMjQmJjE2MDw9dFtyKzFdJiZ0W3IrMV08PTE5MSYmMTI4PD10W3IrMl0mJnRbcisyXTw9MTkxfHwoMjI1PD10W3JdJiZ0W3JdPD0yMzZ8fHRbcl09PT0yMzh8fHRbcl09PT0yMzkpJiYxMjg8PXRbcisxXSYmdFtyKzFdPD0xOTEmJjEyODw9dFtyKzJdJiZ0W3IrMl08PTE5MXx8dFtyXT09PTIzNyYmMTI4PD10W3IrMV0mJnRbcisxXTw9MTU5JiYxMjg8PXRbcisyXSYmdFtyKzJdPD0xOTEpe3IrPTM7Y29udGludWV9aWYodFtyXT09PTI0MCYmMTQ0PD10W3IrMV0mJnRbcisxXTw9MTkxJiYxMjg8PXRbcisyXSYmdFtyKzJdPD0xOTEmJjEyODw9dFtyKzNdJiZ0W3IrM108PTE5MXx8MjQxPD10W3JdJiZ0W3JdPD0yNDMmJjEyODw9dFtyKzFdJiZ0W3IrMV08PTE5MSYmMTI4PD10W3IrMl0mJnRbcisyXTw9MTkxJiYxMjg8PXRbciszXSYmdFtyKzNdPD0xOTF8fHRbcl09PT0yNDQmJjEyODw9dFtyKzFdJiZ0W3IrMV08PTE0MyYmMTI4PD10W3IrMl0mJnRbcisyXTw9MTkxJiYxMjg8PXRbciszXSYmdFtyKzNdPD0xOTEpe3IrPTQ7Y29udGludWV9cmV0dXJuITF9cmV0dXJuITB9LCJpc1V0ZjgiKSxMYmE9cyhhPT57bGV0IGU9L1teQS1aMC05K1wvPV0vaSx0PWEubGVuZ3RoO2lmKCF0fHx0JTQhPT0wfHxlLnRlc3QoYSkpcmV0dXJuITE7bGV0IHI9YS5pbmRleE9mKCI9Iik7cmV0dXJuIHI9PT0tMXx8cj09PXQtMXx8cj09PXQtMiYmYVt0LTFdPT09Ij0ifSwiaXNCYXNlNjQiKX0pO3ZhciBzWCxkMHQ9ZigoKT0+e3NYPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRvbWFpbiIpfWNvbnN0cnVjdG9yKGUpe3RoaXMucHJvdG9jb2w9dGhpcy5fcHJvdG9jb2xSZWdleChlKSx0aGlzLnByb3RvY29sfHwoZT1gaHR0cHM6Ly8ke2V9YCksdGhpcy5ub2RlUGFyc2VkVXJsPW5ldyBVUkwoZSksdGhpcy5wb3J0PXRoaXMubm9kZVBhcnNlZFVybC5wb3J0O2xldCB0PXRoaXMuX2RvbWFpblJlZ2V4KGUucmVwbGFjZSh0aGlzLm5vZGVQYXJzZWRVcmwucGF0aG5hbWUsIiIpKTtbdGhpcy5sZXZlbDEsdGhpcy5sZXZlbDIsdGhpcy5sZXZlbDMsdGhpcy5sZXZlbDQsdGhpcy5sZXZlbDVdPXQsdGhpcy5mdWxsTmFtZT0iIjtmb3IobGV0IHIgb2YgdCl0aGlzLmZ1bGxOYW1lPT09IiI/dGhpcy5mdWxsTmFtZT1yOnRoaXMuZnVsbE5hbWU9cisiLiIrdGhpcy5mdWxsTmFtZTt0aGlzLnpvbmVOYW1lPVt0aGlzLmxldmVsMix0aGlzLmxldmVsMV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oIi4iKSx0aGlzLnRvcExldmVsPXRoaXMubGV2ZWwxLHRoaXMuZG9tYWluTmFtZT10aGlzLmxldmVsMix0aGlzLnN1YkRvbWFpbj10aGlzLmxldmVsM31fZG9tYWluUmVnZXgoZSl7bGV0IHI9LyhbYS16QS1aMC05XC1cX10qKVwuezAsMX0oW2EtekEtWjAtOVwtXF9dKilcLnswLDF9KFthLXpBLVowLTlcLVxfXSopXC57MCwxfShbYS16QS1aMC05XC1cX10qKVwuezAsMX0oW2EtekEtWjAtOVwtXF9dKilcLnswLDF9JC8uZXhlYyhlKTtpZighcilyZXR1cm5bXTtsZXQgaT1bLi4ucl0ucmV2ZXJzZSgpO3JldHVybiBpLnBvcCgpLGkuZmlsdGVyKGZ1bmN0aW9uKG4pe3JldHVybiBuIT09IiJ9KX1fcHJvdG9jb2xSZWdleChlKXtsZXQgcj0vXihbYS16QS1aMC05XSopOlwvXC8vLmV4ZWMoZSk7aWYocilyZXR1cm4gclsxXX1fcG9ydFJlZ2V4KGUpe2xldCByPS9eKFthLXpBLVowLTldKik6XC9cLy8uZXhlYyhlKTtpZihyKXJldHVybiByWzFdfX19KTt2YXIgaVgsJGJhLHUwdCxwMHQ9ZigoKT0+e2lYPWNsYXNze3N0YXRpY3tzKHRoaXMsIkdpdFJlcG8iKX1jb25zdHJ1Y3RvcihlLHQpe2xldCByPSRiYShlKTtpZighcil0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgZ2l0IHJlcG9zaXRvcnkgVVJMOiAke2V9YCk7dGhpcy5ob3N0PXJbMV0sdGhpcy51c2VyPXJbMl0sdGhpcy5yZXBvPXJbM10sdGhpcy5hY2Nlc3NUb2tlbj10LHRoaXMuc3NoVXJsPXUwdCh0aGlzLmhvc3QsdGhpcy51c2VyLHRoaXMucmVwbyx0aGlzLmFjY2Vzc1Rva2VuLCJzc2giKSx0aGlzLmh0dHBzVXJsPXUwdCh0aGlzLmhvc3QsdGhpcy51c2VyLHRoaXMucmVwbyx0aGlzLmFjY2Vzc1Rva2VuLCJodHRwcyIpfX0sJGJhPXMoZnVuY3Rpb24oYSl7cmV0dXJuLyhbYS16QS1aMC05XC1fXC5dKikoPzpcL3xcOikoW2EtekEtWjAtOVwtX1wuXSopKD86XC8pKFthLXpBLVowLTlcLV9cLl0qKSg/OlwuZ2l0KS8uZXhlYyhhKX0sImdpdFJlZ2V4IiksdTB0PXMoZnVuY3Rpb24oYSxlLHQscj0iIixpKXtzd2l0Y2gociE9PSIiJiYocj1yKyJAIiksaSl7Y2FzZSJodHRwcyI6cmV0dXJuImh0dHBzOi8vIityK2ErIi8iK2UrIi8iK3QrIi5naXQiO2Nhc2Uic3NoIjpyZXR1cm4iZ2l0QCIrYSsiOiIrZSsiLyIrdCsiLmdpdCJ9fSwiZ2l0TGluayIpfSk7dmFyIGlzPXt9O2x0KGlzLHtCYXNlNjQ6KCk9PmFYLERvbWFpbjooKT0+c1gsR2l0UmVwbzooKT0+aVgsYmFzZTY0OigpPT5CaCxjcmVhdGU6KCk9PkpaLGRvY2tlcjooKT0+ZVgsaW5kZW50OigpPT5fMyxub3JtYWxpemU6KCk9PnRYLHR5cGU6KCk9PnJYfSk7dmFyIEhoPWYoKCk9PntzMHQoKTtpMHQoKTtvMHQoKTtsMHQoKTtjMHQoKTtHbGUoKTtkMHQoKTtwMHQoKX0pO3ZhciBZbGU9Ym8oKHlMcixmMHQpPT57InVzZSBzdHJpY3QiO2YwdC5leHBvcnRzPWZ1bmN0aW9uKGEsZSl7ZXx8KGU9e30pLHR5cGVvZiBlPT0iZnVuY3Rpb24iJiYoZT17Y21wOmV9KTt2YXIgdD10eXBlb2YgZS5jeWNsZXM9PSJib29sZWFuIj9lLmN5Y2xlczohMSxyPWUuY21wJiYoZnVuY3Rpb24obyl7cmV0dXJuIGZ1bmN0aW9uKG4pe3JldHVybiBmdW5jdGlvbihsLGQpe3ZhciBjPXtrZXk6bCx2YWx1ZTpuW2xdfSxwPXtrZXk6ZCx2YWx1ZTpuW2RdfTtyZXR1cm4gbyhjLHApfX19KShlLmNtcCksaT1bXTtyZXR1cm4gcygoZnVuY3Rpb24gbyhuKXtpZihuJiZuLnRvSlNPTiYmdHlwZW9mIG4udG9KU09OPT0iZnVuY3Rpb24iJiYobj1uLnRvSlNPTigpKSxuIT09dm9pZCAwKXtpZih0eXBlb2Ygbj09Im51bWJlciIpcmV0dXJuIGlzRmluaXRlKG4pPyIiK246Im51bGwiO2lmKHR5cGVvZiBuIT0ib2JqZWN0IilyZXR1cm4gSlNPTi5zdHJpbmdpZnkobik7dmFyIGwsZDtpZihBcnJheS5pc0FycmF5KG4pKXtmb3IoZD0iWyIsbD0wO2w8bi5sZW5ndGg7bCsrKWwmJihkKz0iLCIpLGQrPW8obltsXSl8fCJudWxsIjtyZXR1cm4gZCsiXSJ9aWYobj09PW51bGwpcmV0dXJuIm51bGwiO2lmKGkuaW5kZXhPZihuKSE9PS0xKXtpZih0KXJldHVybiBKU09OLnN0cmluZ2lmeSgiX19jeWNsZV9fIik7dGhyb3cgbmV3IFR5cGVFcnJvcigiQ29udmVydGluZyBjaXJjdWxhciBzdHJ1Y3R1cmUgdG8gSlNPTiIpfXZhciBjPWkucHVzaChuKS0xLHA9T2JqZWN0LmtleXMobikuc29ydChyJiZyKG4pKTtmb3IoZD0iIixsPTA7bDxwLmxlbmd0aDtsKyspe3ZhciB1PXBbbF0sbT1vKG5bdV0pO20mJihkJiYoZCs9IiwiKSxkKz1KU09OLnN0cmluZ2lmeSh1KSsiOiIrbSl9cmV0dXJuIGkuc3BsaWNlKGMsMSksInsiK2QrIn0ifX0pLCJzdHJpbmdpZnkiKShhKX19KTt2YXIgaDB0LG9YLEtsZT1mKCgpPT57QjkoKTtIaCgpO2gwdD1GaShZbGUoKSwxKSxvWD1oMHQuZGVmYXVsdH0pO2Z1bmN0aW9uIEFiYShhKXtsZXQgZT1tMHQoKTtyZXR1cm4gZT9lLmZyb20oYSkudG9TdHJpbmcoImJhc2U2NCIpOmJ0b2EoU3RyaW5nLmZyb21DaGFyQ29kZSguLi5hKSl9ZnVuY3Rpb24gRWJhKGEpe2xldCBlPW0wdCgpO2lmKGUpe2xldCB0PWUuZnJvbShhLCJiYXNlNjQiKTtyZXR1cm4gbmV3IFVpbnQ4QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0LHQuYnl0ZUxlbmd0aCl9cmV0dXJuIG5ldyBVaW50OEFycmF5KEFycmF5LmZyb20oYXRvYihhKSkubWFwKHQ9PnQuY2hhckNvZGVBdCgwKSkpfWZ1bmN0aW9uIFhsZShhLGUpe3JldHVybiBKU09OLnN0cmluZ2lmeShhLG5YLGUpfWZ1bmN0aW9uIFFsZShhKXtyZXR1cm4gSlNPTi5wYXJzZShhLGcwdCl9ZnVuY3Rpb24gUGJhKGEpe3JldHVybiB2MHQoYSkmJmEudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmWmxlKGEuZGF0YSl9ZnVuY3Rpb24gSWJhKGEpe3JldHVybiB2MHQoYSkmJmEudHlwZT09PSJCdWZmZXIiJiYoYjB0KGEuZGF0YSl8fFpsZShhLmRhdGEpKXx8YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl9ZnVuY3Rpb24gYjB0KGEpe3JldHVybiBBcnJheS5pc0FycmF5KGEpfWZ1bmN0aW9uIFpsZShhKXtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmcifWZ1bmN0aW9uIHYwdChhKXtyZXR1cm4gdHlwZW9mIGE9PSJvYmplY3QiJiZhIT09bnVsbH12YXIgbTB0LG5YLGcwdCx4MHQ9ZigoKT0+e0tsZSgpO20wdD1zKCgpPT5nbG9iYWxUaGlzLkJ1ZmZlciwiZ2V0Tm9kZUJ1ZmZlciIpO3MoQWJhLCJiYXNlNjRFbmNvZGUiKTtzKEViYSwiYmFzZTY0RGVjb2RlIik7cyhYbGUsInN0cmluZ2lmeSIpO3MoUWxlLCJwYXJzZSIpO25YPXMoKGEsZSk9PntpZihJYmEoZSkpe2xldCB0O2lmKCJkYXRhImluIGUmJmIwdChlLmRhdGEpKXQ9bmV3IFVpbnQ4QXJyYXkoZS5kYXRhKTtlbHNlIGlmKGUgaW5zdGFuY2VvZiBVaW50OEFycmF5KXQ9ZTtlbHNlIHJldHVybiBlO3JldHVybnt0eXBlOiJFbmNvZGVkQnVmZmVyIixkYXRhOiJiYXNlNjQ6IitBYmEodCl9fXJldHVybiBlfSwicmVwbGFjZXIiKSxnMHQ9cygoYSxlKT0+e2lmKFBiYShlKSYmWmxlKGUuZGF0YSkmJmUuZGF0YS5zdGFydHNXaXRoKCJiYXNlNjQ6Iikpe2xldCB0PWUuZGF0YS5zbGljZSg3KTtyZXR1cm4gRWJhKHQpfXJldHVybiBlfSwicmV2aXZlciIpO3MoUGJhLCJpc0VuY29kZWRCdWZmZXIiKTtzKEliYSwiaXNCdWZmZXJMaWtlIik7cyhiMHQsImlzQXJyYXkiKTtzKFpsZSwiaXNTdHJpbmciKTtzKHYwdCwiaXNPYmplY3QiKX0pO3ZhciBDcz17fTtsdChDcyx7U21hcnRqc29uOigpPT5lY2UsZGVlcEVxdWFsSnNvbkxTdHJpbmdzOigpPT5WYmEsZGVlcEVxdWFsT2JqZWN0czooKT0+eTB0LGZvbGREZWM6KCk9PnFiYSxwYXJzZTooKT0+bFgscGFyc2VCYXNlNjQ6KCk9PkhiYSxwYXJzZUpzb25MOigpPT5KbGUsc3RhYmxlT25lV2F5U3RyaW5naWZ5OigpPT5PYmEsc3RyaW5naWZ5OigpPT5UMyxzdHJpbmdpZnlCYXNlNjQ6KCk9PkJiYSxzdHJpbmdpZnlKc29uTDooKT0+UmJhLHN0cmluZ2lmeVByZXR0eTooKT0+RmJhfSk7dmFyIGxYLEpsZSxSYmEsT2JhLFQzLEZiYSxCYmEsSGJhLGVjZSxxYmEseTB0LFZiYSxxaD1mKCgpPT57S2xlKCk7eDB0KCk7bFg9UWxlLEpsZT1zKGE9PmEuc3BsaXQoYApgKS5yZWR1Y2UoKHIsaSk9PntsZXQgbz1pLnRyaW0oKTtyZXR1cm4gby5sZW5ndGg+MCYmci5wdXNoKGxYKG8pKSxyfSxbXSksInBhcnNlSnNvbkwiKSxSYmE9cyhhPT5hLm1hcChlPT5UMyhlKSkuam9pbihgCmApLCJzdHJpbmdpZnlKc29uTCIpLE9iYT1zKChhLGUsdD17fSk9PntsZXQgcj1uZXcgV2Vha1NldCxpPXMobD0+e2lmKGw9PT1udWxsfHx0eXBlb2YgbCE9Im9iamVjdCIpcmV0dXJuIGw7bGV0IGQ9blgoIiIsbCk7aWYoZCYmZC50eXBlPT09IkVuY29kZWRCdWZmZXIiJiZ0eXBlb2YgZC5kYXRhPT0ic3RyaW5nIilyZXR1cm4gZDtpZihyLmhhcyhsKSlyZXR1cm4iX19jeWNsZV9fIjtpZihyLmFkZChsKSxBcnJheS5pc0FycmF5KGwpKXJldHVybiBsLm1hcChwPT5pKHApKTtsZXQgYz17fTtmb3IobGV0IHAgb2YgT2JqZWN0LmtleXMobCkpdHJ5e2NbcF09aShsW3BdKX1jYXRjaHtjW3BdPSJfX3Vuc2VyaWFsaXphYmxlX18ifXJldHVybiBjfSwic2FuaXRpemUiKSxvPWkoYSksbj17Li4udCxjeWNsZXM6ITB9O2lmKGUmJiFuLmNtcCl7bGV0IGw9bmV3IE1hcDtlLmZvckVhY2goKGQsYyk9Pmwuc2V0KGQsYykpLG4uY21wPShkLGMpPT57bGV0IHA9bC5oYXMoZC5rZXkpP2wuZ2V0KGQua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksdT1sLmhhcyhjLmtleSk/bC5nZXQoYy5rZXkpOk51bWJlci5QT1NJVElWRV9JTkZJTklUWTtyZXR1cm4gcCE9PXU/cC11OmQua2V5PGMua2V5Py0xOmQua2V5PmMua2V5PzE6MH19cmV0dXJuIG9YKG8sbil9LCJzdGFibGVPbmVXYXlTdHJpbmdpZnkiKSxUMz1zKChhLGUsdD17fSk9PntsZXQgcj1YbGUoYSk7YT1KU09OLnBhcnNlKHIpO2xldCBpPXsuLi50fTtpZihlJiYhaS5jbXApe2xldCBuPW5ldyBNYXA7ZS5mb3JFYWNoKChsLGQpPT5uLnNldChsLGQpKSxpLmNtcD0obCxkKT0+e2xldCBjPW4uaGFzKGwua2V5KT9uLmdldChsLmtleSk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHA9bi5oYXMoZC5rZXkpP24uZ2V0KGQua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIGMhPT1wP2MtcDpsLmtleTxkLmtleT8tMTpsLmtleT5kLmtleT8xOjB9fXJldHVybiBvWChhLGkpfSwic3RyaW5naWZ5IiksRmJhPXMoYT0+e2xldCBlPVQzKGEpLHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCxudWxsLDIpfSwic3RyaW5naWZ5UHJldHR5IiksQmJhPXMoKC4uLmEpPT57bGV0IGU9VDMoLi4uYSk7cmV0dXJuIGlzLmJhc2U2NC5lbmNvZGVVcmkoZSl9LCJzdHJpbmdpZnlCYXNlNjQiKSxIYmE9cyhhPT57bGV0IGU9aXMuYmFzZTY0LHI9KGUuZGVjb2RlVXJpfHxlLmRlY29kZSkoYSk7cmV0dXJuIGxYKHIpfSwicGFyc2VCYXNlNjQiKSxlY2U9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJTbWFydGpzb24iKX1zdGF0aWMgZW5mb2xkRnJvbU9iamVjdChlKXtsZXQgdD1uZXcgdGhpcyxyPXQuc2F2ZWFibGVQcm9wZXJ0aWVzfHxbXTtmb3IobGV0IGkgaW4gZSlyLmluZGV4T2YoaSkhPT0tMSYmKHRbaV09ZVtpXSk7cmV0dXJuIHR9c3RhdGljIGVuZm9sZEZyb21Kc29uKGUpe2xldCB0PWxYKGUpO3JldHVybiB0aGlzLmVuZm9sZEZyb21PYmplY3QodCl9c2F2ZWFibGVQcm9wZXJ0aWVzPVtdO2ZvbGRUb09iamVjdCgpe2xldCBlPW5ldyBTZXQ7cmV0dXJuIGUuYWRkKHRoaXMpLHRoaXMuZm9sZFRvT2JqZWN0SW50ZXJuYWwoZSl9Zm9sZFRvT2JqZWN0SW50ZXJuYWwoZSl7bGV0IHQ9e30scj1zKG89PntpZihvIGluc3RhbmNlb2YgYSl7aWYoZS5oYXMobykpdGhyb3cgbmV3IEVycm9yKCJjeWNsZSBkZXRlY3RlZCIpO3JldHVybiBlLmFkZChvKSxvLmZvbGRUb09iamVjdEludGVybmFsKGUpfXJldHVybiBBcnJheS5pc0FycmF5KG8pP28ubWFwKG49PnIobikpOnN0cnVjdHVyZWRDbG9uZShvKX0sImZvbGRWYWx1ZSIpLGk9dGhpcy5zYXZlYWJsZVByb3BlcnRpZXN8fFtdO2ZvcihsZXQgbyBvZiBpKXtsZXQgbj10aGlzW29dO3Rbb109cihuKX1yZXR1cm4gdH1mb2xkVG9Kc29uKCl7bGV0IGU9dGhpcy5mb2xkVG9PYmplY3QoKTtyZXR1cm4gVDMoZSl9fSxxYmE9cygoKT0+KGEsZSk9PntsZXQgdD1TdHJpbmcoZS5uYW1lKTtlLmFkZEluaXRpYWxpemVyKGZ1bmN0aW9uKCl7dGhpcy5zYXZlYWJsZVByb3BlcnRpZXN8fCh0aGlzLnNhdmVhYmxlUHJvcGVydGllcz1bXSksdGhpcy5zYXZlYWJsZVByb3BlcnRpZXMuaW5jbHVkZXModCl8fHRoaXMuc2F2ZWFibGVQcm9wZXJ0aWVzLnB1c2godCl9KX0sImZvbGREZWMiKSx5MHQ9cygoYSxlKT0+e2xldCB0PVQzKGEpLHI9VDMoZSk7cmV0dXJuIHQ9PT1yfSwiZGVlcEVxdWFsT2JqZWN0cyIpLFZiYT1zKChhLGUpPT57bGV0IHQ9SmxlKGEpLHI9SmxlKGUpO3JldHVybiB5MHQodCxyKX0sImRlZXBFcXVhbEpzb25MU3RyaW5ncyIpfSk7dmFyIFY5PXt9O2x0KFY5LHtkZWxldGVEQjooKT0+TDB0LG9wZW5EQjooKT0+VDB0LHVud3JhcDooKT0+cTksd3JhcDooKT0+azJ9KTtmdW5jdGlvbiBqYmEoKXtyZXR1cm4gdzB0fHwodzB0PVtJREJEYXRhYmFzZSxJREJPYmplY3RTdG9yZSxJREJJbmRleCxJREJDdXJzb3IsSURCVHJhbnNhY3Rpb25dKX1mdW5jdGlvbiBVYmEoKXtyZXR1cm4gTTB0fHwoTTB0PVtJREJDdXJzb3IucHJvdG90eXBlLmFkdmFuY2UsSURCQ3Vyc29yLnByb3RvdHlwZS5jb250aW51ZSxJREJDdXJzb3IucHJvdG90eXBlLmNvbnRpbnVlUHJpbWFyeUtleV0pfWZ1bmN0aW9uIFdiYShhKXtsZXQgZT1uZXcgUHJvbWlzZSgodCxyKT0+e2xldCBpPXMoKCk9PnthLnJlbW92ZUV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLG8pLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4pfSwidW5saXN0ZW4iKSxvPXMoKCk9Pnt0KGsyKGEucmVzdWx0KSksaSgpfSwic3VjY2VzcyIpLG49cygoKT0+e3IoYS5lcnJvciksaSgpfSwiZXJyb3IiKTthLmFkZEV2ZW50TGlzdGVuZXIoInN1Y2Nlc3MiLG8pLGEuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4pfSk7cmV0dXJuIGNYLnNldChlLGEpLGV9ZnVuY3Rpb24gR2JhKGEpe2lmKGFjZS5oYXMoYSkpcmV0dXJuO2xldCBlPW5ldyBQcm9taXNlKCh0LHIpPT57bGV0IGk9cygoKT0+e2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY29tcGxldGUiLG8pLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZXJyb3IiLG4pLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLG4pfSwidW5saXN0ZW4iKSxvPXMoKCk9Pnt0KCksaSgpfSwiY29tcGxldGUiKSxuPXMoKCk9PntyKGEuZXJyb3J8fG5ldyBET01FeGNlcHRpb24oIkFib3J0RXJyb3IiLCJBYm9ydEVycm9yIikpLGkoKX0sImVycm9yIik7YS5hZGRFdmVudExpc3RlbmVyKCJjb21wbGV0ZSIsbyksYS5hZGRFdmVudExpc3RlbmVyKCJlcnJvciIsbiksYS5hZGRFdmVudExpc3RlbmVyKCJhYm9ydCIsbil9KTthY2Uuc2V0KGEsZSl9ZnVuY3Rpb24gazB0KGEpe3NjZT1hKHNjZSl9ZnVuY3Rpb24gWWJhKGEpe3JldHVybiBVYmEoKS5pbmNsdWRlcyhhKT9mdW5jdGlvbiguLi5lKXtyZXR1cm4gYS5hcHBseShxOSh0aGlzKSxlKSxrMih0aGlzLnJlcXVlc3QpfTpmdW5jdGlvbiguLi5lKXtyZXR1cm4gazIoYS5hcHBseShxOSh0aGlzKSxlKSl9fWZ1bmN0aW9uIEtiYShhKXtyZXR1cm4gdHlwZW9mIGE9PSJmdW5jdGlvbiI/WWJhKGEpOihhIGluc3RhbmNlb2YgSURCVHJhbnNhY3Rpb24mJkdiYShhKSx0Y2UoYSxqYmEoKSk/bmV3IFByb3h5KGEsc2NlKTphKX1mdW5jdGlvbiBrMihhKXtpZihhIGluc3RhbmNlb2YgSURCUmVxdWVzdClyZXR1cm4gV2JhKGEpO2lmKHJjZS5oYXMoYSkpcmV0dXJuIHJjZS5nZXQoYSk7bGV0IGU9S2JhKGEpO3JldHVybiBlIT09YSYmKHJjZS5zZXQoYSxlKSxjWC5zZXQoZSxhKSksZX1mdW5jdGlvbiBUMHQoYSxlLHtibG9ja2VkOnQsdXBncmFkZTpyLGJsb2NraW5nOmksdGVybWluYXRlZDpvfT17fSl7bGV0IG49aW5kZXhlZERCLm9wZW4oYSxlKSxsPWsyKG4pO3JldHVybiByJiZuLmFkZEV2ZW50TGlzdGVuZXIoInVwZ3JhZGVuZWVkZWQiLGQ9PntyKGsyKG4ucmVzdWx0KSxkLm9sZFZlcnNpb24sZC5uZXdWZXJzaW9uLGsyKG4udHJhbnNhY3Rpb24pLGQpfSksdCYmbi5hZGRFdmVudExpc3RlbmVyKCJibG9ja2VkIixkPT50KGQub2xkVmVyc2lvbixkLm5ld1ZlcnNpb24sZCkpLGwudGhlbihkPT57byYmZC5hZGRFdmVudExpc3RlbmVyKCJjbG9zZSIsKCk9Pm8oKSksaSYmZC5hZGRFdmVudExpc3RlbmVyKCJ2ZXJzaW9uY2hhbmdlIixjPT5pKGMub2xkVmVyc2lvbixjLm5ld1ZlcnNpb24sYykpfSkuY2F0Y2goKCk9Pnt9KSxsfWZ1bmN0aW9uIEwwdChhLHtibG9ja2VkOmV9PXt9KXtsZXQgdD1pbmRleGVkREIuZGVsZXRlRGF0YWJhc2UoYSk7cmV0dXJuIGUmJnQuYWRkRXZlbnRMaXN0ZW5lcigiYmxvY2tlZCIscj0+ZShyLm9sZFZlcnNpb24scikpLGsyKHQpLnRoZW4oKCk9Pnt9KX1mdW5jdGlvbiBTMHQoYSxlKXtpZighKGEgaW5zdGFuY2VvZiBJREJEYXRhYmFzZSYmIShlIGluIGEpJiZ0eXBlb2YgZT09InN0cmluZyIpKXJldHVybjtpZihpY2UuZ2V0KGUpKXJldHVybiBpY2UuZ2V0KGUpO2xldCB0PWUucmVwbGFjZSgvRnJvbUluZGV4JC8sIiIpLHI9ZSE9PXQsaT1YYmEuaW5jbHVkZXModCk7aWYoISh0IGluKHI/SURCSW5kZXg6SURCT2JqZWN0U3RvcmUpLnByb3RvdHlwZSl8fCEoaXx8WmJhLmluY2x1ZGVzKHQpKSlyZXR1cm47bGV0IG89cyhhc3luYyBmdW5jdGlvbihuLC4uLmwpe2xldCBkPXRoaXMudHJhbnNhY3Rpb24obixpPyJyZWFkd3JpdGUiOiJyZWFkb25seSIpLGM9ZC5zdG9yZTtyZXR1cm4gciYmKGM9Yy5pbmRleChsLnNoaWZ0KCkpKSwoYXdhaXQgUHJvbWlzZS5hbGwoW2NbdF0oLi4ubCksaSYmZC5kb25lXSkpWzBdfSwibWV0aG9kIik7cmV0dXJuIGljZS5zZXQoZSxvKSxvfWFzeW5jIGZ1bmN0aW9uKmV2YSguLi5hKXtsZXQgZT10aGlzO2lmKGUgaW5zdGFuY2VvZiBJREJDdXJzb3J8fChlPWF3YWl0IGUub3BlbkN1cnNvciguLi5hKSksIWUpcmV0dXJuO2U9ZTtsZXQgdD1uZXcgUHJveHkoZSxKYmEpO2ZvcihDMHQuc2V0KHQsZSksY1guc2V0KHQscTkoZSkpO2U7KXlpZWxkIHQsZT1hd2FpdChvY2UuZ2V0KHQpfHxlLmNvbnRpbnVlKCkpLG9jZS5kZWxldGUodCl9ZnVuY3Rpb24gXzB0KGEsZSl7cmV0dXJuIGU9PT1TeW1ib2wuYXN5bmNJdGVyYXRvciYmdGNlKGEsW0lEQkluZGV4LElEQk9iamVjdFN0b3JlLElEQkN1cnNvcl0pfHxlPT09Iml0ZXJhdGUiJiZ0Y2UoYSxbSURCSW5kZXgsSURCT2JqZWN0U3RvcmVdKX12YXIgdGNlLHcwdCxNMHQsYWNlLHJjZSxjWCxzY2UscTksWmJhLFhiYSxpY2UsUWJhLHowdCxvY2UsQzB0LEpiYSwkMHQ9ZigoKT0+e3RjZT1zKChhLGUpPT5lLnNvbWUodD0+YSBpbnN0YW5jZW9mIHQpLCJpbnN0YW5jZU9mQW55Iik7cyhqYmEsImdldElkYlByb3h5YWJsZVR5cGVzIik7cyhVYmEsImdldEN1cnNvckFkdmFuY2VNZXRob2RzIik7YWNlPW5ldyBXZWFrTWFwLHJjZT1uZXcgV2Vha01hcCxjWD1uZXcgV2Vha01hcDtzKFdiYSwicHJvbWlzaWZ5UmVxdWVzdCIpO3MoR2JhLCJjYWNoZURvbmVQcm9taXNlRm9yVHJhbnNhY3Rpb24iKTtzY2U9e2dldChhLGUsdCl7aWYoYSBpbnN0YW5jZW9mIElEQlRyYW5zYWN0aW9uKXtpZihlPT09ImRvbmUiKXJldHVybiBhY2UuZ2V0KGEpO2lmKGU9PT0ic3RvcmUiKXJldHVybiB0Lm9iamVjdFN0b3JlTmFtZXNbMV0/dm9pZCAwOnQub2JqZWN0U3RvcmUodC5vYmplY3RTdG9yZU5hbWVzWzBdKX1yZXR1cm4gazIoYVtlXSl9LHNldChhLGUsdCl7cmV0dXJuIGFbZV09dCwhMH0saGFzKGEsZSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBJREJUcmFuc2FjdGlvbiYmKGU9PT0iZG9uZSJ8fGU9PT0ic3RvcmUiKT8hMDplIGluIGF9fTtzKGswdCwicmVwbGFjZVRyYXBzIik7cyhZYmEsIndyYXBGdW5jdGlvbiIpO3MoS2JhLCJ0cmFuc2Zvcm1DYWNoYWJsZVZhbHVlIik7cyhrMiwid3JhcCIpO3E5PXMoYT0+Y1guZ2V0KGEpLCJ1bndyYXAiKTtzKFQwdCwib3BlbkRCIik7cyhMMHQsImRlbGV0ZURCIik7WmJhPVsiZ2V0IiwiZ2V0S2V5IiwiZ2V0QWxsIiwiZ2V0QWxsS2V5cyIsImNvdW50Il0sWGJhPVsicHV0IiwiYWRkIiwiZGVsZXRlIiwiY2xlYXIiXSxpY2U9bmV3IE1hcDtzKFMwdCwiZ2V0TWV0aG9kIiksazB0KGE9Pih7Li4uYSxnZXQ6cygoZSx0LHIpPT5TMHQoZSx0KXx8YS5nZXQoZSx0LHIpLCJnZXQiKSxoYXM6cygoZSx0KT0+ISFTMHQoZSx0KXx8YS5oYXMoZSx0KSwiaGFzIil9KSk7UWJhPVsiY29udGludWUiLCJjb250aW51ZVByaW1hcnlLZXkiLCJhZHZhbmNlIl0sejB0PXt9LG9jZT1uZXcgV2Vha01hcCxDMHQ9bmV3IFdlYWtNYXAsSmJhPXtnZXQoYSxlKXtpZighUWJhLmluY2x1ZGVzKGUpKXJldHVybiBhW2VdO2xldCB0PXowdFtlXTtyZXR1cm4gdHx8KHQ9ejB0W2VdPWZ1bmN0aW9uKC4uLnIpe29jZS5zZXQodGhpcyxDMHQuZ2V0KHRoaXMpW2VdKC4uLnIpKX0pLHR9fTtzKGV2YSwiaXRlcmF0ZSIpO3MoXzB0LCJpc0l0ZXJhdG9yUHJvcCIpLGswdChhPT4oey4uLmEsZ2V0KGUsdCxyKXtyZXR1cm4gXzB0KGUsdCk/ZXZhOmEuZ2V0KGUsdCxyKX0saGFzKGUsdCl7cmV0dXJuIF8wdChlLHQpfHxhLmhhcyhlLHQpfX0pKX0pO3ZhciBuY2U9ZigoKT0+e05oKCk7QjkoKTtxaCgpO0tzKCk7cDIoKTtwMygpOyQwdCgpfSk7dmFyIGo5LGxjZT1mKCgpPT57bmNlKCk7ajk9Y2xhc3N7c3RhdGlje3ModGhpcywiV2ViU3RvcmUiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmluaXRDYWxsZWQ9ITEsdGhpcy5yZWFkeURlZmVycmVkPWV0LmRlZmVyKCksdGhpcy5vcHRpb25zPWV9YXN5bmMgaW5pdCgpe2lmKHRoaXMuaW5pdENhbGxlZCl7YXdhaXQgdGhpcy5yZWFkeURlZmVycmVkLnByb21pc2U7cmV0dXJufXRoaXMuaW5pdENhbGxlZD0hMDtsZXQgZT1uZXcgaTEuU21hcnRlbnY7aWYoIWUuaXNCcm93c2VyJiYhZ2xvYmFsVGhpcy5pbmRleGVkREImJihjb25zb2xlLmxvZygiaGV5IiksY29uc29sZS5sb2coZ2xvYmFsVGhpcy5pbmRleGVkREIpLGF3YWl0IGUuZ2V0U2FmZU5vZGVNb2R1bGUoImZha2UtaW5kZXhlZGRiL2F1dG8iKSwhZ2xvYmFsVGhpcy5pbmRleGVkREIpKXtsZXQgdD1hd2FpdCBlLmdldFNhZmVOb2RlTW9kdWxlKCJmYWtlLWluZGV4ZWRkYiIpO2dsb2JhbFRoaXMuaW5kZXhlZERCPW5ldyB0LklEQkZhY3Rvcnl9dGhpcy5kYj1hd2FpdCBWOS5vcGVuREIodGhpcy5vcHRpb25zLmRiTmFtZSwxLHt1cGdyYWRlOnModD0+e3QuY3JlYXRlT2JqZWN0U3RvcmUodGhpcy5vcHRpb25zLnN0b3JlTmFtZSl9LCJ1cGdyYWRlIil9KSx0aGlzLnJlYWR5RGVmZXJyZWQucmVzb2x2ZSgpfWFzeW5jIGdldChlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5nZXQodGhpcy5vcHRpb25zLnN0b3JlTmFtZSxlKX1hc3luYyBjaGVjayhlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksISFhd2FpdCB0aGlzLmdldChlKX1hc3luYyBzZXQoZSx0KXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5wdXQodGhpcy5vcHRpb25zLnN0b3JlTmFtZSx0LGUpfWFzeW5jIGRlbGV0ZShlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5kZWxldGUodGhpcy5vcHRpb25zLnN0b3JlTmFtZSxlKX1hc3luYyBjbGVhcigpe3JldHVybiBhd2FpdCB0aGlzLmluaXQoKSx0aGlzLmRiLmNsZWFyKHRoaXMub3B0aW9ucy5zdG9yZU5hbWUpfWFzeW5jIGtleXMoKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0KCksdGhpcy5kYi5nZXRBbGxLZXlzKHRoaXMub3B0aW9ucy5zdG9yZU5hbWUpfX19KTt2YXIgY2NlLEEwdD1mKCgpPT57bGNlKCk7bmNlKCk7Y2NlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlR5cGVkcmVxdWVzdENhY2hlIil9Y29uc3RydWN0b3IoZT0iZGVmYXVsdCIpe3RoaXMud2Vic3RvcmU9bmV3IGo5KHtkYk5hbWU6InRyU3RvcmUiLHN0b3JlTmFtZTpgdHJTdG9yZS0ke2V9YH0pfWJ1aWxkS2V5KGUpe3JldHVybiBDcy5zdHJpbmdpZnkoe21ldGhvZDplLm1ldGhvZCxyZXF1ZXN0OmUucmVxdWVzdH0pfWFzeW5jIHNldEJ5UmVxdWVzdChlKXtpZighZS5yZXNwb25zZSl0aHJvdyBuZXcgRXJyb3IoIllvdSBjYW5ub3Qgc3RvcmUgcmVxdWVzdHMgd2l0aG91dCBhIHJlc3BvbnNlIHByZXNlbnQiKTthd2FpdCB0aGlzLndlYnN0b3JlLnNldCh0aGlzLmJ1aWxkS2V5KGUpLGUpfWFzeW5jIGdldEJ5UmVxdWVzdChlKXtyZXR1cm4gYXdhaXQgdGhpcy53ZWJzdG9yZS5nZXQodGhpcy5idWlsZEtleShlKSl9fX0pO3ZhciBvMT17fTtsdChvMSx7VHlwZWRyZXF1ZXN0Q2FjaGU6KCk9PmNjZSxXZWJTdG9yZTooKT0+ajl9KTt2YXIgZFg9ZigoKT0+e0EwdCgpO2xjZSgpfSk7dmFyIFU5PWYoKCk9PntNbCgpO0I5KCk7cWgoKTtLcygpO2RYKCl9KTt2YXIgVmgscFg9ZigoKT0+e1U5KCk7Vmg9Y2xhc3N7c3RhdGlje3ModGhpcywiQ2FjaGVTdG9yZSIpfWNvbnN0cnVjdG9yKGU9IndlYnJlcXVlc3QtdjQiLHQ9ImNhY2hlIil7dGhpcy53ZWJzdG9yZT1uZXcgbzEuV2ViU3RvcmUoe2RiTmFtZTplLHN0b3JlTmFtZTp0fSksdGhpcy5pbml0UHJvbWlzZT10aGlzLmluaXQoKX1hc3luYyBpbml0KCl7fWdlbmVyYXRlQ2FjaGVLZXkoZSl7bGV0IHQ9ZS51cmwscj1lLm1ldGhvZDtyZXR1cm4gcj09PSJHRVQiP3Q6YCR7cn06JHt0fWB9YXN5bmMgc2V0KGUsdCl7YXdhaXQgdGhpcy5pbml0UHJvbWlzZSxhd2FpdCB0aGlzLndlYnN0b3JlLnNldChlLHQpfWFzeW5jIGdldChlKXthd2FpdCB0aGlzLmluaXRQcm9taXNlO3RyeXtyZXR1cm4gYXdhaXQgdGhpcy53ZWJzdG9yZS5nZXQoZSl8fG51bGx9Y2F0Y2h7cmV0dXJuIG51bGx9fWFzeW5jIGhhcyhlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0UHJvbWlzZSxhd2FpdCB0aGlzLndlYnN0b3JlLmNoZWNrKGUpfWFzeW5jIGRlbGV0ZShlKXthd2FpdCB0aGlzLmluaXRQcm9taXNlLGF3YWl0IHRoaXMud2Vic3RvcmUuZGVsZXRlKGUpfWFzeW5jIGNsZWFyKCl7YXdhaXQgdGhpcy5pbml0UHJvbWlzZSxhd2FpdCB0aGlzLndlYnN0b3JlLmNsZWFyKCl9cmVzcG9uc2VGcm9tQ2FjaGVFbnRyeShlKXtsZXQgdD1uZXcgSGVhZGVycyhlLmhlYWRlcnMpO3JldHVybiBuZXcgUmVzcG9uc2UoZS5yZXNwb25zZSx7c3RhdHVzOmUuc3RhdHVzLHN0YXR1c1RleHQ6ZS5zdGF0dXNUZXh0LGhlYWRlcnM6dH0pfWFzeW5jIGNhY2hlRW50cnlGcm9tUmVzcG9uc2UoZSx0LHIpe2xldCBpPXQuY2xvbmUoKSxvPWF3YWl0IGkuYXJyYXlCdWZmZXIoKSxuPXt9O3JldHVybiBpLmhlYWRlcnMuZm9yRWFjaCgobCxkKT0+e25bZF09bH0pLHtyZXNwb25zZTpvLGhlYWRlcnM6bix0aW1lc3RhbXA6RGF0ZS5ub3coKSxldGFnOnI/LmV0YWd8fGkuaGVhZGVycy5nZXQoImV0YWciKXx8dm9pZCAwLGxhc3RNb2RpZmllZDpyPy5sYXN0TW9kaWZpZWR8fGkuaGVhZGVycy5nZXQoImxhc3QtbW9kaWZpZWQiKXx8dm9pZCAwLG1heEFnZTpyPy5tYXhBZ2UsdXJsOmUsc3RhdHVzOmkuc3RhdHVzLHN0YXR1c1RleHQ6aS5zdGF0dXNUZXh0fX1hc3luYyBwcnVuZUV4cGlyZWQoKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0UHJvbWlzZSwwfX19KTtmdW5jdGlvbiB0dmEoYSl7bGV0IGU9e21heEFnZTowLGltbXV0YWJsZTohMSxub0NhY2hlOiExLG5vU3RvcmU6ITEsbXVzdFJldmFsaWRhdGU6ITF9O2lmKCFhKXJldHVybiBlO2xldCB0PWEudG9Mb3dlckNhc2UoKS5zcGxpdCgiLCIpLm1hcChyPT5yLnRyaW0oKSk7Zm9yKGxldCByIG9mIHQpaWYocj09PSJuby1jYWNoZSIpZS5ub0NhY2hlPSEwO2Vsc2UgaWYocj09PSJuby1zdG9yZSIpZS5ub1N0b3JlPSEwO2Vsc2UgaWYocj09PSJpbW11dGFibGUiKWUuaW1tdXRhYmxlPSEwO2Vsc2UgaWYocj09PSJtdXN0LXJldmFsaWRhdGUiKWUubXVzdFJldmFsaWRhdGU9ITA7ZWxzZSBpZihyLnN0YXJ0c1dpdGgoIm1heC1hZ2U9Iikpe2xldCBpPXBhcnNlSW50KHIuc3BsaXQoIj0iKVsxXSwxMCk7aXNOYU4oaSl8fChlLm1heEFnZT1pKjFlMyl9cmV0dXJuIGV9ZnVuY3Rpb24gYXZhKGEpe2lmKGEpdHJ5e3JldHVybiBuZXcgRGF0ZShhKS5nZXRUaW1lKCl9Y2F0Y2h7cmV0dXJufX1mdW5jdGlvbiBTMihhKXtsZXQgZT1hLmdldCgiY2FjaGUtY29udHJvbCIpLHQ9YS5nZXQoImV4cGlyZXMiKSxyPWEuZ2V0KCJldGFnIiksaT1hLmdldCgibGFzdC1tb2RpZmllZCIpLG89dHZhKGUpO2lmKG8ubWF4QWdlPT09MCYmdCl7bGV0IG49YXZhKHQpO24mJihvLm1heEFnZT1NYXRoLm1heCgwLG4tRGF0ZS5ub3coKSkpfXJldHVybnttYXhBZ2U6by5tYXhBZ2V8fDAsZXRhZzpyfHx2b2lkIDAsbGFzdE1vZGlmaWVkOml8fHZvaWQgMCxpbW11dGFibGU6by5pbW11dGFibGV8fCExLG5vQ2FjaGU6by5ub0NhY2hlfHwhMSxub1N0b3JlOm8ubm9TdG9yZXx8ITEsbXVzdFJldmFsaWRhdGU6by5tdXN0UmV2YWxpZGF0ZXx8ITF9fWZ1bmN0aW9uIFc5KGEsZSl7aWYoZS5ub1N0b3JlKXJldHVybiExO2lmKGUuaW1tdXRhYmxlKXJldHVybiEwO2xldCB0PURhdGUubm93KCktYS50aW1lc3RhbXAscj1hLm1heEFnZXx8ZS5tYXhBZ2V8fDA7cmV0dXJuIHI9PT0wPyExOnQ8cn1mdW5jdGlvbiBHOShhKXtyZXR1cm4gYS5ub0NhY2hlfHxhLm11c3RSZXZhbGlkYXRlfWZ1bmN0aW9uIGZYKGEpe2xldCBlPXt9O3JldHVybiBhLmV0YWcmJihlWyJpZi1ub25lLW1hdGNoIl09YS5ldGFnKSxhLmxhc3RNb2RpZmllZCYmKGVbImlmLW1vZGlmaWVkLXNpbmNlIl09YS5sYXN0TW9kaWZpZWQpLGV9ZnVuY3Rpb24gaFgoYSl7bGV0IGU9e307cmV0dXJuIGEuZm9yRWFjaCgodCxyKT0+e2Vbcl09dH0pLGV9ZnVuY3Rpb24gRTB0KGEpe2xldCBlPW5ldyBIZWFkZXJzO3JldHVybiBPYmplY3QuZW50cmllcyhhKS5mb3JFYWNoKChbdCxyXSk9PntlLnNldCh0LHIpfSksZX12YXIgbVg9ZigoKT0+e3ModHZhLCJwYXJzZUNhY2hlQ29udHJvbCIpO3MoYXZhLCJwYXJzZUV4cGlyZXMiKTtzKFMyLCJleHRyYWN0Q2FjaGVNZXRhZGF0YSIpO3MoVzksImlzRnJlc2giKTtzKEc5LCJyZXF1aXJlc1JldmFsaWRhdGlvbiIpO3MoZlgsImNyZWF0ZUNvbmRpdGlvbmFsSGVhZGVycyIpO3MoaFgsImhlYWRlcnNUb09iamVjdCIpO3MoRTB0LCJvYmplY3RUb0hlYWRlcnMiKX0pO2Z1bmN0aW9uIFAwdChhKXtzd2l0Y2goYSl7Y2FzZSJuZXR3b3JrLWZpcnN0IjpyZXR1cm4gbmV3IGdYO2Nhc2UiY2FjaGUtZmlyc3QiOnJldHVybiBuZXcgZGNlO2Nhc2Uic3RhbGUtd2hpbGUtcmV2YWxpZGF0ZSI6cmV0dXJuIG5ldyB1Y2U7Y2FzZSJuZXR3b3JrLW9ubHkiOnJldHVybiBuZXcgcGNlO2Nhc2UiY2FjaGUtb25seSI6cmV0dXJuIG5ldyBmY2U7ZGVmYXVsdDpyZXR1cm4gbmV3IGdYfX12YXIgZ1gsZGNlLHVjZSxwY2UsZmNlLEkwdD1mKCgpPT57cFgoKTttWCgpO2dYPWNsYXNze3N0YXRpY3tzKHRoaXMsIk5ldHdvcmtGaXJzdFN0cmF0ZWd5Iil9YXN5bmMgZXhlY3V0ZShlKXt0cnl7bGV0IHQ9YXdhaXQgZS5mZXRjaEZuKGUucmVxdWVzdCk7cmV0dXJuIHQub2smJmF3YWl0IHRoaXMuY2FjaGVSZXNwb25zZShlLHQpLHtyZXNwb25zZTp0LGZyb21DYWNoZTohMSxyZXZhbGlkYXRlZDohMX19Y2F0Y2godCl7ZS5sb2dnaW5nJiZjb25zb2xlLmxvZygiW3dlYnJlcXVlc3RdIE5ldHdvcmsgZmFpbGVkLCB0cnlpbmcgY2FjaGU6Iix0KTtsZXQgcj1hd2FpdCBlLmNhY2hlU3RvcmUuZ2V0KGUuY2FjaGVLZXkpO2lmKHIpcmV0dXJue3Jlc3BvbnNlOmUuY2FjaGVTdG9yZS5yZXNwb25zZUZyb21DYWNoZUVudHJ5KHIpLGZyb21DYWNoZTohMCxyZXZhbGlkYXRlZDohMX07dGhyb3cgdH19YXN5bmMgY2FjaGVSZXNwb25zZShlLHQpe2xldCByPVMyKHQuaGVhZGVycyk7aWYoci5ub1N0b3JlKXJldHVybjtsZXQgaT1hd2FpdCBlLmNhY2hlU3RvcmUuY2FjaGVFbnRyeUZyb21SZXNwb25zZShlLnJlcXVlc3QudXJsLHQscik7YXdhaXQgZS5jYWNoZVN0b3JlLnNldChlLmNhY2hlS2V5LGkpfX0sZGNlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkNhY2hlRmlyc3RTdHJhdGVneSIpfWFzeW5jIGV4ZWN1dGUoZSl7bGV0IHQ9YXdhaXQgZS5jYWNoZVN0b3JlLmdldChlLmNhY2hlS2V5KTtpZih0KXtsZXQgbz1TMihuZXcgSGVhZGVycyh0LmhlYWRlcnMpKTtpZihXOSh0LG8pKXJldHVybiBlLmxvZ2dpbmcmJmNvbnNvbGUubG9nKCJbd2VicmVxdWVzdF0gQ2FjaGUgaGl0IChmcmVzaCk6IixlLnJlcXVlc3QudXJsKSx7cmVzcG9uc2U6ZS5jYWNoZVN0b3JlLnJlc3BvbnNlRnJvbUNhY2hlRW50cnkodCksZnJvbUNhY2hlOiEwLHJldmFsaWRhdGVkOiExfTtpZihHOShvKSYmKHQuZXRhZ3x8dC5sYXN0TW9kaWZpZWQpKXJldHVybiBhd2FpdCB0aGlzLnJldmFsaWRhdGUoZSx0KX1lLmxvZ2dpbmcmJmNvbnNvbGUubG9nKCJbd2VicmVxdWVzdF0gQ2FjaGUgbWlzcywgZmV0Y2hpbmc6IixlLnJlcXVlc3QudXJsKTtsZXQgcj1hd2FpdCBlLmZldGNoRm4oZS5yZXF1ZXN0KSxpPVMyKHIuaGVhZGVycyk7aWYoIWkubm9TdG9yZSl7bGV0IG89YXdhaXQgZS5jYWNoZVN0b3JlLmNhY2hlRW50cnlGcm9tUmVzcG9uc2UoZS5yZXF1ZXN0LnVybCxyLGkpO2F3YWl0IGUuY2FjaGVTdG9yZS5zZXQoZS5jYWNoZUtleSxvKX1yZXR1cm57cmVzcG9uc2U6cixmcm9tQ2FjaGU6ITEscmV2YWxpZGF0ZWQ6ITF9fWFzeW5jIHJldmFsaWRhdGUoZSx0KXtsZXQgcj1mWCh0KSxpPW5ldyBSZXF1ZXN0KGUucmVxdWVzdC51cmwse21ldGhvZDplLnJlcXVlc3QubWV0aG9kLGhlYWRlcnM6ey4uLmhYKGUucmVxdWVzdC5oZWFkZXJzKSwuLi5yfX0pO3RyeXtsZXQgbz1hd2FpdCBlLmZldGNoRm4oaSk7aWYoby5zdGF0dXM9PT0zMDQpcmV0dXJuIGUubG9nZ2luZyYmY29uc29sZS5sb2coIlt3ZWJyZXF1ZXN0XSBDYWNoZSByZXZhbGlkYXRlZCAoMzA0KToiLGUucmVxdWVzdC51cmwpLHQudGltZXN0YW1wPURhdGUubm93KCksYXdhaXQgZS5jYWNoZVN0b3JlLnNldChlLmNhY2hlS2V5LHQpLHtyZXNwb25zZTplLmNhY2hlU3RvcmUucmVzcG9uc2VGcm9tQ2FjaGVFbnRyeSh0KSxmcm9tQ2FjaGU6ITAscmV2YWxpZGF0ZWQ6ITB9O2lmKG8ub2spe2xldCBuPVMyKG8uaGVhZGVycyk7aWYoIW4ubm9TdG9yZSl7bGV0IGw9YXdhaXQgZS5jYWNoZVN0b3JlLmNhY2hlRW50cnlGcm9tUmVzcG9uc2UoZS5yZXF1ZXN0LnVybCxvLG4pO2F3YWl0IGUuY2FjaGVTdG9yZS5zZXQoZS5jYWNoZUtleSxsKX19cmV0dXJue3Jlc3BvbnNlOm8sZnJvbUNhY2hlOiExLHJldmFsaWRhdGVkOiEwfX1jYXRjaChvKXtyZXR1cm4gZS5sb2dnaW5nJiZjb25zb2xlLmxvZygiW3dlYnJlcXVlc3RdIFJldmFsaWRhdGlvbiBmYWlsZWQsIHVzaW5nIGNhY2hlOiIsbykse3Jlc3BvbnNlOmUuY2FjaGVTdG9yZS5yZXNwb25zZUZyb21DYWNoZUVudHJ5KHQpLGZyb21DYWNoZTohMCxyZXZhbGlkYXRlZDohMX19fX0sdWNlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlN0YWxlV2hpbGVSZXZhbGlkYXRlU3RyYXRlZ3kiKX1hc3luYyBleGVjdXRlKGUpe2xldCB0PWF3YWl0IGUuY2FjaGVTdG9yZS5nZXQoZS5jYWNoZUtleSk7aWYodCl7bGV0IG89ZS5jYWNoZVN0b3JlLnJlc3BvbnNlRnJvbUNhY2hlRW50cnkodCk7cmV0dXJuIHRoaXMucmV2YWxpZGF0ZUluQmFja2dyb3VuZChlLHQpLmNhdGNoKG49PntlLmxvZ2dpbmcmJmNvbnNvbGUud2FybigiW3dlYnJlcXVlc3RdIEJhY2tncm91bmQgcmV2YWxpZGF0aW9uIGZhaWxlZDoiLG4pfSkse3Jlc3BvbnNlOm8sZnJvbUNhY2hlOiEwLHJldmFsaWRhdGVkOiExfX1sZXQgcj1hd2FpdCBlLmZldGNoRm4oZS5yZXF1ZXN0KSxpPVMyKHIuaGVhZGVycyk7aWYoIWkubm9TdG9yZSYmci5vayl7bGV0IG89YXdhaXQgZS5jYWNoZVN0b3JlLmNhY2hlRW50cnlGcm9tUmVzcG9uc2UoZS5yZXF1ZXN0LnVybCxyLGkpO2F3YWl0IGUuY2FjaGVTdG9yZS5zZXQoZS5jYWNoZUtleSxvKX1yZXR1cm57cmVzcG9uc2U6cixmcm9tQ2FjaGU6ITEscmV2YWxpZGF0ZWQ6ITF9fWFzeW5jIHJldmFsaWRhdGVJbkJhY2tncm91bmQoZSx0KXtsZXQgcj1TMihuZXcgSGVhZGVycyh0LmhlYWRlcnMpKTtpZighKFc5KHQscikmJiFHOShyKSkpdHJ5e2xldCBpPWF3YWl0IGUuZmV0Y2hGbihlLnJlcXVlc3QpO2lmKGkub2spe2xldCBvPVMyKGkuaGVhZGVycyk7aWYoIW8ubm9TdG9yZSl7bGV0IG49YXdhaXQgZS5jYWNoZVN0b3JlLmNhY2hlRW50cnlGcm9tUmVzcG9uc2UoZS5yZXF1ZXN0LnVybCxpLG8pO2F3YWl0IGUuY2FjaGVTdG9yZS5zZXQoZS5jYWNoZUtleSxuKSxlLmxvZ2dpbmcmJmNvbnNvbGUubG9nKCJbd2VicmVxdWVzdF0gQmFja2dyb3VuZCByZXZhbGlkYXRpb24gY29tcGxldGU6IixlLnJlcXVlc3QudXJsKX19fWNhdGNoKGkpe2UubG9nZ2luZyYmY29uc29sZS53YXJuKCJbd2VicmVxdWVzdF0gQmFja2dyb3VuZCByZXZhbGlkYXRpb24gZmFpbGVkOiIsaSl9fX0scGNlPWNsYXNze3N0YXRpY3tzKHRoaXMsIk5ldHdvcmtPbmx5U3RyYXRlZ3kiKX1hc3luYyBleGVjdXRlKGUpe3JldHVybntyZXNwb25zZTphd2FpdCBlLmZldGNoRm4oZS5yZXF1ZXN0KSxmcm9tQ2FjaGU6ITEscmV2YWxpZGF0ZWQ6ITF9fX0sZmNlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkNhY2hlT25seVN0cmF0ZWd5Iil9YXN5bmMgZXhlY3V0ZShlKXtsZXQgdD1hd2FpdCBlLmNhY2hlU3RvcmUuZ2V0KGUuY2FjaGVLZXkpO2lmKCF0KXRocm93IG5ldyBFcnJvcihgQ2FjaGUgbWlzcyBmb3IgJHtlLnJlcXVlc3QudXJsfSAoY2FjaGUtb25seSBtb2RlKWApO3JldHVybntyZXNwb25zZTplLmNhY2hlU3RvcmUucmVzcG9uc2VGcm9tQ2FjaGVFbnRyeSh0KSxmcm9tQ2FjaGU6ITAscmV2YWxpZGF0ZWQ6ITF9fX07cyhQMHQsImdldFN0cmF0ZWd5SGFuZGxlciIpfSk7dmFyIGpoLGhjZT1mKCgpPT57cFgoKTtJMHQoKTttWCgpO2poPWNsYXNze3N0YXRpY3tzKHRoaXMsIkNhY2hlTWFuYWdlciIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5jYWNoZVN0b3JlPW5ldyBWaChlLHQpfWFzeW5jIGV4ZWN1dGUoZSx0LHIpe2xldCBpPXRoaXMuZGV0ZXJtaW5lU3RyYXRlZ3koZSx0KTtpZihpPT09Im5ldHdvcmstb25seSIpcmV0dXJue3Jlc3BvbnNlOmF3YWl0IHIoZSksZnJvbUNhY2hlOiExLHJldmFsaWRhdGVkOiExfTtsZXQgbz10aGlzLmdlbmVyYXRlQ2FjaGVLZXkoZSx0KSxuPVAwdChpKSxsPXtyZXF1ZXN0OmUsY2FjaGVLZXk6byxjYWNoZVN0b3JlOnRoaXMuY2FjaGVTdG9yZSxmZXRjaEZuOnIsbG9nZ2luZzp0LmxvZ2dpbmd9O3JldHVybiBhd2FpdCBuLmV4ZWN1dGUobCl9ZGV0ZXJtaW5lU3RyYXRlZ3koZSx0KXtyZXR1cm4gdC5jYWNoZVN0cmF0ZWd5P3QuY2FjaGVTdHJhdGVneTp0LmNhY2hlP3RoaXMubWFwQ2FjaGVNb2RlVG9TdHJhdGVneSh0LmNhY2hlKTplLmNhY2hlP3RoaXMubWFwQ2FjaGVNb2RlVG9TdHJhdGVneShlLmNhY2hlKToibmV0d29yay1maXJzdCJ9bWFwQ2FjaGVNb2RlVG9TdHJhdGVneShlKXtzd2l0Y2goZSl7Y2FzZSJkZWZhdWx0IjpyZXR1cm4ibmV0d29yay1maXJzdCI7Y2FzZSJuby1zdG9yZSI6Y2FzZSJyZWxvYWQiOnJldHVybiJuZXR3b3JrLW9ubHkiO2Nhc2Uibm8tY2FjaGUiOnJldHVybiJuZXR3b3JrLWZpcnN0IjtjYXNlImZvcmNlLWNhY2hlIjpyZXR1cm4iY2FjaGUtZmlyc3QiO2Nhc2Uib25seS1pZi1jYWNoZWQiOnJldHVybiJjYWNoZS1vbmx5IjtkZWZhdWx0OnJldHVybiJuZXR3b3JrLWZpcnN0In19Z2VuZXJhdGVDYWNoZUtleShlLHQpe3JldHVybiB0LmNhY2hlS2V5P3R5cGVvZiB0LmNhY2hlS2V5PT0iZnVuY3Rpb24iP3QuY2FjaGVLZXkoZSk6dC5jYWNoZUtleTp0aGlzLmNhY2hlU3RvcmUuZ2VuZXJhdGVDYWNoZUtleShlKX1hc3luYyBjbGVhcigpe2F3YWl0IHRoaXMuY2FjaGVTdG9yZS5jbGVhcigpfWFzeW5jIGRlbGV0ZShlKXthd2FpdCB0aGlzLmNhY2hlU3RvcmUuZGVsZXRlKGUpfWFzeW5jIGhhcyhlKXtyZXR1cm4gYXdhaXQgdGhpcy5jYWNoZVN0b3JlLmhhcyhlKX1nZXRTdG9yZSgpe3JldHVybiB0aGlzLmNhY2hlU3RvcmV9fX0pO2Z1bmN0aW9uIE4wdChhKXtzd2l0Y2goYSl7Y2FzZSJleHBvbmVudGlhbCI6cmV0dXJuIG5ldyBiWDtjYXNlImxpbmVhciI6cmV0dXJuIG5ldyBtY2U7Y2FzZSJjb25zdGFudCI6cmV0dXJuIG5ldyBnY2U7ZGVmYXVsdDpyZXR1cm4gbmV3IGJYfX1mdW5jdGlvbiBSMHQoYSxlPS4xKXtsZXQgdD1hKmUqTWF0aC5yYW5kb20oKTtyZXR1cm4gYSt0fXZhciBiWCxtY2UsZ2NlLE8wdD1mKCgpPT57Ylg9Y2xhc3N7c3RhdGlje3ModGhpcywiRXhwb25lbnRpYWxCYWNrb2ZmIil9Y2FsY3VsYXRlKGUsdCxyKXtsZXQgaT10Kk1hdGgucG93KDIsZS0xKTtyZXR1cm4gTWF0aC5taW4oaSxyKX19LG1jZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJMaW5lYXJCYWNrb2ZmIil9Y2FsY3VsYXRlKGUsdCxyKXtsZXQgaT10KmU7cmV0dXJuIE1hdGgubWluKGkscil9fSxnY2U9Y2xhc3N7c3RhdGlje3ModGhpcywiQ29uc3RhbnRCYWNrb2ZmIil9Y2FsY3VsYXRlKGUsdCxyKXtyZXR1cm4gTWF0aC5taW4odCxyKX19O3MoTjB0LCJnZXRCYWNrb2ZmQ2FsY3VsYXRvciIpO3MoUjB0LCJhZGRKaXR0ZXIiKX0pO3ZhciBVaCxiY2U9ZigoKT0+e1U5KCk7TzB0KCk7VWg9Y2xhc3N7c3RhdGlje3ModGhpcywiUmV0cnlNYW5hZ2VyIil9Y29uc3RydWN0b3IoZT17fSl7dGhpcy5vcHRpb25zPXttYXhBdHRlbXB0czplLm1heEF0dGVtcHRzPz8zLGJhY2tvZmY6ZS5iYWNrb2ZmPz8iZXhwb25lbnRpYWwiLGluaXRpYWxEZWxheTplLmluaXRpYWxEZWxheT8/MWUzLG1heERlbGF5OmUubWF4RGVsYXk/PzNlNCxyZXRyeU9uOmUucmV0cnlPbj8/WzQwOCw0MjksNTAwLDUwMiw1MDMsNTA0XSxvblJldHJ5OmUub25SZXRyeT8/KCgpPT57fSl9fWFzeW5jIGV4ZWN1dGUoZSx0KXtsZXQgcixpO2ZvcihsZXQgbz0xO288PXRoaXMub3B0aW9ucy5tYXhBdHRlbXB0cztvKyspdHJ5e2xldCBuPWF3YWl0IGUoKTtpZihuIGluc3RhbmNlb2YgUmVzcG9uc2UmJnRoaXMuc2hvdWxkUmV0cnlSZXNwb25zZShuKSl7aWYoaT1uLG89PT10aGlzLm9wdGlvbnMubWF4QXR0ZW1wdHMpcmV0dXJuIG47bGV0IGw9dGhpcy5jYWxjdWxhdGVEZWxheShvKTt0aGlzLm9wdGlvbnMub25SZXRyeShvLG5ldyBFcnJvcihgSFRUUCAke24uc3RhdHVzfWApLGwpLGF3YWl0IHRoaXMuZGVsYXkobCk7Y29udGludWV9cmV0dXJuIG59Y2F0Y2gobil7cj1uIGluc3RhbmNlb2YgRXJyb3I/bjpuZXcgRXJyb3IoU3RyaW5nKG4pKTtsZXQgbD10P3QobixvKTp0aGlzLnNob3VsZFJldHJ5RXJyb3Iobik7aWYobz09PXRoaXMub3B0aW9ucy5tYXhBdHRlbXB0c3x8IWwpdGhyb3cgcjtsZXQgZD10aGlzLmNhbGN1bGF0ZURlbGF5KG8pO3RoaXMub3B0aW9ucy5vblJldHJ5KG8scixkKSxhd2FpdCB0aGlzLmRlbGF5KGQpfXRocm93IHJ8fG5ldyBFcnJvcigiTWF4IHJldHJ5IGF0dGVtcHRzIHJlYWNoZWQiKX1hc3luYyBleGVjdXRlV2l0aEZhbGxiYWNrcyhlLHQscil7aWYoZS5sZW5ndGg9PT0wKXRocm93IG5ldyBFcnJvcigiTm8gVVJMcyBwcm92aWRlZCBmb3IgZmFsbGJhY2sgZXhlY3V0aW9uIik7bGV0IGksbz1bXTtmb3IobGV0IG4gb2YgZSl0cnl7bGV0IGw9YXdhaXQgdGhpcy5leGVjdXRlKGFzeW5jKCk9PmF3YWl0IHIobix0KSk7aWYobC5zdGF0dXM8NDAwfHxsLnN0YXR1cz49NDAwJiZsLnN0YXR1czw1MDAmJmwuc3RhdHVzIT09NDA4KXJldHVybiBsO28ucHVzaChuKSxpPW5ldyBFcnJvcihgUmVxdWVzdCBmYWlsZWQgd2l0aCBzdGF0dXMgJHtsLnN0YXR1c31gKX1jYXRjaChsKXtvLnB1c2gobiksaT1sIGluc3RhbmNlb2YgRXJyb3I/bDpuZXcgRXJyb3IoU3RyaW5nKGwpKX10aHJvdyBuZXcgRXJyb3IoYEFsbCBVUkxzIGZhaWxlZDogJHtvLmpvaW4oIiwgIil9LiBMYXN0IGVycm9yOiAke2k/Lm1lc3NhZ2V8fCJVbmtub3duIGVycm9yIn1gKX1zaG91bGRSZXRyeVJlc3BvbnNlKGUpe2xldCB0PXRoaXMub3B0aW9ucy5yZXRyeU9uO3JldHVybiB0eXBlb2YgdD09ImZ1bmN0aW9uIj90KGUpOkFycmF5LmlzQXJyYXkodCk/dC5pbmNsdWRlcyhlLnN0YXR1cyk6ITF9c2hvdWxkUmV0cnlFcnJvcihlKXtpZihlIGluc3RhbmNlb2YgVHlwZUVycm9yJiZlLm1lc3NhZ2UuaW5jbHVkZXMoImZldGNoIil8fGUubmFtZT09PSJBYm9ydEVycm9yInx8ZS5tZXNzYWdlLmluY2x1ZGVzKCJ0aW1lb3V0IikpcmV0dXJuITA7bGV0IHQ9dGhpcy5vcHRpb25zLnJldHJ5T247cmV0dXJuIHR5cGVvZiB0PT0iZnVuY3Rpb24iP3Qodm9pZCAwLGUpOiExfWNhbGN1bGF0ZURlbGF5KGUpe2xldCByPU4wdCh0aGlzLm9wdGlvbnMuYmFja29mZikuY2FsY3VsYXRlKGUsdGhpcy5vcHRpb25zLmluaXRpYWxEZWxheSx0aGlzLm9wdGlvbnMubWF4RGVsYXkpO3JldHVybiBSMHQocil9YXN5bmMgZGVsYXkoZSl7YXdhaXQgUHQuZGVsYXlGb3IoZSl9fX0pO3ZhciBXaCx2Y2U9ZigoKT0+e1U5KCk7V2g9Y2xhc3N7c3RhdGlje3ModGhpcywiUmVxdWVzdERlZHVwbGljYXRvciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5pbkZsaWdodFJlcXVlc3RzPW5ldyBNYXB9Z2VuZXJhdGVLZXkoZSl7bGV0IHQ9ZS51cmwscj1lLm1ldGhvZDtyZXR1cm4gcj09PSJHRVQifHxyPT09IkhFQUQiP2Ake3J9OiR7dH1gOmAke3J9OiR7dH06JHtEYXRlLm5vdygpfWB9YXN5bmMgZXhlY3V0ZShlLHQpe2xldCByPXRoaXMuaW5GbGlnaHRSZXF1ZXN0cy5nZXQoZSk7aWYocilyZXR1cm57cmVzcG9uc2U6KGF3YWl0IHIucHJvbWlzZSkuY2xvbmUoKSx3YXNEZWR1cGxpY2F0ZWQ6ITB9O2xldCBpPWV0LmRlZmVyKCk7dGhpcy5pbkZsaWdodFJlcXVlc3RzLnNldChlLGkpO3RyeXtsZXQgbz1hd2FpdCB0KCk7cmV0dXJuIGkucmVzb2x2ZShvKSx0aGlzLmluRmxpZ2h0UmVxdWVzdHMuZGVsZXRlKGUpLHtyZXNwb25zZTpvLHdhc0RlZHVwbGljYXRlZDohMX19Y2F0Y2gobyl7dGhyb3cgaS5yZWplY3QobyksdGhpcy5pbkZsaWdodFJlcXVlc3RzLmRlbGV0ZShlKSxvfX1pc0luRmxpZ2h0KGUpe3JldHVybiB0aGlzLmluRmxpZ2h0UmVxdWVzdHMuaGFzKGUpfWdldEluRmxpZ2h0Q291bnQoKXtyZXR1cm4gdGhpcy5pbkZsaWdodFJlcXVlc3RzLnNpemV9Y2xlYXIoKXt0aGlzLmluRmxpZ2h0UmVxdWVzdHMuY2xlYXIoKX19fSk7ZnVuY3Rpb24gcnZhKGEpe2xldCBlPW5ldyBBYm9ydENvbnRyb2xsZXIsdD1uZXcgUHQuVGltZW91dChhLG51bGwpO3JldHVybiB0LnByb21pc2UudGhlbigoKT0+e2UuYWJvcnQoKX0pLHtjb250cm9sbGVyOmUsY2xlYW51cDpzKCgpPT57dC5jYW5jZWwoKX0sImNsZWFudXAiKX19YXN5bmMgZnVuY3Rpb24geGNlKGEsZSx0KXtsZXR7Y29udHJvbGxlcjpyLGNsZWFudXA6aX09cnZhKHQpO3RyeXtsZXQgbz1hd2FpdCBmZXRjaChhLHsuLi5lLHNpZ25hbDpyLnNpZ25hbH0pO3JldHVybiBpKCksb31jYXRjaChvKXt0aHJvdyBpKCksbyBpbnN0YW5jZW9mIEVycm9yJiZvLm5hbWU9PT0iQWJvcnRFcnJvciI/bmV3IEVycm9yKGBSZXF1ZXN0IHRpbWVvdXQgYWZ0ZXIgJHt0fW1zOiAke2F9YCk6b319dmFyIEYwdD1mKCgpPT57VTkoKTtzKHJ2YSwiY3JlYXRlVGltZW91dENvbnRyb2xsZXIiKTtzKHhjZSwiZmV0Y2hXaXRoVGltZW91dCIpfSk7dmFyIEwzLHljZT1mKCgpPT57SGxlKCk7aGNlKCk7YmNlKCk7dmNlKCk7RjB0KCk7TDM9Y2xhc3N7c3RhdGlje3ModGhpcywiV2VicmVxdWVzdENsaWVudCIpfWNvbnN0cnVjdG9yKGU9e30pe3RoaXMuZGVmYXVsdE9wdGlvbnM9ZSx0aGlzLmludGVyY2VwdG9yTWFuYWdlcj1uZXcgRmgsdGhpcy5jYWNoZU1hbmFnZXI9bmV3IGpoLHRoaXMuZGVkdXBsaWNhdG9yPW5ldyBXaH1hZGRSZXF1ZXN0SW50ZXJjZXB0b3IoZSl7dGhpcy5pbnRlcmNlcHRvck1hbmFnZXIuYWRkUmVxdWVzdEludGVyY2VwdG9yKGUpfWFkZFJlc3BvbnNlSW50ZXJjZXB0b3IoZSl7dGhpcy5pbnRlcmNlcHRvck1hbmFnZXIuYWRkUmVzcG9uc2VJbnRlcmNlcHRvcihlKX1hZGRFcnJvckludGVyY2VwdG9yKGUpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLmFkZEVycm9ySW50ZXJjZXB0b3IoZSl9cmVtb3ZlUmVxdWVzdEludGVyY2VwdG9yKGUpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnJlbW92ZVJlcXVlc3RJbnRlcmNlcHRvcihlKX1yZW1vdmVSZXNwb25zZUludGVyY2VwdG9yKGUpe3RoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnJlbW92ZVJlc3BvbnNlSW50ZXJjZXB0b3IoZSl9cmVtb3ZlRXJyb3JJbnRlcmNlcHRvcihlKXt0aGlzLmludGVyY2VwdG9yTWFuYWdlci5yZW1vdmVFcnJvckludGVyY2VwdG9yKGUpfWNsZWFySW50ZXJjZXB0b3JzKCl7dGhpcy5pbnRlcmNlcHRvck1hbmFnZXIuY2xlYXJBbGwoKX1hc3luYyBjbGVhckNhY2hlKCl7YXdhaXQgdGhpcy5jYWNoZU1hbmFnZXIuY2xlYXIoKX1hc3luYyByZXF1ZXN0KGUsdD17fSl7bGV0IHI9ey4uLnRoaXMuZGVmYXVsdE9wdGlvbnMsLi4udH0saTtpZih0eXBlb2YgZT09InN0cmluZyI/aT1uZXcgUmVxdWVzdChlLHIpOmk9ZSxpPWF3YWl0IHRoaXMuaW50ZXJjZXB0b3JNYW5hZ2VyLnByb2Nlc3NSZXF1ZXN0KGkpLHIuaW50ZXJjZXB0b3JzPy5yZXF1ZXN0KWZvcihsZXQgbiBvZiByLmludGVyY2VwdG9ycy5yZXF1ZXN0KWk9YXdhaXQgbihpKTtpZihyLmRlZHVwbGljYXRlPz8hMSl7bGV0IG49dGhpcy5kZWR1cGxpY2F0b3IuZ2VuZXJhdGVLZXkoaSk7cmV0dXJuKGF3YWl0IHRoaXMuZGVkdXBsaWNhdG9yLmV4ZWN1dGUobixhc3luYygpPT5hd2FpdCB0aGlzLmV4ZWN1dGVSZXF1ZXN0KGkscikpKS5yZXNwb25zZX1yZXR1cm4gYXdhaXQgdGhpcy5leGVjdXRlUmVxdWVzdChpLHIpfWFzeW5jIGV4ZWN1dGVSZXF1ZXN0KGUsdCl7dHJ5e2xldCByPXR5cGVvZiB0LnJldHJ5PT0ib2JqZWN0Ij90LnJldHJ5OnQucmV0cnk/e306dm9pZCAwLGk9cyhhc3luYyBsPT57bGV0IGQ9dC50aW1lb3V0Pz82ZTQ7cmV0dXJuIGF3YWl0IHhjZShsLnVybCx7bWV0aG9kOmwubWV0aG9kLGhlYWRlcnM6bC5oZWFkZXJzLGJvZHk6bC5ib2R5LC4uLnR9LGQpfSwiZmV0Y2hGbkZvclJlcXVlc3QiKSxvPXMoYXN5bmMobCxkKT0+e2xldCBjPXQudGltZW91dD8/NmU0O3JldHVybiBhd2FpdCB4Y2UobCxkLGMpfSwiZmV0Y2hGbkZvckZhbGxiYWNrcyIpLG47aWYocil7bGV0IGw9bmV3IFVoKHIpO2lmKHQuZmFsbGJhY2tVcmxzJiZ0LmZhbGxiYWNrVXJscy5sZW5ndGg+MCl7bGV0IGQ9W2UudXJsLC4uLnQuZmFsbGJhY2tVcmxzXTtuPWF3YWl0IGwuZXhlY3V0ZVdpdGhGYWxsYmFja3MoZCx7bWV0aG9kOmUubWV0aG9kLGhlYWRlcnM6ZS5oZWFkZXJzLGJvZHk6ZS5ib2R5LC4uLnR9LG8pfWVsc2Ugbj1hd2FpdCBsLmV4ZWN1dGUoYXN5bmMoKT0+KGF3YWl0IHRoaXMuY2FjaGVNYW5hZ2VyLmV4ZWN1dGUoZSx0LGkpKS5yZXNwb25zZSl9ZWxzZSBuPShhd2FpdCB0aGlzLmNhY2hlTWFuYWdlci5leGVjdXRlKGUsdCxpKSkucmVzcG9uc2U7aWYobj1hd2FpdCB0aGlzLmludGVyY2VwdG9yTWFuYWdlci5wcm9jZXNzUmVzcG9uc2UobiksdC5pbnRlcmNlcHRvcnM/LnJlc3BvbnNlKWZvcihsZXQgbCBvZiB0LmludGVyY2VwdG9ycy5yZXNwb25zZSluPWF3YWl0IGwobik7cmV0dXJuIG59Y2F0Y2gocil7dGhyb3cgYXdhaXQgdGhpcy5pbnRlcmNlcHRvck1hbmFnZXIucHJvY2Vzc0Vycm9yKHIgaW5zdGFuY2VvZiBFcnJvcj9yOm5ldyBFcnJvcihTdHJpbmcocikpKX19YXN5bmMgZ2V0SnNvbihlLHQ9e30pe2xldCByPWF3YWl0IHRoaXMucmVxdWVzdChlLHsuLi50LG1ldGhvZDoiR0VUIixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24iLC4uLnQuaGVhZGVyc3x8e319fSk7aWYoIXIub2spdGhyb3cgbmV3IEVycm9yKGBIVFRQICR7ci5zdGF0dXN9OiAke3Iuc3RhdHVzVGV4dH1gKTtyZXR1cm4gYXdhaXQgci5qc29uKCl9YXN5bmMgcG9zdEpzb24oZSx0LHI9e30pe2xldCBpPWF3YWl0IHRoaXMucmVxdWVzdChlLHsuLi5yLG1ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL2pzb24iLEFjY2VwdDoiYXBwbGljYXRpb24vanNvbiIsLi4uci5oZWFkZXJzfHx7fX0sYm9keTpKU09OLnN0cmluZ2lmeSh0KX0pO2lmKCFpLm9rKXRocm93IG5ldyBFcnJvcihgSFRUUCAke2kuc3RhdHVzfTogJHtpLnN0YXR1c1RleHR9YCk7cmV0dXJuIGF3YWl0IGkuanNvbigpfWFzeW5jIHB1dEpzb24oZSx0LHI9e30pe2xldCBpPWF3YWl0IHRoaXMucmVxdWVzdChlLHsuLi5yLG1ldGhvZDoiUFVUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24vanNvbiIsQWNjZXB0OiJhcHBsaWNhdGlvbi9qc29uIiwuLi5yLmhlYWRlcnN8fHt9fSxib2R5OkpTT04uc3RyaW5naWZ5KHQpfSk7aWYoIWkub2spdGhyb3cgbmV3IEVycm9yKGBIVFRQICR7aS5zdGF0dXN9OiAke2kuc3RhdHVzVGV4dH1gKTtyZXR1cm4gYXdhaXQgaS5qc29uKCl9YXN5bmMgZGVsZXRlSnNvbihlLHQ9e30pe2xldCByPWF3YWl0IHRoaXMucmVxdWVzdChlLHsuLi50LG1ldGhvZDoiREVMRVRFIixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24iLC4uLnQuaGVhZGVyc3x8e319fSk7aWYoIXIub2spdGhyb3cgbmV3IEVycm9yKGBIVFRQICR7ci5zdGF0dXN9OiAke3Iuc3RhdHVzVGV4dH1gKTtyZXR1cm4gYXdhaXQgci5qc29uKCl9fX0pO2FzeW5jIGZ1bmN0aW9uIHFvKGEsZSl7bGV0IHQ9YSBpbnN0YW5jZW9mIFJlcXVlc3Q/YS51cmw6U3RyaW5nKGEpLHI9YSBpbnN0YW5jZW9mIFJlcXVlc3Q/YTpuZXcgUmVxdWVzdCh0LGUpO3JldHVybiBhd2FpdCBuMS5yZXF1ZXN0KHIsZSl9dmFyIG4xLEIwdD1mKCgpPT57eWNlKCk7bjE9bmV3IEwzO3MocW8sIndlYnJlcXVlc3QiKSxxby5nZXRKc29uPWFzeW5jIGZ1bmN0aW9uKGEsZSl7cmV0dXJuIGF3YWl0IG4xLmdldEpzb24oYSxlKX0scW8ucG9zdEpzb249YXN5bmMgZnVuY3Rpb24oYSxlLHQpe3JldHVybiBhd2FpdCBuMS5wb3N0SnNvbihhLGUsdCl9LHFvLnB1dEpzb249YXN5bmMgZnVuY3Rpb24oYSxlLHQpe3JldHVybiBhd2FpdCBuMS5wdXRKc29uKGEsZSx0KX0scW8uZGVsZXRlSnNvbj1hc3luYyBmdW5jdGlvbihhLGUpe3JldHVybiBhd2FpdCBuMS5kZWxldGVKc29uKGEsZSl9LHFvLmFkZFJlcXVlc3RJbnRlcmNlcHRvcj1mdW5jdGlvbihhKXtuMS5hZGRSZXF1ZXN0SW50ZXJjZXB0b3IoYSl9LHFvLmFkZFJlc3BvbnNlSW50ZXJjZXB0b3I9ZnVuY3Rpb24oYSl7bjEuYWRkUmVzcG9uc2VJbnRlcmNlcHRvcihhKX0scW8uYWRkRXJyb3JJbnRlcmNlcHRvcj1mdW5jdGlvbihhKXtuMS5hZGRFcnJvckludGVyY2VwdG9yKGEpfSxxby5jbGVhckludGVyY2VwdG9ycz1mdW5jdGlvbigpe24xLmNsZWFySW50ZXJjZXB0b3JzKCl9LHFvLmNsZWFyQ2FjaGU9YXN5bmMgZnVuY3Rpb24oKXthd2FpdCBuMS5jbGVhckNhY2hlKCl9LHFvLmNyZWF0ZUNsaWVudD1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IEwzKGEpfSxxby5nZXREZWZhdWx0Q2xpZW50PWZ1bmN0aW9uKCl7cmV0dXJuIG4xfX0pO3ZhciBsMT17fTtsdChsMSx7Q2FjaGVNYW5hZ2VyOigpPT5qaCxDYWNoZVN0b3JlOigpPT5WaCxJbnRlcmNlcHRvck1hbmFnZXI6KCk9PkZoLFJlcXVlc3REZWR1cGxpY2F0b3I6KCk9PldoLFJldHJ5TWFuYWdlcjooKT0+VWgsV2VicmVxdWVzdENsaWVudDooKT0+TDMsY3JlYXRlQ29uZGl0aW9uYWxIZWFkZXJzOigpPT5mWCxleHRyYWN0Q2FjaGVNZXRhZGF0YTooKT0+UzIsaGVhZGVyc1RvT2JqZWN0OigpPT5oWCxpc0ZyZXNoOigpPT5XOSxvYmplY3RUb0hlYWRlcnM6KCk9PkUwdCxyZXF1aXJlc1JldmFsaWRhdGlvbjooKT0+Rzksd2VicmVxdWVzdDooKT0+cW99KTt2YXIgdlg9ZigoKT0+e0IwdCgpO3ljZSgpO2hjZSgpO3BYKCk7YmNlKCk7SGxlKCk7dmNlKCk7bVgoKX0pO3ZhciB6MCxDMD1mKCgpPT57cDMoKTt6MD1GaShINygpLDEpO05oKCk7UmxlKCk7TWwoKTtCbGUoKTtLcygpO3ZYKCl9KTt2YXIgYzEsR2g9ZigoKT0+e0MwKCk7YzE9Y2xhc3N7c3RhdGlje3ModGhpcywiVHlwZWRSZXNwb25zZUVycm9yIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLmVycm9yVGV4dD1lLHRoaXMuZXJyb3JEYXRhPXR9fX0pO3ZhciB5WCxIMHQ9ZigoKT0+e0doKCk7QzAoKTt5WD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUeXBlZFRvb2xzIil9Y29uc3RydWN0b3IoKXt0aGlzLmxvY2FsRGF0YT17fX1hc3luYyBwYXNzR3VhcmRzKGUsdCl7bGV0IHI9bmV3ICRsLkd1YXJkU2V0KGUpO2lmKCFhd2FpdCByLmFsbEd1YXJkc1Bhc3ModCkpe2xldCBvPWF3YWl0IHIuZ2V0RmFpbGVkSGludCh0KTt0aHJvdyBuZXcgYzEoYGd1YXJkIGZhaWxlZDogJHtvfWAse2ZhaWxlZEhpbnQ6b30pfX19fSk7dmFyIHdjZSxNY2U9ZigoKT0+e0MwKCk7R2goKTtIMHQoKTt3Y2U9Y2xhc3N7c3RhdGlje3ModGhpcywiVHlwZWRIYW5kbGVyIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLm1ldGhvZD1lLHRoaXMuaGFuZGxlckZ1bmN0aW9uPXR9YXN5bmMgYWRkUmVzcG9uc2UoZSl7aWYoZS5tZXRob2QhPT10aGlzLm1ldGhvZCl0aHJvdyBuZXcgRXJyb3IoInRoaXMgaGFuZGxlciBoYXMgYmVlbiBnaXZlbiBhIHdyb25nIG1ldGhvZCB0byBhbnN3ZXIgdG8uIFBsZWFzZSB1c2UgYSBUeXBlZFJvdXRlciB0byBmaWx0ZXIgcmVxdWVzdHMiKTtsZXQgdCxyPW5ldyB5WDtlLmxvY2FsRGF0YSYmKHIubG9jYWxEYXRhPWUubG9jYWxEYXRhKTtsZXQgaT1hd2FpdCB0aGlzLmhhbmRsZXJGdW5jdGlvbihlLnJlcXVlc3QscikuY2F0Y2gobz0+e28gaW5zdGFuY2VvZiBjMT90PW86Y29uc29sZS5sb2cobyl9KTtyZXR1cm4gdCYmKGUuZXJyb3I9e3RleHQ6dC5lcnJvclRleHQsZGF0YTp0LmVycm9yRGF0YX0pLGkmJihlLnJlc3BvbnNlPWkpLGU/LmNvcnJlbGF0aW9uPy5waGFzZSYmKGUuY29ycmVsYXRpb24ucGhhc2U9InJlc3BvbnNlIiksZX19fSk7dmFyICQzLFk5PWYoKCk9PntDMCgpO3dYKCk7TWNlKCk7a2NlKCk7R2goKTskMz1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlR5cGVkUm91dGVyIil9Y29uc3RydWN0b3IoKXt0aGlzLmhvb2tzPXt9LHRoaXMucm91dGVyTWFwPW5ldyBXYS5PYmplY3RNYXAsdGhpcy5oYW5kbGVyTWFwPW5ldyBXYS5PYmplY3RNYXAsdGhpcy5yZWdpc3RlcmVkVmlydHVhbFN0cmVhbXM9bmV3IFdhLk9iamVjdE1hcCx0aGlzLm1pZGRsZXdhcmVzPVtdLHRoaXMuZmlyZUV2ZW50SW50ZXJlc3RNYXA9bmV3IFdhLkludGVyZXN0TWFwKGU9PmUpfXN0YXRpYyBnZXQgZ2xvYmFsSG9va3MoKXtyZXR1cm4gZ2xvYmFsVGhpcy5fX3R5cGVkUm91dGVyR2xvYmFsSG9va3N8fChnbG9iYWxUaGlzLl9fdHlwZWRSb3V0ZXJHbG9iYWxIb29rcz17fSksZ2xvYmFsVGhpcy5fX3R5cGVkUm91dGVyR2xvYmFsSG9va3N9c3RhdGljIHNldCBnbG9iYWxIb29rcyhlKXtnbG9iYWxUaGlzLl9fdHlwZWRSb3V0ZXJHbG9iYWxIb29rcz1lfXN0YXRpYyBzZXRHbG9iYWxIb29rcyhlKXtsZXQgdD1hLmdsb2JhbEhvb2tzO2EuZ2xvYmFsSG9va3M9ey4uLnQsLi4uZX19c3RhdGljIGNsZWFyR2xvYmFsSG9va3MoKXtnbG9iYWxUaGlzLl9fdHlwZWRSb3V0ZXJHbG9iYWxIb29rcz17fX1zZXRIb29rcyhlKXt0aGlzLmhvb2tzPXsuLi50aGlzLmhvb2tzLC4uLmV9fWNhbGxIb29rKGUsdCl7dHJ5e2EuZ2xvYmFsSG9va3NbZV0/Lih0KSx0aGlzLmhvb2tzW2VdPy4odCl9Y2F0Y2gocil7Y29uc29sZS5lcnJvcihgVHlwZWRSb3V0ZXIgaG9vayBlcnJvciAoJHtlfSk6YCxyKX19YWRkTWlkZGxld2FyZShlKXt0aGlzLm1pZGRsZXdhcmVzLnB1c2goZSl9YWRkVHlwZWRIYW5kbGVyKGUpe2lmKHRoaXMuZ2V0VHlwZWRIYW5kbGVyRm9yTWV0aG9kKGUubWV0aG9kKSl0aHJvdyBuZXcgRXJyb3IoYGEgVHlwZWRIYW5kbGVyIGZvciAke2UubWV0aG9kfSBhbHJlZHkgZXhpc3RzISBDYW4ndCBhZGQgYW5vdGhlciBvbmUuYCk7dGhpcy5oYW5kbGVyTWFwLmFkZChlKX1hZGRUeXBlZFJvdXRlcihlKXt0aGlzLnJvdXRlck1hcC5maW5kU3luYyhyPT5yPT09ZSl8fCh0aGlzLnJvdXRlck1hcC5hZGQoZSksZS5hZGRUeXBlZFJvdXRlcih0aGlzKSl9Y2hlY2tGb3JUeXBlZEhhbmRsZXIoZSl7cmV0dXJuISF0aGlzLmdldFR5cGVkSGFuZGxlckZvck1ldGhvZChlKX1nZXRUeXBlZEhhbmRsZXJGb3JNZXRob2QoZSx0PVtdKXt0LnB1c2godGhpcyk7bGV0IHI7cmV0dXJuIHI9dGhpcy5oYW5kbGVyTWFwLmZpbmRTeW5jKGk9PmkubWV0aG9kPT09ZSkscnx8dGhpcy5yb3V0ZXJNYXAuZ2V0QXJyYXkoKS5mb3JFYWNoKGk9PnshciYmIXQuaW5jbHVkZXMoaSkmJihyPWkuZ2V0VHlwZWRIYW5kbGVyRm9yTWV0aG9kKGUsdCkpfSkscn1nZXRUeXBlZEhhbmRsZXJBbmRSb3V0ZXIoZSx0PVtdKXt0LnB1c2godGhpcyk7bGV0IHI9dGhpcy5oYW5kbGVyTWFwLmZpbmRTeW5jKGk9PmkubWV0aG9kPT09ZSk7aWYocilyZXR1cm57aGFuZGxlcjpyLHJvdXRlcjp0aGlzfTtmb3IobGV0IGkgb2YgdGhpcy5yb3V0ZXJNYXAuZ2V0QXJyYXkoKSlpZighdC5pbmNsdWRlcyhpKSl7bGV0IG89aS5nZXRUeXBlZEhhbmRsZXJBbmRSb3V0ZXIoZSx0KTtpZihvKXJldHVybiBvfXJldHVybiBudWxsfXN0YXRpY3t0aGlzLmRlZmF1bHRSb3V0ZU9wdGlvbnM9e2xvY2FsUmVxdWVzdDohMSxza2lwSG9va3M6ITF9fWFzeW5jIHJvdXRlQW5kQWRkUmVzcG9uc2UoZSx0PXt9KXtsZXQgcj17Li4uYS5kZWZhdWx0Um91dGVPcHRpb25zLC4uLnR9O2lmKGU9ZDEuZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKGUse3R5cGVkcm91dGVyOnRoaXN9KSxlLmxvY2FsRGF0YT1lLmxvY2FsRGF0YXx8e30sZS5sb2NhbERhdGEuZmlyc3RUeXBlZHJvdXRlcj10aGlzLGUubWV0aG9kPT09IiMjVmlydHVhbFN0cmVhbSMjIil7bGV0IGk9YXdhaXQgdGhpcy5oYW5kbGVTdHJlYW1UeXBlZFJlcXVlc3QoZSk7cmV0dXJuIGkubG9jYWxEYXRhPW51bGwsaX1pZihlPy5jb3JyZWxhdGlvbj8ucGhhc2U9PT0icmVxdWVzdCJ8fHIubG9jYWxSZXF1ZXN0KXtsZXQgaT1EYXRlLm5vdygpO3Iuc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbkluY29taW5nUmVxdWVzdCIse2NvcnJlbGF0aW9uSWQ6ZS5jb3JyZWxhdGlvbj8uaWR8fCJ1bmtub3duIixtZXRob2Q6ZS5tZXRob2QsZGlyZWN0aW9uOiJpbmNvbWluZyIscGhhc2U6InJlcXVlc3QiLHRpbWVzdGFtcDppLHBheWxvYWQ6ZS5yZXF1ZXN0fSk7bGV0IG89dGhpcy5nZXRUeXBlZEhhbmRsZXJBbmRSb3V0ZXIoZS5tZXRob2QpO2lmKCFvKXJldHVybiBjb25zb2xlLmxvZyhgQ2Fubm90IGZpbmQgaGFuZGxlciBmb3IgbWV0aG9kbmFtZSAke2UubWV0aG9kfWApLGUuZXJyb3I9e3RleHQ6IlRoZXJlIGlzIG5vIGF2YWlsYWJsZSBtZXRob2QgZm9yIHRoaXMgY2FsbCBvbiB0aGUgc2VydmVyIHNpZGUiLGRhdGE6e319LGUuY29ycmVsYXRpb24ucGhhc2U9InJlc3BvbnNlIixlLmxvY2FsRGF0YT1udWxsLGU9ZDEuZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsoZSx7dHlwZWRyb3V0ZXI6dGhpc30pLHIuc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbk91dGdvaW5nUmVzcG9uc2UiLHtjb3JyZWxhdGlvbklkOmUuY29ycmVsYXRpb24/LmlkfHwidW5rbm93biIsbWV0aG9kOmUubWV0aG9kLGRpcmVjdGlvbjoib3V0Z29pbmciLHBoYXNlOiJyZXNwb25zZSIsdGltZXN0YW1wOkRhdGUubm93KCksZHVyYXRpb25NczpEYXRlLm5vdygpLWkscGF5bG9hZDplLnJlc3BvbnNlLGVycm9yOmUuZXJyb3I/LnRleHR9KSxlO2xldHtoYW5kbGVyOm4scm91dGVyOmx9PW87aWYobC5taWRkbGV3YXJlcy5sZW5ndGg+MCl0cnl7Zm9yKGxldCBkIG9mIGwubWlkZGxld2FyZXMpYXdhaXQgZChlKX1jYXRjaChkKXtyZXR1cm4gZCBpbnN0YW5jZW9mIGMxP2UuZXJyb3I9e3RleHQ6ZC5lcnJvclRleHQsZGF0YTpkLmVycm9yRGF0YXx8e319OmUuZXJyb3I9e3RleHQ6ZC5tZXNzYWdlfHwiTWlkZGxld2FyZSBlcnJvciIsZGF0YTp7fX0sZS5jb3JyZWxhdGlvbi5waGFzZT0icmVzcG9uc2UiLGUubG9jYWxEYXRhPW51bGwsZT1kMS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhlLHt0eXBlZHJvdXRlcjp0aGlzfSksci5za2lwSG9va3N8fHRoaXMuY2FsbEhvb2soIm9uT3V0Z29pbmdSZXNwb25zZSIse2NvcnJlbGF0aW9uSWQ6ZS5jb3JyZWxhdGlvbj8uaWR8fCJ1bmtub3duIixtZXRob2Q6ZS5tZXRob2QsZGlyZWN0aW9uOiJvdXRnb2luZyIscGhhc2U6InJlc3BvbnNlIix0aW1lc3RhbXA6RGF0ZS5ub3coKSxkdXJhdGlvbk1zOkRhdGUubm93KCktaSxwYXlsb2FkOmUucmVzcG9uc2UsZXJyb3I6ZS5lcnJvcj8udGV4dH0pLGV9cmV0dXJuIGU9YXdhaXQgbi5hZGRSZXNwb25zZShlKSxlLmxvY2FsRGF0YT1udWxsLGU9ZDEuZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsoZSx7dHlwZWRyb3V0ZXI6dGhpc30pLHIuc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbk91dGdvaW5nUmVzcG9uc2UiLHtjb3JyZWxhdGlvbklkOmUuY29ycmVsYXRpb24/LmlkfHwidW5rbm93biIsbWV0aG9kOmUubWV0aG9kLGRpcmVjdGlvbjoib3V0Z29pbmciLHBoYXNlOiJyZXNwb25zZSIsdGltZXN0YW1wOkRhdGUubm93KCksZHVyYXRpb25NczpEYXRlLm5vdygpLWkscGF5bG9hZDplLnJlc3BvbnNlLGVycm9yOmUuZXJyb3I/LnRleHR9KSxlfWVsc2UgcmV0dXJuIGU/LmNvcnJlbGF0aW9uPy5waGFzZT09PSJyZXNwb25zZSI/KHIuc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbkluY29taW5nUmVzcG9uc2UiLHtjb3JyZWxhdGlvbklkOmUuY29ycmVsYXRpb24/LmlkfHwidW5rbm93biIsbWV0aG9kOmUubWV0aG9kLGRpcmVjdGlvbjoiaW5jb21pbmciLHBoYXNlOiJyZXNwb25zZSIsdGltZXN0YW1wOkRhdGUubm93KCkscGF5bG9hZDplLnJlc3BvbnNlLGVycm9yOmUuZXJyb3I/LnRleHR9KSx0aGlzLmZpcmVFdmVudEludGVyZXN0TWFwLmZpbmRJbnRlcmVzdChlLmNvcnJlbGF0aW9uLmlkKT8uZnVsbGZpbGxJbnRlcmVzdChlKSxudWxsKTooY29uc29sZS5sb2coInJlY2VpdmVkIHdlaXJkbHkgc2hhcGVkIHJlcXVlc3QiKSxjb25zb2xlLmxvZyhlKSxudWxsKX1hc3luYyBoYW5kbGVTdHJlYW1UeXBlZFJlcXVlc3QoZSl7bGV0IHQ9YXdhaXQgdGhpcy5yZWdpc3RlcmVkVmlydHVhbFN0cmVhbXMuZmluZChhc3luYyBpPT5pLnN0cmVhbUlkPT09ZS5yZXF1ZXN0LnN0cmVhbUlkKTtpZih0KWNvbnNvbGUubG9nKGBzdWNjZXNzOiBmb3VuZCByZWxldmFudCB2aXJ0dWFsIHN0cmVhbSB3aXRoIGlkICR7ZS5yZXF1ZXN0LnN0cmVhbUlkfWApO2Vsc2UgcmV0dXJuIGNvbnNvbGUubG9nKGBubyByZWxldmFudCB2aXJ0dWFsIHN0cmVhbSBmb3VuZCBmb3Igc3RyZWFtIHdpdGggaWQgJHtlLnJlcXVlc3Quc3RyZWFtSWR9YCksY29uc29sZS5sb2codGhpcy5yZWdpc3RlcmVkVmlydHVhbFN0cmVhbXMuZ2V0QXJyYXkoKSksZTtyZXR1cm4gYXdhaXQgdC5oYW5kbGVTdHJlYW1UcihlKX19fSk7dmFyIHEwdCxkMSx3WD1mKCgpPT57QzAoKTtZOSgpO3EwdD0iIyMjIyMjIyMjIyMjI0NMT1NJTkcgQklUIyMjIyMjIyMjIyMjIyIsZDE9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJWaXJ0dWFsU3RyZWFtIil9c3RhdGljIGVuY29kZVBheWxvYWRGb3JOZXR3b3JrKGUsdCxyLGk9W10pe3JldHVybiFlfHxzMS5pc0J1ZmZlckxpa2UoZSk/ZTplIGluc3RhbmNlb2YgYT8oIWUuc2lkZSYmdC5zZW5kTWV0aG9kJiYoZS5zaWRlPSJyZXF1ZXN0aW5nIixlLnNlbmRNZXRob2Q9dC5zZW5kTWV0aG9kKSwhZS5zaWRlJiZ0LnR5cGVkcm91dGVyJiYoZS5zaWRlPSJyZXNwb25kaW5nIixlLnR5cGVkcm91dGVyPXQudHlwZWRyb3V0ZXIsdC50eXBlZHJvdXRlci5yZWdpc3RlcmVkVmlydHVhbFN0cmVhbXMuYWRkKGUpKSwhci5yZXNwb25zZXx8aS5pbmNsdWRlcygicmVzcG9uc2UiKT8oZS5zdGFydEtlZXBBbGl2ZUxvb3AoKSx7X2lzVmlydHVhbFN0cmVhbTohMCxzdHJlYW1JZDplLnN0cmVhbUlkfSk6e19PQk1JVFRFRF9WSVJUVUFMX1NUUkVBTTohMCxyZWFzb246InBhdGggaXMgdW5kZXIgLnJlcXVlc3Q6IG9ibWl0dGVkIGZvciBkZWR1cGxpY2F0aW9uIHJlYXNvbnMgaW4gcmVzcG9uc2UgY3ljbGUuIn0pOkFycmF5LmlzQXJyYXkoZSk/ZS5tYXAoKG8sbik9PmEuZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsobyx0LHJ8fGUsaS5jb25jYXQoU3RyaW5nKG4pKSkpOmUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCI/T2JqZWN0LmVudHJpZXMoZSkucmVkdWNlKChvLFtuLGxdKT0+e2xldCBkPWkuY29uY2F0KG4pO3JldHVybiBvW25dPWEuZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsobCx0LHJ8fGUsZCksb30se30pOmV9c3RhdGljIGRlY29kZVBheWxvYWRGcm9tTmV0d29yayhlLHQpe2lmKHMxLmlzQnVmZmVyTGlrZShlKXx8ZSBpbnN0YW5jZW9mICQzKXJldHVybiBlO2lmKGUhPT1udWxsJiZ0eXBlb2YgZT09Im9iamVjdCIpe2lmKGUgaW5zdGFuY2VvZiBTZXR8fGUgaW5zdGFuY2VvZiBNYXB8fGUgaW5zdGFuY2VvZiBEYXRlfHxlIGluc3RhbmNlb2YgUmVnRXhwfHxlIGluc3RhbmNlb2YgRXJyb3J8fGUgaW5zdGFuY2VvZiBQcm9taXNlfHx0eXBlb2YgZS50aGVuPT0iZnVuY3Rpb24iKXJldHVybiBlO2lmKGUuX2lzVmlydHVhbFN0cmVhbSl7bGV0IHI9bmV3IGE7cmV0dXJuIHIuc3RyZWFtSWQ9ZS5zdHJlYW1JZCwhci5zaWRlJiZ0LnNlbmRNZXRob2QmJihyLnNpZGU9InJlcXVlc3RpbmciLHIuc2VuZE1ldGhvZD10LnNlbmRNZXRob2QpLCFyLnNpZGUmJnQudHlwZWRyb3V0ZXImJihyLnNpZGU9InJlc3BvbmRpbmciLHIudHlwZWRyb3V0ZXI9dC50eXBlZHJvdXRlcix0LnR5cGVkcm91dGVyLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5hZGQocikpLHIuc3RhcnRLZWVwQWxpdmVMb29wKCkscn1lbHNlIGlmKEFycmF5LmlzQXJyYXkoZSkpe2xldCByPVtdO2ZvcihsZXQgaSBvZiBlKXIucHVzaChhLmRlY29kZVBheWxvYWRGcm9tTmV0d29yayhpLHQpKTtyZXR1cm4gcn1lbHNlIHJldHVybiBPYmplY3Qua2V5cyhlKS5yZWR1Y2UoKHIsaSk9PihyW2ldPWEuZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKGVbaV0sdCkscikse30pfWVsc2UgcmV0dXJuIGV9Y29uc3RydWN0b3IoKXt0aGlzLnN0cmVhbUlkPXowLnVuaSgpLHRoaXMua2VlcEFsaXZlPSEwLHRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheT1uZXcgV2EuQmFja3ByZXNzdXJlZEFycmF5KDE2KSx0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXk9bmV3IFdhLkJhY2twcmVzc3VyZWRBcnJheSgxNil9c3RhdGljIHJlY29uc3RpdHV0ZUJpbmFyeURhdGEoZSl7aWYoZT09bnVsbHx8ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fHR5cGVvZiBCdWZmZXI8InUiJiZCdWZmZXIuaXNCdWZmZXIoZSkpcmV0dXJuIGU7aWYodHlwZW9mIGU9PSJvYmplY3QiKXtpZihlLnR5cGU9PT0iQnVmZmVyIiYmQXJyYXkuaXNBcnJheShlLmRhdGEpKXJldHVybiBuZXcgVWludDhBcnJheShlLmRhdGEpO2xldCB0PU9iamVjdC5rZXlzKGUpO2lmKHQubGVuZ3RoPjAmJnQuZXZlcnkocj0+L15cZCskLy50ZXN0KHIpKSl7bGV0IHI9bmV3IEFycmF5KHQubGVuZ3RoKTtmb3IobGV0IGkgb2YgdClyW051bWJlcihpKV09ZVtpXTtpZihyLmV2ZXJ5KGk9PnR5cGVvZiBpPT0ibnVtYmVyIikpcmV0dXJuIG5ldyBVaW50OEFycmF5KHIpfX1yZXR1cm4gZX1hc3luYyB3b3JrT25RdWV1ZSgpe2lmKHRoaXMud29ya2luZ0RlZmVycmVkKXJldHVybiB0aGlzLndvcmtpbmdEZWZlcnJlZC5wcm9taXNlO2lmKHRoaXMud29ya2luZ0RlZmVycmVkPWV0LmRlZmVyKCksdGhpcy5zaWRlPT09InJlcXVlc3RpbmciKXtsZXQgZT0hdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKSx0PSExLHI9ITEsaT1zKGFzeW5jKCk9PntsZXQgbz1hd2FpdCB0aGlzLnNlbmRNZXRob2Qoe21ldGhvZDoiIyNWaXJ0dWFsU3RyZWFtIyMiLHJlcXVlc3Q6e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDp6MC51bmkoKSxjeWNsZToicmVxdWVzdCIsbWFpblB1cnBvc2U6ImZlZWRiYWNrIixuZXh0OnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5kYXRhLmxlbmd0aD4wLGJhY2twcmVzc3VyZTohdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKX0scmVzcG9uc2U6bnVsbH0pLmNhdGNoKCgpPT57Y29uc29sZS5sb2coInN0cmVhbSBlbmRlZCBpbW1hdHVyZWx5IiksdGhpcy5rZWVwQWxpdmU9ITF9KTtvJiZvLnJlc3BvbnNlJiYocj1vLnJlc3BvbnNlLmJhY2twcmVzc3VyZSx0PW8ucmVzcG9uc2UubmV4dCl9LCJnZXRGZWVkYmFjayIpO2Zvcihhd2FpdCBpKCk7dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjB8fHQ7KXtpZihyKWZvcig7cjspY29uc29sZS5sb2coIndhaXRpbmcgZm9yIGZlZWRiYWNrIGJlY2F1c2Ugb2YgYmFja3ByZXNzdXJlLi4uIiksYXdhaXQgUHQuZGVsYXlGb3IoNTApLGF3YWl0IGkoKTtsZXQgbzt0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCYmKG89dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LnNoaWZ0KCkpO2xldCBuO249YXdhaXQgdGhpcy5zZW5kTWV0aG9kKHttZXRob2Q6IiMjVmlydHVhbFN0cmVhbSMjIixyZXF1ZXN0OntzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6ejAudW5pKCksY3ljbGU6InJlcXVlc3QiLG1haW5QdXJwb3NlOm8/ImNodW5rIjoicmVhZCIsYmFja3ByZXNzdXJlOmUsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCwuLi5vP3tjaHVua0RhdGE6b306e319LHJlc3BvbnNlOm51bGx9KS5jYXRjaCgoKT0+KGNvbnNvbGUubG9nKCJzdHJlYW0gZW5kZWQgaW1tYXR1cmVseSIpLHRoaXMua2VlcEFsaXZlPSExLG51bGwpKSxuJiZuLnJlc3BvbnNlJiZuLnJlc3BvbnNlLmNodW5rRGF0YSYmdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LnB1c2goYS5yZWNvbnN0aXR1dGVCaW5hcnlEYXRhKG4ucmVzcG9uc2UuY2h1bmtEYXRhKSkscj1uJiZuLnJlc3BvbnNlJiZuLnJlc3BvbnNlLmJhY2twcmVzc3VyZSxlPSF0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXkuY2hlY2tTcGFjZUF2YWlsYWJsZSgpLHQ9biYmbi5yZXNwb25zZSYmbi5yZXNwb25zZS5uZXh0fX10aGlzLndvcmtpbmdEZWZlcnJlZC5yZXNvbHZlKCksdGhpcy53b3JraW5nRGVmZXJyZWQ9bnVsbH1hc3luYyBoYW5kbGVTdHJlYW1UcihlKXtpZihlLnJlcXVlc3Qua2VlcEFsaXZlPT09ITAmJnRoaXMua2VlcEFsaXZlPT09ITA/dGhpcy5sYXN0S2VlcEFsaXZlRXZlbnQ9RGF0ZS5ub3coKTplLnJlcXVlc3Qua2VlcEFsaXZlPT09ITEmJih0aGlzLmtlZXBBbGl2ZT0hMSksZS5yZXF1ZXN0Lm1haW5QdXJwb3NlPT09ImtlZXBBbGl2ZSImJihlLnJlc3BvbnNlPXtzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6ZS5yZXF1ZXN0LmN5Y2xlSWQsY3ljbGU6InJlc3BvbnNlIixtYWluUHVycG9zZToia2VlcEFsaXZlIixrZWVwQWxpdmU6dGhpcy5rZWVwQWxpdmUsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCl9KSxlLnJlcXVlc3QubWFpblB1cnBvc2U9PT0iZmVlZGJhY2siJiYoZS5yZXNwb25zZT17c3RyZWFtSWQ6dGhpcy5zdHJlYW1JZCxjeWNsZUlkOmUucmVxdWVzdC5jeWNsZUlkLGN5Y2xlOiJyZXNwb25zZSIsbWFpblB1cnBvc2U6ImZlZWRiYWNrIixuZXh0OnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5kYXRhLmxlbmd0aD4wLGJhY2twcmVzc3VyZTohdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKX0pLGUucmVxdWVzdC5tYWluUHVycG9zZT09PSJjaHVuayIpe2lmKHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5wdXNoKGEucmVjb25zdGl0dXRlQmluYXJ5RGF0YShlLnJlcXVlc3QuY2h1bmtEYXRhKSksdGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjAmJmUucmVzcG9uc2UuYmFja3ByZXNzdXJlPT09ITEpe2xldCB0PXRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpO2UucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDplLnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJjaHVuayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MSxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCksY2h1bmtEYXRhOnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpfX1lbHNlIGUucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDplLnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJmZWVkYmFjayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCl9O2UucmVxdWVzdD1udWxsfXJldHVybiBlfWFzeW5jIGNsZWFudXAoKXt0aGlzLnR5cGVkcm91dGVyJiZ0aGlzLnR5cGVkcm91dGVyLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5yZW1vdmUodGhpcyl9YXN5bmMgc3RhcnRLZWVwQWxpdmVMb29wKCl7aWYodGhpcy5zaWRlPT09InJlc3BvbmRpbmciKXJldHVybjthd2FpdCBQdC5kZWxheUZvcigwKSxjb25zb2xlLmxvZyhgc3RhcnRpbmcga2VlcGFsaXZlIGxvb3Agb24gc2lkZSAke3RoaXMuc2lkZX1gKTtsZXQgZT0wO2Zvcig7dGhpcy5rZWVwQWxpdmU7KWF3YWl0IHRoaXMudHJpZ2dlcktlZXBBbGl2ZSgpLGF3YWl0IFB0LmRlbGF5Rm9yKDFlMyk7YXdhaXQgUHQuZGVsYXlGb3IoMWUzKSxhd2FpdCB0aGlzLmNsZWFudXAoKSxjb25zb2xlLmxvZyhgY2xlYW5lZCB1cCBmb3Igc3RyZWFtICR7dGhpcy5zdHJlYW1JZH1gKX1hc3luYyB0cmlnZ2VyS2VlcEFsaXZlKCl7aWYodGhpcy5zaWRlPT09InJlcXVlc3RpbmciKXtjb25zb2xlLmxvZygia2VlcGFsaXZlIHNlbnQuIik7bGV0IGU9YXdhaXQgdGhpcy5zZW5kTWV0aG9kKHttZXRob2Q6IiMjVmlydHVhbFN0cmVhbSMjIixyZXF1ZXN0OntzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6ejAudW5pKCksY3ljbGU6InJlcXVlc3QiLG1haW5QdXJwb3NlOiJrZWVwQWxpdmUiLGtlZXBBbGl2ZTp0aGlzLmtlZXBBbGl2ZX0scmVzcG9uc2U6bnVsbH0pLmNhdGNoKCgpPT57dGhpcy5rZWVwQWxpdmU9ITF9KTtlJiZlLnJlc3BvbnNlJiZlLnJlc3BvbnNlLmtlZXBBbGl2ZT09PSExP3RoaXMua2VlcEFsaXZlPSExOnRoaXMubGFzdEtlZXBBbGl2ZUV2ZW50PURhdGUubm93KCksZSYmZS5yZXNwb25zZSYmZS5yZXNwb25zZS5uZXh0JiZ0aGlzLndvcmtPblF1ZXVlKCl9RGF0ZS5ub3coKS10aGlzLmxhc3RLZWVwQWxpdmVFdmVudD4xZTQmJihjb25zb2xlLmxvZyhgY2xvc2luZyBzdHJlYW0gZm9yICR7dGhpcy5zdHJlYW1JZH1gKSx0aGlzLmtlZXBBbGl2ZT0hMSl9YXN5bmMgc2VuZERhdGEoZSl7dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LnB1c2goZSksdGhpcy53b3JrT25RdWV1ZSgpLGF3YWl0IHRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS53YWl0Rm9yU3BhY2UoKX1hc3luYyBmZXRjaERhdGEoKXtyZXR1cm4gdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5Lmhhc1NwYWNlLGF3YWl0IHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS53YWl0Rm9ySXRlbXMoKSx0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXkuc2hpZnQoKX1hc3luYyByZWFkRnJvbVdlYnN0cmVhbShlLHQ9ITApe2xldCByPWUuZ2V0UmVhZGVyKCksaT0hMTtmb3IoOyFpOyl7bGV0e3ZhbHVlOm8sZG9uZTpufT1hd2FpdCByLnJlYWQoKTtvJiZhd2FpdCB0aGlzLnNlbmREYXRhKG8pLGk9bn10JiZhd2FpdCB0aGlzLmNsb3NlKCEwKX1hc3luYyB3cml0ZVRvV2Vic3RyZWFtKGUpe2xldCB0PWUuZ2V0V3JpdGVyKCk7Zm9yKDt0aGlzLmtlZXBBbGl2ZXx8dGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrSGFzSXRlbXMoKTspe2xldCByPWF3YWl0IHRoaXMuZmV0Y2hEYXRhKCk7aWYocj09PXEwdCl7dC5yZWxlYXNlTG9jaygpLGF3YWl0IGUuY2xvc2UoKTticmVha31hd2FpdCB0LndyaXRlKHIpfX1hc3luYyBjbG9zZShlPSExKXtlJiZ0aGlzLnNlbmREYXRhKHEwdCksdGhpcy5rZWVwQWxpdmU9ITF9fX0pO3ZhciBTY2UsemNlPWYoKCk9PntZOSgpO0MwKCk7U2NlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlR5cGVkVGFyZ2V0Iil9Y29uc3RydWN0b3IoZSl7aWYoZS5wb3N0TWV0aG9kV2l0aFR5cGVkUm91dGVyJiYhZS50eXBlZFJvdXRlclJlZil0aHJvdyBuZXcgRXJyb3IoInlvdSBoYXZlIHRvIHNwZWNpZnkgYSB0eXBlZHJvdXRlciB3aGVuIHVzaW5nIHBvc3RtZXRob2Qgd2l0aCB0eXBlZHJvdXRlciIpO3RoaXMub3B0aW9ucz1lfWFzeW5jIHBvc3QoZSl7bGV0IHQ7dGhpcy5vcHRpb25zLnR5cGVkUm91dGVyUmVmJiYodD1hd2FpdCB0aGlzLm9wdGlvbnMudHlwZWRSb3V0ZXJSZWYuZmlyZUV2ZW50SW50ZXJlc3RNYXAuYWRkSW50ZXJlc3QoZS5jb3JyZWxhdGlvbi5pZCxlKSk7bGV0IGk9YXdhaXQodGhpcy5vcHRpb25zLnBvc3RNZXRob2R8fHRoaXMub3B0aW9ucy5wb3N0TWV0aG9kV2l0aFR5cGVkUm91dGVyKShlKSxvO3JldHVybiB0P289YXdhaXQgdC5pbnRlcmVzdEZ1bGxmaWxsZWQ6aT9vPWk6bz1lLG99fX0pO2Z1bmN0aW9uIFYwdChhLGUpe3RyeXskMy5nbG9iYWxIb29rc1thXT8uKGUpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoYFR5cGVkUmVxdWVzdCBob29rIGVycm9yICgke2F9KTpgLHQpfX12YXIgc3ZhLEs5LGtjZT1mKCgpPT57QzAoKTt3WCgpO0doKCk7WTkoKTt6Y2UoKTtzdmE9bmV3IGwxLldlYnJlcXVlc3RDbGllbnQ7cyhWMHQsImNhbGxHbG9iYWxIb29rIik7Szk9Y2xhc3N7c3RhdGlje3ModGhpcywiVHlwZWRSZXF1ZXN0Iil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnNraXBIb29rcz0hMSx0eXBlb2YgZT09InN0cmluZyI/dGhpcy51cmxFbmRQb2ludD1lOnRoaXMudHlwZWRUYXJnZXQ9ZSx0aGlzLm1ldGhvZD10fWFzeW5jIGZpcmUoZSx0PSExKXtsZXQgcj1EYXRlLm5vdygpLGk9e21ldGhvZDp0aGlzLm1ldGhvZCxyZXF1ZXN0OmUscmVzcG9uc2U6bnVsbCxjb3JyZWxhdGlvbjp7aWQ6ejAudW5pKCkscGhhc2U6InJlcXVlc3QifX07aT1kMS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhpLHtzZW5kTWV0aG9kOnMobj0+dGhpcy5wb3N0VHJPYmplY3QobiksInNlbmRNZXRob2QiKX0pLHRoaXMuc2tpcEhvb2tzfHxWMHQoIm9uT3V0Z29pbmdSZXF1ZXN0Iix7Y29ycmVsYXRpb25JZDppLmNvcnJlbGF0aW9uLmlkLG1ldGhvZDp0aGlzLm1ldGhvZCxkaXJlY3Rpb246Im91dGdvaW5nIixwaGFzZToicmVxdWVzdCIsdGltZXN0YW1wOnIscGF5bG9hZDplfSk7bGV0IG87cmV0dXJuIG89YXdhaXQgdGhpcy5wb3N0VHJPYmplY3QoaSx0KSxvPWQxLmRlY29kZVBheWxvYWRGcm9tTmV0d29yayhvLHtzZW5kTWV0aG9kOnMobj0+dGhpcy5wb3N0VHJPYmplY3QobiksInNlbmRNZXRob2QiKX0pLHRoaXMuc2tpcEhvb2tzfHxWMHQoIm9uSW5jb21pbmdSZXNwb25zZSIse2NvcnJlbGF0aW9uSWQ6aS5jb3JyZWxhdGlvbi5pZCxtZXRob2Q6dGhpcy5tZXRob2QsZGlyZWN0aW9uOiJpbmNvbWluZyIscGhhc2U6InJlc3BvbnNlIix0aW1lc3RhbXA6RGF0ZS5ub3coKSxkdXJhdGlvbk1zOkRhdGUubm93KCktcixwYXlsb2FkOm8/LnJlc3BvbnNlLGVycm9yOm8/LmVycm9yPy50ZXh0fSksby5yZXNwb25zZX1hc3luYyBwb3N0VHJPYmplY3QoZSx0PSExKXtsZXQgcjtpZih0aGlzLnVybEVuZFBvaW50P3I9YXdhaXQgc3ZhLnBvc3RKc29uKHRoaXMudXJsRW5kUG9pbnQsZSx0P3tjYWNoZVN0cmF0ZWd5OiJjYWNoZS1maXJzdCJ9Ont9KTpyPWF3YWl0IHRoaXMudHlwZWRUYXJnZXQucG9zdChlKSxyLmVycm9yKXtpZihjb25zb2xlLmVycm9yKGBtZXRob2Q6ID4+JHt0aGlzLm1ldGhvZH08PCBnb3QgYW4gRVJST1I6ICIke3IuZXJyb3IudGV4dH0iIHdpdGggZGF0YSAke0pTT04uc3RyaW5naWZ5KHIuZXJyb3IuZGF0YSxudWxsLDIpfWApLCFyLnJldHJ5KXRocm93IG5ldyBjMShyLmVycm9yLnRleHQsci5lcnJvci5kYXRhKTtyZXR1cm4gbnVsbH1yZXR1cm4gci5yZXRyeSYmKGNvbnNvbGUubG9nKGBzZXJ2ZXIgcmVxdWVzdGVkIHJldHJ5IGZvciB0aGUgZm9sbG93aW5nIHJlYXNvbjogJHtyLnJldHJ5LnJlYXNvbn1gKSxhd2FpdCBQdC5kZWxheUZvcihyLnJldHJ5LndhaXRGb3JNcykscj1hd2FpdCB0aGlzLnBvc3RUck9iamVjdChlLHQpKSxyfX19KTt2YXIgd289e307bHQod28se1R5cGVkSGFuZGxlcjooKT0+d2NlLFR5cGVkUmVxdWVzdDooKT0+SzksVHlwZWRSZXNwb25zZUVycm9yOigpPT5jMSxUeXBlZFJvdXRlcjooKT0+JDMsVHlwZWRUYXJnZXQ6KCk9PlNjZSxWaXJ0dWFsU3RyZWFtOigpPT5kMX0pO3ZhciBNWD1mKCgpPT57a2NlKCk7TWNlKCk7WTkoKTtHaCgpO3pjZSgpO3dYKCl9KTtmdW5jdGlvbiBqMHQoYSl7cmV0dXJuIGEmJnR5cGVvZiBhLnRoZW49PSJmdW5jdGlvbiJ9ZnVuY3Rpb24gejIoYSxlKXtyZXR1cm4gYXx8KGE9MCksbmV3IFByb21pc2UoZnVuY3Rpb24odCl7cmV0dXJuIHNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gdChlKX0sYSl9KX1mdW5jdGlvbiBHMHQoYSxlKXtyZXR1cm4gTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKihlLWErMSkrYSl9ZnVuY3Rpb24gRGwoKXtyZXR1cm4gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpfWZ1bmN0aW9uIEFsKCl7dmFyIGE9RGF0ZS5ub3coKSoxZTM7cmV0dXJuIGE8PUNjZSYmKGE9Q2NlKzEpLENjZT1hLGF9ZnVuY3Rpb24gWTB0KCl7cmV0dXJuIHR5cGVvZiBuYXZpZ2F0b3I8InUiJiZ0eXBlb2YgbmF2aWdhdG9yLmxvY2tzPCJ1IiYmdHlwZW9mIG5hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0PT0iZnVuY3Rpb24ifXZhciBVMHQsVzB0LFZvLENjZSxfMD1mKCgpPT57cyhqMHQsImlzUHJvbWlzZSIpO1UwdD1Qcm9taXNlLnJlc29sdmUoITEpLFcwdD1Qcm9taXNlLnJlc29sdmUoITApLFZvPVByb21pc2UucmVzb2x2ZSgpO3MoejIsInNsZWVwIik7cyhHMHQsInJhbmRvbUludCIpO3MoRGwsInJhbmRvbVRva2VuIik7Q2NlPTA7cyhBbCwibWljcm9TZWNvbmRzIik7cyhZMHQsInN1cHBvcnRzV2ViTG9ja0FQSSIpfSk7ZnVuY3Rpb24gbnZhKGEpe3ZhciBlPXt0aW1lOkFsKCksbWVzc2FnZXNDYWxsYmFjazpudWxsLGJjOm5ldyBCcm9hZGNhc3RDaGFubmVsKGEpLHN1YkZuczpbXX07cmV0dXJuIGUuYmMub25tZXNzYWdlPWZ1bmN0aW9uKHQpe2UubWVzc2FnZXNDYWxsYmFjayYmZS5tZXNzYWdlc0NhbGxiYWNrKHQuZGF0YSl9LGV9ZnVuY3Rpb24gbHZhKGEpe2EuYmMuY2xvc2UoKSxhLnN1YkZucz1bXX1mdW5jdGlvbiBjdmEoYSxlKXt0cnl7cmV0dXJuIGEuYmMucG9zdE1lc3NhZ2UoZSwhMSksVm99Y2F0Y2godCl7cmV0dXJuIFByb21pc2UucmVqZWN0KHQpfX1mdW5jdGlvbiBkdmEoYSxlKXthLm1lc3NhZ2VzQ2FsbGJhY2s9ZX1mdW5jdGlvbiB1dmEoKXtpZih0eXBlb2YgZ2xvYmFsVGhpczwidSImJmdsb2JhbFRoaXMuRGVubyYmZ2xvYmFsVGhpcy5EZW5vLmFyZ3MpcmV0dXJuITA7aWYoKHR5cGVvZiB3aW5kb3c8InUifHx0eXBlb2Ygc2VsZjwidSIpJiZ0eXBlb2YgQnJvYWRjYXN0Q2hhbm5lbD09ImZ1bmN0aW9uIil7aWYoQnJvYWRjYXN0Q2hhbm5lbC5fcHVia2V5KXRocm93IG5ldyBFcnJvcigiQnJvYWRjYXN0Q2hhbm5lbDogRG8gbm90IG92ZXJ3cml0ZSB3aW5kb3cuQnJvYWRjYXN0Q2hhbm5lbCB3aXRoIHRoaXMgbW9kdWxlLCB0aGlzIGlzIG5vdCBhIHBvbHlmaWxsIik7cmV0dXJuITB9ZWxzZSByZXR1cm4hMX1mdW5jdGlvbiBwdmEoKXtyZXR1cm4gMTUwfXZhciBpdmEsb3ZhLEswdCxaMHQ9ZigoKT0+e18wKCk7aXZhPUFsLG92YT0ibmF0aXZlIjtzKG52YSwiY3JlYXRlIik7cyhsdmEsImNsb3NlIik7cyhjdmEsInBvc3RNZXNzYWdlIik7cyhkdmEsIm9uTWVzc2FnZSIpO3ModXZhLCJjYW5CZVVzZWQiKTtzKHB2YSwiYXZlcmFnZVJlc3BvbnNlVGltZSIpO0swdD17Y3JlYXRlOm52YSxjbG9zZTpsdmEsb25NZXNzYWdlOmR2YSxwb3N0TWVzc2FnZTpjdmEsY2FuQmVVc2VkOnV2YSx0eXBlOm92YSxhdmVyYWdlUmVzcG9uc2VUaW1lOnB2YSxtaWNyb1NlY29uZHM6aXZhfX0pO2Z1bmN0aW9uIGZ2YShhKXtsZXQgZT1fY2UoKS1hLnR0bCx0PWEubWFwW1N5bWJvbC5pdGVyYXRvcl0oKTtmb3IoOzspe2xldCByPXQubmV4dCgpLnZhbHVlO2lmKCFyKWJyZWFrO2xldCBpPXJbMF07aWYoclsxXTxlKWEubWFwLmRlbGV0ZShpKTtlbHNlIGJyZWFrfX1mdW5jdGlvbiBfY2UoKXtyZXR1cm4gRGF0ZS5ub3coKX12YXIgWWgsVGNlPWYoKCk9PntZaD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJPYmxpdmlvdXNTZXQiKX10dGw7bWFwPW5ldyBNYXA7X3RvPSExO2NvbnN0cnVjdG9yKGUpe3RoaXMudHRsPWV9aGFzKGUpe2xldCB0PXRoaXMubWFwLmdldChlKTtyZXR1cm4gdHlwZW9mIHQ+InUiPyExOnQ8X2NlKCktdGhpcy50dGw/KHRoaXMubWFwLmRlbGV0ZShlKSwhMSk6ITB9YWRkKGUpe3RoaXMubWFwLmRlbGV0ZShlKSx0aGlzLm1hcC5zZXQoZSxfY2UoKSksdGhpcy5fdG98fCh0aGlzLl90bz0hMCxzZXRUaW1lb3V0KCgpPT57dGhpcy5fdG89ITEsZnZhKHRoaXMpfSwwKSl9Y2xlYXIoKXt0aGlzLm1hcC5jbGVhcigpfX07cyhmdmEsInJlbW92ZVRvb09sZFZhbHVlcyIpO3MoX2NlLCJub3ciKX0pO2Z1bmN0aW9uIEQzKCl7dmFyIGE9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT12b2lkIDA/YXJndW1lbnRzWzBdOnt9LGU9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhKSk7cmV0dXJuIHR5cGVvZiBlLndlYldvcmtlclN1cHBvcnQ+InUiJiYoZS53ZWJXb3JrZXJTdXBwb3J0PSEwKSxlLmlkYnx8KGUuaWRiPXt9KSxlLmlkYi50dGx8fChlLmlkYi50dGw9MWUzKjQ1KSxlLmlkYi5mYWxsYmFja0ludGVydmFsfHwoZS5pZGIuZmFsbGJhY2tJbnRlcnZhbD0xNTApLGEuaWRiJiZ0eXBlb2YgYS5pZGIub25jbG9zZT09ImZ1bmN0aW9uIiYmKGUuaWRiLm9uY2xvc2U9YS5pZGIub25jbG9zZSksZS5sb2NhbHN0b3JhZ2V8fChlLmxvY2Fsc3RvcmFnZT17fSksZS5sb2NhbHN0b3JhZ2UucmVtb3ZlVGltZW91dHx8KGUubG9jYWxzdG9yYWdlLnJlbW92ZVRpbWVvdXQ9MWUzKjYwKSxhLm1ldGhvZHMmJihlLm1ldGhvZHM9YS5tZXRob2RzKSxlLm5vZGV8fChlLm5vZGU9e30pLGUubm9kZS50dGx8fChlLm5vZGUudHRsPTFlMyo2MCoyKSxlLm5vZGUubWF4UGFyYWxsZWxXcml0ZXN8fChlLm5vZGUubWF4UGFyYWxsZWxXcml0ZXM9MjA0OCksdHlwZW9mIGUubm9kZS51c2VGYXN0UGF0aD4idSImJihlLm5vZGUudXNlRmFzdFBhdGg9ITApLGV9dmFyIGtYPWYoKCk9PntzKEQzLCJmaWxsT3B0aW9uc1dpdGhEZWZhdWx0cyIpfSk7ZnVuY3Rpb24gWDB0KCl7aWYodHlwZW9mIGluZGV4ZWREQjwidSIpcmV0dXJuIGluZGV4ZWREQjtpZih0eXBlb2Ygd2luZG93PCJ1Iil7aWYodHlwZW9mIHdpbmRvdy5tb3pJbmRleGVkREI8InUiKXJldHVybiB3aW5kb3cubW96SW5kZXhlZERCO2lmKHR5cGVvZiB3aW5kb3cud2Via2l0SW5kZXhlZERCPCJ1IilyZXR1cm4gd2luZG93LndlYmtpdEluZGV4ZWREQjtpZih0eXBlb2Ygd2luZG93Lm1zSW5kZXhlZERCPCJ1IilyZXR1cm4gd2luZG93Lm1zSW5kZXhlZERCfXJldHVybiExfWZ1bmN0aW9uIFNYKGEpe2EuY29tbWl0JiZhLmNvbW1pdCgpfWZ1bmN0aW9uIGJ2YShhKXt2YXIgZT1YMHQoKSx0PW12YSthLHI9ZS5vcGVuKHQpO3JldHVybiByLm9udXBncmFkZW5lZWRlZD1mdW5jdGlvbihpKXt2YXIgbz1pLnRhcmdldC5yZXN1bHQ7by5jcmVhdGVPYmplY3RTdG9yZSh1MSx7a2V5UGF0aDoiaWQiLGF1dG9JbmNyZW1lbnQ6ITB9KX0sbmV3IFByb21pc2UoZnVuY3Rpb24oaSxvKXtyLm9uZXJyb3I9ZnVuY3Rpb24obil7cmV0dXJuIG8obil9LHIub25zdWNjZXNzPWZ1bmN0aW9uKCl7aShyLnJlc3VsdCl9fSl9ZnVuY3Rpb24gdnZhKGEsZSx0KXt2YXIgcj1EYXRlLm5vdygpLGk9e3V1aWQ6ZSx0aW1lOnIsZGF0YTp0fSxvPWEudHJhbnNhY3Rpb24oW3UxXSwicmVhZHdyaXRlIixaOSk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4sbCl7by5vbmNvbXBsZXRlPWZ1bmN0aW9uKCl7cmV0dXJuIG4oKX0sby5vbmVycm9yPWZ1bmN0aW9uKGMpe3JldHVybiBsKGMpfTt2YXIgZD1vLm9iamVjdFN0b3JlKHUxKTtkLmFkZChpKSxTWChvKX0pfWZ1bmN0aW9uIHhEcihhKXt2YXIgZT1hLnRyYW5zYWN0aW9uKHUxLCJyZWFkb25seSIsWjkpLHQ9ZS5vYmplY3RTdG9yZSh1MSkscj1bXTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24oaSl7dC5vcGVuQ3Vyc29yKCkub25zdWNjZXNzPWZ1bmN0aW9uKG8pe3ZhciBuPW8udGFyZ2V0LnJlc3VsdDtuPyhyLnB1c2gobi52YWx1ZSksbi5jb250aW51ZSgpKTooU1goZSksaShyKSl9fSl9ZnVuY3Rpb24geHZhKGEsZSl7dmFyIHQ9YS50cmFuc2FjdGlvbih1MSwicmVhZG9ubHkiLFo5KSxyPXQub2JqZWN0U3RvcmUodTEpLGk9W10sbz1JREJLZXlSYW5nZS5ib3VuZChlKzEsMS8wKTtpZihyLmdldEFsbCl7dmFyIG49ci5nZXRBbGwobyk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKGQsYyl7bi5vbmVycm9yPWZ1bmN0aW9uKHApe3JldHVybiBjKHApfSxuLm9uc3VjY2Vzcz1mdW5jdGlvbihwKXtkKHAudGFyZ2V0LnJlc3VsdCl9fSl9ZnVuY3Rpb24gbCgpe3RyeXtyZXR1cm4gbz1JREJLZXlSYW5nZS5ib3VuZChlKzEsMS8wKSxyLm9wZW5DdXJzb3Iobyl9Y2F0Y2h7cmV0dXJuIHIub3BlbkN1cnNvcigpfX1yZXR1cm4gcyhsLCJvcGVuQ3Vyc29yIiksbmV3IFByb21pc2UoZnVuY3Rpb24oZCxjKXt2YXIgcD1sKCk7cC5vbmVycm9yPWZ1bmN0aW9uKHUpe3JldHVybiBjKHUpfSxwLm9uc3VjY2Vzcz1mdW5jdGlvbih1KXt2YXIgbT11LnRhcmdldC5yZXN1bHQ7bT9tLnZhbHVlLmlkPGUrMT9tLmNvbnRpbnVlKGUrMSk6KGkucHVzaChtLnZhbHVlKSxtLmNvbnRpbnVlKCkpOihTWCh0KSxkKGkpKX19KX1mdW5jdGlvbiB5dmEoYSxlKXtpZihhLmNsb3NlZClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTt2YXIgdD1hLmRiLnRyYW5zYWN0aW9uKHUxLCJyZWFkd3JpdGUiLFo5KSxyPXQub2JqZWN0U3RvcmUodTEpO3JldHVybiBQcm9taXNlLmFsbChlLm1hcChmdW5jdGlvbihpKXt2YXIgbz1yLmRlbGV0ZShpKTtyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24obil7by5vbnN1Y2Nlc3M9ZnVuY3Rpb24oKXtyZXR1cm4gbigpfX0pfSkpfWZ1bmN0aW9uIHd2YShhLGUpe3ZhciB0PURhdGUubm93KCktZSxyPWEudHJhbnNhY3Rpb24odTEsInJlYWRvbmx5IixaOSksaT1yLm9iamVjdFN0b3JlKHUxKSxvPVtdO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihuKXtpLm9wZW5DdXJzb3IoKS5vbnN1Y2Nlc3M9ZnVuY3Rpb24obCl7dmFyIGQ9bC50YXJnZXQucmVzdWx0O2lmKGQpe3ZhciBjPWQudmFsdWU7Yy50aW1lPHQ/KG8ucHVzaChjKSxkLmNvbnRpbnVlKCkpOihTWChyKSxuKG8pKX1lbHNlIG4obyl9fSl9ZnVuY3Rpb24gTXZhKGEpe3JldHVybiB3dmEoYS5kYixhLm9wdGlvbnMuaWRiLnR0bCkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4geXZhKGEsZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuaWR9KSl9KX1mdW5jdGlvbiBrdmEoYSxlKXtyZXR1cm4gZT1EMyhlKSxidmEoYSkudGhlbihmdW5jdGlvbih0KXt2YXIgcj17Y2xvc2VkOiExLGxhc3RDdXJzb3JJZDowLGNoYW5uZWxOYW1lOmEsb3B0aW9uczplLHV1aWQ6RGwoKSxlTUlzOm5ldyBZaChlLmlkYi50dGwqMiksd3JpdGVCbG9ja1Byb21pc2U6Vm8sbWVzc2FnZXNDYWxsYmFjazpudWxsLHJlYWRRdWV1ZVByb21pc2VzOltdLGRiOnR9O3JldHVybiB0Lm9uY2xvc2U9ZnVuY3Rpb24oKXtyLmNsb3NlZD0hMCxlLmlkYi5vbmNsb3NlJiZlLmlkYi5vbmNsb3NlKCl9LFEwdChyKSxyfSl9ZnVuY3Rpb24gUTB0KGEpe2EuY2xvc2VkfHxKMHQoYSkudGhlbihmdW5jdGlvbigpe3JldHVybiB6MihhLm9wdGlvbnMuaWRiLmZhbGxiYWNrSW50ZXJ2YWwpfSkudGhlbihmdW5jdGlvbigpe3JldHVybiBRMHQoYSl9KX1mdW5jdGlvbiBTdmEoYSxlKXtyZXR1cm4hKGEudXVpZD09PWUudXVpZHx8ZS5lTUlzLmhhcyhhLmlkKXx8YS5kYXRhLnRpbWU8ZS5tZXNzYWdlc0NhbGxiYWNrVGltZSl9ZnVuY3Rpb24gSjB0KGEpe3JldHVybiBhLmNsb3NlZD9WbzphLm1lc3NhZ2VzQ2FsbGJhY2s/eHZhKGEuZGIsYS5sYXN0Q3Vyc29ySWQpLnRoZW4oZnVuY3Rpb24oZSl7dmFyIHQ9ZS5maWx0ZXIoZnVuY3Rpb24ocil7cmV0dXJuISFyfSkubWFwKGZ1bmN0aW9uKHIpe3JldHVybiByLmlkPmEubGFzdEN1cnNvcklkJiYoYS5sYXN0Q3Vyc29ySWQ9ci5pZCkscn0pLmZpbHRlcihmdW5jdGlvbihyKXtyZXR1cm4gU3ZhKHIsYSl9KS5zb3J0KGZ1bmN0aW9uKHIsaSl7cmV0dXJuIHIudGltZS1pLnRpbWV9KTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHIpe2EubWVzc2FnZXNDYWxsYmFjayYmKGEuZU1Jcy5hZGQoci5pZCksYS5tZXNzYWdlc0NhbGxiYWNrKHIuZGF0YSkpfSksVm99KTpWb31mdW5jdGlvbiB6dmEoYSl7YS5jbG9zZWQ9ITAsYS5kYi5jbG9zZSgpfWZ1bmN0aW9uIEN2YShhLGUpe3JldHVybiBhLndyaXRlQmxvY2tQcm9taXNlPWEud3JpdGVCbG9ja1Byb21pc2UudGhlbihmdW5jdGlvbigpe3JldHVybiB2dmEoYS5kYixhLnV1aWQsZSl9KS50aGVuKGZ1bmN0aW9uKCl7RzB0KDAsMTApPT09MCYmTXZhKGEpfSksYS53cml0ZUJsb2NrUHJvbWlzZX1mdW5jdGlvbiBfdmEoYSxlLHQpe2EubWVzc2FnZXNDYWxsYmFja1RpbWU9dCxhLm1lc3NhZ2VzQ2FsbGJhY2s9ZSxKMHQoYSl9ZnVuY3Rpb24gVHZhKCl7cmV0dXJuISFYMHQoKX1mdW5jdGlvbiBMdmEoYSl7cmV0dXJuIGEuaWRiLmZhbGxiYWNrSW50ZXJ2YWwqMn12YXIgaHZhLG12YSx1MSxaOSxndmEsZTR0LHQ0dD1mKCgpPT57XzAoKTtUY2UoKTtrWCgpO2h2YT1BbCxtdmE9InB1YmtleS5icm9hZGNhc3QtY2hhbm5lbC0wLSIsdTE9Im1lc3NhZ2VzIixaOT17ZHVyYWJpbGl0eToicmVsYXhlZCJ9LGd2YT0iaWRiIjtzKFgwdCwiZ2V0SWRiIik7cyhTWCwiY29tbWl0SW5kZXhlZERCVHJhbnNhY3Rpb24iKTtzKGJ2YSwiY3JlYXRlRGF0YWJhc2UiKTtzKHZ2YSwid3JpdGVNZXNzYWdlIik7cyh4RHIsImdldEFsbE1lc3NhZ2VzIik7cyh4dmEsImdldE1lc3NhZ2VzSGlnaGVyVGhhbiIpO3MoeXZhLCJyZW1vdmVNZXNzYWdlc0J5SWQiKTtzKHd2YSwiZ2V0T2xkTWVzc2FnZXMiKTtzKE12YSwiY2xlYW5PbGRNZXNzYWdlcyIpO3Moa3ZhLCJjcmVhdGUiKTtzKFEwdCwiX3JlYWRMb29wIik7cyhTdmEsIl9maWx0ZXJNZXNzYWdlIik7cyhKMHQsInJlYWROZXdNZXNzYWdlcyIpO3MoenZhLCJjbG9zZSIpO3MoQ3ZhLCJwb3N0TWVzc2FnZSIpO3MoX3ZhLCJvbk1lc3NhZ2UiKTtzKFR2YSwiY2FuQmVVc2VkIik7cyhMdmEsImF2ZXJhZ2VSZXNwb25zZVRpbWUiKTtlNHQ9e2NyZWF0ZTprdmEsY2xvc2U6enZhLG9uTWVzc2FnZTpfdmEscG9zdE1lc3NhZ2U6Q3ZhLGNhbkJlVXNlZDpUdmEsdHlwZTpndmEsYXZlcmFnZVJlc3BvbnNlVGltZTpMdmEsbWljcm9TZWNvbmRzOmh2YX19KTtmdW5jdGlvbiBhNHQoKXt2YXIgYTtpZih0eXBlb2Ygd2luZG93PiJ1IilyZXR1cm4gbnVsbDt0cnl7YT13aW5kb3cubG9jYWxTdG9yYWdlLGE9d2luZG93WyJpZTgtZXZlbnRsaXN0ZW5lci9zdG9yYWdlIl18fHdpbmRvdy5sb2NhbFN0b3JhZ2V9Y2F0Y2h7fXJldHVybiBhfWZ1bmN0aW9uIHI0dChhKXtyZXR1cm4gRHZhK2F9ZnVuY3Rpb24gRXZhKGEsZSl7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHQpe3oyKCkudGhlbihmdW5jdGlvbigpe3ZhciByPXI0dChhLmNoYW5uZWxOYW1lKSxpPXt0b2tlbjpEbCgpLHRpbWU6RGF0ZS5ub3coKSxkYXRhOmUsdXVpZDphLnV1aWR9LG89SlNPTi5zdHJpbmdpZnkoaSk7YTR0KCkuc2V0SXRlbShyLG8pO3ZhciBuPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpO24uaW5pdEV2ZW50KCJzdG9yYWdlIiwhMCwhMCksbi5rZXk9cixuLm5ld1ZhbHVlPW8sd2luZG93LmRpc3BhdGNoRXZlbnQobiksdCgpfSl9KX1mdW5jdGlvbiBQdmEoYSxlKXt2YXIgdD1yNHQoYSkscj1zKGZ1bmN0aW9uKG8pe28ua2V5PT09dCYmZShKU09OLnBhcnNlKG8ubmV3VmFsdWUpKX0sImxpc3RlbmVyIik7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzdG9yYWdlIixyKSxyfWZ1bmN0aW9uIEl2YShhKXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic3RvcmFnZSIsYSl9ZnVuY3Rpb24gTnZhKGEsZSl7aWYoZT1EMyhlKSwhczR0KCkpdGhyb3cgbmV3IEVycm9yKCJCcm9hZGNhc3RDaGFubmVsOiBsb2NhbHN0b3JhZ2UgY2Fubm90IGJlIHVzZWQiKTt2YXIgdD1EbCgpLHI9bmV3IFloKGUubG9jYWxzdG9yYWdlLnJlbW92ZVRpbWVvdXQpLGk9e2NoYW5uZWxOYW1lOmEsdXVpZDp0LGVNSXM6cn07cmV0dXJuIGkubGlzdGVuZXI9UHZhKGEsZnVuY3Rpb24obyl7aS5tZXNzYWdlc0NhbGxiYWNrJiZvLnV1aWQhPT10JiYoIW8udG9rZW58fHIuaGFzKG8udG9rZW4pfHxvLmRhdGEudGltZSYmby5kYXRhLnRpbWU8aS5tZXNzYWdlc0NhbGxiYWNrVGltZXx8KHIuYWRkKG8udG9rZW4pLGkubWVzc2FnZXNDYWxsYmFjayhvLmRhdGEpKSl9KSxpfWZ1bmN0aW9uIFJ2YShhKXtJdmEoYS5saXN0ZW5lcil9ZnVuY3Rpb24gT3ZhKGEsZSx0KXthLm1lc3NhZ2VzQ2FsbGJhY2tUaW1lPXQsYS5tZXNzYWdlc0NhbGxiYWNrPWV9ZnVuY3Rpb24gczR0KCl7dmFyIGE9YTR0KCk7aWYoIWEpcmV0dXJuITE7dHJ5e3ZhciBlPSJfX2Jyb2FkY2FzdGNoYW5uZWxfY2hlY2siO2Euc2V0SXRlbShlLCJ3b3JrcyIpLGEucmVtb3ZlSXRlbShlKX1jYXRjaHtyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBGdmEoKXt2YXIgYT0xMjAsZT1uYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCk7cmV0dXJuIGUuaW5jbHVkZXMoInNhZmFyaSIpJiYhZS5pbmNsdWRlcygiY2hyb21lIik/YSoyOmF9dmFyICR2YSxEdmEsQXZhLGk0dCxvNHQ9ZigoKT0+e1RjZSgpO2tYKCk7XzAoKTskdmE9QWwsRHZhPSJwdWJrZXkuYnJvYWRjYXN0Q2hhbm5lbC0iLEF2YT0ibG9jYWxzdG9yYWdlIjtzKGE0dCwiZ2V0TG9jYWxTdG9yYWdlIik7cyhyNHQsInN0b3JhZ2VLZXkiKTtzKEV2YSwicG9zdE1lc3NhZ2UiKTtzKFB2YSwiYWRkU3RvcmFnZUV2ZW50TGlzdGVuZXIiKTtzKEl2YSwicmVtb3ZlU3RvcmFnZUV2ZW50TGlzdGVuZXIiKTtzKE52YSwiY3JlYXRlIik7cyhSdmEsImNsb3NlIik7cyhPdmEsIm9uTWVzc2FnZSIpO3MoczR0LCJjYW5CZVVzZWQiKTtzKEZ2YSwiYXZlcmFnZVJlc3BvbnNlVGltZSIpO2k0dD17Y3JlYXRlOk52YSxjbG9zZTpSdmEsb25NZXNzYWdlOk92YSxwb3N0TWVzc2FnZTpFdmEsY2FuQmVVc2VkOnM0dCx0eXBlOkF2YSxhdmVyYWdlUmVzcG9uc2VUaW1lOkZ2YSxtaWNyb1NlY29uZHM6JHZhfX0pO2Z1bmN0aW9uIEh2YShhKXt2YXIgZT17dGltZTpuNHQoKSxuYW1lOmEsbWVzc2FnZXNDYWxsYmFjazpudWxsfTtyZXR1cm4gTGNlLmFkZChlKSxlfWZ1bmN0aW9uIHF2YShhKXtMY2UuZGVsZXRlKGEpfWZ1bmN0aW9uIFZ2YShhLGUpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih0KXtyZXR1cm4gc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciByPUFycmF5LmZyb20oTGNlKTtyLmZvckVhY2goZnVuY3Rpb24oaSl7aS5uYW1lPT09YS5uYW1lJiZpIT09YSYmaS5tZXNzYWdlc0NhbGxiYWNrJiZpLnRpbWU8ZS50aW1lJiZpLm1lc3NhZ2VzQ2FsbGJhY2soZSl9KSx0KCl9LGw0dCl9KX1mdW5jdGlvbiBqdmEoYSxlKXthLm1lc3NhZ2VzQ2FsbGJhY2s9ZX1mdW5jdGlvbiBVdmEoKXtyZXR1cm4hMH1mdW5jdGlvbiBXdmEoKXtyZXR1cm4gbDR0fXZhciBuNHQsQnZhLExjZSxsNHQsYzR0LGQ0dD1mKCgpPT57XzAoKTtuNHQ9QWwsQnZhPSJzaW11bGF0ZSIsTGNlPW5ldyBTZXQ7cyhIdmEsImNyZWF0ZSIpO3MocXZhLCJjbG9zZSIpO2w0dD01O3MoVnZhLCJwb3N0TWVzc2FnZSIpO3MoanZhLCJvbk1lc3NhZ2UiKTtzKFV2YSwiY2FuQmVVc2VkIik7cyhXdmEsImF2ZXJhZ2VSZXNwb25zZVRpbWUiKTtjNHQ9e2NyZWF0ZTpIdmEsY2xvc2U6cXZhLG9uTWVzc2FnZTpqdmEscG9zdE1lc3NhZ2U6VnZhLGNhbkJlVXNlZDpVdmEsdHlwZTpCdmEsYXZlcmFnZVJlc3BvbnNlVGltZTpXdmEsbWljcm9TZWNvbmRzOm40dH19KTtmdW5jdGlvbiAkY2UoYSl7dmFyIGU9W10uY29uY2F0KGEubWV0aG9kcyx1NHQpLmZpbHRlcihCb29sZWFuKTtpZihhLnR5cGUpe2lmKGEudHlwZT09PSJzaW11bGF0ZSIpcmV0dXJuIGM0dDt2YXIgdD1lLmZpbmQoZnVuY3Rpb24oaSl7cmV0dXJuIGkudHlwZT09PWEudHlwZX0pO2lmKHQpcmV0dXJuIHQ7dGhyb3cgbmV3IEVycm9yKCJtZXRob2QtdHlwZSAiK2EudHlwZSsiIG5vdCBmb3VuZCIpfWEud2ViV29ya2VyU3VwcG9ydHx8KGU9ZS5maWx0ZXIoZnVuY3Rpb24oaSl7cmV0dXJuIGkudHlwZSE9PSJpZGIifSkpO3ZhciByPWUuZmluZChmdW5jdGlvbihpKXtyZXR1cm4gaS5jYW5CZVVzZWQoKX0pO2lmKHIpcmV0dXJuIHI7dGhyb3cgbmV3IEVycm9yKCJObyB1c2FibGUgbWV0aG9kIGZvdW5kIGluICIrSlNPTi5zdHJpbmdpZnkodTR0Lm1hcChmdW5jdGlvbihpKXtyZXR1cm4gaS50eXBlfSkpKX12YXIgdTR0LHA0dD1mKCgpPT57WjB0KCk7dDR0KCk7bzR0KCk7ZDR0KCk7dTR0PVtLMHQsZTR0LGk0dF07cygkY2UsImNob29zZU1ldGhvZCIpfSk7ZnVuY3Rpb24gWXZhKGEpe2E9RDMoYSk7dmFyIGU9JGNlKGEpO3JldHVybiBlLnR5cGU9PT0ibm9kZSI/ZS5jbGVhck5vZGVGb2xkZXIoKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuITB9KTpVMHR9ZnVuY3Rpb24gS3ZhKGEpe0RjZT1hfWZ1bmN0aW9uIGY0dChhLGUsdCl7dmFyIHI9YS5tZXRob2QubWljcm9TZWNvbmRzKCksaT17dGltZTpyLHR5cGU6ZSxkYXRhOnR9LG89YS5fcHJlcFA/YS5fcHJlcFA6Vm87cmV0dXJuIG8udGhlbihmdW5jdGlvbigpe3ZhciBuPWEubWV0aG9kLnBvc3RNZXNzYWdlKGEuX3N0YXRlLGkpO3JldHVybiBhLl91TVAuYWRkKG4pLG4uY2F0Y2goKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGEuX3VNUC5kZWxldGUobil9KSxufSl9ZnVuY3Rpb24gWnZhKGEpe3ZhciBlPWEubWV0aG9kLmNyZWF0ZShhLm5hbWUsYS5vcHRpb25zKTtqMHQoZSk/KGEuX3ByZXBQPWUsZS50aGVuKGZ1bmN0aW9uKHQpe2EuX3N0YXRlPXR9KSk6YS5fc3RhdGU9ZX1mdW5jdGlvbiBoNHQoYSl7cmV0dXJuIGEuX2FkZEVMLm1lc3NhZ2UubGVuZ3RoPjB8fGEuX2FkZEVMLmludGVybmFsLmxlbmd0aD4wfWZ1bmN0aW9uIG00dChhLGUsdCl7YS5fYWRkRUxbZV0ucHVzaCh0KSxYdmEoYSl9ZnVuY3Rpb24gZzR0KGEsZSx0KXthLl9hZGRFTFtlXT1hLl9hZGRFTFtlXS5maWx0ZXIoZnVuY3Rpb24ocil7cmV0dXJuIHIhPT10fSksUXZhKGEpfWZ1bmN0aW9uIFh2YShhKXtpZighYS5faUwmJmg0dChhKSl7dmFyIGU9cyhmdW5jdGlvbihpKXthLl9hZGRFTFtpLnR5cGVdLmZvckVhY2goZnVuY3Rpb24obyl7aS50aW1lPj1vLnRpbWUmJm8uZm4oaS5kYXRhKX0pfSwibGlzdGVuZXJGbiIpLHQ9YS5tZXRob2QubWljcm9TZWNvbmRzKCk7YS5fcHJlcFA/YS5fcHJlcFAudGhlbihmdW5jdGlvbigpe2EuX2lMPSEwLGEubWV0aG9kLm9uTWVzc2FnZShhLl9zdGF0ZSxlLHQpfSk6KGEuX2lMPSEwLGEubWV0aG9kLm9uTWVzc2FnZShhLl9zdGF0ZSxlLHQpKX19ZnVuY3Rpb24gUXZhKGEpe2lmKGEuX2lMJiYhaDR0KGEpKXthLl9pTD0hMTt2YXIgZT1hLm1ldGhvZC5taWNyb1NlY29uZHMoKTthLm1ldGhvZC5vbk1lc3NhZ2UoYS5fc3RhdGUsbnVsbCxlKX19dmFyIEFjZSxHdmEsQTMsRGNlLGI0dD1mKCgpPT57XzAoKTtwNHQoKTtrWCgpO0FjZT1uZXcgU2V0LEd2YT0wLEEzPXMoZnVuY3Rpb24oZSx0KXt0aGlzLmlkPUd2YSsrLEFjZS5hZGQodGhpcyksdGhpcy5uYW1lPWUsRGNlJiYodD1EY2UpLHRoaXMub3B0aW9ucz1EMyh0KSx0aGlzLm1ldGhvZD0kY2UodGhpcy5vcHRpb25zKSx0aGlzLl9pTD0hMSx0aGlzLl9vbk1MPW51bGwsdGhpcy5fYWRkRUw9e21lc3NhZ2U6W10saW50ZXJuYWw6W119LHRoaXMuX3VNUD1uZXcgU2V0LHRoaXMuX2JlZkM9W10sdGhpcy5fcHJlcFA9bnVsbCxadmEodGhpcyl9LCJCcm9hZGNhc3RDaGFubmVsIik7QTMuX3B1YmtleT0hMDtzKFl2YSwiY2xlYXJOb2RlRm9sZGVyIik7cyhLdmEsImVuZm9yY2VPcHRpb25zIiksQTMucHJvdG90eXBlPXtwb3N0TWVzc2FnZTpzKGZ1bmN0aW9uKGUpe2lmKHRoaXMuY2xvc2VkKXRocm93IG5ldyBFcnJvcigiQnJvYWRjYXN0Q2hhbm5lbC5wb3N0TWVzc2FnZSgpOiBDYW5ub3QgcG9zdCBtZXNzYWdlIGFmdGVyIGNoYW5uZWwgaGFzIGNsb3NlZCAiK0pTT04uc3RyaW5naWZ5KGUpKTtyZXR1cm4gZjR0KHRoaXMsIm1lc3NhZ2UiLGUpfSwicG9zdE1lc3NhZ2UiKSxwb3N0SW50ZXJuYWw6cyhmdW5jdGlvbihlKXtyZXR1cm4gZjR0KHRoaXMsImludGVybmFsIixlKX0sInBvc3RJbnRlcm5hbCIpLHNldCBvbm1lc3NhZ2UoYSl7dmFyIGU9dGhpcy5tZXRob2QubWljcm9TZWNvbmRzKCksdD17dGltZTplLGZuOmF9O2c0dCh0aGlzLCJtZXNzYWdlIix0aGlzLl9vbk1MKSxhJiZ0eXBlb2YgYT09ImZ1bmN0aW9uIj8odGhpcy5fb25NTD10LG00dCh0aGlzLCJtZXNzYWdlIix0KSk6dGhpcy5fb25NTD1udWxsfSxhZGRFdmVudExpc3RlbmVyOnMoZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLm1ldGhvZC5taWNyb1NlY29uZHMoKSxpPXt0aW1lOnIsZm46dH07bTR0KHRoaXMsZSxpKX0sImFkZEV2ZW50TGlzdGVuZXIiKSxyZW1vdmVFdmVudExpc3RlbmVyOnMoZnVuY3Rpb24oZSx0KXt2YXIgcj10aGlzLl9hZGRFTFtlXS5maW5kKGZ1bmN0aW9uKGkpe3JldHVybiBpLmZuPT09dH0pO2c0dCh0aGlzLGUscil9LCJyZW1vdmVFdmVudExpc3RlbmVyIiksY2xvc2U6cyhmdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoIXRoaXMuY2xvc2VkKXtBY2UuZGVsZXRlKHRoaXMpLHRoaXMuY2xvc2VkPSEwO3ZhciB0PXRoaXMuX3ByZXBQP3RoaXMuX3ByZXBQOlZvO3JldHVybiB0aGlzLl9vbk1MPW51bGwsdGhpcy5fYWRkRUwubWVzc2FnZT1bXSx0LnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5hbGwoQXJyYXkuZnJvbShlLl91TVApKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5hbGwoZS5fYmVmQy5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIHIoKX0pKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZS5tZXRob2QuY2xvc2UoZS5fc3RhdGUpfSl9fSwiY2xvc2UiKSxnZXQgdHlwZSgpe3JldHVybiB0aGlzLm1ldGhvZC50eXBlfSxnZXQgaXNDbG9zZWQoKXtyZXR1cm4gdGhpcy5jbG9zZWR9fTtzKGY0dCwiX3Bvc3QiKTtzKFp2YSwiX3ByZXBhcmVDaGFubmVsIik7cyhoNHQsIl9oYXNNZXNzYWdlTGlzdGVuZXJzIik7cyhtNHQsIl9hZGRMaXN0ZW5lck9iamVjdCIpO3MoZzR0LCJfcmVtb3ZlTGlzdGVuZXJPYmplY3QiKTtzKFh2YSwiX3N0YXJ0TGlzdGVuaW5nIik7cyhRdmEsIl9zdG9wTGlzdGVuaW5nIil9KTtmdW5jdGlvbiB2NHQoYSl7aWYodHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlPT0iZnVuY3Rpb24iJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGUpe3ZhciBlPXNlbGYuY2xvc2UuYmluZChzZWxmKTtzZWxmLmNsb3NlPWZ1bmN0aW9uKCl7cmV0dXJuIGEoKSxlKCl9fWVsc2V7aWYodHlwZW9mIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyIT0iZnVuY3Rpb24iKXJldHVybjt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiYmVmb3JldW5sb2FkIixmdW5jdGlvbigpe2EoKX0sITApLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ1bmxvYWQiLGZ1bmN0aW9uKCl7YSgpfSwhMCl9fXZhciB4NHQ9ZigoKT0+e3ModjR0LCJhZGRCcm93c2VyIil9KTtmdW5jdGlvbiB5NHQoYSl7cHJvY2Vzcy5vbigiZXhpdCIsZnVuY3Rpb24oKXtyZXR1cm4gYSgpfSkscHJvY2Vzcy5vbigiYmVmb3JlRXhpdCIsZnVuY3Rpb24oKXtyZXR1cm4gYSgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gcHJvY2Vzcy5leGl0KCl9KX0pLHByb2Nlc3Mub24oIlNJR0lOVCIsZnVuY3Rpb24oKXtyZXR1cm4gYSgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gcHJvY2Vzcy5leGl0KCl9KX0pLHByb2Nlc3Mub24oInVuY2F1Z2h0RXhjZXB0aW9uIixmdW5jdGlvbihlKXtyZXR1cm4gYSgpLnRoZW4oZnVuY3Rpb24oKXtjb25zb2xlLnRyYWNlKGUpLHByb2Nlc3MuZXhpdCgxMDEpfSl9KX12YXIgdzR0PWYoKCk9PntzKHk0dCwiYWRkTm9kZSIpfSk7ZnVuY3Rpb24gdHhhKCl7TTR0fHwoTTR0PSEwLGV4YShheGEpKX1mdW5jdGlvbiBrNHQoYSl7aWYodHhhKCksdHlwZW9mIGEhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IEVycm9yKCJMaXN0ZW5lciBpcyBubyBmdW5jdGlvbiIpO0UzLmFkZChhKTt2YXIgZT17cmVtb3ZlOnMoZnVuY3Rpb24oKXtyZXR1cm4gRTMuZGVsZXRlKGEpfSwicmVtb3ZlIikscnVuOnMoZnVuY3Rpb24oKXtyZXR1cm4gRTMuZGVsZXRlKGEpLGEoKX0sInJ1biIpfTtyZXR1cm4gZX1mdW5jdGlvbiBheGEoKXt2YXIgYT1bXTtyZXR1cm4gRTMuZm9yRWFjaChmdW5jdGlvbihlKXthLnB1c2goZSgpKSxFMy5kZWxldGUoZSl9KSxQcm9taXNlLmFsbChhKX1mdW5jdGlvbiBHRHIoKXtFMy5jbGVhcigpfWZ1bmN0aW9uIFlEcigpe3JldHVybiBFMy5zaXplfXZhciBKdmEsZXhhLEUzLE00dCxTNHQ9ZigoKT0+e3g0dCgpO3c0dCgpO0p2YT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodHlwZW9mIHByb2Nlc3M8InUiP3Byb2Nlc3M6MCk9PT0iW29iamVjdCBwcm9jZXNzXSIsZXhhPUp2YT95NHQ6djR0LEUzPW5ldyBTZXQsTTR0PSExO3ModHhhLCJzdGFydExpc3RlbmluZyIpO3MoazR0LCJhZGQiKTtzKGF4YSwicnVuQWxsIik7cyhHRHIsInJlbW92ZUFsbCIpO3MoWURyLCJnZXRTaXplIil9KTtmdW5jdGlvbiBFbChhLGUpe3ZhciB0PXtjb250ZXh0OiJsZWFkZXIiLGFjdGlvbjplLHRva2VuOmEudG9rZW59O3JldHVybiBhLmJyb2FkY2FzdENoYW5uZWwucG9zdEludGVybmFsKHQpfWZ1bmN0aW9uIFg5KGEpe2EuaXNMZWFkZXI9ITAsYS5faGFzTGVhZGVyPSEwO3ZhciBlPWs0dChmdW5jdGlvbigpe3JldHVybiBhLmRpZSgpfSk7YS5fdW5sLnB1c2goZSk7dmFyIHQ9cyhmdW5jdGlvbihpKXtpLmNvbnRleHQ9PT0ibGVhZGVyIiYmaS5hY3Rpb249PT0iYXBwbHkiJiZFbChhLCJ0ZWxsIiksaS5jb250ZXh0PT09ImxlYWRlciImJmkuYWN0aW9uPT09InRlbGwiJiYhYS5fZHBMQyYmKGEuX2RwTEM9ITAsYS5fZHBMKCksRWwoYSwidGVsbCIpKX0sImlzTGVhZGVyTGlzdGVuZXIiKTtyZXR1cm4gYS5icm9hZGNhc3RDaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoImludGVybmFsIix0KSxhLl9sc3Rucy5wdXNoKHQpLEVsKGEsInRlbGwiKX12YXIgelg9ZigoKT0+e1M0dCgpO3MoRWwsInNlbmRMZWFkZXJNZXNzYWdlIik7cyhYOSwiYmVMZWFkZXIiKX0pO3ZhciBFY2UsejR0LEM0dD1mKCgpPT57XzAoKTt6WCgpO0VjZT1zKGZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpczt0aGlzLmJyb2FkY2FzdENoYW5uZWw9ZSxlLl9iZWZDLnB1c2goZnVuY3Rpb24oKXtyZXR1cm4gci5kaWUoKX0pLHRoaXMuX29wdGlvbnM9dCx0aGlzLmlzTGVhZGVyPSExLHRoaXMuaXNEZWFkPSExLHRoaXMudG9rZW49RGwoKSx0aGlzLl9sc3Rucz1bXSx0aGlzLl91bmw9W10sdGhpcy5fZHBMPWZ1bmN0aW9uKCl7fSx0aGlzLl9kcExDPSExLHRoaXMuX3dLTUM9e30sdGhpcy5sTj0icHVia2V5LWJjfHwiK2UubWV0aG9kLnR5cGUrInx8IitlLm5hbWV9LCJMZWFkZXJFbGVjdGlvbldlYkxvY2siKSx6NHQ9IkxlYWRlckVsZWN0aW9uV2ViTG9jay5kaWUoKSBjYWxsZWQiO0VjZS5wcm90b3R5cGU9e2hhc0xlYWRlcjpzKGZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gbmF2aWdhdG9yLmxvY2tzLnF1ZXJ5KCkudGhlbihmdW5jdGlvbih0KXt2YXIgcj10LmhlbGQ/dC5oZWxkLmZpbHRlcihmdW5jdGlvbihpKXtyZXR1cm4gaS5uYW1lPT09ZS5sTn0pOltdO3JldHVybiEhKHImJnIubGVuZ3RoPjApfSl9LCJoYXNMZWFkZXIiKSxhd2FpdExlYWRlcnNoaXA6cyhmdW5jdGlvbigpe3ZhciBlPXRoaXM7aWYoIXRoaXMuX3dMTVApe3RoaXMuX3dLTUMuYz1uZXcgQWJvcnRDb250cm9sbGVyO3ZhciB0PW5ldyBQcm9taXNlKGZ1bmN0aW9uKHIsaSl7ZS5fd0tNQy5yZXM9cixlLl93S01DLnJlaj1pfSk7dGhpcy5fd0xNUD1uZXcgUHJvbWlzZShmdW5jdGlvbihyLGkpe25hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0KGUubE4se3NpZ25hbDplLl93S01DLmMuc2lnbmFsfSxmdW5jdGlvbigpe3JldHVybiBlLl93S01DLmM9dm9pZCAwLFg5KGUpLHIoKSx0fSkuY2F0Y2goZnVuY3Rpb24obyl7by5tZXNzYWdlJiZvLm1lc3NhZ2U9PT16NHR8fChlLl93S01DLnJlaiYmZS5fd0tNQy5yZWoobyksaShvKSl9KX0pfXJldHVybiB0aGlzLl93TE1QfSwiYXdhaXRMZWFkZXJzaGlwIiksc2V0IG9uZHVwbGljYXRlKGEpe30sZGllOnMoZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiB0aGlzLl9sc3Rucy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiBlLmJyb2FkY2FzdENoYW5uZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLHQpfSksdGhpcy5fbHN0bnM9W10sdGhpcy5fdW5sLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIHQucmVtb3ZlKCl9KSx0aGlzLl91bmw9W10sdGhpcy5pc0xlYWRlciYmKHRoaXMuaXNMZWFkZXI9ITEpLHRoaXMuaXNEZWFkPSEwLHRoaXMuX3dLTUMucmVzJiZ0aGlzLl93S01DLnJlcygpLHRoaXMuX3dLTUMuYyYmdGhpcy5fd0tNQy5jLmFib3J0KG5ldyBFcnJvcih6NHQpKSxFbCh0aGlzLCJkZWF0aCIpfSwiZGllIil9fSk7ZnVuY3Rpb24gcnhhKGEpe3JldHVybiBhLmlzTGVhZGVyP1ZvOm5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3ZhciB0PSExO2Z1bmN0aW9uIHIoKXt0fHwodD0hMCxhLmJyb2FkY2FzdENoYW5uZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLG8pLGUoITApKX1zKHIsImZpbmlzaCIpLGEuYXBwbHlPbmNlKCkudGhlbihmdW5jdGlvbigpe2EuaXNMZWFkZXImJnIoKX0pO3ZhciBpPXMoZnVuY3Rpb24oKXtyZXR1cm4gejIoYS5fb3B0aW9ucy5mYWxsYmFja0ludGVydmFsKS50aGVuKGZ1bmN0aW9uKCl7aWYoIShhLmlzRGVhZHx8dCkpaWYoYS5pc0xlYWRlcilyKCk7ZWxzZSByZXR1cm4gYS5hcHBseU9uY2UoITApLnRoZW4oZnVuY3Rpb24oKXthLmlzTGVhZGVyP3IoKTppKCl9KX0pfSwidHJ5T25GYWxsQmFjayIpO2koKTt2YXIgbz1zKGZ1bmN0aW9uKGwpe2wuY29udGV4dD09PSJsZWFkZXIiJiZsLmFjdGlvbj09PSJkZWF0aCImJihhLl9oYXNMZWFkZXI9ITEsYS5hcHBseU9uY2UoKS50aGVuKGZ1bmN0aW9uKCl7YS5pc0xlYWRlciYmcigpfSkpfSwid2hlbkRlYXRoTGlzdGVuZXIiKTthLmJyb2FkY2FzdENoYW5uZWwuYWRkRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLG8pLGEuX2xzdG5zLnB1c2gobyl9KX1mdW5jdGlvbiBzeGEoYSxlKXtyZXR1cm4gYXx8KGE9e30pLGE9SlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShhKSksYS5mYWxsYmFja0ludGVydmFsfHwoYS5mYWxsYmFja0ludGVydmFsPTNlMyksYS5yZXNwb25zZVRpbWV8fChhLnJlc3BvbnNlVGltZT1lLm1ldGhvZC5hdmVyYWdlUmVzcG9uc2VUaW1lKGUub3B0aW9ucykpLGF9ZnVuY3Rpb24gaXhhKGEsZSl7aWYoYS5fbGVhZGVyRWxlY3Rvcil0aHJvdyBuZXcgRXJyb3IoIkJyb2FkY2FzdENoYW5uZWwgYWxyZWFkeSBoYXMgYSBsZWFkZXItZWxlY3RvciIpO2U9c3hhKGUsYSk7dmFyIHQ9WTB0KCk/bmV3IEVjZShhLGUpOm5ldyBfNHQoYSxlKTtyZXR1cm4gYS5fYmVmQy5wdXNoKGZ1bmN0aW9uKCl7cmV0dXJuIHQuZGllKCl9KSxhLl9sZWFkZXJFbGVjdG9yPXQsdH12YXIgXzR0LFQ0dD1mKCgpPT57XzAoKTt6WCgpO0M0dCgpO180dD1zKGZ1bmN0aW9uKGUsdCl7dmFyIHI9dGhpczt0aGlzLmJyb2FkY2FzdENoYW5uZWw9ZSx0aGlzLl9vcHRpb25zPXQsdGhpcy5pc0xlYWRlcj0hMSx0aGlzLl9oYXNMZWFkZXI9ITEsdGhpcy5pc0RlYWQ9ITEsdGhpcy50b2tlbj1EbCgpLHRoaXMuX2FwbFE9Vm8sdGhpcy5fYXBsUUM9MCx0aGlzLl91bmw9W10sdGhpcy5fbHN0bnM9W10sdGhpcy5fZHBMPWZ1bmN0aW9uKCl7fSx0aGlzLl9kcExDPSExO3ZhciBpPXMoZnVuY3Rpb24obil7bi5jb250ZXh0PT09ImxlYWRlciImJihuLmFjdGlvbj09PSJkZWF0aCImJihyLl9oYXNMZWFkZXI9ITEpLG4uYWN0aW9uPT09InRlbGwiJiYoci5faGFzTGVhZGVyPSEwKSl9LCJoYXNMZWFkZXJMaXN0ZW5lciIpO3RoaXMuYnJvYWRjYXN0Q2hhbm5lbC5hZGRFdmVudExpc3RlbmVyKCJpbnRlcm5hbCIsaSksdGhpcy5fbHN0bnMucHVzaChpKX0sIkxlYWRlckVsZWN0aW9uIik7XzR0LnByb3RvdHlwZT17aGFzTGVhZGVyOnMoZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX2hhc0xlYWRlcil9LCJoYXNMZWFkZXIiKSxhcHBseU9uY2U6cyhmdW5jdGlvbihlKXt2YXIgdD10aGlzO2lmKHRoaXMuaXNMZWFkZXIpcmV0dXJuIHoyKDAsITApO2lmKHRoaXMuaXNEZWFkKXJldHVybiB6MigwLCExKTtpZih0aGlzLl9hcGxRQz4xKXJldHVybiB0aGlzLl9hcGxRO3ZhciByPXMoZnVuY3Rpb24oKXtpZih0LmlzTGVhZGVyKXJldHVybiBXMHQ7dmFyIG89ITEsbixsPW5ldyBQcm9taXNlKGZ1bmN0aW9uKHApe249cyhmdW5jdGlvbigpe289ITAscCgpfSwic3RvcENyaXRlcmlhUHJvbWlzZVJlc29sdmUiKX0pLGQ9cyhmdW5jdGlvbih1KXt1LmNvbnRleHQ9PT0ibGVhZGVyIiYmdS50b2tlbiE9dC50b2tlbiYmKHUuYWN0aW9uPT09ImFwcGx5IiYmdS50b2tlbj50LnRva2VuJiZuKCksdS5hY3Rpb249PT0idGVsbCImJihuKCksdC5faGFzTGVhZGVyPSEwKSl9LCJoYW5kbGVNZXNzYWdlIik7dC5icm9hZGNhc3RDaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoImludGVybmFsIixkKTt2YXIgYz1lP3QuX29wdGlvbnMucmVzcG9uc2VUaW1lKjQ6dC5fb3B0aW9ucy5yZXNwb25zZVRpbWU7cmV0dXJuIEVsKHQsImFwcGx5IikudGhlbihmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJhY2UoW3oyKGMpLGwudGhlbihmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IpfSldKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gRWwodCwiYXBwbHkiKX0pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yYWNlKFt6MihjKSxsLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKX0pXSl9KS5jYXRjaChmdW5jdGlvbigpe30pLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gdC5icm9hZGNhc3RDaGFubmVsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImludGVybmFsIixkKSxvPyExOlg5KHQpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4hMH0pfSl9LCJhcHBseVJ1biIpO3JldHVybiB0aGlzLl9hcGxRQz10aGlzLl9hcGxRQysxLHRoaXMuX2FwbFE9dGhpcy5fYXBsUS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHIoKX0pLnRoZW4oZnVuY3Rpb24oKXt0Ll9hcGxRQz10Ll9hcGxRQy0xfSksdGhpcy5fYXBsUS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIHQuaXNMZWFkZXJ9KX0sImFwcGx5T25jZSIpLGF3YWl0TGVhZGVyc2hpcDpzKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2FMUHx8KHRoaXMuX2FMUD1yeGEodGhpcykpLHRoaXMuX2FMUH0sImF3YWl0TGVhZGVyc2hpcCIpLHNldCBvbmR1cGxpY2F0ZShhKXt0aGlzLl9kcEw9YX0sZGllOnMoZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiB0aGlzLl9sc3Rucy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiBlLmJyb2FkY2FzdENoYW5uZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW50ZXJuYWwiLHQpfSksdGhpcy5fbHN0bnM9W10sdGhpcy5fdW5sLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIHQucmVtb3ZlKCl9KSx0aGlzLl91bmw9W10sdGhpcy5pc0xlYWRlciYmKHRoaXMuX2hhc0xlYWRlcj0hMSx0aGlzLmlzTGVhZGVyPSExKSx0aGlzLmlzRGVhZD0hMCxFbCh0aGlzLCJkZWF0aCIpfSwiZGllIil9O3MocnhhLCJfYXdhaXRMZWFkZXJzaGlwT25jZSIpO3Moc3hhLCJmaWxsT3B0aW9uc1dpdGhEZWZhdWx0cyIpO3MoaXhhLCJjcmVhdGVMZWFkZXJFbGVjdGlvbiIpfSk7dmFyIEw0dD1mKCgpPT57YjR0KCk7VDR0KCk7elgoKX0pO3ZhciAkNHQ9ZigoKT0+e01sKCk7cDMoKTtNWCgpO0w0dCgpfSk7dmFyIFBjZSxJY2UsRDR0PWYoKCk9PnskNHQoKTtQY2U9Z2xvYmFsVGhpcy5Ccm9hZGNhc3RDaGFubmVsO1BjZXx8KFBjZT1BMyk7SWNlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRlZXNDb21tcyIpfWNvbnN0cnVjdG9yKCl7dGhpcy5icm9hZGNhc3RDaGFubmVsPW5ldyBQY2UoImRlZXMtY29tbXMiKSx0aGlzLnR5cGVkcm91dGVyPW5ldyB3by5UeXBlZFJvdXRlcix0aGlzLnR5cGVkdGFyZ2V0PW5ldyB3by5UeXBlZFRhcmdldCh7cG9zdE1ldGhvZFdpdGhUeXBlZFJvdXRlcjpzKGFzeW5jIGU9Pnt0aGlzLnBvc3RNZXNzYWdlKGUpfSwicG9zdE1ldGhvZFdpdGhUeXBlZFJvdXRlciIpLHR5cGVkUm91dGVyUmVmOnRoaXMudHlwZWRyb3V0ZXJ9KSx0aGlzLmJyb2FkY2FzdENoYW5uZWwub25tZXNzYWdlPWFzeW5jIGU9PntsZXQgdD1lLm1ldGhvZD9lOmUuZGF0YTtjb25zb2xlLmxvZyhKU09OLnN0cmluZ2lmeSh0KSk7bGV0IHI9YXdhaXQgdGhpcy50eXBlZHJvdXRlci5yb3V0ZUFuZEFkZFJlc3BvbnNlKHQse3NraXBIb29rczohMH0pO3ImJiFyLmVycm9yJiZ0aGlzLnBvc3RNZXNzYWdlKHIpfX1jcmVhdGVUeXBlZFJlcXVlc3QoZSl7cmV0dXJuIG5ldyB3by5UeXBlZFJlcXVlc3QodGhpcy50eXBlZHRhcmdldCxlKX1hc3luYyBwb3N0TWVzc2FnZShlKXt0aGlzLmJyb2FkY2FzdENoYW5uZWwucG9zdE1lc3NhZ2UoZSl9YXN5bmMgY3JlYXRlVHlwZWRIYW5kbGVyKGUsdCl7dGhpcy50eXBlZHJvdXRlci5hZGRUeXBlZEhhbmRsZXIobmV3IHdvLlR5cGVkSGFuZGxlcihlLHQpKX19fSk7dmFyIFE5PXt9O2x0KFE5LHtEZWVzQ29tbXM6KCk9PkljZX0pO3ZhciBBNHQ9ZigoKT0+e0Q0dCgpfSk7ZnVuY3Rpb24gVGEoYSl7aWYoYSYmdHlwZW9mIGE9PSJvYmplY3QiKXN3aXRjaChhW2tpXSl7Y2FzZSB4bjpjYXNlIEMyOnJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIGRhKGEpe2lmKGEmJnR5cGVvZiBhPT0ib2JqZWN0Iilzd2l0Y2goYVtraV0pe2Nhc2UgSjk6Y2FzZSB4bjpjYXNlIE1vOmNhc2UgQzI6cmV0dXJuITB9cmV0dXJuITF9dmFyIEo5LGVnLHhuLENYLE1vLEMyLGtpLGtvLFNvLHpvLGFhLHF0LENvLHRnLExhPWYoKCk9PntKOT1TeW1ib2wuZm9yKCJ5YW1sLmFsaWFzIiksZWc9U3ltYm9sLmZvcigieWFtbC5kb2N1bWVudCIpLHhuPVN5bWJvbC5mb3IoInlhbWwubWFwIiksQ1g9U3ltYm9sLmZvcigieWFtbC5wYWlyIiksTW89U3ltYm9sLmZvcigieWFtbC5zY2FsYXIiKSxDMj1TeW1ib2wuZm9yKCJ5YW1sLnNlcSIpLGtpPVN5bWJvbC5mb3IoInlhbWwubm9kZS50eXBlIiksa289cyhhPT4hIWEmJnR5cGVvZiBhPT0ib2JqZWN0IiYmYVtraV09PT1KOSwiaXNBbGlhcyIpLFNvPXMoYT0+ISFhJiZ0eXBlb2YgYT09Im9iamVjdCImJmFba2ldPT09ZWcsImlzRG9jdW1lbnQiKSx6bz1zKGE9PiEhYSYmdHlwZW9mIGE9PSJvYmplY3QiJiZhW2tpXT09PXhuLCJpc01hcCIpLGFhPXMoYT0+ISFhJiZ0eXBlb2YgYT09Im9iamVjdCImJmFba2ldPT09Q1gsImlzUGFpciIpLHF0PXMoYT0+ISFhJiZ0eXBlb2YgYT09Im9iamVjdCImJmFba2ldPT09TW8sImlzU2NhbGFyIiksQ289cyhhPT4hIWEmJnR5cGVvZiBhPT0ib2JqZWN0IiYmYVtraV09PT1DMiwiaXNTZXEiKTtzKFRhLCJpc0NvbGxlY3Rpb24iKTtzKGRhLCJpc05vZGUiKTt0Zz1zKGE9PihxdChhKXx8VGEoYSkpJiYhIWEuYW5jaG9yLCJoYXNBbmNob3IiKX0pO2Z1bmN0aW9uIGpvKGEsZSl7bGV0IHQ9UDR0KGUpO1NvKGEpP0toKG51bGwsYS5jb250ZW50cyx0LE9iamVjdC5mcmVlemUoW2FdKSk9PT1fMiYmKGEuY29udGVudHM9bnVsbCk6S2gobnVsbCxhLHQsT2JqZWN0LmZyZWV6ZShbXSkpfWZ1bmN0aW9uIEtoKGEsZSx0LHIpe2xldCBpPUk0dChhLGUsdCxyKTtpZihkYShpKXx8YWEoaSkpcmV0dXJuIE40dChhLHIsaSksS2goYSxpLHQscik7aWYodHlwZW9mIGkhPSJzeW1ib2wiKXtpZihUYShlKSl7cj1PYmplY3QuZnJlZXplKHIuY29uY2F0KGUpKTtmb3IobGV0IG89MDtvPGUuaXRlbXMubGVuZ3RoOysrbyl7bGV0IG49S2gobyxlLml0ZW1zW29dLHQscik7aWYodHlwZW9mIG49PSJudW1iZXIiKW89bi0xO2Vsc2V7aWYobj09PV9vKXJldHVybiBfbztuPT09XzImJihlLml0ZW1zLnNwbGljZShvLDEpLG8tPTEpfX19ZWxzZSBpZihhYShlKSl7cj1PYmplY3QuZnJlZXplKHIuY29uY2F0KGUpKTtsZXQgbz1LaCgia2V5IixlLmtleSx0LHIpO2lmKG89PT1fbylyZXR1cm4gX287bz09PV8yJiYoZS5rZXk9bnVsbCk7bGV0IG49S2goInZhbHVlIixlLnZhbHVlLHQscik7aWYobj09PV9vKXJldHVybiBfbztuPT09XzImJihlLnZhbHVlPW51bGwpfX1yZXR1cm4gaX1hc3luYyBmdW5jdGlvbiBQMyhhLGUpe2xldCB0PVA0dChlKTtTbyhhKT9hd2FpdCBaaChudWxsLGEuY29udGVudHMsdCxPYmplY3QuZnJlZXplKFthXSkpPT09XzImJihhLmNvbnRlbnRzPW51bGwpOmF3YWl0IFpoKG51bGwsYSx0LE9iamVjdC5mcmVlemUoW10pKX1hc3luYyBmdW5jdGlvbiBaaChhLGUsdCxyKXtsZXQgaT1hd2FpdCBJNHQoYSxlLHQscik7aWYoZGEoaSl8fGFhKGkpKXJldHVybiBONHQoYSxyLGkpLFpoKGEsaSx0LHIpO2lmKHR5cGVvZiBpIT0ic3ltYm9sIil7aWYoVGEoZSkpe3I9T2JqZWN0LmZyZWV6ZShyLmNvbmNhdChlKSk7Zm9yKGxldCBvPTA7bzxlLml0ZW1zLmxlbmd0aDsrK28pe2xldCBuPWF3YWl0IFpoKG8sZS5pdGVtc1tvXSx0LHIpO2lmKHR5cGVvZiBuPT0ibnVtYmVyIilvPW4tMTtlbHNle2lmKG49PT1fbylyZXR1cm4gX287bj09PV8yJiYoZS5pdGVtcy5zcGxpY2UobywxKSxvLT0xKX19fWVsc2UgaWYoYWEoZSkpe3I9T2JqZWN0LmZyZWV6ZShyLmNvbmNhdChlKSk7bGV0IG89YXdhaXQgWmgoImtleSIsZS5rZXksdCxyKTtpZihvPT09X28pcmV0dXJuIF9vO289PT1fMiYmKGUua2V5PW51bGwpO2xldCBuPWF3YWl0IFpoKCJ2YWx1ZSIsZS52YWx1ZSx0LHIpO2lmKG49PT1fbylyZXR1cm4gX287bj09PV8yJiYoZS52YWx1ZT1udWxsKX19cmV0dXJuIGl9ZnVuY3Rpb24gUDR0KGEpe3JldHVybiB0eXBlb2YgYT09Im9iamVjdCImJihhLkNvbGxlY3Rpb258fGEuTm9kZXx8YS5WYWx1ZSk/T2JqZWN0LmFzc2lnbih7QWxpYXM6YS5Ob2RlLE1hcDphLk5vZGUsU2NhbGFyOmEuTm9kZSxTZXE6YS5Ob2RlfSxhLlZhbHVlJiZ7TWFwOmEuVmFsdWUsU2NhbGFyOmEuVmFsdWUsU2VxOmEuVmFsdWV9LGEuQ29sbGVjdGlvbiYme01hcDphLkNvbGxlY3Rpb24sU2VxOmEuQ29sbGVjdGlvbn0sYSk6YX1mdW5jdGlvbiBJNHQoYSxlLHQscil7aWYodHlwZW9mIHQ9PSJmdW5jdGlvbiIpcmV0dXJuIHQoYSxlLHIpO2lmKHpvKGUpKXJldHVybiB0Lk1hcD8uKGEsZSxyKTtpZihDbyhlKSlyZXR1cm4gdC5TZXE/LihhLGUscik7aWYoYWEoZSkpcmV0dXJuIHQuUGFpcj8uKGEsZSxyKTtpZihxdChlKSlyZXR1cm4gdC5TY2FsYXI/LihhLGUscik7aWYoa28oZSkpcmV0dXJuIHQuQWxpYXM/LihhLGUscil9ZnVuY3Rpb24gTjR0KGEsZSx0KXtsZXQgcj1lW2UubGVuZ3RoLTFdO2lmKFRhKHIpKXIuaXRlbXNbYV09dDtlbHNlIGlmKGFhKHIpKWE9PT0ia2V5Ij9yLmtleT10OnIudmFsdWU9dDtlbHNlIGlmKFNvKHIpKXIuY29udGVudHM9dDtlbHNle2xldCBpPWtvKHIpPyJhbGlhcyI6InNjYWxhciI7dGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcmVwbGFjZSBub2RlIHdpdGggJHtpfSBwYXJlbnRgKX19dmFyIF9vLEU0dCxfMixhZz1mKCgpPT57TGEoKTtfbz1TeW1ib2woImJyZWFrIHZpc2l0IiksRTR0PVN5bWJvbCgic2tpcCBjaGlsZHJlbiIpLF8yPVN5bWJvbCgicmVtb3ZlIG5vZGUiKTtzKGpvLCJ2aXNpdCIpLGpvLkJSRUFLPV9vLGpvLlNLSVA9RTR0LGpvLlJFTU9WRT1fMjtzKEtoLCJ2aXNpdF8iKTtzKFAzLCJ2aXNpdEFzeW5jIiksUDMuQlJFQUs9X28sUDMuU0tJUD1FNHQsUDMuUkVNT1ZFPV8yO3MoWmgsInZpc2l0QXN5bmNfIik7cyhQNHQsImluaXRWaXNpdG9yIik7cyhJNHQsImNhbGxWaXNpdG9yIik7cyhONHQsInJlcGxhY2VOb2RlIil9KTt2YXIgbnhhLGx4YSxwMSxOY2U9ZigoKT0+e0xhKCk7YWcoKTtueGE9eyIhIjoiJTIxIiwiLCI6IiUyQyIsIlsiOiIlNUIiLCJdIjoiJTVEIiwieyI6IiU3QiIsIn0iOiIlN0QifSxseGE9cyhhPT5hLnJlcGxhY2UoL1shLFtcXXt9XS9nLGU9Pm54YVtlXSksImVzY2FwZVRhZ05hbWUiKSxwMT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkRpcmVjdGl2ZXMiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuZG9jU3RhcnQ9bnVsbCx0aGlzLmRvY0VuZD0hMSx0aGlzLnlhbWw9T2JqZWN0LmFzc2lnbih7fSxhLmRlZmF1bHRZYW1sLGUpLHRoaXMudGFncz1PYmplY3QuYXNzaWduKHt9LGEuZGVmYXVsdFRhZ3MsdCl9Y2xvbmUoKXtsZXQgZT1uZXcgYSh0aGlzLnlhbWwsdGhpcy50YWdzKTtyZXR1cm4gZS5kb2NTdGFydD10aGlzLmRvY1N0YXJ0LGV9YXREb2N1bWVudCgpe2xldCBlPW5ldyBhKHRoaXMueWFtbCx0aGlzLnRhZ3MpO3N3aXRjaCh0aGlzLnlhbWwudmVyc2lvbil7Y2FzZSIxLjEiOnRoaXMuYXROZXh0RG9jdW1lbnQ9ITA7YnJlYWs7Y2FzZSIxLjIiOnRoaXMuYXROZXh0RG9jdW1lbnQ9ITEsdGhpcy55YW1sPXtleHBsaWNpdDphLmRlZmF1bHRZYW1sLmV4cGxpY2l0LHZlcnNpb246IjEuMiJ9LHRoaXMudGFncz1PYmplY3QuYXNzaWduKHt9LGEuZGVmYXVsdFRhZ3MpO2JyZWFrfXJldHVybiBlfWFkZChlLHQpe3RoaXMuYXROZXh0RG9jdW1lbnQmJih0aGlzLnlhbWw9e2V4cGxpY2l0OmEuZGVmYXVsdFlhbWwuZXhwbGljaXQsdmVyc2lvbjoiMS4xIn0sdGhpcy50YWdzPU9iamVjdC5hc3NpZ24oe30sYS5kZWZhdWx0VGFncyksdGhpcy5hdE5leHREb2N1bWVudD0hMSk7bGV0IHI9ZS50cmltKCkuc3BsaXQoL1sgXHRdKy8pLGk9ci5zaGlmdCgpO3N3aXRjaChpKXtjYXNlIiVUQUciOntpZihyLmxlbmd0aCE9PTImJih0KDAsIiVUQUcgZGlyZWN0aXZlIHNob3VsZCBjb250YWluIGV4YWN0bHkgdHdvIHBhcnRzIiksci5sZW5ndGg8MikpcmV0dXJuITE7bGV0W28sbl09cjtyZXR1cm4gdGhpcy50YWdzW29dPW4sITB9Y2FzZSIlWUFNTCI6e2lmKHRoaXMueWFtbC5leHBsaWNpdD0hMCxyLmxlbmd0aCE9PTEpcmV0dXJuIHQoMCwiJVlBTUwgZGlyZWN0aXZlIHNob3VsZCBjb250YWluIGV4YWN0bHkgb25lIHBhcnQiKSwhMTtsZXRbb109cjtpZihvPT09IjEuMSJ8fG89PT0iMS4yIilyZXR1cm4gdGhpcy55YW1sLnZlcnNpb249bywhMDt7bGV0IG49L15cZCtcLlxkKyQvLnRlc3Qobyk7cmV0dXJuIHQoNixgVW5zdXBwb3J0ZWQgWUFNTCB2ZXJzaW9uICR7b31gLG4pLCExfX1kZWZhdWx0OnJldHVybiB0KDAsYFVua25vd24gZGlyZWN0aXZlICR7aX1gLCEwKSwhMX19dGFnTmFtZShlLHQpe2lmKGU9PT0iISIpcmV0dXJuIiEiO2lmKGVbMF0hPT0iISIpcmV0dXJuIHQoYE5vdCBhIHZhbGlkIHRhZzogJHtlfWApLG51bGw7aWYoZVsxXT09PSI8Iil7bGV0IG49ZS5zbGljZSgyLC0xKTtyZXR1cm4gbj09PSIhInx8bj09PSIhISI/KHQoYFZlcmJhdGltIHRhZ3MgYXJlbid0IHJlc29sdmVkLCBzbyAke2V9IGlzIGludmFsaWQuYCksbnVsbCk6KGVbZS5sZW5ndGgtMV0hPT0iPiImJnQoIlZlcmJhdGltIHRhZ3MgbXVzdCBlbmQgd2l0aCBhID4iKSxuKX1sZXRbLHIsaV09ZS5tYXRjaCgvXiguKiEpKFteIV0qKSQvcyk7aXx8dChgVGhlICR7ZX0gdGFnIGhhcyBubyBzdWZmaXhgKTtsZXQgbz10aGlzLnRhZ3Nbcl07aWYobyl0cnl7cmV0dXJuIG8rZGVjb2RlVVJJQ29tcG9uZW50KGkpfWNhdGNoKG4pe3JldHVybiB0KFN0cmluZyhuKSksbnVsbH1yZXR1cm4gcj09PSIhIj9lOih0KGBDb3VsZCBub3QgcmVzb2x2ZSB0YWc6ICR7ZX1gKSxudWxsKX10YWdTdHJpbmcoZSl7Zm9yKGxldFt0LHJdb2YgT2JqZWN0LmVudHJpZXModGhpcy50YWdzKSlpZihlLnN0YXJ0c1dpdGgocikpcmV0dXJuIHQrbHhhKGUuc3Vic3RyaW5nKHIubGVuZ3RoKSk7cmV0dXJuIGVbMF09PT0iISI/ZTpgITwke2V9PmB9dG9TdHJpbmcoZSl7bGV0IHQ9dGhpcy55YW1sLmV4cGxpY2l0P1tgJVlBTUwgJHt0aGlzLnlhbWwudmVyc2lvbnx8IjEuMiJ9YF06W10scj1PYmplY3QuZW50cmllcyh0aGlzLnRhZ3MpLGk7aWYoZSYmci5sZW5ndGg+MCYmZGEoZS5jb250ZW50cykpe2xldCBvPXt9O2pvKGUuY29udGVudHMsKG4sbCk9PntkYShsKSYmbC50YWcmJihvW2wudGFnXT0hMCl9KSxpPU9iamVjdC5rZXlzKG8pfWVsc2UgaT1bXTtmb3IobGV0W28sbl1vZiByKW89PT0iISEiJiZuPT09InRhZzp5YW1sLm9yZywyMDAyOiJ8fCghZXx8aS5zb21lKGw9Pmwuc3RhcnRzV2l0aChuKSkpJiZ0LnB1c2goYCVUQUcgJHtvfSAke259YCk7cmV0dXJuIHQuam9pbihgCmApfX07cDEuZGVmYXVsdFlhbWw9e2V4cGxpY2l0OiExLHZlcnNpb246IjEuMiJ9LHAxLmRlZmF1bHRUYWdzPXsiISEiOiJ0YWc6eWFtbC5vcmcsMjAwMjoifX0pO2Z1bmN0aW9uIHJnKGEpe2lmKC9bXHgwMC1ceDE5XHMsW1xde31dLy50ZXN0KGEpKXtsZXQgdD1gQW5jaG9yIG11c3Qgbm90IGNvbnRhaW4gd2hpdGVzcGFjZSBvciBjb250cm9sIGNoYXJhY3RlcnM6ICR7SlNPTi5zdHJpbmdpZnkoYSl9YDt0aHJvdyBuZXcgRXJyb3IodCl9cmV0dXJuITB9ZnVuY3Rpb24gX1goYSl7bGV0IGU9bmV3IFNldDtyZXR1cm4gam8oYSx7VmFsdWUodCxyKXtyLmFuY2hvciYmZS5hZGQoci5hbmNob3IpfX0pLGV9ZnVuY3Rpb24gVFgoYSxlKXtmb3IobGV0IHQ9MTs7Kyt0KXtsZXQgcj1gJHthfSR7dH1gO2lmKCFlLmhhcyhyKSlyZXR1cm4gcn19ZnVuY3Rpb24gUmNlKGEsZSl7bGV0IHQ9W10scj1uZXcgTWFwLGk9bnVsbDtyZXR1cm57b25BbmNob3I6cyhvPT57dC5wdXNoKG8pLGk/PyhpPV9YKGEpKTtsZXQgbj1UWChlLGkpO3JldHVybiBpLmFkZChuKSxufSwib25BbmNob3IiKSxzZXRBbmNob3JzOnMoKCk9Pntmb3IobGV0IG8gb2YgdCl7bGV0IG49ci5nZXQobyk7aWYodHlwZW9mIG49PSJvYmplY3QiJiZuLmFuY2hvciYmKHF0KG4ubm9kZSl8fFRhKG4ubm9kZSkpKW4ubm9kZS5hbmNob3I9bi5hbmNob3I7ZWxzZXtsZXQgbD1uZXcgRXJyb3IoIkZhaWxlZCB0byByZXNvbHZlIHJlcGVhdGVkIG9iamVjdCAodGhpcyBzaG91bGQgbm90IGhhcHBlbikiKTt0aHJvdyBsLnNvdXJjZT1vLGx9fX0sInNldEFuY2hvcnMiKSxzb3VyY2VPYmplY3RzOnJ9fXZhciBMWD1mKCgpPT57TGEoKTthZygpO3MocmcsImFuY2hvcklzVmFsaWQiKTtzKF9YLCJhbmNob3JOYW1lcyIpO3MoVFgsImZpbmROZXdBbmNob3IiKTtzKFJjZSwiY3JlYXRlTm9kZUFuY2hvcnMiKX0pO2Z1bmN0aW9uIFBsKGEsZSx0LHIpe2lmKHImJnR5cGVvZiByPT0ib2JqZWN0IilpZihBcnJheS5pc0FycmF5KHIpKWZvcihsZXQgaT0wLG89ci5sZW5ndGg7aTxvOysraSl7bGV0IG49cltpXSxsPVBsKGEscixTdHJpbmcoaSksbik7bD09PXZvaWQgMD9kZWxldGUgcltpXTpsIT09biYmKHJbaV09bCl9ZWxzZSBpZihyIGluc3RhbmNlb2YgTWFwKWZvcihsZXQgaSBvZiBBcnJheS5mcm9tKHIua2V5cygpKSl7bGV0IG89ci5nZXQoaSksbj1QbChhLHIsaSxvKTtuPT09dm9pZCAwP3IuZGVsZXRlKGkpOm4hPT1vJiZyLnNldChpLG4pfWVsc2UgaWYociBpbnN0YW5jZW9mIFNldClmb3IobGV0IGkgb2YgQXJyYXkuZnJvbShyKSl7bGV0IG89UGwoYSxyLGksaSk7bz09PXZvaWQgMD9yLmRlbGV0ZShpKTpvIT09aSYmKHIuZGVsZXRlKGkpLHIuYWRkKG8pKX1lbHNlIGZvcihsZXRbaSxvXW9mIE9iamVjdC5lbnRyaWVzKHIpKXtsZXQgbj1QbChhLHIsaSxvKTtuPT09dm9pZCAwP2RlbGV0ZSByW2ldOm4hPT1vJiYocltpXT1uKX1yZXR1cm4gYS5jYWxsKGUsdCxyKX12YXIgT2NlPWYoKCk9PntzKFBsLCJhcHBseVJldml2ZXIiKX0pO2Z1bmN0aW9uIG5zKGEsZSx0KXtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBhLm1hcCgocixpKT0+bnMocixTdHJpbmcoaSksdCkpO2lmKGEmJnR5cGVvZiBhLnRvSlNPTj09ImZ1bmN0aW9uIil7aWYoIXR8fCF0ZyhhKSlyZXR1cm4gYS50b0pTT04oZSx0KTtsZXQgcj17YWxpYXNDb3VudDowLGNvdW50OjEscmVzOnZvaWQgMH07dC5hbmNob3JzLnNldChhLHIpLHQub25DcmVhdGU9bz0+e3IucmVzPW8sZGVsZXRlIHQub25DcmVhdGV9O2xldCBpPWEudG9KU09OKGUsdCk7cmV0dXJuIHQub25DcmVhdGUmJnQub25DcmVhdGUoaSksaX1yZXR1cm4gdHlwZW9mIGE9PSJiaWdpbnQiJiYhdD8ua2VlcD9OdW1iZXIoYSk6YX12YXIgVDA9ZigoKT0+e0xhKCk7cyhucywidG9KUyIpfSk7dmFyIElsLCRYPWYoKCk9PntPY2UoKTtMYSgpO1QwKCk7SWw9Y2xhc3N7c3RhdGlje3ModGhpcywiTm9kZUJhc2UiKX1jb25zdHJ1Y3RvcihlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxraSx7dmFsdWU6ZX0pfWNsb25lKCl7bGV0IGU9T2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcyksT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModGhpcykpO3JldHVybiB0aGlzLnJhbmdlJiYoZS5yYW5nZT10aGlzLnJhbmdlLnNsaWNlKCkpLGV9dG9KUyhlLHttYXBBc01hcDp0LG1heEFsaWFzQ291bnQ6cixvbkFuY2hvcjppLHJldml2ZXI6b309e30pe2lmKCFTbyhlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJBIGRvY3VtZW50IGFyZ3VtZW50IGlzIHJlcXVpcmVkIik7bGV0IG49e2FuY2hvcnM6bmV3IE1hcCxkb2M6ZSxrZWVwOiEwLG1hcEFzTWFwOnQ9PT0hMCxtYXBLZXlXYXJuZWQ6ITEsbWF4QWxpYXNDb3VudDp0eXBlb2Ygcj09Im51bWJlciI/cjoxMDB9LGw9bnModGhpcywiIixuKTtpZih0eXBlb2YgaT09ImZ1bmN0aW9uIilmb3IobGV0e2NvdW50OmQscmVzOmN9b2Ygbi5hbmNob3JzLnZhbHVlcygpKWkoYyxkKTtyZXR1cm4gdHlwZW9mIG89PSJmdW5jdGlvbiI/UGwobyx7IiI6bH0sIiIsbCk6bH19fSk7ZnVuY3Rpb24gRFgoYSxlLHQpe2lmKGtvKGUpKXtsZXQgcj1lLnJlc29sdmUoYSksaT10JiZyJiZ0LmdldChyKTtyZXR1cm4gaT9pLmNvdW50KmkuYWxpYXNDb3VudDowfWVsc2UgaWYoVGEoZSkpe2xldCByPTA7Zm9yKGxldCBpIG9mIGUuaXRlbXMpe2xldCBvPURYKGEsaSx0KTtvPnImJihyPW8pfXJldHVybiByfWVsc2UgaWYoYWEoZSkpe2xldCByPURYKGEsZS5rZXksdCksaT1EWChhLGUudmFsdWUsdCk7cmV0dXJuIE1hdGgubWF4KHIsaSl9cmV0dXJuIDF9dmFyIHluLHNnPWYoKCk9PntMWCgpO2FnKCk7TGEoKTskWCgpO1QwKCk7eW49Y2xhc3MgZXh0ZW5kcyBJbHtzdGF0aWN7cyh0aGlzLCJBbGlhcyIpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKEo5KSx0aGlzLnNvdXJjZT1lLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCJ0YWciLHtzZXQoKXt0aHJvdyBuZXcgRXJyb3IoIkFsaWFzIG5vZGVzIGNhbm5vdCBoYXZlIHRhZ3MiKX19KX1yZXNvbHZlKGUsdCl7aWYodD8ubWF4QWxpYXNDb3VudD09PTApdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKCJBbGlhcyByZXNvbHV0aW9uIGlzIGRpc2FibGVkIik7bGV0IHI7dD8uYWxpYXNSZXNvbHZlQ2FjaGU/cj10LmFsaWFzUmVzb2x2ZUNhY2hlOihyPVtdLGpvKGUse05vZGU6cygobyxuKT0+eyhrbyhuKXx8dGcobikpJiZyLnB1c2gobil9LCJOb2RlIil9KSx0JiYodC5hbGlhc1Jlc29sdmVDYWNoZT1yKSk7bGV0IGk7Zm9yKGxldCBvIG9mIHIpe2lmKG89PT10aGlzKWJyZWFrO28uYW5jaG9yPT09dGhpcy5zb3VyY2UmJihpPW8pfXJldHVybiBpfXRvSlNPTihlLHQpe2lmKCF0KXJldHVybntzb3VyY2U6dGhpcy5zb3VyY2V9O2xldHthbmNob3JzOnIsZG9jOmksbWF4QWxpYXNDb3VudDpvfT10LG49dGhpcy5yZXNvbHZlKGksdCk7aWYoIW4pe2xldCBkPWBVbnJlc29sdmVkIGFsaWFzICh0aGUgYW5jaG9yIG11c3QgYmUgc2V0IGJlZm9yZSB0aGUgYWxpYXMpOiAke3RoaXMuc291cmNlfWA7dGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKGQpfWxldCBsPXIuZ2V0KG4pO2lmKGx8fChucyhuLG51bGwsdCksbD1yLmdldChuKSksbD8ucmVzPT09dm9pZCAwKXtsZXQgZD0iVGhpcyBzaG91bGQgbm90IGhhcHBlbjogQWxpYXMgYW5jaG9yIHdhcyBub3QgcmVzb2x2ZWQ/Ijt0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoZCl9aWYobz49MCYmKGwuY291bnQrPTEsbC5hbGlhc0NvdW50PT09MCYmKGwuYWxpYXNDb3VudD1EWChpLG4scikpLGwuY291bnQqbC5hbGlhc0NvdW50Pm8pKXtsZXQgZD0iRXhjZXNzaXZlIGFsaWFzIGNvdW50IGluZGljYXRlcyBhIHJlc291cmNlIGV4aGF1c3Rpb24gYXR0YWNrIjt0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoZCl9cmV0dXJuIGwucmVzfXRvU3RyaW5nKGUsdCxyKXtsZXQgaT1gKiR7dGhpcy5zb3VyY2V9YDtpZihlKXtpZihyZyh0aGlzLnNvdXJjZSksZS5vcHRpb25zLnZlcmlmeUFsaWFzT3JkZXImJiFlLmFuY2hvcnMuaGFzKHRoaXMuc291cmNlKSl7bGV0IG89YFVucmVzb2x2ZWQgYWxpYXMgKHRoZSBhbmNob3IgbXVzdCBiZSBzZXQgYmVmb3JlIHRoZSBhbGlhcyk6ICR7dGhpcy5zb3VyY2V9YDt0aHJvdyBuZXcgRXJyb3Iobyl9aWYoZS5pbXBsaWNpdEtleSlyZXR1cm5gJHtpfSBgfXJldHVybiBpfX07cyhEWCwiZ2V0QWxpYXNDb3VudCIpfSk7dmFyIGlnLGZ0LGxzPWYoKCk9PntMYSgpOyRYKCk7VDAoKTtpZz1zKGE9PiFhfHx0eXBlb2YgYSE9ImZ1bmN0aW9uIiYmdHlwZW9mIGEhPSJvYmplY3QiLCJpc1NjYWxhclZhbHVlIiksZnQ9Y2xhc3MgZXh0ZW5kcyBJbHtzdGF0aWN7cyh0aGlzLCJTY2FsYXIiKX1jb25zdHJ1Y3RvcihlKXtzdXBlcihNbyksdGhpcy52YWx1ZT1lfXRvSlNPTihlLHQpe3JldHVybiB0Py5rZWVwP3RoaXMudmFsdWU6bnModGhpcy52YWx1ZSxlLHQpfXRvU3RyaW5nKCl7cmV0dXJuIFN0cmluZyh0aGlzLnZhbHVlKX19O2Z0LkJMT0NLX0ZPTERFRD0iQkxPQ0tfRk9MREVEIixmdC5CTE9DS19MSVRFUkFMPSJCTE9DS19MSVRFUkFMIixmdC5QTEFJTj0iUExBSU4iLGZ0LlFVT1RFX0RPVUJMRT0iUVVPVEVfRE9VQkxFIixmdC5RVU9URV9TSU5HTEU9IlFVT1RFX1NJTkdMRSJ9KTtmdW5jdGlvbiBkeGEoYSxlLHQpe2lmKGUpe2xldCByPXQuZmlsdGVyKG89Pm8udGFnPT09ZSksaT1yLmZpbmQobz0+IW8uZm9ybWF0KT8/clswXTtpZighaSl0aHJvdyBuZXcgRXJyb3IoYFRhZyAke2V9IG5vdCBmb3VuZGApO3JldHVybiBpfXJldHVybiB0LmZpbmQocj0+ci5pZGVudGlmeT8uKGEpJiYhci5mb3JtYXQpfWZ1bmN0aW9uIFQyKGEsZSx0KXtpZihTbyhhKSYmKGE9YS5jb250ZW50cyksZGEoYSkpcmV0dXJuIGE7aWYoYWEoYSkpe2xldCB1PXQuc2NoZW1hW3huXS5jcmVhdGVOb2RlPy4odC5zY2hlbWEsbnVsbCx0KTtyZXR1cm4gdS5pdGVtcy5wdXNoKGEpLHV9KGEgaW5zdGFuY2VvZiBTdHJpbmd8fGEgaW5zdGFuY2VvZiBOdW1iZXJ8fGEgaW5zdGFuY2VvZiBCb29sZWFufHx0eXBlb2YgQmlnSW50PCJ1IiYmYSBpbnN0YW5jZW9mIEJpZ0ludCkmJihhPWEudmFsdWVPZigpKTtsZXR7YWxpYXNEdXBsaWNhdGVPYmplY3RzOnIsb25BbmNob3I6aSxvblRhZ09iajpvLHNjaGVtYTpuLHNvdXJjZU9iamVjdHM6bH09dCxkO2lmKHImJmEmJnR5cGVvZiBhPT0ib2JqZWN0Iil7aWYoZD1sLmdldChhKSxkKXJldHVybiBkLmFuY2hvcj8/KGQuYW5jaG9yPWkoYSkpLG5ldyB5bihkLmFuY2hvcik7ZD17YW5jaG9yOm51bGwsbm9kZTpudWxsfSxsLnNldChhLGQpfWU/LnN0YXJ0c1dpdGgoIiEhIikmJihlPWN4YStlLnNsaWNlKDIpKTtsZXQgYz1keGEoYSxlLG4udGFncyk7aWYoIWMpe2lmKGEmJnR5cGVvZiBhLnRvSlNPTj09ImZ1bmN0aW9uIiYmKGE9YS50b0pTT04oKSksIWF8fHR5cGVvZiBhIT0ib2JqZWN0Iil7bGV0IHU9bmV3IGZ0KGEpO3JldHVybiBkJiYoZC5ub2RlPXUpLHV9Yz1hIGluc3RhbmNlb2YgTWFwP25beG5dOlN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QoYSk/bltDMl06blt4bl19byYmKG8oYyksZGVsZXRlIHQub25UYWdPYmopO2xldCBwPWM/LmNyZWF0ZU5vZGU/Yy5jcmVhdGVOb2RlKHQuc2NoZW1hLGEsdCk6dHlwZW9mIGM/Lm5vZGVDbGFzcz8uZnJvbT09ImZ1bmN0aW9uIj9jLm5vZGVDbGFzcy5mcm9tKHQuc2NoZW1hLGEsdCk6bmV3IGZ0KGEpO3JldHVybiBlP3AudGFnPWU6Yy5kZWZhdWx0fHwocC50YWc9Yy50YWcpLGQmJihkLm5vZGU9cCkscH12YXIgY3hhLG9nPWYoKCk9PntzZygpO0xhKCk7bHMoKTtjeGE9InRhZzp5YW1sLm9yZywyMDAyOiI7cyhkeGEsImZpbmRUYWdPYmplY3QiKTtzKFQyLCJjcmVhdGVOb2RlIil9KTtmdW5jdGlvbiBYaChhLGUsdCl7bGV0IHI9dDtmb3IobGV0IGk9ZS5sZW5ndGgtMTtpPj0wOy0taSl7bGV0IG89ZVtpXTtpZih0eXBlb2Ygbz09Im51bWJlciImJk51bWJlci5pc0ludGVnZXIobykmJm8+PTApe2xldCBuPVtdO25bb109cixyPW59ZWxzZSByPW5ldyBNYXAoW1tvLHJdXSl9cmV0dXJuIFQyKHIsdm9pZCAwLHthbGlhc0R1cGxpY2F0ZU9iamVjdHM6ITEsa2VlcFVuZGVmaW5lZDohMSxvbkFuY2hvcjpzKCgpPT57dGhyb3cgbmV3IEVycm9yKCJUaGlzIHNob3VsZCBub3QgaGFwcGVuLCBwbGVhc2UgcmVwb3J0IGEgYnVnLiIpfSwib25BbmNob3IiKSxzY2hlbWE6YSxzb3VyY2VPYmplY3RzOm5ldyBNYXB9KX12YXIgTjMsSTMsQVg9ZigoKT0+e29nKCk7TGEoKTskWCgpO3MoWGgsImNvbGxlY3Rpb25Gcm9tUGF0aCIpO04zPXMoYT0+YT09bnVsbHx8dHlwZW9mIGE9PSJvYmplY3QiJiYhIWFbU3ltYm9sLml0ZXJhdG9yXSgpLm5leHQoKS5kb25lLCJpc0VtcHR5UGF0aCIpLEkzPWNsYXNzIGV4dGVuZHMgSWx7c3RhdGlje3ModGhpcywiQ29sbGVjdGlvbiIpfWNvbnN0cnVjdG9yKGUsdCl7c3VwZXIoZSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsInNjaGVtYSIse3ZhbHVlOnQsY29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITB9KX1jbG9uZShlKXtsZXQgdD1PYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyh0aGlzKSk7cmV0dXJuIGUmJih0LnNjaGVtYT1lKSx0Lml0ZW1zPXQuaXRlbXMubWFwKHI9PmRhKHIpfHxhYShyKT9yLmNsb25lKGUpOnIpLHRoaXMucmFuZ2UmJih0LnJhbmdlPXRoaXMucmFuZ2Uuc2xpY2UoKSksdH1hZGRJbihlLHQpe2lmKE4zKGUpKXRoaXMuYWRkKHQpO2Vsc2V7bGV0W3IsLi4uaV09ZSxvPXRoaXMuZ2V0KHIsITApO2lmKFRhKG8pKW8uYWRkSW4oaSx0KTtlbHNlIGlmKG89PT12b2lkIDAmJnRoaXMuc2NoZW1hKXRoaXMuc2V0KHIsWGgodGhpcy5zY2hlbWEsaSx0KSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIFlBTUwgY29sbGVjdGlvbiBhdCAke3J9LiBSZW1haW5pbmcgcGF0aDogJHtpfWApfX1kZWxldGVJbihlKXtsZXRbdCwuLi5yXT1lO2lmKHIubGVuZ3RoPT09MClyZXR1cm4gdGhpcy5kZWxldGUodCk7bGV0IGk9dGhpcy5nZXQodCwhMCk7aWYoVGEoaSkpcmV0dXJuIGkuZGVsZXRlSW4ocik7dGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBZQU1MIGNvbGxlY3Rpb24gYXQgJHt0fS4gUmVtYWluaW5nIHBhdGg6ICR7cn1gKX1nZXRJbihlLHQpe2xldFtyLC4uLmldPWUsbz10aGlzLmdldChyLCEwKTtyZXR1cm4gaS5sZW5ndGg9PT0wPyF0JiZxdChvKT9vLnZhbHVlOm86VGEobyk/by5nZXRJbihpLHQpOnZvaWQgMH1oYXNBbGxOdWxsVmFsdWVzKGUpe3JldHVybiB0aGlzLml0ZW1zLmV2ZXJ5KHQ9PntpZighYWEodCkpcmV0dXJuITE7bGV0IHI9dC52YWx1ZTtyZXR1cm4gcj09bnVsbHx8ZSYmcXQocikmJnIudmFsdWU9PW51bGwmJiFyLmNvbW1lbnRCZWZvcmUmJiFyLmNvbW1lbnQmJiFyLnRhZ30pfWhhc0luKGUpe2xldFt0LC4uLnJdPWU7aWYoci5sZW5ndGg9PT0wKXJldHVybiB0aGlzLmhhcyh0KTtsZXQgaT10aGlzLmdldCh0LCEwKTtyZXR1cm4gVGEoaSk/aS5oYXNJbihyKTohMX1zZXRJbihlLHQpe2xldFtyLC4uLmldPWU7aWYoaS5sZW5ndGg9PT0wKXRoaXMuc2V0KHIsdCk7ZWxzZXtsZXQgbz10aGlzLmdldChyLCEwKTtpZihUYShvKSlvLnNldEluKGksdCk7ZWxzZSBpZihvPT09dm9pZCAwJiZ0aGlzLnNjaGVtYSl0aGlzLnNldChyLFhoKHRoaXMuc2NoZW1hLGksdCkpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBZQU1MIGNvbGxlY3Rpb24gYXQgJHtyfS4gUmVtYWluaW5nIHBhdGg6ICR7aX1gKX19fX0pO2Z1bmN0aW9uIFVvKGEsZSl7cmV0dXJuL15cbiskLy50ZXN0KGEpP2Euc3Vic3RyaW5nKDEpOmU/YS5yZXBsYWNlKC9eKD8hICokKS9nbSxlKTphfXZhciBGY2UsZjEsbmc9ZigoKT0+e0ZjZT1zKGE9PmEucmVwbGFjZSgvXig/ISQpKD86ICQpPy9nbSwiIyIpLCJzdHJpbmdpZnlDb21tZW50Iik7cyhVbywiaW5kZW50Q29tbWVudCIpO2YxPXMoKGEsZSx0KT0+YS5lbmRzV2l0aChgCmApP1VvKHQsZSk6dC5pbmNsdWRlcyhgCmApP2AKYCtVbyh0LGUpOihhLmVuZHNXaXRoKCIgIik/IiI6IiAiKSt0LCJsaW5lQ29tbWVudCIpfSk7ZnVuY3Rpb24gSmgoYSxlLHQ9ImZsb3ciLHtpbmRlbnRBdFN0YXJ0OnIsbGluZVdpZHRoOmk9ODAsbWluQ29udGVudFdpZHRoOm89MjAsb25Gb2xkOm4sb25PdmVyZmxvdzpsfT17fSl7aWYoIWl8fGk8MClyZXR1cm4gYTtpPG8mJihvPTApO2xldCBkPU1hdGgubWF4KDErbywxK2ktZS5sZW5ndGgpO2lmKGEubGVuZ3RoPD1kKXJldHVybiBhO2xldCBjPVtdLHA9e30sdT1pLWUubGVuZ3RoO3R5cGVvZiByPT0ibnVtYmVyIiYmKHI+aS1NYXRoLm1heCgyLG8pP2MucHVzaCgwKTp1PWktcik7bGV0IG0sdix4PSExLGI9LTEsZz0tMSx5PS0xO3Q9PT1sZyYmKGI9UjR0KGEsYixlLmxlbmd0aCksYiE9PS0xJiYodT1iK2QpKTtmb3IobGV0IEM7Qz1hW2IrPTFdOyl7aWYodD09PVFoJiZDPT09IlxcIil7c3dpdGNoKGc9YixhW2IrMV0pe2Nhc2UieCI6Yis9MzticmVhaztjYXNlInUiOmIrPTU7YnJlYWs7Y2FzZSJVIjpiKz05O2JyZWFrO2RlZmF1bHQ6Yis9MX15PWJ9aWYoQz09PWAKYCl0PT09bGcmJihiPVI0dChhLGIsZS5sZW5ndGgpKSx1PWIrZS5sZW5ndGgrZCxtPXZvaWQgMDtlbHNle2lmKEM9PT0iICImJnYmJnYhPT0iICImJnYhPT1gCmAmJnYhPT0iCSIpe2xldCBOPWFbYisxXTtOJiZOIT09IiAiJiZOIT09YApgJiZOIT09IgkiJiYobT1iKX1pZihiPj11KWlmKG0pYy5wdXNoKG0pLHU9bStkLG09dm9pZCAwO2Vsc2UgaWYodD09PVFoKXtmb3IoO3Y9PT0iICJ8fHY9PT0iCSI7KXY9QyxDPWFbYis9MV0seD0hMDtsZXQgTj1iPnkrMT9iLTI6Zy0xO2lmKHBbTl0pcmV0dXJuIGE7Yy5wdXNoKE4pLHBbTl09ITAsdT1OK2QsbT12b2lkIDB9ZWxzZSB4PSEwfXY9Q31pZih4JiZsJiZsKCksYy5sZW5ndGg9PT0wKXJldHVybiBhO24mJm4oKTtsZXQgaz1hLnNsaWNlKDAsY1swXSk7Zm9yKGxldCBDPTA7QzxjLmxlbmd0aDsrK0Mpe2xldCBOPWNbQ10sXz1jW0MrMV18fGEubGVuZ3RoO049PT0wP2s9YAoke2V9JHthLnNsaWNlKDAsXyl9YDoodD09PVFoJiZwW05dJiYoays9YCR7YVtOXX1cXGApLGsrPWAKJHtlfSR7YS5zbGljZShOKzEsXyl9YCl9cmV0dXJuIGt9ZnVuY3Rpb24gUjR0KGEsZSx0KXtsZXQgcj1lLGk9ZSsxLG89YVtpXTtmb3IoO289PT0iICJ8fG89PT0iCSI7KWlmKGU8aSt0KW89YVsrK2VdO2Vsc2V7ZG8gbz1hWysrZV07d2hpbGUobyYmbyE9PWAKYCk7cj1lLGk9ZSsxLG89YVtpXX1yZXR1cm4gcn12YXIgRVgsbGcsUWgsTzR0PWYoKCk9PntFWD0iZmxvdyIsbGc9ImJsb2NrIixRaD0icXVvdGVkIjtzKEpoLCJmb2xkRmxvd0xpbmVzIik7cyhSNHQsImNvbnN1bWVNb3JlSW5kZW50ZWRMaW5lcyIpfSk7ZnVuY3Rpb24gdXhhKGEsZSx0KXtpZighZXx8ZTwwKXJldHVybiExO2xldCByPWUtdCxpPWEubGVuZ3RoO2lmKGk8PXIpcmV0dXJuITE7Zm9yKGxldCBvPTAsbj0wO288aTsrK28paWYoYVtvXT09PWAKYCl7aWYoby1uPnIpcmV0dXJuITA7aWYobj1vKzEsaS1uPD1yKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIGNnKGEsZSl7bGV0IHQ9SlNPTi5zdHJpbmdpZnkoYSk7aWYoZS5vcHRpb25zLmRvdWJsZVF1b3RlZEFzSlNPTilyZXR1cm4gdDtsZXR7aW1wbGljaXRLZXk6cn09ZSxpPWUub3B0aW9ucy5kb3VibGVRdW90ZWRNaW5NdWx0aUxpbmVMZW5ndGgsbz1lLmluZGVudHx8KElYKGEpPyIgICI6IiIpLG49IiIsbD0wO2ZvcihsZXQgZD0wLGM9dFtkXTtjO2M9dFsrK2RdKWlmKGM9PT0iICImJnRbZCsxXT09PSJcXCImJnRbZCsyXT09PSJuIiYmKG4rPXQuc2xpY2UobCxkKSsiXFwgIixkKz0xLGw9ZCxjPSJcXCIpLGM9PT0iXFwiKXN3aXRjaCh0W2QrMV0pe2Nhc2UidSI6e24rPXQuc2xpY2UobCxkKTtsZXQgcD10LnN1YnN0cihkKzIsNCk7c3dpdGNoKHApe2Nhc2UiMDAwMCI6bis9IlxcMCI7YnJlYWs7Y2FzZSIwMDA3IjpuKz0iXFxhIjticmVhaztjYXNlIjAwMGIiOm4rPSJcXHYiO2JyZWFrO2Nhc2UiMDAxYiI6bis9IlxcZSI7YnJlYWs7Y2FzZSIwMDg1IjpuKz0iXFxOIjticmVhaztjYXNlIjAwYTAiOm4rPSJcXF8iO2JyZWFrO2Nhc2UiMjAyOCI6bis9IlxcTCI7YnJlYWs7Y2FzZSIyMDI5IjpuKz0iXFxQIjticmVhaztkZWZhdWx0OnAuc3Vic3RyKDAsMik9PT0iMDAiP24rPSJcXHgiK3Auc3Vic3RyKDIpOm4rPXQuc3Vic3RyKGQsNil9ZCs9NSxsPWQrMX1icmVhaztjYXNlIm4iOmlmKHJ8fHRbZCsyXT09PSciJ3x8dC5sZW5ndGg8aSlkKz0xO2Vsc2V7Zm9yKG4rPXQuc2xpY2UobCxkKStgCgpgO3RbZCsyXT09PSJcXCImJnRbZCszXT09PSJuIiYmdFtkKzRdIT09JyInOyluKz1gCmAsZCs9MjtuKz1vLHRbZCsyXT09PSIgIiYmKG4rPSJcXCIpLGQrPTEsbD1kKzF9YnJlYWs7ZGVmYXVsdDpkKz0xfXJldHVybiBuPWw/bit0LnNsaWNlKGwpOnQscj9uOkpoKG4sbyxRaCxQWChlLCExKSl9ZnVuY3Rpb24gQmNlKGEsZSl7aWYoZS5vcHRpb25zLnNpbmdsZVF1b3RlPT09ITF8fGUuaW1wbGljaXRLZXkmJmEuaW5jbHVkZXMoYApgKXx8L1sgXHRdXG58XG5bIFx0XS8udGVzdChhKSlyZXR1cm4gY2coYSxlKTtsZXQgdD1lLmluZGVudHx8KElYKGEpPyIgICI6IiIpLHI9IiciK2EucmVwbGFjZSgvJy9nLCInJyIpLnJlcGxhY2UoL1xuKy9nLGAkJgoke3R9YCkrIiciO3JldHVybiBlLmltcGxpY2l0S2V5P3I6Smgocix0LEVYLFBYKGUsITEpKX1mdW5jdGlvbiBlOChhLGUpe2xldHtzaW5nbGVRdW90ZTp0fT1lLm9wdGlvbnMscjtpZih0PT09ITEpcj1jZztlbHNle2xldCBpPWEuaW5jbHVkZXMoJyInKSxvPWEuaW5jbHVkZXMoIiciKTtpJiYhbz9yPUJjZTpvJiYhaT9yPWNnOnI9dD9CY2U6Y2d9cmV0dXJuIHIoYSxlKX1mdW5jdGlvbiBOWCh7Y29tbWVudDphLHR5cGU6ZSx2YWx1ZTp0fSxyLGksbyl7bGV0e2Jsb2NrUXVvdGU6bixjb21tZW50U3RyaW5nOmwsbGluZVdpZHRoOmR9PXIub3B0aW9ucztpZighbnx8L1xuW1x0IF0rJC8udGVzdCh0KSlyZXR1cm4gZTgodCxyKTtsZXQgYz1yLmluZGVudHx8KHIuZm9yY2VCbG9ja0luZGVudHx8SVgodCk/IiAgIjoiIikscD1uPT09ImxpdGVyYWwiPyEwOm49PT0iZm9sZGVkInx8ZT09PWZ0LkJMT0NLX0ZPTERFRD8hMTplPT09ZnQuQkxPQ0tfTElURVJBTD8hMDohdXhhKHQsZCxjLmxlbmd0aCk7aWYoIXQpcmV0dXJuIHA/YHwKYDpgPgpgO2xldCB1LG07Zm9yKG09dC5sZW5ndGg7bT4wOy0tbSl7bGV0IF89dFttLTFdO2lmKF8hPT1gCmAmJl8hPT0iCSImJl8hPT0iICIpYnJlYWt9bGV0IHY9dC5zdWJzdHJpbmcobSkseD12LmluZGV4T2YoYApgKTt4PT09LTE/dT0iLSI6dD09PXZ8fHghPT12Lmxlbmd0aC0xPyh1PSIrIixvJiZvKCkpOnU9IiIsdiYmKHQ9dC5zbGljZSgwLC12Lmxlbmd0aCksdlt2Lmxlbmd0aC0xXT09PWAKYCYmKHY9di5zbGljZSgwLC0xKSksdj12LnJlcGxhY2UoSGNlLGAkJiR7Y31gKSk7bGV0IGI9ITEsZyx5PS0xO2ZvcihnPTA7Zzx0Lmxlbmd0aDsrK2cpe2xldCBfPXRbZ107aWYoXz09PSIgIiliPSEwO2Vsc2UgaWYoXz09PWAKYCl5PWc7ZWxzZSBicmVha31sZXQgaz10LnN1YnN0cmluZygwLHk8Zz95KzE6Zyk7ayYmKHQ9dC5zdWJzdHJpbmcoay5sZW5ndGgpLGs9ay5yZXBsYWNlKC9cbisvZyxgJCYke2N9YCkpO2xldCBOPShiP2M/IjIiOiIxIjoiIikrdTtpZihhJiYoTis9IiAiK2woYS5yZXBsYWNlKC8gP1tcclxuXSsvZywiICIpKSxpJiZpKCkpLCFwKXtsZXQgXz10LnJlcGxhY2UoL1xuKy9nLGAKJCZgKS5yZXBsYWNlKC8oPzpefFxuKShbXHQgXS4qKSg/OihbXG5cdCBdKilcbig/IVtcblx0IF0pKT8vZywiJDEkMiIpLnJlcGxhY2UoL1xuKy9nLGAkJiR7Y31gKSx6PSExLE89UFgociwhMCk7biE9PSJmb2xkZWQiJiZlIT09ZnQuQkxPQ0tfRk9MREVEJiYoTy5vbk92ZXJmbG93PSgpPT57ej0hMH0pO2xldCBUPUpoKGAke2t9JHtffSR7dn1gLGMsbGcsTyk7aWYoIXopcmV0dXJuYD4ke059CiR7Y30ke1R9YH1yZXR1cm4gdD10LnJlcGxhY2UoL1xuKy9nLGAkJiR7Y31gKSxgfCR7Tn0KJHtjfSR7a30ke3R9JHt2fWB9ZnVuY3Rpb24gcHhhKGEsZSx0LHIpe2xldHt0eXBlOmksdmFsdWU6b309YSx7YWN0dWFsU3RyaW5nOm4saW1wbGljaXRLZXk6bCxpbmRlbnQ6ZCxpbmRlbnRTdGVwOmMsaW5GbG93OnB9PWU7aWYobCYmby5pbmNsdWRlcyhgCmApfHxwJiYvW1tcXXt9LF0vLnRlc3QobykpcmV0dXJuIGU4KG8sZSk7aWYoL15bXG5cdCAsW1xde30jJiohfD4nIiVAYF18Xls/LV0kfF5bPy1dWyBcdF18W1xuOl1bIFx0XXxbIFx0XVxufFtcblx0IF0jfFtcblx0IDpdJC8udGVzdChvKSlyZXR1cm4gbHx8cHx8IW8uaW5jbHVkZXMoYApgKT9lOChvLGUpOk5YKGEsZSx0LHIpO2lmKCFsJiYhcCYmaSE9PWZ0LlBMQUlOJiZvLmluY2x1ZGVzKGAKYCkpcmV0dXJuIE5YKGEsZSx0LHIpO2lmKElYKG8pKXtpZihkPT09IiIpcmV0dXJuIGUuZm9yY2VCbG9ja0luZGVudD0hMCxOWChhLGUsdCxyKTtpZihsJiZkPT09YylyZXR1cm4gZTgobyxlKX1sZXQgdT1vLnJlcGxhY2UoL1xuKy9nLGAkJgoke2R9YCk7aWYobil7bGV0IG09cyhiPT5iLmRlZmF1bHQmJmIudGFnIT09InRhZzp5YW1sLm9yZywyMDAyOnN0ciImJmIudGVzdD8udGVzdCh1KSwidGVzdCIpLHtjb21wYXQ6dix0YWdzOnh9PWUuZG9jLnNjaGVtYTtpZih4LnNvbWUobSl8fHY/LnNvbWUobSkpcmV0dXJuIGU4KG8sZSl9cmV0dXJuIGw/dTpKaCh1LGQsRVgsUFgoZSwhMSkpfWZ1bmN0aW9uIEwyKGEsZSx0LHIpe2xldHtpbXBsaWNpdEtleTppLGluRmxvdzpvfT1lLG49dHlwZW9mIGEudmFsdWU9PSJzdHJpbmciP2E6T2JqZWN0LmFzc2lnbih7fSxhLHt2YWx1ZTpTdHJpbmcoYS52YWx1ZSl9KSx7dHlwZTpsfT1hO2whPT1mdC5RVU9URV9ET1VCTEUmJi9bXHgwMC1ceDA4XHgwYi1ceDFmXHg3Zi1ceDlmXHV7RDgwMH0tXHV7REZGRn1dL3UudGVzdChuLnZhbHVlKSYmKGw9ZnQuUVVPVEVfRE9VQkxFKTtsZXQgZD1zKHA9Pntzd2l0Y2gocCl7Y2FzZSBmdC5CTE9DS19GT0xERUQ6Y2FzZSBmdC5CTE9DS19MSVRFUkFMOnJldHVybiBpfHxvP2U4KG4udmFsdWUsZSk6TlgobixlLHQscik7Y2FzZSBmdC5RVU9URV9ET1VCTEU6cmV0dXJuIGNnKG4udmFsdWUsZSk7Y2FzZSBmdC5RVU9URV9TSU5HTEU6cmV0dXJuIEJjZShuLnZhbHVlLGUpO2Nhc2UgZnQuUExBSU46cmV0dXJuIHB4YShuLGUsdCxyKTtkZWZhdWx0OnJldHVybiBudWxsfX0sIl9zdHJpbmdpZnkiKSxjPWQobCk7aWYoYz09PW51bGwpe2xldHtkZWZhdWx0S2V5VHlwZTpwLGRlZmF1bHRTdHJpbmdUeXBlOnV9PWUub3B0aW9ucyxtPWkmJnB8fHU7aWYoYz1kKG0pLGM9PT1udWxsKXRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgZGVmYXVsdCBzdHJpbmcgdHlwZSAke219YCl9cmV0dXJuIGN9dmFyIFBYLElYLEhjZSxkZz1mKCgpPT57bHMoKTtPNHQoKTtQWD1zKChhLGUpPT4oe2luZGVudEF0U3RhcnQ6ZT9hLmluZGVudC5sZW5ndGg6YS5pbmRlbnRBdFN0YXJ0LGxpbmVXaWR0aDphLm9wdGlvbnMubGluZVdpZHRoLG1pbkNvbnRlbnRXaWR0aDphLm9wdGlvbnMubWluQ29udGVudFdpZHRofSksImdldEZvbGRPcHRpb25zIiksSVg9cyhhPT4vXiglfC0tLXxcLlwuXC4pL20udGVzdChhKSwiY29udGFpbnNEb2N1bWVudE1hcmtlciIpO3ModXhhLCJsaW5lTGVuZ3RoT3ZlckxpbWl0Iik7cyhjZywiZG91YmxlUXVvdGVkU3RyaW5nIik7cyhCY2UsInNpbmdsZVF1b3RlZFN0cmluZyIpO3MoZTgsInF1b3RlZFN0cmluZyIpO3RyeXtIY2U9bmV3IFJlZ0V4cChgKF58KD88IQopKQorKD8hCnwkKWAsImciKX1jYXRjaHtIY2U9L1xuKyg/IVxufCQpL2d9cyhOWCwiYmxvY2tTdHJpbmciKTtzKHB4YSwicGxhaW5TdHJpbmciKTtzKEwyLCJzdHJpbmdpZnlTdHJpbmciKX0pO2Z1bmN0aW9uIHVnKGEsZSl7bGV0IHQ9T2JqZWN0LmFzc2lnbih7YmxvY2tRdW90ZTohMCxjb21tZW50U3RyaW5nOkZjZSxkZWZhdWx0S2V5VHlwZTpudWxsLGRlZmF1bHRTdHJpbmdUeXBlOiJQTEFJTiIsZGlyZWN0aXZlczpudWxsLGRvdWJsZVF1b3RlZEFzSlNPTjohMSxkb3VibGVRdW90ZWRNaW5NdWx0aUxpbmVMZW5ndGg6NDAsZmFsc2VTdHI6ImZhbHNlIixmbG93Q29sbGVjdGlvblBhZGRpbmc6ITAsaW5kZW50U2VxOiEwLGxpbmVXaWR0aDo4MCxtaW5Db250ZW50V2lkdGg6MjAsbnVsbFN0cjoibnVsbCIsc2ltcGxlS2V5czohMSxzaW5nbGVRdW90ZTpudWxsLHRyYWlsaW5nQ29tbWE6ITEsdHJ1ZVN0cjoidHJ1ZSIsdmVyaWZ5QWxpYXNPcmRlcjohMH0sYS5zY2hlbWEudG9TdHJpbmdPcHRpb25zLGUpLHI7c3dpdGNoKHQuY29sbGVjdGlvblN0eWxlKXtjYXNlImJsb2NrIjpyPSExO2JyZWFrO2Nhc2UiZmxvdyI6cj0hMDticmVhaztkZWZhdWx0OnI9bnVsbH1yZXR1cm57YW5jaG9yczpuZXcgU2V0LGRvYzphLGZsb3dDb2xsZWN0aW9uUGFkZGluZzp0LmZsb3dDb2xsZWN0aW9uUGFkZGluZz8iICI6IiIsaW5kZW50OiIiLGluZGVudFN0ZXA6dHlwZW9mIHQuaW5kZW50PT0ibnVtYmVyIj8iICIucmVwZWF0KHQuaW5kZW50KToiICAiLGluRmxvdzpyLG9wdGlvbnM6dH19ZnVuY3Rpb24gZnhhKGEsZSl7aWYoZS50YWcpe2xldCBpPWEuZmlsdGVyKG89Pm8udGFnPT09ZS50YWcpO2lmKGkubGVuZ3RoPjApcmV0dXJuIGkuZmluZChvPT5vLmZvcm1hdD09PWUuZm9ybWF0KT8/aVswXX1sZXQgdCxyO2lmKHF0KGUpKXtyPWUudmFsdWU7bGV0IGk9YS5maWx0ZXIobz0+by5pZGVudGlmeT8uKHIpKTtpZihpLmxlbmd0aD4xKXtsZXQgbz1pLmZpbHRlcihuPT5uLnRlc3QpO28ubGVuZ3RoPjAmJihpPW8pfXQ9aS5maW5kKG89Pm8uZm9ybWF0PT09ZS5mb3JtYXQpPz9pLmZpbmQobz0+IW8uZm9ybWF0KX1lbHNlIHI9ZSx0PWEuZmluZChpPT5pLm5vZGVDbGFzcyYmciBpbnN0YW5jZW9mIGkubm9kZUNsYXNzKTtpZighdCl7bGV0IGk9cj8uY29uc3RydWN0b3I/Lm5hbWU/PyhyPT09bnVsbD8ibnVsbCI6dHlwZW9mIHIpO3Rocm93IG5ldyBFcnJvcihgVGFnIG5vdCByZXNvbHZlZCBmb3IgJHtpfSB2YWx1ZWApfXJldHVybiB0fWZ1bmN0aW9uIGh4YShhLGUse2FuY2hvcnM6dCxkb2M6cn0pe2lmKCFyLmRpcmVjdGl2ZXMpcmV0dXJuIiI7bGV0IGk9W10sbz0ocXQoYSl8fFRhKGEpKSYmYS5hbmNob3I7byYmcmcobykmJih0LmFkZChvKSxpLnB1c2goYCYke299YCkpO2xldCBuPWEudGFnPz8oZS5kZWZhdWx0P251bGw6ZS50YWcpO3JldHVybiBuJiZpLnB1c2goci5kaXJlY3RpdmVzLnRhZ1N0cmluZyhuKSksaS5qb2luKCIgIil9ZnVuY3Rpb24gJDIoYSxlLHQscil7aWYoYWEoYSkpcmV0dXJuIGEudG9TdHJpbmcoZSx0LHIpO2lmKGtvKGEpKXtpZihlLmRvYy5kaXJlY3RpdmVzKXJldHVybiBhLnRvU3RyaW5nKGUpO2lmKGUucmVzb2x2ZWRBbGlhc2VzPy5oYXMoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IHN0cmluZ2lmeSBjaXJjdWxhciBzdHJ1Y3R1cmUgd2l0aG91dCBhbGlhcyBub2RlcyIpO2UucmVzb2x2ZWRBbGlhc2VzP2UucmVzb2x2ZWRBbGlhc2VzLmFkZChhKTplLnJlc29sdmVkQWxpYXNlcz1uZXcgU2V0KFthXSksYT1hLnJlc29sdmUoZS5kb2MpfWxldCBpLG89ZGEoYSk/YTplLmRvYy5jcmVhdGVOb2RlKGEse29uVGFnT2JqOnMoZD0+aT1kLCJvblRhZ09iaiIpfSk7aT8/KGk9ZnhhKGUuZG9jLnNjaGVtYS50YWdzLG8pKTtsZXQgbj1oeGEobyxpLGUpO24ubGVuZ3RoPjAmJihlLmluZGVudEF0U3RhcnQ9KGUuaW5kZW50QXRTdGFydD8/MCkrbi5sZW5ndGgrMSk7bGV0IGw9dHlwZW9mIGkuc3RyaW5naWZ5PT0iZnVuY3Rpb24iP2kuc3RyaW5naWZ5KG8sZSx0LHIpOnF0KG8pP0wyKG8sZSx0LHIpOm8udG9TdHJpbmcoZSx0LHIpO3JldHVybiBuP3F0KG8pfHxsWzBdPT09InsifHxsWzBdPT09IlsiP2Ake259ICR7bH1gOmAke259CiR7ZS5pbmRlbnR9JHtsfWA6bH12YXIgcGc9ZigoKT0+e0xYKCk7TGEoKTtuZygpO2RnKCk7cyh1ZywiY3JlYXRlU3RyaW5naWZ5Q29udGV4dCIpO3MoZnhhLCJnZXRUYWdPYmplY3QiKTtzKGh4YSwic3RyaW5naWZ5UHJvcHMiKTtzKCQyLCJzdHJpbmdpZnkiKX0pO2Z1bmN0aW9uIHFjZSh7a2V5OmEsdmFsdWU6ZX0sdCxyLGkpe2xldHthbGxOdWxsVmFsdWVzOm8sZG9jOm4saW5kZW50OmwsaW5kZW50U3RlcDpkLG9wdGlvbnM6e2NvbW1lbnRTdHJpbmc6YyxpbmRlbnRTZXE6cCxzaW1wbGVLZXlzOnV9fT10LG09ZGEoYSkmJmEuY29tbWVudHx8bnVsbDtpZih1KXtpZihtKXRocm93IG5ldyBFcnJvcigiV2l0aCBzaW1wbGUga2V5cywga2V5IG5vZGVzIGNhbm5vdCBoYXZlIGNvbW1lbnRzIik7aWYoVGEoYSl8fCFkYShhKSYmdHlwZW9mIGE9PSJvYmplY3QiKXtsZXQgTz0iV2l0aCBzaW1wbGUga2V5cywgY29sbGVjdGlvbiBjYW5ub3QgYmUgdXNlZCBhcyBhIGtleSB2YWx1ZSI7dGhyb3cgbmV3IEVycm9yKE8pfX1sZXQgdj0hdSYmKCFhfHxtJiZlPT1udWxsJiYhdC5pbkZsb3d8fFRhKGEpfHwocXQoYSk/YS50eXBlPT09ZnQuQkxPQ0tfRk9MREVEfHxhLnR5cGU9PT1mdC5CTE9DS19MSVRFUkFMOnR5cGVvZiBhPT0ib2JqZWN0IikpO3Q9T2JqZWN0LmFzc2lnbih7fSx0LHthbGxOdWxsVmFsdWVzOiExLGltcGxpY2l0S2V5OiF2JiYodXx8IW8pLGluZGVudDpsK2R9KTtsZXQgeD0hMSxiPSExLGc9JDIoYSx0LCgpPT54PSEwLCgpPT5iPSEwKTtpZighdiYmIXQuaW5GbG93JiZnLmxlbmd0aD4xMDI0KXtpZih1KXRocm93IG5ldyBFcnJvcigiV2l0aCBzaW1wbGUga2V5cywgc2luZ2xlIGxpbmUgc2NhbGFyIG11c3Qgbm90IHNwYW4gbW9yZSB0aGFuIDEwMjQgY2hhcmFjdGVycyIpO3Y9ITB9aWYodC5pbkZsb3cpe2lmKG98fGU9PW51bGwpcmV0dXJuIHgmJnImJnIoKSxnPT09IiI/Ij8iOnY/YD8gJHtnfWA6Z31lbHNlIGlmKG8mJiF1fHxlPT1udWxsJiZ2KXJldHVybiBnPWA/ICR7Z31gLG0mJiF4P2crPWYxKGcsdC5pbmRlbnQsYyhtKSk6YiYmaSYmaSgpLGc7eCYmKG09bnVsbCksdj8obSYmKGcrPWYxKGcsdC5pbmRlbnQsYyhtKSkpLGc9YD8gJHtnfQoke2x9OmApOihnPWAke2d9OmAsbSYmKGcrPWYxKGcsdC5pbmRlbnQsYyhtKSkpKTtsZXQgeSxrLEM7ZGEoZSk/KHk9ISFlLnNwYWNlQmVmb3JlLGs9ZS5jb21tZW50QmVmb3JlLEM9ZS5jb21tZW50KTooeT0hMSxrPW51bGwsQz1udWxsLGUmJnR5cGVvZiBlPT0ib2JqZWN0IiYmKGU9bi5jcmVhdGVOb2RlKGUpKSksdC5pbXBsaWNpdEtleT0hMSwhdiYmIW0mJnF0KGUpJiYodC5pbmRlbnRBdFN0YXJ0PWcubGVuZ3RoKzEpLGI9ITEsIXAmJmQubGVuZ3RoPj0yJiYhdC5pbkZsb3cmJiF2JiZDbyhlKSYmIWUuZmxvdyYmIWUudGFnJiYhZS5hbmNob3ImJih0LmluZGVudD10LmluZGVudC5zdWJzdHJpbmcoMikpO2xldCBOPSExLF89JDIoZSx0LCgpPT5OPSEwLCgpPT5iPSEwKSx6PSIgIjtpZihtfHx5fHxrKXtpZih6PXk/YApgOiIiLGspe2xldCBPPWMoayk7eis9YAoke1VvKE8sdC5pbmRlbnQpfWB9Xz09PSIiJiYhdC5pbkZsb3c/ej09PWAKYCYmQyYmKHo9YAoKYCk6eis9YAoke3QuaW5kZW50fWB9ZWxzZSBpZighdiYmVGEoZSkpe2xldCBPPV9bMF0sVD1fLmluZGV4T2YoYApgKSxFPVQhPT0tMSxCPXQuaW5GbG93Pz9lLmZsb3c/P2UuaXRlbXMubGVuZ3RoPT09MDtpZihFfHwhQil7bGV0IE09ITE7aWYoRSYmKE89PT0iJiJ8fE89PT0iISIpKXtsZXQgUz1fLmluZGV4T2YoIiAiKTtPPT09IiYiJiZTIT09LTEmJlM8VCYmX1tTKzFdPT09IiEiJiYoUz1fLmluZGV4T2YoIiAiLFMrMSkpLChTPT09LTF8fFQ8UykmJihNPSEwKX1NfHwoej1gCiR7dC5pbmRlbnR9YCl9fWVsc2UoXz09PSIifHxfWzBdPT09YApgKSYmKHo9IiIpO3JldHVybiBnKz16K18sdC5pbkZsb3c/TiYmciYmcigpOkMmJiFOP2crPWYxKGcsdC5pbmRlbnQsYyhDKSk6YiYmaSYmaSgpLGd9dmFyIEY0dD1mKCgpPT57TGEoKTtscygpO3BnKCk7bmcoKTtzKHFjZSwic3RyaW5naWZ5UGFpciIpfSk7ZnVuY3Rpb24gbXhhKGEsLi4uZSl7YT09PSJkZWJ1ZyImJmNvbnNvbGUubG9nKC4uLmUpfWZ1bmN0aW9uIGZnKGEsZSl7KGE9PT0iZGVidWcifHxhPT09Indhcm4iKSYmY29uc29sZS53YXJuKGUpfXZhciBWY2U9ZigoKT0+e3MobXhhLCJkZWJ1ZyIpO3MoZmcsIndhcm4iKX0pO2Z1bmN0aW9uIE9YKGEsZSx0KXtsZXQgcj1CNHQoYSx0KTtpZihDbyhyKSlmb3IobGV0IGkgb2Ygci5pdGVtcylqY2UoYSxlLGkpO2Vsc2UgaWYoQXJyYXkuaXNBcnJheShyKSlmb3IobGV0IGkgb2YgcilqY2UoYSxlLGkpO2Vsc2UgamNlKGEsZSxyKX1mdW5jdGlvbiBqY2UoYSxlLHQpe2xldCByPUI0dChhLHQpO2lmKCF6byhyKSl0aHJvdyBuZXcgRXJyb3IoIk1lcmdlIHNvdXJjZXMgbXVzdCBiZSBtYXBzIG9yIG1hcCBhbGlhc2VzIik7bGV0IGk9ci50b0pTT04obnVsbCxhLE1hcCk7Zm9yKGxldFtvLG5db2YgaSllIGluc3RhbmNlb2YgTWFwP2UuaGFzKG8pfHxlLnNldChvLG4pOmUgaW5zdGFuY2VvZiBTZXQ/ZS5hZGQobyk6T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsbyl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG8se3ZhbHVlOm4sd3JpdGFibGU6ITAsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KTtyZXR1cm4gZX1mdW5jdGlvbiBCNHQoYSxlKXtyZXR1cm4gYSYma28oZSk/ZS5yZXNvbHZlKGEuZG9jLGEpOmV9dmFyIFJYLHduLFVjZSxGWD1mKCgpPT57TGEoKTtscygpO1JYPSI8PCIsd249e2lkZW50aWZ5OnMoYT0+YT09PVJYfHx0eXBlb2YgYT09InN5bWJvbCImJmEuZGVzY3JpcHRpb249PT1SWCwiaWRlbnRpZnkiKSxkZWZhdWx0OiJrZXkiLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6bWVyZ2UiLHRlc3Q6L148PCQvLHJlc29sdmU6cygoKT0+T2JqZWN0LmFzc2lnbihuZXcgZnQoU3ltYm9sKFJYKSkse2FkZFRvSlNNYXA6T1h9KSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpzKCgpPT5SWCwic3RyaW5naWZ5Iil9LFVjZT1zKChhLGUpPT4od24uaWRlbnRpZnkoZSl8fHF0KGUpJiYoIWUudHlwZXx8ZS50eXBlPT09ZnQuUExBSU4pJiZ3bi5pZGVudGlmeShlLnZhbHVlKSkmJmE/LmRvYy5zY2hlbWEudGFncy5zb21lKHQ9PnQudGFnPT09d24udGFnJiZ0LmRlZmF1bHQpLCJpc01lcmdlS2V5Iik7cyhPWCwiYWRkTWVyZ2VUb0pTTWFwIik7cyhqY2UsIm1lcmdlVmFsdWUiKTtzKEI0dCwicmVzb2x2ZUFsaWFzVmFsdWUiKX0pO2Z1bmN0aW9uIGhnKGEsZSx7a2V5OnQsdmFsdWU6cn0pe2lmKGRhKHQpJiZ0LmFkZFRvSlNNYXApdC5hZGRUb0pTTWFwKGEsZSxyKTtlbHNlIGlmKFVjZShhLHQpKU9YKGEsZSxyKTtlbHNle2xldCBpPW5zKHQsIiIsYSk7aWYoZSBpbnN0YW5jZW9mIE1hcCllLnNldChpLG5zKHIsaSxhKSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgU2V0KWUuYWRkKGkpO2Vsc2V7bGV0IG89Z3hhKHQsaSxhKSxuPW5zKHIsbyxhKTtvIGluIGU/T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbyx7dmFsdWU6bix3cml0YWJsZTohMCxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pOmVbb109bn19cmV0dXJuIGV9ZnVuY3Rpb24gZ3hhKGEsZSx0KXtpZihlPT09bnVsbClyZXR1cm4iIjtpZih0eXBlb2YgZSE9Im9iamVjdCIpcmV0dXJuIFN0cmluZyhlKTtpZihkYShhKSYmdD8uZG9jKXtsZXQgcj11Zyh0LmRvYyx7fSk7ci5hbmNob3JzPW5ldyBTZXQ7Zm9yKGxldCBvIG9mIHQuYW5jaG9ycy5rZXlzKCkpci5hbmNob3JzLmFkZChvLmFuY2hvcik7ci5pbkZsb3c9ITAsci5pblN0cmluZ2lmeUtleT0hMDtsZXQgaT1hLnRvU3RyaW5nKHIpO2lmKCF0Lm1hcEtleVdhcm5lZCl7bGV0IG89SlNPTi5zdHJpbmdpZnkoaSk7by5sZW5ndGg+NDAmJihvPW8uc3Vic3RyaW5nKDAsMzYpKycuLi4iJyksZmcodC5kb2Mub3B0aW9ucy5sb2dMZXZlbCxgS2V5cyB3aXRoIGNvbGxlY3Rpb24gdmFsdWVzIHdpbGwgYmUgc3RyaW5naWZpZWQgZHVlIHRvIEpTIE9iamVjdCByZXN0cmljdGlvbnM6ICR7b30uIFNldCBtYXBBc01hcDogdHJ1ZSB0byB1c2Ugb2JqZWN0IGtleXMuYCksdC5tYXBLZXlXYXJuZWQ9ITB9cmV0dXJuIGl9cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfXZhciBXY2U9ZigoKT0+e1ZjZSgpO0ZYKCk7cGcoKTtMYSgpO1QwKCk7cyhoZywiYWRkUGFpclRvSlNNYXAiKTtzKGd4YSwic3RyaW5naWZ5S2V5Iil9KTtmdW5jdGlvbiBSMyhhLGUsdCl7bGV0IHI9VDIoYSx2b2lkIDAsdCksaT1UMihlLHZvaWQgMCx0KTtyZXR1cm4gbmV3IHVyKHIsaSl9dmFyIHVyLEwwPWYoKCk9PntvZygpO0Y0dCgpO1djZSgpO0xhKCk7cyhSMywiY3JlYXRlUGFpciIpO3VyPWNsYXNzIGF7c3RhdGlje3ModGhpcywiUGFpciIpfWNvbnN0cnVjdG9yKGUsdD1udWxsKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxraSx7dmFsdWU6Q1h9KSx0aGlzLmtleT1lLHRoaXMudmFsdWU9dH1jbG9uZShlKXtsZXR7a2V5OnQsdmFsdWU6cn09dGhpcztyZXR1cm4gZGEodCkmJih0PXQuY2xvbmUoZSkpLGRhKHIpJiYocj1yLmNsb25lKGUpKSxuZXcgYSh0LHIpfXRvSlNPTihlLHQpe2xldCByPXQ/Lm1hcEFzTWFwP25ldyBNYXA6e307cmV0dXJuIGhnKHQscix0aGlzKX10b1N0cmluZyhlLHQscil7cmV0dXJuIGU/LmRvYz9xY2UodGhpcyxlLHQscik6SlNPTi5zdHJpbmdpZnkodGhpcyl9fX0pO2Z1bmN0aW9uIG1nKGEsZSx0KXtyZXR1cm4oZS5pbkZsb3c/P2EuZmxvdz92eGE6YnhhKShhLGUsdCl9ZnVuY3Rpb24gYnhhKHtjb21tZW50OmEsaXRlbXM6ZX0sdCx7YmxvY2tJdGVtUHJlZml4OnIsZmxvd0NoYXJzOmksaXRlbUluZGVudDpvLG9uQ2hvbXBLZWVwOm4sb25Db21tZW50Omx9KXtsZXR7aW5kZW50OmQsb3B0aW9uczp7Y29tbWVudFN0cmluZzpjfX09dCxwPU9iamVjdC5hc3NpZ24oe30sdCx7aW5kZW50Om8sdHlwZTpudWxsfSksdT0hMSxtPVtdO2ZvcihsZXQgeD0wO3g8ZS5sZW5ndGg7Kyt4KXtsZXQgYj1lW3hdLGc9bnVsbDtpZihkYShiKSkhdSYmYi5zcGFjZUJlZm9yZSYmbS5wdXNoKCIiKSxCWCh0LG0sYi5jb21tZW50QmVmb3JlLHUpLGIuY29tbWVudCYmKGc9Yi5jb21tZW50KTtlbHNlIGlmKGFhKGIpKXtsZXQgaz1kYShiLmtleSk/Yi5rZXk6bnVsbDtrJiYoIXUmJmsuc3BhY2VCZWZvcmUmJm0ucHVzaCgiIiksQlgodCxtLGsuY29tbWVudEJlZm9yZSx1KSl9dT0hMTtsZXQgeT0kMihiLHAsKCk9Pmc9bnVsbCwoKT0+dT0hMCk7ZyYmKHkrPWYxKHksbyxjKGcpKSksdSYmZyYmKHU9ITEpLG0ucHVzaChyK3kpfWxldCB2O2lmKG0ubGVuZ3RoPT09MCl2PWkuc3RhcnQraS5lbmQ7ZWxzZXt2PW1bMF07Zm9yKGxldCB4PTE7eDxtLmxlbmd0aDsrK3gpe2xldCBiPW1beF07dis9Yj9gCiR7ZH0ke2J9YDpgCmB9fXJldHVybiBhPyh2Kz1gCmArVW8oYyhhKSxkKSxsJiZsKCkpOnUmJm4mJm4oKSx2fWZ1bmN0aW9uIHZ4YSh7aXRlbXM6YX0sZSx7Zmxvd0NoYXJzOnQsaXRlbUluZGVudDpyfSl7bGV0e2luZGVudDppLGluZGVudFN0ZXA6byxmbG93Q29sbGVjdGlvblBhZGRpbmc6bixvcHRpb25zOntjb21tZW50U3RyaW5nOmx9fT1lO3IrPW87bGV0IGQ9T2JqZWN0LmFzc2lnbih7fSxlLHtpbmRlbnQ6cixpbkZsb3c6ITAsdHlwZTpudWxsfSksYz0hMSxwPTAsdT1bXTtmb3IobGV0IHg9MDt4PGEubGVuZ3RoOysreCl7bGV0IGI9YVt4XSxnPW51bGw7aWYoZGEoYikpYi5zcGFjZUJlZm9yZSYmdS5wdXNoKCIiKSxCWChlLHUsYi5jb21tZW50QmVmb3JlLCExKSxiLmNvbW1lbnQmJihnPWIuY29tbWVudCk7ZWxzZSBpZihhYShiKSl7bGV0IGs9ZGEoYi5rZXkpP2Iua2V5Om51bGw7ayYmKGsuc3BhY2VCZWZvcmUmJnUucHVzaCgiIiksQlgoZSx1LGsuY29tbWVudEJlZm9yZSwhMSksay5jb21tZW50JiYoYz0hMCkpO2xldCBDPWRhKGIudmFsdWUpP2IudmFsdWU6bnVsbDtDPyhDLmNvbW1lbnQmJihnPUMuY29tbWVudCksQy5jb21tZW50QmVmb3JlJiYoYz0hMCkpOmIudmFsdWU9PW51bGwmJms/LmNvbW1lbnQmJihnPWsuY29tbWVudCl9ZyYmKGM9ITApO2xldCB5PSQyKGIsZCwoKT0+Zz1udWxsKTtjfHwoYz11Lmxlbmd0aD5wfHx5LmluY2x1ZGVzKGAKYCkpLHg8YS5sZW5ndGgtMT95Kz0iLCI6ZS5vcHRpb25zLnRyYWlsaW5nQ29tbWEmJihlLm9wdGlvbnMubGluZVdpZHRoPjAmJihjfHwoYz11LnJlZHVjZSgoayxDKT0+aytDLmxlbmd0aCsyLDIpKyh5Lmxlbmd0aCsyKT5lLm9wdGlvbnMubGluZVdpZHRoKSksYyYmKHkrPSIsIikpLGcmJih5Kz1mMSh5LHIsbChnKSkpLHUucHVzaCh5KSxwPXUubGVuZ3RofWxldHtzdGFydDptLGVuZDp2fT10O2lmKHUubGVuZ3RoPT09MClyZXR1cm4gbSt2O2lmKCFjKXtsZXQgeD11LnJlZHVjZSgoYixnKT0+YitnLmxlbmd0aCsyLDIpO2M9ZS5vcHRpb25zLmxpbmVXaWR0aD4wJiZ4PmUub3B0aW9ucy5saW5lV2lkdGh9aWYoYyl7bGV0IHg9bTtmb3IobGV0IGIgb2YgdSl4Kz1iP2AKJHtvfSR7aX0ke2J9YDpgCmA7cmV0dXJuYCR7eH0KJHtpfSR7dn1gfWVsc2UgcmV0dXJuYCR7bX0ke259JHt1LmpvaW4oIiAiKX0ke259JHt2fWB9ZnVuY3Rpb24gQlgoe2luZGVudDphLG9wdGlvbnM6e2NvbW1lbnRTdHJpbmc6ZX19LHQscixpKXtpZihyJiZpJiYocj1yLnJlcGxhY2UoL15cbisvLCIiKSkscil7bGV0IG89VW8oZShyKSxhKTt0LnB1c2goby50cmltU3RhcnQoKSl9fXZhciBHY2U9ZigoKT0+e0xhKCk7cGcoKTtuZygpO3MobWcsInN0cmluZ2lmeUNvbGxlY3Rpb24iKTtzKGJ4YSwic3RyaW5naWZ5QmxvY2tDb2xsZWN0aW9uIik7cyh2eGEsInN0cmluZ2lmeUZsb3dDb2xsZWN0aW9uIik7cyhCWCwiYWRkQ29tbWVudEJlZm9yZSIpfSk7ZnVuY3Rpb24gTmwoYSxlKXtsZXQgdD1xdChlKT9lLnZhbHVlOmU7Zm9yKGxldCByIG9mIGEpaWYoYWEocikmJihyLmtleT09PWV8fHIua2V5PT09dHx8cXQoci5rZXkpJiZyLmtleS52YWx1ZT09PXQpKXJldHVybiByfXZhciB5ciwkMD1mKCgpPT57R2NlKCk7V2NlKCk7QVgoKTtMYSgpO0wwKCk7bHMoKTtzKE5sLCJmaW5kUGFpciIpO3lyPWNsYXNzIGV4dGVuZHMgSTN7c3RhdGlje3ModGhpcywiWUFNTE1hcCIpfXN0YXRpYyBnZXQgdGFnTmFtZSgpe3JldHVybiJ0YWc6eWFtbC5vcmcsMjAwMjptYXAifWNvbnN0cnVjdG9yKGUpe3N1cGVyKHhuLGUpLHRoaXMuaXRlbXM9W119c3RhdGljIGZyb20oZSx0LHIpe2xldHtrZWVwVW5kZWZpbmVkOmkscmVwbGFjZXI6b309cixuPW5ldyB0aGlzKGUpLGw9cygoZCxjKT0+e2lmKHR5cGVvZiBvPT0iZnVuY3Rpb24iKWM9by5jYWxsKHQsZCxjKTtlbHNlIGlmKEFycmF5LmlzQXJyYXkobykmJiFvLmluY2x1ZGVzKGQpKXJldHVybjsoYyE9PXZvaWQgMHx8aSkmJm4uaXRlbXMucHVzaChSMyhkLGMscikpfSwiYWRkIik7aWYodCBpbnN0YW5jZW9mIE1hcClmb3IobGV0W2QsY11vZiB0KWwoZCxjKTtlbHNlIGlmKHQmJnR5cGVvZiB0PT0ib2JqZWN0Iilmb3IobGV0IGQgb2YgT2JqZWN0LmtleXModCkpbChkLHRbZF0pO3JldHVybiB0eXBlb2YgZS5zb3J0TWFwRW50cmllcz09ImZ1bmN0aW9uIiYmbi5pdGVtcy5zb3J0KGUuc29ydE1hcEVudHJpZXMpLG59YWRkKGUsdCl7bGV0IHI7YWEoZSk/cj1lOiFlfHx0eXBlb2YgZSE9Im9iamVjdCJ8fCEoImtleSJpbiBlKT9yPW5ldyB1cihlLGU/LnZhbHVlKTpyPW5ldyB1cihlLmtleSxlLnZhbHVlKTtsZXQgaT1ObCh0aGlzLml0ZW1zLHIua2V5KSxvPXRoaXMuc2NoZW1hPy5zb3J0TWFwRW50cmllcztpZihpKXtpZighdCl0aHJvdyBuZXcgRXJyb3IoYEtleSAke3Iua2V5fSBhbHJlYWR5IHNldGApO3F0KGkudmFsdWUpJiZpZyhyLnZhbHVlKT9pLnZhbHVlLnZhbHVlPXIudmFsdWU6aS52YWx1ZT1yLnZhbHVlfWVsc2UgaWYobyl7bGV0IG49dGhpcy5pdGVtcy5maW5kSW5kZXgobD0+byhyLGwpPDApO249PT0tMT90aGlzLml0ZW1zLnB1c2gocik6dGhpcy5pdGVtcy5zcGxpY2UobiwwLHIpfWVsc2UgdGhpcy5pdGVtcy5wdXNoKHIpfWRlbGV0ZShlKXtsZXQgdD1ObCh0aGlzLml0ZW1zLGUpO3JldHVybiB0P3RoaXMuaXRlbXMuc3BsaWNlKHRoaXMuaXRlbXMuaW5kZXhPZih0KSwxKS5sZW5ndGg+MDohMX1nZXQoZSx0KXtsZXQgaT1ObCh0aGlzLml0ZW1zLGUpPy52YWx1ZTtyZXR1cm4oIXQmJnF0KGkpP2kudmFsdWU6aSk/P3ZvaWQgMH1oYXMoZSl7cmV0dXJuISFObCh0aGlzLml0ZW1zLGUpfXNldChlLHQpe3RoaXMuYWRkKG5ldyB1cihlLHQpLCEwKX10b0pTT04oZSx0LHIpe2xldCBpPXI/bmV3IHI6dD8ubWFwQXNNYXA/bmV3IE1hcDp7fTt0Py5vbkNyZWF0ZSYmdC5vbkNyZWF0ZShpKTtmb3IobGV0IG8gb2YgdGhpcy5pdGVtcyloZyh0LGksbyk7cmV0dXJuIGl9dG9TdHJpbmcoZSx0LHIpe2lmKCFlKXJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzKTtmb3IobGV0IGkgb2YgdGhpcy5pdGVtcylpZighYWEoaSkpdGhyb3cgbmV3IEVycm9yKGBNYXAgaXRlbXMgbXVzdCBhbGwgYmUgcGFpcnM7IGZvdW5kICR7SlNPTi5zdHJpbmdpZnkoaSl9IGluc3RlYWRgKTtyZXR1cm4hZS5hbGxOdWxsVmFsdWVzJiZ0aGlzLmhhc0FsbE51bGxWYWx1ZXMoITEpJiYoZT1PYmplY3QuYXNzaWduKHt9LGUse2FsbE51bGxWYWx1ZXM6ITB9KSksbWcodGhpcyxlLHtibG9ja0l0ZW1QcmVmaXg6IiIsZmxvd0NoYXJzOntzdGFydDoieyIsZW5kOiJ9In0saXRlbUluZGVudDplLmluZGVudHx8IiIsb25DaG9tcEtlZXA6cixvbkNvbW1lbnQ6dH0pfX19KTt2YXIgTW4sdDg9ZigoKT0+e0xhKCk7JDAoKTtNbj17Y29sbGVjdGlvbjoibWFwIixkZWZhdWx0OiEwLG5vZGVDbGFzczp5cix0YWc6InRhZzp5YW1sLm9yZywyMDAyOm1hcCIscmVzb2x2ZShhLGUpe3JldHVybiB6byhhKXx8ZSgiRXhwZWN0ZWQgYSBtYXBwaW5nIGZvciB0aGlzIHRhZyIpLGF9LGNyZWF0ZU5vZGU6cygoYSxlLHQpPT55ci5mcm9tKGEsZSx0KSwiY3JlYXRlTm9kZSIpfX0pO2Z1bmN0aW9uIEhYKGEpe2xldCBlPXF0KGEpP2EudmFsdWU6YTtyZXR1cm4gZSYmdHlwZW9mIGU9PSJzdHJpbmciJiYoZT1OdW1iZXIoZSkpLHR5cGVvZiBlPT0ibnVtYmVyIiYmTnVtYmVyLmlzSW50ZWdlcihlKSYmZT49MD9lOm51bGx9dmFyIF9zLEQwPWYoKCk9PntvZygpO0djZSgpO0FYKCk7TGEoKTtscygpO1QwKCk7X3M9Y2xhc3MgZXh0ZW5kcyBJM3tzdGF0aWN7cyh0aGlzLCJZQU1MU2VxIil9c3RhdGljIGdldCB0YWdOYW1lKCl7cmV0dXJuInRhZzp5YW1sLm9yZywyMDAyOnNlcSJ9Y29uc3RydWN0b3IoZSl7c3VwZXIoQzIsZSksdGhpcy5pdGVtcz1bXX1hZGQoZSl7dGhpcy5pdGVtcy5wdXNoKGUpfWRlbGV0ZShlKXtsZXQgdD1IWChlKTtyZXR1cm4gdHlwZW9mIHQhPSJudW1iZXIiPyExOnRoaXMuaXRlbXMuc3BsaWNlKHQsMSkubGVuZ3RoPjB9Z2V0KGUsdCl7bGV0IHI9SFgoZSk7aWYodHlwZW9mIHIhPSJudW1iZXIiKXJldHVybjtsZXQgaT10aGlzLml0ZW1zW3JdO3JldHVybiF0JiZxdChpKT9pLnZhbHVlOml9aGFzKGUpe2xldCB0PUhYKGUpO3JldHVybiB0eXBlb2YgdD09Im51bWJlciImJnQ8dGhpcy5pdGVtcy5sZW5ndGh9c2V0KGUsdCl7bGV0IHI9SFgoZSk7aWYodHlwZW9mIHIhPSJudW1iZXIiKXRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgYSB2YWxpZCBpbmRleCwgbm90ICR7ZX0uYCk7bGV0IGk9dGhpcy5pdGVtc1tyXTtxdChpKSYmaWcodCk/aS52YWx1ZT10OnRoaXMuaXRlbXNbcl09dH10b0pTT04oZSx0KXtsZXQgcj1bXTt0Py5vbkNyZWF0ZSYmdC5vbkNyZWF0ZShyKTtsZXQgaT0wO2ZvcihsZXQgbyBvZiB0aGlzLml0ZW1zKXIucHVzaChucyhvLFN0cmluZyhpKyspLHQpKTtyZXR1cm4gcn10b1N0cmluZyhlLHQscil7cmV0dXJuIGU/bWcodGhpcyxlLHtibG9ja0l0ZW1QcmVmaXg6Ii0gIixmbG93Q2hhcnM6e3N0YXJ0OiJbIixlbmQ6Il0ifSxpdGVtSW5kZW50OihlLmluZGVudHx8IiIpKyIgICIsb25DaG9tcEtlZXA6cixvbkNvbW1lbnQ6dH0pOkpTT04uc3RyaW5naWZ5KHRoaXMpfXN0YXRpYyBmcm9tKGUsdCxyKXtsZXR7cmVwbGFjZXI6aX09cixvPW5ldyB0aGlzKGUpO2lmKHQmJlN5bWJvbC5pdGVyYXRvciBpbiBPYmplY3QodCkpe2xldCBuPTA7Zm9yKGxldCBsIG9mIHQpe2lmKHR5cGVvZiBpPT0iZnVuY3Rpb24iKXtsZXQgZD10IGluc3RhbmNlb2YgU2V0P2w6U3RyaW5nKG4rKyk7bD1pLmNhbGwodCxkLGwpfW8uaXRlbXMucHVzaChUMihsLHZvaWQgMCxyKSl9fXJldHVybiBvfX07cyhIWCwiYXNJdGVtSW5kZXgiKX0pO3ZhciBrbixhOD1mKCgpPT57TGEoKTtEMCgpO2tuPXtjb2xsZWN0aW9uOiJzZXEiLGRlZmF1bHQ6ITAsbm9kZUNsYXNzOl9zLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6c2VxIixyZXNvbHZlKGEsZSl7cmV0dXJuIENvKGEpfHxlKCJFeHBlY3RlZCBhIHNlcXVlbmNlIGZvciB0aGlzIHRhZyIpLGF9LGNyZWF0ZU5vZGU6cygoYSxlLHQpPT5fcy5mcm9tKGEsZSx0KSwiY3JlYXRlTm9kZSIpfX0pO3ZhciBSbCxnZz1mKCgpPT57ZGcoKTtSbD17aWRlbnRpZnk6cyhhPT50eXBlb2YgYT09InN0cmluZyIsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOnN0ciIscmVzb2x2ZTpzKGE9PmEsInJlc29sdmUiKSxzdHJpbmdpZnkoYSxlLHQscil7cmV0dXJuIGU9T2JqZWN0LmFzc2lnbih7YWN0dWFsU3RyaW5nOiEwfSxlKSxMMihhLGUsdCxyKX19fSk7dmFyIEEwLHFYPWYoKCk9PntscygpO0EwPXtpZGVudGlmeTpzKGE9PmE9PW51bGwsImlkZW50aWZ5IiksY3JlYXRlTm9kZTpzKCgpPT5uZXcgZnQobnVsbCksImNyZWF0ZU5vZGUiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6bnVsbCIsdGVzdDovXig/On58W05uXXVsbHxOVUxMKT8kLyxyZXNvbHZlOnMoKCk9Pm5ldyBmdChudWxsKSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpzKCh7c291cmNlOmF9LGUpPT50eXBlb2YgYT09InN0cmluZyImJkEwLnRlc3QudGVzdChhKT9hOmUub3B0aW9ucy5udWxsU3RyLCJzdHJpbmdpZnkiKX19KTt2YXIgcjgsWWNlPWYoKCk9PntscygpO3I4PXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0iYm9vbGVhbiIsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmJvb2wiLHRlc3Q6L14oPzpbVHRdcnVlfFRSVUV8W0ZmXWFsc2V8RkFMU0UpJC8scmVzb2x2ZTpzKGE9Pm5ldyBmdChhWzBdPT09InQifHxhWzBdPT09IlQiKSwicmVzb2x2ZSIpLHN0cmluZ2lmeSh7c291cmNlOmEsdmFsdWU6ZX0sdCl7aWYoYSYmcjgudGVzdC50ZXN0KGEpKXtsZXQgcj1hWzBdPT09InQifHxhWzBdPT09IlQiO2lmKGU9PT1yKXJldHVybiBhfXJldHVybiBlP3Qub3B0aW9ucy50cnVlU3RyOnQub3B0aW9ucy5mYWxzZVN0cn19fSk7ZnVuY3Rpb24gWHMoe2Zvcm1hdDphLG1pbkZyYWN0aW9uRGlnaXRzOmUsdGFnOnQsdmFsdWU6cn0pe2lmKHR5cGVvZiByPT0iYmlnaW50IilyZXR1cm4gU3RyaW5nKHIpO2xldCBpPXR5cGVvZiByPT0ibnVtYmVyIj9yOk51bWJlcihyKTtpZighaXNGaW5pdGUoaSkpcmV0dXJuIGlzTmFOKGkpPyIubmFuIjppPDA/Ii0uaW5mIjoiLmluZiI7bGV0IG89T2JqZWN0LmlzKHIsLTApPyItMCI6SlNPTi5zdHJpbmdpZnkocik7aWYoIWEmJmUmJighdHx8dD09PSJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdCIpJiYvXi0/XGQvLnRlc3QobykmJiFvLmluY2x1ZGVzKCJlIikpe2xldCBuPW8uaW5kZXhPZigiLiIpO248MCYmKG49by5sZW5ndGgsbys9Ii4iKTtsZXQgbD1lLShvLmxlbmd0aC1uLTEpO2Zvcig7bC0tID4wOylvKz0iMCJ9cmV0dXJuIG99dmFyIHM4PWYoKCk9PntzKFhzLCJzdHJpbmdpZnlOdW1iZXIiKX0pO3ZhciBiZyx2Zyx4ZyxLY2U9ZigoKT0+e2xzKCk7czgoKTtiZz17aWRlbnRpZnk6cyhhPT50eXBlb2YgYT09Im51bWJlciIsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmZsb2F0Iix0ZXN0Oi9eKD86Wy0rXT9cLig/OmluZnxJbmZ8SU5GKXxcLm5hbnxcLk5hTnxcLk5BTikkLyxyZXNvbHZlOnMoYT0+YS5zbGljZSgtMykudG9Mb3dlckNhc2UoKT09PSJuYW4iP05hTjphWzBdPT09Ii0iP051bWJlci5ORUdBVElWRV9JTkZJTklUWTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksInJlc29sdmUiKSxzdHJpbmdpZnk6WHN9LHZnPXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0ibnVtYmVyIiwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiLGZvcm1hdDoiRVhQIix0ZXN0Oi9eWy0rXT8oPzpcLlswLTldK3xbMC05XSsoPzpcLlswLTldKik/KVtlRV1bLStdP1swLTldKyQvLHJlc29sdmU6cyhhPT5wYXJzZUZsb2F0KGEpLCJyZXNvbHZlIiksc3RyaW5naWZ5KGEpe2xldCBlPU51bWJlcihhLnZhbHVlKTtyZXR1cm4gaXNGaW5pdGUoZSk/ZS50b0V4cG9uZW50aWFsKCk6WHMoYSl9fSx4Zz17aWRlbnRpZnk6cyhhPT50eXBlb2YgYT09Im51bWJlciIsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmZsb2F0Iix0ZXN0Oi9eWy0rXT8oPzpcLlswLTldK3xbMC05XStcLlswLTldKikkLyxyZXNvbHZlKGEpe2xldCBlPW5ldyBmdChwYXJzZUZsb2F0KGEpKSx0PWEuaW5kZXhPZigiLiIpO3JldHVybiB0IT09LTEmJmFbYS5sZW5ndGgtMV09PT0iMCImJihlLm1pbkZyYWN0aW9uRGlnaXRzPWEubGVuZ3RoLXQtMSksZX0sc3RyaW5naWZ5OlhzfX0pO2Z1bmN0aW9uIEg0dChhLGUsdCl7bGV0e3ZhbHVlOnJ9PWE7cmV0dXJuIFZYKHIpJiZyPj0wP3Qrci50b1N0cmluZyhlKTpYcyhhKX12YXIgVlgsWmNlLHlnLHdnLE1nLFhjZT1mKCgpPT57czgoKTtWWD1zKGE9PnR5cGVvZiBhPT0iYmlnaW50Inx8TnVtYmVyLmlzSW50ZWdlcihhKSwiaW50SWRlbnRpZnkiKSxaY2U9cygoYSxlLHQse2ludEFzQmlnSW50OnJ9KT0+cj9CaWdJbnQoYSk6cGFyc2VJbnQoYS5zdWJzdHJpbmcoZSksdCksImludFJlc29sdmUiKTtzKEg0dCwiaW50U3RyaW5naWZ5Iik7eWc9e2lkZW50aWZ5OnMoYT0+VlgoYSkmJmE+PTAsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmludCIsZm9ybWF0OiJPQ1QiLHRlc3Q6L14wb1swLTddKyQvLHJlc29sdmU6cygoYSxlLHQpPT5aY2UoYSwyLDgsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6cyhhPT5INHQoYSw4LCIwbyIpLCJzdHJpbmdpZnkiKX0sd2c9e2lkZW50aWZ5OlZYLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjppbnQiLHRlc3Q6L15bLStdP1swLTldKyQvLHJlc29sdmU6cygoYSxlLHQpPT5aY2UoYSwwLDEwLHQpLCJyZXNvbHZlIiksc3RyaW5naWZ5OlhzfSxNZz17aWRlbnRpZnk6cyhhPT5WWChhKSYmYT49MCwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6aW50Iixmb3JtYXQ6IkhFWCIsdGVzdDovXjB4WzAtOWEtZkEtRl0rJC8scmVzb2x2ZTpzKChhLGUsdCk9PlpjZShhLDIsMTYsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6cyhhPT5INHQoYSwxNiwiMHgiKSwic3RyaW5naWZ5Iil9fSk7dmFyIFFjZSxxNHQ9ZigoKT0+e3Q4KCk7cVgoKTthOCgpO2dnKCk7WWNlKCk7S2NlKCk7WGNlKCk7UWNlPVtNbixrbixSbCxBMCxyOCx5Zyx3ZyxNZyxiZyx2Zyx4Z119KTtmdW5jdGlvbiBWNHQoYSl7cmV0dXJuIHR5cGVvZiBhPT0iYmlnaW50Inx8TnVtYmVyLmlzSW50ZWdlcihhKX12YXIgalgseHhhLHl4YSxKY2UsajR0PWYoKCk9PntscygpO3Q4KCk7YTgoKTtzKFY0dCwiaW50SWRlbnRpZnkiKTtqWD1zKCh7dmFsdWU6YX0pPT5KU09OLnN0cmluZ2lmeShhKSwic3RyaW5naWZ5SlNPTiIpLHh4YT1be2lkZW50aWZ5OnMoYT0+dHlwZW9mIGE9PSJzdHJpbmciLCJpZGVudGlmeSIpLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpzdHIiLHJlc29sdmU6cyhhPT5hLCJyZXNvbHZlIiksc3RyaW5naWZ5OmpYfSx7aWRlbnRpZnk6cyhhPT5hPT1udWxsLCJpZGVudGlmeSIpLGNyZWF0ZU5vZGU6cygoKT0+bmV3IGZ0KG51bGwpLCJjcmVhdGVOb2RlIiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOm51bGwiLHRlc3Q6L15udWxsJC8scmVzb2x2ZTpzKCgpPT5udWxsLCJyZXNvbHZlIiksc3RyaW5naWZ5OmpYfSx7aWRlbnRpZnk6cyhhPT50eXBlb2YgYT09ImJvb2xlYW4iLCJpZGVudGlmeSIpLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpib29sIix0ZXN0Oi9edHJ1ZSR8XmZhbHNlJC8scmVzb2x2ZTpzKGE9PmE9PT0idHJ1ZSIsInJlc29sdmUiKSxzdHJpbmdpZnk6alh9LHtpZGVudGlmeTpWNHQsZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmludCIsdGVzdDovXi0/KD86MHxbMS05XVswLTldKikkLyxyZXNvbHZlOnMoKGEsZSx7aW50QXNCaWdJbnQ6dH0pPT50P0JpZ0ludChhKTpwYXJzZUludChhLDEwKSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpzKCh7dmFsdWU6YX0pPT5WNHQoYSk/YS50b1N0cmluZygpOkpTT04uc3RyaW5naWZ5KGEpLCJzdHJpbmdpZnkiKX0se2lkZW50aWZ5OnMoYT0+dHlwZW9mIGE9PSJudW1iZXIiLCJpZGVudGlmeSIpLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdCIsdGVzdDovXi0/KD86MHxbMS05XVswLTldKikoPzpcLlswLTldKik/KD86W2VFXVstK10/WzAtOV0rKT8kLyxyZXNvbHZlOnMoYT0+cGFyc2VGbG9hdChhKSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpqWH1dLHl4YT17ZGVmYXVsdDohMCx0YWc6IiIsdGVzdDovXi8scmVzb2x2ZShhLGUpe3JldHVybiBlKGBVbnJlc29sdmVkIHBsYWluIHNjYWxhciAke0pTT04uc3RyaW5naWZ5KGEpfWApLGF9fSxKY2U9W01uLGtuXS5jb25jYXQoeHhhLHl4YSl9KTt2YXIgaTgsZTBlPWYoKCk9PntscygpO2RnKCk7aTg9e2lkZW50aWZ5OnMoYT0+YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXksImlkZW50aWZ5IiksZGVmYXVsdDohMSx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmJpbmFyeSIscmVzb2x2ZShhLGUpe2lmKHR5cGVvZiBhdG9iPT0iZnVuY3Rpb24iKXtsZXQgdD1hdG9iKGEucmVwbGFjZSgvW1xuXHJdL2csIiIpKSxyPW5ldyBVaW50OEFycmF5KHQubGVuZ3RoKTtmb3IobGV0IGk9MDtpPHQubGVuZ3RoOysraSlyW2ldPXQuY2hhckNvZGVBdChpKTtyZXR1cm4gcn1lbHNlIHJldHVybiBlKCJUaGlzIGVudmlyb25tZW50IGRvZXMgbm90IHN1cHBvcnQgcmVhZGluZyBiaW5hcnkgdGFnczsgZWl0aGVyIEJ1ZmZlciBvciBhdG9iIGlzIHJlcXVpcmVkIiksYX0sc3RyaW5naWZ5KHtjb21tZW50OmEsdHlwZTplLHZhbHVlOnR9LHIsaSxvKXtpZighdClyZXR1cm4iIjtsZXQgbj10LGw7aWYodHlwZW9mIGJ0b2E9PSJmdW5jdGlvbiIpe2xldCBkPSIiO2ZvcihsZXQgYz0wO2M8bi5sZW5ndGg7KytjKWQrPVN0cmluZy5mcm9tQ2hhckNvZGUobltjXSk7bD1idG9hKGQpfWVsc2UgdGhyb3cgbmV3IEVycm9yKCJUaGlzIGVudmlyb25tZW50IGRvZXMgbm90IHN1cHBvcnQgd3JpdGluZyBiaW5hcnkgdGFnczsgZWl0aGVyIEJ1ZmZlciBvciBidG9hIGlzIHJlcXVpcmVkIik7aWYoZT8/KGU9ZnQuQkxPQ0tfTElURVJBTCksZSE9PWZ0LlFVT1RFX0RPVUJMRSl7bGV0IGQ9TWF0aC5tYXgoci5vcHRpb25zLmxpbmVXaWR0aC1yLmluZGVudC5sZW5ndGgsci5vcHRpb25zLm1pbkNvbnRlbnRXaWR0aCksYz1NYXRoLmNlaWwobC5sZW5ndGgvZCkscD1uZXcgQXJyYXkoYyk7Zm9yKGxldCB1PTAsbT0wO3U8YzsrK3UsbSs9ZClwW3VdPWwuc3Vic3RyKG0sZCk7bD1wLmpvaW4oZT09PWZ0LkJMT0NLX0xJVEVSQUw/YApgOiIgIil9cmV0dXJuIEwyKHtjb21tZW50OmEsdHlwZTplLHZhbHVlOmx9LHIsaSxvKX19fSk7ZnVuY3Rpb24gVVgoYSxlKXtpZihDbyhhKSlmb3IobGV0IHQ9MDt0PGEuaXRlbXMubGVuZ3RoOysrdCl7bGV0IHI9YS5pdGVtc1t0XTtpZighYWEocikpe2lmKHpvKHIpKXtyLml0ZW1zLmxlbmd0aD4xJiZlKCJFYWNoIHBhaXIgbXVzdCBoYXZlIGl0cyBvd24gc2VxdWVuY2UgaW5kaWNhdG9yIik7bGV0IGk9ci5pdGVtc1swXXx8bmV3IHVyKG5ldyBmdChudWxsKSk7aWYoci5jb21tZW50QmVmb3JlJiYoaS5rZXkuY29tbWVudEJlZm9yZT1pLmtleS5jb21tZW50QmVmb3JlP2Ake3IuY29tbWVudEJlZm9yZX0KJHtpLmtleS5jb21tZW50QmVmb3JlfWA6ci5jb21tZW50QmVmb3JlKSxyLmNvbW1lbnQpe2xldCBvPWkudmFsdWU/P2kua2V5O28uY29tbWVudD1vLmNvbW1lbnQ/YCR7ci5jb21tZW50fQoke28uY29tbWVudH1gOnIuY29tbWVudH1yPWl9YS5pdGVtc1t0XT1hYShyKT9yOm5ldyB1cihyKX19ZWxzZSBlKCJFeHBlY3RlZCBhIHNlcXVlbmNlIGZvciB0aGlzIHRhZyIpO3JldHVybiBhfWZ1bmN0aW9uIFdYKGEsZSx0KXtsZXR7cmVwbGFjZXI6cn09dCxpPW5ldyBfcyhhKTtpLnRhZz0idGFnOnlhbWwub3JnLDIwMDI6cGFpcnMiO2xldCBvPTA7aWYoZSYmU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChlKSlmb3IobGV0IG4gb2YgZSl7dHlwZW9mIHI9PSJmdW5jdGlvbiImJihuPXIuY2FsbChlLFN0cmluZyhvKyspLG4pKTtsZXQgbCxkO2lmKEFycmF5LmlzQXJyYXkobikpaWYobi5sZW5ndGg9PT0yKWw9blswXSxkPW5bMV07ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBba2V5LCB2YWx1ZV0gdHVwbGU6ICR7bn1gKTtlbHNlIGlmKG4mJm4gaW5zdGFuY2VvZiBPYmplY3Qpe2xldCBjPU9iamVjdC5rZXlzKG4pO2lmKGMubGVuZ3RoPT09MSlsPWNbMF0sZD1uW2xdO2Vsc2UgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgdHVwbGUgd2l0aCBvbmUga2V5LCBub3QgJHtjLmxlbmd0aH0ga2V5c2ApfWVsc2UgbD1uO2kuaXRlbXMucHVzaChSMyhsLGQsdCkpfXJldHVybiBpfXZhciBvOCxHWD1mKCgpPT57TGEoKTtMMCgpO2xzKCk7RDAoKTtzKFVYLCJyZXNvbHZlUGFpcnMiKTtzKFdYLCJjcmVhdGVQYWlycyIpO284PXtjb2xsZWN0aW9uOiJzZXEiLGRlZmF1bHQ6ITEsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpwYWlycyIscmVzb2x2ZTpVWCxjcmVhdGVOb2RlOldYfX0pO3ZhciBPMyxuOCx0MGU9ZigoKT0+e0xhKCk7VDAoKTskMCgpO0QwKCk7R1goKTtPMz1jbGFzcyBhIGV4dGVuZHMgX3N7c3RhdGlje3ModGhpcywiWUFNTE9NYXAiKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5hZGQ9eXIucHJvdG90eXBlLmFkZC5iaW5kKHRoaXMpLHRoaXMuZGVsZXRlPXlyLnByb3RvdHlwZS5kZWxldGUuYmluZCh0aGlzKSx0aGlzLmdldD15ci5wcm90b3R5cGUuZ2V0LmJpbmQodGhpcyksdGhpcy5oYXM9eXIucHJvdG90eXBlLmhhcy5iaW5kKHRoaXMpLHRoaXMuc2V0PXlyLnByb3RvdHlwZS5zZXQuYmluZCh0aGlzKSx0aGlzLnRhZz1hLnRhZ310b0pTT04oZSx0KXtpZighdClyZXR1cm4gc3VwZXIudG9KU09OKGUpO2xldCByPW5ldyBNYXA7dD8ub25DcmVhdGUmJnQub25DcmVhdGUocik7Zm9yKGxldCBpIG9mIHRoaXMuaXRlbXMpe2xldCBvLG47aWYoYWEoaSk/KG89bnMoaS5rZXksIiIsdCksbj1ucyhpLnZhbHVlLG8sdCkpOm89bnMoaSwiIix0KSxyLmhhcyhvKSl0aHJvdyBuZXcgRXJyb3IoIk9yZGVyZWQgbWFwcyBtdXN0IG5vdCBpbmNsdWRlIGR1cGxpY2F0ZSBrZXlzIik7ci5zZXQobyxuKX1yZXR1cm4gcn1zdGF0aWMgZnJvbShlLHQscil7bGV0IGk9V1goZSx0LHIpLG89bmV3IHRoaXM7cmV0dXJuIG8uaXRlbXM9aS5pdGVtcyxvfX07TzMudGFnPSJ0YWc6eWFtbC5vcmcsMjAwMjpvbWFwIjtuOD17Y29sbGVjdGlvbjoic2VxIixpZGVudGlmeTpzKGE9PmEgaW5zdGFuY2VvZiBNYXAsImlkZW50aWZ5Iiksbm9kZUNsYXNzOk8zLGRlZmF1bHQ6ITEsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpvbWFwIixyZXNvbHZlKGEsZSl7bGV0IHQ9VVgoYSxlKSxyPVtdO2ZvcihsZXR7a2V5Oml9b2YgdC5pdGVtcylxdChpKSYmKHIuaW5jbHVkZXMoaS52YWx1ZSk/ZShgT3JkZXJlZCBtYXBzIG11c3Qgbm90IGluY2x1ZGUgZHVwbGljYXRlIGtleXM6ICR7aS52YWx1ZX1gKTpyLnB1c2goaS52YWx1ZSkpO3JldHVybiBPYmplY3QuYXNzaWduKG5ldyBPMyx0KX0sY3JlYXRlTm9kZTpzKChhLGUsdCk9Pk8zLmZyb20oYSxlLHQpLCJjcmVhdGVOb2RlIil9fSk7ZnVuY3Rpb24gVTR0KHt2YWx1ZTphLHNvdXJjZTplfSx0KXtyZXR1cm4gZSYmKGE/WVg6S1gpLnRlc3QudGVzdChlKT9lOmE/dC5vcHRpb25zLnRydWVTdHI6dC5vcHRpb25zLmZhbHNlU3RyfXZhciBZWCxLWCxXNHQ9ZigoKT0+e2xzKCk7cyhVNHQsImJvb2xTdHJpbmdpZnkiKTtZWD17aWRlbnRpZnk6cyhhPT5hPT09ITAsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmJvb2wiLHRlc3Q6L14oPzpZfHl8W1l5XWVzfFlFU3xbVHRdcnVlfFRSVUV8W09vXW58T04pJC8scmVzb2x2ZTpzKCgpPT5uZXcgZnQoITApLCJyZXNvbHZlIiksc3RyaW5naWZ5OlU0dH0sS1g9e2lkZW50aWZ5OnMoYT0+YT09PSExLCJpZGVudGlmeSIpLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpib29sIix0ZXN0Oi9eKD86TnxufFtObl1vfE5PfFtGZl1hbHNlfEZBTFNFfFtPb11mZnxPRkYpJC8scmVzb2x2ZTpzKCgpPT5uZXcgZnQoITEpLCJyZXNvbHZlIiksc3RyaW5naWZ5OlU0dH19KTt2YXIgYTBlLHIwZSxzMGUsRzR0PWYoKCk9PntscygpO3M4KCk7YTBlPXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0ibnVtYmVyIiwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiLHRlc3Q6L14oPzpbLStdP1wuKD86aW5mfEluZnxJTkYpfFwubmFufFwuTmFOfFwuTkFOKSQvLHJlc29sdmU6cyhhPT5hLnNsaWNlKC0zKS50b0xvd2VyQ2FzZSgpPT09Im5hbiI/TmFOOmFbMF09PT0iLSI/TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZOk51bWJlci5QT1NJVElWRV9JTkZJTklUWSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpYc30scjBlPXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0ibnVtYmVyIiwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiLGZvcm1hdDoiRVhQIix0ZXN0Oi9eWy0rXT8oPzpbMC05XVswLTlfXSopPyg/OlwuWzAtOV9dKik/W2VFXVstK10/WzAtOV0rJC8scmVzb2x2ZTpzKGE9PnBhcnNlRmxvYXQoYS5yZXBsYWNlKC9fL2csIiIpKSwicmVzb2x2ZSIpLHN0cmluZ2lmeShhKXtsZXQgZT1OdW1iZXIoYS52YWx1ZSk7cmV0dXJuIGlzRmluaXRlKGUpP2UudG9FeHBvbmVudGlhbCgpOlhzKGEpfX0sczBlPXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0ibnVtYmVyIiwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiLHRlc3Q6L15bLStdPyg/OlswLTldWzAtOV9dKik/XC5bMC05X10qJC8scmVzb2x2ZShhKXtsZXQgZT1uZXcgZnQocGFyc2VGbG9hdChhLnJlcGxhY2UoL18vZywiIikpKSx0PWEuaW5kZXhPZigiLiIpO2lmKHQhPT0tMSl7bGV0IHI9YS5zdWJzdHJpbmcodCsxKS5yZXBsYWNlKC9fL2csIiIpO3Jbci5sZW5ndGgtMV09PT0iMCImJihlLm1pbkZyYWN0aW9uRGlnaXRzPXIubGVuZ3RoKX1yZXR1cm4gZX0sc3RyaW5naWZ5OlhzfX0pO2Z1bmN0aW9uIFpYKGEsZSx0LHtpbnRBc0JpZ0ludDpyfSl7bGV0IGk9YVswXTtpZigoaT09PSItInx8aT09PSIrIikmJihlKz0xKSxhPWEuc3Vic3RyaW5nKGUpLnJlcGxhY2UoL18vZywiIikscil7c3dpdGNoKHQpe2Nhc2UgMjphPWAwYiR7YX1gO2JyZWFrO2Nhc2UgODphPWAwbyR7YX1gO2JyZWFrO2Nhc2UgMTY6YT1gMHgke2F9YDticmVha31sZXQgbj1CaWdJbnQoYSk7cmV0dXJuIGk9PT0iLSI/QmlnSW50KC0xKSpuOm59bGV0IG89cGFyc2VJbnQoYSx0KTtyZXR1cm4gaT09PSItIj8tMSpvOm99ZnVuY3Rpb24gaTBlKGEsZSx0KXtsZXR7dmFsdWU6cn09YTtpZihrZyhyKSl7bGV0IGk9ci50b1N0cmluZyhlKTtyZXR1cm4gcjwwPyItIit0K2kuc3Vic3RyKDEpOnQraX1yZXR1cm4gWHMoYSl9dmFyIGtnLG8wZSxuMGUsbDBlLGMwZSxZNHQ9ZigoKT0+e3M4KCk7a2c9cyhhPT50eXBlb2YgYT09ImJpZ2ludCJ8fE51bWJlci5pc0ludGVnZXIoYSksImludElkZW50aWZ5Iik7cyhaWCwiaW50UmVzb2x2ZSIpO3MoaTBlLCJpbnRTdHJpbmdpZnkiKTtvMGU9e2lkZW50aWZ5OmtnLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjppbnQiLGZvcm1hdDoiQklOIix0ZXN0Oi9eWy0rXT8wYlswLTFfXSskLyxyZXNvbHZlOnMoKGEsZSx0KT0+WlgoYSwyLDIsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6cyhhPT5pMGUoYSwyLCIwYiIpLCJzdHJpbmdpZnkiKX0sbjBlPXtpZGVudGlmeTprZyxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6aW50Iixmb3JtYXQ6Ik9DVCIsdGVzdDovXlstK10/MFswLTdfXSskLyxyZXNvbHZlOnMoKGEsZSx0KT0+WlgoYSwxLDgsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6cyhhPT5pMGUoYSw4LCIwIiksInN0cmluZ2lmeSIpfSxsMGU9e2lkZW50aWZ5OmtnLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjppbnQiLHRlc3Q6L15bLStdP1swLTldWzAtOV9dKiQvLHJlc29sdmU6cygoYSxlLHQpPT5aWChhLDAsMTAsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6WHN9LGMwZT17aWRlbnRpZnk6a2csZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOmludCIsZm9ybWF0OiJIRVgiLHRlc3Q6L15bLStdPzB4WzAtOWEtZkEtRl9dKyQvLHJlc29sdmU6cygoYSxlLHQpPT5aWChhLDIsMTYsdCksInJlc29sdmUiKSxzdHJpbmdpZnk6cyhhPT5pMGUoYSwxNiwiMHgiKSwic3RyaW5naWZ5Iil9fSk7dmFyIEYzLGw4LGQwZT1mKCgpPT57TGEoKTtMMCgpOyQwKCk7RjM9Y2xhc3MgYSBleHRlbmRzIHlye3N0YXRpY3tzKHRoaXMsIllBTUxTZXQiKX1jb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLnRhZz1hLnRhZ31hZGQoZSl7bGV0IHQ7YWEoZSk/dD1lOmUmJnR5cGVvZiBlPT0ib2JqZWN0IiYmImtleSJpbiBlJiYidmFsdWUiaW4gZSYmZS52YWx1ZT09PW51bGw/dD1uZXcgdXIoZS5rZXksbnVsbCk6dD1uZXcgdXIoZSxudWxsKSxObCh0aGlzLml0ZW1zLHQua2V5KXx8dGhpcy5pdGVtcy5wdXNoKHQpfWdldChlLHQpe2xldCByPU5sKHRoaXMuaXRlbXMsZSk7cmV0dXJuIXQmJmFhKHIpP3F0KHIua2V5KT9yLmtleS52YWx1ZTpyLmtleTpyfXNldChlLHQpe2lmKHR5cGVvZiB0IT0iYm9vbGVhbiIpdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBib29sZWFuIHZhbHVlIGZvciBzZXQoa2V5LCB2YWx1ZSkgaW4gYSBZQU1MIHNldCwgbm90ICR7dHlwZW9mIHR9YCk7bGV0IHI9TmwodGhpcy5pdGVtcyxlKTtyJiYhdD90aGlzLml0ZW1zLnNwbGljZSh0aGlzLml0ZW1zLmluZGV4T2YociksMSk6IXImJnQmJnRoaXMuaXRlbXMucHVzaChuZXcgdXIoZSkpfXRvSlNPTihlLHQpe3JldHVybiBzdXBlci50b0pTT04oZSx0LFNldCl9dG9TdHJpbmcoZSx0LHIpe2lmKCFlKXJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzKTtpZih0aGlzLmhhc0FsbE51bGxWYWx1ZXMoITApKXJldHVybiBzdXBlci50b1N0cmluZyhPYmplY3QuYXNzaWduKHt9LGUse2FsbE51bGxWYWx1ZXM6ITB9KSx0LHIpO3Rocm93IG5ldyBFcnJvcigiU2V0IGl0ZW1zIG11c3QgYWxsIGhhdmUgbnVsbCB2YWx1ZXMiKX1zdGF0aWMgZnJvbShlLHQscil7bGV0e3JlcGxhY2VyOml9PXIsbz1uZXcgdGhpcyhlKTtpZih0JiZTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KHQpKWZvcihsZXQgbiBvZiB0KXR5cGVvZiBpPT0iZnVuY3Rpb24iJiYobj1pLmNhbGwodCxuLG4pKSxvLml0ZW1zLnB1c2goUjMobixudWxsLHIpKTtyZXR1cm4gb319O0YzLnRhZz0idGFnOnlhbWwub3JnLDIwMDI6c2V0IjtsOD17Y29sbGVjdGlvbjoibWFwIixpZGVudGlmeTpzKGE9PmEgaW5zdGFuY2VvZiBTZXQsImlkZW50aWZ5Iiksbm9kZUNsYXNzOkYzLGRlZmF1bHQ6ITEsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjpzZXQiLGNyZWF0ZU5vZGU6cygoYSxlLHQpPT5GMy5mcm9tKGEsZSx0KSwiY3JlYXRlTm9kZSIpLHJlc29sdmUoYSxlKXtpZih6byhhKSl7aWYoYS5oYXNBbGxOdWxsVmFsdWVzKCEwKSlyZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgRjMsYSk7ZSgiU2V0IGl0ZW1zIG11c3QgYWxsIGhhdmUgbnVsbCB2YWx1ZXMiKX1lbHNlIGUoIkV4cGVjdGVkIGEgbWFwcGluZyBmb3IgdGhpcyB0YWciKTtyZXR1cm4gYX19fSk7ZnVuY3Rpb24gdTBlKGEsZSl7bGV0IHQ9YVswXSxyPXQ9PT0iLSJ8fHQ9PT0iKyI/YS5zdWJzdHJpbmcoMSk6YSxpPXMobj0+ZT9CaWdJbnQobik6TnVtYmVyKG4pLCJudW0iKSxvPXIucmVwbGFjZSgvXy9nLCIiKS5zcGxpdCgiOiIpLnJlZHVjZSgobixsKT0+bippKDYwKStpKGwpLGkoMCkpO3JldHVybiB0PT09Ii0iP2koLTEpKm86b31mdW5jdGlvbiBLNHQoYSl7bGV0e3ZhbHVlOmV9PWEsdD1zKG49Pm4sIm51bSIpO2lmKHR5cGVvZiBlPT0iYmlnaW50Iil0PXMobj0+QmlnSW50KG4pLCJudW0iKTtlbHNlIGlmKGlzTmFOKGUpfHwhaXNGaW5pdGUoZSkpcmV0dXJuIFhzKGEpO2xldCByPSIiO2U8MCYmKHI9Ii0iLGUqPXQoLTEpKTtsZXQgaT10KDYwKSxvPVtlJWldO3JldHVybiBlPDYwP28udW5zaGlmdCgwKTooZT0oZS1vWzBdKS9pLG8udW5zaGlmdChlJWkpLGU+PTYwJiYoZT0oZS1vWzBdKS9pLG8udW5zaGlmdChlKSkpLHIrby5tYXAobj0+U3RyaW5nKG4pLnBhZFN0YXJ0KDIsIjAiKSkuam9pbigiOiIpLnJlcGxhY2UoLzAwMDAwMFxkKiQvLCIiKX12YXIgU2csemcsQjMscDBlPWYoKCk9PntzOCgpO3ModTBlLCJwYXJzZVNleGFnZXNpbWFsIik7cyhLNHQsInN0cmluZ2lmeVNleGFnZXNpbWFsIik7U2c9e2lkZW50aWZ5OnMoYT0+dHlwZW9mIGE9PSJiaWdpbnQifHxOdW1iZXIuaXNJbnRlZ2VyKGEpLCJpZGVudGlmeSIpLGRlZmF1bHQ6ITAsdGFnOiJ0YWc6eWFtbC5vcmcsMjAwMjppbnQiLGZvcm1hdDoiVElNRSIsdGVzdDovXlstK10/WzAtOV1bMC05X10qKD86OlswLTVdP1swLTldKSskLyxyZXNvbHZlOnMoKGEsZSx7aW50QXNCaWdJbnQ6dH0pPT51MGUoYSx0KSwicmVzb2x2ZSIpLHN0cmluZ2lmeTpLNHR9LHpnPXtpZGVudGlmeTpzKGE9PnR5cGVvZiBhPT0ibnVtYmVyIiwiaWRlbnRpZnkiKSxkZWZhdWx0OiEwLHRhZzoidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQiLGZvcm1hdDoiVElNRSIsdGVzdDovXlstK10/WzAtOV1bMC05X10qKD86OlswLTVdP1swLTldKStcLlswLTlfXSokLyxyZXNvbHZlOnMoYT0+dTBlKGEsITEpLCJyZXNvbHZlIiksc3RyaW5naWZ5Oks0dH0sQjM9e2lkZW50aWZ5OnMoYT0+YSBpbnN0YW5jZW9mIERhdGUsImlkZW50aWZ5IiksZGVmYXVsdDohMCx0YWc6InRhZzp5YW1sLm9yZywyMDAyOnRpbWVzdGFtcCIsdGVzdDpSZWdFeHAoIl4oWzAtOV17NH0pLShbMC05XXsxLDJ9KS0oWzAtOV17MSwyfSkoPzooPzp0fFR8WyBcXHRdKykoWzAtOV17MSwyfSk6KFswLTldezEsMn0pOihbMC05XXsxLDJ9KFxcLlswLTldKyk/KSg/OlsgXFx0XSooWnxbLStdWzAxMl0/WzAtOV0oPzo6WzAtOV17Mn0pPykpPyk/JCIpLHJlc29sdmUoYSl7bGV0IGU9YS5tYXRjaChCMy50ZXN0KTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIiEhdGltZXN0YW1wIGV4cGVjdHMgYSBkYXRlLCBzdGFydGluZyB3aXRoIHl5eXktbW0tZGQiKTtsZXRbLHQscixpLG8sbixsXT1lLm1hcChOdW1iZXIpLGQ9ZVs3XT9OdW1iZXIoKGVbN10rIjAwIikuc3Vic3RyKDEsMykpOjAsYz1EYXRlLlVUQyh0LHItMSxpLG98fDAsbnx8MCxsfHwwLGQpLHA9ZVs4XTtpZihwJiZwIT09IloiKXtsZXQgdT11MGUocCwhMSk7TWF0aC5hYnModSk8MzAmJih1Kj02MCksYy09NmU0KnV9cmV0dXJuIG5ldyBEYXRlKGMpfSxzdHJpbmdpZnk6cygoe3ZhbHVlOmF9KT0+YT8udG9JU09TdHJpbmcoKS5yZXBsYWNlKC8oVDAwOjAwOjAwKT9cLjAwMFokLywiIik/PyIiLCJzdHJpbmdpZnkiKX19KTt2YXIgWFgsWjR0PWYoKCk9Pnt0OCgpO3FYKCk7YTgoKTtnZygpO2UwZSgpO1c0dCgpO0c0dCgpO1k0dCgpO0ZYKCk7dDBlKCk7R1goKTtkMGUoKTtwMGUoKTtYWD1bTW4sa24sUmwsQTAsWVgsS1gsbzBlLG4wZSxsMGUsYzBlLGEwZSxyMGUsczBlLGk4LHduLG44LG84LGw4LFNnLHpnLEIzXX0pO2Z1bmN0aW9uIENnKGEsZSx0KXtsZXQgcj1YNHQuZ2V0KGUpO2lmKHImJiFhKXJldHVybiB0JiYhci5pbmNsdWRlcyh3bik/ci5jb25jYXQod24pOnIuc2xpY2UoKTtsZXQgaT1yO2lmKCFpKWlmKEFycmF5LmlzQXJyYXkoYSkpaT1bXTtlbHNle2xldCBvPUFycmF5LmZyb20oWDR0LmtleXMoKSkuZmlsdGVyKG49Pm4hPT0ieWFtbDExIikubWFwKG49PkpTT04uc3RyaW5naWZ5KG4pKS5qb2luKCIsICIpO3Rocm93IG5ldyBFcnJvcihgVW5rbm93biBzY2hlbWEgIiR7ZX0iOyB1c2Ugb25lIG9mICR7b30gb3IgZGVmaW5lIGN1c3RvbVRhZ3MgYXJyYXlgKX1pZihBcnJheS5pc0FycmF5KGEpKWZvcihsZXQgbyBvZiBhKWk9aS5jb25jYXQobyk7ZWxzZSB0eXBlb2YgYT09ImZ1bmN0aW9uIiYmKGk9YShpLnNsaWNlKCkpKTtyZXR1cm4gdCYmKGk9aS5jb25jYXQod24pKSxpLnJlZHVjZSgobyxuKT0+e2xldCBsPXR5cGVvZiBuPT0ic3RyaW5nIj9RNHRbbl06bjtpZighbCl7bGV0IGQ9SlNPTi5zdHJpbmdpZnkobiksYz1PYmplY3Qua2V5cyhRNHQpLm1hcChwPT5KU09OLnN0cmluZ2lmeShwKSkuam9pbigiLCAiKTt0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY3VzdG9tIHRhZyAke2R9OyB1c2Ugb25lIG9mICR7Y31gKX1yZXR1cm4gby5pbmNsdWRlcyhsKXx8by5wdXNoKGwpLG99LFtdKX12YXIgWDR0LFE0dCxmMGUsSjR0PWYoKCk9Pnt0OCgpO3FYKCk7YTgoKTtnZygpO1ljZSgpO0tjZSgpO1hjZSgpO3E0dCgpO2o0dCgpO2UwZSgpO0ZYKCk7dDBlKCk7R1goKTtaNHQoKTtkMGUoKTtwMGUoKTtYNHQ9bmV3IE1hcChbWyJjb3JlIixRY2VdLFsiZmFpbHNhZmUiLFtNbixrbixSbF1dLFsianNvbiIsSmNlXSxbInlhbWwxMSIsWFhdLFsieWFtbC0xLjEiLFhYXV0pLFE0dD17YmluYXJ5Omk4LGJvb2w6cjgsZmxvYXQ6eGcsZmxvYXRFeHA6dmcsZmxvYXROYU46YmcsZmxvYXRUaW1lOnpnLGludDp3ZyxpbnRIZXg6TWcsaW50T2N0OnlnLGludFRpbWU6U2csbWFwOk1uLG1lcmdlOnduLG51bGw6QTAsb21hcDpuOCxwYWlyczpvOCxzZXE6a24sc2V0Omw4LHRpbWVzdGFtcDpCM30sZjBlPXsidGFnOnlhbWwub3JnLDIwMDI6YmluYXJ5IjppOCwidGFnOnlhbWwub3JnLDIwMDI6bWVyZ2UiOnduLCJ0YWc6eWFtbC5vcmcsMjAwMjpvbWFwIjpuOCwidGFnOnlhbWwub3JnLDIwMDI6cGFpcnMiOm84LCJ0YWc6eWFtbC5vcmcsMjAwMjpzZXQiOmw4LCJ0YWc6eWFtbC5vcmcsMjAwMjp0aW1lc3RhbXAiOkIzfTtzKENnLCJnZXRUYWdzIil9KTt2YXIgd3hhLEUwLGgwZT1mKCgpPT57TGEoKTt0OCgpO2E4KCk7Z2coKTtKNHQoKTt3eGE9cygoYSxlKT0+YS5rZXk8ZS5rZXk/LTE6YS5rZXk+ZS5rZXk/MTowLCJzb3J0TWFwRW50cmllc0J5S2V5IiksRTA9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJTY2hlbWEiKX1jb25zdHJ1Y3Rvcih7Y29tcGF0OmUsY3VzdG9tVGFnczp0LG1lcmdlOnIscmVzb2x2ZUtub3duVGFnczppLHNjaGVtYTpvLHNvcnRNYXBFbnRyaWVzOm4sdG9TdHJpbmdEZWZhdWx0czpsfSl7dGhpcy5jb21wYXQ9QXJyYXkuaXNBcnJheShlKT9DZyhlLCJjb21wYXQiKTplP0NnKG51bGwsZSk6bnVsbCx0aGlzLm5hbWU9dHlwZW9mIG89PSJzdHJpbmciJiZvfHwiY29yZSIsdGhpcy5rbm93blRhZ3M9aT9mMGU6e30sdGhpcy50YWdzPUNnKHQsdGhpcy5uYW1lLHIpLHRoaXMudG9TdHJpbmdPcHRpb25zPWw/P251bGwsT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMseG4se3ZhbHVlOk1ufSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsTW8se3ZhbHVlOlJsfSksT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsQzIse3ZhbHVlOmtufSksdGhpcy5zb3J0TWFwRW50cmllcz10eXBlb2Ygbj09ImZ1bmN0aW9uIj9uOm49PT0hMD93eGE6bnVsbH1jbG9uZSgpe2xldCBlPU9iamVjdC5jcmVhdGUoYS5wcm90b3R5cGUsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModGhpcykpO3JldHVybiBlLnRhZ3M9dGhpcy50YWdzLnNsaWNlKCksZX19fSk7ZnVuY3Rpb24gbTBlKGEsZSl7bGV0IHQ9W10scj1lLmRpcmVjdGl2ZXM9PT0hMDtpZihlLmRpcmVjdGl2ZXMhPT0hMSYmYS5kaXJlY3RpdmVzKXtsZXQgZD1hLmRpcmVjdGl2ZXMudG9TdHJpbmcoYSk7ZD8odC5wdXNoKGQpLHI9ITApOmEuZGlyZWN0aXZlcy5kb2NTdGFydCYmKHI9ITApfXImJnQucHVzaCgiLS0tIik7bGV0IGk9dWcoYSxlKSx7Y29tbWVudFN0cmluZzpvfT1pLm9wdGlvbnM7aWYoYS5jb21tZW50QmVmb3JlKXt0Lmxlbmd0aCE9PTEmJnQudW5zaGlmdCgiIik7bGV0IGQ9byhhLmNvbW1lbnRCZWZvcmUpO3QudW5zaGlmdChVbyhkLCIiKSl9bGV0IG49ITEsbD1udWxsO2lmKGEuY29udGVudHMpe2lmKGRhKGEuY29udGVudHMpKXtpZihhLmNvbnRlbnRzLnNwYWNlQmVmb3JlJiZyJiZ0LnB1c2goIiIpLGEuY29udGVudHMuY29tbWVudEJlZm9yZSl7bGV0IHA9byhhLmNvbnRlbnRzLmNvbW1lbnRCZWZvcmUpO3QucHVzaChVbyhwLCIiKSl9aS5mb3JjZUJsb2NrSW5kZW50PSEhYS5jb21tZW50LGw9YS5jb250ZW50cy5jb21tZW50fWxldCBkPWw/dm9pZCAwOigpPT5uPSEwLGM9JDIoYS5jb250ZW50cyxpLCgpPT5sPW51bGwsZCk7bCYmKGMrPWYxKGMsIiIsbyhsKSkpLChjWzBdPT09InwifHxjWzBdPT09Ij4iKSYmdFt0Lmxlbmd0aC0xXT09PSItLS0iP3RbdC5sZW5ndGgtMV09YC0tLSAke2N9YDp0LnB1c2goYyl9ZWxzZSB0LnB1c2goJDIoYS5jb250ZW50cyxpKSk7aWYoYS5kaXJlY3RpdmVzPy5kb2NFbmQpaWYoYS5jb21tZW50KXtsZXQgZD1vKGEuY29tbWVudCk7ZC5pbmNsdWRlcyhgCmApPyh0LnB1c2goIi4uLiIpLHQucHVzaChVbyhkLCIiKSkpOnQucHVzaChgLi4uICR7ZH1gKX1lbHNlIHQucHVzaCgiLi4uIik7ZWxzZXtsZXQgZD1hLmNvbW1lbnQ7ZCYmbiYmKGQ9ZC5yZXBsYWNlKC9eXG4rLywiIikpLGQmJigoIW58fGwpJiZ0W3QubGVuZ3RoLTFdIT09IiImJnQucHVzaCgiIiksdC5wdXNoKFVvKG8oZCksIiIpKSl9cmV0dXJuIHQuam9pbihgCmApK2AKYH12YXIgZTN0PWYoKCk9PntMYSgpO3BnKCk7bmcoKTtzKG0wZSwic3RyaW5naWZ5RG9jdW1lbnQiKX0pO2Z1bmN0aW9uIGM4KGEpe2lmKFRhKGEpKXJldHVybiEwO3Rocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgYSBZQU1MIGNvbGxlY3Rpb24gYXMgZG9jdW1lbnQgY29udGVudHMiKX12YXIgU24sX2c9ZigoKT0+e3NnKCk7QVgoKTtMYSgpO0wwKCk7VDAoKTtoMGUoKTtlM3QoKTtMWCgpO09jZSgpO29nKCk7TmNlKCk7U249Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJEb2N1bWVudCIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLmNvbW1lbnRCZWZvcmU9bnVsbCx0aGlzLmNvbW1lbnQ9bnVsbCx0aGlzLmVycm9ycz1bXSx0aGlzLndhcm5pbmdzPVtdLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLGtpLHt2YWx1ZTplZ30pO2xldCBpPW51bGw7dHlwZW9mIHQ9PSJmdW5jdGlvbiJ8fEFycmF5LmlzQXJyYXkodCk/aT10OnI9PT12b2lkIDAmJnQmJihyPXQsdD12b2lkIDApO2xldCBvPU9iamVjdC5hc3NpZ24oe2ludEFzQmlnSW50OiExLGtlZXBTb3VyY2VUb2tlbnM6ITEsbG9nTGV2ZWw6Indhcm4iLHByZXR0eUVycm9yczohMCxzdHJpY3Q6ITAsc3RyaW5nS2V5czohMSx1bmlxdWVLZXlzOiEwLHZlcnNpb246IjEuMiJ9LHIpO3RoaXMub3B0aW9ucz1vO2xldHt2ZXJzaW9uOm59PW87cj8uX2RpcmVjdGl2ZXM/KHRoaXMuZGlyZWN0aXZlcz1yLl9kaXJlY3RpdmVzLmF0RG9jdW1lbnQoKSx0aGlzLmRpcmVjdGl2ZXMueWFtbC5leHBsaWNpdCYmKG49dGhpcy5kaXJlY3RpdmVzLnlhbWwudmVyc2lvbikpOnRoaXMuZGlyZWN0aXZlcz1uZXcgcDEoe3ZlcnNpb246bn0pLHRoaXMuc2V0U2NoZW1hKG4sciksdGhpcy5jb250ZW50cz1lPT09dm9pZCAwP251bGw6dGhpcy5jcmVhdGVOb2RlKGUsaSxyKX1jbG9uZSgpe2xldCBlPU9iamVjdC5jcmVhdGUoYS5wcm90b3R5cGUse1traV06e3ZhbHVlOmVnfX0pO3JldHVybiBlLmNvbW1lbnRCZWZvcmU9dGhpcy5jb21tZW50QmVmb3JlLGUuY29tbWVudD10aGlzLmNvbW1lbnQsZS5lcnJvcnM9dGhpcy5lcnJvcnMuc2xpY2UoKSxlLndhcm5pbmdzPXRoaXMud2FybmluZ3Muc2xpY2UoKSxlLm9wdGlvbnM9T2JqZWN0LmFzc2lnbih7fSx0aGlzLm9wdGlvbnMpLHRoaXMuZGlyZWN0aXZlcyYmKGUuZGlyZWN0aXZlcz10aGlzLmRpcmVjdGl2ZXMuY2xvbmUoKSksZS5zY2hlbWE9dGhpcy5zY2hlbWEuY2xvbmUoKSxlLmNvbnRlbnRzPWRhKHRoaXMuY29udGVudHMpP3RoaXMuY29udGVudHMuY2xvbmUoZS5zY2hlbWEpOnRoaXMuY29udGVudHMsdGhpcy5yYW5nZSYmKGUucmFuZ2U9dGhpcy5yYW5nZS5zbGljZSgpKSxlfWFkZChlKXtjOCh0aGlzLmNvbnRlbnRzKSYmdGhpcy5jb250ZW50cy5hZGQoZSl9YWRkSW4oZSx0KXtjOCh0aGlzLmNvbnRlbnRzKSYmdGhpcy5jb250ZW50cy5hZGRJbihlLHQpfWNyZWF0ZUFsaWFzKGUsdCl7aWYoIWUuYW5jaG9yKXtsZXQgcj1fWCh0aGlzKTtlLmFuY2hvcj0hdHx8ci5oYXModCk/VFgodHx8ImEiLHIpOnR9cmV0dXJuIG5ldyB5bihlLmFuY2hvcil9Y3JlYXRlTm9kZShlLHQscil7bGV0IGk7aWYodHlwZW9mIHQ9PSJmdW5jdGlvbiIpZT10LmNhbGwoeyIiOmV9LCIiLGUpLGk9dDtlbHNlIGlmKEFycmF5LmlzQXJyYXkodCkpe2xldCBnPXMoaz0+dHlwZW9mIGs9PSJudW1iZXIifHxrIGluc3RhbmNlb2YgU3RyaW5nfHxrIGluc3RhbmNlb2YgTnVtYmVyLCJrZXlUb1N0ciIpLHk9dC5maWx0ZXIoZykubWFwKFN0cmluZyk7eS5sZW5ndGg+MCYmKHQ9dC5jb25jYXQoeSkpLGk9dH1lbHNlIHI9PT12b2lkIDAmJnQmJihyPXQsdD12b2lkIDApO2xldHthbGlhc0R1cGxpY2F0ZU9iamVjdHM6byxhbmNob3JQcmVmaXg6bixmbG93Omwsa2VlcFVuZGVmaW5lZDpkLG9uVGFnT2JqOmMsdGFnOnB9PXI/P3t9LHtvbkFuY2hvcjp1LHNldEFuY2hvcnM6bSxzb3VyY2VPYmplY3RzOnZ9PVJjZSh0aGlzLG58fCJhIikseD17YWxpYXNEdXBsaWNhdGVPYmplY3RzOm8/PyEwLGtlZXBVbmRlZmluZWQ6ZD8/ITEsb25BbmNob3I6dSxvblRhZ09iajpjLHJlcGxhY2VyOmksc2NoZW1hOnRoaXMuc2NoZW1hLHNvdXJjZU9iamVjdHM6dn0sYj1UMihlLHAseCk7cmV0dXJuIGwmJlRhKGIpJiYoYi5mbG93PSEwKSxtKCksYn1jcmVhdGVQYWlyKGUsdCxyPXt9KXtsZXQgaT10aGlzLmNyZWF0ZU5vZGUoZSxudWxsLHIpLG89dGhpcy5jcmVhdGVOb2RlKHQsbnVsbCxyKTtyZXR1cm4gbmV3IHVyKGksbyl9ZGVsZXRlKGUpe3JldHVybiBjOCh0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmRlbGV0ZShlKTohMX1kZWxldGVJbihlKXtyZXR1cm4gTjMoZSk/dGhpcy5jb250ZW50cz09bnVsbD8hMToodGhpcy5jb250ZW50cz1udWxsLCEwKTpjOCh0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmRlbGV0ZUluKGUpOiExfWdldChlLHQpe3JldHVybiBUYSh0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmdldChlLHQpOnZvaWQgMH1nZXRJbihlLHQpe3JldHVybiBOMyhlKT8hdCYmcXQodGhpcy5jb250ZW50cyk/dGhpcy5jb250ZW50cy52YWx1ZTp0aGlzLmNvbnRlbnRzOlRhKHRoaXMuY29udGVudHMpP3RoaXMuY29udGVudHMuZ2V0SW4oZSx0KTp2b2lkIDB9aGFzKGUpe3JldHVybiBUYSh0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmhhcyhlKTohMX1oYXNJbihlKXtyZXR1cm4gTjMoZSk/dGhpcy5jb250ZW50cyE9PXZvaWQgMDpUYSh0aGlzLmNvbnRlbnRzKT90aGlzLmNvbnRlbnRzLmhhc0luKGUpOiExfXNldChlLHQpe3RoaXMuY29udGVudHM9PW51bGw/dGhpcy5jb250ZW50cz1YaCh0aGlzLnNjaGVtYSxbZV0sdCk6YzgodGhpcy5jb250ZW50cykmJnRoaXMuY29udGVudHMuc2V0KGUsdCl9c2V0SW4oZSx0KXtOMyhlKT90aGlzLmNvbnRlbnRzPXQ6dGhpcy5jb250ZW50cz09bnVsbD90aGlzLmNvbnRlbnRzPVhoKHRoaXMuc2NoZW1hLEFycmF5LmZyb20oZSksdCk6YzgodGhpcy5jb250ZW50cykmJnRoaXMuY29udGVudHMuc2V0SW4oZSx0KX1zZXRTY2hlbWEoZSx0PXt9KXt0eXBlb2YgZT09Im51bWJlciImJihlPVN0cmluZyhlKSk7bGV0IHI7c3dpdGNoKGUpe2Nhc2UiMS4xIjp0aGlzLmRpcmVjdGl2ZXM/dGhpcy5kaXJlY3RpdmVzLnlhbWwudmVyc2lvbj0iMS4xIjp0aGlzLmRpcmVjdGl2ZXM9bmV3IHAxKHt2ZXJzaW9uOiIxLjEifSkscj17cmVzb2x2ZUtub3duVGFnczohMSxzY2hlbWE6InlhbWwtMS4xIn07YnJlYWs7Y2FzZSIxLjIiOmNhc2UibmV4dCI6dGhpcy5kaXJlY3RpdmVzP3RoaXMuZGlyZWN0aXZlcy55YW1sLnZlcnNpb249ZTp0aGlzLmRpcmVjdGl2ZXM9bmV3IHAxKHt2ZXJzaW9uOmV9KSxyPXtyZXNvbHZlS25vd25UYWdzOiEwLHNjaGVtYToiY29yZSJ9O2JyZWFrO2Nhc2UgbnVsbDp0aGlzLmRpcmVjdGl2ZXMmJmRlbGV0ZSB0aGlzLmRpcmVjdGl2ZXMscj1udWxsO2JyZWFrO2RlZmF1bHQ6e2xldCBpPUpTT04uc3RyaW5naWZ5KGUpO3Rocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgJzEuMScsICcxLjInIG9yIG51bGwgYXMgZmlyc3QgYXJndW1lbnQsIGJ1dCBmb3VuZDogJHtpfWApfX1pZih0LnNjaGVtYSBpbnN0YW5jZW9mIE9iamVjdCl0aGlzLnNjaGVtYT10LnNjaGVtYTtlbHNlIGlmKHIpdGhpcy5zY2hlbWE9bmV3IEUwKE9iamVjdC5hc3NpZ24ocix0KSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIldpdGggYSBudWxsIFlBTUwgdmVyc2lvbiwgdGhlIHsgc2NoZW1hOiBTY2hlbWEgfSBvcHRpb24gaXMgcmVxdWlyZWQiKX10b0pTKHtqc29uOmUsanNvbkFyZzp0LG1hcEFzTWFwOnIsbWF4QWxpYXNDb3VudDppLG9uQW5jaG9yOm8scmV2aXZlcjpufT17fSl7bGV0IGw9e2FuY2hvcnM6bmV3IE1hcCxkb2M6dGhpcyxrZWVwOiFlLG1hcEFzTWFwOnI9PT0hMCxtYXBLZXlXYXJuZWQ6ITEsbWF4QWxpYXNDb3VudDp0eXBlb2YgaT09Im51bWJlciI/aToxMDB9LGQ9bnModGhpcy5jb250ZW50cyx0Pz8iIixsKTtpZih0eXBlb2Ygbz09ImZ1bmN0aW9uIilmb3IobGV0e2NvdW50OmMscmVzOnB9b2YgbC5hbmNob3JzLnZhbHVlcygpKW8ocCxjKTtyZXR1cm4gdHlwZW9mIG49PSJmdW5jdGlvbiI/UGwobix7IiI6ZH0sIiIsZCk6ZH10b0pTT04oZSx0KXtyZXR1cm4gdGhpcy50b0pTKHtqc29uOiEwLGpzb25Bcmc6ZSxtYXBBc01hcDohMSxvbkFuY2hvcjp0fSl9dG9TdHJpbmcoZT17fSl7aWYodGhpcy5lcnJvcnMubGVuZ3RoPjApdGhyb3cgbmV3IEVycm9yKCJEb2N1bWVudCB3aXRoIGVycm9ycyBjYW5ub3QgYmUgc3RyaW5naWZpZWQiKTtpZigiaW5kZW50ImluIGUmJighTnVtYmVyLmlzSW50ZWdlcihlLmluZGVudCl8fE51bWJlcihlLmluZGVudCk8PTApKXtsZXQgdD1KU09OLnN0cmluZ2lmeShlLmluZGVudCk7dGhyb3cgbmV3IEVycm9yKGAiaW5kZW50IiBvcHRpb24gbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIsIG5vdCAke3R9YCl9cmV0dXJuIG0wZSh0aGlzLGUpfX07cyhjOCwiYXNzZXJ0Q29sbGVjdGlvbiIpfSk7dmFyIFAwLHFpLEkwLGQ4LFRnPWYoKCk9PntQMD1jbGFzcyBleHRlbmRzIEVycm9ye3N0YXRpY3tzKHRoaXMsIllBTUxFcnJvciIpfWNvbnN0cnVjdG9yKGUsdCxyLGkpe3N1cGVyKCksdGhpcy5uYW1lPWUsdGhpcy5jb2RlPXIsdGhpcy5tZXNzYWdlPWksdGhpcy5wb3M9dH19LHFpPWNsYXNzIGV4dGVuZHMgUDB7c3RhdGlje3ModGhpcywiWUFNTFBhcnNlRXJyb3IiKX1jb25zdHJ1Y3RvcihlLHQscil7c3VwZXIoIllBTUxQYXJzZUVycm9yIixlLHQscil9fSxJMD1jbGFzcyBleHRlbmRzIFAwe3N0YXRpY3tzKHRoaXMsIllBTUxXYXJuaW5nIil9Y29uc3RydWN0b3IoZSx0LHIpe3N1cGVyKCJZQU1MV2FybmluZyIsZSx0LHIpfX0sZDg9cygoYSxlKT0+dD0+e2lmKHQucG9zWzBdPT09LTEpcmV0dXJuO3QubGluZVBvcz10LnBvcy5tYXAobD0+ZS5saW5lUG9zKGwpKTtsZXR7bGluZTpyLGNvbDppfT10LmxpbmVQb3NbMF07dC5tZXNzYWdlKz1gIGF0IGxpbmUgJHtyfSwgY29sdW1uICR7aX1gO2xldCBvPWktMSxuPWEuc3Vic3RyaW5nKGUubGluZVN0YXJ0c1tyLTFdLGUubGluZVN0YXJ0c1tyXSkucmVwbGFjZSgvW1xuXHJdKyQvLCIiKTtpZihvPj02MCYmbi5sZW5ndGg+ODApe2xldCBsPU1hdGgubWluKG8tMzksbi5sZW5ndGgtNzkpO249Ilx1MjAyNiIrbi5zdWJzdHJpbmcobCksby09bC0xfWlmKG4ubGVuZ3RoPjgwJiYobj1uLnN1YnN0cmluZygwLDc5KSsiXHUyMDI2Iikscj4xJiYvXiAqJC8udGVzdChuLnN1YnN0cmluZygwLG8pKSl7bGV0IGw9YS5zdWJzdHJpbmcoZS5saW5lU3RhcnRzW3ItMl0sZS5saW5lU3RhcnRzW3ItMV0pO2wubGVuZ3RoPjgwJiYobD1sLnN1YnN0cmluZygwLDc5KStgXHUyMDI2CmApLG49bCtufWlmKC9bXiBdLy50ZXN0KG4pKXtsZXQgbD0xLGQ9dC5saW5lUG9zWzFdO2Q/LmxpbmU9PT1yJiZkLmNvbD5pJiYobD1NYXRoLm1heCgxLE1hdGgubWluKGQuY29sLWksODAtbykpKTtsZXQgYz0iICIucmVwZWF0KG8pKyJeIi5yZXBlYXQobCk7dC5tZXNzYWdlKz1gOgoKJHtufQoke2N9CmB9fSwicHJldHRpZnlFcnJvciIpfSk7ZnVuY3Rpb24gaDEoYSx7ZmxvdzplLGluZGljYXRvcjp0LG5leHQ6cixvZmZzZXQ6aSxvbkVycm9yOm8scGFyZW50SW5kZW50Om4sc3RhcnRPbk5ld2xpbmU6bH0pe2xldCBkPSExLGM9bCxwPWwsdT0iIixtPSIiLHY9ITEseD0hMSxiPW51bGwsZz1udWxsLHk9bnVsbCxrPW51bGwsQz1udWxsLE49bnVsbCxfPW51bGw7Zm9yKGxldCBUIG9mIGEpc3dpdGNoKHgmJihULnR5cGUhPT0ic3BhY2UiJiZULnR5cGUhPT0ibmV3bGluZSImJlQudHlwZSE9PSJjb21tYSImJm8oVC5vZmZzZXQsIk1JU1NJTkdfQ0hBUiIsIlRhZ3MgYW5kIGFuY2hvcnMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSB0aGUgbmV4dCB0b2tlbiBieSB3aGl0ZSBzcGFjZSIpLHg9ITEpLGImJihjJiZULnR5cGUhPT0iY29tbWVudCImJlQudHlwZSE9PSJuZXdsaW5lIiYmbyhiLCJUQUJfQVNfSU5ERU5UIiwiVGFicyBhcmUgbm90IGFsbG93ZWQgYXMgaW5kZW50YXRpb24iKSxiPW51bGwpLFQudHlwZSl7Y2FzZSJzcGFjZSI6IWUmJih0IT09ImRvYy1zdGFydCJ8fHI/LnR5cGUhPT0iZmxvdy1jb2xsZWN0aW9uIikmJlQuc291cmNlLmluY2x1ZGVzKCIJIikmJihiPVQpLHA9ITA7YnJlYWs7Y2FzZSJjb21tZW50Ijp7cHx8byhULCJNSVNTSU5HX0NIQVIiLCJDb21tZW50cyBtdXN0IGJlIHNlcGFyYXRlZCBmcm9tIG90aGVyIHRva2VucyBieSB3aGl0ZSBzcGFjZSBjaGFyYWN0ZXJzIik7bGV0IEU9VC5zb3VyY2Uuc3Vic3RyaW5nKDEpfHwiICI7dT91Kz1tK0U6dT1FLG09IiIsYz0hMTticmVha31jYXNlIm5ld2xpbmUiOmM/dT91Kz1ULnNvdXJjZTooIU58fHQhPT0ic2VxLWl0ZW0taW5kIikmJihkPSEwKTptKz1ULnNvdXJjZSxjPSEwLHY9ITAsKGd8fHkpJiYoaz1UKSxwPSEwO2JyZWFrO2Nhc2UiYW5jaG9yIjpnJiZvKFQsIk1VTFRJUExFX0FOQ0hPUlMiLCJBIG5vZGUgY2FuIGhhdmUgYXQgbW9zdCBvbmUgYW5jaG9yIiksVC5zb3VyY2UuZW5kc1dpdGgoIjoiKSYmbyhULm9mZnNldCtULnNvdXJjZS5sZW5ndGgtMSwiQkFEX0FMSUFTIiwiQW5jaG9yIGVuZGluZyBpbiA6IGlzIGFtYmlndW91cyIsITApLGc9VCxfPz8oXz1ULm9mZnNldCksYz0hMSxwPSExLHg9ITA7YnJlYWs7Y2FzZSJ0YWciOnt5JiZvKFQsIk1VTFRJUExFX1RBR1MiLCJBIG5vZGUgY2FuIGhhdmUgYXQgbW9zdCBvbmUgdGFnIikseT1ULF8/PyhfPVQub2Zmc2V0KSxjPSExLHA9ITEseD0hMDticmVha31jYXNlIHQ6KGd8fHkpJiZvKFQsIkJBRF9QUk9QX09SREVSIixgQW5jaG9ycyBhbmQgdGFncyBtdXN0IGJlIGFmdGVyIHRoZSAke1Quc291cmNlfSBpbmRpY2F0b3JgKSxOJiZvKFQsIlVORVhQRUNURURfVE9LRU4iLGBVbmV4cGVjdGVkICR7VC5zb3VyY2V9IGluICR7ZT8/ImNvbGxlY3Rpb24ifWApLE49VCxjPXQ9PT0ic2VxLWl0ZW0taW5kInx8dD09PSJleHBsaWNpdC1rZXktaW5kIixwPSExO2JyZWFrO2Nhc2UiY29tbWEiOmlmKGUpe0MmJm8oVCwiVU5FWFBFQ1RFRF9UT0tFTiIsYFVuZXhwZWN0ZWQgLCBpbiAke2V9YCksQz1ULGM9ITEscD0hMTticmVha31kZWZhdWx0Om8oVCwiVU5FWFBFQ1RFRF9UT0tFTiIsYFVuZXhwZWN0ZWQgJHtULnR5cGV9IHRva2VuYCksYz0hMSxwPSExfWxldCB6PWFbYS5sZW5ndGgtMV0sTz16P3oub2Zmc2V0K3ouc291cmNlLmxlbmd0aDppO3JldHVybiB4JiZyJiZyLnR5cGUhPT0ic3BhY2UiJiZyLnR5cGUhPT0ibmV3bGluZSImJnIudHlwZSE9PSJjb21tYSImJihyLnR5cGUhPT0ic2NhbGFyInx8ci5zb3VyY2UhPT0iIikmJm8oci5vZmZzZXQsIk1JU1NJTkdfQ0hBUiIsIlRhZ3MgYW5kIGFuY2hvcnMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSB0aGUgbmV4dCB0b2tlbiBieSB3aGl0ZSBzcGFjZSIpLGImJihjJiZiLmluZGVudDw9bnx8cj8udHlwZT09PSJibG9jay1tYXAifHxyPy50eXBlPT09ImJsb2NrLXNlcSIpJiZvKGIsIlRBQl9BU19JTkRFTlQiLCJUYWJzIGFyZSBub3QgYWxsb3dlZCBhcyBpbmRlbnRhdGlvbiIpLHtjb21tYTpDLGZvdW5kOk4sc3BhY2VCZWZvcmU6ZCxjb21tZW50OnUsaGFzTmV3bGluZTp2LGFuY2hvcjpnLHRhZzp5LG5ld2xpbmVBZnRlclByb3A6ayxlbmQ6TyxzdGFydDpfPz9PfX12YXIgTGc9ZigoKT0+e3MoaDEsInJlc29sdmVQcm9wcyIpfSk7ZnVuY3Rpb24gT2woYSl7aWYoIWEpcmV0dXJuIG51bGw7c3dpdGNoKGEudHlwZSl7Y2FzZSJhbGlhcyI6Y2FzZSJzY2FsYXIiOmNhc2UiZG91YmxlLXF1b3RlZC1zY2FsYXIiOmNhc2Uic2luZ2xlLXF1b3RlZC1zY2FsYXIiOmlmKGEuc291cmNlLmluY2x1ZGVzKGAKYCkpcmV0dXJuITA7aWYoYS5lbmQpe2ZvcihsZXQgZSBvZiBhLmVuZClpZihlLnR5cGU9PT0ibmV3bGluZSIpcmV0dXJuITB9cmV0dXJuITE7Y2FzZSJmbG93LWNvbGxlY3Rpb24iOmZvcihsZXQgZSBvZiBhLml0ZW1zKXtmb3IobGV0IHQgb2YgZS5zdGFydClpZih0LnR5cGU9PT0ibmV3bGluZSIpcmV0dXJuITA7aWYoZS5zZXApe2ZvcihsZXQgdCBvZiBlLnNlcClpZih0LnR5cGU9PT0ibmV3bGluZSIpcmV0dXJuITB9aWYoT2woZS5rZXkpfHxPbChlLnZhbHVlKSlyZXR1cm4hMH1yZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX12YXIgUVg9ZigoKT0+e3MoT2wsImNvbnRhaW5zTmV3bGluZSIpfSk7ZnVuY3Rpb24gdTgoYSxlLHQpe2lmKGU/LnR5cGU9PT0iZmxvdy1jb2xsZWN0aW9uIil7bGV0IHI9ZS5lbmRbMF07ci5pbmRlbnQ9PT1hJiYoci5zb3VyY2U9PT0iXSJ8fHIuc291cmNlPT09In0iKSYmT2woZSkmJnQociwiQkFEX0lOREVOVCIsIkZsb3cgZW5kIGluZGljYXRvciBzaG91bGQgYmUgbW9yZSBpbmRlbnRlZCB0aGFuIHBhcmVudCIsITApfX12YXIgZzBlPWYoKCk9PntRWCgpO3ModTgsImZsb3dJbmRlbnRDaGVjayIpfSk7ZnVuY3Rpb24gJGcoYSxlLHQpe2xldHt1bmlxdWVLZXlzOnJ9PWEub3B0aW9ucztpZihyPT09ITEpcmV0dXJuITE7bGV0IGk9dHlwZW9mIHI9PSJmdW5jdGlvbiI/cjoobyxuKT0+bz09PW58fHF0KG8pJiZxdChuKSYmby52YWx1ZT09PW4udmFsdWU7cmV0dXJuIGUuc29tZShvPT5pKG8ua2V5LHQpKX12YXIgYjBlPWYoKCk9PntMYSgpO3MoJGcsIm1hcEluY2x1ZGVzIil9KTtmdW5jdGlvbiB2MGUoe2NvbXBvc2VOb2RlOmEsY29tcG9zZUVtcHR5Tm9kZTplfSx0LHIsaSxvKXtsZXQgbj1vPy5ub2RlQ2xhc3M/P3lyLGw9bmV3IG4odC5zY2hlbWEpO3QuYXRSb290JiYodC5hdFJvb3Q9ITEpO2xldCBkPXIub2Zmc2V0LGM9bnVsbDtmb3IobGV0IHAgb2Ygci5pdGVtcyl7bGV0e3N0YXJ0OnUsa2V5Om0sc2VwOnYsdmFsdWU6eH09cCxiPWgxKHUse2luZGljYXRvcjoiZXhwbGljaXQta2V5LWluZCIsbmV4dDptPz92Py5bMF0sb2Zmc2V0OmQsb25FcnJvcjppLHBhcmVudEluZGVudDpyLmluZGVudCxzdGFydE9uTmV3bGluZTohMH0pLGc9IWIuZm91bmQ7aWYoZyl7aWYobSYmKG0udHlwZT09PSJibG9jay1zZXEiP2koZCwiQkxPQ0tfQVNfSU1QTElDSVRfS0VZIiwiQSBibG9jayBzZXF1ZW5jZSBtYXkgbm90IGJlIHVzZWQgYXMgYW4gaW1wbGljaXQgbWFwIGtleSIpOiJpbmRlbnQiaW4gbSYmbS5pbmRlbnQhPT1yLmluZGVudCYmaShkLCJCQURfSU5ERU5UIix0M3QpKSwhYi5hbmNob3ImJiFiLnRhZyYmIXYpe2M9Yi5lbmQsYi5jb21tZW50JiYobC5jb21tZW50P2wuY29tbWVudCs9YApgK2IuY29tbWVudDpsLmNvbW1lbnQ9Yi5jb21tZW50KTtjb250aW51ZX0oYi5uZXdsaW5lQWZ0ZXJQcm9wfHxPbChtKSkmJmkobT8/dVt1Lmxlbmd0aC0xXSwiTVVMVElMSU5FX0lNUExJQ0lUX0tFWSIsIkltcGxpY2l0IGtleXMgbmVlZCB0byBiZSBvbiBhIHNpbmdsZSBsaW5lIil9ZWxzZSBiLmZvdW5kPy5pbmRlbnQhPT1yLmluZGVudCYmaShkLCJCQURfSU5ERU5UIix0M3QpO3QuYXRLZXk9ITA7bGV0IHk9Yi5lbmQsaz1tP2EodCxtLGIsaSk6ZSh0LHksdSxudWxsLGIsaSk7dC5zY2hlbWEuY29tcGF0JiZ1OChyLmluZGVudCxtLGkpLHQuYXRLZXk9ITEsJGcodCxsLml0ZW1zLGspJiZpKHksIkRVUExJQ0FURV9LRVkiLCJNYXAga2V5cyBtdXN0IGJlIHVuaXF1ZSIpO2xldCBDPWgxKHY/P1tdLHtpbmRpY2F0b3I6Im1hcC12YWx1ZS1pbmQiLG5leHQ6eCxvZmZzZXQ6ay5yYW5nZVsyXSxvbkVycm9yOmkscGFyZW50SW5kZW50OnIuaW5kZW50LHN0YXJ0T25OZXdsaW5lOiFtfHxtLnR5cGU9PT0iYmxvY2stc2NhbGFyIn0pO2lmKGQ9Qy5lbmQsQy5mb3VuZCl7ZyYmKHg/LnR5cGU9PT0iYmxvY2stbWFwIiYmIUMuaGFzTmV3bGluZSYmaShkLCJCTE9DS19BU19JTVBMSUNJVF9LRVkiLCJOZXN0ZWQgbWFwcGluZ3MgYXJlIG5vdCBhbGxvd2VkIGluIGNvbXBhY3QgbWFwcGluZ3MiKSx0Lm9wdGlvbnMuc3RyaWN0JiZiLnN0YXJ0PEMuZm91bmQub2Zmc2V0LTEwMjQmJmkoay5yYW5nZSwiS0VZX09WRVJfMTAyNF9DSEFSUyIsIlRoZSA6IGluZGljYXRvciBtdXN0IGJlIGF0IG1vc3QgMTAyNCBjaGFycyBhZnRlciB0aGUgc3RhcnQgb2YgYW4gaW1wbGljaXQgYmxvY2sgbWFwcGluZyBrZXkiKSk7bGV0IE49eD9hKHQseCxDLGkpOmUodCxkLHYsbnVsbCxDLGkpO3Quc2NoZW1hLmNvbXBhdCYmdTgoci5pbmRlbnQseCxpKSxkPU4ucmFuZ2VbMl07bGV0IF89bmV3IHVyKGssTik7dC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMmJihfLnNyY1Rva2VuPXApLGwuaXRlbXMucHVzaChfKX1lbHNle2cmJmkoay5yYW5nZSwiTUlTU0lOR19DSEFSIiwiSW1wbGljaXQgbWFwIGtleXMgbmVlZCB0byBiZSBmb2xsb3dlZCBieSBtYXAgdmFsdWVzIiksQy5jb21tZW50JiYoay5jb21tZW50P2suY29tbWVudCs9YApgK0MuY29tbWVudDprLmNvbW1lbnQ9Qy5jb21tZW50KTtsZXQgTj1uZXcgdXIoayk7dC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMmJihOLnNyY1Rva2VuPXApLGwuaXRlbXMucHVzaChOKX19cmV0dXJuIGMmJmM8ZCYmaShjLCJJTVBPU1NJQkxFIiwiTWFwIGNvbW1lbnQgd2l0aCB0cmFpbGluZyBjb250ZW50IiksbC5yYW5nZT1bci5vZmZzZXQsZCxjPz9kXSxsfXZhciB0M3QsYTN0PWYoKCk9PntMMCgpOyQwKCk7TGcoKTtRWCgpO2cwZSgpO2IwZSgpO3QzdD0iQWxsIG1hcHBpbmcgaXRlbXMgbXVzdCBzdGFydCBhdCB0aGUgc2FtZSBjb2x1bW4iO3ModjBlLCJyZXNvbHZlQmxvY2tNYXAiKX0pO2Z1bmN0aW9uIHgwZSh7Y29tcG9zZU5vZGU6YSxjb21wb3NlRW1wdHlOb2RlOmV9LHQscixpLG8pe2xldCBuPW8/Lm5vZGVDbGFzcz8/X3MsbD1uZXcgbih0LnNjaGVtYSk7dC5hdFJvb3QmJih0LmF0Um9vdD0hMSksdC5hdEtleSYmKHQuYXRLZXk9ITEpO2xldCBkPXIub2Zmc2V0LGM9bnVsbDtmb3IobGV0e3N0YXJ0OnAsdmFsdWU6dX1vZiByLml0ZW1zKXtsZXQgbT1oMShwLHtpbmRpY2F0b3I6InNlcS1pdGVtLWluZCIsbmV4dDp1LG9mZnNldDpkLG9uRXJyb3I6aSxwYXJlbnRJbmRlbnQ6ci5pbmRlbnQsc3RhcnRPbk5ld2xpbmU6ITB9KTtpZighbS5mb3VuZClpZihtLmFuY2hvcnx8bS50YWd8fHUpdT8udHlwZT09PSJibG9jay1zZXEiP2kobS5lbmQsIkJBRF9JTkRFTlQiLCJBbGwgc2VxdWVuY2UgaXRlbXMgbXVzdCBzdGFydCBhdCB0aGUgc2FtZSBjb2x1bW4iKTppKGQsIk1JU1NJTkdfQ0hBUiIsIlNlcXVlbmNlIGl0ZW0gd2l0aG91dCAtIGluZGljYXRvciIpO2Vsc2V7Yz1tLmVuZCxtLmNvbW1lbnQmJihsLmNvbW1lbnQ9bS5jb21tZW50KTtjb250aW51ZX1sZXQgdj11P2EodCx1LG0saSk6ZSh0LG0uZW5kLHAsbnVsbCxtLGkpO3Quc2NoZW1hLmNvbXBhdCYmdTgoci5pbmRlbnQsdSxpKSxkPXYucmFuZ2VbMl0sbC5pdGVtcy5wdXNoKHYpfXJldHVybiBsLnJhbmdlPVtyLm9mZnNldCxkLGM/P2RdLGx9dmFyIHIzdD1mKCgpPT57RDAoKTtMZygpO2cwZSgpO3MoeDBlLCJyZXNvbHZlQmxvY2tTZXEiKX0pO2Z1bmN0aW9uIG0xKGEsZSx0LHIpe2xldCBpPSIiO2lmKGEpe2xldCBvPSExLG49IiI7Zm9yKGxldCBsIG9mIGEpe2xldHtzb3VyY2U6ZCx0eXBlOmN9PWw7c3dpdGNoKGMpe2Nhc2Uic3BhY2UiOm89ITA7YnJlYWs7Y2FzZSJjb21tZW50Ijp7dCYmIW8mJnIobCwiTUlTU0lOR19DSEFSIiwiQ29tbWVudHMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSBvdGhlciB0b2tlbnMgYnkgd2hpdGUgc3BhY2UgY2hhcmFjdGVycyIpO2xldCBwPWQuc3Vic3RyaW5nKDEpfHwiICI7aT9pKz1uK3A6aT1wLG49IiI7YnJlYWt9Y2FzZSJuZXdsaW5lIjppJiYobis9ZCksbz0hMDticmVhaztkZWZhdWx0OnIobCwiVU5FWFBFQ1RFRF9UT0tFTiIsYFVuZXhwZWN0ZWQgJHtjfSBhdCBub2RlIGVuZGApfWUrPWQubGVuZ3RofX1yZXR1cm57Y29tbWVudDppLG9mZnNldDplfX12YXIgcDg9ZigoKT0+e3MobTEsInJlc29sdmVFbmQiKX0pO2Z1bmN0aW9uIE0wZSh7Y29tcG9zZU5vZGU6YSxjb21wb3NlRW1wdHlOb2RlOmV9LHQscixpLG8pe2xldCBuPXIuc3RhcnQuc291cmNlPT09InsiLGw9bj8iZmxvdyBtYXAiOiJmbG93IHNlcXVlbmNlIixkPW8/Lm5vZGVDbGFzcz8/KG4/eXI6X3MpLGM9bmV3IGQodC5zY2hlbWEpO2MuZmxvdz0hMDtsZXQgcD10LmF0Um9vdDtwJiYodC5hdFJvb3Q9ITEpLHQuYXRLZXkmJih0LmF0S2V5PSExKTtsZXQgdT1yLm9mZnNldCtyLnN0YXJ0LnNvdXJjZS5sZW5ndGg7Zm9yKGxldCBnPTA7ZzxyLml0ZW1zLmxlbmd0aDsrK2cpe2xldCB5PXIuaXRlbXNbZ10se3N0YXJ0Omssa2V5OkMsc2VwOk4sdmFsdWU6X309eSx6PWgxKGsse2Zsb3c6bCxpbmRpY2F0b3I6ImV4cGxpY2l0LWtleS1pbmQiLG5leHQ6Qz8/Tj8uWzBdLG9mZnNldDp1LG9uRXJyb3I6aSxwYXJlbnRJbmRlbnQ6ci5pbmRlbnQsc3RhcnRPbk5ld2xpbmU6ITF9KTtpZighei5mb3VuZCl7aWYoIXouYW5jaG9yJiYhei50YWcmJiFOJiYhXyl7Zz09PTAmJnouY29tbWE/aSh6LmNvbW1hLCJVTkVYUEVDVEVEX1RPS0VOIixgVW5leHBlY3RlZCAsIGluICR7bH1gKTpnPHIuaXRlbXMubGVuZ3RoLTEmJmkoei5zdGFydCwiVU5FWFBFQ1RFRF9UT0tFTiIsYFVuZXhwZWN0ZWQgZW1wdHkgaXRlbSBpbiAke2x9YCksei5jb21tZW50JiYoYy5jb21tZW50P2MuY29tbWVudCs9YApgK3ouY29tbWVudDpjLmNvbW1lbnQ9ei5jb21tZW50KSx1PXouZW5kO2NvbnRpbnVlfSFuJiZ0Lm9wdGlvbnMuc3RyaWN0JiZPbChDKSYmaShDLCJNVUxUSUxJTkVfSU1QTElDSVRfS0VZIiwiSW1wbGljaXQga2V5cyBvZiBmbG93IHNlcXVlbmNlIHBhaXJzIG5lZWQgdG8gYmUgb24gYSBzaW5nbGUgbGluZSIpfWlmKGc9PT0wKXouY29tbWEmJmkoei5jb21tYSwiVU5FWFBFQ1RFRF9UT0tFTiIsYFVuZXhwZWN0ZWQgLCBpbiAke2x9YCk7ZWxzZSBpZih6LmNvbW1hfHxpKHouc3RhcnQsIk1JU1NJTkdfQ0hBUiIsYE1pc3NpbmcgLCBiZXR3ZWVuICR7bH0gaXRlbXNgKSx6LmNvbW1lbnQpe2xldCBPPSIiO2U6Zm9yKGxldCBUIG9mIGspc3dpdGNoKFQudHlwZSl7Y2FzZSJjb21tYSI6Y2FzZSJzcGFjZSI6YnJlYWs7Y2FzZSJjb21tZW50IjpPPVQuc291cmNlLnN1YnN0cmluZygxKTticmVhayBlO2RlZmF1bHQ6YnJlYWsgZX1pZihPKXtsZXQgVD1jLml0ZW1zW2MuaXRlbXMubGVuZ3RoLTFdO2FhKFQpJiYoVD1ULnZhbHVlPz9ULmtleSksVC5jb21tZW50P1QuY29tbWVudCs9YApgK086VC5jb21tZW50PU8sei5jb21tZW50PXouY29tbWVudC5zdWJzdHJpbmcoTy5sZW5ndGgrMSl9fWlmKCFuJiYhTiYmIXouZm91bmQpe2xldCBPPV8/YSh0LF8seixpKTplKHQsei5lbmQsTixudWxsLHosaSk7Yy5pdGVtcy5wdXNoKE8pLHU9Ty5yYW5nZVsyXSx3MGUoXykmJmkoTy5yYW5nZSwiQkxPQ0tfSU5fRkxPVyIseTBlKX1lbHNle3QuYXRLZXk9ITA7bGV0IE89ei5lbmQsVD1DP2EodCxDLHosaSk6ZSh0LE8sayxudWxsLHosaSk7dzBlKEMpJiZpKFQucmFuZ2UsIkJMT0NLX0lOX0ZMT1ciLHkwZSksdC5hdEtleT0hMTtsZXQgRT1oMShOPz9bXSx7ZmxvdzpsLGluZGljYXRvcjoibWFwLXZhbHVlLWluZCIsbmV4dDpfLG9mZnNldDpULnJhbmdlWzJdLG9uRXJyb3I6aSxwYXJlbnRJbmRlbnQ6ci5pbmRlbnQsc3RhcnRPbk5ld2xpbmU6ITF9KTtpZihFLmZvdW5kKXtpZighbiYmIXouZm91bmQmJnQub3B0aW9ucy5zdHJpY3Qpe2lmKE4pZm9yKGxldCBTIG9mIE4pe2lmKFM9PT1FLmZvdW5kKWJyZWFrO2lmKFMudHlwZT09PSJuZXdsaW5lIil7aShTLCJNVUxUSUxJTkVfSU1QTElDSVRfS0VZIiwiSW1wbGljaXQga2V5cyBvZiBmbG93IHNlcXVlbmNlIHBhaXJzIG5lZWQgdG8gYmUgb24gYSBzaW5nbGUgbGluZSIpO2JyZWFrfX16LnN0YXJ0PEUuZm91bmQub2Zmc2V0LTEwMjQmJmkoRS5mb3VuZCwiS0VZX09WRVJfMTAyNF9DSEFSUyIsIlRoZSA6IGluZGljYXRvciBtdXN0IGJlIGF0IG1vc3QgMTAyNCBjaGFycyBhZnRlciB0aGUgc3RhcnQgb2YgYW4gaW1wbGljaXQgZmxvdyBzZXF1ZW5jZSBrZXkiKX19ZWxzZSBfJiYoInNvdXJjZSJpbiBfJiZfLnNvdXJjZT8uWzBdPT09IjoiP2koXywiTUlTU0lOR19DSEFSIixgTWlzc2luZyBzcGFjZSBhZnRlciA6IGluICR7bH1gKTppKEUuc3RhcnQsIk1JU1NJTkdfQ0hBUiIsYE1pc3NpbmcgLCBvciA6IGJldHdlZW4gJHtsfSBpdGVtc2ApKTtsZXQgQj1fP2EodCxfLEUsaSk6RS5mb3VuZD9lKHQsRS5lbmQsTixudWxsLEUsaSk6bnVsbDtCP3cwZShfKSYmaShCLnJhbmdlLCJCTE9DS19JTl9GTE9XIix5MGUpOkUuY29tbWVudCYmKFQuY29tbWVudD9ULmNvbW1lbnQrPWAKYCtFLmNvbW1lbnQ6VC5jb21tZW50PUUuY29tbWVudCk7bGV0IE09bmV3IHVyKFQsQik7aWYodC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMmJihNLnNyY1Rva2VuPXkpLG4pe2xldCBTPWM7JGcodCxTLml0ZW1zLFQpJiZpKE8sIkRVUExJQ0FURV9LRVkiLCJNYXAga2V5cyBtdXN0IGJlIHVuaXF1ZSIpLFMuaXRlbXMucHVzaChNKX1lbHNle2xldCBTPW5ldyB5cih0LnNjaGVtYSk7Uy5mbG93PSEwLFMuaXRlbXMucHVzaChNKTtsZXQgUD0oQj8/VCkucmFuZ2U7Uy5yYW5nZT1bVC5yYW5nZVswXSxQWzFdLFBbMl1dLGMuaXRlbXMucHVzaChTKX11PUI/Qi5yYW5nZVsyXTpFLmVuZH19bGV0IG09bj8ifSI6Il0iLFt2LC4uLnhdPXIuZW5kLGI9dTtpZih2Py5zb3VyY2U9PT1tKWI9di5vZmZzZXQrdi5zb3VyY2UubGVuZ3RoO2Vsc2V7bGV0IGc9bFswXS50b1VwcGVyQ2FzZSgpK2wuc3Vic3RyaW5nKDEpLHk9cD9gJHtnfSBtdXN0IGVuZCB3aXRoIGEgJHttfWA6YCR7Z30gaW4gYmxvY2sgY29sbGVjdGlvbiBtdXN0IGJlIHN1ZmZpY2llbnRseSBpbmRlbnRlZCBhbmQgZW5kIHdpdGggYSAke219YDtpKHUscD8iTUlTU0lOR19DSEFSIjoiQkFEX0lOREVOVCIseSksdiYmdi5zb3VyY2UubGVuZ3RoIT09MSYmeC51bnNoaWZ0KHYpfWlmKHgubGVuZ3RoPjApe2xldCBnPW0xKHgsYix0Lm9wdGlvbnMuc3RyaWN0LGkpO2cuY29tbWVudCYmKGMuY29tbWVudD9jLmNvbW1lbnQrPWAKYCtnLmNvbW1lbnQ6Yy5jb21tZW50PWcuY29tbWVudCksYy5yYW5nZT1bci5vZmZzZXQsYixnLm9mZnNldF19ZWxzZSBjLnJhbmdlPVtyLm9mZnNldCxiLGJdO3JldHVybiBjfXZhciB5MGUsdzBlLHMzdD1mKCgpPT57TGEoKTtMMCgpOyQwKCk7RDAoKTtwOCgpO0xnKCk7UVgoKTtiMGUoKTt5MGU9IkJsb2NrIGNvbGxlY3Rpb25zIGFyZSBub3QgYWxsb3dlZCB3aXRoaW4gZmxvdyBjb2xsZWN0aW9ucyIsdzBlPXMoYT0+YSYmKGEudHlwZT09PSJibG9jay1tYXAifHxhLnR5cGU9PT0iYmxvY2stc2VxIiksImlzQmxvY2siKTtzKE0wZSwicmVzb2x2ZUZsb3dDb2xsZWN0aW9uIil9KTtmdW5jdGlvbiBrMGUoYSxlLHQscixpLG8pe2xldCBuPXQudHlwZT09PSJibG9jay1tYXAiP3YwZShhLGUsdCxyLG8pOnQudHlwZT09PSJibG9jay1zZXEiP3gwZShhLGUsdCxyLG8pOk0wZShhLGUsdCxyLG8pLGw9bi5jb25zdHJ1Y3RvcjtyZXR1cm4gaT09PSIhInx8aT09PWwudGFnTmFtZT8obi50YWc9bC50YWdOYW1lLG4pOihpJiYobi50YWc9aSksbil9ZnVuY3Rpb24gUzBlKGEsZSx0LHIsaSl7bGV0IG89ci50YWcsbj1vP2UuZGlyZWN0aXZlcy50YWdOYW1lKG8uc291cmNlLG09PmkobywiVEFHX1JFU09MVkVfRkFJTEVEIixtKSk6bnVsbDtpZih0LnR5cGU9PT0iYmxvY2stc2VxIil7bGV0e2FuY2hvcjptLG5ld2xpbmVBZnRlclByb3A6dn09cix4PW0mJm8/bS5vZmZzZXQ+by5vZmZzZXQ/bTpvOm0/P287eCYmKCF2fHx2Lm9mZnNldDx4Lm9mZnNldCkmJmkoeCwiTUlTU0lOR19DSEFSIiwiTWlzc2luZyBuZXdsaW5lIGFmdGVyIGJsb2NrIHNlcXVlbmNlIHByb3BzIil9bGV0IGw9dC50eXBlPT09ImJsb2NrLW1hcCI/Im1hcCI6dC50eXBlPT09ImJsb2NrLXNlcSI/InNlcSI6dC5zdGFydC5zb3VyY2U9PT0ieyI/Im1hcCI6InNlcSI7aWYoIW98fCFufHxuPT09IiEifHxuPT09eXIudGFnTmFtZSYmbD09PSJtYXAifHxuPT09X3MudGFnTmFtZSYmbD09PSJzZXEiKXJldHVybiBrMGUoYSxlLHQsaSxuKTtsZXQgZD1lLnNjaGVtYS50YWdzLmZpbmQobT0+bS50YWc9PT1uJiZtLmNvbGxlY3Rpb249PT1sKTtpZighZCl7bGV0IG09ZS5zY2hlbWEua25vd25UYWdzW25dO2lmKG0/LmNvbGxlY3Rpb249PT1sKWUuc2NoZW1hLnRhZ3MucHVzaChPYmplY3QuYXNzaWduKHt9LG0se2RlZmF1bHQ6ITF9KSksZD1tO2Vsc2UgcmV0dXJuIG0/aShvLCJCQURfQ09MTEVDVElPTl9UWVBFIixgJHttLnRhZ30gdXNlZCBmb3IgJHtsfSBjb2xsZWN0aW9uLCBidXQgZXhwZWN0cyAke20uY29sbGVjdGlvbj8/InNjYWxhciJ9YCwhMCk6aShvLCJUQUdfUkVTT0xWRV9GQUlMRUQiLGBVbnJlc29sdmVkIHRhZzogJHtufWAsITApLGswZShhLGUsdCxpLG4pfWxldCBjPWswZShhLGUsdCxpLG4sZCkscD1kLnJlc29sdmU/LihjLG09PmkobywiVEFHX1JFU09MVkVfRkFJTEVEIixtKSxlLm9wdGlvbnMpPz9jLHU9ZGEocCk/cDpuZXcgZnQocCk7cmV0dXJuIHUucmFuZ2U9Yy5yYW5nZSx1LnRhZz1uLGQ/LmZvcm1hdCYmKHUuZm9ybWF0PWQuZm9ybWF0KSx1fXZhciBpM3Q9ZigoKT0+e0xhKCk7bHMoKTskMCgpO0QwKCk7YTN0KCk7cjN0KCk7czN0KCk7cyhrMGUsInJlc29sdmVDb2xsZWN0aW9uIik7cyhTMGUsImNvbXBvc2VDb2xsZWN0aW9uIil9KTtmdW5jdGlvbiBEZyhhLGUsdCl7bGV0IHI9ZS5vZmZzZXQsaT1NeGEoZSxhLm9wdGlvbnMuc3RyaWN0LHQpO2lmKCFpKXJldHVybnt2YWx1ZToiIix0eXBlOm51bGwsY29tbWVudDoiIixyYW5nZTpbcixyLHJdfTtsZXQgbz1pLm1vZGU9PT0iPiI/ZnQuQkxPQ0tfRk9MREVEOmZ0LkJMT0NLX0xJVEVSQUwsbj1lLnNvdXJjZT9reGEoZS5zb3VyY2UpOltdLGw9bi5sZW5ndGg7Zm9yKGxldCBiPW4ubGVuZ3RoLTE7Yj49MDstLWIpe2xldCBnPW5bYl1bMV07aWYoZz09PSIifHxnPT09IlxyIilsPWI7ZWxzZSBicmVha31pZihsPT09MCl7bGV0IGI9aS5jaG9tcD09PSIrIiYmbi5sZW5ndGg+MD9gCmAucmVwZWF0KE1hdGgubWF4KDEsbi5sZW5ndGgtMSkpOiIiLGc9citpLmxlbmd0aDtyZXR1cm4gZS5zb3VyY2UmJihnKz1lLnNvdXJjZS5sZW5ndGgpLHt2YWx1ZTpiLHR5cGU6byxjb21tZW50OmkuY29tbWVudCxyYW5nZTpbcixnLGddfX1sZXQgZD1lLmluZGVudCtpLmluZGVudCxjPWUub2Zmc2V0K2kubGVuZ3RoLHA9MDtmb3IobGV0IGI9MDtiPGw7KytiKXtsZXRbZyx5XT1uW2JdO2lmKHk9PT0iInx8eT09PSJcciIpaS5pbmRlbnQ9PT0wJiZnLmxlbmd0aD5kJiYoZD1nLmxlbmd0aCk7ZWxzZXtnLmxlbmd0aDxkJiZ0KGMrZy5sZW5ndGgsIk1JU1NJTkdfQ0hBUiIsIkJsb2NrIHNjYWxhcnMgd2l0aCBtb3JlLWluZGVudGVkIGxlYWRpbmcgZW1wdHkgbGluZXMgbXVzdCB1c2UgYW4gZXhwbGljaXQgaW5kZW50YXRpb24gaW5kaWNhdG9yIiksaS5pbmRlbnQ9PT0wJiYoZD1nLmxlbmd0aCkscD1iLGQ9PT0wJiYhYS5hdFJvb3QmJnQoYywiQkFEX0lOREVOVCIsIkJsb2NrIHNjYWxhciB2YWx1ZXMgaW4gY29sbGVjdGlvbnMgbXVzdCBiZSBpbmRlbnRlZCIpO2JyZWFrfWMrPWcubGVuZ3RoK3kubGVuZ3RoKzF9Zm9yKGxldCBiPW4ubGVuZ3RoLTE7Yj49bDstLWIpbltiXVswXS5sZW5ndGg+ZCYmKGw9YisxKTtsZXQgdT0iIixtPSIiLHY9ITE7Zm9yKGxldCBiPTA7YjxwOysrYil1Kz1uW2JdWzBdLnNsaWNlKGQpK2AKYDtmb3IobGV0IGI9cDtiPGw7KytiKXtsZXRbZyx5XT1uW2JdO2MrPWcubGVuZ3RoK3kubGVuZ3RoKzE7bGV0IGs9eVt5Lmxlbmd0aC0xXT09PSJcciI7aWYoayYmKHk9eS5zbGljZSgwLC0xKSkseSYmZy5sZW5ndGg8ZCl7bGV0IE49YEJsb2NrIHNjYWxhciBsaW5lcyBtdXN0IG5vdCBiZSBsZXNzIGluZGVudGVkIHRoYW4gdGhlaXIgJHtpLmluZGVudD8iZXhwbGljaXQgaW5kZW50YXRpb24gaW5kaWNhdG9yIjoiZmlyc3QgbGluZSJ9YDt0KGMteS5sZW5ndGgtKGs/MjoxKSwiQkFEX0lOREVOVCIsTiksZz0iIn1vPT09ZnQuQkxPQ0tfTElURVJBTD8odSs9bStnLnNsaWNlKGQpK3ksbT1gCmApOmcubGVuZ3RoPmR8fHlbMF09PT0iCSI/KG09PT0iICI/bT1gCmA6IXYmJm09PT1gCmAmJihtPWAKCmApLHUrPW0rZy5zbGljZShkKSt5LG09YApgLHY9ITApOnk9PT0iIj9tPT09YApgP3UrPWAKYDptPWAKYDoodSs9bSt5LG09IiAiLHY9ITEpfXN3aXRjaChpLmNob21wKXtjYXNlIi0iOmJyZWFrO2Nhc2UiKyI6Zm9yKGxldCBiPWw7YjxuLmxlbmd0aDsrK2IpdSs9YApgK25bYl1bMF0uc2xpY2UoZCk7dVt1Lmxlbmd0aC0xXSE9PWAKYCYmKHUrPWAKYCk7YnJlYWs7ZGVmYXVsdDp1Kz1gCmB9bGV0IHg9citpLmxlbmd0aCtlLnNvdXJjZS5sZW5ndGg7cmV0dXJue3ZhbHVlOnUsdHlwZTpvLGNvbW1lbnQ6aS5jb21tZW50LHJhbmdlOltyLHgseF19fWZ1bmN0aW9uIE14YSh7b2Zmc2V0OmEscHJvcHM6ZX0sdCxyKXtpZihlWzBdLnR5cGUhPT0iYmxvY2stc2NhbGFyLWhlYWRlciIpcmV0dXJuIHIoZVswXSwiSU1QT1NTSUJMRSIsIkJsb2NrIHNjYWxhciBoZWFkZXIgbm90IGZvdW5kIiksbnVsbDtsZXR7c291cmNlOml9PWVbMF0sbz1pWzBdLG49MCxsPSIiLGQ9LTE7Zm9yKGxldCBtPTE7bTxpLmxlbmd0aDsrK20pe2xldCB2PWlbbV07aWYoIWwmJih2PT09Ii0ifHx2PT09IisiKSlsPXY7ZWxzZXtsZXQgeD1OdW1iZXIodik7IW4mJng/bj14OmQ9PT0tMSYmKGQ9YSttKX19ZCE9PS0xJiZyKGQsIlVORVhQRUNURURfVE9LRU4iLGBCbG9jayBzY2FsYXIgaGVhZGVyIGluY2x1ZGVzIGV4dHJhIGNoYXJhY3RlcnM6ICR7aX1gKTtsZXQgYz0hMSxwPSIiLHU9aS5sZW5ndGg7Zm9yKGxldCBtPTE7bTxlLmxlbmd0aDsrK20pe2xldCB2PWVbbV07c3dpdGNoKHYudHlwZSl7Y2FzZSJzcGFjZSI6Yz0hMDtjYXNlIm5ld2xpbmUiOnUrPXYuc291cmNlLmxlbmd0aDticmVhaztjYXNlImNvbW1lbnQiOnQmJiFjJiZyKHYsIk1JU1NJTkdfQ0hBUiIsIkNvbW1lbnRzIG11c3QgYmUgc2VwYXJhdGVkIGZyb20gb3RoZXIgdG9rZW5zIGJ5IHdoaXRlIHNwYWNlIGNoYXJhY3RlcnMiKSx1Kz12LnNvdXJjZS5sZW5ndGgscD12LnNvdXJjZS5zdWJzdHJpbmcoMSk7YnJlYWs7Y2FzZSJlcnJvciI6cih2LCJVTkVYUEVDVEVEX1RPS0VOIix2Lm1lc3NhZ2UpLHUrPXYuc291cmNlLmxlbmd0aDticmVhaztkZWZhdWx0OntsZXQgeD1gVW5leHBlY3RlZCB0b2tlbiBpbiBibG9jayBzY2FsYXIgaGVhZGVyOiAke3YudHlwZX1gO3IodiwiVU5FWFBFQ1RFRF9UT0tFTiIseCk7bGV0IGI9di5zb3VyY2U7YiYmdHlwZW9mIGI9PSJzdHJpbmciJiYodSs9Yi5sZW5ndGgpfX19cmV0dXJue21vZGU6byxpbmRlbnQ6bixjaG9tcDpsLGNvbW1lbnQ6cCxsZW5ndGg6dX19ZnVuY3Rpb24ga3hhKGEpe2xldCBlPWEuc3BsaXQoL1xuKCAqKS8pLHQ9ZVswXSxyPXQubWF0Y2goL14oICopLyksbz1bcj8uWzFdP1tyWzFdLHQuc2xpY2UoclsxXS5sZW5ndGgpXTpbIiIsdF1dO2ZvcihsZXQgbj0xO248ZS5sZW5ndGg7bis9MilvLnB1c2goW2Vbbl0sZVtuKzFdXSk7cmV0dXJuIG99dmFyIHowZT1mKCgpPT57bHMoKTtzKERnLCJyZXNvbHZlQmxvY2tTY2FsYXIiKTtzKE14YSwicGFyc2VCbG9ja1NjYWxhckhlYWRlciIpO3Moa3hhLCJzcGxpdExpbmVzIil9KTtmdW5jdGlvbiBBZyhhLGUsdCl7bGV0e29mZnNldDpyLHR5cGU6aSxzb3VyY2U6byxlbmQ6bn09YSxsLGQsYz1zKChtLHYseCk9PnQocittLHYseCksIl9vbkVycm9yIik7c3dpdGNoKGkpe2Nhc2Uic2NhbGFyIjpsPWZ0LlBMQUlOLGQ9U3hhKG8sYyk7YnJlYWs7Y2FzZSJzaW5nbGUtcXVvdGVkLXNjYWxhciI6bD1mdC5RVU9URV9TSU5HTEUsZD16eGEobyxjKTticmVhaztjYXNlImRvdWJsZS1xdW90ZWQtc2NhbGFyIjpsPWZ0LlFVT1RFX0RPVUJMRSxkPUN4YShvLGMpO2JyZWFrO2RlZmF1bHQ6cmV0dXJuIHQoYSwiVU5FWFBFQ1RFRF9UT0tFTiIsYEV4cGVjdGVkIGEgZmxvdyBzY2FsYXIgdmFsdWUsIGJ1dCBmb3VuZDogJHtpfWApLHt2YWx1ZToiIix0eXBlOm51bGwsY29tbWVudDoiIixyYW5nZTpbcixyK28ubGVuZ3RoLHIrby5sZW5ndGhdfX1sZXQgcD1yK28ubGVuZ3RoLHU9bTEobixwLGUsdCk7cmV0dXJue3ZhbHVlOmQsdHlwZTpsLGNvbW1lbnQ6dS5jb21tZW50LHJhbmdlOltyLHAsdS5vZmZzZXRdfX1mdW5jdGlvbiBTeGEoYSxlKXtsZXQgdD0iIjtzd2l0Y2goYVswXSl7Y2FzZSIJIjp0PSJhIHRhYiBjaGFyYWN0ZXIiO2JyZWFrO2Nhc2UiLCI6dD0iZmxvdyBpbmRpY2F0b3IgY2hhcmFjdGVyICwiO2JyZWFrO2Nhc2UiJSI6dD0iZGlyZWN0aXZlIGluZGljYXRvciBjaGFyYWN0ZXIgJSI7YnJlYWs7Y2FzZSJ8IjpjYXNlIj4iOnt0PWBibG9jayBzY2FsYXIgaW5kaWNhdG9yICR7YVswXX1gO2JyZWFrfWNhc2UiQCI6Y2FzZSJgIjp7dD1gcmVzZXJ2ZWQgY2hhcmFjdGVyICR7YVswXX1gO2JyZWFrfX1yZXR1cm4gdCYmZSgwLCJCQURfU0NBTEFSX1NUQVJUIixgUGxhaW4gdmFsdWUgY2Fubm90IHN0YXJ0IHdpdGggJHt0fWApLG8zdChhKX1mdW5jdGlvbiB6eGEoYSxlKXtyZXR1cm4oYVthLmxlbmd0aC0xXSE9PSInInx8YS5sZW5ndGg9PT0xKSYmZShhLmxlbmd0aCwiTUlTU0lOR19DSEFSIiwiTWlzc2luZyBjbG9zaW5nICdxdW90ZSIpLG8zdChhLnNsaWNlKDEsLTEpKS5yZXBsYWNlKC8nJy9nLCInIil9ZnVuY3Rpb24gbzN0KGEpe2xldCBlLHQ7dHJ5e2U9bmV3IFJlZ0V4cChgKC4qPykoPzwhWyAJXSlbIAldKlxyPwpgLCJzeSIpLHQ9bmV3IFJlZ0V4cChgWyAJXSooLio/KSg/Oig/PCFbIAldKVsgCV0qKT9ccj8KYCwic3kiKX1jYXRjaHtlPS8oLio/KVsgXHRdKlxyP1xuL3N5LHQ9L1sgXHRdKiguKj8pWyBcdF0qXHI/XG4vc3l9bGV0IHI9ZS5leGVjKGEpO2lmKCFyKXJldHVybiBhO2xldCBpPXJbMV0sbz0iICIsbj1lLmxhc3RJbmRleDtmb3IodC5sYXN0SW5kZXg9bjtyPXQuZXhlYyhhKTspclsxXT09PSIiP289PT1gCmA/aSs9bzpvPWAKYDooaSs9bytyWzFdLG89IiAiKSxuPXQubGFzdEluZGV4O2xldCBsPS9bIFx0XSooLiopL3N5O3JldHVybiBsLmxhc3RJbmRleD1uLHI9bC5leGVjKGEpLGkrbysocj8uWzFdPz8iIil9ZnVuY3Rpb24gQ3hhKGEsZSl7bGV0IHQ9IiI7Zm9yKGxldCByPTE7cjxhLmxlbmd0aC0xOysrcil7bGV0IGk9YVtyXTtpZighKGk9PT0iXHIiJiZhW3IrMV09PT1gCmApKWlmKGk9PT1gCmApe2xldHtmb2xkOm8sb2Zmc2V0Om59PV94YShhLHIpO3QrPW8scj1ufWVsc2UgaWYoaT09PSJcXCIpe2xldCBvPWFbKytyXSxuPVR4YVtvXTtpZihuKXQrPW47ZWxzZSBpZihvPT09YApgKWZvcihvPWFbcisxXTtvPT09IiAifHxvPT09IgkiOylvPWFbKytyKzFdO2Vsc2UgaWYobz09PSJcciImJmFbcisxXT09PWAKYClmb3Iobz1hWysrcisxXTtvPT09IiAifHxvPT09IgkiOylvPWFbKytyKzFdO2Vsc2UgaWYobz09PSJ4Inx8bz09PSJ1Inx8bz09PSJVIil7bGV0IGw9bz09PSJ4Ij8yOm89PT0idSI/NDo4O3QrPUx4YShhLHIrMSxsLGUpLHIrPWx9ZWxzZXtsZXQgbD1hLnN1YnN0cihyLTEsMik7ZShyLTEsIkJBRF9EUV9FU0NBUEUiLGBJbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZSAke2x9YCksdCs9bH19ZWxzZSBpZihpPT09IiAifHxpPT09IgkiKXtsZXQgbz1yLG49YVtyKzFdO2Zvcig7bj09PSIgInx8bj09PSIJIjspbj1hWysrcisxXTtuIT09YApgJiYhKG49PT0iXHIiJiZhW3IrMl09PT1gCmApJiYodCs9cj5vP2Euc2xpY2UobyxyKzEpOmkpfWVsc2UgdCs9aX1yZXR1cm4oYVthLmxlbmd0aC0xXSE9PSciJ3x8YS5sZW5ndGg9PT0xKSYmZShhLmxlbmd0aCwiTUlTU0lOR19DSEFSIiwnTWlzc2luZyBjbG9zaW5nICJxdW90ZScpLHR9ZnVuY3Rpb24gX3hhKGEsZSl7bGV0IHQ9IiIscj1hW2UrMV07Zm9yKDsocj09PSIgInx8cj09PSIJInx8cj09PWAKYHx8cj09PSJcciIpJiYhKHI9PT0iXHIiJiZhW2UrMl0hPT1gCmApOylyPT09YApgJiYodCs9YApgKSxlKz0xLHI9YVtlKzFdO3JldHVybiB0fHwodD0iICIpLHtmb2xkOnQsb2Zmc2V0OmV9fWZ1bmN0aW9uIEx4YShhLGUsdCxyKXtsZXQgaT1hLnN1YnN0cihlLHQpLG49aS5sZW5ndGg9PT10JiYvXlswLTlhLWZBLUZdKyQvLnRlc3QoaSk/cGFyc2VJbnQoaSwxNik6TmFOO3RyeXtyZXR1cm4gU3RyaW5nLmZyb21Db2RlUG9pbnQobil9Y2F0Y2h7bGV0IGw9YS5zdWJzdHIoZS0yLHQrMik7cmV0dXJuIHIoZS0yLCJCQURfRFFfRVNDQVBFIixgSW52YWxpZCBlc2NhcGUgc2VxdWVuY2UgJHtsfWApLGx9fXZhciBUeGEsQzBlPWYoKCk9PntscygpO3A4KCk7cyhBZywicmVzb2x2ZUZsb3dTY2FsYXIiKTtzKFN4YSwicGxhaW5WYWx1ZSIpO3MoenhhLCJzaW5nbGVRdW90ZWRWYWx1ZSIpO3MobzN0LCJmb2xkTGluZXMiKTtzKEN4YSwiZG91YmxlUXVvdGVkVmFsdWUiKTtzKF94YSwiZm9sZE5ld2xpbmUiKTtUeGE9ezA6IlwwIixhOiJceDA3IixiOiJcYiIsZToiXHgxQiIsZjoiXGYiLG46YApgLHI6IlxyIix0OiIJIix2OiJcdiIsTjoiXHg4NSIsXzoiXHhBMCIsTDoiXHUyMDI4IixQOiJcdTIwMjkiLCIgIjoiICIsJyInOiciJywiLyI6Ii8iLCJcXCI6IlxcIiwiCSI6IgkifTtzKEx4YSwicGFyc2VDaGFyQ29kZSIpfSk7ZnVuY3Rpb24gSlgoYSxlLHQscil7bGV0e3ZhbHVlOmksdHlwZTpvLGNvbW1lbnQ6bixyYW5nZTpsfT1lLnR5cGU9PT0iYmxvY2stc2NhbGFyIj9EZyhhLGUscik6QWcoZSxhLm9wdGlvbnMuc3RyaWN0LHIpLGQ9dD9hLmRpcmVjdGl2ZXMudGFnTmFtZSh0LnNvdXJjZSx1PT5yKHQsIlRBR19SRVNPTFZFX0ZBSUxFRCIsdSkpOm51bGwsYzthLm9wdGlvbnMuc3RyaW5nS2V5cyYmYS5hdEtleT9jPWEuc2NoZW1hW01vXTpkP2M9JHhhKGEuc2NoZW1hLGksZCx0LHIpOmUudHlwZT09PSJzY2FsYXIiP2M9RHhhKGEsaSxlLHIpOmM9YS5zY2hlbWFbTW9dO2xldCBwO3RyeXtsZXQgdT1jLnJlc29sdmUoaSxtPT5yKHQ/P2UsIlRBR19SRVNPTFZFX0ZBSUxFRCIsbSksYS5vcHRpb25zKTtwPXF0KHUpP3U6bmV3IGZ0KHUpfWNhdGNoKHUpe2xldCBtPXUgaW5zdGFuY2VvZiBFcnJvcj91Lm1lc3NhZ2U6U3RyaW5nKHUpO3IodD8/ZSwiVEFHX1JFU09MVkVfRkFJTEVEIixtKSxwPW5ldyBmdChpKX1yZXR1cm4gcC5yYW5nZT1sLHAuc291cmNlPWksbyYmKHAudHlwZT1vKSxkJiYocC50YWc9ZCksYy5mb3JtYXQmJihwLmZvcm1hdD1jLmZvcm1hdCksbiYmKHAuY29tbWVudD1uKSxwfWZ1bmN0aW9uICR4YShhLGUsdCxyLGkpe2lmKHQ9PT0iISIpcmV0dXJuIGFbTW9dO2xldCBvPVtdO2ZvcihsZXQgbCBvZiBhLnRhZ3MpaWYoIWwuY29sbGVjdGlvbiYmbC50YWc9PT10KWlmKGwuZGVmYXVsdCYmbC50ZXN0KW8ucHVzaChsKTtlbHNlIHJldHVybiBsO2ZvcihsZXQgbCBvZiBvKWlmKGwudGVzdD8udGVzdChlKSlyZXR1cm4gbDtsZXQgbj1hLmtub3duVGFnc1t0XTtyZXR1cm4gbiYmIW4uY29sbGVjdGlvbj8oYS50YWdzLnB1c2goT2JqZWN0LmFzc2lnbih7fSxuLHtkZWZhdWx0OiExLHRlc3Q6dm9pZCAwfSkpLG4pOihpKHIsIlRBR19SRVNPTFZFX0ZBSUxFRCIsYFVucmVzb2x2ZWQgdGFnOiAke3R9YCx0IT09InRhZzp5YW1sLm9yZywyMDAyOnN0ciIpLGFbTW9dKX1mdW5jdGlvbiBEeGEoe2F0S2V5OmEsZGlyZWN0aXZlczplLHNjaGVtYTp0fSxyLGksbyl7bGV0IG49dC50YWdzLmZpbmQobD0+KGwuZGVmYXVsdD09PSEwfHxhJiZsLmRlZmF1bHQ9PT0ia2V5IikmJmwudGVzdD8udGVzdChyKSl8fHRbTW9dO2lmKHQuY29tcGF0KXtsZXQgbD10LmNvbXBhdC5maW5kKGQ9PmQuZGVmYXVsdCYmZC50ZXN0Py50ZXN0KHIpKT8/dFtNb107aWYobi50YWchPT1sLnRhZyl7bGV0IGQ9ZS50YWdTdHJpbmcobi50YWcpLGM9ZS50YWdTdHJpbmcobC50YWcpLHA9YFZhbHVlIG1heSBiZSBwYXJzZWQgYXMgZWl0aGVyICR7ZH0gb3IgJHtjfWA7byhpLCJUQUdfUkVTT0xWRV9GQUlMRUQiLHAsITApfX1yZXR1cm4gbn12YXIgbjN0PWYoKCk9PntMYSgpO2xzKCk7ejBlKCk7QzBlKCk7cyhKWCwiY29tcG9zZVNjYWxhciIpO3MoJHhhLCJmaW5kU2NhbGFyVGFnQnlOYW1lIik7cyhEeGEsImZpbmRTY2FsYXJUYWdCeVRlc3QiKX0pO2Z1bmN0aW9uIF8wZShhLGUsdCl7aWYoZSl7dD8/KHQ9ZS5sZW5ndGgpO2ZvcihsZXQgcj10LTE7cj49MDstLXIpe2xldCBpPWVbcl07c3dpdGNoKGkudHlwZSl7Y2FzZSJzcGFjZSI6Y2FzZSJjb21tZW50IjpjYXNlIm5ld2xpbmUiOmEtPWkuc291cmNlLmxlbmd0aDtjb250aW51ZX1mb3IoaT1lWysrcl07aT8udHlwZT09PSJzcGFjZSI7KWErPWkuc291cmNlLmxlbmd0aCxpPWVbKytyXTticmVha319cmV0dXJuIGF9dmFyIGwzdD1mKCgpPT57cyhfMGUsImVtcHR5U2NhbGFyUG9zaXRpb24iKX0pO2Z1bmN0aW9uIGVRKGEsZSx0LHIpe2xldCBpPWEuYXRLZXkse3NwYWNlQmVmb3JlOm8sY29tbWVudDpuLGFuY2hvcjpsLHRhZzpkfT10LGMscD0hMDtzd2l0Y2goZS50eXBlKXtjYXNlImFsaWFzIjpjPUV4YShhLGUsciksKGx8fGQpJiZyKGUsIkFMSUFTX1BST1BTIiwiQW4gYWxpYXMgbm9kZSBtdXN0IG5vdCBzcGVjaWZ5IGFueSBwcm9wZXJ0aWVzIik7YnJlYWs7Y2FzZSJzY2FsYXIiOmNhc2Uic2luZ2xlLXF1b3RlZC1zY2FsYXIiOmNhc2UiZG91YmxlLXF1b3RlZC1zY2FsYXIiOmNhc2UiYmxvY2stc2NhbGFyIjpjPUpYKGEsZSxkLHIpLGwmJihjLmFuY2hvcj1sLnNvdXJjZS5zdWJzdHJpbmcoMSkpO2JyZWFrO2Nhc2UiYmxvY2stbWFwIjpjYXNlImJsb2NrLXNlcSI6Y2FzZSJmbG93LWNvbGxlY3Rpb24iOnRyeXtjPVMwZShBeGEsYSxlLHQsciksbCYmKGMuYW5jaG9yPWwuc291cmNlLnN1YnN0cmluZygxKSl9Y2F0Y2godSl7bGV0IG09dSBpbnN0YW5jZW9mIEVycm9yP3UubWVzc2FnZTpTdHJpbmcodSk7cihlLCJSRVNPVVJDRV9FWEhBVVNUSU9OIixtKX1icmVhaztkZWZhdWx0OntsZXQgdT1lLnR5cGU9PT0iZXJyb3IiP2UubWVzc2FnZTpgVW5zdXBwb3J0ZWQgdG9rZW4gKHR5cGU6ICR7ZS50eXBlfSlgO3IoZSwiVU5FWFBFQ1RFRF9UT0tFTiIsdSkscD0hMX19cmV0dXJuIGM/PyhjPUVnKGEsZS5vZmZzZXQsdm9pZCAwLG51bGwsdCxyKSksbCYmYy5hbmNob3I9PT0iIiYmcihsLCJCQURfQUxJQVMiLCJBbmNob3IgY2Fubm90IGJlIGFuIGVtcHR5IHN0cmluZyIpLGkmJmEub3B0aW9ucy5zdHJpbmdLZXlzJiYoIXF0KGMpfHx0eXBlb2YgYy52YWx1ZSE9InN0cmluZyJ8fGMudGFnJiZjLnRhZyE9PSJ0YWc6eWFtbC5vcmcsMjAwMjpzdHIiKSYmcihkPz9lLCJOT05fU1RSSU5HX0tFWSIsIldpdGggc3RyaW5nS2V5cywgYWxsIGtleXMgbXVzdCBiZSBzdHJpbmdzIiksbyYmKGMuc3BhY2VCZWZvcmU9ITApLG4mJihlLnR5cGU9PT0ic2NhbGFyIiYmZS5zb3VyY2U9PT0iIj9jLmNvbW1lbnQ9bjpjLmNvbW1lbnRCZWZvcmU9biksYS5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMmJnAmJihjLnNyY1Rva2VuPWUpLGN9ZnVuY3Rpb24gRWcoYSxlLHQscix7c3BhY2VCZWZvcmU6aSxjb21tZW50Om8sYW5jaG9yOm4sdGFnOmwsZW5kOmR9LGMpe2xldCBwPXt0eXBlOiJzY2FsYXIiLG9mZnNldDpfMGUoZSx0LHIpLGluZGVudDotMSxzb3VyY2U6IiJ9LHU9SlgoYSxwLGwsYyk7cmV0dXJuIG4mJih1LmFuY2hvcj1uLnNvdXJjZS5zdWJzdHJpbmcoMSksdS5hbmNob3I9PT0iIiYmYyhuLCJCQURfQUxJQVMiLCJBbmNob3IgY2Fubm90IGJlIGFuIGVtcHR5IHN0cmluZyIpKSxpJiYodS5zcGFjZUJlZm9yZT0hMCksbyYmKHUuY29tbWVudD1vLHUucmFuZ2VbMl09ZCksdX1mdW5jdGlvbiBFeGEoe29wdGlvbnM6YX0se29mZnNldDplLHNvdXJjZTp0LGVuZDpyfSxpKXtsZXQgbz1uZXcgeW4odC5zdWJzdHJpbmcoMSkpO28uc291cmNlPT09IiImJmkoZSwiQkFEX0FMSUFTIiwiQWxpYXMgY2Fubm90IGJlIGFuIGVtcHR5IHN0cmluZyIpLG8uc291cmNlLmVuZHNXaXRoKCI6IikmJmkoZSt0Lmxlbmd0aC0xLCJCQURfQUxJQVMiLCJBbGlhcyBlbmRpbmcgaW4gOiBpcyBhbWJpZ3VvdXMiLCEwKTtsZXQgbj1lK3QubGVuZ3RoLGw9bTEocixuLGEuc3RyaWN0LGkpO3JldHVybiBvLnJhbmdlPVtlLG4sbC5vZmZzZXRdLGwuY29tbWVudCYmKG8uY29tbWVudD1sLmNvbW1lbnQpLG99dmFyIEF4YSxjM3Q9ZigoKT0+e3NnKCk7TGEoKTtpM3QoKTtuM3QoKTtwOCgpO2wzdCgpO0F4YT17Y29tcG9zZU5vZGU6ZVEsY29tcG9zZUVtcHR5Tm9kZTpFZ307cyhlUSwiY29tcG9zZU5vZGUiKTtzKEVnLCJjb21wb3NlRW1wdHlOb2RlIik7cyhFeGEsImNvbXBvc2VBbGlhcyIpfSk7ZnVuY3Rpb24gVDBlKGEsZSx7b2Zmc2V0OnQsc3RhcnQ6cix2YWx1ZTppLGVuZDpvfSxuKXtsZXQgbD1PYmplY3QuYXNzaWduKHtfZGlyZWN0aXZlczplfSxhKSxkPW5ldyBTbih2b2lkIDAsbCksYz17YXRLZXk6ITEsYXRSb290OiEwLGRpcmVjdGl2ZXM6ZC5kaXJlY3RpdmVzLG9wdGlvbnM6ZC5vcHRpb25zLHNjaGVtYTpkLnNjaGVtYX0scD1oMShyLHtpbmRpY2F0b3I6ImRvYy1zdGFydCIsbmV4dDppPz9vPy5bMF0sb2Zmc2V0OnQsb25FcnJvcjpuLHBhcmVudEluZGVudDowLHN0YXJ0T25OZXdsaW5lOiEwfSk7cC5mb3VuZCYmKGQuZGlyZWN0aXZlcy5kb2NTdGFydD0hMCxpJiYoaS50eXBlPT09ImJsb2NrLW1hcCJ8fGkudHlwZT09PSJibG9jay1zZXEiKSYmIXAuaGFzTmV3bGluZSYmbihwLmVuZCwiTUlTU0lOR19DSEFSIiwiQmxvY2sgY29sbGVjdGlvbiBjYW5ub3Qgc3RhcnQgb24gc2FtZSBsaW5lIHdpdGggZGlyZWN0aXZlcy1lbmQgbWFya2VyIikpLGQuY29udGVudHM9aT9lUShjLGkscCxuKTpFZyhjLHAuZW5kLHIsbnVsbCxwLG4pO2xldCB1PWQuY29udGVudHMucmFuZ2VbMl0sbT1tMShvLHUsITEsbik7cmV0dXJuIG0uY29tbWVudCYmKGQuY29tbWVudD1tLmNvbW1lbnQpLGQucmFuZ2U9W3QsdSxtLm9mZnNldF0sZH12YXIgZDN0PWYoKCk9PntfZygpO2MzdCgpO3A4KCk7TGcoKTtzKFQwZSwiY29tcG9zZURvYyIpfSk7ZnVuY3Rpb24gUGcoYSl7aWYodHlwZW9mIGE9PSJudW1iZXIiKXJldHVyblthLGErMV07aWYoQXJyYXkuaXNBcnJheShhKSlyZXR1cm4gYS5sZW5ndGg9PT0yP2E6W2FbMF0sYVsxXV07bGV0e29mZnNldDplLHNvdXJjZTp0fT1hO3JldHVybltlLGUrKHR5cGVvZiB0PT0ic3RyaW5nIj90Lmxlbmd0aDoxKV19ZnVuY3Rpb24gdTN0KGEpe2xldCBlPSIiLHQ9ITEscj0hMTtmb3IobGV0IGk9MDtpPGEubGVuZ3RoOysraSl7bGV0IG89YVtpXTtzd2l0Y2gob1swXSl7Y2FzZSIjIjplKz0oZT09PSIiPyIiOnI/YAoKYDpgCmApKyhvLnN1YnN0cmluZygxKXx8IiAiKSx0PSEwLHI9ITE7YnJlYWs7Y2FzZSIlIjphW2krMV0/LlswXSE9PSIjIiYmKGkrPTEpLHQ9ITE7YnJlYWs7ZGVmYXVsdDp0fHwocj0hMCksdD0hMX19cmV0dXJue2NvbW1lbnQ6ZSxhZnRlckVtcHR5TGluZTpyfX12YXIgRmwsTDBlPWYoKCk9PntOY2UoKTtfZygpO1RnKCk7TGEoKTtkM3QoKTtwOCgpO3MoUGcsImdldEVycm9yUG9zIik7cyh1M3QsInBhcnNlUHJlbHVkZSIpO0ZsPWNsYXNze3N0YXRpY3tzKHRoaXMsIkNvbXBvc2VyIil9Y29uc3RydWN0b3IoZT17fSl7dGhpcy5kb2M9bnVsbCx0aGlzLmF0RGlyZWN0aXZlcz0hMSx0aGlzLnByZWx1ZGU9W10sdGhpcy5lcnJvcnM9W10sdGhpcy53YXJuaW5ncz1bXSx0aGlzLm9uRXJyb3I9KHQscixpLG8pPT57bGV0IG49UGcodCk7bz90aGlzLndhcm5pbmdzLnB1c2gobmV3IEkwKG4scixpKSk6dGhpcy5lcnJvcnMucHVzaChuZXcgcWkobixyLGkpKX0sdGhpcy5kaXJlY3RpdmVzPW5ldyBwMSh7dmVyc2lvbjplLnZlcnNpb258fCIxLjIifSksdGhpcy5vcHRpb25zPWV9ZGVjb3JhdGUoZSx0KXtsZXR7Y29tbWVudDpyLGFmdGVyRW1wdHlMaW5lOml9PXUzdCh0aGlzLnByZWx1ZGUpO2lmKHIpe2xldCBvPWUuY29udGVudHM7aWYodCllLmNvbW1lbnQ9ZS5jb21tZW50P2Ake2UuY29tbWVudH0KJHtyfWA6cjtlbHNlIGlmKGl8fGUuZGlyZWN0aXZlcy5kb2NTdGFydHx8IW8pZS5jb21tZW50QmVmb3JlPXI7ZWxzZSBpZihUYShvKSYmIW8uZmxvdyYmby5pdGVtcy5sZW5ndGg+MCl7bGV0IG49by5pdGVtc1swXTthYShuKSYmKG49bi5rZXkpO2xldCBsPW4uY29tbWVudEJlZm9yZTtuLmNvbW1lbnRCZWZvcmU9bD9gJHtyfQoke2x9YDpyfWVsc2V7bGV0IG49by5jb21tZW50QmVmb3JlO28uY29tbWVudEJlZm9yZT1uP2Ake3J9CiR7bn1gOnJ9fXQ/KEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGUuZXJyb3JzLHRoaXMuZXJyb3JzKSxBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShlLndhcm5pbmdzLHRoaXMud2FybmluZ3MpKTooZS5lcnJvcnM9dGhpcy5lcnJvcnMsZS53YXJuaW5ncz10aGlzLndhcm5pbmdzKSx0aGlzLnByZWx1ZGU9W10sdGhpcy5lcnJvcnM9W10sdGhpcy53YXJuaW5ncz1bXX1zdHJlYW1JbmZvKCl7cmV0dXJue2NvbW1lbnQ6dTN0KHRoaXMucHJlbHVkZSkuY29tbWVudCxkaXJlY3RpdmVzOnRoaXMuZGlyZWN0aXZlcyxlcnJvcnM6dGhpcy5lcnJvcnMsd2FybmluZ3M6dGhpcy53YXJuaW5nc319KmNvbXBvc2UoZSx0PSExLHI9LTEpe2ZvcihsZXQgaSBvZiBlKXlpZWxkKnRoaXMubmV4dChpKTt5aWVsZCp0aGlzLmVuZCh0LHIpfSpuZXh0KGUpe3N3aXRjaChlLnR5cGUpe2Nhc2UiZGlyZWN0aXZlIjp0aGlzLmRpcmVjdGl2ZXMuYWRkKGUuc291cmNlLCh0LHIsaSk9PntsZXQgbz1QZyhlKTtvWzBdKz10LHRoaXMub25FcnJvcihvLCJCQURfRElSRUNUSVZFIixyLGkpfSksdGhpcy5wcmVsdWRlLnB1c2goZS5zb3VyY2UpLHRoaXMuYXREaXJlY3RpdmVzPSEwO2JyZWFrO2Nhc2UiZG9jdW1lbnQiOntsZXQgdD1UMGUodGhpcy5vcHRpb25zLHRoaXMuZGlyZWN0aXZlcyxlLHRoaXMub25FcnJvcik7dGhpcy5hdERpcmVjdGl2ZXMmJiF0LmRpcmVjdGl2ZXMuZG9jU3RhcnQmJnRoaXMub25FcnJvcihlLCJNSVNTSU5HX0NIQVIiLCJNaXNzaW5nIGRpcmVjdGl2ZXMtZW5kL2RvYy1zdGFydCBpbmRpY2F0b3IgbGluZSIpLHRoaXMuZGVjb3JhdGUodCwhMSksdGhpcy5kb2MmJih5aWVsZCB0aGlzLmRvYyksdGhpcy5kb2M9dCx0aGlzLmF0RGlyZWN0aXZlcz0hMTticmVha31jYXNlImJ5dGUtb3JkZXItbWFyayI6Y2FzZSJzcGFjZSI6YnJlYWs7Y2FzZSJjb21tZW50IjpjYXNlIm5ld2xpbmUiOnRoaXMucHJlbHVkZS5wdXNoKGUuc291cmNlKTticmVhaztjYXNlImVycm9yIjp7bGV0IHQ9ZS5zb3VyY2U/YCR7ZS5tZXNzYWdlfTogJHtKU09OLnN0cmluZ2lmeShlLnNvdXJjZSl9YDplLm1lc3NhZ2Uscj1uZXcgcWkoUGcoZSksIlVORVhQRUNURURfVE9LRU4iLHQpO3RoaXMuYXREaXJlY3RpdmVzfHwhdGhpcy5kb2M/dGhpcy5lcnJvcnMucHVzaChyKTp0aGlzLmRvYy5lcnJvcnMucHVzaChyKTticmVha31jYXNlImRvYy1lbmQiOntpZighdGhpcy5kb2Mpe2xldCByPSJVbmV4cGVjdGVkIGRvYy1lbmQgd2l0aG91dCBwcmVjZWRpbmcgZG9jdW1lbnQiO3RoaXMuZXJyb3JzLnB1c2gobmV3IHFpKFBnKGUpLCJVTkVYUEVDVEVEX1RPS0VOIixyKSk7YnJlYWt9dGhpcy5kb2MuZGlyZWN0aXZlcy5kb2NFbmQ9ITA7bGV0IHQ9bTEoZS5lbmQsZS5vZmZzZXQrZS5zb3VyY2UubGVuZ3RoLHRoaXMuZG9jLm9wdGlvbnMuc3RyaWN0LHRoaXMub25FcnJvcik7aWYodGhpcy5kZWNvcmF0ZSh0aGlzLmRvYywhMCksdC5jb21tZW50KXtsZXQgcj10aGlzLmRvYy5jb21tZW50O3RoaXMuZG9jLmNvbW1lbnQ9cj9gJHtyfQoke3QuY29tbWVudH1gOnQuY29tbWVudH10aGlzLmRvYy5yYW5nZVsyXT10Lm9mZnNldDticmVha31kZWZhdWx0OnRoaXMuZXJyb3JzLnB1c2gobmV3IHFpKFBnKGUpLCJVTkVYUEVDVEVEX1RPS0VOIixgVW5zdXBwb3J0ZWQgdG9rZW4gJHtlLnR5cGV9YCkpfX0qZW5kKGU9ITEsdD0tMSl7aWYodGhpcy5kb2MpdGhpcy5kZWNvcmF0ZSh0aGlzLmRvYywhMCkseWllbGQgdGhpcy5kb2MsdGhpcy5kb2M9bnVsbDtlbHNlIGlmKGUpe2xldCByPU9iamVjdC5hc3NpZ24oe19kaXJlY3RpdmVzOnRoaXMuZGlyZWN0aXZlc30sdGhpcy5vcHRpb25zKSxpPW5ldyBTbih2b2lkIDAscik7dGhpcy5hdERpcmVjdGl2ZXMmJnRoaXMub25FcnJvcih0LCJNSVNTSU5HX0NIQVIiLCJNaXNzaW5nIGRpcmVjdGl2ZXMtZW5kIGluZGljYXRvciBsaW5lIiksaS5yYW5nZT1bMCx0LHRdLHRoaXMuZGVjb3JhdGUoaSwhMSkseWllbGQgaX19fX0pO2Z1bmN0aW9uIEQwZShhLGU9ITAsdCl7aWYoYSl7bGV0IHI9cygoaSxvLG4pPT57bGV0IGw9dHlwZW9mIGk9PSJudW1iZXIiP2k6QXJyYXkuaXNBcnJheShpKT9pWzBdOmkub2Zmc2V0O2lmKHQpdChsLG8sbik7ZWxzZSB0aHJvdyBuZXcgcWkoW2wsbCsxXSxvLG4pfSwiX29uRXJyb3IiKTtzd2l0Y2goYS50eXBlKXtjYXNlInNjYWxhciI6Y2FzZSJzaW5nbGUtcXVvdGVkLXNjYWxhciI6Y2FzZSJkb3VibGUtcXVvdGVkLXNjYWxhciI6cmV0dXJuIEFnKGEsZSxyKTtjYXNlImJsb2NrLXNjYWxhciI6cmV0dXJuIERnKHtvcHRpb25zOntzdHJpY3Q6ZX19LGEscil9fXJldHVybiBudWxsfWZ1bmN0aW9uIEEwZShhLGUpe2xldHtpbXBsaWNpdEtleTp0PSExLGluZGVudDpyLGluRmxvdzppPSExLG9mZnNldDpvPS0xLHR5cGU6bj0iUExBSU4ifT1lLGw9TDIoe3R5cGU6bix2YWx1ZTphfSx7aW1wbGljaXRLZXk6dCxpbmRlbnQ6cj4wPyIgIi5yZXBlYXQocik6IiIsaW5GbG93Omksb3B0aW9uczp7YmxvY2tRdW90ZTohMCxsaW5lV2lkdGg6LTF9fSksZD1lLmVuZD8/W3t0eXBlOiJuZXdsaW5lIixvZmZzZXQ6LTEsaW5kZW50OnIsc291cmNlOmAKYH1dO3N3aXRjaChsWzBdKXtjYXNlInwiOmNhc2UiPiI6e2xldCBjPWwuaW5kZXhPZihgCmApLHA9bC5zdWJzdHJpbmcoMCxjKSx1PWwuc3Vic3RyaW5nKGMrMSkrYApgLG09W3t0eXBlOiJibG9jay1zY2FsYXItaGVhZGVyIixvZmZzZXQ6byxpbmRlbnQ6cixzb3VyY2U6cH1dO3JldHVybiBwM3QobSxkKXx8bS5wdXNoKHt0eXBlOiJuZXdsaW5lIixvZmZzZXQ6LTEsaW5kZW50OnIsc291cmNlOmAKYH0pLHt0eXBlOiJibG9jay1zY2FsYXIiLG9mZnNldDpvLGluZGVudDpyLHByb3BzOm0sc291cmNlOnV9fWNhc2UnIic6cmV0dXJue3R5cGU6ImRvdWJsZS1xdW90ZWQtc2NhbGFyIixvZmZzZXQ6byxpbmRlbnQ6cixzb3VyY2U6bCxlbmQ6ZH07Y2FzZSInIjpyZXR1cm57dHlwZToic2luZ2xlLXF1b3RlZC1zY2FsYXIiLG9mZnNldDpvLGluZGVudDpyLHNvdXJjZTpsLGVuZDpkfTtkZWZhdWx0OnJldHVybnt0eXBlOiJzY2FsYXIiLG9mZnNldDpvLGluZGVudDpyLHNvdXJjZTpsLGVuZDpkfX19ZnVuY3Rpb24gRTBlKGEsZSx0PXt9KXtsZXR7YWZ0ZXJLZXk6cj0hMSxpbXBsaWNpdEtleTppPSExLGluRmxvdzpvPSExLHR5cGU6bn09dCxsPSJpbmRlbnQiaW4gYT9hLmluZGVudDpudWxsO2lmKHImJnR5cGVvZiBsPT0ibnVtYmVyIiYmKGwrPTIpLCFuKXN3aXRjaChhLnR5cGUpe2Nhc2Uic2luZ2xlLXF1b3RlZC1zY2FsYXIiOm49IlFVT1RFX1NJTkdMRSI7YnJlYWs7Y2FzZSJkb3VibGUtcXVvdGVkLXNjYWxhciI6bj0iUVVPVEVfRE9VQkxFIjticmVhaztjYXNlImJsb2NrLXNjYWxhciI6e2xldCBjPWEucHJvcHNbMF07aWYoYy50eXBlIT09ImJsb2NrLXNjYWxhci1oZWFkZXIiKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBibG9jayBzY2FsYXIgaGVhZGVyIik7bj1jLnNvdXJjZVswXT09PSI+Ij8iQkxPQ0tfRk9MREVEIjoiQkxPQ0tfTElURVJBTCI7YnJlYWt9ZGVmYXVsdDpuPSJQTEFJTiJ9bGV0IGQ9TDIoe3R5cGU6bix2YWx1ZTplfSx7aW1wbGljaXRLZXk6aXx8bD09PW51bGwsaW5kZW50OmwhPT1udWxsJiZsPjA/IiAiLnJlcGVhdChsKToiIixpbkZsb3c6byxvcHRpb25zOntibG9ja1F1b3RlOiEwLGxpbmVXaWR0aDotMX19KTtzd2l0Y2goZFswXSl7Y2FzZSJ8IjpjYXNlIj4iOlB4YShhLGQpO2JyZWFrO2Nhc2UnIic6JDBlKGEsZCwiZG91YmxlLXF1b3RlZC1zY2FsYXIiKTticmVhaztjYXNlIiciOiQwZShhLGQsInNpbmdsZS1xdW90ZWQtc2NhbGFyIik7YnJlYWs7ZGVmYXVsdDokMGUoYSxkLCJzY2FsYXIiKX19ZnVuY3Rpb24gUHhhKGEsZSl7bGV0IHQ9ZS5pbmRleE9mKGAKYCkscj1lLnN1YnN0cmluZygwLHQpLGk9ZS5zdWJzdHJpbmcodCsxKStgCmA7aWYoYS50eXBlPT09ImJsb2NrLXNjYWxhciIpe2xldCBvPWEucHJvcHNbMF07aWYoby50eXBlIT09ImJsb2NrLXNjYWxhci1oZWFkZXIiKXRocm93IG5ldyBFcnJvcigiSW52YWxpZCBibG9jayBzY2FsYXIgaGVhZGVyIik7by5zb3VyY2U9cixhLnNvdXJjZT1pfWVsc2V7bGV0e29mZnNldDpvfT1hLG49ImluZGVudCJpbiBhP2EuaW5kZW50Oi0xLGw9W3t0eXBlOiJibG9jay1zY2FsYXItaGVhZGVyIixvZmZzZXQ6byxpbmRlbnQ6bixzb3VyY2U6cn1dO3AzdChsLCJlbmQiaW4gYT9hLmVuZDp2b2lkIDApfHxsLnB1c2goe3R5cGU6Im5ld2xpbmUiLG9mZnNldDotMSxpbmRlbnQ6bixzb3VyY2U6YApgfSk7Zm9yKGxldCBkIG9mIE9iamVjdC5rZXlzKGEpKWQhPT0idHlwZSImJmQhPT0ib2Zmc2V0IiYmZGVsZXRlIGFbZF07T2JqZWN0LmFzc2lnbihhLHt0eXBlOiJibG9jay1zY2FsYXIiLGluZGVudDpuLHByb3BzOmwsc291cmNlOml9KX19ZnVuY3Rpb24gcDN0KGEsZSl7aWYoZSlmb3IobGV0IHQgb2YgZSlzd2l0Y2godC50eXBlKXtjYXNlInNwYWNlIjpjYXNlImNvbW1lbnQiOmEucHVzaCh0KTticmVhaztjYXNlIm5ld2xpbmUiOnJldHVybiBhLnB1c2godCksITB9cmV0dXJuITF9ZnVuY3Rpb24gJDBlKGEsZSx0KXtzd2l0Y2goYS50eXBlKXtjYXNlInNjYWxhciI6Y2FzZSJkb3VibGUtcXVvdGVkLXNjYWxhciI6Y2FzZSJzaW5nbGUtcXVvdGVkLXNjYWxhciI6YS50eXBlPXQsYS5zb3VyY2U9ZTticmVhaztjYXNlImJsb2NrLXNjYWxhciI6e2xldCByPWEucHJvcHMuc2xpY2UoMSksaT1lLmxlbmd0aDthLnByb3BzWzBdLnR5cGU9PT0iYmxvY2stc2NhbGFyLWhlYWRlciImJihpLT1hLnByb3BzWzBdLnNvdXJjZS5sZW5ndGgpO2ZvcihsZXQgbyBvZiByKW8ub2Zmc2V0Kz1pO2RlbGV0ZSBhLnByb3BzLE9iamVjdC5hc3NpZ24oYSx7dHlwZTp0LHNvdXJjZTplLGVuZDpyfSk7YnJlYWt9Y2FzZSJibG9jay1tYXAiOmNhc2UiYmxvY2stc2VxIjp7bGV0IGk9e3R5cGU6Im5ld2xpbmUiLG9mZnNldDphLm9mZnNldCtlLmxlbmd0aCxpbmRlbnQ6YS5pbmRlbnQsc291cmNlOmAKYH07ZGVsZXRlIGEuaXRlbXMsT2JqZWN0LmFzc2lnbihhLHt0eXBlOnQsc291cmNlOmUsZW5kOltpXX0pO2JyZWFrfWRlZmF1bHQ6e2xldCByPSJpbmRlbnQiaW4gYT9hLmluZGVudDotMSxpPSJlbmQiaW4gYSYmQXJyYXkuaXNBcnJheShhLmVuZCk/YS5lbmQuZmlsdGVyKG89Pm8udHlwZT09PSJzcGFjZSJ8fG8udHlwZT09PSJjb21tZW50Inx8by50eXBlPT09Im5ld2xpbmUiKTpbXTtmb3IobGV0IG8gb2YgT2JqZWN0LmtleXMoYSkpbyE9PSJ0eXBlIiYmbyE9PSJvZmZzZXQiJiZkZWxldGUgYVtvXTtPYmplY3QuYXNzaWduKGEse3R5cGU6dCxpbmRlbnQ6cixzb3VyY2U6ZSxlbmQ6aX0pfX19dmFyIGYzdD1mKCgpPT57ejBlKCk7QzBlKCk7VGcoKTtkZygpO3MoRDBlLCJyZXNvbHZlQXNTY2FsYXIiKTtzKEEwZSwiY3JlYXRlU2NhbGFyVG9rZW4iKTtzKEUwZSwic2V0U2NhbGFyVmFsdWUiKTtzKFB4YSwic2V0QmxvY2tTY2FsYXJWYWx1ZSIpO3MocDN0LCJhZGRFbmR0b0Jsb2NrUHJvcHMiKTtzKCQwZSwic2V0Rmxvd1NjYWxhclZhbHVlIil9KTtmdW5jdGlvbiB0UShhKXtzd2l0Y2goYS50eXBlKXtjYXNlImJsb2NrLXNjYWxhciI6e2xldCBlPSIiO2ZvcihsZXQgdCBvZiBhLnByb3BzKWUrPXRRKHQpO3JldHVybiBlK2Euc291cmNlfWNhc2UiYmxvY2stbWFwIjpjYXNlImJsb2NrLXNlcSI6e2xldCBlPSIiO2ZvcihsZXQgdCBvZiBhLml0ZW1zKWUrPWFRKHQpO3JldHVybiBlfWNhc2UiZmxvdy1jb2xsZWN0aW9uIjp7bGV0IGU9YS5zdGFydC5zb3VyY2U7Zm9yKGxldCB0IG9mIGEuaXRlbXMpZSs9YVEodCk7Zm9yKGxldCB0IG9mIGEuZW5kKWUrPXQuc291cmNlO3JldHVybiBlfWNhc2UiZG9jdW1lbnQiOntsZXQgZT1hUShhKTtpZihhLmVuZClmb3IobGV0IHQgb2YgYS5lbmQpZSs9dC5zb3VyY2U7cmV0dXJuIGV9ZGVmYXVsdDp7bGV0IGU9YS5zb3VyY2U7aWYoImVuZCJpbiBhJiZhLmVuZClmb3IobGV0IHQgb2YgYS5lbmQpZSs9dC5zb3VyY2U7cmV0dXJuIGV9fX1mdW5jdGlvbiBhUSh7c3RhcnQ6YSxrZXk6ZSxzZXA6dCx2YWx1ZTpyfSl7bGV0IGk9IiI7Zm9yKGxldCBvIG9mIGEpaSs9by5zb3VyY2U7aWYoZSYmKGkrPXRRKGUpKSx0KWZvcihsZXQgbyBvZiB0KWkrPW8uc291cmNlO3JldHVybiByJiYoaSs9dFEocikpLGl9dmFyIFAwZSxoM3Q9ZigoKT0+e1AwZT1zKGE9PiJ0eXBlImluIGE/dFEoYSk6YVEoYSksInN0cmluZ2lmeSIpO3ModFEsInN0cmluZ2lmeVRva2VuIik7cyhhUSwic3RyaW5naWZ5SXRlbSIpfSk7ZnVuY3Rpb24gQmwoYSxlKXsidHlwZSJpbiBhJiZhLnR5cGU9PT0iZG9jdW1lbnQiJiYoYT17c3RhcnQ6YS5zdGFydCx2YWx1ZTphLnZhbHVlfSksZzN0KE9iamVjdC5mcmVlemUoW10pLGEsZSl9ZnVuY3Rpb24gZzN0KGEsZSx0KXtsZXQgcj10KGUsYSk7aWYodHlwZW9mIHI9PSJzeW1ib2wiKXJldHVybiByO2ZvcihsZXQgaSBvZlsia2V5IiwidmFsdWUiXSl7bGV0IG89ZVtpXTtpZihvJiYiaXRlbXMiaW4gbyl7Zm9yKGxldCBuPTA7bjxvLml0ZW1zLmxlbmd0aDsrK24pe2xldCBsPWczdChPYmplY3QuZnJlZXplKGEuY29uY2F0KFtbaSxuXV0pKSxvLml0ZW1zW25dLHQpO2lmKHR5cGVvZiBsPT0ibnVtYmVyIiluPWwtMTtlbHNle2lmKGw9PT1JMGUpcmV0dXJuIEkwZTtsPT09bTN0JiYoby5pdGVtcy5zcGxpY2UobiwxKSxuLT0xKX19dHlwZW9mIHI9PSJmdW5jdGlvbiImJmk9PT0ia2V5IiYmKHI9cihlLGEpKX19cmV0dXJuIHR5cGVvZiByPT0iZnVuY3Rpb24iP3IoZSxhKTpyfXZhciBJMGUsSXhhLG0zdCxiM3Q9ZigoKT0+e0kwZT1TeW1ib2woImJyZWFrIHZpc2l0IiksSXhhPVN5bWJvbCgic2tpcCBjaGlsZHJlbiIpLG0zdD1TeW1ib2woInJlbW92ZSBpdGVtIik7cyhCbCwidmlzaXQiKSxCbC5CUkVBSz1JMGUsQmwuU0tJUD1JeGEsQmwuUkVNT1ZFPW0zdCxCbC5pdGVtQXRQYXRoPShhLGUpPT57bGV0IHQ9YTtmb3IobGV0W3IsaV1vZiBlKXtsZXQgbz10Py5bcl07aWYobyYmIml0ZW1zImluIG8pdD1vLml0ZW1zW2ldO2Vsc2UgcmV0dXJufXJldHVybiB0fSxCbC5wYXJlbnRDb2xsZWN0aW9uPShhLGUpPT57bGV0IHQ9QmwuaXRlbUF0UGF0aChhLGUuc2xpY2UoMCwtMSkpLHI9ZVtlLmxlbmd0aC0xXVswXSxpPXQ/LltyXTtpZihpJiYiaXRlbXMiaW4gaSlyZXR1cm4gaTt0aHJvdyBuZXcgRXJyb3IoIlBhcmVudCBjb2xsZWN0aW9uIG5vdCBmb3VuZCIpfTtzKGczdCwiX3Zpc2l0Iil9KTt2YXIgSWc9e307bHQoSWcse0JPTTooKT0+ZjgsRE9DVU1FTlQ6KCk9Pmg4LEZMT1dfRU5EOigpPT5tOCxTQ0FMQVI6KCk9PkgzLGNyZWF0ZVNjYWxhclRva2VuOigpPT5BMGUsaXNDb2xsZWN0aW9uOigpPT52M3QsaXNTY2FsYXI6KCk9PngzdCxwcmV0dHlUb2tlbjooKT0+eTN0LHJlc29sdmVBc1NjYWxhcjooKT0+RDBlLHNldFNjYWxhclZhbHVlOigpPT5FMGUsc3RyaW5naWZ5OigpPT5QMGUsdG9rZW5UeXBlOigpPT5yUSx2aXNpdDooKT0+Qmx9KTtmdW5jdGlvbiB5M3QoYSl7c3dpdGNoKGEpe2Nhc2UgZjg6cmV0dXJuIjxCT00+IjtjYXNlIGg4OnJldHVybiI8RE9DPiI7Y2FzZSBtODpyZXR1cm4iPEZMT1dfRU5EPiI7Y2FzZSBIMzpyZXR1cm4iPFNDQUxBUj4iO2RlZmF1bHQ6cmV0dXJuIEpTT04uc3RyaW5naWZ5KGEpfX1mdW5jdGlvbiByUShhKXtzd2l0Y2goYSl7Y2FzZSBmODpyZXR1cm4iYnl0ZS1vcmRlci1tYXJrIjtjYXNlIGg4OnJldHVybiJkb2MtbW9kZSI7Y2FzZSBtODpyZXR1cm4iZmxvdy1lcnJvci1lbmQiO2Nhc2UgSDM6cmV0dXJuInNjYWxhciI7Y2FzZSItLS0iOnJldHVybiJkb2Mtc3RhcnQiO2Nhc2UiLi4uIjpyZXR1cm4iZG9jLWVuZCI7Y2FzZSIiOmNhc2VgCmA6Y2FzZWBccgpgOnJldHVybiJuZXdsaW5lIjtjYXNlIi0iOnJldHVybiJzZXEtaXRlbS1pbmQiO2Nhc2UiPyI6cmV0dXJuImV4cGxpY2l0LWtleS1pbmQiO2Nhc2UiOiI6cmV0dXJuIm1hcC12YWx1ZS1pbmQiO2Nhc2UieyI6cmV0dXJuImZsb3ctbWFwLXN0YXJ0IjtjYXNlIn0iOnJldHVybiJmbG93LW1hcC1lbmQiO2Nhc2UiWyI6cmV0dXJuImZsb3ctc2VxLXN0YXJ0IjtjYXNlIl0iOnJldHVybiJmbG93LXNlcS1lbmQiO2Nhc2UiLCI6cmV0dXJuImNvbW1hIn1zd2l0Y2goYVswXSl7Y2FzZSIgIjpjYXNlIgkiOnJldHVybiJzcGFjZSI7Y2FzZSIjIjpyZXR1cm4iY29tbWVudCI7Y2FzZSIlIjpyZXR1cm4iZGlyZWN0aXZlLWxpbmUiO2Nhc2UiKiI6cmV0dXJuImFsaWFzIjtjYXNlIiYiOnJldHVybiJhbmNob3IiO2Nhc2UiISI6cmV0dXJuInRhZyI7Y2FzZSInIjpyZXR1cm4ic2luZ2xlLXF1b3RlZC1zY2FsYXIiO2Nhc2UnIic6cmV0dXJuImRvdWJsZS1xdW90ZWQtc2NhbGFyIjtjYXNlInwiOmNhc2UiPiI6cmV0dXJuImJsb2NrLXNjYWxhci1oZWFkZXIifXJldHVybiBudWxsfXZhciBmOCxoOCxtOCxIMyx2M3QseDN0LHNRPWYoKCk9PntmM3QoKTtoM3QoKTtiM3QoKTtmOD0iXHVGRUZGIixoOD0iAiIsbTg9IhgiLEgzPSIfIix2M3Q9cyhhPT4hIWEmJiJpdGVtcyJpbiBhLCJpc0NvbGxlY3Rpb24iKSx4M3Q9cyhhPT4hIWEmJihhLnR5cGU9PT0ic2NhbGFyInx8YS50eXBlPT09InNpbmdsZS1xdW90ZWQtc2NhbGFyInx8YS50eXBlPT09ImRvdWJsZS1xdW90ZWQtc2NhbGFyInx8YS50eXBlPT09ImJsb2NrLXNjYWxhciIpLCJpc1NjYWxhciIpO3MoeTN0LCJwcmV0dHlUb2tlbiIpO3MoclEsInRva2VuVHlwZSIpfSk7ZnVuY3Rpb24gZzEoYSl7c3dpdGNoKGEpe2Nhc2Ugdm9pZCAwOmNhc2UiICI6Y2FzZWAKYDpjYXNlIlxyIjpjYXNlIgkiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fXZhciB3M3QsTnhhLGlRLFJ4YSxOMGUsTjAsUjBlPWYoKCk9PntzUSgpO3MoZzEsImlzRW1wdHkiKTt3M3Q9bmV3IFNldCgiMDEyMzQ1Njc4OUFCQ0RFRmFiY2RlZiIpLE54YT1uZXcgU2V0KCIwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei0jOy8/OkAmPSskXy4hfionKCkiKSxpUT1uZXcgU2V0KCIsW117fSIpLFJ4YT1uZXcgU2V0KGAgLFtde30KXHIJYCksTjBlPXMoYT0+IWF8fFJ4YS5oYXMoYSksImlzTm90QW5jaG9yQ2hhciIpLE4wPWNsYXNze3N0YXRpY3tzKHRoaXMsIkxleGVyIil9Y29uc3RydWN0b3IoKXt0aGlzLmF0RW5kPSExLHRoaXMuYmxvY2tTY2FsYXJJbmRlbnQ9LTEsdGhpcy5ibG9ja1NjYWxhcktlZXA9ITEsdGhpcy5idWZmZXI9IiIsdGhpcy5mbG93S2V5PSExLHRoaXMuZmxvd0xldmVsPTAsdGhpcy5pbmRlbnROZXh0PTAsdGhpcy5pbmRlbnRWYWx1ZT0wLHRoaXMubGluZUVuZFBvcz1udWxsLHRoaXMubmV4dD1udWxsLHRoaXMucG9zPTB9KmxleChlLHQ9ITEpe2lmKGUpe2lmKHR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBUeXBlRXJyb3IoInNvdXJjZSBpcyBub3QgYSBzdHJpbmciKTt0aGlzLmJ1ZmZlcj10aGlzLmJ1ZmZlcj90aGlzLmJ1ZmZlcitlOmUsdGhpcy5saW5lRW5kUG9zPW51bGx9dGhpcy5hdEVuZD0hdDtsZXQgcj10aGlzLm5leHQ/PyJzdHJlYW0iO2Zvcig7ciYmKHR8fHRoaXMuaGFzQ2hhcnMoMSkpOylyPXlpZWxkKnRoaXMucGFyc2VOZXh0KHIpfWF0TGluZUVuZCgpe2xldCBlPXRoaXMucG9zLHQ9dGhpcy5idWZmZXJbZV07Zm9yKDt0PT09IiAifHx0PT09IgkiOyl0PXRoaXMuYnVmZmVyWysrZV07cmV0dXJuIXR8fHQ9PT0iIyJ8fHQ9PT1gCmA/ITA6dD09PSJcciI/dGhpcy5idWZmZXJbZSsxXT09PWAKYDohMX1jaGFyQXQoZSl7cmV0dXJuIHRoaXMuYnVmZmVyW3RoaXMucG9zK2VdfWNvbnRpbnVlU2NhbGFyKGUpe2xldCB0PXRoaXMuYnVmZmVyW2VdO2lmKHRoaXMuaW5kZW50TmV4dD4wKXtsZXQgcj0wO2Zvcig7dD09PSIgIjspdD10aGlzLmJ1ZmZlclsrK3IrZV07aWYodD09PSJcciIpe2xldCBpPXRoaXMuYnVmZmVyW3IrZSsxXTtpZihpPT09YApgfHwhaSYmIXRoaXMuYXRFbmQpcmV0dXJuIGUrcisxfXJldHVybiB0PT09YApgfHxyPj10aGlzLmluZGVudE5leHR8fCF0JiYhdGhpcy5hdEVuZD9lK3I6LTF9aWYodD09PSItInx8dD09PSIuIil7bGV0IHI9dGhpcy5idWZmZXIuc3Vic3RyKGUsMyk7aWYoKHI9PT0iLS0tInx8cj09PSIuLi4iKSYmZzEodGhpcy5idWZmZXJbZSszXSkpcmV0dXJuLTF9cmV0dXJuIGV9Z2V0TGluZSgpe2xldCBlPXRoaXMubGluZUVuZFBvcztyZXR1cm4odHlwZW9mIGUhPSJudW1iZXIifHxlIT09LTEmJmU8dGhpcy5wb3MpJiYoZT10aGlzLmJ1ZmZlci5pbmRleE9mKGAKYCx0aGlzLnBvcyksdGhpcy5saW5lRW5kUG9zPWUpLGU9PT0tMT90aGlzLmF0RW5kP3RoaXMuYnVmZmVyLnN1YnN0cmluZyh0aGlzLnBvcyk6bnVsbDoodGhpcy5idWZmZXJbZS0xXT09PSJcciImJihlLT0xKSx0aGlzLmJ1ZmZlci5zdWJzdHJpbmcodGhpcy5wb3MsZSkpfWhhc0NoYXJzKGUpe3JldHVybiB0aGlzLnBvcytlPD10aGlzLmJ1ZmZlci5sZW5ndGh9c2V0TmV4dChlKXtyZXR1cm4gdGhpcy5idWZmZXI9dGhpcy5idWZmZXIuc3Vic3RyaW5nKHRoaXMucG9zKSx0aGlzLnBvcz0wLHRoaXMubGluZUVuZFBvcz1udWxsLHRoaXMubmV4dD1lLG51bGx9cGVlayhlKXtyZXR1cm4gdGhpcy5idWZmZXIuc3Vic3RyKHRoaXMucG9zLGUpfSpwYXJzZU5leHQoZSl7c3dpdGNoKGUpe2Nhc2Uic3RyZWFtIjpyZXR1cm4geWllbGQqdGhpcy5wYXJzZVN0cmVhbSgpO2Nhc2UibGluZS1zdGFydCI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VMaW5lU3RhcnQoKTtjYXNlImJsb2NrLXN0YXJ0IjpyZXR1cm4geWllbGQqdGhpcy5wYXJzZUJsb2NrU3RhcnQoKTtjYXNlImRvYyI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VEb2N1bWVudCgpO2Nhc2UiZmxvdyI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VGbG93Q29sbGVjdGlvbigpO2Nhc2UicXVvdGVkLXNjYWxhciI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VRdW90ZWRTY2FsYXIoKTtjYXNlImJsb2NrLXNjYWxhciI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VCbG9ja1NjYWxhcigpO2Nhc2UicGxhaW4tc2NhbGFyIjpyZXR1cm4geWllbGQqdGhpcy5wYXJzZVBsYWluU2NhbGFyKCl9fSpwYXJzZVN0cmVhbSgpe2xldCBlPXRoaXMuZ2V0TGluZSgpO2lmKGU9PT1udWxsKXJldHVybiB0aGlzLnNldE5leHQoInN0cmVhbSIpO2lmKGVbMF09PT1mOCYmKHlpZWxkKnRoaXMucHVzaENvdW50KDEpLGU9ZS5zdWJzdHJpbmcoMSkpLGVbMF09PT0iJSIpe2xldCB0PWUubGVuZ3RoLHI9ZS5pbmRleE9mKCIjIik7Zm9yKDtyIT09LTE7KXtsZXQgbz1lW3ItMV07aWYobz09PSIgInx8bz09PSIJIil7dD1yLTE7YnJlYWt9ZWxzZSByPWUuaW5kZXhPZigiIyIscisxKX1mb3IoOzspe2xldCBvPWVbdC0xXTtpZihvPT09IiAifHxvPT09IgkiKXQtPTE7ZWxzZSBicmVha31sZXQgaT0oeWllbGQqdGhpcy5wdXNoQ291bnQodCkpKyh5aWVsZCp0aGlzLnB1c2hTcGFjZXMoITApKTtyZXR1cm4geWllbGQqdGhpcy5wdXNoQ291bnQoZS5sZW5ndGgtaSksdGhpcy5wdXNoTmV3bGluZSgpLCJzdHJlYW0ifWlmKHRoaXMuYXRMaW5lRW5kKCkpe2xldCB0PXlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCk7cmV0dXJuIHlpZWxkKnRoaXMucHVzaENvdW50KGUubGVuZ3RoLXQpLHlpZWxkKnRoaXMucHVzaE5ld2xpbmUoKSwic3RyZWFtIn1yZXR1cm4geWllbGQgaDgseWllbGQqdGhpcy5wYXJzZUxpbmVTdGFydCgpfSpwYXJzZUxpbmVTdGFydCgpe2xldCBlPXRoaXMuY2hhckF0KDApO2lmKCFlJiYhdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KCJsaW5lLXN0YXJ0Iik7aWYoZT09PSItInx8ZT09PSIuIil7aWYoIXRoaXMuYXRFbmQmJiF0aGlzLmhhc0NoYXJzKDQpKXJldHVybiB0aGlzLnNldE5leHQoImxpbmUtc3RhcnQiKTtsZXQgdD10aGlzLnBlZWsoMyk7aWYoKHQ9PT0iLS0tInx8dD09PSIuLi4iKSYmZzEodGhpcy5jaGFyQXQoMykpKXJldHVybiB5aWVsZCp0aGlzLnB1c2hDb3VudCgzKSx0aGlzLmluZGVudFZhbHVlPTAsdGhpcy5pbmRlbnROZXh0PTAsdD09PSItLS0iPyJkb2MiOiJzdHJlYW0ifXJldHVybiB0aGlzLmluZGVudFZhbHVlPXlpZWxkKnRoaXMucHVzaFNwYWNlcyghMSksdGhpcy5pbmRlbnROZXh0PnRoaXMuaW5kZW50VmFsdWUmJiFnMSh0aGlzLmNoYXJBdCgxKSkmJih0aGlzLmluZGVudE5leHQ9dGhpcy5pbmRlbnRWYWx1ZSkseWllbGQqdGhpcy5wYXJzZUJsb2NrU3RhcnQoKX0qcGFyc2VCbG9ja1N0YXJ0KCl7bGV0W2UsdF09dGhpcy5wZWVrKDIpO2lmKCF0JiYhdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KCJibG9jay1zdGFydCIpO2lmKChlPT09Ii0ifHxlPT09Ij8ifHxlPT09IjoiKSYmZzEodCkpe2xldCByPSh5aWVsZCp0aGlzLnB1c2hDb3VudCgxKSkrKHlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCkpO3JldHVybiB0aGlzLmluZGVudE5leHQ9dGhpcy5pbmRlbnRWYWx1ZSsxLHRoaXMuaW5kZW50VmFsdWUrPXIseWllbGQqdGhpcy5wYXJzZUJsb2NrU3RhcnQoKX1yZXR1cm4iZG9jIn0qcGFyc2VEb2N1bWVudCgpe3lpZWxkKnRoaXMucHVzaFNwYWNlcyghMCk7bGV0IGU9dGhpcy5nZXRMaW5lKCk7aWYoZT09PW51bGwpcmV0dXJuIHRoaXMuc2V0TmV4dCgiZG9jIik7bGV0IHQ9eWllbGQqdGhpcy5wdXNoSW5kaWNhdG9ycygpO3N3aXRjaChlW3RdKXtjYXNlIiMiOnlpZWxkKnRoaXMucHVzaENvdW50KGUubGVuZ3RoLXQpO2Nhc2Ugdm9pZCAwOnJldHVybiB5aWVsZCp0aGlzLnB1c2hOZXdsaW5lKCkseWllbGQqdGhpcy5wYXJzZUxpbmVTdGFydCgpO2Nhc2UieyI6Y2FzZSJbIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoQ291bnQoMSksdGhpcy5mbG93S2V5PSExLHRoaXMuZmxvd0xldmVsPTEsImZsb3ciO2Nhc2UifSI6Y2FzZSJdIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoQ291bnQoMSksImRvYyI7Y2FzZSIqIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoVW50aWwoTjBlKSwiZG9jIjtjYXNlJyInOmNhc2UiJyI6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VRdW90ZWRTY2FsYXIoKTtjYXNlInwiOmNhc2UiPiI6cmV0dXJuIHQrPXlpZWxkKnRoaXMucGFyc2VCbG9ja1NjYWxhckhlYWRlcigpLHQrPXlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCkseWllbGQqdGhpcy5wdXNoQ291bnQoZS5sZW5ndGgtdCkseWllbGQqdGhpcy5wdXNoTmV3bGluZSgpLHlpZWxkKnRoaXMucGFyc2VCbG9ja1NjYWxhcigpO2RlZmF1bHQ6cmV0dXJuIHlpZWxkKnRoaXMucGFyc2VQbGFpblNjYWxhcigpfX0qcGFyc2VGbG93Q29sbGVjdGlvbigpe2xldCBlLHQscj0tMTtkbyBlPXlpZWxkKnRoaXMucHVzaE5ld2xpbmUoKSxlPjA/KHQ9eWllbGQqdGhpcy5wdXNoU3BhY2VzKCExKSx0aGlzLmluZGVudFZhbHVlPXI9dCk6dD0wLHQrPXlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCk7d2hpbGUoZSt0PjApO2xldCBpPXRoaXMuZ2V0TGluZSgpO2lmKGk9PT1udWxsKXJldHVybiB0aGlzLnNldE5leHQoImZsb3ciKTtpZigociE9PS0xJiZyPHRoaXMuaW5kZW50TmV4dCYmaVswXSE9PSIjInx8cj09PTAmJihpLnN0YXJ0c1dpdGgoIi0tLSIpfHxpLnN0YXJ0c1dpdGgoIi4uLiIpKSYmZzEoaVszXSkpJiYhKHI9PT10aGlzLmluZGVudE5leHQtMSYmdGhpcy5mbG93TGV2ZWw9PT0xJiYoaVswXT09PSJdInx8aVswXT09PSJ9IikpKXJldHVybiB0aGlzLmZsb3dMZXZlbD0wLHlpZWxkIG04LHlpZWxkKnRoaXMucGFyc2VMaW5lU3RhcnQoKTtsZXQgbz0wO2Zvcig7aVtvXT09PSIsIjspbys9eWllbGQqdGhpcy5wdXNoQ291bnQoMSksbys9eWllbGQqdGhpcy5wdXNoU3BhY2VzKCEwKSx0aGlzLmZsb3dLZXk9ITE7c3dpdGNoKG8rPXlpZWxkKnRoaXMucHVzaEluZGljYXRvcnMoKSxpW29dKXtjYXNlIHZvaWQgMDpyZXR1cm4iZmxvdyI7Y2FzZSIjIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoQ291bnQoaS5sZW5ndGgtbyksImZsb3ciO2Nhc2UieyI6Y2FzZSJbIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoQ291bnQoMSksdGhpcy5mbG93S2V5PSExLHRoaXMuZmxvd0xldmVsKz0xLCJmbG93IjtjYXNlIn0iOmNhc2UiXSI6cmV0dXJuIHlpZWxkKnRoaXMucHVzaENvdW50KDEpLHRoaXMuZmxvd0tleT0hMCx0aGlzLmZsb3dMZXZlbC09MSx0aGlzLmZsb3dMZXZlbD8iZmxvdyI6ImRvYyI7Y2FzZSIqIjpyZXR1cm4geWllbGQqdGhpcy5wdXNoVW50aWwoTjBlKSwiZmxvdyI7Y2FzZSciJzpjYXNlIiciOnJldHVybiB0aGlzLmZsb3dLZXk9ITAseWllbGQqdGhpcy5wYXJzZVF1b3RlZFNjYWxhcigpO2Nhc2UiOiI6e2xldCBuPXRoaXMuY2hhckF0KDEpO2lmKHRoaXMuZmxvd0tleXx8ZzEobil8fG49PT0iLCIpcmV0dXJuIHRoaXMuZmxvd0tleT0hMSx5aWVsZCp0aGlzLnB1c2hDb3VudCgxKSx5aWVsZCp0aGlzLnB1c2hTcGFjZXMoITApLCJmbG93In1kZWZhdWx0OnJldHVybiB0aGlzLmZsb3dLZXk9ITEseWllbGQqdGhpcy5wYXJzZVBsYWluU2NhbGFyKCl9fSpwYXJzZVF1b3RlZFNjYWxhcigpe2xldCBlPXRoaXMuY2hhckF0KDApLHQ9dGhpcy5idWZmZXIuaW5kZXhPZihlLHRoaXMucG9zKzEpO2lmKGU9PT0iJyIpZm9yKDt0IT09LTEmJnRoaXMuYnVmZmVyW3QrMV09PT0iJyI7KXQ9dGhpcy5idWZmZXIuaW5kZXhPZigiJyIsdCsyKTtlbHNlIGZvcig7dCE9PS0xOyl7bGV0IG89MDtmb3IoO3RoaXMuYnVmZmVyW3QtMS1vXT09PSJcXCI7KW8rPTE7aWYobyUyPT09MClicmVhazt0PXRoaXMuYnVmZmVyLmluZGV4T2YoJyInLHQrMSl9bGV0IHI9dGhpcy5idWZmZXIuc3Vic3RyaW5nKDAsdCksaT1yLmluZGV4T2YoYApgLHRoaXMucG9zKTtpZihpIT09LTEpe2Zvcig7aSE9PS0xOyl7bGV0IG89dGhpcy5jb250aW51ZVNjYWxhcihpKzEpO2lmKG89PT0tMSlicmVhaztpPXIuaW5kZXhPZihgCmAsbyl9aSE9PS0xJiYodD1pLShyW2ktMV09PT0iXHIiPzI6MSkpfWlmKHQ9PT0tMSl7aWYoIXRoaXMuYXRFbmQpcmV0dXJuIHRoaXMuc2V0TmV4dCgicXVvdGVkLXNjYWxhciIpO3Q9dGhpcy5idWZmZXIubGVuZ3RofXJldHVybiB5aWVsZCp0aGlzLnB1c2hUb0luZGV4KHQrMSwhMSksdGhpcy5mbG93TGV2ZWw/ImZsb3ciOiJkb2MifSpwYXJzZUJsb2NrU2NhbGFySGVhZGVyKCl7dGhpcy5ibG9ja1NjYWxhckluZGVudD0tMSx0aGlzLmJsb2NrU2NhbGFyS2VlcD0hMTtsZXQgZT10aGlzLnBvcztmb3IoOzspe2xldCB0PXRoaXMuYnVmZmVyWysrZV07aWYodD09PSIrIil0aGlzLmJsb2NrU2NhbGFyS2VlcD0hMDtlbHNlIGlmKHQ+IjAiJiZ0PD0iOSIpdGhpcy5ibG9ja1NjYWxhckluZGVudD1OdW1iZXIodCktMTtlbHNlIGlmKHQhPT0iLSIpYnJlYWt9cmV0dXJuIHlpZWxkKnRoaXMucHVzaFVudGlsKHQ9PmcxKHQpfHx0PT09IiMiKX0qcGFyc2VCbG9ja1NjYWxhcigpe2xldCBlPXRoaXMucG9zLTEsdD0wLHI7ZTpmb3IobGV0IG89dGhpcy5wb3M7cj10aGlzLmJ1ZmZlcltvXTsrK28pc3dpdGNoKHIpe2Nhc2UiICI6dCs9MTticmVhaztjYXNlYApgOmU9byx0PTA7YnJlYWs7Y2FzZSJcciI6e2xldCBuPXRoaXMuYnVmZmVyW28rMV07aWYoIW4mJiF0aGlzLmF0RW5kKXJldHVybiB0aGlzLnNldE5leHQoImJsb2NrLXNjYWxhciIpO2lmKG49PT1gCmApYnJlYWt9ZGVmYXVsdDpicmVhayBlfWlmKCFyJiYhdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KCJibG9jay1zY2FsYXIiKTtpZih0Pj10aGlzLmluZGVudE5leHQpe3RoaXMuYmxvY2tTY2FsYXJJbmRlbnQ9PT0tMT90aGlzLmluZGVudE5leHQ9dDp0aGlzLmluZGVudE5leHQ9dGhpcy5ibG9ja1NjYWxhckluZGVudCsodGhpcy5pbmRlbnROZXh0PT09MD8xOnRoaXMuaW5kZW50TmV4dCk7ZG97bGV0IG89dGhpcy5jb250aW51ZVNjYWxhcihlKzEpO2lmKG89PT0tMSlicmVhaztlPXRoaXMuYnVmZmVyLmluZGV4T2YoYApgLG8pfXdoaWxlKGUhPT0tMSk7aWYoZT09PS0xKXtpZighdGhpcy5hdEVuZClyZXR1cm4gdGhpcy5zZXROZXh0KCJibG9jay1zY2FsYXIiKTtlPXRoaXMuYnVmZmVyLmxlbmd0aH19bGV0IGk9ZSsxO2ZvcihyPXRoaXMuYnVmZmVyW2ldO3I9PT0iICI7KXI9dGhpcy5idWZmZXJbKytpXTtpZihyPT09IgkiKXtmb3IoO3I9PT0iCSJ8fHI9PT0iICJ8fHI9PT0iXHIifHxyPT09YApgOylyPXRoaXMuYnVmZmVyWysraV07ZT1pLTF9ZWxzZSBpZighdGhpcy5ibG9ja1NjYWxhcktlZXApZG97bGV0IG89ZS0xLG49dGhpcy5idWZmZXJbb107bj09PSJcciImJihuPXRoaXMuYnVmZmVyWy0tb10pO2xldCBsPW87Zm9yKDtuPT09IiAiOyluPXRoaXMuYnVmZmVyWy0tb107aWYobj09PWAKYCYmbz49dGhpcy5wb3MmJm8rMSt0PmwpZT1vO2Vsc2UgYnJlYWt9d2hpbGUoITApO3JldHVybiB5aWVsZCBIMyx5aWVsZCp0aGlzLnB1c2hUb0luZGV4KGUrMSwhMCkseWllbGQqdGhpcy5wYXJzZUxpbmVTdGFydCgpfSpwYXJzZVBsYWluU2NhbGFyKCl7bGV0IGU9dGhpcy5mbG93TGV2ZWw+MCx0PXRoaXMucG9zLTEscj10aGlzLnBvcy0xLGk7Zm9yKDtpPXRoaXMuYnVmZmVyWysrcl07KWlmKGk9PT0iOiIpe2xldCBvPXRoaXMuYnVmZmVyW3IrMV07aWYoZzEobyl8fGUmJmlRLmhhcyhvKSlicmVhazt0PXJ9ZWxzZSBpZihnMShpKSl7bGV0IG89dGhpcy5idWZmZXJbcisxXTtpZihpPT09IlxyIiYmKG89PT1gCmA/KHIrPTEsaT1gCmAsbz10aGlzLmJ1ZmZlcltyKzFdKTp0PXIpLG89PT0iIyJ8fGUmJmlRLmhhcyhvKSlicmVhaztpZihpPT09YApgKXtsZXQgbj10aGlzLmNvbnRpbnVlU2NhbGFyKHIrMSk7aWYobj09PS0xKWJyZWFrO3I9TWF0aC5tYXgocixuLTIpfX1lbHNle2lmKGUmJmlRLmhhcyhpKSlicmVhazt0PXJ9cmV0dXJuIWkmJiF0aGlzLmF0RW5kP3RoaXMuc2V0TmV4dCgicGxhaW4tc2NhbGFyIik6KHlpZWxkIEgzLHlpZWxkKnRoaXMucHVzaFRvSW5kZXgodCsxLCEwKSxlPyJmbG93IjoiZG9jIil9KnB1c2hDb3VudChlKXtyZXR1cm4gZT4wPyh5aWVsZCB0aGlzLmJ1ZmZlci5zdWJzdHIodGhpcy5wb3MsZSksdGhpcy5wb3MrPWUsZSk6MH0qcHVzaFRvSW5kZXgoZSx0KXtsZXQgcj10aGlzLmJ1ZmZlci5zbGljZSh0aGlzLnBvcyxlKTtyZXR1cm4gcj8oeWllbGQgcix0aGlzLnBvcys9ci5sZW5ndGgsci5sZW5ndGgpOih0JiYoeWllbGQiIiksMCl9KnB1c2hJbmRpY2F0b3JzKCl7c3dpdGNoKHRoaXMuY2hhckF0KDApKXtjYXNlIiEiOnJldHVybih5aWVsZCp0aGlzLnB1c2hUYWcoKSkrKHlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCkpKyh5aWVsZCp0aGlzLnB1c2hJbmRpY2F0b3JzKCkpO2Nhc2UiJiI6cmV0dXJuKHlpZWxkKnRoaXMucHVzaFVudGlsKE4wZSkpKyh5aWVsZCp0aGlzLnB1c2hTcGFjZXMoITApKSsoeWllbGQqdGhpcy5wdXNoSW5kaWNhdG9ycygpKTtjYXNlIi0iOmNhc2UiPyI6Y2FzZSI6Ijp7bGV0IGU9dGhpcy5mbG93TGV2ZWw+MCx0PXRoaXMuY2hhckF0KDEpO2lmKGcxKHQpfHxlJiZpUS5oYXModCkpcmV0dXJuIGU/dGhpcy5mbG93S2V5JiYodGhpcy5mbG93S2V5PSExKTp0aGlzLmluZGVudE5leHQ9dGhpcy5pbmRlbnRWYWx1ZSsxLCh5aWVsZCp0aGlzLnB1c2hDb3VudCgxKSkrKHlpZWxkKnRoaXMucHVzaFNwYWNlcyghMCkpKyh5aWVsZCp0aGlzLnB1c2hJbmRpY2F0b3JzKCkpfX1yZXR1cm4gMH0qcHVzaFRhZygpe2lmKHRoaXMuY2hhckF0KDEpPT09IjwiKXtsZXQgZT10aGlzLnBvcysyLHQ9dGhpcy5idWZmZXJbZV07Zm9yKDshZzEodCkmJnQhPT0iPiI7KXQ9dGhpcy5idWZmZXJbKytlXTtyZXR1cm4geWllbGQqdGhpcy5wdXNoVG9JbmRleCh0PT09Ij4iP2UrMTplLCExKX1lbHNle2xldCBlPXRoaXMucG9zKzEsdD10aGlzLmJ1ZmZlcltlXTtmb3IoO3Q7KWlmKE54YS5oYXModCkpdD10aGlzLmJ1ZmZlclsrK2VdO2Vsc2UgaWYodD09PSIlIiYmdzN0Lmhhcyh0aGlzLmJ1ZmZlcltlKzFdKSYmdzN0Lmhhcyh0aGlzLmJ1ZmZlcltlKzJdKSl0PXRoaXMuYnVmZmVyW2UrPTNdO2Vsc2UgYnJlYWs7cmV0dXJuIHlpZWxkKnRoaXMucHVzaFRvSW5kZXgoZSwhMSl9fSpwdXNoTmV3bGluZSgpe2xldCBlPXRoaXMuYnVmZmVyW3RoaXMucG9zXTtyZXR1cm4gZT09PWAKYD95aWVsZCp0aGlzLnB1c2hDb3VudCgxKTplPT09IlxyIiYmdGhpcy5jaGFyQXQoMSk9PT1gCmA/eWllbGQqdGhpcy5wdXNoQ291bnQoMik6MH0qcHVzaFNwYWNlcyhlKXtsZXQgdD10aGlzLnBvcy0xLHI7ZG8gcj10aGlzLmJ1ZmZlclsrK3RdO3doaWxlKHI9PT0iICJ8fGUmJnI9PT0iCSIpO2xldCBpPXQtdGhpcy5wb3M7cmV0dXJuIGk+MCYmKHlpZWxkIHRoaXMuYnVmZmVyLnN1YnN0cih0aGlzLnBvcyxpKSx0aGlzLnBvcz10KSxpfSpwdXNoVW50aWwoZSl7bGV0IHQ9dGhpcy5wb3Mscj10aGlzLmJ1ZmZlclt0XTtmb3IoOyFlKHIpOylyPXRoaXMuYnVmZmVyWysrdF07cmV0dXJuIHlpZWxkKnRoaXMucHVzaFRvSW5kZXgodCwhMSl9fX0pO3ZhciBSMCxPMGU9ZigoKT0+e1IwPWNsYXNze3N0YXRpY3tzKHRoaXMsIkxpbmVDb3VudGVyIil9Y29uc3RydWN0b3IoKXt0aGlzLmxpbmVTdGFydHM9W10sdGhpcy5hZGROZXdMaW5lPWU9PnRoaXMubGluZVN0YXJ0cy5wdXNoKGUpLHRoaXMubGluZVBvcz1lPT57bGV0IHQ9MCxyPXRoaXMubGluZVN0YXJ0cy5sZW5ndGg7Zm9yKDt0PHI7KXtsZXQgbz10K3I+PjE7dGhpcy5saW5lU3RhcnRzW29dPGU/dD1vKzE6cj1vfWlmKHRoaXMubGluZVN0YXJ0c1t0XT09PWUpcmV0dXJue2xpbmU6dCsxLGNvbDoxfTtpZih0PT09MClyZXR1cm57bGluZTowLGNvbDplfTtsZXQgaT10aGlzLmxpbmVTdGFydHNbdC0xXTtyZXR1cm57bGluZTp0LGNvbDplLWkrMX19fX19KTtmdW5jdGlvbiBPMChhLGUpe2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7Kyt0KWlmKGFbdF0udHlwZT09PWUpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gTTN0KGEpe2ZvcihsZXQgZT0wO2U8YS5sZW5ndGg7KytlKXN3aXRjaChhW2VdLnR5cGUpe2Nhc2Uic3BhY2UiOmNhc2UiY29tbWVudCI6Y2FzZSJuZXdsaW5lIjpicmVhaztkZWZhdWx0OnJldHVybiBlfXJldHVybi0xfWZ1bmN0aW9uIGszdChhKXtzd2l0Y2goYT8udHlwZSl7Y2FzZSJhbGlhcyI6Y2FzZSJzY2FsYXIiOmNhc2Uic2luZ2xlLXF1b3RlZC1zY2FsYXIiOmNhc2UiZG91YmxlLXF1b3RlZC1zY2FsYXIiOmNhc2UiZmxvdy1jb2xsZWN0aW9uIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBvUShhKXtzd2l0Y2goYS50eXBlKXtjYXNlImRvY3VtZW50IjpyZXR1cm4gYS5zdGFydDtjYXNlImJsb2NrLW1hcCI6e2xldCBlPWEuaXRlbXNbYS5pdGVtcy5sZW5ndGgtMV07cmV0dXJuIGUuc2VwPz9lLnN0YXJ0fWNhc2UiYmxvY2stc2VxIjpyZXR1cm4gYS5pdGVtc1thLml0ZW1zLmxlbmd0aC0xXS5zdGFydDtkZWZhdWx0OnJldHVybltdfX1mdW5jdGlvbiBnOChhKXtpZihhLmxlbmd0aD09PTApcmV0dXJuW107bGV0IGU9YS5sZW5ndGg7ZTpmb3IoOy0tZT49MDspc3dpdGNoKGFbZV0udHlwZSl7Y2FzZSJkb2Mtc3RhcnQiOmNhc2UiZXhwbGljaXQta2V5LWluZCI6Y2FzZSJtYXAtdmFsdWUtaW5kIjpjYXNlInNlcS1pdGVtLWluZCI6Y2FzZSJuZXdsaW5lIjpicmVhayBlfWZvcig7YVsrK2VdPy50eXBlPT09InNwYWNlIjspO3JldHVybiBhLnNwbGljZShlLGEubGVuZ3RoKX1mdW5jdGlvbiBTM3QoYSl7aWYoYS5zdGFydC50eXBlPT09ImZsb3ctc2VxLXN0YXJ0Iilmb3IobGV0IGUgb2YgYS5pdGVtcyllLnNlcCYmIWUudmFsdWUmJiFPMChlLnN0YXJ0LCJleHBsaWNpdC1rZXktaW5kIikmJiFPMChlLnNlcCwibWFwLXZhbHVlLWluZCIpJiYoZS5rZXkmJihlLnZhbHVlPWUua2V5KSxkZWxldGUgZS5rZXksazN0KGUudmFsdWUpP2UudmFsdWUuZW5kP0FycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGUudmFsdWUuZW5kLGUuc2VwKTplLnZhbHVlLmVuZD1lLnNlcDpBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShlLnN0YXJ0LGUuc2VwKSxkZWxldGUgZS5zZXApfXZhciBIbCxGMGU9ZigoKT0+e3NRKCk7UjBlKCk7cyhPMCwiaW5jbHVkZXNUb2tlbiIpO3MoTTN0LCJmaW5kTm9uRW1wdHlJbmRleCIpO3MoazN0LCJpc0Zsb3dUb2tlbiIpO3Mob1EsImdldFByZXZQcm9wcyIpO3MoZzgsImdldEZpcnN0S2V5U3RhcnRQcm9wcyIpO3MoUzN0LCJmaXhGbG93U2VxSXRlbXMiKTtIbD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJQYXJzZXIiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmF0TmV3TGluZT0hMCx0aGlzLmF0U2NhbGFyPSExLHRoaXMuaW5kZW50PTAsdGhpcy5vZmZzZXQ9MCx0aGlzLm9uS2V5TGluZT0hMSx0aGlzLnN0YWNrPVtdLHRoaXMuc291cmNlPSIiLHRoaXMudHlwZT0iIix0aGlzLmxleGVyPW5ldyBOMCx0aGlzLm9uTmV3TGluZT1lfSpwYXJzZShlLHQ9ITEpe3RoaXMub25OZXdMaW5lJiZ0aGlzLm9mZnNldD09PTAmJnRoaXMub25OZXdMaW5lKDApO2ZvcihsZXQgciBvZiB0aGlzLmxleGVyLmxleChlLHQpKXlpZWxkKnRoaXMubmV4dChyKTt0fHwoeWllbGQqdGhpcy5lbmQoKSl9Km5leHQoZSl7aWYodGhpcy5zb3VyY2U9ZSx0aGlzLmF0U2NhbGFyKXt0aGlzLmF0U2NhbGFyPSExLHlpZWxkKnRoaXMuc3RlcCgpLHRoaXMub2Zmc2V0Kz1lLmxlbmd0aDtyZXR1cm59bGV0IHQ9clEoZSk7aWYodClpZih0PT09InNjYWxhciIpdGhpcy5hdE5ld0xpbmU9ITEsdGhpcy5hdFNjYWxhcj0hMCx0aGlzLnR5cGU9InNjYWxhciI7ZWxzZXtzd2l0Y2godGhpcy50eXBlPXQseWllbGQqdGhpcy5zdGVwKCksdCl7Y2FzZSJuZXdsaW5lIjp0aGlzLmF0TmV3TGluZT0hMCx0aGlzLmluZGVudD0wLHRoaXMub25OZXdMaW5lJiZ0aGlzLm9uTmV3TGluZSh0aGlzLm9mZnNldCtlLmxlbmd0aCk7YnJlYWs7Y2FzZSJzcGFjZSI6dGhpcy5hdE5ld0xpbmUmJmVbMF09PT0iICImJih0aGlzLmluZGVudCs9ZS5sZW5ndGgpO2JyZWFrO2Nhc2UiZXhwbGljaXQta2V5LWluZCI6Y2FzZSJtYXAtdmFsdWUtaW5kIjpjYXNlInNlcS1pdGVtLWluZCI6dGhpcy5hdE5ld0xpbmUmJih0aGlzLmluZGVudCs9ZS5sZW5ndGgpO2JyZWFrO2Nhc2UiZG9jLW1vZGUiOmNhc2UiZmxvdy1lcnJvci1lbmQiOnJldHVybjtkZWZhdWx0OnRoaXMuYXROZXdMaW5lPSExfXRoaXMub2Zmc2V0Kz1lLmxlbmd0aH1lbHNle2xldCByPWBOb3QgYSBZQU1MIHRva2VuOiAke2V9YDt5aWVsZCp0aGlzLnBvcCh7dHlwZToiZXJyb3IiLG9mZnNldDp0aGlzLm9mZnNldCxtZXNzYWdlOnIsc291cmNlOmV9KSx0aGlzLm9mZnNldCs9ZS5sZW5ndGh9fSplbmQoKXtmb3IoO3RoaXMuc3RhY2subGVuZ3RoPjA7KXlpZWxkKnRoaXMucG9wKCl9Z2V0IHNvdXJjZVRva2VuKCl7cmV0dXJue3R5cGU6dGhpcy50eXBlLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsc291cmNlOnRoaXMuc291cmNlfX0qc3RlcCgpe2xldCBlPXRoaXMucGVlaygxKTtpZih0aGlzLnR5cGU9PT0iZG9jLWVuZCImJmU/LnR5cGUhPT0iZG9jLWVuZCIpe2Zvcig7dGhpcy5zdGFjay5sZW5ndGg+MDspeWllbGQqdGhpcy5wb3AoKTt0aGlzLnN0YWNrLnB1c2goe3R5cGU6ImRvYy1lbmQiLG9mZnNldDp0aGlzLm9mZnNldCxzb3VyY2U6dGhpcy5zb3VyY2V9KTtyZXR1cm59aWYoIWUpcmV0dXJuIHlpZWxkKnRoaXMuc3RyZWFtKCk7c3dpdGNoKGUudHlwZSl7Y2FzZSJkb2N1bWVudCI6cmV0dXJuIHlpZWxkKnRoaXMuZG9jdW1lbnQoZSk7Y2FzZSJhbGlhcyI6Y2FzZSJzY2FsYXIiOmNhc2Uic2luZ2xlLXF1b3RlZC1zY2FsYXIiOmNhc2UiZG91YmxlLXF1b3RlZC1zY2FsYXIiOnJldHVybiB5aWVsZCp0aGlzLnNjYWxhcihlKTtjYXNlImJsb2NrLXNjYWxhciI6cmV0dXJuIHlpZWxkKnRoaXMuYmxvY2tTY2FsYXIoZSk7Y2FzZSJibG9jay1tYXAiOnJldHVybiB5aWVsZCp0aGlzLmJsb2NrTWFwKGUpO2Nhc2UiYmxvY2stc2VxIjpyZXR1cm4geWllbGQqdGhpcy5ibG9ja1NlcXVlbmNlKGUpO2Nhc2UiZmxvdy1jb2xsZWN0aW9uIjpyZXR1cm4geWllbGQqdGhpcy5mbG93Q29sbGVjdGlvbihlKTtjYXNlImRvYy1lbmQiOnJldHVybiB5aWVsZCp0aGlzLmRvY3VtZW50RW5kKGUpfXlpZWxkKnRoaXMucG9wKCl9cGVlayhlKXtyZXR1cm4gdGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC1lXX0qcG9wKGUpe2xldCB0PWU/P3RoaXMuc3RhY2sucG9wKCk7aWYoIXQpeWllbGR7dHlwZToiZXJyb3IiLG9mZnNldDp0aGlzLm9mZnNldCxzb3VyY2U6IiIsbWVzc2FnZToiVHJpZWQgdG8gcG9wIGFuIGVtcHR5IHN0YWNrIn07ZWxzZSBpZih0aGlzLnN0YWNrLmxlbmd0aD09PTApeWllbGQgdDtlbHNle2xldCByPXRoaXMucGVlaygxKTtzd2l0Y2godC50eXBlPT09ImJsb2NrLXNjYWxhciI/dC5pbmRlbnQ9ImluZGVudCJpbiByP3IuaW5kZW50OjA6dC50eXBlPT09ImZsb3ctY29sbGVjdGlvbiImJnIudHlwZT09PSJkb2N1bWVudCImJih0LmluZGVudD0wKSx0LnR5cGU9PT0iZmxvdy1jb2xsZWN0aW9uIiYmUzN0KHQpLHIudHlwZSl7Y2FzZSJkb2N1bWVudCI6ci52YWx1ZT10O2JyZWFrO2Nhc2UiYmxvY2stc2NhbGFyIjpyLnByb3BzLnB1c2godCk7YnJlYWs7Y2FzZSJibG9jay1tYXAiOntsZXQgaT1yLml0ZW1zW3IuaXRlbXMubGVuZ3RoLTFdO2lmKGkudmFsdWUpe3IuaXRlbXMucHVzaCh7c3RhcnQ6W10sa2V5OnQsc2VwOltdfSksdGhpcy5vbktleUxpbmU9ITA7cmV0dXJufWVsc2UgaWYoaS5zZXApaS52YWx1ZT10O2Vsc2V7T2JqZWN0LmFzc2lnbihpLHtrZXk6dCxzZXA6W119KSx0aGlzLm9uS2V5TGluZT0haS5leHBsaWNpdEtleTtyZXR1cm59YnJlYWt9Y2FzZSJibG9jay1zZXEiOntsZXQgaT1yLml0ZW1zW3IuaXRlbXMubGVuZ3RoLTFdO2kudmFsdWU/ci5pdGVtcy5wdXNoKHtzdGFydDpbXSx2YWx1ZTp0fSk6aS52YWx1ZT10O2JyZWFrfWNhc2UiZmxvdy1jb2xsZWN0aW9uIjp7bGV0IGk9ci5pdGVtc1tyLml0ZW1zLmxlbmd0aC0xXTshaXx8aS52YWx1ZT9yLml0ZW1zLnB1c2goe3N0YXJ0OltdLGtleTp0LHNlcDpbXX0pOmkuc2VwP2kudmFsdWU9dDpPYmplY3QuYXNzaWduKGkse2tleTp0LHNlcDpbXX0pO3JldHVybn1kZWZhdWx0OnlpZWxkKnRoaXMucG9wKCkseWllbGQqdGhpcy5wb3AodCl9aWYoKHIudHlwZT09PSJkb2N1bWVudCJ8fHIudHlwZT09PSJibG9jay1tYXAifHxyLnR5cGU9PT0iYmxvY2stc2VxIikmJih0LnR5cGU9PT0iYmxvY2stbWFwInx8dC50eXBlPT09ImJsb2NrLXNlcSIpKXtsZXQgaT10Lml0ZW1zW3QuaXRlbXMubGVuZ3RoLTFdO2kmJiFpLnNlcCYmIWkudmFsdWUmJmkuc3RhcnQubGVuZ3RoPjAmJk0zdChpLnN0YXJ0KT09PS0xJiYodC5pbmRlbnQ9PT0wfHxpLnN0YXJ0LmV2ZXJ5KG89Pm8udHlwZSE9PSJjb21tZW50Inx8by5pbmRlbnQ8dC5pbmRlbnQpKSYmKHIudHlwZT09PSJkb2N1bWVudCI/ci5lbmQ9aS5zdGFydDpyLml0ZW1zLnB1c2goe3N0YXJ0Omkuc3RhcnR9KSx0Lml0ZW1zLnNwbGljZSgtMSwxKSl9fX0qc3RyZWFtKCl7c3dpdGNoKHRoaXMudHlwZSl7Y2FzZSJkaXJlY3RpdmUtbGluZSI6eWllbGR7dHlwZToiZGlyZWN0aXZlIixvZmZzZXQ6dGhpcy5vZmZzZXQsc291cmNlOnRoaXMuc291cmNlfTtyZXR1cm47Y2FzZSJieXRlLW9yZGVyLW1hcmsiOmNhc2Uic3BhY2UiOmNhc2UiY29tbWVudCI6Y2FzZSJuZXdsaW5lIjp5aWVsZCB0aGlzLnNvdXJjZVRva2VuO3JldHVybjtjYXNlImRvYy1tb2RlIjpjYXNlImRvYy1zdGFydCI6e2xldCBlPXt0eXBlOiJkb2N1bWVudCIsb2Zmc2V0OnRoaXMub2Zmc2V0LHN0YXJ0OltdfTt0aGlzLnR5cGU9PT0iZG9jLXN0YXJ0IiYmZS5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pLHRoaXMuc3RhY2sucHVzaChlKTtyZXR1cm59fXlpZWxke3R5cGU6ImVycm9yIixvZmZzZXQ6dGhpcy5vZmZzZXQsbWVzc2FnZTpgVW5leHBlY3RlZCAke3RoaXMudHlwZX0gdG9rZW4gaW4gWUFNTCBzdHJlYW1gLHNvdXJjZTp0aGlzLnNvdXJjZX19KmRvY3VtZW50KGUpe2lmKGUudmFsdWUpcmV0dXJuIHlpZWxkKnRoaXMubGluZUVuZChlKTtzd2l0Y2godGhpcy50eXBlKXtjYXNlImRvYy1zdGFydCI6e00zdChlLnN0YXJ0KSE9PS0xPyh5aWVsZCp0aGlzLnBvcCgpLHlpZWxkKnRoaXMuc3RlcCgpKTplLnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJufWNhc2UiYW5jaG9yIjpjYXNlInRhZyI6Y2FzZSJzcGFjZSI6Y2FzZSJjb21tZW50IjpjYXNlIm5ld2xpbmUiOmUuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm59bGV0IHQ9dGhpcy5zdGFydEJsb2NrVmFsdWUoZSk7dD90aGlzLnN0YWNrLnB1c2godCk6eWllbGR7dHlwZToiZXJyb3IiLG9mZnNldDp0aGlzLm9mZnNldCxtZXNzYWdlOmBVbmV4cGVjdGVkICR7dGhpcy50eXBlfSB0b2tlbiBpbiBZQU1MIGRvY3VtZW50YCxzb3VyY2U6dGhpcy5zb3VyY2V9fSpzY2FsYXIoZSl7aWYodGhpcy50eXBlPT09Im1hcC12YWx1ZS1pbmQiKXtsZXQgdD1vUSh0aGlzLnBlZWsoMikpLHI9ZzgodCksaTtlLmVuZD8oaT1lLmVuZCxpLnB1c2godGhpcy5zb3VyY2VUb2tlbiksZGVsZXRlIGUuZW5kKTppPVt0aGlzLnNvdXJjZVRva2VuXTtsZXQgbz17dHlwZToiYmxvY2stbWFwIixvZmZzZXQ6ZS5vZmZzZXQsaW5kZW50OmUuaW5kZW50LGl0ZW1zOlt7c3RhcnQ6cixrZXk6ZSxzZXA6aX1dfTt0aGlzLm9uS2V5TGluZT0hMCx0aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdPW99ZWxzZSB5aWVsZCp0aGlzLmxpbmVFbmQoZSl9KmJsb2NrU2NhbGFyKGUpe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2Uic3BhY2UiOmNhc2UiY29tbWVudCI6Y2FzZSJuZXdsaW5lIjplLnByb3BzLnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJuO2Nhc2Uic2NhbGFyIjppZihlLnNvdXJjZT10aGlzLnNvdXJjZSx0aGlzLmF0TmV3TGluZT0hMCx0aGlzLmluZGVudD0wLHRoaXMub25OZXdMaW5lKXtsZXQgdD10aGlzLnNvdXJjZS5pbmRleE9mKGAKYCkrMTtmb3IoO3QhPT0wOyl0aGlzLm9uTmV3TGluZSh0aGlzLm9mZnNldCt0KSx0PXRoaXMuc291cmNlLmluZGV4T2YoYApgLHQpKzF9eWllbGQqdGhpcy5wb3AoKTticmVhaztkZWZhdWx0OnlpZWxkKnRoaXMucG9wKCkseWllbGQqdGhpcy5zdGVwKCl9fSpibG9ja01hcChlKXtsZXQgdD1lLml0ZW1zW2UuaXRlbXMubGVuZ3RoLTFdO3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UibmV3bGluZSI6aWYodGhpcy5vbktleUxpbmU9ITEsdC52YWx1ZSl7bGV0IHI9ImVuZCJpbiB0LnZhbHVlP3QudmFsdWUuZW5kOnZvaWQgMDsoQXJyYXkuaXNBcnJheShyKT9yW3IubGVuZ3RoLTFdOnZvaWQgMCk/LnR5cGU9PT0iY29tbWVudCI/cj8ucHVzaCh0aGlzLnNvdXJjZVRva2VuKTplLml0ZW1zLnB1c2goe3N0YXJ0Olt0aGlzLnNvdXJjZVRva2VuXX0pfWVsc2UgdC5zZXA/dC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTp0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJuO2Nhc2Uic3BhY2UiOmNhc2UiY29tbWVudCI6aWYodC52YWx1ZSllLml0ZW1zLnB1c2goe3N0YXJ0Olt0aGlzLnNvdXJjZVRva2VuXX0pO2Vsc2UgaWYodC5zZXApdC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtlbHNle2lmKHRoaXMuYXRJbmRlbnRlZENvbW1lbnQodC5zdGFydCxlLmluZGVudCkpe2xldCBpPWUuaXRlbXNbZS5pdGVtcy5sZW5ndGgtMl0/LnZhbHVlPy5lbmQ7aWYoQXJyYXkuaXNBcnJheShpKSl7QXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoaSx0LnN0YXJ0KSxpLnB1c2godGhpcy5zb3VyY2VUb2tlbiksZS5pdGVtcy5wb3AoKTtyZXR1cm59fXQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKX1yZXR1cm59aWYodGhpcy5pbmRlbnQ+PWUuaW5kZW50KXtsZXQgcj0hdGhpcy5vbktleUxpbmUmJnRoaXMuaW5kZW50PT09ZS5pbmRlbnQsaT1yJiYodC5zZXB8fHQuZXhwbGljaXRLZXkpJiZ0aGlzLnR5cGUhPT0ic2VxLWl0ZW0taW5kIixvPVtdO2lmKGkmJnQuc2VwJiYhdC52YWx1ZSl7bGV0IG49W107Zm9yKGxldCBsPTA7bDx0LnNlcC5sZW5ndGg7KytsKXtsZXQgZD10LnNlcFtsXTtzd2l0Y2goZC50eXBlKXtjYXNlIm5ld2xpbmUiOm4ucHVzaChsKTticmVhaztjYXNlInNwYWNlIjpicmVhaztjYXNlImNvbW1lbnQiOmQuaW5kZW50PmUuaW5kZW50JiYobi5sZW5ndGg9MCk7YnJlYWs7ZGVmYXVsdDpuLmxlbmd0aD0wfX1uLmxlbmd0aD49MiYmKG89dC5zZXAuc3BsaWNlKG5bMV0pKX1zd2l0Y2godGhpcy50eXBlKXtjYXNlImFuY2hvciI6Y2FzZSJ0YWciOml8fHQudmFsdWU/KG8ucHVzaCh0aGlzLnNvdXJjZVRva2VuKSxlLml0ZW1zLnB1c2goe3N0YXJ0Om99KSx0aGlzLm9uS2V5TGluZT0hMCk6dC5zZXA/dC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTp0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJuO2Nhc2UiZXhwbGljaXQta2V5LWluZCI6IXQuc2VwJiYhdC5leHBsaWNpdEtleT8odC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pLHQuZXhwbGljaXRLZXk9ITApOml8fHQudmFsdWU/KG8ucHVzaCh0aGlzLnNvdXJjZVRva2VuKSxlLml0ZW1zLnB1c2goe3N0YXJ0Om8sZXhwbGljaXRLZXk6ITB9KSk6dGhpcy5zdGFjay5wdXNoKHt0eXBlOiJibG9jay1tYXAiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpbdGhpcy5zb3VyY2VUb2tlbl0sZXhwbGljaXRLZXk6ITB9XX0pLHRoaXMub25LZXlMaW5lPSEwO3JldHVybjtjYXNlIm1hcC12YWx1ZS1pbmQiOmlmKHQuZXhwbGljaXRLZXkpaWYodC5zZXApaWYodC52YWx1ZSllLml0ZW1zLnB1c2goe3N0YXJ0OltdLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19KTtlbHNlIGlmKE8wKHQuc2VwLCJtYXAtdmFsdWUtaW5kIikpdGhpcy5zdGFjay5wdXNoKHt0eXBlOiJibG9jay1tYXAiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpvLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19XX0pO2Vsc2UgaWYoazN0KHQua2V5KSYmIU8wKHQuc2VwLCJuZXdsaW5lIikpe2xldCBuPWc4KHQuc3RhcnQpLGw9dC5rZXksZD10LnNlcDtkLnB1c2godGhpcy5zb3VyY2VUb2tlbiksZGVsZXRlIHQua2V5LGRlbGV0ZSB0LnNlcCx0aGlzLnN0YWNrLnB1c2goe3R5cGU6ImJsb2NrLW1hcCIsb2Zmc2V0OnRoaXMub2Zmc2V0LGluZGVudDp0aGlzLmluZGVudCxpdGVtczpbe3N0YXJ0Om4sa2V5Omwsc2VwOmR9XX0pfWVsc2Ugby5sZW5ndGg+MD90LnNlcD10LnNlcC5jb25jYXQobyx0aGlzLnNvdXJjZVRva2VuKTp0LnNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO2Vsc2UgaWYoTzAodC5zdGFydCwibmV3bGluZSIpKU9iamVjdC5hc3NpZ24odCx7a2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX0pO2Vsc2V7bGV0IG49ZzgodC5zdGFydCk7dGhpcy5zdGFjay5wdXNoKHt0eXBlOiJibG9jay1tYXAiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpuLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19XX0pfWVsc2UgdC5zZXA/dC52YWx1ZXx8aT9lLml0ZW1zLnB1c2goe3N0YXJ0Om8sa2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX0pOk8wKHQuc2VwLCJtYXAtdmFsdWUtaW5kIik/dGhpcy5zdGFjay5wdXNoKHt0eXBlOiJibG9jay1tYXAiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpbXSxrZXk6bnVsbCxzZXA6W3RoaXMuc291cmNlVG9rZW5dfV19KTp0LnNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pOk9iamVjdC5hc3NpZ24odCx7a2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX0pO3RoaXMub25LZXlMaW5lPSEwO3JldHVybjtjYXNlImFsaWFzIjpjYXNlInNjYWxhciI6Y2FzZSJzaW5nbGUtcXVvdGVkLXNjYWxhciI6Y2FzZSJkb3VibGUtcXVvdGVkLXNjYWxhciI6e2xldCBuPXRoaXMuZmxvd1NjYWxhcih0aGlzLnR5cGUpO2l8fHQudmFsdWU/KGUuaXRlbXMucHVzaCh7c3RhcnQ6byxrZXk6bixzZXA6W119KSx0aGlzLm9uS2V5TGluZT0hMCk6dC5zZXA/dGhpcy5zdGFjay5wdXNoKG4pOihPYmplY3QuYXNzaWduKHQse2tleTpuLHNlcDpbXX0pLHRoaXMub25LZXlMaW5lPSEwKTtyZXR1cm59ZGVmYXVsdDp7bGV0IG49dGhpcy5zdGFydEJsb2NrVmFsdWUoZSk7aWYobil7aWYobi50eXBlPT09ImJsb2NrLXNlcSIpe2lmKCF0LmV4cGxpY2l0S2V5JiZ0LnNlcCYmIU8wKHQuc2VwLCJuZXdsaW5lIikpe3lpZWxkKnRoaXMucG9wKHt0eXBlOiJlcnJvciIsb2Zmc2V0OnRoaXMub2Zmc2V0LG1lc3NhZ2U6IlVuZXhwZWN0ZWQgYmxvY2stc2VxLWluZCBvbiBzYW1lIGxpbmUgd2l0aCBrZXkiLHNvdXJjZTp0aGlzLnNvdXJjZX0pO3JldHVybn19ZWxzZSByJiZlLml0ZW1zLnB1c2goe3N0YXJ0Om99KTt0aGlzLnN0YWNrLnB1c2gobik7cmV0dXJufX19fXlpZWxkKnRoaXMucG9wKCkseWllbGQqdGhpcy5zdGVwKCl9KmJsb2NrU2VxdWVuY2UoZSl7bGV0IHQ9ZS5pdGVtc1tlLml0ZW1zLmxlbmd0aC0xXTtzd2l0Y2godGhpcy50eXBlKXtjYXNlIm5ld2xpbmUiOmlmKHQudmFsdWUpe2xldCByPSJlbmQiaW4gdC52YWx1ZT90LnZhbHVlLmVuZDp2b2lkIDA7KEFycmF5LmlzQXJyYXkocik/cltyLmxlbmd0aC0xXTp2b2lkIDApPy50eXBlPT09ImNvbW1lbnQiP3I/LnB1c2godGhpcy5zb3VyY2VUb2tlbik6ZS5pdGVtcy5wdXNoKHtzdGFydDpbdGhpcy5zb3VyY2VUb2tlbl19KX1lbHNlIHQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm47Y2FzZSJzcGFjZSI6Y2FzZSJjb21tZW50IjppZih0LnZhbHVlKWUuaXRlbXMucHVzaCh7c3RhcnQ6W3RoaXMuc291cmNlVG9rZW5dfSk7ZWxzZXtpZih0aGlzLmF0SW5kZW50ZWRDb21tZW50KHQuc3RhcnQsZS5pbmRlbnQpKXtsZXQgaT1lLml0ZW1zW2UuaXRlbXMubGVuZ3RoLTJdPy52YWx1ZT8uZW5kO2lmKEFycmF5LmlzQXJyYXkoaSkpe0FycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGksdC5zdGFydCksaS5wdXNoKHRoaXMuc291cmNlVG9rZW4pLGUuaXRlbXMucG9wKCk7cmV0dXJufX10LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbil9cmV0dXJuO2Nhc2UiYW5jaG9yIjpjYXNlInRhZyI6aWYodC52YWx1ZXx8dGhpcy5pbmRlbnQ8PWUuaW5kZW50KWJyZWFrO3Quc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtyZXR1cm47Y2FzZSJzZXEtaXRlbS1pbmQiOmlmKHRoaXMuaW5kZW50IT09ZS5pbmRlbnQpYnJlYWs7dC52YWx1ZXx8TzAodC5zdGFydCwic2VxLWl0ZW0taW5kIik/ZS5pdGVtcy5wdXNoKHtzdGFydDpbdGhpcy5zb3VyY2VUb2tlbl19KTp0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJufWlmKHRoaXMuaW5kZW50PmUuaW5kZW50KXtsZXQgcj10aGlzLnN0YXJ0QmxvY2tWYWx1ZShlKTtpZihyKXt0aGlzLnN0YWNrLnB1c2gocik7cmV0dXJufX15aWVsZCp0aGlzLnBvcCgpLHlpZWxkKnRoaXMuc3RlcCgpfSpmbG93Q29sbGVjdGlvbihlKXtsZXQgdD1lLml0ZW1zW2UuaXRlbXMubGVuZ3RoLTFdO2lmKHRoaXMudHlwZT09PSJmbG93LWVycm9yLWVuZCIpe2xldCByO2RvIHlpZWxkKnRoaXMucG9wKCkscj10aGlzLnBlZWsoMSk7d2hpbGUocj8udHlwZT09PSJmbG93LWNvbGxlY3Rpb24iKX1lbHNlIGlmKGUuZW5kLmxlbmd0aD09PTApe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UiY29tbWEiOmNhc2UiZXhwbGljaXQta2V5LWluZCI6IXR8fHQuc2VwP2UuaXRlbXMucHVzaCh7c3RhcnQ6W3RoaXMuc291cmNlVG9rZW5dfSk6dC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO3JldHVybjtjYXNlIm1hcC12YWx1ZS1pbmQiOiF0fHx0LnZhbHVlP2UuaXRlbXMucHVzaCh7c3RhcnQ6W10sa2V5Om51bGwsc2VwOlt0aGlzLnNvdXJjZVRva2VuXX0pOnQuc2VwP3Quc2VwLnB1c2godGhpcy5zb3VyY2VUb2tlbik6T2JqZWN0LmFzc2lnbih0LHtrZXk6bnVsbCxzZXA6W3RoaXMuc291cmNlVG9rZW5dfSk7cmV0dXJuO2Nhc2Uic3BhY2UiOmNhc2UiY29tbWVudCI6Y2FzZSJuZXdsaW5lIjpjYXNlImFuY2hvciI6Y2FzZSJ0YWciOiF0fHx0LnZhbHVlP2UuaXRlbXMucHVzaCh7c3RhcnQ6W3RoaXMuc291cmNlVG9rZW5dfSk6dC5zZXA/dC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTp0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7cmV0dXJuO2Nhc2UiYWxpYXMiOmNhc2Uic2NhbGFyIjpjYXNlInNpbmdsZS1xdW90ZWQtc2NhbGFyIjpjYXNlImRvdWJsZS1xdW90ZWQtc2NhbGFyIjp7bGV0IGk9dGhpcy5mbG93U2NhbGFyKHRoaXMudHlwZSk7IXR8fHQudmFsdWU/ZS5pdGVtcy5wdXNoKHtzdGFydDpbXSxrZXk6aSxzZXA6W119KTp0LnNlcD90aGlzLnN0YWNrLnB1c2goaSk6T2JqZWN0LmFzc2lnbih0LHtrZXk6aSxzZXA6W119KTtyZXR1cm59Y2FzZSJmbG93LW1hcC1lbmQiOmNhc2UiZmxvdy1zZXEtZW5kIjplLmVuZC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO3JldHVybn1sZXQgcj10aGlzLnN0YXJ0QmxvY2tWYWx1ZShlKTtyP3RoaXMuc3RhY2sucHVzaChyKTooeWllbGQqdGhpcy5wb3AoKSx5aWVsZCp0aGlzLnN0ZXAoKSl9ZWxzZXtsZXQgcj10aGlzLnBlZWsoMik7aWYoci50eXBlPT09ImJsb2NrLW1hcCImJih0aGlzLnR5cGU9PT0ibWFwLXZhbHVlLWluZCImJnIuaW5kZW50PT09ZS5pbmRlbnR8fHRoaXMudHlwZT09PSJuZXdsaW5lIiYmIXIuaXRlbXNbci5pdGVtcy5sZW5ndGgtMV0uc2VwKSl5aWVsZCp0aGlzLnBvcCgpLHlpZWxkKnRoaXMuc3RlcCgpO2Vsc2UgaWYodGhpcy50eXBlPT09Im1hcC12YWx1ZS1pbmQiJiZyLnR5cGUhPT0iZmxvdy1jb2xsZWN0aW9uIil7bGV0IGk9b1Eociksbz1nOChpKTtTM3QoZSk7bGV0IG49ZS5lbmQuc3BsaWNlKDEsZS5lbmQubGVuZ3RoKTtuLnB1c2godGhpcy5zb3VyY2VUb2tlbik7bGV0IGw9e3R5cGU6ImJsb2NrLW1hcCIsb2Zmc2V0OmUub2Zmc2V0LGluZGVudDplLmluZGVudCxpdGVtczpbe3N0YXJ0Om8sa2V5OmUsc2VwOm59XX07dGhpcy5vbktleUxpbmU9ITAsdGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXT1sfWVsc2UgeWllbGQqdGhpcy5saW5lRW5kKGUpfX1mbG93U2NhbGFyKGUpe2lmKHRoaXMub25OZXdMaW5lKXtsZXQgdD10aGlzLnNvdXJjZS5pbmRleE9mKGAKYCkrMTtmb3IoO3QhPT0wOyl0aGlzLm9uTmV3TGluZSh0aGlzLm9mZnNldCt0KSx0PXRoaXMuc291cmNlLmluZGV4T2YoYApgLHQpKzF9cmV0dXJue3R5cGU6ZSxvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LHNvdXJjZTp0aGlzLnNvdXJjZX19c3RhcnRCbG9ja1ZhbHVlKGUpe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UiYWxpYXMiOmNhc2Uic2NhbGFyIjpjYXNlInNpbmdsZS1xdW90ZWQtc2NhbGFyIjpjYXNlImRvdWJsZS1xdW90ZWQtc2NhbGFyIjpyZXR1cm4gdGhpcy5mbG93U2NhbGFyKHRoaXMudHlwZSk7Y2FzZSJibG9jay1zY2FsYXItaGVhZGVyIjpyZXR1cm57dHlwZToiYmxvY2stc2NhbGFyIixvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LHByb3BzOlt0aGlzLnNvdXJjZVRva2VuXSxzb3VyY2U6IiJ9O2Nhc2UiZmxvdy1tYXAtc3RhcnQiOmNhc2UiZmxvdy1zZXEtc3RhcnQiOnJldHVybnt0eXBlOiJmbG93LWNvbGxlY3Rpb24iLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsc3RhcnQ6dGhpcy5zb3VyY2VUb2tlbixpdGVtczpbXSxlbmQ6W119O2Nhc2Uic2VxLWl0ZW0taW5kIjpyZXR1cm57dHlwZToiYmxvY2stc2VxIixvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LGl0ZW1zOlt7c3RhcnQ6W3RoaXMuc291cmNlVG9rZW5dfV19O2Nhc2UiZXhwbGljaXQta2V5LWluZCI6e3RoaXMub25LZXlMaW5lPSEwO2xldCB0PW9RKGUpLHI9ZzgodCk7cmV0dXJuIHIucHVzaCh0aGlzLnNvdXJjZVRva2VuKSx7dHlwZToiYmxvY2stbWFwIixvZmZzZXQ6dGhpcy5vZmZzZXQsaW5kZW50OnRoaXMuaW5kZW50LGl0ZW1zOlt7c3RhcnQ6cixleHBsaWNpdEtleTohMH1dfX1jYXNlIm1hcC12YWx1ZS1pbmQiOnt0aGlzLm9uS2V5TGluZT0hMDtsZXQgdD1vUShlKSxyPWc4KHQpO3JldHVybnt0eXBlOiJibG9jay1tYXAiLG9mZnNldDp0aGlzLm9mZnNldCxpbmRlbnQ6dGhpcy5pbmRlbnQsaXRlbXM6W3tzdGFydDpyLGtleTpudWxsLHNlcDpbdGhpcy5zb3VyY2VUb2tlbl19XX19fXJldHVybiBudWxsfWF0SW5kZW50ZWRDb21tZW50KGUsdCl7cmV0dXJuIHRoaXMudHlwZSE9PSJjb21tZW50Inx8dGhpcy5pbmRlbnQ8PXQ/ITE6ZS5ldmVyeShyPT5yLnR5cGU9PT0ibmV3bGluZSJ8fHIudHlwZT09PSJzcGFjZSIpfSpkb2N1bWVudEVuZChlKXt0aGlzLnR5cGUhPT0iZG9jLW1vZGUiJiYoZS5lbmQ/ZS5lbmQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTplLmVuZD1bdGhpcy5zb3VyY2VUb2tlbl0sdGhpcy50eXBlPT09Im5ld2xpbmUiJiYoeWllbGQqdGhpcy5wb3AoKSkpfSpsaW5lRW5kKGUpe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UiY29tbWEiOmNhc2UiZG9jLXN0YXJ0IjpjYXNlImRvYy1lbmQiOmNhc2UiZmxvdy1zZXEtZW5kIjpjYXNlImZsb3ctbWFwLWVuZCI6Y2FzZSJtYXAtdmFsdWUtaW5kIjp5aWVsZCp0aGlzLnBvcCgpLHlpZWxkKnRoaXMuc3RlcCgpO2JyZWFrO2Nhc2UibmV3bGluZSI6dGhpcy5vbktleUxpbmU9ITE7ZGVmYXVsdDplLmVuZD9lLmVuZC5wdXNoKHRoaXMuc291cmNlVG9rZW4pOmUuZW5kPVt0aGlzLnNvdXJjZVRva2VuXSx0aGlzLnR5cGU9PT0ibmV3bGluZSImJih5aWVsZCp0aGlzLnBvcCgpKX19fX0pO2Z1bmN0aW9uIHozdChhKXtsZXQgZT1hLnByZXR0eUVycm9ycyE9PSExO3JldHVybntsaW5lQ291bnRlcjphLmxpbmVDb3VudGVyfHxlJiZuZXcgUjB8fG51bGwscHJldHR5RXJyb3JzOmV9fWZ1bmN0aW9uIG5RKGEsZT17fSl7bGV0e2xpbmVDb3VudGVyOnQscHJldHR5RXJyb3JzOnJ9PXozdChlKSxpPW5ldyBIbCh0Py5hZGROZXdMaW5lKSxvPW5ldyBGbChlKSxuPUFycmF5LmZyb20oby5jb21wb3NlKGkucGFyc2UoYSkpKTtpZihyJiZ0KWZvcihsZXQgbCBvZiBuKWwuZXJyb3JzLmZvckVhY2goZDgoYSx0KSksbC53YXJuaW5ncy5mb3JFYWNoKGQ4KGEsdCkpO3JldHVybiBuLmxlbmd0aD4wP246T2JqZWN0LmFzc2lnbihbXSx7ZW1wdHk6ITB9LG8uc3RyZWFtSW5mbygpKX1mdW5jdGlvbiBOZyhhLGU9e30pe2xldHtsaW5lQ291bnRlcjp0LHByZXR0eUVycm9yczpyfT16M3QoZSksaT1uZXcgSGwodD8uYWRkTmV3TGluZSksbz1uZXcgRmwoZSksbj1udWxsO2ZvcihsZXQgbCBvZiBvLmNvbXBvc2UoaS5wYXJzZShhKSwhMCxhLmxlbmd0aCkpaWYoIW4pbj1sO2Vsc2UgaWYobi5vcHRpb25zLmxvZ0xldmVsIT09InNpbGVudCIpe24uZXJyb3JzLnB1c2gobmV3IHFpKGwucmFuZ2Uuc2xpY2UoMCwyKSwiTVVMVElQTEVfRE9DUyIsIlNvdXJjZSBjb250YWlucyBtdWx0aXBsZSBkb2N1bWVudHM7IHBsZWFzZSB1c2UgWUFNTC5wYXJzZUFsbERvY3VtZW50cygpIikpO2JyZWFrfXJldHVybiByJiZ0JiYobi5lcnJvcnMuZm9yRWFjaChkOChhLHQpKSxuLndhcm5pbmdzLmZvckVhY2goZDgoYSx0KSkpLG59ZnVuY3Rpb24gbFEoYSxlLHQpe2xldCByO3R5cGVvZiBlPT0iZnVuY3Rpb24iP3I9ZTp0PT09dm9pZCAwJiZlJiZ0eXBlb2YgZT09Im9iamVjdCImJih0PWUpO2xldCBpPU5nKGEsdCk7aWYoIWkpcmV0dXJuIG51bGw7aWYoaS53YXJuaW5ncy5mb3JFYWNoKG89PmZnKGkub3B0aW9ucy5sb2dMZXZlbCxvKSksaS5lcnJvcnMubGVuZ3RoPjApe2lmKGkub3B0aW9ucy5sb2dMZXZlbCE9PSJzaWxlbnQiKXRocm93IGkuZXJyb3JzWzBdO2kuZXJyb3JzPVtdfXJldHVybiBpLnRvSlMoT2JqZWN0LmFzc2lnbih7cmV2aXZlcjpyfSx0KSl9ZnVuY3Rpb24gY1EoYSxlLHQpe2xldCByPW51bGw7aWYodHlwZW9mIGU9PSJmdW5jdGlvbiJ8fEFycmF5LmlzQXJyYXkoZSk/cj1lOnQ9PT12b2lkIDAmJmUmJih0PWUpLHR5cGVvZiB0PT0ic3RyaW5nIiYmKHQ9dC5sZW5ndGgpLHR5cGVvZiB0PT0ibnVtYmVyIil7bGV0IGk9TWF0aC5yb3VuZCh0KTt0PWk8MT92b2lkIDA6aT44P3tpbmRlbnQ6OH06e2luZGVudDppfX1pZihhPT09dm9pZCAwKXtsZXR7a2VlcFVuZGVmaW5lZDppfT10Pz9lPz97fTtpZighaSlyZXR1cm59cmV0dXJuIFNvKGEpJiYhcj9hLnRvU3RyaW5nKHQpOm5ldyBTbihhLHIsdCkudG9TdHJpbmcodCl9dmFyIEMzdD1mKCgpPT57TDBlKCk7X2coKTtUZygpO1ZjZSgpO0xhKCk7TzBlKCk7RjBlKCk7cyh6M3QsInBhcnNlT3B0aW9ucyIpO3MoblEsInBhcnNlQWxsRG9jdW1lbnRzIik7cyhOZywicGFyc2VEb2N1bWVudCIpO3MobFEsInBhcnNlIik7cyhjUSwic3RyaW5naWZ5Iil9KTt2YXIgQjBlPXt9O2x0KEIwZSx7QWxpYXM6KCk9PnluLENTVDooKT0+SWcsQ29tcG9zZXI6KCk9PkZsLERvY3VtZW50OigpPT5TbixMZXhlcjooKT0+TjAsTGluZUNvdW50ZXI6KCk9PlIwLFBhaXI6KCk9PnVyLFBhcnNlcjooKT0+SGwsU2NhbGFyOigpPT5mdCxTY2hlbWE6KCk9PkUwLFlBTUxFcnJvcjooKT0+UDAsWUFNTE1hcDooKT0+eXIsWUFNTFBhcnNlRXJyb3I6KCk9PnFpLFlBTUxTZXE6KCk9Pl9zLFlBTUxXYXJuaW5nOigpPT5JMCxpc0FsaWFzOigpPT5rbyxpc0NvbGxlY3Rpb246KCk9PlRhLGlzRG9jdW1lbnQ6KCk9PlNvLGlzTWFwOigpPT56byxpc05vZGU6KCk9PmRhLGlzUGFpcjooKT0+YWEsaXNTY2FsYXI6KCk9PnF0LGlzU2VxOigpPT5DbyxwYXJzZTooKT0+bFEscGFyc2VBbGxEb2N1bWVudHM6KCk9Pm5RLHBhcnNlRG9jdW1lbnQ6KCk9Pk5nLHN0cmluZ2lmeTooKT0+Y1EsdmlzaXQ6KCk9PmpvLHZpc2l0QXN5bmM6KCk9PlAzfSk7dmFyIEgwZT1mKCgpPT57TDBlKCk7X2coKTtoMGUoKTtUZygpO3NnKCk7TGEoKTtMMCgpO2xzKCk7JDAoKTtEMCgpO3NRKCk7UjBlKCk7TzBlKCk7RjBlKCk7QzN0KCk7YWcoKX0pO3ZhciBxMz17fTtsdChxMyx7QWxpYXM6KCk9PnluLENTVDooKT0+SWcsQ29tcG9zZXI6KCk9PkZsLERvY3VtZW50OigpPT5TbixMZXhlcjooKT0+TjAsTGluZUNvdW50ZXI6KCk9PlIwLFBhaXI6KCk9PnVyLFBhcnNlcjooKT0+SGwsU2NhbGFyOigpPT5mdCxTY2hlbWE6KCk9PkUwLFlBTUxFcnJvcjooKT0+UDAsWUFNTE1hcDooKT0+eXIsWUFNTFBhcnNlRXJyb3I6KCk9PnFpLFlBTUxTZXE6KCk9Pl9zLFlBTUxXYXJuaW5nOigpPT5JMCxkZWZhdWx0OigpPT5PeGEsaXNBbGlhczooKT0+a28saXNDb2xsZWN0aW9uOigpPT5UYSxpc0RvY3VtZW50OigpPT5Tbyxpc01hcDooKT0+em8saXNOb2RlOigpPT5kYSxpc1BhaXI6KCk9PmFhLGlzU2NhbGFyOigpPT5xdCxpc1NlcTooKT0+Q28scGFyc2U6KCk9PmxRLHBhcnNlQWxsRG9jdW1lbnRzOigpPT5uUSxwYXJzZURvY3VtZW50OigpPT5OZyxzdHJpbmdpZnk6KCk9PmNRLHZpc2l0OigpPT5qbyx2aXNpdEFzeW5jOigpPT5QM30pO3ZhciBPeGEsXzN0PWYoKCk9PntIMGUoKTtIMGUoKTtPeGE9QjBlfSk7dmFyIFQzdD1mKCgpPT57XzN0KCl9KTt2YXIgUmc9e307bHQoUmcse2dldFlhbWxEb2NGcm9tU3RyaW5nOigpPT5xeGEsb2JqZWN0VG9ZYW1sU3RyaW5nOigpPT5IeGEseWFtbFN0cmluZ1RvT2JqZWN0OigpPT5CeGF9KTt2YXIgQnhhLEh4YSxxeGEsTDN0PWYoKCk9PntUM3QoKTtCeGE9cyhhc3luYyBhPT5xMy5wYXJzZShhKSwieWFtbFN0cmluZ1RvT2JqZWN0IiksSHhhPXMoYXN5bmMgYT0+cTMuc3RyaW5naWZ5KGEpLCJvYmplY3RUb1lhbWxTdHJpbmciKSxxeGE9cyhhc3luYyBhPT5xMy5wYXJzZURvY3VtZW50KGEpLCJnZXRZYW1sRG9jRnJvbVN0cmluZyIpfSk7ZnVuY3Rpb24gcTBlKGEpe2lmKGEpdGhyb3cgYX12YXIgJDN0PWYoKCk9PntzKHEwZSwiYmFpbCIpfSk7dmFyIEYzdD1ibygoY0ZyLE8zdCk9PnsidXNlIHN0cmljdCI7dmFyIGRRPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksRDN0PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsQTN0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxFM3Q9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcixQM3Q9cyhmdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIEFycmF5LmlzQXJyYXk9PSJmdW5jdGlvbiI/QXJyYXkuaXNBcnJheShlKTpEM3QuY2FsbChlKT09PSJbb2JqZWN0IEFycmF5XSJ9LCJpc0FycmF5IiksSTN0PXMoZnVuY3Rpb24oZSl7aWYoIWV8fEQzdC5jYWxsKGUpIT09IltvYmplY3QgT2JqZWN0XSIpcmV0dXJuITE7dmFyIHQ9ZFEuY2FsbChlLCJjb25zdHJ1Y3RvciIpLHI9ZS5jb25zdHJ1Y3RvciYmZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUmJmRRLmNhbGwoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsImlzUHJvdG90eXBlT2YiKTtpZihlLmNvbnN0cnVjdG9yJiYhdCYmIXIpcmV0dXJuITE7dmFyIGk7Zm9yKGkgaW4gZSk7cmV0dXJuIHR5cGVvZiBpPiJ1Inx8ZFEuY2FsbChlLGkpfSwiaXNQbGFpbk9iamVjdCIpLE4zdD1zKGZ1bmN0aW9uKGUsdCl7QTN0JiZ0Lm5hbWU9PT0iX19wcm90b19fIj9BM3QoZSx0Lm5hbWUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHZhbHVlOnQubmV3VmFsdWUsd3JpdGFibGU6ITB9KTplW3QubmFtZV09dC5uZXdWYWx1ZX0sInNldFByb3BlcnR5IiksUjN0PXMoZnVuY3Rpb24oZSx0KXtpZih0PT09Il9fcHJvdG9fXyIpaWYoZFEuY2FsbChlLHQpKXtpZihFM3QpcmV0dXJuIEUzdChlLHQpLnZhbHVlfWVsc2UgcmV0dXJuO3JldHVybiBlW3RdfSwiZ2V0UHJvcGVydHkiKTtPM3QuZXhwb3J0cz1zKGZ1bmN0aW9uIGEoKXt2YXIgZSx0LHIsaSxvLG4sbD1hcmd1bWVudHNbMF0sZD0xLGM9YXJndW1lbnRzLmxlbmd0aCxwPSExO2Zvcih0eXBlb2YgbD09ImJvb2xlYW4iJiYocD1sLGw9YXJndW1lbnRzWzFdfHx7fSxkPTIpLChsPT1udWxsfHx0eXBlb2YgbCE9Im9iamVjdCImJnR5cGVvZiBsIT0iZnVuY3Rpb24iKSYmKGw9e30pO2Q8YzsrK2QpaWYoZT1hcmd1bWVudHNbZF0sZSE9bnVsbClmb3IodCBpbiBlKXI9UjN0KGwsdCksaT1SM3QoZSx0KSxsIT09aSYmKHAmJmkmJihJM3QoaSl8fChvPVAzdChpKSkpPyhvPyhvPSExLG49ciYmUDN0KHIpP3I6W10pOm49ciYmSTN0KHIpP3I6e30sTjN0KGwse25hbWU6dCxuZXdWYWx1ZTphKHAsbixpKX0pKTp0eXBlb2YgaTwidSImJk4zdChsLHtuYW1lOnQsbmV3VmFsdWU6aX0pKTtyZXR1cm4gbH0sImV4dGVuZCIpfSk7dmFyIEYwPWYoKCk9Pnt9KTtmdW5jdGlvbiBPZyhhKXtpZih0eXBlb2YgYSE9Im9iamVjdCJ8fGE9PT1udWxsKXJldHVybiExO2xldCBlPU9iamVjdC5nZXRQcm90b3R5cGVPZihhKTtyZXR1cm4oZT09PW51bGx8fGU9PT1PYmplY3QucHJvdG90eXBlfHxPYmplY3QuZ2V0UHJvdG90eXBlT2YoZSk9PT1udWxsKSYmIShTeW1ib2wudG9TdHJpbmdUYWcgaW4gYSkmJiEoU3ltYm9sLml0ZXJhdG9yIGluIGEpfXZhciBCM3Q9ZigoKT0+e3MoT2csImlzUGxhaW5PYmplY3QiKX0pO2Z1bmN0aW9uIFYwZSgpe2xldCBhPVtdLGU9e3J1bjp0LHVzZTpyfTtyZXR1cm4gZTtmdW5jdGlvbiB0KC4uLmkpe2xldCBvPS0xLG49aS5wb3AoKTtpZih0eXBlb2YgbiE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBmdW5jdGlvbiBhcyBsYXN0IGFyZ3VtZW50LCBub3QgIituKTtsKG51bGwsLi4uaSk7ZnVuY3Rpb24gbChkLC4uLmMpe2xldCBwPWFbKytvXSx1PS0xO2lmKGQpe24oZCk7cmV0dXJufWZvcig7Kyt1PGkubGVuZ3RoOykoY1t1XT09PW51bGx8fGNbdV09PT12b2lkIDApJiYoY1t1XT1pW3VdKTtpPWMscD9IM3QocCxsKSguLi5jKTpuKG51bGwsLi4uYyl9cyhsLCJuZXh0Iil9ZnVuY3Rpb24gcihpKXtpZih0eXBlb2YgaSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBgbWlkZGVsd2FyZWAgdG8gYmUgYSBmdW5jdGlvbiwgbm90ICIraSk7cmV0dXJuIGEucHVzaChpKSxlfX1mdW5jdGlvbiBIM3QoYSxlKXtsZXQgdDtyZXR1cm4gcjtmdW5jdGlvbiByKC4uLm4pe2xldCBsPWEubGVuZ3RoPm4ubGVuZ3RoLGQ7bCYmbi5wdXNoKGkpO3RyeXtkPWEuYXBwbHkodGhpcyxuKX1jYXRjaChjKXtsZXQgcD1jO2lmKGwmJnQpdGhyb3cgcDtyZXR1cm4gaShwKX1sfHwoZCYmZC50aGVuJiZ0eXBlb2YgZC50aGVuPT0iZnVuY3Rpb24iP2QudGhlbihvLGkpOmQgaW5zdGFuY2VvZiBFcnJvcj9pKGQpOm8oZCkpfWZ1bmN0aW9uIGkobiwuLi5sKXt0fHwodD0hMCxlKG4sLi4ubCkpfWZ1bmN0aW9uIG8obil7aShudWxsLG4pfX12YXIgcTN0PWYoKCk9PntzKFYwZSwidHJvdWdoIik7cyhIM3QsIndyYXAiKX0pO3ZhciBWM3Q9ZigoKT0+e3EzdCgpfSk7ZnVuY3Rpb24gQjAoYSl7cmV0dXJuIWF8fHR5cGVvZiBhIT0ib2JqZWN0Ij8iIjoicG9zaXRpb24iaW4gYXx8InR5cGUiaW4gYT9qM3QoYS5wb3NpdGlvbik6InN0YXJ0ImluIGF8fCJlbmQiaW4gYT9qM3QoYSk6ImxpbmUiaW4gYXx8ImNvbHVtbiJpbiBhP2owZShhKToiIn1mdW5jdGlvbiBqMGUoYSl7cmV0dXJuIFUzdChhJiZhLmxpbmUpKyI6IitVM3QoYSYmYS5jb2x1bW4pfWZ1bmN0aW9uIGozdChhKXtyZXR1cm4gajBlKGEmJmEuc3RhcnQpKyItIitqMGUoYSYmYS5lbmQpfWZ1bmN0aW9uIFUzdChhKXtyZXR1cm4gYSYmdHlwZW9mIGE9PSJudW1iZXIiP2E6MX12YXIgVzN0PWYoKCk9PntzKEIwLCJzdHJpbmdpZnlQb3NpdGlvbiIpO3MoajBlLCJwb2ludCIpO3MoajN0LCJwb3NpdGlvbiIpO3MoVTN0LCJpbmRleCIpfSk7dmFyIFUwZT1mKCgpPT57VzN0KCl9KTt2YXIgSHMsRzN0PWYoKCk9PntVMGUoKTtIcz1jbGFzcyBleHRlbmRzIEVycm9ye3N0YXRpY3tzKHRoaXMsIlZGaWxlTWVzc2FnZSIpfWNvbnN0cnVjdG9yKGUsdCxyKXtzdXBlcigpLHR5cGVvZiB0PT0ic3RyaW5nIiYmKHI9dCx0PXZvaWQgMCk7bGV0IGk9IiIsbz17fSxuPSExO2lmKHQmJigibGluZSJpbiB0JiYiY29sdW1uImluIHQ/bz17cGxhY2U6dH06InN0YXJ0ImluIHQmJiJlbmQiaW4gdD9vPXtwbGFjZTp0fToidHlwZSJpbiB0P289e2FuY2VzdG9yczpbdF0scGxhY2U6dC5wb3NpdGlvbn06bz17Li4udH0pLHR5cGVvZiBlPT0ic3RyaW5nIj9pPWU6IW8uY2F1c2UmJmUmJihuPSEwLGk9ZS5tZXNzYWdlLG8uY2F1c2U9ZSksIW8ucnVsZUlkJiYhby5zb3VyY2UmJnR5cGVvZiByPT0ic3RyaW5nIil7bGV0IGQ9ci5pbmRleE9mKCI6Iik7ZD09PS0xP28ucnVsZUlkPXI6KG8uc291cmNlPXIuc2xpY2UoMCxkKSxvLnJ1bGVJZD1yLnNsaWNlKGQrMSkpfWlmKCFvLnBsYWNlJiZvLmFuY2VzdG9ycyYmby5hbmNlc3RvcnMpe2xldCBkPW8uYW5jZXN0b3JzW28uYW5jZXN0b3JzLmxlbmd0aC0xXTtkJiYoby5wbGFjZT1kLnBvc2l0aW9uKX1sZXQgbD1vLnBsYWNlJiYic3RhcnQiaW4gby5wbGFjZT9vLnBsYWNlLnN0YXJ0Om8ucGxhY2U7dGhpcy5hbmNlc3RvcnM9by5hbmNlc3RvcnN8fHZvaWQgMCx0aGlzLmNhdXNlPW8uY2F1c2V8fHZvaWQgMCx0aGlzLmNvbHVtbj1sP2wuY29sdW1uOnZvaWQgMCx0aGlzLmZhdGFsPXZvaWQgMCx0aGlzLmZpbGU9IiIsdGhpcy5tZXNzYWdlPWksdGhpcy5saW5lPWw/bC5saW5lOnZvaWQgMCx0aGlzLm5hbWU9QjAoby5wbGFjZSl8fCIxOjEiLHRoaXMucGxhY2U9by5wbGFjZXx8dm9pZCAwLHRoaXMucmVhc29uPXRoaXMubWVzc2FnZSx0aGlzLnJ1bGVJZD1vLnJ1bGVJZHx8dm9pZCAwLHRoaXMuc291cmNlPW8uc291cmNlfHx2b2lkIDAsdGhpcy5zdGFjaz1uJiZvLmNhdXNlJiZ0eXBlb2Ygby5jYXVzZS5zdGFjaz09InN0cmluZyI/by5jYXVzZS5zdGFjazoiIix0aGlzLmFjdHVhbD12b2lkIDAsdGhpcy5leHBlY3RlZD12b2lkIDAsdGhpcy5ub3RlPXZvaWQgMCx0aGlzLnVybD12b2lkIDB9fTtIcy5wcm90b3R5cGUuZmlsZT0iIixIcy5wcm90b3R5cGUubmFtZT0iIixIcy5wcm90b3R5cGUucmVhc29uPSIiLEhzLnByb3RvdHlwZS5tZXNzYWdlPSIiLEhzLnByb3RvdHlwZS5zdGFjaz0iIixIcy5wcm90b3R5cGUuY29sdW1uPXZvaWQgMCxIcy5wcm90b3R5cGUubGluZT12b2lkIDAsSHMucHJvdG90eXBlLmFuY2VzdG9ycz12b2lkIDAsSHMucHJvdG90eXBlLmNhdXNlPXZvaWQgMCxIcy5wcm90b3R5cGUuZmF0YWw9dm9pZCAwLEhzLnByb3RvdHlwZS5wbGFjZT12b2lkIDAsSHMucHJvdG90eXBlLnJ1bGVJZD12b2lkIDAsSHMucHJvdG90eXBlLnNvdXJjZT12b2lkIDB9KTt2YXIgWTN0PWYoKCk9PntHM3QoKX0pO2Z1bmN0aW9uIFZ4YShhLGUpe2lmKGUhPT12b2lkIDAmJnR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCciZXh0IiBhcmd1bWVudCBtdXN0IGJlIGEgc3RyaW5nJyk7RmcoYSk7bGV0IHQ9MCxyPS0xLGk9YS5sZW5ndGgsbztpZihlPT09dm9pZCAwfHxlLmxlbmd0aD09PTB8fGUubGVuZ3RoPmEubGVuZ3RoKXtmb3IoO2ktLTspaWYoYS5jb2RlUG9pbnRBdChpKT09PTQ3KXtpZihvKXt0PWkrMTticmVha319ZWxzZSByPDAmJihvPSEwLHI9aSsxKTtyZXR1cm4gcjwwPyIiOmEuc2xpY2UodCxyKX1pZihlPT09YSlyZXR1cm4iIjtsZXQgbj0tMSxsPWUubGVuZ3RoLTE7Zm9yKDtpLS07KWlmKGEuY29kZVBvaW50QXQoaSk9PT00Nyl7aWYobyl7dD1pKzE7YnJlYWt9fWVsc2UgbjwwJiYobz0hMCxuPWkrMSksbD4tMSYmKGEuY29kZVBvaW50QXQoaSk9PT1lLmNvZGVQb2ludEF0KGwtLSk/bDwwJiYocj1pKToobD0tMSxyPW4pKTtyZXR1cm4gdD09PXI/cj1uOnI8MCYmKHI9YS5sZW5ndGgpLGEuc2xpY2UodCxyKX1mdW5jdGlvbiBqeGEoYSl7aWYoRmcoYSksYS5sZW5ndGg9PT0wKXJldHVybiIuIjtsZXQgZT0tMSx0PWEubGVuZ3RoLHI7Zm9yKDstLXQ7KWlmKGEuY29kZVBvaW50QXQodCk9PT00Nyl7aWYocil7ZT10O2JyZWFrfX1lbHNlIHJ8fChyPSEwKTtyZXR1cm4gZTwwP2EuY29kZVBvaW50QXQoMCk9PT00Nz8iLyI6Ii4iOmU9PT0xJiZhLmNvZGVQb2ludEF0KDApPT09NDc/Ii8vIjphLnNsaWNlKDAsZSl9ZnVuY3Rpb24gVXhhKGEpe0ZnKGEpO2xldCBlPWEubGVuZ3RoLHQ9LTEscj0wLGk9LTEsbz0wLG47Zm9yKDtlLS07KXtsZXQgbD1hLmNvZGVQb2ludEF0KGUpO2lmKGw9PT00Nyl7aWYobil7cj1lKzE7YnJlYWt9Y29udGludWV9dDwwJiYobj0hMCx0PWUrMSksbD09PTQ2P2k8MD9pPWU6byE9PTEmJihvPTEpOmk+LTEmJihvPS0xKX1yZXR1cm4gaTwwfHx0PDB8fG89PT0wfHxvPT09MSYmaT09PXQtMSYmaT09PXIrMT8iIjphLnNsaWNlKGksdCl9ZnVuY3Rpb24gV3hhKC4uLmEpe2xldCBlPS0xLHQ7Zm9yKDsrK2U8YS5sZW5ndGg7KUZnKGFbZV0pLGFbZV0mJih0PXQ9PT12b2lkIDA/YVtlXTp0KyIvIithW2VdKTtyZXR1cm4gdD09PXZvaWQgMD8iLiI6R3hhKHQpfWZ1bmN0aW9uIEd4YShhKXtGZyhhKTtsZXQgZT1hLmNvZGVQb2ludEF0KDApPT09NDcsdD1ZeGEoYSwhZSk7cmV0dXJuIHQubGVuZ3RoPT09MCYmIWUmJih0PSIuIiksdC5sZW5ndGg+MCYmYS5jb2RlUG9pbnRBdChhLmxlbmd0aC0xKT09PTQ3JiYodCs9Ii8iKSxlPyIvIit0OnR9ZnVuY3Rpb24gWXhhKGEsZSl7bGV0IHQ9IiIscj0wLGk9LTEsbz0wLG49LTEsbCxkO2Zvcig7KytuPD1hLmxlbmd0aDspe2lmKG48YS5sZW5ndGgpbD1hLmNvZGVQb2ludEF0KG4pO2Vsc2V7aWYobD09PTQ3KWJyZWFrO2w9NDd9aWYobD09PTQ3KXtpZighKGk9PT1uLTF8fG89PT0xKSlpZihpIT09bi0xJiZvPT09Mil7aWYodC5sZW5ndGg8Mnx8ciE9PTJ8fHQuY29kZVBvaW50QXQodC5sZW5ndGgtMSkhPT00Nnx8dC5jb2RlUG9pbnRBdCh0Lmxlbmd0aC0yKSE9PTQ2KXtpZih0Lmxlbmd0aD4yKXtpZihkPXQubGFzdEluZGV4T2YoIi8iKSxkIT09dC5sZW5ndGgtMSl7ZDwwPyh0PSIiLHI9MCk6KHQ9dC5zbGljZSgwLGQpLHI9dC5sZW5ndGgtMS10Lmxhc3RJbmRleE9mKCIvIikpLGk9bixvPTA7Y29udGludWV9fWVsc2UgaWYodC5sZW5ndGg+MCl7dD0iIixyPTAsaT1uLG89MDtjb250aW51ZX19ZSYmKHQ9dC5sZW5ndGg+MD90KyIvLi4iOiIuLiIscj0yKX1lbHNlIHQubGVuZ3RoPjA/dCs9Ii8iK2Euc2xpY2UoaSsxLG4pOnQ9YS5zbGljZShpKzEsbikscj1uLWktMTtpPW4sbz0wfWVsc2UgbD09PTQ2JiZvPi0xP28rKzpvPS0xfXJldHVybiB0fWZ1bmN0aW9uIEZnKGEpe2lmKHR5cGVvZiBhIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJQYXRoIG11c3QgYmUgYSBzdHJpbmcuIFJlY2VpdmVkICIrSlNPTi5zdHJpbmdpZnkoYSkpfXZhciBiMSxLM3Q9ZigoKT0+e2IxPXtiYXNlbmFtZTpWeGEsZGlybmFtZTpqeGEsZXh0bmFtZTpVeGEsam9pbjpXeGEsc2VwOiIvIn07cyhWeGEsImJhc2VuYW1lIik7cyhqeGEsImRpcm5hbWUiKTtzKFV4YSwiZXh0bmFtZSIpO3MoV3hhLCJqb2luIik7cyhHeGEsIm5vcm1hbGl6ZSIpO3MoWXhhLCJub3JtYWxpemVTdHJpbmciKTtzKEZnLCJhc3NlcnRQYXRoIil9KTtmdW5jdGlvbiBLeGEoKXtyZXR1cm4iLyJ9dmFyIFozdCxYM3Q9ZigoKT0+e1ozdD17Y3dkOkt4YX07cyhLeGEsImN3ZCIpfSk7ZnVuY3Rpb24gYjgoYSl7cmV0dXJuISEoYSE9PW51bGwmJnR5cGVvZiBhPT0ib2JqZWN0IiYmImhyZWYiaW4gYSYmYS5ocmVmJiYicHJvdG9jb2wiaW4gYSYmYS5wcm90b2NvbCYmYS5hdXRoPT09dm9pZCAwKX12YXIgVzBlPWYoKCk9PntzKGI4LCJpc1VybCIpfSk7ZnVuY3Rpb24gUTN0KGEpe2lmKHR5cGVvZiBhPT0ic3RyaW5nIilhPW5ldyBVUkwoYSk7ZWxzZSBpZighYjgoYSkpe2xldCBlPW5ldyBUeXBlRXJyb3IoJ1RoZSAicGF0aCIgYXJndW1lbnQgbXVzdCBiZSBvZiB0eXBlIHN0cmluZyBvciBhbiBpbnN0YW5jZSBvZiBVUkwuIFJlY2VpdmVkIGAnK2ErImAiKTt0aHJvdyBlLmNvZGU9IkVSUl9JTlZBTElEX0FSR19UWVBFIixlfWlmKGEucHJvdG9jb2whPT0iZmlsZToiKXtsZXQgZT1uZXcgVHlwZUVycm9yKCJUaGUgVVJMIG11c3QgYmUgb2Ygc2NoZW1lIGZpbGUiKTt0aHJvdyBlLmNvZGU9IkVSUl9JTlZBTElEX1VSTF9TQ0hFTUUiLGV9cmV0dXJuIFp4YShhKX1mdW5jdGlvbiBaeGEoYSl7aWYoYS5ob3N0bmFtZSE9PSIiKXtsZXQgcj1uZXcgVHlwZUVycm9yKCdGaWxlIFVSTCBob3N0IG11c3QgYmUgImxvY2FsaG9zdCIgb3IgZW1wdHkgb24gZGFyd2luJyk7dGhyb3cgci5jb2RlPSJFUlJfSU5WQUxJRF9GSUxFX1VSTF9IT1NUIixyfWxldCBlPWEucGF0aG5hbWUsdD0tMTtmb3IoOysrdDxlLmxlbmd0aDspaWYoZS5jb2RlUG9pbnRBdCh0KT09PTM3JiZlLmNvZGVQb2ludEF0KHQrMSk9PT01MCl7bGV0IHI9ZS5jb2RlUG9pbnRBdCh0KzIpO2lmKHI9PT03MHx8cj09PTEwMil7bGV0IGk9bmV3IFR5cGVFcnJvcigiRmlsZSBVUkwgcGF0aCBtdXN0IG5vdCBpbmNsdWRlIGVuY29kZWQgLyBjaGFyYWN0ZXJzIik7dGhyb3cgaS5jb2RlPSJFUlJfSU5WQUxJRF9GSUxFX1VSTF9QQVRIIixpfX1yZXR1cm4gZGVjb2RlVVJJQ29tcG9uZW50KGUpfXZhciBKM3Q9ZigoKT0+e1cwZSgpO1cwZSgpO3MoUTN0LCJ1cmxUb1BhdGgiKTtzKFp4YSwiZ2V0UGF0aEZyb21VUkxQb3NpeCIpfSk7ZnVuY3Rpb24gWTBlKGEsZSl7aWYoYSYmYS5pbmNsdWRlcyhiMS5zZXApKXRocm93IG5ldyBFcnJvcigiYCIrZSsiYCBjYW5ub3QgYmUgYSBwYXRoOiBkaWQgbm90IGV4cGVjdCBgIitiMS5zZXArImAiKX1mdW5jdGlvbiBLMGUoYSxlKXtpZighYSl0aHJvdyBuZXcgRXJyb3IoImAiK2UrImAgY2Fubm90IGJlIGVtcHR5Iil9ZnVuY3Rpb24gZWR0KGEsZSl7aWYoIWEpdGhyb3cgbmV3IEVycm9yKCJTZXR0aW5nIGAiK2UrImAgcmVxdWlyZXMgYHBhdGhgIHRvIGJlIHNldCB0b28iKX1mdW5jdGlvbiBYeGEoYSl7cmV0dXJuISEoYSYmdHlwZW9mIGE9PSJvYmplY3QiJiYiYnl0ZUxlbmd0aCJpbiBhJiYiYnl0ZU9mZnNldCJpbiBhKX12YXIgRzBlLEJnLHRkdD1mKCgpPT57WTN0KCk7SzN0KCk7WDN0KCk7SjN0KCk7RzBlPVsiaGlzdG9yeSIsInBhdGgiLCJiYXNlbmFtZSIsInN0ZW0iLCJleHRuYW1lIiwiZGlybmFtZSJdLEJnPWNsYXNze3N0YXRpY3tzKHRoaXMsIlZGaWxlIil9Y29uc3RydWN0b3IoZSl7bGV0IHQ7ZT9iOChlKT90PXtwYXRoOmV9OnR5cGVvZiBlPT0ic3RyaW5nInx8WHhhKGUpP3Q9e3ZhbHVlOmV9OnQ9ZTp0PXt9LHRoaXMuY3dkPSJjd2QiaW4gdD8iIjpaM3QuY3dkKCksdGhpcy5kYXRhPXt9LHRoaXMuaGlzdG9yeT1bXSx0aGlzLm1lc3NhZ2VzPVtdLHRoaXMudmFsdWUsdGhpcy5tYXAsdGhpcy5yZXN1bHQsdGhpcy5zdG9yZWQ7bGV0IHI9LTE7Zm9yKDsrK3I8RzBlLmxlbmd0aDspe2xldCBvPUcwZVtyXTtvIGluIHQmJnRbb10hPT12b2lkIDAmJnRbb10hPT1udWxsJiYodGhpc1tvXT1vPT09Imhpc3RvcnkiP1suLi50W29dXTp0W29dKX1sZXQgaTtmb3IoaSBpbiB0KUcwZS5pbmNsdWRlcyhpKXx8KHRoaXNbaV09dFtpXSl9Z2V0IGJhc2VuYW1lKCl7cmV0dXJuIHR5cGVvZiB0aGlzLnBhdGg9PSJzdHJpbmciP2IxLmJhc2VuYW1lKHRoaXMucGF0aCk6dm9pZCAwfXNldCBiYXNlbmFtZShlKXtLMGUoZSwiYmFzZW5hbWUiKSxZMGUoZSwiYmFzZW5hbWUiKSx0aGlzLnBhdGg9YjEuam9pbih0aGlzLmRpcm5hbWV8fCIiLGUpfWdldCBkaXJuYW1lKCl7cmV0dXJuIHR5cGVvZiB0aGlzLnBhdGg9PSJzdHJpbmciP2IxLmRpcm5hbWUodGhpcy5wYXRoKTp2b2lkIDB9c2V0IGRpcm5hbWUoZSl7ZWR0KHRoaXMuYmFzZW5hbWUsImRpcm5hbWUiKSx0aGlzLnBhdGg9YjEuam9pbihlfHwiIix0aGlzLmJhc2VuYW1lKX1nZXQgZXh0bmFtZSgpe3JldHVybiB0eXBlb2YgdGhpcy5wYXRoPT0ic3RyaW5nIj9iMS5leHRuYW1lKHRoaXMucGF0aCk6dm9pZCAwfXNldCBleHRuYW1lKGUpe2lmKFkwZShlLCJleHRuYW1lIiksZWR0KHRoaXMuZGlybmFtZSwiZXh0bmFtZSIpLGUpe2lmKGUuY29kZVBvaW50QXQoMCkhPT00Nil0aHJvdyBuZXcgRXJyb3IoImBleHRuYW1lYCBtdXN0IHN0YXJ0IHdpdGggYC5gIik7aWYoZS5pbmNsdWRlcygiLiIsMSkpdGhyb3cgbmV3IEVycm9yKCJgZXh0bmFtZWAgY2Fubm90IGNvbnRhaW4gbXVsdGlwbGUgZG90cyIpfXRoaXMucGF0aD1iMS5qb2luKHRoaXMuZGlybmFtZSx0aGlzLnN0ZW0rKGV8fCIiKSl9Z2V0IHBhdGgoKXtyZXR1cm4gdGhpcy5oaXN0b3J5W3RoaXMuaGlzdG9yeS5sZW5ndGgtMV19c2V0IHBhdGgoZSl7YjgoZSkmJihlPVEzdChlKSksSzBlKGUsInBhdGgiKSx0aGlzLnBhdGghPT1lJiZ0aGlzLmhpc3RvcnkucHVzaChlKX1nZXQgc3RlbSgpe3JldHVybiB0eXBlb2YgdGhpcy5wYXRoPT0ic3RyaW5nIj9iMS5iYXNlbmFtZSh0aGlzLnBhdGgsdGhpcy5leHRuYW1lKTp2b2lkIDB9c2V0IHN0ZW0oZSl7SzBlKGUsInN0ZW0iKSxZMGUoZSwic3RlbSIpLHRoaXMucGF0aD1iMS5qb2luKHRoaXMuZGlybmFtZXx8IiIsZSsodGhpcy5leHRuYW1lfHwiIikpfWZhaWwoZSx0LHIpe2xldCBpPXRoaXMubWVzc2FnZShlLHQscik7dGhyb3cgaS5mYXRhbD0hMCxpfWluZm8oZSx0LHIpe2xldCBpPXRoaXMubWVzc2FnZShlLHQscik7cmV0dXJuIGkuZmF0YWw9dm9pZCAwLGl9bWVzc2FnZShlLHQscil7bGV0IGk9bmV3IEhzKGUsdCxyKTtyZXR1cm4gdGhpcy5wYXRoJiYoaS5uYW1lPXRoaXMucGF0aCsiOiIraS5uYW1lLGkuZmlsZT10aGlzLnBhdGgpLGkuZmF0YWw9ITEsdGhpcy5tZXNzYWdlcy5wdXNoKGkpLGl9dG9TdHJpbmcoZSl7cmV0dXJuIHRoaXMudmFsdWU9PT12b2lkIDA/IiI6dHlwZW9mIHRoaXMudmFsdWU9PSJzdHJpbmciP3RoaXMudmFsdWU6bmV3IFRleHREZWNvZGVyKGV8fHZvaWQgMCkuZGVjb2RlKHRoaXMudmFsdWUpfX07cyhZMGUsImFzc2VydFBhcnQiKTtzKEswZSwiYXNzZXJ0Tm9uRW1wdHkiKTtzKGVkdCwiYXNzZXJ0UGF0aCIpO3MoWHhhLCJpc1VpbnQ4QXJyYXkiKX0pO3ZhciBhZHQ9ZigoKT0+e3RkdCgpfSk7dmFyIHJkdCxzZHQ9ZigoKT0+e3JkdD1zKChmdW5jdGlvbihhKXtsZXQgcj10aGlzLmNvbnN0cnVjdG9yLnByb3RvdHlwZSxpPXJbYV0sbz1zKGZ1bmN0aW9uKCl7cmV0dXJuIGkuYXBwbHkobyxhcmd1bWVudHMpfSwiYXBwbHkiKTtyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mKG8sciksb30pLCJDYWxsYWJsZUluc3RhbmNlIil9KTtmdW5jdGlvbiBYMGUoYSxlKXtpZih0eXBlb2YgZSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYCIrYSsiYCB3aXRob3V0IGBwYXJzZXJgIil9ZnVuY3Rpb24gUTBlKGEsZSl7aWYodHlwZW9mIGUhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGAiK2ErImAgd2l0aG91dCBgY29tcGlsZXJgIil9ZnVuY3Rpb24gSjBlKGEsZSl7aWYoZSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBjYWxsIGAiK2ErImAgb24gYSBmcm96ZW4gcHJvY2Vzc29yLlxuQ3JlYXRlIGEgbmV3IHByb2Nlc3NvciBmaXJzdCwgYnkgY2FsbGluZyBpdDogdXNlIGBwcm9jZXNzb3IoKWAgaW5zdGVhZCBvZiBgcHJvY2Vzc29yYC4iKX1mdW5jdGlvbiBpZHQoYSl7aWYoIU9nKGEpfHx0eXBlb2YgYS50eXBlIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBub2RlLCBnb3QgYCIrYSsiYCIpfWZ1bmN0aW9uIG9kdChhLGUsdCl7aWYoIXQpdGhyb3cgbmV3IEVycm9yKCJgIithKyJgIGZpbmlzaGVkIGFzeW5jLiBVc2UgYCIrZSsiYCBpbnN0ZWFkIil9ZnVuY3Rpb24gdVEoYSl7cmV0dXJuIEp4YShhKT9hOm5ldyBCZyhhKX1mdW5jdGlvbiBKeGEoYSl7cmV0dXJuISEoYSYmdHlwZW9mIGE9PSJvYmplY3QiJiYibWVzc2FnZSJpbiBhJiYibWVzc2FnZXMiaW4gYSl9ZnVuY3Rpb24gZXlhKGEpe3JldHVybiB0eXBlb2YgYT09InN0cmluZyJ8fHR5YShhKX1mdW5jdGlvbiB0eWEoYSl7cmV0dXJuISEoYSYmdHlwZW9mIGE9PSJvYmplY3QiJiYiYnl0ZUxlbmd0aCJpbiBhJiYiYnl0ZU9mZnNldCJpbiBhKX12YXIgcFEsUXhhLFowZSxIZyxuZHQ9ZigoKT0+eyQzdCgpO3BRPUZpKEYzdCgpLDEpO0YwKCk7QjN0KCk7VjN0KCk7YWR0KCk7c2R0KCk7UXhhPXt9Lmhhc093blByb3BlcnR5LFowZT1jbGFzcyBhIGV4dGVuZHMgcmR0e3N0YXRpY3tzKHRoaXMsIlByb2Nlc3NvciIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoImNvcHkiKSx0aGlzLkNvbXBpbGVyPXZvaWQgMCx0aGlzLlBhcnNlcj12b2lkIDAsdGhpcy5hdHRhY2hlcnM9W10sdGhpcy5jb21waWxlcj12b2lkIDAsdGhpcy5mcmVlemVJbmRleD0tMSx0aGlzLmZyb3plbj12b2lkIDAsdGhpcy5uYW1lc3BhY2U9e30sdGhpcy5wYXJzZXI9dm9pZCAwLHRoaXMudHJhbnNmb3JtZXJzPVYwZSgpfWNvcHkoKXtsZXQgZT1uZXcgYSx0PS0xO2Zvcig7Kyt0PHRoaXMuYXR0YWNoZXJzLmxlbmd0aDspe2xldCByPXRoaXMuYXR0YWNoZXJzW3RdO2UudXNlKC4uLnIpfXJldHVybiBlLmRhdGEoKDAscFEuZGVmYXVsdCkoITAse30sdGhpcy5uYW1lc3BhY2UpKSxlfWRhdGEoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PSJzdHJpbmciP2FyZ3VtZW50cy5sZW5ndGg9PT0yPyhKMGUoImRhdGEiLHRoaXMuZnJvemVuKSx0aGlzLm5hbWVzcGFjZVtlXT10LHRoaXMpOlF4YS5jYWxsKHRoaXMubmFtZXNwYWNlLGUpJiZ0aGlzLm5hbWVzcGFjZVtlXXx8dm9pZCAwOmU/KEowZSgiZGF0YSIsdGhpcy5mcm96ZW4pLHRoaXMubmFtZXNwYWNlPWUsdGhpcyk6dGhpcy5uYW1lc3BhY2V9ZnJlZXplKCl7aWYodGhpcy5mcm96ZW4pcmV0dXJuIHRoaXM7bGV0IGU9dGhpcztmb3IoOysrdGhpcy5mcmVlemVJbmRleDx0aGlzLmF0dGFjaGVycy5sZW5ndGg7KXtsZXRbdCwuLi5yXT10aGlzLmF0dGFjaGVyc1t0aGlzLmZyZWV6ZUluZGV4XTtpZihyWzBdPT09ITEpY29udGludWU7clswXT09PSEwJiYoclswXT12b2lkIDApO2xldCBpPXQuY2FsbChlLC4uLnIpO3R5cGVvZiBpPT0iZnVuY3Rpb24iJiZ0aGlzLnRyYW5zZm9ybWVycy51c2UoaSl9cmV0dXJuIHRoaXMuZnJvemVuPSEwLHRoaXMuZnJlZXplSW5kZXg9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHRoaXN9cGFyc2UoZSl7dGhpcy5mcmVlemUoKTtsZXQgdD11UShlKSxyPXRoaXMucGFyc2VyfHx0aGlzLlBhcnNlcjtyZXR1cm4gWDBlKCJwYXJzZSIscikscihTdHJpbmcodCksdCl9cHJvY2VzcyhlLHQpe2xldCByPXRoaXM7cmV0dXJuIHRoaXMuZnJlZXplKCksWDBlKCJwcm9jZXNzIix0aGlzLnBhcnNlcnx8dGhpcy5QYXJzZXIpLFEwZSgicHJvY2VzcyIsdGhpcy5jb21waWxlcnx8dGhpcy5Db21waWxlciksdD9pKHZvaWQgMCx0KTpuZXcgUHJvbWlzZShpKTtmdW5jdGlvbiBpKG8sbil7bGV0IGw9dVEoZSksZD1yLnBhcnNlKGwpO3IucnVuKGQsbCxmdW5jdGlvbihwLHUsbSl7aWYocHx8IXV8fCFtKXJldHVybiBjKHApO2xldCB2PXUseD1yLnN0cmluZ2lmeSh2LG0pO2V5YSh4KT9tLnZhbHVlPXg6bS5yZXN1bHQ9eCxjKHAsbSl9KTtmdW5jdGlvbiBjKHAsdSl7cHx8IXU/bihwKTpvP28odSk6dCh2b2lkIDAsdSl9cyhjLCJyZWFsRG9uZSIpfXMoaSwiZXhlY3V0b3IiKX1wcm9jZXNzU3luYyhlKXtsZXQgdD0hMSxyO3JldHVybiB0aGlzLmZyZWV6ZSgpLFgwZSgicHJvY2Vzc1N5bmMiLHRoaXMucGFyc2VyfHx0aGlzLlBhcnNlciksUTBlKCJwcm9jZXNzU3luYyIsdGhpcy5jb21waWxlcnx8dGhpcy5Db21waWxlciksdGhpcy5wcm9jZXNzKGUsaSksb2R0KCJwcm9jZXNzU3luYyIsInByb2Nlc3MiLHQpLHI7ZnVuY3Rpb24gaShvLG4pe3Q9ITAscTBlKG8pLHI9bn1zKGksInJlYWxEb25lIil9cnVuKGUsdCxyKXtpZHQoZSksdGhpcy5mcmVlemUoKTtsZXQgaT10aGlzLnRyYW5zZm9ybWVycztyZXR1cm4hciYmdHlwZW9mIHQ9PSJmdW5jdGlvbiImJihyPXQsdD12b2lkIDApLHI/byh2b2lkIDAscik6bmV3IFByb21pc2Uobyk7ZnVuY3Rpb24gbyhuLGwpe2xldCBkPXVRKHQpO2kucnVuKGUsZCxjKTtmdW5jdGlvbiBjKHAsdSxtKXtsZXQgdj11fHxlO3A/bChwKTpuP24odik6cih2b2lkIDAsdixtKX1zKGMsInJlYWxEb25lIil9cyhvLCJleGVjdXRvciIpfXJ1blN5bmMoZSx0KXtsZXQgcj0hMSxpO3JldHVybiB0aGlzLnJ1bihlLHQsbyksb2R0KCJydW5TeW5jIiwicnVuIixyKSxpO2Z1bmN0aW9uIG8obixsKXtxMGUobiksaT1sLHI9ITB9cyhvLCJyZWFsRG9uZSIpfXN0cmluZ2lmeShlLHQpe3RoaXMuZnJlZXplKCk7bGV0IHI9dVEodCksaT10aGlzLmNvbXBpbGVyfHx0aGlzLkNvbXBpbGVyO3JldHVybiBRMGUoInN0cmluZ2lmeSIsaSksaWR0KGUpLGkoZSxyKX11c2UoZSwuLi50KXtsZXQgcj10aGlzLmF0dGFjaGVycyxpPXRoaXMubmFtZXNwYWNlO2lmKEowZSgidXNlIix0aGlzLmZyb3plbiksZSE9bnVsbClpZih0eXBlb2YgZT09ImZ1bmN0aW9uIilkKGUsdCk7ZWxzZSBpZih0eXBlb2YgZT09Im9iamVjdCIpQXJyYXkuaXNBcnJheShlKT9sKGUpOm4oZSk7ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCB1c2FibGUgdmFsdWUsIG5vdCBgIitlKyJgIik7cmV0dXJuIHRoaXM7ZnVuY3Rpb24gbyhjKXtpZih0eXBlb2YgYz09ImZ1bmN0aW9uIilkKGMsW10pO2Vsc2UgaWYodHlwZW9mIGM9PSJvYmplY3QiKWlmKEFycmF5LmlzQXJyYXkoYykpe2xldFtwLC4uLnVdPWM7ZChwLHUpfWVsc2UgbihjKTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIkV4cGVjdGVkIHVzYWJsZSB2YWx1ZSwgbm90IGAiK2MrImAiKX1mdW5jdGlvbiBuKGMpe2lmKCEoInBsdWdpbnMiaW4gYykmJiEoInNldHRpbmdzImluIGMpKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgdXNhYmxlIHZhbHVlIGJ1dCByZWNlaXZlZCBhbiBlbXB0eSBwcmVzZXQsIHdoaWNoIGlzIHByb2JhYmx5IGEgbWlzdGFrZTogcHJlc2V0cyB0eXBpY2FsbHkgY29tZSB3aXRoIGBwbHVnaW5zYCBhbmQgc29tZXRpbWVzIHdpdGggYHNldHRpbmdzYCwgYnV0IHRoaXMgaGFzIG5laXRoZXIiKTtsKGMucGx1Z2lucyksYy5zZXR0aW5ncyYmKGkuc2V0dGluZ3M9KDAscFEuZGVmYXVsdCkoITAsaS5zZXR0aW5ncyxjLnNldHRpbmdzKSl9ZnVuY3Rpb24gbChjKXtsZXQgcD0tMTtpZihjIT1udWxsKWlmKEFycmF5LmlzQXJyYXkoYykpZm9yKDsrK3A8Yy5sZW5ndGg7KXtsZXQgdT1jW3BdO28odSl9ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBhIGxpc3Qgb2YgcGx1Z2lucywgbm90IGAiK2MrImAiKX1mdW5jdGlvbiBkKGMscCl7bGV0IHU9LTEsbT0tMTtmb3IoOysrdTxyLmxlbmd0aDspaWYoclt1XVswXT09PWMpe209dTticmVha31pZihtPT09LTEpci5wdXNoKFtjLC4uLnBdKTtlbHNlIGlmKHAubGVuZ3RoPjApe2xldFt2LC4uLnhdPXAsYj1yW21dWzFdO09nKGIpJiZPZyh2KSYmKHY9KDAscFEuZGVmYXVsdCkoITAsYix2KSksclttXT1bYyx2LC4uLnhdfX19fSxIZz1uZXcgWjBlKCkuZnJlZXplKCk7cyhYMGUsImFzc2VydFBhcnNlciIpO3MoUTBlLCJhc3NlcnRDb21waWxlciIpO3MoSjBlLCJhc3NlcnRVbmZyb3plbiIpO3MoaWR0LCJhc3NlcnROb2RlIik7cyhvZHQsImFzc2VydERvbmUiKTtzKHVRLCJ2ZmlsZSIpO3MoSnhhLCJsb29rc0xpa2VBVkZpbGUiKTtzKGV5YSwibG9va3NMaWtlQVZhbHVlIik7cyh0eWEsImlzVWludDhBcnJheSIpfSk7dmFyIGxkdD1mKCgpPT57bmR0KCl9KTtmdW5jdGlvbiB4OChhLGUpe2xldCB0PVN0cmluZyhhKTtpZih0eXBlb2YgZSE9InN0cmluZyIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRXhwZWN0ZWQgY2hhcmFjdGVyIik7bGV0IHI9MCxpPXQuaW5kZXhPZihlKTtmb3IoO2khPT0tMTspcisrLGk9dC5pbmRleE9mKGUsaStlLmxlbmd0aCk7cmV0dXJuIHJ9dmFyIGU0ZT1mKCgpPT57cyh4OCwiY2NvdW50Iil9KTtmdW5jdGlvbiBWMyhhKXtyZXR1cm4gYSE9PW51bGwmJihhPDMyfHxhPT09MTI3KX1mdW5jdGlvbiBKZShhKXtyZXR1cm4gYSE9PW51bGwmJmE8LTJ9ZnVuY3Rpb24gdWEoYSl7cmV0dXJuIGEhPT1udWxsJiYoYTwwfHxhPT09MzIpfWZ1bmN0aW9uIHp0KGEpe3JldHVybiBhPT09LTJ8fGE9PT0tMXx8YT09PTMyfWZ1bmN0aW9uIEgwKGEpe3JldHVybiBlO2Z1bmN0aW9uIGUodCl7cmV0dXJuIHQhPT1udWxsJiZ0Pi0xJiZhLnRlc3QoU3RyaW5nLmZyb21DaGFyQ29kZSh0KSl9fXZhciBUcyxQcixjZHQscWcsZGR0LHVkdCxqMyxEMixiYT1mKCgpPT57VHM9SDAoL1tBLVphLXpdLyksUHI9SDAoL1tcZEEtWmEtel0vKSxjZHQ9SDAoL1sjLScqK1wtLTk9P0EtWl4tfl0vKTtzKFYzLCJhc2NpaUNvbnRyb2wiKTtxZz1IMCgvXGQvKSxkZHQ9SDAoL1tcZEEtRmEtZl0vKSx1ZHQ9SDAoL1shLS86LUBbLWB7LX5dLyk7cyhKZSwibWFya2Rvd25MaW5lRW5kaW5nIik7cyh1YSwibWFya2Rvd25MaW5lRW5kaW5nT3JTcGFjZSIpO3MoenQsIm1hcmtkb3duU3BhY2UiKTtqMz1IMCgvXHB7UH18XHB7U30vdSksRDI9SDAoL1xzLyk7cyhIMCwicmVnZXhDaGVjayIpfSk7ZnVuY3Rpb24gYXlhKGEpe2xldCBlPVtdLHQ9LTE7Zm9yKDsrK3Q8YS5sZW5ndGg7KWVbdF09cWwoYVt0XSk7cmV0dXJuIGZRKHIpO2Z1bmN0aW9uIHIoLi4uaSl7bGV0IG89LTE7Zm9yKDsrK288ZS5sZW5ndGg7KWlmKGVbb10uYXBwbHkodGhpcyxpKSlyZXR1cm4hMDtyZXR1cm4hMX19ZnVuY3Rpb24gcnlhKGEpe2xldCBlPWE7cmV0dXJuIGZRKHQpO2Z1bmN0aW9uIHQocil7bGV0IGk9cixvO2ZvcihvIGluIGEpaWYoaVtvXSE9PWVbb10pcmV0dXJuITE7cmV0dXJuITB9fWZ1bmN0aW9uIHN5YShhKXtyZXR1cm4gZlEoZSk7ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCYmdC50eXBlPT09YX19ZnVuY3Rpb24gZlEoYSl7cmV0dXJuIGU7ZnVuY3Rpb24gZSh0LHIsaSl7cmV0dXJuISEocGR0KHQpJiZhLmNhbGwodGhpcyx0LHR5cGVvZiByPT0ibnVtYmVyIj9yOnZvaWQgMCxpfHx2b2lkIDApKX19ZnVuY3Rpb24gaXlhKCl7cmV0dXJuITB9ZnVuY3Rpb24gcGR0KGEpe3JldHVybiBhIT09bnVsbCYmdHlwZW9mIGE9PSJvYmplY3QiJiYidHlwZSJpbiBhfXZhciBmZHQscWwsaGR0PWYoKCk9PntmZHQ9cygoZnVuY3Rpb24oYSxlLHQscixpKXtsZXQgbz1xbChlKTtpZih0IT1udWxsJiYodHlwZW9mIHQhPSJudW1iZXIifHx0PDB8fHQ9PT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgcG9zaXRpdmUgZmluaXRlIGluZGV4Iik7aWYociE9bnVsbCYmKCFmZHQocil8fCFyLmNoaWxkcmVuKSl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIHBhcmVudCBub2RlIik7aWYocj09bnVsbCE9KHQ9PW51bGwpKXRocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgYm90aCBwYXJlbnQgYW5kIGluZGV4Iik7cmV0dXJuIHBkdChhKT9vLmNhbGwoaSxhLHQscik6ITF9KSwiaXMiKSxxbD1zKChmdW5jdGlvbihhKXtpZihhPT1udWxsKXJldHVybiBpeWE7aWYodHlwZW9mIGE9PSJmdW5jdGlvbiIpcmV0dXJuIGZRKGEpO2lmKHR5cGVvZiBhPT0ib2JqZWN0IilyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9heWEoYSk6cnlhKGEpO2lmKHR5cGVvZiBhPT0ic3RyaW5nIilyZXR1cm4gc3lhKGEpO3Rocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgZnVuY3Rpb24sIHN0cmluZywgb3Igb2JqZWN0IGFzIHRlc3QiKX0pLCJjb252ZXJ0Iik7cyhheWEsImFueUZhY3RvcnkiKTtzKHJ5YSwicHJvcGVydGllc0ZhY3RvcnkiKTtzKHN5YSwidHlwZUZhY3RvcnkiKTtzKGZRLCJjYXN0RmFjdG9yeSIpO3MoaXlhLCJvayIpO3MocGR0LCJsb29rc0xpa2VBTm9kZSIpfSk7dmFyIGhRPWYoKCk9PntoZHQoKX0pO3ZhciBtZHQ9ZigoKT0+e30pO2Z1bmN0aW9uIFZnKGEsZSx0LHIpe2xldCBpO3R5cGVvZiBlPT0iZnVuY3Rpb24iJiZ0eXBlb2YgdCE9ImZ1bmN0aW9uIj8ocj10LHQ9ZSk6aT1lO2xldCBvPXFsKGkpLG49cj8tMToxO2woYSx2b2lkIDAsW10pKCk7ZnVuY3Rpb24gbChkLGMscCl7bGV0IHU9ZCYmdHlwZW9mIGQ9PSJvYmplY3QiP2Q6e307aWYodHlwZW9mIHUudHlwZT09InN0cmluZyIpe2xldCB2PXR5cGVvZiB1LnRhZ05hbWU9PSJzdHJpbmciP3UudGFnTmFtZTp0eXBlb2YgdS5uYW1lPT0ic3RyaW5nIj91Lm5hbWU6dm9pZCAwO09iamVjdC5kZWZpbmVQcm9wZXJ0eShtLCJuYW1lIix7dmFsdWU6Im5vZGUgKCIrKGQudHlwZSsodj8iPCIrdisiPiI6IiIpKSsiKSJ9KX1yZXR1cm4gbTtmdW5jdGlvbiBtKCl7bGV0IHY9Z2R0LHgsYixnO2lmKCghZXx8byhkLGMscFtwLmxlbmd0aC0xXXx8dm9pZCAwKSkmJih2PW95YSh0KGQscCkpLHZbMF09PT1VMykpcmV0dXJuIHY7aWYoImNoaWxkcmVuImluIGQmJmQuY2hpbGRyZW4pe2xldCB5PWQ7aWYoeS5jaGlsZHJlbiYmdlswXSE9PWdRKWZvcihiPShyP3kuY2hpbGRyZW4ubGVuZ3RoOi0xKStuLGc9cC5jb25jYXQoeSk7Yj4tMSYmYjx5LmNoaWxkcmVuLmxlbmd0aDspe2xldCBrPXkuY2hpbGRyZW5bYl07aWYoeD1sKGssYixnKSgpLHhbMF09PT1VMylyZXR1cm4geDtiPXR5cGVvZiB4WzFdPT0ibnVtYmVyIj94WzFdOmIrbn19cmV0dXJuIHZ9fXMobCwiZmFjdG9yeSIpfWZ1bmN0aW9uIG95YShhKXtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9hOnR5cGVvZiBhPT0ibnVtYmVyIj9bbVEsYV06YT09bnVsbD9nZHQ6W2FdfXZhciBnZHQsbVEsVTMsZ1EsYmR0PWYoKCk9PntoUSgpO21kdCgpO2dkdD1bXSxtUT0hMCxVMz0hMSxnUT0ic2tpcCI7cyhWZywidmlzaXRQYXJlbnRzIik7cyhveWEsInRvUmVzdWx0Iil9KTt2YXIgYlE9ZigoKT0+e2JkdCgpfSk7ZnVuY3Rpb24gdDRlKGEsZSx0KXtsZXQgaT1xbCgodHx8e30pLmlnbm9yZXx8W10pLG89bnlhKGUpLG49LTE7Zm9yKDsrK248by5sZW5ndGg7KVZnKGEsInRleHQiLGwpO2Z1bmN0aW9uIGwoYyxwKXtsZXQgdT0tMSxtO2Zvcig7Kyt1PHAubGVuZ3RoOyl7bGV0IHY9cFt1XSx4PW0/bS5jaGlsZHJlbjp2b2lkIDA7aWYoaSh2LHg/eC5pbmRleE9mKHYpOnZvaWQgMCxtKSlyZXR1cm47bT12fWlmKG0pcmV0dXJuIGQoYyxwKX1zKGwsInZpc2l0b3IiKTtmdW5jdGlvbiBkKGMscCl7bGV0IHU9cFtwLmxlbmd0aC0xXSxtPW9bbl1bMF0sdj1vW25dWzFdLHg9MCxnPXUuY2hpbGRyZW4uaW5kZXhPZihjKSx5PSExLGs9W107bS5sYXN0SW5kZXg9MDtsZXQgQz1tLmV4ZWMoYy52YWx1ZSk7Zm9yKDtDOyl7bGV0IE49Qy5pbmRleCxfPXtpbmRleDpDLmluZGV4LGlucHV0OkMuaW5wdXQsc3RhY2s6Wy4uLnAsY119LHo9diguLi5DLF8pO2lmKHR5cGVvZiB6PT0ic3RyaW5nIiYmKHo9ei5sZW5ndGg+MD97dHlwZToidGV4dCIsdmFsdWU6en06dm9pZCAwKSx6PT09ITE/bS5sYXN0SW5kZXg9TisxOih4IT09TiYmay5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpjLnZhbHVlLnNsaWNlKHgsTil9KSxBcnJheS5pc0FycmF5KHopP2sucHVzaCguLi56KTp6JiZrLnB1c2goeikseD1OK0NbMF0ubGVuZ3RoLHk9ITApLCFtLmdsb2JhbClicmVhaztDPW0uZXhlYyhjLnZhbHVlKX1yZXR1cm4geT8oeDxjLnZhbHVlLmxlbmd0aCYmay5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpjLnZhbHVlLnNsaWNlKHgpfSksdS5jaGlsZHJlbi5zcGxpY2UoZywxLC4uLmspKTprPVtjXSxnK2subGVuZ3RofXMoZCwiaGFuZGxlciIpfWZ1bmN0aW9uIG55YShhKXtsZXQgZT1bXTtpZighQXJyYXkuaXNBcnJheShhKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBmaW5kIGFuZCByZXBsYWNlIHR1cGxlIG9yIGxpc3Qgb2YgdHVwbGVzIik7bGV0IHQ9IWFbMF18fEFycmF5LmlzQXJyYXkoYVswXSk/YTpbYV0scj0tMTtmb3IoOysrcjx0Lmxlbmd0aDspe2xldCBpPXRbcl07ZS5wdXNoKFtseWEoaVswXSksY3lhKGlbMV0pXSl9cmV0dXJuIGV9ZnVuY3Rpb24gbHlhKGEpe3JldHVybiB0eXBlb2YgYT09InN0cmluZyI/bmV3IFJlZ0V4cChmMyhhKSwiZyIpOmF9ZnVuY3Rpb24gY3lhKGEpe3JldHVybiB0eXBlb2YgYT09ImZ1bmN0aW9uIj9hOmZ1bmN0aW9uKCl7cmV0dXJuIGF9fXZhciB2ZHQ9ZigoKT0+e1VZKCk7YlEoKTtoUSgpO3ModDRlLCJmaW5kQW5kUmVwbGFjZSIpO3MobnlhLCJ0b1BhaXJzIik7cyhseWEsInRvRXhwcmVzc2lvbiIpO3MoY3lhLCJ0b0Z1bmN0aW9uIil9KTt2YXIgeGR0PWYoKCk9Pnt2ZHQoKX0pO2Z1bmN0aW9uIGk0ZSgpe3JldHVybnt0cmFuc2Zvcm1zOltteWFdLGVudGVyOntsaXRlcmFsQXV0b2xpbms6ZHlhLGxpdGVyYWxBdXRvbGlua0VtYWlsOnM0ZSxsaXRlcmFsQXV0b2xpbmtIdHRwOnM0ZSxsaXRlcmFsQXV0b2xpbmtXd3c6czRlfSxleGl0OntsaXRlcmFsQXV0b2xpbms6aHlhLGxpdGVyYWxBdXRvbGlua0VtYWlsOmZ5YSxsaXRlcmFsQXV0b2xpbmtIdHRwOnV5YSxsaXRlcmFsQXV0b2xpbmtXd3c6cHlhfX19ZnVuY3Rpb24gbzRlKCl7cmV0dXJue3Vuc2FmZTpbe2NoYXJhY3RlcjoiQCIsYmVmb3JlOiJbK1xcLS5cXHddIixhZnRlcjoiW1xcLS5cXHddIixpbkNvbnN0cnVjdDphNGUsbm90SW5Db25zdHJ1Y3Q6cjRlfSx7Y2hhcmFjdGVyOiIuIixiZWZvcmU6IltXd10iLGFmdGVyOiJbXFwtLlxcd10iLGluQ29uc3RydWN0OmE0ZSxub3RJbkNvbnN0cnVjdDpyNGV9LHtjaGFyYWN0ZXI6IjoiLGJlZm9yZToiW3BzXSIsYWZ0ZXI6IlxcLyIsaW5Db25zdHJ1Y3Q6YTRlLG5vdEluQ29uc3RydWN0OnI0ZX1dfX1mdW5jdGlvbiBkeWEoYSl7dGhpcy5lbnRlcih7dHlwZToibGluayIsdGl0bGU6bnVsbCx1cmw6IiIsY2hpbGRyZW46W119LGEpfWZ1bmN0aW9uIHM0ZShhKXt0aGlzLmNvbmZpZy5lbnRlci5hdXRvbGlua1Byb3RvY29sLmNhbGwodGhpcyxhKX1mdW5jdGlvbiB1eWEoYSl7dGhpcy5jb25maWcuZXhpdC5hdXRvbGlua1Byb3RvY29sLmNhbGwodGhpcyxhKX1mdW5jdGlvbiBweWEoYSl7dGhpcy5jb25maWcuZXhpdC5kYXRhLmNhbGwodGhpcyxhKTtsZXQgZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2UudHlwZSxlLnVybD0iaHR0cDovLyIrdGhpcy5zbGljZVNlcmlhbGl6ZShhKX1mdW5jdGlvbiBmeWEoYSl7dGhpcy5jb25maWcuZXhpdC5hdXRvbGlua0VtYWlsLmNhbGwodGhpcyxhKX1mdW5jdGlvbiBoeWEoYSl7dGhpcy5leGl0KGEpfWZ1bmN0aW9uIG15YShhKXt0NGUoYSxbWy8oaHR0cHM/OlwvXC98d3d3KD89XC4pKShbLS5cd10rKShbXiBcdFxyXG5dKikvZ2ksZ3lhXSxbLyg/PD1efFxzfFxwe1B9fFxwe1N9KShbLS5cdytdKylAKFstXHddKyg/OlwuWy1cd10rKSspL2d1LGJ5YV1dLHtpZ25vcmU6WyJsaW5rIiwibGlua1JlZmVyZW5jZSJdfSl9ZnVuY3Rpb24gZ3lhKGEsZSx0LHIsaSl7bGV0IG89IiI7aWYoIXlkdChpKXx8KC9edy9pLnRlc3QoZSkmJih0PWUrdCxlPSIiLG89Imh0dHA6Ly8iKSwhdnlhKHQpKSlyZXR1cm4hMTtsZXQgbj14eWEodCtyKTtpZighblswXSlyZXR1cm4hMTtsZXQgbD17dHlwZToibGluayIsdGl0bGU6bnVsbCx1cmw6bytlK25bMF0sY2hpbGRyZW46W3t0eXBlOiJ0ZXh0Iix2YWx1ZTplK25bMF19XX07cmV0dXJuIG5bMV0/W2wse3R5cGU6InRleHQiLHZhbHVlOm5bMV19XTpsfWZ1bmN0aW9uIGJ5YShhLGUsdCxyKXtyZXR1cm4heWR0KHIsITApfHwvWy1cZF9dJC8udGVzdCh0KT8hMTp7dHlwZToibGluayIsdGl0bGU6bnVsbCx1cmw6Im1haWx0bzoiK2UrIkAiK3QsY2hpbGRyZW46W3t0eXBlOiJ0ZXh0Iix2YWx1ZTplKyJAIit0fV19fWZ1bmN0aW9uIHZ5YShhKXtsZXQgZT1hLnNwbGl0KCIuIik7cmV0dXJuIShlLmxlbmd0aDwyfHxlW2UubGVuZ3RoLTFdJiYoL18vLnRlc3QoZVtlLmxlbmd0aC0xXSl8fCEvW2EtekEtWlxkXS8udGVzdChlW2UubGVuZ3RoLTFdKSl8fGVbZS5sZW5ndGgtMl0mJigvXy8udGVzdChlW2UubGVuZ3RoLTJdKXx8IS9bYS16QS1aXGRdLy50ZXN0KGVbZS5sZW5ndGgtMl0pKSl9ZnVuY3Rpb24geHlhKGEpe2xldCBlPS9bISImJyksLjo7PD4/XF19XSskLy5leGVjKGEpO2lmKCFlKXJldHVyblthLHZvaWQgMF07YT1hLnNsaWNlKDAsZS5pbmRleCk7bGV0IHQ9ZVswXSxyPXQuaW5kZXhPZigiKSIpLGk9eDgoYSwiKCIpLG89eDgoYSwiKSIpO2Zvcig7ciE9PS0xJiZpPm87KWErPXQuc2xpY2UoMCxyKzEpLHQ9dC5zbGljZShyKzEpLHI9dC5pbmRleE9mKCIpIiksbysrO3JldHVyblthLHRdfWZ1bmN0aW9uIHlkdChhLGUpe2xldCB0PWEuaW5wdXQuY2hhckNvZGVBdChhLmluZGV4LTEpO3JldHVybihhLmluZGV4PT09MHx8RDIodCl8fGozKHQpKSYmKCFlfHx0IT09NDcpfXZhciBhNGUscjRlLHdkdD1mKCgpPT57ZTRlKCk7RjAoKTtiYSgpO3hkdCgpO2E0ZT0icGhyYXNpbmciLHI0ZT1bImF1dG9saW5rIiwibGluayIsImltYWdlIiwibGFiZWwiXTtzKGk0ZSwiZ2ZtQXV0b2xpbmtMaXRlcmFsRnJvbU1hcmtkb3duIik7cyhvNGUsImdmbUF1dG9saW5rTGl0ZXJhbFRvTWFya2Rvd24iKTtzKGR5YSwiZW50ZXJMaXRlcmFsQXV0b2xpbmsiKTtzKHM0ZSwiZW50ZXJMaXRlcmFsQXV0b2xpbmtWYWx1ZSIpO3ModXlhLCJleGl0TGl0ZXJhbEF1dG9saW5rSHR0cCIpO3MocHlhLCJleGl0TGl0ZXJhbEF1dG9saW5rV3d3Iik7cyhmeWEsImV4aXRMaXRlcmFsQXV0b2xpbmtFbWFpbCIpO3MoaHlhLCJleGl0TGl0ZXJhbEF1dG9saW5rIik7cyhteWEsInRyYW5zZm9ybUdmbUF1dG9saW5rTGl0ZXJhbHMiKTtzKGd5YSwiZmluZFVybCIpO3MoYnlhLCJmaW5kRW1haWwiKTtzKHZ5YSwiaXNDb3JyZWN0RG9tYWluIik7cyh4eWEsInNwbGl0VXJsIik7cyh5ZHQsInByZXZpb3VzIil9KTt2YXIgTWR0PWYoKCk9Pnt3ZHQoKX0pO2Z1bmN0aW9uIElyKGEpe3JldHVybiBhLnJlcGxhY2UoL1tcdFxuXHIgXSsvZywiICIpLnJlcGxhY2UoL14gfCAkL2csIiIpLnRvTG93ZXJDYXNlKCkudG9VcHBlckNhc2UoKX12YXIgcTA9ZigoKT0+e3MoSXIsIm5vcm1hbGl6ZUlkZW50aWZpZXIiKX0pO2Z1bmN0aW9uIHl5YSgpe3RoaXMuYnVmZmVyKCl9ZnVuY3Rpb24gd3lhKGEpe3RoaXMuZW50ZXIoe3R5cGU6ImZvb3Rub3RlUmVmZXJlbmNlIixpZGVudGlmaWVyOiIiLGxhYmVsOiIifSxhKX1mdW5jdGlvbiBNeWEoKXt0aGlzLmJ1ZmZlcigpfWZ1bmN0aW9uIGt5YShhKXt0aGlzLmVudGVyKHt0eXBlOiJmb290bm90ZURlZmluaXRpb24iLGlkZW50aWZpZXI6IiIsbGFiZWw6IiIsY2hpbGRyZW46W119LGEpfWZ1bmN0aW9uIFN5YShhKXtsZXQgZT10aGlzLnJlc3VtZSgpLHQ9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTt0LnR5cGUsdC5pZGVudGlmaWVyPUlyKHRoaXMuc2xpY2VTZXJpYWxpemUoYSkpLnRvTG93ZXJDYXNlKCksdC5sYWJlbD1lfWZ1bmN0aW9uIHp5YShhKXt0aGlzLmV4aXQoYSl9ZnVuY3Rpb24gQ3lhKGEpe2xldCBlPXRoaXMucmVzdW1lKCksdD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO3QudHlwZSx0LmlkZW50aWZpZXI9SXIodGhpcy5zbGljZVNlcmlhbGl6ZShhKSkudG9Mb3dlckNhc2UoKSx0LmxhYmVsPWV9ZnVuY3Rpb24gX3lhKGEpe3RoaXMuZXhpdChhKX1mdW5jdGlvbiBUeWEoKXtyZXR1cm4iWyJ9ZnVuY3Rpb24ga2R0KGEsZSx0LHIpe2xldCBpPXQuY3JlYXRlVHJhY2tlcihyKSxvPWkubW92ZSgiW14iKSxuPXQuZW50ZXIoImZvb3Rub3RlUmVmZXJlbmNlIiksbD10LmVudGVyKCJyZWZlcmVuY2UiKTtyZXR1cm4gbys9aS5tb3ZlKHQuc2FmZSh0LmFzc29jaWF0aW9uSWQoYSkse2FmdGVyOiJdIixiZWZvcmU6b30pKSxsKCksbigpLG8rPWkubW92ZSgiXSIpLG99ZnVuY3Rpb24gbjRlKCl7cmV0dXJue2VudGVyOntnZm1Gb290bm90ZUNhbGxTdHJpbmc6eXlhLGdmbUZvb3Rub3RlQ2FsbDp3eWEsZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmc6TXlhLGdmbUZvb3Rub3RlRGVmaW5pdGlvbjpreWF9LGV4aXQ6e2dmbUZvb3Rub3RlQ2FsbFN0cmluZzpTeWEsZ2ZtRm9vdG5vdGVDYWxsOnp5YSxnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbFN0cmluZzpDeWEsZ2ZtRm9vdG5vdGVEZWZpbml0aW9uOl95YX19fWZ1bmN0aW9uIGw0ZShhKXtsZXQgZT0hMTtyZXR1cm4gYSYmYS5maXJzdExpbmVCbGFuayYmKGU9ITApLHtoYW5kbGVyczp7Zm9vdG5vdGVEZWZpbml0aW9uOnQsZm9vdG5vdGVSZWZlcmVuY2U6a2R0fSx1bnNhZmU6W3tjaGFyYWN0ZXI6IlsiLGluQ29uc3RydWN0OlsibGFiZWwiLCJwaHJhc2luZyIsInJlZmVyZW5jZSJdfV19O2Z1bmN0aW9uIHQocixpLG8sbil7bGV0IGw9by5jcmVhdGVUcmFja2VyKG4pLGQ9bC5tb3ZlKCJbXiIpLGM9by5lbnRlcigiZm9vdG5vdGVEZWZpbml0aW9uIikscD1vLmVudGVyKCJsYWJlbCIpO3JldHVybiBkKz1sLm1vdmUoby5zYWZlKG8uYXNzb2NpYXRpb25JZChyKSx7YmVmb3JlOmQsYWZ0ZXI6Il0ifSkpLHAoKSxkKz1sLm1vdmUoIl06Iiksci5jaGlsZHJlbiYmci5jaGlsZHJlbi5sZW5ndGg+MCYmKGwuc2hpZnQoNCksZCs9bC5tb3ZlKChlP2AKYDoiICIpK28uaW5kZW50TGluZXMoby5jb250YWluZXJGbG93KHIsbC5jdXJyZW50KCkpLGU/U2R0Okx5YSkpKSxjKCksZH1zKHQsImZvb3Rub3RlRGVmaW5pdGlvbiIpfWZ1bmN0aW9uIEx5YShhLGUsdCl7cmV0dXJuIGU9PT0wP2E6U2R0KGEsZSx0KX1mdW5jdGlvbiBTZHQoYSxlLHQpe3JldHVybih0PyIiOiIgICAgIikrYX12YXIgemR0PWYoKCk9PntGMCgpO3EwKCk7a2R0LnBlZWs9VHlhO3MoeXlhLCJlbnRlckZvb3Rub3RlQ2FsbFN0cmluZyIpO3Mod3lhLCJlbnRlckZvb3Rub3RlQ2FsbCIpO3MoTXlhLCJlbnRlckZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsU3RyaW5nIik7cyhreWEsImVudGVyRm9vdG5vdGVEZWZpbml0aW9uIik7cyhTeWEsImV4aXRGb290bm90ZUNhbGxTdHJpbmciKTtzKHp5YSwiZXhpdEZvb3Rub3RlQ2FsbCIpO3MoQ3lhLCJleGl0Rm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmciKTtzKF95YSwiZXhpdEZvb3Rub3RlRGVmaW5pdGlvbiIpO3MoVHlhLCJmb290bm90ZVJlZmVyZW5jZVBlZWsiKTtzKGtkdCwiZm9vdG5vdGVSZWZlcmVuY2UiKTtzKG40ZSwiZ2ZtRm9vdG5vdGVGcm9tTWFya2Rvd24iKTtzKGw0ZSwiZ2ZtRm9vdG5vdGVUb01hcmtkb3duIik7cyhMeWEsIm1hcEV4Y2VwdEZpcnN0Iik7cyhTZHQsIm1hcEFsbCIpfSk7dmFyIENkdD1mKCgpPT57emR0KCl9KTtmdW5jdGlvbiBjNGUoKXtyZXR1cm57Y2FuQ29udGFpbkVvbHM6WyJkZWxldGUiXSxlbnRlcjp7c3RyaWtldGhyb3VnaDpEeWF9LGV4aXQ6e3N0cmlrZXRocm91Z2g6QXlhfX19ZnVuY3Rpb24gZDRlKCl7cmV0dXJue3Vuc2FmZTpbe2NoYXJhY3RlcjoifiIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDokeWF9XSxoYW5kbGVyczp7ZGVsZXRlOl9kdH19fWZ1bmN0aW9uIER5YShhKXt0aGlzLmVudGVyKHt0eXBlOiJkZWxldGUiLGNoaWxkcmVuOltdfSxhKX1mdW5jdGlvbiBBeWEoYSl7dGhpcy5leGl0KGEpfWZ1bmN0aW9uIF9kdChhLGUsdCxyKXtsZXQgaT10LmNyZWF0ZVRyYWNrZXIociksbz10LmVudGVyKCJzdHJpa2V0aHJvdWdoIiksbj1pLm1vdmUoIn5+Iik7cmV0dXJuIG4rPXQuY29udGFpbmVyUGhyYXNpbmcoYSx7Li4uaS5jdXJyZW50KCksYmVmb3JlOm4sYWZ0ZXI6In4ifSksbis9aS5tb3ZlKCJ+fiIpLG8oKSxufWZ1bmN0aW9uIEV5YSgpe3JldHVybiJ+In12YXIgJHlhLFRkdD1mKCgpPT57JHlhPVsiYXV0b2xpbmsiLCJkZXN0aW5hdGlvbkxpdGVyYWwiLCJkZXN0aW5hdGlvblJhdyIsInJlZmVyZW5jZSIsInRpdGxlUXVvdGUiLCJ0aXRsZUFwb3N0cm9waGUiXTtfZHQucGVlaz1FeWE7cyhjNGUsImdmbVN0cmlrZXRocm91Z2hGcm9tTWFya2Rvd24iKTtzKGQ0ZSwiZ2ZtU3RyaWtldGhyb3VnaFRvTWFya2Rvd24iKTtzKER5YSwiZW50ZXJTdHJpa2V0aHJvdWdoIik7cyhBeWEsImV4aXRTdHJpa2V0aHJvdWdoIik7cyhfZHQsImhhbmRsZURlbGV0ZSIpO3MoRXlhLCJwZWVrRGVsZXRlIil9KTt2YXIgTGR0PWYoKCk9PntUZHQoKX0pO2Z1bmN0aW9uIFB5YShhKXtyZXR1cm4gYS5sZW5ndGh9ZnVuY3Rpb24gRGR0KGEsZSl7bGV0IHQ9ZXx8e30scj0odC5hbGlnbnx8W10pLmNvbmNhdCgpLGk9dC5zdHJpbmdMZW5ndGh8fFB5YSxvPVtdLG49W10sbD1bXSxkPVtdLGM9MCxwPS0xO2Zvcig7KytwPGEubGVuZ3RoOyl7bGV0IGI9W10sZz1bXSx5PS0xO2ZvcihhW3BdLmxlbmd0aD5jJiYoYz1hW3BdLmxlbmd0aCk7Kyt5PGFbcF0ubGVuZ3RoOyl7bGV0IGs9SXlhKGFbcF1beV0pO2lmKHQuYWxpZ25EZWxpbWl0ZXJzIT09ITEpe2xldCBDPWkoayk7Z1t5XT1DLChkW3ldPT09dm9pZCAwfHxDPmRbeV0pJiYoZFt5XT1DKX1iLnB1c2goayl9bltwXT1iLGxbcF09Z31sZXQgdT0tMTtpZih0eXBlb2Ygcj09Im9iamVjdCImJiJsZW5ndGgiaW4gcilmb3IoOysrdTxjOylvW3VdPSRkdChyW3VdKTtlbHNle2xldCBiPSRkdChyKTtmb3IoOysrdTxjOylvW3VdPWJ9dT0tMTtsZXQgbT1bXSx2PVtdO2Zvcig7Kyt1PGM7KXtsZXQgYj1vW3VdLGc9IiIseT0iIjtiPT09OTk/KGc9IjoiLHk9IjoiKTpiPT09MTA4P2c9IjoiOmI9PT0xMTQmJih5PSI6Iik7bGV0IGs9dC5hbGlnbkRlbGltaXRlcnM9PT0hMT8xOk1hdGgubWF4KDEsZFt1XS1nLmxlbmd0aC15Lmxlbmd0aCksQz1nKyItIi5yZXBlYXQoaykreTt0LmFsaWduRGVsaW1pdGVycyE9PSExJiYoaz1nLmxlbmd0aCtrK3kubGVuZ3RoLGs+ZFt1XSYmKGRbdV09ayksdlt1XT1rKSxtW3VdPUN9bi5zcGxpY2UoMSwwLG0pLGwuc3BsaWNlKDEsMCx2KSxwPS0xO2xldCB4PVtdO2Zvcig7KytwPG4ubGVuZ3RoOyl7bGV0IGI9bltwXSxnPWxbcF07dT0tMTtsZXQgeT1bXTtmb3IoOysrdTxjOyl7bGV0IGs9Ylt1XXx8IiIsQz0iIixOPSIiO2lmKHQuYWxpZ25EZWxpbWl0ZXJzIT09ITEpe2xldCBfPWRbdV0tKGdbdV18fDApLHo9b1t1XTt6PT09MTE0P0M9IiAiLnJlcGVhdChfKTp6PT09OTk/XyUyPyhDPSIgIi5yZXBlYXQoXy8yKy41KSxOPSIgIi5yZXBlYXQoXy8yLS41KSk6KEM9IiAiLnJlcGVhdChfLzIpLE49Qyk6Tj0iICIucmVwZWF0KF8pfXQuZGVsaW1pdGVyU3RhcnQhPT0hMSYmIXUmJnkucHVzaCgifCIpLHQucGFkZGluZyE9PSExJiYhKHQuYWxpZ25EZWxpbWl0ZXJzPT09ITEmJms9PT0iIikmJih0LmRlbGltaXRlclN0YXJ0IT09ITF8fHUpJiZ5LnB1c2goIiAiKSx0LmFsaWduRGVsaW1pdGVycyE9PSExJiZ5LnB1c2goQykseS5wdXNoKGspLHQuYWxpZ25EZWxpbWl0ZXJzIT09ITEmJnkucHVzaChOKSx0LnBhZGRpbmchPT0hMSYmeS5wdXNoKCIgIiksKHQuZGVsaW1pdGVyRW5kIT09ITF8fHUhPT1jLTEpJiZ5LnB1c2goInwiKX14LnB1c2godC5kZWxpbWl0ZXJFbmQ9PT0hMT95LmpvaW4oIiIpLnJlcGxhY2UoLyArJC8sIiIpOnkuam9pbigiIikpfXJldHVybiB4LmpvaW4oYApgKX1mdW5jdGlvbiBJeWEoYSl7cmV0dXJuIGE9PW51bGw/IiI6U3RyaW5nKGEpfWZ1bmN0aW9uICRkdChhKXtsZXQgZT10eXBlb2YgYT09InN0cmluZyI/YS5jb2RlUG9pbnRBdCgwKTowO3JldHVybiBlPT09Njd8fGU9PT05OT85OTplPT09NzZ8fGU9PT0xMDg/MTA4OmU9PT04Mnx8ZT09PTExND8xMTQ6MH12YXIgQWR0PWYoKCk9PntzKFB5YSwiZGVmYXVsdFN0cmluZ0xlbmd0aCIpO3MoRGR0LCJtYXJrZG93blRhYmxlIik7cyhJeWEsInNlcmlhbGl6ZSIpO3MoJGR0LCJ0b0FsaWdubWVudCIpfSk7ZnVuY3Rpb24gdlEoYSxlKXtsZXQgdD1lfHx7fTtmdW5jdGlvbiByKGksLi4ubyl7bGV0IG49ci5pbnZhbGlkLGw9ci5oYW5kbGVycztpZihpJiZFZHQuY2FsbChpLGEpKXtsZXQgZD1TdHJpbmcoaVthXSk7bj1FZHQuY2FsbChsLGQpP2xbZF06ci51bmtub3dufWlmKG4pcmV0dXJuIG4uY2FsbCh0aGlzLGksLi4ubyl9cmV0dXJuIHMociwib25lIiksci5oYW5kbGVycz10LmhhbmRsZXJzfHx7fSxyLmludmFsaWQ9dC5pbnZhbGlkLHIudW5rbm93bj10LnVua25vd24scn12YXIgRWR0LHU0ZT1mKCgpPT57RWR0PXt9Lmhhc093blByb3BlcnR5O3ModlEsInp3aXRjaCIpfSk7ZnVuY3Rpb24gcDRlKGEsZSl7bGV0IHQ9LTEscjtpZihlLmV4dGVuc2lvbnMpZm9yKDsrK3Q8ZS5leHRlbnNpb25zLmxlbmd0aDspcDRlKGEsZS5leHRlbnNpb25zW3RdKTtmb3IociBpbiBlKWlmKE55YS5jYWxsKGUscikpc3dpdGNoKHIpe2Nhc2UiZXh0ZW5zaW9ucyI6YnJlYWs7Y2FzZSJ1bnNhZmUiOntQZHQoYVtyXSxlW3JdKTticmVha31jYXNlImpvaW4iOntQZHQoYVtyXSxlW3JdKTticmVha31jYXNlImhhbmRsZXJzIjp7UnlhKGFbcl0sZVtyXSk7YnJlYWt9ZGVmYXVsdDphLm9wdGlvbnNbcl09ZVtyXX1yZXR1cm4gYX1mdW5jdGlvbiBQZHQoYSxlKXtlJiZhLnB1c2goLi4uZSl9ZnVuY3Rpb24gUnlhKGEsZSl7ZSYmT2JqZWN0LmFzc2lnbihhLGUpfXZhciBOeWEsSWR0PWYoKCk9PntOeWE9e30uaGFzT3duUHJvcGVydHk7cyhwNGUsImNvbmZpZ3VyZSIpO3MoUGR0LCJsaXN0Iik7cyhSeWEsIm1hcCIpfSk7ZnVuY3Rpb24gTmR0KGEsZSx0LHIpe2xldCBpPXQuZW50ZXIoImJsb2NrcXVvdGUiKSxvPXQuY3JlYXRlVHJhY2tlcihyKTtvLm1vdmUoIj4gIiksby5zaGlmdCgyKTtsZXQgbj10LmluZGVudExpbmVzKHQuY29udGFpbmVyRmxvdyhhLG8uY3VycmVudCgpKSxPeWEpO3JldHVybiBpKCksbn1mdW5jdGlvbiBPeWEoYSxlLHQpe3JldHVybiI+IisodD8iIjoiICIpK2F9dmFyIFJkdD1mKCgpPT57cyhOZHQsImJsb2NrcXVvdGUiKTtzKE95YSwibWFwIil9KTtmdW5jdGlvbiB4UShhLGUpe3JldHVybiBPZHQoYSxlLmluQ29uc3RydWN0LCEwKSYmIU9kdChhLGUubm90SW5Db25zdHJ1Y3QsITEpfWZ1bmN0aW9uIE9kdChhLGUsdCl7aWYodHlwZW9mIGU9PSJzdHJpbmciJiYoZT1bZV0pLCFlfHxlLmxlbmd0aD09PTApcmV0dXJuIHQ7bGV0IHI9LTE7Zm9yKDsrK3I8ZS5sZW5ndGg7KWlmKGEuaW5jbHVkZXMoZVtyXSkpcmV0dXJuITA7cmV0dXJuITF9dmFyIGY0ZT1mKCgpPT57cyh4USwicGF0dGVybkluU2NvcGUiKTtzKE9kdCwibGlzdEluU2NvcGUiKX0pO2Z1bmN0aW9uIGg0ZShhLGUsdCxyKXtsZXQgaT0tMTtmb3IoOysraTx0LnVuc2FmZS5sZW5ndGg7KWlmKHQudW5zYWZlW2ldLmNoYXJhY3Rlcj09PWAKYCYmeFEodC5zdGFjayx0LnVuc2FmZVtpXSkpcmV0dXJuL1sgXHRdLy50ZXN0KHIuYmVmb3JlKT8iIjoiICI7cmV0dXJuYFxcCmB9dmFyIEZkdD1mKCgpPT57ZjRlKCk7cyhoNGUsImhhcmRCcmVhayIpfSk7ZnVuY3Rpb24gQmR0KGEsZSl7bGV0IHQ9U3RyaW5nKGEpLHI9dC5pbmRleE9mKGUpLGk9cixvPTAsbj0wO2lmKHR5cGVvZiBlIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKCJFeHBlY3RlZCBzdWJzdHJpbmciKTtmb3IoO3IhPT0tMTspcj09PWk/KytvPm4mJihuPW8pOm89MSxpPXIrZS5sZW5ndGgscj10LmluZGV4T2YoZSxpKTtyZXR1cm4gbn12YXIgSGR0PWYoKCk9PntzKEJkdCwibG9uZ2VzdFN0cmVhayIpfSk7ZnVuY3Rpb24gamcoYSxlKXtyZXR1cm4hIShlLm9wdGlvbnMuZmVuY2VzPT09ITEmJmEudmFsdWUmJiFhLmxhbmcmJi9bXiBcclxuXS8udGVzdChhLnZhbHVlKSYmIS9eW1x0IF0qKD86W1xyXG5dfCQpfCg/Ol58W1xyXG5dKVtcdCBdKiQvLnRlc3QoYS52YWx1ZSkpfXZhciBtNGU9ZigoKT0+e3MoamcsImZvcm1hdENvZGVBc0luZGVudGVkIil9KTtmdW5jdGlvbiBxZHQoYSl7bGV0IGU9YS5vcHRpb25zLmZlbmNlfHwiYCI7aWYoZSE9PSJgIiYmZSE9PSJ+Iil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgY29kZSB3aXRoIGAiK2UrImAgZm9yIGBvcHRpb25zLmZlbmNlYCwgZXhwZWN0ZWQgYGAgYCBgYCBvciBgfmAiKTtyZXR1cm4gZX12YXIgVmR0PWYoKCk9PntzKHFkdCwiY2hlY2tGZW5jZSIpfSk7ZnVuY3Rpb24gamR0KGEsZSx0LHIpe2xldCBpPXFkdCh0KSxvPWEudmFsdWV8fCIiLG49aT09PSJgIj8iR3JhdmVBY2NlbnQiOiJUaWxkZSI7aWYoamcoYSx0KSl7bGV0IHU9dC5lbnRlcigiY29kZUluZGVudGVkIiksbT10LmluZGVudExpbmVzKG8sRnlhKTtyZXR1cm4gdSgpLG19bGV0IGw9dC5jcmVhdGVUcmFja2VyKHIpLGQ9aS5yZXBlYXQoTWF0aC5tYXgoQmR0KG8saSkrMSwzKSksYz10LmVudGVyKCJjb2RlRmVuY2VkIikscD1sLm1vdmUoZCk7aWYoYS5sYW5nKXtsZXQgdT10LmVudGVyKGBjb2RlRmVuY2VkTGFuZyR7bn1gKTtwKz1sLm1vdmUodC5zYWZlKGEubGFuZyx7YmVmb3JlOnAsYWZ0ZXI6IiAiLGVuY29kZTpbImAiXSwuLi5sLmN1cnJlbnQoKX0pKSx1KCl9aWYoYS5sYW5nJiZhLm1ldGEpe2xldCB1PXQuZW50ZXIoYGNvZGVGZW5jZWRNZXRhJHtufWApO3ArPWwubW92ZSgiICIpLHArPWwubW92ZSh0LnNhZmUoYS5tZXRhLHtiZWZvcmU6cCxhZnRlcjpgCmAsZW5jb2RlOlsiYCJdLC4uLmwuY3VycmVudCgpfSkpLHUoKX1yZXR1cm4gcCs9bC5tb3ZlKGAKYCksbyYmKHArPWwubW92ZShvK2AKYCkpLHArPWwubW92ZShkKSxjKCkscH1mdW5jdGlvbiBGeWEoYSxlLHQpe3JldHVybih0PyIiOiIgICAgIikrYX12YXIgVWR0PWYoKCk9PntIZHQoKTttNGUoKTtWZHQoKTtzKGpkdCwiY29kZSIpO3MoRnlhLCJtYXAiKX0pO2Z1bmN0aW9uIHk4KGEpe2xldCBlPWEub3B0aW9ucy5xdW90ZXx8JyInO2lmKGUhPT0nIicmJmUhPT0iJyIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIHRpdGxlIHdpdGggYCIrZSsiYCBmb3IgYG9wdGlvbnMucXVvdGVgLCBleHBlY3RlZCBgXCJgLCBvciBgJ2AiKTtyZXR1cm4gZX12YXIgeVE9ZigoKT0+e3MoeTgsImNoZWNrUXVvdGUiKX0pO2Z1bmN0aW9uIFdkdChhLGUsdCxyKXtsZXQgaT15OCh0KSxvPWk9PT0nIic/IlF1b3RlIjoiQXBvc3Ryb3BoZSIsbj10LmVudGVyKCJkZWZpbml0aW9uIiksbD10LmVudGVyKCJsYWJlbCIpLGQ9dC5jcmVhdGVUcmFja2VyKHIpLGM9ZC5tb3ZlKCJbIik7cmV0dXJuIGMrPWQubW92ZSh0LnNhZmUodC5hc3NvY2lhdGlvbklkKGEpLHtiZWZvcmU6YyxhZnRlcjoiXSIsLi4uZC5jdXJyZW50KCl9KSksYys9ZC5tb3ZlKCJdOiAiKSxsKCksIWEudXJsfHwvW1wwLSBcdTAwN0ZdLy50ZXN0KGEudXJsKT8obD10LmVudGVyKCJkZXN0aW5hdGlvbkxpdGVyYWwiKSxjKz1kLm1vdmUoIjwiKSxjKz1kLm1vdmUodC5zYWZlKGEudXJsLHtiZWZvcmU6YyxhZnRlcjoiPiIsLi4uZC5jdXJyZW50KCl9KSksYys9ZC5tb3ZlKCI+IikpOihsPXQuZW50ZXIoImRlc3RpbmF0aW9uUmF3IiksYys9ZC5tb3ZlKHQuc2FmZShhLnVybCx7YmVmb3JlOmMsYWZ0ZXI6YS50aXRsZT8iICI6YApgLC4uLmQuY3VycmVudCgpfSkpKSxsKCksYS50aXRsZSYmKGw9dC5lbnRlcihgdGl0bGUke299YCksYys9ZC5tb3ZlKCIgIitpKSxjKz1kLm1vdmUodC5zYWZlKGEudGl0bGUse2JlZm9yZTpjLGFmdGVyOmksLi4uZC5jdXJyZW50KCl9KSksYys9ZC5tb3ZlKGkpLGwoKSksbigpLGN9dmFyIEdkdD1mKCgpPT57eVEoKTtzKFdkdCwiZGVmaW5pdGlvbiIpfSk7ZnVuY3Rpb24gWWR0KGEpe2xldCBlPWEub3B0aW9ucy5lbXBoYXNpc3x8IioiO2lmKGUhPT0iKiImJmUhPT0iXyIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIGVtcGhhc2lzIHdpdGggYCIrZSsiYCBmb3IgYG9wdGlvbnMuZW1waGFzaXNgLCBleHBlY3RlZCBgKmAsIG9yIGBfYCIpO3JldHVybiBlfXZhciBLZHQ9ZigoKT0+e3MoWWR0LCJjaGVja0VtcGhhc2lzIil9KTtmdW5jdGlvbiBXbyhhKXtyZXR1cm4iJiN4IithLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpKyI7In12YXIgdzg9ZigoKT0+e3MoV28sImVuY29kZUNoYXJhY3RlclJlZmVyZW5jZSIpfSk7ZnVuY3Rpb24gVmwoYSl7aWYoYT09PW51bGx8fHVhKGEpfHxEMihhKSlyZXR1cm4gMTtpZihqMyhhKSlyZXR1cm4gMn12YXIgd1E9ZigoKT0+e2JhKCk7cyhWbCwiY2xhc3NpZnlDaGFyYWN0ZXIiKX0pO2Z1bmN0aW9uIE04KGEsZSx0KXtsZXQgcj1WbChhKSxpPVZsKGUpO3JldHVybiByPT09dm9pZCAwP2k9PT12b2lkIDA/dD09PSJfIj97aW5zaWRlOiEwLG91dHNpZGU6ITB9OntpbnNpZGU6ITEsb3V0c2lkZTohMX06aT09PTE/e2luc2lkZTohMCxvdXRzaWRlOiEwfTp7aW5zaWRlOiExLG91dHNpZGU6ITB9OnI9PT0xP2k9PT12b2lkIDA/e2luc2lkZTohMSxvdXRzaWRlOiExfTppPT09MT97aW5zaWRlOiEwLG91dHNpZGU6ITB9OntpbnNpZGU6ITEsb3V0c2lkZTohMX06aT09PXZvaWQgMD97aW5zaWRlOiExLG91dHNpZGU6ITF9Omk9PT0xP3tpbnNpZGU6ITAsb3V0c2lkZTohMX06e2luc2lkZTohMSxvdXRzaWRlOiExfX12YXIgZzRlPWYoKCk9Pnt3USgpO3MoTTgsImVuY29kZUluZm8iKX0pO2Z1bmN0aW9uIGI0ZShhLGUsdCxyKXtsZXQgaT1ZZHQodCksbz10LmVudGVyKCJlbXBoYXNpcyIpLG49dC5jcmVhdGVUcmFja2VyKHIpLGw9bi5tb3ZlKGkpLGQ9bi5tb3ZlKHQuY29udGFpbmVyUGhyYXNpbmcoYSx7YWZ0ZXI6aSxiZWZvcmU6bCwuLi5uLmN1cnJlbnQoKX0pKSxjPWQuY2hhckNvZGVBdCgwKSxwPU04KHIuYmVmb3JlLmNoYXJDb2RlQXQoci5iZWZvcmUubGVuZ3RoLTEpLGMsaSk7cC5pbnNpZGUmJihkPVdvKGMpK2Quc2xpY2UoMSkpO2xldCB1PWQuY2hhckNvZGVBdChkLmxlbmd0aC0xKSxtPU04KHIuYWZ0ZXIuY2hhckNvZGVBdCgwKSx1LGkpO20uaW5zaWRlJiYoZD1kLnNsaWNlKDAsLTEpK1dvKHUpKTtsZXQgdj1uLm1vdmUoaSk7cmV0dXJuIG8oKSx0LmF0dGVudGlvbkVuY29kZVN1cnJvdW5kaW5nSW5mbz17YWZ0ZXI6bS5vdXRzaWRlLGJlZm9yZTpwLm91dHNpZGV9LGwrZCt2fWZ1bmN0aW9uIEJ5YShhLGUsdCl7cmV0dXJuIHQub3B0aW9ucy5lbXBoYXNpc3x8IioifXZhciBaZHQ9ZigoKT0+e0tkdCgpO3c4KCk7ZzRlKCk7YjRlLnBlZWs9QnlhO3MoYjRlLCJlbXBoYXNpcyIpO3MoQnlhLCJlbXBoYXNpc1BlZWsiKX0pO2Z1bmN0aW9uIFVnKGEsZSx0LHIpe2xldCBpLG8sbjt0eXBlb2YgZT09ImZ1bmN0aW9uIiYmdHlwZW9mIHQhPSJmdW5jdGlvbiI/KG89dm9pZCAwLG49ZSxpPXQpOihvPWUsbj10LGk9ciksVmcoYSxvLGwsaSk7ZnVuY3Rpb24gbChkLGMpe2xldCBwPWNbYy5sZW5ndGgtMV0sdT1wP3AuY2hpbGRyZW4uaW5kZXhPZihkKTp2b2lkIDA7cmV0dXJuIG4oZCx1LHApfXMobCwib3ZlcmxvYWQiKX12YXIgWGR0PWYoKCk9PntiUSgpO2JRKCk7cyhVZywidmlzaXQiKX0pO3ZhciB2NGU9ZigoKT0+e1hkdCgpfSk7ZnVuY3Rpb24gVzMoYSxlKXtsZXQgdD1lfHxIeWEscj10eXBlb2YgdC5pbmNsdWRlSW1hZ2VBbHQ9PSJib29sZWFuIj90LmluY2x1ZGVJbWFnZUFsdDohMCxpPXR5cGVvZiB0LmluY2x1ZGVIdG1sPT0iYm9vbGVhbiI/dC5pbmNsdWRlSHRtbDohMDtyZXR1cm4gUWR0KGEscixpKX1mdW5jdGlvbiBRZHQoYSxlLHQpe2lmKHF5YShhKSl7aWYoInZhbHVlImluIGEpcmV0dXJuIGEudHlwZT09PSJodG1sIiYmIXQ/IiI6YS52YWx1ZTtpZihlJiYiYWx0ImluIGEmJmEuYWx0KXJldHVybiBhLmFsdDtpZigiY2hpbGRyZW4iaW4gYSlyZXR1cm4gSmR0KGEuY2hpbGRyZW4sZSx0KX1yZXR1cm4gQXJyYXkuaXNBcnJheShhKT9KZHQoYSxlLHQpOiIifWZ1bmN0aW9uIEpkdChhLGUsdCl7bGV0IHI9W10saT0tMTtmb3IoOysraTxhLmxlbmd0aDspcltpXT1RZHQoYVtpXSxlLHQpO3JldHVybiByLmpvaW4oIiIpfWZ1bmN0aW9uIHF5YShhKXtyZXR1cm4hIShhJiZ0eXBlb2YgYT09Im9iamVjdCIpfXZhciBIeWEsZTZ0PWYoKCk9PntIeWE9e307cyhXMywidG9TdHJpbmciKTtzKFFkdCwib25lIik7cyhKZHQsImFsbCIpO3MocXlhLCJub2RlIil9KTt2YXIgTVE9ZigoKT0+e2U2dCgpfSk7ZnVuY3Rpb24ga1EoYSxlKXtsZXQgdD0hMTtyZXR1cm4gVWcoYSxmdW5jdGlvbihyKXtpZigidmFsdWUiaW4gciYmL1xyP1xufFxyLy50ZXN0KHIudmFsdWUpfHxyLnR5cGU9PT0iYnJlYWsiKXJldHVybiB0PSEwLFUzfSksISEoKCFhLmRlcHRofHxhLmRlcHRoPDMpJiZXMyhhKSYmKGUub3B0aW9ucy5zZXRleHR8fHQpKX12YXIgeDRlPWYoKCk9Pnt2NGUoKTtNUSgpO3Moa1EsImZvcm1hdEhlYWRpbmdBc1NldGV4dCIpfSk7ZnVuY3Rpb24gdDZ0KGEsZSx0LHIpe2xldCBpPU1hdGgubWF4KE1hdGgubWluKDYsYS5kZXB0aHx8MSksMSksbz10LmNyZWF0ZVRyYWNrZXIocik7aWYoa1EoYSx0KSl7bGV0IHA9dC5lbnRlcigiaGVhZGluZ1NldGV4dCIpLHU9dC5lbnRlcigicGhyYXNpbmciKSxtPXQuY29udGFpbmVyUGhyYXNpbmcoYSx7Li4uby5jdXJyZW50KCksYmVmb3JlOmAKYCxhZnRlcjpgCmB9KTtyZXR1cm4gdSgpLHAoKSxtK2AKYCsoaT09PTE/Ij0iOiItIikucmVwZWF0KG0ubGVuZ3RoLShNYXRoLm1heChtLmxhc3RJbmRleE9mKCJcciIpLG0ubGFzdEluZGV4T2YoYApgKSkrMSkpfWxldCBuPSIjIi5yZXBlYXQoaSksbD10LmVudGVyKCJoZWFkaW5nQXR4IiksZD10LmVudGVyKCJwaHJhc2luZyIpO28ubW92ZShuKyIgIik7bGV0IGM9dC5jb250YWluZXJQaHJhc2luZyhhLHtiZWZvcmU6IiMgIixhZnRlcjpgCmAsLi4uby5jdXJyZW50KCl9KTtyZXR1cm4vXltcdCBdLy50ZXN0KGMpJiYoYz1XbyhjLmNoYXJDb2RlQXQoMCkpK2Muc2xpY2UoMSkpLGM9Yz9uKyIgIitjOm4sdC5vcHRpb25zLmNsb3NlQXR4JiYoYys9IiAiK24pLGQoKSxsKCksY312YXIgYTZ0PWYoKCk9Pnt3OCgpO3g0ZSgpO3ModDZ0LCJoZWFkaW5nIil9KTtmdW5jdGlvbiB5NGUoYSl7cmV0dXJuIGEudmFsdWV8fCIifWZ1bmN0aW9uIFZ5YSgpe3JldHVybiI8In12YXIgcjZ0PWYoKCk9Pnt5NGUucGVlaz1WeWE7cyh5NGUsImh0bWwiKTtzKFZ5YSwiaHRtbFBlZWsiKX0pO2Z1bmN0aW9uIHc0ZShhLGUsdCxyKXtsZXQgaT15OCh0KSxvPWk9PT0nIic/IlF1b3RlIjoiQXBvc3Ryb3BoZSIsbj10LmVudGVyKCJpbWFnZSIpLGw9dC5lbnRlcigibGFiZWwiKSxkPXQuY3JlYXRlVHJhY2tlcihyKSxjPWQubW92ZSgiIVsiKTtyZXR1cm4gYys9ZC5tb3ZlKHQuc2FmZShhLmFsdCx7YmVmb3JlOmMsYWZ0ZXI6Il0iLC4uLmQuY3VycmVudCgpfSkpLGMrPWQubW92ZSgiXSgiKSxsKCksIWEudXJsJiZhLnRpdGxlfHwvW1wwLSBcdTAwN0ZdLy50ZXN0KGEudXJsKT8obD10LmVudGVyKCJkZXN0aW5hdGlvbkxpdGVyYWwiKSxjKz1kLm1vdmUoIjwiKSxjKz1kLm1vdmUodC5zYWZlKGEudXJsLHtiZWZvcmU6YyxhZnRlcjoiPiIsLi4uZC5jdXJyZW50KCl9KSksYys9ZC5tb3ZlKCI+IikpOihsPXQuZW50ZXIoImRlc3RpbmF0aW9uUmF3IiksYys9ZC5tb3ZlKHQuc2FmZShhLnVybCx7YmVmb3JlOmMsYWZ0ZXI6YS50aXRsZT8iICI6IikiLC4uLmQuY3VycmVudCgpfSkpKSxsKCksYS50aXRsZSYmKGw9dC5lbnRlcihgdGl0bGUke299YCksYys9ZC5tb3ZlKCIgIitpKSxjKz1kLm1vdmUodC5zYWZlKGEudGl0bGUse2JlZm9yZTpjLGFmdGVyOmksLi4uZC5jdXJyZW50KCl9KSksYys9ZC5tb3ZlKGkpLGwoKSksYys9ZC5tb3ZlKCIpIiksbigpLGN9ZnVuY3Rpb24ganlhKCl7cmV0dXJuIiEifXZhciBzNnQ9ZigoKT0+e3lRKCk7dzRlLnBlZWs9anlhO3ModzRlLCJpbWFnZSIpO3MoanlhLCJpbWFnZVBlZWsiKX0pO2Z1bmN0aW9uIE00ZShhLGUsdCxyKXtsZXQgaT1hLnJlZmVyZW5jZVR5cGUsbz10LmVudGVyKCJpbWFnZVJlZmVyZW5jZSIpLG49dC5lbnRlcigibGFiZWwiKSxsPXQuY3JlYXRlVHJhY2tlcihyKSxkPWwubW92ZSgiIVsiKSxjPXQuc2FmZShhLmFsdCx7YmVmb3JlOmQsYWZ0ZXI6Il0iLC4uLmwuY3VycmVudCgpfSk7ZCs9bC5tb3ZlKGMrIl1bIiksbigpO2xldCBwPXQuc3RhY2s7dC5zdGFjaz1bXSxuPXQuZW50ZXIoInJlZmVyZW5jZSIpO2xldCB1PXQuc2FmZSh0LmFzc29jaWF0aW9uSWQoYSkse2JlZm9yZTpkLGFmdGVyOiJdIiwuLi5sLmN1cnJlbnQoKX0pO3JldHVybiBuKCksdC5zdGFjaz1wLG8oKSxpPT09ImZ1bGwifHwhY3x8YyE9PXU/ZCs9bC5tb3ZlKHUrIl0iKTppPT09InNob3J0Y3V0Ij9kPWQuc2xpY2UoMCwtMSk6ZCs9bC5tb3ZlKCJdIiksZH1mdW5jdGlvbiBVeWEoKXtyZXR1cm4iISJ9dmFyIGk2dD1mKCgpPT57TTRlLnBlZWs9VXlhO3MoTTRlLCJpbWFnZVJlZmVyZW5jZSIpO3MoVXlhLCJpbWFnZVJlZmVyZW5jZVBlZWsiKX0pO2Z1bmN0aW9uIGs0ZShhLGUsdCl7bGV0IHI9YS52YWx1ZXx8IiIsaT0iYCIsbz0tMTtmb3IoO25ldyBSZWdFeHAoIihefFteYF0pIitpKyIoW15gXXwkKSIpLnRlc3Qocik7KWkrPSJgIjtmb3IoL1teIFxyXG5dLy50ZXN0KHIpJiYoL15bIFxyXG5dLy50ZXN0KHIpJiYvWyBcclxuXSQvLnRlc3Qocil8fC9eYHxgJC8udGVzdChyKSkmJihyPSIgIityKyIgIik7KytvPHQudW5zYWZlLmxlbmd0aDspe2xldCBuPXQudW5zYWZlW29dLGw9dC5jb21waWxlUGF0dGVybihuKSxkO2lmKG4uYXRCcmVhaylmb3IoO2Q9bC5leGVjKHIpOyl7bGV0IGM9ZC5pbmRleDtyLmNoYXJDb2RlQXQoYyk9PT0xMCYmci5jaGFyQ29kZUF0KGMtMSk9PT0xMyYmYy0tLHI9ci5zbGljZSgwLGMpKyIgIityLnNsaWNlKGQuaW5kZXgrMSl9fXJldHVybiBpK3IraX1mdW5jdGlvbiBXeWEoKXtyZXR1cm4iYCJ9dmFyIG82dD1mKCgpPT57azRlLnBlZWs9V3lhO3MoazRlLCJpbmxpbmVDb2RlIik7cyhXeWEsImlubGluZUNvZGVQZWVrIil9KTtmdW5jdGlvbiBTNGUoYSxlKXtsZXQgdD1XMyhhKTtyZXR1cm4hISghZS5vcHRpb25zLnJlc291cmNlTGluayYmYS51cmwmJiFhLnRpdGxlJiZhLmNoaWxkcmVuJiZhLmNoaWxkcmVuLmxlbmd0aD09PTEmJmEuY2hpbGRyZW5bMF0udHlwZT09PSJ0ZXh0IiYmKHQ9PT1hLnVybHx8Im1haWx0bzoiK3Q9PT1hLnVybCkmJi9eW2Etel1bYS16Ky4tXSs6L2kudGVzdChhLnVybCkmJiEvW1wwLSA8Plx1MDA3Rl0vLnRlc3QoYS51cmwpKX12YXIgbjZ0PWYoKCk9PntNUSgpO3MoUzRlLCJmb3JtYXRMaW5rQXNBdXRvbGluayIpfSk7ZnVuY3Rpb24gejRlKGEsZSx0LHIpe2xldCBpPXk4KHQpLG89aT09PSciJz8iUXVvdGUiOiJBcG9zdHJvcGhlIixuPXQuY3JlYXRlVHJhY2tlcihyKSxsLGQ7aWYoUzRlKGEsdCkpe2xldCBwPXQuc3RhY2s7dC5zdGFjaz1bXSxsPXQuZW50ZXIoImF1dG9saW5rIik7bGV0IHU9bi5tb3ZlKCI8Iik7cmV0dXJuIHUrPW4ubW92ZSh0LmNvbnRhaW5lclBocmFzaW5nKGEse2JlZm9yZTp1LGFmdGVyOiI+IiwuLi5uLmN1cnJlbnQoKX0pKSx1Kz1uLm1vdmUoIj4iKSxsKCksdC5zdGFjaz1wLHV9bD10LmVudGVyKCJsaW5rIiksZD10LmVudGVyKCJsYWJlbCIpO2xldCBjPW4ubW92ZSgiWyIpO3JldHVybiBjKz1uLm1vdmUodC5jb250YWluZXJQaHJhc2luZyhhLHtiZWZvcmU6YyxhZnRlcjoiXSgiLC4uLm4uY3VycmVudCgpfSkpLGMrPW4ubW92ZSgiXSgiKSxkKCksIWEudXJsJiZhLnRpdGxlfHwvW1wwLSBcdTAwN0ZdLy50ZXN0KGEudXJsKT8oZD10LmVudGVyKCJkZXN0aW5hdGlvbkxpdGVyYWwiKSxjKz1uLm1vdmUoIjwiKSxjKz1uLm1vdmUodC5zYWZlKGEudXJsLHtiZWZvcmU6YyxhZnRlcjoiPiIsLi4ubi5jdXJyZW50KCl9KSksYys9bi5tb3ZlKCI+IikpOihkPXQuZW50ZXIoImRlc3RpbmF0aW9uUmF3IiksYys9bi5tb3ZlKHQuc2FmZShhLnVybCx7YmVmb3JlOmMsYWZ0ZXI6YS50aXRsZT8iICI6IikiLC4uLm4uY3VycmVudCgpfSkpKSxkKCksYS50aXRsZSYmKGQ9dC5lbnRlcihgdGl0bGUke299YCksYys9bi5tb3ZlKCIgIitpKSxjKz1uLm1vdmUodC5zYWZlKGEudGl0bGUse2JlZm9yZTpjLGFmdGVyOmksLi4ubi5jdXJyZW50KCl9KSksYys9bi5tb3ZlKGkpLGQoKSksYys9bi5tb3ZlKCIpIiksbCgpLGN9ZnVuY3Rpb24gR3lhKGEsZSx0KXtyZXR1cm4gUzRlKGEsdCk/IjwiOiJbIn12YXIgbDZ0PWYoKCk9Pnt5USgpO242dCgpO3o0ZS5wZWVrPUd5YTtzKHo0ZSwibGluayIpO3MoR3lhLCJsaW5rUGVlayIpfSk7ZnVuY3Rpb24gQzRlKGEsZSx0LHIpe2xldCBpPWEucmVmZXJlbmNlVHlwZSxvPXQuZW50ZXIoImxpbmtSZWZlcmVuY2UiKSxuPXQuZW50ZXIoImxhYmVsIiksbD10LmNyZWF0ZVRyYWNrZXIociksZD1sLm1vdmUoIlsiKSxjPXQuY29udGFpbmVyUGhyYXNpbmcoYSx7YmVmb3JlOmQsYWZ0ZXI6Il0iLC4uLmwuY3VycmVudCgpfSk7ZCs9bC5tb3ZlKGMrIl1bIiksbigpO2xldCBwPXQuc3RhY2s7dC5zdGFjaz1bXSxuPXQuZW50ZXIoInJlZmVyZW5jZSIpO2xldCB1PXQuc2FmZSh0LmFzc29jaWF0aW9uSWQoYSkse2JlZm9yZTpkLGFmdGVyOiJdIiwuLi5sLmN1cnJlbnQoKX0pO3JldHVybiBuKCksdC5zdGFjaz1wLG8oKSxpPT09ImZ1bGwifHwhY3x8YyE9PXU/ZCs9bC5tb3ZlKHUrIl0iKTppPT09InNob3J0Y3V0Ij9kPWQuc2xpY2UoMCwtMSk6ZCs9bC5tb3ZlKCJdIiksZH1mdW5jdGlvbiBZeWEoKXtyZXR1cm4iWyJ9dmFyIGM2dD1mKCgpPT57QzRlLnBlZWs9WXlhO3MoQzRlLCJsaW5rUmVmZXJlbmNlIik7cyhZeWEsImxpbmtSZWZlcmVuY2VQZWVrIil9KTtmdW5jdGlvbiBrOChhKXtsZXQgZT1hLm9wdGlvbnMuYnVsbGV0fHwiKiI7aWYoZSE9PSIqIiYmZSE9PSIrIiYmZSE9PSItIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgaXRlbXMgd2l0aCBgIitlKyJgIGZvciBgb3B0aW9ucy5idWxsZXRgLCBleHBlY3RlZCBgKmAsIGArYCwgb3IgYC1gIik7cmV0dXJuIGV9dmFyIFNRPWYoKCk9PntzKGs4LCJjaGVja0J1bGxldCIpfSk7ZnVuY3Rpb24gZDZ0KGEpe2xldCBlPWs4KGEpLHQ9YS5vcHRpb25zLmJ1bGxldE90aGVyO2lmKCF0KXJldHVybiBlPT09IioiPyItIjoiKiI7aWYodCE9PSIqIiYmdCE9PSIrIiYmdCE9PSItIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgaXRlbXMgd2l0aCBgIit0KyJgIGZvciBgb3B0aW9ucy5idWxsZXRPdGhlcmAsIGV4cGVjdGVkIGAqYCwgYCtgLCBvciBgLWAiKTtpZih0PT09ZSl0aHJvdyBuZXcgRXJyb3IoIkV4cGVjdGVkIGBidWxsZXRgIChgIitlKyJgKSBhbmQgYGJ1bGxldE90aGVyYCAoYCIrdCsiYCkgdG8gYmUgZGlmZmVyZW50Iik7cmV0dXJuIHR9dmFyIHU2dD1mKCgpPT57U1EoKTtzKGQ2dCwiY2hlY2tCdWxsZXRPdGhlciIpfSk7ZnVuY3Rpb24gcDZ0KGEpe2xldCBlPWEub3B0aW9ucy5idWxsZXRPcmRlcmVkfHwiLiI7aWYoZSE9PSIuIiYmZSE9PSIpIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgaXRlbXMgd2l0aCBgIitlKyJgIGZvciBgb3B0aW9ucy5idWxsZXRPcmRlcmVkYCwgZXhwZWN0ZWQgYC5gIG9yIGApYCIpO3JldHVybiBlfXZhciBmNnQ9ZigoKT0+e3MocDZ0LCJjaGVja0J1bGxldE9yZGVyZWQiKX0pO2Z1bmN0aW9uIHpRKGEpe2xldCBlPWEub3B0aW9ucy5ydWxlfHwiKiI7aWYoZSE9PSIqIiYmZSE9PSItIiYmZSE9PSJfIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgcnVsZXMgd2l0aCBgIitlKyJgIGZvciBgb3B0aW9ucy5ydWxlYCwgZXhwZWN0ZWQgYCpgLCBgLWAsIG9yIGBfYCIpO3JldHVybiBlfXZhciBfNGU9ZigoKT0+e3MoelEsImNoZWNrUnVsZSIpfSk7ZnVuY3Rpb24gaDZ0KGEsZSx0LHIpe2xldCBpPXQuZW50ZXIoImxpc3QiKSxvPXQuYnVsbGV0Q3VycmVudCxuPWEub3JkZXJlZD9wNnQodCk6azgodCksbD1hLm9yZGVyZWQ/bj09PSIuIj8iKSI6Ii4iOmQ2dCh0KSxkPWUmJnQuYnVsbGV0TGFzdFVzZWQ/bj09PXQuYnVsbGV0TGFzdFVzZWQ6ITE7aWYoIWEub3JkZXJlZCl7bGV0IHA9YS5jaGlsZHJlbj9hLmNoaWxkcmVuWzBdOnZvaWQgMDtpZigobj09PSIqInx8bj09PSItIikmJnAmJighcC5jaGlsZHJlbnx8IXAuY2hpbGRyZW5bMF0pJiZ0LnN0YWNrW3Quc3RhY2subGVuZ3RoLTFdPT09Imxpc3QiJiZ0LnN0YWNrW3Quc3RhY2subGVuZ3RoLTJdPT09Imxpc3RJdGVtIiYmdC5zdGFja1t0LnN0YWNrLmxlbmd0aC0zXT09PSJsaXN0IiYmdC5zdGFja1t0LnN0YWNrLmxlbmd0aC00XT09PSJsaXN0SXRlbSImJnQuaW5kZXhTdGFja1t0LmluZGV4U3RhY2subGVuZ3RoLTFdPT09MCYmdC5pbmRleFN0YWNrW3QuaW5kZXhTdGFjay5sZW5ndGgtMl09PT0wJiZ0LmluZGV4U3RhY2tbdC5pbmRleFN0YWNrLmxlbmd0aC0zXT09PTAmJihkPSEwKSx6USh0KT09PW4mJnApe2xldCB1PS0xO2Zvcig7Kyt1PGEuY2hpbGRyZW4ubGVuZ3RoOyl7bGV0IG09YS5jaGlsZHJlblt1XTtpZihtJiZtLnR5cGU9PT0ibGlzdEl0ZW0iJiZtLmNoaWxkcmVuJiZtLmNoaWxkcmVuWzBdJiZtLmNoaWxkcmVuWzBdLnR5cGU9PT0idGhlbWF0aWNCcmVhayIpe2Q9ITA7YnJlYWt9fX19ZCYmKG49bCksdC5idWxsZXRDdXJyZW50PW47bGV0IGM9dC5jb250YWluZXJGbG93KGEscik7cmV0dXJuIHQuYnVsbGV0TGFzdFVzZWQ9bix0LmJ1bGxldEN1cnJlbnQ9byxpKCksY312YXIgbTZ0PWYoKCk9PntTUSgpO3U2dCgpO2Y2dCgpO180ZSgpO3MoaDZ0LCJsaXN0Iil9KTtmdW5jdGlvbiBnNnQoYSl7bGV0IGU9YS5vcHRpb25zLmxpc3RJdGVtSW5kZW50fHwib25lIjtpZihlIT09InRhYiImJmUhPT0ib25lIiYmZSE9PSJtaXhlZCIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3Qgc2VyaWFsaXplIGl0ZW1zIHdpdGggYCIrZSsiYCBmb3IgYG9wdGlvbnMubGlzdEl0ZW1JbmRlbnRgLCBleHBlY3RlZCBgdGFiYCwgYG9uZWAsIG9yIGBtaXhlZGAiKTtyZXR1cm4gZX12YXIgYjZ0PWYoKCk9PntzKGc2dCwiY2hlY2tMaXN0SXRlbUluZGVudCIpfSk7ZnVuY3Rpb24gdjZ0KGEsZSx0LHIpe2xldCBpPWc2dCh0KSxvPXQuYnVsbGV0Q3VycmVudHx8azgodCk7ZSYmZS50eXBlPT09Imxpc3QiJiZlLm9yZGVyZWQmJihvPSh0eXBlb2YgZS5zdGFydD09Im51bWJlciImJmUuc3RhcnQ+LTE/ZS5zdGFydDoxKSsodC5vcHRpb25zLmluY3JlbWVudExpc3RNYXJrZXI9PT0hMT8wOmUuY2hpbGRyZW4uaW5kZXhPZihhKSkrbyk7bGV0IG49by5sZW5ndGgrMTsoaT09PSJ0YWIifHxpPT09Im1peGVkIiYmKGUmJmUudHlwZT09PSJsaXN0IiYmZS5zcHJlYWR8fGEuc3ByZWFkKSkmJihuPU1hdGguY2VpbChuLzQpKjQpO2xldCBsPXQuY3JlYXRlVHJhY2tlcihyKTtsLm1vdmUobysiICIucmVwZWF0KG4tby5sZW5ndGgpKSxsLnNoaWZ0KG4pO2xldCBkPXQuZW50ZXIoImxpc3RJdGVtIiksYz10LmluZGVudExpbmVzKHQuY29udGFpbmVyRmxvdyhhLGwuY3VycmVudCgpKSxwKTtyZXR1cm4gZCgpLGM7ZnVuY3Rpb24gcCh1LG0sdil7cmV0dXJuIG0/KHY/IiI6IiAiLnJlcGVhdChuKSkrdToodj9vOm8rIiAiLnJlcGVhdChuLW8ubGVuZ3RoKSkrdX1zKHAsIm1hcCIpfXZhciB4NnQ9ZigoKT0+e1NRKCk7YjZ0KCk7cyh2NnQsImxpc3RJdGVtIil9KTtmdW5jdGlvbiB5NnQoYSxlLHQscil7bGV0IGk9dC5lbnRlcigicGFyYWdyYXBoIiksbz10LmVudGVyKCJwaHJhc2luZyIpLG49dC5jb250YWluZXJQaHJhc2luZyhhLHIpO3JldHVybiBvKCksaSgpLG59dmFyIHc2dD1mKCgpPT57cyh5NnQsInBhcmFncmFwaCIpfSk7dmFyIFQ0ZSxNNnQ9ZigoKT0+e2hRKCk7VDRlPXFsKFsiYnJlYWsiLCJkZWxldGUiLCJlbXBoYXNpcyIsImZvb3Rub3RlIiwiZm9vdG5vdGVSZWZlcmVuY2UiLCJpbWFnZSIsImltYWdlUmVmZXJlbmNlIiwiaW5saW5lQ29kZSIsImlubGluZU1hdGgiLCJsaW5rIiwibGlua1JlZmVyZW5jZSIsIm1keEpzeFRleHRFbGVtZW50IiwibWR4VGV4dEV4cHJlc3Npb24iLCJzdHJvbmciLCJ0ZXh0IiwidGV4dERpcmVjdGl2ZSJdKX0pO3ZhciBrNnQ9ZigoKT0+e002dCgpfSk7ZnVuY3Rpb24gUzZ0KGEsZSx0LHIpe3JldHVybihhLmNoaWxkcmVuLnNvbWUoZnVuY3Rpb24obil7cmV0dXJuIFQ0ZShuKX0pP3QuY29udGFpbmVyUGhyYXNpbmc6dC5jb250YWluZXJGbG93KS5jYWxsKHQsYSxyKX12YXIgejZ0PWYoKCk9PntrNnQoKTtzKFM2dCwicm9vdCIpfSk7ZnVuY3Rpb24gQzZ0KGEpe2xldCBlPWEub3B0aW9ucy5zdHJvbmd8fCIqIjtpZihlIT09IioiJiZlIT09Il8iKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IHNlcmlhbGl6ZSBzdHJvbmcgd2l0aCBgIitlKyJgIGZvciBgb3B0aW9ucy5zdHJvbmdgLCBleHBlY3RlZCBgKmAsIG9yIGBfYCIpO3JldHVybiBlfXZhciBfNnQ9ZigoKT0+e3MoQzZ0LCJjaGVja1N0cm9uZyIpfSk7ZnVuY3Rpb24gTDRlKGEsZSx0LHIpe2xldCBpPUM2dCh0KSxvPXQuZW50ZXIoInN0cm9uZyIpLG49dC5jcmVhdGVUcmFja2VyKHIpLGw9bi5tb3ZlKGkraSksZD1uLm1vdmUodC5jb250YWluZXJQaHJhc2luZyhhLHthZnRlcjppLGJlZm9yZTpsLC4uLm4uY3VycmVudCgpfSkpLGM9ZC5jaGFyQ29kZUF0KDApLHA9TTgoci5iZWZvcmUuY2hhckNvZGVBdChyLmJlZm9yZS5sZW5ndGgtMSksYyxpKTtwLmluc2lkZSYmKGQ9V28oYykrZC5zbGljZSgxKSk7bGV0IHU9ZC5jaGFyQ29kZUF0KGQubGVuZ3RoLTEpLG09TTgoci5hZnRlci5jaGFyQ29kZUF0KDApLHUsaSk7bS5pbnNpZGUmJihkPWQuc2xpY2UoMCwtMSkrV28odSkpO2xldCB2PW4ubW92ZShpK2kpO3JldHVybiBvKCksdC5hdHRlbnRpb25FbmNvZGVTdXJyb3VuZGluZ0luZm89e2FmdGVyOm0ub3V0c2lkZSxiZWZvcmU6cC5vdXRzaWRlfSxsK2Qrdn1mdW5jdGlvbiBLeWEoYSxlLHQpe3JldHVybiB0Lm9wdGlvbnMuc3Ryb25nfHwiKiJ9dmFyIFQ2dD1mKCgpPT57XzZ0KCk7dzgoKTtnNGUoKTtMNGUucGVlaz1LeWE7cyhMNGUsInN0cm9uZyIpO3MoS3lhLCJzdHJvbmdQZWVrIil9KTtmdW5jdGlvbiBMNnQoYSxlLHQscil7cmV0dXJuIHQuc2FmZShhLnZhbHVlLHIpfXZhciAkNnQ9ZigoKT0+e3MoTDZ0LCJ0ZXh0Iil9KTtmdW5jdGlvbiBENnQoYSl7bGV0IGU9YS5vcHRpb25zLnJ1bGVSZXBldGl0aW9ufHwzO2lmKGU8Myl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzZXJpYWxpemUgcnVsZXMgd2l0aCByZXBldGl0aW9uIGAiK2UrImAgZm9yIGBvcHRpb25zLnJ1bGVSZXBldGl0aW9uYCwgZXhwZWN0ZWQgYDNgIG9yIG1vcmUiKTtyZXR1cm4gZX12YXIgQTZ0PWYoKCk9PntzKEQ2dCwiY2hlY2tSdWxlUmVwZXRpdGlvbiIpfSk7ZnVuY3Rpb24gRTZ0KGEsZSx0KXtsZXQgcj0oelEodCkrKHQub3B0aW9ucy5ydWxlU3BhY2VzPyIgIjoiIikpLnJlcGVhdChENnQodCkpO3JldHVybiB0Lm9wdGlvbnMucnVsZVNwYWNlcz9yLnNsaWNlKDAsLTEpOnJ9dmFyIFA2dD1mKCgpPT57QTZ0KCk7XzRlKCk7cyhFNnQsInRoZW1hdGljQnJlYWsiKX0pO3ZhciBHMywkNGU9ZigoKT0+e1JkdCgpO0ZkdCgpO1VkdCgpO0dkdCgpO1pkdCgpO2E2dCgpO3I2dCgpO3M2dCgpO2k2dCgpO282dCgpO2w2dCgpO2M2dCgpO202dCgpO3g2dCgpO3c2dCgpO3o2dCgpO1Q2dCgpOyQ2dCgpO1A2dCgpO0czPXtibG9ja3F1b3RlOk5kdCxicmVhazpoNGUsY29kZTpqZHQsZGVmaW5pdGlvbjpXZHQsZW1waGFzaXM6YjRlLGhhcmRCcmVhazpoNGUsaGVhZGluZzp0NnQsaHRtbDp5NGUsaW1hZ2U6dzRlLGltYWdlUmVmZXJlbmNlOk00ZSxpbmxpbmVDb2RlOms0ZSxsaW5rOno0ZSxsaW5rUmVmZXJlbmNlOkM0ZSxsaXN0Omg2dCxsaXN0SXRlbTp2NnQscGFyYWdyYXBoOnk2dCxyb290OlM2dCxzdHJvbmc6TDRlLHRleHQ6TDZ0LHRoZW1hdGljQnJlYWs6RTZ0fX0pO2Z1bmN0aW9uIFp5YShhLGUsdCxyKXtpZihlLnR5cGU9PT0iY29kZSImJmpnKGUscikmJihhLnR5cGU9PT0ibGlzdCJ8fGEudHlwZT09PWUudHlwZSYmamcoYSxyKSkpcmV0dXJuITE7aWYoInNwcmVhZCJpbiB0JiZ0eXBlb2YgdC5zcHJlYWQ9PSJib29sZWFuIilyZXR1cm4gYS50eXBlPT09InBhcmFncmFwaCImJihhLnR5cGU9PT1lLnR5cGV8fGUudHlwZT09PSJkZWZpbml0aW9uInx8ZS50eXBlPT09ImhlYWRpbmciJiZrUShlLHIpKT92b2lkIDA6dC5zcHJlYWQ/MTowfXZhciBJNnQsTjZ0PWYoKCk9PnttNGUoKTt4NGUoKTtJNnQ9W1p5YV07cyhaeWEsImpvaW5EZWZhdWx0cyIpfSk7dmFyIFkzLFI2dCxPNnQ9ZigoKT0+e1kzPVsiYXV0b2xpbmsiLCJkZXN0aW5hdGlvbkxpdGVyYWwiLCJkZXN0aW5hdGlvblJhdyIsInJlZmVyZW5jZSIsInRpdGxlUXVvdGUiLCJ0aXRsZUFwb3N0cm9waGUiXSxSNnQ9W3tjaGFyYWN0ZXI6IgkiLGFmdGVyOiJbXFxyXFxuXSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIn0se2NoYXJhY3RlcjoiCSIsYmVmb3JlOiJbXFxyXFxuXSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIn0se2NoYXJhY3RlcjoiCSIsaW5Db25zdHJ1Y3Q6WyJjb2RlRmVuY2VkTGFuZ0dyYXZlQWNjZW50IiwiY29kZUZlbmNlZExhbmdUaWxkZSJdfSx7Y2hhcmFjdGVyOiJcciIsaW5Db25zdHJ1Y3Q6WyJjb2RlRmVuY2VkTGFuZ0dyYXZlQWNjZW50IiwiY29kZUZlbmNlZExhbmdUaWxkZSIsImNvZGVGZW5jZWRNZXRhR3JhdmVBY2NlbnQiLCJjb2RlRmVuY2VkTWV0YVRpbGRlIiwiZGVzdGluYXRpb25MaXRlcmFsIiwiaGVhZGluZ0F0eCJdfSx7Y2hhcmFjdGVyOmAKYCxpbkNvbnN0cnVjdDpbImNvZGVGZW5jZWRMYW5nR3JhdmVBY2NlbnQiLCJjb2RlRmVuY2VkTGFuZ1RpbGRlIiwiY29kZUZlbmNlZE1ldGFHcmF2ZUFjY2VudCIsImNvZGVGZW5jZWRNZXRhVGlsZGUiLCJkZXN0aW5hdGlvbkxpdGVyYWwiLCJoZWFkaW5nQXR4Il19LHtjaGFyYWN0ZXI6IiAiLGFmdGVyOiJbXFxyXFxuXSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIn0se2NoYXJhY3RlcjoiICIsYmVmb3JlOiJbXFxyXFxuXSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIn0se2NoYXJhY3RlcjoiICIsaW5Db25zdHJ1Y3Q6WyJjb2RlRmVuY2VkTGFuZ0dyYXZlQWNjZW50IiwiY29kZUZlbmNlZExhbmdUaWxkZSJdfSx7Y2hhcmFjdGVyOiIhIixhZnRlcjoiXFxbIixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0OlkzfSx7Y2hhcmFjdGVyOiciJyxpbkNvbnN0cnVjdDoidGl0bGVRdW90ZSJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiIyJ9LHtjaGFyYWN0ZXI6IiMiLGluQ29uc3RydWN0OiJoZWFkaW5nQXR4IixhZnRlcjpgKD86W1xyCl18JClgfSx7Y2hhcmFjdGVyOiImIixhZnRlcjoiWyNBLVphLXpdIixpbkNvbnN0cnVjdDoicGhyYXNpbmcifSx7Y2hhcmFjdGVyOiInIixpbkNvbnN0cnVjdDoidGl0bGVBcG9zdHJvcGhlIn0se2NoYXJhY3RlcjoiKCIsaW5Db25zdHJ1Y3Q6ImRlc3RpbmF0aW9uUmF3In0se2JlZm9yZToiXFxdIixjaGFyYWN0ZXI6IigiLGluQ29uc3RydWN0OiJwaHJhc2luZyIsbm90SW5Db25zdHJ1Y3Q6WTN9LHthdEJyZWFrOiEwLGJlZm9yZToiXFxkKyIsY2hhcmFjdGVyOiIpIn0se2NoYXJhY3RlcjoiKSIsaW5Db25zdHJ1Y3Q6ImRlc3RpbmF0aW9uUmF3In0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiIqIixhZnRlcjpgKD86WyAJXHIKKl0pYH0se2NoYXJhY3RlcjoiKiIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDpZM30se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiIrIixhZnRlcjpgKD86WyAJXHIKXSlgfSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6Ii0iLGFmdGVyOmAoPzpbIAlccgotXSlgfSx7YXRCcmVhazohMCxiZWZvcmU6IlxcZCsiLGNoYXJhY3RlcjoiLiIsYWZ0ZXI6YCg/OlsgCVxyCl18JClgfSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6IjwiLGFmdGVyOiJbIS8/QS1aYS16XSJ9LHtjaGFyYWN0ZXI6IjwiLGFmdGVyOiJbIS8/QS1aYS16XSIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDpZM30se2NoYXJhY3RlcjoiPCIsaW5Db25zdHJ1Y3Q6ImRlc3RpbmF0aW9uTGl0ZXJhbCJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiPSJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiPiJ9LHtjaGFyYWN0ZXI6Ij4iLGluQ29uc3RydWN0OiJkZXN0aW5hdGlvbkxpdGVyYWwifSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6IlsifSx7Y2hhcmFjdGVyOiJbIixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0OlkzfSx7Y2hhcmFjdGVyOiJbIixpbkNvbnN0cnVjdDpbImxhYmVsIiwicmVmZXJlbmNlIl19LHtjaGFyYWN0ZXI6IlxcIixhZnRlcjoiW1xcclxcbl0iLGluQ29uc3RydWN0OiJwaHJhc2luZyJ9LHtjaGFyYWN0ZXI6Il0iLGluQ29uc3RydWN0OlsibGFiZWwiLCJyZWZlcmVuY2UiXX0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiJfIn0se2NoYXJhY3RlcjoiXyIsaW5Db25zdHJ1Y3Q6InBocmFzaW5nIixub3RJbkNvbnN0cnVjdDpZM30se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiJgIn0se2NoYXJhY3RlcjoiYCIsaW5Db25zdHJ1Y3Q6WyJjb2RlRmVuY2VkTGFuZ0dyYXZlQWNjZW50IiwiY29kZUZlbmNlZE1ldGFHcmF2ZUFjY2VudCJdfSx7Y2hhcmFjdGVyOiJgIixpbkNvbnN0cnVjdDoicGhyYXNpbmciLG5vdEluQ29uc3RydWN0OlkzfSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6In4ifV19KTtmdW5jdGlvbiBWMChhKXtsZXQgZT0iJiIrYSsiOyI7RjZ0LmlubmVySFRNTD1lO2xldCB0PUY2dC50ZXh0Q29udGVudDtyZXR1cm4gdC5jaGFyQ29kZUF0KHQubGVuZ3RoLTEpPT09NTkmJmEhPT0ic2VtaSJ8fHQ9PT1lPyExOnR9dmFyIEY2dCxXZz1mKCgpPT57RjZ0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImkiKTtzKFYwLCJkZWNvZGVOYW1lZENoYXJhY3RlclJlZmVyZW5jZSIpfSk7ZnVuY3Rpb24gUzgoYSxlKXtsZXQgdD1OdW1iZXIucGFyc2VJbnQoYSxlKTtyZXR1cm4gdDw5fHx0PT09MTF8fHQ+MTMmJnQ8MzJ8fHQ+MTI2JiZ0PDE2MHx8dD41NTI5NSYmdDw1NzM0NHx8dD42NDk3NSYmdDw2NTAwOHx8KHQmNjU1MzUpPT09NjU1MzV8fCh0JjY1NTM1KT09PTY1NTM0fHx0PjExMTQxMTE/Ilx1RkZGRCI6U3RyaW5nLmZyb21Db2RlUG9pbnQodCl9dmFyIENRPWYoKCk9PntzKFM4LCJkZWNvZGVOdW1lcmljQ2hhcmFjdGVyUmVmZXJlbmNlIil9KTtmdW5jdGlvbiBfUShhKXtyZXR1cm4gYS5yZXBsYWNlKFh5YSxReWEpfWZ1bmN0aW9uIFF5YShhLGUsdCl7aWYoZSlyZXR1cm4gZTtpZih0LmNoYXJDb2RlQXQoMCk9PT0zNSl7bGV0IGk9dC5jaGFyQ29kZUF0KDEpLG89aT09PTEyMHx8aT09PTg4O3JldHVybiBTOCh0LnNsaWNlKG8/MjoxKSxvPzE2OjEwKX1yZXR1cm4gVjAodCl8fGF9dmFyIFh5YSxENGU9ZigoKT0+e1dnKCk7Q1EoKTtYeWE9L1xcKFshLS86LUBbLWB7LX5dKXwmKCMoPzpcZHsxLDd9fHhbXGRhLWZdezEsNn0pfFtcZGEtel17MSwzMX0pOy9naTtzKF9RLCJkZWNvZGVTdHJpbmciKTtzKFF5YSwiZGVjb2RlIil9KTtmdW5jdGlvbiBCNnQoYSl7cmV0dXJuIGEubGFiZWx8fCFhLmlkZW50aWZpZXI/YS5sYWJlbHx8IiI6X1EoYS5pZGVudGlmaWVyKX12YXIgSDZ0PWYoKCk9PntENGUoKTtzKEI2dCwiYXNzb2NpYXRpb24iKX0pO2Z1bmN0aW9uIHE2dChhKXtpZighYS5fY29tcGlsZWQpe2xldCBlPShhLmF0QnJlYWs/IltcXHJcXG5dW1xcdCBdKiI6IiIpKyhhLmJlZm9yZT8iKD86IithLmJlZm9yZSsiKSI6IiIpO2EuX2NvbXBpbGVkPW5ldyBSZWdFeHAoKGU/IigiK2UrIikiOiIiKSsoL1t8XFx7fSgpW1xdXiQrKj8uLV0vLnRlc3QoYS5jaGFyYWN0ZXIpPyJcXCI6IiIpK2EuY2hhcmFjdGVyKyhhLmFmdGVyPyIoPzoiK2EuYWZ0ZXIrIikiOiIiKSwiZyIpfXJldHVybiBhLl9jb21waWxlZH12YXIgVjZ0PWYoKCk9PntzKHE2dCwiY29tcGlsZVBhdHRlcm4iKX0pO2Z1bmN0aW9uIGo2dChhLGUsdCl7bGV0IHI9ZS5pbmRleFN0YWNrLGk9YS5jaGlsZHJlbnx8W10sbz1bXSxuPS0xLGw9dC5iZWZvcmUsZDtyLnB1c2goLTEpO2xldCBjPWUuY3JlYXRlVHJhY2tlcih0KTtmb3IoOysrbjxpLmxlbmd0aDspe2xldCBwPWlbbl0sdTtpZihyW3IubGVuZ3RoLTFdPW4sbisxPGkubGVuZ3RoKXtsZXQgeD1lLmhhbmRsZS5oYW5kbGVyc1tpW24rMV0udHlwZV07eCYmeC5wZWVrJiYoeD14LnBlZWspLHU9eD94KGlbbisxXSxhLGUse2JlZm9yZToiIixhZnRlcjoiIiwuLi5jLmN1cnJlbnQoKX0pLmNoYXJBdCgwKToiIn1lbHNlIHU9dC5hZnRlcjtvLmxlbmd0aD4wJiYobD09PSJcciJ8fGw9PT1gCmApJiZwLnR5cGU9PT0iaHRtbCImJihvW28ubGVuZ3RoLTFdPW9bby5sZW5ndGgtMV0ucmVwbGFjZSgvKFxyP1xufFxyKSQvLCIgIiksbD0iICIsYz1lLmNyZWF0ZVRyYWNrZXIodCksYy5tb3ZlKG8uam9pbigiIikpKTtsZXQgbT1lLmhhbmRsZShwLGEsZSx7Li4uYy5jdXJyZW50KCksYWZ0ZXI6dSxiZWZvcmU6bH0pO2QmJmQ9PT1tLnNsaWNlKDAsMSkmJihtPVdvKGQuY2hhckNvZGVBdCgwKSkrbS5zbGljZSgxKSk7bGV0IHY9ZS5hdHRlbnRpb25FbmNvZGVTdXJyb3VuZGluZ0luZm87ZS5hdHRlbnRpb25FbmNvZGVTdXJyb3VuZGluZ0luZm89dm9pZCAwLGQ9dm9pZCAwLHYmJihvLmxlbmd0aD4wJiZ2LmJlZm9yZSYmbD09PW9bby5sZW5ndGgtMV0uc2xpY2UoLTEpJiYob1tvLmxlbmd0aC0xXT1vW28ubGVuZ3RoLTFdLnNsaWNlKDAsLTEpK1dvKGwuY2hhckNvZGVBdCgwKSkpLHYuYWZ0ZXImJihkPXUpKSxjLm1vdmUobSksby5wdXNoKG0pLGw9bS5zbGljZSgtMSl9cmV0dXJuIHIucG9wKCksby5qb2luKCIiKX12YXIgVTZ0PWYoKCk9Pnt3OCgpO3MoajZ0LCJjb250YWluZXJQaHJhc2luZyIpfSk7ZnVuY3Rpb24gVzZ0KGEsZSx0KXtsZXQgcj1lLmluZGV4U3RhY2ssaT1hLmNoaWxkcmVufHxbXSxvPWUuY3JlYXRlVHJhY2tlcih0KSxuPVtdLGw9LTE7Zm9yKHIucHVzaCgtMSk7KytsPGkubGVuZ3RoOyl7bGV0IGQ9aVtsXTtyW3IubGVuZ3RoLTFdPWwsbi5wdXNoKG8ubW92ZShlLmhhbmRsZShkLGEsZSx7YmVmb3JlOmAKYCxhZnRlcjpgCmAsLi4uby5jdXJyZW50KCl9KSkpLGQudHlwZSE9PSJsaXN0IiYmKGUuYnVsbGV0TGFzdFVzZWQ9dm9pZCAwKSxsPGkubGVuZ3RoLTEmJm4ucHVzaChvLm1vdmUoSnlhKGQsaVtsKzFdLGEsZSkpKX1yZXR1cm4gci5wb3AoKSxuLmpvaW4oIiIpfWZ1bmN0aW9uIEp5YShhLGUsdCxyKXtsZXQgaT1yLmpvaW4ubGVuZ3RoO2Zvcig7aS0tOyl7bGV0IG89ci5qb2luW2ldKGEsZSx0LHIpO2lmKG89PT0hMHx8bz09PTEpYnJlYWs7aWYodHlwZW9mIG89PSJudW1iZXIiKXJldHVybmAKYC5yZXBlYXQoMStvKTtpZihvPT09ITEpcmV0dXJuYAoKPCEtLS0tPgoKYH1yZXR1cm5gCgpgfXZhciBHNnQ9ZigoKT0+e3MoVzZ0LCJjb250YWluZXJGbG93Iik7cyhKeWEsImJldHdlZW4iKX0pO2Z1bmN0aW9uIFk2dChhLGUpe2xldCB0PVtdLHI9MCxpPTAsbztmb3IoO289ZXdhLmV4ZWMoYSk7KW4oYS5zbGljZShyLG8uaW5kZXgpKSx0LnB1c2gob1swXSkscj1vLmluZGV4K29bMF0ubGVuZ3RoLGkrKztyZXR1cm4gbihhLnNsaWNlKHIpKSx0LmpvaW4oIiIpO2Z1bmN0aW9uIG4obCl7dC5wdXNoKGUobCxpLCFsKSl9cyhuLCJvbmUiKX12YXIgZXdhLEs2dD1mKCgpPT57ZXdhPS9ccj9cbnxcci9nO3MoWTZ0LCJpbmRlbnRMaW5lcyIpfSk7ZnVuY3Rpb24gWDZ0KGEsZSx0KXtsZXQgcj0odC5iZWZvcmV8fCIiKSsoZXx8IiIpKyh0LmFmdGVyfHwiIiksaT1bXSxvPVtdLG49e30sbD0tMTtmb3IoOysrbDxhLnVuc2FmZS5sZW5ndGg7KXtsZXQgcD1hLnVuc2FmZVtsXTtpZigheFEoYS5zdGFjayxwKSljb250aW51ZTtsZXQgdT1hLmNvbXBpbGVQYXR0ZXJuKHApLG07Zm9yKDttPXUuZXhlYyhyKTspe2xldCB2PSJiZWZvcmUiaW4gcHx8ISFwLmF0QnJlYWsseD0iYWZ0ZXIiaW4gcCxiPW0uaW5kZXgrKHY/bVsxXS5sZW5ndGg6MCk7aS5pbmNsdWRlcyhiKT8obltiXS5iZWZvcmUmJiF2JiYobltiXS5iZWZvcmU9ITEpLG5bYl0uYWZ0ZXImJiF4JiYobltiXS5hZnRlcj0hMSkpOihpLnB1c2goYiksbltiXT17YmVmb3JlOnYsYWZ0ZXI6eH0pfX1pLnNvcnQodHdhKTtsZXQgZD10LmJlZm9yZT90LmJlZm9yZS5sZW5ndGg6MCxjPXIubGVuZ3RoLSh0LmFmdGVyP3QuYWZ0ZXIubGVuZ3RoOjApO2ZvcihsPS0xOysrbDxpLmxlbmd0aDspe2xldCBwPWlbbF07cDxkfHxwPj1jfHxwKzE8YyYmaVtsKzFdPT09cCsxJiZuW3BdLmFmdGVyJiYhbltwKzFdLmJlZm9yZSYmIW5bcCsxXS5hZnRlcnx8aVtsLTFdPT09cC0xJiZuW3BdLmJlZm9yZSYmIW5bcC0xXS5iZWZvcmUmJiFuW3AtMV0uYWZ0ZXJ8fChkIT09cCYmby5wdXNoKFo2dChyLnNsaWNlKGQscCksIlxcIikpLGQ9cCwvWyEtLzotQFstYHstfl0vLnRlc3Qoci5jaGFyQXQocCkpJiYoIXQuZW5jb2RlfHwhdC5lbmNvZGUuaW5jbHVkZXMoci5jaGFyQXQocCkpKT9vLnB1c2goIlxcIik6KG8ucHVzaChXbyhyLmNoYXJDb2RlQXQocCkpKSxkKyspKX1yZXR1cm4gby5wdXNoKFo2dChyLnNsaWNlKGQsYyksdC5hZnRlcikpLG8uam9pbigiIil9ZnVuY3Rpb24gdHdhKGEsZSl7cmV0dXJuIGEtZX1mdW5jdGlvbiBaNnQoYSxlKXtsZXQgdD0vXFwoPz1bIS0vOi1AWy1gey1+XSkvZyxyPVtdLGk9W10sbz1hK2Usbj0tMSxsPTAsZDtmb3IoO2Q9dC5leGVjKG8pOylyLnB1c2goZC5pbmRleCk7Zm9yKDsrK248ci5sZW5ndGg7KWwhPT1yW25dJiZpLnB1c2goYS5zbGljZShsLHJbbl0pKSxpLnB1c2goIlxcIiksbD1yW25dO3JldHVybiBpLnB1c2goYS5zbGljZShsKSksaS5qb2luKCIiKX12YXIgUTZ0PWYoKCk9Pnt3OCgpO2Y0ZSgpO3MoWDZ0LCJzYWZlIik7cyh0d2EsIm51bWVyaWNhbCIpO3MoWjZ0LCJlc2NhcGVCYWNrc2xhc2hlcyIpfSk7ZnVuY3Rpb24gSjZ0KGEpe2xldCBlPWF8fHt9LHQ9ZS5ub3d8fHt9LHI9ZS5saW5lU2hpZnR8fDAsaT10LmxpbmV8fDEsbz10LmNvbHVtbnx8MTtyZXR1cm57bW92ZTpkLGN1cnJlbnQ6bixzaGlmdDpsfTtmdW5jdGlvbiBuKCl7cmV0dXJue25vdzp7bGluZTppLGNvbHVtbjpvfSxsaW5lU2hpZnQ6cn19ZnVuY3Rpb24gbChjKXtyKz1jfWZ1bmN0aW9uIGQoYyl7bGV0IHA9Y3x8IiIsdT1wLnNwbGl0KC9ccj9cbnxcci9nKSxtPXVbdS5sZW5ndGgtMV07cmV0dXJuIGkrPXUubGVuZ3RoLTEsbz11Lmxlbmd0aD09PTE/byttLmxlbmd0aDoxK20ubGVuZ3RoK3IscH19dmFyIGV1dD1mKCgpPT57cyhKNnQsInRyYWNrIil9KTtmdW5jdGlvbiBBNGUoYSxlKXtsZXQgdD1lfHx7fSxyPXthc3NvY2lhdGlvbklkOkI2dCxjb250YWluZXJQaHJhc2luZzppd2EsY29udGFpbmVyRmxvdzpvd2EsY3JlYXRlVHJhY2tlcjpKNnQsY29tcGlsZVBhdHRlcm46cTZ0LGVudGVyOm8saGFuZGxlcnM6ey4uLkczfSxoYW5kbGU6dm9pZCAwLGluZGVudExpbmVzOlk2dCxpbmRleFN0YWNrOltdLGpvaW46Wy4uLkk2dF0sb3B0aW9uczp7fSxzYWZlOm53YSxzdGFjazpbXSx1bnNhZmU6Wy4uLlI2dF19O3A0ZShyLHQpLHIub3B0aW9ucy50aWdodERlZmluaXRpb25zJiZyLmpvaW4ucHVzaChzd2EpLHIuaGFuZGxlPXZRKCJ0eXBlIix7aW52YWxpZDphd2EsdW5rbm93bjpyd2EsaGFuZGxlcnM6ci5oYW5kbGVyc30pO2xldCBpPXIuaGFuZGxlKGEsdm9pZCAwLHIse2JlZm9yZTpgCmAsYWZ0ZXI6YApgLG5vdzp7bGluZToxLGNvbHVtbjoxfSxsaW5lU2hpZnQ6MH0pO3JldHVybiBpJiZpLmNoYXJDb2RlQXQoaS5sZW5ndGgtMSkhPT0xMCYmaS5jaGFyQ29kZUF0KGkubGVuZ3RoLTEpIT09MTMmJihpKz1gCmApLGk7ZnVuY3Rpb24gbyhuKXtyZXR1cm4gci5zdGFjay5wdXNoKG4pLGw7ZnVuY3Rpb24gbCgpe3Iuc3RhY2sucG9wKCl9cyhsLCJleGl0Iil9cyhvLCJlbnRlciIpfWZ1bmN0aW9uIGF3YShhKXt0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBoYW5kbGUgdmFsdWUgYCIrYSsiYCwgZXhwZWN0ZWQgbm9kZSIpfWZ1bmN0aW9uIHJ3YShhKXtsZXQgZT1hO3Rocm93IG5ldyBFcnJvcigiQ2Fubm90IGhhbmRsZSB1bmtub3duIG5vZGUgYCIrZS50eXBlKyJgIil9ZnVuY3Rpb24gc3dhKGEsZSl7aWYoYS50eXBlPT09ImRlZmluaXRpb24iJiZhLnR5cGU9PT1lLnR5cGUpcmV0dXJuIDB9ZnVuY3Rpb24gaXdhKGEsZSl7cmV0dXJuIGo2dChhLHRoaXMsZSl9ZnVuY3Rpb24gb3dhKGEsZSl7cmV0dXJuIFc2dChhLHRoaXMsZSl9ZnVuY3Rpb24gbndhKGEsZSl7cmV0dXJuIFg2dCh0aGlzLGEsZSl9dmFyIHR1dD1mKCgpPT57dTRlKCk7SWR0KCk7JDRlKCk7TjZ0KCk7TzZ0KCk7SDZ0KCk7VjZ0KCk7VTZ0KCk7RzZ0KCk7SzZ0KCk7UTZ0KCk7ZXV0KCk7cyhBNGUsInRvTWFya2Rvd24iKTtzKGF3YSwiaW52YWxpZCIpO3MocndhLCJ1bmtub3duIik7cyhzd2EsImpvaW5EZWZpbml0aW9uIik7cyhpd2EsImNvbnRhaW5lclBocmFzaW5nQm91bmQiKTtzKG93YSwiY29udGFpbmVyRmxvd0JvdW5kIik7cyhud2EsInNhZmVCb3VuZCIpfSk7dmFyIFRRPWYoKCk9Pnt0dXQoKTskNGUoKX0pO2Z1bmN0aW9uIFA0ZSgpe3JldHVybntlbnRlcjp7dGFibGU6bHdhLHRhYmxlRGF0YTphdXQsdGFibGVIZWFkZXI6YXV0LHRhYmxlUm93OmR3YX0sZXhpdDp7Y29kZVRleHQ6dXdhLHRhYmxlOmN3YSx0YWJsZURhdGE6RTRlLHRhYmxlSGVhZGVyOkU0ZSx0YWJsZVJvdzpFNGV9fX1mdW5jdGlvbiBsd2EoYSl7bGV0IGU9YS5fYWxpZ247dGhpcy5lbnRlcih7dHlwZToidGFibGUiLGFsaWduOmUubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0PT09Im5vbmUiP251bGw6dH0pLGNoaWxkcmVuOltdfSxhKSx0aGlzLmRhdGEuaW5UYWJsZT0hMH1mdW5jdGlvbiBjd2EoYSl7dGhpcy5leGl0KGEpLHRoaXMuZGF0YS5pblRhYmxlPXZvaWQgMH1mdW5jdGlvbiBkd2EoYSl7dGhpcy5lbnRlcih7dHlwZToidGFibGVSb3ciLGNoaWxkcmVuOltdfSxhKX1mdW5jdGlvbiBFNGUoYSl7dGhpcy5leGl0KGEpfWZ1bmN0aW9uIGF1dChhKXt0aGlzLmVudGVyKHt0eXBlOiJ0YWJsZUNlbGwiLGNoaWxkcmVuOltdfSxhKX1mdW5jdGlvbiB1d2EoYSl7bGV0IGU9dGhpcy5yZXN1bWUoKTt0aGlzLmRhdGEuaW5UYWJsZSYmKGU9ZS5yZXBsYWNlKC9cXChbXFx8XSkvZyxwd2EpKTtsZXQgdD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO3QudHlwZSx0LnZhbHVlPWUsdGhpcy5leGl0KGEpfWZ1bmN0aW9uIHB3YShhLGUpe3JldHVybiBlPT09InwiP2U6YX1mdW5jdGlvbiBJNGUoYSl7bGV0IGU9YXx8e30sdD1lLnRhYmxlQ2VsbFBhZGRpbmcscj1lLnRhYmxlUGlwZUFsaWduLGk9ZS5zdHJpbmdMZW5ndGgsbz10PyIgIjoifCI7cmV0dXJue3Vuc2FmZTpbe2NoYXJhY3RlcjoiXHIiLGluQ29uc3RydWN0OiJ0YWJsZUNlbGwifSx7Y2hhcmFjdGVyOmAKYCxpbkNvbnN0cnVjdDoidGFibGVDZWxsIn0se2F0QnJlYWs6ITAsY2hhcmFjdGVyOiJ8IixhZnRlcjoiWwkgOi1dIn0se2NoYXJhY3RlcjoifCIsaW5Db25zdHJ1Y3Q6InRhYmxlQ2VsbCJ9LHthdEJyZWFrOiEwLGNoYXJhY3RlcjoiOiIsYWZ0ZXI6Ii0ifSx7YXRCcmVhazohMCxjaGFyYWN0ZXI6Ii0iLGFmdGVyOiJbOnwtXSJ9XSxoYW5kbGVyczp7aW5saW5lQ29kZTptLHRhYmxlOm4sdGFibGVDZWxsOmQsdGFibGVSb3c6bH19O2Z1bmN0aW9uIG4odix4LGIsZyl7cmV0dXJuIGMocCh2LGIsZyksdi5hbGlnbil9ZnVuY3Rpb24gbCh2LHgsYixnKXtsZXQgeT11KHYsYixnKSxrPWMoW3ldKTtyZXR1cm4gay5zbGljZSgwLGsuaW5kZXhPZihgCmApKX1mdW5jdGlvbiBkKHYseCxiLGcpe2xldCB5PWIuZW50ZXIoInRhYmxlQ2VsbCIpLGs9Yi5lbnRlcigicGhyYXNpbmciKSxDPWIuY29udGFpbmVyUGhyYXNpbmcodix7Li4uZyxiZWZvcmU6byxhZnRlcjpvfSk7cmV0dXJuIGsoKSx5KCksQ31mdW5jdGlvbiBjKHYseCl7cmV0dXJuIERkdCh2LHthbGlnbjp4LGFsaWduRGVsaW1pdGVyczpyLHBhZGRpbmc6dCxzdHJpbmdMZW5ndGg6aX0pfWZ1bmN0aW9uIHAodix4LGIpe2xldCBnPXYuY2hpbGRyZW4seT0tMSxrPVtdLEM9eC5lbnRlcigidGFibGUiKTtmb3IoOysreTxnLmxlbmd0aDspa1t5XT11KGdbeV0seCxiKTtyZXR1cm4gQygpLGt9ZnVuY3Rpb24gdSh2LHgsYil7bGV0IGc9di5jaGlsZHJlbix5PS0xLGs9W10sQz14LmVudGVyKCJ0YWJsZVJvdyIpO2Zvcig7Kyt5PGcubGVuZ3RoOylrW3ldPWQoZ1t5XSx2LHgsYik7cmV0dXJuIEMoKSxrfWZ1bmN0aW9uIG0odix4LGIpe2xldCBnPUczLmlubGluZUNvZGUodix4LGIpO3JldHVybiBiLnN0YWNrLmluY2x1ZGVzKCJ0YWJsZUNlbGwiKSYmKGc9Zy5yZXBsYWNlKC9cfC9nLCJcXCQmIikpLGd9fXZhciBydXQ9ZigoKT0+e0YwKCk7QWR0KCk7VFEoKTtzKFA0ZSwiZ2ZtVGFibGVGcm9tTWFya2Rvd24iKTtzKGx3YSwiZW50ZXJUYWJsZSIpO3MoY3dhLCJleGl0VGFibGUiKTtzKGR3YSwiZW50ZXJSb3ciKTtzKEU0ZSwiZXhpdCIpO3MoYXV0LCJlbnRlckNlbGwiKTtzKHV3YSwiZXhpdENvZGVUZXh0Iik7cyhwd2EsInJlcGxhY2UiKTtzKEk0ZSwiZ2ZtVGFibGVUb01hcmtkb3duIil9KTt2YXIgc3V0PWYoKCk9PntydXQoKX0pO2Z1bmN0aW9uIE40ZSgpe3JldHVybntleGl0Ont0YXNrTGlzdENoZWNrVmFsdWVDaGVja2VkOml1dCx0YXNrTGlzdENoZWNrVmFsdWVVbmNoZWNrZWQ6aXV0LHBhcmFncmFwaDpmd2F9fX1mdW5jdGlvbiBSNGUoKXtyZXR1cm57dW5zYWZlOlt7YXRCcmVhazohMCxjaGFyYWN0ZXI6Ii0iLGFmdGVyOiJbOnwtXSJ9XSxoYW5kbGVyczp7bGlzdEl0ZW06aHdhfX19ZnVuY3Rpb24gaXV0KGEpe2xldCBlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMl07ZS50eXBlLGUuY2hlY2tlZD1hLnR5cGU9PT0idGFza0xpc3RDaGVja1ZhbHVlQ2hlY2tlZCJ9ZnVuY3Rpb24gZndhKGEpe2xldCBlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMl07aWYoZSYmZS50eXBlPT09Imxpc3RJdGVtIiYmdHlwZW9mIGUuY2hlY2tlZD09ImJvb2xlYW4iKXtsZXQgdD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO3QudHlwZTtsZXQgcj10LmNoaWxkcmVuWzBdO2lmKHImJnIudHlwZT09PSJ0ZXh0Iil7bGV0IGk9ZS5jaGlsZHJlbixvPS0xLG47Zm9yKDsrK288aS5sZW5ndGg7KXtsZXQgbD1pW29dO2lmKGwudHlwZT09PSJwYXJhZ3JhcGgiKXtuPWw7YnJlYWt9fW49PT10JiYoci52YWx1ZT1yLnZhbHVlLnNsaWNlKDEpLHIudmFsdWUubGVuZ3RoPT09MD90LmNoaWxkcmVuLnNoaWZ0KCk6dC5wb3NpdGlvbiYmci5wb3NpdGlvbiYmdHlwZW9mIHIucG9zaXRpb24uc3RhcnQub2Zmc2V0PT0ibnVtYmVyIiYmKHIucG9zaXRpb24uc3RhcnQuY29sdW1uKyssci5wb3NpdGlvbi5zdGFydC5vZmZzZXQrKyx0LnBvc2l0aW9uLnN0YXJ0PU9iamVjdC5hc3NpZ24oe30sci5wb3NpdGlvbi5zdGFydCkpKX19dGhpcy5leGl0KGEpfWZ1bmN0aW9uIGh3YShhLGUsdCxyKXtsZXQgaT1hLmNoaWxkcmVuWzBdLG89dHlwZW9mIGEuY2hlY2tlZD09ImJvb2xlYW4iJiZpJiZpLnR5cGU9PT0icGFyYWdyYXBoIixuPSJbIisoYS5jaGVja2VkPyJ4IjoiICIpKyJdICIsbD10LmNyZWF0ZVRyYWNrZXIocik7byYmbC5tb3ZlKG4pO2xldCBkPUczLmxpc3RJdGVtKGEsZSx0LHsuLi5yLC4uLmwuY3VycmVudCgpfSk7cmV0dXJuIG8mJihkPWQucmVwbGFjZSgvXig/OlsqKy1dfFxkK1wuKShbXHJcbl18IHsxLDN9KS8sYykpLGQ7ZnVuY3Rpb24gYyhwKXtyZXR1cm4gcCtufXMoYywiY2hlY2siKX12YXIgb3V0PWYoKCk9PntGMCgpO1RRKCk7cyhONGUsImdmbVRhc2tMaXN0SXRlbUZyb21NYXJrZG93biIpO3MoUjRlLCJnZm1UYXNrTGlzdEl0ZW1Ub01hcmtkb3duIik7cyhpdXQsImV4aXRDaGVjayIpO3MoZndhLCJleGl0UGFyYWdyYXBoV2l0aFRhc2tMaXN0SXRlbSIpO3MoaHdhLCJsaXN0SXRlbVdpdGhUYXNrTGlzdEl0ZW0iKX0pO3ZhciBudXQ9ZigoKT0+e291dCgpfSk7ZnVuY3Rpb24gTzRlKCl7cmV0dXJuW2k0ZSgpLG40ZSgpLGM0ZSgpLFA0ZSgpLE40ZSgpXX1mdW5jdGlvbiBGNGUoYSl7cmV0dXJue2V4dGVuc2lvbnM6W280ZSgpLGw0ZShhKSxkNGUoKSxJNGUoYSksUjRlKCldfX12YXIgbHV0PWYoKCk9PntNZHQoKTtDZHQoKTtMZHQoKTtzdXQoKTtudXQoKTtzKE80ZSwiZ2ZtRnJvbU1hcmtkb3duIik7cyhGNGUsImdmbVRvTWFya2Rvd24iKX0pO3ZhciBjdXQ9ZigoKT0+e2x1dCgpfSk7ZnVuY3Rpb24gVXIoYSxlLHQscil7bGV0IGk9YS5sZW5ndGgsbz0wLG47aWYoZTwwP2U9LWU+aT8wOmkrZTplPWU+aT9pOmUsdD10PjA/dDowLHIubGVuZ3RoPDFlNCluPUFycmF5LmZyb20ociksbi51bnNoaWZ0KGUsdCksYS5zcGxpY2UoLi4ubik7ZWxzZSBmb3IodCYmYS5zcGxpY2UoZSx0KTtvPHIubGVuZ3RoOyluPXIuc2xpY2UobyxvKzFlNCksbi51bnNoaWZ0KGUsMCksYS5zcGxpY2UoLi4ubiksbys9MWU0LGUrPTFlNH1mdW5jdGlvbiBjcyhhLGUpe3JldHVybiBhLmxlbmd0aD4wPyhVcihhLGEubGVuZ3RoLDAsZSksYSk6ZX12YXIgQTI9ZigoKT0+e3MoVXIsInNwbGljZSIpO3MoY3MsInB1c2giKX0pO2Z1bmN0aW9uIExRKGEpe2xldCBlPXt9LHQ9LTE7Zm9yKDsrK3Q8YS5sZW5ndGg7KW13YShlLGFbdF0pO3JldHVybiBlfWZ1bmN0aW9uIG13YShhLGUpe2xldCB0O2Zvcih0IGluIGUpe2xldCBpPShCNGUuY2FsbChhLHQpP2FbdF06dm9pZCAwKXx8KGFbdF09e30pLG89ZVt0XSxuO2lmKG8pZm9yKG4gaW4gbyl7QjRlLmNhbGwoaSxuKXx8KGlbbl09W10pO2xldCBsPW9bbl07Z3dhKGlbbl0sQXJyYXkuaXNBcnJheShsKT9sOmw/W2xdOltdKX19fWZ1bmN0aW9uIGd3YShhLGUpe2xldCB0PS0xLHI9W107Zm9yKDsrK3Q8ZS5sZW5ndGg7KShlW3RdLmFkZD09PSJhZnRlciI/YTpyKS5wdXNoKGVbdF0pO1VyKGEsMCwwLHIpfWZ1bmN0aW9uICRRKGEpe2xldCBlPXt9LHQ9LTE7Zm9yKDsrK3Q8YS5sZW5ndGg7KWJ3YShlLGFbdF0pO3JldHVybiBlfWZ1bmN0aW9uIGJ3YShhLGUpe2xldCB0O2Zvcih0IGluIGUpe2xldCBpPShCNGUuY2FsbChhLHQpP2FbdF06dm9pZCAwKXx8KGFbdF09e30pLG89ZVt0XSxuO2lmKG8pZm9yKG4gaW4gbylpW25dPW9bbl19fXZhciBCNGUsRFE9ZigoKT0+e0EyKCk7QjRlPXt9Lmhhc093blByb3BlcnR5O3MoTFEsImNvbWJpbmVFeHRlbnNpb25zIik7cyhtd2EsInN5bnRheEV4dGVuc2lvbiIpO3MoZ3dhLCJjb25zdHJ1Y3RzIik7cygkUSwiY29tYmluZUh0bWxFeHRlbnNpb25zIik7cyhid2EsImh0bWxFeHRlbnNpb24iKX0pO2Z1bmN0aW9uIFY0ZSgpe3JldHVybnt0ZXh0OkUyfX1mdW5jdGlvbiB5d2EoYSxlLHQpe2xldCByPXRoaXMsaSxvO3JldHVybiBuO2Z1bmN0aW9uIG4odSl7cmV0dXJuIUg0ZSh1KXx8IWJ1dC5jYWxsKHIsci5wcmV2aW91cyl8fHE0ZShyLmV2ZW50cyk/dCh1KTooYS5lbnRlcigibGl0ZXJhbEF1dG9saW5rIiksYS5lbnRlcigibGl0ZXJhbEF1dG9saW5rRW1haWwiKSxsKHUpKX1mdW5jdGlvbiBsKHUpe3JldHVybiBINGUodSk/KGEuY29uc3VtZSh1KSxsKTp1PT09NjQ/KGEuY29uc3VtZSh1KSxkKTp0KHUpfWZ1bmN0aW9uIGQodSl7cmV0dXJuIHU9PT00Nj9hLmNoZWNrKHh3YSxwLGMpKHUpOnU9PT00NXx8dT09PTk1fHxQcih1KT8obz0hMCxhLmNvbnN1bWUodSksZCk6cCh1KX1mdW5jdGlvbiBjKHUpe3JldHVybiBhLmNvbnN1bWUodSksaT0hMCxkfWZ1bmN0aW9uIHAodSl7cmV0dXJuIG8mJmkmJlRzKHIucHJldmlvdXMpPyhhLmV4aXQoImxpdGVyYWxBdXRvbGlua0VtYWlsIiksYS5leGl0KCJsaXRlcmFsQXV0b2xpbmsiKSxlKHUpKTp0KHUpfX1mdW5jdGlvbiB3d2EoYSxlLHQpe2xldCByPXRoaXM7cmV0dXJuIGk7ZnVuY3Rpb24gaShuKXtyZXR1cm4gbiE9PTg3JiZuIT09MTE5fHwhbXV0LmNhbGwocixyLnByZXZpb3VzKXx8cTRlKHIuZXZlbnRzKT90KG4pOihhLmVudGVyKCJsaXRlcmFsQXV0b2xpbmsiKSxhLmVudGVyKCJsaXRlcmFsQXV0b2xpbmtXd3ciKSxhLmNoZWNrKHZ3YSxhLmF0dGVtcHQoZHV0LGEuYXR0ZW1wdCh1dXQsbyksdCksdCkobikpfWZ1bmN0aW9uIG8obil7cmV0dXJuIGEuZXhpdCgibGl0ZXJhbEF1dG9saW5rV3d3IiksYS5leGl0KCJsaXRlcmFsQXV0b2xpbmsiKSxlKG4pfX1mdW5jdGlvbiBNd2EoYSxlLHQpe2xldCByPXRoaXMsaT0iIixvPSExO3JldHVybiBuO2Z1bmN0aW9uIG4odSl7cmV0dXJuKHU9PT03Mnx8dT09PTEwNCkmJmd1dC5jYWxsKHIsci5wcmV2aW91cykmJiFxNGUoci5ldmVudHMpPyhhLmVudGVyKCJsaXRlcmFsQXV0b2xpbmsiKSxhLmVudGVyKCJsaXRlcmFsQXV0b2xpbmtIdHRwIiksaSs9U3RyaW5nLmZyb21Db2RlUG9pbnQodSksYS5jb25zdW1lKHUpLGwpOnQodSl9ZnVuY3Rpb24gbCh1KXtpZihUcyh1KSYmaS5sZW5ndGg8NSlyZXR1cm4gaSs9U3RyaW5nLmZyb21Db2RlUG9pbnQodSksYS5jb25zdW1lKHUpLGw7aWYodT09PTU4KXtsZXQgbT1pLnRvTG93ZXJDYXNlKCk7aWYobT09PSJodHRwInx8bT09PSJodHRwcyIpcmV0dXJuIGEuY29uc3VtZSh1KSxkfXJldHVybiB0KHUpfWZ1bmN0aW9uIGQodSl7cmV0dXJuIHU9PT00Nz8oYS5jb25zdW1lKHUpLG8/Yzoobz0hMCxkKSk6dCh1KX1mdW5jdGlvbiBjKHUpe3JldHVybiB1PT09bnVsbHx8VjModSl8fHVhKHUpfHxEMih1KXx8ajModSk/dCh1KTphLmF0dGVtcHQoZHV0LGEuYXR0ZW1wdCh1dXQscCksdCkodSl9ZnVuY3Rpb24gcCh1KXtyZXR1cm4gYS5leGl0KCJsaXRlcmFsQXV0b2xpbmtIdHRwIiksYS5leGl0KCJsaXRlcmFsQXV0b2xpbmsiKSxlKHUpfX1mdW5jdGlvbiBrd2EoYSxlLHQpe2xldCByPTA7cmV0dXJuIGk7ZnVuY3Rpb24gaShuKXtyZXR1cm4obj09PTg3fHxuPT09MTE5KSYmcjwzPyhyKyssYS5jb25zdW1lKG4pLGkpOm49PT00NiYmcj09PTM/KGEuY29uc3VtZShuKSxvKTp0KG4pfWZ1bmN0aW9uIG8obil7cmV0dXJuIG49PT1udWxsP3Qobik6ZShuKX19ZnVuY3Rpb24gU3dhKGEsZSx0KXtsZXQgcixpLG87cmV0dXJuIG47ZnVuY3Rpb24gbihjKXtyZXR1cm4gYz09PTQ2fHxjPT09OTU/YS5jaGVjayhwdXQsZCxsKShjKTpjPT09bnVsbHx8dWEoYyl8fEQyKGMpfHxjIT09NDUmJmozKGMpP2QoYyk6KG89ITAsYS5jb25zdW1lKGMpLG4pfWZ1bmN0aW9uIGwoYyl7cmV0dXJuIGM9PT05NT9yPSEwOihpPXIscj12b2lkIDApLGEuY29uc3VtZShjKSxufWZ1bmN0aW9uIGQoYyl7cmV0dXJuIGl8fHJ8fCFvP3QoYyk6ZShjKX19ZnVuY3Rpb24gendhKGEsZSl7bGV0IHQ9MCxyPTA7cmV0dXJuIGk7ZnVuY3Rpb24gaShuKXtyZXR1cm4gbj09PTQwPyh0KyssYS5jb25zdW1lKG4pLGkpOm49PT00MSYmcjx0P28obik6bj09PTMzfHxuPT09MzR8fG49PT0zOHx8bj09PTM5fHxuPT09NDF8fG49PT00Mnx8bj09PTQ0fHxuPT09NDZ8fG49PT01OHx8bj09PTU5fHxuPT09NjB8fG49PT02M3x8bj09PTkzfHxuPT09OTV8fG49PT0xMjY/YS5jaGVjayhwdXQsZSxvKShuKTpuPT09bnVsbHx8dWEobil8fEQyKG4pP2Uobik6KGEuY29uc3VtZShuKSxpKX1mdW5jdGlvbiBvKG4pe3JldHVybiBuPT09NDEmJnIrKyxhLmNvbnN1bWUobiksaX19ZnVuY3Rpb24gQ3dhKGEsZSx0KXtyZXR1cm4gcjtmdW5jdGlvbiByKGwpe3JldHVybiBsPT09MzN8fGw9PT0zNHx8bD09PTM5fHxsPT09NDF8fGw9PT00Mnx8bD09PTQ0fHxsPT09NDZ8fGw9PT01OHx8bD09PTU5fHxsPT09NjN8fGw9PT05NXx8bD09PTEyNj8oYS5jb25zdW1lKGwpLHIpOmw9PT0zOD8oYS5jb25zdW1lKGwpLG8pOmw9PT05Mz8oYS5jb25zdW1lKGwpLGkpOmw9PT02MHx8bD09PW51bGx8fHVhKGwpfHxEMihsKT9lKGwpOnQobCl9ZnVuY3Rpb24gaShsKXtyZXR1cm4gbD09PW51bGx8fGw9PT00MHx8bD09PTkxfHx1YShsKXx8RDIobCk/ZShsKTpyKGwpfWZ1bmN0aW9uIG8obCl7cmV0dXJuIFRzKGwpP24obCk6dChsKX1mdW5jdGlvbiBuKGwpe3JldHVybiBsPT09NTk/KGEuY29uc3VtZShsKSxyKTpUcyhsKT8oYS5jb25zdW1lKGwpLG4pOnQobCl9fWZ1bmN0aW9uIF93YShhLGUsdCl7cmV0dXJuIHI7ZnVuY3Rpb24gcihvKXtyZXR1cm4gYS5jb25zdW1lKG8pLGl9ZnVuY3Rpb24gaShvKXtyZXR1cm4gUHIobyk/dChvKTplKG8pfX1mdW5jdGlvbiBtdXQoYSl7cmV0dXJuIGE9PT1udWxsfHxhPT09NDB8fGE9PT00Mnx8YT09PTk1fHxhPT09OTF8fGE9PT05M3x8YT09PTEyNnx8dWEoYSl9ZnVuY3Rpb24gZ3V0KGEpe3JldHVybiFUcyhhKX1mdW5jdGlvbiBidXQoYSl7cmV0dXJuIShhPT09NDd8fEg0ZShhKSl9ZnVuY3Rpb24gSDRlKGEpe3JldHVybiBhPT09NDN8fGE9PT00NXx8YT09PTQ2fHxhPT09OTV8fFByKGEpfWZ1bmN0aW9uIHE0ZShhKXtsZXQgZT1hLmxlbmd0aCx0PSExO2Zvcig7ZS0tOyl7bGV0IHI9YVtlXVsxXTtpZigoci50eXBlPT09ImxhYmVsTGluayJ8fHIudHlwZT09PSJsYWJlbEltYWdlIikmJiFyLl9iYWxhbmNlZCl7dD0hMDticmVha31pZihyLl9nZm1BdXRvbGlua0xpdGVyYWxXYWxrZWRJbnRvKXt0PSExO2JyZWFrfX1yZXR1cm4gYS5sZW5ndGg+MCYmIXQmJihhW2EubGVuZ3RoLTFdWzFdLl9nZm1BdXRvbGlua0xpdGVyYWxXYWxrZWRJbnRvPSEwKSx0fXZhciB2d2EsZHV0LHV1dCxwdXQseHdhLGZ1dCxodXQsamwsRTIsdnV0PWYoKCk9PntiYSgpO3Z3YT17dG9rZW5pemU6a3dhLHBhcnRpYWw6ITB9LGR1dD17dG9rZW5pemU6U3dhLHBhcnRpYWw6ITB9LHV1dD17dG9rZW5pemU6endhLHBhcnRpYWw6ITB9LHB1dD17dG9rZW5pemU6Q3dhLHBhcnRpYWw6ITB9LHh3YT17dG9rZW5pemU6X3dhLHBhcnRpYWw6ITB9LGZ1dD17bmFtZToid3d3QXV0b2xpbmsiLHRva2VuaXplOnd3YSxwcmV2aW91czptdXR9LGh1dD17bmFtZToicHJvdG9jb2xBdXRvbGluayIsdG9rZW5pemU6TXdhLHByZXZpb3VzOmd1dH0samw9e25hbWU6ImVtYWlsQXV0b2xpbmsiLHRva2VuaXplOnl3YSxwcmV2aW91czpidXR9LEUyPXt9O3MoVjRlLCJnZm1BdXRvbGlua0xpdGVyYWwiKTtmb3IodmFyIEszPTQ4O0szPDEyMzspRTJbSzNdPWpsLEszKyssSzM9PT01OD9LMz02NTpLMz09PTkxJiYoSzM9OTcpO0UyWzQzXT1qbCxFMls0NV09amwsRTJbNDZdPWpsLEUyWzk1XT1qbCxFMls3Ml09W2psLGh1dF0sRTJbMTA0XT1bamwsaHV0XSxFMls4N109W2psLGZ1dF0sRTJbMTE5XT1bamwsZnV0XTtzKHl3YSwidG9rZW5pemVFbWFpbEF1dG9saW5rIik7cyh3d2EsInRva2VuaXplV3d3QXV0b2xpbmsiKTtzKE13YSwidG9rZW5pemVQcm90b2NvbEF1dG9saW5rIik7cyhrd2EsInRva2VuaXplV3d3UHJlZml4Iik7cyhTd2EsInRva2VuaXplRG9tYWluIik7cyh6d2EsInRva2VuaXplUGF0aCIpO3MoQ3dhLCJ0b2tlbml6ZVRyYWlsIik7cyhfd2EsInRva2VuaXplRW1haWxEb21haW5Eb3RUcmFpbCIpO3MobXV0LCJwcmV2aW91c1d3dyIpO3MoZ3V0LCJwcmV2aW91c1Byb3RvY29sIik7cyhidXQsInByZXZpb3VzRW1haWwiKTtzKEg0ZSwiZ2ZtQXRleHQiKTtzKHE0ZSwicHJldmlvdXNVbmJhbGFuY2VkIil9KTtmdW5jdGlvbiBBUShhKXtyZXR1cm4gYS5yZXBsYWNlKC9bIiY8Pl0vZyxlKTtmdW5jdGlvbiBlKHQpe3JldHVybiImIitUd2FbdF0rIjsifX12YXIgVHdhLGo0ZT1mKCgpPT57VHdhPXsnIic6InF1b3QiLCImIjoiYW1wIiwiPCI6Imx0IiwiPiI6Imd0In07cyhBUSwiZW5jb2RlIil9KTtmdW5jdGlvbiBQMihhLGUpe2xldCB0PUFRKEdvKGF8fCIiKSk7aWYoIWUpcmV0dXJuIHQ7bGV0IHI9dC5pbmRleE9mKCI6IiksaT10LmluZGV4T2YoIj8iKSxvPXQuaW5kZXhPZigiIyIpLG49dC5pbmRleE9mKCIvIik7cmV0dXJuIHI8MHx8bj4tMSYmcj5ufHxpPi0xJiZyPml8fG8+LTEmJnI+b3x8ZS50ZXN0KHQuc2xpY2UoMCxyKSk/dDoiIn1mdW5jdGlvbiBHbyhhKXtsZXQgZT1bXSx0PS0xLHI9MCxpPTA7Zm9yKDsrK3Q8YS5sZW5ndGg7KXtsZXQgbz1hLmNoYXJDb2RlQXQodCksbj0iIjtpZihvPT09MzcmJlByKGEuY2hhckNvZGVBdCh0KzEpKSYmUHIoYS5jaGFyQ29kZUF0KHQrMikpKWk9MjtlbHNlIGlmKG88MTI4KS9bISMkJi07PT8tWl9hLXp+XS8udGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKG8pKXx8KG49U3RyaW5nLmZyb21DaGFyQ29kZShvKSk7ZWxzZSBpZihvPjU1Mjk1JiZvPDU3MzQ0KXtsZXQgbD1hLmNoYXJDb2RlQXQodCsxKTtvPDU2MzIwJiZsPjU2MzE5JiZsPDU3MzQ0PyhuPVN0cmluZy5mcm9tQ2hhckNvZGUobyxsKSxpPTEpOm49Ilx1RkZGRCJ9ZWxzZSBuPVN0cmluZy5mcm9tQ2hhckNvZGUobyk7biYmKGUucHVzaChhLnNsaWNlKHIsdCksZW5jb2RlVVJJQ29tcG9uZW50KG4pKSxyPXQraSsxLG49IiIpLGkmJih0Kz1pLGk9MCl9cmV0dXJuIGUuam9pbigiIikrYS5zbGljZShyKX12YXIgSTI9ZigoKT0+e2JhKCk7ajRlKCk7cyhQMiwic2FuaXRpemVVcmkiKTtzKEdvLCJub3JtYWxpemVVcmkiKX0pO2Z1bmN0aW9uIFc0ZSgpe3JldHVybntleGl0OntsaXRlcmFsQXV0b2xpbmtFbWFpbDokd2EsbGl0ZXJhbEF1dG9saW5rSHR0cDpEd2EsbGl0ZXJhbEF1dG9saW5rV3d3Okx3YX19fWZ1bmN0aW9uIEx3YShhKXtVNGUuY2FsbCh0aGlzLGEsImh0dHA6Ly8iKX1mdW5jdGlvbiAkd2EoYSl7VTRlLmNhbGwodGhpcyxhLCJtYWlsdG86Iil9ZnVuY3Rpb24gRHdhKGEpe1U0ZS5jYWxsKHRoaXMsYSl9ZnVuY3Rpb24gVTRlKGEsZSl7bGV0IHQ9dGhpcy5zbGljZVNlcmlhbGl6ZShhKTt0aGlzLnRhZygnPGEgaHJlZj0iJytQMigoZXx8IiIpK3QpKyciPicpLHRoaXMucmF3KHRoaXMuZW5jb2RlKHQpKSx0aGlzLnRhZygiPC9hPiIpfXZhciB4dXQ9ZigoKT0+e0kyKCk7cyhXNGUsImdmbUF1dG9saW5rTGl0ZXJhbEh0bWwiKTtzKEx3YSwibGl0ZXJhbEF1dG9saW5rV3d3Iik7cygkd2EsImxpdGVyYWxBdXRvbGlua0VtYWlsIik7cyhEd2EsImxpdGVyYWxBdXRvbGlua0h0dHAiKTtzKFU0ZSwiYW5jaG9yRnJvbVRva2VuIil9KTt2YXIgeXV0PWYoKCk9Pnt2dXQoKTt4dXQoKX0pO2Z1bmN0aW9uIGowKGEsZSx0KXtsZXQgcj1bXSxpPS0xO2Zvcig7KytpPGEubGVuZ3RoOyl7bGV0IG89YVtpXS5yZXNvbHZlQWxsO28mJiFyLmluY2x1ZGVzKG8pJiYoZT1vKGUsdCksci5wdXNoKG8pKX1yZXR1cm4gZX12YXIgR2c9ZigoKT0+e3MoajAsInJlc29sdmVBbGwiKX0pO2Z1bmN0aW9uIEF3YShhLGUpe2xldCB0PS0xLHIsaSxvLG4sbCxkLGMscDtmb3IoOysrdDxhLmxlbmd0aDspaWYoYVt0XVswXT09PSJlbnRlciImJmFbdF1bMV0udHlwZT09PSJhdHRlbnRpb25TZXF1ZW5jZSImJmFbdF1bMV0uX2Nsb3NlKXtmb3Iocj10O3ItLTspaWYoYVtyXVswXT09PSJleGl0IiYmYVtyXVsxXS50eXBlPT09ImF0dGVudGlvblNlcXVlbmNlIiYmYVtyXVsxXS5fb3BlbiYmZS5zbGljZVNlcmlhbGl6ZShhW3JdWzFdKS5jaGFyQ29kZUF0KDApPT09ZS5zbGljZVNlcmlhbGl6ZShhW3RdWzFdKS5jaGFyQ29kZUF0KDApKXtpZigoYVtyXVsxXS5fY2xvc2V8fGFbdF1bMV0uX29wZW4pJiYoYVt0XVsxXS5lbmQub2Zmc2V0LWFbdF1bMV0uc3RhcnQub2Zmc2V0KSUzJiYhKChhW3JdWzFdLmVuZC5vZmZzZXQtYVtyXVsxXS5zdGFydC5vZmZzZXQrYVt0XVsxXS5lbmQub2Zmc2V0LWFbdF1bMV0uc3RhcnQub2Zmc2V0KSUzKSljb250aW51ZTtkPWFbcl1bMV0uZW5kLm9mZnNldC1hW3JdWzFdLnN0YXJ0Lm9mZnNldD4xJiZhW3RdWzFdLmVuZC5vZmZzZXQtYVt0XVsxXS5zdGFydC5vZmZzZXQ+MT8yOjE7bGV0IHU9ey4uLmFbcl1bMV0uZW5kfSxtPXsuLi5hW3RdWzFdLnN0YXJ0fTt3dXQodSwtZCksd3V0KG0sZCksbj17dHlwZTpkPjE/InN0cm9uZ1NlcXVlbmNlIjoiZW1waGFzaXNTZXF1ZW5jZSIsc3RhcnQ6dSxlbmQ6ey4uLmFbcl1bMV0uZW5kfX0sbD17dHlwZTpkPjE/InN0cm9uZ1NlcXVlbmNlIjoiZW1waGFzaXNTZXF1ZW5jZSIsc3RhcnQ6ey4uLmFbdF1bMV0uc3RhcnR9LGVuZDptfSxvPXt0eXBlOmQ+MT8ic3Ryb25nVGV4dCI6ImVtcGhhc2lzVGV4dCIsc3RhcnQ6ey4uLmFbcl1bMV0uZW5kfSxlbmQ6ey4uLmFbdF1bMV0uc3RhcnR9fSxpPXt0eXBlOmQ+MT8ic3Ryb25nIjoiZW1waGFzaXMiLHN0YXJ0OnsuLi5uLnN0YXJ0fSxlbmQ6ey4uLmwuZW5kfX0sYVtyXVsxXS5lbmQ9ey4uLm4uc3RhcnR9LGFbdF1bMV0uc3RhcnQ9ey4uLmwuZW5kfSxjPVtdLGFbcl1bMV0uZW5kLm9mZnNldC1hW3JdWzFdLnN0YXJ0Lm9mZnNldCYmKGM9Y3MoYyxbWyJlbnRlciIsYVtyXVsxXSxlXSxbImV4aXQiLGFbcl1bMV0sZV1dKSksYz1jcyhjLFtbImVudGVyIixpLGVdLFsiZW50ZXIiLG4sZV0sWyJleGl0IixuLGVdLFsiZW50ZXIiLG8sZV1dKSxjPWNzKGMsajAoZS5wYXJzZXIuY29uc3RydWN0cy5pbnNpZGVTcGFuLm51bGwsYS5zbGljZShyKzEsdCksZSkpLGM9Y3MoYyxbWyJleGl0IixvLGVdLFsiZW50ZXIiLGwsZV0sWyJleGl0IixsLGVdLFsiZXhpdCIsaSxlXV0pLGFbdF1bMV0uZW5kLm9mZnNldC1hW3RdWzFdLnN0YXJ0Lm9mZnNldD8ocD0yLGM9Y3MoYyxbWyJlbnRlciIsYVt0XVsxXSxlXSxbImV4aXQiLGFbdF1bMV0sZV1dKSk6cD0wLFVyKGEsci0xLHQtciszLGMpLHQ9citjLmxlbmd0aC1wLTI7YnJlYWt9fWZvcih0PS0xOysrdDxhLmxlbmd0aDspYVt0XVsxXS50eXBlPT09ImF0dGVudGlvblNlcXVlbmNlIiYmKGFbdF1bMV0udHlwZT0iZGF0YSIpO3JldHVybiBhfWZ1bmN0aW9uIEV3YShhLGUpe2xldCB0PXRoaXMucGFyc2VyLmNvbnN0cnVjdHMuYXR0ZW50aW9uTWFya2Vycy5udWxsLHI9dGhpcy5wcmV2aW91cyxpPVZsKHIpLG87cmV0dXJuIG47ZnVuY3Rpb24gbihkKXtyZXR1cm4gbz1kLGEuZW50ZXIoImF0dGVudGlvblNlcXVlbmNlIiksbChkKX1mdW5jdGlvbiBsKGQpe2lmKGQ9PT1vKXJldHVybiBhLmNvbnN1bWUoZCksbDtsZXQgYz1hLmV4aXQoImF0dGVudGlvblNlcXVlbmNlIikscD1WbChkKSx1PSFwfHxwPT09MiYmaXx8dC5pbmNsdWRlcyhkKSxtPSFpfHxpPT09MiYmcHx8dC5pbmNsdWRlcyhyKTtyZXR1cm4gYy5fb3Blbj0hIShvPT09NDI/dTp1JiYoaXx8IW0pKSxjLl9jbG9zZT0hIShvPT09NDI/bTptJiYocHx8IXUpKSxlKGQpfX1mdW5jdGlvbiB3dXQoYSxlKXthLmNvbHVtbis9ZSxhLm9mZnNldCs9ZSxhLl9idWZmZXJJbmRleCs9ZX12YXIgWWcsTXV0PWYoKCk9PntBMigpO3dRKCk7R2coKTtZZz17bmFtZToiYXR0ZW50aW9uIixyZXNvbHZlQWxsOkF3YSx0b2tlbml6ZTpFd2F9O3MoQXdhLCJyZXNvbHZlQWxsQXR0ZW50aW9uIik7cyhFd2EsInRva2VuaXplQXR0ZW50aW9uIik7cyh3dXQsIm1vdmVQb2ludCIpfSk7ZnVuY3Rpb24gUHdhKGEsZSx0KXtsZXQgcj0wO3JldHVybiBpO2Z1bmN0aW9uIGkodil7cmV0dXJuIGEuZW50ZXIoImF1dG9saW5rIiksYS5lbnRlcigiYXV0b2xpbmtNYXJrZXIiKSxhLmNvbnN1bWUodiksYS5leGl0KCJhdXRvbGlua01hcmtlciIpLGEuZW50ZXIoImF1dG9saW5rUHJvdG9jb2wiKSxvfWZ1bmN0aW9uIG8odil7cmV0dXJuIFRzKHYpPyhhLmNvbnN1bWUodiksbik6dj09PTY0P3Qodik6Yyh2KX1mdW5jdGlvbiBuKHYpe3JldHVybiB2PT09NDN8fHY9PT00NXx8dj09PTQ2fHxQcih2KT8ocj0xLGwodikpOmModil9ZnVuY3Rpb24gbCh2KXtyZXR1cm4gdj09PTU4PyhhLmNvbnN1bWUodikscj0wLGQpOih2PT09NDN8fHY9PT00NXx8dj09PTQ2fHxQcih2KSkmJnIrKzwzMj8oYS5jb25zdW1lKHYpLGwpOihyPTAsYyh2KSl9ZnVuY3Rpb24gZCh2KXtyZXR1cm4gdj09PTYyPyhhLmV4aXQoImF1dG9saW5rUHJvdG9jb2wiKSxhLmVudGVyKCJhdXRvbGlua01hcmtlciIpLGEuY29uc3VtZSh2KSxhLmV4aXQoImF1dG9saW5rTWFya2VyIiksYS5leGl0KCJhdXRvbGluayIpLGUpOnY9PT1udWxsfHx2PT09MzJ8fHY9PT02MHx8VjModik/dCh2KTooYS5jb25zdW1lKHYpLGQpfWZ1bmN0aW9uIGModil7cmV0dXJuIHY9PT02ND8oYS5jb25zdW1lKHYpLHApOmNkdCh2KT8oYS5jb25zdW1lKHYpLGMpOnQodil9ZnVuY3Rpb24gcCh2KXtyZXR1cm4gUHIodik/dSh2KTp0KHYpfWZ1bmN0aW9uIHUodil7cmV0dXJuIHY9PT00Nj8oYS5jb25zdW1lKHYpLHI9MCxwKTp2PT09NjI/KGEuZXhpdCgiYXV0b2xpbmtQcm90b2NvbCIpLnR5cGU9ImF1dG9saW5rRW1haWwiLGEuZW50ZXIoImF1dG9saW5rTWFya2VyIiksYS5jb25zdW1lKHYpLGEuZXhpdCgiYXV0b2xpbmtNYXJrZXIiKSxhLmV4aXQoImF1dG9saW5rIiksZSk6bSh2KX1mdW5jdGlvbiBtKHYpe2lmKCh2PT09NDV8fFByKHYpKSYmcisrPDYzKXtsZXQgeD12PT09NDU/bTp1O3JldHVybiBhLmNvbnN1bWUodikseH1yZXR1cm4gdCh2KX19dmFyIEc0ZSxrdXQ9ZigoKT0+e2JhKCk7RzRlPXtuYW1lOiJhdXRvbGluayIsdG9rZW5pemU6UHdhfTtzKFB3YSwidG9rZW5pemVBdXRvbGluayIpfSk7ZnVuY3Rpb24gRHQoYSxlLHQscil7bGV0IGk9cj9yLTE6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLG89MDtyZXR1cm4gbjtmdW5jdGlvbiBuKGQpe3JldHVybiB6dChkKT8oYS5lbnRlcih0KSxsKGQpKTplKGQpfWZ1bmN0aW9uIGwoZCl7cmV0dXJuIHp0KGQpJiZvKys8aT8oYS5jb25zdW1lKGQpLGwpOihhLmV4aXQodCksZShkKSl9fXZhciBXcj1mKCgpPT57YmEoKTtzKER0LCJmYWN0b3J5U3BhY2UiKX0pO2Z1bmN0aW9uIEl3YShhLGUsdCl7cmV0dXJuIHI7ZnVuY3Rpb24gcihvKXtyZXR1cm4genQobyk/RHQoYSxpLCJsaW5lUHJlZml4Iikobyk6aShvKX1mdW5jdGlvbiBpKG8pe3JldHVybiBvPT09bnVsbHx8SmUobyk/ZShvKTp0KG8pfX12YXIgTjIsRVE9ZigoKT0+e1dyKCk7YmEoKTtOMj17cGFydGlhbDohMCx0b2tlbml6ZTpJd2F9O3MoSXdhLCJ0b2tlbml6ZUJsYW5rTGluZSIpfSk7ZnVuY3Rpb24gTndhKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkobil7aWYobj09PTYyKXtsZXQgbD1yLmNvbnRhaW5lclN0YXRlO3JldHVybiBsLm9wZW58fChhLmVudGVyKCJibG9ja1F1b3RlIix7X2NvbnRhaW5lcjohMH0pLGwub3Blbj0hMCksYS5lbnRlcigiYmxvY2tRdW90ZVByZWZpeCIpLGEuZW50ZXIoImJsb2NrUXVvdGVNYXJrZXIiKSxhLmNvbnN1bWUobiksYS5leGl0KCJibG9ja1F1b3RlTWFya2VyIiksb31yZXR1cm4gdChuKX1mdW5jdGlvbiBvKG4pe3JldHVybiB6dChuKT8oYS5lbnRlcigiYmxvY2tRdW90ZVByZWZpeFdoaXRlc3BhY2UiKSxhLmNvbnN1bWUobiksYS5leGl0KCJibG9ja1F1b3RlUHJlZml4V2hpdGVzcGFjZSIpLGEuZXhpdCgiYmxvY2tRdW90ZVByZWZpeCIpLGUpOihhLmV4aXQoImJsb2NrUXVvdGVQcmVmaXgiKSxlKG4pKX19ZnVuY3Rpb24gUndhKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkobil7cmV0dXJuIHp0KG4pP0R0KGEsbywibGluZVByZWZpeCIsci5wYXJzZXIuY29uc3RydWN0cy5kaXNhYmxlLm51bGwuaW5jbHVkZXMoImNvZGVJbmRlbnRlZCIpP3ZvaWQgMDo0KShuKTpvKG4pfWZ1bmN0aW9uIG8obil7cmV0dXJuIGEuYXR0ZW1wdChQUSxlLHQpKG4pfX1mdW5jdGlvbiBPd2EoYSl7YS5leGl0KCJibG9ja1F1b3RlIil9dmFyIFBRLFN1dD1mKCgpPT57V3IoKTtiYSgpO1BRPXtjb250aW51YXRpb246e3Rva2VuaXplOlJ3YX0sZXhpdDpPd2EsbmFtZToiYmxvY2tRdW90ZSIsdG9rZW5pemU6TndhfTtzKE53YSwidG9rZW5pemVCbG9ja1F1b3RlU3RhcnQiKTtzKFJ3YSwidG9rZW5pemVCbG9ja1F1b3RlQ29udGludWF0aW9uIik7cyhPd2EsImV4aXQiKX0pO2Z1bmN0aW9uIEZ3YShhLGUsdCl7cmV0dXJuIHI7ZnVuY3Rpb24gcihvKXtyZXR1cm4gYS5lbnRlcigiY2hhcmFjdGVyRXNjYXBlIiksYS5lbnRlcigiZXNjYXBlTWFya2VyIiksYS5jb25zdW1lKG8pLGEuZXhpdCgiZXNjYXBlTWFya2VyIiksaX1mdW5jdGlvbiBpKG8pe3JldHVybiB1ZHQobyk/KGEuZW50ZXIoImNoYXJhY3RlckVzY2FwZVZhbHVlIiksYS5jb25zdW1lKG8pLGEuZXhpdCgiY2hhcmFjdGVyRXNjYXBlVmFsdWUiKSxhLmV4aXQoImNoYXJhY3RlckVzY2FwZSIpLGUpOnQobyl9fXZhciBJUSx6dXQ9ZigoKT0+e2JhKCk7SVE9e25hbWU6ImNoYXJhY3RlckVzY2FwZSIsdG9rZW5pemU6RndhfTtzKEZ3YSwidG9rZW5pemVDaGFyYWN0ZXJFc2NhcGUiKX0pO2Z1bmN0aW9uIEJ3YShhLGUsdCl7bGV0IHI9dGhpcyxpPTAsbyxuO3JldHVybiBsO2Z1bmN0aW9uIGwodSl7cmV0dXJuIGEuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZSIpLGEuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlciIpLGEuY29uc3VtZSh1KSxhLmV4aXQoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlciIpLGR9ZnVuY3Rpb24gZCh1KXtyZXR1cm4gdT09PTM1PyhhLmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljIiksYS5jb25zdW1lKHUpLGEuZXhpdCgiY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VyTnVtZXJpYyIpLGMpOihhLmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2VWYWx1ZSIpLG89MzEsbj1QcixwKHUpKX1mdW5jdGlvbiBjKHUpe3JldHVybiB1PT09ODh8fHU9PT0xMjA/KGEuZW50ZXIoImNoYXJhY3RlclJlZmVyZW5jZU1hcmtlckhleGFkZWNpbWFsIiksYS5jb25zdW1lKHUpLGEuZXhpdCgiY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VySGV4YWRlY2ltYWwiKSxhLmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2VWYWx1ZSIpLG89NixuPWRkdCxwKTooYS5lbnRlcigiY2hhcmFjdGVyUmVmZXJlbmNlVmFsdWUiKSxvPTcsbj1xZyxwKHUpKX1mdW5jdGlvbiBwKHUpe2lmKHU9PT01OSYmaSl7bGV0IG09YS5leGl0KCJjaGFyYWN0ZXJSZWZlcmVuY2VWYWx1ZSIpO3JldHVybiBuPT09UHImJiFWMChyLnNsaWNlU2VyaWFsaXplKG0pKT90KHUpOihhLmVudGVyKCJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXIiKSxhLmNvbnN1bWUodSksYS5leGl0KCJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXIiKSxhLmV4aXQoImNoYXJhY3RlclJlZmVyZW5jZSIpLGUpfXJldHVybiBuKHUpJiZpKys8bz8oYS5jb25zdW1lKHUpLHApOnQodSl9fXZhciBOUSxDdXQ9ZigoKT0+e1dnKCk7YmEoKTtOUT17bmFtZToiY2hhcmFjdGVyUmVmZXJlbmNlIix0b2tlbml6ZTpCd2F9O3MoQndhLCJ0b2tlbml6ZUNoYXJhY3RlclJlZmVyZW5jZSIpfSk7ZnVuY3Rpb24gSHdhKGEsZSx0KXtsZXQgcj10aGlzLGk9e3BhcnRpYWw6ITAsdG9rZW5pemU6X30sbz0wLG49MCxsO3JldHVybiBkO2Z1bmN0aW9uIGQoeil7cmV0dXJuIGMoeil9ZnVuY3Rpb24gYyh6KXtsZXQgTz1yLmV2ZW50c1tyLmV2ZW50cy5sZW5ndGgtMV07cmV0dXJuIG89TyYmT1sxXS50eXBlPT09ImxpbmVQcmVmaXgiP09bMl0uc2xpY2VTZXJpYWxpemUoT1sxXSwhMCkubGVuZ3RoOjAsbD16LGEuZW50ZXIoImNvZGVGZW5jZWQiKSxhLmVudGVyKCJjb2RlRmVuY2VkRmVuY2UiKSxhLmVudGVyKCJjb2RlRmVuY2VkRmVuY2VTZXF1ZW5jZSIpLHAoeil9ZnVuY3Rpb24gcCh6KXtyZXR1cm4gej09PWw/KG4rKyxhLmNvbnN1bWUoeikscCk6bjwzP3Qoeik6KGEuZXhpdCgiY29kZUZlbmNlZEZlbmNlU2VxdWVuY2UiKSx6dCh6KT9EdChhLHUsIndoaXRlc3BhY2UiKSh6KTp1KHopKX1mdW5jdGlvbiB1KHope3JldHVybiB6PT09bnVsbHx8SmUoeik/KGEuZXhpdCgiY29kZUZlbmNlZEZlbmNlIiksci5pbnRlcnJ1cHQ/ZSh6KTphLmNoZWNrKF91dCxiLE4pKHopKTooYS5lbnRlcigiY29kZUZlbmNlZEZlbmNlSW5mbyIpLGEuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSxtKHopKX1mdW5jdGlvbiBtKHope3JldHVybiB6PT09bnVsbHx8SmUoeik/KGEuZXhpdCgiY2h1bmtTdHJpbmciKSxhLmV4aXQoImNvZGVGZW5jZWRGZW5jZUluZm8iKSx1KHopKTp6dCh6KT8oYS5leGl0KCJjaHVua1N0cmluZyIpLGEuZXhpdCgiY29kZUZlbmNlZEZlbmNlSW5mbyIpLER0KGEsdiwid2hpdGVzcGFjZSIpKHopKTp6PT09OTYmJno9PT1sP3Qoeik6KGEuY29uc3VtZSh6KSxtKX1mdW5jdGlvbiB2KHope3JldHVybiB6PT09bnVsbHx8SmUoeik/dSh6KTooYS5lbnRlcigiY29kZUZlbmNlZEZlbmNlTWV0YSIpLGEuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSx4KHopKX1mdW5jdGlvbiB4KHope3JldHVybiB6PT09bnVsbHx8SmUoeik/KGEuZXhpdCgiY2h1bmtTdHJpbmciKSxhLmV4aXQoImNvZGVGZW5jZWRGZW5jZU1ldGEiKSx1KHopKTp6PT09OTYmJno9PT1sP3Qoeik6KGEuY29uc3VtZSh6KSx4KX1mdW5jdGlvbiBiKHope3JldHVybiBhLmF0dGVtcHQoaSxOLGcpKHopfWZ1bmN0aW9uIGcoeil7cmV0dXJuIGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUoeiksYS5leGl0KCJsaW5lRW5kaW5nIikseX1mdW5jdGlvbiB5KHope3JldHVybiBvPjAmJnp0KHopP0R0KGEsaywibGluZVByZWZpeCIsbysxKSh6KTprKHopfWZ1bmN0aW9uIGsoeil7cmV0dXJuIHo9PT1udWxsfHxKZSh6KT9hLmNoZWNrKF91dCxiLE4pKHopOihhLmVudGVyKCJjb2RlRmxvd1ZhbHVlIiksQyh6KSl9ZnVuY3Rpb24gQyh6KXtyZXR1cm4gej09PW51bGx8fEplKHopPyhhLmV4aXQoImNvZGVGbG93VmFsdWUiKSxrKHopKTooYS5jb25zdW1lKHopLEMpfWZ1bmN0aW9uIE4oeil7cmV0dXJuIGEuZXhpdCgiY29kZUZlbmNlZCIpLGUoeil9ZnVuY3Rpb24gXyh6LE8sVCl7bGV0IEU9MDtyZXR1cm4gQjtmdW5jdGlvbiBCKEYpe3JldHVybiB6LmVudGVyKCJsaW5lRW5kaW5nIiksei5jb25zdW1lKEYpLHouZXhpdCgibGluZUVuZGluZyIpLE19ZnVuY3Rpb24gTShGKXtyZXR1cm4gei5lbnRlcigiY29kZUZlbmNlZEZlbmNlIiksenQoRik/RHQoeixTLCJsaW5lUHJlZml4IixyLnBhcnNlci5jb25zdHJ1Y3RzLmRpc2FibGUubnVsbC5pbmNsdWRlcygiY29kZUluZGVudGVkIik/dm9pZCAwOjQpKEYpOlMoRil9ZnVuY3Rpb24gUyhGKXtyZXR1cm4gRj09PWw/KHouZW50ZXIoImNvZGVGZW5jZWRGZW5jZVNlcXVlbmNlIiksUChGKSk6VChGKX1mdW5jdGlvbiBQKEYpe3JldHVybiBGPT09bD8oRSsrLHouY29uc3VtZShGKSxQKTpFPj1uPyh6LmV4aXQoImNvZGVGZW5jZWRGZW5jZVNlcXVlbmNlIiksenQoRik/RHQoeixBLCJ3aGl0ZXNwYWNlIikoRik6QShGKSk6VChGKX1mdW5jdGlvbiBBKEYpe3JldHVybiBGPT09bnVsbHx8SmUoRik/KHouZXhpdCgiY29kZUZlbmNlZEZlbmNlIiksTyhGKSk6VChGKX19fWZ1bmN0aW9uIHF3YShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKG4pe3JldHVybiBuPT09bnVsbD90KG4pOihhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKG4pLGEuZXhpdCgibGluZUVuZGluZyIpLG8pfWZ1bmN0aW9uIG8obil7cmV0dXJuIHIucGFyc2VyLmxhenlbci5ub3coKS5saW5lXT90KG4pOmUobil9fXZhciBfdXQsUlEsVHV0PWYoKCk9PntXcigpO2JhKCk7X3V0PXtwYXJ0aWFsOiEwLHRva2VuaXplOnF3YX0sUlE9e2NvbmNyZXRlOiEwLG5hbWU6ImNvZGVGZW5jZWQiLHRva2VuaXplOkh3YX07cyhId2EsInRva2VuaXplQ29kZUZlbmNlZCIpO3MocXdhLCJ0b2tlbml6ZU5vbkxhenlDb250aW51YXRpb24iKX0pO2Z1bmN0aW9uIGp3YShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKGMpe3JldHVybiBhLmVudGVyKCJjb2RlSW5kZW50ZWQiKSxEdChhLG8sImxpbmVQcmVmaXgiLDUpKGMpfWZ1bmN0aW9uIG8oYyl7bGV0IHA9ci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdO3JldHVybiBwJiZwWzFdLnR5cGU9PT0ibGluZVByZWZpeCImJnBbMl0uc2xpY2VTZXJpYWxpemUocFsxXSwhMCkubGVuZ3RoPj00P24oYyk6dChjKX1mdW5jdGlvbiBuKGMpe3JldHVybiBjPT09bnVsbD9kKGMpOkplKGMpP2EuYXR0ZW1wdChWd2EsbixkKShjKTooYS5lbnRlcigiY29kZUZsb3dWYWx1ZSIpLGwoYykpfWZ1bmN0aW9uIGwoYyl7cmV0dXJuIGM9PT1udWxsfHxKZShjKT8oYS5leGl0KCJjb2RlRmxvd1ZhbHVlIiksbihjKSk6KGEuY29uc3VtZShjKSxsKX1mdW5jdGlvbiBkKGMpe3JldHVybiBhLmV4aXQoImNvZGVJbmRlbnRlZCIpLGUoYyl9fWZ1bmN0aW9uIFV3YShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKG4pe3JldHVybiByLnBhcnNlci5sYXp5W3Iubm93KCkubGluZV0/dChuKTpKZShuKT8oYS5lbnRlcigibGluZUVuZGluZyIpLGEuY29uc3VtZShuKSxhLmV4aXQoImxpbmVFbmRpbmciKSxpKTpEdChhLG8sImxpbmVQcmVmaXgiLDUpKG4pfWZ1bmN0aW9uIG8obil7bGV0IGw9ci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdO3JldHVybiBsJiZsWzFdLnR5cGU9PT0ibGluZVByZWZpeCImJmxbMl0uc2xpY2VTZXJpYWxpemUobFsxXSwhMCkubGVuZ3RoPj00P2Uobik6SmUobik/aShuKTp0KG4pfX12YXIgS2csVndhLEx1dD1mKCgpPT57V3IoKTtiYSgpO0tnPXtuYW1lOiJjb2RlSW5kZW50ZWQiLHRva2VuaXplOmp3YX0sVndhPXtwYXJ0aWFsOiEwLHRva2VuaXplOlV3YX07cyhqd2EsInRva2VuaXplQ29kZUluZGVudGVkIik7cyhVd2EsInRva2VuaXplRnVydGhlclN0YXJ0Iil9KTtmdW5jdGlvbiBXd2EoYSl7bGV0IGU9YS5sZW5ndGgtNCx0PTMscixpO2lmKChhW3RdWzFdLnR5cGU9PT0ibGluZUVuZGluZyJ8fGFbdF1bMV0udHlwZT09PSJzcGFjZSIpJiYoYVtlXVsxXS50eXBlPT09ImxpbmVFbmRpbmcifHxhW2VdWzFdLnR5cGU9PT0ic3BhY2UiKSl7Zm9yKHI9dDsrK3I8ZTspaWYoYVtyXVsxXS50eXBlPT09ImNvZGVUZXh0RGF0YSIpe2FbdF1bMV0udHlwZT0iY29kZVRleHRQYWRkaW5nIixhW2VdWzFdLnR5cGU9ImNvZGVUZXh0UGFkZGluZyIsdCs9MixlLT0yO2JyZWFrfX1mb3Iocj10LTEsZSsrOysrcjw9ZTspaT09PXZvaWQgMD9yIT09ZSYmYVtyXVsxXS50eXBlIT09ImxpbmVFbmRpbmciJiYoaT1yKToocj09PWV8fGFbcl1bMV0udHlwZT09PSJsaW5lRW5kaW5nIikmJihhW2ldWzFdLnR5cGU9ImNvZGVUZXh0RGF0YSIsciE9PWkrMiYmKGFbaV1bMV0uZW5kPWFbci0xXVsxXS5lbmQsYS5zcGxpY2UoaSsyLHItaS0yKSxlLT1yLWktMixyPWkrMiksaT12b2lkIDApO3JldHVybiBhfWZ1bmN0aW9uIEd3YShhKXtyZXR1cm4gYSE9PTk2fHx0aGlzLmV2ZW50c1t0aGlzLmV2ZW50cy5sZW5ndGgtMV1bMV0udHlwZT09PSJjaGFyYWN0ZXJFc2NhcGUifWZ1bmN0aW9uIFl3YShhLGUsdCl7bGV0IHI9dGhpcyxpPTAsbyxuO3JldHVybiBsO2Z1bmN0aW9uIGwobSl7cmV0dXJuIGEuZW50ZXIoImNvZGVUZXh0IiksYS5lbnRlcigiY29kZVRleHRTZXF1ZW5jZSIpLGQobSl9ZnVuY3Rpb24gZChtKXtyZXR1cm4gbT09PTk2PyhhLmNvbnN1bWUobSksaSsrLGQpOihhLmV4aXQoImNvZGVUZXh0U2VxdWVuY2UiKSxjKG0pKX1mdW5jdGlvbiBjKG0pe3JldHVybiBtPT09bnVsbD90KG0pOm09PT0zMj8oYS5lbnRlcigic3BhY2UiKSxhLmNvbnN1bWUobSksYS5leGl0KCJzcGFjZSIpLGMpOm09PT05Nj8obj1hLmVudGVyKCJjb2RlVGV4dFNlcXVlbmNlIiksbz0wLHUobSkpOkplKG0pPyhhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKG0pLGEuZXhpdCgibGluZUVuZGluZyIpLGMpOihhLmVudGVyKCJjb2RlVGV4dERhdGEiKSxwKG0pKX1mdW5jdGlvbiBwKG0pe3JldHVybiBtPT09bnVsbHx8bT09PTMyfHxtPT09OTZ8fEplKG0pPyhhLmV4aXQoImNvZGVUZXh0RGF0YSIpLGMobSkpOihhLmNvbnN1bWUobSkscCl9ZnVuY3Rpb24gdShtKXtyZXR1cm4gbT09PTk2PyhhLmNvbnN1bWUobSksbysrLHUpOm89PT1pPyhhLmV4aXQoImNvZGVUZXh0U2VxdWVuY2UiKSxhLmV4aXQoImNvZGVUZXh0IiksZShtKSk6KG4udHlwZT0iY29kZVRleHREYXRhIixwKG0pKX19dmFyIFk0ZSwkdXQ9ZigoKT0+e2JhKCk7WTRlPXtuYW1lOiJjb2RlVGV4dCIscHJldmlvdXM6R3dhLHJlc29sdmU6V3dhLHRva2VuaXplOll3YX07cyhXd2EsInJlc29sdmVDb2RlVGV4dCIpO3MoR3dhLCJwcmV2aW91cyIpO3MoWXdhLCJ0b2tlbml6ZUNvZGVUZXh0Iil9KTtmdW5jdGlvbiBaZyhhLGUpe2xldCB0PTA7aWYoZS5sZW5ndGg8MWU0KWEucHVzaCguLi5lKTtlbHNlIGZvcig7dDxlLmxlbmd0aDspYS5wdXNoKC4uLmUuc2xpY2UodCx0KzFlNCkpLHQrPTFlNH12YXIgWGcsSzRlPWYoKCk9PntYZz1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTcGxpY2VCdWZmZXIiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmxlZnQ9ZT9bLi4uZV06W10sdGhpcy5yaWdodD1bXX1nZXQoZSl7aWYoZTwwfHxlPj10aGlzLmxlZnQubGVuZ3RoK3RoaXMucmlnaHQubGVuZ3RoKXRocm93IG5ldyBSYW5nZUVycm9yKCJDYW5ub3QgYWNjZXNzIGluZGV4IGAiK2UrImAgaW4gYSBzcGxpY2UgYnVmZmVyIG9mIHNpemUgYCIrKHRoaXMubGVmdC5sZW5ndGgrdGhpcy5yaWdodC5sZW5ndGgpKyJgIik7cmV0dXJuIGU8dGhpcy5sZWZ0Lmxlbmd0aD90aGlzLmxlZnRbZV06dGhpcy5yaWdodFt0aGlzLnJpZ2h0Lmxlbmd0aC1lK3RoaXMubGVmdC5sZW5ndGgtMV19Z2V0IGxlbmd0aCgpe3JldHVybiB0aGlzLmxlZnQubGVuZ3RoK3RoaXMucmlnaHQubGVuZ3RofXNoaWZ0KCl7cmV0dXJuIHRoaXMuc2V0Q3Vyc29yKDApLHRoaXMucmlnaHQucG9wKCl9c2xpY2UoZSx0KXtsZXQgcj10Pz9OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIHI8dGhpcy5sZWZ0Lmxlbmd0aD90aGlzLmxlZnQuc2xpY2UoZSxyKTplPnRoaXMubGVmdC5sZW5ndGg/dGhpcy5yaWdodC5zbGljZSh0aGlzLnJpZ2h0Lmxlbmd0aC1yK3RoaXMubGVmdC5sZW5ndGgsdGhpcy5yaWdodC5sZW5ndGgtZSt0aGlzLmxlZnQubGVuZ3RoKS5yZXZlcnNlKCk6dGhpcy5sZWZ0LnNsaWNlKGUpLmNvbmNhdCh0aGlzLnJpZ2h0LnNsaWNlKHRoaXMucmlnaHQubGVuZ3RoLXIrdGhpcy5sZWZ0Lmxlbmd0aCkucmV2ZXJzZSgpKX1zcGxpY2UoZSx0LHIpe2xldCBpPXR8fDA7dGhpcy5zZXRDdXJzb3IoTWF0aC50cnVuYyhlKSk7bGV0IG89dGhpcy5yaWdodC5zcGxpY2UodGhpcy5yaWdodC5sZW5ndGgtaSxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpO3JldHVybiByJiZaZyh0aGlzLmxlZnQsciksby5yZXZlcnNlKCl9cG9wKCl7cmV0dXJuIHRoaXMuc2V0Q3Vyc29yKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSksdGhpcy5sZWZ0LnBvcCgpfXB1c2goZSl7dGhpcy5zZXRDdXJzb3IoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSx0aGlzLmxlZnQucHVzaChlKX1wdXNoTWFueShlKXt0aGlzLnNldEN1cnNvcihOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpLFpnKHRoaXMubGVmdCxlKX11bnNoaWZ0KGUpe3RoaXMuc2V0Q3Vyc29yKDApLHRoaXMucmlnaHQucHVzaChlKX11bnNoaWZ0TWFueShlKXt0aGlzLnNldEN1cnNvcigwKSxaZyh0aGlzLnJpZ2h0LGUucmV2ZXJzZSgpKX1zZXRDdXJzb3IoZSl7aWYoIShlPT09dGhpcy5sZWZ0Lmxlbmd0aHx8ZT50aGlzLmxlZnQubGVuZ3RoJiZ0aGlzLnJpZ2h0Lmxlbmd0aD09PTB8fGU8MCYmdGhpcy5sZWZ0Lmxlbmd0aD09PTApKWlmKGU8dGhpcy5sZWZ0Lmxlbmd0aCl7bGV0IHQ9dGhpcy5sZWZ0LnNwbGljZShlLE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7WmcodGhpcy5yaWdodCx0LnJldmVyc2UoKSl9ZWxzZXtsZXQgdD10aGlzLnJpZ2h0LnNwbGljZSh0aGlzLmxlZnQubGVuZ3RoK3RoaXMucmlnaHQubGVuZ3RoLWUsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKTtaZyh0aGlzLmxlZnQsdC5yZXZlcnNlKCkpfX19O3MoWmcsImNodW5rZWRQdXNoIil9KTtmdW5jdGlvbiBPUShhKXtsZXQgZT17fSx0PS0xLHIsaSxvLG4sbCxkLGMscD1uZXcgWGcoYSk7Zm9yKDsrK3Q8cC5sZW5ndGg7KXtmb3IoO3QgaW4gZTspdD1lW3RdO2lmKHI9cC5nZXQodCksdCYmclsxXS50eXBlPT09ImNodW5rRmxvdyImJnAuZ2V0KHQtMSlbMV0udHlwZT09PSJsaXN0SXRlbVByZWZpeCImJihkPXJbMV0uX3Rva2VuaXplci5ldmVudHMsbz0wLG88ZC5sZW5ndGgmJmRbb11bMV0udHlwZT09PSJsaW5lRW5kaW5nQmxhbmsiJiYobys9MiksbzxkLmxlbmd0aCYmZFtvXVsxXS50eXBlPT09ImNvbnRlbnQiKSlmb3IoOysrbzxkLmxlbmd0aCYmZFtvXVsxXS50eXBlIT09ImNvbnRlbnQiOylkW29dWzFdLnR5cGU9PT0iY2h1bmtUZXh0IiYmKGRbb11bMV0uX2lzSW5GaXJzdENvbnRlbnRPZkxpc3RJdGVtPSEwLG8rKyk7aWYoclswXT09PSJlbnRlciIpclsxXS5jb250ZW50VHlwZSYmKE9iamVjdC5hc3NpZ24oZSxLd2EocCx0KSksdD1lW3RdLGM9ITApO2Vsc2UgaWYoclsxXS5fY29udGFpbmVyKXtmb3Iobz10LGk9dm9pZCAwO28tLTspaWYobj1wLmdldChvKSxuWzFdLnR5cGU9PT0ibGluZUVuZGluZyJ8fG5bMV0udHlwZT09PSJsaW5lRW5kaW5nQmxhbmsiKW5bMF09PT0iZW50ZXIiJiYoaSYmKHAuZ2V0KGkpWzFdLnR5cGU9ImxpbmVFbmRpbmdCbGFuayIpLG5bMV0udHlwZT0ibGluZUVuZGluZyIsaT1vKTtlbHNlIGlmKCEoblsxXS50eXBlPT09ImxpbmVQcmVmaXgifHxuWzFdLnR5cGU9PT0ibGlzdEl0ZW1JbmRlbnQiKSlicmVhaztpJiYoclsxXS5lbmQ9ey4uLnAuZ2V0KGkpWzFdLnN0YXJ0fSxsPXAuc2xpY2UoaSx0KSxsLnVuc2hpZnQocikscC5zcGxpY2UoaSx0LWkrMSxsKSl9fXJldHVybiBVcihhLDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHAuc2xpY2UoMCkpLCFjfWZ1bmN0aW9uIEt3YShhLGUpe2xldCB0PWEuZ2V0KGUpWzFdLHI9YS5nZXQoZSlbMl0saT1lLTEsbz1bXSxuPXQuX3Rva2VuaXplcjtufHwobj1yLnBhcnNlclt0LmNvbnRlbnRUeXBlXSh0LnN0YXJ0KSx0Ll9jb250ZW50VHlwZVRleHRUcmFpbGluZyYmKG4uX2NvbnRlbnRUeXBlVGV4dFRyYWlsaW5nPSEwKSk7bGV0IGw9bi5ldmVudHMsZD1bXSxjPXt9LHAsdSxtPS0xLHY9dCx4PTAsYj0wLGc9W2JdO2Zvcig7djspe2Zvcig7YS5nZXQoKytpKVsxXSE9PXY7KTtvLnB1c2goaSksdi5fdG9rZW5pemVyfHwocD1yLnNsaWNlU3RyZWFtKHYpLHYubmV4dHx8cC5wdXNoKG51bGwpLHUmJm4uZGVmaW5lU2tpcCh2LnN0YXJ0KSx2Ll9pc0luRmlyc3RDb250ZW50T2ZMaXN0SXRlbSYmKG4uX2dmbVRhc2tsaXN0Rmlyc3RDb250ZW50T2ZMaXN0SXRlbT0hMCksbi53cml0ZShwKSx2Ll9pc0luRmlyc3RDb250ZW50T2ZMaXN0SXRlbSYmKG4uX2dmbVRhc2tsaXN0Rmlyc3RDb250ZW50T2ZMaXN0SXRlbT12b2lkIDApKSx1PXYsdj12Lm5leHR9Zm9yKHY9dDsrK208bC5sZW5ndGg7KWxbbV1bMF09PT0iZXhpdCImJmxbbS0xXVswXT09PSJlbnRlciImJmxbbV1bMV0udHlwZT09PWxbbS0xXVsxXS50eXBlJiZsW21dWzFdLnN0YXJ0LmxpbmUhPT1sW21dWzFdLmVuZC5saW5lJiYoYj1tKzEsZy5wdXNoKGIpLHYuX3Rva2VuaXplcj12b2lkIDAsdi5wcmV2aW91cz12b2lkIDAsdj12Lm5leHQpO2ZvcihuLmV2ZW50cz1bXSx2Pyh2Ll90b2tlbml6ZXI9dm9pZCAwLHYucHJldmlvdXM9dm9pZCAwKTpnLnBvcCgpLG09Zy5sZW5ndGg7bS0tOyl7bGV0IHk9bC5zbGljZShnW21dLGdbbSsxXSksaz1vLnBvcCgpO2QucHVzaChbayxrK3kubGVuZ3RoLTFdKSxhLnNwbGljZShrLDIseSl9Zm9yKGQucmV2ZXJzZSgpLG09LTE7KyttPGQubGVuZ3RoOyljW3grZFttXVswXV09eCtkW21dWzFdLHgrPWRbbV1bMV0tZFttXVswXS0xO3JldHVybiBjfXZhciBaNGU9ZigoKT0+e0EyKCk7SzRlKCk7SzRlKCk7cyhPUSwic3VidG9rZW5pemUiKTtzKEt3YSwic3ViY29udGVudCIpfSk7ZnVuY3Rpb24gWHdhKGEpe3JldHVybiBPUShhKSxhfWZ1bmN0aW9uIFF3YShhLGUpe2xldCB0O3JldHVybiByO2Z1bmN0aW9uIHIobCl7cmV0dXJuIGEuZW50ZXIoImNvbnRlbnQiKSx0PWEuZW50ZXIoImNodW5rQ29udGVudCIse2NvbnRlbnRUeXBlOiJjb250ZW50In0pLGkobCl9ZnVuY3Rpb24gaShsKXtyZXR1cm4gbD09PW51bGw/byhsKTpKZShsKT9hLmNoZWNrKFp3YSxuLG8pKGwpOihhLmNvbnN1bWUobCksaSl9ZnVuY3Rpb24gbyhsKXtyZXR1cm4gYS5leGl0KCJjaHVua0NvbnRlbnQiKSxhLmV4aXQoImNvbnRlbnQiKSxlKGwpfWZ1bmN0aW9uIG4obCl7cmV0dXJuIGEuY29uc3VtZShsKSxhLmV4aXQoImNodW5rQ29udGVudCIpLHQubmV4dD1hLmVudGVyKCJjaHVua0NvbnRlbnQiLHtjb250ZW50VHlwZToiY29udGVudCIscHJldmlvdXM6dH0pLHQ9dC5uZXh0LGl9fWZ1bmN0aW9uIEp3YShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKG4pe3JldHVybiBhLmV4aXQoImNodW5rQ29udGVudCIpLGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUobiksYS5leGl0KCJsaW5lRW5kaW5nIiksRHQoYSxvLCJsaW5lUHJlZml4Iil9ZnVuY3Rpb24gbyhuKXtpZihuPT09bnVsbHx8SmUobikpcmV0dXJuIHQobik7bGV0IGw9ci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdO3JldHVybiFyLnBhcnNlci5jb25zdHJ1Y3RzLmRpc2FibGUubnVsbC5pbmNsdWRlcygiY29kZUluZGVudGVkIikmJmwmJmxbMV0udHlwZT09PSJsaW5lUHJlZml4IiYmbFsyXS5zbGljZVNlcmlhbGl6ZShsWzFdLCEwKS5sZW5ndGg+PTQ/ZShuKTphLmludGVycnVwdChyLnBhcnNlci5jb25zdHJ1Y3RzLmZsb3csdCxlKShuKX19dmFyIFg0ZSxad2EsRHV0PWYoKCk9PntXcigpO2JhKCk7WjRlKCk7WDRlPXtyZXNvbHZlOlh3YSx0b2tlbml6ZTpRd2F9LFp3YT17cGFydGlhbDohMCx0b2tlbml6ZTpKd2F9O3MoWHdhLCJyZXNvbHZlQ29udGVudCIpO3MoUXdhLCJ0b2tlbml6ZUNvbnRlbnQiKTtzKEp3YSwidG9rZW5pemVDb250aW51YXRpb24iKX0pO2Z1bmN0aW9uIEZRKGEsZSx0LHIsaSxvLG4sbCxkKXtsZXQgYz1kfHxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkscD0wO3JldHVybiB1O2Z1bmN0aW9uIHUoeSl7cmV0dXJuIHk9PT02MD8oYS5lbnRlcihyKSxhLmVudGVyKGkpLGEuZW50ZXIobyksYS5jb25zdW1lKHkpLGEuZXhpdChvKSxtKTp5PT09bnVsbHx8eT09PTMyfHx5PT09NDF8fFYzKHkpP3QoeSk6KGEuZW50ZXIociksYS5lbnRlcihuKSxhLmVudGVyKGwpLGEuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSxiKHkpKX1mdW5jdGlvbiBtKHkpe3JldHVybiB5PT09NjI/KGEuZW50ZXIobyksYS5jb25zdW1lKHkpLGEuZXhpdChvKSxhLmV4aXQoaSksYS5leGl0KHIpLGUpOihhLmVudGVyKGwpLGEuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSx2KHkpKX1mdW5jdGlvbiB2KHkpe3JldHVybiB5PT09NjI/KGEuZXhpdCgiY2h1bmtTdHJpbmciKSxhLmV4aXQobCksbSh5KSk6eT09PW51bGx8fHk9PT02MHx8SmUoeSk/dCh5KTooYS5jb25zdW1lKHkpLHk9PT05Mj94OnYpfWZ1bmN0aW9uIHgoeSl7cmV0dXJuIHk9PT02MHx8eT09PTYyfHx5PT09OTI/KGEuY29uc3VtZSh5KSx2KTp2KHkpfWZ1bmN0aW9uIGIoeSl7cmV0dXJuIXAmJih5PT09bnVsbHx8eT09PTQxfHx1YSh5KSk/KGEuZXhpdCgiY2h1bmtTdHJpbmciKSxhLmV4aXQobCksYS5leGl0KG4pLGEuZXhpdChyKSxlKHkpKTpwPGMmJnk9PT00MD8oYS5jb25zdW1lKHkpLHArKyxiKTp5PT09NDE/KGEuY29uc3VtZSh5KSxwLS0sYik6eT09PW51bGx8fHk9PT0zMnx8eT09PTQwfHxWMyh5KT90KHkpOihhLmNvbnN1bWUoeSkseT09PTkyP2c6Yil9ZnVuY3Rpb24gZyh5KXtyZXR1cm4geT09PTQwfHx5PT09NDF8fHk9PT05Mj8oYS5jb25zdW1lKHkpLGIpOmIoeSl9fXZhciBRNGU9ZigoKT0+e2JhKCk7cyhGUSwiZmFjdG9yeURlc3RpbmF0aW9uIil9KTtmdW5jdGlvbiBCUShhLGUsdCxyLGksbyl7bGV0IG49dGhpcyxsPTAsZDtyZXR1cm4gYztmdW5jdGlvbiBjKHYpe3JldHVybiBhLmVudGVyKHIpLGEuZW50ZXIoaSksYS5jb25zdW1lKHYpLGEuZXhpdChpKSxhLmVudGVyKG8pLHB9ZnVuY3Rpb24gcCh2KXtyZXR1cm4gbD45OTl8fHY9PT1udWxsfHx2PT09OTF8fHY9PT05MyYmIWR8fHY9PT05NCYmIWwmJiJfaGlkZGVuRm9vdG5vdGVTdXBwb3J0ImluIG4ucGFyc2VyLmNvbnN0cnVjdHM/dCh2KTp2PT09OTM/KGEuZXhpdChvKSxhLmVudGVyKGkpLGEuY29uc3VtZSh2KSxhLmV4aXQoaSksYS5leGl0KHIpLGUpOkplKHYpPyhhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKHYpLGEuZXhpdCgibGluZUVuZGluZyIpLHApOihhLmVudGVyKCJjaHVua1N0cmluZyIse2NvbnRlbnRUeXBlOiJzdHJpbmcifSksdSh2KSl9ZnVuY3Rpb24gdSh2KXtyZXR1cm4gdj09PW51bGx8fHY9PT05MXx8dj09PTkzfHxKZSh2KXx8bCsrPjk5OT8oYS5leGl0KCJjaHVua1N0cmluZyIpLHAodikpOihhLmNvbnN1bWUodiksZHx8KGQ9IXp0KHYpKSx2PT09OTI/bTp1KX1mdW5jdGlvbiBtKHYpe3JldHVybiB2PT09OTF8fHY9PT05Mnx8dj09PTkzPyhhLmNvbnN1bWUodiksbCsrLHUpOnUodil9fXZhciBKNGU9ZigoKT0+e2JhKCk7cyhCUSwiZmFjdG9yeUxhYmVsIil9KTtmdW5jdGlvbiBIUShhLGUsdCxyLGksbyl7bGV0IG47cmV0dXJuIGw7ZnVuY3Rpb24gbChtKXtyZXR1cm4gbT09PTM0fHxtPT09Mzl8fG09PT00MD8oYS5lbnRlcihyKSxhLmVudGVyKGkpLGEuY29uc3VtZShtKSxhLmV4aXQoaSksbj1tPT09NDA/NDE6bSxkKTp0KG0pfWZ1bmN0aW9uIGQobSl7cmV0dXJuIG09PT1uPyhhLmVudGVyKGkpLGEuY29uc3VtZShtKSxhLmV4aXQoaSksYS5leGl0KHIpLGUpOihhLmVudGVyKG8pLGMobSkpfWZ1bmN0aW9uIGMobSl7cmV0dXJuIG09PT1uPyhhLmV4aXQobyksZChuKSk6bT09PW51bGw/dChtKTpKZShtKT8oYS5lbnRlcigibGluZUVuZGluZyIpLGEuY29uc3VtZShtKSxhLmV4aXQoImxpbmVFbmRpbmciKSxEdChhLGMsImxpbmVQcmVmaXgiKSk6KGEuZW50ZXIoImNodW5rU3RyaW5nIix7Y29udGVudFR5cGU6InN0cmluZyJ9KSxwKG0pKX1mdW5jdGlvbiBwKG0pe3JldHVybiBtPT09bnx8bT09PW51bGx8fEplKG0pPyhhLmV4aXQoImNodW5rU3RyaW5nIiksYyhtKSk6KGEuY29uc3VtZShtKSxtPT09OTI/dTpwKX1mdW5jdGlvbiB1KG0pe3JldHVybiBtPT09bnx8bT09PTkyPyhhLmNvbnN1bWUobSkscCk6cChtKX19dmFyIGUzZT1mKCgpPT57V3IoKTtiYSgpO3MoSFEsImZhY3RvcnlUaXRsZSIpfSk7ZnVuY3Rpb24gWjMoYSxlKXtsZXQgdDtyZXR1cm4gcjtmdW5jdGlvbiByKGkpe3JldHVybiBKZShpKT8oYS5lbnRlcigibGluZUVuZGluZyIpLGEuY29uc3VtZShpKSxhLmV4aXQoImxpbmVFbmRpbmciKSx0PSEwLHIpOnp0KGkpP0R0KGEscix0PyJsaW5lUHJlZml4IjoibGluZVN1ZmZpeCIpKGkpOmUoaSl9fXZhciB0M2U9ZigoKT0+e1dyKCk7YmEoKTtzKFozLCJmYWN0b3J5V2hpdGVzcGFjZSIpfSk7ZnVuY3Rpb24gdE1hKGEsZSx0KXtsZXQgcj10aGlzLGk7cmV0dXJuIG87ZnVuY3Rpb24gbyh2KXtyZXR1cm4gYS5lbnRlcigiZGVmaW5pdGlvbiIpLG4odil9ZnVuY3Rpb24gbih2KXtyZXR1cm4gQlEuY2FsbChyLGEsbCx0LCJkZWZpbml0aW9uTGFiZWwiLCJkZWZpbml0aW9uTGFiZWxNYXJrZXIiLCJkZWZpbml0aW9uTGFiZWxTdHJpbmciKSh2KX1mdW5jdGlvbiBsKHYpe3JldHVybiBpPUlyKHIuc2xpY2VTZXJpYWxpemUoci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdWzFdKS5zbGljZSgxLC0xKSksdj09PTU4PyhhLmVudGVyKCJkZWZpbml0aW9uTWFya2VyIiksYS5jb25zdW1lKHYpLGEuZXhpdCgiZGVmaW5pdGlvbk1hcmtlciIpLGQpOnQodil9ZnVuY3Rpb24gZCh2KXtyZXR1cm4gdWEodik/WjMoYSxjKSh2KTpjKHYpfWZ1bmN0aW9uIGModil7cmV0dXJuIEZRKGEscCx0LCJkZWZpbml0aW9uRGVzdGluYXRpb24iLCJkZWZpbml0aW9uRGVzdGluYXRpb25MaXRlcmFsIiwiZGVmaW5pdGlvbkRlc3RpbmF0aW9uTGl0ZXJhbE1hcmtlciIsImRlZmluaXRpb25EZXN0aW5hdGlvblJhdyIsImRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZyIpKHYpfWZ1bmN0aW9uIHAodil7cmV0dXJuIGEuYXR0ZW1wdChlTWEsdSx1KSh2KX1mdW5jdGlvbiB1KHYpe3JldHVybiB6dCh2KT9EdChhLG0sIndoaXRlc3BhY2UiKSh2KTptKHYpfWZ1bmN0aW9uIG0odil7cmV0dXJuIHY9PT1udWxsfHxKZSh2KT8oYS5leGl0KCJkZWZpbml0aW9uIiksci5wYXJzZXIuZGVmaW5lZC5wdXNoKGkpLGUodikpOnQodil9fWZ1bmN0aW9uIGFNYShhLGUsdCl7cmV0dXJuIHI7ZnVuY3Rpb24gcihsKXtyZXR1cm4gdWEobCk/WjMoYSxpKShsKTp0KGwpfWZ1bmN0aW9uIGkobCl7cmV0dXJuIEhRKGEsbyx0LCJkZWZpbml0aW9uVGl0bGUiLCJkZWZpbml0aW9uVGl0bGVNYXJrZXIiLCJkZWZpbml0aW9uVGl0bGVTdHJpbmciKShsKX1mdW5jdGlvbiBvKGwpe3JldHVybiB6dChsKT9EdChhLG4sIndoaXRlc3BhY2UiKShsKTpuKGwpfWZ1bmN0aW9uIG4obCl7cmV0dXJuIGw9PT1udWxsfHxKZShsKT9lKGwpOnQobCl9fXZhciBhM2UsZU1hLEF1dD1mKCgpPT57UTRlKCk7SjRlKCk7V3IoKTtlM2UoKTt0M2UoKTtiYSgpO3EwKCk7YTNlPXtuYW1lOiJkZWZpbml0aW9uIix0b2tlbml6ZTp0TWF9LGVNYT17cGFydGlhbDohMCx0b2tlbml6ZTphTWF9O3ModE1hLCJ0b2tlbml6ZURlZmluaXRpb24iKTtzKGFNYSwidG9rZW5pemVUaXRsZUJlZm9yZSIpfSk7ZnVuY3Rpb24gck1hKGEsZSx0KXtyZXR1cm4gcjtmdW5jdGlvbiByKG8pe3JldHVybiBhLmVudGVyKCJoYXJkQnJlYWtFc2NhcGUiKSxhLmNvbnN1bWUobyksaX1mdW5jdGlvbiBpKG8pe3JldHVybiBKZShvKT8oYS5leGl0KCJoYXJkQnJlYWtFc2NhcGUiKSxlKG8pKTp0KG8pfX12YXIgcjNlLEV1dD1mKCgpPT57YmEoKTtyM2U9e25hbWU6ImhhcmRCcmVha0VzY2FwZSIsdG9rZW5pemU6ck1hfTtzKHJNYSwidG9rZW5pemVIYXJkQnJlYWtFc2NhcGUiKX0pO2Z1bmN0aW9uIHNNYShhLGUpe2xldCB0PWEubGVuZ3RoLTIscj0zLGksbztyZXR1cm4gYVtyXVsxXS50eXBlPT09IndoaXRlc3BhY2UiJiYocis9MiksdC0yPnImJmFbdF1bMV0udHlwZT09PSJ3aGl0ZXNwYWNlIiYmKHQtPTIpLGFbdF1bMV0udHlwZT09PSJhdHhIZWFkaW5nU2VxdWVuY2UiJiYocj09PXQtMXx8dC00PnImJmFbdC0yXVsxXS50eXBlPT09IndoaXRlc3BhY2UiKSYmKHQtPXIrMT09PXQ/Mjo0KSx0PnImJihpPXt0eXBlOiJhdHhIZWFkaW5nVGV4dCIsc3RhcnQ6YVtyXVsxXS5zdGFydCxlbmQ6YVt0XVsxXS5lbmR9LG89e3R5cGU6ImNodW5rVGV4dCIsc3RhcnQ6YVtyXVsxXS5zdGFydCxlbmQ6YVt0XVsxXS5lbmQsY29udGVudFR5cGU6InRleHQifSxVcihhLHIsdC1yKzEsW1siZW50ZXIiLGksZV0sWyJlbnRlciIsbyxlXSxbImV4aXQiLG8sZV0sWyJleGl0IixpLGVdXSkpLGF9ZnVuY3Rpb24gaU1hKGEsZSx0KXtsZXQgcj0wO3JldHVybiBpO2Z1bmN0aW9uIGkocCl7cmV0dXJuIGEuZW50ZXIoImF0eEhlYWRpbmciKSxvKHApfWZ1bmN0aW9uIG8ocCl7cmV0dXJuIGEuZW50ZXIoImF0eEhlYWRpbmdTZXF1ZW5jZSIpLG4ocCl9ZnVuY3Rpb24gbihwKXtyZXR1cm4gcD09PTM1JiZyKys8Nj8oYS5jb25zdW1lKHApLG4pOnA9PT1udWxsfHx1YShwKT8oYS5leGl0KCJhdHhIZWFkaW5nU2VxdWVuY2UiKSxsKHApKTp0KHApfWZ1bmN0aW9uIGwocCl7cmV0dXJuIHA9PT0zNT8oYS5lbnRlcigiYXR4SGVhZGluZ1NlcXVlbmNlIiksZChwKSk6cD09PW51bGx8fEplKHApPyhhLmV4aXQoImF0eEhlYWRpbmciKSxlKHApKTp6dChwKT9EdChhLGwsIndoaXRlc3BhY2UiKShwKTooYS5lbnRlcigiYXR4SGVhZGluZ1RleHQiKSxjKHApKX1mdW5jdGlvbiBkKHApe3JldHVybiBwPT09MzU/KGEuY29uc3VtZShwKSxkKTooYS5leGl0KCJhdHhIZWFkaW5nU2VxdWVuY2UiKSxsKHApKX1mdW5jdGlvbiBjKHApe3JldHVybiBwPT09bnVsbHx8cD09PTM1fHx1YShwKT8oYS5leGl0KCJhdHhIZWFkaW5nVGV4dCIpLGwocCkpOihhLmNvbnN1bWUocCksYyl9fXZhciBzM2UsUHV0PWYoKCk9PntXcigpO2JhKCk7QTIoKTtzM2U9e25hbWU6ImhlYWRpbmdBdHgiLHJlc29sdmU6c01hLHRva2VuaXplOmlNYX07cyhzTWEsInJlc29sdmVIZWFkaW5nQXR4Iik7cyhpTWEsInRva2VuaXplSGVhZGluZ0F0eCIpfSk7dmFyIEl1dCxpM2UsTnV0PWYoKCk9PntJdXQ9WyJhZGRyZXNzIiwiYXJ0aWNsZSIsImFzaWRlIiwiYmFzZSIsImJhc2Vmb250IiwiYmxvY2txdW90ZSIsImJvZHkiLCJjYXB0aW9uIiwiY2VudGVyIiwiY29sIiwiY29sZ3JvdXAiLCJkZCIsImRldGFpbHMiLCJkaWFsb2ciLCJkaXIiLCJkaXYiLCJkbCIsImR0IiwiZmllbGRzZXQiLCJmaWdjYXB0aW9uIiwiZmlndXJlIiwiZm9vdGVyIiwiZm9ybSIsImZyYW1lIiwiZnJhbWVzZXQiLCJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiLCJoZWFkIiwiaGVhZGVyIiwiaHIiLCJodG1sIiwiaWZyYW1lIiwibGVnZW5kIiwibGkiLCJsaW5rIiwibWFpbiIsIm1lbnUiLCJtZW51aXRlbSIsIm5hdiIsIm5vZnJhbWVzIiwib2wiLCJvcHRncm91cCIsIm9wdGlvbiIsInAiLCJwYXJhbSIsInNlYXJjaCIsInNlY3Rpb24iLCJzdW1tYXJ5IiwidGFibGUiLCJ0Ym9keSIsInRkIiwidGZvb3QiLCJ0aCIsInRoZWFkIiwidGl0bGUiLCJ0ciIsInRyYWNrIiwidWwiXSxpM2U9WyJwcmUiLCJzY3JpcHQiLCJzdHlsZSIsInRleHRhcmVhIl19KTtmdW5jdGlvbiBsTWEoYSl7bGV0IGU9YS5sZW5ndGg7Zm9yKDtlLS0mJiEoYVtlXVswXT09PSJlbnRlciImJmFbZV1bMV0udHlwZT09PSJodG1sRmxvdyIpOyk7cmV0dXJuIGU+MSYmYVtlLTJdWzFdLnR5cGU9PT0ibGluZVByZWZpeCImJihhW2VdWzFdLnN0YXJ0PWFbZS0yXVsxXS5zdGFydCxhW2UrMV1bMV0uc3RhcnQ9YVtlLTJdWzFdLnN0YXJ0LGEuc3BsaWNlKGUtMiwyKSksYX1mdW5jdGlvbiBjTWEoYSxlLHQpe2xldCByPXRoaXMsaSxvLG4sbCxkO3JldHVybiBjO2Z1bmN0aW9uIGMoSSl7cmV0dXJuIHAoSSl9ZnVuY3Rpb24gcChJKXtyZXR1cm4gYS5lbnRlcigiaHRtbEZsb3ciKSxhLmVudGVyKCJodG1sRmxvd0RhdGEiKSxhLmNvbnN1bWUoSSksdX1mdW5jdGlvbiB1KEkpe3JldHVybiBJPT09MzM/KGEuY29uc3VtZShJKSxtKTpJPT09NDc/KGEuY29uc3VtZShJKSxvPSEwLGIpOkk9PT02Mz8oYS5jb25zdW1lKEkpLGk9MyxyLmludGVycnVwdD9lOlIpOlRzKEkpPyhhLmNvbnN1bWUoSSksbj1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpLGcpOnQoSSl9ZnVuY3Rpb24gbShJKXtyZXR1cm4gST09PTQ1PyhhLmNvbnN1bWUoSSksaT0yLHYpOkk9PT05MT8oYS5jb25zdW1lKEkpLGk9NSxsPTAseCk6VHMoSSk/KGEuY29uc3VtZShJKSxpPTQsci5pbnRlcnJ1cHQ/ZTpSKTp0KEkpfWZ1bmN0aW9uIHYoSSl7cmV0dXJuIEk9PT00NT8oYS5jb25zdW1lKEkpLHIuaW50ZXJydXB0P2U6Uik6dChJKX1mdW5jdGlvbiB4KEkpe2xldCBxPSJDREFUQVsiO3JldHVybiBJPT09cS5jaGFyQ29kZUF0KGwrKyk/KGEuY29uc3VtZShJKSxsPT09cS5sZW5ndGg/ci5pbnRlcnJ1cHQ/ZTpTOngpOnQoSSl9ZnVuY3Rpb24gYihJKXtyZXR1cm4gVHMoSSk/KGEuY29uc3VtZShJKSxuPVN0cmluZy5mcm9tQ2hhckNvZGUoSSksZyk6dChJKX1mdW5jdGlvbiBnKEkpe2lmKEk9PT1udWxsfHxJPT09NDd8fEk9PT02Mnx8dWEoSSkpe2xldCBxPUk9PT00NyxjZT1uLnRvTG93ZXJDYXNlKCk7cmV0dXJuIXEmJiFvJiZpM2UuaW5jbHVkZXMoY2UpPyhpPTEsci5pbnRlcnJ1cHQ/ZShJKTpTKEkpKTpJdXQuaW5jbHVkZXMobi50b0xvd2VyQ2FzZSgpKT8oaT02LHE/KGEuY29uc3VtZShJKSx5KTpyLmludGVycnVwdD9lKEkpOlMoSSkpOihpPTcsci5pbnRlcnJ1cHQmJiFyLnBhcnNlci5sYXp5W3Iubm93KCkubGluZV0/dChJKTpvP2soSSk6QyhJKSl9cmV0dXJuIEk9PT00NXx8UHIoSSk/KGEuY29uc3VtZShJKSxuKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpLGcpOnQoSSl9ZnVuY3Rpb24geShJKXtyZXR1cm4gST09PTYyPyhhLmNvbnN1bWUoSSksci5pbnRlcnJ1cHQ/ZTpTKTp0KEkpfWZ1bmN0aW9uIGsoSSl7cmV0dXJuIHp0KEkpPyhhLmNvbnN1bWUoSSksayk6QihJKX1mdW5jdGlvbiBDKEkpe3JldHVybiBJPT09NDc/KGEuY29uc3VtZShJKSxCKTpJPT09NTh8fEk9PT05NXx8VHMoSSk/KGEuY29uc3VtZShJKSxOKTp6dChJKT8oYS5jb25zdW1lKEkpLEMpOkIoSSl9ZnVuY3Rpb24gTihJKXtyZXR1cm4gST09PTQ1fHxJPT09NDZ8fEk9PT01OHx8ST09PTk1fHxQcihJKT8oYS5jb25zdW1lKEkpLE4pOl8oSSl9ZnVuY3Rpb24gXyhJKXtyZXR1cm4gST09PTYxPyhhLmNvbnN1bWUoSSkseik6enQoSSk/KGEuY29uc3VtZShJKSxfKTpDKEkpfWZ1bmN0aW9uIHooSSl7cmV0dXJuIEk9PT1udWxsfHxJPT09NjB8fEk9PT02MXx8ST09PTYyfHxJPT09OTY/dChJKTpJPT09MzR8fEk9PT0zOT8oYS5jb25zdW1lKEkpLGQ9SSxPKTp6dChJKT8oYS5jb25zdW1lKEkpLHopOlQoSSl9ZnVuY3Rpb24gTyhJKXtyZXR1cm4gST09PWQ/KGEuY29uc3VtZShJKSxkPW51bGwsRSk6ST09PW51bGx8fEplKEkpP3QoSSk6KGEuY29uc3VtZShJKSxPKX1mdW5jdGlvbiBUKEkpe3JldHVybiBJPT09bnVsbHx8ST09PTM0fHxJPT09Mzl8fEk9PT00N3x8ST09PTYwfHxJPT09NjF8fEk9PT02Mnx8ST09PTk2fHx1YShJKT9fKEkpOihhLmNvbnN1bWUoSSksVCl9ZnVuY3Rpb24gRShJKXtyZXR1cm4gST09PTQ3fHxJPT09NjJ8fHp0KEkpP0MoSSk6dChJKX1mdW5jdGlvbiBCKEkpe3JldHVybiBJPT09NjI/KGEuY29uc3VtZShJKSxNKTp0KEkpfWZ1bmN0aW9uIE0oSSl7cmV0dXJuIEk9PT1udWxsfHxKZShJKT9TKEkpOnp0KEkpPyhhLmNvbnN1bWUoSSksTSk6dChJKX1mdW5jdGlvbiBTKEkpe3JldHVybiBJPT09NDUmJmk9PT0yPyhhLmNvbnN1bWUoSSksVyk6ST09PTYwJiZpPT09MT8oYS5jb25zdW1lKEkpLGopOkk9PT02MiYmaT09PTQ/KGEuY29uc3VtZShJKSxVKTpJPT09NjMmJmk9PT0zPyhhLmNvbnN1bWUoSSksUik6ST09PTkzJiZpPT09NT8oYS5jb25zdW1lKEkpLGhlKTpKZShJKSYmKGk9PT02fHxpPT09Nyk/KGEuZXhpdCgiaHRtbEZsb3dEYXRhIiksYS5jaGVjayhvTWEsbWUsUCkoSSkpOkk9PT1udWxsfHxKZShJKT8oYS5leGl0KCJodG1sRmxvd0RhdGEiKSxQKEkpKTooYS5jb25zdW1lKEkpLFMpfWZ1bmN0aW9uIFAoSSl7cmV0dXJuIGEuY2hlY2sobk1hLEEsbWUpKEkpfWZ1bmN0aW9uIEEoSSl7cmV0dXJuIGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUoSSksYS5leGl0KCJsaW5lRW5kaW5nIiksRn1mdW5jdGlvbiBGKEkpe3JldHVybiBJPT09bnVsbHx8SmUoSSk/UChJKTooYS5lbnRlcigiaHRtbEZsb3dEYXRhIiksUyhJKSl9ZnVuY3Rpb24gVyhJKXtyZXR1cm4gST09PTQ1PyhhLmNvbnN1bWUoSSksUik6UyhJKX1mdW5jdGlvbiBqKEkpe3JldHVybiBJPT09NDc/KGEuY29uc3VtZShJKSxuPSIiLEcpOlMoSSl9ZnVuY3Rpb24gRyhJKXtpZihJPT09NjIpe2xldCBxPW4udG9Mb3dlckNhc2UoKTtyZXR1cm4gaTNlLmluY2x1ZGVzKHEpPyhhLmNvbnN1bWUoSSksVSk6UyhJKX1yZXR1cm4gVHMoSSkmJm4ubGVuZ3RoPDg/KGEuY29uc3VtZShJKSxuKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpLEcpOlMoSSl9ZnVuY3Rpb24gaGUoSSl7cmV0dXJuIEk9PT05Mz8oYS5jb25zdW1lKEkpLFIpOlMoSSl9ZnVuY3Rpb24gUihJKXtyZXR1cm4gST09PTYyPyhhLmNvbnN1bWUoSSksVSk6ST09PTQ1JiZpPT09Mj8oYS5jb25zdW1lKEkpLFIpOlMoSSl9ZnVuY3Rpb24gVShJKXtyZXR1cm4gST09PW51bGx8fEplKEkpPyhhLmV4aXQoImh0bWxGbG93RGF0YSIpLG1lKEkpKTooYS5jb25zdW1lKEkpLFUpfWZ1bmN0aW9uIG1lKEkpe3JldHVybiBhLmV4aXQoImh0bWxGbG93IiksZShJKX19ZnVuY3Rpb24gZE1hKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkobil7cmV0dXJuIEplKG4pPyhhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKG4pLGEuZXhpdCgibGluZUVuZGluZyIpLG8pOnQobil9ZnVuY3Rpb24gbyhuKXtyZXR1cm4gci5wYXJzZXIubGF6eVtyLm5vdygpLmxpbmVdP3Qobik6ZShuKX19ZnVuY3Rpb24gdU1hKGEsZSx0KXtyZXR1cm4gcjtmdW5jdGlvbiByKGkpe3JldHVybiBhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKGkpLGEuZXhpdCgibGluZUVuZGluZyIpLGEuYXR0ZW1wdChOMixlLHQpfX12YXIgbzNlLG9NYSxuTWEsUnV0PWYoKCk9PntiYSgpO051dCgpO0VRKCk7bzNlPXtjb25jcmV0ZTohMCxuYW1lOiJodG1sRmxvdyIscmVzb2x2ZVRvOmxNYSx0b2tlbml6ZTpjTWF9LG9NYT17cGFydGlhbDohMCx0b2tlbml6ZTp1TWF9LG5NYT17cGFydGlhbDohMCx0b2tlbml6ZTpkTWF9O3MobE1hLCJyZXNvbHZlVG9IdG1sRmxvdyIpO3MoY01hLCJ0b2tlbml6ZUh0bWxGbG93Iik7cyhkTWEsInRva2VuaXplTm9uTGF6eUNvbnRpbnVhdGlvblN0YXJ0Iik7cyh1TWEsInRva2VuaXplQmxhbmtMaW5lQmVmb3JlIil9KTtmdW5jdGlvbiBwTWEoYSxlLHQpe2xldCByPXRoaXMsaSxvLG47cmV0dXJuIGw7ZnVuY3Rpb24gbChSKXtyZXR1cm4gYS5lbnRlcigiaHRtbFRleHQiKSxhLmVudGVyKCJodG1sVGV4dERhdGEiKSxhLmNvbnN1bWUoUiksZH1mdW5jdGlvbiBkKFIpe3JldHVybiBSPT09MzM/KGEuY29uc3VtZShSKSxjKTpSPT09NDc/KGEuY29uc3VtZShSKSxfKTpSPT09NjM/KGEuY29uc3VtZShSKSxDKTpUcyhSKT8oYS5jb25zdW1lKFIpLFQpOnQoUil9ZnVuY3Rpb24gYyhSKXtyZXR1cm4gUj09PTQ1PyhhLmNvbnN1bWUoUikscCk6Uj09PTkxPyhhLmNvbnN1bWUoUiksbz0wLHgpOlRzKFIpPyhhLmNvbnN1bWUoUiksayk6dChSKX1mdW5jdGlvbiBwKFIpe3JldHVybiBSPT09NDU/KGEuY29uc3VtZShSKSx2KTp0KFIpfWZ1bmN0aW9uIHUoUil7cmV0dXJuIFI9PT1udWxsP3QoUik6Uj09PTQ1PyhhLmNvbnN1bWUoUiksbSk6SmUoUik/KG49dSxqKFIpKTooYS5jb25zdW1lKFIpLHUpfWZ1bmN0aW9uIG0oUil7cmV0dXJuIFI9PT00NT8oYS5jb25zdW1lKFIpLHYpOnUoUil9ZnVuY3Rpb24gdihSKXtyZXR1cm4gUj09PTYyP1coUik6Uj09PTQ1P20oUik6dShSKX1mdW5jdGlvbiB4KFIpe2xldCBVPSJDREFUQVsiO3JldHVybiBSPT09VS5jaGFyQ29kZUF0KG8rKyk/KGEuY29uc3VtZShSKSxvPT09VS5sZW5ndGg/Yjp4KTp0KFIpfWZ1bmN0aW9uIGIoUil7cmV0dXJuIFI9PT1udWxsP3QoUik6Uj09PTkzPyhhLmNvbnN1bWUoUiksZyk6SmUoUik/KG49YixqKFIpKTooYS5jb25zdW1lKFIpLGIpfWZ1bmN0aW9uIGcoUil7cmV0dXJuIFI9PT05Mz8oYS5jb25zdW1lKFIpLHkpOmIoUil9ZnVuY3Rpb24geShSKXtyZXR1cm4gUj09PTYyP1coUik6Uj09PTkzPyhhLmNvbnN1bWUoUikseSk6YihSKX1mdW5jdGlvbiBrKFIpe3JldHVybiBSPT09bnVsbHx8Uj09PTYyP1coUik6SmUoUik/KG49ayxqKFIpKTooYS5jb25zdW1lKFIpLGspfWZ1bmN0aW9uIEMoUil7cmV0dXJuIFI9PT1udWxsP3QoUik6Uj09PTYzPyhhLmNvbnN1bWUoUiksTik6SmUoUik/KG49QyxqKFIpKTooYS5jb25zdW1lKFIpLEMpfWZ1bmN0aW9uIE4oUil7cmV0dXJuIFI9PT02Mj9XKFIpOkMoUil9ZnVuY3Rpb24gXyhSKXtyZXR1cm4gVHMoUik/KGEuY29uc3VtZShSKSx6KTp0KFIpfWZ1bmN0aW9uIHooUil7cmV0dXJuIFI9PT00NXx8UHIoUik/KGEuY29uc3VtZShSKSx6KTpPKFIpfWZ1bmN0aW9uIE8oUil7cmV0dXJuIEplKFIpPyhuPU8saihSKSk6enQoUik/KGEuY29uc3VtZShSKSxPKTpXKFIpfWZ1bmN0aW9uIFQoUil7cmV0dXJuIFI9PT00NXx8UHIoUik/KGEuY29uc3VtZShSKSxUKTpSPT09NDd8fFI9PT02Mnx8dWEoUik/RShSKTp0KFIpfWZ1bmN0aW9uIEUoUil7cmV0dXJuIFI9PT00Nz8oYS5jb25zdW1lKFIpLFcpOlI9PT01OHx8Uj09PTk1fHxUcyhSKT8oYS5jb25zdW1lKFIpLEIpOkplKFIpPyhuPUUsaihSKSk6enQoUik/KGEuY29uc3VtZShSKSxFKTpXKFIpfWZ1bmN0aW9uIEIoUil7cmV0dXJuIFI9PT00NXx8Uj09PTQ2fHxSPT09NTh8fFI9PT05NXx8UHIoUik/KGEuY29uc3VtZShSKSxCKTpNKFIpfWZ1bmN0aW9uIE0oUil7cmV0dXJuIFI9PT02MT8oYS5jb25zdW1lKFIpLFMpOkplKFIpPyhuPU0saihSKSk6enQoUik/KGEuY29uc3VtZShSKSxNKTpFKFIpfWZ1bmN0aW9uIFMoUil7cmV0dXJuIFI9PT1udWxsfHxSPT09NjB8fFI9PT02MXx8Uj09PTYyfHxSPT09OTY/dChSKTpSPT09MzR8fFI9PT0zOT8oYS5jb25zdW1lKFIpLGk9UixQKTpKZShSKT8obj1TLGooUikpOnp0KFIpPyhhLmNvbnN1bWUoUiksUyk6KGEuY29uc3VtZShSKSxBKX1mdW5jdGlvbiBQKFIpe3JldHVybiBSPT09aT8oYS5jb25zdW1lKFIpLGk9dm9pZCAwLEYpOlI9PT1udWxsP3QoUik6SmUoUik/KG49UCxqKFIpKTooYS5jb25zdW1lKFIpLFApfWZ1bmN0aW9uIEEoUil7cmV0dXJuIFI9PT1udWxsfHxSPT09MzR8fFI9PT0zOXx8Uj09PTYwfHxSPT09NjF8fFI9PT05Nj90KFIpOlI9PT00N3x8Uj09PTYyfHx1YShSKT9FKFIpOihhLmNvbnN1bWUoUiksQSl9ZnVuY3Rpb24gRihSKXtyZXR1cm4gUj09PTQ3fHxSPT09NjJ8fHVhKFIpP0UoUik6dChSKX1mdW5jdGlvbiBXKFIpe3JldHVybiBSPT09NjI/KGEuY29uc3VtZShSKSxhLmV4aXQoImh0bWxUZXh0RGF0YSIpLGEuZXhpdCgiaHRtbFRleHQiKSxlKTp0KFIpfWZ1bmN0aW9uIGooUil7cmV0dXJuIGEuZXhpdCgiaHRtbFRleHREYXRhIiksYS5lbnRlcigibGluZUVuZGluZyIpLGEuY29uc3VtZShSKSxhLmV4aXQoImxpbmVFbmRpbmciKSxHfWZ1bmN0aW9uIEcoUil7cmV0dXJuIHp0KFIpP0R0KGEsaGUsImxpbmVQcmVmaXgiLHIucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKT92b2lkIDA6NCkoUik6aGUoUil9ZnVuY3Rpb24gaGUoUil7cmV0dXJuIGEuZW50ZXIoImh0bWxUZXh0RGF0YSIpLG4oUil9fXZhciBuM2UsT3V0PWYoKCk9PntXcigpO2JhKCk7bjNlPXtuYW1lOiJodG1sVGV4dCIsdG9rZW5pemU6cE1hfTtzKHBNYSwidG9rZW5pemVIdG1sVGV4dCIpfSk7ZnVuY3Rpb24gZ01hKGEpe2xldCBlPS0xLHQ9W107Zm9yKDsrK2U8YS5sZW5ndGg7KXtsZXQgcj1hW2VdWzFdO2lmKHQucHVzaChhW2VdKSxyLnR5cGU9PT0ibGFiZWxJbWFnZSJ8fHIudHlwZT09PSJsYWJlbExpbmsifHxyLnR5cGU9PT0ibGFiZWxFbmQiKXtsZXQgaT1yLnR5cGU9PT0ibGFiZWxJbWFnZSI/NDoyO3IudHlwZT0iZGF0YSIsZSs9aX19cmV0dXJuIGEubGVuZ3RoIT09dC5sZW5ndGgmJlVyKGEsMCxhLmxlbmd0aCx0KSxhfWZ1bmN0aW9uIGJNYShhLGUpe2xldCB0PWEubGVuZ3RoLHI9MCxpLG8sbixsO2Zvcig7dC0tOylpZihpPWFbdF1bMV0sbyl7aWYoaS50eXBlPT09ImxpbmsifHxpLnR5cGU9PT0ibGFiZWxMaW5rIiYmaS5faW5hY3RpdmUpYnJlYWs7YVt0XVswXT09PSJlbnRlciImJmkudHlwZT09PSJsYWJlbExpbmsiJiYoaS5faW5hY3RpdmU9ITApfWVsc2UgaWYobil7aWYoYVt0XVswXT09PSJlbnRlciImJihpLnR5cGU9PT0ibGFiZWxJbWFnZSJ8fGkudHlwZT09PSJsYWJlbExpbmsiKSYmIWkuX2JhbGFuY2VkJiYobz10LGkudHlwZSE9PSJsYWJlbExpbmsiKSl7cj0yO2JyZWFrfX1lbHNlIGkudHlwZT09PSJsYWJlbEVuZCImJihuPXQpO2xldCBkPXt0eXBlOmFbb11bMV0udHlwZT09PSJsYWJlbExpbmsiPyJsaW5rIjoiaW1hZ2UiLHN0YXJ0OnsuLi5hW29dWzFdLnN0YXJ0fSxlbmQ6ey4uLmFbYS5sZW5ndGgtMV1bMV0uZW5kfX0sYz17dHlwZToibGFiZWwiLHN0YXJ0OnsuLi5hW29dWzFdLnN0YXJ0fSxlbmQ6ey4uLmFbbl1bMV0uZW5kfX0scD17dHlwZToibGFiZWxUZXh0IixzdGFydDp7Li4uYVtvK3IrMl1bMV0uZW5kfSxlbmQ6ey4uLmFbbi0yXVsxXS5zdGFydH19O3JldHVybiBsPVtbImVudGVyIixkLGVdLFsiZW50ZXIiLGMsZV1dLGw9Y3MobCxhLnNsaWNlKG8rMSxvK3IrMykpLGw9Y3MobCxbWyJlbnRlciIscCxlXV0pLGw9Y3MobCxqMChlLnBhcnNlci5jb25zdHJ1Y3RzLmluc2lkZVNwYW4ubnVsbCxhLnNsaWNlKG8rcis0LG4tMyksZSkpLGw9Y3MobCxbWyJleGl0IixwLGVdLGFbbi0yXSxhW24tMV0sWyJleGl0IixjLGVdXSksbD1jcyhsLGEuc2xpY2UobisxKSksbD1jcyhsLFtbImV4aXQiLGQsZV1dKSxVcihhLG8sYS5sZW5ndGgsbCksYX1mdW5jdGlvbiB2TWEoYSxlLHQpe2xldCByPXRoaXMsaT1yLmV2ZW50cy5sZW5ndGgsbyxuO2Zvcig7aS0tOylpZigoci5ldmVudHNbaV1bMV0udHlwZT09PSJsYWJlbEltYWdlInx8ci5ldmVudHNbaV1bMV0udHlwZT09PSJsYWJlbExpbmsiKSYmIXIuZXZlbnRzW2ldWzFdLl9iYWxhbmNlZCl7bz1yLmV2ZW50c1tpXVsxXTticmVha31yZXR1cm4gbDtmdW5jdGlvbiBsKG0pe3JldHVybiBvP28uX2luYWN0aXZlP3UobSk6KG49ci5wYXJzZXIuZGVmaW5lZC5pbmNsdWRlcyhJcihyLnNsaWNlU2VyaWFsaXplKHtzdGFydDpvLmVuZCxlbmQ6ci5ub3coKX0pKSksYS5lbnRlcigibGFiZWxFbmQiKSxhLmVudGVyKCJsYWJlbE1hcmtlciIpLGEuY29uc3VtZShtKSxhLmV4aXQoImxhYmVsTWFya2VyIiksYS5leGl0KCJsYWJlbEVuZCIpLGQpOnQobSl9ZnVuY3Rpb24gZChtKXtyZXR1cm4gbT09PTQwP2EuYXR0ZW1wdChmTWEscCxuP3A6dSkobSk6bT09PTkxP2EuYXR0ZW1wdChoTWEscCxuP2M6dSkobSk6bj9wKG0pOnUobSl9ZnVuY3Rpb24gYyhtKXtyZXR1cm4gYS5hdHRlbXB0KG1NYSxwLHUpKG0pfWZ1bmN0aW9uIHAobSl7cmV0dXJuIGUobSl9ZnVuY3Rpb24gdShtKXtyZXR1cm4gby5fYmFsYW5jZWQ9ITAsdChtKX19ZnVuY3Rpb24geE1hKGEsZSx0KXtyZXR1cm4gcjtmdW5jdGlvbiByKHUpe3JldHVybiBhLmVudGVyKCJyZXNvdXJjZSIpLGEuZW50ZXIoInJlc291cmNlTWFya2VyIiksYS5jb25zdW1lKHUpLGEuZXhpdCgicmVzb3VyY2VNYXJrZXIiKSxpfWZ1bmN0aW9uIGkodSl7cmV0dXJuIHVhKHUpP1ozKGEsbykodSk6byh1KX1mdW5jdGlvbiBvKHUpe3JldHVybiB1PT09NDE/cCh1KTpGUShhLG4sbCwicmVzb3VyY2VEZXN0aW5hdGlvbiIsInJlc291cmNlRGVzdGluYXRpb25MaXRlcmFsIiwicmVzb3VyY2VEZXN0aW5hdGlvbkxpdGVyYWxNYXJrZXIiLCJyZXNvdXJjZURlc3RpbmF0aW9uUmF3IiwicmVzb3VyY2VEZXN0aW5hdGlvblN0cmluZyIsMzIpKHUpfWZ1bmN0aW9uIG4odSl7cmV0dXJuIHVhKHUpP1ozKGEsZCkodSk6cCh1KX1mdW5jdGlvbiBsKHUpe3JldHVybiB0KHUpfWZ1bmN0aW9uIGQodSl7cmV0dXJuIHU9PT0zNHx8dT09PTM5fHx1PT09NDA/SFEoYSxjLHQsInJlc291cmNlVGl0bGUiLCJyZXNvdXJjZVRpdGxlTWFya2VyIiwicmVzb3VyY2VUaXRsZVN0cmluZyIpKHUpOnAodSl9ZnVuY3Rpb24gYyh1KXtyZXR1cm4gdWEodSk/WjMoYSxwKSh1KTpwKHUpfWZ1bmN0aW9uIHAodSl7cmV0dXJuIHU9PT00MT8oYS5lbnRlcigicmVzb3VyY2VNYXJrZXIiKSxhLmNvbnN1bWUodSksYS5leGl0KCJyZXNvdXJjZU1hcmtlciIpLGEuZXhpdCgicmVzb3VyY2UiKSxlKTp0KHUpfX1mdW5jdGlvbiB5TWEoYSxlLHQpe2xldCByPXRoaXM7cmV0dXJuIGk7ZnVuY3Rpb24gaShsKXtyZXR1cm4gQlEuY2FsbChyLGEsbyxuLCJyZWZlcmVuY2UiLCJyZWZlcmVuY2VNYXJrZXIiLCJyZWZlcmVuY2VTdHJpbmciKShsKX1mdW5jdGlvbiBvKGwpe3JldHVybiByLnBhcnNlci5kZWZpbmVkLmluY2x1ZGVzKElyKHIuc2xpY2VTZXJpYWxpemUoci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdWzFdKS5zbGljZSgxLC0xKSkpP2UobCk6dChsKX1mdW5jdGlvbiBuKGwpe3JldHVybiB0KGwpfX1mdW5jdGlvbiB3TWEoYSxlLHQpe3JldHVybiByO2Z1bmN0aW9uIHIobyl7cmV0dXJuIGEuZW50ZXIoInJlZmVyZW5jZSIpLGEuZW50ZXIoInJlZmVyZW5jZU1hcmtlciIpLGEuY29uc3VtZShvKSxhLmV4aXQoInJlZmVyZW5jZU1hcmtlciIpLGl9ZnVuY3Rpb24gaShvKXtyZXR1cm4gbz09PTkzPyhhLmVudGVyKCJyZWZlcmVuY2VNYXJrZXIiKSxhLmNvbnN1bWUobyksYS5leGl0KCJyZWZlcmVuY2VNYXJrZXIiKSxhLmV4aXQoInJlZmVyZW5jZSIpLGUpOnQobyl9fXZhciBYMyxmTWEsaE1hLG1NYSxxUT1mKCgpPT57UTRlKCk7SjRlKCk7ZTNlKCk7dDNlKCk7YmEoKTtBMigpO3EwKCk7R2coKTtYMz17bmFtZToibGFiZWxFbmQiLHJlc29sdmVBbGw6Z01hLHJlc29sdmVUbzpiTWEsdG9rZW5pemU6dk1hfSxmTWE9e3Rva2VuaXplOnhNYX0saE1hPXt0b2tlbml6ZTp5TWF9LG1NYT17dG9rZW5pemU6d01hfTtzKGdNYSwicmVzb2x2ZUFsbExhYmVsRW5kIik7cyhiTWEsInJlc29sdmVUb0xhYmVsRW5kIik7cyh2TWEsInRva2VuaXplTGFiZWxFbmQiKTtzKHhNYSwidG9rZW5pemVSZXNvdXJjZSIpO3MoeU1hLCJ0b2tlbml6ZVJlZmVyZW5jZUZ1bGwiKTtzKHdNYSwidG9rZW5pemVSZWZlcmVuY2VDb2xsYXBzZWQiKX0pO2Z1bmN0aW9uIE1NYShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gaTtmdW5jdGlvbiBpKGwpe3JldHVybiBhLmVudGVyKCJsYWJlbEltYWdlIiksYS5lbnRlcigibGFiZWxJbWFnZU1hcmtlciIpLGEuY29uc3VtZShsKSxhLmV4aXQoImxhYmVsSW1hZ2VNYXJrZXIiKSxvfWZ1bmN0aW9uIG8obCl7cmV0dXJuIGw9PT05MT8oYS5lbnRlcigibGFiZWxNYXJrZXIiKSxhLmNvbnN1bWUobCksYS5leGl0KCJsYWJlbE1hcmtlciIpLGEuZXhpdCgibGFiZWxJbWFnZSIpLG4pOnQobCl9ZnVuY3Rpb24gbihsKXtyZXR1cm4gbD09PTk0JiYiX2hpZGRlbkZvb3Rub3RlU3VwcG9ydCJpbiByLnBhcnNlci5jb25zdHJ1Y3RzP3QobCk6ZShsKX19dmFyIGwzZSxGdXQ9ZigoKT0+e3FRKCk7bDNlPXtuYW1lOiJsYWJlbFN0YXJ0SW1hZ2UiLHJlc29sdmVBbGw6WDMucmVzb2x2ZUFsbCx0b2tlbml6ZTpNTWF9O3MoTU1hLCJ0b2tlbml6ZUxhYmVsU3RhcnRJbWFnZSIpfSk7ZnVuY3Rpb24ga01hKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiBpO2Z1bmN0aW9uIGkobil7cmV0dXJuIGEuZW50ZXIoImxhYmVsTGluayIpLGEuZW50ZXIoImxhYmVsTWFya2VyIiksYS5jb25zdW1lKG4pLGEuZXhpdCgibGFiZWxNYXJrZXIiKSxhLmV4aXQoImxhYmVsTGluayIpLG99ZnVuY3Rpb24gbyhuKXtyZXR1cm4gbj09PTk0JiYiX2hpZGRlbkZvb3Rub3RlU3VwcG9ydCJpbiByLnBhcnNlci5jb25zdHJ1Y3RzP3Qobik6ZShuKX19dmFyIGMzZSxCdXQ9ZigoKT0+e3FRKCk7YzNlPXtuYW1lOiJsYWJlbFN0YXJ0TGluayIscmVzb2x2ZUFsbDpYMy5yZXNvbHZlQWxsLHRva2VuaXplOmtNYX07cyhrTWEsInRva2VuaXplTGFiZWxTdGFydExpbmsiKX0pO2Z1bmN0aW9uIFNNYShhLGUpe3JldHVybiB0O2Z1bmN0aW9uIHQocil7cmV0dXJuIGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUociksYS5leGl0KCJsaW5lRW5kaW5nIiksRHQoYSxlLCJsaW5lUHJlZml4Iil9fXZhciBRZyxIdXQ9ZigoKT0+e1dyKCk7YmEoKTtRZz17bmFtZToibGluZUVuZGluZyIsdG9rZW5pemU6U01hfTtzKFNNYSwidG9rZW5pemVMaW5lRW5kaW5nIil9KTtmdW5jdGlvbiB6TWEoYSxlLHQpe2xldCByPTAsaTtyZXR1cm4gbztmdW5jdGlvbiBvKGMpe3JldHVybiBhLmVudGVyKCJ0aGVtYXRpY0JyZWFrIiksbihjKX1mdW5jdGlvbiBuKGMpe3JldHVybiBpPWMsbChjKX1mdW5jdGlvbiBsKGMpe3JldHVybiBjPT09aT8oYS5lbnRlcigidGhlbWF0aWNCcmVha1NlcXVlbmNlIiksZChjKSk6cj49MyYmKGM9PT1udWxsfHxKZShjKSk/KGEuZXhpdCgidGhlbWF0aWNCcmVhayIpLGUoYykpOnQoYyl9ZnVuY3Rpb24gZChjKXtyZXR1cm4gYz09PWk/KGEuY29uc3VtZShjKSxyKyssZCk6KGEuZXhpdCgidGhlbWF0aWNCcmVha1NlcXVlbmNlIiksenQoYyk/RHQoYSxsLCJ3aGl0ZXNwYWNlIikoYyk6bChjKSl9fXZhciBRMyxkM2U9ZigoKT0+e1dyKCk7YmEoKTtRMz17bmFtZToidGhlbWF0aWNCcmVhayIsdG9rZW5pemU6ek1hfTtzKHpNYSwidG9rZW5pemVUaGVtYXRpY0JyZWFrIil9KTtmdW5jdGlvbiBUTWEoYSxlLHQpe2xldCByPXRoaXMsaT1yLmV2ZW50c1tyLmV2ZW50cy5sZW5ndGgtMV0sbz1pJiZpWzFdLnR5cGU9PT0ibGluZVByZWZpeCI/aVsyXS5zbGljZVNlcmlhbGl6ZShpWzFdLCEwKS5sZW5ndGg6MCxuPTA7cmV0dXJuIGw7ZnVuY3Rpb24gbCh2KXtsZXQgeD1yLmNvbnRhaW5lclN0YXRlLnR5cGV8fCh2PT09NDJ8fHY9PT00M3x8dj09PTQ1PyJsaXN0VW5vcmRlcmVkIjoibGlzdE9yZGVyZWQiKTtpZih4PT09Imxpc3RVbm9yZGVyZWQiPyFyLmNvbnRhaW5lclN0YXRlLm1hcmtlcnx8dj09PXIuY29udGFpbmVyU3RhdGUubWFya2VyOnFnKHYpKXtpZihyLmNvbnRhaW5lclN0YXRlLnR5cGV8fChyLmNvbnRhaW5lclN0YXRlLnR5cGU9eCxhLmVudGVyKHgse19jb250YWluZXI6ITB9KSkseD09PSJsaXN0VW5vcmRlcmVkIilyZXR1cm4gYS5lbnRlcigibGlzdEl0ZW1QcmVmaXgiKSx2PT09NDJ8fHY9PT00NT9hLmNoZWNrKFEzLHQsYykodik6Yyh2KTtpZighci5pbnRlcnJ1cHR8fHY9PT00OSlyZXR1cm4gYS5lbnRlcigibGlzdEl0ZW1QcmVmaXgiKSxhLmVudGVyKCJsaXN0SXRlbVZhbHVlIiksZCh2KX1yZXR1cm4gdCh2KX1mdW5jdGlvbiBkKHYpe3JldHVybiBxZyh2KSYmKytuPDEwPyhhLmNvbnN1bWUodiksZCk6KCFyLmludGVycnVwdHx8bjwyKSYmKHIuY29udGFpbmVyU3RhdGUubWFya2VyP3Y9PT1yLmNvbnRhaW5lclN0YXRlLm1hcmtlcjp2PT09NDF8fHY9PT00Nik/KGEuZXhpdCgibGlzdEl0ZW1WYWx1ZSIpLGModikpOnQodil9ZnVuY3Rpb24gYyh2KXtyZXR1cm4gYS5lbnRlcigibGlzdEl0ZW1NYXJrZXIiKSxhLmNvbnN1bWUodiksYS5leGl0KCJsaXN0SXRlbU1hcmtlciIpLHIuY29udGFpbmVyU3RhdGUubWFya2VyPXIuY29udGFpbmVyU3RhdGUubWFya2VyfHx2LGEuY2hlY2soTjIsci5pbnRlcnJ1cHQ/dDpwLGEuYXR0ZW1wdChDTWEsbSx1KSl9ZnVuY3Rpb24gcCh2KXtyZXR1cm4gci5jb250YWluZXJTdGF0ZS5pbml0aWFsQmxhbmtMaW5lPSEwLG8rKyxtKHYpfWZ1bmN0aW9uIHUodil7cmV0dXJuIHp0KHYpPyhhLmVudGVyKCJsaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiKSxhLmNvbnN1bWUodiksYS5leGl0KCJsaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiKSxtKTp0KHYpfWZ1bmN0aW9uIG0odil7cmV0dXJuIHIuY29udGFpbmVyU3RhdGUuc2l6ZT1vK3Iuc2xpY2VTZXJpYWxpemUoYS5leGl0KCJsaXN0SXRlbVByZWZpeCIpLCEwKS5sZW5ndGgsZSh2KX19ZnVuY3Rpb24gTE1hKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiByLmNvbnRhaW5lclN0YXRlLl9jbG9zZUZsb3c9dm9pZCAwLGEuY2hlY2soTjIsaSxvKTtmdW5jdGlvbiBpKGwpe3JldHVybiByLmNvbnRhaW5lclN0YXRlLmZ1cnRoZXJCbGFua0xpbmVzPXIuY29udGFpbmVyU3RhdGUuZnVydGhlckJsYW5rTGluZXN8fHIuY29udGFpbmVyU3RhdGUuaW5pdGlhbEJsYW5rTGluZSxEdChhLGUsImxpc3RJdGVtSW5kZW50IixyLmNvbnRhaW5lclN0YXRlLnNpemUrMSkobCl9cyhpLCJvbkJsYW5rIik7ZnVuY3Rpb24gbyhsKXtyZXR1cm4gci5jb250YWluZXJTdGF0ZS5mdXJ0aGVyQmxhbmtMaW5lc3x8IXp0KGwpPyhyLmNvbnRhaW5lclN0YXRlLmZ1cnRoZXJCbGFua0xpbmVzPXZvaWQgMCxyLmNvbnRhaW5lclN0YXRlLmluaXRpYWxCbGFua0xpbmU9dm9pZCAwLG4obCkpOihyLmNvbnRhaW5lclN0YXRlLmZ1cnRoZXJCbGFua0xpbmVzPXZvaWQgMCxyLmNvbnRhaW5lclN0YXRlLmluaXRpYWxCbGFua0xpbmU9dm9pZCAwLGEuYXR0ZW1wdChfTWEsZSxuKShsKSl9cyhvLCJub3RCbGFuayIpO2Z1bmN0aW9uIG4obCl7cmV0dXJuIHIuY29udGFpbmVyU3RhdGUuX2Nsb3NlRmxvdz0hMCxyLmludGVycnVwdD12b2lkIDAsRHQoYSxhLmF0dGVtcHQoU2ksZSx0KSwibGluZVByZWZpeCIsci5wYXJzZXIuY29uc3RydWN0cy5kaXNhYmxlLm51bGwuaW5jbHVkZXMoImNvZGVJbmRlbnRlZCIpP3ZvaWQgMDo0KShsKX1zKG4sIm5vdEluQ3VycmVudEl0ZW0iKX1mdW5jdGlvbiAkTWEoYSxlLHQpe2xldCByPXRoaXM7cmV0dXJuIER0KGEsaSwibGlzdEl0ZW1JbmRlbnQiLHIuY29udGFpbmVyU3RhdGUuc2l6ZSsxKTtmdW5jdGlvbiBpKG8pe2xldCBuPXIuZXZlbnRzW3IuZXZlbnRzLmxlbmd0aC0xXTtyZXR1cm4gbiYmblsxXS50eXBlPT09Imxpc3RJdGVtSW5kZW50IiYmblsyXS5zbGljZVNlcmlhbGl6ZShuWzFdLCEwKS5sZW5ndGg9PT1yLmNvbnRhaW5lclN0YXRlLnNpemU/ZShvKTp0KG8pfX1mdW5jdGlvbiBETWEoYSl7YS5leGl0KHRoaXMuY29udGFpbmVyU3RhdGUudHlwZSl9ZnVuY3Rpb24gQU1hKGEsZSx0KXtsZXQgcj10aGlzO3JldHVybiBEdChhLGksImxpc3RJdGVtUHJlZml4V2hpdGVzcGFjZSIsci5wYXJzZXIuY29uc3RydWN0cy5kaXNhYmxlLm51bGwuaW5jbHVkZXMoImNvZGVJbmRlbnRlZCIpP3ZvaWQgMDo1KTtmdW5jdGlvbiBpKG8pe2xldCBuPXIuZXZlbnRzW3IuZXZlbnRzLmxlbmd0aC0xXTtyZXR1cm4henQobykmJm4mJm5bMV0udHlwZT09PSJsaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiP2Uobyk6dChvKX19dmFyIFNpLENNYSxfTWEscXV0PWYoKCk9PntXcigpO2JhKCk7RVEoKTtkM2UoKTtTaT17Y29udGludWF0aW9uOnt0b2tlbml6ZTpMTWF9LGV4aXQ6RE1hLG5hbWU6Imxpc3QiLHRva2VuaXplOlRNYX0sQ01hPXtwYXJ0aWFsOiEwLHRva2VuaXplOkFNYX0sX01hPXtwYXJ0aWFsOiEwLHRva2VuaXplOiRNYX07cyhUTWEsInRva2VuaXplTGlzdFN0YXJ0Iik7cyhMTWEsInRva2VuaXplTGlzdENvbnRpbnVhdGlvbiIpO3MoJE1hLCJ0b2tlbml6ZUluZGVudCIpO3MoRE1hLCJ0b2tlbml6ZUxpc3RFbmQiKTtzKEFNYSwidG9rZW5pemVMaXN0SXRlbVByZWZpeFdoaXRlc3BhY2UiKX0pO2Z1bmN0aW9uIEVNYShhLGUpe2xldCB0PWEubGVuZ3RoLHIsaSxvO2Zvcig7dC0tOylpZihhW3RdWzBdPT09ImVudGVyIil7aWYoYVt0XVsxXS50eXBlPT09ImNvbnRlbnQiKXtyPXQ7YnJlYWt9YVt0XVsxXS50eXBlPT09InBhcmFncmFwaCImJihpPXQpfWVsc2UgYVt0XVsxXS50eXBlPT09ImNvbnRlbnQiJiZhLnNwbGljZSh0LDEpLCFvJiZhW3RdWzFdLnR5cGU9PT0iZGVmaW5pdGlvbiImJihvPXQpO2xldCBuPXt0eXBlOiJzZXRleHRIZWFkaW5nIixzdGFydDp7Li4uYVtyXVsxXS5zdGFydH0sZW5kOnsuLi5hW2EubGVuZ3RoLTFdWzFdLmVuZH19O3JldHVybiBhW2ldWzFdLnR5cGU9InNldGV4dEhlYWRpbmdUZXh0IixvPyhhLnNwbGljZShpLDAsWyJlbnRlciIsbixlXSksYS5zcGxpY2UobysxLDAsWyJleGl0IixhW3JdWzFdLGVdKSxhW3JdWzFdLmVuZD17Li4uYVtvXVsxXS5lbmR9KTphW3JdWzFdPW4sYS5wdXNoKFsiZXhpdCIsbixlXSksYX1mdW5jdGlvbiBQTWEoYSxlLHQpe2xldCByPXRoaXMsaTtyZXR1cm4gbztmdW5jdGlvbiBvKGMpe2xldCBwPXIuZXZlbnRzLmxlbmd0aCx1O2Zvcig7cC0tOylpZihyLmV2ZW50c1twXVsxXS50eXBlIT09ImxpbmVFbmRpbmciJiZyLmV2ZW50c1twXVsxXS50eXBlIT09ImxpbmVQcmVmaXgiJiZyLmV2ZW50c1twXVsxXS50eXBlIT09ImNvbnRlbnQiKXt1PXIuZXZlbnRzW3BdWzFdLnR5cGU9PT0icGFyYWdyYXBoIjticmVha31yZXR1cm4hci5wYXJzZXIubGF6eVtyLm5vdygpLmxpbmVdJiYoci5pbnRlcnJ1cHR8fHUpPyhhLmVudGVyKCJzZXRleHRIZWFkaW5nTGluZSIpLGk9YyxuKGMpKTp0KGMpfWZ1bmN0aW9uIG4oYyl7cmV0dXJuIGEuZW50ZXIoInNldGV4dEhlYWRpbmdMaW5lU2VxdWVuY2UiKSxsKGMpfWZ1bmN0aW9uIGwoYyl7cmV0dXJuIGM9PT1pPyhhLmNvbnN1bWUoYyksbCk6KGEuZXhpdCgic2V0ZXh0SGVhZGluZ0xpbmVTZXF1ZW5jZSIpLHp0KGMpP0R0KGEsZCwibGluZVN1ZmZpeCIpKGMpOmQoYykpfWZ1bmN0aW9uIGQoYyl7cmV0dXJuIGM9PT1udWxsfHxKZShjKT8oYS5leGl0KCJzZXRleHRIZWFkaW5nTGluZSIpLGUoYykpOnQoYyl9fXZhciBWUSxWdXQ9ZigoKT0+e1dyKCk7YmEoKTtWUT17bmFtZToic2V0ZXh0VW5kZXJsaW5lIixyZXNvbHZlVG86RU1hLHRva2VuaXplOlBNYX07cyhFTWEsInJlc29sdmVUb1NldGV4dFVuZGVybGluZSIpO3MoUE1hLCJ0b2tlbml6ZVNldGV4dFVuZGVybGluZSIpfSk7dmFyIGpRPWYoKCk9PntNdXQoKTtrdXQoKTtFUSgpO1N1dCgpO3p1dCgpO0N1dCgpO1R1dCgpO0x1dCgpOyR1dCgpO0R1dCgpO0F1dCgpO0V1dCgpO1B1dCgpO1J1dCgpO091dCgpO3FRKCk7RnV0KCk7QnV0KCk7SHV0KCk7cXV0KCk7VnV0KCk7ZDNlKCl9KTtmdW5jdGlvbiB1M2UoKXtyZXR1cm57ZG9jdW1lbnQ6ezkxOntuYW1lOiJnZm1Gb290bm90ZURlZmluaXRpb24iLHRva2VuaXplOkZNYSxjb250aW51YXRpb246e3Rva2VuaXplOkJNYX0sZXhpdDpITWF9fSx0ZXh0Ons5MTp7bmFtZToiZ2ZtRm9vdG5vdGVDYWxsIix0b2tlbml6ZTpPTWF9LDkzOntuYW1lOiJnZm1Qb3RlbnRpYWxGb290bm90ZUNhbGwiLGFkZDoiYWZ0ZXIiLHRva2VuaXplOk5NYSxyZXNvbHZlVG86Uk1hfX19fWZ1bmN0aW9uIE5NYShhLGUsdCl7bGV0IHI9dGhpcyxpPXIuZXZlbnRzLmxlbmd0aCxvPXIucGFyc2VyLmdmbUZvb3Rub3Rlc3x8KHIucGFyc2VyLmdmbUZvb3Rub3Rlcz1bXSksbjtmb3IoO2ktLTspe2xldCBkPXIuZXZlbnRzW2ldWzFdO2lmKGQudHlwZT09PSJsYWJlbEltYWdlIil7bj1kO2JyZWFrfWlmKGQudHlwZT09PSJnZm1Gb290bm90ZUNhbGwifHxkLnR5cGU9PT0ibGFiZWxMaW5rInx8ZC50eXBlPT09ImxhYmVsInx8ZC50eXBlPT09ImltYWdlInx8ZC50eXBlPT09ImxpbmsiKWJyZWFrfXJldHVybiBsO2Z1bmN0aW9uIGwoZCl7aWYoIW58fCFuLl9iYWxhbmNlZClyZXR1cm4gdChkKTtsZXQgYz1JcihyLnNsaWNlU2VyaWFsaXplKHtzdGFydDpuLmVuZCxlbmQ6ci5ub3coKX0pKTtyZXR1cm4gYy5jb2RlUG9pbnRBdCgwKSE9PTk0fHwhby5pbmNsdWRlcyhjLnNsaWNlKDEpKT90KGQpOihhLmVudGVyKCJnZm1Gb290bm90ZUNhbGxMYWJlbE1hcmtlciIpLGEuY29uc3VtZShkKSxhLmV4aXQoImdmbUZvb3Rub3RlQ2FsbExhYmVsTWFya2VyIiksZShkKSl9fWZ1bmN0aW9uIFJNYShhLGUpe2xldCB0PWEubGVuZ3RoLHI7Zm9yKDt0LS07KWlmKGFbdF1bMV0udHlwZT09PSJsYWJlbEltYWdlIiYmYVt0XVswXT09PSJlbnRlciIpe3I9YVt0XVsxXTticmVha31hW3QrMV1bMV0udHlwZT0iZGF0YSIsYVt0KzNdWzFdLnR5cGU9ImdmbUZvb3Rub3RlQ2FsbExhYmVsTWFya2VyIjtsZXQgaT17dHlwZToiZ2ZtRm9vdG5vdGVDYWxsIixzdGFydDpPYmplY3QuYXNzaWduKHt9LGFbdCszXVsxXS5zdGFydCksZW5kOk9iamVjdC5hc3NpZ24oe30sYVthLmxlbmd0aC0xXVsxXS5lbmQpfSxvPXt0eXBlOiJnZm1Gb290bm90ZUNhbGxNYXJrZXIiLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sYVt0KzNdWzFdLmVuZCksZW5kOk9iamVjdC5hc3NpZ24oe30sYVt0KzNdWzFdLmVuZCl9O28uZW5kLmNvbHVtbisrLG8uZW5kLm9mZnNldCsrLG8uZW5kLl9idWZmZXJJbmRleCsrO2xldCBuPXt0eXBlOiJnZm1Gb290bm90ZUNhbGxTdHJpbmciLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sby5lbmQpLGVuZDpPYmplY3QuYXNzaWduKHt9LGFbYS5sZW5ndGgtMV1bMV0uc3RhcnQpfSxsPXt0eXBlOiJjaHVua1N0cmluZyIsY29udGVudFR5cGU6InN0cmluZyIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxuLnN0YXJ0KSxlbmQ6T2JqZWN0LmFzc2lnbih7fSxuLmVuZCl9LGQ9W2FbdCsxXSxhW3QrMl0sWyJlbnRlciIsaSxlXSxhW3QrM10sYVt0KzRdLFsiZW50ZXIiLG8sZV0sWyJleGl0IixvLGVdLFsiZW50ZXIiLG4sZV0sWyJlbnRlciIsbCxlXSxbImV4aXQiLGwsZV0sWyJleGl0IixuLGVdLGFbYS5sZW5ndGgtMl0sYVthLmxlbmd0aC0xXSxbImV4aXQiLGksZV1dO3JldHVybiBhLnNwbGljZSh0LGEubGVuZ3RoLXQrMSwuLi5kKSxhfWZ1bmN0aW9uIE9NYShhLGUsdCl7bGV0IHI9dGhpcyxpPXIucGFyc2VyLmdmbUZvb3Rub3Rlc3x8KHIucGFyc2VyLmdmbUZvb3Rub3Rlcz1bXSksbz0wLG47cmV0dXJuIGw7ZnVuY3Rpb24gbCh1KXtyZXR1cm4gYS5lbnRlcigiZ2ZtRm9vdG5vdGVDYWxsIiksYS5lbnRlcigiZ2ZtRm9vdG5vdGVDYWxsTGFiZWxNYXJrZXIiKSxhLmNvbnN1bWUodSksYS5leGl0KCJnZm1Gb290bm90ZUNhbGxMYWJlbE1hcmtlciIpLGR9ZnVuY3Rpb24gZCh1KXtyZXR1cm4gdSE9PTk0P3QodSk6KGEuZW50ZXIoImdmbUZvb3Rub3RlQ2FsbE1hcmtlciIpLGEuY29uc3VtZSh1KSxhLmV4aXQoImdmbUZvb3Rub3RlQ2FsbE1hcmtlciIpLGEuZW50ZXIoImdmbUZvb3Rub3RlQ2FsbFN0cmluZyIpLGEuZW50ZXIoImNodW5rU3RyaW5nIikuY29udGVudFR5cGU9InN0cmluZyIsYyl9ZnVuY3Rpb24gYyh1KXtpZihvPjk5OXx8dT09PTkzJiYhbnx8dT09PW51bGx8fHU9PT05MXx8dWEodSkpcmV0dXJuIHQodSk7aWYodT09PTkzKXthLmV4aXQoImNodW5rU3RyaW5nIik7bGV0IG09YS5leGl0KCJnZm1Gb290bm90ZUNhbGxTdHJpbmciKTtyZXR1cm4gaS5pbmNsdWRlcyhJcihyLnNsaWNlU2VyaWFsaXplKG0pKSk/KGEuZW50ZXIoImdmbUZvb3Rub3RlQ2FsbExhYmVsTWFya2VyIiksYS5jb25zdW1lKHUpLGEuZXhpdCgiZ2ZtRm9vdG5vdGVDYWxsTGFiZWxNYXJrZXIiKSxhLmV4aXQoImdmbUZvb3Rub3RlQ2FsbCIpLGUpOnQodSl9cmV0dXJuIHVhKHUpfHwobj0hMCksbysrLGEuY29uc3VtZSh1KSx1PT09OTI/cDpjfWZ1bmN0aW9uIHAodSl7cmV0dXJuIHU9PT05MXx8dT09PTkyfHx1PT09OTM/KGEuY29uc3VtZSh1KSxvKyssYyk6Yyh1KX19ZnVuY3Rpb24gRk1hKGEsZSx0KXtsZXQgcj10aGlzLGk9ci5wYXJzZXIuZ2ZtRm9vdG5vdGVzfHwoci5wYXJzZXIuZ2ZtRm9vdG5vdGVzPVtdKSxvLG49MCxsO3JldHVybiBkO2Z1bmN0aW9uIGQoeCl7cmV0dXJuIGEuZW50ZXIoImdmbUZvb3Rub3RlRGVmaW5pdGlvbiIpLl9jb250YWluZXI9ITAsYS5lbnRlcigiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWwiKSxhLmVudGVyKCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbE1hcmtlciIpLGEuY29uc3VtZSh4KSxhLmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsTWFya2VyIiksY31mdW5jdGlvbiBjKHgpe3JldHVybiB4PT09OTQ/KGEuZW50ZXIoImdmbUZvb3Rub3RlRGVmaW5pdGlvbk1hcmtlciIpLGEuY29uc3VtZSh4KSxhLmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbk1hcmtlciIpLGEuZW50ZXIoImdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsU3RyaW5nIiksYS5lbnRlcigiY2h1bmtTdHJpbmciKS5jb250ZW50VHlwZT0ic3RyaW5nIixwKTp0KHgpfWZ1bmN0aW9uIHAoeCl7aWYobj45OTl8fHg9PT05MyYmIWx8fHg9PT1udWxsfHx4PT09OTF8fHVhKHgpKXJldHVybiB0KHgpO2lmKHg9PT05Myl7YS5leGl0KCJjaHVua1N0cmluZyIpO2xldCBiPWEuZXhpdCgiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmciKTtyZXR1cm4gbz1JcihyLnNsaWNlU2VyaWFsaXplKGIpKSxhLmVudGVyKCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbE1hcmtlciIpLGEuY29uc3VtZSh4KSxhLmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbkxhYmVsTWFya2VyIiksYS5leGl0KCJnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbCIpLG19cmV0dXJuIHVhKHgpfHwobD0hMCksbisrLGEuY29uc3VtZSh4KSx4PT09OTI/dTpwfWZ1bmN0aW9uIHUoeCl7cmV0dXJuIHg9PT05MXx8eD09PTkyfHx4PT09OTM/KGEuY29uc3VtZSh4KSxuKysscCk6cCh4KX1mdW5jdGlvbiBtKHgpe3JldHVybiB4PT09NTg/KGEuZW50ZXIoImRlZmluaXRpb25NYXJrZXIiKSxhLmNvbnN1bWUoeCksYS5leGl0KCJkZWZpbml0aW9uTWFya2VyIiksaS5pbmNsdWRlcyhvKXx8aS5wdXNoKG8pLER0KGEsdiwiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uV2hpdGVzcGFjZSIpKTp0KHgpfWZ1bmN0aW9uIHYoeCl7cmV0dXJuIGUoeCl9fWZ1bmN0aW9uIEJNYShhLGUsdCl7cmV0dXJuIGEuY2hlY2soTjIsZSxhLmF0dGVtcHQoSU1hLGUsdCkpfWZ1bmN0aW9uIEhNYShhKXthLmV4aXQoImdmbUZvb3Rub3RlRGVmaW5pdGlvbiIpfWZ1bmN0aW9uIHFNYShhLGUsdCl7bGV0IHI9dGhpcztyZXR1cm4gRHQoYSxpLCJnZm1Gb290bm90ZURlZmluaXRpb25JbmRlbnQiLDUpO2Z1bmN0aW9uIGkobyl7bGV0IG49ci5ldmVudHNbci5ldmVudHMubGVuZ3RoLTFdO3JldHVybiBuJiZuWzFdLnR5cGU9PT0iZ2ZtRm9vdG5vdGVEZWZpbml0aW9uSW5kZW50IiYmblsyXS5zbGljZVNlcmlhbGl6ZShuWzFdLCEwKS5sZW5ndGg9PT00P2Uobyk6dChvKX19dmFyIElNYSxqdXQ9ZigoKT0+e2pRKCk7V3IoKTtiYSgpO3EwKCk7SU1hPXt0b2tlbml6ZTpxTWEscGFydGlhbDohMH07cyh1M2UsImdmbUZvb3Rub3RlIik7cyhOTWEsInRva2VuaXplUG90ZW50aWFsR2ZtRm9vdG5vdGVDYWxsIik7cyhSTWEsInJlc29sdmVUb1BvdGVudGlhbEdmbUZvb3Rub3RlQ2FsbCIpO3MoT01hLCJ0b2tlbml6ZUdmbUZvb3Rub3RlQ2FsbCIpO3MoRk1hLCJ0b2tlbml6ZURlZmluaXRpb25TdGFydCIpO3MoQk1hLCJ0b2tlbml6ZURlZmluaXRpb25Db250aW51YXRpb24iKTtzKEhNYSwiZ2ZtRm9vdG5vdGVEZWZpbml0aW9uRW5kIik7cyhxTWEsInRva2VuaXplSW5kZW50Iil9KTtmdW5jdGlvbiBVdXQoYSxlKXtyZXR1cm4iQmFjayB0byByZWZlcmVuY2UgIisoYSsxKSsoZT4xPyItIitlOiIiKX1mdW5jdGlvbiBwM2UoYSl7bGV0IGU9YXx8ak1hLHQ9ZS5sYWJlbHx8IkZvb3Rub3RlcyIscj1lLmxhYmVsVGFnTmFtZXx8ImgyIixpPWUubGFiZWxBdHRyaWJ1dGVzPT09bnVsbHx8ZS5sYWJlbEF0dHJpYnV0ZXM9PT12b2lkIDA/J2NsYXNzPSJzci1vbmx5Iic6ZS5sYWJlbEF0dHJpYnV0ZXMsbz1lLmJhY2tMYWJlbHx8VXV0LG49ZS5jbG9iYmVyUHJlZml4PT09bnVsbHx8ZS5jbG9iYmVyUHJlZml4PT09dm9pZCAwPyJ1c2VyLWNvbnRlbnQtIjplLmNsb2JiZXJQcmVmaXg7cmV0dXJue2VudGVyOntnZm1Gb290bm90ZURlZmluaXRpb24oKXt0aGlzLmdldERhdGEoInRpZ2h0U3RhY2siKS5wdXNoKCExKX0sZ2ZtRm9vdG5vdGVEZWZpbml0aW9uTGFiZWxTdHJpbmcoKXt0aGlzLmJ1ZmZlcigpfSxnZm1Gb290bm90ZUNhbGxTdHJpbmcoKXt0aGlzLmJ1ZmZlcigpfX0sZXhpdDp7Z2ZtRm9vdG5vdGVEZWZpbml0aW9uKCl7bGV0IGw9dGhpcy5nZXREYXRhKCJnZm1Gb290bm90ZURlZmluaXRpb25zIiksZD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlRGVmaW5pdGlvblN0YWNrIiksYz10aGlzLmdldERhdGEoInRpZ2h0U3RhY2siKSxwPWQucG9wKCksdT10aGlzLnJlc3VtZSgpO2x8fHRoaXMuc2V0RGF0YSgiZ2ZtRm9vdG5vdGVEZWZpbml0aW9ucyIsbD17fSksVk1hLmNhbGwobCxwKXx8KGxbcF09dSksYy5wb3AoKSx0aGlzLnNldERhdGEoInNsdXJwT25lTGluZUVuZGluZyIsITApLHRoaXMuc2V0RGF0YSgibGFzdFdhc1RhZyIpfSxnZm1Gb290bm90ZURlZmluaXRpb25MYWJlbFN0cmluZyhsKXtsZXQgZD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlRGVmaW5pdGlvblN0YWNrIik7ZHx8dGhpcy5zZXREYXRhKCJnZm1Gb290bm90ZURlZmluaXRpb25TdGFjayIsZD1bXSksZC5wdXNoKElyKHRoaXMuc2xpY2VTZXJpYWxpemUobCkpKSx0aGlzLnJlc3VtZSgpLHRoaXMuYnVmZmVyKCl9LGdmbUZvb3Rub3RlQ2FsbFN0cmluZyhsKXtsZXQgZD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlQ2FsbE9yZGVyIiksYz10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlQ2FsbENvdW50cyIpLHA9SXIodGhpcy5zbGljZVNlcmlhbGl6ZShsKSksdTt0aGlzLnJlc3VtZSgpLGR8fHRoaXMuc2V0RGF0YSgiZ2ZtRm9vdG5vdGVDYWxsT3JkZXIiLGQ9W10pLGN8fHRoaXMuc2V0RGF0YSgiZ2ZtRm9vdG5vdGVDYWxsQ291bnRzIixjPXt9KTtsZXQgbT1kLmluZGV4T2YocCksdj1QMihwLnRvTG93ZXJDYXNlKCkpO209PT0tMT8oZC5wdXNoKHApLGNbcF09MSx1PWQubGVuZ3RoKTooY1twXSsrLHU9bSsxKTtsZXQgeD1jW3BdO3RoaXMudGFnKCc8c3VwPjxhIGhyZWY9IiMnK24rImZuLSIrdisnIiBpZD0iJytuKyJmbnJlZi0iK3YrKHg+MT8iLSIreDoiIikrJyIgZGF0YS1mb290bm90ZS1yZWY9IiIgYXJpYS1kZXNjcmliZWRieT0iZm9vdG5vdGUtbGFiZWwiPicrU3RyaW5nKHUpKyI8L2E+PC9zdXA+Iil9LG51bGwoKXtsZXQgbD10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlQ2FsbE9yZGVyIil8fFtdLGQ9dGhpcy5nZXREYXRhKCJnZm1Gb290bm90ZUNhbGxDb3VudHMiKXx8e30sYz10aGlzLmdldERhdGEoImdmbUZvb3Rub3RlRGVmaW5pdGlvbnMiKXx8e30scD0tMTtmb3IobC5sZW5ndGg+MCYmKHRoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoJzxzZWN0aW9uIGRhdGEtZm9vdG5vdGVzPSIiIGNsYXNzPSJmb290bm90ZXMiPjwnK3IrJyBpZD0iZm9vdG5vdGUtbGFiZWwiJysoaT8iICIraToiIikrIj4iKSx0aGlzLnJhdyh0aGlzLmVuY29kZSh0KSksdGhpcy50YWcoIjwvIityKyI+IiksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPG9sPiIpKTsrK3A8bC5sZW5ndGg7KXtsZXQgdT1sW3BdLG09UDIodS50b0xvd2VyQ2FzZSgpKSx2PTAseD1bXTtmb3IoOysrdjw9ZFt1XTspeC5wdXNoKCc8YSBocmVmPSIjJytuKyJmbnJlZi0iK20rKHY+MT8iLSIrdjoiIikrJyIgZGF0YS1mb290bm90ZS1iYWNrcmVmPSIiIGFyaWEtbGFiZWw9IicrdGhpcy5lbmNvZGUodHlwZW9mIG89PSJzdHJpbmciP286byhwLHYpKSsnIiBjbGFzcz0iZGF0YS1mb290bm90ZS1iYWNrcmVmIj5cdTIxQTknKyh2PjE/IjxzdXA+Iit2KyI8L3N1cD4iOiIiKSsiPC9hPiIpO2xldCBiPXguam9pbigiICIpLGc9ITE7dGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygnPGxpIGlkPSInK24rImZuLSIrbSsnIj4nKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKGNbdV0ucmVwbGFjZSgvPFwvcD4oPzpccj9cbnxccik/JC8sZnVuY3Rpb24oeSl7cmV0dXJuIGc9ITAsIiAiK2IreX0pKSxnfHwodGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZyhiKSksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC9saT4iKX1sLmxlbmd0aD4wJiYodGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC9vbD4iKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8L3NlY3Rpb24+IikpfX19fXZhciBWTWEsak1hLFd1dD1mKCgpPT57cTAoKTtJMigpO1ZNYT17fS5oYXNPd25Qcm9wZXJ0eSxqTWE9e307cyhVdXQsImRlZmF1bHRCYWNrTGFiZWwiKTtzKHAzZSwiZ2ZtRm9vdG5vdGVIdG1sIil9KTt2YXIgR3V0PWYoKCk9PntqdXQoKTtXdXQoKX0pO2Z1bmN0aW9uIGYzZSgpe3JldHVybntlbnRlcjp7c3RyaWtldGhyb3VnaCgpe3RoaXMudGFnKCI8ZGVsPiIpfX0sZXhpdDp7c3RyaWtldGhyb3VnaCgpe3RoaXMudGFnKCI8L2RlbD4iKX19fX12YXIgWXV0PWYoKCk9PntzKGYzZSwiZ2ZtU3RyaWtldGhyb3VnaEh0bWwiKX0pO2Z1bmN0aW9uIGgzZShhKXtsZXQgdD0oYXx8e30pLnNpbmdsZVRpbGRlLHI9e25hbWU6InN0cmlrZXRocm91Z2giLHRva2VuaXplOm8scmVzb2x2ZUFsbDppfTtyZXR1cm4gdD09bnVsbCYmKHQ9ITApLHt0ZXh0OnsxMjY6cn0saW5zaWRlU3Bhbjp7bnVsbDpbcl19LGF0dGVudGlvbk1hcmtlcnM6e251bGw6WzEyNl19fTtmdW5jdGlvbiBpKG4sbCl7bGV0IGQ9LTE7Zm9yKDsrK2Q8bi5sZW5ndGg7KWlmKG5bZF1bMF09PT0iZW50ZXIiJiZuW2RdWzFdLnR5cGU9PT0ic3RyaWtldGhyb3VnaFNlcXVlbmNlVGVtcG9yYXJ5IiYmbltkXVsxXS5fY2xvc2Upe2xldCBjPWQ7Zm9yKDtjLS07KWlmKG5bY11bMF09PT0iZXhpdCImJm5bY11bMV0udHlwZT09PSJzdHJpa2V0aHJvdWdoU2VxdWVuY2VUZW1wb3JhcnkiJiZuW2NdWzFdLl9vcGVuJiZuW2RdWzFdLmVuZC5vZmZzZXQtbltkXVsxXS5zdGFydC5vZmZzZXQ9PT1uW2NdWzFdLmVuZC5vZmZzZXQtbltjXVsxXS5zdGFydC5vZmZzZXQpe25bZF1bMV0udHlwZT0ic3RyaWtldGhyb3VnaFNlcXVlbmNlIixuW2NdWzFdLnR5cGU9InN0cmlrZXRocm91Z2hTZXF1ZW5jZSI7bGV0IHA9e3R5cGU6InN0cmlrZXRocm91Z2giLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sbltjXVsxXS5zdGFydCksZW5kOk9iamVjdC5hc3NpZ24oe30sbltkXVsxXS5lbmQpfSx1PXt0eXBlOiJzdHJpa2V0aHJvdWdoVGV4dCIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxuW2NdWzFdLmVuZCksZW5kOk9iamVjdC5hc3NpZ24oe30sbltkXVsxXS5zdGFydCl9LG09W1siZW50ZXIiLHAsbF0sWyJlbnRlciIsbltjXVsxXSxsXSxbImV4aXQiLG5bY11bMV0sbF0sWyJlbnRlciIsdSxsXV0sdj1sLnBhcnNlci5jb25zdHJ1Y3RzLmluc2lkZVNwYW4ubnVsbDt2JiZVcihtLG0ubGVuZ3RoLDAsajAodixuLnNsaWNlKGMrMSxkKSxsKSksVXIobSxtLmxlbmd0aCwwLFtbImV4aXQiLHUsbF0sWyJlbnRlciIsbltkXVsxXSxsXSxbImV4aXQiLG5bZF1bMV0sbF0sWyJleGl0IixwLGxdXSksVXIobixjLTEsZC1jKzMsbSksZD1jK20ubGVuZ3RoLTI7YnJlYWt9fWZvcihkPS0xOysrZDxuLmxlbmd0aDspbltkXVsxXS50eXBlPT09InN0cmlrZXRocm91Z2hTZXF1ZW5jZVRlbXBvcmFyeSImJihuW2RdWzFdLnR5cGU9ImRhdGEiKTtyZXR1cm4gbn1zKGksInJlc29sdmVBbGxTdHJpa2V0aHJvdWdoIik7ZnVuY3Rpb24gbyhuLGwsZCl7bGV0IGM9dGhpcy5wcmV2aW91cyxwPXRoaXMuZXZlbnRzLHU9MDtyZXR1cm4gbTtmdW5jdGlvbiBtKHgpe3JldHVybiBjPT09MTI2JiZwW3AubGVuZ3RoLTFdWzFdLnR5cGUhPT0iY2hhcmFjdGVyRXNjYXBlIj9kKHgpOihuLmVudGVyKCJzdHJpa2V0aHJvdWdoU2VxdWVuY2VUZW1wb3JhcnkiKSx2KHgpKX1mdW5jdGlvbiB2KHgpe2xldCBiPVZsKGMpO2lmKHg9PT0xMjYpcmV0dXJuIHU+MT9kKHgpOihuLmNvbnN1bWUoeCksdSsrLHYpO2lmKHU8MiYmIXQpcmV0dXJuIGQoeCk7bGV0IGc9bi5leGl0KCJzdHJpa2V0aHJvdWdoU2VxdWVuY2VUZW1wb3JhcnkiKSx5PVZsKHgpO3JldHVybiBnLl9vcGVuPSF5fHx5PT09MiYmISFiLGcuX2Nsb3NlPSFifHxiPT09MiYmISF5LGwoeCl9fXMobywidG9rZW5pemVTdHJpa2V0aHJvdWdoIil9dmFyIEt1dD1mKCgpPT57QTIoKTt3USgpO0dnKCk7cyhoM2UsImdmbVN0cmlrZXRocm91Z2giKX0pO3ZhciBadXQ9ZigoKT0+e1l1dCgpO0t1dCgpfSk7ZnVuY3Rpb24gZzNlKCl7cmV0dXJue2VudGVyOnt0YWJsZShhKXtsZXQgZT1hLl9hbGlnbjt0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dGFibGU+IiksdGhpcy5zZXREYXRhKCJ0YWJsZUFsaWduIixlKX0sdGFibGVCb2R5KCl7dGhpcy50YWcoIjx0Ym9keT4iKX0sdGFibGVEYXRhKCl7bGV0IGE9dGhpcy5nZXREYXRhKCJ0YWJsZUFsaWduIiksZT10aGlzLmdldERhdGEoInRhYmxlQ29sdW1uIiksdD1tM2VbYVtlXV07dD09PXZvaWQgMD90aGlzLmJ1ZmZlcigpOih0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dGQiK3QrIj4iKSl9LHRhYmxlSGVhZCgpe3RoaXMubGluZUVuZGluZ0lmTmVlZGVkKCksdGhpcy50YWcoIjx0aGVhZD4iKX0sdGFibGVIZWFkZXIoKXtsZXQgYT10aGlzLmdldERhdGEoInRhYmxlQWxpZ24iKSxlPXRoaXMuZ2V0RGF0YSgidGFibGVDb2x1bW4iKSx0PW0zZVthW2VdXTt0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dGgiK3QrIj4iKX0sdGFibGVSb3coKXt0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIiwwKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8dHI+Iil9fSxleGl0Ontjb2RlVGV4dERhdGEoYSl7bGV0IGU9dGhpcy5zbGljZVNlcmlhbGl6ZShhKTt0aGlzLmdldERhdGEoInRhYmxlQWxpZ24iKSYmKGU9ZS5yZXBsYWNlKC9cXChbXFx8XSkvZyxVTWEpKSx0aGlzLnJhdyh0aGlzLmVuY29kZShlKSl9LHRhYmxlKCl7dGhpcy5zZXREYXRhKCJ0YWJsZUFsaWduIiksdGhpcy5zZXREYXRhKCJzbHVycEFsbExpbmVFbmRpbmdzIiksdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC90YWJsZT4iKX0sdGFibGVCb2R5KCl7dGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPC90Ym9keT4iKX0sdGFibGVEYXRhKCl7bGV0IGE9dGhpcy5nZXREYXRhKCJ0YWJsZUFsaWduIiksZT10aGlzLmdldERhdGEoInRhYmxlQ29sdW1uIik7ZSBpbiBhPyh0aGlzLnRhZygiPC90ZD4iKSx0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIixlKzEpKTp0aGlzLnJlc3VtZSgpfSx0YWJsZUhlYWQoKXt0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8L3RoZWFkPiIpfSx0YWJsZUhlYWRlcigpe2xldCBhPXRoaXMuZ2V0RGF0YSgidGFibGVDb2x1bW4iKTt0aGlzLnRhZygiPC90aD4iKSx0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIixhKzEpfSx0YWJsZVJvdygpe2xldCBhPXRoaXMuZ2V0RGF0YSgidGFibGVBbGlnbiIpLGU9dGhpcy5nZXREYXRhKCJ0YWJsZUNvbHVtbiIpO2Zvcig7ZTxhLmxlbmd0aDspdGhpcy5saW5lRW5kaW5nSWZOZWVkZWQoKSx0aGlzLnRhZygiPHRkIittM2VbYVtlXV0rIj48L3RkPiIpLGUrKzt0aGlzLnNldERhdGEoInRhYmxlQ29sdW1uIixlKSx0aGlzLmxpbmVFbmRpbmdJZk5lZWRlZCgpLHRoaXMudGFnKCI8L3RyPiIpfX19fWZ1bmN0aW9uIFVNYShhLGUpe3JldHVybiBlPT09InwiP2U6YX12YXIgbTNlLFh1dD1mKCgpPT57bTNlPXtub25lOiIiLGxlZnQ6JyBhbGlnbj0ibGVmdCInLHJpZ2h0OicgYWxpZ249InJpZ2h0IicsY2VudGVyOicgYWxpZ249ImNlbnRlciInfTtzKGczZSwiZ2ZtVGFibGVIdG1sIik7cyhVTWEsInJlcGxhY2UiKX0pO2Z1bmN0aW9uIFdNYShhLGUsdCxyKXtsZXQgaT0wO2lmKCEodD09PTAmJnIubGVuZ3RoPT09MCkpe2Zvcig7aTxhLm1hcC5sZW5ndGg7KXtpZihhLm1hcFtpXVswXT09PWUpe2EubWFwW2ldWzFdKz10LGEubWFwW2ldWzJdLnB1c2goLi4ucik7cmV0dXJufWkrPTF9YS5tYXAucHVzaChbZSx0LHJdKX19dmFyIFVRLFF1dD1mKCgpPT57VVE9Y2xhc3N7c3RhdGlje3ModGhpcywiRWRpdE1hcCIpfWNvbnN0cnVjdG9yKCl7dGhpcy5tYXA9W119YWRkKGUsdCxyKXtXTWEodGhpcyxlLHQscil9Y29uc3VtZShlKXtpZih0aGlzLm1hcC5zb3J0KGZ1bmN0aW9uKG8sbil7cmV0dXJuIG9bMF0tblswXX0pLHRoaXMubWFwLmxlbmd0aD09PTApcmV0dXJuO2xldCB0PXRoaXMubWFwLmxlbmd0aCxyPVtdO2Zvcig7dD4wOyl0LT0xLHIucHVzaChlLnNsaWNlKHRoaXMubWFwW3RdWzBdK3RoaXMubWFwW3RdWzFdKSx0aGlzLm1hcFt0XVsyXSksZS5sZW5ndGg9dGhpcy5tYXBbdF1bMF07ci5wdXNoKGUuc2xpY2UoKSksZS5sZW5ndGg9MDtsZXQgaT1yLnBvcCgpO2Zvcig7aTspe2ZvcihsZXQgbyBvZiBpKWUucHVzaChvKTtpPXIucG9wKCl9dGhpcy5tYXAubGVuZ3RoPTB9fTtzKFdNYSwiYWRkSW1wbGVtZW50YXRpb24iKX0pO2Z1bmN0aW9uIEp1dChhLGUpe2xldCB0PSExLHI9W107Zm9yKDtlPGEubGVuZ3RoOyl7bGV0IGk9YVtlXTtpZih0KXtpZihpWzBdPT09ImVudGVyIilpWzFdLnR5cGU9PT0idGFibGVDb250ZW50IiYmci5wdXNoKGFbZSsxXVsxXS50eXBlPT09InRhYmxlRGVsaW1pdGVyTWFya2VyIj8ibGVmdCI6Im5vbmUiKTtlbHNlIGlmKGlbMV0udHlwZT09PSJ0YWJsZUNvbnRlbnQiKXtpZihhW2UtMV1bMV0udHlwZT09PSJ0YWJsZURlbGltaXRlck1hcmtlciIpe2xldCBvPXIubGVuZ3RoLTE7cltvXT1yW29dPT09ImxlZnQiPyJjZW50ZXIiOiJyaWdodCJ9fWVsc2UgaWYoaVsxXS50eXBlPT09InRhYmxlRGVsaW1pdGVyUm93IilicmVha31lbHNlIGlbMF09PT0iZW50ZXIiJiZpWzFdLnR5cGU9PT0idGFibGVEZWxpbWl0ZXJSb3ciJiYodD0hMCk7ZSs9MX1yZXR1cm4gcn12YXIgZXB0PWYoKCk9PntzKEp1dCwiZ2ZtVGFibGVBbGlnbiIpfSk7ZnVuY3Rpb24gYjNlKCl7cmV0dXJue2Zsb3c6e251bGw6e25hbWU6InRhYmxlIix0b2tlbml6ZTpHTWEscmVzb2x2ZUFsbDpZTWF9fX19ZnVuY3Rpb24gR01hKGEsZSx0KXtsZXQgcj10aGlzLGk9MCxvPTAsbjtyZXR1cm4gbDtmdW5jdGlvbiBsKEIpe2xldCBNPXIuZXZlbnRzLmxlbmd0aC0xO2Zvcig7TT4tMTspe2xldCBBPXIuZXZlbnRzW01dWzFdLnR5cGU7aWYoQT09PSJsaW5lRW5kaW5nInx8QT09PSJsaW5lUHJlZml4IilNLS07ZWxzZSBicmVha31sZXQgUz1NPi0xP3IuZXZlbnRzW01dWzFdLnR5cGU6bnVsbCxQPVM9PT0idGFibGVIZWFkInx8Uz09PSJ0YWJsZVJvdyI/ejpkO3JldHVybiBQPT09eiYmci5wYXJzZXIubGF6eVtyLm5vdygpLmxpbmVdP3QoQik6UChCKX1mdW5jdGlvbiBkKEIpe3JldHVybiBhLmVudGVyKCJ0YWJsZUhlYWQiKSxhLmVudGVyKCJ0YWJsZVJvdyIpLGMoQil9ZnVuY3Rpb24gYyhCKXtyZXR1cm4gQj09PTEyNHx8KG49ITAsbys9MSkscChCKX1mdW5jdGlvbiBwKEIpe3JldHVybiBCPT09bnVsbD90KEIpOkplKEIpP28+MT8obz0wLHIuaW50ZXJydXB0PSEwLGEuZXhpdCgidGFibGVSb3ciKSxhLmVudGVyKCJsaW5lRW5kaW5nIiksYS5jb25zdW1lKEIpLGEuZXhpdCgibGluZUVuZGluZyIpLHYpOnQoQik6enQoQik/RHQoYSxwLCJ3aGl0ZXNwYWNlIikoQik6KG8rPTEsbiYmKG49ITEsaSs9MSksQj09PTEyND8oYS5lbnRlcigidGFibGVDZWxsRGl2aWRlciIpLGEuY29uc3VtZShCKSxhLmV4aXQoInRhYmxlQ2VsbERpdmlkZXIiKSxuPSEwLHApOihhLmVudGVyKCJkYXRhIiksdShCKSkpfWZ1bmN0aW9uIHUoQil7cmV0dXJuIEI9PT1udWxsfHxCPT09MTI0fHx1YShCKT8oYS5leGl0KCJkYXRhIikscChCKSk6KGEuY29uc3VtZShCKSxCPT09OTI/bTp1KX1mdW5jdGlvbiBtKEIpe3JldHVybiBCPT09OTJ8fEI9PT0xMjQ/KGEuY29uc3VtZShCKSx1KTp1KEIpfWZ1bmN0aW9uIHYoQil7cmV0dXJuIHIuaW50ZXJydXB0PSExLHIucGFyc2VyLmxhenlbci5ub3coKS5saW5lXT90KEIpOihhLmVudGVyKCJ0YWJsZURlbGltaXRlclJvdyIpLG49ITEsenQoQik/RHQoYSx4LCJsaW5lUHJlZml4IixyLnBhcnNlci5jb25zdHJ1Y3RzLmRpc2FibGUubnVsbC5pbmNsdWRlcygiY29kZUluZGVudGVkIik/dm9pZCAwOjQpKEIpOngoQikpfWZ1bmN0aW9uIHgoQil7cmV0dXJuIEI9PT00NXx8Qj09PTU4P2coQik6Qj09PTEyND8obj0hMCxhLmVudGVyKCJ0YWJsZUNlbGxEaXZpZGVyIiksYS5jb25zdW1lKEIpLGEuZXhpdCgidGFibGVDZWxsRGl2aWRlciIpLGIpOl8oQil9ZnVuY3Rpb24gYihCKXtyZXR1cm4genQoQik/RHQoYSxnLCJ3aGl0ZXNwYWNlIikoQik6ZyhCKX1mdW5jdGlvbiBnKEIpe3JldHVybiBCPT09NTg/KG8rPTEsbj0hMCxhLmVudGVyKCJ0YWJsZURlbGltaXRlck1hcmtlciIpLGEuY29uc3VtZShCKSxhLmV4aXQoInRhYmxlRGVsaW1pdGVyTWFya2VyIikseSk6Qj09PTQ1PyhvKz0xLHkoQikpOkI9PT1udWxsfHxKZShCKT9OKEIpOl8oQil9ZnVuY3Rpb24geShCKXtyZXR1cm4gQj09PTQ1PyhhLmVudGVyKCJ0YWJsZURlbGltaXRlckZpbGxlciIpLGsoQikpOl8oQil9ZnVuY3Rpb24gayhCKXtyZXR1cm4gQj09PTQ1PyhhLmNvbnN1bWUoQiksayk6Qj09PTU4PyhuPSEwLGEuZXhpdCgidGFibGVEZWxpbWl0ZXJGaWxsZXIiKSxhLmVudGVyKCJ0YWJsZURlbGltaXRlck1hcmtlciIpLGEuY29uc3VtZShCKSxhLmV4aXQoInRhYmxlRGVsaW1pdGVyTWFya2VyIiksQyk6KGEuZXhpdCgidGFibGVEZWxpbWl0ZXJGaWxsZXIiKSxDKEIpKX1mdW5jdGlvbiBDKEIpe3JldHVybiB6dChCKT9EdChhLE4sIndoaXRlc3BhY2UiKShCKTpOKEIpfWZ1bmN0aW9uIE4oQil7cmV0dXJuIEI9PT0xMjQ/eChCKTpCPT09bnVsbHx8SmUoQik/IW58fGkhPT1vP18oQik6KGEuZXhpdCgidGFibGVEZWxpbWl0ZXJSb3ciKSxhLmV4aXQoInRhYmxlSGVhZCIpLGUoQikpOl8oQil9ZnVuY3Rpb24gXyhCKXtyZXR1cm4gdChCKX1mdW5jdGlvbiB6KEIpe3JldHVybiBhLmVudGVyKCJ0YWJsZVJvdyIpLE8oQil9ZnVuY3Rpb24gTyhCKXtyZXR1cm4gQj09PTEyND8oYS5lbnRlcigidGFibGVDZWxsRGl2aWRlciIpLGEuY29uc3VtZShCKSxhLmV4aXQoInRhYmxlQ2VsbERpdmlkZXIiKSxPKTpCPT09bnVsbHx8SmUoQik/KGEuZXhpdCgidGFibGVSb3ciKSxlKEIpKTp6dChCKT9EdChhLE8sIndoaXRlc3BhY2UiKShCKTooYS5lbnRlcigiZGF0YSIpLFQoQikpfWZ1bmN0aW9uIFQoQil7cmV0dXJuIEI9PT1udWxsfHxCPT09MTI0fHx1YShCKT8oYS5leGl0KCJkYXRhIiksTyhCKSk6KGEuY29uc3VtZShCKSxCPT09OTI/RTpUKX1mdW5jdGlvbiBFKEIpe3JldHVybiBCPT09OTJ8fEI9PT0xMjQ/KGEuY29uc3VtZShCKSxUKTpUKEIpfX1mdW5jdGlvbiBZTWEoYSxlKXtsZXQgdD0tMSxyPSEwLGk9MCxvPVswLDAsMCwwXSxuPVswLDAsMCwwXSxsPSExLGQ9MCxjLHAsdSxtPW5ldyBVUTtmb3IoOysrdDxhLmxlbmd0aDspe2xldCB2PWFbdF0seD12WzFdO3ZbMF09PT0iZW50ZXIiP3gudHlwZT09PSJ0YWJsZUhlYWQiPyhsPSExLGQhPT0wJiYodHB0KG0sZSxkLGMscCkscD12b2lkIDAsZD0wKSxjPXt0eXBlOiJ0YWJsZSIsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSx4LnN0YXJ0KSxlbmQ6T2JqZWN0LmFzc2lnbih7fSx4LmVuZCl9LG0uYWRkKHQsMCxbWyJlbnRlciIsYyxlXV0pKTp4LnR5cGU9PT0idGFibGVSb3cifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJSb3ciPyhyPSEwLHU9dm9pZCAwLG89WzAsMCwwLDBdLG49WzAsdCsxLDAsMF0sbCYmKGw9ITEscD17dHlwZToidGFibGVCb2R5IixzdGFydDpPYmplY3QuYXNzaWduKHt9LHguc3RhcnQpLGVuZDpPYmplY3QuYXNzaWduKHt9LHguZW5kKX0sbS5hZGQodCwwLFtbImVudGVyIixwLGVdXSkpLGk9eC50eXBlPT09InRhYmxlRGVsaW1pdGVyUm93Ij8yOnA/MzoxKTppJiYoeC50eXBlPT09ImRhdGEifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJNYXJrZXIifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJGaWxsZXIiKT8ocj0hMSxuWzJdPT09MCYmKG9bMV0hPT0wJiYoblswXT1uWzFdLHU9V1EobSxlLG8saSx2b2lkIDAsdSksbz1bMCwwLDAsMF0pLG5bMl09dCkpOngudHlwZT09PSJ0YWJsZUNlbGxEaXZpZGVyIiYmKHI/cj0hMToob1sxXSE9PTAmJihuWzBdPW5bMV0sdT1XUShtLGUsbyxpLHZvaWQgMCx1KSksbz1uLG49W29bMV0sdCwwLDBdKSk6eC50eXBlPT09InRhYmxlSGVhZCI/KGw9ITAsZD10KTp4LnR5cGU9PT0idGFibGVSb3cifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJSb3ciPyhkPXQsb1sxXSE9PTA/KG5bMF09blsxXSx1PVdRKG0sZSxvLGksdCx1KSk6blsxXSE9PTAmJih1PVdRKG0sZSxuLGksdCx1KSksaT0wKTppJiYoeC50eXBlPT09ImRhdGEifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJNYXJrZXIifHx4LnR5cGU9PT0idGFibGVEZWxpbWl0ZXJGaWxsZXIiKSYmKG5bM109dCl9Zm9yKGQhPT0wJiZ0cHQobSxlLGQsYyxwKSxtLmNvbnN1bWUoZS5ldmVudHMpLHQ9LTE7Kyt0PGUuZXZlbnRzLmxlbmd0aDspe2xldCB2PWUuZXZlbnRzW3RdO3ZbMF09PT0iZW50ZXIiJiZ2WzFdLnR5cGU9PT0idGFibGUiJiYodlsxXS5fYWxpZ249SnV0KGUuZXZlbnRzLHQpKX1yZXR1cm4gYX1mdW5jdGlvbiBXUShhLGUsdCxyLGksbyl7bGV0IG49cj09PTE/InRhYmxlSGVhZGVyIjpyPT09Mj8idGFibGVEZWxpbWl0ZXIiOiJ0YWJsZURhdGEiLGw9InRhYmxlQ29udGVudCI7dFswXSE9PTAmJihvLmVuZD1PYmplY3QuYXNzaWduKHt9LHo4KGUuZXZlbnRzLHRbMF0pKSxhLmFkZCh0WzBdLDAsW1siZXhpdCIsbyxlXV0pKTtsZXQgZD16OChlLmV2ZW50cyx0WzFdKTtpZihvPXt0eXBlOm4sc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxkKSxlbmQ6T2JqZWN0LmFzc2lnbih7fSxkKX0sYS5hZGQodFsxXSwwLFtbImVudGVyIixvLGVdXSksdFsyXSE9PTApe2xldCBjPXo4KGUuZXZlbnRzLHRbMl0pLHA9ejgoZS5ldmVudHMsdFszXSksdT17dHlwZTpsLHN0YXJ0Ok9iamVjdC5hc3NpZ24oe30sYyksZW5kOk9iamVjdC5hc3NpZ24oe30scCl9O2lmKGEuYWRkKHRbMl0sMCxbWyJlbnRlciIsdSxlXV0pLHIhPT0yKXtsZXQgbT1lLmV2ZW50c1t0WzJdXSx2PWUuZXZlbnRzW3RbM11dO2lmKG1bMV0uZW5kPU9iamVjdC5hc3NpZ24oe30sdlsxXS5lbmQpLG1bMV0udHlwZT0iY2h1bmtUZXh0IixtWzFdLmNvbnRlbnRUeXBlPSJ0ZXh0Iix0WzNdPnRbMl0rMSl7bGV0IHg9dFsyXSsxLGI9dFszXS10WzJdLTE7YS5hZGQoeCxiLFtdKX19YS5hZGQodFszXSsxLDAsW1siZXhpdCIsdSxlXV0pfXJldHVybiBpIT09dm9pZCAwJiYoby5lbmQ9T2JqZWN0LmFzc2lnbih7fSx6OChlLmV2ZW50cyxpKSksYS5hZGQoaSwwLFtbImV4aXQiLG8sZV1dKSxvPXZvaWQgMCksb31mdW5jdGlvbiB0cHQoYSxlLHQscixpKXtsZXQgbz1bXSxuPXo4KGUuZXZlbnRzLHQpO2kmJihpLmVuZD1PYmplY3QuYXNzaWduKHt9LG4pLG8ucHVzaChbImV4aXQiLGksZV0pKSxyLmVuZD1PYmplY3QuYXNzaWduKHt9LG4pLG8ucHVzaChbImV4aXQiLHIsZV0pLGEuYWRkKHQrMSwwLG8pfWZ1bmN0aW9uIHo4KGEsZSl7bGV0IHQ9YVtlXSxyPXRbMF09PT0iZW50ZXIiPyJzdGFydCI6ImVuZCI7cmV0dXJuIHRbMV1bcl19dmFyIGFwdD1mKCgpPT57V3IoKTtiYSgpO1F1dCgpO2VwdCgpO3MoYjNlLCJnZm1UYWJsZSIpO3MoR01hLCJ0b2tlbml6ZVRhYmxlIik7cyhZTWEsInJlc29sdmVUYWJsZSIpO3MoV1EsImZsdXNoQ2VsbCIpO3ModHB0LCJmbHVzaFRhYmxlRW5kIik7cyh6OCwiZ2V0UG9pbnQiKX0pO3ZhciBycHQ9ZigoKT0+e1h1dCgpO2FwdCgpfSk7ZnVuY3Rpb24gdjNlKCl7cmV0dXJue2V4aXQ6e2h0bWxGbG93RGF0YShhKXtpcHQuY2FsbCh0aGlzLGEsc3B0KX0saHRtbFRleHREYXRhKGEpe2lwdC5jYWxsKHRoaXMsYSxLTWEpfX19fWZ1bmN0aW9uIGlwdChhLGUpe2xldCB0PXRoaXMuc2xpY2VTZXJpYWxpemUoYSk7dGhpcy5vcHRpb25zLmFsbG93RGFuZ2Vyb3VzSHRtbCYmKHQ9dC5yZXBsYWNlKGUsIiZsdDskMSQyIikpLHRoaXMucmF3KHRoaXMuZW5jb2RlKHQpKX12YXIgc3B0LEtNYSxvcHQ9ZigoKT0+e3NwdD0vPChcLz8pKGlmcmFtZXxub2VtYmVkfG5vZnJhbWVzfHBsYWludGV4dHxzY3JpcHR8c3R5bGV8dGl0bGV8dGV4dGFyZWF8eG1wKSg/PVtcdFxuXGZcciAvPl0pL2dpLEtNYT1uZXcgUmVnRXhwKCJeIitzcHQuc291cmNlLCJpIik7cyh2M2UsImdmbVRhZ2ZpbHRlckh0bWwiKTtzKGlwdCwiZXhpdEh0bWxEYXRhIil9KTt2YXIgbnB0PWYoKCk9PntvcHQoKX0pO2Z1bmN0aW9uIHgzZSgpe3JldHVybntlbnRlcjp7dGFza0xpc3RDaGVjaygpe3RoaXMudGFnKCc8aW5wdXQgdHlwZT0iY2hlY2tib3giIGRpc2FibGVkPSIiICcpfX0sZXhpdDp7dGFza0xpc3RDaGVjaygpe3RoaXMudGFnKCIvPiIpfSx0YXNrTGlzdENoZWNrVmFsdWVDaGVja2VkKCl7dGhpcy50YWcoJ2NoZWNrZWQ9IiIgJyl9fX19dmFyIGxwdD1mKCgpPT57cyh4M2UsImdmbVRhc2tMaXN0SXRlbUh0bWwiKX0pO2Z1bmN0aW9uIHkzZSgpe3JldHVybnt0ZXh0Ons5MTpaTWF9fX1mdW5jdGlvbiBYTWEoYSxlLHQpe2xldCByPXRoaXM7cmV0dXJuIGk7ZnVuY3Rpb24gaShkKXtyZXR1cm4gci5wcmV2aW91cyE9PW51bGx8fCFyLl9nZm1UYXNrbGlzdEZpcnN0Q29udGVudE9mTGlzdEl0ZW0/dChkKTooYS5lbnRlcigidGFza0xpc3RDaGVjayIpLGEuZW50ZXIoInRhc2tMaXN0Q2hlY2tNYXJrZXIiKSxhLmNvbnN1bWUoZCksYS5leGl0KCJ0YXNrTGlzdENoZWNrTWFya2VyIiksbyl9ZnVuY3Rpb24gbyhkKXtyZXR1cm4gdWEoZCk/KGEuZW50ZXIoInRhc2tMaXN0Q2hlY2tWYWx1ZVVuY2hlY2tlZCIpLGEuY29uc3VtZShkKSxhLmV4aXQoInRhc2tMaXN0Q2hlY2tWYWx1ZVVuY2hlY2tlZCIpLG4pOmQ9PT04OHx8ZD09PTEyMD8oYS5lbnRlcigidGFza0xpc3RDaGVja1ZhbHVlQ2hlY2tlZCIpLGEuY29uc3VtZShkKSxhLmV4aXQoInRhc2tMaXN0Q2hlY2tWYWx1ZUNoZWNrZWQiKSxuKTp0KGQpfWZ1bmN0aW9uIG4oZCl7cmV0dXJuIGQ9PT05Mz8oYS5lbnRlcigidGFza0xpc3RDaGVja01hcmtlciIpLGEuY29uc3VtZShkKSxhLmV4aXQoInRhc2tMaXN0Q2hlY2tNYXJrZXIiKSxhLmV4aXQoInRhc2tMaXN0Q2hlY2siKSxsKTp0KGQpfWZ1bmN0aW9uIGwoZCl7cmV0dXJuIEplKGQpP2UoZCk6enQoZCk/YS5jaGVjayh7dG9rZW5pemU6UU1hfSxlLHQpKGQpOnQoZCl9fWZ1bmN0aW9uIFFNYShhLGUsdCl7cmV0dXJuIER0KGEsciwid2hpdGVzcGFjZSIpO2Z1bmN0aW9uIHIoaSl7cmV0dXJuIGk9PT1udWxsP3QoaSk6ZShpKX19dmFyIFpNYSxjcHQ9ZigoKT0+e1dyKCk7YmEoKTtaTWE9e25hbWU6InRhc2tsaXN0Q2hlY2siLHRva2VuaXplOlhNYX07cyh5M2UsImdmbVRhc2tMaXN0SXRlbSIpO3MoWE1hLCJ0b2tlbml6ZVRhc2tsaXN0Q2hlY2siKTtzKFFNYSwic3BhY2VUaGVuTm9uU3BhY2UiKX0pO3ZhciBkcHQ9ZigoKT0+e2xwdCgpO2NwdCgpfSk7ZnVuY3Rpb24gdXB0KGEpe3JldHVybiBMUShbVjRlKCksdTNlKCksaDNlKGEpLGIzZSgpLHkzZSgpXSl9ZnVuY3Rpb24gb0tyKGEpe3JldHVybiAkUShbVzRlKCkscDNlKGEpLGYzZSgpLGczZSgpLHYzZSgpLHgzZSgpXSl9dmFyIHBwdD1mKCgpPT57RFEoKTt5dXQoKTtHdXQoKTtadXQoKTtycHQoKTtucHQoKTtkcHQoKTtzKHVwdCwiZ2ZtIik7cyhvS3IsImdmbUh0bWwiKX0pO2Z1bmN0aW9uIEM4KGEpe2xldCBlPXRoaXMsdD1hfHxKTWEscj1lLmRhdGEoKSxpPXIubWljcm9tYXJrRXh0ZW5zaW9uc3x8KHIubWljcm9tYXJrRXh0ZW5zaW9ucz1bXSksbz1yLmZyb21NYXJrZG93bkV4dGVuc2lvbnN8fChyLmZyb21NYXJrZG93bkV4dGVuc2lvbnM9W10pLG49ci50b01hcmtkb3duRXh0ZW5zaW9uc3x8KHIudG9NYXJrZG93bkV4dGVuc2lvbnM9W10pO2kucHVzaCh1cHQodCkpLG8ucHVzaChPNGUoKSksbi5wdXNoKEY0ZSh0KSl9dmFyIEpNYSxmcHQ9ZigoKT0+e2N1dCgpO3BwdCgpO0pNYT17fTtzKEM4LCJyZW1hcmtHZm0iKX0pO3ZhciBocHQ9ZigoKT0+e2ZwdCgpfSk7ZnVuY3Rpb24gdzNlKGEpe2xldCBlPWF8fHt9LHQ9ITAscj17fSxpPVtbXV0sbz1bXSxuPVtdLGQ9JFEoW3tlbnRlcjp7YmxvY2tRdW90ZTpGLGNvZGVGZW5jZWQ6aGUsY29kZUZlbmNlZEZlbmNlSW5mbzpnLGNvZGVGZW5jZWRGZW5jZU1ldGE6Zyxjb2RlSW5kZW50ZWQ6bWUsY29kZVRleHQ6ZmUsY29udGVudDp6ZSxkZWZpbml0aW9uOnllLGRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZzpILGRlZmluaXRpb25MYWJlbFN0cmluZzpnLGRlZmluaXRpb25UaXRsZVN0cmluZzpnLGVtcGhhc2lzOndlLGh0bWxGbG93Om50LGh0bWxUZXh0OlRlLGltYWdlOnEsbGFiZWw6ZyxsaW5rOmNlLGxpc3RJdGVtTWFya2VyOk0sbGlzdEl0ZW1WYWx1ZTpCLGxpc3RPcmRlcmVkOlQsbGlzdFVub3JkZXJlZDpFLHBhcmFncmFwaDpqLHJlZmVyZW5jZTpnLHJlc291cmNlOkoscmVzb3VyY2VEZXN0aW5hdGlvblN0cmluZzpaLHJlc291cmNlVGl0bGVTdHJpbmc6ZyxzZXRleHRIZWFkaW5nOnFlLHN0cm9uZzpSZX0sZXhpdDp7YXR4SGVhZGluZzokZSxhdHhIZWFkaW5nU2VxdWVuY2U6T2UsYXV0b2xpbmtFbWFpbDp2cyxhdXRvbGlua1Byb3RvY29sOkphLGJsb2NrUXVvdGU6VyxjaGFyYWN0ZXJFc2NhcGVWYWx1ZTpkZSxjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJIZXhhZGVjaW1hbDpOdCxjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljOk50LGNoYXJhY3RlclJlZmVyZW5jZVZhbHVlOlhhLGNvZGVGZW5jZWQ6SSxjb2RlRmVuY2VkRmVuY2U6VSxjb2RlRmVuY2VkRmVuY2VJbmZvOlIsY29kZUZlbmNlZEZlbmNlTWV0YTpPLGNvZGVGbG93VmFsdWU6QWUsY29kZUluZGVudGVkOkksY29kZVRleHQ6YmUsY29kZVRleHREYXRhOmRlLGRhdGE6ZGUsZGVmaW5pdGlvbjp0ZSxkZWZpbml0aW9uRGVzdGluYXRpb25TdHJpbmc6b2UsZGVmaW5pdGlvbkxhYmVsU3RyaW5nOlYsZGVmaW5pdGlvblRpdGxlU3RyaW5nOnNlLGVtcGhhc2lzOlBlLGhhcmRCcmVha0VzY2FwZTpLZSxoYXJkQnJlYWtUcmFpbGluZzpLZSxodG1sRmxvdzpTdCxodG1sRmxvd0RhdGE6ZGUsaHRtbFRleHQ6U3QsaHRtbFRleHREYXRhOmRlLGltYWdlOnJlLGxhYmVsOlksbGFiZWxUZXh0OnVlLGxpbmVFbmRpbmc6dmUsbGluazpyZSxsaXN0T3JkZXJlZDpTLGxpc3RVbm9yZGVyZWQ6UCxwYXJhZ3JhcGg6RyxyZWZlcmVuY2U6TyxyZWZlcmVuY2VTdHJpbmc6WCxyZXNvdXJjZTpPLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6Z2UscmVzb3VyY2VUaXRsZVN0cmluZzphZSxzZXRleHRIZWFkaW5nOk1lLHNldGV4dEhlYWRpbmdMaW5lU2VxdWVuY2U6Q2Usc2V0ZXh0SGVhZGluZ1RleHQ6Y3Qsc3Ryb25nOnB0LHRoZW1hdGljQnJlYWs6bXR9fSwuLi5lLmh0bWxFeHRlbnNpb25zfHxbXV0pLGM9e2RlZmluaXRpb25zOnIsdGlnaHRTdGFjazpufSxwPXtidWZmZXI6ZyxlbmNvZGU6eixnZXREYXRhOmIsbGluZUVuZGluZ0lmTmVlZGVkOl8sb3B0aW9uczplLHJhdzpDLHJlc3VtZTp5LHNldERhdGE6eCx0YWc6a30sdT1lLmRlZmF1bHRMaW5lRW5kaW5nO3JldHVybiBtO2Z1bmN0aW9uIG0oamUpe2xldCBkdD0tMSxRYT0wLE1yPVtdLCRyPVtdLEhyPVtdO2Zvcig7KytkdDxqZS5sZW5ndGg7KSF1JiYoamVbZHRdWzFdLnR5cGU9PT0ibGluZUVuZGluZyJ8fGplW2R0XVsxXS50eXBlPT09ImxpbmVFbmRpbmdCbGFuayIpJiYodT1qZVtkdF1bMl0uc2xpY2VTZXJpYWxpemUoamVbZHRdWzFdKSksKGplW2R0XVsxXS50eXBlPT09Imxpc3RPcmRlcmVkInx8amVbZHRdWzFdLnR5cGU9PT0ibGlzdFVub3JkZXJlZCIpJiYoamVbZHRdWzBdPT09ImVudGVyIj9Nci5wdXNoKGR0KTp2KGplLnNsaWNlKE1yLnBvcCgpLGR0KSkpLGplW2R0XVsxXS50eXBlPT09ImRlZmluaXRpb24iJiYoamVbZHRdWzBdPT09ImVudGVyIj8oSHI9Y3MoSHIsamUuc2xpY2UoUWEsZHQpKSxRYT1kdCk6KCRyPWNzKCRyLGplLnNsaWNlKFFhLGR0KzEpKSxRYT1kdCsxKSk7JHI9Y3MoJHIsSHIpLCRyPWNzKCRyLGplLnNsaWNlKFFhKSksZHQ9LTE7bGV0IERyPSRyO2ZvcihkLmVudGVyLm51bGwmJmQuZW50ZXIubnVsbC5jYWxsKHApOysrZHQ8amUubGVuZ3RoOyl7bGV0IGhvPWRbRHJbZHRdWzBdXSxtbz1EcltkdF1bMV0udHlwZSxMZT1ob1ttb107bXB0LmNhbGwoaG8sbW8pJiZMZSYmTGUuY2FsbCh7c2xpY2VTZXJpYWxpemU6RHJbZHRdWzJdLnNsaWNlU2VyaWFsaXplLC4uLnB9LERyW2R0XVsxXSl9cmV0dXJuIGQuZXhpdC5udWxsJiZkLmV4aXQubnVsbC5jYWxsKHApLGlbMF0uam9pbigiIil9ZnVuY3Rpb24gdihqZSl7bGV0IGR0PWplLmxlbmd0aCxRYT0wLE1yPTAsJHI9ITEsSHI7Zm9yKDsrK1FhPGR0Oyl7bGV0IERyPWplW1FhXTtpZihEclsxXS5fY29udGFpbmVyKUhyPXZvaWQgMCxEclswXT09PSJlbnRlciI/TXIrKzpNci0tO2Vsc2Ugc3dpdGNoKERyWzFdLnR5cGUpe2Nhc2UibGlzdEl0ZW1QcmVmaXgiOntEclswXT09PSJleGl0IiYmKEhyPSEwKTticmVha31jYXNlImxpbmVQcmVmaXgiOmJyZWFrO2Nhc2UibGluZUVuZGluZ0JsYW5rIjp7RHJbMF09PT0iZW50ZXIiJiYhTXImJihIcj9Icj12b2lkIDA6JHI9ITApO2JyZWFrfWRlZmF1bHQ6SHI9dm9pZCAwfX1qZVswXVsxXS5fbG9vc2U9JHJ9ZnVuY3Rpb24geChqZSxkdCl7Y1tqZV09ZHR9ZnVuY3Rpb24gYihqZSl7cmV0dXJuIGNbamVdfWZ1bmN0aW9uIGcoKXtpLnB1c2goW10pfWZ1bmN0aW9uIHkoKXtyZXR1cm4gaS5wb3AoKS5qb2luKCIiKX1mdW5jdGlvbiBrKGplKXt0JiYoeCgibGFzdFdhc1RhZyIsITApLGlbaS5sZW5ndGgtMV0ucHVzaChqZSkpfWZ1bmN0aW9uIEMoamUpe3goImxhc3RXYXNUYWciKSxpW2kubGVuZ3RoLTFdLnB1c2goamUpfWZ1bmN0aW9uIE4oKXtDKHV8fGAKYCl9ZnVuY3Rpb24gXygpe2xldCBqZT1pW2kubGVuZ3RoLTFdLGR0PWplW2plLmxlbmd0aC0xXSxRYT1kdD9kdC5jaGFyQ29kZUF0KGR0Lmxlbmd0aC0xKTpudWxsO1FhPT09MTB8fFFhPT09MTN8fFFhPT09bnVsbHx8TigpfWZ1bmN0aW9uIHooamUpe3JldHVybiBiKCJpZ25vcmVFbmNvZGUiKT9qZTpBUShqZSl9ZnVuY3Rpb24gTygpe3koKX1mdW5jdGlvbiBUKGplKXtuLnB1c2goIWplLl9sb29zZSksXygpLGsoIjxvbCIpLHgoImV4cGVjdEZpcnN0SXRlbSIsITApfWZ1bmN0aW9uIEUoamUpe24ucHVzaCghamUuX2xvb3NlKSxfKCksaygiPHVsIikseCgiZXhwZWN0Rmlyc3RJdGVtIiwhMCl9ZnVuY3Rpb24gQihqZSl7aWYoYigiZXhwZWN0Rmlyc3RJdGVtIikpe2xldCBkdD1OdW1iZXIucGFyc2VJbnQodGhpcy5zbGljZVNlcmlhbGl6ZShqZSksMTApO2R0IT09MSYmaygnIHN0YXJ0PSInK3ooU3RyaW5nKGR0KSkrJyInKX19ZnVuY3Rpb24gTSgpe2IoImV4cGVjdEZpcnN0SXRlbSIpP2soIj4iKTpBKCksXygpLGsoIjxsaT4iKSx4KCJleHBlY3RGaXJzdEl0ZW0iKSx4KCJsYXN0V2FzVGFnIil9ZnVuY3Rpb24gUygpe0EoKSxuLnBvcCgpLE4oKSxrKCI8L29sPiIpfWZ1bmN0aW9uIFAoKXtBKCksbi5wb3AoKSxOKCksaygiPC91bD4iKX1mdW5jdGlvbiBBKCl7YigibGFzdFdhc1RhZyIpJiYhYigic2x1cnBBbGxMaW5lRW5kaW5ncyIpJiZfKCksaygiPC9saT4iKSx4KCJzbHVycEFsbExpbmVFbmRpbmdzIil9ZnVuY3Rpb24gRigpe24ucHVzaCghMSksXygpLGsoIjxibG9ja3F1b3RlPiIpfWZ1bmN0aW9uIFcoKXtuLnBvcCgpLF8oKSxrKCI8L2Jsb2NrcXVvdGU+IikseCgic2x1cnBBbGxMaW5lRW5kaW5ncyIpfWZ1bmN0aW9uIGooKXtuW24ubGVuZ3RoLTFdfHwoXygpLGsoIjxwPiIpKSx4KCJzbHVycEFsbExpbmVFbmRpbmdzIil9ZnVuY3Rpb24gRygpe25bbi5sZW5ndGgtMV0/eCgic2x1cnBBbGxMaW5lRW5kaW5ncyIsITApOmsoIjwvcD4iKX1mdW5jdGlvbiBoZSgpe18oKSxrKCI8cHJlPjxjb2RlIikseCgiZmVuY2VzQ291bnQiLDApfWZ1bmN0aW9uIFIoKXtsZXQgamU9eSgpO2soJyBjbGFzcz0ibGFuZ3VhZ2UtJytqZSsnIicpfWZ1bmN0aW9uIFUoKXtsZXQgamU9YigiZmVuY2VzQ291bnQiKXx8MDtqZXx8KGsoIj4iKSx4KCJzbHVycE9uZUxpbmVFbmRpbmciLCEwKSkseCgiZmVuY2VzQ291bnQiLGplKzEpfWZ1bmN0aW9uIG1lKCl7XygpLGsoIjxwcmU+PGNvZGU+Iil9ZnVuY3Rpb24gSSgpe2xldCBqZT1iKCJmZW5jZXNDb3VudCIpO2plIT09dm9pZCAwJiZqZTwyJiZjLnRpZ2h0U3RhY2subGVuZ3RoPjAmJiFiKCJsYXN0V2FzVGFnIikmJk4oKSxiKCJmbG93Q29kZVNlZW5EYXRhIikmJl8oKSxrKCI8L2NvZGU+PC9wcmU+IiksamUhPT12b2lkIDAmJmplPDImJl8oKSx4KCJmbG93Q29kZVNlZW5EYXRhIikseCgiZmVuY2VzQ291bnQiKSx4KCJzbHVycE9uZUxpbmVFbmRpbmciKX1mdW5jdGlvbiBxKCl7by5wdXNoKHtpbWFnZTohMH0pLHQ9dm9pZCAwfWZ1bmN0aW9uIGNlKCl7by5wdXNoKHt9KX1mdW5jdGlvbiB1ZShqZSl7b1tvLmxlbmd0aC0xXS5sYWJlbElkPXRoaXMuc2xpY2VTZXJpYWxpemUoamUpfWZ1bmN0aW9uIFkoKXtvW28ubGVuZ3RoLTFdLmxhYmVsPXkoKX1mdW5jdGlvbiBYKGplKXtvW28ubGVuZ3RoLTFdLnJlZmVyZW5jZUlkPXRoaXMuc2xpY2VTZXJpYWxpemUoamUpfWZ1bmN0aW9uIEooKXtnKCksb1tvLmxlbmd0aC0xXS5kZXN0aW5hdGlvbj0iIn1mdW5jdGlvbiBaKCl7ZygpLHgoImlnbm9yZUVuY29kZSIsITApfWZ1bmN0aW9uIGdlKCl7b1tvLmxlbmd0aC0xXS5kZXN0aW5hdGlvbj15KCkseCgiaWdub3JlRW5jb2RlIil9ZnVuY3Rpb24gYWUoKXtvW28ubGVuZ3RoLTFdLnRpdGxlPXkoKX1mdW5jdGlvbiByZSgpe2xldCBqZT1vLmxlbmd0aC0xLGR0PW9bamVdLFFhPWR0LnJlZmVyZW5jZUlkfHxkdC5sYWJlbElkLE1yPWR0LmRlc3RpbmF0aW9uPT09dm9pZCAwP3JbSXIoUWEpXTpkdDtmb3IodD0hMDtqZS0tOylpZihvW2plXS5pbWFnZSl7dD12b2lkIDA7YnJlYWt9ZHQuaW1hZ2U/KGsoJzxpbWcgc3JjPSInK1AyKE1yLmRlc3RpbmF0aW9uLGUuYWxsb3dEYW5nZXJvdXNQcm90b2NvbD92b2lkIDA6ZWthKSsnIiBhbHQ9IicpLEMoZHQubGFiZWwpLGsoJyInKSk6aygnPGEgaHJlZj0iJytQMihNci5kZXN0aW5hdGlvbixlLmFsbG93RGFuZ2Vyb3VzUHJvdG9jb2w/dm9pZCAwOmdwdCkrJyInKSxrKE1yLnRpdGxlPycgdGl0bGU9IicrTXIudGl0bGUrJyInOiIiKSxkdC5pbWFnZT9rKCIgLz4iKTooaygiPiIpLEMoZHQubGFiZWwpLGsoIjwvYT4iKSksby5wb3AoKX1mdW5jdGlvbiB5ZSgpe2coKSxvLnB1c2goe30pfWZ1bmN0aW9uIFYoamUpe3koKSxvW28ubGVuZ3RoLTFdLmxhYmVsSWQ9dGhpcy5zbGljZVNlcmlhbGl6ZShqZSl9ZnVuY3Rpb24gSCgpe2coKSx4KCJpZ25vcmVFbmNvZGUiLCEwKX1mdW5jdGlvbiBvZSgpe29bby5sZW5ndGgtMV0uZGVzdGluYXRpb249eSgpLHgoImlnbm9yZUVuY29kZSIpfWZ1bmN0aW9uIHNlKCl7b1tvLmxlbmd0aC0xXS50aXRsZT15KCl9ZnVuY3Rpb24gdGUoKXtsZXQgamU9b1tvLmxlbmd0aC0xXSxkdD1JcihqZS5sYWJlbElkKTt5KCksbXB0LmNhbGwocixkdCl8fChyW2R0XT1vW28ubGVuZ3RoLTFdKSxvLnBvcCgpfWZ1bmN0aW9uIHplKCl7eCgic2x1cnBBbGxMaW5lRW5kaW5ncyIsITApfWZ1bmN0aW9uIE9lKGplKXtiKCJoZWFkaW5nUmFuayIpfHwoeCgiaGVhZGluZ1JhbmsiLHRoaXMuc2xpY2VTZXJpYWxpemUoamUpLmxlbmd0aCksXygpLGsoIjxoIitiKCJoZWFkaW5nUmFuayIpKyI+IikpfWZ1bmN0aW9uIHFlKCl7ZygpLHgoInNsdXJwQWxsTGluZUVuZGluZ3MiKX1mdW5jdGlvbiBjdCgpe3goInNsdXJwQWxsTGluZUVuZGluZ3MiLCEwKX1mdW5jdGlvbiAkZSgpe2soIjwvaCIrYigiaGVhZGluZ1JhbmsiKSsiPiIpLHgoImhlYWRpbmdSYW5rIil9ZnVuY3Rpb24gQ2UoamUpe3goImhlYWRpbmdSYW5rIix0aGlzLnNsaWNlU2VyaWFsaXplKGplKS5jaGFyQ29kZUF0KDApPT09NjE/MToyKX1mdW5jdGlvbiBNZSgpe2xldCBqZT15KCk7XygpLGsoIjxoIitiKCJoZWFkaW5nUmFuayIpKyI+IiksQyhqZSksaygiPC9oIitiKCJoZWFkaW5nUmFuayIpKyI+IikseCgic2x1cnBBbGxMaW5lRW5kaW5ncyIpLHgoImhlYWRpbmdSYW5rIil9ZnVuY3Rpb24gZGUoamUpe0Moeih0aGlzLnNsaWNlU2VyaWFsaXplKGplKSkpfWZ1bmN0aW9uIHZlKGplKXtpZighYigic2x1cnBBbGxMaW5lRW5kaW5ncyIpKXtpZihiKCJzbHVycE9uZUxpbmVFbmRpbmciKSl7eCgic2x1cnBPbmVMaW5lRW5kaW5nIik7cmV0dXJufWlmKGIoImluQ29kZVRleHQiKSl7QygiICIpO3JldHVybn1DKHoodGhpcy5zbGljZVNlcmlhbGl6ZShqZSkpKX19ZnVuY3Rpb24gQWUoamUpe0Moeih0aGlzLnNsaWNlU2VyaWFsaXplKGplKSkpLHgoImZsb3dDb2RlU2VlbkRhdGEiLCEwKX1mdW5jdGlvbiBLZSgpe2soIjxiciAvPiIpfWZ1bmN0aW9uIG50KCl7XygpLFRlKCl9ZnVuY3Rpb24gU3QoKXt4KCJpZ25vcmVFbmNvZGUiKX1mdW5jdGlvbiBUZSgpe2UuYWxsb3dEYW5nZXJvdXNIdG1sJiZ4KCJpZ25vcmVFbmNvZGUiLCEwKX1mdW5jdGlvbiB3ZSgpe2soIjxlbT4iKX1mdW5jdGlvbiBSZSgpe2soIjxzdHJvbmc+Iil9ZnVuY3Rpb24gZmUoKXt4KCJpbkNvZGVUZXh0IiwhMCksaygiPGNvZGU+Iil9ZnVuY3Rpb24gYmUoKXt4KCJpbkNvZGVUZXh0IiksaygiPC9jb2RlPiIpfWZ1bmN0aW9uIFBlKCl7aygiPC9lbT4iKX1mdW5jdGlvbiBwdCgpe2soIjwvc3Ryb25nPiIpfWZ1bmN0aW9uIG10KCl7XygpLGsoIjxociAvPiIpfWZ1bmN0aW9uIE50KGplKXt4KCJjaGFyYWN0ZXJSZWZlcmVuY2VUeXBlIixqZS50eXBlKX1mdW5jdGlvbiBYYShqZSl7bGV0IGR0PXRoaXMuc2xpY2VTZXJpYWxpemUoamUpLFFhPWIoImNoYXJhY3RlclJlZmVyZW5jZVR5cGUiKT9TOChkdCxiKCJjaGFyYWN0ZXJSZWZlcmVuY2VUeXBlIik9PT0iY2hhcmFjdGVyUmVmZXJlbmNlTWFya2VyTnVtZXJpYyI/MTA6MTYpOlYwKGR0KTtDKHooUWEpKSx4KCJjaGFyYWN0ZXJSZWZlcmVuY2VUeXBlIil9ZnVuY3Rpb24gSmEoamUpe2xldCBkdD10aGlzLnNsaWNlU2VyaWFsaXplKGplKTtrKCc8YSBocmVmPSInK1AyKGR0LGUuYWxsb3dEYW5nZXJvdXNQcm90b2NvbD92b2lkIDA6Z3B0KSsnIj4nKSxDKHooZHQpKSxrKCI8L2E+Iil9ZnVuY3Rpb24gdnMoamUpe2xldCBkdD10aGlzLnNsaWNlU2VyaWFsaXplKGplKTtrKCc8YSBocmVmPSInK1AyKCJtYWlsdG86IitkdCkrJyI+JyksQyh6KGR0KSksaygiPC9hPiIpfX12YXIgbXB0LGdwdCxla2EsTTNlPWYoKCk9PntXZygpO0EyKCk7RFEoKTtDUSgpO2o0ZSgpO3EwKCk7STIoKTttcHQ9e30uaGFzT3duUHJvcGVydHksZ3B0PS9eKGh0dHBzP3xpcmNzP3xtYWlsdG98eG1wcCkkL2ksZWthPS9eaHR0cHM/JC9pO3ModzNlLCJjb21waWxlIil9KTtmdW5jdGlvbiB0a2EoYSl7bGV0IGU9YS5hdHRlbXB0KHRoaXMucGFyc2VyLmNvbnN0cnVjdHMuY29udGVudEluaXRpYWwscixpKSx0O3JldHVybiBlO2Z1bmN0aW9uIHIobCl7aWYobD09PW51bGwpe2EuY29uc3VtZShsKTtyZXR1cm59cmV0dXJuIGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUobCksYS5leGl0KCJsaW5lRW5kaW5nIiksRHQoYSxlLCJsaW5lUHJlZml4Iil9ZnVuY3Rpb24gaShsKXtyZXR1cm4gYS5lbnRlcigicGFyYWdyYXBoIiksbyhsKX1mdW5jdGlvbiBvKGwpe2xldCBkPWEuZW50ZXIoImNodW5rVGV4dCIse2NvbnRlbnRUeXBlOiJ0ZXh0IixwcmV2aW91czp0fSk7cmV0dXJuIHQmJih0Lm5leHQ9ZCksdD1kLG4obCl9ZnVuY3Rpb24gbihsKXtpZihsPT09bnVsbCl7YS5leGl0KCJjaHVua1RleHQiKSxhLmV4aXQoInBhcmFncmFwaCIpLGEuY29uc3VtZShsKTtyZXR1cm59cmV0dXJuIEplKGwpPyhhLmNvbnN1bWUobCksYS5leGl0KCJjaHVua1RleHQiKSxvKTooYS5jb25zdW1lKGwpLG4pfX12YXIgYnB0LHZwdD1mKCgpPT57V3IoKTtiYSgpO2JwdD17dG9rZW5pemU6dGthfTtzKHRrYSwiaW5pdGlhbGl6ZUNvbnRlbnQiKX0pO2Z1bmN0aW9uIGFrYShhKXtsZXQgZT10aGlzLHQ9W10scj0wLGksbyxuO3JldHVybiBsO2Z1bmN0aW9uIGwoQyl7aWYocjx0Lmxlbmd0aCl7bGV0IE49dFtyXTtyZXR1cm4gZS5jb250YWluZXJTdGF0ZT1OWzFdLGEuYXR0ZW1wdChOWzBdLmNvbnRpbnVhdGlvbixkLGMpKEMpfXJldHVybiBjKEMpfWZ1bmN0aW9uIGQoQyl7aWYocisrLGUuY29udGFpbmVyU3RhdGUuX2Nsb3NlRmxvdyl7ZS5jb250YWluZXJTdGF0ZS5fY2xvc2VGbG93PXZvaWQgMCxpJiZrKCk7bGV0IE49ZS5ldmVudHMubGVuZ3RoLF89Tix6O2Zvcig7Xy0tOylpZihlLmV2ZW50c1tfXVswXT09PSJleGl0IiYmZS5ldmVudHNbX11bMV0udHlwZT09PSJjaHVua0Zsb3ciKXt6PWUuZXZlbnRzW19dWzFdLmVuZDticmVha315KHIpO2xldCBPPU47Zm9yKDtPPGUuZXZlbnRzLmxlbmd0aDspZS5ldmVudHNbT11bMV0uZW5kPXsuLi56fSxPKys7cmV0dXJuIFVyKGUuZXZlbnRzLF8rMSwwLGUuZXZlbnRzLnNsaWNlKE4pKSxlLmV2ZW50cy5sZW5ndGg9TyxjKEMpfXJldHVybiBsKEMpfWZ1bmN0aW9uIGMoQyl7aWYocj09PXQubGVuZ3RoKXtpZighaSlyZXR1cm4gbShDKTtpZihpLmN1cnJlbnRDb25zdHJ1Y3QmJmkuY3VycmVudENvbnN0cnVjdC5jb25jcmV0ZSlyZXR1cm4geChDKTtlLmludGVycnVwdD0hIShpLmN1cnJlbnRDb25zdHJ1Y3QmJiFpLl9nZm1UYWJsZUR5bmFtaWNJbnRlcnJ1cHRIYWNrKX1yZXR1cm4gZS5jb250YWluZXJTdGF0ZT17fSxhLmNoZWNrKHhwdCxwLHUpKEMpfWZ1bmN0aW9uIHAoQyl7cmV0dXJuIGkmJmsoKSx5KHIpLG0oQyl9ZnVuY3Rpb24gdShDKXtyZXR1cm4gZS5wYXJzZXIubGF6eVtlLm5vdygpLmxpbmVdPXIhPT10Lmxlbmd0aCxuPWUubm93KCkub2Zmc2V0LHgoQyl9ZnVuY3Rpb24gbShDKXtyZXR1cm4gZS5jb250YWluZXJTdGF0ZT17fSxhLmF0dGVtcHQoeHB0LHYseCkoQyl9ZnVuY3Rpb24gdihDKXtyZXR1cm4gcisrLHQucHVzaChbZS5jdXJyZW50Q29uc3RydWN0LGUuY29udGFpbmVyU3RhdGVdKSxtKEMpfWZ1bmN0aW9uIHgoQyl7aWYoQz09PW51bGwpe2kmJmsoKSx5KDApLGEuY29uc3VtZShDKTtyZXR1cm59cmV0dXJuIGk9aXx8ZS5wYXJzZXIuZmxvdyhlLm5vdygpKSxhLmVudGVyKCJjaHVua0Zsb3ciLHtfdG9rZW5pemVyOmksY29udGVudFR5cGU6ImZsb3ciLHByZXZpb3VzOm99KSxiKEMpfWZ1bmN0aW9uIGIoQyl7aWYoQz09PW51bGwpe2coYS5leGl0KCJjaHVua0Zsb3ciKSwhMCkseSgwKSxhLmNvbnN1bWUoQyk7cmV0dXJufXJldHVybiBKZShDKT8oYS5jb25zdW1lKEMpLGcoYS5leGl0KCJjaHVua0Zsb3ciKSkscj0wLGUuaW50ZXJydXB0PXZvaWQgMCxsKTooYS5jb25zdW1lKEMpLGIpfWZ1bmN0aW9uIGcoQyxOKXtsZXQgXz1lLnNsaWNlU3RyZWFtKEMpO2lmKE4mJl8ucHVzaChudWxsKSxDLnByZXZpb3VzPW8sbyYmKG8ubmV4dD1DKSxvPUMsaS5kZWZpbmVTa2lwKEMuc3RhcnQpLGkud3JpdGUoXyksZS5wYXJzZXIubGF6eVtDLnN0YXJ0LmxpbmVdKXtsZXQgej1pLmV2ZW50cy5sZW5ndGg7Zm9yKDt6LS07KWlmKGkuZXZlbnRzW3pdWzFdLnN0YXJ0Lm9mZnNldDxuJiYoIWkuZXZlbnRzW3pdWzFdLmVuZHx8aS5ldmVudHNbel1bMV0uZW5kLm9mZnNldD5uKSlyZXR1cm47bGV0IE89ZS5ldmVudHMubGVuZ3RoLFQ9TyxFLEI7Zm9yKDtULS07KWlmKGUuZXZlbnRzW1RdWzBdPT09ImV4aXQiJiZlLmV2ZW50c1tUXVsxXS50eXBlPT09ImNodW5rRmxvdyIpe2lmKEUpe0I9ZS5ldmVudHNbVF1bMV0uZW5kO2JyZWFrfUU9ITB9Zm9yKHkociksej1PO3o8ZS5ldmVudHMubGVuZ3RoOyllLmV2ZW50c1t6XVsxXS5lbmQ9ey4uLkJ9LHorKztVcihlLmV2ZW50cyxUKzEsMCxlLmV2ZW50cy5zbGljZShPKSksZS5ldmVudHMubGVuZ3RoPXp9fWZ1bmN0aW9uIHkoQyl7bGV0IE49dC5sZW5ndGg7Zm9yKDtOLS0gPkM7KXtsZXQgXz10W05dO2UuY29udGFpbmVyU3RhdGU9X1sxXSxfWzBdLmV4aXQuY2FsbChlLGEpfXQubGVuZ3RoPUN9ZnVuY3Rpb24gaygpe2kud3JpdGUoW251bGxdKSxvPXZvaWQgMCxpPXZvaWQgMCxlLmNvbnRhaW5lclN0YXRlLl9jbG9zZUZsb3c9dm9pZCAwfX1mdW5jdGlvbiBya2EoYSxlLHQpe3JldHVybiBEdChhLGEuYXR0ZW1wdCh0aGlzLnBhcnNlci5jb25zdHJ1Y3RzLmRvY3VtZW50LGUsdCksImxpbmVQcmVmaXgiLHRoaXMucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKCJjb2RlSW5kZW50ZWQiKT92b2lkIDA6NCl9dmFyIHlwdCx4cHQsd3B0PWYoKCk9PntXcigpO2JhKCk7QTIoKTt5cHQ9e3Rva2VuaXplOmFrYX0seHB0PXt0b2tlbml6ZTpya2F9O3MoYWthLCJpbml0aWFsaXplRG9jdW1lbnQiKTtzKHJrYSwidG9rZW5pemVDb250YWluZXIiKX0pO2Z1bmN0aW9uIHNrYShhKXtsZXQgZT10aGlzLHQ9YS5hdHRlbXB0KE4yLHIsYS5hdHRlbXB0KHRoaXMucGFyc2VyLmNvbnN0cnVjdHMuZmxvd0luaXRpYWwsaSxEdChhLGEuYXR0ZW1wdCh0aGlzLnBhcnNlci5jb25zdHJ1Y3RzLmZsb3csaSxhLmF0dGVtcHQoWDRlLGkpKSwibGluZVByZWZpeCIpKSk7cmV0dXJuIHQ7ZnVuY3Rpb24gcihvKXtpZihvPT09bnVsbCl7YS5jb25zdW1lKG8pO3JldHVybn1yZXR1cm4gYS5lbnRlcigibGluZUVuZGluZ0JsYW5rIiksYS5jb25zdW1lKG8pLGEuZXhpdCgibGluZUVuZGluZ0JsYW5rIiksZS5jdXJyZW50Q29uc3RydWN0PXZvaWQgMCx0fWZ1bmN0aW9uIGkobyl7aWYobz09PW51bGwpe2EuY29uc3VtZShvKTtyZXR1cm59cmV0dXJuIGEuZW50ZXIoImxpbmVFbmRpbmciKSxhLmNvbnN1bWUobyksYS5leGl0KCJsaW5lRW5kaW5nIiksZS5jdXJyZW50Q29uc3RydWN0PXZvaWQgMCx0fX12YXIgTXB0LGtwdD1mKCgpPT57alEoKTtXcigpO2JhKCk7TXB0PXt0b2tlbml6ZTpza2F9O3Moc2thLCJpbml0aWFsaXplRmxvdyIpfSk7ZnVuY3Rpb24gU3B0KGEpe3JldHVybntyZXNvbHZlQWxsOnpwdChhPT09InRleHQiP2lrYTp2b2lkIDApLHRva2VuaXplOmV9O2Z1bmN0aW9uIGUodCl7bGV0IHI9dGhpcyxpPXRoaXMucGFyc2VyLmNvbnN0cnVjdHNbYV0sbz10LmF0dGVtcHQoaSxuLGwpO3JldHVybiBuO2Z1bmN0aW9uIG4ocCl7cmV0dXJuIGMocCk/byhwKTpsKHApfWZ1bmN0aW9uIGwocCl7aWYocD09PW51bGwpe3QuY29uc3VtZShwKTtyZXR1cm59cmV0dXJuIHQuZW50ZXIoImRhdGEiKSx0LmNvbnN1bWUocCksZH1mdW5jdGlvbiBkKHApe3JldHVybiBjKHApPyh0LmV4aXQoImRhdGEiKSxvKHApKToodC5jb25zdW1lKHApLGQpfWZ1bmN0aW9uIGMocCl7aWYocD09PW51bGwpcmV0dXJuITA7bGV0IHU9aVtwXSxtPS0xO2lmKHUpZm9yKDsrK208dS5sZW5ndGg7KXtsZXQgdj11W21dO2lmKCF2LnByZXZpb3VzfHx2LnByZXZpb3VzLmNhbGwocixyLnByZXZpb3VzKSlyZXR1cm4hMH1yZXR1cm4hMX19fWZ1bmN0aW9uIHpwdChhKXtyZXR1cm4gZTtmdW5jdGlvbiBlKHQscil7bGV0IGk9LTEsbztmb3IoOysraTw9dC5sZW5ndGg7KW89PT12b2lkIDA/dFtpXSYmdFtpXVsxXS50eXBlPT09ImRhdGEiJiYobz1pLGkrKyk6KCF0W2ldfHx0W2ldWzFdLnR5cGUhPT0iZGF0YSIpJiYoaSE9PW8rMiYmKHRbb11bMV0uZW5kPXRbaS0xXVsxXS5lbmQsdC5zcGxpY2UobysyLGktby0yKSxpPW8rMiksbz12b2lkIDApO3JldHVybiBhP2EodCxyKTp0fX1mdW5jdGlvbiBpa2EoYSxlKXtsZXQgdD0wO2Zvcig7Kyt0PD1hLmxlbmd0aDspaWYoKHQ9PT1hLmxlbmd0aHx8YVt0XVsxXS50eXBlPT09ImxpbmVFbmRpbmciKSYmYVt0LTFdWzFdLnR5cGU9PT0iZGF0YSIpe2xldCByPWFbdC0xXVsxXSxpPWUuc2xpY2VTdHJlYW0ociksbz1pLmxlbmd0aCxuPS0xLGw9MCxkO2Zvcig7by0tOyl7bGV0IGM9aVtvXTtpZih0eXBlb2YgYz09InN0cmluZyIpe2ZvcihuPWMubGVuZ3RoO2MuY2hhckNvZGVBdChuLTEpPT09MzI7KWwrKyxuLS07aWYobilicmVhaztuPS0xfWVsc2UgaWYoYz09PS0yKWQ9ITAsbCsrO2Vsc2UgaWYoYyE9PS0xKXtvKys7YnJlYWt9fWlmKGUuX2NvbnRlbnRUeXBlVGV4dFRyYWlsaW5nJiZ0PT09YS5sZW5ndGgmJihsPTApLGwpe2xldCBjPXt0eXBlOnQ9PT1hLmxlbmd0aHx8ZHx8bDwyPyJsaW5lU3VmZml4IjoiaGFyZEJyZWFrVHJhaWxpbmciLHN0YXJ0OntfYnVmZmVySW5kZXg6bz9uOnIuc3RhcnQuX2J1ZmZlckluZGV4K24sX2luZGV4OnIuc3RhcnQuX2luZGV4K28sbGluZTpyLmVuZC5saW5lLGNvbHVtbjpyLmVuZC5jb2x1bW4tbCxvZmZzZXQ6ci5lbmQub2Zmc2V0LWx9LGVuZDp7Li4uci5lbmR9fTtyLmVuZD17Li4uYy5zdGFydH0sci5zdGFydC5vZmZzZXQ9PT1yLmVuZC5vZmZzZXQ/T2JqZWN0LmFzc2lnbihyLGMpOihhLnNwbGljZSh0LDAsWyJlbnRlciIsYyxlXSxbImV4aXQiLGMsZV0pLHQrPTIpfXQrK31yZXR1cm4gYX12YXIgQ3B0LF9wdCxUcHQsazNlPWYoKCk9PntDcHQ9e3Jlc29sdmVBbGw6enB0KCl9LF9wdD1TcHQoInN0cmluZyIpLFRwdD1TcHQoInRleHQiKTtzKFNwdCwiaW5pdGlhbGl6ZUZhY3RvcnkiKTtzKHpwdCwiY3JlYXRlUmVzb2x2ZXIiKTtzKGlrYSwicmVzb2x2ZUFsbExpbmVTdWZmaXhlcyIpfSk7dmFyIFMzZT17fTtsdChTM2Use2F0dGVudGlvbk1hcmtlcnM6KCk9PmZrYSxjb250ZW50SW5pdGlhbDooKT0+bmthLGRpc2FibGU6KCk9PmhrYSxkb2N1bWVudDooKT0+b2thLGZsb3c6KCk9PmNrYSxmbG93SW5pdGlhbDooKT0+bGthLGluc2lkZVNwYW46KCk9PnBrYSxzdHJpbmc6KCk9PmRrYSx0ZXh0OigpPT51a2F9KTt2YXIgb2thLG5rYSxsa2EsY2thLGRrYSx1a2EscGthLGZrYSxoa2EsTHB0PWYoKCk9PntqUSgpO2szZSgpO29rYT17NDI6U2ksNDM6U2ksNDU6U2ksNDg6U2ksNDk6U2ksNTA6U2ksNTE6U2ksNTI6U2ksNTM6U2ksNTQ6U2ksNTU6U2ksNTY6U2ksNTc6U2ksNjI6UFF9LG5rYT17OTE6YTNlfSxsa2E9e1stMl06S2csWy0xXTpLZywzMjpLZ30sY2thPXszNTpzM2UsNDI6UTMsNDU6W1ZRLFEzXSw2MDpvM2UsNjE6VlEsOTU6UTMsOTY6UlEsMTI2OlJRfSxka2E9ezM4Ok5RLDkyOklRfSx1a2E9e1stNV06UWcsWy00XTpRZyxbLTNdOlFnLDMzOmwzZSwzODpOUSw0MjpZZyw2MDpbRzRlLG4zZV0sOTE6YzNlLDkyOltyM2UsSVFdLDkzOlgzLDk1OllnLDk2Olk0ZX0scGthPXtudWxsOltZZyxDcHRdfSxma2E9e251bGw6WzQyLDk1XX0saGthPXtudWxsOltdfX0pO2Z1bmN0aW9uICRwdChhLGUsdCl7bGV0IHI9e19idWZmZXJJbmRleDotMSxfaW5kZXg6MCxsaW5lOnQmJnQubGluZXx8MSxjb2x1bW46dCYmdC5jb2x1bW58fDEsb2Zmc2V0OnQmJnQub2Zmc2V0fHwwfSxpPXt9LG89W10sbj1bXSxsPVtdLGQ9ITAsYz17YXR0ZW1wdDpFKE8pLGNoZWNrOkUoVCksY29uc3VtZTpOLGVudGVyOl8sZXhpdDp6LGludGVycnVwdDpFKFQse2ludGVycnVwdDohMH0pfSxwPXtjb2RlOm51bGwsY29udGFpbmVyU3RhdGU6e30sZGVmaW5lU2tpcDp5LGV2ZW50czpbXSxub3c6ZyxwYXJzZXI6YSxwcmV2aW91czpudWxsLHNsaWNlU2VyaWFsaXplOngsc2xpY2VTdHJlYW06Yix3cml0ZTp2fSx1PWUudG9rZW5pemUuY2FsbChwLGMpLG07cmV0dXJuIGUucmVzb2x2ZUFsbCYmby5wdXNoKGUpLHA7ZnVuY3Rpb24gdihQKXtyZXR1cm4gbj1jcyhuLFApLGsoKSxuW24ubGVuZ3RoLTFdIT09bnVsbD9bXTooQihlLDApLHAuZXZlbnRzPWowKG8scC5ldmVudHMscCkscC5ldmVudHMpfXModiwid3JpdGUiKTtmdW5jdGlvbiB4KFAsQSl7cmV0dXJuIGdrYShiKFApLEEpfXMoeCwic2xpY2VTZXJpYWxpemUiKTtmdW5jdGlvbiBiKFApe3JldHVybiBta2EobixQKX1zKGIsInNsaWNlU3RyZWFtIik7ZnVuY3Rpb24gZygpe2xldHtfYnVmZmVySW5kZXg6UCxfaW5kZXg6QSxsaW5lOkYsY29sdW1uOlcsb2Zmc2V0Omp9PXI7cmV0dXJue19idWZmZXJJbmRleDpQLF9pbmRleDpBLGxpbmU6Rixjb2x1bW46VyxvZmZzZXQ6an19cyhnLCJub3ciKTtmdW5jdGlvbiB5KFApe2lbUC5saW5lXT1QLmNvbHVtbixTKCl9cyh5LCJkZWZpbmVTa2lwIik7ZnVuY3Rpb24gaygpe2xldCBQO2Zvcig7ci5faW5kZXg8bi5sZW5ndGg7KXtsZXQgQT1uW3IuX2luZGV4XTtpZih0eXBlb2YgQT09InN0cmluZyIpZm9yKFA9ci5faW5kZXgsci5fYnVmZmVySW5kZXg8MCYmKHIuX2J1ZmZlckluZGV4PTApO3IuX2luZGV4PT09UCYmci5fYnVmZmVySW5kZXg8QS5sZW5ndGg7KUMoQS5jaGFyQ29kZUF0KHIuX2J1ZmZlckluZGV4KSk7ZWxzZSBDKEEpfX1zKGssIm1haW4iKTtmdW5jdGlvbiBDKFApe2Q9dm9pZCAwLG09UCx1PXUoUCl9cyhDLCJnbyIpO2Z1bmN0aW9uIE4oUCl7SmUoUCk/KHIubGluZSsrLHIuY29sdW1uPTEsci5vZmZzZXQrPVA9PT0tMz8yOjEsUygpKTpQIT09LTEmJihyLmNvbHVtbisrLHIub2Zmc2V0KyspLHIuX2J1ZmZlckluZGV4PDA/ci5faW5kZXgrKzooci5fYnVmZmVySW5kZXgrKyxyLl9idWZmZXJJbmRleD09PW5bci5faW5kZXhdLmxlbmd0aCYmKHIuX2J1ZmZlckluZGV4PS0xLHIuX2luZGV4KyspKSxwLnByZXZpb3VzPVAsZD0hMH1zKE4sImNvbnN1bWUiKTtmdW5jdGlvbiBfKFAsQSl7bGV0IEY9QXx8e307cmV0dXJuIEYudHlwZT1QLEYuc3RhcnQ9ZygpLHAuZXZlbnRzLnB1c2goWyJlbnRlciIsRixwXSksbC5wdXNoKEYpLEZ9cyhfLCJlbnRlciIpO2Z1bmN0aW9uIHooUCl7bGV0IEE9bC5wb3AoKTtyZXR1cm4gQS5lbmQ9ZygpLHAuZXZlbnRzLnB1c2goWyJleGl0IixBLHBdKSxBfXMoeiwiZXhpdCIpO2Z1bmN0aW9uIE8oUCxBKXtCKFAsQS5mcm9tKX1zKE8sIm9uc3VjY2Vzc2Z1bGNvbnN0cnVjdCIpO2Z1bmN0aW9uIFQoUCxBKXtBLnJlc3RvcmUoKX1zKFQsIm9uc3VjY2Vzc2Z1bGNoZWNrIik7ZnVuY3Rpb24gRShQLEEpe3JldHVybiBGO2Z1bmN0aW9uIEYoVyxqLEcpe2xldCBoZSxSLFUsbWU7cmV0dXJuIEFycmF5LmlzQXJyYXkoVyk/cShXKToidG9rZW5pemUiaW4gVz9xKFtXXSk6SShXKTtmdW5jdGlvbiBJKFgpe3JldHVybiBKO2Z1bmN0aW9uIEooWil7bGV0IGdlPVohPT1udWxsJiZYW1pdLGFlPVohPT1udWxsJiZYLm51bGwscmU9Wy4uLkFycmF5LmlzQXJyYXkoZ2UpP2dlOmdlP1tnZV06W10sLi4uQXJyYXkuaXNBcnJheShhZSk/YWU6YWU/W2FlXTpbXV07cmV0dXJuIHEocmUpKFopfX1mdW5jdGlvbiBxKFgpe3JldHVybiBoZT1YLFI9MCxYLmxlbmd0aD09PTA/RzpjZShYW1JdKX1mdW5jdGlvbiBjZShYKXtyZXR1cm4gSjtmdW5jdGlvbiBKKFope3JldHVybiBtZT1NKCksVT1YLFgucGFydGlhbHx8KHAuY3VycmVudENvbnN0cnVjdD1YKSxYLm5hbWUmJnAucGFyc2VyLmNvbnN0cnVjdHMuZGlzYWJsZS5udWxsLmluY2x1ZGVzKFgubmFtZSk/WShaKTpYLnRva2VuaXplLmNhbGwoQT9PYmplY3QuYXNzaWduKE9iamVjdC5jcmVhdGUocCksQSk6cCxjLHVlLFkpKFopfX1mdW5jdGlvbiB1ZShYKXtyZXR1cm4gZD0hMCxQKFUsbWUpLGp9ZnVuY3Rpb24gWShYKXtyZXR1cm4gZD0hMCxtZS5yZXN0b3JlKCksKytSPGhlLmxlbmd0aD9jZShoZVtSXSk6R319fXMoRSwiY29uc3RydWN0RmFjdG9yeSIpO2Z1bmN0aW9uIEIoUCxBKXtQLnJlc29sdmVBbGwmJiFvLmluY2x1ZGVzKFApJiZvLnB1c2goUCksUC5yZXNvbHZlJiZVcihwLmV2ZW50cyxBLHAuZXZlbnRzLmxlbmd0aC1BLFAucmVzb2x2ZShwLmV2ZW50cy5zbGljZShBKSxwKSksUC5yZXNvbHZlVG8mJihwLmV2ZW50cz1QLnJlc29sdmVUbyhwLmV2ZW50cyxwKSl9cyhCLCJhZGRSZXN1bHQiKTtmdW5jdGlvbiBNKCl7bGV0IFA9ZygpLEE9cC5wcmV2aW91cyxGPXAuY3VycmVudENvbnN0cnVjdCxXPXAuZXZlbnRzLmxlbmd0aCxqPUFycmF5LmZyb20obCk7cmV0dXJue2Zyb206VyxyZXN0b3JlOkd9O2Z1bmN0aW9uIEcoKXtyPVAscC5wcmV2aW91cz1BLHAuY3VycmVudENvbnN0cnVjdD1GLHAuZXZlbnRzLmxlbmd0aD1XLGw9aixTKCl9fXMoTSwic3RvcmUiKTtmdW5jdGlvbiBTKCl7ci5saW5lIGluIGkmJnIuY29sdW1uPDImJihyLmNvbHVtbj1pW3IubGluZV0sci5vZmZzZXQrPWlbci5saW5lXS0xKX1zKFMsImFjY291bnRGb3JQb3RlbnRpYWxTa2lwIil9ZnVuY3Rpb24gbWthKGEsZSl7bGV0IHQ9ZS5zdGFydC5faW5kZXgscj1lLnN0YXJ0Ll9idWZmZXJJbmRleCxpPWUuZW5kLl9pbmRleCxvPWUuZW5kLl9idWZmZXJJbmRleCxuO2lmKHQ9PT1pKW49W2FbdF0uc2xpY2UocixvKV07ZWxzZXtpZihuPWEuc2xpY2UodCxpKSxyPi0xKXtsZXQgbD1uWzBdO3R5cGVvZiBsPT0ic3RyaW5nIj9uWzBdPWwuc2xpY2Uocik6bi5zaGlmdCgpfW8+MCYmbi5wdXNoKGFbaV0uc2xpY2UoMCxvKSl9cmV0dXJuIG59ZnVuY3Rpb24gZ2thKGEsZSl7bGV0IHQ9LTEscj1bXSxpO2Zvcig7Kyt0PGEubGVuZ3RoOyl7bGV0IG89YVt0XSxuO2lmKHR5cGVvZiBvPT0ic3RyaW5nIiluPW87ZWxzZSBzd2l0Y2gobyl7Y2FzZS01OntuPSJcciI7YnJlYWt9Y2FzZS00OntuPWAKYDticmVha31jYXNlLTM6e249YFxyCmA7YnJlYWt9Y2FzZS0yOntuPWU/IiAiOiIJIjticmVha31jYXNlLTE6e2lmKCFlJiZpKWNvbnRpbnVlO249IiAiO2JyZWFrfWRlZmF1bHQ6bj1TdHJpbmcuZnJvbUNoYXJDb2RlKG8pfWk9bz09PS0yLHIucHVzaChuKX1yZXR1cm4gci5qb2luKCIiKX12YXIgRHB0PWYoKCk9PntiYSgpO0EyKCk7R2coKTtzKCRwdCwiY3JlYXRlVG9rZW5pemVyIik7cyhta2EsInNsaWNlQ2h1bmtzIik7cyhna2EsInNlcmlhbGl6ZUNodW5rcyIpfSk7ZnVuY3Rpb24gSmcoYSl7bGV0IHI9e2NvbnN0cnVjdHM6TFEoW1MzZSwuLi4oYXx8e30pLmV4dGVuc2lvbnN8fFtdXSksY29udGVudDppKGJwdCksZGVmaW5lZDpbXSxkb2N1bWVudDppKHlwdCksZmxvdzppKE1wdCksbGF6eTp7fSxzdHJpbmc6aShfcHQpLHRleHQ6aShUcHQpfTtyZXR1cm4gcjtmdW5jdGlvbiBpKG8pe3JldHVybiBuO2Z1bmN0aW9uIG4obCl7cmV0dXJuICRwdChyLG8sbCl9fX12YXIgejNlPWYoKCk9PntEUSgpO3ZwdCgpO3dwdCgpO2twdCgpO2szZSgpO0xwdCgpO0RwdCgpO3MoSmcsInBhcnNlIil9KTtmdW5jdGlvbiBlYihhKXtmb3IoOyFPUShhKTspO3JldHVybiBhfXZhciBDM2U9ZigoKT0+e1o0ZSgpO3MoZWIsInBvc3Rwcm9jZXNzIil9KTtmdW5jdGlvbiB0Yigpe2xldCBhPTEsZT0iIix0PSEwLHI7cmV0dXJuIGk7ZnVuY3Rpb24gaShvLG4sbCl7bGV0IGQ9W10sYyxwLHUsbSx2O2ZvcihvPWUrKHR5cGVvZiBvPT0ic3RyaW5nIj9vLnRvU3RyaW5nKCk6bmV3IFRleHREZWNvZGVyKG58fHZvaWQgMCkuZGVjb2RlKG8pKSx1PTAsZT0iIix0JiYoby5jaGFyQ29kZUF0KDApPT09NjUyNzkmJnUrKyx0PXZvaWQgMCk7dTxvLmxlbmd0aDspe2lmKEFwdC5sYXN0SW5kZXg9dSxjPUFwdC5leGVjKG8pLG09YyYmYy5pbmRleCE9PXZvaWQgMD9jLmluZGV4Om8ubGVuZ3RoLHY9by5jaGFyQ29kZUF0KG0pLCFjKXtlPW8uc2xpY2UodSk7YnJlYWt9aWYodj09PTEwJiZ1PT09bSYmcilkLnB1c2goLTMpLHI9dm9pZCAwO2Vsc2Ugc3dpdGNoKHImJihkLnB1c2goLTUpLHI9dm9pZCAwKSx1PG0mJihkLnB1c2goby5zbGljZSh1LG0pKSxhKz1tLXUpLHYpe2Nhc2UgMDp7ZC5wdXNoKDY1NTMzKSxhKys7YnJlYWt9Y2FzZSA5Ontmb3IocD1NYXRoLmNlaWwoYS80KSo0LGQucHVzaCgtMik7YSsrPHA7KWQucHVzaCgtMSk7YnJlYWt9Y2FzZSAxMDp7ZC5wdXNoKC00KSxhPTE7YnJlYWt9ZGVmYXVsdDpyPSEwLGE9MX11PW0rMX1yZXR1cm4gbCYmKHImJmQucHVzaCgtNSksZSYmZC5wdXNoKGUpLGQucHVzaChudWxsKSksZH19dmFyIEFwdCxfM2U9ZigoKT0+e0FwdD0vW1wwXHRcblxyXS9nO3ModGIsInByZXByb2Nlc3MiKX0pO2Z1bmN0aW9uIHVacihhLGUsdCl7cmV0dXJuIHR5cGVvZiBlIT0ic3RyaW5nIiYmKHQ9ZSxlPXZvaWQgMCksdzNlKHQpKGViKEpnKHQpLmRvY3VtZW50KCkud3JpdGUodGIoKShhLGUsITApKSkpfXZhciBFcHQ9ZigoKT0+e00zZSgpO3ozZSgpO0MzZSgpO18zZSgpO00zZSgpO3ozZSgpO0MzZSgpO18zZSgpO3ModVpyLCJtaWNyb21hcmsiKX0pO2Z1bmN0aW9uIFQzZShhLGUsdCl7cmV0dXJuIGUmJnR5cGVvZiBlPT0ib2JqZWN0IiYmKHQ9ZSxlPXZvaWQgMCksYmthKHQpKGViKEpnKHQpLmRvY3VtZW50KCkud3JpdGUodGIoKShhLGUsITApKSkpfWZ1bmN0aW9uIGJrYShhKXtsZXQgZT17dHJhbnNmb3JtczpbXSxjYW5Db250YWluRW9sczpbImVtcGhhc2lzIiwiZnJhZ21lbnQiLCJoZWFkaW5nIiwicGFyYWdyYXBoIiwic3Ryb25nIl0sZW50ZXI6e2F1dG9saW5rOm8odGUpLGF1dG9saW5rUHJvdG9jb2w6RSxhdXRvbGlua0VtYWlsOkUsYXR4SGVhZGluZzpvKFYpLGJsb2NrUXVvdGU6byhaKSxjaGFyYWN0ZXJFc2NhcGU6RSxjaGFyYWN0ZXJSZWZlcmVuY2U6RSxjb2RlRmVuY2VkOm8oZ2UpLGNvZGVGZW5jZWRGZW5jZUluZm86bixjb2RlRmVuY2VkRmVuY2VNZXRhOm4sY29kZUluZGVudGVkOm8oZ2UsbiksY29kZVRleHQ6byhhZSxuKSxjb2RlVGV4dERhdGE6RSxkYXRhOkUsY29kZUZsb3dWYWx1ZTpFLGRlZmluaXRpb246byhyZSksZGVmaW5pdGlvbkRlc3RpbmF0aW9uU3RyaW5nOm4sZGVmaW5pdGlvbkxhYmVsU3RyaW5nOm4sZGVmaW5pdGlvblRpdGxlU3RyaW5nOm4sZW1waGFzaXM6byh5ZSksaGFyZEJyZWFrRXNjYXBlOm8oSCksaGFyZEJyZWFrVHJhaWxpbmc6byhIKSxodG1sRmxvdzpvKG9lLG4pLGh0bWxGbG93RGF0YTpFLGh0bWxUZXh0Om8ob2UsbiksaHRtbFRleHREYXRhOkUsaW1hZ2U6byhzZSksbGFiZWw6bixsaW5rOm8odGUpLGxpc3RJdGVtOm8oT2UpLGxpc3RJdGVtVmFsdWU6bSxsaXN0T3JkZXJlZDpvKHplLHUpLGxpc3RVbm9yZGVyZWQ6byh6ZSkscGFyYWdyYXBoOm8ocWUpLHJlZmVyZW5jZTpJLHJlZmVyZW5jZVN0cmluZzpuLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6bixyZXNvdXJjZVRpdGxlU3RyaW5nOm4sc2V0ZXh0SGVhZGluZzpvKFYpLHN0cm9uZzpvKGN0KSx0aGVtYXRpY0JyZWFrOm8oQ2UpfSxleGl0OnthdHhIZWFkaW5nOmQoKSxhdHhIZWFkaW5nU2VxdWVuY2U6XyxhdXRvbGluazpkKCksYXV0b2xpbmtFbWFpbDpKLGF1dG9saW5rUHJvdG9jb2w6WCxibG9ja1F1b3RlOmQoKSxjaGFyYWN0ZXJFc2NhcGVWYWx1ZTpCLGNoYXJhY3RlclJlZmVyZW5jZU1hcmtlckhleGFkZWNpbWFsOmNlLGNoYXJhY3RlclJlZmVyZW5jZU1hcmtlck51bWVyaWM6Y2UsY2hhcmFjdGVyUmVmZXJlbmNlVmFsdWU6dWUsY2hhcmFjdGVyUmVmZXJlbmNlOlksY29kZUZlbmNlZDpkKGcpLGNvZGVGZW5jZWRGZW5jZTpiLGNvZGVGZW5jZWRGZW5jZUluZm86dixjb2RlRmVuY2VkRmVuY2VNZXRhOngsY29kZUZsb3dWYWx1ZTpCLGNvZGVJbmRlbnRlZDpkKHkpLGNvZGVUZXh0OmQoRiksY29kZVRleHREYXRhOkIsZGF0YTpCLGRlZmluaXRpb246ZCgpLGRlZmluaXRpb25EZXN0aW5hdGlvblN0cmluZzpOLGRlZmluaXRpb25MYWJlbFN0cmluZzprLGRlZmluaXRpb25UaXRsZVN0cmluZzpDLGVtcGhhc2lzOmQoKSxoYXJkQnJlYWtFc2NhcGU6ZChTKSxoYXJkQnJlYWtUcmFpbGluZzpkKFMpLGh0bWxGbG93OmQoUCksaHRtbEZsb3dEYXRhOkIsaHRtbFRleHQ6ZChBKSxodG1sVGV4dERhdGE6QixpbWFnZTpkKGopLGxhYmVsOmhlLGxhYmVsVGV4dDpHLGxpbmVFbmRpbmc6TSxsaW5rOmQoVyksbGlzdEl0ZW06ZCgpLGxpc3RPcmRlcmVkOmQoKSxsaXN0VW5vcmRlcmVkOmQoKSxwYXJhZ3JhcGg6ZCgpLHJlZmVyZW5jZVN0cmluZzpxLHJlc291cmNlRGVzdGluYXRpb25TdHJpbmc6UixyZXNvdXJjZVRpdGxlU3RyaW5nOlUscmVzb3VyY2U6bWUsc2V0ZXh0SGVhZGluZzpkKFQpLHNldGV4dEhlYWRpbmdMaW5lU2VxdWVuY2U6TyxzZXRleHRIZWFkaW5nVGV4dDp6LHN0cm9uZzpkKCksdGhlbWF0aWNCcmVhazpkKCl9fTtJcHQoZSwoYXx8e30pLm1kYXN0RXh0ZW5zaW9uc3x8W10pO2xldCB0PXt9O3JldHVybiByO2Z1bmN0aW9uIHIoTWUpe2xldCBkZT17dHlwZToicm9vdCIsY2hpbGRyZW46W119LHZlPXtzdGFjazpbZGVdLHRva2VuU3RhY2s6W10sY29uZmlnOmUsZW50ZXI6bCxleGl0OmMsYnVmZmVyOm4scmVzdW1lOnAsZGF0YTp0fSxBZT1bXSxLZT0tMTtmb3IoOysrS2U8TWUubGVuZ3RoOylpZihNZVtLZV1bMV0udHlwZT09PSJsaXN0T3JkZXJlZCJ8fE1lW0tlXVsxXS50eXBlPT09Imxpc3RVbm9yZGVyZWQiKWlmKE1lW0tlXVswXT09PSJlbnRlciIpQWUucHVzaChLZSk7ZWxzZXtsZXQgbnQ9QWUucG9wKCk7S2U9aShNZSxudCxLZSl9Zm9yKEtlPS0xOysrS2U8TWUubGVuZ3RoOyl7bGV0IG50PWVbTWVbS2VdWzBdXTtQcHQuY2FsbChudCxNZVtLZV1bMV0udHlwZSkmJm50W01lW0tlXVsxXS50eXBlXS5jYWxsKE9iamVjdC5hc3NpZ24oe3NsaWNlU2VyaWFsaXplOk1lW0tlXVsyXS5zbGljZVNlcmlhbGl6ZX0sdmUpLE1lW0tlXVsxXSl9aWYodmUudG9rZW5TdGFjay5sZW5ndGg+MCl7bGV0IG50PXZlLnRva2VuU3RhY2tbdmUudG9rZW5TdGFjay5sZW5ndGgtMV07KG50WzFdfHxOcHQpLmNhbGwodmUsdm9pZCAwLG50WzBdKX1mb3IoZGUucG9zaXRpb249e3N0YXJ0OlUwKE1lLmxlbmd0aD4wP01lWzBdWzFdLnN0YXJ0OntsaW5lOjEsY29sdW1uOjEsb2Zmc2V0OjB9KSxlbmQ6VTAoTWUubGVuZ3RoPjA/TWVbTWUubGVuZ3RoLTJdWzFdLmVuZDp7bGluZToxLGNvbHVtbjoxLG9mZnNldDowfSl9LEtlPS0xOysrS2U8ZS50cmFuc2Zvcm1zLmxlbmd0aDspZGU9ZS50cmFuc2Zvcm1zW0tlXShkZSl8fGRlO3JldHVybiBkZX1mdW5jdGlvbiBpKE1lLGRlLHZlKXtsZXQgQWU9ZGUtMSxLZT0tMSxudD0hMSxTdCxUZSx3ZSxSZTtmb3IoOysrQWU8PXZlOyl7bGV0IGZlPU1lW0FlXTtzd2l0Y2goZmVbMV0udHlwZSl7Y2FzZSJsaXN0VW5vcmRlcmVkIjpjYXNlImxpc3RPcmRlcmVkIjpjYXNlImJsb2NrUXVvdGUiOntmZVswXT09PSJlbnRlciI/S2UrKzpLZS0tLFJlPXZvaWQgMDticmVha31jYXNlImxpbmVFbmRpbmdCbGFuayI6e2ZlWzBdPT09ImVudGVyIiYmKFN0JiYhUmUmJiFLZSYmIXdlJiYod2U9QWUpLFJlPXZvaWQgMCk7YnJlYWt9Y2FzZSJsaW5lUHJlZml4IjpjYXNlImxpc3RJdGVtVmFsdWUiOmNhc2UibGlzdEl0ZW1NYXJrZXIiOmNhc2UibGlzdEl0ZW1QcmVmaXgiOmNhc2UibGlzdEl0ZW1QcmVmaXhXaGl0ZXNwYWNlIjpicmVhaztkZWZhdWx0OlJlPXZvaWQgMH1pZighS2UmJmZlWzBdPT09ImVudGVyIiYmZmVbMV0udHlwZT09PSJsaXN0SXRlbVByZWZpeCJ8fEtlPT09LTEmJmZlWzBdPT09ImV4aXQiJiYoZmVbMV0udHlwZT09PSJsaXN0VW5vcmRlcmVkInx8ZmVbMV0udHlwZT09PSJsaXN0T3JkZXJlZCIpKXtpZihTdCl7bGV0IGJlPUFlO2ZvcihUZT12b2lkIDA7YmUtLTspe2xldCBQZT1NZVtiZV07aWYoUGVbMV0udHlwZT09PSJsaW5lRW5kaW5nInx8UGVbMV0udHlwZT09PSJsaW5lRW5kaW5nQmxhbmsiKXtpZihQZVswXT09PSJleGl0Iiljb250aW51ZTtUZSYmKE1lW1RlXVsxXS50eXBlPSJsaW5lRW5kaW5nQmxhbmsiLG50PSEwKSxQZVsxXS50eXBlPSJsaW5lRW5kaW5nIixUZT1iZX1lbHNlIGlmKCEoUGVbMV0udHlwZT09PSJsaW5lUHJlZml4Inx8UGVbMV0udHlwZT09PSJibG9ja1F1b3RlUHJlZml4Inx8UGVbMV0udHlwZT09PSJibG9ja1F1b3RlUHJlZml4V2hpdGVzcGFjZSJ8fFBlWzFdLnR5cGU9PT0iYmxvY2tRdW90ZU1hcmtlciJ8fFBlWzFdLnR5cGU9PT0ibGlzdEl0ZW1JbmRlbnQiKSlicmVha313ZSYmKCFUZXx8d2U8VGUpJiYoU3QuX3NwcmVhZD0hMCksU3QuZW5kPU9iamVjdC5hc3NpZ24oe30sVGU/TWVbVGVdWzFdLnN0YXJ0OmZlWzFdLmVuZCksTWUuc3BsaWNlKFRlfHxBZSwwLFsiZXhpdCIsU3QsZmVbMl1dKSxBZSsrLHZlKyt9aWYoZmVbMV0udHlwZT09PSJsaXN0SXRlbVByZWZpeCIpe2xldCBiZT17dHlwZToibGlzdEl0ZW0iLF9zcHJlYWQ6ITEsc3RhcnQ6T2JqZWN0LmFzc2lnbih7fSxmZVsxXS5zdGFydCksZW5kOnZvaWQgMH07U3Q9YmUsTWUuc3BsaWNlKEFlLDAsWyJlbnRlciIsYmUsZmVbMl1dKSxBZSsrLHZlKyssd2U9dm9pZCAwLFJlPSEwfX19cmV0dXJuIE1lW2RlXVsxXS5fc3ByZWFkPW50LHZlfWZ1bmN0aW9uIG8oTWUsZGUpe3JldHVybiB2ZTtmdW5jdGlvbiB2ZShBZSl7bC5jYWxsKHRoaXMsTWUoQWUpLEFlKSxkZSYmZGUuY2FsbCh0aGlzLEFlKX19ZnVuY3Rpb24gbigpe3RoaXMuc3RhY2sucHVzaCh7dHlwZToiZnJhZ21lbnQiLGNoaWxkcmVuOltdfSl9ZnVuY3Rpb24gbChNZSxkZSx2ZSl7dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXS5jaGlsZHJlbi5wdXNoKE1lKSx0aGlzLnN0YWNrLnB1c2goTWUpLHRoaXMudG9rZW5TdGFjay5wdXNoKFtkZSx2ZXx8dm9pZCAwXSksTWUucG9zaXRpb249e3N0YXJ0OlUwKGRlLnN0YXJ0KSxlbmQ6dm9pZCAwfX1mdW5jdGlvbiBkKE1lKXtyZXR1cm4gZGU7ZnVuY3Rpb24gZGUodmUpe01lJiZNZS5jYWxsKHRoaXMsdmUpLGMuY2FsbCh0aGlzLHZlKX19ZnVuY3Rpb24gYyhNZSxkZSl7bGV0IHZlPXRoaXMuc3RhY2sucG9wKCksQWU9dGhpcy50b2tlblN0YWNrLnBvcCgpO2lmKEFlKUFlWzBdLnR5cGUhPT1NZS50eXBlJiYoZGU/ZGUuY2FsbCh0aGlzLE1lLEFlWzBdKTooQWVbMV18fE5wdCkuY2FsbCh0aGlzLE1lLEFlWzBdKSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBjbG9zZSBgIitNZS50eXBlKyJgICgiK0IwKHtzdGFydDpNZS5zdGFydCxlbmQ6TWUuZW5kfSkrIik6IGl0XHUyMDE5cyBub3Qgb3BlbiIpO3ZlLnBvc2l0aW9uLmVuZD1VMChNZS5lbmQpfWZ1bmN0aW9uIHAoKXtyZXR1cm4gVzModGhpcy5zdGFjay5wb3AoKSl9ZnVuY3Rpb24gdSgpe3RoaXMuZGF0YS5leHBlY3RpbmdGaXJzdExpc3RJdGVtVmFsdWU9ITB9ZnVuY3Rpb24gbShNZSl7aWYodGhpcy5kYXRhLmV4cGVjdGluZ0ZpcnN0TGlzdEl0ZW1WYWx1ZSl7bGV0IGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMl07ZGUuc3RhcnQ9TnVtYmVyLnBhcnNlSW50KHRoaXMuc2xpY2VTZXJpYWxpemUoTWUpLDEwKSx0aGlzLmRhdGEuZXhwZWN0aW5nRmlyc3RMaXN0SXRlbVZhbHVlPXZvaWQgMH19ZnVuY3Rpb24gdigpe2xldCBNZT10aGlzLnJlc3VtZSgpLGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZGUubGFuZz1NZX1mdW5jdGlvbiB4KCl7bGV0IE1lPXRoaXMucmVzdW1lKCksZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS5tZXRhPU1lfWZ1bmN0aW9uIGIoKXt0aGlzLmRhdGEuZmxvd0NvZGVJbnNpZGV8fCh0aGlzLmJ1ZmZlcigpLHRoaXMuZGF0YS5mbG93Q29kZUluc2lkZT0hMCl9ZnVuY3Rpb24gZygpe2xldCBNZT10aGlzLnJlc3VtZSgpLGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZGUudmFsdWU9TWUucmVwbGFjZSgvXihccj9cbnxccil8KFxyP1xufFxyKSQvZywiIiksdGhpcy5kYXRhLmZsb3dDb2RlSW5zaWRlPXZvaWQgMH1mdW5jdGlvbiB5KCl7bGV0IE1lPXRoaXMucmVzdW1lKCksZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS52YWx1ZT1NZS5yZXBsYWNlKC8oXHI/XG58XHIpJC9nLCIiKX1mdW5jdGlvbiBrKE1lKXtsZXQgZGU9dGhpcy5yZXN1bWUoKSx2ZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO3ZlLmxhYmVsPWRlLHZlLmlkZW50aWZpZXI9SXIodGhpcy5zbGljZVNlcmlhbGl6ZShNZSkpLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gQygpe2xldCBNZT10aGlzLnJlc3VtZSgpLGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZGUudGl0bGU9TWV9ZnVuY3Rpb24gTigpe2xldCBNZT10aGlzLnJlc3VtZSgpLGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZGUudXJsPU1lfWZ1bmN0aW9uIF8oTWUpe2xldCBkZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2lmKCFkZS5kZXB0aCl7bGV0IHZlPXRoaXMuc2xpY2VTZXJpYWxpemUoTWUpLmxlbmd0aDtkZS5kZXB0aD12ZX19ZnVuY3Rpb24geigpe3RoaXMuZGF0YS5zZXRleHRIZWFkaW5nU2x1cnBMaW5lRW5kaW5nPSEwfWZ1bmN0aW9uIE8oTWUpe2xldCBkZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2RlLmRlcHRoPXRoaXMuc2xpY2VTZXJpYWxpemUoTWUpLmNvZGVQb2ludEF0KDApPT09NjE/MToyfWZ1bmN0aW9uIFQoKXt0aGlzLmRhdGEuc2V0ZXh0SGVhZGluZ1NsdXJwTGluZUVuZGluZz12b2lkIDB9ZnVuY3Rpb24gRShNZSl7bGV0IHZlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV0uY2hpbGRyZW4sQWU9dmVbdmUubGVuZ3RoLTFdOyghQWV8fEFlLnR5cGUhPT0idGV4dCIpJiYoQWU9JGUoKSxBZS5wb3NpdGlvbj17c3RhcnQ6VTAoTWUuc3RhcnQpLGVuZDp2b2lkIDB9LHZlLnB1c2goQWUpKSx0aGlzLnN0YWNrLnB1c2goQWUpfWZ1bmN0aW9uIEIoTWUpe2xldCBkZT10aGlzLnN0YWNrLnBvcCgpO2RlLnZhbHVlKz10aGlzLnNsaWNlU2VyaWFsaXplKE1lKSxkZS5wb3NpdGlvbi5lbmQ9VTAoTWUuZW5kKX1mdW5jdGlvbiBNKE1lKXtsZXQgZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtpZih0aGlzLmRhdGEuYXRIYXJkQnJlYWspe2xldCB2ZT1kZS5jaGlsZHJlbltkZS5jaGlsZHJlbi5sZW5ndGgtMV07dmUucG9zaXRpb24uZW5kPVUwKE1lLmVuZCksdGhpcy5kYXRhLmF0SGFyZEJyZWFrPXZvaWQgMDtyZXR1cm59IXRoaXMuZGF0YS5zZXRleHRIZWFkaW5nU2x1cnBMaW5lRW5kaW5nJiZlLmNhbkNvbnRhaW5Fb2xzLmluY2x1ZGVzKGRlLnR5cGUpJiYoRS5jYWxsKHRoaXMsTWUpLEIuY2FsbCh0aGlzLE1lKSl9ZnVuY3Rpb24gUygpe3RoaXMuZGF0YS5hdEhhcmRCcmVhaz0hMH1mdW5jdGlvbiBQKCl7bGV0IE1lPXRoaXMucmVzdW1lKCksZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS52YWx1ZT1NZX1mdW5jdGlvbiBBKCl7bGV0IE1lPXRoaXMucmVzdW1lKCksZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS52YWx1ZT1NZX1mdW5jdGlvbiBGKCl7bGV0IE1lPXRoaXMucmVzdW1lKCksZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS52YWx1ZT1NZX1mdW5jdGlvbiBXKCl7bGV0IE1lPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07aWYodGhpcy5kYXRhLmluUmVmZXJlbmNlKXtsZXQgZGU9dGhpcy5kYXRhLnJlZmVyZW5jZVR5cGV8fCJzaG9ydGN1dCI7TWUudHlwZSs9IlJlZmVyZW5jZSIsTWUucmVmZXJlbmNlVHlwZT1kZSxkZWxldGUgTWUudXJsLGRlbGV0ZSBNZS50aXRsZX1lbHNlIGRlbGV0ZSBNZS5pZGVudGlmaWVyLGRlbGV0ZSBNZS5sYWJlbDt0aGlzLmRhdGEucmVmZXJlbmNlVHlwZT12b2lkIDB9ZnVuY3Rpb24gaigpe2xldCBNZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2lmKHRoaXMuZGF0YS5pblJlZmVyZW5jZSl7bGV0IGRlPXRoaXMuZGF0YS5yZWZlcmVuY2VUeXBlfHwic2hvcnRjdXQiO01lLnR5cGUrPSJSZWZlcmVuY2UiLE1lLnJlZmVyZW5jZVR5cGU9ZGUsZGVsZXRlIE1lLnVybCxkZWxldGUgTWUudGl0bGV9ZWxzZSBkZWxldGUgTWUuaWRlbnRpZmllcixkZWxldGUgTWUubGFiZWw7dGhpcy5kYXRhLnJlZmVyZW5jZVR5cGU9dm9pZCAwfWZ1bmN0aW9uIEcoTWUpe2xldCBkZT10aGlzLnNsaWNlU2VyaWFsaXplKE1lKSx2ZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTJdO3ZlLmxhYmVsPV9RKGRlKSx2ZS5pZGVudGlmaWVyPUlyKGRlKS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIGhlKCl7bGV0IE1lPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV0sZGU9dGhpcy5yZXN1bWUoKSx2ZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2lmKHRoaXMuZGF0YS5pblJlZmVyZW5jZT0hMCx2ZS50eXBlPT09ImxpbmsiKXtsZXQgQWU9TWUuY2hpbGRyZW47dmUuY2hpbGRyZW49QWV9ZWxzZSB2ZS5hbHQ9ZGV9ZnVuY3Rpb24gUigpe2xldCBNZT10aGlzLnJlc3VtZSgpLGRlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07ZGUudXJsPU1lfWZ1bmN0aW9uIFUoKXtsZXQgTWU9dGhpcy5yZXN1bWUoKSxkZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2RlLnRpdGxlPU1lfWZ1bmN0aW9uIG1lKCl7dGhpcy5kYXRhLmluUmVmZXJlbmNlPXZvaWQgMH1mdW5jdGlvbiBJKCl7dGhpcy5kYXRhLnJlZmVyZW5jZVR5cGU9ImNvbGxhcHNlZCJ9ZnVuY3Rpb24gcShNZSl7bGV0IGRlPXRoaXMucmVzdW1lKCksdmU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTt2ZS5sYWJlbD1kZSx2ZS5pZGVudGlmaWVyPUlyKHRoaXMuc2xpY2VTZXJpYWxpemUoTWUpKS50b0xvd2VyQ2FzZSgpLHRoaXMuZGF0YS5yZWZlcmVuY2VUeXBlPSJmdWxsIn1mdW5jdGlvbiBjZShNZSl7dGhpcy5kYXRhLmNoYXJhY3RlclJlZmVyZW5jZVR5cGU9TWUudHlwZX1mdW5jdGlvbiB1ZShNZSl7bGV0IGRlPXRoaXMuc2xpY2VTZXJpYWxpemUoTWUpLHZlPXRoaXMuZGF0YS5jaGFyYWN0ZXJSZWZlcmVuY2VUeXBlLEFlO3ZlPyhBZT1TOChkZSx2ZT09PSJjaGFyYWN0ZXJSZWZlcmVuY2VNYXJrZXJOdW1lcmljIj8xMDoxNiksdGhpcy5kYXRhLmNoYXJhY3RlclJlZmVyZW5jZVR5cGU9dm9pZCAwKTpBZT1WMChkZSk7bGV0IEtlPXRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV07S2UudmFsdWUrPUFlfWZ1bmN0aW9uIFkoTWUpe2xldCBkZT10aGlzLnN0YWNrLnBvcCgpO2RlLnBvc2l0aW9uLmVuZD1VMChNZS5lbmQpfWZ1bmN0aW9uIFgoTWUpe0IuY2FsbCh0aGlzLE1lKTtsZXQgZGU9dGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aC0xXTtkZS51cmw9dGhpcy5zbGljZVNlcmlhbGl6ZShNZSl9ZnVuY3Rpb24gSihNZSl7Qi5jYWxsKHRoaXMsTWUpO2xldCBkZT10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdO2RlLnVybD0ibWFpbHRvOiIrdGhpcy5zbGljZVNlcmlhbGl6ZShNZSl9ZnVuY3Rpb24gWigpe3JldHVybnt0eXBlOiJibG9ja3F1b3RlIixjaGlsZHJlbjpbXX19ZnVuY3Rpb24gZ2UoKXtyZXR1cm57dHlwZToiY29kZSIsbGFuZzpudWxsLG1ldGE6bnVsbCx2YWx1ZToiIn19ZnVuY3Rpb24gYWUoKXtyZXR1cm57dHlwZToiaW5saW5lQ29kZSIsdmFsdWU6IiJ9fWZ1bmN0aW9uIHJlKCl7cmV0dXJue3R5cGU6ImRlZmluaXRpb24iLGlkZW50aWZpZXI6IiIsbGFiZWw6bnVsbCx0aXRsZTpudWxsLHVybDoiIn19ZnVuY3Rpb24geWUoKXtyZXR1cm57dHlwZToiZW1waGFzaXMiLGNoaWxkcmVuOltdfX1mdW5jdGlvbiBWKCl7cmV0dXJue3R5cGU6ImhlYWRpbmciLGRlcHRoOjAsY2hpbGRyZW46W119fWZ1bmN0aW9uIEgoKXtyZXR1cm57dHlwZToiYnJlYWsifX1mdW5jdGlvbiBvZSgpe3JldHVybnt0eXBlOiJodG1sIix2YWx1ZToiIn19ZnVuY3Rpb24gc2UoKXtyZXR1cm57dHlwZToiaW1hZ2UiLHRpdGxlOm51bGwsdXJsOiIiLGFsdDpudWxsfX1mdW5jdGlvbiB0ZSgpe3JldHVybnt0eXBlOiJsaW5rIix0aXRsZTpudWxsLHVybDoiIixjaGlsZHJlbjpbXX19ZnVuY3Rpb24gemUoTWUpe3JldHVybnt0eXBlOiJsaXN0IixvcmRlcmVkOk1lLnR5cGU9PT0ibGlzdE9yZGVyZWQiLHN0YXJ0Om51bGwsc3ByZWFkOk1lLl9zcHJlYWQsY2hpbGRyZW46W119fWZ1bmN0aW9uIE9lKE1lKXtyZXR1cm57dHlwZToibGlzdEl0ZW0iLHNwcmVhZDpNZS5fc3ByZWFkLGNoZWNrZWQ6bnVsbCxjaGlsZHJlbjpbXX19ZnVuY3Rpb24gcWUoKXtyZXR1cm57dHlwZToicGFyYWdyYXBoIixjaGlsZHJlbjpbXX19ZnVuY3Rpb24gY3QoKXtyZXR1cm57dHlwZToic3Ryb25nIixjaGlsZHJlbjpbXX19ZnVuY3Rpb24gJGUoKXtyZXR1cm57dHlwZToidGV4dCIsdmFsdWU6IiJ9fWZ1bmN0aW9uIENlKCl7cmV0dXJue3R5cGU6InRoZW1hdGljQnJlYWsifX19ZnVuY3Rpb24gVTAoYSl7cmV0dXJue2xpbmU6YS5saW5lLGNvbHVtbjphLmNvbHVtbixvZmZzZXQ6YS5vZmZzZXR9fWZ1bmN0aW9uIElwdChhLGUpe2xldCB0PS0xO2Zvcig7Kyt0PGUubGVuZ3RoOyl7bGV0IHI9ZVt0XTtBcnJheS5pc0FycmF5KHIpP0lwdChhLHIpOnZrYShhLHIpfX1mdW5jdGlvbiB2a2EoYSxlKXtsZXQgdDtmb3IodCBpbiBlKWlmKFBwdC5jYWxsKGUsdCkpc3dpdGNoKHQpe2Nhc2UiY2FuQ29udGFpbkVvbHMiOntsZXQgcj1lW3RdO3ImJmFbdF0ucHVzaCguLi5yKTticmVha31jYXNlInRyYW5zZm9ybXMiOntsZXQgcj1lW3RdO3ImJmFbdF0ucHVzaCguLi5yKTticmVha31jYXNlImVudGVyIjpjYXNlImV4aXQiOntsZXQgcj1lW3RdO3ImJk9iamVjdC5hc3NpZ24oYVt0XSxyKTticmVha319fWZ1bmN0aW9uIE5wdChhLGUpe3Rocm93IGE/bmV3IEVycm9yKCJDYW5ub3QgY2xvc2UgYCIrYS50eXBlKyJgICgiK0IwKHtzdGFydDphLnN0YXJ0LGVuZDphLmVuZH0pKyIpOiBhIGRpZmZlcmVudCB0b2tlbiAoYCIrZS50eXBlKyJgLCAiK0IwKHtzdGFydDplLnN0YXJ0LGVuZDplLmVuZH0pKyIpIGlzIG9wZW4iKTpuZXcgRXJyb3IoIkNhbm5vdCBjbG9zZSBkb2N1bWVudCwgYSB0b2tlbiAoYCIrZS50eXBlKyJgLCAiK0IwKHtzdGFydDplLnN0YXJ0LGVuZDplLmVuZH0pKyIpIGlzIHN0aWxsIG9wZW4iKX12YXIgUHB0LFJwdD1mKCgpPT57TVEoKTtFcHQoKTtDUSgpO0Q0ZSgpO3EwKCk7V2coKTtVMGUoKTtQcHQ9e30uaGFzT3duUHJvcGVydHk7cyhUM2UsImZyb21NYXJrZG93biIpO3MoYmthLCJjb21waWxlciIpO3MoVTAsInBvaW50Iik7cyhJcHQsImNvbmZpZ3VyZSIpO3ModmthLCJleHRlbnNpb24iKTtzKE5wdCwiZGVmYXVsdE9uRXJyb3IiKX0pO3ZhciBPcHQ9ZigoKT0+e1JwdCgpfSk7ZnVuY3Rpb24gXzgoYSl7bGV0IGU9dGhpcztlLnBhcnNlcj10O2Z1bmN0aW9uIHQocil7cmV0dXJuIFQzZShyLHsuLi5lLmRhdGEoInNldHRpbmdzIiksLi4uYSxleHRlbnNpb25zOmUuZGF0YSgibWljcm9tYXJrRXh0ZW5zaW9ucyIpfHxbXSxtZGFzdEV4dGVuc2lvbnM6ZS5kYXRhKCJmcm9tTWFya2Rvd25FeHRlbnNpb25zIil8fFtdfSl9cyh0LCJwYXJzZXIiKX12YXIgRnB0PWYoKCk9PntPcHQoKTtzKF84LCJyZW1hcmtQYXJzZSIpfSk7dmFyIEJwdD1mKCgpPT57RnB0KCl9KTt2YXIgSHB0PWJvKChQWnIsTDNlKT0+eyhmdW5jdGlvbigpe3ZhciBhO3R5cGVvZiBMM2U8InUiP2E9TDNlLmV4cG9ydHM9cjphPShmdW5jdGlvbigpe3JldHVybiB0aGlzfHwoMCxldmFsKSgidGhpcyIpfSkoKSxhLmZvcm1hdD1yLGEudnNwcmludGY9dCx0eXBlb2YgY29uc29sZTwidSImJnR5cGVvZiBjb25zb2xlLmxvZz09ImZ1bmN0aW9uIiYmKGEucHJpbnRmPWUpO2Z1bmN0aW9uIGUoKXtjb25zb2xlLmxvZyhyLmFwcGx5KG51bGwsYXJndW1lbnRzKSl9cyhlLCJwcmludGYiKTtmdW5jdGlvbiB0KGksbyl7cmV0dXJuIHIuYXBwbHkobnVsbCxbaV0uY29uY2F0KG8pKX1zKHQsInZzcHJpbnRmIik7ZnVuY3Rpb24gcihpKXtmb3IodmFyIG89MSxuPVtdLnNsaWNlLmNhbGwoYXJndW1lbnRzKSxsPTAsZD1pLmxlbmd0aCxjPSIiLHAsdT0hMSxtLHYseD0hMSxiLGc9cyhmdW5jdGlvbigpe3JldHVybiBuW28rK119LCJuZXh0QXJnIikseT1zKGZ1bmN0aW9uKCl7Zm9yKHZhciBrPSIiOy9cZC8udGVzdChpW2xdKTspays9aVtsKytdLHA9aVtsXTtyZXR1cm4gay5sZW5ndGg+MD9wYXJzZUludChrKTpudWxsfSwic2x1cnBOdW1iZXIiKTtsPGQ7KytsKWlmKHA9aVtsXSx1KXN3aXRjaCh1PSExLHA9PSIuIj8oeD0hMSxwPWlbKytsXSk6cD09IjAiJiZpW2wrMV09PSIuIj8oeD0hMCxsKz0yLHA9aVtsXSk6eD0hMCxiPXkoKSxwKXtjYXNlImIiOmMrPXBhcnNlSW50KGcoKSwxMCkudG9TdHJpbmcoMik7YnJlYWs7Y2FzZSJjIjptPWcoKSx0eXBlb2YgbT09InN0cmluZyJ8fG0gaW5zdGFuY2VvZiBTdHJpbmc/Yys9bTpjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KG0sMTApKTticmVhaztjYXNlImQiOmMrPXBhcnNlSW50KGcoKSwxMCk7YnJlYWs7Y2FzZSJmIjp2PVN0cmluZyhwYXJzZUZsb2F0KGcoKSkudG9GaXhlZChifHw2KSksYys9eD92OnYucmVwbGFjZSgvXjAvLCIiKTticmVhaztjYXNlImoiOmMrPUpTT04uc3RyaW5naWZ5KGcoKSk7YnJlYWs7Y2FzZSJvIjpjKz0iMCIrcGFyc2VJbnQoZygpLDEwKS50b1N0cmluZyg4KTticmVhaztjYXNlInMiOmMrPWcoKTticmVhaztjYXNlIngiOmMrPSIweCIrcGFyc2VJbnQoZygpLDEwKS50b1N0cmluZygxNik7YnJlYWs7Y2FzZSJYIjpjKz0iMHgiK3BhcnNlSW50KGcoKSwxMCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7YnJlYWs7ZGVmYXVsdDpjKz1wO2JyZWFrfWVsc2UgcD09PSIlIj91PSEwOmMrPXA7cmV0dXJuIGN9cyhyLCJmb3JtYXQiKX0pKCl9KTtmdW5jdGlvbiBKMyhhKXtyZXR1cm4gZS5kaXNwbGF5TmFtZT1hLmRpc3BsYXlOYW1lfHxhLm5hbWUsZTtmdW5jdGlvbiBlKHQsLi4ucil7bGV0IGk9dCYmKDAscXB0LmRlZmF1bHQpKHQsLi4ucik7cmV0dXJuIG5ldyBhKGkpfXMoZSwiRm9ybWF0dGVkRXJyb3IiKX12YXIgcXB0LGFiLFZwdD1mKCgpPT57cXB0PUZpKEhwdCgpLDEpLGFiPU9iamVjdC5hc3NpZ24oSjMoRXJyb3IpLHtldmFsOkozKEV2YWxFcnJvcikscmFuZ2U6SjMoUmFuZ2VFcnJvcikscmVmZXJlbmNlOkozKFJlZmVyZW5jZUVycm9yKSxzeW50YXg6SjMoU3ludGF4RXJyb3IpLHR5cGU6SjMoVHlwZUVycm9yKSx1cmk6SjMoVVJJRXJyb3IpfSk7cyhKMywiY3JlYXRlIil9KTtmdW5jdGlvbiBUOChhKXtsZXQgZT1bXSx0PS0xLHI9QXJyYXkuaXNBcnJheShhKT9hOmE/W2FdOlsieWFtbCJdO2Zvcig7Kyt0PHIubGVuZ3RoOyllW3RdPXhrYShyW3RdKTtyZXR1cm4gZX1mdW5jdGlvbiB4a2EoYSl7bGV0IGU9YTtpZih0eXBlb2YgZT09InN0cmluZyIpe2lmKCFHUS5jYWxsKGpwdCxlKSl0aHJvdyBhYigiTWlzc2luZyBtYXR0ZXIgZGVmaW5pdGlvbiBmb3IgYCVzYCIsZSk7ZT17dHlwZTplLG1hcmtlcjpqcHRbZV19fWVsc2UgaWYodHlwZW9mIGUhPSJvYmplY3QiKXRocm93IGFiKCJFeHBlY3RlZCBtYXR0ZXIgdG8gYmUgYW4gb2JqZWN0LCBub3QgYCVqYCIsZSk7aWYoIUdRLmNhbGwoZSwidHlwZSIpKXRocm93IGFiKCJNaXNzaW5nIGB0eXBlYCBpbiBtYXR0ZXIgYCVqYCIsZSk7aWYoIUdRLmNhbGwoZSwiZmVuY2UiKSYmIUdRLmNhbGwoZSwibWFya2VyIikpdGhyb3cgYWIoIk1pc3NpbmcgYG1hcmtlcmAgb3IgYGZlbmNlYCBpbiBtYXR0ZXIgYCVqYCIsZSk7cmV0dXJuIGV9dmFyIEdRLGpwdCwkM2U9ZigoKT0+e1ZwdCgpO0dRPXt9Lmhhc093blByb3BlcnR5LGpwdD17eWFtbDoiLSIsdG9tbDoiKyJ9O3MoVDgsInRvTWF0dGVycyIpO3MoeGthLCJtYXR0ZXIiKX0pO2Z1bmN0aW9uIEEzZShhKXtsZXQgZT1UOChhKSx0PXt9LHI9LTE7Zm9yKDsrK3I8ZS5sZW5ndGg7KXtsZXQgaT1lW3JdLG89RDNlKGksIm9wZW4iKS5jaGFyQ29kZUF0KDApLG49eWthKGkpLGw9dFtvXTtBcnJheS5pc0FycmF5KGwpP2wucHVzaChuKTp0W29dPVtuXX1yZXR1cm57Zmxvdzp0fX1mdW5jdGlvbiB5a2EoYSl7bGV0IGU9YS5hbnl3aGVyZSx0PWEudHlwZSxyPXQrIkZlbmNlIixpPXIrIlNlcXVlbmNlIixvPXQrIlZhbHVlIixuPXt0b2tlbml6ZTpwLHBhcnRpYWw6ITB9LGwsZD0wO3JldHVybnt0b2tlbml6ZTpjLGNvbmNyZXRlOiEwfTtmdW5jdGlvbiBjKHUsbSx2KXtsZXQgeD10aGlzO3JldHVybiBiO2Z1bmN0aW9uIGIoTyl7bGV0IFQ9eC5ub3coKTtyZXR1cm4gVC5jb2x1bW49PT0xJiYoVC5saW5lPT09MXx8ZSkmJihsPUQzZShhLCJvcGVuIiksZD0wLE89PT1sLmNoYXJDb2RlQXQoZCkpPyh1LmVudGVyKHQpLHUuZW50ZXIociksdS5lbnRlcihpKSxnKE8pKTp2KE8pfWZ1bmN0aW9uIGcoTyl7cmV0dXJuIGQ9PT1sLmxlbmd0aD8odS5leGl0KGkpLHp0KE8pPyh1LmVudGVyKCJ3aGl0ZXNwYWNlIikseShPKSk6ayhPKSk6Tz09PWwuY2hhckNvZGVBdChkKyspPyh1LmNvbnN1bWUoTyksZyk6dihPKX1mdW5jdGlvbiB5KE8pe3JldHVybiB6dChPKT8odS5jb25zdW1lKE8pLHkpOih1LmV4aXQoIndoaXRlc3BhY2UiKSxrKE8pKX1mdW5jdGlvbiBrKE8pe3JldHVybiBKZShPKT8odS5leGl0KHIpLHUuZW50ZXIoImxpbmVFbmRpbmciKSx1LmNvbnN1bWUoTyksdS5leGl0KCJsaW5lRW5kaW5nIiksbD1EM2UoYSwiY2xvc2UiKSxkPTAsdS5hdHRlbXB0KG4seixDKSk6dihPKX1mdW5jdGlvbiBDKE8pe3JldHVybiBPPT09bnVsbHx8SmUoTyk/XyhPKToodS5lbnRlcihvKSxOKE8pKX1mdW5jdGlvbiBOKE8pe3JldHVybiBPPT09bnVsbHx8SmUoTyk/KHUuZXhpdChvKSxfKE8pKToodS5jb25zdW1lKE8pLE4pfWZ1bmN0aW9uIF8oTyl7cmV0dXJuIE89PT1udWxsP3YoTyk6KHUuZW50ZXIoImxpbmVFbmRpbmciKSx1LmNvbnN1bWUoTyksdS5leGl0KCJsaW5lRW5kaW5nIiksdS5hdHRlbXB0KG4seixDKSl9ZnVuY3Rpb24geihPKXtyZXR1cm4gdS5leGl0KHQpLG0oTyl9fWZ1bmN0aW9uIHAodSxtLHYpe2xldCB4PTA7cmV0dXJuIGI7ZnVuY3Rpb24gYihDKXtyZXR1cm4gQz09PWwuY2hhckNvZGVBdCh4KT8odS5lbnRlcihyKSx1LmVudGVyKGkpLGcoQykpOnYoQyl9ZnVuY3Rpb24gZyhDKXtyZXR1cm4geD09PWwubGVuZ3RoPyh1LmV4aXQoaSksenQoQyk/KHUuZW50ZXIoIndoaXRlc3BhY2UiKSx5KEMpKTprKEMpKTpDPT09bC5jaGFyQ29kZUF0KHgrKyk/KHUuY29uc3VtZShDKSxnKTp2KEMpfWZ1bmN0aW9uIHkoQyl7cmV0dXJuIHp0KEMpPyh1LmNvbnN1bWUoQykseSk6KHUuZXhpdCgid2hpdGVzcGFjZSIpLGsoQykpfWZ1bmN0aW9uIGsoQyl7cmV0dXJuIEM9PT1udWxsfHxKZShDKT8odS5leGl0KHIpLG0oQykpOnYoQyl9fX1mdW5jdGlvbiBEM2UoYSxlKXtyZXR1cm4gYS5tYXJrZXI/VXB0KGEubWFya2VyLGUpLnJlcGVhdCgzKTpVcHQoYS5mZW5jZSxlKX1mdW5jdGlvbiBVcHQoYSxlKXtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmciP2E6YVtlXX12YXIgV3B0PWYoKCk9PntiYSgpOyQzZSgpO3MoQTNlLCJmcm9udG1hdHRlciIpO3MoeWthLCJjcmVhdGVDb25zdHJ1Y3QiKTtzKEQzZSwiZmVuY2UiKTtzKFVwdCwicGljayIpfSk7dmFyIEdwdD1mKCgpPT57fSk7dmFyIEUzZT1mKCgpPT57V3B0KCk7R3B0KCk7JDNlKCl9KTtmdW5jdGlvbiBJM2UoYSl7bGV0IGU9VDgoYSksdD17fSxyPXt9LGk9LTE7Zm9yKDsrK2k8ZS5sZW5ndGg7KXtsZXQgbz1lW2ldO3Rbby50eXBlXT13a2EobykscltvLnR5cGVdPU1rYSxyW28udHlwZSsiVmFsdWUiXT1ra2F9cmV0dXJue2VudGVyOnQsZXhpdDpyfX1mdW5jdGlvbiB3a2EoYSl7cmV0dXJuIGU7ZnVuY3Rpb24gZSh0KXt0aGlzLmVudGVyKHt0eXBlOmEudHlwZSx2YWx1ZToiIn0sdCksdGhpcy5idWZmZXIoKX19ZnVuY3Rpb24gTWthKGEpe2xldCBlPXRoaXMucmVzdW1lKCksdD10aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoLTFdOyJ2YWx1ZSJpbiB0LHRoaXMuZXhpdChhKSx0LnZhbHVlPWUucmVwbGFjZSgvXihccj9cbnxccil8KFxyP1xufFxyKSQvZywiIil9ZnVuY3Rpb24ga2thKGEpe3RoaXMuY29uZmlnLmVudGVyLmRhdGEuY2FsbCh0aGlzLGEpLHRoaXMuY29uZmlnLmV4aXQuZGF0YS5jYWxsKHRoaXMsYSl9ZnVuY3Rpb24gTjNlKGEpe2xldCBlPVtdLHQ9e30scj1UOChhKSxpPS0xO2Zvcig7KytpPHIubGVuZ3RoOyl7bGV0IG89cltpXTt0W28udHlwZV09U2thKG8pO2xldCBuPVAzZShvLCJvcGVuIik7ZS5wdXNoKHthdEJyZWFrOiEwLGNoYXJhY3RlcjpuLmNoYXJBdCgwKSxhZnRlcjpmMyhuLmNoYXJBdCgxKSl9KX1yZXR1cm57dW5zYWZlOmUsaGFuZGxlcnM6dH19ZnVuY3Rpb24gU2thKGEpe2xldCBlPVAzZShhLCJvcGVuIiksdD1QM2UoYSwiY2xvc2UiKTtyZXR1cm4gcjtmdW5jdGlvbiByKGkpe3JldHVybiBlKyhpLnZhbHVlP2AKYCtpLnZhbHVlOiIiKStgCmArdH19ZnVuY3Rpb24gUDNlKGEsZSl7cmV0dXJuIGEubWFya2VyP1lwdChhLm1hcmtlcixlKS5yZXBlYXQoMyk6WXB0KGEuZmVuY2UsZSl9ZnVuY3Rpb24gWXB0KGEsZSl7cmV0dXJuIHR5cGVvZiBhPT0ic3RyaW5nIj9hOmFbZV19dmFyIEtwdD1mKCgpPT57RjAoKTtFM2UoKTtVWSgpO3MoSTNlLCJmcm9udG1hdHRlckZyb21NYXJrZG93biIpO3Mod2thLCJvcGVuZXIiKTtzKE1rYSwiY2xvc2UiKTtzKGtrYSwidmFsdWUiKTtzKE4zZSwiZnJvbnRtYXR0ZXJUb01hcmtkb3duIik7cyhTa2EsImhhbmRsZXIiKTtzKFAzZSwiZmVuY2UiKTtzKFlwdCwicGljayIpfSk7dmFyIFpwdD1mKCgpPT57S3B0KCl9KTtmdW5jdGlvbiBMOChhKXtsZXQgZT10aGlzLHQ9YXx8emthLHI9ZS5kYXRhKCksaT1yLm1pY3JvbWFya0V4dGVuc2lvbnN8fChyLm1pY3JvbWFya0V4dGVuc2lvbnM9W10pLG89ci5mcm9tTWFya2Rvd25FeHRlbnNpb25zfHwoci5mcm9tTWFya2Rvd25FeHRlbnNpb25zPVtdKSxuPXIudG9NYXJrZG93bkV4dGVuc2lvbnN8fChyLnRvTWFya2Rvd25FeHRlbnNpb25zPVtdKTtpLnB1c2goQTNlKHQpKSxvLnB1c2goSTNlKHQpKSxuLnB1c2goTjNlKHQpKX12YXIgemthLFhwdD1mKCgpPT57WnB0KCk7RTNlKCk7emthPSJ5YW1sIjtzKEw4LCJyZW1hcmtGcm9udG1hdHRlciIpfSk7dmFyIFFwdD1mKCgpPT57WHB0KCl9KTt2YXIgUjNlPWYoKCk9Pnt9KTt2YXIgQ2thLEpwdCxfa2EsUVEsZWZ0PWYoKCk9PntSM2UoKTtDa2E9dHlwZW9mIHNlbGY9PSJvYmplY3QiP3NlbGY6Z2xvYmFsVGhpcyxKcHQ9cygoYSxlKT0+e3N3aXRjaChhKXtjYXNlIkZ1bmN0aW9uIjpjYXNlIlNoYXJlZFdvcmtlciI6Y2FzZSJXb3JrZXIiOmNhc2UiZXZhbCI6Y2FzZSJzZXRJbnRlcnZhbCI6Y2FzZSJzZXRUaW1lb3V0Ijp0aHJvdyBuZXcgVHlwZUVycm9yKCJ1bmFibGUgdG8gZGVzZXJpYWxpemUgIithKX1yZXR1cm4gbmV3IENrYVthXShlKX0sImd1YXJkIiksX2thPXMoKGEsZSk9PntsZXQgdD1zKChpLG8pPT4oYS5zZXQobyxpKSxpKSwiYXMiKSxyPXMoaT0+e2lmKGEuaGFzKGkpKXJldHVybiBhLmdldChpKTtsZXRbbyxuXT1lW2ldO3N3aXRjaChvKXtjYXNlIDA6Y2FzZS0xOnJldHVybiB0KG4saSk7Y2FzZSAxOntsZXQgbD10KFtdLGkpO2ZvcihsZXQgZCBvZiBuKWwucHVzaChyKGQpKTtyZXR1cm4gbH1jYXNlIDI6e2xldCBsPXQoe30saSk7Zm9yKGxldFtkLGNdb2YgbilsW3IoZCldPXIoYyk7cmV0dXJuIGx9Y2FzZSAzOnJldHVybiB0KG5ldyBEYXRlKG4pLGkpO2Nhc2UgNDp7bGV0e3NvdXJjZTpsLGZsYWdzOmR9PW47cmV0dXJuIHQobmV3IFJlZ0V4cChsLGQpLGkpfWNhc2UgNTp7bGV0IGw9dChuZXcgTWFwLGkpO2ZvcihsZXRbZCxjXW9mIG4pbC5zZXQocihkKSxyKGMpKTtyZXR1cm4gbH1jYXNlIDY6e2xldCBsPXQobmV3IFNldCxpKTtmb3IobGV0IGQgb2YgbilsLmFkZChyKGQpKTtyZXR1cm4gbH1jYXNlIDc6e2xldHtuYW1lOmwsbWVzc2FnZTpkfT1uO3JldHVybiB0KEpwdChsLGQpLGkpfWNhc2UgODpyZXR1cm4gdChCaWdJbnQobiksaSk7Y2FzZSJCaWdJbnQiOnJldHVybiB0KE9iamVjdChCaWdJbnQobikpLGkpO2Nhc2UiQXJyYXlCdWZmZXIiOnJldHVybiB0KG5ldyBVaW50OEFycmF5KG4pLmJ1ZmZlcixuKTtjYXNlIkRhdGFWaWV3Ijp7bGV0e2J1ZmZlcjpsfT1uZXcgVWludDhBcnJheShuKTtyZXR1cm4gdChuZXcgRGF0YVZpZXcobCksbil9fXJldHVybiB0KEpwdChvLG4pLGkpfSwidW5wYWlyIik7cmV0dXJuIHJ9LCJkZXNlcmlhbGl6ZXIiKSxRUT1zKGE9Pl9rYShuZXcgTWFwLGEpKDApLCJkZXNlcmlhbGl6ZSIpfSk7dmFyIEQ4LFRrYSxMa2EsaWIsSlEsJGthLGVKLHRmdD1mKCgpPT57UjNlKCk7RDg9IiIse3RvU3RyaW5nOlRrYX09e30se2tleXM6TGthfT1PYmplY3QsaWI9cyhhPT57bGV0IGU9dHlwZW9mIGE7aWYoZSE9PSJvYmplY3QifHwhYSlyZXR1cm5bMCxlXTtsZXQgdD1Ua2EuY2FsbChhKS5zbGljZSg4LC0xKTtzd2l0Y2godCl7Y2FzZSJBcnJheSI6cmV0dXJuWzEsRDhdO2Nhc2UiT2JqZWN0IjpyZXR1cm5bMixEOF07Y2FzZSJEYXRlIjpyZXR1cm5bMyxEOF07Y2FzZSJSZWdFeHAiOnJldHVybls0LEQ4XTtjYXNlIk1hcCI6cmV0dXJuWzUsRDhdO2Nhc2UiU2V0IjpyZXR1cm5bNixEOF07Y2FzZSJEYXRhVmlldyI6cmV0dXJuWzEsdF19cmV0dXJuIHQuaW5jbHVkZXMoIkFycmF5Iik/WzEsdF06dC5pbmNsdWRlcygiRXJyb3IiKT9bNyx0XTpbMix0XX0sInR5cGVPZiIpLEpRPXMoKFthLGVdKT0+YT09PTAmJihlPT09ImZ1bmN0aW9uInx8ZT09PSJzeW1ib2wiKSwic2hvdWxkU2tpcCIpLCRrYT1zKChhLGUsdCxyKT0+e2xldCBpPXMoKG4sbCk9PntsZXQgZD1yLnB1c2gobiktMTtyZXR1cm4gdC5zZXQobCxkKSxkfSwiYXMiKSxvPXMobj0+e2lmKHQuaGFzKG4pKXJldHVybiB0LmdldChuKTtsZXRbbCxkXT1pYihuKTtzd2l0Y2gobCl7Y2FzZSAwOntsZXQgcD1uO3N3aXRjaChkKXtjYXNlImJpZ2ludCI6bD04LHA9bi50b1N0cmluZygpO2JyZWFrO2Nhc2UiZnVuY3Rpb24iOmNhc2Uic3ltYm9sIjppZihhKXRocm93IG5ldyBUeXBlRXJyb3IoInVuYWJsZSB0byBzZXJpYWxpemUgIitkKTtwPW51bGw7YnJlYWs7Y2FzZSJ1bmRlZmluZWQiOnJldHVybiBpKFstMV0sbil9cmV0dXJuIGkoW2wscF0sbil9Y2FzZSAxOntpZihkKXtsZXQgbT1uO3JldHVybiBkPT09IkRhdGFWaWV3Ij9tPW5ldyBVaW50OEFycmF5KG4uYnVmZmVyKTpkPT09IkFycmF5QnVmZmVyIiYmKG09bmV3IFVpbnQ4QXJyYXkobikpLGkoW2QsWy4uLm1dXSxuKX1sZXQgcD1bXSx1PWkoW2wscF0sbik7Zm9yKGxldCBtIG9mIG4pcC5wdXNoKG8obSkpO3JldHVybiB1fWNhc2UgMjp7aWYoZClzd2l0Y2goZCl7Y2FzZSJCaWdJbnQiOnJldHVybiBpKFtkLG4udG9TdHJpbmcoKV0sbik7Y2FzZSJCb29sZWFuIjpjYXNlIk51bWJlciI6Y2FzZSJTdHJpbmciOnJldHVybiBpKFtkLG4udmFsdWVPZigpXSxuKX1pZihlJiYidG9KU09OImluIG4pcmV0dXJuIG8obi50b0pTT04oKSk7bGV0IHA9W10sdT1pKFtsLHBdLG4pO2ZvcihsZXQgbSBvZiBMa2EobikpKGF8fCFKUShpYihuW21dKSkpJiZwLnB1c2goW28obSksbyhuW21dKV0pO3JldHVybiB1fWNhc2UgMzpyZXR1cm4gaShbbCxuLnRvSVNPU3RyaW5nKCldLG4pO2Nhc2UgNDp7bGV0e3NvdXJjZTpwLGZsYWdzOnV9PW47cmV0dXJuIGkoW2wse3NvdXJjZTpwLGZsYWdzOnV9XSxuKX1jYXNlIDU6e2xldCBwPVtdLHU9aShbbCxwXSxuKTtmb3IobGV0W20sdl1vZiBuKShhfHwhKEpRKGliKG0pKXx8SlEoaWIodikpKSkmJnAucHVzaChbbyhtKSxvKHYpXSk7cmV0dXJuIHV9Y2FzZSA2OntsZXQgcD1bXSx1PWkoW2wscF0sbik7Zm9yKGxldCBtIG9mIG4pKGF8fCFKUShpYihtKSkpJiZwLnB1c2gobyhtKSk7cmV0dXJuIHV9fWxldHttZXNzYWdlOmN9PW47cmV0dXJuIGkoW2wse25hbWU6ZCxtZXNzYWdlOmN9XSxuKX0sInBhaXIiKTtyZXR1cm4gb30sInNlcmlhbGl6ZXIiKSxlSj1zKChhLHtqc29uOmUsbG9zc3k6dH09e30pPT57bGV0IHI9W107cmV0dXJuICRrYSghKGV8fHQpLCEhZSxuZXcgTWFwLHIpKGEpLHJ9LCJzZXJpYWxpemUiKX0pO3ZhciBXMCx0Sj1mKCgpPT57ZWZ0KCk7dGZ0KCk7VzA9dHlwZW9mIHN0cnVjdHVyZWRDbG9uZT09ImZ1bmN0aW9uIj8oYSxlKT0+ZSYmKCJqc29uImluIGV8fCJsb3NzeSJpbiBlKT9RUShlSihhLGUpKTpzdHJ1Y3R1cmVkQ2xvbmUoYSk6KGEsZSk9PlFRKGVKKGEsZSkpfSk7ZnVuY3Rpb24gYWZ0KGEpe3JldHVybiBlO2Z1bmN0aW9uIGUodCl7bGV0IHI9dCYmdC5wb3NpdGlvbiYmdC5wb3NpdGlvblthXXx8e307aWYodHlwZW9mIHIubGluZT09Im51bWJlciImJnIubGluZT4wJiZ0eXBlb2Ygci5jb2x1bW49PSJudW1iZXIiJiZyLmNvbHVtbj4wKXJldHVybntsaW5lOnIubGluZSxjb2x1bW46ci5jb2x1bW4sb2Zmc2V0OnR5cGVvZiByLm9mZnNldD09Im51bWJlciImJnIub2Zmc2V0Pi0xP3Iub2Zmc2V0OnZvaWQgMH19fWZ1bmN0aW9uIG9iKGEpe2xldCBlPXJKKGEpLHQ9YUooYSk7aWYoZSYmdClyZXR1cm57c3RhcnQ6ZSxlbmQ6dH19dmFyIGFKLHJKLHJmdD1mKCgpPT57YUo9YWZ0KCJlbmQiKSxySj1hZnQoInN0YXJ0Iik7cyhhZnQsInBvaW50Iik7cyhvYiwicG9zaXRpb24iKX0pO3ZhciBzSj1mKCgpPT57cmZ0KCl9KTt2YXIgZWQsaUosSDNlPWYoKCk9PntlZD1bImFyaWFEZXNjcmliZWRCeSIsImFyaWFMYWJlbCIsImFyaWFMYWJlbGxlZEJ5Il0saUo9e2FuY2VzdG9yczp7dGJvZHk6WyJ0YWJsZSJdLHRkOlsidGFibGUiXSx0aDpbInRhYmxlIl0sdGhlYWQ6WyJ0YWJsZSJdLHRmb290OlsidGFibGUiXSx0cjpbInRhYmxlIl19LGF0dHJpYnV0ZXM6e2E6Wy4uLmVkLCJkYXRhRm9vdG5vdGVCYWNrcmVmIiwiZGF0YUZvb3Rub3RlUmVmIixbImNsYXNzTmFtZSIsImRhdGEtZm9vdG5vdGUtYmFja3JlZiJdLCJocmVmIl0sYmxvY2txdW90ZTpbImNpdGUiXSxjb2RlOltbImNsYXNzTmFtZSIsL15sYW5ndWFnZS0uL11dLGRlbDpbImNpdGUiXSxkaXY6WyJpdGVtU2NvcGUiLCJpdGVtVHlwZSJdLGRsOlsuLi5lZF0saDI6W1siY2xhc3NOYW1lIiwic3Itb25seSJdXSxpbWc6Wy4uLmVkLCJsb25nRGVzYyIsInNyYyJdLGlucHV0OltbImRpc2FibGVkIiwhMF0sWyJ0eXBlIiwiY2hlY2tib3giXV0saW5zOlsiY2l0ZSJdLGxpOltbImNsYXNzTmFtZSIsInRhc2stbGlzdC1pdGVtIl1dLG9sOlsuLi5lZCxbImNsYXNzTmFtZSIsImNvbnRhaW5zLXRhc2stbGlzdCJdXSxxOlsiY2l0ZSJdLHNlY3Rpb246WyJkYXRhRm9vdG5vdGVzIixbImNsYXNzTmFtZSIsImZvb3Rub3RlcyJdXSxzb3VyY2U6WyJzcmNTZXQiXSxzdW1tYXJ5OlsuLi5lZF0sdGFibGU6Wy4uLmVkXSx1bDpbLi4uZWQsWyJjbGFzc05hbWUiLCJjb250YWlucy10YXNrLWxpc3QiXV0sIioiOlsiYWJiciIsImFjY2VwdCIsImFjY2VwdENoYXJzZXQiLCJhY2Nlc3NLZXkiLCJhY3Rpb24iLCJhbGlnbiIsImFsdCIsImF4aXMiLCJib3JkZXIiLCJjZWxsUGFkZGluZyIsImNlbGxTcGFjaW5nIiwiY2hhciIsImNoYXJPZmYiLCJjaGFyU2V0IiwiY2hlY2tlZCIsImNsZWFyIiwiY29sU3BhbiIsImNvbG9yIiwiY29scyIsImNvbXBhY3QiLCJjb29yZHMiLCJkYXRlVGltZSIsImRpciIsImVuY1R5cGUiLCJmcmFtZSIsImhTcGFjZSIsImhlYWRlcnMiLCJoZWlnaHQiLCJocmVmTGFuZyIsImh0bWxGb3IiLCJpZCIsImlzTWFwIiwiaXRlbVByb3AiLCJsYWJlbCIsImxhbmciLCJtYXhMZW5ndGgiLCJtZWRpYSIsIm1ldGhvZCIsIm11bHRpcGxlIiwibmFtZSIsIm5vSHJlZiIsIm5vU2hhZGUiLCJub1dyYXAiLCJvcGVuIiwicHJvbXB0IiwicmVhZE9ubHkiLCJyZXYiLCJyb3dTcGFuIiwicm93cyIsInJ1bGVzIiwic2NvcGUiLCJzZWxlY3RlZCIsInNoYXBlIiwic2l6ZSIsInNwYW4iLCJzdGFydCIsInN1bW1hcnkiLCJ0YWJJbmRleCIsInRpdGxlIiwidXNlTWFwIiwidkFsaWduIiwidmFsdWUiLCJ3aWR0aCJdfSxjbG9iYmVyOlsiYXJpYURlc2NyaWJlZEJ5IiwiYXJpYUxhYmVsbGVkQnkiLCJpZCIsIm5hbWUiXSxjbG9iYmVyUHJlZml4OiJ1c2VyLWNvbnRlbnQtIixwcm90b2NvbHM6e2NpdGU6WyJodHRwIiwiaHR0cHMiXSxocmVmOlsiaHR0cCIsImh0dHBzIiwiaXJjIiwiaXJjcyIsIm1haWx0byIsInhtcHAiXSxsb25nRGVzYzpbImh0dHAiLCJodHRwcyJdLHNyYzpbImh0dHAiLCJodHRwcyJdfSxyZXF1aXJlZDp7aW5wdXQ6e2Rpc2FibGVkOiEwLHR5cGU6ImNoZWNrYm94In19LHN0cmlwOlsic2NyaXB0Il0sdGFnTmFtZXM6WyJhIiwiYiIsImJsb2NrcXVvdGUiLCJiciIsImNvZGUiLCJkZCIsImRlbCIsImRldGFpbHMiLCJkaXYiLCJkbCIsImR0IiwiZW0iLCJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiLCJociIsImkiLCJpbWciLCJpbnB1dCIsImlucyIsImtiZCIsImxpIiwib2wiLCJwIiwicGljdHVyZSIsInByZSIsInEiLCJycCIsInJ0IiwicnVieSIsInMiLCJzYW1wIiwic2VjdGlvbiIsInNvdXJjZSIsInNwYW4iLCJzdHJpa2UiLCJzdHJvbmciLCJzdWIiLCJzdW1tYXJ5Iiwic3VwIiwidGFibGUiLCJ0Ym9keSIsInRkIiwidGZvb3QiLCJ0aCIsInRoZWFkIiwidHIiLCJ0dCIsInVsIiwidmFyIl19fSk7ZnVuY3Rpb24gcTNlKGEsZSl7bGV0IHQ9e3R5cGU6InJvb3QiLGNoaWxkcmVuOltdfSxyPXtzY2hlbWE6ZT97Li4uaUosLi4uZX06aUosc3RhY2s6W119LGk9c2Z0KHIsYSk7cmV0dXJuIGkmJihBcnJheS5pc0FycmF5KGkpP2kubGVuZ3RoPT09MT90PWlbMF06dC5jaGlsZHJlbj1pOnQ9aSksdH1mdW5jdGlvbiBzZnQoYSxlKXtpZihlJiZ0eXBlb2YgZT09Im9iamVjdCIpe2xldCB0PWU7c3dpdGNoKHR5cGVvZiB0LnR5cGU9PSJzdHJpbmciP3QudHlwZToiIil7Y2FzZSJjb21tZW50IjpyZXR1cm4gRGthKGEsdCk7Y2FzZSJkb2N0eXBlIjpyZXR1cm4gQWthKGEsdCk7Y2FzZSJlbGVtZW50IjpyZXR1cm4gRWthKGEsdCk7Y2FzZSJyb290IjpyZXR1cm4gUGthKGEsdCk7Y2FzZSJ0ZXh0IjpyZXR1cm4gSWthKGEsdCk7ZGVmYXVsdDp9fX1mdW5jdGlvbiBEa2EoYSxlKXtpZihhLnNjaGVtYS5hbGxvd0NvbW1lbnRzKXtsZXQgdD10eXBlb2YgZS52YWx1ZT09InN0cmluZyI/ZS52YWx1ZToiIixyPXQuaW5kZXhPZigiLS0+Iiksbz17dHlwZToiY29tbWVudCIsdmFsdWU6cjwwP3Q6dC5zbGljZSgwLHIpfTtyZXR1cm4gbmIobyxlKSxvfX1mdW5jdGlvbiBBa2EoYSxlKXtpZihhLnNjaGVtYS5hbGxvd0RvY3R5cGVzKXtsZXQgdD17dHlwZToiZG9jdHlwZSJ9O3JldHVybiBuYih0LGUpLHR9fWZ1bmN0aW9uIEVrYShhLGUpe2xldCB0PXR5cGVvZiBlLnRhZ05hbWU9PSJzdHJpbmciP2UudGFnTmFtZToiIjthLnN0YWNrLnB1c2godCk7bGV0IHI9aWZ0KGEsZS5jaGlsZHJlbiksaT1Oa2EoYSxlLnByb3BlcnRpZXMpO2Euc3RhY2sucG9wKCk7bGV0IG89ITE7aWYodCYmdCE9PSIqIiYmKCFhLnNjaGVtYS50YWdOYW1lc3x8YS5zY2hlbWEudGFnTmFtZXMuaW5jbHVkZXModCkpJiYobz0hMCxhLnNjaGVtYS5hbmNlc3RvcnMmJkcwLmNhbGwoYS5zY2hlbWEuYW5jZXN0b3JzLHQpKSl7bGV0IGw9YS5zY2hlbWEuYW5jZXN0b3JzW3RdLGQ9LTE7Zm9yKG89ITE7KytkPGwubGVuZ3RoOylhLnN0YWNrLmluY2x1ZGVzKGxbZF0pJiYobz0hMCl9aWYoIW8pcmV0dXJuIGEuc2NoZW1hLnN0cmlwJiYhYS5zY2hlbWEuc3RyaXAuaW5jbHVkZXModCk/cjp2b2lkIDA7bGV0IG49e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6dCxwcm9wZXJ0aWVzOmksY2hpbGRyZW46cn07cmV0dXJuIG5iKG4sZSksbn1mdW5jdGlvbiBQa2EoYSxlKXtsZXQgcj17dHlwZToicm9vdCIsY2hpbGRyZW46aWZ0KGEsZS5jaGlsZHJlbil9O3JldHVybiBuYihyLGUpLHJ9ZnVuY3Rpb24gSWthKGEsZSl7bGV0IHI9e3R5cGU6InRleHQiLHZhbHVlOnR5cGVvZiBlLnZhbHVlPT0ic3RyaW5nIj9lLnZhbHVlOiIifTtyZXR1cm4gbmIocixlKSxyfWZ1bmN0aW9uIGlmdChhLGUpe2xldCB0PVtdO2lmKEFycmF5LmlzQXJyYXkoZSkpe2xldCByPWUsaT0tMTtmb3IoOysraTxyLmxlbmd0aDspe2xldCBvPXNmdChhLHJbaV0pO28mJihBcnJheS5pc0FycmF5KG8pP3QucHVzaCguLi5vKTp0LnB1c2gobykpfX1yZXR1cm4gdH1mdW5jdGlvbiBOa2EoYSxlKXtsZXQgdD1hLnN0YWNrW2Euc3RhY2subGVuZ3RoLTFdLHI9YS5zY2hlbWEuYXR0cmlidXRlcyxpPWEuc2NoZW1hLnJlcXVpcmVkLG89ciYmRzAuY2FsbChyLHQpP3JbdF06dm9pZCAwLG49ciYmRzAuY2FsbChyLCIqIik/clsiKiJdOnZvaWQgMCxsPWUmJnR5cGVvZiBlPT0ib2JqZWN0Ij9lOnt9LGQ9e30sYztmb3IoYyBpbiBsKWlmKEcwLmNhbGwobCxjKSl7bGV0IHA9bFtjXSx1PW9mdChhLGxmdChvLGMpLGMscCk7dT09bnVsbCYmKHU9b2Z0KGEsbGZ0KG4sYyksYyxwKSksdSE9bnVsbCYmKGRbY109dSl9aWYoaSYmRzAuY2FsbChpLHQpKXtsZXQgcD1pW3RdO2ZvcihjIGluIHApRzAuY2FsbChwLGMpJiYhRzAuY2FsbChkLGMpJiYoZFtjXT1wW2NdKX1yZXR1cm4gZH1mdW5jdGlvbiBvZnQoYSxlLHQscil7cmV0dXJuIGU/QXJyYXkuaXNBcnJheShyKT9Sa2EoYSxlLHQscik6bmZ0KGEsZSx0LHIpOnZvaWQgMH1mdW5jdGlvbiBSa2EoYSxlLHQscil7bGV0IGk9LTEsbz1bXTtmb3IoOysraTxyLmxlbmd0aDspe2xldCBuPW5mdChhLGUsdCxyW2ldKTsodHlwZW9mIG49PSJudW1iZXIifHx0eXBlb2Ygbj09InN0cmluZyIpJiZvLnB1c2gobil9cmV0dXJuIG99ZnVuY3Rpb24gbmZ0KGEsZSx0LHIpe2lmKCEodHlwZW9mIHIhPSJib29sZWFuIiYmdHlwZW9mIHIhPSJudW1iZXIiJiZ0eXBlb2YgciE9InN0cmluZyIpJiZPa2EoYSx0LHIpKXtpZih0eXBlb2YgZT09Im9iamVjdCImJmUubGVuZ3RoPjEpe2xldCBpPSExLG89MDtmb3IoOysrbzxlLmxlbmd0aDspe2xldCBuPWVbb107aWYobiYmdHlwZW9mIG49PSJvYmplY3QiJiYiZmxhZ3MiaW4gbil7aWYobi50ZXN0KFN0cmluZyhyKSkpe2k9ITA7YnJlYWt9fWVsc2UgaWYobj09PXIpe2k9ITA7YnJlYWt9fWlmKCFpKXJldHVybn1yZXR1cm4gYS5zY2hlbWEuY2xvYmJlciYmYS5zY2hlbWEuY2xvYmJlclByZWZpeCYmYS5zY2hlbWEuY2xvYmJlci5pbmNsdWRlcyh0KT9hLnNjaGVtYS5jbG9iYmVyUHJlZml4K3I6cn19ZnVuY3Rpb24gT2thKGEsZSx0KXtsZXQgcj1hLnNjaGVtYS5wcm90b2NvbHMmJkcwLmNhbGwoYS5zY2hlbWEucHJvdG9jb2xzLGUpP2Euc2NoZW1hLnByb3RvY29sc1tlXTp2b2lkIDA7aWYoIXJ8fHIubGVuZ3RoPT09MClyZXR1cm4hMDtsZXQgaT1TdHJpbmcodCksbz1pLmluZGV4T2YoIjoiKSxuPWkuaW5kZXhPZigiPyIpLGw9aS5pbmRleE9mKCIjIiksZD1pLmluZGV4T2YoIi8iKTtpZihvPDB8fGQ+LTEmJm8+ZHx8bj4tMSYmbz5ufHxsPi0xJiZvPmwpcmV0dXJuITA7bGV0IGM9LTE7Zm9yKDsrK2M8ci5sZW5ndGg7KXtsZXQgcD1yW2NdO2lmKG89PT1wLmxlbmd0aCYmaS5zbGljZSgwLHAubGVuZ3RoKT09PXApcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gbmIoYSxlKXtsZXQgdD1vYihlKTtlLmRhdGEmJihhLmRhdGE9VzAoZS5kYXRhKSksdCYmKGEucG9zaXRpb249dCl9ZnVuY3Rpb24gbGZ0KGEsZSl7bGV0IHQscj0tMTtpZihhKWZvcig7KytyPGEubGVuZ3RoOyl7bGV0IGk9YVtyXSxvPXR5cGVvZiBpPT0ic3RyaW5nIj9pOmlbMF07aWYobz09PWUpcmV0dXJuIGk7bz09PSJkYXRhKiImJih0PWkpfWlmKGUubGVuZ3RoPjQmJmUuc2xpY2UoMCw0KS50b0xvd2VyQ2FzZSgpPT09ImRhdGEiKXJldHVybiB0fXZhciBHMCxjZnQ9ZigoKT0+e3RKKCk7c0ooKTtIM2UoKTtHMD17fS5oYXNPd25Qcm9wZXJ0eTtzKHEzZSwic2FuaXRpemUiKTtzKHNmdCwidHJhbnNmb3JtIik7cyhEa2EsImNvbW1lbnQiKTtzKEFrYSwiZG9jdHlwZSIpO3MoRWthLCJlbGVtZW50Iik7cyhQa2EsInJvb3QiKTtzKElrYSwidGV4dCIpO3MoaWZ0LCJjaGlsZHJlbiIpO3MoTmthLCJwcm9wZXJ0aWVzIik7cyhvZnQsInByb3BlcnR5VmFsdWUiKTtzKFJrYSwicHJvcGVydHlWYWx1ZU1hbnkiKTtzKG5mdCwicHJvcGVydHlWYWx1ZVByaW1pdGl2ZSIpO3MoT2thLCJzYWZlUHJvdG9jb2wiKTtzKG5iLCJwYXRjaCIpO3MobGZ0LCJmaW5kRGVmaW5pdGlvbiIpfSk7dmFyIGRmdD1mKCgpPT57Y2Z0KCk7SDNlKCl9KTtmdW5jdGlvbiB1ZnQoYSxlKXtsZXQgdD17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiYmxvY2txdW90ZSIscHJvcGVydGllczp7fSxjaGlsZHJlbjphLndyYXAoYS5hbGwoZSksITApfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIHBmdD1mKCgpPT57cyh1ZnQsImJsb2NrcXVvdGUiKX0pO2Z1bmN0aW9uIGZmdChhLGUpe2xldCB0PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJiciIscHJvcGVydGllczp7fSxjaGlsZHJlbjpbXX07cmV0dXJuIGEucGF0Y2goZSx0KSxbYS5hcHBseURhdGEoZSx0KSx7dHlwZToidGV4dCIsdmFsdWU6YApgfV19dmFyIGhmdD1mKCgpPT57cyhmZnQsImhhcmRCcmVhayIpfSk7ZnVuY3Rpb24gbWZ0KGEsZSl7bGV0IHQ9ZS52YWx1ZT9lLnZhbHVlK2AKYDoiIixyPXt9LGk9ZS5sYW5nP2UubGFuZy5zcGxpdCgvXHMrLyk6W107aS5sZW5ndGg+MCYmKHIuY2xhc3NOYW1lPVsibGFuZ3VhZ2UtIitpWzBdXSk7bGV0IG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImNvZGUiLHByb3BlcnRpZXM6cixjaGlsZHJlbjpbe3R5cGU6InRleHQiLHZhbHVlOnR9XX07cmV0dXJuIGUubWV0YSYmKG8uZGF0YT17bWV0YTplLm1ldGF9KSxhLnBhdGNoKGUsbyksbz1hLmFwcGx5RGF0YShlLG8pLG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InByZSIscHJvcGVydGllczp7fSxjaGlsZHJlbjpbb119LGEucGF0Y2goZSxvKSxvfXZhciBnZnQ9ZigoKT0+e3MobWZ0LCJjb2RlIil9KTtmdW5jdGlvbiBiZnQoYSxlKXtsZXQgdD17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiZGVsIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEuYWxsKGUpfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIHZmdD1mKCgpPT57cyhiZnQsInN0cmlrZXRocm91Z2giKX0pO2Z1bmN0aW9uIHhmdChhLGUpe2xldCB0PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJlbSIscHJvcGVydGllczp7fSxjaGlsZHJlbjphLmFsbChlKX07cmV0dXJuIGEucGF0Y2goZSx0KSxhLmFwcGx5RGF0YShlLHQpfXZhciB5ZnQ9ZigoKT0+e3MoeGZ0LCJlbXBoYXNpcyIpfSk7ZnVuY3Rpb24gd2Z0KGEsZSl7bGV0IHQ9dHlwZW9mIGEub3B0aW9ucy5jbG9iYmVyUHJlZml4PT0ic3RyaW5nIj9hLm9wdGlvbnMuY2xvYmJlclByZWZpeDoidXNlci1jb250ZW50LSIscj1TdHJpbmcoZS5pZGVudGlmaWVyKS50b1VwcGVyQ2FzZSgpLGk9R28oci50b0xvd2VyQ2FzZSgpKSxvPWEuZm9vdG5vdGVPcmRlci5pbmRleE9mKHIpLG4sbD1hLmZvb3Rub3RlQ291bnRzLmdldChyKTtsPT09dm9pZCAwPyhsPTAsYS5mb290bm90ZU9yZGVyLnB1c2gociksbj1hLmZvb3Rub3RlT3JkZXIubGVuZ3RoKTpuPW8rMSxsKz0xLGEuZm9vdG5vdGVDb3VudHMuc2V0KHIsbCk7bGV0IGQ9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImEiLHByb3BlcnRpZXM6e2hyZWY6IiMiK3QrImZuLSIraSxpZDp0KyJmbnJlZi0iK2krKGw+MT8iLSIrbDoiIiksZGF0YUZvb3Rub3RlUmVmOiEwLGFyaWFEZXNjcmliZWRCeTpbImZvb3Rub3RlLWxhYmVsIl19LGNoaWxkcmVuOlt7dHlwZToidGV4dCIsdmFsdWU6U3RyaW5nKG4pfV19O2EucGF0Y2goZSxkKTtsZXQgYz17dHlwZToiZWxlbWVudCIsdGFnTmFtZToic3VwIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOltkXX07cmV0dXJuIGEucGF0Y2goZSxjKSxhLmFwcGx5RGF0YShlLGMpfXZhciBNZnQ9ZigoKT0+e0kyKCk7cyh3ZnQsImZvb3Rub3RlUmVmZXJlbmNlIil9KTtmdW5jdGlvbiBrZnQoYSxlKXtsZXQgdD17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiaCIrZS5kZXB0aCxwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEuYWxsKGUpfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIFNmdD1mKCgpPT57cyhrZnQsImhlYWRpbmciKX0pO2Z1bmN0aW9uIHpmdChhLGUpe2lmKGEub3B0aW9ucy5hbGxvd0Rhbmdlcm91c0h0bWwpe2xldCB0PXt0eXBlOiJyYXciLHZhbHVlOmUudmFsdWV9O3JldHVybiBhLnBhdGNoKGUsdCksYS5hcHBseURhdGEoZSx0KX19dmFyIENmdD1mKCgpPT57cyh6ZnQsImh0bWwiKX0pO2Z1bmN0aW9uIG9KKGEsZSl7bGV0IHQ9ZS5yZWZlcmVuY2VUeXBlLHI9Il0iO2lmKHQ9PT0iY29sbGFwc2VkIj9yKz0iW10iOnQ9PT0iZnVsbCImJihyKz0iWyIrKGUubGFiZWx8fGUuaWRlbnRpZmllcikrIl0iKSxlLnR5cGU9PT0iaW1hZ2VSZWZlcmVuY2UiKXJldHVyblt7dHlwZToidGV4dCIsdmFsdWU6IiFbIitlLmFsdCtyfV07bGV0IGk9YS5hbGwoZSksbz1pWzBdO28mJm8udHlwZT09PSJ0ZXh0Ij9vLnZhbHVlPSJbIitvLnZhbHVlOmkudW5zaGlmdCh7dHlwZToidGV4dCIsdmFsdWU6IlsifSk7bGV0IG49aVtpLmxlbmd0aC0xXTtyZXR1cm4gbiYmbi50eXBlPT09InRleHQiP24udmFsdWUrPXI6aS5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpyfSksaX12YXIgVjNlPWYoKCk9PntzKG9KLCJyZXZlcnQiKX0pO2Z1bmN0aW9uIF9mdChhLGUpe2xldCB0PVN0cmluZyhlLmlkZW50aWZpZXIpLnRvVXBwZXJDYXNlKCkscj1hLmRlZmluaXRpb25CeUlkLmdldCh0KTtpZighcilyZXR1cm4gb0ooYSxlKTtsZXQgaT17c3JjOkdvKHIudXJsfHwiIiksYWx0OmUuYWx0fTtyLnRpdGxlIT09bnVsbCYmci50aXRsZSE9PXZvaWQgMCYmKGkudGl0bGU9ci50aXRsZSk7bGV0IG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImltZyIscHJvcGVydGllczppLGNoaWxkcmVuOltdfTtyZXR1cm4gYS5wYXRjaChlLG8pLGEuYXBwbHlEYXRhKGUsbyl9dmFyIFRmdD1mKCgpPT57STIoKTtWM2UoKTtzKF9mdCwiaW1hZ2VSZWZlcmVuY2UiKX0pO2Z1bmN0aW9uIExmdChhLGUpe2xldCB0PXtzcmM6R28oZS51cmwpfTtlLmFsdCE9PW51bGwmJmUuYWx0IT09dm9pZCAwJiYodC5hbHQ9ZS5hbHQpLGUudGl0bGUhPT1udWxsJiZlLnRpdGxlIT09dm9pZCAwJiYodC50aXRsZT1lLnRpdGxlKTtsZXQgcj17dHlwZToiZWxlbWVudCIsdGFnTmFtZToiaW1nIixwcm9wZXJ0aWVzOnQsY2hpbGRyZW46W119O3JldHVybiBhLnBhdGNoKGUsciksYS5hcHBseURhdGEoZSxyKX12YXIgJGZ0PWYoKCk9PntJMigpO3MoTGZ0LCJpbWFnZSIpfSk7ZnVuY3Rpb24gRGZ0KGEsZSl7bGV0IHQ9e3R5cGU6InRleHQiLHZhbHVlOmUudmFsdWUucmVwbGFjZSgvXHI/XG58XHIvZywiICIpfTthLnBhdGNoKGUsdCk7bGV0IHI9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImNvZGUiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46W3RdfTtyZXR1cm4gYS5wYXRjaChlLHIpLGEuYXBwbHlEYXRhKGUscil9dmFyIEFmdD1mKCgpPT57cyhEZnQsImlubGluZUNvZGUiKX0pO2Z1bmN0aW9uIEVmdChhLGUpe2xldCB0PVN0cmluZyhlLmlkZW50aWZpZXIpLnRvVXBwZXJDYXNlKCkscj1hLmRlZmluaXRpb25CeUlkLmdldCh0KTtpZighcilyZXR1cm4gb0ooYSxlKTtsZXQgaT17aHJlZjpHbyhyLnVybHx8IiIpfTtyLnRpdGxlIT09bnVsbCYmci50aXRsZSE9PXZvaWQgMCYmKGkudGl0bGU9ci50aXRsZSk7bGV0IG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImEiLHByb3BlcnRpZXM6aSxjaGlsZHJlbjphLmFsbChlKX07cmV0dXJuIGEucGF0Y2goZSxvKSxhLmFwcGx5RGF0YShlLG8pfXZhciBQZnQ9ZigoKT0+e0kyKCk7VjNlKCk7cyhFZnQsImxpbmtSZWZlcmVuY2UiKX0pO2Z1bmN0aW9uIElmdChhLGUpe2xldCB0PXtocmVmOkdvKGUudXJsKX07ZS50aXRsZSE9PW51bGwmJmUudGl0bGUhPT12b2lkIDAmJih0LnRpdGxlPWUudGl0bGUpO2xldCByPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJhIixwcm9wZXJ0aWVzOnQsY2hpbGRyZW46YS5hbGwoZSl9O3JldHVybiBhLnBhdGNoKGUsciksYS5hcHBseURhdGEoZSxyKX12YXIgTmZ0PWYoKCk9PntJMigpO3MoSWZ0LCJsaW5rIil9KTtmdW5jdGlvbiBPZnQoYSxlLHQpe2xldCByPWEuYWxsKGUpLGk9dD9Ga2EodCk6UmZ0KGUpLG89e30sbj1bXTtpZih0eXBlb2YgZS5jaGVja2VkPT0iYm9vbGVhbiIpe2xldCBwPXJbMF0sdTtwJiZwLnR5cGU9PT0iZWxlbWVudCImJnAudGFnTmFtZT09PSJwIj91PXA6KHU9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InAiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46W119LHIudW5zaGlmdCh1KSksdS5jaGlsZHJlbi5sZW5ndGg+MCYmdS5jaGlsZHJlbi51bnNoaWZ0KHt0eXBlOiJ0ZXh0Iix2YWx1ZToiICJ9KSx1LmNoaWxkcmVuLnVuc2hpZnQoe3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImlucHV0Iixwcm9wZXJ0aWVzOnt0eXBlOiJjaGVja2JveCIsY2hlY2tlZDplLmNoZWNrZWQsZGlzYWJsZWQ6ITB9LGNoaWxkcmVuOltdfSksby5jbGFzc05hbWU9WyJ0YXNrLWxpc3QtaXRlbSJdfWxldCBsPS0xO2Zvcig7KytsPHIubGVuZ3RoOyl7bGV0IHA9cltsXTsoaXx8bCE9PTB8fHAudHlwZSE9PSJlbGVtZW50Inx8cC50YWdOYW1lIT09InAiKSYmbi5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9KSxwLnR5cGU9PT0iZWxlbWVudCImJnAudGFnTmFtZT09PSJwIiYmIWk/bi5wdXNoKC4uLnAuY2hpbGRyZW4pOm4ucHVzaChwKX1sZXQgZD1yW3IubGVuZ3RoLTFdO2QmJihpfHxkLnR5cGUhPT0iZWxlbWVudCJ8fGQudGFnTmFtZSE9PSJwIikmJm4ucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6YApgfSk7bGV0IGM9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImxpIixwcm9wZXJ0aWVzOm8sY2hpbGRyZW46bn07cmV0dXJuIGEucGF0Y2goZSxjKSxhLmFwcGx5RGF0YShlLGMpfWZ1bmN0aW9uIEZrYShhKXtsZXQgZT0hMTtpZihhLnR5cGU9PT0ibGlzdCIpe2U9YS5zcHJlYWR8fCExO2xldCB0PWEuY2hpbGRyZW4scj0tMTtmb3IoOyFlJiYrK3I8dC5sZW5ndGg7KWU9UmZ0KHRbcl0pfXJldHVybiBlfWZ1bmN0aW9uIFJmdChhKXtsZXQgZT1hLnNwcmVhZDtyZXR1cm4gZT8/YS5jaGlsZHJlbi5sZW5ndGg+MX12YXIgRmZ0PWYoKCk9PntzKE9mdCwibGlzdEl0ZW0iKTtzKEZrYSwibGlzdExvb3NlIik7cyhSZnQsImxpc3RJdGVtTG9vc2UiKX0pO2Z1bmN0aW9uIEJmdChhLGUpe2xldCB0PXt9LHI9YS5hbGwoZSksaT0tMTtmb3IodHlwZW9mIGUuc3RhcnQ9PSJudW1iZXIiJiZlLnN0YXJ0IT09MSYmKHQuc3RhcnQ9ZS5zdGFydCk7KytpPHIubGVuZ3RoOyl7bGV0IG49cltpXTtpZihuLnR5cGU9PT0iZWxlbWVudCImJm4udGFnTmFtZT09PSJsaSImJm4ucHJvcGVydGllcyYmQXJyYXkuaXNBcnJheShuLnByb3BlcnRpZXMuY2xhc3NOYW1lKSYmbi5wcm9wZXJ0aWVzLmNsYXNzTmFtZS5pbmNsdWRlcygidGFzay1saXN0LWl0ZW0iKSl7dC5jbGFzc05hbWU9WyJjb250YWlucy10YXNrLWxpc3QiXTticmVha319bGV0IG89e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ZS5vcmRlcmVkPyJvbCI6InVsIixwcm9wZXJ0aWVzOnQsY2hpbGRyZW46YS53cmFwKHIsITApfTtyZXR1cm4gYS5wYXRjaChlLG8pLGEuYXBwbHlEYXRhKGUsbyl9dmFyIEhmdD1mKCgpPT57cyhCZnQsImxpc3QiKX0pO2Z1bmN0aW9uIHFmdChhLGUpe2xldCB0PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJwIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEuYWxsKGUpfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIFZmdD1mKCgpPT57cyhxZnQsInBhcmFncmFwaCIpfSk7ZnVuY3Rpb24gamZ0KGEsZSl7bGV0IHQ9e3R5cGU6InJvb3QiLGNoaWxkcmVuOmEud3JhcChhLmFsbChlKSl9O3JldHVybiBhLnBhdGNoKGUsdCksYS5hcHBseURhdGEoZSx0KX12YXIgVWZ0PWYoKCk9PntzKGpmdCwicm9vdCIpfSk7ZnVuY3Rpb24gV2Z0KGEsZSl7bGV0IHQ9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InN0cm9uZyIscHJvcGVydGllczp7fSxjaGlsZHJlbjphLmFsbChlKX07cmV0dXJuIGEucGF0Y2goZSx0KSxhLmFwcGx5RGF0YShlLHQpfXZhciBHZnQ9ZigoKT0+e3MoV2Z0LCJzdHJvbmciKX0pO2Z1bmN0aW9uIFlmdChhLGUpe2xldCB0PWEuYWxsKGUpLHI9dC5zaGlmdCgpLGk9W107aWYocil7bGV0IG49e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InRoZWFkIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEud3JhcChbcl0sITApfTthLnBhdGNoKGUuY2hpbGRyZW5bMF0sbiksaS5wdXNoKG4pfWlmKHQubGVuZ3RoPjApe2xldCBuPXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJ0Ym9keSIscHJvcGVydGllczp7fSxjaGlsZHJlbjphLndyYXAodCwhMCl9LGw9ckooZS5jaGlsZHJlblsxXSksZD1hSihlLmNoaWxkcmVuW2UuY2hpbGRyZW4ubGVuZ3RoLTFdKTtsJiZkJiYobi5wb3NpdGlvbj17c3RhcnQ6bCxlbmQ6ZH0pLGkucHVzaChuKX1sZXQgbz17dHlwZToiZWxlbWVudCIsdGFnTmFtZToidGFibGUiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46YS53cmFwKGksITApfTtyZXR1cm4gYS5wYXRjaChlLG8pLGEuYXBwbHlEYXRhKGUsbyl9dmFyIEtmdD1mKCgpPT57c0ooKTtzKFlmdCwidGFibGUiKX0pO2Z1bmN0aW9uIFpmdChhLGUsdCl7bGV0IHI9dD90LmNoaWxkcmVuOnZvaWQgMCxvPShyP3IuaW5kZXhPZihlKToxKT09PTA/InRoIjoidGQiLG49dCYmdC50eXBlPT09InRhYmxlIj90LmFsaWduOnZvaWQgMCxsPW4/bi5sZW5ndGg6ZS5jaGlsZHJlbi5sZW5ndGgsZD0tMSxjPVtdO2Zvcig7KytkPGw7KXtsZXQgdT1lLmNoaWxkcmVuW2RdLG09e30sdj1uP25bZF06dm9pZCAwO3YmJihtLmFsaWduPXYpO2xldCB4PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOm8scHJvcGVydGllczptLGNoaWxkcmVuOltdfTt1JiYoeC5jaGlsZHJlbj1hLmFsbCh1KSxhLnBhdGNoKHUseCkseD1hLmFwcGx5RGF0YSh1LHgpKSxjLnB1c2goeCl9bGV0IHA9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InRyIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEud3JhcChjLCEwKX07cmV0dXJuIGEucGF0Y2goZSxwKSxhLmFwcGx5RGF0YShlLHApfXZhciBYZnQ9ZigoKT0+e3MoWmZ0LCJ0YWJsZVJvdyIpfSk7ZnVuY3Rpb24gUWZ0KGEsZSl7bGV0IHQ9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6InRkIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEuYWxsKGUpfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIEpmdD1mKCgpPT57cyhRZnQsInRhYmxlQ2VsbCIpfSk7ZnVuY3Rpb24gdDV0KGEpe2xldCBlPVN0cmluZyhhKSx0PS9ccj9cbnxcci9nLHI9dC5leGVjKGUpLGk9MCxvPVtdO2Zvcig7cjspby5wdXNoKGU1dChlLnNsaWNlKGksci5pbmRleCksaT4wLCEwKSxyWzBdKSxpPXIuaW5kZXgrclswXS5sZW5ndGgscj10LmV4ZWMoZSk7cmV0dXJuIG8ucHVzaChlNXQoZS5zbGljZShpKSxpPjAsITEpKSxvLmpvaW4oIiIpfWZ1bmN0aW9uIGU1dChhLGUsdCl7bGV0IHI9MCxpPWEubGVuZ3RoO2lmKGUpe2xldCBvPWEuY29kZVBvaW50QXQocik7Zm9yKDtvPT09OXx8bz09PTMyOylyKyssbz1hLmNvZGVQb2ludEF0KHIpfWlmKHQpe2xldCBvPWEuY29kZVBvaW50QXQoaS0xKTtmb3IoO289PT05fHxvPT09MzI7KWktLSxvPWEuY29kZVBvaW50QXQoaS0xKX1yZXR1cm4gaT5yP2Euc2xpY2UocixpKToiIn12YXIgQVFyLEVRcixhNXQ9ZigoKT0+e0FRcj05LEVRcj0zMjtzKHQ1dCwidHJpbUxpbmVzIik7cyhlNXQsInRyaW1MaW5lIil9KTtmdW5jdGlvbiByNXQoYSxlKXtsZXQgdD17dHlwZToidGV4dCIsdmFsdWU6dDV0KFN0cmluZyhlLnZhbHVlKSl9O3JldHVybiBhLnBhdGNoKGUsdCksYS5hcHBseURhdGEoZSx0KX12YXIgczV0PWYoKCk9PnthNXQoKTtzKHI1dCwidGV4dCIpfSk7ZnVuY3Rpb24gaTV0KGEsZSl7bGV0IHQ9e3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6ImhyIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOltdfTtyZXR1cm4gYS5wYXRjaChlLHQpLGEuYXBwbHlEYXRhKGUsdCl9dmFyIG81dD1mKCgpPT57cyhpNXQsInRoZW1hdGljQnJlYWsiKX0pO2Z1bmN0aW9uIG5KKCl7fXZhciBqM2UsVTNlPWYoKCk9PntwZnQoKTtoZnQoKTtnZnQoKTt2ZnQoKTt5ZnQoKTtNZnQoKTtTZnQoKTtDZnQoKTtUZnQoKTskZnQoKTtBZnQoKTtQZnQoKTtOZnQoKTtGZnQoKTtIZnQoKTtWZnQoKTtVZnQoKTtHZnQoKTtLZnQoKTtYZnQoKTtKZnQoKTtzNXQoKTtvNXQoKTtqM2U9e2Jsb2NrcXVvdGU6dWZ0LGJyZWFrOmZmdCxjb2RlOm1mdCxkZWxldGU6YmZ0LGVtcGhhc2lzOnhmdCxmb290bm90ZVJlZmVyZW5jZTp3ZnQsaGVhZGluZzprZnQsaHRtbDp6ZnQsaW1hZ2VSZWZlcmVuY2U6X2Z0LGltYWdlOkxmdCxpbmxpbmVDb2RlOkRmdCxsaW5rUmVmZXJlbmNlOkVmdCxsaW5rOklmdCxsaXN0SXRlbTpPZnQsbGlzdDpCZnQscGFyYWdyYXBoOnFmdCxyb290OmpmdCxzdHJvbmc6V2Z0LHRhYmxlOllmdCx0YWJsZUNlbGw6UWZ0LHRhYmxlUm93OlpmdCx0ZXh0OnI1dCx0aGVtYXRpY0JyZWFrOmk1dCx0b21sOm5KLHlhbWw6bkosZGVmaW5pdGlvbjpuSixmb290bm90ZURlZmluaXRpb246bkp9O3MobkosImlnbm9yZSIpfSk7ZnVuY3Rpb24gbjV0KGEsZSl7bGV0IHQ9W3t0eXBlOiJ0ZXh0Iix2YWx1ZToiXHUyMUE5In1dO3JldHVybiBlPjEmJnQucHVzaCh7dHlwZToiZWxlbWVudCIsdGFnTmFtZToic3VwIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOlt7dHlwZToidGV4dCIsdmFsdWU6U3RyaW5nKGUpfV19KSx0fWZ1bmN0aW9uIGw1dChhLGUpe3JldHVybiJCYWNrIHRvIHJlZmVyZW5jZSAiKyhhKzEpKyhlPjE/Ii0iK2U6IiIpfWZ1bmN0aW9uIGM1dChhKXtsZXQgZT10eXBlb2YgYS5vcHRpb25zLmNsb2JiZXJQcmVmaXg9PSJzdHJpbmciP2Eub3B0aW9ucy5jbG9iYmVyUHJlZml4OiJ1c2VyLWNvbnRlbnQtIix0PWEub3B0aW9ucy5mb290bm90ZUJhY2tDb250ZW50fHxuNXQscj1hLm9wdGlvbnMuZm9vdG5vdGVCYWNrTGFiZWx8fGw1dCxpPWEub3B0aW9ucy5mb290bm90ZUxhYmVsfHwiRm9vdG5vdGVzIixvPWEub3B0aW9ucy5mb290bm90ZUxhYmVsVGFnTmFtZXx8ImgyIixuPWEub3B0aW9ucy5mb290bm90ZUxhYmVsUHJvcGVydGllc3x8e2NsYXNzTmFtZTpbInNyLW9ubHkiXX0sbD1bXSxkPS0xO2Zvcig7KytkPGEuZm9vdG5vdGVPcmRlci5sZW5ndGg7KXtsZXQgYz1hLmZvb3Rub3RlQnlJZC5nZXQoYS5mb290bm90ZU9yZGVyW2RdKTtpZighYyljb250aW51ZTtsZXQgcD1hLmFsbChjKSx1PVN0cmluZyhjLmlkZW50aWZpZXIpLnRvVXBwZXJDYXNlKCksbT1Hbyh1LnRvTG93ZXJDYXNlKCkpLHY9MCx4PVtdLGI9YS5mb290bm90ZUNvdW50cy5nZXQodSk7Zm9yKDtiIT09dm9pZCAwJiYrK3Y8PWI7KXt4Lmxlbmd0aD4wJiZ4LnB1c2goe3R5cGU6InRleHQiLHZhbHVlOiIgIn0pO2xldCBrPXR5cGVvZiB0PT0ic3RyaW5nIj90OnQoZCx2KTt0eXBlb2Ygaz09InN0cmluZyImJihrPXt0eXBlOiJ0ZXh0Iix2YWx1ZTprfSkseC5wdXNoKHt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJhIixwcm9wZXJ0aWVzOntocmVmOiIjIitlKyJmbnJlZi0iK20rKHY+MT8iLSIrdjoiIiksZGF0YUZvb3Rub3RlQmFja3JlZjoiIixhcmlhTGFiZWw6dHlwZW9mIHI9PSJzdHJpbmciP3I6cihkLHYpLGNsYXNzTmFtZTpbImRhdGEtZm9vdG5vdGUtYmFja3JlZiJdfSxjaGlsZHJlbjpBcnJheS5pc0FycmF5KGspP2s6W2tdfSl9bGV0IGc9cFtwLmxlbmd0aC0xXTtpZihnJiZnLnR5cGU9PT0iZWxlbWVudCImJmcudGFnTmFtZT09PSJwIil7bGV0IGs9Zy5jaGlsZHJlbltnLmNoaWxkcmVuLmxlbmd0aC0xXTtrJiZrLnR5cGU9PT0idGV4dCI/ay52YWx1ZSs9IiAiOmcuY2hpbGRyZW4ucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6IiAifSksZy5jaGlsZHJlbi5wdXNoKC4uLngpfWVsc2UgcC5wdXNoKC4uLngpO2xldCB5PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJsaSIscHJvcGVydGllczp7aWQ6ZSsiZm4tIittfSxjaGlsZHJlbjphLndyYXAocCwhMCl9O2EucGF0Y2goYyx5KSxsLnB1c2goeSl9aWYobC5sZW5ndGghPT0wKXJldHVybnt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJzZWN0aW9uIixwcm9wZXJ0aWVzOntkYXRhRm9vdG5vdGVzOiEwLGNsYXNzTmFtZTpbImZvb3Rub3RlcyJdfSxjaGlsZHJlbjpbe3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6byxwcm9wZXJ0aWVzOnsuLi5XMChuKSxpZDoiZm9vdG5vdGUtbGFiZWwifSxjaGlsZHJlbjpbe3R5cGU6InRleHQiLHZhbHVlOml9XX0se3R5cGU6InRleHQiLHZhbHVlOmAKYH0se3R5cGU6ImVsZW1lbnQiLHRhZ05hbWU6Im9sIixwcm9wZXJ0aWVzOnt9LGNoaWxkcmVuOmEud3JhcChsLCEwKX0se3R5cGU6InRleHQiLHZhbHVlOmAKYH1dfX12YXIgVzNlPWYoKCk9Pnt0SigpO0kyKCk7cyhuNXQsImRlZmF1bHRGb290bm90ZUJhY2tDb250ZW50Iik7cyhsNXQsImRlZmF1bHRGb290bm90ZUJhY2tMYWJlbCIpO3MoYzV0LCJmb290ZXIiKX0pO2Z1bmN0aW9uIHU1dChhLGUpe2xldCB0PWV8fEJrYSxyPW5ldyBNYXAsaT1uZXcgTWFwLG89bmV3IE1hcCxuPXsuLi5qM2UsLi4udC5oYW5kbGVyc30sbD17YWxsOmMsYXBwbHlEYXRhOnFrYSxkZWZpbml0aW9uQnlJZDpyLGZvb3Rub3RlQnlJZDppLGZvb3Rub3RlQ291bnRzOm8sZm9vdG5vdGVPcmRlcjpbXSxoYW5kbGVyczpuLG9uZTpkLG9wdGlvbnM6dCxwYXRjaDpIa2Esd3JhcDpqa2F9O3JldHVybiBVZyhhLGZ1bmN0aW9uKHApe2lmKHAudHlwZT09PSJkZWZpbml0aW9uInx8cC50eXBlPT09ImZvb3Rub3RlRGVmaW5pdGlvbiIpe2xldCB1PXAudHlwZT09PSJkZWZpbml0aW9uIj9yOmksbT1TdHJpbmcocC5pZGVudGlmaWVyKS50b1VwcGVyQ2FzZSgpO3UuaGFzKG0pfHx1LnNldChtLHApfX0pLGw7ZnVuY3Rpb24gZChwLHUpe2xldCBtPXAudHlwZSx2PWwuaGFuZGxlcnNbbV07aWYoRzNlLmNhbGwobC5oYW5kbGVycyxtKSYmdilyZXR1cm4gdihsLHAsdSk7aWYobC5vcHRpb25zLnBhc3NUaHJvdWdoJiZsLm9wdGlvbnMucGFzc1Rocm91Z2guaW5jbHVkZXMobSkpe2lmKCJjaGlsZHJlbiJpbiBwKXtsZXR7Y2hpbGRyZW46YiwuLi5nfT1wLHk9VzAoZyk7cmV0dXJuIHkuY2hpbGRyZW49bC5hbGwocCkseX1yZXR1cm4gVzAocCl9cmV0dXJuKGwub3B0aW9ucy51bmtub3duSGFuZGxlcnx8VmthKShsLHAsdSl9cyhkLCJvbmUiKTtmdW5jdGlvbiBjKHApe2xldCB1PVtdO2lmKCJjaGlsZHJlbiJpbiBwKXtsZXQgbT1wLmNoaWxkcmVuLHY9LTE7Zm9yKDsrK3Y8bS5sZW5ndGg7KXtsZXQgeD1sLm9uZShtW3ZdLHApO2lmKHgpe2lmKHYmJm1bdi0xXS50eXBlPT09ImJyZWFrIiYmKCFBcnJheS5pc0FycmF5KHgpJiZ4LnR5cGU9PT0idGV4dCImJih4LnZhbHVlPWQ1dCh4LnZhbHVlKSksIUFycmF5LmlzQXJyYXkoeCkmJngudHlwZT09PSJlbGVtZW50Iikpe2xldCBiPXguY2hpbGRyZW5bMF07YiYmYi50eXBlPT09InRleHQiJiYoYi52YWx1ZT1kNXQoYi52YWx1ZSkpfUFycmF5LmlzQXJyYXkoeCk/dS5wdXNoKC4uLngpOnUucHVzaCh4KX19fXJldHVybiB1fXMoYywiYWxsIil9ZnVuY3Rpb24gSGthKGEsZSl7YS5wb3NpdGlvbiYmKGUucG9zaXRpb249b2IoYSkpfWZ1bmN0aW9uIHFrYShhLGUpe2xldCB0PWU7aWYoYSYmYS5kYXRhKXtsZXQgcj1hLmRhdGEuaE5hbWUsaT1hLmRhdGEuaENoaWxkcmVuLG89YS5kYXRhLmhQcm9wZXJ0aWVzO2lmKHR5cGVvZiByPT0ic3RyaW5nIilpZih0LnR5cGU9PT0iZWxlbWVudCIpdC50YWdOYW1lPXI7ZWxzZXtsZXQgbj0iY2hpbGRyZW4iaW4gdD90LmNoaWxkcmVuOlt0XTt0PXt0eXBlOiJlbGVtZW50Iix0YWdOYW1lOnIscHJvcGVydGllczp7fSxjaGlsZHJlbjpufX10LnR5cGU9PT0iZWxlbWVudCImJm8mJk9iamVjdC5hc3NpZ24odC5wcm9wZXJ0aWVzLFcwKG8pKSwiY2hpbGRyZW4iaW4gdCYmdC5jaGlsZHJlbiYmaSE9PW51bGwmJmkhPT12b2lkIDAmJih0LmNoaWxkcmVuPWkpfXJldHVybiB0fWZ1bmN0aW9uIFZrYShhLGUpe2xldCB0PWUuZGF0YXx8e30scj0idmFsdWUiaW4gZSYmIShHM2UuY2FsbCh0LCJoUHJvcGVydGllcyIpfHxHM2UuY2FsbCh0LCJoQ2hpbGRyZW4iKSk/e3R5cGU6InRleHQiLHZhbHVlOmUudmFsdWV9Ont0eXBlOiJlbGVtZW50Iix0YWdOYW1lOiJkaXYiLHByb3BlcnRpZXM6e30sY2hpbGRyZW46YS5hbGwoZSl9O3JldHVybiBhLnBhdGNoKGUsciksYS5hcHBseURhdGEoZSxyKX1mdW5jdGlvbiBqa2EoYSxlKXtsZXQgdD1bXSxyPS0xO2ZvcihlJiZ0LnB1c2goe3R5cGU6InRleHQiLHZhbHVlOmAKYH0pOysrcjxhLmxlbmd0aDspciYmdC5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9KSx0LnB1c2goYVtyXSk7cmV0dXJuIGUmJmEubGVuZ3RoPjAmJnQucHVzaCh7dHlwZToidGV4dCIsdmFsdWU6YApgfSksdH1mdW5jdGlvbiBkNXQoYSl7bGV0IGU9MCx0PWEuY2hhckNvZGVBdChlKTtmb3IoO3Q9PT05fHx0PT09MzI7KWUrKyx0PWEuY2hhckNvZGVBdChlKTtyZXR1cm4gYS5zbGljZShlKX12YXIgRzNlLEJrYSxwNXQ9ZigoKT0+e3RKKCk7djRlKCk7c0ooKTtVM2UoKTtHM2U9e30uaGFzT3duUHJvcGVydHksQmthPXt9O3ModTV0LCJjcmVhdGVTdGF0ZSIpO3MoSGthLCJwYXRjaCIpO3MocWthLCJhcHBseURhdGEiKTtzKFZrYSwiZGVmYXVsdFVua25vd25IYW5kbGVyIik7cyhqa2EsIndyYXAiKTtzKGQ1dCwidHJpbU1hcmtkb3duU3BhY2VTdGFydCIpfSk7ZnVuY3Rpb24gWTNlKGEsZSl7bGV0IHQ9dTV0KGEsZSkscj10Lm9uZShhLHZvaWQgMCksaT1jNXQodCksbz1BcnJheS5pc0FycmF5KHIpP3t0eXBlOiJyb290IixjaGlsZHJlbjpyfTpyfHx7dHlwZToicm9vdCIsY2hpbGRyZW46W119O3JldHVybiBpJiYoImNoaWxkcmVuImluIG8sby5jaGlsZHJlbi5wdXNoKHt0eXBlOiJ0ZXh0Iix2YWx1ZTpgCmB9LGkpKSxvfXZhciBmNXQ9ZigoKT0+e0YwKCk7VzNlKCk7cDV0KCk7cyhZM2UsInRvSGFzdCIpfSk7dmFyIGg1dD1mKCgpPT57VTNlKCk7ZjV0KCk7VzNlKCl9KTt2YXIgbTV0LGc1dD1mKCgpPT57bTV0PVsiYXJlYSIsImJhc2UiLCJiYXNlZm9udCIsImJnc291bmQiLCJiciIsImNvbCIsImNvbW1hbmQiLCJlbWJlZCIsImZyYW1lIiwiaHIiLCJpbWFnZSIsImltZyIsImlucHV0Iiwia2V5Z2VuIiwibGluayIsIm1ldGEiLCJwYXJhbSIsInNvdXJjZSIsInRyYWNrIiwid2JyIl19KTt2YXIgVWwsSzNlPWYoKCk9PntVbD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTY2hlbWEiKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy5ub3JtYWw9dCx0aGlzLnByb3BlcnR5PWUsciYmKHRoaXMuc3BhY2U9cil9fTtVbC5wcm90b3R5cGUubm9ybWFsPXt9LFVsLnByb3RvdHlwZS5wcm9wZXJ0eT17fSxVbC5wcm90b3R5cGUuc3BhY2U9dm9pZCAwfSk7ZnVuY3Rpb24gWjNlKGEsZSl7bGV0IHQ9e30scj17fTtmb3IobGV0IGkgb2YgYSlPYmplY3QuYXNzaWduKHQsaS5wcm9wZXJ0eSksT2JqZWN0LmFzc2lnbihyLGkubm9ybWFsKTtyZXR1cm4gbmV3IFVsKHQscixlKX12YXIgYjV0PWYoKCk9PntLM2UoKTtzKFozZSwibWVyZ2UiKX0pO2Z1bmN0aW9uIEE4KGEpe3JldHVybiBhLnRvTG93ZXJDYXNlKCl9dmFyIGxKPWYoKCk9PntzKEE4LCJub3JtYWxpemUiKX0pO3ZhciBxcyxYM2U9ZigoKT0+e3FzPWNsYXNze3N0YXRpY3tzKHRoaXMsIkluZm8iKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuYXR0cmlidXRlPXQsdGhpcy5wcm9wZXJ0eT1lfX07cXMucHJvdG90eXBlLmF0dHJpYnV0ZT0iIixxcy5wcm90b3R5cGUuYm9vbGVhbmlzaD0hMSxxcy5wcm90b3R5cGUuYm9vbGVhbj0hMSxxcy5wcm90b3R5cGUuY29tbWFPclNwYWNlU2VwYXJhdGVkPSExLHFzLnByb3RvdHlwZS5jb21tYVNlcGFyYXRlZD0hMSxxcy5wcm90b3R5cGUuZGVmaW5lZD0hMSxxcy5wcm90b3R5cGUubXVzdFVzZVByb3BlcnR5PSExLHFzLnByb3RvdHlwZS5udW1iZXI9ITEscXMucHJvdG90eXBlLm92ZXJsb2FkZWRCb29sZWFuPSExLHFzLnByb3RvdHlwZS5wcm9wZXJ0eT0iIixxcy5wcm90b3R5cGUuc3BhY2VTZXBhcmF0ZWQ9ITEscXMucHJvdG90eXBlLnNwYWNlPXZvaWQgMH0pO3ZhciBsYj17fTtsdChsYix7Ym9vbGVhbjooKT0+anQsYm9vbGVhbmlzaDooKT0+TnIsY29tbWFPclNwYWNlU2VwYXJhdGVkOigpPT5Ubyxjb21tYVNlcGFyYXRlZDooKT0+WTAsbnVtYmVyOigpPT5HZSxvdmVybG9hZGVkQm9vbGVhbjooKT0+Y0osc3BhY2VTZXBhcmF0ZWQ6KCk9PkdhfSk7ZnVuY3Rpb24gdGQoKXtyZXR1cm4gMioqKytVa2F9dmFyIFVrYSxqdCxOcixjSixHZSxHYSxZMCxUbyxjYj1mKCgpPT57VWthPTAsanQ9dGQoKSxOcj10ZCgpLGNKPXRkKCksR2U9dGQoKSxHYT10ZCgpLFkwPXRkKCksVG89dGQoKTtzKHRkLCJpbmNyZW1lbnQiKX0pO2Z1bmN0aW9uIHY1dChhLGUsdCl7dCYmKGFbZV09dCl9dmFyIFEzZSxhZCxKM2U9ZigoKT0+e1gzZSgpO2NiKCk7UTNlPU9iamVjdC5rZXlzKGxiKSxhZD1jbGFzcyBleHRlbmRzIHFze3N0YXRpY3tzKHRoaXMsIkRlZmluZWRJbmZvIil9Y29uc3RydWN0b3IoZSx0LHIsaSl7bGV0IG89LTE7aWYoc3VwZXIoZSx0KSx2NXQodGhpcywic3BhY2UiLGkpLHR5cGVvZiByPT0ibnVtYmVyIilmb3IoOysrbzxRM2UubGVuZ3RoOyl7bGV0IG49UTNlW29dO3Y1dCh0aGlzLFEzZVtvXSwociZsYltuXSk9PT1sYltuXSl9fX07YWQucHJvdG90eXBlLmRlZmluZWQ9ITA7cyh2NXQsIm1hcmsiKX0pO2Z1bmN0aW9uIHpuKGEpe2xldCBlPXt9LHQ9e307Zm9yKGxldFtyLGldb2YgT2JqZWN0LmVudHJpZXMoYS5wcm9wZXJ0aWVzKSl7bGV0IG89bmV3IGFkKHIsYS50cmFuc2Zvcm0oYS5hdHRyaWJ1dGVzfHx7fSxyKSxpLGEuc3BhY2UpO2EubXVzdFVzZVByb3BlcnR5JiZhLm11c3RVc2VQcm9wZXJ0eS5pbmNsdWRlcyhyKSYmKG8ubXVzdFVzZVByb3BlcnR5PSEwKSxlW3JdPW8sdFtBOChyKV09cix0W0E4KG8uYXR0cmlidXRlKV09cn1yZXR1cm4gbmV3IFVsKGUsdCxhLnNwYWNlKX12YXIgcmQ9ZigoKT0+e2xKKCk7SjNlKCk7SzNlKCk7cyh6biwiY3JlYXRlIil9KTt2YXIgZWRlLHg1dD1mKCgpPT57cmQoKTtjYigpO2VkZT16bih7cHJvcGVydGllczp7YXJpYUFjdGl2ZURlc2NlbmRhbnQ6bnVsbCxhcmlhQXRvbWljOk5yLGFyaWFBdXRvQ29tcGxldGU6bnVsbCxhcmlhQnVzeTpOcixhcmlhQ2hlY2tlZDpOcixhcmlhQ29sQ291bnQ6R2UsYXJpYUNvbEluZGV4OkdlLGFyaWFDb2xTcGFuOkdlLGFyaWFDb250cm9sczpHYSxhcmlhQ3VycmVudDpudWxsLGFyaWFEZXNjcmliZWRCeTpHYSxhcmlhRGV0YWlsczpudWxsLGFyaWFEaXNhYmxlZDpOcixhcmlhRHJvcEVmZmVjdDpHYSxhcmlhRXJyb3JNZXNzYWdlOm51bGwsYXJpYUV4cGFuZGVkOk5yLGFyaWFGbG93VG86R2EsYXJpYUdyYWJiZWQ6TnIsYXJpYUhhc1BvcHVwOm51bGwsYXJpYUhpZGRlbjpOcixhcmlhSW52YWxpZDpudWxsLGFyaWFLZXlTaG9ydGN1dHM6bnVsbCxhcmlhTGFiZWw6bnVsbCxhcmlhTGFiZWxsZWRCeTpHYSxhcmlhTGV2ZWw6R2UsYXJpYUxpdmU6bnVsbCxhcmlhTW9kYWw6TnIsYXJpYU11bHRpTGluZTpOcixhcmlhTXVsdGlTZWxlY3RhYmxlOk5yLGFyaWFPcmllbnRhdGlvbjpudWxsLGFyaWFPd25zOkdhLGFyaWFQbGFjZWhvbGRlcjpudWxsLGFyaWFQb3NJblNldDpHZSxhcmlhUHJlc3NlZDpOcixhcmlhUmVhZE9ubHk6TnIsYXJpYVJlbGV2YW50Om51bGwsYXJpYVJlcXVpcmVkOk5yLGFyaWFSb2xlRGVzY3JpcHRpb246R2EsYXJpYVJvd0NvdW50OkdlLGFyaWFSb3dJbmRleDpHZSxhcmlhUm93U3BhbjpHZSxhcmlhU2VsZWN0ZWQ6TnIsYXJpYVNldFNpemU6R2UsYXJpYVNvcnQ6bnVsbCxhcmlhVmFsdWVNYXg6R2UsYXJpYVZhbHVlTWluOkdlLGFyaWFWYWx1ZU5vdzpHZSxhcmlhVmFsdWVUZXh0Om51bGwscm9sZTpudWxsfSx0cmFuc2Zvcm0oYSxlKXtyZXR1cm4gZT09PSJyb2xlIj9lOiJhcmlhLSIrZS5zbGljZSg0KS50b0xvd2VyQ2FzZSgpfX0pfSk7ZnVuY3Rpb24gZEooYSxlKXtyZXR1cm4gZSBpbiBhP2FbZV06ZX12YXIgdGRlPWYoKCk9PntzKGRKLCJjYXNlU2Vuc2l0aXZlVHJhbnNmb3JtIil9KTtmdW5jdGlvbiB1SihhLGUpe3JldHVybiBkSihhLGUudG9Mb3dlckNhc2UoKSl9dmFyIGFkZT1mKCgpPT57dGRlKCk7cyh1SiwiY2FzZUluc2Vuc2l0aXZlVHJhbnNmb3JtIil9KTt2YXIgeTV0LHc1dD1mKCgpPT57YWRlKCk7cmQoKTtjYigpO3k1dD16bih7YXR0cmlidXRlczp7YWNjZXB0Y2hhcnNldDoiYWNjZXB0LWNoYXJzZXQiLGNsYXNzbmFtZToiY2xhc3MiLGh0bWxmb3I6ImZvciIsaHR0cGVxdWl2OiJodHRwLWVxdWl2In0sbXVzdFVzZVByb3BlcnR5OlsiY2hlY2tlZCIsIm11bHRpcGxlIiwibXV0ZWQiLCJzZWxlY3RlZCJdLHByb3BlcnRpZXM6e2FiYnI6bnVsbCxhY2NlcHQ6WTAsYWNjZXB0Q2hhcnNldDpHYSxhY2Nlc3NLZXk6R2EsYWN0aW9uOm51bGwsYWxsb3c6bnVsbCxhbGxvd0Z1bGxTY3JlZW46anQsYWxsb3dQYXltZW50UmVxdWVzdDpqdCxhbGxvd1VzZXJNZWRpYTpqdCxhbHQ6bnVsbCxhczpudWxsLGFzeW5jOmp0LGF1dG9DYXBpdGFsaXplOm51bGwsYXV0b0NvbXBsZXRlOkdhLGF1dG9Gb2N1czpqdCxhdXRvUGxheTpqdCxibG9ja2luZzpHYSxjYXB0dXJlOm51bGwsY2hhclNldDpudWxsLGNoZWNrZWQ6anQsY2l0ZTpudWxsLGNsYXNzTmFtZTpHYSxjb2xzOkdlLGNvbFNwYW46bnVsbCxjb250ZW50Om51bGwsY29udGVudEVkaXRhYmxlOk5yLGNvbnRyb2xzOmp0LGNvbnRyb2xzTGlzdDpHYSxjb29yZHM6R2V8WTAsY3Jvc3NPcmlnaW46bnVsbCxkYXRhOm51bGwsZGF0ZVRpbWU6bnVsbCxkZWNvZGluZzpudWxsLGRlZmF1bHQ6anQsZGVmZXI6anQsZGlyOm51bGwsZGlyTmFtZTpudWxsLGRpc2FibGVkOmp0LGRvd25sb2FkOmNKLGRyYWdnYWJsZTpOcixlbmNUeXBlOm51bGwsZW50ZXJLZXlIaW50Om51bGwsZmV0Y2hQcmlvcml0eTpudWxsLGZvcm06bnVsbCxmb3JtQWN0aW9uOm51bGwsZm9ybUVuY1R5cGU6bnVsbCxmb3JtTWV0aG9kOm51bGwsZm9ybU5vVmFsaWRhdGU6anQsZm9ybVRhcmdldDpudWxsLGhlYWRlcnM6R2EsaGVpZ2h0OkdlLGhpZGRlbjpjSixoaWdoOkdlLGhyZWY6bnVsbCxocmVmTGFuZzpudWxsLGh0bWxGb3I6R2EsaHR0cEVxdWl2OkdhLGlkOm51bGwsaW1hZ2VTaXplczpudWxsLGltYWdlU3JjU2V0Om51bGwsaW5lcnQ6anQsaW5wdXRNb2RlOm51bGwsaW50ZWdyaXR5Om51bGwsaXM6bnVsbCxpc01hcDpqdCxpdGVtSWQ6bnVsbCxpdGVtUHJvcDpHYSxpdGVtUmVmOkdhLGl0ZW1TY29wZTpqdCxpdGVtVHlwZTpHYSxraW5kOm51bGwsbGFiZWw6bnVsbCxsYW5nOm51bGwsbGFuZ3VhZ2U6bnVsbCxsaXN0Om51bGwsbG9hZGluZzpudWxsLGxvb3A6anQsbG93OkdlLG1hbmlmZXN0Om51bGwsbWF4Om51bGwsbWF4TGVuZ3RoOkdlLG1lZGlhOm51bGwsbWV0aG9kOm51bGwsbWluOm51bGwsbWluTGVuZ3RoOkdlLG11bHRpcGxlOmp0LG11dGVkOmp0LG5hbWU6bnVsbCxub25jZTpudWxsLG5vTW9kdWxlOmp0LG5vVmFsaWRhdGU6anQsb25BYm9ydDpudWxsLG9uQWZ0ZXJQcmludDpudWxsLG9uQXV4Q2xpY2s6bnVsbCxvbkJlZm9yZU1hdGNoOm51bGwsb25CZWZvcmVQcmludDpudWxsLG9uQmVmb3JlVG9nZ2xlOm51bGwsb25CZWZvcmVVbmxvYWQ6bnVsbCxvbkJsdXI6bnVsbCxvbkNhbmNlbDpudWxsLG9uQ2FuUGxheTpudWxsLG9uQ2FuUGxheVRocm91Z2g6bnVsbCxvbkNoYW5nZTpudWxsLG9uQ2xpY2s6bnVsbCxvbkNsb3NlOm51bGwsb25Db250ZXh0TG9zdDpudWxsLG9uQ29udGV4dE1lbnU6bnVsbCxvbkNvbnRleHRSZXN0b3JlZDpudWxsLG9uQ29weTpudWxsLG9uQ3VlQ2hhbmdlOm51bGwsb25DdXQ6bnVsbCxvbkRibENsaWNrOm51bGwsb25EcmFnOm51bGwsb25EcmFnRW5kOm51bGwsb25EcmFnRW50ZXI6bnVsbCxvbkRyYWdFeGl0Om51bGwsb25EcmFnTGVhdmU6bnVsbCxvbkRyYWdPdmVyOm51bGwsb25EcmFnU3RhcnQ6bnVsbCxvbkRyb3A6bnVsbCxvbkR1cmF0aW9uQ2hhbmdlOm51bGwsb25FbXB0aWVkOm51bGwsb25FbmRlZDpudWxsLG9uRXJyb3I6bnVsbCxvbkZvY3VzOm51bGwsb25Gb3JtRGF0YTpudWxsLG9uSGFzaENoYW5nZTpudWxsLG9uSW5wdXQ6bnVsbCxvbkludmFsaWQ6bnVsbCxvbktleURvd246bnVsbCxvbktleVByZXNzOm51bGwsb25LZXlVcDpudWxsLG9uTGFuZ3VhZ2VDaGFuZ2U6bnVsbCxvbkxvYWQ6bnVsbCxvbkxvYWRlZERhdGE6bnVsbCxvbkxvYWRlZE1ldGFkYXRhOm51bGwsb25Mb2FkRW5kOm51bGwsb25Mb2FkU3RhcnQ6bnVsbCxvbk1lc3NhZ2U6bnVsbCxvbk1lc3NhZ2VFcnJvcjpudWxsLG9uTW91c2VEb3duOm51bGwsb25Nb3VzZUVudGVyOm51bGwsb25Nb3VzZUxlYXZlOm51bGwsb25Nb3VzZU1vdmU6bnVsbCxvbk1vdXNlT3V0Om51bGwsb25Nb3VzZU92ZXI6bnVsbCxvbk1vdXNlVXA6bnVsbCxvbk9mZmxpbmU6bnVsbCxvbk9ubGluZTpudWxsLG9uUGFnZUhpZGU6bnVsbCxvblBhZ2VTaG93Om51bGwsb25QYXN0ZTpudWxsLG9uUGF1c2U6bnVsbCxvblBsYXk6bnVsbCxvblBsYXlpbmc6bnVsbCxvblBvcFN0YXRlOm51bGwsb25Qcm9ncmVzczpudWxsLG9uUmF0ZUNoYW5nZTpudWxsLG9uUmVqZWN0aW9uSGFuZGxlZDpudWxsLG9uUmVzZXQ6bnVsbCxvblJlc2l6ZTpudWxsLG9uU2Nyb2xsOm51bGwsb25TY3JvbGxFbmQ6bnVsbCxvblNlY3VyaXR5UG9saWN5VmlvbGF0aW9uOm51bGwsb25TZWVrZWQ6bnVsbCxvblNlZWtpbmc6bnVsbCxvblNlbGVjdDpudWxsLG9uU2xvdENoYW5nZTpudWxsLG9uU3RhbGxlZDpudWxsLG9uU3RvcmFnZTpudWxsLG9uU3VibWl0Om51bGwsb25TdXNwZW5kOm51bGwsb25UaW1lVXBkYXRlOm51bGwsb25Ub2dnbGU6bnVsbCxvblVuaGFuZGxlZFJlamVjdGlvbjpudWxsLG9uVW5sb2FkOm51bGwsb25Wb2x1bWVDaGFuZ2U6bnVsbCxvbldhaXRpbmc6bnVsbCxvbldoZWVsOm51bGwsb3BlbjpqdCxvcHRpbXVtOkdlLHBhdHRlcm46bnVsbCxwaW5nOkdhLHBsYWNlaG9sZGVyOm51bGwscGxheXNJbmxpbmU6anQscG9wb3ZlcjpudWxsLHBvcG92ZXJUYXJnZXQ6bnVsbCxwb3BvdmVyVGFyZ2V0QWN0aW9uOm51bGwscG9zdGVyOm51bGwscHJlbG9hZDpudWxsLHJlYWRPbmx5Omp0LHJlZmVycmVyUG9saWN5Om51bGwscmVsOkdhLHJlcXVpcmVkOmp0LHJldmVyc2VkOmp0LHJvd3M6R2Uscm93U3BhbjpHZSxzYW5kYm94OkdhLHNjb3BlOm51bGwsc2NvcGVkOmp0LHNlYW1sZXNzOmp0LHNlbGVjdGVkOmp0LHNoYWRvd1Jvb3RDbG9uYWJsZTpqdCxzaGFkb3dSb290RGVsZWdhdGVzRm9jdXM6anQsc2hhZG93Um9vdE1vZGU6bnVsbCxzaGFwZTpudWxsLHNpemU6R2Usc2l6ZXM6bnVsbCxzbG90Om51bGwsc3BhbjpHZSxzcGVsbENoZWNrOk5yLHNyYzpudWxsLHNyY0RvYzpudWxsLHNyY0xhbmc6bnVsbCxzcmNTZXQ6bnVsbCxzdGFydDpHZSxzdGVwOm51bGwsc3R5bGU6bnVsbCx0YWJJbmRleDpHZSx0YXJnZXQ6bnVsbCx0aXRsZTpudWxsLHRyYW5zbGF0ZTpudWxsLHR5cGU6bnVsbCx0eXBlTXVzdE1hdGNoOmp0LHVzZU1hcDpudWxsLHZhbHVlOk5yLHdpZHRoOkdlLHdyYXA6bnVsbCx3cml0aW5nU3VnZ2VzdGlvbnM6bnVsbCxhbGlnbjpudWxsLGFMaW5rOm51bGwsYXJjaGl2ZTpHYSxheGlzOm51bGwsYmFja2dyb3VuZDpudWxsLGJnQ29sb3I6bnVsbCxib3JkZXI6R2UsYm9yZGVyQ29sb3I6bnVsbCxib3R0b21NYXJnaW46R2UsY2VsbFBhZGRpbmc6bnVsbCxjZWxsU3BhY2luZzpudWxsLGNoYXI6bnVsbCxjaGFyT2ZmOm51bGwsY2xhc3NJZDpudWxsLGNsZWFyOm51bGwsY29kZTpudWxsLGNvZGVCYXNlOm51bGwsY29kZVR5cGU6bnVsbCxjb2xvcjpudWxsLGNvbXBhY3Q6anQsZGVjbGFyZTpqdCxldmVudDpudWxsLGZhY2U6bnVsbCxmcmFtZTpudWxsLGZyYW1lQm9yZGVyOm51bGwsaFNwYWNlOkdlLGxlZnRNYXJnaW46R2UsbGluazpudWxsLGxvbmdEZXNjOm51bGwsbG93U3JjOm51bGwsbWFyZ2luSGVpZ2h0OkdlLG1hcmdpbldpZHRoOkdlLG5vUmVzaXplOmp0LG5vSHJlZjpqdCxub1NoYWRlOmp0LG5vV3JhcDpqdCxvYmplY3Q6bnVsbCxwcm9maWxlOm51bGwscHJvbXB0Om51bGwscmV2Om51bGwscmlnaHRNYXJnaW46R2UscnVsZXM6bnVsbCxzY2hlbWU6bnVsbCxzY3JvbGxpbmc6TnIsc3RhbmRieTpudWxsLHN1bW1hcnk6bnVsbCx0ZXh0Om51bGwsdG9wTWFyZ2luOkdlLHZhbHVlVHlwZTpudWxsLHZlcnNpb246bnVsbCx2QWxpZ246bnVsbCx2TGluazpudWxsLHZTcGFjZTpHZSxhbGxvd1RyYW5zcGFyZW5jeTpudWxsLGF1dG9Db3JyZWN0Om51bGwsYXV0b1NhdmU6bnVsbCxkaXNhYmxlUGljdHVyZUluUGljdHVyZTpqdCxkaXNhYmxlUmVtb3RlUGxheWJhY2s6anQscHJlZml4Om51bGwscHJvcGVydHk6bnVsbCxyZXN1bHRzOkdlLHNlY3VyaXR5Om51bGwsdW5zZWxlY3RhYmxlOm51bGx9LHNwYWNlOiJodG1sIix0cmFuc2Zvcm06dUp9KX0pO3ZhciBNNXQsazV0PWYoKCk9Pnt0ZGUoKTtyZCgpO2NiKCk7TTV0PXpuKHthdHRyaWJ1dGVzOnthY2NlbnRIZWlnaHQ6ImFjY2VudC1oZWlnaHQiLGFsaWdubWVudEJhc2VsaW5lOiJhbGlnbm1lbnQtYmFzZWxpbmUiLGFyYWJpY0Zvcm06ImFyYWJpYy1mb3JtIixiYXNlbGluZVNoaWZ0OiJiYXNlbGluZS1zaGlmdCIsY2FwSGVpZ2h0OiJjYXAtaGVpZ2h0IixjbGFzc05hbWU6ImNsYXNzIixjbGlwUGF0aDoiY2xpcC1wYXRoIixjbGlwUnVsZToiY2xpcC1ydWxlIixjb2xvckludGVycG9sYXRpb246ImNvbG9yLWludGVycG9sYXRpb24iLGNvbG9ySW50ZXJwb2xhdGlvbkZpbHRlcnM6ImNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycyIsY29sb3JQcm9maWxlOiJjb2xvci1wcm9maWxlIixjb2xvclJlbmRlcmluZzoiY29sb3ItcmVuZGVyaW5nIixjcm9zc09yaWdpbjoiY3Jvc3NvcmlnaW4iLGRhdGFUeXBlOiJkYXRhdHlwZSIsZG9taW5hbnRCYXNlbGluZToiZG9taW5hbnQtYmFzZWxpbmUiLGVuYWJsZUJhY2tncm91bmQ6ImVuYWJsZS1iYWNrZ3JvdW5kIixmaWxsT3BhY2l0eToiZmlsbC1vcGFjaXR5IixmaWxsUnVsZToiZmlsbC1ydWxlIixmbG9vZENvbG9yOiJmbG9vZC1jb2xvciIsZmxvb2RPcGFjaXR5OiJmbG9vZC1vcGFjaXR5Iixmb250RmFtaWx5OiJmb250LWZhbWlseSIsZm9udFNpemU6ImZvbnQtc2l6ZSIsZm9udFNpemVBZGp1c3Q6ImZvbnQtc2l6ZS1hZGp1c3QiLGZvbnRTdHJldGNoOiJmb250LXN0cmV0Y2giLGZvbnRTdHlsZToiZm9udC1zdHlsZSIsZm9udFZhcmlhbnQ6ImZvbnQtdmFyaWFudCIsZm9udFdlaWdodDoiZm9udC13ZWlnaHQiLGdseXBoTmFtZToiZ2x5cGgtbmFtZSIsZ2x5cGhPcmllbnRhdGlvbkhvcml6b250YWw6ImdseXBoLW9yaWVudGF0aW9uLWhvcml6b250YWwiLGdseXBoT3JpZW50YXRpb25WZXJ0aWNhbDoiZ2x5cGgtb3JpZW50YXRpb24tdmVydGljYWwiLGhyZWZMYW5nOiJocmVmbGFuZyIsaG9yaXpBZHZYOiJob3Jpei1hZHYteCIsaG9yaXpPcmlnaW5YOiJob3Jpei1vcmlnaW4teCIsaG9yaXpPcmlnaW5ZOiJob3Jpei1vcmlnaW4teSIsaW1hZ2VSZW5kZXJpbmc6ImltYWdlLXJlbmRlcmluZyIsbGV0dGVyU3BhY2luZzoibGV0dGVyLXNwYWNpbmciLGxpZ2h0aW5nQ29sb3I6ImxpZ2h0aW5nLWNvbG9yIixtYXJrZXJFbmQ6Im1hcmtlci1lbmQiLG1hcmtlck1pZDoibWFya2VyLW1pZCIsbWFya2VyU3RhcnQ6Im1hcmtlci1zdGFydCIsbmF2RG93bjoibmF2LWRvd24iLG5hdkRvd25MZWZ0OiJuYXYtZG93bi1sZWZ0IixuYXZEb3duUmlnaHQ6Im5hdi1kb3duLXJpZ2h0IixuYXZMZWZ0OiJuYXYtbGVmdCIsbmF2TmV4dDoibmF2LW5leHQiLG5hdlByZXY6Im5hdi1wcmV2IixuYXZSaWdodDoibmF2LXJpZ2h0IixuYXZVcDoibmF2LXVwIixuYXZVcExlZnQ6Im5hdi11cC1sZWZ0IixuYXZVcFJpZ2h0OiJuYXYtdXAtcmlnaHQiLG9uQWJvcnQ6Im9uYWJvcnQiLG9uQWN0aXZhdGU6Im9uYWN0aXZhdGUiLG9uQWZ0ZXJQcmludDoib25hZnRlcnByaW50IixvbkJlZm9yZVByaW50OiJvbmJlZm9yZXByaW50IixvbkJlZ2luOiJvbmJlZ2luIixvbkNhbmNlbDoib25jYW5jZWwiLG9uQ2FuUGxheToib25jYW5wbGF5IixvbkNhblBsYXlUaHJvdWdoOiJvbmNhbnBsYXl0aHJvdWdoIixvbkNoYW5nZToib25jaGFuZ2UiLG9uQ2xpY2s6Im9uY2xpY2siLG9uQ2xvc2U6Im9uY2xvc2UiLG9uQ29weToib25jb3B5IixvbkN1ZUNoYW5nZToib25jdWVjaGFuZ2UiLG9uQ3V0OiJvbmN1dCIsb25EYmxDbGljazoib25kYmxjbGljayIsb25EcmFnOiJvbmRyYWciLG9uRHJhZ0VuZDoib25kcmFnZW5kIixvbkRyYWdFbnRlcjoib25kcmFnZW50ZXIiLG9uRHJhZ0V4aXQ6Im9uZHJhZ2V4aXQiLG9uRHJhZ0xlYXZlOiJvbmRyYWdsZWF2ZSIsb25EcmFnT3Zlcjoib25kcmFnb3ZlciIsb25EcmFnU3RhcnQ6Im9uZHJhZ3N0YXJ0IixvbkRyb3A6Im9uZHJvcCIsb25EdXJhdGlvbkNoYW5nZToib25kdXJhdGlvbmNoYW5nZSIsb25FbXB0aWVkOiJvbmVtcHRpZWQiLG9uRW5kOiJvbmVuZCIsb25FbmRlZDoib25lbmRlZCIsb25FcnJvcjoib25lcnJvciIsb25Gb2N1czoib25mb2N1cyIsb25Gb2N1c0luOiJvbmZvY3VzaW4iLG9uRm9jdXNPdXQ6Im9uZm9jdXNvdXQiLG9uSGFzaENoYW5nZToib25oYXNoY2hhbmdlIixvbklucHV0OiJvbmlucHV0IixvbkludmFsaWQ6Im9uaW52YWxpZCIsb25LZXlEb3duOiJvbmtleWRvd24iLG9uS2V5UHJlc3M6Im9ua2V5cHJlc3MiLG9uS2V5VXA6Im9ua2V5dXAiLG9uTG9hZDoib25sb2FkIixvbkxvYWRlZERhdGE6Im9ubG9hZGVkZGF0YSIsb25Mb2FkZWRNZXRhZGF0YToib25sb2FkZWRtZXRhZGF0YSIsb25Mb2FkU3RhcnQ6Im9ubG9hZHN0YXJ0Iixvbk1lc3NhZ2U6Im9ubWVzc2FnZSIsb25Nb3VzZURvd246Im9ubW91c2Vkb3duIixvbk1vdXNlRW50ZXI6Im9ubW91c2VlbnRlciIsb25Nb3VzZUxlYXZlOiJvbm1vdXNlbGVhdmUiLG9uTW91c2VNb3ZlOiJvbm1vdXNlbW92ZSIsb25Nb3VzZU91dDoib25tb3VzZW91dCIsb25Nb3VzZU92ZXI6Im9ubW91c2VvdmVyIixvbk1vdXNlVXA6Im9ubW91c2V1cCIsb25Nb3VzZVdoZWVsOiJvbm1vdXNld2hlZWwiLG9uT2ZmbGluZToib25vZmZsaW5lIixvbk9ubGluZToib25vbmxpbmUiLG9uUGFnZUhpZGU6Im9ucGFnZWhpZGUiLG9uUGFnZVNob3c6Im9ucGFnZXNob3ciLG9uUGFzdGU6Im9ucGFzdGUiLG9uUGF1c2U6Im9ucGF1c2UiLG9uUGxheToib25wbGF5IixvblBsYXlpbmc6Im9ucGxheWluZyIsb25Qb3BTdGF0ZToib25wb3BzdGF0ZSIsb25Qcm9ncmVzczoib25wcm9ncmVzcyIsb25SYXRlQ2hhbmdlOiJvbnJhdGVjaGFuZ2UiLG9uUmVwZWF0OiJvbnJlcGVhdCIsb25SZXNldDoib25yZXNldCIsb25SZXNpemU6Im9ucmVzaXplIixvblNjcm9sbDoib25zY3JvbGwiLG9uU2Vla2VkOiJvbnNlZWtlZCIsb25TZWVraW5nOiJvbnNlZWtpbmciLG9uU2VsZWN0OiJvbnNlbGVjdCIsb25TaG93OiJvbnNob3ciLG9uU3RhbGxlZDoib25zdGFsbGVkIixvblN0b3JhZ2U6Im9uc3RvcmFnZSIsb25TdWJtaXQ6Im9uc3VibWl0IixvblN1c3BlbmQ6Im9uc3VzcGVuZCIsb25UaW1lVXBkYXRlOiJvbnRpbWV1cGRhdGUiLG9uVG9nZ2xlOiJvbnRvZ2dsZSIsb25VbmxvYWQ6Im9udW5sb2FkIixvblZvbHVtZUNoYW5nZToib252b2x1bWVjaGFuZ2UiLG9uV2FpdGluZzoib253YWl0aW5nIixvblpvb206Im9uem9vbSIsb3ZlcmxpbmVQb3NpdGlvbjoib3ZlcmxpbmUtcG9zaXRpb24iLG92ZXJsaW5lVGhpY2tuZXNzOiJvdmVybGluZS10aGlja25lc3MiLHBhaW50T3JkZXI6InBhaW50LW9yZGVyIixwYW5vc2UxOiJwYW5vc2UtMSIscG9pbnRlckV2ZW50czoicG9pbnRlci1ldmVudHMiLHJlZmVycmVyUG9saWN5OiJyZWZlcnJlcnBvbGljeSIscmVuZGVyaW5nSW50ZW50OiJyZW5kZXJpbmctaW50ZW50IixzaGFwZVJlbmRlcmluZzoic2hhcGUtcmVuZGVyaW5nIixzdG9wQ29sb3I6InN0b3AtY29sb3IiLHN0b3BPcGFjaXR5OiJzdG9wLW9wYWNpdHkiLHN0cmlrZXRocm91Z2hQb3NpdGlvbjoic3RyaWtldGhyb3VnaC1wb3NpdGlvbiIsc3RyaWtldGhyb3VnaFRoaWNrbmVzczoic3RyaWtldGhyb3VnaC10aGlja25lc3MiLHN0cm9rZURhc2hBcnJheToic3Ryb2tlLWRhc2hhcnJheSIsc3Ryb2tlRGFzaE9mZnNldDoic3Ryb2tlLWRhc2hvZmZzZXQiLHN0cm9rZUxpbmVDYXA6InN0cm9rZS1saW5lY2FwIixzdHJva2VMaW5lSm9pbjoic3Ryb2tlLWxpbmVqb2luIixzdHJva2VNaXRlckxpbWl0OiJzdHJva2UtbWl0ZXJsaW1pdCIsc3Ryb2tlT3BhY2l0eToic3Ryb2tlLW9wYWNpdHkiLHN0cm9rZVdpZHRoOiJzdHJva2Utd2lkdGgiLHRhYkluZGV4OiJ0YWJpbmRleCIsdGV4dEFuY2hvcjoidGV4dC1hbmNob3IiLHRleHREZWNvcmF0aW9uOiJ0ZXh0LWRlY29yYXRpb24iLHRleHRSZW5kZXJpbmc6InRleHQtcmVuZGVyaW5nIix0cmFuc2Zvcm1PcmlnaW46InRyYW5zZm9ybS1vcmlnaW4iLHR5cGVPZjoidHlwZW9mIix1bmRlcmxpbmVQb3NpdGlvbjoidW5kZXJsaW5lLXBvc2l0aW9uIix1bmRlcmxpbmVUaGlja25lc3M6InVuZGVybGluZS10aGlja25lc3MiLHVuaWNvZGVCaWRpOiJ1bmljb2RlLWJpZGkiLHVuaWNvZGVSYW5nZToidW5pY29kZS1yYW5nZSIsdW5pdHNQZXJFbToidW5pdHMtcGVyLWVtIix2QWxwaGFiZXRpYzoidi1hbHBoYWJldGljIix2SGFuZ2luZzoidi1oYW5naW5nIix2SWRlb2dyYXBoaWM6InYtaWRlb2dyYXBoaWMiLHZNYXRoZW1hdGljYWw6InYtbWF0aGVtYXRpY2FsIix2ZWN0b3JFZmZlY3Q6InZlY3Rvci1lZmZlY3QiLHZlcnRBZHZZOiJ2ZXJ0LWFkdi15Iix2ZXJ0T3JpZ2luWDoidmVydC1vcmlnaW4teCIsdmVydE9yaWdpblk6InZlcnQtb3JpZ2luLXkiLHdvcmRTcGFjaW5nOiJ3b3JkLXNwYWNpbmciLHdyaXRpbmdNb2RlOiJ3cml0aW5nLW1vZGUiLHhIZWlnaHQ6IngtaGVpZ2h0IixwbGF5YmFja09yZGVyOiJwbGF5YmFja29yZGVyIix0aW1lbGluZUJlZ2luOiJ0aW1lbGluZWJlZ2luIn0scHJvcGVydGllczp7YWJvdXQ6VG8sYWNjZW50SGVpZ2h0OkdlLGFjY3VtdWxhdGU6bnVsbCxhZGRpdGl2ZTpudWxsLGFsaWdubWVudEJhc2VsaW5lOm51bGwsYWxwaGFiZXRpYzpHZSxhbXBsaXR1ZGU6R2UsYXJhYmljRm9ybTpudWxsLGFzY2VudDpHZSxhdHRyaWJ1dGVOYW1lOm51bGwsYXR0cmlidXRlVHlwZTpudWxsLGF6aW11dGg6R2UsYmFuZHdpZHRoOm51bGwsYmFzZWxpbmVTaGlmdDpudWxsLGJhc2VGcmVxdWVuY3k6bnVsbCxiYXNlUHJvZmlsZTpudWxsLGJib3g6bnVsbCxiZWdpbjpudWxsLGJpYXM6R2UsYnk6bnVsbCxjYWxjTW9kZTpudWxsLGNhcEhlaWdodDpHZSxjbGFzc05hbWU6R2EsY2xpcDpudWxsLGNsaXBQYXRoOm51bGwsY2xpcFBhdGhVbml0czpudWxsLGNsaXBSdWxlOm51bGwsY29sb3I6bnVsbCxjb2xvckludGVycG9sYXRpb246bnVsbCxjb2xvckludGVycG9sYXRpb25GaWx0ZXJzOm51bGwsY29sb3JQcm9maWxlOm51bGwsY29sb3JSZW5kZXJpbmc6bnVsbCxjb250ZW50Om51bGwsY29udGVudFNjcmlwdFR5cGU6bnVsbCxjb250ZW50U3R5bGVUeXBlOm51bGwsY3Jvc3NPcmlnaW46bnVsbCxjdXJzb3I6bnVsbCxjeDpudWxsLGN5Om51bGwsZDpudWxsLGRhdGFUeXBlOm51bGwsZGVmYXVsdEFjdGlvbjpudWxsLGRlc2NlbnQ6R2UsZGlmZnVzZUNvbnN0YW50OkdlLGRpcmVjdGlvbjpudWxsLGRpc3BsYXk6bnVsbCxkdXI6bnVsbCxkaXZpc29yOkdlLGRvbWluYW50QmFzZWxpbmU6bnVsbCxkb3dubG9hZDpqdCxkeDpudWxsLGR5Om51bGwsZWRnZU1vZGU6bnVsbCxlZGl0YWJsZTpudWxsLGVsZXZhdGlvbjpHZSxlbmFibGVCYWNrZ3JvdW5kOm51bGwsZW5kOm51bGwsZXZlbnQ6bnVsbCxleHBvbmVudDpHZSxleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkOm51bGwsZmlsbDpudWxsLGZpbGxPcGFjaXR5OkdlLGZpbGxSdWxlOm51bGwsZmlsdGVyOm51bGwsZmlsdGVyUmVzOm51bGwsZmlsdGVyVW5pdHM6bnVsbCxmbG9vZENvbG9yOm51bGwsZmxvb2RPcGFjaXR5Om51bGwsZm9jdXNhYmxlOm51bGwsZm9jdXNIaWdobGlnaHQ6bnVsbCxmb250RmFtaWx5Om51bGwsZm9udFNpemU6bnVsbCxmb250U2l6ZUFkanVzdDpudWxsLGZvbnRTdHJldGNoOm51bGwsZm9udFN0eWxlOm51bGwsZm9udFZhcmlhbnQ6bnVsbCxmb250V2VpZ2h0Om51bGwsZm9ybWF0Om51bGwsZnI6bnVsbCxmcm9tOm51bGwsZng6bnVsbCxmeTpudWxsLGcxOlkwLGcyOlkwLGdseXBoTmFtZTpZMCxnbHlwaE9yaWVudGF0aW9uSG9yaXpvbnRhbDpudWxsLGdseXBoT3JpZW50YXRpb25WZXJ0aWNhbDpudWxsLGdseXBoUmVmOm51bGwsZ3JhZGllbnRUcmFuc2Zvcm06bnVsbCxncmFkaWVudFVuaXRzOm51bGwsaGFuZGxlcjpudWxsLGhhbmdpbmc6R2UsaGF0Y2hDb250ZW50VW5pdHM6bnVsbCxoYXRjaFVuaXRzOm51bGwsaGVpZ2h0Om51bGwsaHJlZjpudWxsLGhyZWZMYW5nOm51bGwsaG9yaXpBZHZYOkdlLGhvcml6T3JpZ2luWDpHZSxob3Jpek9yaWdpblk6R2UsaWQ6bnVsbCxpZGVvZ3JhcGhpYzpHZSxpbWFnZVJlbmRlcmluZzpudWxsLGluaXRpYWxWaXNpYmlsaXR5Om51bGwsaW46bnVsbCxpbjI6bnVsbCxpbnRlcmNlcHQ6R2UsazpHZSxrMTpHZSxrMjpHZSxrMzpHZSxrNDpHZSxrZXJuZWxNYXRyaXg6VG8sa2VybmVsVW5pdExlbmd0aDpudWxsLGtleVBvaW50czpudWxsLGtleVNwbGluZXM6bnVsbCxrZXlUaW1lczpudWxsLGtlcm5pbmc6bnVsbCxsYW5nOm51bGwsbGVuZ3RoQWRqdXN0Om51bGwsbGV0dGVyU3BhY2luZzpudWxsLGxpZ2h0aW5nQ29sb3I6bnVsbCxsaW1pdGluZ0NvbmVBbmdsZTpHZSxsb2NhbDpudWxsLG1hcmtlckVuZDpudWxsLG1hcmtlck1pZDpudWxsLG1hcmtlclN0YXJ0Om51bGwsbWFya2VySGVpZ2h0Om51bGwsbWFya2VyVW5pdHM6bnVsbCxtYXJrZXJXaWR0aDpudWxsLG1hc2s6bnVsbCxtYXNrQ29udGVudFVuaXRzOm51bGwsbWFza1VuaXRzOm51bGwsbWF0aGVtYXRpY2FsOm51bGwsbWF4Om51bGwsbWVkaWE6bnVsbCxtZWRpYUNoYXJhY3RlckVuY29kaW5nOm51bGwsbWVkaWFDb250ZW50RW5jb2RpbmdzOm51bGwsbWVkaWFTaXplOkdlLG1lZGlhVGltZTpudWxsLG1ldGhvZDpudWxsLG1pbjpudWxsLG1vZGU6bnVsbCxuYW1lOm51bGwsbmF2RG93bjpudWxsLG5hdkRvd25MZWZ0Om51bGwsbmF2RG93blJpZ2h0Om51bGwsbmF2TGVmdDpudWxsLG5hdk5leHQ6bnVsbCxuYXZQcmV2Om51bGwsbmF2UmlnaHQ6bnVsbCxuYXZVcDpudWxsLG5hdlVwTGVmdDpudWxsLG5hdlVwUmlnaHQ6bnVsbCxudW1PY3RhdmVzOm51bGwsb2JzZXJ2ZXI6bnVsbCxvZmZzZXQ6bnVsbCxvbkFib3J0Om51bGwsb25BY3RpdmF0ZTpudWxsLG9uQWZ0ZXJQcmludDpudWxsLG9uQmVmb3JlUHJpbnQ6bnVsbCxvbkJlZ2luOm51bGwsb25DYW5jZWw6bnVsbCxvbkNhblBsYXk6bnVsbCxvbkNhblBsYXlUaHJvdWdoOm51bGwsb25DaGFuZ2U6bnVsbCxvbkNsaWNrOm51bGwsb25DbG9zZTpudWxsLG9uQ29weTpudWxsLG9uQ3VlQ2hhbmdlOm51bGwsb25DdXQ6bnVsbCxvbkRibENsaWNrOm51bGwsb25EcmFnOm51bGwsb25EcmFnRW5kOm51bGwsb25EcmFnRW50ZXI6bnVsbCxvbkRyYWdFeGl0Om51bGwsb25EcmFnTGVhdmU6bnVsbCxvbkRyYWdPdmVyOm51bGwsb25EcmFnU3RhcnQ6bnVsbCxvbkRyb3A6bnVsbCxvbkR1cmF0aW9uQ2hhbmdlOm51bGwsb25FbXB0aWVkOm51bGwsb25FbmQ6bnVsbCxvbkVuZGVkOm51bGwsb25FcnJvcjpudWxsLG9uRm9jdXM6bnVsbCxvbkZvY3VzSW46bnVsbCxvbkZvY3VzT3V0Om51bGwsb25IYXNoQ2hhbmdlOm51bGwsb25JbnB1dDpudWxsLG9uSW52YWxpZDpudWxsLG9uS2V5RG93bjpudWxsLG9uS2V5UHJlc3M6bnVsbCxvbktleVVwOm51bGwsb25Mb2FkOm51bGwsb25Mb2FkZWREYXRhOm51bGwsb25Mb2FkZWRNZXRhZGF0YTpudWxsLG9uTG9hZFN0YXJ0Om51bGwsb25NZXNzYWdlOm51bGwsb25Nb3VzZURvd246bnVsbCxvbk1vdXNlRW50ZXI6bnVsbCxvbk1vdXNlTGVhdmU6bnVsbCxvbk1vdXNlTW92ZTpudWxsLG9uTW91c2VPdXQ6bnVsbCxvbk1vdXNlT3ZlcjpudWxsLG9uTW91c2VVcDpudWxsLG9uTW91c2VXaGVlbDpudWxsLG9uT2ZmbGluZTpudWxsLG9uT25saW5lOm51bGwsb25QYWdlSGlkZTpudWxsLG9uUGFnZVNob3c6bnVsbCxvblBhc3RlOm51bGwsb25QYXVzZTpudWxsLG9uUGxheTpudWxsLG9uUGxheWluZzpudWxsLG9uUG9wU3RhdGU6bnVsbCxvblByb2dyZXNzOm51bGwsb25SYXRlQ2hhbmdlOm51bGwsb25SZXBlYXQ6bnVsbCxvblJlc2V0Om51bGwsb25SZXNpemU6bnVsbCxvblNjcm9sbDpudWxsLG9uU2Vla2VkOm51bGwsb25TZWVraW5nOm51bGwsb25TZWxlY3Q6bnVsbCxvblNob3c6bnVsbCxvblN0YWxsZWQ6bnVsbCxvblN0b3JhZ2U6bnVsbCxvblN1Ym1pdDpudWxsLG9uU3VzcGVuZDpudWxsLG9uVGltZVVwZGF0ZTpudWxsLG9uVG9nZ2xlOm51bGwsb25VbmxvYWQ6bnVsbCxvblZvbHVtZUNoYW5nZTpudWxsLG9uV2FpdGluZzpudWxsLG9uWm9vbTpudWxsLG9wYWNpdHk6bnVsbCxvcGVyYXRvcjpudWxsLG9yZGVyOm51bGwsb3JpZW50Om51bGwsb3JpZW50YXRpb246bnVsbCxvcmlnaW46bnVsbCxvdmVyZmxvdzpudWxsLG92ZXJsYXk6bnVsbCxvdmVybGluZVBvc2l0aW9uOkdlLG92ZXJsaW5lVGhpY2tuZXNzOkdlLHBhaW50T3JkZXI6bnVsbCxwYW5vc2UxOm51bGwscGF0aDpudWxsLHBhdGhMZW5ndGg6R2UscGF0dGVybkNvbnRlbnRVbml0czpudWxsLHBhdHRlcm5UcmFuc2Zvcm06bnVsbCxwYXR0ZXJuVW5pdHM6bnVsbCxwaGFzZTpudWxsLHBpbmc6R2EscGl0Y2g6bnVsbCxwbGF5YmFja09yZGVyOm51bGwscG9pbnRlckV2ZW50czpudWxsLHBvaW50czpudWxsLHBvaW50c0F0WDpHZSxwb2ludHNBdFk6R2UscG9pbnRzQXRaOkdlLHByZXNlcnZlQWxwaGE6bnVsbCxwcmVzZXJ2ZUFzcGVjdFJhdGlvOm51bGwscHJpbWl0aXZlVW5pdHM6bnVsbCxwcm9wYWdhdGU6bnVsbCxwcm9wZXJ0eTpUbyxyOm51bGwscmFkaXVzOm51bGwscmVmZXJyZXJQb2xpY3k6bnVsbCxyZWZYOm51bGwscmVmWTpudWxsLHJlbDpUbyxyZXY6VG8scmVuZGVyaW5nSW50ZW50Om51bGwscmVwZWF0Q291bnQ6bnVsbCxyZXBlYXREdXI6bnVsbCxyZXF1aXJlZEV4dGVuc2lvbnM6VG8scmVxdWlyZWRGZWF0dXJlczpUbyxyZXF1aXJlZEZvbnRzOlRvLHJlcXVpcmVkRm9ybWF0czpUbyxyZXNvdXJjZTpudWxsLHJlc3RhcnQ6bnVsbCxyZXN1bHQ6bnVsbCxyb3RhdGU6bnVsbCxyeDpudWxsLHJ5Om51bGwsc2NhbGU6bnVsbCxzZWVkOm51bGwsc2hhcGVSZW5kZXJpbmc6bnVsbCxzaWRlOm51bGwsc2xvcGU6bnVsbCxzbmFwc2hvdFRpbWU6bnVsbCxzcGVjdWxhckNvbnN0YW50OkdlLHNwZWN1bGFyRXhwb25lbnQ6R2Usc3ByZWFkTWV0aG9kOm51bGwsc3BhY2luZzpudWxsLHN0YXJ0T2Zmc2V0Om51bGwsc3RkRGV2aWF0aW9uOm51bGwsc3RlbWg6bnVsbCxzdGVtdjpudWxsLHN0aXRjaFRpbGVzOm51bGwsc3RvcENvbG9yOm51bGwsc3RvcE9wYWNpdHk6bnVsbCxzdHJpa2V0aHJvdWdoUG9zaXRpb246R2Usc3RyaWtldGhyb3VnaFRoaWNrbmVzczpHZSxzdHJpbmc6bnVsbCxzdHJva2U6bnVsbCxzdHJva2VEYXNoQXJyYXk6VG8sc3Ryb2tlRGFzaE9mZnNldDpudWxsLHN0cm9rZUxpbmVDYXA6bnVsbCxzdHJva2VMaW5lSm9pbjpudWxsLHN0cm9rZU1pdGVyTGltaXQ6R2Usc3Ryb2tlT3BhY2l0eTpHZSxzdHJva2VXaWR0aDpudWxsLHN0eWxlOm51bGwsc3VyZmFjZVNjYWxlOkdlLHN5bmNCZWhhdmlvcjpudWxsLHN5bmNCZWhhdmlvckRlZmF1bHQ6bnVsbCxzeW5jTWFzdGVyOm51bGwsc3luY1RvbGVyYW5jZTpudWxsLHN5bmNUb2xlcmFuY2VEZWZhdWx0Om51bGwsc3lzdGVtTGFuZ3VhZ2U6VG8sdGFiSW5kZXg6R2UsdGFibGVWYWx1ZXM6bnVsbCx0YXJnZXQ6bnVsbCx0YXJnZXRYOkdlLHRhcmdldFk6R2UsdGV4dEFuY2hvcjpudWxsLHRleHREZWNvcmF0aW9uOm51bGwsdGV4dFJlbmRlcmluZzpudWxsLHRleHRMZW5ndGg6bnVsbCx0aW1lbGluZUJlZ2luOm51bGwsdGl0bGU6bnVsbCx0cmFuc2Zvcm1CZWhhdmlvcjpudWxsLHR5cGU6bnVsbCx0eXBlT2Y6VG8sdG86bnVsbCx0cmFuc2Zvcm06bnVsbCx0cmFuc2Zvcm1PcmlnaW46bnVsbCx1MTpudWxsLHUyOm51bGwsdW5kZXJsaW5lUG9zaXRpb246R2UsdW5kZXJsaW5lVGhpY2tuZXNzOkdlLHVuaWNvZGU6bnVsbCx1bmljb2RlQmlkaTpudWxsLHVuaWNvZGVSYW5nZTpudWxsLHVuaXRzUGVyRW06R2UsdmFsdWVzOm51bGwsdkFscGhhYmV0aWM6R2Usdk1hdGhlbWF0aWNhbDpHZSx2ZWN0b3JFZmZlY3Q6bnVsbCx2SGFuZ2luZzpHZSx2SWRlb2dyYXBoaWM6R2UsdmVyc2lvbjpudWxsLHZlcnRBZHZZOkdlLHZlcnRPcmlnaW5YOkdlLHZlcnRPcmlnaW5ZOkdlLHZpZXdCb3g6bnVsbCx2aWV3VGFyZ2V0Om51bGwsdmlzaWJpbGl0eTpudWxsLHdpZHRoOm51bGwsd2lkdGhzOm51bGwsd29yZFNwYWNpbmc6bnVsbCx3cml0aW5nTW9kZTpudWxsLHg6bnVsbCx4MTpudWxsLHgyOm51bGwseENoYW5uZWxTZWxlY3RvcjpudWxsLHhIZWlnaHQ6R2UseTpudWxsLHkxOm51bGwseTI6bnVsbCx5Q2hhbm5lbFNlbGVjdG9yOm51bGwsejpudWxsLHpvb21BbmRQYW46bnVsbH0sc3BhY2U6InN2ZyIsdHJhbnNmb3JtOmRKfSl9KTt2YXIgcmRlLFM1dD1mKCgpPT57cmQoKTtyZGU9em4oe3Byb3BlcnRpZXM6e3hMaW5rQWN0dWF0ZTpudWxsLHhMaW5rQXJjUm9sZTpudWxsLHhMaW5rSHJlZjpudWxsLHhMaW5rUm9sZTpudWxsLHhMaW5rU2hvdzpudWxsLHhMaW5rVGl0bGU6bnVsbCx4TGlua1R5cGU6bnVsbH0sc3BhY2U6InhsaW5rIix0cmFuc2Zvcm0oYSxlKXtyZXR1cm4ieGxpbms6IitlLnNsaWNlKDUpLnRvTG93ZXJDYXNlKCl9fSl9KTt2YXIgc2RlLHo1dD1mKCgpPT57cmQoKTthZGUoKTtzZGU9em4oe2F0dHJpYnV0ZXM6e3htbG5zeGxpbms6InhtbG5zOnhsaW5rIn0scHJvcGVydGllczp7eG1sbnNYTGluazpudWxsLHhtbG5zOm51bGx9LHNwYWNlOiJ4bWxucyIsdHJhbnNmb3JtOnVKfSl9KTt2YXIgaWRlLEM1dD1mKCgpPT57cmQoKTtpZGU9em4oe3Byb3BlcnRpZXM6e3htbEJhc2U6bnVsbCx4bWxMYW5nOm51bGwseG1sU3BhY2U6bnVsbH0sc3BhY2U6InhtbCIsdHJhbnNmb3JtKGEsZSl7cmV0dXJuInhtbDoiK2Uuc2xpY2UoMykudG9Mb3dlckNhc2UoKX19KX0pO3ZhciBfNXQ9ZigoKT0+e30pO2Z1bmN0aW9uIG9kZShhLGUpe2xldCB0PUE4KGUpLHI9ZSxpPXFzO2lmKHQgaW4gYS5ub3JtYWwpcmV0dXJuIGEucHJvcGVydHlbYS5ub3JtYWxbdF1dO2lmKHQubGVuZ3RoPjQmJnQuc2xpY2UoMCw0KT09PSJkYXRhIiYmR2thLnRlc3QoZSkpe2lmKGUuY2hhckF0KDQpPT09Ii0iKXtsZXQgbz1lLnNsaWNlKDUpLnJlcGxhY2UoVDV0LEtrYSk7cj0iZGF0YSIrby5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStvLnNsaWNlKDEpfWVsc2V7bGV0IG89ZS5zbGljZSg0KTtpZighVDV0LnRlc3Qobykpe2xldCBuPW8ucmVwbGFjZShXa2EsWWthKTtuLmNoYXJBdCgwKSE9PSItIiYmKG49Ii0iK24pLGU9ImRhdGEiK259fWk9YWR9cmV0dXJuIG5ldyBpKHIsZSl9ZnVuY3Rpb24gWWthKGEpe3JldHVybiItIithLnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gS2thKGEpe3JldHVybiBhLmNoYXJBdCgxKS50b1VwcGVyQ2FzZSgpfXZhciBXa2EsVDV0LEdrYSxMNXQ9ZigoKT0+e0ozZSgpO1gzZSgpO2xKKCk7V2thPS9bQS1aXS9nLFQ1dD0vLVthLXpdL2csR2thPS9eZGF0YVstXHcuOl0rJC9pO3Mob2RlLCJmaW5kIik7cyhZa2EsImtlYmFiIik7cyhLa2EsImNhbWVsY2FzZSIpfSk7dmFyICQ1dCxwSixuZGU9ZigoKT0+e2I1dCgpO3g1dCgpO3c1dCgpO2s1dCgpO1M1dCgpO3o1dCgpO0M1dCgpO181dCgpO0w1dCgpO2xKKCk7JDV0PVozZShbZWRlLHk1dCxyZGUsc2RlLGlkZV0sImh0bWwiKSxwSj1aM2UoW2VkZSxNNXQscmRlLHNkZSxpZGVdLCJzdmciKX0pO2Z1bmN0aW9uIGxkZShhLGUpe2lmKGE9YS5yZXBsYWNlKGUuc3Vic2V0P2VTYShlLnN1YnNldCk6WmthLHIpLGUuc3Vic2V0fHxlLmVzY2FwZU9ubHkpcmV0dXJuIGE7cmV0dXJuIGEucmVwbGFjZShYa2EsdCkucmVwbGFjZShRa2Escik7ZnVuY3Rpb24gdChpLG8sbil7cmV0dXJuIGUuZm9ybWF0KChpLmNoYXJDb2RlQXQoMCktNTUyOTYpKjEwMjQraS5jaGFyQ29kZUF0KDEpLTU2MzIwKzY1NTM2LG4uY2hhckNvZGVBdChvKzIpLGUpfWZ1bmN0aW9uIHIoaSxvLG4pe3JldHVybiBlLmZvcm1hdChpLmNoYXJDb2RlQXQoMCksbi5jaGFyQ29kZUF0KG8rMSksZSl9fWZ1bmN0aW9uIGVTYShhKXtsZXQgZT1ENXQuZ2V0KGEpO3JldHVybiBlfHwoZT10U2EoYSksRDV0LnNldChhLGUpKSxlfWZ1bmN0aW9uIHRTYShhKXtsZXQgZT1bXSx0PS0xO2Zvcig7Kyt0PGEubGVuZ3RoOyllLnB1c2goYVt0XS5yZXBsYWNlKEprYSwiXFwkJiIpKTtyZXR1cm4gbmV3IFJlZ0V4cCgiKD86IitlLmpvaW4oInwiKSsiKSIsImciKX12YXIgWmthLFhrYSxRa2EsSmthLEQ1dCxBNXQ9ZigoKT0+e1prYT0vWyImJzw+YF0vZyxYa2E9L1tcdUQ4MDAtXHVEQkZGXVtcdURDMDAtXHVERkZGXS9nLFFrYT0vW1x4MDEtXHRcdlxmXHgwRS1ceDFGXHg3Rlx4ODFceDhEXHg4Rlx4OTBceDlEXHhBMC1cdUZGRkZdL2csSmthPS9bfFxce30oKVtcXV4kKyo/Ll0vZyxENXQ9bmV3IFdlYWtNYXA7cyhsZGUsImNvcmUiKTtzKGVTYSwiY2hhcmFjdGVyc1RvRXhwcmVzc2lvbkNhY2hlZCIpO3ModFNhLCJjaGFyYWN0ZXJzVG9FeHByZXNzaW9uIil9KTtmdW5jdGlvbiBFNXQoYSxlLHQpe2xldCByPSImI3giK2EudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7cmV0dXJuIHQmJmUmJiFhU2EudGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKGUpKT9yOnIrIjsifXZhciBhU2EsUDV0PWYoKCk9PnthU2E9L1tcZEEtRmEtZl0vO3MoRTV0LCJ0b0hleGFkZWNpbWFsIil9KTtmdW5jdGlvbiBJNXQoYSxlLHQpe2xldCByPSImIyIrU3RyaW5nKGEpO3JldHVybiB0JiZlJiYhclNhLnRlc3QoU3RyaW5nLmZyb21DaGFyQ29kZShlKSk/cjpyKyI7In12YXIgclNhLE41dD1mKCgpPT57clNhPS9cZC87cyhJNXQsInRvRGVjaW1hbCIpfSk7dmFyIFI1dCxPNXQ9ZigoKT0+e1I1dD1bIkFFbGlnIiwiQU1QIiwiQWFjdXRlIiwiQWNpcmMiLCJBZ3JhdmUiLCJBcmluZyIsIkF0aWxkZSIsIkF1bWwiLCJDT1BZIiwiQ2NlZGlsIiwiRVRIIiwiRWFjdXRlIiwiRWNpcmMiLCJFZ3JhdmUiLCJFdW1sIiwiR1QiLCJJYWN1dGUiLCJJY2lyYyIsIklncmF2ZSIsIkl1bWwiLCJMVCIsIk50aWxkZSIsIk9hY3V0ZSIsIk9jaXJjIiwiT2dyYXZlIiwiT3NsYXNoIiwiT3RpbGRlIiwiT3VtbCIsIlFVT1QiLCJSRUciLCJUSE9STiIsIlVhY3V0ZSIsIlVjaXJjIiwiVWdyYXZlIiwiVXVtbCIsIllhY3V0ZSIsImFhY3V0ZSIsImFjaXJjIiwiYWN1dGUiLCJhZWxpZyIsImFncmF2ZSIsImFtcCIsImFyaW5nIiwiYXRpbGRlIiwiYXVtbCIsImJydmJhciIsImNjZWRpbCIsImNlZGlsIiwiY2VudCIsImNvcHkiLCJjdXJyZW4iLCJkZWciLCJkaXZpZGUiLCJlYWN1dGUiLCJlY2lyYyIsImVncmF2ZSIsImV0aCIsImV1bWwiLCJmcmFjMTIiLCJmcmFjMTQiLCJmcmFjMzQiLCJndCIsImlhY3V0ZSIsImljaXJjIiwiaWV4Y2wiLCJpZ3JhdmUiLCJpcXVlc3QiLCJpdW1sIiwibGFxdW8iLCJsdCIsIm1hY3IiLCJtaWNybyIsIm1pZGRvdCIsIm5ic3AiLCJub3QiLCJudGlsZGUiLCJvYWN1dGUiLCJvY2lyYyIsIm9ncmF2ZSIsIm9yZGYiLCJvcmRtIiwib3NsYXNoIiwib3RpbGRlIiwib3VtbCIsInBhcmEiLCJwbHVzbW4iLCJwb3VuZCIsInF1b3QiLCJyYXF1byIsInJlZyIsInNlY3QiLCJzaHkiLCJzdXAxIiwic3VwMiIsInN1cDMiLCJzemxpZyIsInRob3JuIiwidGltZXMiLCJ1YWN1dGUiLCJ1Y2lyYyIsInVncmF2ZSIsInVtbCIsInV1bWwiLCJ5YWN1dGUiLCJ5ZW4iLCJ5dW1sIl19KTt2YXIgZkosRjV0PWYoKCk9PntmSj17bmJzcDoiXHhBMCIsaWV4Y2w6Ilx4QTEiLGNlbnQ6Ilx4QTIiLHBvdW5kOiJceEEzIixjdXJyZW46Ilx4QTQiLHllbjoiXHhBNSIsYnJ2YmFyOiJceEE2IixzZWN0OiJceEE3Iix1bWw6Ilx4QTgiLGNvcHk6Ilx4QTkiLG9yZGY6Ilx4QUEiLGxhcXVvOiJceEFCIixub3Q6Ilx4QUMiLHNoeToiXHhBRCIscmVnOiJceEFFIixtYWNyOiJceEFGIixkZWc6Ilx4QjAiLHBsdXNtbjoiXHhCMSIsc3VwMjoiXHhCMiIsc3VwMzoiXHhCMyIsYWN1dGU6Ilx4QjQiLG1pY3JvOiJceEI1IixwYXJhOiJceEI2IixtaWRkb3Q6Ilx4QjciLGNlZGlsOiJceEI4IixzdXAxOiJceEI5IixvcmRtOiJceEJBIixyYXF1bzoiXHhCQiIsZnJhYzE0OiJceEJDIixmcmFjMTI6Ilx4QkQiLGZyYWMzNDoiXHhCRSIsaXF1ZXN0OiJceEJGIixBZ3JhdmU6Ilx4QzAiLEFhY3V0ZToiXHhDMSIsQWNpcmM6Ilx4QzIiLEF0aWxkZToiXHhDMyIsQXVtbDoiXHhDNCIsQXJpbmc6Ilx4QzUiLEFFbGlnOiJceEM2IixDY2VkaWw6Ilx4QzciLEVncmF2ZToiXHhDOCIsRWFjdXRlOiJceEM5IixFY2lyYzoiXHhDQSIsRXVtbDoiXHhDQiIsSWdyYXZlOiJceENDIixJYWN1dGU6Ilx4Q0QiLEljaXJjOiJceENFIixJdW1sOiJceENGIixFVEg6Ilx4RDAiLE50aWxkZToiXHhEMSIsT2dyYXZlOiJceEQyIixPYWN1dGU6Ilx4RDMiLE9jaXJjOiJceEQ0IixPdGlsZGU6Ilx4RDUiLE91bWw6Ilx4RDYiLHRpbWVzOiJceEQ3IixPc2xhc2g6Ilx4RDgiLFVncmF2ZToiXHhEOSIsVWFjdXRlOiJceERBIixVY2lyYzoiXHhEQiIsVXVtbDoiXHhEQyIsWWFjdXRlOiJceEREIixUSE9STjoiXHhERSIsc3psaWc6Ilx4REYiLGFncmF2ZToiXHhFMCIsYWFjdXRlOiJceEUxIixhY2lyYzoiXHhFMiIsYXRpbGRlOiJceEUzIixhdW1sOiJceEU0IixhcmluZzoiXHhFNSIsYWVsaWc6Ilx4RTYiLGNjZWRpbDoiXHhFNyIsZWdyYXZlOiJceEU4IixlYWN1dGU6Ilx4RTkiLGVjaXJjOiJceEVBIixldW1sOiJceEVCIixpZ3JhdmU6Ilx4RUMiLGlhY3V0ZToiXHhFRCIsaWNpcmM6Ilx4RUUiLGl1bWw6Ilx4RUYiLGV0aDoiXHhGMCIsbnRpbGRlOiJceEYxIixvZ3JhdmU6Ilx4RjIiLG9hY3V0ZToiXHhGMyIsb2NpcmM6Ilx4RjQiLG90aWxkZToiXHhGNSIsb3VtbDoiXHhGNiIsZGl2aWRlOiJceEY3Iixvc2xhc2g6Ilx4RjgiLHVncmF2ZToiXHhGOSIsdWFjdXRlOiJceEZBIix1Y2lyYzoiXHhGQiIsdXVtbDoiXHhGQyIseWFjdXRlOiJceEZEIix0aG9ybjoiXHhGRSIseXVtbDoiXHhGRiIsZm5vZjoiXHUwMTkyIixBbHBoYToiXHUwMzkxIixCZXRhOiJcdTAzOTIiLEdhbW1hOiJcdTAzOTMiLERlbHRhOiJcdTAzOTQiLEVwc2lsb246Ilx1MDM5NSIsWmV0YToiXHUwMzk2IixFdGE6Ilx1MDM5NyIsVGhldGE6Ilx1MDM5OCIsSW90YToiXHUwMzk5IixLYXBwYToiXHUwMzlBIixMYW1iZGE6Ilx1MDM5QiIsTXU6Ilx1MDM5QyIsTnU6Ilx1MDM5RCIsWGk6Ilx1MDM5RSIsT21pY3JvbjoiXHUwMzlGIixQaToiXHUwM0EwIixSaG86Ilx1MDNBMSIsU2lnbWE6Ilx1MDNBMyIsVGF1OiJcdTAzQTQiLFVwc2lsb246Ilx1MDNBNSIsUGhpOiJcdTAzQTYiLENoaToiXHUwM0E3IixQc2k6Ilx1MDNBOCIsT21lZ2E6Ilx1MDNBOSIsYWxwaGE6Ilx1MDNCMSIsYmV0YToiXHUwM0IyIixnYW1tYToiXHUwM0IzIixkZWx0YToiXHUwM0I0IixlcHNpbG9uOiJcdTAzQjUiLHpldGE6Ilx1MDNCNiIsZXRhOiJcdTAzQjciLHRoZXRhOiJcdTAzQjgiLGlvdGE6Ilx1MDNCOSIsa2FwcGE6Ilx1MDNCQSIsbGFtYmRhOiJcdTAzQkIiLG11OiJcdTAzQkMiLG51OiJcdTAzQkQiLHhpOiJcdTAzQkUiLG9taWNyb246Ilx1MDNCRiIscGk6Ilx1MDNDMCIscmhvOiJcdTAzQzEiLHNpZ21hZjoiXHUwM0MyIixzaWdtYToiXHUwM0MzIix0YXU6Ilx1MDNDNCIsdXBzaWxvbjoiXHUwM0M1IixwaGk6Ilx1MDNDNiIsY2hpOiJcdTAzQzciLHBzaToiXHUwM0M4IixvbWVnYToiXHUwM0M5Iix0aGV0YXN5bToiXHUwM0QxIix1cHNpaDoiXHUwM0QyIixwaXY6Ilx1MDNENiIsYnVsbDoiXHUyMDIyIixoZWxsaXA6Ilx1MjAyNiIscHJpbWU6Ilx1MjAzMiIsUHJpbWU6Ilx1MjAzMyIsb2xpbmU6Ilx1MjAzRSIsZnJhc2w6Ilx1MjA0NCIsd2VpZXJwOiJcdTIxMTgiLGltYWdlOiJcdTIxMTEiLHJlYWw6Ilx1MjExQyIsdHJhZGU6Ilx1MjEyMiIsYWxlZnN5bToiXHUyMTM1IixsYXJyOiJcdTIxOTAiLHVhcnI6Ilx1MjE5MSIscmFycjoiXHUyMTkyIixkYXJyOiJcdTIxOTMiLGhhcnI6Ilx1MjE5NCIsY3JhcnI6Ilx1MjFCNSIsbEFycjoiXHUyMUQwIix1QXJyOiJcdTIxRDEiLHJBcnI6Ilx1MjFEMiIsZEFycjoiXHUyMUQzIixoQXJyOiJcdTIxRDQiLGZvcmFsbDoiXHUyMjAwIixwYXJ0OiJcdTIyMDIiLGV4aXN0OiJcdTIyMDMiLGVtcHR5OiJcdTIyMDUiLG5hYmxhOiJcdTIyMDciLGlzaW46Ilx1MjIwOCIsbm90aW46Ilx1MjIwOSIsbmk6Ilx1MjIwQiIscHJvZDoiXHUyMjBGIixzdW06Ilx1MjIxMSIsbWludXM6Ilx1MjIxMiIsbG93YXN0OiJcdTIyMTciLHJhZGljOiJcdTIyMUEiLHByb3A6Ilx1MjIxRCIsaW5maW46Ilx1MjIxRSIsYW5nOiJcdTIyMjAiLGFuZDoiXHUyMjI3IixvcjoiXHUyMjI4IixjYXA6Ilx1MjIyOSIsY3VwOiJcdTIyMkEiLGludDoiXHUyMjJCIix0aGVyZTQ6Ilx1MjIzNCIsc2ltOiJcdTIyM0MiLGNvbmc6Ilx1MjI0NSIsYXN5bXA6Ilx1MjI0OCIsbmU6Ilx1MjI2MCIsZXF1aXY6Ilx1MjI2MSIsbGU6Ilx1MjI2NCIsZ2U6Ilx1MjI2NSIsc3ViOiJcdTIyODIiLHN1cDoiXHUyMjgzIixuc3ViOiJcdTIyODQiLHN1YmU6Ilx1MjI4NiIsc3VwZToiXHUyMjg3IixvcGx1czoiXHUyMjk1IixvdGltZXM6Ilx1MjI5NyIscGVycDoiXHUyMkE1IixzZG90OiJcdTIyQzUiLGxjZWlsOiJcdTIzMDgiLHJjZWlsOiJcdTIzMDkiLGxmbG9vcjoiXHUyMzBBIixyZmxvb3I6Ilx1MjMwQiIsbGFuZzoiXHUyMzI5IixyYW5nOiJcdTIzMkEiLGxvejoiXHUyNUNBIixzcGFkZXM6Ilx1MjY2MCIsY2x1YnM6Ilx1MjY2MyIsaGVhcnRzOiJcdTI2NjUiLGRpYW1zOiJcdTI2NjYiLHF1b3Q6JyInLGFtcDoiJiIsbHQ6IjwiLGd0OiI+IixPRWxpZzoiXHUwMTUyIixvZWxpZzoiXHUwMTUzIixTY2Fyb246Ilx1MDE2MCIsc2Nhcm9uOiJcdTAxNjEiLFl1bWw6Ilx1MDE3OCIsY2lyYzoiXHUwMkM2Iix0aWxkZToiXHUwMkRDIixlbnNwOiJcdTIwMDIiLGVtc3A6Ilx1MjAwMyIsdGhpbnNwOiJcdTIwMDkiLHp3bmo6Ilx1MjAwQyIsendqOiJcdTIwMEQiLGxybToiXHUyMDBFIixybG06Ilx1MjAwRiIsbmRhc2g6Ilx1MjAxMyIsbWRhc2g6Ilx1MjAxNCIsbHNxdW86Ilx1MjAxOCIscnNxdW86Ilx1MjAxOSIsc2JxdW86Ilx1MjAxQSIsbGRxdW86Ilx1MjAxQyIscmRxdW86Ilx1MjAxRCIsYmRxdW86Ilx1MjAxRSIsZGFnZ2VyOiJcdTIwMjAiLERhZ2dlcjoiXHUyMDIxIixwZXJtaWw6Ilx1MjAzMCIsbHNhcXVvOiJcdTIwMzkiLHJzYXF1bzoiXHUyMDNBIixldXJvOiJcdTIwQUMifX0pO3ZhciBCNXQsSDV0PWYoKCk9PntCNXQ9WyJjZW50IiwiY29weSIsImRpdmlkZSIsImd0IiwibHQiLCJub3QiLCJwYXJhIiwidGltZXMiXX0pO2Z1bmN0aW9uIFY1dChhLGUsdCxyKXtsZXQgaT1TdHJpbmcuZnJvbUNoYXJDb2RlKGEpO2lmKHE1dC5jYWxsKGNkZSxpKSl7bGV0IG89Y2RlW2ldLG49IiYiK287cmV0dXJuIHQmJlI1dC5pbmNsdWRlcyhvKSYmIUI1dC5pbmNsdWRlcyhvKSYmKCFyfHxlJiZlIT09NjEmJnNTYS50ZXN0KFN0cmluZy5mcm9tQ2hhckNvZGUoZSkpKT9uOm4rIjsifXJldHVybiIifXZhciBxNXQsY2RlLGhKLHNTYSxqNXQ9ZigoKT0+e081dCgpO0Y1dCgpO0g1dCgpO3E1dD17fS5oYXNPd25Qcm9wZXJ0eSxjZGU9e307Zm9yKGhKIGluIGZKKXE1dC5jYWxsKGZKLGhKKSYmKGNkZVtmSltoSl1dPWhKKTtzU2E9L1teXGRBLVphLXpdLztzKFY1dCwidG9OYW1lZCIpfSk7ZnVuY3Rpb24gVTV0KGEsZSx0KXtsZXQgcj1FNXQoYSxlLHQub21pdE9wdGlvbmFsU2VtaWNvbG9ucyksaTtpZigodC51c2VOYW1lZFJlZmVyZW5jZXN8fHQudXNlU2hvcnRlc3RSZWZlcmVuY2VzKSYmKGk9VjV0KGEsZSx0Lm9taXRPcHRpb25hbFNlbWljb2xvbnMsdC5hdHRyaWJ1dGUpKSwodC51c2VTaG9ydGVzdFJlZmVyZW5jZXN8fCFpKSYmdC51c2VTaG9ydGVzdFJlZmVyZW5jZXMpe2xldCBvPUk1dChhLGUsdC5vbWl0T3B0aW9uYWxTZW1pY29sb25zKTtvLmxlbmd0aDxyLmxlbmd0aCYmKHI9byl9cmV0dXJuIGkmJighdC51c2VTaG9ydGVzdFJlZmVyZW5jZXN8fGkubGVuZ3RoPHIubGVuZ3RoKT9pOnJ9dmFyIFc1dD1mKCgpPT57UDV0KCk7TjV0KCk7ajV0KCk7cyhVNXQsImZvcm1hdFNtYXJ0Iil9KTtmdW5jdGlvbiBHNXQoYSl7cmV0dXJuIiYjeCIrYS50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSsiOyJ9dmFyIFk1dD1mKCgpPT57cyhHNXQsImZvcm1hdEJhc2ljIil9KTtmdW5jdGlvbiBXbChhLGUpe3JldHVybiBsZGUoYSxPYmplY3QuYXNzaWduKHtmb3JtYXQ6VTV0fSxlKSl9ZnVuY3Rpb24gbnRzKGEsZSl7cmV0dXJuIGxkZShhLE9iamVjdC5hc3NpZ24oe2Zvcm1hdDpHNXR9LGUpKX12YXIgSzV0PWYoKCk9PntBNXQoKTtXNXQoKTtZNXQoKTtzKFdsLCJzdHJpbmdpZnlFbnRpdGllcyIpO3MobnRzLCJzdHJpbmdpZnlFbnRpdGllc0xpZ2h0Iil9KTt2YXIgbUo9ZigoKT0+e0s1dCgpfSk7ZnVuY3Rpb24gWjV0KGEsZSx0LHIpe3JldHVybiByLnNldHRpbmdzLmJvZ3VzQ29tbWVudHM/Ijw/IitXbChhLnZhbHVlLE9iamVjdC5hc3NpZ24oe30sci5zZXR0aW5ncy5jaGFyYWN0ZXJSZWZlcmVuY2VzLHtzdWJzZXQ6b1NhfSkpKyI+IjoiPCEtLSIrYS52YWx1ZS5yZXBsYWNlKGlTYSxpKSsiLS0+IjtmdW5jdGlvbiBpKG8pe3JldHVybiBXbChvLE9iamVjdC5hc3NpZ24oe30sci5zZXR0aW5ncy5jaGFyYWN0ZXJSZWZlcmVuY2VzLHtzdWJzZXQ6blNhfSkpfX12YXIgaVNhLG9TYSxuU2EsWDV0PWYoKCk9PnttSigpO2lTYT0vXj58Xi0+fDwhLS18LS0+fC0tIT58PCEtJC9nLG9TYT1bIj4iXSxuU2E9WyI8IiwiPiJdO3MoWjV0LCJjb21tZW50Iil9KTtmdW5jdGlvbiBRNXQoYSxlLHQscil7cmV0dXJuIjwhIisoci5zZXR0aW5ncy51cHBlckRvY3R5cGU/IkRPQ1RZUEUiOiJkb2N0eXBlIikrKHIuc2V0dGluZ3MudGlnaHREb2N0eXBlPyIiOiIgIikrImh0bWw+In12YXIgSjV0PWYoKCk9PntzKFE1dCwiZG9jdHlwZSIpfSk7ZnVuY3Rpb24gYnRzKGEpe2xldCBlPVtdLHQ9U3RyaW5nKGF8fCIiKSxyPXQuaW5kZXhPZigiLCIpLGk9MCxvPSExO2Zvcig7IW87KXtyPT09LTEmJihyPXQubGVuZ3RoLG89ITApO2xldCBuPXQuc2xpY2UoaSxyKS50cmltKCk7KG58fCFvKSYmZS5wdXNoKG4pLGk9cisxLHI9dC5pbmRleE9mKCIsIixpKX1yZXR1cm4gZX1mdW5jdGlvbiBlaHQoYSxlKXtsZXQgdD1lfHx7fTtyZXR1cm4oYVthLmxlbmd0aC0xXT09PSIiP1suLi5hLCIiXTphKS5qb2luKCh0LnBhZFJpZ2h0PyIgIjoiIikrIiwiKyh0LnBhZExlZnQ9PT0hMT8iIjoiICIpKS50cmltKCl9dmFyIHRodD1mKCgpPT57cyhidHMsInBhcnNlIik7cyhlaHQsInN0cmluZ2lmeSIpfSk7ZnVuY3Rpb24geXRzKGEpe2xldCBlPVN0cmluZyhhfHwiIikudHJpbSgpO3JldHVybiBlP2Uuc3BsaXQoL1sgXHRcblxyXGZdKy9nKTpbXX1mdW5jdGlvbiBhaHQoYSl7cmV0dXJuIGEuam9pbigiICIpLnRyaW0oKX12YXIgcmh0PWYoKCk9PntzKHl0cywicGFyc2UiKTtzKGFodCwic3RyaW5naWZ5Iil9KTtmdW5jdGlvbiBzZChhKXtyZXR1cm4gdHlwZW9mIGE9PSJvYmplY3QiP2EudHlwZT09PSJ0ZXh0Ij9zaHQoYS52YWx1ZSk6ITE6c2h0KGEpfWZ1bmN0aW9uIHNodChhKXtyZXR1cm4gYS5yZXBsYWNlKGxTYSwiIik9PT0iIn12YXIgbFNhLGlodD1mKCgpPT57bFNhPS9bIFx0XG5cZlxyXS9nO3Moc2QsIndoaXRlc3BhY2UiKTtzKHNodCwiZW1wdHkiKX0pO3ZhciBnSj1mKCgpPT57aWh0KCl9KTtmdW5jdGlvbiBvaHQoYSl7cmV0dXJuIGU7ZnVuY3Rpb24gZSh0LHIsaSl7bGV0IG89dD90LmNoaWxkcmVuOmNTYSxuPShyfHwwKSthLGw9b1tuXTtpZighaSlmb3IoO2wmJnNkKGwpOyluKz1hLGw9b1tuXTtyZXR1cm4gbH19dmFyIEdyLGRkZSxjU2EsdWRlPWYoKCk9PntnSigpO0dyPW9odCgxKSxkZGU9b2h0KC0xKSxjU2E9W107cyhvaHQsInNpYmxpbmdzIil9KTtmdW5jdGlvbiBiSihhKXtyZXR1cm4gZTtmdW5jdGlvbiBlKHQscixpKXtyZXR1cm4gZFNhLmNhbGwoYSx0LnRhZ05hbWUpJiZhW3QudGFnTmFtZV0odCxyLGkpfX12YXIgZFNhLHBkZT1mKCgpPT57ZFNhPXt9Lmhhc093blByb3BlcnR5O3MoYkosIm9taXNzaW9uIil9KTtmdW5jdGlvbiBmZGUoYSxlLHQpe2xldCByPUdyKHQsZSwhMCk7cmV0dXJuIXJ8fHIudHlwZSE9PSJjb21tZW50IiYmIShyLnR5cGU9PT0idGV4dCImJnNkKHIudmFsdWUuY2hhckF0KDApKSl9ZnVuY3Rpb24gdVNhKGEsZSx0KXtsZXQgcj1Hcih0LGUpO3JldHVybiFyfHxyLnR5cGUhPT0iY29tbWVudCJ9ZnVuY3Rpb24gcFNhKGEsZSx0KXtsZXQgcj1Hcih0LGUpO3JldHVybiFyfHxyLnR5cGUhPT0iY29tbWVudCJ9ZnVuY3Rpb24gZlNhKGEsZSx0KXtsZXQgcj1Hcih0LGUpO3JldHVybiByP3IudHlwZT09PSJlbGVtZW50IiYmKHIudGFnTmFtZT09PSJhZGRyZXNzInx8ci50YWdOYW1lPT09ImFydGljbGUifHxyLnRhZ05hbWU9PT0iYXNpZGUifHxyLnRhZ05hbWU9PT0iYmxvY2txdW90ZSJ8fHIudGFnTmFtZT09PSJkZXRhaWxzInx8ci50YWdOYW1lPT09ImRpdiJ8fHIudGFnTmFtZT09PSJkbCJ8fHIudGFnTmFtZT09PSJmaWVsZHNldCJ8fHIudGFnTmFtZT09PSJmaWdjYXB0aW9uInx8ci50YWdOYW1lPT09ImZpZ3VyZSJ8fHIudGFnTmFtZT09PSJmb290ZXIifHxyLnRhZ05hbWU9PT0iZm9ybSJ8fHIudGFnTmFtZT09PSJoMSJ8fHIudGFnTmFtZT09PSJoMiJ8fHIudGFnTmFtZT09PSJoMyJ8fHIudGFnTmFtZT09PSJoNCJ8fHIudGFnTmFtZT09PSJoNSJ8fHIudGFnTmFtZT09PSJoNiJ8fHIudGFnTmFtZT09PSJoZWFkZXIifHxyLnRhZ05hbWU9PT0iaGdyb3VwInx8ci50YWdOYW1lPT09ImhyInx8ci50YWdOYW1lPT09Im1haW4ifHxyLnRhZ05hbWU9PT0ibWVudSJ8fHIudGFnTmFtZT09PSJuYXYifHxyLnRhZ05hbWU9PT0ib2wifHxyLnRhZ05hbWU9PT0icCJ8fHIudGFnTmFtZT09PSJwcmUifHxyLnRhZ05hbWU9PT0ic2VjdGlvbiJ8fHIudGFnTmFtZT09PSJ0YWJsZSJ8fHIudGFnTmFtZT09PSJ1bCIpOiF0fHwhKHQudHlwZT09PSJlbGVtZW50IiYmKHQudGFnTmFtZT09PSJhInx8dC50YWdOYW1lPT09ImF1ZGlvInx8dC50YWdOYW1lPT09ImRlbCJ8fHQudGFnTmFtZT09PSJpbnMifHx0LnRhZ05hbWU9PT0ibWFwInx8dC50YWdOYW1lPT09Im5vc2NyaXB0Inx8dC50YWdOYW1lPT09InZpZGVvIikpfWZ1bmN0aW9uIGhTYShhLGUsdCl7bGV0IHI9R3IodCxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiZyLnRhZ05hbWU9PT0ibGkifWZ1bmN0aW9uIG1TYShhLGUsdCl7bGV0IHI9R3IodCxlKTtyZXR1cm4hIShyJiZyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0iZHQifHxyLnRhZ05hbWU9PT0iZGQiKSl9ZnVuY3Rpb24gZ1NhKGEsZSx0KXtsZXQgcj1Hcih0LGUpO3JldHVybiFyfHxyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0iZHQifHxyLnRhZ05hbWU9PT0iZGQiKX1mdW5jdGlvbiBuaHQoYSxlLHQpe2xldCByPUdyKHQsZSk7cmV0dXJuIXJ8fHIudHlwZT09PSJlbGVtZW50IiYmKHIudGFnTmFtZT09PSJycCJ8fHIudGFnTmFtZT09PSJydCIpfWZ1bmN0aW9uIGJTYShhLGUsdCl7bGV0IHI9R3IodCxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiZyLnRhZ05hbWU9PT0ib3B0Z3JvdXAifWZ1bmN0aW9uIHZTYShhLGUsdCl7bGV0IHI9R3IodCxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiYoci50YWdOYW1lPT09Im9wdGlvbiJ8fHIudGFnTmFtZT09PSJvcHRncm91cCIpfWZ1bmN0aW9uIHhTYShhLGUsdCl7bGV0IHI9R3IodCxlKTtyZXR1cm4hIShyJiZyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0idGJvZHkifHxyLnRhZ05hbWU9PT0idGZvb3QiKSl9ZnVuY3Rpb24geVNhKGEsZSx0KXtsZXQgcj1Hcih0LGUpO3JldHVybiFyfHxyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0idGJvZHkifHxyLnRhZ05hbWU9PT0idGZvb3QiKX1mdW5jdGlvbiB3U2EoYSxlLHQpe3JldHVybiFHcih0LGUpfWZ1bmN0aW9uIE1TYShhLGUsdCl7bGV0IHI9R3IodCxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiZyLnRhZ05hbWU9PT0idHIifWZ1bmN0aW9uIGxodChhLGUsdCl7bGV0IHI9R3IodCxlKTtyZXR1cm4hcnx8ci50eXBlPT09ImVsZW1lbnQiJiYoci50YWdOYW1lPT09InRkInx8ci50YWdOYW1lPT09InRoIil9dmFyIGRiLGhkZT1mKCgpPT57Z0ooKTt1ZGUoKTtwZGUoKTtkYj1iSih7Ym9keTpwU2EsY2FwdGlvbjpmZGUsY29sZ3JvdXA6ZmRlLGRkOmdTYSxkdDptU2EsaGVhZDpmZGUsaHRtbDp1U2EsbGk6aFNhLG9wdGdyb3VwOmJTYSxvcHRpb246dlNhLHA6ZlNhLHJwOm5odCxydDpuaHQsdGJvZHk6eVNhLHRkOmxodCx0Zm9vdDp3U2EsdGg6bGh0LHRoZWFkOnhTYSx0cjpNU2F9KTtzKGZkZSwiaGVhZE9yQ29sZ3JvdXBPckNhcHRpb24iKTtzKHVTYSwiaHRtbCIpO3MocFNhLCJib2R5Iik7cyhmU2EsInAiKTtzKGhTYSwibGkiKTtzKG1TYSwiZHQiKTtzKGdTYSwiZGQiKTtzKG5odCwicnVieUVsZW1lbnQiKTtzKGJTYSwib3B0Z3JvdXAiKTtzKHZTYSwib3B0aW9uIik7cyh4U2EsInRoZWFkIik7cyh5U2EsInRib2R5Iik7cyh3U2EsInRmb290Iik7cyhNU2EsInRyIik7cyhsaHQsImNlbGxzIil9KTtmdW5jdGlvbiBrU2EoYSl7bGV0IGU9R3IoYSwtMSk7cmV0dXJuIWV8fGUudHlwZSE9PSJjb21tZW50In1mdW5jdGlvbiBTU2EoYSl7bGV0IGU9bmV3IFNldDtmb3IobGV0IHIgb2YgYS5jaGlsZHJlbilpZihyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0iYmFzZSJ8fHIudGFnTmFtZT09PSJ0aXRsZSIpKXtpZihlLmhhcyhyLnRhZ05hbWUpKXJldHVybiExO2UuYWRkKHIudGFnTmFtZSl9bGV0IHQ9YS5jaGlsZHJlblswXTtyZXR1cm4hdHx8dC50eXBlPT09ImVsZW1lbnQifWZ1bmN0aW9uIHpTYShhKXtsZXQgZT1HcihhLC0xLCEwKTtyZXR1cm4hZXx8ZS50eXBlIT09ImNvbW1lbnQiJiYhKGUudHlwZT09PSJ0ZXh0IiYmc2QoZS52YWx1ZS5jaGFyQXQoMCkpKSYmIShlLnR5cGU9PT0iZWxlbWVudCImJihlLnRhZ05hbWU9PT0ibWV0YSJ8fGUudGFnTmFtZT09PSJsaW5rInx8ZS50YWdOYW1lPT09InNjcmlwdCJ8fGUudGFnTmFtZT09PSJzdHlsZSJ8fGUudGFnTmFtZT09PSJ0ZW1wbGF0ZSIpKX1mdW5jdGlvbiBDU2EoYSxlLHQpe2xldCByPWRkZSh0LGUpLGk9R3IoYSwtMSwhMCk7cmV0dXJuIHQmJnImJnIudHlwZT09PSJlbGVtZW50IiYmci50YWdOYW1lPT09ImNvbGdyb3VwIiYmZGIocix0LmNoaWxkcmVuLmluZGV4T2YociksdCk/ITE6ISEoaSYmaS50eXBlPT09ImVsZW1lbnQiJiZpLnRhZ05hbWU9PT0iY29sIil9ZnVuY3Rpb24gX1NhKGEsZSx0KXtsZXQgcj1kZGUodCxlKSxpPUdyKGEsLTEpO3JldHVybiB0JiZyJiZyLnR5cGU9PT0iZWxlbWVudCImJihyLnRhZ05hbWU9PT0idGhlYWQifHxyLnRhZ05hbWU9PT0idGJvZHkiKSYmZGIocix0LmNoaWxkcmVuLmluZGV4T2YociksdCk/ITE6ISEoaSYmaS50eXBlPT09ImVsZW1lbnQiJiZpLnRhZ05hbWU9PT0idHIiKX12YXIgY2h0LGRodD1mKCgpPT57Z0ooKTt1ZGUoKTtoZGUoKTtwZGUoKTtjaHQ9Ykooe2JvZHk6elNhLGNvbGdyb3VwOkNTYSxoZWFkOlNTYSxodG1sOmtTYSx0Ym9keTpfU2F9KTtzKGtTYSwiaHRtbCIpO3MoU1NhLCJoZWFkIik7cyh6U2EsImJvZHkiKTtzKENTYSwiY29sZ3JvdXAiKTtzKF9TYSwidGJvZHkiKX0pO2Z1bmN0aW9uIHVodChhLGUsdCxyKXtsZXQgaT1yLnNjaGVtYSxvPWkuc3BhY2U9PT0ic3ZnIj8hMTpyLnNldHRpbmdzLm9taXRPcHRpb25hbFRhZ3Msbj1pLnNwYWNlPT09InN2ZyI/ci5zZXR0aW5ncy5jbG9zZUVtcHR5RWxlbWVudHM6ci5zZXR0aW5ncy52b2lkcy5pbmNsdWRlcyhhLnRhZ05hbWUudG9Mb3dlckNhc2UoKSksbD1bXSxkO2kuc3BhY2U9PT0iaHRtbCImJmEudGFnTmFtZT09PSJzdmciJiYoci5zY2hlbWE9cEopO2xldCBjPVRTYShyLGEucHJvcGVydGllcykscD1yLmFsbChpLnNwYWNlPT09Imh0bWwiJiZhLnRhZ05hbWU9PT0idGVtcGxhdGUiP2EuY29udGVudDphKTtyZXR1cm4gci5zY2hlbWE9aSxwJiYobj0hMSksKGN8fCFvfHwhY2h0KGEsZSx0KSkmJihsLnB1c2goIjwiLGEudGFnTmFtZSxjPyIgIitjOiIiKSxuJiYoaS5zcGFjZT09PSJzdmcifHxyLnNldHRpbmdzLmNsb3NlU2VsZkNsb3NpbmcpJiYoZD1jLmNoYXJBdChjLmxlbmd0aC0xKSwoIXIuc2V0dGluZ3MudGlnaHRTZWxmQ2xvc2luZ3x8ZD09PSIvInx8ZCYmZCE9PSciJyYmZCE9PSInIikmJmwucHVzaCgiICIpLGwucHVzaCgiLyIpKSxsLnB1c2goIj4iKSksbC5wdXNoKHApLCFuJiYoIW98fCFkYihhLGUsdCkpJiZsLnB1c2goIjwvIithLnRhZ05hbWUrIj4iKSxsLmpvaW4oIiIpfWZ1bmN0aW9uIFRTYShhLGUpe2xldCB0PVtdLHI9LTEsaTtpZihlKXtmb3IoaSBpbiBlKWlmKGVbaV0hPT1udWxsJiZlW2ldIT09dm9pZCAwKXtsZXQgbz1MU2EoYSxpLGVbaV0pO28mJnQucHVzaChvKX19Zm9yKDsrK3I8dC5sZW5ndGg7KXtsZXQgbz1hLnNldHRpbmdzLnRpZ2h0QXR0cmlidXRlcz90W3JdLmNoYXJBdCh0W3JdLmxlbmd0aC0xKTp2b2lkIDA7ciE9PXQubGVuZ3RoLTEmJm8hPT0nIicmJm8hPT0iJyImJih0W3JdKz0iICIpfXJldHVybiB0LmpvaW4oIiIpfWZ1bmN0aW9uIExTYShhLGUsdCl7bGV0IHI9b2RlKGEuc2NoZW1hLGUpLGk9YS5zZXR0aW5ncy5hbGxvd1BhcnNlRXJyb3JzJiZhLnNjaGVtYS5zcGFjZT09PSJodG1sIj8wOjEsbz1hLnNldHRpbmdzLmFsbG93RGFuZ2Vyb3VzQ2hhcmFjdGVycz8wOjEsbj1hLnF1b3RlLGw7aWYoci5vdmVybG9hZGVkQm9vbGVhbiYmKHQ9PT1yLmF0dHJpYnV0ZXx8dD09PSIiKT90PSEwOihyLmJvb2xlYW58fHIub3ZlcmxvYWRlZEJvb2xlYW4pJiYodHlwZW9mIHQhPSJzdHJpbmcifHx0PT09ci5hdHRyaWJ1dGV8fHQ9PT0iIikmJih0PSEhdCksdD09bnVsbHx8dD09PSExfHx0eXBlb2YgdD09Im51bWJlciImJk51bWJlci5pc05hTih0KSlyZXR1cm4iIjtsZXQgZD1XbChyLmF0dHJpYnV0ZSxPYmplY3QuYXNzaWduKHt9LGEuc2V0dGluZ3MuY2hhcmFjdGVyUmVmZXJlbmNlcyx7c3Vic2V0OnZKLm5hbWVbaV1bb119KSk7cmV0dXJuIHQ9PT0hMHx8KHQ9QXJyYXkuaXNBcnJheSh0KT8oci5jb21tYVNlcGFyYXRlZD9laHQ6YWh0KSh0LHtwYWRMZWZ0OiFhLnNldHRpbmdzLnRpZ2h0Q29tbWFTZXBhcmF0ZWRMaXN0c30pOlN0cmluZyh0KSxhLnNldHRpbmdzLmNvbGxhcHNlRW1wdHlBdHRyaWJ1dGVzJiYhdCk/ZDooYS5zZXR0aW5ncy5wcmVmZXJVbnF1b3RlZCYmKGw9V2wodCxPYmplY3QuYXNzaWduKHt9LGEuc2V0dGluZ3MuY2hhcmFjdGVyUmVmZXJlbmNlcyx7YXR0cmlidXRlOiEwLHN1YnNldDp2Si51bnF1b3RlZFtpXVtvXX0pKSksbCE9PXQmJihhLnNldHRpbmdzLnF1b3RlU21hcnQmJng4KHQsbik+eDgodCxhLmFsdGVybmF0aXZlKSYmKG49YS5hbHRlcm5hdGl2ZSksbD1uK1dsKHQsT2JqZWN0LmFzc2lnbih7fSxhLnNldHRpbmdzLmNoYXJhY3RlclJlZmVyZW5jZXMse3N1YnNldDoobj09PSInIj92Si5zaW5nbGU6dkouZG91YmxlKVtpXVtvXSxhdHRyaWJ1dGU6ITB9KSkrbiksZCsobCYmIj0iK2wpKX12YXIgdkoscGh0PWYoKCk9PntlNGUoKTt0aHQoKTtuZGUoKTtyaHQoKTttSigpO2hkZSgpO2RodCgpO3ZKPXtuYW1lOltbYAkKXGZcciAmLz0+YC5zcGxpdCgiIiksYAkKXGZcciAiJicvPT5cYGAuc3BsaXQoIiIpXSxbYFwwCQpcZlxyICImJy88PT5gLnNwbGl0KCIiKSxgXDAJClxmXHIgIiYnLzw9PlxgYC5zcGxpdCgiIildXSx1bnF1b3RlZDpbW2AJClxmXHIgJj5gLnNwbGl0KCIiKSxgXDAJClxmXHIgIiYnPD0+XGBgLnNwbGl0KCIiKV0sW2BcMAkKXGZcciAiJic8PT5cYGAuc3BsaXQoIiIpLGBcMAkKXGZcciAiJic8PT5cYGAuc3BsaXQoIiIpXV0sc2luZ2xlOltbIiYnIi5zcGxpdCgiIiksIlwiJidgIi5zcGxpdCgiIildLFsiXDAmJyIuc3BsaXQoIiIpLCJcMFwiJidgIi5zcGxpdCgiIildXSxkb3VibGU6W1snIiYnLnNwbGl0KCIiKSwiXCImJ2AiLnNwbGl0KCIiKV0sWydcMCImJy5zcGxpdCgiIiksIlwwXCImJ2AiLnNwbGl0KCIiKV1dfTtzKHVodCwiZWxlbWVudCIpO3MoVFNhLCJzZXJpYWxpemVBdHRyaWJ1dGVzIik7cyhMU2EsInNlcmlhbGl6ZUF0dHJpYnV0ZSIpfSk7ZnVuY3Rpb24geEooYSxlLHQscil7cmV0dXJuIHQmJnQudHlwZT09PSJlbGVtZW50IiYmKHQudGFnTmFtZT09PSJzY3JpcHQifHx0LnRhZ05hbWU9PT0ic3R5bGUiKT9hLnZhbHVlOldsKGEudmFsdWUsT2JqZWN0LmFzc2lnbih7fSxyLnNldHRpbmdzLmNoYXJhY3RlclJlZmVyZW5jZXMse3N1YnNldDokU2F9KSl9dmFyICRTYSxtZGU9ZigoKT0+e21KKCk7JFNhPVsiPCIsIiYiXTtzKHhKLCJ0ZXh0Iil9KTtmdW5jdGlvbiBmaHQoYSxlLHQscil7cmV0dXJuIHIuc2V0dGluZ3MuYWxsb3dEYW5nZXJvdXNIdG1sP2EudmFsdWU6eEooYSxlLHQscil9dmFyIGhodD1mKCgpPT57bWRlKCk7cyhmaHQsInJhdyIpfSk7ZnVuY3Rpb24gbWh0KGEsZSx0LHIpe3JldHVybiByLmFsbChhKX12YXIgZ2h0PWYoKCk9PntzKG1odCwicm9vdCIpfSk7ZnVuY3Rpb24gRFNhKGEpe3Rocm93IG5ldyBFcnJvcigiRXhwZWN0ZWQgbm9kZSwgbm90IGAiK2ErImAiKX1mdW5jdGlvbiBBU2EoYSl7bGV0IGU9YTt0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBjb21waWxlIHVua25vd24gbm9kZSBgIitlLnR5cGUrImAiKX12YXIgYmh0LHZodD1mKCgpPT57dTRlKCk7WDV0KCk7SjV0KCk7cGh0KCk7aGh0KCk7Z2h0KCk7bWRlKCk7Ymh0PXZRKCJ0eXBlIix7aW52YWxpZDpEU2EsdW5rbm93bjpBU2EsaGFuZGxlcnM6e2NvbW1lbnQ6WjV0LGRvY3R5cGU6UTV0LGVsZW1lbnQ6dWh0LHJhdzpmaHQscm9vdDptaHQsdGV4dDp4Sn19KTtzKERTYSwiaW52YWxpZCIpO3MoQVNhLCJ1bmtub3duIil9KTtmdW5jdGlvbiBnZGUoYSxlKXtsZXQgdD1lfHxFU2Escj10LnF1b3RlfHwnIicsaT1yPT09JyInPyInIjonIic7aWYociE9PSciJyYmciE9PSInIil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgcXVvdGUgYCIrcisiYCwgZXhwZWN0ZWQgYCdgIG9yIGBcImAiKTtyZXR1cm57b25lOk5TYSxhbGw6UlNhLHNldHRpbmdzOntvbWl0T3B0aW9uYWxUYWdzOnQub21pdE9wdGlvbmFsVGFnc3x8ITEsYWxsb3dQYXJzZUVycm9yczp0LmFsbG93UGFyc2VFcnJvcnN8fCExLGFsbG93RGFuZ2Vyb3VzQ2hhcmFjdGVyczp0LmFsbG93RGFuZ2Vyb3VzQ2hhcmFjdGVyc3x8ITEscXVvdGVTbWFydDp0LnF1b3RlU21hcnR8fCExLHByZWZlclVucXVvdGVkOnQucHJlZmVyVW5xdW90ZWR8fCExLHRpZ2h0QXR0cmlidXRlczp0LnRpZ2h0QXR0cmlidXRlc3x8ITEsdXBwZXJEb2N0eXBlOnQudXBwZXJEb2N0eXBlfHwhMSx0aWdodERvY3R5cGU6dC50aWdodERvY3R5cGV8fCExLGJvZ3VzQ29tbWVudHM6dC5ib2d1c0NvbW1lbnRzfHwhMSx0aWdodENvbW1hU2VwYXJhdGVkTGlzdHM6dC50aWdodENvbW1hU2VwYXJhdGVkTGlzdHN8fCExLHRpZ2h0U2VsZkNsb3Npbmc6dC50aWdodFNlbGZDbG9zaW5nfHwhMSxjb2xsYXBzZUVtcHR5QXR0cmlidXRlczp0LmNvbGxhcHNlRW1wdHlBdHRyaWJ1dGVzfHwhMSxhbGxvd0Rhbmdlcm91c0h0bWw6dC5hbGxvd0Rhbmdlcm91c0h0bWx8fCExLHZvaWRzOnQudm9pZHN8fG01dCxjaGFyYWN0ZXJSZWZlcmVuY2VzOnQuY2hhcmFjdGVyUmVmZXJlbmNlc3x8UFNhLGNsb3NlU2VsZkNsb3Npbmc6dC5jbG9zZVNlbGZDbG9zaW5nfHwhMSxjbG9zZUVtcHR5RWxlbWVudHM6dC5jbG9zZUVtcHR5RWxlbWVudHN8fCExfSxzY2hlbWE6dC5zcGFjZT09PSJzdmciP3BKOiQ1dCxxdW90ZTpyLGFsdGVybmF0aXZlOml9Lm9uZShBcnJheS5pc0FycmF5KGEpP3t0eXBlOiJyb290IixjaGlsZHJlbjphfTphLHZvaWQgMCx2b2lkIDApfWZ1bmN0aW9uIE5TYShhLGUsdCl7cmV0dXJuIGJodChhLGUsdCx0aGlzKX1mdW5jdGlvbiBSU2EoYSl7bGV0IGU9W10sdD1hJiZhLmNoaWxkcmVufHxJU2Escj0tMTtmb3IoOysrcjx0Lmxlbmd0aDspZVtyXT10aGlzLm9uZSh0W3JdLHIsYSk7cmV0dXJuIGUuam9pbigiIil9dmFyIEVTYSxQU2EsSVNhLHhodD1mKCgpPT57ZzV0KCk7bmRlKCk7dmh0KCk7RVNhPXt9LFBTYT17fSxJU2E9W107cyhnZGUsInRvSHRtbCIpO3MoTlNhLCJvbmUiKTtzKFJTYSwiYWxsIil9KTt2YXIgeWh0PWYoKCk9Pnt4aHQoKX0pO2Z1bmN0aW9uIEU4KGEpe2xldCBlPXRoaXMse2hhbmRsZXJzOnQsc2FuaXRpemU6ciwuLi5pfT1hfHxPU2Esbz0hMSxuO3R5cGVvZiByPT0iYm9vbGVhbiI/bz0hcjpyJiYobj1yKSxlLmNvbXBpbGVyPWw7ZnVuY3Rpb24gbChkLGMpe2xldCBwPVkzZShkLHtoYW5kbGVyczp0LGFsbG93RGFuZ2Vyb3VzSHRtbDpvfSksdT1vP3A6cTNlKHAsbiksbT1nZGUodSx7Li4uaSxhbGxvd0Rhbmdlcm91c0h0bWw6b30pO3JldHVybiBjLmV4dG5hbWUmJihjLmV4dG5hbWU9Ii5odG1sIiksZCYmZC50eXBlPT09InJvb3QiJiZtJiYvW15cclxuXS8udGVzdChtLmNoYXJBdChtLmxlbmd0aC0xKSk/bStgCmA6bX1zKGwsImNvbXBpbGVyIil9dmFyIE9TYSx3aHQ9ZigoKT0+e2RmdCgpO2g1dCgpO3lodCgpO09TYT17fTtzKEU4LCJyZW1hcmtIdG1sIil9KTt2YXIgTWh0PWYoKCk9Pnt3aHQoKX0pO2Z1bmN0aW9uIFA4KGEpe2xldCBlPXRoaXM7ZS5jb21waWxlcj10O2Z1bmN0aW9uIHQocil7cmV0dXJuIEE0ZShyLHsuLi5lLmRhdGEoInNldHRpbmdzIiksLi4uYSxleHRlbnNpb25zOmUuZGF0YSgidG9NYXJrZG93bkV4dGVuc2lvbnMiKXx8W119KX1zKHQsImNvbXBpbGVyIil9dmFyIGtodD1mKCgpPT57VFEoKTtzKFA4LCJyZW1hcmtTdHJpbmdpZnkiKX0pO3ZhciBTaHQ9ZigoKT0+e2todCgpfSk7ZnVuY3Rpb24gRlNhKGEpe2Zvcih2YXIgZT0xO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspe3ZhciB0PWFyZ3VtZW50c1tlXTtmb3IodmFyIHIgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKGFbcl09dFtyXSl9cmV0dXJuIGF9ZnVuY3Rpb24gYmRlKGEsZSl7cmV0dXJuIEFycmF5KGUrMSkuam9pbihhKX1mdW5jdGlvbiB6aHQoYSl7cmV0dXJuIGEucmVwbGFjZSgvXlxuKi8sIiIpfWZ1bmN0aW9uIENodChhKXtmb3IodmFyIGU9YS5sZW5ndGg7ZT4wJiZhW2UtMV09PT1gCmA7KWUtLTtyZXR1cm4gYS5zdWJzdHJpbmcoMCxlKX1mdW5jdGlvbiBfaHQoYSl7cmV0dXJuIENodCh6aHQoYSkpfWZ1bmN0aW9uIHZkZShhKXtyZXR1cm4geGRlKGEsQlNhKX1mdW5jdGlvbiBMaHQoYSl7cmV0dXJuIHhkZShhLFRodCl9ZnVuY3Rpb24gSFNhKGEpe3JldHVybiBEaHQoYSxUaHQpfWZ1bmN0aW9uIHFTYShhKXtyZXR1cm4geGRlKGEsJGh0KX1mdW5jdGlvbiBWU2EoYSl7cmV0dXJuIERodChhLCRodCl9ZnVuY3Rpb24geGRlKGEsZSl7cmV0dXJuIGUuaW5kZXhPZihhLm5vZGVOYW1lKT49MH1mdW5jdGlvbiBEaHQoYSxlKXtyZXR1cm4gYS5nZXRFbGVtZW50c0J5VGFnTmFtZSYmZS5zb21lKGZ1bmN0aW9uKHQpe3JldHVybiBhLmdldEVsZW1lbnRzQnlUYWdOYW1lKHQpLmxlbmd0aH0pfWZ1bmN0aW9uIEFodChhKXtyZXR1cm4galNhLnJlZHVjZShmdW5jdGlvbihlLHQpe3JldHVybiBlLnJlcGxhY2UodFswXSx0WzFdKX0sYSl9ZnVuY3Rpb24geUooYSl7cmV0dXJuIGE/YS5yZXBsYWNlKC8oXG4rXHMqKSsvZyxgCmApOiIifWZ1bmN0aW9uIHlkZShhKXt2YXIgZT1hLnJlcGxhY2UoLyhbPD4oKV0pL2csIlxcJDEiKTtyZXR1cm4gZS5pbmRleE9mKCIgIik+PTA/IjwiK2UrIj4iOmV9ZnVuY3Rpb24gd2RlKGEpe3JldHVybiBhLnJlcGxhY2UoLyIvZywnXFwiJyl9ZnVuY3Rpb24gRWh0KGEpe3RoaXMub3B0aW9ucz1hLHRoaXMuX2tlZXA9W10sdGhpcy5fcmVtb3ZlPVtdLHRoaXMuYmxhbmtSdWxlPXtyZXBsYWNlbWVudDphLmJsYW5rUmVwbGFjZW1lbnR9LHRoaXMua2VlcFJlcGxhY2VtZW50PWEua2VlcFJlcGxhY2VtZW50LHRoaXMuZGVmYXVsdFJ1bGU9e3JlcGxhY2VtZW50OmEuZGVmYXVsdFJlcGxhY2VtZW50fSx0aGlzLmFycmF5PVtdO2Zvcih2YXIgZSBpbiBhLnJ1bGVzKXRoaXMuYXJyYXkucHVzaChhLnJ1bGVzW2VdKX1mdW5jdGlvbiBNZGUoYSxlLHQpe2Zvcih2YXIgcj0wO3I8YS5sZW5ndGg7cisrKXt2YXIgaT1hW3JdO2lmKFVTYShpLGUsdCkpcmV0dXJuIGl9fWZ1bmN0aW9uIFVTYShhLGUsdCl7dmFyIHI9YS5maWx0ZXI7aWYodHlwZW9mIHI9PSJzdHJpbmciKXtpZihyPT09ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKXJldHVybiEwfWVsc2UgaWYoQXJyYXkuaXNBcnJheShyKSl7aWYoci5pbmRleE9mKGUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSk+LTEpcmV0dXJuITB9ZWxzZSBpZih0eXBlb2Ygcj09ImZ1bmN0aW9uIil7aWYoci5jYWxsKGEsZSx0KSlyZXR1cm4hMH1lbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoImBmaWx0ZXJgIG5lZWRzIHRvIGJlIGEgc3RyaW5nLCBhcnJheSwgb3IgZnVuY3Rpb24iKX1mdW5jdGlvbiBXU2EoYSl7dmFyIGU9YS5lbGVtZW50LHQ9YS5pc0Jsb2NrLHI9YS5pc1ZvaWQsaT1hLmlzUHJlfHxmdW5jdGlvbih1KXtyZXR1cm4gdS5ub2RlTmFtZT09PSJQUkUifTtpZighKCFlLmZpcnN0Q2hpbGR8fGkoZSkpKXtmb3IodmFyIG89bnVsbCxuPSExLGw9bnVsbCxkPVBodChsLGUsaSk7ZCE9PWU7KXtpZihkLm5vZGVUeXBlPT09M3x8ZC5ub2RlVHlwZT09PTQpe3ZhciBjPWQuZGF0YS5yZXBsYWNlKC9bIFxyXG5cdF0rL2csIiAiKTtpZigoIW98fC8gJC8udGVzdChvLmRhdGEpKSYmIW4mJmNbMF09PT0iICImJihjPWMuc3Vic3RyKDEpKSwhYyl7ZD1rZGUoZCk7Y29udGludWV9ZC5kYXRhPWMsbz1kfWVsc2UgaWYoZC5ub2RlVHlwZT09PTEpdChkKXx8ZC5ub2RlTmFtZT09PSJCUiI/KG8mJihvLmRhdGE9by5kYXRhLnJlcGxhY2UoLyAkLywiIikpLG89bnVsbCxuPSExKTpyKGQpfHxpKGQpPyhvPW51bGwsbj0hMCk6byYmKG49ITEpO2Vsc2V7ZD1rZGUoZCk7Y29udGludWV9dmFyIHA9UGh0KGwsZCxpKTtsPWQsZD1wfW8mJihvLmRhdGE9by5kYXRhLnJlcGxhY2UoLyAkLywiIiksby5kYXRhfHxrZGUobykpfX1mdW5jdGlvbiBrZGUoYSl7dmFyIGU9YS5uZXh0U2libGluZ3x8YS5wYXJlbnROb2RlO3JldHVybiBhLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoYSksZX1mdW5jdGlvbiBQaHQoYSxlLHQpe3JldHVybiBhJiZhLnBhcmVudE5vZGU9PT1lfHx0KGUpP2UubmV4dFNpYmxpbmd8fGUucGFyZW50Tm9kZTplLmZpcnN0Q2hpbGR8fGUubmV4dFNpYmxpbmd8fGUucGFyZW50Tm9kZX1mdW5jdGlvbiBHU2EoKXt2YXIgYT1TZGUuRE9NUGFyc2VyLGU9ITE7dHJ5e25ldyBhKCkucGFyc2VGcm9tU3RyaW5nKCIiLCJ0ZXh0L2h0bWwiKSYmKGU9ITApfWNhdGNoe31yZXR1cm4gZX1mdW5jdGlvbiBZU2EoKXt2YXIgYT1zKGZ1bmN0aW9uKCl7fSwiUGFyc2VyIik7cmV0dXJuIEtTYSgpP2EucHJvdG90eXBlLnBhcnNlRnJvbVN0cmluZz1mdW5jdGlvbihlKXt2YXIgdD1uZXcgd2luZG93LkFjdGl2ZVhPYmplY3QoImh0bWxmaWxlIik7cmV0dXJuIHQuZGVzaWduTW9kZT0ib24iLHQub3BlbigpLHQud3JpdGUoZSksdC5jbG9zZSgpLHR9OmEucHJvdG90eXBlLnBhcnNlRnJvbVN0cmluZz1mdW5jdGlvbihlKXt2YXIgdD1kb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpO3JldHVybiB0Lm9wZW4oKSx0LndyaXRlKGUpLHQuY2xvc2UoKSx0fSxhfWZ1bmN0aW9uIEtTYSgpe3ZhciBhPSExO3RyeXtkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoIiIpLm9wZW4oKX1jYXRjaHtTZGUuQWN0aXZlWE9iamVjdCYmKGE9ITApfXJldHVybiBhfWZ1bmN0aW9uIFhTYShhLGUpe3ZhciB0O2lmKHR5cGVvZiBhPT0ic3RyaW5nIil7dmFyIHI9UVNhKCkucGFyc2VGcm9tU3RyaW5nKCc8eC10dXJuZG93biBpZD0idHVybmRvd24tcm9vdCI+JythKyI8L3gtdHVybmRvd24+IiwidGV4dC9odG1sIik7dD1yLmdldEVsZW1lbnRCeUlkKCJ0dXJuZG93bi1yb290Iil9ZWxzZSB0PWEuY2xvbmVOb2RlKCEwKTtyZXR1cm4gV1NhKHtlbGVtZW50OnQsaXNCbG9jazp2ZGUsaXNWb2lkOkxodCxpc1ByZTplLnByZWZvcm1hdHRlZENvZGU/SlNhOm51bGx9KSx0fWZ1bmN0aW9uIFFTYSgpe3JldHVybiB6ZGU9emRlfHxuZXcgWlNhLHpkZX1mdW5jdGlvbiBKU2EoYSl7cmV0dXJuIGEubm9kZU5hbWU9PT0iUFJFInx8YS5ub2RlTmFtZT09PSJDT0RFIn1mdW5jdGlvbiBlemEoYSxlKXtyZXR1cm4gYS5pc0Jsb2NrPXZkZShhKSxhLmlzQ29kZT1hLm5vZGVOYW1lPT09IkNPREUifHxhLnBhcmVudE5vZGUuaXNDb2RlLGEuaXNCbGFuaz10emEoYSksYS5mbGFua2luZ1doaXRlc3BhY2U9YXphKGEsZSksYX1mdW5jdGlvbiB0emEoYSl7cmV0dXJuIUxodChhKSYmIXFTYShhKSYmL15ccyokL2kudGVzdChhLnRleHRDb250ZW50KSYmIUhTYShhKSYmIVZTYShhKX1mdW5jdGlvbiBhemEoYSxlKXtpZihhLmlzQmxvY2t8fGUucHJlZm9ybWF0dGVkQ29kZSYmYS5pc0NvZGUpcmV0dXJue2xlYWRpbmc6IiIsdHJhaWxpbmc6IiJ9O3ZhciB0PXJ6YShhLnRleHRDb250ZW50KTtyZXR1cm4gdC5sZWFkaW5nQXNjaWkmJklodCgibGVmdCIsYSxlKSYmKHQubGVhZGluZz10LmxlYWRpbmdOb25Bc2NpaSksdC50cmFpbGluZ0FzY2lpJiZJaHQoInJpZ2h0IixhLGUpJiYodC50cmFpbGluZz10LnRyYWlsaW5nTm9uQXNjaWkpLHtsZWFkaW5nOnQubGVhZGluZyx0cmFpbGluZzp0LnRyYWlsaW5nfX1mdW5jdGlvbiByemEoYSl7dmFyIGU9YS5tYXRjaCgvXigoWyBcdFxyXG5dKikoXHMqKSkoPzooPz1cUylbXHNcU10qXFMpPygoXHMqPykoWyBcdFxyXG5dKikpJC8pO3JldHVybntsZWFkaW5nOmVbMV0sbGVhZGluZ0FzY2lpOmVbMl0sbGVhZGluZ05vbkFzY2lpOmVbM10sdHJhaWxpbmc6ZVs0XSx0cmFpbGluZ05vbkFzY2lpOmVbNV0sdHJhaWxpbmdBc2NpaTplWzZdfX1mdW5jdGlvbiBJaHQoYSxlLHQpe3ZhciByLGksbztyZXR1cm4gYT09PSJsZWZ0Ij8ocj1lLnByZXZpb3VzU2libGluZyxpPS8gJC8pOihyPWUubmV4dFNpYmxpbmcsaT0vXiAvKSxyJiYoci5ub2RlVHlwZT09PTM/bz1pLnRlc3Qoci5ub2RlVmFsdWUpOnQucHJlZm9ybWF0dGVkQ29kZSYmci5ub2RlTmFtZT09PSJDT0RFIj9vPSExOnIubm9kZVR5cGU9PT0xJiYhdmRlKHIpJiYobz1pLnRlc3Qoci50ZXh0Q29udGVudCkpKSxvfWZ1bmN0aW9uIEswKGEpe2lmKCEodGhpcyBpbnN0YW5jZW9mIEswKSlyZXR1cm4gbmV3IEswKGEpO3ZhciBlPXtydWxlczp6aSxoZWFkaW5nU3R5bGU6InNldGV4dCIsaHI6IiogKiAqIixidWxsZXRMaXN0TWFya2VyOiIqIixjb2RlQmxvY2tTdHlsZToiaW5kZW50ZWQiLGZlbmNlOiJgYGAiLGVtRGVsaW1pdGVyOiJfIixzdHJvbmdEZWxpbWl0ZXI6IioqIixsaW5rU3R5bGU6ImlubGluZWQiLGxpbmtSZWZlcmVuY2VTdHlsZToiZnVsbCIsYnI6IiAgIixwcmVmb3JtYXR0ZWRDb2RlOiExLGJsYW5rUmVwbGFjZW1lbnQ6cyhmdW5jdGlvbih0LHIpe3JldHVybiByLmlzQmxvY2s/YAoKYDoiIn0sImJsYW5rUmVwbGFjZW1lbnQiKSxrZWVwUmVwbGFjZW1lbnQ6cyhmdW5jdGlvbih0LHIpe3JldHVybiByLmlzQmxvY2s/YAoKYCtyLm91dGVySFRNTCtgCgpgOnIub3V0ZXJIVE1MfSwia2VlcFJlcGxhY2VtZW50IiksZGVmYXVsdFJlcGxhY2VtZW50OnMoZnVuY3Rpb24odCxyKXtyZXR1cm4gci5pc0Jsb2NrP2AKCmArdCtgCgpgOnR9LCJkZWZhdWx0UmVwbGFjZW1lbnQiKX07dGhpcy5vcHRpb25zPUZTYSh7fSxlLGEpLHRoaXMucnVsZXM9bmV3IEVodCh0aGlzLm9wdGlvbnMpfWZ1bmN0aW9uIE5odChhKXt2YXIgZT10aGlzO3JldHVybiBzemEuY2FsbChhLmNoaWxkTm9kZXMsZnVuY3Rpb24odCxyKXtyPW5ldyBlemEocixlLm9wdGlvbnMpO3ZhciBpPSIiO3JldHVybiByLm5vZGVUeXBlPT09Mz9pPXIuaXNDb2RlP3Iubm9kZVZhbHVlOmUuZXNjYXBlKHIubm9kZVZhbHVlKTpyLm5vZGVUeXBlPT09MSYmKGk9b3phLmNhbGwoZSxyKSksUmh0KHQsaSl9LCIiKX1mdW5jdGlvbiBpemEoYSl7dmFyIGU9dGhpcztyZXR1cm4gdGhpcy5ydWxlcy5mb3JFYWNoKGZ1bmN0aW9uKHQpe3R5cGVvZiB0LmFwcGVuZD09ImZ1bmN0aW9uIiYmKGE9Umh0KGEsdC5hcHBlbmQoZS5vcHRpb25zKSkpfSksYS5yZXBsYWNlKC9eW1x0XHJcbl0rLywiIikucmVwbGFjZSgvW1x0XHJcblxzXSskLywiIil9ZnVuY3Rpb24gb3phKGEpe3ZhciBlPXRoaXMucnVsZXMuZm9yTm9kZShhKSx0PU5odC5jYWxsKHRoaXMsYSkscj1hLmZsYW5raW5nV2hpdGVzcGFjZTtyZXR1cm4oci5sZWFkaW5nfHxyLnRyYWlsaW5nKSYmKHQ9dC50cmltKCkpLHIubGVhZGluZytlLnJlcGxhY2VtZW50KHQsYSx0aGlzLm9wdGlvbnMpK3IudHJhaWxpbmd9ZnVuY3Rpb24gUmh0KGEsZSl7dmFyIHQ9Q2h0KGEpLHI9emh0KGUpLGk9TWF0aC5tYXgoYS5sZW5ndGgtdC5sZW5ndGgsZS5sZW5ndGgtci5sZW5ndGgpLG89YAoKYC5zdWJzdHJpbmcoMCxpKTtyZXR1cm4gdCtvK3J9ZnVuY3Rpb24gbnphKGEpe3JldHVybiBhIT1udWxsJiYodHlwZW9mIGE9PSJzdHJpbmcifHxhLm5vZGVUeXBlJiYoYS5ub2RlVHlwZT09PTF8fGEubm9kZVR5cGU9PT05fHxhLm5vZGVUeXBlPT09MTEpKX12YXIgQlNhLFRodCwkaHQsalNhLHppLFNkZSxaU2EsemRlLHN6YSxPaHQ9ZigoKT0+e3MoRlNhLCJleHRlbmQiKTtzKGJkZSwicmVwZWF0Iik7cyh6aHQsInRyaW1MZWFkaW5nTmV3bGluZXMiKTtzKENodCwidHJpbVRyYWlsaW5nTmV3bGluZXMiKTtzKF9odCwidHJpbU5ld2xpbmVzIik7QlNhPVsiQUREUkVTUyIsIkFSVElDTEUiLCJBU0lERSIsIkFVRElPIiwiQkxPQ0tRVU9URSIsIkJPRFkiLCJDQU5WQVMiLCJDRU5URVIiLCJERCIsIkRJUiIsIkRJViIsIkRMIiwiRFQiLCJGSUVMRFNFVCIsIkZJR0NBUFRJT04iLCJGSUdVUkUiLCJGT09URVIiLCJGT1JNIiwiRlJBTUVTRVQiLCJIMSIsIkgyIiwiSDMiLCJINCIsIkg1IiwiSDYiLCJIRUFERVIiLCJIR1JPVVAiLCJIUiIsIkhUTUwiLCJJU0lOREVYIiwiTEkiLCJNQUlOIiwiTUVOVSIsIk5BViIsIk5PRlJBTUVTIiwiTk9TQ1JJUFQiLCJPTCIsIk9VVFBVVCIsIlAiLCJQUkUiLCJTRUNUSU9OIiwiVEFCTEUiLCJUQk9EWSIsIlREIiwiVEZPT1QiLCJUSCIsIlRIRUFEIiwiVFIiLCJVTCJdO3ModmRlLCJpc0Jsb2NrIik7VGh0PVsiQVJFQSIsIkJBU0UiLCJCUiIsIkNPTCIsIkNPTU1BTkQiLCJFTUJFRCIsIkhSIiwiSU1HIiwiSU5QVVQiLCJLRVlHRU4iLCJMSU5LIiwiTUVUQSIsIlBBUkFNIiwiU09VUkNFIiwiVFJBQ0siLCJXQlIiXTtzKExodCwiaXNWb2lkIik7cyhIU2EsImhhc1ZvaWQiKTskaHQ9WyJBIiwiVEFCTEUiLCJUSEVBRCIsIlRCT0RZIiwiVEZPT1QiLCJUSCIsIlREIiwiSUZSQU1FIiwiU0NSSVBUIiwiQVVESU8iLCJWSURFTyJdO3MocVNhLCJpc01lYW5pbmdmdWxXaGVuQmxhbmsiKTtzKFZTYSwiaGFzTWVhbmluZ2Z1bFdoZW5CbGFuayIpO3MoeGRlLCJpcyIpO3MoRGh0LCJoYXMiKTtqU2E9W1svXFwvZywiXFxcXCJdLFsvXCovZywiXFwqIl0sWy9eLS9nLCJcXC0iXSxbL15cKyAvZywiXFwrICJdLFsvXig9KykvZywiXFwkMSJdLFsvXigjezEsNn0pIC9nLCJcXCQxICJdLFsvYC9nLCJcXGAiXSxbL15+fn4vZywiXFx+fn4iXSxbL1xbL2csIlxcWyJdLFsvXF0vZywiXFxdIl0sWy9ePi9nLCJcXD4iXSxbL18vZywiXFxfIl0sWy9eKFxkKylcLiAvZywiJDFcXC4gIl1dO3MoQWh0LCJlc2NhcGVNYXJrZG93biIpO3ppPXt9O3ppLnBhcmFncmFwaD17ZmlsdGVyOiJwIixyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEpe3JldHVybmAKCmArYStgCgpgfSwicmVwbGFjZW1lbnQiKX0semkubGluZUJyZWFrPXtmaWx0ZXI6ImJyIixyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEsZSx0KXtyZXR1cm4gdC5icitgCmB9LCJyZXBsYWNlbWVudCIpfSx6aS5oZWFkaW5nPXtmaWx0ZXI6WyJoMSIsImgyIiwiaDMiLCJoNCIsImg1IiwiaDYiXSxyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEsZSx0KXt2YXIgcj1OdW1iZXIoZS5ub2RlTmFtZS5jaGFyQXQoMSkpO2lmKHQuaGVhZGluZ1N0eWxlPT09InNldGV4dCImJnI8Myl7dmFyIGk9YmRlKHI9PT0xPyI9IjoiLSIsYS5sZW5ndGgpO3JldHVybmAKCmArYStgCmAraStgCgpgfWVsc2UgcmV0dXJuYAoKYCtiZGUoIiMiLHIpKyIgIithK2AKCmB9LCJyZXBsYWNlbWVudCIpfSx6aS5ibG9ja3F1b3RlPXtmaWx0ZXI6ImJsb2NrcXVvdGUiLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oYSl7cmV0dXJuIGE9X2h0KGEpLnJlcGxhY2UoL14vZ20sIj4gIiksYAoKYCthK2AKCmB9LCJyZXBsYWNlbWVudCIpfSx6aS5saXN0PXtmaWx0ZXI6WyJ1bCIsIm9sIl0scmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUpe3ZhciB0PWUucGFyZW50Tm9kZTtyZXR1cm4gdC5ub2RlTmFtZT09PSJMSSImJnQubGFzdEVsZW1lbnRDaGlsZD09PWU/YApgK2E6YAoKYCthK2AKCmB9LCJyZXBsYWNlbWVudCIpfSx6aS5saXN0SXRlbT17ZmlsdGVyOiJsaSIscmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUsdCl7dmFyIHI9dC5idWxsZXRMaXN0TWFya2VyKyIgICAiLGk9ZS5wYXJlbnROb2RlO2lmKGkubm9kZU5hbWU9PT0iT0wiKXt2YXIgbz1pLmdldEF0dHJpYnV0ZSgic3RhcnQiKSxuPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoaS5jaGlsZHJlbixlKTtyPShvP051bWJlcihvKStuOm4rMSkrIi4gICJ9dmFyIGw9L1xuJC8udGVzdChhKTtyZXR1cm4gYT1faHQoYSkrKGw/YApgOiIiKSxhPWEucmVwbGFjZSgvXG4vZ20sYApgKyIgIi5yZXBlYXQoci5sZW5ndGgpKSxyK2ErKGUubmV4dFNpYmxpbmc/YApgOiIiKX0sInJlcGxhY2VtZW50Iil9LHppLmluZGVudGVkQ29kZUJsb2NrPXtmaWx0ZXI6cyhmdW5jdGlvbihhLGUpe3JldHVybiBlLmNvZGVCbG9ja1N0eWxlPT09ImluZGVudGVkIiYmYS5ub2RlTmFtZT09PSJQUkUiJiZhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlTmFtZT09PSJDT0RFIn0sImZpbHRlciIpLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oYSxlLHQpe3JldHVybmAKCiAgICBgK2UuZmlyc3RDaGlsZC50ZXh0Q29udGVudC5yZXBsYWNlKC9cbi9nLGAKICAgIGApK2AKCmB9LCJyZXBsYWNlbWVudCIpfSx6aS5mZW5jZWRDb2RlQmxvY2s9e2ZpbHRlcjpzKGZ1bmN0aW9uKGEsZSl7cmV0dXJuIGUuY29kZUJsb2NrU3R5bGU9PT0iZmVuY2VkIiYmYS5ub2RlTmFtZT09PSJQUkUiJiZhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlTmFtZT09PSJDT0RFIn0sImZpbHRlciIpLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1lLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIixpPShyLm1hdGNoKC9sYW5ndWFnZS0oXFMrKS8pfHxbbnVsbCwiIl0pWzFdLG89ZS5maXJzdENoaWxkLnRleHRDb250ZW50LG49dC5mZW5jZS5jaGFyQXQoMCksbD0zLGQ9bmV3IFJlZ0V4cCgiXiIrbisiezMsfSIsImdtIiksYztjPWQuZXhlYyhvKTspY1swXS5sZW5ndGg+PWwmJihsPWNbMF0ubGVuZ3RoKzEpO3ZhciBwPWJkZShuLGwpO3JldHVybmAKCmArcCtpK2AKYCtvLnJlcGxhY2UoL1xuJC8sIiIpK2AKYCtwK2AKCmB9LCJyZXBsYWNlbWVudCIpfSx6aS5ob3Jpem9udGFsUnVsZT17ZmlsdGVyOiJociIscmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUsdCl7cmV0dXJuYAoKYCt0LmhyK2AKCmB9LCJyZXBsYWNlbWVudCIpfSx6aS5pbmxpbmVMaW5rPXtmaWx0ZXI6cyhmdW5jdGlvbihhLGUpe3JldHVybiBlLmxpbmtTdHlsZT09PSJpbmxpbmVkIiYmYS5ub2RlTmFtZT09PSJBIiYmYS5nZXRBdHRyaWJ1dGUoImhyZWYiKX0sImZpbHRlciIpLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oYSxlKXt2YXIgdD15ZGUoZS5nZXRBdHRyaWJ1dGUoImhyZWYiKSkscj13ZGUoeUooZS5nZXRBdHRyaWJ1dGUoInRpdGxlIikpKSxpPXI/JyAiJytyKyciJzoiIjtyZXR1cm4iWyIrYSsiXSgiK3QraSsiKSJ9LCJyZXBsYWNlbWVudCIpfSx6aS5yZWZlcmVuY2VMaW5rPXtmaWx0ZXI6cyhmdW5jdGlvbihhLGUpe3JldHVybiBlLmxpbmtTdHlsZT09PSJyZWZlcmVuY2VkIiYmYS5ub2RlTmFtZT09PSJBIiYmYS5nZXRBdHRyaWJ1dGUoImhyZWYiKX0sImZpbHRlciIpLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oYSxlLHQpe3ZhciByPXlkZShlLmdldEF0dHJpYnV0ZSgiaHJlZiIpKSxpPXlKKGUuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpKTtpJiYoaT0nICInK3dkZShpKSsnIicpO3ZhciBvLG47c3dpdGNoKHQubGlua1JlZmVyZW5jZVN0eWxlKXtjYXNlImNvbGxhcHNlZCI6bz0iWyIrYSsiXVtdIixuPSJbIithKyJdOiAiK3IraTticmVhaztjYXNlInNob3J0Y3V0IjpvPSJbIithKyJdIixuPSJbIithKyJdOiAiK3IraTticmVhaztkZWZhdWx0OnZhciBsPXRoaXMucmVmZXJlbmNlcy5sZW5ndGgrMTtvPSJbIithKyJdWyIrbCsiXSIsbj0iWyIrbCsiXTogIityK2l9cmV0dXJuIHRoaXMucmVmZXJlbmNlcy5wdXNoKG4pLG99LCJyZXBsYWNlbWVudCIpLHJlZmVyZW5jZXM6W10sYXBwZW5kOnMoZnVuY3Rpb24oYSl7dmFyIGU9IiI7cmV0dXJuIHRoaXMucmVmZXJlbmNlcy5sZW5ndGgmJihlPWAKCmArdGhpcy5yZWZlcmVuY2VzLmpvaW4oYApgKStgCgpgLHRoaXMucmVmZXJlbmNlcz1bXSksZX0sImFwcGVuZCIpfSx6aS5lbXBoYXNpcz17ZmlsdGVyOlsiZW0iLCJpIl0scmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUsdCl7cmV0dXJuIGEudHJpbSgpP3QuZW1EZWxpbWl0ZXIrYSt0LmVtRGVsaW1pdGVyOiIifSwicmVwbGFjZW1lbnQiKX0semkuc3Ryb25nPXtmaWx0ZXI6WyJzdHJvbmciLCJiIl0scmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUsdCl7cmV0dXJuIGEudHJpbSgpP3Quc3Ryb25nRGVsaW1pdGVyK2ErdC5zdHJvbmdEZWxpbWl0ZXI6IiJ9LCJyZXBsYWNlbWVudCIpfSx6aS5jb2RlPXtmaWx0ZXI6cyhmdW5jdGlvbihhKXt2YXIgZT1hLnByZXZpb3VzU2libGluZ3x8YS5uZXh0U2libGluZyx0PWEucGFyZW50Tm9kZS5ub2RlTmFtZT09PSJQUkUiJiYhZTtyZXR1cm4gYS5ub2RlTmFtZT09PSJDT0RFIiYmIXR9LCJmaWx0ZXIiKSxyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiIiO2E9YS5yZXBsYWNlKC9ccj9cbnxcci9nLCIgIik7Zm9yKHZhciBlPS9eYHxeIC4qP1teIF0uKiAkfGAkLy50ZXN0KGEpPyIgIjoiIix0PSJgIixyPWEubWF0Y2goL2ArL2dtKXx8W107ci5pbmRleE9mKHQpIT09LTE7KXQ9dCsiYCI7cmV0dXJuIHQrZSthK2UrdH0sInJlcGxhY2VtZW50Iil9LHppLmltYWdlPXtmaWx0ZXI6ImltZyIscmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUpe3ZhciB0PUFodCh5SihlLmdldEF0dHJpYnV0ZSgiYWx0IikpKSxyPXlkZShlLmdldEF0dHJpYnV0ZSgic3JjIil8fCIiKSxpPXlKKGUuZ2V0QXR0cmlidXRlKCJ0aXRsZSIpKSxvPWk/JyAiJyt3ZGUoaSkrJyInOiIiO3JldHVybiByPyIhWyIrdCsiXSgiK3IrbysiKSI6IiJ9LCJyZXBsYWNlbWVudCIpfTtzKHlKLCJjbGVhbkF0dHJpYnV0ZSIpO3MoeWRlLCJlc2NhcGVMaW5rRGVzdGluYXRpb24iKTtzKHdkZSwiZXNjYXBlTGlua1RpdGxlIik7cyhFaHQsIlJ1bGVzIiksRWh0LnByb3RvdHlwZT17YWRkOnMoZnVuY3Rpb24oYSxlKXt0aGlzLmFycmF5LnVuc2hpZnQoZSl9LCJhZGQiKSxrZWVwOnMoZnVuY3Rpb24oYSl7dGhpcy5fa2VlcC51bnNoaWZ0KHtmaWx0ZXI6YSxyZXBsYWNlbWVudDp0aGlzLmtlZXBSZXBsYWNlbWVudH0pfSwia2VlcCIpLHJlbW92ZTpzKGZ1bmN0aW9uKGEpe3RoaXMuX3JlbW92ZS51bnNoaWZ0KHtmaWx0ZXI6YSxyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKCl7cmV0dXJuIiJ9LCJyZXBsYWNlbWVudCIpfSl9LCJyZW1vdmUiKSxmb3JOb2RlOnMoZnVuY3Rpb24oYSl7aWYoYS5pc0JsYW5rKXJldHVybiB0aGlzLmJsYW5rUnVsZTt2YXIgZTtyZXR1cm4oZT1NZGUodGhpcy5hcnJheSxhLHRoaXMub3B0aW9ucykpfHwoZT1NZGUodGhpcy5fa2VlcCxhLHRoaXMub3B0aW9ucykpfHwoZT1NZGUodGhpcy5fcmVtb3ZlLGEsdGhpcy5vcHRpb25zKSk/ZTp0aGlzLmRlZmF1bHRSdWxlfSwiZm9yTm9kZSIpLGZvckVhY2g6cyhmdW5jdGlvbihhKXtmb3IodmFyIGU9MDtlPHRoaXMuYXJyYXkubGVuZ3RoO2UrKylhKHRoaXMuYXJyYXlbZV0sZSl9LCJmb3JFYWNoIil9O3MoTWRlLCJmaW5kUnVsZSIpO3MoVVNhLCJmaWx0ZXJWYWx1ZSIpO3MoV1NhLCJjb2xsYXBzZVdoaXRlc3BhY2UiKTtzKGtkZSwicmVtb3ZlIik7cyhQaHQsIm5leHQiKTtTZGU9dHlwZW9mIHdpbmRvdzwidSI/d2luZG93Ont9O3MoR1NhLCJjYW5QYXJzZUhUTUxOYXRpdmVseSIpO3MoWVNhLCJjcmVhdGVIVE1MUGFyc2VyIik7cyhLU2EsInNob3VsZFVzZUFjdGl2ZVgiKTtaU2E9R1NhKCk/U2RlLkRPTVBhcnNlcjpZU2EoKTtzKFhTYSwiUm9vdE5vZGUiKTtzKFFTYSwiaHRtbFBhcnNlciIpO3MoSlNhLCJpc1ByZU9yQ29kZSIpO3MoZXphLCJOb2RlIik7cyh0emEsImlzQmxhbmsiKTtzKGF6YSwiZmxhbmtpbmdXaGl0ZXNwYWNlIik7cyhyemEsImVkZ2VXaGl0ZXNwYWNlIik7cyhJaHQsImlzRmxhbmtlZEJ5V2hpdGVzcGFjZSIpO3N6YT1BcnJheS5wcm90b3R5cGUucmVkdWNlO3MoSzAsIlR1cm5kb3duU2VydmljZSIpLEswLnByb3RvdHlwZT17dHVybmRvd246cyhmdW5jdGlvbihhKXtpZighbnphKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoYSsiIGlzIG5vdCBhIHN0cmluZywgb3IgYW4gZWxlbWVudC9kb2N1bWVudC9mcmFnbWVudCBub2RlLiIpO2lmKGE9PT0iIilyZXR1cm4iIjt2YXIgZT1OaHQuY2FsbCh0aGlzLG5ldyBYU2EoYSx0aGlzLm9wdGlvbnMpKTtyZXR1cm4gaXphLmNhbGwodGhpcyxlKX0sInR1cm5kb3duIiksdXNlOnMoZnVuY3Rpb24oYSl7aWYoQXJyYXkuaXNBcnJheShhKSlmb3IodmFyIGU9MDtlPGEubGVuZ3RoO2UrKyl0aGlzLnVzZShhW2VdKTtlbHNlIGlmKHR5cGVvZiBhPT0iZnVuY3Rpb24iKWEodGhpcyk7ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJwbHVnaW4gbXVzdCBiZSBhIEZ1bmN0aW9uIG9yIGFuIEFycmF5IG9mIEZ1bmN0aW9ucyIpO3JldHVybiB0aGlzfSwidXNlIiksYWRkUnVsZTpzKGZ1bmN0aW9uKGEsZSl7cmV0dXJuIHRoaXMucnVsZXMuYWRkKGEsZSksdGhpc30sImFkZFJ1bGUiKSxrZWVwOnMoZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucnVsZXMua2VlcChhKSx0aGlzfSwia2VlcCIpLHJlbW92ZTpzKGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJ1bGVzLnJlbW92ZShhKSx0aGlzfSwicmVtb3ZlIiksZXNjYXBlOnMoZnVuY3Rpb24oYSl7cmV0dXJuIEFodChhKX0sImVzY2FwZSIpfTtzKE5odCwicHJvY2VzcyIpO3MoaXphLCJwb3N0UHJvY2VzcyIpO3Mob3phLCJyZXBsYWNlbWVudEZvck5vZGUiKTtzKFJodCwiam9pbiIpO3MobnphLCJjYW5Db252ZXJ0Iil9KTt2YXIgRGRlPXt9O2x0KERkZSx7Z2ZtOigpPT5IaHQsaGlnaGxpZ2h0ZWRDb2RlQmxvY2s6KCk9Pl9kZSxzdHJpa2V0aHJvdWdoOigpPT5UZGUsdGFibGVzOigpPT5MZGUsdGFza0xpc3RJdGVtczooKT0+JGRlfSk7ZnVuY3Rpb24gX2RlKGEpe2EuYWRkUnVsZSgiaGlnaGxpZ2h0ZWRDb2RlQmxvY2siLHtmaWx0ZXI6cyhmdW5jdGlvbihlKXt2YXIgdD1lLmZpcnN0Q2hpbGQ7cmV0dXJuIGUubm9kZU5hbWU9PT0iRElWIiYmRmh0LnRlc3QoZS5jbGFzc05hbWUpJiZ0JiZ0Lm5vZGVOYW1lPT09IlBSRSJ9LCJmaWx0ZXIiKSxyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGUsdCxyKXt2YXIgaT10LmNsYXNzTmFtZXx8IiIsbz0oaS5tYXRjaChGaHQpfHxbbnVsbCwiIl0pWzFdO3JldHVybmAKCmArci5mZW5jZStvK2AKYCt0LmZpcnN0Q2hpbGQudGV4dENvbnRlbnQrYApgK3IuZmVuY2UrYAoKYH0sInJlcGxhY2VtZW50Iil9KX1mdW5jdGlvbiBUZGUoYSl7YS5hZGRSdWxlKCJzdHJpa2V0aHJvdWdoIix7ZmlsdGVyOlsiZGVsIiwicyIsInN0cmlrZSJdLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oZSl7cmV0dXJuIn4iK2UrIn4ifSwicmVwbGFjZW1lbnQiKX0pfWZ1bmN0aW9uIENkZShhKXt2YXIgZT1hLnBhcmVudE5vZGU7cmV0dXJuIGUubm9kZU5hbWU9PT0iVEhFQUQifHxlLmZpcnN0Q2hpbGQ9PT1hJiYoZS5ub2RlTmFtZT09PSJUQUJMRSJ8fGR6YShlKSkmJmN6YS5jYWxsKGEuY2hpbGROb2RlcyxmdW5jdGlvbih0KXtyZXR1cm4gdC5ub2RlTmFtZT09PSJUSCJ9KX1mdW5jdGlvbiBkemEoYSl7dmFyIGU9YS5wcmV2aW91c1NpYmxpbmc7cmV0dXJuIGEubm9kZU5hbWU9PT0iVEJPRFkiJiYoIWV8fGUubm9kZU5hbWU9PT0iVEhFQUQiJiYvXlxzKiQvaS50ZXN0KGUudGV4dENvbnRlbnQpKX1mdW5jdGlvbiBCaHQoYSxlKXt2YXIgdD1semEuY2FsbChlLnBhcmVudE5vZGUuY2hpbGROb2RlcyxlKSxyPSIgIjtyZXR1cm4gdD09PTAmJihyPSJ8ICIpLHIrYSsiIHwifWZ1bmN0aW9uIExkZShhKXthLmtlZXAoZnVuY3Rpb24odCl7cmV0dXJuIHQubm9kZU5hbWU9PT0iVEFCTEUiJiYhQ2RlKHQucm93c1swXSl9KTtmb3IodmFyIGUgaW4gSTgpYS5hZGRSdWxlKGUsSThbZV0pfWZ1bmN0aW9uICRkZShhKXthLmFkZFJ1bGUoInRhc2tMaXN0SXRlbXMiLHtmaWx0ZXI6cyhmdW5jdGlvbihlKXtyZXR1cm4gZS50eXBlPT09ImNoZWNrYm94IiYmZS5wYXJlbnROb2RlLm5vZGVOYW1lPT09IkxJIn0sImZpbHRlciIpLHJlcGxhY2VtZW50OnMoZnVuY3Rpb24oZSx0KXtyZXR1cm4odC5jaGVja2VkPyJbeF0iOiJbIF0iKSsiICJ9LCJyZXBsYWNlbWVudCIpfSl9ZnVuY3Rpb24gSGh0KGEpe2EudXNlKFtfZGUsVGRlLExkZSwkZGVdKX12YXIgRmh0LGx6YSxjemEsSTgscWh0PWYoKCk9PntGaHQ9L2hpZ2hsaWdodC0oPzp0ZXh0fHNvdXJjZSktKFthLXowLTldKykvO3MoX2RlLCJoaWdobGlnaHRlZENvZGVCbG9jayIpO3MoVGRlLCJzdHJpa2V0aHJvdWdoIik7bHphPUFycmF5LnByb3RvdHlwZS5pbmRleE9mLGN6YT1BcnJheS5wcm90b3R5cGUuZXZlcnksSTg9e307STgudGFibGVDZWxsPXtmaWx0ZXI6WyJ0aCIsInRkIl0scmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhLGUpe3JldHVybiBCaHQoYSxlKX0sInJlcGxhY2VtZW50Iil9LEk4LnRhYmxlUm93PXtmaWx0ZXI6InRyIixyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEsZSl7dmFyIHQ9IiIscj17bGVmdDoiOi0tIixyaWdodDoiLS06IixjZW50ZXI6IjotOiJ9O2lmKENkZShlKSlmb3IodmFyIGk9MDtpPGUuY2hpbGROb2Rlcy5sZW5ndGg7aSsrKXt2YXIgbz0iLS0tIixuPShlLmNoaWxkTm9kZXNbaV0uZ2V0QXR0cmlidXRlKCJhbGlnbiIpfHwiIikudG9Mb3dlckNhc2UoKTtuJiYobz1yW25dfHxvKSx0Kz1CaHQobyxlLmNoaWxkTm9kZXNbaV0pfXJldHVybmAKYCthKyh0P2AKYCt0OiIiKX0sInJlcGxhY2VtZW50Iil9LEk4LnRhYmxlPXtmaWx0ZXI6cyhmdW5jdGlvbihhKXtyZXR1cm4gYS5ub2RlTmFtZT09PSJUQUJMRSImJkNkZShhLnJvd3NbMF0pfSwiZmlsdGVyIikscmVwbGFjZW1lbnQ6cyhmdW5jdGlvbihhKXtyZXR1cm4gYT1hLnJlcGxhY2UoYAoKYCxgCmApLGAKCmArYStgCgpgfSwicmVwbGFjZW1lbnQiKX0sSTgudGFibGVTZWN0aW9uPXtmaWx0ZXI6WyJ0aGVhZCIsInRib2R5IiwidGZvb3QiXSxyZXBsYWNlbWVudDpzKGZ1bmN0aW9uKGEpe3JldHVybiBhfSwicmVwbGFjZW1lbnQiKX07cyhDZGUsImlzSGVhZGluZ1JvdyIpO3MoZHphLCJpc0ZpcnN0VGJvZHkiKTtzKEJodCwiY2VsbCIpO3MoTGRlLCJ0YWJsZXMiKTtzKCRkZSwidGFza0xpc3RJdGVtcyIpO3MoSGh0LCJnZm0iKX0pO3ZhciBBZGUsRWRlPWYoKCk9PntMM3QoKTtsZHQoKTtocHQoKTtCcHQoKTtRcHQoKTtNaHQoKTtTaHQoKTtPaHQoKTtxaHQoKTtBZGU9RGRlfSk7dmFyIHV6YSx3SixqaHQ9ZigoKT0+e0VkZSgpO3V6YT1zKGE9PmEudHlwZT09PSJ5YW1sIiYmInZhbHVlImluIGEmJnR5cGVvZiBhLnZhbHVlPT0ic3RyaW5nIiwiaXNZYW1sTm9kZSIpLHdKPWNsYXNzIGF7c3RhdGlje3ModGhpcywiTWRQYXJzZWRSZXN1bHQiKX1jb25zdHJ1Y3Rvcigpe3RoaXMub3JpZ2luYWxTdHJpbmc9IiIsdGhpcy50aXRsZT0iIix0aGlzLmh0bWw9IiIsdGhpcy5mcm9udG1hdHRlckRhdGE9e319c3RhdGljIGFzeW5jIGNyZWF0ZUZyb21NYXJrZG93blN0cmluZyhlKXtsZXQgdD1uZXcgYTtyZXR1cm4gYXdhaXQgdC51cGRhdGVGcm9tTWFya2Rvd25TdHJpbmcoZSksdH1hc3luYyB1cGRhdGVGcm9tTWFya2Rvd25TdHJpbmcoZSl7dGhpcy5vcmlnaW5hbFN0cmluZz1lO2xldCB0LHI9YXdhaXQgSGcoKS51c2UoXzgpLnVzZShDOCkudXNlKEw4LFsieWFtbCIsInRvbWwiXSkudXNlKFA4KS51c2UoRTgpLnVzZSgoKT0+aT0+e2xldCBvPWkuY2hpbGRyZW4uZmluZCh1emEpO28mJih0PW8udmFsdWUpfSkucHJvY2VzcyhlKTt0aGlzLmh0bWw9ci50b1N0cmluZygpLHQ/dGhpcy5mcm9udG1hdHRlckRhdGE9YXdhaXQgUmcueWFtbFN0cmluZ1RvT2JqZWN0KHQpOnRoaXMuZnJvbnRtYXR0ZXJEYXRhPXt9fX19KTt2YXIgdWI9e307bHQodWIse1NtYXJ0TWFya2Rvd246KCk9PlBkZX0pO3ZhciBQZGUsVWh0PWYoKCk9PntFZGUoKTtqaHQoKTtQZGU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJTbWFydE1hcmtkb3duIil9c3RhdGljIGFzeW5jIGVhc3lNYXJrZG93blRvSHRtbChlKXtyZXR1cm4oYXdhaXQgbmV3IGEoKS5nZXRNZFBhcnNlZFJlc3VsdEZyb21NYXJrZG93bihlKSkuaHRtbH1jb25zdHJ1Y3Rvcigpe31hc3luYyBnZXRNZFBhcnNlZFJlc3VsdEZyb21NYXJrZG93bihlKXtyZXR1cm4gYXdhaXQgd0ouY3JlYXRlRnJvbU1hcmtkb3duU3RyaW5nKGUpfWh0bWxUb01hcmtkb3duKGUpe2xldCB0PW5ldyBLMCh7aGVhZGluZ1N0eWxlOiJhdHgiLGNvZGVCbG9ja1N0eWxlOiJmZW5jZWQifSk7cmV0dXJuIHQudXNlKEFkZS5nZm0pLHQudHVybmRvd24oZSl9fX0pO3ZhciBYaHQ9Ym8odjE9PnsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KHYxLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx2MS5QYXRoRXJyb3I9djEuVG9rZW5EYXRhPXZvaWQgMCx2MS5wYXJzZT1SZGUsdjEuY29tcGlsZT1temEsdjEubWF0Y2g9YnphLHYxLnBhdGhUb1JlZ2V4cD1ZaHQsdjEuc3RyaW5naWZ5PXh6YTt2YXIgSWRlPSIvIixOZGU9cyhhPT5hLCJOT09QX1ZBTFVFIikscHphPS9eWyRfXHB7SURfU3RhcnR9XSQvdSxXaHQ9L15bJFx1MjAwY1x1MjAwZFxwe0lEX0NvbnRpbnVlfV0kL3UsZnphPS9eWyRfXHB7SURfU3RhcnR9XVskXHUyMDBjXHUyMDBkXHB7SURfQ29udGludWV9XSokL3U7ZnVuY3Rpb24gaHphKGEpe3JldHVybiBhLnJlcGxhY2UoL1t7fSgpXFtcXSs/IToqXFxdL2csIlxcJCYiKX1zKGh6YSwiZXNjYXBlVGV4dCIpO2Z1bmN0aW9uIEdsKGEpe3JldHVybiBhLnJlcGxhY2UoL1suKyo/XiR7fSgpW1xdfC9cXF0vZywiXFwkJiIpfXMoR2wsImVzY2FwZSIpO3ZhciBNSj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUb2tlbkRhdGEiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMudG9rZW5zPWUsdGhpcy5vcmlnaW5hbFBhdGg9dH19O3YxLlRva2VuRGF0YT1NSjt2YXIgUjI9Y2xhc3MgZXh0ZW5kcyBUeXBlRXJyb3J7c3RhdGlje3ModGhpcywiUGF0aEVycm9yIil9Y29uc3RydWN0b3IoZSx0KXtsZXQgcj1lO3QmJihyKz1gOiAke3R9YCkscis9IjsgdmlzaXQgaHR0cHM6Ly9naXQubmV3L3BhdGhUb1JlZ2V4cEVycm9yIGZvciBpbmZvIixzdXBlcihyKSx0aGlzLm9yaWdpbmFsUGF0aD10fX07djEuUGF0aEVycm9yPVIyO2Z1bmN0aW9uIFJkZShhLGU9e30pe2xldHtlbmNvZGVQYXRoOnQ9TmRlfT1lLHI9Wy4uLmFdLGk9MDtmdW5jdGlvbiBvKG4pe2xldCBsPVtdLGQ9IiI7ZnVuY3Rpb24gYygpe2QmJihsLnB1c2goe3R5cGU6InRleHQiLHZhbHVlOnQoZCl9KSxkPSIiKX1mb3IocyhjLCJ3cml0ZVBhdGgiKTtpPHIubGVuZ3RoOyl7bGV0IHA9cltpKytdO2lmKHA9PT1uKXJldHVybiBjKCksbDtpZihwPT09IlxcIil7aWYoaT09PXIubGVuZ3RoKXRocm93IG5ldyBSMihgVW5leHBlY3RlZCBlbmQgYWZ0ZXIgXFwgYXQgaW5kZXggJHtpfWAsYSk7ZCs9cltpKytdO2NvbnRpbnVlfWlmKHA9PT0iOiJ8fHA9PT0iKiIpe2xldCB1PXA9PT0iOiI/InBhcmFtIjoid2lsZGNhcmQiLG09IiI7aWYocHphLnRlc3QocltpXSkpZG8gbSs9cltpKytdO3doaWxlKFdodC50ZXN0KHJbaV0pKTtlbHNlIGlmKHJbaV09PT0nIicpe2xldCB2PWk7Zm9yKDtpPHIubGVuZ3RoOyl7aWYoclsrK2ldPT09JyInKXtpKyssdj0wO2JyZWFrfXJbaV09PT0iXFwiJiZpKyssbSs9cltpXX1pZih2KXRocm93IG5ldyBSMihgVW50ZXJtaW5hdGVkIHF1b3RlIGF0IGluZGV4ICR7dn1gLGEpfWlmKCFtKXRocm93IG5ldyBSMihgTWlzc2luZyBwYXJhbWV0ZXIgbmFtZSBhdCBpbmRleCAke2l9YCxhKTtjKCksbC5wdXNoKHt0eXBlOnUsbmFtZTptfSk7Y29udGludWV9aWYocD09PSJ7Iil7YygpLGwucHVzaCh7dHlwZToiZ3JvdXAiLHRva2VuczpvKCJ9Iil9KTtjb250aW51ZX1pZihwPT09In0ifHxwPT09IigifHxwPT09IikifHxwPT09IlsifHxwPT09Il0ifHxwPT09IisifHxwPT09Ij8ifHxwPT09IiEiKXRocm93IG5ldyBSMihgVW5leHBlY3RlZCAke3B9IGF0IGluZGV4ICR7aS0xfWAsYSk7ZCs9cH1pZihuKXRocm93IG5ldyBSMihgVW5leHBlY3RlZCBlbmQgYXQgaW5kZXggJHtpfSwgZXhwZWN0ZWQgJHtufWAsYSk7cmV0dXJuIGMoKSxsfXJldHVybiBzKG8sImNvbnN1bWVVbnRpbCIpLG5ldyBNSihvKCIiKSxhKX1zKFJkZSwicGFyc2UiKTtmdW5jdGlvbiBtemEoYSxlPXt9KXtsZXR7ZW5jb2RlOnQ9ZW5jb2RlVVJJQ29tcG9uZW50LGRlbGltaXRlcjpyPUlkZX09ZSxpPXR5cGVvZiBhPT0ib2JqZWN0Ij9hOlJkZShhLGUpLG89R2h0KGkudG9rZW5zLHIsdCk7cmV0dXJuIHMoZnVuY3Rpb24obD17fSl7bGV0IGQ9W10sYz1vKGwsZCk7aWYoZC5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcihgTWlzc2luZyBwYXJhbWV0ZXJzOiAke2Quam9pbigiLCAiKX1gKTtyZXR1cm4gY30sInBhdGgiKX1zKG16YSwiY29tcGlsZSIpO2Z1bmN0aW9uIEdodChhLGUsdCl7bGV0IHI9YS5tYXAoaT0+Z3phKGksZSx0KSk7cmV0dXJuKGksbyk9PntsZXQgbj0iIjtmb3IobGV0IGwgb2YgciluKz1sKGksbyk7cmV0dXJuIG59fXMoR2h0LCJ0b2tlbnNUb0Z1bmN0aW9uIik7ZnVuY3Rpb24gZ3phKGEsZSx0KXtpZihhLnR5cGU9PT0idGV4dCIpcmV0dXJuKCk9PmEudmFsdWU7aWYoYS50eXBlPT09Imdyb3VwIil7bGV0IGk9R2h0KGEudG9rZW5zLGUsdCk7cmV0dXJuKG8sbik9PntsZXQgbD1uLmxlbmd0aCxkPWkobyxuKTtyZXR1cm4gbi5sZW5ndGg9PT1sP2Q6KG4ubGVuZ3RoPWwsIiIpfX1sZXQgcj10fHxOZGU7cmV0dXJuIGEudHlwZT09PSJ3aWxkY2FyZCImJnQhPT0hMT8oaSxvKT0+e2xldCBuPWlbYS5uYW1lXTtpZihuPT1udWxsKXJldHVybiBvLnB1c2goYS5uYW1lKSwiIjtpZighQXJyYXkuaXNBcnJheShuKXx8bi5sZW5ndGg9PT0wKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkICIke2EubmFtZX0iIHRvIGJlIGEgbm9uLWVtcHR5IGFycmF5YCk7bGV0IGw9IiI7Zm9yKGxldCBkPTA7ZDxuLmxlbmd0aDtkKyspe2lmKHR5cGVvZiBuW2RdIT0ic3RyaW5nIil0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCAiJHthLm5hbWV9LyR7ZH0iIHRvIGJlIGEgc3RyaW5nYCk7ZD4wJiYobCs9ZSksbCs9cihuW2RdKX1yZXR1cm4gbH06KGksbyk9PntsZXQgbj1pW2EubmFtZV07aWYobj09bnVsbClyZXR1cm4gby5wdXNoKGEubmFtZSksIiI7aWYodHlwZW9mIG4hPSJzdHJpbmciKXRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkICIke2EubmFtZX0iIHRvIGJlIGEgc3RyaW5nYCk7cmV0dXJuIHIobil9fXMoZ3phLCJ0b2tlblRvRnVuY3Rpb24iKTtmdW5jdGlvbiBiemEoYSxlPXt9KXtsZXR7ZGVjb2RlOnQ9ZGVjb2RlVVJJQ29tcG9uZW50LGRlbGltaXRlcjpyPUlkZX09ZSx7cmVnZXhwOmksa2V5czpvfT1ZaHQoYSxlKSxuPW8ubWFwKGw9PnQ9PT0hMT9OZGU6bC50eXBlPT09InBhcmFtIj90OmQ9PmQuc3BsaXQocikubWFwKHQpKTtyZXR1cm4gcyhmdW5jdGlvbihkKXtsZXQgYz1pLmV4ZWMoZCk7aWYoIWMpcmV0dXJuITE7bGV0IHA9Y1swXSx1PU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGxldCBtPTE7bTxjLmxlbmd0aDttKyspe2lmKGNbbV09PT12b2lkIDApY29udGludWU7bGV0IHY9b1ttLTFdLHg9blttLTFdO3Vbdi5uYW1lXT14KGNbbV0pfXJldHVybntwYXRoOnAscGFyYW1zOnV9fSwibWF0Y2giKX1zKGJ6YSwibWF0Y2giKTtmdW5jdGlvbiBZaHQoYSxlPXt9KXtsZXR7ZGVsaW1pdGVyOnQ9SWRlLGVuZDpyPSEwLHNlbnNpdGl2ZTppPSExLHRyYWlsaW5nOm89ITB9PWUsbj1bXSxsPSIiLGQ9MDtmdW5jdGlvbiBjKHUpe2lmKEFycmF5LmlzQXJyYXkodSkpe2ZvcihsZXQgdiBvZiB1KWModik7cmV0dXJufWxldCBtPXR5cGVvZiB1PT0ib2JqZWN0Ij91OlJkZSh1LGUpO09kZShtLnRva2VucywwLFtdLHY9PntpZihkPj0yNTYpdGhyb3cgbmV3IFIyKCJUb28gbWFueSBwYXRoIGNvbWJpbmF0aW9ucyIsbS5vcmlnaW5hbFBhdGgpO2Q+MCYmKGwrPSJ8IiksbCs9dnphKHYsdCxuLG0ub3JpZ2luYWxQYXRoKSxkKyt9KX1zKGMsInByb2Nlc3MiKSxjKGEpO2xldCBwPWBeKD86JHtsfSlgO3JldHVybiBvJiYocCs9Iig/OiIrR2wodCkrIiQpPyIpLHArPXI/IiQiOiIoPz0iK0dsKHQpKyJ8JCkiLHtyZWdleHA6bmV3IFJlZ0V4cChwLGk/IiI6ImkiKSxrZXlzOm59fXMoWWh0LCJwYXRoVG9SZWdleHAiKTtmdW5jdGlvbiBPZGUoYSxlLHQscil7Zm9yKDtlPGEubGVuZ3RoOyl7bGV0IGk9YVtlKytdO2lmKGkudHlwZT09PSJncm91cCIpe2xldCBvPXQubGVuZ3RoO09kZShpLnRva2VucywwLHQsbj0+T2RlKGEsZSxuLHIpKSx0Lmxlbmd0aD1vO2NvbnRpbnVlfXQucHVzaChpKX1yKHQpfXMoT2RlLCJmbGF0dGVuIik7ZnVuY3Rpb24gdnphKGEsZSx0LHIpe2xldCBpPSIiLG89IiIsbj0iIixsPTAsZD0wLGM9MDtmdW5jdGlvbiBwKG0sdil7Zm9yKDttPGEubGVuZ3RoOyl7bGV0IHg9YVttKytdO2lmKHgudHlwZT09PXYpcmV0dXJuITA7aWYoeC50eXBlPT09InRleHQiJiZ4LnZhbHVlLmluY2x1ZGVzKGUpKWJyZWFrfXJldHVybiExfXMocCwiaGFzSW5TZWdtZW50Iik7ZnVuY3Rpb24gdShtKXtsZXQgdj0iIjtmb3IoO208YS5sZW5ndGg7KXtsZXQgeD1hW20rK107aWYoeC50eXBlIT09InRleHQiKWJyZWFrO3YrPXgudmFsdWV9cmV0dXJuIHZ9Zm9yKHModSwicGVla1RleHQiKTtjPGEubGVuZ3RoOyl7bGV0IG09YVtjKytdO2lmKG0udHlwZT09PSJ0ZXh0Iil7aSs9R2wobS52YWx1ZSksbys9bS52YWx1ZSxsPT09MiYmKG4rPW0udmFsdWUpLG0udmFsdWUuaW5jbHVkZXMoZSkmJihkPTApO2NvbnRpbnVlfWlmKG0udHlwZT09PSJwYXJhbSJ8fG0udHlwZT09PSJ3aWxkY2FyZCIpe2lmKGwmJiFvKXRocm93IG5ldyBSMihgTWlzc2luZyB0ZXh0IGJlZm9yZSAiJHttLm5hbWV9IiAke20udHlwZX1gLHIpO20udHlwZT09PSJwYXJhbSI/KGkrPWQmMj9gKCR7WjAoZSxvKX0rKWA6cChjLCJ3aWxkY2FyZCIpP2AoJHtaMChlLHUoYykpfSspYDpkJjE/YCgke1owKGUsbyl9K3wke0dsKG8pfSlgOmAoJHtaMChlLCIiKX0rKWAsZHw9bD0xKTooaSs9ZCYyP2AoJHtaMChvLCIiKX0rKWA6bj9gKCR7WjAobiwiIil9K3wke1owKGUsIiIpfSspYDoiKFteXSspIixuPSIiLGR8PWw9MiksdC5wdXNoKG0pLG89IiI7Y29udGludWV9dGhyb3cgbmV3IFR5cGVFcnJvcihgVW5rbm93biB0b2tlbiB0eXBlOiAke20udHlwZX1gKX1yZXR1cm4gaX1zKHZ6YSwidG9SZWdFeHBTb3VyY2UiKTtmdW5jdGlvbiBaMChhLGUpe3JldHVybiBlLmxlbmd0aD5hLmxlbmd0aD9aMChlLGEpOihhPT09ZSYmKGU9IiIpLGUubGVuZ3RoPjE/YCg/Oig/ISR7R2woYSl9fCR7R2woZSl9KVteXSlgOmEubGVuZ3RoPjE/YCg/Oig/ISR7R2woYSl9KVteJHtHbChlKX1dKWA6YFteJHtHbChhK2UpfV1gKX1zKFowLCJuZWdhdGUiKTtmdW5jdGlvbiBLaHQoYSxlKXtsZXQgdD0iIjtmb3IoO2U8YS5sZW5ndGg7KXtsZXQgcj1hW2UrK107aWYoci50eXBlPT09InRleHQiKXt0Kz1oemEoci52YWx1ZSk7Y29udGludWV9aWYoci50eXBlPT09Imdyb3VwIil7dCs9InsiK0todChyLnRva2VucywwKSsifSI7Y29udGludWV9aWYoci50eXBlPT09InBhcmFtIil7dCs9IjoiK1podChyLm5hbWUsYVtlXSk7Y29udGludWV9aWYoci50eXBlPT09IndpbGRjYXJkIil7dCs9IioiK1podChyLm5hbWUsYVtlXSk7Y29udGludWV9dGhyb3cgbmV3IFR5cGVFcnJvcihgVW5rbm93biB0b2tlbiB0eXBlOiAke3IudHlwZX1gKX1yZXR1cm4gdH1zKEtodCwic3RyaW5naWZ5VG9rZW5zIik7ZnVuY3Rpb24geHphKGEpe3JldHVybiBLaHQoYS50b2tlbnMsMCl9cyh4emEsInN0cmluZ2lmeSIpO2Z1bmN0aW9uIFpodChhLGUpe3JldHVybiFmemEudGVzdChhKXx8ZT8udHlwZT09PSJ0ZXh0IiYmV2h0LnRlc3QoZS52YWx1ZVswXSk/SlNPTi5zdHJpbmdpZnkoYSk6YX1zKFpodCwic3RyaW5naWZ5TmFtZSIpfSk7dmFyIEZkZSxCZGU9ZigoKT0+e05oKCk7cDIoKTtGZGU9RmkoWGh0KCksMSl9KTt2YXIga0osUWh0PWYoKCk9PntCZGUoKTtrSj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJRdWVyeVBhcmFtcyIpfWNvbnN0cnVjdG9yKCl7fWdldEFsbEFzT2JqZWN0KCl7bGV0IGU9bmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKGUuZW50cmllcygpKX1zZXRRdWVyeVBhcmFtKGUsdCxyPSJyZXBsYWNlIil7dmFyIGk9bmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtpLnNldChlLHQpLHI9PT0icHVzaCI/aGlzdG9yeS5wdXNoU3RhdGUobnVsbCxudWxsLCI/IitpLnRvU3RyaW5nKCkpOmhpc3RvcnkucmVwbGFjZVN0YXRlKG51bGwsbnVsbCwiPyIraS50b1N0cmluZygpKX1kZWxldGVRdWVyeVBhcmFtKGUsdD0icmVwbGFjZSIpe3ZhciByPW5ldyBVUkxTZWFyY2hQYXJhbXMod2luZG93LmxvY2F0aW9uLnNlYXJjaCk7ci5kZWxldGUoZSksdD09PSJwdXNoIj9oaXN0b3J5LnB1c2hTdGF0ZShudWxsLG51bGwsIj8iK3IudG9TdHJpbmcoKSk6aGlzdG9yeS5yZXBsYWNlU3RhdGUobnVsbCxudWxsLCI/IityLnRvU3RyaW5nKCkpfWdldFF1ZXJ5UGFyYW0oZSl7cmV0dXJuIHRoaXMuZ2V0QWxsQXNPYmplY3QoKVtlXX19fSk7dmFyIGVycyxIZGUsSmh0PWYoKCk9PntCZGUoKTtRaHQoKTtlcnM9cyhhPT57Y29uc29sZS5sb2coYCVjW1JvdXRlcl0lYyAke2F9YCwiY29sb3I6IHJnYigyNTUsIDEwNSwgMTAwKTsiLCJjb2xvcjogaW5oZXJpdCIpfSwicm91dGVMb2ciKSxIZGU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJTbWFydFJvdXRlciIpfWNvbnN0cnVjdG9yKGUsdD0iIil7dGhpcy5vcHRpb25zPXtkZWJ1ZzohMX0sdGhpcy5xdWVyeVBhcmFtcz1uZXcga0osdGhpcy5yb3V0ZXM9W10sdGhpcy5vcHRpb25zPXsuLi50aGlzLm9wdGlvbnMsLi4uZX0sdGhpcy5iYXNlUGF0aD10LHRoaXMucG9wc3RhdGVMaXN0ZW5lcj1yPT57ci5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuX2hhbmRsZVJvdXRlU3RhdGUoKX0sd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIix0aGlzLnBvcHN0YXRlTGlzdGVuZXIpfWNyZWF0ZVN1YlJvdXRlcihlLHQpe2xldCByPWAke3RoaXMuYmFzZVBhdGh9JHtlfWA7cmV0dXJuIG5ldyBhKHsuLi50aGlzLm9wdGlvbnMsLi4udH0scil9YXN5bmMgcHVzaFVybChlPSIvIix0PXt9KXtsZXQgcj1gJHt0aGlzLmJhc2VQYXRofSR7ZX1gO3IhPT13aW5kb3cubG9jYXRpb24ucGF0aG5hbWU/d2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKHQsd2luZG93LmRvY3VtZW50LnRpdGxlLHIpOndpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSh0LHdpbmRvdy5kb2N1bWVudC50aXRsZSxyKSxhd2FpdCB0aGlzLl9oYW5kbGVSb3V0ZVN0YXRlKCl9b24oZSx0KXtsZXQgcj1gJHt0aGlzLmJhc2VQYXRofSR7ZX1gLGk9e21hdGNoRnVuY3Rpb246RmRlLm1hdGNoKHIpLGhhbmRsZXI6dH07cmV0dXJuIHRoaXMucm91dGVzLnB1c2goaSkscygoKT0+e3RoaXMucm91dGVzLnNwbGljZSh0aGlzLnJvdXRlcy5pbmRleE9mKGkpLDEpfSwicmVtb3ZlRnVuY3Rpb24iKX1hc3luYyBfaGFuZGxlUm91dGVTdGF0ZSgpe2xldCBlPXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSx0PXRoaXMucm91dGVzLmZpbHRlcihyPT4hIXIubWF0Y2hGdW5jdGlvbihlKSk7Zm9yKGxldCByIG9mIHQpe2xldCBpPXIubWF0Y2hGdW5jdGlvbihlKTtyLmhhbmRsZXIoey4uLmkudmFsdWVPZigpLHF1ZXJ5UGFyYW1zOnRoaXMucXVlcnlQYXJhbXMuZ2V0QWxsQXNPYmplY3QoKX0pfX1kZXN0cm95KCl7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvcHN0YXRlIix0aGlzLnBvcHN0YXRlTGlzdGVuZXIpLHRoaXMucm91dGVzPVtdfX19KTt2YXIgaWQ9e307bHQoaWQse1NtYXJ0Um91dGVyOigpPT5IZGV9KTt2YXIgZTh0PWYoKCk9PntKaHQoKX0pO3ZhciB0OHQ9ZigoKT0+e0I5KCk7cWgoKX0pO2Z1bmN0aW9uIE8yKGEsZSl7cmV0dXJuIGE+Pj5lfGE8PDMyLWV9ZnVuY3Rpb24gU3phKGEsZSl7bGV0IHQ9ZVswXSxyPWVbMV0saT1lWzJdLG89ZVszXSxuPWVbNF0sbD1lWzVdLGQ9ZVs2XSxjPWVbN107Zm9yKGxldCBwPTA7cDw2NDtwKyspe2lmKHA+PTE2KXtsZXQgeT1PMihhW3AtMTVdLDcpXk8yKGFbcC0xNV0sMTgpXmFbcC0xNV0+Pj4zLGs9TzIoYVtwLTJdLDE3KV5PMihhW3AtMl0sMTkpXmFbcC0yXT4+PjEwO2FbcF09YVtwLTE2XSt5K2FbcC03XStrPj4+MH1sZXQgdT1PMihuLDYpXk8yKG4sMTEpXk8yKG4sMjUpLG09biZsXn5uJmQsdj1jK3UrbStNemFbcF0rYVtwXT4+PjAseD1PMih0LDIpXk8yKHQsMTMpXk8yKHQsMjIpLGI9dCZyXnQmaV5yJmksZz14K2I+Pj4wO2M9ZCxkPWwsbD1uLG49byt2Pj4+MCxvPWksaT1yLHI9dCx0PXYrZz4+PjB9ZVswXT1lWzBdK3Q+Pj4wLGVbMV09ZVsxXStyPj4+MCxlWzJdPWVbMl0raT4+PjAsZVszXT1lWzNdK28+Pj4wLGVbNF09ZVs0XStuPj4+MCxlWzVdPWVbNV0rbD4+PjAsZVs2XT1lWzZdK2Q+Pj4wLGVbN109ZVs3XStjPj4+MH1mdW5jdGlvbiBxZGUoYSl7bGV0IGU9Wy4uLmt6YV0sdD1hLmxlbmd0aCxyPXQqOCxpPXQlNjQ8NTY/NTYtdCU2NDoxMjAtdCU2NCxvPW5ldyBVaW50OEFycmF5KHQraSs4KTtvLnNldChhKSxvW3RdPTEyODtsZXQgbj1uZXcgRGF0YVZpZXcoby5idWZmZXIpO24uc2V0VWludDMyKG8ubGVuZ3RoLTgsMCwhMSksbi5zZXRVaW50MzIoby5sZW5ndGgtNCxyPj4+MCwhMSk7Zm9yKGxldCBkPTA7ZDxvLmxlbmd0aDtkKz02NCl7bGV0IGM9bmV3IEFycmF5KDY0KTtmb3IobGV0IHA9MDtwPDE2O3ArKyljW3BdPW4uZ2V0VWludDMyKGQrcCo0LCExKTtTemEoYyxlKX1sZXQgbD0iIjtmb3IobGV0IGQ9MDtkPDg7ZCsrKWwrPWVbZF0udG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDgsIjAiKTtyZXR1cm4gbH12YXIgTXphLGt6YSxhOHQ9ZigoKT0+e016YT1bMTExNjM1MjQwOCwxODk5NDQ3NDQxLDMwNDkzMjM0NzEsMzkyMTAwOTU3Myw5NjE5ODcxNjMsMTUwODk3MDk5MywyNDUzNjM1NzQ4LDI4NzA3NjMyMjEsMzYyNDM4MTA4MCwzMTA1OTg0MDEsNjA3MjI1Mjc4LDE0MjY4ODE5ODcsMTkyNTA3ODM4OCwyMTYyMDc4MjA2LDI2MTQ4ODgxMDMsMzI0ODIyMjU4MCwzODM1MzkwNDAxLDQwMjIyMjQ3NzQsMjY0MzQ3MDc4LDYwNDgwNzYyOCw3NzAyNTU5ODMsMTI0OTE1MDEyMiwxNTU1MDgxNjkyLDE5OTYwNjQ5ODYsMjU1NDIyMDg4MiwyODIxODM0MzQ5LDI5NTI5OTY4MDgsMzIxMDMxMzY3MSwzMzM2NTcxODkxLDM1ODQ1Mjg3MTEsMTEzOTI2OTkzLDMzODI0MTg5NSw2NjYzMDcyMDUsNzczNTI5OTEyLDEyOTQ3NTczNzIsMTM5NjE4MjI5MSwxNjk1MTgzNzAwLDE5ODY2NjEwNTEsMjE3NzAyNjM1MCwyNDU2OTU2MDM3LDI3MzA0ODU5MjEsMjgyMDMwMjQxMSwzMjU5NzMwODAwLDMzNDU3NjQ3NzEsMzUxNjA2NTgxNywzNjAwMzUyODA0LDQwOTQ1NzE5MDksMjc1NDIzMzQ0LDQzMDIyNzczNCw1MDY5NDg2MTYsNjU5MDYwNTU2LDg4Mzk5Nzg3Nyw5NTgxMzk1NzEsMTMyMjgyMjIxOCwxNTM3MDAyMDYzLDE3NDc4NzM3NzksMTk1NTU2MjIyMiwyMDI0MTA0ODE1LDIyMjc3MzA0NTIsMjM2MTg1MjQyNCwyNDI4NDM2NDc0LDI3NTY3MzQxODcsMzIwNDAzMTQ3OSwzMzI5MzI1Mjk4XSxremE9WzE3NzkwMzM3MDMsMzE0NDEzNDI3NywxMDEzOTA0MjQyLDI3NzM0ODA3NjIsMTM1OTg5MzExOSwyNjAwODIyOTI0LDUyODczNDYzNSwxNTQxNDU5MjI1XTtzKE8yLCJyb3RyIik7cyhTemEsInNoYTI1NlRyYW5zZm9ybSIpO3MocWRlLCJzaGEyNTZGYWxsYmFjayIpfSk7dmFyIHBiPXt9O2x0KHBiLHttZDVGcm9tU3RyaW5nOigpPT4kemEsc2hhMjU2RnJvbUJ1ZmZlcjooKT0+Q3phLHNoYTI1NkZyb21GaWxlOigpPT5MemEsc2hhMjU2RnJvbVN0cmVhbTooKT0+VHphLHNoYTI1NkZyb21TdHJpbmc6KCk9Pmk4dCxzaGEyNTZGcm9tU3RyaW5nU3luYzooKT0+enphLHNoYTI2NUZyb21PYmplY3Q6KCk9Pl96YX0pO3ZhciByOHQsczh0LGk4dCx6emEsQ3phLF96YSxUemEsTHphLCR6YSxvOHQ9ZigoKT0+e3Q4dCgpO2E4dCgpO3I4dD1zKGE9PntsZXQgZT1bXSx0PW5ldyBEYXRhVmlldyhhKTtmb3IobGV0IHI9MDtyPHQuYnl0ZUxlbmd0aDtyKz00KXtsZXQgbz10LmdldFVpbnQzMihyKS50b1N0cmluZygxNiksbj0iMDAwMDAwMDAiLGw9KG4rbykuc2xpY2UoLW4ubGVuZ3RoKTtlLnB1c2gobCl9cmV0dXJuIGUuam9pbigiIil9LCJoZXgiKSxzOHQ9cygoKT0+dHlwZW9mIGNyeXB0bzwidSImJmNyeXB0by5zdWJ0bGUhPT12b2lkIDAsImlzQ3J5cHRvU3VidGxlQXZhaWxhYmxlIiksaTh0PXMoYXN5bmMgYT0+e2xldCBlPW5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShhKTtpZihzOHQoKSl7bGV0IHQ9YXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3QoIlNIQS0yNTYiLGUpO3JldHVybiByOHQodCl9ZWxzZSByZXR1cm4gcWRlKGUpfSwic2hhMjU2RnJvbVN0cmluZyIpLHp6YT1zKGE9Pnt0aHJvdyBjb25zb2xlLndhcm4oInNoYTI1NkZyb21TdHJpbmdTeW5jIGlzIG5vdCB0cnVseSBzeW5jaHJvbm91cyBpbiBicm93c2VyIGVudmlyb25tZW50IiksbmV3IEVycm9yKCJzaGEyNTZGcm9tU3RyaW5nU3luYyBpcyBub3Qgc3VwcG9ydGVkIGluIGJyb3dzZXIgZW52aXJvbm1lbnQuIFVzZSBzaGEyNTZGcm9tU3RyaW5nIGluc3RlYWQuIil9LCJzaGEyNTZGcm9tU3RyaW5nU3luYyIpLEN6YT1zKGFzeW5jIGE9PntpZihzOHQoKSl7bGV0IGU7aWYoYSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpe2xldCBpPWE7ZT1pLmJ1ZmZlci5zbGljZShpLmJ5dGVPZmZzZXQsaS5ieXRlT2Zmc2V0K2kuYnl0ZUxlbmd0aCl9ZWxzZSBlPWE7bGV0IHQ9YXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3QoIlNIQS0yNTYiLGUpO3JldHVybiByOHQodCl9ZWxzZXtsZXQgZT1hIGluc3RhbmNlb2YgVWludDhBcnJheT9hOm5ldyBVaW50OEFycmF5KGEpO3JldHVybiBxZGUoZSl9fSwic2hhMjU2RnJvbUJ1ZmZlciIpLF96YT1zKGFzeW5jIGE9PntsZXQgZT1Dcy5zdHJpbmdpZnkoYSk7cmV0dXJuIGF3YWl0IGk4dChlKX0sInNoYTI2NUZyb21PYmplY3QiKSxUemE9cyhhPT57dGhyb3cgbmV3IEVycm9yKCJzaGEyNTZGcm9tU3RyZWFtIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYnJvd3NlciBlbnZpcm9ubWVudCIpfSwic2hhMjU2RnJvbVN0cmVhbSIpLEx6YT1zKGFzeW5jIGE9Pnt0aHJvdyBuZXcgRXJyb3IoInNoYTI1NkZyb21GaWxlIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYnJvd3NlciBlbnZpcm9ubWVudCIpfSwic2hhMjU2RnJvbUZpbGUiKSwkemE9cyhhc3luYyBhPT57dGhyb3cgbmV3IEVycm9yKCJtZDVGcm9tU3RyaW5nIGlzIG5vdCBzdXBwb3J0ZWQgaW4gYnJvd3NlciBlbnZpcm9ubWVudC4gV2ViIENyeXB0byBBUEkgZG9lcyBub3Qgc3VwcG9ydCBNRDUuIil9LCJtZDVGcm9tU3RyaW5nIil9KTt2YXIgU0o9ZigoKT0+e284dCgpO3FoKCk7S3MoKTtwMigpO2RYKCl9KTt2YXIgZmIsVmRlPWYoKCk9Pnt6SigpO2ZiPWNsYXNze3N0YXRpY3tzKHRoaXMsIlN0YXRlQWN0aW9uIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnN0YXRlUGFydFJlZj1lLHRoaXMuYWN0aW9uRGVmPXR9dHJpZ2dlcihlKXtyZXR1cm4gdGhpcy5zdGF0ZVBhcnRSZWYuZGlzcGF0Y2hBY3Rpb24odGhpcyxlKX19fSk7ZnVuY3Rpb24gQXphKCl7cmV0dXJuIHR5cGVvZiBkb2N1bWVudD4idSI/YzMoITApOm5ldyBGdChhPT57YS5uZXh0KCFkb2N1bWVudC5oaWRkZW4pO2xldCBlPXMoKCk9PmEubmV4dCghZG9jdW1lbnQuaGlkZGVuKSwiaGFuZGxlciIpO3JldHVybiBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIixlKSwoKT0+ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigidmlzaWJpbGl0eWNoYW5nZSIsZSl9KX12YXIgTjgsamRlPWYoKCk9PntsaCgpO3MoQXphLCJjcmVhdGVWaXNpYmlsaXR5T2JzZXJ2YWJsZSIpO044PWNsYXNze3N0YXRpY3tzKHRoaXMsIlN0YXRlUHJvY2VzcyIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5zdGF0dXNTdWJqZWN0PW5ldyBRNSgiaWRsZSIpLHRoaXMucHJvZHVjZXJTdWJzY3JpcHRpb249bnVsbCx0aGlzLmF1dG9QYXVzZVN1YnNjcmlwdGlvbj1udWxsLHRoaXMucHJvY2Vzc2luZ1F1ZXVlPVByb21pc2UucmVzb2x2ZSgpLHRoaXMuc3RhdGVQYXJ0UmVmPWUsdGhpcy5wcm9kdWNlckZuPXQucHJvZHVjZXIsdGhpcy5yZWR1Y2VyPXQucmVkdWNlcix0aGlzLnNpZGVFZmZlY3Q9dC5zaWRlRWZmZWN0LHRoaXMuYXV0b1BhdXNlT3B0aW9uPXQuYXV0b1BhdXNlPz8hMX1nZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuc3RhdHVzU3ViamVjdC5nZXRWYWx1ZSgpfWdldCBzdGF0dXMkKCl7cmV0dXJuIHRoaXMuc3RhdHVzU3ViamVjdC5hc09ic2VydmFibGUoKX1zdGFydCgpe2lmKHRoaXMuc3RhdHVzPT09ImRpc3Bvc2VkIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBzdGFydCBhIGRpc3Bvc2VkIHByb2Nlc3MiKTt0aGlzLnN0YXR1cyE9PSJydW5uaW5nIiYmKHRoaXMuc3RhdHVzU3ViamVjdC5uZXh0KCJydW5uaW5nIiksdGhpcy5zdWJzY3JpYmVQcm9kdWNlcigpLHRoaXMuc2V0dXBBdXRvUGF1c2UoKSl9cGF1c2UoKXtpZih0aGlzLnN0YXR1cz09PSJkaXNwb3NlZCIpdGhyb3cgbmV3IEVycm9yKCJDYW5ub3QgcGF1c2UgYSBkaXNwb3NlZCBwcm9jZXNzIik7dGhpcy5zdGF0dXM9PT0icnVubmluZyImJih0aGlzLnN0YXR1c1N1YmplY3QubmV4dCgicGF1c2VkIiksdGhpcy51bnN1YnNjcmliZVByb2R1Y2VyKCkpfXJlc3VtZSgpe2lmKHRoaXMuc3RhdHVzPT09ImRpc3Bvc2VkIil0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCByZXN1bWUgYSBkaXNwb3NlZCBwcm9jZXNzIik7dGhpcy5zdGF0dXM9PT0icGF1c2VkIiYmKHRoaXMuc3RhdHVzU3ViamVjdC5uZXh0KCJydW5uaW5nIiksdGhpcy5zdWJzY3JpYmVQcm9kdWNlcigpKX1kaXNwb3NlKCl7dGhpcy5zdGF0dXMhPT0iZGlzcG9zZWQiJiYodGhpcy51bnN1YnNjcmliZVByb2R1Y2VyKCksdGhpcy50ZWFyZG93bkF1dG9QYXVzZSgpLHRoaXMuc3RhdHVzU3ViamVjdC5uZXh0KCJkaXNwb3NlZCIpLHRoaXMuc3RhdHVzU3ViamVjdC5jb21wbGV0ZSgpLHRoaXMuc3RhdGVQYXJ0UmVmLl9yZW1vdmVQcm9jZXNzKHRoaXMpKX1zdWJzY3JpYmVQcm9kdWNlcigpe3RoaXMudW5zdWJzY3JpYmVQcm9kdWNlcigpO2xldCBlPXRoaXMucHJvZHVjZXJGbigpO3RoaXMucHJvZHVjZXJTdWJzY3JpcHRpb249ZS5zdWJzY3JpYmUoe25leHQ6cyh0PT57dGhpcy5wcm9jZXNzaW5nUXVldWU9dGhpcy5wcm9jZXNzaW5nUXVldWUudGhlbihhc3luYygpPT57dHJ5e2lmKHRoaXMuc2lkZUVmZmVjdClhd2FpdCB0aGlzLnNpZGVFZmZlY3QodCk7ZWxzZSBpZih0aGlzLnJlZHVjZXIpe2xldCByPXRoaXMuc3RhdGVQYXJ0UmVmLmdldFN0YXRlKCk7ciE9PXZvaWQgMCYmYXdhaXQgdGhpcy5zdGF0ZVBhcnRSZWYuc2V0U3RhdGUodGhpcy5yZWR1Y2VyKHIsdCkpfX1jYXRjaChyKXtjb25zb2xlLmVycm9yKCJTdGF0ZVByb2Nlc3MgdmFsdWUgaGFuZGxpbmcgZXJyb3I6IixyKX19KX0sIm5leHQiKSxlcnJvcjpzKHQ9Pntjb25zb2xlLmVycm9yKCJTdGF0ZVByb2Nlc3MgcHJvZHVjZXIgZXJyb3I6Iix0KSx0aGlzLnN0YXR1cz09PSJydW5uaW5nIiYmKHRoaXMuc3RhdHVzU3ViamVjdC5uZXh0KCJwYXVzZWQiKSx0aGlzLnVuc3Vic2NyaWJlUHJvZHVjZXIoKSl9LCJlcnJvciIpfSl9dW5zdWJzY3JpYmVQcm9kdWNlcigpe3RoaXMucHJvZHVjZXJTdWJzY3JpcHRpb24mJih0aGlzLnByb2R1Y2VyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy5wcm9kdWNlclN1YnNjcmlwdGlvbj1udWxsKX1zZXR1cEF1dG9QYXVzZSgpe2lmKHRoaXMudGVhcmRvd25BdXRvUGF1c2UoKSwhdGhpcy5hdXRvUGF1c2VPcHRpb24pcmV0dXJuO2xldCBlPXRoaXMuYXV0b1BhdXNlT3B0aW9uPT09InZpc2liaWxpdHkiP0F6YSgpOnRoaXMuYXV0b1BhdXNlT3B0aW9uO3RoaXMuYXV0b1BhdXNlU3Vic2NyaXB0aW9uPWUuc3Vic2NyaWJlKHQ9PnshdCYmdGhpcy5zdGF0dXM9PT0icnVubmluZyI/dGhpcy5wYXVzZSgpOnQmJnRoaXMuc3RhdHVzPT09InBhdXNlZCImJnRoaXMucmVzdW1lKCl9KX10ZWFyZG93bkF1dG9QYXVzZSgpe3RoaXMuYXV0b1BhdXNlU3Vic2NyaXB0aW9uJiYodGhpcy5hdXRvUGF1c2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLmF1dG9QYXVzZVN1YnNjcmlwdGlvbj1udWxsKX19fSk7ZnVuY3Rpb24gRXphKGEpe3JldHVybiBuZXcgRnQoZT0+e2lmKGEuYWJvcnRlZCl7ZS5uZXh0KCksZS5jb21wbGV0ZSgpO3JldHVybn1sZXQgdD1zKCgpPT57ZS5uZXh0KCksZS5jb21wbGV0ZSgpfSwiaGFuZGxlciIpO3JldHVybiBhLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0Iix0KSwoKT0+YS5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIsdCl9KX12YXIgaGIseko9ZigoKT0+e1NKKCk7bGgoKTtWZGUoKTtqZGUoKTtzKEV6YSwiZnJvbUFib3J0U2lnbmFsIik7aGI9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJTdGF0ZVBhcnQiKX1zdGF0aWN7dGhpcy5NQVhfTkVTVEVEX0RJU1BBVENIX0RFUFRIPTEwfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5zdGF0ZT1uZXcgUTUodm9pZCAwKSx0aGlzLmRpc3Bvc2VkPSExLHRoaXMuY3VtdWxhdGl2ZURlZmVycmVkPWV0LmN1bXVsYXRpdmVEZWZlcigpLHRoaXMubXV0YXRpb25RdWV1ZT1Qcm9taXNlLnJlc29sdmUoKSx0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uPW51bGwsdGhpcy53ZWJTdG9yZT1udWxsLHRoaXMubWlkZGxld2FyZXM9W10sdGhpcy5wcm9jZXNzZXM9W10sdGhpcy5zZWxlY3RvckNhY2hlPW5ldyBXZWFrTWFwLHRoaXMuZGVmYXVsdFNlbGVjdE9ic2VydmFibGU9bnVsbCx0aGlzLm5hbWU9ZSx0JiYodGhpcy53ZWJTdG9yZU9wdGlvbnM9dCl9YXN5bmMgaW5pdCgpe2lmKHRoaXMud2ViU3RvcmVPcHRpb25zKXt0aGlzLndlYlN0b3JlPW5ldyBvMS5XZWJTdG9yZSh0aGlzLndlYlN0b3JlT3B0aW9ucyksYXdhaXQgdGhpcy53ZWJTdG9yZS5pbml0KCk7bGV0IGU9YXdhaXQgdGhpcy53ZWJTdG9yZS5nZXQoU3RyaW5nKHRoaXMubmFtZSkpO2UmJnRoaXMudmFsaWRhdGVTdGF0ZShlKSYmKHRoaXMuc3RhdGVTdG9yZT1lLGF3YWl0IHRoaXMubm90aWZ5Q2hhbmdlKCkpfX1nZXRTdGF0ZSgpe3JldHVybiB0aGlzLnN0YXRlU3RvcmV9YWRkTWlkZGxld2FyZShlKXtyZXR1cm4gdGhpcy5taWRkbGV3YXJlcy5wdXNoKGUpLCgpPT57bGV0IHQ9dGhpcy5taWRkbGV3YXJlcy5pbmRleE9mKGUpO3QhPT0tMSYmdGhpcy5taWRkbGV3YXJlcy5zcGxpY2UodCwxKX19YXN5bmMgc2V0U3RhdGUoZSl7aWYodGhpcy5kaXNwb3NlZCl0aHJvdyBuZXcgRXJyb3IoYFN0YXRlUGFydCAnJHt0aGlzLm5hbWV9JyBoYXMgYmVlbiBkaXNwb3NlZGApO3JldHVybiB0aGlzLm11dGF0aW9uUXVldWU9dGhpcy5tdXRhdGlvblF1ZXVlLnRoZW4oKCk9PnRoaXMuYXBwbHlTdGF0ZShlKSwoKT0+dGhpcy5hcHBseVN0YXRlKGUpKX1hc3luYyBhcHBseVN0YXRlKGUpe2xldCB0PWU7Zm9yKGxldCByIG9mIHRoaXMubWlkZGxld2FyZXMpdD1hd2FpdCByKHQsdGhpcy5zdGF0ZVN0b3JlKTtpZighdGhpcy52YWxpZGF0ZVN0YXRlKHQpKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzdGF0ZSBzdHJ1Y3R1cmUgZm9yIHN0YXRlIHBhcnQgJyR7dGhpcy5uYW1lfSdgKTtyZXR1cm4gdGhpcy53ZWJTdG9yZSYmYXdhaXQgdGhpcy53ZWJTdG9yZS5zZXQoU3RyaW5nKHRoaXMubmFtZSksdCksdGhpcy5zdGF0ZVN0b3JlPXQsYXdhaXQgdGhpcy5ub3RpZnlDaGFuZ2UoKSx0aGlzLnN0YXRlU3RvcmV9dmFsaWRhdGVTdGF0ZShlKXtyZXR1cm4gZSE9bnVsbH1hc3luYyBub3RpZnlDaGFuZ2UoKXtsZXQgZT10aGlzLnN0YXRlU3RvcmU7aWYoZT09PXZvaWQgMClyZXR1cm47aWYodGhpcy5zbWFydHN0YXRlUmVmPy5pc0JhdGNoaW5nKXt0aGlzLnNtYXJ0c3RhdGVSZWYucmVnaXN0ZXJQZW5kaW5nTm90aWZpY2F0aW9uKHRoaXMpO3JldHVybn1sZXQgdD1zKGFzeW5jIHI9PmF3YWl0IHBiLnNoYTI1NkZyb21TdHJpbmcoQ3Muc3RhYmxlT25lV2F5U3RyaW5naWZ5KHIpKSwiY3JlYXRlU3RhdGVIYXNoIik7dHJ5e2xldCByPWF3YWl0IHQoZSk7aWYodGhpcy5sYXN0U3RhdGVOb3RpZmljYXRpb25QYXlsb2FkSGFzaCYmcj09PXRoaXMubGFzdFN0YXRlTm90aWZpY2F0aW9uUGF5bG9hZEhhc2gpcmV0dXJuO3RoaXMubGFzdFN0YXRlTm90aWZpY2F0aW9uUGF5bG9hZEhhc2g9cn1jYXRjaChyKXtjb25zb2xlLmVycm9yKGBTdGF0ZSBoYXNoIGNvbXB1dGF0aW9uIGZhaWxlZCBmb3IgJyR7dGhpcy5uYW1lfSc6YCxyKX10aGlzLnN0YXRlLm5leHQoZSl9bm90aWZ5Q2hhbmdlQ3VtdWxhdGl2ZSgpe3RoaXMucGVuZGluZ0N1bXVsYXRpdmVOb3RpZmljYXRpb24mJmNsZWFyVGltZW91dCh0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uKSx0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uPXNldFRpbWVvdXQoKCk9Pnt0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uPW51bGwsdGhpcy5zdGF0ZVN0b3JlIT09dm9pZCAwJiZ0aGlzLm5vdGlmeUNoYW5nZSgpLmNhdGNoKGU9Pntjb25zb2xlLmVycm9yKGBub3RpZnlDaGFuZ2VDdW11bGF0aXZlIGZhaWxlZCBmb3IgJyR7dGhpcy5uYW1lfSc6YCxlKX0pfSwwKX1zZWxlY3QoZSx0KXtsZXQgcj10Py5zaWduYWwhPW51bGw7aWYoIXIpe2lmKGUpe2lmKHRoaXMuc2VsZWN0b3JDYWNoZS5oYXMoZSkpcmV0dXJuIHRoaXMuc2VsZWN0b3JDYWNoZS5nZXQoZSl9ZWxzZSBpZih0aGlzLmRlZmF1bHRTZWxlY3RPYnNlcnZhYmxlKXJldHVybiB0aGlzLmRlZmF1bHRTZWxlY3RPYnNlcnZhYmxlfWxldCBpPWV8fChkPT5kKSxvPVN5bWJvbCgic2VsZWN0b3ItZXJyb3IiKSxuPXRoaXMuc3RhdGUucGlwZShDYS5yeGpzLm9wcy5maWx0ZXIoZD0+ZCE9PXZvaWQgMCksQ2Eucnhqcy5vcHMubWFwKGQ9Pnt0cnl7cmV0dXJuIGkoZCl9Y2F0Y2goYyl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoYFNlbGVjdG9yIGVycm9yIGluIHN0YXRlIHBhcnQgJyR7dGhpcy5uYW1lfSc6YCxjKSxvfX0pLENhLnJ4anMub3BzLmZpbHRlcihkPT5kIT09byksb2goKGQsYyk9PkpTT04uc3RyaW5naWZ5KGQpPT09SlNPTi5zdHJpbmdpZnkoYykpKTtpZihyKXJldHVybiBuPW4ucGlwZShuaChFemEodC5zaWduYWwpKSksbjtsZXQgbD1uLnBpcGUoUlkoe2J1ZmZlclNpemU6MSxyZWZDb3VudDohMH0pKTtyZXR1cm4gZT90aGlzLnNlbGVjdG9yQ2FjaGUuc2V0KGUsbCk6dGhpcy5kZWZhdWx0U2VsZWN0T2JzZXJ2YWJsZT1sLGx9Y3JlYXRlQWN0aW9uKGUpe3JldHVybiBuZXcgZmIodGhpcyxlKX1jcmVhdGVBY3Rpb25Db250ZXh0KGUpe2xldCB0PXRoaXM7cmV0dXJue2Rpc3BhdGNoOnMoYXN5bmMocixpKT0+e2lmKGU+PWEuTUFYX05FU1RFRF9ESVNQQVRDSF9ERVBUSCl0aHJvdyBuZXcgRXJyb3IoYE1heGltdW0gbmVzdGVkIGFjdGlvbiBkaXNwYXRjaCBkZXB0aCAoJHthLk1BWF9ORVNURURfRElTUEFUQ0hfREVQVEh9KSBleGNlZWRlZC4gQ2hlY2sgZm9yIGNpcmN1bGFyIGFjdGlvbiBkaXNwYXRjaGVzLmApO2xldCBvPXQuY3JlYXRlQWN0aW9uQ29udGV4dChlKzEpLG49YXdhaXQgci5hY3Rpb25EZWYodCxpLG8pO3JldHVybiB0LmFwcGx5U3RhdGUobil9LCJkaXNwYXRjaCIpfX1hc3luYyBkaXNwYXRjaEFjdGlvbihlLHQpe2lmKHRoaXMuZGlzcG9zZWQpdGhyb3cgbmV3IEVycm9yKGBTdGF0ZVBhcnQgJyR7dGhpcy5uYW1lfScgaGFzIGJlZW4gZGlzcG9zZWRgKTthd2FpdCB0aGlzLmN1bXVsYXRpdmVEZWZlcnJlZC5wcm9taXNlO2xldCByPXMoYXN5bmMoKT0+e2xldCBpPXRoaXMuY3JlYXRlQWN0aW9uQ29udGV4dCgwKSxvPWF3YWl0IGUuYWN0aW9uRGVmKHRoaXMsdCxpKTtyZXR1cm4gdGhpcy5hcHBseVN0YXRlKG8pfSwiZXhlY3V0ZSIpO3JldHVybiB0aGlzLm11dGF0aW9uUXVldWU9dGhpcy5tdXRhdGlvblF1ZXVlLnRoZW4ocixyKX1hc3luYyB3YWl0VW50aWxQcmVzZW50KGUsdCl7bGV0IHIsaTt0eXBlb2YgdD09Im51bWJlciI/cj10OnQmJihyPXQudGltZW91dE1zLGk9dC5zaWduYWwpO2xldCBvPWV0LmRlZmVyKCksbj10aGlzLnNlbGVjdChlKSxsPSExO2lmKGk/LmFib3J0ZWQpdGhyb3cgbmV3IEVycm9yKCJBYm9ydGVkIik7bGV0IGQ9bi5zdWJzY3JpYmUodT0+e3UhPW51bGwmJiFsJiYobD0hMCxvLnJlc29sdmUodSkpfSksYztyJiYoYz1zZXRUaW1lb3V0KCgpPT57bHx8KGw9ITAsZC51bnN1YnNjcmliZSgpLG8ucmVqZWN0KG5ldyBFcnJvcihgd2FpdFVudGlsUHJlc2VudCB0aW1lZCBvdXQgYWZ0ZXIgJHtyfW1zYCkpKX0scikpO2xldCBwPWk/KCk9PntsfHwobD0hMCxkLnVuc3Vic2NyaWJlKCksYyYmY2xlYXJUaW1lb3V0KGMpLG8ucmVqZWN0KG5ldyBFcnJvcigiQWJvcnRlZCIpKSl9OnZvaWQgMDtpJiZwJiZpLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixwKTt0cnl7cmV0dXJuIGF3YWl0IG8ucHJvbWlzZX1maW5hbGx5e2QudW5zdWJzY3JpYmUoKSxjJiZjbGVhclRpbWVvdXQoYyksaSYmcCYmaS5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIscCl9fWFzeW5jIHN0YXRlU2V0dXAoZSl7bGV0IHQ9ZSh0aGlzKTt0aGlzLmN1bXVsYXRpdmVEZWZlcnJlZC5hZGRQcm9taXNlKHQpLGF3YWl0IHRoaXMuc2V0U3RhdGUoYXdhaXQgdCl9Y3JlYXRlUHJvY2VzcyhlKXtpZih0aGlzLmRpc3Bvc2VkKXRocm93IG5ldyBFcnJvcihgU3RhdGVQYXJ0ICcke3RoaXMubmFtZX0nIGhhcyBiZWVuIGRpc3Bvc2VkYCk7bGV0IHQ9bmV3IE44KHRoaXMsZSk7cmV0dXJuIHRoaXMucHJvY2Vzc2VzLnB1c2godCksZS5hdXRvU3RhcnQmJnQuc3RhcnQoKSx0fWNyZWF0ZVNjaGVkdWxlZEFjdGlvbihlKXtpZih0aGlzLmRpc3Bvc2VkKXRocm93IG5ldyBFcnJvcihgU3RhdGVQYXJ0ICcke3RoaXMubmFtZX0nIGhhcyBiZWVuIGRpc3Bvc2VkYCk7bGV0IHQ9bmV3IE44KHRoaXMse3Byb2R1Y2VyOnMoKCk9Pm5uZShlLmludGVydmFsTXMpLCJwcm9kdWNlciIpLHNpZGVFZmZlY3Q6cyhhc3luYygpPT57YXdhaXQgZS5hY3Rpb24udHJpZ2dlcihlLnBheWxvYWQpfSwic2lkZUVmZmVjdCIpLGF1dG9QYXVzZTplLmF1dG9QYXVzZT8/ITF9KTtyZXR1cm4gdGhpcy5wcm9jZXNzZXMucHVzaCh0KSx0LnN0YXJ0KCksdH1fcmVtb3ZlUHJvY2VzcyhlKXtsZXQgdD10aGlzLnByb2Nlc3Nlcy5pbmRleE9mKGUpO3QhPT0tMSYmdGhpcy5wcm9jZXNzZXMuc3BsaWNlKHQsMSl9ZGlzcG9zZSgpe2lmKCF0aGlzLmRpc3Bvc2VkKXt0aGlzLmRpc3Bvc2VkPSEwO2ZvcihsZXQgZSBvZlsuLi50aGlzLnByb2Nlc3Nlc10pZS5kaXNwb3NlKCk7dGhpcy5wcm9jZXNzZXMubGVuZ3RoPTAsdGhpcy5zdGF0ZS5jb21wbGV0ZSgpLHRoaXMubXV0YXRpb25RdWV1ZT1Qcm9taXNlLnJlc29sdmUoKSx0aGlzLnBlbmRpbmdDdW11bGF0aXZlTm90aWZpY2F0aW9uJiYoY2xlYXJUaW1lb3V0KHRoaXMucGVuZGluZ0N1bXVsYXRpdmVOb3RpZmljYXRpb24pLHRoaXMucGVuZGluZ0N1bXVsYXRpdmVOb3RpZmljYXRpb249bnVsbCksdGhpcy5taWRkbGV3YXJlcy5sZW5ndGg9MCx0aGlzLnNlbGVjdG9yQ2FjaGU9bmV3IFdlYWtNYXAsdGhpcy5kZWZhdWx0U2VsZWN0T2JzZXJ2YWJsZT1udWxsLHRoaXMud2ViU3RvcmU9bnVsbCx0aGlzLnNtYXJ0c3RhdGVSZWY9dm9pZCAwLHRoaXMuc3RhdGVTdG9yZT12b2lkIDB9fX19KTtmdW5jdGlvbiBVZGUoYSxlKXtyZXR1cm4gaW5lKGEubWFwKHQ9PnQuc2VsZWN0KCkpKS5waXBlKHUyKHQ9PmUoLi4udCkpLG9oKCh0LHIpPT5KU09OLnN0cmluZ2lmeSh0KT09PUpTT04uc3RyaW5naWZ5KHIpKSl9dmFyIFdkZT1mKCgpPT57U0ooKTtsaCgpO3MoVWRlLCJjb21wdXRlZCIpfSk7dmFyIEdkZSxuOHQ9ZigoKT0+e1NKKCk7ekooKTtXZGUoKTtHZGU9Y2xhc3N7c3RhdGlje3ModGhpcywiU21hcnRzdGF0ZSIpfWNvbnN0cnVjdG9yKCl7dGhpcy5zdGF0ZVBhcnRNYXA9e30sdGhpcy5wZW5kaW5nU3RhdGVQYXJ0Q3JlYXRpb249bmV3IE1hcCx0aGlzLmJhdGNoRGVwdGg9MCx0aGlzLmlzRmx1c2hpbmc9ITEsdGhpcy5wZW5kaW5nTm90aWZpY2F0aW9ucz1uZXcgU2V0fWdldCBpc0JhdGNoaW5nKCl7cmV0dXJuIHRoaXMuYmF0Y2hEZXB0aD4wfXJlZ2lzdGVyUGVuZGluZ05vdGlmaWNhdGlvbihlKXt0aGlzLnBlbmRpbmdOb3RpZmljYXRpb25zLmFkZChlKX1hc3luYyBiYXRjaChlKXt0aGlzLmJhdGNoRGVwdGgrKzt0cnl7YXdhaXQgZSgpfWZpbmFsbHl7aWYodGhpcy5iYXRjaERlcHRoLS0sdGhpcy5iYXRjaERlcHRoPT09MCYmIXRoaXMuaXNGbHVzaGluZyl7dGhpcy5pc0ZsdXNoaW5nPSEwO3RyeXtmb3IoO3RoaXMucGVuZGluZ05vdGlmaWNhdGlvbnMuc2l6ZT4wOyl7bGV0IHQ9Wy4uLnRoaXMucGVuZGluZ05vdGlmaWNhdGlvbnNdO3RoaXMucGVuZGluZ05vdGlmaWNhdGlvbnMuY2xlYXIoKTtmb3IobGV0IHIgb2YgdCl0cnl7YXdhaXQgci5ub3RpZnlDaGFuZ2UoKX1jYXRjaChpKXtjb25zb2xlLmVycm9yKCJFcnJvciBmbHVzaGluZyBub3RpZmljYXRpb24gZm9yIHN0YXRlIHBhcnQ6IixpKX19fWZpbmFsbHl7dGhpcy5pc0ZsdXNoaW5nPSExfX19fWNvbXB1dGVkKGUsdCl7cmV0dXJuIFVkZShlLHQpfWRpc3Bvc2UoKXtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXModGhpcy5zdGF0ZVBhcnRNYXApKXtsZXQgdD10aGlzLnN0YXRlUGFydE1hcFtlXTt0JiZ0LmRpc3Bvc2UoKX10aGlzLnN0YXRlUGFydE1hcD17fSx0aGlzLnBlbmRpbmdTdGF0ZVBhcnRDcmVhdGlvbi5jbGVhcigpLHRoaXMucGVuZGluZ05vdGlmaWNhdGlvbnMuY2xlYXIoKX1hc3luYyBnZXRTdGF0ZVBhcnQoZSx0LHI9InNvZnQiKXtsZXQgaT10aGlzLnBlbmRpbmdTdGF0ZVBhcnRDcmVhdGlvbi5nZXQoZSk7aWYoaSlyZXR1cm4gaTtsZXQgbz10aGlzLnN0YXRlUGFydE1hcFtlXTtpZihvKXN3aXRjaChyKXtjYXNlIm1hbmRhdG9yeSI6dGhyb3cgbmV3IEVycm9yKGBTdGF0ZSBwYXJ0ICcke2V9JyBhbHJlYWR5IGV4aXN0cywgYnV0IGluaXRNb2RlIGlzICdtYW5kYXRvcnknYCk7Y2FzZSJmb3JjZSI6by5kaXNwb3NlKCk7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gb31lbHNlIGlmKHQ9PT12b2lkIDApdGhyb3cgbmV3IEVycm9yKGBTdGF0ZSBwYXJ0ICcke2V9JyBkb2VzIG5vdCBleGlzdCBhbmQgbm8gaW5pdGlhbCBzdGF0ZSBwcm92aWRlZGApO2xldCBuPXRoaXMuY3JlYXRlU3RhdGVQYXJ0KGUsdCxyKTt0aGlzLnBlbmRpbmdTdGF0ZVBhcnRDcmVhdGlvbi5zZXQoZSxuKTt0cnl7cmV0dXJuIGF3YWl0IG59ZmluYWxseXt0aGlzLnBlbmRpbmdTdGF0ZVBhcnRDcmVhdGlvbi5kZWxldGUoZSl9fWFzeW5jIGNyZWF0ZVN0YXRlUGFydChlLHQscj0ic29mdCIpe2xldCBpPW5ldyBoYihlLHI9PT0icGVyc2lzdGVudCI/e2RiTmFtZToic21hcnRzdGF0ZSIsc3RvcmVOYW1lOmV9OnZvaWQgMCk7aS5zbWFydHN0YXRlUmVmPXRoaXMsYXdhaXQgaS5pbml0KCk7bGV0IG89aS5nZXRTdGF0ZSgpO3JldHVybiByPT09InBlcnNpc3RlbnQiJiZvIT09dm9pZCAwP2F3YWl0IGkuc2V0U3RhdGUoey4uLnQsLi4ub30pOmF3YWl0IGkuc2V0U3RhdGUodCksdGhpcy5zdGF0ZVBhcnRNYXBbZV09aSxpfX19KTtmdW5jdGlvbiBQemEoYSxlKXtsZXR7Y29udGV4dDp0LHN0YXRlUGFydDpyLHNlbGVjdG9yRm46aX09ZSxvPW5ldyBTZXQsbj1yLnNlbGVjdChpKS5zdWJzY3JpYmUoYz0+e2ZvcihsZXQgcCBvZiBvKXAoYyl9KSxsPXMoKCk9PntsZXQgYz1yLmdldFN0YXRlKCk7aWYoYyE9PXZvaWQgMClyZXR1cm4gaT9pKGMpOmN9LCJnZXRWYWx1ZSIpLGQ9cyhjPT57bGV0IHA9Yyx1PXAuZGV0YWlsO2lmKCEoIXV8fHUuY29udGV4dCE9PXQpKWlmKHAuc3RvcFByb3BhZ2F0aW9uKCksdS5zdWJzY3JpYmUpe2xldCBtPXUuY2FsbGJhY2s7by5hZGQobSk7bGV0IHY9cygoKT0+by5kZWxldGUobSksInVuc3Vic2NyaWJlIik7bShsKCksdil9ZWxzZSB1LmNhbGxiYWNrKGwoKSl9LCJoYW5kbGVyIik7cmV0dXJuIGEuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dC1yZXF1ZXN0IixkKSwoKT0+e2EucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY29udGV4dC1yZXF1ZXN0IixkKSxuLnVuc3Vic2NyaWJlKCksby5jbGVhcigpfX12YXIgbDh0PWYoKCk9PntzKFB6YSwiYXR0YWNoQ29udGV4dFByb3ZpZGVyIil9KTt2YXIgb2Q9e307bHQob2Qse1NtYXJ0c3RhdGU6KCk9PkdkZSxTdGF0ZUFjdGlvbjooKT0+ZmIsU3RhdGVQYXJ0OigpPT5oYixTdGF0ZVByb2Nlc3M6KCk9Pk44LGF0dGFjaENvbnRleHRQcm92aWRlcjooKT0+UHphLGNvbXB1dGVkOigpPT5VZGV9KTt2YXIgYzh0PWYoKCk9PntuOHQoKTt6SigpO1ZkZSgpO1dkZSgpO2w4dCgpO2pkZSgpfSk7dmFyIGQ4dD1mKCgpPT57fSk7dmFyIFlkZSx1OHQ9ZigoKT0+e2Q4dCgpO1lkZT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlNtYXJ0dXJsIil9c3RhdGljIGNyZWF0ZUZyb21VcmwoZSx0KXtsZXQgcj1uZXcgVVJMKGUpLGk9e30sbz1bXTtyLnNlYXJjaCYmci5zZWFyY2gucmVwbGFjZSgiPyIsIiIpLnNwbGl0KCImIikubWFwKGM9PntvLnB1c2goe2tleTpjLnNwbGl0KCI9IilbMF0sdmFsdWU6Yy5zcGxpdCgiPSIpWzFdfSl9KTtmb3IobGV0IGMgb2YgbylpW2Mua2V5XT1jLnZhbHVlO2lmKHQ/LnNlYXJjaFBhcmFtcylmb3IobGV0IGMgb2YgT2JqZWN0LmtleXModC5zZWFyY2hQYXJhbXMpKWlbY109dC5zZWFyY2hQYXJhbXNbY107bGV0IG49ci5wYXRobmFtZXx8IiI7aWYoT2JqZWN0LmtleXMoaSkubGVuZ3RoPjApe24rPSI/IjtsZXQgYz0hMDtmb3IobGV0IHAgb2YgT2JqZWN0LmtleXMoaSkpYz9jPSExOm4rPSImIixuKz1gJHtwfT0ke2lbcF19YH1sZXQgbD17Li4ucixocmVmOnIuaHJlZixvcmlnaW46ci5vcmlnaW4scHJvdG9jb2w6ci5wcm90b2NvbCx1c2VybmFtZTpyLnVzZXJuYW1lLHBhc3N3b3JkOnIucGFzc3dvcmQsaG9zdDpyLmhvc3QsaG9zdG5hbWU6ci5ob3N0bmFtZSxwb3J0OnIucG9ydCxwYXRoOm4scGF0aG5hbWU6ci5wYXRobmFtZSxzZWFyY2g6ci5zZWFyY2gsc2VhcmNoUGFyYW1zOmksaGFzaDpyLmhhc2h9OyFsLnBvcnQmJmwucHJvdG9jb2w9PT0iaHR0cHM6IiYmKGwucG9ydD0iNDQzIiksIWwucG9ydCYmbC5wcm90b2NvbD09PSJodHRwOiImJihsLnBvcnQ9IjgwIik7bGV0IGQ9bmV3IGE7cmV0dXJuIE9iamVjdC5hc3NpZ24oZCxsKSxkfXN0YXRpYyBjcmVhdGVGcm9tUGFyc2VkVXJsKGUpe2xldCB0PW5ldyBhO3JldHVybiBPYmplY3QuYXNzaWduKHQsZSksdH1jb25zdHJ1Y3Rvcigpe3RoaXMuc2VhcmNoUGFyYW1zPXt9fWNsb25lKCl7bGV0IGU9bmV3IGE7cmV0dXJuIE9iamVjdC5hc3NpZ24oZSx0aGlzKSxlLnNlYXJjaFBhcmFtcz17Li4udGhpcy5zZWFyY2hQYXJhbXN9LGV9c2V0KGUsdCl7cmV0dXJuIHRoaXNbZV09dCx0aGlzfXRvU3RyaW5nKCl7bGV0IGU9IiI7cmV0dXJuIHRoaXMudXNlcm5hbWUmJiF0aGlzLnBhc3N3b3JkJiYoZT1gJHt0aGlzLnVzZXJuYW1lfUBgKSx0aGlzLnVzZXJuYW1lJiZ0aGlzLnBhc3N3b3JkJiYoZT1gJHt0aGlzLnVzZXJuYW1lfToke3RoaXMucGFzc3dvcmR9QGApLGAke3RoaXMucHJvdG9jb2x9Ly8ke2V9JHt0aGlzLmhvc3RuYW1lfToke3RoaXMucG9ydH0ke3RoaXMucGF0aH1gfX19KTt2YXIgeDE9e307bHQoeDEse1NtYXJ0dXJsOigpPT5ZZGV9KTt2YXIgS2RlPWYoKCk9Pnt1OHQoKX0pO3ZhciBwOHQ9ZigoKT0+e30pO3ZhciBaZGU9ZigoKT0+e0NuKCk7Q24oKX0pO3ZhciBmOHQ9ZigoKT0+e30pO3ZhciBoOHQ9ZigoKT0+e30pO3ZhciBtOHQ9ZigoKT0+e30pO3ZhciBnOHQ9ZigoKT0+e30pO3ZhciBYZGU9e307dmFyIFFkZT1mKCgpPT57Zjh0KCk7aDh0KCk7bTh0KCk7Zzh0KCl9KTt2YXIgYjh0PWYoKCk9PntRZGUoKTtDSigpfSk7dmFyIHY4dD1mKCgpPT57Q24oKX0pO3ZhciB4OHQ9ZigoKT0+e30pO3ZhciB5OHQ9ZigoKT0+e0NuKCl9KTt2YXIgdzh0PWYoKCk9PntDbigpfSk7dmFyIE04dD1mKCgpPT57fSk7dmFyIGs4dD1mKCgpPT57fSk7dmFyIFM4dD1mKCgpPT57fSk7dmFyIEpkZT17fTt2YXIgX0o9ZigoKT0+e3Y4dCgpO3g4dCgpO3k4dCgpO3c4dCgpO004dCgpO2s4dCgpO1M4dCgpfSk7dmFyIHo4dD1mKCgpPT57X0ooKTtaZGUoKX0pO3ZhciBDOHQ9ZigoKT0+e0NKKCk7X0ooKX0pO3ZhciBfOHQ9ZigoKT0+e30pO3ZhciBUOHQ9ZigoKT0+e30pO3ZhciBlNmU9e307dmFyIENKPWYoKCk9PntwOHQoKTtaZGUoKTtiOHQoKTt6OHQoKTtDOHQoKTtfOHQoKTtUOHQoKX0pO3ZhciBMOHQ9ZigoKT0+e30pO3ZhciAkOHQ9ZigoKT0+e30pO3ZhciB0NmU9e307dmFyIEQ4dD1mKCgpPT57TDh0KCk7JDh0KCl9KTt2YXIgQTh0PWYoKCk9Pnt9KTt2YXIgRTh0PWYoKCk9Pnt9KTt2YXIgYTZlPXt9O3ZhciBQOHQ9ZigoKT0+e0E4dCgpO0U4dCgpfSk7dmFyIHI2ZT17fTt2YXIgSTh0PWYoKCk9Pnt9KTt2YXIgczZlPWYoKCk9PntDbigpfSk7dmFyIE44dD1mKCgpPT57Q24oKX0pO3ZhciBSOHQ9ZigoKT0+e3M2ZSgpfSk7dmFyIGk2ZT17fTt2YXIgTzh0PWYoKCk9PntzNmUoKTtOOHQoKTtSOHQoKX0pO3ZhciBGOHQ9ZigoKT0+e30pO3ZhciBCOHQ9ZigoKT0+e30pO3ZhciBvNmU9e307dmFyIEg4dD1mKCgpPT57Rjh0KCk7Qjh0KCl9KTt2YXIgbjZlPWYoKCk9Pnt9KTt2YXIgbDZlLHE4dD1mKCgpPT57bjZlKCk7bDZlPWNsYXNze3N0YXRpY3tzKHRoaXMsIklDbmFtZURlc2NyaXB0b3IiKX19fSk7dmFyIFY4dD1mKCgpPT57fSk7dmFyIGo4dD1mKCgpPT57fSk7dmFyIFU4dD1mKCgpPT57fSk7dmFyIFc4dD1mKCgpPT57fSk7dmFyIEc4dD1mKCgpPT57fSk7dmFyIFk4dD1mKCgpPT57fSk7dmFyIEs4dD1mKCgpPT57fSk7dmFyIFo4dD1mKCgpPT57fSk7dmFyIFg4dD1mKCgpPT57fSk7dmFyIFE4dD1mKCgpPT57fSk7dmFyIFRKPXt9O2x0KFRKLHtJQ25hbWVEZXNjcmlwdG9yOigpPT5sNmV9KTt2YXIgSjh0PWYoKCk9PntuNmUoKTtxOHQoKTtWOHQoKTtqOHQoKTtVOHQoKTtXOHQoKTtHOHQoKTtZOHQoKTtLOHQoKTtaOHQoKTtYOHQoKTtROHQoKX0pO3ZhciBjNmU9ZigoKT0+e30pO3ZhciBlbXQ9ZigoKT0+e2M2ZSgpfSk7dmFyIGQ2ZT17fTt2YXIgdG10PWYoKCk9PntlbXQoKTtjNmUoKX0pO3ZhciB1NmU9e307dmFyIGFtdD1mKCgpPT57fSk7dmFyIHJtdD1mKCgpPT57fSk7dmFyIHNtdD1mKCgpPT57fSk7dmFyIGltdD1mKCgpPT57fSk7dmFyIHA2ZT17fTt2YXIgb210PWYoKCk9PntybXQoKTtzbXQoKTtpbXQoKX0pO3ZhciBubXQ9ZigoKT0+e30pO3ZhciBtYj17fTtsdChtYix7YnVzaW5lc3M6KCk9PmU2ZSxjb2RlOigpPT50NmUsY29udGFpbmVyOigpPT5hNmUsY29udGVudDooKT0+aTZlLGRhdGFiYXNlOigpPT5YZGUsZGVzY3JpcHRvcnM6KCk9PnI2ZSxmaW5hbmNlOigpPT5KZGUsZ2VuZXJhbDooKT0+bzZlLG5ldHdvcms6KCk9PlRKLHNhYXM6KCk9PmQ2ZSxzdG9yYWdlOigpPT51NmUsd2Vic2l0ZTooKT0+cDZlfSk7dmFyIENuPWYoKCk9PntDSigpO0Q4dCgpO1A4dCgpO1FkZSgpO0k4dCgpO19KKCk7Tzh0KCk7SDh0KCk7Sjh0KCk7dG10KCk7YW10KCk7b210KCk7bm10KCl9KTt2YXIgWWw9ZigoKT0+e0tzKCk7Q24oKX0pO3ZhciBMSj1mKCgpPT57WWwoKX0pO3ZhciBYMCxnYj1mKCgpPT57WWwoKTtYMD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUYWciKX1jb25zdHJ1Y3Rvcigpe3RoaXMudGFnTGV2ZWw9ImxldmVsYm91bmQifWFwcGVuZFRvRG9tKCl7IXRoaXMuZWxlbWVudFJlZi5wYXJlbnRFbGVtZW50JiYhdGhpcy5lbGVtZW50UmVmLnBhcmVudE5vZGUmJmRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF0uYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50UmVmKX1yZW1vdmVGcm9tRG9tKCl7dGhpcy5lbGVtZW50UmVmLnBhcmVudEVsZW1lbnQ/dGhpcy5lbGVtZW50UmVmLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50UmVmKTp0aGlzLmVsZW1lbnRSZWYucGFyZW50Tm9kZSYmdGhpcy5lbGVtZW50UmVmLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50UmVmKX19fSk7dmFyIG5kLCRKPWYoKCk9PntZbCgpO0xKKCk7Z2IoKTtuZD1jbGFzcyBhIGV4dGVuZHMgWDB7c3RhdGlje3ModGhpcywiSnNvbkxkVGFnIil9c3RhdGljIGNyZWF0ZUNvbXBhbnlKc29uTGQoZSl7bGV0IHQ9eyJAY29udGV4dCI6Imh0dHBzOi8vc2NoZW1hLm9yZyIsIkB0eXBlIjoiQ29ycG9yYXRpb24iLG5hbWU6ZS5uYW1lLGFsdGVybmF0ZU5hbWU6ZS5uYW1lLnJlcGxhY2UoIiBHbWJIIiwiIiksdXJsOmUud2Vic2l0ZSxsb2dvOmUubG9nb1VybCxjb250YWN0UG9pbnQ6eyJAdHlwZSI6IkNvbnRhY3RQb2ludCIsdGVsZXBob25lOmUucGhvbmUsY29udGFjdFR5cGU6ImN1c3RvbWVyIHNlcnZpY2UiLGFyZWFTZXJ2ZWQ6IkRFIixhdmFpbGFibGVMYW5ndWFnZTpbImVuIiwiR2VybWFuIl19LHNhbWVBczpbXX0scj1lLnNvY2lhbHM/LmZpbmQobj0+bi50eXBlPT09ImZhY2Vib29rIik/LnVybDtyJiZ0LnNhbWVBcy5wdXNoKHIpO2xldCBpPWUuc29jaWFscz8uZmluZChuPT5uLnR5cGU9PT0idHdpdHRlciIpPy51cmw7cmV0dXJuIGkmJnQuc2FtZUFzLnB1c2goaSksbmV3IGEodCl9c3RhdGljIGNyZWF0ZU5ld3NBcnRpY2xlSnNvbkxkKGUpe2xldCB0PXsiQGNvbnRleHQiOiJodHRwczovL3NjaGVtYS5vcmciLCJAdHlwZSI6Ik5ld3NBcnRpY2xlIixtYWluRW50aXR5T2ZQYWdlOnsiQHR5cGUiOiJXZWJQYWdlIiwiQGlkIjp3aW5kb3cubG9jYXRpb24uaHJlZn0saGVhZGxpbmU6IkFydGljbGUgaGVhZGxpbmUiLGltYWdlOltlLmZlYXR1cmVkSW1hZ2VVcmxdLGRhdGVQdWJsaXNoZWQ6bmV3IERhdGUoZS50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCksZGF0ZU1vZGlmaWVkOm5ldyBEYXRlKGUudGltZXN0YW1wKS50b0lTT1N0cmluZygpLGF1dGhvcjp7IkB0eXBlIjoiUGVyc29uIixuYW1lOmAke2UuYXV0aG9yLmZpcnN0TmFtZX0gJHtlLmF1dGhvci5zdXJOYW1lfWB9LHB1Ymxpc2hlcjp7IkB0eXBlIjoiT3JnYW5pemF0aW9uIixuYW1lOmUuYXV0aG9yLnN1ck5hbWUsbG9nbzp7IkB0eXBlIjoiSW1hZ2VPYmplY3QiLHVybDplLmF1dGhvci5zdXJOYW1lfX0sZGVzY3JpcHRpb246ZS5hdXRob3IuZmlyc3ROYW1lfTtyZXR1cm4gbmV3IGEodCl9c3RhdGljIGNyZWF0ZVByb2R1Y3RKc29uTGQoZSx0KXtsZXQgcj17IkBjb250ZXh0IjoiaHR0cHM6Ly9zY2hlbWEub3JnIiwiQHR5cGUiOiJTb2Z0d2FyZUFwcGxpY2F0aW9uIixuYW1lOmUubmFtZSxkZXNjcmlwdGlvbjplLmRlc2NyaXB0aW9uLG9wZXJhdGluZ1N5c3RlbTplLm9zLGFwcGxpY2F0aW9uQ2F0ZWdvcnk6ZS5jYXRlZ29yeSxvZmZlcnM6eyJAdHlwZSI6Ik9mZmVyIixuYW1lOiJVc2VyLWJhc2VkIFBsYW4iLHByaWNlU3BlY2lmaWNhdGlvbjp7IkB0eXBlIjoiUHJvcGVydHlWYWx1ZVNwZWNpZmljYXRpb24iLHZhbHVlTmFtZToiTnVtYmVyIG9mIFVzZXJzIix2YWx1ZVJlcXVpcmVkOiEwLHByaWNlOiI0Ljk5IixwcmljZUN1cnJlbmN5OiJFVVIifX0scHVibGlzaGVyOnQ/dGhpcy5jcmVhdGVDb21wYW55SnNvbkxkKHQpLmVsZW1lbnRSZWYudGV4dENvbnRlbnQ6dm9pZCAwLHNjcmVlbnNob3Q6Imh0dHBzOi8vd3d3LnNvY2lhbC5pby9zY3JlZW5zaG90LnBuZyIsdXJsOiJodHRwczovL3d3dy5zb2NpYWwuaW8vIn07cmV0dXJuIG5ldyBhKHIpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKCk7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7dC50eXBlPSJhcHBsaWNhdGlvbi9sZCtqc29uIix0LnRleHQ9SlNPTi5zdHJpbmdpZnkoZSksdGhpcy5lbGVtZW50UmVmPXR9fX0pO3ZhciBWaSxESj1mKCgpPT57WWwoKTtnYigpO1ZpPWNsYXNzIGEgZXh0ZW5kcyBYMHtzdGF0aWN7cyh0aGlzLCJPcGVuZ3JhcGhUYWciKX1zdGF0aWMgY3JlYXRlTmV3c0FydGljbGVPZ1RhZ3MoZSl7bGV0IHQ9W107cmV0dXJuIHQucHVzaChuZXcgYSgib2c6dXJsIixlLnVybD8/Z2xvYmFsVGhpcy5sb2NhdGlvbi5ocmVmKSksdC5wdXNoKG5ldyBhKCJvZzp0aXRsZSIsZS50aXRsZSkpLHQucHVzaChuZXcgYSgib2c6ZGVzY3JpcHRpb24iLGUuY29udGVudCkpLHQucHVzaChuZXcgYSgib2c6aW1hZ2UiLGUuZmVhdHVyZWRJbWFnZVVybD8/IiIpKSx0fXN0YXRpYyBjcmVhdGVQcm9kdWN0T2dUYWdzKGUpe2xldCB0PVtdO3JldHVybiB0LnB1c2gobmV3IGEoIm9nOnR5cGUiLCJwcm9kdWN0IikpLHQucHVzaChuZXcgYSgib2c6dXJsIixnbG9iYWxUaGlzLmxvY2F0aW9uLmhyZWYpKSx0LnB1c2gobmV3IGEoIm9nOnRpdGxlIixgJHtlLm5hbWV9IC0gJHtlLnNsb2dhbn1gKSksdC5wdXNoKG5ldyBhKCJvZzpzaXRlX25hbWUiLGUubmFtZSkpLHQucHVzaChuZXcgYSgib2c6ZGVzY3JpcHRpb24iLGUuZGVzY3JpcHRpb24pKSx0LnB1c2gobmV3IGEoIm9nOmltYWdlIixlLmxvZ29MaW5rKSksdH1zdGF0aWMgY3JlYXRlQ29tcGFueU9nVGFncyhlKXtsZXQgdD1bXTtyZXR1cm4gdC5wdXNoKG5ldyBhKCJvZzp0eXBlIiwiY29tcGFueSIpKSx0LnB1c2gobmV3IGEoIm9nOnVybCIsZ2xvYmFsVGhpcy5sb2NhdGlvbi5ocmVmKSksdC5wdXNoKG5ldyBhKCJvZzp0aXRsZSIsZS5uYW1lKSksdC5wdXNoKG5ldyBhKCJvZzpzaXRlX25hbWUiLGUubmFtZSkpLHQucHVzaChuZXcgYSgib2c6ZGVzY3JpcHRpb24iLGUuZGVzY3JpcHRpb24pKSx0LnB1c2gobmV3IGEoIm9nOmltYWdlIixlLmxvZ29Vcmw/PyIiKSksdH1jb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCk7bGV0IHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibWV0YSIpO3Iuc2V0QXR0cmlidXRlKCJwcm9wZXJ0eSIsZSksci5jb250ZW50PXQsdGhpcy5lbGVtZW50UmVmPXJ9fX0pO3ZhciBSOCxmNmU9ZigoKT0+e2diKCk7JEooKTtESigpO2g2ZSgpO1lsKCk7Ujg9Y2xhc3N7c3RhdGlje3ModGhpcywiVGFnTGV2ZWwiKX1zZXQgdGl0bGUoZSl7dGhpcy50aXRsZVN0b3JlPWUsdGhpcy5zdGF0ZT09PSJlbmFibGVkIiYmKGRvY3VtZW50LnRpdGxlPXRoaXMudGl0bGVTdG9yZSl9Z2V0IHRpdGxlKCl7cmV0dXJuIHRoaXMudGl0bGVTdG9yZX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMudGFncz1bXSx0aGlzLnN0YXRlPSJkaXNhYmxlZCIsdGhpcy50YWdNYW5hZ2VyUmVmPWUsdGhpcy50eXBlPXR9YWRkVGFnKGUpe2lmKGUgaW5zdGFuY2VvZiBBcnJheSlmb3IobGV0IHQgb2YgZSl0aGlzLmFkZFRhZyh0KTtlbHNlIHRoaXMudGFncy5wdXNoKGUpLHRoaXMuc3RhdGU9PT0iZW5hYmxlZCImJmUuYXBwZW5kVG9Eb20oKX1hc3luYyBhZGRDb21wYW55SW5mbyhlKXt0aGlzLmFkZFRhZyhuZC5jcmVhdGVDb21wYW55SnNvbkxkKGUpKSx0aGlzLmFkZFRhZyhuZXcgVmkoIm9nOnR5cGUiLCJidXNpbmVzcy5idXNpbmVzcyIpKSx0aGlzLmFkZFRhZyhuZXcgVmkoIm9nOnRpdGxlIixlLm5hbWUpKSx0aGlzLmFkZFRhZyhuZXcgVmkoIm9nOnVybCIsZS53ZWJzaXRlPz8iIikpLHRoaXMuYWRkVGFnKG5ldyBWaSgib2c6aW1hZ2UiLGUubG9nb1VybD8/IiIpKSx0aGlzLmFkZFRhZyhuZXcgVmkoImJ1c2luZXNzOmNvbnRhY3RfZGF0YTpzdHJlZXRfYWRkcmVzcyIsYCR7ZS5hZGRyZXNzLnN0cmVldE5hbWV9ICR7ZS5hZGRyZXNzLmhvdXNlTnVtYmVyfWApKSx0aGlzLmFkZFRhZyhuZXcgVmkoImJ1c2luZXNzOmNvbnRhY3RfZGF0YTpsb2NhbGl0eSIsZS5hZGRyZXNzLnBvc3RhbENvZGUpKSx0aGlzLmFkZFRhZyhuZXcgVmkoImJ1c2luZXNzOmNvbnRhY3RfZGF0YTpyZWdpb24iLGUuYWRkcmVzcy5jaXR5KSksdGhpcy5hZGRUYWcobmV3IFZpKCJidXNpbmVzczpjb250YWN0X2RhdGE6cG9zdGFsX2NvZGUiLGUuYWRkcmVzcy5wb3N0YWxDb2RlKSksdGhpcy5hZGRUYWcobmV3IFZpKCJidXNpbmVzczpjb250YWN0X2RhdGE6Y291bnRyeV9uYW1lIixlLmFkZHJlc3MuY291bnRyeSkpfWFkZE5ld3NBcnRpY2xlSW5mbyhlKXt0aGlzLmFkZFRhZyhuZC5jcmVhdGVOZXdzQXJ0aWNsZUpzb25MZChlKSksdGhpcy5hZGRUYWcoVmkuY3JlYXRlTmV3c0FydGljbGVPZ1RhZ3MoZSkpfWFkZFByb2R1Y3RJbmZvKGUsdCl7dGhpcy5hZGRUYWcobmQuY3JlYXRlUHJvZHVjdEpzb25MZChlLHQpKSx0aGlzLmFkZFRhZyhWaS5jcmVhdGVQcm9kdWN0T2dUYWdzKGUpKX1hc3luYyBlbmFibGUoKXt0aGlzLnRpdGxlJiYoZG9jdW1lbnQudGl0bGU9dGhpcy50aXRsZSk7Zm9yKGxldCBlIG9mIHRoaXMudGFncyllLmFwcGVuZFRvRG9tKCk7dGhpcy5zdGF0ZT0iZW5hYmxlZCJ9YXN5bmMgZGlzYWJsZSgpe2ZvcihsZXQgZSBvZiB0aGlzLnRhZ3MpZS5yZW1vdmVGcm9tRG9tKCk7dGhpcy5zdGF0ZT0iZGlzYWJsZWQifX19KTt2YXIgX24sbTZlPWYoKCk9PntnYigpO19uPWNsYXNzIGV4dGVuZHMgWDB7c3RhdGlje3ModGhpcywiTWV0YVRhZyIpfWNvbnN0cnVjdG9yKGUsdCl7c3VwZXIoKTtsZXQgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJtZXRhIik7ci5uYW1lPWUsci5jb250ZW50PXQsdGhpcy5lbGVtZW50UmVmPXJ9fX0pO3ZhciBBSixoNmU9ZigoKT0+e2Y2ZSgpO1lsKCk7TEooKTttNmUoKTskSigpO0RKKCk7QUo9Y2xhc3N7c3RhdGlje3ModGhpcywiVGFnTWFuYWdlciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5nbG9iYWxMZXZlbD1uZXcgUjgodGhpcywiZ2xvYmFsIiksdGhpcy5iYXNlTGV2ZWw9bmV3IFI4KHRoaXMsImJhc2UiKX1hc3luYyBzZXR1cChlKXtzd2l0Y2godGhpcy5nbG9iYWxMZXZlbC5hZGRUYWcobmV3IF9uKCJnb29nbGUiLCJub3RyYW5zbGF0ZSIpKSx0aGlzLmdsb2JhbExldmVsLmFkZFRhZyhuZXcgX24oInJldmlzaXQtYWZ0ZXIiLCIxIGRheXMiKSksZS50d2l0dGVySGFuZGxlJiYodGhpcy5nbG9iYWxMZXZlbC5hZGRUYWcobmV3IF9uKCJ0d2l0dGVyOmNhcmQiLCJzdW1tYXJ5X2xhcmdlX2ltYWdlIikpLHRoaXMuZ2xvYmFsTGV2ZWwuYWRkVGFnKG5ldyBfbigidHdpdHRlcjpzaXRlIixlLnR3aXR0ZXJIYW5kbGUpKSx0aGlzLmdsb2JhbExldmVsLmFkZFRhZyhuZXcgX24oInR3aXR0ZXI6Y3JlYXRvciIsZS50d2l0dGVySGFuZGxlKSkpLHRoaXMuYmFzZUxldmVsLnRpdGxlPWUudGl0bGUsZS5kZXNjcmlwdGlvbiYmdGhpcy5iYXNlTGV2ZWwuYWRkVGFnKG5ldyBfbigiZGVzY3JpcHRpb24iLGUuZGVzY3JpcHRpb24pKSxlLmNhbm9uaWNhbERvbWFpbiYmdGhpcy5iYXNlTGV2ZWwuYWRkVGFnKG5ldyBfbigiY2Fub25pY2FsIixlLmNhbm9uaWNhbERvbWFpbikpLCEwKXtjYXNlKGUubGRDb21wYW55JiYhZS5sZFByb2R1Y3QpOnRoaXMuYmFzZUxldmVsLmFkZENvbXBhbnlJbmZvKGUubGRDb21wYW55KTticmVhaztjYXNlISFlLmxkUHJvZHVjdDp0aGlzLmJhc2VMZXZlbC5hZGRQcm9kdWN0SW5mbyhlLmxkUHJvZHVjdCxlLmxkQ29tcGFueSk7YnJlYWt9YXdhaXQgdGhpcy5nbG9iYWxMZXZlbC5lbmFibGUoKSx0aGlzLmFjdGl2ZUxldmVsPXRoaXMuYmFzZUxldmVsLGF3YWl0IHRoaXMuYWN0aXZlTGV2ZWwuZW5hYmxlKCl9YXN5bmMgc2V0U3ViUGFnZUxldmVsKGUpe2xldCB0PW5ldyBSOCh0aGlzLCJzdWJwYWdlIik7cmV0dXJuIHQudGl0bGU9ZS50aXRsZSxlLmRlc2NyaXB0aW9uJiZ0LmFkZFRhZyhuZXcgX24oImRlc2NyaXB0aW9uIixlLmRlc2NyaXB0aW9uKSksYXdhaXQgdGhpcy5hY3RpdmVMZXZlbC5kaXNhYmxlKCksdGhpcy5hY3RpdmVMZXZlbD10LGF3YWl0IHRoaXMuYWN0aXZlTGV2ZWwuZW5hYmxlKCksdH1hc3luYyByZXZlcnRUb0Jhc2VMZXZlbCgpe3RoaXMuYWN0aXZlTGV2ZWwhPT10aGlzLmJhc2VMZXZlbCYmKGF3YWl0IHRoaXMuYWN0aXZlTGV2ZWwuZGlzYWJsZSgpLHRoaXMuYWN0aXZlTGV2ZWw9dGhpcy5iYXNlTGV2ZWwsYXdhaXQgdGhpcy5hY3RpdmVMZXZlbC5lbmFibGUoKSl9fX0pO3ZhciBiYixsbXQ9ZigoKT0+e1lsKCk7TEooKTtoNmUoKTtmNmUoKTtiYj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXZWJTZXR1cCIpfWNvbnN0cnVjdG9yKGUpe3RoaXMudGFnTWFuYWdlcj1uZXcgQUosdGhpcy5yZWFkeURlZmVycmVkPWV0LmRlZmVyKCksdGhpcy5yZWFkeUZvclNtYXJ0c3NyRGVmZXJyZWQ9ZXQuZGVmZXIoKSx0aGlzLnJlYWR5UHJvbWlzZT10aGlzLnJlYWR5RGVmZXJyZWQucHJvbWlzZSx0aGlzLnJlYWR5Rm9yU21hcnRzc3JQcm9taXNlPXRoaXMucmVhZHlGb3JTbWFydHNzckRlZmVycmVkLnByb21pc2UsdGhpcy5vcHRpb25zPWUsdGhpcy5zZXR1cCgpLnRoZW4oKCk9Pnt0aGlzLnJlYWR5RGVmZXJyZWQucmVzb2x2ZSgpLHRoaXMub3B0aW9ucy5zbWFydHNzcldhaXRGb3JSZWFkeVNpZ25hbHx8dGhpcy5yZWFkeUZvclNtYXJ0c3NyRGVmZXJyZWQucmVzb2x2ZSgpfSl9YXN5bmMgc2V0dXAoZSl7ZSYmKHRoaXMub3B0aW9ucz1lKSxhd2FpdCB0aGlzLnRhZ01hbmFnZXIuc2V0dXAodGhpcy5vcHRpb25zLm1ldGFPYmplY3QpfXJldmVydFRvQmFzZUxldmVsKCl7dGhpcy50YWdNYW5hZ2VyLnJldmVydFRvQmFzZUxldmVsKCl9YXN5bmMgc2V0U3ViTGV2ZWwoZSl7cmV0dXJuIGF3YWl0IHRoaXMudGFnTWFuYWdlci5zZXRTdWJQYWdlTGV2ZWwoZSl9Zmxhc2hUaXRsZShlKXt9aW5mb3JtUmVhZHlGb3JTbWFydHNzcigpe3RoaXMub3B0aW9ucy5zbWFydHNzcldhaXRGb3JSZWFkeVNpZ25hbHx8Y29uc29sZS5lcnJvcigiWW91IGhhdmUgbm90IGluZGljYXRlZCB0aGF0IHlvdSBpbmZvcm0gc21hcnRzc3IgYnkgYSBkZWRpY2F0ZWQgc2lnbmFsISBQbGVhc2UgY29uc2lkZXIgZG9pbmcgc28hIiksdGhpcy5yZWFkeUZvclNtYXJ0c3NyRGVmZXJyZWQucmVzb2x2ZSgpfX19KTt2YXIgZzZlLGNtdD1mKCgpPT57WWwoKTtnNmU9Y2xhc3N7c3RhdGlje3ModGhpcywiVGl0bGUiKX19fSk7dmFyIGI2ZT17fTtsdChiNmUse0pzb25MZFRhZzooKT0+bmQsTWV0YVRhZzooKT0+X24sT3BlbmdyYXBoVGFnOigpPT5WaSxUaXRsZTooKT0+ZzZlLFdlYlNldHVwOigpPT5iYn0pO3ZhciBFSj1mKCgpPT57bG10KCk7bTZlKCk7REooKTskSigpO2NtdCgpfSk7ZnVuY3Rpb24gZG10KGEsZSx0KXtyZXR1cm4gTWF0aC5tYXgoYSxNYXRoLm1pbihlLHQpKX1mdW5jdGlvbiBSemEoYSxlLHQpe3JldHVybigxLXQpKmErdCplfWZ1bmN0aW9uIE96YShhLGUsdCxyKXtyZXR1cm4gUnphKGEsZSwxLU1hdGguZXhwKC10KnIpKX1mdW5jdGlvbiBGemEoYSxlKXtyZXR1cm4oYSVlK2UpJWV9ZnVuY3Rpb24gSHphKGEsZSl7bGV0IHQ7cmV0dXJuIGZ1bmN0aW9uKC4uLnIpe2xldCBpPXRoaXM7Y2xlYXJUaW1lb3V0KHQpLHQ9c2V0VGltZW91dCgoKT0+e3Q9dm9pZCAwLGEuYXBwbHkoaSxyKX0sZSl9fXZhciBOemEsQnphLHF6YSx1bXQscG10LFEwLFZ6YSxmbXQsdmIsaG10PWYoKCk9PntOemE9IjEuMy4xNyI7cyhkbXQsImNsYW1wIik7cyhSemEsImxlcnAiKTtzKE96YSwiZGFtcCIpO3MoRnphLCJtb2R1bG8iKTtCemE9Y2xhc3N7c3RhdGlje3ModGhpcywiQW5pbWF0ZSIpfWlzUnVubmluZz0hMTt2YWx1ZT0wO2Zyb209MDt0bz0wO2N1cnJlbnRUaW1lPTA7bGVycDtkdXJhdGlvbjtlYXNpbmc7b25VcGRhdGU7YWR2YW5jZShhKXtpZighdGhpcy5pc1J1bm5pbmcpcmV0dXJuO2xldCBlPSExO2lmKHRoaXMuZHVyYXRpb24mJnRoaXMuZWFzaW5nKXt0aGlzLmN1cnJlbnRUaW1lKz1hO2xldCB0PWRtdCgwLHRoaXMuY3VycmVudFRpbWUvdGhpcy5kdXJhdGlvbiwxKTtlPXQ+PTE7bGV0IHI9ZT8xOnRoaXMuZWFzaW5nKHQpO3RoaXMudmFsdWU9dGhpcy5mcm9tKyh0aGlzLnRvLXRoaXMuZnJvbSkqcn1lbHNlIHRoaXMubGVycD8odGhpcy52YWx1ZT1PemEodGhpcy52YWx1ZSx0aGlzLnRvLHRoaXMubGVycCo2MCxhKSxNYXRoLnJvdW5kKHRoaXMudmFsdWUpPT09dGhpcy50byYmKHRoaXMudmFsdWU9dGhpcy50byxlPSEwKSk6KHRoaXMudmFsdWU9dGhpcy50byxlPSEwKTtlJiZ0aGlzLnN0b3AoKSx0aGlzLm9uVXBkYXRlPy4odGhpcy52YWx1ZSxlKX1zdG9wKCl7dGhpcy5pc1J1bm5pbmc9ITF9ZnJvbVRvKGEsZSx7bGVycDp0LGR1cmF0aW9uOnIsZWFzaW5nOmksb25TdGFydDpvLG9uVXBkYXRlOm59KXt0aGlzLmZyb209dGhpcy52YWx1ZT1hLHRoaXMudG89ZSx0aGlzLmxlcnA9dCx0aGlzLmR1cmF0aW9uPXIsdGhpcy5lYXNpbmc9aSx0aGlzLmN1cnJlbnRUaW1lPTAsdGhpcy5pc1J1bm5pbmc9ITAsbz8uKCksdGhpcy5vblVwZGF0ZT1ufX07cyhIemEsImRlYm91bmNlIik7cXphPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRpbWVuc2lvbnMiKX1jb25zdHJ1Y3RvcihhLGUse2F1dG9SZXNpemU6dD0hMCxkZWJvdW5jZTpyPTI1MH09e30pe3RoaXMud3JhcHBlcj1hLHRoaXMuY29udGVudD1lLHQmJih0aGlzLmRlYm91bmNlZFJlc2l6ZT1IemEodGhpcy5yZXNpemUsciksdGhpcy53cmFwcGVyIGluc3RhbmNlb2YgV2luZG93P3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuZGVib3VuY2VkUmVzaXplLCExKToodGhpcy53cmFwcGVyUmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKHRoaXMuZGVib3VuY2VkUmVzaXplKSx0aGlzLndyYXBwZXJSZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMud3JhcHBlcikpLHRoaXMuY29udGVudFJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcih0aGlzLmRlYm91bmNlZFJlc2l6ZSksdGhpcy5jb250ZW50UmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmNvbnRlbnQpKSx0aGlzLnJlc2l6ZSgpfXdpZHRoPTA7aGVpZ2h0PTA7c2Nyb2xsSGVpZ2h0PTA7c2Nyb2xsV2lkdGg9MDtkZWJvdW5jZWRSZXNpemU7d3JhcHBlclJlc2l6ZU9ic2VydmVyO2NvbnRlbnRSZXNpemVPYnNlcnZlcjtkZXN0cm95KCl7dGhpcy53cmFwcGVyUmVzaXplT2JzZXJ2ZXI/LmRpc2Nvbm5lY3QoKSx0aGlzLmNvbnRlbnRSZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpLHRoaXMud3JhcHBlcj09PXdpbmRvdyYmdGhpcy5kZWJvdW5jZWRSZXNpemUmJndpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuZGVib3VuY2VkUmVzaXplLCExKX1yZXNpemU9cygoKT0+e3RoaXMub25XcmFwcGVyUmVzaXplKCksdGhpcy5vbkNvbnRlbnRSZXNpemUoKX0sInJlc2l6ZSIpO29uV3JhcHBlclJlc2l6ZT1zKCgpPT57dGhpcy53cmFwcGVyIGluc3RhbmNlb2YgV2luZG93Pyh0aGlzLndpZHRoPXdpbmRvdy5pbm5lcldpZHRoLHRoaXMuaGVpZ2h0PXdpbmRvdy5pbm5lckhlaWdodCk6KHRoaXMud2lkdGg9dGhpcy53cmFwcGVyLmNsaWVudFdpZHRoLHRoaXMuaGVpZ2h0PXRoaXMud3JhcHBlci5jbGllbnRIZWlnaHQpfSwib25XcmFwcGVyUmVzaXplIik7b25Db250ZW50UmVzaXplPXMoKCk9Pnt0aGlzLndyYXBwZXIgaW5zdGFuY2VvZiBXaW5kb3c/KHRoaXMuc2Nyb2xsSGVpZ2h0PXRoaXMuY29udGVudC5zY3JvbGxIZWlnaHQsdGhpcy5zY3JvbGxXaWR0aD10aGlzLmNvbnRlbnQuc2Nyb2xsV2lkdGgpOih0aGlzLnNjcm9sbEhlaWdodD10aGlzLndyYXBwZXIuc2Nyb2xsSGVpZ2h0LHRoaXMuc2Nyb2xsV2lkdGg9dGhpcy53cmFwcGVyLnNjcm9sbFdpZHRoKX0sIm9uQ29udGVudFJlc2l6ZSIpO2dldCBsaW1pdCgpe3JldHVybnt4OnRoaXMuc2Nyb2xsV2lkdGgtdGhpcy53aWR0aCx5OnRoaXMuc2Nyb2xsSGVpZ2h0LXRoaXMuaGVpZ2h0fX19LHVtdD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJFbWl0dGVyIil9ZXZlbnRzPXt9O2VtaXQoYSwuLi5lKXtsZXQgdD10aGlzLmV2ZW50c1thXXx8W107Zm9yKGxldCByPTAsaT10Lmxlbmd0aDtyPGk7cisrKXRbcl0/LiguLi5lKX1vbihhLGUpe3JldHVybiB0aGlzLmV2ZW50c1thXT8ucHVzaChlKXx8KHRoaXMuZXZlbnRzW2FdPVtlXSksKCk9Pnt0aGlzLmV2ZW50c1thXT10aGlzLmV2ZW50c1thXT8uZmlsdGVyKHQ9PmUhPT10KX19b2ZmKGEsZSl7dGhpcy5ldmVudHNbYV09dGhpcy5ldmVudHNbYV0/LmZpbHRlcih0PT5lIT09dCl9ZGVzdHJveSgpe3RoaXMuZXZlbnRzPXt9fX0scG10PTEwMC82LFEwPXtwYXNzaXZlOiExfSxWemE9Y2xhc3N7c3RhdGlje3ModGhpcywiVmlydHVhbFNjcm9sbCIpfWNvbnN0cnVjdG9yKGEsZT17d2hlZWxNdWx0aXBsaWVyOjEsdG91Y2hNdWx0aXBsaWVyOjF9KXt0aGlzLmVsZW1lbnQ9YSx0aGlzLm9wdGlvbnM9ZSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLm9uV2luZG93UmVzaXplLCExKSx0aGlzLm9uV2luZG93UmVzaXplKCksdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLm9uV2hlZWwsUTApLHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLm9uVG91Y2hTdGFydCxRMCksdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5vblRvdWNoTW92ZSxRMCksdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLm9uVG91Y2hFbmQsUTApfXRvdWNoU3RhcnQ9e3g6MCx5OjB9O2xhc3REZWx0YT17eDowLHk6MH07d2luZG93PXt3aWR0aDowLGhlaWdodDowfTtlbWl0dGVyPW5ldyB1bXQ7b24oYSxlKXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uKGEsZSl9ZGVzdHJveSgpe3RoaXMuZW1pdHRlci5kZXN0cm95KCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5vbldpbmRvd1Jlc2l6ZSwhMSksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIndoZWVsIix0aGlzLm9uV2hlZWwsUTApLHRoaXMuZWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLm9uVG91Y2hTdGFydCxRMCksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5vblRvdWNoTW92ZSxRMCksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLm9uVG91Y2hFbmQsUTApfW9uVG91Y2hTdGFydD1zKGE9PntsZXR7Y2xpZW50WDplLGNsaWVudFk6dH09YS50YXJnZXRUb3VjaGVzP2EudGFyZ2V0VG91Y2hlc1swXTphO3RoaXMudG91Y2hTdGFydC54PWUsdGhpcy50b3VjaFN0YXJ0Lnk9dCx0aGlzLmxhc3REZWx0YT17eDowLHk6MH0sdGhpcy5lbWl0dGVyLmVtaXQoInNjcm9sbCIse2RlbHRhWDowLGRlbHRhWTowLGV2ZW50OmF9KX0sIm9uVG91Y2hTdGFydCIpO29uVG91Y2hNb3ZlPXMoYT0+e2xldHtjbGllbnRYOmUsY2xpZW50WTp0fT1hLnRhcmdldFRvdWNoZXM/YS50YXJnZXRUb3VjaGVzWzBdOmEscj0tKGUtdGhpcy50b3VjaFN0YXJ0LngpKnRoaXMub3B0aW9ucy50b3VjaE11bHRpcGxpZXIsaT0tKHQtdGhpcy50b3VjaFN0YXJ0LnkpKnRoaXMub3B0aW9ucy50b3VjaE11bHRpcGxpZXI7dGhpcy50b3VjaFN0YXJ0Lng9ZSx0aGlzLnRvdWNoU3RhcnQueT10LHRoaXMubGFzdERlbHRhPXt4OnIseTppfSx0aGlzLmVtaXR0ZXIuZW1pdCgic2Nyb2xsIix7ZGVsdGFYOnIsZGVsdGFZOmksZXZlbnQ6YX0pfSwib25Ub3VjaE1vdmUiKTtvblRvdWNoRW5kPXMoYT0+e3RoaXMuZW1pdHRlci5lbWl0KCJzY3JvbGwiLHtkZWx0YVg6dGhpcy5sYXN0RGVsdGEueCxkZWx0YVk6dGhpcy5sYXN0RGVsdGEueSxldmVudDphfSl9LCJvblRvdWNoRW5kIik7b25XaGVlbD1zKGE9PntsZXR7ZGVsdGFYOmUsZGVsdGFZOnQsZGVsdGFNb2RlOnJ9PWEsaT1yPT09MT9wbXQ6cj09PTI/dGhpcy53aW5kb3cud2lkdGg6MSxvPXI9PT0xP3BtdDpyPT09Mj90aGlzLndpbmRvdy5oZWlnaHQ6MTtlKj1pLHQqPW8sZSo9dGhpcy5vcHRpb25zLndoZWVsTXVsdGlwbGllcix0Kj10aGlzLm9wdGlvbnMud2hlZWxNdWx0aXBsaWVyLHRoaXMuZW1pdHRlci5lbWl0KCJzY3JvbGwiLHtkZWx0YVg6ZSxkZWx0YVk6dCxldmVudDphfSl9LCJvbldoZWVsIik7b25XaW5kb3dSZXNpemU9cygoKT0+e3RoaXMud2luZG93PXt3aWR0aDp3aW5kb3cuaW5uZXJXaWR0aCxoZWlnaHQ6d2luZG93LmlubmVySGVpZ2h0fX0sIm9uV2luZG93UmVzaXplIil9LGZtdD1zKGE9Pk1hdGgubWluKDEsMS4wMDEtTWF0aC5wb3coMiwtMTAqYSkpLCJkZWZhdWx0RWFzaW5nIiksdmI9Y2xhc3N7c3RhdGlje3ModGhpcywiTGVuaXMiKX1faXNTY3JvbGxpbmc9ITE7X2lzU3RvcHBlZD0hMTtfaXNMb2NrZWQ9ITE7X3ByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQ9ITE7X3Jlc2V0VmVsb2NpdHlUaW1lb3V0PW51bGw7X3JhZklkPW51bGw7aXNUb3VjaGluZzt0aW1lPTA7dXNlckRhdGE9e307bGFzdFZlbG9jaXR5PTA7dmVsb2NpdHk9MDtkaXJlY3Rpb249MDtvcHRpb25zO3RhcmdldFNjcm9sbDthbmltYXRlZFNjcm9sbDthbmltYXRlPW5ldyBCemE7ZW1pdHRlcj1uZXcgdW10O2RpbWVuc2lvbnM7dmlydHVhbFNjcm9sbDtjb25zdHJ1Y3Rvcih7d3JhcHBlcjphPXdpbmRvdyxjb250ZW50OmU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LGV2ZW50c1RhcmdldDp0PWEsc21vb3RoV2hlZWw6cj0hMCxzeW5jVG91Y2g6aT0hMSxzeW5jVG91Y2hMZXJwOm89LjA3NSx0b3VjaEluZXJ0aWFFeHBvbmVudDpuPTEuNyxkdXJhdGlvbjpsLGVhc2luZzpkLGxlcnA6Yz0uMSxpbmZpbml0ZTpwPSExLG9yaWVudGF0aW9uOnU9InZlcnRpY2FsIixnZXN0dXJlT3JpZW50YXRpb246bT11PT09Imhvcml6b250YWwiPyJib3RoIjoidmVydGljYWwiLHRvdWNoTXVsdGlwbGllcjp2PTEsd2hlZWxNdWx0aXBsaWVyOng9MSxhdXRvUmVzaXplOmI9ITAscHJldmVudDpnLHZpcnR1YWxTY3JvbGw6eSxvdmVyc2Nyb2xsOms9ITAsYXV0b1JhZjpDPSExLGFuY2hvcnM6Tj0hMSxhdXRvVG9nZ2xlOl89ITEsYWxsb3dOZXN0ZWRTY3JvbGw6ej0hMSxfX2V4cGVyaW1lbnRhbF9fbmFpdmVEaW1lbnNpb25zOk89ITEsbmFpdmVEaW1lbnNpb25zOlQ9TyxzdG9wSW5lcnRpYU9uTmF2aWdhdGU6RT0hMX09e30pe3dpbmRvdy5sZW5pc1ZlcnNpb249TnphLCghYXx8YT09PWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkmJihhPXdpbmRvdyksdHlwZW9mIGw9PSJudW1iZXIiJiZ0eXBlb2YgZCE9ImZ1bmN0aW9uIj9kPWZtdDp0eXBlb2YgZD09ImZ1bmN0aW9uIiYmdHlwZW9mIGwhPSJudW1iZXIiJiYobD0xKSx0aGlzLm9wdGlvbnM9e3dyYXBwZXI6YSxjb250ZW50OmUsZXZlbnRzVGFyZ2V0OnQsc21vb3RoV2hlZWw6cixzeW5jVG91Y2g6aSxzeW5jVG91Y2hMZXJwOm8sdG91Y2hJbmVydGlhRXhwb25lbnQ6bixkdXJhdGlvbjpsLGVhc2luZzpkLGxlcnA6YyxpbmZpbml0ZTpwLGdlc3R1cmVPcmllbnRhdGlvbjptLG9yaWVudGF0aW9uOnUsdG91Y2hNdWx0aXBsaWVyOnYsd2hlZWxNdWx0aXBsaWVyOngsYXV0b1Jlc2l6ZTpiLHByZXZlbnQ6Zyx2aXJ0dWFsU2Nyb2xsOnksb3ZlcnNjcm9sbDprLGF1dG9SYWY6QyxhbmNob3JzOk4sYXV0b1RvZ2dsZTpfLGFsbG93TmVzdGVkU2Nyb2xsOnosbmFpdmVEaW1lbnNpb25zOlQsc3RvcEluZXJ0aWFPbk5hdmlnYXRlOkV9LHRoaXMuZGltZW5zaW9ucz1uZXcgcXphKGEsZSx7YXV0b1Jlc2l6ZTpifSksdGhpcy51cGRhdGVDbGFzc05hbWUoKSx0aGlzLnRhcmdldFNjcm9sbD10aGlzLmFuaW1hdGVkU2Nyb2xsPXRoaXMuYWN0dWFsU2Nyb2xsLHRoaXMub3B0aW9ucy53cmFwcGVyLmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5vbk5hdGl2ZVNjcm9sbCwhMSksdGhpcy5vcHRpb25zLndyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsZW5kIix0aGlzLm9uU2Nyb2xsRW5kLHtjYXB0dXJlOiEwfSksKHRoaXMub3B0aW9ucy5hbmNob3JzfHx0aGlzLm9wdGlvbnMuc3RvcEluZXJ0aWFPbk5hdmlnYXRlKSYmdGhpcy5vcHRpb25zLndyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMub25DbGljaywhMSksdGhpcy5vcHRpb25zLndyYXBwZXIuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLHRoaXMub25Qb2ludGVyRG93biwhMSksdGhpcy52aXJ0dWFsU2Nyb2xsPW5ldyBWemEodCx7dG91Y2hNdWx0aXBsaWVyOnYsd2hlZWxNdWx0aXBsaWVyOnh9KSx0aGlzLnZpcnR1YWxTY3JvbGwub24oInNjcm9sbCIsdGhpcy5vblZpcnR1YWxTY3JvbGwpLHRoaXMub3B0aW9ucy5hdXRvVG9nZ2xlJiYodGhpcy5jaGVja092ZXJmbG93KCksdGhpcy5yb290RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJ0cmFuc2l0aW9uZW5kIix0aGlzLm9uVHJhbnNpdGlvbkVuZCx7cGFzc2l2ZTohMH0pKSx0aGlzLm9wdGlvbnMuYXV0b1JhZiYmKHRoaXMuX3JhZklkPXJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnJhZikpfWRlc3Ryb3koKXt0aGlzLmVtaXR0ZXIuZGVzdHJveSgpLHRoaXMub3B0aW9ucy53cmFwcGVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5vbk5hdGl2ZVNjcm9sbCwhMSksdGhpcy5vcHRpb25zLndyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsZW5kIix0aGlzLm9uU2Nyb2xsRW5kLHtjYXB0dXJlOiEwfSksdGhpcy5vcHRpb25zLndyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcmRvd24iLHRoaXMub25Qb2ludGVyRG93biwhMSksKHRoaXMub3B0aW9ucy5hbmNob3JzfHx0aGlzLm9wdGlvbnMuc3RvcEluZXJ0aWFPbk5hdmlnYXRlKSYmdGhpcy5vcHRpb25zLndyYXBwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMub25DbGljaywhMSksdGhpcy52aXJ0dWFsU2Nyb2xsLmRlc3Ryb3koKSx0aGlzLmRpbWVuc2lvbnMuZGVzdHJveSgpLHRoaXMuY2xlYW5VcENsYXNzTmFtZSgpLHRoaXMuX3JhZklkJiZjYW5jZWxBbmltYXRpb25GcmFtZSh0aGlzLl9yYWZJZCl9b24oYSxlKXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uKGEsZSl9b2ZmKGEsZSl7cmV0dXJuIHRoaXMuZW1pdHRlci5vZmYoYSxlKX1vblNjcm9sbEVuZD1zKGE9PnthIGluc3RhbmNlb2YgQ3VzdG9tRXZlbnR8fCh0aGlzLmlzU2Nyb2xsaW5nPT09InNtb290aCJ8fHRoaXMuaXNTY3JvbGxpbmc9PT0hMSkmJmEuc3RvcFByb3BhZ2F0aW9uKCl9LCJvblNjcm9sbEVuZCIpO2Rpc3BhdGNoU2Nyb2xsZW5kRXZlbnQ9cygoKT0+e3RoaXMub3B0aW9ucy53cmFwcGVyLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzY3JvbGxlbmQiLHtidWJibGVzOnRoaXMub3B0aW9ucy53cmFwcGVyPT09d2luZG93LGRldGFpbDp7bGVuaXNTY3JvbGxFbmQ6ITB9fSkpfSwiZGlzcGF0Y2hTY3JvbGxlbmRFdmVudCIpO2dldCBvdmVyZmxvdygpe2xldCBhPXRoaXMuaXNIb3Jpem9udGFsPyJvdmVyZmxvdy14Ijoib3ZlcmZsb3cteSI7cmV0dXJuIGdldENvbXB1dGVkU3R5bGUodGhpcy5yb290RWxlbWVudClbYV19Y2hlY2tPdmVyZmxvdygpe1siaGlkZGVuIiwiY2xpcCJdLmluY2x1ZGVzKHRoaXMub3ZlcmZsb3cpP3RoaXMuaW50ZXJuYWxTdG9wKCk6dGhpcy5pbnRlcm5hbFN0YXJ0KCl9b25UcmFuc2l0aW9uRW5kPXMoYT0+e2EucHJvcGVydHlOYW1lLmluY2x1ZGVzKCJvdmVyZmxvdyIpJiZ0aGlzLmNoZWNrT3ZlcmZsb3coKX0sIm9uVHJhbnNpdGlvbkVuZCIpO3NldFNjcm9sbChhKXt0aGlzLmlzSG9yaXpvbnRhbD90aGlzLm9wdGlvbnMud3JhcHBlci5zY3JvbGxUbyh7bGVmdDphLGJlaGF2aW9yOiJpbnN0YW50In0pOnRoaXMub3B0aW9ucy53cmFwcGVyLnNjcm9sbFRvKHt0b3A6YSxiZWhhdmlvcjoiaW5zdGFudCJ9KX1vbkNsaWNrPXMoYT0+e2xldCB0PWEuY29tcG9zZWRQYXRoKCkuZmlsdGVyKHI9PnIgaW5zdGFuY2VvZiBIVE1MQW5jaG9yRWxlbWVudCYmci5nZXRBdHRyaWJ1dGUoImhyZWYiKSk7aWYodGhpcy5vcHRpb25zLmFuY2hvcnMpe2xldCByPXQuZmluZChpPT5pLmdldEF0dHJpYnV0ZSgiaHJlZiIpPy5pbmNsdWRlcygiIyIpKTtpZihyKXtsZXQgaT1yLmdldEF0dHJpYnV0ZSgiaHJlZiIpO2lmKGkpe2xldCBvPXR5cGVvZiB0aGlzLm9wdGlvbnMuYW5jaG9ycz09Im9iamVjdCImJnRoaXMub3B0aW9ucy5hbmNob3JzP3RoaXMub3B0aW9ucy5hbmNob3JzOnZvaWQgMCxuPWAjJHtpLnNwbGl0KCIjIilbMV19YDt0aGlzLnNjcm9sbFRvKG4sbyl9fX10aGlzLm9wdGlvbnMuc3RvcEluZXJ0aWFPbk5hdmlnYXRlJiZ0LmZpbmQoaT0+aS5ob3N0PT09d2luZG93LmxvY2F0aW9uLmhvc3QpJiZ0aGlzLnJlc2V0KCl9LCJvbkNsaWNrIik7b25Qb2ludGVyRG93bj1zKGE9PnthLmJ1dHRvbj09PTEmJnRoaXMucmVzZXQoKX0sIm9uUG9pbnRlckRvd24iKTtvblZpcnR1YWxTY3JvbGw9cyhhPT57aWYodHlwZW9mIHRoaXMub3B0aW9ucy52aXJ0dWFsU2Nyb2xsPT0iZnVuY3Rpb24iJiZ0aGlzLm9wdGlvbnMudmlydHVhbFNjcm9sbChhKT09PSExKXJldHVybjtsZXR7ZGVsdGFYOmUsZGVsdGFZOnQsZXZlbnQ6cn09YTtpZih0aGlzLmVtaXR0ZXIuZW1pdCgidmlydHVhbC1zY3JvbGwiLHtkZWx0YVg6ZSxkZWx0YVk6dCxldmVudDpyfSksci5jdHJsS2V5fHxyLmxlbmlzU3RvcFByb3BhZ2F0aW9uKXJldHVybjtsZXQgaT1yLnR5cGUuaW5jbHVkZXMoInRvdWNoIiksbz1yLnR5cGUuaW5jbHVkZXMoIndoZWVsIik7dGhpcy5pc1RvdWNoaW5nPXIudHlwZT09PSJ0b3VjaHN0YXJ0Inx8ci50eXBlPT09InRvdWNobW92ZSI7bGV0IG49ZT09PTAmJnQ9PT0wO2lmKHRoaXMub3B0aW9ucy5zeW5jVG91Y2gmJmkmJnIudHlwZT09PSJ0b3VjaHN0YXJ0IiYmbiYmIXRoaXMuaXNTdG9wcGVkJiYhdGhpcy5pc0xvY2tlZCl7dGhpcy5yZXNldCgpO3JldHVybn1sZXQgZD10aGlzLm9wdGlvbnMuZ2VzdHVyZU9yaWVudGF0aW9uPT09InZlcnRpY2FsIiYmdD09PTB8fHRoaXMub3B0aW9ucy5nZXN0dXJlT3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCImJmU9PT0wO2lmKG58fGQpcmV0dXJuO2xldCBjPXIuY29tcG9zZWRQYXRoKCk7Yz1jLnNsaWNlKDAsYy5pbmRleE9mKHRoaXMucm9vdEVsZW1lbnQpKTtsZXQgcD10aGlzLm9wdGlvbnMucHJldmVudDtpZihjLmZpbmQoZz0+ZyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50JiYodHlwZW9mIHA9PSJmdW5jdGlvbiImJnA/LihnKXx8Zy5oYXNBdHRyaWJ1dGU/LigiZGF0YS1sZW5pcy1wcmV2ZW50Iil8fGkmJmcuaGFzQXR0cmlidXRlPy4oImRhdGEtbGVuaXMtcHJldmVudC10b3VjaCIpfHxvJiZnLmhhc0F0dHJpYnV0ZT8uKCJkYXRhLWxlbmlzLXByZXZlbnQtd2hlZWwiKXx8dGhpcy5vcHRpb25zLmFsbG93TmVzdGVkU2Nyb2xsJiZ0aGlzLmNoZWNrTmVzdGVkU2Nyb2xsKGcse2RlbHRhWDplLGRlbHRhWTp0fSkpKSlyZXR1cm47aWYodGhpcy5pc1N0b3BwZWR8fHRoaXMuaXNMb2NrZWQpe3IuY2FuY2VsYWJsZSYmci5wcmV2ZW50RGVmYXVsdCgpO3JldHVybn1pZighKHRoaXMub3B0aW9ucy5zeW5jVG91Y2gmJml8fHRoaXMub3B0aW9ucy5zbW9vdGhXaGVlbCYmbykpe3RoaXMuaXNTY3JvbGxpbmc9Im5hdGl2ZSIsdGhpcy5hbmltYXRlLnN0b3AoKSxyLmxlbmlzU3RvcFByb3BhZ2F0aW9uPSEwO3JldHVybn1sZXQgbT10O3RoaXMub3B0aW9ucy5nZXN0dXJlT3JpZW50YXRpb249PT0iYm90aCI/bT1NYXRoLmFicyh0KT5NYXRoLmFicyhlKT90OmU6dGhpcy5vcHRpb25zLmdlc3R1cmVPcmllbnRhdGlvbj09PSJob3Jpem9udGFsIiYmKG09ZSksKCF0aGlzLm9wdGlvbnMub3ZlcnNjcm9sbHx8dGhpcy5vcHRpb25zLmluZmluaXRlfHx0aGlzLm9wdGlvbnMud3JhcHBlciE9PXdpbmRvdyYmdGhpcy5saW1pdD4wJiYodGhpcy5hbmltYXRlZFNjcm9sbD4wJiZ0aGlzLmFuaW1hdGVkU2Nyb2xsPHRoaXMubGltaXR8fHRoaXMuYW5pbWF0ZWRTY3JvbGw9PT0wJiZ0PjB8fHRoaXMuYW5pbWF0ZWRTY3JvbGw9PT10aGlzLmxpbWl0JiZ0PDApKSYmKHIubGVuaXNTdG9wUHJvcGFnYXRpb249ITApLHIuY2FuY2VsYWJsZSYmci5wcmV2ZW50RGVmYXVsdCgpO2xldCB2PWkmJnRoaXMub3B0aW9ucy5zeW5jVG91Y2gsYj1pJiZyLnR5cGU9PT0idG91Y2hlbmQiO2ImJihtPU1hdGguc2lnbih0aGlzLnZlbG9jaXR5KSpNYXRoLnBvdyhNYXRoLmFicyh0aGlzLnZlbG9jaXR5KSx0aGlzLm9wdGlvbnMudG91Y2hJbmVydGlhRXhwb25lbnQpKSx0aGlzLnNjcm9sbFRvKHRoaXMudGFyZ2V0U2Nyb2xsK20se3Byb2dyYW1tYXRpYzohMSwuLi52P3tsZXJwOmI/dGhpcy5vcHRpb25zLnN5bmNUb3VjaExlcnA6MX06e2xlcnA6dGhpcy5vcHRpb25zLmxlcnAsZHVyYXRpb246dGhpcy5vcHRpb25zLmR1cmF0aW9uLGVhc2luZzp0aGlzLm9wdGlvbnMuZWFzaW5nfX0pfSwib25WaXJ0dWFsU2Nyb2xsIik7cmVzaXplKCl7dGhpcy5kaW1lbnNpb25zLnJlc2l6ZSgpLHRoaXMuYW5pbWF0ZWRTY3JvbGw9dGhpcy50YXJnZXRTY3JvbGw9dGhpcy5hY3R1YWxTY3JvbGwsdGhpcy5lbWl0KCl9ZW1pdCgpe3RoaXMuZW1pdHRlci5lbWl0KCJzY3JvbGwiLHRoaXMpfW9uTmF0aXZlU2Nyb2xsPXMoKCk9PntpZih0aGlzLl9yZXNldFZlbG9jaXR5VGltZW91dCE9PW51bGwmJihjbGVhclRpbWVvdXQodGhpcy5fcmVzZXRWZWxvY2l0eVRpbWVvdXQpLHRoaXMuX3Jlc2V0VmVsb2NpdHlUaW1lb3V0PW51bGwpLHRoaXMuX3ByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQpe3RoaXMuX3ByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQ9ITE7cmV0dXJufWlmKHRoaXMuaXNTY3JvbGxpbmc9PT0hMXx8dGhpcy5pc1Njcm9sbGluZz09PSJuYXRpdmUiKXtsZXQgYT10aGlzLmFuaW1hdGVkU2Nyb2xsO3RoaXMuYW5pbWF0ZWRTY3JvbGw9dGhpcy50YXJnZXRTY3JvbGw9dGhpcy5hY3R1YWxTY3JvbGwsdGhpcy5sYXN0VmVsb2NpdHk9dGhpcy52ZWxvY2l0eSx0aGlzLnZlbG9jaXR5PXRoaXMuYW5pbWF0ZWRTY3JvbGwtYSx0aGlzLmRpcmVjdGlvbj1NYXRoLnNpZ24odGhpcy5hbmltYXRlZFNjcm9sbC1hKSx0aGlzLmlzU3RvcHBlZHx8KHRoaXMuaXNTY3JvbGxpbmc9Im5hdGl2ZSIpLHRoaXMuZW1pdCgpLHRoaXMudmVsb2NpdHkhPT0wJiYodGhpcy5fcmVzZXRWZWxvY2l0eVRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMubGFzdFZlbG9jaXR5PXRoaXMudmVsb2NpdHksdGhpcy52ZWxvY2l0eT0wLHRoaXMuaXNTY3JvbGxpbmc9ITEsdGhpcy5lbWl0KCl9LDQwMCkpfX0sIm9uTmF0aXZlU2Nyb2xsIik7cmVzZXQoKXt0aGlzLmlzTG9ja2VkPSExLHRoaXMuaXNTY3JvbGxpbmc9ITEsdGhpcy5hbmltYXRlZFNjcm9sbD10aGlzLnRhcmdldFNjcm9sbD10aGlzLmFjdHVhbFNjcm9sbCx0aGlzLmxhc3RWZWxvY2l0eT10aGlzLnZlbG9jaXR5PTAsdGhpcy5hbmltYXRlLnN0b3AoKX1zdGFydCgpe2lmKHRoaXMuaXNTdG9wcGVkKXtpZih0aGlzLm9wdGlvbnMuYXV0b1RvZ2dsZSl7dGhpcy5yb290RWxlbWVudC5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgib3ZlcmZsb3ciKTtyZXR1cm59dGhpcy5pbnRlcm5hbFN0YXJ0KCl9fWludGVybmFsU3RhcnQoKXt0aGlzLmlzU3RvcHBlZCYmKHRoaXMucmVzZXQoKSx0aGlzLmlzU3RvcHBlZD0hMSx0aGlzLmVtaXQoKSl9c3RvcCgpe2lmKCF0aGlzLmlzU3RvcHBlZCl7aWYodGhpcy5vcHRpb25zLmF1dG9Ub2dnbGUpe3RoaXMucm9vdEVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoIm92ZXJmbG93IiwiY2xpcCIpO3JldHVybn10aGlzLmludGVybmFsU3RvcCgpfX1pbnRlcm5hbFN0b3AoKXt0aGlzLmlzU3RvcHBlZHx8KHRoaXMucmVzZXQoKSx0aGlzLmlzU3RvcHBlZD0hMCx0aGlzLmVtaXQoKSl9cmFmPXMoYT0+e2xldCBlPWEtKHRoaXMudGltZXx8YSk7dGhpcy50aW1lPWEsdGhpcy5hbmltYXRlLmFkdmFuY2UoZSouMDAxKSx0aGlzLm9wdGlvbnMuYXV0b1JhZiYmKHRoaXMuX3JhZklkPXJlcXVlc3RBbmltYXRpb25GcmFtZSh0aGlzLnJhZikpfSwicmFmIik7c2Nyb2xsVG8oYSx7b2Zmc2V0OmU9MCxpbW1lZGlhdGU6dD0hMSxsb2NrOnI9ITEscHJvZ3JhbW1hdGljOmk9ITAsbGVycDpvPWk/dGhpcy5vcHRpb25zLmxlcnA6dm9pZCAwLGR1cmF0aW9uOm49aT90aGlzLm9wdGlvbnMuZHVyYXRpb246dm9pZCAwLGVhc2luZzpsPWk/dGhpcy5vcHRpb25zLmVhc2luZzp2b2lkIDAsb25TdGFydDpkLG9uQ29tcGxldGU6Yyxmb3JjZTpwPSExLHVzZXJEYXRhOnV9PXt9KXtpZighKCh0aGlzLmlzU3RvcHBlZHx8dGhpcy5pc0xvY2tlZCkmJiFwKSl7aWYodHlwZW9mIGE9PSJzdHJpbmciJiZbInRvcCIsImxlZnQiLCJzdGFydCIsIiMiXS5pbmNsdWRlcyhhKSlhPTA7ZWxzZSBpZih0eXBlb2YgYT09InN0cmluZyImJlsiYm90dG9tIiwicmlnaHQiLCJlbmQiXS5pbmNsdWRlcyhhKSlhPXRoaXMubGltaXQ7ZWxzZXtsZXQgbTtpZih0eXBlb2YgYT09InN0cmluZyI/KG09ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhKSxtfHwoYT09PSIjdG9wIj9hPTA6Y29uc29sZS53YXJuKCJMZW5pczogVGFyZ2V0IG5vdCBmb3VuZCIsYSkpKTphIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQmJmE/Lm5vZGVUeXBlJiYobT1hKSxtKXtpZih0aGlzLm9wdGlvbnMud3JhcHBlciE9PXdpbmRvdyl7bGV0IHg9dGhpcy5yb290RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtlLT10aGlzLmlzSG9yaXpvbnRhbD94LmxlZnQ6eC50b3B9bGV0IHY9bS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTthPSh0aGlzLmlzSG9yaXpvbnRhbD92LmxlZnQ6di50b3ApK3RoaXMuYW5pbWF0ZWRTY3JvbGx9fWlmKHR5cGVvZiBhPT0ibnVtYmVyIil7aWYoYSs9ZSxhPU1hdGgucm91bmQoYSksdGhpcy5vcHRpb25zLmluZmluaXRlKXtpZihpKXt0aGlzLnRhcmdldFNjcm9sbD10aGlzLmFuaW1hdGVkU2Nyb2xsPXRoaXMuc2Nyb2xsO2xldCBtPWEtdGhpcy5hbmltYXRlZFNjcm9sbDttPnRoaXMubGltaXQvMj9hPWEtdGhpcy5saW1pdDptPC10aGlzLmxpbWl0LzImJihhPWErdGhpcy5saW1pdCl9fWVsc2UgYT1kbXQoMCxhLHRoaXMubGltaXQpO2lmKGE9PT10aGlzLnRhcmdldFNjcm9sbCl7ZD8uKHRoaXMpLGM/Lih0aGlzKTtyZXR1cm59aWYodGhpcy51c2VyRGF0YT11Pz97fSx0KXt0aGlzLmFuaW1hdGVkU2Nyb2xsPXRoaXMudGFyZ2V0U2Nyb2xsPWEsdGhpcy5zZXRTY3JvbGwodGhpcy5zY3JvbGwpLHRoaXMucmVzZXQoKSx0aGlzLnByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQoKSx0aGlzLmVtaXQoKSxjPy4odGhpcyksdGhpcy51c2VyRGF0YT17fSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLmRpc3BhdGNoU2Nyb2xsZW5kRXZlbnQoKX0pO3JldHVybn1pfHwodGhpcy50YXJnZXRTY3JvbGw9YSksdHlwZW9mIG49PSJudW1iZXIiJiZ0eXBlb2YgbCE9ImZ1bmN0aW9uIj9sPWZtdDp0eXBlb2YgbD09ImZ1bmN0aW9uIiYmdHlwZW9mIG4hPSJudW1iZXIiJiYobj0xKSx0aGlzLmFuaW1hdGUuZnJvbVRvKHRoaXMuYW5pbWF0ZWRTY3JvbGwsYSx7ZHVyYXRpb246bixlYXNpbmc6bCxsZXJwOm8sb25TdGFydDpzKCgpPT57ciYmKHRoaXMuaXNMb2NrZWQ9ITApLHRoaXMuaXNTY3JvbGxpbmc9InNtb290aCIsZD8uKHRoaXMpfSwib25TdGFydCIpLG9uVXBkYXRlOnMoKG0sdik9Pnt0aGlzLmlzU2Nyb2xsaW5nPSJzbW9vdGgiLHRoaXMubGFzdFZlbG9jaXR5PXRoaXMudmVsb2NpdHksdGhpcy52ZWxvY2l0eT1tLXRoaXMuYW5pbWF0ZWRTY3JvbGwsdGhpcy5kaXJlY3Rpb249TWF0aC5zaWduKHRoaXMudmVsb2NpdHkpLHRoaXMuYW5pbWF0ZWRTY3JvbGw9bSx0aGlzLnNldFNjcm9sbCh0aGlzLnNjcm9sbCksaSYmKHRoaXMudGFyZ2V0U2Nyb2xsPW0pLHZ8fHRoaXMuZW1pdCgpLHYmJih0aGlzLnJlc2V0KCksdGhpcy5lbWl0KCksYz8uKHRoaXMpLHRoaXMudXNlckRhdGE9e30scmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5kaXNwYXRjaFNjcm9sbGVuZEV2ZW50KCl9KSx0aGlzLnByZXZlbnROZXh0TmF0aXZlU2Nyb2xsRXZlbnQoKSl9LCJvblVwZGF0ZSIpfSl9fX1wcmV2ZW50TmV4dE5hdGl2ZVNjcm9sbEV2ZW50KCl7dGhpcy5fcHJldmVudE5leHROYXRpdmVTY3JvbGxFdmVudD0hMCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLl9wcmV2ZW50TmV4dE5hdGl2ZVNjcm9sbEV2ZW50PSExfSl9Y2hlY2tOZXN0ZWRTY3JvbGwoYSx7ZGVsdGFYOmUsZGVsdGFZOnR9KXtsZXQgcj1EYXRlLm5vdygpLGk9YS5fbGVuaXM/Pz17fSxvLG4sbCxkLGMscCx1LG0sdj10aGlzLm9wdGlvbnMuZ2VzdHVyZU9yaWVudGF0aW9uO2lmKHItKGkudGltZT8/MCk+MmUzKXtpLnRpbWU9RGF0ZS5ub3coKTtsZXQgXz13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShhKTtpLmNvbXB1dGVkU3R5bGU9XztsZXQgej1fLm92ZXJmbG93WCxPPV8ub3ZlcmZsb3dZO2lmKG89WyJhdXRvIiwib3ZlcmxheSIsInNjcm9sbCJdLmluY2x1ZGVzKHopLG49WyJhdXRvIiwib3ZlcmxheSIsInNjcm9sbCJdLmluY2x1ZGVzKE8pLGkuaGFzT3ZlcmZsb3dYPW8saS5oYXNPdmVyZmxvd1k9biwhbyYmIW58fHY9PT0idmVydGljYWwiJiYhbnx8dj09PSJob3Jpem9udGFsIiYmIW8pcmV0dXJuITE7Yz1hLnNjcm9sbFdpZHRoLHA9YS5zY3JvbGxIZWlnaHQsdT1hLmNsaWVudFdpZHRoLG09YS5jbGllbnRIZWlnaHQsbD1jPnUsZD1wPm0saS5pc1Njcm9sbGFibGVYPWwsaS5pc1Njcm9sbGFibGVZPWQsaS5zY3JvbGxXaWR0aD1jLGkuc2Nyb2xsSGVpZ2h0PXAsaS5jbGllbnRXaWR0aD11LGkuY2xpZW50SGVpZ2h0PW19ZWxzZSBsPWkuaXNTY3JvbGxhYmxlWCxkPWkuaXNTY3JvbGxhYmxlWSxvPWkuaGFzT3ZlcmZsb3dYLG49aS5oYXNPdmVyZmxvd1ksYz1pLnNjcm9sbFdpZHRoLHA9aS5zY3JvbGxIZWlnaHQsdT1pLmNsaWVudFdpZHRoLG09aS5jbGllbnRIZWlnaHQ7aWYoIW8mJiFufHwhbCYmIWR8fHY9PT0idmVydGljYWwiJiYoIW58fCFkKXx8dj09PSJob3Jpem9udGFsIiYmKCFvfHwhbCkpcmV0dXJuITE7bGV0IHg7aWYodj09PSJob3Jpem9udGFsIil4PSJ4IjtlbHNlIGlmKHY9PT0idmVydGljYWwiKXg9InkiO2Vsc2V7bGV0IF89ZSE9PTAsej10IT09MDtfJiZvJiZsJiYoeD0ieCIpLHomJm4mJmQmJih4PSJ5Iil9aWYoIXgpcmV0dXJuITE7bGV0IGIsZyx5LGssQztpZih4PT09IngiKWI9YS5zY3JvbGxMZWZ0LGc9Yy11LHk9ZSxrPW8sQz1sO2Vsc2UgaWYoeD09PSJ5IiliPWEuc2Nyb2xsVG9wLGc9cC1tLHk9dCxrPW4sQz1kO2Vsc2UgcmV0dXJuITE7cmV0dXJuKHk+MD9iPGc6Yj4wKSYmayYmQ31nZXQgcm9vdEVsZW1lbnQoKXtyZXR1cm4gdGhpcy5vcHRpb25zLndyYXBwZXI9PT13aW5kb3c/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OnRoaXMub3B0aW9ucy53cmFwcGVyfWdldCBsaW1pdCgpe3JldHVybiB0aGlzLm9wdGlvbnMubmFpdmVEaW1lbnNpb25zP3RoaXMuaXNIb3Jpem9udGFsP3RoaXMucm9vdEVsZW1lbnQuc2Nyb2xsV2lkdGgtdGhpcy5yb290RWxlbWVudC5jbGllbnRXaWR0aDp0aGlzLnJvb3RFbGVtZW50LnNjcm9sbEhlaWdodC10aGlzLnJvb3RFbGVtZW50LmNsaWVudEhlaWdodDp0aGlzLmRpbWVuc2lvbnMubGltaXRbdGhpcy5pc0hvcml6b250YWw/IngiOiJ5Il19Z2V0IGlzSG9yaXpvbnRhbCgpe3JldHVybiB0aGlzLm9wdGlvbnMub3JpZW50YXRpb249PT0iaG9yaXpvbnRhbCJ9Z2V0IGFjdHVhbFNjcm9sbCgpe2xldCBhPXRoaXMub3B0aW9ucy53cmFwcGVyO3JldHVybiB0aGlzLmlzSG9yaXpvbnRhbD9hLnNjcm9sbFg/P2Euc2Nyb2xsTGVmdDphLnNjcm9sbFk/P2Euc2Nyb2xsVG9wfWdldCBzY3JvbGwoKXtyZXR1cm4gdGhpcy5vcHRpb25zLmluZmluaXRlP0Z6YSh0aGlzLmFuaW1hdGVkU2Nyb2xsLHRoaXMubGltaXQpOnRoaXMuYW5pbWF0ZWRTY3JvbGx9Z2V0IHByb2dyZXNzKCl7cmV0dXJuIHRoaXMubGltaXQ9PT0wPzE6dGhpcy5zY3JvbGwvdGhpcy5saW1pdH1nZXQgaXNTY3JvbGxpbmcoKXtyZXR1cm4gdGhpcy5faXNTY3JvbGxpbmd9c2V0IGlzU2Nyb2xsaW5nKGEpe3RoaXMuX2lzU2Nyb2xsaW5nIT09YSYmKHRoaXMuX2lzU2Nyb2xsaW5nPWEsdGhpcy51cGRhdGVDbGFzc05hbWUoKSl9Z2V0IGlzU3RvcHBlZCgpe3JldHVybiB0aGlzLl9pc1N0b3BwZWR9c2V0IGlzU3RvcHBlZChhKXt0aGlzLl9pc1N0b3BwZWQhPT1hJiYodGhpcy5faXNTdG9wcGVkPWEsdGhpcy51cGRhdGVDbGFzc05hbWUoKSl9Z2V0IGlzTG9ja2VkKCl7cmV0dXJuIHRoaXMuX2lzTG9ja2VkfXNldCBpc0xvY2tlZChhKXt0aGlzLl9pc0xvY2tlZCE9PWEmJih0aGlzLl9pc0xvY2tlZD1hLHRoaXMudXBkYXRlQ2xhc3NOYW1lKCkpfWdldCBpc1Ntb290aCgpe3JldHVybiB0aGlzLmlzU2Nyb2xsaW5nPT09InNtb290aCJ9Z2V0IGNsYXNzTmFtZSgpe2xldCBhPSJsZW5pcyI7cmV0dXJuIHRoaXMub3B0aW9ucy5hdXRvVG9nZ2xlJiYoYSs9IiBsZW5pcy1hdXRvVG9nZ2xlIiksdGhpcy5pc1N0b3BwZWQmJihhKz0iIGxlbmlzLXN0b3BwZWQiKSx0aGlzLmlzTG9ja2VkJiYoYSs9IiBsZW5pcy1sb2NrZWQiKSx0aGlzLmlzU2Nyb2xsaW5nJiYoYSs9IiBsZW5pcy1zY3JvbGxpbmciKSx0aGlzLmlzU2Nyb2xsaW5nPT09InNtb290aCImJihhKz0iIGxlbmlzLXNtb290aCIpLGF9dXBkYXRlQ2xhc3NOYW1lKCl7dGhpcy5jbGVhblVwQ2xhc3NOYW1lKCksdGhpcy5yb290RWxlbWVudC5jbGFzc05hbWU9YCR7dGhpcy5yb290RWxlbWVudC5jbGFzc05hbWV9ICR7dGhpcy5jbGFzc05hbWV9YC50cmltKCl9Y2xlYW5VcENsYXNzTmFtZSgpe3RoaXMucm9vdEVsZW1lbnQuY2xhc3NOYW1lPXRoaXMucm9vdEVsZW1lbnQuY2xhc3NOYW1lLnJlcGxhY2UoL2xlbmlzKC1cdyspPy9nLCIiKS50cmltKCl9fX0pO3ZhciBtbXQ9Ym8oKHY2ZSx4NmUpPT57KGZ1bmN0aW9uKGEsZSl7dHlwZW9mIHY2ZT09Im9iamVjdCImJnR5cGVvZiB4NmU8InUiP3g2ZS5leHBvcnRzPWUoKTp0eXBlb2YgZGVmaW5lPT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kP2RlZmluZShlKTooYT1hfHxzZWxmLGEuU3dlZXRTY3JvbGw9ZSgpKX0pKHY2ZSxmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgYT1zKGZ1bmN0aW9uKCl7cmV0dXJuIGE9T2JqZWN0LmFzc2lnbnx8cyhmdW5jdGlvbihYKXtmb3IodmFyIEosWj0xLGdlPWFyZ3VtZW50cy5sZW5ndGg7WjxnZTtaKyspe0o9YXJndW1lbnRzW1pdO2Zvcih2YXIgYWUgaW4gSilPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoSixhZSkmJihYW2FlXT1KW2FlXSl9cmV0dXJuIFh9LCJfX2Fzc2lnbiIpLGEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSwiX19hc3NpZ24iKSxlPSEhKHR5cGVvZiB3aW5kb3c8InUiJiZ3aW5kb3cuZG9jdW1lbnQmJndpbmRvdy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KSx0PWU/d2luZG93Lmhpc3RvcnkmJiJwdXNoU3RhdGUiaW4gd2luZG93Lmhpc3RvcnkmJndpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCE9PSJmaWxlOiI6ITEscj0oZnVuY3Rpb24oKXt2YXIgWT0hMTtpZighZSlyZXR1cm4gWTt0cnl7dmFyIFg9d2luZG93LEo9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJwYXNzaXZlIix7Z2V0OnMoZnVuY3Rpb24oKXtZPSEwfSwiZ2V0Iil9KTtYLmFkZEV2ZW50TGlzdGVuZXIoInRlc3QiLG51bGwsSiksWC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0ZXN0IixudWxsLEopfWNhdGNoe31yZXR1cm4gWX0pKCksaT1zKGZ1bmN0aW9uKFkpe3JldHVybiB0eXBlb2YgWT09InN0cmluZyJ9LCJpc1N0cmluZyIpLG89cyhmdW5jdGlvbihZKXtyZXR1cm4gdHlwZW9mIFk9PSJmdW5jdGlvbiJ9LCJpc0Z1bmN0aW9uIiksbj1zKGZ1bmN0aW9uKFkpe3JldHVybiBBcnJheS5pc0FycmF5KFkpfSwiaXNBcnJheSIpLGw9cyhmdW5jdGlvbihZKXtyZXR1cm4hbihZKSYmWS1wYXJzZUZsb2F0KFkpKzE+PTB9LCJpc051bWVyaWMiKSxkPXMoZnVuY3Rpb24oWSxYKXtyZXR1cm4gWSYmWS5oYXNPd25Qcm9wZXJ0eShYKX0sImhhc1Byb3AiKSxjPWU/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZS5iaW5kKHdpbmRvdyk6bnVsbCxwPWU/d2luZG93LmNhbmNlbEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KTpudWxsLHU9TWF0aC5jb3MsbT1NYXRoLnNpbix2PU1hdGgucG93LHg9TWF0aC5zcXJ0LGI9TWF0aC5QSSxnPXtsaW5lYXI6cyhmdW5jdGlvbihZKXtyZXR1cm4gWX0sImxpbmVhciIpLGVhc2VJblF1YWQ6cyhmdW5jdGlvbihZLFgsSixaLGdlKXtyZXR1cm4gWiooWC89Z2UpKlgrSn0sImVhc2VJblF1YWQiKSxlYXNlT3V0UXVhZDpzKGZ1bmN0aW9uKFksWCxKLFosZ2Upe3JldHVybi1aKihYLz1nZSkqKFgtMikrSn0sImVhc2VPdXRRdWFkIiksZWFzZUluT3V0UXVhZDpzKGZ1bmN0aW9uKFksWCxKLFosZ2Upe3JldHVybihYLz1nZS8yKTwxP1ovMipYKlgrSjotWi8yKigtLVgqKFgtMiktMSkrSn0sImVhc2VJbk91dFF1YWQiKSxlYXNlSW5DdWJpYzpzKGZ1bmN0aW9uKFksWCxKLFosZ2Upe3JldHVybiBaKihYLz1nZSkqWCpYK0p9LCJlYXNlSW5DdWJpYyIpLGVhc2VPdXRDdWJpYzpzKGZ1bmN0aW9uKFksWCxKLFosZ2Upe3JldHVybiBaKigoWD1YL2dlLTEpKlgqWCsxKStKfSwiZWFzZU91dEN1YmljIiksZWFzZUluT3V0Q3ViaWM6cyhmdW5jdGlvbihZLFgsSixaLGdlKXtyZXR1cm4oWC89Z2UvMik8MT9aLzIqWCpYKlgrSjpaLzIqKChYLT0yKSpYKlgrMikrSn0sImVhc2VJbk91dEN1YmljIiksZWFzZUluUXVhcnQ6cyhmdW5jdGlvbihZLFgsSixaLGdlKXtyZXR1cm4gWiooWC89Z2UpKlgqWCpYK0p9LCJlYXNlSW5RdWFydCIpLGVhc2VPdXRRdWFydDpzKGZ1bmN0aW9uKFksWCxKLFosZ2Upe3JldHVybi1aKigoWD1YL2dlLTEpKlgqWCpYLTEpK0p9LCJlYXNlT3V0UXVhcnQiKSxlYXNlSW5PdXRRdWFydDpzKGZ1bmN0aW9uKFksWCxKLFosZ2Upe3JldHVybihYLz1nZS8yKTwxP1ovMipYKlgqWCpYK0o6LVovMiooKFgtPTIpKlgqWCpYLTIpK0p9LCJlYXNlSW5PdXRRdWFydCIpLGVhc2VJblF1aW50OnMoZnVuY3Rpb24oWSxYLEosWixnZSl7cmV0dXJuIFoqKFgvPWdlKSpYKlgqWCpYK0p9LCJlYXNlSW5RdWludCIpLGVhc2VPdXRRdWludDpzKGZ1bmN0aW9uKFksWCxKLFosZ2Upe3JldHVybiBaKigoWD1YL2dlLTEpKlgqWCpYKlgrMSkrSn0sImVhc2VPdXRRdWludCIpLGVhc2VJbk91dFF1aW50OnMoZnVuY3Rpb24oWSxYLEosWixnZSl7cmV0dXJuKFgvPWdlLzIpPDE/Wi8yKlgqWCpYKlgqWCtKOlovMiooKFgtPTIpKlgqWCpYKlgrMikrSn0sImVhc2VJbk91dFF1aW50IiksZWFzZUluU2luZTpzKGZ1bmN0aW9uKFksWCxKLFosZ2Upe3JldHVybi1aKnUoWC9nZSooYi8yKSkrWitKfSwiZWFzZUluU2luZSIpLGVhc2VPdXRTaW5lOnMoZnVuY3Rpb24oWSxYLEosWixnZSl7cmV0dXJuIFoqbShYL2dlKihiLzIpKStKfSwiZWFzZU91dFNpbmUiKSxlYXNlSW5PdXRTaW5lOnMoZnVuY3Rpb24oWSxYLEosWixnZSl7cmV0dXJuLVovMioodShiKlgvZ2UpLTEpK0p9LCJlYXNlSW5PdXRTaW5lIiksZWFzZUluRXhwbzpzKGZ1bmN0aW9uKFksWCxKLFosZ2Upe3JldHVybiBYPT09MD9KOloqdigyLDEwKihYL2dlLTEpKStKfSwiZWFzZUluRXhwbyIpLGVhc2VPdXRFeHBvOnMoZnVuY3Rpb24oWSxYLEosWixnZSl7cmV0dXJuIFg9PT1nZT9KK1o6WiooLXYoMiwtMTAqWC9nZSkrMSkrSn0sImVhc2VPdXRFeHBvIiksZWFzZUluT3V0RXhwbzpzKGZ1bmN0aW9uKFksWCxKLFosZ2Upe3JldHVybiBYPT09MD9KOlg9PT1nZT9KK1o6KFgvPWdlLzIpPDE/Wi8yKnYoMiwxMCooWC0xKSkrSjpaLzIqKC12KDIsLTEwKi0tWCkrMikrSn0sImVhc2VJbk91dEV4cG8iKSxlYXNlSW5DaXJjOnMoZnVuY3Rpb24oWSxYLEosWixnZSl7cmV0dXJuLVoqKHgoMS0oWC89Z2UpKlgpLTEpK0p9LCJlYXNlSW5DaXJjIiksZWFzZU91dENpcmM6cyhmdW5jdGlvbihZLFgsSixaLGdlKXtyZXR1cm4gWip4KDEtKFg9WC9nZS0xKSpYKStKfSwiZWFzZU91dENpcmMiKSxlYXNlSW5PdXRDaXJjOnMoZnVuY3Rpb24oWSxYLEosWixnZSl7cmV0dXJuKFgvPWdlLzIpPDE/LVovMiooeCgxLVgqWCktMSkrSjpaLzIqKHgoMS0oWC09MikqWCkrMSkrSn0sImVhc2VJbk91dENpcmMiKX0seT1zKGZ1bmN0aW9uKFkpe3JldHVybiBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChZP2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoWSk6W10pfSwiJCQiKSxrPXMoZnVuY3Rpb24oWSl7cmV0dXJuIHkoWSkuc2hpZnQoKXx8bnVsbH0sIiQiKSxDPXMoZnVuY3Rpb24oWSl7cmV0dXJuIFkgaW5zdGFuY2VvZiBFbGVtZW50fSwiaXNFbGVtZW50IiksTj1zKGZ1bmN0aW9uKFkpe3JldHVybiBZPT09d2luZG93fSwiaXNXaW5kb3ciKSxfPXMoZnVuY3Rpb24oWSl7cmV0dXJuIFk9PT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnR8fFk9PT1kb2N1bWVudC5ib2R5fSwiaXNSb290Q29udGFpbmVyIiksej1zKGZ1bmN0aW9uKFksWCl7aWYoQyhYKSlyZXR1cm4gWT09PVg7Zm9yKHZhciBKPXkoWCksWj1KLmxlbmd0aDstLVo+PTAmJkpbWl0hPT1ZOyk7cmV0dXJuIFo+LTF9LCJtYXRjaGVzIiksTz1zKGZ1bmN0aW9uKFkpe3JldHVybiBNYXRoLm1heChZLnNjcm9sbEhlaWdodCxZLmNsaWVudEhlaWdodCxZLm9mZnNldEhlaWdodCl9LCJnZXRIZWlnaHQiKSxUPXMoZnVuY3Rpb24oWSl7cmV0dXJuIE1hdGgubWF4KFkuc2Nyb2xsV2lkdGgsWS5jbGllbnRXaWR0aCxZLm9mZnNldFdpZHRoKX0sImdldFdpZHRoIiksRT1zKGZ1bmN0aW9uKFkpe3JldHVybnt3aWR0aDpUKFkpLGhlaWdodDpPKFkpfX0sImdldFNpemUiKSxCPXMoZnVuY3Rpb24oWSl7dmFyIFg9TihZKXx8XyhZKTtyZXR1cm57dmlld3BvcnQ6e3dpZHRoOlg/TWF0aC5taW4od2luZG93LmlubmVyV2lkdGgsZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoKTpZLmNsaWVudFdpZHRoLGhlaWdodDpYP3dpbmRvdy5pbm5lckhlaWdodDpZLmNsaWVudEhlaWdodH0sc2l6ZTpYP3t3aWR0aDpNYXRoLm1heChUKGRvY3VtZW50LmJvZHkpLFQoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KSksaGVpZ2h0Ok1hdGgubWF4KE8oZG9jdW1lbnQuYm9keSksTyhkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpKX06RShZKX19LCJnZXRWaWV3cG9ydEFuZEVsZW1lbnRTaXplcyIpLE09e3k6InNjcm9sbFRvcCIseDoic2Nyb2xsTGVmdCJ9LFM9e3k6InBhZ2VZT2Zmc2V0Iix4OiJwYWdlWE9mZnNldCJ9LFA9cyhmdW5jdGlvbihZLFgpe3JldHVybiBOKFkpP1lbU1tYXV06WVtNW1hdXX0sImdldFNjcm9sbCIpLEE9cyhmdW5jdGlvbihZLFgsSil7aWYoTihZKSl7dmFyIFo9Sj09PSJ5IjtZLnNjcm9sbFRvKFo/WS5wYWdlWE9mZnNldDpYLFo/WDpZLnBhZ2VZT2Zmc2V0KX1lbHNlIFlbTVtKXV09WH0sInNldFNjcm9sbCIpLEY9cyhmdW5jdGlvbihZLFgpe3ZhciBKPVkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoSi53aWR0aHx8Si5oZWlnaHQpe3ZhciBaPXt0b3A6MCxsZWZ0OjB9LGdlPXZvaWQgMDtpZihOKFgpfHxfKFgpKWdlPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxaLnRvcD13aW5kb3dbUy55XSxaLmxlZnQ9d2luZG93W1MueF07ZWxzZXtnZT1YO3ZhciBhZT1nZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtaLnRvcD1hZS50b3AqLTErZ2VbTS55XSxaLmxlZnQ9YWUubGVmdCotMStnZVtNLnhdfXJldHVybnt0b3A6Si50b3ArWi50b3AtZ2UuY2xpZW50VG9wLGxlZnQ6Si5sZWZ0K1oubGVmdC1nZS5jbGllbnRMZWZ0fX1yZXR1cm4gSn0sImdldE9mZnNldCIpLFc9KGZ1bmN0aW9uKCl7cmV0dXJuIGU/Im9ud2hlZWwiaW4gZG9jdW1lbnQ/IndoZWVsIjoibW91c2V3aGVlbCI6IndoZWVsIn0pKCksaj1zKGZ1bmN0aW9uKFkpe3JldHVybiBZPT09IndoZWVsIj9XOll9LCJldmVudE5hbWUiKSxHPXMoZnVuY3Rpb24oWSxYLEosWixnZSl7Si5zcGxpdCgiICIpLmZvckVhY2goZnVuY3Rpb24oYWUpe1lbWF0oaihhZSksWixyP3twYXNzaXZlOmdlfTohMSl9KX0sImFwcGx5IiksaGU9cyhmdW5jdGlvbihZLFgsSixaKXtyZXR1cm4gRyhZLCJhZGRFdmVudExpc3RlbmVyIixYLEosWil9LCJhZGRFdmVudCIpLFI9cyhmdW5jdGlvbihZLFgsSixaKXtyZXR1cm4gRyhZLCJyZW1vdmVFdmVudExpc3RlbmVyIixYLEosWil9LCJyZW1vdmVFdmVudCIpLFU9L14oXCt8LSk9KFxkKyg/OlwuXGQrKT8pJC8sbWU9cyhmdW5jdGlvbihZLFgpe3ZhciBKPXt0b3A6MCxsZWZ0OjAscmVsYXRpdmU6ITF9O2lmKGQoWSwidG9wIil8fGQoWSwibGVmdCIpKUo9YSh7fSxKLFkpO2Vsc2UgaWYobihZKSlpZihZLmxlbmd0aD4xKUoudG9wPVlbMF0sSi5sZWZ0PVlbMV07ZWxzZSBpZihZLmxlbmd0aD09PTEpSi50b3A9WD9ZWzBdOjAsSi5sZWZ0PVg/MDpZWzBdO2Vsc2UgcmV0dXJuIG51bGw7ZWxzZSBpZihsKFkpKVg/Si50b3A9WTpKLmxlZnQ9WTtlbHNlIGlmKGkoWSkpe3ZhciBaPVkudHJpbSgpLm1hdGNoKFUpO2lmKCFaKXJldHVybiBudWxsO3ZhciBnZT1aWzFdLGFlPXBhcnNlSW50KFpbMl0sMTApO2dlPT09IisiPyhKLnRvcD1YP2FlOjAsSi5sZWZ0PVg/MDphZSk6KEoudG9wPVg/LWFlOjAsSi5sZWZ0PVg/MDotYWUpLEoucmVsYXRpdmU9ITB9ZWxzZSByZXR1cm4gbnVsbDtyZXR1cm4gSn0sInBhcnNlQ29vcmRpbmF0ZSIpLEk9e3RyaWdnZXI6IltkYXRhLXNjcm9sbF0iLGhlYWRlcjoiW2RhdGEtc2Nyb2xsLWhlYWRlcl0iLGR1cmF0aW9uOjFlMyxlYXNpbmc6ImVhc2VPdXRRdWludCIsb2Zmc2V0OjAsdmVydGljYWw6ITAsaG9yaXpvbnRhbDohMSxjYW5jZWxsYWJsZTohMCx1cGRhdGVVUkw6ITEscHJldmVudERlZmF1bHQ6ITAsc3RvcFByb3BhZ2F0aW9uOiEwLGJlZm9yZTpudWxsLGFmdGVyOm51bGwsY2FuY2VsOm51bGwsY29tcGxldGU6bnVsbCxzdGVwOm51bGx9LHE9ImNsaWNrIixjZT0id2hlZWwgdG91Y2hzdGFydCB0b3VjaG1vdmUiLHVlPShmdW5jdGlvbigpe2Z1bmN0aW9uIFkoWCxKKXt2YXIgWj10aGlzO3RoaXMuJGVsPW51bGwsdGhpcy5jdHg9eyR0cmlnZ2VyOm51bGwsb3B0czpudWxsLHByb2dyZXNzOiExLHBvczpudWxsLHN0YXJ0UG9zOm51bGwsZWFzaW5nOm51bGwsc3RhcnQ6MCxpZDowLGNhbmNlbDohMSxoYXNoOm51bGx9LHRoaXMubG9vcD1mdW5jdGlvbihhZSl7dmFyIHJlPVoseWU9cmUuJGVsLFY9cmUuY3R4O2lmKFYuc3RhcnR8fChWLnN0YXJ0PWFlKSwhVi5wcm9ncmVzc3x8IXllKXtaLnN0b3AoKTtyZXR1cm59dmFyIEg9Vi5vcHRzLG9lPVYucG9zLHNlPVYuc3RhcnQsdGU9Vi5zdGFydFBvcyx6ZT1WLmVhc2luZyxPZT1ILmR1cmF0aW9uLHFlPXt0b3A6InkiLGxlZnQ6IngifSxjdD1hZS1zZSwkZT1NYXRoLm1pbigxLE1hdGgubWF4KGN0L09lLDApKTtPYmplY3Qua2V5cyhvZSkuZm9yRWFjaChmdW5jdGlvbihDZSl7dmFyIE1lPW9lW0NlXSxkZT10ZVtDZV0sdmU9TWUtZGU7aWYodmUhPT0wKXt2YXIgQWU9emUoJGUsT2UqJGUsMCwxLE9lKTtBKHllLE1hdGgucm91bmQoZGUrdmUqQWUpLHFlW0NlXSl9fSksY3Q8PU9lPyhaLmhvb2soSCwic3RlcCIsJGUpLFYuaWQ9WS5yYWYoWi5sb29wKSk6Wi5zdG9wKCEwKX0sdGhpcy5oYW5kbGVDbGljaz1mdW5jdGlvbihhZSl7Zm9yKHZhciByZT1aLm9wdHMseWU9YWUudGFyZ2V0O3llJiZ5ZSE9PWRvY3VtZW50O3llPXllLnBhcmVudE5vZGUpaWYoeih5ZSxyZS50cmlnZ2VyKSl7dmFyIFY9SlNPTi5wYXJzZSh5ZS5nZXRBdHRyaWJ1dGUoImRhdGEtc2Nyb2xsLW9wdGlvbnMiKXx8Int9IiksSD15ZS5nZXRBdHRyaWJ1dGUoImRhdGEtc2Nyb2xsIiksb2U9SHx8eWUuZ2V0QXR0cmlidXRlKCJocmVmIiksc2U9YSh7fSxyZSxWKSx0ZT1zZS5wcmV2ZW50RGVmYXVsdCx6ZT1zZS5zdG9wUHJvcGFnYXRpb24sT2U9c2UudmVydGljYWwscWU9c2UuaG9yaXpvbnRhbDt0ZSYmYWUucHJldmVudERlZmF1bHQoKSx6ZSYmYWUuc3RvcFByb3BhZ2F0aW9uKCksWi5jdHguJHRyaWdnZXI9eWUscWUmJk9lP1oudG8ob2Usc2UpOk9lP1oudG9Ub3Aob2Usc2UpOnFlJiZaLnRvTGVmdChvZSxzZSk7YnJlYWt9fSx0aGlzLmhhbmRsZVN0b3A9ZnVuY3Rpb24oYWUpe3ZhciByZT1aLmN0eCx5ZT1yZS5vcHRzO3llJiZ5ZS5jYW5jZWxsYWJsZT8ocmUuY2FuY2VsPSEwLFouc3RvcCgpKTphZS5wcmV2ZW50RGVmYXVsdCgpfSx0aGlzLm9wdHM9YSh7fSxJLFh8fHt9KTt2YXIgZ2U9bnVsbDtlJiYodHlwZW9mIEo9PSJzdHJpbmciP2dlPWsoSik6SiE9bnVsbD9nZT1KOmdlPXdpbmRvdyksdGhpcy4kZWw9Z2UsZ2UmJnRoaXMuYmluZCghMCwhMSl9cmV0dXJuIHMoWSwiU3dlZXRTY3JvbGwiKSxZLmNyZWF0ZT1mdW5jdGlvbihYLEope3JldHVybiBuZXcgWShYLEopfSxZLnByb3RvdHlwZS50bz1mdW5jdGlvbihYLEope2lmKGUpe3ZhciBaPXRoaXMsZ2U9Wi4kZWwsYWU9Wi5jdHgscmU9Wi5vcHRzLHllPWFlLiR0cmlnZ2VyLFY9YSh7fSxyZSxKfHx7fSksSD1WLm9mZnNldCxvZT1WLnZlcnRpY2FsLHNlPVYuaG9yaXpvbnRhbCx0ZT1DKFYuaGVhZGVyKT9WLmhlYWRlcjprKFYuaGVhZGVyKSx6ZT0vXiMvLE9lPWkoWCkmJnplLnRlc3QoWCk/WDpudWxsO2lmKGFlLm9wdHM9VixhZS5jYW5jZWw9ITEsYWUuaGFzaD1PZSx0aGlzLnN0b3AoKSwhIWdlKXt2YXIgcWU9bWUoSCxvZSksY3Q9bWUoWCxvZSksJGU9e3RvcDowLGxlZnQ6MH07aWYoY3QpaWYoY3QucmVsYXRpdmUpe3ZhciBDZT1QKGdlLG9lPyJ5IjoieCIpOyRlLnRvcD1vZT9DZStjdC50b3A6Y3QudG9wLCRlLmxlZnQ9b2U/Y3QubGVmdDpDZStjdC5sZWZ0fWVsc2UgJGU9Y3Q7ZWxzZSBpZihpKFgpJiZYIT09IiMiKXt2YXIgTWU9ayhYKTtpZighTWUpcmV0dXJuOyRlPUYoTWUsZ2UpfXFlJiYoJGUudG9wKz1xZS50b3AsJGUubGVmdCs9cWUubGVmdCksdGUmJigkZS50b3A9TWF0aC5tYXgoMCwkZS50b3AtRSh0ZSkuaGVpZ2h0KSk7dmFyIGRlPUIoZ2UpLHZlPWRlLnZpZXdwb3J0LEFlPWRlLnNpemU7aWYoJGUudG9wPW9lP01hdGgubWF4KDAsTWF0aC5taW4oQWUuaGVpZ2h0LXZlLmhlaWdodCwkZS50b3ApKTpQKGdlLCJ5IiksJGUubGVmdD1zZT9NYXRoLm1heCgwLE1hdGgubWluKEFlLndpZHRoLXZlLndpZHRoLCRlLmxlZnQpKTpQKGdlLCJ4IiksdGhpcy5ob29rKFYsImJlZm9yZSIsJGUseWUpPT09ITEpe2FlLm9wdHM9bnVsbDtyZXR1cm59YWUucG9zPSRlLHRoaXMuc3RhcnQoViksdGhpcy5iaW5kKCExLCEwKX19fSxZLnByb3RvdHlwZS50b1RvcD1mdW5jdGlvbihYLEope3RoaXMudG8oWCxhKHt9LEp8fHt9LHt2ZXJ0aWNhbDohMCxob3Jpem9udGFsOiExfSkpfSxZLnByb3RvdHlwZS50b0xlZnQ9ZnVuY3Rpb24oWCxKKXt0aGlzLnRvKFgsYSh7fSxKfHx7fSx7dmVydGljYWw6ITEsaG9yaXpvbnRhbDohMH0pKX0sWS5wcm90b3R5cGUudG9FbGVtZW50PWZ1bmN0aW9uKFgsSil7dmFyIFo9dGhpcy4kZWw7IWV8fCFafHx0aGlzLnRvKEYoWCxaKSxKfHx7fSl9LFkucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oWCl7WD09PXZvaWQgMCYmKFg9ITEpO3ZhciBKPXRoaXMsWj1KLiRlbCxnZT1KLmN0eCxhZT1nZS5wb3M7IVp8fCFnZS5wcm9ncmVzc3x8KFkuY2FmKGdlLmlkKSxnZS5wcm9ncmVzcz0hMSxnZS5zdGFydD0wLGdlLmlkPTAsWCYmYWUmJihBKFosYWUubGVmdCwieCIpLEEoWixhZS50b3AsInkiKSksdGhpcy5jb21wbGV0ZSgpKX0sWS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKFgpe2lmKHRoaXMuJGVsKXt2YXIgSj1hKHt9LHRoaXMub3B0cyxYKTt0aGlzLnN0b3AoKSx0aGlzLnVuYmluZCghMCwhMCksdGhpcy5vcHRzPUosdGhpcy5iaW5kKCEwLCExKX19LFkucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLiRlbCYmKHRoaXMuc3RvcCgpLHRoaXMudW5iaW5kKCEwLCEwKSx0aGlzLiRlbD1udWxsKX0sWS5wcm90b3R5cGUub25CZWZvcmU9ZnVuY3Rpb24oWCxKKXtyZXR1cm4hMH0sWS5wcm90b3R5cGUub25TdGVwPWZ1bmN0aW9uKFgpe30sWS5wcm90b3R5cGUub25BZnRlcj1mdW5jdGlvbihYLEope30sWS5wcm90b3R5cGUub25DYW5jZWw9ZnVuY3Rpb24oKXt9LFkucHJvdG90eXBlLm9uQ29tcGxldGU9ZnVuY3Rpb24oWCl7fSxZLnByb3RvdHlwZS5zdGFydD1mdW5jdGlvbihYKXt2YXIgSj10aGlzLmN0eDtKLm9wdHM9WCxKLnByb2dyZXNzPSEwLEouZWFzaW5nPW8oWC5lYXNpbmcpP1guZWFzaW5nOmdbWC5lYXNpbmddO3ZhciBaPXRoaXMuJGVsLGdlPXt0b3A6UChaLCJ5IiksbGVmdDpQKFosIngiKX07Si5zdGFydFBvcz1nZSxKLmlkPVkucmFmKHRoaXMubG9vcCl9LFkucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dmFyIFg9dGhpcyxKPVguJGVsLFo9WC5jdHgsZ2U9Wi5oYXNoLGFlPVouY2FuY2VsLHJlPVoub3B0cyx5ZT1aLnBvcyxWPVouJHRyaWdnZXI7aWYoISghSnx8IXJlKSl7aWYoZ2UhPW51bGwmJmdlIT09d2luZG93LmxvY2F0aW9uLmhhc2gpe3ZhciBIPXJlLnVwZGF0ZVVSTDtlJiZ0JiZIIT09ITEmJndpbmRvdy5oaXN0b3J5W0g9PT0icmVwbGFjZSI/InJlcGxhY2VTdGF0ZSI6InB1c2hTdGF0ZSJdKG51bGwsIiIsZ2UpfXRoaXMudW5iaW5kKCExLCEwKSxaLm9wdHM9bnVsbCxaLiR0cmlnZ2VyPW51bGwsYWU/dGhpcy5ob29rKHJlLCJjYW5jZWwiKTp0aGlzLmhvb2socmUsImFmdGVyIix5ZSxWKSx0aGlzLmhvb2socmUsImNvbXBsZXRlIixhZSl9fSxZLnByb3RvdHlwZS5ob29rPWZ1bmN0aW9uKFgsSil7Zm9yKHZhciBaPVtdLGdlPTI7Z2U8YXJndW1lbnRzLmxlbmd0aDtnZSsrKVpbZ2UtMl09YXJndW1lbnRzW2dlXTt2YXIgYWUscmU9WFtKXSx5ZSxWO3JldHVybiBvKHJlKSYmKHllPXJlLmFwcGx5KHRoaXMsWi5jb25jYXQoW3RoaXNdKSkpLFY9KGFlPXRoaXMpWyJvbiIrKEpbMF0udG9VcHBlckNhc2UoKStKLnNsaWNlKDEpKV0uYXBwbHkoYWUsWikseWUhPT12b2lkIDA/eWU6Vn0sWS5wcm90b3R5cGUuYmluZD1mdW5jdGlvbihYLEope3ZhciBaPXRoaXMsZ2U9Wi4kZWwsYWU9Wi5jdHgub3B0cztnZSYmKFgmJmhlKGdlLHEsdGhpcy5oYW5kbGVDbGljaywhMSksSiYmaGUoZ2UsY2UsdGhpcy5oYW5kbGVTdG9wLGFlP2FlLmNhbmNlbGxhYmxlOiEwKSl9LFkucHJvdG90eXBlLnVuYmluZD1mdW5jdGlvbihYLEope3ZhciBaPXRoaXMsZ2U9Wi4kZWwsYWU9Wi5jdHgub3B0cztnZSYmKFgmJlIoZ2UscSx0aGlzLmhhbmRsZUNsaWNrLCExKSxKJiZSKGdlLGNlLHRoaXMuaGFuZGxlU3RvcCxhZT9hZS5jYW5jZWxsYWJsZTohMCkpfSxZLnJhZj1jLFkuY2FmPXAsWX0pKCk7cmV0dXJuIHVlfSl9KTt2YXIgTzgsanphLEY4PWYoKCk9PntBNHQoKTtNWCgpO01sKCk7cWgoKTtVaHQoKTtLcygpO2U4dCgpO3AyKCk7Yzh0KCk7SGgoKTtLZGUoKTt2WCgpO0VKKCk7ZFgoKTtEOSgpO0VsZSgpO1haKCk7aG10KCk7Tzg9RmkobW10KCksMSksanphPXtPYmplY3RNYXA6TGwsU3RyaW5nbWFwOkU5LEZhc3RNYXA6QzN9fSk7dmFyIGtyPXt9O2x0KGtyLHtjb250YWluZXJDb250ZXh0U3R5bGVzOigpPT5HemEsY3NzRm9yQ29uc3RyYWludDooKT0+VXphLGNzc0ZvckNvbnN0cmFpbnRDb250YWluZXI6KCk9Pld6YSxjc3NGb3JDb250YWluZXI6KCk9Pk1tdCxjc3NGb3JEZXNrdG9wOigpPT5ZemEsY3NzRm9yTm90ZWJvb2s6KCk9Pkt6YSxjc3NGb3JQaGFibGV0OigpPT5YemEsY3NzRm9yUGhvbmU6KCk9PlF6YSxjc3NGb3JUYWJsZXQ6KCk9Plp6YSxjc3NGb3JWaWV3cG9ydDooKT0+bGQsZGVza3RvcDooKT0+Ym10LG5vdGVib29rOigpPT52bXQscGhhYmxldDooKT0+eW10LHBob25lOigpPT53bXQsdGFibGV0OigpPT54bXR9KTt2YXIgYm10LHZtdCx4bXQseW10LHdtdCxnbXQsbGQsTW10LFV6YSxXemEsR3phLFl6YSxLemEsWnphLFh6YSxRemEseTZlPWYoKCk9PntCOCgpO3VuKCk7Ym10PTE2MDAsdm10PTEyNDAseG10PTEwMjQseW10PTYwMCx3bXQ9NDAwLGdtdD1zKGE9PntsZXQgZT1bXTtyZXR1cm4gYS5taW5XaWR0aCYmZS5wdXNoKGAobWluLXdpZHRoOiAke2EubWluV2lkdGh9cHgpYCksYS5tYXhXaWR0aCYmZS5wdXNoKGAobWF4LXdpZHRoOiAke2EubWF4V2lkdGh9cHgpYCksZS5qb2luKCIgYW5kICIpfSwiYnVpbGRDb25kaXRpb24iKSxsZD1zKChhLGUpPT5vYShgCiAgICBAY29udGFpbmVyIHdjY1Rvb2xzVmlld3BvcnQgJHtlfSB7CiAgICAgICR7YS5jc3NUZXh0fQogICAgfQogICAgQG1lZGlhICR7ZX0gewogICAgICAke2EuY3NzVGV4dH0KICAgIH0KICBgKSwiY3NzRm9yVmlld3BvcnQiKSxNbXQ9cygoYSxlLHQpPT5vYShgCiAgICBAY29udGFpbmVyICR7dH0gJHtlfSB7CiAgICAgICR7YS5jc3NUZXh0fQogICAgfQogIGApLCJjc3NGb3JDb250YWluZXIiKSxVemE9cyhhPT5lPT5sZChlLGdtdChhKSksImNzc0ZvckNvbnN0cmFpbnQiKSxXemE9cygoYSxlKT0+dD0+TW10KHQsZ210KGEpLGUpLCJjc3NGb3JDb25zdHJhaW50Q29udGFpbmVyIiksR3phPXMoYT0+UWAKICA6aG9zdCB7CiAgICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7CiAgICBjb250YWluZXItbmFtZTogJHtvYShhKX07CiAgfQpgLCJjb250YWluZXJDb250ZXh0U3R5bGVzIiksWXphPXMoYT0+bGQoYSxgKG1pbi13aWR0aDogJHtibXR9cHgpYCksImNzc0ZvckRlc2t0b3AiKSxLemE9cyhhPT5sZChhLGAobWF4LXdpZHRoOiAke3ZtdH1weClgKSwiY3NzRm9yTm90ZWJvb2siKSxaemE9cyhhPT5sZChhLGAobWF4LXdpZHRoOiAke3htdH1weClgKSwiY3NzRm9yVGFibGV0IiksWHphPXMoYT0+bGQoYSxgKG1heC13aWR0aDogJHt5bXR9cHgpYCksImNzc0ZvclBoYWJsZXQiKSxRemE9cyhhPT5sZChhLGAobWF4LXdpZHRoOiAke3dtdH1weClgKSwiY3NzRm9yUGhvbmUiKX0pO3ZhciBJSixrbXQ9ZigoKT0+e0Y4KCk7SUo9Y2xhc3N7c3RhdGlje3ModGhpcywiU2Nyb2xsZXIiKX1kb210b29sc0luc3RhbmNlO2Rpc3Bvc2VkPSExO3Njcm9sbENhbGxiYWNrcz1bXTtsZW5pc0luc3RhbmNlPW51bGw7bGVuaXNTY3JvbGxVbnN1YnNjcmliZT1udWxsO25hdGl2ZVNjcm9sbExpc3RlbmVyQXR0YWNoZWQ9ITE7aGFuZGxlTmF0aXZlU2Nyb2xsPXMoZT0+e3RoaXMuZXhlY3V0ZVNjcm9sbENhbGxiYWNrcygpfSwiaGFuZGxlTmF0aXZlU2Nyb2xsIik7aGFuZGxlTGVuaXNTY3JvbGw9cyhlPT57dGhpcy5leGVjdXRlU2Nyb2xsQ2FsbGJhY2tzKCl9LCJoYW5kbGVMZW5pc1Njcm9sbCIpO2NvbnN0cnVjdG9yKGUpe3RoaXMuZG9tdG9vbHNJbnN0YW5jZT1lLHRoaXMuYXR0YWNoTmF0aXZlU2Nyb2xsTGlzdGVuZXIoKX1zd2VldFNjcm9sbGVyPW5ldyBPOC5kZWZhdWx0KHt9KTthc3luYyB0b0VsZW1lbnQoZSx0KXt0aGlzLnN3ZWV0U2Nyb2xsZXIudG9FbGVtZW50KGUsdCksdD8uZHVyYXRpb24mJmF3YWl0IFB0LmRlbGF5Rm9yKHQuZHVyYXRpb24pfWFzeW5jIGRldGVjdE5hdGl2ZVNtb290aFNjcm9sbCgpe2xldCBlPWdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KS5zY3JvbGxCZWhhdmlvcix0PWRvY3VtZW50LmJvZHk/Z2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5ib2R5KS5zY3JvbGxCZWhhdmlvcjoiYXV0byI7aWYoZT09PSJzbW9vdGgifHx0PT09InNtb290aCIpcmV0dXJuITA7bGV0IHI9ZXQuZGVmZXIoKSxpPTEyLG89MyxuPS43NSxsPTEyMDAsZD1bXSxjPXModj0+e3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJ3aGVlbCIscCksd2luZG93LmNsZWFyVGltZW91dChtKSxyLnJlc29sdmUodil9LCJmaW5hbGl6ZSIpO2Z1bmN0aW9uIHAodil7ZC5wdXNoKHYuZGVsdGFZKSxkLmxlbmd0aD49aSYmdSgpfXMocCwib25XaGVlbCIpO2Z1bmN0aW9uIHUoKXtpZihkLmxlbmd0aDwyKXtjKCExKTtyZXR1cm59bGV0IHY9ZC5sZW5ndGgtMSx4PTA7Zm9yKGxldCBnPTA7Zzx2O2crKylNYXRoLmFicyhkW2crMV0tZFtnXSk8PW8mJngrKztsZXQgYj14L3Y7YyhiPj1uKX1zKHUsImFuYWx5emVFdmVudHMiKTtsZXQgbT13aW5kb3cuc2V0VGltZW91dCgoKT0+e3UoKX0sbCk7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ3aGVlbCIscCx7cGFzc2l2ZTohMH0pLHIucHJvbWlzZX1hc3luYyBlbmFibGVMZW5pc1Njcm9sbChlKXtpZih0aGlzLmRpc3Bvc2VkKXJldHVybjt0aGlzLmxlbmlzSW5zdGFuY2UmJnRoaXMuZGlzYWJsZUxlbmlzU2Nyb2xsKCk7bGV0IHQ9bmV3IHZiKHthdXRvUmFmOiEwfSk7aWYoZT8uZGlzYWJsZU9uTmF0aXZlU21vb3RoU2Nyb2xsJiZhd2FpdCB0aGlzLmRldGVjdE5hdGl2ZVNtb290aFNjcm9sbCgpKXt0LmRlc3Ryb3koKTtyZXR1cm59dGhpcy5sZW5pc0luc3RhbmNlPXQsdGhpcy5kZXRhY2hOYXRpdmVTY3JvbGxMaXN0ZW5lcigpLHRoaXMuYXR0YWNoTGVuaXNTY3JvbGxMaXN0ZW5lcigpfWRpc2FibGVMZW5pc1Njcm9sbCgpe3RoaXMubGVuaXNJbnN0YW5jZSYmKHRoaXMuZGV0YWNoTGVuaXNTY3JvbGxMaXN0ZW5lcigpLHRoaXMubGVuaXNJbnN0YW5jZS5kZXN0cm95KCksdGhpcy5sZW5pc0luc3RhbmNlPW51bGwsdGhpcy5hdHRhY2hOYXRpdmVTY3JvbGxMaXN0ZW5lcigpKX1vblNjcm9sbChlKXtyZXR1cm4gdGhpcy5zY3JvbGxDYWxsYmFja3MucHVzaChlKSwoKT0+e3RoaXMuc2Nyb2xsQ2FsbGJhY2tzPXRoaXMuc2Nyb2xsQ2FsbGJhY2tzLmZpbHRlcih0PT50IT09ZSl9fWV4ZWN1dGVTY3JvbGxDYWxsYmFja3MoKXt0aGlzLnNjcm9sbENhbGxiYWNrcy5mb3JFYWNoKGU9Pnt0cnl7ZSgpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGluIHNjcm9sbCBjYWxsYmFjazoiLHQpfX0pfWF0dGFjaE5hdGl2ZVNjcm9sbExpc3RlbmVyKCl7dGhpcy5uYXRpdmVTY3JvbGxMaXN0ZW5lckF0dGFjaGVkfHx0aGlzLmRpc3Bvc2VkfHwod2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5oYW5kbGVOYXRpdmVTY3JvbGwpLHRoaXMubmF0aXZlU2Nyb2xsTGlzdGVuZXJBdHRhY2hlZD0hMCl9ZGV0YWNoTmF0aXZlU2Nyb2xsTGlzdGVuZXIoKXt0aGlzLm5hdGl2ZVNjcm9sbExpc3RlbmVyQXR0YWNoZWQmJih3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLmhhbmRsZU5hdGl2ZVNjcm9sbCksdGhpcy5uYXRpdmVTY3JvbGxMaXN0ZW5lckF0dGFjaGVkPSExKX1hdHRhY2hMZW5pc1Njcm9sbExpc3RlbmVyKCl7dGhpcy5sZW5pc0luc3RhbmNlJiYhdGhpcy5sZW5pc1Njcm9sbFVuc3Vic2NyaWJlJiYodGhpcy5sZW5pc1Njcm9sbFVuc3Vic2NyaWJlPXRoaXMubGVuaXNJbnN0YW5jZS5vbigic2Nyb2xsIix0aGlzLmhhbmRsZUxlbmlzU2Nyb2xsKSl9ZGV0YWNoTGVuaXNTY3JvbGxMaXN0ZW5lcigpe3RoaXMubGVuaXNTY3JvbGxVbnN1YnNjcmliZSYmKHRoaXMubGVuaXNTY3JvbGxVbnN1YnNjcmliZSgpLHRoaXMubGVuaXNTY3JvbGxVbnN1YnNjcmliZT1udWxsKX1kaXNwb3NlKCl7dGhpcy5kaXNwb3NlZHx8KHRoaXMuZGlzcG9zZWQ9ITAsdGhpcy5kZXRhY2hMZW5pc1Njcm9sbExpc3RlbmVyKCksdGhpcy5sZW5pc0luc3RhbmNlPy5kZXN0cm95KCksdGhpcy5sZW5pc0luc3RhbmNlPW51bGwsdGhpcy5kZXRhY2hOYXRpdmVTY3JvbGxMaXN0ZW5lcigpLHRoaXMuc2Nyb2xsQ2FsbGJhY2tzPVtdLHRoaXMuc3dlZXRTY3JvbGxlci5kZXN0cm95KCkpfX19KTt2YXIgTkosU210PWYoKCk9PntCOCgpO0Y4KCk7Tko9Y2xhc3N7c3RhdGlje3ModGhpcywiVGhlbWVNYW5hZ2VyIil9ZG9tdG9vbHNSZWY7Z29CcmlnaHRCb29sZWFuPSExO3ByZWZlcnJlZENvbG9yU2NoZW1lTWVkaWFNYXRjaD13aW5kb3cubWF0Y2hNZWRpYSgiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBsaWdodCkiKTt0aGVtZU9ic2VydmFibGU9bmV3IENhLnJ4anMuUmVwbGF5U3ViamVjdCgxKTthdXRvbWF0aWNHbG9iYWxUaGVtZUNoYW5nZVN1YnNjcmlwdGlvbj1udWxsO3ByZWZlcnJlZENvbG9yU2NoZW1lQ2hhbmdlSGFuZGxlcj1zKGU9Pnt0aGlzLmdvQnJpZ2h0Qm9vbGVhbj1lLm1hdGNoZXMsdGhpcy51cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpfSwicHJlZmVycmVkQ29sb3JTY2hlbWVDaGFuZ2VIYW5kbGVyIik7Y29uc3RydWN0b3IoZSl7dGhpcy5kb210b29sc1JlZj1lLHRoaXMuZ29CcmlnaHRCb29sZWFuPXRoaXMucHJlZmVycmVkQ29sb3JTY2hlbWVNZWRpYU1hdGNoLm1hdGNoZXMsdGhpcy5wcmVmZXJyZWRDb2xvclNjaGVtZU1lZGlhTWF0Y2guYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLnByZWZlcnJlZENvbG9yU2NoZW1lQ2hhbmdlSGFuZGxlciksdGhpcy51cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpfWFzeW5jIGVuYWJsZUF1dG9tYXRpY0dsb2JhbFRoZW1lQ2hhbmdlKCl7YXdhaXQgdGhpcy5kb210b29sc1JlZi5kb21SZWFkeS5wcm9taXNlLHRoaXMuYXV0b21hdGljR2xvYmFsVGhlbWVDaGFuZ2VTdWJzY3JpcHRpb258fCh0aGlzLmF1dG9tYXRpY0dsb2JhbFRoZW1lQ2hhbmdlU3Vic2NyaXB0aW9uPXRoaXMudGhlbWVPYnNlcnZhYmxlLnN1YnNjcmliZSh7bmV4dDpzKGU9Pntkb2N1bWVudC5ib2R5LnN0eWxlLmJhY2tncm91bmQ9ZT8iI2ZmZiI6IiMwMDAifSwibmV4dCIpfSkpfXVwZGF0ZUFsbENvbm5lY3RlZEVsZW1lbnRzKCl7dGhpcy5kb210b29sc1JlZi5kaXNwb3NlZHx8dGhpcy50aGVtZU9ic2VydmFibGUubmV4dCh0aGlzLmdvQnJpZ2h0Qm9vbGVhbil9Z29CcmlnaHQoKXt0aGlzLmdvQnJpZ2h0Qm9vbGVhbj0hMCx0aGlzLnVwZGF0ZUFsbENvbm5lY3RlZEVsZW1lbnRzKCl9Z29EYXJrKCl7dGhpcy5nb0JyaWdodEJvb2xlYW49ITEsdGhpcy51cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpfXRvZ2dsZURhcmtCcmlnaHQoKXt0aGlzLmdvQnJpZ2h0Qm9vbGVhbj0hdGhpcy5nb0JyaWdodEJvb2xlYW4sdGhpcy51cGRhdGVBbGxDb25uZWN0ZWRFbGVtZW50cygpfWRpc3Bvc2UoKXt0aGlzLnByZWZlcnJlZENvbG9yU2NoZW1lTWVkaWFNYXRjaC5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLHRoaXMucHJlZmVycmVkQ29sb3JTY2hlbWVDaGFuZ2VIYW5kbGVyKSx0aGlzLmF1dG9tYXRpY0dsb2JhbFRoZW1lQ2hhbmdlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpLHRoaXMuYXV0b21hdGljR2xvYmFsVGhlbWVDaGFuZ2VTdWJzY3JpcHRpb249bnVsbCx0aGlzLnRoZW1lT2JzZXJ2YWJsZS5jb21wbGV0ZSgpfX19KTt2YXIgTmUsUkosem10PWYoKCk9PntGOCgpOyhmdW5jdGlvbihhKXthW2EuQmFja3NwYWNlPThdPSJCYWNrc3BhY2UiLGFbYS5UYWI9OV09IlRhYiIsYVthLkVudGVyPTEzXT0iRW50ZXIiLGFbYS5TaGlmdD0xNl09IlNoaWZ0IixhW2EuQ3RybD0xN109IkN0cmwiLGFbYS5BbHQ9MThdPSJBbHQiLGFbYS5QYXVzZUJyZWFrPTE5XT0iUGF1c2VCcmVhayIsYVthLkNhcHNMb2NrPTIwXT0iQ2Fwc0xvY2siLGFbYS5Fc2NhcGU9MjddPSJFc2NhcGUiLGFbYS5TcGFjZT0zMl09IlNwYWNlIixhW2EuUGFnZVVwPTMzXT0iUGFnZVVwIixhW2EuUGFnZURvd249MzRdPSJQYWdlRG93biIsYVthLkVuZD0zNV09IkVuZCIsYVthLkhvbWU9MzZdPSJIb21lIixhW2EuTGVmdEFycm93PTM3XT0iTGVmdEFycm93IixhW2EuVXBBcnJvdz0zOF09IlVwQXJyb3ciLGFbYS5SaWdodEFycm93PTM5XT0iUmlnaHRBcnJvdyIsYVthLkRvd25BcnJvdz00MF09IkRvd25BcnJvdyIsYVthLkluc2VydD00NV09Ikluc2VydCIsYVthLkRlbGV0ZT00Nl09IkRlbGV0ZSIsYVthLlplcm89NDhdPSJaZXJvIixhW2EuQ2xvc2VkUGFyZW49NDhdPSJDbG9zZWRQYXJlbiIsYVthLk9uZT00OV09Ik9uZSIsYVthLkV4Y2xhbWF0aW9uTWFyaz00OV09IkV4Y2xhbWF0aW9uTWFyayIsYVthLlR3bz01MF09IlR3byIsYVthLkF0U2lnbj01MF09IkF0U2lnbiIsYVthLlRocmVlPTUxXT0iVGhyZWUiLGFbYS5Qb3VuZFNpZ249NTFdPSJQb3VuZFNpZ24iLGFbYS5IYXNoPTUxXT0iSGFzaCIsYVthLkZvdXI9NTJdPSJGb3VyIixhW2EuRG9sbGFyU2lnbj01Ml09IkRvbGxhclNpZ24iLGFbYS5GaXZlPTUzXT0iRml2ZSIsYVthLlBlcmNlbnRTaWduPTUzXT0iUGVyY2VudFNpZ24iLGFbYS5TaXg9NTRdPSJTaXgiLGFbYS5DYXJldD01NF09IkNhcmV0IixhW2EuSGF0PTU0XT0iSGF0IixhW2EuU2V2ZW49NTVdPSJTZXZlbiIsYVthLkFtcGVyc2FuZD01NV09IkFtcGVyc2FuZCIsYVthLkVpZ2h0PTU2XT0iRWlnaHQiLGFbYS5TdGFyPTU2XT0iU3RhciIsYVthLkFzdGVyaWs9NTZdPSJBc3RlcmlrIixhW2EuTmluZT01N109Ik5pbmUiLGFbYS5PcGVuUGFyZW49NTddPSJPcGVuUGFyZW4iLGFbYS5BPTY1XT0iQSIsYVthLkI9NjZdPSJCIixhW2EuQz02N109IkMiLGFbYS5EPTY4XT0iRCIsYVthLkU9NjldPSJFIixhW2EuRj03MF09IkYiLGFbYS5HPTcxXT0iRyIsYVthLkg9NzJdPSJIIixhW2EuST03M109IkkiLGFbYS5KPTc0XT0iSiIsYVthLks9NzVdPSJLIixhW2EuTD03Nl09IkwiLGFbYS5NPTc3XT0iTSIsYVthLk49NzhdPSJOIixhW2EuTz03OV09Ik8iLGFbYS5QPTgwXT0iUCIsYVthLlE9ODFdPSJRIixhW2EuUj04Ml09IlIiLGFbYS5TPTgzXT0iUyIsYVthLlQ9ODRdPSJUIixhW2EuVT04NV09IlUiLGFbYS5WPTg2XT0iViIsYVthLlc9ODddPSJXIixhW2EuWD04OF09IlgiLGFbYS5ZPTg5XT0iWSIsYVthLlo9OTBdPSJaIixhW2EuTGVmdFdpbmRvd0tleT05MV09IkxlZnRXaW5kb3dLZXkiLGFbYS5SaWdodFdpbmRvd0tleT05Ml09IlJpZ2h0V2luZG93S2V5IixhW2EuU2VsZWN0S2V5PTkzXT0iU2VsZWN0S2V5IixhW2EuTnVtcGFkMD05Nl09Ik51bXBhZDAiLGFbYS5OdW1wYWQxPTk3XT0iTnVtcGFkMSIsYVthLk51bXBhZDI9OThdPSJOdW1wYWQyIixhW2EuTnVtcGFkMz05OV09Ik51bXBhZDMiLGFbYS5OdW1wYWQ0PTEwMF09Ik51bXBhZDQiLGFbYS5OdW1wYWQ1PTEwMV09Ik51bXBhZDUiLGFbYS5OdW1wYWQ2PTEwMl09Ik51bXBhZDYiLGFbYS5OdW1wYWQ3PTEwM109Ik51bXBhZDciLGFbYS5OdW1wYWQ4PTEwNF09Ik51bXBhZDgiLGFbYS5OdW1wYWQ5PTEwNV09Ik51bXBhZDkiLGFbYS5NdWx0aXBseT0xMDZdPSJNdWx0aXBseSIsYVthLkFkZD0xMDddPSJBZGQiLGFbYS5TdWJ0cmFjdD0xMDldPSJTdWJ0cmFjdCIsYVthLkRlY2ltYWxQb2ludD0xMTBdPSJEZWNpbWFsUG9pbnQiLGFbYS5EaXZpZGU9MTExXT0iRGl2aWRlIixhW2EuRjE9MTEyXT0iRjEiLGFbYS5GMj0xMTNdPSJGMiIsYVthLkYzPTExNF09IkYzIixhW2EuRjQ9MTE1XT0iRjQiLGFbYS5GNT0xMTZdPSJGNSIsYVthLkY2PTExN109IkY2IixhW2EuRjc9MTE4XT0iRjciLGFbYS5GOD0xMTldPSJGOCIsYVthLkY5PTEyMF09IkY5IixhW2EuRjEwPTEyMV09IkYxMCIsYVthLkYxMT0xMjJdPSJGMTEiLGFbYS5GMTI9MTIzXT0iRjEyIixhW2EuTnVtTG9jaz0xNDRdPSJOdW1Mb2NrIixhW2EuU2Nyb2xsTG9jaz0xNDVdPSJTY3JvbGxMb2NrIixhW2EuU2VtaUNvbG9uPTE4Nl09IlNlbWlDb2xvbiIsYVthLkVxdWFscz0xODddPSJFcXVhbHMiLGFbYS5Db21tYT0xODhdPSJDb21tYSIsYVthLkRhc2g9MTg5XT0iRGFzaCIsYVthLlBlcmlvZD0xOTBdPSJQZXJpb2QiLGFbYS5VbmRlclNjb3JlPTE4OV09IlVuZGVyU2NvcmUiLGFbYS5QbHVzU2lnbj0xODddPSJQbHVzU2lnbiIsYVthLkZvcndhcmRTbGFzaD0xOTFdPSJGb3J3YXJkU2xhc2giLGFbYS5UaWxkZT0xOTJdPSJUaWxkZSIsYVthLkdyYXZlQWNjZW50PTE5Ml09IkdyYXZlQWNjZW50IixhW2EuT3BlbkJyYWNrZXQ9MjE5XT0iT3BlbkJyYWNrZXQiLGFbYS5DbG9zZWRCcmFja2V0PTIyMV09IkNsb3NlZEJyYWNrZXQiLGFbYS5RdW90ZT0yMjJdPSJRdW90ZSJ9KShOZXx8KE5lPXt9KSk7Uko9Y2xhc3N7c3RhdGlje3ModGhpcywiS2V5Ym9hcmQiKX1kb21Ob2RlO21hcENvbWJvc1RvSGFuZGxlcnM9bmV3IE1hcDtwcmVzc2VkS2V5cz1uZXcgU2V0O2xpc3RlbmluZz0hMTtjb25zdHJ1Y3RvcihlKXt0aGlzLmRvbU5vZGU9ZSx0aGlzLnN0YXJ0TGlzdGVuaW5nKCl9a2V5RW51bT1OZTtvbihlKXtsZXQgdD1uZXcgQ2Eucnhqcy5TdWJqZWN0O3JldHVybiB0aGlzLnJlZ2lzdGVyS2V5cyhlLHQpLHR9dHJpZ2dlcktleVByZXNzKGUpe2xldCB0PXRoaXMubm9ybWFsaXplS2V5cyhlKTtmb3IobGV0IHIgb2YgdCl0aGlzLnByZXNzZWRLZXlzLmFkZChyKTt0aGlzLmNoZWNrTWF0Y2hpbmdLZXlib2FyZFN1YmplY3RzKHRoaXMuY3JlYXRlS2V5Ym9hcmRFdmVudCh0KSk7Zm9yKGxldCByIG9mIHQpdGhpcy5wcmVzc2VkS2V5cy5kZWxldGUocil9c3RhcnRMaXN0ZW5pbmcoKXt0aGlzLmxpc3RlbmluZ3x8KHRoaXMuZG9tTm9kZS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLmhhbmRsZUtleURvd24pLHRoaXMuZG9tTm9kZS5hZGRFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5oYW5kbGVLZXlVcCksdGhpcy5saXN0ZW5pbmc9ITApfXN0b3BMaXN0ZW5pbmcoKXt0aGlzLmxpc3RlbmluZyYmKHRoaXMuZG9tTm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLmhhbmRsZUtleURvd24pLHRoaXMuZG9tTm9kZS5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXl1cCIsdGhpcy5oYW5kbGVLZXlVcCksdGhpcy5saXN0ZW5pbmc9ITEpfWNsZWFyKCl7dGhpcy5zdG9wTGlzdGVuaW5nKCk7Zm9yKGxldCBlIG9mIHRoaXMubWFwQ29tYm9zVG9IYW5kbGVycy52YWx1ZXMoKSlmb3IobGV0IHQgb2YgZS5zdWJqZWN0cyl0LmNvbXBsZXRlKCk7dGhpcy5tYXBDb21ib3NUb0hhbmRsZXJzLmNsZWFyKCksdGhpcy5wcmVzc2VkS2V5cy5jbGVhcigpfWRpc3Bvc2UoKXt0aGlzLmNsZWFyKCl9aGFuZGxlS2V5RG93bj1zKGU9PntsZXQgdD10aGlzLnJlc29sdmVLZXkoZSk7dCE9PW51bGwmJih0aGlzLnByZXNzZWRLZXlzLmFkZCh0KSx0aGlzLmNoZWNrTWF0Y2hpbmdLZXlib2FyZFN1YmplY3RzKGUpKX0sImhhbmRsZUtleURvd24iKTtjaGVja01hdGNoaW5nS2V5Ym9hcmRTdWJqZWN0cyhlKXt0aGlzLm1hcENvbWJvc1RvSGFuZGxlcnMuZm9yRWFjaCh0PT57aWYodGhpcy5hcmVBbGxLZXlzUHJlc3NlZCh0LmtleXMpKWZvcihsZXQgciBvZiB0LnN1YmplY3RzKXIubmV4dChlKX0pfWhhbmRsZUtleVVwPXMoZT0+e2xldCB0PXRoaXMucmVzb2x2ZUtleShlKTt0IT09bnVsbCYmdGhpcy5wcmVzc2VkS2V5cy5kZWxldGUodCl9LCJoYW5kbGVLZXlVcCIpO2FyZUFsbEtleXNQcmVzc2VkKGUpe2xldCB0PSEwO3JldHVybiBlLmZvckVhY2gocj0+e3RoaXMucHJlc3NlZEtleXMuaGFzKHIpfHwodD0hMSl9KSx0fXJlZ2lzdGVyS2V5cyhlLHQpe2xldCByPXRoaXMubm9ybWFsaXplS2V5cyhlKSxpPXIuam9pbigiKyIpLG89dGhpcy5tYXBDb21ib3NUb0hhbmRsZXJzLmdldChpKTtpZighbyl7dGhpcy5tYXBDb21ib3NUb0hhbmRsZXJzLnNldChpLHtrZXlzOnIsc3ViamVjdHM6W3RdfSk7cmV0dXJufW8uc3ViamVjdHMucHVzaCh0KX1ub3JtYWxpemVLZXlzKGUpe3JldHVyblsuLi5uZXcgU2V0KGUpXS5zb3J0KCh0LHIpPT50LXIpfXJlc29sdmVLZXkoZSl7cmV0dXJuIHRoaXMucmVzb2x2ZUtleUZyb21Db2RlKGUuY29kZSk/P3RoaXMucmVzb2x2ZUtleUZyb21LZXkoZS5rZXkpPz90aGlzLnJlc29sdmVLZXlGcm9tS2V5Q29kZShlLmtleUNvZGUpfXJlc29sdmVLZXlGcm9tQ29kZShlKXtpZighZSlyZXR1cm4gbnVsbDtpZihlLnN0YXJ0c1dpdGgoIktleSIpJiZlLmxlbmd0aD09PTQpcmV0dXJuIE5lW2Uuc2xpY2UoMyldPz9udWxsO2lmKGUuc3RhcnRzV2l0aCgiRGlnaXQiKSYmZS5sZW5ndGg9PT02KXJldHVybiB0aGlzLnJlc29sdmVLZXlGcm9tS2V5KGUuc2xpY2UoNSkpO3N3aXRjaChlKXtjYXNlIkJhY2tzcGFjZSI6cmV0dXJuIE5lLkJhY2tzcGFjZTtjYXNlIlRhYiI6cmV0dXJuIE5lLlRhYjtjYXNlIkVudGVyIjpjYXNlIk51bXBhZEVudGVyIjpyZXR1cm4gTmUuRW50ZXI7Y2FzZSJTaGlmdExlZnQiOmNhc2UiU2hpZnRSaWdodCI6cmV0dXJuIE5lLlNoaWZ0O2Nhc2UiQ29udHJvbExlZnQiOmNhc2UiQ29udHJvbFJpZ2h0IjpyZXR1cm4gTmUuQ3RybDtjYXNlIkFsdExlZnQiOmNhc2UiQWx0UmlnaHQiOnJldHVybiBOZS5BbHQ7Y2FzZSJQYXVzZSI6cmV0dXJuIE5lLlBhdXNlQnJlYWs7Y2FzZSJDYXBzTG9jayI6cmV0dXJuIE5lLkNhcHNMb2NrO2Nhc2UiRXNjYXBlIjpyZXR1cm4gTmUuRXNjYXBlO2Nhc2UiU3BhY2UiOnJldHVybiBOZS5TcGFjZTtjYXNlIlBhZ2VVcCI6cmV0dXJuIE5lLlBhZ2VVcDtjYXNlIlBhZ2VEb3duIjpyZXR1cm4gTmUuUGFnZURvd247Y2FzZSJFbmQiOnJldHVybiBOZS5FbmQ7Y2FzZSJIb21lIjpyZXR1cm4gTmUuSG9tZTtjYXNlIkFycm93TGVmdCI6cmV0dXJuIE5lLkxlZnRBcnJvdztjYXNlIkFycm93VXAiOnJldHVybiBOZS5VcEFycm93O2Nhc2UiQXJyb3dSaWdodCI6cmV0dXJuIE5lLlJpZ2h0QXJyb3c7Y2FzZSJBcnJvd0Rvd24iOnJldHVybiBOZS5Eb3duQXJyb3c7Y2FzZSJJbnNlcnQiOnJldHVybiBOZS5JbnNlcnQ7Y2FzZSJEZWxldGUiOnJldHVybiBOZS5EZWxldGU7Y2FzZSJNZXRhTGVmdCI6cmV0dXJuIE5lLkxlZnRXaW5kb3dLZXk7Y2FzZSJNZXRhUmlnaHQiOnJldHVybiBOZS5SaWdodFdpbmRvd0tleTtjYXNlIkNvbnRleHRNZW51IjpyZXR1cm4gTmUuU2VsZWN0S2V5O2Nhc2UiTnVtcGFkMCI6cmV0dXJuIE5lLk51bXBhZDA7Y2FzZSJOdW1wYWQxIjpyZXR1cm4gTmUuTnVtcGFkMTtjYXNlIk51bXBhZDIiOnJldHVybiBOZS5OdW1wYWQyO2Nhc2UiTnVtcGFkMyI6cmV0dXJuIE5lLk51bXBhZDM7Y2FzZSJOdW1wYWQ0IjpyZXR1cm4gTmUuTnVtcGFkNDtjYXNlIk51bXBhZDUiOnJldHVybiBOZS5OdW1wYWQ1O2Nhc2UiTnVtcGFkNiI6cmV0dXJuIE5lLk51bXBhZDY7Y2FzZSJOdW1wYWQ3IjpyZXR1cm4gTmUuTnVtcGFkNztjYXNlIk51bXBhZDgiOnJldHVybiBOZS5OdW1wYWQ4O2Nhc2UiTnVtcGFkOSI6cmV0dXJuIE5lLk51bXBhZDk7Y2FzZSJOdW1wYWRNdWx0aXBseSI6cmV0dXJuIE5lLk11bHRpcGx5O2Nhc2UiTnVtcGFkQWRkIjpyZXR1cm4gTmUuQWRkO2Nhc2UiTnVtcGFkU3VidHJhY3QiOnJldHVybiBOZS5TdWJ0cmFjdDtjYXNlIk51bXBhZERlY2ltYWwiOnJldHVybiBOZS5EZWNpbWFsUG9pbnQ7Y2FzZSJOdW1wYWREaXZpZGUiOnJldHVybiBOZS5EaXZpZGU7Y2FzZSJGMSI6cmV0dXJuIE5lLkYxO2Nhc2UiRjIiOnJldHVybiBOZS5GMjtjYXNlIkYzIjpyZXR1cm4gTmUuRjM7Y2FzZSJGNCI6cmV0dXJuIE5lLkY0O2Nhc2UiRjUiOnJldHVybiBOZS5GNTtjYXNlIkY2IjpyZXR1cm4gTmUuRjY7Y2FzZSJGNyI6cmV0dXJuIE5lLkY3O2Nhc2UiRjgiOnJldHVybiBOZS5GODtjYXNlIkY5IjpyZXR1cm4gTmUuRjk7Y2FzZSJGMTAiOnJldHVybiBOZS5GMTA7Y2FzZSJGMTEiOnJldHVybiBOZS5GMTE7Y2FzZSJGMTIiOnJldHVybiBOZS5GMTI7Y2FzZSJOdW1Mb2NrIjpyZXR1cm4gTmUuTnVtTG9jaztjYXNlIlNjcm9sbExvY2siOnJldHVybiBOZS5TY3JvbGxMb2NrO2Nhc2UiU2VtaWNvbG9uIjpyZXR1cm4gTmUuU2VtaUNvbG9uO2Nhc2UiRXF1YWwiOnJldHVybiBOZS5FcXVhbHM7Y2FzZSJDb21tYSI6cmV0dXJuIE5lLkNvbW1hO2Nhc2UiTWludXMiOnJldHVybiBOZS5EYXNoO2Nhc2UiUGVyaW9kIjpyZXR1cm4gTmUuUGVyaW9kO2Nhc2UiU2xhc2giOnJldHVybiBOZS5Gb3J3YXJkU2xhc2g7Y2FzZSJCYWNrcXVvdGUiOnJldHVybiBOZS5UaWxkZTtjYXNlIkJyYWNrZXRMZWZ0IjpyZXR1cm4gTmUuT3BlbkJyYWNrZXQ7Y2FzZSJCcmFja2V0UmlnaHQiOnJldHVybiBOZS5DbG9zZWRCcmFja2V0O2Nhc2UiUXVvdGUiOnJldHVybiBOZS5RdW90ZTtkZWZhdWx0OnJldHVybiBudWxsfX1yZXNvbHZlS2V5RnJvbUtleShlKXtpZighZSlyZXR1cm4gbnVsbDtpZihlLmxlbmd0aD09PTEpe2xldCB0PWUudG9VcHBlckNhc2UoKTtpZih0Pj0iQSImJnQ8PSJaIilyZXR1cm4gTmVbdF0/P251bGw7c3dpdGNoKGUpe2Nhc2UiMCI6cmV0dXJuIE5lLlplcm87Y2FzZSIxIjpyZXR1cm4gTmUuT25lO2Nhc2UiMiI6cmV0dXJuIE5lLlR3bztjYXNlIjMiOnJldHVybiBOZS5UaHJlZTtjYXNlIjQiOnJldHVybiBOZS5Gb3VyO2Nhc2UiNSI6cmV0dXJuIE5lLkZpdmU7Y2FzZSI2IjpyZXR1cm4gTmUuU2l4O2Nhc2UiNyI6cmV0dXJuIE5lLlNldmVuO2Nhc2UiOCI6cmV0dXJuIE5lLkVpZ2h0O2Nhc2UiOSI6cmV0dXJuIE5lLk5pbmU7Y2FzZSIgIjpyZXR1cm4gTmUuU3BhY2U7Y2FzZSI7IjpyZXR1cm4gTmUuU2VtaUNvbG9uO2Nhc2UiPSI6cmV0dXJuIE5lLkVxdWFscztjYXNlIiwiOnJldHVybiBOZS5Db21tYTtjYXNlIi0iOnJldHVybiBOZS5EYXNoO2Nhc2UiLiI6cmV0dXJuIE5lLlBlcmlvZDtjYXNlIi8iOnJldHVybiBOZS5Gb3J3YXJkU2xhc2g7Y2FzZSJgIjpyZXR1cm4gTmUuVGlsZGU7Y2FzZSJbIjpyZXR1cm4gTmUuT3BlbkJyYWNrZXQ7Y2FzZSJdIjpyZXR1cm4gTmUuQ2xvc2VkQnJhY2tldDtjYXNlIiciOnJldHVybiBOZS5RdW90ZTtkZWZhdWx0OnJldHVybiBudWxsfX1zd2l0Y2goZSl7Y2FzZSJCYWNrc3BhY2UiOnJldHVybiBOZS5CYWNrc3BhY2U7Y2FzZSJUYWIiOnJldHVybiBOZS5UYWI7Y2FzZSJFbnRlciI6cmV0dXJuIE5lLkVudGVyO2Nhc2UiU2hpZnQiOnJldHVybiBOZS5TaGlmdDtjYXNlIkNvbnRyb2wiOnJldHVybiBOZS5DdHJsO2Nhc2UiQWx0IjpyZXR1cm4gTmUuQWx0O2Nhc2UiUGF1c2UiOnJldHVybiBOZS5QYXVzZUJyZWFrO2Nhc2UiQ2Fwc0xvY2siOnJldHVybiBOZS5DYXBzTG9jaztjYXNlIkVzY2FwZSI6cmV0dXJuIE5lLkVzY2FwZTtjYXNlIlBhZ2VVcCI6cmV0dXJuIE5lLlBhZ2VVcDtjYXNlIlBhZ2VEb3duIjpyZXR1cm4gTmUuUGFnZURvd247Y2FzZSJFbmQiOnJldHVybiBOZS5FbmQ7Y2FzZSJIb21lIjpyZXR1cm4gTmUuSG9tZTtjYXNlIkFycm93TGVmdCI6cmV0dXJuIE5lLkxlZnRBcnJvdztjYXNlIkFycm93VXAiOnJldHVybiBOZS5VcEFycm93O2Nhc2UiQXJyb3dSaWdodCI6cmV0dXJuIE5lLlJpZ2h0QXJyb3c7Y2FzZSJBcnJvd0Rvd24iOnJldHVybiBOZS5Eb3duQXJyb3c7Y2FzZSJJbnNlcnQiOnJldHVybiBOZS5JbnNlcnQ7Y2FzZSJEZWxldGUiOnJldHVybiBOZS5EZWxldGU7Y2FzZSJNZXRhIjpyZXR1cm4gTmUuTGVmdFdpbmRvd0tleTtjYXNlIkNvbnRleHRNZW51IjpyZXR1cm4gTmUuU2VsZWN0S2V5O2Nhc2UiTnVtTG9jayI6cmV0dXJuIE5lLk51bUxvY2s7Y2FzZSJTY3JvbGxMb2NrIjpyZXR1cm4gTmUuU2Nyb2xsTG9jaztkZWZhdWx0OnJldHVybiBudWxsfX1yZXNvbHZlS2V5RnJvbUtleUNvZGUoZSl7cmV0dXJuIHR5cGVvZiBlIT0ibnVtYmVyIj9udWxsOnR5cGVvZiBOZVtlXTwidSI/ZTpudWxsfWNyZWF0ZUtleWJvYXJkRXZlbnQoZSl7bGV0IHQ9ZVtlLmxlbmd0aC0xXT8/TmUuRW50ZXIscj10aGlzLmdldEtleURlc2NyaXB0b3IodCk7cmV0dXJuIG5ldyBLZXlib2FyZEV2ZW50KCJrZXlkb3duIix7a2V5OnIua2V5LGNvZGU6ci5jb2RlLGN0cmxLZXk6ZS5pbmNsdWRlcyhOZS5DdHJsKSxzaGlmdEtleTplLmluY2x1ZGVzKE5lLlNoaWZ0KSxhbHRLZXk6ZS5pbmNsdWRlcyhOZS5BbHQpLG1ldGFLZXk6ZS5pbmNsdWRlcyhOZS5MZWZ0V2luZG93S2V5KXx8ZS5pbmNsdWRlcyhOZS5SaWdodFdpbmRvd0tleSl9KX1nZXRLZXlEZXNjcmlwdG9yKGUpe3N3aXRjaChlKXtjYXNlIE5lLkN0cmw6cmV0dXJue2tleToiQ29udHJvbCIsY29kZToiQ29udHJvbExlZnQifTtjYXNlIE5lLlNoaWZ0OnJldHVybntrZXk6IlNoaWZ0Iixjb2RlOiJTaGlmdExlZnQifTtjYXNlIE5lLkFsdDpyZXR1cm57a2V5OiJBbHQiLGNvZGU6IkFsdExlZnQifTtjYXNlIE5lLkVudGVyOnJldHVybntrZXk6IkVudGVyIixjb2RlOiJFbnRlciJ9O2Nhc2UgTmUuU3BhY2U6cmV0dXJue2tleToiICIsY29kZToiU3BhY2UifTtkZWZhdWx0OntsZXQgdD1OZVtlXTtpZih0JiZ0Lmxlbmd0aD09PTEmJnQ+PSJBIiYmdDw9IloiKXJldHVybntrZXk6dC50b0xvd2VyQ2FzZSgpLGNvZGU6YEtleSR7dH1gfTtpZihlPj1OZS5aZXJvJiZlPD1OZS5OaW5lKXtsZXQgcj1TdHJpbmcoZS1OZS5aZXJvKTtyZXR1cm57a2V5OnIsY29kZTpgRGlnaXQke3J9YH19cmV0dXJue2tleTp0Pz8iVW5pZGVudGlmaWVkIixjb2RlOiJVbmlkZW50aWZpZWQifX19fX19KTt2YXIgQ2ksQjg9ZigoKT0+e0Y4KCk7eTZlKCk7a210KCk7RUooKTtTbXQoKTt6bXQoKTtDaT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkRvbVRvb2xzIil9c3RhdGljIGluaXRpYWxpemF0aW9uUHJvbWlzZT1udWxsO3N0YXRpYyBhc3luYyBzZXR1cERvbVRvb2xzKGU9e30pe2lmKGUuaWdub3JlR2xvYmFsKXtsZXQgdD1uZXcgYShlKTtyZXR1cm4gYXdhaXQgdC5pbml0aWFsaXphdGlvblByb21pc2UsdH1pZihnbG9iYWxUaGlzLmRlZXNEb21Ub29scyYmIWdsb2JhbFRoaXMuZGVlc0RvbVRvb2xzLmRpc3Bvc2VkKXJldHVybiBhd2FpdCBnbG9iYWxUaGlzLmRlZXNEb21Ub29scy5pbml0aWFsaXphdGlvblByb21pc2UsZ2xvYmFsVGhpcy5kZWVzRG9tVG9vbHM7aWYoIWEuaW5pdGlhbGl6YXRpb25Qcm9taXNlKXtsZXQgdD1uZXcgYShlKTtnbG9iYWxUaGlzLmRlZXNEb21Ub29scz10LGEuaW5pdGlhbGl6YXRpb25Qcm9taXNlPXQuaW5pdGlhbGl6YXRpb25Qcm9taXNlLnRoZW4oKCk9PnQpLmNhdGNoKHI9Pnt0aHJvdyBnbG9iYWxUaGlzLmRlZXNEb21Ub29scz09PXQmJihnbG9iYWxUaGlzLmRlZXNEb21Ub29scz12b2lkIDApLGEuaW5pdGlhbGl6YXRpb25Qcm9taXNlPW51bGwscn0pfXJldHVybiBhd2FpdCBhLmluaXRpYWxpemF0aW9uUHJvbWlzZX1zdGF0aWMgZ2V0R2xvYmFsRG9tVG9vbHNTeW5jKCl7bGV0IGU9Z2xvYmFsVGhpcy5kZWVzRG9tVG9vbHM7aWYoIWV8fGUuZGlzcG9zZWQpdGhyb3cgbmV3IEVycm9yKCJZb3UgdHJpZWQgdG8gYWNjZXNzIGRvbXRvb2xzIHN5bmNocm9ub3VzbHkgdG9vIGVhcmx5Iik7cmV0dXJuIGV9ZWxlbWVudHM9e2hlYWRFbGVtZW50Om51bGwsYm9keUVsZW1lbnQ6bnVsbH07d2Vic2V0dXA9bmV3IGJiKHttZXRhT2JqZWN0Ont0aXRsZToiIn19KTtzbWFydHN0YXRlPW5ldyBvZC5TbWFydHN0YXRlO2RvbVRvb2xzU3RhdGVQYXJ0PXRoaXMuc21hcnRzdGF0ZS5nZXRTdGF0ZVBhcnQoImRvbXRvb2xzIix7dmlydHVhbFZpZXdwb3J0OiJuYXRpdmUiLGp3dDoiIn0pO3JvdXRlcj1uZXcgaWQuU21hcnRSb3V0ZXIoe2RlYnVnOiExfSk7Y29udmVuaWVuY2U9e3R5cGVkcmVxdWVzdDp3byxzbWFydGRlbGF5OlB0LHNtYXJ0anNvbjpDcyxzbWFydHVybDp4MX07ZGVlc0NvbW1zPW5ldyBROS5EZWVzQ29tbXM7c2Nyb2xsZXI9bmV3IElKKHRoaXMpO3RoZW1lTWFuYWdlcj1uZXcgTkoodGhpcyk7a2V5Ym9hcmQ9bnVsbDtkaXNwb3NlZD0hMTtkb21Ub29sc1JlYWR5PWV0LmRlZmVyKCk7ZG9tUmVhZHk9ZXQuZGVmZXIoKTtnbG9iYWxTdHlsZXNSZWFkeT1ldC5kZWZlcigpO2luaXRpYWxpemF0aW9uUHJvbWlzZTttYW5hZ2VkRG9tTm9kZXM9W107cmVhZHlTdGF0ZUNoYW5nZWRGdW5jPXMoKCk9Pnt0aGlzLnRyeU1hcmtEb21SZWFkeSgpfSwicmVhZHlTdGF0ZUNoYW5nZWRGdW5jIik7Y29uc3RydWN0b3IoZSl7dGhpcy5pbml0aWFsaXphdGlvblByb21pc2U9dGhpcy5pbml0aWFsaXplKCl9cnVuT25jZVByb21pc2VNYXA9bmV3IE1hcDthc3luYyBpbml0aWFsaXplKCl7dGhpcy50cnlNYXJrRG9tUmVhZHkoKSx0aGlzLmRvbVJlYWR5LnN0YXR1cz09PSJwZW5kaW5nIiYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicmVhZHlzdGF0ZWNoYW5nZSIsdGhpcy5yZWFkeVN0YXRlQ2hhbmdlZEZ1bmMpLHRoaXMuZG9tVG9vbHNSZWFkeS5zdGF0dXM9PT0icGVuZGluZyImJnRoaXMuZG9tVG9vbHNSZWFkeS5yZXNvbHZlKCl9dHJ5TWFya0RvbVJlYWR5KCl7dGhpcy5kaXNwb3NlZHx8dGhpcy5kb21SZWFkeS5zdGF0dXMhPT0icGVuZGluZyJ8fGRvY3VtZW50LnJlYWR5U3RhdGUhPT0iaW50ZXJhY3RpdmUiJiZkb2N1bWVudC5yZWFkeVN0YXRlIT09ImNvbXBsZXRlInx8IWRvY3VtZW50LmhlYWR8fCFkb2N1bWVudC5ib2R5fHwodGhpcy5lbGVtZW50cy5oZWFkRWxlbWVudD1kb2N1bWVudC5oZWFkLHRoaXMuZWxlbWVudHMuYm9keUVsZW1lbnQ9ZG9jdW1lbnQuYm9keSx0aGlzLmtleWJvYXJkfHwodGhpcy5rZXlib2FyZD1uZXcgUkooZG9jdW1lbnQuYm9keSkpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLHRoaXMucmVhZHlTdGF0ZUNoYW5nZWRGdW5jKSx0aGlzLmRvbVJlYWR5LnJlc29sdmUoKSl9dHJhY2tNYW5hZ2VkRG9tTm9kZShlKXtyZXR1cm4gdGhpcy5tYW5hZ2VkRG9tTm9kZXMucHVzaChlKSxlfWdldEhlYWRPckJvZHlFbGVtZW50KCl7bGV0IGU9dGhpcy5lbGVtZW50cy5oZWFkRWxlbWVudHx8ZG9jdW1lbnQuaGVhZHx8dGhpcy5lbGVtZW50cy5ib2R5RWxlbWVudHx8ZG9jdW1lbnQuYm9keTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIkRvbVRvb2xzIGNvdWxkIG5vdCBmaW5kIGEgRE9NIHRhcmdldCBlbGVtZW50IHRvIGF0dGFjaCByZXNvdXJjZXMgdG8iKTtyZXR1cm4gZX1hc3luYyBydW5PbmNlKGUsdCl7bGV0IHI9dGhpcy5ydW5PbmNlUHJvbWlzZU1hcC5nZXQoZSk7cmV0dXJuIHJ8fChyPVByb21pc2UucmVzb2x2ZSgpLnRoZW4oYXN5bmMoKT0+YXdhaXQgdCgpKSx0aGlzLnJ1bk9uY2VQcm9taXNlTWFwLnNldChlLHIpKSxhd2FpdCByfWFzeW5jIHNldEdsb2JhbFN0eWxlcyhlKXthd2FpdCB0aGlzLmRvbVJlYWR5LnByb21pc2U7bGV0IHQ9dGhpcy50cmFja01hbmFnZWREb21Ob2RlKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIikpO3QudHlwZT0idGV4dC9jc3MiLHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZSkpLHRoaXMuZ2V0SGVhZE9yQm9keUVsZW1lbnQoKS5hcHBlbmRDaGlsZCh0KX1hc3luYyBzZXRFeHRlcm5hbFNjcmlwdChlKXthd2FpdCB0aGlzLmRvbVJlYWR5LnByb21pc2U7bGV0IHQ9ZXQuZGVmZXIoKSxyPXRoaXMudHJhY2tNYW5hZ2VkRG9tTm9kZShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKSk7ci5zcmM9ZSxyLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57dC5yZXNvbHZlKCl9KSxyLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e3QucmVqZWN0KG5ldyBFcnJvcihgRmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgc2NyaXB0OiAke2V9YCkpfSksdGhpcy5nZXRIZWFkT3JCb2R5RWxlbWVudCgpLmFwcGVuZChyKSxhd2FpdCB0LnByb21pc2V9YXN5bmMgc2V0RXh0ZXJuYWxDc3MoZSl7YXdhaXQgdGhpcy5kb21SZWFkeS5wcm9taXNlO2xldCB0PWV0LmRlZmVyKCkscj10aGlzLnRyYWNrTWFuYWdlZERvbU5vZGUoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGluayIpKTtyLnJlbD0ic3R5bGVzaGVldCIsci5jcm9zc09yaWdpbj0iYW5vbnltb3VzIixyLmhyZWY9ZSxyLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCgpPT57dC5yZXNvbHZlKCl9KSxyLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+e3QucmVqZWN0KG5ldyBFcnJvcihgRmFpbGVkIHRvIGxvYWQgZXh0ZXJuYWwgc3R5bGVzaGVldDogJHtlfWApKX0pLHRoaXMuZ2V0SGVhZE9yQm9keUVsZW1lbnQoKS5hcHBlbmQociksYXdhaXQgdC5wcm9taXNlfWFzeW5jIHNldFdlYnNpdGVJbmZvKGUpe2F3YWl0IHRoaXMud2Vic2V0dXAuc2V0dXAoZSksYXdhaXQgdGhpcy53ZWJzZXR1cC5yZWFkeVByb21pc2V9ZGlzcG9zZSgpe2lmKCF0aGlzLmRpc3Bvc2VkKXt0aGlzLmRpc3Bvc2VkPSEwLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlYWR5c3RhdGVjaGFuZ2UiLHRoaXMucmVhZHlTdGF0ZUNoYW5nZWRGdW5jKSx0aGlzLmtleWJvYXJkPy5kaXNwb3NlKCksdGhpcy5rZXlib2FyZD1udWxsLHRoaXMuc2Nyb2xsZXIuZGlzcG9zZSgpLHRoaXMudGhlbWVNYW5hZ2VyLmRpc3Bvc2UoKTtmb3IobGV0IGUgb2YgdGhpcy5tYW5hZ2VkRG9tTm9kZXMpZS5yZW1vdmUoKTt0aGlzLm1hbmFnZWREb21Ob2Rlcy5sZW5ndGg9MCxnbG9iYWxUaGlzLmRlZXNEb21Ub29scz09PXRoaXMmJihnbG9iYWxUaGlzLmRlZXNEb21Ub29scz12b2lkIDAsYS5pbml0aWFsaXphdGlvblByb21pc2U9bnVsbCl9fX19KTt2YXIgT0osQ210LF9tdD1mKCgpPT57QjgoKTt1bigpO09KPSgoKT0+e2xldCBhPW5hdmlnYXRvci51c2VyQWdlbnQuaW5kZXhPZigiTWFjIE9TIFgiKT09PS0xP1FgYC5jc3NUZXh0OiIiO3JldHVybiBRYAogICAgLyogd2lkdGggKi8KICAgIDo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICB3aWR0aDogMHB4OwogICAgfQogICAgYm9keSB7CiAgICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTsKICAgIH0KICBgLmNzc1RleHR9KSgpLENtdD1RYAogIC8qCiAgQGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJzsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvbWF0ZXJpYWxpY29ucy92NDIvZmxVaFJxNnR6WmNsUUVKLVZkZy1JdWlhRHNOY0loUTh0US53b2ZmMikKICAgICAgZm9ybWF0KCd3b2ZmMicpOwogIH0gKi8KCiAgLyogZ2xvYmFsIGJvZHkgc3R5bGVzICovCiAgYm9keSB7CiAgICBtYXJnaW46IDBweDsKICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIHNhbnMtc2VyaWY7CiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIH0KCiAgLyogc2Nyb2xsIGJhciBzdHlsZXMgKi8KICAke29hKE9KKX0KYC5jc3NUZXh0fSk7dmFyIHRyPXt9O2x0KHRyLHtzZXR1cDooKT0+dENhLHN0YXRpY1N0eWxlczooKT0+SnphLHN0eWxlczooKT0+ZUNhfSk7dmFyIEp6YSxlQ2EsdENhLFRtdD1mKCgpPT57QjgoKTtfbXQoKTt1bigpO0p6YT1RYAogICogewogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzLCBjb2xvciAwLjFzOwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICB9CgogIDpob3N0IHsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCAnSW50ZXInLCBzYW5zLXNlcmlmOwogIH0KCiAgJHtvYShPSil9CmAsZUNhPXdgCiAgPHN0eWxlPgogICAgKiB7CiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xcywgY29sb3IgMC4xczsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgIH0KCiAgICA6aG9zdCB7CiAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIHNhbnMtc2VyaWY7CiAgICB9CgogICAgJHtPSn0KICA8L3N0eWxlPgpgLHRDYT1zKGFzeW5jKGEsZT17fSk9PntsZXQgdD1hd2FpdCBDaS5zZXR1cERvbVRvb2xzKGUpO3JldHVybiBhd2FpdCB0LnJ1bk9uY2UoImVsZW1lbnRCYXNpY1NldHVwIixhc3luYygpPT57YXdhaXQgdC5zZXRHbG9iYWxTdHlsZXMoQ210KX0pLHQuZ2xvYmFsU3R5bGVzUmVhZHkuc3RhdHVzPT09InBlbmRpbmciJiZ0Lmdsb2JhbFN0eWxlc1JlYWR5LnJlc29sdmUoKSxhd2FpdCB0Lmdsb2JhbFN0eWxlc1JlYWR5LnByb21pc2UsdH0sInNldHVwIil9KTt2YXIgRko9e307bHQoRkose2Nzc0dyaWRDb2x1bW5zOigpPT5hQ2F9KTt2YXIgYUNhLExtdD1mKCgpPT57YUNhPXMoKGEsZSk9PntsZXQgdD0iIjtmb3IobGV0IHI9MDtyPGE7cisrKXQrPWAgY2FsYygoMTAwJS8ke2F9KSAtICgke2UqKGEtMSl9cHgvJHthfSkpYDtyZXR1cm4gdH0sImNzc0dyaWRDb2x1bW5zIil9KTt2YXIgQnQ9e307bHQoQnQse1N3ZWV0U2Nyb2xsOigpPT5POC5kZWZhdWx0LHNtYXJ0ZGVsYXk6KCk9PlB0LHNtYXJ0bWFya2Rvd246KCk9PnViLHNtYXJ0cHJvbWlzZTooKT0+ZXQsc21hcnRyb3V0ZXI6KCk9PmlkLHNtYXJ0cng6KCk9PkNhLHNtYXJ0c3RhdGU6KCk9Pm9kLHNtYXJ0c3RyaW5nOigpPT5pcyxzbWFydHVybDooKT0+eDEsdHlwZWRyZXF1ZXN0OigpPT53b30pO3ZhciAkbXQ9ZigoKT0+e0Y4KCl9KTt2YXIgQXQ9e307bHQoQXQse0RvbVRvb2xzOigpPT5DaSxUeXBlZFJlcXVlc3Q6KCk9Pks5LGJyZWFrcG9pbnRzOigpPT5rcixjc3M6KCk9PkZKLGVsZW1lbnRCYXNpYzooKT0+dHIscGx1Z2luczooKT0+QnR9KTt2YXIgSnQ9ZigoKT0+e2JzdCgpO1RtdCgpO3k2ZSgpO0xtdCgpO0I4KCk7TVgoKTtFSigpOyRtdCgpfSk7dmFyIHc2ZSxKMCxNNmU9ZigoKT0+e3c2ZT1GaShINygpLDEpO3AyKCk7dW4oKTtnc3QoKTtKdCgpO0owPXtjc3M6USx1bnNhZmVDU1M6b2EsTGl0RWxlbWVudDp2bCxwcm9wZXJ0eTokfX0pO3ZhciBCSixBbXQ9ZigoKT0+e3VuKCk7TTZlKCk7SnQoKTtCSj1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkNzc01hbmFnZXIiKX1zdGF0aWMgaW5zdGFuY2U9bnVsbDtzdGF0aWMgZ2V0U2luZ2xldG9uKCl7cmV0dXJuIGEuaW5zdGFuY2V8fChhLmluc3RhbmNlPW5ldyBhKSxhLmluc3RhbmNlfWRvbXRvb2xzUHJvbWlzZT1DaS5zZXR1cERvbVRvb2xzKCk7Z29CcmlnaHQ9ITE7YmRWYXJUcmlwbGV0U3RvcmU9W107Y29uc3RydWN0b3IoKXt0aGlzLmRvbXRvb2xzUHJvbWlzZS50aGVuKGFzeW5jIGU9PntlLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKGFzeW5jIHQ9Pnt0aGlzLmdvQnJpZ2h0PXQsYXdhaXQgZS5kb21SZWFkeS5wcm9taXNlO2ZvcihsZXQgciBvZiB0aGlzLmJkVmFyVHJpcGxldFN0b3JlKWRvY3VtZW50LmJvZHkuc3R5bGUuc2V0UHJvcGVydHkoci5jc3NWYXJOYW1lLHRoaXMuZ29CcmlnaHQ/ci5icmlnaHRWYWx1ZTpyLmRhcmtWYWx1ZSl9KX0pfWdldCBkZWZhdWx0U3R5bGVzKCl7cmV0dXJuIHRyLnN0YXRpY1N0eWxlc31nZXRDb250YWluZXJOYW1lRnJvbUNsYXNzKGUpe3JldHVybiBlLmlzfHxlLm5hbWUucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZywiJDEtJDIiKS50b0xvd2VyQ2FzZSgpfWNzc0ZvckRlc2t0b3AoZSx0KXtyZXR1cm4gdD9vYShrci5jc3NGb3JDb250YWluZXIoZSxgKG1pbi13aWR0aDogJHtrci5kZXNrdG9wfXB4KWAsdGhpcy5nZXRDb250YWluZXJOYW1lRnJvbUNsYXNzKHQpKSk6b2Eoa3IuY3NzRm9yRGVza3RvcChlKSl9Y3NzRm9yTm90ZWJvb2soZSx0KXtyZXR1cm4gdD9vYShrci5jc3NGb3JDb250YWluZXIoZSxgKG1heC13aWR0aDogJHtrci5ub3RlYm9va31weClgLHRoaXMuZ2V0Q29udGFpbmVyTmFtZUZyb21DbGFzcyh0KSkpOm9hKGtyLmNzc0Zvck5vdGVib29rKGUpKX1jc3NGb3JUYWJsZXQoZSx0KXtyZXR1cm4gdD9vYShrci5jc3NGb3JDb250YWluZXIoZSxgKG1heC13aWR0aDogJHtrci50YWJsZXR9cHgpYCx0aGlzLmdldENvbnRhaW5lck5hbWVGcm9tQ2xhc3ModCkpKTpvYShrci5jc3NGb3JUYWJsZXQoZSkpfWNzc0ZvclBoYWJsZXQoZSx0KXtyZXR1cm4gdD9vYShrci5jc3NGb3JDb250YWluZXIoZSxgKG1heC13aWR0aDogJHtrci5waGFibGV0fXB4KWAsdGhpcy5nZXRDb250YWluZXJOYW1lRnJvbUNsYXNzKHQpKSk6b2Eoa3IuY3NzRm9yUGhhYmxldChlKSl9Y3NzRm9yUGhvbmUoZSx0KXtyZXR1cm4gdD9vYShrci5jc3NGb3JDb250YWluZXIoZSxgKG1heC13aWR0aDogJHtrci5waG9uZX1weClgLHRoaXMuZ2V0Q29udGFpbmVyTmFtZUZyb21DbGFzcyh0KSkpOm9hKGtyLmNzc0ZvclBob25lKGUpKX1jc3NGb3JDb25zdHJhaW50KGUpe3JldHVybiB0PT5vYShrci5jc3NGb3JDb25zdHJhaW50KGUpKHQpKX1iZFRoZW1lKGUsdCl7bGV0IHIsaTtDaS5nZXRHbG9iYWxEb21Ub29sc1N5bmMoKT9pPUNpLmdldEdsb2JhbERvbVRvb2xzU3luYygpLnRoZW1lTWFuYWdlci5nb0JyaWdodEJvb2xlYW4/ZTp0Omk9dDtsZXQgbz10aGlzLmJkVmFyVHJpcGxldFN0b3JlLmZpbmQobj0+bi5kYXJrVmFsdWU9PT10JiZuLmJyaWdodFZhbHVlPT09ZSk7aWYobylyPW8uY3NzVmFyTmFtZTtlbHNle2xldCBuPXtjc3NWYXJOYW1lOmAtLSR7dzZlLnVuaSgpfWAsYnJpZ2h0VmFsdWU6ZSxkYXJrVmFsdWU6dH07dGhpcy5iZFZhclRyaXBsZXRTdG9yZS5wdXNoKG4pLHRoaXMuZG9tdG9vbHNQcm9taXNlLnRoZW4oYXN5bmMgbD0+e2F3YWl0IGwuZG9tUmVhZHkucHJvbWlzZSxkb2N1bWVudC5ib2R5LnN0eWxlLnNldFByb3BlcnR5KG4uY3NzVmFyTmFtZSxpKX0pLHI9bi5jc3NWYXJOYW1lfXJldHVybiBKMC51bnNhZmVDU1MoYHZhcigke3J9LCAke2l9KWApfWNzc0dyaWRDb2x1bW5zPXMoKGUsdCk9PntsZXQgcj0iIjtmb3IobGV0IGk9MDtpPGU7aSsrKXIrPWAgY2FsYygoMTAwJS8ke2V9KSAtICgke3QqKGUtMSl9cHgvJHtlfSkpYDtyZXR1cm4gSjAudW5zYWZlQ1NTKHIpfSwiY3NzR3JpZENvbHVtbnMiKX19KTt2YXIgazZlLHJDYSxTNmUsc0NhLEVtdCxISixLbCxpQ2Esb0NhLFBtdD1mKCgpPT57UW4oKTtrNmU9U3ltYm9sLmZvcigiIiksckNhPXMoYT0+e2lmKGE/LnI9PT1rNmUpcmV0dXJuIGE/Ll8kbGl0U3RhdGljJH0sIm8iKSxTNmU9cyhhPT4oe18kbGl0U3RhdGljJDphLHI6azZlfSksInMiKSxzQ2E9cygoYSwuLi5lKT0+KHtfJGxpdFN0YXRpYyQ6ZS5yZWR1Y2UoKHQscixpKT0+dCsobz0+e2lmKG8uXyRsaXRTdGF0aWMkIT09dm9pZCAwKXJldHVybiBvLl8kbGl0U3RhdGljJDt0aHJvdyBFcnJvcihgVmFsdWUgcGFzc2VkIHRvICdsaXRlcmFsJyBmdW5jdGlvbiBtdXN0IGJlIGEgJ2xpdGVyYWwnIHJlc3VsdDogJHtvfS4gVXNlICd1bnNhZmVTdGF0aWMnIHRvIHBhc3Mgbm9uLWxpdGVyYWwgdmFsdWVzLCBidXQKICAgICAgICAgICAgdGFrZSBjYXJlIHRvIGVuc3VyZSBwYWdlIHNlY3VyaXR5LmApfSkocikrYVtpKzFdLGFbMF0pLHI6azZlfSksImkiKSxFbXQ9bmV3IE1hcCxISj1zKGE9PihlLC4uLnQpPT57bGV0IHI9dC5sZW5ndGgsaSxvLG49W10sbD1bXSxkLGM9MCxwPSExO2Zvcig7YzxyOyl7Zm9yKGQ9ZVtjXTtjPHImJihvPXRbY10sKGk9ckNhKG8pKSE9PXZvaWQgMCk7KWQrPWkrZVsrK2NdLHA9ITA7YyE9PXImJmwucHVzaChvKSxuLnB1c2goZCksYysrfWlmKGM9PT1yJiZuLnB1c2goZVtyXSkscCl7bGV0IHU9bi5qb2luKCIkJGxpdCQkIik7KGU9RW10LmdldCh1KSk9PT12b2lkIDAmJihuLnJhdz1uLEVtdC5zZXQodSxlPW4pKSx0PWx9cmV0dXJuIGEoZSwuLi50KX0sIm4iKSxLbD1ISih3KSxpQ2E9SEooYW9lKSxvQ2E9SEoocm9lKX0pO3ZhciBJbXQ9ZigoKT0+e1BtdCgpfSk7dmFyIEYyLGRzLFRuLFpsPWYoKCk9PntGMj17QVRUUklCVVRFOjEsQ0hJTEQ6MixQUk9QRVJUWTozLEJPT0xFQU5fQVRUUklCVVRFOjQsRVZFTlQ6NSxFTEVNRU5UOjZ9LGRzPXMoYT0+KC4uLmUpPT4oe18kbGl0RGlyZWN0aXZlJDphLHZhbHVlczplfSksImUiKSxUbj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJpIil9Y29uc3RydWN0b3IoZSl7fWdldCBfJEFVKCl7cmV0dXJuIHRoaXMuXyRBTS5fJEFVfV8kQVQoZSx0LHIpe3RoaXMuXyRDdD1lLHRoaXMuXyRBTT10LHRoaXMuXyRDaT1yfV8kQVMoZSx0KXtyZXR1cm4gdGhpcy51cGRhdGUoZSx0KX11cGRhdGUoZSx0KXtyZXR1cm4gdGhpcy5yZW5kZXIoLi4udCl9fX0pO3ZhciBIOCx4YixObXQ9ZigoKT0+e1FuKCk7WmwoKTtIOD1jbGFzcyBleHRlbmRzIFRue3N0YXRpY3tzKHRoaXMsImUiKX1jb25zdHJ1Y3RvcihlKXtpZihzdXBlcihlKSx0aGlzLml0PXhyLGUudHlwZSE9PUYyLkNISUxEKXRocm93IEVycm9yKHRoaXMuY29uc3RydWN0b3IuZGlyZWN0aXZlTmFtZSsiKCkgY2FuIG9ubHkgYmUgdXNlZCBpbiBjaGlsZCBiaW5kaW5ncyIpfXJlbmRlcihlKXtpZihlPT09eHJ8fGU9PW51bGwpcmV0dXJuIHRoaXMuX3Q9dm9pZCAwLHRoaXMuaXQ9ZTtpZihlPT09bHIpcmV0dXJuIGU7aWYodHlwZW9mIGUhPSJzdHJpbmciKXRocm93IEVycm9yKHRoaXMuY29uc3RydWN0b3IuZGlyZWN0aXZlTmFtZSsiKCkgY2FsbGVkIHdpdGggYSBub24tc3RyaW5nIHZhbHVlIik7aWYoZT09PXRoaXMuaXQpcmV0dXJuIHRoaXMuX3Q7dGhpcy5pdD1lO2xldCB0PVtlXTtyZXR1cm4gdC5yYXc9dCx0aGlzLl90PXtfJGxpdFR5cGUkOnRoaXMuY29uc3RydWN0b3IucmVzdWx0VHlwZSxzdHJpbmdzOnQsdmFsdWVzOltdfX19O0g4LmRpcmVjdGl2ZU5hbWU9InVuc2FmZUhUTUwiLEg4LnJlc3VsdFR5cGU9MTt4Yj1kcyhIOCl9KTt2YXIgUm10PWYoKCk9PntObXQoKX0pO3ZhciB6NmUsQzZlPWYoKCk9Pnt6NmU9cyhhPT4oZSx0KT0+e3QhPT12b2lkIDA/dC5hZGRJbml0aWFsaXplcigoKT0+e2N1c3RvbUVsZW1lbnRzLmRlZmluZShhLGUpfSk6Y3VzdG9tRWxlbWVudHMuZGVmaW5lKGEsZSl9LCJ0Iil9KTt2YXIgT210PWYoKCk9PntDNmUoKX0pO2Z1bmN0aW9uIGllKGEpe3JldHVybihlLHQpPT57aWYoZS5pcz1hLGUubmFtZSl7bGV0IHI9bkNhKGUubmFtZSk7ciE9PWEmJmNvbnNvbGUud2FybihgW2RlZXMtZWxlbWVudF0gQ2xhc3MgIiR7ZS5uYW1lfSIga2ViYWItY2FzZXMgdG8gIiR7cn0iIGJ1dCB0YWcgaXMgIiR7YX0iLiBDb250YWluZXIgcXVlcmllcyB1c2UgLmlzICgiJHthfSIpLmApfXJldHVybiB6NmUoYSkoZSx0KX19dmFyIG5DYSxGbXQ9ZigoKT0+e09tdCgpO25DYT1zKGE9PmEucmVwbGFjZSgvKFthLXpdKShbQS1aXSkvZywiJDEtJDIiKS50b0xvd2VyQ2FzZSgpLCJjYW1lbFRvS2ViYWIiKTtzKGllLCJjdXN0b21FbGVtZW50Iil9KTtmdW5jdGlvbiBLKGEpe3JldHVybiAkKHsuLi5hLHN0YXRlOiEwLGF0dHJpYnV0ZTohMX0pfXZhciBCbXQ9ZigoKT0+e1ZZKCk7cyhLLCJyIil9KTtmdW5jdGlvbiBsQ2EoYSl7cmV0dXJuKGUsdCk9PntsZXQgcj10eXBlb2YgZT09ImZ1bmN0aW9uIj9lOmVbdF07T2JqZWN0LmFzc2lnbihyLGEpfX12YXIgSG10PWYoKCk9PntzKGxDYSwidCIpfSk7dmFyIExuLHE4PWYoKCk9PntMbj1zKChhLGUsdCk9Pih0LmNvbmZpZ3VyYWJsZT0hMCx0LmVudW1lcmFibGU9ITAsUmVmbGVjdC5kZWNvcmF0ZSYmdHlwZW9mIGUhPSJvYmplY3QiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxlLHQpLHQpLCJlIil9KTtmdW5jdGlvbiBfNmUoYSxlKXtyZXR1cm4odCxyLGkpPT57bGV0IG89cyhuPT5uLnJlbmRlclJvb3Q/LnF1ZXJ5U2VsZWN0b3IoYSk/P251bGwsIm8iKTtpZihlKXtsZXR7Z2V0Om4sc2V0Omx9PXR5cGVvZiByPT0ib2JqZWN0Ij90Omk/PygoKT0+e2xldCBkPVN5bWJvbCgpO3JldHVybntnZXQoKXtyZXR1cm4gdGhpc1tkXX0sc2V0KGMpe3RoaXNbZF09Y319fSkoKTtyZXR1cm4gTG4odCxyLHtnZXQoKXtsZXQgZD1uLmNhbGwodGhpcyk7cmV0dXJuIGQ9PT12b2lkIDAmJihkPW8odGhpcyksKGQhPT1udWxsfHx0aGlzLmhhc1VwZGF0ZWQpJiZsLmNhbGwodGhpcyxkKSksZH19KX1yZXR1cm4gTG4odCxyLHtnZXQoKXtyZXR1cm4gbyh0aGlzKX19KX19dmFyIHFtdD1mKCgpPT57cTgoKTtzKF82ZSwiZSIpfSk7ZnVuY3Rpb24gVDZlKGEpe3JldHVybihlLHQpPT5MbihlLHQse2dldCgpe3JldHVybih0aGlzLnJlbmRlclJvb3Q/PyhjQ2E/Pz1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkpKS5xdWVyeVNlbGVjdG9yQWxsKGEpfX0pfXZhciBjQ2EsVm10PWYoKCk9PntxOCgpO3MoVDZlLCJyIil9KTtmdW5jdGlvbiBMNmUoYSl7cmV0dXJuKGUsdCk9PkxuKGUsdCx7YXN5bmMgZ2V0KCl7cmV0dXJuIGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5yZW5kZXJSb290Py5xdWVyeVNlbGVjdG9yKGEpPz9udWxsfX0pfXZhciBqbXQ9ZigoKT0+e3E4KCk7cyhMNmUsInIiKX0pO2Z1bmN0aW9uIGRDYShhKXtyZXR1cm4oZSx0KT0+e2xldHtzbG90OnIsc2VsZWN0b3I6aX09YT8/e30sbz0ic2xvdCIrKHI/YFtuYW1lPSR7cn1dYDoiOm5vdChbbmFtZV0pIik7cmV0dXJuIExuKGUsdCx7Z2V0KCl7bGV0IG49dGhpcy5yZW5kZXJSb290Py5xdWVyeVNlbGVjdG9yKG8pLGw9bj8uYXNzaWduZWRFbGVtZW50cyhhKT8/W107cmV0dXJuIGk9PT12b2lkIDA/bDpsLmZpbHRlcihkPT5kLm1hdGNoZXMoaSkpfX0pfX12YXIgVW10PWYoKCk9PntxOCgpO3MoZENhLCJvIil9KTtmdW5jdGlvbiB1Q2EoYSl7cmV0dXJuKGUsdCk9PntsZXR7c2xvdDpyfT1hPz97fSxpPSJzbG90Iisocj9gW25hbWU9JHtyfV1gOiI6bm90KFtuYW1lXSkiKTtyZXR1cm4gTG4oZSx0LHtnZXQoKXtyZXR1cm4gdGhpcy5yZW5kZXJSb290Py5xdWVyeVNlbGVjdG9yKGkpPy5hc3NpZ25lZE5vZGVzKGEpPz9bXX19KX19dmFyIFdtdD1mKCgpPT57cTgoKTtzKHVDYSwibiIpfSk7dmFyIEdtdD1mKCgpPT57QzZlKCk7VlkoKTtCbXQoKTtIbXQoKTtxbXQoKTtWbXQoKTtqbXQoKTtVbXQoKTtXbXQoKX0pO3ZhciBZbXQscUoscGUsS210PWYoKCk9PntNNmUoKTt1bigpO1ltdD1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0scUo9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHBlPSgoKT0+e2xldCBhPUowLkxpdEVsZW1lbnQsZSx0PVtdLHI9W10saSxvPVtdLG49W107cmV0dXJuIGNsYXNzIGV4dGVuZHMgYXtzdGF0aWN7cyh0aGlzLCJEZWVzRWxlbWVudCIpfXN0YXRpY3tsZXQgZD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShhW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtlPVtKMC5wcm9wZXJ0eSh7dHlwZTpCb29sZWFufSldLGk9W0owLnByb3BlcnR5KCldLFltdCh0aGlzLG51bGwsZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImdvQnJpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGM9PiJnb0JyaWdodCJpbiBjLCJoYXMiKSxnZXQ6cyhjPT5jLmdvQnJpZ2h0LCJnZXQiKSxzZXQ6cygoYyxwKT0+e2MuZ29CcmlnaHQ9cH0sInNldCIpfSxtZXRhZGF0YTpkfSx0LHIpLFltdCh0aGlzLG51bGwsaSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRvbXRvb2xzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGM9PiJkb210b29scyJpbiBjLCJoYXMiKSxnZXQ6cyhjPT5jLmRvbXRvb2xzLCJnZXQiKSxzZXQ6cygoYyxwKT0+e2MuZG9tdG9vbHM9cH0sInNldCIpfSxtZXRhZGF0YTpkfSxvLG4pLGQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZH0pfXN0YXRpYyBnZXRDb250YWluZXJOYW1lKCl7cmV0dXJuIHRoaXMuaXN8fHRoaXMubmFtZS5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCl9c3RhdGljIGNzc0ZvckNvbnN0cmFpbnQoZCl7cmV0dXJuIGM9PkF0LmJyZWFrcG9pbnRzLmNzc0ZvckNvbnN0cmFpbnRDb250YWluZXIoZCx0aGlzLmdldENvbnRhaW5lck5hbWUoKSkoYyl9I2U9cUoodGhpcyx0LCExKTtnZXQgZ29CcmlnaHQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZ29CcmlnaHQoZCl7dGhpcy4jZT1kfWRvbXRvb2xzUHJvbWlzZT1xSih0aGlzLHIpOyN0PXFKKHRoaXMsbyx2b2lkIDApO2dldCBkb210b29scygpe3JldHVybiB0aGlzLiN0fXNldCBkb210b29scyhkKXt0aGlzLiN0PWR9cnhTdWJzY3JpcHRpb25zPShxSih0aGlzLG4pLFtdKTt0aGVtZVN1YnNjcmlwdGlvbjtlbGVtZW50RG9tUmVhZHlEZWZlcnJlZD1BdC5wbHVnaW5zLnNtYXJ0cHJvbWlzZS5kZWZlcigpO2VsZW1lbnREb21SZWFkeT10aGlzLmVsZW1lbnREb21SZWFkeURlZmVycmVkLnByb21pc2U7Y29uc3RydWN0b3IoZD17fSl7c3VwZXIoKSx0aGlzLmRvbXRvb2xzUHJvbWlzZT1BdC5lbGVtZW50QmFzaWMuc2V0dXAodGhpcyxkKSx0aGlzLmRvbXRvb2xzUHJvbWlzZS50aGVuKGM9Pnt0aGlzLmRvbXRvb2xzPWN9KX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCk7bGV0IGQ9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7dGhpcy50aGVtZVN1YnNjcmlwdGlvbj1kLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKGM9Pnt0aGlzLmdvQnJpZ2h0PWMsdGhpcy50aGVtZUNoYW5nZWQmJnRoaXMudGhlbWVDaGFuZ2VkKGMpfSksdGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0aGlzLnRoZW1lU3Vic2NyaXB0aW9uKTtmb3IobGV0IGMgb2YgdGhpcy5zdGFydHVwRnVuY3Rpb25zKWF3YWl0IGMoKTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWVzRWxlbWVudENvbm5lY3RlZCIpKX1maXJzdFVwZGF0ZWQoZCl7c3VwZXIuZmlyc3RVcGRhdGVkKGQpLHRoaXMuZWxlbWVudERvbVJlYWR5RGVmZXJyZWQucmVzb2x2ZSgpfXN0YXJ0dXBGdW5jdGlvbnM9W107cmVnaXN0ZXJTdGFydHVwRnVuY3Rpb24oZCl7dGhpcy5zdGFydHVwRnVuY3Rpb25zLnB1c2goZCl9Z2FyYmFnZUZ1bmN0aW9ucz1bXTtyZWdpc3RlckdhcmJhZ2VGdW5jdGlvbihkKXt0aGlzLmdhcmJhZ2VGdW5jdGlvbnMucHVzaChkKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCk7Zm9yKGxldCBkIG9mIHRoaXMucnhTdWJzY3JpcHRpb25zKWQudW5zdWJzY3JpYmUoKTtmb3IobGV0IGQgb2YgdGhpcy5nYXJiYWdlRnVuY3Rpb25zKWF3YWl0IGQoKTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWVzRWxlbWVudERpc2Nvbm5lY3RlZCIpKX19fSkoKX0pO2Z1bmN0aW9uIFZKKCl7cmV0dXJuIGZ1bmN0aW9uKGEpe2xldCBlPWEuaXN8fGEubmFtZS5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCksdD1hLm5hbWU/cENhKGEubmFtZSk6bnVsbDtpZih0JiZ0IT09ZSl7bGV0IG89cyhsPT5sJiZsLmNzc1RleHQmJmwuY3NzVGV4dC5pbmNsdWRlcyhgQGNvbnRhaW5lciAke3R9YCk/b2EobC5jc3NUZXh0LnJlcGxhY2VBbGwoYEBjb250YWluZXIgJHt0fWAsYEBjb250YWluZXIgJHtlfWApKTpsLCJmaXhTdHlsZSIpLG49YS5zdHlsZXM7QXJyYXkuaXNBcnJheShuKT9hLnN0eWxlcz1uLm1hcChvKTpuJiYoYS5zdHlsZXM9byhuKSl9bGV0IHI9a3IuY29udGFpbmVyQ29udGV4dFN0eWxlcyhlKSxpPWEuc3R5bGVzO3JldHVybiBBcnJheS5pc0FycmF5KGkpP2Euc3R5bGVzPVsuLi5pLHJdOmk/YS5zdHlsZXM9W2kscl06YS5zdHlsZXM9W3JdLGF9fXZhciBwQ2EsWm10PWYoKCk9Pnt1bigpO0p0KCk7cENhPXMoYT0+YS5yZXBsYWNlKC8oW2Etel0pKFtBLVpdKS9nLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCksImNhbWVsVG9LZWJhYiIpO3MoVkosImNvbnRhaW5lclJlc3BvbnNpdmUiKX0pO3ZhciBmQ2EsWG10LCQ2ZSxoQ2EsbUNhLGdDYSxiQ2EsdkNhLEQ2ZSxRbXQsWGwseTEseENhLHliLEE2ZSx3YixFNmUsVjg9ZigoKT0+e1FuKCk7KHtJOmZDYX09c29lKSxYbXQ9cyhhPT5hLCJpIiksJDZlPXMoYT0+YT09PW51bGx8fHR5cGVvZiBhIT0ib2JqZWN0IiYmdHlwZW9mIGEhPSJmdW5jdGlvbiIsIm4iKSxoQ2E9e0hUTUw6MSxTVkc6MixNQVRITUw6M30sbUNhPXMoKGEsZSk9PmU9PT12b2lkIDA/YT8uXyRsaXRUeXBlJCE9PXZvaWQgMDphPy5fJGxpdFR5cGUkPT09ZSwibCIpLGdDYT1zKGE9PmE/Ll8kbGl0VHlwZSQ/LmghPW51bGwsImQiKSxiQ2E9cyhhPT5hPy5fJGxpdERpcmVjdGl2ZSQhPT12b2lkIDAsImMiKSx2Q2E9cyhhPT5hPy5fJGxpdERpcmVjdGl2ZSQsImYiKSxENmU9cyhhPT5hLnN0cmluZ3M9PT12b2lkIDAsInIiKSxRbXQ9cygoKT0+ZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiIiksInMiKSxYbD1zKChhLGUsdCk9PntsZXQgcj1hLl8kQUEucGFyZW50Tm9kZSxpPWU9PT12b2lkIDA/YS5fJEFCOmUuXyRBQTtpZih0PT09dm9pZCAwKXtsZXQgbz1yLmluc2VydEJlZm9yZShRbXQoKSxpKSxuPXIuaW5zZXJ0QmVmb3JlKFFtdCgpLGkpO3Q9bmV3IGZDYShvLG4sYSxhLm9wdGlvbnMpfWVsc2V7bGV0IG89dC5fJEFCLm5leHRTaWJsaW5nLG49dC5fJEFNLGw9biE9PWE7aWYobCl7bGV0IGQ7dC5fJEFRPy4oYSksdC5fJEFNPWEsdC5fJEFQIT09dm9pZCAwJiYoZD1hLl8kQVUpIT09bi5fJEFVJiZ0Ll8kQVAoZCl9aWYobyE9PWl8fGwpe2xldCBkPXQuXyRBQTtmb3IoO2QhPT1vOyl7bGV0IGM9WG10KGQpLm5leHRTaWJsaW5nO1htdChyKS5pbnNlcnRCZWZvcmUoZCxpKSxkPWN9fX1yZXR1cm4gdH0sInYiKSx5MT1zKChhLGUsdD1hKT0+KGEuXyRBSShlLHQpLGEpLCJ1IikseENhPXt9LHliPXMoKGEsZT14Q2EpPT5hLl8kQUg9ZSwicCIpLEE2ZT1zKGE9PmEuXyRBSCwiTSIpLHdiPXMoYT0+e2EuXyRBUigpLGEuXyRBQS5yZW1vdmUoKX0sImgiKSxFNmU9cyhhPT57YS5fJEFSKCl9LCJqIil9KTtmdW5jdGlvbiB5Q2EoYSl7dGhpcy5fJEFOIT09dm9pZCAwPyhqSih0aGlzKSx0aGlzLl8kQU09YSxKbXQodGhpcykpOnRoaXMuXyRBTT1hfWZ1bmN0aW9uIHdDYShhLGU9ITEsdD0wKXtsZXQgcj10aGlzLl8kQUgsaT10aGlzLl8kQU47aWYoaSE9PXZvaWQgMCYmaS5zaXplIT09MClpZihlKWlmKEFycmF5LmlzQXJyYXkocikpZm9yKGxldCBvPXQ7bzxyLmxlbmd0aDtvKyspTWIocltvXSwhMSksakoocltvXSk7ZWxzZSByIT1udWxsJiYoTWIociwhMSksakoocikpO2Vsc2UgTWIodGhpcyxhKX12YXIgTWIsakosSm10LE1DYSxZbyxVSj1mKCgpPT57VjgoKTtabCgpO1psKCk7TWI9cygoYSxlKT0+e2xldCB0PWEuXyRBTjtpZih0PT09dm9pZCAwKXJldHVybiExO2ZvcihsZXQgciBvZiB0KXIuXyRBTz8uKGUsITEpLE1iKHIsZSk7cmV0dXJuITB9LCJzIiksako9cyhhPT57bGV0IGUsdDtkb3tpZigoZT1hLl8kQU0pPT09dm9pZCAwKWJyZWFrO3Q9ZS5fJEFOLHQuZGVsZXRlKGEpLGE9ZX13aGlsZSh0Py5zaXplPT09MCl9LCJvIiksSm10PXMoYT0+e2ZvcihsZXQgZTtlPWEuXyRBTTthPWUpe2xldCB0PWUuXyRBTjtpZih0PT09dm9pZCAwKWUuXyRBTj10PW5ldyBTZXQ7ZWxzZSBpZih0LmhhcyhhKSlicmVhazt0LmFkZChhKSxNQ2EoZSl9fSwiciIpO3MoeUNhLCJoIik7cyh3Q2EsIm4iKTtNQ2E9cyhhPT57YS50eXBlPT1GMi5DSElMRCYmKGEuXyRBUD8/PXdDYSxhLl8kQVE/Pz15Q2EpfSwiYyIpLFlvPWNsYXNzIGV4dGVuZHMgVG57c3RhdGlje3ModGhpcywiZiIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0aGlzLl8kQU49dm9pZCAwfV8kQVQoZSx0LHIpe3N1cGVyLl8kQVQoZSx0LHIpLEptdCh0aGlzKSx0aGlzLmlzQ29ubmVjdGVkPWUuXyRBVX1fJEFPKGUsdD0hMCl7ZSE9PXRoaXMuaXNDb25uZWN0ZWQmJih0aGlzLmlzQ29ubmVjdGVkPWUsZT90aGlzLnJlY29ubmVjdGVkPy4oKTp0aGlzLmRpc2Nvbm5lY3RlZD8uKCkpLHQmJihNYih0aGlzLGUpLGpKKHRoaXMpKX1zZXRWYWx1ZShlKXtpZihENmUodGhpcy5fJEN0KSl0aGlzLl8kQ3QuXyRBSShlLHRoaXMpO2Vsc2V7bGV0IHQ9Wy4uLnRoaXMuXyRDdC5fJEFIXTt0W3RoaXMuXyRDaV09ZSx0aGlzLl8kQ3QuXyRBSSh0LHRoaXMsMCl9fWRpc2Nvbm5lY3RlZCgpe31yZWNvbm5lY3RlZCgpe319fSk7dmFyIFdKPWYoKCk9PntVSigpfSk7dmFyIFA2ZSxlN3Qsa0NhLHQ3dD1mKCgpPT57dW4oKTtXSigpO1A2ZT1jbGFzcyBleHRlbmRzIFlve3N0YXRpY3tzKHRoaXMsIlJlc29sdmVEaXJlY3RpdmUiKX1wcm9taXNlO2hhc1Byb21pc2VTZXR0bGVkPSExO3JlbmRlcihlKXtyZXR1cm4gdGhpcy5wcm9taXNlIT09ZSYmKHRoaXMucHJvbWlzZT1lLHRoaXMuaXNDb25uZWN0ZWQmJnRoaXMuaGFuZGxlUHJvbWlzZShlKSksbHJ9aGFuZGxlUHJvbWlzZShlKXt0aGlzLmhhc1Byb21pc2VTZXR0bGVkPSExLGUudGhlbih0PT57dGhpcy5wcm9taXNlPT09ZSYmIXRoaXMuaGFzUHJvbWlzZVNldHRsZWQmJih0aGlzLnNldFZhbHVlKHQpLHRoaXMuaGFzUHJvbWlzZVNldHRsZWQ9ITApfSkuY2F0Y2godD0+e3RoaXMucHJvbWlzZT09PWUmJiF0aGlzLmhhc1Byb21pc2VTZXR0bGVkJiYodGhpcy5zZXRWYWx1ZSh0KSx0aGlzLmhhc1Byb21pc2VTZXR0bGVkPSEwKX0pfWRpc2Nvbm5lY3RlZCgpe3RoaXMuaGFzUHJvbWlzZVNldHRsZWQ9ITB9cmVjb25uZWN0ZWQoKXt0aGlzLmhhc1Byb21pc2VTZXR0bGVkfHx0aGlzLmhhbmRsZVByb21pc2UodGhpcy5wcm9taXNlKX19LGU3dD1kcyhQNmUpLGtDYT1zKGE9PmU3dChhKCkpLCJyZXNvbHZlRXhlYyIpfSk7dmFyIEk2ZSxTQ2EsYTd0PWYoKCk9Pnt1bigpO1dKKCk7cDIoKTtJNmU9Y2xhc3MgZXh0ZW5kcyBZb3tzdGF0aWN7cyh0aGlzLCJTdWJzY3JpYmVEaXJlY3RpdmUiKX1vYnNlcnZhYmxlO3N1Yj1udWxsO3JlbmRlcihlKXtyZXR1cm4gdGhpcy5vYnNlcnZhYmxlIT09ZSYmKHRoaXMuc3ViPy51bnN1YnNjcmliZSgpLHRoaXMub2JzZXJ2YWJsZT1lLHRoaXMuaXNDb25uZWN0ZWQmJnRoaXMuc3Vic2NyaWJlKGUpKSxscn1zdWJzY3JpYmUoZSl7dGhpcy5zdWI9ZS5zdWJzY3JpYmUodD0+e3RoaXMuc2V0VmFsdWUodCl9KX1kaXNjb25uZWN0ZWQoKXt0aGlzLnN1Yj8udW5zdWJzY3JpYmUoKX1yZWNvbm5lY3RlZCgpe3RoaXMuc3Vic2NyaWJlKHRoaXMub2JzZXJ2YWJsZSl9fSxTQ2E9ZHMoSTZlKX0pO3ZhciBONmUscjd0LHM3dD1mKCgpPT57dW4oKTtXSigpO3AyKCk7TjZlPWNsYXNzIGV4dGVuZHMgWW97c3RhdGlje3ModGhpcywiU3Vic2NyaWJlV2l0aFRlbXBsYXRlRGlyZWN0aXZlIil9b2JzZXJ2YWJsZTt0ZW1wbGF0ZUZuO3N1Yj1udWxsO3JlbmRlcihlLHQpe3JldHVybih0aGlzLm9ic2VydmFibGUhPT1lfHx0aGlzLnRlbXBsYXRlRm4hPT10KSYmKHRoaXMuc3ViPy51bnN1YnNjcmliZSgpLHRoaXMub2JzZXJ2YWJsZT1lLHRoaXMudGVtcGxhdGVGbj10LHRoaXMuaXNDb25uZWN0ZWQmJnRoaXMuc3RhcnRTdWJzY3JpcHRpb24oKSksbHJ9c3RhcnRTdWJzY3JpcHRpb24oKXt0aGlzLnN1Yj10aGlzLm9ic2VydmFibGUuc3Vic2NyaWJlKGU9PntsZXQgdD10aGlzLnRlbXBsYXRlRm4oZSk7dGhpcy5zZXRWYWx1ZSh0KX0pfWRpc2Nvbm5lY3RlZCgpe3RoaXMuc3ViPy51bnN1YnNjcmliZSgpfXJlY29ubmVjdGVkKCl7dGhpcy5zdGFydFN1YnNjcmlwdGlvbigpfX0scjd0PWRzKE42ZSl9KTt2YXIgUjZlLGNkLGRkLE82ZT1mKCgpPT57UjZlPXMoYXN5bmMoYSxlKT0+e2ZvciBhd2FpdChsZXQgdCBvZiBhKWlmKGF3YWl0IGUodCk9PT0hMSlyZXR1cm59LCJ0IiksY2Q9Y2xhc3N7c3RhdGlje3ModGhpcywicyIpfWNvbnN0cnVjdG9yKGUpe3RoaXMuRz1lfWRpc2Nvbm5lY3QoKXt0aGlzLkc9dm9pZCAwfXJlY29ubmVjdChlKXt0aGlzLkc9ZX1kZXJlZigpe3JldHVybiB0aGlzLkd9fSxkZD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJpIil9Y29uc3RydWN0b3IoKXt0aGlzLlk9dm9pZCAwLHRoaXMuWj12b2lkIDB9Z2V0KCl7cmV0dXJuIHRoaXMuWX1wYXVzZSgpe3RoaXMuWT8/PW5ldyBQcm9taXNlKGU9PnRoaXMuWj1lKX1yZXN1bWUoKXt0aGlzLlo/LigpLHRoaXMuWT10aGlzLlo9dm9pZCAwfX19KTt2YXIgaTd0LG83dCxHSixGNmUsbjd0PWYoKCk9PntRbigpO1Y4KCk7VUooKTtPNmUoKTtabCgpO2k3dD1zKGE9PiEkNmUoYSkmJnR5cGVvZiBhLnRoZW49PSJmdW5jdGlvbiIsIm4iKSxvN3Q9MTA3Mzc0MTgyMyxHSj1jbGFzcyBleHRlbmRzIFlve3N0YXRpY3tzKHRoaXMsImMiKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdGhpcy5fJEN3dD1vN3QsdGhpcy5fJENidD1bXSx0aGlzLl8kQ0s9bmV3IGNkKHRoaXMpLHRoaXMuXyRDWD1uZXcgZGR9cmVuZGVyKC4uLmUpe3JldHVybiBlLmZpbmQodD0+IWk3dCh0KSk/P2xyfXVwZGF0ZShlLHQpe2xldCByPXRoaXMuXyRDYnQsaT1yLmxlbmd0aDt0aGlzLl8kQ2J0PXQ7bGV0IG89dGhpcy5fJENLLG49dGhpcy5fJENYO3RoaXMuaXNDb25uZWN0ZWR8fHRoaXMuZGlzY29ubmVjdGVkKCk7Zm9yKGxldCBsPTA7bDx0Lmxlbmd0aCYmIShsPnRoaXMuXyRDd3QpO2wrKyl7bGV0IGQ9dFtsXTtpZighaTd0KGQpKXJldHVybiB0aGlzLl8kQ3d0PWwsZDtsPGkmJmQ9PT1yW2xdfHwodGhpcy5fJEN3dD1vN3QsaT0wLFByb21pc2UucmVzb2x2ZShkKS50aGVuKGFzeW5jIGM9Pntmb3IoO24uZ2V0KCk7KWF3YWl0IG4uZ2V0KCk7bGV0IHA9by5kZXJlZigpO2lmKHAhPT12b2lkIDApe2xldCB1PXAuXyRDYnQuaW5kZXhPZihkKTt1Pi0xJiZ1PHAuXyRDd3QmJihwLl8kQ3d0PXUscC5zZXRWYWx1ZShjKSl9fSkpfXJldHVybiBscn1kaXNjb25uZWN0ZWQoKXt0aGlzLl8kQ0suZGlzY29ubmVjdCgpLHRoaXMuXyRDWC5wYXVzZSgpfXJlY29ubmVjdGVkKCl7dGhpcy5fJENLLnJlY29ubmVjdCh0aGlzKSx0aGlzLl8kQ1gucmVzdW1lKCl9fSxGNmU9ZHMoR0opfSk7dmFyIGw3dD1mKCgpPT57bjd0KCl9KTt2YXIgajgsekNhLGM3dD1mKCgpPT57UW4oKTtVSigpO082ZSgpO1psKCk7ajg9Y2xhc3MgZXh0ZW5kcyBZb3tzdGF0aWN7cyh0aGlzLCJvIil9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMuXyRDSz1uZXcgY2QodGhpcyksdGhpcy5fJENYPW5ldyBkZH1yZW5kZXIoZSx0KXtyZXR1cm4gbHJ9dXBkYXRlKGUsW3Qscl0pe2lmKHRoaXMuaXNDb25uZWN0ZWR8fHRoaXMuZGlzY29ubmVjdGVkKCksdD09PXRoaXMuXyRDSilyZXR1cm4gbHI7dGhpcy5fJENKPXQ7bGV0IGk9MCx7XyRDSzpvLF8kQ1g6bn09dGhpcztyZXR1cm4gUjZlKHQsYXN5bmMgbD0+e2Zvcig7bi5nZXQoKTspYXdhaXQgbi5nZXQoKTtsZXQgZD1vLmRlcmVmKCk7aWYoZCE9PXZvaWQgMCl7aWYoZC5fJENKIT09dClyZXR1cm4hMTtyIT09dm9pZCAwJiYobD1yKGwsaSkpLGQuY29tbWl0VmFsdWUobCxpKSxpKyt9cmV0dXJuITB9KSxscn1jb21taXRWYWx1ZShlLHQpe3RoaXMuc2V0VmFsdWUoZSl9ZGlzY29ubmVjdGVkKCl7dGhpcy5fJENLLmRpc2Nvbm5lY3QoKSx0aGlzLl8kQ1gucGF1c2UoKX1yZWNvbm5lY3RlZCgpe3RoaXMuXyRDSy5yZWNvbm5lY3QodGhpcyksdGhpcy5fJENYLnJlc3VtZSgpfX0sekNhPWRzKGo4KX0pO3ZhciBCNmUsZDd0PWYoKCk9PntabCgpO2M3dCgpO1Y4KCk7QjZlPWRzKGNsYXNzIGV4dGVuZHMgajh7Y29uc3RydWN0b3IoYSl7aWYoc3VwZXIoYSksYS50eXBlIT09RjIuQ0hJTEQpdGhyb3cgRXJyb3IoImFzeW5jQXBwZW5kIGNhbiBvbmx5IGJlIHVzZWQgaW4gY2hpbGQgZXhwcmVzc2lvbnMiKX11cGRhdGUoYSxlKXtyZXR1cm4gdGhpcy5fJEN0dD1hLHN1cGVyLnVwZGF0ZShhLGUpfWNvbW1pdFZhbHVlKGEsZSl7ZT09PTAmJkU2ZSh0aGlzLl8kQ3R0KTtsZXQgdD1YbCh0aGlzLl8kQ3R0KTt5MSh0LGEpfX0pfSk7dmFyIHU3dD1mKCgpPT57ZDd0KCl9KTt2YXIgSDZlLHA3dD1mKCgpPT57UW4oKTtabCgpO1Y4KCk7SDZlPWRzKGNsYXNzIGV4dGVuZHMgVG57Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHRoaXMua2V5PXhyfXJlbmRlcihhLGUpe3JldHVybiB0aGlzLmtleT1hLGV9dXBkYXRlKGEsW2UsdF0pe3JldHVybiBlIT09dGhpcy5rZXkmJih5YihhKSx0aGlzLmtleT1lKSx0fX0pfSk7dmFyIGY3dD1mKCgpPT57cDd0KCl9KTt2YXIgaDd0LHE2ZSxtN3Q9ZigoKT0+e1FuKCk7WmwoKTtWOCgpO2g3dD1zKChhLGUsdCk9PntsZXQgcj1uZXcgTWFwO2ZvcihsZXQgaT1lO2k8PXQ7aSsrKXIuc2V0KGFbaV0saSk7cmV0dXJuIHJ9LCJ1IikscTZlPWRzKGNsYXNzIGV4dGVuZHMgVG57Y29uc3RydWN0b3IoYSl7aWYoc3VwZXIoYSksYS50eXBlIT09RjIuQ0hJTEQpdGhyb3cgRXJyb3IoInJlcGVhdCgpIGNhbiBvbmx5IGJlIHVzZWQgaW4gdGV4dCBleHByZXNzaW9ucyIpfWR0KGEsZSx0KXtsZXQgcjt0PT09dm9pZCAwP3Q9ZTplIT09dm9pZCAwJiYocj1lKTtsZXQgaT1bXSxvPVtdLG49MDtmb3IobGV0IGwgb2YgYSlpW25dPXI/cihsLG4pOm4sb1tuXT10KGwsbiksbisrO3JldHVybnt2YWx1ZXM6byxrZXlzOml9fXJlbmRlcihhLGUsdCl7cmV0dXJuIHRoaXMuZHQoYSxlLHQpLnZhbHVlc311cGRhdGUoYSxbZSx0LHJdKXtsZXQgaT1BNmUoYSkse3ZhbHVlczpvLGtleXM6bn09dGhpcy5kdChlLHQscik7aWYoIUFycmF5LmlzQXJyYXkoaSkpcmV0dXJuIHRoaXMudXQ9bixvO2xldCBsPXRoaXMudXQ/Pz1bXSxkPVtdLGMscCx1PTAsbT1pLmxlbmd0aC0xLHY9MCx4PW8ubGVuZ3RoLTE7Zm9yKDt1PD1tJiZ2PD14OylpZihpW3VdPT09bnVsbCl1Kys7ZWxzZSBpZihpW21dPT09bnVsbCltLS07ZWxzZSBpZihsW3VdPT09blt2XSlkW3ZdPXkxKGlbdV0sb1t2XSksdSsrLHYrKztlbHNlIGlmKGxbbV09PT1uW3hdKWRbeF09eTEoaVttXSxvW3hdKSxtLS0seC0tO2Vsc2UgaWYobFt1XT09PW5beF0pZFt4XT15MShpW3VdLG9beF0pLFhsKGEsZFt4KzFdLGlbdV0pLHUrKyx4LS07ZWxzZSBpZihsW21dPT09blt2XSlkW3ZdPXkxKGlbbV0sb1t2XSksWGwoYSxpW3VdLGlbbV0pLG0tLSx2Kys7ZWxzZSBpZihjPT09dm9pZCAwJiYoYz1oN3Qobix2LHgpLHA9aDd0KGwsdSxtKSksYy5oYXMobFt1XSkpaWYoYy5oYXMobFttXSkpe2xldCBiPXAuZ2V0KG5bdl0pLGc9YiE9PXZvaWQgMD9pW2JdOm51bGw7aWYoZz09PW51bGwpe2xldCB5PVhsKGEsaVt1XSk7eTEoeSxvW3ZdKSxkW3ZdPXl9ZWxzZSBkW3ZdPXkxKGcsb1t2XSksWGwoYSxpW3VdLGcpLGlbYl09bnVsbDt2Kyt9ZWxzZSB3YihpW21dKSxtLS07ZWxzZSB3YihpW3VdKSx1Kys7Zm9yKDt2PD14Oyl7bGV0IGI9WGwoYSxkW3grMV0pO3kxKGIsb1t2XSksZFt2KytdPWJ9Zm9yKDt1PD1tOyl7bGV0IGI9aVt1KytdO2IhPT1udWxsJiZ3YihiKX1yZXR1cm4gdGhpcy51dD1uLHliKGEsZCksbHJ9fSl9KTt2YXIgZzd0PWYoKCk9PnttN3QoKX0pO3ZhciBLbz17fTtsdChLbyx7YXN5bmNBcHBlbmQ6KCk9PkI2ZSxrZXllZDooKT0+SDZlLHJlcGVhdDooKT0+cTZlLHJlc29sdmU6KCk9PmU3dCxyZXNvbHZlRXhlYzooKT0+a0NhLHN1YnNjcmliZTooKT0+U0NhLHN1YnNjcmliZVdpdGhUZW1wbGF0ZTooKT0+cjd0LHVudGlsOigpPT5GNmV9KTt2YXIgYjd0PWYoKCk9Pnt0N3QoKTthN3QoKTtzN3QoKTtsN3QoKTt1N3QoKTtmN3QoKTtnN3QoKX0pO3ZhciB1ZD17fTtsdCh1ZCx7RGVlc0VsZW1lbnQ6KCk9PnBlLGNvbnRhaW5lclJlc3BvbnNpdmU6KCk9PlZKLGNzczooKT0+USxjc3NNYW5hZ2VyOigpPT5oLGN1c3RvbUVsZW1lbnQ6KCk9PmllLGRpcmVjdGl2ZXM6KCk9PktvLGRvbXRvb2xzOigpPT5BdCxodG1sOigpPT53LHByb3BlcnR5OigpPT4kLHF1ZXJ5OigpPT5fNmUscXVlcnlBbGw6KCk9PlQ2ZSxxdWVyeUFzeW5jOigpPT5MNmUscmVuZGVyOigpPT5lMCxzdGF0ZTooKT0+SyxzdGF0aWM6KCk9PktsLHVuc2FmZUNTUzooKT0+b2EsdW5zYWZlSFRNTDooKT0+eGIsdW5zYWZlU3RhdGljOigpPT5TNmV9KTt2YXIgaCxsZT1mKCgpPT57QW10KCk7dW4oKTtJbXQoKTtSbXQoKTtGbXQoKTtHbXQoKTtKdCgpO0ttdCgpO1ptdCgpO2I3dCgpO2g9QkouZ2V0U2luZ2xldG9uKCl9KTtmdW5jdGlvbiBDQ2EoYSxlKXtsZXQgdD1Mc1thXTtyZXR1cm4gdHlwZW9mIHQ9PSJvYmplY3QiJiZlP3RbZV18fCJhdXRvIjp0eXBlb2YgdD09Im51bWJlciI/dDoiYXV0byJ9dmFyIExzLF9DYSxZSixadCxqaT1mKCgpPT57THM9e2Jhc2U6e2NvbnRlbnQ6ImF1dG8iLGlucHV0RWxlbWVudHM6MX0sZml4ZWQ6e2FwcEJhcjoxMCxzaWRlTWVudToxMCxtb2JpbGVOYXY6MjUwfSxiYWNrZHJvcDp7ZHJvcGRvd246MTk5OSxtb2RhbDoyOTk5LGNvbnRleHRNZW51OjM5OTl9LG92ZXJsYXk6e2Ryb3Bkb3duOjJlMyxtb2RhbDozZTMsY29udGV4dE1lbnU6NGUzLHRvYXN0OjVlM30sbW9kYWxEcm9wZG93bjozNTAwLHd5c2l3eWdNZW51czo0NTAwfTtzKENDYSwiZ2V0WkluZGV4Iik7X0NhPXsiZGVlcy1tb2RhbCI6THMub3ZlcmxheS5tb2RhbCwiZGVlcy13aW5kb3dsYXllciI6THMub3ZlcmxheS5kcm9wZG93biwiZGVlcy1jb250ZXh0bWVudSI6THMub3ZlcmxheS5jb250ZXh0TWVudSwiZGVlcy10b2FzdCI6THMub3ZlcmxheS50b2FzdCwiZGVlcy1hcHB1aS1tYWlubWVudSI6THMuZml4ZWQuYXBwQmFyLCJkZWVzLW1vYmlsZW5hdmlnYXRpb24iOkxzLmZpeGVkLm1vYmlsZU5hdiwiZGVlcy1zbGFzaC1tZW51IjpMcy53eXNpd3lnTWVudXMsImRlZXMtZm9ybWF0dGluZy1tZW51IjpMcy53eXNpd3lnTWVudXN9LFlKPWNsYXNzIGF7c3RhdGlje3ModGhpcywiWkluZGV4UmVnaXN0cnkiKX1zdGF0aWMgaW5zdGFuY2U7YWN0aXZlRWxlbWVudHM9bmV3IFNldDtlbGVtZW50WkluZGV4TWFwPW5ldyBXZWFrTWFwO2N1cnJlbnRaSW5kZXg9MWUzO2NvbnN0cnVjdG9yKCl7fXN0YXRpYyBnZXRJbnN0YW5jZSgpe3JldHVybiBhLmluc3RhbmNlfHwoYS5pbnN0YW5jZT1uZXcgYSksYS5pbnN0YW5jZX1nZXROZXh0WkluZGV4KCl7cmV0dXJuIHRoaXMuY3VycmVudFpJbmRleCs9MTAsdGhpcy5jdXJyZW50WkluZGV4fXJlZ2lzdGVyKGUsdCl7dGhpcy5hY3RpdmVFbGVtZW50cy5hZGQoZSksdGhpcy5lbGVtZW50WkluZGV4TWFwLnNldChlLHQpfXVucmVnaXN0ZXIoZSl7dGhpcy5hY3RpdmVFbGVtZW50cy5kZWxldGUoZSksdGhpcy5lbGVtZW50WkluZGV4TWFwLmRlbGV0ZShlKSx0aGlzLmFjdGl2ZUVsZW1lbnRzLnNpemU9PT0wJiYodGhpcy5jdXJyZW50WkluZGV4PTFlMyl9Z2V0RWxlbWVudFpJbmRleChlKXtyZXR1cm4gdGhpcy5lbGVtZW50WkluZGV4TWFwLmdldChlKX1nZXRBY3RpdmVDb3VudCgpe3JldHVybiB0aGlzLmFjdGl2ZUVsZW1lbnRzLnNpemV9Z2V0Q3VycmVudFpJbmRleCgpe3JldHVybiB0aGlzLmN1cnJlbnRaSW5kZXh9Y2xlYXIoKXt0aGlzLmFjdGl2ZUVsZW1lbnRzLmNsZWFyKCksdGhpcy5lbGVtZW50WkluZGV4TWFwPW5ldyBXZWFrTWFwLHRoaXMuY3VycmVudFpJbmRleD0xZTN9Z2V0QWN0aXZlRWxlbWVudHNJbk9yZGVyKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5hY3RpdmVFbGVtZW50cykuc29ydCgoZSx0KT0+e2xldCByPXRoaXMuZWxlbWVudFpJbmRleE1hcC5nZXQoZSl8fDAsaT10aGlzLmVsZW1lbnRaSW5kZXhNYXAuZ2V0KHQpfHwwO3JldHVybiByLWl9KX19LFp0PVlKLmdldEluc3RhbmNlKCl9KTt2YXIgWm8sUnIsT3IsRWUsUWU9ZigoKT0+e2xlKCk7Wm89e2NvbG9yczp7bGlnaHQ6e2JnUHJpbWFyeToiaHNsKDAgMCUgMTAwJSkiLGJnU2Vjb25kYXJ5OiJoc2woMCAwJSA5OCUpIixiZ1RlcnRpYXJ5OiJoc2woMCAwJSA5NiUpIix0ZXh0UHJpbWFyeToiaHNsKDAgMCUgMy45JSkiLHRleHRTZWNvbmRhcnk6ImhzbCgwIDAlIDIwJSkiLHRleHRNdXRlZDoiaHNsKDAgMCUgNDUlKSIsdGV4dFdhcm06IiM3ODcxNmMiLGJvcmRlckRlZmF1bHQ6ImhzbCgwIDAlIDg5LjglKSIsYm9yZGVyU3VidGxlOiJoc2woMCAwJSA5MyUpIixib3JkZXJTdHJvbmc6ImhzbCgwIDAlIDgwJSkiLGFjY2VudFByaW1hcnk6IiMzYjgyZjYiLGFjY2VudFN1Y2Nlc3M6IiMyMmM1NWUiLGFjY2VudFdhcm5pbmc6IiNmNTllMGIiLGFjY2VudEVycm9yOiIjZWY0NDQ0IixiYWRnZURlZmF1bHRCZzoiI2Y0ZjRmNSIsYmFkZ2VEZWZhdWx0Rmc6IiMzZjNmNDYiLGJhZGdlU3VjY2Vzc0JnOiIjZGNmY2U3IixiYWRnZVN1Y2Nlc3NGZzoiIzE2NjUzNCIsYmFkZ2VXYXJuaW5nQmc6IiNmZWYzYzciLGJhZGdlV2FybmluZ0ZnOiIjOTI0MDBlIixiYWRnZUVycm9yQmc6IiNmZWUyZTIiLGJhZGdlRXJyb3JGZzoiIzk5MWIxYiJ9LGRhcms6e2JnUHJpbWFyeToiaHNsKDAgMCUgMy45JSkiLGJnU2Vjb25kYXJ5OiJoc2woMCAwJSAzLjklKSIsYmdUZXJ0aWFyeToiaHNsKDAgMCUgNyUpIix0ZXh0UHJpbWFyeToiaHNsKDAgMCUgOTglKSIsdGV4dFNlY29uZGFyeToiaHNsKDAgMCUgNjMuOSUpIix0ZXh0TXV0ZWQ6ImhzbCgwIDAlIDU1JSkiLHRleHRXYXJtOiIjYjVhOTlhIixib3JkZXJEZWZhdWx0OiJoc2woMCAwJSAxNC45JSkiLGJvcmRlclN1YnRsZToiaHNsKDAgMCUgMTElKSIsYm9yZGVyU3Ryb25nOiJoc2woMCAwJSAyMCUpIixhY2NlbnRQcmltYXJ5OiIjM2I4MmY2IixhY2NlbnRTdWNjZXNzOiIjMjJjNTVlIixhY2NlbnRXYXJuaW5nOiIjZjU5ZTBiIixhY2NlbnRFcnJvcjoiI2VmNDQ0NCIsYmFkZ2VEZWZhdWx0Qmc6IiMyNzI3MmEiLGJhZGdlRGVmYXVsdEZnOiIjYTFhMWFhIixiYWRnZVN1Y2Nlc3NCZzoiIzE0NTMyZCIsYmFkZ2VTdWNjZXNzRmc6IiM0YWRlODAiLGJhZGdlV2FybmluZ0JnOiIjNDUxYTAzIixiYWRnZVdhcm5pbmdGZzoiI2ZiYmYyNCIsYmFkZ2VFcnJvckJnOiIjNDUwYTBhIixiYWRnZUVycm9yRmc6IiNmODcxNzEifX0sc3BhY2luZzp7eHM6IjRweCIsc206IjhweCIsbWQ6IjEycHgiLGxnOiIxNnB4Iix4bDoiMjRweCIsIjJ4bCI6IjMycHgiLCIzeGwiOiI0OHB4In0scmFkaXVzOnt4czoiMnB4IixzbToiNHB4IixtZDoiNnB4IixsZzoiOHB4Iix4bDoiMTJweCIsZnVsbDoiOTk5cHgifSxzaGFkb3dzOnt4czoiMCAxcHggMnB4IDAgcmdiKDAgMCAwIC8gMC4wNSkiLHNtOiIwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpIixtZDoiMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSkiLGxnOiIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSkifSx0cmFuc2l0aW9uczp7ZmFzdDoiMC4xcyIsZGVmYXVsdDoiMC4xNXMiLHNsb3c6IjAuMnMiLHNsb3dlcjoiMC4zcyJ9LGNvbnRyb2xIZWlnaHRzOntzbToiMzJweCIsbWQ6IjM2cHgiLGxnOiI0MHB4Iix4bDoiNDhweCJ9fSxScj1aby5jb2xvcnMubGlnaHQsT3I9Wm8uY29sb3JzLmRhcmssRWU9UWAKICA6aG9zdCB7CiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb2xvcnMg4oCUIEJhY2tncm91bmQgKGZyb20gdGhlbWVEZWZhdWx0cykKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5OiAke2guYmRUaGVtZShSci5iZ1ByaW1hcnksT3IuYmdQcmltYXJ5KX07CiAgICAtLWRlZXMtY29sb3ItYmctc2Vjb25kYXJ5OiAke2guYmRUaGVtZShSci5iZ1NlY29uZGFyeSxPci5iZ1NlY29uZGFyeSl9OwogICAgLS1kZWVzLWNvbG9yLWJnLXRlcnRpYXJ5OiAke2guYmRUaGVtZShSci5iZ1RlcnRpYXJ5LE9yLmJnVGVydGlhcnkpfTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb2xvcnMg4oCUIFRleHQgKGZyb20gdGhlbWVEZWZhdWx0cykKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnk6ICR7aC5iZFRoZW1lKFJyLnRleHRQcmltYXJ5LE9yLnRleHRQcmltYXJ5KX07CiAgICAtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnk6ICR7aC5iZFRoZW1lKFJyLnRleHRTZWNvbmRhcnksT3IudGV4dFNlY29uZGFyeSl9OwogICAgLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQ6ICR7aC5iZFRoZW1lKFJyLnRleHRNdXRlZCxPci50ZXh0TXV0ZWQpfTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb2xvcnMg4oCUIEJvcmRlciAoZnJvbSB0aGVtZURlZmF1bHRzKQogICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0OiAke2guYmRUaGVtZShSci5ib3JkZXJEZWZhdWx0LE9yLmJvcmRlckRlZmF1bHQpfTsKICAgIC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlOiAke2guYmRUaGVtZShSci5ib3JkZXJTdWJ0bGUsT3IuYm9yZGVyU3VidGxlKX07CiAgICAtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZzogJHtoLmJkVGhlbWUoUnIuYm9yZGVyU3Ryb25nLE9yLmJvcmRlclN0cm9uZyl9OwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbG9ycyDigJQgV2FybSBUZXh0IChmcm9tIHRoZW1lRGVmYXVsdHMpCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtY29sb3ItdGV4dC13YXJtOiAke2guYmRUaGVtZShSci50ZXh0V2FybSxPci50ZXh0V2FybSl9OwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbG9ycyDigJQgQWNjZW50IChmcm9tIHRoZW1lRGVmYXVsdHMpCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtY29sb3ItYWNjZW50LXByaW1hcnk6ICR7aC5iZFRoZW1lKFJyLmFjY2VudFByaW1hcnksT3IuYWNjZW50UHJpbWFyeSl9OwogICAgLS1kZWVzLWNvbG9yLWFjY2VudC1zdWNjZXNzOiAke2guYmRUaGVtZShSci5hY2NlbnRTdWNjZXNzLE9yLmFjY2VudFN1Y2Nlc3MpfTsKICAgIC0tZGVlcy1jb2xvci1hY2NlbnQtd2FybmluZzogJHtoLmJkVGhlbWUoUnIuYWNjZW50V2FybmluZyxPci5hY2NlbnRXYXJuaW5nKX07CiAgICAtLWRlZXMtY29sb3ItYWNjZW50LWVycm9yOiAke2guYmRUaGVtZShSci5hY2NlbnRFcnJvcixPci5hY2NlbnRFcnJvcil9OwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbG9ycyDigJQgQmFkZ2UgKGZyb20gdGhlbWVEZWZhdWx0cykKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb2xvci1iYWRnZS1kZWZhdWx0LWJnOiAke2guYmRUaGVtZShSci5iYWRnZURlZmF1bHRCZyxPci5iYWRnZURlZmF1bHRCZyl9OwogICAgLS1kZWVzLWNvbG9yLWJhZGdlLWRlZmF1bHQtZmc6ICR7aC5iZFRoZW1lKFJyLmJhZGdlRGVmYXVsdEZnLE9yLmJhZGdlRGVmYXVsdEZnKX07CiAgICAtLWRlZXMtY29sb3ItYmFkZ2Utc3VjY2Vzcy1iZzogJHtoLmJkVGhlbWUoUnIuYmFkZ2VTdWNjZXNzQmcsT3IuYmFkZ2VTdWNjZXNzQmcpfTsKICAgIC0tZGVlcy1jb2xvci1iYWRnZS1zdWNjZXNzLWZnOiAke2guYmRUaGVtZShSci5iYWRnZVN1Y2Nlc3NGZyxPci5iYWRnZVN1Y2Nlc3NGZyl9OwogICAgLS1kZWVzLWNvbG9yLWJhZGdlLXdhcm5pbmctYmc6ICR7aC5iZFRoZW1lKFJyLmJhZGdlV2FybmluZ0JnLE9yLmJhZGdlV2FybmluZ0JnKX07CiAgICAtLWRlZXMtY29sb3ItYmFkZ2Utd2FybmluZy1mZzogJHtoLmJkVGhlbWUoUnIuYmFkZ2VXYXJuaW5nRmcsT3IuYmFkZ2VXYXJuaW5nRmcpfTsKICAgIC0tZGVlcy1jb2xvci1iYWRnZS1lcnJvci1iZzogJHtoLmJkVGhlbWUoUnIuYmFkZ2VFcnJvckJnLE9yLmJhZGdlRXJyb3JCZyl9OwogICAgLS1kZWVzLWNvbG9yLWJhZGdlLWVycm9yLWZnOiAke2guYmRUaGVtZShSci5iYWRnZUVycm9yRmcsT3IuYmFkZ2VFcnJvckZnKX07CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICogQ29sb3JzIOKAlCBJbnRlcmFjdGl2ZSBTdGF0ZXMKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb2xvci1ob3ZlcjogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpIil9OwogICAgLS1kZWVzLWNvbG9yLWFjdGl2ZTogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNikiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgLS1kZWVzLWNvbG9yLXByZXNzZWQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDgpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKSIpfTsKICAgIC0tZGVlcy1jb2xvci1yb3ctaG92ZXI6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjA2KSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDgpIil9OwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbG9ycyDigJQgRm9jdXMgUmluZwogICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLS1kZWVzLWNvbG9yLWZvY3VzLXJpbmc6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC40KSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjQpIil9OwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbG9ycyDigJQgVG9vbHRpcCAoaW52ZXJ0ZWQgY29udHJhc3QpCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtY29sb3ItdG9vbHRpcC1iZzogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgLS1kZWVzLWNvbG9yLXRvb2x0aXAtZmc6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb2xvcnMg4oCUIExpbmsKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb2xvci1saW5rOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAtLWRlZXMtY29sb3ItbGluay1ob3ZlcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjOTNiYmZkIil9OwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbG9ycyDigJQgQ29kZQogICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLS1kZWVzLWNvbG9yLWNvZGUtYmc6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDYpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgLS1kZWVzLWNvbG9yLWNvZGUtYmxvY2stYmc6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBDb2xvcnMg4oCUIFNlbGVjdGlvbgogICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwogICAgLS1kZWVzLWNvbG9yLXNlbGVjdGlvbjogJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMykiKX07CgogICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogICAgICogQ29sb3JzIOKAlCBTY3JvbGxiYXIKICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi8KICAgIC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWI6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMTUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSIpfTsKICAgIC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWItaG92ZXI6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMjUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSIpfTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBTcGFjaW5nIFNjYWxlCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtc3BhY2luZy14czogNHB4OwogICAgLS1kZWVzLXNwYWNpbmctc206IDhweDsKICAgIC0tZGVlcy1zcGFjaW5nLW1kOiAxMnB4OwogICAgLS1kZWVzLXNwYWNpbmctbGc6IDE2cHg7CiAgICAtLWRlZXMtc3BhY2luZy14bDogMjRweDsKICAgIC0tZGVlcy1zcGFjaW5nLTJ4bDogMzJweDsKICAgIC0tZGVlcy1zcGFjaW5nLTN4bDogNDhweDsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBCb3JkZXIgUmFkaXVzIFNjYWxlCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtcmFkaXVzLXhzOiAycHg7CiAgICAtLWRlZXMtcmFkaXVzLXNtOiA0cHg7CiAgICAtLWRlZXMtcmFkaXVzLW1kOiA2cHg7CiAgICAtLWRlZXMtcmFkaXVzLWxnOiA4cHg7CiAgICAtLWRlZXMtcmFkaXVzLXhsOiAxMnB4OwogICAgLS1kZWVzLXJhZGl1cy1mdWxsOiA5OTlweDsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBTaGFkb3cgRWxldmF0aW9uIFNjYWxlCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtc2hhZG93LXhzOiAwIDFweCAycHggMCByZ2IoMCAwIDAgLyAwLjA1KTsKICAgIC0tZGVlcy1zaGFkb3ctc206IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAtLWRlZXMtc2hhZG93LW1kOiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjE1KTsKICAgIC0tZGVlcy1zaGFkb3ctbGc6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KTsKCiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgICAgKiBUcmFuc2l0aW9uIER1cmF0aW9uIFNjYWxlCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtdHJhbnNpdGlvbi1mYXN0OiAwLjFzOwogICAgLS1kZWVzLXRyYW5zaXRpb24tZGVmYXVsdDogMC4xNXM7CiAgICAtLWRlZXMtdHJhbnNpdGlvbi1zbG93OiAwLjJzOwogICAgLS1kZWVzLXRyYW5zaXRpb24tc2xvd2VyOiAwLjNzOwoKICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgICAqIENvbnRyb2wgSGVpZ2h0IFNjYWxlCiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCiAgICAtLWRlZXMtY29udHJvbC1oZWlnaHQtc206IDMycHg7CiAgICAtLWRlZXMtY29udHJvbC1oZWlnaHQtbWQ6IDM2cHg7CiAgICAtLWRlZXMtY29udHJvbC1oZWlnaHQtbGc6IDQwcHg7CiAgICAtLWRlZXMtY29udHJvbC1oZWlnaHQteGw6IDQ4cHg7CiAgfQpgfSk7dmFyIFZzPWYoKCk9PntLcygpO0NuKCl9KTt2YXIgdjd0LHg3dD1mKCgpPT57bGUoKTtWcygpO1lyKCk7djd0PXMoKCk9PndgCjxzdHlsZT4KICAud2l0aE1hcmdpbiB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbjogMjBweDsKICB9CiAgLmRlbW8tY29udGFpbmVyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAyMHB4OwogICAgcGFkZGluZzogMjBweDsKICAgIG1pbi1oZWlnaHQ6IDQwMHB4OwogIH0KICAuZGVtby1hcmVhIHsKICAgIHBhZGRpbmc6IDQwcHg7CiAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBjdXJzb3I6IGNvbnRleHQtbWVudTsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yczsKICB9CiAgLmRlbW8tYXJlYTpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDIpOwogIH0KPC9zdHlsZT4KPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogIDxkZWVzLXBhbmVsIGhlYWRpbmc9IkJhc2ljIENvbnRleHQgTWVudSB3aXRoIE5lc3RlZCBTdWJtZW51cyI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLWFyZWEiIEBjb250ZXh0bWVudT0ke2E9PntlYS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhhLFt7bmFtZToiRmlsZSIsaWNvbk5hbWU6ImZpbGVUZXh0IixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6Ik5ldyIsaWNvbk5hbWU6ImZpbGVQbHVzIixzaG9ydGN1dDoiQ21kK04iLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJOZXcgZmlsZSIpLCJhY3Rpb24iKX0se25hbWU6Ik9wZW4iLGljb25OYW1lOiJmb2xkZXJPcGVuIixzaG9ydGN1dDoiQ21kK08iLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIGZpbGUiKSwiYWN0aW9uIil9LHtuYW1lOiJTYXZlIixpY29uTmFtZToic2F2ZSIsc2hvcnRjdXQ6IkNtZCtTIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiU2F2ZSIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJFeHBvcnQgYXMgUERGIixpY29uTmFtZToiZG93bmxvYWQiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJFeHBvcnQgUERGIiksImFjdGlvbiIpfSx7bmFtZToiRXhwb3J0IGFzIEhUTUwiLGljb25OYW1lOiJjb2RlIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRXhwb3J0IEhUTUwiKSwiYWN0aW9uIil9XX0se25hbWU6IkVkaXQiLGljb25OYW1lOiJlZGl0MyIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJDdXQiLGljb25OYW1lOiJzY2lzc29ycyIsc2hvcnRjdXQ6IkNtZCtYIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQ3V0IiksImFjdGlvbiIpfSx7bmFtZToiQ29weSIsaWNvbk5hbWU6ImNvcHkiLHNob3J0Y3V0OiJDbWQrQyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkNvcHkiKSwiYWN0aW9uIil9LHtuYW1lOiJQYXN0ZSIsaWNvbk5hbWU6ImNsaXBib2FyZCIsc2hvcnRjdXQ6IkNtZCtWIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiUGFzdGUiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRmluZCIsaWNvbk5hbWU6InNlYXJjaCIsc2hvcnRjdXQ6IkNtZCtGIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRmluZCIpLCJhY3Rpb24iKX0se25hbWU6IlJlcGxhY2UiLGljb25OYW1lOiJyZXBlYXQiLHNob3J0Y3V0OiJDbWQrSCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlJlcGxhY2UiKSwiYWN0aW9uIil9XX0se25hbWU6IlZpZXciLGljb25OYW1lOiJleWUiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiWm9vbSBJbiIsaWNvbk5hbWU6Inpvb21JbiIsc2hvcnRjdXQ6IkNtZCsrIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiWm9vbSBpbiIpLCJhY3Rpb24iKX0se25hbWU6Ilpvb20gT3V0IixpY29uTmFtZToiem9vbU91dCIsc2hvcnRjdXQ6IkNtZCstIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiWm9vbSBvdXQiKSwiYWN0aW9uIil9LHtuYW1lOiJSZXNldCBab29tIixpY29uTmFtZToibWF4aW1pemUyIixzaG9ydGN1dDoiQ21kKzAiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJSZXNldCB6b29tIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkZ1bGwgU2NyZWVuIixpY29uTmFtZToibWF4aW1pemUiLHNob3J0Y3V0OiJGMTEiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJGdWxsIHNjcmVlbiIpLCJhY3Rpb24iKX1dfSx7ZGl2aWRlcjohMH0se25hbWU6IlNldHRpbmdzIixpY29uTmFtZToic2V0dGluZ3MiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJTZXR0aW5ncyIpLCJhY3Rpb24iKX0se25hbWU6IkhlbHAiLGljb25OYW1lOiJoZWxwQ2lyY2xlIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IkRvY3VtZW50YXRpb24iLGljb25OYW1lOiJib29rIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRG9jdW1lbnRhdGlvbiIpLCJhY3Rpb24iKX0se25hbWU6IktleWJvYXJkIFNob3J0Y3V0cyIsaWNvbk5hbWU6ImtleWJvYXJkIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiU2hvcnRjdXRzIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkFib3V0IixpY29uTmFtZToiaW5mbyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkFib3V0IiksImFjdGlvbiIpfV19XSl9fT4KICAgICAgPGgzPlJpZ2h0LWNsaWNrIGFueXdoZXJlIGluIHRoaXMgYXJlYTwvaDM+CiAgICAgIDxwPkEgY29udGV4dCBtZW51IHdpdGggbmVzdGVkIHN1Ym1lbnVzIHdpbGwgYXBwZWFyPC9wPgogICAgPC9kaXY+CiAgPC9kZWVzLXBhbmVsPgogIDxkZWVzLXBhbmVsIGhlYWRpbmc9IkNvbXBvbmVudC1TcGVjaWZpYyBDb250ZXh0IE1lbnUiPgogICAgPGRlZXMtYnV0dG9uIHN0eWxlPSJtYXJnaW46IDIwcHg7IiBAY29udGV4dG1lbnU9JHthPT57ZWEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoYSxbe25hbWU6IkJ1dHRvbiBBY3Rpb25zIixpY29uTmFtZToibW91c2VQb2ludGVyIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IkNsaWNrIixpY29uTmFtZToibW91c2UiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJDbGljayBhY3Rpb24iKSwiYWN0aW9uIil9LHtuYW1lOiJEb3VibGUgQ2xpY2siLGljb25OYW1lOiJ6YXAiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJEb3VibGUgY2xpY2siKSwiYWN0aW9uIil9LHtuYW1lOiJMb25nIFByZXNzIixpY29uTmFtZToiY2xvY2siLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJMb25nIHByZXNzIiksImFjdGlvbiIpfV19LHtuYW1lOiJCdXR0b24gU3RhdGUiLGljb25OYW1lOiJ0b2dnbGVMZWZ0IixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IkVuYWJsZSIsaWNvbk5hbWU6ImNoZWNrQ2lyY2xlIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRW5hYmxlIiksImFjdGlvbiIpfSx7bmFtZToiRGlzYWJsZSIsaWNvbk5hbWU6InhDaXJjbGUiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJEaXNhYmxlIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IlNob3ciLGljb25OYW1lOiJleWUiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJTaG93IiksImFjdGlvbiIpfSx7bmFtZToiSGlkZSIsaWNvbk5hbWU6ImV5ZU9mZiIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkhpZGUiKSwiYWN0aW9uIil9XX0se2RpdmlkZXI6ITB9LHtuYW1lOiJEaXNhYmxlZCBBY3Rpb24iLGljb25OYW1lOiJiYW4iLGRpc2FibGVkOiEwLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJUaGlzIHNob3VsZCBub3QgcnVuIiksImFjdGlvbiIpfSx7bmFtZToiUHJvcGVydGllcyIsaWNvbk5hbWU6InNldHRpbmdzIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQnV0dG9uIHByb3BlcnRpZXMiKSwiYWN0aW9uIil9XSl9fT5SaWdodC1jbGljayBvbiB0aGlzIGJ1dHRvbjwvZGVlcy1idXR0b24+CiAgPC9kZWVzLXBhbmVsPgoKICA8ZGVlcy1wYW5lbCBoZWFkaW5nPSJBZHZhbmNlZCBDb250ZXh0IE1lbnUgRXhhbXBsZSI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLWFyZWEiIEBjb250ZXh0bWVudT0ke2E9PntlYS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhhLFt7bmFtZToiRm9ybWF0IixpY29uTmFtZToidHlwZSIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJCb2xkIixpY29uTmFtZToiYm9sZCIsc2hvcnRjdXQ6IkNtZCtCIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQm9sZCIpLCJhY3Rpb24iKX0se25hbWU6Ikl0YWxpYyIsaWNvbk5hbWU6Iml0YWxpYyIsc2hvcnRjdXQ6IkNtZCtJIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiSXRhbGljIiksImFjdGlvbiIpfSx7bmFtZToiVW5kZXJsaW5lIixpY29uTmFtZToidW5kZXJsaW5lIixzaG9ydGN1dDoiQ21kK1UiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJVbmRlcmxpbmUiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRm9udCBTaXplIixpY29uTmFtZToidHlwZSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkZvbnQgc2l6ZSBtZW51IiksImFjdGlvbiIpfSx7bmFtZToiRm9udCBDb2xvciIsaWNvbk5hbWU6InBhbGV0dGUiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJGb250IGNvbG9yIG1lbnUiKSwiYWN0aW9uIil9XX0se25hbWU6IlRyYW5zZm9ybSIsaWNvbk5hbWU6InNodWZmbGUiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiVG8gVXBwZXJjYXNlIixpY29uTmFtZToiYXJyb3dVcCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlVwcGVyY2FzZSIpLCJhY3Rpb24iKX0se25hbWU6IlRvIExvd2VyY2FzZSIsaWNvbk5hbWU6ImFycm93RG93biIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkxvd2VyY2FzZSIpLCJhY3Rpb24iKX0se25hbWU6IkNhcGl0YWxpemUiLGljb25OYW1lOiJ0eXBlIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQ2FwaXRhbGl6ZSIpLCJhY3Rpb24iKX1dfSx7ZGl2aWRlcjohMH0se25hbWU6IkRlbGV0ZSIsaWNvbk5hbWU6InRyYXNoMiIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkRlbGV0ZSIpLCJhY3Rpb24iKX1dKX19PgogICAgICA8aDM+QWR2YW5jZWQgTmVzdGVkIE1lbnUgRXhhbXBsZTwvaDM+CiAgICAgIDxwPlRoaXMgc2hvd3MgZGVlcGx5IG5lc3RlZCBzdWJtZW51cyBhbmQgdmFyaW91cyBmb3JtYXR0aW5nIG9wdGlvbnM8L3A+CiAgICA8L2Rpdj4KICA8L2RlZXMtcGFuZWw+CiAgCiAgPGRlZXMtcGFuZWwgaGVhZGluZz0iU3RhdGljIENvbnRleHQgTWVudSAoQWx3YXlzIFZpc2libGUpIj4KICAgIDxkZWVzLWNvbnRleHRtZW51CiAgICAgIGNsYXNzPSJ3aXRoTWFyZ2luIgogICAgICAubWVudUl0ZW1zPSR7W3tuYW1lOiJQcm9qZWN0IixpY29uTmFtZToiZm9sZGVyIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6Ik5ldyBQcm9qZWN0IixpY29uTmFtZToiZm9sZGVyUGx1cyIsc2hvcnRjdXQ6IkNtZCtTaGlmdCtOIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiTmV3IHByb2plY3QiKSwiYWN0aW9uIil9LHtuYW1lOiJPcGVuIFByb2plY3QiLGljb25OYW1lOiJmb2xkZXJPcGVuIixzaG9ydGN1dDoiQ21kK1NoaWZ0K08iLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIHByb2plY3QiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiUmVjZW50IFByb2plY3RzIixpY29uTmFtZToiY2xvY2siLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiUHJvamVjdCBBbHBoYSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIk9wZW4gQWxwaGEiKSwiYWN0aW9uIil9LHtuYW1lOiJQcm9qZWN0IEJldGEiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIEJldGEiKSwiYWN0aW9uIil9LHtuYW1lOiJQcm9qZWN0IEdhbW1hIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiBHYW1tYSIpLCJhY3Rpb24iKX1dfV19LHtuYW1lOiJUb29scyIsaWNvbk5hbWU6InRvb2wiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiVGVybWluYWwiLGljb25OYW1lOiJ0ZXJtaW5hbCIsc2hvcnRjdXQ6IkNtZCtUIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiVGVybWluYWwiKSwiYWN0aW9uIil9LHtuYW1lOiJDb25zb2xlIixpY29uTmFtZToibW9uaXRvciIsc2hvcnRjdXQ6IkNtZCtLIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQ29uc29sZSIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJFeHRlbnNpb25zIixpY29uTmFtZToicGFja2FnZSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkV4dGVuc2lvbnMiKSwiYWN0aW9uIil9XX0se2RpdmlkZXI6ITB9LHtuYW1lOiJQcmVmZXJlbmNlcyIsaWNvbk5hbWU6InNsaWRlcnMiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJQcmVmZXJlbmNlcyIpLCJhY3Rpb24iKX1dfQogICAgPjwvZGVlcy1jb250ZXh0bWVudT4KICA8L2RlZXMtcGFuZWw+CjwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIGtiLFFsLGpzLHcxPWYoKCk9PntsZSgpO2ppKCk7a2I9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFFsPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxqcz0oKCk9PntsZXQgYT1baWUoImRlZXMtd2luZG93bGF5ZXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1dpbmRvd0xheWVyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGs9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxkPVtLKCldLHU9W0soKV0seD1bJCh7dHlwZTpCb29sZWFufSldLGtiKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3B0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ib3B0aW9ucyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLm9wdGlvbnMsImdldCIpLHNldDpzKChDLE4pPT57Qy5vcHRpb25zPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSxrYih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJhY2tkcm9wWkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJiYWNrZHJvcFpJbmRleCJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmJhY2tkcm9wWkluZGV4LCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuYmFja2Ryb3BaSW5kZXg9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxjLHApLGtiKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iY29udGVudFpJbmRleCJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmNvbnRlbnRaSW5kZXgsImdldCIpLHNldDpzKChDLE4pPT57Qy5jb250ZW50WkluZGV4PU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbSx2KSxrYih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+InZpc2libGUiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy52aXNpYmxlLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MudmlzaWJsZT1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGIsZyksa2IobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6a30sbnVsbCx0KSx5PXI9ZS52YWx1ZSxrJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KX1zdGF0aWMgZGVtbz1zKCgpPT53YDxkZWVzLXdpbmRvd2xheWVyPjwvZGVlcy13aW5kb3dsYXllcj5gLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJPdmVybGF5Il07c3RhdGljIGFzeW5jIGNyZWF0ZUFuZFNob3coayl7bGV0IEM9QXQuRG9tVG9vbHMuZ2V0R2xvYmFsRG9tVG9vbHNTeW5jKCksTj1uZXcgeTtyZXR1cm4gTi5vcHRpb25zPXsuLi5OLm9wdGlvbnMsLi4ua30sZG9jdW1lbnQuYm9keS5hcHBlbmQoTiksYXdhaXQgQy5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLE4uc2hvdygpLE59I2U9UWwodGhpcyxuLHtibHVyOiExfSk7Z2V0IG9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgb3B0aW9ucyhrKXt0aGlzLiNlPWt9I3Q9KFFsKHRoaXMsbCksUWwodGhpcyxjLDFlMykpO2dldCBiYWNrZHJvcFpJbmRleCgpe3JldHVybiB0aGlzLiN0fXNldCBiYWNrZHJvcFpJbmRleChrKXt0aGlzLiN0PWt9I2E9KFFsKHRoaXMscCksUWwodGhpcyxtLDEwMDEpKTtnZXQgY29udGVudFpJbmRleCgpe3JldHVybiB0aGlzLiNhfXNldCBjb250ZW50WkluZGV4KGspe3RoaXMuI2E9a30jcj0oUWwodGhpcyx2KSxRbCh0aGlzLGIsITEpKTtnZXQgdmlzaWJsZSgpe3JldHVybiB0aGlzLiNyfXNldCB2aXNpYmxlKGspe3RoaXMuI3I9a31jb25zdHJ1Y3Rvcigpe3N1cGVyKCksUWwodGhpcyxnKSxBdC5lbGVtZW50QmFzaWMuc2V0dXAoKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgJHtBdC5lbGVtZW50QmFzaWMuc3R5bGVzfQogICAgICA8c3R5bGU+CiAgICAgICAgLndpbmRvd092ZXJsYXkgewogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICAgICAgd2lkdGg6IDEwMHZ3OwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4wKTsKICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYnJpZ2h0bmVzcygxKSAke3RoaXMub3B0aW9ucy5ibHVyPyJibHVyKDBweCkiOiIifTsKICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgICAgei1pbmRleDogJHt0aGlzLmJhY2tkcm9wWkluZGV4fTsKICAgICAgICB9CiAgICAgICAgLnNsb3RDb250ZW50IHsKICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgICB3aWR0aDogMTAwdnc7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgei1pbmRleDogJHt0aGlzLmNvbnRlbnRaSW5kZXh9OwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zbG90Q29udGVudCA+ICogewogICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC52aXNpYmxlIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4yKTsKICAgICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYnJpZ2h0bmVzcygwLjkpICR7dGhpcy5vcHRpb25zLmJsdXI/ImJsdXIoMnB4KSI6IiJ9OwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgQGNsaWNrPSR7dGhpcy5kaXNwYXRjaENsaWNrZWR9IGNsYXNzPSJ3aW5kb3dPdmVybGF5ICR7dGhpcy52aXNpYmxlPyJ2aXNpYmxlIjpudWxsfSI+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzbG90Q29udGVudCI+CiAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICA8L2Rpdj4KICAgIGB9Zmlyc3RVcGRhdGVkKCl7c2V0VGltZW91dCgoKT0+e3RoaXMudmlzaWJsZT0hMH0sMTAwKX1kaXNwYXRjaENsaWNrZWQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjbGlja2VkIikpfXRvZ2dsZVZpc2liaWxpdHkoKXt0aGlzLnZpc2libGU9IXRoaXMudmlzaWJsZX1nZXRDb250ZW50WkluZGV4KCl7cmV0dXJuIHRoaXMuY29udGVudFpJbmRleH1hc3luYyBzaG93KCl7bGV0IGs9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7dGhpcy5iYWNrZHJvcFpJbmRleD1adC5nZXROZXh0WkluZGV4KCksdGhpcy5jb250ZW50WkluZGV4PVp0LmdldE5leHRaSW5kZXgoKSxadC5yZWdpc3Rlcih0aGlzLHRoaXMuYmFja2Ryb3BaSW5kZXgpLGF3YWl0IGsuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigwKSx0aGlzLnZpc2libGU9ITB9YXN5bmMgaGlkZSgpe2F3YWl0KGF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlKS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLHRoaXMudmlzaWJsZT0hMX1hc3luYyBkZXN0cm95KCl7bGV0IGs9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7YXdhaXQgdGhpcy5oaWRlKCksYXdhaXQgay5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDMwMCksWnQudW5yZWdpc3Rlcih0aGlzKSx0aGlzLnJlbW92ZSgpfXN0YXRpY3tRbChyLHQpfX07cmV0dXJuIHk9cn0pKCl9KTtmdW5jdGlvbiBWNmUoYSxlKXsoZT09bnVsbHx8ZT5hLmxlbmd0aCkmJihlPWEubGVuZ3RoKTtmb3IodmFyIHQ9MCxyPUFycmF5KGUpO3Q8ZTt0Kyspclt0XT1hW3RdO3JldHVybiByfWZ1bmN0aW9uIExDYShhKXtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBhfWZ1bmN0aW9uICRDYShhKXtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBWNmUoYSl9ZnVuY3Rpb24gRENhKGEsZSl7aWYoIShhIGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uIil9ZnVuY3Rpb24geTd0KGEsZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kyspe3ZhciByPWVbdF07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxNN3Qoci5rZXkpLHIpfX1mdW5jdGlvbiBBQ2EoYSxlLHQpe3JldHVybiBlJiZ5N3QoYS5wcm90b3R5cGUsZSksdCYmeTd0KGEsdCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGEsInByb3RvdHlwZSIse3dyaXRhYmxlOiExfSksYX1mdW5jdGlvbiBLSihhLGUpe3ZhciB0PXR5cGVvZiBTeW1ib2w8InUiJiZhW1N5bWJvbC5pdGVyYXRvcl18fGFbIkBAaXRlcmF0b3IiXTtpZighdCl7aWYoQXJyYXkuaXNBcnJheShhKXx8KHQ9ajZlKGEpKXx8ZSYmYSYmdHlwZW9mIGEubGVuZ3RoPT0ibnVtYmVyIil7dCYmKGE9dCk7dmFyIHI9MCxpPXMoZnVuY3Rpb24oKXt9LCJGIik7cmV0dXJue3M6aSxuOnMoZnVuY3Rpb24oKXtyZXR1cm4gcj49YS5sZW5ndGg/e2RvbmU6ITB9Ontkb25lOiExLHZhbHVlOmFbcisrXX19LCJuIiksZTpzKGZ1bmN0aW9uKGQpe3Rocm93IGR9LCJlIiksZjppfX10aHJvdyBuZXcgVHlwZUVycm9yKGBJbnZhbGlkIGF0dGVtcHQgdG8gaXRlcmF0ZSBub24taXRlcmFibGUgaW5zdGFuY2UuCkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5gKX12YXIgbyxuPSEwLGw9ITE7cmV0dXJue3M6cyhmdW5jdGlvbigpe3Q9dC5jYWxsKGEpfSwicyIpLG46cyhmdW5jdGlvbigpe3ZhciBkPXQubmV4dCgpO3JldHVybiBuPWQuZG9uZSxkfSwibiIpLGU6cyhmdW5jdGlvbihkKXtsPSEwLG89ZH0sImUiKSxmOnMoZnVuY3Rpb24oKXt0cnl7bnx8dC5yZXR1cm49PW51bGx8fHQucmV0dXJuKCl9ZmluYWxseXtpZihsKXRocm93IG99fSwiZiIpfX1mdW5jdGlvbiBVdChhLGUsdCl7cmV0dXJuKGU9TTd0KGUpKWluIGE/T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsZSx7dmFsdWU6dCxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMH0pOmFbZV09dCxhfWZ1bmN0aW9uIEVDYShhLGUpe2lmKHR5cGVvZiBlIT0iZnVuY3Rpb24iJiZlIT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiIpO2EucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTphLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwicHJvdG90eXBlIix7d3JpdGFibGU6ITF9KSxlJiZaSihhLGUpfWZ1bmN0aW9uIFBDYShhKXtpZih0eXBlb2YgU3ltYm9sPCJ1IiYmYVtTeW1ib2wuaXRlcmF0b3JdIT1udWxsfHxhWyJAQGl0ZXJhdG9yIl0hPW51bGwpcmV0dXJuIEFycmF5LmZyb20oYSl9ZnVuY3Rpb24gSUNhKGEsZSl7dmFyIHQ9YT09bnVsbD9udWxsOnR5cGVvZiBTeW1ib2w8InUiJiZhW1N5bWJvbC5pdGVyYXRvcl18fGFbIkBAaXRlcmF0b3IiXTtpZih0IT1udWxsKXt2YXIgcixpLG8sbixsPVtdLGQ9ITAsYz0hMTt0cnl7aWYobz0odD10LmNhbGwoYSkpLm5leHQsZT09PTApe2lmKE9iamVjdCh0KSE9PXQpcmV0dXJuO2Q9ITF9ZWxzZSBmb3IoOyEoZD0ocj1vLmNhbGwodCkpLmRvbmUpJiYobC5wdXNoKHIudmFsdWUpLGwubGVuZ3RoIT09ZSk7ZD0hMCk7fWNhdGNoKHApe2M9ITAsaT1wfWZpbmFsbHl7dHJ5e2lmKCFkJiZ0LnJldHVybiE9bnVsbCYmKG49dC5yZXR1cm4oKSxPYmplY3QobikhPT1uKSlyZXR1cm59ZmluYWxseXtpZihjKXRocm93IGl9fXJldHVybiBsfX1mdW5jdGlvbiBOQ2EoKXt0aHJvdyBuZXcgVHlwZUVycm9yKGBJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLgpJbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuYCl9ZnVuY3Rpb24gUkNhKCl7dGhyb3cgbmV3IFR5cGVFcnJvcihgSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2UuCkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5gKX1mdW5jdGlvbiB3N3QoYSxlKXt2YXIgdD1PYmplY3Qua2V5cyhhKTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgcj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGEpO2UmJihyPXIuZmlsdGVyKGZ1bmN0aW9uKGkpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGEsaSkuZW51bWVyYWJsZX0pKSx0LnB1c2guYXBwbHkodCxyKX1yZXR1cm4gdH1mdW5jdGlvbiBaZShhKXtmb3IodmFyIGU9MTtlPGFyZ3VtZW50cy5sZW5ndGg7ZSsrKXt2YXIgdD1hcmd1bWVudHNbZV0hPW51bGw/YXJndW1lbnRzW2VdOnt9O2UlMj93N3QoT2JqZWN0KHQpLCEwKS5mb3JFYWNoKGZ1bmN0aW9uKHIpe1V0KGEscix0W3JdKX0pOk9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzP09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGEsT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModCkpOnc3dChPYmplY3QodCkpLmZvckVhY2goZnVuY3Rpb24ocil7T2JqZWN0LmRlZmluZVByb3BlcnR5KGEscixPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQscikpfSl9cmV0dXJuIGF9ZnVuY3Rpb24gWkooYSxlKXtyZXR1cm4gWko9T2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZi5iaW5kKCk6ZnVuY3Rpb24odCxyKXtyZXR1cm4gdC5fX3Byb3RvX189cix0fSxaSihhLGUpfWZ1bmN0aW9uIFhKKGEsZSl7cmV0dXJuIExDYShhKXx8SUNhKGEsZSl8fGo2ZShhLGUpfHxOQ2EoKX1mdW5jdGlvbiBNMShhKXtyZXR1cm4gJENhKGEpfHxQQ2EoYSl8fGo2ZShhKXx8UkNhKCl9ZnVuY3Rpb24gT0NhKGEsZSl7aWYodHlwZW9mIGEhPSJvYmplY3QifHwhYSlyZXR1cm4gYTt2YXIgdD1hW1N5bWJvbC50b1ByaW1pdGl2ZV07aWYodCE9PXZvaWQgMCl7dmFyIHI9dC5jYWxsKGEsZXx8ImRlZmF1bHQiKTtpZih0eXBlb2YgciE9Im9iamVjdCIpcmV0dXJuIHI7dGhyb3cgbmV3IFR5cGVFcnJvcigiQEB0b1ByaW1pdGl2ZSBtdXN0IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZS4iKX1yZXR1cm4oZT09PSJzdHJpbmciP1N0cmluZzpOdW1iZXIpKGEpfWZ1bmN0aW9uIE03dChhKXt2YXIgZT1PQ2EoYSwic3RyaW5nIik7cmV0dXJuIHR5cGVvZiBlPT0ic3ltYm9sIj9lOmUrIiJ9ZnVuY3Rpb24gUUooYSl7IkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mIjtyZXR1cm4gUUo9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmdHlwZW9mIFN5bWJvbC5pdGVyYXRvcj09InN5bWJvbCI/ZnVuY3Rpb24oZSl7cmV0dXJuIHR5cGVvZiBlfTpmdW5jdGlvbihlKXtyZXR1cm4gZSYmdHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIGV9LFFKKGEpfWZ1bmN0aW9uIGo2ZShhLGUpe2lmKGEpe2lmKHR5cGVvZiBhPT0ic3RyaW5nIilyZXR1cm4gVjZlKGEsZSk7dmFyIHQ9e30udG9TdHJpbmcuY2FsbChhKS5zbGljZSg4LC0xKTtyZXR1cm4gdD09PSJPYmplY3QiJiZhLmNvbnN0cnVjdG9yJiYodD1hLmNvbnN0cnVjdG9yLm5hbWUpLHQ9PT0iTWFwInx8dD09PSJTZXQiP0FycmF5LmZyb20oYSk6dD09PSJBcmd1bWVudHMifHwvXig/OlVpfEkpbnQoPzo4fDE2fDMyKSg/OkNsYW1wZWQpP0FycmF5JC8udGVzdCh0KT9WNmUoYSxlKTp2b2lkIDB9fWZ1bmN0aW9uIF9pKCl7X2k9cyhmdW5jdGlvbihpLG8pe3JldHVybiBuZXcgdChpLHZvaWQgMCxvKX0sIl93cmFwUmVnRXhwIik7dmFyIGE9UmVnRXhwLnByb3RvdHlwZSxlPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIHQoaSxvLG4pe3ZhciBsPVJlZ0V4cChpLG8pO3JldHVybiBlLnNldChsLG58fGUuZ2V0KGkpKSxaSihsLHQucHJvdG90eXBlKX1zKHQsIkJhYmVsUmVnRXhwIik7ZnVuY3Rpb24gcihpLG8pe3ZhciBuPWUuZ2V0KG8pO3JldHVybiBPYmplY3Qua2V5cyhuKS5yZWR1Y2UoZnVuY3Rpb24obCxkKXt2YXIgYz1uW2RdO2lmKHR5cGVvZiBjPT0ibnVtYmVyIilsW2RdPWlbY107ZWxzZXtmb3IodmFyIHA9MDtpW2NbcF1dPT09dm9pZCAwJiZwKzE8Yy5sZW5ndGg7KXArKztsW2RdPWlbY1twXV19cmV0dXJuIGx9LE9iamVjdC5jcmVhdGUobnVsbCkpfXJldHVybiBzKHIsImJ1aWxkR3JvdXBzIiksRUNhKHQsUmVnRXhwKSx0LnByb3RvdHlwZS5leGVjPWZ1bmN0aW9uKGkpe3ZhciBvPWEuZXhlYy5jYWxsKHRoaXMsaSk7aWYobyl7by5ncm91cHM9cihvLHRoaXMpO3ZhciBuPW8uaW5kaWNlcztuJiYobi5ncm91cHM9cihuLHRoaXMpKX1yZXR1cm4gb30sdC5wcm90b3R5cGVbU3ltYm9sLnJlcGxhY2VdPWZ1bmN0aW9uKGksbyl7aWYodHlwZW9mIG89PSJzdHJpbmciKXt2YXIgbj1lLmdldCh0aGlzKTtyZXR1cm4gYVtTeW1ib2wucmVwbGFjZV0uY2FsbCh0aGlzLGksby5yZXBsYWNlKC9cJDwoW14+XSspKD58JCkvZyxmdW5jdGlvbihkLGMscCl7aWYocD09PSIiKXJldHVybiBkO3ZhciB1PW5bY107cmV0dXJuIEFycmF5LmlzQXJyYXkodSk/IiQiK3Uuam9pbigiJCIpOnR5cGVvZiB1PT0ibnVtYmVyIj8iJCIrdToiIn0pKX1pZih0eXBlb2Ygbz09ImZ1bmN0aW9uIil7dmFyIGw9dGhpcztyZXR1cm4gYVtTeW1ib2wucmVwbGFjZV0uY2FsbCh0aGlzLGksZnVuY3Rpb24oKXt2YXIgZD1hcmd1bWVudHM7cmV0dXJuIHR5cGVvZiBkW2QubGVuZ3RoLTFdIT0ib2JqZWN0IiYmKGQ9W10uc2xpY2UuY2FsbChkKSkucHVzaChyKGQsbCkpLG8uYXBwbHkodGhpcyxkKX0pfXJldHVybiBhW1N5bWJvbC5yZXBsYWNlXS5jYWxsKHRoaXMsaSxvKX0sX2kuYXBwbHkodGhpcyxhcmd1bWVudHMpfWZ1bmN0aW9uIHpiKGEpe3JldHVybiBuZXcgUHJveHkoYSx7Z2V0OnMoZnVuY3Rpb24odCxyKXtyZXR1cm4gciBpbiB0P3Rbcl06dFtRc119LCJnZXQiKX0pfWZ1bmN0aW9uIENUYShhKXt2YXIgZT1wci5xdWVyeVNlbGVjdG9yKCJzY3JpcHRbIithKyJdIik7aWYoZSlyZXR1cm4gZS5nZXRBdHRyaWJ1dGUoYSl9ZnVuY3Rpb24gX1RhKGEpe3JldHVybiBhPT09IiI/ITA6YT09PSJmYWxzZSI/ITE6YT09PSJ0cnVlIj8hMDphfWZ1bmN0aW9uIFRUYShhKXtyZXR1cm4gX2IucHVzaChhKSxmdW5jdGlvbigpe19iLnNwbGljZShfYi5pbmRleE9mKGEpLDEpfX1mdW5jdGlvbiBMVGEoYSl7aWYoISghYXx8IUpsKSl7dmFyIGU9cHIuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtlLnNldEF0dHJpYnV0ZSgidHlwZSIsInRleHQvY3NzIiksZS5pbm5lckhUTUw9YTtmb3IodmFyIHQ9cHIuaGVhZC5jaGlsZE5vZGVzLHI9bnVsbCxpPXQubGVuZ3RoLTE7aT4tMTtpLS0pe3ZhciBvPXRbaV0sbj0oby50YWdOYW1lfHwiIikudG9VcHBlckNhc2UoKTtbIlNUWUxFIiwiTElOSyJdLmluZGV4T2Yobik+LTEmJihyPW8pfXJldHVybiBwci5oZWFkLmluc2VydEJlZm9yZShlLHIpLGF9fWZ1bmN0aW9uIHA5dCgpe2Zvcih2YXIgYT0xMixlPSIiO2EtLSA+MDspZSs9JFRhW01hdGgucmFuZG9tKCkqNjJ8MF07cmV0dXJuIGV9ZnVuY3Rpb24gVzgoYSl7Zm9yKHZhciBlPVtdLHQ9KGF8fFtdKS5sZW5ndGg+Pj4wO3QtLTspZVt0XT1hW3RdO3JldHVybiBlfWZ1bmN0aW9uIHN1ZShhKXtyZXR1cm4gYS5jbGFzc0xpc3Q/VzgoYS5jbGFzc0xpc3QpOihhLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpLnNwbGl0KCIgIikuZmlsdGVyKGZ1bmN0aW9uKGUpe3JldHVybiBlfSl9ZnVuY3Rpb24gZjl0KGEpe3JldHVybiIiLmNvbmNhdChhKS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvIi9nLCImcXVvdDsiKS5yZXBsYWNlKC8nL2csIiYjMzk7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvPi9nLCImZ3Q7Iil9ZnVuY3Rpb24gRFRhKGEpe3JldHVybiBPYmplY3Qua2V5cyhhfHx7fSkucmVkdWNlKGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGUrIiIuY29uY2F0KHQsJz0iJykuY29uY2F0KGY5dChhW3RdKSwnIiAnKX0sIiIpLnRyaW0oKX1mdW5jdGlvbiB0ZWUoYSl7cmV0dXJuIE9iamVjdC5rZXlzKGF8fHt9KS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZSsiIi5jb25jYXQodCwiOiAiKS5jb25jYXQoYVt0XS50cmltKCksIjsiKX0sIiIpfWZ1bmN0aW9uIGl1ZShhKXtyZXR1cm4gYS5zaXplIT09QjIuc2l6ZXx8YS54IT09QjIueHx8YS55IT09QjIueXx8YS5yb3RhdGUhPT1CMi5yb3RhdGV8fGEuZmxpcFh8fGEuZmxpcFl9ZnVuY3Rpb24gQVRhKGEpe3ZhciBlPWEudHJhbnNmb3JtLHQ9YS5jb250YWluZXJXaWR0aCxyPWEuaWNvbldpZHRoLGk9e3RyYW5zZm9ybToidHJhbnNsYXRlKCIuY29uY2F0KHQvMiwiIDI1NikiKX0sbz0idHJhbnNsYXRlKCIuY29uY2F0KGUueCozMiwiLCAiKS5jb25jYXQoZS55KjMyLCIpICIpLG49InNjYWxlKCIuY29uY2F0KGUuc2l6ZS8xNiooZS5mbGlwWD8tMToxKSwiLCAiKS5jb25jYXQoZS5zaXplLzE2KihlLmZsaXBZPy0xOjEpLCIpICIpLGw9InJvdGF0ZSgiLmNvbmNhdChlLnJvdGF0ZSwiIDAgMCkiKSxkPXt0cmFuc2Zvcm06IiIuY29uY2F0KG8sIiAiKS5jb25jYXQobiwiICIpLmNvbmNhdChsKX0sYz17dHJhbnNmb3JtOiJ0cmFuc2xhdGUoIi5jb25jYXQoci8yKi0xLCIgLTI1NikiKX07cmV0dXJue291dGVyOmksaW5uZXI6ZCxwYXRoOmN9fWZ1bmN0aW9uIEVUYShhKXt2YXIgZT1hLnRyYW5zZm9ybSx0PWEud2lkdGgscj10PT09dm9pZCAwP0s2ZTp0LGk9YS5oZWlnaHQsbz1pPT09dm9pZCAwP0s2ZTppLG49YS5zdGFydENlbnRlcmVkLGw9bj09PXZvaWQgMD8hMTpuLGQ9IiI7cmV0dXJuIGwmJiQ3dD9kKz0idHJhbnNsYXRlKCIuY29uY2F0KGUueC90NC1yLzIsImVtLCAiKS5jb25jYXQoZS55L3Q0LW8vMiwiZW0pICIpOmw/ZCs9InRyYW5zbGF0ZShjYWxjKC01MCUgKyAiLmNvbmNhdChlLngvdDQsImVtKSwgY2FsYygtNTAlICsgIikuY29uY2F0KGUueS90NCwiZW0pKSAiKTpkKz0idHJhbnNsYXRlKCIuY29uY2F0KGUueC90NCwiZW0sICIpLmNvbmNhdChlLnkvdDQsImVtKSAiKSxkKz0ic2NhbGUoIi5jb25jYXQoZS5zaXplL3Q0KihlLmZsaXBYPy0xOjEpLCIsICIpLmNvbmNhdChlLnNpemUvdDQqKGUuZmxpcFk/LTE6MSksIikgIiksZCs9InJvdGF0ZSgiLmNvbmNhdChlLnJvdGF0ZSwiZGVnKSAiKSxkfWZ1bmN0aW9uIGg5dCgpe3ZhciBhPWE5dCxlPXI5dCx0PUx0LmNzc1ByZWZpeCxyPUx0LnJlcGxhY2VtZW50Q2xhc3MsaT1QVGE7aWYodCE9PWF8fHIhPT1lKXt2YXIgbz1uZXcgUmVnRXhwKCJcXC4iLmNvbmNhdChhLCJcXC0iKSwiZyIpLG49bmV3IFJlZ0V4cCgiXFwtLSIuY29uY2F0KGEsIlxcLSIpLCJnIiksbD1uZXcgUmVnRXhwKCJcXC4iLmNvbmNhdChlKSwiZyIpO2k9aS5yZXBsYWNlKG8sIi4iLmNvbmNhdCh0LCItIikpLnJlcGxhY2UobiwiLS0iLmNvbmNhdCh0LCItIikpLnJlcGxhY2UobCwiLiIuY29uY2F0KHIpKX1yZXR1cm4gaX1mdW5jdGlvbiBvdWUoKXtMdC5hdXRvQWRkQ3NzJiYhbTl0JiYoTFRhKGg5dCgpKSxtOXQ9ITApfWZ1bmN0aW9uIE5UYShhKXtKbCYmKGFlZT9zZXRUaW1lb3V0KGEsMCk6Zzl0LnB1c2goYSkpfWZ1bmN0aW9uIFRiKGEpe3ZhciBlPWEudGFnLHQ9YS5hdHRyaWJ1dGVzLHI9dD09PXZvaWQgMD97fTp0LGk9YS5jaGlsZHJlbixvPWk9PT12b2lkIDA/W106aTtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmciP2Y5dChhKToiPCIuY29uY2F0KGUsIiAiKS5jb25jYXQoRFRhKHIpLCI+IikuY29uY2F0KG8ubWFwKFRiKS5qb2luKCIiKSwiPC8iKS5jb25jYXQoZSwiPiIpfWZ1bmN0aW9uIHY5dChhLGUsdCl7aWYoYSYmYVtlXSYmYVtlXVt0XSlyZXR1cm57cHJlZml4OmUsaWNvbk5hbWU6dCxpY29uOmFbZV1bdF19fWZ1bmN0aW9uIHg5dChhKXtyZXR1cm4gTTEoYSkubGVuZ3RoIT09MT9udWxsOmEuY29kZVBvaW50QXQoMCkudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIHk5dChhKXtyZXR1cm4gT2JqZWN0LmtleXMoYSkucmVkdWNlKGZ1bmN0aW9uKGUsdCl7dmFyIHI9YVt0XSxpPSEhci5pY29uO3JldHVybiBpP2Vbci5pY29uTmFtZV09ci5pY29uOmVbdF09cixlfSx7fSl9ZnVuY3Rpb24gbHVlKGEsZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4yJiZhcmd1bWVudHNbMl0hPT12b2lkIDA/YXJndW1lbnRzWzJdOnt9LHI9dC5za2lwSG9va3MsaT1yPT09dm9pZCAwPyExOnIsbz15OXQoZSk7dHlwZW9mIGsxLmhvb2tzLmFkZFBhY2s9PSJmdW5jdGlvbiImJiFpP2sxLmhvb2tzLmFkZFBhY2soYSx5OXQoZSkpOmsxLnN0eWxlc1thXT1aZShaZSh7fSxrMS5zdHlsZXNbYV18fHt9KSxvKSxhPT09ImZhcyImJmx1ZSgiZmEiLGUpfWZ1bmN0aW9uIEJUYShhKXtyZXR1cm5+elRhLmluZGV4T2YoYSl9ZnVuY3Rpb24gSFRhKGEsZSl7dmFyIHQ9ZS5zcGxpdCgiLSIpLHI9dFswXSxpPXQuc2xpY2UoMSkuam9pbigiLSIpO3JldHVybiByPT09YSYmaSE9PSIiJiYhQlRhKGkpP2k6bnVsbH1mdW5jdGlvbiB1dWUoYSxlKXtyZXR1cm4oTTl0W2FdfHx7fSlbZV19ZnVuY3Rpb24gcVRhKGEsZSl7cmV0dXJuKGs5dFthXXx8e30pW2VdfWZ1bmN0aW9uIGZkKGEsZSl7cmV0dXJuKEM5dFthXXx8e30pW2VdfWZ1bmN0aW9uIFQ5dChhKXtyZXR1cm4gUzl0W2FdfHx7cHJlZml4Om51bGwsaWNvbk5hbWU6bnVsbH19ZnVuY3Rpb24gVlRhKGEpe3ZhciBlPXo5dFthXSx0PXV1ZSgiZmFzIixhKTtyZXR1cm4gZXx8KHQ/e3ByZWZpeDoiZmFzIixpY29uTmFtZTp0fTpudWxsKXx8e3ByZWZpeDpudWxsLGljb25OYW1lOm51bGx9fWZ1bmN0aW9uIGE0KCl7cmV0dXJuIGR1ZX1mdW5jdGlvbiBqVGEoYSl7dmFyIGU9UXMsdD13OXQucmVkdWNlKGZ1bmN0aW9uKHIsaSl7cmV0dXJuIHJbaV09IiIuY29uY2F0KEx0LmNzc1ByZWZpeCwiLSIpLmNvbmNhdChpKSxyfSx7fSk7cmV0dXJuIFo3dC5mb3JFYWNoKGZ1bmN0aW9uKHIpeyhhLmluY2x1ZGVzKHRbcl0pfHxhLnNvbWUoZnVuY3Rpb24oaSl7cmV0dXJuIEZUYVtyXS5pbmNsdWRlcyhpKX0pKSYmKGU9cil9KSxlfWZ1bmN0aW9uIHJlZShhKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30sdD1lLmZhbWlseSxyPXQ9PT12b2lkIDA/UXM6dCxpPXlUYVtyXVthXTtpZihyPT09U2ImJiFhKXJldHVybiJmYWQiO3ZhciBvPWw5dFtyXVthXXx8bDl0W3JdW2ldLG49YSBpbiBrMS5zdHlsZXM/YTpudWxsLGw9b3x8bnx8bnVsbDtyZXR1cm4gbH1mdW5jdGlvbiBVVGEoYSl7dmFyIGU9W10sdD1udWxsO3JldHVybiBhLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGk9SFRhKEx0LmNzc1ByZWZpeCxyKTtpP3Q9aTpyJiZlLnB1c2gocil9KSx7aWNvbk5hbWU6dCxyZXN0OmV9fWZ1bmN0aW9uICQ5dChhKXtyZXR1cm4gYS5zb3J0KCkuZmlsdGVyKGZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gci5pbmRleE9mKGUpPT09dH0pfWZ1bmN0aW9uIHNlZShhKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30sdD1lLnNraXBMb29rdXBzLHI9dD09PXZvaWQgMD8hMTp0LGk9bnVsbCxvPSQ5dChhLmZpbHRlcihmdW5jdGlvbih2KXtyZXR1cm4gRDl0LmluY2x1ZGVzKHYpfSkpLG49JDl0KGEuZmlsdGVyKGZ1bmN0aW9uKHYpe3JldHVybiFEOXQuaW5jbHVkZXModil9KSksbD1vLmZpbHRlcihmdW5jdGlvbih2KXtyZXR1cm4gaT12LCFBN3QuaW5jbHVkZXModil9KSxkPVhKKGwsMSksYz1kWzBdLHA9Yz09PXZvaWQgMD9udWxsOmMsdT1qVGEobyksbT1aZShaZSh7fSxVVGEobikpLHt9LHtwcmVmaXg6cmVlKHAse2ZhbWlseTp1fSl9KTtyZXR1cm4gWmUoWmUoWmUoe30sbSksS1RhKHt2YWx1ZXM6YSxmYW1pbHk6dSxzdHlsZXM6TGIsY29uZmlnOkx0LGNhbm9uaWNhbDptLGdpdmVuUHJlZml4Oml9KSksV1RhKHIsaSxtKSl9ZnVuY3Rpb24gV1RhKGEsZSx0KXt2YXIgcj10LnByZWZpeCxpPXQuaWNvbk5hbWU7aWYoYXx8IXJ8fCFpKXJldHVybntwcmVmaXg6cixpY29uTmFtZTppfTt2YXIgbz1lPT09ImZhIj9UOXQoaSk6e30sbj1mZChyLGkpO3JldHVybiBpPW8uaWNvbk5hbWV8fG58fGkscj1vLnByZWZpeHx8cixyPT09ImZhciImJiFMYi5mYXImJkxiLmZhcyYmIUx0LmF1dG9GZXRjaFN2ZyYmKHI9ImZhcyIpLHtwcmVmaXg6cixpY29uTmFtZTppfX1mdW5jdGlvbiBLVGEoYSl7dmFyIGU9YS52YWx1ZXMsdD1hLmZhbWlseSxyPWEuY2Fub25pY2FsLGk9YS5naXZlblByZWZpeCxvPWk9PT12b2lkIDA/IiI6aSxuPWEuc3R5bGVzLGw9bj09PXZvaWQgMD97fTpuLGQ9YS5jb25maWcsYz1kPT09dm9pZCAwP3t9OmQscD10PT09U2IsdT1lLmluY2x1ZGVzKCJmYS1kdW90b25lIil8fGUuaW5jbHVkZXMoImZhZCIpLG09Yy5mYW1pbHlEZWZhdWx0PT09ImR1b3RvbmUiLHY9ci5wcmVmaXg9PT0iZmFkInx8ci5wcmVmaXg9PT0iZmEtZHVvdG9uZSI7aWYoIXAmJih1fHxtfHx2KSYmKHIucHJlZml4PSJmYWQiKSwoZS5pbmNsdWRlcygiZmEtYnJhbmRzIil8fGUuaW5jbHVkZXMoImZhYiIpKSYmKHIucHJlZml4PSJmYWIiKSwhci5wcmVmaXgmJkdUYS5pbmNsdWRlcyh0KSl7dmFyIHg9T2JqZWN0LmtleXMobCkuZmluZChmdW5jdGlvbihnKXtyZXR1cm4gWVRhLmluY2x1ZGVzKGcpfSk7aWYoeHx8Yy5hdXRvRmV0Y2hTdmcpe3ZhciBiPWRfYS5nZXQodCkuZGVmYXVsdFNob3J0UHJlZml4SWQ7ci5wcmVmaXg9YixyLmljb25OYW1lPWZkKHIucHJlZml4LHIuaWNvbk5hbWUpfHxyLmljb25OYW1lfX1yZXR1cm4oci5wcmVmaXg9PT0iZmEifHxvPT09ImZhIikmJihyLnByZWZpeD1hNCgpfHwiZmFzIikscn1mdW5jdGlvbiBRVGEoYSxlKXt2YXIgdD1lLm1peG91dHNUbztyZXR1cm4gQTl0PWEsRzg9e30sT2JqZWN0LmtleXMoWTgpLmZvckVhY2goZnVuY3Rpb24ocil7WFRhLmluZGV4T2Yocik9PT0tMSYmZGVsZXRlIFk4W3JdfSksQTl0LmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGk9ci5taXhvdXQ/ci5taXhvdXQoKTp7fTtpZihPYmplY3Qua2V5cyhpKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3R5cGVvZiBpW25dPT0iZnVuY3Rpb24iJiYodFtuXT1pW25dKSxRSihpW25dKT09PSJvYmplY3QiJiZPYmplY3Qua2V5cyhpW25dKS5mb3JFYWNoKGZ1bmN0aW9uKGwpe3Rbbl18fCh0W25dPXt9KSx0W25dW2xdPWlbbl1bbF19KX0pLHIuaG9va3Mpe3ZhciBvPXIuaG9va3MoKTtPYmplY3Qua2V5cyhvKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe0c4W25dfHwoRzhbbl09W10pLEc4W25dLnB1c2gob1tuXSl9KX1yLnByb3ZpZGVzJiZyLnByb3ZpZGVzKFk4KX0pLHR9ZnVuY3Rpb24gcHVlKGEsZSl7Zm9yKHZhciB0PWFyZ3VtZW50cy5sZW5ndGgscj1uZXcgQXJyYXkodD4yP3QtMjowKSxpPTI7aTx0O2krKylyW2ktMl09YXJndW1lbnRzW2ldO3ZhciBvPUc4W2FdfHxbXTtyZXR1cm4gby5mb3JFYWNoKGZ1bmN0aW9uKG4pe2U9bi5hcHBseShudWxsLFtlXS5jb25jYXQocikpfSksZX1mdW5jdGlvbiBoZChhKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aCx0PW5ldyBBcnJheShlPjE/ZS0xOjApLHI9MTtyPGU7cisrKXRbci0xXT1hcmd1bWVudHNbcl07dmFyIGk9RzhbYV18fFtdO2kuZm9yRWFjaChmdW5jdGlvbihvKXtvLmFwcGx5KG51bGwsdCl9KX1mdW5jdGlvbiByNCgpe3ZhciBhPWFyZ3VtZW50c1swXSxlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gWThbYV0/WThbYV0uYXBwbHkobnVsbCxlKTp2b2lkIDB9ZnVuY3Rpb24gZnVlKGEpe2EucHJlZml4PT09ImZhIiYmKGEucHJlZml4PSJmYXMiKTt2YXIgZT1hLmljb25OYW1lLHQ9YS5wcmVmaXh8fGE0KCk7aWYoZSlyZXR1cm4gZT1mZCh0LGUpfHxlLHY5dChFOXQuZGVmaW5pdGlvbnMsdCxlKXx8djl0KGsxLnN0eWxlcyx0LGUpfWZ1bmN0aW9uIGllZShhLGUpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoYSwiYWJzdHJhY3QiLHtnZXQ6ZX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJodG1sIix7Z2V0OnMoZnVuY3Rpb24oKXtyZXR1cm4gYS5hYnN0cmFjdC5tYXAoZnVuY3Rpb24ocil7cmV0dXJuIFRiKHIpfSl9LCJnZXQiKX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLCJub2RlIix7Z2V0OnMoZnVuY3Rpb24oKXtpZihKbCl7dmFyIHI9cHIuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHIuaW5uZXJIVE1MPWEuaHRtbCxyLmNoaWxkcmVufX0sImdldCIpfSksYX1mdW5jdGlvbiByTGEoYSl7dmFyIGU9YS5jaGlsZHJlbix0PWEubWFpbixyPWEubWFzayxpPWEuYXR0cmlidXRlcyxvPWEuc3R5bGVzLG49YS50cmFuc2Zvcm07aWYoaXVlKG4pJiZ0LmZvdW5kJiYhci5mb3VuZCl7dmFyIGw9dC53aWR0aCxkPXQuaGVpZ2h0LGM9e3g6bC9kLzIseTouNX07aS5zdHlsZT10ZWUoWmUoWmUoe30sbykse30seyJ0cmFuc2Zvcm0tb3JpZ2luIjoiIi5jb25jYXQoYy54K24ueC8xNiwiZW0gIikuY29uY2F0KGMueStuLnkvMTYsImVtIil9KSl9cmV0dXJuW3t0YWc6InN2ZyIsYXR0cmlidXRlczppLGNoaWxkcmVuOmV9XX1mdW5jdGlvbiBzTGEoYSl7dmFyIGU9YS5wcmVmaXgsdD1hLmljb25OYW1lLHI9YS5jaGlsZHJlbixpPWEuYXR0cmlidXRlcyxvPWEuc3ltYm9sLG49bz09PSEwPyIiLmNvbmNhdChlLCItIikuY29uY2F0KEx0LmNzc1ByZWZpeCwiLSIpLmNvbmNhdCh0KTpvO3JldHVyblt7dGFnOiJzdmciLGF0dHJpYnV0ZXM6e3N0eWxlOiJkaXNwbGF5OiBub25lOyJ9LGNoaWxkcmVuOlt7dGFnOiJzeW1ib2wiLGF0dHJpYnV0ZXM6WmUoWmUoe30saSkse30se2lkOm59KSxjaGlsZHJlbjpyfV19XX1mdW5jdGlvbiBpTGEoYSl7dmFyIGU9WyJhcmlhLWxhYmVsIiwiYXJpYS1sYWJlbGxlZGJ5IiwidGl0bGUiLCJyb2xlIl07cmV0dXJuIGUuc29tZShmdW5jdGlvbih0KXtyZXR1cm4gdCBpbiBhfSl9ZnVuY3Rpb24gaHVlKGEpe3ZhciBlPWEuaWNvbnMsdD1lLm1haW4scj1lLm1hc2ssaT1hLnByZWZpeCxvPWEuaWNvbk5hbWUsbj1hLnRyYW5zZm9ybSxsPWEuc3ltYm9sLGQ9YS5tYXNrSWQsYz1hLmV4dHJhLHA9YS53YXRjaGFibGUsdT1wPT09dm9pZCAwPyExOnAsbT1yLmZvdW5kP3I6dCx2PW0ud2lkdGgseD1tLmhlaWdodCxiPVtMdC5yZXBsYWNlbWVudENsYXNzLG8/IiIuY29uY2F0KEx0LmNzc1ByZWZpeCwiLSIpLmNvbmNhdChvKToiIl0uZmlsdGVyKGZ1bmN0aW9uKF8pe3JldHVybiBjLmNsYXNzZXMuaW5kZXhPZihfKT09PS0xfSkuZmlsdGVyKGZ1bmN0aW9uKF8pe3JldHVybiBfIT09IiJ8fCEhX30pLmNvbmNhdChjLmNsYXNzZXMpLmpvaW4oIiAiKSxnPXtjaGlsZHJlbjpbXSxhdHRyaWJ1dGVzOlplKFplKHt9LGMuYXR0cmlidXRlcykse30seyJkYXRhLXByZWZpeCI6aSwiZGF0YS1pY29uIjpvLGNsYXNzOmIscm9sZTpjLmF0dHJpYnV0ZXMucm9sZXx8ImltZyIsdmlld0JveDoiMCAwICIuY29uY2F0KHYsIiAiKS5jb25jYXQoeCl9KX07IWlMYShjLmF0dHJpYnV0ZXMpJiYhYy5hdHRyaWJ1dGVzWyJhcmlhLWhpZGRlbiJdJiYoZy5hdHRyaWJ1dGVzWyJhcmlhLWhpZGRlbiJdPSJ0cnVlIiksdSYmKGcuYXR0cmlidXRlc1twZF09IiIpO3ZhciB5PVplKFplKHt9LGcpLHt9LHtwcmVmaXg6aSxpY29uTmFtZTpvLG1haW46dCxtYXNrOnIsbWFza0lkOmQsdHJhbnNmb3JtOm4sc3ltYm9sOmwsc3R5bGVzOlplKHt9LGMuc3R5bGVzKX0pLGs9ci5mb3VuZCYmdC5mb3VuZD9yNCgiZ2VuZXJhdGVBYnN0cmFjdE1hc2siLHkpfHx7Y2hpbGRyZW46W10sYXR0cmlidXRlczp7fX06cjQoImdlbmVyYXRlQWJzdHJhY3RJY29uIix5KXx8e2NoaWxkcmVuOltdLGF0dHJpYnV0ZXM6e319LEM9ay5jaGlsZHJlbixOPWsuYXR0cmlidXRlcztyZXR1cm4geS5jaGlsZHJlbj1DLHkuYXR0cmlidXRlcz1OLGw/c0xhKHkpOnJMYSh5KX1mdW5jdGlvbiBQOXQoYSl7dmFyIGU9YS5jb250ZW50LHQ9YS53aWR0aCxyPWEuaGVpZ2h0LGk9YS50cmFuc2Zvcm0sbz1hLmV4dHJhLG49YS53YXRjaGFibGUsbD1uPT09dm9pZCAwPyExOm4sZD1aZShaZSh7fSxvLmF0dHJpYnV0ZXMpLHt9LHtjbGFzczpvLmNsYXNzZXMuam9pbigiICIpfSk7bCYmKGRbcGRdPSIiKTt2YXIgYz1aZSh7fSxvLnN0eWxlcyk7aXVlKGkpJiYoYy50cmFuc2Zvcm09RVRhKHt0cmFuc2Zvcm06aSxzdGFydENlbnRlcmVkOiEwLHdpZHRoOnQsaGVpZ2h0OnJ9KSxjWyItd2Via2l0LXRyYW5zZm9ybSJdPWMudHJhbnNmb3JtKTt2YXIgcD10ZWUoYyk7cC5sZW5ndGg+MCYmKGQuc3R5bGU9cCk7dmFyIHU9W107cmV0dXJuIHUucHVzaCh7dGFnOiJzcGFuIixhdHRyaWJ1dGVzOmQsY2hpbGRyZW46W2VdfSksdX1mdW5jdGlvbiBvTGEoYSl7dmFyIGU9YS5jb250ZW50LHQ9YS5leHRyYSxyPVplKFplKHt9LHQuYXR0cmlidXRlcykse30se2NsYXNzOnQuY2xhc3Nlcy5qb2luKCIgIil9KSxpPXRlZSh0LnN0eWxlcyk7aS5sZW5ndGg+MCYmKHIuc3R5bGU9aSk7dmFyIG89W107cmV0dXJuIG8ucHVzaCh7dGFnOiJzcGFuIixhdHRyaWJ1dGVzOnIsY2hpbGRyZW46W2VdfSksb31mdW5jdGlvbiBndWUoYSl7dmFyIGU9YVswXSx0PWFbMV0scj1hLnNsaWNlKDQpLGk9WEoociwxKSxvPWlbMF0sbj1udWxsO3JldHVybiBBcnJheS5pc0FycmF5KG8pP249e3RhZzoiZyIsYXR0cmlidXRlczp7Y2xhc3M6IiIuY29uY2F0KEx0LmNzc1ByZWZpeCwiLSIpLmNvbmNhdChydWUuR1JPVVApfSxjaGlsZHJlbjpbe3RhZzoicGF0aCIsYXR0cmlidXRlczp7Y2xhc3M6IiIuY29uY2F0KEx0LmNzc1ByZWZpeCwiLSIpLmNvbmNhdChydWUuU0VDT05EQVJZKSxmaWxsOiJjdXJyZW50Q29sb3IiLGQ6b1swXX19LHt0YWc6InBhdGgiLGF0dHJpYnV0ZXM6e2NsYXNzOiIiLmNvbmNhdChMdC5jc3NQcmVmaXgsIi0iKS5jb25jYXQocnVlLlBSSU1BUlkpLGZpbGw6ImN1cnJlbnRDb2xvciIsZDpvWzFdfX1dfTpuPXt0YWc6InBhdGgiLGF0dHJpYnV0ZXM6e2ZpbGw6ImN1cnJlbnRDb2xvciIsZDpvfX0se2ZvdW5kOiEwLHdpZHRoOmUsaGVpZ2h0OnQsaWNvbjpufX1mdW5jdGlvbiBsTGEoYSxlKXshbzl0JiYhTHQuc2hvd01pc3NpbmdJY29ucyYmYSYmY29uc29sZS5lcnJvcignSWNvbiB3aXRoIG5hbWUgIicuY29uY2F0KGEsJyIgYW5kIHByZWZpeCAiJykuY29uY2F0KGUsJyIgaXMgbWlzc2luZy4nKSl9ZnVuY3Rpb24gYnVlKGEsZSl7dmFyIHQ9ZTtyZXR1cm4gZT09PSJmYSImJkx0LnN0eWxlRGVmYXVsdCE9PW51bGwmJihlPWE0KCkpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKHIsaSl7aWYodD09PSJmYSIpe3ZhciBvPVQ5dChhKXx8e307YT1vLmljb25OYW1lfHxhLGU9by5wcmVmaXh8fGV9aWYoYSYmZSYmbXVlW2VdJiZtdWVbZV1bYV0pe3ZhciBuPW11ZVtlXVthXTtyZXR1cm4gcihndWUobikpfWxMYShhLGUpLHIoWmUoWmUoe30sbkxhKSx7fSx7aWNvbjpMdC5zaG93TWlzc2luZ0ljb25zJiZhP3I0KCJtaXNzaW5nSWNvbkFic3RyYWN0Iil8fHt9Ont9fSkpfSl9ZnVuY3Rpb24gUjl0KGEpe3ZhciBlPWEuZ2V0QXR0cmlidXRlP2EuZ2V0QXR0cmlidXRlKHBkKTpudWxsO3JldHVybiB0eXBlb2YgZT09InN0cmluZyJ9ZnVuY3Rpb24gZExhKGEpe3ZhciBlPWEuZ2V0QXR0cmlidXRlP2EuZ2V0QXR0cmlidXRlKFg2ZSk6bnVsbCx0PWEuZ2V0QXR0cmlidXRlP2EuZ2V0QXR0cmlidXRlKFE2ZSk6bnVsbDtyZXR1cm4gZSYmdH1mdW5jdGlvbiB1TGEoYSl7cmV0dXJuIGEmJmEuY2xhc3NMaXN0JiZhLmNsYXNzTGlzdC5jb250YWlucyYmYS5jbGFzc0xpc3QuY29udGFpbnMoTHQucmVwbGFjZW1lbnRDbGFzcyl9ZnVuY3Rpb24gcExhKCl7aWYoTHQuYXV0b1JlcGxhY2VTdmc9PT0hMClyZXR1cm4gbmVlLnJlcGxhY2U7dmFyIGE9bmVlW0x0LmF1dG9SZXBsYWNlU3ZnXTtyZXR1cm4gYXx8bmVlLnJlcGxhY2V9ZnVuY3Rpb24gZkxhKGEpe3JldHVybiBwci5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixhKX1mdW5jdGlvbiBoTGEoYSl7cmV0dXJuIHByLmNyZWF0ZUVsZW1lbnQoYSl9ZnVuY3Rpb24gTzl0KGEpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTp7fSx0PWUuY2VGbixyPXQ9PT12b2lkIDA/YS50YWc9PT0ic3ZnIj9mTGE6aExhOnQ7aWYodHlwZW9mIGE9PSJzdHJpbmciKXJldHVybiBwci5jcmVhdGVUZXh0Tm9kZShhKTt2YXIgaT1yKGEudGFnKTtPYmplY3Qua2V5cyhhLmF0dHJpYnV0ZXN8fFtdKS5mb3JFYWNoKGZ1bmN0aW9uKG4pe2kuc2V0QXR0cmlidXRlKG4sYS5hdHRyaWJ1dGVzW25dKX0pO3ZhciBvPWEuY2hpbGRyZW58fFtdO3JldHVybiBvLmZvckVhY2goZnVuY3Rpb24obil7aS5hcHBlbmRDaGlsZChPOXQobix7Y2VGbjpyfSkpfSksaX1mdW5jdGlvbiBtTGEoYSl7dmFyIGU9IiAiLmNvbmNhdChhLm91dGVySFRNTCwiICIpO3JldHVybiBlPSIiLmNvbmNhdChlLCJGb250IEF3ZXNvbWUgZm9udGF3ZXNvbWUuY29tICIpLGV9ZnVuY3Rpb24gRjl0KGEpe2EoKX1mdW5jdGlvbiBCOXQoYSxlKXt2YXIgdD10eXBlb2YgZT09ImZ1bmN0aW9uIj9lOm9lZTtpZihhLmxlbmd0aD09PTApdCgpO2Vsc2V7dmFyIHI9Rjl0O0x0Lm11dGF0ZUFwcHJvYWNoPT09dlRhJiYocj1lNC5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fEY5dCkscihmdW5jdGlvbigpe3ZhciBpPXBMYSgpLG89eHVlLmJlZ2luKCJtdXRhdGUiKTthLm1hcChpKSxvKCksdCgpfSl9fWZ1bmN0aW9uIEg5dCgpe3l1ZT0hMH1mdW5jdGlvbiB3dWUoKXt5dWU9ITF9ZnVuY3Rpb24gcTl0KGEpe2lmKEw3dCYmTHQub2JzZXJ2ZU11dGF0aW9ucyl7dmFyIGU9YS50cmVlQ2FsbGJhY2ssdD1lPT09dm9pZCAwP29lZTplLHI9YS5ub2RlQ2FsbGJhY2ssaT1yPT09dm9pZCAwP29lZTpyLG89YS5wc2V1ZG9FbGVtZW50c0NhbGxiYWNrLG49bz09PXZvaWQgMD9vZWU6byxsPWEub2JzZXJ2ZU11dGF0aW9uc1Jvb3QsZD1sPT09dm9pZCAwP3ByOmw7bGVlPW5ldyBMN3QoZnVuY3Rpb24oYyl7aWYoIXl1ZSl7dmFyIHA9YTQoKTtXOChjKS5mb3JFYWNoKGZ1bmN0aW9uKHUpe2lmKHUudHlwZT09PSJjaGlsZExpc3QiJiZ1LmFkZGVkTm9kZXMubGVuZ3RoPjAmJiFSOXQodS5hZGRlZE5vZGVzWzBdKSYmKEx0LnNlYXJjaFBzZXVkb0VsZW1lbnRzJiZuKHUudGFyZ2V0KSx0KHUudGFyZ2V0KSksdS50eXBlPT09ImF0dHJpYnV0ZXMiJiZ1LnRhcmdldC5wYXJlbnROb2RlJiZMdC5zZWFyY2hQc2V1ZG9FbGVtZW50cyYmbihbdS50YXJnZXRdLCEwKSx1LnR5cGU9PT0iYXR0cmlidXRlcyImJlI5dCh1LnRhcmdldCkmJn5TVGEuaW5kZXhPZih1LmF0dHJpYnV0ZU5hbWUpKWlmKHUuYXR0cmlidXRlTmFtZT09PSJjbGFzcyImJmRMYSh1LnRhcmdldCkpe3ZhciBtPXNlZShzdWUodS50YXJnZXQpKSx2PW0ucHJlZml4LHg9bS5pY29uTmFtZTt1LnRhcmdldC5zZXRBdHRyaWJ1dGUoWDZlLHZ8fHApLHgmJnUudGFyZ2V0LnNldEF0dHJpYnV0ZShRNmUseCl9ZWxzZSB1TGEodS50YXJnZXQpJiZpKHUudGFyZ2V0KX0pfX0pLEpsJiZsZWUub2JzZXJ2ZShkLHtjaGlsZExpc3Q6ITAsYXR0cmlidXRlczohMCxjaGFyYWN0ZXJEYXRhOiEwLHN1YnRyZWU6ITB9KX19ZnVuY3Rpb24gZ0xhKCl7bGVlJiZsZWUuZGlzY29ubmVjdCgpfWZ1bmN0aW9uIGJMYShhKXt2YXIgZT1hLmdldEF0dHJpYnV0ZSgic3R5bGUiKSx0PVtdO3JldHVybiBlJiYodD1lLnNwbGl0KCI7IikucmVkdWNlKGZ1bmN0aW9uKHIsaSl7dmFyIG89aS5zcGxpdCgiOiIpLG49b1swXSxsPW8uc2xpY2UoMSk7cmV0dXJuIG4mJmwubGVuZ3RoPjAmJihyW25dPWwuam9pbigiOiIpLnRyaW0oKSkscn0se30pKSx0fWZ1bmN0aW9uIHZMYShhKXt2YXIgZT1hLmdldEF0dHJpYnV0ZSgiZGF0YS1wcmVmaXgiKSx0PWEuZ2V0QXR0cmlidXRlKCJkYXRhLWljb24iKSxyPWEuaW5uZXJUZXh0IT09dm9pZCAwP2EuaW5uZXJUZXh0LnRyaW0oKToiIixpPXNlZShzdWUoYSkpO3JldHVybiBpLnByZWZpeHx8KGkucHJlZml4PWE0KCkpLGUmJnQmJihpLnByZWZpeD1lLGkuaWNvbk5hbWU9dCksaS5pY29uTmFtZSYmaS5wcmVmaXh8fChpLnByZWZpeCYmci5sZW5ndGg+MCYmKGkuaWNvbk5hbWU9cVRhKGkucHJlZml4LGEuaW5uZXJUZXh0KXx8dXVlKGkucHJlZml4LHg5dChhLmlubmVyVGV4dCkpKSwhaS5pY29uTmFtZSYmTHQuYXV0b0ZldGNoU3ZnJiZhLmZpcnN0Q2hpbGQmJmEuZmlyc3RDaGlsZC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiYoaS5pY29uTmFtZT1hLmZpcnN0Q2hpbGQuZGF0YSkpLGl9ZnVuY3Rpb24geExhKGEpe3ZhciBlPVc4KGEuYXR0cmlidXRlcykucmVkdWNlKGZ1bmN0aW9uKHQscil7cmV0dXJuIHQubmFtZSE9PSJjbGFzcyImJnQubmFtZSE9PSJzdHlsZSImJih0W3IubmFtZV09ci52YWx1ZSksdH0se30pO3JldHVybiBlfWZ1bmN0aW9uIHlMYSgpe3JldHVybntpY29uTmFtZTpudWxsLHByZWZpeDpudWxsLHRyYW5zZm9ybTpCMixzeW1ib2w6ITEsbWFzazp7aWNvbk5hbWU6bnVsbCxwcmVmaXg6bnVsbCxyZXN0OltdfSxtYXNrSWQ6bnVsbCxleHRyYTp7Y2xhc3NlczpbXSxzdHlsZXM6e30sYXR0cmlidXRlczp7fX19fWZ1bmN0aW9uIFY5dChhKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e3N0eWxlUGFyc2VyOiEwfSx0PXZMYShhKSxyPXQuaWNvbk5hbWUsaT10LnByZWZpeCxvPXQucmVzdCxuPXhMYShhKSxsPXB1ZSgicGFyc2VOb2RlQXR0cmlidXRlcyIse30sYSksZD1lLnN0eWxlUGFyc2VyP2JMYShhKTpbXTtyZXR1cm4gWmUoe2ljb25OYW1lOnIscHJlZml4OmksdHJhbnNmb3JtOkIyLG1hc2s6e2ljb25OYW1lOm51bGwscHJlZml4Om51bGwscmVzdDpbXX0sbWFza0lkOm51bGwsc3ltYm9sOiExLGV4dHJhOntjbGFzc2VzOm8sc3R5bGVzOmQsYXR0cmlidXRlczpufX0sbCl9ZnVuY3Rpb24gajl0KGEpe3ZhciBlPUx0LmF1dG9SZXBsYWNlU3ZnPT09Im5lc3QiP1Y5dChhLHtzdHlsZVBhcnNlcjohMX0pOlY5dChhKTtyZXR1cm5+ZS5leHRyYS5jbGFzc2VzLmluZGV4T2YoYzl0KT9yNCgiZ2VuZXJhdGVMYXllcnNUZXh0IixhLGUpOnI0KCJnZW5lcmF0ZVN2Z1JlcGxhY2VtZW50TXV0YXRpb24iLGEsZSl9ZnVuY3Rpb24gTUxhKCl7cmV0dXJuW10uY29uY2F0KE0xKFg3dCksTTEoZTl0KSl9ZnVuY3Rpb24gVTl0KGEpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTpudWxsO2lmKCFKbClyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7dmFyIHQ9cHIuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdCxyPXMoZnVuY3Rpb24odSl7cmV0dXJuIHQuYWRkKCIiLmNvbmNhdChzOXQsIi0iKS5jb25jYXQodSkpfSwiaGNsQWRkIiksaT1zKGZ1bmN0aW9uKHUpe3JldHVybiB0LnJlbW92ZSgiIi5jb25jYXQoczl0LCItIikuY29uY2F0KHUpKX0sImhjbFJlbW92ZSIpLG89THQuYXV0b0ZldGNoU3ZnP01MYSgpOkE3dC5jb25jYXQoT2JqZWN0LmtleXMod0xhKSk7by5pbmNsdWRlcygiZmEiKXx8by5wdXNoKCJmYSIpO3ZhciBuPVsiLiIuY29uY2F0KGM5dCwiOm5vdChbIikuY29uY2F0KHBkLCJdKSIpXS5jb25jYXQoby5tYXAoZnVuY3Rpb24ocCl7cmV0dXJuIi4iLmNvbmNhdChwLCI6bm90KFsiKS5jb25jYXQocGQsIl0pIil9KSkuam9pbigiLCAiKTtpZihuLmxlbmd0aD09PTApcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO3ZhciBsPVtdO3RyeXtsPVc4KGEucXVlcnlTZWxlY3RvckFsbChuKSl9Y2F0Y2h7fWlmKGwubGVuZ3RoPjApcigicGVuZGluZyIpLGkoImNvbXBsZXRlIik7ZWxzZSByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7dmFyIGQ9eHVlLmJlZ2luKCJvblRyZWUiKSxjPWwucmVkdWNlKGZ1bmN0aW9uKHAsdSl7dHJ5e3ZhciBtPWo5dCh1KTttJiZwLnB1c2gobSl9Y2F0Y2godil7bzl0fHx2Lm5hbWU9PT0iTWlzc2luZ0ljb24iJiZjb25zb2xlLmVycm9yKHYpfXJldHVybiBwfSxbXSk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHAsdSl7UHJvbWlzZS5hbGwoYykudGhlbihmdW5jdGlvbihtKXtCOXQobSxmdW5jdGlvbigpe3IoImFjdGl2ZSIpLHIoImNvbXBsZXRlIiksaSgicGVuZGluZyIpLHR5cGVvZiBlPT0iZnVuY3Rpb24iJiZlKCksZCgpLHAoKX0pfSkuY2F0Y2goZnVuY3Rpb24obSl7ZCgpLHUobSl9KX0pfWZ1bmN0aW9uIGtMYShhKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06bnVsbDtqOXQoYSkudGhlbihmdW5jdGlvbih0KXt0JiZCOXQoW3RdLGUpfSl9ZnVuY3Rpb24gU0xhKGEpe3JldHVybiBmdW5jdGlvbihlKXt2YXIgdD1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30scj0oZXx8e30pLmljb24/ZTpmdWUoZXx8e30pLGk9dC5tYXNrO3JldHVybiBpJiYoaT0oaXx8e30pLmljb24/aTpmdWUoaXx8e30pKSxhKHIsWmUoWmUoe30sdCkse30se21hc2s6aX0pKX19ZnVuY3Rpb24gRExhKGEpe3ZhciBlPWEucmVwbGFjZShXOXQsIiIpO3JldHVybiB4OXQoTTEoZSlbMF18fCIiKX1mdW5jdGlvbiBBTGEoYSl7dmFyIGU9YS5nZXRQcm9wZXJ0eVZhbHVlKCJmb250LWZlYXR1cmUtc2V0dGluZ3MiKS5pbmNsdWRlcygic3MwMSIpLHQ9YS5nZXRQcm9wZXJ0eVZhbHVlKCJjb250ZW50Iikscj10LnJlcGxhY2UoVzl0LCIiKSxpPXIuY29kZVBvaW50QXQoMCksbz1pPj1HOXRbMF0mJmk8PUc5dFsxXSxuPXIubGVuZ3RoPT09Mj9yWzBdPT09clsxXTohMTtyZXR1cm4gb3x8bnx8ZX1mdW5jdGlvbiBFTGEoYSxlKXt2YXIgdD1hLnJlcGxhY2UoL15bJyJdfFsnIl0kL2csIiIpLnRvTG93ZXJDYXNlKCkscj1wYXJzZUludChlKSxpPWlzTmFOKHIpPyJub3JtYWwiOnI7cmV0dXJuKE11ZVt0XXx8e30pW2ldfHwkTGFbdF19ZnVuY3Rpb24gSzl0KGEsZSl7dmFyIHQ9IiIuY29uY2F0KGJUYSkuY29uY2F0KGUucmVwbGFjZSgiOiIsIi0iKSk7cmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHIsaSl7aWYoYS5nZXRBdHRyaWJ1dGUodCkhPT1udWxsKXJldHVybiByKCk7dmFyIG89VzgoYS5jaGlsZHJlbiksbj1vLmZpbHRlcihmdW5jdGlvbih6KXtyZXR1cm4gei5nZXRBdHRyaWJ1dGUoWjZlKT09PWV9KVswXSxsPWU0LmdldENvbXB1dGVkU3R5bGUoYSxlKSxkPWwuZ2V0UHJvcGVydHlWYWx1ZSgiZm9udC1mYW1pbHkiKSxjPWQubWF0Y2goTVRhKSxwPWwuZ2V0UHJvcGVydHlWYWx1ZSgiZm9udC13ZWlnaHQiKSx1PWwuZ2V0UHJvcGVydHlWYWx1ZSgiY29udGVudCIpO2lmKG4mJiFjKXJldHVybiBhLnJlbW92ZUNoaWxkKG4pLHIoKTtpZihjJiZ1IT09Im5vbmUiJiZ1IT09IiIpe3ZhciBtPWwuZ2V0UHJvcGVydHlWYWx1ZSgiY29udGVudCIpLHY9RUxhKGQscCkseD1ETGEobSksYj1jWzBdLnN0YXJ0c1dpdGgoIkZvbnRBd2Vzb21lIiksZz1BTGEobCkseT11dWUodix4KSxrPXk7aWYoYil7dmFyIEM9VlRhKHgpO0MuaWNvbk5hbWUmJkMucHJlZml4JiYoeT1DLmljb25OYW1lLHY9Qy5wcmVmaXgpfWlmKHkmJiFnJiYoIW58fG4uZ2V0QXR0cmlidXRlKFg2ZSkhPT12fHxuLmdldEF0dHJpYnV0ZShRNmUpIT09aykpe2Euc2V0QXR0cmlidXRlKHQsayksbiYmYS5yZW1vdmVDaGlsZChuKTt2YXIgTj15TGEoKSxfPU4uZXh0cmE7Xy5hdHRyaWJ1dGVzW1o2ZV09ZSxidWUoeSx2KS50aGVuKGZ1bmN0aW9uKHope3ZhciBPPWh1ZShaZShaZSh7fSxOKSx7fSx7aWNvbnM6e21haW46eixtYXNrOkw5dCgpfSxwcmVmaXg6dixpY29uTmFtZTprLGV4dHJhOl8sd2F0Y2hhYmxlOiEwfSkpLFQ9cHIuY3JlYXRlRWxlbWVudE5TKCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsInN2ZyIpO2U9PT0iOjpiZWZvcmUiP2EuaW5zZXJ0QmVmb3JlKFQsYS5maXJzdENoaWxkKTphLmFwcGVuZENoaWxkKFQpLFQub3V0ZXJIVE1MPU8ubWFwKGZ1bmN0aW9uKEUpe3JldHVybiBUYihFKX0pLmpvaW4oYApgKSxhLnJlbW92ZUF0dHJpYnV0ZSh0KSxyKCl9KS5jYXRjaChpKX1lbHNlIHIoKX1lbHNlIHIoKX0pfWZ1bmN0aW9uIFBMYShhKXtyZXR1cm4gUHJvbWlzZS5hbGwoW0s5dChhLCI6OmJlZm9yZSIpLEs5dChhLCI6OmFmdGVyIildKX1mdW5jdGlvbiBJTGEoYSl7cmV0dXJuIGEucGFyZW50Tm9kZSE9PWRvY3VtZW50LmhlYWQmJiF+eFRhLmluZGV4T2YoYS50YWdOYW1lLnRvVXBwZXJDYXNlKCkpJiYhYS5nZXRBdHRyaWJ1dGUoWjZlKSYmKCFhLnBhcmVudE5vZGV8fGEucGFyZW50Tm9kZS50YWdOYW1lIT09InN2ZyIpfWZ1bmN0aW9uIFo5dChhKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06ITE7aWYoSmwpe3ZhciB0O2lmKGUpdD1hO2Vsc2UgaWYoTHQuc2VhcmNoUHNldWRvRWxlbWVudHNGdWxsU2Nhbil0PWEucXVlcnlTZWxlY3RvckFsbCgiKiIpO2Vsc2V7dmFyIHI9bmV3IFNldCxpPUtKKGRvY3VtZW50LnN0eWxlU2hlZXRzKSxvO3RyeXtmb3IoaS5zKCk7IShvPWkubigpKS5kb25lOyl7dmFyIG49by52YWx1ZTt0cnl7dmFyIGw9S0oobi5jc3NSdWxlcyksZDt0cnl7Zm9yKGwucygpOyEoZD1sLm4oKSkuZG9uZTspe3ZhciBjPWQudmFsdWUscD1STGEoYy5zZWxlY3RvclRleHQpLHU9S0oocCksbTt0cnl7Zm9yKHUucygpOyEobT11Lm4oKSkuZG9uZTspe3ZhciB2PW0udmFsdWU7ci5hZGQodil9fWNhdGNoKGIpe3UuZShiKX1maW5hbGx5e3UuZigpfX19Y2F0Y2goYil7bC5lKGIpfWZpbmFsbHl7bC5mKCl9fWNhdGNoKGIpe0x0LnNlYXJjaFBzZXVkb0VsZW1lbnRzV2FybmluZ3MmJmNvbnNvbGUud2FybigiRm9udCBBd2Vzb21lOiBjYW5ub3QgcGFyc2Ugc3R5bGVzaGVldDogIi5jb25jYXQobi5ocmVmLCIgKCIpLmNvbmNhdChiLm1lc3NhZ2UsYCkKSWYgaXQgZGVjbGFyZXMgYW55IEZvbnQgQXdlc29tZSBDU1MgcHNldWRvLWVsZW1lbnRzLCB0aGV5IHdpbGwgbm90IGJlIHJlbmRlcmVkIGFzIFNWRyBpY29ucy4gQWRkIGNyb3Nzb3JpZ2luPSJhbm9ueW1vdXMiIHRvIHRoZSA8bGluaz4sIGVuYWJsZSBzZWFyY2hQc2V1ZG9FbGVtZW50c0Z1bGxTY2FuIGZvciBzbG93ZXIgYnV0IG1vcmUgdGhvcm91Z2ggRE9NIHBhcnNpbmcsIG9yIHN1cHByZXNzIHRoaXMgd2FybmluZyBieSBzZXR0aW5nIHNlYXJjaFBzZXVkb0VsZW1lbnRzV2FybmluZ3MgdG8gZmFsc2UuYCkpfX19Y2F0Y2goYil7aS5lKGIpfWZpbmFsbHl7aS5mKCl9aWYoIXIuc2l6ZSlyZXR1cm47dmFyIHg9QXJyYXkuZnJvbShyKS5qb2luKCIsICIpO3RyeXt0PWEucXVlcnlTZWxlY3RvckFsbCh4KX1jYXRjaHt9fXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihiLGcpe3ZhciB5PVc4KHQpLmZpbHRlcihJTGEpLm1hcChQTGEpLGs9eHVlLmJlZ2luKCJzZWFyY2hQc2V1ZG9FbGVtZW50cyIpO0g5dCgpLFByb21pc2UuYWxsKHkpLnRoZW4oZnVuY3Rpb24oKXtrKCksd3VlKCksYigpfSkuY2F0Y2goZnVuY3Rpb24oKXtrKCksd3VlKCksZygpfSl9KX19ZnVuY3Rpb24gSjl0KGEpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmYXJndW1lbnRzWzFdIT09dm9pZCAwP2FyZ3VtZW50c1sxXTohMDtyZXR1cm4gYS5hdHRyaWJ1dGVzJiYoYS5hdHRyaWJ1dGVzLmZpbGx8fGUpJiYoYS5hdHRyaWJ1dGVzLmZpbGw9ImJsYWNrIiksYX1mdW5jdGlvbiBITGEoYSl7cmV0dXJuIGEudGFnPT09ImciP2EuY2hpbGRyZW46W2FdfXZhciBrN3QsVTZlLFM3dCx6N3QsQzd0LEZDYSxfN3QsVDd0LGU0LHByLEw3dCxKSixZMnMsSmwsJDd0LFc2ZSxCQ2EsSENhLEQ3dCxxQ2EsQTd0LFFzLFNiLEU3dCxQN3QsSTd0LE43dCxSN3QsTzd0LEY3dCxCN3QsSDd0LHE3dCxWN3Qsajd0LFU3dCxXN3QsRzd0LFk3dCxLN3QsVkNhLGpDYSxVQ2EsV0NhLEdDYSxZQ2EsS0NhLFpDYSxYQ2EsUUNhLEpDYSxlX2EsdF9hLGFfYSxyX2Esc19hLGlfYSxvX2Esbl9hLFo3dCxLMnMsbF9hLGNfYSxkX2EsdV9hLFg3dCxRN3QscF9hLGZfYSxoX2EsbV9hLGdfYSxaMnMsYl9hLHZfYSx4X2EsSjd0LEc2ZSxlZWUseV9hLHdfYSxNX2Esa19hLFNfYSx6X2EsQ19hLF9fYSxUX2EsTF9hLCRfYSxEX2EsQV9hLEVfYSxQX2EsSV9hLE5fYSxSX2EsT19hLEZfYSxCX2EsSF9hLHFfYSxWX2Esal9hLFVfYSxXX2EsR19hLFlfYSxLX2EsWl9hLFhfYSxRX2EsSl9hLGVUYSx0VGEsYVRhLHJUYSxzVGEsWDJzLGlUYSxvVGEsblRhLGxUYSxRMnMsY1RhLGRUYSxZNmUsdVRhLGU5dCxwVGEsdDl0LGZUYSxoVGEsbVRhLGdUYSxlYyxLNmUsYTl0LHI5dCxwZCxaNmUsYlRhLFg2ZSxRNmUsczl0LHZUYSx4VGEsaTl0LG85dCxuOXQseVRhLEo2ZSxsOXQsZXVlLHR1ZSxhdWUsSjJzLHdUYSxjOXQsTVRhLGtUYSxlbHMsU1RhLHJ1ZSx6VGEsQ2IsdTl0LFU4LEx0LF9iLHQ0LEIyLCRUYSxQVGEsbTl0LElUYSx0YyxrMSxnOXQsYjl0LGFlZSxSVGEsbnVlLGN1ZSxTMSx0bHMsYWxzLExiLE9UYSx3OXQsRlRhLGR1ZSxNOXQsazl0LFM5dCx6OXQsQzl0LF85dCxMOXQsRDl0LEdUYSxZVGEsWlRhLEE5dCxHOCxZOCxYVGEsRTl0LEpUYSxlTGEsdExhLExvLGFMYSxtdWUsbkxhLEk5dCx2dWUsJGIsY0xhLE45dCx4dWUsb2VlLG5lZSx5dWUsbGVlLHdMYSx6TGEsQ0xhLF9MYSxUTGEsTExhLFc5dCxHOXQsWTl0LE11ZSwkTGEsTkxhLFJMYSxPTGEsWDl0LEZMYSxROXQsQkxhLGt1ZSxxTGEsVkxhLGpMYSxVTGEsV0xhLEdMYSxZTGEsS0xhLFpMYSxYTGEsUUxhLFN1ZSxKTGEsZSRhLHQkYSxkOXQsZWd0PWYoKCk9PntzKFY2ZSwiX2FycmF5TGlrZVRvQXJyYXkiKTtzKExDYSwiX2FycmF5V2l0aEhvbGVzIik7cygkQ2EsIl9hcnJheVdpdGhvdXRIb2xlcyIpO3MoRENhLCJfY2xhc3NDYWxsQ2hlY2siKTtzKHk3dCwiX2RlZmluZVByb3BlcnRpZXMiKTtzKEFDYSwiX2NyZWF0ZUNsYXNzIik7cyhLSiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiKTtzKFV0LCJfZGVmaW5lUHJvcGVydHkiKTtzKEVDYSwiX2luaGVyaXRzIik7cyhQQ2EsIl9pdGVyYWJsZVRvQXJyYXkiKTtzKElDYSwiX2l0ZXJhYmxlVG9BcnJheUxpbWl0Iik7cyhOQ2EsIl9ub25JdGVyYWJsZVJlc3QiKTtzKFJDYSwiX25vbkl0ZXJhYmxlU3ByZWFkIik7cyh3N3QsIm93bktleXMiKTtzKFplLCJfb2JqZWN0U3ByZWFkMiIpO3MoWkosIl9zZXRQcm90b3R5cGVPZiIpO3MoWEosIl9zbGljZWRUb0FycmF5Iik7cyhNMSwiX3RvQ29uc3VtYWJsZUFycmF5Iik7cyhPQ2EsIl90b1ByaW1pdGl2ZSIpO3MoTTd0LCJfdG9Qcm9wZXJ0eUtleSIpO3MoUUosIl90eXBlb2YiKTtzKGo2ZSwiX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5Iik7cyhfaSwiX3dyYXBSZWdFeHAiKTtrN3Q9cyhmdW5jdGlvbigpe30sIm5vb3AiKSxVNmU9e30sUzd0PXt9LHo3dD1udWxsLEM3dD17bWFyazprN3QsbWVhc3VyZTprN3R9O3RyeXt0eXBlb2Ygd2luZG93PCJ1IiYmKFU2ZT13aW5kb3cpLHR5cGVvZiBkb2N1bWVudDwidSImJihTN3Q9ZG9jdW1lbnQpLHR5cGVvZiBNdXRhdGlvbk9ic2VydmVyPCJ1IiYmKHo3dD1NdXRhdGlvbk9ic2VydmVyKSx0eXBlb2YgcGVyZm9ybWFuY2U8InUiJiYoQzd0PXBlcmZvcm1hbmNlKX1jYXRjaHt9RkNhPVU2ZS5uYXZpZ2F0b3J8fHt9LF83dD1GQ2EudXNlckFnZW50LFQ3dD1fN3Q9PT12b2lkIDA/IiI6Xzd0LGU0PVU2ZSxwcj1TN3QsTDd0PXo3dCxKSj1DN3QsWTJzPSEhZTQuZG9jdW1lbnQsSmw9ISFwci5kb2N1bWVudEVsZW1lbnQmJiEhcHIuaGVhZCYmdHlwZW9mIHByLmFkZEV2ZW50TGlzdGVuZXI9PSJmdW5jdGlvbiImJnR5cGVvZiBwci5jcmVhdGVFbGVtZW50PT0iZnVuY3Rpb24iLCQ3dD1+VDd0LmluZGV4T2YoIk1TSUUiKXx8flQ3dC5pbmRleE9mKCJUcmlkZW50LyIpLEJDYT0vZmEoa3xrZHxzfHJ8bHx0fGR8ZHJ8ZGx8ZHR8YnxzbHJ8c2xwcnx3c2J8dGx8bnN8bmRzfGVzfGd0fGpyfGpmcnxqZHJ8dXNifHVmc2J8dWRzYnxjcnxzc3xzcnxzbHxzdHxzZHN8c2RyfHNkbHxzZHQpP1tcLVwgXS8sSENhPS9Gb250ID9Bd2Vzb21lID8oWzU2NyBdKikoU29saWR8UmVndWxhcnxMaWdodHxUaGlufER1b3RvbmV8QnJhbmRzfEZyZWV8UHJvfFNoYXJwIER1b3RvbmV8U2hhcnB8S2l0fE5vdGRvZyBEdW98Tm90ZG9nfENoaXNlbHxFdGNofEdyYXBoaXRlfFRodW1icHJpbnR8SmVsbHkgRmlsbHxKZWxseSBEdW98SmVsbHl8VXRpbGl0eXxVdGlsaXR5IEZpbGx8VXRpbGl0eSBEdW98U2xhYiBQcmVzc3xTbGFifFdoaXRlYm9hcmQpPy4qL2ksRDd0PXtjbGFzc2ljOntmYToic29saWQiLGZhczoic29saWQiLCJmYS1zb2xpZCI6InNvbGlkIixmYXI6InJlZ3VsYXIiLCJmYS1yZWd1bGFyIjoicmVndWxhciIsZmFsOiJsaWdodCIsImZhLWxpZ2h0IjoibGlnaHQiLGZhdDoidGhpbiIsImZhLXRoaW4iOiJ0aGluIixmYWI6ImJyYW5kcyIsImZhLWJyYW5kcyI6ImJyYW5kcyJ9LGR1b3RvbmU6e2ZhOiJzb2xpZCIsZmFkOiJzb2xpZCIsImZhLXNvbGlkIjoic29saWQiLCJmYS1kdW90b25lIjoic29saWQiLGZhZHI6InJlZ3VsYXIiLCJmYS1yZWd1bGFyIjoicmVndWxhciIsZmFkbDoibGlnaHQiLCJmYS1saWdodCI6ImxpZ2h0IixmYWR0OiJ0aGluIiwiZmEtdGhpbiI6InRoaW4ifSxzaGFycDp7ZmE6InNvbGlkIixmYXNzOiJzb2xpZCIsImZhLXNvbGlkIjoic29saWQiLGZhc3I6InJlZ3VsYXIiLCJmYS1yZWd1bGFyIjoicmVndWxhciIsZmFzbDoibGlnaHQiLCJmYS1saWdodCI6ImxpZ2h0IixmYXN0OiJ0aGluIiwiZmEtdGhpbiI6InRoaW4ifSwic2hhcnAtZHVvdG9uZSI6e2ZhOiJzb2xpZCIsZmFzZHM6InNvbGlkIiwiZmEtc29saWQiOiJzb2xpZCIsZmFzZHI6InJlZ3VsYXIiLCJmYS1yZWd1bGFyIjoicmVndWxhciIsZmFzZGw6ImxpZ2h0IiwiZmEtbGlnaHQiOiJsaWdodCIsZmFzZHQ6InRoaW4iLCJmYS10aGluIjoidGhpbiJ9LHNsYWI6eyJmYS1yZWd1bGFyIjoicmVndWxhciIsZmFzbHI6InJlZ3VsYXIifSwic2xhYi1wcmVzcyI6eyJmYS1yZWd1bGFyIjoicmVndWxhciIsZmFzbHByOiJyZWd1bGFyIn0sdGh1bWJwcmludDp7ImZhLWxpZ2h0IjoibGlnaHQiLGZhdGw6ImxpZ2h0In0sd2hpdGVib2FyZDp7ImZhLXNlbWlib2xkIjoic2VtaWJvbGQiLGZhd3NiOiJzZW1pYm9sZCJ9LG5vdGRvZzp7ImZhLXNvbGlkIjoic29saWQiLGZhbnM6InNvbGlkIn0sIm5vdGRvZy1kdW8iOnsiZmEtc29saWQiOiJzb2xpZCIsZmFuZHM6InNvbGlkIn0sZXRjaDp7ImZhLXNvbGlkIjoic29saWQiLGZhZXM6InNvbGlkIn0sZ3JhcGhpdGU6eyJmYS10aGluIjoidGhpbiIsZmFndDoidGhpbiJ9LGplbGx5OnsiZmEtcmVndWxhciI6InJlZ3VsYXIiLGZhanI6InJlZ3VsYXIifSwiamVsbHktZmlsbCI6eyJmYS1yZWd1bGFyIjoicmVndWxhciIsZmFqZnI6InJlZ3VsYXIifSwiamVsbHktZHVvIjp7ImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYWpkcjoicmVndWxhciJ9LGNoaXNlbDp7ImZhLXJlZ3VsYXIiOiJyZWd1bGFyIixmYWNyOiJyZWd1bGFyIn0sdXRpbGl0eTp7ImZhLXNlbWlib2xkIjoic2VtaWJvbGQiLGZhdXNiOiJzZW1pYm9sZCJ9LCJ1dGlsaXR5LWR1byI6eyJmYS1zZW1pYm9sZCI6InNlbWlib2xkIixmYXVkc2I6InNlbWlib2xkIn0sInV0aWxpdHktZmlsbCI6eyJmYS1zZW1pYm9sZCI6InNlbWlib2xkIixmYXVmc2I6InNlbWlib2xkIn19LHFDYT17R1JPVVA6ImR1b3RvbmUtZ3JvdXAiLFNXQVBfT1BBQ0lUWToic3dhcC1vcGFjaXR5IixQUklNQVJZOiJwcmltYXJ5IixTRUNPTkRBUlk6InNlY29uZGFyeSJ9LEE3dD1bImZhLWNsYXNzaWMiLCJmYS1kdW90b25lIiwiZmEtc2hhcnAiLCJmYS1zaGFycC1kdW90b25lIiwiZmEtdGh1bWJwcmludCIsImZhLXdoaXRlYm9hcmQiLCJmYS1ub3Rkb2ciLCJmYS1ub3Rkb2ctZHVvIiwiZmEtY2hpc2VsIiwiZmEtZXRjaCIsImZhLWdyYXBoaXRlIiwiZmEtamVsbHkiLCJmYS1qZWxseS1maWxsIiwiZmEtamVsbHktZHVvIiwiZmEtc2xhYiIsImZhLXNsYWItcHJlc3MiLCJmYS11dGlsaXR5IiwiZmEtdXRpbGl0eS1kdW8iLCJmYS11dGlsaXR5LWZpbGwiXSxRcz0iY2xhc3NpYyIsU2I9ImR1b3RvbmUiLEU3dD0ic2hhcnAiLFA3dD0ic2hhcnAtZHVvdG9uZSIsSTd0PSJjaGlzZWwiLE43dD0iZXRjaCIsUjd0PSJncmFwaGl0ZSIsTzd0PSJqZWxseSIsRjd0PSJqZWxseS1kdW8iLEI3dD0iamVsbHktZmlsbCIsSDd0PSJub3Rkb2ciLHE3dD0ibm90ZG9nLWR1byIsVjd0PSJzbGFiIixqN3Q9InNsYWItcHJlc3MiLFU3dD0idGh1bWJwcmludCIsVzd0PSJ1dGlsaXR5IixHN3Q9InV0aWxpdHktZHVvIixZN3Q9InV0aWxpdHktZmlsbCIsSzd0PSJ3aGl0ZWJvYXJkIixWQ2E9IkNsYXNzaWMiLGpDYT0iRHVvdG9uZSIsVUNhPSJTaGFycCIsV0NhPSJTaGFycCBEdW90b25lIixHQ2E9IkNoaXNlbCIsWUNhPSJFdGNoIixLQ2E9IkdyYXBoaXRlIixaQ2E9IkplbGx5IixYQ2E9IkplbGx5IER1byIsUUNhPSJKZWxseSBGaWxsIixKQ2E9Ik5vdGRvZyIsZV9hPSJOb3Rkb2cgRHVvIix0X2E9IlNsYWIiLGFfYT0iU2xhYiBQcmVzcyIscl9hPSJUaHVtYnByaW50IixzX2E9IlV0aWxpdHkiLGlfYT0iVXRpbGl0eSBEdW8iLG9fYT0iVXRpbGl0eSBGaWxsIixuX2E9IldoaXRlYm9hcmQiLFo3dD1bUXMsU2IsRTd0LFA3dCxJN3QsTjd0LFI3dCxPN3QsRjd0LEI3dCxIN3QscTd0LFY3dCxqN3QsVTd0LFc3dCxHN3QsWTd0LEs3dF0sSzJzPShXNmU9e30sVXQoVXQoVXQoVXQoVXQoVXQoVXQoVXQoVXQoVXQoVzZlLFFzLFZDYSksU2IsakNhKSxFN3QsVUNhKSxQN3QsV0NhKSxJN3QsR0NhKSxON3QsWUNhKSxSN3QsS0NhKSxPN3QsWkNhKSxGN3QsWENhKSxCN3QsUUNhKSxVdChVdChVdChVdChVdChVdChVdChVdChVdChXNmUsSDd0LEpDYSkscTd0LGVfYSksVjd0LHRfYSksajd0LGFfYSksVTd0LHJfYSksVzd0LHNfYSksRzd0LGlfYSksWTd0LG9fYSksSzd0LG5fYSkpLGxfYT17Y2xhc3NpYzp7OTAwOiJmYXMiLDQwMDoiZmFyIixub3JtYWw6ImZhciIsMzAwOiJmYWwiLDEwMDoiZmF0In0sZHVvdG9uZTp7OTAwOiJmYWQiLDQwMDoiZmFkciIsMzAwOiJmYWRsIiwxMDA6ImZhZHQifSxzaGFycDp7OTAwOiJmYXNzIiw0MDA6ImZhc3IiLDMwMDoiZmFzbCIsMTAwOiJmYXN0In0sInNoYXJwLWR1b3RvbmUiOns5MDA6ImZhc2RzIiw0MDA6ImZhc2RyIiwzMDA6ImZhc2RsIiwxMDA6ImZhc2R0In0sc2xhYjp7NDAwOiJmYXNsciJ9LCJzbGFiLXByZXNzIjp7NDAwOiJmYXNscHIifSx3aGl0ZWJvYXJkOns2MDA6ImZhd3NiIn0sdGh1bWJwcmludDp7MzAwOiJmYXRsIn0sbm90ZG9nOns5MDA6ImZhbnMifSwibm90ZG9nLWR1byI6ezkwMDoiZmFuZHMifSxldGNoOns5MDA6ImZhZXMifSxncmFwaGl0ZTp7MTAwOiJmYWd0In0sY2hpc2VsOns0MDA6ImZhY3IifSxqZWxseTp7NDAwOiJmYWpyIn0sImplbGx5LWZpbGwiOns0MDA6ImZhamZyIn0sImplbGx5LWR1byI6ezQwMDoiZmFqZHIifSx1dGlsaXR5Ons2MDA6ImZhdXNiIn0sInV0aWxpdHktZHVvIjp7NjAwOiJmYXVkc2IifSwidXRpbGl0eS1maWxsIjp7NjAwOiJmYXVmc2IifX0sY19hPXsiRm9udCBBd2Vzb21lIDcgRnJlZSI6ezkwMDoiZmFzIiw0MDA6ImZhciJ9LCJGb250IEF3ZXNvbWUgNyBQcm8iOns5MDA6ImZhcyIsNDAwOiJmYXIiLG5vcm1hbDoiZmFyIiwzMDA6ImZhbCIsMTAwOiJmYXQifSwiRm9udCBBd2Vzb21lIDcgQnJhbmRzIjp7NDAwOiJmYWIiLG5vcm1hbDoiZmFiIn0sIkZvbnQgQXdlc29tZSA3IER1b3RvbmUiOns5MDA6ImZhZCIsNDAwOiJmYWRyIixub3JtYWw6ImZhZHIiLDMwMDoiZmFkbCIsMTAwOiJmYWR0In0sIkZvbnQgQXdlc29tZSA3IFNoYXJwIjp7OTAwOiJmYXNzIiw0MDA6ImZhc3IiLG5vcm1hbDoiZmFzciIsMzAwOiJmYXNsIiwxMDA6ImZhc3QifSwiRm9udCBBd2Vzb21lIDcgU2hhcnAgRHVvdG9uZSI6ezkwMDoiZmFzZHMiLDQwMDoiZmFzZHIiLG5vcm1hbDoiZmFzZHIiLDMwMDoiZmFzZGwiLDEwMDoiZmFzZHQifSwiRm9udCBBd2Vzb21lIDcgSmVsbHkiOns0MDA6ImZhanIiLG5vcm1hbDoiZmFqciJ9LCJGb250IEF3ZXNvbWUgNyBKZWxseSBGaWxsIjp7NDAwOiJmYWpmciIsbm9ybWFsOiJmYWpmciJ9LCJGb250IEF3ZXNvbWUgNyBKZWxseSBEdW8iOns0MDA6ImZhamRyIixub3JtYWw6ImZhamRyIn0sIkZvbnQgQXdlc29tZSA3IFNsYWIiOns0MDA6ImZhc2xyIixub3JtYWw6ImZhc2xyIn0sIkZvbnQgQXdlc29tZSA3IFNsYWIgUHJlc3MiOns0MDA6ImZhc2xwciIsbm9ybWFsOiJmYXNscHIifSwiRm9udCBBd2Vzb21lIDcgVGh1bWJwcmludCI6ezMwMDoiZmF0bCIsbm9ybWFsOiJmYXRsIn0sIkZvbnQgQXdlc29tZSA3IE5vdGRvZyI6ezkwMDoiZmFucyIsbm9ybWFsOiJmYW5zIn0sIkZvbnQgQXdlc29tZSA3IE5vdGRvZyBEdW8iOns5MDA6ImZhbmRzIixub3JtYWw6ImZhbmRzIn0sIkZvbnQgQXdlc29tZSA3IEV0Y2giOns5MDA6ImZhZXMiLG5vcm1hbDoiZmFlcyJ9LCJGb250IEF3ZXNvbWUgNyBHcmFwaGl0ZSI6ezEwMDoiZmFndCIsbm9ybWFsOiJmYWd0In0sIkZvbnQgQXdlc29tZSA3IENoaXNlbCI6ezQwMDoiZmFjciIsbm9ybWFsOiJmYWNyIn0sIkZvbnQgQXdlc29tZSA3IFdoaXRlYm9hcmQiOns2MDA6ImZhd3NiIixub3JtYWw6ImZhd3NiIn0sIkZvbnQgQXdlc29tZSA3IFV0aWxpdHkiOns2MDA6ImZhdXNiIixub3JtYWw6ImZhdXNiIn0sIkZvbnQgQXdlc29tZSA3IFV0aWxpdHkgRHVvIjp7NjAwOiJmYXVkc2IiLG5vcm1hbDoiZmF1ZHNiIn0sIkZvbnQgQXdlc29tZSA3IFV0aWxpdHkgRmlsbCI6ezYwMDoiZmF1ZnNiIixub3JtYWw6ImZhdWZzYiJ9fSxkX2E9bmV3IE1hcChbWyJjbGFzc2ljIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhcyIsZGVmYXVsdFN0eWxlSWQ6InNvbGlkIixzdHlsZUlkczpbInNvbGlkIiwicmVndWxhciIsImxpZ2h0IiwidGhpbiIsImJyYW5kcyJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjkwMH1dLFsiZHVvdG9uZSIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYWQiLGRlZmF1bHRTdHlsZUlkOiJzb2xpZCIsc3R5bGVJZHM6WyJzb2xpZCIsInJlZ3VsYXIiLCJsaWdodCIsInRoaW4iXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo5MDB9XSxbInNoYXJwIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhc3MiLGRlZmF1bHRTdHlsZUlkOiJzb2xpZCIsc3R5bGVJZHM6WyJzb2xpZCIsInJlZ3VsYXIiLCJsaWdodCIsInRoaW4iXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo5MDB9XSxbInNoYXJwLWR1b3RvbmUiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFzZHMiLGRlZmF1bHRTdHlsZUlkOiJzb2xpZCIsc3R5bGVJZHM6WyJzb2xpZCIsInJlZ3VsYXIiLCJsaWdodCIsInRoaW4iXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo5MDB9XSxbImNoaXNlbCIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYWNyIixkZWZhdWx0U3R5bGVJZDoicmVndWxhciIsc3R5bGVJZHM6WyJyZWd1bGFyIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6NDAwfV0sWyJldGNoIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhZXMiLGRlZmF1bHRTdHlsZUlkOiJzb2xpZCIsc3R5bGVJZHM6WyJzb2xpZCJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjkwMH1dLFsiZ3JhcGhpdGUiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFndCIsZGVmYXVsdFN0eWxlSWQ6InRoaW4iLHN0eWxlSWRzOlsidGhpbiJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjEwMH1dLFsiamVsbHkiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFqciIsZGVmYXVsdFN0eWxlSWQ6InJlZ3VsYXIiLHN0eWxlSWRzOlsicmVndWxhciJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjQwMH1dLFsiamVsbHktZHVvIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhamRyIixkZWZhdWx0U3R5bGVJZDoicmVndWxhciIsc3R5bGVJZHM6WyJyZWd1bGFyIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6NDAwfV0sWyJqZWxseS1maWxsIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhamZyIixkZWZhdWx0U3R5bGVJZDoicmVndWxhciIsc3R5bGVJZHM6WyJyZWd1bGFyIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6NDAwfV0sWyJub3Rkb2ciLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFucyIsZGVmYXVsdFN0eWxlSWQ6InNvbGlkIixzdHlsZUlkczpbInNvbGlkIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6OTAwfV0sWyJub3Rkb2ctZHVvIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhbmRzIixkZWZhdWx0U3R5bGVJZDoic29saWQiLHN0eWxlSWRzOlsic29saWQiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo5MDB9XSxbInNsYWIiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFzbHIiLGRlZmF1bHRTdHlsZUlkOiJyZWd1bGFyIixzdHlsZUlkczpbInJlZ3VsYXIiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo0MDB9XSxbInNsYWItcHJlc3MiLHtkZWZhdWx0U2hvcnRQcmVmaXhJZDoiZmFzbHByIixkZWZhdWx0U3R5bGVJZDoicmVndWxhciIsc3R5bGVJZHM6WyJyZWd1bGFyIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6NDAwfV0sWyJ0aHVtYnByaW50Iix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhdGwiLGRlZmF1bHRTdHlsZUlkOiJsaWdodCIsc3R5bGVJZHM6WyJsaWdodCJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjMwMH1dLFsidXRpbGl0eSIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYXVzYiIsZGVmYXVsdFN0eWxlSWQ6InNlbWlib2xkIixzdHlsZUlkczpbInNlbWlib2xkIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6NjAwfV0sWyJ1dGlsaXR5LWR1byIse2RlZmF1bHRTaG9ydFByZWZpeElkOiJmYXVkc2IiLGRlZmF1bHRTdHlsZUlkOiJzZW1pYm9sZCIsc3R5bGVJZHM6WyJzZW1pYm9sZCJdLGZ1dHVyZVN0eWxlSWRzOltdLGRlZmF1bHRGb250V2VpZ2h0OjYwMH1dLFsidXRpbGl0eS1maWxsIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhdWZzYiIsZGVmYXVsdFN0eWxlSWQ6InNlbWlib2xkIixzdHlsZUlkczpbInNlbWlib2xkIl0sZnV0dXJlU3R5bGVJZHM6W10sZGVmYXVsdEZvbnRXZWlnaHQ6NjAwfV0sWyJ3aGl0ZWJvYXJkIix7ZGVmYXVsdFNob3J0UHJlZml4SWQ6ImZhd3NiIixkZWZhdWx0U3R5bGVJZDoic2VtaWJvbGQiLHN0eWxlSWRzOlsic2VtaWJvbGQiXSxmdXR1cmVTdHlsZUlkczpbXSxkZWZhdWx0Rm9udFdlaWdodDo2MDB9XV0pLHVfYT17Y2hpc2VsOntyZWd1bGFyOiJmYWNyIn0sY2xhc3NpYzp7YnJhbmRzOiJmYWIiLGxpZ2h0OiJmYWwiLHJlZ3VsYXI6ImZhciIsc29saWQ6ImZhcyIsdGhpbjoiZmF0In0sZHVvdG9uZTp7bGlnaHQ6ImZhZGwiLHJlZ3VsYXI6ImZhZHIiLHNvbGlkOiJmYWQiLHRoaW46ImZhZHQifSxldGNoOntzb2xpZDoiZmFlcyJ9LGdyYXBoaXRlOnt0aGluOiJmYWd0In0samVsbHk6e3JlZ3VsYXI6ImZhanIifSwiamVsbHktZHVvIjp7cmVndWxhcjoiZmFqZHIifSwiamVsbHktZmlsbCI6e3JlZ3VsYXI6ImZhamZyIn0sbm90ZG9nOntzb2xpZDoiZmFucyJ9LCJub3Rkb2ctZHVvIjp7c29saWQ6ImZhbmRzIn0sc2hhcnA6e2xpZ2h0OiJmYXNsIixyZWd1bGFyOiJmYXNyIixzb2xpZDoiZmFzcyIsdGhpbjoiZmFzdCJ9LCJzaGFycC1kdW90b25lIjp7bGlnaHQ6ImZhc2RsIixyZWd1bGFyOiJmYXNkciIsc29saWQ6ImZhc2RzIix0aGluOiJmYXNkdCJ9LHNsYWI6e3JlZ3VsYXI6ImZhc2xyIn0sInNsYWItcHJlc3MiOntyZWd1bGFyOiJmYXNscHIifSx0aHVtYnByaW50OntsaWdodDoiZmF0bCJ9LHV0aWxpdHk6e3NlbWlib2xkOiJmYXVzYiJ9LCJ1dGlsaXR5LWR1byI6e3NlbWlib2xkOiJmYXVkc2IifSwidXRpbGl0eS1maWxsIjp7c2VtaWJvbGQ6ImZhdWZzYiJ9LHdoaXRlYm9hcmQ6e3NlbWlib2xkOiJmYXdzYiJ9fSxYN3Q9WyJmYWsiLCJmYS1raXQiLCJmYWtkIiwiZmEta2l0LWR1b3RvbmUiXSxRN3Q9e2tpdDp7ZmFrOiJraXQiLCJmYS1raXQiOiJraXQifSwia2l0LWR1b3RvbmUiOntmYWtkOiJraXQtZHVvdG9uZSIsImZhLWtpdC1kdW90b25lIjoia2l0LWR1b3RvbmUifX0scF9hPVsia2l0Il0sZl9hPSJraXQiLGhfYT0ia2l0LWR1b3RvbmUiLG1fYT0iS2l0IixnX2E9IktpdCBEdW90b25lIixaMnM9VXQoVXQoe30sZl9hLG1fYSksaF9hLGdfYSksYl9hPXtraXQ6eyJmYS1raXQiOiJmYWsifSwia2l0LWR1b3RvbmUiOnsiZmEta2l0LWR1b3RvbmUiOiJmYWtkIn19LHZfYT17IkZvbnQgQXdlc29tZSBLaXQiOns0MDA6ImZhayIsbm9ybWFsOiJmYWsifSwiRm9udCBBd2Vzb21lIEtpdCBEdW90b25lIjp7NDAwOiJmYWtkIixub3JtYWw6ImZha2QifX0seF9hPXtraXQ6e2ZhazoiZmEta2l0In0sImtpdC1kdW90b25lIjp7ZmFrZDoiZmEta2l0LWR1b3RvbmUifX0sSjd0PXtraXQ6e2tpdDoiZmFrIn0sImtpdC1kdW90b25lIjp7ImtpdC1kdW90b25lIjoiZmFrZCJ9fSxlZWU9e0dST1VQOiJkdW90b25lLWdyb3VwIixTV0FQX09QQUNJVFk6InN3YXAtb3BhY2l0eSIsUFJJTUFSWToicHJpbWFyeSIsU0VDT05EQVJZOiJzZWNvbmRhcnkifSx5X2E9WyJmYS1jbGFzc2ljIiwiZmEtZHVvdG9uZSIsImZhLXNoYXJwIiwiZmEtc2hhcnAtZHVvdG9uZSIsImZhLXRodW1icHJpbnQiLCJmYS13aGl0ZWJvYXJkIiwiZmEtbm90ZG9nIiwiZmEtbm90ZG9nLWR1byIsImZhLWNoaXNlbCIsImZhLWV0Y2giLCJmYS1ncmFwaGl0ZSIsImZhLWplbGx5IiwiZmEtamVsbHktZmlsbCIsImZhLWplbGx5LWR1byIsImZhLXNsYWIiLCJmYS1zbGFiLXByZXNzIiwiZmEtdXRpbGl0eSIsImZhLXV0aWxpdHktZHVvIiwiZmEtdXRpbGl0eS1maWxsIl0sd19hPSJjbGFzc2ljIixNX2E9ImR1b3RvbmUiLGtfYT0ic2hhcnAiLFNfYT0ic2hhcnAtZHVvdG9uZSIsel9hPSJjaGlzZWwiLENfYT0iZXRjaCIsX19hPSJncmFwaGl0ZSIsVF9hPSJqZWxseSIsTF9hPSJqZWxseS1kdW8iLCRfYT0iamVsbHktZmlsbCIsRF9hPSJub3Rkb2ciLEFfYT0ibm90ZG9nLWR1byIsRV9hPSJzbGFiIixQX2E9InNsYWItcHJlc3MiLElfYT0idGh1bWJwcmludCIsTl9hPSJ1dGlsaXR5IixSX2E9InV0aWxpdHktZHVvIixPX2E9InV0aWxpdHktZmlsbCIsRl9hPSJ3aGl0ZWJvYXJkIixCX2E9IkNsYXNzaWMiLEhfYT0iRHVvdG9uZSIscV9hPSJTaGFycCIsVl9hPSJTaGFycCBEdW90b25lIixqX2E9IkNoaXNlbCIsVV9hPSJFdGNoIixXX2E9IkdyYXBoaXRlIixHX2E9IkplbGx5IixZX2E9IkplbGx5IER1byIsS19hPSJKZWxseSBGaWxsIixaX2E9Ik5vdGRvZyIsWF9hPSJOb3Rkb2cgRHVvIixRX2E9IlNsYWIiLEpfYT0iU2xhYiBQcmVzcyIsZVRhPSJUaHVtYnByaW50Iix0VGE9IlV0aWxpdHkiLGFUYT0iVXRpbGl0eSBEdW8iLHJUYT0iVXRpbGl0eSBGaWxsIixzVGE9IldoaXRlYm9hcmQiLFgycz0oRzZlPXt9LFV0KFV0KFV0KFV0KFV0KFV0KFV0KFV0KFV0KFV0KEc2ZSx3X2EsQl9hKSxNX2EsSF9hKSxrX2EscV9hKSxTX2EsVl9hKSx6X2Esal9hKSxDX2EsVV9hKSxfX2EsV19hKSxUX2EsR19hKSxMX2EsWV9hKSwkX2EsS19hKSxVdChVdChVdChVdChVdChVdChVdChVdChVdChHNmUsRF9hLFpfYSksQV9hLFhfYSksRV9hLFFfYSksUF9hLEpfYSksSV9hLGVUYSksTl9hLHRUYSksUl9hLGFUYSksT19hLHJUYSksRl9hLHNUYSkpLGlUYT0ia2l0IixvVGE9ImtpdC1kdW90b25lIixuVGE9IktpdCIsbFRhPSJLaXQgRHVvdG9uZSIsUTJzPVV0KFV0KHt9LGlUYSxuVGEpLG9UYSxsVGEpLGNUYT17Y2xhc3NpYzp7ImZhLWJyYW5kcyI6ImZhYiIsImZhLWR1b3RvbmUiOiJmYWQiLCJmYS1saWdodCI6ImZhbCIsImZhLXJlZ3VsYXIiOiJmYXIiLCJmYS1zb2xpZCI6ImZhcyIsImZhLXRoaW4iOiJmYXQifSxkdW90b25lOnsiZmEtcmVndWxhciI6ImZhZHIiLCJmYS1saWdodCI6ImZhZGwiLCJmYS10aGluIjoiZmFkdCJ9LHNoYXJwOnsiZmEtc29saWQiOiJmYXNzIiwiZmEtcmVndWxhciI6ImZhc3IiLCJmYS1saWdodCI6ImZhc2wiLCJmYS10aGluIjoiZmFzdCJ9LCJzaGFycC1kdW90b25lIjp7ImZhLXNvbGlkIjoiZmFzZHMiLCJmYS1yZWd1bGFyIjoiZmFzZHIiLCJmYS1saWdodCI6ImZhc2RsIiwiZmEtdGhpbiI6ImZhc2R0In0sc2xhYjp7ImZhLXJlZ3VsYXIiOiJmYXNsciJ9LCJzbGFiLXByZXNzIjp7ImZhLXJlZ3VsYXIiOiJmYXNscHIifSx3aGl0ZWJvYXJkOnsiZmEtc2VtaWJvbGQiOiJmYXdzYiJ9LHRodW1icHJpbnQ6eyJmYS1saWdodCI6ImZhdGwifSxub3Rkb2c6eyJmYS1zb2xpZCI6ImZhbnMifSwibm90ZG9nLWR1byI6eyJmYS1zb2xpZCI6ImZhbmRzIn0sZXRjaDp7ImZhLXNvbGlkIjoiZmFlcyJ9LGdyYXBoaXRlOnsiZmEtdGhpbiI6ImZhZ3QifSxqZWxseTp7ImZhLXJlZ3VsYXIiOiJmYWpyIn0sImplbGx5LWZpbGwiOnsiZmEtcmVndWxhciI6ImZhamZyIn0sImplbGx5LWR1byI6eyJmYS1yZWd1bGFyIjoiZmFqZHIifSxjaGlzZWw6eyJmYS1yZWd1bGFyIjoiZmFjciJ9LHV0aWxpdHk6eyJmYS1zZW1pYm9sZCI6ImZhdXNiIn0sInV0aWxpdHktZHVvIjp7ImZhLXNlbWlib2xkIjoiZmF1ZHNiIn0sInV0aWxpdHktZmlsbCI6eyJmYS1zZW1pYm9sZCI6ImZhdWZzYiJ9fSxkVGE9e2NsYXNzaWM6WyJmYXMiLCJmYXIiLCJmYWwiLCJmYXQiLCJmYWQiXSxkdW90b25lOlsiZmFkciIsImZhZGwiLCJmYWR0Il0sc2hhcnA6WyJmYXNzIiwiZmFzciIsImZhc2wiLCJmYXN0Il0sInNoYXJwLWR1b3RvbmUiOlsiZmFzZHMiLCJmYXNkciIsImZhc2RsIiwiZmFzZHQiXSxzbGFiOlsiZmFzbHIiXSwic2xhYi1wcmVzcyI6WyJmYXNscHIiXSx3aGl0ZWJvYXJkOlsiZmF3c2IiXSx0aHVtYnByaW50OlsiZmF0bCJdLG5vdGRvZzpbImZhbnMiXSwibm90ZG9nLWR1byI6WyJmYW5kcyJdLGV0Y2g6WyJmYWVzIl0sZ3JhcGhpdGU6WyJmYWd0Il0samVsbHk6WyJmYWpyIl0sImplbGx5LWZpbGwiOlsiZmFqZnIiXSwiamVsbHktZHVvIjpbImZhamRyIl0sY2hpc2VsOlsiZmFjciJdLHV0aWxpdHk6WyJmYXVzYiJdLCJ1dGlsaXR5LWR1byI6WyJmYXVkc2IiXSwidXRpbGl0eS1maWxsIjpbImZhdWZzYiJdfSxZNmU9e2NsYXNzaWM6e2ZhYjoiZmEtYnJhbmRzIixmYWQ6ImZhLWR1b3RvbmUiLGZhbDoiZmEtbGlnaHQiLGZhcjoiZmEtcmVndWxhciIsZmFzOiJmYS1zb2xpZCIsZmF0OiJmYS10aGluIn0sZHVvdG9uZTp7ZmFkcjoiZmEtcmVndWxhciIsZmFkbDoiZmEtbGlnaHQiLGZhZHQ6ImZhLXRoaW4ifSxzaGFycDp7ZmFzczoiZmEtc29saWQiLGZhc3I6ImZhLXJlZ3VsYXIiLGZhc2w6ImZhLWxpZ2h0IixmYXN0OiJmYS10aGluIn0sInNoYXJwLWR1b3RvbmUiOntmYXNkczoiZmEtc29saWQiLGZhc2RyOiJmYS1yZWd1bGFyIixmYXNkbDoiZmEtbGlnaHQiLGZhc2R0OiJmYS10aGluIn0sc2xhYjp7ZmFzbHI6ImZhLXJlZ3VsYXIifSwic2xhYi1wcmVzcyI6e2Zhc2xwcjoiZmEtcmVndWxhciJ9LHdoaXRlYm9hcmQ6e2Zhd3NiOiJmYS1zZW1pYm9sZCJ9LHRodW1icHJpbnQ6e2ZhdGw6ImZhLWxpZ2h0In0sbm90ZG9nOntmYW5zOiJmYS1zb2xpZCJ9LCJub3Rkb2ctZHVvIjp7ZmFuZHM6ImZhLXNvbGlkIn0sZXRjaDp7ZmFlczoiZmEtc29saWQifSxncmFwaGl0ZTp7ZmFndDoiZmEtdGhpbiJ9LGplbGx5OntmYWpyOiJmYS1yZWd1bGFyIn0sImplbGx5LWZpbGwiOntmYWpmcjoiZmEtcmVndWxhciJ9LCJqZWxseS1kdW8iOntmYWpkcjoiZmEtcmVndWxhciJ9LGNoaXNlbDp7ZmFjcjoiZmEtcmVndWxhciJ9LHV0aWxpdHk6e2ZhdXNiOiJmYS1zZW1pYm9sZCJ9LCJ1dGlsaXR5LWR1byI6e2ZhdWRzYjoiZmEtc2VtaWJvbGQifSwidXRpbGl0eS1maWxsIjp7ZmF1ZnNiOiJmYS1zZW1pYm9sZCJ9fSx1VGE9WyJmYS1zb2xpZCIsImZhLXJlZ3VsYXIiLCJmYS1saWdodCIsImZhLXRoaW4iLCJmYS1kdW90b25lIiwiZmEtYnJhbmRzIiwiZmEtc2VtaWJvbGQiXSxlOXQ9WyJmYSIsImZhcyIsImZhciIsImZhbCIsImZhdCIsImZhZCIsImZhZHIiLCJmYWRsIiwiZmFkdCIsImZhYiIsImZhc3MiLCJmYXNyIiwiZmFzbCIsImZhc3QiLCJmYXNkcyIsImZhc2RyIiwiZmFzZGwiLCJmYXNkdCIsImZhc2xyIiwiZmFzbHByIiwiZmF3c2IiLCJmYXRsIiwiZmFucyIsImZhbmRzIiwiZmFlcyIsImZhZ3QiLCJmYWpyIiwiZmFqZnIiLCJmYWpkciIsImZhY3IiLCJmYXVzYiIsImZhdWRzYiIsImZhdWZzYiJdLmNvbmNhdCh5X2EsdVRhKSxwVGE9WyJzb2xpZCIsInJlZ3VsYXIiLCJsaWdodCIsInRoaW4iLCJkdW90b25lIiwiYnJhbmRzIiwic2VtaWJvbGQiXSx0OXQ9WzEsMiwzLDQsNSw2LDcsOCw5LDEwXSxmVGE9dDl0LmNvbmNhdChbMTEsMTIsMTMsMTQsMTUsMTYsMTcsMTgsMTksMjBdKSxoVGE9WyJhdyIsImZ3IiwicHVsbC1sZWZ0IiwicHVsbC1yaWdodCJdLG1UYT1bXS5jb25jYXQoTTEoT2JqZWN0LmtleXMoZFRhKSkscFRhLGhUYSxbIjJ4cyIsInhzIiwic20iLCJsZyIsInhsIiwiMnhsIiwiYmVhdCIsImJvcmRlciIsImZhZGUiLCJiZWF0LWZhZGUiLCJib3VuY2UiLCJmbGlwLWJvdGgiLCJmbGlwLWhvcml6b250YWwiLCJmbGlwLXZlcnRpY2FsIiwiZmxpcCIsImludmVyc2UiLCJsYXllcnMiLCJsYXllcnMtYm90dG9tLWxlZnQiLCJsYXllcnMtYm90dG9tLXJpZ2h0IiwibGF5ZXJzLWNvdW50ZXIiLCJsYXllcnMtdGV4dCIsImxheWVycy10b3AtbGVmdCIsImxheWVycy10b3AtcmlnaHQiLCJsaSIsInB1bGwtZW5kIiwicHVsbC1zdGFydCIsInB1bHNlIiwicm90YXRlLTE4MCIsInJvdGF0ZS0yNzAiLCJyb3RhdGUtOTAiLCJyb3RhdGUtYnkiLCJzaGFrZSIsInNwaW4tcHVsc2UiLCJzcGluLXJldmVyc2UiLCJzcGluIiwic3RhY2stMXgiLCJzdGFjay0yeCIsInN0YWNrIiwidWwiLCJ3aWR0aC1hdXRvIiwid2lkdGgtZml4ZWQiLGVlZS5HUk9VUCxlZWUuU1dBUF9PUEFDSVRZLGVlZS5QUklNQVJZLGVlZS5TRUNPTkRBUlldKS5jb25jYXQodDl0Lm1hcChmdW5jdGlvbihhKXtyZXR1cm4iIi5jb25jYXQoYSwieCIpfSkpLmNvbmNhdChmVGEubWFwKGZ1bmN0aW9uKGEpe3JldHVybiJ3LSIuY29uY2F0KGEpfSkpLGdUYT17IkZvbnQgQXdlc29tZSA1IEZyZWUiOns5MDA6ImZhcyIsNDAwOiJmYXIifSwiRm9udCBBd2Vzb21lIDUgUHJvIjp7OTAwOiJmYXMiLDQwMDoiZmFyIixub3JtYWw6ImZhciIsMzAwOiJmYWwifSwiRm9udCBBd2Vzb21lIDUgQnJhbmRzIjp7NDAwOiJmYWIiLG5vcm1hbDoiZmFiIn0sIkZvbnQgQXdlc29tZSA1IER1b3RvbmUiOns5MDA6ImZhZCJ9fSxlYz0iX19fRk9OVF9BV0VTT01FX19fIixLNmU9MTYsYTl0PSJmYSIscjl0PSJzdmctaW5saW5lLS1mYSIscGQ9ImRhdGEtZmEtaTJzdmciLFo2ZT0iZGF0YS1mYS1wc2V1ZG8tZWxlbWVudCIsYlRhPSJkYXRhLWZhLXBzZXVkby1lbGVtZW50LXBlbmRpbmciLFg2ZT0iZGF0YS1wcmVmaXgiLFE2ZT0iZGF0YS1pY29uIixzOXQ9ImZvbnRhd2Vzb21lLWkyc3ZnIix2VGE9ImFzeW5jIix4VGE9WyJIVE1MIiwiSEVBRCIsIlNUWUxFIiwiU0NSSVBUIl0saTl0PVsiOjpiZWZvcmUiLCI6OmFmdGVyIiwiOmJlZm9yZSIsIjphZnRlciJdLG85dD0oZnVuY3Rpb24oKXt0cnl7cmV0dXJuITB9Y2F0Y2h7cmV0dXJuITF9fSkoKTtzKHpiLCJmYW1pbHlQcm94eSIpO245dD1aZSh7fSxEN3QpO245dFtRc109WmUoWmUoWmUoWmUoe30seyJmYS1kdW90b25lIjoiZHVvdG9uZSJ9KSxEN3RbUXNdKSxRN3Qua2l0KSxRN3RbImtpdC1kdW90b25lIl0pO3lUYT16YihuOXQpLEo2ZT1aZSh7fSx1X2EpO0o2ZVtRc109WmUoWmUoWmUoWmUoe30se2R1b3RvbmU6ImZhZCJ9KSxKNmVbUXNdKSxKN3Qua2l0KSxKN3RbImtpdC1kdW90b25lIl0pO2w5dD16YihKNmUpLGV1ZT1aZSh7fSxZNmUpO2V1ZVtRc109WmUoWmUoe30sZXVlW1FzXSkseF9hLmtpdCk7dHVlPXpiKGV1ZSksYXVlPVplKHt9LGNUYSk7YXVlW1FzXT1aZShaZSh7fSxhdWVbUXNdKSxiX2Eua2l0KTtKMnM9emIoYXVlKSx3VGE9QkNhLGM5dD0iZmEtbGF5ZXJzLXRleHQiLE1UYT1IQ2Esa1RhPVplKHt9LGxfYSksZWxzPXpiKGtUYSksU1RhPVsiY2xhc3MiLCJkYXRhLXByZWZpeCIsImRhdGEtaWNvbiIsImRhdGEtZmEtdHJhbnNmb3JtIiwiZGF0YS1mYS1tYXNrIl0scnVlPXFDYSx6VGE9W10uY29uY2F0KE0xKHBfYSksTTEobVRhKSksQ2I9ZTQuRm9udEF3ZXNvbWVDb25maWd8fHt9O3MoQ1RhLCJnZXRBdHRyQ29uZmlnIik7cyhfVGEsImNvZXJjZSIpLHByJiZ0eXBlb2YgcHIucXVlcnlTZWxlY3Rvcj09ImZ1bmN0aW9uIiYmKGQ5dD1bWyJkYXRhLWZhbWlseS1wcmVmaXgiLCJmYW1pbHlQcmVmaXgiXSxbImRhdGEtY3NzLXByZWZpeCIsImNzc1ByZWZpeCJdLFsiZGF0YS1mYW1pbHktZGVmYXVsdCIsImZhbWlseURlZmF1bHQiXSxbImRhdGEtc3R5bGUtZGVmYXVsdCIsInN0eWxlRGVmYXVsdCJdLFsiZGF0YS1yZXBsYWNlbWVudC1jbGFzcyIsInJlcGxhY2VtZW50Q2xhc3MiXSxbImRhdGEtYXV0by1yZXBsYWNlLXN2ZyIsImF1dG9SZXBsYWNlU3ZnIl0sWyJkYXRhLWF1dG8tYWRkLWNzcyIsImF1dG9BZGRDc3MiXSxbImRhdGEtc2VhcmNoLXBzZXVkby1lbGVtZW50cyIsInNlYXJjaFBzZXVkb0VsZW1lbnRzIl0sWyJkYXRhLXNlYXJjaC1wc2V1ZG8tZWxlbWVudHMtd2FybmluZ3MiLCJzZWFyY2hQc2V1ZG9FbGVtZW50c1dhcm5pbmdzIl0sWyJkYXRhLXNlYXJjaC1wc2V1ZG8tZWxlbWVudHMtZnVsbC1zY2FuIiwic2VhcmNoUHNldWRvRWxlbWVudHNGdWxsU2NhbiJdLFsiZGF0YS1vYnNlcnZlLW11dGF0aW9ucyIsIm9ic2VydmVNdXRhdGlvbnMiXSxbImRhdGEtbXV0YXRlLWFwcHJvYWNoIiwibXV0YXRlQXBwcm9hY2giXSxbImRhdGEta2VlcC1vcmlnaW5hbC1zb3VyY2UiLCJrZWVwT3JpZ2luYWxTb3VyY2UiXSxbImRhdGEtbWVhc3VyZS1wZXJmb3JtYW5jZSIsIm1lYXN1cmVQZXJmb3JtYW5jZSJdLFsiZGF0YS1zaG93LW1pc3NpbmctaWNvbnMiLCJzaG93TWlzc2luZ0ljb25zIl1dLGQ5dC5mb3JFYWNoKGZ1bmN0aW9uKGEpe3ZhciBlPVhKKGEsMiksdD1lWzBdLHI9ZVsxXSxpPV9UYShDVGEodCkpO2khPW51bGwmJihDYltyXT1pKX0pKTt1OXQ9e3N0eWxlRGVmYXVsdDoic29saWQiLGZhbWlseURlZmF1bHQ6UXMsY3NzUHJlZml4OmE5dCxyZXBsYWNlbWVudENsYXNzOnI5dCxhdXRvUmVwbGFjZVN2ZzohMCxhdXRvQWRkQ3NzOiEwLHNlYXJjaFBzZXVkb0VsZW1lbnRzOiExLHNlYXJjaFBzZXVkb0VsZW1lbnRzV2FybmluZ3M6ITAsc2VhcmNoUHNldWRvRWxlbWVudHNGdWxsU2NhbjohMSxvYnNlcnZlTXV0YXRpb25zOiEwLG11dGF0ZUFwcHJvYWNoOiJhc3luYyIsa2VlcE9yaWdpbmFsU291cmNlOiEwLG1lYXN1cmVQZXJmb3JtYW5jZTohMSxzaG93TWlzc2luZ0ljb25zOiEwfTtDYi5mYW1pbHlQcmVmaXgmJihDYi5jc3NQcmVmaXg9Q2IuZmFtaWx5UHJlZml4KTtVOD1aZShaZSh7fSx1OXQpLENiKTtVOC5hdXRvUmVwbGFjZVN2Z3x8KFU4Lm9ic2VydmVNdXRhdGlvbnM9ITEpO0x0PXt9O09iamVjdC5rZXlzKHU5dCkuZm9yRWFjaChmdW5jdGlvbihhKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoTHQsYSx7ZW51bWVyYWJsZTohMCxzZXQ6cyhmdW5jdGlvbih0KXtVOFthXT10LF9iLmZvckVhY2goZnVuY3Rpb24ocil7cmV0dXJuIHIoTHQpfSl9LCJzZXQiKSxnZXQ6cyhmdW5jdGlvbigpe3JldHVybiBVOFthXX0sImdldCIpfSl9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoTHQsImZhbWlseVByZWZpeCIse2VudW1lcmFibGU6ITAsc2V0OnMoZnVuY3Rpb24oZSl7VTguY3NzUHJlZml4PWUsX2IuZm9yRWFjaChmdW5jdGlvbih0KXtyZXR1cm4gdChMdCl9KX0sInNldCIpLGdldDpzKGZ1bmN0aW9uKCl7cmV0dXJuIFU4LmNzc1ByZWZpeH0sImdldCIpfSksZTQuRm9udEF3ZXNvbWVDb25maWc9THQ7X2I9W107cyhUVGEsIm9uQ2hhbmdlIik7dDQ9SzZlLEIyPXtzaXplOjE2LHg6MCx5OjAscm90YXRlOjAsZmxpcFg6ITEsZmxpcFk6ITF9O3MoTFRhLCJpbnNlcnRDc3MiKTskVGE9IjAxMjM0NTY3ODlhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaIjtzKHA5dCwibmV4dFVuaXF1ZUlkIik7cyhXOCwidG9BcnJheSIpO3Moc3VlLCJjbGFzc0FycmF5Iik7cyhmOXQsImh0bWxFc2NhcGUiKTtzKERUYSwiam9pbkF0dHJpYnV0ZXMiKTtzKHRlZSwiam9pblN0eWxlcyIpO3MoaXVlLCJ0cmFuc2Zvcm1Jc01lYW5pbmdmdWwiKTtzKEFUYSwidHJhbnNmb3JtRm9yU3ZnIik7cyhFVGEsInRyYW5zZm9ybUZvckNzcyIpO1BUYT1gOnJvb3QsIDpob3N0IHsKICAtLWZhLWZvbnQtc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IEZyZWUnOwogIC0tZmEtZm9udC1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBGcmVlJzsKICAtLWZhLWZvbnQtbGlnaHQ6IG5vcm1hbCAzMDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFBybyc7CiAgLS1mYS1mb250LXRoaW46IG5vcm1hbCAxMDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFBybyc7CiAgLS1mYS1mb250LWR1b3RvbmU6IG5vcm1hbCA5MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IER1b3RvbmUnOwogIC0tZmEtZm9udC1kdW90b25lLXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IER1b3RvbmUnOwogIC0tZmEtZm9udC1kdW90b25lLWxpZ2h0OiBub3JtYWwgMzAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBEdW90b25lJzsKICAtLWZhLWZvbnQtZHVvdG9uZS10aGluOiBub3JtYWwgMTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBEdW90b25lJzsKICAtLWZhLWZvbnQtYnJhbmRzOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBCcmFuZHMnOwogIC0tZmEtZm9udC1zaGFycC1zb2xpZDogbm9ybWFsIDkwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgU2hhcnAnOwogIC0tZmEtZm9udC1zaGFycC1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTaGFycCc7CiAgLS1mYS1mb250LXNoYXJwLWxpZ2h0OiBub3JtYWwgMzAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBTaGFycCc7CiAgLS1mYS1mb250LXNoYXJwLXRoaW46IG5vcm1hbCAxMDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNoYXJwJzsKICAtLWZhLWZvbnQtc2hhcnAtZHVvdG9uZS1zb2xpZDogbm9ybWFsIDkwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgU2hhcnAgRHVvdG9uZSc7CiAgLS1mYS1mb250LXNoYXJwLWR1b3RvbmUtcmVndWxhcjogbm9ybWFsIDQwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgU2hhcnAgRHVvdG9uZSc7CiAgLS1mYS1mb250LXNoYXJwLWR1b3RvbmUtbGlnaHQ6IG5vcm1hbCAzMDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNoYXJwIER1b3RvbmUnOwogIC0tZmEtZm9udC1zaGFycC1kdW90b25lLXRoaW46IG5vcm1hbCAxMDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNoYXJwIER1b3RvbmUnOwogIC0tZmEtZm9udC1zbGFiLXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNsYWInOwogIC0tZmEtZm9udC1zbGFiLXByZXNzLXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFNsYWIgUHJlc3MnOwogIC0tZmEtZm9udC13aGl0ZWJvYXJkLXNlbWlib2xkOiBub3JtYWwgNjAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBXaGl0ZWJvYXJkJzsKICAtLWZhLWZvbnQtdGh1bWJwcmludC1saWdodDogbm9ybWFsIDMwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgVGh1bWJwcmludCc7CiAgLS1mYS1mb250LW5vdGRvZy1zb2xpZDogbm9ybWFsIDkwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgTm90ZG9nJzsKICAtLWZhLWZvbnQtbm90ZG9nLWR1by1zb2xpZDogbm9ybWFsIDkwMCAxZW0vMSAnRm9udCBBd2Vzb21lIDcgTm90ZG9nIER1byc7CiAgLS1mYS1mb250LWV0Y2gtc29saWQ6IG5vcm1hbCA5MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IEV0Y2gnOwogIC0tZmEtZm9udC1ncmFwaGl0ZS10aGluOiBub3JtYWwgMTAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBHcmFwaGl0ZSc7CiAgLS1mYS1mb250LWplbGx5LXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IEplbGx5JzsKICAtLWZhLWZvbnQtamVsbHktZmlsbC1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBKZWxseSBGaWxsJzsKICAtLWZhLWZvbnQtamVsbHktZHVvLXJlZ3VsYXI6IG5vcm1hbCA0MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IEplbGx5IER1byc7CiAgLS1mYS1mb250LWNoaXNlbC1yZWd1bGFyOiBub3JtYWwgNDAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBDaGlzZWwnOwogIC0tZmEtZm9udC11dGlsaXR5LXNlbWlib2xkOiBub3JtYWwgNjAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBVdGlsaXR5JzsKICAtLWZhLWZvbnQtdXRpbGl0eS1kdW8tc2VtaWJvbGQ6IG5vcm1hbCA2MDAgMWVtLzEgJ0ZvbnQgQXdlc29tZSA3IFV0aWxpdHkgRHVvJzsKICAtLWZhLWZvbnQtdXRpbGl0eS1maWxsLXNlbWlib2xkOiBub3JtYWwgNjAwIDFlbS8xICdGb250IEF3ZXNvbWUgNyBVdGlsaXR5IEZpbGwnOwp9Cgouc3ZnLWlubGluZS0tZmEgewogIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OwogIGRpc3BsYXk6IHZhcigtLWZhLWRpc3BsYXksIGlubGluZS1ibG9jayk7CiAgaGVpZ2h0OiAxZW07CiAgb3ZlcmZsb3c6IHZpc2libGU7CiAgdmVydGljYWwtYWxpZ246IC0wLjEyNWVtOwogIHdpZHRoOiB2YXIoLS1mYS13aWR0aCwgMS4yNWVtKTsKfQouc3ZnLWlubGluZS0tZmEuZmEtMnhzIHsKICB2ZXJ0aWNhbC1hbGlnbjogMC4xZW07Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLXhzIHsKICB2ZXJ0aWNhbC1hbGlnbjogMGVtOwp9Ci5zdmctaW5saW5lLS1mYS5mYS1zbSB7CiAgdmVydGljYWwtYWxpZ246IC0wLjA3MTQyODU3MTRlbTsKfQouc3ZnLWlubGluZS0tZmEuZmEtbGcgewogIHZlcnRpY2FsLWFsaWduOiAtMC4yZW07Cn0KLnN2Zy1pbmxpbmUtLWZhLmZhLXhsIHsKICB2ZXJ0aWNhbC1hbGlnbjogLTAuMjVlbTsKfQouc3ZnLWlubGluZS0tZmEuZmEtMnhsIHsKICB2ZXJ0aWNhbC1hbGlnbjogLTAuMzEyNWVtOwp9Ci5zdmctaW5saW5lLS1mYS5mYS1wdWxsLWxlZnQsCi5zdmctaW5saW5lLS1mYSAuZmEtcHVsbC1zdGFydCB7CiAgZmxvYXQ6IGlubGluZS1zdGFydDsKICBtYXJnaW4taW5saW5lLWVuZDogdmFyKC0tZmEtcHVsbC1tYXJnaW4sIDAuM2VtKTsKfQouc3ZnLWlubGluZS0tZmEuZmEtcHVsbC1yaWdodCwKLnN2Zy1pbmxpbmUtLWZhIC5mYS1wdWxsLWVuZCB7CiAgZmxvYXQ6IGlubGluZS1lbmQ7CiAgbWFyZ2luLWlubGluZS1zdGFydDogdmFyKC0tZmEtcHVsbC1tYXJnaW4sIDAuM2VtKTsKfQouc3ZnLWlubGluZS0tZmEuZmEtbGkgewogIHdpZHRoOiB2YXIoLS1mYS1saS13aWR0aCwgMmVtKTsKICBpbnNldC1pbmxpbmUtc3RhcnQ6IGNhbGMoLTEgKiB2YXIoLS1mYS1saS13aWR0aCwgMmVtKSk7CiAgaW5zZXQtYmxvY2stc3RhcnQ6IDAuMjVlbTsgLyogc3luY2luZyB2ZXJ0aWNhbCBhbGlnbm1lbnQgd2l0aCBXZWIgRm9udCByZW5kZXJpbmcgKi8KfQoKLmZhLWxheWVycy1jb3VudGVyLCAuZmEtbGF5ZXJzLXRleHQgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9CgouZmEtbGF5ZXJzIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgaGVpZ2h0OiAxZW07CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB2ZXJ0aWNhbC1hbGlnbjogLTAuMTI1ZW07CiAgd2lkdGg6IHZhcigtLWZhLXdpZHRoLCAxLjI1ZW0pOwp9Ci5mYS1sYXllcnMgLnN2Zy1pbmxpbmUtLWZhIHsKICBpbnNldDogMDsKICBtYXJnaW46IGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7Cn0KCi5mYS1sYXllcnMtdGV4dCB7CiAgbGVmdDogNTAlOwogIHRvcDogNTAlOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7Cn0KCi5mYS1sYXllcnMtY291bnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZmEtY291bnRlci1iYWNrZ3JvdW5kLWNvbG9yLCAjZmYyNTNhKTsKICBib3JkZXItcmFkaXVzOiB2YXIoLS1mYS1jb3VudGVyLWJvcmRlci1yYWRpdXMsIDFlbSk7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICBjb2xvcjogdmFyKC0tZmEtaW52ZXJzZSwgI2ZmZik7CiAgbGluZS1oZWlnaHQ6IHZhcigtLWZhLWNvdW50ZXItbGluZS1oZWlnaHQsIDEpOwogIG1heC13aWR0aDogdmFyKC0tZmEtY291bnRlci1tYXgtd2lkdGgsIDVlbSk7CiAgbWluLXdpZHRoOiB2YXIoLS1mYS1jb3VudGVyLW1pbi13aWR0aCwgMS41ZW0pOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZzogdmFyKC0tZmEtY291bnRlci1wYWRkaW5nLCAwLjI1ZW0gMC41ZW0pOwogIHJpZ2h0OiB2YXIoLS1mYS1yaWdodCwgMCk7CiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgdG9wOiB2YXIoLS1mYS10b3AsIDApOwogIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtY291bnRlci1zY2FsZSwgMC4yNSkpOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCByaWdodDsKfQoKLmZhLWxheWVycy1ib3R0b20tcmlnaHQgewogIGJvdHRvbTogdmFyKC0tZmEtYm90dG9tLCAwKTsKICByaWdodDogdmFyKC0tZmEtcmlnaHQsIDApOwogIHRvcDogYXV0bzsKICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpOwogIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDsKfQoKLmZhLWxheWVycy1ib3R0b20tbGVmdCB7CiAgYm90dG9tOiB2YXIoLS1mYS1ib3R0b20sIDApOwogIGxlZnQ6IHZhcigtLWZhLWxlZnQsIDApOwogIHJpZ2h0OiBhdXRvOwogIHRvcDogYXV0bzsKICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpOwogIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSBsZWZ0Owp9CgouZmEtbGF5ZXJzLXRvcC1yaWdodCB7CiAgdG9wOiB2YXIoLS1mYS10b3AsIDApOwogIHJpZ2h0OiB2YXIoLS1mYS1yaWdodCwgMCk7CiAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1sYXllcnMtc2NhbGUsIDAuMjUpKTsKICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgcmlnaHQ7Cn0KCi5mYS1sYXllcnMtdG9wLWxlZnQgewogIGxlZnQ6IHZhcigtLWZhLWxlZnQsIDApOwogIHJpZ2h0OiBhdXRvOwogIHRvcDogdmFyKC0tZmEtdG9wLCAwKTsKICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWxheWVycy1zY2FsZSwgMC4yNSkpOwogIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0Owp9CgouZmEtMXggewogIGZvbnQtc2l6ZTogMWVtOwp9CgouZmEtMnggewogIGZvbnQtc2l6ZTogMmVtOwp9CgouZmEtM3ggewogIGZvbnQtc2l6ZTogM2VtOwp9CgouZmEtNHggewogIGZvbnQtc2l6ZTogNGVtOwp9CgouZmEtNXggewogIGZvbnQtc2l6ZTogNWVtOwp9CgouZmEtNnggewogIGZvbnQtc2l6ZTogNmVtOwp9CgouZmEtN3ggewogIGZvbnQtc2l6ZTogN2VtOwp9CgouZmEtOHggewogIGZvbnQtc2l6ZTogOGVtOwp9CgouZmEtOXggewogIGZvbnQtc2l6ZTogOWVtOwp9CgouZmEtMTB4IHsKICBmb250LXNpemU6IDEwZW07Cn0KCi5mYS0yeHMgewogIGZvbnQtc2l6ZTogY2FsYygxMCAvIDE2ICogMWVtKTsgLyogY29udmVydHMgYSAxMHB4IHNpemUgaW50byBhbiBlbS1iYXNlZCB2YWx1ZSB0aGF0J3MgcmVsYXRpdmUgdG8gdGhlIHNjYWxlJ3MgMTZweCBiYXNlICovCiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAvIDEwICogMWVtKTsgLyogc2V0cyB0aGUgbGluZS1oZWlnaHQgb2YgdGhlIGljb24gYmFjayB0byB0aGF0IG9mIGl0J3MgcGFyZW50ICovCiAgdmVydGljYWwtYWxpZ246IGNhbGMoKDYgLyAxMCAtIDAuMzc1KSAqIDFlbSk7IC8qIHZlcnRpY2FsbHkgY2VudGVycyB0aGUgaWNvbiB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBzdXJyb3VuZGluZyB0ZXh0J3MgZGVzY2VuZGVyICovCn0KCi5mYS14cyB7CiAgZm9udC1zaXplOiBjYWxjKDEyIC8gMTYgKiAxZW0pOyAvKiBjb252ZXJ0cyBhIDEycHggc2l6ZSBpbnRvIGFuIGVtLWJhc2VkIHZhbHVlIHRoYXQncyByZWxhdGl2ZSB0byB0aGUgc2NhbGUncyAxNnB4IGJhc2UgKi8KICBsaW5lLWhlaWdodDogY2FsYygxIC8gMTIgKiAxZW0pOyAvKiBzZXRzIHRoZSBsaW5lLWhlaWdodCBvZiB0aGUgaWNvbiBiYWNrIHRvIHRoYXQgb2YgaXQncyBwYXJlbnQgKi8KICB2ZXJ0aWNhbC1hbGlnbjogY2FsYygoNiAvIDEyIC0gMC4zNzUpICogMWVtKTsgLyogdmVydGljYWxseSBjZW50ZXJzIHRoZSBpY29uIHRha2luZyBpbnRvIGFjY291bnQgdGhlIHN1cnJvdW5kaW5nIHRleHQncyBkZXNjZW5kZXIgKi8KfQoKLmZhLXNtIHsKICBmb250LXNpemU6IGNhbGMoMTQgLyAxNiAqIDFlbSk7IC8qIGNvbnZlcnRzIGEgMTRweCBzaXplIGludG8gYW4gZW0tYmFzZWQgdmFsdWUgdGhhdCdzIHJlbGF0aXZlIHRvIHRoZSBzY2FsZSdzIDE2cHggYmFzZSAqLwogIGxpbmUtaGVpZ2h0OiBjYWxjKDEgLyAxNCAqIDFlbSk7IC8qIHNldHMgdGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBpY29uIGJhY2sgdG8gdGhhdCBvZiBpdCdzIHBhcmVudCAqLwogIHZlcnRpY2FsLWFsaWduOiBjYWxjKCg2IC8gMTQgLSAwLjM3NSkgKiAxZW0pOyAvKiB2ZXJ0aWNhbGx5IGNlbnRlcnMgdGhlIGljb24gdGFraW5nIGludG8gYWNjb3VudCB0aGUgc3Vycm91bmRpbmcgdGV4dCdzIGRlc2NlbmRlciAqLwp9CgouZmEtbGcgewogIGZvbnQtc2l6ZTogY2FsYygyMCAvIDE2ICogMWVtKTsgLyogY29udmVydHMgYSAyMHB4IHNpemUgaW50byBhbiBlbS1iYXNlZCB2YWx1ZSB0aGF0J3MgcmVsYXRpdmUgdG8gdGhlIHNjYWxlJ3MgMTZweCBiYXNlICovCiAgbGluZS1oZWlnaHQ6IGNhbGMoMSAvIDIwICogMWVtKTsgLyogc2V0cyB0aGUgbGluZS1oZWlnaHQgb2YgdGhlIGljb24gYmFjayB0byB0aGF0IG9mIGl0J3MgcGFyZW50ICovCiAgdmVydGljYWwtYWxpZ246IGNhbGMoKDYgLyAyMCAtIDAuMzc1KSAqIDFlbSk7IC8qIHZlcnRpY2FsbHkgY2VudGVycyB0aGUgaWNvbiB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBzdXJyb3VuZGluZyB0ZXh0J3MgZGVzY2VuZGVyICovCn0KCi5mYS14bCB7CiAgZm9udC1zaXplOiBjYWxjKDI0IC8gMTYgKiAxZW0pOyAvKiBjb252ZXJ0cyBhIDI0cHggc2l6ZSBpbnRvIGFuIGVtLWJhc2VkIHZhbHVlIHRoYXQncyByZWxhdGl2ZSB0byB0aGUgc2NhbGUncyAxNnB4IGJhc2UgKi8KICBsaW5lLWhlaWdodDogY2FsYygxIC8gMjQgKiAxZW0pOyAvKiBzZXRzIHRoZSBsaW5lLWhlaWdodCBvZiB0aGUgaWNvbiBiYWNrIHRvIHRoYXQgb2YgaXQncyBwYXJlbnQgKi8KICB2ZXJ0aWNhbC1hbGlnbjogY2FsYygoNiAvIDI0IC0gMC4zNzUpICogMWVtKTsgLyogdmVydGljYWxseSBjZW50ZXJzIHRoZSBpY29uIHRha2luZyBpbnRvIGFjY291bnQgdGhlIHN1cnJvdW5kaW5nIHRleHQncyBkZXNjZW5kZXIgKi8KfQoKLmZhLTJ4bCB7CiAgZm9udC1zaXplOiBjYWxjKDMyIC8gMTYgKiAxZW0pOyAvKiBjb252ZXJ0cyBhIDMycHggc2l6ZSBpbnRvIGFuIGVtLWJhc2VkIHZhbHVlIHRoYXQncyByZWxhdGl2ZSB0byB0aGUgc2NhbGUncyAxNnB4IGJhc2UgKi8KICBsaW5lLWhlaWdodDogY2FsYygxIC8gMzIgKiAxZW0pOyAvKiBzZXRzIHRoZSBsaW5lLWhlaWdodCBvZiB0aGUgaWNvbiBiYWNrIHRvIHRoYXQgb2YgaXQncyBwYXJlbnQgKi8KICB2ZXJ0aWNhbC1hbGlnbjogY2FsYygoNiAvIDMyIC0gMC4zNzUpICogMWVtKTsgLyogdmVydGljYWxseSBjZW50ZXJzIHRoZSBpY29uIHRha2luZyBpbnRvIGFjY291bnQgdGhlIHN1cnJvdW5kaW5nIHRleHQncyBkZXNjZW5kZXIgKi8KfQoKLmZhLXdpZHRoLWF1dG8gewogIC0tZmEtd2lkdGg6IGF1dG87Cn0KCi5mYS1mdywKLmZhLXdpZHRoLWZpeGVkIHsKICAtLWZhLXdpZHRoOiAxLjI1ZW07Cn0KCi5mYS11bCB7CiAgbGlzdC1zdHlsZS10eXBlOiBub25lOwogIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWZhLWxpLW1hcmdpbiwgMi41ZW0pOwogIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAwOwp9Ci5mYS11bCA+IGxpIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5mYS1saSB7CiAgaW5zZXQtaW5saW5lLXN0YXJ0OiBjYWxjKC0xICogdmFyKC0tZmEtbGktd2lkdGgsIDJlbSkpOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgd2lkdGg6IHZhcigtLWZhLWxpLXdpZHRoLCAyZW0pOwogIGxpbmUtaGVpZ2h0OiBpbmhlcml0Owp9CgovKiBIZWFkcyBVcDogQm9yZGVyZWQgSWNvbnMgd2lsbCBub3QgYmUgc3VwcG9ydGVkIGluIHRoZSBmdXR1cmUhCiAgLSBUaGlzIGZlYXR1cmUgd2lsbCBiZSBkZXByZWNhdGVkIGluIHRoZSBuZXh0IG1ham9yIHJlbGVhc2Ugb2YgRm9udCBBd2Vzb21lICh2OCkhCiAgLSBZb3UgbWF5IGNvbnRpbnVlIHRvIHVzZSBpdCBpbiB0aGlzIHZlcnNpb24gKnY3KSwgYnV0IGl0IHdpbGwgbm90IGJlIHN1cHBvcnRlZCBpbiBGb250IEF3ZXNvbWUgdjguCiovCi8qIE5vdGVzOgoqIC0tQHt2LiRjc3MtcHJlZml4fS1ib3JkZXItd2lkdGggPSAxLzE2IGJ5IGRlZmF1bHQgKHRvIHJlbmRlciBhcyB+MXB4IGJhc2VkIG9uIGEgMTZweCBkZWZhdWx0IGZvbnQtc2l6ZSkKKiAtLUB7di4kY3NzLXByZWZpeH0tYm9yZGVyLXBhZGRpbmcgPQogICoqIDMvMTYgZm9yIHZlcnRpY2FsIHBhZGRpbmcgKHRvIGdpdmUgfjJweCBvZiB2ZXJ0aWNhbCB3aGl0ZXNwYWNlIGFyb3VuZCBhbiBpY29uIGNvbnNpZGVyaW5nIGl0J3MgdmVydGljYWwgYWxpZ25tZW50KQogICoqIDQvMTYgZm9yIGhvcml6b250YWwgcGFkZGluZyAodG8gZ2l2ZSB+NHB4IG9mIGhvcml6b250YWwgd2hpdGVzcGFjZSBhcm91bmQgYW4gaWNvbikKKi8KLmZhLWJvcmRlciB7CiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mYS1ib3JkZXItY29sb3IsICNlZWUpOwogIGJvcmRlci1yYWRpdXM6IHZhcigtLWZhLWJvcmRlci1yYWRpdXMsIDAuMWVtKTsKICBib3JkZXItc3R5bGU6IHZhcigtLWZhLWJvcmRlci1zdHlsZSwgc29saWQpOwogIGJvcmRlci13aWR0aDogdmFyKC0tZmEtYm9yZGVyLXdpZHRoLCAwLjA2MjVlbSk7CiAgYm94LXNpemluZzogdmFyKC0tZmEtYm9yZGVyLWJveC1zaXppbmcsIGNvbnRlbnQtYm94KTsKICBwYWRkaW5nOiB2YXIoLS1mYS1ib3JkZXItcGFkZGluZywgMC4xODc1ZW0gMC4yNWVtKTsKfQoKLmZhLXB1bGwtbGVmdCwKLmZhLXB1bGwtc3RhcnQgewogIGZsb2F0OiBpbmxpbmUtc3RhcnQ7CiAgbWFyZ2luLWlubGluZS1lbmQ6IHZhcigtLWZhLXB1bGwtbWFyZ2luLCAwLjNlbSk7Cn0KCi5mYS1wdWxsLXJpZ2h0LAouZmEtcHVsbC1lbmQgewogIGZsb2F0OiBpbmxpbmUtZW5kOwogIG1hcmdpbi1pbmxpbmUtc3RhcnQ6IHZhcigtLWZhLXB1bGwtbWFyZ2luLCAwLjNlbSk7Cn0KCi5mYS1iZWF0IHsKICBhbmltYXRpb24tbmFtZTogZmEtYmVhdDsKICBhbmltYXRpb24tZGVsYXk6IHZhcigtLWZhLWFuaW1hdGlvbi1kZWxheSwgMHMpOwogIGFuaW1hdGlvbi1kaXJlY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kaXJlY3Rpb24sIG5vcm1hbCk7CiAgYW5pbWF0aW9uLWR1cmF0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZHVyYXRpb24sIDFzKTsKICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiB2YXIoLS1mYS1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50LCBpbmZpbml0ZSk7CiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLXRpbWluZywgZWFzZS1pbi1vdXQpOwp9CgouZmEtYm91bmNlIHsKICBhbmltYXRpb24tbmFtZTogZmEtYm91bmNlOwogIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTsKICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBjdWJpYy1iZXppZXIoMC4yOCwgMC44NCwgMC40MiwgMSkpOwp9CgouZmEtZmFkZSB7CiAgYW5pbWF0aW9uLW5hbWU6IGZhLWZhZGU7CiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTsKICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAxcyk7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpOwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkpOwp9CgouZmEtYmVhdC1mYWRlIHsKICBhbmltYXRpb24tbmFtZTogZmEtYmVhdC1mYWRlOwogIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTsKICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpKTsKfQoKLmZhLWZsaXAgewogIGFuaW1hdGlvbi1uYW1lOiBmYS1mbGlwOwogIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTsKICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBlYXNlLWluLW91dCk7Cn0KCi5mYS1zaGFrZSB7CiAgYW5pbWF0aW9uLW5hbWU6IGZhLXNoYWtlOwogIGFuaW1hdGlvbi1kZWxheTogdmFyKC0tZmEtYW5pbWF0aW9uLWRlbGF5LCAwcyk7CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTsKICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBsaW5lYXIpOwp9CgouZmEtc3BpbiB7CiAgYW5pbWF0aW9uLW5hbWU6IGZhLXNwaW47CiAgYW5pbWF0aW9uLWRlbGF5OiB2YXIoLS1mYS1hbmltYXRpb24tZGVsYXksIDBzKTsKICBhbmltYXRpb24tZGlyZWN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tZGlyZWN0aW9uLCBub3JtYWwpOwogIGFuaW1hdGlvbi1kdXJhdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWR1cmF0aW9uLCAycyk7CiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogdmFyKC0tZmEtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgaW5maW5pdGUpOwogIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IHZhcigtLWZhLWFuaW1hdGlvbi10aW1pbmcsIGxpbmVhcik7Cn0KCi5mYS1zcGluLXJldmVyc2UgewogIC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTsKfQoKLmZhLXB1bHNlLAouZmEtc3Bpbi1wdWxzZSB7CiAgYW5pbWF0aW9uLW5hbWU6IGZhLXNwaW47CiAgYW5pbWF0aW9uLWRpcmVjdGlvbjogdmFyKC0tZmEtYW5pbWF0aW9uLWRpcmVjdGlvbiwgbm9ybWFsKTsKICBhbmltYXRpb24tZHVyYXRpb246IHZhcigtLWZhLWFuaW1hdGlvbi1kdXJhdGlvbiwgMXMpOwogIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IHZhcigtLWZhLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQsIGluZmluaXRlKTsKICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiB2YXIoLS1mYS1hbmltYXRpb24tdGltaW5nLCBzdGVwcyg4KSk7Cn0KCkBtZWRpYSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKSB7CiAgLmZhLWJlYXQsCiAgLmZhLWJvdW5jZSwKICAuZmEtZmFkZSwKICAuZmEtYmVhdC1mYWRlLAogIC5mYS1mbGlwLAogIC5mYS1wdWxzZSwKICAuZmEtc2hha2UsCiAgLmZhLXNwaW4sCiAgLmZhLXNwaW4tcHVsc2UgewogICAgYW5pbWF0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgfQp9CkBrZXlmcmFtZXMgZmEtYmVhdCB7CiAgMCUsIDkwJSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogIH0KICA0NSUgewogICAgdHJhbnNmb3JtOiBzY2FsZSh2YXIoLS1mYS1iZWF0LXNjYWxlLCAxLjI1KSk7CiAgfQp9CkBrZXlmcmFtZXMgZmEtYm91bmNlIHsKICAwJSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHRyYW5zbGF0ZVkoMCk7CiAgfQogIDEwJSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKHZhcigtLWZhLWJvdW5jZS1zdGFydC1zY2FsZS14LCAxLjEpLCB2YXIoLS1mYS1ib3VuY2Utc3RhcnQtc2NhbGUteSwgMC45KSkgdHJhbnNsYXRlWSgwKTsKICB9CiAgMzAlIHsKICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYm91bmNlLWp1bXAtc2NhbGUteCwgMC45KSwgdmFyKC0tZmEtYm91bmNlLWp1bXAtc2NhbGUteSwgMS4xKSkgdHJhbnNsYXRlWSh2YXIoLS1mYS1ib3VuY2UtaGVpZ2h0LCAtMC41ZW0pKTsKICB9CiAgNTAlIHsKICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYm91bmNlLWxhbmQtc2NhbGUteCwgMS4wNSksIHZhcigtLWZhLWJvdW5jZS1sYW5kLXNjYWxlLXksIDAuOTUpKSB0cmFuc2xhdGVZKDApOwogIH0KICA1NyUgewogICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKHZhcigtLWZhLWJvdW5jZS1yZWJvdW5kLCAtMC4xMjVlbSkpOwogIH0KICA2NCUgewogICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSB0cmFuc2xhdGVZKDApOwogIH0KICAxMDAlIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMSwgMSkgdHJhbnNsYXRlWSgwKTsKICB9Cn0KQGtleWZyYW1lcyBmYS1mYWRlIHsKICA1MCUgewogICAgb3BhY2l0eTogdmFyKC0tZmEtZmFkZS1vcGFjaXR5LCAwLjQpOwogIH0KfQpAa2V5ZnJhbWVzIGZhLWJlYXQtZmFkZSB7CiAgMCUsIDEwMCUgewogICAgb3BhY2l0eTogdmFyKC0tZmEtYmVhdC1mYWRlLW9wYWNpdHksIDAuNCk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOwogIH0KICA1MCUgewogICAgb3BhY2l0eTogMTsKICAgIHRyYW5zZm9ybTogc2NhbGUodmFyKC0tZmEtYmVhdC1mYWRlLXNjYWxlLCAxLjEyNSkpOwogIH0KfQpAa2V5ZnJhbWVzIGZhLWZsaXAgewogIDUwJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKHZhcigtLWZhLWZsaXAteCwgMCksIHZhcigtLWZhLWZsaXAteSwgMSksIHZhcigtLWZhLWZsaXAteiwgMCksIHZhcigtLWZhLWZsaXAtYW5nbGUsIC0xODBkZWcpKTsKICB9Cn0KQGtleWZyYW1lcyBmYS1zaGFrZSB7CiAgMCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoLTE1ZGVnKTsKICB9CiAgNCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOwogIH0KICA4JSwgMjQlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKC0xOGRlZyk7CiAgfQogIDEyJSwgMjglIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKDE4ZGVnKTsKICB9CiAgMTYlIHsKICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMmRlZyk7CiAgfQogIDIwJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMmRlZyk7CiAgfQogIDMyJSB7CiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTJkZWcpOwogIH0KICAzNiUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoMTJkZWcpOwogIH0KICA0MCUsIDEwMCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgfQp9CkBrZXlmcmFtZXMgZmEtc3BpbiB7CiAgMCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7CiAgfQogIDEwMCUgewogICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICB9Cn0KLmZhLXJvdGF0ZS05MCB7CiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOwp9CgouZmEtcm90YXRlLTE4MCB7CiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsKfQoKLmZhLXJvdGF0ZS0yNzAgewogIHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7Cn0KCi5mYS1mbGlwLWhvcml6b250YWwgewogIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpOwp9CgouZmEtZmxpcC12ZXJ0aWNhbCB7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7Cn0KCi5mYS1mbGlwLWJvdGgsCi5mYS1mbGlwLWhvcml6b250YWwuZmEtZmxpcC12ZXJ0aWNhbCB7CiAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgLTEpOwp9CgouZmEtcm90YXRlLWJ5IHsKICB0cmFuc2Zvcm06IHJvdGF0ZSh2YXIoLS1mYS1yb3RhdGUtYW5nbGUsIDApKTsKfQoKLnN2Zy1pbmxpbmUtLWZhIC5mYS1wcmltYXJ5IHsKICBmaWxsOiB2YXIoLS1mYS1wcmltYXJ5LWNvbG9yLCBjdXJyZW50Q29sb3IpOwogIG9wYWNpdHk6IHZhcigtLWZhLXByaW1hcnktb3BhY2l0eSwgMSk7Cn0KCi5zdmctaW5saW5lLS1mYSAuZmEtc2Vjb25kYXJ5IHsKICBmaWxsOiB2YXIoLS1mYS1zZWNvbmRhcnktY29sb3IsIGN1cnJlbnRDb2xvcik7CiAgb3BhY2l0eTogdmFyKC0tZmEtc2Vjb25kYXJ5LW9wYWNpdHksIDAuNCk7Cn0KCi5zdmctaW5saW5lLS1mYS5mYS1zd2FwLW9wYWNpdHkgLmZhLXByaW1hcnkgewogIG9wYWNpdHk6IHZhcigtLWZhLXNlY29uZGFyeS1vcGFjaXR5LCAwLjQpOwp9Cgouc3ZnLWlubGluZS0tZmEuZmEtc3dhcC1vcGFjaXR5IC5mYS1zZWNvbmRhcnkgewogIG9wYWNpdHk6IHZhcigtLWZhLXByaW1hcnktb3BhY2l0eSwgMSk7Cn0KCi5zdmctaW5saW5lLS1mYSBtYXNrIC5mYS1wcmltYXJ5LAouc3ZnLWlubGluZS0tZmEgbWFzayAuZmEtc2Vjb25kYXJ5IHsKICBmaWxsOiBibGFjazsKfQoKLnN2Zy1pbmxpbmUtLWZhLmZhLWludmVyc2UgewogIGZpbGw6IHZhcigtLWZhLWludmVyc2UsICNmZmYpOwp9CgouZmEtc3RhY2sgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBoZWlnaHQ6IDJlbTsKICBsaW5lLWhlaWdodDogMmVtOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHdpZHRoOiAyLjVlbTsKfQoKLmZhLWludmVyc2UgewogIGNvbG9yOiB2YXIoLS1mYS1pbnZlcnNlLCAjZmZmKTsKfQoKLnN2Zy1pbmxpbmUtLWZhLmZhLXN0YWNrLTF4IHsKICAtLWZhLXdpZHRoOiAxLjI1ZW07CiAgaGVpZ2h0OiAxZW07CiAgd2lkdGg6IHZhcigtLWZhLXdpZHRoKTsKfQouc3ZnLWlubGluZS0tZmEuZmEtc3RhY2stMnggewogIC0tZmEtd2lkdGg6IDIuNWVtOwogIGhlaWdodDogMmVtOwogIHdpZHRoOiB2YXIoLS1mYS13aWR0aCk7Cn0KCi5mYS1zdGFjay0xeCwKLmZhLXN0YWNrLTJ4IHsKICBpbnNldDogMDsKICBtYXJnaW46IGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IHZhcigtLWZhLXN0YWNrLXotaW5kZXgsIGF1dG8pOwp9YDtzKGg5dCwiY3NzIik7bTl0PSExO3Mob3VlLCJlbnN1cmVDc3MiKTtJVGE9e21peG91dDpzKGZ1bmN0aW9uKCl7cmV0dXJue2RvbTp7Y3NzOmg5dCxpbnNlcnRDc3M6b3VlfX19LCJtaXhvdXQiKSxob29rczpzKGZ1bmN0aW9uKCl7cmV0dXJue2JlZm9yZURPTUVsZW1lbnRDcmVhdGlvbjpzKGZ1bmN0aW9uKCl7b3VlKCl9LCJiZWZvcmVET01FbGVtZW50Q3JlYXRpb24iKSxiZWZvcmVJMnN2ZzpzKGZ1bmN0aW9uKCl7b3VlKCl9LCJiZWZvcmVJMnN2ZyIpfX0sImhvb2tzIil9LHRjPWU0fHx7fTt0Y1tlY118fCh0Y1tlY109e30pLHRjW2VjXS5zdHlsZXN8fCh0Y1tlY10uc3R5bGVzPXt9KSx0Y1tlY10uaG9va3N8fCh0Y1tlY10uaG9va3M9e30pLHRjW2VjXS5zaGltc3x8KHRjW2VjXS5zaGltcz1bXSk7azE9dGNbZWNdLGc5dD1bXSxiOXQ9cyhmdW5jdGlvbigpe3ByLnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLGI5dCksYWVlPTEsZzl0Lm1hcChmdW5jdGlvbihlKXtyZXR1cm4gZSgpfSl9LCJsaXN0ZW5lciIpLGFlZT0hMTtKbCYmKGFlZT0ocHIuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsPy9ebG9hZGVkfF5jLzovXmxvYWRlZHxeaXxeYy8pLnRlc3QocHIucmVhZHlTdGF0ZSksYWVlfHxwci5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixiOXQpKTtzKE5UYSwiZG9tcmVhZHkiKTtzKFRiLCJ0b0h0bWwiKTtzKHY5dCwiaWNvbkZyb21NYXBwaW5nIik7UlRhPXMoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24ocixpLG8sbil7cmV0dXJuIGUuY2FsbCh0LHIsaSxvLG4pfX0sImJpbmRJbnRlcm5hbDQiKSxudWU9cyhmdW5jdGlvbihlLHQscixpKXt2YXIgbz1PYmplY3Qua2V5cyhlKSxuPW8ubGVuZ3RoLGw9aSE9PXZvaWQgMD9SVGEodCxpKTp0LGQsYyxwO2ZvcihyPT09dm9pZCAwPyhkPTEscD1lW29bMF1dKTooZD0wLHA9cik7ZDxuO2QrKyljPW9bZF0scD1sKHAsZVtjXSxjLGUpO3JldHVybiBwfSwiZmFzdFJlZHVjZU9iamVjdCIpO3MoeDl0LCJ0b0hleCIpO3MoeTl0LCJub3JtYWxpemVJY29ucyIpO3MobHVlLCJkZWZpbmVJY29ucyIpO2N1ZT0xLFMxPTIsdGxzPVtbUzEsX2koL3BhdGggb3BhY2l0eT0iKFteIl0qKSIuKmQ9IihbXiJdKikiLipwYXRoLipkPSIoW14iXSopIi8se2QyOjIsZDE6M30pXSxbUzEsX2koL3BhdGggb3BhY2l0eT0iKFteIl0qKSIuKmQ9IihbXiJdKikiLyx7ZDI6Mn0pXSxbY3VlLF9pKC9wYXRoIGZpbGw9ImN1cnJlbnRDb2xvciIuKmQ9IihbXiJdKykiLyx7ZDE6MX0pXV0sYWxzPVtbUzEsX2koL3BhdGggY2xhc3M9IihbXiJdKnNlY29uZGFyeVteIl0qKSIuKmQ9IihbXiJdKykiLipwYXRoIGNsYXNzPSIoW14iXSpwcmltYXJ5W14iXSopIi4qZD0iKFteIl0rKSIvLHthdHRyMjoxLGQyOjIsYXR0cjE6MyxkMTo0fSldLFtTMSxfaSgvcGF0aCBjbGFzcz0iKFteIl0qcHJpbWFyeVteIl0qKSIuKmQ9IihbXiJdKykiLipwYXRoIGNsYXNzPSIoW14iXSpzZWNvbmRhcnlbXiJdKikiLipkPSIoW14iXSspIi8se2F0dHIxOjEsZDE6MixhdHRyMjozLGQyOjR9KV0sW1MxLF9pKC9wYXRoIGNsYXNzPSIoW14iXSpwcmltYXJ5W14iXSopIi4qZD0iKFteIl0rKSIvLHthdHRyMToxLGQxOjJ9KV0sW1MxLF9pKC9wYXRoIGNsYXNzPSIoW14iXSpzZWNvbmRhcnlbXiJdKikiLipkPSIoW14iXSspIi8se2F0dHIyOjEsZDI6Mn0pXSxbUzEsX2koL3BhdGggZD0iKFteIl0rKSIuKmNsYXNzPSIoW14iXSpzZWNvbmRhcnlbXiJdKikiLipwYXRoIGQ9IihbXiJdKykiLipjbGFzcz0iKFteIl0qcHJpbWFyeVteIl0qKSIvLHtkMjoxLGF0dHIyOjIsZDE6MyxhdHRyMTo0fSldLFtTMSxfaSgvcGF0aCBkPSIoW14iXSspIi4qY2xhc3M9IihbXiJdKnByaW1hcnlbXiJdKikiLipwYXRoIGQ9IihbXiJdKykiLipjbGFzcz0iKFteIl0qc2Vjb25kYXJ5W14iXSopIi8se2QxOjEsYXR0cjE6MixkMjozLGF0dHIyOjR9KV0sW1MxLF9pKC9wYXRoIGQ9IihbXiJdKykiLipjbGFzcz0iKFteIl0qcHJpbWFyeVteIl0qKSIvLHtkMToxLGF0dHIxOjJ9KV0sW1MxLF9pKC9wYXRoIGQ9IihbXiJdKykiLipjbGFzcz0iKFteIl0qc2Vjb25kYXJ5W14iXSopIi8se2QyOjEsYXR0cjI6Mn0pXSxbUzEsX2koL3BhdGggZD0iKFteIl0rKSIuKnBhdGggZD0iKFteIl0rKSIvLHtkMToxLGQyOjJ9KV0sW2N1ZSxfaSgvcGF0aCBkPSIoW14iXSspIi8se2QxOjF9KV0sW2N1ZSxfaSgvcGF0aCBzdHlsZT0iKFteIl0rKSIuKmQ9IihbXiJdKykiLyx7YXR0cjE6MSxkMToyfSldXSxMYj1rMS5zdHlsZXMsT1RhPWsxLnNoaW1zLHc5dD1PYmplY3Qua2V5cyh0dWUpLEZUYT13OXQucmVkdWNlKGZ1bmN0aW9uKGEsZSl7cmV0dXJuIGFbZV09T2JqZWN0LmtleXModHVlW2VdKSxhfSx7fSksZHVlPW51bGwsTTl0PXt9LGs5dD17fSxTOXQ9e30sejl0PXt9LEM5dD17fTtzKEJUYSwiaXNSZXNlcnZlZCIpO3MoSFRhLCJnZXRJY29uTmFtZSIpO185dD1zKGZ1bmN0aW9uKCl7dmFyIGU9cyhmdW5jdGlvbihvKXtyZXR1cm4gbnVlKExiLGZ1bmN0aW9uKG4sbCxkKXtyZXR1cm4gbltkXT1udWUobCxvLHt9KSxufSx7fSl9LCJsb29rdXAiKTtNOXQ9ZShmdW5jdGlvbihpLG8sbil7aWYob1szXSYmKGlbb1szXV09biksb1syXSl7dmFyIGw9b1syXS5maWx0ZXIoZnVuY3Rpb24oZCl7cmV0dXJuIHR5cGVvZiBkPT0ibnVtYmVyIn0pO2wuZm9yRWFjaChmdW5jdGlvbihkKXtpW2QudG9TdHJpbmcoMTYpXT1ufSl9cmV0dXJuIGl9KSxrOXQ9ZShmdW5jdGlvbihpLG8sbil7aWYoaVtuXT1uLG9bMl0pe3ZhciBsPW9bMl0uZmlsdGVyKGZ1bmN0aW9uKGQpe3JldHVybiB0eXBlb2YgZD09InN0cmluZyJ9KTtsLmZvckVhY2goZnVuY3Rpb24oZCl7aVtkXT1ufSl9cmV0dXJuIGl9KSxDOXQ9ZShmdW5jdGlvbihpLG8sbil7dmFyIGw9b1syXTtyZXR1cm4gaVtuXT1uLGwuZm9yRWFjaChmdW5jdGlvbihkKXtpW2RdPW59KSxpfSk7dmFyIHQ9ImZhciJpbiBMYnx8THQuYXV0b0ZldGNoU3ZnLHI9bnVlKE9UYSxmdW5jdGlvbihpLG8pe3ZhciBuPW9bMF0sbD1vWzFdLGQ9b1syXTtyZXR1cm4gbD09PSJmYXIiJiYhdCYmKGw9ImZhcyIpLHR5cGVvZiBuPT0ic3RyaW5nIiYmKGkubmFtZXNbbl09e3ByZWZpeDpsLGljb25OYW1lOmR9KSx0eXBlb2Ygbj09Im51bWJlciImJihpLnVuaWNvZGVzW24udG9TdHJpbmcoMTYpXT17cHJlZml4OmwsaWNvbk5hbWU6ZH0pLGl9LHtuYW1lczp7fSx1bmljb2Rlczp7fX0pO1M5dD1yLm5hbWVzLHo5dD1yLnVuaWNvZGVzLGR1ZT1yZWUoTHQuc3R5bGVEZWZhdWx0LHtmYW1pbHk6THQuZmFtaWx5RGVmYXVsdH0pfSwiYnVpbGQiKTtUVGEoZnVuY3Rpb24oYSl7ZHVlPXJlZShhLnN0eWxlRGVmYXVsdCx7ZmFtaWx5Okx0LmZhbWlseURlZmF1bHR9KX0pLF85dCgpO3ModXVlLCJieVVuaWNvZGUiKTtzKHFUYSwiYnlMaWdhdHVyZSIpO3MoZmQsImJ5QWxpYXMiKTtzKFQ5dCwiYnlPbGROYW1lIik7cyhWVGEsImJ5T2xkVW5pY29kZSIpO3MoYTQsImdldERlZmF1bHRVc2FibGVQcmVmaXgiKTtMOXQ9cyhmdW5jdGlvbigpe3JldHVybntwcmVmaXg6bnVsbCxpY29uTmFtZTpudWxsLHJlc3Q6W119fSwiZW1wdHlDYW5vbmljYWxJY29uIik7cyhqVGEsImdldEZhbWlseUlkIik7cyhyZWUsImdldENhbm9uaWNhbFByZWZpeCIpO3MoVVRhLCJtb3ZlTm9uRmFDbGFzc2VzVG9SZXN0Iik7cygkOXQsInNvcnRlZFVuaXF1ZVZhbHVlcyIpO0Q5dD1lOXQuY29uY2F0KFg3dCk7cyhzZWUsImdldENhbm9uaWNhbEljb24iKTtzKFdUYSwiYXBwbHlTaGltQW5kQWxpYXMiKTtHVGE9Wjd0LmZpbHRlcihmdW5jdGlvbihhKXtyZXR1cm4gYSE9PVFzfHxhIT09U2J9KSxZVGE9T2JqZWN0LmtleXMoWTZlKS5maWx0ZXIoZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT1Rc30pLm1hcChmdW5jdGlvbihhKXtyZXR1cm4gT2JqZWN0LmtleXMoWTZlW2FdKX0pLmZsYXQoKTtzKEtUYSwiZ2V0RGVmYXVsdENhbm9uaWNhbFByZWZpeCIpO1pUYT0oZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7RENhKHRoaXMsYSksdGhpcy5kZWZpbml0aW9ucz17fX1yZXR1cm4gcyhhLCJMaWJyYXJ5IiksQUNhKGEsW3trZXk6ImFkZCIsdmFsdWU6cyhmdW5jdGlvbigpe2Zvcih2YXIgdD10aGlzLHI9YXJndW1lbnRzLmxlbmd0aCxpPW5ldyBBcnJheShyKSxvPTA7bzxyO28rKylpW29dPWFyZ3VtZW50c1tvXTt2YXIgbj1pLnJlZHVjZSh0aGlzLl9wdWxsRGVmaW5pdGlvbnMse30pO09iamVjdC5rZXlzKG4pLmZvckVhY2goZnVuY3Rpb24obCl7dC5kZWZpbml0aW9uc1tsXT1aZShaZSh7fSx0LmRlZmluaXRpb25zW2xdfHx7fSksbltsXSksbHVlKGwsbltsXSk7dmFyIGQ9dHVlW1FzXVtsXTtkJiZsdWUoZCxuW2xdKSxfOXQoKX0pfSwiYWRkIil9LHtrZXk6InJlc2V0Iix2YWx1ZTpzKGZ1bmN0aW9uKCl7dGhpcy5kZWZpbml0aW9ucz17fX0sInJlc2V0Iil9LHtrZXk6Il9wdWxsRGVmaW5pdGlvbnMiLHZhbHVlOnMoZnVuY3Rpb24odCxyKXt2YXIgaT1yLnByZWZpeCYmci5pY29uTmFtZSYmci5pY29uP3swOnJ9OnI7cmV0dXJuIE9iamVjdC5rZXlzKGkpLm1hcChmdW5jdGlvbihvKXt2YXIgbj1pW29dLGw9bi5wcmVmaXgsZD1uLmljb25OYW1lLGM9bi5pY29uLHA9Y1syXTt0W2xdfHwodFtsXT17fSkscC5sZW5ndGg+MCYmcC5mb3JFYWNoKGZ1bmN0aW9uKHUpe3R5cGVvZiB1PT0ic3RyaW5nIiYmKHRbbF1bdV09Yyl9KSx0W2xdW2RdPWN9KSx0fSwiX3B1bGxEZWZpbml0aW9ucyIpfV0pfSkoKSxBOXQ9W10sRzg9e30sWTg9e30sWFRhPU9iamVjdC5rZXlzKFk4KTtzKFFUYSwicmVnaXN0ZXJQbHVnaW5zIik7cyhwdWUsImNoYWluSG9va3MiKTtzKGhkLCJjYWxsSG9va3MiKTtzKHI0LCJjYWxsUHJvdmlkZWQiKTtzKGZ1ZSwiZmluZEljb25EZWZpbml0aW9uIik7RTl0PW5ldyBaVGEsSlRhPXMoZnVuY3Rpb24oKXtMdC5hdXRvUmVwbGFjZVN2Zz0hMSxMdC5vYnNlcnZlTXV0YXRpb25zPSExLGhkKCJub0F1dG8iKX0sIm5vQXV0byIpLGVMYT17aTJzdmc6cyhmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmYXJndW1lbnRzWzBdIT09dm9pZCAwP2FyZ3VtZW50c1swXTp7fTtyZXR1cm4gSmw/KGhkKCJiZWZvcmVJMnN2ZyIsZSkscjQoInBzZXVkb0VsZW1lbnRzMnN2ZyIsZSkscjQoImkyc3ZnIixlKSk6UHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCJPcGVyYXRpb24gcmVxdWlyZXMgYSBET00gb2Ygc29tZSBraW5kLiIpKX0sImkyc3ZnIiksd2F0Y2g6cyhmdW5jdGlvbigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmYXJndW1lbnRzWzBdIT09dm9pZCAwP2FyZ3VtZW50c1swXTp7fSx0PWUuYXV0b1JlcGxhY2VTdmdSb290O0x0LmF1dG9SZXBsYWNlU3ZnPT09ITEmJihMdC5hdXRvUmVwbGFjZVN2Zz0hMCksTHQub2JzZXJ2ZU11dGF0aW9ucz0hMCxOVGEoZnVuY3Rpb24oKXthTGEoe2F1dG9SZXBsYWNlU3ZnUm9vdDp0fSksaGQoIndhdGNoIixlKX0pfSwid2F0Y2giKX0sdExhPXtpY29uOnMoZnVuY3Rpb24oZSl7aWYoZT09PW51bGwpcmV0dXJuIG51bGw7aWYoUUooZSk9PT0ib2JqZWN0IiYmZS5wcmVmaXgmJmUuaWNvbk5hbWUpcmV0dXJue3ByZWZpeDplLnByZWZpeCxpY29uTmFtZTpmZChlLnByZWZpeCxlLmljb25OYW1lKXx8ZS5pY29uTmFtZX07aWYoQXJyYXkuaXNBcnJheShlKSYmZS5sZW5ndGg9PT0yKXt2YXIgdD1lWzFdLmluZGV4T2YoImZhLSIpPT09MD9lWzFdLnNsaWNlKDMpOmVbMV0scj1yZWUoZVswXSk7cmV0dXJue3ByZWZpeDpyLGljb25OYW1lOmZkKHIsdCl8fHR9fWlmKHR5cGVvZiBlPT0ic3RyaW5nIiYmKGUuaW5kZXhPZigiIi5jb25jYXQoTHQuY3NzUHJlZml4LCItIikpPi0xfHxlLm1hdGNoKHdUYSkpKXt2YXIgaT1zZWUoZS5zcGxpdCgiICIpLHtza2lwTG9va3VwczohMH0pO3JldHVybntwcmVmaXg6aS5wcmVmaXh8fGE0KCksaWNvbk5hbWU6ZmQoaS5wcmVmaXgsaS5pY29uTmFtZSl8fGkuaWNvbk5hbWV9fWlmKHR5cGVvZiBlPT0ic3RyaW5nIil7dmFyIG89YTQoKTtyZXR1cm57cHJlZml4Om8saWNvbk5hbWU6ZmQobyxlKXx8ZX19fSwiaWNvbiIpfSxMbz17bm9BdXRvOkpUYSxjb25maWc6THQsZG9tOmVMYSxwYXJzZTp0TGEsbGlicmFyeTpFOXQsZmluZEljb25EZWZpbml0aW9uOmZ1ZSx0b0h0bWw6VGJ9LGFMYT1zKGZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT12b2lkIDA/YXJndW1lbnRzWzBdOnt9LHQ9ZS5hdXRvUmVwbGFjZVN2Z1Jvb3Qscj10PT09dm9pZCAwP3ByOnQ7KE9iamVjdC5rZXlzKGsxLnN0eWxlcykubGVuZ3RoPjB8fEx0LmF1dG9GZXRjaFN2ZykmJkpsJiZMdC5hdXRvUmVwbGFjZVN2ZyYmTG8uZG9tLmkyc3ZnKHtub2RlOnJ9KX0sImF1dG9SZXBsYWNlIik7cyhpZWUsImRvbVZhcmlhbnRzIik7cyhyTGEsImFzSWNvbiIpO3Moc0xhLCJhc1N5bWJvbCIpO3MoaUxhLCJpc0xhYmVsZWQiKTtzKGh1ZSwibWFrZUlubGluZVN2Z0Fic3RyYWN0Iik7cyhQOXQsIm1ha2VMYXllcnNUZXh0QWJzdHJhY3QiKTtzKG9MYSwibWFrZUxheWVyc0NvdW50ZXJBYnN0cmFjdCIpO211ZT1rMS5zdHlsZXM7cyhndWUsImFzRm91bmRJY29uIik7bkxhPXtmb3VuZDohMSx3aWR0aDo1MTIsaGVpZ2h0OjUxMn07cyhsTGEsIm1heWJlTm90aWZ5TWlzc2luZyIpO3MoYnVlLCJmaW5kSWNvbiIpO0k5dD1zKGZ1bmN0aW9uKCl7fSwibm9vcCIpLHZ1ZT1MdC5tZWFzdXJlUGVyZm9ybWFuY2UmJkpKJiZKSi5tYXJrJiZKSi5tZWFzdXJlP0pKOnttYXJrOkk5dCxtZWFzdXJlOkk5dH0sJGI9J0ZBICI3LjIuMCInLGNMYT1zKGZ1bmN0aW9uKGUpe3JldHVybiB2dWUubWFyaygiIi5jb25jYXQoJGIsIiAiKS5jb25jYXQoZSwiIGJlZ2lucyIpKSxmdW5jdGlvbigpe3JldHVybiBOOXQoZSl9fSwiYmVnaW4iKSxOOXQ9cyhmdW5jdGlvbihlKXt2dWUubWFyaygiIi5jb25jYXQoJGIsIiAiKS5jb25jYXQoZSwiIGVuZHMiKSksdnVlLm1lYXN1cmUoIiIuY29uY2F0KCRiLCIgIikuY29uY2F0KGUpLCIiLmNvbmNhdCgkYiwiICIpLmNvbmNhdChlLCIgYmVnaW5zIiksIiIuY29uY2F0KCRiLCIgIikuY29uY2F0KGUsIiBlbmRzIikpfSwiZW5kIikseHVlPXtiZWdpbjpjTGEsZW5kOk45dH0sb2VlPXMoZnVuY3Rpb24oKXt9LCJub29wIik7cyhSOXQsImlzV2F0Y2hlZCIpO3MoZExhLCJoYXNQcmVmaXhBbmRJY29uIik7cyh1TGEsImhhc0JlZW5SZXBsYWNlZCIpO3MocExhLCJnZXRNdXRhdG9yIik7cyhmTGEsImNyZWF0ZUVsZW1lbnROUyIpO3MoaExhLCJjcmVhdGVFbGVtZW50Iik7cyhPOXQsImNvbnZlcnRTVkciKTtzKG1MYSwibm9kZUFzQ29tbWVudCIpO25lZT17cmVwbGFjZTpzKGZ1bmN0aW9uKGUpe3ZhciB0PWVbMF07aWYodC5wYXJlbnROb2RlKWlmKGVbMV0uZm9yRWFjaChmdW5jdGlvbihpKXt0LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKE85dChpKSx0KX0pLHQuZ2V0QXR0cmlidXRlKHBkKT09PW51bGwmJkx0LmtlZXBPcmlnaW5hbFNvdXJjZSl7dmFyIHI9cHIuY3JlYXRlQ29tbWVudChtTGEodCkpO3QucGFyZW50Tm9kZS5yZXBsYWNlQ2hpbGQocix0KX1lbHNlIHQucmVtb3ZlKCl9LCJyZXBsYWNlIiksbmVzdDpzKGZ1bmN0aW9uKGUpe3ZhciB0PWVbMF0scj1lWzFdO2lmKH5zdWUodCkuaW5kZXhPZihMdC5yZXBsYWNlbWVudENsYXNzKSlyZXR1cm4gbmVlLnJlcGxhY2UoZSk7dmFyIGk9bmV3IFJlZ0V4cCgiIi5jb25jYXQoTHQuY3NzUHJlZml4LCItLioiKSk7aWYoZGVsZXRlIHJbMF0uYXR0cmlidXRlcy5pZCxyWzBdLmF0dHJpYnV0ZXMuY2xhc3Mpe3ZhciBvPXJbMF0uYXR0cmlidXRlcy5jbGFzcy5zcGxpdCgiICIpLnJlZHVjZShmdW5jdGlvbihsLGQpe3JldHVybiBkPT09THQucmVwbGFjZW1lbnRDbGFzc3x8ZC5tYXRjaChpKT9sLnRvU3ZnLnB1c2goZCk6bC50b05vZGUucHVzaChkKSxsfSx7dG9Ob2RlOltdLHRvU3ZnOltdfSk7clswXS5hdHRyaWJ1dGVzLmNsYXNzPW8udG9Tdmcuam9pbigiICIpLG8udG9Ob2RlLmxlbmd0aD09PTA/dC5yZW1vdmVBdHRyaWJ1dGUoImNsYXNzIik6dC5zZXRBdHRyaWJ1dGUoImNsYXNzIixvLnRvTm9kZS5qb2luKCIgIikpfXZhciBuPXIubWFwKGZ1bmN0aW9uKGwpe3JldHVybiBUYihsKX0pLmpvaW4oYApgKTt0LnNldEF0dHJpYnV0ZShwZCwiIiksdC5pbm5lckhUTUw9bn0sIm5lc3QiKX07cyhGOXQsInBlcmZvcm1PcGVyYXRpb25TeW5jIik7cyhCOXQsInBlcmZvcm0iKTt5dWU9ITE7cyhIOXQsImRpc2FibGVPYnNlcnZhdGlvbiIpO3Mod3VlLCJlbmFibGVPYnNlcnZhdGlvbiIpO2xlZT1udWxsO3MocTl0LCJvYnNlcnZlIik7cyhnTGEsImRpc2Nvbm5lY3QiKTtzKGJMYSwic3R5bGVQYXJzZXIiKTtzKHZMYSwiY2xhc3NQYXJzZXIiKTtzKHhMYSwiYXR0cmlidXRlc1BhcnNlciIpO3MoeUxhLCJibGFua01ldGEiKTtzKFY5dCwicGFyc2VNZXRhIik7d0xhPWsxLnN0eWxlcztzKGo5dCwiZ2VuZXJhdGVNdXRhdGlvbiIpO3MoTUxhLCJnZXRLbm93blByZWZpeGVzIik7cyhVOXQsIm9uVHJlZSIpO3Moa0xhLCJvbk5vZGUiKTtzKFNMYSwicmVzb2x2ZUljb25zIik7ekxhPXMoZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4xJiZhcmd1bWVudHNbMV0hPT12b2lkIDA/YXJndW1lbnRzWzFdOnt9LHI9dC50cmFuc2Zvcm0saT1yPT09dm9pZCAwP0IyOnIsbz10LnN5bWJvbCxuPW89PT12b2lkIDA/ITE6byxsPXQubWFzayxkPWw9PT12b2lkIDA/bnVsbDpsLGM9dC5tYXNrSWQscD1jPT09dm9pZCAwP251bGw6Yyx1PXQuY2xhc3NlcyxtPXU9PT12b2lkIDA/W106dSx2PXQuYXR0cmlidXRlcyx4PXY9PT12b2lkIDA/e306dixiPXQuc3R5bGVzLGc9Yj09PXZvaWQgMD97fTpiO2lmKGUpe3ZhciB5PWUucHJlZml4LGs9ZS5pY29uTmFtZSxDPWUuaWNvbjtyZXR1cm4gaWVlKFplKHt0eXBlOiJpY29uIn0sZSksZnVuY3Rpb24oKXtyZXR1cm4gaGQoImJlZm9yZURPTUVsZW1lbnRDcmVhdGlvbiIse2ljb25EZWZpbml0aW9uOmUscGFyYW1zOnR9KSxodWUoe2ljb25zOnttYWluOmd1ZShDKSxtYXNrOmQ/Z3VlKGQuaWNvbik6e2ZvdW5kOiExLHdpZHRoOm51bGwsaGVpZ2h0Om51bGwsaWNvbjp7fX19LHByZWZpeDp5LGljb25OYW1lOmssdHJhbnNmb3JtOlplKFplKHt9LEIyKSxpKSxzeW1ib2w6bixtYXNrSWQ6cCxleHRyYTp7YXR0cmlidXRlczp4LHN0eWxlczpnLGNsYXNzZXM6bX19KX0pfX0sInJlbmRlciIpLENMYT17bWl4b3V0OnMoZnVuY3Rpb24oKXtyZXR1cm57aWNvbjpTTGEoekxhKX19LCJtaXhvdXQiKSxob29rczpzKGZ1bmN0aW9uKCl7cmV0dXJue211dGF0aW9uT2JzZXJ2ZXJDYWxsYmFja3M6cyhmdW5jdGlvbih0KXtyZXR1cm4gdC50cmVlQ2FsbGJhY2s9VTl0LHQubm9kZUNhbGxiYWNrPWtMYSx0fSwibXV0YXRpb25PYnNlcnZlckNhbGxiYWNrcyIpfX0sImhvb2tzIikscHJvdmlkZXM6cyhmdW5jdGlvbihlKXtlLmkyc3ZnPWZ1bmN0aW9uKHQpe3ZhciByPXQubm9kZSxpPXI9PT12b2lkIDA/cHI6cixvPXQuY2FsbGJhY2ssbj1vPT09dm9pZCAwP2Z1bmN0aW9uKCl7fTpvO3JldHVybiBVOXQoaSxuKX0sZS5nZW5lcmF0ZVN2Z1JlcGxhY2VtZW50TXV0YXRpb249ZnVuY3Rpb24odCxyKXt2YXIgaT1yLmljb25OYW1lLG89ci5wcmVmaXgsbj1yLnRyYW5zZm9ybSxsPXIuc3ltYm9sLGQ9ci5tYXNrLGM9ci5tYXNrSWQscD1yLmV4dHJhO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih1LG0pe1Byb21pc2UuYWxsKFtidWUoaSxvKSxkLmljb25OYW1lP2J1ZShkLmljb25OYW1lLGQucHJlZml4KTpQcm9taXNlLnJlc29sdmUoe2ZvdW5kOiExLHdpZHRoOjUxMixoZWlnaHQ6NTEyLGljb246e319KV0pLnRoZW4oZnVuY3Rpb24odil7dmFyIHg9WEoodiwyKSxiPXhbMF0sZz14WzFdO3UoW3QsaHVlKHtpY29uczp7bWFpbjpiLG1hc2s6Z30scHJlZml4Om8saWNvbk5hbWU6aSx0cmFuc2Zvcm06bixzeW1ib2w6bCxtYXNrSWQ6YyxleHRyYTpwLHdhdGNoYWJsZTohMH0pXSl9KS5jYXRjaChtKX0pfSxlLmdlbmVyYXRlQWJzdHJhY3RJY29uPWZ1bmN0aW9uKHQpe3ZhciByPXQuY2hpbGRyZW4saT10LmF0dHJpYnV0ZXMsbz10Lm1haW4sbj10LnRyYW5zZm9ybSxsPXQuc3R5bGVzLGQ9dGVlKGwpO2QubGVuZ3RoPjAmJihpLnN0eWxlPWQpO3ZhciBjO3JldHVybiBpdWUobikmJihjPXI0KCJnZW5lcmF0ZUFic3RyYWN0VHJhbnNmb3JtR3JvdXBpbmciLHttYWluOm8sdHJhbnNmb3JtOm4sY29udGFpbmVyV2lkdGg6by53aWR0aCxpY29uV2lkdGg6by53aWR0aH0pKSxyLnB1c2goY3x8by5pY29uKSx7Y2hpbGRyZW46cixhdHRyaWJ1dGVzOml9fX0sInByb3ZpZGVzIil9LF9MYT17bWl4b3V0OnMoZnVuY3Rpb24oKXtyZXR1cm57bGF5ZXI6cyhmdW5jdGlvbih0KXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30saT1yLmNsYXNzZXMsbz1pPT09dm9pZCAwP1tdOmk7cmV0dXJuIGllZSh7dHlwZToibGF5ZXIifSxmdW5jdGlvbigpe2hkKCJiZWZvcmVET01FbGVtZW50Q3JlYXRpb24iLHthc3NlbWJsZXI6dCxwYXJhbXM6cn0pO3ZhciBuPVtdO3JldHVybiB0KGZ1bmN0aW9uKGwpe0FycmF5LmlzQXJyYXkobCk/bC5tYXAoZnVuY3Rpb24oZCl7bj1uLmNvbmNhdChkLmFic3RyYWN0KX0pOm49bi5jb25jYXQobC5hYnN0cmFjdCl9KSxbe3RhZzoic3BhbiIsYXR0cmlidXRlczp7Y2xhc3M6WyIiLmNvbmNhdChMdC5jc3NQcmVmaXgsIi1sYXllcnMiKV0uY29uY2F0KE0xKG8pKS5qb2luKCIgIil9LGNoaWxkcmVuOm59XX0pfSwibGF5ZXIiKX19LCJtaXhvdXQiKX0sVExhPXttaXhvdXQ6cyhmdW5jdGlvbigpe3JldHVybntjb3VudGVyOnMoZnVuY3Rpb24odCl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD4xJiZhcmd1bWVudHNbMV0hPT12b2lkIDA/YXJndW1lbnRzWzFdOnt9LGk9ci50aXRsZSxvPWk9PT12b2lkIDA/bnVsbDppLG49ci5jbGFzc2VzLGw9bj09PXZvaWQgMD9bXTpuLGQ9ci5hdHRyaWJ1dGVzLGM9ZD09PXZvaWQgMD97fTpkLHA9ci5zdHlsZXMsdT1wPT09dm9pZCAwP3t9OnA7cmV0dXJuIGllZSh7dHlwZToiY291bnRlciIsY29udGVudDp0fSxmdW5jdGlvbigpe3JldHVybiBoZCgiYmVmb3JlRE9NRWxlbWVudENyZWF0aW9uIix7Y29udGVudDp0LHBhcmFtczpyfSksb0xhKHtjb250ZW50OnQudG9TdHJpbmcoKSx0aXRsZTpvLGV4dHJhOnthdHRyaWJ1dGVzOmMsc3R5bGVzOnUsY2xhc3NlczpbIiIuY29uY2F0KEx0LmNzc1ByZWZpeCwiLWxheWVycy1jb3VudGVyIildLmNvbmNhdChNMShsKSl9fSl9KX0sImNvdW50ZXIiKX19LCJtaXhvdXQiKX0sTExhPXttaXhvdXQ6cyhmdW5jdGlvbigpe3JldHVybnt0ZXh0OnMoZnVuY3Rpb24odCl7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD4xJiZhcmd1bWVudHNbMV0hPT12b2lkIDA/YXJndW1lbnRzWzFdOnt9LGk9ci50cmFuc2Zvcm0sbz1pPT09dm9pZCAwP0IyOmksbj1yLmNsYXNzZXMsbD1uPT09dm9pZCAwP1tdOm4sZD1yLmF0dHJpYnV0ZXMsYz1kPT09dm9pZCAwP3t9OmQscD1yLnN0eWxlcyx1PXA9PT12b2lkIDA/e306cDtyZXR1cm4gaWVlKHt0eXBlOiJ0ZXh0Iixjb250ZW50OnR9LGZ1bmN0aW9uKCl7cmV0dXJuIGhkKCJiZWZvcmVET01FbGVtZW50Q3JlYXRpb24iLHtjb250ZW50OnQscGFyYW1zOnJ9KSxQOXQoe2NvbnRlbnQ6dCx0cmFuc2Zvcm06WmUoWmUoe30sQjIpLG8pLGV4dHJhOnthdHRyaWJ1dGVzOmMsc3R5bGVzOnUsY2xhc3NlczpbIiIuY29uY2F0KEx0LmNzc1ByZWZpeCwiLWxheWVycy10ZXh0IildLmNvbmNhdChNMShsKSl9fSl9KX0sInRleHQiKX19LCJtaXhvdXQiKSxwcm92aWRlczpzKGZ1bmN0aW9uKGUpe2UuZ2VuZXJhdGVMYXllcnNUZXh0PWZ1bmN0aW9uKHQscil7dmFyIGk9ci50cmFuc2Zvcm0sbz1yLmV4dHJhLG49bnVsbCxsPW51bGw7aWYoJDd0KXt2YXIgZD1wYXJzZUludChnZXRDb21wdXRlZFN0eWxlKHQpLmZvbnRTaXplLDEwKSxjPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7bj1jLndpZHRoL2QsbD1jLmhlaWdodC9kfXJldHVybiBQcm9taXNlLnJlc29sdmUoW3QsUDl0KHtjb250ZW50OnQuaW5uZXJIVE1MLHdpZHRoOm4saGVpZ2h0OmwsdHJhbnNmb3JtOmksZXh0cmE6byx3YXRjaGFibGU6ITB9KV0pfX0sInByb3ZpZGVzIil9LFc5dD1uZXcgUmVnRXhwKCciJywidWciKSxHOXQ9WzExMDU5MjAsMTExMjMxOV0sWTl0PVplKFplKFplKFplKHt9LHtGb250QXdlc29tZTp7bm9ybWFsOiJmYXMiLDQwMDoiZmFzIn19KSxjX2EpLGdUYSksdl9hKSxNdWU9T2JqZWN0LmtleXMoWTl0KS5yZWR1Y2UoZnVuY3Rpb24oYSxlKXtyZXR1cm4gYVtlLnRvTG93ZXJDYXNlKCldPVk5dFtlXSxhfSx7fSksJExhPU9iamVjdC5rZXlzKE11ZSkucmVkdWNlKGZ1bmN0aW9uKGEsZSl7dmFyIHQ9TXVlW2VdO3JldHVybiBhW2VdPXRbOTAwXXx8TTEoT2JqZWN0LmVudHJpZXModCkpWzBdWzFdLGF9LHt9KTtzKERMYSwiaGV4VmFsdWVGcm9tQ29udGVudCIpO3MoQUxhLCJpc1NlY29uZGFyeUxheWVyIik7cyhFTGEsImdldFByZWZpeCIpO3MoSzl0LCJyZXBsYWNlRm9yUG9zaXRpb24iKTtzKFBMYSwicmVwbGFjZSIpO3MoSUxhLCJwcm9jZXNzYWJsZSIpO05MYT1zKGZ1bmN0aW9uKGUpe3JldHVybiEhZSYmaTl0LnNvbWUoZnVuY3Rpb24odCl7cmV0dXJuIGUuaW5jbHVkZXModCl9KX0sImhhc1BzZXVkb0VsZW1lbnQiKSxSTGE9cyhmdW5jdGlvbihlKXtpZighZSlyZXR1cm5bXTt2YXIgdD1uZXcgU2V0LHI9ZS5zcGxpdCgvLCg/IVteKCldKlwpKS8pLm1hcChmdW5jdGlvbihkKXtyZXR1cm4gZC50cmltKCl9KTtyPXIuZmxhdE1hcChmdW5jdGlvbihkKXtyZXR1cm4gZC5pbmNsdWRlcygiKCIpP2Q6ZC5zcGxpdCgiLCIpLm1hcChmdW5jdGlvbihjKXtyZXR1cm4gYy50cmltKCl9KX0pO3ZhciBpPUtKKHIpLG87dHJ5e2ZvcihpLnMoKTshKG89aS5uKCkpLmRvbmU7KXt2YXIgbj1vLnZhbHVlO2lmKE5MYShuKSl7dmFyIGw9aTl0LnJlZHVjZShmdW5jdGlvbihkLGMpe3JldHVybiBkLnJlcGxhY2UoYywiIil9LG4pO2whPT0iIiYmbCE9PSIqIiYmdC5hZGQobCl9fX1jYXRjaChkKXtpLmUoZCl9ZmluYWxseXtpLmYoKX1yZXR1cm4gdH0sInBhcnNlQ1NTUnVsZUZvclBzZXVkb3MiKTtzKFo5dCwic2VhcmNoUHNldWRvRWxlbWVudHMiKTtPTGE9e2hvb2tzOnMoZnVuY3Rpb24oKXtyZXR1cm57bXV0YXRpb25PYnNlcnZlckNhbGxiYWNrczpzKGZ1bmN0aW9uKHQpe3JldHVybiB0LnBzZXVkb0VsZW1lbnRzQ2FsbGJhY2s9Wjl0LHR9LCJtdXRhdGlvbk9ic2VydmVyQ2FsbGJhY2tzIil9fSwiaG9va3MiKSxwcm92aWRlczpzKGZ1bmN0aW9uKGUpe2UucHNldWRvRWxlbWVudHMyc3ZnPWZ1bmN0aW9uKHQpe3ZhciByPXQubm9kZSxpPXI9PT12b2lkIDA/cHI6cjtMdC5zZWFyY2hQc2V1ZG9FbGVtZW50cyYmWjl0KGkpfX0sInByb3ZpZGVzIil9LFg5dD0hMSxGTGE9e21peG91dDpzKGZ1bmN0aW9uKCl7cmV0dXJue2RvbTp7dW53YXRjaDpzKGZ1bmN0aW9uKCl7SDl0KCksWDl0PSEwfSwidW53YXRjaCIpfX19LCJtaXhvdXQiKSxob29rczpzKGZ1bmN0aW9uKCl7cmV0dXJue2Jvb3RzdHJhcDpzKGZ1bmN0aW9uKCl7cTl0KHB1ZSgibXV0YXRpb25PYnNlcnZlckNhbGxiYWNrcyIse30pKX0sImJvb3RzdHJhcCIpLG5vQXV0bzpzKGZ1bmN0aW9uKCl7Z0xhKCl9LCJub0F1dG8iKSx3YXRjaDpzKGZ1bmN0aW9uKHQpe3ZhciByPXQub2JzZXJ2ZU11dGF0aW9uc1Jvb3Q7WDl0P3d1ZSgpOnE5dChwdWUoIm11dGF0aW9uT2JzZXJ2ZXJDYWxsYmFja3MiLHtvYnNlcnZlTXV0YXRpb25zUm9vdDpyfSkpfSwid2F0Y2giKX19LCJob29rcyIpfSxROXQ9cyhmdW5jdGlvbihlKXt2YXIgdD17c2l6ZToxNix4OjAseTowLGZsaXBYOiExLGZsaXBZOiExLHJvdGF0ZTowfTtyZXR1cm4gZS50b0xvd2VyQ2FzZSgpLnNwbGl0KCIgIikucmVkdWNlKGZ1bmN0aW9uKHIsaSl7dmFyIG89aS50b0xvd2VyQ2FzZSgpLnNwbGl0KCItIiksbj1vWzBdLGw9by5zbGljZSgxKS5qb2luKCItIik7aWYobiYmbD09PSJoIilyZXR1cm4gci5mbGlwWD0hMCxyO2lmKG4mJmw9PT0idiIpcmV0dXJuIHIuZmxpcFk9ITAscjtpZihsPXBhcnNlRmxvYXQobCksaXNOYU4obCkpcmV0dXJuIHI7c3dpdGNoKG4pe2Nhc2UiZ3JvdyI6ci5zaXplPXIuc2l6ZStsO2JyZWFrO2Nhc2Uic2hyaW5rIjpyLnNpemU9ci5zaXplLWw7YnJlYWs7Y2FzZSJsZWZ0IjpyLng9ci54LWw7YnJlYWs7Y2FzZSJyaWdodCI6ci54PXIueCtsO2JyZWFrO2Nhc2UidXAiOnIueT1yLnktbDticmVhaztjYXNlImRvd24iOnIueT1yLnkrbDticmVhaztjYXNlInJvdGF0ZSI6ci5yb3RhdGU9ci5yb3RhdGUrbDticmVha31yZXR1cm4gcn0sdCl9LCJwYXJzZVRyYW5zZm9ybVN0cmluZyIpLEJMYT17bWl4b3V0OnMoZnVuY3Rpb24oKXtyZXR1cm57cGFyc2U6e3RyYW5zZm9ybTpzKGZ1bmN0aW9uKHQpe3JldHVybiBROXQodCl9LCJ0cmFuc2Zvcm0iKX19fSwibWl4b3V0IiksaG9va3M6cyhmdW5jdGlvbigpe3JldHVybntwYXJzZU5vZGVBdHRyaWJ1dGVzOnMoZnVuY3Rpb24odCxyKXt2YXIgaT1yLmdldEF0dHJpYnV0ZSgiZGF0YS1mYS10cmFuc2Zvcm0iKTtyZXR1cm4gaSYmKHQudHJhbnNmb3JtPVE5dChpKSksdH0sInBhcnNlTm9kZUF0dHJpYnV0ZXMiKX19LCJob29rcyIpLHByb3ZpZGVzOnMoZnVuY3Rpb24oZSl7ZS5nZW5lcmF0ZUFic3RyYWN0VHJhbnNmb3JtR3JvdXBpbmc9ZnVuY3Rpb24odCl7dmFyIHI9dC5tYWluLGk9dC50cmFuc2Zvcm0sbz10LmNvbnRhaW5lcldpZHRoLG49dC5pY29uV2lkdGgsbD17dHJhbnNmb3JtOiJ0cmFuc2xhdGUoIi5jb25jYXQoby8yLCIgMjU2KSIpfSxkPSJ0cmFuc2xhdGUoIi5jb25jYXQoaS54KjMyLCIsICIpLmNvbmNhdChpLnkqMzIsIikgIiksYz0ic2NhbGUoIi5jb25jYXQoaS5zaXplLzE2KihpLmZsaXBYPy0xOjEpLCIsICIpLmNvbmNhdChpLnNpemUvMTYqKGkuZmxpcFk/LTE6MSksIikgIikscD0icm90YXRlKCIuY29uY2F0KGkucm90YXRlLCIgMCAwKSIpLHU9e3RyYW5zZm9ybToiIi5jb25jYXQoZCwiICIpLmNvbmNhdChjLCIgIikuY29uY2F0KHApfSxtPXt0cmFuc2Zvcm06InRyYW5zbGF0ZSgiLmNvbmNhdChuLzIqLTEsIiAtMjU2KSIpfSx2PXtvdXRlcjpsLGlubmVyOnUscGF0aDptfTtyZXR1cm57dGFnOiJnIixhdHRyaWJ1dGVzOlplKHt9LHYub3V0ZXIpLGNoaWxkcmVuOlt7dGFnOiJnIixhdHRyaWJ1dGVzOlplKHt9LHYuaW5uZXIpLGNoaWxkcmVuOlt7dGFnOnIuaWNvbi50YWcsY2hpbGRyZW46ci5pY29uLmNoaWxkcmVuLGF0dHJpYnV0ZXM6WmUoWmUoe30sci5pY29uLmF0dHJpYnV0ZXMpLHYucGF0aCl9XX1dfX19LCJwcm92aWRlcyIpfSxrdWU9e3g6MCx5OjAsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9O3MoSjl0LCJmaWxsQmxhY2siKTtzKEhMYSwiZGVHcm91cCIpO3FMYT17aG9va3M6cyhmdW5jdGlvbigpe3JldHVybntwYXJzZU5vZGVBdHRyaWJ1dGVzOnMoZnVuY3Rpb24odCxyKXt2YXIgaT1yLmdldEF0dHJpYnV0ZSgiZGF0YS1mYS1tYXNrIiksbz1pP3NlZShpLnNwbGl0KCIgIikubWFwKGZ1bmN0aW9uKG4pe3JldHVybiBuLnRyaW0oKX0pKTpMOXQoKTtyZXR1cm4gby5wcmVmaXh8fChvLnByZWZpeD1hNCgpKSx0Lm1hc2s9byx0Lm1hc2tJZD1yLmdldEF0dHJpYnV0ZSgiZGF0YS1mYS1tYXNrLWlkIiksdH0sInBhcnNlTm9kZUF0dHJpYnV0ZXMiKX19LCJob29rcyIpLHByb3ZpZGVzOnMoZnVuY3Rpb24oZSl7ZS5nZW5lcmF0ZUFic3RyYWN0TWFzaz1mdW5jdGlvbih0KXt2YXIgcj10LmNoaWxkcmVuLGk9dC5hdHRyaWJ1dGVzLG89dC5tYWluLG49dC5tYXNrLGw9dC5tYXNrSWQsZD10LnRyYW5zZm9ybSxjPW8ud2lkdGgscD1vLmljb24sdT1uLndpZHRoLG09bi5pY29uLHY9QVRhKHt0cmFuc2Zvcm06ZCxjb250YWluZXJXaWR0aDp1LGljb25XaWR0aDpjfSkseD17dGFnOiJyZWN0IixhdHRyaWJ1dGVzOlplKFplKHt9LGt1ZSkse30se2ZpbGw6IndoaXRlIn0pfSxiPXAuY2hpbGRyZW4/e2NoaWxkcmVuOnAuY2hpbGRyZW4ubWFwKEo5dCl9Ont9LGc9e3RhZzoiZyIsYXR0cmlidXRlczpaZSh7fSx2LmlubmVyKSxjaGlsZHJlbjpbSjl0KFplKHt0YWc6cC50YWcsYXR0cmlidXRlczpaZShaZSh7fSxwLmF0dHJpYnV0ZXMpLHYucGF0aCl9LGIpKV19LHk9e3RhZzoiZyIsYXR0cmlidXRlczpaZSh7fSx2Lm91dGVyKSxjaGlsZHJlbjpbZ119LGs9Im1hc2stIi5jb25jYXQobHx8cDl0KCkpLEM9ImNsaXAtIi5jb25jYXQobHx8cDl0KCkpLE49e3RhZzoibWFzayIsYXR0cmlidXRlczpaZShaZSh7fSxrdWUpLHt9LHtpZDprLG1hc2tVbml0czoidXNlclNwYWNlT25Vc2UiLG1hc2tDb250ZW50VW5pdHM6InVzZXJTcGFjZU9uVXNlIn0pLGNoaWxkcmVuOlt4LHldfSxfPXt0YWc6ImRlZnMiLGNoaWxkcmVuOlt7dGFnOiJjbGlwUGF0aCIsYXR0cmlidXRlczp7aWQ6Q30sY2hpbGRyZW46SExhKG0pfSxOXX07cmV0dXJuIHIucHVzaChfLHt0YWc6InJlY3QiLGF0dHJpYnV0ZXM6WmUoe2ZpbGw6ImN1cnJlbnRDb2xvciIsImNsaXAtcGF0aCI6InVybCgjIi5jb25jYXQoQywiKSIpLG1hc2s6InVybCgjIi5jb25jYXQoaywiKSIpfSxrdWUpfSkse2NoaWxkcmVuOnIsYXR0cmlidXRlczppfX19LCJwcm92aWRlcyIpfSxWTGE9e3Byb3ZpZGVzOnMoZnVuY3Rpb24oZSl7dmFyIHQ9ITE7ZTQubWF0Y2hNZWRpYSYmKHQ9ZTQubWF0Y2hNZWRpYSgiKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkiKS5tYXRjaGVzKSxlLm1pc3NpbmdJY29uQWJzdHJhY3Q9ZnVuY3Rpb24oKXt2YXIgcj1bXSxpPXtmaWxsOiJjdXJyZW50Q29sb3IifSxvPXthdHRyaWJ1dGVUeXBlOiJYTUwiLHJlcGVhdENvdW50OiJpbmRlZmluaXRlIixkdXI6IjJzIn07ci5wdXNoKHt0YWc6InBhdGgiLGF0dHJpYnV0ZXM6WmUoWmUoe30saSkse30se2Q6Ik0xNTYuNSw0NDcuN2wtMTIuNiwyOS41Yy0xOC43LTkuNS0zNS45LTIxLjItNTEuNS0zNC45bDIyLjctMjIuN0MxMjcuNiw0MzAuNSwxNDEuNSw0NDAsMTU2LjUsNDQ3Ljd6IE00MC42LDI3Mkg4LjUgYzEuNCwyMS4yLDUuNCw0MS43LDExLjcsNjEuMUw1MCwzMjEuMkM0NS4xLDMwNS41LDQxLjgsMjg5LDQwLjYsMjcyeiBNNDAuNiwyNDBjMS40LTE4LjgsNS4yLTM3LDExLjEtNTQuMWwtMjkuNS0xMi42IEMxNC43LDE5NC4zLDEwLDIxNi43LDguNSwyNDBINDAuNnogTTY0LjMsMTU2LjVjNy44LTE0LjksMTcuMi0yOC44LDI4LjEtNDEuNUw2OS43LDkyLjNjLTEzLjcsMTUuNi0yNS41LDMyLjgtMzQuOSw1MS41IEw2NC4zLDE1Ni41eiBNMzk3LDQxOS42Yy0xMy45LDEyLTI5LjQsMjIuMy00Ni4xLDMwLjRsMTEuOSwyOS44YzIwLjctOS45LDM5LjgtMjIuNiw1Ni45LTM3LjZMMzk3LDQxOS42eiBNMTE1LDkyLjQgYzEzLjktMTIsMjkuNC0yMi4zLDQ2LjEtMzAuNGwtMTEuOS0yOS44Yy0yMC43LDkuOS0zOS44LDIyLjYtNTYuOCwzNy42TDExNSw5Mi40eiBNNDQ3LjcsMzU1LjVjLTcuOCwxNC45LTE3LjIsMjguOC0yOC4xLDQxLjUgbDIyLjcsMjIuN2MxMy43LTE1LjYsMjUuNS0zMi45LDM0LjktNTEuNUw0NDcuNywzNTUuNXogTTQ3MS40LDI3MmMtMS40LDE4LjgtNS4yLDM3LTExLjEsNTQuMWwyOS41LDEyLjYgYzcuNS0yMS4xLDEyLjItNDMuNSwxMy42LTY2LjhINDcxLjR6IE0zMjEuMiw0NjJjLTE1LjcsNS0zMi4yLDguMi00OS4yLDkuNHYzMi4xYzIxLjItMS40LDQxLjctNS40LDYxLjEtMTEuN0wzMjEuMiw0NjJ6IE0yNDAsNDcxLjRjLTE4LjgtMS40LTM3LTUuMi01NC4xLTExLjFsLTEyLjYsMjkuNWMyMS4xLDcuNSw0My41LDEyLjIsNjYuOCwxMy42VjQ3MS40eiBNNDYyLDE5MC44YzUsMTUuNyw4LjIsMzIuMiw5LjQsNDkuMmgzMi4xIGMtMS40LTIxLjItNS40LTQxLjctMTEuNy02MS4xTDQ2MiwxOTAuOHogTTkyLjQsMzk3Yy0xMi0xMy45LTIyLjMtMjkuNC0zMC40LTQ2LjFsLTI5LjgsMTEuOWM5LjksMjAuNywyMi42LDM5LjgsMzcuNiw1Ni45IEw5Mi40LDM5N3ogTTI3Miw0MC42YzE4LjgsMS40LDM2LjksNS4yLDU0LjEsMTEuMWwxMi42LTI5LjVDMzE3LjcsMTQuNywyOTUuMywxMCwyNzIsOC41VjQwLjZ6IE0xOTAuOCw1MCBjMTUuNy01LDMyLjItOC4yLDQ5LjItOS40VjguNWMtMjEuMiwxLjQtNDEuNyw1LjQtNjEuMSwxMS43TDE5MC44LDUweiBNNDQyLjMsOTIuM0w0MTkuNiwxMTVjMTIsMTMuOSwyMi4zLDI5LjQsMzAuNSw0Ni4xIGwyOS44LTExLjlDNDcwLDEyOC41LDQ1Ny4zLDEwOS40LDQ0Mi4zLDkyLjN6IE0zOTcsOTIuNGwyMi43LTIyLjdjLTE1LjYtMTMuNy0zMi44LTI1LjUtNTEuNS0zNC45bC0xMi42LDI5LjUgQzM3MC40LDcyLjEsMzg0LjQsODEuNSwzOTcsOTIuNHoifSl9KTt2YXIgbj1aZShaZSh7fSxvKSx7fSx7YXR0cmlidXRlTmFtZToib3BhY2l0eSJ9KSxsPXt0YWc6ImNpcmNsZSIsYXR0cmlidXRlczpaZShaZSh7fSxpKSx7fSx7Y3g6IjI1NiIsY3k6IjM2NCIscjoiMjgifSksY2hpbGRyZW46W119O3JldHVybiB0fHxsLmNoaWxkcmVuLnB1c2goe3RhZzoiYW5pbWF0ZSIsYXR0cmlidXRlczpaZShaZSh7fSxvKSx7fSx7YXR0cmlidXRlTmFtZToiciIsdmFsdWVzOiIyODsxNDsyODsyODsxNDsyODsifSl9LHt0YWc6ImFuaW1hdGUiLGF0dHJpYnV0ZXM6WmUoWmUoe30sbikse30se3ZhbHVlczoiMTswOzE7MTswOzE7In0pfSksci5wdXNoKGwpLHIucHVzaCh7dGFnOiJwYXRoIixhdHRyaWJ1dGVzOlplKFplKHt9LGkpLHt9LHtvcGFjaXR5OiIxIixkOiJNMjYzLjcsMzEyaC0xNmMtNi42LDAtMTItNS40LTEyLTEyYzAtNzEsNzcuNC02My45LDc3LjQtMTA3LjhjMC0yMC0xNy44LTQwLjItNTcuNC00MC4yYy0yOS4xLDAtNDQuMyw5LjYtNTkuMiwyOC43IGMtMy45LDUtMTEuMSw2LTE2LjIsMi40bC0xMy4xLTkuMmMtNS42LTMuOS02LjktMTEuOC0yLjYtMTcuMmMyMS4yLTI3LjIsNDYuNC00NC43LDkxLjItNDQuN2M1Mi4zLDAsOTcuNCwyOS44LDk3LjQsODAuMiBjMCw2Ny42LTc3LjQsNjMuNS03Ny40LDEwNy44QzI3NS43LDMwNi42LDI3MC4zLDMxMiwyNjMuNywzMTJ6In0pLGNoaWxkcmVuOnQ/W106W3t0YWc6ImFuaW1hdGUiLGF0dHJpYnV0ZXM6WmUoWmUoe30sbikse30se3ZhbHVlczoiMTswOzA7MDswOzE7In0pfV19KSx0fHxyLnB1c2goe3RhZzoicGF0aCIsYXR0cmlidXRlczpaZShaZSh7fSxpKSx7fSx7b3BhY2l0eToiMCIsZDoiTTIzMi41LDEzNC41bDcsMTY4YzAuMyw2LjQsNS42LDExLjUsMTIsMTEuNWg5YzYuNCwwLDExLjctNS4xLDEyLTExLjVsNy0xNjhjMC4zLTYuOC01LjItMTIuNS0xMi0xMi41aC0yMyBDMjM3LjcsMTIyLDIzMi4yLDEyNy43LDIzMi41LDEzNC41eiJ9KSxjaGlsZHJlbjpbe3RhZzoiYW5pbWF0ZSIsYXR0cmlidXRlczpaZShaZSh7fSxuKSx7fSx7dmFsdWVzOiIwOzA7MTsxOzA7MDsifSl9XX0pLHt0YWc6ImciLGF0dHJpYnV0ZXM6e2NsYXNzOiJtaXNzaW5nIn0sY2hpbGRyZW46cn19fSwicHJvdmlkZXMiKX0sakxhPXtob29rczpzKGZ1bmN0aW9uKCl7cmV0dXJue3BhcnNlTm9kZUF0dHJpYnV0ZXM6cyhmdW5jdGlvbih0LHIpe3ZhciBpPXIuZ2V0QXR0cmlidXRlKCJkYXRhLWZhLXN5bWJvbCIpLG89aT09PW51bGw/ITE6aT09PSIiPyEwOmk7cmV0dXJuIHQuc3ltYm9sPW8sdH0sInBhcnNlTm9kZUF0dHJpYnV0ZXMiKX19LCJob29rcyIpfSxVTGE9W0lUYSxDTGEsX0xhLFRMYSxMTGEsT0xhLEZMYSxCTGEscUxhLFZMYSxqTGFdO1FUYShVTGEse21peG91dHNUbzpMb30pO1dMYT1Mby5ub0F1dG8sR0xhPUxvLmNvbmZpZyxZTGE9TG8ubGlicmFyeSxLTGE9TG8uZG9tLFpMYT1Mby5wYXJzZSxYTGE9TG8uZmluZEljb25EZWZpbml0aW9uLFFMYT1Mby50b0h0bWwsU3VlPUxvLmljb24sSkxhPUxvLmxheWVyLGUkYT1Mby50ZXh0LHQkYT1Mby5jb3VudGVyfSk7dmFyIGEkYSx6dWUsdGd0LGFndCxyZ3Qsc2d0LEN1ZSxpZ3Qsb2d0LG5ndCxsZ3QsY2d0LGRndCx1Z3QscGd0LGZndCxoZ3QsbWd0LGdndCxiZ3Qsdmd0LHhndCx5Z3Qsd2d0LE1ndCxrZ3QsU2d0LHpndCxDZ3QsX3VlLF9ndCxUZ3QsTGd0LCRndCxEZ3QsQWd0LEVndCxQZ3QsSWd0LE5ndCxSZ3QsT2d0LEZndCxCZ3QsSGd0LHFndCxWZ3Qsamd0LFVndCxUdWUsV2d0LEdndCxZZ3QsS2d0LFpndCxYZ3QsUWd0LEpndCxlYnQsdGJ0LGFidCxyYnQsc2J0LGlidCxvYnQsbmJ0LGxidCxjYnQsZGJ0LHVidCxwYnQsTHVlLGZidCxoYnQsbWJ0LGdidCxiYnQsdmJ0LHhidCx5YnQsd2J0LE1idCxrYnQsU2J0LHpidCxDYnQsX2J0LFRidCxMYnQsJGJ0LERidCxBYnQsRWJ0LFBidCxJYnQsTmJ0LFJidCxPYnQsRmJ0LEJidCxIYnQscWJ0LFZidCxqYnQsVWJ0LFdidCxHYnQsWWJ0LEtidCxaYnQsWGJ0LFFidCxKYnQsZGVlLGV2dCx0dnQsJHVlLGF2dCxydnQsc3Z0LER1ZSxpdnQsb3Z0LGNlZSxudnQsbHZ0LEF1ZSxjdnQsZHZ0LHV2dCxwdnQsZnZ0LEV1ZSxodnQsbXZ0LGd2dCxidnQsdnZ0LHh2dCx5dnQsd3Z0LE12dCxrdnQsUHVlLFN2dCx6dnQsQ3Z0LF92dCxUdnQsTHZ0LCR2dCxEdnQsQXZ0LEl1ZSxFdnQsUHZ0LEl2dCxOdnQsUnZ0LE92dCxGdnQsQnZ0LE51ZSxIdnQscXZ0LFZ2dCxSdWUsanZ0LFV2dCxXdnQsR3Z0LFl2dCxLdnQsWnZ0LFh2dCxRdnQsSnZ0LGV4dCx0eHQsYXh0LHJ4dCxzeHQsaXh0LG94dCxueHQsbHh0LGN4dCxkeHQsdXh0LHB4dCxmeHQsaHh0LG14dCxneHQsT3VlLGJ4dCx2eHQseHh0LHl4dCx3eHQsTXh0LGt4dCxGdWUsU3h0LHp4dCxDeHQsX3h0LFR4dCxMeHQsJHh0LER4dCxBeHQsRXh0LFB4dCxJeHQsTnh0LFJ4dCxPeHQsRnh0LEJ4dCxIeHQscXh0LFZ4dCxqeHQsVXh0LFd4dCxHeHQsWXh0LEt4dCxaeHQsWHh0LFF4dCxKeHQsZXl0LHR5dCxheXQscnl0LHN5dCxpeXQsb3l0LG55dCxseXQsY3l0LGR5dCx1eXQsdWVlLHB5dCxmeXQsaHl0LG15dCxneXQsQnVlLGJ5dCx2eXQseHl0LHBlZSx5eXQsd3l0LE15dCxreXQsU3l0LHp5dCxIdWUsQ3l0LF95dCxUeXQsTHl0LCR5dCxEeXQsQXl0LEV5dCxQeXQsSXl0LE55dCxSeXQsT3l0LEZ5dCxCeXQsSHl0LERiLHF5dCxWeXQsanl0LFV5dCxXeXQsR3l0LFl5dCxLeXQsWnl0LFh5dCxReXQsSnl0LGV3dCx0d3QsYXd0LHJ3dCxzd3QsaXd0LG93dCxud3QsbHd0LGN3dCxkd3QsdXd0LHB3dCxmd3QsaHd0LG13dCxnd3QsYnd0LHZ3dCx4d3QseXd0LHd3dCxNd3Qsa3d0LFN3dCx6d3QsQ3d0LHF1ZSxfd3QsVHd0LEx3dCwkd3QsRHd0LEF3dCxFd3QsUHd0LEl3dCxOd3QsUnd0LE93dCxGd3QsQnd0LEh3dCxWdWUscXd0LFZ3dCxqd3QsVXd0LFd3dCxHd3QsanVlLFl3dCxLd3QsWnd0LFh3dCxRd3QsSnd0LGVNdCx0TXQsYU10LHJNdCxzTXQsaU10LG9NdCxuTXQsbE10LGNNdCxkTXQsdU10LHBNdCxmTXQsaE10LG1NdCxnTXQsYk10LHZNdCx4TXQseU10LHdNdCxVdWUsZmVlLE1NdCxrTXQsU010LHpNdCxDTXQsX010LFRNdCxMTXQsJE10LERNdCxBTXQsRU10LFd1ZSxQTXQsSU10LE5NdCxSTXQsT010LEZNdCxCTXQsSE10LGhlZSxxTXQsVk10LGpNdCxVTXQsV010LEdNdCxZTXQsS010LFpNdCxYTXQsUU10LEpNdCxla3QsR3VlLHRrdCxha3Qscmt0LHNrdCxpa3Qsb2t0LG5rdCxsa3QsY2t0LGRrdCx1a3QscGt0LGZrdCxoa3QsbWt0LGdrdCxia3QsWXVlLHZrdCx4a3QseWt0LEt1ZSx3a3QsTWt0LGtrdCxTa3QsbWVlLHprdCxadWUsQ2t0LF9rdCxUa3QsTGt0LCRrdCxEa3QsWHVlLEFrdCxFa3QsUGt0LElrdCxOa3QsUmt0LE9rdCxGa3QsQmt0LEhrdCxxa3QsVmt0LGprdCxVa3QsV2t0LEdrdCxZa3QsS2t0LFprdCxYa3QsUWt0LEprdCxlU3QsdFN0LGFTdCxRdWUsclN0LHNTdCxpU3Qsb1N0LG5TdCxsU3QsY1N0LGRTdCxKdWUsdVN0LHBTdCxmU3QsaFN0LG1TdCxnU3QsYlN0LHZTdCx4U3QseVN0LHdTdCxNU3Qsa1N0LFNTdCxlcGUselN0LENTdCxfU3QsVFN0LExTdCwkU3QsRFN0LEFTdCxFU3QsUFN0LElTdCxOU3QsUlN0LE9TdCxGU3QsdHBlLEJTdCxIU3QscVN0LFZTdCxqU3QsVVN0LFdTdCxHU3QsWVN0LEtTdCxaU3QsWFN0LFFTdCxKU3QsZ2VlLGV6dCx0enQsYXp0LHJ6dCxzenQsaXp0LG96dCxuenQsbHp0LGN6dCxhcGUsZHp0LHV6dCxwenQsZnp0LGh6dCxtenQsZ3p0LGJ6dCx2enQseHp0LHl6dCx3enQsTXp0LGt6dCxTenQsenp0LEN6dCxfenQsVHp0LEx6dCwkenQsRHp0LEF6dCxFenQsUHp0LEl6dCxOenQsUnp0LE96dCxGenQsQnp0LEh6dCxxenQsVnp0LGp6dCxVenQsV3p0LEd6dCxycGUsWXp0LEt6dCxaenQsWHp0LFF6dCxzcGUsSnp0LGVDdCx0Q3QsYUN0LHJDdCxzQ3QsciRhLGlDdD1mKCgpPT57YSRhPSJmYWIiLHp1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZ2l0aHViIixpY29uOls0NDgsNTEyLFsiZ2l0aHViLXNxdWFyZSJdLCJmMDkyIiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0yNjUuOCA0MDcuN2MwLTEuOCAwLTYgLjEtMTEuNiAuMS0xMS40IC4xLTI4LjggLjEtNDMuNyAwLTE1LjYtNS4yLTI1LjUtMTEuMy0zMC43IDM3LTQuMSA3Ni05LjIgNzYtNzMuMSAwLTE4LjItNi41LTI3LjMtMTcuMS0zOSAxLjctNC4zIDcuNC0yMi0xLjctNDUtMTMuOS00LjMtNDUuNyAxNy45LTQ1LjcgMTcuOS0yNi42LTcuNS01Ni42LTcuNS04My4yIDAgMCAwLTMxLjgtMjIuMi00NS43LTE3LjktOS4xIDIyLjktMy41IDQwLjYtMS43IDQ1LTEwLjYgMTEuNy0xNS42IDIwLjgtMTUuNiAzOSAwIDYzLjYgMzcuMyA2OSA3NC4zIDczLjEtNC44IDQuMy05LjEgMTEuNy0xMC42IDIyLjMtOS41IDQuMy0zMy44IDExLjctNDguMy0xMy45LTkuMS0xNS44LTI1LjUtMTcuMS0yNS41LTE3LjEtMTYuMi0uMi0xLjEgMTAuMi0xLjEgMTAuMiAxMC44IDUgMTguNCAyNC4yIDE4LjQgMjQuMiA5LjcgMjkuNyA1Ni4xIDE5LjcgNTYuMSAxOS43IDAgOSAuMSAyMS43IC4xIDMwLjYgMCA0LjggLjEgOC42IC4xIDEwIDAgNC4zLTMgOS41LTExLjUgOC02Ni0yMi4xLTExMi4yLTg0LjktMTEyLjItMTU4LjMgMC05MS44IDcwLjItMTYxLjUgMTYyLTE2MS41UzM4OCAxNjUuNiAzODggMjU3LjRjLjEgNzMuNC00NC43IDEzNi4zLTExMC43IDE1OC4zLTguNCAxLjUtMTEuNS0zLjctMTEuNS04em0tOTAuNS01NC44Yy0uMi0xLjUgMS4xLTIuOCAzLTMuMiAxLjktLjIgMy43IC42IDMuOSAxLjkgLjMgMS4zLTEgMi42LTMgMy0xLjkgLjQtMy43LS40LTMuOS0xLjd6bS05LjEgMy4yYy0yLjIgLjItMy43LS45LTMuNy0yLjQgMC0xLjMgMS41LTIuNCAzLjUtMi40IDEuOS0uMiAzLjcgLjkgMy43IDIuNCAwIDEuMy0xLjUgMi40LTMuNSAyLjR6bS0xNC4zLTIuMmMtMS45LS40LTMuMi0xLjktMi44LTMuMnMyLjQtMS45IDQuMS0xLjVjMiAuNiAzLjMgMi4xIDIuOCAzLjQtLjQgMS4zLTIuNCAxLjktNC4xIDEuM3ptLTEyLjUtNy4zYy0xLjUtMS4zLTEuOS0zLjItLjktNC4xIC45LTEuMSAyLjgtLjkgNC4zIC42IDEuMyAxLjMgMS44IDMuMyAuOSA0LjEtLjkgMS4xLTIuOCAuOS00LjMtLjZ6bS04LjUtMTBjLTEuMS0xLjUtMS4xLTMuMiAwLTMuOSAxLjEtLjkgMi44LS4yIDMuNyAxLjMgMS4xIDEuNSAxLjEgMy4zIDAgNC4xLS45IC42LTIuNiAwLTMuNy0xLjV6bS02LjMtOC44Yy0xLjEtMS4zLTEuMy0yLjgtLjQtMy41IC45LS45IDIuNC0uNCAzLjUgLjYgMS4xIDEuMyAxLjMgMi44IC40IDMuNS0uOSAuOS0yLjQgLjQtMy41LS42em0tNi02LjRjLTEuMy0uNi0xLjktMS43LTEuNS0yLjYgLjQtLjYgMS41LS45IDIuOC0uNCAxLjMgLjcgMS45IDEuOCAxLjUgMi42LS40IC45LTEuNyAxLjEtMi44IC40eiJdfSx0Z3Q9enVlLGFndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0aGluay1wZWFrcyIsaWNvbjpbNTc2LDUxMixbXSwiZjczMSIsIk00NjUuNCA0MDkuNGw4Ny4xLTE1MC4yLTMyLS4zLTU1LjEgOTUtMjA2LjItMzUzLjktMjM2LjIgNDA3LjQgMzIgLjMgMjA0LjItMzUyLjEgMjA2LjIgMzUzLjh6TTExMC4xIDM2NS4zbDMyLjEgMCAxMTcuNC0yMDIuNSAyMDMuNCAzNDkuMSAzMi41IC4xLTIzNS44LTQwNC42LTE0OS42IDI1Ny45eiJdfSxyZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29vZ2xlLWRyaXZlIixpY29uOls1MTIsNTEyLFtdLCJmM2FhIiwiTTMzOSAzMTQuOUwxNzUuNCAzMiAzMzYuNiAzMiA1MDAuMiAzMTQuOSAzMzkgMzE0Ljl6TTIwMS41IDMzOC41bC04MC42IDE0MS41IDMxMC41IDAgODAuNi0xNDEuNS0zMTAuNSAwek0xNTQuMSA2Ny40TDAgMzM4LjUgODAuNiA0ODAgMjM3IDIwOC44IDE1NC4xIDY3LjR6Il19LHNndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhdXRvcHJlZml4ZXIiLGljb246WzY0MCw1MTIsW10sImY0MWMiLCJNMzE4LjQgMTZsLTE2MSA0ODAgNzcuNSAwIDI1LjQtODEuNCAxMTkuNSAwIDI1LjIgODEuNCA3Ny41IDAtMTY0LjEtNDgwek0yNzguMSAzNTcuOWw0MS4yLTEzMC40IDEuNSAwIDQwLjkgMTMwLjQtODMuNiAwek02NDAgNDA1TDYzMCAzNzMuNiA0NjIuMSAzNTggNDgxLjUgNDE0LjUgNjQwIDQwNXpNMTc3LjkgMzU4TDEwIDM3My43IDAgNDA1IDE1OC41IDQxNC40IDE3Ny45IDM1OHoiXX0sQ3VlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS12aWFkZW8iLGljb246WzQ0OCw1MTIsWyJ2aWFkZW8tc3F1YXJlIl0sImYyYWEiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTExOC4zIDM4MS4yYy02OC03My42LTE5LjgtMTk2LjEgODEuMi0xOTYuMSAxMy4zIDAgMjYuNiAyLjEgMzkuMSA2LjctNC4zIDguNC03LjMgMTcuNi04LjQgMjcuMS05LjctNC4xLTIwLjItNi0zMC43LTYtNDguOCAwLTg0LjYgNDEuNy04NC42IDg4LjkgMCA0MyAyOC41IDc4LjcgNjkuNSA4NS45IDYxLjUtMjQgNzIuOS0xMTcuNiA3Mi45LTE3NSAwLTcuMyAwLTE0LjgtLjYtMjIuMS0xMS4yLTMyLjktMjYuNi02NC42LTQ0LjItOTQuNSAyNy4xIDE4LjMgNDEuOSA2Mi41IDQ0LjIgOTQuMWwwIC40YzcuNyAyMi41IDExLjggNDYuMiAxMS44IDcwIDAgNTQuMS0yMS45IDk5LTY4LjMgMTI4LjJsLTIuNCAuMmM1MCAxIDg2LjItMzguNiA4Ni4yLTg3LjIgMC0xMi4yLTIuMS0yNC4zLTYuOS0zNS43IDkuNS0xLjkgMTguNS01LjYgMjYuNC0xMC41IDE1LjMgMzYuNiAxMi42IDg3LjMtMjIuOCAxMjUuNi00Mi40IDQ2LjItMTIwIDQ2LjYtMTYyLjQgMHpNMjc0LjYgMjE3LjZjMjEuOS0xMiA0OS42LTMwLjcgNjIuMy01MyAxLjUtMyA0LjEtOC42IDQuNS0xMi0xMi41IDI3LjktNDQuMiA0OS44LTczLjkgNTYuNy00LjctNy4zLTcuNS0xNS41LTcuNS0yNC4zIDAtMTAuMyA1LjItMjQuMSAxMi45LTMxLjYgOC4zLTcuOSAxOC0xMC45IDI3LjktMTQuMSAxNi01LjEgMzIuNS0xMC4zIDQ0LjUtMzUuOSAzMi41IDQ2LjIgMTMuMSAxMzAuMy0zNi4zIDEzMC4zLTEzLjMgMC0yNS4xLTcuMS0zNC40LTE2LjF6Il19LGlndD1DdWUsb2d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNwYW5lbCIsaWNvbjpbNjQwLDUxMixbXSwiZjM4OCIsIk0yMTAuMyAyMjAuMmMtNS42LTI0LjgtMjYuOS00MS4yLTUxLTQxLjJsLTM3IDBjLTcuMSAwLTEyLjUgNC41LTE0LjMgMTAuOUw3My4xIDMyMCA5Ny44IDMxOS45YzYuOCAwIDEyLjMtNC41IDE0LjItMTAuN2wyNS44LTk1LjcgMTkuOCAwYzguNCAwIDE2LjIgNS42IDE4LjMgMTQuOCAyLjUgMTAuOS01LjkgMjIuNi0xOC4zIDIyLjZsLTEwLjMgMGMtNyAwLTEyLjUgNC42LTE0LjMgMTAuOGwtNi40IDIzLjggMzIgMGMzNy4yIDAgNTguMy0zNi4yIDUxLjctNjUuM3ptLTE1Ni41IDI4bDE4LjYgMGM2LjkgMCAxMi40LTQuNCAxNC4zLTEwLjlsNi4yLTIzLjYtNDAgMEMzMCAyMTMuNyA5IDIyNy44IDEuNyAyNTQuOC03IDI4OC42IDE4LjUgMzIwIDUyIDMyMGwxMi40IDAgNy4xLTI2LjFjMS4yLTQuNC0yLjItOC4zLTYuNC04LjNsLTExLjMgMGMtMjQuNyAwLTI0LjktMzcuNCAwLTM3LjR6bTI0Ny41LTM0LjhsLTc3LjkgMC0zLjUgMTMuNGMtMi40IDkuNiA0LjUgMTguNSAxNC4yIDE4LjVsNTcuNSAwYzQgMCAyLjQgNC4zIDIuMSA1LjNsLTguNiAzMS44Yy0uNCAxLjQtLjkgNS4zLTUuNSA1LjNsLTM0LjkgMGMtNS4zIDAtNS4zLTcuOSAwLTcuOWwyMS42IDBjNi44IDAgMTIuMy00LjYgMTQuMi0xMC44bDMuNS0xMy4yLTQ4LjQgMGMtMzkuMiAwLTQzLjYgNjMuOC0uNyA2My44bDU3LjUgLjJjMTEuMiAwIDIwLjYtNy4yIDIzLjQtMTcuOGwxNC01MS44YzQuOC0xOS4yLTkuNy0zNi44LTI4LjUtMzYuOHpNNjMzLjEgMTc5bC0xOC45IDBjLTQuOSAwLTkuMiAzLjItMTAuNCA3LjlMNTY4LjIgMzIwYzIwLjcgMCAzOS44LTEzLjggNDQuOS0zNC41bDI2LjUtOTguMmMxLjItNC4zLTItOC4zLTYuNS04LjN6TTM5Ni44IDIxMy43bDAgLjEtNDguMyAwLTI2LjIgOThjLTEuMiA0LjQgMi4yIDguMyA2LjQgOC4zbDE4LjkgMGM0LjggMCA5LjItMyAxMC40LTcuOGwxNy4yLTY0IDE5LjggMGMxMi41IDAgMjEuNCAxMS44IDE4LjEgMjMuNGwtMTAuNiA0MGMtMS4yIDQuMyAxLjkgOC4zIDYuNCA4LjNsMTkuMSAwYzQuNiAwIDkuMS0yLjkgMTAuMy03LjhsOC44LTMzLjFjOS0zMy4xLTE1LjktNjUuNC01MC4zLTY1LjR6bTk4LjMgNzQuNmMtMy42IDAtNi0zLjQtNS4xLTYuN2w4LTMwYy45LTMuOSAzLjctNiA3LjgtNmwzMi45IDBjMi42IDAgNC42IDIuNCAzLjkgNS4xbC0uNyAyLjZjLS42IDItMS45IDMtMy45IDNsLTIxLjYgMGMtNyAwLTEyLjYgNC42LTE0LjIgMTAuOGwtMy41IDEzIDUzLjQgMGMxMC41IDAgMjAuMy02LjYgMjMuMi0xNy42bDMuMi0xMmM0LjktMTkuMS05LjMtMzYuOC0yOC4zLTM2LjhsLTQ3LjMgMGMtMTcuOSAwLTMzLjggMTItMzguNiAyOS42bC0xMC44IDQwYy01IDE3LjcgOC4zIDM2LjcgMjguMyAzNi43bDY2LjcgMGM2LjggMCAxMi4zLTQuNSAxNC4yLTEwLjdsNS43LTIxLTczLjMgMHoiXX0sbmd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1lbmRlbGV5IixpY29uOls2NDAsNTEyLFtdLCJmN2IzIiwiTTYyNC42IDMyNS4yYy0xMi4zLTEyLjQtMjkuNy0xOS4yLTQ4LjQtMTcuMi00My4zLTEtNDkuNy0zNC45LTM3LjUtOTguOCAyMi44LTU3LjUtMTQuOS0xMzEuNS04Ny40LTEzMC44LTc3LjQgLjctODEuNyA4Mi0xMzAuOSA4Mi00OC4xIDAtNTQtODEuMy0xMzAuOS04Mi03Mi45LS44LTExMC4xIDczLjMtODcuNCAxMzAuOCAxMi4yIDYzLjkgNS44IDk3LjgtMzcuNSA5OC44LTIxLjItMi4zLTM3IDYuNS01MyAyMi41LTE5LjkgMTkuNy0xOS4zIDk0LjggNDIuNiAxMDIuNiA0Ny4xIDUuOSA4MS42LTQyLjkgNjEuMi04Ny44LTQ3LjMtMTAzLjcgMTg1LjktMTA2LjEgMTQ2LjUtOC4yLS4xIC4xLS4yIC4yLS4zIC40LTI2LjggNDIuOCA2LjggOTcuNCA1OC44IDk1LjIgNTIuMSAyLjEgODUuNC01Mi42IDU4LjgtOTUuMi0uMS0uMi0uMi0uMy0uMy0uNC0zOS40LTk3LjkgMTkzLjgtOTUuNSAxNDYuNSA4LjItNC42IDEwLTYuNyAyMS4zLTUuNyAzMyA0LjkgNTMuNCA2OC43IDc0LjEgMTA0LjkgMzUuMiAxNy44LTE0LjggMjMuMS02NS42IDAtODguM3pNMzIwLjcgMzA2LjFsLS42IDBjLTQzLjQgMC02Mi44LTM3LjUtNjIuOC02Mi44IDAtMzQuNyAyOC4yLTYyLjggNjIuOC02Mi44bC42IDBjMzQuNyAwIDYyLjggMjguMSA2Mi44IDYyLjggMCAyNS0xOS4yIDYyLjgtNjIuOCA2Mi44eiJdfSxsZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZHJhZnQyZGlnaXRhbCIsaWNvbjpbNTEyLDUxMixbXSwiZjM5NiIsIk00OTYgMzk4LjFsLTE0NC04Mi4yIDAgNjQuNy05MS4zIDBjMzAuOC0zNSA4MS44LTk1LjkgMTExLjgtMTQ5LjMgMzUuMi02Mi42IDE2LjEtMTIzLjQtMTIuOC0xNTMuMy00LjQtNC42LTYyLjItNjIuOS0xNjYtNDEuMi01OS4xIDEyLjQtODkuNCA0My40LTEwNC4zIDY3LjMtMTMuMSAyMC45LTE3IDM5LjgtMTguMiA0Ny43LTUuNSAzMyAxOS40IDY3LjEgNTYuNyA2Ny4xIDMxLjcgMCA1Ny4zLTI1LjcgNTcuMy01Ny40IDAtMjcuMS0xOS43LTUyLjEtNDgtNTYuOCAxLjgtNy4zIDE3LjctMjEuMSAyNi4zLTI0LjcgNDEuMS0xNy4zIDc4IDUuMiA4My4zIDMzLjUgOC4zIDQ0LjMtMzcuMSA5MC40LTY5LjcgMTI3LjYtNzYuNiA4Ny0xNDIuOCAxNTUuNy0xNjEuMSAxNzQuOGwzMzYtLjEgMCA2NC4yIDE0NC04MS45ek0zODUuOSAzNzFsNDcuMSAyNy4yLTQ3LjEgMjcuMiAwLTU0LjR6TTEwNS40IDE2MS40YTIyLjQgMjIuNCAwIDEgMSA0NC44IDAgMjIuNCAyMi40IDAgMSAxIC00NC44IDB6TTk4LjUgMzgwLjVjMjUuNi0yNy40IDk3LjctMTA0LjcgMTUwLjgtMTY5LjkgMzUuMS00My4xIDQwLjMtODIuNCAyOC40LTExMi43LTcuNC0xOC44LTE3LjUtMzAuMi0yNC4zLTM1LjcgNDUuMyAyLjEgNjggMjMuNCA4Mi4yIDM4LjMgMCAwIDQyLjQgNDguMiA1LjggMTEzLjMtMzcgNjUuOS0xMTAuOSAxNDcuNS0xMjguNSAxNjYuN2wtMTE0LjQgMHoiXX0sY2d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlcGx5ZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjNlNiIsIk0zMjAgNDgwbC0xOTIgMEM1Ny42IDQ4MCAwIDQyMi40IDAgMzUyTDAgMTYwQzAgODkuNiA1Ny42IDMyIDEyOCAzMmwxOTIgMGM3MC40IDAgMTI4IDU3LjYgMTI4IDEyOGwwIDE5MmMwIDcwLjQtNTcuNiAxMjgtMTI4IDEyOHpNMTkzLjQgMjczLjJjLTYuMS0yLTExLjYtMy4xLTE2LjQtMy4xLTcuMiAwLTEzLjUgMS45LTE4LjkgNS42cy05LjYgOS0xMi44IDE1LjhsLTEuMSAwLTQuMi0xOC4zLTI4IDAgMCAxMzguOSAzNi4xIDAgMC04OS43YzEuNS01LjQgNC40LTkuOCA4LjctMTMuMnM5LjgtNS4xIDE2LjItNS4xYzQuNiAwIDkuOCAxIDE1LjYgMy4xbDQuOC0zNHpNMzA4LjYgMzc2LjZjLTMuMiAyLjQtNy43IDQuOC0xMy43IDcuMXMtMTIuOCAzLjUtMjAuNCAzLjVjLTEyLjIgMC0yMS4xLTMtMjYuNS04LjktNS41LTUuOS04LjUtMTQuNy05LTI2LjRsODMuMyAwYy45LTQuOCAxLjYtOS40IDIuMS0xMy45IC41LTQuNCAuNy04LjYgLjctMTIuNSAwLTEwLjctMS42LTE5LjctNC43LTI2LjktMy4yLTcuMi03LjMtMTMtMTIuNS0xNy4yLTUuMi00LjMtMTEuMS03LjMtMTcuOC05LjItNi43LTEuOC0xMy41LTIuOC0yMC42LTIuOC0yMS4xIDAtMzcuNSA2LjEtNDkuMiAxOC4zcy0xNy41IDMwLjUtMTcuNSA1NWMwIDIyLjggNS4yIDQwLjcgMTUuNiA1My43IDEwLjQgMTMuMSAyNi44IDE5LjYgNDkuMiAxOS42IDEwLjcgMCAyMC45LTEuNSAzMC40LTQuNnMxNy4xLTYuOCAyMi42LTExLjJsLTEyLTIzLjZ6bS0yMS44LTcwLjNjMy44IDUuNCA1LjMgMTMuMSA0LjYgMjMuMWwtNTEuNyAwYy45LTkuNCAzLjctMTcgOC4yLTIyLjZzMTEuNS04LjUgMjEtOC41YzguMi0uMSAxNC4xIDIuNiAxNy45IDh6bTc5LjkgMi41YzQuMSAzLjkgOS40IDUuOCAxNi4xIDUuOCA3IDAgMTIuNi0xLjkgMTYuNy01LjhzNi4xLTkuMSA2LjEtMTUuNi0yLTExLjYtNi4xLTE1LjQtOS42LTUuNy0xNi43LTUuN2MtNi43IDAtMTIgMS45LTE2LjEgNS43cy02LjEgOC45LTYuMSAxNS40IDIgMTEuNyA2LjEgMTUuNnptMCAxMDAuNWM0LjEgMy45IDkuNCA1LjggMTYuMSA1LjggNyAwIDEyLjYtMS45IDE2LjctNS44czYuMS05LjEgNi4xLTE1LjYtMi0xMS42LTYuMS0xNS40LTkuNi01LjctMTYuNy01LjdjLTYuNyAwLTEyIDEuOS0xNi4xIDUuN3MtNi4xIDguOS02LjEgMTUuNGMwIDYuNiAyIDExLjcgNi4xIDE1LjZ6Il19LGRndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlbXBpcmUiLGljb246WzUxMiw1MTIsW10sImYxZDEiLCJNMjk1LjYgNTQuMmMtMTAuOC0yLjItMjIuMS0zLjMtMzMuNS0zLjZsMC0xOC4yYzc4LjEgMi4yIDE0Ni4xIDQ0IDE4NC42IDEwNi42bC0xNS44IDkuMWMtNi4xLTkuNy0xMi43LTE4LjgtMjAuMi0yNy4xbC0xOCAxNS41Yy0yNi0yOS42LTYxLjQtNTAuNy0xMDEuOS01OC40bDQuOC0yMy45ek02MS40IDMyMi40bDIzLTcuN2MtNi40LTE4LjMtMTAtMzguMi0xMC01OC43czMuMy00MC40IDkuNy01OC43bC0yMi43LTcuN2MzLjYtMTAuOCA4LjMtMjEuMyAxMy42LTMxbC0xNS44LTkuMUM0MiAxODEgMzIuMSAyMTcuNSAzMi4xIDI1NnMxMCA3NSAyNy4xIDEwNi42TDc1IDM1My41Yy01LjMtMTAtOS43LTIwLjMtMTMuNi0zMS4xek0yMjEuMSA0MzRjLTQwLjQtOC03NS44LTI5LjEtMTAxLjktNTguN2wtMTggMTUuOGMtNy41LTguNi0xNC40LTE3LjctMjAuMi0yNy40bC0xNiA5LjRjMzguNSA2Mi4zIDEwNi44IDEwNC4zIDE4NC45IDEwNi42bDAtMTguM2MtMTEuMy0uMy0yMi43LTEuNy0zMy41LTMuNmw0LjctMjMuOHpNMTAxLjMgMTIwLjlsMTggMTUuNWMyNi0yOS42IDYxLjQtNTAuNyAxMDEuOS01OC40bC00LjctMjMuOGMxMC44LTIuMiAyMi4xLTMuMyAzMy41LTMuNmwwLTE4LjJDMTcxLjkgMzQuNiAxMDMuOSA3Ni40IDY1LjQgMTM5bDE1LjggOS4xYzYtOS43IDEyLjYtMTguOSAyMC4xLTI3LjJ6TTQxMC43IDM5MS4xbC0xOC0xNS44Yy0yNiAyOS42LTYxLjQgNTAuNy0xMDEuOSA1OC43bDQuNyAyMy44Yy0xMC44IDEuOS0yMi4xIDMuMy0zMy41IDMuNmwwIDE4LjNjNzguMS0yLjIgMTQ2LjQtNDQuMyAxODQuOS0xMDYuNmwtMTYuMS05LjRjLTUuNyA5LjctMTIuNiAxOC44LTIwLjEgMjcuNHpNOCAyNTZhMjQ4IDI0OCAwIDEgMSA0OTYgMCAyNDggMjQ4IDAgMSAxIC00OTYgMHptNDgzLjggMGEyMzUuOCAyMzUuOCAwIDEgMCAtNDcxLjYgMCAyMzUuOCAyMzUuOCAwIDEgMCA0NzEuNiAwem0tMzktMTA2LjZMNDM3IDE1OC41YzUuMyA5LjcgMTAgMjAuMiAxMy42IDMxbC0yMi43IDcuN2M2LjQgMTguMyA5LjcgMzguMiA5LjcgNTguN3MtMy42IDQwLjQtMTAgNTguN2wyMyA3LjdjLTMuOSAxMC44LTguMyAyMS0xMy42IDMxbDE1LjggOS4xQzQ3MCAzMzEgNDc5LjkgMjk0LjUgNDc5LjkgMjU2cy05LjktNzUtMjcuMS0xMDYuNnptLTE4MyAxNzcuN2MxNi4zLTMuMyAzMC40LTExLjYgNDAuNy0yMy41bDUxLjIgNDQuOGMxMS45LTEzLjYgMjEuMy0yOS4zIDI3LjEtNDYuOGwtNjQuMi0yMi4xYzIuNS03LjUgMy45LTE1LjIgMy45LTIzLjVzLTEuNC0xNi4xLTMuOS0yMy41bDY0LjUtMjIuMWMtNi4xLTE3LjQtMTUuNS0zMy4yLTI3LjQtNDYuOGwtNTEuMiA0NC44Yy0xMC4yLTExLjktMjQuNC0yMC41LTQwLjctMjMuOGwxMy4zLTY2LjRjLTguNi0xLjktMTcuNy0yLjgtMjcuMS0yLjhzLTE4LjUgLjgtMjcuMSAyLjhsMTMuMyA2Ni40Yy0xNi4zIDMuMy0zMC40IDExLjktNDAuNyAyMy44bC01MS4yLTQ0LjhjLTExLjkgMTMuNi0yMS4zIDI5LjMtMjcuNCA0Ni44bDY0LjUgMjIuMWMtMi41IDcuNS0zLjkgMTUuMi0zLjkgMjMuNXMxLjQgMTYuMSAzLjkgMjMuNWwtNjQuMiAyMi4xYzUuOCAxNy40IDE1LjIgMzMuMiAyNy4xIDQ2LjhsNTEuMi00NC44YzEwLjIgMTEuOSAyNC40IDIwLjIgNDAuNyAyMy41bC0xMy4zIDY2LjdjOC42IDEuNyAxNy43IDIuOCAyNy4xIDIuOHMxOC41LTEuMSAyNy4xLTIuOGwtMTMuMy02Ni43eiJdfSx1Z3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYWNjZXNzaWJsZS1pY29uIixpY29uOls0NDgsNTEyLFs2MjEwN10sImYzNjgiLCJNNDIzLjkgMjU1LjhMNDExIDQxMy4xYy0zLjMgNDAuNy02My45IDM1LjEtNjAuNi00LjlsMTAtMTIyLjUtNDEuMSAyLjNjMTAuMSAyMC43IDE1LjggNDMuOSAxNS44IDY4LjUgMCA0MS4yLTE2LjEgNzguNy00Mi4zIDEwNi41bC0zOS4zLTM5LjNjNTcuOS02My43IDEzLjEtMTY3LjItNzQtMTY3LjItMjUuOSAwLTQ5LjUgOS45LTY3LjIgMjZMNzMgMjQzLjJjMjItMjAuNyA1MC4xLTM1LjEgODEuNC00MC4ybDc1LjMtODUuNy00Mi42LTI0LjgtNTEuNiA0NkMxMDUuNSAxNjUuMyA2NC45IDEyMCA5NSA5My4xbDY4LTYwLjdjOS44LTguOCAyNC4xLTEwLjIgMzUuNS0zLjYgMCAwIDEzOS4zIDgwLjkgMTM5LjUgODEuMSAxNi4yIDEwLjEgMjAuNyAzNiA2LjEgNTIuNmwtNTguNCA2Ni41IDEwNi4xLTUuOWMxOC41LTEuMSAzMy42IDE0LjQgMzIuMSAzMi43ek0zNTkgMTAxLjhBNTAuOSA1MC45IDAgMSAwIDM1OSAwIDUwLjkgNTAuOSAwIDEgMCAzNTkgMTAxLjh6TTE3OS42IDQ1Ni41Yy04MC42IDAtMTI3LjQtOTAuNi04Mi43LTE1Ni4xTDU3LjIgMjYwLjdDMzYuNCAyODcgMjQgMzIwLjMgMjQgMzU2LjQgMjQgNDg3LjEgMTc0LjcgNTU3LjggMjc1LjQgNDc4LjlsLTM5LjctMzkuN2MtMTYgMTAuOS0zNS4zIDE3LjMtNTYuMSAxNy4zeiJdfSxwZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicXVvcmEiLGljb246WzQ0OCw1MTIsW10sImYyYzQiLCJNNDQwLjcgMzg2LjdsLTI5LjMgMGMtMS41IDEzLjUtMTAuNSAzMC44LTMzIDMwLjgtMjAuNSAwLTM1LjMtMTQuMi00OS41LTM1LjggNDQuMi0zNC4yIDc0LjctODcuNSA3NC43LTE1MyAuMS0xMTcuNS05Ni42LTE5Ni43LTE5OC40LTE5Ni43LTk5LjcgMC0xOTcuNyA3OS43LTE5Ny43IDE5Ni43IDAgMTM0LjEgMTMxLjMgMjIxLjYgMjQ5IDE4OSAxOS43IDMzLjYgNDUuNyA2Mi4zIDk1LjIgNjIuMyA4MS44IDAgOTAuOC03NS4zIDg5LTkzLjN6TTI5Ny4yIDMyOS4yYy0xOS41LTI5LjItNDMuNy01Mi4yLTkxLjUtNTIuMi0zMC41IDAtNTQuMyAxMC02OSAyMi44bDEyLjIgMjQuM2M2LjItMyAxMy00IDE5LjgtNCAzNS41IDAgNTMuNyAzMC44IDY5LjIgNjEuMy0xMCAzLTIwLjcgNC4yLTMyLjcgNC4yLTc1IDAtMTA3LjUtNTMtMTA3LjUtMTU2LjcgMC0xMDQuNCAzMi41LTE1Ny45IDEwNy41LTE1Ny45IDc2LjIgMCAxMDguNyA1My41IDEwOC43IDE1Ny43IC4xIDQxLjgtNS40IDc1LjYtMTYuNyAxMDAuNXoiXX0sZmd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLWpjYiIsaWNvbjpbNTc2LDUxMixbXSwiZjI0YiIsIk00MzEuNSAyNDQuM2wwLTMyLjNjNDEuMiAwIDM4LjUgLjIgMzguNSAuMiA3LjMgMS4zIDEzLjMgNy4zIDEzLjMgMTYgMCA4LjgtNiAxNC41LTEzLjMgMTUuOC0xLjIgLjQtMy4zIC4zLTM4LjUgLjN6bTQyLjggMjAuMmMtMi44LS43LTMuMy0uNS00Mi44LS41bDAgMzVjMzkuNiAwIDQwIC4yIDQyLjgtLjUgNy41LTEuNSAxMy41LTggMTMuNS0xNyAwLTguNy02LTE1LjUtMTMuNS0xN3pNNTc2IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmw0ODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTgyIDE5Mi4zbC01NyAwYzAgNjcuMSAxMC43IDEwOS43LTM1LjggMTA5LjctMTkuNSAwLTM4LjgtNS43LTU3LjItMTQuOGwwIDI4YzMwIDguMyA2OCA4LjMgNjggOC4zIDk3LjkgMCA4Mi00Ny43IDgyLTEzMS4yem0xNzguNSA0LjVjLTYzLjQtMTYtMTY1LTE0LjktMTY1IDU5LjMgMCA3Ny4xIDEwOC4yIDczLjYgMTY1IDU5LjJsMC0yOC4zQzMxMi45IDMxMS43IDI1MyAzMDkgMjUzIDI1NnM1OS44LTU1LjYgMTA3LjUtMzEuMmwwLTI4ek01NDQgMjg2LjVjMC0xOC41LTE2LjUtMzAuNS0zOC0zMmwwLS44YzE5LjUtMi43IDMwLjMtMTUuNSAzMC4zLTMwLjIgMC0xOS0xNS43LTMwLTM3LTMxIDAgMCA2LjMtLjMtMTIwLjMtLjNsMCAxMjcuNSAxMjIuNyAwYzI0LjMgLjEgNDIuMy0xMi45IDQyLjMtMzMuMnoiXX0saGd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZlZG9yYSIsaWNvbjpbNDQ4LDUxMixbXSwiZjc5OCIsIk0wIDI1NS44Qy4xIDEzMi4yIDEwMC4zIDMyIDIyNCAzMlM0NDggMTMyLjMgNDQ4IDI1NiAzNDcuOCA0NzkuOSAyMjQuMSA0ODBMNTAuOSA0ODBDMjIuOCA0ODAgLjEgNDU3LjMgMCA0MjkuMmwwIDAgMC0xNzMuNCAwIDB6bTM0Mi42LTYzLjFjMC0zOS43LTM1LjYtNjguNS03My4yLTY4LjUtMzQuOSAwLTY1LjggMjYuMy03MC4xIDU5LjktLjIgMy44LS40IDUtLjQgOC41LS4xIDIxLjEgMCA0Mi44LS44IDY0LjQgLjkgMjYuMSAxIDUyLjEgMCA3Ni42IDAgMjcuMS0xOS40IDQ1LjUtNDQuNyA0NS41cy00NS44LTIwLjItNDUuOC00NS41Yy41LTI3LjcgMjIuNi00NS4zIDQ4LjUtNDYuMWwuMiAwIDI2LjMtLjIgMC0zNy4zLTI2LjMgLjJjLTQ3LjEtLjQtODQuNiAzNi41LTg1LjkgODMuNCAwIDQ1LjYgMzcuNSA4Mi45IDgzIDgyLjkgNDMgMCA3OC43LTMzLjYgODIuNi03NS42bC4yLTUzLjUgMzIuNi0uM2MyNS4zIC4yIDI1LTM3LjgtLjItMzcuM2wtMzIuNCAuM2MwLTYuNCAuMS0xMi44IC4xLTE5LjIgLjEtMTIuNyAuMS0yNS40LS4xLTM4LjIgLjEtMTYuNSAxNS44LTMxLjIgMzMuMi0zMS4yIDE3LjUgMCAzNS45IDguNyAzNS45IDMxLjIgMCAzLjItLjEgNS4xLS4zIDYuMy0xLjkgMTAuNSA1LjIgMjAuNCAxNS43IDIxLjkgMTAuNiAxLjUgMjAuMi02LjEgMjEuMi0xNi42IC42LTQuMiAuNy03LjkgLjctMTEuNnoiXX0sbWd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImR1b2xpbmdvIixpY29uOls1NzYsNTEyLFtdLCJlODEyIiwiTTUwNC4zIDIzMC41YzEwLjQgODguNS00My40IDE3Mi4xLTEyOC4yIDE5OXMtMTc2LjYtMTAuMy0yMTguOS04OC43Yy03MiAzLTEzNy40LTM5LjgtMTYzLjItMTA1LjUtMi42LTYuNi0xLjktMTQgMS45LTE5LjlzMTAuMi05LjcgMTcuMi0xMC4xbDk2LjEtNi0yMy44LTc1LjljLTYuMy0yMC0yLjItNDEuOSAxMS01OC4zczMzLjctMjUgNTQuNS0yM2M1Mi4yIDUgODYuOCA0LjggMTA0LS42UzMwMCAxNi43IDMzOS0xNi45YzE1LjktMTMuNyAzNy43LTE4LjUgNTcuOC0xMi43czM2LjEgMjEuMyA0Mi40IDQxLjRMNDYyLjggODcgNTQzLjYgMzcuM2M2LTMuNyAxMy40LTQuMyAxOS45LTEuNnMxMS4zIDguMyAxMi45IDE1LjJjMTYuMiA2OC4yLTEyLjQgMTQwLjMtNzIuMSAxNzkuNXpNMjU4LjUgNDc1LjlsMCAwYzE1LjEgNy41IDIxLjUgMjUuOCAxNC4yIDQxcy0yNS40IDIxLjktNDAuNyAxNC45bC00My45LTIxYy0xNS4xLTcuNS0yMS41LTI1LjgtMTQuMi00MXMyNS40LTIxLjkgNDAuNy0xNC45bDQzLjggMjF6TTU2NC42IDM0NS43YzE0LjggOC40IDIwIDI3LjMgMTEuNiA0Mi4ybC0yMy45IDQyLjRjLTguNyAxNC4zLTI3LjEgMTkuMi00MS42IDEwLjlzLTE5LjktMjYuNi0xMi00MS40bDIzLjktNDIuNGM0LTcuMSAxMC43LTEyLjQgMTguNi0xNC42czE2LjMtMS4yIDIzLjQgMi45eiJdfSxnZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmlyc3RkcmFmdCIsaWNvbjpbMzg0LDUxMixbXSwiZjNhMSIsIk0zODQgMTkybC02NCAwIDAgMTI4LTEyOCAwIDAgMTI4LTE5MiAwIDAtMjUuNiAxNjYuNCAwIDAtMTI4IDEyOCAwIDAtMTI4IDg5LjYgMCAwIDI1LjZ6bS0yNS42IDM4LjRsMCAxMjgtMTI4IDAgMCAxMjgtMTY2LjQgMCAwIDI1LjYgMTkyIDAgMC0xMjggMTI4IDAgMC0xNTMuNi0yNS42IDB6bTI1LjYgMTkybC04OS42IDAgMCA4OS42IDI1LjYgMCAwLTY0IDY0IDAgMC0yNS42ek0wIDBsMCAzODQgMTI4IDAgMC0xMjggMTI4IDAgMC0xMjggMTI4IDAgMC0xMjgtMzg0IDB6Il19LGJndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmcmVlYnNkIixpY29uOls0NDgsNTEyLFtdLCJmM2E0IiwiTTMwMy43IDk2LjJjMTEuMS0xMS4xIDExNS41LTc3IDEzOS4yLTUzLjIgMjMuNyAyMy43LTQyLjEgMTI4LjEtNTMuMiAxMzkuMnMtMzkuNCAuOS02My4xLTIyLjljLTIzLjgtMjMuNy0zNC4xLTUyLTIyLjktNjMuMXpNMTA5LjkgNjguMUM3My42IDQ3LjUgMjIgMjQuNiA1LjYgNDEuMS0xMSA1Ny43IDEyLjcgMTEwLjUgMzMuNSAxNDYuOCA1MiAxMTQuNiA3OC4zIDg3LjUgMTA5LjkgNjguMXpNNDA2LjcgMTc0YzMuMyAxMS4zIDIuNyAyMC43LTIuNyAyNi4xLTIwLjMgMjAuMy04Ny41LTI3LTEwOS4zLTcwLjEtMTgtMzIuMy0xMS4xLTUzLjQgMTQuOS00OC43IDUuNy0zLjYgMTIuMy03LjYgMTkuNi0xMS42LTI5LjgtMTUuNS02My42LTI0LjMtOTkuNS0yNC4zLTExOS4xIDAtMjE1LjYgOTYuNS0yMTUuNiAyMTUuNiAwIDExOSA5Ni41IDIxNS42IDIxNS42IDIxNS42UzQ0NS4zIDM4MC4xIDQ0NS4zIDI2MWMwLTM4LjQtMTAuMS03NC41LTI3LjctMTA1LjgtMy45IDctNy42IDEzLjMtMTAuOSAxOC44eiJdfSx2Z3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib2R5c2VlIixpY29uOls1MTIsNTEyLFtdLCJlNWM2IiwiTTQwNi43IDQ2M2MtNDIuMyAzMC44LTk0LjQgNDktMTUwLjcgNDktMTExLjEgMC0yMDUuNy03MC44LTI0MS4xLTE2OS44IDIuNCAxLjcgNS45IDMuNiA3LjkgNC40IDE2LjMgNy40IDQwLjEtNS40IDYyLjktMjguNyA2LjktNi45IDE0LjQtMTIuNCAyMi44LTE3LjMgMTguMy0xMS45IDM3LjYtMjAuOCA1OC40LTI3LjIgMCAwIDIyLjMgMzQuMiA0My4xIDc0LjhzLTIyLjMgNTQtMjcuMiA1NGMtLjMgMC0uOCAwLTEuNS0uMS0xMS0uNS03MC0zLTU2IDUxLjEgMTQuOSA1Ny40IDk3LjUgMzYuNiAxMzkuNiA4LjlzMzEuNy0xMTguMyAzMS43LTExOC4zYzQxLjEtNi40IDU0IDM3LjEgNTcuOSA1OS40IC44IDQuNiAxLjEgOS45IDEuNCAxNS41IDEuMSAyMS4yIDIuMyA0NS42IDM1LjMgNDYuNCA1LjMgMCAxMC42LS44IDE1LjUtMmwwLS4xem0tOTUuMy0yMy43Yy0yLS41LTMuNS0yLjUtMy01IDEtMi41IDMtMy41IDUtM3MzLjUgMyAzIDUtMi41IDMuNS01IDN6bS0yMDctOTUuNmMxLjUtLjUgMy41IDEgNCAzIDAgMi0xIDQtMyA0LTEuNSAuNS0zLjUtMS00LTMtLjUtMS41IDEtMy41IDMtNHpNNDUxLjggNDIxYzM3LjUtNDQuNiA2MC4yLTEwMi4yIDYwLjItMTY1IDAtNjcuNS0yNi4xLTEyOC45LTY4LjgtMTc0LjctLjEgMjMuNS02LjEgNDguMi0xNi44IDY5LjItMTEuOSAyMC4zLTQ5IDU4LjktNjkuOCA3OC43LS43IC4zLTEuMSAuOS0xLjUgMS40LS4yIC4yLS4zIC40LS41IC42LTUgNi45LTQgMTYuOCAzIDIxLjggMjEuMyAxNS44IDU2LjQgNDUuNiA1OS40IDcyLjggMy41IDM0LjkgMjcuOSA3NS42IDM0LjIgODYuMiAuOCAxLjMgMS4zIDIuMSAxLjQgMi40IDAgMi4yLS40IDQuMy0uOCA2LjVsMCAuMXpNMzkwLjcgMjUxYy0uNSAzIDEgNS45IDQgNi40czUuOS0xIDYuNC00LTEtNS45LTQtNi40Yy0zLTEtNS45IDEtNi40IDR6bTYxLjQtNjAuOWwtMTEuNCA1LjQtMyAxMi45LTUuNC0xMS40LTEyLjktMyAxMS40LTUuNCAzLTEyLjkgNS40IDExLjQgMTIuOSAzek0zOTUuNSA0MS4zYy0xNi4yIDguMi0yMi4xIDMyLjgtMjkgNjEuNC0uMyAxLjQtLjcgMi44LTEgNC4yLTkuNSAzOC41LTMwLjYgMzcuNi00MS43IDM3LjItMS4xIDAtMi0uMS0yLjktLjEtNS4xIDAtNi00LTguOS0xNy4xLTIuNi0xMi4xLTYuOS0zMi0xNy45LTYzLjYtMjIuNy02NS44LTgyLjctNDkuNC0xMjguMi0yMi4yLTU1LjMgMzMuMS0zNC40IDEwMS45LTE5LjggMTQ5LjQgLjcgMi4yIDEuNCA0LjQgMiA2LjYtNCA0LTEzLjggNy41LTI2IDExLjktMTIuMSA0LjMtMjYuNiA5LjUtNDAuMyAxNi45LTMzLjkgMTgtNzAuMyA0OS03OS44IDYyLjYtMS4zLTEwLjctMi0yMS41LTItMzIuNSAwLTE0MS40IDExNC42LTI1NiAyNTYtMjU2IDUxLjQgMCA5OS40IDE1LjIgMTM5LjUgNDEuM3pNNTguOSAxODkuNmMtMS41LTItNC41LTMtNi40LTEuNXMtMyA0LjUtMS41IDYuNCA0LjUgMyA2LjQgMS41YzIuNS0xLjUgMy00LjUgMS41LTYuNHpNMzI3LjMgNjQuOWMyLTEuNSA1LS41IDYuNCAxLjUgMS41IDIuNSAxIDUuNC0xLjUgNi40LTIgMS41LTUgLjUtNi40LTEuNXMtLjUtNSAxLjUtNi40ek05NS4xIDEwNWMtLjUgMS41IC41IDMgMiAzIDEuNSAuNSAzLS41IDMtMiAuNS0xLjUtLjUtMy0yLTNzLTMgLjUtMyAyem04NC43LS41Yy0zLjUtNDMuMSAzNy4xLTU0IDM3LjEtNTQgNDQuMS0xNS40IDU2IDUuOSA2Ni40IDM3LjZzMyA0Mi42LTM4LjYgNTguOS02MS45LTQuNS02NC45LTQyLjZsMCAuMXptODkuNiAxNC45bDEgMGMyLjUgMCA1LTIgNS01IDItNi45IDEtMTQuNC0yLTIwLjgtMS41LTItNC0zLjUtNi40LTIuNS0zIDEtNC41IDQtMy41IDYuOSAyIDQuNSAzIDkuOSAxLjUgMTQuOS0uNSAzIDEuNSA1LjkgNC41IDYuNGwtLjEgLjF6bS05LjktNDEuNmMtMiAwLTQtMS01LTNzLTItMy41LTMtNWMtMi0yLTItNS40IDAtNy40czUuNC0yIDcuNCAwYzIgMi41IDMuNSA1IDUgNy40cy41IDUuOS0yLjUgNy40Yy0uNiAwLTEgLjItMS4zIC4zLS4yIC4xLS40IC4yLS42IC4ybDAgLjF6Il19LHhndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnZy1jaXJjbGUiLGljb246WzUxMiw1MTIsW10sImYyNjEiLCJNMjU3LjUgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTIwOCAzODIuOGwtMTI1LjctMTI1LjcgMTI1LjctMTI1LjcgMzUuMiAzNS40LTI0LjIgMjQuMi0xMS4xLTExLjEtNzcuMiA3Ny4yIDc3LjIgNzcuMiAyNi42LTI2LjYtNTMuMS01Mi45IDI0LjQtMjQuNCA3Ny4yIDc3LjItNzUgNzUuMnptOTktMi4ybC0zNS4yLTM1LjIgMjQuMS0yNC40IDExLjEgMTEuMSA3Ny4yLTc3LjItNzcuMi03Ny4yLTI2LjUgMjYuNSA1My4xIDUyLjktMjQuNCAyNC40LTc3LjItNzcuMiA3NS03NSAxMjUuNyAxMjUuNy0xMjUuNyAxMjUuNnoiXX0seWd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNsb3VkZmxhcmUiLGljb246WzY0MCw1MTIsW10sImUwN2QiLCJNNDA3LjkgMzE5LjlMMTc3LjEgMzE3Yy0uNyAwLTEuNC0uMi0yLS41cy0xLjItLjgtMS42LTEuNGMtLjQtLjYtLjctMS4zLS43LTJzMC0xLjQgLjItMi4xYy40LTEuMSAxLjEtMi4xIDIuMS0yLjhzMi4xLTEuMiAzLjMtMS4ybDIzMi45LTIuOWMyNy42LTEuMyA1Ny41LTIzLjYgNjgtNTAuOGwxMy4zLTM0LjVjLjQtLjkgLjUtMS45IC41LTIuOSAwLS41LS4xLTEuMS0uMi0xLjYtNy40LTMyLjItMjUtNjEuMS01MC4zLTgyLjNzLTU2LjctMzMuNy04OS43LTM1LjUtNjUuNiA3LjMtOTMgMjUuNy00OCA0NS4zLTU4LjggNzYuNWMtMTEuMy04LjUtMjQuOS0xMy4zLTM5LTEzLjdzLTI4IDMuNS0zOS44IDExLjQtMjAuOCAxOS4xLTI1LjkgMzIuMy01LjkgMjcuNi0yLjQgNDEuM2MtNTIuMyAxLjUtOTQuMiA0NC4xLTk0LjIgOTYuNSAwIDQuNyAuMyA5LjMgMSAxNCAuMiAxLjEgLjcgMi4xIDEuNSAyLjhzMS45IDEuMSAyLjkgMS4xbDQyNi4xIC4xYzAgMCAuMSAwIC4xIDAgMS4yIDAgMi4zLS40IDMuMy0xLjFzMS42LTEuNyAyLTIuOWwzLjMtMTEuM2MzLjktMTMuNCAyLjQtMjUuOC00LjEtMzQuOS02LTguNC0xNi4xLTEzLjMtMjguMi0xMy45em0xMDUuOS05OC44Yy0yLjEgMC00LjMgLjEtNi40IC4yLS44IC4xLTEuNSAuMy0yLjEgLjhzLTEgMS4xLTEuMyAxLjhsLTkuMSAzMS4yYy0zLjkgMTMuNC0yLjQgMjUuOCA0LjEgMzQuOSA2IDguNCAxNi4xIDEzLjMgMjguMiAxMy45bDQ5LjIgMi45Yy43IDAgMS40IC4yIDIgLjVzMS4xIC44IDEuNSAxLjRjLjQgLjYgLjcgMS4zIC44IDJzMCAxLjUtLjIgMi4xYy0uNCAxLjEtMS4xIDIuMS0yLjEgMi44cy0yLjEgMS4yLTMuMyAxLjJsLTUxLjEgMi45Yy0yNy44IDEuMy01Ny43IDIzLjYtNjguMSA1MC44bC0zLjcgOS42Yy0uMiAuNC0uMiAuOC0uMiAxLjNzLjIgLjggLjQgMS4yIC42IC43IC45IC45IC44IC4zIDEuMiAuM2MwIDAgLjEgMCAuMSAwbDE3NS45IDBjMSAwIDItLjMgMi44LS45czEuNC0xLjUgMS43LTIuNGMzLjEtMTEuMSA0LjctMjIuNSA0LjctMzQgMC02OS4zLTU2LjUtMTI1LjUtMTI2LjEtMTI1LjV6Il19LHdndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJoYWNrZXJyYW5rIixpY29uOls1MTIsNTEyLFtdLCJmNWY3IiwiTTQ3Ny45IDEyOEM0NjMuNCAxMDMgMjg1LjUgMCAyNTYuNSAwcy0yMDYuOSAxMDIuOC0yMjEuMyAxMjgtMTQuNSAyMzAuOCAwIDI1NiAxOTIuNCAxMjggMjIxLjMgMTI4IDIwNi44LTEwMi45IDIyMS4zLTEyOCAxNC41LTIzMSAwLTI1NnpNMzE2LjUgNDE0LjJjLTQgMC00MC45LTM1LjgtMzgtMzguNyAuOS0uOSA2LjMtMS41IDE3LjUtMS44IDAtMjYuMiAuNi02OC42IC45LTg2LjMgMC0yLS40LTMuNC0uNC01LjhsLTc5LjkgMGMwIDcuMS0uNSAzNi4yIDEuNCA3Mi45IC4yIDQuNS0xLjYgNi01LjcgNS45LTEwLjEgMC0yMC4zLS4xLTMwLjQtLjEtNC4xIDAtNS45LTEuNS01LjctNi4xIC45LTMzLjQgMy04NC0uMi0yMTIuN2wwLTMuMmMtOS43LS40LTE2LjQtMS0xNy4zLTEuOC0yLjktMi45IDM0LjUtMzguNyAzOC41LTM4LjdzNDEuMiAzNS44IDM4LjMgMzguN2MtLjkgLjktNy45IDEuNS0xNi44IDEuOGwwIDMuMmMtMi40IDI1LjgtMiA3OS42LTIuNiAxMDUuNGw4MC4zIDBjMC00LjYgLjQtMzQuNy0xLjItODMuNi0uMS0zLjQgMS01LjIgNC4yLTUuMiAxMS4xLS4xIDIyLjItLjEgMzMuMi0uMSAzLjUgMCA0LjYgMS43IDQuNSA1LjQtMy43IDE5MS4zLS43IDE3Ny45LS43IDIxMC4zIDguOSAuNCAxNi44IDEgMTcuNyAxLjggMi45IDIuOS0zMy42IDM4LjctMzcuNiAzOC43bDAgMHoiXX0sTWd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNreWF0bGFzIixpY29uOls2NDAsNTEyLFtdLCJmMjE2IiwiTTY0MCAzMjkuM2MwIDY1LjktNTIuNSAxMTQuNC0xMTcuNSAxMTQuNC0xNjUuOSAwLTE5Ni42LTI0OS43LTM1OS43LTI0OS43LTE0Ni45IDAtMTQ3LjEgMjEyLjIgNS42IDIxMi4yIDQyLjUgMCA5MC45LTE3LjggMTI1LjMtNDIuNSA1LjYtNC4xIDE2LjktMTYuMyAyMi44LTE2LjNzMTAuOSA1IDEwLjkgMTAuOWMwIDcuOC0xMy4xIDE5LjEtMTguNyAyNC4xLTQwLjkgMzUuNi0xMDAuMyA2MS4yLTE1NC43IDYxLjItODMuNCAuMS0xNTQtNTktMTU0LTE0NC45UzY3LjUgMTQ5LjYgMTUyLjggMTQ5LjZjMTg1LjMgMCAyMjIuNSAyNDUuOSAzNjEuOSAyNDUuOSA5OS45IDAgOTQuOC0xMzkuNyAzLjQtMTM5LjctMTcuNSAwLTM1IDExLjYtNDYuOSAxMS42LTguNCAwLTE1LjktNy4yLTE1LjktMTUuNiAwLTExLjYgNS4zLTIzLjcgNS4zLTM2LjMgMC02Ni42LTUwLjktMTE0LjctMTE2LjktMTE0LjctNTMuMSAwLTgwIDM2LjktODguOCAzNi45LTYuMiAwLTExLjItNS0xMS4yLTExLjIgMC01LjYgNC4xLTEwLjMgNy44LTE0LjQgMjUuMy0yOC44IDY0LjctNDMuNyAxMDIuOC00My43IDc5LjQgMCAxMzkuMSA1OC40IDEzOS4xIDEzNy44IDAgNi45LS4zIDEzLjctMS4yIDIwLjYgMTEuOS0zLjEgMjQuMS00LjcgMzUuOS00LjcgNjAuNyAwIDExMS45IDQ1LjMgMTExLjkgMTA3LjJ6Il19LGtndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkZXNrcHJvIixpY29uOls0NDgsNTEyLFtdLCJmMzhmIiwiTTEyMiA0MDYuMmw4NCAwYzIzLjEgMCA0My45LTMuNSA2Mi42LTEwLjcgMTguNy03LjEgMzQuNy0xNy4xIDQ4LTMwLjEgMTMuMy0xMy40IDIzLjYtMjkuMiAzMC43LTQ3LjUgMy45LTkuNiA2LjgtMTkuOCA4LjYtMzAuNmw3My43IDBjLTIuNSAyMS4zLTcuNyA0MS4zLTE1LjUgNjAtMTEuMSAyNy4yLTI2LjkgNTAuOC00Ny4zIDcwLjktMjAgMTkuNi00NC4yIDM0LjgtNzIuNiA0NS40cy02MCAxNi05NC43IDE2bC0xNDkuOCAuMiAwLTE5Mi40IDcyLjMtLjIgMCAxMTguOHpNMTk5LjQgMzJjMzQuNyAwIDY2LjIgNS40IDk0LjcgMTYgMjguNSAxMC43IDUyLjkgMjYuMSA3My4zIDQ2LjIgMjAuNCAxOS42IDM2LjIgNDMuMiA0Ny4zIDcwLjkgNy41IDE4LjMgMTIuNCAzOC4xIDE0LjkgNTkuM2wtNzMuNy0uMWMtMS45LTEwLjUtNC43LTIwLjUtOC42LTI5LjktNy4xLTE4LjctMTcuMy0zNC41LTMwLjctNDcuNS0xMy4zLTEzLjQtMjkuMy0yMy42LTQ4LTMwLjgtMTguNi03LjEtMzkuNS0xMC43LTYyLjctMTAuN2wtODQgMCAwIDExOC44LTcyLjIgLjIgMC0xOTIuMyAxNDkuNy0uMXoiXX0sU2d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlc29sdmluZyIsaWNvbjpbNTEyLDUxMixbXSwiZjNlNyIsIk0yODkuMiAyNzguMmM0Ni0xMy4zIDQ5LjYtMjMuNSA0NC00My40TDMyMiAxOTUuNWMtNi4xLTIwLjktMTguNC0yOC4xLTcxLjEtMTIuOGwtMTg4LjIgNTQuMSAyOC42IDk4LjYgMTk3LjktNTcuMnpNMjU2LjUgOEMxMzkuNCA4IDQxLjIgODguNyAxNS4yIDE5Ny41bDIyMS45LTYzLjljMzQuOC0xMC4yIDU0LjItMTEuNyA3OS4zLTguMiAzNi4zIDYuMSA1Mi43IDI1IDYxLjQgNTUuMmwxMC43IDM3LjhjOC4yIDI4LjEgMSA1MC42LTIzLjUgNzMuNi0xOS40IDE3LjQtMzEuMiAyNC41LTYxLjQgMzMuMmwtOTIuNiAyNi42IDIyMC40IDI3LjEgOS43IDM0LjItNDguMSAxMy4zLTI4Ni44LTM3LjMgMjMgODAuMkMxNjYgNDkxLjMgMjA5LjUgNTA0IDI1NS41IDUwNCAzOTIuNSA1MDQgNTA0IDM5Mi42IDUwNCAyNTUuNyA1MDUgMTE5LjQgMzkzLjUgOCAyNTYuNSA4ek00Ni4zIDM4OC42TDggMjU2LjhjMCA0OC41IDE0LjMgOTMuNCAzOC4zIDEzMS44eiJdfSx6Z3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmxhY2tiZXJyeSIsaWNvbjpbNTEyLDUxMixbXSwiZjM3YiIsIk0xNjYgMTE2LjljMCAyMy40LTE2LjQgNDkuMS03Mi41IDQ5LjFsLTcwLjEgMCAyMS04OC44IDY3LjggMGM0Mi4xIDAgNTMuOCAyMy4zIDUzLjggMzkuN3pNMjkyLjIgNzcuMmwtNjcuOCAwLTE4LjcgODguOCA3MC4xIDBjNTMuOCAwIDcwLjEtMjUuNyA3MC4xLTQ5LjEgLjEtMTYuNC0xMS42LTM5LjctNTMuNy0zOS43ek04OC44IDIwOC4xbC02Ny44IDAtMjEgODguOCA3MC4xIDBjNTYuMSAwIDcyLjUtMjMuNCA3Mi41LTQ5LjEgMC0xNi4zLTExLjctMzkuNy01My44LTM5Ljd6bTE4MC4xIDBsLTY3LjggMC0xOC43IDg4LjggNzAuMSAwYzUzLjggMCA3MC4xLTIzLjQgNzAuMS00OS4xIDAtMTYuMy0xMS43LTM5LjctNTMuNy0zOS43em0xODkuMy01My44bC02Ny44IDAtMTguNyA4OC44IDcwLjEgMGM1My44IDAgNzAuMS0yMy40IDcwLjEtNDkuMSAuMS0xNi4zLTExLjYtMzkuNy01My43LTM5Ljd6bS0yOCAxMzcuOWwtNjcuOCAwLTE4LjcgODguOCA3MC4xIDBjNTYuMSAwIDcwLjEtMjMuNCA3MC4xLTQ5LjEgMC0xNi4zLTExLjYtMzkuNy01My43LTM5Ljd6TTI0MC44IDM0NmwtNjcuOCAwLTE4LjcgODguOCA3MC4xIDBjNTYuMSAwIDcwLjEtMjUuNyA3MC4xLTQ5LjEgLjEtMTYuMy0xMS42LTM5LjctNTMuNy0zOS43eiJdfSxDZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3RyaXBlLXMiLGljb246WzM4NCw1MTIsW10sImY0MmEiLCJNMTU1LjYgMTU0LjZjMC0yMi4zIDE4LjYtMzAuOSA0OC40LTMwLjkgNDMuNCAwIDk4LjUgMTMuMyAxNDEuOSAzNi43bDAtMTM0LjNjLTQ3LjMtMTguOS05NC41LTI2LjEtMTQxLjgtMjYuMS0xMTUuNyAwLTE5Mi44IDYwLjQtMTkyLjggMTYxLjQgMCAxNTcuOSAyMTYuOCAxMzIuMyAyMTYuOCAyMDAuNCAwIDI2LjQtMjIuOSAzNC45LTU0LjcgMzQuOS00Ny4yIDAtMTA4LjItMTkuNS0xNTYuMS00NS41bDAgMTI4LjVjNDkuMyAyMS4zIDEwMi4zIDMyLjMgMTU2IDMyLjQgMTE4LjYgMCAyMDAuMy01MSAyMDAuMy0xNTMuNiAwLTE3MC4yLTIxOC0xMzkuNy0yMTgtMjAzLjl6Il19LF91ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtYmVoYW5jZSIsaWNvbjpbNDQ4LDUxMixbImJlaGFuY2Utc3F1YXJlIl0sImYxYjUiLCJNMTU1LjMgMzE4LjRjMTcuMiAwIDMxLjItNi4xIDMxLjItMjUuNCAwLTE5LjctMTEuNy0yNy40LTMwLjMtMjcuNWwtNDYgMCAwIDUyLjkgNDUuMSAwem0tNS40LTEyOS42bC0zOS42IDAgMCA0NC44IDQyLjcgMGMxNS4xIDAgMjUuOC02LjYgMjUuOC0yMi45IDAtMTcuNy0xMy43LTIxLjktMjguOS0yMS45em0xMjkuNSA3NC44bDYyLjIgMGMtMS43LTE4LjUtMTEuMy0yOS43LTMwLjUtMjkuNy0xOC4zIDAtMzAuNSAxMS40LTMxLjcgMjkuN3pNMzg0IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTM0OS41IDE4NWwtNzcuOCAwIDAtMTguOSA3Ny44IDAgMCAxOC45ek0xOTMuNyAyNDMuN2MyMy42IDYuNyAzNSAyNy41IDM1IDUxLjYgMCAzOS0zMi43IDU1LjctNjcuNiA1NS45bC05My4xIDAgMC0xOTIgOTAuNSAwYzMyLjkgMCA2MS40IDkuMyA2MS40IDQ3LjUgMCAxOS4zLTkgMjguOC0yNi4yIDM3em0xMTguNy0zOC42YzQzLjUgMCA2Ny42IDM0LjMgNjcuNiA3NS40IDAgMS42LS4xIDMuMy0uMiA1IDAgLjgtLjEgMS41LS4xIDIuMmwtMTAwLjIgMGMwIDIyLjIgMTEuNyAzNS4zIDM0LjEgMzUuMyAxMS42IDAgMjYuNS02LjIgMzAuMi0xOC4xbDMzLjcgMGMtMTAuNCAzMS45LTMxLjkgNDYuOC02NS4xIDQ2LjgtNDMuOCAwLTcxLjEtMjkuNy03MS4xLTczIDAtNDEuOCAyOC43LTczLjYgNzEuMS03My42eiJdfSxfZ3Q9X3VlLFRndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzZXJ2aWNlc3RhY2siLGljb246WzUxMiw1MTIsW10sImYzZWMiLCJNOTYgMjE2YzgxLjcgMTAuMiAyNzMuNyAxMDIuMyAzMDQgMjMyTDggNDQ4Yzk5LjUtOC4xIDE4NC41LTEzNyA4OC0yMzJ6TTEyOCA2NGMzMi4zIDM1LjYgNDcuNyA4My45IDQ2LjQgMTMzLjYgODIuOSAzMy43IDIwNy4zIDEyMy43IDIzMy42IDI1MC40bDk2IDBDNDYzLjMgMjMxLjkgMjMwLjggNzkuNSAxMjggNjR6Il19LExndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyb2NrZXRjaGF0IixpY29uOls1NzYsNTEyLFtdLCJmM2U4IiwiTTI4NC41IDIyNC44Yy02LjcgMC0xMy4zIDIuMS0xOC45IDUuOHMtOS45IDkuMS0xMi41IDE1LjQtMy4yIDEzLjEtMS45IDE5LjcgNC42IDEyLjcgOS40IDE3LjQgMTAuOSA4IDE3LjUgOS4zIDEzLjUgLjYgMTkuNy0yIDExLjUtNyAxNS4zLTEyLjYgNS43LTEyLjIgNS43LTE4LjljMC05LjEtMy43LTE3LjgtMTAuMS0yNC4ycy0xNS4xLTEwLTI0LjItOS45em0tMTEwLjQgMGMtNi43IDAtMTMuMyAyLjEtMTguOSA1LjhzLTkuOSA5LjEtMTIuNSAxNS40LTMuMiAxMy4xLTEuOSAxOS43IDQuNiAxMi43IDkuNCAxNy40IDEwLjkgOCAxNy41IDkuMyAxMy41IC42IDE5LjctMiAxMS41LTcgMTUuMy0xMi42IDUuNy0xMi4yIDUuNy0xOC45YzAtOS4xLTMuNy0xNy44LTEwLjEtMjQuMnMtMTUuMS0xMC0yNC4yLTEwbDAgMHptMjIwLjkgMGEzNC4xIDM0LjEgMCAxIDAgLjQgNjguMiAzNC4xIDM0LjEgMCAxIDAgLS40LTY4LjJ6bTE1My44LTU1LjNjLTE1LjUtMjQuMi0zNy4zLTQ1LjYtNjQuNy02My42LTUyLjktMzQuOC0xMjIuNC01NC0xOTUuNy01NC0yNC4yIDAtNDguMyAyLjEtNzIgNi40LTE0LjktMTQuMy0zMS41LTI2LjYtNDkuNS0zNi42LTY2LjgtMzMuMy0xMjUuNi0yMC45LTE1NS4zLTEwLjItMi4zIC44LTQuMyAyLjEtNS45IDMuOXMtMi43IDMuOS0zLjMgNi4yLS41IDQuNyAuMSA3LjEgMS44IDQuNCAzLjUgNi4xQzI3IDU2LjUgNjEuNiA5OS4zIDUzLjEgMTM4LjMgMjAgMTcyLjIgMiAyMTMgMiAyNTUuNiAyIDI5OSAyMCAzMzkuOCA1My4xIDM3My43IDYxLjYgNDEyLjcgMjcgNDU1LjYgNiA0NzcuMiA0LjMgNDc5IDMuMiA0ODEuMSAyLjUgNDgzLjRzLS43IDQuNy0uMSA3IDEuNyA0LjUgMy4zIDYuMiAzLjYgMy4xIDUuOSAzLjljMjkuNyAxMC43IDg4LjUgMjMuMSAxNTUuMy0xMC4yIDE4LTEwIDM0LjctMjIuMyA0OS41LTM2LjYgMjMuOCA0LjMgNDcuOSA2LjQgNzIgNi40IDczLjMgMCAxNDIuOC0xOS4yIDE5NS43LTU0IDI3LjQtMTggNDkuMS0zOS40IDY0LjctNjMuNiAxNy4zLTI2LjkgMjYuMS01NS45IDI2LjEtODYuMSAwLTMxLTguOC02MC0yNi4xLTg2LjlsMCAwek0yODUuNCA0MDkuOWMtMzAuMiAuMS02MC4zLTMuOC04OS40LTExLjVsLTIwLjEgMTkuNGMtMTEuMiAxMC43LTIzLjYgMjAtMzcuMSAyNy42LTE2LjQgOC4yLTM0LjIgMTMuMy01Mi41IDE0LjkgMS0xLjggMS45LTMuNiAyLjgtNS40IDIwLjItMzcuMSAyNS42LTcwLjUgMTYuMy0xMDAuMS0zMy0yNi01Mi44LTU5LjItNTIuOC05NS40IDAtODMuMSAxMDQuMy0xNTAuNSAyMzIuOC0xNTAuNXMyMzIuOSA2Ny40IDIzMi45IDE1MC41YzAgODMuMS0xMDQuMyAxNTAuNS0yMzIuOSAxNTAuNXoiXX0sJGd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlYmVsIixpY29uOls1MTIsNTEyLFtdLCJmMWQwIiwiTTI1Ni45IDUwNGMtMTM5LjMgMC0yNDcuNS0xMTYuMi0yNDMuMy0yNTQuMSAyLjgtNzkuMiA0My4yLTE1Mi4yIDExNi41LTIwMC40IC4zIDAgMS45LS42IDEuMSAuOC01LjggNS41LTExMS4zIDEyOS44LTE0LjEgMjI2LjQgNDkuOCA0OS41IDkwIDIuNSA5MCAyLjUgMzguNS01MC4xLS42LTEyNS45LS42LTEyNS45LTEwLTI0LjktNDUuNy00MC4xLTQ1LjctNDAuMWwyOC44LTMxLjhjMjQuNCAxMC41IDQzLjIgMzguNyA0My4yIDM4LjcgLjgtMjkuNi0yMS45LTYxLjQtMjEuOS02MS40TDI1NS41IDggMjk5LjggNTguMWMtMjAuNSAyOC44LTIxLjkgNjIuNi0yMS45IDYyLjYgMTMuOC0yMyA0My41LTM5LjMgNDMuNS0zOS4zbDI4LjUgMzEuOGMtMjcuNCA4LjktNDUuNCAzOS45LTQ1LjQgMzkuOS0xNS44IDI4LjUtMjcuMSA4OS40IC42IDEyNy4zIDMyLjQgNDQuNiA4Ny43LTIuOCA4Ny43LTIuOCAxMDIuNy05MS45LTEwLjUtMjI1LTEwLjUtMjI1LTYuMS01LjUgLjgtMi44IC44LTIuOCA1MC4xIDM2LjUgMTE0LjYgODQuNCAxMTYuMiAyMDQuOCAyIDE0NS42LTk5LjkgMjQ5LjQtMjQyLjQgMjQ5LjR6Il19LERndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtd2ViLWF3ZXNvbWUiLGljb246WzQ0OCw1MTIsW10sImU2ODMiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjM1IDE3Ny42bDUzIDQ2LjQgNTIuMi0xMC40Yy0yLjYtMy45LTQuMi04LjUtNC4yLTEzLjYgMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGMwIDEzLTEwLjMgMjMuNi0yMy4yIDI0TDMwNC41IDM0OS4xYy01LjIgMTEuNS0xNi42IDE4LjktMjkuMiAxOC45bC0xMDIuNiAwYy0xMi42IDAtMjQtNy40LTI5LjItMTguOUw4Ny4yIDIyNGMtMTIuOS0uNC0yMy4yLTExLTIzLjItMjQgMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGMwIDUtMS41IDkuNy00LjIgMTMuNkwxNjAgMjI0IDIxMy4xIDE3Ny42Yy04LjktNC4xLTE1LTEzLjEtMTUtMjMuNiAwLTE0LjQgMTEuNi0yNiAyNi0yNnMyNiAxMS42IDI2IDI2YzAgMTAuNS02LjIgMTkuNS0xNS4xIDIzLjZ6Il19LEFndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsaW5rdHJlZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTdkOCIsIk0xNiAxNzMuNGwxMjUuOCAwLTg5LjQtODUuNCA0OS41LTUxIDg1LjIgODcuOCAwLTEyNC44IDczLjkgMCAwIDEyNC44IDg1LjItODcuNiA0OS40IDUwLjgtODkuNCA4NS4yIDEyNS43IDAgMCA3MC41LTEyNi40IDAgOTAgODcuNi00OS4zIDQ5LjgtMTIyLjItMTIzLTEyMi4yIDEyMy00OS41LTQ5LjYgOTAtODcuNi0xMjYuNCAwIDAtNzAuNXpNMTg2LjkgMzQ0LjhsNzMuOSAwIDAgMTY3LjItNzMuOSAwIDAtMTY3LjJ6Il19LEVndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzaW1wbHlidWlsdCIsaWNvbjpbNTEyLDUxMixbXSwiZjIxNSIsIk00ODEuNiA2NGwtMTA2IDBDMzYxLjEgNjQgMzQ5IDc1LjggMzQ5IDkwLjNsMCAzOS42LTE4NS4zIDAgMC0zOS42YzAtMTQuNS0xMi0yNi4zLTI2LjYtMjYuM2wtMTA2IDBDMTYuNSA2NCA0LjcgNzUuOCA0LjcgOTAuM2wwIDMzMS40YzAgMTQuNSAxMS44IDI2LjMgMjYuNiAyNi4zbDQ1MC40IDBjMTQuOCAwIDI2LjYtMTEuOCAyNi42LTI2LjNsMC0zMzEuNGMtLjItMTQuNS0xMi0yNi4zLTI2LjctMjYuM3pNMTUwLjUgMjIyLjdhNjYuNSA2Ni41IDAgMSAxIC0uMyAxMzMuMSA2Ni41IDY2LjUgMCAxIDEgLjMtMTMzLjF6bTIxMS45IC4xYTY2LjUgNjYuNSAwIDEgMSAuMyAxMzIuOSA2Ni41IDY2LjUgMCAxIDEgLS4zLTEzMi45eiJdfSxQZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3R1YmJlciIsaWNvbjpbNDQ4LDUxMixbXSwiZTVjNyIsIk0xMzYuNSAyOTQuMmw1OC44IDIyLjljOS4xLTM2LjggMjUuNC02MS4xIDU1LTYxLjEgNDkuNCAwIDcxLjQgNjMuNiAxNDIuNCA2My42IDE1LjYgMCAzNS45LTIuOCA1NS4zLTEzLjNsMCA2MS43YzAgNjEuOC01MC40IDExMi0xMTIuMyAxMTJMMCA0ODAgNDEuOCA0MjQgMCAzNjggNDEuNyAzMTIgMCAyNTYuMSA0MS44IDIwMC4xIDAgMTQ0LjEgNDEuOCA4OCAwIDMyIDMzNS43IDMyQzM5Ny42IDMyIDQ0OCA4Mi4zIDQ0OCAxNDQuMWwwIDUxLjNjLTkuMiAzNi4zLTI1LjkgNjAuNi01NSA2MC42LTQ5LjYgMC03MS42LTYzLjUtMTQyLjQtNjMuNS0zNS45IDAtOTUuMiAxNC42LTExNC4xIDEwMS42bDAgLjF6Il19LElndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhcHBlciIsaWNvbjpbNjQwLDUxMixbXSwiZjM3MSIsIk00Mi4xIDIzOS4xYzIyLjIgMCAyOSAyLjggMzMuNSAxNC42bC44IDAgMC0yMi45YzAtMTEuMy00LjgtMTUuNC0xNy45LTE1LjQtMTEuMyAwLTE0LjQgMi41LTE1LjEgMTIuOGwtMzguNiAwYy4zLTEzLjkgMS41LTE5LjEgNS44LTI0LjQgNy4zLTguOCAxOC45LTExLjggNDYuMS0xMS44IDMzIDAgNDcuMSA1IDUzLjkgMTguOSAyIDQuMyA0IDE1LjYgNCAyMy43bDAgNzYuMy0zOC4zIDAgMS4zLTE5LjEtMSAwYy01LjMgMTUuNi0xMy42IDIwLjQtMzUuNSAyMC40LTMwLjMgMC00MS4xLTEwLjEtNDEuMS0zNy4zIDAtMjUuMiAxMi4zLTM1LjggNDIuMS0zNS44em0xNy4xIDQ4LjFjMTMuMSAwIDE2LjktMyAxNi45LTEzLjQgMC05LjEtNC4zLTExLjYtMTkuNi0xMS42LTEzLjEgMC0xNy45IDMtMTcuOSAxMi4xLS4xIDEwLjQgMy43IDEyLjkgMjAuNiAxMi45ek0xMzcgMTkyLjNsMzguMyAwLTEuNSAyMC42IC44IDBjOS4xLTE3LjEgMTUuOS0yMC45IDM3LjUtMjAuOSAxNC40IDAgMjQuNyAzIDMxLjUgOS4xIDkuOCA4LjYgMTIuOCAyMC40IDEyLjggNDguMSAwIDMwLTMgNDMuMS0xMi4xIDUyLjktNi44IDcuMy0xNi40IDEwLjEtMzMuMiAxMC4xLTIwLjQgMC0yOS4yLTUuNS0zMy44LTIxLjJsLS44IDAgMCA3MC4zLTM5LjUgMCAwLTE2OXpNMjE3LjkgMjUzYzAtMjcuNS0zLjMtMzIuNS0yMC43LTMyLjUtMTYuOSAwLTIwLjcgNS0yMC43IDI4LjcgMCAyOCAzLjUgMzMuNSAyMS4yIDMzLjUgMTYuNCAwIDIwLjItNS42IDIwLjItMjkuN3ptNTcuOS02MC43bDM4LjMgMC0xLjUgMjAuNiAuOCAwYzkuMS0xNy4xIDE1LjktMjAuOSAzNy41LTIwLjkgMTQuNCAwIDI0LjcgMyAzMS41IDkuMSA5LjggOC42IDEyLjggMjAuNCAxMi44IDQ4LjEgMCAzMC0zIDQzLjEtMTIuMSA1Mi45LTYuOCA3LjMtMTYuNCAxMC4xLTMzLjMgMTAuMS0yMC40IDAtMjkuMi01LjUtMzMuOC0yMS4ybC0uOCAwIDAgNzAuMy0zOS41IDAgMC0xNjkgLjEgMHpNMzU2LjcgMjUzYzAtMjcuNS0zLjMtMzIuNS0yMC43LTMyLjUtMTYuOSAwLTIwLjcgNS0yMC43IDI4LjcgMCAyOCAzLjUgMzMuNSAyMS4yIDMzLjUgMTYuNCAwIDIwLjItNS42IDIwLjItMjkuN3ptNTMuOC0zLjhjMC0yNS40IDMuMy0zNy44IDEyLjMtNDUuOCA4LjgtOC4xIDIyLjItMTEuMyA0NS4xLTExLjMgNDIuOCAwIDU1LjcgMTIuOCA1NS43IDU1LjdsMCAxMS4xLTc1LjMgMGMtLjMgMi0uMyA0LS4zIDQuOCAwIDE2LjkgNC41IDIxLjkgMjAuMSAyMS45IDEzLjkgMCAxNy45LTMgMTcuOS0xMy45bDM3LjUgMCAwIDIuM2MwIDkuOC0yLjUgMTguOS02LjggMjQuNy03LjMgOS44LTE5LjYgMTMuNi00NC4zIDEzLjYtMjcuNSAwLTQxLjYtMy4zLTUwLjYtMTIuMy04LjUtOC41LTExLjMtMjEuMy0xMS4zLTUwLjh6bTc2LjQtMTEuNmMtLjMtMS44LS4zLTMuMy0uMy0zLjggMC0xMi4zLTMuMy0xNC42LTE5LjYtMTQuNi0xNC40IDAtMTcuMSAzLTE4LjEgMTUuMWwtLjMgMy4zIDM4LjMgMHptNTUuNi00NS4zbDM4LjMgMC0xLjggMTkuOSAuNyAwYzYuOC0xNC45IDE0LjQtMjAuMiAyOS43LTIwLjIgMTAuOCAwIDE5LjEgMy4zIDIzLjQgOS4zIDUuMyA3LjMgNi44IDE0LjQgNi44IDM0IDAgMS41IDAgNSAuMiA5LjNsLTM1IDBjLjMtMS44IC4zLTMuMyAuMy00IDAtMTUuNC0yLTE5LjQtMTAuMy0xOS40LTYuMyAwLTEwLjggMy4zLTEzLjEgOS4zLTEgMy0xIDQuMy0xIDEyLjNsMCA2OC0zOC4zIDAgMC0xMTguNSAuMSAweiJdfSxOZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29vZ2xlLXNjaG9sYXIiLGljb246WzUxMiw1MTIsW10sImU2M2IiLCJNMzkwLjkgMjk4LjVzMCAuMSAuMSAuMWM5LjIgMTkuNCAxNC40IDQxLjEgMTQuNCA2NC0uMSA4Mi41LTY2LjkgMTQ5LjQtMTQ5LjQgMTQ5LjRTMTA2LjcgNDQ1LjEgMTA2LjcgMzYyLjdjMC0yMi45IDUuMi00NC42IDE0LjQtNjQgMS43LTMuNiAzLjYtNy4yIDUuNi0xMC43IDQuNC03LjYgOS40LTE0LjcgMTUtMjEuMyAyNy40LTMyLjYgNjguNS01My4zIDExNC40LTUzLjMgMzMuNiAwIDY0LjYgMTEuMSA4OS42IDI5LjkgOS4xIDYuOSAxNy40IDE0LjcgMjQuOCAyMy41IDUuNiA2LjYgMTAuNiAxMy44IDE1IDIxLjMgMiAzLjQgMy44IDcgNS41IDEwLjVsLS4xLS4xem0yNi40LTE4LjhjLTMwLjEtNTguNC05MS05OC40LTE2MS4zLTk4LjRzLTEzMS4yIDQwLTE2MS4zIDk4LjRsLTk0LjctNzcgMjU2LTIwMi43IDI1NiAyMDIuNy05NC43IDc3LjEgMC0uMXoiXX0sUmd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Inlhcm4iLGljb246WzUxMiw1MTIsW10sImY3ZTMiLCJNNDAxLjkgMzQ1LjJjLTM5IDkuMy00OC40IDMyLjEtMTA0IDQ3LjQgMCAwLTIuNyA0LTEwLjQgNS44LTEzLjQgMy4zLTYzLjkgNi02OC41IDYuMS0xMi40IC4xLTE5LjktMy4yLTIyLTguMi02LjQtMTUuMyA5LjItMjIgOS4yLTIyLTguMS01LTktOS45LTkuOC04LjEtMi40IDUuOC0zLjYgMjAuMS0xMC4xIDI2LjUtOC44IDguOS0yNS41IDUuOS0zNS4zIC44LTEwLjgtNS43IC44LTE5LjIgLjgtMTkuMnMtNS44IDMuNC0xMC41LTMuNmMtNi05LjMtMTcuMS0zNy4zIDExLjUtNjItMS4zLTEwLjEtNC42LTUzLjcgNDAuNi04NS42IDAgMC0yMC42LTIyLjgtMTIuOS00My4zIDUtMTMuNCA3LTEzLjMgOC42LTEzLjkgNS43LTIuMiAxMS4zLTQuNiAxNS40LTkuMSAyMC42LTIyLjIgNDYuOC0xOCA0Ni44LTE4czEyLjQtMzcuOCAyMy45LTMwLjRjMy41IDIuMyAxNi4zIDMwLjYgMTYuMyAzMC42czEzLjYtNy45IDE1LjEtNWM4LjIgMTYgOS4yIDQ2LjUgNS42IDY1LjEtNi4xIDMwLjYtMjEuNCA0Ny4xLTI3LjYgNTcuNS0xLjQgMi40IDE2LjUgMTAgMjcuOCA0MS4zIDEwLjQgMjguNiAxLjEgNTIuNyAyLjggNTUuMyAuOCAxLjQgMTMuNyAuOCAzNi40LTEzLjIgMTIuOC03LjkgMjguMS0xNi45IDQ1LjQtMTcgMTYuNy0uNSAxNy42IDE5LjIgNC45IDIyLjJ6TTggMjU2YTI0OCAyNDggMCAxIDEgNDk2IDAgMjQ4IDI0OCAwIDEgMSAtNDk2IDB6bTQxNi43IDc1LjJjLTEuNy0xMy42LTEzLjItMjMtMjgtMjIuOC0yMiAuMy00MC41IDExLjctNTIuOCAxOS4yLTQuOCAzLTguOSA1LjItMTIuNCA2LjggMy4xLTQ0LjUtMjIuNS03My4xLTI4LjctNzkuNCA3LjgtMTEuMyAxOC40LTI3LjggMjMuNC01My4yIDQuMy0yMS43IDMtNTUuNS02LjktNzQuNS0xLjYtMy4xLTcuNC0xMS4yLTIxLTcuNC05LjctMjAtMTMtMjIuMS0xNS42LTIzLjgtMS4xLS43LTIzLjYtMTYuNC00MS40IDI4LTEyLjIgLjktMzEuMyA1LjMtNDcuNSAyMi44LTIgMi4yLTUuOSAzLjgtMTAuMSA1LjRsLjEgMGMtOC40IDMtMTIuMyA5LjktMTYuOSAyMi4zLTYuNSAxNy40IC4yIDM0LjYgNi44IDQ1LjctMTcuOCAxNS45LTM3IDM5LjgtMzUuNyA4Mi41LTM0IDM2LTExLjggNzMtNS42IDc5LjYtMS42IDExLjEgMy43IDE5LjQgMTIgMjMuOCAxMi42IDYuNyAzMC4zIDkuNiA0My45IDIuOCA0LjkgNS4yIDEzLjggMTAuMSAzMCAxMC4xIDYuOCAwIDU4LTIuOSA3Mi42LTYuNSA2LjgtMS42IDExLjUtNC41IDE0LjYtNy4xIDkuOC0zLjEgMzYuOC0xMi4zIDYyLjItMjguNyAxOC0xMS43IDI0LjItMTQuMiAzNy42LTE3LjQgMTIuOS0zLjIgMjEtMTUuMSAxOS40LTI4LjJ6Il19LE9ndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdGFjay1vdmVyZmxvdyIsaWNvbjpbMzg0LDUxMixbXSwiZjE2YyIsIk0yOTEgMzExbC0xOTUuNy00MS4zLTguMiAzOS4zIDE5NS43IDQxIDguMi0zOXptNTEtODdMMTg4LjUgOTUuNyAxNjMgMTI2LjUgMzE2LjUgMjU0LjggMzQyIDIyNHptLTMxLjIgMzkuN0wxMjkuNSAxNzkgMTEyLjggMjE1LjUgMjk0IDMwMCAzMTAuOCAyNjMuN3pNMjYyLjMgMzJsLTMyIDI0IDExOS4zIDE2MC4zIDMyLTI0LTExOS4zLTE2MC4zem0yMC41IDMyOGwtMjAwIDAgMCAzOS43IDIwMCAwIDAtMzkuN3ptMzkuNyA4MGwtMjc5LjUgMCAwLTEyMC00MCAwIDAgMTYwIDM1OS41IDAgMC0xNjAtNDAgMCAwIDEyMHoiXX0sRmd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJsdWV0b290aCIsaWNvbjpbMzg0LDUxMixbXSwiZjI5MyIsIk0yNjAuNiAxNzEuMWwtNDIuOSA0Mi45LS4zLTg2IDQzLjIgNDMuMXpNMjE3LjQgMzkwLjlsNDMuMS00My4xLTQyLjktNDIuOS0uMiA4NnpNMzg0IDI1OS40QzM4NCA0NjUgMzEyLjEgNTEyIDE5OC45IDUxMlMwIDQ2NSAwIDI1OS40IDgzLjQgMCAxOTYuNiAwIDM4NCA1My45IDM4NCAyNTkuNHptLTE1OC41IDBsNzkuNC04OC42LTEyNS4xLTEzNC4zIDAgMTc2LjktNzMuOC03My44LTI3IDI2LjkgOTIuNyA5My05Mi43IDkzIDI2LjkgMjYuOSA3My44LTczLjggMi4zIDE3MCAxMjcuNC0xMjcuNS04My45LTg4Ljd6Il19LEJndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLW5jLWpwIixpY29uOls1MTIsNTEyLFtdLCJmNGVhIiwiTTI1NS43IDhDMTExLjYgOCA4IDEyNC44IDggMjU2IDggMzkyLjQgMTE5LjggNTA0IDI1NS43IDUwNCAzODUuOSA1MDQgNTA0IDQwMy4yIDUwNCAyNTYgNTA0IDExNy4yIDM5Ni41IDggMjU1LjcgOHptLjYgNDUwLjdjLTExMiAwLTIwMy42LTkyLjUtMjAzLjYtMjAyLjcgMC0yMS4xIDMtNDEuMiA5LTYwLjNsMTI3IDU2LjUtMjcuOSAwIDAgMzguNiA1OC4xIDAgNS43IDExLjggMCAxOC43LTYzLjggMCAwIDM4LjcgNjMuOCAwIDAgNTYgNjEuNyAwIDAtNTYgNjQuMiAwIDAtMzUuNyA4MSAzNi4xYy0xLjUgMi4yLTU3LjEgOTguMy0xNzUuMiA5OC4zem04Ny42LTEzNy4zbC01Ny42IDAgMC0xOC43IDIuOS01LjYgNTQuNyAyNC4zem02LjUtNTEuNGwwLTE3LjgtMzguNiAwIDYzLTExNi02NS44IDAtNDMuNCA5Ni0yMy0xMC4yLTM5LjYtODUuNy02NS44IDAgMjcuMyA1MS04MS45LTM2LjVjMjcuOC00NC4xIDgyLjYtOTguMSAxNzMuNy05OC4xIDExMi44IDAgMjAzIDkwIDIwMyAyMDMuNCAwIDIxLTIuNyA0MC42LTcuOSA1OUwzNTAuNCAyNzB6Il19LEhndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZWRkaXQiLGljb246WzUxMiw1MTIsW10sImYxYTEiLCJNMCAyNTZDMCAxMTQuNiAxMTQuNiAwIDI1NiAwUzUxMiAxMTQuNiA1MTIgMjU2IDM5Ny40IDUxMiAyNTYgNTEyTDM3LjEgNTEyYy0xMy43IDAtMjAuNS0xNi41LTEwLjktMjYuMkw3NSA0MzdDMjguNyAzOTAuNyAwIDMyNi43IDAgMjU2ek0zNDkuNiAxNTMuNmMyMy42IDAgNDIuNy0xOS4xIDQyLjctNDIuN3MtMTkuMS00Mi43LTQyLjctNDIuN2MtMjAuNiAwLTM3LjggMTQuNi00MS44IDM0LTM0LjUgMy43LTYxLjQgMzMtNjEuNCA2OC40bDAgLjJjLTM3LjUgMS42LTcxLjggMTIuMy05OSAyOS4xLTEwLjEtNy44LTIyLjgtMTIuNS0zNi41LTEyLjUtMzMgMC01OS44IDI2LjgtNTkuOCA1OS44IDAgMjQgMTQuMSA0NC42IDM0LjQgNTQuMSAyIDY5LjQgNzcuNiAxMjUuMiAxNzAuNiAxMjUuMnMxNjguNy01NS45IDE3MC42LTEyNS4zYzIwLjItOS42IDM0LjEtMzAuMiAzNC4xLTU0IDAtMzMtMjYuOC01OS44LTU5LjgtNTkuOC0xMy43IDAtMjYuMyA0LjYtMzYuNCAxMi40LTI3LjQtMTctNjIuMS0yNy43LTEwMC0yOS4xbDAtLjJjMC0yNS40IDE4LjktNDYuNSA0My40LTQ5LjkgNC40IDE4LjggMjEuMyAzMi44IDQxLjUgMzIuOGwuMSAuMnpNMTc3LjEgMjQ2LjljMTYuNyAwIDI5LjUgMTcuNiAyOC41IDM5LjNzLTEzLjUgMjkuNi0zMC4zIDI5LjYtMzEuNC04LjgtMzAuNC0zMC41IDE1LjQtMzguMyAzMi4xLTM4LjNsLjEtLjF6bTE5MC4xIDM4LjNjMSAyMS43LTEzLjcgMzAuNS0zMC40IDMwLjVzLTI5LjMtNy45LTMwLjMtMjkuNiAxMS44LTM5LjMgMjguNS0zOS4zIDMxLjIgMTYuNiAzMi4xIDM4LjNsLjEgLjF6bS00OC4xIDU2LjdjLTEwLjMgMjQuNi0zNC42IDQxLjktNjMgNDEuOXMtNTIuNy0xNy4zLTYzLTQxLjljLTEuMi0yLjkgLjgtNi4yIDMuOS02LjUgMTguNC0xLjkgMzguMy0yLjkgNTkuMS0yLjlzNDAuNyAxIDU5LjEgMi45YzMuMSAuMyA1LjEgMy42IDMuOSA2LjV6Il19LHFndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjb25uZWN0ZGV2ZWxvcCIsaWNvbjpbNTc2LDUxMixbXSwiZjIwZSIsIk01NTAuOCAyNDFsLTUwLjEtODYuOGMxLjEtMi4xIDEuOS00LjYgMS45LTcuMiAwLTgtNi43LTE0LjctMTQuNy0xNUw0MzIuNCAzNi4xYy41LTEuNiAxLjEtMy4yIDEuMS00LjggMC04LjYtNy0xNS4zLTE1LjMtMTUuMy00LjggMC04LjggMi4xLTExLjggNS42bC0xMDYuNiAwYy0yLjctMy41LTYuNy01LjYtMTEuNS01LjZzLTguOCAyLjEtMTEuNSA1LjZsLTEwNi4xIDBjLTIuOS0zLjUtNy01LjYtMTEuOC01LjYtOC4zIDAtMTUuMyA2LjctMTUuMyAxNS4zIDAgMS42IC41IDMuNSAxLjEgNC44bC01NiA5Ny4yYy01LjQgMi40LTkuMSA3LjUtOS4xIDEzLjcgMCAuNSAuMyAxLjEgLjMgMS42TDI2LjYgMjQwLjdjLTcuMiAxLjMtMTIuNiA3LjUtMTIuNiAxNSAwIDcuMiA1LjEgMTMuNCAxMi4xIDE1bDU1LjIgOTUuNGMtLjUgMS42LS44IDIuOS0uOCA0LjggMCA3LjIgNS4xIDEzLjQgMTIuMSAxNC43bDUxLjcgODkuN2MtLjUgMS42LTEuMSAzLjUtMS4xIDUuNCAwIDguNiA3IDE1LjMgMTUuMyAxNS4zIDQuOCAwIDguOC0yLjEgMTEuNS01LjRsMTA2LjkgMGMyLjcgMy4yIDcgNS40IDExLjUgNS40czguOC0yLjEgMTEuNS01LjRsMTA3LjEgMGMyLjcgMi45IDYuNyA0LjggMTEgNC44IDguNiAwIDE1LjMtNyAxNS4zLTE1LjMgMC0xLjYtLjMtMi45LS44LTQuM2w1MS43LTkwLjNjNy0xLjMgMTIuMS03LjUgMTIuMS0xNC43IDAtMS42LS4zLTMuMi0uOC00LjhsNTQuOS05NS40YzctMS4zIDEyLjMtNy41IDEyLjMtMTUgMC03LjItNS4xLTEzLjQtMTEuOC0xNC43em0tMzk3IDIwOS43bC00My43LTc1LjggNDMuNyAwIDAgNzUuOHptMC04My44bC00My43IDBjLS4zLTEuMS0uOC0yLjEtMS4zLTMuMmw0NS00Ny40IDAgNTAuNnptMC02Mi40bC01MC40IDUzLjNjLTEuMy0uNS0yLjctMS4zLTQtMS42TDQzLjcgMjU5LjhjLjUtMS4zIC41LTIuNyAuNS00czAtMi40LS4zLTMuNWw1Mi05MGMyLjctLjMgNS40LTEuMSA3LjgtMi43bDUwLjEgNTIgMCA5Mi45em0wLTEwMi4zTDEwOCAxNTQuOGMxLjMtMi4xIDIuMS00LjggMi4xLTcuOCAwLS4zLS4zLS44LS4zLTEuMWw0My45LTE1LjggMCA3Mi4xem0wLTgwLjZsLTQzLjcgMTUuOCA0My43LTc1LjUgMCA1OS43em0zMjYuNSAzOS4xbC44IDEuMy0zNS40IDE2Ny4xLTYzLjgtNjcuMiA5OC0xMDEuNSAuMyAuM3pNMjkyLjEgMzU1LjFsMTEuNSAxMS44LTIyLjggMCAxMS4zLTExLjh6bS0uMy0xMS4zbC04My4zLTg1LjQgNzkuNi04NC40IDgzIDg3LjYtNzkuMyA4Mi4yem01LjQgNS45bDc5LjMtODIuMiA2Ny41IDcxLjMtNS45IDI4LjEtMTI0IDAtMTYuOS0xNy4xek00MTAuNyA0NC40YzEuMSAuNSAyLjEgMS4xIDMuNSAxLjNsNTcuOSAxMDAuNyAwIC41YzAgMi45IC44IDUuNiAyLjEgNy44bC05Ny41IDEwMS4yLTgzLTg3LjYgMTE3LjEtMTI0em0tOS4xLTIuMWwtMTEzLjYgMTIwLjMtNTcuMS02MC4zIDE2Ni4zLTYwIDQuMyAwem0tMTIzLjUgMGMyLjcgMi43IDYuMiA0LjMgMTAuMiA0LjNzNy41LTEuNiAxMC4yLTQuM2w3NSAwLTE0OC40IDUzLjYtNTAuOS01My42IDEwMy45IDB6TTE2MS45IDQ3LjlsMS4xLTIuMWMuOS0uMiAxLjgtLjUgMi43LS44bDUxLjIgNTMuOC01NC45IDE5LjggMC03MC43em0wIDc5LjNsNjAuOC0yMiA1OS43IDYzLjItNzkuNiA4NC4xLTQxLTQyLjEgMC04My4zem0wIDkyLjdsMzYuNCAzNy44LTM2LjQgMzguMyAwLTc2LjF6bTAgODcuOWw0Mi4xLTQ0LjUgODIuOCA4Ni0xNy4xIDE3LjctMTA3LjcgMCAwLTU5LjJ6bTcgMTYyLjFjLTEuNi0xLjYtMy41LTIuNy01LjktMy41bC0xLjEtMS42IDAtODkuNyA5OS45IDAtOTEuNiA5NC44LTEuMyAwem0xMjkuOSAwYy0yLjctMi40LTYuNC00LjMtMTAuNC00LjNzLTcuOCAxLjktMTAuNCA0LjNsLTk2LjQgMCA5MS42LTk0LjggMzguMyAwIDkxLjYgOTQuOC0xMDQuMiAwem0xMjAtMTEuOGwtNC4zIDcuNWMtMS4zIC4zLTIuNCAuOC0zLjUgMS4zbC04OS4yLTkxLjkgMTE0LjQgMC0xNy40IDgzem0xMi45LTIyLjJsMTIuOS02MC44IDIyIDAtMzQuOCA2MC44em0zNC44LTY4LjhsLTIwLjQgMCA0LjYtMjEuMiAxNy4xIDE4LjJjLS41IC44LTEuMSAxLjktMS4zIDIuOXptNjYuMi0xMDcuNGwtNTUuNCA5Ni43Yy0xLjMgLjUtMi43IDEuMS00IDEuOWwtMjAuNi0yMiAzNC42LTE2My45IDQ1LjggNzkuM2MtLjMgMS4zLS44IDIuNy0uOCA0LjMgMCAxLjMgLjMgMi40IC41IDMuN3oiXX0sVmd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlc2VhcmNoZ2F0ZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjRmOCIsIk0wIDMybDAgNDQ4IDQ0OCAwIDAtNDQ4LTQ0OCAwek0yNjIuMiAzNjYuNGMtNi42IDMtMzMuMiA2LTUwLTE0LjItOS4yLTEwLjYtMjUuMy0zMy4zLTQyLjItNjMuNi04LjkgMC0xNC43IDAtMjEuNC0uNmwwIDQ2LjRjMCAyMy41IDYgMjEuMiAyNS44IDIzLjlsMCA4LjFjLTYuOS0uMy0yMy4xLS44LTM1LjYtLjgtMTMuMSAwLTI2LjEgLjYtMzMuNiAuOGwwLTguMWMxNS41LTIuOSAyMi0xLjMgMjItMjMuOWwwLTEwOS40YzAtMjIuNi02LjQtMjEtMjItMjMuOWwwLTguMWMyNS44IDEgNTMuMS0uNiA3MC45LS42IDMxLjcgMCA1NS45IDE0LjQgNTUuOSA0NS42IDAgMjEuMS0xNi43IDQyLjItMzkuMiA0Ny41IDEzLjYgMjQuMiAzMCA0NS42IDQyLjIgNTguOSA3LjIgNy44IDE3LjIgMTQuNyAyNy4yIDE0LjdsMCA3LjN6bTIyLjktMTM1Yy0yMy4zIDAtMzIuMi0xNS43LTMyLjItMzIuMmwwLTMyLjJjMC0xMi4yIDguOC0zMC40IDM0LTMwLjRzMzAuNCAxNy45IDMwLjQgMTcuOWwtMTAuNyA3LjJzLTUuNS0xMi41LTE5LjctMTIuNWMtNy45IDAtMTkuNyA3LjMtMTkuNyAxOS43bDAgMjYuOGMwIDEzLjQgNi42IDIzLjMgMTcuOSAyMy4zIDE0LjEgMCAyMS41LTEwLjkgMjEuNS0yNi44bC0xNy45IDAgMC0xMC43IDMwLjQgMGMwIDIwLjUgNC43IDQ5LjktMzQgNDkuOXpNMTY4LjYgMjc2LjFjLTkuNCAwLTEzLjYtLjMtMjAtLjhsMC02OS43YzYuNC0uNiAxNS0uNiAyMi41LS42IDIzLjMgMCAzNy4yIDEyLjIgMzcuMiAzNC41IDAgMjEuOS0xNSAzNi42LTM5LjcgMzYuNnoiXX0samd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNpZ25hbC1tZXNzZW5nZXIiLGljb246WzUxMiw1MTIsW10sImU2NjMiLCJNMjU2IDBjLTEzLjMgMC0yNi4zIDEtMzkuMSAzbDMuNyAyMy43QzIzMi4xIDI0LjkgMjQ0IDI0IDI1NiAyNHMyMy45IC45IDM1LjQgMi43TDI5NS4xIDNDMjgyLjMgMSAyNjkuMyAwIDI1NiAwem02MC44IDcuM2wtNS43IDIzLjNjMjMuNCA1LjcgNDUuNCAxNC45IDY1LjQgMjcuMWwxMi41LTIwLjVjLTIyLjEtMTMuNC00Ni40LTIzLjYtNzIuMi0yOS45em03Ni40IDYxLjZjMTkuMSAxNCAzNiAzMC45IDUwLjEgNTAuMWwxOS40LTE0LjJDNDQ3IDgzLjYgNDI4LjQgNjUgNDA3LjMgNDkuNUwzOTMuMSA2OC44em04MS43IDU0LjJsLTIwLjUgMTIuNWMxMi4yIDIwIDIxLjQgNDIgMjcuMSA2NS40bDIzLjMtNS43Yy02LjMtMjUuOC0xNi41LTUwLjEtMjkuOS03Mi4yem0xMC41IDk3LjVjMS44IDExLjUgMi43IDIzLjQgMi43IDM1LjRzLS45IDIzLjktMi43IDM1LjRsMjMuNyAzLjdjMS45LTEyLjcgMy0yNS44IDMtMzkuMXMtMS0yNi4zLTMtMzkuMWwtMjMuNyAzLjd6bS0zMSAxNTUuOWwyMC41IDEyLjVjMTMuNC0yMi4xIDIzLjYtNDYuNCAyOS45LTcyLjJsLTIzLjMtNS43Yy01LjcgMjMuNC0xNC45IDQ1LjQtMjcuMSA2NS40em04LjIgMzAuOGwtMTkuNC0xNC4yYy0xNCAxOS4xLTMwLjkgMzYtNTAuMSA1MC4xbDE0LjIgMTkuNGMyMS4xLTE1LjUgMzkuOC0zNC4xIDU1LjItNTUuMnptLTg2LjEgNDdjLTIwIDEyLjItNDIgMjEuNC02NS40IDI3LjFsNS43IDIzLjNjMjUuOC02LjMgNTAuMS0xNi41IDcyLjItMjkuOWwtMTIuNS0yMC41ek0yOTUuMSA1MDlsLTMuNy0yMy43QzI3OS45IDQ4Ny4xIDI2OCA0ODggMjU2IDQ4OHMtMjMuOS0uOS0zNS40LTIuN0wyMTYuOSA1MDljMTIuNyAxLjkgMjUuOCAzIDM5LjEgM3MyNi4zLTEgMzkuMS0zem0tOTQuMS0yNy42Yy0xNy42LTQuMy0zNC40LTEwLjYtNTAuMS0xOC42bC03LjgtNC0zMi44IDcuNyA1LjUgMjMuNCAyNC4zLTUuN2MxNy40IDguOSAzNS45IDE1LjggNTUuMyAyMC41bDUuNy0yMy4zek05NS40IDQ5NC42TDkwIDQ3MS4zIDQ4LjMgNDgxYy0xMC40IDIuNC0xOS43LTYuOS0xNy4zLTE3LjNsOS43LTQxLjYtMjMuNC01LjUtOS43IDQxLjZDMS4yIDQ4NiAyNiA1MTAuOCA1My44IDUwNC40bDQxLjYtOS43em0tNTAtOTIuOWw3LjctMzIuOC00LTcuOGMtOC0xNS43LTE0LjMtMzIuNS0xOC42LTUwLjFMNy4zIDMxNi43QzEyIDMzNi4xIDE4LjkgMzU0LjcgMjcuNyAzNzJsLTUuNyAyNC4zIDIzLjQgNS41ek0zIDI5NS4xbDIzLjctMy43QzI0LjkgMjc5LjkgMjQgMjY4IDI0IDI1NnMuOS0yMy45IDIuNy0zNS40TDMgMjE2LjlDMSAyMjkuNyAwIDI0Mi43IDAgMjU2czEgMjYuMyAzIDM5LjF6bTI3LjYtOTQuMWM1LjctMjMuNCAxNC45LTQ1LjQgMjcuMS02NS40TDM3LjIgMTIzLjFjLTEzLjQgMjIuMS0yMy42IDQ2LjQtMjkuOSA3Mi4ybDIzLjMgNS43em0xOC45LTk2LjJsMTkuNCAxNC4yYzE0LTE5LjEgMzAuOS0zNiA1MC4xLTUwLjFMMTA0LjcgNDkuNUM4My42IDY1IDY1IDgzLjYgNDkuNSAxMDQuN3ptODYuMS00N2MyMC0xMi4yIDQyLTIxLjQgNjUuNC0yNy4xTDE5NS4yIDcuM2MtMjUuOCA2LjMtNTAuMSAxNi41LTcyLjIgMjkuOWwxMi41IDIwLjV6TTI1NiA0NjRjMTE0LjkgMCAyMDgtOTMuMSAyMDgtMjA4UzM3MC45IDQ4IDI1NiA0OCA0OCAxNDEuMSA0OCAyNTZjMCAzNi40IDkuNCA3MC43IDI1LjggMTAwLjUgMS42IDIuOSAyLjEgNi4yIDEuNCA5LjRsLTIxLjYgOTIuNSA5Mi41LTIxLjZjMy4yLS43IDYuNS0uMiA5LjQgMS40IDI5LjggMTYuNSA2NCAyNS44IDEwMC41IDI1Ljh6Il19LFVndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ4aW5nIixpY29uOlszODQsNTEyLFtdLCJmMTY4IiwiTTE2Mi43IDIxMGMtMS44IDMuMy0yNS4yIDQ0LjQtNzAuMSAxMjMuNS00LjkgOC4zLTEwLjggMTIuNS0xNy43IDEyLjVMOS44IDM0NmMtNy43IDAtMTIuMS03LjUtOC41LTE0LjRsNjktMTIxLjNjLjIgMCAuMi0uMSAwLS4zTDI2LjQgMTM0LjRjLTQuMy03LjggLjMtMTQuMSA4LjUtMTQuMWw2NS4xIDBjNy4zIDAgMTMuMyA0LjEgMTggMTIuMkwxNjIuNyAyMTB6TTM4Mi42IDQ2LjFsLTE0NCAyNTMgMCAuMyA5MS42IDE2Ni42YzMuOSA3LjEgLjIgMTQuMS04LjUgMTQuMWwtNjUuMiAwYy03LjYgMC0xMy42LTQtMTgtMTIuMkwxNDYuMSAyOTkuNGMzLjMtNS44IDUxLjUtOTAuOCAxNDQuOC0yNTUuMiA0LjYtOC4xIDEwLjQtMTIuMiAxNy41LTEyLjJsNjUuNyAwYzggMCAxMi4zIDYuNyA4LjUgMTQuMXoiXX0sVHVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1qcyIsaWNvbjpbNDQ4LDUxMixbImpzLXNxdWFyZSJdLCJmM2I5IiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0xODAuOSA0NDQuOWMtMzMuNyAwLTUzLjItMTcuNC02My4yLTM4LjVMMTUyIDM4NS43YzYuNiAxMS43IDEyLjYgMjEuNiAyNy4xIDIxLjYgMTMuOCAwIDIyLjYtNS40IDIyLjYtMjYuNWwwLTE0My4xIDQyLjEgMCAwIDE0My43YzAgNDMuNi0yNS42IDYzLjUtNjIuOSA2My41em04NS44LTQzTDMwMSAzODIuMWM5IDE0LjcgMjAuOCAyNS42IDQxLjUgMjUuNiAxNy40IDAgMjguNi04LjcgMjguNi0yMC44IDAtMTQuNC0xMS40LTE5LjUtMzAuNy0yOGwtMTAuNS00LjVjLTMwLjQtMTIuOS01MC41LTI5LjItNTAuNS02My41IDAtMzEuNiAyNC4xLTU1LjYgNjEuNi01NS42IDI2LjggMCA0NiA5LjMgNTkuOCAzMy43TDM2OCAyOTBjLTcuMi0xMi45LTE1LTE4LTI3LjEtMTgtMTIuMyAwLTIwLjEgNy44LTIwLjEgMTggMCAxMi42IDcuOCAxNy43IDI1LjkgMjUuNmwxMC41IDQuNWMzNS44IDE1LjMgNTUuOSAzMSA1NS45IDY2LjIgMCAzNy44LTI5LjggNTguNi02OS43IDU4LjYtMzkuMSAwLTY0LjQtMTguNi03Ni43LTQzeiJdfSxXZ3Q9VHVlLEdndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmb250aWNvbnMiLGljb246WzQ0OCw1MTIsW10sImYyODAiLCJNMCAzMmwwIDQ0OCA0NDggMCAwLTQ0OC00NDggMHpNMTg3IDE3Mi45Yy0xOC40IDAtMTkgOS45LTE5IDI3LjRsMCAyMy4zYzAgMi40LTMuNSA0LjQtLjYgNC40bDY3LjQgMC0xMS4xIDM3LjMtNTUuNyAwIDAgMTEyLjljMCA1LjgtMiA2LjcgMy4yIDcuM2w0My41IDQuMSAwIDI1LjEtMTMwLjcgMCAwLTI1LjcgMjEuMy0yYzUuMi0uNiA2LjctMi4zIDYuNy03LjlsMC0xMTEuNGMwLTIuMy0yLjktMi4zLTUuOC0yLjNsLTIyLjIgMCAwLTM3LjQgMjggMCAwLTIxYzAtNDkuNiAyNi41LTcwIDc3LjMtNzAgMzQuMSAwIDY0LjcgOC4yIDY0LjcgNTIuOGwtNTAuNyA2LjFjLjMtMTguNy00LjQtMjMtMTYuMy0yM3ptNzQuMyAyNDEuOGwwLTI1LjEgMjAuNC0yLjZjNS4yLS42IDcuNi0xLjcgNy42LTcuM2wwLTEwNy45YzAtNC4xLTIuOS02LjctNi43LTcuOWwtMjQuMi02LjQgNi43LTI5LjUgODAuMiAwIDAgMTUxLjdjMCA1LjgtMi42IDYuNCAyLjkgNy4zbDE1LjcgMi42IDAgMjUuMS0xMDIuNiAwem04MC44LTI1NS41bDkgMzMuMi03LjMgNy4zLTMxLjItMTYuNi0zMS4yIDE2LjYtNy4zLTcuMyA5LTMzLjItMjEuOC0yNC4yIDMuNS05LjYgMjcuNyAwIDE1LjUtMjggOS4zIDAgMTUuNSAyOCAyNy43IDAgMy41IDkuNi0yMS45IDI0LjJ6Il19LFlndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1cHMiLGljb246WzM4NCw1MTIsW10sImY3ZTAiLCJNMTAzLjIgMzAzYy01LjIgMy42LTMyLjYgMTMuMS0zMi42LTE5bDAtMTA0LTMyLjcgMCAwIDEwMi42YzAgNzQuOSA4MC4yIDUxLjEgOTcuOSAzOWwwLTE0MS42LTMyLjYgMCAwIDEyM3pNNCA3NC44TDQgMjk1LjdjMCAxMDMuNyA3NC45IDEzNS4yIDE4Ny43IDE4NC4xIDExMi40LTQ4LjkgMTg3LjctODAuMiAxODcuNy0xODQuMWwwLTIyMC45QzI2My4xIDEzLjIgOTcuNiAyNS4yIDQgNzQuOHpNMzYyLjEgMjk1LjdjMCA4Ni42LTUzLjIgMTEzLjYtMTcwLjQgMTY1LjMtMTE3LjUtNTEuOC0xNzAuNS03OC43LTE3MC41LTE2NS4zbDAtMTI2LjRjMTAyLjMtOTMuOCAyMzEuNi0xMDAgMzQwLjktODkuOGwwIDIxNi4yek0xNTIuNSAxODguM2wwIDIxMi44IDMyLjcgMCAwLTY4LjdjMjQuNCA3LjMgNzEuNy0yLjYgNzEuNy03OC41IDAtOTcuNC04MC43LTgwLjktMTA0LjQtNjUuNnptMzIuNyAxMTcuM2wwLTEwMC4zYzguNC00LjIgMzguNC0xMi43IDM4LjQgNDkuMyAwIDY3LjktMzYuNCA1MS44LTM4LjQgNTF6bTc5LjEtODYuNGMuMSA0Ny4zIDUxLjYgNDIuNSA1Mi4yIDcwLjQgLjYgMjMuNS0zMC40IDIzLTUwLjggNC45bDAgMzAuMWMzNi4yIDIxLjUgODEuOSA4LjEgODMuMi0zMy41IDEuNy01MS41LTU0LjEtNDYuNi01My40LTczLjIgLjYtMjAuMyAzMC42LTIwLjUgNDguNS0yLjJsMC0yOC40Yy0yOC41LTIyLTc5LjktOS4yLTc5LjcgMzEuOXoiXX0sS2d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFtYXpvbi1wYXkiLGljb246WzY0MCw1MTIsW10sImY0MmMiLCJNMTQgMzI1LjNjMi4zLTQuMiA1LjItNC45IDkuNy0yLjUgMTAuNCA1LjYgMjAuNiAxMS40IDMxLjIgMTYuNyA0MC42IDIwLjIgODMuMyAzNS44IDEyNy40IDQ2LjMgMjAuOCA1IDQxLjkgOSA2My4yIDExLjggMzEuNSA0LjIgNjMuMiA2IDk1IDUuMiAxNy40LS40IDM0LjgtMS44IDUyLjEtMy44IDU2LjItNi42IDExMS4xLTIxIDE2My4zLTQyLjggMi45LTEuMiA1LjktMiA5LjEtMS4yIDYuNyAxLjggOSA5IDQuMSAxMy45LTMgMi43LTYuMiA1LjItOS42IDcuNC0zMC43IDIxLjEtNjQuMiAzNi40LTk5LjYgNDcuOS0yNC41IDcuOS00OS42IDEzLjgtNzUuMSAxNy42LTE3LjYgMi43LTM1LjQgNC4zLTUzLjIgNC44LS44IDAtMS43IC4yLTIuNSAuM2wtMjEuMSAwYy0uOC0uMS0xLjctLjItMi41LS4zLTMuNi0uMi03LjItLjMtMTAuNy0uNC0xNi45LS44LTMzLjctMi41LTUwLjQtNS4zLTI3LjQtNC41LTU0LjMtMTEuNS04MC40LTIwLjktNTMuNy0xOS40LTEwMy4xLTQ4LjktMTQ1LjYtODctMS44LTEuNi0zLTMuOC00LjQtNS43bDAtMnpNMTcyIDY1LjFsLTQuMyAuNmMtMTMuOCAxLjctMjYuOCA2LjktMzggMTUuMS0yLjQgMS43LTQuNiAzLjUtNy4xIDUuNC0uMi0uNC0uMy0uOS0uNC0xLjQtLjQtMi43LS44LTUuNS0xLjMtOC4yLS43LTQuNi0zLTYuNi03LjYtNi42bC0xMS41IDBjLTYuOSAwLTguMiAxLjMtOC4yIDguMmwwIDIwOS4zYzAgMSAwIDIgLjEgMyAuMiAzIDIgNC45IDQuOSA1IDcgLjEgMTQuMSAuMSAyMS4xIDAgMi45IDAgNC43LTIgNS01IC4xLTEgLjEtMiAuMS0zbDAtNzIuNGMxLjEgLjkgMS43IDEuNCAyLjIgMS45IDE3LjkgMTQuOSAzOC41IDE5LjggNjEgMTUuNCAyMC40LTQgMzQuNi0xNi41IDQzLjgtMzQuOSA3LTEzLjkgOS45LTI4LjcgMTAuMy00NC4xIC41LTE3LjEtMS4yLTMzLjktOC4xLTQ5LjgtOC41LTE5LjYtMjIuNi0zMi41LTQzLjktMzYuOS0zLjItLjctNi41LTEtOS44LTEuNS0yLjgtLjEtNS41LS4xLTguMy0uMXpNMTI0LjYgMTA3Yy0uMS0uNyAuMS0xLjMgLjQtMS45cy44LTEuMSAxLjMtMS40YzEzLjctOS41IDI4LjgtMTQuNSA0NS42LTEzLjIgMTQuOSAxLjEgMjcuMSA4LjQgMzMuNSAyNS45IDMuOSAxMC43IDQuOSAyMS44IDQuOSAzMyAwIDEwLjQtLjggMjAuNi00IDMwLjYtNi44IDIxLjMtMjIuNCAyOS40LTQyLjYgMjguNS0xNC0uNi0yNi4yLTYtMzcuNC0xMy45LS42LS4zLTEtLjgtMS4zLTEuNHMtLjQtMS4yLS40LTEuOWMuMS0xNC4xIDAtMjguMSAwLTQyLjJzLjEtMjggMC00Mi4xek0zMzAuMyA2NS4xYy0xIC4xLTIgLjMtMi45IC40LTkuNyAuNC0xOS40IDEuOC0yOC45IDQuMS02LjEgMS42LTEyIDMuOC0xNy45IDUuOC0zLjYgMS4yLTUuNCAzLjgtNS4zIDcuNyAuMSAzLjMtLjEgNi42IDAgOS45IC4xIDQuOCAyLjEgNi4xIDYuOCA0LjkgNy44LTIgMTUuNi00LjIgMjMuNS01LjcgMTIuMy0yLjMgMjQuNy0zLjMgMzcuMi0xLjQgNi41IDEgMTIuNiAyLjkgMTYuOCA4LjQgMy43IDQuOCA1LjEgMTAuNSA1LjMgMTYuNCAuMyA4LjMgLjIgMTYuNiAuMyAyNC45IDAgLjUtLjEgLjktLjIgMS40LS41LS4xLS45IDAtMS4zLS4xLTEwLjUtMi42LTIxLjItNC4yLTMyLTQuOS0xMS4zLS42LTIyLjUgLjEtMzMuMyAzLjktMTIuOSA0LjUtMjMuMyAxMi4zLTI5LjQgMjQuOS00LjcgOS44LTUuNCAyMC4yLTMuOSAzMC43IDIgMTQgOSAyNC44IDIxLjQgMzEuNyAxMS45IDYuNiAyNC44IDcuNCAzNy45IDUuNCAxNS4xLTIuMyAyOC41LTguNyA0MC4zLTE4LjQgLjUtLjQgMS0uOCAxLjYtMS4xIC42IDMuOCAxLjEgNy40IDEuOCAxMSAuNiAzLjEgMi41IDUuMSA1LjQgNS4yIDUuNCAuMSAxMC45IC4xIDE2LjMgMCAxLjMgMCAyLjUtLjUgMy40LTEuNHMxLjQtMi4xIDEuNS0zLjNjLjEtLjkgLjEtMS45IC4xLTIuOGwwLTEwNmMwLTQuMy0uMy04LjYtLjktMTIuOS0xLjktMTIuOS03LjQtMjMuNS0xOS0zMC40LTYuNy00LTE0LjEtNi0yMS44LTcuMS0zLjYtLjUtNy4yLS44LTEwLjgtMS4zLTMuOSAuMS03LjkgLjEtMTEuOSAuMXptMzUgMTI3LjdjMCAuNi0uMSAxLjItLjMgMS43cy0uNyAxLTEuMiAxLjNjLTExLjIgOC4xLTIzLjUgMTMuNS0zNy40IDE0LjktNS43IC42LTExLjQgLjQtMTYuOC0xLjgtMy0xLjEtNS42LTIuOS03LjgtNS4ycy0zLjctNS4xLTQuNi04LjFjLTItNi4zLTItMTMuMS0uMS0xOS40IDIuNS04LjMgOC40LTEzIDE2LjQtMTUuNiA4LTIuNCAxNi41LTMuMiAyNC44LTIuMiA4LjQgLjcgMTYuNiAyLjMgMjUgMy40IDEuNiAuMiAyLjEgMSAyLjEgMi42LS4xIDQuOCAwIDkuNSAwIDE0LjNzLS4yIDkuNC0uMSAxNC4xek02MjUuMiAzMjIuMmMtMS01LTQuOC02LjktOS4xLTguMy02LjgtMi4xLTEzLjktMy41LTIxLTMuOS0xMy4xLTEuMS0yNi4zLS41LTM5LjIgMS45LTE0LjMgMi43LTI3LjkgNy4zLTQwIDE1LjYtMS40IC45LTIuNyAyLjEtMy43IDMuNS0uNCAuNi0uNiAxLjMtLjcgMS45czAgMS40IC4yIDIuMWMuNCAxLjUgMi4xIDEuOSAzLjYgMS44IC43IDAgMS41IDAgMi4yLS4xIDcuOC0uOCAxNS41LTEuNyAyMy4zLTIuNSAxMS40LTEuMSAyMi45LTEuOCAzNC4zLS45IDQuOSAuNCA5LjcgMS4zIDE0LjQgMi43IDUuMSAxLjQgNy40IDUuMiA3LjYgMTAuNCAuNCA4LTEuNCAxNS43LTMuNSAyMy4zLTQuMSAxNS40LTEwIDMwLjMtMTUuOCA0NS4xLS40IDEtLjggMi0xIDMtLjUgMi45IDEuMiA0LjggNC4xIDQuMSAxLjgtLjQgMy40LTEuMyA0LjgtMi41IDQuNS00LjIgOC44LTguNyAxMi43LTEzLjQgMTIuOC0xNi40IDIwLjMtMzUuMyAyNC43LTU1LjYgLjgtMy42IDEuNC03LjMgMi4xLTEwLjlsMC0xNy4zek00OTMuMSAxOTljLTEyLjktMzUuNy0yNS44LTcxLjQtMzguNy0xMDcuMi0yLTUuNy00LjItMTEuMy02LjMtMTYuOS0xLjEtMi45LTMuMi00LjgtNi40LTQuOC03LjYtLjEtMTUuMi0uMi0yMi45LS4xLTIuNSAwLTMuNyAyLTMuMiA0LjUgLjUgMi4xIDEuMSA0LjEgMS45IDYuMSAxOS42IDQ4LjUgMzkuMyA5NyA1OS4xIDE0NS41IDEuNyA0LjEgMi4xIDcuNiAuMiAxMS44LTMuMyA3LjMtNS45IDE1LTkuMyAyMi4zLTMgNi41LTggMTEuNC0xNS4yIDEzLjMtNSAxLjMtMTAuMiAxLjctMTUuNCAxLjEtMi41LS4yLTUtLjgtNy41LTEtMy40LS4yLTUuMSAxLjMtNS4yIDQuOC0uMSAzLjMtLjEgNi42IDAgOS45IC4xIDUuNSAyIDggNy40IDguOSA1LjYgMS4xIDExLjIgMS44IDE2LjkgMiAxNy4xIC40IDMwLjctNi41IDM5LjUtMjEuNCAzLjUtNS45IDYuNi0xMiA5LjItMTguNCAyMy43LTU5LjggNDcuMi0xMTkuNyA3MC42LTE3OS42IC43LTEuOCAxLjMtMy42IDEuNi01LjUgLjQtMi44LS45LTQuNC0zLjctNC40LTYuNi0uMS0xMy4zIDAtMTkuOSAwLTEuNy0uMS0zLjQgLjMtNC43IDEuM3MtMi40IDIuMy0zIDMuOWMtLjUgMS40LTEuMSAyLjctMS42IDQuMWwtMzQuOCAxMDBjLTIuNSA3LjItNS4xIDE0LjUtNy43IDIyLjItLjQtMS4xLS42LTEuNy0uOS0yLjR6Il19LFpndD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwYW5kb3JhIixpY29uOlszODQsNTEyLFtdLCJlN2RhIiwiTTIwMS4zIDMyTDAgMzIgMCA0ODAgMTIwLjIgNDgwYzExLjIgMCAyMC4zLTkuMSAyMC4zLTIwLjNsMC04Ni4xIDMwLjEgMGMxNDcuMSAwIDIwNy4zLTgyLjkgMjA3LjMtMTc5LjkgMC0xMTkuNy05MC45LTE2MS44LTE3Ni41LTE2MS44eiJdfSxYZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib3BlbmlkIixpY29uOls0NDgsNTEyLFtdLCJmMTliIiwiTTI3MS41IDQzMmwtNjggMzJDODguNSA0NTMuNyAwIDM5Mi41IDAgMzE4LjIgMCAyNDYuNyA4Mi41IDE4Ny4yIDE5MS43IDE3My45bDAgNDNjLTcxLjUgMTIuNS0xMjQgNTMtMTI0IDEwMS4zIDAgNTEgNTguNSA5My4zIDEzNS43IDEwM2wwLTM0MCA2OC0zMy4yIDAgMzg0IC4xIDB6TTQ0OCAyOTFsLTEzMS4zLTI4LjUgMzYuOC0yMC43Yy0xOS41LTExLjUtNDMuNS0yMC03MC0yNC44bDAtNDNjNDYuMiA1LjUgODcuNyAxOS41IDEyMC4zIDM5LjNsMzUtMTkuOCA5LjIgOTcuNXoiXX0sUWd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZzY28iLGljb246WzUxMiw1MTIsW10sImU3ZGQiLCJNMzU3LjYgMjU2YzAtMjcuMS0xMC42LTUyLjUtMjkuNy03MS43cy00NC42LTI5LjctNzEuNy0yOS43bC0uMSAwYy0yNy4xIDAtNTIuNiAxMC42LTcxLjcgMjkuN3MtMjkuNyA0NC42LTI5LjcgNzEuN2MwIDI3LjEgMTAuNiA1Mi41IDI5LjcgNzEuNyAxOS4yIDE5LjIgNDQuNiAyOS43IDcxLjcgMjkuN2wuMSAwYzI3LjEgMCA1Mi42LTEwLjYgNzEuNy0yOS43IDE5LjItMTkuMiAyOS43LTQ0LjYgMjkuNy03MS43ek0xNzYuMyA0ODIuMWMyMyA4LjEgNDcgMTIuNiA3MS42IDEzLjRsMC01OS4xYy0xNy4xLS43LTMzLjUtMy44LTQ5LTguOWwtMjIuNiA1NC42em0xMzctNTQuNmMtMTUuNSA1LjEtMzIgOC4yLTQ5IDguOWwwIDU5LjFjMjQuNi0uOCA0OC42LTUuMyA3MS42LTEzLjRsLTIyLjYtNTQuNnpNOTIuNSA0MzEuMmMyMC4yIDE4LjkgNDMuMyAzNCA2OC43IDQ1bDIyLjUtNTQuNWMtMTguMy03LjktMzUuMS0xOC44LTQ5LjgtMzEuOUw5Mi41IDQzMS4yem0yODUuOS00MS40Yy0xNC42IDEzLjItMzEuNCAyNC00OS44IDMxLjlsMjIuNSA1NC41YzI1LjQtMTEgNDguNC0yNi4xIDY4LjctNDVsLTQxLjQtNDEuNHpNMTQ1LjQgMzc4LjJjMTMuNiAxMi4xIDI5IDIxLjkgNDUuOCAyOSAxOCA3LjYgMzcuMSAxMiA1Ni43IDEyLjlsMC00Ni44Yy0yNi40LTEuOC01MC4zLTEyLjMtNjkuMS0yOC42bC0zMy40IDMzLjR6bTE4OC0zMy40Yy0xOC44IDE2LjMtNDIuNyAyNi44LTY5LjEgMjguNmwwIDQ2LjhjMTkuNi0uOSAzOC43LTUuMyA1Ni43LTEyLjkgMTYuOC03LjEgMzIuMi0xNi45IDQ1LjgtMjlsLTMzLjQtMzMuNHpNMzguNSAzNTYuNmMxMC43IDIzLjIgMjUgNDQuMyA0Mi41IDYzLjFsNDEuMy00MS4zYy0xMi40LTEzLjQtMjIuOS0yOC42LTMwLjktNDUuMkwzOC41IDM1Ni42em0zODIuNC0yMy41Yy04IDE2LjYtMTguNSAzMS45LTMwLjkgNDUuMmw0MS4zIDQxLjNjMTcuNS0xOC43IDMxLjgtMzkuOSA0Mi41LTYzLjFsLTUyLjktMjMuNXptLTMzMS02OWMxLjEgMTguOCA1LjQgMzcuMiAxMi44IDU0LjUgNy41IDE3LjggMTggMzQgMzEuMiA0OC4ybDMzLjUtMzMuNWMtMTYuNC0xOC44LTI2LjktNDIuOC0yOC43LTY5LjJsLTQ4LjggMHptMjgzLjcgMGMtMS44IDI2LjQtMTIuMyA1MC40LTI4LjcgNjkuMmwzMy41IDMzLjVjMTMuMS0xNC4yIDIzLjYtMzAuNCAzMS4yLTQ4LjIgNy4zLTE3LjQgMTEuNi0zNS43IDEyLjctNTQuNWwtNDguNyAwem0tMzU3LjEgMGMuOSAyNi43IDYuMSA1Mi43IDE1LjYgNzcuNUw4NSAzMTguMmMtNi40LTE3LTEwLjMtMzUuMS0xMS4zLTU0bC01Ny4xIDB6bTQyMi4xIDBjLTEgMTguOS01IDM3LjEtMTEuMyA1NGw1Mi44IDIzLjVjOS41LTI0LjggMTQuNy01MC44IDE1LjYtNzcuNWwtNTcuMSAwek0zMi4xIDE3MC40Yy05LjUgMjQuOC0xNC43IDUwLjgtMTUuNiA3Ny41bDU3LjEgMGMxLTE4LjkgNS0zNy4xIDExLjMtNTRMMzIuMSAxNzAuNHptMTAxLjctMjUuMmMtMTMuMSAxNC4yLTIzLjYgMzAuNC0zMS4yIDQ4LjItNy4zIDE3LjQtMTEuNiAzNS43LTEyLjggNTQuNWw0OC44IDBjMS44LTI2LjQgMTIuMy01MC40IDI4LjctNjkuMmwtMzMuNS0zMy41em0yMTEuMSAzMy41YzE2LjQgMTguOCAyNi45IDQyLjggMjguNyA2OS4ybDQ4LjcgMGMtMS4xLTE4LjgtNS40LTM3LjItMTIuNy01NC41LTcuNS0xNy44LTE4LTM0LTMxLjItNDguMmwtMzMuNSAzMy41em04Mi40IDE1LjJjNi40IDE3IDEwLjMgMzUuMSAxMS4zIDU0bDU3LjEgMGMtLjktMjYuNy02LjEtNTIuNy0xNS42LTc3LjVsLTUyLjggMjMuNXpNODEgOTIuM0M2My40IDExMSA0OS4yIDEzMi4yIDM4LjUgMTU1LjRsNTIuOSAyMy41YzgtMTYuNiAxOC41LTMxLjkgMzAuOS00NS4yTDgxIDkyLjN6bTMwOSA0MS4zYzEyLjQgMTMuNCAyMi45IDI4LjYgMzAuOSA0NS4ybDUyLjktMjMuNWMtMTAuNy0yMy4yLTI1LTQ0LjMtNDIuNS02My4xTDM5MCAxMzMuN3pNMjQ4IDkxLjhjLTE5LjYgLjktMzguNyA1LjMtNTYuNyAxMi45LTE2LjggNy4xLTMyLjIgMTYuOS00NS44IDI5bDMzLjQgMzMuNGMxOC44LTE2LjMgNDIuNy0yNi44IDY5LjEtMjguNmwwLTQ2Ljd6bTE2LjMgNDYuN2MyNi40IDEuOCA1MC4zIDEyLjMgNjkuMSAyOC42bDMzLjQtMzMuNGMtMTMuNi0xMi4xLTI5LTIxLjktNDUuOC0yOS0xOC03LjYtMzcuMS0xMi01Ni43LTEyLjlsMCA0Ni43ek0xNjEuMiAzNS44Yy0yNS40IDExLTQ4LjQgMjYuMS02OC43IDQ1bDQxLjQgNDEuNGMxNC43LTEzLjIgMzEuNC0yNCA0OS44LTMxLjlMMTYxLjIgMzUuOHpNMzI4LjYgOTAuM2MxOC4zIDcuOSAzNS4xIDE4LjggNDkuOCAzMS45bDQxLjQtNDEuNGMtMjAuMi0xOC45LTQzLjMtMzQtNjguNy00NUwzMjguNiA5MC4zek0yNDggMTYuNGMtMjQuNiAuOC00OC42IDUuMy03MS42IDEzLjRsMjIuNiA1NC42YzE1LjUtNS4xIDMyLTguMiA0OS04LjlsMC01OS4xem0xNi4zIDU5LjFjMTcuMSAuNyAzMy41IDMuOCA0OSA4LjlsMjIuNi01NC42Yy0yMy04LjEtNDctMTIuNi03MS42LTEzLjRsMCA1OS4xek01MTIuMiAyNjQuMmwtLjIgMEM1MDcuOCAzOTkgMzk5LjIgNTA3LjcgMjY0LjMgNTExLjlsMCAuMS0xNi4zIDAgMC0uMUMxMTMuMSA1MDcuNyA0LjUgMzk5IC4yIDI2NC4xbC0uMiAwIDAtMTYuMyAuMiAwQzQuNSAxMTMgMTEzLjEgNC4zIDI0OCAuMWwwLS4xIDE2LjMgMCAwIC4xQzM5OS4yIDQuMyA1MDcuOCAxMTMgNTEyIDI0Ny45bC4yIDAgMCAxNi4zeiJdfSxKZ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2xvYmFsZWFrcyIsaWNvbjpbNDQ4LDUxMixbXSwiZTg1ZCIsIk00MTEuMiAzMi4yYzIwLjIgMCAzNi44IDE2LjYgMzYuOCAzNi45bDAgMzczLjhjMCAyMC4yLTE2LjYgMzYuOS0zNi44IDM2LjlsLTk0LjQgMCAyOC03OS40YzMuMS04LjgtMS42LTE4LjctMTAuNC0yMS44LTEuNi0uNS0yLjYtMS00LjItMXMtMy42IDAtNS4yIC41Yy01LjIgMS05LjkgNS4yLTExLjkgMTAuOWwtNi4yIDE2LjYgMC02Ny41YzAtMTAuOS03LjgtMTkuNy0xOC4yLTIxLjhsLTcuMiAwYy0uNSAwLTEgMC0xLjYgLjUtLjUgMC0xIC41LTEuNiAuNS0yLjYgMS01LjIgMi42LTcuMiA0LjFsMC00LjFjMC01LjctMi42LTEwLjQtNS43LTE0bC0xLTFjLTEtMS0yLjYtMi4xLTQuMi0yLjZsMC0yNi41YzAtNS4yLTQuMS05LjMtOS4zLTkuM2wtMzkuOSAwYy02LjcgMC0xMS40LTcuMy04LjMtMTMuNUwyODMuMSA4NC4xYzE0LjUtMzEuMSA0NS42LTUxLjQgODAuNC01MS45bDQ3LjcgMHptLTE2NiAwYzE3LjYgMCAzMC4xIDE2LjEgMjggMzIuMi0yLjYgMy42LTQuNyA3LjgtNi4yIDEwLjlMMTg2LjYgMjQxLjVjLTguOCAxOC43IDQuMiA0MCAyNC40IDQwbDMwLjYgMCAwIDE2LjFjLTcuOCAzLjEtMTMgMTAuOS0xMyAxOS43bDAgMy42Yy0zLjYtMy42LTguOC01LjctMTQuNS01LjctMTEuOSAwLTIxLjggOS45LTIxLjggMjEuOGwwIDE5LjItMy4xIDBjLTkuMyAwLTE3LjEgNy44LTE3LjEgMTcuMWwwIDEwNS45LTk1LjQgMGMtNDIgMC03Mi42LTQwLjUtNjEuMi04MS41IDEtMy4xIDQuMi01LjIgNy4zLTQuN2wyMS4yIDBjMjQuNCAwIDQ0LjYtMjAuMiA0NC42LTQ1LjJsMC00LjJjMC0yNC45LTE5LjctNDUuMi00NC42LTQ1LjItLjUgMC0xLS41LTEtMWw4LjgtMzIuN2MyLjEtNi4yLTIuNi0xMS45LTguOC0xMS45bC0zMy4yIDBjLTYuNyAwLTExLjQtNy4zLTguMy0xMy41TDc2LjcgODQuN2MxNi4xLTMyLjIgNDguMi01Mi40IDg0LTUyLjRsODQuNSAwek0xMzMuNyAxNDQuNGMtMTAuNCAwLTE4LjcgOC4zLTE4LjcgMTguNyAwIDkuOSA4LjMgMTguNyAxOC43IDE4LjcgMTAuNCAwIDE4LjctOC4zIDE4LjctMTguN3MtOC4zLTE4LjctMTguNy0xOC43em0yMDIuOCAwYTE4LjYgMTguNiAwIDEgMCAtLjIgMzcuMiAxOC42IDE4LjYgMCAxIDAgLjItMzcuMnoiXX0sZWJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZlbm1vIixpY29uOls2NDAsNTEyLFtdLCJlODVhIiwiTTY3LjggMjAyLjdjMi40IDUgMy45IDExIDMuOSAxOS44IDAgMTYuMi0xMS41IDM5LjgtMjAuNyA1NC45bC05LjktNzkuNy00MSAzLjkgMTguOCAxMTIgNDYuOSAwYzIwLjUtMjYuOSA0NS44LTY1LjMgNDUuOC05NC44IDAtOS4zLTEuOS0xNi42LTYuMy0yMy43bC0zNy40IDcuNXptMTEzLTcuMWMtNDIuOCAwLTYzLjUgMzctNjMuNSA3MS45IDAgMjYuOSAxMi44IDQ4LjUgNDguNCA0OC41IDE0IDAgMjguNS0zIDM3LjgtNy41bDUtMzMuNmMtMTMuMiA2LjctMjMuMyA5LjMtMzMuOSA5LjMtOS43IDAtMTcuMS01LjItMTcuMS0xOC4zIDIyLS4yIDYwLTkuMyA2MC0zOC44IDAtMTguMy0xMy4yLTMxLjUtMzYuNy0zMS41bDAgMHptLTIyLjUgNDguOWMxLjEtMTIuOSAxMS0yMiAxOC42LTIyIDQuMyAwIDggMi42IDggNy43IDAgMTAuOC0xOSAxNC4yLTI2LjYgMTQuMmwwIDB6bTE1MC4yLTQ4LjljLTE1LjMgMC0yNi4xIDUuOC0zNC4zIDExLjJsLS40LTkuMy0zNC44IDAtMTguNCAxMTYuMSA0MC4yIDAgMTIuNy04MS40YzMuNS0xLjcgOC42LTQuMSAxMy44LTQuMSAzLjkgMCA3LjEgMS4zIDcuMSA2LjUgMCAyLjItLjcgNi0uOSA4bC0xMS4yIDcxLjEgNDAgMCAxMi4zLTc3LjVjLjctNC4xIDEuMy0xMC4zIDEuMy0xNC42IDAtMTUuNS03LjEtMjUuOS0yNy40LTI1Ljl6bTE4My4yIDBjLTE0LjkgMC0yNS43IDQuNS0zNy4yIDEyLjctNC4xLTcuMy0xMi4zLTEyLjctMjQuOC0xMi43LTE0LjUgMC0yNS4zIDUuOC0zMy4zIDExLjZsLTEuMS05LjctMzQuNCAwLTE4LjQgMTE2LjEgNDAuMiAwIDEyLjgtODEuNGMzLjUtMS43IDguNi00LjEgMTMuOC00LjEgMy45IDAgNy4xIDEuMyA3LjEgNy4xIDAgMS41LS40IDMuOS0uNiA1LjhsLTExLjQgNzIuNiA0MCAwIDEyLjctODEuNGMzLjctMS45IDguNi00LjEgMTMuNi00LjEgMy45IDAgNy4xIDEuMyA3LjEgNy4xIDAgMS41LS40IDMuOS0uNyA1LjhsLTExLjQgNzIuNiA0MCAwIDEyLjMtNzcuNWMuNy00LjEgMS4zLTEwLjMgMS4zLTE0LjYgMC0xNS41LTcuMS0yNS45LTI3LjctMjUuOWwwIDB6bTEwMi4yIDBjLTQ0LjcgMC02NC4yIDM0LjMtNjQuMiA3MC45IDAgMjcuOCAxMS4yIDUwIDQ1LjEgNTAgNDUuOCAwIDY1LTM3LjUgNjUtNzMuNyAwLTI3LjQtMTIuMy00Ny4yLTQ2LTQ3LjJ6bS0xMy40IDkwYy03LjEgMC0xMC4xLTYuNy0xMC4xLTE3LjUgMC0xNC4yIDMuMi00MiAxOS00MiA3LjEgMCA5LjUgNi41IDkuNSAxNS45IDAgMTQuMi0zLjUgNDMuNS0xOC40IDQzLjV6Il19LHRidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1YnVudHUiLGljb246WzU3Niw1MTIsW10sImY3ZGYiLCJNNDY5LjIgNzVjMC0yMC4xLTgtMzkuMy0yMi4yLTUzLjVzLTMzLjQtMjIuMi01My41LTIyLjItMzkuMyA4LTUzLjUgMjIuMi0yMi4yIDMzLjQtMjIuMiA1My41YzAgMjAuMSA4IDM5LjMgMjIuMSA1My41czMzLjQgMjIuMSA1My41IDIyLjEgMzkuMy04IDUzLjUtMjIuMSAyMi4xLTMzLjQgMjIuMS01My41bC4xIDB6bS0zMTUgMTY1LjdhNzUuNiA3NS42IDAgMSAwIC0xNTEuMiAwIDc1LjYgNzUuNiAwIDEgMCAxNTEuMiAwek01NyAzNDZjMTguNiA0Ni45IDUxIDg3IDkzIDExNS4xczkxLjUgNDIuNiAxNDIgNDEuN2MtMTQuNy0xOC42LTIyLjktNDEuNS0yMy4yLTY1LjItNi44LS45LTEzLjMtMi4xLTE5LjUtMy40LTI2LjgtNS43LTUxLjktMTcuMy03My42LTM0cy0zOS4zLTM4LjEtNTEuNy02Mi41Yy0yMC45IDkuOS00NC41IDEyLjgtNjcuMSA4LjJsLjEgLjF6bTM5NS4xIDg5LjhhNzUuNiA3NS42IDAgMSAwIC0xNTEuMiAwIDc1LjYgNzUuNiAwIDEgMCAxNTEuMiAwek00NDQgMzUxLjZjMTguNSAxNC44IDMxLjYgMzUuMiAzNy4yIDU4LjIgMzMuMy00MS4zIDUyLjYtOTIuMiA1NC44LTE0NS4ycy0xMi41LTEwNS40LTQyLjItMTQ5LjRjLTguNiAyMS41LTI0IDM5LjYtNDMuOCA1MS42IDE1LjQgMjguNiAyMi45IDYwLjggMjEuOSA5My4ycy0xMC43IDY0LTI4IDkxLjZsLjEgMHpNMTAxLjEgMTM1LjRjMTIuNCAyLjcgMjQuMyA3LjUgMzUuMSAxNC4zIDE2LjYtMjQuMiAzOC45LTQ0LjEgNjQuOC01OFMyNTUuOCA3MC40IDI4NS4yIDcwYy4yLTUuOSAuOS0xMS45IDItMTcuNyAzLjYtMTYuNyAxMS4xLTMyLjMgMjEuOC00NS41LTQ3LjctMy44LTk1LjQgNi0xMzcuNiAyOC41Uzk0LjMgOTEuNyA3MC44IDEzMy40YzIuNy0uMiA1LjMtLjMgOC0uMyA3LjUgMCAxNSAuOCAyMi40IDIuM2wtLjEgMHoiXX0sYWJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZpYWNvaW4iLGljb246WzM4NCw1MTIsW10sImYyMzciLCJNMzg0IDMybC02NCAwLTgwLjcgMTkyLTk0LjUgMC04MC44LTE5Mi02NCAwIDQ4IDExMi00OCAwIDAgNDggNjguNSAwIDEzLjggMzItODIuMyAwIDAgNDggMTAyLjggMCA4OS4yIDIwOCA4OS4yLTIwOCAxMDIuOCAwIDAtNDgtODIuMyAwIDEzLjgtMzIgNjguNSAwIDAtNDgtNDggMCA0OC0xMTJ6TTE5MiAzMzZsLTI3LTY0IDU0IDAtMjcgNjR6Il19LHJidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ6aGlodSIsaWNvbjpbNjQwLDUxMixbXSwiZjYzZiIsIk0xNzAuNSAxNDguMWwwIDIxNy41IDIzLjQgMCA3LjcgMjYuNCA0Mi0yNi40IDQ5LjUgMCAwLTIxNy41LTEyMi43IDB6bTk3LjggMTkzLjlsLTI3LjkgMC0yNy45IDE3LjUtNS4xLTE3LjUtMTEuOSAwIDAtMTcwLjMgNzIuOCAwIDAgMTcwLjN6TTE0OS44IDI0Ny43bC01Mi4zIDBjMS43LTI3LjEgMi4yLTUxLjYgMi4yLTczLjVsNTEuMiAwczItMjIuNi04LjYtMjIuM2wtODguNSAwYzMuNS0xMy4xIDcuOS0yNi43IDEzLjEtNDAuNyAwIDAtMjQuMSAwLTMyLjMgMjEuNi0zLjQgOC45LTEzLjIgNDMuMS0zMC43IDc4LjEgNS45LS42IDI1LjQtMS4yIDM2LjgtMjIuMiAyLjEtNS45IDIuNS02LjcgNS4xLTE0LjVsMjguOSAwYzAgMTAuNS0xLjIgNjYuOS0xLjcgNzMuNGwtNTIuMyAwYy0xMS43IDAtMTUuNiAyMy42LTE1LjYgMjMuNmw2NS42IDBjLTQuNCA0OS45LTI4IDkxLjktNzAuOCAxMjUuMSAyMC41IDUuOSA0MC45LS45IDUxLTkuOSAwIDAgMjMtMjAuOSAzNS42LTY5LjNsNTQgNjQuOXM3LjktMjYuOS0xLjItNDBjLTcuNi04LjktMjguMS0zMy4xLTM2LjgtNDEuOEw4Ny45IDMxMmM0LjQtMTQgNy0yNy42IDcuOS00MC43bDYxLjYgMHMtLjEtMjMuNi03LjYtMjMuNmwwIDB6bTQxMi0xLjZjMjAuOC0yNS42IDQ1LTU4LjYgNDUtNTguNnMtMTguNi0xNC44LTI3LjQtNC4xYy02IDguMi0zNi44IDQ4LjItMzYuOCA0OC4ybDE5LjIgMTQuNHpNNDExLjggMTg3Yy05LTguMi0yNS45IDIuMS0yNS45IDIuMXMzOS41IDU1IDQxLjEgNTcuNGwxOS41LTEzLjdzLTI1LjctMzcuNi0zNC43LTQ1LjlsMCAwIDAgMHpNNjQwIDI1OC40Yy0xOS44IDAtMTMwLjkgLjktMTMxLjEgLjlsMC0xMDFjNC44IDAgMTIuNC0uNCAyMi44LTEuMiA0MC45LTIuNCA3MC4xLTQgODcuOC00LjggMCAwIDEyLjItMjcuMi0uNi0zMy40LTMuMS0xLjItMjMuMiA0LjYtMjMuMiA0LjZzLTE2NS4yIDE2LjUtMjMyLjQgMThjMS42IDguOCA3LjYgMTcuMSAxNS44IDE5LjYgMTMuMyAzLjUgMjIuNyAxLjcgNDkuMiAuOSAyNC44LTEuNiA0My43LTIuNCA1Ni41LTIuNGwwIDk5LjgtMTMzLjUgMHMyLjggMjIuMyAyNS41IDIyLjlsMTA3LjkgMCAwIDcwLjljMCAxNC0xMS4yIDIyLTI0LjUgMjEuMS0xNC4xIC4xLTI2LjEtMS4xLTQxLjctMS44IDIgNCA2LjMgMTQuNCAxOS4zIDIxLjggOS45IDQuOCAxNi4yIDYuNiAyNiA2LjYgMjkuNiAwIDQ1LjctMTcuMyA0NC45LTQ1LjNsMC03My4zIDEyMi40IDBjOS43IDAgOC43LTIzLjggOC43LTIzLjhsMCAweiJdfSxzYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieWFuZGV4IixpY29uOlsyNTYsNTEyLFtdLCJmNDEzIiwiTTE1My4xIDMxNS44TDY1LjcgNTEyIDIgNTEyIDk4IDMwMi4yQzUyLjkgMjc5LjMgMjIuOCAyMzcuOCAyMi44IDE2MS4xIDIyLjcgNTMuNyA5MC44IDAgMTcxLjcgMGw4Mi4zIDAgMCA1MTItNTUuMSAwIDAtMTk2LjItNDUuOCAwek0xOTguOSA0Ni41bC0yOS40IDBjLTQ0LjQgMC04Ny40IDI5LjQtODcuNCAxMTQuNiAwIDgyLjMgMzkuNCAxMDguOCA4Ny40IDEwOC44bDI5LjQgMCAwLTIyMy40eiJdfSxpYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGl4aXYiLGljb246WzQ0OCw1MTIsW10sImU2NDAiLCJNOTYgMzJDNDMgMzIgMCA3NSAwIDEyOEwwIDM4NGMwIDUzIDQzIDk2IDk2IDk2bDI1NiAwYzUzIDAgOTYtNDMgOTYtOTZsMC0yNTZjMC01My00My05Ni05Ni05Nkw5NiAzMnptNzcuNyAyMTcuM2E2MC4xIDYwLjEgMCAxIDAgMTIwLjMgMCA2MC4xIDYwLjEgMCAxIDAgLTEyMC4zIDB6TTExOS4xIDM4Ny44Yy0uMy0uOC0uNS0xLjctLjUtMi42bDAtMjQ0LjNjMC0xLjggLjctMy42IDItNC45czMtMiA0LjktMmwxNi45IDBjMS4yIDAgMi4zIC4zIDMuMyAuOHMxLjkgMS4zIDIuNSAyLjNsMTQgMjEuOGMxOS43LTE1LjYgNDQuNS0yNSA3MS42LTI1IDYzLjYgMCAxMTUuMiA1MS42IDExNS4yIDExNS4yUzI5Ny41IDM2NC41IDIzMy44IDM2NC41Yy0yMiAwLTQyLjYtNi4yLTYwLjEtMTYuOWwwIDM3LjZjMCAuOS0uMiAxLjgtLjUgMi42cy0uOSAxLjYtMS41IDIuMi0xLjQgMS4xLTIuMiAxLjUtMS43IC41LTIuNiAuNWwtNDEuMyAwYy0uOSAwLTEuOC0uMi0yLjYtLjVzLTEuNi0uOS0yLjItMS41LTEuMS0xLjQtMS41LTIuMnoiXX0sb2J0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9wZW5haSIsaWNvbjpbNTEyLDUxMixbXSwiZTdjZiIsIk0xOTYuNCAxODUuOGwwLTQ4LjZjMC00LjEgMS41LTcuMiA1LjEtOS4ybDk3LjgtNTYuM2MxMy4zLTcuNyAyOS4yLTExLjMgNDUuNi0xMS4zIDYxLjQgMCAxMDAuNCA0Ny42IDEwMC40IDk4LjMgMCAzLjYgMCA3LjctLjUgMTEuOEwzNDMuMyAxMTEuMWMtNi4xLTMuNi0xMi4zLTMuNi0xOC40IDBMMTk2LjQgMTg1Ljh6TTQyNC43IDM3NS4ybDAtMTE2LjJjMC03LjItMy4xLTEyLjMtOS4yLTE1LjlMMjg3IDE2OC40IDMyOSAxNDQuM2MzLjYtMiA2LjctMiAxMC4yIDBMNDM3IDIwMC43YzI4LjIgMTYuNCA0Ny4xIDUxLjIgNDcuMSA4NSAwIDM4LjktMjMgNzQuOC01OS40IDg5LjZsMCAwek0xNjYuMiAyNzIuOGwtNDItMjQuNmMtMy42LTItNS4xLTUuMS01LjEtOS4ybDAtMTEyLjZjMC01NC44IDQyLTk2LjMgOTguOC05Ni4zIDIxLjUgMCA0MS41IDcuMiA1OC40IDIwTDE3NS40IDEwOC41Yy02LjEgMy42LTkuMiA4LjctOS4yIDE1LjlsMCAxNDguNSAwIDB6bTkwLjQgNTIuMmwtNjAuMi0zMy44IDAtNzEuNyA2MC4yLTMzLjggNjAuMiAzMy44IDAgNzEuNy02MC4yIDMzLjh6bTM4LjcgMTU1LjdjLTIxLjUgMC00MS41LTcuMi01OC40LTIwbDEwMC45LTU4LjRjNi4xLTMuNiA5LjItOC43IDkuMi0xNS45bDAtMTQ4LjUgNDIuNSAyNC42YzMuNiAyIDUuMSA1LjEgNS4xIDkuMmwwIDExMi42YzAgNTQuOC00Mi41IDk2LjMtOTkuMyA5Ni4zbDAgMHpNMTczLjggMzY2LjVMNzYuMSAzMTAuMmMtMjguMi0xNi40LTQ3LjEtNTEuMi00Ny4xLTg1IDAtMzkuNCAyMy42LTc0LjggNTkuOS04OS42bDAgMTE2LjdjMCA3LjIgMy4xIDEyLjMgOS4yIDE1LjlsMTI4IDc0LjItNDIgMjQuMWMtMy42IDItNi43IDItMTAuMiAwem0tNS42IDg0Yy01Ny45IDAtMTAwLjQtNDMuNS0xMDAuNC05Ny4zIDAtNC4xIC41LTguMiAxLTEyLjNsMTAwLjkgNTguNGM2LjEgMy42IDEyLjMgMy42IDE4LjQgMGwxMjguNS03NC4yIDAgNDguNmMwIDQuMS0xLjUgNy4yLTUuMSA5LjJsLTk3LjggNTYuM2MtMTMuMyA3LjctMjkuMiAxMS4zLTQ1LjYgMTEuM2wwIDB6bTEyNyA2MC45YzYyIDAgMTEzLjctNDQgMTI1LjQtMTAyLjQgNTcuMy0xNC45IDk0LjItNjguNiA5NC4yLTEyMy40IDAtMzUuOC0xNS40LTcwLjctNDMtOTUuNyAyLjYtMTAuOCA0LjEtMjEuNSA0LjEtMzIuMyAwLTczLjItNTkuNC0xMjgtMTI4LTEyOC0xMy44IDAtMjcuMSAyLTQwLjQgNi43LTIzLTIyLjUtNTQuOC0zNi45LTg5LjYtMzYuOS02MiAwLTExMy43IDQ0LTEyNS40IDEwMi40LTU3LjMgMTQuOC05NC4yIDY4LjYtOTQuMiAxMjMuNCAwIDM1LjggMTUuNCA3MC43IDQzIDk1LjctMi42IDEwLjgtNC4xIDIxLjUtNC4xIDMyLjMgMCA3My4yIDU5LjQgMTI4IDEyOCAxMjggMTMuOCAwIDI3LjEtMiA0MC40LTYuNyAyMyAyMi41IDU0LjggMzYuOSA4OS42IDM2Ljl6Il19LG5idD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzaXRoIixpY29uOls0NDgsNTEyLFtdLCJmNTEyIiwiTTAgMzJsNjkuNyAxMTguOC01OC45LTExLjUgNjkuOCA5MWMtMyAxNy0zIDM0LjQgMCA1MS40bC02OS44IDkxIDU4LjktMTEuNS02OS43IDExOC44IDExOC44LTY5LjctMTEuNSA1OC45IDkxLTY5LjhjMTcgMyAzNC41IDMgNTEuNSAwbDkxIDY5LjgtMTEuNS01OC45IDExOC43IDY5LjctNjkuNy0xMTguOCA1OC45IDExLjUtNjkuOC05MWMzLTE3IDMtMzQuNCAwLTUxLjRsNjkuOC05MS01OC45IDExLjUgNjkuNy0xMTguOC0xMTguNyA2OS43IDExLjUtNTguOS05MS4xIDY5LjljLTguNS0xLjUtMTcuMS0yLjMtMjUuNy0yLjNzLTE3LjIgLjgtMjUuNyAyLjNMMTA3LjIgNDIuOCAxMTguOCAxMDEuNyAwIDMyek0yMjQgMzgwLjJhMTI0LjIgMTI0LjIgMCAxIDEgMC0yNDguNCAxMjQuMiAxMjQuMiAwIDEgMSAwIDI0OC40em0wLTIxMS44YTg3LjYgODcuNiAwIDEgMCAwIDE3NS4xIDg3LjYgODcuNiAwIDEgMCAwLTE3NS4xeiJdfSxsYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToianVsaWEiLGljb246WzY0MCw1MTIsW10sImU4NTIiLCJNMTI0IDQwNi41YzAgMTYuMS0xLjggMjkuMS01LjQgMzlzLTguOCAxNy42LTE1LjUgMjMuMS0xNC43IDkuMS0yNC4xIDExLTE5LjggMi44LTMxLjIgMi44Yy0xNS41IDAtMjcuMy0yLjQtMzUuNS03LjNTMCA0NjQuNSAwIDQ1Ny43YzAtNS42IDIuMy0xMC40IDYuOS0xNC4zczEwLjgtNS44IDE4LjUtNS44YzUuOCAwIDEwLjQgMS42IDEzLjkgNC43czYuMyA2LjIgOC42IDkuM2MyLjYgMy40IDQuOCA1LjYgNi41IDYuOHMzLjQgMS43IDQuOCAxLjdjMy4xIDAgNS40LTEuOCA3LTUuNHMyLjQtMTAuNyAyLjQtMjEuMmwwLTE5OC43IDU1LjQtMTUuMiAwIDE4Ni45em03OC45LTE4MS42bDAgMTI3LjljMCAzLjYgLjcgNi45IDIuMSAxMHMzLjMgNS44IDUuNyA4LjEgNS4yIDQuMSA4LjUgNS40IDYuNyAyLjEgMTAuNCAyLjFjNC4yIDAgOC45LTIuMyAxNC43LTYuNCA5LjItNi40IDE0LjctMTAuOSAxNC43LTE2LjFsMC0xMzEgNTUuMSAwIDAgMTgxLjYtNTUuMSAwIDAtMTYuOWMtNy4zIDYuMS0xNSAxMS0yMy4yIDE0LjdzLTE2LjIgNS42LTIzLjkgNS42Yy05IDAtMTcuNC0xLjUtMjUuMS00LjVzLTE0LjUtNy0yMC4zLTEyLjItMTAuNC0xMS4yLTEzLjctMTguMWMtMy4zLTYuOS01LTE0LjMtNS0yMi4ybDAtMTI3LjkgNTUuMSAwek0zOTEuNCA0MDYuNWwtNTQuOSAwIDAtMjU0LjYgNTQuOS0xNS4yIDAgMjY5Ljh6bTIyLjktMTcxLjdsNTUuMS0xNS4yIDAgMTg2LjktNTUuMSAwIDAtMTcxLjd6bTE3MC4zIDc3LjljLTUuMyAyLjMtMTAuNyA0LjktMTYuMSA3LjlzLTEwLjMgNi4yLTE0LjcgOS44LTggNy4zLTEwLjggMTEuNC00LjEgOC4yLTQuMSAxMi42YzAgMy40IC40IDYuNiAxLjMgOS44czIuMSA1LjggMy44IDguMSAzLjQgNC4xIDUuMyA1LjQgNCAyLjEgNi4zIDIuMWM0LjUgMCA5LjEtMS40IDEzLjctNC4xczkuNy02LjIgMTUuNC0xMC40bDAtNTIuNXpNNjQwIDQwNi41bC01NS40IDAgMC0xNC41Yy0zLjEgMi42LTYgNS04LjkgNy4xcy02LjIgNC4xLTkuOCA1LjctNy43IDIuOS0xMi4yIDMuOGMtNC41IC45LTkuOCAxLjMtMTUuOSAxLjMtOC40IDAtMTUuOS0xLjItMjIuNi0zLjYtNi43LTIuNC0xMi40LTUuNy0xNy05LjlzLTguMy05LjEtMTAuOC0xNC45Yy0yLjUtNS43LTMuOC0xMi0zLjgtMTguNyAwLTYuOSAxLjMtMTMuMiA0LTE4LjkgMi43LTUuNiA2LjMtMTAuNyAxMC45LTE1LjIgNC42LTQuNSA5LjktOC41IDE2LjEtMTIuMXMxMi43LTYuOCAxOS43LTkuOCAxNC4zLTUuNyAyMS45LTguMiAxNS4xLTQuOSAyMi41LTcuMWw2LTEuNSAwLTE3LjljMC0xMS42LTIuMi0xOS44LTYuNi0yNC43cy0xMC40LTcuMy0xNy44LTcuM2MtOC43IDAtMTQuOCAyLjEtMTguMSA2LjNzLTUuMSA5LjMtNS4xIDE1LjJjMCAzLjQtLjQgNi43LTEuMSA5LjktLjcgMy4yLTIgNi0zLjcgOC41cy00LjMgNC40LTcuNiA1LjhjLTMuMyAxLjUtNy41IDIuMi0xMi41IDIuMi03LjcgMC0xNC0yLjItMTguOS02LjYtNC44LTQuNC03LjMtMTAtNy4zLTE2LjggMC02LjMgMi4xLTEyLjEgNi40LTE3LjUgNC4zLTUuNCAxMC0xMCAxNy4zLTEzLjkgNy4zLTMuOSAxNS42LTYuOSAyNS4xLTkuMnMxOS42LTMuNCAzMC4yLTMuNGMxMy4xIDAgMjQuMyAxLjIgMzMuNyAzLjVzMTcuMiA1LjcgMjMuMyAxMCAxMC42IDkuNiAxMy41IDE1LjcgNC40IDEzIDQuNCAyMC42bDAgMTM2LjF6TTYwIDE3Mi45YTM3LjQgMzcuNCAwIDEgMSA3NC45IDAgMzcuNCAzNy40IDAgMSAxIC03NC45IDB6TTQ1Mi4yIDk1YTM3LjQgMzcuNCAwIDEgMSA3NC45IDAgMzcuNCAzNy40IDAgMSAxIC03NC45IDB6bTQ1IDc3LjlhMzcuNCAzNy40IDAgMSAxIDc0LjkgMCAzNy40IDM3LjQgMCAxIDEgLTc0LjkgMHptLTg5LjkgMGEzNy40IDM3LjQgMCAxIDEgNzQuOSAwIDM3LjQgMzcuNCAwIDEgMSAtNzQuOSAweiJdfSxjYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibmZjLWRpcmVjdGlvbmFsIixpY29uOls1MTIsNTEyLFtdLCJlNTMwIiwiTTIxMS44IDQ4OC42YzEuNiAyLjUgMi4xIDUuNiAxLjQgOC41LS42IDIuOS0yLjQgNS41LTQuOSA3LjEtMi42IDEuNi01LjYgMi4xLTguNiAxLjUtNjEuNC0xMy45LTExNS42LTQ5LjktMTUyLjItMTAxLjJTLTUuNCAyOTAuMyAxLjYgMjI3LjdjNy02Mi43IDM2LjgtMTIwLjUgODMuNy0xNjIuNSA0Ni45LTQyIDEwNy43LTY1LjIgMTcwLjctNjUuMiAxLjUgMCAyLjEgLjMgNC4zIC45IDEuNCAuNiAxLjggMS40IDMuNyAyLjUgMS4xIDEuMSAxLjkgMi4zIDIuNSAzLjcgLjUgMS40IC44IDIuOCAuOCA0LjNsMCAxMDEgMjQuNS0yNS45YzEtMS4xIDIuMi0yIDMuNi0yLjYgMS4zLS42IDIuOC0uOSA0LjMtMSAxLjUtLjEgMi45IC4yIDQuMyAuN3MyLjcgMS4zIDMuOCAyLjRjMSAxIDEuOSAyLjIgMi41IDMuNiAuNiAxLjMgMSAyLjggMSA0LjNzLS4yIDMtLjcgNC4zYy0uNiAxLjQtMS40IDIuNi0yLjQgMy43bC00NCA0Ni42Yy0xLjEgMS4xLTIuMyAyLTMuNyAyLjYtMS41IC42LTMgLjktNS40IC45LS42IDAtMi4yLS4zLTMuNi0uOXMtMi43LTEuNS0zLjctMi42bC00NC4xLTQ2LjZjLTItMi4yLTMuMS01LjEtMy04LjEgMC0zIDEuMy02LjcgMy41LTcuOSAyLjItMi4xIDUuMS0zLjIgOC4xLTMuMSAzIC4xIDUuOCAxLjMgNy45IDMuNWwyNC41IDI2IDAtODkuNWMtNTYuNCAyLjgtMTA5LjggMjUuOC0xNTAuNSA2NS00MC42IDM5LjEtNjUuNyA5MS43LTcwLjYgMTQ3LjlTMzQuNCAzNDguMSA2Ny43IDM5My43YzMyLjQgNDUuNSA4MiA3Ny41IDEzNyA4OS45IDIuOSAuNyA1LjUgMi41IDcuMSA1ek0xNzEuNCAxMjYuMWMtLjggMS4zLTEuOSAyLjQtMy4xIDMuMi0yMC41IDEzLjktMzcuMiAzMi42LTQ4LjggNTQuNXMtMTcuNyA0Ni4zLTE3LjcgNzEuMSA2LjEgNDkuMiAxNy43IDcwLjJjMTEuNiAyMi44IDI4LjMgNDEuNSA0OC44IDU1LjQgMi41IDEuNyA0LjIgNC4zIDQuNyA3LjMgLjYgMi45LS45IDYtMS43IDguNC0xLjcgMi41LTUuMiA0LjItNy4zIDMuOS0yLjkgMS40LTYgLjgtOC40LS45LTIzLjYtMTYtNDIuOC0zNy41LTU2LjEtNjIuNy0xMy4zLTI1LjEtMjAuMy01My4xLTIwLjMtODEuNiAwLTI4LjQgNy01Ni41IDIwLjMtODEuNiAxMy4zLTI1LjIgMzIuNS00Ni43IDU2LjEtNjIuNyAxLjItLjggMi42LTEuNCA0LTEuOCAxLjUtLjMgMy0uMyA0LjUgMCAxLjQgLjIgMi44IC44IDQuMSAxLjZzMi4zIDEuOSAzLjIgMy4xYy44IDEuMiAxLjQgMi42IDEuNyA0LjFzLjMgMyAwIDQuNGMtLjMgMS41LS44IDIuOS0xLjcgNC4xek0zNDAuOSAzODMuNWMuOC0xLjIgMS45LTIuMyAyLjItMy4xbDAtLjFjMjEuMy0xNCAzOC0zMi43IDQ5LjYtNTQuNiAxMS41LTIxLjggMTcuNS00Ni4yIDE3LjUtNzAuOXMtNi00OS4xLTE3LjUtNzFjLTExLjYtMjIuNy0yOC4zLTQwLjUtNDkuNi01NC41LS4zLS44LTEuNC0xLjktMi4yLTMuMS0uOC0xLjMtMS40LTIuNy0xLjYtNC4xLTEuMi0xLjUtLjMtMyAwLTQuNCAuMy0xLjUgLjktMi45IDEuNy00LjEgLjktMS4yIDEuMS0yLjMgMy4yLTMuMSAxLjItLjggMi42LTEuMyA0LjEtMS42czIuOS0uMyA0LjQgMCAyLjggLjkgNC4xIDEuOGMyMy40IDE2IDQyLjcgMzcuNSA1NS45IDYyLjYgMTMuMyAyNS4xIDE5LjQgNTMuMSAxOS40IDgxLjUgMCAyOC41LTYuMSA1Ni41LTE5LjQgODEuNi0xMy4yIDI1LjEtMzIuNSA0Ni42LTU1LjkgNjIuNi0xLjMgLjktMi42IDEuNS00LjEgMS44cy0yLjkgLjMtNC40IDAtMi45LTEuNy00LjEtMS42Yy0yLjEtLjgtMi4zLTEuOS0zLjItMy4xLS44LTEuMi0xLjQtMi42LTEuNy00LjEtLjMtMS40LTEuMi0yLjkgMC00LjQgLjItMS40IC44LTIuOCAxLjYtNC4xek0zMTIuMyA2LjNjNTYuMiAxMi43IDEwNi40IDQ0IDE0Mi43IDg4LjcgMzAuNCAzNy42IDQ5LjYgODMgNTUuMyAxMzEgNS42IDQ4LTIuNCA5Ni43LTIzLjIgMTQwLjMtMjAuOSA0My42LTUzLjYgODAuNS05NC41IDEwNi4zLTQwLjkgMjUuNy04OC4yIDM5LjQtMTM2LjYgMzkuNC0xLjUgMC0yLjktLjMtNC4zLS45LTEuNC0uNS0yLjYtMS40LTMuNy0yLjQtMS45LTEuMS0xLjktMi4zLTIuNC0zLjctLjYtMS40LS45LTIuOC0uOS00LjNsMC05OS4yLTI0LjUgMjZjLTIuMSAyLjItNC45IDIuNi03LjkgMy42LTMgLjEtNS45LTEuMS04LjEtNC0yLjItMS4yLTMuNS00LTMuNS03LS4xLTMgMS01LjkgMy04LjFsNDQuMS00Ni42YzEuMy0yLjIgNS4xLTMuNCA3LjMtMy40IDQgMCA2LjkgMS4yIDkuMSAzLjRsNDQgNDYuNmMyLjEgMi4yIDMuMiA1LjEgMy4xIDguMXMtMS40IDUuOC0zLjUgN2MtMi4yIDIuOS01LjEgNC4xLTguMSA0LTMtMS01LjktMS40LTcuOS0zLjZsLTI0LjUtMjUuOSAwIDg3LjVjNTYuNC0yLjggMTA5LjgtMjUuOCAxNTAuNS02NSA0MC43LTQwIDY1LjgtOTEuNyA3MC43LTE0Ny45IDQuOC01Ny4xLTEwLjgtMTEyLjMtNDQuMS0xNTcuOS0zMy4zLTQ1LjYtODItNzcuNS0xMzctODkuOS0xLjUtLjMtMi44LS45LTQuMS0xLjgtMS4yLS45LTIuMi0xLjktMy0zLjItLjgtMS4yLTIuMi0yLjYtMS42LTQuMS0uMi0xLjUtLjItMyAuMS00LjQgLjQtMS40IDEtMi44IDEuOC00IC45LTEuMiAyLTIuMiAzLjItMyAxLjMtLjggMi43LTEuMyA0LjEtMS42IDEuNS0uMyAzLS4yIDQuNCAuMXptNDAuOCAyNDkuOGMwIDMxLjQtMTcuNSA2MS4xLTQ5LjMgODMuNS0yLjEgMS41LTQuOCAyLjMtNy40IDItMi43LS4yLTUuMi0xLjMtNy0zLjJsLTcwLjEtNjkuOGMtMi4yLTIuMS00LjItNS0zLjQtOCAwLTMgMS4yLTUuOSAzLjMtOCAyLjItMi4xIDUtMy4zIDgtMy4zczUuOSAxLjIgOCAzLjNsNjMuMSA2Mi44YzIwLjgtMTcuMSAzMi4yLTM3LjkgMzIuMi01OS4zIDAtMjMuOS0xNC4xLTQ3LTM5LjctNjUuMS0yLjUtMS43LTQuMS00LjMtNC42LTcuMy0uNS0yLjkgLjEtNiAxLjktOC40IDEuNy0yLjUgNC4zLTQuMSA3LjMtNC42IDIuOS0uNSA2IC4xIDguNCAxLjkgMzEuOCAyMi40IDQ5LjMgNTIuMSA0OS4zIDgzLjV6TTIxNi43IDM0MS41Yy0zIC41LTYtLjItOC41LTEuOS0zMS43LTIyLjQtNTAuMS01Mi4xLTUwLjEtODMuNXMxOC40LTYxLjEgNTAuMS04My41YzIuMi0xLjYgNC45LTIuMyA3LjUtMi4xIDIuNyAuMyA1LjEgMS40IDcgMy4zbDcwLjEgNjkuOGMyLjEgMi4xIDMuMyA1IDMuMyA4cy0yIDUuOC0zLjMgOGMtMi4xIDIuMS01IDMuMy03LjkgMy4zLTMgMC02LjgtMS4yLTgtMy4zbC02My4xLTYyLjljLTIwLjkgMTcuMy0zMi4yIDM4LTMyLjIgNTkuNCAwIDIzIDE0LjEgNDcgMzkuNyA2NSAyLjQgMS44IDQuMSA0LjQgNC42IDcuNCAuNSAyLjktLjIgNS45LTEuOSA4LjQtMS43IDIuNC00LjQgNC4xLTcuMyA0LjZ6Il19LGRidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLWJ5IixpY29uOls1MTIsNTEyLFtdLCJmNGU3IiwiTTMyMi45IDE5NC40bDAgMTAxLjQtMjguMyAwIDAgMTIwLjUtNzcuMSAwIDAtMTIwLjQtMjguMyAwIDAtMTAxLjVjMC00LjQgMS42LTguMiA0LjYtMTEuMyAzLjEtMy4xIDYuOS00LjcgMTEuMy00LjdsMTAxLjkgMGM0LjEgMCA3LjggMS42IDExLjEgNC43IDMuMSAzLjIgNC44IDYuOSA0LjggMTEuM3ptLTMyLjUtNjQuNWEzNC41IDM0LjUgMCAxIDEgLTY5IC44IDM0LjUgMzQuNSAwIDEgMSA2OS0uOHpNMjU1LjYgOEMzOTcuNCA4IDUwNCAxMTguMSA1MDQgMjU2IDUwNCA0MDMuMSAzODUuNSA1MDQgMjU1LjYgNTA0IDEyMS42IDUwNCA4IDM5NC41IDggMjU2IDggMTIzLjEgMTEyLjcgOCAyNTUuNiA4em0uOCA0NC43Yy0xMTguMiAwLTIwMy43IDk3LjktMjAzLjcgMjAzLjMgMCAxMDkuOCA5MS4yIDIwMi44IDIwMy43IDIwMi44IDEwMy4yIDAgMjAyLjgtODEuMSAyMDIuOC0yMDIuOCAuMS0xMTMuOC05MC4yLTIwMy4zLTIwMi44LTIwMy4zeiJdfSx1YnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidW1icmFjbyIsaWNvbjpbNTEyLDUxMixbXSwiZjhlOCIsIk0yNTYuMyA4YTI0OCAyNDggMCAxIDAgLS43IDQ5NiAyNDggMjQ4IDAgMSAwIC43LTQ5NnptMTQ1IDI2NmMtLjggMjcuMS01LjQgNDguOC0xNCA2NXMtMjMuMSAyNy45LTQzLjUgMzVjLTIwLjQgNy4xLTQ4LjkgMTAuNi04NS40IDEwLjVsLTQuNiAwYy0zNi41IC4xLTY1LTMuMy04NS40LTEwLjVzLTM0LjktMTguOC00My41LTM1Yy04LjYtMTYuMi0xMy4yLTM3LjktMTQtNjUtLjctMTAuMi0uNy0yMC41IDAtMzAuNyAuNC0xNC43IDEuNi0yOS4zIDMuNi00My45IDEuOS0xMy40IDMuNi0yMi42IDUuNC0zMiAxLTQuOSAxLjMtNi40IDEuOC04LjQgLjMtMS4xIC45LTIuMSAxLjgtMi44czItMS4xIDMuMS0xLjFsLjcgMCAzMiA1YzEuMiAuMiAyLjIgLjggMyAxLjdzMS4yIDIuMSAxLjIgMy4zYzAgLjMgMCAuNSAwIC44bC0xLjcgOC44Yy0xLjYgOC44LTMuMiAyMC4xLTQuOCAzMy43LTEuNyAxNC0yLjUgMjguMS0yLjYgNDIuMi0uMiAyNyAyLjUgNDYuOSA4LjEgNTkuOCAyLjggNi40IDcuMiAxMiAxMi42IDE2LjRzMTEuOSA3LjQgMTguNyA4LjhjMTguOCA0IDM4LjEgNS43IDU3LjMgNS4xbDEwLjMgMGMxOS4yIC42IDM4LjUtMS4yIDU3LjMtNS4yIDYuOC0xLjQgMTMuMi00LjUgMTguNi04LjhzOS43LTEwIDEyLjUtMTYuNGM1LjctMTIuOSA4LjQtMzIuOSA4LjEtNTkuOC0uMS0xNC4xLTEtMjguMi0yLjYtNDIuMS0xLjctMTMuNi0zLjMtMjQuOC00LjktMzMuN2wtMS43LTguOGMwLS4zIDAtLjUgMC0uOCAwLTEuMiAuNC0yLjQgMS4yLTMuM3MxLjgtMS41IDMtMS43bDMyLTUgLjggMGMxLjEgMCAyLjIgLjQgMy4xIDEuMXMxLjUgMS43IDEuOCAyLjhjLjYgMiAuOCAzLjYgMS44IDguNCAxLjggOS42IDMuNSAxOC44IDUuNCAzMiAyIDE0LjYgMy4yIDI5LjIgMy42IDQzLjkgLjcgMTAuMiAuNyAyMC41IDAgMzAuN2wwIDB6Il19LHBidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJob29saSIsaWNvbjpbNjQwLDUxMixbXSwiZjQyNyIsIk0xNDQuNSAzNTJsMzguMyAuOGMtMTMuMi00LjYtMjYtMTAuMi0zOC4zLTE2LjhsMCAxNnptNTcuNy01LjNsMCA1LjMtMTkuNCAuOGMzNi41IDEyLjUgNjkuOSAxNC4yIDk0LjcgNy4yLTE5LjkgLjItNDUuOC0yLjYtNzUuMy0xMy4zek02MTEuMSAyMzEuNWMxNS45IDAgMjguOS0xMi45IDI4LjktMjguOXMtMTIuOS0yNC41LTI4LjktMjQuNWMtMTUuOSAwLTI4LjkgOC42LTI4LjkgMjQuNXMxMi45IDI4LjkgMjguOSAyOC45ek01ODIuMSAzNTJsNTcuOSAwIDAtMTEwLjUtNTcuOSAwIDAgMTEwLjV6bS03My43IDBsNTcuOSAwIDAtMTk1LjMtNTcuOSAyNy4zIDAgMTY4em0tMzEtMTE5LjRjLTE4LjItMTguMi01MC40LTE3LjEtNTAuNC0xNy4xcy0zMi4zLTEuMS01MC40IDE3LjFjLTE4LjIgMTguMi0xNi44IDMzLjktMTYuOCA1Mi42cy0xLjQgMzQuMyAxNi44IDUyLjUgNTAuNCAxNy4xIDUwLjQgMTcuMSAzMi4zIDEuMSA1MC40LTE3LjFjMTguMi0xOC4yIDE2LjgtMzMuOCAxNi44LTUyLjUtLjEtMTguOCAxLjMtMzQuNS0xNi44LTUyLjZ6bS0zOS44IDcxLjljMCAzLjYtMS44IDEyLjUtMTAuNyAxMi41cy0xMC43LTguOS0xMC43LTEyLjVsMC00MC40YzAtOC43IDcuMy0xMC45IDEwLjctMTAuOXMxMC43IDIuMSAxMC43IDEwLjlsMCA0MC40ek0zMzEuNCAyMzIuNmMtMTguMi0xOC4yLTUwLjQtMTcuMS01MC40LTE3LjFzLTMyLjItMS4xLTUwLjQgMTcuMWMtMS45IDEuOS0zLjcgMy45LTUuMyA2LTM4LjItMjkuNi03Mi41LTQ2LjUtMTAyLjEtNjEuMWwwLTIwLjctMjIuNSAxMC42Yy01NC40LTIyLjEtODktMTguMi05Ny4zIC4xIDAgMC0yNC45IDMyLjggNjEuOCAxMTAuOGwwIDczLjcgNTcuOSAwIDAtMjguNmMtNi41LTQuMi0xMy04LjctMTkuNC0xMy42LTE0LjgtMTEuMi0yNy40LTIxLjYtMzguNC0zMS40bDAtMzFjMTMuMSAxNC43IDMwLjUgMzEuNCA1My40IDUwLjNsNC41IDMuNiAwLTI5LjhjMC02LjkgMS43LTE4LjIgMTAuOC0xOC4yczEwLjYgNi45IDEwLjYgMTVsMCA0OC43YzE4IDEyLjIgMzcuMyAyMi4xIDU3LjcgMjkuNmwwLTkzLjljMC0xOC43LTEzLjQtMzcuNC00MC42LTM3LjQtMTUuOC0uMS0zMC41IDguMi0zOC41IDIxLjlsMC01NC4zYzQxLjkgMjAuOSA4My45IDQ2LjUgOTkuOSA1OC4zLTEwLjIgMTQuNi05LjMgMjguMS05LjMgNDMuNyAwIDE4LjctMS40IDM0LjMgMTYuOCA1Mi41czUwLjQgMTcuMSA1MC40IDE3LjEgMzIuMyAxLjEgNTAuNC0xNy4xYzE4LjItMTguMiAxNi43LTMzLjggMTYuNy01Mi41IDAtMTguNSAxLjUtMzQuMi0xNi43LTUyLjN6TTY1LjIgMTg0bDAgNjMuM2MtNDguNy01NC41LTM4LjktNzYtMzUuMi03OS4xIDEzLjUtMTEuNCAzNy41LTggNjQuNCAyLjFMNjUuMiAxODR6TTI5MS43IDMwNC41YzAgMy42LTEuOCAxMi41LTEwLjcgMTIuNXMtMTAuNy04LjktMTAuNy0xMi41bDAtNDAuNGMwLTguNyA3LjMtMTAuOSAxMC43LTEwLjlzMTAuNyAyLjEgMTAuNyAxMC45bDAgNDAuNHoiXX0sTHVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1naXQiLGljb246WzQ0OCw1MTIsWyJnaXQtc3F1YXJlIl0sImYxZDIiLCJNMTIwLjggMzM1LjVjLTUuOS0uNC0xMi42LS44LTIwLjItMS4zLTMuMyA0LjEtNi42IDguNC02LjYgMTMuNSAwIDE4LjUgNjUuNSAxOC41IDY1LjUtMS41IDAtOC4zLTcuNC04LjctMzguOC0xMC43bC4xIDB6bTcuOC0xMTcuOWMtMzIuMyAwLTMzLjcgNDQuNS0uNyA0NC41IDMyLjUgMCAzMS43LTQ0LjUgLjctNDQuNXpNMzg0IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTI0My45IDE3Mi4yYy0xNC41IDAtMjIuOS04LjQtMjIuOS0yMi45czguNC0yMi4zIDIyLjktMjIuM2MxNC43IDAgMjMuMSA3LjggMjMuMSAyMi4zcy04LjQgMjIuOS0yMy4xIDIyLjl6TTE0OS42IDE5NWw0OS41IDAgMCAyMS42LTIzLjQgMS44YzQuNiA1LjggOS40IDE0IDkuNCAyNS43IDAgNDguNy01Ny4yIDQ3LjItNzQuMiA0Mi40bC04LjQgMTMuNGM1IC4zIDkuOCAuNiAxNC4zIC44IDU2LjMgMy4yIDgwLjUgNC42IDgwLjUgMzguNSAwIDI5LjItMjUuNyA0NS43LTY5LjkgNDUuNy00NiAwLTYzLjUtMTEuNi02My41LTMxLjcgMC0xMS40IDUuMS0xNy41IDE0LTI1LjktOC40LTMuNS0xMS4yLTkuOS0xMS4yLTE2LjggMC05LjYgNy40LTE2LjMgMjMtMzAuNmwuMi0uMmMtMTIuNC02LjEtMjEuOC0xOS4zLTIxLjgtMzguMSAwLTUxLjYgNTYuNi01My4zIDgxLjYtNDYuOGwtLjEgLjJ6TTI3MC41IDMwMy4xbDEzIDEuOCAwIDIwLjEtNzIuNCAwIDAtMjAuMWMyLjctLjQgNS0uNyA2LjktLjkgOS45LTEuMiAxMC4xLTEuMyAxMC4xLTZsMC03NC43YzAtNC40LS45LTQuNy0xMC4xLTcuOC0xLjktLjctNC4yLTEuNC02LjktMi40bDIuOC0yMC42IDUyLjYgMCAwIDEwNS41YzAgNC4xIC4yIDQuNiA0LjEgNS4xbC0uMSAwem0xMDYuNi0xMC40TDM4NCAzMTVjLTEwLjkgNS40LTI2LjkgMTAuMi00MS40IDEwLjItMzAuMiAwLTQxLjctMTIuMi00MS43LTQwLjlsMC02Ni42YzAtLjggMC0xLjQtLjItMS44LS44LTEuMi00LjItLjctMTkuNi0uN2wwLTIyLjZjMjIuMy0yLjUgMzEuMi0xMy43IDM0LTQxLjRsMjQuMiAwYzAgMzMuMy0uNiAzOCAuNyAzOC42IC4zIC4xIC43IDAgMS4zIDBsMzUuOCAwIDAgMjUuNC0zNy44IDAgMCA2MS42Yy0uMiA2LjMtLjkgMzAuNCAzNy45IDE1LjlsLS4xIDB6Il19LGZidD1MdWUsaGJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9kbm9rbGFzc25pa2kiLGljb246WzMyMCw1MTIsW10sImYyNjMiLCJNMjc1LjEgMzM0Yy0yNy40IDE3LjQtNjUuMSAyNC4zLTkwIDI2LjlsMjAuOSAyMC42IDc2LjMgNzYuM2MyNy45IDI4LjYtMTcuNSA3My4zLTQ1LjcgNDUuNy0xOS4xLTE5LjQtNDcuMS00Ny40LTc2LjMtNzYuNkw4NCA1MDMuNGMtMjguMiAyNy41LTczLjYtMTcuNi00NS40LTQ1LjcgMTkuNC0xOS40IDQ3LjEtNDcuNCA3Ni4zLTc2LjNsMjAuNi0yMC42Yy0yNC42LTIuNi02Mi45LTkuMS05MC42LTI2LjktMzIuNi0yMS00Ni45LTMzLjMtMzQuMy01OSA3LjQtMTQuNiAyNy43LTI2LjkgNTQuNi01LjcgMCAwIDM2LjMgMjguOSA5NC45IDI4LjlTMjU1IDI2OS4yIDI1NSAyNjkuMmMyNi45LTIxLjEgNDcuMS04LjkgNTQuNiA1LjcgMTIuNCAyNS43LTEuOSAzOC0zNC41IDU5LjF6bTE0LjYtMjA0LjdhMTI5LjcgMTI5LjcgMCAxIDEgLTI1OS40IC40IDEyOS43IDEyOS43IDAgMSAxIDI1OS40LS40em0tMTkzLjQgLjRhNjMuNyA2My43IDAgMSAwIDEyNy40LS40IDYzLjcgNjMuNyAwIDEgMCAtMTI3LjQgLjR6Il19LG1idD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkcnVwYWwiLGljb246WzM4NCw1MTIsW10sImYxYTkiLCJNMjcyLjMgMTA4LjFDMjM2LjUgNzIuNSAyMDIuNSAzOC40IDE5Mi40IDAgMTgyLjQgMzguNCAxNDguMSA3Mi41IDExMi40IDEwOC4xIDU4LjggMTYxLjctMS45IDIyMi40LTEuOSAzMTMuNC00LjMgNDIwLjcgODAuOCA1MDkuNiAxODguMSA1MTJzMTk2LjItODIuOCAxOTguNS0xOTAuMWMuMS0yLjggLjEtNS42IDAtOC41IDAtOTEuMS02MC44LTE1MS43LTExNC4zLTIwNS4zek05OCAzMzEuMWMtNS45IDcuNS0xMSAxNS42LTE1LjIgMjQuMi0uMyAuNy0uOCAxLjMtMS4zIDEuOHMtMS4yIC44LTIgMWwtMS43IDBjLTQuMyAwLTkuMi04LjUtOS4yLTguNS0xLjMtMi0yLjUtNC4yLTMuNy02LjRsLS44LTEuOGMtMTEuMi0yNS43LTEuNS02Mi4zLTEuNS02Mi4zIDQuOC0xNy44IDEyLjctMzQuNyAyMy4yLTQ5LjkgNi40LTkuNiAxMy41LTE4LjkgMjEtMjcuN2w5LjIgOS4yIDQzLjUgNDQuNGMuOCAuOSAxLjMgMi4xIDEuMyAzLjNzLS41IDIuNC0xLjMgMy4zTDExNC4xIDMxMi4zIDk4IDMzMS4xem05Ni42IDEyNy4zYy0xMi45LS4xLTI1LjYtMy45LTM2LjQtMTFzLTE5LjQtMTcuMS0yNC42LTI4LjktNy0yNC45LTUtMzcuNyA3LjYtMjQuNyAxNi4yLTM0LjRjMTQuMi0xNi45IDMxLjUtMzMuNSA1MC4zLTU1LjMgMjIuMyAyMy44IDM2LjkgNDAuMSA1MS4yIDU4IDEuMSAxLjQgMi4xIDIuOSAzIDQuNCA3LjggMTEuMSAxMiAyNC40IDEyIDM4IDAgOC44LTEuNyAxNy40LTUgMjUuNXMtOC4yIDE1LjUtMTQuNCAyMS43LTEzLjUgMTEuMS0yMS42IDE0LjUtMTYuNyA1LjEtMjUuNSA1LjFsLS4yIDB6TTMyMC43IDM1MS42Yy0uNCAxLjQtMS4yIDIuNi0yLjMgMy42cy0yLjQgMS42LTMuOCAxLjhsLTEuMyAwYy0yLjYtLjktNC45LTIuNy02LjMtNS4xLTExLjYtMTcuNS0yNC45LTMzLjktMzkuNS00OWwtMTcuOC0xOC40LTU5LjEtNjEuM2MtMTIuNC0xMS41LTI0LjItMjMuNi0zNS40LTM2LjMtLjMtLjUtLjYtLjktLjktMS40LTItMi44LTMuNi01LjktNC43LTkuMmwwLTEuOGMtLjgtNS0uNC0xMC4xIDEuMi0xNXM0LjQtOS4yIDgtMTIuN2MxMS40LTExLjQgMjMtMjMgMzMuOC0zNC45IDEyIDEzLjMgMjQuOCAyNiAzNy40IDM4LjYgMjUuOCAyNCA0OS4xIDUwLjUgNjkuNiA3OS4xIDE3LjMgMjQuNSAyNi43IDUzLjggMjcgODMuOC0uMSAxMi45LTIuMiAyNS44LTYgMzguMnoiXX0sZ2J0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJsb2dnZXItYiIsaWNvbjpbNDQ4LDUxMixbXSwiZjM3ZCIsIk00NDYuNiAyMjIuN2MtMS44LTgtNi44LTE1LjQtMTIuNS0xOC41LTEuOC0xLTEzLTIuMi0yNS0yLjctMjAuMS0uOS0yMi4zLTEuMy0yOC43LTUtMTAuMS01LjktMTIuOC0xMi4zLTEyLjktMjkuNS0uMS0zMy0xMy44LTYzLjctNDAuOS05MS4zLTE5LjMtMTkuNy00MC45LTMzLTY1LjUtNDAuNS01LjktMS44LTE5LjEtMi40LTYzLjMtMi45LTY5LjQtLjgtODQuOCAuNi0xMDguNCAxMC00My41IDE3LjItNzQuNyA1My44LTg2LjEgMTAwLjYtMi4xIDguOC0yLjYgMjIuOS0zLjEgMTAzLjktLjYgMTAxLjUgLjEgMTE2LjQgNi40IDEzNi41IDE1LjYgNDkuNiA1OS45IDg2LjMgMTA0LjQgOTQuMyAxNC44IDIuNyAxOTcuMyAzLjMgMjE2IC44IDMyLjUtNC40IDU4LTE3LjUgODEuOS00MS45IDE3LjMtMTcuNyAyOC4xLTM2LjggMzUuMi02Mi4xIDQuOS0xNy42IDQuNS0xNDIuOCAyLjUtMTUxLjd6TTEyNC41IDE1OS4xYzcuOC03LjkgMTAtOC4yIDU4LjgtOC4yIDQzLjkgMCA0NS40IC4xIDUxLjggMy40IDkuMyA0LjcgMTMuNCAxMS4zIDEzLjQgMjEuOSAwIDkuNS0zLjggMTYuMi0xMi4zIDIxLjYtNC42IDIuOS03LjMgMy4xLTUwLjMgMy4zLTI2LjUgLjItNDcuNy0uNC01MC44LTEuMi0xNi42LTQuNy0yMi44LTI4LjUtMTAuNi00MC44ek0zMTYuMyAzNTguOWwtMTQuOSAyLjQtNzcuNSAuOWMtNjguMSAuOC04Ny4zLS40LTkwLjktMi03LjEtMy4xLTEzLjgtMTEuNy0xNC45LTE5LjQtMS4xLTcuMyAyLjYtMTcuMyA4LjItMjIuNCA3LjEtNi40IDEwLjItNi42IDk3LjMtNi43IDg5LjYtLjEgODkuMS0uMSA5Ny42IDcuOCAxMi4xIDExLjMgOS41IDMxLjItNC45IDM5LjR6Il19LGJidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJpbnZpc2lvbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjdiMCIsIk00MDcuNCAzMkw0MC42IDMyQzE4LjIgMzIgMCA1MC4yIDAgNzIuNkwwIDQzOS40QzAgNDYxLjggMTguMiA0ODAgNDAuNiA0ODBsMzY2LjggMGMyMi40IDAgNDAuNi0xOC4yIDQwLjYtNDAuNmwwLTM2Ni44QzQ0OCA1MC4yIDQyOS44IDMyIDQwNy40IDMyek0xNzYuMSAxNDUuNmMuNCAyMy40LTIyLjQgMjcuMy0yNi42IDI3LjQtMTQuOSAwLTI3LjEtMTItMjcuMS0yNyAuMS0zNS4yIDUzLjEtMzUuNSA1My43LS40ek0zMzIuOCAzNzdjLTY1LjYgMC0zNC4xLTc0LTI1LTEwNi42IDE0LjEtNDYuNC00NS4yLTU5LTU5LjkgLjdsLTI1LjggMTAzLjMtNDUuMSAwIDguMS0zMi41Yy0zMS41IDUxLjgtOTQuNiA0NC40LTk0LjYtNC4zIC4xLTE0LjMgLjktMTQgMjMtMTA0LjFsLTMxLjggMCA5LjctMzUuNiA3Ni40IDBjLTMzLjYgMTMzLjctMzIuNiAxMjYuOS0zMi45IDEzOC4yIDAgMjAuOSA0MC45IDEzLjUgNTcuNC0yMy4ybDE5LjgtNzkuNC0zMi4zIDAgOS43LTM1LjYgNjguOCAwLTguOSA0MC41YzQwLjUtNzUuNSAxMjcuOS00Ny44IDEwMS44IDM4LTE0LjIgNTEuMS0xNC42IDUwLjctMTQuOSA1OC44IDAgMTUuNSAxNy41IDIyLjYgMzEuOC0xNi45TDM4NiAzMjVjLTEwLjUgMzYuNy0yOS40IDUyLTUzLjIgNTJ6Il19LHZidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmYWNlYm9vay1mIixpY29uOlszMjAsNTEyLFtdLCJmMzllIiwiTTgwIDI5OS4zbDAgMjEyLjcgMTE2IDAgMC0yMTIuNyA4Ni41IDAgMTgtOTcuOC0xMDQuNSAwIDAtMzQuNmMwLTUxLjcgMjAuMy03MS41IDcyLjctNzEuNSAxNi4zIDAgMjkuNCAuNCAzNyAxLjJsMC04OC43QzI5MS40IDQgMjU2LjQgMCAyMzYuMiAwIDEyOS4zIDAgODAgNTAuNSA4MCAxNTkuNGwwIDQyLjEtNjYgMCAwIDk3LjggNjYgMHoiXX0seGJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNlbnRvcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjc4OSIsIk0yODkuNiA5Ny41bDMxLjYgMzEuNy03Ni4zIDc2LjUgMC0xMDguMiA0NC43IDB6TTEyNy4yIDEyOS4ybDc2LjMgNzYuNSAwLTEwOC4yLTQ0LjcgMC0zMS42IDMxLjd6bTQxLjUtNDEuNmw0NC43IDAgMCAxMjcuOSAxMC44IDEwLjggMTAuOC0xMC44IDAtMTI3LjkgNDQuNyAwLTU1LjUtNTUuNi01NS41IDU1LjZ6bTI2LjIgMTY4LjFsLTEwLjgtMTAuOC0xMjguNiAwIDAtNDQuOC01NS41IDU1LjYgNTUuNSA1NS42IDAtNDQuOCAxMjguNiAwIDEwLjgtMTAuOHpNMjc0LjIgMjM1bDEwNy45IDAgMC00NC44LTMxLjYtMzEuNy03Ni4zIDc2LjV6bTE3My4zIDIwLjdsLTU1LjUtNTUuNiAwIDQ0LjgtMTI3LjcgMC0xMC44IDEwLjggMTAuOCAxMC44IDEyNy43IDAgMCA0NC44IDU1LjUtNTUuNnpNNjUuNCAxNzYuMmwzMi41LTMxLjcgOTAuMyA5MC41IDE1LjMgMCAwLTE1LjMtOTAuMy05MC41IDMxLjYtMzEuNy03OS40IDAgMCA3OC43ek0zODIuMSA5Ny41bC03OC41IDAgMzEuNiAzMS43LTkwLjMgOTAuNSAwIDE1LjMgMTUuMyAwIDkwLjMtOTAuNSAzMS42IDMxLjcgMC03OC43ek0yMDMuNSA0MTMuOWwwLTEwOC4xLTc2LjMgNzYuNSAzMS42IDMxLjcgNDQuNyAwIDAtLjF6TTY1LjQgMjM1bDEwOC44IDAtNzYuMy03Ni41LTMyLjUgMzEuNyAwIDQ0Ljh6TTM4Mi4xIDMzNS4ybC0zMS42IDMxLjctOTAuMy05MC41LTE1LjMgMCAwIDE1LjMgOTAuMyA5MC41LTMxLjYgMzEuNyA3OC41IDAgMC03OC43em0wLTU4LjhsLTEwNy45IDAgNzYuMyA3Ni41IDMxLjYtMzEuNyAwLTQ0Ljh6TTMyMS4yIDM4Mi4ybC03Ni4zLTc2LjUgMCAxMDguMSA0NC43IDAgMzEuNi0zMS42ek05Ny45IDM1Mi45bDc2LjMtNzYuNS0xMDguOCAwIDAgNDQuOCAzMi41IDMxLjd6bTE4MS44IDcwLjlsLTQ0LjcgMCAwLTEyNy45LTEwLjgtMTAuOC0xMC44IDEwLjggMCAxMjcuOS00NC43IDAgNTUuNSA1NS42IDU1LjUtNTUuNnpNMTEzLjIgMzgyLjJsOTAuMy05MC41IDAtMTUuMy0xNS4zIDAtOTAuMyA5MC41LTMyLjUtMzEuNyAwIDc4LjcgNzkuNCAwLTMxLjYtMzEuN3oiXX0seWJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNjYWxld2F5IixpY29uOls0NDgsNTEyLFtdLCJlODU5IiwiTTI0My40IDExNy4zbC04NC4zIDBjLTE4LjUgMi4xLTMyLjcgMTcuNS0zMy40IDM2bDAgMTIxLjljMCA4LjIgMy4yIDE1LjMgOC41IDIwLjdzMTIuNSA4LjYgMjAuNiA4LjZjMTYgMCAyOS4yLTEzLjIgMjkuMi0yOS4ybDAtNzcuNGMwLTEyLjEgMTAtMjIuMSAyMi4xLTIyLjFsMzguMSAwYzguMiAwIDE1LjMtMy4yIDIwLjYtOC42czguNS0xMi44IDguNS0yMWMwLTE2LTEzLjktMjguOS0yOS45LTI4Ljl6TTIwNS4zIDM5NS40bDg0LjMgMGMxOC41LTIuMSAzMi43LTE3LjUgMzMuNC0zNmwwLTEyMS45YzAtOC4yLTMuMi0xNS4zLTguNS0yMC43cy0xMi41LTguNi0yMC42LTguNmMtMTYgMC0yOS4yIDEzLjItMjkuMiAyOS4ybDAgNzcuNGMwIDEyLjEtMTAgMjIuMS0yMi4xIDIyLjFsLTM4LjEgMGMtOC4yIDAtMTUuMyAzLjItMjAuNiA4LjZzLTguNSAxMi44LTguNSAyMWMuNCAxNiAxMy45IDI4LjkgMjkuOSAyOC45ek0xMDQuMyAwTDI1Ny42IDBjMTAxIDAgMTgyLjUgODEuNiAxODIuMSAxODIuOWwwIDI0Mi44Yy00LjYgNDYtNDIgODIuNC04OC4yIDg2LjNMMTkwIDUxMkM4OS4zIDUxMiA3LjUgNDMwIDcuNSAzMjkuMUw3LjUgOTdjMC01My41IDQzLjQtOTcgOTYuOC05N3pNMzgxLjcgMTgyLjljMC02OC41LTU1LjktMTI0LjQtMTI0LjItMTI0LjRsLTE1MyAwQzgzLjMgNTguNSA2Ni4yIDc1LjYgNjYuMiA5N2wwIDIzMi4xYzAgNjguOCA1NS41IDEyNC40IDEyNC4yIDEyNC40bDE1OC43IDBjMTYuNy0yLjEgMjkuOS0xNSAzMi43LTMxLjRsMC0yMzkuMnoiXX0sd2J0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLWFtYXpvbi1wYXkiLGljb246WzU3Niw1MTIsW10sImY0MmQiLCJNMTI0LjcgMjAxLjhjLjEtMTEuOCAwLTIzLjUgMC0zNS4zbDAtMzUuM2MwLTEuMyAuNC0yIDEuNC0yLjcgMTEuNS04IDI0LjEtMTIuMSAzOC4yLTExLjEgMTIuNSAuOSAyMi43IDcgMjguMSAyMS43IDMuMyA4LjkgNC4xIDE4LjIgNC4xIDI3LjcgMCA4LjctLjcgMTcuMy0zLjQgMjUuNi01LjcgMTcuOC0xOC43IDI0LjctMzUuNyAyMy45LTExLjctLjUtMjEuOS01LTMxLjQtMTEuNy0uOS0uOC0xLjQtMS42LTEuMy0yLjh6bTE1NC45IDE0LjZjNC42IDEuOCA5LjMgMiAxNC4xIDEuNSAxMS42LTEuMiAyMS45LTUuNyAzMS4zLTEyLjUgLjktLjYgMS4zLTEuMyAxLjMtMi41LS4xLTMuOSAwLTcuOSAwLTExLjggMC00LS4xLTggMC0xMiAwLTEuNC0uNC0yLTEuOC0yLjItNy0uOS0xMy45LTIuMi0yMC45LTIuOS03LS42LTE0LS4zLTIwLjggMS45LTYuNyAyLjItMTEuNyA2LjItMTMuNyAxMy4xLTEuNiA1LjQtMS42IDEwLjggLjEgMTYuMiAxLjYgNS41IDUuMiA5LjIgMTAuNCAxMS4yek01NzYgODBsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDQ4MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0zNjguNSAxMDMuOWMuNCAxLjcgLjkgMy40IDEuNiA1LjEgMTYuNSA0MC42IDMyLjkgODEuMyA0OS41IDEyMS45IDEuNCAzLjUgMS43IDYuNCAuMiA5LjktMi44IDYuMi00LjkgMTIuNi03LjggMTguNy0yLjYgNS41LTYuNyA5LjUtMTIuNyAxMS4yLTQuMiAxLjEtOC41IDEuMy0xMi45IC45LTIuMS0uMi00LjItLjctNi4zLS44LTIuOC0uMi00LjIgMS4xLTQuMyA0LS4xIDIuOC0uMSA1LjYgMCA4LjMgLjEgNC42IDEuNiA2LjcgNi4yIDcuNSA0LjcgLjggOS40IDEuNiAxNC4yIDEuNyAxNC4zIC4zIDI1LjctNS40IDMzLjEtMTcuOSAyLjktNC45IDUuNi0xMC4xIDcuNy0xNS40IDE5LjgtNTAuMSAzOS41LTEwMC4zIDU5LjItMTUwLjUgLjYtMS41IDEuMS0zIDEuMy00LjYgLjQtMi40LS43LTMuNi0zLjEtMy43LTUuNi0uMS0xMS4xIDAtMTYuNyAwLTMuMSAwLTUuMyAxLjQtNi40IDQuMy0uNCAxLjEtLjkgMi4zLTEuMyAzLjRsLTI5LjEgODMuN2MtMi4xIDYuMS00LjIgMTIuMS02LjUgMTguNi0uNC0uOS0uNi0xLjQtLjgtMS45LTEwLjgtMjkuOS0yMS42LTU5LjktMzIuNC04OS44LTEuNy00LjctMy41LTkuNS01LjMtMTQuMi0uOS0yLjUtMi43LTQtNS40LTQtNi40LS4xLTEyLjgtLjItMTkuMi0uMS0yLjIgMC0zLjMgMS42LTIuOCAzLjd6TTI0Mi40IDIwNmMxLjcgMTEuNyA3LjYgMjAuOCAxOCAyNi42IDkuOSA1LjUgMjAuNyA2LjIgMzEuNyA0LjYgMTIuNy0xLjkgMjMuOS03LjMgMzMuOC0xNS41IC40LS4zIC44LS42IDEuNC0xIC41IDMuMiAuOSA2LjIgMS41IDkuMiAuNSAyLjYgMi4xIDQuMyA0LjUgNC40IDQuNiAuMSA5LjEgLjEgMTMuNyAwIDIuMy0uMSAzLjgtMS42IDQtMy45IC4xLS44IC4xLTEuNiAuMS0yLjNsMC04OC44YzAtMy42LS4yLTcuMi0uNy0xMC44LTEuNi0xMC44LTYuMi0xOS43LTE1LjktMjUuNC01LjYtMy4zLTExLjgtNS0xOC4yLTUuOS0zLS40LTYtLjctOS4xLTEuMWwtMTAgMGMtLjggLjEtMS42IC4zLTIuNSAuMy04LjIgLjQtMTYuMyAxLjQtMjQuMiAzLjUtNS4xIDEuMy0xMCAzLjItMTUgNC45LTMgMS00LjUgMy4yLTQuNCA2LjUgLjEgMi44LS4xIDUuNiAwIDguMyAuMSA0LjEgMS44IDUuMiA1LjcgNC4xIDYuNS0xLjcgMTMuMS0zLjUgMTkuNy00LjggMTAuMy0xLjkgMjAuNy0yLjcgMzEuMS0xLjIgNS40IC44IDEwLjUgMi40IDE0LjEgNyAzLjEgNCA0LjIgOC44IDQuNCAxMy43IC4zIDYuOSAuMiAxMy45IC4zIDIwLjggMCAuNC0uMSAuNy0uMiAxLjItLjQgMC0uOCAwLTEuMS0uMS04LjgtMi4xLTE3LjctMy42LTI2LjgtNC4xLTkuNS0uNS0xOC45IC4xLTI3LjkgMy4yLTEwLjggMy44LTE5LjUgMTAuMy0yNC42IDIwLjgtNC4xIDguMy00LjYgMTctMy40IDI1Ljh6TTk4LjcgMTA2LjlsMCAxNzUuM2MwIC44IDAgMS43IC4xIDIuNSAuMiAyLjUgMS43IDQuMSA0LjEgNC4yIDUuOSAuMSAxMS44IC4xIDE3LjcgMCAyLjUgMCA0LTEuNyA0LjEtNC4xIC4xLS44IC4xLTEuNyAuMS0yLjVsMC02MC43Yy45IC43IDEuNCAxLjIgMS45IDEuNiAxNSAxMi41IDMyLjIgMTYuNiA1MS4xIDEyLjkgMTcuMS0zLjQgMjguOS0xMy45IDM2LjctMjkuMiA1LjgtMTEuNiA4LjMtMjQuMSA4LjctMzcgLjUtMTQuMy0xLTI4LjQtNi44LTQxLjctNy4xLTE2LjQtMTguOS0yNy4zLTM2LjctMzAuOS0yLjctLjYtNS41LS44LTguMi0xLjJsLTcgMGMtMS4yIC4yLTIuNCAuMy0zLjYgLjUtMTEuNyAxLjQtMjIuMyA1LjgtMzEuOCAxMi43LTIgMS40LTMuOSAzLTUuOSA0LjUtLjEtLjUtLjMtLjgtLjQtMS4yLS40LTIuMy0uNy00LjYtMS4xLTYuOS0uNi0zLjktMi41LTUuNS02LjQtNS42bC05LjcgMGMtNS45LS4xLTYuOSAxLTYuOSA2Ljh6TTQ5My42IDMzOWMtMi43LS43LTUuMSAwLTcuNiAxLTQzLjkgMTguNC04OS41IDMwLjItMTM2LjggMzUuOC0xNC41IDEuNy0yOS4xIDIuOC00My43IDMuMi0yNi42IC43LTUzLjItLjgtNzkuNi00LjMtMTcuOC0yLjQtMzUuNS01LjctNTMtOS45LTM3LTguOS03Mi43LTIxLjctMTA2LjctMzguOC04LjgtNC40LTE3LjQtOS4zLTI2LjEtMTQtMy44LTIuMS02LjItMS41LTguMiAyLjFsMCAxLjdjMS4yIDEuNiAyLjIgMy40IDMuNyA0LjggMzYgMzIuMiA3Ni42IDU2LjUgMTIyIDcyLjkgMjEuOSA3LjkgNDQuNCAxMy43IDY3LjMgMTcuNSAxNCAyLjMgMjggMy44IDQyLjIgNC41IDMgLjEgNiAuMiA5IC40IC43IDAgMS40IC4yIDIuMSAuM2wxNy43IDBjLjctLjEgMS40LS4zIDIuMS0uMyAxNC45LS40IDI5LjgtMS44IDQ0LjYtNCAyMS40LTMuMiA0Mi40LTguMSA2Mi45LTE0LjcgMjkuNi05LjYgNTcuNy0yMi40IDgzLjQtNDAuMSAyLjgtMS45IDUuNy0zLjggOC02LjIgNC4zLTQuNCAyLjMtMTAuNC0zLjMtMTEuOXpNNTQ0IDMxMS4zYy0uOC00LjItNC01LjgtNy42LTctNS43LTEuOS0xMS42LTIuOC0xNy42LTMuMy0xMS0uOS0yMi0uNC0zMi44IDEuNi0xMiAyLjItMjMuNCA2LjEtMzMuNSAxMy4xLTEuMiAuOC0yLjQgMS44LTMuMSAzLS42IC45LS43IDIuMy0uNSAzLjQgLjMgMS4zIDEuNyAxLjYgMyAxLjUgLjYgMCAxLjIgMCAxLjgtLjFsMTkuNS0yLjFjOS42LS45IDE5LjItMS41IDI4LjgtLjggNC4xIC4zIDguMSAxLjIgMTIgMi4yIDQuMyAxLjEgNi4yIDQuNCA2LjQgOC43IC4zIDYuNy0xLjIgMTMuMS0yLjkgMTkuNS0zLjUgMTIuOS04LjMgMjUuNC0xMy4zIDM3LjgtLjMgLjgtLjcgMS43LS44IDIuNS0uNCAyLjUgMSA0IDMuNCAzLjUgMS40LS4zIDMtMS4xIDQtMi4xIDMuNy0zLjYgNy41LTcuMiAxMC42LTExLjIgMTAuNy0xMy44IDE3LTI5LjYgMjAuNy00Ni42IC43LTMgMS4yLTYuMSAxLjctOS4xIC4yLTQuNyAuMi05LjYgLjItMTQuNXoiXX0sTWJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImViYXkiLGljb246WzY0MCw1MTIsW10sImY0ZjQiLCJNNjA2LjUgMTg5LjVsLTU0LjggMTA5LjktNTQuOS0xMDkuOS0zNy41IDAgMTAuOSAyMC42Yy0xMS41LTE5LTM1LjktMjYtNjMuMy0yNi0zMS44IDAtNjcuOSA4LjctNzEuNSA0My4xbDMzLjcgMGMxLjQtMTMuOCAxNS43LTIxLjggMzUtMjEuOCAyNiAwIDQxIDkuNiA0MSAzM2wwIDMuNGMtMTIuNyAwLTI4IC4xLTQxLjcgLjQtNDIuNCAuOS02OS42IDEwLTc2LjcgMzQuNCAxLTUuMiAxLjUtMTAuNiAxLjUtMTYuMiAwLTUyLjEtMzkuNy03Ni4yLTc1LjQtNzYuMi0yMS4zIDAtNDMgNS41LTU4LjcgMjQuMmwwLTgwLjYtMzIuMSAwIDAgMTY5LjVjMCAxMC4zLS42IDIyLjktMS4xIDMzLjFsMzEuNSAwYy43LTYuMyAxLjEtMTIuOSAxLjEtMTkuNSAxMy42IDE2LjYgMzUuNCAyNC45IDU4LjcgMjQuOSAzNi45IDAgNjQuOS0yMS45IDczLjMtNTQuMi0uNSAyLjgtLjcgNS44LS43IDkgMCAyNC4xIDIxLjEgNDUgNjAuNiA0NSAyNi42IDAgNDUuOC01LjcgNjEuOS0yNS41IDAgNi42IC4zIDEzLjMgMS4xIDIwLjJsMjkuOCAwYy0uNy04LjItMS0xNy41LTEtMjYuOGwwLTY1LjZjMC05LjMtMS43LTE3LjItNC44LTIzLjhsNjEuNSAxMTYuMS0yOC41IDU0LjEgMzUuOSAwIDk5LjItMTk0LjgtMzQgMHpNMjQ0LjIgMzEzLjhjLTI5LjYgMC01MC4yLTIxLjUtNTAuMi01My44IDAtMzIuNCAyMC42LTUzLjggNTAuMi01My44IDI5LjggMCA1MC4yIDIxLjQgNTAuMiA1My44IDAgMzIuMy0yMC40IDUzLjgtNTAuMiA1My44em0yMDAuOS00Ny4zYzAgMzAtMTcuOSA0OC40LTUxLjYgNDguNC0yNS4xIDAtMzUtMTMuNC0zNS0yNS44IDAtMTkuMSAxOC4xLTI0LjQgNDcuMi0yNS4zIDEzLjEtLjUgMjcuNi0uNiAzOS40LS42bDAgMy4zek0zMy4yIDI2OC4xbDEyOC44IDAgMC04LjVjMC01MS43LTMzLjEtNzUuNC03OC40LTc1LjQtNTYuOCAwLTgzIDMwLjgtODMgNzcuNiAwIDQyLjUgMjUuMyA3NCA4Mi41IDc0IDMxLjQgMCA2OC0xMS43IDc0LjQtNDYuMWwtMzMuMSAwYy0xMiAzNS44LTg3LjcgMzYuNy05MS4yLTIxLjZ6bTk1LTIxLjRsLTk0LjQgMGM2LjktNTYuNiA5Mi4xLTU0LjcgOTQuNCAweiJdfSxrYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY29udGFvIixpY29uOls1MTIsNTEyLFtdLCJmMjZkIiwiTTQ1LjQgMzA1YzE0LjQgNjcuMSAyNi40IDEyOSA2OC4yIDE3NUwzNCA0ODBjLTE4LjcgMC0zNC0xNS4yLTM0LTM0TDAgNjZDMCA0Ny4zIDE1LjIgMzIgMzQgMzJsNTcuNyAwYy0xMy44IDEyLjYtMjYuMSAyNy4yLTM2LjkgNDMuNi00NS40IDcwLTI3IDE0Ni44LTkuNCAyMjkuNHpNNDc4IDMybC05MC4yIDBjMjEuNCAyMS40IDM5LjIgNDkuNSA1Mi43IDg0LjFMMzAzLjQgMTQ1LjRjLTE0LjktMjktMzcuOC01My4zLTgyLjYtNDMuOS0yNC42IDUuMy00MSAxOS4zLTQ4LjMgMzQuNi04LjggMTguNy0xMy4yIDM5LjggOC4yIDE0MC4zIDIxLjEgMTAwLjIgMzMuNyAxMTcuNyA0OS41IDEzMS4yIDEyLjkgMTEuMSAzMy40IDE3IDU4LjMgMTEuNyA0NC41LTkuNCA1NS43LTQwLjcgNTcuNC03My4ybDEzNy40LTI5LjZjMy4yIDcxLjUtMTguNyAxMjUuMi01Ny40IDE2My42bDUyLjEgMGMxOC43IDAgMzQtMTUuMiAzNC0zNEw1MTIgNjZjMC0xOC44LTE1LjItMzQtMzQtMzR6Il19LFNidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlbGxvIixpY29uOls1MTIsNTEyLFtdLCJmNWYxIiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNMzk5LjggMjkzLjJDMzgzLjMgMzU4LjUgMzIzLjggNDA0LjggMjU2IDQwNC44UzEyOC43IDM1OC41IDExMi4yIDI5My4yYy0xLjYtNy40IDIuNS0xNS43IDkuOS0xNy40czE1LjcgMi41IDE3LjQgOS45YzE0IDUyLjkgNjIgOTAuMSAxMTYuNiA5MC4xczEwMi41LTM3LjIgMTE2LjYtOTAuMWMxLjctNy40IDkuOS0xMi40IDE3LjQtOS45IDcuNCAxLjcgMTIuNCA5LjkgOS45IDE3LjR6Il19LHpidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzaXN0cml4IixpY29uOls0NDgsNTEyLFtdLCJmM2VlIiwiTTQ0OCA0NDlMMzAxLjIgMzAwLjJjMjAtMjcuOSAzMS45LTYyLjIgMzEuOS05OS4yIDAtOTMuMS03NC43LTE2OC45LTE2Ni41LTE2OC45LTkxLjktLjEtMTY2LjYgNzUuNy0xNjYuNiAxNjguOFM3NC43IDM2OS44IDE2Ni41IDM2OS44YzM5LjggMCA3Ni4zLTE0LjIgMTA1LTM3LjlMNDE3LjUgNDgwIDQ0OCA0NDl6TTE2Ni41IDMzMC44Yy03MC42IDAtMTI4LjEtNTguMy0xMjguMS0xMjkuOVM5NS45IDcxIDE2Ni41IDcxIDI5NC42IDEyOS4zIDI5NC42IDIwMC45IDIzNy4yIDMzMC44IDE2Ni41IDMzMC44eiJdfSxDYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGVyaXNjb3BlIixpY29uOls0NDgsNTEyLFtdLCJmM2RhIiwiTTM3MCA2My42Yy0zOC42LTQxLTg5LjUtNjMuNi0xNDMuNC02My42LTExNC43IDAtMjA4LjEgOTYuMi0yMDguMSAyMTQuNCAwIDc1LjEgNTcuOCAxNTkuOCA4Mi43IDE5Mi43IDM2LjYgNDguNCA5MS40IDEwNC45IDEyNS40IDEwNC45IDQxLjYgMCAxMTIuOS05NC4yIDEyMC45LTEwNSAyNC42LTMzLjEgODItMTE4LjMgODItMTkyLjYgMC01Ni41LTIxLjEtMTEwLjEtNTkuNS0xNTAuOHpNMjI2LjYgNDkzLjljLTQyLjUgMC0xOTAtMTY3LjMtMTkwLTI3OS40IDAtMTA3LjQgODMuOS0xOTYuMyAxOTAtMTk2LjMgMTAwLjggMCAxODQuNyA4OSAxODQuNyAxOTYuMyAuMSAxMTIuMS0xNDcuNCAyNzkuNC0xODQuNyAyNzkuNHpNMzM4IDIwNi44YzAgNTkuMS01MS4xIDEwOS43LTExMC44IDEwOS43LTEwMC42IDAtMTUwLjctMTA4LjItOTIuOS0xODEuOGwwIC40YzAgMjQuNSAyMC4xIDQ0LjQgNDQuOCA0NC40czQ0LjgtMTkuOSA0NC44LTQ0LjRjMC0xOC4yLTExLjEtMzMuOC0yNi45LTQwLjcgNzYuNi0xOS4yIDE0MSAzOS4zIDE0MSAxMTIuNHoiXX0sX2J0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImV4cGVkaXRlZHNzbCIsaWNvbjpbNTEyLDUxMixbXSwiZjIzZSIsIk0yNTYgNDMuNGEyMTIuNiAyMTIuNiAwIDEgMCAwIDQyNS4yIDIxMi42IDIxMi42IDAgMSAwIDAtNDI1LjJ6TTE1OC42IDE3Ni4zYzAtNTMuNyA0My43LTk3LjQgOTcuNC05Ny40czk3LjQgNDMuNyA5Ny40IDk3LjRsMCAyNi42YzAgNS0zLjkgOC45LTguOSA4LjlsLTE3LjcgMGMtNSAwLTguOS0zLjktOC45LTguOWwwLTI2LjZjMC04Mi4xLTEyNC04Mi4xLTEyNCAwbDAgMjYuNmMwIDUtMy45IDguOS04LjkgOC45bC0xNy43IDBjLTUgMC04LjktMy45LTguOS04LjlsMC0yNi42IC4yIDB6TTM5Ny43IDM4MGMwIDkuNy04IDE3LjctMTcuNyAxNy43bC0yNDggMGMtOS43IDAtMTcuNy04LTE3LjctMTcuN2wwLTE0MS43YzAtOS43IDgtMTcuNyAxNy43LTE3LjdsMjQ4IDBjOS43IDAgMTcuNyA4IDE3LjcgMTcuN2wwIDE0MS43em0tMjQ4LTEzNy4zbDAgMTMyLjljMCAyLjUtMS45IDQuNC00LjQgNC40bC04LjkgMGMtMi41IDAtNC40LTEuOS00LjQtNC40bDAtMTMyLjljMC0yLjUgMS45LTQuNCA0LjQtNC40bDguOSAwYzIuNSAwIDQuNCAxLjkgNC40IDQuNHptMTQxLjcgNDguN2MwIDEzLTcuMiAyNC40LTE3LjcgMzAuNGwwIDMxLjZjMCA1LTMuOSA4LjktOC45IDguOWwtMTcuNyAwYy01IDAtOC45LTMuOS04LjktOC45bDAtMzEuNmMtMTAuNS02LjEtMTcuNy0xNy40LTE3LjctMzAuNCAwLTE5LjcgMTUuOC0zNS40IDM1LjQtMzUuNHMzNS41IDE1LjggMzUuNSAzNS40ek0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6bTAgMTcuN2EyMzAuMyAyMzAuMyAwIDEgMSAwIDQ2MC42IDIzMC4zIDIzMC4zIDAgMSAxIDAtNDYwLjZ6Il19LFRidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJuYXBzdGVyIixpY29uOls1MTIsNTEyLFtdLCJmM2QyIiwiTTMwNi4zIDM3My42Yy0xNC4yIDEzLjYtMzEuMyAyNC4xLTUwLjQgMzAuNS0xOS02LjQtMzYuMi0xNi45LTUwLjMtMzAuNWwxMDAuNyAwem00NC0xOTkuNmMyMC0xNi45IDQzLjYtMjkuMiA2OS42LTM2LjJsMCAxNjEuMmMwIDIxOS40LTMyOCAyMTcuNi0zMjggLjNsMC0xNjEuNmMyNS45IDYuOSA0OS42IDE5LjYgNjkuNSAzNi40IDU2LjgtNDAgMTMyLjUtMzkuOSAxODguOS0uMXpNMTQxLjUgMTE1LjVjNjQuNC02MCAxNjQuMy02MC4xIDIyOC45LS4yLTcuMSAzLjUtMTMuOSA3LjMtMjAuNiAxMS41LTU4LjctMzAuNS0xMjkuMi0zMC40LTE4Ny45IC4xLTYuMy00LTEzLjktOC4yLTIwLjQtMTEuNHpNNTEuOCA5My4ybDAgNjkuM2MtNTguNCAzNi41LTU4LjQgMTIxLjEgLjEgMTU4LjMgMjYuNCAyNDUuMSAzODEuNyAyNDAuMyA0MDcuNiAxLjVsLjMtMS43YzU4LjctMzYuMyA1OC45LTEyMS43IC4yLTE1OC4ybDAtNjkuMmMtMTcuMyAuNS0zNCAzLTUwLjEgNy40LTgyLTkxLjUtMjI1LjUtOTEuNS0zMDcuNSAuMS0xNi4zLTQuNC0zMy4xLTctNTAuNi03LjV6TTI2Ny4yIDM1MnMzNi0uMyA2MS4zLTEuNWMxMC4yLS41IDIxLjEtNCAyNS41LTYuNSAyNi4zLTE1LjEgMjUuNC0zOS4yIDI2LjItNDcuNC03OS41LS42LTk5LjktMy45LTExMyA1NS40ek0xMzEuNyAyOTYuN2MuOCA4LjItLjEgMzIuMyAyNi4yIDQ3LjQgNC40IDIuNSAxNS4yIDYgMjUuNSA2LjUgMjUuMyAxLjEgNjEuMyAxLjUgNjEuMyAxLjUtMTMuMi01OS40LTMzLjctNTYuMS0xMTMtNTUuNHpNMzAwLjggNDIwLjFjLTMuMi01LjMtNi45LTcuMy02LjktNy4zLTI0LjggNy4zLTUyLjIgNi45LTc1LjkgMCAwIDAtMi45IDEuNS02LjQgNi42LTIuOCA0LjEtMy43IDkuNi0zLjcgOS42IDI5LjEgMTcuNiA2Ny4xIDE3LjYgOTYuMiAwLS4xLS4xLS4zLTQtMy4zLTguOXoiXX0sTGJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRlbGljaW91cyIsaWNvbjpbNDQ4LDUxMixbXSwiZjFhNSIsIk00NDYuNiA2OGMtLjQtMS41LS45LTMtMS40LTQuNS0uOS0yLjUtMi00LjgtMy4zLTcuMS0xLjQtMi40LTMtNC44LTQuNy02LjktMi4xLTIuNS00LjQtNC44LTYuOS02LjgtMS4xLS45LTIuMi0xLjctMy4zLTIuNS0xLjMtLjktMi42LTEuNy00LTIuNC0xLjgtMS0zLjYtMS44LTUuNS0yLjUtMS43LS43LTMuNS0xLjMtNS40LTEuNy0zLjgtMS03LjktMS41LTEyLTEuNWwtMzUyIDBDMjEuNiAzMiAuMSA1My41IC4xIDgwbDAgMzUyYzAgNC4xIC41IDguMiAxLjUgMTIgMiA3LjcgNS44IDE0LjYgMTEgMjAuMyAxIDEuMSAyLjEgMi4yIDMuMyAzLjMgNS43IDUuMiAxMi42IDkgMjAuMyAxMSAzLjggMSA3LjkgMS41IDEyIDEuNWwzNTIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1Mi4xYy0uMS00LjEtLjYtOC4yLTEuNi0xMnpNNDE2LjEgNDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMTc2IDAgMC0xOTItMTkyIDAgMC0xNzZjMC04LjggNy4yLTE2IDE2LTE2bDE3NiAwIDAgMTkyIDE5MiAwIDAgMTc2eiJdfSwkYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ3VpbGRlZCIsaWNvbjpbNDQ4LDUxMixbXSwiZTA3ZSIsIk00NDMuOSA2NEw1IDY0YzAgMTAzLjMgMjIuMiAxODAuMSA0My40IDIyMi40IDY0LjEgMTI3LjggMTc2IDE2MS42IDE3Ny4zIDE2MS42IDU1LjctMjAuNSAxMDQuNS01Ni4zIDE0MC42LTEwMy41IDI1LjktMzMuOSA1My4xLTg3LjIgNjUuOS0xNDUuOGwtMjU5LjkgMGM0LjEgMzYuNCAyMi4yIDY3LjkgNDUuMSA4Ni45bDg4LjYgMGMtMTcgMjguMi00OC4yIDU0LjQtODAuNSA2OS41LTMxLjItMTMuMy02OS4xLTQ2LjUtOTYuNS05OC40LTI2LjctNTMuOC0yNy4xLTEwNS45LTI3LjEtMTA1LjlsMzM2LjEgMGM0LTI4LjggNS45LTU3LjkgNS45LTg2Ljl6Il19LERidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvYnNpZGlhbiIsaWNvbjpbMzg0LDUxMixbXSwiZTg3OSIsIk0xNDIuMyAzMjAuM2MzNi4xLTguMiA3MC4zLTExIDEwMS4zIC43IDMxLjggMTEuOSA2MS43IDM5LjYgODYuNyA5Ni04LjEgMTcuNy0xMi40IDM2LjktMTQuNyA1My44LTMuMSAyMi45LTI1LjQgNDAuNy00Ny43IDM0LjYtMzEuNy04LjctNjguMy0yMi4zLTEwMS4zLTI0LjktNC40LS4zLTUwLjYtMy44LTUwLjYtMy44LTEuNy0uMS0zLjQtLjQtNS4xLS44IDMxLjUtNjQuMiAzOC4yLTExNS4xIDMxLjMtMTU1LjR6TTU1IDIxOS41YzIyLjMgMTQuOCA0OS41IDM3LjggNjQuMSA3My42IDE2LjEgMzkuNCAxNy44IDk1LjctMjEuNiAxNzYuMS0xLS44LTIuMS0xLjctMy0yLjdMNy40IDM3Ni44Yy05LjUtOS44LTEyLjEtMjQuNC02LjUtMzYuOSAuNi0xLjMgNDQuNi05OC4zIDU0LjEtMTIwLjR6bTI2NC4zLTkxLjNjNC45IDYuMiA3LjQgMTQgNy40IDIxLjkgLjEgMjAuOCAxLjggNjMuNiAxMy4zIDkxLjIgMTEuMiAyNi44IDMxLjggNTUuOCA0Mi41IDcwIDQuMSA1LjUgNC44IDEyLjkgMS4zIDE4LjctNy42IDEyLjgtMjIuNiAzNy41LTQzLjggNjkuMi0uMyAuNC0uNiAuOS0uOCAxLjMtMjUuMi01Mi4yLTU1LjktODAuNy05MC40LTkzLjYtOS42LTMuNi0xOS41LTYtMjkuNC03LjMtMTcuOC00NS44LTIzLjItNzkuNy0yMi0xMDYuNCAxLjItMjcuNCA5LjItNDcuOCAxOC4yLTY2LjMgOC45LTE4LjEgMTkuOC0zNS45IDI0LjktNTUuNyAzLjItMTIuNSA0LjItMjUuOCAxLjctNDAuOWw3Ny4xIDk4ek0xODQuMiAxNC4xYzEwLjMtOS4yIDI0LjYtMTAuOCAzNi4zLTUuNSA5LjYgMjQuNiA5LjcgNDIuOCA1LjYgNTguOC00LjYgMTcuOC0xNC4xIDMzLTIzLjkgNTIuOC05LjYgMTkuNS0xOC40IDQyLTE5LjcgNzIuMy0xLjIgMjcuOSA0LjEgNjEuOSAyMC40IDEwNS44LTIxLS42LTQyLjUgMi42LTYzLjcgNy40LTEuNy02LjQtMy44LTEyLjQtNi4xLTE4LjItMTcuMy00Mi4yLTQ5LjktNjcuOS03NC4xLTgzLjMgMy4xLTE4LjcgOC4yLTU1LjQgMTEuNi03Ny41IDEuMi03LjYgNC45LTE0LjYgMTAuNy0xOS44TDE4NC4yIDE0LjF6Il19LEFidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ4Ym94IixpY29uOls1MTIsNTEyLFtdLCJmNDEyIiwiTTM2OS45IDMxOC4yYzQ0LjMgNTQuMyA2NC43IDk4LjggNTQuNCAxMTguNy03LjkgMTUuMS01Ni43IDQ0LjYtOTIuNiA1NS45LTI5LjYgOS4zLTY4LjQgMTMuMy0xMDAuNCAxMC4yLTM4LjItMy43LTc2LjktMTcuNC0xMTAuMS0zOS0yNy45LTE4LjItMzQuMi0yNS43LTM0LjItNDAuNiAwLTI5LjkgMzIuOS04Mi4zIDg5LjItMTQyLjEgMzItMzMuOSA3Ni41LTczLjcgODEuNC03Mi42IDkuNCAyLjEgODQuMyA3NS4xIDExMi4zIDEwOS41ek0xODguNiAxNDMuOGMtMjkuNy0yNi45LTU4LjEtNTMuOS04Ni40LTYzLjQtMTUuMi01LjEtMTYuMy00LjgtMjguNyA4LjEtMjkuMiAzMC40LTUzLjUgNzkuNy02MC4zIDEyMi40LTUuNCAzNC4yLTYuMSA0My44LTQuMiA2MC41IDUuNiA1MC41IDE3LjMgODUuNCA0MC41IDEyMC45IDkuNSAxNC42IDEyLjEgMTcuMyA5LjMgOS45LTQuMi0xMS0uMy0zNy41IDkuNS02NCAxNC4zLTM5IDUzLjktMTEyLjkgMTIwLjMtMTk0LjR6bTMxMS42IDYzLjVjLTE2LjktODAtNjcuNS0xMzAuMy03NC42LTEzMC4zLTcuMyAwLTI0LjIgNi41LTM2IDEzLjktMjMuMyAxNC41LTQxIDMxLjQtNjQuMyA1Mi44IDQyLjQgNTMuMyAxMDIuMiAxMzkuNCAxMjIuOSAyMDIuMyA2LjggMjAuNyA5LjcgNDEuMSA3LjQgNTIuMy0xLjcgOC41LTEuNyA4LjUgMS40IDQuNiA2LjEtNy43IDE5LjktMzEuMyAyNS40LTQzLjUgNy40LTE2LjIgMTUtNDAuMiAxOC42LTU4LjcgNC4zLTIyLjUgMy45LTcwLjgtLjgtOTMuNHpNMTQxLjMgNDNjNDcuNy0yLjUgMTA5LjcgMzQuNSAxMTQuMyAzNS40IC43IC4xIDEwLjQtNC4yIDIxLjYtOS43IDYzLjktMzEuMSA5NC0yNS44IDEwNy40LTI1LjItNjMuOS0zOS4zLTE1Mi43LTUwLTIzMy45LTExLjctMjMuNCAxMS4xLTI0IDExLjktOS40IDExLjJ6Il19LEVidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bnRhcHBkIixpY29uOls2NDAsNTEyLFtdLCJmNDA1IiwiTTQwMS41IDQ5LjlDMzIxLjcgMjEwIDMxNi45IDIwMi40IDMxMy42IDIyMy4xbC01LjIgMzIuOGMtMS45IDEyLTYuNiAyMy41LTEzLjcgMzMuNEwxNDUuOCA0OTcuMWMtNy42IDEwLjYtMjAuNCAxNi4yLTMzLjQgMTQuNi00MC4zLTUtNzcuOC0zMi4yLTk1LjMtNjguNS01LjctMTEuOC00LjUtMjUuOCAzLjEtMzYuNEwxNjkuMSAxOTguOWM3LjEtOS45IDE2LjQtMTggMjcuMi0yMy43bDI5LjMtMTUuNWMxOC41LTkuOCA5LjctMTEuOSAxMzUuNi0xMzguOSAxLTQuOCAxLTcuMyAzLjYtOCAzLS43IDYuNi0xIDYuMy00LjZsLS40LTQuNmMtLjItMS45IDEuMy0zLjYgMy4yLTMuNiA0LjUtLjEgMTMuMiAxLjIgMjUuNiAxMCAxMi4zIDguOSAxNi40IDE2LjggMTcuNyAyMS4xIC42IDEuOC0uNiAzLjctMi40IDQuMmwtNC41IDEuMWMtMy40IC45LTIuNSA0LjQtMi4zIDcuNCAuMSAyLjgtMi4zIDMuNi02LjUgNi4xek0yMzAuMyAzNi40YzMuNCAuOSAyLjUgNC40IDIuMyA3LjQtLjIgMi43IDIuMSAzLjUgNi40IDYgNy45IDE1LjkgMTUuMyAzMC41IDIyLjIgNDQgLjcgMS4zIDIuMyAxLjUgMy4zIC41IDExLjItMTIgMjQuNi0yNi4yIDQwLjUtNDIuNiAxLjMtMS40IDEuNC0zLjUgLjEtNC45LTgtOC4yLTE2LjUtMTYuOS0yNS42LTI2LjEtMS00LjctMS03LjMtMy42LTgtMy0uOC02LjYtMS02LjMtNC42IC4zLTMuMyAxLjQtOC4xLTIuOC04LjItNC41LS4xLTEzLjIgMS4xLTI1LjYgMTAtMTIuMyA4LjktMTYuNCAxNi44LTE3LjcgMjEuMS0xLjQgNC4yIDMuNiA0LjYgNi44IDUuNHpNNjIwLjIgNDA2LjdMNDcxLjQgMTk4LjhjLTEzLjItMTguNS0yNi42LTIzLjQtNTYuNC0zOS4xLTExLjItNS45LTE0LjItMTAuOS0zMC41LTI4LjktMS0xLjEtMi45LS45LTMuNiAuNS00Ni4zIDg4LjgtNDcuMSA4Mi44LTQ5IDk0LjgtMS43IDEwLjctMS4zIDIwIC4zIDI5LjggMS45IDEyIDYuNiAyMy41IDEzLjcgMzMuNEw0OTQuOCA0OTcuMmM3LjYgMTAuNiAyMC4yIDE2LjIgMzMuMSAxNC43IDQwLjMtNC45IDc4LTMyIDk1LjctNjguNiA1LjQtMTEuOSA0LjMtMjUuOS0zLjQtMzYuNnoiXX0sUGJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2dsZS1wbHVzLWciLGljb246WzY0MCw1MTIsW10sImYwZDUiLCJNMzg2LjMgMjI4LjVjMS44IDkuNyAzLjEgMTkuNCAzLjEgMzIgMCAxMDkuOC03My42IDE4Ny41LTE4NC40IDE4Ny41LTEwNi4xIDAtMTkyLTg1LjktMTkyLTE5MlM5OC45IDY0IDIwNSA2NGM1MS45IDAgOTUuMSAxOC45IDEyOC42IDUwLjNsLTUyLjEgNTBjLTE0LjEtMTMuNi0zOS0yOS42LTc2LjUtMjkuNi02NS41IDAtMTE4LjkgNTQuMi0xMTguOSAxMjEuM1MxMzkuNSAzNzcuMyAyMDUgMzc3LjNjNzYgMCAxMDQuNS01NC43IDEwOS04Mi44bC0xMDkgMCAwLTY2IDE4MS4zIDAgMCAwem0xODUuNCA2LjRsMC01NS43LTU2IDAgMCA1NS43LTU1LjcgMCAwIDU2IDU1LjcgMCAwIDU1LjcgNTYgMCAwLTU1LjcgNTUuNyAwIDAtNTYtNTUuNyAweiJdfSxJYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2l0aHViLWFsdCIsaWNvbjpbNTEyLDUxMixbXSwiZjExMyIsIk0yMDIuMSAzMjguN2MwIDIwLjktMTAuOSA1NS4xLTM2LjcgNTUuMXMtMzYuNy0zNC4yLTM2LjctNTUuMSAxMC45LTU1LjEgMzYuNy01NS4xIDM2LjcgMzQuMiAzNi43IDU1LjF6TTQ5NiAyNzguMmMwIDMxLjktMy4yIDY1LjctMTcuNSA5NS0zNy45IDc2LjYtMTQyLjEgNzQuOC0yMTYuNyA3NC44LTc1LjggMC0xODYuMiAyLjctMjI1LjYtNzQuOC0xNC42LTI5LTIwLjItNjMuMS0yMC4yLTk1IDAtNDEuOSAxMy45LTgxLjUgNDEuNS0xMTMuNi01LjItMTUuOC03LjctMzIuNC03LjctNDguOCAwLTIxLjUgNC45LTMyLjMgMTQuNi01MS44IDQ1LjMgMCA3NC4zIDkgMTA4LjggMzYgMjktNi45IDU4LjgtMTAgODguNy0xMCAyNyAwIDU0LjIgMi45IDgwLjQgOS4yIDM0LTI2LjcgNjMtMzUuMiAxMDcuOC0zNS4yIDkuOCAxOS41IDE0LjYgMzAuMyAxNC42IDUxLjggMCAxNi40LTIuNiAzMi43LTcuNyA0OC4yIDI3LjUgMzIuNCAzOSA3Mi4zIDM5IDExNC4yem0tNjQuMyA1MC41YzAtNDMuOS0yNi43LTgyLjYtNzMuNS04Mi42LTE4LjkgMC0zNyAzLjQtNTYgNi0xNC45IDIuMy0yOS44IDMuMi00NS4xIDMuMi0xNS4yIDAtMzAuMS0uOS00NS4xLTMuMi0xOC43LTIuNi0zNy02LTU2LTYtNDYuOCAwLTczLjUgMzguNy03My41IDgyLjYgMCA4Ny44IDgwLjQgMTAxLjMgMTUwLjQgMTAxLjNsNDguMiAwYzcwLjMgMCAxNTAuNi0xMy40IDE1MC42LTEwMS4zem0tODIuNi01NS4xYy0yNS44IDAtMzYuNyAzNC4yLTM2LjcgNTUuMXMxMC45IDU1LjEgMzYuNyA1NS4xIDM2LjctMzQuMiAzNi43LTU1LjEtMTAuOS01NS4xLTM2LjctNTUuMXoiXX0sTmJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdldC1wb2NrZXQiLGljb246WzQ0OCw1MTIsW10sImYyNjUiLCJNNDA3LjYgNjRsLTM2NyAwQzE4LjUgNjQgMCA4Mi41IDAgMTA0LjZMMCAyMzkuOEMwIDM2NC41IDk5LjcgNDY0IDIyNC4yIDQ2NCAzNDguMiA0NjQgNDQ4IDM2NC41IDQ0OCAyMzkuOGwwLTEzNS4yQzQ0OCA4Mi4yIDQzMC4zIDY0IDQwNy42IDY0em0tMTYyIDI2OC41Yy0xMi40IDExLjgtMzEuNCAxMS4xLTQyLjQgMC0xMTMuNy0xMDguOS0xMTQuOS0xMDUuMS0xMTQuOS0xMjMuMiAwLTE2LjkgMTMuOC0zMC43IDMwLjctMzAuNyAxNyAwIDE2LjEgMy44IDEwNS4yIDg5LjMgOTAuNi04Ni45IDg4LjYtODkuMyAxMDUuNS04OS4zczMwLjcgMTMuOCAzMC43IDMwLjdjMCAxNy44LTIuOSAxNS43LTExNC44IDEyMy4yeiJdfSxSYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2xpZGUiLGljb246WzQ0OCw1MTIsW10sImYyYTUiLCJNMjUyLjggMTQ4LjZjMCA4LjgtMS42IDE3LjctMy40IDI2LjQtNS44IDI3LjgtMTEuNiA1NS44LTE3LjMgODMuNi0xLjQgNi4zLTguMyA0LjktMTMuNyA0LjktMjMuOCAwLTMwLjUtMjYtMzAuNS00NS41IDAtMjkuMyAxMS4yLTY4LjEgMzguNS04My4xIDQuMy0yLjUgOS4yLTQuMiAxNC4xLTQuMiAxMS40IDAgMTIuMyA4LjMgMTIuMyAxNy45ek00NDggODBsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDM1MiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0zODQgMjY3YzAtNS4xLTIwLjgtMzcuNy0yNS41LTM5LjUtMi4yLS45LTcuMi0yLjMtOS42LTIuMy0yMy4xIDAtMzguNyAxMC41LTU4LjIgMjEuNWwtLjUtLjVjNC4zLTI5LjQgMTQuNi01Ny4yIDE0LjYtODcuNCAwLTQ0LjYtMjMuOC02Mi43LTY3LjUtNjIuNy03MS43IDAtMTA4IDcwLjgtMTA4IDEyMy41IDAgNTQuNyAzMiA4NSA4Ni4zIDg1IDcuNSAwIDYuOS0uNiA2LjkgMi4zLTEwLjUgODAuMy01Ni41IDgyLjktNTYuNSA1OC45IDAtMjQuNCAyOC0zNi41IDI4LjMtMzgtLjItNy42LTI5LjMtMTcuMi0zNi43LTE3LjItMjEuMSAwLTMyLjcgMzMtMzIuNyA1MC42IDAgMzIuMyAyMC40IDU0LjcgNTMuMyA1NC43IDQ4LjIgMCA4My40LTQ5LjcgOTQuMy05MS43IDkuNC0zNy43IDctMzkuNCAxMi4zLTQyLjEgMjAtMTAuMSAzNS44LTE2LjggNTguNC0xNi44IDExLjEgMCAxOSAyLjMgMzYuNyA1LjIgMS44IC4xIDQuMS0xLjcgNC4xLTMuNXoiXX0sT2J0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJpdHkiLGljb246WzUxMiw1MTIsW10sImYzN2EiLCJNODYuNSA2Ny4yYzk1LjQtODkuMiAyNDYuMS05MS4yIDM0My4xIDMuOCAxNC4zIDE0LjEtNi40IDM3LjEtMjIuNCAyMS41LTg0LjgtODIuNC0yMTUuOC04MC4zLTI5OC45LTMuMi0xNi4zIDE1LjEtMzYuNS04LjMtMjEuOC0yMi4xem05OC45IDQxOC42YzE5LjMgNS43IDI5LjMtMjMuNiA3LjktMzAtMTEyLjItMzMuOS0xNzUuOC0xNDkuNy0xNDcuNS0yNjEgNS0xOS42LTI0LjktMjguMS0zMC4yLTcuMS0zMi4xIDEyNy40IDQxLjEgMjU5LjggMTY5LjggMjk4LjF6bTE0OC4xLTJjMTIxLjktNDAuMiAxOTIuOS0xNjYuOSAxNjQuNC0yOTEtNC41LTE5LjctMzQuOS0xMy44LTMwIDcuOSAyNC4yIDEwNy43LTM3LjEgMjE3LjktMTQzLjIgMjUzLjQtMjEuMiA3LTEwLjQgMzYgOC44IDI5Ljd6bS02Mi45LTc5bC4yLTcxLjhjMC04LjItNi42LTE0LjgtMTQuOC0xNC44cy0xNC44IDYuNy0xNC44IDE0LjhsLS4yIDcxLjhjMCA4LjIgNi42IDE0LjggMTQuOCAxNC44czE0LjgtNi42IDE0LjgtMTQuOHptNzEtMjY5YzIuMSA5MC45IDQuNyAxMzEuOS04NS41IDEzMi41LTkyLjUtLjctODYuOS00NC4zLTg1LjUtMTMyLjUgMC0yMS44LTMyLjUtMTkuNi0zMi41IDBsMCA3MS42YzAgNjkuMyA2MC43IDkwLjkgMTE4IDkwLjEgNTcuMyAuOCAxMTgtMjAuOCAxMTgtOTAuMWwwLTcxLjZjMC0xOS42LTMyLjUtMjEuOC0zMi41IDB6Il19LEZidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3cGV4cGxvcmVyIixpY29uOls1MTIsNTEyLFtdLCJmMmRlIiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTQ4MCAwYTIyNCAyMjQgMCAxIDAgLTQ0OCAwIDIyNCAyMjQgMCAxIDAgNDQ4IDB6TTE2MC45IDEyNC42bDg2LjkgMzcuMS0zNy4xIDg2LjktODYuOS0zNy4xIDM3LjEtODYuOXptMTEwIDE2OS4xbDQ2LjYgOTQtMTQuNiAwLTUwLTEwMC00OC45IDEwMC0xNCAwIDUxLjEtMTA2LjktMjIuMy05LjQgNi0xNCA2OC42IDI5LjEtNiAxNC4zLTE2LjUtNy4xek0yNTkuMSAxNzcuNGw2OC42IDI5LjQtMjkuNCA2OC4zLTY4LjMtMjkuMSAyOS4xLTY4LjZ6bTgwLjMgNDIuOWw1NC42IDIzLjEtMjMuNCA1NC4zLTU0LjMtMjMuMSAyMy4xLTU0LjN6Il19LEJidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtZWdhcG9ydCIsaWNvbjpbNTEyLDUxMixbXSwiZjVhMyIsIk0yMjIuNSAyMDkuNmwwIDY2LjIgMzMuNSAzMy41IDMzLjMtMzMuMyAwLTY2LjQtMzMuNC0zMy40LTMzLjQgMzMuNHpNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek00MDEuMSA0MjIuNGwtMjYuMSAxOS4yLTI2LTE5LjIgMC02NS41LTMzLjQtMzMuNC0zMy40IDMzLjQgMCA2NS41LTI2LjIgMTkuMi0yNi4xLTE5LjIgMC02NS41LTMzLjQtMzMuNC0zMy41IDMzLjQgMCA2NS41LTI2LjEgMTkuMi0yNi4xLTE5LjIgMC04NyA1OS41LTU5LjUgMC04Ny45IDU5LjUtNTkuNSAwLTc1LjYgMjYuMS0xOS4yIDI2LjEgMTkuMiAwIDc1LjYgNTkuNSA1OS41IDAgODcuNiA1OS43IDU5LjcgMCA4Ny4xLS4xIDB6Il19LEhidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsZWV0Y29kZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTg2YSIsIk0yMzUuNCA5LjNDMjQ2LjUtMi41IDI2NS4xLTMuMiAyNzcgNy45czEyLjUgMjkuOCAxLjQgNDEuNmwtNDMgNDZjMjEuNSAzLjMgNDIuMSAxMS44IDU5LjEgMjUuNmw3NC42IDYwLjNjMTIuNiAxMC4yIDE0LjYgMjguOCA0LjQgNDEuNHMtMjguNyAxNC42LTQxLjQgNC40bC03NC42LTYwLjNjLTI2LjItMjEuMS03MS45LTE4LjItOTQuNSA1LjlMODEgMjYxYy0yMS41IDIzLTE5LjEgNjAgNS42IDg0LjJsOTEuMiA4OS40YzI0LjkgMjQgNjUuNiAyNCA5MC4xLS40bDUxLjEtNTFjMTEuNS0xMS41IDMwLjEtMTEuNSA0MS42IC4xczExLjQgMzAuMi0uMSA0MS43bC01MS4xIDUxYy00Ny4xIDQ3LjEtMTI0IDQ3LjctMTcxLjkgMS42bC05Mi05MC4yQy0xLjQgMzQxLjMtNiAyNjcuOSAzOCAyMjAuN0wyMzUuNCA5LjN6TTQxMS43IDI3My4yYzE2LjIgMCAyOS40IDEzLjIgMjkuNCAyOS41cy0xMy4yIDI5LjUtMjkuNCAyOS41bC0yMTYuOSAwYy0xNi4yIDAtMjkuNC0xMy4yLTI5LjQtMjkuNXMxMy4yLTI5LjUgMjkuNC0yOS41bDIxNi45IDB6Il19LHFidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtZGIiLGljb246WzU3Niw1MTIsW10sImY4Y2EiLCJNMTcuNCAxNjAuNGwtMTAuNCAxOTEuNiA0My45IDAgNS42LTc5LjggMjcuOSA3OS44IDQ0LjcgMCAyNS41LTc3LjQgNC44IDc3LjQgNDUuNSAwLTEyLjgtMTkxLjYtNDUuNSAwLTQwLjcgMTE3LjMtNDIuMy0xMTcuMy00Ni4zIDB6bTI4MSAwbC00Ny45IDAgMCAxOTEuNiA0Ny45IDBzOTUgLjggOTQuMi05NS44Yy0uOC05NC4yLTk0LjItOTUuOC05NC4yLTk1LjhsMCAwem0tMS4yIDE0Ni41bDAtMTAyLjFzNDYgNC4zIDQ2LjggNTAuNi00Ni44IDUxLjUtNDYuOCA1MS41bDAgMHptMjM4LjMtNzQuMmM3LjItMTEuNCAxMC0yNSA4LTM4LjMtNS4zLTM1LjgtNTUuMS0zNC4zLTU1LjEtMzQuM2wtNTEuOSAwIDAgMTkxLjYgNDUuNSAwczg3IDQuOCA4Ny02My44YzAtNDMuMS0zMy41LTU1LjEtMzMuNS01NS4xbDAgMHptLTUxLjktMzEuOXMxMy42LTEuNiAxNiA5LjZjMS40IDYuNy00IDEyLTQgMTJsLTEyIDAgMC0yMS42em0tLjEgMTA5LjVsLjEtMjQuOSAwLTE4LjIgLjEgMHM0MS42LTQuNyA0MS4yIDIyLjRjLS4zIDI1LjctNDEuMyAyMC43LTQxLjMgMjAuN2wwIDB6Il19LFZidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwYWdlNCIsaWNvbjpbNTEyLDUxMixbXSwiZjNkNyIsIk0yNTYgNTA0QzExOSA1MDQgOCAzOTMgOCAyNTZTMTE5IDggMjU2IDhjMjAuOSAwIDQxLjMgMi42IDYwLjcgNy41TDUwLjMgMzkyIDI1NiAzOTIgMjU2IDUwNHptMC0xNDMuNmwwLTIxMy42LTE0OS40IDIxMy42IDE0OS40IDB6TTM1MiAzOTJsMCA5Mi43YzQ1LjctMTkuMiA4NC41LTUxLjcgMTExLjQtOTIuN0wzNTIgMzkyem01Ny40LTEzOC4ybC0yMS4yIDguNCAyMS4yIDguMyAwLTE2Ljd6bS0yMC4zIDU0LjVjLTYuNyAwLTggNi4zLTggMTIuOWwwIDcuNyAxNi4yIDAgMC0xMGMwLTUuOS0yLjMtMTAuNi04LjItMTAuNnpNNTA0IDI1NmMwIDM3LjMtOC4yIDcyLjctMjMgMTA0LjRsLTEyOSAwIDAtMzMzLjFDNDQxLjMgNjQuOCA1MDQgMTUzLjEgNTA0IDI1NnpNMzY4LjQgMTQzLjZsNjguMiAwIDAtNDcuNi0xMy45IDAgMCAzMi42LTEzLjkgMCAwLTI5LjYtMTMuOSAwIDAgMjkuNi0xMi43IDAgMC0zMi42LTEzLjkgMCAwIDQ3LjYgLjEgMHptNjguMSAxODUuM2wtMjYuNSAwIDAtMTFjMC0xNS40LTUuNi0yNS4yLTIwLjktMjUuMi0xNS40IDAtMjAuNyAxMC42LTIwLjcgMjUuOWwwIDI1LjMgNjguMiAwIDAtMTUtLjEgMHptMC0xMDNsLTY4LjIgMjkuNyAwIDEyLjQgNjguMiAyOS41IDAtMTYuNi0xNC40LTUuNyAwLTI2LjUgMTQuNC01LjkgMC0xNi45em0tNC44LTY4LjVsLTM1LjYgMCAwIDI2LjYgMTMuOSAwIDAtMTIuMiAxMSAwYzguNiAxNS44IDEuMyAzNS4zLTE4LjYgMzUuMy0yMi41IDAtMjguMy0yNS4zLTE1LjUtMzcuN2wtMTEuNi0xMC42Yy0xNi4yIDE3LjUtMTIuMiA2My45IDI3LjEgNjMuOSAzNCAwIDQ0LjctMzUuOSAyOS4zLTY1LjN6Il19LGpidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0aGUtcmVkLXlldGkiLGljb246WzUxMiw1MTIsW10sImY2OWQiLCJNNDg4LjcgMjQxLjdsMjAuNyA3LjFjLTkuNi0yMy45LTIzLjktMzctMzEuNy00NC44bDcuMS0xOC4yYy4yIDAgMTIuMy0yNy44LTIuNS0zMC43LS42LTExLjMtNi42LTI3LTE4LjQtMjctNy42LTEwLjYtMTcuNy0xMi4zLTMwLjctNS45LTkuMSA0LjQtMTcuNiAxMC0yNS4zIDE2LjUtNS4zLTYuNC0zIC40LTMtMjkuOC0zNy4xLTI0LjMtNDUuNC0xMS43LTc0LjggM2wuNSAuNWMtMjItNy43LTQ1LjEtMTIuMi02OC40LTEzLjMtNS41LTguNy0xOC42LTE5LjEtMjUuMS0yNS4xbDI0LjggNy4xYy01LjUtNS41LTI2LjgtMTIuOS0zNC4yLTE1LjIgMTguMi00LjEgMjkuOC0yMC44IDQyLjUtMzMtMzQuOS0xMC4xLTY3LjktNS45LTk3LjkgMTEuOGwxMi00NC4yLTEuOC0uNWMtMzEuNiAyNC4yLTMzIDQxLjktMzMuNyA0NS41LS45LTIuNC02LjMtMTkuNi0xNS4yLTI3LTMuMyA4LjEtMy41IDE3LjEtLjUgMjUuMyAzIDguNCA1LjkgMTQuOCA4LjQgMTguOS0xNi0zLjMtMjguMy00LjktNDkuMiAwbC0zLjcgMCAzMyAxNC4zYy0yMC4yIDE4LjktMzYuMSA0MS45LTQ2LjcgNjcuNGwtMS43IDguNCAxLjcgMS43IDcuNi00LjdjLTMuMyAxMS42LTUuMyAxOS40LTYuNiAyNS44LTEwLjkgMTIuMi0yMC4yIDI1LjgtMjcuOCA0MC4zLTE1IDEtMzEuOCAxMC44LTQwLjMgMTQuM2wzIDMuNCAyOC44IDFjLS41IDEtLjcgMi4yLTEuMiAzLjItNy4zIDYuNC0zOS44IDM3LjctMzMgODAuN2wyMC4yLTIyLjRjLjUgMS43IC43IDMuNCAxLjIgNS4yIDAgMjUuNSAuNCA4OS42IDY0LjkgMTUwLjUgNDMuNiA0MCA5NiA2MC4yIDE1Ny41IDYwLjIgMTIxLjcgMCAyMjMtODcuMyAyMjMtMjExLjUgNi44LTkuNy0xLjIgMyAxNi43LTI1LjFsMTMgMTQuMyAyLjUtLjVjLTEuOC0xMS43LTQuOC0yMy4xLTguOS0zNC4yLTEuNS00LjgtMy44LTkuMy02LjgtMTMuM2wwIDB6TTM5OC41IDExMS4ybC0uNSAyMS45YzUuNSAxOC4xIDE2LjkgMTcuMiAyMi40IDE3LjJsLTMuNC00LjcgMjIuNC01LjRjLTkgLjUtMTggLjUtMjcgMCAxMi44LTIuMSAzMy4zLTI5IDQzLTExLjMgMy40IDcuNiA2LjQgMTcuMiA5LjMgMjcuOGwxLjctNS45Yy0xLjMtNS0xLjgtMTAuMS0xLjctMTUuMiA1LjQgLjUgOC44IDMuNCA5LjMgMTAuMSAuNSA2LjQgMS43IDE0LjggMy40IDI1LjNsNC43LTExLjNjNC42IDAgNC41LTMuNi0yLjUgMjAuNy0yMC45LTguNy0zNS4xLTguNC00Ni41LTguNGwxOC4yLTE2Yy0yNS4zIDguMi0zMyAxMC44LTU0LjggMjAuOS0xLjEtNS40LTUtMTMuNS0xNi0xOS45LTMuMiAzLjgtMi44IC45LS43IDE0LjhsLTIuNSAwYy0xLjItOC4yLTQuMS0xNi04LjQtMjMuMWw0LjItMy40YzguNC03LjEgMTEuOC0xNC4zIDEwLjYtMjEuOS0uNS02LjQtNS40LTEzLjUtMTMuNS0yMC43IDUuNi0zLjQgMTUuMi0uNCAyOC4zIDguNXptLTM5LjYtMTAuMWMyLjcgMS45IDExLjQgNS40IDE4LjkgMTcuMiA0LjIgOC40IDQgOS44IDMuNCAxMS4xLS41IDIuNC0uNSA0LjMtMyA3LjEtMS43IDIuNS01LjQgNC43LTExLjggNy42LTcuNi0xMy0xNi41LTIzLjYtMjcuOC0zMS4ybDIwLjMtMTEuOHptLTI2Ny40IDQybDEuMi0xLjdjMS4yLTIuOSA0LjItNy42IDkuMy0xNS4ybDIuNS0zLjQtMTMgMTIuMyA1LjQtNC43LTEwLjEgOS4zLTQuMiAxLjJjMTIuMy0yNC4xIDIzLjEtNDEuMyAzMi41LTUwLjIgOS4zLTkuMyAxNi0xNiAyMC4yLTE5LjRsLTYuNCAxLjJjLTExLjMtNC4yLTE5LjQtNy4xLTI0LjgtOC40IDIuNS0uNSAzLjctLjUgMy4yLS41IDEwLjMgMCAxNy41IC41IDIwLjkgMS4yIDUuMiAxLjcgMTAuNiAyLjUgMTYgMi41bC41LTEuNy04LjQtMzUuOCAxMy41IDI5YzIuOC00LjQgNC44LTkuMiA1LjktMTQuMyAxLjctNi40IDUuNC0xMyAxMC4xLTE5LjRzNy42LTEwLjYgOS4zLTExLjNjLTIuNiA4LjMtNC43IDE2LjgtNi40IDI1LjNsLTEuNyA3LjEtLjUgNC43IDIuNSAyLjVjMjEuOS0xMy41IDQ1LjUtMTkuNCA3MS4zLTE4LjlsMjEuMSAuNWMtMTEuOCAxMy41LTI3LjggMjEuOS00OC41IDI0LjgtNy43IDEuNC0xNS42IDIuNC0yMy40IDIuOWwtLjItLjUtMi41LTEuMmMtNC44LTEtOS43LS4zLTE0IDItMi41LS4yLTQuOS0uNS03LjEtLjdsLTIuNSAxLjcgLjUgMS4yYzIgLjIgMy45IC41IDYuMiAuN2wtMiAzLjQgMy40LS41LTEwLjYgMTEuM2MtNC4yIDMtNS40IDYuNC00LjIgOS4zbDUuNC0zLjQgMS4yIDBjNi4xLTguMiAxNS4yLTEzLjYgMjUuMy0xNS4ybDAtM2M2LjQgLjUgMTMgMSAxOS40IDEuMiA2LjQgMCA4LjQgLjUgNS40IDEuMiA3LjIgNCAxNC4xIDguNiAyMC43IDEzLjUgMTMuNSAxMC4xIDIzLjYgMjEuOSAzMCAzNS40IDguOCAxOC4yIDEzLjUgMzcuMSAxMy41IDU2LjYgMCA5LjUtMSAxOS0zIDI4LjMtMy41IDE1LjktOC45IDMxLjMtMTYgNDZsMi41IC41YzE4LjItMTkuNyA0MS45LTE2IDQ5LjItMTZsLTYuNCA1LjkgMjIuNCAxNy43LTEuNyAzMC43Yy01LjQtMTIuMy0xNi41LTIxLjEtMzMtMjcuOCAxNi41IDE0LjggMjMuNiAyMS4xIDIxLjkgMjAuMi00LjgtMi44LTMuNS0xLjktMTAuOC0zLjcgNC4xIDQuMSAxNy41IDE4LjggMTguMiAyMC43bC4yIC4yLS4yIC4yYzAgMS44IDEuNi0xLjItMTQgMjIuOS03NS4yLTE1LjMtMTA2LjMtNDIuNy0xNDEuMi02My4ybDExLjggMS4yYy0xMS44LTE4LjUtMTUuNi0xNy43LTM4LjQtMjYuMWwxMC42LTguNGMtOC44LTMtMTguMi0zLTI4LjMgLjVsNy42LTEwLjYtMS4yLTEuN2MtMTQuOSA0LjMtMTkuOCA5LjItMjIuNiAxMS4zLTEuMS01LjUtMi44LTEyLjQtMTIuMy0yOC44bC0xLjIgMjctMTMuMi01YzEuNS0yNS4yIDUuNC01MC41IDEzLjItNzQuNnpNMzY4IDQ3My4xYy00OS45IDI1LTU2LjEgMjIuNC01OSAyMy45LTI5LjgtMTEuOC01MC45LTMxLjctNjMuNS01OC44bDMwIDE2LjVjLTkuOC05LjMtMTguMy0xNi41LTM4LjQtNDQuM2wxMS44IDIzLjEtMTcuNy03LjZjMTQuMiAyMS4xIDIzLjUgNTEuNyA2Ni42IDczLjUtMTIwLjggMjQuMi0xOTktNzIuMS0yMDAuOS03NC4zIDExLjEgOS4yIDIyLjkgMTcuNSAzNS40IDI0LjggMy40IDEuNyA3LjEgMi41IDEwLjEgMS4ybC0xNi0yMC43YzkuMiA0LjIgOS41IDQuNSA2OS4xIDI5LTQyLjUtMjAuNy03My44LTQwLjgtOTMuMi02MC4yLS41IDYuNC0xLjIgMTAuMS0xLjIgMTAuMSA4LjcgNy4zIDE1LjggMTYuNCAyMC43IDI2LjYtMzktMTguOS01Ny42LTQ3LjYtNzEuMy04Mi42IDQ5LjkgNTUuMSAxMTguOSAzNy41IDEyMC41IDM3LjEgMzQuOCAxNi40IDY5LjkgMjMuNiAxMTMuOSAxMC42IDMuMyAwIDIwLjMgMTcgMjUuMyAzOS4xbDQuMi0zLTIuNS0yMy42YzkgOSAyNC45IDIyLjYgMzQuNCAxMy0xNS42LTUuMy0yMy41LTkuNS0yOS41LTMxLjcgNC42IDQuMiA3LjYgOSAyNy44IDE1bDEuMi0xLjItMTAuNS0xNC4yYzExLjctNC44LTMuNSAxIDMyLTEwLjggNC4zIDM0LjMgOSA0OS4yIC43IDg5LjV6TTQ4My4zIDI1OC43bC0yLjUgLjUgMyA5LjNjLTMuNSA1LjktMjMuNyA0NC4zLTcxLjYgNzkuNy0zOS41IDI5LjgtNzYuNiAzOS4xLTgwLjkgNDAuM2wtNy42LTcuMS0xLjIgMyAxNC4zIDE2LTcuMS00LjcgMy40IDQuMi0xLjIgMC0yMS45LTEzLjUgOS4zIDI2LjYtMTktMjcuOS0xLjIgMi41IDcuNiAyOWMtNi4xLTguMi0yMS0zMi42LTU2LjgtMzkuNmwzMi41IDIxLjJjLTMxLjIgNC43LTYzIDIuNS05My4yLTYuNC00LjItMS4yLTguOS0yLjUtMTMuNS00LjJsMS4yLTMtNDQuOC0yMi40IDI2LjEgMjIuNGMtNTcuNyA5LjEtMTEzLTI1LjQtMTI2LjQtODMuNEwyOS4zIDI4NC44IDcgMzA3LjFjMTkuNS01Ny41IDI1LjYtNTcuOSA1MS40LTcwLjEtOS4xLTUuMy0xLjYtMy4zLTM4LjQtOS4zIDE1LjgtNS44IDMzLTE1LjQgNzMgNS4yIDEuMi0uNyAyLjQtMS4zIDMuNy0xLjcgLjYtMy4yIC40LS44IDEtMTEuOCAzLjkgMTAgMy42IDguNyAzIDkuM2wxLjcgLjVjMTIuNy02LjUgOC45LTQuNSAxNy04LjlsLTUuNCAxMy41IDIyLjMtNS44LTguNCA4LjQgMi41IDIuNWM0LjUtMS44IDMwLjMgMy40IDQwLjggMTZsLTIzLjYtMi41YzM5LjQgMjMgNTEuNSA1NCA1NS44IDY5LjZsMS43LTEuMmMtMi44LTIyLjMtMTIuNC0zMy45LTE2LTQwLjEgNC4yIDUgMzkuMiAzNC42IDExMC40IDQ2LTExLjMtLjUtMjMuMSA1LjQtMzQuOSAxOC45bDQ2LjctMjAuMi05LjMgMjEuOWM3LjYtMTAuMSAxNC44LTIzLjYgMjEuMi0zOS42bDAtLjUgMS4yLTMtMS4yIDE2YzEzLjUtNDEuOCAyNS4zLTc4LjUgMzUuNC0xMDkuN2wxMy41LTI3LjggMC0yLTUuNC00LjIgMTAuMSAwIDUuOSA0LjIgMi41LTEuMi0zLjQtMTYgMTIuMyAxOC45IDQxLjgtMjAuMi0xNC44IDEzIC41IDIuOSAxNy43LS41YzExLjEgLjQgMjIuMSAxLjggMzMgNC4ybC0yMy42IDIuNS0xLjIgMyAyNi42IDIzLjFjOS45IDkuOSAxOC45IDIwLjYgMjcgMzItMTEuMi0zLjMtMTAuMy0zLjQtMjEuMi0zLjRsMTIuMyAzMi41LTguOS0xMi44em0tNi4xLTcxLjNsLTMuOSAxMy0xNC4zLTExLjggMTguMi0xLjJ6bS0yNTQuOCA3LjFjMS43IDEwLjYgNC43IDE3LjcgOC44IDIxLjktOS4zIDYuNi0yNy41IDEzLjktNDYuNSAxNmwuNSAxLjJjOC4zIDEuMyAxNi45IC40IDI0LjgtMi41bC03LjEgMTNjNC4yLTEuNyAxMC4xLTcuMSAxNy43LTE0LjggMTEuOS01LjUgMTIuNy01LjEgMjAuMi0xNi0xMi43LTYuNC0xNS43LTEzLjctMTguNC0xOC44em0zLjctMTAyLjNjLTYuNC0zLjQtMTAuNiAzLTEyLjMgMTguOXMyLjUgMjkuNSAxMS44IDM5LjYgMTguMiAxMC42IDI2LjEgMyAzLjQtMjMuNi0xMS4zLTQ3LjdjLTMuNS01LjctOC40LTEwLjUtMTQuMy0xMy44bDAgMHptLTQuNyA0Ni4zYzUuNCAyLjIgMTAuNSAxLjkgMTIuMy0xMC42bDAtNC43LTEuMiAuNWMtNC4zLTMuMS0yLjUtNC41LTEuNy02LjJsLjUtLjVjLS45LTEuMi01LTguMS0xMi41IDQuNy0uNS0xMy41IC41LTIxLjkgMy0yNC44IDEuMi0yLjUgNC43LTEuMiAxMS4zIDQuMiA2LjQgNS40IDExLjMgMTYgMTUuMiAzMi41IDYuNSAyOC0xOS44IDI2LjItMjYuOSA0Ljl6bS00NS01LjVjMS42IC4zIDkuMy0xLjEgOS4zLTE0LjhsLS41IDBjLTUuNC0xLjEtMi4yLTUuNS0uNy01LjktMS43LTMtMy40LTQuMi01LjQtNC43LTguMSAwLTExLjYgMTIuNy04LjEgMjEuMiAuNSAxLjEgMS4zIDIgMi4yIDIuOHMyIDEuMiAzLjIgMS40bDAgMHptNDAuMS01MC4xbC0yLjUgLjUgLjUgM2M5LjEtLjUgMTguMSAxLjUgMjYuMSA1LjktMi41LTUuNS0xMC0xNC4zLTI4LjMtMTQuM2wuNSAyLjUgMy43IDIuNHptLTcxLjggNDkuNGMyMS43IDE2LjggMTYuNSAyMS40IDQ2LjUgMjMuNmwtMi45LTQuN2M4LjQtNy4yIDEzLjctMTcuMyAxNC44LTI4LjMgMS43LTE2LTEuMi0yOS41LTguOC00MS4zbDEzLTcuNmMwLS4zIDAtLjYtLjEtLjlzLS4yLS42LS40LS44Yy0yLjItLjktNC42LTEuMi03LS45cy00LjYgMS4yLTYuNSAyLjZjLTEyLjcgNi43LTI4IDIwLjktMjkgMjIuNC0xLjcgMS43LTMuNCA1LjktNS40IDEzLjUtMS45IDcuNy0yLjkgMTUuNi0yLjkgMjMuNi00LjctOC0xMC41LTYuNC0xOS45LTUuOWw3LjEgNy42Yy0xNi41IDAtMjMuMyAxNS40LTIzLjYgMTYgNi44IDAgNC42LTcuNiAzMC0xMi4zLTQuMy02LjMtMy4zLTUtNC45LTYuNnptMTguNy0xOC43YzEuMi03LjYgMy40LTEzIDYuNC0xNy4yIDUuNC02LjQgMTAuNi0xMC4xIDE2LTExLjggNC4yLTEuNyA3LjEgMS4yIDEwLjEgOS4zIDIuNSA4LjIgMy41IDE2LjggMyAyNS4zLS41IDkuMy0zLjQgMTcuMi04LjQgMjMuMS0yLjkgMy40LTUuNCA1LjktNi40IDcuNi0zLjggLjQtNy42IC4yLTExLjMtLjVsLTcuMS0zLjQtNS40LTYuNGMuOC0xMCAxLjMtMTguOCAzLjEtMjZ6bTQyIDU2LjFjLTM0LjggMTQuNC0zNC43IDE0LTM2LjEgMTQuMy0yMC44IDQuNy0xOS0yNC40LTE4LjktMjQuOGw1LjktMS4yLS41LTIuNWMtMjAuMi0yLjYtMzEgNC4yLTMyLjUgNC45IC41IC41IDMgMy40IDUuOSA5LjMgNC4yLTYuNCA4LjgtMTAuMSAxNS4yLTEwLjYtMS43IDExLjItMS4yIDIyLjcgMS43IDMzLjcgLjEgLjUgMi42IDE3LjQgMjcuNSAyNC4xIDExLjMgMyAyNyAxLjIgNDguOS01LjRsLTkuMiAuNWMtNC4yLTE0LjgtNi40LTI0LjgtNS45LTI5LjUgMTEuMy04LjggMjEuOS0xMS4zIDMwLjctNy42bDIuNSAwLTExLjgtNy42LTcuMSAuNWMtNS45IDEuMi0xMi4zIDQuMi0xOS40IDguNGwzLjEtNi41eiJdfSxVYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiamlyYSIsaWNvbjpbNTEyLDUxMixbXSwiZjdiMSIsIk00OTguNSAyNDEuN2MtNzIuOS03Mi43LTE2OS40LTE2OS45LTI0MS41LTI0MS43LTE2NS41IDE2NC45LTI0Mi41IDI0MS43LTI0Mi41IDI0MS43LTcuOSA3LjktNy45IDIwLjcgMCAyOC43IDEzMi44IDEzMi4zIDYxLjggNjEuNSAyNDIuNSAyNDEuNiAzNzkuNC0zNzggMTUuNy0xNi43IDI0MS41LTI0MS43IDgtNy45IDgtMjAuNyAwLTI4LjZ6TTI1NyAzMzEuN2wtNzYtNzUuNyA3Ni03NS43IDc2IDc1LjctNzYgNzUuN3oiXX0sV2J0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZlZGV4IixpY29uOls2NDAsNTEyLFtdLCJmNzk3IiwiTTU4NiAyODQuNWw1My4zLTU5LjktNjIuNCAwLTIxLjcgMjQuOC0yMi41LTI0LjgtMTE4LjcgMCAwLTE2IDU2LjEgMCAwLTQ4LjEtMTUxLjIgMCAwIDc1LjUtLjUgMGMtOS42LTExLTIxLjUtMTQuOC0zNS40LTE0LjgtMjguNCAwLTQ5LjggMTkuNC01Ny4zIDQ0LjktMTgtNTkuNC05Ny40LTU3LjYtMTIxLjktMTRsMC0yNC4yLTU0LjggMCAwLTI2LjIgNjAgMCAwLTQxLjEtMTA5IDAgMCAxODQuNCA0OSAwIDAtNzcuNSA0OC45IDBjLTEuNSA1LjctMi4zIDExLjgtMi4zIDE4LjIgMCA3My4xIDEwMi42IDkxLjQgMTMwLjIgMjMuN2wtNDIgMGMtMTQuNyAyMC45LTQ1LjggOC45LTQ1LjgtMTQuNmw4NS41IDBjMy43IDMwLjUgMjcuNCA1Ni45IDYwLjEgNTYuOSAxNC4xIDAgMjctNi45IDM0LjktMTguNmwuNSAwIDAgMTEuOSAyMTIuMiAwIDIyLjEtMjUgMjIuMyAyNSA2NC40IDAtNTQtNjAuNXpNMTM5LjMgMjY3LjljNi4xLTI2LjMgNDEuNy0yNS42IDQ2LjUgMGwtNDYuNSAwem0xNTMuNCA0OC45Yy0zNC42IDAtMzQtNjIuOCAwLTYyLjggMzIuNiAwIDM0LjUgNjIuOCAwIDYyLjh6bTE2Ny44IDE5LjFsLTk0LjQgMCAwLTE2Ni41IDk1IDAgMCAzMC4yLTU2LjEgMCAwIDMzLjkgNTUuNSAwIDAgMjguMS01Ni4xIDAgMCA0NC43IDU2LjEgMCAwIDI5LjZ6bS00NS45LTM5LjhsMC0yNC40IDU2LjEgMCAwLTQ0IDUwLjcgNTctNTAuNyA1NyAwLTQ1LjYtNTYuMSAwem0xMzguNiAxMC4zbC0yNi4xIDI5LjUtMzguMSAwIDQ1LjYtNTEuMi00NS42LTUxLjIgMzkuNyAwIDI2LjYgMjkuMyAyNS42LTI5LjMgMzguNSAwLTQ1LjQgNTEgNDYgNTEuNC00MC41IDAtMjYuMy0yOS41eiJdfSxHYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZXZlcm5vdGUiLGljb246WzM4NCw1MTIsW10sImY4MzkiLCJNMTIxLjEgMTMyLjJjMS42IDIyLjMtMTcuNiAyMS42LTIxLjYgMjEuNi02OC45IDAtNzMuNi0xLTgzLjYgMy4zLS42IC4yLS43IDAtLjQtLjRMMTI0LjEgNDYuNGMuNC0uNCAuNi0uMiAuNCAuNC00LjQgMTAtMy40IDE1LjEtMy40IDg1LjR6bTc5IDMwOGMtMTQuNy0zNy4xIDEzLTc2LjkgNTIuNS03Ni42IDE3LjUgMCAyMi42IDIzLjIgNy45IDMxLjQtNi4yIDMuMy0yNC45IDEuNy0yNS4xIDE5LjIgMCAxNy4xIDE5LjcgMjUgMzEuMiAyNC45IDYgMCAxMS45LTEuMiAxNy41LTMuNXMxMC42LTUuNyAxNC44LTkuOSA3LjYtOS4zIDkuOS0xNC44IDMuNS0xMS41IDMuNS0xNy41bDAtLjFjMC0xMS42LTcuOC00Ny4yLTQ3LjUtNTUuMy03LjctMS41LTY1LTYuMy02OC40LTUwLjUtMy43IDE2LjktMTcuNCA2My41LTQzLjEgNjkuMS04LjcgMS45LTY5LjcgNy42LTExMi45LTM2LjggMCAwLTE4LjYtMTUuMi0yOC4yLTU4LTMuNC0xNS43LTkuMy0zOS43LTExLjEtNjIgMC0xOCAxMS4xLTMwLjQgMjUuMS0zMi4yIDgxIDAgOTAgMi4zIDEwMS03LjggOS44LTkuMiA3LjgtMTUuNSA3LjgtMTAyLjggMS04LjMgNy44LTMwLjggNTMuNC0yNC4xIDYgLjkgMzEuOSA0LjIgMzcuNSAzMC42TDI5MCA3NC44YzIwLjQgMy43IDcwLjkgNyA4MC42IDU3LjkgMjIuNyAxMjEuMSA4LjkgMjM4LjUgNy44IDIzOC41LTE2IDExNC40LTExMS4xIDEwOC45LTExMS4xIDEwOC45LTE5LS4yLTU0LjItOS40LTY3LjMtMzkuOGwwIDB6TTI4MSAyMzUuNGMtMSAxLjktMi4yIDYgLjkgNyAxNC4xIDQuOSAzOS44IDYuOCA0NS45IDUuNSAzLjEtLjIgMy4xLTQuNCAyLjUtNi42LTMuNS0yMS44LTQwLjgtMjYuNS00OS4yLTUuOWwwIDB6Il19LFlidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1c2IiLGljb246WzY0MCw1MTIsW10sImYyODciLCJNNjMzLjUgMjU2YzAgMy4xLTEuNyA2LjEtNC41IDcuNUw1MzkuOSAzMTdjLTEuNCAuOC0yLjggMS40LTQuNSAxLjQtMS40IDAtMy4xLS4zLTQuNS0xLjEtMi44LTEuNy00LjUtNC41LTQuNS03LjhsMC0zNS42LTIzMC43IDBjMjUuMyAzOS42IDQwLjUgMTA2LjkgNjkuNiAxMDYuOWwyNi43IDAgMC0yNi44YzAtNSAzLjktOC45IDguOS04LjlsODkuMSAwYzUgMCA4LjkgMy45IDguOSA4LjlsMCA4OS4xYzAgNS0zLjkgOC45LTguOSA4LjlsLTg5LjEgMGMtNSAwLTguOS0zLjktOC45LTguOWwwLTI2LjctMjYuNyAwYy03NS40IDAtODEuMS0xNDIuNS0xMjQuNy0xNDIuNWwtMTAwLjMgMGMtOC4xIDMwLjYtMzUuOSA1My41LTY5IDUzLjUtMzkuMy0uMS03MS4zLTMyLjEtNzEuMy03MS40czMyLTcxLjMgNzEuMy03MS4zYzMzLjEgMCA2MSAyMi44IDY5IDUzLjUgMzkuMSAwIDQzLjkgOS41IDc0LjYtNjAuNCA0MC4xLTg5LjEgNTguMS04Mi4xIDEwOC45LTgyLjEgNy41LTIwLjkgMjctMzUuNiA1MC40LTM1LjYgMjkuNSAwIDUzLjUgMjMuOSA1My41IDUzLjVzLTIzLjkgNTMuNS01My41IDUzLjVjLTIzLjQgMC00Mi45LTE0LjgtNTAuNC0zNS42bC0yOS44IDBjLTI5LjEgMC00NC4zIDY3LjQtNjkuNiAxMDYuOWwzMDIuMSAwIDAtMzUuNmMwLTMuMyAxLjctNi4xIDQuNS03LjhzNi40LTEuNCA4LjkgLjNMNjI5IDI0OC44YzIuOCAxLjEgNC41IDQuMSA0LjUgNy4yeiJdfSxLYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYW5ncnljcmVhdGl2ZSIsaWNvbjpbNjQwLDUxMixbXSwiZjM2ZSIsIk02NDAgMjM4LjJsLTMuMiAyOC4yLTM0LjUgMi4zLTIgMTguMSAzNC41LTIuMy0zLjIgMjguMi0zNC40IDIuMi0yLjMgMjAuMSAzNC40LTIuMi0zIDI2LjEtNjQuNyA0LjEgMTIuNy0xMTMuMi00Ny4zIDExNS40LTMxLjkgMi0yMy44LTExNy44IDMwLjMtMiAxMy42IDc5LjQgMzEuNy04Mi40IDkzLjEtNi4yek00MjYuOCAzNzEuNWwyOC4zLTEuOCAxMi45LTEyMC4xLTI4LjQgMS45LTEyLjggMTIwek0xNjIgMzg4LjFsLTE5LjQtMzYtMy41IDM3LjQtMjguMiAxLjcgMi43LTI5LjFjLTExIDE4LTMyIDM0LjMtNTYuOSAzNS44LTMyLjggMi01OS43LTIwLjktNTYuNC01OC4yIDIuNi0yOS4zIDI2LjctNjIuOCA2Ny41LTY1LjQgMzcuNy0yLjQgNDcuNiAyMy4yIDUxLjMgMjguOGwyLjgtMzAuOCAzOC45LTIuNWMyMC4xLTEuMyAzOC43IDMuNyA0Mi41IDIzLjdsMi42LTI2LjYgNjQuOC00LjItMi43IDI3LjktMzYuNCAyLjQtMS43IDE3LjkgMzYuNC0yLjMtMi43IDI3LjktMzYuNCAyLjMtMS45IDE5LjkgMzYuMy0yLjMtMi4xIDIwLjggNTUtMTE3LjIgMjMuOC0xLjYgMzIuMSAxMTAuNiA4LjktODUuNi0yMi4zIDEuNCAyLjktMjcuOSA3NS00LjktMyAyOC0yNC4zIDEuNi05LjcgOTEuOS01OCAzLjctNC4zLTE1LjYtMzkuNCAyLjUtOCAxNi4zLTEyNi4yIDcuN3ptLTQ0LjMtNzAuMmwtMjYuNCAxLjdjLTYuNy0xMi40LTE0LjQtMTYuNi0yNi4zLTE1LjgtMTkgMS4yLTMzLjMgMTcuNS0zNC42IDMzLjMtMS40IDE2IDcuMyAzMi41IDI4LjcgMzEuMiAxMi44LS44IDIxLjMtOC42IDI4LjktMTguOWwyNy0xLjcgMi43LTI5Ljh6bTU2LjEtNy43YzEuMi0xMi45LTcuNi0xMy42LTI2LjEtMTIuNEwxNDUgMzI2LjNjMTQuMi0uOSAyNy41LTIuMSAyOC44LTE2LjF6TTE5NC45IDM4MWw1LjgtNjBjLTUgMTMuNS0xNC43IDIxLjEtMjcuOSAyNi42TDE5NC45IDM4MXptMTM1LjQtNDVsLTcuOS0zNy44LTE1LjggMzkuMyAyMy43LTEuNXpNMTYwLjIgMjYxLjRsLTQuMy0xNy41LTM5LjYgMi42LTguMSAxOC4yLTMxLjkgMi4xIDU3LTEyMS45IDIzLjktMS42IDMwLjcgMTAyIDkuOS0xMDQuNyAyNy0xLjggMzcuOCA2My42IDYuNS02Ni42IDI4LjUtMS45LTQgNDEuMmM3LjQtMTMuNSAyMi45LTQ0LjcgNjMuNi00Ny41IDQwLjUtMi44IDUyLjQgMjkuMyA1My40IDMwLjNsMy4zLTMyIDM5LjMtMi43YzEyLjctLjkgMjcuOCAuMyAzNi4zIDkuN2wtNC40LTExLjkgMzIuMi0yLjIgMTIuOSA0My4yIDIzLTQ1LjcgMzEtMi4yLTQzLjYgNzguNC00LjggNDQuMy0yOC40IDEuOSA0LjgtNDQuMy0xNS44LTQzYzEgMjIuMy05LjIgNDAuMS0zMiA0OS42bDI1LjIgMzguOC0zNi40IDIuNC0xOS4yLTM2LjgtNCAzOC4zLTI4LjQgMS45IDMuMy0zMS41Yy02LjcgOS4zLTE5LjcgMzUuNC01OS42IDM4LTI2LjIgMS43LTQ1LjYtMTAuMy01NS40LTM5LjJsLTQgNDAuMy0yNSAxLjYtMzcuNi02My4zLTYuMyA2Ni4yLTU2LjggMy43em0yNzYuNi04Mi4xYzEwLjItLjcgMTcuNS0yLjEgMjEuNi00LjMgNC41LTIuNCA3LTYuNCA3LjYtMTIuMSAuNi01LjMtLjYtOC44LTMuNC0xMC40LTMuNi0yLjEtMTAuNi0yLjgtMjIuOS0ybC0yLjkgMjguOHpNMzI3LjcgMjE0YzUuNiA1LjkgMTIuNyA4LjUgMjEuMyA3LjkgNC43LS4zIDkuMS0xLjggMTMuMy00LjEgNS41LTMgMTAuNi04IDE1LjEtMTQuM2wtMzQuMiAyLjMgMi40LTIzLjkgNjMuMS00LjMgMS4yLTEyLTMxLjIgMi4xYy00LjEtMy43LTcuOC02LjYtMTEuMS04LjEtNC0xLjctOC4xLTIuOC0xMi4yLTIuNS04IC41LTE1LjMgMy42LTIyIDkuMi03LjcgNi40LTEyIDE0LjUtMTIuOSAyNC40LTEuMSA5LjYgMS40IDE3LjMgNy4yIDIzLjN6bS0yMDEuMyA4LjJsMjMuOC0xLjYtOC4zLTM3LjYtMTUuNSAzOS4yeiJdfSxaYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWl6dW5pIixpY29uOls1MTIsNTEyLFtdLCJmM2NjIiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNMTc2IDM1OS45Yy0zMS40IDEwLjYtNTguOCAyNy4zLTgwIDQ4LjJMOTYgMTM2YzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAyMjMuOXpNMjk2IDM1MGMtMTIuOS0yLTI2LjItMy4xLTM5LjgtMy4xLTEzLjggMC0yNy4yIDEuMS00MC4yIDMuMWwwLTIxNGMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwbDAgMjE0em0xMjAgNTcuN2MtMjEuMi0yMC44LTQ4LjYtMzcuNC04MC00OEwzMzYgMTM2YzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAyNzEuN3oiXX0sWGJ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Iml0Y2gtaW8iLGljb246WzUxMiw1MTIsW10sImY4M2EiLCJNNzEuOSAzNC44QzUwLjIgNDcuNyA3LjQgOTYuOCA3IDEwOS43bDAgMjEuM2MwIDI3LjEgMjUuMyA1MC44IDQ4LjIgNTAuOCAyNy42IDAgNTAuNS0yMi44IDUwLjUtNTAgMCAyNy4xIDIyLjIgNTAgNDkuOCA1MHM0OS0yMi44IDQ5LTUwYzAgMjcuMSAyMy42IDUwIDUxLjIgNTBsLjUgMGMyNy42IDAgNTEuMi0yMi44IDUxLjItNTAgMCAyNy4xIDIxLjUgNTAgNDkgNTBzNDkuOC0yMi44IDQ5LjgtNTBjMCAyNy4xIDIzIDUwIDUwLjUgNTAgMjMgMCA0OC4zLTIzLjggNDguMy01MC44bDAtMjEuM2MtLjQtMTIuOS00My4yLTYyLjEtNjQuOS03NS02Ny40LTIuMy0xMTQuMi0yLjctMTg0LTIuN1M5MS4xIDMzLjEgNzEuOSAzNC44ek0yMDQuMiAxNjkuMmMtMjIgMzguNC03Ny45IDM4LjctOTkuOCAuMi0xMy4yIDIzLjEtNDMuMiAzMi4xLTU2IDI3LjctMy45IDQwLjItMTMuNyAyMzcuMSAxNy43IDI2OS4yIDgwIDE4LjcgMzAyLjEgMTguMSAzNzkuOCAwIDMxLjYtMzIuMyAyMS4zLTIzMiAxNy43LTI2OS4yLTEyLjkgNC40LTQyLjktNC42LTU2LTI3LjctMjIgMzguNS03Ny44IDM4LjEtOTkuOC0uMi03LjEgMTIuNS0yMyAyOC45LTUxLjggMjguOS0xMC40IC4zLTIwLjgtMi4yLTI5LjktNy4zcy0xNi43LTEyLjYtMjEuOS0yMS42bDAgMHptLTQxLjYgNTMuOGMxNi41IDAgMzEuMSAwIDQ5LjIgMTkuOCAyOS4zLTMgNTguOS0zIDg4LjIgMCAxOC4yLTE5LjcgMzIuOC0xOS43IDQ5LjItMTkuNyA1Mi4zIDAgNjUuMiA3Ny41IDgzLjkgMTQ0LjQgMTcuMyA2Mi4yLTUuNSA2My43LTM0IDYzLjctNDIuMS0xLjYtNjUuNS0zMi4yLTY1LjUtNjIuOC0zOS4zIDYuNC0xMDEuOSA4LjgtMTU1LjYgMCAwIDMwLjYtMjMuMyA2MS4yLTY1LjUgNjIuOC0yOC40LS4xLTUxLjItMS42LTMzLjktNjMuNyAxOC43LTY3IDMxLjYtMTQ0LjQgODMuOS0xNDQuNGwwLS4xek0yNTYgMjcwLjhzLTQ0LjQgNDAuOC01Mi40IDU1LjJsMjktMS4yIDAgMjUuM2MwIDEuNSAyMS4zIC4yIDIzLjMgLjIgMTEuNiAuNSAyMy4zIDEgMjMuMy0uMmwwLTI1LjMgMjkgMS4yYy04LTE0LjUtNTIuNC01NS4yLTUyLjQtNTUuMmwuMSAweiJdfSxRYnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2luZG93cyIsaWNvbjpbNDQ4LDUxMixbXSwiZjE3YSIsIk0wIDkzLjdsMTgzLjYtMjUuMyAwIDE3Ny40LTE4My42IDAgMC0xNTIuMXpNMCA0MTguM2wxODMuNiAyNS4zIDAtMTc1LjItMTgzLjYgMCAwIDE0OS45em0yMDMuOCAyOGwyNDQuMiAzMy43IDAtMjExLjYtMjQ0LjIgMCAwIDE3Ny45em0wLTM4MC42bDAgMTgwLjEgMjQ0LjIgMCAwLTIxMy44LTI0NC4yIDMzLjd6Il19LEpidD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdHVtYmxldXBvbiIsaWNvbjpbNTEyLDUxMixbXSwiZjFhNCIsIk01MDIuOSAyNjZsMCA2OS43YzAgNjIuMS01MC4zIDExMi40LTExMi40IDExMi40LTYxLjggMC0xMTIuNC00OS44LTExMi40LTExMS4zbDAtNzAuMiAzNC4zIDE2IDUxLjEtMTUuMiAwIDcwLjZjMCAxNC43IDEyIDI2LjUgMjYuNyAyNi41UzQxNyAzNTIuNyA0MTcgMzM4bDAtNzIgODUuOSAwek0yNzguMiAyMDcuOGwzNC4zIDE2IDUxLjEtMTUuMiAwLTM1LjZjMC02MC41LTUxLjEtMTA5LTExMi4xLTEwOS02MC44IDAtMTEyLjEgNDguMi0xMTIuMSAxMDguMmwwIDE2Mi40YzAgMTQuOS0xMiAyNi43LTI2LjcgMjYuN1M4NiAzNDkuNSA4NiAzMzQuNmwwLTY4LjYtODYgMCAwIDY5LjdjMCA2MiA1MC4zIDExMi4zIDExMi40IDExMi4zIDYxLjYgMCAxMTIuNC00OS41IDExMi40LTExMC44bDAtMTYwLjNjMC0xNC43IDEyLTI2LjcgMjYuNy0yNi43czI2LjcgMTIgMjYuNyAyNi43bDAgMzAuOXoiXX0sZGVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2dsZSIsaWNvbjpbNTEyLDUxMixbXSwiZjFhMCIsIk01MDAgMjYxLjhDNTAwIDQwMy4zIDQwMy4xIDUwNCAyNjAgNTA0IDEyMi44IDUwNCAxMiAzOTMuMiAxMiAyNTZTMTIyLjggOCAyNjAgOGM2Ni44IDAgMTIzIDI0LjUgMTY2LjMgNjQuOWwtNjcuNSA2NC45Yy04OC4zLTg1LjItMjUyLjUtMjEuMi0yNTIuNSAxMTguMiAwIDg2LjUgNjkuMSAxNTYuNiAxNTMuNyAxNTYuNiA5OC4yIDAgMTM1LTcwLjQgMTQwLjgtMTA2LjlsLTE0MC44IDAgMC04NS4zIDIzNi4xIDBjMi4zIDEyLjcgMy45IDI0LjkgMy45IDQxLjR6Il19LGV2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkaXNjb3JkIixpY29uOls1NzYsNTEyLFtdLCJmMzkyIiwiTTQ5Mi41IDY5LjhjLS4yLS4zLS40LS42LS44LS43LTM4LjEtMTcuNS03OC40LTMwLTExOS43LTM3LjEtLjQtLjEtLjggMC0xLjEgLjFzLS42IC40LS44IC44Yy01LjUgOS45LTEwLjUgMjAuMi0xNC45IDMwLjYtNDQuNi02LjgtODkuOS02LjgtMTM0LjQgMC00LjUtMTAuNS05LjUtMjAuNy0xNS4xLTMwLjYtLjItLjMtLjUtLjYtLjgtLjhzLS43LS4yLTEuMS0uMmMtNDEuMyA3LjEtODEuNiAxOS42LTExOS43IDM3LjEtLjMgLjEtLjYgLjQtLjggLjctNzYuMiAxMTMuOC05Ny4xIDIyNC45LTg2LjkgMzM0LjUgMCAuMyAuMSAuNSAuMiAuOHMuMyAuNCAuNSAuNmM0NC40IDMyLjkgOTQgNTggMTQ2LjggNzQuMiAuNCAuMSAuOCAuMSAxLjEgMHMuNy0uNCAuOS0uN2MxMS4zLTE1LjQgMjEuNC0zMS44IDMwLTQ4LjggLjEtLjIgLjItLjUgLjItLjhzMC0uNS0uMS0uOC0uMi0uNS0uNC0uNi0uNC0uMy0uNy0uNGMtMTUuOC02LjEtMzEuMi0xMy40LTQ1LjktMjEuOS0uMy0uMi0uNS0uNC0uNy0uNnMtLjMtLjYtLjMtLjkgMC0uNiAuMi0uOSAuMy0uNSAuNi0uN2MzLjEtMi4zIDYuMi00LjcgOS4xLTcuMSAuMy0uMiAuNi0uNCAuOS0uNHMuNyAwIDEgLjFjOTYuMiA0My45IDIwMC40IDQzLjkgMjk1LjUgMCAuMy0uMSAuNy0uMiAxLS4ycy43IC4yIC45IC40YzIuOSAyLjQgNiA0LjkgOS4xIDcuMiAuMiAuMiAuNCAuNCAuNiAuN3MuMiAuNiAuMiAuOS0uMSAuNi0uMyAuOS0uNCAuNS0uNiAuNmMtMTQuNyA4LjYtMzAgMTUuOS00NS45IDIxLjgtLjIgLjEtLjUgLjItLjcgLjRzLS4zIC40LS40IC43LS4xIC41LS4xIC44IC4xIC41IC4yIC44YzguOCAxNyAxOC44IDMzLjMgMzAgNDguOCAuMiAuMyAuNiAuNiAuOSAuN3MuOCAuMSAxLjEgMGM1Mi45LTE2LjIgMTAyLjYtNDEuMyAxNDcuMS03NC4yIC4yLS4yIC40LS40IC41LS42cy4yLS41IC4yLS44YzEyLjMtMTI2LjgtMjAuNS0yMzYuOS04Ni45LTMzNC41em0tMzAyIDI2Ny43Yy0yOSAwLTUyLjgtMjYuNi01Mi44LTU5LjJzMjMuNC01OS4yIDUyLjgtNTkuMmMyOS43IDAgNTMuMyAyNi44IDUyLjggNTkuMiAwIDMyLjctMjMuNCA1OS4yLTUyLjggNTkuMnptMTk1LjQgMGMtMjkgMC01Mi44LTI2LjYtNTIuOC01OS4yczIzLjQtNTkuMiA1Mi44LTU5LjJjMjkuNyAwIDUzLjMgMjYuOCA1Mi44IDU5LjIgMCAzMi43LTIzLjIgNTkuMi01Mi44IDU5LjJ6Il19LHR2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJoYWNrZXItbmV3cyIsaWNvbjpbNDQ4LDUxMixbXSwiZjFkNCIsIk0wIDMybDAgNDQ4IDQ0OCAwIDAtNDQ4LTQ0OCAwek0yMS4yIDIyOS4ybC0uMiAwYy4xLS4xIC4yLS4zIC4zLS40IDAgLjEgMCAuMy0uMSAuNHptMjE4IDUzLjlsMCAxMDAuOS0zMS40IDAgMC0xMDIuNy03OS44LTE1My4zIDM3LjMgMGM1Mi41IDk4LjMgNDkuMiAxMDEuMiA1OS4zIDEyNS42IDEyLjMtMjcgNS44LTI0LjQgNjAuNi0xMjUuNmwzNC44IDAtODAuOCAxNTUuMXoiXX0sJHVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVsZXZlbnR5IixpY29uOls2NDAsNTEyLFsiMTF0eSJdLCJlN2Q2IiwiTTYxNS4zIDE2OC41YzIuMyAwIDQuNiAuNyA2LjYgMi4yIDEuOSAxLjQgMy4xIDMuMyAzLjggNSAxLjQgMy4zIDEuOCA3LjMgMS44IDExLjMgMCAyLjItLjMgNC45LS43IDcuNmwwIC40LTUwLjkgMjY0LjkgMCAwYy00IDIyLjEtOC41IDM5LjQtMTMuNiA1MS43LTUgMTIuMS0xMC45IDIxLjYtMTguNiAyN2wwIDBjLTcuNSA1LjMtMTYuOSA3LjctMjcuNiA4bC0zIDBjLTE2IDAtMjkuMy00LjItMzYuOS0xNC44LS4xLS4xLS4xLS4xLS4yLS4yLS4xLS4yLS4zLS40LS41LS42bDAgMGMtMS44LTIuNC0yLjUtNS4yLTIuOS03LjQtLjUtMi44LS43LTYuMS0uNy05LjggMC03LjMgLjYtMTMuNSAyLjEtMTguMiAxLjQtNC40IDQuOC0xMC40IDEyLjItMTAuNGwxLjMgLjFjLjIgMCAuNCAuMSAuNSAuMSAuMyAuMSAuNiAuMSAuOCAuMiAuNiAuMSAxLjMgLjMgMi4yIC42bDcuNiAyLjIgLjEgMCA3LjYgMi4xYy45IC4yIDEuNyAuNCAyLjIgLjUgLjQgLjEgLjYgLjEgLjcgLjEgMCAwIC4xIDAgLjItLjEgLjEtLjEgLjQtLjIgLjgtLjYgLjktLjkgMi4yLTIuNiAzLjYtNS43IDIuNi01LjggNC4yLTE0LjcgNC4yLTI3LjQgMC0uNy0uMy0zLjQtMS4zLTguOS0uOS01LjEtMi4zLTEyLjItNC4yLTIxLjFsLTU2LTIzMi45LS4xLS40IDAtLjNjLS40LTIuNy0uNy01LjMtLjctNy4zIDAtMy43IC40LTcuNSAxLjctMTAuNiAuNy0xLjYgMS44LTMuNCAzLjUtNC45IDEuOS0xLjUgNC4yLTIuMyA2LjUtMi4zbDM0LjYgMGM0LjYgMCA4LjcgMS43IDExLjkgNWwxLjMgMS41YzEuMiAxLjYgMiAzLjQgMi43IDUuMiAuOSAyLjQgMS41IDUuMSAyIDguMWwzMC40IDE2MS4yIDIzLjgtMTYwYy44LTUuOCAyLjItMTEuNCA1LjEtMTUuMSAzLTMuOCA3LjItNS44IDEyLTUuOGwyNCAwek0zNzUuMSAzNC42YzIuNiAwIDUuMSAuNyA3LjQgMi4zIDIuMiAxLjUgMy43IDMuNiA0LjcgNS43IDEuOSA0IDIuNSA5LjEgMi41IDE0LjVsMCAxMTEuMmMwIC4xIDAgLjIgMCAuM2wzMi40IDBjMi41IDAgNSAuNiA3LjIgMi4xIDIuMiAxLjQgMy43IDMuNCA0LjggNS41IDIgMy45IDIuNiA4LjggMi42IDEzLjlsMCAxNS40YzAgNS0uNiA5LjgtMi42IDEzLjctMS4xIDItMi42IDQtNC44IDUuNC0yLjIgMS40LTQuNyAyLTcuMSAybC0zMi41IDAgMCAxNDUuOGMwIDEwLjggLjcgMTkuNSAyIDI2LjIgMS40IDYuOSAzLjEgMTAuOSA0LjcgMTIuOSAxLjIgMS41IDIuMiAyLjUgMy4xIDMuMmwyLjIgMS40IC4xIC4xIDIuOSAuOGMxLjIgLjIgMi42IC4zIDQuMyAuM2wyMC4zIDBjNC41IDAgOC45IDEuNyAxMS44IDUuOCAyLjYgMy42IDMuMyA4LjEgMy4zIDEyLjJsMCAxNy4yYzAgNC41LS44IDkuMy0zLjQgMTMuMS0zIDQuMi03LjUgNi0xMi4zIDZsMCAwLTI5LjEgLjFjLTggMC0xNS0uNi0yMS4yLTEuNy02LjctMS4zLTEzLjQtNC4xLTIwLjEtOC4xLTcuMi00LjQtMTMtMTAuMy0xNy41LTE3LjgtNC41LTcuNS03LjktMTcuNS0xMC41LTI5LjUtMi42LTEyLjItMy45LTI2LjYtMy45LTQzbDAtMTQ0LjktMTMuNCAwYy0yLjQgMC00LjktLjYtNy4xLTItMi4yLTEuNC0zLjctMy40LTQuOC01LjQtMi0zLjktMi42LTguNy0yLjYtMTMuN2wwLTE1LjRjMC01LjEgLjYtMTAgMi42LTEzLjkgMS4xLTIuMSAyLjYtNCA0LjgtNS41IDIuMi0xLjUgNC43LTIuMSA3LjItMi4xbDEzLjQgMCAwLS42IDUuMi0xMTEuMiAwLS4xIC4zLTMuOWMuNS0zLjggMS4zLTcuNCAyLjctMTAuMyAyLjEtNC4yIDYtNy45IDExLjgtNy45bDI4LjYgMHptLTI2OCAxMS43YzEuOCAuMyAzLjYgLjkgNS4zIDIuMSAyLjEgMS41IDMuNSAzLjUgNC40IDUuNCAxLjcgMy43IDIuMyA4LjQgMi4zIDEzLjJsMCAzNzcuOGMwIDYuNy0uNiAxMi42LTIuNCAxNy4xLS45IDIuMy0yLjMgNC43LTQuNCA2LjUtMi4zIDItNS4xIDMtOC4xIDNsLTQzLjcgMGMtMyAwLTUuOC0xLjEtOC4xLTMuMS0yLjEtMS45LTMuNC00LjMtNC4yLTYuNS0xLjctNC41LTIuMy0xMC4zLTIuMy0xN2wwLTMxNS44Yy00LjggMS4yLTguNyAyLjItMTEuNSAyLjktMS45IC41LTMuNCAuOC00LjQgMS4xLS41IC4xLS45IC4yLTEuMiAuMy0uMSAwLS4zIC4xLS41IC4xLS4xIDAtLjIgMC0uMyAuMSAwIDAtLjIgMC0uMyAwIDAgMC0uMiAwLS40IDBsMCAwYy0uMSAwLS4zIDAtLjQgMC0uMSAwLS4yIDAtLjIgMC0yLjIgLjEtNC41LS40LTYuNi0xLjctMi4zLTEuNC0zLjgtMy40LTQuNy01LjMtMS44LTMuNy0yLjMtOC40LTIuMy0xM2wwLTI3LjRjMC00LjQgLjctOC44IDIuNi0xMi40IDIuMS0zLjkgNS41LTYuNiA5LjgtNy42bDc1LjUtMTkuNWMxLjQtLjQgMi45LS41IDQuNC0uNWwxLjggLjF6bTE0My44LS41YzEuOCAuMyAzLjYgLjkgNS4yIDIuMSAyLjEgMS41IDMuNSAzLjUgNC40IDUuNCAxLjcgMy43IDIuMiA4LjQgMi4yIDEzLjJsMCAzNzcuOGMwIDYuNy0uNiAxMi42LTIuNCAxNy4xLS45IDIuMy0yLjMgNC43LTQuNCA2LjUtMi4zIDItNS4xIDMtOC4xIDNsLTQzLjcgMGMtMyAwLTUuOC0xLjEtOC4xLTMuMS0yLjEtMS45LTMuNC00LjMtNC4yLTYuNS0xLjctNC41LTIuMy0xMC4zLTIuMy0xN2wwLTMxNS44Yy00LjggMS4yLTguNyAyLjItMTEuNSAyLjktMS45IC41LTMuNCAuOC00LjQgMS4xLS41IC4xLS45IC4yLTEuMiAuMy0uMSAwLS4zIC4xLS41IC4xLS4xIDAtLjIgMC0uMyAuMS0uMSAwLS4yIDAtLjMgMCAwIDAtLjIgMC0uNCAwbDAgMGMtLjEgMC0uMiAwLS4zIDAtLjEgMC0uMiAwLS4zIDAtMi4yIC4xLTQuNS0uNC02LjYtMS43LTIuMy0xLjQtMy44LTMuNC00LjctNS4zLTEuOC0zLjctMi4zLTguMy0yLjMtMTNsMC0yNy40YzAtNC40IC43LTguNyAyLjYtMTIuNCAyLjEtMy45IDUuNS02LjYgOS44LTcuNmw3NS40LTE5LjRjMS40LS40IDIuOS0uNSA0LjQtLjVsMS44IC4xeiJdfSxhdnQ9JHVlLHJ2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0ZWFtc3BlYWsiLGljb246WzU3Niw1MTIsW10sImY0ZjkiLCJNMTUyLjggMzcuMmMtMzIuMiAzOC4xLTU2LjEgODIuNi02OS45IDEzMC41IDAgLjItLjEgLjMtLjEgLjUtMzkuMyAxNi4yLTY2LjggNTQuOC02Ni44IDk5LjggMCA1OS42IDQ4LjQgMTA4IDEwOCAxMDhzMTA4LTQ4LjQgMTA4LTEwOGMwLTUzLjUtMzguOS05Ny45LTkwLTEwNi41IDE1LjctNDEuOCA0MC40LTc5LjYgNzIuMy0xMTAuNyAxLjgtMS42IDQtMi42IDYuMy0zLjEgMzcuMi0xMS41IDc2LjctMTMuMyAxMTQuOC01LjIgMTE5LjMgMjUuMSAxOTguNiAxMzguMiAxODEuNyAyNTguOC04LjQgNjIuNi0zOC42IDExMi43LTg3LjcgMTUxLjQtNTAuMSAzOS43LTEwNy41IDU0LjMtMTcwLjIgNTIuMmwtMjQtMWMxMi40IDIuOCAyNSA0LjkgMzcuNiA2LjMgNDAuNyA0LjIgODEuNCAyLjEgMTIwLjEtMTIuNSA5NC0zNS41IDE0OS4zLTEwMi4zIDE2Mi45LTIwMi41IDQuOC01Mi42LTUuOC0xMDUuNC0zMC44LTE1Mi03MC40LTEzMS45LTIzNC4yLTE4MS42LTM2Ni0xMTEuMi0yLjQgMS40LTQuNSAzLjEtNi4zIDUuMmwuMSAwek0zMDkuNCA0MzMuOWMtMi4xIDExLjUtNC4yIDIxLjktMTQuNiAzMS4zIDUzLjItMSAxMjMuMi0yOS4yIDE2MS44LTk3LjEgMzkuNy02OS45IDM3LjYtMTM5LjktNi4zLTIwNy44LTM2LjUtNTUuMy04OS44LTgyLjQtMTU2LjYtODYuNiAxLjUgMi4zIDMuMiA0LjQgNS4yIDYuM2w1LjIgNi4zYzI1LjEgMzEuMyAzNy42IDY3LjkgNDIuOCAxMDcuNSAyLjEgMTUuNy0xIDMwLjMtMTMuNiA0MS44LTQuMiAzLjEtNS4yIDYuMy00LjIgMTAuNGw3LjMgMTcuNyAyOS4zIDU0LjNjNS4yIDExLjUgNC4yIDE5LjgtNi4zIDI4LjItMy4yIDIuNS02LjcgNC42LTEwLjQgNi4zbC0xOC44IDguNCAzLjEgMTMuNmMzLjEgNi4zIDEgMTIuNS0zLjEgMTcuNy0yLjUgMi40LTMuOCA1LjktMy4xIDkuNCAyLjEgMTEuNS0yLjEgMTkuOC0xMi41IDI1LjEtMi4xIDEtNC4yIDUuMi01LjIgNy4zbDAtLjF6bS0xMzMuNi0zLjFjMTYuNyAxMS41IDM0LjUgMjAuOSA1My4yIDI2LjEgMjQgNS4yIDQxLjgtNi4zIDQ0LjktMzAuMyAxLTguNCA1LjItMTQuNiAxMi41LTE3LjcgNy4zLTQuMiA4LjQtNy4zIDIuMS0xMy42bC05LjQtOC40IDEzLjYtNC4yYzYuMy0yLjEgNy4zLTUuMiA1LjItMTEuNS0xLjQtMy0yLjQtNi4yLTMuMS05LjQtMy4xLTE0LjYtMi4xLTE1LjcgMTEuNS0xOC44IDguNC0zLjEgMTUuNy02LjMgMjEuOS0xMi41IDMuMS0yLjEgMy4xLTQuMiAxLTguNGwtMTYuNy0zMC4zYy0xLTEuOS0yLjEtMy44LTMuMS01LjctNi40LTExLjctMTMtMjMuNi0xNS43LTM3LjEtMi4xLTkuNC0xLTE3LjcgOC40LTI0IDUuMi00LjIgOC40LTkuNCA4LjQtMTYuNy0uNC0xMC4xLTEuNS0yMC4zLTMuMS0zMC4zLTYuMy0zNy42LTIzLTY4LjktNTEuMi05NS01LjItNC4yLTkuNC02LjMtMTYuNy00LjJsLTM1LjYgMTIuNyA2IDMuNmM2LjMgMy43IDEyLjIgNy4zIDE3IDEyLjEgMzAuMyAyNi4xIDQxLjggNjEuNiA0NS45IDEwMC4yIDEgOC40IDAgMTYuNy03LjMgMjEuOS04LjQgNS4yLTEwLjQgMTIuNS03LjMgMjAuOSA0LjkgMTMuMiAxMC40IDI2IDE2LjcgMzguNkwyOTEuNiAzMThjLTYuMyA4LjQtMTMuNiAxMS41LTIxLjkgMTQuNi0xMi41IDMuMS0xNC42IDcuMy0xMC40IDIwLjkgLjYgMS41IDEuNCAyLjggMi4xIDQuMiAyLjEgNS4yIDEgOC40LTQuMiAxMC40bC0xMi41IDMuMSA1LjIgNC4yIDQuMiA0LjJjNC4yIDUuMiA0LjIgOC40LTIuMSAxMC40LTcuMyA0LjItMTEuNSA5LjQtMTEuNSAxNy43IDAgMTIuNS03LjMgMTkuOC0xOC44IDI0LTMuOCAxLTcuNiAxLjUtMTEuNSAxbC0zNC41LTIuMSAuMSAuMnoiXX0sc3Z0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN1cHBsZSIsaWNvbjpbNjQwLDUxMixbXSwiZjNmOSIsIk02NDAgMjYyLjVjMCA2NC4xLTEwOSAxMTYuMS0yNDMuNSAxMTYuMS0yNC44IDAtNDguNi0xLjgtNzEuMS01IDcuNyAuNCAxNS41IC42IDIzLjQgLjYgMTM0LjUgMCAyNDMuNS01Ni45IDI0My41LTEyNy4xIDAtMjkuNC0xOS4xLTU2LjQtNTEuMi03OCA2MCAyMS4xIDk4LjkgNTUuMSA5OC45IDkzLjR6TTQ3LjcgMjI3LjljLS4xLTcwLjIgMTA4LjgtMTI3LjMgMjQzLjMtMTI3LjYgNy45IDAgMTUuNiAuMiAyMy4zIC41LTIyLjUtMy4yLTQ2LjMtNC45LTcxLTQuOS0xMzQuNSAuNC0yNDMuNCA1Mi42LTI0My4zIDExNi43IC4xIDM4LjMgMzkuMSA3Mi4zIDk5LjMgOTMuMy0zMi4zLTIxLjUtNTEuNS00OC42LTUxLjYtNzh6bTYwLjIgMzkuOVMxMTguNCAyODEgMTM3LjIgMjgxYzE3LjkgMCAyOC40LTExLjUgMjguNC0yNS4xIDAtMjgtNDAuMi0yNS4xLTQwLjItMzkuNyAwLTUuNCA1LjMtOS4xIDEyLjUtOS4xIDUuNyAwIDExLjMgMi42IDExLjMgNi42bDAgMy45IDE0LjIgMCAwLTcuOWMwLTEyLjEtMTUuNC0xNi44LTI1LjQtMTYuOC0xNi41IDAtMjguNSAxMC4yLTI4LjUgMjQuMSAwIDI2LjYgNDAuMiAyNS40IDQwLjIgMzkuOSAwIDYuNi01LjggMTAuMS0xMi4zIDEwLjEtMTEuOSAwLTIwLjctMTAuMS0yMC43LTEwLjFsLTguOCAxMC45em0xMjAuOC03My42bDAgNTQuNGMwIDExLjMtNy4xIDE3LjgtMTcuOCAxNy44cy0xNy44LTYuNS0xNy44LTE3LjdsMC01NC41LTE1LjggMCAwIDU1YzAgMTguOSAxMy40IDMxLjkgMzMuNyAzMS45IDIwLjEgMCAzMy40LTEzIDMzLjQtMzEuOWwwLTU1LTE1LjcgMHptMzQuNCA4NS40bDE1LjggMCAwLTI5LjUgMTUuNSAwYzE2IDAgMjcuMi0xMS41IDI3LjItMjguMXMtMTEuMi0yNy44LTI3LjItMjcuOGwtMzkuMSAwIDAgMTMuNCA3LjggMCAwIDcyem0xNS44LTQzbDAtMjkuMSAxMi45IDBjOC43IDAgMTMuNyA1LjcgMTMuNyAxNC40IDAgOC45LTUuMSAxNC43LTE0IDE0LjdsLTEyLjYgMHptNTcgNDNsMTUuOCAwIDAtMjkuNSAxNS41IDBjMTYgMCAyNy4yLTExLjUgMjcuMi0yOC4xcy0xMS4yLTI3LjgtMjcuMi0yNy44bC0zOS4xIDAgMCAxMy40IDcuOCAwIDAgNzJ6bTE1LjctNDNsMC0yOS4xIDEyLjkgMGM4LjcgMCAxMy43IDUuNyAxMy43IDE0LjQgMCA4LjktNSAxNC43LTE0IDE0LjdsLTEyLjYgMHptNTcuMSAzNC44YzAgNS44IDIuNCA4LjIgOC4yIDguMmwzNy42IDBjNS44IDAgOC4yLTIuNCA4LjItOC4ybDAtMTMtMTQuMyAwIDAgNS4yYzAgMS43LTEgMi42LTIuNiAyLjZsLTE4LjYgMGMtMS43IDAtMi42LTEtMi42LTIuNmwwLTYxLjJjMC01LjctMi40LTguMi04LjItOC4ybC0xNS40IDAgMCAxMy40IDUuMiAwYzEuNyAwIDIuNiAxIDIuNiAyLjZsMCA2MS4yLS4xIDB6bTYzLjQgMGMwIDUuOCAyLjQgOC4yIDguMiA4LjJsMzguNyAwYzUuNyAwIDguMi0yLjQgOC4yLTguMmwwLTEzLTE0LjMgMCAwIDUuMmMwIDEuNy0xIDIuNi0yLjYgMi42bC0xOS43IDBjLTEuNyAwLTIuNi0xLTIuNi0yLjZsMC0yMC4zIDI3LjcgMCAwLTEzLjQtMjcuNyAwIDAtMjIuNCAxOS4yIDBjMS43IDAgMi42IDEgMi42IDIuNmwwIDUuMiAxNC4yIDAgMC0xM2MwLTUuNy0yLjUtOC4yLTguMi04LjJsLTUxLjYgMCAwIDEzLjQgNy44IDAgMCA2My45IC4xIDB6bTU4LjktNzZsMCA1LjkgMS42IDAgMC01LjkgMi43IDAgMC0xLjItNyAwIDAgMS4yIDIuNyAwem01LjctMS4ybDAgNy4xIDEuNSAwIDAtNS43IDIuMyA1LjcgMS4zIDAgMi4zLTUuNyAwIDUuNyAxLjUgMCAwLTcuMS0yLjMgMC0yLjEgNS4xLTIuMS01LjEtMi40IDB6Il19LER1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtdHdpdHRlciIsaWNvbjpbNDQ4LDUxMixbInR3aXR0ZXItc3F1YXJlIl0sImYwODEiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMzUxLjMgMTk5LjNjMCA4Ni43LTY2IDE4Ni42LTE4Ni42IDE4Ni42LTM3LjIgMC03MS43LTEwLjgtMTAwLjctMjkuNCA1LjMgLjYgMTAuNCAuOCAxNS44IC44IDMwLjcgMCA1OC45LTEwLjQgODEuNC0yOC0yOC44LS42LTUzLTE5LjUtNjEuMy00NS41IDEwLjEgMS41IDE5LjIgMS41IDI5LjYtMS4yLTMwLTYuMS01Mi41LTMyLjUtNTIuNS02NC40bDAtLjhjOC43IDQuOSAxOC45IDcuOSAyOS42IDguMy05LTYtMTYuNC0xNC4xLTIxLjUtMjMuNnMtNy44LTIwLjItNy43LTMxYzAtMTIuMiAzLjItMjMuNCA4LjktMzMuMSAzMi4zIDM5LjggODAuOCA2NS44IDEzNS4yIDY4LjYtOS4zLTQ0LjUgMjQtODAuNiA2NC04MC42IDE4LjkgMCAzNS45IDcuOSA0Ny45IDIwLjcgMTQuOC0yLjggMjktOC4zIDQxLjYtMTUuOC00LjkgMTUuMi0xNS4yIDI4LTI4LjggMzYuMSAxMy4yLTEuNCAyNi01LjEgMzcuOC0xMC4yLTguOSAxMy4xLTIwLjEgMjQuNy0zMi45IDM0IC4yIDIuOCAuMiA1LjcgLjIgOC41eiJdfSxpdnQ9RHVlLG92dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2aW0iLGljb246WzUxMiw1MTIsW10sImU4OGEiLCJNMzAzLjMgNTQuNWwwLTEyLjMgNC0zLjcgNy45LTcuMiAzLjUtMy4yIDE2OCAwIDE1LjEgMTUuMSAwIDM4LjktMy41IDMuNi04MC45IDgyLjkgODYuOSA4Ni45LTkxLjIgOTEuMiA4LjkgMCA3LjYtOC4zIDEtLjljMS4xLS44IDIuNS0xLjIgMy45LTEuMmwyOC45IDAgMS41IC4yYzEuNSAuNCAyLjggMS4yIDMuOCAyLjVsNy42IDEwLjJjMS4zIDEuNyAxLjYgMy45IDEgNS45bC0yMi4zIDcyLjUgMS4yIDBjMi4yIDAgNC4yIDEuMSA1LjUgMi45czEuNSA0LjEgLjcgNi4xTDQ1OSA0NDVjLTEgMi42LTMuNCA0LjItNi4yIDQuMmwtNDAuNCAwYy0yLjEgMC00LjEtMS01LjMtMi43cy0xLjYtMy45LTEtNS45bDIwLTYzLjItMjIuMiAwLTE2LjIgNTAuN2MyLjEgLjEgNC4xIDEuMSA1LjMgMi45IDEuMiAxLjggMS40IDQuMiAuNiA2LjJsLTMuMyA3LjljLTEgMi41LTMuNSA0LjEtNi4xIDQuMWwtMzYuOCAwYy0yLjEgMC00LjEtMS01LjQtMi43cy0xLjYtMy45LTEtNS45bDEwLTMyLjEtMjMuOSAyMy44Yy4zIDEuMiAuMyAyLjUtLjEgMy44bC0yLjkgOC42Yy0uOSAyLjctMy40IDQuNS02LjMgNC41bC03LjQgMC01NC42IDU0LjYtODMuOC04My44LTMxLjYgMzIuNS0zLjYgMy43LTQ5LjIgMC0yLjgtMS43Yy04LjgtNS4xLTE0LjgtOC41LTE3LjktMTAuM2wwLTEyOS4zLTU4LjUtNTguNSAyLjYtMi42IDU1LjktNTYgMC05OS40LTEyLjYgMC0xMC44LTEwLjgtMy42LTMuNiAwLTQwLjcgMy4yLTMuNSA3LjktOC41IDMuNy0zLjkgMTY2LjYgMCA4IDggMjcuNC0yNy40IDQ2LjQgNDYuNHptLTI1MS01LjZsMCAzMC4zIDkuNCA3LjggMTguOSAwIDAgMzQ3LjkgMTEuNCAxMC4zIDM4LjIgMCA5MS05M2MwLS40IC4xLS44IC4yLTEuMWwyLjYtMTAuNWMuNy0yLjkgMy40LTUgNi40LTVsNy4xIDAgMTUuNS0xNS45LTItMmMtMS44LTEuOC0yLjQtNC41LTEuNS02LjlsNi45LTE5LjNjLjQtMS4xIDEuMS0yIDEuOS0yLjhsNi45LTUuOWMxLjItMSAyLjgtMS42IDQuMy0xLjZsMTkuNyAwIDEuMyAuMmMuMSAwIC4xIC4xIC4yIC4xbDE5OS4yLTIwMy41IDAtMjguNy04LjItNy40LTE1Ni4yIDAtNy44IDcuOCAwIDMwLjUgOC4yIDcuNCAyMSAwLTE0NyAxNDYuNCAwLTE0Ni42IDE2LjkgMCA4LjctOC43IDAtMjcuNy03LjQtOS45LTE1Ny42IDAtOCA4ek0yMjcuNiAzNTIuN2wxNC44IDAtMzEuOCA5MC45IDQ1LjMgMCAzLTkuNi0xMi41IDAgMzEuNS05MS45LTQ3LjYgMC0yLjYgMTAuNXptMTM2LjkgMWwtMTYuNCAwLTEwLjUtMTAuOC0zNS44IDAtMy4zIDkuOCAxMS44IDAtMzAuNSA4OS45IDM4LjEgMCAyLjktOC42LTguOCAwIDIwLTYzIDM3LjggMC0yMi4zIDcxLjYgMzYuOCAwIDMuMy03LjktOC44IDAgMjAuMy02NCAzNi4xIDAtMjIuNyA3MS45IDQwLjQgMCAzLjMtOC42LTEwLjIgMCAyNS04MS4xLTcuNS0xMC4yLTI4LjkgMC05LjUgMTAuNS0xNy40IDAtOS45LTEwLjgtMjMuMyAwLTkuOCAxMS4yek0yNjIuNSAyOTMuNmwtNi45IDE5LjMgNS4zIDUuMyAyMS4zIDAgNS42LTUuNiA1LjktMjAuMy00LjYtNC42LTE5LjcgMC02LjkgNS45eiJdfSxjZWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm9udC1hd2Vzb21lIixpY29uOls1MTIsNTEyLFs2MjUwMSw2MjY5NCwiZm9udC1hd2Vzb21lLWZsYWciLCJmb250LWF3ZXNvbWUtbG9nby1mdWxsIl0sImYyYjQiLCJNOTEuNyA5NkMxMDYuMyA4Ni44IDExNiA3MC41IDExNiA1MiAxMTYgMjMuMyA5Mi43IDAgNjQgMFMxMiAyMy4zIDEyIDUyYzAgMTYuNyA3LjggMzEuNSAyMCA0MWwwIDQxOSA2NCAwIDAtNjQgMzczLjYgMGMxNC42IDAgMjYuNC0xMS44IDI2LjQtMjYuNCAwLTMuNy0uOC03LjMtMi4zLTEwLjdMNDMyIDI3MiA0OTMuNyAxMzMuMWMxLjUtMy40IDIuMy03IDIuMy0xMC43IDAtMTQuNi0xMS44LTI2LjQtMjYuNC0yNi40TDkxLjcgOTZ6Il19LG52dD1jZWUsbHZ0PWNlZSxBdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2lyc2luZGhhbmR3ZXJrIixpY29uOls0NDgsNTEyLFsid3NoIl0sImUyZDAiLCJNMTguOSA0NzkuOGw4My40IDAgMC0xMTItODMuNCA0NyAwIDY1em0zMjkgMGw4Mi40IDAgMC02NS04Mi40LTQ3IDAgMTEyem0wLTQ0OGwwIDIxOS44LTEyMy42LTcyLjQtMTIxLjcgNzIuNCAwLTIxOS44LTgzLjcgMCAwIDM2MC44IDIwNS40LTEyMi4zIDIwNiAxMjIuMyAwLTM2MC44LTgyLjMgMHoiXX0sY3Z0PUF1ZSxkdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiem9vbSIsaWNvbjpbNjQwLDUxMixbXSwiZTg3YiIsIk0xMzQuMiAzMjYuNmwtMTE0LjQgMGMtOCAwLTE1LjItNC44LTE4LjMtMTIuMlMuMSAyOTguNiA1LjggMjkyLjlsNzkuMy03OS4zLTU2LjggMEMxMi43IDIxMy42IDAgMjAxIDAgMTg1LjRsMTA1LjUgMGM4IDAgMTUuMiA0LjggMTguMyAxMi4yczEuNCAxNS45LTQuMyAyMS42bC03OS4zIDc5LjMgNjUuNyAwYzE1LjYgMCAyOC4zIDEyLjYgMjguMyAyOC4zek02NDAgMjM4LjNjMC0zMC40LTI0LjctNTUuMS01NS4xLTU1LjEtMTYuMiAwLTMwLjkgNy4xLTQxIDE4LjMtMTAuMS0xMS4yLTI0LjctMTguMy00MS0xOC4zLTMwLjQgMC01NS4xIDI0LjctNTUuMSA1NS4xbDAgODguM2MxNS42IDAgMjguMy0xMi43IDI4LjMtMjguM2wwLTYwYzAtMTQuOCAxMi0yNi44IDI2LjgtMjYuOHMyNi44IDEyIDI2LjggMjYuOGwwIDYwYzAgMTUuNiAxMi42IDI4LjMgMjguMyAyOC4zbDAtODguM2MwLTE0LjggMTItMjYuOCAyNi44LTI2LjhzMjYuOCAxMiAyNi44IDI2LjhsMCA2MGMwIDE1LjYgMTIuNiAyOC4zIDI4LjMgMjguM2wwLTg4LjN6TTI4OC4yIDI1NmE3Mi44IDcyLjggMCAxIDEgMTQ1LjUgMCA3Mi44IDcyLjggMCAxIDEgLTE0NS41IDB6bTExNy4zIDBhNDQuNSA0NC41IDAgMSAwIC04OSAwIDQ0LjUgNDQuNSAwIDEgMCA4OSAwem0tMjc0LjEgMGE3Mi44IDcyLjggMCAxIDEgMTQ1LjUgMCA3Mi44IDcyLjggMCAxIDEgLTE0NS41IDB6bTExNy4zIDBhNDQuNSA0NC41IDAgMSAwIC04OSAwIDQ0LjUgNDQuNSAwIDEgMCA4OSAweiJdfSx1dnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY29uZmx1ZW5jZSIsaWNvbjpbNTEyLDUxMixbXSwiZjc4ZCIsIk0yLjggNDEyLjJjLTQuNSA3LjYtMi4xIDE3LjUgNS41IDIyLjJsMTA1LjkgNjUuMmM3LjcgNC43IDE3LjcgMi40IDIyLjQtNS4zIDAtLjEgLjEtLjIgLjEtLjIgNjcuMS0xMTIuMiA4MC41LTk1LjkgMjgwLjktLjcgOC4xIDMuOSAxNy44IC40IDIxLjctNy43IC4xLS4xIC4xLS4zIC4yLS40bDUwLjQtMTE0LjFjMy42LTguMS0uMS0xNy42LTguMS0yMS4zLTIyLjItMTAuNC02Ni4yLTMxLjItMTA1LjktNTAuMy0yNDcuOS0xMjAuNi0zMzAuOCA0NS43LTM3My4xIDExMi42ek01MTAuMiAxMDAuMWM0LjUtNy42IDIuMS0xNy41LTUuNS0yMi4yTDM5OC45IDEyLjhjLTcuNS01LTE3LjYtMy4xLTIyLjYgNC40LS4yIC4zLS40IC42LS42IDEtNjcuMyAxMTIuNi04MS4xIDk1LjYtMjgwLjYgLjktOC4xLTMuOS0xNy44LS40LTIxLjcgNy43LS4xIC4xLS4xIC4zLS4yIC40TDIyLjcgMTQxLjNjLTMuNiA4LjEgLjEgMTcuNiA4LjEgMjEuMyAyMi4yIDEwLjQgNjYuMyAzMS4yIDEwNiA1MC40IDI0OCAxMjAgMzMwLjgtNDUuNCAzNzMuNC0xMTIuOXoiXX0scHZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRpZ2ciLGljb246WzUxMiw1MTIsW10sImYxYTYiLCJNODEuNyAxNzIuM2wtODEuNyAwIDAgMTc0LjQgMTMyLjcgMCAwLTI1MC43LTUxIDAgMCA3Ni4zem0wIDEzMy40bC0zMC44IDAgMC05Mi4zIDMwLjggMCAwIDkyLjN6TTM3OC45IDE3Mi4zbDAgMTc0LjQgODEuOCAwIDAgMjguNS04MS44IDAgMCA0MC44IDEzMy4xIDAgMC0yNDMuNy0xMzMuMSAwem04MS44IDEzMy40bC0zMC44IDAgMC05Mi4zIDMwLjggMCAwIDkyLjN6bS0yMzUuNiA0MWw4Mi4xIDAgMCAyOC41LTgyLjEgMCAwIDQwLjggMTMzLjMgMCAwLTI0My43LTEzMy4zIDAgMCAxNzQuNHptNTEuMi0xMzMuM2wzMC44IDAgMCA5Mi4zLTMwLjggMCAwLTkyLjN6TTE1My4zIDk2bDUxLjMgMCAwIDUxLTUxLjMgMCAwLTUxem0wIDc2LjNsNTEuMyAwIDAgMTc0LjQtNTEuMyAwIDAtMTc0LjR6Il19LGZ2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0aHJlYWRzIixpY29uOls0NDgsNTEyLFtdLCJlNjE4IiwiTTMzMS41IDIzNS43YzIuMiAuOSA0LjIgMS45IDYuMyAyLjggMjkuMiAxNC4xIDUwLjYgMzUuMiA2MS44IDYxLjQgMTUuNyAzNi41IDE3LjIgOTUuOC0zMC4zIDE0My4yLTM2LjIgMzYuMi04MC4zIDUyLjUtMTQyLjYgNTNsLS4zIDBjLTcwLjItLjUtMTI0LjEtMjQuMS0xNjAuNC03MC4yLTMyLjMtNDEtNDguOS05OC4xLTQ5LjUtMTY5LjZsMC0uNUMxNyAxODQuMyAzMy42IDEyNy4yIDY1LjkgODYuMiAxMDIuMiA0MC4xIDE1Ni4yIDE2LjUgMjI2LjQgMTZsLjMgMGM3MC4zIC41IDEyNC45IDI0IDE2Mi4zIDY5LjkgMTguNCAyMi43IDMyIDUwIDQwLjYgODEuN2wtNDAuNCAxMC44Yy03LjEtMjUuOC0xNy44LTQ3LjgtMzIuMi02NS40LTI5LjItMzUuOC03My01NC4yLTEzMC41LTU0LjYtNTcgLjUtMTAwLjEgMTguOC0xMjguMiA1NC40LTI2LjIgMzMuMy0zOS44IDgxLjUtNDAuMyAxNDMuMiAuNSA2MS43IDE0LjEgMTA5LjkgNDAuMyAxNDMuMyAyOCAzNS42IDcxLjIgNTMuOSAxMjguMiA1NC40IDUxLjQtLjQgODUuNC0xMi42IDExMy43LTQwLjkgMzIuMy0zMi4yIDMxLjctNzEuOCAyMS40LTk1LjktNi4xLTE0LjItMTcuMS0yNi0zMS45LTM0LjktMy43IDI2LjktMTEuOCA0OC4zLTI0LjcgNjQuOC0xNy4xIDIxLjgtNDEuNCAzMy42LTcyLjcgMzUuMy0yMy42IDEuMy00Ni4zLTQuNC02My45LTE2LTIwLjgtMTMuOC0zMy0zNC44LTM0LjMtNTkuMy0yLjUtNDguMyAzNS43LTgzIDk1LjItODYuNCAyMS4xLTEuMiA0MC45LS4zIDU5LjIgMi44LTIuNC0xNC44LTcuMy0yNi42LTE0LjYtMzUuMi0xMC0xMS43LTI1LjYtMTcuNy00Ni4yLTE3LjhsLS43IDBjLTE2LjYgMC0zOSA0LjYtNTMuMyAyNi4zbC0zNC40LTIzLjZjMTkuMi0yOS4xIDUwLjMtNDUuMSA4Ny44LTQ1LjFsLjggMGM2Mi42IC40IDk5LjkgMzkuNSAxMDMuNyAxMDcuN2wtLjIgLjIgLjEgMHptLTE1NiA2OC44YzEuMyAyNS4xIDI4LjQgMzYuOCA1NC42IDM1LjMgMjUuNi0xLjQgNTQuNi0xMS40IDU5LjUtNzMuMi0xMy4yLTIuOS0yNy44LTQuNC00My40LTQuNC00LjggMC05LjYgLjEtMTQuNCAuNC00Mi45IDIuNC01Ny4yIDIzLjItNTYuMiA0MS44bC0uMSAuMXoiXX0sRXVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndwcmVzc3IiLGljb246WzUxMiw1MTIsWyJyZW5kYWN0Il0sImYzZTQiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek00MjcuMyAxNjYuNmMtMTUuMiAzNC41LTMwLjQgNjktNDUuNiAxMDMuNS0yLjQgNS41LTYuOSA4LjItMTMgOC4yLTIzIDAtNDYgLjEtNjkgMC01LjEgMC04LjIgMS45LTEwLjMgNi43LTEwLjIgMjMuNi0yMC42IDQ3LTMxIDcwLjUtMS41IDMuNS00LjEgNS4zLTcuOSA1LjMtNDUuOSAwLTkxLjkgMC0xMzcuOCAwLTMuMSAwLTUuNi0xLjEtNy43LTMuNC0xMS4yLTEyLjMtMjIuNS0yNC42LTMzLjctMzYuOS0yLjctMy0yLjgtNi4yLTEuMi05LjcgOC43LTE5LjUgMTcuMy0zOS4xIDI1LjktNTguNyAxMi45LTI5LjQgMjUuOS01OC43IDM4LjctODguMSAxLjctMy45IDQuMy01LjcgOC41LTUuNyAxNC4yIC4xIDI4LjUgMCA0Mi43IDAgNi4yIDAgOS4yIDQuOCA2LjcgMTAuNi0xMy42IDMwLjgtMjcuMiA2MS42LTQwLjcgOTIuMy01LjcgMTMtMTEuNCAyNi0xNy4xIDM5LTMuOSA5IDcuMSAxMiAxMSA1LjYgLjItLjQtMS40IDQuMiAzMC02Ny43IDEuNC0zLjEgMy40LTQuNCA2LjgtNC40IDE1LjIgLjEgMzAuNCAwIDQ1LjYgMCA1LjYgMCA3LjkgMy42IDUuNyA4LjctOC4zIDE5LTE2LjcgMzcuOS0yNSA1Ni45LTUgMTEuNCA4LjEgMTIuNSAxMS4zIDUuMyAwLS4xIDI3LjktNjMuMyAzMi4yLTczLjIgMi00LjYgNS40LTYuNSAxMC4zLTYuNSAyNi40IC4xIDUyLjkgMCA3OS4zIDAgMTIuNCAwIDEzLjktMTMuNiAzLjktMTMuNi0yNS4zIDAtNTAuNSAwLTc1LjggMC02LjMgMC03LjgtMi41LTUuMy04LjMgNS44LTEzLjEgMTEuNi0yNi4xIDE3LjMtMzkuMiAxLjctNCA0LjUtNS44IDguOC01LjggMjMuMSAuMSAyNiAwIDEzMC44IDAgNi4xIDAgOCAyLjggNS42IDguM3oiXX0saHZ0PUV1ZSxtdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieW9hc3QiLGljb246WzQ0OCw1MTIsW10sImYyYjEiLCJNOTEuMyA3NmwxODYgMC03IDE4LjktMTc5IDBjLTM5LjcgMC03MS45IDMxLjYtNzEuOSA3MC4zbDAgMjA1LjRjMCAzNS40IDI0LjkgNzAuMyA4NCA3MC4zbDAgMTkuMS0xMi4xIDBDNDEuMiA0NjAgMCA0MTkuOCAwIDM3MC41TDAgMTY1LjJDMCAxMTUuOSA0MC43IDc2IDkxLjMgNzZ6TTMyMC40IDIwbDY2LjUgMGMtMTQzLjggMzc4LjEtMTQ1LjcgMzk4LjktMTg0LjcgNDM5LjMtMjAuOCAyMS42LTQ5LjMgMzEuNy03OC4zIDMyLjdsMC01MS4xYzQ5LjItNy43IDY0LjYtNDkuOSA2NC42LTc1LjMgMC0yMC4xIC42LTEyLjYtODIuMS0yMjMuMmw2MS40IDAgNTAuNCAxNTYuNiAxMDIuMi0yNzl6TTQ0OCAxNjEuNWwwIDI5OC41LTIxNCAwYzYuNi05LjYgMTAuNy0xNi4zIDEyLjEtMTkuNGwxODIuNSAwIDAtMjc5LjFjMC0zMi41LTE3LjEtNTEuOS00OC4yLTYyLjlMMzg3LjEgODFjNDEuNyAxMy42IDYwLjkgNDMuMSA2MC45IDgwLjV6Il19LGd2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJuaW1ibHIiLGljb246WzM4NCw1MTIsW10sImY1YTgiLCJNMjQ2LjYgMzUzLjNhMjcgMjcgMCAxIDEgMC01NCAyNyAyNyAwIDEgMSAwIDU0em0tNzkuNC0yN2EyNy4xIDI3LjEgMCAxIDEgLTU0LjMgMCAyNy4xIDI3LjEgMCAxIDEgNTQuMyAwek0xOTEuOCAxNTlDMTU3IDE1OSA4OS40IDE3OC44IDU5LjIgMjI3TDE0IDAgMTQgMzM1LjVDMTQgNDMzLjEgOTMuNiA1MTIgMTkxLjggNTEyUzM2OS41IDQzMyAzNjkuNSAzMzUuNSAyOTAuMSAxNTkgMTkxLjggMTU5em0wIDMwOC4xYy03My4zIDAtMTMyLjUtNTguOS0xMzIuNS0xMzEuNnM1OS4yLTEzMS42IDEzMi41LTEzMS42IDEzMi41IDU4LjkgMTMyLjUgMTMxLjUtNTkuMyAxMzEuNi0xMzIuNSAxMzEuNmwwIC4xeiJdfSxidnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGl4ZWxmZWQiLGljb246WzUxMiw1MTIsW10sImU3ZGIiLCJNMjU2IDBhMjU2IDI1NiAwIDEgMSAwIDUxMiAyNTYgMjU2IDAgMSAxIDAtNTEyek0yMzUuNyAzMTEuOWw0NyAwYzQ0LjIgMCA4MC4xLTM0LjkgODAuMS03OHMtMzUuOS03OC04MC4xLTc4bC02Ny44IDBjLTI1LjUgMC00Ni4yIDIwLjEtNDYuMiA0NWwwIDE3NS4xIDY3LTY0LjF6Il19LHZ2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ5YWhvbyIsaWNvbjpbNTEyLDUxMixbXSwiZjE5ZSIsIk0yMjMuOCAxNDEuMWwtNTYuNyAxNDMuMi01Ni0xNDMuMi05Ni4xIDAgMTA1LjggMjQ5LjEtMzguNiA4OS44IDk0LjIgMCAxNDAuOS0zMzguOS05My42IDB6TTMyOS4yIDI3Ni45YTU4LjIgNTguMiAwIDEgMCAwIDExNi40IDU4LjIgNTguMiAwIDEgMCAwLTExNi40ek0zOTQuNyAzMmwtOTMgMjIzLjUgMTA0LjggMCA5Mi42LTIyMy41LTEwNC40IDB6Il19LHh2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJibHVlc2t5IixpY29uOls1NzYsNTEyLFtdLCJlNjcxIiwiTTQwNy44IDI5NC43Yy0zLjMtLjQtNi43LS44LTEwLTEuMyAzLjQgLjQgNi43IC45IDEwIDEuM3pNMjg4IDIyNy4xQzI2MS45IDE3Ni40IDE5MC45IDgxLjkgMTI0LjkgMzUuMyA2MS42LTkuNCAzNy41LTEuNyAyMS42IDUuNSAzLjMgMTMuOCAwIDQxLjkgMCA1OC40UzkuMSAxOTQgMTUgMjEzLjljMTkuNSA2NS43IDg5LjEgODcuOSAxNTMuMiA4MC43IDMuMy0uNSA2LjYtLjkgMTAtMS40LTMuMyAuNS02LjYgMS0xMCAxLjQtOTMuOSAxNC0xNzcuMyA0OC4yLTY3LjkgMTY5LjkgMTIwLjMgMTI0LjYgMTY0LjgtMjYuNyAxODcuNy0xMDMuNCAyMi45IDc2LjcgNDkuMiAyMjIuNSAxODUuNiAxMDMuNCAxMDIuNC0xMDMuNCAyOC4xLTE1Ni02NS44LTE2OS45LTMuMy0uNC02LjctLjgtMTAtMS4zIDMuNCAuNCA2LjcgLjkgMTAgMS4zIDY0LjEgNy4xIDEzMy42LTE1LjEgMTUzLjItODAuNyA1LjktMTkuOSAxNS0xMzguOSAxNS0xNTUuNXMtMy4zLTQ0LjctMjEuNi01Mi45Yy0xNS44LTcuMS00MC0xNC45LTEwMy4yIDI5LjgtNjYuMSA0Ni42LTEzNy4xIDE0MS4xLTE2My4yIDE5MS44eiJdfSx5dnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2NyaWJkIixpY29uOlszODQsNTEyLFtdLCJmMjhhIiwiTTQyLjYgMjUyLjdjLTE2LjEtMTktMjQuNy00NS45LTI0LjgtNzkuOSAwLTEwMC40IDc1LjItMTUzLjEgMTY3LjItMTUzLjEgOTguNi0xLjYgMTU2LjggNDkgMTg0LjMgNzAuNmwtNTAuNSA3Mi4xLTM3LjMtMjQuNiAyNi45LTM4LjZjLTM2LjUtMjQtNzkuNC0zNi41LTEyMy0zNS44LTUwLjctLjgtMTExLjcgMjcuMi0xMTEuNyA3Ni4yIDAgMTguNyAxMS4yIDIwLjcgMjguNiAxNS42IDIzLjMtNS4zIDQxLjkgLjYgNTUuOCAxNCAyNi40IDI0LjMgMjMuMiA2Ny42LS43IDkxLjktMjkuMiAyOS41LTg1LjIgMjcuMy0xMTQuOC04LjR6bTMxNy43IDUuOWMtMTUuNS0xOC44LTM4LjktMjkuNC02My4yLTI4LjYtMzguMS0yLTcxLjEgMjgtNzAuNSA2Ny4yLS43IDE2LjggNiAzMyAxOC40IDQ0LjMgMTQuMSAxMy45IDMzIDE5LjcgNTYuMyAxNC40IDE3LjQtNS4xIDI4LjYtMy4xIDI4LjYgMTUuNiAwIDQuMy0uNSA4LjUtMS40IDEyLjctMTYuNyA0MC45LTU5LjUgNjQuNC0xMjEuNCA2NC40LTUxLjkgLjItMTAyLjQtMTYuNC0xNDQuMS00Ny4zbDMzLjctMzkuNC0zNS42LTI3LjQtNjAuOCA3MS44IDE1LjQgMTMuOGM1Mi41IDQ2LjggMTIwLjQgNzIuNSAxOTAuNyA3Mi4yIDUxLjQgMCA5NC40LTEwLjUgMTMzLjYtNDQuMSA1Ny4xLTUxLjQgNTQuMi0xNDkuMiAyMC4zLTE4OS42eiJdfSx3dnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1wZCIsaWNvbjpbNTEyLDUxMixbXSwiZjRlYyIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6bTAgNDQ5LjVjLTEzOS4yIDAtMjM1LjgtMTM4LTE5MC4yLTI2Ny45bDc4LjggMzUuMWMtMi4xIDEwLjUtMy4zIDIxLjUtMy4zIDMyLjkgMCA5OSA3My45IDEyNi45IDEyMC40IDEyNi45IDIyLjkgMCA1My41LTYuNyA3OS40LTI5LjVMMzA1IDMxMS4xYy01LjUgNi4zLTE3LjYgMTYuNy0zNi4zIDE2LjctMzcuOCAwLTUzLjctMzkuOS01My45LTcxLjkgMjMwLjQgMTAyLjYgMjE2LjUgOTYuNSAyMTcuOSA5Ni44LTM0LjMgNjIuNC0xMDAuNiAxMDQuOC0xNzYuNyAxMDQuOHptMTk0LjItMTUwbC0yMjQtMTAwYzE4LjgtMzQgNTQuOS0zMC43IDc0LjctMTFsNDAuNC00MS42Yy0yNy4xLTIzLjMtNTgtMjcuNS03OC4xLTI3LjUtNDcuNCAwLTgwLjkgMjAuNS0xMDAuNyA1MS42TDg3LjYgMTQ1LjZjMzYuMS01NC45IDk4LjEtOTEuMiAxNjguNS05MS4yIDExMS4xIDAgMjAxLjUgOTAuNCAyMDEuNSAyMDEuNSAwIDE4LTIuNCAzNS40LTYuOCA1Mi0uMy0uMS0uNC0uMi0uNi0uNHoiXX0sTXZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVhcmx5YmlyZHMiLGljb246WzUxMiw1MTIsW10sImYzOWEiLCJNMzI5LjMgNDcuNWMxLjItMTMgMjEuMy0xNCAzNi42LTguNyAuOSAuMyAyNi4yIDkuNyAxOSAxNS4yLTI3LjktNy40LTU2LjQgMTguMi01NS42LTYuNXptLTIwMSA2LjljMzAuNy04LjEgNjIgMjAgNjEuMS03LjEtMS4zLTE0LjItMjMuNC0xNS4zLTQwLjItOS42LTEgLjMtMjguNyAxMC41LTIwLjkgMTYuN3pNMzM1LjUgMTYwYTE2IDE2IDAgMSAwIDAgMzIgMTYgMTYgMCAxIDAgMC0zMnptLTE1OS43IDBhMTYgMTYgMCAxIDAgMCAzMiAxNiAxNiAwIDEgMCAwLTMyek00OTQuMyAzMjMuMmMtOS45IDI0LTQwLjcgMTEtNjMuOS0xLjItMTMuNSA2OS4xLTU4LjEgMTExLjQtMTI2LjMgMTI0LjIgLjMgLjktMi0uMSAyNCAxIDMzLjYgMS40IDYzLjgtMy4xIDk3LjQtOC0xOS44LTEzLjgtMTEuNC0zNy4xLTkuOC0zOC4xIDEuNC0uOSAxNC43IDEuNyAyMS42IDExLjUgOC42LTEyLjUgMjguNC0xNC44IDMwLjItMTMuNiAxLjYgMS4xIDYuNiAyMC45LTYuOSAzNC42IDQuNy0uOSA4LjItMS42IDkuOC0yLjEgMi42LS44IDE3LjcgMTEuMyAzLjEgMTMuMy0xNC4zIDIuMy0yMi42IDUuMS00Ny4xIDEwLjgtNDUuOSAxMC43LTg1LjkgMTEuOC0xMTcuNyAxMi44bDEgMTEuNmMzLjggMTguMS0yMy40IDI0LjMtMjcuNiA2LjIgLjggMTcuOS0yNy4xIDIxLjgtMjguNC0xbC0uNSA1LjNjLS43IDE4LjQtMjguNCAxNy45LTI4LjMtLjYtNy41IDEzLjUtMjguMSA2LjgtMjYuNC04LjVsMS4yLTEyLjRjLTM2LjcgLjktNTkuNyAzLjEtNjEuOCAzLjEtMjAuOSAwLTIwLjktMzEuNiAwLTMxLjYgMi40IDAgMjcuNyAxLjMgNjMuMiAyLjgtNjEuMS0xNS41LTEwMy43LTU1LTExNC45LTExOC4yLTI1IDEyLjgtNTcuNSAyNi44LTY4LjIgLjgtMTAuNS0yNS40IDIxLjUtNDIuNiA2Ni44LTczLjQgLjctNi42IDEuNi0xMy4zIDIuNy0xOS44LTE0LjQtMTkuNi0xMS42LTM2LjMtMTYuMS02MC40LTE2LjggMi40LTIzLjItOS4xLTIzLjYtMjMuMSAuMy03LjMgMi4xLTE0LjkgMi40LTE1LjQgMS4xLTEuOCAxMC4xLTIgMTIuNy0yLjYgNi0zMS43IDUwLjYtMzMuMiA5MC45LTM0LjUgMTkuNy0yMS44IDQ1LjItNDEuNSA4MC45LTQ4LjMtMTUuMy0xOS40LTMuNC0zOS45LTIuNC00MC40IDEuNy0uOCAyMS4yIDQuMyAyNi4zIDIzLjIgNS4yLTguOCAxOC4zLTExLjQgMTkuNi0xMC43IDEuMSAuNiA2LjQgMTUtNC45IDI1LjkgNDAuMyAzLjUgNzIuMiAyNC43IDk2IDUwLjcgMzYuMSAxLjUgNzEuOCA1LjkgNzcuMSAzNCAyLjcgLjYgMTEuNiAuOCAxMi43IDIuNiAuMyAuNSAyLjEgOC4xIDIuNCAxNS40LS41IDEzLjktNi44IDI1LjQtMjMuNiAyMy4xLTMuMiAxNy4zLTIuNyAzMi45LTguNyA0Ny43IDIuNCAxMS43IDQgMjMuOCA0LjggMzYuNCAzNyAyNS40IDcwLjMgNDIuNSA2MC4zIDY2Ljl6TTIyMy41IDE1OS45Yy45LTQ0LTM3LjktNDIuMi03OC42LTQwLjMtMjEuNyAxLTM4LjkgMS45LTQ1LjUgMTMuOS0xMS40IDIwLjkgNS45IDkyLjkgMjMuMiAxMDEuMiA5LjggNC43IDczLjQgNy45IDg2LjMtNy4xIDguMi05LjQgMTUtNDkuNCAxNC42LTY3Ljd6bTUyIDU4LjNjLTQuMy0xMi40LTYtMzAuMS0xNS4zLTMyLjctMi0uNS05LS41LTExIDAtMTAgMi44LTEwLjggMjIuMS0xNyAzNy4yIDE1LjQgMCAxOS4zIDkuNyAyMy43IDkuNyA0LjMgMCA2LjMtMTEuMyAxOS42LTE0LjJ6bTEzNS43LTg0LjdjLTYuNi0xMi4xLTI0LjgtMTIuOS00Ni41LTEzLjktNDAuMi0xLjktNzguMi0zLjgtNzcuMyA0MC4zLS41IDE4LjMgNSA1OC4zIDEzLjIgNjcuOCAxMyAxNC45IDc2LjYgMTEuOCA4Ni4zIDcuMSAxNS44LTcuNiAzNi41LTc4LjkgMjQuMy0xMDEuM3oiXX0sa3Z0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN5bWZvbnljYXN0cyIsaWNvbjpbNTc2LDUxMixbXSwiZThhYiIsIk0yOTMuOCAzNDIuNWMzLjQtMS41IDYuOC0xLjUgMTAuMiAwbDU0LjIgMjIuNmMyLjYgLjkgNC43IDIuNiA2LjIgNC44czIuMyA0LjggMi4zIDcuNmMwIDE5LjQtMy42IDM3LjItMTAuNyA1My40LTYuMiAxMy42LTE0LjUgMjUuNC0yNC44IDM1LjYtOC43IDguNS0xNy43IDE0LjYtMjcuMSAxOC40LTMuNCAxLjUtNi44IDEuNS0xMC4yIDAtMTAuNy00LjMtMjAuNi0xMS4zLTI5LjctMjAuOS0xMC0xMC40LTE3LjgtMjIuNS0yMy41LTM2LjQtNi40LTE1LjYtOS42LTMyLjMtOS42LTUwIDAtMi44IC43LTUuNCAyLjItNy42IDEuNS0yLjMgMy42LTMuOSA2LjItNC44bDU0LjItMjIuNnpNNDc5LjcgNDgzLjhhNzAuMSA3MC4xIDAgMSAxIDAtMTQwLjIgNzAuMSA3MC4xIDAgMSAxIDAgMTQwLjJ6TTI0NC42IDM3Ny42YzAgMTUuMyAyLjYgMjkuNyA3LjkgNDMuMiA0LjkgMTIuNCAxMS42IDIzLjMgMjAuMSAzMi41IDguMSA4LjkgMTYuOSAxNS4zIDI2LjMgMTkuMiA5LjItMy44IDE3LjgtMTAgMjUuNy0xOC43IDguNy05LjIgMTUuNC0xOS45IDIwLjMtMzIuMiA1LjUtMTMuNyA4LjItMjguNCA4LjItNDQuMWwtNTQuMi0yMi42LTU0LjIgMjIuNnptMjM1LjEtMjAuM2E1Ni41IDU2LjUgMCAxIDAgMCAxMTMgNTYuNSA1Ni41IDAgMSAwIDAtMTEzem0tMzUyLjggMi4zYzQuMSAwIDcuNiAxLjMgMTAuNCAzLjkgMi44IDIuNiA0LjIgNS45IDQuMiA5LjZsMCAxNi40IDMxLjEtMTkuMmMxLjUtMS4xIDMuMi0xLjcgNS4xLTEuNyAyLjQgMCA0LjYgLjggNi4zIDIuNXMyLjcgMy44IDIuNyA2LjJsMCA3Mi42YzAgMi42LS45IDQuOC0yLjcgNi41cy0zLjkgMi41LTYuMyAyLjVjLTEuOSAwLTMuNi0uNi01LjEtMS43bC0zMS4xLTE5LjIgMCAxNi40YzAgMy44LTEuNCA3LTQuMiA5LjZzLTYuMyA0LTEwLjQgNGwtODguMiAwYy00LjEgMC03LjYtMS4zLTEwLjUtNHMtNC4yLTUuOC00LjItOS42bDAtODEuM2MwLTMuOCAxLjQtNyA0LjItOS42czYuMy0zLjkgMTAuNS0zLjlsODguMiAwem0xNzIgOTcuOGMtMTEuMy03LTIwLjQtMTYuNC0yNy40LTI4LjMtNy41LTEyLjQtMTEuOS0yNi42LTEzLTQyLjRsNDAuNC0xNyAwIDg3LjZ6TTM3LjUgMzczLjRsMCA4MC44Yy4yIC4yIC42IC4zIDEuMiAuM2w4OC4yIDBjLjQgMCAuNy0uMSAxLjEtLjNsMC04MC44Yy0uMi0uMi0uNi0uMy0xLjItLjNsLTg4LjEgMGMtLjQgMC0uOCAuMS0xLjIgLjN6bTQxOC40IDUuMWMyLjMtMS4zIDQuNS0xLjMgNi44IDBsNDkuOCAzMC4yYzIuMyAxLjMgMy40IDMuMyAzLjQgNS45cy0xLjEgNC42LTMuNCA1LjlsLTQ5LjggMjguNmMtMi4zIDEuMy00LjUgMS4zLTYuOCAwcy0zLjQtMy4zLTMuNC01LjlsMC01OC44YzAtMi42IDEuMS00LjYgMy40LTUuOXpNMTQxLjUgNDA1LjVsMCAxNi40IDMxLjcgMTkuOCAwLTU2LTMxLjcgMTkuOHpNNDUxLjEgNS4yYzM1LjgtMS4yIDYyLjkgMTUuMSA2My44IDQwLjggLjQgMTAuOS01LjkgMzIuMi0yNy44IDMzLTE2LjMgLjYtMjcuNi05LjItMjguMS0yNC4xLS4yLTUuNCAxLjItMTAuMiA0LjktMTUuOCAzLjYtNy4xIDQuNC03LjkgNC4zLTExLS4zLTkuNC0xNC41LTkuNy0xOC4zLTkuNS01MyAxLjgtNjYuOSA3My4zLTc4LjIgMTMxLjVsLTUuNiAzMC43YzMwLjUgNC41IDUyLjItMSA2NC4yLTguOCAxNy0xMS00LjgtMjIuNC0yLTM1IDIuOC0xMi44IDE0LjQtMTkgMjMuNy0xOS4yIDEyLjktLjMgMjIuMiAxMy4xIDIxLjkgMjYuNy0uNSAyMi42LTMwLjQgNTMuNi05MC4yIDUyLjMtNy4zLS4yLTE0LS43LTIwLjItMS40bC0xMS4zIDYyLjNjLTMgMTQtNi4zIDI5LjUtMTAuNyA0NS44bDIwNCAwIC45IC4xYy4zIC4xIC42IC4xIC44IC4yIDIuMiAuNiA0IDIuNSA0LjUgNC44IC42IDIuOC0xIDYtMy43IDcuMi0uNSAuMi0xLjEgLjQtMS43IC41LS4zIDAtLjYgMC0uOSAuMWwtNTE1LjMgMGMtLjctLjEtLjkgMC0xLjctLjItMi41LS43LTQuNC0zLjEtNC42LTUuNy0uMi0yLjMgMS00LjYgMy01LjggLjctLjUgMS42LS44IDIuNC0uOSAuMyAwIC42IDAgLjgtLjFsNDguNCAwYy0xNy4yLTE2LjgtMjAtMzcuMi0xNi01MC41IDUuNC0xNy42IDE5LjQtMjAuOSAzMy0xNi43IDE0LjYgNC41IDIwLjMgMjIuMyAxNi4yIDM2LS41IDEuNS0xLjIgMy45LTIuOCA3LjItMS43IDMuOC00LjggNy4xLTYuMiAxMS41LTEuNSA0LjkgLjcgOS4xIDQuNSAxMi42bDU4LjkgMGM0LjItNCA3LjQtOSA5LjEtMTQuNiA1LjMtMTctNS41LTI4LjktMTAtMzMuNWwtMjEuNy0yMy4yYy05LjktMTEuMS0zMS43LTQxLjktMjEuMS03Ni41IDQuMS0xMy40IDEyLjgtMjcuNSAyNS4zLTM2LjkgMjYuNS0xOS43IDU1LjMtMjMgODIuNy0xNS4xIDM1LjUgMTAuMiA1Mi41IDMzLjcgNzQuNiA1MS44IDEyLjQtMzYuMyAyOS41LTcxLjkgNTUuMy0xMDEuOSAyMy4zLTI3LjMgNTQuNi00Ny4xIDkwLjQtNDguM3pNMjI5LjYgMTIxLjNjLTIyLjItNi0zNS43LS45LTQ1LjIgMTEuMi0xMS4zIDE0LjMtNy41IDMyLjggMy4zIDQzLjdsMTggMTkuOWMyMiAyNS41IDM0LjEgNDUuMyAyOS42IDcyLTIuMiAxMy4xLTguNSAyNS4yLTE3LjkgMzUuM2w1NC4yIDBjMS01LjEgMi0xMC40IDMuMS0xNS44bDMuNi0yMS45YzUuOS0yOS40IDEyLjQtNjIuMiAyMi4zLTk0LjgtMjQuMS0xOC4xLTM4LjUtNDAuNy03MC45LTQ5LjV6Il19LFB1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtb2Rub2tsYXNzbmlraSIsaWNvbjpbNDQ4LDUxMixbIm9kbm9rbGFzc25pa2ktc3F1YXJlIl0sImYyNjQiLCJNMjI0IDEzNy4xYy01LjQtLjMtMTAuOCAuNi0xNS45IDIuNHMtOS43IDQuOC0xMy42IDguNS03IDguMi05LjIgMTMuMi0zLjIgMTAuMy0zLjIgMTUuNyAxLjEgMTAuOCAzLjIgMTUuNyA1LjMgOS41IDkuMiAxMy4yIDguNiA2LjYgMTMuNiA4LjUgMTAuNSAyLjcgMTUuOSAyLjRjNS40IC4zIDEwLjgtLjYgMTUuOS0yLjRzOS43LTQuOCAxMy42LTguNSA3LTguMiA5LjItMTMuMiAzLjItMTAuMyAzLjItMTUuNy0xLjEtMTAuOC0zLjItMTUuNy01LjMtOS41LTkuMi0xMy4yLTguNi02LjYtMTMuNi04LjUtMTAuNS0yLjctMTUuOS0yLjR6TTM4NCAzMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0ek0yMjQgMjU4YTgxIDgxIDAgMSAxIDAtMTYyLjEgODEgODEgMCAxIDEgMCAxNjIuMXptNTkuMyA2LjJjMTYuOC0xMy4yIDI5LjUtNS41IDM0LjEgMy42IDcuOCAxNi0xLjEgMjMuNy0yMS41IDM3LTE3LjEgMTAuOS00MC43IDE1LjItNTYuMiAxNi44bDEzIDEyLjkgNDcuNyA0Ny43YzE3LjQgMTcuOS0xMSA0NS44LTI4LjYgMjguNi0xMi0xMi4yLTI5LjUtMjkuNy00Ny43LTQ3LjlsLTQ3LjcgNDcuOWMtMTcuNyAxNy4yLTQ2LTExLTI4LjQtMjguNiAzLjctMy43IDcuOS03LjkgMTIuNS0xMi41IDEwLjQtMTAuNCAyMi42LTIyLjcgMzUuMi0zNS4ybDEyLjktMTIuOWMtMTUuNC0xLjYtMzkuMy01LjctNTYuNi0xNi44LTIwLjMtMTMuMy0yOS4zLTIwLjktMjEuNC0zNyA0LjYtOS4xIDE3LjMtMTYuOCAzNC4xLTMuNiAwIDAgMjIuNyAxOCA1OS4zIDE4czU5LjMtMTggNTkuMy0xOHoiXX0sU3Z0PVB1ZSx6dnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWFya2Rvd24iLGljb246WzY0MCw1MTIsW10sImY2MGYiLCJNNTkzLjggNTkuMWwtNTQ3LjYgMEMyMC43IDU5LjEgMCA3OS44IDAgMTA1LjJMMCA0MDYuN2MwIDI1LjUgMjAuNyA0Ni4yIDQ2LjIgNDYuMmw1NDcuNyAwYzI1LjUgMCA0Ni4yLTIwLjcgNDYuMS00Ni4xbDAtMzAxLjZjMC0yNS40LTIwLjctNDYuMS00Ni4yLTQ2LjF6TTMzOC41IDM2MC42bC02MS41IDAgMC0xMjAtNjEuNSA3Ni45LTYxLjUtNzYuOSAwIDEyMC02MS43IDAgMC0yMDkuMiA2MS41IDAgNjEuNSA3Ni45IDYxLjUtNzYuOSA2MS41IDAgMCAyMDkuMiAuMiAwem0xMzUuMyAzLjFsLTkyLjMtMTA3LjcgNjEuNSAwIDAtMTA0LjYgNjEuNSAwIDAgMTA0LjYgNjEuNSAwLTkyLjIgMTA3Ljd6Il19LEN2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0eXBvMyIsaWNvbjpbNDQ4LDUxMixbXSwiZjQyYiIsIk0xNzguNyA3OC40YzAtMjQuNyA1LjQtMzIuNCAxMy45LTM5LjQtNjkuNSA4LjUtMTQ5LjMgMzQtMTc2LjMgNjYuNC01LjQgNy43LTkuMyAyMC44LTkuMyAzNy4xIDAgMTAzLjUgMTA2LjggMzM3LjUgMTg0LjEgMzM3LjUgMzYuMyAwIDk3LjMtNTkuNSAxNDYuNy0xMzktNyAyLjMtMTEuNiAyLjMtMTguNSAyLjMtNTcuMiAwLTE0MC42LTE5OC41LTE0MC42LTI2NC45ek0zMDEuNSAzMmMtMzAuMSAwLTQxLjcgNS40LTQxLjcgMzYuMyAwIDY2LjQgNTMuOCAxOTguNSAxMDEuNyAxOTguNSAyNi4zIDAgNzguOC05OS43IDc4LjgtMTgyLjMgMC00MC45LTY3LTUyLjUtMTM4LjgtNTIuNXoiXX0sX3Z0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Impvb21sYSIsaWNvbjpbNDQ4LDUxMixbXSwiZjFhYSIsIk0uNiA5Mi4xYzAtMzMuMyAyNi44LTYwLjEgNTkuOC02MC4xIDMwIDAgNTQuNSAyMS45IDU5LjIgNTAuMiAzMi42LTcuNiA2Ny4xIC42IDk2LjUgMzBsLTQ0LjMgNDQuM2MtMjAuNS0yMC41LTQyLjYtMTYuMy01NS40LTMuNS0xNC4zIDE0LjMtMTQuMyAzNy45IDAgNTIuMmw5OS41IDk5LjUtNDQgNDQuM2MtODcuNy04Ny4yLTQ5LjctNDkuNy05OS44LTk5LjctMjYuOC0yNi41LTM1LTY0LjgtMjQuOC05OC45LTI2LjktNS44LTQ2LjctMjkuNy00Ni43LTU4LjN6TTEzMC4xIDIwOC41bDQ0LjMgNDQuM2MxMC0xMCA4OS43LTg5LjcgOTkuNy05OS44IDE0LjMtMTQuMyAzNy42LTE0LjMgNTEuOSAwIDEyLjggMTIuOCAxNyAzNS0zLjUgNTUuNGw0NCA0NC4zYzMxLjItMzEuMiAzOC41LTY3LjYgMjguOS0xMDEuMiAyOS4yLTQuMSA1MS45LTI5LjIgNTEuOS01OS41IDAtMzMuMi0yNi44LTYwLjEtNTkuOC02MC4xLTMwLjMgMC01NS40IDIyLjUtNTkuNSA1MS42LTMzLjgtOS45LTcxLjctMS41LTk4LjMgMjUuMS0xOC4zIDE5LjEtNzEuMSA3MS41LTk5LjYgOTkuOXpNMzk2LjQgMzYwLjdjOC4yLTMyLjctLjktNjguNS0yNi4zLTkzLjktMTEuOC0xMi4yIDUgNC43LTk5LjUtOTkuN2wtNDQuMyA0NC4zIDk5LjcgOTkuN2MxNC4zIDE0LjMgMTQuMyAzNy42IDAgNTEuOS0xMi44IDEyLjgtMzUgMTctNTUuNC0zLjVsLTQ0IDQ0LjNjMjcuNiAzMC4yIDY4IDM4LjggMTAyLjcgMjggNS41IDI3LjQgMjkuNyA0OC4xIDU4LjkgNDguMSAzMyAwIDU5LjgtMjYuOCA1OS44LTYwLjEgMC0zMC4yLTIyLjUtNTUtNTEuNi01OS4xem0tODQuMy01My4xbC00NC00NC4zYy04NyA4Ni40LTUwLjQgNTAuNC05OS43IDk5LjgtMTQuMyAxNC4zLTM3LjYgMTQuMy01MS45IDAtMTMuMS0xMy40LTE2LjktMzUuMyAzLjItNTUuNGwtNDQtNDQuM2MtMzAuMiAzMC4yLTM4IDY1LjItMjkuNSA5OC4zLTI2LjcgNi00Ni4yIDI5LjktNDYuMiA1OC4yIDAgMzMuMyAyNi44IDYwLjEgNTkuOCA2MC4xIDI4LjYgMCA1Mi41LTE5LjggNTguNi00Ni43IDMyLjcgOC4yIDY4LjUtLjYgOTQuMi0yNiAzMi4xLTMyIDEyLjItMTIuNCA5OS41LTk5Ljd6Il19LFR2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3ZWl4aW4iLGljb246WzU3Niw1MTIsW10sImYxZDciLCJNMzg1LjIgMTY3LjZjNi40IDAgMTIuNiAuMyAxOC44IDEuMS0xNi42LTc4LjQtMTAwLjctMTM2LjctMTk2LjMtMTM2LjctMTA3LjIgMC0xOTQuNyA3Mi44LTE5NC43IDE2NS40IDAgNTMuNCAyOS4zIDk3LjUgNzcuOSAxMzEuNmwtMTkuMyA1OC42IDY4LTM0LjFjMjQuNCA0LjggNDMuOCA5LjcgNjguMiA5LjcgNi4yIDAgMTIuMS0uMyAxOC4zLS44LTQtMTIuOS02LjItMjYuNi02LjItNDAuOC0uMS04NC45IDcyLjktMTU0IDE2NS4zLTE1NHpNMjgwLjcgMTE0LjdjMTQuNSAwIDI0LjIgOS43IDI0LjIgMjQuNCAwIDE0LjUtOS43IDI0LjItMjQuMiAyNC4yLTE0LjggMC0yOS4zLTkuNy0yOS4zLTI0LjIgLjEtMTQuNyAxNC42LTI0LjQgMjkuMy0yNC40ek0xNDQuMyAxNjMuM2MtMTQuNSAwLTI5LjMtOS43LTI5LjMtMjQuMiAwLTE0LjggMTQuOC0yNC40IDI5LjMtMjQuNCAxNC44IDAgMjQuNCA5LjcgMjQuNCAyNC40IDAgMTQuNi05LjYgMjQuMi0yNC40IDI0LjJ6TTU2MyAzMTkuNGMwLTc3LjktNzcuOS0xNDEuMy0xNjUuNC0xNDEuMy05Mi43IDAtMTY1LjQgNjMuNC0xNjUuNCAxNDEuM1MzMDUgNDYwLjcgMzk3LjYgNDYwLjdjMTkuMyAwIDM4LjktNS4xIDU4LjYtOS45bDUzLjQgMjkuMy0xNC44LTQ4LjZDNTM0IDQwMi4xIDU2MyAzNjMuMiA1NjMgMzE5LjR6TTM0My45IDI5NC45Yy05LjcgMC0xOS4zLTkuNy0xOS4zLTE5LjYgMC05LjcgOS43LTE5LjMgMTkuMy0xOS4zIDE0LjggMCAyNC40IDkuNyAyNC40IDE5LjMgMCAxMC05LjcgMTkuNi0yNC40IDE5LjZ6bTEwNy4xIDBjLTkuNyAwLTE5LjMtOS43LTE5LjMtMTkuNiAwLTkuNyA5LjctMTkuMyAxOS4zLTE5LjMgMTQuNSAwIDI0LjQgOS43IDI0LjQgMTkuMyAuMSAxMC05LjkgMTkuNi0yNC40IDE5LjZ6Il19LEx2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJncnVudCIsaWNvbjpbMzg0LDUxMixbXSwiZjNhZCIsIk02MS42IDE4OS4zYy0xLjEgMTAgNS4yIDE5LjEgNS4yIDE5LjEgLjctNy41IDIuMi0xMi44IDQtMTYuNiAuNCAxMC4zIDMuMiAyMy41IDEyLjggMzQuMSA2LjkgNy42IDM1LjYgMjMuMyA1NC45IDYuMSAxIDIuNCAyLjEgNS4zIDMgOC41IDIuOSAxMC4zLTIuNyAyNS4zLTIuNyAyNS4zczE1LjEtMTcuMSAxMy45LTMyLjVjMTAuOC0uNSAyMS40LTguNCAyMS4xLTE5LjUgMCAwLTE4LjkgMTAuNC0zNS41LTguOC05LjctMTEuMi00MC45LTQyLTgzLjEtMzEuOCA0LjMgMSA4LjkgMi40IDEzLjUgNC4xbC0uMSAwYy00LjIgMi02LjUgNy4xLTcgMTJ6bTI4LjMtMS44YzE5LjUgMTEgMzcuNCAyNS43IDQ0LjkgMzctNS43IDMuMy0yMS43IDEwLjQtMzgtMS43LTEwLjMtNy42LTkuOC0yNi4yLTYuOS0zNS4zek0yMzIgMjMzLjNjLTEuMiAxNS41IDEzLjkgMzIuNSAxMy45IDMyLjVzLTUuNi0xNS0yLjctMjUuM2MuOS0zLjIgMi02IDMtOC41IDE5LjMgMTcuMyA0OCAxLjUgNTQuOC02LjEgOS42LTEwLjYgMTIuMy0yMy44IDEyLjgtMzQuMSAxLjggMy44IDMuNCA5LjEgNCAxNi42IDAgMCA2LjQtOS4xIDUuMi0xOS4xLS42LTUtMi45LTEwLTctMTEuOGwtLjEgMGM0LjYtMS44IDkuMi0zLjIgMTMuNS00LjEtNDIuMy0xMC4yLTczLjQgMjAuNi04My4xIDMxLjgtMTYuNyAxOS4yLTM1LjUgOC44LTM1LjUgOC44LS4yIDEwLjkgMTAuNCAxOC45IDIxLjIgMTkuM3ptNjIuNy00NS44YzMgOS4xIDMuNCAyNy43LTcgMzUuNC0xNi4zIDEyLjEtMzIuMiA1LTM3LjkgMS42IDcuNS0xMS40IDI1LjQtMjYgNDQuOS0zN3ptLTEzNC40IDIzMWwtMjkuNCAwYy01LjUgMC04LjIgMS42LTkuNSAyLjktMS45IDItMi4yIDQuNy0uOSA4LjEgMy41IDkuMSAxMS40IDE2LjUgMTMuNyAxOC42IDMuMSAyLjcgNy41IDQuMyAxMS44IDQuMyA0LjQgMCA4LjMtMS43IDExLTQuNiA3LjUtOC4yIDExLjktMTcuMSAxMy0xOS44IC42LTEuNSAxLjMtNC41LS45LTYuOC0xLjgtMS44LTQuNy0yLjctOC44LTIuN3pNMzQ5LjUgMzE3LjNjLTIuNCAxNy45LTEzIDMzLjgtMjQuNiA0My43LTMuMS0yMi43LTMuNy01NS41LTMuNy02Mi40IDAtMTQuNyA5LjUtMjQuNSAxMi4yLTI2LjEgMi41LTEuNSA1LjQtMyA4LjMtNC42IDE4LTkuNiA0MC40LTIxLjYgNDAuNC00My43IDAtMTYuMi05LjMtMjMuMi0xNS40LTI3LjgtLjgtLjYtMS41LTEuMS0yLjItMS43LTIuMS0xLjctMy43LTMtNC4zLTQuNC00LjQtOS44LTMuNi0zNC4yLTEuNy0zNy42IC42LS42IDE2LjctMjAuOSAxMS44LTM5LjItMi03LjQtNi45LTEzLjMtMTQuMS0xNy01LjMtMi43LTExLjktNC4yLTE5LjUtNC41LS4xLTItLjUtMy45LS45LTUuOS0uNi0yLjYtMS4xLTUuMy0uOS04LjEgLjQtNC43IC44LTkgMi4yLTExLjMgOC40LTEzLjMgMjguOC0xNy42IDI5LTE3LjZsMTIuMy0yLjQtOC4xLTkuNWMtLjEtLjItMTcuMy0xNy41LTQ2LjMtMTcuNS03LjkgMC0xNiAxLjMtMjQuMSAzLjktMjQuMiA3LjgtNDIuOSAzMC41LTQ5LjQgMzkuMy0zLjEtMS02LjMtMS45LTkuNi0yLjctNC4yLTE1LjggOS0zOC41IDktMzguNXMtMTMuNi0zLTMzLjcgMTUuMmMtMi42LTYuNS04LjEtMjAuNS0xLjgtMzcuMi0yOS41IDEwLjQtMzYuOSAyNi4zLTM5LjEgNDAuNy03LjYtNS40LTYuNy0yMy4xLTcuMi0yNy42LTcuNSAuOS0yOS4yIDIxLjktMjguMiA0OC4zLTIgLjUtMy45IDEuMS01LjkgMS43LTYuNS04LjgtMjUuMS0zMS41LTQ5LjQtMzkuMy03LjktMi4yLTE2LTMuNS0yMy45LTMuNS0yOSAwLTQ2LjEgMTcuMy00Ni4zIDE3LjVsLTguMSA5LjQgMTIuMyAyLjRjLjIgMCAyMC42IDQuMyAyOSAxNy42IDEuNCAyLjIgMS44IDYuNiAyLjIgMTEuMyAuMiAyLjgtLjQgNS41LS45IDguMS0uNCAxLjktLjggMy45LS45IDUuOS03LjcgLjMtMTQuMiAxLjgtMTkuNSA0LjUtNy4yIDMuNy0xMi4xIDkuNi0xNC4xIDE3LTUgMTguMiAxMS4yIDM4LjUgMTEuOCAzOS4yIDEuOSAzLjQgMi43IDI3LjgtMS43IDM3LjYtLjYgMS40LTIuMiAyLjctNC4zIDQuNC0uNyAuNS0xLjQgMS4xLTIuMiAxLjctNi4xIDQuNi0xNS40IDExLjctMTUuNCAyNy44IDAgMjIuMSAyMi40IDM0LjEgNDAuNCA0My43IDMgMS42IDUuOCAzLjEgOC4zIDQuNiAyLjcgMS42IDEyLjIgMTEuNCAxMi4yIDI2LjEgMCA2LjktLjYgMzkuNy0zLjcgNjIuNC0xMS42LTkuOS0yMi4yLTI1LjktMjQuNi00My44IDAgMC0yOS4yIDIyLjYtMjAuNiA3MC44IDUuMiAyOS41IDIzLjIgNDYuMSA0NyA1NC43IDguOCAxOS4xIDI5LjQgNDUuNyA2Ny4zIDQ5LjYgMTQuNCAxMS44IDM0LjQgMTkuNSA2My42IDE5LjVsLjIgMGMyOS4xIDAgNDkuMS03LjcgNjMuNi0xOS41IDM3LjktMy45IDU4LjUtMzAuNSA2Ny4zLTQ5LjYgMjMuOC04LjcgNDEuNy0yNS4yIDQ3LTU0LjcgOC4yLTQ4LjQtMjEuMS03MC45LTIxLjEtNzAuOXpNMzA2IDM3LjdjNS42LTEuOCAxMS42LTIuNyAxNy43LTIuNyAxMSAwIDE5LjkgMyAyNC43IDUtMy4xIDEuNC02LjQgMy4yLTkuNyA1LjMtMi40LS40LTUuNi0uOC05LjItLjgtMTAuNSAwLTIwLjUgMy4xLTI4LjcgOC45LTEyLjMgOC43LTE4IDE2LjktMjAuNyAyMi40LTIuMi0xLjMtNC41LTIuNS03LjEtMy43LTEuNi0uOC0zLjEtMS41LTQuNy0yLjIgNi4xLTkuMSAxOS45LTI2LjUgMzcuNy0zMi4yem0yMSAxOC4yYy0uOCAxLTEuNiAyLjEtMi4zIDMuMi0zLjMgNS4yLTMuOSAxMS42LTQuNCAxNy44LS41IDYuNC0xLjEgMTIuNS00LjQgMTctNC4yIC44LTguMSAxLjctMTEuNSAyLjctMi4zLTMuMS01LjYtNy0xMC41LTExLjIgMS40LTQuOCA1LjUtMTYuMSAxMy41LTIyLjUgNS42LTQuMyAxMi4yLTYuNyAxOS42LTd6TTQ1LjkgNDUuM2MtMy4zLTIuMi02LjYtNC05LjctNS4zIDQuOC0yIDEzLjctNSAyNC43LTUgNi4xIDAgMTIgLjkgMTcuNyAyLjcgMTcuOCA1LjggMzEuNiAyMy4yIDM3LjcgMzIuMS0xLjYgLjctMy4yIDEuNC00LjggMi4yLTIuNSAxLjItNC45IDIuNS03LjEgMy43LTIuNi01LjQtOC4zLTEzLjctMjAuNy0yMi40LTguMy01LjgtMTguMi04LjktMjguOC04LjktMy40IC4xLTYuNiAuNS05IC45ek05MC42IDg1LjRjLTQuOSA0LjItOC4zIDgtMTAuNSAxMS4yLTMuNC0uOS03LjMtMS45LTExLjUtMi43LTMuMy00LjQtMy44LTEwLjUtNC4zLTE2LjktLjUtNi4yLTEuMS0xMi42LTQuNC0xNy44LS43LTEuMS0xLjUtMi4yLTIuMy0zLjIgNy40IC4zIDE0IDIuNiAxOS41IDcgOCA2LjMgMTIuMSAxNy42IDEzLjUgMjIuNHpNNTguNCAyNTkuOWMtMi43LTEuNi01LjYtMy4xLTguNC00LjYtMTQuOS04LTMwLjItMTYuMy0zMC4yLTMwLjUgMC0xMS4xIDQuMy0xNC42IDguOS0xOC4ybC41LS40Yy43LS42IDEuNC0xLjIgMi4yLTEuOC0uOSA3LjItMS45IDEzLjMtMi43IDE0LjkgMCAwIDEyLjEtMTUgMTUuNy00NC4zIDEuNC0xMS41LTEuMS0zNC4zLTUuMS00MyAuMiA0LjkgMCA5LjgtLjMgMTQuNC0uNC0uOC0uOC0xLjYtMS4zLTIuMi0zLjItNC0xMS44LTE3LjUtOS40LTI2LjYgLjktMy41IDMuMS02IDYuNy03LjggMy44LTEuOSA4LjgtMi45IDE1LjEtMi45IDEyLjMgMCAyNS45IDMuNyAzMi45IDYgMjUuMSA4IDU1LjQgMzAuOSA2NC4xIDM3LjcgLjIgLjIgLjQgLjMgLjQgLjNsNS42IDMuOS0zLjUtNS44Yy0uMi0uMy0xOS4xLTMxLjQtNTMuMi00Ni41IDItMi45IDcuNC04LjEgMjEuNi0xNS4xIDIxLjQtMTAuNSA0Ni41LTE1LjggNzQuMy0xNS44IDI3LjkgMCA1Mi45IDUuMyA3NC4zIDE1LjggMTQuMiA2LjkgMTkuNiAxMi4yIDIxLjYgMTUuMS0zNCAxNS4xLTUyLjkgNDYuMi01My4xIDQ2LjVsLTMuNSA1LjggNS42LTMuOXMuMi0uMSAuNC0uM2M4LjctNi44IDM5LTI5LjggNjQuMS0zNy43IDctMi4yIDIwLjYtNiAzMi45LTYgNi4zIDAgMTEuMyAxIDE1LjEgMi45IDMuNSAxLjggNS43IDQuNCA2LjcgNy44IDIuNSA5LjEtNi4xIDIyLjYtOS40IDI2LjYtLjUgLjYtLjkgMS4zLTEuMyAyLjItLjMtNC42LS41LTkuNS0uMy0xNC40LTQgOC44LTYuNSAzMS41LTUuMSA0MyAzLjYgMjkuMyAxNS43IDQ0LjMgMTUuNyA0NC4zLS44LTEuNi0xLjgtNy43LTIuNy0xNC45IC43IC42IDEuNSAxLjIgMi4yIDEuOGwuNSAuNGM0LjYgMy43IDguOSA3LjEgOC45IDE4LjIgMCAxNC4yLTE1LjQgMjIuNS0zMC4yIDMwLjUtMi45IDEuNS01LjcgMy4xLTguNCA0LjYtOC43IDUtMTggMTYuNy0xOS4xIDM0LjItLjkgMTQuNiAuOSA0OS45IDMuNCA3NS45LTEyLjQgNC44LTI2LjcgNi40LTM5LjcgNi44LTItNC4xLTMuOS04LjUtNS41LTEzLjEtLjctMi0xOS42LTUxLjEtMjYuNC02Mi4yIDUuNSAzOSAxNy41IDczLjcgMjMuNSA4OS42LTMuNS0uNS03LjMtLjctMTEuNy0uN2wtMTE3IDBjLTQuNCAwLTguMyAuMy0xMS43IC43IDYtMTUuOSAxOC4xLTUwLjYgMjMuNS04OS42LTYuOCAxMS4yLTI1LjcgNjAuMy0yNi40IDYyLjItMS42IDQuNi0zLjUgOS01LjUgMTMuMS0xMy0uNC0yNy4yLTItMzkuNy02LjggMi41LTI2IDQuMy02MS4yIDMuNC03NS45LS45LTE3LjQtMTAuMy0yOS4yLTE5LTM0LjJ6TTM1LjEgNDA0LjZjLTEyLjEtMjAtOC43LTU0LjEtMy43LTU5LjEgMTAuOSAzNC40IDQ3LjIgNDQuMyA3NC40IDQ1LjQtMi43IDQuMi01LjIgNy42LTcgMTBsLTEuNCAxLjRjLTcuMiA3LjgtOC42IDE4LjUtNC4xIDMxLjgtMjIuNy0uMS00Ni4zLTkuOC01OC4yLTI5LjV6bTQ1LjcgNDMuNWM2IDEuMSAxMi4yIDEuOSAxOC42IDIuNCAzLjUgOCA3LjQgMTUuOSAxMi4zIDIzLjEtMTQuNC01LjktMjQuNC0xNi0zMC45LTI1LjV6bTExMS41IDUwLjFjLTYwLjYtLjEtNzguMy00NS44LTg0LjktNjQuNy0zLjctMTAuNS0zLjQtMTguMiAuOS0yMy4xIDIuOS0zLjMgOS41LTcuMiAyNC42LTcuMmwxMTguOCAwYzE1LjEgMCAyMS44IDMuOSAyNC42IDcuMiA0LjIgNC44IDQuNSAxMi42IC45IDIzLjEtNi42IDE4LjgtMjQuMyA2NC42LTg0LjkgNjQuN3ptODAuNi0yNC42YzQuOS03LjIgOC44LTE1LjEgMTIuMy0yMy4xIDYuNC0uNSAxMi42LTEuMyAxOC42LTIuNC02LjUgOS41LTE2LjUgMTkuNi0zMC45IDI1LjV6bTc2LjYtNjljLTEyIDE5LjctMzUuNiAyOS4zLTU4LjEgMjkuNyA0LjUtMTMuMyAzLjEtMjQuMS00LjEtMzEuOC0uNC0uNS0uOS0xLTEuNC0xLjUtMS44LTIuNC00LjMtNS44LTctMTAgMjcuMi0xLjIgNjMuNS0xMSA3NC40LTQ1LjQgNSA1IDguNCAzOS4xLTMuOCA1OXpNMTkyLjIgMTg3LjdsLjIgMGMxMi43LS4xIDI3LjItMTcuOCAyNy4yLTE3LjgtOS45IDYtMTguOCA4LjEtMjcuMyA4LjMtOC41LS4yLTE3LjQtMi4zLTI3LjMtOC4zIDAgMCAxNC41IDE3LjYgMjcuMiAxNy44em02MS43IDIzMC43bC0yOS40IDBjLTQuMiAwLTcuMiAuOS04LjkgMi43LTIuMiAyLjMtMS41IDUuMi0uOSA2LjcgMSAyLjYgNS41IDExLjMgMTMgMTkuMyAyLjcgMi45IDYuNiA0LjUgMTEgNC41czguNy0xLjYgMTEuOC00LjJjMi4zLTIgMTAuMi05LjIgMTMuNy0xOC4xIDEuMy0zLjMgMS02LS45LTcuOS0xLjMtMS4zLTQtMi45LTkuNC0zeiJdfSwkdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3VwcG9ydG5vdyIsaWNvbjpbNjQwLDUxMixbXSwiZTgzMyIsIk0wIDE5MS45bDIwMy45LS4xYzEuOC0uNiAyLjUtOS41IDMuMi0xMi4yIDMuMy0xMy41IDguNC0yNi40IDE0LjgtMzguN2wtMTYwLjIgMCAwLTQ4LjIgMjM0LjUgMCAwIDM5Yy01MS4yIDM2LjEtNTYuNCA5Mi42LTIzLjYgMTQzLjkgMzMuMSA1MS43IDkzLjQgODguMSAxNDkuNSAxMTAuNSA2Ny44LTI1LjIgMTY0LjktODkuOSAxNjkuNC0xNjkuNiAzLjEtNTUuMy00Mi4yLTEwMS44LTk4LjctOTEuOC00MS41IDcuNC02Mi4xIDQ2LjctNTQuOCA4Ni40bC00OC4yIDBjLTcuMy01Ni42IDIyLjgtMTEyLjYgNzguNC0xMzAuMyA3OC43LTI1LjEgMTU5LjUgMjggMTcwLjQgMTA4LjggMTUuMiAxMTIuMy05NS41IDE5OS45LTE4OC4xIDIzNy44LTQuNCAxLjgtMjQuNCAxMC4xLTI3LjUgMTAuMWwtMjgwLjMgMCAwLTQ4LjIgMTc4LjUgMC0zOC4xLTI4LjktMjMuMi0yMi4xLTE5OC4zIDAgMC00OC4yIDE2My4xIDBjLTcuMS0xMS42LTEyLjMtMjQuMy0xNi4xLTM3LjQtLjctMi41LTIuMS0xMi0zLjgtMTIuNmwtMjA0LjktLjEgMC00OC4yIDAgMHoiXX0sRHZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJvY2tybXMiLGljb246WzUxMiw1MTIsW10sImYzZTkiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek00MTMuNCA0MjcuNWwtOTAgMC0xMTItMTMxLjNjLTE3LjktMjAuNC0zLjktNTYuMSAyNi42LTU2LjFsNzUuMyAwLTg0LjYtOTkuMy04NC4zIDk4LjktOTAgMCAxNDcuMS0xNzIuNWMxNC40LTE4LjQgNDEuMy0xNy4zIDU0LjUgMEw0MTMuNyAyNTIuM2MxOSAyMi44IDIgNTcuMi0yNy42IDU2LjEtLjYgMC03NC4yIC4yLTc0LjIgLjJMNDEzLjQgNDI3LjV6Il19LEF2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bnNwbGFzaCIsaWNvbjpbNDQ4LDUxMixbXSwiZTA3YyIsIk00NDggMjMwLjJsMCAyNDkuOC00NDggMCAwLTI0OS44IDE0MS4xIDAgMCAxMjQuOSAxNjUuNyAwIDAtMTI0LjkgMTQxLjEgMHpNMzA2LjkgMzJsLTE2NS43IDAgMCAxMjQuOSAxNjUuNyAwIDAtMTI0Ljl6Il19LEl1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtaW5zdGFncmFtIixpY29uOls0NDgsNTEyLFsiaW5zdGFncmFtLXNxdWFyZSJdLCJlMDU1IiwiTTE5NC40IDIxMS43YTUzLjMgNTMuMyAwIDEgMCA1OS4yIDg4LjYgNTMuMyA1My4zIDAgMSAwIC01OS4yLTg4LjZ6bTE0Mi4zLTY4LjRjLTUuMi01LjItMTEuNS05LjMtMTguNC0xMi0xOC4xLTcuMS01Ny42LTYuOC04My4xLTYuNS00LjEgMC03LjkgLjEtMTEuMiAuMXMtNy4yIDAtMTEuNC0uMWMtMjUuNS0uMy02NC44LS43LTgyLjkgNi41LTYuOSAyLjctMTMuMSA2LjgtMTguNCAxMnMtOS4zIDExLjUtMTIgMTguNGMtNy4xIDE4LjEtNi43IDU3LjctNi41IDgzLjIgMCA0LjEgLjEgNy45IC4xIDExLjFzMCA3LS4xIDExLjFjLS4yIDI1LjUtLjYgNjUuMSA2LjUgODMuMiAyLjcgNi45IDYuOCAxMy4xIDEyIDE4LjRzMTEuNSA5LjMgMTguNCAxMmMxOC4xIDcuMSA1Ny42IDYuOCA4My4xIDYuNSA0LjEgMCA3LjktLjEgMTEuMi0uMXM3LjIgMCAxMS40IC4xYzI1LjUgLjMgNjQuOCAuNyA4Mi45LTYuNSA2LjktMi43IDEzLjEtNi44IDE4LjQtMTJzOS4zLTExLjUgMTItMTguNGM3LjItMTggNi44LTU3LjQgNi41LTgzIDAtNC4yLS4xLTguMS0uMS0xMS40czAtNy4xIC4xLTExLjRjLjMtMjUuNSAuNy02NC45LTYuNS04My0yLjctNi45LTYuOC0xMy4xLTEyLTE4LjRsMCAuMnptLTY3LjEgNDQuNWMxOC4xIDEyLjEgMzAuNiAzMC45IDM0LjkgNTIuMnMtLjIgNDMuNS0xMi4zIDYxLjZjLTYgOS0xMy43IDE2LjYtMjIuNiAyMi42cy0xOSAxMC4xLTI5LjYgMTIuMmMtMjEuMyA0LjItNDMuNS0uMi02MS42LTEyLjNzLTMwLjYtMzAuOS0zNC45LTUyLjIgLjItNDMuNSAxMi4yLTYxLjYgMzAuOS0zMC42IDUyLjItMzQuOSA0My41IC4yIDYxLjYgMTIuMmwuMSAwem0yOS4yLTEuM2MtMy4xLTIuMS01LjYtNS4xLTcuMS04LjZzLTEuOC03LjMtMS4xLTExLjEgMi42LTcuMSA1LjItOS44IDYuMS00LjUgOS44LTUuMiA3LjYtLjQgMTEuMSAxLjEgNi41IDMuOSA4LjYgNyAzLjIgNi44IDMuMiAxMC42YzAgMi41LS41IDUtMS40IDcuM3MtMi40IDQuNC00LjEgNi4yLTMuOSAzLjItNi4yIDQuMi00LjggMS41LTcuMyAxLjVjLTMuOCAwLTcuNS0xLjEtMTAuNi0zLjJsLS4xIDB6TTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek0zNTcgMzg5Yy0xOC43IDE4LjctNDEuNCAyNC42LTY3IDI1LjktMjYuNCAxLjUtMTA1LjYgMS41LTEzMiAwLTI1LjYtMS4zLTQ4LjMtNy4yLTY3LTI1LjlzLTI0LjYtNDEuNC0yNS44LTY3Yy0xLjUtMjYuNC0xLjUtMTA1LjYgMC0xMzIgMS4zLTI1LjYgNy4xLTQ4LjMgMjUuOC02N3M0MS41LTI0LjYgNjctMjUuOGMyNi40LTEuNSAxMDUuNi0xLjUgMTMyIDAgMjUuNiAxLjMgNDguMyA3LjEgNjcgMjUuOHMyNC42IDQxLjQgMjUuOCA2N2MxLjUgMjYuMyAxLjUgMTA1LjQgMCAxMzEuOS0xLjMgMjUuNi03LjEgNDguMy0yNS44IDY3bDAgLjF6Il19LEV2dD1JdWUsUHZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZpcnN0LW9yZGVyLWFsdCIsaWNvbjpbNTEyLDUxMixbXSwiZjUwYSIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6bTAgNy44YTI0MC4yIDI0MC4yIDAgMSAxIDAgNDgwLjQgMjQwLjIgMjQwLjIgMCAxIDEgMC00ODAuNHptMCAyMC41YTIxOS43IDIxOS43IDAgMSAwIDAgNDM5LjQgMjE5LjcgMjE5LjcgMCAxIDAgMC00MzkuNHptMCA4LjJhMjExLjUgMjExLjUgMCAxIDEgMCA0MjMgMjExLjUgMjExLjUgMCAxIDEgMC00MjN6bTE4Ni4yIDI2MGMtNC40IDE3LjEtMTEuMiAzMy41LTIwLjEgNDguN2wtNzQuMS0zNS45IDYxLjUgNTQuOGMtMTAuNiAxNC4xLTIzLjIgMjYuNi0zNy4yIDM3LjNsLTU0LjgtNjEuNiAzNS45IDc0LjNjLTE1LjIgOS0zMS42IDE1LjgtNDguNiAyMC4ybC0yNy4zLTc4LjUgNC44IDgyLjljLTguNiAxLjItMTcuNCAxLjgtMjYuMyAxLjhzLTE3LjctLjYtMjYuMy0xLjhsNC44LTgyLjUtMjcuMiA3OGMtMTcuMS00LjUtMzMuNC0xMS4zLTQ4LjctMjAuMmwzNS45LTc0LjMtNTQuOSA2MS42Yy0xNC0xMC43LTI2LjYtMjMuMi0zNy4yLTM3LjNsNjEuNi01NC45LTc0LjMgMzUuOUM4MC43IDMzOCA3NCAzMjEuNyA2OS41IDMwNC42bDc3LjgtMjcuMS04Mi4yIDQuOGMtMS4yLTguNi0xLjgtMTcuMy0xLjgtMjYuMiAwLTkgLjYtMTcuOCAxLjgtMjYuNWw4Mi40IDQuOC03Ny45LTI3LjJjNC41LTE3LjEgMTEuMy0zMy41IDIwLjItNDguN2w3NC4yIDM1LjktNjEuNS01NC45YzEwLjctMTQgMjMuMi0yNi42IDM3LjMtMzcuMmw1NC44IDYxLjUtMzUuOC03NC4yYzE1LjItOC45IDMxLjYtMTUuNyA0OC42LTIwLjFsMjYuOSA3Ny4yLTQuNy04MS42YzguNi0xLjIgMTcuNC0xLjggMjYuMy0xLjhzMTcuNyAuNiAyNi4zIDEuOGwtNC43IDgyLjIgMjctNzcuOGMxNy4zIDQuNSAzMy42IDExLjQgNDguNiAyMC4ybC0zNS44IDc0LjEgNTQuNy02MS41YzE0LjEgMTAuNyAyNi42IDIzLjIgMzcuMiAzNy4ybC02MS40IDU0LjggNzQuMS0zNS45YzguOSAxNS4yIDE1LjcgMzEuNiAyMC4yIDQ4LjZsLTc3LjggMjcuMSA4Mi4yLTQuN2MxLjIgOC43IDEuOCAxNy41IDEuOCAyNi41IDAgOC45LS42IDE3LjYtMS44IDI2LjJsLTgyLjEtNC43IDc3LjcgMjcuMXoiXX0sSXZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZ1bGNydW0iLGljb246WzI1Niw1MTIsW10sImY1MGIiLCJNNjMuOCAxNjQuMUwyOC40IDIwNy43LTcgMTY0LjEgMjguNCAxMjAuNiA2My44IDE2NC4xek0xMTIuMiAwbC0yMC41IDE5OC4yLTUxIDU3LjggNTEgNTcuOCAyMC41IDE5OC4yIDAtMjExLjEtNDEuMS00NC45IDQxLjEtNDQuOSAwLTIxMS4xem03OS43IDE2NC4xbDM1LjQgNDMuNiAzNS40LTQzLjYtMzUuNC00My41LTM1LjQgNDMuNXptLTQ4LjUgNDdsNDEuMSA0NC45LTQxLjEgNDQuOSAwIDIxMS4xIDIwLjYtMTk4LjIgNTEtNTcuOC01MS01Ny44LTIwLjYtMTk4LjIgMCAyMTEuMXoiXX0sTnZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFyY2gtbGludXgiLGljb246WzU3Niw1MTIsW10sImU4NjciLCJNMjg4LjctNy44Yy0yNC4xIDU5LTM4LjYgOTcuNy02NS40IDE1NSAxNi40IDE3LjQgMzYuNiAzNy42IDY5LjQgNjAuNS0zNS4yLTE0LjUtNTkuMi0yOC45LTc3LjItNDQtMzQuMyA3MS42LTg4LjEgMTczLjUtMTk3LjIgMzY5LjQgODUuNy00OS41IDE1Mi4yLTgwIDIxNC4xLTkxLjYtMi43LTExLjQtNC4xLTIzLjgtNC0zNi43bC4xLTIuN2MxLjQtNTQuOSAyOS45LTk3LjIgNjMuOC05NC40czYwLjIgNDkuOCA1OC44IDEwNC43Yy0uMyAxMC4zLTEuNCAyMC4yLTMuNCAyOS40IDYxLjIgMTIgMTI3IDQyLjQgMjExLjYgOTEuMi0xNi43LTMwLjctMzEuNi01OC4zLTQ1LjgtODQuNy0yMi40LTE3LjQtNDUuNy0zOS45LTkzLjMtNjQuNCAzMi43IDguNSA1Ni4zIDE4LjMgNzQuNSAyOS4zLTE0NC41LTI2OS4xLTE1Ni4yLTMwNC44LTIwNS44LTQyMS4xeiJdfSxSdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmVkaXZlcnNlIixpY29uOls1NzYsNTEyLFtdLCJlODY1IiwiTTM5NC44IDUyNi45YTU0IDU0IDAgMSAxIDUuOC0xMDcuOCA1NCA1NCAwIDEgMSAtNS44IDEwNy44em0tNTAuMS04MC42Yy01LjUgMTAuOS03LjQgMjMuMy01LjYgMzUuNEwxNjguNyA0NTQuNGM1LjUtMTAuOSA3LjUtMjMuMyA1LjctMzUuNGwxNzAuMyAyNy4zek0xMTIuNyA0ODEuNmE1NCA1NCAwIDEgMSA1LjktMTA3LjggNTQgNTQgMCAxIDEgLTUuOSAxMDcuOHptMjU3LjctNjEuNGMtMTAuOSA1LjYtMTkuNyAxNC40LTI1LjQgMjUuM2wtNzAuNi03MC45IDMzLjYtMTcgNjIuNCA2Mi43ek00ODYuMSAyNjFjOC43IDguNiAxOS44IDE0LjMgMzEuOSAxNi40TDQzOS40IDQzMC44Yy04LjctOC42LTE5LjgtMTQuMy0zMS45LTE2LjRMNDg2LjEgMjYxek0zNzYuNyAyMTkuM2wzMC41IDE5NS4xYy0xMi4xLTEuOS0yNC41LS4xLTM1LjQgNS4zbC0zMi4yLTIwNi4zIDM3LjIgNnpNMzUwLjQgMzI4LjlMMTc0LjIgNDE4LjJjLTItMTIuMS03LjYtMjMuMi0xNi4yLTMybDE4Ni42LTk0LjYgNS44IDM3LjJ6bS0xNTIuNy0yMmwtNDAuMyA3OC43Yy04LjctOC42LTE5LjgtMTQuMy0zMS45LTE2LjNsNDUuNi04OSAyNi42IDI2Ljd6TTEyNC43IDM2OWMtMTIuMS0xLjgtMjQuNCAuMi0zNS40IDUuNkw2Mi43IDIwNC4zYzEyLjEgMS44IDI0LjUtLjEgMzUuNC01LjZMMTI0LjcgMzY5em0xNDcuMS00Ny44bC0zMy42IDE3LTEzOS40LTEzOS45YzEwLjktNS42IDE5LjctMTQuNCAyNS40LTI1LjNMMjcxLjggMzIxLjJ6bTE5Ny41LTkyLjhjMiAxMi4xIDcuNiAyMy4yIDE2LjIgMzEuOWwtODkuMyA0NS4yLTUuOC0zNy4yIDc4LjktNDB6bTU1LjYgNDQuM2E1NCA1NCAwIDEgMSA1LjktMTA3LjggNTQgNTQgMCAxIDEgLTUuOSAxMDcuOHpNMjg0LjYgNTguN2M4LjcgOC42IDE5LjggMTQuMyAzMS44IDE2LjNsLTk1LjMgMTg2LjEtMjYuNi0yNi43IDkwLTE3NS44ek00NzQuOSAxOTIuMWMtNS41IDEwLjktNy41IDIzLjMtNS43IDM1LjNsLTIwNi40LTMzLjEgMTcuMi0zMy41IDE5NSAzMS4zek02OC43IDE5OS42QTU0IDU0IDAgMSAxIDc0LjYgOTEuOCA1NCA1NCAwIDEgMSA2OC43IDE5OS42em00MzItMzMuNGMtMTAuOSA1LjYtMTkuNyAxNC40LTI1LjQgMjUuM0wzNTMuNSA2OS4zYzEwLjktNS42IDE5LjctMTQuNCAyNS40LTI1LjNMNTAwLjYgMTY2LjJ6TTIyOS4zIDE1Mi42bC0xNy4yIDMzLjUtODcuNC0xNGM1LjQtMTAuOSA3LjQtMjMuMyA1LjUtMzUuNGw5OSAxNS45em0xMzkuNSAxNS45bC0zNy4yLTYtMTMuNi04Ny4yYzEyLjEgMS43IDI0LjUtLjMgMzUuMy01LjlsMTUuNSA5OS4xek0yNjcuOCAyNi4yYzIgMTIuMSA3LjYgMjMuMiAxNi4yIDMxLjlsLTE1My45IDc4Yy0yLTEyLjEtNy42LTIzLjItMTYuMi0zMS45bDE1My45LTc4em01NS42IDQ0LjNhNTQgNTQgMCAxIDEgNS44LTEwNy44IDU0IDU0IDAgMSAxIC01LjggMTA3Ljh6Il19LE92dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJicmF2ZS1yZXZlcnNlIixpY29uOls0NDgsNTEyLFtdLCJlNjNkIiwiTTI5OC41IDBjMyAwIDUuOCAxLjMgNy44IDMuNmwzOC4xIDQ0Yy41LS4xIDEtLjIgMS41LS4zIDkuMi0xLjYgMTguNi0yLjIgMjcuNy0xLjIgMTEuNiAxLjQgMjEuNSA1LjQgMjguOSAxMi45IDcuNyA3LjggMTUuNCAxNS44IDIyLjYgMjMuNiAyLjUgMi43IDQuOSA1LjIgNi45IDcuNCAuNyAuOCAxLjQgMS41IDEuOSAyIDMuNCAzLjcgNC4yIDguMSAyLjcgMTEuOWwtOS44IDI0LjYgMTMuMSAzOC4xYy43IDIgLjggNC4xIC4yIDYuMi0uMSAuNC0uMSAuNC0uNSAyLjFsLTEuNSA1LjhjLTEuNiA2LjMtMy41IDEzLjMtNS40IDIwLjktNS42IDIxLjYtMTEuMiA0My4yLTE2LjQgNjMuNC0xMi45IDQ5LjktMjEuNCA4Mi43LTIzLjQgOTAuOS0xMS4xIDQ0LjUtMTkuOSA2MC00OC4zIDgwLjMtMjQuOSAxNy44LTc2LjggNTMuNi04Ni44IDYwLTEgLjYtMiAxLjMtMy40IDIuMy0uNSAuNC0zLjIgMi4yLTMuOSAyLjctNC45IDMuMy04LjMgNS41LTEyLjEgNy4zLTQuNyAyLjItOS4zIDMuNS0xMy45IDMuNXMtOS4xLTEuMi0xMy45LTMuNWMtMy43LTEuOC03LjItMy45LTEyLjEtNy4zLS44LS41LTMuNC0yLjQtMy45LTIuNy0xLjQtMS0yLjUtMS43LTMuNC0yLjMtMTAtNi40LTYxLjktNDIuMS04Ni44LTYwLTI4LjQtMjAuNC0zNy4yLTM1LjgtNDguMy04MC4zLTItOC4yLTEwLjUtNDEtMjMuMy05MC41LTUuMy0yMC42LTEwLjktNDIuMi0xNi41LTYzLjgtMi03LjYtMy44LTE0LjYtNS40LTIwLjlsLTEuNS01LjgtLjUtMi4xYy0uNS0yLS40LTQuMiAuMi02LjJsMTMuMS0zOC4xLTkuOS0yNC41Yy0xLjUtMy44LS43LTguMiAyLTExLjIgMS4yLTEuMyAxLjgtMiAyLjYtMi44IDItMi4yIDQuNC00LjcgNi45LTcuNCA3LjMtNy43IDE1LTE1LjcgMjIuNy0yMy41IDcuNC03LjUgMTcuMy0xMS42IDI4LjktMTIuOSA5LjEtMS4xIDE4LjUtLjUgMjcuNyAxLjIgLjUgLjEgMSAuMiAxLjUgLjNsMzguMS00NGMyLTIuNCA0LjgtMy43IDcuOC0zLjdsMTQ4IDB6bS00LjcgMjEuMWwtMTM4LjYgMC0zOS4xIDQ1LjFjLTIuNiAzLTYuNyA0LjMtMTAuNiAzLjItLjItLjEtLjctLjItMS41LS40LTEuMy0uMy0yLjktLjYtNC41LS45LTcuNC0xLjMtMTQuOS0xLjgtMjEuNy0xLTcuMyAuOS0xMyAzLjItMTYuNiA2LjktNy42IDcuNy0xNS4yIDE1LjYtMjIuMyAyMy4zLTEuNyAxLjgtMy4zIDMuNS00LjggNS4xbDguOCAyMmMxIDIuNCAxIDUgLjIgNy41TDI5LjcgMTcwLjZjLjQgMS40IC41IDEuOSAxLjIgNC44IDEuNiA2LjMgMy41IDEzLjMgNS40IDIwLjkgNS42IDIxLjYgMTEuMiA0My4yIDE2LjQgNjMuNCAxMi45IDUwIDIxLjQgODIuOCAyMy40IDkxIDEwLjEgNDAuMSAxNi40IDUxLjMgNDAuMiA2OC4zIDI0LjYgMTcuNiA3Ni4zIDUzLjIgODUuOSA1OS4zIDEuMiAuOCAyLjUgMS42IDQgMi43IC42IC40IDMuMiAyLjIgMy45IDIuNyA0IDIuOCA2LjcgNC40IDkuMiA1LjYgMi4yIDEgMy45IDEuNSA1LjEgMS41czIuOS0uNSA1LjEtMS41YzIuNS0xLjIgNS4yLTIuOCA5LjItNS42IC43LS41IDMuMy0yLjMgMy45LTIuNyAxLjYtMS4xIDIuOC0xLjkgNC0yLjcgOS42LTYuMSA2MS4zLTQxLjcgODUuOS01OS4zIDIzLjgtMTcuMSAzMC4yLTI4LjIgNDAuMS02OC4zIDIuMS04LjMgMTAuNS00MS4xIDIzLjMtOTAuNyA1LjMtMjAuNiAxMC45LTQyLjIgMTYuNS02My44IDItNy42IDMuOC0xNC42IDUuNC0yMC45IC43LTIuOSAuOS0zLjQgMS4yLTQuOGwtMTMuMy0zOC44Yy0uOC0yLjQtLjgtNS4xIC4yLTcuNWw4LjgtMjJjLTEuNS0xLjYtMy4xLTMuMy00LjgtNS4xLTcuMi03LjYtMTQuNy0xNS41LTIyLjMtMjMuMy0zLjctMy43LTkuMy02LTE2LjYtNi45LTYuOC0uOC0xNC40LS4zLTIxLjcgMS0xLjcgLjMtMy4yIC42LTQuNSAuOS0uOCAuMi0xLjMgLjMtMS41IC40LTMuOCAxLjEtNy45LS4yLTEwLjYtMy4yTDI5My44IDIxLjF6TTIyNC41IDMxNmMyLjggMCAyMC45IDYuNSAzNS40IDE0LjFzMjUgMTMgMjguMyAxNS4yIDEuMyA2LjItMS43IDguNC00NC4xIDM0LjYtNDguMSAzOC4yLTkuOCA5LjUtMTMuOCA5LjUtOS44LTUuOS0xMy44LTkuNS00NS4xLTM2LTQ4LjEtMzguMi01LjEtNi4yLTEuNy04LjQgMTMuOS03LjUgMjguMy0xNS4yIDMyLjUtMTQuMSAzNS40LTE0LjFsLS4yIDB6bS4xLTIzMC43Yy43IDAgOC44IC4yIDIwLjUgNC4yIDEyLjMgNC4yIDI1LjcgOS40IDMxLjkgOS40czUxLjktOC45IDUxLjktOC45IDU0LjIgNjYuNyA1NC4yIDgxLTYuOCAxOC0xMy43IDI1LjQtMzYuOCAzOS44LTQwLjcgNDMuOS0xMS45IDEwLjUtNy4xIDIxLjggMTEuNyAyNS44IDMuOSA0MC40LTIxIDI0LjQtMjkuNCAyMi44LTI4LjQtMTIuMi0zNS43LTE3LjEtMzAuNS0yNC4zLTMwLjUtMzEuOCAyNC0yMC44IDI4LjQtMjMuOSAyNC43LTE0LjggMjUuMS0xOS40IC4zLTYtNS43LTE3LjQtMTYuNy0yNi43LTE0LjktMzYuOCAxOS4xLTE1LjQgMzEuNS0yMC4yIDM2LjItMTMuNyAzOS4yLTE1LjEgMi4yLTIuNy02LjgtMy42LTM0LjYtNC4zLTQ2LjEtMS4xLTMxLjIgOC4yLTMyLjggMTAuOS0zIDIuNy0xLjQgMTEuOCAxMC4xIDUyLjggMTAuOSA2MC42IDIuNCAxMi45LTUuOCAxNC44LTIyLjEgNS4yLTI2LjggNS4yLTE4LjYtMy4zLTI2LjgtNS4yLTYuNi03LTUuOC0xNC44IDkuMy01MS41IDEwLjktNjAuNiAuMi05LjItMS40LTExLjgtMjEuMy03LjYtMzIuOC0xMC45LTM3LjEgLjItNDYuMSAxLjEtOS44IDIuMi02LjggMy42IDI2LjggMTAuNCAzOS4yIDE1LjEgMjkuNyAxMCAzMS41IDIwLjItOSAyNS40LTE0LjkgMzYuOC02LjEgMTIuOC01LjcgMTcuNCAyMC42IDE2LjQgMjUuMSAxOS40IDI4LjQgMTYuNCAyOC40IDIzLjktMjMuMiAyNy0zMC41IDMxLjgtMjcuMiAxNS40LTM1LjcgMTcuMS0yMS43LTguMi0yOS40LTIyLjgtLjgtMjkuMSAzLjktNDAuNC0zLjMtMTcuNy03LjEtMjEuOC0zMy44LTM2LjUtNDAuNy00My45LTEzLjctMTEuMi0xMy43LTI1LjQgNTQuMi04MSA1NC4yLTgxIDQ1LjggOC45IDUxLjkgOC45IDE5LjUtNS4yIDMxLjktOS40IDIwLjYtNC4yIDIwLjYtNC4ybC0uMyAweiJdfSxGdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXZpYW5leCIsaWNvbjpbNTEyLDUxMixbXSwiZjM3NCIsIk00NTMuMiAzMmwtMzEyIDBDMTAyLjMgMzIgNjUgNjMuMiA1Ny45IDEwMS43TDEuMyA0MTAuM0MtNS44IDQ0OC44IDIwIDQ4MCA1OSA0ODBsMzEyIDBjMzguOSAwIDc2LjItMzEuMiA4My4zLTY5LjdMNTExIDEwMS44QzUxOCA2My4yIDQ5Mi4yIDMyIDQ1My4yIDMyek0zOTUgMzc5LjNsLTMyIDEzLjUtMTE1LjQtMTEwYy0xNC43IDEwLTI5LjIgMTkuNS00MS43IDI3LjFsMjIuMSA2NC4yLTE3LjkgMTIuNy00MC42LTYxLTUyLjQtNDguMSAxNS43LTE1LjQgNTggMzEuMWM5LjMtMTAuNSAyMC44LTIyLjYgMzIuOC0zNC45bC0yMC41LTI5LjYtNjguOC05OS44IDE4LjgtMjguOSA4LjktNC44IDEwMy4xIDExMi40IDQuOSA0LjVjMTkuNC0xOC44IDMzLjgtMzIuNCAzMy44LTMyLjQgNy43LTYuNSAyMS41LTIuOSAzMC43IDcuOSA5IDEwLjUgMTAuNiAyNC43IDIuNyAzMS4zLTEuOCAxLjMtMTUuNSAxMS40LTM1LjMgMjUuNmw0LjUgNy4zIDk0LjkgMTE5LjQtNi4zIDcuOXoiXX0sQnZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5zOCIsaWNvbjpbNjQwLDUxMixbXSwiZjNkNSIsIk0xMDQuMyAyNjkuMmwyNi4xIDAgMC0yNi4yLTI2LjEgMCAwIDI2LjJ6TTE1Ni44IDI0M2wtLjEtMjYuMiAwLS45Yy0uMi0xMC40LTQuNC0yMC4zLTExLjktMjcuNnMtMTcuNS0xMS4zLTI3LjktMTEuMS0yMC4zIDQuNC0yNy42IDExLjgtMTEuMyAxNy41LTExLjIgMjcuOWwwIC4yIDI2LjQgMCAwLS4yYy4xLTMuNCAxLjUtNi42IDMuOS05czUuNy0zLjcgOS4xLTMuNyA2LjcgMS4zIDkuMSAzLjcgMy44IDUuNiAzLjkgOWwwIDI2LjIgMjYuMyAwem01Mi40IDI1LjhjMCAxMi0yLjQgMjMuOC02LjkgMzQuOXMtMTEuMyAyMS4xLTE5LjcgMjkuNi0xOC41IDE1LjItMjkuNiAxOS43LTIyLjkgNi45LTM0LjkgNi45bC0uNiAwYy0yNC4yIDAtNDcuMy05LjYtNjQuNC0yNi43UzI2LjMgMjkzIDI2LjMgMjY4LjhsLTI2LjMgMCAwIC4yYzAgMTUuNCAzLjEgMzAuNyA5IDQ0LjlzMTQuNiAyNy4yIDI1LjUgMzguMSAyMy45IDE5LjUgMzguMSAyNS40IDI5LjUgOC45IDQ0LjkgOC45bC44IDBjMTUuNCAwIDMwLjctMyA0NC45LTlzMjcuMi0xNC42IDM4LjEtMjUuNSAxOS41LTIzLjggMjUuNC0zOC4xIDguOS0yOS41IDguOS00NC45bDAtMjYtMjYuMyAwIDAgMjZ6bS0xNTcuMiAwYy4xIDE3LjMgNyAzMy45IDE5LjIgNDYuMXMyOC44IDE5LjEgNDYuMSAxOS4xIDMzLjktNi45IDQ2LjEtMTkuMSAxOS4yLTI4LjggMTkuMi00Ni4xbC0yNi4zIDBjLS4yIDEwLjItNC40IDIwLTExLjcgMjcuMnMtMTcuMSAxMS4yLTI3LjQgMTEuMi0yMC4xLTQtMjcuNC0xMS4yLTExLjUtMTYuOS0xMS43LTI3LjJsMC0yNi0yNi4zIDAgMC0yNi42Yy4zLTE3LjMgNy40LTMzLjggMTkuNy00NS44czI5LTE4LjggNDYuMy0xOC42IDMzLjggNy4yIDQ1LjkgMTkuNSAxOC45IDI4LjkgMTguOSA0Ni4ybDAgMjUuMyAyNi4zIDAgMC0yNS4zYzAtMjQuMy05LjctNDcuNy0yNi45LTY0LjlzLTQwLjUtMjYuOS02NC45LTI2LjktNDcuNyA5LjctNjQuOSAyNi45LTI2LjkgNDAuNS0yNi45IDY0LjlsMCAyNS40IDI2LjMgMCAwIDI2em00MTguNC03MS4yYzEzLjcgMCAyNC42IDYuNiAzMC4xIDE4LjNsLjcgMS41IDIzLjItMTEuNS0uNi0xLjRjLTgtMTkuMy0yOC41LTMxLjMtNTMuNC0zMS4zLTIzLjEgMC00My42IDExLjQtNTEgMjguNC0uMSAyNi45LS4yIDIzLjkgMCAyNC44IDQuNyAxMSAxNC42IDE5LjQgMjguNyAyNC4yIDYuNSAyIDEzLjEgMy4zIDE5LjggNCA1LjUgLjcgMTAuNiAxLjQgMTUuOCAzLjEgNi40IDIuMSAxMC41IDUuMyAxMi44IDkuOGwwIDkuOWMtMy43IDcuNS0xMy44IDEyLjMtMjUuOCAxMi4zLTE0LjMgMC0yNi02LjktMzEuOS0xOWwtLjctMS41LTIzIDExLjUgLjYgMS40YzcuOSAxOS40IDI5LjYgMzIgNTUuMyAzMiAyMy42IDAgNDQuNi0xMS40IDUyLjMtMjguNGwuMi0yNS45LS4yLS43Yy00LjktMTEtMTUuMi0xOS42LTI4LjktMjQuMi03LjctMi43LTE0LjMtMy42LTIwLjctNC40LTUtLjUtMTAtMS41LTE0LjgtMi45LTYuMy0xLjktMTAuNC01LjEtMTIuNi05LjZsMC04LjRjMy40LTcuNCAxMi45LTEyLjEgMjQuMi0xMi4xbDAgMHpNMjg3LjYgMzExLjNsMjYuMSAwIDAtNjguNC0yNi4xIDAgMCA2OC40ek02MzkuOCAyNThjLTIuOS02LjMtOC4zLTEyLTE1LjQtMTYuNyA1LjYtMy44IDEwLjEtOS4xIDEzLTE1LjNsLjItMjUuMy0uMi0uN2MtNy40LTE2LTI2LjctMjYuNy00OC4yLTI2LjdTNTQ4LjUgMTg0IDU0MS4xIDIwMGwtLjIgMjUuMyAuMiAuN2MyLjkgNi4xIDcuNCAxMS40IDEzIDE1LjMtNy4yIDQuNy0xMi41IDEwLjUtMTUuNCAxNi43bC0uMiAyOC45IC4yIC43YzcuNiAxNiAyNy45IDI2LjcgNTAuNiAyNi43czQzLjEtMTAuNyA1MC42LTI2LjdsLjItMjguOS0uMi0uN3ptLTczLjItNTAuOGMzLjYtNi4zIDEyLjYtMTAuNSAyMi42LTEwLjVzMTkgNC4yIDIyLjYgMTAuNWwwIDEzLjdjLTMuNSA2LjItMTIuNiAxMC4zLTIyLjYgMTAuM3MtMTkuMS00LjItMjIuNi0xMC4zbDAtMTMuN3ptNDcuMyA3Mi4yYy0zLjggNi42LTEzLjMgMTAuOS0yNC43IDEwLjktMTEuMSAwLTIxLTQuNC0yNC43LTEwLjlsMC0xNi4yYzMuNy02LjMgMTMuNS0xMC41IDI0LjctMTAuNSAxMS4zIDAgMjAuOSA0LjEgMjQuNyAxMC41bDAgMTYuMnpNMzc2LjQgMjY2bC01OS44LTg5LjctMjkgMCAwIDQwLjYgMjYuNSAwIDAgLjQgNjIuNSA5NC4xIDI1LjcgMCAwLTEzNS4xLTI1LjkgMCAwIDg5Ljd6Il19LE51ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtcGludGVyZXN0IixpY29uOls0NDgsNTEyLFsicGludGVyZXN0LXNxdWFyZSJdLCJmMGQzIiwiTTM4NCAzMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDcyLjYgMC0yLjItLjhjLTUuNC00OC4xLTMuMS01Ny41IDE1LjctMTM0LjcgMy45LTE2IDguNS0zNSAxMy45LTU3LjkgMCAwLTcuMy0xNC44LTcuMy0zNi41IDAtNzAuNyA3NS41LTc4IDc1LjUtMjUgMCAxMy41LTUuNCAzMS4xLTExLjIgNDkuOC0zLjMgMTAuNi02LjYgMjEuNS05LjEgMzItNS43IDI0LjUgMTIuMyA0NC40IDM2LjQgNDQuNCA0My43IDAgNzcuMi00NiA3Ny4yLTExMi40IDAtNTguOC00Mi4zLTk5LjktMTAyLjYtOTkuOS02OS45IDAtMTEwLjkgNTIuNC0xMTAuOSAxMDYuNiAwIDIxLjEgOC4yIDQzLjcgMTguMyA1NiAyIDIuNCAyLjMgNC41IDEuNyA3LTEuMSA0LjctMy4xIDEyLjktNC43IDE5LjItMSA0LTEuOCA3LjMtMi4xIDguNi0xLjEgNC41LTMuNSA1LjUtOC4yIDMuMy0zMC42LTE0LjMtNDkuOC01OS4xLTQ5LjgtOTUuMSAwLTc3LjUgNTYuMi0xNDguNiAxNjIuMi0xNDguNiA4NS4yIDAgMTUxLjQgNjAuNyAxNTEuNCAxNDEuOCAwIDg0LjYtNTMuMyAxNTIuNy0xMjcuNCAxNTIuNy0yNC45IDAtNDguMy0xMi45LTU2LjMtMjguMiAwIDAtMTIuMyA0Ni45LTE1LjMgNTguNC01IDE5LjMtMTcuNiA0Mi45LTI3LjQgNTkuM0wzODQgNDgwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0eiJdfSxIdnQ9TnVlLHF2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJibHVldG9vdGgtYiIsaWNvbjpbMjU2LDUxMixbXSwiZjI5NCIsIk0xNjQuOSAyNjBMMjU3LjUgMTU2LjcgMTExLjYgMCAxMTEuNiAyMDYuMyAyNS40IDEyMC4yLTYgMTUxLjYgMTAyLjEgMjYwLTYgMzY4LjQgMjUuNCAzOTkuOCAxMTEuNiAzMTMuNyAxMTQuMyA1MTIgMjYyLjggMzYzLjQgMTY0LjkgMjYwem00MC45LTEwM2wtNTAgNTAtLjMtMTAwLjMgNTAuMyA1MC4zem0tNTAgMTU2bDUwIDUwLTUwLjMgNTAuMyAuMy0xMDAuM3oiXX0sVnZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdyaXBmaXJlIixpY29uOlszMjAsNTEyLFtdLCJmM2FjIiwiTTgwLjUgMzAxLjRjMC03My44IDEwNS4xLTEyMi41IDEwNS4xLTIwMyAwLTQ3LjEtMzQtODgtMzkuMS05MC40IC40IDMuMyAuNiA2LjcgLjYgMTAgMCA5Mi4xLTE0Ny4xIDE1My45LTE0Ny4xIDI2OC42IDAgNDkuOCAzMi4yIDc5LjIgNjYuNSAxMDguMyA2NS4xIDQ2LjcgNzguMSA3MS40IDc4LjEgODYuNiAwIDEwLjEtNC44IDE3LTQuOCAyMi4zIDEzLjEtMTYuNyAxNy40LTMxLjkgMTcuNS00Ni40IDAtMjkuNi0yMS43LTU2LjMtNDQuMi04Ni41LTE2LTIyLjMtMzIuNi00Mi42LTMyLjYtNjkuNXptMjA1LjMtMzljLTEyLjEtNjYuOC03OC0xMjQuNC05NC43LTEzMC45bDQgNy4yYzIuNCA1LjEgMy40IDEwLjkgMy40IDE3LjEgMCA0NC43LTU0LjIgMTExLjItNTYuNiAxMTYuNy0yLjIgNS4xLTMuMiAxMC41LTMuMiAxNS44IDAgMjAuMSAxNS4yIDQyLjEgMTcuOSA0Mi4xIDIuNCAwIDU2LjYtNTUuNCA1OC4xLTg3LjcgNi40IDExLjcgOS4xIDIyLjYgOS4xIDMzLjQgMCA0MS4yLTQxLjggOTYuOS00MS44IDk2LjkgMCAxMS42IDMxLjkgNTMuMiAzNS41IDUzLjIgMSAwIDIuMi0xLjQgMy4yLTIuNCAzNy45LTM5LjMgNjcuMy04NSA2Ny4zLTEzNi44IDAtOC0uNy0xNi4yLTIuMi0yNC42eiJdfSxSdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWdvb2dsZS1wbHVzIixpY29uOls0NDgsNTEyLFsiZ29vZ2xlLXBsdXMtc3F1YXJlIl0sImYwZDQiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTY0IDI1NmMwLTU1LjMgNDQuNy0xMDAgMTAwLTEwMCAyNyAwIDQ5LjUgOS44IDY3IDI2LjJsLTI3LjEgMjYuMWMtNy40LTcuMS0yMC4zLTE1LjQtMzkuOC0xNS40LTM0LjEgMC02MS45IDI4LjItNjEuOSA2My4yIDAgMzQuOSAyNy44IDYzLjIgNjEuOSA2My4yIDM5LjYgMCA1NC40LTI4LjUgNTYuOC00My4xbC01Ni45IDAgMC0zNC40IDk0LjQgMGMxIDUgMS42IDEwLjEgMS42IDE2LjYgMCA1Ny4xLTM4LjMgOTcuNi05NiA5Ny42LTU1LjMgMC0xMDAtNDQuNy0xMDAtMTAwem0yOTEgMTguMmwwIDI5LTI5LjIgMCAwLTI5LTI5IDAgMC0yOS4yIDI5IDAgMC0yOSAyOS4yIDAgMCAyOSAyOSAwIDAgMjkuMi0yOSAweiJdfSxqdnQ9UnVlLFV2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnaXRlZSIsaWNvbjpbNTEyLDUxMixbXSwiZTg2MyIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDEgMC01MTIgMjU2IDI1NiAwIDEgMSAwIDUxMnpNMzg1LjYgMTEzLjhsMCAwLTE3NyAwYy01Mi40IDAtOTQuOCA0Mi40LTk0LjggOTQuOGwwIDE3N2MwIDcgNS43IDEyLjYgMTIuNiAxMi42bDE4Ni41IDBjNDcuMSAwIDg1LjMtMzguMiA4NS4zLTg1LjNsMC03Mi43YzAtNy01LjctMTIuNi0xMi42LTEyLjZsLTE0NS40IDBjLTcgMC0xMi42IDUuNy0xMi42IDEyLjZsMCAzMS42YzAgNi42IDUuMSAxMi4xIDExLjYgMTIuNmwxIDAgODguNSAwYzYuNiAwIDEyLjEgNS4xIDEyLjYgMTEuNmwwIDEgMCA2LjNjMCAyMC45LTE3IDM3LjktMzcuOSAzNy45bC0xMjAuMSAwYy03IDAtMTIuNi01LjctMTIuNi0xMi42bDAtMTIwLjFjMC0yMC40IDE2LjEtMzcuMSAzNi40LTM3LjlsMS42IDAgMTc3IDBjNyAwIDEyLjYtNS43IDEyLjYtMTIuNmwwLTMxLjZjMC03LTUuNi0xMi42LTEyLjYtMTIuNnoiXX0sV3Z0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InhtcHAiLGljb246WzU3Niw1MTIsW10sImU4NjQiLCJNMCA0Ny4yYzMuNSAxMzcuMSAxMTcuMSAyNzguNiAyNTIuOSAzNTYuNy0zMS41IDI1LTY3LjIgNDQuMS0xMDYuMiA1My45bDAgNS40YzU2LjQtMi4zIDk4LjEtMjAuMSAxNDEuMy00MC43IDY1LjcgMzQuNiAxMjIuMiAzOS45IDE0MS40IDQwLjdsMC01LjRjLTM5LTkuOC03NC43LTI4LjgtMTA2LjItNTMuOCAxMzUuNy03OC4yIDI0OS4zLTIxOS44IDI1Mi44LTM1Ni44LTU4LjQgMjUuNy0xMTkuMSA0NC4yLTE4MC4xIDYyLjNsMCAwYzMuNCA1OS0yMC4yIDE3MC40LTEwNy45IDI2Mi4zLTg4LjQtOTIuMy0xMTEuMi0yMDQuMS0xMDcuOC0yNjIuM2wwIDBDMTE3LjcgOTIuNiA1OS4zIDcwLjIgMCA0Ny4yek05My45IDk3bDczLjYgMjEuOEMxNjUuNCAyMTYgMjI2LjggMzU4IDM0MS4zIDQzMi4yIDE5MC41IDM3Ni45IDg5LjkgMjE1LjcgOTMuOSA5N3ptMzg4LjMgMGMzLjMgOTktNjUuNiAyMjQuNy0xNzEuNyAyOTYuNC00LjctNC4xLTkuMy04LjQtMTMuOC0xMi43IDc3LTgwLjIgMTEzLjItMTg2LjMgMTExLjktMjYxLjlMNDgyLjEgOTd6TTI2NC41IDQxMC41YzMgMS42IDUuOSAzLjIgOC45IDQuNy0xMi41IDYuNC0yNS40IDEyLjEtMzguNiAxNyAxMC4zLTYuNyAyMC4yLTEzLjkgMjkuNy0yMS43eiJdfSxHdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXBwLXN0b3JlIixpY29uOls1MTIsNTEyLFtdLCJmMzZmIiwiTTI1NS45IDEyMC45bDkuMS0xNS43YzUuNi05LjggMTguMS0xMy4xIDI3LjktNy41czEzLjEgMTguMSA3LjUgMjcuOWwtODcuNSAxNTEuNSA2My4zIDBjMjAuNSAwIDMyIDI0LjEgMjMuMSA0MC44bC0xODUuNSAwYy0xMS4zIDAtMjAuNC05LjEtMjAuNC0yMC40czkuMS0yMC40IDIwLjQtMjAuNGw1MiAwIDY2LjYtMTE1LjQtMjAuOC0zNi4xYy01LjYtOS44LTIuMy0yMi4yIDcuNS0yNy45IDkuOC01LjYgMjIuMi0yLjMgMjcuOSA3LjVsOC45IDE1Ljd6bS03OC43IDIxOGwtMTkuNiAzNGMtNS42IDkuOC0xOC4xIDEzLjEtMjcuOSA3LjVzLTEzLjEtMTguMS03LjUtMjcuOWwxNC42LTI1LjJjMTYuNC01LjEgMjkuOC0xLjIgNDAuNCAxMS42em0xNjguOS02MS43bDUzLjEgMGMxMS4zIDAgMjAuNCA5LjEgMjAuNCAyMC40UzQxMC41IDMxOCAzOTkuMiAzMThsLTI5LjUgMCAxOS45IDM0LjVjNS42IDkuOCAyLjMgMjIuMi03LjUgMjcuOS05LjggNS42LTIyLjIgMi4zLTI3LjktNy41LTMzLjUtNTguMS01OC43LTEwMS42LTc1LjQtMTMwLjYtMTcuMS0yOS41LTQuOS01OS4xIDcuMi02OS4xIDEzLjQgMjMgMzMuNCA1Ny43IDYwLjEgMTA0ek0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTQwIDI1NmEyMTYgMjE2IDAgMSAxIDQzMiAwIDIxNiAyMTYgMCAxIDEgLTQzMiAweiJdfSxZdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2l4IixpY29uOls2NDAsNTEyLFtdLCJmNWNmIiwiTTM5My40IDEzMS43YzAgMTMgMi4xIDMyLjctMjguNyA0My44LTkuNSAzLjQtMTYgOS43LTE2IDkuNyAwLTMxIDQuNy00Mi4yIDE3LjQtNDguOSA5LjgtNS4xIDI3LjItNC42IDI3LjItNC42ek0yNzcuNiAxNjcuMmwtMzQuMiAxMzIuNy0yOC41LTEwOC42Yy03LjctMzItMjAuOC00OC41LTQ4LjQtNDguNS0yNy40IDAtNDAuNyAxNi4yLTQ4LjQgNDguNUw4OS41IDI5OS45IDU1LjMgMTY3LjJDNDkuNyAxNDAuNSAyMy45IDEyOSAwIDEzMkw2NS42IDM3OS45czIxLjYgMS42IDMyLjUtNGMxNC4yLTcuMiAyMS0xMi44IDI5LjYtNDYuNiA3LjctMzAuMSAyOS4xLTExOC40IDMxLjEtMTI0LjcgNC44LTE0LjkgMTEuMS0xMy44IDE1LjQgMCAyIDYuMyAyMy41IDk0LjYgMzEuMSAxMjQuNyA4LjYgMzMuNyAxNS40IDM5LjMgMjkuNiA0Ni42IDEwLjggNS41IDMyLjUgNCAzMi41IDRMMzMyLjkgMTMyYy0yNC40LTMuMS00OS44IDguOS01NS4zIDM1LjN6bTExNS44IDUuMnMtNC4xIDYuMy0xMy41IDExLjZjLTYgMy40LTExLjggNS42LTE4IDguNi0xNS4xIDcuMy0xMy4yIDEzLjktMTMuMiAzNS4ybDAgMTUyLjFzMTYuNiAyLjEgMjcuNC0zLjRjMTMuOS03LjEgMTcuMS0xNCAxNy4zLTQ0LjhsMC0xNTAuMyAwIDAgMC05em0xNjMuNCA4NC4xTDY0MCAxMzIuOHMtMzUuMS02LTUyLjUgOS44Yy0xMy4zIDEyLjEtMjQuNCAyOS42LTU0LjIgNzIuNS0uNSAuNy02LjMgMTAuNS0xMy4xIDAtMjkuMy00Mi4yLTQwLjgtNjAuMy01NC4yLTcyLjUtMTcuNC0xNS44LTUyLjUtOS44LTUyLjUtOS44bDgzLjIgMTIzLjctODMgMTIzLjRzMzYuNiA0LjYgNTQtMTEuMmMxMS41LTEwLjUgMTcuNi0yMC40IDUyLjUtNzAuNyA2LjgtMTAuNSAxMi42LS44IDEzLjEgMCAyOS40IDQyLjQgMzkuMiA1OC4xIDUzLjEgNzAuNyAxNy40IDE1LjggNTMuMyAxMS4yIDUzLjMgMTEuMmwtODMtMTIzLjR6Il19LEt2dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJpbnRlcmNvbSIsaWNvbjpbNDQ4LDUxMixbXSwiZjdhZiIsIk0zOTIgMzJMNTYgMzJDMjUuMSAzMiAwIDU3LjEgMCA4OEwwIDQyNGMwIDMwLjkgMjUuMSA1NiA1NiA1NmwzMzYgMGMzMC45IDAgNTYtMjUuMSA1Ni01NmwwLTMzNmMwLTMwLjktMjUuMS01Ni01Ni01NnpNMjgzLjcgMTE0LjFjMC0xOS44IDI5LjktMTkuOCAyOS45IDBsMCAxOTkuNWMwIDE5LjgtMjkuOSAxOS44LTI5LjkgMGwwLTE5OS41em0tNzQuNi03LjVjMC0xOS44IDI5LjktMTkuOCAyOS45IDBsMCAyMTYuNWMwIDE5LjgtMjkuOSAxOS44LTI5LjkgMGwwLTIxNi41em0tNzQuNyA3LjVjMC0xOS44IDI5LjktMTkuOCAyOS45IDBsMCAxOTkuNWMwIDE5LjgtMjkuOSAxOS44LTI5LjkgMGwwLTE5OS41ek01OS43IDE0NGMwLTE5LjggMjkuOS0xOS44IDI5LjkgMGwwIDEzNC4zYzAgMTkuOC0yOS45IDE5LjgtMjkuOSAwbDAtMTM0LjN6TTM4My4xIDM3MS44Yy03Mi44IDYzLTI0MS43IDY1LjQtMzE4LjEgMC0xNS0xMi44IDQuNC0zNS41IDE5LjQtMjIuNyA2NS45IDU1LjMgMjE2LjEgNTMuOSAyNzkuMyAwIDE0LjktMTIuOSAzNC4zIDkuOCAxOS40IDIyLjd6bTUuMi05My41YzAgMTkuOC0yOS45IDE5LjgtMjkuOSAwbDAtMTM0LjNjMC0xOS44IDI5LjktMTkuOCAyOS45IDBsMCAxMzQuM3oiXX0sWnZ0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlYWN0ZXVyb3BlIixpY29uOls1NzYsNTEyLFtdLCJmNzVkIiwiTTI1MC43IDIxMS43bDUuOC00LjEgNS44IDQuMS0yLjEtNi44IDUuNy00LjMtNy4xLS4xLTIuMy02LjgtMi4zIDYuOC03LjIgLjEgNS43IDQuMy0yIDYuOHptNjMuNyAwbDUuOC00LjEgNS44IDQuMS0yLjEtNi44IDUuNy00LjMtNy4yLS4xLTIuMy02LjgtMi4zIDYuOC03LjIgLjEgNS43IDQuMy0xLjkgNi44em0tOTEuMyA1MC41bC0zLjQgMGMtNC44IDAtMy44IDQtMy44IDEyLjEgMCA0LjctMi4zIDYuMS01LjggNi4xcy01LjgtMS40LTUuOC02LjFsMC0zNi42YzAtNC43IDIuMy02LjEgNS44LTYuMXM1LjggMS40IDUuOCA2LjFjMCA3LjItLjcgMTAuNSAzLjggMTAuNWwzLjQgMGM0LjctLjEgMy44LTMuOSAzLjgtMTIuMyAwLTkuOS02LjctMTQuMS0xNi44LTE0LjFsLS4yIDBjLTEwLjEgMC0xNi44IDQuMi0xNi44IDE0LjFsMCA0MC4xYzAgMTAuNCA2LjcgMTQuMSAxNi44IDE0LjFsLjIgMGMxMC4xIDAgMTYuOC0zLjggMTYuOC0xNC4xIDAtOS45IDEuMS0xMy44LTMuOC0xMy44em0tODAuNyAxNy40bC0xNC43IDAgMC0xOS4zIDExLjQgMGMyLjUgMCAzLjgtMS4zIDMuOC0zLjhsMC0yLjFjMC0yLjUtMS4zLTMuOC0zLjgtMy44bC0xMS40IDAgMC0xOC4zIDE0LjQgMGMyLjUgMCAzLjgtMS4zIDMuOC0zLjhsMC0yLjFjMC0yLjUtMS4zLTMuOC0zLjgtMy44bC0yMS43IDBjLTIuNC0uMS0zLjcgMS4zLTMuNyAzLjhsMCA1OS4xYzAgMi41IDEuMyAzLjggMy44IDMuOGwyMS45IDBjMi41IDAgMy44LTEuMyAzLjgtMy44bDAtMi4xYzAtMi41LTEuMy0zLjgtMy44LTMuOHptLTQyLTE4LjVjNC42LTIgNy4zLTYgNy4zLTEyLjRsMC0xMS45YzAtMTAuMS02LjctMTQuMS0xNi44LTE0LjFsLTEzLjQgMGMtMi41IDAtMy44IDEuMy0zLjggMy44bDAgNTkuMWMwIDIuNSAxLjMgMy44IDMuOCAzLjhsMy40IDBjMi41IDAgMy44LTEuMyAzLjgtMy44bDAtMjIuOSA1LjYgMCA3LjQgMjMuNWMuMiAxIC44IDEuOCAxLjYgMi40czEuOCAuOSAyLjcgLjhsMy4zIDBjMi44IDAgNC0xLjggMy4yLTQuNGwtOC4xLTIzLjl6bS0zLjgtMTRjMCA0LjgtMi41IDYuMS02LjEgNi4xbC01LjggMCAwLTIwLjkgNS44IDBjMy42IDAgNi4xIDEuMyA2LjEgNi4xbDAgOC43ek0xNzYuMSAyMjZjLS4xLS41LS4yLTEtLjQtMS40cy0uNi0uOC0xLTEuMS0uOC0uNi0xLjMtLjctMS0uMi0xLjUtLjFsLTYuOSAwYy0uNSAwLTEgMC0xLjQgLjJzLS45IC40LTEuMyAuNy0uNyAuNy0uOSAxLjEtLjQgLjktLjQgMS40bC0xMSA1OS4yYy0uNSAyLjcgLjkgNC4xIDMuNCA0LjFsMyAwYy41IC4xIDEgMCAxLjUtLjJzLjktLjQgMS4zLS43IC43LS43IC45LTEuMiAuNC0uOSAuNC0xLjRsMS44LTExLjMgMTIuMiAwIDEuOCAxMS4zYzAgLjUgLjIgMSAuNCAxLjRzLjUgLjkgLjkgMS4yIC44IC42IDEuMyAuNyAxIC4yIDEuNSAuMmwzLjUgMGMyLjYgMCAzLjktMS40IDMuNC00LjFMMTc2LjEgMjI2em0tMTIuMyAzOS4zbDQuNy0yOS43IDQuNyAyOS43LTkuNCAwem04OS4zIDIwLjJsMC01My4yIDcuNSAwYzIuNSAwIDMuOC0xLjMgMy44LTMuOGwwLTIuMWMwLTIuNS0xLjMtMy44LTMuOC0zLjhsLTI1LjggMGMtMi41IDAtMy44IDEuMy0zLjggMy44bDAgMi4xYzAgMi41IDEuMyAzLjggMy44IDMuOGw3LjMgMCAwIDUzLjJjMCAyLjUgMS4zIDMuOCAzLjggMy44bDMuNCAwYzIuNSAwIDMuOC0xLjMgMy44LTMuOGwwIDB6bTI0OC0uOGwtMTkuNCAwIDAtMjYuNyAxNi4xIDBjLjMgMCAuNSAwIC44LS4xcy41LS4yIC43LS40IC4zLS40IC40LS43IC4xLS41IC4xLS44bDAtLjhjMC0uMyAwLS41LS4xLS44cy0uMi0uNS0uNC0uNy0uNC0uMy0uNy0uNC0uNS0uMS0uOC0uMWwtMTYuMSAwIDAtMjUuOCAxOS4xIDBjLjMgMCAuNSAwIC44LS4xcy41LS4yIC43LS40IC4zLS40IC40LS43IC4xLS41IC4xLS44bDAtLjhjMC0uMyAwLS41LS4xLS44cy0uMi0uNS0uNC0uNy0uNC0uMy0uNy0uNC0uNS0uMS0uOC0uMWwtMjIuMiAwYy0uMy0uMS0uNS0uMS0uOCAwcy0uNSAuMi0uNyAuNC0uMyAuNC0uNCAuNy0uMSAuNS0uMSAuOGwwIDYzYzAgLjMgMCAuNSAuMSAuOHMuMiAuNSAuNCAuNiAuNCAuMyAuNyAuNCAuNSAuMSAuOCAuMWwyMi41IDBjLjMgMCAuNSAwIC44LS4xcy41LS4yIC43LS40IC4zLS40IC40LS42IC4xLS41IC4xLS44bDAtLjhjMC0uMyAwLS41LS4xLS44cy0uMi0uNS0uNC0uNy0uNC0uMy0uNy0uNC0uNS0uMS0uOC0uMWwwIDB6TTQwOCAyMjEuOGwtLjggMGMtMTAuMSAwLTE1LjMgNC43LTE1LjMgMTQuMWwwIDQwLjFjMCA5LjMgNS4yIDE0LjEgMTUuMyAxNC4xbC44IDBjMTAuMSAwIDE1LjMtNC44IDE1LjMtMTQuMWwwLTQwLjFjMC05LjQtNS4yLTE0LjEtMTUuMy0xNC4xbDAgMHptMTAuMiA1Mi40Yy0uMSA4LTMgMTEuMS0xMC41IDExLjFzLTEwLjUtMy4xLTEwLjUtMTEuMWwwLTM2LjZjMC03LjkgMy0xMS4xIDEwLjUtMTEuMXMxMC41IDMuMiAxMC41IDExLjFsMCAzNi42em0tNDYuNS0xNC41YzYuMS0xLjYgOS4yLTYuMSA5LjItMTMuM2wwLTkuN2MwLTkuNC01LjItMTQuMS0xNS4zLTE0LjFsLTEzLjcgMGMtLjMgMC0uNSAwLS44IC4xcy0uNSAuMi0uNyAuNC0uMyAuNC0uNCAuNi0uMSAuNS0uMSAuOGwwIDYzYzAgLjMgMCAuNSAuMSAuOHMuMiAuNSAuNCAuNiAuNCAuMyAuNyAuNCAuNSAuMSAuOCAuMWwxLjIgMGMuMyAwIC41IDAgLjgtLjFzLjUtLjIgLjYtLjQgLjMtLjQgLjQtLjYgLjEtLjUgLjEtLjhsMC0yNi45IDExLjYgMCAxMC40IDI3LjJjLjIgLjUgLjUgLjkgLjkgMS4xcy45IC40IDEuNCAuNGwxLjUgMGMxLjQgMCAyLTEgMS41LTIuM2wtMTAuNi0yNy4zem0tNi40LTMuOWwtMTAuMiAwIDAtMjguNSAxMC4yIDBjNy41IDAgMTAuNSAzLjEgMTAuNSAxMS4xbDAgNi40YzAgNy44LTMgMTEtMTAuNSAxMWwwIDB6bTg1LjktMzMuMWwtMTMuNyAwYy0uMy0uMS0uNS0uMS0uOCAwcy0uNSAuMi0uNyAuNC0uMyAuNC0uNCAuNy0uMSAuNS0uMSAuOGwwIDYzYzAgLjMgMCAuNSAuMSAuOHMuMiAuNSAuNCAuNiAuNCAuMyAuNyAuNCAuNSAuMSAuOCAuMWwxLjIgMGMuMyAwIC41IDAgLjgtLjFzLjUtLjIgLjYtLjQgLjMtLjQgLjQtLjYgLjEtLjUgLjEtLjhsMC0yNi4xIDEwLjYgMGMxMC4xIDAgMTUuMy00LjggMTUuMy0xNC4xbDAtMTAuNWMwLTkuNC01LjItMTQuMS0xNS4zLTE0LjF6bTEwLjIgMjIuOGMwIDcuOS0zIDExLjEtMTAuNSAxMS4xbC0xMC4yIDAgMC0yOS4yIDEwLjIgMGM3LjUtLjEgMTAuNSAzLjEgMTAuNSAxMWwwIDcuMXpNMjU5LjYgMzA4bC0yLjMtNi44LTIuMyA2LjgtNy4xIC4xIDUuNyA0LjMtMi4xIDYuOCA1LjgtNC4xIDUuOCA0LjEtMi4xLTYuOCA1LjctNC4zLTcuMS0uMXpNNDg3LjIgMTcxLjljLTExLjctNC40LTIzLjUtOC4xLTM1LjYtMTEuMyAxOS42LTc4IDExLjYtMTM0LjctMjIuMy0xNTMuOS0zNC41LTE5LjQtODUuOSA0LjMtMTM4LjIgNTUuMiAzLjQgMy4zIDYuOCA2LjcgMTAuMiAxMC4yIDgyLjUtODAgMTE5LjYtNTMuNSAxMjAuOS01Mi44IDIyLjQgMTIuNyAzNiA1NS44IDE1LjUgMTM3LjgtMjcuOC02LjQtNTYuMS0xMC43LTg0LjYtMTMtNzEuOS0xMDAuNS0xNDAuNi0xNDIuMS0xODIuMi0xNDIuMS0zMC44IDAtNDMuOCAyMS00Ny42IDI3LjctMTguMSAzMi0xMy4zIDg0LjIgLjEgMTMzLjgtNzAuNSAyMC4zLTEyMC43IDU0LjEtMTIwLjMgOTUgLjUgNTkuNiAxMDMuMiA4Ny44IDEyMi4xIDkyLjgtMjAuNSA4MS45LTEwLjEgMTM1LjYgMjIuMyAxNTMuOSAyOCAxNS44IDc1LjEgNiAxMzguMi01NS4yLTMuNC0zLjMtNi44LTYuNy0xMC4yLTEwLjItODIuNSA4MC0xMTkuNyA1My41LTEyMC45IDUyLjgtMjIuMy0xMi42LTM2LTU1LjYtMTUuNS0xMzcuOSAxMi40IDIuOSA0MS44IDkuNSA4NC42IDEzIDcxLjkgMTAwLjQgMTQwLjYgMTQyIDE4Mi4xIDE0MiAzMC44IDAgNDMuOC0yMSA0Ny42LTI3LjcgMTgtMzEuOSAxMy4zLTg0LjEtLjEtMTMzLjggMTUyLjMtNDMuOCAxNTYuMi0xMzAuMiAzMy45LTE3Ni4zbDAgMHpNMTM2IDM2LjhjMi45LTUuMSAxMS45LTIwLjMgMzQuOS0yMC4zIDM2LjggMCA5OC44IDM5LjYgMTYzLjMgMTI2LjItMzEuMy0xLjgtNjIuNy0xLjUtOTMuOSAuOSAxMy0xOC4zIDI3LjEtMzUuOCA0Mi4yLTUyLjQtMy40LTMuNS02LjgtNi45LTEwLjItMTAuMi0xOC4zIDIwLjItMzUuMyA0MS43LTUwLjcgNjQuMi0yOC41IDIuNy01Ni43IDcuNi04NC40IDE0LjYtLjItMS40LTI0LjMtODIuMi0xLjItMTIzbDAgMHpNNDQwLjggNDc1LjFjLTIuOSA1LjEtMTEuOCAyMC4zLTM0LjkgMjAuMy0zNi43IDAtOTguNy0zOS40LTE2My4zLTEyNi4yIDMxLjMgMS44IDYyLjcgMS41IDkzLjktLjktMTMgMTguMy0yNy4xIDM1LjgtNDIuMiA1Mi40IDMuNCAzLjUgNi44IDYuOSAxMC4yIDEwLjIgMTguNC0yMC4yIDM1LjMtNDEuNyA1MC43LTY0LjIgNDcuMy00LjcgODAuMy0xMy41IDg0LjQtMTQuNiAyMi43IDg0LjQgNC41IDExNyAxLjIgMTIzem05LjEtMTM4LjZjLTMuNi0xMS45LTcuNy0yNC4xLTEyLjQtMzYuNC0yLjEgMC00LjItLjUtNi4xLTEuNXMtMy41LTIuNC00LjYtNC4ybC0uMSAuMWMtMS42IDEuNS0zLjQgMi43LTUuNCAzLjYgNS43IDE0LjMgMTAuNiAyOC40IDE0LjcgNDIuMi0yMy43IDYtNDcuNyAxMC4zLTcyIDEzIDMuNS01LjMgMTcuMi0yNi4yIDMyLjItNTQuMi0yLjEtLjgtNC4yLTEuOS02LTMuMi0xLjEgMS4yLTMuNiA0LjItMTAuOSA0LjItNi4yIDExLjItMTcuNCAzMC45LTMzLjkgNTUuMi0zNy40IDMuMy03NSAzLjYtMTEyLjQgMS03LjktMTEuMi0yMS41LTMxLjEtMzYuOC01Ny44LTEtLjQtMi0uOS0zLTEuNS0xLjkgMS42LTMuOSAzLjItMTIuNiAzLjIgNi4zIDExLjIgMTcuNSAzMC43IDMzLjggNTQuNi0yNC4zLTIuMy00OC40LTYuMi03Mi4yLTExLjcgMy45LTE0IDguNi0yOC4zIDE0LjEtNDIuOS0zLjIgMC01LjQgLjItOC40LTEtMi4yIC44LTQuNiAxLjEtNi45IDEtNC45IDEzLjQtOS4xIDI2LjUtMTIuNyAzOS40LTE1OS45LTQyLjYtMTQwLjMtMTIzLjYtMS41LTE2NCAzLjYgMTEuOSA3LjcgMjQuMSAxMi40IDM2LjQgMTAuNCAwIDEyLjkgMy40IDE0LjQgNS4zIC43LS44IDEuNC0xLjYgMi4zLTIuMi01LjgtMTQuNy0xMC45LTI5LjItMTUuMi00My4zIDctMS44IDMyLjQtOC40IDcyLTEzLTE1LjkgMjQuMy0yNi43IDQzLjktMzIuOCA1NS4zIDMuMSAxLjggNS4zIDQuNiA2LjQgOCAyLjUtMy43IDYuMS02LjYgMTAuMi04LjQgNi41LTExLjcgMTcuOS0zMS45IDM0LjgtNTYuOSAzNy40LTMuMyA3NS0zLjYgMTEyLjQtMSAzMS41IDQ0LjYgMjguOSA0OC4xIDQyLjUgNjQuNSAyLjYtMy41IDYuMy02IDEwLjQtNy40LTYuNC0xMS40LTE3LjYtMzEtMzQuMy01NS41IDQwLjQgNC4xIDY1IDEwIDcyLjIgMTEuNy00IDE0LjQtOC45IDI5LjItMTQuNiA0NC4yIDIuNSAxIDQuOCAyLjQgNi44IDQuM2wuMSAuMWMxLTEuNSAyLjMtMi44IDMuOC0zLjhzMy4zLTEuNiA1LjEtMS44YzQuOS0xMy40IDkuMi0yNi42IDEyLjgtMzkuNSAxMS43IDMuMSAyMy4yIDYuOCAzNC41IDExIDEwNi4xIDM5LjkgNzQgODcuOSA3Mi42IDkwLjQtMTkuOCAzNS4xLTgwLjEgNTUuMi0xMDUuNyA2Mi41em0tMTE0LjQtMTE0bC0xLjIgMGMtLjMgMC0uNSAwLS44IC4xcy0uNSAuMi0uNiAuNC0uMyAuNC0uNCAuNi0uMSAuNS0uMSAuOGwwIDQ5LjhjMCA3LjktMi42IDExLjEtMTAuMSAxMS4xcy0xMC4xLTMuMS0xMC4xLTExLjFsMC00OS44YzAtLjMgMC0uNS0uMS0uOHMtLjItLjUtLjQtLjctLjQtLjMtLjctLjQtLjUtLjEtLjgtLjFsLTEuMiAwYy0uMyAwLS41IDAtLjggLjFzLS41IC4yLS43IC40LS4zIC40LS40IC42LS4xIC41LS4xIC44bDAgNTEuNWMwIDkuNiA1IDE0LjEgMTUuMSAxNC4xbC40IDBjMTAuMSAwIDE1LjEtNC42IDE1LjEtMTQuMWwwLTUxLjVjMC0uMy0uMS0uNS0uMi0uOHMtLjMtLjUtLjUtLjYtLjQtLjMtLjctLjQtLjUtLjEtLjgtLjF6TTMyMS44IDMwOGwtMi4zLTYuOC0yLjMgNi44LTcuMSAuMSA1LjcgNC4zLTIuMSA2LjggNS44LTQuMSA1LjggNC4xLTIuMS02LjggNS43LTQuMy03LjEtLjF6bS0zMS4xIDcuNGwtMi4zLTYuOC0yLjMgNi44LTcuMSAuMSA1LjcgNC4zLTIuMSA2LjggNS44LTQuMSA1LjggNC4xLTIuMS02LjggNS43LTQuMy03LjEtLjF6bTUuMS0zMC44bC0xOS40IDAgMC0yNi43IDE2LjEgMGMuMyAwIC41IDAgLjgtLjFzLjUtLjIgLjctLjQgLjMtLjQgLjQtLjcgLjEtLjUgLjEtLjhsMC0uOGMwLS4zIDAtLjUtLjEtLjhzLS4yLS41LS40LS43LS40LS4zLS43LS40LS41LS4xLS44LS4xbC0xNi4xIDAgMC0yNS44IDE5LjEgMGMuMyAwIC41IDAgLjgtLjFzLjUtLjIgLjctLjQgLjMtLjQgLjQtLjcgLjEtLjUgLjEtLjhsMC0uOGMwLS4zIDAtLjUtLjEtLjhzLS4yLS41LS40LS43LS40LS4zLS43LS40LS41LS4xLS44LS4xbC0yMi4yIDBjLS4zIDAtLjUgMC0uOCAuMXMtLjUgLjItLjcgLjQtLjMgLjQtLjQgLjYtLjEgLjUtLjEgLjhsMCA2M2MwIC4zIDAgLjUgLjEgLjhzLjIgLjUgLjQgLjYgLjQgLjMgLjcgLjQgLjUgLjEgLjggLjFsMjIuNSAwYy4zIDAgLjUgMCAuOC0uMXMuNS0uMiAuNy0uNCAuMy0uNCAuNC0uNyAuMS0uNSAuMS0uOGwwLS44YzAtLjMgMC0uNi0uMS0uOHMtLjItLjUtLjQtLjctLjQtLjQtLjctLjQtLjUtLjEtLjgtLjFsMCAwem0tNy40LTk5LjRsLTIuMyA2LjgtNy4xIC4xIDUuNyA0LjMtMi4xIDYuOCA1LjgtNC4xIDUuOCA0LjEtMi4xLTYuOCA1LjctNC4zLTcuMS0uMS0yLjMtNi44eiJdfSxYdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2F6ZSIsaWNvbjpbNTEyLDUxMixbXSwiZjgzZiIsIk01MDIuNiAyMDEuN2MxNC41IDg1LjktMzAuOSAxNjcuOS0xMTMuMiAyMDguMSAxMyAzNC4xLTEyLjQgNzAuMi00OC4zIDcwLjItMTMuMiAwLTI2LTUuMS0zNS42LTE0LjJzLTE1LjMtMjEuNi0xNi0zNC44Yy02LjQgLjItNjQuMiAwLTc2LjMtLjYtLjMgNi44LTEuOSAxMy41LTQuNyAxOS42cy02LjkgMTEuNy0xMS45IDE2LjMtMTAuOCA4LjItMTcuMiAxMC41LTEzLjIgMy40LTE5LjkgMy4xYy0zMy45LTEuNC01OC0zNC44LTQ3LTY3LjktMzcuMi0xMy4xLTcyLjUtMzQuOS05OS42LTcwLjgtMTMtMTcuMy0uNS00MS44IDIwLjgtNDEuOCA0Ni4zIDAgMzIuMi01NC4yIDQzLjItMTEwLjMgMTguNC05My45IDExNi44LTE1Ny4xIDIxMS43LTE1Ny4xIDEwMi41IDAgMTk3LjIgNzAuNyAyMTQuMSAxNjkuN3pNMzczLjkgMzg4LjNjNDItMTkuMiA4MS4zLTU2LjcgOTYuMy0xMDIuMSA0MC41LTEyMy4xLTY0LjItMjI4LTE4MS43LTIyOC04My40IDAtMTcwLjMgNTUuNC0xODYuMSAxMzYtOS41IDQ4LjkgNSAxMzEuNC02OC43IDEzMS40IDI0LjkgMzMuMSA1OC4zIDUyLjYgOTMuNyA2NCAyNC43LTIxLjggNjMuOS0xNS41IDc5LjggMTQuMyAxNC4yIDEgNzkuMiAxLjIgODcuOSAuOCAzLjUtNi45IDguNS0xMi45IDE0LjctMTcuNXMxMy4yLTcuOSAyMC44LTkuNSAxNS40LTEuNCAyMi45IC40IDE0LjUgNS4zIDIwLjUgMTAuMnpNMjA1LjUgMTg3LjFjMC0zNC43IDUwLjgtMzQuNyA1MC44IDBzLTUwLjggMzQuNy01MC44IDB6bTExNi42IDBjMC0zNC43IDUwLjktMzQuNyA1MC45IDBzLTUwLjkgMzQuOC01MC45IDB6TTE5OS41IDI1Ny44Yy0zLjQtMTYuOSAyMi4yLTIyLjIgMjUuNi01LjJsLjEgLjNjNC4xIDIxLjQgMjkuOCA0NCA2NC4xIDQzLjEgMzUuNy0uOSA1OS4zLTIyLjIgNjQuMS00Mi44IDQuNS0xNi4xIDI4LjYtMTAuNCAyNS41IDYtNS4yIDIyLjItMzEuMiA2Mi05MS41IDYyLjktNDIuNiAwLTgwLjktMjcuOC04Ny45LTY0LjJsMCAweiJdfSxRdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1yZW1peCIsaWNvbjpbNTEyLDUxMixbXSwiZjRlZSIsIk0yNTUuNiA4QzM5Ny40IDggNTA0IDExOC4xIDUwNCAyNTYgNTA0IDQwMy4xIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjYgNTA0IDggMzk0LjUgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6bS44IDQ0LjdjLTExOC4yIDAtMjAzLjcgOTcuOS0yMDMuNyAyMDMuMyAwIDEwOS44IDkxLjIgMjAyLjggMjAzLjcgMjAyLjggMTAzLjIgMCAyMDIuOC04MS4xIDIwMi44LTIwMi44IC4xLTExMy44LTkwLjItMjAzLjMtMjAyLjgtMjAzLjN6TTQxOC4xIDI2MC40bDQuOSAyLjIgMCA3MGMtNy4yIDMuNi02My40IDI3LjUtNjcuMyAyOC44LTYuNS0xLjgtMTEzLjctNDYuOC0xMzcuMy01Ni4ybC02NC4yIDI2LjYtNjMuMy0yNy41IDAtNjMuOCA1OS4zLTI0LjhjLS43LS43LS40IDUtLjQtNzAuNGw2Ny4zLTI5LjcgMTUxLjkgNjIuOSAwIDYxLjYgNDkuMSAyMC4zem0tNzAuNCA4MS41bDAtNDMuOC0uNCAwIDAtMS44LTExMy44LTQ2LjUgMCA0NS4yIDExMy44IDQ2LjkgMC0uNCAuNCAuNHptNy41LTU3LjZsMzkuOS0xNi40LTM2LjgtMTUuNS0zOSAxNi40IDM1LjkgMTUuNXptNTIuMyAzOC4xbDAtNDMtNDQuMyAxOC42IDAgNDMuNCA0NC4zLTE5eiJdfSxKdnQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmFuZGNhbXAiLGljb246WzUxMiw1MTIsW10sImYyZDUiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2em00OC4yIDMyNi4xbC0xODEgMCA4NC43LTE1Ni4xIDE4MSAwLTg0LjcgMTU2LjF6Il19LGV4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtd2ViLWF3ZXNvbWUtc3Ryb2tlIixpY29uOls0NDgsNTEyLFtdLCJlNjg0IiwiTTY0IDY0QzQ2LjMgNjQgMzIgNzguMyAzMiA5NmwwIDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMkw2NCA2NHpNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTIzNSA4MS42bDUzIDQ2LjQgNTIuMi0xMC40Yy0yLjYtMy45LTQuMi04LjUtNC4yLTEzLjYgMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGMwIDEzLTEwLjMgMjMuNi0yMy4yIDI0TDMwNC41IDM0OS4xYy01LjIgMTEuNS0xNi42IDE4LjktMjkuMiAxOC45bC0xMDIuNiAwYy0xMi42IDAtMjQtNy40LTI5LjItMTguOUw4Ny4yIDIyNGMtMTIuOS0uNC0yMy4yLTExLTIzLjItMjQgMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGMwIDUtMS41IDkuNy00LjIgMTMuNkwxNjAgMjI0IDIxMy4xIDE3Ny42Yy04LjktNC4xLTE1LTEzLjEtMTUtMjMuNiAwLTE0LjQgMTEuNi0yNiAyNi0yNnMyNiAxMS42IDI2IDI2YzAgMTAuNS02LjIgMTkuNS0xNS4xIDIzLjZ6Il19LHR4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2aW1lby12IixpY29uOls0NDgsNTEyLFtdLCJmMjdkIiwiTTQ0Ny44IDE1My42Yy0yIDQzLjYtMzIuNCAxMDMuMy05MS40IDE3OS4xLTYwLjkgNzkuMi0xMTIuNCAxMTguOC0xNTQuNiAxMTguOC0yNi4xIDAtNDguMi0yNC4xLTY2LjMtNzIuMy0zNS4yLTEyOS4yLTUwLjItMjA0LjktNzkuMy0yMDQuOS0zLjQgMC0xNS4xIDcuMS0zNS4yIDIxLjFMMCAxNjguMmM1MS42LTQ1LjMgMTAwLjktOTUuNyAxMzEuOC05OC41IDM0LjktMy40IDU2LjMgMjAuNSA2NC40IDcxLjUgMjguNyAxODEuNSA0MS40IDIwOC45IDkzLjYgMTI2LjcgMTguNy0yOS42IDI4LjgtNTIuMSAzMC4yLTY3LjYgNC44LTQ1LjktMzUuOC00Mi44LTYzLjMtMzEgMjItNzIuMSA2NC4xLTEwNy4xIDEyNi4yLTEwNS4xIDQ1LjggMS4yIDY3LjUgMzEuMSA2NC45IDg5LjR6Il19LGF4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdHJhdmEiLGljb246WzM4NCw1MTIsW10sImY0MjgiLCJNMTU4LjQgMEw3IDI5MiA5Ni4yIDI5MiAxNTguNCAxNzUuOSAyMjAuMSAyOTIgMzA4LjYgMjkyIDE1OC40IDB6TTMwOC42IDI5MmwtNDMuOSA4OC4yLTQ0LjYtODguMi02Ny42IDAgMTEyLjIgMjIwIDExMS41LTIyMC02Ny42IDB6Il19LHJ4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bmlyZWdpc3RyeSIsaWNvbjpbMzg0LDUxMixbXSwiZjQwNCIsIk0xOTIgNDgwYzM5LjUgMCA3Ni4yLTExLjggMTA2LjgtMzIuMmwtMjEzLjUgMEMxMTUuOCA0NjguMiAxNTIuNSA0ODAgMTkyIDQ4MHpNMTAyLjkgMjg2LjlsMC0xMi40LTEwMi45IDAgMCAxMi40YzAgMi41IDAgNSAuMSA3LjRsMTAzLjEgMGMtLjItMi40LS4zLTQuOS0uMy03LjR6bTIwLjUgNTdsLTExNC45IDBjMi42IDguNSA1LjggMTYuOCA5LjYgMjQuOGwxMzguMyAwYy0xMi45LTUuNy0yNC4xLTE0LjItMzMtMjQuOHptLTE3LjctMzQuN2wtMTA0LjQgMGMuOSA3LjYgMi4yIDE1IDMuOSAyMi4zbDEwOS43IDBjLTQtNi45LTcuMi0xNC40LTkuMi0yMi4zem0tMi44LTY5LjNsLTEwMi45IDAgMCAxNy4zIDEwMi45IDAgMC0xNy4zem0wLTE3My4ybC0xMDIuOSAwIDAgNC45IDEwMi45IDAgMC00Ljl6bTAtMzQuN2wtMTAyLjkgMCAwIDIuNSAxMDIuOSAwIDAtMi41em0wIDY5LjNsLTEwMi45IDAgMCA3LjQgMTAyLjkgMCAwLTcuNHptMCAxMDRsLTEwMi45IDAgMCAxNC44IDEwMi45IDAgMC0xNC44em0wLTY5LjNsLTEwMi45IDAgMCA5LjkgMTAyLjkgMCAwLTkuOXptMCAzNC42bC0xMDIuOSAwIDAgMTIuNCAxMDIuOSAwIDAtMTIuNHpNMjY5LjEgMzMxLjVsMTA5LjcgMGMxLjgtNy4zIDMuMS0xNC43IDMuOS0yMi4zbC0xMDQuNCAwYy0yLjEgNy45LTUuMiAxNS40LTkuMiAyMi4zem0xMi0xODUuN2wxMDIuOSAwIDAtOS44LTEwMi45IDAgMCA5Ljh6bTAgMzcuMmwxMDIuOSAwIDAtMTIuNC0xMDIuOSAwIDAgMTIuNHptMC03NC4zbDEwMi45IDAgMC03LjQtMTAyLjkgMCAwIDcuNHptMC03Ni43bDAgMi41IDEwMi45IDAgMC0yLjUtMTAyLjkgMHpNNzguMSA0NDIuOWwyMjcuNyAwYzExLjgtOC43IDIyLjctMTguNiAzMi4yLTI5LjdsLTI5My4xIDBjOS42IDExIDIxLjQgMjEgMzMuMiAyOS43em0yMDMtMzcxLjNsMTAyLjkgMCAwLTQuOS0xMDIuOSAwIDAgNC45em0wIDE0OC41bDEwMi45IDAgMC0xNC44LTEwMi45IDAgMCAxNC44ek0zOC44IDQwNS43bDMwNS4zIDBjNi43LTguNSAxMi42LTE3LjYgMTcuOC0yNy4yTDIzIDM3OC41YzUuMiA5LjYgOS4yIDE4LjcgMTUuOCAyNy4yem0xODguOC0zNy4xbDEzOS40IDBjMy43LTggNS44LTE2LjIgOC41LTI0LjhsLTExNSAwYy04LjggMTAuNy0yMC4xIDE5LjItMzIuOSAyNC44em01My41LTgxLjdjMCAyLjUtLjEgNS0uNCA3LjRsMTAzLjEgMGMuMS0yLjUgLjItNC45IC4yLTcuNGwwLTEyLjQtMTAyLjkgMCAwIDEyLjR6bTAtMjkuN2wxMDIuOSAwIDAtMTcuMy0xMDIuOSAwIDAgMTcuM3oiXX0sc3h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLWRpbmVycy1jbHViIixpY29uOls1NzYsNTEyLFtdLCJmMjRjIiwiTTIzOS43IDc5LjlhMTc1LjggMTc1LjggMCAxIDAgMCAzNTEuNiAxNzUuOCAxNzUuOCAwIDEgMCAwLTM1MS42ek0xOTkuOCAzNTkuNWMtNDEuNy0xNS45LTcxLjQtNTYuNC03MS40LTEwMy44czI5LjctODcuOSA3MS40LTEwNC4xbDAgMjA3Ljl6bTc5LjggLjNsMC0yMDguMmM0MS43IDE2LjIgNzEuNCA1Ni43IDcxLjQgMTA0LjFzLTI5LjcgODcuOS03MS40IDEwNC4xek01MjggMzJMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MEwwIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0ODAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1MmMwLTI2LjUtMjEuNS00OC00OC00OHpNMzI5LjcgNDQ4bC05MC4zIDBDMTMzLjIgNDQ4IDQ1LjYgMzYyLjUgNDUuNiAyNTcuOCA0NS42IDE0My4yIDEzMy4yIDY0IDIzOS40IDY0bDkwLjMgMGMxMDUgMCAyMDAuNyA3OS4yIDIwMC43IDE5My44IDAgMTA0LjctOTUuNyAxOTAuMi0yMDAuNyAxOTAuMnoiXX0saXh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imt1YmVybmV0ZXMiLGljb246WzUxMiw1MTIsW10sImU4NTciLCJNMjU2IDMxNi4xYzMuNS0uMSA3LjIgMiA4LjkgNS4xTDI5MyAzNzEuN2MtMy42IDEuMi03LjMgMi4zLTExLjIgMy4xLTIxLjQgNC45LTQyLjcgMy40LTYyLTMuMmwyNy45LTUwLjRjMS43LTMuMSA0LjktNSA4LjItNS4xem01MC41LTIzLjRsNTcuMiA5LjdjLTguNCAyMy41LTI0LjQgNDMuOS00NS44IDU3LjVsLTIyLjItNTMuNmMtMi00LjcgLjEtMTAuNCA0LjgtMTIuNiAxLjktLjkgNC4xLTEuMyA2LS45em0tODkuMSA3LjdjLjUgMi4xIC4zIDQuMi0uNSA2bC0yMS44IDUzLjNjLTIwLjUtMTMuMi0zNi45LTMyLjktNDUuNy01Ny4xbDU2LjctOS42YzUuMS0uOSAxMC4xIDIuNCAxMS4zIDcuNXptNTguOC00MWwtMy45IDE3LjEtMTUuOCA3LjYtMTUuOS03LjctNC0xNy4xIDExLTEzLjcgMTcuNyAwIDExIDEzLjd6bS03My43LTE2LjdjMy45IDMuNCA0LjQgOS41IDEuMiAxMy42LTEuMyAxLjctMy4xIDIuOC01IDMuM2wtNTUuMyAxNi4yYy0yLjgtMjUuNyAzLjMtNTAuNyAxNi4xLTcxLjZsNDMuMSAzOC42em0xNTAuNy0zOC41YzYuNCAxMC40IDExLjIgMjIgMTQuMSAzNC42IDIuOSAxMi40IDMuNiAyNC44IDIuNCAzNi44bC01NS42LTE2Yy01LTEuNC04LjEtNi43LTYuOS0xMS43IC41LTIuMSAxLjYtMy44IDMuMS01LjFsNDIuOS0zOC41em0tMTEzLjggNC40Yy0uMiA1LjItNC43IDkuNC05LjkgOS40LTIuMSAwLTQuMS0uNy01LjctMS44bC00Ny4zLTMzLjRjMTQuNS0xNC4zIDMzLjEtMjQuOCA1NC41LTI5LjcgMy45LS45IDcuOC0xLjYgMTEuNy0ybC0zLjMgNTcuNnptMzAuOC01Ny42YzI1IDMuMSA0OC4xIDE0LjQgNjUuOCAzMS43bC00Ny4xIDMzLjJjLTQuMiAzLTEwIDIuMy0xMy4zLTEuOC0xLjMtMS43LTItMy42LTIuMS01LjZsLTMuMy01Ny41ek0yNTQuNS0xLjNjNS45LS4zIDExLjcgLjkgMTcgMy40TDQ1NSA4OS43YzQuNyAyLjMgOC45IDUuNiAxMi4yIDkuN3M1LjYgOC44IDYuOCAxMy45bDQ1LjMgMTk2LjljMS4yIDUuMSAxLjIgMTAuNCAwIDE1LjVzLTMuNSA5LjktNi44IDEzLjlMMzg1LjYgNDk3LjZjLTMuMyA0LjEtNy41IDcuNC0xMi4yIDkuNnMtMTAgMy40LTE1LjIgMy40bC0yMDMuNiAwYy01LjMgMC0xMC41LTEuMi0xNS4yLTMuNHMtOC45LTUuNS0xMi4yLTkuNkwuMiAzMzkuN2MtLjctLjktMS40LTEuOC0yLTIuOC0yLjYtMy45LTQuMy04LjMtNS4xLTEyLjlzLS43LTkuMyAuMy0xMy44TDM4LjcgMTEzLjRjMS4yLTUuMSAzLjUtOS45IDYuOC0xMy45czcuNS03LjQgMTIuMi05LjdMMjQxLjEgMi4xYzQuMi0yIDguOC0zLjIgMTMuNC0zLjR6bTEuOCA2N2MtNi4xIDAtMTEgNS41LTExIDEyLjIgMCAuMSAwIC4yIDAgLjMgMCAuOS0uMSAyIDAgMi44IC4xIDMuOSAxIDYuOSAxLjUgMTAuNCAuOSA3LjcgMS43IDE0IDEuMiAxOS45LS41IDIuMi0yLjEgNC4zLTMuNiA1LjdsLS4yIDQuNmMtNi42IC41LTEzLjIgMS42LTE5LjggMy4xLTI4LjUgNi41LTUzLjEgMjEuMS03MS44IDQxLTEuMi0uOC0zLjMtMi4zLTQtMi44LTIgLjMtNCAuOS02LjUtLjYtNC45LTMuMy05LjQtNy45LTE0LjgtMTMuNC0yLjUtMi42LTQuMy01LjEtNy4yLTcuNy0uNy0uNi0xLjctMS40LTIuNC0yLTIuMy0xLjgtNS0yLjgtNy43LTIuOS0zLjQtLjEtNi42IDEuMi04LjggMy45LTMuOCA0LjctMi41IDEyIDIuNyAxNi4yIC4xIDAgLjEgLjEgLjIgLjEgLjcgLjYgMS42IDEuMyAyLjMgMS44IDMuMSAyLjMgNiAzLjUgOS4xIDUuMyA2LjYgNC4xIDEyIDcuNCAxNi4zIDExLjUgMS43IDEuOCAyIDQuOSAyLjIgNi4zbDMuNSAzLjJjLTE4LjggMjguNC0yNy42IDYzLjQtMjIuNCA5OS4xbC00LjYgMS4zYy0xLjIgMS42LTIuOSA0LTQuNyA0LjctNS42IDEuOC0xMiAyLjQtMTkuNyAzLjMtMy42IC4zLTYuNyAuMS0xMC41IC44LS44IC4yLTIgLjQtMi45IC43bC0uMSAwLS4yIC4xYy02LjUgMS42LTEwLjcgNy41LTkuMyAxMy40IDEuMyA1LjkgNy43IDkuNCAxNC4yIDhsLjIgMGMuMSAwIC4xLS4xIC4yLS4xIC45LS4yIDIuMS0uNCAyLjgtLjYgMy44LTEgNi41LTIuNSA5LjgtMy44IDcuMy0yLjYgMTMuMy00LjggMTkuMi01LjYgMi40LS4yIDUgMS41IDYuMyAyLjJsNC44LS44YzExIDM0LjEgMzQuMSA2MS43IDYzLjMgNzkuMWwtMiA0LjhjLjcgMS45IDEuNSA0LjQgMSA2LjItMi4xIDUuNS01LjggMTEuNC05LjkgMTcuOS0yIDMtNC4xIDUuMy01LjkgOC44LS40IC44LTEgMi4xLTEuNCAzLTIuOCA2LS44IDEzIDQuNyAxNS42IDUuNSAyLjYgMTIuMi0uMSAxNS4yLTYuMmwwIDBjLjQtLjkgMS0yIDEuNC0yLjggMS42LTMuNiAyLjEtNi42IDMuMi0xMC4xIDIuOS03LjMgNC41LTE0LjkgOC41LTE5LjcgMS4xLTEuMyAyLjktMS44IDQuOC0yLjNsMi41LTQuNWMyNS41IDkuOCA1NCAxMi40IDgyLjUgNS45IDYuNS0xLjUgMTIuOC0zLjQgMTguOC01LjcgLjcgMS4yIDIgMy42IDIuMyA0LjIgMS45IC42IDMuOSAuOSA1LjYgMy40IDMgNS4xIDUgMTEuMiA3LjUgMTguNSAxLjEgMy40IDEuNiA2LjUgMy4yIDEwLjEgLjQgLjggMSAyIDEuNCAyLjggMi45IDYuMSA5LjcgOC44IDE1LjIgNi4yIDUuNC0yLjYgNy41LTkuNiA0LjctMTUuNi0uNC0uOS0xLTIuMS0xLjQtMy0xLjgtMy40LTMuOS01LjctNS45LTguNy00LjItNi41LTcuNi0xMS45LTkuOC0xNy40LS45LTIuOCAuMi00LjYgLjgtNi41LS40LS41LTEuMy0zLjItMS44LTQuNCAzMC40LTE3LjkgNTIuOC00Ni42IDYzLjMtNzkuNiAxLjQgLjIgMy45IC43IDQuNyAuOCAxLjctMS4xIDMuMi0yLjUgNi4yLTIuMyA1LjkgLjggMTEuOSAzIDE5LjIgNS42IDMuNCAxLjMgNi4xIDIuOCA5LjggMy44IC44IC4yIDEuOSAuNCAyLjggLjYgLjEgMCAuMSAwIC4yIC4xbC4yIDBjNi41IDEuNCAxMi44LTIuMiAxNC4yLThzLTIuOC0xMS44LTkuMy0xMy40Yy0uOS0uMi0yLjMtLjYtMy4yLS43LTMuOC0uNy02LjktLjUtMTAuNS0uOC03LjctLjgtMTQtMS40LTE5LjctMy4yLTIuMy0uOS00LTMuNy00LjgtNC44bC00LjQtMS4zYzIuMy0xNi42IDEuNy0zMy45LTIuMy01MS4zLTQtMTcuNS0xMS4xLTMzLjUtMjAuNi00Ny42IDEuMS0xIDMuMy0yLjkgMy45LTMuNSAuMi0yIDAtNCAyLjEtNi4yIDQuMy00LjEgOS44LTcuNCAxNi4zLTExLjUgMy4xLTEuOCA2LTMgOS4xLTUuMyAuNy0uNSAxLjctMS4zIDIuNC0xLjkgNS4zLTQuMiA2LjUtMTEuNCAyLjctMTYuMnMtMTEuMS01LjItMTYuNC0xYy0uNyAuNi0xLjggMS40LTIuNCAyLTIuOSAyLjUtNC44IDUtNy4yIDcuNy01LjQgNS41LTkuOSAxMC4xLTE0LjggMTMuNC0yLjEgMS4yLTUuMyAuOC02LjcgLjdsLTQuMiAzYy0yMy44LTI1LTU2LjItNDEtOTEuMi00NC4xLS4xLTEuNS0uMi00LjEtLjItNC45LTEuNC0xLjQtMy4yLTIuNS0zLjYtNS41LS41LTUuOSAuMy0xMi4zIDEuMy0xOS45IC41LTMuNiAxLjQtNi42IDEuNS0xMC40IDAtLjkgMC0yLjIgMC0zLjEgMC02LjctNC45LTEyLjItMTEtMTIuMnoiXX0sb3h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpbnRlcmVzdCIsaWNvbjpbNTEyLDUxMixbXSwiZjBkMiIsIk01MDQgMjU2YzAgMTM3LTExMSAyNDgtMjQ4IDI0OC0yNS42IDAtNTAuMi0zLjktNzMuNC0xMS4xIDEwLjEtMTYuNSAyNS4yLTQzLjUgMzAuOC02NSAzLTExLjYgMTUuNC01OSAxNS40LTU5IDguMSAxNS40IDMxLjcgMjguNSA1Ni44IDI4LjUgNzQuOCAwIDEyOC43LTY4LjggMTI4LjctMTU0LjMgMC04MS45LTY2LjktMTQzLjItMTUyLjktMTQzLjItMTA3IDAtMTYzLjkgNzEuOC0xNjMuOSAxNTAuMSAwIDM2LjQgMTkuNCA4MS43IDUwLjMgOTYuMSA0LjcgMi4yIDcuMiAxLjIgOC4zLTMuMyAuOC0zLjQgNS0yMC4zIDYuOS0yOC4xIC42LTIuNSAuMy00LjctMS43LTcuMS0xMC4xLTEyLjUtMTguMy0zNS4zLTE4LjMtNTYuNiAwLTU0LjcgNDEuNC0xMDcuNiAxMTItMTA3LjYgNjAuOSAwIDEwMy42IDQxLjUgMTAzLjYgMTAwLjkgMCA2Ny4xLTMzLjkgMTEzLjYtNzggMTEzLjYtMjQuMyAwLTQyLjYtMjAuMS0zNi43LTQ0LjggNy0yOS41IDIwLjUtNjEuMyAyMC41LTgyLjYgMC0xOS0xMC4yLTM0LjktMzEuNC0zNC45LTI0LjkgMC00NC45IDI1LjctNDQuOSA2MC4yIDAgMjIgNy40IDM2LjggNy40IDM2LjhzLTI0LjUgMTAzLjgtMjkgMTIzLjJDMTYxLjUgNDM3LjIgMTYzLjUgNDY3LjQgMTY1LjYgNDg3IDczLjQgNDUwLjkgOCAzNjEuMSA4IDI1NiA4IDExOSAxMTkgOCAyNTYgOFM1MDQgMTE5IDUwNCAyNTZ6Il19LG54dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhbGdvbGlhIixpY29uOls1MTIsNTEyLFtdLCJmMzZjIiwiTTI1NiAwYy0xMzkuOSAwLTI1NCAxMTIuNy0yNTYgMjUyLjEtMiAxNDEuNSAxMTIuOSAyNTguNyAyNTQuNSAyNTkuNSA0My43IC4zIDg1LjktMTAuNCAxMjMuMy0zMC43IDMuNi0yIDQuMi03IDEuMS05LjdsLTI0LTIxLjJjLTQuOS00LjMtMTEuOC01LjUtMTcuOC0zLTI2LjEgMTEuMS01NC41IDE2LjgtODMuNyAxNi40LTExNC40LTEuNS0yMDYuOS05Ni42LTIwNS4xLTIxMSAxLjgtMTEyLjkgOTQuMy0yMDQuMiAyMDcuNy0yMDQuMmwyMDcuNyAwIDAgMzY5LTExNy44LTEwNC43Yy0zLjgtMy40LTkuNy0yLjctMTIuNyAxLjMtMTguOSAyNS00OS43IDQwLjYtODMuOSAzOC4yLTQ3LjUtMy4zLTg1LjktNDEuNS04OS41LTg4LjktNC4yLTU2LjYgNDAuNi0xMDMuOSA5Ni4zLTEwMy45IDUwLjQgMCA5MS45IDM4LjggOTYuMiA4OCAuNCA0LjQgMi40IDguNSA1LjcgMTEuNGwzMC43IDI3LjJjMy41IDMuMSA5IDEuMiA5LjktMy40IDIuMi0xMS44IDMtMjQuMiAyLjEtMzYuOC00LjktNzItNjMuMy0xMzAtMTM1LjQtMTM0LjQtODIuNy01LjEtMTUxLjggNTkuNS0xNTQgMTQwLjYtMi4xIDc4LjkgNjIuNiAxNDcgMTQxLjYgMTQ4LjcgMzMgLjcgNjMuNi05LjYgODguMy0yNy42TDQ5NSA1MDkuNGM2LjYgNS44IDE3IDEuMiAxNy03LjdsMC00OTJjMC01LjQtNC40LTkuNy05LjctOS43TDI1NiAweiJdfSxseHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3RhY2twYXRoIixpY29uOls0NDgsNTEyLFtdLCJmODQyIiwiTTI0NC42IDIzMi40YzAgOC41LTQuMyAyMC41LTIxLjMgMjAuNWwtMTkuNiAwIDAtNDEuNSAxOS42IDBjMTcuMSAwIDIxLjMgMTIuNCAyMS4zIDIxek00NDggMzJsMCA0NDgtNDQ4IDAgMC00NDggNDQ4IDB6TTE1MS4zIDI4Ny44YzAtMjEuMi0xMi4xLTM0LjUtNDYuNy00NC44LTIwLjYtNy40LTI2LTEwLjktMjYtMTguNnM3LTE0LjYgMjAuNC0xNC42YzE0LjEgMCAyMC44IDguNCAyMC44IDE4LjRsMzAuNyAwIC4yLS42Yy41LTE5LjYtMTUuMS00MS42LTUxLjEtNDEuNi0yMy40IDAtNTIuNiAxMC44LTUyLjYgMzguMyAwIDE5LjQgOS4yIDMxLjMgNTAuNyA0NC40IDE3LjMgNi4yIDIxLjkgMTAuNCAyMS45IDE5LjUgMCAxNS4yLTE5LjEgMTQuMi0xOS41IDE0LjItMjAuNCAwLTI1LjctOS4xLTI1LjctMjEuOWwtMzAuOCAwLS4yIC42Yy0uNyAzMS4zIDI4LjQgNDUuMiA1Ni42IDQ1LjIgMzAgMCA1MS4xLTEzLjYgNTEuMS0zOC4zem0xMjUuNC01NS42YzAtMjUuMy0xOC40LTQ1LjUtNTMuNC00NS41bC01MS44IDAgMCAxMzguMiAzMi4yIDAgMC00Ny40IDE5LjYgMGMzMC4zIDAgNTMuNC0xNiA1My40LTQ1LjR6TTI5Ny45IDMyNWw0OS4xLTEzOC4yLTMxLjEgMC00Ny45IDEzOC4yIDI5LjkgMHpNNDA0LjUgMTg2LjhsLTMxLjEgMC00Ny45IDEzOC4yIDI5LjkgMCA0OS4xLTEzOC4yeiJdfSxjeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib2N0b3B1cy1kZXBsb3kiLGljb246WzUxMiw1MTIsW10sImUwODIiLCJNNDU1LjcgMzQ5LjJjLTQ1LjktMzkuMS0zNi43LTc3LjktMTYuMS0xMjguMSAzNS43LTg3LTIzLjUtMTg2LjktMTA5LjYtMjEyLjgtOTIuOS0yNy45LTE5NS43IDE2LTIzMC4zIDEwOC44LTguNyAyMy41LTEyLjUgNDguNS0xMSA3My41IDEuNyAyOS41IDE0LjcgNTMgMjQuMSA4MC4zIDE3LjIgNTAuMi0yOC4xIDkyLjctNjYuNyAxMTcuNi00Ni44IDMwLjItMzYuMyAzOS45LTguNCA0MS45IDIzLjQgMS43IDQ0LjUtNC41IDY1LjMtMTUgOS4yLTQuNiA0MC43LTE4LjkgNDUuMS0yOC42LTEyLjIgMjYuNi0zNyA3Mi43LTIxLjUgMTAyLjEgMTkuMSAzNi4yIDY3LjEtMzEuOCA3Ni43LTQ1LjggOC42LTEyLjYgNDMtODEuMyA2My42LTQ2LjkgMTguOSAzMS40IDguNiA3Ni40IDM1LjcgMTA0LjYgMzIuOSAzNC4yIDUxLjItMTguMyA1MS40LTQ0LjIgLjItMTYuNC02LjEtOTUuOSAyOS45LTU5LjkgMjEuNCAyMS40IDUyLjkgNzEuMiA4OC42IDY3IDM4LjctNC41LTIyLjEtNjgtMjguMy03OC43IDUuNCA0LjMgNTMuNyAzNC4xIDUzLjggOS41IC4xLTE4LjgtMzAuMS0zNC43LTQyLjUtNDUuM3oiXX0sZHh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InlhbW1lciIsaWNvbjpbNTEyLDUxMixbXSwiZjg0MCIsIk01MDAuNyAxNTkuNWMtLjQtMS44LTEuMi0zLjQtMi4zLTQuOHMtMi41LTIuNi00LjEtMy41Yy0zLjEtMS42LTYuNy0yLTEwLjEtMS4xbC0yNi40IDYuNiAwLS4yLTIyLjMgNS44LTEuMiAuMy0uNi0yLjJjLTE1LjUtNTguMy00NS0xMTEuOS04Ni4xLTE1Ni4yLTIuNi0yLjctNi4xLTQuMi05LjgtNC4zcy03LjMgMS4zLTEwIDMuOGwtMTAyLjkgMTAyLjctMTk5LjkgMGMtNi42IDAtMTIuOSAyLjYtMTcuNiA3LjNTMCAxMjQuOCAwIDEzMS40bDAgMjQ5QzAgMzg3IDIuNiAzOTMuMyA3LjMgMzk4czExIDcuMyAxNy42IDcuM0wyMjUgNDA1LjMgMzI4LjEgNTA4YzIuNiAyLjYgNiA0IDkuNyA0czcuMS0xLjQgOS43LTRjLjEtLjEgLjItLjMgLjQtLjQgMjkuMy0zMS41IDUyLjgtNjcuOCA2OS42LTEwNy40IDYuOS0xNi41IDEyLjctMzMuNSAxNy4zLTUwLjhsMCAwIDIwLjQgNS4zIDAtLjEgMjguMyA3LjNjLjkgLjIgMS43IC40IDIuNiAuNSAxLjQgLjIgMi44IC4yIDQuMS0uMSAyLjUtLjUgNC44LTEuNyA2LjctMy40czMuMi00IDMuOC02LjVjMTUuMi02My40IDE1LjItMTI5LjYgLjEtMTkzbDAgMHpNMzM3LjEgMjQuN2wwIDAgMCAwIDAgMHpNMjI2LjkgMTg5LjhsLTUyLjYgOTEuM2MtMSAxLjctMS41IDMuNy0xLjUgNS43bDAgNDYuMmMwIDUuOC0yLjMgMTEuNC02LjUgMTUuNnMtOS43IDYuNC0xNS42IDYuNGwtMy40IDBjLTUuOCAwLTExLjQtMi4zLTE1LjYtNi40cy02LjUtOS43LTYuNS0xNS42bDAtNDUuN2MwLTEuOS0uNS0zLjgtMS40LTUuNUw3Mi4zIDE4OS42Yy0xLjktMy40LTIuOC03LjEtMi44LTExczEuMS03LjYgMy0xMC45IDQuNy02LjEgOC4xLTggNy4xLTIuOSAxMS0yLjlsMy4zIDBjNCAwIDggMS4xIDExLjUgMy4yczYuMyA1LjEgOC4xIDguN2wzNi40IDcwLjMgMzcuNS03MC41YzEuOC0zLjUgNC42LTYuNCA3LjktOC40czcuMi0zLjIgMTEuMS0zLjIgNy44IC45IDExLjIgMi44IDYuMyA0LjcgOC4yIDguMWMyIDMuMyAzIDcuMSAzIDExcy0xIDcuNy0zIDExbDAgMHpNMzM3LjEgMjQuN2MzNS45IDQwLjYgNjEuOSA4OSA3NS44IDE0MS4zbC42IDItMTE0LjEgMjkuNiAwLTY2LjFjMC02LjYtMi43LTEyLjktNy4zLTE3LjZzLTExLTcuMy0xNy42LTcuM2wtMTkuNCAwIDgyLjEtODEuOHpNMzk3LjYgMzkybDAgMCAwIDBjLTE0LjcgMzQuOC0zNS4xIDY3LTYwLjIgOTUuMmwtODIuMi04MS45IDE5LjIgMGM2LjYgMCAxMi45LTIuNiAxNy42LTcuM3M3LjMtMTEgNy4zLTE3LjZsMC02Ni4yIDExNC42IDI5LjljLTQuNCAxNi4zLTkuOCAzMi4zLTE2LjMgNDcuOWwwIDB6bTg0LTUyLjRsMCAwLTUwLjYtMTMuMS0xMzEuNy0zNC4zIDAtNzIuNSAxMTkuNy0zMSA0LjUtMS4yYzI5LjktNy43IDQ5LjItMTIuOCA1OC4xLTE1LjEgMTIgNTUuMSAxMiAxMTIuMSAwIDE2Ny4yeiJdfSx1eHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibW9keCIsaWNvbjpbNDQ4LDUxMixbXSwiZjI4NSIsIk0zNTYgMjQxLjhsMzYuNyAyMy43IDAgMjE0LjUtMTMzLTgzLjggOTYuMy0xNTQuNHpNNDQwIDc1bC0yMTMuNyAwLTIzIDM3LjggMTUzLjUgOTYuNSA4My4yLTEzNC4zek0zNTEgMjE3LjhsLTI5NS44LTE4NS44IDAgMjE0LjUgNDYgMjkgMjQ5LjgtNTcuN3pNOTcgMjk0LjJMOCA0MzcgMjIxLjcgNDM3IDM0Ni43IDIzNi41IDk3IDI5NC4yeiJdfSxweHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXRocmVhZHMiLGljb246WzQ0OCw1MTIsW10sImU2MTkiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjk0LjIgMjQ0LjNjMTkuNSA5LjMgMzMuNyAyMy41IDQxLjIgNDAuOSAxMC40IDI0LjMgMTEuNCA2My45LTIwLjIgOTUuNC0yNC4yIDI0LjEtNTMuNSAzNS05NS4xIDM1LjNsLS4yIDBjLTQ2LjgtLjMtODIuOC0xNi4xLTEwNi45LTQ2LjgtMjEuNS0yNy4zLTMyLjYtNjUuNC0zMy0xMTMuMWwwLS4yYy40LTQ3LjcgMTEuNS04NS43IDMzLTExMy4xIDI0LjItMzAuNyA2MC4yLTQ2LjUgMTA2LjktNDYuOGwuMiAwYzQ2LjkgLjMgODMuMyAxNiAxMDguMiA0Ni42IDEyLjMgMTUuMSAyMS4zIDMzLjMgMjcgNTQuNGwtMjYuOSA3LjJjLTQuNy0xNy4yLTExLjktMzEuOS0yMS40LTQzLjYtMTkuNC0yMy45LTQ4LjctMzYuMS04Ny0zNi40LTM4IC4zLTY2LjggMTIuNS04NS41IDM2LjItMTcuNSAyMi4zLTI2LjYgNTQuNC0yNi45IDk1LjUgLjMgNDEuMSA5LjQgNzMuMyAyNi45IDk1LjUgMTguNyAyMy44IDQ3LjQgMzYgODUuNSAzNi4yIDM0LjMtLjMgNTYuOS04LjQgNzUuOC0yNy4zIDIxLjUtMjEuNSAyMS4xLTQ3LjkgMTQuMi02NC00LTkuNC0xMS40LTE3LjMtMjEuMy0yMy4zLTIuNCAxOC03LjkgMzIuMi0xNi41IDQzLjItMTEuNCAxNC41LTI3LjcgMjIuNC00OC40IDIzLjUtMTUuNyAuOS0zMC44LTIuOS00Mi42LTEwLjctMTMuOS05LjItMjItMjMuMi0yMi45LTM5LjUtMS43LTMyLjIgMjMuOC01NS4zIDYzLjUtNTcuNiAxNC4xLS44IDI3LjMtLjIgMzkuNSAxLjktMS42LTkuOS00LjktMTcuNy05LjgtMjMuNC02LjctNy44LTE3LjEtMTEuOC0zMC44LTExLjlsLS40IDBjLTExIDAtMjYgMy4xLTM1LjYgMTcuNmwtMjMtMTUuOGMxMi44LTE5LjQgMzMuNi0zMC4xIDU4LjUtMzAuMWwuNiAwYzQxLjggLjMgNjYuNiAyNi4zIDY5LjEgNzEuOCAxLjQgLjYgMi44IDEuMiA0LjIgMS45bC4xIC41em0tNzEuOCA2Ny41YzE3LS45IDM2LjQtNy42IDM5LjctNDguOC04LjgtMS45LTE4LjYtMi45LTI5LTIuOS0zLjIgMC02LjQgLjEtOS42IC4zLTI4LjYgMS42LTM4LjEgMTUuNS0zNy40IDI3LjkgLjkgMTYuNyAxOSAyNC41IDM2LjQgMjMuNmwtLjEtLjF6Il19LGZ4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvbGQtcmVwdWJsaWMiLGljb246WzUxMiw1MTIsW10sImY1MTAiLCJNMjQzLjggMTAuMmM3LjUtLjMgMTUtLjMgMjIuNS0uMSAzLjYgLjEgNy4yIC40IDEwLjggLjcgNC45IC4zIDkuOCAxIDE0LjcgMS42IDIuOSAuNCA1LjggMSA4LjcgMS41IDcuOSAxLjMgMTUuNyAzLjMgMjMuNCA1LjQgMTIuMiAzLjUgMjQuMiA3LjkgMzUuOCAxMy4yIDI2LjYgMTIuMiA1MC45IDI5LjIgNzEuNiA0OS45IDIwIDIwLjEgMzYuNyA0My41IDQ4LjkgNjkuMiAxLjEgMi42IDIuNCA1LjEgMy41IDcuNyAyLjggNi40IDUuNCAxMyA3LjYgMTkuNiA0LjEgMTIuMyA3LjMgMjUgOS40IDM3LjggLjYgMy4xIDEgNi4zIDEuNCA5LjUgLjUgMy44IC45IDcuNyAxLjIgMTEuNiAuOCA4LjMgLjggMTYuNyAuOCAyNS4xLS4xIDUtLjMgOS45LS43IDE0LjktLjIgMy40LS41IDYuOC0xIDEwLjEtLjQgMi43LS42IDUuNS0xLjEgOC4yLS45IDUuMS0xLjcgMTAuMy0yLjkgMTUuNC00LjEgMTguNS0xMC4zIDM2LjYtMTguNSA1My42LTE1LjggMzIuOC0zOC44IDYyLjItNjcuMSA4NS4xLTE3LjMgMTQuMS0zNi40IDI1LjktNTYuOSAzNC45LTYuMiAyLjctMTIuNSA1LjMtMTguOSA3LjQtMy41IDEuMi03IDIuNC0xMC42IDMuNC02LjYgMS45LTEzLjMgMy42LTIwIDUtNC43IC45LTkuMyAxLjctMTQgMi41LTUuMyAuNy0xMC41IDEuNC0xNS44IDEuNy02LjcgLjctMTMuNCAuOC0yMC4xIC44LTYuOCAwLTEzLjYtLjEtMjAuNC0uOC0zLjMtLjItNi42LS41LTkuOC0xLTIuNy0uNC01LjUtLjYtOC4yLTEuMS00LjEtLjctOC4yLTEuNC0xMi40LTIuMi00LjItLjktOC41LTEuOS0xMi43LTMtOC42LTIuMi0xNy4xLTUtMjUuNC04LjEtMTAuNS00LjEtMjAuOC04LjctMzAuNi0xNC4yLTIuMS0xLjItNC4zLTIuMy02LjQtMy42LTExLjItNi42LTIxLjktMTQuMS0zMS45LTIyLjMtMzQuNy0yOC40LTYxLjQtNjYuNC03Ni40LTEwOC43LTMuMS04LjctNS43LTE3LjYtNy44LTI2LjctMS41LTYuMi0yLjUtMTIuNC0zLjYtMTguNy0uNC0yLjMtLjYtNC43LTEtNy4xLS42LTQtLjgtOC0xLjItMTEuOS0uOC05LjUtLjctMTktLjUtMjguNSAuMS0zLjUgLjMtNyAuNy0xMC41IC4zLTMuMiAuNS02LjQgLjktOS41IC40LTIuOCAuNy01LjYgMS4yLTguNCAuNy0zLjkgMS4zLTcuOSAyLjEtMTEuOCAzLjQtMTYuNSA4LjUtMzIuNyAxNS4zLTQ4LjIgMS4yLTIuOSAyLjYtNS43IDMuOS04LjYgOC4xLTE2LjcgMTcuOS0zMi42IDI5LjUtNDcuMSAyMC0yNS40IDQ1LjEtNDYuNyA3My4zLTYyLjUgNy41LTQuMiAxNS4yLTggMjMuMS0xMS40IDE1LjgtNi45IDMyLjQtMTIgNDkuMy0xNS40IDMuNS0uNyA3LTEuMiAxMC42LTEuOCAyLjYtLjUgNS4zLS43IDcuOS0xLjEgMy41LS41IDcuMS0uNyAxMC42LTEgMi41LS4yIDQuOS0uNCA3LjQtLjV6bTguNiAyNC40Yy05LjIgLjEtMTguNCAxLTI3LjYgMi4yLTcuMyAxLjEtMTQuNSAyLjYtMjEuNyA0LjMtMTMuOSAzLjUtMjcuNSA4LjMtNDAuNSAxNC40LTEwLjUgNS0yMC42IDEwLjctMzAuMiAxNy4yLTQuMiAyLjktOC40IDUuOC0xMi4zIDktNS4xIDQtMTAgOC4yLTE0LjcgMTIuNi0yLjUgMi4yLTQuOCA0LjctNy4yIDcuMS0yOC4yIDI4LjgtNDguNCA2NS40LTU3LjUgMTA0LjctMiA4LjQtMy41IDE3LTQuNCAyNS42LTEuMSA4LjktMS40IDE3LjktMS40IDI2LjggLjEgNy4xIC40IDE0LjMgMS4yIDIxLjQgLjYgNy4xIDEuOSAxNC4yIDMuMiAyMS4yIDEuMSA0LjYgMiA5LjMgMy4zIDEzLjkgNi4zIDIzLjQgMTYuNSA0NS43IDMwLjEgNjUuOCA4LjYgMTMgMTguOCAyNC45IDMwIDM1LjggMTYuMyAxNS44IDM1IDI5IDU1LjMgMzkuMiA3LjMgMy41IDE0LjcgNi45IDIyLjMgOS42IDUgMS44IDEwLjEgMy42IDE1LjIgNSAxMS4zIDMuMiAyMi44IDUuNiAzNC40IDcuMSAyLjkgLjMgNS44IC42IDguNyAuOSAxMy44IDEuMSAyNy43IDEgNDEuNS0uNCA0LjQtLjYgOC45LTEgMTMuMy0xLjggMy42LS43IDcuMy0xLjIgMTAuOS0yLjEgNC4xLTEgOC4zLTEuOSAxMi40LTMuMSAyNi41LTcuMyA1MS42LTE5LjcgNzMuNi0zNi4yIDE1LjgtMTEuOCAzMC0yNS44IDQyLjEtNDEuMyAzLjMtNCA2LjItOC4zIDkuMS0xMi42IDMuNC01LjEgNi42LTEwLjIgOS42LTE1LjUgMi40LTQuNCA0LjctOC45IDctMTMuNCA1LjctMTIuMSAxMC4zLTI0LjYgMTMuOC0zNy41IDIuNi0xMCA0LjctMjAuMiA1LjktMzAuNCAxLjgtMTMuNSAxLjktMjcuMSAxLjMtNDAuNy0uMy0zLjktLjctNy44LTEtMTEuNy0yLjItMTkuMS02LjgtMzcuOS0xMy44LTU1LjgtNi0xNS4xLTEzLjUtMjkuNi0yMi42LTQzLjEtMTIuNy0xOC44LTI4LjItMzUuNy00Ni00OS44LTI1LTIwLTU0LjUtMzQuNS04NS42LTQyLjEtNy44LTEuOS0xNS43LTMuMy0yMy42LTQuNC0zLjktLjYtNy44LS44LTExLjgtMS4yLTcuNC0uNi0xNC44LS43LTIyLjItLjZ6TTE0Ny4zIDgzLjVjMTMuMy04LjkgMjguMS0xNS40IDQzLjMtMjAuMi0zLjIgMS44LTYuNCAzLjQtOS41IDUuMy0xMS4yIDYuNy0yMS41IDE0LjktMzAuNCAyNC41LTYuOCA3LjQtMTIuOCAxNS43LTE3IDI0LjktMy4zIDYuOS01LjYgMTQuMi02LjkgMjEuNy0uOSA0LjgtMS4zIDkuOC0xLjIgMTQuOCAuMSAxMy43IDQuNCAyNy4xIDExLjMgMzguOCA1LjkgMTAuMiAxMy42IDE5LjMgMjIuNCAyNy4zIDQuOSA0LjQgMTAuMiA4LjEgMTUgMTIuNiAyLjMgMi4yIDQuNSA0LjQgNi40IDYuOSAyLjYgMy4zIDQuOSA3IDYgMTEuMSAuOSAzIC43IDYuMiAuNyA5LjMgMCA0LjEgMCA4LjIgMCAxMi4zIC4xIDMuNSAwIDcuMSAuMSAxMC42IC4xIDIuNCAwIDQuOCAuMSA3LjEgLjIgNS44IC4xIDExLjUgLjEgMTcuMyAuMSAyLjkgMCA1LjggLjEgOC43IDAgMS42IC4xIDMuMyAwIDQuOS0uOSAuMS0xLjggLjItMi43IC4yLTExIDAtMjEuOS0yLjYtMzItNi45LTYtMi43LTExLjgtNS45LTE3LjEtOS44LTUuOC00LjItMTEuMS05LTE1LjgtMTQuMy02LjUtNy4yLTEyLTE1LjQtMTYuNi0yMy45LTEuMS0yLTIuMi00LTMuMi02LjEtMS4yLTIuNi0yLjYtNS4xLTMuNy03LjgtNC05LjctNi42LTE5LjktOC4xLTMwLjMtLjUtNC40LTEuMS04LjktMS4yLTEzLjMtLjctMTUuNyAuOC0zMS42IDQuNy00Ni44IDIuMS04LjIgNC44LTE2LjIgOC4zLTIzLjggNi4zLTE0LjIgMTUuMy0yNy4yIDI2LjMtMzguMiA2LjMtNi4yIDEzLjEtMTEuOCAyMC41LTE2Ljd6TTMyMi43IDYzLjRjMi43IC43IDUuNCAxLjcgOC4xIDIuNyA2LjQgMi4zIDEyLjcgNC44IDE4LjcgOCAxMy4xIDYuNCAyNS4zIDE0LjggMzUuOCAyNSAxMC4yIDEwIDE4LjcgMjEuNiAyNS4xIDM0LjMgMS4zIDIuNyAyLjYgNS41IDMuOCA4LjMgNi4zIDE1LjEgMTAgMzEuMyAxMS4yIDQ3LjYgLjQgNC41IC40IDkuMSAuNSAxMy42IC4xIDExLjYtMS41IDIzLjMtNC4zIDM0LjUtMiA3LjMtNC4zIDE0LjUtNy45IDIxLjItMy4yIDYuNi02LjcgMTMuMi0xMC44IDE5LjItNi45IDEwLjUtMTUuNiAxOS45LTI1LjggMjcuMi0xMC41IDcuNi0yMi42IDEzLTM1LjQgMTUuNC0zLjUgLjctNy4xIDEuMS0xMC43IDEuMi0xLjggLjEtMy43IC4yLTUuNi0uMS0uMy0yLjEgMC00LjMgMC02LjUgMC0zLjcgLjEtNy40IC4xLTExLjIgLjItNyAwLTE0LjEgLjItMjEuMSAwLTIuNCAwLTQuOCAwLTcuMSAuMi01LjEgMC0xMC4xIC4xLTE1LjIgLjEtMy0uMi02IC41LTkgLjctMi41IDEuOC00LjkgMy4xLTcuMSA0LjUtNy4zIDExLjEtMTMgMTcuNy0xOC4zIDUuNC00LjIgMTAuNS04LjggMTUtMTMuOCA3LjctOC40IDE0LjItMTcuOSAxOC44LTI4LjMgMi41LTUuOSA0LjUtMTIuMSA1LjUtMTguNSAuOS00LjQgMS4xLTguOCAxLTEzLjMgMC03LjgtMS40LTE1LjYtMy42LTIzLjItMS44LTUuNy00LjMtMTEuMi03LjEtMTYuNC0zLjktNi45LTguNi0xMy4zLTE0LTE5LjItOS45LTEwLjgtMjEuOC0xOS45LTM0LjYtMjcuMS0xLjgtMS0zLjgtMS44LTUuNi0zek0yMjEuOSAxMjEuOWMxLTEuMiAyLTIuMyAzLjEtMy40LS42IC45LTEuMyAxLjgtMiAyLjctMy4xIDMuOS01LjUgOC4zLTcgMTMuMS0uOSAzLjMtMS43IDYuNi0xLjcgMTAtLjEgMi41LS4xIDUuMSAuMyA3LjYgMS4xIDcuNiA0LjMgMTQuOSA4LjggMjEuMSAyIDIuNyA0LjIgNS4zIDYuOSA3LjMgMS42IDEuMyAzLjUgMi4xIDUuMyAzIDMuMSAxLjcgNi4zIDMuMiA5LjEgNS41IDIuNyAyLjEgNC42IDUuMyA0LjQgOC44IDAgNzMuNyAwIDE0Ny4zIDAgMjIxIDAgMS40LS4xIDIuNyAwIDQgLjEgMS41IC44IDIuOCAxLjUgNC4xIC45IDEuNyAxLjggMy4zIDMuMiA0LjYgLjkgLjggMiAxLjQgMy4yIDEuMiAxLjUtLjIgMi43LTEuNCAzLjQtMi42IDEtMS41IDEuNy0zLjIgMi4zLTQuOSAuOC0yLjEgLjQtNC40IC41LTYuNiAuMS00IDAtOC4xIC4xLTEyLjEgMC01LjkgMC0xMS44IC4xLTE3LjcgLjEtMy42IDAtNy4yIC4xLTEwLjkgLjItNCAwLTguMSAuMS0xMi4xIDAtNiAwLTEyIC4xLTE4IC4xLTMuNiAwLTcuMiAuMS0xMC45IC4xLTMuOSAwLTcuOSAuMS0xMS44IDAtNiAwLTEyIC4xLTE4IC4yLTMuOSAwLTcuOSAuMi0xMS44IC4zIDEuNCAuMSAyLjkgLjIgNC40IC4yIDMuNiAuNCA3LjIgLjggMTAuOCAuMyAzLjQgLjQgNi45IC45IDEwLjMgLjQgMy4xIC41IDYuMiAxIDkuMyAuNiA0LjEgLjkgOC4yIDEuNSAxMi4zIDEuNSA5IDIuOCAxOC4xIDUuMSAyNyAxLjEgNC44IDIuNCA5LjYgNCAxNC4zIDIuNSA3LjkgNS43IDE1LjcgMTAuMyAyMi42IDEuNyAyLjYgMy45IDUgNi4xIDcuMiAuMyAuMiAuNiAuNSAuOSAuNyAuNiAuMyAxLjMtLjEgMS43LS42IC43LS45IDEuMi0xLjkgMS43LTIuOSA0LjEtNy44IDguMi0xNS42IDEyLjMtMjMuMyAuNy0xLjMgMS40LTIuNiAyLjYtMy42IDEuOC0xLjYgMy44LTIuNyA2LTMuNiAyLjktMS4yIDUuOS0yLjIgOS0yLjQgNi42LS42IDEzLjEgLjcgMTkuNiAxLjggMy43IC42IDcuNCAxLjIgMTEuMSAxLjQgMy43IC4xIDcuNSAuMSAxMS4yLS4zIDguNi0uOSAxNy0zIDI0LjktNi4yIDUuMy0yLjIgMTAuNS00LjggMTUuMy03LjkgMTEuNS03LjIgMjEuNS0xNi42IDMwLTI3IDEuMi0xLjQgMi4yLTIuOSAzLjUtNC4zLTEuMiAzLjItMi43IDYuNC00LjIgOS41LTEuMyAyLjktMi44IDUuNi00LjMgOC40LTUuMiA5LjYtMTEgMTguOS0xNy44IDI3LjUtNCA1LjItOC41IDEwLjEtMTMuMyAxNC42LTYuNiA2LjEtMTQuMSAxMS40LTIyLjQgMTQuOC04LjIgMy40LTE3LjMgNC42LTI2LjEgMy4zLTMuNi0uNi03LTEuNy0xMC40LTIuOS0yLjgtMS01LjQtMi40LTgtMy43LTMuNC0xLjctNi42LTMuOC05LjctNi4xIDIuNyAzLjEgNS43IDUuOSA4LjcgOC42IDQuMyAzLjggOC43IDcuMyAxMy42IDEwLjIgNCAyLjUgOC4zIDQuNCAxMi44IDUuNSAxLjUgLjQgMyAuNSA0LjUgLjYtMS4zIDEuMS0yLjYgMi00IDMtOS42IDYuNS0yMCAxMS45LTMwLjcgMTYuNC0yMC45IDguNy00My4yIDE0LTY1LjcgMTUuMy00LjcgLjItOS4zIC40LTE0IC40LTUtLjEtMTAtLjEtMTQuOS0uNy0xMS4yLS44LTIyLjMtMi43LTMzLjItNS40LTEwLjQtMi43LTIwLjYtNi4xLTMwLjMtMTAuNi04LjctMy45LTE3LjEtOC40LTI1LTEzLjgtMS44LTEuMy0zLjctMi41LTUuNC00LjEgNi42LTEuMiAxMy0zLjQgMTktNi41IDUuNy0yLjkgMTEtNi43IDE1LjYtMTEuMSAyLjItMi4yIDQuMy00LjYgNi4yLTcuMS0zLjQgMi4xLTYuOSA0LjItMTAuNiA1LjgtNC40IDIuMi05LjEgMy44LTEzLjggNS01LjcgMS41LTExLjcgMS43LTE3LjYgMS4xLTguMS0xLTE1LjktNC4zLTIyLjUtOS00LjMtMi45LTguMi02LjQtMTItMTAuMS05LjktMTAuMi0xOC4yLTIxLjgtMjUuNy0zMy45LTMuOS02LjMtNy41LTEyLjctMTEuMS0xOS4yLTEtMi0yLjEtNC4xLTMuMi02LjEgMi44IDIuOSA1LjYgNiA4LjQgOC45IDE5LjIgMTkuMiAzNy42IDMyLjMgNTMuNyAzNS41IDMuMSAuNyA2LjMgLjUgOS41IC44IDIuOCAuMyA1LjYgLjIgOC4zIC4zIDUgLjEgMTAuMSAwIDE1LjItLjIgMy42LS4yIDcuMy0uNyAxMC45LTEuMSAyLjEtLjIgNC4xLS43IDYuMS0xLjIgMy45LTEgOC4xLTEgMTEuOCAuNiA0LjggMS44IDguNCA1LjYgMTEuNCA5LjcgMi4yIDMgNC4xIDYuMiA1LjcgOS42IDEuMiAyLjQgMi41IDQuOCAzLjYgNy4zIDEgMi4yIDIuMiA0LjQgMy40IDYuNSAuNyAxIDEuNCAyLjIgMi42IDIuNiAxLjEtLjggMS43LTEuOSAyLjMtMyAyLjEtNC4yIDMuNC04LjYgNC45LTEzIDItNi42IDMuOC0xMy4zIDUuMi0yMCAyLjItOS4zIDMuMi0xOC43IDQuNS0yOC4xIC42LTQgLjgtOCAxLjMtMTIgLjktMTAuNiAxLjktMjEuMyAyLjItMzEuOSAuMS0xLjkgLjItMy43IC4zLTUuNiAwLTQuMyAuMi04LjcgLjItMTMgMC0yLjQgMC00LjggMC03LjEgMC01LjEtLjItMTAuMS0uMi0xNS4yLS4yLTYuNi0uNy0xMy4yLTEuMy0xOS44LS43LTUuOS0xLjUtMTEuOC0zLjEtMTcuNS0yLTcuNy01LjYtMTUtOS44LTIxLjgtMy4yLTUuMS02LjgtOS45LTExLjEtMTQtMy45LTMuOS04LjYtNy4xLTEzLjktOC40LTEuNS0uNC0zLjEtLjQtNC42LS42IC4xLTMgLjctNS45IDEuMy04LjggMS42LTcuNyAzLjgtMTUuMyA2LjgtMjIuNiAxLjUtNCAzLjQtNy45IDUuNC0xMS43IDMuNC02LjYgNy42LTEyLjggMTIuNS0xOC41em0zMS4zIDEuN2MuNC0uMSAuNy0uMSAxLjEtLjIgLjIgMS44IC4xIDMuNiAuMSA1LjRsMCAzOC4xYzAgMS43IC4xIDMuNS0uMiA1LjItLjQgMC0uNyAwLTEuMSAwLS45LTMuOC0xLjctNy42LTIuNi0xMS4zLS40LTEuNS0uNi0zLjEtMS4xLTQuNi0xLjctLjItMy40LS4yLTUuMi0uMi01LjEgMC0xMC4xIDAtMTUuMiAwLTEuNyAwLTMuMyAuMS01IDAgMC0uNC0uMy0uOSAuMi0xLjIgMS4zLS43IDIuNy0uOSA0LjEtMS40IDMuNC0xLjEgNi45LTIuMiAxMC4zLTMuMyAxLjQtLjUgMi45LS43IDQuMi0xLjUgMC0uNiAwLTEuMSAwLTEuNy0xLjItLjYtMi41LS45LTMuOC0xLjMtMy4xLTEtNi4zLTItOS40LTMtMS44LS42LTMuNy0xLTUuNC0xLjggMC0uNC0uMS0uNy0uMS0xLjEgNS4xLS4yIDEwLjIgLjEgMTUuMy0uMSAzLjQtLjEgNi43IC4xIDEwLjEtLjEgLjEtLjQgLjMtLjggLjQtMS4yIDEuMS00LjkgMi4zLTkuOCAzLjQtMTQuN3ptNi0uMmMuNCAwIC43IC4xIDEuMSAuMiAxIDMuOCAxLjcgNy44IDIuNyAxMS42IC40IDEuNCAuNiAyLjkgMSA0LjMgMi41IC4yIDUuMSAwIDcuNiAwIDUuMiAuMSAxMC4zIC4xIDE1LjUgLjEgLjggMCAxLjUgMCAyLjMgLjEgMCAuNC0uMSAuNy0uMSAxLjEtMS44IC44LTMuOCAxLjItNS43IDEuOS0zLjcgMS4yLTcuNSAyLjQtMTEuMiAzLjYtLjYgLjItMS4xIC40LTEuNyAuNi0uMiAuNi0uMiAxLjEtLjEgMS43IC45IC41IDEuOCAuOCAyLjggMS4xIDQuOSAxLjUgOS43IDMuMSAxNC42IDQuNiAuNCAuMSAuOCAuMyAxLjEgLjUgLjQgLjMgLjIgLjggLjIgMS4yLTEuNyAuMS0zLjMgMC01IDAtNS4yIDAtMTAuMyAwLTE1LjUgMC0xLjYgMC0zLjIgMC00LjggLjItLjUgMS43LS43IDMuNC0xLjIgNS4xLS45IDMuNi0xLjUgNy4yLTIuNSAxMC44LS40IDAtLjcgMC0xLjEgLjEtLjMtMS43LS4yLTMuNS0uMi01LjJsMC0zOC4xYzAtMS44LS4xLTMuNiAuMS01LjR6bS0xODYgNDVjMS4xLTIuMiAyLjEtNC40IDMuNC02LjUtMS44IDcuNi0yLjkgMTUuMy0zLjYgMjMtLjggNy43LS44IDE1LjUtLjUgMjMuMiAxLjEgMTkuOSA1LjUgMzkuOCAxNC4yIDU3LjkgMyA2IDYuNCAxMS44IDEwLjUgMTcuMSA2LjEgNy41IDEyLjUgMTQuOCAxOS44IDIxLjEgNC44IDQuMSAxMCA3LjggMTUuNSAxMC44IDMuMyAxLjcgNi41IDMuNCA5LjkgNC43IDUgMiAxMC4yIDMuNiAxNS40IDQuOSAzLjggMSA3LjggMS40IDExLjUgMi43IDUgMS42IDkuNSA0LjYgMTMgOC40IDQuOSA1LjIgOC4xIDExLjkgMTAuMiAxOC43IDEgMi45IDEuNiA1LjkgMi4yIDguOSAuMiAuOCAuMiAxLjUgLjIgMi4zLTYuNSAyLjgtMTMuMyA1LjEtMjAuMyA2LjItNC4xIC44LTguMyAxLTEyLjUgMS4xLTEwLjIgLjItMjAuNS0xLjgtMzAuMS01LjEtMy43LTEuNC03LjUtMi45LTExLTQuNy04LjEtMy44LTE1LjYtOC43LTIyLjUtMTQuNS0yLjktMi42LTUuOC01LjEtOC40LTgtOS4yLTkuOC0xNi4zLTIxLjQtMjEuOC0zMy43LTIuNC01LjUtNC42LTExLjItNi40LTE3LTEuMi0zLjktMi40LTcuOS0zLjMtMTEuOS0uNy0yLjktMS4yLTUuOS0xLjktOC45LS41LTIuMS0uNy00LjMtMS02LjUtLjgtNS40LTEuMy0xMC45LTEuMy0xNi40IC4xLTYuMiAuMi0xMi40IDEuMS0xOC41IC40LTIuOSAuNy01LjcgMS4yLTguNiAxLTUuNyAyLjEtMTEuNCAzLjctMTYuOSAzLjEtMTEuNiA3LjUtMjMgMTIuNy0zMy44em0zNjMuNy02LjRjMS4xIDEuNyAxLjkgMy41IDIuOCA1LjMgMi4xIDQuNSA0LjIgOC45IDYgMTMuNSA3LjYgMTguOCAxMi4zIDM4LjggMTMgNTkgMCAxLjggLjEgMy41IC4xIDUuMyAuMSA5LjYtMS4zIDE5LjEtMy4yIDI4LjUtLjcgMy42LTEuNSA3LjItMi42IDEwLjctNCAxNC43LTEwIDI5LTE4LjQgNDEuOC04LjIgMTIuNi0xOSAyMy41LTMxLjggMzEuNC01LjcgMy42LTExLjggNi42LTE4IDkuMi01LjggMi4yLTExLjcgNC0xNy44IDUuMS02LjQgMS0xMi45IDEuNS0xOS40IDEuMi03LjktLjUtMTUuOC0yLjEtMjMuMi00LjgtMS45LS44LTMuOS0xLjUtNS44LTIuMy0uMi0xLjUgLjItMyAuNS00LjUgMS4yLTUuNyAzLTExLjQgNS43LTE2LjYgMi40LTQuNSA1LjUtOC43IDkuNS0xMS45IDIuNC0yLjEgNS4yLTMuNiA4LjItNC44IDMuNi0xLjUgNy41LTIgMTEuMi0yLjggNy4yLTEuNyAxNC40LTMuOSAyMS4yLTcgMTAuMy00LjcgMTkuNy0xMS40IDI3LjYtMTkuNSAxLjYtMS42IDMuMi0zLjIgNC43LTQuOSAzLjQtMy44IDYuNy03LjYgOS44LTExLjUgNy41LTEwLjEgMTIuOC0yMS42IDE2LjctMzMuNSAxLjYtNS4zIDMuMi0xMC42IDQuMi0xNi4xIC42LTIuOSAxLTUuOCAxLjUtOC43IC45LTYuMSAxLjYtMTIuMiAxLjctMTguNCAuMS02LjYgLjEtMTMuMy0uNS0xOS45LS43LTgtMS45LTE2LTMuNy0yMy44eiJdfSxoeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3VzZSIsaWNvbjpbNjQwLDUxMixbXSwiZjdkNiIsIk02MDQuNSAyMTBhMTAuNCAxMC40IDAgMSAxIC0xMS40LTE3LjQgMTAuNCAxMC40IDAgMSAxIDExLjQgMTcuNHpNNjIxIDE4Ny4yYTM4LjUgMzguNSAwIDEgMSAtNzUgMTcuNiAzOC41IDM4LjUgMCAxIDEgNzUtMTcuNnpNNDMzLjcgMzM2LjdjMy4yIDQuNiA1LjggOSA3LjMgMTMuNCAxIDMuMSAyLjQgNy4zIDUuNSA4LjkgLjIgLjEgLjMgLjIgLjUgLjIgNS43IDIuMSAyMC4zIDEuNyAyMC4zIDEuN2wyNi44IDBjMi4zIDAgMjIuNCAwIDIxLjktMi4zLTIuNC0xMC44LTE0LjktMTIuNy0yNC40LTE4LjMtOC43LTUuMi0xNy0xMS4xLTIwLjgtMjEuMy0yLTUuMi0uOC0xNy40IDIuNi0yMS44IDIuNS0zLjIgNi4xLTUuMyAxMC02LjIgNC4zLS45IDguOC0uMSAxMy4xIC4zIDUuMyAuNSAxMC42IDEuNSAxNS45IDIuMiAxMC4zIDEuMyAyMC42IDEuOSAzMSAxLjYgMTcuMS0uNSAzNC4yLTMuMiA1MC40LTguNyAxMS4zLTMuOCAyMi40LTguOSAzMi0xNi4xIDEwLjktOC4xIDguMS03LjQtMy02LjItMTMuMyAxLjQtMjYuNiAxLjYtMzkuOSAuOC0xMi40LS43LTI0LjctMi4yLTM1LjktNy45LTguOC00LjYtMTYuNC05LjEtMjMuNC0xNi4yLTEtMS4xLTEuNy00LjIgLjItNi4yIDEuOS0xLjkgNS44LS44IDcgLjIgMTIuMiAxMC4yIDMwLjUgMTguNiA0OS4zIDE5LjUgMTAuMiAuNSAyMC4xIC43IDMwLjQgLjMgNS4xLS4yIDEyLjgtLjIgMTcuOS0uMyAyLjYgMCA5LjggLjcgMTEuMi0yLjEgLjQtLjggLjQtMS44IC4zLTIuNy0xLjUtNDAuOS00LjUtODYuOS00Ny4zLTEwNi41LTMxLjktMTQuNi03OS43LTM3LjItOTkuOS00Ni42LTQuNy0yLjItMTAuMiAxLjMtMTAuMiA2LjUgMCAxMy42IC43IDMzLjMgLjcgNTEuMS05LjctOS45LTI2LTE2LjEtMzguNC0yMS44LTE0LjEtNi41LTI4LjctMTItNDMuNS0xNi42LTI5LjgtOS4yLTYwLjctMTQuOS05MS43LTE4LTM1LjItMy41LTcxLTEuOC0xMDUuNyA1LjMtNTYuOSAxMi4yLTExMy4xIDM5LjctMTU1LjcgNzkuOC0yNi4xIDI0LjYtNDYuNiA1OS43LTQ4IDk1LjItMiA1MC4zIDEyLjEgNzcuMyAzOCAxMDUuMiA0MS4zIDQ0LjQgMTMwLjIgNTAuNiAxNjYuMi0yIDE2LjItMjMuNyAxOS43LTU1LjggOC04Mi0xMS44LTI2LjItMzguOC00NS4xLTY3LjQtNDYtMjIuMi0uNy00NS45IDEwLjYtNTQuNSAzMS4xLTYuNSAxNS43LTIuOCAzNS4xIDkgNDcuMyA0LjYgNC44IDEwLjkgOC43IDE3LjcgNy4xIDQtLjkgNy40LTMuOSA4LTggLjktNi00LjQtOS45LTcuNi0xNC41LTUuOC04LjMtNC43LTIwLjkgMi43LTI3LjkgNi4yLTYgMTUuMy03LjggMjMuOS03LjcgOCAwIDE2LjIgMS40IDIzLjEgNS41IDkuNyA1LjcgMTYuMiAxNi4yIDE4LjQgMjcuMiA2LjcgMzMtMjAuMiA1OS45LTU2LjYgNjItMTguNiAxLjEtMzcuNi0zLjgtNTIuMS0xNS41LTM2LjktMjkuOC00NS45LTkwLjMtMy44LTEyMi43IDQwLTMwLjcgOTAuNC0yMi44IDEyMC4yLTYuOCAyMy44IDEyLjggNDEuNSAzMy42IDU1IDU2LjcgNi43IDExLjYgMTIuNSAyMy43IDE3LjggMzYuMSA1LjEgMTEuOCA5LjkgMjMuOCAyMC4yIDMyLjUgNi44IDUuOCAxNS4yIDUuNiAyNC4xIDUuNmw1MC44IDBjNi45IDAgNS4yLTQuNiAyLjItNy43LTYuNy02LjktMTYuNC04LjQtMjUuNC0xMC45LTIwLjUtNS42LTE4LjQtMzIuOC0xMi43LTMyLjggMTguMyAwIDE4LjkgLjYgMzQuOSAuMyAyMy4yLS4zIDMwLjItMS43IDQ4LjMgNSA5LjcgMy42IDE5IDEzLjEgMjUuMSAyMS43eiJdfSxteHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXBwLXN0b3JlLWlvcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjM3MCIsIk00MDAgMzJMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MEwwIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwzNTIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1MmMwLTI2LjUtMjEuNS00OC00OC00OHpNMTI3IDM4NC41Yy01LjUgOS42LTE3LjggMTIuOC0yNy4zIDcuMy05LjYtNS41LTEyLjgtMTcuOC03LjMtMjcuM2wxNC4zLTI0LjdjMTYuMS00LjkgMjkuMy0xLjEgMzkuNiAxMS40TDEyNyAzODQuNXptMTM4LjktNTMuOUw4NCAzMzAuNmMtMTEgMC0yMC05LTIwLTIwczktMjAgMjAtMjBsNTEgMCA2NS40LTExMy4yLTIwLjUtMzUuNGMtNS41LTkuNi0yLjItMjEuOCA3LjMtMjcuMyA5LjYtNS41IDIxLjgtMi4yIDI3LjMgNy4zbDguOSAxNS40IDguOS0xNS40YzUuNS05LjYgMTcuOC0xMi44IDI3LjMtNy4zIDkuNiA1LjUgMTIuOCAxNy44IDcuMyAyNy4zbC04NS44IDE0OC42IDYyLjEgMGMyMC4yIDAgMzEuNSAyMy43IDIyLjcgNDB6bTk4LjEgMGwtMjkgMCAxOS42IDMzLjljNS41IDkuNiAyLjIgMjEuOC03LjMgMjcuMy05LjYgNS41LTIxLjggMi4yLTI3LjMtNy4zLTMyLjktNTYuOS01Ny41LTk5LjctNzQtMTI4LjEtMTYuNy0yOS00LjgtNTggNy4xLTY3LjggMTMuMSAyMi43IDMyLjcgNTYuNyA1OC45IDEwMmw1MiAwYzExIDAgMjAgOSAyMCAyMCAwIDExLjEtOSAyMC0yMCAyMHoiXX0sZ3h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVsdHJhbHl0aWNzLXlvbG8iLGljb246WzUxMiw1MTIsW10sImU4NmYiLCJNMzgzLjUgMTAuOGM2MS44LS4yIDExMi4zIDUwLjYgMTEyLjMgMTEyLjktLjIgMi43IDAgMC0uMSAzLjNsLjMgLjNjLTEuNSA4OS45LTUzIDE2OC40LTEyNy40IDIwOC41bDAgNTIuOGMwIDYyLjYtNTEuMSAxMTMuNS0xMTMuNyAxMTIuOS02Mi0uNi0xMTEuNC01Mi4yLTExMS40LTExNC4zbDAtNTEuMmMtNDAuNy0yMS45LTc0LjUtNTUuMi05Ny05NS42IDIzLjIgMTYuNSA1MS43IDI2IDgyIDI1LjkgNzguNi0uMiAxNDIuMi02NCAxNDIuMy0xNDIuNSAuMS02Mi4zIDUwLjUtMTEyLjcgMTEyLjktMTEyLjl6bS0yNTUgMjI1LjhhMTEyLjkgMTEyLjkgMCAxIDEgMC0yMjUuOCAxMTIuOSAxMTIuOSAwIDEgMSAwIDIyNS44eiJdfSxPdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWRyaWJiYmxlIixpY29uOls0NDgsNTEyLFsiZHJpYmJibGUtc3F1YXJlIl0sImYzOTciLCJNMTY1LjkgMTMyLjVjLTM4LjMgMTgtNjYuOCA1My4zLTc1LjcgOTUuNyA2LjEgLjEgNjIuNCAuMyAxMjYuNC0xNi43LTIyLjctNDAuMi00Ny4xLTc0LjEtNTAuNy03OXptMjYuMS05LjFjMy44IDUuMSAyOC42IDM4LjkgNTEgODAgNDguNi0xOC4zIDY5LjEtNDUuOSA3MS42LTQ5LjQtMzMuNi0yOS44LTc5LjMtNDEuMS0xMjIuNi0zMC42ek0yNzcuNCAzODJjLTItMTItMTAtNTMuOC0yOS4yLTEwMy42LTU1LjEgMTguOC05My44IDU2LjQtMTA4LjEgODUuNiA0MC41IDMxLjYgOTMuMyAzNi43IDEzNy4zIDE4ek0yMjcuOCAyMzIuNkMxNTkuNiAyNTMgOTMuNCAyNTIuMiA4Ny40IDI1MmwwIDQuMmMwIDM1LjEgMTMuMyA2Ny4xIDM1LjEgOTEuNCAyMi4yLTM3LjkgNjcuMS03Ny45IDExNi41LTkxLjgtMy40LTcuOC03LjItMTUuNS0xMS4xLTIzLjJsLS4xIDB6bTcyLjUgMTM2LjljMzAuNy0yMC43IDUyLjUtNTMuNiA1OC42LTkxLjYtNC42LTEuNS00Mi4zLTEyLjctODUuMS01LjggMTcuOSA0OS4xIDI1LjEgODkuMSAyNi41IDk3LjR6bS0zNC44LTExOWM0NS41LTUuNyA5MC43IDMuNCA5NS4yIDQuNC0uMy0zMi4zLTExLjgtNjEuOS0zMC45LTg1LjEtMi45IDMuOS0yNS44IDMzLjItNzYuMyA1My45IDQuOCA5LjggOC4zIDE3LjggMTIgMjYuOHpNMzg0IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTIyNCA5NmExNjAgMTYwIDAgMSAxIDAgMzIwIDE2MCAxNjAgMCAxIDEgMC0zMjB6Il19LGJ4dD1PdWUsdnh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InVpa2l0IixpY29uOls0NDgsNTEyLFtdLCJmNDAzIiwiTTQ0My45IDEyOGwwIDI1Ni0yMjUuOSAxMjgtMjE4LTEyOCAwLTIxNC4zIDg3LjYgNDUuMSAwIDExNyAxMzMuNSA3NS41IDEzNS44LTc1LjUgMC0xNTEtMTAxLjEtNTcuNiA4Ny42LTUzLjEgMTAwLjUgNTcuOXpNMzA4LjYgNDkuMWwtODQuOC00OS4xLTg4LjYgNTQuOCA4NiA0Ny4zIDg3LjQtNTN6Il19LHh4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdXBlcnBvd2VycyIsaWNvbjpbNDQ4LDUxMixbXSwiZjJkZCIsIk00NDggMzJjLTgzLjMgMTEtMTY2LjggMjItMjUwIDMzLTkyIDEyLjUtMTYzLjMgODYuNy0xNjkgMTgwLTMuMyA1NS41IDE4IDEwOS41IDU3LjggMTQ4LjJMMCA0ODBjODMuMy0xMSAxNjYuNS0yMiAyNDkuOC0zMyA5MS44LTEyLjUgMTYzLjMtODYuOCAxNjguNy0xNzkuOCAzLjUtNTUuNS0xOC0xMDkuNS01Ny43LTE0OC4yTDQ0OCAzMnpNMzY4LjMgMjY0LjNjLTQuMiA3OS41LTc0IDEzOS4yLTE1Mi44IDEzNC41LTc5LjUtNC43LTE0MC43LTcxLTEzNi4zLTE1MSA0LjUtNzkuMiA3NC4zLTEzOS4zIDE1My0xMzQuNSA3OS4zIDQuNyAxNDAuNSA3MSAxMzYuMSAxNTF6Il19LHl4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ5b3V0dWJlIixpY29uOls1NzYsNTEyLFs2MTgwMl0sImYxNjciLCJNNTQ5LjcgMTI0LjFDNTQzLjUgMTAwLjQgNTI0LjkgODEuOCA1MDEuNCA3NS41IDQ1OC45IDY0IDI4OC4xIDY0IDI4OC4xIDY0UzExNy4zIDY0IDc0LjcgNzUuNUM1MS4yIDgxLjggMzIuNyAxMDAuNCAyNi40IDEyNC4xIDE1IDE2NyAxNSAyNTYuNCAxNSAyNTYuNHMwIDg5LjQgMTEuNCAxMzIuM2M2LjMgMjMuNiAyNC44IDQxLjUgNDguMyA0Ny44IDQyLjYgMTEuNSAyMTMuNCAxMS41IDIxMy40IDExLjVzMTcwLjggMCAyMTMuNC0xMS41YzIzLjUtNi4zIDQyLTI0LjIgNDguMy00Ny44IDExLjQtNDIuOSAxMS40LTEzMi4zIDExLjQtMTMyLjNzMC04OS40LTExLjQtMTMyLjN6TTIzMi4yIDMzNy42bDAtMTYyLjQgMTQyLjcgODEuMi0xNDIuNyA4MS4yeiJdfSx3eHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZW1iZXIiLGljb246WzY0MCw1MTIsW10sImY0MjMiLCJNNjM5LjkgMjU0LjZjLTEuMS0xMC43LTEwLjctNi44LTEwLjctNi44cy0xNS42IDEyLjEtMjkuMyAxMC43Yy0xMy43LTEuMy05LjQtMzItOS40LTMyczMtMjguMS01LjEtMzAuNGMtOC4xLTIuNC0xOCA3LjMtMTggNy4zcy0xMi40IDEzLjctMTguMyAzMS4ybC0xLjYgLjVzMS45LTMwLjYtLjMtMzcuNmMtMS42LTMuNS0xNi40LTMuMi0xOC44IDNzLTE0LjIgNDkuMi0xNSA2Ny4yYzAgMC0yMy4xIDE5LjYtNDMuMyAyMi44cy0yNS05LjQtMjUtOS40IDU0LjgtMTUuMyA1Mi45LTU5LjEtNDQuMi0yNy42LTQ5LTI0Yy00LjYgMy41LTI5LjQgMTguNC0zNi42IDU5LjctLjIgMS40LS43IDcuNS0uNyA3LjVzLTIxLjIgMTQuMi0zMyAxOGMwIDAgMzMtNTUuNi03LjMtODAuOS0xMS40LTYuOC0yMS4zLS41LTI3LjIgNS4zIDEzLjYtMTcuMyA0Ni40LTY0LjIgMzYuOS0xMDUuMi01LjgtMjQuNC0xOC0yNy4xLTI5LjItMjMuMS0xNyA2LjctMjMuNSAxNi43LTIzLjUgMTYuN3MtMjIgMzItMjcuMSA3OS41LTEyLjYgMTA1LjEtMTIuNiAxMDUuMS0xMC41IDEwLjItMjAuMiAxMC43LTUuNC0yOC43LTUuNC0yOC43IDcuNS00NC42IDctNTIuMS0xLjEtMTEuNi05LjktMTQuMmMtOC45LTIuNy0xOC41IDguNi0xOC41IDguNnMtMjUuNSAzOC43LTI3LjcgNDQuNmwtMS4zIDIuNC0xLjMtMS42czE4LTUyLjcgLjgtNTMuNS0yOC41IDE4LjgtMjguNSAxOC44LTE5LjYgMzIuOC0yMC40IDM2LjVsLTEuMy0xLjZzOC4xLTM4LjIgNi40LTQ3LjZjLTEuNi05LjQtMTAuNS03LjUtMTAuNS03LjVzLTExLjMtMS4zLTE0LjIgNS45LTEzLjcgNTUuMy0xNSA3MC43YzAgMC0yOC4yIDIwLjItNDYuOCAyMC40LTE4LjUgLjMtMTYuNy0xMS44LTE2LjctMTEuOHM2OC0yMy4zIDQ5LjQtNjkuMmMtOC4zLTExLjgtMTgtMTUuNS0zMS43LTE1LjMtMTMuNyAuMy0zMC4zIDguNi00MS4zIDMzLjMtNS4zIDExLjgtNi44IDIzLTcuOCAzMS41IDAgMC0xMi4zIDIuNC0xOC44LTIuOXMtMTAgMC0xMCAwLTExLjIgMTQtLjEgMTguMyAyOC4xIDYuMSAyOC4xIDYuMWMxLjYgNy41IDYuMiAxOS41IDE5LjYgMjkuNyAyMC4yIDE1LjMgNTguOC0xLjMgNTguOC0xLjNsMTUuOS04LjhzLjUgMTQuNiAxMi4xIDE2LjcgMTYuNCAxIDM2LjUtNDcuOWMxMS44LTI1IDEyLjYtMjMuNiAxMi42LTIzLjZsMS4zLS4zcy05LjEgNDYuOC01LjYgNTkuN0MxODcuNyAzMTkuNCAyMDMgMzE4IDIwMyAzMThzOC4zIDIuNCAxNS0yMS4yIDE5LjYtNDkuOSAxOS42LTQ5LjlsMS42IDBzLTUuNiA0OC4xIDMgNjMuNyAzMC45IDUuMyAzMC45IDUuMyAxNS42LTcuOCAxOC0xMC4yYzAgMCAxOC41IDE1LjggNDQuNiAxMi45IDU4LjMtMTEuNSA3OS4xLTI1LjkgNzkuMS0yNS45czEwIDI0LjQgNDEuMSAyNi43YzM1LjUgMi43IDU0LjgtMTguNiA1NC44LTE4LjZzLS4zIDEzLjUgMTIuMSAxOC42IDIwLjctMjIuOCAyMC43LTIyLjhsMjAuNy01Ny4yIDEuOSAwczEuMSAzNy4zIDIxLjUgNDMuMiA0Ny0xMy43IDQ3LTEzLjcgNi40LTMuNSA1LjMtMTQuM3ptLTU3OCA1LjNjLjgtMzIgMjEuOC00NS45IDI5LTM5IDcuMyA3IDQuNiAyMi05LjEgMzEuNC0xMy43IDkuNS0xOS45IDcuNi0xOS45IDcuNnpNMzM0LjcgMTM2LjFzMTkuMS00OS43IDIzLjYtMjUuNS00MCA5Ni4yLTQwIDk2LjJjLjUtMTYuMiAxNi40LTcwLjcgMTYuNC03MC43em0yMi44IDEzOC40Yy0xMi42IDMzLTQzLjMgMTkuNi00My4zIDE5LjZzLTMuNS0xMS44IDYuNC00NC45IDMzLjMtMjAuMiAzMy4zLTIwLjIgMTYuMiAxMi40IDMuNiA0NS41em04NC42LTE0LjZzLTMtMTAuNSA4LjEtMzAuNmMxMS0yMC4yIDE5LjYtOS4xIDE5LjYtOS4xczkuNCAxMC4yLTEuMyAyNS41LTI2LjQgMTQuMi0yNi40IDE0LjJ6Il19LE14dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJib290c3RyYXAiLGljb246WzU3Niw1MTIsW10sImY4MzYiLCJNMzMzLjUgMjAxLjRjMC0yMi4xLTE1LjYtMzQuMy00My0zNC4zbC01MC40IDAgMCA3MS4yIDQyLjUgMGMzMi44LS4xIDUwLjktMTMuMyA1MC45LTM2Ljl6TTUxNyAxODguNmMtOS41LTMwLjktMTAuOS02OC44LTkuOC05OC4xIDEuMS0zMC41LTIyLjctNTguNS01NC43LTU4LjVMMTIzLjcgMzJjLTMyLjEgMC01NS44IDI4LjEtNTQuNyA1OC41IDEgMjkuMy0uMyA2Ny4yLTkuOCA5OC4xLTkuNiAzMS0yNS43IDUwLjYtNTIuMiA1My4xbDAgMjguNWMyNi40IDIuNSA0Mi42IDIyLjEgNTIuMiA1My4xIDkuNSAzMC45IDEwLjkgNjguOCA5LjggOTguMS0xLjEgMzAuNSAyMi43IDU4LjUgNTQuNyA1OC41bDMyOC43IDBjMzIuMSAwIDU1LjgtMjguMSA1NC43LTU4LjUtMS0yOS4zIC4zLTY3LjIgOS44LTk4LjEgOS42LTMxIDI1LjctNTAuNiA1Mi4xLTUzLjFsMC0yOC41Yy0yNi4zLTIuNS00Mi41LTIyLjEtNTItNTMuMXpNMzAwLjIgMzc1LjFsLTk3LjkgMCAwLTIzOC4zIDk3LjQgMGM0My4zIDAgNzEuNyAyMy40IDcxLjcgNTkuNCAwIDI1LjMtMTkuMSA0Ny45LTQzLjUgNTEuOGwwIDEuM2MzMy4yIDMuNiA1NS41IDI2LjYgNTUuNSA1OC4zIDAgNDIuMS0zMS4zIDY3LjUtODMuMiA2Ny41em0tMTAtMTA4LjdsLTUwLjEgMCAwIDc4LjQgNTIuMyAwYzM0LjIgMCA1Mi4zLTEzLjcgNTIuMy0zOS41IDAtMjUuNy0xOC42LTM4LjktNTQuNS0zOC45eiJdfSxreHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaXR1bmVzIixpY29uOls0NDgsNTEyLFtdLCJmM2I0IiwiTTIyMy42IDgwLjNhMTcxLjMgMTcxLjMgMCAxIDAgLjIgMzQyLjUgMTcxLjMgMTcxLjMgMCAxIDAgLS4yLTM0Mi41em03OS40IDI0MGMtMy4yIDEzLjYtMTMuNSAyMS4yLTI3LjMgMjMuOC0xMi4xIDIuMi0yMi4yIDIuOC0zMS45LTUtMTEuOC0xMC0xMi0yNi40LTEuNC0zNi44IDguNC04IDIwLjMtOS42IDM4LTEyLjggMy0uNSA1LjYtMS4yIDcuNy0zLjcgMy4yLTMuNiAyLjItMiAyLjItODAuOCAwLTUuNi0yLjctNy4xLTguNC02LjEtNCAuNy05MS45IDE3LjEtOTEuOSAxNy4xLTUgMS4xLTYuNyAyLjYtNi43IDguMyAwIDExNi4xIC41IDExMC44LTEuMiAxMTguNS0yLjEgOS03LjYgMTUuOC0xNC45IDE5LjYtOC4zIDQuNi0yMy40IDYuNi0zMS40IDUuMi0yMS40LTQtMjguOS0yOC43LTE0LjQtNDIuOSA4LjQtOCAyMC4zLTkuNiAzOC0xMi44IDMtLjUgNS42LTEuMiA3LjctMy43IDUtNS43IC45LTEyNyAyLjYtMTMzLjcgLjQtMi42IDEuNS00LjggMy41LTYuNCAyLjEtMS43IDUuOC0yLjcgNi43LTIuNyAxMDEtMTkgMTEzLjMtMjEuNCAxMTUuMS0yMS40IDUuNy0uNCA5IDMgOSA4LjctLjEgMTcwLjYgLjQgMTYxLjQtMSAxNjcuNnpNMzQ1LjIgMzJMMTAyLjggMzJDNDUuOSAzMiAwIDc3LjkgMCAxMzQuOEwwIDM3Ny4yQzAgNDM0LjEgNDUuOSA0ODAgMTAyLjggNDgwbDI0Mi40IDBjNTcgMCAxMDIuOC00NS45IDEwMi44LTEwMi44bDAtMjQyLjRDNDQ4IDc3LjkgNDAyLjEgMzIgMzQ1LjIgMzJ6TTIyMy42IDU5YTE5Mi41IDE5Mi41IDAgMSAxIDAgMzg1IDE5Mi41IDE5Mi41IDAgMSAxIDAtMzg1eiJdfSxGdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXhpbmciLGljb246WzQ0OCw1MTIsWyJ4aW5nLXNxdWFyZSJdLCJmMTY5IiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwek05My44IDMyMC4yYy01LjUgMC04LjctNS4zLTYtMTAuM2w0OS4zLTg2LjdjLjEgMCAuMS0uMSAwLS4ybC0zMS40LTU0Yy0zLTUuNiAuMi0xMC4xIDYtMTAuMWw0Ni42IDBjNS4yIDAgOS41IDIuOSAxMi45IDguN2wzMS45IDU1LjNjLTEuMyAyLjMtMTggMzEuNy01MC4xIDg4LjItMy41IDYuMi03LjcgOS4xLTEyLjYgOS4xbC00Ni42IDB6bTE2My41LTMzLjRsMCAuMiA2NS41IDExOWMyLjggNS4xIC4xIDEwLjEtNiAxMC4xbC00Ni42IDBjLTUuNSAwLTkuNy0yLjktMTIuOS04LjdsLTY2LTEyMC4zYzEuOC0zLjIgMjIuOS00MC40IDYzLjMtMTExLjYgMTEuNy0yMC43IDI1LjEtNDQuMyA0MC4xLTcwLjggMy4zLTUuOCA3LjQtOC43IDEyLjUtOC43bDQ2LjkgMGM1LjctLjEgOC44IDQuNyA2IDEwTDI1Ny4zIDI4Ni44eiJdfSxTeHQ9RnVlLHp4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjc3MzLWFsdCIsaWNvbjpbMzg0LDUxMixbXSwiZjM4YiIsIk0wIDMyTDM0LjkgNDI3LjggMTkyIDQ4MCAzNDkuMSA0MjcuOCAzODQgMzIgMCAzMnptMzEzLjEgODBsLTQuOCA0Ny4zLTExNS4zIDQ5LjMtLjMgLjEgMTExLjUgMC0xMi44IDE0Ni42LTk4LjIgMjguNy05OC44LTI5LjItNi40LTczLjkgNDguOSAwIDMuMiAzOC4zIDUyLjYgMTMuMyA1NC43LTE1LjQgMy43LTYxLjYtMTY2LjMtLjUgMC0uMS0uMiAuMS0zLjYtNDYuMyAxMTIuMS00Ni43IDYuNS0yLjctMTIyLjkgMC01LjgtNDcuMyAyNDIuMiAweiJdfSxDeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlc3BhY2UiLGljb246WzUxMiw1MTIsW10sImY1YmUiLCJNMTg2LjEgMzQzLjNjLTkuNyA5LjctOS43IDI1LjMgMCAzNC45czI1LjMgOS42IDM0LjkgMEwzNzguMyAyMjEuMWMxOS4zLTE5LjMgNTAuNi0xOS4zIDY5LjkgMHMxOS4zIDUwLjYgMCA2OS45TDI5NCA0NDUuMWMxOS4zIDE5LjMgNTAuNSAxOS4zIDY5LjggMGwwIDAgMTE5LjMtMTE5LjJjMzguNi0zOC42IDM4LjYtMTAxLjEgMC0xMzkuNy0zOC42LTM4LjYtMTAxLjItMzguNi0xMzkuNyAwTDE4Ni4xIDM0My4zek00MzAuNyAyMzguNWMtOS43LTkuNy0yNS4zLTkuNy0zNC45IDBMMjM4LjUgMzk1LjdjLTE5LjMgMTkuMy01MC41IDE5LjMtNjkuOCAwbDAgMGMtOS42LTkuNi0yNS4zLTkuNy0zNC45IDBsMCAwYy05LjcgOS42LTkuNyAyNS4zIDAgMzQuOWwwIDBjMzguNiAzOC42IDEwMS4xIDM4LjYgMTM5LjcgMEw0MzAuNyAyNzMuNWM5LjYtOS43IDkuNi0yNS4zIDAtMzQuOXptLTI2MiA4Ny4zTDMyNS45IDE2OC43YzkuNi05LjYgOS42LTI1LjMgMC0zNC45LTkuNi05LjYtMjUuMy05LjYtMzQuOSAwTDEzMy43IDI5MC45Yy0xOS4zIDE5LjMtNTAuNiAxOS4zLTY5LjkgMGwwIDBjLTE5LjMtMTkuMy0xOS4zLTUwLjUgMC02OS44bDAgMCAxNTQuMi0xNTQuMmMtMTkuMy0xOS4zLTUwLjUtMTkuMy02OS44IDBsMCAwLTExOS4yIDExOS4zYy0zOC42IDM4LjYtMzguNiAxMDEuMSAwIDEzOS43IDM4LjYgMzguNiAxMDEuMSAzOC42IDEzOS43IDB6TTgxLjMgMjczLjVjOS42IDkuNiAyNS4zIDkuNiAzNC45IDBMMjczLjUgMTE2LjNjMTkuMy0xOS4zIDUwLjYtMTkuMyA2OS44IDBsMCAwYzkuNyA5LjYgMjUuMyA5LjYgMzQuOSAwczkuNi0yNS4zIDAtMzQuOWMtMzguNi0zOC42LTEwMS4xLTM4LjYtMTM5LjcgMEw4MS4zIDIzOC41Yy05LjYgOS42LTkuNiAyNS4zIDAgMzQuOWwwIDB6Il19LF94dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0cmVsbG8iLGljb246WzQ0OCw1MTIsW10sImYxODEiLCJNMzkyLjMgMzJMNTYuMSAzMmMtMzEgMC01Ni4xIDI1LjEtNTYuMSA1Ni0uMSAwIDAtNCAwIDMzNiAwIDMwLjkgMjUuMSA1NiA1NiA1NmwzMzYuMiAwYzMwLjgtLjIgNTUuNy0yNS4yIDU1LjctNTZsMC0zMzZjLjEtMzAuOC0yNC44LTU1LjgtNTUuNi01NnpNMTk3IDM3MS4zYy0uMiAxNC43LTEyLjEgMjYuNi0yNi45IDI2LjZsLTgyLjcgMGMtMTQuOCAuMS0yNi45LTExLjgtMjctMjYuNmwwLTI1NC4yYzAtMTQuOCAxMi0yNi45IDI2LjktMjYuOWw4Mi45IDBjMTQuOCAwIDI2LjkgMTIgMjYuOSAyNi45bDAgMjU0LjItLjEgMHptMTkzLjEtMTEyYzAgMTQuOC0xMiAyNi45LTI2LjkgMjYuOWwtODEgMGMtMTQuOCAwLTI2LjktMTItMjYuOS0yNi45bDAtMTQyLjFjMC0xNC44IDEyLTI2LjkgMjYuOC0yNi45bDgxLjEgMGMxNC44IDAgMjYuOSAxMiAyNi45IDI2LjlsMCAxNDIuMXoiXX0sVHh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZpYWRlbyIsaWNvbjpbNDQ4LDUxMixbXSwiZjJhOSIsIk0yNzYuNCAxNTAuNWwwIC43Yy0xNy45LTUyLjYtNDIuNi0xMDMuNC03MC44LTE1MS4yIDQzLjMgMjkuMiA2NyAxMDAgNzAuOCAxNTAuNXptMzIuNyAxMjEuN2M3LjYgMTguMiAxMSAzNy41IDExIDU3IDAgNzcuNy01Ny44IDE0MS0xMzcuOCAxMzkuNGwzLjgtLjNjNzQuMi00Ni43IDEwOS4zLTExOC42IDEwOS4zLTIwNS4xIDAtMzguMS02LjUtNzUuOS0xOC45LTExMiAxIDExLjcgMSAyMy43IDEgMzUuNCAwIDkxLjgtMTguMSAyNDEuNi0xMTYuNiAyODAtNjUuNy0xMS40LTExMS4zLTY4LjYtMTExLjMtMTM3LjQgMC03NS42IDU3LjQtMTQyLjMgMTM1LjQtMTQyLjMgMTYuOCAwIDMzLjcgMy4xIDQ5LjEgOS42IDEuNy0xNS4xIDYuNS0yOS45IDEzLjQtNDMuMy0xOS45LTcuMi00MS4yLTEwLjctNjIuNS0xMC43LTE2MS41IDAtMjM4LjcgMTk1LjktMTI5LjkgMzEzLjcgNjcuOSA3NC42IDE5MiA3My45IDI1OS44IDAgNTYuNi02MS4zIDYwLjktMTQyLjQgMzYuNC0yMDEtMTIuNyA4LTI3LjEgMTMuOS00Mi4yIDE3ek00MTguMyAxMS43Yy0zMSA2Ni41LTgxLjMgNDcuMi0xMTUuOCA4MC4xLTEyLjQgMTItMjAuNiAzNC0yMC42IDUwLjUgMCAxNC4xIDQuNSAyNy4xIDEyIDM4LjggNDcuNC0xMSA5OC4zLTQ2IDExOC4yLTkwLjctLjcgNS41LTQuOCAxNC40LTcuMiAxOS4yLTIwLjMgMzUuNy02NC42IDY1LjYtOTkuNyA4NC45IDE0LjggMTQuNCAzMy43IDI1LjggNTUgMjUuOCA3OSAwIDExMC4xLTEzNC42IDU4LjEtMjA4LjZ6Il19LEx4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzZWFyY2hlbmdpbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjNlYiIsIk0yMTQuNiAxMzAuM2wtNjcuMiAyOC4yIDAtMTE1LjMtNTQuNyAxOTAuMyA1NC43LTI0LjIgMCAxMzAuMyA2Ny4yLTIwOS4zek0xMzEuNCAzMy42bC0xLjMgNC43LTE1LjIgNTIuOUM3NC42IDEwNi43IDQ2IDE0NS44IDQ2IDE5MS41IDQ2IDI0My44IDgwLjMgMjg3LjQgMTI5LjQgMjk3bDAgNTMuNkM1MS41IDM0MC4xLTYgMjcyLjQtNiAxOTEuNi02IDExMS4xIDUzLjggNDQuNCAxMzEuNCAzMy42ek00NDIuOCA0ODAuOGMtMTEuMiAxMS4yLTIzLjEgMTIuMy0yOC42IDEwLjUtNS40LTEuOC0yNy4xLTE5LjktNjAuNC00NC40LTMzLjMtMjQuNi0zMy42LTM1LjctNDMtNTYuNy05LjQtMjAuOS0zMC40LTQyLjYtNTcuNS01Mi40bC05LjctMTQuN2MtMjQuNyAxNi45LTUzIDI2LjktODEuMyAyOC43bDIuMS02LjYgMTUuOS00OS41YzQ2LjUtMTEuOSA4MC45LTU0IDgwLjktMTA0LjIgMC01NC41LTM4LjQtMTAyLjEtOTYtMTA3LjFsMC01Mi4xYzgzLjIgNS4xIDE0OC44IDc0LjUgMTQ4LjggMTU5LjMgMCAzMy42LTExLjIgNjQuNy0yOSA5MC40bDE0LjYgOS42YzkuOCAyNy4xIDMxLjUgNDggNTIuNCA1Ny40czMyLjIgOS43IDU2LjggNDNjMjQuNiAzMy4yIDQyLjcgNTQuOSA0NC41IDYwLjNzLjcgMTcuMy0xMC41IDI4LjV6bS05LjktMTcuOWMwLTQuNC0zLjYtOC04LThzLTggMy42LTggOCAzLjYgOCA4IDggOC0zLjYgOC04eiJdfSwkeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidW5yZWFsLWVuZ2luZSIsaWNvbjpbNTEyLDUxMixbXSwiZTg1YyIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnptNjUuNS0xMTMuN2wtMjUuMS0yOC4zLTQyLjQgNDIuNmMtMjQuMS0uMy00Ny45LTYuMi02OS4zLTE3LjJzLTQwLjEtMjYuOS01NC41LTQ2LjNjNC41IDEuNCA5LjIgMi4zIDEzLjkgMi42IDYuOSAuMSAxNC41LTIuNCAxNC41LTE0LjFsMC0xMTUuMWMuMS0zLS41LTUuOS0xLjctOC42cy0zLjEtNS01LjQtNi45LTUtMy4xLTcuOS0zLjctNS45LS41LTguOCAuMmMtMTkuNiA0LjUtMzUuMyA1My41LTM1LjMgNTMuNS0uMi0yMi42IDQuNS00NSAxMy44LTY1LjZzMjMtMzkgNDAuMS01My44YzIyLjUtMTkuNSA1MC4xLTMyLjIgNzkuNi0zNi43LTIxLjQgMTIuMi0zMy41IDMyLjEtMzMuNSA0OC45IDAgMjYuOSAxNi4yIDIzLjYgMjEgMTkuN2wwIDE1NS4zYy44IDEuOSAxLjkgMy44IDMuMiA1LjUgMi4xIDMgNSA1LjQgOC4yIDdzNi45IDIuNSAxMC41IDIuNWMxNi4yIDAgMzcuMy0xOC41IDM3LjMtMTguNWwwLTEyNS43YzAtMTIuOC05LjYtMjguMi0xOS4zLTMzLjUgMCAwIDE3LjktMy4yIDMxLjcgNy40IDIuNi0zLjIgNS4zLTYuMiA4LjItOS4xIDMyLjItMzEuNiA2Mi41LTQwLjYgODcuNy00NS4xIDAgMC00NS45IDM2LjEtNDUuOSA4NC41IDAgMzYgLjkgMTIzLjggLjkgMTIzLjggMTcgMTYuNCA0Mi40LTcuMyA2NS4yLTMwLjgtNC40IDIxLjMtMjQgNzUuOS04Ni42IDEwNS40eiJdfSxEeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGF5cGFsIixpY29uOlszODQsNTEyLFtdLCJmMWVkIiwiTTExMS45IDI5NS45Yy0zLjUgMTkuMi0xNy40IDEwOC43LTIxLjUgMTM0LS4zIDEuOC0xIDIuNS0zIDIuNWwtNzQuNiAwYy03LjYgMC0xMy4xLTYuNi0xMi4xLTEzLjlMNTkuMyA0Ni42YzEuNS05LjYgMTAuMS0xNi45IDIwLTE2LjkgMTUyLjMgMCAxNjUuMS0zLjcgMjA0IDExLjQgNjAuMSAyMy4zIDY1LjYgNzkuNSA0NCAxNDAuMy0yMS41IDYyLjYtNzIuNSA4OS41LTE0MC4xIDkwLjMtNDMuNCAuNy02OS41LTctNzUuMyAyNC4yek0zNTcuNiAxNTJjLTEuOC0xLjMtMi41LTEuOC0zIDEuMy0yIDExLjQtNS4xIDIyLjUtOC44IDMzLjYtMzkuOSAxMTMuOC0xNTAuNSAxMDMuOS0yMDQuNSAxMDMuOS02LjEgMC0xMC4xIDMuMy0xMC45IDkuNC0yMi42IDE0MC40LTI3LjEgMTY5LjctMjcuMSAxNjkuNy0xIDcuMSAzLjUgMTIuOSAxMC42IDEyLjlsNjMuNSAwYzguNiAwIDE1LjctNi4zIDE3LjQtMTQuOSAuNy01LjQtMS4xIDYuMSAxNC40LTkxLjMgNC42LTIyIDE0LjMtMTkuNyAyOS4zLTE5LjcgNzEgMCAxMjYuNC0yOC44IDE0Mi45LTExMi4zIDYuNS0zNC44IDQuNi03MS40LTIzLjgtOTIuNnoiXX0sQXh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1ibHVlc2t5IixpY29uOls0NDgsNTEyLFtdLCJlNmEzIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTIyNCAyNDcuNGMxNC41LTMwIDU0LTg1LjggOTAuNy0xMTMuMyAyNi41LTE5LjkgNjkuMy0zNS4yIDY5LjMgMTMuNyAwIDkuOC01LjYgODIuMS04LjkgOTMuOC0xMS40IDQwLjgtNTMgNTEuMi05MCA0NC45IDY0LjcgMTEgODEuMiA0Ny41IDQ1LjYgODQtNjcuNSA2OS4zLTk3LTE3LjQtMTA0LjYtMzkuNmwtLjMtLjljLS45LTIuNi0xLjQtNC4xLTEuOC00LjFzLS45IDEuNS0xLjggNC4xYy0uMSAuMy0uMiAuNi0uMyAuOS03LjYgMjIuMi0zNy4xIDEwOC44LTEwNC42IDM5LjYtMzUuNS0zNi41LTE5LjEtNzMgNDUuNi04NC0zNyA2LjMtNzguNi00LjEtOTAtNDQuOS0zLjMtMTEuNy04LjktODQtOC45LTkzLjggMC00OC45IDQyLjktMzMuNSA2OS4zLTEzLjcgMzYuNyAyNy41IDc2LjIgODMuNCA5MC43IDExMy4zeiJdfSxFeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZC1hbmQtZC1iZXlvbmQiLGljb246WzY0MCw1MTIsW10sImY2Y2EiLCJNMzEzLjggMjQxLjVjMTMuOCAwIDIxLTEwLjEgMjQuOC0xNy45LTEtMS4xLTUtNC4yLTcuNC02LjYtMi40IDQuMy04LjIgMTAuNy0xMy45IDEwLjctMTAuMiAwLTE1LjQtMTQuNy0zLjItMjYuNi0uNS0uMi00LjMtMS44LTggMi40IDAtMyAxLTUuMSAyLjEtNi42LTMuNSAxLjMtOS44IDUuNi0xMS40IDcuOSAuMi01LjggMS42LTcuNSAuNi05bC0uMi0uMnMtOC41IDUuNi05LjMgMTQuN2MwIDAgMS4xLTEuNiAyLjEtMS45IC42LS4zIDEuMyAwIC42IDEuOS0uMiAuNi01LjggMTUuNyA1LjEgMjYtLjYtMS42LTEuOS03LjYgMi40LTEuOS0uMyAuMSA1LjggNy4xIDE1LjcgNy4xem01Mi40LTIxLjFjMC00LTQuOS00LjQtNS42LTQuNSAyIDMuOSAuOSA3LjUgLjIgOSAyLjUtLjQgNS40LTEuNiA1LjQtNC41em0xMC4zIDUuMmMwLTYuNC02LjItMTEuNC0xMy41LTEwLjcgOCAxLjMgNS42IDEzLjgtNSAxMS40IDMuNy0yLjYgMy4yLTkuOS0xLjMtMTIuNSAxLjQgNC4yLTMgOC4yLTcuNCA0LjYtMi40LTEuOS04LTYuNi0xMC42LTguNi0yLjQtMi4xLTUuNS0xLTYuNi0xLjgtMS4zLTEuMS0uNS0zLjgtMi4yLTUtMS42LS44LTMtLjMtNC44LTEtMS42LS42LTIuNy0xLjktMi42LTMuNS0yLjUgNC40IDMuNCA2LjMgNC41IDguNSAxIDEuOS0uOCA0LjggNCA4LjUgMTQuOCAxMS42IDkuMSA4IDEwLjQgMTguMSAuNiA0LjMgNC4yIDYuNyA2LjQgNy40LTIuMS0xLjktMi45LTYuNCAwLTkuMyAwIDEzLjkgMTkuMiAxMy4zIDIzLjEgNi40LTIuNCAxLjEtNy0uMi05LTEuOSA3LjcgMSAxNC4yLTQuMSAxNC42LTEwLjZ6bS0zOS40LTE4LjRjMiAuOCAxLjYgLjcgNi40IDQuNSAxMC4yLTI0LjUgMjEuNy0xNS43IDIyLTE1LjUgMi4yLTEuOSA5LjgtMy44IDEzLjgtMi43LTIuNC0yLjctNy41LTYuMi0xMy4zLTYuMi00LjcgMC03LjQgMi4yLTggMS4zLS44LTEuNCAzLjItMy40IDMuMi0zLjQtNS40IC4yLTkuNiA2LjctMTEuMiA1LjktMS4xLS41IDEuNC0zLjcgMS40LTMuNy01LjEgMi45LTkuMyA5LjEtMTAuMiAxMyA0LjYtNS44IDEzLjgtOS44IDE5LjctOS0xMC41IC41LTE5LjUgOS43LTIzLjggMTUuOHptMjQyLjUgNTEuOWMtMjAuNyAwLTQwIDEuMy01MC4zIDIuMWw3LjQgOC4yIDAgNzcuMi03LjQgOC4yYzEwLjQgLjggMzAuOSAyLjEgNTEuNiAyLjEgNDIuMSAwIDU5LjEtMjAuNyA1OS4xLTQ4LjkgMC0yOS4zLTIzLjItNDguOS02MC40LTQ4Ljl6bS0xNS4xIDc1LjZsMC01My4zYzMwLjEtMy4zIDQ2LjggMy44IDQ2LjggMjYuMyAwIDI1LjYtMjEuNCAzMC4yLTQ2LjggMjd6TTMwMS42IDE4MWMtMS0zLjQtLjItNi45IDEuMS05LjQgMSAzIDIuNiA2LjQgNy41IDktLjUtMi40LS4yLTUuNiAuNS04LTEuNC01LjQgMi4xLTkuOSA2LjQtOS45IDYuOSAwIDguNSA4LjggNC43IDE0LjQgMi4xIDMuMiA1LjUgNS42IDcuNyA3LjggMy4yLTMuNyA1LjUtOS41IDUuNS0xMy44IDAtOC4yLTUuNS0xNS45LTE2LjctMTYuNS0yMC0uOS0yMC4yIDE2LjYtMjAgMTguOSAuNSA1LjIgMy40IDcuOCAzLjMgNy41em0tLjQgNmMtLjUgMS44LTcgMy43LTEwLjIgNi45IDQuOC0xIDctLjIgNy44IDEuOCAuNSAxLjQtLjIgMy40LS41IDUuNiAxLjYtMS44IDctNS41IDExLTYuMi0xLS4zLTMuNC0uOC00LjMtLjggMi45LTMuNCA5LjMtNC41IDEyLjgtMy43LTIuMi0uMi02LjcgMS4xLTguNSAyLjYgMS42IC4zIDMgLjYgNC4zIDEuMS0yLjEgLjgtNC44IDMuNC01LjggNi4xIDctNSAxMy4xIDUuMiA3IDguMiAuOCAuMiAyLjcgMCAzLjUtLjUtLjMgMS4xLTEuOSAzLTMgMy40IDIuOSAwIDctMS45IDguMi00LjYgMCAwLTEuOCAuNi0yLjYtLjJzLjMtNC4zIC4zLTQuM2MtMi4zIDIuOS0zLjQtMS4zLTEuMy00LjItMS0uMy0zLjUtLjYtNC42LS41IDMuMi0xLjEgMTAuNC0xLjggMTEuMi0uMyAuNiAxLjEtMSAzLjQtMSAzLjQgNC0uNSA4LjMgMS4xIDYuNyA1LjEgMi45LTEuNCA1LjUtNS45IDQuOC0xMC40LS4zIDEtMS42IDIuNC0yLjkgMi43IC4yLTEuNC0xLTIuMi0xLjktMi42IDEuNy05LjYtMTQuNi0xNC4yLTE0LjEtMjMuOS0xIDEuMy0xLjggNS0uOCA3LjEgMi43IDMuMiA4LjcgNi43IDEwLjEgMTIuMi0yLjYtNi40LTE1LjEtMTEuNC0xNC42LTIwLjItMS42IDEuNi0yLjYgNy44LTEuMyAxMSAyLjQgMS40IDQuNSAzLjggNC44IDYuMS0yLjItNS4xLTExLjQtNi4xLTEzLjktMTIuMi0uNiAyLjItLjMgNSAxIDYuNyAwIDAtMi4yLS44LTctLjYgMS43IC42IDUuMSAzLjUgNC44IDUuMnptMjUuOSA3LjRjLTIuNyAwLTMuNS0yLjEtNC4yLTQuMyAzLjMgMS4zIDQuMiA0LjMgNC4yIDQuM3ptMzguOSAzLjdsLTEtLjZjLTEuMS0xLTIuOS0xLjQtNC43LTEuNC0yLjkgMC01LjggMS4zLTcuNSAzLjQtLjggLjgtMS40IDEuOC0yLjEgMi42bDAgMTUuN2MzLjUgMi42IDcuMS0yLjkgMy03LjIgMS41IC4zIDQuNiAyLjcgNS4xIDMuMiAwIDAgMi42LS41IDUtLjUgMi4xIDAgMy45IC4zIDUuNiAxLjFsMC0xOC40Yy0xLjEgLjUtMi4yIDEtMi43IDEuNGwtLjcgLjd6TTc5LjkgMzA1LjljMTcuMi00LjYgMTYuMi0xOCAxNi4yLTE5LjkgMC0yMC42LTI0LjEtMjUtMzctMjVsLTU2LjEgMCA4LjMgOC42IDAgMjkuNS0xMS4zIDAgMTEuNCAxNC42IDAgMzIuMy04LjQgOC42YzYxLjcgMCA3My44IDEuNSA4Ni40LTUuOSA2LjctNCA5LjktOS44IDkuOS0xNy42IDAtNS4xIDIuNi0xOC44LTE5LjQtMjUuMnpNMzguNiAyNzguNGMyMCAwIDI5LjYtLjggMjkuNiA5LjFsMCAzYzAgMTIuMS0xOSA4LjgtMjkuNiA4LjhsMC0yMC45em0wIDU5LjJsMC0yMi42YzEyLjIgMCAzMi43LTIuMyAzMi43IDguOGwwIDQuNSAuMiAwYzAgMTEuMi0xMi41IDkuMy0zMi45IDkuM3ptMTAxLjItMTkuM2wyMy4xIC4yIDAtLjIgMTQuMS0yMS4yLTM3LjIgMCAwLTE0LjkgNTIuNCAwLTE0LjEtMjEgMC0uMi03My41IC4yIDcuNCA4LjIgMCA3Ny4xLTcuNCA4LjIgODEuMiAwIDE0LjEtMjEuMi02MC4xIC4yIDAtMTUuNHptMjE0LjctNjAuMWMtNzMuOSAwLTc3LjUgOTkuMy0uMyA5OS4zIDc3LjkgMCA3NC4xLTk5LjMgLjMtOTkuM3ptLS4zIDc3LjVjLTM3LjQgMC0zNi45LTU1LjMgLjItNTUuMyAzNi44IC4xIDM4LjggNTUuMy0uMiA1NS4zem0tOTEuMy04LjNsNDQuMS02Ni4yLTQxLjcgMCA2LjEgNy4yLTIwLjUgMzcuMi0uMyAwLTIxLTM3LjIgNi40LTcuMi00NC45IDAgNDQuMSA2NS44IC4yIDE5LjQtNy43IDguMiA0Mi42IDAtNy4yLTguMi0uMi0xOXpNMjM0LjUgMTc2LjFjMS42IDEuMyAyLjkgMi40IDIuOSA2LjZsMCAzOC44YzAgNC4yLS44IDUuMy0yLjcgNi40LS4xIC4xLTcuNSA0LjUtNy45IDQuNmwzNS4xIDBjMTAgMCAxNy40LTEuNSAyNi04LjYtLjYtNSAuMi05LjUgLjgtMTIgMC0uMi0xLjggMS40LTIuNyAzLjUgMC01LjcgMS42LTE1LjQgOS42LTIwLjUtLjEgMC0zLjctLjgtOSAxLjEgMi0zLjEgMTAtNy45IDEwLjQtNy45LTguMi0yNi0zOC0yMi45LTMyLjItMjIuOS0zMC45IDAtMzIuNiAuMy0zOS45LTQgLjEgLjggLjUgOC4yIDkuNiAxNC45em0yMS41IDUuNWM0LjYgMCAyMy4xLTMuMyAyMy4xIDE3LjMgMCAyMC43LTE4LjQgMTcuMy0yMy4xIDE3LjNsMC0zNC42em0yMjguOSA3OS42bDcgOC4zIDAgNDIuNS0uMyAwYy01LjQtMTQuNC00Mi4zLTQxLjUtNDUuMi01MC45bC0zMS42IDAgNy40IDguNSAwIDc2LjktNy4yIDguMyAzOSAwLTcuNC04LjIgMC00Ny40IC4zIDBjMy43IDEwLjYgNDQuNSA0Mi45IDQ4LjUgNTUuNmwyMS4zIDAgMC04NS4yIDcuNC04LjMtMzkuMi0uMXpNMzc4LjIgMTY1LjFjLTMyLjIgMC0zMi44IC4yLTM5LjktNCAuMSAuNyAuNSA4LjMgOS42IDE0LjkgMy4xIDIgMi45IDQuMyAyLjkgOS41IDEuOC0xLjEgMy44LTIuMiA2LjEtMy0xLjEgMS4xLTIuNyAyLjctMy41IDQuNSAxLTEuMSA3LjUtNS4xIDE0LjYtMy41LTEuNiAuMy00IDEuMS02LjEgMi45IC4xIDAgMi4xLTEuMSA3LjUtLjNsMC00LjNjNC43IDAgMjMuMS0zLjQgMjMuMSAxNy4zIDAgMjAuNS0xOC41IDE3LjMtMTkuNyAxNy4zIDUuNyA0LjQgNS44IDEyIDIuMiAxNi4zbC4zIDBjMzMuNCAwIDM2LjctMjcuMyAzNi43LTM0IDAtMy44LTEuMS0zMi0zMy44LTMzLjZ6Il19LFB4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtaWNyb3NvZnQiLGljb246WzQ0OCw1MTIsW10sImYzY2EiLCJNMCAzMmwyMTQuNiAwIDAgMjE0LjYtMjE0LjYgMCAwLTIxNC42em0yMzMuNCAwbDIxNC42IDAgMCAyMTQuNi0yMTQuNiAwIDAtMjE0LjZ6TTAgMjY1LjRsMjE0LjYgMCAwIDIxNC42LTIxNC42IDAgMC0yMTQuNnptMjMzLjQgMGwyMTQuNiAwIDAgMjE0LjYtMjE0LjYgMCAwLTIxNC42eiJdfSxJeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmx5IixpY29uOlszMjAsNTEyLFtdLCJmNDE3IiwiTTE2NS45IDQyNy44YzEyLjkgMTEuNyAzMy43IDMzLjMgMzMuMiA1MC43IDAgLjgtLjEgMS42LS4xIDIuNS0xLjggMTkuOC0xOC44IDMxLjEtMzkuMSAzMS0yNS0uMS0zOS45LTE2LjgtMzguNy0zNS44IDEtMTYuMiAyMC41LTM2LjcgMzIuNC00Ny42IDIuMy0yLjEgMi43LTIuNyA1LjYtMy42IDMuNCAwIDMuOSAuMyA2LjcgMi44ek0zMDAgNjcuM2MtMTYuMy0yNS43LTM4LjYtNDAuNi02My4zLTUyLjEtMjUuNS0xMC43LTU0LjYtMTUuNC03Ni42LTE1LjItNDQuMSAwLTcxLjIgMTMuMi04MS4xIDE3LjMtNTMuNiAyNy45LTg0LjQgNjkuOS04Mi45IDE0MS4zIDcuMSA4Mi4yIDk3IDE3NiAxNTUuOCAyMzMuOCAxLjcgMS42IDQuNSA0LjUgNi4yIDUuMWwzLjMgLjFjMi4xLS43IDEuOC0uNSAzLjUtMi4xIDUyLjMtNDkuMiAxNDAuNy0xNDUuOCAxNTUuOS0yMTUuNyA3LTM5LjIgMy4xLTcyLjUtMjAuOC0xMTIuNXpNMTU0LjkgMzUxLjljLTI4LTUxLjEtNjUuMi0xMzAuNy02OS4zLTE4OS0zLjQtNDcuNSAxMS40LTEzMS4yIDY5LjMtMTM2LjdsMCAzMjUuN3pNMjk2LjggMTgwYy0xNi40IDU2LjgtNzcuMyAxMjgtMTE4LjkgMTcwLjMgMjcuOC01MS45IDY1LjItMTMzLjMgNjcuMi0xOTEuOSAxLjYtNDUuOS05LjgtMTA1LjgtNDgtMTMxLjQgODguOCAxOC4zIDExNS41IDk4LjEgOTkuNyAxNTN6Il19LE54dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy1zdHJpcGUiLGljb246WzU3Niw1MTIsW10sImYxZjUiLCJNNDkyLjQgMjIwLjhjLTguOSAwLTE4LjcgNi43LTE4LjcgMjIuN2wzNi43IDBjMC0xNi05LjMtMjIuNy0xOC0yMi43ek0zNzUgMjIzLjRjLTguMiAwLTEzLjMgMi45LTE3IDdsLjIgNTIuOGMzLjUgMy43IDguNSA2LjcgMTYuOCA2LjcgMTMuMSAwIDIxLjktMTQuMyAyMS45LTMzLjQgMC0xOC42LTktMzMuMi0yMS45LTMzLjF6TTUyOCAzMkw0OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQ4MCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzUyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0xMjIuMiAyODEuMWMwIDI1LjYtMjAuMyA0MC4xLTQ5LjkgNDAuMy0xMi4yIDAtMjUuNi0yLjQtMzguOC04LjFsMC0zMy45YzEyIDYuNCAyNy4xIDExLjMgMzguOSAxMS4zIDcuOSAwIDEzLjYtMi4xIDEzLjYtOC43IDAtMTctNTQtMTAuNi01NC00OS45IDAtMjUuMiAxOS4yLTQwLjIgNDgtNDAuMiAxMS44IDAgMjMuNSAxLjggMzUuMyA2LjVsMCAzMy40Yy0xMC44LTUuOC0yNC41LTkuMS0zNS4zLTkuMS03LjUgMC0xMi4xIDIuMi0xMi4xIDcuNyAwIDE2IDU0LjMgOC40IDU0LjMgNTAuN3pNMTkxIDIyNC41bC0yNyAwIDAgNTAuNWMwIDIwLjkgMjIuNSAxNC40IDI3IDEyLjZsMCAyOC45Yy00LjcgMi42LTEzLjMgNC43LTI0LjkgNC43LTIxLjEgMC0zNi45LTE1LjUtMzYuOS0zNi41bC4yLTExMy45IDM0LjctNy40IDAgMzAuOCAyNi45IDAgMCAzMC4zem03NCAyLjRjLTQuNS0xLjUtMTguNy0zLjYtMjcuMSA3LjRsMCA4NC40LTM1LjUgMCAwLTEyNC41IDMwLjcgMCAyLjIgMTAuNWM4LjMtMTUuMyAyNC45LTEyLjIgMjkuNi0xMC41bC4xIDAgMCAzMi43em00NC4xIDkxLjhsLTM1LjcgMCAwLTEyNC41IDM1LjcgMCAwIDEyNC41em0wLTE0Mi45bC0zNS43IDcuNiAwLTI4LjkgMzUuNy03LjYgMCAyOC45em03NC4xIDE0NS41Yy0xMi40IDAtMjAtNS4zLTI1LjEtOWwtLjEgNDAuMi0zNS41IDcuNSAwLTE2NS44IDMxLjMgMCAxLjggOC44YzQuOS00LjUgMTMuOS0xMS4xIDI3LjgtMTEuMSAyNC45IDAgNDguNCAyMi41IDQ4LjQgNjMuOCAwIDQ1LjEtMjMuMiA2NS41LTQ4LjYgNjUuNnptMTYwLjQtNTEuNWwtNjkuNSAwYzEuNiAxNi42IDEzLjggMjEuNSAyNy42IDIxLjUgMTQuMSAwIDI1LjItMyAzNC45LTcuOWwwIDI4LjZjLTkuNyA1LjMtMjIuNCA5LjItMzkuNCA5LjItMzQuNiAwLTU4LjgtMjEuNy01OC44LTY0LjUgMC0zNi4yIDIwLjUtNjQuOSA1NC4zLTY0LjkgMzMuNyAwIDUxLjMgMjguNyA1MS4zIDY1LjEgMCAzLjUtLjMgMTAuOS0uNCAxMi45eiJdfSxSeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid29yZHByZXNzLXNpbXBsZSIsaWNvbjpbNTEyLDUxMixbXSwiZjQxMSIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTMzIDI1NmMwLTMyLjMgNi45LTYzIDE5LjMtOTAuN0wxNTguNyA0NTYuN0M4NC4zIDQyMC41IDMzIDM0NC4yIDMzIDI1NnpNMjU2IDQ3OWMtMjEuOSAwLTQzLTMuMi02My05LjFsNjYuOS0xOTQuNCA2OC41IDE4Ny44Yy41IDEuMSAxIDIuMSAxLjYgMy4xLTIzLjEgOC4xLTQ4IDEyLjYtNzQgMTIuNnptMzAuNy0zMjcuNWMxMy40LS43IDI1LjUtMi4xIDI1LjUtMi4xIDEyLTEuNCAxMC42LTE5LjEtMS40LTE4LjQgMCAwLTM2LjEgMi44LTU5LjQgMi44LTIxLjkgMC01OC43LTIuOC01OC43LTIuOC0xMi0uNy0xMy40IDE3LjctMS40IDE4LjQgMCAwIDExLjQgMS40IDIzLjQgMi4xbDM0LjcgOTUuMi00OC44IDE0Ni4zLTgxLjItMjQxLjVjMTMuNC0uNyAyNS41LTIuMSAyNS41LTIuMSAxMi0xLjQgMTAuNi0xOS4xLTEuNC0xOC40IDAgMC0zNi4xIDIuOC01OS40IDIuOC00LjIgMC05LjEtLjEtMTQuNC0uMyAzOS45LTYwLjUgMTA4LjQtMTAwLjUgMTg2LjMtMTAwLjUgNTggMCAxMTAuOSAyMi4yIDE1MC42IDU4LjUtMS0uMS0xLjktLjItMi45LS4yLTIxLjkgMC0zNy40IDE5LjEtMzcuNCAzOS42IDAgMTguNCAxMC42IDMzLjkgMjEuOSA1Mi4zIDguNSAxNC44IDE4LjQgMzMuOSAxOC40IDYxLjUgMCAxOS4xLTcuMyA0MS4yLTE3IDcyLjFsLTIyLjIgNzQuMy04MC43LTIzOS42em04MS40IDI5Ny4ybDY4LjEtMTk2LjljMTIuNy0zMS44IDE3LTU3LjIgMTctNzkuOSAwLTguMi0uNS0xNS44LTEuNS0yMi45IDE3LjQgMzEuOCAyNy4zIDY4LjIgMjcuMyAxMDcgMCA4Mi4zLTQ0LjYgMTU0LjEtMTEwLjkgMTkyLjd6Il19LE94dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzZWxsc3kiLGljb246WzY0MCw1MTIsW10sImYyMTMiLCJNNTQwIDIzNy4zYzMuMS0xMi4zIDQuMy0yNC44IDQuMy0zNy40IDAtOTIuNS03NS40LTE2Ny45LTE2Ny45LTE2Ny45LTc3LjIgMC0xNDQuNiA1My0xNjMgMTI3LjgtMTUuMy0xMy4yLTM0LjktMjAuNS01NS4yLTIwLjUtNDYuMyAwLTg0IDM3LjctODQgODQgMCA3LjQgLjkgMTUgMy4xIDIyLjQtNDIuOSAyMC4yLTcwLjggNjMuNy03MC44IDExMS4yIDAgNjggNTUuNSAxMjMuMiAxMjMuMiAxMjMuMmwzODEuMiAwYzY3LjcgMCAxMjMuMi01NS4yIDEyMy4yLTEyMy4yIDAtNTYuNC0zOC45LTEwNi05NC4xLTExOS41ek0yMDAuMiA0MDEuNmMwIDguMy03IDE1LjMtMTUuMyAxNS4zbC0zMC45IDBjLTguMyAwLTE1LjMtNy0xNS4zLTE1LjNsMC0xMTAuOWMwLTguMyA3LTE1LjMgMTUuMy0xNS4zbDMwLjkgMGM4LjMgMCAxNS4zIDcgMTUuMyAxNS4zbDAgMTEwLjl6bTg5LjUgMGMwIDguMy03IDE1LjMtMTUuMyAxNS4zbC0zMC45IDBjLTguMyAwLTE1LjMtNy0xNS4zLTE1LjNsMC0xMzEuNWMwLTguMyA3LTE1LjMgMTUuMy0xNS4zbDMwLjkgMGM4LjMgMCAxNS4zIDcgMTUuMyAxNS4zbDAgMTMxLjV6bTg5LjUgMGMwIDguMy03IDE1LjMtMTUuMyAxNS4zbC0zMSAwYy04LjMgMC0xNS4zLTctMTUuMy0xNS4zbDAtMTYyLjdjMC04LjMgNy0xNS4zIDE1LjMtMTUuM2wzMSAwYzguMyAwIDE1LjMgNyAxNS4zIDE1LjNsMCAxNjIuN3ptODcgMGMwIDguMy03IDE1LjMtMTUuMyAxNS4zbC0yOC41IDBjLTguMyAwLTE1LjMtNy0xNS4zLTE1LjNsMC0yMjQuNmMwLTguNiA3LTE1LjYgMTUuMy0xNS42bDI4LjUgMGM4LjMgMCAxNS4zIDcgMTUuMyAxNS42bDAgMjI0LjZ6Il19LEZ4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkYXNoY3ViZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjIxMCIsIk0zMjYuOSAxMDRsLTIxNi4yIDBjLTUxLjEgMC05MS4yIDQzLjMtOTEuMiA5My41bDAgMjI5LjVjMCA1MC41IDQwLjEgODUgOTEuMiA4NWwyMjcuMiAwYzUxLjEgMCA5MS4yLTM0LjUgOTEuMi04NWwwLTQyNy0xMDIuMiAxMDR6TTE1NC4yIDQxNi41Yy0xNy43IDAtMzIuNC0xNS4xLTMyLjQtMzIuOGwwLTE0Mi45YzAtMTcuNyAxNC43LTMyLjUgMzIuNC0zMi41bDE0MC43IDBjMTcuNyAwIDMyIDE0LjggMzIgMzIuNWwwIDEyMy41IDUxLjEgNTIuMy0yMjMuOCAwIDAtLjF6Il19LEJ4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnaXR0ZXIiLGljb246WzM4NCw1MTIsW10sImY0MjYiLCJNNjYuNCAzMjIuNWwtNTAuNCAwIDAtMzIyLjUgNTAuNCAwIDAgMzIyLjV6TTE2Ni45IDc2LjFsLTUwLjQgMCAwIDQzNS45IDUwLjQgMCAwLTQzNS45em0xMDAuNiAwbC01MC40IDAgMCA0MzUuOSA1MC40IDAgMC00MzUuOXpNMzY4IDc2bC01MC40IDAgMCAyNDcgNTAuNCAwIDAtMjQ3eiJdfSxIeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid29sZi1wYWNrLWJhdHRhbGlvbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjUxNCIsIk0yMzYuMiA0NzEuNWwxMC42IDE1LjggNS4zLTEyLjMgNS4zIDcgMCAyOS45YzIxLjEtNy45IDIxLjEtNjYuOSAyNS41LTk3LjIgNC42LTMxLjktLjktOTIuOCA4MS40LTE0OS4xLTguOS0yMy42LTEyLTQ5LjQtMi42LTgwIDI3LjkgMy40IDUzLjkgMTAuNiA2My4zIDU0LjFsLTMwLjMgOC40YzExLjEgMjMgMTcgNDYuOCAxMy4yIDcyLjFsLTI3LjMtNy02LjIgMzMuNC0xOC41LTctOC44IDMzLjQtMTkuNC03IDI2LjQgMjEuMSA4LjgtMjguMiAyNC42IDUuMiA3LTM1LjYgMjYuNCAxNC41Yy4yLTIwIDctNTguMS04LjgtODQuNWwyNi40IDUuM2M0LTIyLjEtMi40LTM5LjItNy45LTU2LjdsMjIuNCA5LjdjLS40LTI1LjEtMjkuOS01Ni44LTYxLjYtNTguNS0yMC4yLTEuMS01Ni43LTI1LjItNTQuMS01MS45IDItMTkuOSAxNy40LTQyLjYgNDMuMS00OS43LTQ0IDM2LjUtOS43IDY3LjMgNS4zIDczLjUgNC40LTExLjQgMTcuNS02OS4xIDAtMTMwLjItNDAuNCAyMi45LTg5LjcgNjUuMS05My4yIDE0Ny44bC01OCAzOC43LTMuNSA5My4yIDEwNy4zLTU5LjggNyA3LTE3LjYgMy41LTQ0IDM4LjctMTUuOC01LjMtMjguMSA0OS4zLTMuNSAxMTkuNiAyMS4xIDE1LjgtMzIuNSAxNS44LTMyLjYtMTUuOCAyMS4xLTE1LjgtMy41LTExOS42LTI4LjItNDkuMy0xNS44IDUuMy00NC0zOC43LTE3LjYtMy41IDctNyAxMDcuMyA1OS44LTMuNS05My4zLTU4LjEtMzguN2MtMy41LTgyLjgtNTIuNy0xMjUtOTMuMi0xNDcuOS0xNy41IDYxLjEtNC40IDExOC44IDAgMTMwLjIgMTUtNi4yIDQ5LjMtMzcgNS4zLTczLjUgMjUuNyA3LjEgNDEuMSAyOS44IDQzLjEgNDkuNyAyLjYgMjYuNy0zMy45IDUwLjgtNTQuMSA1MS45LTMxLjcgMS43LTYxLjIgMzMuNC02MS42IDU4LjVsMjIuNC05LjdDMTMuNCAyMjQuNyA3IDI0MS44IDExIDI2My45bDI2LjQtNS4zYy0xNS44IDI2LjQtOS4xIDY0LjQtOC44IDg0LjRsMjYuNC0xNC41IDcgMzUuNiAyNC42LTUuMyA4LjggMjguMiAyNi40LTIxLjEtMTkuNCA3LTguOC0zMy40LTE4LjUgNy02LjItMzMuNC0yNy4zIDdDMzggMjk0LjggNDMuOCAyNzEgNTUgMjQ4bC0zMC4zLTguNGM5LjQtNDMuNSAzNS41LTUwLjggNjMuMy01NC4xIDkuNCAzMC42IDYuMiA1Ni41LTIuNiA4MC4xIDgyLjMgNTYuMyA3Ni44IDExNy4yIDgxLjQgMTQ5LjEgNC40IDMwLjMgNC40IDg5LjMgMjUuNSA5Ny4ybDAtMjkuOCA1LjMtNyA1LjMgMTIuMyAxMC42LTE1LjggMTEuNCAyMS4xIDExLjQtMjEuMSAwIDB6bTc5LjItOTVMMjk5LjUgMzY2YzcuNS00LjQgMTMuOC04LjQgMTkuNC0xMi4zLS42IDcuMi0uMyAxMy44LTMuNSAyMi44bDAgMHptMjguMi00OS4zYy0uNCAxMC45LS45IDIxLjctMS44IDMxLjctNy44LTEuOS0xNS42LTMuOC0yMS4xLTcgOC4yLTcuOSAxNS42LTE2LjMgMjIuOS0yNC43bDAgMHptMjQuNiA1LjNjMC0xMy40LTIuMS0yNC4yLTUuMy0zMy40LTUuNSA5LjUtMTEuNyAxOC42LTE4LjUgMjcuM2wyMy44IDYuMnptMy41LTgwLjljMTkuNCAxMi44IDI3LjggMzMuNyAyOS45IDU2LjMtMTIuMy00LjUtMjQuNi05LjMtMzctMTAuNiA1LjEtMTIgNi42LTI4LjEgNy00NS43bDAgMHptLTEuOC00NS43Yy44IDE0LjMgMS44IDI4LjggMS44IDQyLjIgMTkuMi04LjEgMjkuOC05LjcgNDQtMTQuMS0xMC42LTE5LTI3LjItMjUuNS00NS44LTI4LjJsMCAwek0xMzQuMiAzNzYuNUwxNTAgMzY2Yy03LjUtNC40LTEzLjgtOC40LTE5LjQtMTIuMyAuNiA3LjMgLjMgMTMuOSAzLjUgMjIuOWwwIDB6TTEwNiAzMjcuM2MuNCAxMC45IC45IDIxLjcgMS44IDMxLjcgNy44LTEuOSAxNS42LTMuOCAyMS4xLTctOC4yLTcuOS0xNS42LTE2LjMtMjIuOS0yNC43em0tMjQuNiA1LjNjMC0xMy40IDItMjQuMiA1LjMtMzMuNCA1LjUgOS41IDExLjcgMTguNiAxOC41IDI3LjNsLTIzLjggNi4yem0tMy41LTgwLjljLTE5LjQgMTIuOC0yNy44IDMzLjctMjkuOSA1Ni4zIDEyLjMtNC41IDI0LjYtOS4zIDM3LTEwLjYtNS0xMi02LjYtMjguMS03LTQ1LjdsLS4xIDB6bTEuOC00NS43Yy0uOCAxNC4zLTEuOCAyOC44LTEuOCA0Mi4yLTE5LjItOC4xLTI5LjgtOS43LTQ0LTE0LjEgMTAuNi0xOSAyNy4yLTI1LjUgNDUuOC0yOC4xeiJdfSxxeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGFzdGZtIixpY29uOls1MTIsNTEyLFtdLCJmMjAyIiwiTTIyNS44IDM2Ny4xbC0xOC44LTUxcy0zMC41IDM0LTc2LjIgMzRjLTQwLjUgMC02OS4yLTM1LjItNjkuMi05MS41IDAtNzIuMSAzNi40LTk3LjkgNzIuMS05Ny45IDY2LjUgMCA3NC44IDUzLjMgMTAwLjkgMTM0LjkgMTguOCA1Ni45IDU0IDEwMi42IDE1NS40IDEwMi42IDcyLjcgMCAxMjItMjIuMyAxMjItODAuOSAwLTcyLjktNjIuNy04MC42LTExNS05Mi4xLTI1LjgtNS45LTMzLjQtMTYuNC0zMy40LTM0IDAtMTkuOSAxNS44LTMxLjcgNDEuNi0zMS43IDI4LjIgMCA0My40IDEwLjYgNDUuNyAzNS44bDU4LjYtN2MtNC43LTUyLjgtNDEuMS03NC41LTEwMC45LTc0LjUtNTIuOCAwLTEwNC40IDE5LjktMTA0LjQgODMuOSAwIDM5LjkgMTkuNCA2NS4xIDY4IDc2LjggNDQuOSAxMC42IDc5LjggMTMuOCA3OS44IDQ1LjcgMCAyMS43LTIxLjEgMzAuNS02MSAzMC41LTU5LjIgMC04My45LTMxLjEtOTcuOS03My45LTMyLTk2LjgtNDMuNi0xNjMtMTYxLjMtMTYzLTg2LjEgMC0xMzEuOCA1NC41LTEzMS44IDE0Ny4yIDAgODkuMSA0NS43IDEzNy4yIDEyNy45IDEzNy4yIDY2LjIgMCA5Ny45LTMxLjEgOTcuOS0zMS4xeiJdfSxWeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2hvcHdhcmUiLGljb246WzUxMiw1MTIsW10sImY1YjUiLCJNNDAzLjUgNDU1LjRjLTQyLjYgMzEuNy05NC40IDQ4LjctMTQ3LjUgNDguNi0xMzcuMiAwLTI0OC0xMTEtMjQ4LTI0OCAwLTEzNy4yIDExMS0yNDggMjQ4LTI0OCA2MS4yLS4xIDEyMC4yIDIyLjYgMTY1LjcgNjMuNSAuNiAuNSAuOSAxLjIgMS4xIDEuOXMuMSAxLjUtLjMgMi4yLS44IDEuMy0xLjUgMS42LTEuNCAuNS0yLjIgLjRjLTE4LjgtMi41LTM3LjctMy43LTU2LjctMy43LTEyOS40IDAtMjIyLjQgNTMuNS0yMjIuNCAxNTUuNCAwIDEwOSA5Mi4xIDE0NS45IDE3Ni44IDE3OC43IDMzLjYgMTMgNjUuNCAyNS40IDg3IDQxLjYgLjQgLjMgLjggLjggMS4xIDEuM3MuNCAxIC40IDEuNi0uMSAxLjEtLjQgMS42LS42IC45LTEuMSAxLjNsLS4xIDB6TTUwMyAyMzMuMWMtLjEtLjktLjUtMS44LTEuMy0yLjQtNTEuOC00My05My42LTYwLjUtMTQ0LjUtNjAuNS04NC4xIDAtODAuMyA1Mi4yLTgwLjMgNTMuNiAwIDQyLjYgNTIuMSA2MiAxMTIuMyA4NC41IDMxLjEgMTEuNiA2My4yIDIzLjYgOTIuNyAzOS45IC40IC4yIC45IC40IDEuNCAuNHMxIDAgMS41LS4yIC45LS40IDEuMy0uOCAuNi0uOCAuOC0xLjJjMTQuMS0zNiAxOS41LTc0LjggMTYtMTEzLjN6Il19LGp4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJibG9nZ2VyIixpY29uOls0NDgsNTEyLFtdLCJmMzdjIiwiTTE2Mi40IDE5NmM0LjgtNC45IDYuMi01LjEgMzYuNC01LjEgMjcuMiAwIDI4LjEgLjEgMzIuMSAyLjEgNS44IDIuOSA4LjMgNyA4LjMgMTMuNiAwIDUuOS0yLjQgMTAtNy42IDEzLjQtMi44IDEuOC00LjUgMS45LTMxLjEgMi4xLTE2LjQgLjEtMjkuNS0uMi0zMS41LS44LTEwLjMtMi45LTE0LjEtMTcuNy02LjYtMjUuM3ptNjEuNCA5NC41Yy01My45IDAtNTUuOCAuMi02MC4yIDQuMS0zLjUgMy4xLTUuNyA5LjQtNS4xIDEzLjkgLjcgNC43IDQuOCAxMC4xIDkuMiAxMiAyLjIgMSAxNC4xIDEuNyA1Ni4zIDEuMmw0Ny45LS42IDkuMi0xLjVjOS01LjEgMTAuNS0xNy40IDMuMS0yNC40LTUuMy00LjctNS00LjctNjAuNC00Ljd6TTQ0Ny4yIDQyMC42Yy0zLjUgMjguNC0yMyA1MC40LTUxLjEgNTcuNS03LjIgMS44LTkuNyAxLjktMTcyLjkgMS44LTE1Ny44IDAtMTY1LjktLjEtMTcyLTEuOC04LjQtMi4yLTE1LjYtNS41LTIyLjMtMTAtNS42LTMuOC0xMy45LTExLjgtMTctMTYuNC0zLjgtNS42LTguMi0xNS4zLTEwLTIyUzAgNDIwLjMgMCAyNTYuM2MwLTE2My4xIDAtMTY2LjYgMS44LTE3My43IDYuMy0yNC43IDI1LjktNDMuNiA1MS4yLTQ5LjIgNy4zLTEuNiAzMzIuMS0xLjkgMzQwLS4zIDIxLjIgNC4zIDM3LjkgMTcuMSA0Ny42IDM2LjQgNy43IDE1LjMgNy0xLjUgNy4zIDE4MC42IC4yIDExNS44IDAgMTY0LjUtLjcgMTcwLjV6TTM2MS44IDIzNS40Yy0xLjEtNS00LjItOS42LTcuNy0xMS41LTEuMS0uNi04LTEuMy0xNS41LTEuNy0xMi40LS42LTEzLjgtLjgtMTcuOC0zLjEtNi4yLTMuNi03LjktNy42LTgtMTguMyAwLTIwLjQtOC41LTM5LjQtMjUuMy01Ni41LTEyLTEyLjItMjUuMy0yMC41LTQwLjYtMjUuMS0zLjYtMS4xLTExLjgtMS41LTM5LjItMS44LTQyLjktLjUtNTIuNSAuNC02Ny4xIDYuMi0yNyAxMC43LTQ2LjMgMzMuNC01My40IDYyLjQtMS4zIDUuNC0xLjYgMTQuMi0xLjkgNjQuMy0uNCA2Mi44IDAgNzIuMSA0IDg0LjUgOS43IDMwLjcgMzcuMSA1My40IDY0LjYgNTguNCA5LjIgMS43IDEyMi4yIDIuMSAxMzMuNyAuNSAyMC4xLTIuNyAzNS45LTEwLjggNTAuNy0yNS45IDEwLjctMTAuOSAxNy40LTIyLjggMjEuOC0zOC41IDMuMi0xMC45IDIuOS04OC40IDEuNy05My45eiJdfSxVeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZWRnZSIsaWNvbjpbNTEyLDUxMixbXSwiZjI4MiIsIk0xMjAuMSAzNy40YzQxLTI1LjIgODcuNi0zOC4yIDEzNC45LTM3LjQgMTY4IDAgMjU3IDEyMy44IDI1NyAyMTkuNS0uMSAzMi43LTEzIDYzLjktMzUuOSA4Ny4yLTIyLjkgMjMuMi01NCAzNi41LTg2LjcgMzctNzUuMiAwLTkxLjUtMjMuMS05MS41LTMyIDAtMy44IDEuMi02LjIgNC44LTkuNGwxLTEuMiAuNC0xLjZjMTAuNS0xMS41IDE1LjktMjYuMiAxNS45LTQxLjYgMC03OC43LTgyLjItMTQyLjctMTg0LTE0Mi43LTM3LjUtLjMtNzQuNSA4LjktMTA3LjUgMjYuOSAyNy01Ny41IDgyLjctOTcuNiA5MS4zLTEwMy44IC44LS42IC4zLS44IC4zLS44em0xNS42IDMxOC4xYy0xLjQgMzAgNC42IDYwIDE2LjQgODcuMiAxMy42IDI2LjQgMzIuNyA1MSA1Ni41IDY5LjMtNTkuNS0xMS41LTExMS41LTQzLjktMTQ5LjQtODkuMy0zOC4xLTQ2LjQtNTkuMi0xMDQuMy01OS4yLTE2NC44IDAtNTEuMiA2Mi40LTk0LjQgMTM2LTk0LjQgMzYuNi0uNiA3Mi40IDEwLjkgMTAxLjggMzIuN2wtMy42IDEuMmMtNTEuNSAxNy42LTk4LjUgOTAuNy05OC41IDE1OC4xek00NjkuOCA0MDBsLS43IC4xYy0xMS44IDE4LjgtMjUuOSAzNS4xLTQyLjIgNDkuNS0zMC44IDI4LTY4LjEgNDUuNS0xMDguOCA0OS45LTE4LjYgLjMtMzYuOC0zLjItNTMuOC0xMS40LTI1LjYtMTAuMy00Ny4xLTMwLTYxLjYtNTMtMTQuNC0yMy45LTIxLjEtNTEuNy0xOS03OS42LS42LTIwLjEgNS40LTQwLjMgMTUtNTguMiAxMy45IDMzLjEgMzcuNSA2MS4zIDY3LjYgODAuOHM2NS41IDI5LjUgMTAxLjQgMjguNmMzMSAuMyA2Mi4xLTYuNyA5MC4yLTIwLjVsMS45LS45YzMuOS0yLjMgNy43LTMuOSAxMS42IDAgNC41IDQuOSAxLjggOS4yLTEuMiAxNC0uMiAuMi0uMyAuNS0uNCAuN3oiXX0sV3h0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImlveGhvc3QiLGljb246WzY0MCw1MTIsW10sImYyMDgiLCJNNjE2IDE2MGwtNjcuMyAwQzUxMS4yIDcwLjcgNDIyLjkgOCAzMjAgOCAxODMgOCA3MiAxMTkgNzIgMjU2IDcyIDI3Mi40IDczLjYgMjg4LjUgNzYuNyAzMDRMMjQgMzA0Yy0xMy4zIDAtMjQgMTAuOC0yNCAyNCAwIDEzLjMgMTAuNyAyNCAyNCAyNGw2Ny4zIDBjMzcuNSA4OS4zIDEyNS44IDE1MiAyMjguNyAxNTIgMTM3IDAgMjQ4LTExMSAyNDgtMjQ4IDAtMTYuNC0xLjYtMzIuNS00LjctNDhsNTIuNyAwYzEzLjMgMCAyNC0xMC44IDI0LTI0IDAtMTMuMy0xMC43LTI0LTI0LTI0em0tOTYgOTZjMCAxMTAuNS04OS41IDIwMC0yMDAgMjAwLTc1LjcgMC0xNDEuNi00Mi0xNzUuNS0xMDRMNDI0IDM1MmMxMy4zIDAgMjQtMTAuOCAyNC0yNCAwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMjk4LjIgMGMtMy44LTE1LjQtNS44LTMxLjQtNS44LTQ4IDAtMTEwLjUgODkuNS0yMDAgMjAwLTIwMCA3NS43IDAgMTQxLjYgNDIgMTc1LjUgMTA0TDIxNiAxNjBjLTEzLjMgMC0yNCAxMC44LTI0IDI0IDAgMTMuMyAxMC43IDI0IDI0IDI0bDI5OC4yIDBjMy44IDE1LjQgNS44IDMxLjQgNS44IDQ4ek0yMTYgMjMybDIwOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0IDAgMTMuMi0xMC43IDI0LTI0IDI0bC0yMDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjQgMC0xMy4yIDEwLjctMjQgMjQtMjR6Il19LEd4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzY2hsaXgiLGljb246WzQ0OCw1MTIsW10sImYzZWEiLCJNMzUwLjUgMTU3LjdsLTU0LjItNDYuMSA3My40LTM5IDc4LjMgNDQuMi05Ny41IDQwLjl6TTE5MiAxMjIuMWw0NS43LTI4LjIgMzQuNyAzNC42LTU1LjQgMjktMjUtMzUuNHptLTY1LjEgNi42bDMxLjktMjIuMSAxNy4yIDI4LjQtMzYuNyAyMi41LTEyLjQtMjguOHptLTIzLjMgODguMmwtOC44LTM0LjggMjkuNi0xOC4zIDEzLjEgMzUuMy0zMy45IDE3Ljh6TTgyLjQgMTMzLjJsMjMuOS0xOC4xIDguOSAyNC0yNi43IDE4LjMtNi4xLTI0LjJ6TTU5IDIwNi41bC0zLjYtMjguNCAyMi4zLTE1LjUgNi4xIDI4LjctMjQuOCAxNS4yek0yOC40IDIyMy4xbDIwLjgtMTIuOCAzLjMgMzMuNC0yMi45IDEyLTEuMi0zMi42ek0xLjQgMjY4TDIwLjYgMjU3LjggMjEgMjk2IDAgMzA0LjggMS40IDI2OHptNTkuMSA1OS4zbC0yOC4zIDguMy0xLjYtNDYuOCAyNS4xLTEwLjcgNC44IDQ5LjJ6TTk5IDI2My4ybC0zMS4xIDEzLTUuMi00MC44IDI3LjQtMTQuNCA4LjkgNDIuMnpNMTIzLjIgMzc3bC00MS42IDUuOS04LjEtNjMuNSAzNS4yLTEwLjggMTQuNSA2OC40em0yOC41LTEzOS45bDIxLjIgNTcuMS00Ni4yIDEzLjYtMTMuNy01NC4xIDM4LjctMTYuNnptODUuNyAyMzAuNWwtNzAuOS0zLjMtMjQuMy05NS44IDU1LjItOC42IDQwIDEwNy43ek0xNTIuNSAxODcuOWw0Mi4yLTIyLjQgMjggNDUuOS01MC44IDIxLjMtMTkuNC00NC44em00MSA5NC45bDYxLjMtMTguNyA1Mi44IDg2LjYtNzkuOCAxMS4zLTM0LjMtNzkuMnptNTEuNC04NS42bDY3LjMtMjguOCA2NS41IDY1LjQtODguNiAyNi4yLTQ0LjItNjIuOHoiXX0sWXh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImQtYW5kLWQiLGljb246WzU3Niw1MTIsW10sImYzOGQiLCJNODIuOSA5OC45Yy0uNi0xNy4yIDItMzMuOCAxMi43LTQ4LjIgLjMgNy40IDEuMiAxNC41IDQuMiAyMS42IDUuOS0yNy41IDE5LjctNDkuMyA0Mi4zLTY1LjUtMS45IDUuOS0zLjUgMTEuOC0zIDE3LjcgOC43LTcuNCAxOC44LTE3LjggNDQuNC0yMi43IDE0LjctMi44IDI5LjctMiA0Mi4xIDEgMzguNSA5LjMgNjEgMzQuMyA2OS43IDcyLjMgNS4zIDIzLjEgLjcgNDUtOC4zIDY2LjQtNS4yIDEyLjQtMTIgMjQuNC0yMC43IDM1LjEtMi0xLjktMy45LTMuOC01LjgtNS42LTQyLjgtNDAuOC0yNi44LTI1LjItMzcuNC0zNy40LTEuMS0xLjItMS0yLjItLjEtMy42IDguMy0xMy41IDExLjgtMjguMiAxMC00NC0xLjEtOS44LTQuMy0xOC45LTExLjMtMjYuMi0xNC41LTE1LjMtMzkuMi0xNS01My41IC42LTExLjQgMTIuNS0xNC4xIDI3LjQtMTAuOSA0My42IC4yIDEuMyAuNCAyLjcgMCAzLjktMy40IDEzLjctNC42IDI3LjYtMi41IDQxLjYgLjEgLjUgLjEgMS4xIC4xIDEuNiAwIC4zLS4xIC41LS4yIDEuMS0yMS44LTExLTM2LTI4LjMtNDMuMi01Mi4yLTguMyAxNy44LTExLjEgMzUuNS02LjYgNTQuMS0xNS42LTE1LjItMjEuMy0zNC4zLTIyLTU1LjJ6TTU1Mi41IDIyMi4xYy0xMS42LTExLjYtMjUtMjAuNC00MC4xLTI2LjYtMTIuOC01LjItMjYtNy45LTM5LjktNy4xLTEwIC42LTE5LjYgMy4xLTI5IDYuNC0yLjUgLjktNS4xIDEuNi03LjcgMi4yLTQuOSAxLjItNy4zLTMuMS00LjctNi44IDMuMi00LjYgMy40LTQuMiAxNS0xMiAuNi0uNCAxLjItLjggMi4yLTEuNWwtMi41IDBjLS42IDAtMS4yIC4yLTEuOSAuMy0xOS4zIDMuMy0zMC43IDE1LjUtNDguOSAyOS42LTEwLjQgOC4xLTEzLjggMy44LTEyLS41IDEuNC0zLjUgMy4zLTYuNyA1LjEtMTAgMS0xLjggMi4zLTMuNCAzLjUtNS4xLS4yLS4yLS41LS4zLS43LS41LTI3IDE4LjMtNDYuNyA0Mi40LTU3LjcgNzMuMyAuMyAuMyAuNyAuNiAxIC45IC4zLS42IC41LTEuMiAuOS0xLjcgMTAuNC0xMi4xIDIyLjgtMjEuOCAzNi42LTI5LjggMTguMi0xMC42IDM3LjUtMTguMyA1OC43LTIwLjIgNC4zLS40IDguNy0uMSAxMy4xLS4xLTEuOCAuNy0zLjUgLjktNS4zIDEuMS0xOC41IDIuNC0zNS41IDktNTEuNSAxOC41LTMwLjIgMTcuOS01NC41IDQyLjItNzUuMSA3MC40LS4zIC40LS40IC45LS43IDEuMyAxNC41IDUuMyAyNCAxNy4zIDM2LjEgMjUuNiAuMi0uMSAuMy0uMiAuNC0uNGwxLjItMi43YzEyLjItMjYuOSAyNy01Mi4zIDQ2LjctNzQuNSAxNi43LTE4LjggMzgtMjUuMyA2Mi41LTIwIDUuOSAxLjMgMTEuNCA0LjQgMTcuMiA2LjggMi4zLTEuNCA1LjEtMy4yIDgtNC43IDguNC00LjMgMTcuNC03IDI2LjctOSAxNC43LTMuMSAyOS41LTQuOSA0NC41LTEuM2wwLS41Yy0uNS0uNC0xLjItLjgtMS43LTEuNHpNMzE3LjEgMzk3LjZjLTM5LjQtMzMtMjIuOC0xOS41LTQyLjctMzUuNi0uOCAuOSAwLS4yLTEuOSAzLTExLjIgMTkuMS0yNS41IDM1LjMtNDQgNDcuNi0xMC4zIDYuOC0yMS41IDExLjgtMzQuMSAxMS44LTIxLjYgMC0zOC4yLTkuNS00OS40LTI3LjgtMTItMTkuNS0xMy4zLTQwLjctOC4yLTYyLjYgNy44LTMzLjggMzAuMS01NS4yIDM4LjYtNjQuMy0xOC43LTYuMi0zMyAxLjctNDYuNCAxMy45IC44LTEzLjkgNC4zLTI2LjIgMTEuOC0zNy4zLTI0LjMgMTAuNi00NS45IDI1LTY0LjggNDMuOS0uMy01LjggNS40LTQzLjcgNS42LTQ0LjcgLjMtMi43LS42LTUuMy0zLTcuNC0yNC4yIDI0LjctNDQuNSA1MS44LTU2LjEgODQuNiA3LjQtNS45IDE0LjktMTEuNCAyMy42LTE2LjItOC4zIDIyLjMtMTkuNiA1Mi44LTcuOCAxMDEuMSA0LjYgMTkgMTEuOSAzNi44IDI0LjEgNTIuMyAyLjkgMy43IDYuMyA2LjkgOS41IDEwLjMgLjItLjIgLjQtLjMgLjYtLjUtMS40LTctMi4yLTE0LjEtMS41LTIxLjkgMi4yIDMuMiAzLjkgNiA1LjkgOC42IDEyLjYgMTYgMjguNyAyNy40IDQ3LjIgMzUuNiAyNSAxMS4zIDUxLjEgMTMuMyA3Ny45IDguNiA1NC45LTkuNyA5MC43LTQ4LjYgMTE2LTk4LjggMS0xLjggLjYtMi45LS45LTQuMnptMTcyLTQ2LjRjLTkuNS0zLjEtMjIuMi00LjItMjguNy0yLjkgOS45IDQgMTQuMSA2LjYgMTguOCAxMiAxMi42IDE0LjQgMTAuNCAzNC43LTUuNCA0NS42LTExLjcgOC4xLTI0LjkgMTAuNS0zOC45IDkuMS0xLjItLjEtMi4zLS40LTMtLjYgMi44LTMuNyA2LTcgOC4xLTEwLjggOS40LTE2LjggNS40LTQyLjEtOC43LTU2LjEtMi4xLTIuMS00LjYtMy45LTctNS45LS4zIDEuMy0uMSAyLjEgLjEgMi44IDQuMiAxNi42LTguMSAzMi40LTI0LjggMzEuOC03LjYtLjMtMTMuOS0zLjgtMTkuNi04LjUtMTkuNS0xNi4xLTM5LjEtMzIuMS01OC41LTQ4LjMtNS45LTQuOS0xMi41LTguMS0yMC4xLTguNy00LjYtLjQtOS4zLS42LTEzLjktLjktNS45LS40LTguOC0yLjgtMTAuNC04LjQtLjktMy40LTEuNS02LjgtMi4yLTEwLjItMS41LTguMS02LjItMTMtMTQuMy0xNC4yLTQuNC0uNy04LjktMS0xMy4zLTEuNS0xMy0xLjQtMTkuOC03LjQtMjIuNi0yMC4zLTUgMTEtMS42IDIyLjQgNy4zIDI5LjkgNC41IDMuOCA5LjMgNy4zIDEzLjggMTEuMiA0LjYgMy44IDcuNCA4LjcgNy45IDE0LjggLjQgNC43IC44IDkuNSAxLjggMTQuMSAyLjIgMTAuNiA4LjkgMTguNCAxNyAyNS4xIDE2LjUgMTMuNyAzMyAyNy4zIDQ5LjUgNDEuMSAxNy45IDE1IDEzLjkgMzIuOCAxMyA1Ni0uOSAyMi45IDEyLjIgNDIuOSAzMy41IDUxLjIgMSAuNCAyIC42IDMuNiAxLjEtMTUuNy0xOC4yLTEwLjEtNDQuMSAuNy01Mi4zIC4zIDIuMiAuNCA0LjMgLjkgNi40IDkuNCA0NC4xIDQ1LjQgNjQuMiA4NSA1Ni45IDE2LTIuOSAzMC42LTguOSA0Mi45LTE5LjggMi0xLjggMy43LTQuMSA1LjktNi41LTE5LjMgNC42LTM1LjggLjEtNTAuOS0xMC42IC43LS4zIDEuMy0uMyAxLjktLjMgMjEuMyAxLjggNDAuNi0zLjQgNTctMTcuNCAxOS41LTE2LjYgMjYuNi00Mi45IDE3LjQtNjYtOC4zLTIwLjEtMjMuNi0zMi4zLTQzLjgtMzguOXpNOTkuOCAxNzkuM2MtNS4zLTkuMi0xMy4yLTE1LjYtMjIuMS0yMS4zIDEzLjctLjUgMjYuNiAuMiAzOS42IDMuNy03LTEyLjItOC41LTI0LjctNS0zOC43IDUuMyAxMS45IDEzLjcgMjAuMSAyMy42IDI2LjggMTkuNyAxMy4yIDM1LjcgMTkuNiA0Ni43IDMwLjIgMy40IDMuMyA2LjMgNy4xIDkuNiAxMC45LS44LTIuMS0xLjQtNC4xLTIuMi02LTUtMTAuNi0xMy0xOC42LTIyLjYtMjUtMS44LTEuMi0yLjgtMi41LTMuNC00LjUtMy4zLTEyLjUtMy0yNS4xLS43LTM3LjYgMS01LjUgMi44LTEwLjkgNC41LTE2LjMgLjgtMi40IDIuMy00LjYgNC02LjYgLjYgNi45IDAgMjUuNSAxOS42IDQ2IDEwLjggMTEuMyAyMi40IDIxLjkgMzMuOSAzMi43IDkgOC41IDE4LjMgMTYuNyAyNS41IDI2LjggMS4xIDEuNiAyLjIgMy4zIDMuOCA0LjctNS0xMy0xNC4yLTI0LjEtMjQuMi0zMy44LTkuNi05LjMtMTkuNC0xOC40LTI5LjItMjcuNC0zLjMtMy00LjYtNi43LTUuMS0xMC45LTEuMi0xMC40IDAtMjAuNiA0LjMtMzAuMiAuNS0xIDEuMS0yIDEuOS0zLjMgLjUgNC4yIC42IDcuOSAxLjQgMTEuNiA0LjggMjMuMSAyMC40IDM2LjMgNDkuMyA2My41IDEwIDkuNCAxOS4zIDE5LjIgMjUuNiAzMS42IDQuOCA5LjMgNy4zIDE5IDUuNyAyOS42LS4xIC42IC41IDEuNyAxLjEgMiA2LjIgMi42IDEwIDYuOSA5LjcgMTQuMyA3LjctMi42IDEyLjUtOCAxNi40LTE0LjUgNC4yIDIwLjItOS4xIDUwLjMtMjcuMiA1OC43IC40LTQuNSA1LTIzLjQtMTYuNS0yNy43LTYuOC0xLjMtMTIuOC0xLjMtMjIuOS0yLjEgNC43LTkgMTAuNC0yMC42IC41LTIyLjQtMjQuOS00LjYtNTIuOCAxLjktNTcuOCA0LjYgOC4yIC40IDE2LjMgMSAyMy41IDMuMy0yIDYuNS00IDEyLjctNS44IDE4LjktMS45IDYuNSAyLjEgMTQuNiA5LjMgOS42IDEuMi0uOSAyLjMtMS45IDMuMy0yLjctMy4xIDE3LjktMi45IDE1LjktMi44IDE4LjMgLjMgMTAuMiA5LjUgNy44IDE1LjcgNy4zLTIuNSAxMS44LTI5LjUgMjcuMy00NS40IDI1LjggNy00LjcgMTIuNy0xMC4zIDE1LjktMTcuOS02LjUgLjgtMTIuOSAxLjYtMTkuMiAyLjRsLS4zLS45YzQuNy0zLjQgOC03LjggMTAuMi0xMy4xIDguNy0yMS4xLTMuNi0zOC0yNS0zOS45LTkuMS0uOC0xNy44IC44LTI1LjkgNS41IDYuMi0xNS42IDE3LjItMjYuNiAzMi42LTM0LjUtMTUuMi00LjMtOC45LTIuNy0yNC42LTYuMyAxNC42LTkuMyAzMC4yLTEzLjIgNDYuNS0xNC42LTUuMi0zLjItNDguMS0zLjYtNzAuMiAyMC45IDcuOSAxLjQgMTUuNSAyLjggMjMuMiA0LjItMjMuOCA3LTQ0IDE5LjctNjIuNCAzNS42IDEuMS00LjggMi43LTkuNSAzLjMtMTQuMyAuNi00LjUgLjgtOS4yIC4xLTEzLjYtMS41LTkuNC04LjktMTUuMS0xOS43LTE2LjMtNy45LS45LTE1LjYgLjEtMjMuMyAxLjMtLjkgLjEtMS43IC4zLTIuOSAwIDE1LjgtMTQuOCAzNi0yMS43IDUzLjEtMzMuNSA2LTQuNSA2LjgtOC4yIDMtMTQuOXptMTI4LjQgMjYuOGMzLjMgMTYgMTIuNiAyNS41IDIzLjggMjQuMy00LjYtMTEuMy0xMi4xLTE5LjUtMjMuOC0yNC4zeiJdfSxLeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidnVlanMiLGljb246WzQ0OCw1MTIsW10sImY0MWYiLCJNMzU2LjkgNjQuM2wtNzYuOSAwLTU2IDg4LjYtNDgtODguNi0xNzYgMCAyMjQgMzgzLjcgMjI0LTM4My43LTkxLjEgMHpNNTUuNyA5Ni4zbDUzLjggMCAxMTQuNSAxOTguMiAxMTQuNC0xOTguMiA1My44IDAtMTY4LjIgMjg4LjItMTY4LjMtMjg4LjJ6Il19LFp4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtZXRhIixpY29uOls2NDAsNTEyLFtdLCJlNDliIiwiTTY0MCAzMTcuOWMwIDkxLjMtMzkuNCAxNDguNS0xMTAuMyAxNDguNS02Mi42IDAtOTUuOC0zNC42LTE1Ni45LTEzNi42bC0zMS40LTUyLjZjLTguMy0xMi41LTE0LjUtMjQuMi0yMS4yLTM1LTIwLjEgMzMuOC00Ny4xIDgzLTQ3LjEgODMtNjcgMTE2LjYtMTA0LjYgMTQxLjItMTU2LjkgMTQxLjItNzIuOCAwLTExNi4yLTU3LjMtMTE2LjItMTQ1LjkgMC0xNDMgNzkuOC0yNzguMSAxODMuOS0yNzguMSA1MC4yIDAgOTMuOCAyNC43IDE0NC44IDg5LjUgMzcuMS01MC4xIDc4LjEtODkuNSAxMzAuNi04OS41IDk5LjEgMCAxODAuNyAxMjUuNyAxODAuNyAyNzUuNXpNMjg3LjQgMTkyLjJjLTQyLjktNjIuMS03MC45LTgwLjUtMTA0LjQtODAuNS02MS45IDAtMTEzLjggMTA2LjEtMTEzLjggMjEwIDAgNDguNSAxOC41IDc1LjcgNDkuNiA3NS43IDMwLjIgMCA0OS0xOSAxMDMuMi0xMDMuOCAwIDAgMjQuNy0zOS4xIDY1LjQtMTAxLjR6TTUzMS4yIDM5Ny40YzMyLjIgMCA0Ni45LTI3LjUgNDYuOS03NC45IDAtMTI0LjItNTQuMy0yMjUuNC0xMjMuMi0yMjUuNC0zMy4yIDAtNjEuMSAyNS45LTk0LjkgNzggOS40IDEzLjggMTkuMSAyOSAyOS4zIDQ1LjRsMzcuNSA2Mi40YzU4LjcgOTQuMSA3My41IDExNC41IDEwNC40IDExNC41eiJdfSxYeHQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1zaGFyZSIsaWNvbjpbNTEyLDUxMixbXSwiZjRmMiIsIk0yNTUuNiA4QzM5Ny40IDggNTA0IDExOC4xIDUwNCAyNTYgNTA0IDQwMy4xIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjYgNTA0IDggMzk0LjUgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6bS44IDQ0LjdjLTExOC4yIDAtMjAzLjcgOTcuOS0yMDMuNyAyMDMuMyAwIDEwOS44IDkxLjIgMjAyLjggMjAzLjcgMjAyLjggMTAzLjIgMCAyMDIuOC04MS4xIDIwMi44LTIwMi44IC4xLTExMy44LTkwLjItMjAzLjMtMjAyLjgtMjAzLjN6bTEwMSAxMzIuNGM3LjggMCAxMy43IDYuMSAxMy43IDEzLjdsMCAxODIuNWMwIDcuNy02LjEgMTMuNy0xMy43IDEzLjdsLTEzNS4xIDBjLTcuNyAwLTEzLjctNi0xMy43LTEzLjdsMC01NC01NCAwYy03LjggMC0xMy43LTYtMTMuNy0xMy43bDAtMTgyLjVjMC04LjIgNi42LTEyLjcgMTIuNC0xMy43bDEzNi40IDBjNy43IDAgMTMuNyA2IDEzLjcgMTMuN2wwIDU0IDU0IDB6TTE2Ny45IDMwMC4zbDQwLjcgMCAwLTEwMS40YzAtNy40IDUuOC0xMi42IDEyLTEzLjdsNTUuOCAwIDAtNDAuMy0xMDguNSAwIDAgMTU1LjR6bTE3Ni4yLTg4LjFsLTEwOC41IDAgMCAxNTUuNCAxMDguNSAwIDAtMTU1LjR6Il19LFF4dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdHVkaW92aW5hcmkiLGljb246WzUxMiw1MTIsW10sImYzZjgiLCJNNDgwLjcgMTg3LjdsNC4yIDI4IDAgMjgtMjUuMSA0NC4xLTM5LjggNzguNC01Ni4xIDY3LjUtNzkuMSAzNy44LTE3LjcgMjQuNS03LjcgMTItOS42IDRzMTcuMy02My42IDE5LjQtNjMuNiAyMC4zIC43IDIwLjMgLjdsNjYuNy0zOC42LTkyLjUgMjYuMS01NS45IDM2LjgtMjIuOCAyOC02LjYgMS40IDIwLjgtNzMuNiA2LjktNS41IDIwLjcgMTIuOSA4OC4zLTQ1LjIgNTYuOC01MS41IDE0LjgtNjguNC0xMjUuNCAyMy4zIDE1LjItMTguMi0xNzMuNC01My4zIDgxLjktMTAuNS0xNjYtMTIyLjkgMTE0LjkgMTguMS0xMDEuMy0xMDggMjUyLjkgMTI2LjYtMzEuNS0zOCAxMjQuNCA3NC40LTE0My4zLTk5IDE4LjcgMzguNC00OS42LTE4LjEtNDUuNS04NC4zIDE5NC42IDEyMi00Mi45LTU1LjggMTA4IDk2LjQgMTItOC45LTIxLTE2LjQgNC4yLTM3LjggMzcuOC0xMC40IDI5LjIgMjQuNyAxMS41IDQuMi03IDYuMiA4LjUgMTItMTMuMSA3LjQtMTAuMyAyMC4yIDEwLjUgMjMuOXoiXX0sSnh0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJpdGJ1Y2tldCIsaWNvbjpbNTEyLDUxMixbNjE4MTBdLCJmMTcxIiwiTTIyLjIgMzJjLTIuMSAwLTQuMiAuNC02LjEgMS4xcy0zLjcgMS45LTUuMiAzLjQtMi43IDMuMi0zLjUgNS4xLTEuMyA0LTEuMyA2LjFjMCAuOSAuMSAxLjkgLjIgMi44TDc0LjEgNDYyLjdjLjggNS4xIDMuNCA5LjcgNy4zIDEzczguOCA1LjIgMTQgNS4ybDMyNS43IDBjMy44IC4xIDcuNS0xLjMgMTAuNS0zLjdzNC45LTUuOSA1LjUtOS43TDUwNSA1MC43Yy43LTQuMi0uMy04LjQtMi44LTExLjlzLTYuMi01LjctMTAuNC02LjRjLS45LS4xLTEuOS0uMi0yLjgtLjJMMjIuMiAzMnpNMzA4LjEgMzI5LjhsLTEwNCAwLTI4LjEtMTQ3IDE1Ny4zIDAtMjUuMiAxNDd6Il19LGV5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2ayIsaWNvbjpbNDQ4LDUxMixbXSwiZjE4OSIsIk0zMS41IDYzLjVDMCA5NSAwIDE0NS43IDAgMjQ3TDAgMjY1QzAgMzY2LjMgMCA0MTcgMzEuNSA0NDguNVMxMTMuNyA0ODAgMjE1IDQ4MGwxNy45IDBjMTAxLjQgMCAxNTIuMSAwIDE4My41LTMxLjVTNDQ4IDM2Ni4zIDQ0OCAyNjVsMC0xNy45YzAtMTAxLjQgMC0xNTIuMS0zMS41LTE4My41UzMzNC4zIDMyIDIzMyAzMkwyMTUgMzJDMTEzLjcgMzIgNjMgMzIgMzEuNSA2My41ek03NS42IDE2OC4zbDUxLjEgMGMxLjcgODUuNSAzOS40IDEyMS43IDY5LjMgMTI5LjJsMC0xMjkuMiA0OC4yIDAgMCA3My43YzI5LjUtMy4yIDYwLjUtMzYuOCA3MC45LTczLjdsNDguMiAwYy0zLjkgMTkuMi0xMS44IDM3LjMtMjMuMSA1My4zcy0yNS43IDI5LjUtNDIuNSAzOS42YzE4LjcgOS4zIDM1LjIgMjIuNCA0OC40IDM4LjVzMjIuOSAzNC45IDI4LjMgNTVsLTUzIDBjLTQuOS0xNy41LTE0LjgtMzMuMS0yOC42LTQ1cy0zMC43LTE5LjQtNDguNy0yMS42bDAgNjYuNi01LjggMGMtMTAyLjEgMC0xNjAuMy03MC0xNjIuOC0xODYuNXoiXX0sdHl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdpdGh1YiIsaWNvbjpbNTEyLDUxMixbXSwiZjA5YiIsIk0xNzMuOSAzOTcuNGMwIDItMi4zIDMuNi01LjIgMy42LTMuMyAuMy01LjYtMS4zLTUuNi0zLjYgMC0yIDIuMy0zLjYgNS4yLTMuNiAzLS4zIDUuNiAxLjMgNS42IDMuNnptLTMxLjEtNC41Yy0uNyAyIDEuMyA0LjMgNC4zIDQuOSAyLjYgMSA1LjYgMCA2LjItMnMtMS4zLTQuMy00LjMtNS4yYy0yLjYtLjctNS41IC4zLTYuMiAyLjN6bTQ0LjItMS43Yy0yLjkgLjctNC45IDIuNi00LjYgNC45IC4zIDIgMi45IDMuMyA1LjkgMi42IDIuOS0uNyA0LjktMi42IDQuNi00LjYtLjMtMS45LTMtMy4yLTUuOS0yLjl6TTI1Mi44IDhjLTEzOC43IDAtMjQ0LjggMTA1LjMtMjQ0LjggMjQ0IDAgMTEwLjkgNjkuOCAyMDUuOCAxNjkuNSAyMzkuMiAxMi44IDIuMyAxNy4zLTUuNiAxNy4zLTEyLjEgMC02LjItLjMtNDAuNC0uMy02MS40IDAgMC03MCAxNS04NC43LTI5LjggMCAwLTExLjQtMjkuMS0yNy44LTM2LjYgMCAwLTIyLjktMTUuNyAxLjYtMTUuNCAwIDAgMjQuOSAyIDM4LjYgMjUuOCAyMS45IDM4LjYgNTguNiAyNy41IDcyLjkgMjAuOSAyLjMtMTYgOC44LTI3LjEgMTYtMzMuNy01NS45LTYuMi0xMTIuMy0xNC4zLTExMi4zLTExMC41IDAtMjcuNSA3LjYtNDEuMyAyMy42LTU4LjktMi42LTYuNS0xMS4xLTMzLjMgMi42LTY3LjkgMjAuOS02LjUgNjkgMjcgNjkgMjcgMjAtNS42IDQxLjUtOC41IDYyLjgtOC41czQyLjggMi45IDYyLjggOC41YzAgMCA0OC4xLTMzLjYgNjktMjcgMTMuNyAzNC43IDUuMiA2MS40IDIuNiA2Ny45IDE2IDE3LjcgMjUuOCAzMS41IDI1LjggNTguOSAwIDk2LjUtNTguOSAxMDQuMi0xMTQuOCAxMTAuNSA5LjIgNy45IDE3IDIyLjkgMTcgNDYuNCAwIDMzLjctLjMgNzUuNC0uMyA4My42IDAgNi41IDQuNiAxNC40IDE3LjMgMTIuMSAxMDAtMzMuMiAxNjcuOC0xMjguMSAxNjcuOC0yMzkgMC0xMzguNy0xMTIuNS0yNDQtMjUxLjItMjQ0ek0xMDUuMiAzNTIuOWMtMS4zIDEtMSAzLjMgLjcgNS4yIDEuNiAxLjYgMy45IDIuMyA1LjIgMSAxLjMtMSAxLTMuMy0uNy01LjItMS42LTEuNi0zLjktMi4zLTUuMi0xem0tMTAuOC04LjFjLS43IDEuMyAuMyAyLjkgMi4zIDMuOSAxLjYgMSAzLjYgLjcgNC4zLS43IC43LTEuMy0uMy0yLjktMi4zLTMuOS0yLS42LTMuNi0uMy00LjMgLjd6bTMyLjQgMzUuNmMtMS42IDEuMy0xIDQuMyAxLjMgNi4yIDIuMyAyLjMgNS4yIDIuNiA2LjUgMSAxLjMtMS4zIC43LTQuMy0xLjMtNi4yLTIuMi0yLjMtNS4yLTIuNi02LjUtMXptLTExLjQtMTQuN2MtMS42IDEtMS42IDMuNiAwIDUuOXM0LjMgMy4zIDUuNiAyLjNjMS42LTEuMyAxLjYtMy45IDAtNi4yLTEuNC0yLjMtNC0zLjMtNS42LTJ6Il19LGF5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjb2RpZXBpZSIsaWNvbjpbNTEyLDUxMixbXSwiZjI4NCIsIk00NDIuNSAyMDIuOWMzMC43IDAgMzMuNSA1My4xLS4zIDUzLjFsLTEwLjggMCAwIDQ0LjMtMjYuNiAwIDAtOTcuNCAzNy43IDB6TTQ5MiAzNTIuNkM0NDkuOSA0NDQuNSAzNzAuNCA1MDQgMjY4IDUwNCAxMzEgNTA0IDIwIDM5MyAyMCAyNTZTMTMxIDggMjY4IDhjOTcuNCAwIDE3Mi44IDUzLjcgMjE4LjIgMTM4LjRMMzAwLjIgMjU1LjIgNDkyIDM1Mi42em0tMzguNSAxMi41bC02MC4zLTMwLjdjLTI3LjEgNDQuMy03MC40IDcxLjQtMTIyLjQgNzEuNC04Mi41IDAtMTQ5LjItNjYuNy0xNDkuMi0xNDguOSAwLTgyLjUgNjYuNy0xNDkuMiAxNDkuMi0xNDkuMiA0OC40IDAgODguOSAyMy41IDExNi45IDYzLjRsNTkuNS0zNC42QzQwNi41IDczLjkgMzQyLjUgMzYuNSAyNjggMzYuNSAxNDYuOCAzNi41IDQ4LjUgMTM0LjggNDguNSAyNTZTMTQ2LjggNDc1LjUgMjY4IDQ3NS41Yzc4LjYgMCAxNDYuNS00Mi4xIDE4NS41LTExMC40eiJdfSxyeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGllZC1waXBlciIsaWNvbjpbNDQ4LDUxMixbXSwiZjJhZSIsIk00NDAuMiAyMy4yYy0yNi43IDYuOC02OC4xIDI4LjUtMTE0LjYgNjcuNS0zMC45LTE3LjUtNjUuOC0yNi43LTEwMS40LTI2LjctMTE0LjkgMC0yMDggOTMuMS0yMDggMjA4czkzLjEgMjA4IDIwOCAyMDggMjA4LTkzLjEgMjA4LTIwOGMuMS01NC4xLTIxLTEwNi4xLTU4LjctMTQ0LjgtNi42IDguNS0xMi4zIDE3LjctMTcgMjcuNCAyOC45IDMyLjMgNDQuOCA3NC4xIDQ0LjkgMTE3LjQgMCA5Ny43LTc5LjQgMTc3LjEtMTc3LjEgMTc3LjEtMzAuOCAwLTYxLTguMS04Ny42LTIzLjQgODIuOS0xMDcuMyAxNTAuOC0zNy44IDE4NC4zLTIyNi42IDUuOC0zMi42IDI4LTk0LjMgMTI2LjItMTYwLjIgOC4xLTUuNCAyLjQtMTguMS03LTE1Ljd6TTEwOS4zIDQwNi40Qzg5LjggMzg5LjggNzQuMiAzNjkuMiA2My41IDM0NnMtMTYuMy00OC41LTE2LjMtNzRjMC05Ny43IDc5LjQtMTc3LjEgMTc3LjEtMTc3LjEgMjYuNiAwIDUyLjggNi4xIDc2LjYgMTcuOC02NiA2Mi4xLTEyNi45IDE1Mi45LTE5MS42IDI5My44eiJdfSxzeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmFzcGJlcnJ5LXBpIixpY29uOls0NDgsNTEyLFtdLCJmN2JiIiwiTTM5Mi41IDIzMi41bC0zLjctNi41Yy4xLTQ2LjQtMjEuNC02NS4zLTQ2LjUtNzkuNyA3LjYtMiAxNS40LTMuNiAxNy42LTEzLjIgMTMuMS0zLjMgMTUuOC05LjQgMTcuMS0xNS44IDMuNC0yLjMgMTQuOC04LjcgMTMuNi0xOS43IDYuNC00LjQgMTAtMTAuMSA4LjEtMTguMSA2LjktNy41IDguNy0xMy43IDUuOC0xOS40IDguMy0xMC4zIDQuNi0xNS42IDEuMS0yMC45IDYuMi0xMS4yIC43LTIzLjItMTYuNi0yMS4yLTYuOS0xMC4xLTIxLjktNy44LTI0LjItNy44LTIuNi0zLjItNi02LTE2LjUtNC43LTYuOC02LjEtMTQuNC01LTIyLjMtMi4xLTkuMy03LjMtMTUuNS0xLjQtMjIuNiAuOC0xMS4zLTMuNi0xMy45IDEuMy0xOS40IDMuNC0xMi4zLTIuNi0xNi4xIDMtMjIgOC45bC02LjktLjFjLTE4LjYgMTAuOC0yNy44IDMyLjgtMzEuMSA0NC4xLTMuMy0xMS4zLTEyLjUtMzMuMy0zMS4xLTQ0LjFsLTYuOSAuMWMtNS45LTUuOS05LjctMTEuNS0yMi04LjktNS42LTItOC4xLTctMTkuNC0zLjQtNC42LTEuNC04LjktNC40LTEzLjktNC4zLTIuNiAuMS01LjUgMS04LjcgMy41LTcuOS0zLTE1LjUtNC0yMi4zIDIuMS0xMC41LTEuMy0xNCAxLjQtMTYuNSA0LjctMi4zIDAtMTcuMy0yLjMtMjQuMiA3LjgtMTcuMy0yLTIyLjcgMTAtMTYuNSAyMS4yLTMuNSA1LjQtNy4yIDEwLjcgMS4xIDIwLjktMi45IDUuNy0xLjEgMTEuOSA1LjggMTkuNC0xLjggOCAxLjggMTMuNyA4LjEgMTguMS0xLjIgMTEgMTAuMiAxNy40IDEzLjYgMTkuNyAxLjMgNi40IDQgMTIuNCAxNy4xIDE1LjggMi4yIDkuNSAxMCAxMS4yIDE3LjYgMTMuMi0yNS4xIDE0LjQtNDYuNiAzMy4zLTQ2LjUgNzkuN2wtMy43IDYuNWMtMjguOCAxNy4yLTU0LjcgNzIuNy0xNC4yIDExNy43IDIuNiAxNC4xIDcuMSAyNC4yIDExIDM1LjQgNS45IDQ1LjIgNDQuNSA2Ni4zIDU0LjYgNjguOCAxNC45IDExLjIgMzAuOCAyMS44IDUyLjIgMjkuMiAyMC4zIDIwLjYgNDIuMyAyOC40IDY0LjMgMjguNGwxIDBjMjIuMSAwIDQ0LTcuOCA2NC4yLTI4LjQgMjEuNS03LjQgMzcuMy0xOCA1Mi4yLTI5LjIgMTAuMi0yLjUgNDguNy0yMy42IDU0LjYtNjguOCAzLjktMTEuMiA4LjQtMjEuMyAxMS0zNS40IDQwLjYtNDUuMSAxNC43LTEwMC41LTE0LTExNy43em0tMjIuMi04Yy0xLjUgMTguNy05OC45LTY1LjEtODIuMS02Ny45IDQ1LjctNy41IDgzLjYgMTkuMiA4Mi4xIDY3Ljl6bS00MyA5My4xYy0yNC41IDE1LjgtNTkuOCA1LjYtNzguOC0yMi44cy0xNC42LTY0LjIgOS45LTgwIDU5LjgtNS42IDc4LjggMjIuOCAxNC42IDY0LjItOS45IDgwek0yNTkuNCAyOS4zYy44IDQuMiAxLjggNi44IDIuOSA3LjYgNS40LTUuOCA5LjgtMTEuNyAxNi44LTE3LjMgMCAzLjMtMS43IDYuOCAyLjUgOS40IDMuNy01IDguOC05LjUgMTUuNS0xMy4zLTMuMiA1LjYtLjYgNy4zIDEuMiA5LjYgNS4xLTQuNCAxMC04LjggMTkuNC0xMi4zLTIuNiAzLjEtNi4yIDYuMi0yLjQgOS44IDUuMy0zLjMgMTAuNi02LjYgMjMuMS04LjktMi44IDMuMS04LjcgNi4zLTUuMSA5LjQgNi42LTIuNSAxNC00LjQgMjIuMS01LjQtMy45IDMuMi03LjEgNi4zLTMuOSA4LjggNy4xLTIuMiAxNi45LTUuMSAyNi40LTIuNmwtNiA2LjFjLS43IC44IDE0LjEgLjYgMjMuOSAuOC0zLjYgNS03LjIgOS43LTkuMyAxOC4yIDEgMSA1LjggLjQgMTAuNCAwLTQuNyA5LjktMTIuOCAxMi4zLTE0LjcgMTYuNiAyLjkgMi4yIDYuOCAxLjYgMTEuMiAuMS0zLjQgNi45LTEwLjQgMTEuNy0xNiAxNy4zIDEuNCAxIDMuOSAxLjYgOS43IC45LTUuMiA1LjUtMTEuNCAxMC41LTE4LjggMTUgMS4zIDEuNSA1LjggMS41IDEwIDEuNi02LjcgNi41LTE1LjMgOS45LTIzLjQgMTQuMiA0IDIuNyA2LjkgMi4xIDEwIDIuMS01LjcgNC43LTE1LjQgNy4xLTI0LjQgMTAgMS43IDIuNyAzLjQgMy40IDcuMSA0LjEtOS41IDUuMy0yMy4yIDIuOS0yNyA1LjYgLjkgMi43IDMuNiA0LjQgNi43IDUuOC0xNS40IC45LTU3LjMtLjYtNjUuNC0zMi4zIDE1LjctMTcuMyA0NC40LTM3LjUgOTMuNy02Mi42LTM4LjQgMTIuOC03MyAzMC0xMDIgNTMuNS0zNC4zLTE1LjktMTAuOC01NS45IDUuOC03MS44ek0yMjUgMTQzLjljMjQuMi0uMyA1NC4xIDE3LjggNTQgMzQuNy0uMSAxNS0yMSAyNy4xLTUzLjggMjYuOS0zMi4xLS40LTUzLjctMTUuMi01My42LTI5LjggMC0xMS45IDI2LjItMzIuNSA1My40LTMxLjh6TTEwMiAxMzEuMWMzLjctLjcgNS40LTEuNSA3LjEtNC4xLTktMi44LTE4LjctNS4zLTI0LjQtMTAgMy4xIDAgNiAuNyAxMC0yLjEtOC4xLTQuMy0xNi43LTcuNy0yMy40LTE0LjIgNC4yLS4xIDguNyAwIDEwLTEuNi03LjQtNC41LTEzLjYtOS41LTE4LjgtMTUgNS44IC43IDguMyAuMSA5LjctLjktNS42LTUuNi0xMi43LTEwLjQtMTYtMTcuMyA0LjMgMS41IDguMyAyIDExLjItLjEtMS45LTQuMi0xMC02LjctMTQuNy0xNi42IDQuNiAuNCA5LjQgMSAxMC40IDAtMi4xLTguNS01LjgtMTMuMy05LjMtMTguMiA5LjgtLjEgMjQuNiAwIDIzLjktLjhsLTYtNi4xYzkuNS0yLjUgMTkuMyAuNCAyNi40IDIuNiAzLjItMi41LS4xLTUuNi0zLjktOC44IDguMSAxLjEgMTUuNCAyLjkgMjIuMSA1LjQgMy41LTMuMS0yLjMtNi4zLTUuMS05LjQgMTIuNSAyLjMgMTcuOCA1LjYgMjMuMSA4LjkgMy44LTMuNiAuMi02LjctMi40LTkuOCA5LjQgMy40IDE0LjMgNy45IDE5LjQgMTIuMyAxLjctMi4zIDQuNC00IDEuMi05LjYgNi43IDMuOCAxMS44IDguMyAxNS41IDEzLjMgNC4xLTIuNiAyLjUtNi4yIDIuNS05LjQgNyA1LjYgMTEuNCAxMS41IDE2LjggMTcuMyAxLjEtLjggMi0zLjQgMi45LTcuNiAxNi42IDE1LjkgNDAuMSA1NS45IDYgNzEuOC0yOS0yMy41LTYzLjYtNDAuNy0xMDItNTMuNSA0OS4zIDI1IDc4IDQ1LjMgOTMuNyA2Mi42LTggMzEuOC01MCAzMy4yLTY1LjQgMzIuMyAzLjEtMS40IDUuOC0zLjIgNi43LTUuOC00LTIuOC0xNy42LS40LTI3LjItNS42em02MC4xIDI0LjFjMTYuOCAyLjgtODAuNiA4Ni41LTgyLjEgNjcuOS0xLjUtNDguNyAzNi41LTc1LjUgODIuMS02Ny45ek01OC43IDM0MmMtMjMuNy0xOC44LTMxLjMtNzMuNyAxMi42LTk4LjMgMjYuNS03IDkgMTA3LjgtMTIuNiA5OC4zem05MSA5OC4yYy0xMy4zIDcuOS00NS44IDQuNy02OC44LTI3LjktMTUuNS0yNy40LTEzLjUtNTUuMi0yLjYtNjMuNCAxNi4zLTkuOCA0MS41IDMuNCA2MC45IDI1LjYgMTYuOSAyMCAyNC42IDU1LjMgMTAuNSA2NS43ek0xMjMuMyAzMjAuNWMtMjQuNS0xNS44LTI4LjktNTEuNi05LjktODBzNTQuMy0zOC42IDc4LjgtMjIuOCAyOC45IDUxLjYgOS45IDgwYy0xOS4xIDI4LjQtNTQuNCAzOC42LTc4LjggMjIuOHpNMjI1LjUgNDk2Yy0yOS40IDEuMi01OC4yLTIzLjctNTcuOC0zMi4zLS40LTEyLjcgMzUuOC0yMi42IDU5LjMtMjIgMjMuNy0xIDU1LjYgNy41IDU1LjcgMTguOSAuNSAxMS0yOC44IDM1LjktNTcuMiAzNS40em01OC45LTEyNC45Yy4yIDI5LjctMjYuMiA1My44LTU4LjggNTRzLTU5LjItMjMuOC01OS40LTUzLjRsMC0uNmMtLjItMjkuNyAyNi4yLTUzLjggNTguOC01NHM1OS4yIDIzLjggNTkuNCA1My40bDAgLjZ6bTgyLjIgNDIuN2MtMjUuMyAzNC42LTU5LjYgMzUuOS03Mi4zIDI2LjMtMTMuMy0xMi40LTMuMi01MC45IDE1LjEtNzIgMjAuOS0yMy4zIDQzLjMtMzguNSA1OC45LTI2LjYgMTAuNSAxMC4zIDE2LjcgNDkuMS0xLjcgNzIuM3ptMjIuOS03My4yYy0yMS41IDkuNC0zOS0xMDUuMy0xMi42LTk4LjMgNDMuOSAyNC43IDM2LjMgNzkuNiAxMi42IDk4LjN6Il19LGl5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjc3MzIixpY29uOls1MTIsNTEyLFtdLCJmMTNjIiwiTTQ4MCAzMmwtNjQgMzY4LTIyMy4zIDgwLTE5Mi43LTgwIDE5LjYtOTQuOCA4MiAwLTggNDAuNiAxMTYuNCA0NC40IDEzNC4xLTQ0LjQgMTguOC05Ny4xLTMzMy40IDAgMTYtODIgMzMzLjcgMCAxMC41LTUyLjctMzMzLjQgMCAxNi4zLTgyIDQwNy40IDB6Il19LG95dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJodWJzcG90IixpY29uOls0NDgsNTEyLFtdLCJmM2IyIiwiTTIzNS44IDIxMS42Yy0yNS4xIDIzLjctNDAuOCA1Ny4zLTQwLjggOTQuNiAwIDI5LjMgOS43IDU2LjMgMjYgNzhMMTcxLjUgNDM0Yy00LjQtMS42LTkuMS0yLjUtMTQtMi41LTEwLjggMC0yMC45IDQuMi0yOC41IDExLjhzLTExLjggMTcuOC0xMS44IDI4LjYgNC4yIDIwLjkgMTEuOCAyOC41IDE3LjggMTEuNiAyOC41IDExLjZjMTAuOCAwIDIwLjktMy45IDI4LjYtMTEuNiA3LjYtNy42IDExLjgtMTcuOCAxMS44LTI4LjUgMC00LjItLjYtOC4yLTEuOS0xMi4xbDUwLTUwLjJjMjIgMTYuOSA0OS40IDI2LjkgNzkuMyAyNi45IDcxLjkgMCAxMzAtNTguMyAxMzAtMTMwLjIgMC02NS4yLTQ3LjctMTE5LjItMTEwLjItMTI4LjdsMC02MS42YzE3LjUtNy40IDI4LjItMjMuOCAyOC4yLTQyLjkgMC0yNi4xLTIwLjktNDcuOS00Ny00Ny45UzI3OS42IDQ3IDI3OS42IDczLjFjMCAxOS4xIDEwLjcgMzUuNSAyOC4yIDQyLjlsMCA2MS4yYy0xNS4yIDIuMS0yOS42IDYuNy00Mi43IDEzLjYtMjcuNi0yMC45LTExNy41LTg1LjctMTY4LjktMTI0LjggMS4yLTQuNCAyLTkgMi0xMy44IDAtMjguOC0yMy41LTUyLjItNTIuNC01Mi4yLTI4LjggMC01Mi4yIDIzLjQtNTIuMiA1Mi4yIDAgMjguOSAyMy40IDUyLjMgNTIuMiA1Mi4zIDkuOCAwIDE4LjktMi45IDI2LjgtNy42TDIzNS44IDIxMS42em04OS41IDI1LjZhNjkgNjkgMCAxIDEgMCAxMzggNjkgNjkgMCAxIDEgMC0xMzh6Il19LG55dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjbXBsaWQiLGljb246WzY0MCw1MTIsW10sImUzNjAiLCJNMjI2LjEgMzg4LjJjMC0uNy0uMi0xLjUtLjYtMi4xcy0xLTEuMS0xLjctMS40Yy0uNS0uMi0xLjEtLjQtMS42LS40bC0xNDkuNiAwYy0zLjEgMC02LjItLjgtOC45LTIuMnMtNS4xLTMuNS02LjktNi4xLTIuOS01LjUtMy4zLTguNiAwLTYuMiAxLjEtOS4xTDgxLjYgMjU1LjdjMi03LjIgNi4yLTEzLjUgMTItMTguMnMxMi45LTcuNCAyMC40LTcuOGwxNDguNiAwYzEuNS0uMSAyLjktLjYgNC0xLjZzMi0yLjIgMi40LTMuNmwxMC44LTQxLjFjLjQtMSAuMy0yLS4xLTIuOXMtMS4yLTEuNi0yLjEtMmMtLjQtLjItLjktLjMtMS40LS4zLS4xIDAtLjEgMC0uMiAwbC0xNDguNSAwYy0yMi4yIDEuMi00My40IDkuMi02MC44IDIzcy0zMCAzMi43LTM2LjIgNTQuMUwzLjUgMzU4LjhjLTMuMiA4LjctNC4yIDE4LTMgMjcuMXM0LjYgMTcuOSA5LjkgMjUuNSAxMi4zIDEzLjggMjAuNSAxOCAxNy4zIDYuNSAyNi41IDYuNmMxIDAgMS45IDAgMi45LS4xbDE0OC42IDBjMS41LS4xIDIuOS0uNyA0LTEuNnMyLTIuMiAyLjQtMy42bDEwLjctNDEuMWMuMi0uNSAuMy0uOSAuMy0xLjR6bTgwLjUtMzA3Yy4yLS40IC4zLS45IC4zLTEuNCAwLS41LS4xLTEtLjMtMS41cy0uNS0uOS0uOC0xLjItLjgtLjYtMS4yLS44LTEtLjMtMS41LS4zbC00MS4yIDBjLTEuNSAuMS0yLjkgLjYtNCAxLjZzLTIgMi4yLTIuNCAzLjZsLTIxLjMgODAuOSA1MS4xIDAgMjEuNC04MC45em0tMTI2LjMgMjg3bDUxLjEgMCAzMi0xMjIuNi01MS4xIDAtMzIgMTIyLjZ6TTUxMS45IDc5LjdjMC0xLS41LTEuOS0xLjItMi42cy0xLjctMS4xLTIuNi0xLjFjLS4xIDAtLjEgMC0uMiAwbC00MSAwYy0xLjUgLjEtMi45IC42LTQuMSAxLjVzLTIgMi4yLTIuNSAzLjZMMzY4LjkgNDMwLjZjLS4yIC40LS4zIC45LS4zIDEuMyAwIDEgLjQgMiAxLjEgMi43czEuNyAxLjEgMi43IDEuMWw0MS4yIDBjMS41LS4xIDIuOS0uNiA0LTEuNnMyLTIuMiAyLjQtMy42TDUxMS41IDgxLjJjLjItLjUgLjMtMSAuMy0xLjV6TTMyNC42IDM4NC41bC00MSAwYy0xLjUgLjEtMi45IC43LTQgMS42cy0yIDIuMi0yLjQgMy42bC0xMC43IDQxLjFjLS4yIC40LS4zIC45LS4zIDEuNCAwIC41IC4xIDEgLjMgMS41cy41IC45IC44IDEuMiAuOCAuNiAxLjIgLjggMSAuMyAxLjUgLjNjLjEgMCAuMiAwIC4zIDBsNDAuOSAwYzEuNS0uMSAyLjktLjYgNC0xLjZzMi0yLjIgMi40LTMuNmwxMC44LTQxLjFjLjItLjYgLjMtMS4yIC4zLTEuOHMtLjMtMS4yLS42LTEuNy0uOC0uOS0xLjMtMS4yLTEuMi0uNC0xLjgtLjRjLS4xIDAtLjIgMC0uMyAwbDAgMHpNNjM2IDc2LjFsLTQxIDBjLTEuNSAuMS0yLjkgLjYtNCAxLjVzLTIgMi4yLTIuNCAzLjZMNDk3LjEgNDMwLjZjLS4yIC40LS4yIC45LS4yIDEuMyAwIDEgLjQgMiAxLjEgMi43czEuNyAxLjEgMi43IDEuMWw0MS4xIDBjMS41LS4xIDIuOS0uNiA0LTEuNnMyLTIuMiAyLjQtMy42TDYzOS43IDgxLjJjLjItLjUgLjMtMSAuMy0xLjUtLjEtMS0uNS0xLjktMS4yLTIuNXMtMS42LTEtMi42LTFjLS4xIDAtLjEgMC0uMiAwbDAtLjF6TTM3MS42IDIyNS4ybDEwLjgtNDEuMWMuMi0uNCAuMi0uOSAuMi0xLjQgMC0xLS40LTItMS4xLTIuN3MtMS43LTEuMS0yLjctMS4xbC00MS4zIDBjLTEuNSAuMS0yLjkgLjctNCAxLjZzLTIgMi4yLTIuNCAzLjZsLTEwLjggNDEuMWMtLjIgLjUtLjMgMS0uMyAxLjVsMCAuMmMuMSAxIC41IDEuOCAxLjIgMi41czEuNiAxIDIuNiAxYy4xIDAgLjIgMCAuMyAwbDQxLjEgMGMxLjUtLjEgMi45LS42IDQtMS42czItMi4yIDIuNC0zLjZ6Il19LGx5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkeWFsb2ciLGljb246WzQ0OCw1MTIsW10sImYzOTkiLCJNMTYgMzJsMCAxMTkuMiA2NCAwIDAtNTUuMiAxMDcuMiAwQzMwMC42IDk2IDM2OCAxNzYuMiAzNjggMjU1LjkgMzY4IDMzMiAzMDkuNCA0MTYgMTg3LjIgNDE2bC0xNzEuMiAwIDAgNjQgMTcxLjIgMEMzNDcuOSA0ODAgNDMyIDM2Ny4zIDQzMiAyNTUuOSA0MzIgMTk3LjIgNDA5LjkgMTQyLjUgMzY5LjcgMTAxLjYgMzI0LjkgNTYgMjYxLjcgMzIgMTg3LjIgMzJMMTYgMzJ6Il19LGN5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJlbGVtZW50b3IiLGljb246WzUxMiw1MTIsW10sImY0MzAiLCJNLjUgMjU2YzAgMTQxIDExMy42IDI1NSAyNTQuNiAyNTUgMTQyIDAgMjU2LTExNCAyNTYtMjU1IDAtMTQwLTExNC0yNTMuOS0yNTYtMjUzLjktMTQxIDAtMjU0LjYgMTEzLjktMjU0LjYgMjUzLjl6TTE5Mi4xIDE1MGwwIDIxMy00MyAwIDAtMjEzIDQzIDB6bTQyIDBsMTI4IDAgMCA0My0xMjggMCAwLTQzem0xMjggODVsMCA0My0xMjggMCAwLTQzIDEyOCAwem0tMTI4IDg1bDEyOCAwIDAgNDMtMTI4IDAgMC00M3oiXX0sZHl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZpcnN0LW9yZGVyIixpY29uOls0NDgsNTEyLFtdLCJmMmIwIiwiTTEzLjMgMjI5LjJjLjEtLjEgLjItLjMgLjMtLjQgMCAuMSAwIC4zLS4xIC40bC0uMiAwek0yMjQuNCA5Ni42Yy03LjEgMC0xNC42IC42LTIxLjQgMS43bDMuNyA2Ny40LTIyLTY0Yy0xNC4zIDMuNy0yNy43IDkuNC00MCAxNi42bDI5LjQgNjEuNC00NS4xLTUwLjljLTExLjQgOC45LTIxLjcgMTkuMS0zMC42IDMwLjlsNTAuNiA0NS40LTYxLjEtMjkuN2MtNy4xIDEyLjMtMTIuOSAyNS43LTE2LjYgNDBsNjQuMyAyMi42LTY4LTRjLS45IDcuMS0xLjQgMTQuNi0xLjQgMjJzLjYgMTQuNiAxLjQgMjEuN2w2Ny43LTQtNjQgMjIuNmMzLjcgMTQuMyA5LjQgMjcuNyAxNi42IDQwLjNMMTQ5IDMwNi45IDk4LjEgMzUyYzguOSAxMS43IDE5LjEgMjIuMyAzMC45IDMwLjlsNDQuOS01MC45LTI5LjUgNjEuNGMxMi4zIDcuNCAyNS43IDEzLjEgNDAgMTYuOWwyMi4zLTY0LjYtNCA2OGM3LjEgMS4xIDE0LjYgMS43IDIxLjcgMS43IDcuNCAwIDE0LjYtLjYgMjEuNy0xLjdsLTQtNjguNiAyMi42IDY1LjFjMTQuMy00IDI3LjctOS40IDQwLTE2LjlsLTI5LjQtNjEuMyA0NC45IDUwLjljMTEuNy04LjkgMjItMTkuMSAzMC42LTMwLjlsLTUwLjYtNDUuMSA2MS4xIDI5LjRjNy4xLTEyLjMgMTIuOS0yNS43IDE2LjYtNDAuM2wtNjQtMjIuMyA2Ny40IDRjMS4xLTcuMSAxLjQtMTQuMyAxLjQtMjEuN3MtLjMtMTQuOS0xLjQtMjJsLTY3LjcgNCA2NC0yMi4zYy0zLjctMTQuMy05LjEtMjgtMTYuNi00MC4zbC02MC45IDI5LjcgNTAuNi00NS40Yy04LjktMTEuNy0xOS4xLTIyLTMwLjYtMzAuOWwtNDUuMSA1MC45IDI5LjQtNjEuMWMtMTIuMy03LjQtMjUuNy0xMy4xLTQwLTE2LjlsLTIyLjMgNjQuMyA0LTY3LjdjLTcuMS0xLjItMTQuMy0xLjctMjEuNy0xLjd6TTQ0My44IDEyOEw0NDMuOCAzODQgMjI0LjQgNTEyIDUgMzg0IDUgMTI4IDIyNC40IDAgNDQzLjggMTI4em0tMTcuMSAxMC4zbC0yMDIuMy0xMTcuNC0yMDIuMyAxMTcuNCAwIDIzNS4xIDIwMi4zIDExNy43IDIwMi4zLTExNy43IDAtMjM1LjF6TTIyNC40IDM3LjFsMTg3LjcgMTA5LjQgMCAyMTguOS0xODcuNyAxMDkuNS0xODcuNy0xMDkuNSAwLTIxOC44IDE4Ny43LTEwOS41em0wIDUwLjljLTkyLjMgMC0xNjYuOSA3NS4xLTE2Ni45IDE2OCAwIDkyLjYgNzQuNiAxNjcuNyAxNjYuOSAxNjcuNyA5MiAwIDE2Ni45LTc1LjEgMTY2LjktMTY3LjcgMC05Mi45LTc0LjktMTY4LTE2Ni45LTE2OHoiXX0sdXl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRyaWJiYmxlIixpY29uOls1MTIsNTEyLFtdLCJmMTdkIiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNNDIwIDEyMi40YzI5LjUgMzYgNDcuNCA4MiA0Ny44IDEzMi03LTEuNS03Ny0xNS43LTE0Ny41LTYuOC01LjgtMTQtMTEuMi0yNi40LTE4LjYtNDEuNiA3OC4zLTMyIDExMy44LTc3LjUgMTE4LjMtODMuNXpNMzk2LjQgOTcuOWMtMy44IDUuNC0zNS43IDQ4LjMtMTExIDc2LjUtMzQuNy02My44LTczLjItMTE2LjItNzktMTI0IDY3LjItMTYuMiAxMzggMS4zIDE5MC4xIDQ3LjV6TTE2NS45IDY0LjZjNS42IDcuNyA0My40IDYwLjEgNzguNSAxMjIuNS05OS4xIDI2LjMtMTg2LjQgMjUuOS0xOTUuOCAyNS44IDEzLjctNjUuNyA1OC0xMjAuNCAxMTcuMy0xNDguM3pNNDQuMiAyNTYuM2MwLTIuMiAwLTQuMyAuMS02LjUgOS4zIC4yIDExMS45IDEuNSAyMTcuNy0zMC4xIDYuMSAxMS45IDExLjkgMjMuOSAxNy4yIDM1LjktNzYuNiAyMS42LTE0Ni4yIDgzLjUtMTgwLjUgMTQyLjMtMzMuOC0zNy42LTU0LjUtODcuMi01NC41LTE0MS42ek0xMjYgNDIzLjRjMjIuMS00NS4yIDgyLjItMTAzLjYgMTY3LjYtMTMyLjggMjkuNyA3Ny4zIDQyIDE0Mi4xIDQ1LjIgMTYwLjYtNjguMSAyOS0xNTAgMjEuMS0yMTIuOC0yNy45em0yNDguNCA4LjVjLTIuMi0xMi45LTEzLjQtNzQuOS00MS4yLTE1MSA2Ni40LTEwLjYgMTI0LjcgNi44IDEzMS45IDkuMS05LjQgNTguOS00My4zIDEwOS44LTkwLjggMTQyeiJdfSx1ZWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGlua2VkaW4iLGljb246WzQ0OCw1MTIsW10sImYwOGMiLCJNNDE2IDMyTDMxLjkgMzJDMTQuMyAzMiAwIDQ2LjUgMCA2NC4zTDAgNDQ3LjdDMCA0NjUuNSAxNC4zIDQ4MCAzMS45IDQ4MEw0MTYgNDgwYzE3LjYgMCAzMi0xNC41IDMyLTMyLjNsMC0zODMuNEM0NDggNDYuNSA0MzMuNiAzMiA0MTYgMzJ6TTEzNS40IDQxNmwtNjYuNCAwIDAtMjEzLjggNjYuNSAwIDAgMjEzLjgtLjEgMHpNMTAyLjIgOTZhMzguNSAzOC41IDAgMSAxIDAgNzcgMzguNSAzOC41IDAgMSAxIDAtNzd6TTM4NC4zIDQxNmwtNjYuNCAwIDAtMTA0YzAtMjQuOC0uNS01Ni43LTM0LjUtNTYuNy0zNC42IDAtMzkuOSAyNy0zOS45IDU0LjlsMCAxMDUuOC02Ni40IDAgMC0yMTMuOCA2My43IDAgMCAyOS4yIC45IDBjOC45LTE2LjggMzAuNi0zNC41IDYyLjktMzQuNSA2Ny4yIDAgNzkuNyA0NC4zIDc5LjcgMTAxLjlsMCAxMTcuMnoiXX0scHl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLXBheXBhbCIsaWNvbjpbNTc2LDUxMixbXSwiZjFmNCIsIk0xODYuMyAyNTguMmMwIDEyLjItOS43IDIxLjUtMjIgMjEuNS05LjIgMC0xNi01LjItMTYtMTUgMC0xMi4yIDkuNS0yMiAyMS43LTIyIDkuMyAwIDE2LjMgNS43IDE2LjMgMTUuNXpNODAuNSAyMDkuN2wtNC43IDBjLTEuNSAwLTMgMS0zLjIgMi43bC00LjMgMjYuNyA4LjItLjNjMTEgMCAxOS41LTEuNSAyMS41LTE0LjIgMi4zLTEzLjQtNi4yLTE0LjktMTcuNS0xNC45em0yODQgMGwtNC41IDBjLTEuOCAwLTMgMS0zLjIgMi43bC00LjIgMjYuNyA4LS4zYzEzIDAgMjItMyAyMi0xOC0uMS0xMC42LTkuNi0xMS4xLTE4LjEtMTEuMXpNNTc2IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmw0ODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTI4LjMgMjE1LjRjMC0yMS0xNi4yLTI4LTM0LjctMjhsLTQwIDBjLTIuNSAwLTUgMi01LjIgNC43TDMyIDI5NC4yYy0uMyAyIDEuMiA0IDMuMiA0bDE5IDBjMi43IDAgNS4yLTIuOSA1LjUtNS43bDQuNS0yNi42YzEtNy4yIDEzLjItNC43IDE4LTQuNyAyOC42IDAgNDYuMS0xNyA0Ni4xLTQ1Ljh6bTg0LjIgOC44bC0xOSAwYy0zLjggMC00IDUuNS00LjIgOC4yLTUuOC04LjUtMTQuMi0xMC0yMy43LTEwLTI0LjUgMC00My4yIDIxLjUtNDMuMiA0NS4yIDAgMTkuNSAxMi4yIDMyLjIgMzEuNyAzMi4yIDkgMCAyMC4yLTQuOSAyNi41LTExLjktLjUgMS41LTEgNC43LTEgNi4yIDAgMi4zIDEgNCAzLjIgNGwxNy4yIDBjMi43IDAgNS0yLjkgNS41LTUuN2wxMC4yLTY0LjNjLjMtMS45LTEuMi0zLjktMy4yLTMuOXpNMjUzIDMyMi4xbDYzLjctOTIuNmMuNS0uNSAuNS0xIC41LTEuNyAwLTEuNy0xLjUtMy41LTMuMi0zLjVsLTE5LjIgMGMtMS43IDAtMy41IDEtNC41IDIuNWwtMjYuNSAzOS0xMS0zNy41Yy0uOC0yLjItMy00LTUuNS00bC0xOC43IDBjLTEuNyAwLTMuMiAxLjgtMy4yIDMuNSAwIDEuMiAxOS41IDU2LjggMjEuMiA2Mi4xLTIuNyAzLjgtMjAuNSAyOC42LTIwLjUgMzEuNiAwIDEuOCAxLjUgMy4yIDMuMiAzLjJsMTkuMiAwYzEuOC0uMSAzLjUtMS4xIDQuNS0yLjZ6TTQxMi4zIDIxNS40YzAtMjEtMTYuMi0yOC0zNC43LTI4bC0zOS43IDBjLTIuNyAwLTUuMiAyLTUuNSA0LjdsLTE2LjIgMTAyYy0uMiAyIDEuMyA0IDMuMiA0bDIwLjUgMGMyIDAgMy41LTEuNSA0LTMuMmw0LjUtMjljMS03LjIgMTMuMi00LjcgMTgtNC43IDI4LjQgMCA0NS45LTE3IDQ1LjktNDUuOHptODQuMiA4LjhsLTE5IDBjLTMuOCAwLTQgNS41LTQuMyA4LjItNS41LTguNS0xNC0xMC0yMy43LTEwLTI0LjUgMC00My4yIDIxLjUtNDMuMiA0NS4yIDAgMTkuNSAxMi4yIDMyLjIgMzEuNyAzMi4yIDkuMyAwIDIwLjUtNC45IDI2LjUtMTEuOS0uMyAxLjUtMSA0LjctMSA2LjIgMCAyLjMgMSA0IDMuMiA0bDE3LjMgMGMyLjcgMCA1LTIuOSA1LjUtNS43bDEwLjItNjQuM2MuMy0xLjktMS4yLTMuOS0zLjItMy45ek01NDQgMTkwLjljMC0yLTEuNS0zLjUtMy4yLTMuNWwtMTguNSAwYy0xLjUgMC0zIDEuMi0zLjIgMi43bC0xNi4yIDEwNC0uMyAuNWMwIDEuOCAxLjUgMy41IDMuNSAzLjVsMTYuNSAwYzIuNSAwIDUtMi45IDUuMi01LjdsMTYuMi0xMDEuMiAwLS4zem0tOTAgNTEuOGMtMTIuMiAwLTIxLjcgOS43LTIxLjcgMjIgMCA5LjcgNyAxNSAxNi4yIDE1IDEyIDAgMjEuNy05LjIgMjEuNy0yMS41IC4xLTkuOC02LjktMTUuNS0xNi4yLTE1LjV6Il19LGZ5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkaGwiLGljb246WzY0MCw1MTIsW10sImY3OTAiLCJNMjM4IDMwMS4ybDU4LjcgMCAyMi4zLTMwLjItNTguNyAwLTIyLjMgMzAuMnpNMCAyODIuOWwwIDYuNCA4MS44IDAgNC43LTYuNC04Ni41IDB6TTE3Mi45IDI3MWMtOC43IDAtNi0zLjYtNC42LTUuNSAyLjgtMy44IDcuNi0xMC40IDEwLjQtMTQuMXMyLjgtNS45LTIuOC01LjlsLTUxIDAtNDEuMSA1NS44IDEwMC4xIDBjMzMuMSAwIDUxLjUtMjIuNSA1Ny4yLTMwLjNsLTY4LjIgMHptMzE3LjUtNi45bDM5LjMtNTMuNC02Mi4yIDAtMzkuMyA1My40IDYyLjIgMHpNOTUuMyAyNzFsLTk1LjMgMCAwIDYuNCA5MC42IDAgNC43LTYuNHptMTExLTI2LjZjLTIuOCAzLjgtNy41IDEwLjQtMTAuMyAxNC4yLTEuNCAyLTQuMSA1LjUgNC42IDUuNWw0NS42IDBzNy4zLTEwIDEzLjUtMTguNGM4LjQtMTEuNCAuNy0zNS0yOS4yLTM1bC0xMTcuOSAwLTIwLjQgMjcuOCAxMTEuNCAwYzUuNiAwIDUuNSAyLjIgMi43IDUuOXpNMCAzMDEuMmw3My4xIDAgNC43LTYuNC03Ny44IDAgMCA2LjR6bTMyMyAwbDU4LjcgMCAyMi4zLTMwLjItNTguNyAwYy0uMSAwLTIyLjMgMzAuMi0yMi4zIDMwLjJ6bTIyMiAuMWw5NSAwIDAtNi40LTkwLjMgMC00LjcgNi40ek01NjcuMyAyNzFsLTQuNyA2LjQgNzcuNCAwIDAtNi40LTcyLjcgMHptLTEzLjUgMTguM2w4Ni4yIDAgMC02LjQtODEuNSAwLTQuNyA2LjR6TTM4OS42IDIxMC43bC0yMi41IDMwLjYtMjYuMiAwIDIyLjUtMzAuNi01OC43IDAtMzkuMyA1My40IDE0My42IDAgMzkuMy01My40LTU4LjcgMHpNNDIzLjEgMjcxcy00LjMgNS45LTYuNCA4LjdjLTcuNCAxMC0uOSAyMS42IDIzLjIgMjEuNmw5NC4zIDAgMjIuMy0zMC4zLTEzMy40IDB6Il19LGh5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0ZXgiLGljb246WzY0MCw1MTIsW10sImU3ZmYiLCJNNjIwLjggOTUuNGMtMzAuOCAuNC00Mi4xIDE2LjYtNDcuNyAyNC41bC0uMSAuMS01NS43IDgwLjUgODIuOCAxMjEuMWM3LjUgMTAuNiAxMS4zIDEyLjUgMzUuNCAxMi41bDAgOS4xYy05LjEtLjctMjgtLjctMzcuNy0uNy0xMi40IDAtMzAuOCAwLTQyLjkgLjdsMC05LjFjMTMuMi0uOCAxNi42LTcuMyAxNi42LTEwLjIgMC0xLjEgMC0yLjMtMy02LjRsLTY1LjUtOTYuMy02MC4yIDg3LjljLTEuOSAyLjctMy44IDUuNC0zLjggMTAuMiAwIDYuMSAzLjQgMTMuNiAxNSAxNC43bDAgOS4xYy05LjQtLjctMjcuMS0uNy0zNy4yLS43bC0yLjggMC0xMS43IDgyLjYtMTk1LjkgMCAwLTkuMWMyNi43IDAgMzAuOSAwIDMwLjktMTYuOWwwLTIwMy4yYzAtMTYuOS00LjMtMTYuOS0zMC45LTE2LjlsMC0xMC4zIDE5LjggMGMtNC44LTYxLjEtMTAuOC03MS43LTY4LTcxLjhsLTIwLjcgMGMtNi44IDEuNS02LjggNi4xLTYuOCAxNC40bDAgMjA1YzAgMTMuNiAxLjEgMTcuOCAzMi40IDE3LjhsMTAuNSAwIDAgOS4xLS40IDBjLTE3LjktLjMtMzYuNy0uNy01NC45LS43cy0zNi45IC4zLTU0LjggLjdsLS42IDAgMC05LjEgMTAuNyAwYzMxLjcgMCAzMi44LTQuMSAzMi44LTE3LjhsMC0yMDVjMC04LjcgMC0xMy4yLTcuMi0xNC4zbC0yMC44IDBjLTU4LjQgMC02My43IDEwLjktNjguNiA3My4zbC02LjggMCA2LjMtODMuMyAyMTcuNSAwIDYuMSA4MS44IDE2NC4xIDAgOSA4My4zLTYuOCAwYy01LjMtNDkuOC0xMi4xLTczLTcwLjMtNzNsLTUxLjUgMGMtMTUgMC0xNS44IDEuOS0xNS44IDE0LjZsMCA5My4zIDM1LjUgMGMzNS41IDAgMzguOS0xMi44IDM4LjktNDRsNiAwIDAgOTcuOS02IDBjMC0zMS44LTMuNC00NC44LTM4LjktNDQuOGwtMzUuNSAwIDAgMTA1LjJjMCAxMyAuNyAxNC44IDE1LjggMTQuOGw1Mi4yIDBjNjEuMSAwIDY5LjktMjUuOCA3Ny40LTczLjYtNy43IDAtMTYuMyAuMi0yMi4yIC43bDAtOS4xYzcuMiAwIDMxLjctLjQgNDcuOC0yMy44bDY1LjUtOTUuNy03Mi43LTEwNi43Yy04LjMtMTEuNy0xNS4xLTEyLjUtMzUuOC0xMi41bDAtOS4xYzkuMSAuNyAyNy45IC43IDM3LjcgLjcgMTIuNCAwIDMwLjggMCA0Mi45LS43bDAgOS4xYy0xMi41IC40LTE2LjYgNi44LTE2LjYgMTAuMiAwIDEuMSAuNCAyLjMgMyA2LjRsNTUuNyA4MS42IDQ5LjctNzIuMWMyLjctMy43IDQuNS02LjggNC41LTExLjMgMC02LjEtMy0xMy42LTE1LTE0LjhsMC05LjFjOS40IC43IDI0LjggLjcgMzcuMiAuNyA5IDAgMjMuMyAwIDMyLS43bDAgOS4xeiJdfSxteXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2xhdWRlIixpY29uOls1MTIsNTEyLFtdLCJlODYxIiwiTTEwMC40IDM0MC41bDEwMC43LTU2LjUgMS43LTQuOS0xLjctMi43LTQuOSAwLTE2LjgtMS01Ny41LTEuNi00OS45LTIuMS00OC4zLTIuNi0xMi4yLTIuNi0xMS40LTE1IDEuMi03LjUgMTAuMi02LjkgMTQuNyAxLjNjMTguOSAxLjMgNDUuOSAzLjEgODEgNS42bDM1LjIgMi4xIDUyLjIgNS40IDguMyAwIDEuMi0zLjQtMi44LTIuMS0yLjItMi4xLTUwLjMtMzQuMS01NC40LTM2LTI4LjUtMjAuNy0xNS40LTEwLjUtNy44LTkuOC0zLjQtMjEuNSAxNC0xNS40IDE4LjggMS4zIDQuOCAxLjMgMTkgMTQuNyA0MC43IDMxLjUgNTMuMSAzOS4xIDcuOCA2LjUgMy4xLTIuMiAuNC0xLjYtMy41LTUuOC0yOC45LTUyLjItMzAuOC01My4xLTEzLjctMjItMy42LTEzLjJjLTEuMy01LjQtMi4yLTEwLTIuMi0xNS41bDE1LjktMjEuNiA4LjgtMi44IDIxLjIgMi44IDguOSA3LjggMTMuMiAzMC4yIDIxLjQgNDcuNSAzMy4yIDY0LjYgOS43IDE5LjIgNS4yIDE3LjggMS45IDUuNCAzLjQgMCAwLTMuMSAyLjctMzYuNCA1LTQ0LjcgNC45LTU3LjUgMS43LTE2LjIgOC0xOS40IDE1LjktMTAuNSAxMi40IDUuOSAxMC4yIDE0LjctMS40IDkuNS02LjEgMzkuNS0xMS45IDYxLjktNy44IDQxLjUgNC41IDAgNS4yLTUuMiAyMS0yNy44IDM1LjItNDQuMSAxNS41LTE3LjUgMTguMS0xOS4zIDExLjYtOS4yIDIyIDAgMTYuMiAyNC4xLTcuMyAyNC45LTIyLjcgMjguNy0xOC44IDI0LjQtMjcgMzYuMy0xNi44IDI5IDEuNiAyLjMgNC0uNCA2MC45LTEzIDMyLjktNS45IDM5LjMtNi43IDE3LjggOC4zIDEuOSA4LjQtNyAxNy4yLTQyIDEwLjQtNDkuMiA5LjgtNzMuMyAxNy4zLS45IC43IDEgMS4zIDMzIDMuMSAxNC4xIC44IDM0LjYgMCA2NC40IDQuOCAxNi44IDExLjEgMTAuMSAxMy42LTEuNyAxMC40LTI1LjkgMTMuMmMtMTUuNS0zLjctNTQuNC0xMi45LTExNi42LTI3LjdsLTI4LTctMy45IDAgMCAyLjMgMjMuMyAyMi44IDQyLjcgMzguNiA1My41IDQ5LjggMi43IDEyLjMtNi45IDkuNy03LjMtMS00Ny0zNS40LTE4LjEtMTUuOS00MS4xLTM0LjYtMi43IDAgMCAzLjYgOS41IDEzLjkgNTAgNzUuMiAyLjYgMjMtMy42IDcuNS0xMyA0LjUtMTQuMi0yLjYtMjkuMy00MS4xLTMwLjItNDYuMy0yNC40LTQxLjUtMyAxLjctMTQuNCAxNTQuOC02LjcgNy45LTE1LjUgNS45LTEzLTkuOC02LjktMTUuOSA2LjktMzEuNSA4LjMtNDEuMSA2LjctMzIuNyA2LjEtNDAuNiAzLjYtMTMuNS0uMi0uOS0zIC40LTMwLjYgNDItNDYuNSA2Mi45LTM2LjggMzkuNC04LjggMy41LTE1LjMtNy45IDEuNC0xNC4xIDguNS0xMi42IDUwLjktNjQuOCAzMC43LTQwLjIgMTkuOC0yMy4yLS4xLTMuNC0xLjIgMC0xMzUuMyA4Ny44LTI0LjEgMy4xLTEwLjQtOS43IDEuMy0xNS45IDQuOS01LjIgNDAuNy0yOC0uMSAuMSAwIC4xeiJdfSxneXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2hvcGlmeSIsaWNvbjpbNDQ4LDUxMixbXSwiZTA1NyIsIk0zODguNSAxMDQuMWMtLjItMS4xLS43LTIuMS0xLjUtMi44cy0xLjgtMS4yLTIuOS0xLjJjLTIgMC0zNy4yLS44LTM3LjItLjhzLTIxLjYtMjAuOC0yOS42LTI4LjhsMCA0MzIuNyAxMjUuNy0zMS4ycy01NC0zNjUuNS01NC40LTM2Ny45ek0yODguOSA3MC41Yy0xLjktNi4xLTQuMy0xMS45LTcuMi0xNy42LTEwLjQtMjAtMjYtMzAuOS00NC40LTMwLjktMS4zIDAtMi43IC4xLTQgLjQtLjQtLjgtMS4yLTEuMi0xLjYtMi04LTguOC0xOC40LTEyLjgtMzAuOC0xMi40LTI0IC44LTQ4IDE4LTY3LjIgNDguOC0xMy42IDIxLjYtMjQgNDguOC0yNi44IDcwLjEtMjcuNiA4LjQtNDYuOCAxNC40LTQ3LjIgMTQuOC0xNCA0LjQtMTQuNCA0LjgtMTYgMTgtMS4yIDEwLTM4IDI5MS44LTM4IDI5MS44bDMwMi42IDUyLjUgMC00MzguM2MtMS41IC4xLTIuOSAuMi00LjQgLjQgMCAwLTUuNiAxLjYtMTQuOCA0LjR6TTIzMy42IDg3LjdjLTE2IDQuOC0zMy42IDEwLjQtNTAuOCAxNS42IDQuOC0xOC44IDE0LjQtMzcuNiAyNS42LTUwIDQuNC00LjQgMTAuNC05LjYgMTcuMi0xMi44IDYuOCAxNC40IDguNCAzNCA4IDQ3LjJ6TTIwMC44IDI0LjRjNS0uMiAxMCAxLjEgMTQuNCAzLjYtNi40IDMuMi0xMi44IDguNC0xOC44IDE0LjQtMTUuMiAxNi40LTI2LjggNDItMzEuNiA2Ni41LTE0LjQgNC40LTI4LjggOC44LTQyIDEyLjggOC44LTM4LjQgNDEuMi05Ni40IDc4LTk3LjJ6TTE1NC40IDI0NC42YzEuNiAyNS42IDY5LjIgMzEuMiA3My4yIDkxLjcgMi44IDQ3LjYtMjUuMiA4MC4xLTY1LjYgODIuNS00OC44IDMuMi03NS42LTI1LjYtNzUuNi0yNS42bDEwLjQtNDRzMjYuOCAyMC40IDQ4LjQgMTguOGMxNC0uOCAxOS4yLTEyLjQgMTguOC0yMC40LTItMzMuNi01Ny4yLTMxLjYtNjAuOC04Ni45LTMuMi00Ni40IDI3LjItOTMuMyA5NC41LTk3LjcgMjYtMS42IDM5LjIgNC44IDM5LjIgNC44bC0xNS4yIDU3LjZzLTE3LjItOC0zNy42LTYuNGMtMjkuNiAyLTMwIDIwLjgtMjkuNiAyNS42ek0yNDkuNiA4Mi45YzAtMTItMS42LTI5LjItNy4yLTQzLjYgMTguNCAzLjYgMjcuMiAyNCAzMS4yIDM2LjQtNy4yIDItMTUuMiA0LjQtMjQgNy4yeiJdfSxCdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXJlZGRpdCIsaWNvbjpbNDQ4LDUxMixbInJlZGRpdC1zcXVhcmUiXSwiZjFhMiIsIk02NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJ6TTMwNS45IDE2Ni40YzIwLjYgMCAzNy4zLTE2LjcgMzcuMy0zNy4zcy0xNi43LTM3LjMtMzcuMy0zNy4zYy0xOCAwLTMzLjEgMTIuOC0zNi42IDI5LjgtMzAuMiAzLjItNTMuOCAyOC44LTUzLjggNTkuOWwwIC4yYy0zMi44IDEuNC02Mi44IDEwLjctODYuNiAyNS41LTguOC02LjgtMTkuOS0xMC45LTMyLTEwLjktMjguOSAwLTUyLjMgMjMuNC01Mi4zIDUyLjMgMCAyMSAxMi4zIDM5IDMwLjEgNDcuNCAxLjcgNjAuNyA2Ny45IDEwOS42IDE0OS4zIDEwOS42czE0Ny42LTQ4LjkgMTQ5LjMtMTA5LjdjMTcuNy04LjQgMjkuOS0yNi40IDI5LjktNDcuMyAwLTI4LjktMjMuNC01Mi4zLTUyLjMtNTIuMy0xMiAwLTIzIDQtMzEuOSAxMC44LTI0LTE0LjktNTQuMy0yNC4yLTg3LjUtMjUuNGwwLS4xYzAtMjIuMiAxNi41LTQwLjcgMzcuOS00My43IDMuOSAxNi41IDE4LjcgMjguNyAzNi4zIDI4LjdsLjItLjJ6TTE1NSAyNDguMWMxNC42IDAgMjUuOCAxNS40IDI1IDM0LjRzLTExLjggMjUuOS0yNi41IDI1LjktMjcuNS03LjctMjYuNi0yNi43IDEzLjUtMzMuNSAyOC4xLTMzLjVsMC0uMXptMTY2LjQgMzMuNWMuOSAxOS0xMiAyNi43LTI2LjYgMjYuN3MtMjUuNi02LjktMjYuNS0yNS45IDEwLjMtMzQuNCAyNS0zNC40IDI3LjMgMTQuNiAyOC4xIDMzLjVsMCAuMXptLTQyLjEgNDkuNmMtOSAyMS41LTMwLjMgMzYuNy01NS4xIDM2LjdzLTQ2LjEtMTUuMS01NS4xLTM2LjdjLTEuMS0yLjYgLjctNS40IDMuNC01LjcgMTYuMS0xLjYgMzMuNS0yLjUgNTEuNy0yLjVzMzUuNiAuOSA1MS43IDIuNWMyLjcgLjMgNC41IDMuMSAzLjQgNS43eiJdfSxieXQ9QnVlLHZ5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLW5jIixpY29uOls1MTIsNTEyLFtdLCJmNGU4IiwiTTI1NS42IDhDMzk1LjQgOCA1MDQgMTE1LjkgNTA0IDI1NiA1MDQgNDAzLjIgMzg1LjUgNTA0IDI1NS42IDUwNCAxMjEuMSA1MDQgOCAzOTMuMiA4IDI1NiA4IDEyMy4xIDExMi43IDggMjU1LjYgOHpNNjMuOCAxODkuMWMtNy40IDIwLjQtMTEuMSA0Mi43LTExLjEgNjYuOSAwIDExMC45IDkyLjEgMjAyLjQgMjAzLjcgMjAyLjQgMTIyLjQgMCAxNzcuMi0xMDEuOCAxNzguNS0xMDQuMWwtOTMuNC00MS42Yy03LjcgMzcuMS00MS4yIDUzLTY4LjIgNTUuNGwwIDM4LjEtMjguOCAwIDAtMzguMmMtMjcuNS0uMy01Mi42LTEwLjItNzUuMy0yOS43bDM0LjEtMzQuNWMzMS43IDI5LjQgODYuNCAzMS44IDg2LjQtMi4yIDAtNi4yLTIuMi0xMS4yLTYuNi0xNS4xLTE0LjItNi0xLjgtLjEtMjE5LjMtOTcuNHpNMjU2LjQgNTIuM0MyMTggNTIuMyAxNDQgNjEgODUuOSAxNDUuM2w5NC44IDQyLjVjMTAtMzEuMyA0MC40LTQyLjkgNjMuOC00NC4zbDAtMzguMSAyOC44IDAgMCAzOC4xYzIyLjcgMS4yIDQzLjQgOC45IDYyIDIzTDMwMyAxOTkuN2MtNDIuNy0yOS45LTgzLjUtOC03MCAxMS4xIDUzLjQgMjQuMSA0My44IDE5LjggOTMgNDEuNmwxMjcuMSA1Ni43YzQuMS0xNy40IDYuMi0zNS4xIDYuMi01My4xIDAtNTctMTkuOC0xMDUtNTkuMy0xNDMuOS0zOS4zLTM5LjktODcuMi01OS44LTE0My42LTU5Ljh6Il19LHh5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnYWxhY3RpYy1yZXB1YmxpYyIsaWNvbjpbNTEyLDUxMixbXSwiZjUwYyIsIk0yNTYgOGEyNDggMjQ4IDAgMSAxIDAgNDk2IDI0OCAyNDggMCAxIDEgMC00OTZ6bTAgMTYuNWEyMzEuNSAyMzEuNSAwIDEgMCAwIDQ2Mi45IDIzMS41IDIzMS41IDAgMSAwIDAtNDYyLjl6bTI3LjYgMjEuOGwwIDI0LjZjMzAuMyA0LjUgNTkgMTYuMyA4My42IDM0LjVsMTcuNC0xNy40Yy0yOC43LTIyLjEtNjMuMy0zNi45LTEwMS00MS44em0tNTUuNCAuMWMtMzcuNiA0LjktNzIuMiAxOS44LTEwMC45IDQxLjlsMTcuMyAxNy40IC4xIDBjMjQuMS0xNy44IDUyLjYtMzAuMSA4My41LTM0LjdsMC0yNC41em0xMi4yIDUwLjJsMCA4Mi45Yy0xMCAyLTE5LjQgNS45LTI3LjcgMTEuNGwtNTguNi01OC42LTIxLjkgMjEuOSA1OC43IDU4LjdjLTUuNSA4LjItOS40IDE3LjYtMTEuNSAyNy42bC04Mi45IDAgMCAzMSA4Mi45IDBjMiAxMCA2IDE5LjMgMTEuNSAyNy41bC01OC43IDU4LjcgMjEuOSAyMS45IDU4LjYtNTguNmM4LjQgNS42IDE3LjggOS41IDI3LjcgMTEuNWwwIDgyLjkgMzEgMCAwLTgyLjljMTAtMiAxOS40LTYuMSAyNy42LTExLjVsNTguNyA1OC43IDIxLjktMjEuOS01OC43LTU4LjdjNS41LTguMiA5LjUtMTcuNSAxMS41LTI3LjVsODIuOSAwIDAtMzEtODIuOSAwYy0yLTEwLTYtMTkuNC0xMS41LTI3LjZsNTguNy01OC43LTIxLjktMjEuOS01OC43IDU4LjdjLTguMi01LjUtMTcuNi05LjUtMjcuNi0xMS41bDAtODIuOS0zMSAwem0xODMuMiAzMC43bC0xNy40IDE3LjRjMTguMyAyNC42IDMwLjIgNTMuNCAzNC43IDgzLjdsMjQuNiAwYy01LTM3LjctMTkuOC03Mi4zLTQxLjktMTAxem0tMzM1LjYgLjFjLTIyLjEgMjguNy0zNi45IDYzLjMtNDEuOCAxMDAuOWwyNC42IDBjNC42LTMxIDE2LjgtNTkuNCAzNC42LTgzLjVMODguMiAxMjcuNHpNNDYuMyAyODMuN2M0LjkgMzcuNiAxOS43IDcyLjIgNDEuOCAxMDAuOWwxNy40LTE3LjRDODcuNyAzNDMuMSA3NS42IDMxNC42IDcxIDI4My43bC0yNC42IDAgMCAwem0zOTQuNyAwYy00LjYgMzEtMTYuOCA1OS41LTM0LjcgODMuNmwxNy40IDE3LjRjMjIuMS0yOC43IDM3LTYzLjMgNDEuOS0xMDFsLTI0LjYgMHpNMTQ0LjcgNDA2LjRsLTE3LjQgMTcuNGMyOC43IDIyLjEgNjMuMyAzNyAxMDEgNDEuOWwwLTI0LjZjLTMxLTQuNi01OS41LTE2LjgtODMuNi0zNC42em0yMjIuNSAwYy0yNC4xIDE3LjgtNTIuNiAzMC4xLTgzLjYgMzQuN2wwIDI0LjZjMzcuNy00LjkgNzIuMi0xOS44IDEwMS00MS44bC0xNy4zLTE3LjQtLjEgMHoiXX0scGVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZhY2Vib29rIixpY29uOls1MTIsNTEyLFs2MmUzXSwiZjA5YSIsIk01MTIgMjU2QzUxMiAxMTQuNiAzOTcuNCAwIDI1NiAwUzAgMTE0LjYgMCAyNTZDMCAzNzYgODIuNyA0NzYuOCAxOTQuMiA1MDQuNWwwLTE3MC4zLTUyLjggMCAwLTc4LjIgNTIuOCAwIDAtMzMuN2MwLTg3LjEgMzkuNC0xMjcuNSAxMjUtMTI3LjUgMTYuMiAwIDQ0LjIgMy4yIDU1LjcgNi40bDAgNzAuOGMtNi0uNi0xNi41LTEtMjkuNi0xLTQyIDAtNTguMiAxNS45LTU4LjIgNTcuMmwwIDI3LjggODMuNiAwLTE0LjQgNzguMi02OS4zIDAgMCAxNzUuOUM0MTMuOCA0OTQuOCA1MTIgMzg2LjkgNTEyIDI1NnoiXX0seXl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdpdGxhYiIsaWNvbjpbNTEyLDUxMixbXSwiZjI5NiIsIk01MDQgMjA0LjZsLS43LTEuOC02OS43LTE4MS44Yy0xLjQtMy42LTMuOS02LjYtNy4yLTguNi0yLjQtMS42LTUuMS0yLjUtOC0yLjhzLTUuNyAuMS04LjQgMS4xLTUuMSAyLjctNy4xIDQuOGMtMS45IDIuMS0zLjMgNC43LTQuMSA3LjRsLTQ3IDE0NC0xOTAuNSAwLTQ3LjEtMTQ0Yy0uOC0yLjgtMi4yLTUuMy00LjEtNy40LTItMi4xLTQuNC0zLjctNy4xLTQuOC0yLjYtMS01LjUtMS40LTguNC0xLjFzLTUuNiAxLjItOCAyLjhjLTMuMiAyLTUuOCA1LjEtNy4yIDguNkw5LjggMjAyLjggOSAyMDQuNmMtMTAgMjYuMi0xMS4zIDU1LTMuNSA4MiA3LjcgMjYuOSAyNCA1MC43IDQ2LjQgNjcuNmwuMyAuMiAuNiAuNCAxMDYgNzkuNWMzOC41IDI5LjEgNjYuNyA1MC4zIDg0LjYgNjMuOSAzLjcgMS45IDguMyA0LjMgMTMgNC4zczkuMy0yLjQgMTMtNC4zYzE3LjktMTMuNSA0Ni4xLTM0LjkgODQuNi02My45bDEwNi43LTc5LjkgLjMtLjNjMjIuNC0xNi45IDM4LjctNDAuNiA0NS42LTY3LjUgOC42LTI3IDcuNC01NS44LTIuNi04MnoiXX0sd3l0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InFxIixpY29uOls0NDgsNTEyLFtdLCJmMWQ2IiwiTTQzNC4xIDQyMC40Yy0xMS41IDEuNC00NC45LTUyLjctNDQuOS01Mi43IDAgMzEuMy0xNi4xIDcyLjItNTEgMTAxLjggMTYuOCA1LjIgNTQuOCAxOS4yIDQ1LjggMzQuNC03LjMgMTIuMy0xMjUuNSA3LjktMTU5LjYgNC0zNC4xIDMuOC0xNTIuMyA4LjMtMTU5LjYtNC05LTE1LjIgMjguOS0yOS4yIDQ1LjgtMzQuNC0zNC45LTI5LjUtNTEuMS03MC40LTUxLjEtMTAxLjggMCAwLTMzLjMgNTQuMS00NC45IDUyLjctNS40LS42LTEyLjQtMjkuNiA5LjMtOTkuNyAxMC4zLTMzIDIyLTYwLjUgNDAuMS0xMDUuOC0zLjEtMTE2LjkgNDUuMi0yMTUgMTYwLjMtMjE1IDExMy43IDAgMTYzLjIgOTYuMSAxNjAuMyAyMTUgMTguMSA0NS4yIDI5LjkgNzIuOSA0MC4xIDEwNS44IDIxLjggNzAuMSAxNC43IDk5LjEgOS4zIDk5Ljd6Il19LE15dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdHJpcGUiLGljb246WzY0MCw1MTIsW10sImY0MjkiLCJNMTY1IDE0NC43bC00My4zIDkuMi0uMiAxNDIuNGMwIDI2LjMgMTkuOCA0My4zIDQ2LjEgNDMuMyAxNC42IDAgMjUuMy0yLjcgMzEuMi01LjlsMC0zMy44Yy01LjcgMi4zLTMzLjcgMTAuNS0zMy43LTE1LjdsMC02My4yIDMzLjcgMCAwLTM3LjgtMzMuNyAwLS4xLTM4LjV6bTg5LjEgNTEuNmwtMi43LTEzLjEtMzguNCAwIDAgMTUzLjIgNDQuMyAwIDAtMTAzLjFjMTAuNS0xMy44IDI4LjItMTEuMSAzMy45LTkuM2wwLTQwLjhjLTYtMi4xLTI2LjctNi0zNy4xIDEzLjF6TTM0Ni40IDEyNGwtNDQuNiA5LjUgMCAzNi4yIDQ0LjYtOS41IDAtMzYuMnpNNDQuOSAyMjguM2MwLTYuOSA1LjgtOS42IDE1LjEtOS43IDEzLjUgMCAzMC43IDQuMSA0NC4yIDExLjRsMC00MS44Yy0xNC43LTUuOC0yOS40LTguMS00NC4xLTguMS0zNiAwLTYwIDE4LjgtNjAgNTAuMiAwIDQ5LjIgNjcuNSA0MS4yIDY3LjUgNjIuNCAwIDguMi03LjEgMTAuOS0xNyAxMC45LTE0LjcgMC0zMy43LTYuMS00OC42LTE0LjJsMCA0MGMxNi41IDcuMSAzMy4yIDEwLjEgNDguNSAxMC4xIDM2LjkgMCA2Mi4zLTE1LjggNjIuMy00Ny44IDAtNTIuOS02Ny45LTQzLjQtNjcuOS02My40ek02NDAgMjYxLjZjMC00NS41LTIyLTgxLjQtNjQuMi04MS40cy02Ny45IDM1LjktNjcuOSA4MS4xYzAgNTMuNSAzMC4zIDc4LjIgNzMuNSA3OC4yIDIxLjIgMCAzNy4xLTQuOCA0OS4yLTExLjVsMC0zMy40Yy0xMi4xIDYuMS0yNiA5LjgtNDMuNiA5LjgtMTcuMyAwLTMyLjUtNi4xLTM0LjUtMjYuOWw4Ni45IDBjLjItMi4zIC42LTExLjYgLjYtMTUuOXptLTg3LjktMTYuOGMwLTIwIDEyLjMtMjguNCAyMy40LTI4LjQgMTAuOSAwIDIyLjUgOC40IDIyLjUgMjguNGwtNDUuOSAwek00MzkuMiAxODAuMmMtMTcuNCAwLTI4LjYgOC4yLTM0LjggMTMuOWwtMi4zLTExLTM5LjEgMCAwIDIwNC44IDQ0LjQtOS40IC4xLTUwLjJjNi40IDQuNyAxNS45IDExLjIgMzEuNCAxMS4yIDMxLjggMCA2MC44LTIzLjIgNjAuOC03OS42IC4xLTUxLjYtMjkuMy03OS43LTYwLjUtNzkuN3pNNDI4LjYgMzAyLjdjLTEwLjQgMC0xNi42LTMuOC0yMC45LTguNGwtLjMtNjZjNC42LTUuMSAxMS04LjggMjEuMi04LjggMTYuMiAwIDI3LjQgMTguMiAyNy40IDQxLjQgLjEgMjMuOS0xMC45IDQxLjgtMjcuNCA0MS44ek0zMDEuOSAzMzYuNGw0NC42IDAgMC0xNTMuMi00NC42IDAgMCAxNTMuMnoiXX0sa3l0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRhaWx5bW90aW9uIixpY29uOls0NDgsNTEyLFtdLCJlMDUyIiwiTTI5OC45IDI2N2MtNy40LTQuMi0xNS44LTYuMy0yNC40LTYuMi0xMy4yIDAtMjQuNCA0LjQtMzMuNCAxMy4zcy0xMy42IDIwLTEzLjYgMzMuNGMwIDE0LjEgNC40IDI1LjYgMTMuMyAzNC42czIwIDEzLjQgMzMuNCAxMy40YzEzLjcgMCAyNS00LjYgMzQuMS0xMy44UzMyMiAzMjEuMSAzMjIgMzA3LjVjMC04LjItMi4xLTE2LjMtNi4xLTIzLjUtNC03LjEtOS44LTEzLTE3LTE3ek0wIDMybDAgNDQ4IDQ0OCAwIDAtNDQ4LTQ0OCAwek0zNzQuNyA0MDUuM2wtNTMuMSAwIDAtMjMuOS0uNyAwYy0xMC41IDE3LjUtMjkuMSAyNi4yLTU1LjggMjYuMi0xOC40IDAtMzQuNy00LjQtNDguOS0xMy4xLTE0LjEtOC42LTI1LjUtMjEtMzIuOS0zNS44LTcuNy0xNS4xLTExLjYtMzIuMS0xMS42LTUwLjkgMC0xOC40IDMuOS0zNS4xIDExLjgtNTAuMiA3LjUtMTQuNyAxOC45LTI3LjEgMzIuOS0zNS44IDE0LjEtOC43IDMwLTEzLjEgNDcuNy0xMy4xIDEwLjItLjEgMjAuMiAxLjYgMjkuNyA1LjIgOC45IDMuNSAxNy4yIDkuMSAyNSAxN2wwLTc3LjkgNTUuOC0xMi4xIDAgMjY0LjR6Il19LFN5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzdGVhbSIsaWNvbjpbNTEyLDUxMixbXSwiZjFiNiIsIk01MDQgMjU2YzAgMTM3LTExMS4yIDI0OC0yNDguNCAyNDgtMTEzLjggMC0yMDkuNi03Ni4zLTIzOS0xODAuNGw5NS4yIDM5LjNjNi40IDMyLjEgMzQuOSA1Ni40IDY4LjkgNTYuNCAzOS4yIDAgNzEuOS0zMi40IDcwLjItNzMuNWw4NC41LTYwLjJjNTIuMSAxLjMgOTUuOC00MC45IDk1LjgtOTMuNSAwLTUxLjYtNDItOTMuNS05My43LTkzLjVzLTkzLjcgNDItOTMuNyA5My41bDAgMS4yLTU5LjIgODUuN2MtMTUuNS0uOS0zMC43IDMuNC00My41IDEyLjFMOCAyMzYuMUMxOC4yIDEwOC40IDEyNS4xIDggMjU1LjYgOCAzOTIuOCA4IDUwNCAxMTkgNTA0IDI1NnpNMTYzLjcgMzg0LjNsLTMwLjUtMTIuNmM1LjYgMTEuNiAxNS4zIDIwLjggMjcuMiAyNS44IDI2LjkgMTEuMiA1Ny44LTEuNiA2OS0yOC40IDUuNC0xMyA1LjUtMjcuMyAuMS00MC4zUzIxNCAzMDUuNiAyMDEgMzAwLjJjLTEyLjktNS40LTI2LjctNS4yLTM4LjktLjZsMzEuNSAxM2MxOS44IDguMiAyOS4yIDMwLjkgMjAuOSA1MC43LTguMyAxOS45LTMxIDI5LjItNTAuOCAyMXpNMzM3LjUgMTI5LjhhNjIuMyA2Mi4zIDAgMSAxIDAgMTI0LjYgNjIuMyA2Mi4zIDAgMSAxIDAtMTI0LjZ6bS4xIDEwOWE0Ni44IDQ2LjggMCAxIDAgMC05My42IDQ2LjggNDYuOCAwIDEgMCAwIDkzLjZ6Il19LHp5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2ZW5tby12IixpY29uOls1MTIsNTEyLFtdLCJlODViIiwiTTQ2Ni41IDE0LjhjMTcuNCAyOC43IDI1LjMgNTguMiAyNS4zIDk1LjUgMCAxMTktMTAxLjkgMjczLjUtMTg0LjcgMzgyLjFsLTE4OC45IDAtNzUuOC00NTEuNSAxNjUuNC0xNS43IDQwLjEgMzIxLjNjMzcuNC02MC44IDgzLjYtMTU2LjMgODMuNi0yMjEuNCAwLTM1LjYtNi4xLTU5LjktMTUuNy03OS45TDQ2Ni41IDE0Ljh6Il19LEh1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzbmFwY2hhdCIsaWNvbjpbNTEyLDUxMixbNjIxMjQsInNuYXBjaGF0LWdob3N0Il0sImYyYWIiLCJNNDk3LjEgMzY2LjZjLTMuNC05LjItOS44LTE0LjEtMTcuMS0xOC4yLTEuNC0uOC0yLjYtMS41LTMuNy0xLjktMi4yLTEuMS00LjQtMi4yLTYuNi0zLjQtMjIuOC0xMi4xLTQwLjYtMjcuMy01My00NS40LTMuNS01LjEtNi42LTEwLjUtOS4xLTE2LjEtMS4xLTMtMS00LjctLjItNi4zIC44LTEuMiAxLjctMi4yIDIuOS0zIDMuOS0yLjYgOC01LjIgMTAuNy03IDQuOS0zLjIgOC44LTUuNyAxMS4yLTcuNCA5LjQtNi41IDE1LjktMTMuNSAyMC0yMS4zIDIuOS01LjQgNC41LTExLjMgNC45LTE3LjRzLS42LTEyLjItMi44LTE3LjhjLTYuMi0xNi4zLTIxLjYtMjYuNC00MC4zLTI2LjQtMy45IDAtNy45IC40LTExLjcgMS4yLTEgLjItMi4xIC41LTMuMSAuNyAuMi0xMS4yLS4xLTIyLjktMS4xLTM0LjUtMy41LTQwLjgtMTcuOC02Mi4xLTMyLjctNzkuMi05LjUtMTAuNy0yMC43LTE5LjctMzMuMi0yNi43LTIyLjYtMTIuOS00OC4yLTE5LjQtNzYuMS0xOS40cy01My40IDYuNS03NiAxOS40Yy0xMi41IDctMjMuNyAxNi4xLTMzLjMgMjYuOC0xNC45IDE3LTI5LjIgMzguNC0zMi43IDc5LjItMSAxMS42LTEuMiAyMy40LTEuMSAzNC41LTEtLjMtMi0uNS0zLjEtLjctMy45LS44LTcuOC0xLjItMTEuNy0xLjItMTguNyAwLTM0LjEgMTAuMS00MC4zIDI2LjQtMi4yIDUuNy0zLjIgMTEuOC0yLjggMTcuOHMyIDEyIDQuOSAxNy40YzQuMSA3LjggMTAuNyAxNC43IDIwIDIxLjMgMi41IDEuNyA2LjQgNC4yIDExLjIgNy40IDIuNiAxLjcgNi41IDQuMiAxMC4zIDYuNyAxLjMgLjkgMi40IDIgMy4zIDMuMyAuOCAxLjYgLjggMy40LS40IDYuNi0yLjUgNS41LTUuNSAxMC44LTguOSAxNS44LTEyLjEgMTcuNy0yOS40IDMyLjYtNTEuNCA0NC42LTExLjcgNi4yLTIzLjkgMTAuMy0yOSAyNC4zLTMuOSAxMC41LTEuMyAyMi41IDguNSAzMi42IDMuNiAzLjggNy44IDYuOSAxMi40IDkuNCA5LjYgNS4zIDE5LjggOS4zIDMwLjMgMTIuMSAyLjIgLjYgNC4zIDEuNSA2LjEgMi43IDMuNiAzLjEgMy4xIDcuOSA3LjggMTQuOCAyLjQgMy42IDUuNCA2LjcgOSA5LjEgMTAgNi45IDIxLjMgNy40IDMzLjIgNy44IDEwLjggLjQgMjMgLjkgMzYuOSA1LjUgNS44IDEuOSAxMS44IDUuNiAxOC43IDkuOSAxNi43IDEwLjMgMzkuNiAyNC4zIDc3LjggMjQuM3M2MS4zLTE0LjEgNzguMS0yNC40YzYuOS00LjIgMTIuOS03LjkgMTguNS05LjggMTMuOS00LjYgMjYuMi01LjEgMzYuOS01LjUgMTEuOS0uNSAyMy4yLS45IDMzLjItNy44IDQuMi0yLjkgNy43LTYuNyAxMC4yLTExLjIgMy40LTUuOCAzLjQtOS45IDYuNi0xMi44IDEuOC0xLjIgMy43LTIuMSA1LjgtMi42IDEwLjctMi44IDIxLTYuOSAzMC44LTEyLjIgNC45LTIuNiA5LjMtNi4xIDEzLTEwLjJsLjEtLjJjOS4yLTkuOSAxMS41LTIxLjUgNy44LTMxLjh6bS0zNCAxOC4zYy0yMC43IDExLjUtMzQuNSAxMC4yLTQ1LjMgMTcuMS05LjEgNS45LTMuNyAxOC41LTEwLjMgMjMuMS04LjEgNS42LTMyLjItLjQtNjMuMiA5LjktMjUuNiA4LjUtNDIgMzIuOC04OCAzMi44cy02Mi0yNC4zLTg4LjEtMzIuOWMtMzEtMTAuMy01NS4xLTQuMi02My4yLTkuOS02LjYtNC42LTEuMi0xNy4yLTEwLjMtMjMuMS0xMC43LTYuOS0yNC41LTUuNy00NS4zLTE3LjEtMTMuMi03LjMtNS43LTExLjgtMS4zLTEzLjkgNzUuMS0zNi40IDg3LjEtOTIuNiA4Ny43LTk2LjcgLjYtNSAxLjQtOS00LjItMTQuMS01LjQtNS0yOS4yLTE5LjctMzUuOC0yNC4zLTEwLjktNy42LTE1LjctMTUuMy0xMi4yLTI0LjYgMi41LTYuNSA4LjUtOC45IDE0LjktOC45IDIgMCA0IC4yIDYgLjcgMTIgMi42IDIzLjcgOC42IDMwLjQgMTAuMiAuOCAuMiAxLjYgLjMgMi41IC4zIDMuNiAwIDQuOS0xLjggNC42LTUuOS0uOC0xMy4xLTIuNi0zOC43LS42LTYyLjYgMi44LTMyLjkgMTMuNC00OS4yIDI2LTYzLjYgNi4xLTYuOSAzNC41LTM3IDg4LjktMzdTMzM5IDc0LjIgMzQ1IDgxLjFjMTIuNiAxNC40IDIzLjIgMzAuNyAyNiA2My42IDIuMSAyMy45IC4zIDQ5LjUtLjYgNjIuNi0uMyA0LjMgMSA1LjkgNC42IDUuOSAuOCAwIDEuNy0uMSAyLjUtLjMgNi43LTEuNiAxOC40LTcuNiAzMC40LTEwLjIgMi0uNCA0LS43IDYtLjcgNi40IDAgMTIuNCAyLjUgMTQuOSA4LjkgMy41IDkuNC0xLjIgMTctMTIuMiAyNC42LTYuNiA0LjYtMzAuNCAxOS4zLTM1LjggMjQuMy01LjYgNS4xLTQuOCA5LjEtNC4yIDE0LjIgLjUgNC4yIDEyLjUgNjAuNCA4Ny43IDk2LjcgNC40IDIuMiAxMS45IDYuNy0xLjMgMTQuMXoiXX0sQ3l0PUh1ZSxfeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ2FsYWN0aWMtc2VuYXRlIixpY29uOls1MTIsNTEyLFtdLCJmNTBkIiwiTTI0OS45IDMzLjVsMCAyNi4xYy0xMy42IDIwLjYtMjMuOSAxMDguNi0yNC41IDIxNS4zIDExLjctMTUuNiAxOS4xLTMzLjMgMTkuMS00OC4ybDAtMTYuOWMwLTUuMyAuOC0xMC41IDIuMi0xNS42IC42LTIuMSAxLjQtNC4xIDIuNi01LjhzMy40LTMuOCA2LjctMy44IDUuNCAyLjEgNi43IDMuOGMxLjIgMS44IDIgMy43IDIuNiA1LjggMS40IDUuMSAyLjIgMTAuMyAyLjIgMTUuNmwwIDE2LjljMCAxNC45IDcuNCAzMi42IDE5LjEgNDguMi0uNi0xMDYuOC0xMC45LTE5NC43LTI0LjUtMjE1LjNsMC0yNi4xLTEyLjMgMHpNMjIzLjUgMTgxLjNjLTkuNSAyLjEtMTguNyA1LjItMjcuNSA5LjEgOC45IDE2LjEgOS44IDMyLjYgMS43IDM3LjMtOCA0LjYtMjEuOC00LjItMzEuNC0xOS44LTExLjYgOC44LTIxLjkgMTkuMy0zMC42IDMxLjEgMTQuNyA5LjYgMjIuOSAyMi45IDE4LjMgMzAuNy00LjUgNy43LTIwIDcuMS0zNS41LTEtNS44IDEzLjItOS43IDI3LjUtMTEuNiA0Mi40IDkuNyAuMiAxOC43IDIuNCAyNi4yIDYgMTcuOC0uMyAzMi44LTIgNDAuNS00LjIgNS42LTI2LjQgMjMtNDguMiA0Ni4zLTU5LjUgLjctMjUuNiAxLjktNDkuNyAzLjUtNzIuMXptNjUgMGMxLjYgMjIuNCAyLjcgNDYuNSAzLjUgNzIuMSAyMy4zIDExLjMgNDAuOCAzMy4yIDQ2LjMgNTkuNSA3LjcgMi4zIDIyLjcgMy45IDQwLjUgNC4yIDcuNS0zLjcgMTYuNS01LjggMjYuMi02LTEuOS0xNC45LTUuOS0yOS4yLTExLjctNDIuNC0xNS40IDguMS0zMC45IDguNy0zNS41IDEtNC42LTcuNyAzLjYtMjEuMSAxOC4zLTMwLjctOC43LTExLjgtMTktMjIuMy0zMC42LTMxLjEtOS41IDE1LjYtMjMuNCAyNC40LTMxLjQgMTkuOC04LjEtNC42LTcuMi0yMS4yIDEuNy0zNy4zLTguOC0zLjktMTgtNy0yNy40LTkuMXpNMjU2IDE4OS45Yy0zLjIgMC01LjkgOC44LTYuMSAxOS45bDAgMCAwIDE2LjljMCA0MS40LTQ5IDk1LTkzLjUgOTUtNTIgMC0xMjIuOC0xLjQtMTU2LjQgMjkuMmwwIDIuNWM5LjQgMTcuMSAyMC42IDMzLjIgMzMuMiA0OCAxMi41LTIxLjEgNTEuNi00MSAxMDgtNDEuNCA0NS43IDEgNzkgMjAuMyA5MC44IDQwLjkgMCAwIDAgMCAwIC4xIDcuNyAyLjEgMTUuOCAzLjIgMjQgMy4yIDguMiAwIDE2LjQtMS4xIDI0LTMuMiAwIDAgMCAwIDAtLjEgMTEuNy0yMC41IDQ1LjEtMzkuOCA5MC44LTQwLjkgNTYuNCAuNCA5NS41IDIwLjMgMTA4IDQxLjQgMTIuNi0xNC44IDIzLjgtMzAuOSAzMy4yLTQ4bDAtMi41Yy0zMy42LTMwLjYtMTA0LjQtMjkuMi0xNTYuNC0yOS4yLTQ0LjUgMC05My41LTUzLjYtOTMuNS05NWwwLTE2LjktLjEgMGMtLjItMTEuMS0yLjktMTkuOS02LjEtMTkuOXptMCAxNzcuOWE0MC42IDQwLjYgMCAxIDEgMC04MS4zIDQwLjYgNDAuNiAwIDEgMSAwIDgxLjN6bTAtNzMuNmEzMyAzMyAwIDEgMCAwIDY1LjkgMzMgMzMgMCAxIDAgMC02NS45em0wIDU5LjhhMjYuOCAyNi44IDAgMSAxIDAtNTMuNiAyNi44IDI2LjggMCAxIDEgMCA1My42em0tMTE0LjggMTNjLTEwLjIgLjEtMjEuNiAuNC0zMC41IDEuNyAuNCA0LjQgMS41IDE4LjYgNy4xIDI5LjggOS4xLTIuNiAxOC40LTMuOSAyNy42LTMuOSA0MS4zIC45IDcxLjUgMzQuNCA3OC4zIDc0LjVsLjEgNC43YzEwLjQgMS45IDIxLjIgMi45IDMyLjIgMi45IDExIDAgMjEuOC0xIDMyLjItMi45bC4xLTQuN2M2LjgtNDAuMSAzNy03My41IDc4LjMtNzQuNSA5LjMgMCAxOC41IDEuMyAyNy42IDMuOSA1LjYtMTEuMSA2LjctMjUuMyA3LjEtMjkuOC04LjktMS4zLTIwLjMtMS42LTMwLjUtMS43LTE4LjggLjQtMzUuMiA0LjItNDguNiA5LjctMTIuNSAxNi0yOS4yIDMwLTQ5LjYgMzMuMS0uMSAwLS4yIDAtLjMgMCAwIDAtLjEgMC0uMiAuMS01LjIgMS4xLTEwLjYgMS42LTE2LjIgMS42LTUuNSAwLTEwLjktLjUtMTYuMi0xLjYtLjEgMC0uMSAwLS4yLS4xLS4xIDAtLjIgMC0uMyAwLTIwLjQtMy0zNy0xNy00OS42LTMzLjEtMTMuNC01LjUtMjkuOS05LjItNDguNi05Ljd6Il19LFR5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaG9lbml4LWZyYW1ld29yayIsaWNvbjpbNjQwLDUxMixbXSwiZjNkYyIsIk0yMTIuOSAzNDQuM2MzLjgtLjEgMjIuOC0xLjQgMjUuNi0yLjItMi40LTIuNi00My42LTEtNjgtNDkuNi00LjMtOC42LTcuNS0xNy42LTYuNC0yNy42IDIuOS0yNS41IDMyLjktMzAgNTItMTguNSAzNiAyMS42IDYzLjMgOTEuMyAxMTMuNyA5Ny41IDM3IDQuNSA4NC42LTE3IDEwOC4yLTQ1LjQtLjYtLjEtLjgtLjItMS0uMS0uNCAuMS0uOCAuMi0xLjEgLjMtMzMuMyAxMi4xLTk0LjMgOS43LTEzNC43LTE0LjgtMzcuNi0yMi44LTUzLjEtNTguNy01MS44LTc0LjYgMS44LTIxLjMgMjIuOS0yMy4yIDM1LjktMTkuNiAxNC40IDMuOSAyNC40IDE3LjYgMzguOSAyNy40IDE1LjYgMTAuNCAzMi45IDEzLjcgNTEuMyAxMC4zIDE0LjktMi43IDM0LjQtMTIuMyAzNi41LTE0LjUtMS4xLS4xLTEuOC0uMS0yLjUtLjItNi4yLS42LTEyLjQtLjgtMTguNS0xLjctMTExLjItMTYuNS0xMjguOS0xNjMuNi0yNTIuNS0xNzMuMS00NC4zLTMuNC05OS40IDguMS0xMzYuMyAzNS0uOCAuNi0xLjUgMS4yLTIuMiAxLjggLjEgLjIgLjEgLjMgLjIgLjUgLjggMCAxLjYtLjEgMi40LS4yIDYuMy0xIDEyLjUtLjggMTguNyAuMyAyMy44IDQuMyA0Ny43IDIzLjEgNTUuOSA3Ni41IDUuMyAzNC4zLS43IDUwLjggOCA4Ni4xIDE5IDc3LjEgOTEgMTA3LjYgMTI3LjcgMTA2LjR6TTc1LjMgNjQuOWMtLjktMS0uOS0xLjItMS4zLTIgMTIuMS0yLjYgMjQuMi00LjEgMzYuNi00LjgtMS4xIDE0LjctMjIuMiAyMS4zLTM1LjMgNi44ek0yNzIuMiA0MTUuNGMtNDIuOCAxLjItOTItMjYuNy0xMjMuNS02MS40LTQuNi01LTE2LjgtMjAuMi0xOC42LTIzLjRsLjQtLjRjNi42IDQuMSAyNS43IDE4LjYgNTQuOCAyNyAyNC4yIDcgNDguMSA2LjMgNzEuNi0zLjMgMjIuNy05LjMgNDEtLjUgNDMuMSAyLjktMTguNSAzLjgtMjAuMSA0LjQtMjQgNy45LTUuMSA0LjQtNC42IDExLjcgNyAxNy4yIDI2LjIgMTIuNCA2My0yLjggOTcuMiAyNS40IDIuNCAyIDguMSA3LjggMTAuMSAxMC43LS4xIC4yLS4zIC4zLS40IC41LTQuOC0xLjUtMTYuNC03LjUtNDAuMi05LjMtMjQuNy0yLTQ2LjMgNS4zLTc3LjUgNi4yek00NDcgMTYzLjRjMTYuNC01LjIgNDEuMy0xMy40IDY2LjUtMy4zIDE2LjEgNi41IDI2LjIgMTguNyAzMi4xIDM0LjYgMy41IDkuNCA1LjEgMTkuNyA1LjEgMjguNy0uMiAwLS40IDAtLjYgLjEtLjItLjQtLjQtLjktLjUtMS4zLTUtMjItMjkuOS00My44LTY3LjYtMjkuOS01MC4yIDE4LjYtMTMwLjQgOS43LTE3Ni45LTQ4LS43LS45LTIuNC0xLjctMS4zLTMuMiAuMS0uMiAyLjEgLjYgMyAxLjMgMTguMSAxMy40IDM4LjMgMjEuOSA2MC4zIDI2LjIgMzAuNSA2LjEgNTQuNiAyLjkgNzkuOS01LjJ6TTU0OS43IDI4MC45Yy0zMi40IC4yLTMzLjggNTAuMS0xMDMuNiA2NC40LTE4LjIgMy43LTM4LjcgNC42LTQ0LjkgNC4ybDAtLjRjMi44LTEuNSAxNC43LTIuNiAyOS43LTE2LjYgNy45LTcuMyAxNS4zLTE1LjEgMjIuOC0yMi45IDE5LjUtMjAuMiA0MS40LTQyLjIgODEuOS0zOSAyMy4xIDEuOCAyOS4zIDguMiAzNi4xIDEyLjcgLjMgLjIgLjQgLjUgLjcgLjktLjUgMC0uNyAuMS0uOSAwLTctMi43LTE0LjMtMy4zLTIxLjgtMy4zem0tMTIuMy0yNC4xYy0uMSAuMi0uMSAuNC0uMiAuNi0yOC45LTQuNC00OC03LjktNjguNSA0LTE3IDkuOS0zMS40IDIwLjUtNjIgMjQuNC0yNy4xIDMuNC00NS4xIDIuNC02Ni4xLTgtLjMtLjItLjYtLjQtMS0uNiAwLS4yIC4xLS4zIC4xLS41IDI0LjkgMy44IDM2LjQgNS4xIDU1LjUtNS44IDIyLjMtMTIuOSA0MC4xLTI2LjYgNzEuMy0zMSAyOS42LTQuMSA1MS4zIDIuNSA3MC45IDE2Ljl6TTI2OC42IDk3LjNjLS42LS42LTEuMS0xLjItMi4xLTIuMyA3LjYgMCAyOS43LTEuMiA1My40IDguNCAxOS43IDggMzIuMiAyMSA1MC4yIDMyLjkgMTEuMSA3LjMgMjMuNCA5LjMgMzYuNCA4LjEgNC4zLS40IDguNS0xLjIgMTIuOC0xLjcgLjQtLjEgLjkgMCAxLjUgLjMtLjYgLjQtMS4yIC45LTEuOCAxLjItOC4xIDQtMTYuNyA2LjMtMjUuNiA3LjEtMjYuMSAyLjYtNTAuMy0zLjctNzMuNC0xNS40LTE5LjMtOS45LTM2LjQtMjIuOS01MS40LTM4LjZ6TTY0MCAzMzUuN2MtMy41IDMuMS0yMi43IDExLjYtNDIuNyA1LjMtMTIuMy0zLjktMTkuNS0xNC45LTMxLjYtMjQuMS0xMC03LjYtMjAuOS03LjktMjguMS04LjQgLjYtLjggLjktMS4yIDEuMi0xLjQgMTQuOC05LjIgMzAuNS0xMi4yIDQ3LjMtNi41IDEyLjUgNC4yIDE5LjIgMTMuNSAzMC40IDI0LjIgMTAuOCAxMC40IDIxIDkuOSAyMy4xIDEwLjUgLjEtLjEgLjIgMCAuNCAuNHptLTIxMi41IDEzN2MyLjIgMS4yIDEuNiAxLjUgMS41IDItMTguNS0xLjQtMzMuOS03LjYtNDYuOC0yMi4yLTIxLjgtMjQuNy00MS43LTI3LjktNDguNi0yOS43IC41LS4yIC44LS40IDEuMS0uNCAxMy4xIC4xIDI2LjEgLjcgMzguOSAzLjkgMjUuMyA2LjQgMzUgMjUuNCA0MS42IDM1LjMgMy4yIDQuOCA3LjMgOC4zIDEyLjMgMTEuMXoiXX0sTHl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdpdCIsaWNvbjpbNTEyLDUxMixbXSwiZjFkMyIsIk0yMTYuMyAxNTguNGwtNzkuMyAwYy00MC0xMC41LTEzMC41LTcuOC0xMzAuNSA3NC44IDAgMzAuMSAxNSA1MS4yIDM1IDYxLTI1LjEgMjMtMzcgMzMuOC0zNyA0OS4yIDAgMTEgNC41IDIxLjEgMTcuOSAyNi44LTE0LjMgMTMuNC0yMi40IDIzLjEtMjIuNCA0MS40IDAgMzIuMSAyOCA1MC44IDEwMS42IDUwLjggNzAuOCAwIDExMS44LTI2LjQgMTExLjgtNzMuMiAwLTU4LjctNDUuMi01Ni41LTE1MS42LTYzbDEzLjQtMjEuNmMyNy4zIDcuNiAxMTguNyAxMCAxMTguNy02Ny45IDAtMTguNy03LjctMzEuNy0xNS00MS4xbDM3LjQtMi44IDAtMzQuNXpNMTUyLjkgNDAwLjNjMCAzMi4xLTEwNC45IDMyLjEtMTA0LjkgMi40IDAtOC4xIDUuMy0xNSAxMC42LTIxLjUgNzcuNyA1LjMgOTQuMyAzLjQgOTQuMyAxOS4xek0xMDIuMSAyNjUuN2MtNTIuOCAwLTUwLjUtNzEuMiAxLjItNzEuMiA0OS41IDAgNTAuOCA3MS4yLTEuMiA3MS4yek0yMzUuNCAzNjYuMmwwLTMyLjFjMjYuNy0zLjcgMjcuMi0yIDI3LjItMTFsMC0xMTkuNWMwLTguNS0yLjEtNy40LTI3LjItMTYuM2w0LjUtMzIuOSA4NC4yIDAgMCAxNjguN2MwIDYuNSAuNCA3LjMgNi41IDguMWwyMC43IDIuOCAwIDMyLjEtMTE1LjkgMHptNTIuNS0yNDQuM2MtMjMuMiAwLTM2LjYtMTMuNC0zNi42LTM2LjZzMTMuNC0zNS44IDM2LjYtMzUuOGMyMy42IDAgMzcgMTIuNiAzNyAzNS44cy0xMy40IDM2LjYtMzcgMzYuNnpNNTEyIDM1MC41Yy0xNy41IDguNS00My4xIDE2LjMtNjYuMyAxNi4zLTQ4LjQgMC02Ni43LTE5LjUtNjYuNy02NS41bDAtMTA2LjVjMC01LjQgMS00LjEtMzEuNy00LjFsMC0zNi4yYzM1LjgtNC4xIDUwLTIyIDU0LjUtNjYuM2wzOC42IDBjMCA2NS44LTEuMyA2MS44IDMuMyA2MS44bDU3LjMgMCAwIDQwLjYtNjAuNiAwIDAgOTcuMWMwIDYuOS00LjkgNTEuNCA2MC42IDI2LjhsMTEgMzUuOHoiXX0sJHl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9wdGluLW1vbnN0ZXIiLGljb246WzU3Niw1MTIsW10sImYyM2MiLCJNNTcyLjggNDIxLjRjNS42LTkuNSA0LjctMTUuMi01LjQtMTEuNi0zLTQuOS03LTkuNS0xMS4xLTEzLjggMi45LTkuNy0uNy0xNC4yLTEwLjgtOS4yLTQuNi0zLjItMTAuMy02LjUtMTUuOS05LjIgMC0xNS4xLTExLjYtMTEuNi0xNy42LTUuNy0xMC40LTEuNS0xOC43LS4zLTI2LjggNS43IC4zLTYuNSAuMy0xMyAuMy0xOS43IDEyLjYgMCA0MC4yLTExIDQ1LjktMzYuMiAxLjQtNi44IDEuNi0xMy44LS4zLTIxLjktMy0xMy41LTE0LjMtMjEuMy0yNS4xLTI1LjctLjgtNS45LTcuNi0xNC4zLTE0LjktMTUuOXMtMTIuNCA0LjktMTQuMSAxMC4zYy04LjUgMC0xOS4yIDIuOC0yMS4xIDguNC01LjQtLjUtMTEuMS0xLjQtMTYuOC0xLjkgMi43LTEuOSA1LjQtMy41IDguNC00LjYgNS40LTkuMiAxNC42LTExLjQgMjUuNy0xMS42bDAtMi44YzE5LjUtLjUgNDMtNS45IDUzLjgtMTguMSAxMi43LTEzLjggMTQuNi0zNy4zIDEyLjQtNTUuMS0yLjQtMTcuMy05LjctMzcuNi0yNC42LTQ4LjEtOC40LTUuOS0yMS42LS44LTIyLjcgOS41LTIuMiAxOS42IDEuMiAzMC0zOC42IDI1LjEtMTAuMy0yMy44LTI0LjYtNDQuNi00Mi43LTYwLTY5LjYtNTkuNy0xNjcuNy01My44LTI0NC4yLTM3LjYgMTkuNyA0LjYgNDEuMSA4LjYgNTkuNyAxNi41LTI2LjIgMi40LTUyLjcgMTEuMy03Ni4yIDIzLjItMzIuOCAxNy00NCAyOS45LTU2LjcgNDIuNCAxNC45LTIuMiAyOC45LTUuMSA0My44LTMuOC05LjcgNS40LTE4LjQgMTIuMi0yNi41IDIwLTI1LjggLjktMjMuOC01LjMtMjYuMi0yNS45LTEuMS0xMC41LTE0LjMtMTUuNC0yMi43LTkuNy0yOC4xIDE5LjktMzMuNSA3OS45LTEyLjIgMTAzLjUgMTAuOCAxMi4yIDM1LjEgMTcuMyA1NC45IDE3LjgtLjMgMS4xLS4zIDEuOS0uMyAyLjcgMTAuOCAuNSAxOS41IDIuNyAyNC42IDExLjYgMyAxLjEgNS43IDIuNyA4LjEgNC42LTUuNCAuNS0xMS4xIDEuNC0xNi41IDEuOS0zLjMtNi42LTEzLjctOC4xLTIxLjEtOC4xLTEuNi01LjctNi41LTEyLjItMTQuMS0xMC4zLTYuOCAxLjktMTQuMSAxMC0xNC45IDE1LjktMjIuNSA5LjUtMzAuMSAyNi44LTI1LjEgNDcuNiA1LjMgMjQuOCAzMyAzNi4yIDQ1LjkgMzYuMmwwIDE5LjdjLTYuNi01LTE0LjMtNy41LTI2LjgtNS43LTUuNS01LjUtMTcuMy0xMC4xLTE3LjMgNS43LTUuOSAyLjctMTEuNCA1LjktMTUuOSA5LjItOS44LTQuOS0xMy42LTEuNy0xMS4xIDkuMi00LjEgNC4zLTcuOCA4LjYtMTEuMSAxMy44LTEwLjItMy43LTExIDIuMi01LjQgMTEuNi0xLjEgMy41LTEuNiA3LTEuOSAxMC44LS41IDMxLjYgNDQuNiA2NCA3My41IDY1LjEgMTcuMyAuNSAzNC42LTguNCA0My0yMy41IDExMy4yIDQuOSAyMjYuNyA0LjEgMzQwLjIgMCA4LjEgMTUuMSAyNS40IDI0LjMgNDIuNyAyMy41IDI5LjItMS4xIDc0LjMtMzMuNSA3My41LTY1LjEgLjItMy43LS43LTcuMi0xLjctMTAuN3pNNDk5IDE2Ny40YzEuMS0zIDIuNC04LjQgMi40LTE0LjYgMC01LjkgNi44LTguMSAxNC4xLS44IDExLjEgMTEuNiAxNC45IDQwLjUgMTMuOCA1MS4xLTQuMS0xMy42LTEzLTI5LTMwLjMtMzUuN3ptLTQuNiA2LjdjMTkuNSA2LjIgMjguNiAyNy42IDI5LjcgNDguOS0xLjEgMi43LTMgNS40LTQuOSA3LjYtNS43IDUuOS0xNS40IDEwLTI2LjIgMTIuMiA0LjMtMjEuMyAuMy00Ny4zLTEyLjctNjMgNC45LS44IDEwLjktMi40IDE0LjEtNS43em0tMjQuMSA2LjhjMTMuOCAxMS45IDIwIDM5LjIgMTQuMSA2My41LTQuMSAuNS04LjEgLjgtMTEuNiAuOC0xLjktMjEuOS02LjgtNDQtMTQuMy02NC42IDMuNyAuMyA4LjEgLjMgMTEuOCAuM3pNNDcuNyAyMDNjLTEuMS0xMC41IDIuNC0zOS41IDEzLjgtNTEuMSA3LTcuMyAxNC4xLTUuMSAxNC4xIC44IDAgNi4yIDEuNCAxMS42IDIuNCAxNC42LTE3LjMgNi44LTI2LjIgMjIuMi0zMC4zIDM1Ljd6bTkuNyAyNy42Yy0xLjktMi4yLTMuNS00LjktNC45LTcuNiAxLjQtMjEuMyAxMC4zLTQyLjcgMjkuNy00OC45IDMuMiAzLjIgOS4yIDQuOSAxNC4xIDUuNy0xMyAxNS43LTE3IDQxLjYtMTIuNyA2My0xMC44LTIuMi0yMC41LTYtMjYuMi0xMi4yem00Ny45IDE0LjZjLTQuMSAwLTguMS0uMy0xMi43LS44LTQuNi0xOC42LTEuOS0zOC45IDUuNC01M2wwIC4zIDEyLjItNS4xYzQuOS0xLjkgOS43LTMuOCAxNC45LTQuOS0xMC43IDE5LjctMTcuNCA0MS4zLTE5LjggNjMuNXptMTg0LTEwLjVhNzYuMSA3Ni4xIDAgMSAxIDAtMTUyLjIgNzYuMSA3Ni4xIDAgMSAxIDAgMTUyLjJ6bTExNS42IDIyLjFjLS4zIDE3LjgtNyA0OC45LTIzIDU3LTEzLjIgNi42LTYuNS03LjUtMTYuNS01OC4xIDEzLjMgLjMgMjYuNiAuMyAzOS41IDEuMXptLTU0LTEuNmMuOCA0LjkgMy44IDQwLjMtMS42IDQxLjktMTEuNiAzLjUtNDAgNC4zLTUxLjEtMS4xLTQuMS0zLTQuNi0zNS45LTQuMy00MS4xbDAgLjNjMTguOS0uMyAzOC4xLS4zIDU3IDB6TTI3OC41IDMwOWMtMTMgMy41LTQxLjYgNC4xLTU0LjYtMS42LTYuNS0yLjctMy44LTQyLjQtMS45LTUxLjYgMTkuMi0uNSAzOC40LS41IDU3LjgtLjhsMCAuM2MxLjEgOC4zIDMuMyA1MS4yLTEuMyA1My43ek0xNzIgMjU3LjljMTIuMi0uOCAyNC42LTEuNCAzNi44LTEuNi0yLjQgMTUuNC0zIDQzLjUtNC45IDUyLjItMS4xIDYuOC00LjMgNi44LTkuNyA0LjMtMjEuOS05LjgtMjcuNi0zNS4yLTIyLjItNTQuOXptLTM1LjQgMzEuM2M3LjgtMS4xIDE1LjctMS45IDIzLjUtMi43IDEuNiA2LjIgMy44IDExLjkgNyAxNy42IDEwIDE3IDQ0IDM1LjcgNDUuMSA3IDYuMiAxNC45IDQwLjggMTIuMiA1NC45IDEwLjggMTUuNy0xLjQgMjMuOC0xLjQgMjYuOC0xNC4zIDEyLjQgNC4zIDMwLjggNC4xIDQ0IDMgMTEuMy0uOCAyMC44LS41IDI0LjYtOC45IDEuMSA1LjEgMS45IDExLjYgNC42IDE2LjggMTAuOCAyMS4zIDM3LjMgMS40IDQ2LjgtMzEuNiA4LjYgLjggMTcuNiAxLjkgMjYuNSAyLjctLjQgMS4zLTMuOCA3LjMgNy4zIDExLjYtNDcuNiA0Ny05NS43IDg3LjgtMTYzLjIgMTA3LTYzLjItMjAuOC0xMTIuMS01OS41LTE1NS45LTEwNi41IDkuNi0zLjQgMTAuNC04LjggOC0xMi41ek0xMTUgNDYxLjdjLTMuOCAxNy44LTIxLjkgMjkuNy0zOS43IDI4LjktMTkuMi0uOC00Ni41LTE3LTU5LjItMzYuNS0yLjctMzEuMSA0My44LTYxLjMgNjYuMi01NC42IDE0LjkgNC4zIDI3LjggMzAuOCAzMy41IDU0IDAgMy0uMyA1LjctLjggOC4yem0tOC43LTY2Yy0uNS0xMy41LS41LTI3LS4zLTQwLjVsLjMgMGMyLjctMS42IDUuNy0zLjggNy44LTYuNSA2LjUtMS42IDEzLTUuMSAxNS4xLTkuMiAzLjMtNy4xLTctNy41LTUuNC0xMi40IDIuNy0xLjEgNS43LTIuMiA3LjgtMy41IDI5LjIgMjkuMiA1OC42IDU2LjUgOTcuMyA3Ny0zNi44IDExLjMtNzIuNCAyNy42LTEwNS45IDQ3LTEuMi0xOC42LTcuNy0zNS45LTE2LjctNTEuOXptMzM3LjYgNjQuNmMtMTAzIDMuNS0yMDYuMiA0LjEtMzA5LjQgMCAwIC4zIDAgLjMtLjMgLjNsMC0uMyAuMyAwYzM1LjEtMjEuNiA3Mi4yLTM5LjIgMTEyLjQtNTAuOCAxMS42IDUuMSAyMyA5LjUgMzQuOSAxMy4yIDIuMiAuOCAyLjIgLjggNC4zIDAgMTQuMy00LjEgMjguNC05LjIgNDIuMi0xNS40IDQxLjUgMTEuNyA3OC44IDMxLjcgMTE1LjYgNTN6bTEwLjUtMTIuNGMtMzUuOS0xOS41LTczLTM1LjktMTExLjktNDcuNiAzOC4xLTIwIDcxLjktNDcuMyAxMDMuNS03Ni43IDIuMiAxLjQgNC42IDIuNCA3LjYgMy4yIDAgLjggLjMgMS45IC41IDIuNC00LjYgMi43LTcuOCA2LjItNS45IDEwLjMgMi4yIDMuOCA4LjYgNy42IDE1LjEgOC45IDIuNCAyLjcgNS4xIDUuMSA4LjEgNi44IDAgMTMuOC0uMyAyNy42LS44IDQxLjNsLjMtLjNjLTkuMyAxNS45LTE1LjUgMzctMTYuNSA1MS43em0xMDUuOSA2LjJjLTEyLjcgMTkuNS00MCAzNS43LTU5LjIgMzYuNS0xOS4zIC45LTQwLjUtMTMuMi00MC41LTM3IDUuNy0yMy4yIDE4LjktNDkuNyAzMy41LTU0IDIyLjctNi45IDY5LjIgMjMuNCA2Ni4yIDU0LjV6TTM3My4xIDc1LjJjLTMuOC03Mi4xLTEwMC44LTc5LjctMTI2LTIzLjUgNDQuNi0yNC4zIDkwLjMtMTUuNyAxMjYgMjMuNXpNNzUgNDA3LjFjLTE1LjcgMS42LTQ5LjUgMjUuNC00OS41IDQzLjIgMCAxMS42IDE1LjcgMTkuNSAzMi4yIDE0LjkgMTIuMi0zLjIgMzEuMS0xNy42IDM1LjktMjcuMyA2LTExLjYtMy43LTMyLjctMTguNi0zMC44ek0yOTAuOSAyMzAuOWMyOC42IDAgNTEuOS0yMS42IDUxLjktNDguNCAwLTM2LjEtNDAuNS01OC4xLTcyLjItNDQuMyA5LjUgMyAxNi41IDExLjYgMTYuNSAyMS42IDAgMjMuMy0zMy4zIDMyLTQ2LjUgMTEuMy03LjMgMzQuMSAxOS40IDU5LjggNTAuMyA1OS44ek02OC4yIDQ3NC4xYy41IDYuNSAxMi4yIDEyLjcgMjEuNiA5LjUgNi44LTIuNyAxNC42LTEwLjUgMTcuMy0xNi4yIDMtNy0xLjEtMjAtOS43LTE4LjQtOC45IDEuNi0yOS43IDE2LjctMjkuMiAyNS4xem00MzMuMi02N2MtMTQuOS0xLjktMjQuNiAxOS4yLTE4LjkgMzAuOCA0LjkgOS43IDI0LjEgMjQuMSAzNi4yIDI3LjMgMTYuNSA0LjYgMzIuMi0zLjIgMzIuMi0xNC45IDAtMTcuOC0zMy44LTQxLjYtNDkuNS00My4yek00NzkgNDQ5Yy04LjQtMS42LTEyLjQgMTEuMy05LjUgMTguNCAyLjQgNS43IDEwLjMgMTMuNSAxNy4zIDE2LjIgOS4yIDMuMiAyMS4xLTMgMjEuMy05LjUgLjktOC40LTIwLjItMjMuNS0yOS4xLTI1LjF6Il19LER5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqZW5raW5zIixpY29uOls0NDgsNTEyLFtdLCJmM2I2IiwiTTQ1NS40IDQyNWMtMS40LTExLjItMTktMjMuMS0yOC4yLTMxLjktNS4xLTUtMjktMjMuMS0zMC40LTI5LjktMS40LTYuNiA5LjctMjEuNSAxMy4zLTI4LjkgNS4xLTEwLjcgOC44LTIzLjcgMTEuMy0zMi42IDE4LjgtNjYuMSAyMC43LTE1Ni45LTYuMi0yMTEuMi0xMC4yLTIwLjYtMzguNi00OS01Ni40LTYyLjUtNDItMzEuNy0xMTkuNi0zNS4zLTE3MC4xLTE2LjYtMTQuMSA1LjItMjcuOCA5LjgtNDAuMSAxNy4xLTMzLjEgMTkuNC02OC4zIDMyLjUtNzguMSA3MS42LTI0LjIgMTAuOC0zMS41IDQxLjgtMzAuMyA3Ny44IC4yIDcgNC4xIDE1LjggMi43IDIyLjQtLjcgMy4zLTUuMiA3LjYtNi4xIDkuOC0xMS42IDI3LjctMi4zIDY0IDExLjEgODMuNyA4LjEgMTEuOSAyMS41IDIyLjQgMzkuMiAyNS4yIC43IDEwLjYgMy4zIDE5LjcgOC4yIDMwLjQgMy4xIDYuOCAxNC43IDE5IDEwLjQgMjcuNy0yLjIgNC40LTIxIDEzLjgtMjcuMyAxNy42LTIxLjEgMTIuNS0zNi40IDIwLjMtNTUuOSAzNC4zLTEyLjYgOS0zMi4zIDEwLjItMjkuMiAzMS4xIDIuMSAxNC4xIDEwLjEgMzEuNiAxNC43IDQ1LjggLjcgMiAxLjQgNC4xIDIuMSA2bDQyMiAwYzQuOS0xNS4zIDkuNy0zMC45IDE0LjYtNDcuMiAzLjQtMTEuNCAxMC4yLTI3LjggOC43LTM5Ljd6TTE3NC4yIDMzLjdjMS44LS41IDMuNCAuNyA0LjkgMi40LS4yIDUuMi01LjQgNS4xLTguOSA2LjgtNS40IDYuNy0xMy40IDkuOC0yMCAxNy4yLTYuOCA3LjUtMTQuNCAyNy43LTIzLjQgMzAtNC41IDEuMS05LjctLjgtMTMuNi0uNS0xMC40IC43LTE3LjcgNi0yOC4zIDcuNSAxMy42LTI5LjkgNTYuMS01NCA4OS4zLTYzLjR6TTY5LjQgMTI3LjNjMTMuNS0xNC45IDMyLjEtMjQuMSA1NC44LTI1LjkgMTEuNyAyOS43LTguNCA2NS0uOSA5Ny42IDIuMyA5LjkgMTAuMiAyNS40LTIuNCAyNS43IC4zLTI4LjMtMzQuOC00Ni4zLTYxLjMtMjkuNi0xLjgtMjEuNS00LjktNTEuNyA5LjgtNjcuOHptMzYuNyAyMDAuMmMtMS00LjEtMi43LTEyLjktMi4zLTE1LjEgMS42LTguNyAxNy4xLTEyLjUgMTEtMjQuNy0xMS4zLS4xLTEzLjggMTAuMi0yNC4xIDExLjMtMjYuNyAyLjYtNDUuNi0zNS40LTQ0LjQtNTguNCAxLTE5LjUgMTcuNi0zOC4yIDQwLjEtMzUuOCAxNiAxLjggMjEuNCAxOS4yIDI0LjUgMzQuNyA5LjIgLjUgMjIuNS0uNCAyNi45LTcuNi0uNi0xNy41LTguOC0zMS42LTguMi00Ny43IDEtMzAuMyAxNy41LTU3LjYgNC44LTg3LjQgMTMuNi0zMC45IDUzLjUtNTUuMyA4My4xLTcwIDM2LjYtMTguMyA5NC45LTMuNyAxMjkuMyAxNS44IDE5LjcgMTEuMSAzNC40IDMyLjcgNDguMyA1MC43LTE5LjUtNS44LTM2LjEgNC4yLTMzLjEgMjAuMyAxNi4zLTE0LjkgNDQuMi0uMiA1Mi41IDE2LjQgNy45IDE1LjggNy44IDM5LjMgOSA2Mi44IDIuOSA1Ny0xMC40IDExNS45LTM5LjEgMTU3LjEtNy43IDExLTE0LjEgMjMtMjQuOSAzMC42LTI2IDE4LjItNjUuNCAzNC43LTk5LjIgMjMuNC00NC43LTE1LTY1LTQ0LjgtODkuNS03OC44IC43IDE4LjcgMTMuOCAzNC4xIDI2LjggNDguNCAxMS4zIDEyLjUgMjUgMjYuNiAzOS43IDMyLjQtMTIuMy0yLjktMzEuMS0zLjgtMzYuMiA3LjItMjguNi0xLjktNTUuMS00LjgtNjguNy0yNC4yLTEwLjYtMTUuNC0yMS40LTQxLjQtMjYuMy02MS40em0yMjIgMTI0LjFjNC4xLTMgMTEuMS0yLjkgMTcuNC0zLjYtNS40LTIuNy0xMy0zLjctMTkuMy0yLjItLjEtNC4yLTItNi44LTMuMi0xMC4yIDEwLjYtMy44IDM1LjUtMjguNSA0OS42LTIwLjMgNi43IDMuOSA5LjUgMjYuMiAxMC4xIDM3IC40IDktLjggMTgtNC41IDIyLjgtMTguOC0uNi0zNS44LTIuOC01MC43LTcgLjktNi4xLTEtMTIuMSAuNi0xNi41em0tMTcuMi0yMGMtMTYuOCAuOC0yNi0xLjItMzguMy0xMC44IC4yLS44IDEuNC0uNSAxLjUtMS40IDE4IDggNDAuOC0zLjMgNTktNC45LTcuOSA1LjEtMTQuNiAxMS42LTIyLjIgMTcuMXptLTEyLjEgMzMuMmMtMS42LTkuNC0zLjUtMTItMi44LTIwLjIgMjUtMTYuNiAyOS43IDI4LjYgMi44IDIwLjJ6TTE5NC4zIDQzOC42Yy0xMS42LS43LTQ4LjEtMTQtMzguNS0yMy43IDkuNCA2LjUgMjcuNSA0LjkgNDEuMyA3LjMgLjggNC40LTIuOCAxMC4yLTIuOCAxNi40ek0yNiA0OTcuMWMtNC4zLTEyLjctOS4yLTI1LjEtMTQuOC0zNi45IDMwLjgtMjMuOCA2NS4zLTQ4LjkgMTAyLjItNjMuNSAyLjgtMS4xIDIzLjIgMjUuNCAyNi4yIDI3LjYgMTYuNSAxMS43IDM3IDIxIDU2LjIgMzAuMiAxLjIgOC44IDMuOSAyMC4yIDguNyAzNS41IC43IDIuMyAxLjQgNC43IDIuMiA3LjJsLTE4MC43IDAgMC0uMXptMjQwLjYgNS43bC0uOCAwYy4zLS4yIC41LS40IC44LS41bDAgLjV6bTcuNS01LjdjMi4xLTEuNCA0LjMtMi44IDYuNC00LjMgMS4xIDEuNCAyLjIgMi44IDMuMiA0LjNsLTkuNiAwem0xNS4xLTI0LjdjLTEwLjggNy4zLTIwLjYgMTguMy0zMy4zIDI1LjItNiAzLjMtMjcgMTEuNy0zMy40IDEwLjItMy42LS44LTMuOS01LjMtNS40LTkuNS0zLjEtOS0xMC4xLTIzLjQtMTAuOC0zNy0uOC0xNy4yLTIuNS00NiAxNi00Mi40IDE0LjkgMi45IDMyLjMgOS43IDQzLjkgMTYuMSA3LjEgMy45IDExLjEgOC42IDIxLjkgOS41LS4xIDEuNC0uMSAyLjgtLjIgNC4zLTUuOSAzLjktMTUuMyAzLjgtMjEuOCA3LjEgOS41IC40IDE3IDIuNyAyMy41IDUuOS0uMSAzLjQtLjMgNy0uNCAxMC42em01My40IDI0LjdsLTE0IDBjLS4xLTMuMi0yLjgtNS44LTYuMS01LjhzLTUuOSAyLjYtNi4xIDUuOGwtMTcuNCAwYy0yLjgtNC40LTUuNy04LjYtOC45LTEyLjUgMi4xLTIuMiA0LTQuNyA2LTYuOSA5IDMuNyAxNC44LTQuOSAyMS43LTQuMiA3LjkgLjggMTQuMiAxMS43IDI1LjQgMTFsLS42IDEyLjZ6bTguNyAwYy4yLTQgLjQtNy44IC42LTExLjUgMTUuNi03LjMgMjkgMS4zIDM1LjcgMTEuNWwtMzYuMyAwem04My40LTM3Yy0yLjMgMTEuMi01LjggMjQtOS45IDM3LjEtLjItLjEtLjQtLjEtLjYtLjFsLTI3LjkgMGMuNi0xLjEgMS4yLTIuMiAxLjktMy4zLTIuNi02LjEtOS04LjctMTAuOS0xNS41IDEyLjEtMjIuNyA2LjUtOTMuNC0yNC4yLTc4LjUgNC4zLTYuMyAxNS42LTExLjUgMjAuOC0xOS4zIDEzIDEwLjQgMjAuOCAyMC4zIDMzLjIgMzEuNCA2LjggNiAyMCAxMy4zIDIxLjQgMjMuMSAuOCA1LjUtMi42IDE4LjktMy44IDI1LjF6TTE5MC41IDEzMC41YzUuNC0xNC45IDI3LjItMzQuNyA0NS0zMiA3LjcgMS4yIDE4IDguMiAxMi4yIDE3LjctMzAuMi03LTQ1LjIgMTIuNi01NC40IDMzLjEtOC4xLTItNC45LTEzLjEtMi44LTE4Ljh6bTE4NC4xIDYzLjFjOC4yLTMuNiAyMi40LS43IDI5LjYtNS4zLTQuMi0xMS41LTEwLjMtMjEuNC05LjMtMzcuNyAuNSAwIDEgMCAxLjQgLjEgNi44IDE0LjIgMTIuNyAyOS4yIDIxLjQgNDEuNy01LjcgMTMuNS00My42IDI1LjQtNDMuMSAxLjJ6bS05Ni44IDIuN2MtNi44LTEwLjktMTktMzIuNS0xNC41LTQ1LjMgNi41IDExLjkgOC42IDI0LjQgMTcuOCAzMy4zIDQuMSA0IDEyLjIgOSA4LjIgMjAuMi0uOSAyLjctNy44IDguNi0xMS43IDkuNy0xNC40IDQuMy00Ny45IC45LTM2LjYtMTcuMSAxMS45IC43IDI3LjkgNy44IDM2LjgtLjh6bTI3LjMgNzBjMy44IDYuNiAxLjQgMTguNyAxMi4xIDIwLjYgMjAuMiAzLjQgNDMuNi0xMi4zIDU4LjEtMTcuOCA5LTE1LjItLjgtMjAuNy04LjktMzAuNS0xNi42LTIwLTM4LjgtNDQuOC0zOC03NC43IDYuNy00LjkgNy4zIDcuNCA4LjIgOS43IDguNyAyMC4zIDMwLjQgNDYuMiA0Ni4zIDYzLjUgMy45IDQuMyAxMC4zIDguNCAxMSAxMS4yIDIuMSA4LjItNS40IDE4LTQuNSAyMy41LTIxLjcgMTMuOS00NS44IDI5LjEtODEuNCAyNS42LTcuNC02LjctMTAuMy0yMS40LTIuOS0zMS4xem0tMjAxLjMtOS4yYy02LjgtMy45LTguNC0yMS0xNi40LTIxLjQtMTEuNC0uNy05LjMgMjIuMi05LjMgMzUuNS03LjgtNy4xLTkuMi0yOS4xLTMuNS00MC4zLTYuNi0zLjItOS41IDMuNi0xMy4xIDUuOSA0LjctMzQuMSA0OS44LTE1LjggNDIuMyAyMC4zem0yOTkuNiAyOC44Yy0xMC4xIDE5LjItMjQuNCA0MC40LTU0IDQxLS42LTYuMi0xLjEtMTUuNiAwLTE5LjQgMjIuNy0yLjIgMzYuNi0xMy43IDU0LTIxLjZ6TTI2MS41IDI5OC4zYzE4LjkgOS45IDUzLjYgMTEgNzkuMyAxMC4yIDEuNCA1LjYgMS4zIDEyLjYgMS40IDE5LjQtMzMgMS44LTcyLTYuNC04MC43LTI5LjZ6TTM1My43IDM0NWMtMS43IDQuMy01LjMgOS4zLTkuOCAxMS4xLTEyLjEgNC45LTQ1LjYgOC43LTYyLjQtLjMtMTAuNy01LjctMTcuNS0xOC41LTIzLjQtMjYtMi44LTMuNi0xNi45LTEyLjktLjItMTIuOSAxMy4xIDMyLjcgNTggMjkgOTUuOCAyOC4xeiJdfSxBeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2xpZGVzaGFyZSIsaWNvbjpbNTEyLDUxMixbXSwiZjFlNyIsIk0xODcuOSAxNTMuN2MtMzQgMC02MS43IDI1LjctNjEuNyA1Ny43IDAgMzEuNyAyNy43IDU3LjcgNjEuNyA1Ny43czYxLjctMjYgNjEuNy01Ny43YzAtMzItMjcuNy01Ny43LTYxLjctNTcuN3ptMTQzLjQgMGMtMzQgMC02MS43IDI1LjctNjEuNyA1Ny43IDAgMzEuNyAyNy43IDU3LjcgNjEuNyA1Ny43IDM0LjMgMCA2MS43LTI2IDYxLjctNTcuNyAuMS0zMi0yNy40LTU3LjctNjEuNy01Ny43em0xNTYuNiA5MGwtNiA0LjMgMC0xOTguM2MwLTI3LjQtMjAuNi00OS43LTQ2LTQ5LjdMNzYuOCAwYy0yNS40IDAtNDYgMjIuMy00NiA0OS43bDAgMTk4LjNjLTItMS40LTQuMy0yLjktNi4zLTQuMy0xNS4xLTEwLjYtMjUuMSA0LTE2IDE3LjcgMTguMyAyMi42IDUzLjEgNTAuMyAxMDYuMyA3Mi01Ni4zIDE5MS43IDEzNy40IDIyMi4zIDEzNC4zIDEyNC4xIDAtLjcgLjMtNTYuNiAuMy05Ni42IDUuMSAxLjEgOS40IDIuMyAxMy43IDMuMSAwIDM5LjcgLjMgOTIuOCAuMyA5My41LTMuMSA5OC4zIDE5MC42IDY3LjcgMTM0LjMtMTI0IDUzLjEtMjEuNyA4OC00OS40IDEwNi4zLTcyIDkuMS0xMy44LS45LTI4LjMtMTYuMS0xNy44em0tMzAuNSAxOS4yYy02OC45IDM3LjQtMTI4LjMgMzEuMS0xNjAuNiAyOS43LTIzLjctLjktMzIuNiA5LjEtMzMuNyAyNC45LTEwLjMtNy43LTE4LjYtMTUuNS0yMC4zLTE3LjEtNS4xLTUuNC0xMy43LTgtMjcuMS03LjctMzEuNyAxLjEtODkuNyA3LjQtMTU3LjQtMjhsMC0xOTIuNGMwLTM0LjkgOC45LTQ1LjcgNDAuNi00NS43bDMxNy43IDBjMzAuMyAwIDQwLjkgMTIuOSA0MC45IDQ1LjdsMCAxOTAuNi0uMSAweiJdfSxFeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidWJlciIsaWNvbjpbNDQ4LDUxMixbXSwiZjQwMiIsIk00MTQuMSAzMkwzMy45IDMyQzE1LjIgMzIgMCA0Ny4yIDAgNjUuOUwwIDQ0NmMwIDE4LjggMTUuMiAzNCAzMy45IDM0TDQxNCA0ODBjMTguNyAwIDMzLjktMTUuMiAzMy45LTMzLjlsMC0zODAuMkM0NDggNDcuMiA0MzIuOCAzMiA0MTQuMSAzMnpNMjM3LjYgMzkxLjFDMTYzIDM5OC42IDk2LjQgMzQ0LjIgODguOSAyNjkuNmw5NC40IDAgMCAyMC40YzAgMy43IDMgNi44IDYuOCA2LjhsNjcuOSAwYzMuNyAwIDYuOC0zIDYuOC02LjhsMC02Ny45YzAtMy43LTMtNi44LTYuOC02LjhsLTY3LjkgMGMtMy43IDAtNi44IDMtNi44IDYuOGwwIDIwLjQtOTQuNCAwYzctNjkuNCA2NS40LTEyMi4yIDEzNS4xLTEyMi4yczEyOC4xIDUyLjggMTM1LjEgMTIyLjJjNy41IDc0LjUtNDYuOSAxNDEuMS0xMjEuNSAxNDguNnoiXX0sUHl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRpZ2l0YWwtb2NlYW4iLGljb246WzUxMiw1MTIsW10sImYzOTEiLCJNODcgNDgxLjhsNzMuNyAwIDAtNzMuNi03My43IDAgMCA3My42ek0yNS40IDM0Ni42bDAgNjEuNiA2MS42IDAgMC02MS42LTYxLjYgMHpNNDkxLjYgMTc2LjlDNDY4LjYgMTAyLjcgNDA5LjIgNDMuNiAzMzUgMjAuMyAxNjQuOS0zMi44IDggOTMuNyA4IDI1NS45bDk1LjggMGMwLTEwMS44IDEwMS0xODAuNSAyMDguMS0xNDEuNyAzOS43IDE0LjMgNzEuNSA0Ni4xIDg1LjggODUuNyAzOS4xIDEwNy0zOS43IDIwNy44LTE0MS40IDIwOGwwIC4zLS4zIDAgMCA5NS44YzE2Mi42IDAgMjg4LjgtMTU2LjggMjM1LjYtMzI3LjF6bS0yMzUuMyAyMzFsMC05NS4zLTk1LjYgMCAwIDk1LjYgOTUuMyAwIDAtLjMgLjMgMHoiXX0sSXl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNvdW5kY2xvdWQiLGljb246WzY0MCw1MTIsW10sImYxYmUiLCJNNjQwLjIgMjk4LjZjLTEuMyAyMy4xLTExLjUgNDQuOC0yOC40IDYwLjVzLTM5LjIgMjQuNC02Mi4zIDI0LjFsLTIxOCAwYy00LjggMC05LjQtMi0xMi44LTUuNHMtNS4zLTgtNS4zLTEyLjhsMC0yMzQuOGMtLjItNCAuOS04IDMuMS0xMS40czUuMy02LjEgOS03LjdjMCAwIDIwLjEtMTMuOSA2Mi4zLTEzLjkgMjUuOCAwIDUxLjEgNi45IDczLjMgMjAuMSAxNy4zIDEwLjIgMzIuMyAyMy44IDQ0LjEgNDAuMXMyMCAzNC44IDI0LjIgNTQuNGM3LjUtMi4xIDE1LjMtMy4yIDIzLjEtMy4yIDExLjctLjEgMjMuMyAyLjIgMzQuMiA2LjdzMjAuNSAxMS4zIDI4LjcgMTkuNyAxNC42IDE4LjMgMTguOSAyOS4zIDYuMyAyMi42IDUuOSAzNC4zem0tMzU0LTE1My41Yy4xLTEgMC0yLS4zLTIuOXMtLjgtMS44LTEuNS0yLjYtMS41LTEuMy0yLjQtMS43Yy0xLjgtLjgtNC0uOC01LjggMC0uOSAuNC0xLjcgMS0yLjQgMS43cy0xLjIgMS42LTEuNSAyLjYtLjQgMS45LS4zIDIuOWMtNiA3OC45LTEwLjYgMTUyLjkgMCAyMzEuNiAuMiAxLjcgMSAzLjMgMi4zIDQuNSAyLjYgMi40IDYuOCAyLjQgOS40IDAgMS4zLTEuMiAyLjEtMi44IDIuMy00LjUgMTEuMy03OS40IDYuNi0xNTIgMC0yMzEuNmwuMiAwem0tNDQgMjcuM2MtLjItMS44LTEuMS0zLjUtMi40LTQuN3MtMy4xLTEuOS01LTEuOS0zLjYgLjctNSAxLjktMi4yIDIuOS0yLjQgNC43Yy03LjkgNjcuOS03LjkgMTM2LjUgMCAyMDQuNCAuMyAxLjggMS4yIDMuNCAyLjUgNC41czMuMSAxLjggNC44IDEuOCAzLjUtLjYgNC44LTEuOCAyLjItMi44IDIuNS00LjVjOC44LTY3LjggOC44LTEzNi41IC4xLTIwNC40bC4xIDB6bS00NC4zLTYuOWMtLjItMS44LTEtMy40LTIuMy00LjZzLTMtMS44LTQuOC0xLjgtMy41IC43LTQuOCAxLjgtMi4xIDIuOC0yLjMgNC42Yy02LjcgNzItMTAuMiAxMzkuMyAwIDIxMS4xIDAgMS45IC43IDMuNyAyLjEgNXMzLjEgMi4xIDUgMi4xIDMuNy0uNyA1LTIuMSAyLjEtMy4xIDIuMS01YzEwLjUtNzIuOCA3LjMtMTM4LjIgLjEtMjExLjFsLS4xIDB6bS00NCAyMC42YzAtMS45LS44LTMuOC0yLjEtNS4ycy0zLjItMi4xLTUuMi0yLjEtMy44IC44LTUuMiAyLjEtMi4xIDMuMi0yLjEgNS4yYy04LjEgNjMuMy04LjEgMTI3LjUgMCAxOTAuOCAuMiAxLjggMSAzLjQgMi40IDQuNnMzLjEgMS45IDQuOCAxLjkgMy41LS43IDQuOC0xLjkgMi4yLTIuOCAyLjQtNC42YzguOC02My4zIDguOS0xMjcuNSAuMy0xOTAuOGwtLjEgMHptLTQ0LjUgNDcuNmMwLTEuOS0uOC0zLjgtMi4xLTUuMXMtMy4yLTIuMS01LjEtMi4xLTMuOCAuOC01LjEgMi4xLTIuMSAzLjItMi4xIDUuMWMtMTAuNSA0OS4yLTUuNSA5My45IC40IDE0My42IC4zIDEuNiAxLjEgMy4xIDIuMyA0LjJzMi44IDEuNyA0LjUgMS43IDMuMi0uNiA0LjUtMS43IDIuMS0yLjUgMi4zLTQuMmM2LjYtNTAuNCAxMS42LTk0LjEgLjQtMTQzLjZ6bS00NC4xLTcuNWMtLjItMS44LTEuMS0zLjUtMi40LTQuOHMtMy4yLTEuOS01LTEuOS0zLjYgLjctNSAxLjktMi4yIDIuOS0yLjQgNC44Yy05LjMgNTAuMi02LjIgOTQuNCAuMyAxNDQuNSAuNyA3LjYgMTMuNiA3LjUgMTQuNCAwIDcuMi01MC45IDEwLjUtOTMuOCAuMy0xNDQuNWwtLjIgMHpNMjAuNyAyNTAuOGMtLjItMS44LTEuMS0zLjUtMi40LTQuOHMtMy4yLTEuOS01LTEuOS0zLjYgLjctNSAxLjktMi4zIDIuOS0yLjQgNC44Yy04LjUgMzMuNy01LjkgNjEuNiAuNiA5NS40IC4yIDEuNyAxIDMuMyAyLjMgNC40czIuOSAxLjggNC43IDEuOCAzLjQtLjYgNC43LTEuOCAyLjEtMi43IDIuMy00LjRjNy41LTM0LjUgMTEuMi02MS44IC40LTk1LjRsLS4yIDB6Il19LE55dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZmlnbWEiLGljb246WzQ0OCw1MTIsW10sImU3ZTQiLCJNMzg0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMHpNMTczLjcgOTZjLTMzIDAtNTkuOCAyNi44LTU5LjggNTkuOCAwIDIxIDEwLjggMzkuNCAyNy4yIDUwLjEtMTYuNCAxMC43LTI3LjIgMjkuMS0yNy4yIDUwLjFzMTAuOCAzOS41IDI3LjIgNTAuMWMtMTYuNCAxMC43LTI3LjIgMjkuMS0yNy4yIDUwLjEgMCAzMy4xIDI3LjEgNTkuOCA2MC4xIDU5LjggMzMuMiAwIDYwLjYtMjYuOSA2MC42LTYwLjNsMC01NS43YzEwLjYgOS44IDI0LjggMTUuOCA0MC40IDE1LjhsMS4xIDBjMzMgMCA1OS44LTI2LjggNTkuOC01OS44IDAtMjEtMTAuOC0zOS41LTI3LjItNTAuMSAxNi40LTEwLjcgMjcuMi0yOS4xIDI3LjItNTAuMSAwLTMzLTI2LjgtNTkuOC01OS44LTU5LjhMMTczLjcgOTZ6bTQxLjYgMjE5LjhsMCAzOS45YzAgMjIuNi0xOC42IDQxLTQxLjMgNDEtMjIuNCAwLTQwLjctMTguMi00MC43LTQwLjUgMC0yMi4zIDE4LjEtNDAuNCA0MC4zLTQwLjRsNDEuNyAwem0wLTEwMC4zbDAgODAuOS00MS43IDBjLTIyLjMtLjEtNDAuMy0xOC4yLTQwLjMtNDAuNSAwLTIyLjMgMTguMS00MC41IDQwLjUtNDAuNWw0MS42IDB6bTYwLjggMGMyMi4zIDAgNDAuNSAxOC4xIDQwLjUgNDAuNXMtMTguMSA0MC41LTQwLjUgNDAuNWwtMS4xIDBjLTIyLjMgMC00MC40LTE4LjEtNDAuNC00MC41czE4LjEtNDAuNSA0MC40LTQwLjVsMS4xIDB6bS02MC44LTE5LjNsLTQxLjYgMGMtMjIuMyAwLTQwLjUtMTguMS00MC41LTQwLjRzMTguMS00MC41IDQwLjUtNDAuNWw0MS42IDAgMCA4MC45em02MC44LTgwLjljMjIuMyAwIDQwLjUgMTguMSA0MC41IDQwLjVzLTE4LjEgNDAuNC00MC41IDQwLjRsLTQxLjUgMCAwLTgwLjkgNDEuNSAweiJdfSxSeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1zYSIsaWNvbjpbNTEyLDUxMixbXSwiZjRlZiIsIk0yNTUuNiA4QzM5Ny40IDggNTA0IDExOC4xIDUwNCAyNTYgNTA0IDQwMy4xIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjYgNTA0IDggMzk0LjUgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6bS44IDQ0LjdjLTExOC4yIDAtMjAzLjcgOTcuOS0yMDMuNyAyMDMuMyAwIDEwOS44IDkxLjIgMjAyLjggMjAzLjcgMjAyLjggMTAzLjIgMCAyMDIuOC04MS4xIDIwMi44LTIwMi44IC4xLTExMy44LTkwLjItMjAzLjMtMjAyLjgtMjAzLjN6TTE0NS43IDIyMWMxMy04My45IDgwLjUtOTUuNyAxMDguOS05NS43IDk5LjggMCAxMjcuNSA4Mi41IDEyNy41IDEzNC4yIDAgNjMuNi00MSAxMzIuOS0xMjguOSAxMzIuOS0zOC45IDAtOTkuMS0yMC0xMDkuNC05N2w2Mi41IDBjMS41IDMwLjEgMTkuNiA0NS4yIDU0LjUgNDUuMiAyMy4zIDAgNTgtMTguMiA1OC04Mi44IDAtODIuNS00OS4xLTgwLjYtNTYuNy04MC42LTMzLjEgMC01MS43IDE0LjYtNTUuOCA0My44bDE4LjIgMC00OS4yIDQ5LjItNDktNDkuMiAxOS40IDB6Il19LE95dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjaHJvbWUiLGljb246WzUxMiw1MTIsW10sImYyNjgiLCJNMCAyNTZjMC00Ni42IDEyLjUtOTAuNCAzNC4zLTEyOC45TDE0NC4xIDMxOC4zYzIxLjkgMzkuMiA2My44IDY1LjcgMTExLjkgNjUuNyAxNC4zIDAgMjcuMS0yLjMgNDAuOC02LjZMMjIwLjUgNTA5LjZDOTUuOSA0OTIuMyAwIDM4NS4zIDAgMjU2em0zNjUuMSA2NS42YzEyLjMtMTkuMiAxOC45LTQyLjUgMTguOS02NS42IDAtMzguMi0xNi44LTcyLjUtNDMuMy05NmwxNTIuNyAwYzEyIDI5LjYgMTguNiA2Mi4xIDE4LjYgOTYgMCAxNDEuNC0xMTQuNiAyNTUuMS0yNTYgMjU2TDM2NS4xIDMyMS42ek00NzcuOCAxMjhMMjU2IDEyOGMtNjIuOSAwLTExMy43IDQ0LjEtMTI1LjUgMTAyLjdMNTQuMiA5OC41QzEwMSAzOC41IDE3NCAwIDI1NiAwIDM1MC44IDAgNDMzLjUgNTEuNSA0NzcuOCAxMjh6TTM0NCAyNTZhODggODggMCAxIDEgLTE3NiAwIDg4IDg4IDAgMSAxIDE3NiAweiJdfSxGeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidHJhZGUtZmVkZXJhdGlvbiIsaWNvbjpbNTEyLDUxMixbXSwiZjUxMyIsIk0yNTYgOC44YTI0Ny4yIDI0Ny4yIDAgMSAwIDAgNDk0LjQgMjQ3LjIgMjQ3LjIgMCAxIDAgMC00OTQuNHptMCAxMS42YTIzNS42IDIzNS42IDAgMSAxIDAgNDcxLjIgMjM1LjYgMjM1LjYgMCAxIDEgMC00NzEuMnpNNDExLjEgMTYzLjFsMC00Ni44LTE5My44IDAgMCA4MS43LTE1NS4xIDAgMzYuNyA0NiAxMTcuNyAwIDAgMTk2LjggNDguOCAwIDAtMTk1LjggODMuMyAwIDAtNDctODMuMyAwIDAtMzQuOCAxNDUuNyAwIDAtLjF6bS03My4zIDQ1LjFsMCAyMy45LTgyLjkgMCAwIDE5Ny40LTI2LjggMCAwLTE5Ny40LTEyMy44IDAtMjAuMS0yMy45IDE0My45IDAgMC04MC42IDE3MS44IDAgMCAyNC40LTE0NSAwIDAgNTYuMiA4Mi45IDB6bS0xNjEuMy02OWwtMTIuNC0yMC43IDIuMSAyMy44LTIzLjUgNS40IDIzLjMgNS40LTIuMSAyNCAxMi4zLTIwLjUgMjIuMiA5LjUtMTUuNy0xOC4xIDE1LjgtMTguMS0yMiA5LjN6bS0yOS42LTE5LjdsOS4zLTExLjUtMTIuNyA1LjktOC0xMi40IDEuNyAxMy45LTE0LjMgMy44IDEzLjcgMi43LS44IDE0LjcgNi44LTEyLjIgMTMuOCA1LjMtOS41LTEwLjJ6TTMxMi4zIDI2NC43bC0xMy4xIDUuNi03LjMtMTIuMiAxLjMgMTQuMi0xMy45IDMuMiAxMy45IDMuMi0xLjIgMTQuMiA3LjMtMTIuMiAxMy4xIDUuNS05LjQtMTAuNyA5LjMtMTAuOHptMTA2LjktNzcuMmwtMjAuOSA5LjEtMTItMTkuNiAyLjIgMjIuNy0yMi4zIDUuNCAyMi4yIDQuOS0xLjggMjIuOSAxMS41LTE5LjYgMjEuMiA4LjgtMTUuMS0xNyAxNS0xNy42ek0yNTYgMjkuOWEyMjYuMSAyMjYuMSAwIDEgMCAwIDQ1Mi4yIDIyNi4xIDIyNi4xIDAgMSAwIDAtNDUyLjJ6TTM1MC42IDE5NmwwIDUxLTgzLjMgMCAwIDE5NS43LTUyLjcgMCAwLTE5Ni44LTExNi43IDAtNDAtNDkuOSAxNTcuNCAwIDAtODEuNiAxOTcuOCAwIDAgNTAuNy0xNDUuNyAwIDAgMzAuOSA4My4yIDB6TTI1NiA0My4yYzYwLjMgMCAxMTQuOCAyNSAxNTMuNiA2NS4ybC0xOTkuMSAwIDAgODEuNi0xNTcuNCAwQzgxLjEgMTA0LjggMTYxLjQgNDMuMiAyNTYgNDMuMnptMCA0MjcuMWMtMTE3LjkgMC0yMTMuNi05NS42LTIxMy42LTIxMy41IDAtMjEuMiAzLjEtNDEuOCA4LjktNjEuMWw0My44IDU2LjMgMTE0LjcgMCAwIDE5Ni44IDY0LjYgMCAwLTE5NS44IDgzLjMgMCAwLTYyLjctODMuMiAwIDAtMTkuMiAxNDUuNiAwIDAtNTAuOGMzMC44IDM3IDQ5LjMgODQuNiA0OS4zIDEzNi41IC4xIDExNy45LTk1LjUgMjEzLjUtMjEzLjQgMjEzLjV6TTE4Ni44IDI3NWwtMTEtMjEuNCAxLjcgMjQuNS0yMy43IDMuOSAyMy44IDUuOS0zLjcgMjMuOCAxMy0yMC45IDIxLjUgMTAuOC0xNS44LTE4LjggMTYuOS0xNy4xLTIyLjcgOS4zeiJdfSxCeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmFhZGluIixpY29uOls0NDgsNTEyLFtdLCJmNDA4IiwiTTIyNC41IDE0MC43QzIyNiAxMjMuMSAyMjkuNCA4OCAyNzQuMyA4OGw5OC42IDBjMjAuNyAwIDMyLjEtNy44IDMyLjEtMjEuNmwwLTEyLjNjMC0xMi4yIDkuMy0yMi4xIDIxLjUtMjIuMVM0NDggNDEuOSA0NDggNTQuMWwwIDM2LjVjMCA0Mi45LTIxLjUgNjItNjYuOCA2MmwtMTAwLjUgMGMtMzAuMSAwLTMzIDE0LjctMzMgMjcuMSAwIDEuMy0uMSAyLjUtLjIgMy43LS43IDEyLjMtMTAuOSAyMi4yLTIzLjQgMjIuMnMtMjIuNy05LjgtMjMuNC0yMi4yYy0uMS0xLjItLjItMi40LS4yLTMuNyAwLTEyLjMtMy0yNy4xLTMzLTI3LjFsLTEwMC43IDBDMjEuNSAxNTIuNiAwIDEzMy41IDAgOTAuNkwwIDU0LjFDMCA0MS45IDkuNCAzMiAyMS42IDMyczIxLjUgOS45IDIxLjUgMjIuMWwwIDEyLjNDNDMuMSA4MC4yIDU0LjUgODggNzUuMiA4OGw5OC42IDBjNDQuOCAwIDQ4LjMgMzUuMSA0OS44IDUyLjdsLjkgMHpNMjI0IDQ1NmMxMS41IDAgMjEuNC03IDI1LjctMTYuMyAxLjEtMS44IDk3LjEtMTY5LjYgOTguMi0xNzEuNCAxMS45LTE5LjYtMy4yLTQ0LjMtMjcuMi00NC4zLTEzLjkgMC0yMy4zIDYuNC0yOS44IDIwLjNMMjI0IDM2MiAxNTcuMSAyNDQuM2MtNi40LTEzLjktMTUuOS0yMC4zLTI5LjgtMjAuMy0yNCAwLTM5LjEgMjQuNi0yNy4yIDQ0LjMgMS4xIDEuOSA5Ny4xIDE2OS42IDk4LjIgMTcxLjQgNC4zIDkuMyAxNC4yIDE2LjMgMjUuNyAxNi4zeiJdfSxIeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGV2aWFudGFydCIsaWNvbjpbMzIwLDUxMixbXSwiZjFiZCIsIk0zMjAgOTMuMmwtOTguMiAxNzkuMSA3LjQgOS41IDkwLjggMCAwIDEyNy43LTE2MC45IDAtMTMuNSA5LjItNDMuNyA4NGMtLjMgMC04LjYgOC42LTkuMiA5LjJsLTkyLjcgMCAwLTkzLjIgOTMuMi0xNzkuNC03LjQtOS4yLTg1LjggMCAwLTEyNy42IDE1NiAwIDEzLjUtOS4yIDQzLjctODRjLjMgMCA4LjYtOC42IDkuMi05LjJsOTcuNiAwIDAgOTMuMXoiXX0sRGI9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWVkaXVtIixpY29uOls0NDgsNTEyLFs2MjQwNywibWVkaXVtLW0iXSwiZjIzYSIsIk0zNjkuNCAzMmM0My40IDAgNzguNiAzNS4yIDc4LjYgNzguNmwwIDgzLjhjLTEuOS0uMS0zLjgtLjItNS43LS4ybC0uNCAwYy0xMCAwLTIyLjMgMi40LTMxLjEgNi44LTEwIDQuNi0xOC43IDExLjUtMjYgMjAuNi0xMS44IDE0LjYtMTguOSAzNC4zLTIwLjYgNTYuNC0uMSAuNy0uMSAxLjMtLjIgMnMtLjEgMS4yLS4xIDEuOWMtLjEgMS4yLS4xIDIuNC0uMSAzLjYgMCAxLjktLjEgMy44IDAgNS44IDEuMiA1MC4xIDI4LjIgOTAuMiA3Ni4zIDkwLjIgMi43IDAgNS4zLS4xIDcuOS0uNGwwIDIwLjRjMCA0My40LTM1LjIgNzguNi03OC42IDc4LjZMNzguNiA0ODBDMzUuMiA0ODAgMCA0NDQuOCAwIDQwMS40TDAgMTEwLjZDMCA2Ny4yIDM1LjIgMzIgNzguNiAzMmwyOTAuOCAwek04Mi4zIDEzOC45bC4zIC4xYzEzLjIgMyAxOS44IDcuNCAxOS44IDIzLjRsMCAxODcuMmMwIDE2LTYuNyAyMC40LTE5LjkgMjMuNGwtLjMgLjEgMCAyLjggNTIuOCAwIDAtMi44LS4zLS4xYy0xMy4yLTMtMTkuOS03LjQtMTkuOS0yMy40bDAtMTc2LjMgODYuMSAyMDIuNSA0LjkgMCA4OC42LTIwOC4yIDAgMTg2LjZjLTEuMSAxMi42LTcuOCAxNi41LTE5LjcgMTkuMmwtLjMgLjEgMCAyLjcgOTEuOSAwIDAtMi43LS4zLS4xYy0xMS45LTIuNy0xOC43LTYuNi0xOS45LTE5LjJsLS4xLTE5MS44IC4xIDBjMC0xNiA2LjctMjAuNCAxOS45LTIzLjRsLjMtLjEgMC0yLjctNzIuMiAwLTY3IDE1Ny40LTY3LTE1Ny40LTc3LjggMCAwIDIuN3pNNDQ4IDM0MC4zYy0yNS4xLTcuNC00My0zNS4xLTQxLjItNjcuOGwwIDAgNDEuMSAwIDAgNjcuOHptLTYuNC0xMzUuNmMyLjMgMCA0LjQgLjMgNi40IC45bDAgNTcuNC00MC4yIDBjMS41LTMzLjYgMTMuNi01Ny45IDMzLjgtNTguM3oiXX0scXl0PURiLFZ5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvcGVuY2FydCIsaWNvbjpbNjQwLDUxMixbXSwiZjIzZCIsIk0zMzEuOCA0NDAuNGE0NS44IDQ1LjggMCAxIDEgOTEuNSAuMyA0NS44IDQ1LjggMCAxIDEgLTkxLjUtLjN6TTE2OS40IDM5NC45YTQ1LjcgNDUuNyAwIDEgMCAuMyA5MS4zIDQ1LjcgNDUuNyAwIDEgMCAtLjMtOTEuM3ptMjkxLjctMjcwYy0zMDIuMiAwLTM3OS4yLTEyLjgtNDYxLjEtOTkuMiAzNC40IDUxLjcgNTMuMyAxNDguOSAzNzMuMSAxNDQuMiAzMzMuMy01IDEzMCA4Ni4xIDcwLjggMTg4LjkgMTg2LjctMTY2LjcgMzE5LjQtMjMzLjkgMTcuMi0yMzMuOXoiXX0sanl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InktY29tYmluYXRvciIsaWNvbjpbNDQ4LDUxMixbXSwiZjIzYiIsIk00NDggMzJsMCA0NDgtNDQ4IDAgMC00NDggNDQ4IDB6TTIzNiAyODcuNWw3Ny41LTE0NS41LTMyLjcgMC00NS44IDkxYy00LjcgOS4zLTkgMTguMy0xMi44IDI2LjhsLTEyLjItMjYuOC00NS4yLTkxLTM1IDAgNzYuNyAxNDMuOCAwIDk0LjUgMjkuNSAwIDAtOTIuOHoiXX0sVXl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImxpbmUiLGljb246WzUxMiw1MTIsW10sImYzYzAiLCJNMzExIDE5Ni44bDAgODEuM2MwIDIuMS0xLjYgMy43LTMuNyAzLjdsLTEzIDBjLTEuMyAwLTIuNC0uNy0zLTEuNUwyNTQgMjMwIDI1NCAyNzguMmMwIDIuMS0xLjYgMy43LTMuNyAzLjdsLTEzIDBjLTIuMSAwLTMuNy0xLjYtMy43LTMuN2wwLTgxLjNjMC0yLjEgMS42LTMuNyAzLjctMy43bDEyLjkgMGMxLjEgMCAyLjQgLjYgMyAxLjZsMzcuMyA1MC4zIDAtNDguMmMwLTIuMSAxLjYtMy43IDMuNy0zLjdsMTMgMGMyLjEtLjEgMy44IDEuNiAzLjggMy41bDAgLjF6bS05My43LTMuN2wtMTMgMGMtMi4xIDAtMy43IDEuNi0zLjcgMy43bDAgODEuM2MwIDIuMSAxLjYgMy43IDMuNyAzLjdsMTMgMGMyLjEgMCAzLjctMS42IDMuNy0zLjdsMC04MS4zYzAtMS45LTEuNi0zLjctMy43LTMuN3ptLTMxLjQgNjguMWwtMzUuNiAwIDAtNjQuNGMwLTIuMS0xLjYtMy43LTMuNy0zLjdsLTEzIDBjLTIuMSAwLTMuNyAxLjYtMy43IDMuN2wwIDgxLjNjMCAxIC4zIDEuOCAxIDIuNSAuNyAuNiAxLjUgMSAyLjUgMWw1Mi4yIDBjMi4xIDAgMy43LTEuNiAzLjctMy43bDAtMTNjMC0xLjktMS42LTMuNy0zLjUtMy43bC4xIDB6bTE5My43LTY4LjFsLTUyLjMgMGMtMS45IDAtMy43IDEuNi0zLjcgMy43bDAgODEuM2MwIDEuOSAxLjYgMy43IDMuNyAzLjdsNTIuMiAwYzIuMSAwIDMuNy0xLjYgMy43LTMuN2wwLTEzLjFjMC0yLjEtMS42LTMuNy0zLjctMy43bC0zNS41IDAgMC0xMy42IDM1LjUgMGMyLjEgMCAzLjctMS42IDMuNy0zLjdsMC0xMy4xYzAtMi4xLTEuNi0zLjctMy43LTMuN2wtMzUuNSAwIDAtMTMuNyAzNS41IDBjMi4xIDAgMy43LTEuNiAzLjctMy43bDAtMTNjLS4xLTEuOS0xLjctMy43LTMuNy0zLjdsLjEgMHpNNTEyIDkzLjRsMCAzMjZjLS4xIDUxLjItNDIuMSA5Mi43LTkzLjQgOTIuNmwtMzI2IDBDNDEuNCA1MTEuOS0uMSA0NjkuOCAwIDQxOC42bDAtMzI2Qy4xIDQxLjQgNDIuMi0uMSA5My40IDBsMzI2IDBjNTEuMiAuMSA5Mi43IDQyLjEgOTIuNiA5My40ek00NDEuNiAyMzMuNWMwLTgzLjQtODMuNy0xNTEuMy0xODYuNC0xNTEuM1M2OC44IDE1MC4xIDY4LjggMjMzLjVjMCA3NC43IDY2LjMgMTM3LjQgMTU1LjkgMTQ5LjMgMjEuOCA0LjcgMTkuMyAxMi43IDE0LjQgNDIuMS0uOCA0LjctMy44IDE4LjQgMTYuMSAxMC4xczEwNy4zLTYzLjIgMTQ2LjUtMTA4LjJjMjctMjkuNyAzOS45LTU5LjggMzkuOS05My4xbDAtLjJ6Il19LFd5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhbWlsaWEiLGljb246WzQ0OCw1MTIsW10sImYzNmQiLCJNMjQwLjIgMzJjLTYxLjkgMC0xMzEuNSAxNi45LTE4NC4yIDU1LjQtNS4xIDMuMS05LjEgOS4yLTcuMiAxOS40IDEuMSA1LjEgNS4xIDI3LjQgMTAuMiAzOS42IDQuMSAxMC4yIDE0LjIgMTAuMiAyMC4zIDYuMSAzMi41LTIyLjMgOTYuNS00Ny43IDE1Mi4zLTQ3LjcgNTcuOSAwIDU4LjkgMjguNCA1OC45IDczLjFsMCAzOC41QzIwMy4xIDIyNy43IDc4LjMgMjUxIDQ2LjggMjY0LjIgMTEuMyAyODAuNSAxNi40IDM1Ny43IDE2LjQgMzc2UzMxLjYgNDgwIDE0MS4zIDQ4MGM0Ny44IDAgMTEzLjctMjAuNyAxNTMuMy00Mi4xbDAgMjUuNGMwIDMgMi4xIDguMiA2LjEgOS4xIDMuMSAxIDUwLjcgMiA1OS45IDJzNjIuNSAuMyA2Ni41LS43YzQuMS0xIDUuMS02LjEgNS4xLTkuMWwwLTI5Ni42Yy0uMS04MC4zLTU3LjktMTM2LTE5Mi0xMzZ6bTUwLjIgMzQ4Yy0yMS40IDEzLjItNDguNyAyNC40LTc5LjEgMjQuNC01Mi44IDAtNTguOS0zMy41LTU5LTQ0LjcgMC0xMi4yLTMtNDIuNyAxOC4zLTUyLjkgMjQuMy0xMy4yIDc1LjEtMjkuNCAxMTkuOC0zMy41bDAgMTA2Ljd6Il19LEd5dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhc3ltbWV0cmlrIixpY29uOls1NzYsNTEyLFtdLCJmMzcyIiwiTTUxNy41IDMwOS4yYzM4LjgtNDAgNTguMS04MCA1OC41LTExNi4xIC44LTY1LjUtNTkuNC0xMTguMi0xNjkuNC0xMzUtMTI4LjctMTkuNy0yODguNSAxNS41LTQwNi42IDgyLjQgNTItMjYuNSAxMTAuNi00OC4yIDE3MC43LTU4LjIgNzQuNS0yMC41IDE1My0yNS40IDIyMS4zLTE0LjggMTUyLjUgMjMuOCAxOTYuOCAxMjcuNSA5OC44IDIzMS43LTEwLjIgMTAuOC0yMiAyMS4xLTM1IDMwLjZMMzA0LjkgMTAzLjQgMTE0LjcgMzg4LjljLTY1LjYtMjkuNC03Ni41LTkwLjItMTkuMS0xNTEuMiAyMC44LTIyLjIgNDguMy00MS45IDc5LjUtNTguMSAyMC0xMi4yIDM5LjctMjIuNiA2Mi0zMC43LTY1LjEgMjAuMy0xMjIuNyA1Mi45LTE2MS42IDkyLjktMjcuNyAyOC42LTQxLjQgNTcuMS00MS43IDgyLjktLjUgMzUuMSAyMy40IDY1LjEgNjguNCA4M2wtMzQuNSA1MS43IDEwMS42IDAgMjItMzQuNGMyMi4yIDEgNDUuMyAwIDY4LjYtMi43bC0yMi44IDM3LjEgMTM1LjUgMC0zMi42LTUzLjFjMTguNi01LjMgMzYuOS0xMS41IDU0LjUtMTguN2w0NS45IDcxLjggMTAxLjYgMC03My40LTExMC40YzE4LjUtMTIuMSAzNS0yNS41IDQ4LjktMzkuOHpNMzI5LjkgMzg5LjdsLTI1LTQwLjYtMzIuNyA1My4zYy0yMy40IDMuNS00Ni43IDUuMS02OS4yIDQuNGwxMDEuOS0xNTkuMyA3OC43IDEyM2MtMTcuMiA3LjQtMzUuMyAxMy45LTUzLjcgMTkuMnoiXX0sWXl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBoYWJyaWNhdG9yIixpY29uOls1MTIsNTEyLFtdLCJmM2RiIiwiTTMzMS4xIDI2Mi4xbC0uMS0xM3MyMS43LTE5LjggMjEuMS0yMS4ybC05LjUtMjBjLS42LTEuNC0yOS41LS41LTI5LjUtLjVsLTkuNC05LjNzLjItMjguNS0xLjItMjkuMWwtMjAuMS05LjJjLTEuNC0uNi0yMC43IDIxLTIwLjcgMjFsLTEzLjEtLjJzLTIwLjUtMjEuNC0yMS45LTIwLjhsLTIwIDguM2MtMS40IC41IC4yIDI4LjkgLjIgMjguOWwtOS4xIDkuMXMtMjkuMi0uOS0yOS43IC40TDE2MCAyMjYuM2MtLjYgMS40IDIxIDIxIDIxIDIxbC4xIDEyLjlTMTU5LjQgMjgwIDE2MCAyODEuNGw5LjUgMjBjLjYgMS40IDI5LjUgLjUgMjkuNSAuNWw5LjQgOS4zcy0uMiAzMS44IDEuMiAzMi4zbDIwLjEgOC4zYzEuNCAuNiAyMC43LTIzLjUgMjAuNy0yMy41bDEzLjEgLjJzMjAuNSAyMy44IDIxLjggMjMuM2wyMC03LjVjMS40LS42LS4yLTMyLjEtLjItMzIuMWw5LjEtOS4xczI5LjIgLjkgMjkuNy0uNWw4LjEtMTkuOGMuNy0xLjEtMjAuOS0yMC43LTIwLjktMjAuN3ptLTQ0LjktOC43Yy43IDE3LjEtMTIuOCAzMS42LTMwLjEgMzIuNHMtMzIuMS0xMi41LTMyLjgtMjkuNiAxMi44LTMxLjYgMzAuMS0zMi4zYzE3LjMtLjggMzIuMSAxMi41IDMyLjggMjkuNXptMjAxLjItMzcuOWwtOTctOTctLjEgLjFjLTc1LjEtNzMuMy0xOTUuNC03Mi44LTI2OS44IDEuNi01MC45IDUxLTI3LjggMjcuOS05NS43IDk1LjMtMjIuMyAyMi4zLTIyLjMgNTguNyAwIDgxIDY5LjkgNjkuNCA0Ni40IDQ2IDk3LjQgOTdsLjEtLjFjNzUuMSA3My4zIDE5NS40IDcyLjkgMjY5LjgtMS42IDUxLTUwLjkgMjcuOS0yNy45IDk1LjMtOTUuMyAyMi4zLTIyLjMgMjIuMy01OC43IDAtODF6TTM2My41IDE0OC4yYTE1Mi4zIDE1Mi4zIDAgMSAxIC0yMTUgMjE1LjYgMTUyLjMgMTUyLjMgMCAxIDEgMjE1LTIxNS42eiJdfSxLeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYm90cyIsaWNvbjpbNjQwLDUxMixbXSwiZTM0MCIsIk04Ni4zIDE5Ny44Yy04LS4xLTE1LjkgMS43LTIzLjEgNS4xcy0xMy41IDguNi0xOC40IDE0LjlsMC02MS45YzAtMi4yLS45LTQuMy0yLjQtNS44cy0zLjYtMi40LTUuOC0yLjRsLTI4LjQgMGMtMi4yIDAtNC4zIC45LTUuOCAyLjRTMCAxNTMuOCAwIDE1NkwwIDMzMy42YzAgMS4xIC4yIDIuMSAuNiAzLjFzMSAxLjkgMS44IDIuNyAxLjcgMS40IDIuNyAxLjggMi4xIC42IDMuMSAuNmwyOC40IDBjMS4xIDAgMi4xLS4yIDMuMS0uNnMxLjktMSAyLjctMS44IDEuNC0xLjcgMS44LTIuNyAuNi0yLjEgLjYtMy4xbDAtOC4xYzExLjYgMTMuNCAyNS45IDE5LjggNDEuNiAxOS44IDM0LjYgMCA2MS45LTI2LjIgNjEuOS03My44IDAtNDUuOS0yNy03My42LTYxLjktNzMuNnpNNzEuNSAzMDUuN2MtOS42IDAtMjEuMi00LjktMjYuNy0xMi41bDAtNDNjNS41LTcuNiAxNy4yLTEyLjggMjYuNy0xMi44IDE3LjcgMCAzMS4xIDEzLjEgMzEuMSAzNCAwIDIxLjItMTMuNCAzNC4zLTMxLjEgMzQuM3ptMTU2LjQtNTlhMTcuNCAxNy40IDAgMSAwIDAgMzQuOCAxNy40IDE3LjQgMCAxIDAgMC0zNC44em00Ni4xLTkwbDAtNDQuN2MyLjgtMS4yIDUuMi0zLjMgNi42LTZzMS45LTUuOCAxLjMtOC45LTIuMi01LjctNC42LTcuNy01LjQtMy04LjQtMy02LjEgMS4xLTguNCAzLTQgNC43LTQuNiA3LjctLjEgNi4xIDEuMyA4LjkgMy44IDQuOCA2LjYgNmwwIDQ0LjdjLTI4IDEuMy01NC40IDEzLjYtNzMuNiAzNC4xcy0yOS41IDQ3LjctMjguOCA3NS44IDEyLjMgNTQuNyAzMi40IDc0LjMgNDcgMzAuNiA3NS4xIDMwLjYgNTUtMTEgNzUuMS0zMC42IDMxLjctNDYuMyAzMi40LTc0LjMtOS43LTU1LjMtMjguOC03NS44LTQ1LjUtMzIuOC03My42LTM0LjF6bTg2IDEwNy40YzAgMzAuNS00MC44IDU1LjMtOTEuMSA1NS4zcy05MS4xLTI0LjctOTEuMS01NS4zIDQwLjgtNTUuMyA5MS4xLTU1LjMgOTEuMSAyNC43IDkxLjEgNTUuM2wwIDB6bS01MC4yIDE3LjRjMy40IDAgNi44LTEgOS43LTIuOXM1LjEtNC42IDYuNC03LjggMS43LTYuNyAxLTEwLjEtMi4zLTYuNS00LjgtOC45LTUuNS00LjEtOC45LTQuOC02LjktLjMtMTAuMSAxLTUuOSAzLjUtNy44IDYuNC0yLjkgNi4yLTIuOSA5LjdjMCA0LjYgMS44IDkgNS4xIDEyLjNzNy43IDUuMSAxMi4zIDUuMWwwIDB6bTI3MC45LTMxYy0xNC44LTIuNi0yMi40LTMuOC0yMi40LTkuOSAwLTUuNSA3LjMtOS45IDE3LjctOS45IDEyLjIgLjEgMjQuMiAzLjYgMzQuNSAxMC4xIDEuOCAxLjIgNCAxLjYgNi4yIDEuMXM0LTEuNyA1LjEtMy42Yy4xLS4xIC4xLS4yIC4yLS4zbDguNi0xNC45YzEuMS0xLjkgMS40LTQuMSAuOC02LjFzLTEuOS0zLjktMy43LTVjLTE1LjctOS40LTMzLjctMTQuMy01Mi0xNC4xLTM5IDAtNjAuMiAyMS41LTYwLjIgNDYuMiAwIDM2LjMgMzMuNyA0MS45IDU3LjYgNDUuNiAxMy40IDIuMyAyNC4xIDQuNCAyNC4xIDExIDAgNi40LTUuNSAxMC44LTE4LjkgMTAuOC0xMy42IDAtMzEtNi4yLTQyLjYtMTMuNi0uOS0uNi0xLjktMS0zLTEuMnMtMi4xLS4yLTMuMiAuMS0yLjEgLjctMi45IDEuMy0xLjYgMS40LTIuMiAyLjNjMCAuMS0uMSAuMS0uMSAuMmwtMTAuMiAxNi45Yy0xLjEgMS44LTEuNCA0LTEgNnMxLjcgMy45IDMuNSA1YzE1LjIgMTAuMyAzNy43IDE2LjcgNTkuNCAxNi43IDQwLjQgMCA2NC0xOS44IDY0LTQ2LjUgMC0zOC4xLTM1LjUtNDMuOS01OS4zLTQ4LjN6bS05NS45IDYwLjhjLS41LTItMS44LTMuNy0zLjYtNC44cy0zLjktMS41LTUuOS0xLjFjLTEuNCAuMy0yLjggLjQtNC4yIC40LTcuOCAwLTEyLjUtNi4xLTEyLjUtMTQuMmwwLTUxLjIgMjAuMyAwYzIuMiAwIDQuMi0uOSA1LjgtMi40czIuNC0zLjYgMi40LTUuOGwwLTIyLjdjMC0yLjItLjktNC4yLTIuNC01LjhzLTMuNi0yLjQtNS44LTIuNGwtMjAuMyAwIDAtMzAuMmMwLTIuMi0uOS00LjItMi40LTUuOHMtMy42LTIuNC01LjgtMi40bC0yOC4yIDBjLTIuMiAwLTQuMiAuOS01LjggMi40cy0yLjQgMy42LTIuNCA1LjhsMCAzMC4yLTE1LjEgMGMtMS4xIDAtMi4xIC4yLTMuMSAuNnMtMS45IDEtMi42IDEuOC0xLjQgMS43LTEuOCAyLjYtLjYgMi0uNiAzLjFsMCAyMi43YzAgMS4xIC4yIDIuMSAuNiAzLjFzMSAxLjkgMS44IDIuNiAxLjcgMS40IDIuNiAxLjggMiAuNiAzLjEgLjZsMTUuMSAwIDAgNjMuN2MwIDI3IDE1LjQgNDEuMyA0My45IDQxLjMgMTIuMiAwIDIxLjQtMi4yIDI3LjYtNS40IDEuNi0uOCAyLjktMi4yIDMuNy0zLjlzLjktMy42IC41LTUuNGwtNS0xOS4zeiJdfSxaeXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidmluZSIsaWNvbjpbMzg0LDUxMixbXSwiZjFjYSIsIk0zODQgMjU0LjdsMCA1Mi4xYy0xOC40IDQuMi0zNi45IDYuMS01Mi4xIDYuMS0zNi45IDc3LjQtMTAzIDE0My44LTEyNS4xIDE1Ni4yLTE0IDcuOS0yNy4xIDguNC00Mi43LS44LTI3LjEtMTYuMy0xMjkuOS0xMDAuNi0xNjQuMS0zNjUuNmw3NC41IDBjMTguNyAxNTkuMSA2NC41IDI0MC43IDExNC44IDMwMS44IDI3LjktMjcuOSA1NC44LTY1LjEgNzUuNi0xMDYuOS00OS44LTI1LjMtODAuMS04MC45LTgwLjEtMTQ1LjYgMC02NS42IDM3LjctMTE1LjEgMTAyLjItMTE1LjEgMTE0LjkgMCAxMDYuMiAxMjcuOSA4MS42IDE4MS41IDAgMC00Ni40IDkuMi02My41LTIwLjUgMy40LTExLjMgOC4yLTMwLjggOC4yLTQ4LjUgMC0zMS4zLTExLjMtNDYuNi0yOC40LTQ2LjYtMTguMiAwLTMwLjggMTcuMS0zMC44IDUwIC4xIDc5LjIgNTkuNCAxMTguNyAxMjkuOSAxMDEuOXoiXX0sWHl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1lZHJ0IixpY29uOls1NzYsNTEyLFtdLCJmM2M4IiwiTTEyOS43IDI1NmMwIDEyMS44IDgzLjkgMjIyLjggMTkzLjUgMjQxLjEtMTguNyA0LjUtMzguMiA2LjktNTguMiA2LjktMTM3LjYgMC0yNDktMTExLTI0OS0yNDhTMTI3LjQgOCAyNjQuOSA4YzIwLjEgMCAzOS42IDIuNCA1OC4yIDYuOS0xMDkuNiAxOC4zLTE5My40IDExOS4zLTE5My40IDI0MS4xek00MjcuMSAzNTYuM2MtNzcuNyA1NS40LTE3OS42IDQ3LjUtMjQwLjQtMTQuNiA1LjUgMTQuMSAxMi43IDI3LjcgMjEuNyA0MC41IDYxLjYgODguMiAxODIuNCAxMDkuMyAyNjkuNyA0N3MxMDguMS0xODQuMyA0Ni41LTI3Mi42Yy05LTEyLjktMTkuMy0yNC4zLTMwLjUtMzQuMiAzNy40IDc4LjggMTAuNyAxNzguNS02NyAyMzMuOXptLTIxOC44LTI0NGMtMS40IDEtMi43IDIuMS00IDMuMSA2NC4zLTE3LjggMTM1LjkgNCAxNzguOSA2MC41IDM1LjcgNDcgNDIuOSAxMDYuNiAyNC40IDE1OCA1Ni43LTU2LjIgNjcuNi0xNDIuMSAyMi4zLTIwMS44LTUwLTY1LjUtMTQ5LjEtNzQuNC0yMjEuNi0xOS44ek0zMTIgMjI0Yy00LjQgMC04LTMuNi04LThsMC00MGMwLTQuNC0zLjYtOC04LThsLTQ4IDBjLTQuNCAwLTggMy42LTggOGwwIDQwYzAgNC40LTMuNiA4LTggOGwtNDAgMGMtNC40IDAtOCAzLjYtOCA4bDAgNDhjMCA0LjQgMy42IDggOCA4bDQwIDBjNC40IDAgOCAzLjYgOCA4bDAgNDBjMCA0LjQgMy42IDggOCA4bDQ4IDBjNC40IDAgOC0zLjYgOC04bDAtNDBjMC00LjQgMy42LTggOC04bDQwIDBjNC40IDAgOC0zLjYgOC04bDAtNDhjMC00LjQtMy42LTgtOC04bC00MCAweiJdfSxReXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToib3NpIixpY29uOls1MTIsNTEyLFtdLCJmNDFhIiwiTTggMjY2LjRjMi4zLTEzNS44IDk3LjQtMjMyLjQgMjEzLjgtMjQ4LjEgMTM4LjgtMTguNiAyNTUuNiA3NS44IDI3OCAyMDEuMSAyMS4zIDExOC44LTQ0IDIzMC0xNTEuNiAyNzQtOS4zIDMuOC0xNC40IDEuNy0xOC03LjctMTcuOC00Ni4zLTM1LjYtOTIuNi01My40LTEzOS0zLjEtOC4xLTEtMTMuMiA3LTE2LjggMjQuMi0xMSAzOS4zLTI5LjQgNDMuMy01NS44IDEuNS05LjcgMS0xOS42LTEuNS0yOS4xcy02LjktMTguNC0xMi45LTI2LjEtMTMuNi0xNC4xLTIyLjItMTguOC0xOC4xLTcuNS0yNy45LTguM2MtMzktMy40LTcxLjggMjMuNy03Ny41IDU5LjctNS4yIDMzIDExLjEgNjMuNyA0MS45IDc3LjcgOS42IDQuNCAxMS41IDguNiA3LjggMTguNC0xNy45IDQ2LjYtMzUuOCA5My4yLTUzLjcgMTM5LjktMi42IDYuOS04LjMgOS4zLTE1LjUgNi41LTUyLjYtMjAuMy0xMDEuNC02MS0xMzAuOC0xMTktMjQuOS00OS4yLTI1LjItODcuNy0yNi44LTEwOC43em0yMC45LTEuOWMuNCA2LjYgLjYgMTQuMyAxLjMgMjIuMSA2LjMgNzEuOSA0OS42IDE0My41IDEzMSAxODMuMSAzLjIgMS41IDQuNCAuOCA1LjYtMi4zIDE0LjktMzkuMSAyOS45LTc4LjIgNDUtMTE3LjMgMS4zLTMuMyAuNi00LjgtMi40LTYuNy0zMS42LTE5LjktNDcuMy00OC41LTQ1LjYtODYgMS0yMS42IDkuMy00MC41IDIzLjgtNTYuMyAzMC0zMi43IDc3LTM5LjggMTE1LjUtMTcuNiAxNS42IDkgMjguMiAyMi4zIDM2LjIgMzguNHMxMS4yIDM0LjIgOSA1MmMtMy42IDMwLjYtMTkuMyA1My45LTQ1LjcgNjkuOC0yLjcgMS42LTMuNSAyLjktMi4zIDYgMTUuMiAzOS4yIDMwLjMgNzguNCA0NS4yIDExNy43IDEuMiAzLjEgMi40IDMuOCA1LjYgMi4zIDM1LjUtMTYuNiA2NS4yLTQwLjMgODguMS03MiAzNC44LTQ4LjIgNDkuMS0xMDEuOSA0Mi4zLTE2MS0xMy43LTExNy41LTExOS40LTIxNC44LTI1NS41LTE5OC0xMDYuMSAxMy0xOTUuMyAxMDIuNS0xOTcuMSAyMjUuOHoiXX0sSnl0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdnIixpY29uOls1MTIsNTEyLFtdLCJmMjYwIiwiTTE3OS4yIDIzMC40bDEwMi40IDEwMi40LTEwMi40IDEwMi40LTE3OS4yLTE3OS4yIDE3OS4yLTE3OS4yIDQ0LjggNDQuOC0yNS42IDI1LjYtMTkuMi0xOS4yLTEyOCAxMjggMTI4IDEyOCA1MS41LTUxLjUtNzcuMS03Ni41IDI1LjYtMjUuNnpNMzMyLjggNzYuOGwtMTAyLjQgMTAyLjQgMTAyLjQgMTAyLjQgMjUuNi0yNS42LTc3LjEtNzYuNSA1MS41LTUxLjUgMTI4IDEyOC0xMjggMTI4LTE5LjItMTkuMi0yNS42IDI1LjYgNDQuOCA0NC44IDE3OS4yLTE3OS4yLTE3OS4yLTE3OS4yeiJdfSxld3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYnV5c2VsbGFkcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjIwZCIsIk0yMjQgMTUwLjdsNDIuOSAxNjAuNy04NS44IDAgNDIuOS0xNjAuN3pNNDQ4IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmwzNTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMzgyLjcgNDA1LjNsLTk0LjUtMjk4LjctMTI4LjQgMC05NC41IDI5OC43IDkwLjcgMCAxMTEuNy05MS42IDI0LjIgOTEuNiA5MC44IDB6Il19LHR3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29nbGUtcGx1cyIsaWNvbjpbNTEyLDUxMixbXSwiZjJiMyIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTE4NS4zIDM4MGMtMzIuOSAwLTY0LjQtMTMuMS04Ny43LTM2LjNzLTM2LjMtNTQuOC0zNi4zLTg3LjcgMTMuMS02NC40IDM2LjMtODcuNyA1NC44LTM2LjMgODcuNy0zNi4zYzMxLjMgMCA2MC4xIDExIDgzIDMyLjNsLTMzLjYgMzIuNmMtMTMuMi0xMi45LTMxLjMtMTkuMS00OS40LTE5LjEtNDIuOSAwLTc3LjIgMzUuNS03Ny4yIDc4LjFTMTQyLjMgMzM0IDE4NS4zIDMzNGMzMi42IDAgNjQuOS0xOS4xIDcwLjEtNTMuM2wtNzAuMSAwIDAtNDIuNiAxMTYuOSAwYzEuMyA2LjggMS45IDEzLjggMS45IDIwLjcgMCA3MC44LTQ3LjUgMTIxLjItMTE4LjggMTIxLjJ6TTQxNS41IDI3My44bDAgMzUuNS0zNS41IDAgMC0zNS41LTM1LjUgMCAwLTM1LjUgMzUuNSAwIDAtMzUuNSAzNS41IDAgMCAzNS41IDM1LjIgMCAwIDM1LjUtMzUuMiAweiJdfSxhd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2NyZWVucGFsIixpY29uOls1MTIsNTEyLFtdLCJlNTcwIiwiTTI3OC42IDIyLjVhMjIuNSAyMi41IDAgMSAxIC00NSAwIDIyLjUgMjIuNSAwIDEgMSA0NSAwek0xOTguNyAyNTlhNTcuNCA1Ny40IDAgMSAxIDExNC44IDAgNTcuNCA1Ny40IDAgMSAxIC0xMTQuOCAwem0xMzguNiA5MWMyMi4zLTE5LjkgMzYuNS00Ny4zIDM5LjktNzdsMTE5LjUgMGMtMy41IDYxLjQtMzAuNCAxMTkuMi03NS4yIDE2MS40LTQ0LjcgNDIuMi0xMDMuOSA2NS44LTE2NS40IDY1LjhTMTM1LjQgNDc2LjYgOTAuNyA0MzQuNEM0NS45IDM5Mi4yIDE5LjEgMzM0LjQgMTUuNSAyNzNsMTE5LjcgMGMzLjQgMjkuNyAxNy42IDU3LjEgMzkuOSA3N3M1MS4yIDMwLjkgODEuMSAzMC45YzI5IDAgNTguNy0xMSA4MS4xLTMwLjl6TTI4LjMgMTQxLjdhMjIuNSAyMi41IDAgMSAxIDQ1LTEuNCAyMi41IDIyLjUgMCAxIDEgLTQ1IDEuNHptNDU1LjYtLjdhMjIuNCAyMi40IDAgMSAxIC00NC45IDAgMjIuNCAyMi40IDAgMSAxIDQ0LjkgMHpNMzE4IDk1LjNjLTE3LjMgMTMuOC0zOS4yIDIyLjgtNjEuOSAyMi44cy00NC42LTktNjEuOS0yMi44Yy0xNy4zLTE0LjctMjguOC0zNS4xLTMyLjQtNTcuNSAxNS4xLTYuNCAzMC44LTExLjMgNDYuOS0xNC41IDAgMTIuNiA1IDI0LjYgMTMuOSAzMy41czIwLjkgMTMuOSAzMy41IDEzLjkgMjQuNi01IDMzLjUtMTMuOSAxMy45LTIwLjkgMTMuOS0zMy41YzE2LjEgMy4yIDMxLjggOC4xIDQ2LjkgMTQuNS0zLjYgMjIuNC0xNS4xIDQyLjgtMzIuNCA1Ny41ek04Mi45IDIzMWMtMjEuNCA3LjYtNDQuNyA3LjQtNjUuOS0uNiAyLTE2LjMgNS42LTMyLjMgMTAuOC00Ny45IDUuNCAzLjEgMTEuMyA1LjEgMTcuNSA2IDYuMiAuOCAxMi40IC40IDE4LjUtMS4yIDYtMS43IDExLjYtNC40IDE2LjYtOC4yczkuMS04LjUgMTIuMi0xMy45IDUuMS0xMS40IDYtMTcuNWMuOC02LjIgLjQtMTIuNS0xLjItMTguNXMtNC40LTExLjYtOC4yLTE2LjZjLTMuOC00LjktOC41LTkuMS0xMy45LTEyLjIgMTAuOC0xMi4zIDIyLjktMjMuNSAzNi0zMy4zIDE3LjYgMTQuMyAyOS41IDM0LjUgMzMuNiA1Ni44cy4xIDQ1LjQtMTEuMiA2NWMtMTEuNCAxOS42LTI5LjQgMzQuNS01MC43IDQyLjF6bTM0Ni40IC4xYy0yMS4zLTcuNi0zOS4zLTIyLjYtNTAuNy00Mi4yLTExLjMtMTkuNi0xNS4yLTQyLjctMTEuMS02NSA0LjEtMjIuMiAxNi00Mi40IDMzLjUtNTYuNyAxMy4xIDkuOCAyNS4yIDIxIDM2IDMzLjMtMTAuNyA2LjQtMTguNCAxNi43LTIxLjUgMjguOC0zLjIgMTItMi4zIDI0LjggNC44IDM1LjYgNi4yIDEwLjggMTYuNCAxOC43IDI4LjQgMjJzMjQuOSAxLjcgMzUuNy00LjNjNS4zIDE1LjUgOC45IDMxLjYgMTAuOSA0Ny44LTIyLjEgOC4xLTQ0LjYgOC4zLTY2IC43eiJdfSxyd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYml0Y29pbiIsaWNvbjpbNTEyLDUxMixbXSwiZjM3OSIsIk04IDI1NmEyNDggMjQ4IDAgMSAxIDQ5NiAwIDI0OCAyNDggMCAxIDEgLTQ5NiAwem0zNTQuMy0zNS4zYzQuOS0zMy0yMC4yLTUwLjctNTQuNi02Mi42bDExLjEtNDQuNy0yNy4yLTYuOC0xMC45IDQzLjVjLTcuMi0xLjgtMTQuNS0zLjUtMjEuOC01LjFsMTAuOS00My44LTI3LjItNi44LTExLjIgNDQuN2MtNS45LTEuMy0xMS43LTIuNy0xNy40LTQuMWwwLS4xLTM3LjUtOS40LTcuMiAyOS4xczIwLjIgNC42IDE5LjggNC45YzExIDIuOCAxMyAxMCAxMi43IDE1LjhsLTEyLjcgNTAuOWMuOCAuMiAxLjcgLjUgMi44IC45LS45LS4yLTEuOS0uNS0yLjktLjdsLTE3LjggNzEuM2MtMS4zIDMuMy00LjggOC40LTEyLjUgNi41IC4zIC40LTE5LjgtNC45LTE5LjgtNC45bC0xMy41IDMxLjEgMzUuNCA4LjhjNi42IDEuNyAxMyAzLjQgMTkuNCA1bC0xMS4zIDQ1LjIgMjcuMiA2LjggMTEuMi00NC43YzcuMiAyIDE0LjQgMy44IDIxLjcgNS42bC0xMS4xIDQ0LjUgMjcuMiA2LjggMTEuMy00NS4xYzQ2LjQgOC44IDgxLjMgNS4yIDk2LTM2LjcgMTEuOC0zMy44LS42LTUzLjMtMjUtNjYgMTcuOC00LjEgMzEuMi0xNS44IDM0LjctMzkuOXptLTYyLjIgODcuMmMtOC40IDMzLjgtNjUuMyAxNS41LTgzLjggMTAuOWwxNC45LTU5LjljMTguNCA0LjYgNzcuNiAxMy43IDY4LjggNDl6bTguNC04Ny43Yy03LjcgMzAuNy01NSAxNS4xLTcwLjQgMTEuM2wxMy41LTU0LjNjMTUuNCAzLjggNjQuOCAxMSA1Ni44IDQzeiJdfSxzd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3dpZnQiLGljb246WzQ0OCw1MTIsW10sImY4ZTEiLCJNNDQ4IDE1Ni4xYzAtNC41LS4xLTktLjItMTMuNS0uMS05LjktMS0xOS43LTIuNi0yOS40LTEuNy05LjctNC44LTE5LjItOS4yLTI4LTktMTcuNy0yMy40LTMyLjEtNDEuMi00MS4xLTguOC00LjUtMTguMy03LjYtMjgtOS4yLTkuNy0xLjYtMTkuNi0yLjUtMjkuNC0yLjYtNC41LS4xLTktLjItMTMuNS0uMkwxMjQuMSAzMmMtNC41IDAtOSAuMS0xMy41IC4yLTIuNCAuMS00LjkgLjItNy40IC4zLTcuNCAuMy0xNC44IDEuMS0yMi4xIDIuMy03LjMgMS4zLTE0LjQgMy4zLTIxLjIgNi4xLTIuMyAxLTQuNiAyLTYuOCAzLjEtNi42IDMuNC0xMi44IDcuNS0xOC40IDEyLjMtMS45IDEuNi0zLjcgMy4zLTUuNCA1LTcgNy0xMi45IDE1LTE3LjQgMjMuOC00LjQgOC44LTcuNiAxOC4zLTkuMiAyOC0xLjYgOS43LTIuNCAxOS42LTIuNSAyOS40LS4xIDQuNS0uMiA5LS4yIDEzLjVMMCAzNTUuOWMwIDQuNSAuMSA5IC4yIDEzLjUgLjEgOS45IDEgMTkuNyAyLjYgMjkuNCAxLjcgOS43IDQuOCAxOS4yIDkuMiAyOCA5IDE3LjcgMjMuNCAzMi4xIDQxLjEgNDEuMSA4LjggNC40IDE4LjMgNy41IDI4IDkuMiA5LjcgMS42IDE5LjYgMi41IDI5LjQgMi42IDQuNSAuMSA5IC4yIDEzLjUgLjJsMTk5LjggMGM0LjUgMCA5LS4xIDEzLjUtLjIgOS45LS4xIDE5LjctMSAyOS40LTIuNiA5LjctMS43IDE5LjItNC44IDI4LTkuMiAxNy43LTkgMzIuMS0yMy40IDQxLjEtNDEuMiA0LjQtOC44IDcuNi0xOC4zIDkuMi0yOCAxLjYtOS43IDIuNS0xOS42IDIuNi0yOS40IC4xLTQuNSAuMi05IC4yLTEzLjVsMC0xODMuOGMwLTUuNCAwLTEwLjcgMC0xNnptLTY5LjkgMjQxYy0yMC0zOC45LTU3LjItMjkuMy03Ni4zLTE5LjUtMS43IDEtMy41IDItNS4yIDNsLS40IC4yYy0zOS41IDIxLTkyLjUgMjIuNS0xNDUuOC0uNC00My40LTE4LjgtODAuMS01MC4zLTEwNS4zLTkwLjQgMTIuMyA5LjEgMjUuNCAxNi45IDM5LjIgMjMuNCA1Ni40IDI2LjQgMTEzIDI0LjUgMTUzIDAtNTctNDMuOC0xMDQuNi0xMDEtMTQxLjEtMTQ3LjItNy04LjEtMTMuMi0xNi44LTE4LjgtMjUuOSA0My43IDQwIDExMi43IDkwLjIgMTM3LjUgMTA0LjEtNTIuNi01NS41LTk4LjktMTIzLjktOTYuNy0xMjEuNyA4Mi44IDgzLjQgMTU5LjIgMTMwLjYgMTU5LjIgMTMwLjYgMi45IDEuNiA1IDIuOCA2LjcgNCAxLjYtNC4xIDMtOC4yIDQuMi0xMi41IDEzLjItNDguMy0xLjctMTAzLjYtMzUuMy0xNDkuMiA3Ni44IDQ2LjEgMTIyLjIgMTMzLjcgMTAzLjYgMjA3LjgtLjQgMS43LTEgMy40LTEuNCA1LjEgMzguNSA0Ny40IDI4IDk4LjIgMjMuMSA4OC42bDAgMHoiXX0saXd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZpbGVzLXBpbndoZWVsIixpY29uOls1MTIsNTEyLFtdLCJlNjlmIiwiTTI1My41IDI0Ni40TDEzNy4yIDEzMC4yYy0uNi0uNi0xLTEuMy0xLjQtMnMtLjUtMS42LS41LTIuNCAuMi0xLjYgLjUtMi40IC44LTEuNCAxLjQtMkwyNTMuNiA1LjFjLjktLjkgMi0xLjUgMy4yLTEuN3MyLjUtLjEgMy42IC4zIDIuMSAxLjMgMi44IDIuMyAxLjEgMi4yIDEuMSAzLjVsMCAyMzIuNWMwIDEuMy0uMyAyLjUtMSAzLjZzLTEuNyAxLjktMi45IDIuNC0yLjUgLjYtMy43IC4zLTIuNC0uOS0zLjItMS45em00MC4zLTQuNGwwLTEzNC40YzAtLjggLjEtMS42IC41LTIuNHMuOC0xLjUgMS4zLTIuMSAxLjMtMS4xIDItMS40IDEuNi0uNSAyLjQtLjVsMTM0LjQgMGMxLjIgMCAyLjUgLjQgMy41IDEuMXMxLjggMS43IDIuMyAyLjggLjYgMi40IC4zIDMuNi0uOSAyLjMtMS43IDMuMkwzMDQuMyAyNDYuNGMtLjkgLjgtMiAxLjQtMy4yIDEuNnMtMi40IC4xLTMuNS0uNC0yLjEtMS4zLTIuOC0yLjMtMS4xLTIuMi0xLjEtMy40bC4xIC4xem0zMC42IDM1Yy0xLjIgMC0yLjUtLjMtMy41LTFzLTEuOS0xLjYtMi40LTIuOC0uNi0yLjQtLjQtMy42IC44LTIuMyAxLjctMy4yTDQwNCAxODIuMmMuNi0uNiAxLjMtMSAyLTEuNHMxLjYtLjUgMi40LS41IDEuNiAuMiAyLjQgLjUgMS40IC44IDIgMS40bDg0LjQgODQuMmMuOSAuOSAxLjUgMiAxLjcgMy4ycy4xIDIuNS0uMyAzLjYtMS4zIDIuMS0yLjMgMi44LTIuMiAxLjEtMy41IDEuMWwtMTY4LjUgMCAuMS0uMXptOTAuNyAxMzFsLTk1LjMtOTUuMmMtLjktLjktMS41LTItMS43LTMuMnMtLjEtMi41IC40LTMuNyAxLjMtMi4xIDIuNC0yLjggMi4zLTEgMy41LTFsOTUuMiAwYzEuNyAwIDMuMiAuNyA0LjQgMS44czEuOCAyLjggMS44IDQuNGwwIDk1LjNjMCAxLjItLjQgMi41LTEuMSAzLjVzLTEuNyAxLjgtMi44IDIuMy0yLjQgLjYtMy42IC4zLTIuMy0uOS0zLjItMS43ek0xNi44IDMwMi4xbDIxNi45IDBjMS4yIDAgMi41IC40IDMuNSAxLjFzMS44IDEuNyAyLjMgMi44IC42IDIuNCAuMyAzLjYtLjggMi4zLTEuNyAzLjJMMTI5LjcgNDIxLjJjLS42IC42LTEuMyAxLTIgMS40cy0xLjYgLjUtMi40IC41LTEuNi0uMi0yLjQtLjUtMS40LS44LTItMS40TDEyLjMgMzEyLjhjLS45LS45LTEuNS0yLTEuNy0zLjJzLS4xLTIuNSAuNC0zLjYgMS4zLTIuMSAyLjMtMi44IDIuMy0xIDMuNS0xbDAtLjF6TTI2NC4zIDQ2NS4zYzAgLjgtLjIgMS42LS41IDIuNHMtLjggMS41LTEuNCAyLTEuMyAxLTIgMS40LTEuNiAuNS0yLjQgLjVsLTEyOCAwYy0xLjIgMC0yLjUtLjQtMy41LTEuMXMtMS44LTEuNy0yLjMtMi44LS42LTIuNC0uMy0zLjYgLjgtMi4zIDEuNy0zLjJsMTI4LTEyOGMuOS0uOSAyLTEuNSAzLjItMS43czIuNS0uMSAzLjYgLjMgMi4xIDEuMyAyLjggMi4zIDEuMSAyLjIgMS4xIDMuNWwwIDEyOHptNDAtMTMyLjVsODIuOCA4Mi43Yy42IC42IDEgMS4zIDEuNCAycy41IDEuNiAuNSAyLjQtLjIgMS42LS41IDIuNC0uOCAxLjQtMS40IDJMMzA0LjMgNTA3Yy0uOSAuOS0yIDEuNS0zLjIgMS43cy0yLjUgLjEtMy42LS4zLTIuMS0xLjMtMi44LTIuMy0xLjEtMi4yLTEuMS0zLjVsMC0xNjUuNGMwLTEuMiAuNC0yLjUgMS4xLTMuNXMxLjctMS44IDIuOC0yLjMgMi40LS42IDMuNi0uMyAyLjMgLjggMy4yIDEuN3pNNzkgMTIyLjRjMC0xLjIgLjMtMi41IDEtMy41czEuNy0xLjggMi44LTIuMyAyLjQtLjYgMy42LS40IDIuMyAuOCAzLjIgMS43TDIzOC4xIDI2Ni40Yy45IC45IDEuNSAyIDEuNyAzLjJzLjEgMi41LS4zIDMuNi0xLjMgMi4xLTIuMyAyLjgtMi4yIDEuMS0zLjUgMS4xbC0xNDguNCAwYy0xLjcgMC0zLjItLjctNC40LTEuOHMtMS44LTIuOC0xLjgtNC40bDAtMTQ4LjQtLjEtLjF6Il19LG93dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsYXJhdmVsIixpY29uOls1MTIsNTEyLFtdLCJmM2JkIiwiTTUwNC42IDExNS44Yy0uMS0uMi0uMi0uNS0uMy0uNy0uMS0uNC0uMy0uOC0uNS0xLjItLjItLjItLjMtLjUtLjUtLjctLjItLjMtLjUtLjYtLjctLjktLjItLjItLjUtLjQtLjgtLjYtLjMtLjItLjYtLjUtLjktLjdMNDA0LjYgNTUuNWMtMS4yLS43LTIuNi0xLjEtNC0xLjFzLTIuOCAuNC00IDEuMUwzMDAuMyAxMTFjLS4zIC4yLS42IC40LS45IC43LS4zIC4yLS41IC40LS44IC42LS4zIC4zLS41IC42LS43IC45LS4yIC4yLS40IC40LS41IC43LS4yIC40LS40IC44LS41IDEuMi0uMSAuMi0uMiAuNC0uMyAuNy0uMiAuNy0uMyAxLjQtLjMgMi4xbDAgMTA1LjItODAuMiA0Ni4yIDAtMjA1LjljMC0uNy0uMS0xLjQtLjMtMi4xLS4xLS4yLS4yLS40LS4zLS43LS4xLS40LS4zLS44LS41LTEuMi0uMS0uMy0uNC0uNS0uNS0uNy0uMi0uMy0uNS0uNi0uNy0uOS0uMi0uMi0uNS0uNC0uOC0uNi0uMy0uMi0uNi0uNS0uOS0uN0wxMTUuOCAxLjFjLTEuMi0uNy0yLjYtMS4xLTQtMS4xcy0yLjggLjQtNCAxLjFMMTEuNSA1Ni41Yy0uMyAuMi0uNiAuNC0uOSAuNy0uMyAuMi0uNSAuNC0uOCAuNi0uMyAuMy0uNSAuNi0uNyAuOS0uMiAuMy0uNCAuNS0uNiAuNy0uMiAuNC0uNCAuOC0uNSAxLjItLjEgLjItLjIgLjQtLjMgLjctLjIgLjctLjMgMS40LS4zIDIuMWwwIDMyOS43YzAgMS40IC40IDIuOCAxLjEgNHMxLjcgMi4yIDIuOSAyLjlMMjA0IDUxMC45Yy40IC4yIC45IC40IDEuMyAuNSAuMiAuMSAuNCAuMiAuNiAuMyAxLjMgLjQgMi44IC40IDQuMSAwIC4yLS4xIC40LS4yIC42LS4yIC41LS4yIDEtLjMgMS40LS42TDQwNC42IDQwMC4xYzEuMi0uNyAyLjItMS43IDIuOS0yLjlzMS4xLTIuNiAxLjEtNGwwLTEwNS4zIDkyLjItNTMuMWMxLjItLjcgMi4yLTEuNyAyLjktM3MxLjEtMi42IDEuMS00bDAtMTA5LjhjMC0uNy0uMS0xLjQtLjItMi4xek0xMTEuOCAxNy4zbDgwLjIgNDYuMS04MC4yIDQ2LjItODAuMi00Ni4yIDgwLjItNDYuMnptODguMiA2MGwwIDIwMS4zYy0zMy4yIDE5LjEtNTkuOSAzNC41LTgwLjIgNDYuMmwwLTIwMS4zQzE1MyAxMDQuNCAxNzkuNyA4OSAyMDAgNzcuM3ptMCA0MTIuOEwyMy41IDM4OC41IDIzLjUgNzcuM2MyMC4zIDExLjcgNDcuMSAyNy4xIDgwLjIgNDYuMmwwIDIxNS4yYzAgLjMgLjEgLjYgLjEgLjkgMCAuNCAuMSAuOCAuMiAxLjIgLjEgLjMgLjIgLjYgLjQgLjkgLjEgLjMgLjMgLjcgLjQgMSAuMiAuMyAuNCAuNSAuNiAuOCAuMiAuMyAuNCAuNiAuNyAuOCAuMiAuMiAuNSAuNCAuOCAuNiAuMyAuMiAuNiAuNSAuOSAuN2w5Mi4yIDUyLjIgLjEgOTIuNHptOC0xMDYuMkwxMjggMzM4LjZjNTQuNy0zMS41IDExMy41LTY1LjMgMTc2LjMtMTAxLjVsODAuMSA0Ni4xQzM1NSAzMDAgMjk2LjIgMzMzLjUgMjA4IDM4My45em0xODQuNSA0LjZsLTE3Ni41IDEwMS42IDAtOTIuM0MzMTcuNCAzNDAgMzc2LjIgMzA2LjQgMzkyLjUgMjk3bDAgOTEuNHptMC0xMTkuMWMtMjAuMy0xMS42LTQ3LjEtMjctODAuMi00Ni4xbDAtOTEuNGMyMC4zIDExLjcgNDcuMSAyNy4xIDgwLjIgNDYuMmwwIDkxLjN6bTgtMTA1LjNsLTgwLjItNDYuMiA4MC4yLTQ2LjIgODAuMiA0Ni4xLTgwLjIgNDYuMnptOCAxMDUuM2wwLTkxLjNjMzMuMi0xOS4xIDYwLTM0LjUgODAuMy00Ni4ybDAgOTEuNC04MC4zIDQ2LjJ6Il19LG53dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3cGZvcm1zIixpY29uOls0NDgsNTEyLFtdLCJmMjk4IiwiTTQ0OCA3NS4ybDAgMzYxLjdjMCAyNC4zLTE5IDQzLjItNDMuMiA0My4ybC0zNjEuNiAwQzE5LjMgNDgwIDAgNDYxLjQgMCA0MzYuOEwwIDc1LjJDMCA1MS4xIDE4LjggMzIgNDMuMiAzMmwzNjEuNyAwYzI0IDAgNDMuMSAxOC44IDQzLjEgNDMuMnpNNDEwLjcgNDM2LjhsMC0zNjEuNmMwLTMtMi42LTUuOC01LjgtNS44bC05LjMgMC0xMTAuMyA3NC42LTYxLjMtNDkuOS02MS4yIDQ5LjktMTEwLjMtNzQuNy05LjMgMGMtMy4yIDAtNS44IDIuOC01LjggNS44bDAgMzYxLjdjMCAzIDIuNiA1LjggNS44IDUuOGwzNjEuNyAwYzMuMiAuMSA1LjgtMi43IDUuOC01Ljh6TTE1MC4yIDE4NmwwIDM3LTczLjUgMCAwLTM3IDczLjUgMHptMCA3NC40bDAgMzcuMy03My41IDAgMC0zNy4zIDczLjUgMHptMTEuMS0xNDcuM2w1NC00My43LTExOC41IDAgNjQuNSA0My43em0yMTAgNzIuOWwwIDM3LTE5NiAwIDAtMzcgMTk2IDB6bTAgNzQuNGwwIDM3LjMtMTk2IDAgMC0zNy4zIDE5NiAwek0yODYuNyAxMTMuMWw2NC41LTQzLjctMTE4LjQgMCA1My45IDQzLjd6TTM3MS4zIDMzNWwwIDM3LjMtOTkuNCAwIDAtMzcuMyA5OS40IDB6Il19LGx3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcGVha2VyLWRlY2siLGljb246WzUxMiw1MTIsW10sImY4M2MiLCJNMjEzLjkgMjk2TDEwMCAyOTZjLTI2LjUgMC01Mi0xMC41LTcwLjctMjkuM1MwIDIyMi41IDAgMTk2IDEwLjUgMTQ0IDI5LjMgMTI1LjMgNzMuNSA5NiAxMDAgOTZsMTMyLjggMGMxMC42IDAgMjAuOCA0LjIgMjguMyAxMS43czExLjcgMTcuNyAxMS43IDI4LjMtNC4yIDIwLjgtMTEuNyAyOC4zLTE3LjcgMTEuNy0yOC4zIDExLjdMOTggMTc2Yy0yNi41IDAtMjYuNCA0MCAwIDQwbDExMy44IDBjMjYuNSAwIDUyIDEwLjUgNzAuNyAyOS4zczI5LjMgNDQuMiAyOS4zIDcwLjctMTAuNSA1Mi0yOS4zIDcwLjctNDQuMiAyOS4zLTcwLjcgMjkuM0w0MCA0MTZjLTEwLjYgMC0yMC44LTQuMi0yOC4zLTExLjdTMCAzODYuNiAwIDM3NiA0LjIgMzU1LjIgMTEuNyAzNDcuNyAyOS40IDMzNiA0MCAzMzZsMTczLjkgMGMyNi41IDAgMjYuNS00MCAwLTQwek0yOTggNDE2YzEzLjUtOS4yIDI1LTIxIDMzLjgtMzQuN3MxNC43LTI5LjIgMTcuMy00NS4zbDY0LjYgMGMyLjYgMCA1LjItLjYgNy42LTEuNnM0LjYtMi41IDYuNC00LjQgMy4zLTQuMSA0LjItNi41IDEuNS01IDEuNC03LjZsMC0xMjBjMC0yLjYtLjUtNS4yLTEuNC03LjZzLTIuNC00LjYtNC4yLTYuNS00LTMuMy02LjQtNC40LTUtMS42LTcuNi0xLjZsLTExNy4yIDBjOS43LTExLjEgMTUtMjUuMyAxNS00MHMtNS4zLTI4LjktMTUtNDBsMTM2LjkgMGM0My40IDAgNzguNiAzNS44IDc4LjYgODBsMCAxNjBjMCA0NC4yLTM1LjIgODAtNzguNiA4MEwyOTggNDE2eiJdfSxjd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmxpY2tyIixpY29uOls0NDgsNTEyLFtdLCJmMTZlIiwiTTQwMCAzMkw0OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDM1MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzUyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek0xNDQuNSAxOTJhNjMuNSA2My41IDAgMSAxIDAgMTI3IDYzLjUgNjMuNSAwIDEgMSAwLTEyN3ptMTU5IDBhNjMuNSA2My41IDAgMSAxIDAgMTI3IDYzLjUgNjMuNSAwIDEgMSAwLTEyN3oiXX0sZHd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLXZpc2EiLGljb246WzU3Niw1MTIsW10sImYxZjAiLCJNNDcwLjEgMjMxLjNzNy42IDM3LjIgOS4zIDQ1bC0zMy40IDBjMy4zLTguOSAxNi00My41IDE2LTQzLjUtLjIgLjMgMy4zLTkuMSA1LjMtMTQuOWwyLjggMTMuNHpNNTc2IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmw0ODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTUyLjUgMzMxLjJsNjMuMi0xNTUuMi00Mi41IDAtMzkuMyAxMDYtNC4zLTIxLjUtMTQtNzEuNGMtMi4zLTkuOS05LjQtMTIuNy0xOC4yLTEzLjFsLTY0LjcgMC0uNyAzLjFjMTUuOCA0IDI5LjkgOS44IDQyLjIgMTcuMWwzNS44IDEzNSA0Mi41IDB6bTk0LjQgLjJsMjUuMi0xNTUuNC00MC4yIDAtMjUuMSAxNTUuNCA0MC4xIDB6bTEzOS45LTUwLjhjLjItMTcuNy0xMC42LTMxLjItMzMuNy00Mi4zLTE0LjEtNy4xLTIyLjctMTEuOS0yMi43LTE5LjIgLjItNi42IDcuMy0xMy40IDIzLjEtMTMuNCAxMy4xLS4zIDIyLjcgMi44IDI5LjkgNS45bDMuNiAxLjcgNS41LTMzLjZjLTcuOS0zLjEtMjAuNS02LjYtMzYtNi42LTM5LjcgMC02Ny42IDIxLjItNjcuOCA1MS40LS4zIDIyLjMgMjAgMzQuNyAzNS4yIDQyLjIgMTUuNSA3LjYgMjAuOCAxMi42IDIwLjggMTkuMy0uMiAxMC40LTEyLjYgMTUuMi0yNC4xIDE1LjItMTYgMC0yNC42LTIuNS0zNy43LTguM2wtNS4zLTIuNS01LjYgMzQuOWM5LjQgNC4zIDI2LjggOC4xIDQ0LjggOC4zIDQyLjIgLjEgNjkuNy0yMC44IDcwLTUzek01MjggMzMxLjRsLTMyLjQtMTU1LjQtMzEuMSAwYy05LjYgMC0xNi45IDIuOC0yMSAxMi45bC01OS43IDE0Mi41IDQyLjIgMHM2LjktMTkuMiA4LjQtMjMuM2w1MS42IDBjMS4yIDUuNSA0LjggMjMuMyA0LjggMjMuM2wzNy4yIDB6Il19LHV3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1cHdvcmsiLGljb246WzY0MCw1MTIsW10sImU2NDEiLCJNNDkzLjkgMjk1LjZjLTUwLjMgMC04My41LTM4LjktOTIuOC01My45IDExLjktOTUuMyA0Ni44LTEyNS40IDkyLjgtMTI1LjQgNDUuNSAwIDgwLjkgMzYuNCA4MC45IDg5LjdzLTM1LjQgODkuNy04MC45IDg5LjdsMC0uMXptMC0yMzcuOGMtODEuOSAwLTEyNy44IDUzLjQtMTQxIDEwOC40LTE0LjktMjgtMjUuOS02NS41LTM0LjUtMTAwLjNsLTExMy4yIDAgMCAxNDFjMCA1MS4xLTIzLjMgODktNjguOCA4OXMtNzEuNi0zNy44LTcxLjYtODlsLjUtMTQxLTY1LjMgMCAwIDE0MWMwIDQxLjEgMTMuMyA3OC40IDM3LjYgMTA1LjEgMjUgMjcuNSA1OS4yIDQxLjggOTguOCA0MS44IDc4LjggMCAxMzMuOC02MC40IDEzMy44LTE0Ni45bDAtOTQuOGM4LjIgMzEuMiAyNy44IDkxLjEgNjUuMyAxNDMuNmwtMzUgMTk5LjQgNjYuNCAwIDIzLjEtMTQxLjNjNy42IDYuMyAxNS43IDEyIDI0LjIgMTcgMjIuMiAxNCA0Ny43IDIxLjkgNzMuOSAyMi44IDAgMCA0IC4yIDYuMSAuMiA4MS4yIDAgMTQ1LjktNjIuOSAxNDUuOS0xNDcuOFM1NzUuMyA1Ny45IDQ5NC4xIDU3LjlsLS4yLS4xeiJdfSxwd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToia2FrYW8tdGFsayIsaWNvbjpbNTc2LDUxMixbXSwiZTdkNyIsIk0yODggMi41YzE1OS4xIDAgMjg4IDEwMS43IDI4OCAyMjcuMSAwIDEyNS40LTEyOC45IDIyNy4xLTI4OCAyMjcuMS0xNy41IDAtMzQuNi0xLjItNTEuMi0zLjYtMTYuNiAxMS43LTExMi42IDc5LjEtMTIxLjcgODAuNCAwIDAtMy43IDEuNC02LjktLjRzLTIuNi02LjctMi42LTYuN0MxMDYuNiA1MTkuOCAxMzAuNiA0MzcuMiAxMzUgNDIxLjkgNTMuOSAzODEuOCAwIDMxMC42IDAgMjI5LjUgMCAxMDQuMSAxMjguOSAyLjUgMjg4IDIuNXpNODYuMiAxNjEuN2MtOSAwLTE2LjMgNy4zLTE2LjMgMTYuM3M3LjMgMTYuMyAxNi4zIDE2LjNsMjUuOSAwIDAgOTguN2MwIDguOCA3LjUgMTUuOSAxNi42IDE1LjlzMTYuNi03LjEgMTYuNi0xNS45bDAtOTguNyAyNS45IDBjOSAwIDE2LjMtNy4zIDE2LjMtMTYuM3MtNy4zLTE2LjMtMTYuMy0xNi4zbC04NS4xIDB6bTE0MC44IDBjLTEwLjggLjItMTkuMyA4LjQtMjIuMSAxNi40TDE2NS4yIDI4Mi43Yy01IDE1LjctLjYgMjEuNSAzLjkgMjMuNiAzLjIgMS41IDYuOSAyLjMgMTAuNiAyLjMgNi45IDAgMTIuMi0yLjggMTMuOC03LjNsOC4yLTIxLjYgNTAuNyAwIDguMiAyMS41YzEuNiA0LjUgNi45IDcuMyAxMy44IDcuMyAzLjcgMCA3LjMtLjggMTAuNi0yLjMgNC42LTIuMSA5LTcuOSAzLjktMjMuNkwyNDkuMiAxNzguMWMtMi44LTgtMTEuMy0xNi4yLTIyLjItMTYuNHptMTgwLjkgMGMtOS4yIDAtMTYuNiA3LjUtMTYuNiAxNi42bDAgMTEzLjdjMCA5LjIgNy41IDE2LjYgMTYuNiAxNi42czE2LjYtNy41IDE2LjYtMTYuNmwwLTM2LjIgNS44LTUuOCAzOC45IDUxLjZjMy4yIDQuMiA4IDYuNiAxMy4zIDYuNiAzLjYgMCA3LjEtMS4xIDEwLTMuMyAzLjUtMi43IDUuOC02LjYgNi40LTExcy0uNS04LjgtMy4yLTEyLjNsLTQwLjktNTQuMiAzNy45LTM3LjhjMi42LTIuNiAzLjktNi4yIDMuNy0xMC4xLS4yLTMuOS0yLTcuNi00LjktMTAuNS0zLjEtMy4xLTcuMy00LjktMTEuNC00LjktMy42IDAtNi44IDEuMy05LjIgMy43bC00Ni4zIDQ2LjQgMC0zNS43YzAtOS4yLTcuNS0xNi42LTE2LjYtMTYuNnptLTkxLjMgMGMtOS4zIDAtMTYuOSA3LjUtMTYuOSAxNi42bDAgMTEyLjhjMCA4LjQgNy4xIDE1LjIgMTUuOSAxNS4zbDUzLjMgMGM4LjggMCAxNS45LTYuOSAxNS45LTE1LjNzLTcuMi0xNS4yLTE1LjktMTUuMmwtMzUuMyAwIDAtOTcuNmMwLTkuMi03LjYtMTYuNi0xNy0xNi42em0tNzMgODguNmwtMzMuMiAwIDE2LjYtNDcuMSAxNi42IDQ3LjF6Il19LGZ3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmbHV0dGVyIixpY29uOls0NDgsNTEyLFtdLCJlNjk0IiwiTTQyOS41IDIzNi4zTDI5MS43IDM3NC4xIDQyOS41IDUxMiAyNzIgNTEyYy0zNi4xLTM2LjEtODIuMS04Mi4xLTEzNy45LTEzNy45bDEzNy45LTEzNy44IDE1Ny41IDB6TTI3MiAwTDE2IDI1NiA5NC44IDMzNC44IDQyOS41IDAgMjcyIDB6Il19LGh3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJidWZmZXIiLGljb246WzQ0OCw1MTIsW10sImY4MzciLCJNNDI4LjIgMzgwLjdMMjMxLjcgNDc4LjVjLTIuMyAxLTQuOCAxLjUtNy4zIDEuNXMtNS0uNS03LjMtMS41TDIwLjUgMzgwLjdjLTQtMi00LTUuMyAwLTcuM0w2Ny42IDM1MGMyLjMtMSA0LjgtMS41IDcuMy0xLjVzNSAuNSA3LjMgMS41bDEzNC44IDY3YzIuMyAxIDQuOCAxLjUgNy4zIDEuNXM1LS41IDcuMy0xLjVsMTM0LjgtNjdjMi4zLTEgNC44LTEuNSA3LjMtMS41czUgLjUgNy4zIDEuNWw0Ny4xIDIzLjRjNCAyIDQgNS4yIDAgNy4yem0wLTEzNi41bC00Ny4xLTIzLjRjLTIuMy0xLTQuOC0xLjUtNy4zLTEuNXMtNSAuNS03LjMgMS41TDIzMS43IDI4Ny44Yy0yLjMgMS00LjggMS41LTcuMyAxLjVzLTUtLjUtNy4zLTEuNUw4Mi4zIDIyMC43Yy0yLjMtMS00LjgtMS41LTcuMy0xLjVzLTUgLjUtNy4zIDEuNUwyMC41IDI0NC4xYy00IDItNCA1LjMgMCA3LjNsMTk2LjUgOTcuOGMyLjMgMSA0LjggMS41IDcuMyAxLjVzNS0uNSA3LjMtMS41bDE5Ni41LTk3LjhjNC0yIDQtNS4zIDAtNy4zek0yMC41IDEzMC40TDIxNyAyMjAuN2M0LjcgMS45IDEwIDEuOSAxNC43IDBsMTk2LjUtOTAuM2M0LTEuOSA0LTQuOSAwLTYuN0wyMzEuNyAzMy40Yy00LjctMS45LTEwLTEuOS0xNC43IDBMMjAuNSAxMjMuN2MtNCAxLjgtNCA0LjkgMCA2Ljd6Il19LG13dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJncmF0aXBheSIsaWNvbjpbNTEyLDUxMixbXSwiZjE4NCIsIk0yNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyIDI1NiAyNTYgMCAxIDAgMC01MTJ6TTM3NC4zIDIzMy43TDI1Ny43IDM5MS4zIDE0MS4zIDIzMy43Yy05LTEyLjMtMTkuNy01MiAxNC03NC4zIDI5LTE4LjcgNTYuNC00LjMgNzAuNyAxMi4zIDE2LjQgMTguNSA0OC4xIDE3LjQgNjMuNyAwIDE0LjMtMTYuNiA0MS43LTMxIDcwLjMtMTIuMyAzNCAyMi4zIDIzLjMgNjEuOSAxNC4yIDc0LjN6Il19LGd3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29nbGUtcGF5IixpY29uOls2NDAsNTEyLFtdLCJlMDc5IiwiTTEwNS43IDIxNWwwIDQxLjIgNTcuMSAwYy0xLjIgNi42LTMuNiAxMi45LTcuMiAxOC41cy04LjQgMTAuNC0xMy45IDE0LjFjLTkuNSA2LjYtMjEuNyAxMC4zLTM2IDEwLjMtMjcuNiAwLTUwLjktMTguOS01OS4zLTQ0LjItNC40LTEzLjMtNC40LTI3LjcgMC00MSA4LjQtMjUuNSAzMS43LTQ0LjQgNTkuMy00NC40IDcuNS0uMSAxNC45IDEuMiAyMS45IDRzMTMuMyA2LjkgMTguNiAxMi4xTDE3Ni41IDE1NWMtMTkuMS0xOC4xLTQ0LjQtMjguMS03MC43LTI3LjgtMTkuNyAuMS0zOC45IDUuNy01NS42IDE2LjFzLTMwLjEgMjUuMy0zOC44IDQzQzMuOSAyMDEuMiAwIDIxNy43IDAgMjM0LjRzMy45IDMzLjIgMTEuMyA0OC4xbDAgLjJjOC43IDE3LjcgMjIuMSAzMi41IDM4LjggNDNzMzUuOSAxNiA1NS42IDE2YzI4LjUgMCA1Mi41LTkuNSA3MC0yNS45IDIwLTE4LjYgMzEuNC00Ni4yIDMxLjQtNzguOSAwLTcuMy0uNi0xNC42LTEuOC0yMS44bC05OS43IDB6bTM4OS40LTRjLTEwLjEtOS40LTIzLjktMTQuMS00MS40LTE0LjEtMjIuNSAwLTM5LjMgOC4zLTUwLjUgMjQuOUw0MjQuMSAyMzVjNy42LTExLjMgMTguMS0xNyAzMS4zLTE3IDguNCAwIDE2LjUgMy4yIDIyLjcgOC44IDMgMi42IDUuNSA1LjkgNy4xIDkuNnMyLjUgNy42IDIuNSAxMS43bDAgNS41Yy05LjEtNS4xLTIwLjYtNy44LTM0LjYtNy44LTE2LjQgMC0yOS42IDMuOS0zOS41IDExLjhzLTE0LjggMTguMy0xNC44IDMxLjZjLS4yIDUuOSAxIDExLjggMy40IDE3LjJzNiAxMC4yIDEwLjUgMTQuMWM5LjIgOC4zIDIxIDEyLjUgMzQuOCAxMi41IDE2LjMgMCAyOS4yLTcuMyAzOS0yMS45bDEgMCAwIDE3LjcgMjIuNiAwIDAtNzguN2MuMS0xNi42LTQuOS0yOS43LTE1LTM5em0tMTkuMiA4OS4zYy0zLjUgMy41LTcuNiA2LjMtMTIuMiA4LjJzLTkuNSAyLjktMTQuNCAyLjljLTYuNyAuMS0xMy4xLTIuMS0xOC4zLTYuMi0yLjQtMS44LTQuNC00LjItNS43LTYuOXMtMi01LjctMi04LjdjMC03IDMuMi0xMi44IDkuNS0xNy40czE0LjUtNyAyNC4xLTdjMTMuMi0uMiAyMy41IDIuOCAzMC44IDguOCAwIDEwLjEtNCAxOC45LTExLjcgMjYuNHptLTkzLjctMTQyYy01LjMtNS4zLTExLjYtOS41LTE4LjYtMTIuM3MtMTQuNC00LjItMjEuOS00bC02Mi43IDAgMCAxODYuNyAyMy42IDAgMC03NS42IDM5IDBjMTYgMCAyOS41LTUuNCA0MC41LTE1LjkgLjktLjkgMS44LTEuOCAyLjYtMi43IDkuNi0xMC41IDE0LjgtMjQuNCAxNC4zLTM4LjZzLTYuNi0yNy43LTE2LjktMzcuNmwwIDB6bS0xNi42IDYyLjJjLTMgMy4yLTYuNiA1LjctMTAuNiA3LjRzLTguNCAyLjUtMTIuNyAyLjNsLTM5LjYgMCAwLTY1LjIgMzkuNiAwYzguNSAwIDE2LjYgMy4zIDIyLjYgOS4yIDYuMSA2LjEgOS42IDE0LjMgOS44IDIzcy0zLjEgMTctOSAyMy4zbDAgMHpNNjE0LjMgMjAxbC0zNi41IDkxLjctLjUgMC0zNy40LTkxLjctMjUuNyAwIDUxLjggMTE5LjYtMjkuNCA2NC4zIDI0LjMgMCA3OS0xODMuOS0yNS43IDB6Il19LGJ3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhcHBsZSIsaWNvbjpbMzg0LDUxMixbXSwiZjE3OSIsIk0zMTkuMSAyNjguN2MtLjItMzYuNyAxNi40LTY0LjQgNTAtODQuOC0xOC44LTI2LjktNDcuMi00MS43LTg0LjctNDQuNi0zNS41LTIuOC03NC4zIDIwLjctODguNSAyMC43LTE1IDAtNDkuNC0xOS43LTc2LjQtMTkuNy01NS44IC45LTExNS4xIDQ0LjUtMTE1LjEgMTMzLjIgMCAyNi4yIDQuOCA1My4zIDE0LjQgODEuMiAxMi44IDM2LjcgNTkgMTI2LjcgMTA3LjIgMTI1LjIgMjUuMi0uNiA0My0xNy45IDc1LjgtMTcuOSAzMS44IDAgNDguMyAxNy45IDc2LjQgMTcuOSA0OC42LS43IDkwLjQtODIuNSAxMDIuNi0xMTkuMy02NS4yLTMwLjctNjEuNy05MC02MS43LTkxLjl6TTI2Mi41IDEwNC41YzI3LjMtMzIuNCAyNC44LTYxLjkgMjQtNzIuNS0yNC4xIDEuNC01MiAxNi40LTY3LjkgMzQuOS0xNy41IDE5LjgtMjcuOCA0NC4zLTI1LjYgNzEuOSAyNi4xIDIgNDkuOS0xMS40IDY5LjUtMzQuM3oiXX0sdnd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InR1bWJsciIsaWNvbjpbMzIwLDUxMixbXSwiZjE3MyIsIk0zMDkuOSA0ODAuM2MtMTMuNiAxNC41LTUwIDMxLjctOTcuNCAzMS43LTEyMC44IDAtMTQ3LTg4LjgtMTQ3LTE0MC42bDAtMTQ0LTQ3LjUgMGMtNS41IDAtMTAtNC41LTEwLTEwbDAtNjhjMC03LjIgNC41LTEzLjYgMTEuMy0xNiA2Mi0yMS44IDgxLjUtNzYgODQuMy0xMTcuMSAuOC0xMSA2LjUtMTYuMyAxNi4xLTE2LjNsNzAuOSAwYzUuNSAwIDEwIDQuNSAxMCAxMGwwIDExNS4yIDgzIDBjNS41IDAgMTAgNC40IDEwIDkuOWwwIDgxLjdjMCA1LjUtNC41IDEwLTEwIDEwbC04My40IDAgMCAxMzMuMmMwIDM0LjIgMjMuNyA1My42IDY4IDM1LjggNC44LTEuOSA5LTMuMiAxMi43LTIuMiAzLjUgLjkgNS44IDMuNCA3LjQgNy45bDIyIDY0LjNjMS44IDUgMy4zIDEwLjYtLjQgMTQuNXoiXX0seHd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBob2VuaXgtc3F1YWRyb24iLGljb246WzUxMiw1MTIsW10sImY1MTEiLCJNOTYgNjMuNGM0Ni41LTM2LjEgMTA1LjYtNTYuMSAxNjQuNS01NC42IDI5LjYtLjQgNTkuMSA1LjQgODYuOSAxNS4zLTI0LjEtNC42LTQ5LTYuMy03My40LTIuNS00Mi45IDUuMy04MyAyNy4yLTExMS44IDU5LjIgNS43LTEgMTAuOC0zLjcgMTYtNS45IDE4LjEtNy45IDM3LjUtMTMuMyA1Ny4yLTE0LjggMTkuNy0yLjEgMzkuNi0uNCA1OS4zIDEuOS0xNC40IDIuOC0yOS4xIDQuNi00MyA5LjYtMzQuNCAxMS4xLTY1LjMgMzMuMi04Ni4zIDYyLjYtMTMuOCAxOS43LTIzLjYgNDIuOS0yNC43IDY3LjEtLjQgMTYuNSA1LjIgMzQuOCAxOS44IDQ0IDExLjIgNi44IDI0LjYgOS4yIDM3LjUgNi43IDE1LjQtMi41IDMwLjEtOC42IDQzLjYtMTYuMyAxMS41LTYuOCAyMi43LTE0LjYgMzItMjQuMyAzLjgtMy4yIDIuNS04LjQgMi42LTEyLjgtMi4xLS4zLTQuNC0xLjEtNi4zIC4zLTExLjQgNi4zLTIzLjQgMTEuNC0zNS44IDE1LjQtMjAgNi4yLTQyLjIgOC41LTYyLjEgLjggMTIuOCAxLjcgMjYuMSAuMyAzNy43LTUuNCAyMC4yLTkuNyAzNi44LTI1LjIgNTQuNC0zOC44IDI3LjctMjEuMyA1Ny41LTM5LjkgODguOS01NS4zIDI1LjctMTIgNTIuOS0yMi44IDgxLjYtMjQuMS0xNS42IDEzLjctMzIuMSAyNi41LTQ2LjggNDEuNC0xNC41IDE0LTI3LjUgMjkuNS00MC4xIDQ1LjItMy41IDQuNi05IDYuOS0xMy42IDEwLjItMjIuNCAxNS00MC4zIDM1LjgtNTEuOSA2MC4xLTkuMyAxOS43LTE0LjUgNDEuOS0xMS44IDYzLjYgMS45IDEzLjcgOC43IDI3LjYgMjAuOSAzNC45IDEyLjkgOCAyOSA4LjEgNDMuNSA1LjEgMzIuOC03LjQgNjEuNC0yOC45IDgxLTU1LjggMjAuNC0yNy41IDMwLjUtNjIuMiAyOS4yLTk2LjMtLjUtNy41LTEuNi0xNS0xLjctMjIuNSA4IDE5LjUgMTQuOCAzOS43IDE2LjYgNjAuOCAyIDE0LjMgLjcgMjguOC0xLjYgNDIuOS0xLjkgMTEtNS43IDIxLjUtNy44IDMyLjQgMjAuNC0yMi45IDM0LTUwLjkgMzkuMy04MS4xIDUuNi0zNS41IC43LTcxLjktMTQuMi0xMDQuNiAyMC44IDMyIDMyLjMgNjkuNiAzNS43IDEwNy41IC41IDEyLjcgLjUgMjUuNSAwIDM4LjItMi44IDM0LjMtMTIuOSA2Ny42LTI5LjYgOTcuOC0yNi4xIDQ3LjMtNjggODUuNi0xMTcuMiAxMDgtNzguMyAzNi4yLTE3NC43IDMxLjMtMjQ4LTE0LjctMzktMjMuOC03MC42LTU4LTkxLjQtOTguNy0xNC43LTI4LjktMjMuMy02MC41LTI1LjQtOTIuOWwwLTMxLjNDMy45IDE3MiA0MC45IDEwNS44IDk2IDYzLjR6bTIyMiA4MC4zYzUuNS0uOSAxMC44LTIuNCAxNi00LjUgNS0xLjggOS4yLTUuOSAxMC4zLTExLjItOSA1LTE4IDkuOS0yNi4zIDE1Ljd6Il19LHl3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjZW50ZXJjb2RlIixpY29uOls1MTIsNTEyLFtdLCJmMzgwIiwiTTIwMS44IDI1NC44YTY0LjEgNjQuMSAwIDEgMSAxMjcuNCAxMy44IDY0LjEgNjQuMSAwIDEgMSAtMTI3LjQtMTMuOHptNDEuNiAyNDguOUM5Ni43IDQ5Ni04LjIgMzY1LjUgMTAuMSAyMjQuMyAyMS4zIDEzNy43IDc1LjkgNjcuNCAxNDkuMiAzMi4zIDMxMC4yLTQ0LjggNDk4LjkgNjkuNyA1MDMuOSAyNDguOSA1MDggMzk1LjkgMzg1LjUgNTExLjEgMjQzLjQgNTAzLjd6bTE3OS45LTE4MGMyNy45LTExOC0xNjAuNS0yMDUuOS0yMzcuMi0yMzQuMi01Ny41IDU2LjMtNjkuMSAxODguNi0zMy44IDM0NC40IDY4LjggMTUuOCAxNjkuMS0yNi40IDI3MS0xMTAuMnoiXX0sd3d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRlYmlhbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTYwYiIsIk0zODAuNCAyNDUuNmMzLTcuNiA1LjUtMTQgNS4yLTI0LjRsLTQuMyA5YzQuNC0xMy4yIDQtMjcuMSAzLjYtNDAuNC0uMi02LS4zLTExLjggMC0xNy40bC0xLjgtLjVjLTEuNS00NS4yLTQwLjYtOTMuMS03NS4zLTEwOS40LTMwLTEzLjgtNzYuMS0xNi4yLTk3LjMtNS44IDEuMy0xLjEgNC4yLTIgNi44LTIuN2wuMy0uMWMzLjMtMSA2LTEuNyA0LTIuOS0xOS4yIDEuOS0yNC45IDUuNS0zMS4xIDkuNGwtLjEgMGMtNC42IDIuOS05LjUgNi0yMC4zIDguNy0zLjUgMy40IDEuNyAyIDUuOCAuOXM3LjItMS45LS4xIDIuNGMtMy41IDEtNi42IDEuMy05LjYgMS42bC0uMSAwYy04LjMgLjgtMTUuOCAxLjYtMzAuNyAxNyAuOCAxLjMgMy40LS4yIDUuMy0xLjNsLjEtLjFjMi4zLTEuNCAzLjQtMi0xLjcgNC40LTE5LjEtMi40LTYwLjMgNDMuNy02OS4xIDU5bDQuNiAuOGMtMy4yIDgtNi44IDE0LjgtMTAgMjAuOC00LjMgOC4xLTcuOSAxNC45LTguNyAyMS4zLS4zIDUuMS0xIDExLTEuNyAxNy4zLS4xIDEtLjIgMi0uMyAzbC0uMSAuNmMtMyAyNy4zLTYuNyA2MC44IDMuOSA3M2wtMS4zIDEzYy42IDEuMiAxLjEgMi4zIDEuNiAzLjUgLjIgLjQgLjQgLjggLjUgMS4xIDEgMi4xIDIgNC4yIDMuMyA2LjJsLTMgLjJjNyAyMi4xIDEwLjggMjIuNSAxNS4xIDIyLjkgNC40IC40IDkuMyAuOSAxOC43IDI0LjItMi43LS45LTUuNS0xLjktOS40LTcuMi0uNSA0LjEgNS44IDE2LjMgMTMuMSAyNS44bC0zLjEgMy42YzIuMSAzLjcgNC44IDYuMiA3LjYgOC44IDEgLjkgMi4xIDEuOSAzLjEgMi45LTExLjktNi41IDMuMiAxMy43IDExLjkgMjUuMiAuOCAxLjEgMS41IDIgMi4yIDIuOSAxLjQgMS45IDIuNSAzLjQgMi45IDQuMWwyLjQtNC4yYy0uMyA2LjEgNC4zIDEzLjkgMTMuMSAyNC43bDcuMy0uM2MzIDYgMTQgMTYuNyAyMC43IDE3LjJsLTQuNCA1LjhjOC4xIDIuNiAxMC4zIDQuMyAxMi43IDYuMiAyLjYgMi4xIDUuNCA0LjMgMTYuMSA4LjFsLTQuMi03LjRjMy41IDMgNi4yIDUuOSA4LjggOC43bC4xIC4xYzUuMiA1LjYgOS45IDEwLjYgMTkuNyAxNS4zIDEwLjcgMy43IDE2LjYgNC43IDIyLjcgNS44IC4zIDAgLjYgLjEgLjkgLjEgNS40IC44IDExLjIgMS44IDIwLjggNC41LTEuMS0uMS0yLjItLjEtMy4zLS4xLTIuMy0uMS00LjctLjEtNy0uMS0xNC40LS4yLTI5LjItLjQtNDIuNy01LjItOTYuNi0yNS43LTE4NC45LTEzOS0xNzguNC0yNTUuNi0uNi05LjktLjMtMjAuOSAwLTMwLjcgLjQtMTMuNSAuNy0yNC44LTEuNi0yOC4zbDEtMy4xYzUuMy0xNy40IDExLjctMzguMiAyMy44LTYyLjhsLS4xLS4yIDAtLjFjLjQgLjQgMy40IDMuNCA4LjgtNS44IC44LTEuOCAxLjYtMy43IDIuNC01LjYgLjUtMS4xIC45LTIuMiAxLjQtMy4yIDIuNS02LjEgNS4xLTEyLjMgOC40LTE3LjlsMi42LS42YzEuNy0xMC4xIDE3LTIzLjggMjkuOC0zNS4ybDEuMS0xYzUuNy01LjEgMTAuNy05LjcgMTMuNi0xMy4xbC43IDQuNGMxNy0xNS45IDQ0LjYtMjcuNSA2NS42LTM2LjRsLjUtLjJjNC44LTIgOS4zLTMuOSAxMy4zLTUuNy0zLjQgMy44IDIuMiAyLjcgMTAgMSA0LjgtMSAxMC40LTIuMSAxNS4zLTIuNGwtMy45IDIuMWMtMi43IDEuNC01LjQgMi44LTggNC42IDguMS0yIDExLjctMS40IDE1LjctLjhsLjMgMGMzLjUgLjYgNy4zIDEuMiAxNC42IC4yLTUuNiAuOC0xMi4zIDMtMTEuMiAzLjggNy45IC45IDEyLjgtLjEgMTcuMi0xbC4yIDBjNS41LTEuMSAxMC4zLTIgMTkuMyAuOWwtMS00LjhjNy4zIDIuNiAxMi43IDQuMyAxNy41IDUuOGwuNSAuMWMxMCAzIDE3LjYgNS4zIDM0LjIgMTQuMSAzLjIgLjIgNS4zLS41IDcuNC0xLjJsLjEgMGMzLjYtMS4xIDctMi4xIDE1LjIgMS4yIC4zIC41IC41IDEgLjcgMS40IC4xIC4yIC4yIC41IC4zIC43bDAgLjFjMSAyLjYgMS44IDQuNiAxNC42IDEyLjEgMS43LS43LTIuNy00LjctNi40LTguMmwtLjEtLjFjLS4yLS4xLS4zLS4zLS41LS40IDMyLjIgMTcuMyA2Ny4zIDU0LjEgNzggOTMuNS02LTExLjEtNS4yLTUuNS00LjMgLjUgLjYgNCAxLjIgOC4xLS4yIDcuNSA0LjUgMTIuMSA4LjEgMjQuNSAxMC40IDM3LjRsLS44LTIuOS0uMS0uM2MtMy4zLTExLjktOS42LTM0LjMtMTkuOS00OS4zLS40IDQuMy0yLjggMy45LTUuMiAzLjVsLS4xIDBjLTMuMy0uNi02LjItMS4xLTEuOSAxMi42IDIuNiAzLjggMy4xIDIuNCAzLjUgMS4xIC41LTEuNSAuOS0yLjcgNC43IDUuMiAuMSA0LjEgMSA4LjIgMi4xIDEyLjdsLjEgLjZjLjEgLjMgLjEgLjUgLjIgLjhsLjEgLjZjLjYgMi42IDEuMyA1LjQgMS44IDguNC0xLjEtLjItMi4zLTIuMi0zLjQtNC4yLTEuNC0yLjQtMi44LTQuNy0zLjctMy4yIDIuNCAxMS41IDYuNSAxNy40IDggMTguMy0uMyAuNi0uNiAuNy0xLjEgLjctLjggMC0xLjggLjEtMS45IDUuMyAuNyAxMy43IDMuMyAxMi41IDUuMyAxMS42IC42LS4zIDEuMi0uNiAxLjctLjQtLjYgMi41LTEuNiA1LjEtMi43IDcuOS0yLjggNy4xLTYgMTUuNC0zLjQgMjYuMS0uOC0zLTItNi0zLjEtOC45bC0uMS0uNGMtLjItLjUtLjQtMS0uNi0xLjUtLjMtLjgtLjYtMS42LS45LTIuMy0uNiA0LjQtLjMgNy43LS4xIDEwLjZsMCAuN2MuNCA1LjMgLjcgMTAtMyAxOS45IDQuMy0xNC4yIDMuOC0yNi45LS4yLTIwLjggMSAxMC45LTMuNyAyMC40LTggMjguOWwtLjEgLjJjLTMuNiA3LjEtNi44IDEzLjUtNS45IDE5LjNsLTUuMi03LjFjLTcuNSAxMC45LTcgMTMuMy02LjUgMTUuNWwwIC4xYy41IDEuOSAxIDMuOC0zLjQgMTAuOCAxLjctMi45IDEuMy0zLjYgMS00LjItLjQtLjgtLjctMS41IDEuNy01LjEtMS42IC4xLTUuNSAzLjktMTAuMSA4LjUtMy45IDMuOS04LjUgOC40LTEyLjggMTEuOC0zNy41IDMwLjEtODIuMyAzNC0xMjUuNiAxNy44IC4yLTEtLjItMi4xLTMuMS00LjEtMzYuOC0yOC4yLTU4LjUtNTIuMS01MC45LTEwNy41IDIuMS0xLjYgMy42LTUuOCA1LjMtMTAuOGwuMi0uNCAuMS0uMyAwLS4xYzIuOS04LjQgNi41LTE4LjggMTQuMy0yMy44IDcuOC0xNy4zIDMxLjMtMzMuMyA1Ni40LTMzLjcgMjUuNi0xLjQgNDcuMiAxMy43IDU4LjEgMjcuOS0xOS44LTE4LjQtNTIuMS0yNC03OS43LTEwLjQtMjguMiAxMi43LTQ1IDQzLjgtNDIuNSA3NC43IC4zLS40IC42LS42IC45LS44bC4yLS4yYy42LS41IDEuMS0uOSAxLjQtMy4zLS45IDYwLjIgNjQuOCAxMDQuMyAxMTIuMSA4MmwuNiAxLjNjMTIuNy0zLjUgMTUuOS02LjUgMjAuMy0xMC43bC4xLS4xYzIuMi0yLjEgNC43LTQuNSA4LjktNy4zLS4zIC43LTEuMyAxLjctMi40IDIuNy0yLjIgMi4xLTQuNiA0LjUtMS42IDQuNiA1LTEuMyAxOC41LTEzLjQgMjguNS0yMi4zIC42LS41IDEuMi0xIDEuNy0xLjUgMS41LTEuMyAyLjgtMi41IDQtMy42bC4zLS4zYzEuOS00LjIgMS42LTUuNiAxLjMtN2wwLS4xYy0uNC0xLjYtLjgtMy4zIDIuNC05LjZsNy4zLTMuN2MuOC0yLjEgMS41LTQuMSAyLjItNiAuMi0uNiAuNS0xLjIgLjctMS44bC0uNC0uMi0uMS0uMXpNMjQ4IDMzNC4xYy02LTMtMTMuNy04LjktMTQuOC0xMS40bC0uNCAuM2MtLjMgLjYtLjUgMS4zLS4yIDIuMi0xMi4yLTUuNy0yMy40LTE0LjMtMzIuNi0yNC45IDQuOSA3LjEgMTAuMSAxNC4xIDE3IDE5LjUtNi45LTIuMy0xNS4xLTExLjgtMjEuNi0xOS4zbC0uMS0uMWMtNC4zLTUtNy45LTkuMS05LjctOS41IDE5LjggMzUuNSA4MC41IDYyLjMgMTEyLjMgNDktMTQuNyAuNS0zMy40IC4zLTQ5LjktNS44em03OS4zLTExOS43bC0uMS0uMmMtLjUtMS41LTEuMS0zLjEtMS43LTMuNCAxLjQtNS44IDUuNC0xMC43IDQuNCA0LjYtMSAzLjgtMS44IDEuNS0yLjYtMXptLTQuMiAyMi4yYy0xLjMgNy45LTUgMTUuNS0xMC4xIDIyLjUgLjItMi0xLjItMi40LTIuNi0yLjgtMi45LS44LTUuOS0xLjYgNS42LTE2LjEtLjUgMS45LTIuMSA0LjYtMy43IDcuM2wtLjMgLjRjLTMuNiA1LjktNi43IDExIDQgNC4zbDEtMS44YzIuNi00LjUgNS04LjggNi0xMy44bC4xIDB6bS01NS42IDMzLjljNy4xIC42IDE0LjEgLjYgMjEtMS4xLTIuNSAyLjQtNS4yIDQuOC04LjMgNy4yLTExLjEtMS43LTIxLjItNi0xMi43LTYuMXptLTkyLjYgMTEuNmMzLjYgNy4xIDYuNCAxMS41IDkgMTUuN2wuMSAuMmMyLjMgMy43IDQuNCA3LjEgNi44IDExLjctNS4xLTQuMi04LjctOS41LTEyLjUtMTVsLS4zLS41Yy0xLjQtMi4xLTIuOC00LjItNC40LTYuMmwxLjItNS45IC4xIDB6bTcuNS05LjZjMS42IDMuMyAzLjIgNi40IDUuNyA5LjFsMi42IDcuNy0xLjMtMi4xYy0zLjItNS4zLTYuMy0xMC42LTgtMTYuN2wxIDJ6bTIzOC45LTQxLjZjLTIuMyAxNy40LTcuNyAzNC42LTE2IDUwLjMgNy42LTE0LjkgMTIuNS0zMC45IDE0LjgtNDcuMmwxLjItMy4xek0zNS44IDExMC42Yy40IC44IDEuNCAuNSAyLjMgLjMgMS45LS41IDMuNi0uOS0uMSA3LjYtLjUgLjMtMSAuNy0xLjUgMS0xLjQgLjktMi44IDEuOS0zLjkgMyAxLjktMy44IDMuNS03LjQgMy4yLTExLjl6TTI1LjUgMTUyLjNjLS43IDMuNy0xLjUgNy45LTMuNCAxMy45IC4yLTEuOSAwLTMuNS0uMi00LjlsMC0uMWMtLjQtMy40LS43LTYuMyA0LjMtMTIuOC0uMyAxLjItLjUgMi41LS43IDMuOGwwIC4xeiJdfSxNd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWFzdG9kb24iLGljb246WzQ0OCw1MTIsW10sImY0ZjYiLCJNNDMzIDE3OS4xYzAtOTcuMi02My43LTEyNS43LTYzLjctMTI1LjctNjIuNS0yOC43LTIyOC42LTI4LjQtMjkwLjUgMCAwIDAtNjMuNyAyOC41LTYzLjcgMTI1LjcgMCAxMTUuNy02LjYgMjU5LjQgMTA1LjYgMjg5LjEgNDAuNSAxMC43IDc1LjMgMTMgMTAzLjMgMTEuNCA1MC44LTIuOCA3OS4zLTE4LjEgNzkuMy0xOC4xbC0xLjctMzYuOXMtMzYuMyAxMS40LTc3LjEgMTAuMWMtNDAuNC0xLjQtODMtNC40LTg5LjYtNTQtLjYtNC42LS45LTkuMy0uOS0xMy45IDg1LjYgMjAuOSAxNTguNyA5LjEgMTc4LjcgNi43IDU2LjEtNi43IDEwNS00MS4zIDExMS4yLTcyLjkgOS44LTQ5LjggOS0xMjEuNSA5LTEyMS41ek0zNTcuOSAzMDQuM2wtNDYuNiAwIDAtMTE0LjJjMC00OS43LTY0LTUxLjYtNjQgNi45bDAgNjIuNS00Ni4zIDAgMC02Mi41YzAtNTguNS02NC01Ni42LTY0LTYuOWwwIDExNC4yLTQ2LjcgMGMwLTEyMi4xLTUuMi0xNDcuOSAxOC40LTE3NSAyNS45LTI4LjkgNzkuOC0zMC44IDEwMy44IDYuMWwxMS42IDE5LjUgMTEuNi0xOS41YzI0LjEtMzcuMSA3OC4xLTM0LjggMTAzLjgtNi4xIDIzLjcgMjcuMyAxOC40IDUzIDE4LjQgMTc1bDAgMHoiXX0sa3d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNrZXRjaCIsaWNvbjpbNTEyLDUxMixbXSwiZjdjNiIsIk0yNy44IDE2Mi4ybC0xOC41IDI0LjkgOTAuNSAwIDYuOS0xMzAuNy03OC45IDEwNS44ek0zOTYuNiA0NS43TDI2OCAzMiA0MDMuNyAxNzkuMiAzOTYuNiA0NS43ek0xMTIuNSAyMTguM2wtMTEuMi0yMi05MS4xIDAgMjI0LjkgMjYxLjctMTIyLjYtMjM5Ljd6bTItMzEuMmwyODQgMEMzNDAuNiAxMjQuMyAyOTMuMyA3Mi45IDI1Ni42IDMzTDExNC41IDE4Ny4xem0yOTcuMyA5LjFsLTEzMy45IDI2MS44IDIyNC44LTI2MS43LTkwLjkgMCAwLS4xek00MTUuNyA2OWwtOS40LTEyLjYgLjkgMTcuMyA2LjEgMTEzLjQgOTAuMyAwLTg3LjktMTE4LjF6TTExMy44IDkzLjVMMTA5LjIgMTc5LjEgMjQ1IDMyIDExNi40IDQ1LjcgMTEzLjggOTMuNXpNNDAxLjUgMTk2LjJsLTI5MCAwYzE4LjIgMzUuNiA2Ni42IDEzMC4yIDE0NS4xIDI4My44TDQwMS41IDE5Ni4yeiJdfSxTd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2ViLWF3ZXNvbWUiLGljb246WzY0MCw1MTIsW10sImU2ODIiLCJNMzcyLjIgNTJjMCAyMC45LTEyLjQgMzktMzAuMiA0Ny4yTDQ0OCAxOTIgNTUyLjQgMTcxLjFjLTUuMy03LjctOC40LTE3LjEtOC40LTI3LjEgMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGMwIDI2LTIwLjYgNDcuMS00Ni40IDQ4TDQ4MSA0NDIuM2MtMTAuMyAyMy0zMy4yIDM3LjctNTguNCAzNy43bC0yMDUuMiAwYy0yNS4yIDAtNDgtMTQuOC01OC40LTM3LjdMNDYuNCAxOTJDMjAuNiAxOTEuMSAwIDE3MCAwIDE0NCAwIDExNy41IDIxLjUgOTYgNDggOTZzNDggMjEuNSA0OCA0OGMwIDEwLjEtMy4xIDE5LjQtOC40IDI3LjFMMTkyIDE5MiAyOTguMSA5OS4xYy0xNy43LTguMy0zMC0yNi4zLTMwLTQ3LjEgMC0yOC43IDIzLjMtNTIgNTItNTJzNTIgMjMuMyA1MiA1MmwuMSAweiJdfSx6d3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2FzcyIsaWNvbjpbNjQwLDUxMixbXSwiZjQxZSIsIk0zMDEuOCAzNzguOWwwIDB6bTI0OS4xLTg3Yy0yMC4xIDAtNDAgNC42LTU4IDEzLjUtNS45LTExLjktMTItMjIuMy0xMy0zMC4xLTEuMi05LjEtMi41LTE0LjUtMS4xLTI1LjNzNy43LTI2LjEgNy42LTI3LjItMS40LTYuNi0xNC4zLTYuNy0yNCAyLjUtMjUuMyA1LjljLTIuMyA2LjItNC4xIDEyLjYtNS4zIDE5LjEtMi4zIDExLjctMjUuOCA1My41LTM5LjEgNzUuMy00LjQtOC41LTguMS0xNi04LjktMjItMS4yLTkuMS0yLjUtMTQuNS0xLjEtMjUuM3M3LjctMjYuMSA3LjYtMjcuMi0xLjQtNi42LTE0LjMtNi43LTI0IDIuNS0yNS4zIDUuOS0yLjcgMTEuNC01LjMgMTkuMS0zMy45IDc3LjMtNDIuMSA5NS40Yy00LjIgOS4yLTcuOCAxNi42LTEwLjQgMjEuNi0uNCAuOC0uNyAxLjMtLjkgMS43IC4zLS41IC41LTEgLjUtLjgtMi4yIDQuMy0zLjUgNi43LTMuNSA2LjdsMCAuMWMtMS43IDMuMi0zLjYgNi4xLTQuNSA2LjEtLjYgMC0xLjktOC40IC4zLTE5LjkgNC43LTI0LjIgMTUuOC02MS44IDE1LjctNjMuMS0uMS0uNyAyLjEtNy4yLTcuMy0xMC43LTkuMS0zLjMtMTIuNCAyLjItMTMuMiAyLjJzLTEuNCAyLTEuNCAyIDEwLjEtNDIuNC0xOS40LTQyLjRjLTE4LjQgMC00NCAyMC4yLTU2LjYgMzguNS03LjkgNC4zLTI1IDEzLjYtNDMgMjMuNS02LjkgMy44LTE0IDcuNy0yMC43IDExLjQtLjUtLjUtLjktMS0xLjQtMS41LTM1LjgtMzguMi0xMDEuOS02NS4yLTk5LjEtMTE2LjUgMS0xOC43IDcuNS02Ny44IDEyNy4xLTEyNy40IDk4LTQ4LjggMTc2LjMtMzUuNCAxODkuOC01LjYgMTkuNCA0Mi41LTQxLjkgMTIxLjYtMTQzLjcgMTMzLTM4LjggNC4zLTU5LjItMTAuNy02NC4zLTE2LjMtNS4zLTUuOS02LjEtNi4yLTguMS01LjEtMy4zIDEuOC0xLjIgNyAwIDEwLjEgMyA3LjkgMTUuNSAyMS45IDM2LjggMjguOSAxOC43IDYuMSA2NC4yIDkuNSAxMTkuMi0xMS44IDYxLjgtMjMuOCAxMDkuOS05MC4xIDk1LjgtMTQ1LjYtMTQuNC01Ni40LTEwNy45LTc0LjktMTk2LjMtNDMuNS01Mi43IDE4LjctMTA5LjcgNDguMS0xNTAuNyA4Ni40LTQ4LjcgNDUuNi01Ni41IDg1LjMtNTMuMyAxMDEuOSAxMS40IDU4LjkgOTIuNiA5Ny4zIDEyNS4xIDEyNS43LTEuNiAuOS0zLjEgMS43LTQuNSAyLjUtMTYuMyA4LjEtNzguMiA0MC41LTkzLjcgNzQuNy0xNy41IDM4LjggMi45IDY2LjYgMTYuMyA3MC40IDQxLjggMTEuNiA4NC42LTkuMyAxMDcuNi00My42czIwLjItNzkuMSA5LjYtOTkuNWMtLjEtLjMtLjMtLjUtLjQtLjggNC4yLTIuNSA4LjUtNSAxMi44LTcuNSA4LjMtNC45IDE2LjQtOS40IDIzLjUtMTMuMy00IDEwLjgtNi45IDIzLjgtOC40IDQyLjYtMS44IDIyIDcuMyA1MC41IDE5LjEgNjEuNyA1LjIgNC45IDExLjUgNSAxNS40IDUgMTMuOCAwIDIwLTExLjQgMjYuOS0yNSA4LjUtMTYuNiAxNi0zNS45IDE2LTM1LjlzLTkuNCA1Mi4yIDE2LjMgNTIuMmM5LjQgMCAxOC44LTEyLjEgMjMtMTguM2wwIC4xcy4yLS40IC43LTEuMmMxLTEuNSAxLjUtMi40IDEuNS0yLjRsMC0uM2MzLjgtNi41IDEyLjEtMjEuNCAyNC42LTQ2IDE2LjItMzEuOCAzMS43LTcxLjUgMzEuNy03MS41IDEuNSA4LjcgMy42IDE3LjMgNi4yIDI1LjggMi44IDkuNSA4LjcgMTkuOSAxMy40IDMwLTMuOCA1LjItNi4xIDguMi02LjEgOC4yIDAgLjEgMCAuMSAuMSAuMi0zIDQtNi40IDguMy05LjkgMTIuNS0xMi44IDE1LjItMjggMzIuNi0zMCAzNy42LTIuNCA1LjktMS44IDEwLjMgMi44IDEzLjcgMy40IDIuNiA5LjQgMyAxNS43IDIuNSAxMS41LS44IDE5LjYtMy42IDIzLjUtNS40IDcuMi0yLjYgMTQtNi4xIDIwLjItMTAuNiAxMi41LTkuMiAyMC4xLTIyLjQgMTkuNC0zOS44LS40LTkuNi0zLjUtMTkuMi03LjMtMjguMiAxLjEtMS42IDIuMy0zLjMgMy40LTUgMTkuOC0yOC45IDM1LjEtNjAuNiAzNS4xLTYwLjYgMS41IDguNyAzLjYgMTcuMyA2LjIgMjUuOCAyLjQgOC4xIDcuMSAxNyAxMS40IDI1LjctMTguNiAxNS4xLTMwLjEgMzIuNi0zNC4xIDQ0LjEtNy40IDIxLjMtMS42IDMwLjkgOS4zIDMzLjEgNC45IDEgMTEuOS0xLjMgMTcuMS0zLjUgNy43LTIuNiAxNS02LjMgMjEuNi0xMS4xIDEyLjUtOS4yIDI0LjYtMjIuMSAyMy44LTM5LjYtLjMtNy45LTIuNS0xNS44LTUuNC0yMy40IDE1LjctNi42IDM2LjEtMTAuMiA2Mi4xLTcuMiA1NS43IDYuNSA2Ni42IDQxLjMgNjQuNSA1NS44cy0xMy44IDIyLjYtMTcuNyAyNS01LjEgMy4zLTQuOCA1LjFjLjUgMi42IDIuMyAyLjUgNS42IDEuOSA0LjYtLjggMjkuMi0xMS44IDMwLjMtMzguNyAxLjYtMzQtMzEuMS03MS40LTg5LTcxLjFsMCAwek0xMjEuOCA0MzYuNmMtMTguNCAyMC4xLTQ0LjIgMjcuNy01NS4zIDIxLjMtMTEuOS02LjktNy4yLTM2LjUgMTUuNS01Ny45IDEzLjgtMTMgMzEuNi0yNSA0My40LTMyLjQgMi43LTEuNiA2LjYtNCAxMS40LTYuOSAuOC0uNSAxLjItLjcgMS4yLS43IC45LS42IDEuOS0xLjEgMi45LTEuNyA4LjMgMzAuNCAuMyA1Ny4yLTE5LjEgNzguM2wwIDB6bTEzNC40LTkxLjRjLTYuNCAxNS43LTE5LjkgNTUuNy0yOC4xIDUzLjYtNy0xLjgtMTEuMy0zMi4zLTEuNC02Mi4zIDUtMTUuMSAxNS42LTMzLjEgMjEuOS00MC4xIDEwLjEtMTEuMyAyMS4yLTE0LjkgMjMuOC0xMC40IDMuNSA1LjktMTIuMiA0OS40LTE2LjIgNTkuMnptMTExIDUzYy0yLjcgMS40LTUuMiAyLjMtNi40IDEuNi0uOS0uNSAxLjEtMi40IDEuMS0yLjRzMTMuOS0xNC45IDE5LjQtMjEuN2MzLjItNCA2LjktOC43IDEwLjktMTMuOSAwIC41IC4xIDEgLjEgMS42LS4xIDE3LjktMTcuMyAzMC0yNS4xIDM0LjhsMCAwem04NS42LTE5LjVjLTItMS40LTEuNy02LjEgNS0yMC43IDIuNi01LjcgOC42LTE1LjMgMTktMjQuNSAxLjIgMy41IDEuOCA3LjEgMS45IDEwLjgtLjEgMjIuNS0xNi4yIDMwLjktMjUuOSAzNC40bDAgMHoiXX0sQ3d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRocmVlbWEiLGljb246WzM4NCw1MTIsW10sImU4NWYiLCJNODcuNCA0NDUuMWMxOC41IDAgMzMuNSAxNSAzMy41IDMzLjRTMTA1LjkgNTEyIDg3LjQgNTEyIDU0IDQ5NyA1NCA0NzguNSA2OSA0NDUuMSA4Ny40IDQ0NS4xem0xMDkuMiAwYzE4LjUgMCAzMy41IDE1IDMzLjUgMzMuNHMtMTUgMzMuNS0zMy41IDMzLjUtMzMuNC0xNS0zMy40LTMzLjUgMTUtMzMuNCAzMy40LTMzLjR6bTEwOS4zIDBjMTguNSAwIDMzLjUgMTUgMzMuNSAzMy40cy0xNSAzMy41LTMzLjUgMzMuNS0zMy41LTE1LTMzLjUtMzMuNSAxNS0zMy40IDMzLjUtMzMuNHpNMTkyLjMgLjNjMTA5LjggMCAxOTkuMiA4OS4zIDE5OS4yIDE5OS4xUzMwMi4yIDM5OC41IDE5Mi40IDM5OC41Yy00MC41IDAtNzguMS0xMi4xLTEwOS42LTMyLjlsLTc2LjUgMjQuNSAyNC44LTc0QzcuMyAyODMuNC02LjggMjQzLTYuOCAxOTkuNC02LjggODkuNyA4Mi41IC4zIDE5Mi4zIC4zem0uMSA5My43Yy0zMS42IDAtNTcuMyAyNS44LTU3LjMgNTcuM2wwIDI2LjctMS44IDBjLTEwIDAtMTggOC0xOCAxOGwwIDcyLjNjMCAxMCA4IDE4IDE4IDE4bDExOC4xIDBjMTAgMCAxOC04IDE4LTE4bC4xIDAgMC03Mi4zYzAtMTAtOC4xLTE4LTE4LTE4bC0xLjggMCAwLTI2LjdjMC0zMS42LTI1LjgtNTcuMy01Ny4zLTU3LjN6bS0uMSAyMy41YzE4LjYgMCAzMy44IDE1LjEgMzMuOCAzMy44bDAgMjYuNy02Ny42IDAgMC0yNi43YzAtMTguNiAxNS4xLTMzLjggMzMuOC0zMy44eiJdfSxxdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXdoYXRzYXBwIixpY29uOls0NDgsNTEyLFsid2hhdHNhcHAtc3F1YXJlIl0sImY0MGMiLCJNOTIuMSAyNTQuNmMwIDI0LjkgNyA0OS4yIDIwLjIgNzAuMWwzLjEgNS0xMy4zIDQ4LjYgNDkuOS0xMy4xIDQuOCAyLjljMjAuMiAxMiA0My40IDE4LjQgNjcuMSAxOC40bC4xIDBjNzIuNiAwIDEzMy4zLTU5LjEgMTMzLjMtMTMxLjggMC0zNS4yLTE1LjItNjguMy00MC4xLTkzLjItMjUtMjUtNTgtMzguNy05My4yLTM4LjctNzIuNyAwLTEzMS44IDU5LjEtMTMxLjkgMTMxLjh6TTI3NC44IDMzMGMtMTIuNiAxLjktMjIuNCAuOS00Ny41LTkuOS0zNi44LTE1LjktNjEuOC01MS41LTY2LjktNTguNy0uNC0uNi0uNy0uOS0uOC0xLjEtMi0yLjYtMTYuMi0yMS41LTE2LjItNDEgMC0xOC40IDktMjcuOSAxMy4yLTMyLjMgLjMtLjMgLjUtLjUgLjctLjggMy42LTQgNy45LTUgMTAuNi01IDIuNiAwIDUuMyAwIDcuNiAuMWwuOCAwYzIuMyAwIDUuMiAwIDguMSA2LjggMS4yIDIuOSAzIDcuMyA0LjkgMTEuOCAzLjMgOCA2LjcgMTYuMyA3LjMgMTcuNiAxIDIgMS43IDQuMyAuMyA2LjktMy40IDYuOC02LjkgMTAuNC05LjMgMTMtMy4xIDMuMi00LjUgNC43LTIuMyA4LjYgMTUuMyAyNi4zIDMwLjYgMzUuNCA1My45IDQ3LjEgNCAyIDYuMyAxLjcgOC42LTEgMi4zLTIuNiA5LjktMTEuNiAxMi41LTE1LjUgMi42LTQgNS4zLTMuMyA4LjktMnMyMy4xIDEwLjkgMjcuMSAxMi45Yy44IC40IDEuNSAuNyAyLjEgMSAyLjggMS40IDQuNyAyLjMgNS41IDMuNiAuOSAxLjkgLjkgOS45LTIuNCAxOS4xLTMuMyA5LjMtMTkuMSAxNy43LTI2LjcgMTguOHpNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTE0OC4xIDM5My45TDY0IDQxNiA4Ni41IDMzMy44Yy0xMy45LTI0LTIxLjItNTEuMy0yMS4yLTc5LjMgLjEtODcuNCA3MS4yLTE1OC41IDE1OC42LTE1OC41IDQyLjQgMCA4Mi4yIDE2LjUgMTEyLjIgNDYuNSAyOS45IDMwIDQ3LjkgNjkuOCA0Ny45IDExMi4yIDAgODcuNC03Mi43IDE1OC41LTE2MC4xIDE1OC41LTI2LjYgMC01Mi43LTYuNy03NS44LTE5LjN6Il19LF93dD1xdWUsVHd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNreXBlIixpY29uOls0NDgsNTEyLFtdLCJmMTdlIiwiTTQyNC43IDI5OS44YzIuOS0xNCA0LjctMjguOSA0LjctNDMuOCAwLTExMy41LTkxLjktMjA1LjMtMjA1LjMtMjA1LjMtMTQuOSAwLTI5LjcgMS43LTQzLjggNC43LTE5LTE0LjctNDIuNi0yMy40LTY4LjMtMjMuNC02MS44IDAtMTEyIDUwLjItMTEyIDExMiAwIDI1LjcgOC43IDQ5LjMgMjMuMyA2OC4yLTIuOSAxNC00LjcgMjguOS00LjcgNDMuOCAwIDExMy41IDkxLjkgMjA1LjMgMjA1LjMgMjA1LjMgMTQuOSAwIDI5LjctMS43IDQzLjgtNC43IDE5IDE0LjYgNDIuNiAyMy4zIDY4LjIgMjMuMyA2MS44IDAgMTEyLTUwLjIgMTEyLTExMiAuMS0yNS42LTguNi00OS4yLTIzLjItNjguMXpNMjMwLjEgMzkxLjNjLTY1LjYgMC0xMjAuNS0yOS4yLTEyMC41LTY1IDAtMTYgOS0zMC42IDI5LjUtMzAuNiAzMS4yIDAgMzQuMSA0NC45IDg4LjEgNDQuOSAyNS43IDAgNDIuMy0xMS40IDQyLjMtMjYuMyAwLTE4LjctMTYtMjEuNi00Mi0yOC02Mi41LTE1LjQtMTE3LjgtMjItMTE3LjgtODcuMiAwLTU5LjIgNTguNi04MS4xIDEwOS4xLTgxLjEgNTUuMSAwIDExMC44IDIxLjkgMTEwLjggNTUuNCAwIDE2LjktMTEuNCAzMS44LTMwLjMgMzEuOC0yOC4zIDAtMjkuMi0zMy41LTc1LTMzLjUtMjUuNyAwLTQyIDctNDIgMjIuNSAwIDE5LjggMjAuOCAyMS44IDY5LjEgMzMgNDEuNCA5LjMgOTAuNyAyNi44IDkwLjcgNzcuNiAwIDU5LjEtNTcuMSA4Ni41LTExMiA4Ni41eiJdfSxMd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYW5ndWxhciIsaWNvbjpbNDQ4LDUxMixbXSwiZjQyMCIsIk0xODUuNyAyNjguMWw3Ni4yIDAtMzguMS05MS42LTM4LjEgOTEuNnpNMjIzLjggMzJMMTYgMTA2LjQgNDcuOCAzODIuMSAyMjMuOCA0ODAgMzk5LjggMzgyLjEgNDMxLjYgMTA2LjQgMjIzLjggMzJ6TTM1NCAzNzMuOGwtNDguNiAwLTI2LjItNjUuNC0xMTAuNiAwLTI2LjIgNjUuNC00OC43IDAgMTMwLjEtMjkyLjMgMTMwLjIgMjkyLjN6Il19LCR3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjaXJjbGUtenVsaXAiLGljb246WzUxMiw1MTIsW10sImU4NTEiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAxIDAtNTEyIDI1NiAyNTYgMCAxIDEgMCA1MTJ6TTI0My41IDI0MGMxLjItMS45LS45LTQuMi0yLjYtMi44bC04OSA3OS41Yy05LjIgNy4yLTE1LjIgMTkuMS0xNS4yIDMyLjUgMCAyMS45IDE2IDM5LjggMzUuNyAzOS44bDE2Ny4zIDBjMTkuNiAwIDM1LjctMTcuOSAzNS43LTM5LjggMC0yMS45LTE2LjEtMzkuNy0zNS43LTM5LjhsLTEyNi42IDBjLTEuOSAwLTMtMi4zLTIuMS00LjFMMjQzLjUgMjQwek0xNzIuNCAxMjMuMWMtMTkuNiAwLTM1LjcgMTcuOS0zNS43IDM5LjhzMTYgMzkuOCAzNS43IDM5LjhsMTI2LjYgMGMxLjkgMCAzLjEgMi4yIDIuMiA0LjFMMjY4LjUgMjcyYy0xLjIgMS45IC45IDQuMiAyLjYgMi44bDg5LTc5LjVjOS4yLTcuMiAxNS4yLTE5LjEgMTUuMi0zMi41IDAtMjEuOS0xNi0zOS43LTM1LjctMzkuOGwtMTY3LjMgMHoiXX0sRHd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9wZW5zdXNlIixpY29uOls2NDAsNTEyLFtdLCJlNjJiIiwiTTQ3MS4xIDEwMi43cy0uMyAxOC4zLS4zIDIwLjNjLTkuMS0zLTc0LjQtMjQuMS0xMzUuNy0yNi4zLTUxLjktMS44LTEyMi44LTQuMy0yMjMgNTcuMy0xOS40IDEyLjQtNzMuOSA0Ni4xLTk5LjYgMTA5LjctNS41IDEzLjMtMTIuNiA0My4zLTUuNSA3MS40IDMuMyAxMi44IDguOSAyNC45IDE2LjUgMzUuNyAxNy40IDI1IDQ2LjYgNDEuNiA3OC4xIDQ0LjQgNDQuNCAzLjkgNzguMS0xNiA5MC01My4zIDguMi0yNS44IDAtNjMuNi0zMS41LTgyLjktMjUuNi0xNS43LTUzLjMtMTIuMS02OS4yLTEuNi0xMy45IDkuMi0yMS44IDIzLjUtMjEuNiAzOS4yIC4zIDI3LjggMjQuMyA0Mi42IDQxLjUgNDIuNiA1LjQgMCAxMC43LS45IDE1LjgtMi43IDYuNS0xLjggMTMuMy02LjUgMTMuMy0xNC45IDAtMTIuMS0xMS42LTE0LjgtMTYuOC0xMy45LTIuOSAuNS00LjUgMi0xMS44IDIuNC0yLS4yLTEyLTMuMS0xMi0xNGwwLS4xYy4yLTEyLjMgMTMuMi0xOCAyNS41LTE2LjkgMzIuMyAyLjggNDcuNyA0MC43IDI4LjUgNjUuNy0xOC4zIDIzLjctNzYuNiAyMy4yLTk5LjctMjAuNC0yNi00OS4yIDEyLjctMTExLjIgODctOTguNCAzMy4yIDUuNyA4My42IDM1LjUgMTAyLjQgMTA0LjNsNDUuOSAwYy01LjctMTcuNi04LjktNjguMyA0Mi43LTY4LjMgNTYuNyAwIDYzLjkgMzkuOSA3OS44IDY4LjNsNDguNiAwYy0xMi44LTE4LjMtMjEuNy0zOC43LTE4LjktNTUuOCA1LjYtMzMuOCAzOS43LTE4LjQgODIuNC0xNy40IDY2LjUgLjQgMTAyLjEtMjcgMTAzLjEtMjggMy43LTMuMSA2LjUtMTUuOCA3LTE3LjcgMS4zLTUuMS0zLjItMi40LTMuMi0yLjQtOC43IDUuMi0zMC41IDE1LjItNTAuOSAxNS42LTI1LjMgLjUtNzYuMi0yNS40LTgxLjYtMjguMi0uMy0uNCAuMSAxLjItMTEtMjUuNSA4OC40IDU4LjMgMTE4LjMgNDAuNSAxNDUuMiAyMS43IC44LS42IDQuMy0yLjkgMy42LTUuNy0xMy44LTQ4LjEtMjIuNC02Mi43LTM0LjUtNjkuNi0zNy0yMS42LTEyNS0zNC43LTEyOS4yLTM1LjMgLjEtLjEtLjktLjMtLjkgLjd6bTYwLjQgNzIuOGEzNy42IDM3LjYgMCAxIDEgNzUuMiAyLjYgMzcuNiAzNy42IDAgMSAxIC03NS4yLTIuNnptMzguNi0yNS4zYy0zLjYtLjMtNy4xIC4xLTEwLjUgMS4ycy02LjUgMi45LTkuMiA1LjMtNC44IDUuMy02LjMgOC41LTIuNCA2LjctMi41IDEwLjMgLjUgNy4xIDEuOCAxMC40IDMuMyA2LjMgNS44IDguOSA1LjUgNC41IDguOCA1LjkgNi45IDIgMTAuNCAxLjljMy42IC4zIDcuMS0uMSAxMC41LTEuMnM2LjUtMi45IDkuMi01LjMgNC44LTUuMyA2LjMtOC41IDIuNC02LjcgMi41LTEwLjMtLjUtNy4xLTEuOC0xMC40LTMuMy02LjMtNS44LTguOS01LjUtNC41LTguOC01LjktNi45LTItMTAuNC0xLjl6bTQuMyAyOC44Yy0xNS40IDAtMTUuNC0xNS42IDAtMTUuNnMxNS40IDE1LjYgMCAxNS42eiJdfSxBd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZHJvcGJveCIsaWNvbjpbNTc2LDUxMixbXSwiZjE2YiIsIk0yODguNCAxMTYuM2wtMTMyIDg0LjMgMTMyIDg0LjMtMTMyIDg0LjMtMTMyLjQtODUuMSAxMzIuMy04NC4zLTEzMi4zLTgzLjUgMTMyLjMtODQuMyAxMzIuMSA4NC4zek0xNTUuNiAzOTUuN2wxMzItODQuMyAxMzIgODQuMy0xMzIgODQuMy0xMzItODQuM3pNMjg4LjQgMjg0LjFsMTMyLTg0LjMtMTMyLTgzLjYgMTMxLjMtODQuMiAxMzIuMyA4NC4zLTEzMi4zIDg0LjMgMTMyLjMgODQuMi0xMzIuMyA4NC4zLTEzMS4zLTg1eiJdfSxFd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZGVlemVyIixpY29uOls1MTIsNTEyLFtdLCJlMDc3IiwiTTE0LjggMTAxLjFDNi42IDEwMS4xIDAgMTI3LjYgMCAxNjAuM3M2LjYgNTkuMiAxNC44IDU5LjIgMTQuOC0yNi41IDE0LjgtNTkuMi02LjYtNTkuMi0xNC44LTU5LjJ6TTQ0OC43IDQwLjljLTcuNyAwLTE0LjUgMTcuMS0xOS40IDQ0LjEtNy43LTQ2LjctMjAuMi03Ny0zNC4yLTc3LTE2LjggMC0zMS4xIDQyLjktMzggMTA1LjQtNi42LTQ1LjQtMTYuOC03NC4yLTI4LjMtNzQuMi0xNi4xIDAtMjkuNiA1Ni45LTM0LjcgMTM2LjItOS40LTQwLjgtMjMuMi02Ni4zLTM4LjMtNjYuM3MtMjguOCAyNS41LTM4LjMgNjYuM2MtNS4xLTc5LjMtMTguNi0xMzYuMi0zNC43LTEzNi4yLTExLjUgMC0yMS43IDI4LjgtMjguMyA3NC4yLTYuNi02Mi41LTIxLjItMTA1LjQtMzcuOC0xMDUuNC0xNCAwLTI2LjUgMzAuNC0zNC4yIDc3LTQuOC0yNy0xMS43LTQ0LjEtMTkuNC00NC4xLTE0LjMgMC0yNiA1OS4yLTI2IDEzMi4xUzQ5IDMwNS4yIDYzLjMgMzA1LjJjNS45IDAgMTEuNS05LjkgMTUuOC0yNi44IDYuOSA2MS43IDIxLjIgMTA0LjEgMzggMTA0LjEgMTMgMCAyNC41LTI1LjUgMzIuMS02NS42IDUuNCA3Ni4zIDE4LjYgMTMwLjQgMzQuMiAxMzAuNCA5LjcgMCAxOC42LTIxLjQgMjUuMy01Ni40IDcuOSA3Mi4yIDI2LjMgMTIyLjcgNDcuNyAxMjIuN3MzOS41LTUwLjUgNDcuNy0xMjIuN2M2LjYgMzUgMTUuNiA1Ni40IDI1LjMgNTYuNCAxNS42IDAgMjguOC01NC4xIDM0LjItMTMwLjQgNy43IDQwLjEgMTkuNCA2NS42IDMyLjEgNjUuNiAxNi42IDAgMzAuOS00Mi4zIDM4LTEwNC4xIDQuMyAxNi44IDkuNyAyNi44IDE1LjggMjYuOCAxNC4zIDAgMjYtNTkuMiAyNi0xMzIuMVM0NjMgNDAuOSA0NDguNyA0MC45em00OC41IDYwLjJjLTguMiAwLTE0LjggMjYuNS0xNC44IDU5LjJzNi42IDU5LjIgMTQuOCA1OS4yIDE0LjgtMjYuNSAxNC44LTU5LjItNi42LTU5LjItMTQuOC01OS4yeiJdfSxQd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZyIsaWNvbjpbNTEyLDUxMixbXSwiZjRmMCIsIk0yNTUuNiA4QzM5Ny40IDggNTA0IDExOC4xIDUwNCAyNTYgNTA0IDQwMy4xIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjYgNTA0IDggMzk0LjUgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6bS44IDQ0LjdjLTExOC4yIDAtMjAzLjcgOTcuOS0yMDMuNyAyMDMuMyAwIDEwOS44IDkxLjIgMjAyLjggMjAzLjcgMjAyLjggMTAzLjIgMCAyMDIuOC04MS4xIDIwMi44LTIwMi44IC4xLTExMy44LTkwLjItMjAzLjMtMjAyLjgtMjAzLjN6bTMuNiA1My4yYzIuOC0uMyAxMS41IDEgMTEuNSAxMS41bDYuNiAxMDcuMiA0LjktNTkuM2MwLTYgNC43LTEwLjYgMTAuNi0xMC42czEwLjYgNC43IDEwLjYgMTAuNmMwIDIuNS0uNS01LjcgNS43IDgxLjVsNS44LTY0LjJjLjMtMi45IDIuOS05LjMgMTAuMi05LjMgMy44IDAgOS45IDIuMyAxMC42IDguOWwxMS41IDk2LjUgNS4zLTEyLjhjMS44LTQuNCA1LjItNi42IDEwLjItNi42bDU4IDAgMCAyMS4zLTUwLjkgMC0xOC4yIDQ0LjNjLTMuOSA5LjktMTkuNSA5LjEtMjAuOC0zLjFsLTQtMzEuOS03LjUgOTIuNmMtLjMgMy0zIDkuMy0xMC4yIDkuMy0zIDAtOS44LTIuMS0xMC42LTkuMyAwLTEuOSAuNiA1LjgtNi4yLTc3LjlsLTUuMyA3Mi4yYy0xLjEgNC44LTQuOCA5LjMtMTAuNiA5LjMtMi45IDAtOS44LTItMTAuNi05LjMgMC0xLjkgLjUgNi43LTUuOC04Ny43TDI1NSAzODMuOWMwIDYuMy0zLjYgMTIuNC0xMC42IDEyLjQtNS4yIDAtMTAuNi00LjEtMTAuNi0xMkwyMjggMjk2LjZjLTUuOCA5Mi41LTUuMyA4NC01LjMgODUuOS0xLjEgNC44LTQuOCA5LjMtMTAuNiA5LjMtMyAwLTkuOC0yLjEtMTAuNi05LjMgMC0uNy0uNC0xLjEtLjQtMi42bC02LjItODguNi00LjkgNTYuN2MtLjcgNi41LTYuNyA5LjMtMTAuNiA5LjMtNS44IDAtOS42LTQuMS0xMC42LTguOUwxNTcuNyAyNzJjLTIgNC0zLjUgOC40LTExLjEgOC40bC01MS40IDAgMC0yMS4zIDQ0LjggMCAxMy43LTI3LjljNC40LTkuOSAxOC4yLTcuMiAxOS45IDIuN2wzLjEgMjAuNCA4LjQtOTcuOWMwLTYgNC44LTEwLjYgMTAuNi0xMC42IC41IDAgMTAuNi0uMiAxMC42IDEyLjRsNC45IDY5LjEgNi42LTkyLjZjMC0xMC4xIDkuNS0xMC42IDEwLjItMTAuNiAuNiAwIDEwLjYgLjcgMTAuNiAxMC42bDUuMyA4MC42IDYuMi05Ny45Yy4xLTEuMS0uNi0xMC4zIDkuOS0xMS41eiJdfSxJd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiamVkaS1vcmRlciIsaWNvbjpbNDQ4LDUxMixbXSwiZjUwZSIsIk0zOTguOSAzNzMuNmM5NS45LTEyMi4xIDE3LjItMjMzLjEgMTcuMi0yMzMuMSA0NS40IDg1LjgtNDEuNCAxNzAuNS00MS40IDE3MC41IDEwNS0xNzEuNS02MC41LTI3MS41LTYwLjUtMjcxLjUgOTYuOSA3Mi43LTEwLjEgMTkwLjctMTAuMSAxOTAuNyA4NS44IDE1OC40LTY4LjYgMjMwLjEtNjguNiAyMzAuMXMtLjQtMTYuOS0yLjItODUuN2M0LjMgNC41IDM0LjUgMzYuMiAzNC41IDM2LjJsLTI0LjItNDcuNCA2Mi42LTkuMS02Mi42LTkuMSAyMC4yLTU1LjUtMzEuNCA0NS45Yy0yLjItODcuNy03LjgtMzA1LjEtNy45LTMwNi45IDAgMS01LjYgMjE5LTcuOSAzMDYuOWwtMzEuNC00NS45IDIwLjIgNTUuNS02Mi42IDkuMSA2Mi42IDkuMS0yNC4yIDQ3LjQgMzQuNS0zNi4yYy0xLjggNjguOC0yLjIgODUuNy0yLjIgODUuN1M1OS4xIDM4OC42IDE0NC45IDIzMC4yYzAgMC0xMDctMTE4LjEtMTAuMS0xOTAuNyAwIDAtMTY1LjUgOTkuOS02MC41IDI3MS41IDAgMC04Ni44LTg0LjgtNDEuNC0xNzAuNSAwIDAtNzguNyAxMTEgMTcuMiAyMzMuMSAwIDAtMjYuMi0xNi4xLTQ5LjQtNzcuNyAwIDAgMTYuOSAxODMuMyAyMjIgMTg1LjdsNC4xIDBjMjA1LTIuNCAyMjItMTg1LjcgMjIyLTE4NS43LTIzLjYgNjEuNS00OS45IDc3LjctNDkuOSA3Ny43eiJdfSxOd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToici1wcm9qZWN0IixpY29uOls1NzYsNTEyLFtdLCJmNGY3IiwiTTU3OC41IDIyNi42QzU3OC41IDExOS4xIDQ0OC40IDMyIDI4OCAzMlMtMi41IDExOS4xLTIuNSAyMjYuNmMwIDk1LjggMTAzLjMgMTc1LjQgMjM5LjQgMTkxLjVsMCA2MS45IDk5LjEgMCAwLTYxLjVjMjQuMy0yLjcgNDcuNi03LjQgNjkuNC0xMy45bDQwLjEgNzUuNCAxMTIgMC02Ny40LTExMy43YzU0LjUtMzUuNCA4OC40LTg0LjkgODguNC0xMzkuN3pNMTExLjcgMjQxLjFjMC03My41IDk4LjktMTMzIDIyMC44LTEzM3MyMTEuOSA0MC43IDIxMS45IDEzM2MwIDUwLjEtMjYuNSA4NS03MC4zIDEwNi40LTIuNC0xLjYtNC43LTIuOS02LjQtMy43LTEwLjItNS4yLTI3LjgtMTAuNS0yNy44LTEwLjVzODYuNi02LjQgODYuNi05Mi43LTkwLjYtODcuOS05MC42LTg3LjlsLTE5OSAwIDAgMjA4LjNjLTc0LjEtMjEuNS0xMjUuMi02Ny4xLTEyNS4yLTExOS45em0yMjUuMSAzOC4zbDAtNTUuNmM1Ny44IDAgODcuOC02LjggODcuOCAyNy4zIDAgMzYuNS0zOC4yIDI4LjMtODcuOCAyOC4zem0tLjkgNzIuNWwyNi42IDBjMTAuOCAwIDE4LjkgMTEuNyAyNCAxOS4yLTE2LjEgMS45LTMzIDIuOC01MC42IDIuOWwwLTIyLjF6Il19LFJ3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJpbnN0YWxvZCIsaWNvbjpbNTEyLDUxMixbXSwiZTA4MSIsIk0xNTMuNiA0ODBsMjMzLjcgMCAxMTUuNC0yMDQuMi0yOTguMyA1Ny40LTUwLjggMTQ2Ljh6TTUwNSAyNDAuMUwzODcuNCAzMiAxNTUuOSAzMiAzNjAuNSAyNjcuOSA1MDUgMjQwLjF6TTEyNC42IDQ4LjhMNy41IDI1NiAxMjMuNSA0NjEuMiAyMjUuOSAxNjUuNiAxMjQuNiA0OC44eiJdfSxPd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2FuYWRpYW4tbWFwbGUtbGVhZiIsaWNvbjpbNTEyLDUxMixbXSwiZjc4NSIsIk0zODMuOCAzNTEuN2MyLjUtMi41IDEwNS4yLTkyLjQgMTA1LjItOTIuNGwtMTcuNS03LjVjLTEwLTQuOS03LjQtMTEuNS01LTE3LjQgMi40LTcuNiAyMC4xLTY3LjMgMjAuMS02Ny4zcy00Ny43IDEwLTU3LjcgMTIuNWMtNy41IDIuNC0xMC0yLjUtMTIuNS03LjVzLTE1LTMyLjQtMTUtMzIuNC01Mi42IDU5LjktNTUuMSA2Mi4zYy0xMCA3LjUtMjAuMSAwLTE3LjYtMTAgMC0xMCAyNy42LTEyOS42IDI3LjYtMTI5LjZzLTMwLjEgMTcuNC00MC4xIDIyLjRjLTcuNSA1LTEyLjYgNS0xNy42LTUtNS4xLTcuNS00Mi43LTc5LjgtNDIuNy03OS44cy0zNy41IDcyLjMtNDIuNSA3OS44Yy01IDEwLTEwIDEwLTE3LjYgNS0xMC01LTQwLjEtMjIuNC00MC4xLTIyLjRTMTgzLjMgMTgyIDE4My4zIDE5MmMyLjUgMTAtNy41IDE3LjUtMTcuNiAxMC0yLjUtMi41LTU1LjEtNjIuMy01NS4xLTYyLjNzLTEyLjUgMjcuMy0xNSAzMi4zLTUgOS45LTEyLjUgNy41QzczIDE3NyAyNS40IDE2NyAyNS40IDE2N1M0MyAyMjYuNyA0NS41IDIzNC4zYzIuNCA2IDUgMTIuNS01IDE3LjRMMjMgMjU5LjNzMTAyLjYgODkuOSAxMDUuMiA5Mi40YzUuMSA1IDEwIDcuNSA1LjEgMjIuNS01LjEgMTUtMTAuMSAzNS4xLTEwLjEgMzUuMXM5NS4yLTIwLjEgMTA1LjMtMjIuNmM4LjctLjkgMTguMyAyLjUgMTguMyAxMi41UzI0MSA1MTIgMjQxIDUxMmwzMCAwcy01LjgtMTAyLjctNS44LTExMi44IDkuNS0xMy40IDE4LjQtMTIuNWMxMCAyLjUgMTA1LjIgMjIuNiAxMDUuMiAyMi42cy01LTIwLjEtMTAtMzUuMSAwLTE3LjUgNS0yMi41eiJdfSxGd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZXRoZXJldW0iLGljb246WzMyMCw1MTIsW10sImY0MmUiLCJNMzExLjkgMjYwLjhMMTYwIDM1My42IDggMjYwLjggMTYwIDAgMzExLjkgMjYwLjh6TTE2MCAzODMuNEw4IDI5MC42IDE2MCA1MTIgMzEyIDI5MC42IDE2MCAzODMuNHoiXX0sQnd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImhvdXp6IixpY29uOls0NDgsNTEyLFtdLCJmMjdjIiwiTTI3NiAzMzAuN2wtMTA0LjYgMCAwIDE0OS4zLTE1NC4zIDAgMC00NDggMTA5LjUgMCAwIDEwNC41IDMwNS4xIDg1LjYgMCAyNTcuOS0xNTUuNyAwIDAtMTQ5LjN6Il19LEh3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2aWJlciIsaWNvbjpbNTEyLDUxMixbXSwiZjQwOSIsIk00NDQuMyA0OS45Yy0xMi43LTExLjctNjQuMS00OS0xNzguNy00OS41IDAgMC0xMzUuMS04LjEtMjAwLjkgNTIuMy0zNi42IDM2LjYtNDkuNSA5MC4zLTUwLjkgMTU2LjhzLTMuMSAxOTEuMSAxMTcgMjI0LjlsLjEgMC0uMSA1MS42cy0uOCAyMC45IDEzIDI1LjFjMTYuNiA1LjIgMjYuNC0xMC43IDQyLjMtMjcuOCA4LjctOS40IDIwLjctMjMuMiAyOS44LTMzLjcgODIuMiA2LjkgMTQ1LjMtOC45IDE1Mi41LTExLjIgMTYuNi01LjQgMTEwLjUtMTcuNCAxMjUuNy0xNDIgMTUuOC0xMjguNi03LjYtMjA5LjgtNDkuOC0yNDYuNXpNNDU4LjIgMjg3Yy0xMi45IDEwNC04OSAxMTAuNi0xMDMgMTE1LjEtNiAxLjktNjEuNSAxNS43LTEzMS4yIDExLjIgMCAwLTUyIDYyLjctNjguMiA3OS01LjMgNS4zLTExLjEgNC44LTExLTUuNyAwLTYuOSAuNC04NS43IC40LTg1LjdsMCAwQzQzLjQgMzcyLjcgNDkuNCAyNjYuNiA1MC41IDIxMS4xczExLjYtMTAxIDQyLjYtMTMxLjZjNTUuNy01MC41IDE3MC40LTQzIDE3MC40LTQzIDk2LjkgLjQgMTQzLjMgMjkuNiAxNTQuMSAzOS40IDM1LjcgMzAuNiA1My45IDEwMy44IDQwLjYgMjExLjF6bS0xMzktODAuOGMuNCA4LjYtMTIuNSA5LjItMTIuOSAuNi0xLjEtMjItMTEuNC0zMi43LTMyLjYtMzMuOS04LjYtLjUtNy44LTEzLjQgLjctMTIuOSAyNy45IDEuNSA0My40IDE3LjUgNDQuOCA0Ni4yem0yMC4zIDExLjNjMS00Mi40LTI1LjUtNzUuNi03NS44LTc5LjMtOC41LS42LTcuNi0xMy41IC45LTEyLjkgNTggNC4yIDg4LjkgNDQuMSA4Ny44IDkyLjUtLjEgOC42LTEzLjEgOC4yLTEyLjktLjN6bTQ3IDEzLjRjLjEgOC42LTEyLjkgOC43LTEyLjkgLjEtLjYtODEuNS01NC45LTEyNS45LTEyMC44LTEyNi40LTguNS0uMS04LjUtMTIuOSAwLTEyLjkgNzMuNyAuNSAxMzMgNTEuNCAxMzMuNyAxMzkuMnpNMzc1LjIgMzI5bDAgLjJjLTEwLjggMTktMzEgNDAtNTEuOCAzMy4zbC0uMi0uM2MtMjEuMS01LjktNzAuOC0zMS41LTEwMi4yLTU2LjUtMTYuMi0xMi44LTMxLTI3LjktNDIuNC00Mi40LTEwLjMtMTIuOS0yMC43LTI4LjItMzAuOC00Ni42LTIxLjMtMzguNS0yNi01NS43LTI2LTU1LjctNi43LTIwLjggMTQuMi00MSAzMy4zLTUxLjhsLjIgMGM5LjItNC44IDE4LTMuMiAyMy45IDMuOSAwIDAgMTIuNCAxNC44IDE3LjcgMjIuMSA1IDYuOCAxMS43IDE3LjcgMTUuMiAyMy44IDYuMSAxMC45IDIuMyAyMi0zLjcgMjYuNmwtMTIgOS42Yy02LjEgNC45LTUuMyAxNC01LjMgMTRzMTcuOCA2Ny4zIDg0LjMgODQuM2MwIDAgOS4xIC44IDE0LTUuM2w5LjYtMTJjNC42LTYgMTUuNy05LjggMjYuNi0zLjcgMTQuNyA4LjMgMzMuNCAyMS4yIDQ1LjggMzIuOSA3IDUuNyA4LjYgMTQuNCAzLjggMjMuNnoiXX0sVnVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImtpY2tzdGFydGVyIixpY29uOls0NDgsNTEyLFsic3F1YXJlLWtpY2tzdGFydGVyIl0sImYzYmIiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMzIwLjggMjMzbC0yMy4zIDIzLjEgMjMuMyAyMi45YzI0LjEgMjMuOSAyNC4xIDYzIDAgODYuOXMtNjMuNCAyMy45LTg3LjYgMGwtOC41LTguNGMtMTEuMyAxNi0yOS43IDI2LjUtNTAuOSAyNi41LTM0LjEgMC02MS45LTI3LjUtNjEuOS02MS40bDAtMTMzLjJjMC0zMy44IDI3LjctNjEuNCA2MS45LTYxLjQgMjEuMSAwIDM5LjYgMTAuNSA1MC45IDI2LjVsOC41LTguNGMyNC4xLTIzLjkgNjMuNC0yMy45IDg3LjYgMHMyNC4xIDYzIDAgODYuOXoiXX0scXd0PVZ1ZSxWd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3BvdGlmeSIsaWNvbjpbNTEyLDUxMixbXSwiZjFiYyIsIk0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTM1Ni43IDM3Mi45Yy00LjIgMC02LjgtMS4zLTEwLjctMy42LTYyLjQtMzcuNi0xMzUtMzkuMi0yMDYuNy0yNC41LTMuOSAxLTkgMi42LTExLjkgMi42LTkuNyAwLTE1LjgtNy43LTE1LjgtMTUuOCAwLTEwLjMgNi4xLTE1LjIgMTMuNi0xNi44IDgxLjktMTguMSAxNjUuNi0xNi41IDIzNyAyNi4yIDYuMSAzLjkgOS43IDcuNCA5LjcgMTYuNXMtNy4xIDE1LjQtMTUuMiAxNS40em0yNi45LTY1LjZjLTUuMiAwLTguNy0yLjMtMTIuMy00LjItNjIuNS0zNy0xNTUuNy01MS45LTIzOC42LTI5LjQtNC44IDEuMy03LjQgMi42LTExLjkgMi42LTEwLjcgMC0xOS40LTguNy0xOS40LTE5LjRzNS4yLTE3LjggMTUuNS0yMC43YzI3LjgtNy44IDU2LjItMTMuNiA5Ny44LTEzLjYgNjQuOSAwIDEyNy42IDE2LjEgMTc3IDQ1LjUgOC4xIDQuOCAxMS4zIDExIDExLjMgMTkuNy0uMSAxMC44LTguNSAxOS41LTE5LjQgMTkuNXptMzEtNzYuMmMtNS4yIDAtOC40LTEuMy0xMi45LTMuOS03MS4yLTQyLjUtMTk4LjUtNTIuNy0yODAuOS0yOS43LTMuNiAxLTguMSAyLjYtMTIuOSAyLjYtMTMuMiAwLTIzLjMtMTAuMy0yMy4zLTIzLjYgMC0xMy42IDguNC0yMS4zIDE3LjQtMjMuOSAzNS4yLTEwLjMgNzQuNi0xNS4yIDExNy41LTE1LjIgNzMgMCAxNDkuNSAxNS4yIDIwNS40IDQ3LjggNy44IDQuNSAxMi45IDEwLjcgMTIuOSAyMi42IDAgMTMuNi0xMSAyMy4zLTIzLjIgMjMuM3oiXX0sand0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImxlYW5wdWIiLGljb246WzU3Niw1MTIsW10sImYyMTIiLCJNMzg2LjYgMTExLjVsMTUuMSAyNDktMTEtLjNjLTM2LjItLjgtNzEuNiA4LjgtMTAyLjcgMjgtMzEtMTkuMi02Ni40LTI4LTEwMi43LTI4LTQ1LjYgMC04Mi4xIDEwLjctMTIzLjUgMjcuN0w5My4yIDEyOS42YzI4LjUtMTEuOCA2MS41LTE4LjEgOTIuMi0xOC4xIDQxLjIgMCA3My44IDEzLjIgMTAyLjcgNDIuNSAyNy43LTI4LjMgNTktNDEuNyA5OC41LTQyLjV6TTU2OS4yIDQ0OGMtMjUuNSAwLTQ3LjUtNS4yLTcwLjUtMTUuNi0zNC4zLTE1LjYtNzAtMjUtMTA3LjktMjUtMzkgMC03NC45IDEyLjktMTAyLjcgNDAuNi0yNy43LTI3LjctNjMuNy00MC42LTEwMi43LTQwLjYtMzcuOSAwLTczLjYgOS4zLTEwNy45IDI1LTIyLjIgOS45LTQ0LjcgMTUuNi02OS4yIDE1LjZMNyA0NDggNDkuNiA5OC45YzM5LjMtMjIuMiA4Ny0zNC45IDEzMi4zLTM0LjkgMzcuMSAwIDc1LjIgNy43IDEwNi4yIDI5LjEgMzEtMjEuNCA2OS4yLTI5LjEgMTA2LjItMjkuMSA0NS4zIDAgOTMgMTIuNiAxMzIuMyAzNC45TDU2OS4yIDQ0OHptLTQzLjQtNDQuN0w0OTEuOCAxMjNjLTMwLjctMTQtNjcuMi0yMS40LTEwMS0yMS40LTM4LjQgMC03NC40IDEyLjEtMTAyLjcgMzguNy0yOC4zLTI2LjYtNjQuMi0zOC43LTEwMi43LTM4LjctMzMuOCAwLTcwLjMgNy40LTEwMSAyMS40bC0zNCAyODAuMmM0Ny4yLTE5LjUgODIuOS0zMy41IDEzNS0zMy41IDM3LjYgMCA3MC44IDkuNiAxMDIuNyAyOS42IDMxLjgtMjAgNjUuMS0yOS42IDEwMi43LTI5LjYgNTIuMiAwIDg3LjggMTQgMTM1IDMzLjV6Il19LFV3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqYXZhIixpY29uOlszODQsNTEyLFtdLCJmNGU0IiwiTTI3Ny44IDMxMi45YzkuOC02LjcgMjMuNC0xMi41IDIzLjQtMTIuNXMtMzguNyA3LTc3LjIgMTAuMmMtNDcuMSAzLjktOTcuNyA0LjctMTIzLjEgMS4zLTYwLjEtOCAzMy0zMC4xIDMzLTMwLjFzLTM2LjEtMi40LTgwLjYgMTljLTUyLjUgMjUuNCAxMzAgMzcgMjI0LjUgMTIuMXptLTg1LjQtMzIuMWMtMTktNDIuNy04My4xLTgwLjIgMC0xNDUuOCAxMDMuNy04MS44IDUwLjUtMTM1IDUwLjUtMTM1IDIxLjUgODQuNS03NS42IDExMC4xLTExMC43IDE2Mi42LTIzLjkgMzUuOSAxMS43IDc0LjQgNjAuMiAxMTguMnpNMzA3IDEwNC42Yy4xIDAtMTc1LjIgNDMuOC05MS41IDE0MC4yIDI0LjcgMjguNC02LjUgNTQtNi41IDU0czYyLjctMzIuNCAzMy45LTcyLjlDMjE2IDE4OC4xIDE5NS40IDE2OS4zIDMwNyAxMDQuNnptLTYuMSAyNzAuNWMtLjUgMS0xLjIgMS44LTIgMi42IDEyOC4zLTMzLjcgODEuMS0xMTguOSAxOS44LTk3LjMtMy4zIDEuMi02LjIgMy40LTguMiA2LjMgMy42LTEuMyA3LjMtMi4zIDExLTMgMzEtNi41IDc1LjUgNDEuNS0yMC42IDkxLjR6TTM0OCA0MzcuNHMxNC41IDExLjktMTUuOSAyMS4yYy01Ny45IDE3LjUtMjQwLjggMjIuOC0yOTEuNiAuNy0xOC4zLTcuOSAxNi0xOSAyNi44LTIxLjMgMTEuMi0yLjQgMTcuNy0yIDE3LjctMi0yMC4zLTE0LjMtMTMxLjMgMjguMS01Ni40IDQwLjIgMjA0LjIgMzMuMiAzNzIuNC0xNC45IDMxOS40LTM4Ljh6TTEyNC41IDM5NmMtNzguNyAyMiA0Ny45IDY3LjQgMTQ4LjEgMjQuNS05LjgtMy44LTE5LjItOC40LTI4LjItMTMuOC00NC43IDguNS02NS40IDkuMS0xMDYgNC41LTMzLjUtMy44LTEzLjktMTUuMi0xMy45LTE1LjJ6bTE3OS44IDk3LjJjLTc4LjcgMTQuOC0xNzUuOCAxMy4xLTIzMy4zIDMuNiAwLS4xIDExLjggOS43IDcyLjQgMTMuNiA5Mi4yIDUuOSAyMzMuOC0zLjMgMjM3LjEtNDYuOSAwIDAtNi40IDE2LjUtNzYuMiAyOS43ek0yNjAuNyAzNTNjLTU5LjIgMTEuNC05My41IDExLjEtMTM2LjggNi42LTMzLjUtMy41LTExLjYtMTkuNy0xMS42LTE5LjctODYuOCAyOC44IDQ4LjIgNjEuNCAxNjkuNSAyNS45LTcuOC0yLjgtMTUtNy4xLTIxLjEtMTIuOHoiXX0sV3d0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5mYy1zeW1ib2wiLGljb246WzUxMiw1MTIsW10sImU1MzEiLCJNMzYwLjkgMzIuNGM3LjctMS4zIDE1LjcgLjUgMjEuMiA1IDg0LjEgNTguNyAxMjkuOSAxMzYuMyAxMjkuOSAyMTcuNyAwIDgzLjEtNDUuOCAxNjAuOC0xMjkuOSAyMTkuNS00LjggNC0xMS43IDUuOS0xOC42IDUuMy03LS42LTEzLjUtMy42LTE4LjQtOC41TDE2MS43IDI4OC43Yy01LjYtNS41LTguNy0xMy05LjYtMjAuOSAwLTcuOCA0LTE1LjMgOS41LTIwLjkgNS42LTUuNSAxMy4xLTguNyAyMC45LTguNyA3LjkgMCAxNS40IDMuMSAyMC45IDguNkwzNjguNSA0MTEuMmM1NC42LTQ0LjcgODQuMy05OS4yIDg0LjMtMTU2LjEgMC02MS42LTM2LjktMTIyLjItMTAzLjktMTY5LjMtNi40LTQuNS0xMC44LTExLjQtMTIuMS0xOS4xLTEuNC03LjcgLjQtMTUuNyA1LTIyLjEgNC41LTYuNCAxMS40LTEwLjggMTkuMS0xMi4xem0tMjA2IDQ0Ny4yYy03LjcgMS4zLTE1LjYtLjUtMjIuMS01LTgzLjEtNTguNy0xMjktMTM2LjQtMTI5LTIxOS41IDAtODEuNCA0NS44LTE1OSAxMjktMjE3LjcgNS43LTQgMTIuNi01LjkgMTkuNi01LjMgNi45IC42IDEzLjQgMy42IDE4LjMgOC41TDM1NC4xIDIyMy4zYzUuNiA1LjUgOC43IDEzIDguNyAyMC45IC4xIDYuOS0zIDE1LjMtOC42IDIwLjktNS41IDUuNS0xMyA4LjctMjAuOSA4LjctNy44IDAtMTYuMi0zLjEtMjAuOS04LjZMMTQ3LjMgMTAwLjdjLTU0LjYgNDUuMi04NC4zIDk5LjItODQuMyAxNTQuNCAwIDYzLjQgMzYuOSAxMjQgMTAzLjEgMTcxLjEgNy4zIDQuNiAxMS42IDExLjQgMTMgMTkuMiAxLjMgNy43LS41IDE1LjctNSAyMi4xcy0xMS40IDEwLjctMTkuMiAxMi4xeiJdfSxHd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid29kdSIsaWNvbjpbNjQwLDUxMixbXSwiZTA4OCIsIk0xNzguNCAzMzkuN2wtMzcuMyAwLTI4LjktMTE2LjItLjUgMC0yOC41IDExNi4yLTM4IDAtNDUuMi0xNzAuOCAzNy41IDAgMjcgMTE2LjIgLjUgMCAyOS43LTExNi4yIDM1LjIgMCAyOS4yIDExNy43IC41IDAgMjgtMTE3LjcgMzYuOCAwLTQ1LjkgMTcwLjh6bTkzLTEyN2MzOSAwIDY0LjEgMjUuOCA2NC4xIDY1LjMgMCAzOS4yLTI1LjEgNjUtNjQuMSA2NS0zOC43IDAtNjMuOS0yNS44LTYzLjktNjUgMC0zOS41IDI1LjEtNjUuMyA2My45LTY1LjN6bTAgMTA0LjhjMjMuMiAwIDMwLjEtMTkuOSAzMC4xLTM5LjUgMC0xOS45LTYuOS0zOS43LTMwLjEtMzkuNy0yNy43IDAtMjkuOSAxOS45LTI5LjkgMzkuNyAwIDE5LjYgNi45IDM5LjUgMjkuOSAzOS41em0xNjMuNyA2LjVsLS41IDBjLTcuOSAxMy40LTIxLjggMTkuMS0zNy41IDE5LjEtMzcuMyAwLTU1LjUtMzItNTUuNS02Ni4yIDAtMzMuMiAxOC40LTY0LjEgNTQuOC02NC4xIDE0LjYgMCAyOC45IDYuMiAzNi44IDE4LjRsLjIgMCAwLTYyLjIgMzQgMCAwIDE3MC44LTMyLjMgMCAwLTE1Ljh6bS0yOS43LTg1LjZjLTIyLjIgMC0yOS45IDE5LjEtMjkuOSAzOS41IDAgMTkuNCA4LjggMzkuNyAyOS45IDM5LjcgMjIuNSAwIDI5LjItMTkuNiAyOS4yLTM5LjkgMC0yMC4xLTcuMi0zOS4yLTI5LjItMzkuMnpNNTkzIDMzOS43bC0zMi4zIDAgMC0xNy4yLS43IDBjLTguNiAxMy45LTIzLjQgMjAuNi0zNy44IDIwLjYtMzYuMSAwLTQ1LjItMjAuMy00NS4yLTUwLjlsMC03Ni4xIDM0IDAgMCA2OS44YzAgMjAuMyA2IDMwLjQgMjEuOCAzMC40IDE4LjQgMCAyNi4zLTEwLjMgMjYuMy0zNS40bDAtNjQuOCAzNCAwIDAgMTIzLjZ6bTkuNS0zNi44bDM3LjUgMCAwIDM2LjgtMzcuNSAwIDAtMzYuOHoiXX0sanVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1zdGVhbSIsaWNvbjpbNDQ4LDUxMixbInN0ZWFtLXNxdWFyZSJdLCJmMWI3IiwiTTE2NS42IDMwOS4xYzE4LjYgNy43IDI3LjMgMjguOSAxOS42IDQ3LjRzLTI5IDI3LjItNDcuNiAxOS40bC0yOC41LTExLjhjNSAxMC42IDEzLjggMTkuNCAyNS40IDI0LjIgMjUuMiAxMC41IDU0LjEtMS40IDY0LjYtMjYuNSA1LjEtMTIuMSA1LjEtMjUuNSAuMS0zNy43LTUuMS0xMi4xLTE0LjUtMjEuNi0yNi43LTI2LjctMTIuMS01LTI1LTQuOC0zNi40LS41bDI5LjUgMTIuMnpNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZsMCAxNDQuNyAxMTYuNiA0OC4xYzEyLTguMiAyNi4yLTEyLjEgNDAuNy0xMS4zbDU1LjQtODAuMiAwLTEuMWMwLTQ4LjIgMzkuMy04Ny41IDg3LjYtODcuNXM4Ny42IDM5LjMgODcuNiA4Ny41YzAgNDkuMi00MC45IDg4LjctODkuNiA4Ny41bC03OSA1Ni4zYzEuNiAzOC41LTI5LjEgNjguOC02NS43IDY4LjgtMzEuOCAwLTU4LjUtMjIuNy02NC41LTUyLjdMMCAzMTkuMiAwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMjQxLjkgMTk2LjJhNTguNCA1OC40IDAgMSAwIDExNi44IDAgNTguNCA1OC40IDAgMSAwIC0xMTYuOCAwem0xMDIuNC0uMWE0My45IDQzLjkgMCAxIDEgLTg3LjggMCA0My45IDQzLjkgMCAxIDEgODcuOCAweiJdfSxZd3Q9anVlLEt3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zLW5jLWV1IixpY29uOls1MTIsNTEyLFtdLCJmNGU5IiwiTTI1NS43IDhDMTExLjYgOCA4IDEyNC44IDggMjU2IDggMzkyLjMgMTE5LjcgNTA0IDI1NS43IDUwNCAzODUuOSA1MDQgNTA0IDQwMy4xIDUwNCAyNTYgNTA0IDExNyAzOTYuNCA4IDI1NS43IDh6bS42IDQ1MC43Yy0xMTIgMC0yMDMuNi05Mi41LTIwMy42LTIwMi43IDAtMjMuMiAzLjctNDUuMiAxMC45LTY2bDY1LjcgMjkuMS00LjcgMCAwIDI5LjUgMjMuMyAwYzAgNi4yLS40IDMuMi0uNCAxOS41bC0yMi44IDAgMCAyOS41IDI3IDBjMTEuNCA2NyA2Ny4yIDEwMS4zIDEyNC42IDEwMS4zIDI2LjYgMCA1MC42LTcuOSA2NC44LTE1LjhsLTEwLTQ2LjFjLTguNyA0LjYtMjguMiAxMC44LTQ3LjMgMTAuOC0yOC4yIDAtNTguMS0xMC45LTY3LjMtNTAuMmw5MC4zIDAgMTI4LjMgNTYuOGMtMS41IDIuMS01Ni4yIDEwNC4zLTE3OC44IDEwNC4zek0yMzkuNiAyNjguMWwtLjUtLjQgLjkgLjQtLjQgMHptNzcuMi0xOS41bDMuNyAwIDAtMjkuNS03MC4zIDAtMjguNi0xMi42YzIuNS01LjUgNS40LTEwLjUgOC44LTE0LjMgMTIuOS0xNS44IDMxLjEtMjIuNCA1MS4xLTIyLjQgMTguMyAwIDM1LjMgNS40IDQ2LjEgMTBsMTEuNi00Ny4zYy0xNS02LjYtMzctMTIuNC02Mi4zLTEyLjQtMzkgMC03Mi4yIDE1LjgtOTUuOSA0Mi4zLTUuMyA2LjEtOS44IDEyLjktMTMuOSAyMC4xTDg1LjUgMTQ2LjRjNjQuNi05Ni44IDE1Ny43LTkzLjYgMTcwLjctOTMuNiAxMTMgMCAyMDMgOTAuMiAyMDMgMjAzLjQgMCAxOC43LTIuMSAzNi4zLTYuMyA1Mi45TDMxNi44IDI0OC42eiJdfSxad3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibnBtIixpY29uOls1NzYsNTEyLFtdLCJmM2Q0IiwiTTI4OCAyODhsLTMyIDAgMC02NCAzMiAwIDAgNjR6TTU3NiAxNjBsMCAxOTItMjg4IDAgMCAzMi0xMjggMCAwLTMyLTE2MCAwIDAtMTkyIDU3NiAwek0xNjAgMTkybC0xMjggMCAwIDEyOCA2NCAwIDAtOTYgMzIgMCAwIDk2IDMyIDAgMC0xMjh6bTE2MCAwbC0xMjggMCAwIDE2MCA2NCAwIDAtMzIgNjQgMCAwLTEyOHptMjI0IDBsLTE5MiAwIDAgMTI4IDY0IDAgMC05NiAzMiAwIDAgOTYgMzIgMCAwLTk2IDMyIDAgMCA5NiAzMiAwIDAtMTI4eiJdfSxYd3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2xvdWRzY2FsZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjM4MyIsIk0zMTguMSAxNTRsLTkuNCA3LjZjLTIyLjUtMTkuMy01MS41LTMzLjYtODMuMy0zMy42LTcxLjYgMC0xMjkuNCA2MC44LTEyOS40IDEzMi4zIDAgNi42IC40IDEzLjEgMS40IDE5LjQtMi01NiA0MS44LTk3LjQgOTIuNi05Ny40IDI0LjIgMCA0Ni4yIDkuNCA2Mi42IDI0LjdsLTI1LjIgMjAuNGMtOC4zLS45LTE2LjggMS44LTIzLjEgOC4xLTExLjEgMTEtMTEuMSAyOC45IDAgNDAgMTEuMSAxMSAyOC45IDExIDQwIDAgNi4zLTYuMyA5LTE0LjkgOC4xLTIzLjFsNzUuMi04OC44YzYuMy02LjUtMy4zLTE1LjktOS41LTkuNnpNMjEzLjcgMjQ2LjVhMTQgMTQgMCAxIDEgMjAuNiAxOSAxNCAxNCAwIDEgMSAtMjAuNi0xOXpNMjI0IDMyYTIyNCAyMjQgMCAxIDAgMCA0NDggMjI0IDIyNCAwIDEgMCAwLTQ0OHptMCA2NGExNjAgMTYwIDAgMSAxIDAgMzIwIDE2MCAxNjAgMCAxIDEgMC0zMjB6Il19LFF3dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0aGVtZWNvIixpY29uOls0NDgsNTEyLFtdLCJmNWM2IiwiTTIwMi45IDguNGM5LjktNS43IDI2LTUuOCAzNi0uMkw0MzAgMTE1LjljMTAgNS42IDE4IDE5LjQgMTggMzAuOUw0NDggMzY0YzAgMTEuNC04LjEgMjUuMy0xOCAzMUwyMzguOCA1MDMuN2MtOS45IDUuNy0yNiA1LjYtMzUuOC0uMkwxNy45IDM5NS4xQzggMzg5LjMgMCAzNzUuNCAwIDM2NEwwIDE0Ni43YzAtMTEuNCA4LTI1LjQgMTcuOS0zMS4xTDIwMi45IDguNHpNMTI1LjUgMjA4LjNjLTE1LjkgMC0zMS45IC4xLTQ3LjggLjFsMCAxMDEuNCAxOS4xIDAgMC0yOS44IDI4LjcgMGM0OS43IDAgNDkuNi03MS43IDAtNzEuN3pNMjY1LjYgMzA4LjZsLTMwLjctMzQuNmMzNy03LjUgMzQuOC02NS4yLTEwLjktNjUuNS0xNi4xIDAtMzIuMi0uMS00OC4zLS4xbDAgMTAxLjYgMTkuMSAwIDAtMzMuOSAxOC40IDAgMjkuNiAzMy45IDIyLjggMCAwLTEuM3ptLTQxLjYtODIuM2MyMy4zIDAgMjMuMyAzMi41IDAgMzIuNWwtMjkuMSAwIDAtMzIuNSAyOS4xIDB6bS05NS42LTEuNmMyMS4yIDAgMjEuMSAzOC45IDAgMzguOWwtMzIuMyAwIDAtMzguOCAzMi4zIDB6bTE5Mi42LTE4LjJjLTY4LjUgMC03MSAxMDUuOCAwIDEwNS44IDY5LjUgMCA2OS40LTEwNS44IDAtMTA1Ljh6bTAgMTcuNGM0NC4xIDAgNDQuOCA3MC45IDAgNzAuOXMtNDQuNC03MC45IDAtNzAuOXoiXX0sSnd0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2dsZS1wbGF5IixpY29uOls0NDgsNTEyLFtdLCJmM2FiIiwiTTI5My42IDIzNC4zTDcyLjkgMTMgMzUzLjcgMTc0LjIgMjkzLjYgMjM0LjN6TTE1LjMgMEMyLjMgNi44LTYuNCAxOS4yLTYuNCAzNS4zbDAgNDQxLjNjMCAxNi4xIDguNyAyOC41IDIxLjcgMzUuM0wyNzEuOSAyNTUuOSAxNS4zIDB6TTQ0MC41IDIyNS42bC01OC45LTM0LjEtNjUuNyA2NC41IDY1LjcgNjQuNSA2MC4xLTM0LjFjMTgtMTQuMyAxOC00Ni41LTEuMi02MC44ek03Mi45IDQ5OUwzNTMuNyAzMzcuOCAyOTMuNiAyNzcuNyA3Mi45IDQ5OXoiXX0sZU10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImtvcnZ1ZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjQyZiIsIk0zODcuNiAzNGwtMzI3IDBDMjcuOSAzNCAxLjEgNjAuOCAxLjEgOTMuNWwwIDMyNy4xYzAgMzIuNiAyNi44IDU5LjQgNTkuNSA1OS40bDMyNy4xIDBjMzMgMCA1OS41LTI2LjggNTkuNS01OS41bDAtMzI3QzQ0Ny4xIDYwLjggNDIwLjMgMzQgMzg3LjYgMzR6TTg4LjIgMTIwLjhsOTYgMCAwIDExNiA2MS44LTExNiAxMTAuOSAwLTgxLjIgMTMyLTE4Ny41IDAgMC0xMzJ6TTI1MCAzOTIuOWwtNjUuNy0xMTMuNiAwIDExMy42LTk2IDAgMC0xMzAuOCAxOTEuNSAwIDg4LjYgMTMwLjgtMTE4LjQgMHoiXX0sdE10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InczYyIsaWNvbjpbNjQwLDUxMixbXSwiZTdkZSIsIk0xMDUuMiAzMDUuM2wzMC45LTEwNC43YzcuOS0yNi43IDguNi00MC42IC4yLTY4LjhsLTEwLjEtMzMuOSA0NC4xIDAgNjEgMjA3LjQgNDUuNy0xNTUuNWMxMy4zLTQ1LjMgMjEuMS01MS45IDU5LjQtNTEuOWwxMzIuOCAwYy0yNC4yIDQyLjktNDkuMyA4NS4yLTczLjkgMTI3LjkgMi42IC44IDUuMiAxLjggNy43IDIuOCAxNy4zIDcuMSAzMi4yIDE5LjQgNDIgMzUuNSAxMS4yIDE4LjUgMTYuOCA0MC4yIDE2LjggNjUuMiAwIDMwLjgtOC4yIDU2LjgtMjQuNiA3Ny44LTE0LjUgMTguNi0zNSAyOS41LTU4LjIgMzEuMiAwIC4zLTUuMiAuNC01LjggLjQtMzkuNy0uMS03MC44LTMyLjEtODMuMS02OC43bDQyLjkgMGMzLjUgNS4zIDYuOCAxMC43IDExLjIgMTUuNSA4LjEgNy4zIDE4LjUgMTAuOSAyOS4zIDExLjEgMTMuMSAwIDIzLjMtOS4xIDI5LjktMTkuOCA4LjEtMTMuMiAxMi4yLTI5IDEyLjItNDcuNSAwLTEzLjEtMS44LTI0LjMtNS4zLTMzLjYtLjktMi4zLTEuOS00LjUtMy02LjYtMS40LTIuNi0yLjktNS4xLTQuNy03LjQtMTAuMS0xMy4yLTI5LjMtMTkuNy00Ny41LTE5LjhsLTI4LjIgMCA3MC4zLTEyMi0zNS42IDBjLTQzLjEgMC0zNS45LTUuNC01MC40IDQzLjNsLTc1LjcgMjU1LjMtNC4yIDAtNjMuMS0yMTEuMS02My4xIDIxMS4xLTQuMiAwLTEwMS0zNDAuNyA0NC4yIDAgNjEgMjA3LjR6TTQ2NyAzMzUuN2MuMyAuNiAxMS4zIDIwLjMgMTguMyAzMC4zIDcuMSAxMC4xIDE5LjggMjAuOSAyNC44IDI0LjZzMTkuMSAxMi41IDM0LjMgMTMuOWMxNS4yIDEuNSAyMy4zIC4yIDM4LjctNi42IDE1LjQtNi44IDI3LjktMjAuNCAzNC45LTI4LjEgNi45LTcuNiAxNy45LTI3LjMgMTguMi0yNy43bDMuMyAxNi44YzEuNyA5LTEgMjMuNy00LjEgMzAtNC4zIDguNi03LjYgMTMuNS0xNCAyMC4zLTYuMSA2LjUtMTYuNyAxMy41LTIxLjMgMTYuNC00LjYgMi45LTIzLjEgMTUuMS01MC4xIDEwLjNzLTQ0LjctMjUuOS01My45LTM4LjJjLTkuOC0xMy4yLTE2LjctMjguMy0xOS0zMy4yLTMuOC04LjQtOS45LTI4LjItMTAuMS0yOC44em0xNjkuNy0yMThjMy4zIDIwLjMtLjEgMjguNy05LjEgNDZsLTEyLjcgMjQuMmMtLjMtLjYtMTAtMjAuNy0yNS45LTMxLjktMTMuNi05LjYtMjIuNS0xMS43LTM2LjMtOC44LTE3LjggMy43LTM4IDI1LTQ2LjggNTEuMi0xMC41IDMxLjQtMTAuNyA0Ni42LTExIDYwLjYtLjYgMjIuNCAyLjkgMzUuNiAyLjkgMzUuNnMtMTUuNC0yOC41LTE1LjItNzAuMWMuMS0yOS43IDQuOC01Ni43IDE4LjUtODMuMyAxMi4xLTIzLjQgMzAuMS0zNy40IDQ2LjEtMzkuMSAxNi41LTEuNyAyOS42IDYuMyAzOS43IDE0LjkgMTAuNiA5IDIxLjMgMjguOCAyMS4zIDI4LjhsMjQuOS00OS44IDMuNiAyMS44eiJdfSxhTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ3JhdiIsaWNvbjpbNTEyLDUxMixbXSwiZjJkNiIsIk0zMDIuNiAyMTAuNmM0LjUgNC41IDQuNSAxMi4zIDAgMTYuOGwtMTAgMTBjLTQuNSA0LjktMTIuMyA0LjktMTcuMSAwbC0xMC44LTEwLjhjLTQuNS00LjktNC41LTEyLjMgMC0xNy4xbDEwLTEwYzQuNS00LjUgMTIuMy00LjUgMTcuMSAwbDEwLjggMTEuMXptLTMxLjItMjAuM2E3LjcgNy43IDAgMSAwIC0xMC42LTExIDcuNyA3LjcgMCAxIDAgMTAuNiAxMXptLTI2LjggNS41YTcuNSA3LjUgMCAxIDAgMTAuNyAxMC41IDcuNSA3LjUgMCAxIDAgLTEwLjctMTAuNXpNMzE5LjQgMTgyYy0yMC41LTE0LjktMzQuOS00NC42LTEyLjMtNzAuMyAyMi4zLTI1LjcgNDItMTcuOCA2MS43IC44IDEyLjMgMTEuNyAzMC4yIDI1LjcgMTcuOCA0OS44LTEyLjkgMjQuMy00Ni42IDM0LjMtNjcuMiAxOS43em00OS4yLTQ1LjljLTkuMi0xMC4zLTI0LjEgNy4xLTE2IDE2LjYgNy42IDkuMyAzMy4xIDIuNSAxNi0xNi42ek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem00NDMuNyA0NGMyLjYtMTYuNi0yMC45LTE3LjEtMjYtMjYuNS0xNC0yNC45LTI4LjYtMzgtNTYuMy0zMS40IDEyLTguMyAyNC4zLTYuMyAyNC4zLTYuMyAuMy02LjYgMC0xMy40LTkuNy0yNS43IDQtMTIuOSAuMy0yMy4xIC4zLTIzLjEgMTYtOC45IDI3LjctMjUuMiAzMC00NC42IDMuNy0zMi0xOS40LTYxLjEtNTEuNC02NC44LTIyLjgtMi42LTQ1LjEgNy45LTU2LjEgMjYuNS0yMy45IDQxLjQgMS40IDczLjIgMjMuMSA4NC0xNC45LTEuNC0zNS40LTEyLjMtNDEuNC0zNS40LTYuOC0yNi41IDIuOS01MS40IDkuMi02My40IDAgMC00LjUtNi04LjMtOS4yIDAgMC0xNC4yIDAtMjUuNCA1LjUgMTIuMy0xNS43IDI2LTE0LjkgMjYtMTQuOSAwLTYuNi0uNi0xNS40LTMuNy0yMi4zLTUuNi0xMS40LTI0LjYtMTMuMy0zMi43IDIuOSAuMS0uMiAuMy0uNCAuNC0uNS01LjIgMTIuMy0xLjEgNTcuNyAxNy40IDkwLTIuNiAxLjQtOS40IDYuMy0xMy40IDEwLjMtMjIuMyAxMC01OCA2Mi4yLTU4IDYyLjItMjkuMSAxMS4xLTc5LjcgNTIuNS03Mi45IDgyLjMgLjMgMy4xIDEuNCA1LjcgMy4xIDcuNy0yLjkgMi4zLTUuNyA1LjItOC42IDguNi0xMi4zIDE0LjItNS41IDM2LjMgMTguMyAyNS4yIDE2LjMtNy40IDMwLjYtMjAuOSAzNy41LTMxLjQgMCAwLTUuNy01LjItMTYuOC00LjUgMjguNi02LjggMzUuNC05LjcgNDcuNy05LjQgOC4zIDQgOC4zLTM1LjQgOC4zLTM1LjQgMC0xNS4yLTIuMy0zMi0xMS41LTQyLjggMTIuOSAxMi42IDMwIDMzLjggMjguOSA2Mi42LS44IDE4LjktMTUuNyAyMy43LTE1LjcgMjMuNy05LjQgMTcuMS00NC42IDY4LTMxLjQgMTA5LjQgMCAwLTEwLTE1LjQtMTAuNS0yMi44LTE4IDIwLTQ4IDU0LTI1LjQgNjYuNiAyNy41IDE1LjIgMTEyLjMtOTEuNSAxMzAuMy0xNDYuOSAzNS43LTIxLjUgNTcuMi00OC44IDY2LTY3LjEgMjIuNyA0NC45IDk4LjQgOTcuNSAxMDQuNCA2MC45eiJdfSxyTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXdzIixpY29uOls2NDAsNTEyLFtdLCJmMzc1IiwiTTE4MC40IDIwM2MtLjcgMjIuNiAxMC42IDMyLjcgMTAuOSAzOS0uMSAxLjMtLjYgMi41LTEuMyAzLjZzLTEuNyAyLTIuOCAyLjZsLTEyLjggOWMtMS43IDEuMi0zLjYgMS44LTUuNiAxLjktLjQgMC04LjIgMS44LTIwLjUtMjUuNi03LjUgOS40LTE3IDE2LjktMjcuOSAyMnMtMjIuNyA3LjctMzQuNyA3LjVjLTE2LjMgLjktNjAuNC05LjItNTguMS01Ni4yLTEuNi0zOC4zIDM0LjEtNjIuMSA3MC45LTYwIDcuMSAwIDIxLjYgLjQgNDcgNi4zbDAtMTUuNmMyLjctMjYuNS0xNC43LTQ3LTQ0LjgtNDMuOS0yLjQgMC0xOS40LS41LTQ1LjggMTAuMS03LjQgMy40LTguMyAyLjgtMTAuOCAyLjgtNy40IDAtNC40LTIxLjUtMi45LTI0LjIgNS4yLTYuNCAzNS45LTE4LjQgNjUuOS0xOC4yIDIwLjEtMS44IDQwLjEgNC40IDU1LjcgMTcuMyA2LjMgNy4xIDExLjIgMTUuNCAxNC4yIDI0LjRzNC4yIDE4LjUgMy41IDI4bDAgNjkuM3pNOTQgMjM1LjRjMzIuNC0uNSA0Ni4yLTIwIDQ5LjMtMzAuNSAyLjUtMTAuMSAyLjEtMTYuNCAyLjEtMjcuNC05LjctMi4zLTIzLjYtNC45LTM5LjYtNC45LTE1LjItMS4xLTQyLjggNS42LTQxLjcgMzIuMy0xLjIgMTYuOCAxMS4xIDMxLjQgMzAgMzAuNXptMTcwLjkgMjMuMWMtNy45IC43LTExLjUtNC45LTEyLjctMTAuNEwyMDIuNCA4My40Yy0xLTIuOC0xLjYtNS42LTEuOS04LjYtLjItMS4yIC4xLTIuNCAuOC0zLjRzMS44LTEuNiAzLTEuOGMuMiAwLTIuMSAwIDIyLjIgMCA4LjgtLjkgMTEuNiA2IDEyLjYgMTAuNEwyNzQuOSAyMjAuOCAzMDguMSA4MGMuNS0zLjIgMi45LTExLjEgMTIuOC0xMC4ybDE3LjIgMGMyLjItLjIgMTEuMS0uNSAxMi43IDEwLjRMMzg0LjEgMjIyLjcgNDIxIDgwLjFjLjUtMi4yIDIuNy0xMS40IDEyLjctMTAuNGwxOS43IDBjLjktLjEgNi4yLS44IDUuMyA4LjYtLjQgMS44IDMuNC0xMC43LTUyLjggMTY5LjktMS4xIDUuNS00LjggMTEuMS0xMi43IDEwLjRsLTE4LjcgMGMtMTAuOSAxLjItMTIuNS05LjctMTIuNy0xMC43bC0zMy4yLTEzNy4xLTMyLjggMTM3Yy0uMiAxLjEtMS43IDExLjktMTIuNyAxMC43bC0xOC4zIDAgMCAwem0yNzMuNSA1LjZjLTUuOSAwLTMzLjktLjMtNTcuNC0xMi4zLTIuMy0xLTQuMy0yLjYtNS43LTQuOHMtMi4xLTQuNi0yLjEtNy4xbDAtMTAuN2MwLTguNSA2LjItNi45IDguOC01LjkgMTAgNC4xIDE2LjUgNy4xIDI4LjggOS42IDM2LjcgNy41IDUyLjgtMi4zIDU2LjctNC41IDEzLjItNy44IDE0LjItMjUuNyA1LjMtMzQuOS0xMC41LTguOC0xNS41LTkuMS01My4xLTIxLTQuNi0xLjMtNDMuNy0xMy42LTQzLjgtNTIuNC0uNi0yOC4yIDI1LTU2LjIgNjkuNS01NiAxMi43IDAgNDYuNCA0LjEgNTUuNiAxNS42IDEuNCAyLjEgMiA0LjYgMS45IDdsMCAxMC4xYzAgNC40LTEuNiA2LjctNC45IDYuNy03LjctLjktMjEuNC0xMS4yLTQ5LjItMTAuOC02LjktLjQtMzkuOSAuOS0zOC40IDI1LS40IDE5IDI2LjYgMjYuMSAyOS43IDI2LjkgMzYuNSAxMSA0OC42IDEyLjggNjMuMSAyOS42IDE3LjEgMjIuMiA3LjkgNDguMyA0LjMgNTUuNC0xOS4xIDM3LjUtNjguNCAzNC40LTY5LjMgMzQuNHptNDAuMiAxMDQuOWMtNzAgNTEuNy0xNzEuNyA3OS4yLTI1OC41IDc5LjItMTE3LjEgLjgtMjMwLjMtNDIuMy0zMTcuMy0xMjAuNy02LjUtNS45LS44LTE0IDcuMi05LjUgOTYuNSA1NS4yIDIwNS43IDg0LjIgMzE2LjkgODQuMSA4My0uNCAxNjUuMS0xNy4zIDI0MS42LTQ5LjUgMTEuOC01IDIxLjggNy44IDEwLjEgMTYuNHptMjkuMi0zMy4zYy05LTExLjUtNTkuMy01LjQtODEuOC0yLjctNi44IC44LTcuOS01LjEtMS44LTkuNSA0MC4xLTI4LjIgMTA1LjktMjAuMSAxMTMuNC0xMC42IDcuNSA5LjUtMi4xIDc1LjQtMzkuNiAxMDYuOS01LjggNC45LTExLjMgMi4zLTguNy00LjEgOC40LTIxLjMgMjcuNC02OC41IDE4LjQtODB6Il19LHNNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnbGlkZS1nIixpY29uOls0NDgsNTEyLFtdLCJmMmE2IiwiTTQwNy4xIDIxMS4yYy0zLjUtMS40LTExLjYtMy44LTE1LjQtMy44LTM3LjEgMC02Mi4yIDE2LjgtOTMuNSAzNC41bC0uOS0uOWM3LTQ3LjMgMjMuNS05MS45IDIzLjUtMTQwLjQgMC03MS41LTM4LjItMTAwLjYtMTA4LjQtMTAwLjYtMTE1LjEgMC0xNzMuNCAxMTMuNy0xNzMuNCAxOTguNCAwIDg3LjkgNTEuMyAxMzYuNiAxMzguNiAxMzYuNiAxMiAwIDExLTEgMTEgMy44LTE2LjkgMTI4LjktOTAuOCAxMzMuMS05MC44IDk0LjYgMC0zOS4yIDQ1LTU4LjYgNDUuNS02MS0uMy0xMi4yLTQ3LTI3LjYtNTguOS0yNy42LTMzLjkgLjEtNTIuNCA1MS4yLTUyLjQgNzkuMyAwIDUxLjkgMzIuOCA4Ny45IDg1LjUgODcuOSA3Ny40IDAgMTM0LTc3LjggMTUxLjQtMTQ1LjQgMTUuMS02MC41IDExLjItNjMuMyAxOS43LTY3LjYgMzIuMi0xNi4yIDU3LjUtMjcgOTMuOC0yNyAxNy44IDAgMzAuNSAzLjcgNTguOSA4LjQgMi45IDAgNi43LTIuOSA2LjctNS44IDAtOC0zMy40LTYwLjUtNDAuOS02My40ek0yMzEuOCAxMjYuOGMtOS4zIDQ0LjctMTguNiA4OS42LTI3LjggMTM0LjMtMi4zIDEwLjItMTMuMyA3LjgtMjIgNy44LTM4LjMgMC00OS00MS44LTQ5LTczLjEgMC00NyAxOC0xMDkuMyA2MS44LTEzMy40IDctNC4xIDE0LjgtNi43IDIyLjYtNi43IDE4LjYgMCAyMCAxMy4zIDIwIDI4LjctLjEgMTQuMy0yLjcgMjguNS01LjYgNDIuNHoiXX0saU10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImpzZmlkZGxlIixpY29uOls1NzYsNTEyLFtdLCJmMWNjIiwiTTUxMS4xIDIzNy41Yy00LjctMi42LTUuNy01LjctNi40LTEwLjgtMi40LTE2LjUtMy41LTMzLjYtOS4xLTQ5LjEtMzUuOS0xMDAtMTU0LTE0My40LTI0Ni44LTkxLjYtMjcuNCAxNS4yLTQ5IDM2LjQtNjUuNSA2My45LTMuMi0xLjUtNS41LTIuNy03LjgtMy43LTMwLjEtMTIuNC01OS0xMC4xLTg1LjMgOS4yLTI1LjUgMTguNy0zNi40IDQ0LjUtMzIuNyA3Ni40IC40IDMtMiA3LjYtNC41IDkuNS0zOS43IDMwLTU2IDc4LjEtNDEuOSAxMjQuNiAxMy44IDQ1LjYgNTcuNSA3OS44IDEwNS42IDgxLjQgMzAuMyAxIDYwLjYgLjUgOTEgLjUgODQgMCAxNjguMSAuNSAyNTIuMS0uNSA1Mi43LS42IDk2LjEtMzYuOSAxMDguMi04Ny4zIDExLjUtNDguMS0xMS4xLTk3LjMtNTYuOC0xMjIuNnptMjEuMSAxNTYuOWMtMTguMiAyMi40LTQyLjMgMzUuMy03MS4zIDM1LjctNTYuOSAuOC0xMTMuOCAuMi0xNzAuNyAuMiAwIC43LTE2MyAuMi0xNjMuNyAuMi00My45LS4zLTc2LjctMTkuOC05NS4yLTYwLTE4LjktNDEuMi00LTkwLjggMzQuMi0xMTYuMSA5LjItNi4xIDEyLjUtMTEuNiAxMC4xLTIzLjEtNS41LTI2LjQgNC41LTQ4IDI2LjQtNjMgMjMtMTUuNyA0Ny40LTE2LjEgNzItMy4xIDEwLjMgNS40IDE0LjYgMTEuNiAyMi4yLTIuNSAxNC4yLTI2LjQgMzQuNi00Ni43IDYwLjctNjEuMyA5Ny41LTU0LjQgMjI4LjQgNy42IDIzMC4yIDEzMi43IC4xIDguMiAyLjQgMTIuNCA5LjggMTUuOSA1Ny42IDI2LjggNzQuNSA5Ni4xIDM1LjEgMTQ0LjV6bS04Ny44LTgwLjVjLTUuOCAzMS4yLTM0LjYgNTUuMS02Ni43IDU1LjEtMTcgMC0zMi4xLTYuNS00NC4xLTE3LjctMjcuNy0yNS43LTcxLjEtNzUtOTUuOS05My40LTIwLjEtMTQuOS00Mi0xMi4zLTYwLjMgMy44LTUwIDQ0LjEgMTUuOSAxMjEuOCA2Ny4xIDc3LjIgNC41LTQgNy44LTkuNSAxMi43LTEyLjggOC4yLTUuNSAyMC44LS45IDEzLjIgMTAuNi0xNy40IDI2LjMtNDkuMyAzOC4yLTc4LjkgMjkuMy0yOC45LTguNy00OC44LTM2LTQ4LjYtNzAuMiAxLjItMjIuNSAxMi40LTQzLjEgMzUuNC01NiAyMi42LTEyLjYgNDYuNC0xMy4xIDY3IDIuNSA1MC44IDM4LjUgNzUuNiA4MS43IDEwNy4zIDEwMS4yIDI0LjYgMTUuMSA1NC4zIDcuNCA2OC44LTE3LjUgMjguOC00OS4yLTM0LjYtMTA1LTc4LjktNjMuNS00IDMuNy02LjkgOC45LTExLjQgMTEuNy0xMSA2LjgtMTcuMy00LjEtMTIuOC0xMC40IDIwLjctMjguNiA1MC41LTQwLjQgODMuMy0yOC4yIDMxLjQgMTEuNyA0OS4xIDQ0LjQgNDIuOCA3OC4yeiJdfSxvTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToia2V5YmFzZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjRmNSIsIk0yODYuMiA0MTlhMTggMTggMCAxIDAgMCAzNiAxOCAxOCAwIDEgMCAwLTM2ek0zOTguMSAyNzEuNGMtOS41LTE0LjYtMzkuNC01Mi40LTg3LjMtNzMuNy02LjEtMi43LTEyLjItNS4xLTE4LjQtNy4zIDQuMS05LjkgNi0yMC42IDUuOC0zMS40cy0yLjctMjEuMy03LjItMzEuMS0xMC45LTE4LjUtMTguOS0yNS43LTE3LjQtMTIuNi0yNy42LTE2Yy0xMi40LTQuMS0yMy4zLTYtMzIuNC01LjgtLjYtMi0xLjktMTEgOS40LTM1bC0yMi45LTEzLjUtNS41IDcuNmMtOC43IDEyLjEtMTYuOSAyMy42LTI0LjMgMzQuOS0yLjctLjYtNS41LTEuMS04LjMtMS4yLTQxLjUtMi40LTM5LTIuMy00MS4xLTIuMy01MC42IDAtNTAuOCA1Mi4xLTUwLjggNDUuOWwtMi40IDM2LjdjLTEuNiAyNyAxOS44IDUwLjIgNDcuNiA1MS44bDguOSAuNUMxMDYgMjE1LjUgOTAuNCAyMjcuNSA3Ni42IDI0MS40IDE0IDMwNC43IDE0IDM3NCAxNCA0MjkuOGwwIDMzLjYgMjMuMy0yOS44YzMuMSAxMy4xIDggMjUuOCAxNC42IDM3LjYgNS44IDEwLjEgMTQuOSA5LjQgMTkuNiA3LjMgNC4yLTEuOSAxMC02LjkgMy44LTIwLjEtOC0xNi44LTEzLjMtMzQuNy0xNS44LTUzLjFsNDYuOC01OS44LTI0LjcgNzQuMWM1OC4yLTQyLjQgMTU3LjQtNjEuOCAyMzYuMi0zOC42IDM0LjIgMTAuMSA2Ny40IC43IDg0LjctMjMuOCAuNy0xIDEuMi0yLjIgMS44LTMuMiAxLjggOS40IDIuNyAxOC45IDIuOCAyOC40IDAgMjMuMy0zLjcgNTIuOS0xNC45IDgxLjYtMi41IDYuNSAxLjggMTQuNSA4LjYgMTUuNyA3LjQgMS42IDE1LjMtMy4xIDE4LjQtMTEuMSA5LjYtMjUuNSAxNC42LTU0LjYgMTQuNi04Ni4yIDAtMzguNi0xMy03Ny41LTM1LjktMTEwLjl6TTE0Mi40IDEyOC42bC0xNS43LS45LTEuNCAyMS44IDEzLjEgLjhjLS42IDYuNS0uNSAxMy4xIC4zIDE5LjZsLTIyLjQtMS4zYy0xLjYtLjEtMy4yLS41LTQuNy0xLjFzLTIuOC0xLjYtMy45LTIuOC0xLjktMi42LTIuNS00LjEtLjgtMy4xLS43LTQuN0wxMDcgMTE5YzEtMTIuMiAxMy45LTExLjMgMTMuMy0xMS4zbDI5LjEgMS43Yy0yLjggNi4yLTUuMSAxMi42LTcgMTkuMnpNMjkwLjggMzAwLjhjLTIuMSAxLjYtNC44IDIuNC03LjUgMi4ycy01LjEtMS41LTYuOS0zLjVsLTkuNy0xMS41LTM0LjQgMjdjLTEuNiAxLjMtMy43IDEuOS01LjggMS43cy00LTEuMi01LjMtMi44bC0xNS44LTE4LjZjLTEuMi0xLjYtMS43LTMuNS0xLjUtNS40czEuMy0zLjcgMi44LTQuOWwzNC42LTI3LjItMTQuMS0xNi43LTE3LjEgMTMuNWMtMS42IDEuMi0zLjUgMS44LTUuNSAxLjZzLTMuOC0xLjEtNS4xLTIuNmMwIDAtMy43LTQuNC0zLjgtNC41LTEuMi0xLjYtMS43LTMuNS0xLjUtNS41czEuMy0zLjcgMi44LTQuOUwyMTQgMjI1LjJzLTE4LjUtMjItMTguNi0yMi4xYy0uOC0xLTEuMy0yLjEtMS43LTMuM3MtLjQtMi41LS4zLTMuNyAuNi0yLjQgMS4yLTMuNSAxLjUtMiAyLjUtMi44YzIuMS0xLjcgNC44LTIuNCA3LjQtMi4yczUuMSAxLjUgNi45IDMuNmw4MS4xIDk2LjNjLjggMSAxLjMgMi4xIDEuNyAzLjNzLjQgMi41IC4zIDMuNy0uNiAyLjUtMS4yIDMuNS0xLjUgMi4xLTIuNSAyLjh6TTE4Ny40IDQxOWExOCAxOCAwIDEgMCAwIDM2IDE4IDE4IDAgMSAwIDAtMzZ6Il19LG5NdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsdW1vbi1kcm9wIixpY29uOls1NzYsNTEyLFtdLCJlN2UzIiwiTTQ4MCAzMmM1MyAwIDk2IDQzIDk2IDk2bDAgMjI0YzAgNTMtNDMgOTYtOTYgOTZMOTYgNDQ4Yy01MyAwLTk2LTQzLTk2LTk2TDAgMTI4QzAgNzUgNDMgMzIgOTYgMzJsMzg0IDB6TTMwMi40IDExNC43Yy05LjgtMTYuNC0yMC41LTE2LjQtMjkuNiAwbC02OC45IDExNGMtMTAuNyAxNS42LTE2LjQgMzIuOC0xNi40IDUyLjUgMCA1MC45IDQ0LjMgOTQuMyAxMDAuMSA5NC4zIDU1IDAgMTAwLjktNDMuNSAxMDAuOS05NC4zIDAtMTkuNy02LjYtMzcuOC0xNy4yLTUyLjVsLTY4LjktMTE0eiJdfSxsTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm9yZ2VqbyIsaWNvbjpbMzIwLDUxMixbXSwiZTg2MCIsIk0yNjEuNSAxLjJjMzQgMCA2MS42IDI3LjYgNjEuNiA2MS42cy0yNy42IDYxLjYtNjEuNiA2MS42Yy0yMyAwLTQzLjEtMTIuNy01My43LTMxLjRsLTI4LjUgMGMtMjQgMC00NyA5LjUtNjQgMjYuNXMtMjYuNSA0MC0yNi41IDY0bDAgNDMuNWMyNi0xOS41IDU3LjctMzAuMiA5MC42LTMwLjJsMjguNSAwYzEwLjYtMTguNyAzMC42LTMxLjQgNTMuNy0zMS40IDM0IDAgNjEuNiAyNy42IDYxLjYgNjEuNnMtMjcuNiA2MS42LTYxLjYgNjEuNmMtMjMgMC00My4xLTEyLjctNTMuNy0zMS40bC0yOC41IDBjLTI0IDAtNDcgOS41LTY0IDI2LjVzLTI2LjUgNDAtMjYuNSA2NGwwIDQ3LjhjMTguNyAxMC42IDMxLjQgMzAuNiAzMS40IDUzLjYgMCAzNC0yNy42IDYxLjYtNjEuNiA2MS42Uy0zIDQ4My4yLTMgNDQ5LjJjMC0yMyAxMi43LTQzLjEgMzEuNC01My42bDAtMjEyYzAtNDAgMTUuOS03OC40IDQ0LjItMTA2LjdzNjYuNy00NC4yIDEwNi43LTQ0LjJsMjguNSAwYzEwLjYtMTguNyAzMC42LTMxLjQgNTMuNy0zMS40ek01OC42IDQyMy45Yy0xNCAwLTI1LjMgMTEuMy0yNS4zIDI1LjNzMTEuMyAyNS40IDI1LjMgMjUuNCAyNS40LTExLjQgMjUuNC0yNS40LTExLjQtMjUuMy0yNS40LTI1LjN6TTI2MS41IDIwMS43YTI1LjQgMjUuNCAwIDEgMCAwIDUwLjcgMjUuNCAyNS40IDAgMSAwIDAtNTAuN3ptMC0xNjQuMmEyNS40IDI1LjQgMCAxIDAgMCA1MC43IDI1LjQgMjUuNCAwIDEgMCAwLTUwLjd6Il19LGNNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwb3N0Z3Jlc3FsIixpY29uOls1MTIsNTEyLFtdLCJlODU4IiwiTTIxOS44IDE3MS4zYzMuOSAuNSAxMy4xIDIuNyAxMi4zIDguNS0uOCA1LjktOS4yIDkuMS0xNC4yIDguNC00LjctLjctMTMuMi02LjEtMTIuMy0xMi4xbC4zLTIuMWM0LjIgMCA4LjMtMy41IDEzLjktMi43em0xNjguMS0zLjRjMTAuOCAyLjYtMS4xIDEzLjUtNi44IDE0LjMtNC4zIC42LTEyLjEtMi4yLTEyLjgtNy40LTEtNy40IDE1LjctNy45IDE5LjctNi45em0tMjItMTQwLjhjMzUuNy0uMyA4MS4zIDkuNCAxMTQuMyA1MS43IDcuMiA5LjIgMTAgMjQgOS43IDQwLjktLjggNDkuNi0yNiAxMjkuNC03MC43IDE5Ny40IDQuNSAyLjkgMTcuNiA3LjQgNTEuMSAuNSA1LjYtMS4yIDEyLjctMi4yIDE3LjYgMS42IDE4LjIgMTMuOS0xOS42IDM1LjEtMjguNCAzOS4yLTEzLjIgNi4yLTM0LjggOS41LTUxLjIgOC43LTIuMS0uMi00LjMtLjItNi4zLS42LTUuMS0xLjEtNy40LTEtOC4zLS43LTEuMSAuMy0xLjQgMi45LTEuNiAzLjgtMi44IDI0LjktNy43IDY0LjctMTAuNyA4Mi0yLjggMTYuMy03LjcgMjkuMy0xNy4yIDM5LjItOS41IDkuOS0yMi44IDE1LjctNDAuNiAxOS41LTIyLjMgNC44LTM3LjktLjEtNDguNy05LjEtMTAuMy04LjctMTUuMi0yMC40LTE4LTI3LjQtMS44LTQuNS0zLTExLjUtNC0xOS44LTIuMy0xOS44LTMuMy01MC40LTMtODMuMy0yNC42IDIyLjEtNTUgMTcuMi02OC4yIDEzLjktMTAuNS0yLjYtMzMtMTYuMS0xNy41LTI4LjcgMTEuOS05LjcgMzAuMy01LjUgNDIuMi0xNSAyLjQtMS45IDExLjQtMTAuNiAxMS40LTEzLjUtMTAtLjMtMTkuNi0yLjktMjguMS03LjUtMTMuNSAxNC41LTI2LjQgMjkuNS0zOS4zIDQ0LjYtOC4zIDkuOS0xNy40IDE1LjgtMjcuNCAxNi4yLTkuOSAuNC0xOC43LTQuNi0yNi4xLTExLjgtNy4zLTcuMS0xNC4xLTE3LjItMjAuNC0yOS0xOS0zNS41LTMzLjItODYuMS00Mi4zLTEyNi40LTYtMjYuNy05LjYtNDkuMS0xMC4xLTU5LTIuMi00NC4zIDgtNzQuMSAyNi05My4yIDE3LjktMTkgNDIuNC0yNiA2Ni4xLTI3LjQgMzUuNi0yIDcxIDguNSA4Ni42IDEzLjhsNSAxLjhjMTUuOS0xMC44IDM2LjEtMTcuNCA2MS43LTE3IDEzLjIgLjIgMjUuNSAyLjIgMzYuNyA0LjIgMTguNi03LjEgMzkuOC05LjUgNTkuNC05Ljd6bS05NiAyMC41Yy0yNC43LS40LTQyLjkgNi41LTU2LjYgMTYuOC0uOCAuNi0xLjggMS0yLjggMS4yLTE0LjQgMTEuOC0yMy45IDI4LTMwLjMgNDQuOC03LjIgMTkuMS0xMCAzOC41LTExLjEgNTEuNSA3LjYtNC4zIDE3LjktOC43IDI4LjctMTEuMiAxMC41LTIuNCAyMi40LTMuMiAzMi43IC44IDEwLjkgNC4yIDE5IDEzLjMgMjIuMiAyOC4xIDcuNSAzNC43IDYuNyA1OC4yIDIuNyA3NS45LTQuOCAyMS0xNi44IDM5LjUtMjEuOSA2MC40IDMuNS0uOSA3LjEtLjYgOS44IC4xbDcuMiAyLjljNy43IDQuNCAxMi44IDEzIDE0IDIxLjcgMiA2IC4xIDE0LjMgMCAyMC42IDYuNyAxNi4zIDcuMiAzNi4xIDYuNyA1My4zLS43IDI1LTEgNDAuMiAzLjIgNTEuNyAyLjkgNy45IDQuNyAxNi40IDEwLjQgMjIuOCAyLjYgMyA2LjEgNS41IDEwLjkgNi44IDE4LjUgNS4xIDQ0LTQuNyA1Ni42LTE4LjIgNy43LTguMiAxMi4zLTE5LjMgMTMuNC0zMy45IDEuMS0xMy42IDQuMi0yNy42IDYuMy00MS4xbDIuOS04LjhjMS43LTE0LjggMy40LTI5LjYgNS00NC40LS40LTkuMSAuOS0xNi4xIDMuOS0yMS41IDMuMS01LjcgNy42LTguOSAxMS44LTEwLjggMS44LS44IDMuOS0xLjIgNS42LTItMS42LTIuNC0zLjYtNC42LTUuMy02LjgtOC4yLTEwLjQtMTMuMy0yMi4zLTE5LjctMzMuOC04LjUtMTUuMi0yMy44LTQyLjItMzAuMS02Ny41LTQuMS0xNi40LTQuOS0zNC41IDYtNDcgOS44LTExLjIgMjYuOS0xNS41IDUxLjktMTMtMy40LTEwLTExLjQtMjcuNS0yNC44LTQ0LjctMTgtMjMtNDUuNy00NS45LTg1LjctNTMuMS03LjMtLjktMTUuMi0xLjUtMjMuNi0xLjd6bS0zMi4yIDI4MmMtOCAuNy0xNS41IDE4LjItMjEuNyAyMy4xLTYuMiA0LjktMTQuNSA3LjYtMzAgMTAuNy00LjUgLjktNy43IDEuOS05LjcgMi44IDIyLjMgMTUuOCA1OC4zIDMuMiA3Mi42LTE2LjggMS43LTIuNCAyLjEtNiAuNS0xMC4yLTEuNy00LjUtNi40LTEwLjEtMTEuOS05LjZ6TTExNy42IDQ5LjJjLTIxLjYgMS4yLTQyIDcuNS01Ni40IDIyLjgtMTQuNCAxNS4yLTI0LjIgNDAuNi0yMi4xIDgyLjUgLjQgOC41IDMuOCAzMCA5LjggNTYuNiA4LjkgMzkuOCAyMy43IDkwLjMgNDAuNiAxMjIuMiA2IDExLjEgMTcuNCAzMyAzMi44IDMyLjMgNC40LS4yIDEwLjEtMi44IDE3LTExIDEyLjYtMTQuOCAyNS4yLTI5LjUgMzguNS00My43LTE3LjktMTUuNC0yOC41LTQwLjMtMjQuOC02Ny4yIDMuNC0yNC4zIC41LTQ4LjIgMS4yLTcyLjUgLjQtMTEuOSAyLjMtMzguNyAxMi42LTY1LjggNS45LTE1LjUgMTQuNS0zMS4zIDI3LjQtNDQuMi0xNi40LTUuNC00Ny4xLTEzLjUtNzYuNi0xMS45ek00MDUuMSAzMjguOWMtMy44IDEuMS02LjcgMi4yLTguNyA1LjgtMS4zIDIuNC0yLjUgNi43LTIuMiAxNC4yIDQuOCAzLjkgMTQuMSAzLjMgMTkuOCAzLjIgMTMuOS0uMiAyOS45LTMuMSAzOS4zLTcuNSA3LjktMy43IDE0LjctOC4zIDE5LTEyLjItMzguMiA3LjctNTUuNCAyLjEtNjMuMi00LjgtMS4zIC40LTIuOSAuOS0zLjkgMS4yek0yMjUuMyAxNjQuOWMtMTUuNC01LjktMzUuNCAxLjgtNDguOSA5LjQtMy42IDItNi41IDQtNy45IDUuMiAuNCA4LjggMi44IDM2LjEtMS40IDY2LjMtNS4xIDM2LjYgMjEuNyA2Ni42IDUyLjUgNjYuNyA1LjEtMjAuOCAxNy0zOS4yIDIxLjgtNjAuMSAzLjUtMTUuMyA0LjUtMzYuNi0yLjctNjkuNy0yLjMtMTAuNS03LjQtMTUuNC0xMy40LTE3Ljd6TTM3MC4xIDQyLjJjLTE1LjItLjItMjguOCAxLjctMzkuMiAzLjggMjYgMTEuOCA0NS42IDI5LjcgNTkuNiA0Ny42IDE3LjQgMjIuMiAyNi4zIDQ0LjEgMjkgNTUgLjcgMi43IDEuMyA1LjcgLjUgOC40IC42IDE4LjktNCAzMS4zLTQuNiA0OS4yLS40IDEyLjkgMi45IDI4LjEgMy43IDQ0LjcgLjggMTUuNy0xIDMyLjUtMTEuMiA0OS41IC44IDEgMS42IDIuMSAyLjQgMy4xIDI2LjgtNDIuMiA0Ni04OC42IDU2LjMtMTI4LjUgNS41LTIxLjQgOC40LTQwLjcgOC43LTU2LjEgLjItMTUuMi0yLTI1LjQtNS44LTMwLjQtMjguMy0zNi4xLTY2LjgtNDUuOC05OS4zLTQ2LjJ6bTM1LjYgMTE5LjVjLTI1LjMtMy4yLTM3LjMgMS41LTQyLjggNy43LTYgNi44LTYuOCAxOC41LTIuOSAzNC4xIDUuNyAyMi42IDIwLjEgNDguNiAyOC43IDY0IDMuNiA2LjQgNi40IDEzLjEgMTAgMTkuNCA1LjUtMTEuNyA2LjYtMjMuNSA2LTM1LjUtLjctMTUtNC4yLTMwLjMtMy43LTQ1LjhsLjQtNy40YzEuMi0xNC4zIDQuMS0yNC42IDQuMi0zNi41eiJdfSxkTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2VlYmx5IixpY29uOls1MTIsNTEyLFtdLCJmNWNjIiwiTTQyNS4xIDY1LjhjLTM5LjkgMC03My4zIDI1LjctODMuNyA2NC4zLTE4LjItNTguMS02NS41LTY0LjMtODUtNjQuMy0xOS44IDAtNjYuOCA2LjMtODUuMyA2NC4zLTEwLjQtMzguNi00My40LTY0LjMtODMuNy02NC4zLTQ5IDAtODcuNSAzMy45LTg3LjUgNzcuMiAwIDI5IDQuMiAzMy4zIDc3LjIgMjMzLjUgMjIuNCA2MC42IDY3LjggNjkuNCA5Mi43IDY5LjQgMzkuMiAwIDcwLTE5LjUgODUuOS01NCAxNS45IDM0LjggNDYuNyA1NC4zIDg1LjkgNTQuMyAyNSAwIDcwLjQtOS4xIDkyLjctNjkuNyA3Ni42LTIwOC42IDc3LjUtMjA1LjYgNzcuNS0yMjcuMiAuNi00OC4zLTM2LTgzLjUtODYuOS04My41em0yNi4zIDExNC44TDM4NS45IDM1Ny4xYy03LjkgMjEuNS0yMS4yIDM3LjItNDYuMiAzNy4yLTIzLjQgMC0zNy40LTEyLjQtNDQtMzMuOWwtMzkuMy0xMTcuNC0xIDAtMzkuMyAxMTcuNGMtNyAyMS41LTIwLjkgMzMuNi00NCAzMy42LTI1IDAtMzguMy0xNS43LTQ2LjItMzcuMkw2MC45IDE4MS42Yy01LjQtMTQuOC03LjktMjMuOS03LjktMzQuNSAwLTE2LjMgMTUuOC0yOS40IDM4LjMtMjkuNCAxOC43IDAgMzIgMTEuOCAzNi4xIDI5LjFsNDQgMTM5LjggMSAwIDQ0LjctMTM2LjhjNi0xOS43IDE2LjUtMzIuMSAzOS0zMi4xczMyLjkgMTIuMSAzOSAzMi4xbDQ0LjcgMTM2LjggMSAwIDQ0LTEzOS44YzQuMS0xNy4yIDE3LjQtMjkuMSAzNi4xLTI5LjEgMjIuMiAwIDM4LjMgMTMuMyAzOC4zIDM1LjctLjMgNy45LTQuMSAxNi03LjYgMjcuMnoiXX0sdU10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImRvY2tlciIsaWNvbjpbNjQwLDUxMixbXSwiZjM5NSIsIk0zNDkuOSAyMzYuM2wtNjYuMSAwIDAtNTkuNCA2Ni4xIDAgMCA1OS40em0wLTIwNC4zbC02Ni4xIDAgMCA2MC43IDY2LjEgMCAwLTYwLjd6bTc4LjIgMTQ0LjhsLTY2LjEgMCAwIDU5LjQgNjYuMSAwIDAtNTkuNHpNMjcxLjggMTA0LjdsLTY2LjEgMCAwIDYwLjEgNjYuMSAwIDAtNjAuMXptNzguMSAwbC02Ni4xIDAgMCA2MC4xIDY2LjEgMCAwLTYwLjF6bTI3Ni44IDEwMGMtMTQuNC05LjctNDcuNi0xMy4yLTczLjEtOC40LTMuMy0yNC0xNi43LTQ0LjktNDEuMS02My43bC0xNC05LjMtOS4zIDE0Yy0xOC40IDI3LjgtMjMuNCA3My42LTMuNyAxMDMuOC04LjcgNC43LTI1LjggMTEuMS00OC40IDEwLjdsLTQzNC43IDBjLTguNyA1MC44IDUuOCAxMTYuOCA0NCAxNjIuMSAzNy4xIDQzLjkgOTIuNyA2Ni4yIDE2NS40IDY2LjIgMTU3LjQgMCAyNzMuOS03Mi41IDMyOC40LTIwNC4yIDIxLjQgLjQgNjcuNiAuMSA5MS4zLTQ1LjIgMS41LTIuNSA2LjYtMTMuMiA4LjUtMTcuMWwtMTMuMy04Ljl6TTExNS42IDE3Ni44bC02NiAwIDAgNTkuNCA2Ni4xIDAgMC01OS40LS4xIDB6bTc4LjEgMGwtNjYuMSAwIDAgNTkuNCA2Ni4xIDAgMC01OS40em03OC4xIDBsLTY2LjEgMCAwIDU5LjQgNjYuMSAwIDAtNTkuNHptLTc4LjEtNzIuMWwtNjYuMSAwIDAgNjAuMSA2Ni4xIDAgMC02MC4xeiJdfSxwTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWFnZW50byIsaWNvbjpbNDQ4LDUxMixbXSwiZjNjNCIsIk00NDUuOSAxMjcuOWwwIDI1Ni4xLTYzLjQgMzYuNSAwLTI1NS44LTE1OC41LTkxLjYtMTU4LjYgOTEuNiAuNCAyNTUuOS02My4zLTM2LjYgMC0yNTUuOSAyMjEuOS0xMjguMSAyMjEuNSAxMjcuOXpNMjU1LjggNDIwLjVsLTMxLjYgMTguNC0zMS44LTE4LjIgMC0yNTYtNjMuMyAzNi42IC4xIDI1NS45IDk0LjkgNTQuOSA5NS4xLTU0LjkgMC0yNTYtNjMuNC0zNi42IDAgMjU1Ljl6Il19LGZNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0b3ItYnJvd3NlciIsaWNvbjpbNTEyLDUxMixbXSwiZTgzOCIsIk0yNTYuNSA0NjUuNGwwLTMxYzk4LjMtLjMgMTc3LjktODAgMTc3LjktMTc4LjRTMzU0LjggNzcuOSAyNTYuNSA3Ny42bDAtMzFDMzcyIDQ2LjggNDY1LjQgMTQwLjUgNDY1LjQgMjU2UzM3MiA0NjUuMiAyNTYuNSA0NjUuNHptMC0xMDguNmM1NS40LS4zIDEwMC4zLTQ1LjMgMTAwLjMtMTAwLjhTMzEyIDE1NS41IDI1Ni41IDE1NS4ybDAtMzFjNzIuNiAuMyAxMzEuNCA1OS4yIDEzMS40IDEzMS44UzMyOS4xIDM4Ny42IDI1Ni41IDM4Ny44bDAtMzF6bTAtMTU1LjFjMjkuNyAuMyA1My44IDI0LjUgNTMuOCA1NC4zcy0yNCA1NC01My44IDU0LjNsMC0xMDguNnpNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMCAyNTYgMjU2IDAgMSAwIC01MTIgMHoiXX0saE10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdpdC1hbHQiLGljb246WzQ0OCw1MTIsW10sImY4NDEiLCJNNDM5LjYgMjM2LjFMMjQ0IDQwLjVDMjM4LjYgMzUgMjMxLjIgMzIgMjIzLjYgMzJzLTE1IDMtMjAuNCA4LjRsLTQwLjcgNDAuNiA1MS41IDUxLjVjMjcuMS05LjEgNTIuNyAxNi44IDQzLjQgNDMuN2w0OS43IDQ5LjdjMzQuMi0xMS44IDYxLjIgMzEgMzUuNSA1Ni43LTI2LjUgMjYuNS03MC4yLTIuOS01Ni0zNy4zbC00Ni4zLTQ2LjMgMCAxMjEuOWMyNS4zIDEyLjUgMjIuMyA0MS44IDkuMSA1NS02LjQgNi40LTE1LjIgMTAuMS0yNC4zIDEwLjFzLTE3LjgtMy42LTI0LjMtMTAuMWMtMTcuNi0xNy42LTExLjEtNDYuOSAxMS4yLTU2bDAtMTIzYy0yMC44LTguNS0yNC42LTMwLjctMTguNi00NUwxNDIuNiAxMDEgOC41IDIzNS4xQzMgMjQwLjYgMCAyNDcuOSAwIDI1NS41czMgMTUgOC41IDIwLjRMMjA0LjEgNDcxLjZjNS40IDUuNCAxMi43IDguNCAyMC40IDguNHMxNS0zIDIwLjQtOC40TDQzOS42IDI3Ni45YzUuNC01LjQgOC40LTEyLjggOC40LTIwLjRzLTMtMTUtOC40LTIwLjR6Il19LG1NdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmaXJlZm94LWJyb3dzZXIiLGljb246WzUxMiw1MTIsW10sImUwMDciLCJNMTMwLjIgMTI3LjVsMCAwem0zNTEuNCA0NS40Yy0xMC42LTI1LjUtMzIuMS01My00OC45LTYxLjcgMTMuNyAyNi45IDIxLjcgNTMuOSAyNC43IDc0IDAgLjEgMCAuMyAuMSAuNC0yNy42LTY4LjgtNzQuNC05Ni41LTExMi42LTE1Ni44LTE1LTIzLjctMTAuOS0yNS4yLTEzLjEtMjQuN2wtLjEgLjFjLTQ2LjcgMjYtNzUuMyA3OC40LTgyLjYgMTIyLjctMTYuNiAuOS0zMi45IDUtNDcuOSAxMi4xLTEuNCAuNi0yLjUgMS43LTMuMSAzcy0uOSAyLjgtLjYgNC4zYy4yIC44IC42IDEuNiAxLjEgMi4zczEuMiAxLjMgMS45IDEuNyAxLjYgLjcgMi40IC44IDEuNyAwIDIuNS0uM2wuNS0uMmMxNS41LTcuMyAzMi40LTExLjIgNDkuNS0xMS4zIDYyLjgtLjYgOTcuMiA0NCAxMDcuNiA2Mi4zLTEzLTkuMi0zNi40LTE4LjItNTguOC0xNC4zIDg3LjcgNDMuOSA2NC4yIDE5NC41LTU3LjQgMTg5LjItNTkuNS0yLjYtOTcuMS01MS0xMDAuNS05MC44IDAgMCAxMS4yLTQxLjkgODAuNi00MS45IDcuNSAwIDI4LjktMjAuOSAyOS4zLTI3LS4xLTItNDIuNS0xOC45LTU5LjEtMzUuMi04LjgtOC43LTEzLjEtMTIuOS0xNi44LTE2LjEtMi0xLjctNC4xLTMuMy02LjMtNC44LTUuNi0xOS41LTUuOC00MC0uNy01OS42LTI1LjEgMTEuNC00NC42IDI5LjQtNTguNyA0NS40bC0uMSAwYy05LjctMTIuMi05LTUyLjYtOC40LTYxLjEtLjEtLjUtNy4yIDMuNy04LjIgNC4zLTguNiA2LjEtMTYuNSAxMi45LTIzLjggMjAuNC0xNi4zIDE2LjYtNDQuMSA1MC4yLTU1LjUgMTAxLjItNC41IDIwLjQtNi44IDQ0LjQtNi44IDUyLjMgMCAxMzQuNyAxMDkuMiAyNDMuOSAyNDMuOSAyNDMuOSAxMjAuNiAwIDIyMy04Ny4yIDI0MC40LTIwMi42IDExLjYtNzYuNy0xNC43LTEzMS4xLTE0LjctMTMyeiJdfSxnTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2xvdWRzbWl0aCIsaWNvbjpbNTEyLDUxMixbXSwiZjM4NCIsIk01MTIgMjI3LjZMNTEyIDI4NC41IDI4NC40IDUxMiAyMjcuNiA1MTIgMCAyODQuNCAwIDIyNy42IDIyNy42IDAgMjg0LjUgMCA1MTIgMjI3LjZ6bS0yNTYgMTYyYzE3LjggLjUgMzUuNi0yLjYgNTIuMi05LjFzMzEuOC0xNi4yIDQ0LjYtMjguNyAyMy0yNy4zIDI5LjktNDMuOCAxMC41LTM0LjEgMTAuNS01Mi0zLjYtMzUuNS0xMC41LTUyLTE3LjEtMzEuMy0yOS45LTQzLjgtMjgtMjIuMi00NC42LTI4LjctMzQuNC05LjYtNTIuMi05LjFjLTE3LjgtLjUtMzUuNiAyLjYtNTIuMiA5LjFzLTMxLjggMTYuMy00NC42IDI4LjctMjMgMjcuMy0yOS45IDQzLjgtMTAuNSAzNC4xLTEwLjUgNTIgMy42IDM1LjUgMTAuNSA1MiAxNy4xIDMxLjMgMjkuOSA0My44IDI4IDIyLjIgNDQuNiAyOC43IDM0LjQgOS42IDUyLjIgOS4xeiJdfSxiTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2l6YXJkcy1vZi10aGUtY29hc3QiLGljb246WzY0MCw1MTIsW10sImY3MzAiLCJNMjE5LjIgMzQ1LjdjLTEuOSAxLjQtMTEuMSA4LjQtLjMgMjMuNiA0LjYgNi40IDE0LjEgMTIuOCAyMS43IDYuNiA2LjUtNC45IDcuNC0xMi45IC4zLTIzLTUuNS03LjgtMTQuMy0xMi45LTIxLjctNy4xem0zMzYuOCA3NS45Yy0uMyAxLjctLjYgMS43IC44IDAgMi4xLTQuMiA0LjItMTAuMiA1LTE5LjkgMy4xLTM4LjUtNDAuMy03MS41LTEwMS4zLTc4LTU0LjctNi0xMjQuNCA5LjItMTg4LjggNjAuNWwtLjMgMS42YzIuNiA1IDUgMTAuNyAzLjQgMjEuMmwuOCAuM2M2My45LTU4LjQgMTMxLjItNzcuMiAxODQuNC03My44IDU4LjQgMy43IDEwMCAzNCAxMDAgNjguMSAwIDEwLTIuNiAxNS43LTMuOSAyMC4yek0zOTIuMyAyNDAuNGMuOCA3LjEgNC4yIDEwLjIgOS4yIDEwLjUgNS41IC4zIDkuNC0yLjYgMTAuNS02LjYgLjgtMy40IDIuMS0yOS44IDIuMS0yOS44UzQwMi44IDIyMSAzOTkuMSAyMjVjLTMuNyAzLjctNy4zIDguNC02LjggMTUuNXptLTUwLTE1MS4xYy0yMDQuNSAwLTMyOS4yIDEzNy41LTM0MS41IDE1MS45LTEgLjUtMS4zIC44IC44IDEuMyA2MC41IDE2LjUgMTU1LjggODEuMiAxOTYuMSAyMDIuMmwxIC4zYzU1LjItNjkuOSAxNDAuOS0xMjguMSAyMzctMTI4LjEgODAuOSAwIDEzMC4yIDQyLjIgMTMwLjIgODAuNCAwIDE4LjMtNi42IDMzLjUtMjIuMyA0Ni4zIDAgMS0uMiAuOCAuOCAuOCAxNC43LTEwLjcgMjcuNS0yOC44IDI3LjUtNDguMiAwLTIyLjgtMTIuMS0zOC4yLTEyLjEtMzguMiA3LjEgNy4xIDEwLjcgMTYuMiAxMC43IDE2LjIgNS44LTQwLjkgMjctNjIuMyAyNy02Mi4zLTIuNC05LjctNi44LTE3LjgtNi44LTE3LjggNy42IDguMSAxNC40IDI3LjUgMTQuNCA0MS40IDAgMTAuNS0zLjQgMjIuOC0xMi42IDMxLjlsLjMgLjVjOC4xLTUgMTYuNS0xNi44IDE2LjUtMzggMC0xNS43LTQuNy0yNS45LTQuNy0yNS45IDUuOC01LjIgMTEuMy05LjIgMTYtMTEuOCAuOCAzLjQgMi4xIDkuNyAyLjQgMTQuOSAwIDEgLjggMS44IDEgMCAuOC01LjgtLjMtMTYuMi0uMy0xNi41IDYtMy4xIDkuNy00LjUgOS43LTQuNS0xNS43LTExMC4zLTE0NC0xOTYuOS0yOTEuMi0xOTYuOXpNMjQzIDM3OC45Yy0xMS4xIDktMjQuMiA0LjEtMzAuNi00LjItNy40LTkuNi02LjgtMjQuMSA0LjItMzIuNSAxNC44LTExLjQgMjcuMS0uNSAzMS4yIDUuNSAuMyAuNCAxMi4xIDE2LjYtNC43IDMxLjJ6bTIuMS0xMzYuNGw5LjQtMTcuOCAxMS44IDcxLTEyLjYgNi0yNC42LTI4LjggMTQuMS0yNi43IDMuNyA0LjQtMS44LTguMXptMTguNiAxMTcuNmwtLjMtLjNjMi00LjEtMi41LTYuNi0xNy41LTMxLjctMS4zLTIuNC0zLjEtMi45LTQuNC0yLjZsLS4zLS41YzcuOS01LjggMTUuNC0xMC4yIDI1LjQtMTUuN2wuNSAuM2MxLjMgMS44IDIuMSAyLjkgMy40IDQuN2wtLjMgLjVjLTEtLjMtMi40LS44LTUuMiAuMy0yLjEgLjgtNy45IDMuNy0xMi4zIDcuNmwwIDEuM2MxLjYgMi40IDMuOSA2LjYgNS44IDkuN2wuMyAwYzEwLTYuMyA3LjYtNC41IDExLjUtNy45bC4zIDBjLjUgMS44IC41IDEuOCAxLjggNS41bC0uMyAuM2MtMy4xIC42LTQuNyAuMy0xMS41IDUuNWwwIC4zYzkuNSAxNyAxMSAxNi44IDEyLjYgMTZsLjMgLjNjLTIuMyAxLjYtNi4zIDQuMi05LjcgNi42ek0zMTkgMzI3LjZjLTMuMSAxLjYtNiAyLjktMTAgNWwtLjMtLjNjMS4zLTIuNiAxLjItMi43LTExLjgtMzIuNWwtLjMtLjNjLS4yIDAtOC45IDMuNy0xMCA3LjNsLS41IDAtMS01LjggLjMtLjVjNy4zLTQuNiAyNS41LTExLjYgMjcuOC0xMi42bC41IC4zIDMuMSA1LS4zIC41Yy0zLjUtMS44LTcuNCAuOC0xMi4zIDIuNmwwIC4zYzEyLjMgMzIgMTIuNyAzMC42IDE0LjcgMzAuNmwwIC4yem00NC44LTE2LjVjLTQuMiAxLTUuMiAxLjMtOS43IDIuOWwtLjMtLjMgLjUtNC41Yy0xLTMuNC0zLjEtMTEuNS0zLjctMTMuNmwtLjMtLjNjLTMuNCAuOC04LjkgMi42LTEyLjggMy45bC0uMyAuM2MuOCAyLjYgMy4xIDkuOSA0LjIgMTMuOSAuOCAyLjQgMS44IDIuOSAyLjkgMy4xbDAgLjVjLTMuNyAxLTcuMSAyLjYtMTAuMiAzLjlsLS4zLS4zYzEtMS4zIDEtMi45IC4zLTUtMS0zLjEtOC4xLTIzLjgtOS4yLTI3LjItLjUtMS44LTEuNi0zLjEtMi42LTMuMWwwLS41YzMuMS0xIDYtMi4xIDEwLjctMy40bC4zIC4zLS4zIDQuN2MxLjMgMy45IDIuNCA3LjYgMy4xIDkuN2wuMyAwYzMuOS0xLjMgOS40LTIuOSAxMi44LTMuOWwuMy0uMy0yLjYtOS40Yy0uNS0xLjgtMS0zLjQtMi42LTMuOWwwLS4zYzQuNC0xIDcuMy0xLjggMTAuNy0yLjRsLjMgLjNjLTEgMS4zLTEgMi45LS41IDQuNCAxLjYgNi4zIDQuNyAyMC40IDYuMyAyNi41IC41IDIuNiAxLjggMy40IDIuNiAzLjl6bTMyLjItNi44bC0uMyAuM2MtNC43IC41LTE0LjEgMi40LTIyLjUgNC4ybC0uMy0uMyAuOC00LjJjLTEuNi03LjktMy40LTE4LjYtNS0yNi4yLS4zLTEuOC0uOC0yLjktMi42LTMuN2wuOC0uNWM5LjItMS42IDIwLjItMi40IDI0LjktMi42bC4zIC4zYy41IDIuNCAuOCAzLjEgMS42IDUuNWwtLjMgLjNjLTEuMS0xLjEtMy4zLTMuMi0xNi4yLS44bC0uMyAuM2MuMyAxLjYgMSA2LjYgMS42IDkuOWwuMyAuM2M5LjUtMS43IDQuOC0uMSAxMC43LTIuNGwuMyAwYzAgMS42LS4zIDEuOC0uMyA1LjJsLS4zIDBjLTQuOC0xLTIuMi0uOS0xMC4yIDBsLS4zIC4zYy4zIDIuMSAxLjYgOS40IDIuMSAxMi42bC4zIC4zYzEuMiAuNCAxNC4yLS42IDE2LjItNC43bC4zIDBjLS41IDIuNC0xIDQuMi0xLjYgNnptMTAuNy00NC41Yy00LjUgMi40LTguMSAyLjktMTEgMi45LS4yIDAtMTEuNCAxLjEtMTcuNS0xMC02LjctMTAuOC0xLTI1LjIgNS41LTMxLjcgOC44LTguMSAyMy40LTEwLjEgMjguNS0xNyA4LTEwLjMtMTMtMjIuMy0yOS42LTUuOGwtMi42LTIuOSA1LjItMTYuMmMyNS42LTEuNiA0NS4yLTMgNTAgMTYuMiAuOCAzLjEgMCA5LjQtLjMgMTIuMSAwIDIuNi0xLjggMTguOC0yLjEgMjMtLjUgNC4yLS44IDE4LjMtLjggMjAuNyAuMyAyLjQgLjUgNC4yIDEuNiA1LjUgMS42IDEuOCA1LjggMS44IDUuOCAxLjhsLS44IDQuN2MtMTEuOC0xLjEtMTAuMy0uNi0yMC40LTEtMy4yLTUuMS0yLjItMy4zLTQuMi03LjkgMCAwLTQuMiAzLjktNy4zIDUuNXpNNDQzLjkgMjgxYy02LjQtMTAuNi0xOS44LTcuMi0yMS43IDUuNS0yLjYgMTcuMSAxNC4zIDE5LjggMjAuNyAxMC4ybC4zIC4zYy0uNSAxLjgtMS44IDYtMS44IDYuM2wtLjUgLjVjLTEwLjMgNi45LTI4LjUtMi41LTI1LjctMTguNiAxLjktMTAuOSAxNC40LTE4LjkgMjguOC05LjlsLjMgLjVjMCAxLjEtLjMgMy40LS4zIDUuM3ptNS44LTg3LjdsMC02LjZjLjcgMCAxOS42IDMuMyAyNy44IDcuM2wtMS42IDE3LjVzMTAuMi05LjQgMTUuNC0xMC43YzUuMi0xLjYgMTQuOSA3LjMgMTQuOSA3LjNsLTExLjMgMTEuM2MtMTIuMS02LjQtMTkuNi0uMS0yMC43IC44LTUuMyAzOC43LTguNiA0Mi4yIDQuNCA0Ni4xbC0uNSA0LjdjLTE3LjYtNC4zLTE4LjUtNC41LTM2LjktNy4zbC44LTQuN2M3LjMgMCA3LjUtNS4zIDcuNi02LjggMCAwIDUtNTMuMiA1LTU1LjMgMC0yLjktNS0zLjctNS0zLjd6bTExIDExNC40Yy04LjEtMi4xLTE0LjEtMTEtMTAuNy0yMC43IDMuMS05LjQgMTIuMy0xMi4zIDE4LjktMTAuMiA5LjIgMi42IDEyLjggMTEuOCAxMC43IDE5LjQtMi42IDguOS05LjQgMTMuOS0xOC45IDExLjV6bTQyLjIgOS43Yy0yLjQtLjUtNy4xLTIuNC04LjYtMi45bDAtLjMgMS42LTEuOGMuNi04LjIgLjYtNy4zIC4zLTcuNi00LjgtMS44LTYuNy0yLjQtNy4xLTIuNC0xLjMgMS44LTIuOSA0LjUtMy43IDUuNWwtLjggMy40IDAgLjNjLTEuMy0uMy0zLjktMS4zLTYtMS42bDAtLjMgMi42LTEuOGMzLjQtNC43IDEwLTE0LjEgMTMuOS0yMC4ybDAtMi4xIC41LS4zYzIuMSAuOCA1LjUgMi4xIDcuNiAyLjkgLjUgLjUgLjItMS45LTEgMjUuMS0uMiAxLjggMCAyLjYgLjggMy45em0tNC43LTg5LjhjMTEuMy0xOC4zIDMwLjgtMTYuMiAzNC0zLjRsNy42LTI2LjJjMi4zLTYuMi0yLjgtOS45LTQuNS0xMS4zbDEuOC0zLjdjMTIuMiAxMC40IDE2LjQgMTQgMjIuNSAyMC40LTI1LjkgNzMuMS0zMC44IDgwLjgtMjQuNiA4NC4zbC0xLjggNC40Yy02LjQtMy4zLTguOS00LjQtMTcuOC04LjZsMi4xLTYuOGMtLjMtLjMtMy45IDMuOS05LjcgMy43LTE5LjEtMS4zLTIyLjktMzEuNy05LjctNTIuOXptMjkuMyA3OS4zYzAtNS43LTYuMy03LjktNy45LTUuMi0xLjMgMi4xIDEgNSAyLjkgOC40IDEuNiAyLjYgMi42IDYuMyAxIDkuNC0yLjYgNi4zLTEyLjQgNS4zLTE1LjQtLjggMC0uNy0uMyAuMSAxLjgtNC43bC44LS4zYy0uNiA1LjcgNi4xIDkuNiA4LjQgNSAxLTIuMS0uNS01LjUtMi4xLTguNC0xLjYtMi42LTMuNy02LjMtMS44LTkuNyAyLjctNS4xIDExLjMtNC41IDE0LjcgMi40bDAgLjUtMi40IDMuNHptMjEuMiAxMy40Yy0yLTMuMy0uOS0yLjEtNC41LTQuN2wtLjMgMGMtMi40IDQuMi01LjggMTAuNS04LjYgMTYuMi0xLjMgMi40LTEgMy40LS44IDMuOWwtLjMgLjMtNS44LTQuNCAuMy0uMyAyLjEtMS4zYzMuMS01LjggNi42LTEyLjEgOS4yLTE3bDAtLjNjLTIuNi0yLTEuMi0xLjUtNi0xLjhsMC0uMyAzLjEtMy40IC4zIDBjMy43IDIuNCAxMCA2LjggMTIuMyA4LjlsLjMgLjMtMS4zIDMuOXpNNTc1LjggMjc2bC0yLjktMi45Yy44LTIuNCAxLjgtNSAyLjEtNy42IC43LTkuNy0xMS41LTExLjgtMTEuNS01IDAgNSA3LjkgMTkuNCA3LjkgMjcuOCAwIDEwLjItNS44IDE1LjctMTMuOSAxNi41LTguNCAuOC0yMC4yLTEwLjUtMjAuMi0xMC41bDUtMTQuNCAyLjkgMi4xYy0zIDE3LjggMTcuNyAyMC40IDEzLjMgNS4yLTEuMS00LTE4LjctMzQuMiAyLjEtMzguMiAxMy42LTIuNCAyMyAxNi41IDIzIDE2LjVMNTc1LjggMjc2em0zNS42LTEwLjJjLTExLTMwLjQtNjAuNS0xMjcuNS0xOTItMTI5LjYtNTMuNC0xLTk0LjMgMTUuNC0xMzIuOCAzOGw4NS42LTkuMi05MS40IDIwLjcgMjUuMSAxOS42LTMuOS0xNi41YzcuNS0xLjcgMzkuMS04LjUgNjYuOC04LjlsLTIyLjMgODAuNGMxMy42LS43IDE5LTkgMTkuNi0yMi44bDUtMSAuMyAyNi43Yy0yMi41IDMuMi0zNy4zIDYuNy00OS41IDkuOWwxMy4xLTQzLjItNjEuNS0zNi43IDIuNCA4LjEgMTAuMiA1YzYuMyAxOC42IDE5LjQgNTYuNiAyMC40IDU4LjcgMiA0LjMgMy4yIDUuOCAxMiA0LjVsMS4xIDVjLTE2LjEgNC45LTIzLjcgNy42LTM5IDE0LjRsLTIuNC00LjdjNC40LTIuOSA4LjctMy45IDUuNS0xMi44LTIzLjctNjIuNS0yMS41LTU4LjEtMjIuOC01OS40bDIuNC00LjQgMzMuNSA2Ny4zYy0zLjgtMTEuOSAxLjcgMS43LTMzLTc4LjhsLTQxLjkgODguNSA0LjctMTMuOS0zNS45LTQyLjIgMjcuOCA5My41LTExLjggOC40Yy0xMTEuOS0xMDEuNy0xMDUuOC05OC40LTExMy43LTk4LjctNS41LS4zLTEzLjYgNS41LTEzLjYgNS41bC01LTZjMzAuNi0yMy41IDMxLjYtMjQuMyA1OC40LTQyLjdsNC4yIDcuMXMtNS44IDQuMi03LjkgNy4xYy01LjkgOS4zIDEuNyAxMy4zIDYxLjggNzUuN2wtMTguOC01OC45IDM5LjgtMTAuMiAyNS43IDMwLjYgNC40LTEyLjMtNS0yNC42IDEzLjEtMy40IC41IDMuMSAzLjctMTAuNS05NC4zIDI5LjMgMTEuMy01LTEzLjYtNDIuNCAxNy4zLTkuMiAzMC4xIDM2LjEgMjguNS0xMy4xYy0xLjQtNy41LTIuNS0xNC41LTQuNy0xOS42bDE3LjMgMTMuOSA0LjctMi4xLTU5LjItNDIuNyAyMy4xIDExLjVjMTktNi4xIDI1LjItNy41IDMyLjItOS43bDIuNiAxMWMtMTIuNiAxMi42IDEuNCAxNi44IDYuNSAxOS40bC0xMy42LTYxIDEyIDI4LjNjNC4yLTEuMyA3LjMtMi4xIDcuMy0yLjFsMi42IDguNnMtMy4xIDEtNi4zIDIuMWw4LjkgMjEgMzMuOC02NS43LTIwLjcgNjFjNDIuNC0yNC4xIDgxLjQtMzYuNyAxMzItMzUuOSA2NyAxIDE2Ny4zIDQwLjggMTk5LjggMTM5LjggLjggMi4xIDAgMi42LS44IC4zem0tNDA4LTExMy40czEuOC0uNSA0LjItMS4zbDkuNCA3LjZjLS40IDAtMy40LS4zLTExLjMgMi40bC0yLjQtOC42em0xNDMuOCAzOC41Yy0xLjYtLjYtMjYuNS00LjgtMzMuMyAyMC43bDIxLjcgMTcgMTEuNS0zNy43ek0zMTguNCA2Ny4xYy01OC40IDAtMTA2LjEgMTItMTE1IDE0LjRsMCAuOGM4LjQgMi4xIDE0LjQgNC4yIDIxLjIgMTEuOGwxLjYgLjNjNi42LTEuOCA0OS0xMy45IDExMC4yLTEzLjkgMTgwLjIgMCAzMDEuNyAxMTYuOCAzMDEuNyAyMjMuNGwwIDEwYzAgMS4zIC44IDIuNiAxLjEgLjUgLjUtMi4xIC44LTguNiAuOC0xOS42IC4zLTgzLjgtOTYuNi0yMjcuNi0zMjEuNi0yMjcuNnpNNTI5LjUgMjM2LjhjMS4zLTUuOCAwLTEyLjMtNy4zLTEzLjEtOS42LTEuMS0xNi4xIDIzLjgtMTcgMzMuNS0uOCA1LjUtMS4zIDE0LjkgNiAxNC45IDQuNyAwIDkuNy0uOSAxOC4zLTM1LjR6TTQ2OCAyNzkuN2MtMi42LS44LTkuNC0uOC0xMi42IDEwLjUtMS44IDYuOCAuNSAxMy40IDYgMTQuNyAzLjcgMS4xIDguOSAuNSAxMS44LTEwLjcgMi42LTkuOS0xLjgtMTMuNi01LjItMTQuNHptMjMgMjFjMS44IC41IDMuMSAxIDUuOCAxLjggMC0xLjggLjUtOC40IC44LTEyLjEtMSAxLjMtNS41IDguMS02LjYgMTBsMCAuM3oiXX0sdk10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtbmQiLGljb246WzUxMiw1MTIsW10sImY0ZWIiLCJNMjU1LjYgOEMzOTcuNCA4IDUwNCAxMTguMSA1MDQgMjU2IDUwNCA0MDMuMSAzODUuNSA1MDQgMjU1LjYgNTA0IDEyMS42IDUwNCA4IDM5NC41IDggMjU2IDggMTIzLjEgMTEyLjcgOCAyNTUuNiA4em0uOCA0NC43Yy0xMTguMiAwLTIwMy43IDk3LjktMjAzLjcgMjAzLjMgMCAxMDkuOCA5MS4yIDIwMi44IDIwMy43IDIwMi44IDEwMy4yIDAgMjAyLjgtODEuMSAyMDIuOC0yMDIuOCAuMS0xMTMuOC05MC4yLTIwMy4zLTIwMi44LTIwMy4zem05NCAxNDQuM2wwIDQyLjUtMTgwLjMgMCAwLTQyLjUgMTgwLjMgMHptMCA3OS44bDAgNDIuNS0xODAuMyAwIDAtNDIuNSAxODAuMyAweiJdfSx4TXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidXNwcyIsaWNvbjpbNTEyLDUxMixbXSwiZjdlMSIsIk00MjguMyAyNDEuN2MyNS44LTQxLjMgMTUuMi00OC44LTExLjctNDguOGwtMjcgMGMtLjEgMC0xLjUtMS40LTEwLjkgOC0xMS4yIDUuNi0zNy45IDYuMy0zNy45IDguNyAwIDQuNSA3MC4zLTMuMSA4OC4xIDAgOS41IDEuNS0xLjUgMjAuNC00LjQgMzItLjUgNC41IDIuNCAyLjMgMy44IC4xek0zMTYuMiAyNjQuM2M2NC0yMS4zIDk3LjMtMjMuOSAxMDItMjYuMiA0LjQtMi45LTQuNC02LjYtMjYuMi01LjgtNTEuNyAyLjItMTM3LjYgMzcuMS0xNzIuNiA1My45bC0zMC43LTkzLjMgMTk2LjYgMGMtMi43LTI4LjItMTUyLjktMjIuNi0zMzcuOS0yMi42TC01IDQxNS44YzE5Ni40LTk3LjMgMjU4LjktMTMwLjMgMzIxLjItMTUxLjV6TTYyLjcgOTZjMjUzLjMgNTMuNyAzMzAgNjUuNyAzMzIuMSA4NS4yIDM2LjQgMCA0NS45IDAgNTIuNCA2LjYgMjEuMSAxOS43LTE0LjYgNjcuNy0xNC42IDY3LjctNC40IDIuOS00MDYuNCAxNjAuMi00MDYuNCAxNjAuMkw0NDkuMyA0MTUuNyA1MTcgOTYgNjIuNyA5NnoiXX0seU10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1sZXR0ZXJib3hkIixpY29uOls0NDgsNTEyLFtdLCJlNjJlIiwiTTM4NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDB6TTEwNS4xIDE4N0M2Ni40IDE4NyAzNSAyMTguMyAzNSAyNTdzMzEuNCA3MCA3MC4xIDcwYzI0LjggMCA0Ni41LTEyLjggNTktMzIuMmwuNS0uNy0uNC0uNmMtNi41LTEwLjYtMTAuMi0yMy4xLTEwLjItMzYuNSAwLTEzLjYgMy45LTI2LjMgMTAuNi0zNy4xLTEyLjQtMTkuOC0zNC40LTMyLjktNTkuNS0zMi45ek0yMjQgMTg3Yy0yNC44IDAtNDYuNSAxMi44LTU5IDMyLjJsLS41IC43IC40IC42YzYuNSAxMC42IDEwLjIgMjMuMSAxMC4yIDM2LjUgMCAxMy42LTMuOSAyNi4zLTEwLjYgMzcuMSAxMi40IDE5LjcgMzQuNCAzMi45IDU5LjUgMzIuOSAyNC44IDAgNDYuNS0xMi44IDU5LTMyLjJsLjUtLjctLjQtLjZjLTYuNS0xMC42LTEwLjItMjMuMS0xMC4yLTM2LjUgMC0xMy42IDMuOS0yNi4zIDEwLjYtMzcuMS0xMi40LTE5LjctMzQuNC0zMi45LTU5LjUtMzIuOXptMTE4LjkgMGMtMjQuOCAwLTQ2LjUgMTIuOC01OSAzMi4ybC0uNSAuNyAuNCAuNmM2LjUgMTAuNiAxMC4yIDIzLjEgMTAuMiAzNi41IDAgMTMuNi0zLjkgMjYuMy0xMC42IDM3LjEgMTIuNCAxOS44IDM0LjQgMzIuOSA1OS41IDMyLjkgMzguNyAwIDcwLjEtMzEuMyA3MC4xLTcwcy0zMS40LTcwLTcwLjEtNzB6Il19LHdNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtYW5kYWxvcmlhbiIsaWNvbjpbMzg0LDUxMixbXSwiZjUwZiIsIk0yMDAuNiA1MTEuOWMtMS0zLjMtMS43LTE1LjgtMS40LTI0LjYgLjYtMTUuOSAxLTI0LjcgMS40LTI4LjggLjYtNi4yIDIuOS0yMC43IDMuMy0yMS40IC42LTEgLjQtMjcuOS0uMi0zMy4xLS4zLTIuNi0uNi0xMS45LS43LTIwLjctLjEtMTYuNS0uNS0yMC4xLTIuNy0yNC44LTEuMS0yLjMtMS4yLTMuOC0xLTExLjQgLjItNC4yIC4xLTguNS0uMy0xMi43LTItMTMtMy41LTI3LjctMy4yLTMzLjlzLjQtNy4xIDIuMS05LjdjMy4xLTQuNyA2LjUtMTQgOC42LTIzLjMgMi4zLTkuOSAzLjktMTcuMiA0LjYtMjAuNyAxLjEtNS4xIDIuNi0xMC4xIDQuNC0xNS4xIDIuMy02LjIgMi41LTE1LjQgLjQtMTUuNC0uMyAwLTEuNCAxLjItMi40IDIuN3MtNC44IDQuOC04LjMgNy40Yy04LjQgNi4xLTExLjcgOS40LTEyLjcgMTIuNnMtMSA3LjItLjIgNy44Yy4zIC4yIDEuMyAyLjQgMi4xIDQuOSAxLjYgNSAxLjkgMTAuMyAuNyAxNS40LS40IDEuOC0xIDUuNS0xLjUgOC4ycy0xIDYuNS0xLjMgOC4yYy0uMiAxLjUtLjcgMy0xLjUgNC4zLTEgMS0xLjEgLjktMi4xLS41LS43LTEuNS0xLjItMy4xLTEuNC00LjctLjItMS43LTEuNi03LjEtMy4xLTExLjktMy4zLTEwLjktMy41LTE2LjItMS0yMSAuOC0xLjQgMS40LTMgMS43LTQuNiAwLTIuNC0yLjItNS4zLTcuNC05LjktNy02LjItOC42LTcuOS0xMC4yLTExLjMtMS43LTMuNi0zLjEtNC4xLTQuNS0xLjUtMS44IDMtMi42IDkuMS0zIDIybC0uMyAxMi4yIDIgMi4yYzMuMiAzLjcgMTIuMSAxNi41IDEzLjggMTkuOCAzLjQgNi43IDQuMyAxMS43IDQuNCAyMy42czEgMjIuOCAyIDI0LjdjLjQgLjcgLjUgMS40IC4zIDEuNXMuNCAyLjEgMS4zIDQuM2MxIDIuOSAxLjcgNS45IDIuMSA5IC40IDMuNSAuOSA3IDEuNyAxMC40IDIuMiA5LjYgMi44IDE0LjEgMi40IDIwLjEtLjIgMy4zLS41IDExLjEtLjcgMTcuMy0xLjMgNDEuOC0xLjggNTgtMiA2MS4yLS4xIDItLjQgMTEuNS0uNiAyMS4xLS40IDE2LjMtMS4zIDI3LjQtMi40IDI4LjYtLjYgLjctOC4xLTQuOS0xMi41LTkuNS0zLjgtMy45LTQtNC44LTIuOC05LjkgLjctMyAyLjMtMTguMyAzLjMtMzIuNiAuNC00LjggLjgtMTAuNSAxLTEyLjcgLjgtOS40IDEuNy0yMC4zIDIuNi0zNC44IC42LTguNSAxLjMtMTYuNCAxLjctMTcuN3MuOS05LjkgMS4xLTE5LjFsLjQtMTYuOC0yLjMtNC4zYy0xLjctMy4zLTQuOS02LjktMTMuMi0xNS4zLTYtNi4xLTExLjgtMTIuMy0xMi45LTEzLjhsLTItMi44IC44LTEwLjljMS4xLTE1LjcgMS4xLTQ4LjYgMC01OS4xbC0uOS04LjctMy4zLTQuNWMtNS45LTguMS01LjgtNy43LTYuMi0zMy4zLS4xLTYuMS0uNC0xMS41LS42LTEyLjEtLjgtMS45LTMtMi43LTguNS0zLTguOS0uNi0xMS0xLjktMjMuOC0xNC42LTYuMi02LTEyLjMtMTItMTMuOC0xMy4yLTIuOC0yLjQtMi44LTItLjYtOS42bDEuNC00LjYtMS43LTNjLS44LTEuNC0xLjYtMi44LTIuNi00LjEtMS4zLTEuNS01LjUtMTAuOS02LTEzLjUtLjItLjctLjItMS40LS4xLTIuMXMuNS0xLjMgLjktMS44YzIuMi0yLjkgMy40LTUuNyA0LjUtMTAuNyAyLjMtMTEuMiA3LjctMjYuMSAxMC42LTI5LjIgMy4yLTMuNSA3LjctMSA5LjQgNSAxLjMgNC44IDEuNCA5LjggLjEgMTguNi0uNSAzLjctLjkgNy40LTEgMTEuMSAwIDQgLjIgNC43IDIuMyA3LjQgMy4zIDQuNCA3LjcgNy40IDE1LjIgMTAuNSAxLjcgLjcgMy4zIDEuNyA0LjcgMi44IDExLjIgMTAuNyAxOC42IDE2LjIgMjIuOSAxNi45IDUuMiAuOCA4IDQuNSAxMCAxMy40IDEuMyA1LjcgNCAxMS4xIDUuNSAxMS4xIDEuMi0uMiAyLjMtLjcgMy4zLTEuNCAyLTEuMiAyLjItMS43IDIuMi00LjItLjMtNi0uOS0xMS45LTItMTcuOC0uNC0xLjctLjgtNC4xLS45LTUuNHMtLjYtMy44LTEtNS43Yy0yLjYtMTEuMi0zLjYtMTUuNS00LjEtMTYtMS42LTItNC4xLTEwLjItNC45LTE1LjktMS42LTExLjEtNC0xNC4yLTEyLjktMTcuNC00LjktMS44LTkuNC00LjUtMTMuMy03LjktMS4yLTEtNC0zLjItNi40LTUuMXMtNC40LTMuNS00LjYtMy44Yy0uOC0uNy0xLjctMS40LTIuNy0yLTYuMi00LjItOC44LTctMTEuMy0xMmwtMi40LTVjLS4xLTguNy0uMy0xNy4zLS40LTI2bDYuOS02LjZjNC0zLjggOC41LTcuNCAxMC42LTguNCAzLjMtMS43IDQuNC0xLjkgMTEuNC0yIDguNS0uMiAxMC4xIDAgMTEuNyAxLjZzMS40IDYuNC0uMyA4LjVjLS42IC43LTEuMSAxLjUtMS4zIDIuMyAwIC42LTIuNiA0LjktNS40IDktMS4xIDIuMi0xLjkgNC41LTIuNCA2LjggMjAuNCAxMy40IDIxLjYgMy44IDE0LjEgMjlsMTEuNCAyLjVjMy4xLTguNyA2LjUtMTcuMyA4LjYtMjYuMiAuMy03LjYtMTItNC4yLTE1LjQtOC43LTIuMy01LjkgMy4xLTE0LjIgNi4xLTE5LjIgMS42LTIuMyA2LjYtNC43IDguOC00LjEgLjkgLjIgNC4yLS40IDcuNC0xLjMgMi41LS44IDUtMS4zIDcuNS0xLjcgMi0uMiA0LjEtLjcgNi0xLjMgMy43LTEuMSA0LjUtMS4yIDYuMy0uNCAxLjkgLjYgMy44IDEuMSA1LjggMS40IDIuMSAuMyA0LjEgLjkgNiAxLjkgMS42IC45IDMuMyAxLjcgNSAyLjIgMi41IC43IDMgLjYgNy0xLjdMMjI2IDUuNCAyMzYuNyA1YzEwLjQtLjQgMTAuOC0uNSAxNS4zLTIuN0wyNTYuNSAwIDI1OSAxLjRjMS44IDEgMy4xIDIuNyA0LjkgNiAyLjQgNC41IDIuNCA0LjYgMS40IDcuNC0uOSAyLjQtLjkgMy4zLS4xIDYuNCAuNSAyIDEuMiA0IDIuMSA1LjkgLjYgMS4zIDEuMSAyLjYgMS4zIDQgLjMgNC4zIDAgNS4zLTIuNCA2LjktMi4yIDEuNS03IDcuOS03IDkuMy0uMiAxLS42IDItMS4xIDMtNSAxMS41LTYuOCAxMy42LTE0LjMgMTctOS4yIDQuMi0xMi4zIDUuMi0xNi4yIDUuMi0zLjEgMC00IC4yLTQuNSAxLjMtMS4yIDEuNC0yLjUgMi43LTQuMSAzLjctMS44IDEuMi0zLjMgMi45LTQuNCA0LjgtLjUgMS4yLTEuNCAyLjItMi41IDIuOS0uOSAuNC0xLjggMS0yLjUgMS43LTIuMiAxLjktNC42IDMuNy03IDUuNC0zLjMgMi4zLTYuOSA1LTcuOSA2LS43IC43LTEuNSAxLjMtMi40IDEuNy0uOCAuNC0xLjYgLjktMi4xIDEuNi0xLjMgMS40LTEuNSAyLjEtMS4xIDQuNiAuMyAyIC44IDQgMS40IDUuOSAxLjMgMy44IDEuMyA3LjkgMCAxMC42cy0uOSA2LjcgMS40IDkuNmMyIDIuNiAyLjIgNC42IC43IDguOC0uOCAyLjktMS4xIDUuOS0xLjEgOC45IDAgNC45IC4yIDYuMyAxLjUgOC40czEuOCAyLjUgMy4yIDIuM2MyLS4yIDIuMy0xLjEgNC43LTEyLjEgMi4yLTEwIDMuNy0xMS45IDEzLjgtMTcuMSAyLjktMS41IDcuNS00IDEwLTUuNHM2LjgtMy43IDkuNC00LjljNS45LTIuNiAxMS4yLTYuNiAxNS4yLTExLjcgNy4xLTguOCAxMC0xNi4yIDEyLjgtMzMuMyAuNC0yLjggMS4zLTUuNCAyLjktNy43IDEuNC0yLjIgMi40LTQuNyAyLjktNy4zIDEtNS4zIDIuOS05LjEgNS42LTExLjUgNC43LTQuMiA2LTEuMSA0LjYgMTAuOS0uNSAzLjktMS4xIDEwLjMtMS40IDE0LjRsLS42IDcuNGMzIDIuNyA1LjkgNS41IDguOSA4LjJsLjEgOC40Yy4xIDQuNiAuNSA5LjUgLjkgMTAuOWwuOCAyLjUtNi40IDYuM2MtOC41IDguMy0xMi45IDEzLjktMTYuOCAyMS42LTEuOCAzLjUtMy43IDcuMS00LjQgOC0yLjIgMy4xLTYuNSAxMy04LjggMjAuM2wtMi4zIDcuMi03IDYuNWMtMy44IDMuNi04IDcuMi05LjIgOC4yLTMgMi4zLTQuMyA1LjEtNC4zIDEwLS4xIDIuNSAuNCA1IDEuNiA3LjMgLjggMS42IDEuNSAzLjIgMi4xIDQuOCAuMyAxIC45IDIgMS42IDIuOSAxLjQgMS42IDEuOSAxNi4xIC44IDIzLjItLjcgNC41LTMuNiAxMi00LjcgMTItMS44IDAtNC4xIDkuMy01LjEgMjAuNy0uMiAyLS42IDUuOS0xIDguN3MtMSAxMC0xLjQgMTZjLS44IDEyLjItLjIgMTguOCAyIDIzLjIgMy40IDYuNyAuNSAxMi43LTExIDIyLjhsLTQgMy41IC4xIDUuMmMuMSAzIC40IDYgMS4xIDguOSA0LjYgMTYgNC43IDE2LjkgNC40IDM3LjEtLjUgMjYuNC0uMyA0MC4zIC42IDQ0LjIgLjUgMi4zIC45IDQuNiAxLjEgNyAuMiAyIC43IDUuMyAxLjEgNy40IC41IDIuMyAuOCAxMSAuOCAyMi43bDAgMTkuMS0xLjggMi42Yy0yLjcgMy45LTE1LjEgMTMuNS0xNS41IDEyLjNsLjEgMHptMjkuNS00NS4xYy0uMi0uMy0uMy02LjktLjMtMTQuNiAwLTE0LjEtLjktMjcuNS0yLjMtMzQuNC0uNC0yLS44LTkuNy0uOS0xNy4xLS4yLTExLjktMS40LTI0LjQtMi42LTI2LjQtLjctMS4xLTMtMTcuNy0zLTIxLjMgMC00LjIgMS02IDUuMy05LjFzNC45LTMuMSA1LjUtLjdjLjMgMS4xIDEuNCA1LjYgMi42IDEwIDMuOSAxNS4xIDQuMSAxNi4zIDQgMjEuNy0uMSA1LjgtLjEgNi4xLTEuNyAxNy43LTEgNy4xLTEuMiAxMi40LTEgMjguNCAuMiAxOS40LS42IDM1LjctMiA0MS4zLS43IDIuOC0yLjggNS41LTMuNCA0LjRsLS4xIDB6bS03MS0zNy42Yy0uOC0zLjYtMS4zLTcuMi0xLjctMTAuOHMtMS03LjItMS43LTEwLjhjLS41LTIuMS0uOS00LjMtMS02LjUtLjMtMy4yLS45LTcuNS0xLjMtOS41LTEtNC44LTMuMy0xOS40LTMuNC0yMS4xIDAtLjctLjMtNC0uNy03LjQtLjctNi4yLS44LTI3LjctLjItMjguMyAxLTEgNi42IDIuOCAxMS4zIDcuNGw1LjMgNS4zLS40IDYuNWMtLjIgMy42LS42IDEwLjItLjggMTQuOC0uNSAxMy4zLS43IDguNy0xLjYgMjguNC0uOCAxNy40LTEuOSAzMS4zLTIuNiAzMi0uMSAuMS0uMiAuMS0uMiAuMnMtLjIgMC0uMyAwLS4yIDAtLjMtLjEtLjEtLjEtLjItLjJsMCAwek03MiAxNjIuNmMyMS4xIDEyLjggMTcuOCAxNC4yIDI4LjUgMTcuNyAxMyA0LjMgMTguOSA3LjEgMjMuMiAxNi45LTQzLjcgMzYuMS02OSA1Ny45LTc2LjcgNzAuOS0zMSA1Mi02IDEwMS42IDYyLjggODcuMi0xNC4yIDI5LjItNzggMjguNi05OC43LTQuOS0yNC43LTQwLTIyLjEtMTE4LjMgNjEtMTg3LjdsMCAwem0yMTAuOCAxNzljNTYuNyA2LjkgODIuMy0zNy43IDQ2LjUtODkuMiAwIDAtMjYuOS0yOS4zLTY0LjMtNjggMy0xNS41IDkuNS0zMi4xIDMwLjYtNTMuOCA4OS4yIDYzLjUgOTIgMTQxLjYgOTIuNSAxNDkuNCA0LjMgNzAuNi03OC43IDkxLjItMTA1LjMgNjEuN2wwIDB6Il19LFV1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzbGFjayIsaWNvbjpbNDQ4LDUxMixbNjI0NDcsInNsYWNrLWhhc2giXSwiZjE5OCIsIk05NC4xIDMxNS4xYzAgMjUuOS0yMS4yIDQ3LjEtNDcuMSA0Ny4xUzAgMzQxIDAgMzE1LjEgMjEuMiAyNjggNDcuMSAyNjhsNDcuMSAwIDAgNDcuMXptMjMuNyAwYzAtMjUuOSAyMS4yLTQ3LjEgNDcuMS00Ny4xUzIxMiAyODkuMiAyMTIgMzE1LjFsMCAxMTcuOGMwIDI1LjktMjEuMiA0Ny4xLTQ3LjEgNDcuMXMtNDcuMS0yMS4yLTQ3LjEtNDcuMWwwLTExNy44em00Ny4xLTE4OWMtMjUuOSAwLTQ3LjEtMjEuMi00Ny4xLTQ3LjFTMTM5IDMyIDE2NC45IDMyIDIxMiA1My4yIDIxMiA3OS4xbDAgNDcuMS00Ny4xIDB6bTAgMjMuN2MyNS45IDAgNDcuMSAyMS4yIDQ3LjEgNDcuMVMxOTAuOCAyNDQgMTY0LjkgMjQ0TDQ3LjEgMjQ0QzIxLjIgMjQ0IDAgMjIyLjggMCAxOTYuOXMyMS4yLTQ3LjEgNDcuMS00Ny4xbDExNy44IDB6bTE4OSA0Ny4xYzAtMjUuOSAyMS4yLTQ3LjEgNDcuMS00Ny4xUzQ0OCAxNzEgNDQ4IDE5Ni45IDQyNi44IDI0NCA0MDAuOSAyNDRsLTQ3LjEgMCAwLTQ3LjF6bS0yMy43IDBjMCAyNS45LTIxLjIgNDcuMS00Ny4xIDQ3LjFTMjM2IDIyMi44IDIzNiAxOTYuOWwwLTExNy44QzIzNiA1My4yIDI1Ny4yIDMyIDI4My4xIDMyczQ3LjEgMjEuMiA0Ny4xIDQ3LjFsMCAxMTcuOHptLTQ3LjEgMTg5YzI1LjkgMCA0Ny4xIDIxLjIgNDcuMSA0Ny4xUzMwOSA0ODAgMjgzLjEgNDgwIDIzNiA0NTguOCAyMzYgNDMyLjlsMC00Ny4xIDQ3LjEgMHptMC0yMy43Yy0yNS45IDAtNDcuMS0yMS4yLTQ3LjEtNDcuMVMyNTcuMiAyNjggMjgzLjEgMjY4bDExNy44IDBjMjUuOSAwIDQ3LjEgMjEuMiA0Ny4xIDQ3LjFzLTIxLjIgNDcuMS00Ny4xIDQ3LjFsLTExNy44IDB6Il19LGZlZT1VdWUsTU10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFuZ2VsbGlzdCIsaWNvbjpbMzg0LDUxMixbXSwiZjIwOSIsIk0zMTUuNiAyMTUuNGMxMS43LTMyLjYgNDUuNC0xMjYuOSA0NS40LTE1Ny4xIDAtMjYuNi0xNS43LTQ4LjktNDMuNy00OC45LTQ0LjYgMC04NC42IDEzMS43LTk3LjEgMTYzLjEtOS43LTI4LjUtNTUuMS0xNzIuNS05NS4xLTE3Mi41LTMxLjEgMC00NS43IDIyLjktNDUuNyA1MS43IDAgMzUuMyAzNC4yIDEyNi44IDQ2LjYgMTYyLTYuMy0yLjMtMTMuMS00LjMtMjAtNC4zLTIzLjQgMC00OC4zIDI5LjEtNDguMyA1Mi42IDAgOC45IDQuOSAyMS40IDggMjkuNy0zNi45IDEwLTUxLjEgMzQuNi01MS4xIDcxLjctLjEgNzIuMiA2OC4zIDE0OC42IDE2NC41IDE0OC42IDExOCAwIDE5MS40LTg4LjYgMTkxLjQtMjAyLjkgMC00My4xLTYuOS04Mi01NC45LTkzLjd6TTI4MC4yIDEwOGM0LTEyLjMgMjEuMS02NC4zIDM3LjEtNjQuMyA4LjYgMCAxMC45IDguOSAxMC45IDE2IDAgMTkuMS0zOC42IDEyNC42LTQ3LjEgMTQ4bC0zNC02IDMzLjEtOTMuN3pNMTEwLjggNDguM2MwLTExLjkgMTQuNS00NS43IDQ2LjMgNDcuMWwzNC42IDEwMC4zYy0xNS42LTEuMy0yNy43LTMtMzUuNCAxLjQtMTAuOS0yOC44LTQ1LjUtMTE5LjctNDUuNS0xNDguOHpNMTA4LjUgMjQ0YzI5LjMgMCA2Ny4xIDk0LjYgNjcuMSAxMDcuNCAwIDUuMS00LjkgMTEuNC0xMC42IDExLjQtMjAuOSAwLTc2LjktNzYuOS03Ni45LTk3LjcgLjEtNy43IDEyLjctMjEuMSAyMC40LTIxLjF6TTI5Mi44IDQzMC4zYy0yOS4xIDMyLTY2LjMgNDguNi0xMDkuNyA0OC42LTU5LjQgMC0xMDYuMy0zMi42LTEyOC45LTg4LjMtMTcuMS00My40IDMuOC02OC4zIDIwLjYtNjguMyAxMS40IDAgNTQuMyA2MC4zIDU0LjMgNzMuMSAwIDQuOS03LjcgOC4zLTExLjcgOC4zLTE2LjEgMC0yMi40LTE1LjUtNTEuMS01MS40LTI5LjcgMjkuNyAyMC41IDg2LjkgNTguMyA4Ni45IDI2LjEgMCA0My4xLTI0LjIgMzgtNDIgMy43IDAgOC4zIC4zIDExLjctLjYgMS4xIDI3LjEgOS4xIDU5LjQgNDEuNyA2MS43IDAtLjkgMi03LjEgMi03LjQgMC0xNy40LTEwLjYtMzIuNi0xMC42LTUwLjMgMC0yOC4zIDIxLjctNTUuNyA0My43LTcxLjcgOC02IDE3LjctOS43IDI3LjEtMTMuMSA5LjctMy43IDIwLTggMjcuNC0xNS40LTEuMS0xMS4yLTUuNy0yMS4xLTE2LjktMjEuMS0yNy43IDAtMTIwLjYgNC0xMjAuNi0zOS43IDAtNi43IC4xLTEzLjEgMTcuNC0xMy4xIDMyLjMgMCAxMTQuMyA4IDEzOC4zIDI5LjEgMTguMSAxNi4xIDI0LjMgMTEzLjItMzEgMTc0Ljd6bS05OC42LTEyNmM5LjcgMy4xIDE5LjcgNCAyOS43IDYtNy40IDUuNC0xNCAxMi0yMC4zIDE5LjEtMi44LTguNS02LjItMTYuOC05LjQtMjUuMXoiXX0sa010PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFuZHJvaWQiLGljb246WzU3Niw1MTIsW10sImYxN2IiLCJNNDIwLjUgMjUzLjlhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0tMjY1LjEgMGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTI3My43LTk2LjVsNDcuOS04M2MuOC0xLjEgMS4zLTIuNCAxLjUtMy44cy4yLTIuNy0uMS00LjEtLjktMi42LTEuNy0zLjctMS44LTItMy0yLjctMi41LTEuMS0zLjktMS4zLTIuNyAwLTQgLjQtMi41IDEuMS0zLjYgMS45LTEuOSAyLTIuNSAzLjJsLTQ4LjUgODQuMWMtMzguOC0xNy40LTgwLjgtMjYuNC0xMjMuMy0yNi40cy04NC41IDktMTIzLjMgMjYuNEwxMTYuMiA2NC40Yy0uNi0xLjItMS41LTIuMy0yLjUtMy4ycy0yLjMtMS41LTMuNi0xLjktMi43LS41LTQtLjQtMi43IC42LTMuOSAxLjMtMi4yIDEuNi0zIDIuNy0xLjQgMi40LTEuNyAzLjctLjMgMi43LS4xIDQuMSAuOCAyLjYgMS41IDMuOGw0Ny45IDgzQzY0LjUgMjAyLjIgOC4yIDI4NS41IDAgMzg0bDU3NiAwYy04LjItOTguNS02NC41LTE4MS44LTE0Ni45LTIyNi42eiJdfSxTTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWVldHVwIixpY29uOls1NzYsNTEyLFtdLCJmMmUwIiwiTTEzMS4xIDQxNC4zYzEuMSA1LjctMi4zIDExLjEtOCAxMi4zLTUuNCAxLjEtMTAuOS0yLjMtMTItOC0xLjEtNS40IDIuMy0xMS4xIDcuNy0xMi4zczExLjEgMi4zIDEyLjMgOHptMTQzLjEgNzEuNGMtNi4zIDQuNi04IDEzLjQtMy43IDIwIDQuNiA2LjYgMTMuNCA4LjMgMjAgMy43IDYuMy00LjYgOC0xMy40IDMuNC0yMC00LjItNi41LTEzLjEtOC4zLTE5LjctMy43em0tODYtNDYyLjNhMTEuOCAxMS44IDAgMSAwIC00LjktMjMgMTEuOCAxMS44IDAgMSAwIDQuOSAyM3pNNjYuNSAyMjYuM2EyMi4yIDIyLjIgMCAxIDAgLTI0LjcgMzYuOSAyMi4yIDIyLjIgMCAxIDAgMjQuNy0zNi45em0yNzItMTcwLjlhMjIuMSAyMi4xIDAgMSAwIC0yMi40LTM4IDIyLjEgMjIuMSAwIDEgMCAyMi40IDM4em0tMTkxLjEgNThhMTYuOSAxNi45IDAgMSAwIC0xOC44LTI4IDE2LjkgMTYuOSAwIDEgMCAxOC44IDI4em0zNzIuMyAxNTZjLTcuNCAxLjctMTIuMyA5LjEtMTAuNiAxNi45IDEuNCA3LjQgOC45IDEyLjMgMTYuMyAxMC42IDcuNC0xLjQgMTIuMy04LjkgMTAuNi0xNi42LTEuNS03LjQtOC45LTEyLjMtMTYuMy0xMC45em0zOS43LTU2LjhhMTAuMSAxMC4xIDAgMSAwIC0xOS44IDQuMyAxMC4xIDEwLjEgMCAxIDAgMTkuOC00LjN6bS04MC4zLTczLjdhMTguOCAxOC44IDAgMSAwIDIwLjcgMzEuMyAxOC44IDE4LjggMCAxIDAgLTIwLjctMzEuM3ptLTYuMyAxMzkuNGMyNi4zIDQzLjEgMTUuMSAxMDAtMjYuMyAxMjkuMS0xNy40IDEyLjMtMzcuMSAxNy43LTU2LjkgMTcuMS0xMiA0Ny4xLTY5LjQgNjQuNi0xMDUuMSAzMi42LTEuMSAuOS0yLjYgMS43LTMuNyAyLjktMzkuMSAyNy4xLTkyLjMgMTcuNC0xMTkuNC0yMi4zLTkuNy0xNC4zLTE0LjYtMzAuNi0xNS4xLTQ2LjktNjUuNC0xMC45LTkwLTk0LTQxLjEtMTM5LjctMjguMy00Ni45IC42LTEwNy40IDUzLjQtMTE0LjkgMjUuMS02Ni4yIDEwNy42LTk3LjYgMTYzLjYtNTQuMiA2Ny40LTIyLjMgMTM2LjMgMjkuNCAxMzAuOSAxMDEuMSA0MS4xIDEyLjYgNTIuOCA2Ni45IDE5LjcgOTUuMnptLTcwIDc0LjNjLTMuMS0yMC42LTQwLjktNC42LTQzLjEtMjcuMS0zLjEtMzIgNDMuNy0xMDEuMSA0MC0xMjgtMy40LTI0LTE5LjQtMjkuMS0zMy40LTI5LjQtMTMuNC0uMy0xNi45IDItMjEuNCA0LjYtMi45IDEuNy02LjYgNC45LTExLjctLjMtNi4zLTYtMTEuMS0xMS43LTE5LjQtMTIuOS0xMi4zLTItMTcuNyAyLTI2LjYgOS43LTMuNCAyLjktMTIgMTIuOS0yMCA5LjEtMy40LTEuNy0xNS40LTcuNy0yNC0xMS40LTE2LjMtNy4xLTQwIDQuNi00OC42IDIwLTEyLjkgMjIuOS0zOCAxMTMuMS00MS43IDEyNS4xLTguNiAyNi42IDEwLjkgNDguNiAzNi45IDQ3LjEgMTEuMS0uNiAxOC4zLTQuNiAyNS40LTE3LjQgNC03LjQgNDEuNy0xMDcuNyA0NC42LTExMi42IDItMy40IDguOS04IDE0LjYtNS4xIDUuNyAzLjEgNi45IDkuNCA2IDE1LjEtMS4xIDkuNy0yOCA3MC45LTI4LjkgNzcuNy0zLjQgMjIuOSAyNi45IDI2LjYgMzguNiA0IDMuNy03LjEgNDUuNy05Mi42IDQ5LjQtOTguMyA0LjMtNi4zIDcuNC04LjMgMTEuNy04IDMuMSAwIDguMyAuOSA3LjEgMTAuOS0xLjQgOS40LTM1LjEgNzIuMy0zOC45IDg3LjctNC42IDIwLjYgNi42IDQxLjQgMjQuOSA1MC42IDExLjQgNS43IDYyLjUgMTUuNyA1OC41LTExLjF6bTUuNyA5Mi4zYTIzLjMgMjMuMyAwIDEgMCAyNi4yIDM4LjQgMjMuMyAyMy4zIDAgMSAwIC0yNi4yLTM4LjR6Il19LHpNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmb250aWNvbnMtZmkiLGljb246WzM4NCw1MTIsW10sImYzYTIiLCJNMTE0LjQgMjI0bDkyLjQgMC0xNS4yIDUxLjItNzYuNCAwIDAgMTU3LjhjMCA4LTIuOCA5LjIgNC40IDEwbDU5LjYgNS42IDAgMzQuNC0xNzkuMiAwIDAtMzUuMiAyOS4yLTIuOGM3LjItLjggOS4yLTMuMiA5LjItMTAuOGwwLTE1NS44YzAtMy4yLTQtMy4yLTgtMy4ybC0zMC40IDAgMC01MS4yIDM4LjQgMCAwLTI4LjhjMC02OCAzNi40LTk2IDEwNi05NiA0Ni44IDAgODguOCAxMS4yIDg4LjggNzIuNEwxNjMuNiAxODBjLjQtMjUuNi02LTMxLjYtMjIuNC0zMS42LTI1LjIgMC0yNiAxMy42LTI2IDM3LjZsMCAzMmMwIDMuMi00LjggNi0uOCA2ek0zODQgNDgzbC0xNDAuOCAwIDAtMzQuNCAyOC0zLjZjNy4yLS44IDEwLjQtMi40IDEwLjQtMTBsMC0xNDhjMC01LjYtNC05LjItOS4yLTEwLjhsLTMzLjItOC44IDkuMi00MC40IDExMCAwIDAgMjA4YzAgOC0zLjYgOC44IDQgMTBsMjEuNiAzLjYgMCAzNC40ek0zNTQgMTM1LjhsMTIuNCA0NS42LTEwIDEwLTQyLjgtMjIuOC00Mi44IDIyLjgtMTAtMTAgMTIuNC00NS42LTMwLTM2LjQgNC44LTEwIDM4IDAgMjEuMi0zOC40IDEyLjggMCAyMS4yIDM4LjQgMzggMCA0LjggMTMuMi0zMCAzMy4yeiJdfSxDTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGFsZmVkIixpY29uOls1NzYsNTEyLFtdLCJmM2Q4IiwiTTM4NC45IDE5My45YzAtNDcuNC01NS4yLTQ0LjItOTUuNC0yOS44LTEuMyAzOS40LTIuNSA4MC43LTMgMTE5LjggLjcgMi44IDIuNiA2LjIgMTUuMSA2LjIgMzYuOCAwIDgzLjQtNDIuOCA4My4zLTk2LjJ6TTE5MC40IDI2Ni4xYy4yIDAgNi41LTIuNyAxMS4yLTIuNyAyNi42IDAgMjAuNyA0NC4xLTE0LjQgNDQuMS0yMS41IDAtMzcuMS0xOC4xLTM3LjEtNDMgMC00MiA0Mi45LTk1LjYgMTAwLjctMTI2LjUgMS0xMi40IDMtMjIgMTAuNS0yOC4yIDExLjItOSAyNi42LTMuNSAyOS41IDExLjEgNzIuMi0yMi4yIDEzNS4yIDEgMTM1LjIgNzIgMCA3Ny45LTc5LjMgMTUyLjYtMTQwLjEgMTM4LjItLjEgMzkuNCAuOSA3NC40IDIuNyAxMDBsMCAuMmMuMiAzLjQgLjYgMTIuNS01LjMgMTkuMS05LjYgMTAuNi0zMy40IDEwLTM2LjQtMjIuMy00LjEtNDQuNCAuMi0yMDYuMSAxLjQtMjQyLjUtMjEuNSAxNS01OC41IDUwLjMtNTguNSA3NS45IC4yIDIuNSAuNCA0IC42IDQuNnpNOCAxODEuMXMtLjEgMzcuNCAzOC40IDM3LjRsMzAgMCAyMi40IDIxNy4yczAgNDQuMyA0NC43IDQ0LjNsMjg4LjkgMHM0NC43LS40IDQ0LjctNDQuM2wyMi40LTIxNy4yIDMwIDBzMzguNCAxLjIgMzguNC0zNy40YzAgMCAuMS0zNy40LTM4LjQtMzcuNGwtMzAuMSAwYy03LjMtMjUuNi0zMC4yLTc0LjMtMTE5LjQtNzQuM2wtMjggMCAwLTE5LjFzLTIuNy0xOC40LTIxLjEtMTguNGwtODUuOCAwUzIyNCAzMS45IDIyNCA1MC4zbDAgMTkuMS0yOC4xIDBzLTEwNSA0LjItMTIwLjUgNzQuM2wtMjkgMFM4IDE0Mi41IDggMTgxLjF6Il19LF9NdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3cGJlZ2lubmVyIixpY29uOls1MTIsNTEyLFtdLCJmMjk3IiwiTTQ2My4yIDMyMi40YzU2LjIgNjQuMyA0LjIgMTU3LjYtOTEuOSAxNTcuNi0zOS42IDAtNzguOC0xNy43LTEwMC4xLTUwLTYuOSAuNC0yMi43IC40LTI5LjYgMC0yMS40IDMyLjQtNjAuNiA1MC0xMDAuMSA1MC05NS41IDAtMTQ4LjMtOTMtOTEuOS0xNTcuNi03OS4xLTEzMS45IDMxLjMtMjkwLjQgMjA2LjgtMjkwLjQgMTc1LjYgMCAyODUuOSAxNTguNiAyMDYuOCAyOTAuNHptLTMzOS42LTgzbDQxLjUgMCAwLTU4LjEtNDEuNSAwIDAgNTguMXptMjE3LjIgODYuMWwwLTIzLjhjLTYwLjUgMjAuOS0xMzIuNCA5LjItMTg3LjYtMzRsLjIgMjQuOWM1MS4xIDQ2LjQgMTMxLjcgNTcuOSAxODcuMyAzMi45ek0xOTAgMjM5LjRsMTY2LjEgMCAwLTU4LjEtMTY2LjEgMCAwIDU4LjF6Il19LFRNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkaWFzcG9yYSIsaWNvbjpbNDQ4LDUxMixbXSwiZjc5MSIsIk0yMTkuNyAzNTQuNmMtMS40IDAtODggMTE5LjktODguNyAxMTkuOVM0NC40IDQxNCA0NCA0MTMuMyAxMzAuNiAyODcuNSAxMzAuNiAyODUuOGMwLTIuMi0xMjkuNi00NC0xMzcuNi00Ny4xLTEuMy0uNSAzMS40LTEwMS44IDMxLjctMTAyLjEgLjYtLjcgMTQ0LjQgNDcgMTQ1LjUgNDcgLjQgMCAuOS0uNiAxLTEuMyAuNC0yIDEtMTQ4LjYgMS43LTE0OS42IC44LTEuMiAxMDQuNS0uNyAxMDUuMS0uMyAxLjUgMSAzLjUgMTU2LjEgNi4xIDE1Ni4xIDEuNCAwIDEzOC43LTQ3IDEzOS4zLTQ2LjMgLjggLjkgMzEuOSAxMDIuMiAzMS41IDEwMi42LS45IC45LTE0MC4yIDQ3LjEtMTQwLjYgNDguOC0uMyAxLjQgODIuOCAxMjIuMSA4Mi41IDEyMi45cy04NS41IDYzLjUtODYuMyA2My41Yy0xLS4yLTg5LTEyNS41LTkwLjktMTI1LjVsMCAweiJdfSxMTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicHJvZHVjdC1odW50IixpY29uOls1MTIsNTEyLFtdLCJmMjg4IiwiTTMyNi4zIDIxOC44YzAgMjAuNS0xNi43IDM3LjItMzcuMiAzNy4ybC03MC4zIDAgMC03NC40IDcwLjMgMGMyMC41IDAgMzcuMiAxNi43IDM3LjIgMzcuMnpNOCAyNTZhMjQ4IDI0OCAwIDEgMSA0OTYgMCAyNDggMjQ4IDAgMSAxIC00OTYgMHptMzY3LjktMzcuMmMwLTQ3LjktMzguOS04Ni44LTg2LjgtODYuOGwtMTE5LjkgMCAwIDI0OCA0OS42IDAgMC03NC40IDcwLjMgMGM0Ny45IDAgODYuOC0zOC45IDg2LjgtODYuOHoiXX0sJE10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS11cHdvcmsiLGljb246WzQ0OCw1MTIsW10sImU2N2MiLCJNNTYgMzJsMzM2IDBjMzAuOSAwIDU2IDI1LjEgNTYgNTZsMCAzMzZjMCAzMC45LTI1LjEgNTYtNTYgNTZMNTYgNDgwYy0zMC45IDAtNTYtMjUuMS01Ni01NkwwIDg4QzAgNTcuMSAyNS4xIDMyIDU2IDMyek0yNzAuOSAyNzQuMmM2LjYtNTIuOSAyNS45LTY5LjUgNTEuNC02OS41IDI1LjMgMCA0NC45IDIwLjIgNDQuOSA0OS43cy0xOS43IDQ5LjctNDQuOSA0OS43Yy0yNy45IDAtNDYuMy0yMS41LTUxLjQtMjkuOXptLTI2LjctNDEuOGMtOC4yLTE1LjUtMTQuMy0zNi4zLTE5LjItNTUuNmwtNjIuOSAwIDAgNzguMWMwIDI4LjQtMTIuOSA0OS40LTM4LjIgNDkuNFM4NC4xIDI4My40IDg0LjEgMjU1bC4zLTc4LjEtMzYuMiAwIDAgNzguMWMwIDIyLjggNy40IDQzLjUgMjAuOSA1OC4yIDEzLjkgMTUuMiAzMi44IDIzLjIgNTQuOCAyMy4yIDQzLjcgMCA3NC4yLTMzLjUgNzQuMi04MS41bDAtNTIuNWM0LjYgMTcuMyAxNS40IDUwLjUgMzYuMiA3OS43bC0xOS4zIDExMC41IDM2LjggMCAxMi44LTc4LjRjNC4yIDMuNSA4LjcgNi42IDEzLjQgOS40IDEyLjMgNy44IDI2LjQgMTIuMiA0MC45IDEyLjZsMy40IDBjNDUuMSAwIDgwLjktMzQuOSA4MC45LTgxLjlzLTM1LjktODIuMi04MC45LTgyLjJjLTQ1LjQgMC03MC45IDI5LjctNzguMSA2MC4xbDAgLjJ6Il19LERNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjdXR0bGVmaXNoIixpY29uOls0NDgsNTEyLFtdLCJmMzhjIiwiTTM0OCAzMDUuNWMtMTcuNSAzMS42LTU3LjQgNTQuNS05NiA1NC41LTU2LjYgMC0xMDQtNDcuNC0xMDQtMTA0czQ3LjQtMTA0IDEwNC0xMDRjMzguNiAwIDc4LjUgMjIuOSA5NiA1NC41IDEzLjctNTAuOSA0MS43LTkzLjMgODctMTE3LjgtNDUuMy00OS42LTExMC41LTgwLjctMTgzLTgwLjctMTM3IDAtMjQ4IDExMS0yNDggMjQ4UzExNSA1MDQgMjUyIDUwNGM3Mi41IDAgMTM3LjctMzEuMSAxODMtODAuNy00NS4zLTI0LjUtNzMuMy02Ni45LTg3LTExNy44eiJdfSxBTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWVkYXBwcyIsaWNvbjpbMzIwLDUxMixbXSwiZjNjNiIsIk0xMTguMyAyMzguNGMzLjUtMTIuNSA2LjktMzMuNiAxMy4yLTMzLjYgOC4zIDEuOCA5LjYgMjMuNCAxOC42IDM2LjYgNC42LTIzLjUgNS4zLTg1LjEgMTQuMS04Ni43IDktLjcgMTkuNyA2Ni41IDIyIDc3LjUgOS45IDQuMSA0OC45IDYuNiA0OC45IDYuNiAxLjkgNy4zLTI0IDcuNi00MCA3LjgtNC42IDE0LjgtNS40IDI3LjctMTEuNCAyOC00LjcgLjItOC4yLTI4LjgtMTcuNS00OS42bC05LjQgNjUuNWMtNC40IDEzLTE1LjUtMjIuNS0yMS45LTM5LjMtMy4zLS4xLTYyLjQtMS42LTQ3LjYtNy44bDMxLTV6TTIyOCA0NDhjMjEuMiAwIDIxLjItMzIgMC0zMkw5MiA0MTZjLTIxLjIgMC0yMS4yIDMyIDAgMzJsMTM2IDB6bS0yNCA2NGMyMS4yIDAgMjEuMi0zMiAwLTMybC04OCAwYy0yMS4yIDAtMjEuMiAzMiAwIDMybDg4IDB6bTM0LjItMTQxLjVjMy4yLTE4LjkgNS4yLTM2LjQgMTEuOS00OC44IDcuOS0xNC43IDE2LjEtMjguMSAyNC00MSAyNC42LTQwLjQgNDUuOS03NS4yIDQ1LjktMTI1LjUgMC04NS42LTcxLjgtMTU1LjItMTYwLTE1NS4yUzAgNjkuNiAwIDE1NS4yYzAgNTAuMiAyMS4zIDg1LjEgNDUuOSAxMjUuNSA3LjkgMTIuOSAxNiAyNi4zIDI0IDQxIDYuNyAxMi41IDguNyAyOS44IDExLjkgNDguOSAzLjUgMjEgMzYuMSAxNS43IDMyLjYtNS4xLTMuNi0yMS43LTUuNi00MC43LTE1LjMtNTguNi0zMi42LTYwLjQtNjYuMS05NS42LTY2LjEtMTUxLjcgMC02Ny45IDU3LTEyMy4yIDEyNy0xMjMuMlMyODcgODcuMyAyODcgMTU1LjJjMCA1Ni4xLTMzLjUgOTEuMy02Ni4xIDE1MS42LTkuNyAxOC0xMS43IDM3LjQtMTUuMyA1OC42LTMuNCAyMC42IDI5IDI2LjQgMzIuNiA1LjF6Il19LEVNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaXgiLGljb246WzUxMiw1MTIsW10sImU0M2EiLCJNMjQyLjQgMjkyLjVjNS40LTUuNCAxNC43LTUuNCAyMC4xIDBsNzcgNzdjMTQuMiAxNC4yIDMzLjEgMjIgNTMuMSAyMmwxNS4xIDAtOTcuMSA5Ny4xYy0zMC4zIDI5LjUtNzkuNSAyOS41LTEwOS44IDBsLTk3LjUtOTcuNCA5LjMgMGMyMCAwIDM4LjktNy44IDUzLjEtMjJsNzYuNy03Ni43em0yMC4xLTczLjZjLTYuNCA1LjUtMTQuNiA1LjYtMjAuMSAwbC03Ni43LTc2LjdjLTE0LjItMTUuMS0zMy4xLTIyLTUzLjEtMjJsLTkuMyAwIDk3LjQtOTcuNGMzMC40LTMwLjMgNzkuNi0zMC4zIDEwOS45IDBsOTcuMiA5Ny4xLTE1LjIgMGMtMjAgMC0zOC45IDcuOC01My4xIDIybC03NyA3N3pNMTEyLjYgMTQyLjdjMTMuOCAwIDI2LjUgNS42IDM3LjEgMTUuNGw3Ni43IDc2LjdjNy4yIDYuMyAxNi42IDEwLjggMjYuMSAxMC44IDkuNCAwIDE4LjgtNC41IDI2LTEwLjhsNzctNzdjOS44LTkuNyAyMy4zLTE1LjMgMzcuMS0xNS4zbDM3LjcgMCA1OC4zIDU4LjNjMzAuMyAzMC4zIDMwLjMgNzkuNSAwIDEwOS44bC01OC4zIDU4LjMtMzcuNyAwYy0xMy44IDAtMjcuMy01LjYtMzcuMS0xNS40bC03Ny03N2MtMTMuOS0xMy45LTM4LjItMTMuOS01Mi4xIC4xbC03Ni43IDc2LjZjLTEwLjYgOS44LTIzLjMgMTUuNC0zNy4xIDE1LjRsLTMxLjggMC01OC01OGMtMzAuMy0zMC4zLTMwLjMtNzkuNSAwLTEwOS44bDU4LTU4LjEgMzEuOCAweiJdfSxXdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXR1bWJsciIsaWNvbjpbNDQ4LDUxMixbInR1bWJsci1zcXVhcmUiXSwiZjE3NCIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMjU2LjggNDE2Yy03NS41IDAtOTEuOS01NS41LTkxLjktODcuOWwwLTkwLTI5LjcgMGMtMy40IDAtNi4yLTIuOC02LjItNi4ybDAtNDIuNWMwLTQuNSAyLjgtOC41IDcuMS0xMCAzOC44LTEzLjcgNTAuOS00Ny41IDUyLjctNzMuMiAuNS02LjkgNC4xLTEwLjIgMTAtMTAuMmw0NC4zIDBjMy40IDAgNi4yIDIuOCA2LjIgNi4ybDAgNzIgNTEuOSAwYzMuNCAwIDYuMiAyLjggNi4yIDYuMmwwIDUxLjFjMCAzLjQtMi44IDYuMi02LjIgNi4ybC01Mi4xIDAgMCA4My4zYzAgMjEuNCAxNC44IDMzLjUgNDIuNSAyMi40IDMtMS4yIDUuNi0yIDgtMS40IDIuMiAuNSAzLjYgMi4xIDQuNiA0LjlMMzE4IDM4Ny4xYzEgMy4yIDIgNi43LS4zIDkuMS04LjUgOS4xLTMxLjIgMTkuOC02MC45IDE5Ljh6Il19LFBNdD1XdWUsSU10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InJlYWN0IixpY29uOls1MTIsNTEyLFtdLCJmNDFiIiwiTTQxOC4yIDE3Ny4yYy01LjQtMS44LTEwLjgtMy41LTE2LjItNS4xIC45LTMuNyAxLjctNy40IDIuNS0xMS4xIDEyLjMtNTkuNiA0LjItMTA3LjUtMjMuMS0xMjMuMy0yNi4zLTE1LjEtNjkuMiAuNi0xMTIuNiAzOC40LTQuMyAzLjctOC41IDcuNi0xMi41IDExLjUtMi43LTIuNi01LjUtNS4yLTguMy03LjctNDUuNS00MC40LTkxLjEtNTcuNC0xMTguNC00MS41LTI2LjIgMTUuMi0zNCA2MC4zLTIzIDExNi43IDEuMSA1LjYgMi4zIDExLjEgMy43IDE2LjctNi40IDEuOC0xMi43IDMuOC0xOC42IDUuOS01My40IDE4LjUtOTEuNyA0Ny43LTkxLjcgNzcuOSAwIDMxLjIgNDAuOCA2Mi41IDk2LjMgODEuNSA0LjUgMS41IDkgMyAxMy42IDQuMy0xLjUgNi0yLjggMTEuOS00IDE4LTEwLjUgNTUuNS0yLjMgOTkuNSAyMy45IDExNC42IDI3IDE1LjYgNzIuNC0uNCAxMTYuNi0zOS4xIDMuNS0zLjEgNy02LjMgMTAuNS05LjcgNC40IDQuMyA5IDguNCAxMy42IDEyLjQgNDIuOCAzNi44IDg1LjEgNTEuNyAxMTEuMiAzNi42IDI3LTE1LjYgMzUuOC02Mi45IDI0LjQtMTIwLjUtLjktNC40LTEuOS04LjktMy0xMy41IDMuMi0uOSA2LjMtMS45IDkuNC0yLjkgNTcuNy0xOS4xIDk5LjUtNTAgOTkuNS04MS43IDAtMzAuMy0zOS40LTU5LjctOTMuOC03OC40ek0yODIuOSA5Mi4zYzM3LjItMzIuNCA3MS45LTQ1LjEgODcuNy0zNiAxNi45IDkuNyAyMy40IDQ4LjkgMTIuOCAxMDAuNC0uNyAzLjQtMS40IDYuNy0yLjMgMTAtMjIuMi01LTQ0LjctOC42LTY3LjMtMTAuNi0xMy0xOC42LTI3LjItMzYuNC00Mi42LTUzLjEgMy45LTMuNyA3LjctNy4yIDExLjctMTAuN3pNMTY3LjIgMzA3LjVjNS4xIDguNyAxMC4zIDE3LjQgMTUuOCAyNS45LTE1LjYtMS43LTMxLjEtNC4yLTQ2LjQtNy41IDQuNC0xNC40IDkuOS0yOS4zIDE2LjMtNDQuNSA0LjYgOC44IDkuMyAxNy41IDE0LjMgMjYuMXpNMTM2LjkgMTg3LjJjMTQuNC0zLjIgMjkuNy01LjggNDUuNi03LjgtNS4zIDguMy0xMC41IDE2LjgtMTUuNCAyNS40LTQuOSA4LjUtOS43IDE3LjItMTQuMiAyNi02LjMtMTQuOS0xMS42LTI5LjUtMTYtNDMuNnptMjcuNCA2OC45YzYuNi0xMy44IDEzLjgtMjcuMyAyMS40LTQwLjZzMTUuOC0yNi4yIDI0LjQtMzguOWMxNS0xLjEgMzAuMy0xLjcgNDUuOS0xLjdzMzEgLjYgNDUuOSAxLjdjOC41IDEyLjYgMTYuNiAyNS41IDI0LjMgMzguN3MxNC45IDI2LjcgMjEuNyA0MC40Yy02LjcgMTMuOC0xMy45IDI3LjQtMjEuNiA0MC44LTcuNiAxMy4zLTE1LjcgMjYuMi0yNC4yIDM5LTE0LjkgMS4xLTMwLjQgMS42LTQ2LjEgMS42cy0zMC45LS41LTQ1LjYtMS40Yy04LjctMTIuNy0xNi45LTI1LjctMjQuNi0zOXMtMTQuOC0yNi44LTIxLjUtNDAuNnptMTgwLjYgNTEuMmM1LjEtOC44IDkuOS0xNy43IDE0LjYtMjYuNyA2LjQgMTQuNSAxMiAyOS4yIDE2LjkgNDQuMy0xNS41IDMuNS0zMS4yIDYuMi00NyA4IDUuNC04LjQgMTAuNS0xNyAxNS41LTI1LjZ6bTE0LjQtNzYuNWMtNC43LTguOC05LjUtMTcuNi0xNC41LTI2LjItNC45LTguNS0xMC0xNi45LTE1LjMtMjUuMiAxNi4xIDIgMzEuNSA0LjcgNDUuOSA4LTQuNiAxNC44LTEwIDI5LjItMTYuMSA0My40ek0yNTYuMiAxMTguM2MxMC41IDExLjQgMjAuNCAyMy40IDI5LjYgMzUuOC0xOS44LS45LTM5LjctLjktNTkuNSAwIDkuOC0xMi45IDE5LjktMjQuOSAyOS45LTM1Ljh6TTE0MC4yIDU3YzE2LjgtOS44IDU0LjEgNC4yIDkzLjQgMzkgMi41IDIuMiA1IDQuNiA3LjYgNy0xNS41IDE2LjctMjkuOCAzNC41LTQyLjkgNTMuMS0yMi42IDItNDUgNS41LTY3LjIgMTAuNC0xLjMtNS4xLTIuNC0xMC4zLTMuNS0xNS41LTkuNC00OC40LTMuMi04NC45IDEyLjYtOTR6TTExNS43IDMyMC42Yy00LjItMS4yLTguMy0yLjUtMTIuNC0zLjktMjEuMy02LjctNDUuNS0xNy4zLTYzLTMxLjItMTAuMS03LTE2LjktMTcuOC0xOC44LTI5LjkgMC0xOC4zIDMxLjYtNDEuNyA3Ny4yLTU3LjYgNS43LTIgMTEuNS0zLjggMTcuMy01LjUgNi44IDIxLjcgMTUgNDMgMjQuNSA2My42LTkuNiAyMC45LTE3LjkgNDIuNS0yNC44IDY0LjV6bTExNi42IDk4Yy0xNi41IDE1LjEtMzUuNiAyNy4xLTU2LjQgMzUuMy0xMS4xIDUuMy0yMy45IDUuOC0zNS4zIDEuMy0xNS45LTkuMi0yMi41LTQ0LjUtMTMuNS05MiAxLjEtNS42IDIuMy0xMS4yIDMuNy0xNi43IDIyLjQgNC44IDQ1IDguMSA2Ny45IDkuOCAxMy4yIDE4LjcgMjcuNyAzNi42IDQzLjIgNTMuNC0zLjIgMy4xLTYuNCA2LjEtOS42IDguOXptMjQuNS0yNC4zYy0xMC4yLTExLTIwLjQtMjMuMi0zMC4zLTM2LjMgOS42IC40IDE5LjUgLjYgMjkuNSAuNiAxMC4zIDAgMjAuNC0uMiAzMC40LS43LTkuMiAxMi43LTE5LjEgMjQuOC0yOS42IDM2LjR6bTEzMC43IDMwYy0uOSAxMi4yLTYuOSAyMy42LTE2LjUgMzEuMy0xNS45IDkuMi00OS44LTIuOC04Ni40LTM0LjItNC4yLTMuNi04LjQtNy41LTEyLjctMTEuNSAxNS4zLTE2LjkgMjkuNC0zNC44IDQyLjItNTMuNiAyMi45LTEuOSA0NS43LTUuNCA2OC4yLTEwLjUgMSA0LjEgMS45IDguMiAyLjcgMTIuMiA0LjkgMjEuNiA1LjcgNDQuMSAyLjUgNjYuM3ptMTguMi0xMDcuNWMtMi44IC45LTUuNiAxLjgtOC41IDIuNi03LTIxLjgtMTUuNi00My4xLTI1LjUtNjMuOCA5LjYtMjAuNCAxNy43LTQxLjQgMjQuNS02Mi45IDUuMiAxLjUgMTAuMiAzLjEgMTUgNC43IDQ2LjYgMTYgNzkuMyAzOS44IDc5LjMgNTggMCAxOS42LTM0LjkgNDQuOS04NC44IDYxLjR6TTI1NiAzMDEuOGE0NS44IDQ1LjggMCAxIDAgMC05MS42IDQ1LjggNDUuOCAwIDEgMCAwIDkxLjZ6Il19LE5NdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJodWdnaW5nLWZhY2UiLGljb246WzU3Niw1MTIsW10sImU4NjkiLCJNMjg2LjggOC4yYzEzMCAwIDIzNS40IDEwNS44IDIzNS40IDIzNi4zIDAgMTcuNy0xLjkgMzUtNS42IDUxLjctMS40IDYuNS0zLjEgMTIuOC01LjEgMTkuMSA2LjUtLjYgMTMgLjYgMTguNyAzLjUgMTIuNiA2LjUgMjAuMiAyMS43IDE4LjIgMzUuNy0uNyA0LjktMi40IDkuNC00LjggMTMuNSA1LjIgNC4yIDkgMTAuMSAxMC44IDE3LjEgMS40IDUuNSAyLjkgMTcuMS00LjggMjguOSA1LjggOS4yIDYuNiAyMC42IDIuMiAzMC42LTYuMiAxNC4xLTIxLjcgMjUuMy01MS43IDM3LjMtMzIuNSAxMy02Ny4xIDIxLjktMTAyLjMgMjEuOS0zMiAwLTU1LjktOC45LTcxLTI2LjQtMTMgMi4yLTI2LjMgMy40LTQwIDMuNC0xMi43IDAtMjUuMi0xLTM3LjMtMi45LTE1LjEgMTcuMi0zOC44IDI1LjktNzAuNiAyNS45LTM1LjEgMC03MC05LTEwMi40LTIxLjktMzAtMTItNDUuNS0yMy4xLTUxLjctMzcuMy00LjQtOS45LTMuNi0yMS40IDIuMi0zMC42LTcuNy0xMS45LTYuMy0yMy40LTQuOC0yOC45IDEuOC03IDUuNy0xMi45IDEwLjgtMTcuMS0yLjUtNC4xLTQuMS04LjYtNC44LTEzLjUtMS41LTEwLjQgMi0yMC43IDkuNy0yOS4yIDYuMS02LjcgMTUuMS0xMC4zIDI0LjItMTAuMi0xLjktNi4xLTMuNi0xMi40LTUtMTguNy0zLjctMTYuNy01LjctMzQtNS43LTUxLjggMC0xMzAuNSAxMDUuNC0yMzYuMyAyMzUuNC0yMzYuM3pNMTE3LjUgMzExYy0xMy04LjItMjIuMS0zLjYtMTkgMTMuNHM1Ny4yIDU4LjIgNTIgNjcuMmMtNS4yIDguOC0yMy41LTEwLjEtMjMuOC0xMC41IDAgMC01OC4yLTUzLjEtNzAuOC0zOS4zLTEyLjYgMTMuOCA5LjYgMjUuNCA0MS4zIDQ0LjdzMzQuMiAyNC40IDI5LjcgMzEuNy03NC41LTUyLTgxLjEtMjYuOGMtNi41IDI1LjEgNzEuNCAzMi40IDY2LjcgNDkuOC00LjggMTcuNC01NC45LTMyLjgtNjUuMi0xMy4zLTEwLjMgMTkuNiA3MC44IDQyLjYgNzEuNCA0Mi43IDI2LjIgNi44IDkyLjYgMjEuMyAxMTUuOS0xMi45IDE2LjctMjQuNiAxNS42LTQzLjEtNy40LTY2LjFzLTM2LjMtNTYuNy0zNi4zLTU2LjdjMC0uMi01LTE5LjUtMTYuMy0xNy44LTExLjQgMS44LTE5LjcgMzEgNC4xIDQ4LjkgMjMuOCAxNy45LTQuNyAzMC0xMy45IDEzLjMtOS4yLTE2LjgtMzQuMi01OS45LTQ3LjEtNjguMnptMzYwLjYgMTMuNGMzLjEtMTctNi4xLTIxLjYtMTktMTMuNC0xMyA4LjMtMzcuOSA1MS40LTQ3LjEgNjguMnMtMzcuNyA0LjYtMTMuOS0xMy4zIDE1LjQtNDcuMSA0LjEtNDguOS0xNi4zIDE3LjgtMTYuMyAxNy44Yy0uMSAuMi0xMy40IDMzLjctMzYuMyA1Ni43LTIyLjkgMjMtMjQuMSA0MS41LTcuNCA2Ni4xIDIzLjIgMzQuMiA4OS43IDE5LjcgMTE1LjkgMTIuOSAxLjUtLjQgODEuNi0yMy4zIDcxLjQtNDIuNy0xMC4zLTE5LjUtNjAuNCAzMC42LTY1LjMgMTMuMy00LjgtMTcuMyA3My4yLTI0LjYgNjYuNy00OS44LTYuNi0yNS4xLTc2LjYgMzQuMS04MS4xIDI2LjgtNC41LTcuMy0yLTEyLjQgMjkuNy0zMS43IDMxLjctMTkuMyA1NC0zMC45IDQxLjMtNDQuNy0xMi43LTEzLjgtNzAuOCAzOS4zLTcwLjggMzkuMy0uNCAuNC0xOC42IDE5LjMtMjMuOCAxMC41LTUuMy04LjkgNDguOS01MC4xIDUyLTY3LjJ6TTI4Ni44IDMyLjZjLTExNi42IDAtMjExLjEgOTQuOS0yMTEuMSAyMTEuOSAwIDE3LjEgMiAzMy44IDUuOCA0OS43IDAtLjEgLjEtLjEgLjItLjIgNi4xLTcuNCAxNC45LTExLjQgMjQuNy0xMS40IDE3LjcgMCAzMS4xIDExLjkgNDEuNSAyNC45IDYuOC05LjQgMTcuMS0xNSAyNy45LTE1IDIwLjcgMCAzMy4yIDE4LjEgMzcuOSAzNC4zIDIuMyA1LjUgMTMuNiAzMC41IDMwLjQgNDcuNCAyNS43IDI1LjggMzIuMiA1Mi40IDE5LjQgODAuOSAxNiAxLjggMzIuOCAxLjcgNDkuMi0uMy0xMi41LTI4LjQtNi01NC45IDE5LjYtODAuNiAxNi45LTE2LjkgMjguMS00MS45IDMwLjUtNDcuNCA0LjctMTYuMiAxNy4yLTM0LjMgMzcuOS0zNC4zIDEwLjkgMCAyMS4yIDUuNiAyNy45IDE1IDEwLjQtMTMgMjMuOC0yNC45IDQxLjUtMjQuOSA4LjcgMCAxNi42IDMuMSAyMi41IDguOSA1LTIyIDYuNC00NS44IDQuMS02OC43LTEwLjgtMTA2LjktMTAwLjctMTkwLjMtMjEwLTE5MC4zem0xLjUgMjM0LjJjNDMuNiAwIDc5LTQyIDc5LTE0LjUgMCAyNy40LTE5LjIgODAuOS03OC44IDgwLjktMTkuMiAwLTM0LjItNS41LTQ1LjgtMTMuOS0yMy4yLTE5LjQtMzMuNC00OC4yLTMzLjQtNjYuOSAwLTI3LjQgMzUuNCAxNC41IDc5IDE0LjV6bS0xMy4zIDI1Yy04LjIgMi40LTE1LjUgNi44LTIxLjUgMTIuNiAyMiAxMi44IDUwLjQgMTIuOSA3MS43LTEuMy01LjUtNC45LTEyLTguNy0xOS4xLTExLTUuMS0xLjYtMTAuNCAxNS44LTE2IDE1LjgtNS4yIDAtMTAuMy0xNy42LTE1LjEtMTYuMnpNMTQ3LjEgMjE1LjVhMTkuOCAxOS44IDAgMSAxIDAtMzkuNiAxOS44IDE5LjggMCAxIDEgMCAzOS42em0yODIuNCAwYTE5LjggMTkuOCAwIDEgMSAwLTM5LjYgMTkuOCAxOS44IDAgMSAxIDAgMzkuNnptLTI0NC01NS40YzcuOS0xNC45IDI2LjMtMjAuNSA0MS4xLTEyLjZzMjAuNCAyNi40IDEyLjYgNDEuMmMtMy43IDctMTUuNS00LjQtMjIuNC0xLjktNy43IDIuNy0xMC44IDE4LjctMTguNiAxNC42LTE0LjgtNy45LTIwLjQtMjYuNC0xMi42LTQxLjJ6bTE2NC40LTEyLjZjMTQuOC03LjkgMzMuMi0yLjMgNDEuMSAxMi42czIuMiAzMy4zLTEyLjYgNDEuMmMtNy44IDQuMi0xMC45LTExLjgtMTguNy0xNC42LTYuOS0yLjQtMTguNyA5LTIyLjQgMS45LTcuOS0xNC45LTIuMi0zMy4zIDEyLjYtNDEuMnoiXX0sUk10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imp4bCIsaWNvbjpbNDQ4LDUxMixbXSwiZTY3YiIsIk00MTIuMiAzMkwzNS44IDMyQzE2IDMyIDAgNDggMCA2Ny44TDAgNDQ0LjJDMCA0NjQgMTYgNDgwIDM1LjggNDgwbDM3Ni40IDBjMTkuOCAwIDM1LjgtMTYgMzUuOC0zNS44bDAtMzc2LjRDNDQ4IDQ4IDQzMiAzMiA0MTIuMiAzMnpNMzc4LjYgMzMzLjdjMCA0MC4yLTMyLjYgNzIuOC03Mi44IDcyLjhsLTIzNS42IDBjMC00MC4yIDMyLjYtNzIuOCA3Mi44LTcyLjhsMjM1LjYgMHptMC0xMTMuOWMwIDQwLjItMzIuNiA3Mi44LTcyLjggNzIuOGwtMjM1LjYgMGMwLTQwLjIgMzIuNi03Mi44IDcyLjgtNzIuOGwyMzUuNiAwem0wLTExMy45YzAgNDAuMi0zMi42IDcyLjgtNzIuOCA3Mi44bC0yMzUuNiAwYzAtNDAuMiAzMi42LTcyLjggNzIuOC03Mi44bDIzNS42IDB6Il19LE9NdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtbGlua2VkaW4iLGljb246WzQ0OCw1MTIsW10sImU3ZDAiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNSAxNzAuMmw2Ni41IDAgMCAyMTMuOC02Ni41IDAgMC0yMTMuOHptNzEuNy02Ny43YTM4LjUgMzguNSAwIDEgMSAtNzcgMCAzOC41IDM4LjUgMCAxIDEgNzcgMHpNMzE3LjkgNDE2bDAtMTA0YzAtMjQuOC0uNS01Ni43LTM0LjUtNTYuNy0zNC42IDAtMzkuOSAyNy0zOS45IDU0LjlsMCAxMDUuOC02Ni40IDAgMC0yMTMuOCA2My43IDAgMCAyOS4yIC45IDBjOC45LTE2LjggMzAuNi0zNC41IDYyLjktMzQuNSA2Ny4yIDAgNzkuNyA0NC4zIDc5LjcgMTAxLjlsMCAxMTcuMi02Ni40IDB6Il19LEZNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjc3MiLGljb246WzQ0OCw1MTIsW10sImU2YTIiLCJNMzc2LjMgMzJMMCAzMiAwIDQwOC4zYzAgMTkgNy42IDM3LjIgMjEgNTAuN3MzMS43IDIxIDUwLjcgMjFsMzA0LjYgMGMxOSAwIDM3LjItNy42IDUwLjctMjFzMjEtMzEuNyAyMS01MC43bDAtMzA0LjZjMC0xOS03LjYtMzcuMi0yMS01MC43cy0zMS43LTIxLTUwLjctMjF6TTMzMi40IDQzMS40Yy03LjctOC41LTExLjctMjAuNy0xMi0zNi42bDMxLjMgMGMuMiAxNC4xIDUuMSAyMS4xIDE0LjggMjEuMWM0LjkgMCA4LjQtMS42IDEwLjUtNC43YzItMy4xIDMtOCAzLTE0LjhjMC01LjQtMS4zLTkuOS00LTEzLjRjLTMuNS00LjItOC4xLTcuNS0xMy4yLTkuNUwzNTEuMiAzNjhjLTEwLjMtNC45LTE3LjgtMTAuOC0yMi41LTE3LjZjLTQuNS02LjgtNi43LTE2LjMtNi43LTI4LjRjMC0xMy42IDQtMjQuNiAxMS44LTMzLjFjOC4xLTguNSAxOS4xLTEyLjcgMzMuMi0xMi43YzEzLjYgMCAyNC4xIDQuMiAzMS41IDEyLjVjNy41IDguNCAxMS41IDIwLjMgMTEuOCAzNS45bC0zMC4xIDBjLjItNS4xLS45LTEwLjItMy0xNC44Yy0xLjctMy40LTUtNS4xLTEwLTUuMWMtOC44IDAtMTMuMiA1LjItMTMuMiAxNS43YzAgNS4zIDEuMSA5LjQgMy4yIDEyLjZjMy4xIDMuNSA3IDYuMiAxMS40IDcuOGwxMS4xIDQuOWMxMS41IDUuMyAxOS43IDExLjcgMjQuOCAxOS40YzUuMSA3LjcgNy42IDE4IDcuNiAzMWMwIDE1LjUtNCAyNy40LTEyLjMgMzUuN2MtOC4yIDguMy0xOS41IDEyLjUtMzQuMSAxMi41cy0yNS42LTQuMi0zMy40LTEyLjd6bS0xMDEgMGMtNy43LTguNS0xMS43LTIwLjctMTItMzYuNmwzMS4zIDBjLjIgMTQuMSA1LjEgMjEuMSAxNC44IDIxLjFjNC45IDAgOC40LTEuNiAxMC40LTQuN2MyLTMuMSAzLTggMy0xNC44YzAtNS40LTEuMy05LjktMy45LTEzLjRjLTMuNS00LjItOC4xLTcuNS0xMy4yLTkuNUwyNTAuMiAzNjhjLTEwLjMtNC45LTE3LjgtMTAuOC0yMi41LTE3LjZjLTQuNS02LjgtNi43LTE2LjMtNi43LTI4LjRjMC0xMy42IDQtMjQuNiAxMS44LTMzLjFjOC4xLTguNSAxOS4xLTEyLjcgMzMuMi0xMi43YzEzLjYgMCAyNC4xIDQuMiAzMS40IDEyLjVjNy42IDguNCAxMS41IDIwLjMgMTEuOSAzNS45bC0zMC4xIDBjLjItNS4xLS45LTEwLjItMy0xNC44Yy0xLjctMy40LTUtNS4xLTEwLTUuMWMtOC44IDAtMTMuMiA1LjItMTMuMiAxNS43YzAgNS4zIDEuMSA5LjQgMy4yIDEyLjZjMy4xIDMuNSA3IDYuMiAxMS40IDcuOGwxMS4xIDQuOWMxMS41IDUuMyAxOS43IDExLjcgMjQuOCAxOS40YzUuMSA3LjcgNy42IDE4IDcuNiAzMWMwIDE1LjUtNC4xIDI3LjQtMTIuMyAzNS43cy0xOS41IDEyLjUtMzQuMSAxMi41cy0yNS42LTQuMi0zMy40LTEyLjd6bS0xMDUuNiAxLjFjLTguNC03LjctMTIuNS0xOS4yLTEyLjUtMzQuNWwwLTc1LjRjMC0xNS4yIDQuNC0yNi43IDEzLjItMzQuNmM4LjktNy44IDIwLjctMTEuOCAzNS4yLTExLjhjMTQuMSAwIDI1LjIgNCAzMy40IDEyYzguMyA4IDEyLjUgMjAgMTIuNSAzNS45bDAgNi0zMy4xIDAgMC01LjhjMC02LjEtMS4zLTEwLjctNC0xMy42Yy0xLjEtMS41LTIuNi0yLjctNC4zLTMuNXMtMy41LTEuMi01LjQtMS4xYy01LjQgMC05LjIgMS44LTExLjQgNS42Yy0yLjMgNS4yLTMuMyAxMC44LTMgMTYuNGwwIDY1LjVjMCAxMy43IDQuOCAyMC42IDE0LjQgMjAuOGM0LjUgMCA3LjktMS42IDEwLjItNC44YzIuNS00LjEgMy43LTguOCAzLjUtMTMuNmwwLTQuOSAzMy4xIDAgMCA1LjFjMCAxMC42LTIuMSAxOS41LTYuMiAyNi42Yy00IDYuOS05LjkgMTIuNS0xNy4xIDE2Yy03LjcgMy43LTE2LjEgNS41LTI0LjYgNS4zYy0xNC4yIDAtMjUuNS0zLjktMzMuOC0xMS42eiJdfSxCTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaGFzaG5vZGUiLGljb246WzUxMiw1MTIsW10sImU0OTkiLCJNMzUuNyAxNzEuMWMtNDYuOSA0Ni00Ni45IDEyMi45IDAgMTY5LjhMMTcxLjYgNDc2LjhjNDYgNDYuOSAxMjIuOSA0Ni45IDE2OS44IDBMNDc3LjMgMzQwLjljNDYuOS00Ni45IDQ2LjktMTIzLjggMC0xNjkuOEwzNDEuNCAzNS4yYy00Ni45LTQ2LjktMTIzLjgtNDYuOS0xNjkuOCAwTDM1LjcgMTcxLjF6TTE5NiAxOTYuNWE4NC41IDg0LjUgMCAxIDEgMTIwIDExOSA4NC41IDg0LjUgMCAxIDEgLTEyMC0xMTl6Il19LEhNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZWRkaXQtYWxpZW4iLGljb246WzUxMiw1MTIsW10sImYyODEiLCJNMzczIDEzOC42Yy0yNS4yIDAtNDYuMy0xNy41LTUxLjktNDEtMzAuNiA0LjMtNTQuMiAzMC43LTU0LjIgNjIuNGwwIC4yYzQ3LjQgMS44IDkwLjYgMTUuMSAxMjQuOSAzNi4zIDEyLjYtOS43IDI4LjQtMTUuNSA0NS41LTE1LjUgNDEuMyAwIDc0LjcgMzMuNCA3NC43IDc0LjcgMCAyOS44LTE3LjQgNTUuNS00Mi43IDY3LjUtMi40IDg2LjgtOTcgMTU2LjYtMjEzLjIgMTU2LjZTNDUuNSA0MTAuMSA0MyAzMjMuNGMtMjUuNC0xMS45LTQzLTM3LjctNDMtNjcuNyAwLTQxLjMgMzMuNC03NC43IDc0LjctNzQuNyAxNy4yIDAgMzMgNS44IDQ1LjcgMTUuNiAzNC0yMS4xIDc2LjgtMzQuNCAxMjMuNy0zNi40bDAtLjNjMC00NC4zIDMzLjctODAuOSA3Ni44LTg1LjUgNC45LTI0LjIgMjYuMy00Mi40IDUyLjEtNDIuNCAyOS40IDAgNTMuMyAyMy45IDUzLjMgNTMuM3MtMjMuOSA1My4zLTUzLjMgNTMuM3pNMTU3LjUgMjU1LjNjLTIwLjkgMC0zOC45IDIwLjgtNDAuMiA0Ny45czE3LjEgMzguMSAzOCAzOC4xIDM2LjYtOS44IDM3LjgtMzYuOS0xNC43LTQ5LjEtMzUuNy00OS4xbC4xIDB6TTM5NSAzMDMuMWMtMS4yLTI3LjEtMTkuMi00Ny45LTQwLjItNDcuOXMtMzYuOSAyMi0zNS43IDQ5LjEgMTYuOSAzNi45IDM3LjggMzYuOSAzOS4zLTExIDM4LTM4LjFsLjEgMHptLTYwLjEgNzAuOGMxLjUtMy42LTEtNy43LTQuOS04LjEtMjMtMi4zLTQ3LjktMy42LTczLjgtMy42cy01MC44IDEuMy03My44IDMuNmMtMy45IC40LTYuNCA0LjUtNC45IDguMSAxMi45IDMwLjggNDMuMyA1Mi40IDc4LjcgNTIuNHM2NS44LTIxLjYgNzguNy01Mi40eiJdfSxoZWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGlrdG9rIixpY29uOls0NDgsNTEyLFtdLCJlMDdiIiwiTTQ0OC41IDIwOS45Yy00NCAuMS04Ny0xMy42LTEyMi44LTM5LjJsMCAxNzguN2MwIDMzLjEtMTAuMSA2NS40LTI5IDkyLjZzLTQ1LjYgNDgtNzYuNiA1OS42LTY0LjggMTMuNS05Ni45IDUuMy02MC45LTI1LjktODIuNy01MC44LTM1LjMtNTYtMzktODguOSAyLjktNjYuMSAxOC42LTk1LjIgNDAtNTIuNyA2OS42LTY3LjcgNjIuOS0yMC41IDk1LjctMTZsMCA4OS45Yy0xNS00LjctMzEuMS00LjYtNDYgLjRzLTI3LjkgMTQuNi0zNyAyNy4zLTE0IDI4LjEtMTMuOSA0My45IDUuMiAzMSAxNC41IDQzLjcgMjIuNCAyMi4xIDM3LjQgMjYuOSAzMS4xIDQuOCA0Ni0uMSAyOC0xNC40IDM3LjItMjcuMSAxNC4yLTI4LjEgMTQuMi00My44bDAtMzQ5LjQgODggMGMtLjEgNy40IC42IDE0LjkgMS45IDIyLjIgMy4xIDE2LjMgOS40IDMxLjkgMTguNyA0NS43czIxLjMgMjUuNiAzNS4yIDM0LjZjMTkuOSAxMy4xIDQzLjIgMjAuMSA2NyAyMC4xbDAgODcuNHoiXX0scU10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndvcmRwcmVzcyIsaWNvbjpbNTEyLDUxMixbXSwiZjE5YSIsIk02MS43IDE2OS40bDEwMS41IDI3OGMtNzEtMzQuNC0xMTkuOS0xMDcuMi0xMTkuOS0xOTEuNCAwLTMwLjkgNi42LTYwLjEgMTguNC04Ni42em0zMzcuOSA3NS45YzAtMjYuMy05LjQtNDQuNS0xNy41LTU4LjctMTAuOC0xNy41LTIwLjktMzIuNC0yMC45LTQ5LjkgMC0xOS42IDE0LjgtMzcuOCAzNS43LTM3LjggLjkgMCAxLjggLjEgMi44IC4yLTM3LjktMzQuNy04OC4zLTU1LjktMTQzLjctNTUuOS03NC4zIDAtMTM5LjcgMzguMS0xNzcuOCA5NS45IDUgLjIgOS43IC4zIDEzLjcgLjMgMjIuMiAwIDU2LjctMi43IDU2LjctMi43IDExLjUtLjcgMTIuOCAxNi4yIDEuNCAxNy41IDAgMC0xMS41IDEuMy0yNC4zIDJsNzcuNSAyMzAuNCA0Ni42LTEzOS42LTMzLjEtOTAuOGMtMTEuNS0uNy0yMi4zLTItMjIuMy0yLTExLjUtLjctMTAuMS0xOC4yIDEuMy0xNy41IDAgMCAzNS4xIDIuNyA1NiAyLjcgMjIuMiAwIDU2LjctMi43IDU2LjctMi43IDExLjUtLjcgMTIuOCAxNi4yIDEuNCAxNy41IDAgMC0xMS41IDEuMy0yNC4zIDJsNzYuOSAyMjguNyAyMS4yLTcwLjljOS0yOS40IDE2LTUwLjUgMTYtNjguN3pNMjU5LjcgMjc0LjZMMTk1LjkgNDYwLjFjMTkuMSA1LjYgMzkuMiA4LjcgNjAuMSA4LjcgMjQuOCAwIDQ4LjUtNC4zIDcwLjYtMTIuMS0uNi0uOS0xLjEtMS45LTEuNS0yLjlMMjU5LjcgMjc0LjZ6bTE4My0xMjAuN2MuOSA2LjggMS40IDE0IDEuNCAyMS45IDAgMjEuNi00IDQ1LjgtMTYuMiA3Ni4ybC02NSAxODcuOWM2My4zLTM2LjkgMTA1LjgtMTA1LjQgMTA1LjgtMTgzLjkgMC0zNy05LjQtNzEuOC0yNi0xMDIuMXpNOCAyNTZhMjQ4IDI0OCAwIDEgMSA0OTYgMCAyNDggMjQ4IDAgMSAxIC00OTYgMHptNDg0LjYgMGEyMzYuNiAyMzYuNiAwIDEgMCAtNDczLjIgMCAyMzYuNiAyMzYuNiAwIDEgMCA0NzMuMiAweiJdfSxWTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaWRlYWwiLGljb246WzUxMiw1MTIsW10sImUwMTMiLCJNOTMuOCAxNjUuNWE0OS4xIDQ5LjEgMCAxIDAgMCA5OC4xIDQ5LjEgNDkuMSAwIDEgMCAwLTk4LjF6TTU0LjMgNDI1LjhsNzguOSAwIDAtMTQwLjUtNzguOSAwIDAgMTQwLjV6TTIwNS44IDIxNC4yYzAtMjAtMTAtMjIuNS0xOC43LTIyLjVsLTE0IDAgMCA0NS44IDE0IDBjOS43IDAgMTguNy0yLjggMTguNy0yMy4zem0yMDEuNyA0NmwwLTkxLjMgMjIuOCAwIDAgNjguNiAzMy43IDBDNDU0LjYgMTEzLjEgMzU2LjggODYuMiAyNjcuOCA4Ni4ybC05NC44IDAgMCA4Mi44IDE0IDBjMjUuNiAwIDQxLjUgMTcuNCA0MS41IDQ1LjMgMCAyOC44LTE1LjUgNDYtNDEuNSA0NmwtMTQgMCAwIDE2NS42IDk0LjggMGMxNDQuNiAwIDE5NC45LTY3LjIgMTk2LjctMTY1LjZsLTU3LjEgMHptLTEwOS44IDBsLTU2LjIgMCAwLTkxLjIgNTQuNCAwIDAgMjIuNy0zMS43IDAgMCAxMC42IDMwIDAgMCAyMi43LTMwIDAgMCAxMi41IDMzLjUgMCAwIDIyLjd6bTc0LjcgMGwtNS4yLTE3LjctMjkuNyAwLTUuMiAxNy43LTIzLjcgMCAyNy41LTkxLjMgMzIuMyAwIDI3LjUgOTEuMy0yMy43IDB6TTI2Ny44IDMyTC4xIDMyIC4xIDQ4MCAyNjcuOCA0ODBjMTYxLjggMCAyNTEtNzkuNyAyNTEtMjI0LjUgMC04My41LTMyLjYtMjIzLjUtMjUxLTIyMy41em0wIDQyNi45bC0yNDYuNiAwIDAtNDA1LjkgMjQ2LjYgMGMxNDIuMSAwIDIyOS45IDY0LjYgMjI5LjkgMjAyLjQgMCAxMzQuMS04MSAyMDMuNC0yMjkuOSAyMDMuNHptODMuOS0yNjQuOWwtNy41IDI1LjggMTYuNCAwLTcuNS0yNS44LTEuNCAweiJdfSxqTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGllZC1waXBlci1wcCIsaWNvbjpbNDQ4LDUxMixbXSwiZjFhNyIsIk0yMDUuMyAxNzQuNmMwIDIxLjEtMTQuMiAzOC4xLTMxLjcgMzguMS03LjEgMC0xMi44LTEuMi0xNy4yLTMuN2wwLTY4YzQuNC0yLjcgMTAuMS00LjIgMTcuMi00LjIgMTcuNSAwIDMxLjcgMTYuOSAzMS43IDM3Ljh6bTUyLjYgNjdjLTcuMSAwLTEyLjggMS41LTE3LjIgNC4ybDAgNjhjNC40IDIuNSAxMC4xIDMuNyAxNy4yIDMuNyAxNy40IDAgMzEuNy0xNi45IDMxLjctMzcuOCAwLTIxLjEtMTQuMy0zOC4xLTMxLjctMzguMXpNNDQ4IDgwbDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDQ4MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MEMwIDUzLjUgMjEuNSAzMiA0OCAzMmwzNTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNMTg1IDI1NS4xYzQxIDAgNzQuMi0zNS42IDc0LjItNzkuNlMyMjYgOTUuOSAxODUgOTUuOWMtMTIgMC0yNC4xIDMuMi0zNC42IDguOGwtNDUuNyAwIDAgMjA2LjMgNTEuOC0xMC4xIDAtNTAuNmM4LjYgMy4xIDE4LjEgNC44IDI4LjUgNC44em0xNTguNCAyNS4zYzAtNDQtMzMuMi03OS42LTczLjktNzkuNi0zLjIgMC02LjQgLjItOS42IC43LTMuNyAxMi41LTEwLjEgMjMuOC0xOS4yIDMzLjQtMTMuOCAxNS0zMi4yIDIzLjgtNTEuOCAyNC44bDAgMTU2LjMgNTEuOC0xMC4xIDAtNTAuNmM4LjYgMy4yIDE4LjIgNC43IDI4LjcgNC43IDQwLjggMCA3NC0zNS42IDc0LTc5LjZ6Il19LFVNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1c3N1bm5haCIsaWNvbjpbNTEyLDUxMixbXSwiZjQwNyIsIk00OTYuOSAyNjguMWMwIDYzLjktMjUuNCAxMjUuMi03MC42IDE3MC4zUzMxOS45IDUwOSAyNTYgNTA5IDEzMC44IDQ4My41IDg1LjcgNDM4LjQgMTUuMSAzMzEuOSAxNS4xIDI2OGMwLTYzLjkgMjUuNC0xMjUuMiA3MC42LTE3MC40UzE5Mi4yIDI3LjEgMjU2LjEgMjcuMSAzODEuMyA1Mi40IDQyNi41IDk3LjYgNDk3IDIwNC4xIDQ5NyAyNjhsLS4xIC4xek0zOS41IDI2OGMtLjYgMjguOCA0LjUgNTcuNSAxNS4xIDg0LjNzMjYuNCA1MS4yIDQ2LjYgNzEuOCA0NC4yIDM3IDcwLjggNDguMSA1NS4xIDE2LjkgODMuOSAxNi45IDU3LjQtNS44IDgzLjktMTYuOSA1MC42LTI3LjUgNzAuOC00OC4xIDM2LTQ1IDQ2LjYtNzEuOCAxNS43LTU1LjUgMTUuMS04NC4zYy42LTI4LjgtNC41LTU3LjUtMTUuMS04NC4zcy0yNi40LTUxLjItNDYuNi03MS44LTQ0LjItMzctNzAuOC00OC4xLTU1LjEtMTYuOS04My45LTE2LjktNTcuNCA1LjgtODMuOSAxNi45LTUwLjYgMjcuNS03MC44IDQ4LjEtMzYgNDUtNDYuNiA3MS44LTE1LjcgNTUuNS0xNS4xIDg0LjN6bTM4NS45IDYzLjNjLTEyLjcgMC0yMS42LTEuOS0yNi43LTUuOS01LjUtNC4zLTguMi0xMi4zLTguMi0yMy44bDAtOTYuNWMwLTYuNS01LjItMjAuMi0xNS43LTQxLjIgNyAwIDE3LTkuMSAzMC0yNy4ybDAgMTQ3LjhjMCAxMSAyLjQgMTkuNCA3IDI1LjMgMy43IDQuNyAxMC4xIDguOSAxOSAxMi42IDEuMiAuNCAyLjYgLjkgNC4xIDEuNCAyLjkgLjkgNi4zIDIuMSAxMC4zIDMuNS0xLjggMi43LTguMyA0LTE5LjkgNGwuMSAwem0tMjE5IDBjLTEuMyAyLjQtMy42IDUuNS02LjggOS40bC0xOC41IDIyLjVjLTEtNi4xLTQtMTMtOS4zLTIwLjZzLTkuNy0xMS40LTEzLjQtMTEuNGwtODkuOCAwYzMuMy01LjMgNC45LTguOCA0LjktMTAuOHMtLjgtNS4zLTIuNC05LjdjLTEuNS00LjQtMi40LTguNS0yLjQtMTIuNCAwLTcuNCAyLjEtMTMuOSA2LjMtMTkuM2wyMC0yNS42LTcuMS0xNy43IDE2LjEtMTkuOCA2LjcgMTYuOCA4LTEwLjNjLTEuOCA2LjQtMi42IDEyLjMtMi42IDE3LjcgMCA0LjIgMi44IDEzLjMgOC4zIDI3LjNsMTYuMiA0MC43IDE3LjcgMGMyLjggLjQgNy43IDUgMTQuNiAxMy45IDEuOCAyLjQgNC4zIDUuOCA3LjcgMTAuMiAxLjQgMS45IDIuOSAzLjkgNC42IDYuMSAxLjMtMi4zIDItNC42IDItNy4xIDAtMi0xLjMtNi42LTQtMTMuNEwxNzggMzA0LjFjLTQtMTAuNi02LjEtMTcuNy02LjEtMjEuMyAwLTYuMyAxLjktMTIuMyA1LjgtMTcuOSAuNS0uNiAxLTEuMyAxLjUtMS45IDQuNC01LjYgOC44LTExLjEgMTMuMy0xNi41LTEuMSA0LjYtMS43IDguNy0xLjcgMTIgMCAzLjcgMS43IDkuOSA1LjEgMTguOGw3LjkgMjAuNGMxLjkgNC43IDMgOC4yIDMuNyAxMC4zbDI1LjkgMC0uOS0yLjZjLTEuNC0zLjktNC03LTcuNy05LjNsMTUuNi0yMC4xIDEyLjMgMzIgMTMuNCAwLTYuMS0xNS44Yy0xLjUtMy45LTQtNy03LjctOS4zbDE1LjctMjAuMSAxNy4zIDQ1LjIgMTMuNCAwLTExLjQtMjkuNGMtMS41LTMuOS00LTctNy43LTkuM2wxNS42LTIwIDIyLjQgNTguNyAyNi4yIDBjMS41IDAgMy0xLjEgNC41LTMuMXMyLjItNC4xIDIuMi02LjNsMC05My41YzAtNi41LTQuNS0yMC4zLTEzLjctNDEuMiA1LjQgMCAxNC4xLTkuMSAyNi4yLTI3LjJsMCAxNjMuNWMwIDcuMiAuNiAxMiAxLjcgMTQuNiAxLjYgMy40IDUuMyA2LjIgMTEuMSA4LjItMy45IDUuNi04LjcgOC41LTE0LjUgOC41bC0xNTQuOCAwLS4xLS4yem0tOTgtNDRjLTIuNy02LjctNC0xMS43LTQtMTUtLjYgMS4yLTIuNCAzLjctNS40IDcuNi0xLjQgMS45LTIuMiAzLjctMi4yIDUuMyAwIDIuNiAuOCA1LjcgMi4yIDkuM2w1LjYgMTMuOWM1IDAgOSAwIDExLjktLjFsLTguMi0yMC45IC4xLS4xem0xMy41LTcyLjRjLTMtNS4yLTctOS4zLTExLjktMTEuOS0zLjUtMS45LTUuMy00LjMtNS4zLTcuNCAwLTIuNCA0LjYtOC42IDE0LTE4LjMgLjIgMy44IDEuOSA3LjYgNC45IDExLjIgMy4xIDMuNiA0LjYgNyA0LjYgMTAuMSAwIDIuNi0yLjEgOC02LjIgMTYuM2wtLjEgMHptLTI3LjYgMGMtMy01LjItNy05LjMtMTEuOS0xMS45LTMuNS0xLjktNS4zLTQuMy01LjMtNy40IDAtMi40IDQuNi04LjYgMTQtMTguMyAuMiAzLjggMS45IDcuNiA0LjkgMTEuMiAzLjEgMy42IDQuNiA3IDQuNiAxMC4xIDAgMi42LTIuMSA4LTYuMiAxNi4zbC0uMSAwem04NyAyNy41Yy0zLTUuMi03LTkuMy0xMS45LTExLjktMy41LTEuOS01LjMtNC4zLTUuMy03LjQgMC0yLjQgNC42LTguNiAxNC0xOC4zIC4yIDMuOCAxLjkgNy42IDQuOSAxMS4yIDMuMSAzLjYgNC42IDcgNC42IDEwLjEgMCAyLjYtMi4xIDgtNi4yIDE2LjNsLS4xIDB6Il19LFdNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmb3J0LWF3ZXNvbWUtYWx0IixpY29uOls1MTIsNTEyLFtdLCJmM2EzIiwiTTIwOCAyMzcuNGwtMjIuMiAwYy0yLjEgMC0zLjcgMS42LTMuNyAzLjdsMCA1MS43YzAgMi4xIDEuNiAzLjcgMy43IDMuN2wyMi4yIDBjMi4xIDAgMy43LTEuNiAzLjctMy43bDAtNTEuN2MwLTIuMS0xLjYtMy43LTMuNy0zLjd6bTExOC4yIDBsLTIyLjIgMGMtMi4xIDAtMy43IDEuNi0zLjcgMy43bDAgNTEuN2MwIDIuMSAxLjYgMy43IDMuNyAzLjdsMjIuMiAwYzIuMSAwIDMuNy0xLjYgMy43LTMuN2wwLTUxLjdjLS4xLTIuMS0xLjctMy43LTMuNy0zLjd6bTEzMi0xMjUuMWMtMi4zLTMuMi00LjYtNi40LTcuMS05LjUtOS44LTEyLjUtMjAuOC0yNC0zMi44LTM0LjQtNC41LTMuOS05LjEtNy42LTEzLjktMTEuMi0xLjYtMS4yLTMuMi0yLjMtNC44LTMuNS0yNy42LTE5LjYtNTkuMy0zMy43LTkzLjYtNDAuNy0xNi4yLTMuMy0zMi45LTUtNTAtNXMtMzMuOSAxLjctNTAgNWMtMzQuMyA3LjEtNjYgMjEuMi05My4zIDQwLjgtMS42IDEuMS0zLjIgMi4zLTQuOCAzLjUtNC44IDMuNi05LjQgNy4zLTEzLjkgMTEuMi0zIDIuNi01LjkgNS4zLTguOCA4cy01LjcgNS41LTguNCA4LjRjLTUuNSA1LjctMTAuNyAxMS44LTE1LjYgMTgtMi40IDMuMS00LjggNi4zLTcuMSA5LjUtMjguOSA0MC42LTQ1LjggOTAuMS00NS44IDE0My42IDAgMiAuMSA0IC4xIDYgLjEgLjcgLjEgMS4zIC4xIDIgLjEgMS4zIC4xIDIuNyAuMiA0IDAgLjggLjEgMS41IC4xIDIuMyAwIDEuMyAuMSAyLjUgLjIgMy43IC4xIC44IC4xIDEuNiAuMiAyLjQgLjEgMS4xIC4yIDIuMyAuMyAzLjUgMCAuOCAuMSAxLjYgLjIgMi40IC4xIDEuMiAuMyAyLjQgLjQgMy42IC4xIC44IC4yIDEuNSAuMyAyLjMgLjEgMS4zIC4zIDIuNiAuNSAzLjkgLjEgLjYgLjIgMS4zIC4zIDEuOWwuOSA1LjdjLjEgLjYgLjIgMS4xIC4zIDEuNyAuMyAxLjMgLjUgMi43IC44IDQgLjIgLjggLjMgMS42IC41IDIuNCAuMiAxIC41IDIuMSAuNyAzLjIgLjIgLjkgLjQgMS43IC42IDIuNiAuMiAxIC40IDIgLjcgMyAuMiAuOSAuNSAxLjggLjcgMi43IC4zIDEgLjUgMS45IC44IDIuOSAuMyAuOSAuNSAxLjggLjggMi43IC4yIC45IC41IDEuOSAuOCAyLjhzLjUgMS44IC44IDIuN2MuMyAxIC42IDEuOSAuOSAyLjggLjYgMS42IDEuMSAzLjMgMS43IDQuOSAuNCAxIC43IDEuOSAxIDIuOCAuMyAxIC43IDIgMS4xIDMgLjMgLjggLjYgMS41IC45IDIuM2wxLjIgM2MuMyAuNyAuNiAxLjUgLjkgMi4yIC40IDEgLjkgMiAxLjMgM2wuOSAyLjFjLjUgMSAuOSAyIDEuNCAzIC4zIC43IC42IDEuMyAuOSAyIC41IDEgMSAyLjEgMS41IDMuMSAuMiAuNiAuNSAxLjEgLjggMS43IC42IDEuMSAxLjEgMi4yIDEuNyAzLjMgLjEgLjIgLjIgLjMgLjMgLjUgMi4yIDQuMSA0LjQgOC4yIDYuOCAxMi4yIC4yIC40IC41IC44IC43IDEuMiAuNyAxLjEgMS4zIDIuMiAyIDMuMyAuMyAuNSAuNiAuOSAuOSAxLjQgLjYgMS4xIDEuMyAyLjEgMiAzLjIgLjMgLjUgLjYgLjkgLjkgMS40IC43IDEuMSAxLjQgMi4xIDIuMSAzLjIgLjIgLjQgLjUgLjggLjggMS4yIC43IDEuMSAxLjUgMi4yIDIuMyAzLjMgLjIgLjIgLjMgLjUgLjUgLjcgMzcuNSA1MS43IDk0LjQgODguNSAxNjAgOTkuNCAuOSAuMSAxLjcgLjMgMi42IC40IDEgLjIgMi4xIC40IDMuMSAuNXMxLjkgLjMgMi44IC40YzEgLjIgMiAuMyAzIC40IC45IC4xIDEuOSAuMiAyLjkgLjNzMS45IC4yIDIuOSAuMyAyLjEgLjIgMy4xIC4zYy45IC4xIDEuOCAuMSAyLjcgLjIgMS4xIC4xIDIuMyAuMSAzLjQgLjIgLjggMCAxLjcgLjEgMi41IC4xIDEuMyAwIDIuNiAuMSAzLjkgLjEgLjcgLjEgMS40IC4xIDIuMSAuMSAyIC4xIDQgLjEgNiAuMXM0LS4xIDYtLjFjLjcgMCAxLjQtLjEgMi4xLS4xIDEuMyAwIDIuNiAwIDMuOS0uMSAuOCAwIDEuNy0uMSAyLjUtLjEgMS4xLS4xIDIuMy0uMSAzLjQtLjIgLjkgMCAxLjgtLjEgMi43LS4yIDEtLjEgMi4xLS4yIDMuMS0uM3MxLjktLjIgMi45LS4zYy45LS4xIDEuOS0uMiAyLjktLjNzMi0uMyAzLS40IDEuOS0uMyAyLjgtLjRjMS0uMiAyLjEtLjMgMy4xLS41IC45LS4xIDEuNy0uMyAyLjYtLjQgNjUuNi0xMSAxMjIuNS00Ny43IDE2MC4xLTEwMi40IC4yLS4yIC4zLS41IC41LS43IC44LTEuMSAxLjUtMi4yIDIuMy0zLjMgLjItLjQgLjUtLjggLjgtMS4yIC43LTEuMSAxLjQtMi4xIDIuMS0zLjIgLjMtLjUgLjYtLjkgLjktMS40IC42LTEuMSAxLjMtMi4xIDItMy4yIC4zLS41IC42LS45IC45LTEuNCAuNy0xLjEgMS4zLTIuMiAyLTMuMyAuMi0uNCAuNS0uOCAuNy0xLjIgMi40LTQgNC42LTguMSA2LjgtMTIuMiAuMS0uMiAuMi0uMyAuMy0uNSAuNi0xLjEgMS4xLTIuMiAxLjctMy4zIC4yLS42IC41LTEuMSAuOC0xLjcgLjUtMSAxLTIuMSAxLjUtMy4xIC4zLS43IC42LTEuMyAuOS0yIC41LTEgMS0yIDEuNC0zbC45LTIuMWMuNS0xIC45LTIgMS4zLTMgLjMtLjcgLjYtMS41IC45LTIuMmwxLjItM2MuMy0uOCAuNi0xLjUgLjktMi4zIC40LTEgLjctMiAxLjEtM3MuNy0xLjkgMS0yLjhjLjYtMS42IDEuMi0zLjMgMS43LTQuOSAuMy0xIC42LTEuOSAuOS0yLjhzLjUtMS44IC44LTIuN2MuMi0uOSAuNS0xLjkgLjgtMi44cy42LTEuOCAuOC0yLjdjLjMtMSAuNS0xLjkgLjgtMi45IC4yLS45IC41LTEuOCAuNy0yLjcgLjItMSAuNS0yIC43LTMgLjItLjkgLjQtMS43IC42LTIuNiAuMi0xIC41LTIuMSAuNy0zLjIgLjItLjggLjMtMS42IC41LTIuNCAuMy0xLjMgLjYtMi43IC44LTQgLjEtLjYgLjItMS4xIC4zLTEuN2wuOS01LjdjLjEtLjYgLjItMS4zIC4zLTEuOSAuMS0xLjMgLjMtMi42IC41LTMuOSAuMS0uOCAuMi0xLjUgLjMtMi4zIC4xLTEuMiAuMy0yLjQgLjQtMy42IDAtLjggLjEtMS42IC4yLTIuNCAuMS0xLjEgLjItMi4zIC4zLTMuNSAuMS0uOCAuMS0xLjYgLjItMi40IC4xIDEuNyAuMSAuNSAuMi0uNyAwLS44IC4xLTEuNSAuMS0yLjMgLjEtMS4zIC4yLTIuNyAuMi00IC4xLS43IC4xLTEuMyAuMS0yIC4xLTIgLjEtNCAuMS02IDAtNTMuNS0xNi45LTEwMy00NS44LTE0My43ek00NDggMzcxLjVjLTkuNCAxNS41LTIwLjYgMjkuOS0zMy42IDQyLjktMjAuNiAyMC42LTQ0LjUgMzYuNy03MS4yIDQ4LTEzLjkgNS44LTI4LjIgMTAuMy00Mi45IDEzLjJsMC03NS44YzAtNTguNi04OC42LTU4LjYtODguNiAwbDAgNzUuOGMtMTQuNy0yLjktMjktNy4zLTQyLjktMTMuMi0yNi43LTExLjMtNTAuNi0yNy40LTcxLjItNDgtMTMtMTMtMjQuMi0yNy40LTMzLjYtNDIuOWwwLTcxLjNjMC0yLjEgMS42LTMuNyAzLjctMy43bDIyLjEgMGMyLjEgMCAzLjcgMS42IDMuNyAzLjdsMCAyNS44IDI5LjYgMCAwLTE0NGMwLTIuMSAxLjYtMy43IDMuNy0zLjdsMjIuMSAwYzIuMSAwIDMuNyAxLjYgMy43IDMuN2wwIDI1LjkgMjkuNSAwIDAtMjUuOWMwLTIuMSAxLjYtMy43IDMuNy0zLjdsMjIuMiAwYzIuMSAwIDMuNyAxLjYgMy43IDMuN2wwIDI1LjkgMjkuNSAwIDAtMjUuOWMwLTQuOCA2LjUtMy43IDkuNS0zLjdsMC05MC4yYy00LjQtMi03LjQtNi43LTcuNC0xMS41IDAtMTYuOCAyNS40LTE2LjggMjUuNCAwIDAgNC44LTMgOS40LTcuNCAxMS41bDAgMy45YzYuMy0xLjQgMTIuNy0yLjMgMTkuMi0yLjMgOS40IDAgMTguNCAzLjUgMjYuMyAzLjUgNy4yIDAgMTUuMi0zLjUgMTkuNC0zLjUgMi4xIDAgMy43IDEuNiAzLjcgMy43bDAgNDguNGMwIDUuNi0xOC43IDYuNS0yMi40IDYuNS04LjYgMC0xNi42LTMuNS0yNS40LTMuNS03IDAtMTQuMSAxLjItMjAuOCAyLjhsMCAzMC43YzMgMCA5LjUtMS4xIDkuNSAzLjdsMCAyNS45IDI5LjUgMCAwLTI1LjljMC0yLjEgMS42LTMuNyAzLjctMy43bDIyLjIgMGMyLjEgMCAzLjcgMS42IDMuNyAzLjdsMCAyNS45IDI5LjUgMCAwLTI1LjljMC0yLjEgMS42LTMuNyAzLjctMy43bDIyLjEgMGMyLjEgMCAzLjcgMS42IDMuNyAzLjdsMCAxNDQgMjkuNSAwIDAtMjUuOGMwLTIuMSAxLjYtMy43IDMuNy0zLjdsMjIuMiAwYzIuMSAwIDMuNyAxLjYgMy43IDMuN2wwIDcxLjN6Il19LEdNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJidXJvbW9iZWxleHBlcnRlIixpY29uOls0NDgsNTEyLFtdLCJmMzdmIiwiTTAgMzJsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6TTEyMCAxNTJsLTExMiAwIDAtMTEyIDExMiAwIDAgMTEyek0xNjAgMzJsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6TTI4MCAxNTJsLTExMiAwIDAtMTEyIDExMiAwIDAgMTEyek0zMjAgMzJsMCAxMjggMTI4IDAgMC0xMjgtMTI4IDB6TTQ0MCAxNTJsLTExMiAwIDAtMTEyIDExMiAwIDAgMTEyek0wIDE5MmwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHpNMTIwIDMxMmwtMTEyIDAgMC0xMTIgMTEyIDAgMCAxMTJ6bTQwLTEyMGwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHpNMjgwIDMxMmwtMTEyIDAgMC0xMTIgMTEyIDAgMCAxMTJ6bTQwLTEyMGwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHpNNDQwIDMxMmwtMTEyIDAgMC0xMTIgMTEyIDAgMCAxMTJ6TTAgMzUybDAgMTI4IDEyOCAwIDAtMTI4LTEyOCAwek0xMjAgNDcybC0xMTIgMCAwLTExMiAxMTIgMCAwIDExMnptNDAtMTIwbDAgMTI4IDEyOCAwIDAtMTI4LTEyOCAwek0yODAgNDcybC0xMTIgMCAwLTExMiAxMTIgMCAwIDExMnptNDAtMTIwbDAgMTI4IDEyOCAwIDAtMTI4LTEyOCAweiJdfSxZTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmlsaWJpbGkiLGljb246WzUxMiw1MTIsW10sImUzZDkiLCJNNDg4LjYgMTA0LjFjMTYuNyAxOC4xIDI0LjQgMzkuNyAyMy4zIDY1LjdsMCAyMDIuNGMtLjQgMjYuNC05LjIgNDguMS0yNi41IDY1LjEtMTcuMiAxNy0zOS4xIDI1LjktNjUuNSAyNi43TDkyIDQ2NGMtMjYuNC0uOC00OC4yLTkuOC02NS4zLTI3LjItMTcuMS0xNy40LTI2LTQwLjMtMjYuNy02OC42TDAgMTY5LjhjLjgtMjYgOS43LTQ3LjYgMjYuNy02NS43IDE3LjEtMTYuMyAzOC44LTI1LjMgNjUuMy0yNi4xbDI5LjQgMC0yNS40LTI1LjhjLTUuNy01LjctOC42LTEzLTguNi0yMS44czIuOS0xNi4xIDguNi0yMS44IDEzLTguNiAyMS45LTguNiAxNi4xIDIuOSAyMS45IDguNmw3My4zIDY5LjQgODggMCA3NC41LTY5LjRDMzgxLjcgMi45IDM4OS4yIDAgMzk4IDBzMTYuMSAyLjkgMjEuOSA4LjZjNS43IDUuNyA4LjYgMTMgOC42IDIxLjhzLTIuOSAxNi4xLTguNiAyMS44TDM5NC42IDc4IDQyMy45IDc4YzI2LjQgLjggNDggOS44IDY0LjcgMjYuMXptLTM4LjggNjkuN2MtLjQtOS42LTMuNy0xNy40LTEwLjctMjMuNS01LjItNi4xLTE0LTkuNC0yMi43LTkuOGwtMzIwLjQgMGMtOS42IC40LTE3LjQgMy43LTIzLjYgOS44LTYuMSA2LjEtOS40IDEzLjktOS44IDIzLjVsMCAxOTQuNGMwIDkuMiAzLjMgMTcgOS44IDIzLjVzMTQuNCA5LjggMjMuNiA5LjhsMzIwLjQgMGM5LjIgMCAxNy0zLjMgMjMuMy05LjhzOS43LTE0LjMgMTAuMS0yMy41bDAtMTk0LjR6TTE4NS41IDIxNi41YzYuMyA2LjMgOS43IDE0LjEgMTAuMSAyMy4ybDAgMzMuM2MtLjQgOS4yLTMuNyAxNi45LTkuOCAyMy4yLTYuMiA2LjMtMTQgOS41LTIzLjYgOS41cy0xNy41LTMuMi0yMy42LTkuNS05LjQtMTQtOS44LTIzLjJsMC0zMy4zYy40LTkuMSAzLjgtMTYuOSAxMC4xLTIzLjJzMTMuMi05LjYgMjMuMy0xMGM5LjIgLjQgMTcgMy43IDIzLjMgMTB6bTE5MS41IDBjNi4zIDYuMyA5LjcgMTQuMSAxMC4xIDIzLjJsMCAzMy4zYy0uNCA5LjItMy43IDE2LjktOS44IDIzLjJzLTE0IDkuNS0yMy42IDkuNS0xNy40LTMuMi0yMy42LTkuNWMtNy02LjMtOS40LTE0LTkuNy0yMy4ybDAtMzMuM2MuMy05LjEgMy43LTE2LjkgMTAtMjMuMnMxNC4xLTkuNiAyMy4zLTEwYzkuMiAuNCAxNyAzLjcgMjMuMyAxMHoiXX0sS010PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5lb3MiLGljb246WzQ0OCw1MTIsW10sImY2MTIiLCJNMzgzLjggNTEybC05NS4xIDAtMTA4LjItMTU0LjUgMCA5MS4xLTg2LjQgNjMuNC05Ny43IDAgMC00ODIuMiA0MC41LTI5LjggMTA4IDAgMTIzLjcgMTc2LjEgMC0xMTIuNyA4Ni40LTYzLjQgOTcuNyAwIDAgNDYxLjUtNjguOSA1MC41ek03LjIgMzUuM2wwIDQ2MC43IDcyLTUyLjkgMC0yNDkuMSAyMTUuNSAzMDcuNiA4NC44IDAgNTIuNC0zOC4yLTc4LjMgMC0zMTYuMS00NTAuNS0zMC4yIDIyLjN6TTg5LjcgNTAxLjlsODAtNTguOCAwLTEwMS03OS44LTExNC40IDAgMjIwLjktNzIuNiA1My4zIDcyLjMgMCAwIDB6TTQ5IDEwLjhsMzEwLjYgNDQyLjYgODIuNCAwIDAtNDQyLjYtNzkuOCAwIDAgMzE3LjYtMjIyLjktMzE3LjYtOTAuMyAwek0yNzkuNCAxOTEuNmw3MiAxMDIuOCAwLTI3OC41LTcyIDUzIDAgMTIyLjd6Il19LFpNdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkZXYiLGljb246WzQ0OCw1MTIsW10sImY2Y2MiLCJNMTIwLjEgMjA4LjNjLTMuOS0yLjktNy44LTQuMy0xMS42LTQuM2wtMTcuNCAwIDAgMTA0LjUgMTcuNCAwYzMuOSAwIDcuOC0xLjQgMTEuNi00LjNzNS44LTcuMyA1LjgtMTMuMWwwLTY5LjdjMC01LjgtMi0xMC4yLTUuOC0xMy4xek00MDQuMSAzMkw0My45IDMyQzE5LjcgMzIgLjEgNTEuNiAwIDc1LjhMMCA0MzYuMkMuMSA0NjAuNCAxOS43IDQ4MCA0My45IDQ4MGwzNjAuMiAwYzI0LjIgMCA0My44LTE5LjYgNDMuOS00My44bDAtMzYwLjRDNDQ3LjkgNTEuNiA0MjguMyAzMiA0MDQuMSAzMnpNMTU0LjIgMjkxLjJjMCAxOC44LTExLjYgNDcuMy00OC40IDQ3LjNsLTQ2LjQgMCAwLTE2NS41IDQ3LjQgMGMzNS40IDAgNDcuNCAyOC41IDQ3LjQgNDcuM2wwIDcwLjl6bTEwMC43LTg4LjdsLTUzLjMgMCAwIDM4LjQgMzIuNiAwIDAgMjkuNi0zMi42IDAgMCAzOC40IDUzLjMgMCAwIDI5LjYtNjIuMiAwYy0xMS4yIC4zLTIwLjQtOC41LTIwLjctMTkuN2wwLTEyNS4xYy0uMy0xMS4xIDguNi0yMC40IDE5LjctMjAuN2w2My4yIDAgMCAyOS41ek0zNTguNSAzMTcuOGMtMTMuMiAzMC43LTM2LjggMjQuNi00Ny40IDBsLTM4LjUtMTQ0LjggMzIuNiAwIDI5LjcgMTEzLjcgMjkuNi0xMTMuNyAzMi42IDAtMzguNSAxNDQuOHoiXX0sWE10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImhvdGphciIsaWNvbjpbNTEyLDUxMixbXSwiZjNiMSIsIk0zNjEuOCAwYzAgMTMxLjYtODAuNyAxNzYuOC0xNDAuMiAyMDkuNC0uNiAuMy0xLjEgLjYtMS42IC45LTUzLjggMzAuMi04OC43IDQ5LjgtODkuNiAxMjJsLTk4LjEgMGMwLTEzMS41IDgwLjctMTc2LjcgMTQwLjItMjA5LjMgNTQuOC0yOS44IDkwLjMtNTAgOTAuMy0xMjNsOTkgMHpNMzAxLjMgMzAyLjZjNTQuOC0yOS44IDkwLjMtNTAgOTAuMy0xMjNsOTggMGMwIDEzMS42LTgwLjcgMTc2LjctMTQwLjIgMjA5LjQtNTQuOCAyOS44LTkwLjMgNTAtOTAuMyAxMjNsLTk4IDBjMC0xMzEuNiA4MC43LTE3Ni44IDE0MC4yLTIwOS40eiJdfSxRTXQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZG9jaHViIixpY29uOls0NDgsNTEyLFtdLCJmMzk0IiwiTTQxMy45IDE2MEwyNzIgMTYwIDI3MiAxOS42IDQxMy45IDE2MHpNMzIwIDE5MmwwIDEzMGMwIDY2LjgtMzYuNSAxMDAuMS0xMTMuMyAxMDAuMWwtOTQuNyAwIDAtMzM3LjMgOTQuNyAwYzEyIDAgMjMuMSAuOCAzMy4xIDIuNWwwLTg0QzIyOC45IDEuMSAyMTcuNCAwIDIwNS4yIDBMMTYgMCAxNiA1MTIgMjA1LjIgNTEyQzM0NS43IDUxMiA0MTYgNDQ3LjQgNDE2IDMxOC4xbDAtMTI2LjEtOTYgMHoiXX0sSk10PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InZpbWVvIixpY29uOls0NDgsNTEyLFtdLCJmNDBhIiwiTTQwMy4yIDMyTDQ0LjggMzJDMjAuMSAzMiAwIDUyLjEgMCA3Ni44TDAgNDM1LjJDMCA0NTkuOSAyMC4xIDQ4MCA0NC44IDQ4MGwzNTguNCAwYzI0LjcgMCA0NC44LTIwLjEgNDQuOC00NC44bDAtMzU4LjRDNDQ4IDUyLjEgNDI3LjkgMzIgNDAzLjIgMzJ6TTM3NyAxODAuOGMtMS40IDMxLjUtMjMuNCA3NC43LTY2IDEyOS40LTQ0IDU3LjItODEuMyA4NS44LTExMS43IDg1LjgtMTguOSAwLTM0LjgtMTcuNC00Ny45LTUyLjMtMjUuNS05My4zLTM2LjQtMTQ4LTU3LjQtMTQ4LTIuNCAwLTEwLjkgNS4xLTI1LjQgMTUuMkw1My40IDE5MS4zYzM3LjMtMzIuOCA3Mi45LTY5LjIgOTUuMi03MS4yIDI1LjItMi40IDQwLjcgMTQuOCA0Ni41IDUxLjcgMjAuNyAxMzEuMiAyOS45IDE1MSA2Ny42IDkxLjYgMTMuNS0yMS40IDIwLjgtMzcuNyAyMS44LTQ4LjkgMy41LTMzLjItMjUuOS0zMC45LTQ1LjgtMjIuNCAxNS45LTUyLjEgNDYuMy03Ny40IDkxLjItNzYgMzMuMyAuOSA0OSAyMi41IDQ3LjEgNjQuN3oiXX0sZWt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im1heGNkbiIsaWNvbjpbNTEyLDUxMixbXSwiZjEzNiIsIk00NjEuMSA0NDIuN2wtOTcuNCAwIDUxLjktMjQyLjdjMi4zLTEwLjIgLjktMTkuNS00LjQtMjUuNy01LTYuMS0xMy43LTkuNi0yNC4yLTkuNmwtNDkuMyAwLTU5LjUgMjc4LTk3LjQgMCA1OS41LTI3OC04My40IDAtNTkuNSAyNzgtOTcuNCAwIDU5LjUtMjc4LTQ0LjYtOTUuNCAzNzIuMSAwYzM5LjQgMCA3NS4zIDE2LjMgOTguMyA0NC45IDIzLjMgMjguNiAzMS44IDY3LjQgMjMuNiAxMDUuOUw0NjEuMSA0NDIuN3oiXX0sR3VlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1mb250LWF3ZXNvbWUtc3Ryb2tlIixpY29uOls0NDgsNTEyLFsiZm9udC1hd2Vzb21lLWFsdCJdLCJmMzVjIiwiTTY0IDY0QzQ2LjMgNjQgMzIgNzguMyAzMiA5NmwwIDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMkw2NCA2NHpNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTE1NCA1OGMwIDkuMy00LjggMTcuNC0xMi4xIDIybDE4OC45IDBjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgMS44LS40IDMuNy0xLjEgNS40TDMxMiAyNjQgMzQyLjkgMzMzLjRjLjggMS43IDEuMSAzLjUgMS4xIDUuNCAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJsLTE4Ni44IDAgMCAzMi0zMiAwIDAtMjA5LjVjLTYuMS00LjgtMTAtMTIuMi0xMC0yMC41IDAtMTQuNCAxMS42LTI2IDI2LTI2czI2IDExLjYgMjYgMjZ6Il19LHRrdD1HdWUsYWt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNwZWFrYXAiLGljb246WzQ0OCw1MTIsW10sImYzZjMiLCJNNjQuNCAzOTEuOEMtMTUgMzAzLjYtNy42IDE2Ny40IDgxLjEgODcuNnMyMjQuOC03MyAzMDQuMiAxNS4yIDcyIDIyNC40LTE2LjYgMzA0LjFjLTE4LjcgMTYuOSA2NCA0My4xIDQyIDUyLjMtODIuMSAzNC4yLTI1My45IDM1LTM0Ni4yLTY3LjVsMCAwek0yNzcuNyAxODAuMmwzOC41LTQwLjljLTkuNi04LjktMzItMjYuOC03Ni4yLTI3LjYtNTIuMy0uOS05NS45IDI4LjMtOTYuOCA4MC0uMiAxMS4zIC4zIDM2LjcgMjkuNCA1NC44IDM0LjUgMjEuNCA4Ni41IDIxLjUgODYgNTIuMy0uNCAyMS4zLTI2LjQgMjUuOC0zOC42IDI1LjYtMyAwLTMwLjItLjUtNDcuNi0yNC42bC00MCA0Mi42YzI4LjIgMjcgNTkgMzIuNiA4My41IDMzIDEwLjIgLjIgOTYuNCAuMyA5Ny44LTgxIC4zLTE1LjgtMi4xLTM5LjctMjguOS01Ni42LTM0LjQtMjEuNi04NS0xOS40LTg0LjQtNDkuNyAuNC0yMy4zIDMxLTI1LjQgMzcuNS0yNS4zIC40IDAgMjYuNiAuMyAzOS42IDE3LjRsMCAweiJdfSxya3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmFudGFzeS1mbGlnaHQtZ2FtZXMiLGljb246WzUxMiw1MTIsW10sImY2ZGMiLCJNMjU2IDMyLjlMMzIuOSAyNTYgMjU2IDQ3OS4xIDQ3OS4xIDI1NiAyNTYgMzIuOXpNODguMyAyNTUuOGMyLTIgMTEuOS0xMi4zIDk2LjUtOTcuNSA0MS40LTQxLjggODYuMi00My44IDExOS44LTE4LjcgMjQuNiAxOC40IDYyLjEgNTguOSA2Mi4xIDU5IC43IC43IDEuMSAyLjkgLjYgMy40LTExLjMgMTEuOC0yMi43IDIzLjUtMzMuNSAzNC43LTM0LjItMzIuMy00MC41LTM4LjItNDguNS00NC0xNy44LTEyLjctNDEuNC0xMC4xLTU3IDUuMS0yLjIgMi4xLTEuOCAzLjQgLjEgNS40IDIuOSAyLjkgMjguMSAyOC4zIDM1LjEgMzUuOC0xMS45IDExLjYtMjMuNyAyMy0zNS43IDM0LjctMTItMTIuNS0yNC41LTI1LjUtMzYuNS0zOC4xLTIxLjQgMjEuMS00MS43IDQxLjEtNjEuOCA2MUw4OC4zIDI1NS44ek0zMjMuMiAzNTcuNGMtMzUuNSAzNS40LTc4LjEgMzguMS0xMDcgMjAuNS0yMi4xLTEzLjUtMzkuNC0zMi4xLTcyLjktNjYuOCAxMi0xMi40IDIzLjgtMjQuNCAzNS40LTM2LjMgMzMgMzEuOSAzNy4xIDM2IDQ0LjcgNDIuMSAxOC41IDE0LjcgNDIuNSAxMy43IDU5LjMtMS44IDMuNy0zLjQgMy43LTMuNiAuMS03LjItMTAuNi0xMC43LTIxLjItMjEuNC0zMS44LTMyLjItMS4zLTEuMy0zLTIuNS0uOC00LjcgMTAuOC0xMC43IDIxLjUtMjEuNSAzMi4yLTMyLjMgLjMtLjMgLjYtLjQgMS45LTEuMSAxMi40IDEyLjkgMjQuOSAyNS45IDM3LjIgMzguOCAyMS0yMC43IDQxLjItNDAuNyA2MS4zLTYwLjQgMTMuNyAxMy40IDI3LjEgMjYuNiA0MC45IDQwLTIwLjIgMjAuOS04MS43IDgyLjctMTAwLjUgMTAxLjV6TTI1NiAwTDAgMjU2IDI1NiA1MTIgNTEyIDI1NiAyNTYgMHpNMTYgMjU2TDI1NiAxNiA0OTYgMjU2IDI1NiA0OTYgMTYgMjU2eiJdfSxza3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGludXgiLGljb246WzQ0OCw1MTIsW10sImYxN2MiLCJNMjIwLjkgMTIzLjNjMSAuNSAxLjggMS43IDMgMS43IDEuMSAwIDIuOC0uNCAyLjktMS41IC4yLTEuNC0xLjktMi4zLTMuMi0yLjktMS43LS43LTMuOS0xLTUuNS0uMS0uNCAuMi0uOCAuNy0uNiAxLjEgLjMgMS4zIDIuMyAxLjEgMy40IDEuN3pNMTk5IDEyNWMxLjIgMCAyLTEuMiAzLTEuNyAxLjEtLjYgMy4xLS40IDMuNS0xLjYgLjItLjQtLjItLjktLjYtMS4xLTEuNi0uOS0zLjgtLjYtNS41IC4xLTEuMyAuNi0zLjQgMS41LTMuMiAyLjkgLjEgMSAxLjggMS41IDIuOCAxLjR6TTQyMCA0MDMuOGMtMy42LTQtNS4zLTExLjYtNy4yLTE5LjctMS44LTguMS0zLjktMTYuOC0xMC41LTIyLjQtMS4zLTEuMS0yLjYtMi4xLTQtMi45LTEuMy0uOC0yLjctMS41LTQuMS0yIDkuMi0yNy4zIDUuNi01NC41LTMuNy03OS4xLTExLjQtMzAuMS0zMS4zLTU2LjQtNDYuNS03NC40LTE3LjEtMjEuNS0zMy43LTQxLjktMzMuNC03MiAuNS00NS45IDUuMS0xMzEuMi03NS44LTEzMS4zLTEwMi40LS4yLTc2LjggMTAzLjQtNzcuOSAxMzUuMi0xLjcgMjMuNC02LjQgNDEuOC0yMi41IDY0LjctMTguOSAyMi41LTQ1LjUgNTguOC01OC4xIDk2LjctNiAxNy45LTguOCAzNi4xLTYuMiA1My4zLTYuNSA1LjgtMTEuNCAxNC43LTE2LjYgMjAuMi00LjIgNC4zLTEwLjMgNS45LTE3IDguM3MtMTQgNi0xOC41IDE0LjVjLTIuMSAzLjktMi44IDguMS0yLjggMTIuNCAwIDMuOSAuNiA3LjkgMS4yIDExLjggMS4yIDguMSAyLjUgMTUuNyAuOCAyMC44LTUuMiAxNC40LTUuOSAyNC40LTIuMiAzMS43IDMuOCA3LjMgMTEuNCAxMC41IDIwLjEgMTIuMyAxNy4zIDMuNiA0MC44IDIuNyA1OS4zIDEyLjUgMTkuOCAxMC40IDM5LjkgMTQuMSA1NS45IDEwLjQgMTEuNi0yLjYgMjEuMS05LjYgMjUuOS0yMC4yIDEyLjUtLjEgMjYuMy01LjQgNDguMy02LjYgMTQuOS0xLjIgMzMuNiA1LjMgNTUuMSA0LjEgLjYgMi4zIDEuNCA0LjYgMi41IDYuN2wwIC4xYzguMyAxNi43IDIzLjggMjQuMyA0MC4zIDIzIDE2LjYtMS4zIDM0LjEtMTEgNDguMy0yNy45IDEzLjYtMTYuNCAzNi0yMy4yIDUwLjktMzIuMiA3LjQtNC41IDEzLjQtMTAuMSAxMy45LTE4LjMgLjQtOC4yLTQuNC0xNy4zLTE1LjUtMjkuN3pNMjIzLjggODcuM2M5LjgtMjIuMiAzNC4yLTIxLjggNDQtLjQgNi41IDE0LjIgMy42IDMwLjktNC4zIDQwLjQtMS42LS44LTUuOS0yLjYtMTIuNi00LjkgMS4xLTEuMiAzLjEtMi43IDMuOS00LjYgNC44LTExLjgtLjItMjctOS4xLTI3LjMtNy4zLS41LTEzLjkgMTAuOC0xMS44IDIzLTQuMS0yLTkuNC0zLjUtMTMtNC40LTEtNi45LS4zLTE0LjYgMi45LTIxLjh6TTE4My4xIDc1LjhjMTAuMSAwIDIwLjggMTQuMiAxOS4xIDMzLjUtMy41IDEtNy4xIDIuNS0xMC4yIDQuNiAxLjItOC45LTMuMy0yMC4xLTkuNi0xOS42LTguNCAuNy05LjggMjEuMi0xLjggMjguMSAxIC44IDEuOS0uMi01LjkgNS41LTE1LjYtMTQuNi0xMC41LTUyLjEgOC40LTUyLjF6bS0xMy42IDYwLjdjNi4yLTQuNiAxMy42LTEwIDE0LjEtMTAuNSA0LjctNC40IDEzLjUtMTQuMiAyNy45LTE0LjIgNy4xIDAgMTUuNiAyLjMgMjUuOSA4LjkgNi4zIDQuMSAxMS4zIDQuNCAyMi42IDkuMyA4LjQgMy41IDEzLjcgOS43IDEwLjUgMTguMi0yLjYgNy4xLTExIDE0LjQtMjIuNyAxOC4xLTExLjEgMy42LTE5LjggMTYtMzguMiAxNC45LTMuOS0uMi03LTEtOS42LTIuMS04LTMuNS0xMi4yLTEwLjQtMjAtMTUtOC42LTQuOC0xMy4yLTEwLjQtMTQuNy0xNS4zLTEuNC00LjkgMC05IDQuMi0xMi4zem0zLjMgMzM0Yy0yLjcgMzUuMS00My45IDM0LjQtNzUuMyAxOC0yOS45LTE1LjgtNjguNi02LjUtNzYuNS0yMS45LTIuNC00LjctMi40LTEyLjcgMi42LTI2LjRsMC0uMmMyLjQtNy42IC42LTE2LS42LTIzLjktMS4yLTcuOC0xLjgtMTUgLjktMjAgMy41LTYuNyA4LjUtOS4xIDE0LjgtMTEuMyAxMC4zLTMuNyAxMS44LTMuNCAxOS42LTkuOSA1LjUtNS43IDkuNS0xMi45IDE0LjMtMTggNS4xLTUuNSAxMC04LjEgMTcuNy02LjkgOC4xIDEuMiAxNS4xIDYuOCAyMS45IDE2bDE5LjYgMzUuNmM5LjUgMTkuOSA0My4xIDQ4LjQgNDEgNjguOXptLTEuNC0yNS45Yy00LjEtNi42LTkuNi0xMy42LTE0LjQtMTkuNiA3LjEgMCAxNC4yLTIuMiAxNi43LTguOSAyLjMtNi4yIDAtMTQuOS03LjQtMjQuOS0xMy41LTE4LjItMzguMy0zMi41LTM4LjMtMzIuNS0xMy41LTguNC0yMS4xLTE4LjctMjQuNi0yOS45cy0zLTIzLjMtLjMtMzUuMmM1LjItMjIuOSAxOC42LTQ1LjIgMjcuMi01OS4yIDIuMy0xLjcgLjggMy4yLTguNyAyMC44LTguNSAxNi4xLTI0LjQgNTMuMy0yLjYgODIuNCAuNi0yMC43IDUuNS00MS44IDEzLjgtNjEuNSAxMi0yNy40IDM3LjMtNzQuOSAzOS4zLTExMi43IDEuMSAuOCA0LjYgMy4yIDYuMiA0LjEgNC42IDIuNyA4LjEgNi43IDEyLjYgMTAuMyAxMi40IDEwIDI4LjUgOS4yIDQyLjQgMS4yIDYuMi0zLjUgMTEuMi03LjUgMTUuOS05IDkuOS0zLjEgMTcuOC04LjYgMjIuMy0xNSA3LjcgMzAuNCAyNS43IDc0LjMgMzcuMiA5NS43IDYuMSAxMS40IDE4LjMgMzUuNSAyMy42IDY0LjYgMy4zLS4xIDcgLjQgMTAuOSAxLjQgMTMuOC0zNS43LTExLjctNzQuMi0yMy4zLTg0LjktNC43LTQuNi00LjktNi42LTIuNi02LjUgMTIuNiAxMS4yIDI5LjIgMzMuNyAzNS4yIDU5IDIuOCAxMS42IDMuMyAyMy43IC40IDM1LjcgMTYuNCA2LjggMzUuOSAxNy45IDMwLjcgMzQuOC0yLjItLjEtMy4yIDAtNC4yIDAgMy4yLTEwLjEtMy45LTE3LjYtMjIuOC0yNi4xLTE5LjYtOC42LTM2LTguNi0zOC4zIDEyLjUtMTIuMSA0LjItMTguMyAxNC43LTIxLjQgMjcuMy0yLjggMTEuMi0zLjYgMjQuNy00LjQgMzkuOS0uNSA3LjctMy42IDE4LTYuOCAyOS0zMi4xIDIyLjktNzYuNyAzMi45LTExNC4zIDcuMnptMjU3LjQtMTEuNWMtLjkgMTYuOC00MS4yIDE5LjktNjMuMiA0Ni41LTEzLjIgMTUuNy0yOS40IDI0LjQtNDMuNiAyNS41cy0yNi41LTQuOC0zMy43LTE5LjNjLTQuNy0xMS4xLTIuNC0yMy4xIDEuMS0zNi4zIDMuNy0xNC4yIDkuMi0yOC44IDkuOS00MC42IC44LTE1LjIgMS43LTI4LjUgNC4yLTM4LjcgMi42LTEwLjMgNi42LTE3LjIgMTMuNy0yMS4xIC4zLS4yIC43LS4zIDEtLjUgLjggMTMuMiA3LjMgMjYuNiAxOC44IDI5LjUgMTIuNiAzLjMgMzAuNy03LjUgMzguNC0xNi4zIDktLjMgMTUuNy0uOSAyMi42IDUuMSA5LjkgOC41IDcuMSAzMC4zIDE3LjEgNDEuNiAxMC42IDExLjYgMTQgMTkuNSAxMy43IDI0LjZ6TTE3My40IDE0OC43YzIgMS45IDQuNyA0LjUgOCA3LjEgNi42IDUuMiAxNS44IDEwLjYgMjcuMyAxMC42IDExLjYgMCAyMi41LTUuOSAzMS44LTEwLjggNC45LTIuNiAxMC45LTcgMTQuOC0xMC40czUuOS02LjMgMy4xLTYuNi0yLjYgMi42LTYgNS4xYy00LjQgMy4yLTkuNyA3LjQtMTMuOSA5LjgtNy40IDQuMi0xOS41IDEwLjItMjkuOSAxMC4ycy0xOC43LTQuOC0yNC45LTkuN2MtMy4xLTIuNS01LjctNS03LjctNi45LTEuNS0xLjQtMS45LTQuNi00LjMtNC45LTEuNC0uMS0xLjggMy43IDEuNyA2LjV6Il19LGlrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjb3R0b24tYnVyZWF1IixpY29uOls1MTIsNTEyLFtdLCJmODllIiwiTTQ3NC4zIDMzMC40QzQ1MC42IDQyMi4zIDM4MC4xIDQ3NSAyNzIuNCA0NzguOGwwLTQ5LjJjMC00OCAyNi40LTc0LjQgNzQuNC03NC40IDYyIDAgOTkuMi0zNy4yIDk5LjItOTkuMiAwLTYxLjQtMzYuNS05OC4zLTk3LjQtOTkuMS0zMy02OS4zLTE0Ni41LTY0LjctMTc3LjIgMC02MC45IC44LTk3LjQgMzcuNy05Ny40IDk5LjEgMCA2Mi4xIDM3LjMgOTkuNCA5OS40IDk5LjQgNDggMCA3NC42IDI2LjIgNzQuNiA3NC40bDAgNDkuMmMtMTM0LjQtNS0yMTEuMS04NS4xLTIxMS4xLTIyMyAwLTE0MS44IDgxLjQtMjIzLjIgMjIzLjItMjIzLjIgMTE0LjggMCAxODkuOCA1My4yIDIxNC43IDE0OC44bDI1LjMgMEM0NzMuOSA3MS41IDM4OC4yIDggMjU5LjggOCAxMDUgOCAxMiAxMDEuMiAxMiAyNTUuOCAxMiA0MTEuMSAxMDUuMiA1MDQuMyAyNTkuOCA1MDQgMzg4LjEgNTA0IDQ3My43IDQ0MC4yIDQ5OS41IDMzMC40bC0yNS4yIDB6TTM1NyAxODIuM2M0MS40IDMuNCA2NC4yIDI5IDY0LjIgNzMuNyAwIDQ4LTI2LjQgNzQuNC03NC40IDc0LjQtMjguNiAwLTQ5LjMtOS42LTYxLjYtMjcuMyA4My4xLTE2LjUgNzUuNi05OS43IDcxLjgtMTIwLjd6bS04MS43IDk3LjRjLTIuNS0xMC4zLTE2LjMtODcgNTYuMi05NyAyLjMgMTAuMSAxNi41IDg3LjEtNTYuMyA5N2wwIDB6TTI2MCAxMzJjMjguNiAwIDQ5IDkuNyA2MS40IDI3LjYtMjguNCA1LjUtNDkuNCAyMC42LTYxLjYgNDMuNC0xMi4yLTIyLjktMzMuMi0zOC02MS42LTQzLjQgMTIuNC0xNy43IDMzLjMtMjcuNCA2MS42LTI3LjRsLjItLjN6bS03MS41IDUwLjdjNzMuMiAxMC42IDU4LjkgODYuOCA1Ni41IDk3LTcyLjQtOS44LTU5LTg3LTU2LjItOTdsLS4yIDB6TTE3My4yIDMzMC40Yy00OCAwLTc0LjQtMjYuNC03NC40LTc0LjQgMC00NC40IDIyLjktNzAgNjQuMi03My43LTYuOCAzNy4yLTEuNCAxMDYuNSA3MS42IDEyMC43LTEyLjEgMTcuNi0zMi44IDI3LjMtNjEuMSAyNy4zbC0uMyAwem01My4yIDEyLjRjMTQuMy03LjYgMjYtMTkuMyAzMy42LTMzLjUgNy44IDE0LjUgMTkuMyAyNS41IDMzLjggMzMuNS0xNC40IDcuNi0yNi4xIDE5LjQtMzMuNiAzMy44LTgtMTQuNS0xOS4xLTI2LjItMzMuNi0zMy44bC0uMyAweiJdfSxva3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZ29vZ2xlLXdhbGxldCIsaWNvbjpbNDQ4LDUxMixbXSwiZjFlZSIsIk0xNTYuOCAxMjYuOGMzNy42IDYwLjYgNjQuMiAxMTMuMSA4NC4zIDE2Mi41LTguMyAzMy44LTE4LjggNjYuNS0zMS4zIDk4LjMtMTMuMi01Mi4zLTI2LjUtMTAxLjMtNTYtMTQ4LjUgNi41LTM2LjQgMi4zLTczLjYgMy0xMTIuM3pNMTA5LjMgMjAwbC05My4yIDBjLTYuNSAwLTEwLjUgNy41LTYuNSAxMi43IDQyLjIgNTQuMyA3MS43IDExNy44IDkxLjcgMTg3LjNsMTAzLjUgMGMtMTYuMi02OS43LTM4LjctMTMzLjctODIuNS0xOTMuNS0zLTQtOC02LjUtMTMtNi41em00Ny44LTg4YzY4LjUgMTA4IDEzMCAyMzQuNSAxMzguMiAzNjhMNDA5IDQ4MGMtMTItMTM4LTY4LjQtMjY1LTE0My4yLTM2OGwtMTA4LjcgMHpNNDA4LjkgNDMuNWMtMS44LTYuOC04LjItMTEuNS0xNS4yLTExLjVsLTg4LjMgMGMtNS4zIDAtOSA1LTcuOCAxMC4zIDEzLjIgNDYuNSAyMi4zIDk1LjUgMjYuNSAxNDYgNDguMiA4Ni4yIDc5LjcgMTc4LjMgOTAuNiAyNzAuOCAxNS44LTYwLjUgMjUuMy0xMzMuNSAyNS4zLTIwMyAwLTczLjYtMTIuMS0xNDUuMS0zMS4xLTIxMi42eiJdfSxua3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm91cnNxdWFyZSIsaWNvbjpbMzg0LDUxMixbXSwiZjE4MCIsIk0zMzEuMSAzTDU3LjkgM0MyMC40IDMgOCAzMS4zIDggNDkuMUw4IDQ4Mi45YzAgMjAuMyAxMi4xIDI3LjcgMTguMiAzMC4xIDYuMiAyLjUgMjIuOCA0LjYgMzIuOS03LjEgMTI4LjktMTQ5LjQgMTMxLjEtMTUxLjkgMTMxLjEtMTUxLjkgMy4xLTMuNCAzLjQtMy4xIDYuOC0zLjFsODMuNCAwYzM1LjEgMCA0MC42LTI1LjIgNDQuMy0zOS43bDQ4LjYtMjQzQzM4MS44IDI1LjggMzcxLjEgMyAzMzEuMSAzek0zMTQuOCA3Ni44bC0xMS40IDU5LjdjLTEuMiA2LjUtOS41IDEzLjItMTYuOSAxMy4ybC0xMDYuNCAwYy0xMiAwLTIwLjYgOC4zLTIwLjYgMjAuM2wwIDEzYzAgMTIgOC42IDIwLjYgMjAuNiAyMC42bDkwLjQgMGM4LjMgMCAxNi42IDkuMiAxNC44IDE4LjItMS44IDguOS0xMC41IDUzLjgtMTEuNCA1OC44LS45IDQuOS02LjggMTMuNS0xNi45IDEzLjVsLTczLjUgMGMtMTMuNSAwLTE3LjIgMS44LTI2LjUgMTIuNiAwIDAtOC45IDExLjQtODkuNSAxMDguMy0uOSAuOS0xLjggLjYtMS44LS4zbDAtMzM4LjhjMC03LjcgNi44LTE2LjYgMTYuNi0xNi42bDIxOSAwYzguMiAwIDE1LjYgNy43IDEzLjUgMTcuNXoiXX0sbGt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNoaXJ0c2luYnVsayIsaWNvbjpbNDQ4LDUxMixbXSwiZjIxNCIsIk0xMDAgNDEwLjNsMzAuNiAxMy40IDQuNC05LjktMzAuNi0xMy40LTQuNCA5Ljl6bTM5LjQgMTcuNWwzMC42IDEzLjQgNC40LTkuOS0zMC42LTEzLjQtNC40IDkuOXptMTcyLjEtMTRsNC40IDkuOSAzMC42LTEzLjQtNC40LTkuOS0zMC42IDEzLjR6TTE3OS4xIDQ0NWwzMC4zIDEzLjcgNC40LTkuOS0zMC4zLTEzLjQtNC40IDkuNnpNNjAuNCAzOTIuOGwzMC42IDEzLjQgNC40LTkuNi0zMC42LTEzLjctNC40IDkuOXptMjExLjQgMzguNWw0LjQgOS45IDMwLjYtMTMuNC00LjQtOS45LTMwLjYgMTMuNHptLTM5LjMgMTcuNWw0LjQgOS45IDMwLjYtMTMuNy00LjQtOS42LTMwLjYgMTMuNHptMTE4LjQtNTIuMmw0LjQgOS42IDMwLjYtMTMuNC00LjQtOS45LTMwLjYgMTMuN3pNMTcwIDQ2LjZsLTMzLjUgMCAwIDEwLjUgMzMuNSAwIDAtMTAuNXptLTQ3LjIgMGwtMzMuNiAwIDAgMTAuNSAzMy41IDAgLjEtMTAuNXptLTQ3LjMgMGwtMzMuMiAwIDAgMTAuNSAzMy4zIDAtLjEtMTAuNXptMTQxLjUgMGwtMzMuMiAwIDAgMTAuNSAzMy4yIDAgMC0xMC41em05NC41IDBsLTMzLjUgMCAwIDEwLjUgMzMuNSAwIDAtMTAuNXptNDcuMyAwbC0zMy41IDAgMCAxMC41IDMzLjUgMCAwLTEwLjV6bS05NC42IDBsLTMzLjIgMCAwIDEwLjUgMzMuMiAwIDAtMTAuNXptMTQxLjUgMGwtMzMuMyAwIDAgMTAuNSAzMy4zIDAgMC0xMC41ek01Mi44IDM1MS4xbC0xMC44IDAgMCAzMy41IDEwLjggMCAwLTMzLjV6bTcwLTIxNS45bC0zMy42IDAgMCAxMC41IDMzLjUgMCAuMS0xMC41em0tNzAgMTAuNmwyMi44IDAgMC0xMC41LTMzLjYgMCAwIDMzLjUgMTAuOCAwIDAtMjN6TTIyMS43IDM3NC40YTkxLjMgOTEuMyAwIDEgMCAwLTE4Mi42IDkxLjMgOTEuMyAwIDEgMCAwIDE4Mi42ek0xNzMuNSAyNjMuM2MwLTI1LjQgMjkuNS0zMS44IDQ5LjYtMzEuOCAxNi45IDAgMjkuMiA1LjggNDQuMyAxMmwtOC44IDE2LjktLjkgMGMtNi40LTkuOS0yNC44LTEzLjEtMzUuNi0xMy4xLTkgMC0yOS44IDEuOC0yOS44IDE0LjkgMCAyMS42IDc4LjUtMTAuMiA3OC41IDM3LjkgMCAyNS40LTMxLjUgMzEuMi01MSAzMS4yLTE4LjEgMC0zMi40LTIuOS00Ny4yLTEyLjJsOS0xOC40IC45IDBjNi4xIDEyLjIgMjMuNiAxNC45IDM1LjkgMTQuOSA4LjcgMCAzMi43LTEuMiAzMi43LTE0LjMgMC0yNi4xLTc3LjYgNi4zLTc3LjYtMzh6TTUyLjggMTc4LjRsLTEwLjggMCAwIDMzLjYgMTAuOCAwIDAtMzMuNnpNMzk1LjIgMzg0LjZsMTAuOCAwIDAtMzMuNS0xMC44IDAgMCAzMy41ek01Mi44IDMwNy45bC0xMC44IDAgMCAzMy41IDEwLjggMCAwLTMzLjV6TTAgMy43bDAgNDA2IDIyMS43IDk4LjYgMjI2LjMtOTguNiAwLTQwNi00NDggMHpNNDE4LjggMzkwLjhsLTE5Ni44IDg1LjctMTkyLjgtODUuNyAwLTI3MC4xIDM4OS43IDAgMCAyNzAuMS0uMSAwem0wLTI5OS4zbC0zODkuNiAwIDAtNTguNiAzODkuNyAwIDAgNTguNi0uMSAwek01Mi44IDIyMS42bC0xMC44IDAgMCAzMy41IDEwLjggMCAwLTMzLjV6bTAgNDMuMmwtMTAuOCAwIDAgMzMuNSAxMC44IDAgMC0zMy41ek0xNzAgMTM1LjJsLTMzLjUgMCAwIDEwLjUgMzMuNSAwIDAtMTAuNXpNMzk1LjIgMjk4LjNsMTAuOCAwIDAtMzMuNS0xMC44IDAgMCAzMy41em0wLTQzLjJsMTAuOCAwIDAtMzMuNS0xMC44IDAgMCAzMy41ek0yMTcgMTM1LjJsLTMzLjIgMCAwIDEwLjUgMzMuMiAwIDAtMTAuNXpNMzk1LjIgMjEybDEwLjggMCAwLTMzLjUtMTAuOCAwIDAgMzMuNXptMCAxMjkuNWwxMC44IDAgMC0zMy41LTEwLjggMCAwIDMzLjV6bS0xMzEtMjA2LjNsLTMzLjIgMCAwIDEwLjUgMzMuMiAwIDAtMTAuNXptNDcuMyAwbC0zMy41IDAgMCAxMC41IDMzLjUgMCAwLTEwLjV6bTgzLjcgMzMuNmwxMC44IDAgMC0zMy41LTMzLjUgMCAwIDEwLjUgMjIuOCAwLS4xIDIzem0tMzYuNC0zMy42bC0zMy41IDAgMCAxMC41IDMzLjUgMCAwLTEwLjV6Il19LGNrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtaW50Yml0IixpY29uOls1MTIsNTEyLFtdLCJlNjJmIiwiTTczLjIgNTEybDAtNzMuMSAyOTIuNSAwIDAtNzMuMiA3My4yIDAgMC0xNDYuMyA3My4xIDAgMC0yMTkuNC0yMTkuNCAwIDAgNzMuMS0xNDYuMyAwIDAgNzMuMi03My4xIDAgMCAyOTIuNi03My4yIDAgMCA3My4xIDczLjIgMHptNzMuMS0yMTkuNGw3My4yIDAgMCA3My4xLTczLjIgMCAwLTczLjF6bTczLjItNzMuMWw3My4xIDAgMCA3My4xLTczLjIgMCAwLTczLjIgLjEgLjF6bTczLjEgMGwwLTczLjIgNzMuMiAwIDAgNzMuMS03My4yIDAgMCAuMXpNMzY1LjcgNzMuMWw3My4yIDAgMCA3My4yLTczLjIgMCAwLTczLjJ6Il19LGRrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ6dWxpcCIsaWNvbjpbNDQ4LDUxMixbXSwiZTg1MyIsIk00MjQgOTljMCAyMi42LTEwLjEgNDIuNi0yNS41IDU0LjhMMjQ5LjMgMjg3LjdjLTIuOCAyLjQtNi40LTEuNS00LjQtNC43bDU0LjctMTEwLjFjMS41LTMuMS0uNS02LjktMy42LTYuOUw4My44IDE2NkM1MC45IDE2NiAyNCAxMzUuOSAyNCA5OSAyNCA2Mi4xIDUwLjkgMzIgODMuOCAzMmwyODAuNCAwQzM5Ny4xIDMyIDQyNCA2Mi4xIDQyNCA5OXpNODMuOCA0ODBsMjgwLjQgMGMzMi45IDAgNTkuOC0zMC4yIDU5LjgtNjdzLTI2LjktNjctNTkuOC02N2wtMjEyLjMgMGMtMy4xIDAtNS4xLTMuOC0zLjYtNi45TDIwMy4xIDIyOWMyLTMuMi0xLjYtNy4xLTQuNC00LjdMNDkuNSAzNTguMkMzNC4xIDM3MC40IDI0IDM5MC40IDI0IDQxMyAyNCA0NDkuOCA1MC45IDQ4MCA4My44IDQ4MHoiXX0sdWt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0YXlsaW5rZWQiLGljb246WzQ0OCw1MTIsW10sImYzZjUiLCJNMzg2LjcgMjkyLjVsMi43IDIuNy0xNzAtMTY3LjNjLTMuNS0zLjUtOS43LTMuNy0xMy44LS41TDE0OC4zIDE3MWMtNC4yIDMuMi00LjYgOC43LTEuMSAxMi4ybDY4LjEgNjQuM2MzLjYgMy41IDkuOSAzLjcgMTQgLjVsLjEtLjFjNC4xLTMuMiAxMC40LTMgMTQgLjVsODQgODEuM2MzLjYgMy41IDMuMiA5LS45IDEyLjJsLTkzLjIgNzRjLTQuMiAzLjMtMTAuNSAzLjEtMTQuMi0uNEw2Ny4yIDI2OGMtMy41LTMuNS05LjctMy43LTEzLjktLjVMNy41IDMwMi40Yy00LjIgMy4yLTQuNyA4LjctMS4yIDEyLjJMMjE1IDUxMC43czcuNCA2LjggMTcuMy0uOEw0MzAuMyAzNDZjNC0zLjIgNC40LTguNyAuNy0xMi4ybC00NC4zLTQxLjN6bTU0LjUtODMuNEwyMzAuNyAyLjVjLTEuNS0xLjItOC01LjUtMTYuMyAxLjFMNy42IDE2NS43Yy00LjIgMy4yLTQuOCA4LjctMS4yIDEyLjJsNDIuMyA0MS43IDE3MS43IDE2NS4xYzMuNyAzLjUgMTAuMSAzLjcgMTQuMyAuNGw1MC4yLTM4LjgtLjMtLjMgNy43LTZjNC4yLTMuMiA0LjYtOC43IC45LTEyLjJsLTU3LjEtNTQuNGMtMy42LTMuNS0xMC0zLjctMTQuMi0uNWwtLjEgLjFjLTQuMiAzLjItMTAuNSAzLjEtMTQuMi0uNEwxMTMgMTgwLjhjLTMuNi0zLjUtMy4xLTguOSAxLjEtMTIuMmw5Mi4yLTcxLjVjNC4xLTMuMiAxMC4zLTMgMTMuOSAuNWwxNjAuNCAxNTljMy43IDMuNSAxMCAzLjcgMTQuMSAuNWw0NS44LTM1LjhjNC4xLTMuMiA0LjQtOC43IC43LTEyLjJ6Il19LHBrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3ZWJmbG93IixpY29uOls2NDAsNTEyLFtdLCJlNjVjIiwiTTY0MCA2NGwtMjA0LjIgMzk5LjItMTkxLjggMCA4NS41LTE2NS41LTMuOCAwQzI1NS4xIDM4OS4zIDE0OS45IDQ0OS41IDAgNDYzLjJMMCAzMDAuMXM5NS45LTUuNyAxNTIuMy02NC45bC0xNTIuMyAwIDAtMTcxLjIgMTcxLjEgMCAwIDE0MC44IDMuOCAwIDcwLTE0MC44IDEyOS40IDAgMCAxMzkuOSAzLjggMCA3Mi42LTEzOS45IDE4OS4zIDB6Il19LGZrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZW5yZW4iLGljb246WzUxMiw1MTIsW10sImYxOGIiLCJNMjE0IDE2OS4xQzIxNCAyNzkuNSAxNTMgMzc0LjUgNjYuNCA0MTYuNSAzMCAzNzMuMiA4IDMxNy43IDggMjU2LjYgOCAxMzMuOSA5Ny4xIDMyLjIgMjE0IDEyLjVsMCAxNTYuNnpNMjU1IDUwNGMtNDIuOSAwLTgzLjMtMTEtMTE4LjUtMzAuNCA1Ny4yLTM2LjEgMTAzLjQtOTAuNyAxMTguNS0xNTQuNiAxNS41IDYzLjkgNjEuNyAxMTguNSAxMTguOCAxNTQuNy0zNS4xIDE5LjMtNzUuNSAzMC4zLTExOC44IDMwLjN6bTE5MC42LTg3LjVDMzU5IDM3NC41IDI5OCAyNzkuNiAyOTggMTY5LjFsMC0xNTYuNmMxMTYuOSAxOS43IDIwNiAxMjEuNCAyMDYgMjQ0LjEgMCA2MS4xLTIyIDExNi42LTU4LjQgMTU5Ljl6Il19LGhrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJrby1maSIsaWNvbjpbNTEyLDUxMixbXSwiZTg1NiIsIk0yNDkuOCA3NWM4OS44IDAgMTEzIDEuMSAxNDYuMyA0LjQgNzguMSA3LjggMTIzLjYgNTYgMTIzLjYgMTI1LjJsMCA4LjljMCA2NC4zLTQ3LjEgMTE2LjktMTEwLjggMTIyLjQtNSAxNi42LTEyLjggMzMuMi0yMy4zIDQ5LjktMjQuNCAzNy43LTczLjEgODUuMy0xNjIuOSA4NS4zbC0xNy43IDBjLTczLjEgMC0xMjkuNy0zMS42LTE2My41LTg5LjItMjkuOS01MC40LTMzLjgtMTA2LjQtMzMuOC0xODEuMiAwLTczLjcgNDQuNC0xMTMuNiA5Ni40LTEyMC4yIDM5LjMtNSA4OC4xLTUuNSAxNDUuNy01LjV6bTAgNDEuNmMtNjAuNCAwLTEwMy42IC41LTEzNi4zIDUuNS00NiA2LjctNjQuMyAzMi43LTY0LjMgNzkuMmwuMiAyNS43YzEuMiA1Ny4zIDcuMSA5Ny4xIDI3LjUgMTM0LjUgMjYuNiA0OS4zIDc0LjggNjguMiAxMjkuNyA2OC4ybDE3LjIgMGM3MiAwIDEwNy0zNC45IDEyNi4zLTY1LjQgOS40LTE1LjUgMTcuNy0zMi43IDIyLjItNTQuM2wzLjMtMTMuOCAxOS45IDBjNDQuMyAwIDgyLjYtMzYgODIuNi04MmwwLTguM2MwLTUxLjUtMzIuMi03OC43LTg4LjEtODUuMy0zMS42LTIuOC01MC40LTMuOS0xNDAuMi0zLjl6TTI2NyAxNjkuMmMzOC4yIDAgNjQuOCAzMS42IDY0LjggNjcgMCAzMi43LTE4LjMgNjEtNDIuMSA4My4xLTE1IDE1LTM5LjMgMzAuNS01NS45IDQwLjUtNC40IDIuOC0xMCA0LjQtMTYuNyA0LjQtNS41IDAtMTAuNS0xLjctMTUuNS00LjQtMTYuNi0xMC00MS0yNS41LTU2LjUtNDAuNS0yMS44LTIwLjgtMzkuMi00Ni45LTQxLjMtNzdsLS4yLTYuMWMwLTM1LjUgMjUuNS02NyA2NC4zLTY3IDIyLjcgMCAzOC44IDExLjYgNDkuMyAyNy43IDExLjYtMTYuMSAyNy4yLTI3LjcgNDkuOS0yNy43em0xMjIuNS0zLjljMjguMyAwIDQzLjggMTYuNiA0My44IDQzLjJzLTE1LjUgNDIuNy00My44IDQyLjdjLTguOSAwLTEzLjgtNS0xMy44LTExLjdsMC02Mi42YzAtNi43IDUtMTEuNiAxMy44LTExLjZ6Il19LG1rdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZXYiLGljb246WzQ0OCw1MTIsW10sImY1YjIiLCJNMTU4LjcgMjc0LjlhNjUuNiA2NS42IDAgMSAxIDEzMS4yIDAgNjUuNiA2NS42IDAgMSAxIC0xMzEuMiAwem0yNzAuNy01LjFsLS4xIDBjLS43LTI5LjMtNy43LTU4LjItMjAuNS04NC42cy0zMS4yLTQ5LjctNTMuOC02OC40TDMwOS42IDE0M2MyMiAxNC4yIDQwLjEgMzMuOCA1Mi43IDU2LjhzMTkuMSA0OC44IDE5LjEgNzUuMWMwIDg2LjYtNzAuNSAxNTcuMS0xNTcuMSAxNTcuMVM2Ny4yIDM2MS41IDY3LjIgMjc0LjljMC04MS45IDYzLTE0OS4zIDE0My0xNTYuNGwwIDM5LjEgMTA4LjgtNjIuOC0xMDguOC02Mi44IDAgMzguM2MtMTA2LjcgNy4yLTE5MSA5Ni0xOTEgMjA0LjYgMCAxMTEuNiA4OS4xIDIwMi4zIDIwMC4xIDIwNWwwIC4xIDIxMC4yIDAgMC0yMTAuMnoiXX0sZ2t0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImtleWNkbiIsaWNvbjpbNTEyLDUxMixbXSwiZjNiYSIsIk02My44IDQwOS4zbDYwLjUtNTljMzIuMSA0Mi44IDcxLjEgNjYgMTI2LjYgNjcuNCAzMC41IC43IDYwLjMtNyA4Ni40LTIyLjQgNS4xIDUuMyAxOC41IDE5LjUgMjAuOSAyMi0zMi4yIDIwLjctNjkuNiAzMS4xLTEwOC4xIDMwLjItNDMuMy0xLjEtODQuNi0xNi43LTExNy43LTQ0LjQgLjMtLjYtMzguMiAzNy41LTM4LjYgMzcuOSA5LjUgMjkuOC0xMy4xIDYyLjQtNDYuMyA2Mi40LTI2LjgtLjEtNDcuNS0yMS43LTQ3LjUtNDguNSAwLTM0LjMgMzMuMS01Ni42IDYzLjgtNDUuNnpNNDE4LjcgMTU2LjljMTkuMSAzMS4zIDI5LjYgNjcuNCAyOC43IDEwNC0xLjEgNDQuOC0xOSA4Ny41LTQ4LjYgMTIxIC4zIC4zIDIzLjggMjUuMiAyNC4xIDI1LjUgOS42LTEuMyAxOS4yIDIgMjUuOSA5LjEgMTEuMyAxMiAxMC45IDMwLjktMS4xIDQyLjQtMTIgMTEuMy0zMC45IDEwLjktNDIuNC0xLjEtNi43LTctOS40LTE2LjgtNy42LTI2LjMtMjQuOS0yNi42LTQ0LjQtNDcuMi00NC40LTQ3LjIgNDIuNy0zNC4xIDYzLjMtNzkuNiA2NC40LTEyNC4yIC43LTI4LjktNy4yLTU3LjItMjEuMS04Mi4ybDIyLjEtMjF6TTEwNCA1My4xYzYuNyA3IDkuNCAxNi44IDcuNiAyNi4zbDQ1LjkgNDguMWMtNC43IDMuOC0xMy4zIDEwLjQtMjIuOCAyMS4zLTI1LjQgMjguNS0zOS42IDY0LjgtNDAuNyAxMDIuOS0uNyAyOC45IDYuMSA1Ny4yIDIwIDgyLjRMOTIgMzU1LjZjLTE5LjMtMzEuNi0yOC45LTY3LjctMjcuOC0xMDQuNyAxLTQ0LjYgMTguMy04Ny42IDQ3LjUtMTIxLjFMODYuNCAxMDMuNGMtOS42IDEuMy0xOS4yLTItMjUuOS05LjEtMTEuMy0xMi0xMC45LTMwLjkgMS4xLTQyLjQgMTEuOS0xMS4yIDMwLjYtMTAuOSA0Mi40IDEuMnpNNDY0LjkgOGMyNiAwIDQ3LjEgMjIuNCA0Ny4xIDQ4LjNTNDkwLjkgMTA0IDQ2NC45IDEwNGMtNi4zIC4xLTE0LTEuMS0xNS45LTEuOGwtNjIuOSA1OS43Yy0zMi43LTQzLjYtNzYuNy02NS45LTEyNi45LTY3LjItMzAuNS0uNy02MC4zIDYuOC04Ni4yIDIyLjRsLTIxLjEtMjJDMTg0LjEgNzQuMyAyMjEuNSA2NCAyNjAgNjQuOSAzMDMuMyA2NiAzNDQuNiA4MS42IDM3Ny43IDEwOS41bDQxLjEtMzguNmMtMS41LTQuNy0yLjItOS42LTIuMi0xNC41LS4xLTI2LjcgMjIuMy00OC40IDQ4LjMtNDguNHpNMjU2LjcgMTEzLjRjNS41IDAgMTAuOSAuNCAxNi40IDEuMSA3OC4xIDkuOCAxMzMuNCA4MS4xIDEyMy44IDE1OS4xLTkuOCA3OC4xLTgxLjEgMTMzLjQtMTU5LjEgMTIzLjgtNzguMS05LjgtMTMzLjQtODEuMS0xMjMuOC0xNTkuMiA5LjMtNzIuNCA3MC4xLTEyNC42IDE0Mi43LTEyNC44em0tNTkgMTE5LjRjLjYgMjIuNyAxMi4yIDQxLjggMzIuNCA1Mi4ybC0xMSA1MS43IDczLjcgMC0xMS01MS43YzIwLjEtMTAuOSAzMi4xLTI5IDMyLjQtNTIuMi0uNC0zMi44LTI1LjgtNTcuNS01OC4zLTU4LjMtMzIuMSAuOC01Ny4zIDI0LjgtNTguMiA1OC4zeiJdfSxia3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaGlyZS1hLWhlbHBlciIsaWNvbjpbNTEyLDUxMixbXSwiZjNiMCIsIk00NDMuMSAwTDcxLjkgMEM2Ny45IDM3LjMgMzcuNCA2Ny44IDAgNzEuN0wwIDQ0My4yYzM3LjQgNC45IDY2IDMyLjQgNzEuOSA2OC44bDM3Mi4yIDBjMy0zNi40IDMyLjUtNjUuOCA2Ny45LTY5LjhsMC0zNzAuNUM0NzUuNiA2NS44IDQ0NyAzNi40IDQ0My4xIDB6bS0zNyA0MDQuOWMtMzYuMyAwLTE4LjgtMi01NS4xLTItMzUuOCAwLTIxIDItNTYuMSAyLTUuOSAwLTQuOS04LjIgMC05LjggMjIuOC03LjYgMjIuOS0xMC4yIDI0LjYtMTIuOCAxMC40LTE1LjYgNS45LTgzIDUuOS0xMTMgMC01LjMtNi40LTEyLjgtMTMuOC0xMi44bC0xMTEuMiAwYy03LjQgMC0xMy44IDcuNS0xMy44IDEyLjggMCAzMC00LjUgOTcuNCA1LjkgMTEzIDEuNyAyLjUgMS44IDUuMiAyNC42IDEyLjggNC45IDEuNiA2IDkuOCAwIDkuOC0zNS4xIDAtMjAuMy0yLTU2LjEtMi0zNi4zIDAtMTguOCAyLTU1LjEgMi03LjkgMC01LjgtMTAuOCAwLTEwLjggMTAuMi0zLjQgMTMuNS0zLjUgMjEuNy0xMy44IDcuNy0xMi45IDcuOS00NC40IDcuOS0xMjcuOGwwLTEwMS4yYzAtMjIuMi0xMi4yLTI4LjMtMjguNi0zMi40LTguOC0yLjItNC0xMS44IDEtMTEuOCAzNi41IDAgMjAuNiAyIDU3LjEgMiAzMi43IDAgMTYuNS0yIDQ5LjItMiAzLjMgMCA4LjUgOC4zIDEgMTAuOC00LjkgMS42LTI3LjYgMy43LTI3LjYgMzkuMyAwIDQ1LjYtLjIgNTUuOCAxIDY4LjggMCAxLjMgMi4zIDEyLjggMTIuOCAxMi44bDEwOS4yIDBjMTAuNSAwIDEyLjgtMTEuNSAxMi44LTEyLjggMS4yLTEzIDEtMjMuMiAxLTY4LjggMC0zNS42LTIyLjctMzcuNy0yNy42LTM5LjMtNy41LTIuNS0yLjMtMTAuOCAxLTEwLjggMzIuNyAwIDE2LjUgMiA0OS4yIDIgMzYuNSAwIDIwLjYtMiA1Ny4xLTIgNC45IDAgOS45IDkuNiAxIDExLjgtMTYuNCA0LjEtMjguNiAxMC4zLTI4LjYgMzIuNGwwIDEwMS4yYzAgODMuNCAuMSAxMTQuOSA3LjkgMTI3LjggOC4yIDEwLjIgMTEuNCAxMC40IDIxLjcgMTMuOCA1LjggMCA3LjggMTAuOCAwIDEwLjh6Il19LFl1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtaGFja2VyLW5ld3MiLGljb246WzQ0OCw1MTIsWyJoYWNrZXItbmV3cy1zcXVhcmUiXSwiZjNhZiIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMjEgMjI5LjJzLjEtLjEgLjEtLjIgLjEtLjIgLjItLjJjMCAuMSAwIC4zLS4xIC40bC0uMiAwek0yMzkuMiAzODRsLTMxLjQgMCAwLTEwMi43LTc5LjgtMTUzLjMgMzcuMyAwYzQxLjUgNzcuNyA0OC4xIDk1LjggNTQuMSAxMTIgMS42IDQuMyAzLjEgOC41IDUuMiAxMy42IDMuMi03IDUuMS0xMS45IDcuMS0xNy4zIDUuOS0xNS4zIDEyLjgtMzMuMiA1My41LTEwOC4zbDM0LjggMC04MC44IDE1NS4xIDAgMTAwLjl6Il19LHZrdD1ZdWUseGt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtcGQtYWx0IixpY29uOls1MTIsNTEyLFtdLCJmNGVkIiwiTTI1NS42IDhDMTEyLjcgOCA4IDEyMy4xIDggMjU2IDggMzk0LjUgMTIxLjYgNTA0IDI1NS42IDUwNCAzODUuNSA1MDQgNTA0IDQwMy4xIDUwNCAyNTYgNTA0IDExOC4xIDM5Ny40IDggMjU1LjYgOHptLjggNDUwLjhjLTExMi41IDAtMjAzLjctOTMtMjAzLjctMjAyLjggMC0xMDUuNCA4NS41LTIwMy4zIDIwMy43LTIwMy4zIDExMi42IDAgMjAyLjkgODkuNSAyMDIuOCAyMDMuMyAwIDEyMS43LTk5LjYgMjAyLjgtMjAyLjggMjAyLjh6TTMyNC43IDE4NmwtNTMuMiAwIDAgMTM3LjIgNTMuMiAwYzIxLjQgMCA3MC01LjEgNzAtNjguNiAwLTYzLjQtNDguNi02OC42LTcwLTY4LjZ6bS44IDEwOC41bC0xOS45IDAgMC03OS43IDE5LjQtLjFjMy44IDAgMzUtMi4xIDM1IDM5LjkgMCAyNC42LTEwLjUgMzkuOS0zNC41IDM5Ljl6TTIxMS43IDE4NmwtNjguMiAwIDAgMTM3LjMgMzQuNiAwIDAtNDQuMyAyNyAwYzU0LjEgMCA1Ny4xLTM3LjUgNTcuMS00Ni41IDAtMzEtMTYuOC00Ni41LTUwLjUtNDYuNXptLTQuOSA2Ny4zbC0yOS4yIDAgMC00MS42IDI4LjMgMGMzMC45IDAgMjguOCA0MS42IC45IDQxLjZ6Il19LHlrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvcmNpZCIsaWNvbjpbNTEyLDUxMixbXSwiZjhkMiIsIk0yOTQuNyAxODguMmwtNDUuOSAwIDAgMTUzLjggNDcuNSAwYzY3LjYgMCA4My4xLTUxLjMgODMuMS03Ni45IDAtNDEuNi0yNi41LTc2LjktODQuNy03Ni45ek0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTE3NS4yIDM2OC44bC0yOS44IDAgMC0yMDcuNSAyOS44IDAgMCAyMDcuNXpNMTYwLjMgOTguNWExOS42IDE5LjYgMCAxIDEgMCAzOS4yIDE5LjYgMTkuNiAwIDEgMSAwLTM5LjJ6TTMwMCAzNjlsLTgxIDAgMC0yMDcuNyA4MC42IDBjNzYuNyAwIDExMC40IDU0LjggMTEwLjQgMTAzLjkgMCA1My4zLTQxLjcgMTAzLjktMTEwIDEwMy45eiJdfSxLdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYm9hcmQtZ2FtZS1nZWVrIixpY29uOls2NDAsNTEyLFsiYmdnIl0sImU4NTUiLCJNMTY4LjggMTY4LjNsMzAuMS04LjItMTIuMyA5OC44IDE2LjcgMTYuMS0zOC45IDkxLjItMTExLjggNDEuMi01Mi42LTEzMS44IDE3LjctMTctMTAuNS04NC4zIDE5MS4yLTcwLjMtMjkuNSA2NC4zem0xODAuNiAxNi41YzExLjYgMCAxOSA3LjQgMTkgMTcuOWwwIDMxLjVjMCA5LjctNi4zIDE4LjktMTkuNSAyMi4xIDEzLjEgMy4xIDIwLjUgMTIgMjAuNSAyMS40bDAgMzAuOWMwIDExLjEtNy40IDE4LjEtMTkgMTguMWwtODkuMSAwIDAtMTQxLjggODggMHpNMjk4IDI5OS44bDMzIDBjMS41IDAgMi4xLTEgMi4xLTIuMWwwLTI2LjljMC0xLS42LTIuMy0yLjEtMi4zbC0zMyAwIDAgMzEuM3ptMC01Ny4zbDMzIDBjMS41IDAgMi4xLTEuMSAyLjEtMi4zbDAtMjQuOGMwLTEtLjYtMi4zLTIuMS0yLjNsLTMzIDAgMCAyOS40em0yMDQuMS0yNy4ybC02NS42IDBjLTEgMC0yLjEgMS4xLTIuMSAyLjNsMCA3Ni4xYzAgMS4zIDEgMi4xIDIuMSAyLjFsMjkuNyAwYzEuNSAwIDIuMy0uOCAyLjMtMi4xbDAtMjQtMTkuMyAwIDEyLjgtMzAgNDAuMSAwIDAgNzAuOGMwIDkuMi03LjIgMTYuMi0xNi4zIDE2LjJsLTcxLjUgMGMtOS4xIDAtMTYuNS03LTE2LjUtMTYuMmwwLTEwOS43YzAtOC42IDcuNC0xNiAxNi41LTE2bDg3LjggMCAwIDMwLjV6bTEzMi42IDBsLTY1LjYgMGMtMS4xIDAtMi4xIDEuMS0yLjEgMi4zbDAgNzYuMWMwIDEuMyAxIDIuMSAyLjEgMi4xbDI5LjYgMGMxLjUgMCAyLjMtLjggMi4zLTIuMWwwLTI0LTE5LjIgMCAxMi44LTMwIDQwLjEgMCAwIDcwLjhjMCA5LjItNy4yIDE2LjItMTYuMyAxNi4ybC03MS41IDBjLTkuMSAwLTE2LjUtNi45LTE2LjUtMTYuMmwwLTEwOS43YzAtOC42IDcuNC0xNiAxNi41LTE2bDg3LjggMCAwIDMwLjV6Il19LHdrdD1LdWUsTWt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJlaGFuY2UiLGljb246WzU3Niw1MTIsW10sImYxYjQiLCJNMjMyIDIzNy4yYzMxLjgtMTUuMiA0OC40LTM4LjIgNDguNC03NCAwLTcwLjYtNTIuNi04Ny44LTExMy4zLTg3LjhsLTE2Ny4xIDAgMCAzNTQuNCAxNzEuOCAwYzY0LjQgMCAxMjQuOS0zMC45IDEyNC45LTEwMi45IDAtNDQuNS0yMS4xLTc3LjQtNjQuNy04OS43ek03Ny45IDEzNS45bDczLjEgMGMyOC4xIDAgNTMuNCA3LjkgNTMuNCA0MC41IDAgMzAuMS0xOS43IDQyLjItNDcuNSA0Mi4ybC03OSAwIDAtODIuN3ptODMuMyAyMzMuN2wtODMuMyAwIDAtOTcuNiA4NC45IDBjMzQuMyAwIDU2IDE0LjMgNTYgNTAuNiAwIDM1LjgtMjUuOSA0Ny01Ny42IDQ3ek01MTkuNyAxMjguOWwtMTQzLjcgMCAwLTM0LjkgMTQzLjcgMCAwIDM0Ljl6TTU3NiAzMDUuMmMwLTc1LjktNDQuNC0xMzkuMi0xMjQuOS0xMzkuMi03OC4yIDAtMTMxLjMgNTguOC0xMzEuMyAxMzUuOCAwIDc5LjkgNTAuMyAxMzQuNyAxMzEuMyAxMzQuNyA2MS4zIDAgMTAxLTI3LjYgMTIwLjEtODYuM2wtNjIuMiAwYy02LjcgMjEuOS0zNC4zIDMzLjUtNTUuNyAzMy41LTQxLjMgMC02My0yNC4yLTYzLTY1LjNsMTg1LjEgMGMuMy00LjIgLjYtOC43IC42LTEzLjJ6TTM5MC40IDI3NGMyLjMtMzMuNyAyNC43LTU0LjggNTguNS01NC44IDM1LjQgMCA1My4yIDIwLjggNTYuMiA1NC44bC0xMTQuNyAweiJdfSxra3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibW9uZXJvIixpY29uOls1MTIsNTEyLFtdLCJmM2QwIiwiTTM2MCAzODRsMTA4LjQgMEM0MjUgNDU1LjkgMzQ2LjEgNTA0IDI1NiA1MDRTODcgNDU1LjkgNDMuNiAzODRsMTA4LjQgMCAwLTEyNy44IDEwNCAxMDQuOCAxMDQtMTA1IDAgMTI4ek05NiAzMzZsMC0yMDggMTU5LjQgMTU5LjQgMTYwLjYtMTU5LjQgMCAyMDggNzQuOCAwYzguNS0yNS4xIDEzLjItNTIgMTMuMi04MCAwLTEzNy0xMTEtMjQ4LTI0OC0yNDhTOCAxMTkgOCAyNTZjMCAyOCA0LjYgNTQuOSAxMy4yIDgwTDk2IDMzNnoiXX0sU2t0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZpZ21hIixpY29uOlszODQsNTEyLFtdLCJmNzk5IiwiTTE0IDk1LjhDMTQgNDIuOSA1Ni45IDAgMTA5LjggMEwyNzQuMiAwYzUyLjkgMCA5NS44IDQyLjkgOTUuOCA5NS44IDAgMzMuNS0xNy4yIDYzLTQzLjIgODAuMSAyNiAxNy4xIDQzLjIgNDYuNiA0My4yIDgwLjEgMCA1Mi45LTQyLjkgOTUuOC05NS44IDk1LjhsLTIuMSAwYy0yNC44IDAtNDcuNC05LjQtNjQuNC0yNC45bDAgODguM2MwIDUzLjYtNDQgOTYuOC05Ny40IDk2LjgtNTIuOCAwLTk2LjMtNDIuOC05Ni4zLTk1LjggMC0zMy41IDE3LjItNjMgNDMuMi04MC4xLTI2LTE3LjEtNDMuMi00Ni42LTQzLjItODAuMXMxNy4yLTYzIDQzLjItODAuMUMzMS4yIDE1OC44IDE0IDEyOS4zIDE0IDk1Ljh6bTE2Mi4zIDk1LjhsLTY2LjUgMGMtMzUuNiAwLTY0LjQgMjguOC02NC40IDY0LjQgMCAzNS40IDI4LjYgNjQuMiA2NCA2NC40bDY2LjkgMCAwLTEyOC44ek0yMDcuNyAyNTZjMCAzNS42IDI4LjggNjQuNCA2NC40IDY0LjRsMi4xIDBjMzUuNiAwIDY0LjQtMjguOCA2NC40LTY0LjRzLTI4LjgtNjQuNC02NC40LTY0LjRsLTIuMSAwYy0zNS42IDAtNjQuNCAyOC44LTY0LjQgNjQuNHptLTk3LjkgOTUuOGwtLjQgMGMtMzUuNCAuMi02NCAyOS02NCA2NC40czI5LjIgNjQuNCA2NC45IDY0LjRjMzYuMyAwIDY2LTI5LjQgNjYtNjUuNWwwLTYzLjQtNjYuNSAwem0wLTMyMC40Yy0zNS42IDAtNjQuNCAyOC44LTY0LjQgNjQuNHMyOC44IDY0LjQgNjQuNCA2NC40bDY2LjUgMCAwLTEyOC44LTY2LjUgMHptOTcuOSAxMjguOGw2Ni41IDBjMzUuNiAwIDY0LjQtMjguOCA2NC40LTY0LjRzLTI4LjgtNjQuNC02NC40LTY0LjRsLTY2LjUgMCAwIDEyOC44eiJdfSxtZWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaW5zdGFncmFtIixpY29uOls0NDgsNTEyLFtdLCJmMTZkIiwiTTIyNC4zIDE0MWExMTUgMTE1IDAgMSAwIC0uNiAyMzAgMTE1IDExNSAwIDEgMCAuNi0yMzB6bS0uNiA0MC40YTc0LjYgNzQuNiAwIDEgMSAuNiAxNDkuMiA3NC42IDc0LjYgMCAxIDEgLS42LTE0OS4yem05My40LTQ1LjFhMjYuOCAyNi44IDAgMSAxIDUzLjYgMCAyNi44IDI2LjggMCAxIDEgLTUzLjYgMHptMTI5LjcgMjcuMmMtMS43LTM1LjktOS45LTY3LjctMzYuMi05My45LTI2LjItMjYuMi01OC0zNC40LTkzLjktMzYuMi0zNy0yLjEtMTQ3LjktMi4xLTE4NC45IDAtMzUuOCAxLjctNjcuNiA5LjktOTMuOSAzNi4xcy0zNC40IDU4LTM2LjIgOTMuOWMtMi4xIDM3LTIuMSAxNDcuOSAwIDE4NC45IDEuNyAzNS45IDkuOSA2Ny43IDM2LjIgOTMuOXM1OCAzNC40IDkzLjkgMzYuMmMzNyAyLjEgMTQ3LjkgMi4xIDE4NC45IDAgMzUuOS0xLjcgNjcuNy05LjkgOTMuOS0zNi4yIDI2LjItMjYuMiAzNC40LTU4IDM2LjItOTMuOSAyLjEtMzcgMi4xLTE0Ny44IDAtMTg0Ljh6TTM5OSAzODhjLTcuOCAxOS42LTIyLjkgMzQuNy00Mi42IDQyLjYtMjkuNSAxMS43LTk5LjUgOS0xMzIuMSA5cy0xMDIuNyAyLjYtMTMyLjEtOWMtMTkuNi03LjgtMzQuNy0yMi45LTQyLjYtNDIuNi0xMS43LTI5LjUtOS05OS41LTktMTMyLjFzLTIuNi0xMDIuNyA5LTEzMi4xYzcuOC0xOS42IDIyLjktMzQuNyA0Mi42LTQyLjYgMjkuNS0xMS43IDk5LjUtOSAxMzIuMS05czEwMi43LTIuNiAxMzIuMSA5YzE5LjYgNy44IDM0LjcgMjIuOSA0Mi42IDQyLjYgMTEuNyAyOS41IDkgOTkuNSA5IDEzMi4xczIuNyAxMDIuNy05IDEzMi4xeiJdfSx6a3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGVyYnl0ZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTA4MyIsIk0zMDUuMyAyODQuNmwtNTguNyAwIDAgOTguNyA1OC43IDBjMTYuMyAwIDI5LTQuNiAzOC4yLTEzLjhzMTMuOC0yMS4yIDEzLjgtMzYuMWMwLTE0LjYtNC43LTI2LjMtMTQtMzUuM3MtMjItMTMuNS0zNy45LTEzLjV6TTE0OS40IDEyOC43bC01OC43IDAgMCA5OC43IDU4LjcgMGMxNi4zIDAgMjktNC42IDM4LjItMTMuOHMxMy44LTIxLjIgMTMuOC0zNi4xYzAtMTQuNi00LjctMjYuMy0xNC0zNS4zcy0yMi0xMy41LTM3LjktMTMuNXpNMzY2LjYgMzJMODEuNCAzMmMtMjEuNiAwLTQyLjIgOC42LTU3LjUgMjMuOVMwIDkxLjggMCAxMTMuNEwwIDM5OC42YzAgMjEuNiA4LjYgNDIuMiAyMy45IDU3LjVTNTkuOCA0ODAgODEuNCA0ODBsMjg1LjMgMGMyMS42IDAgNDIuMi04LjYgNTcuNS0yMy45UzQ0OCA0MjAuMiA0NDggMzk4LjZsMC0yODUuM2MwLTIxLjYtOC42LTQyLjItMjMuOS01Ny41UzM4OC4yIDMyIDM2Ni42IDMyem02My42IDM2Ni42YzAgMTYuOS02LjcgMzMtMTguNyA0NXMtMjguMSAxOC42LTQ1IDE4LjdsLTI4NS4zIDBjLTE2LjkgMC0zMy02LjctNDUtMTguN3MtMTguNi0yOC4xLTE4LjctNDVsMC0yODUuM2MwLTE2LjkgNi43LTMzIDE4LjctNDVzMjguMS0xOC42IDQ1LTE4LjdsMjg1LjMgMGMxNi45IDAgMzMgNi43IDQ1IDE4LjdzMTguNiAyOC4xIDE4LjcgNDVsMCAyODUuM3ptLTEyNS0yNjkuOWwtNTguNyAwIDAgOTguNyA1OC43IDBjMTYuMyAwIDI5LTQuNiAzOC4yLTEzLjhzMTMuOC0yMS4yIDEzLjgtMzYuMWMwLTE0LjYtNC43LTI2LjMtMTQtMzUuM3MtMjItMTMuNS0zNy45LTEzLjV6Il19LFp1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtdmltZW8iLGljb246WzQ0OCw1MTIsWyJ2aW1lby1zcXVhcmUiXSwiZjE5NCIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMzE4LjUgMzA5LjVjLTQzLjUgNTYuNS04MC4zIDg0LjgtMTEwLjQgODQuOC0xOC43IDAtMzQuNC0xNy4yLTQ3LjMtNTEuNi0zLjgtMTMuOS03LjMtMjYuOS0xMC41LTM5LTE4LjItNjguMy0yOC42LTEwNy40LTQ2LjItMTA3LjQtMi40IDAtMTAuOCA1LTI1LjEgMTUuMUw2NCAxOTJjNy02LjEgMTMuOS0xMi40IDIwLjYtMTguNSAyOS4xLTI2LjMgNTUuNi01MC4zIDczLjUtNTEuOSAyNC45LTIuNCA0MC4yIDE0LjYgNDYgNTEuMSAyMC41IDEyOS42IDI5LjYgMTQ5LjIgNjYuOCA5MC41IDEzLjQtMjEuMiAyMC42LTM3LjIgMjEuNS00OC4zIDMuNC0zMi44LTI1LjYtMzAuNi00NS4yLTIyLjIgMTUuNy01MS41IDQ1LjgtNzYuNSA5MC4xLTc1LjEgMzIuOSAxIDQ4LjQgMjIuNCA0Ni41IDY0LTEuNCAzMS4xLTIzLjIgNzMuOC02NS4zIDEyNy45eiJdfSxDa3Q9WnVlLF9rdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwdXNoZWQiLGljb246WzQ0OCw1MTIsW10sImYzZTEiLCJNNDE1LjEgMTExLjlsLTk4LjUtOSAxNC0zMy40YzEwLjQtMjMuNS0xMC44LTQwLjQtMjguNy0zN0wzMC42IDc2LjljLTE1LjEgMi43LTI2IDE4LjMtMjEuNCAzNi42TDExNC4zIDQ2MS44YzYuNSAyMS4zIDM2LjcgMjQuMiA0Ny43IDdMMTk3LjMgMzg4IDQzMi41IDE1Ni43YzE2LjQtMTYuOCA0LjMtNDIuOS0xNy40LTQ0Ljh6TTMwNS43IDUzLjZjNS4xLS43IDcuNSAyLjUgNS4yIDcuNGwtMTYuOCAzOS45LTE3Ny40LTE2LjMgMTg5LTMxek0zMC44IDEwNy45Yy0zLjEtNS4xIDEtMTAgNi4xLTkuMWwyNDguNyAyMi43LTk2LjkgMjMwLjctMTU3LjktMjQ0LjN6TTE0NC4xIDQ1Ni40Yy0yLjYgNC03LjkgMy4xLTkuNC0xLjJMNTEuNiAxNzkuNyAxNzkuMyAzNzcuM2MtNyAxNS0zNS4yIDc5LjEtMzUuMiA3OS4xek00MTYuOSAxNDEuOWwtMTk4LjcgMTk1LjQgODkuNy0yMTMuNyAxMDYuNCA5LjdjNCAxLjEgNS43IDUuMyAyLjYgOC42eiJdfSxUa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWl4Y2xvdWQiLGljb246WzY0MCw1MTIsW10sImYyODkiLCJNMjEzIDM0Ni42bC0zMy4yIDAgMC0xNTEuNSA2LjItMjEuNi0xMC43IDAtMzguMSAxNzMuMS02MSAwLTM4LjQtMTczLjEtMTAuNSAwIDUuOSAyMS42IDAgMTUxLjUtMzMuMiAwIDAtMTgxLjYgNjUuNyAwIDM2LjYgMTczLjEgOC41IDAgMzYuNi0xNzMuMSA2NS43IDAgMCAxODEuNnptMzMxLjUtNjNsLTg2IDYyLjEgMC0zOC4xIDcyLjktNTEuOC03Mi45LTUxLjggMC0zOC4xIDg2IDYyLjMgOS4zIDAgODYuMy02Mi4zIDAgMzguMS03My4xIDUxLjggNzMuMSA1MS44IDAgMzguMS04Ni4zLTYyLjEtOS4zIDB6TTQzMC4yIDI3Mi4zbC0xODIgMCAwLTMzLjEgMTgyIDAgMCAzMy4xeiJdfSxMa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToieWFuZGV4LWludGVybmF0aW9uYWwiLGljb246WzMyMCw1MTIsW10sImY0MTQiLCJNMTI5LjUgNTEybDAtMTY2LjEtMTExLTI5Ny45IDU1LjggMCA4MS44IDIyOS43IDk0LjEtMjc3LjcgNTEuMyAwLTEyMC43IDM0Ny44IDAgMTY0LjItNTEuMyAweiJdfSwka3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaGl2ZSIsaWNvbjpbNTEyLDUxMixbXSwiZTA3ZiIsIk0yNjAuNCAyNTQuOUwxMzEuNSAzMy4xYy0uMi0uMy0uNS0uNi0uOC0uOHMtLjctLjMtMS4xLS4zLS44IC4xLTEuMSAuMy0uNiAuNS0uOCAuOEwuMyAyNTQuOWMtLjIgLjMtLjMgLjctLjMgMS4xcy4xIC44IC4zIDEuMUwxMjkuMSA0NzguOWMuMiAuMyAuNSAuNiAuOCAuOHMuNyAuMyAxLjEgLjMgLjgtLjEgMS4xLS4zIC42LS41IC44LS44TDI2MC40IDI1Ny4xYy4yLS4zIC4zLS43IC4zLTEuMXMtLjEtLjgtLjMtMS4xem0zOS4xLTI1LjdjLjIgLjMgLjUgLjYgLjggLjhzLjcgLjMgMS4xIC4zbDY2LjUgMGMuNCAwIC44LS4xIDEuMS0uM3MuNi0uNSAuOC0uOCAuMy0uNyAuMy0xLjEtLjEtLjgtLjMtMS4xTDI1OS4xIDMzLjFjLS4yLS4zLS41LS42LS44LS44cy0uNy0uMy0xLjEtLjNsLTY2LjUgMGMtLjQgMC0uOCAuMS0xLjEgLjNzLS42IC41LS44IC44LS4zIC43LS4zIDEuMSAuMSAuOCAuMyAxLjFMMjk5LjQgMjI5LjJ6bTIxMi4zIDI1LjdMMzg0LjkgMzMuMWMtLjItLjMtLjUtLjYtLjgtLjhzLS43LS4zLTEuMS0uM2wtNjYuNiAwYy0uNCAwLS44IC4xLTEuMSAuM3MtLjYgLjUtLjggLjgtLjMgLjctLjMgMS4xIC4xIC44IC4zIDEuMUw0NDAuNyAyNTYgMzE0LjUgNDc2LjdjLS4yIC4zLS4zIC43LS4zIDEuMXMuMSAuOCAuMyAxLjEgLjUgLjYgLjggLjggLjcgLjMgMS4xIC4zbDY2LjYgMGMuNCAwIC44LS4xIDEuMS0uM3MuNi0uNSAuOC0uOEw1MTEuNyAyNTcuMWMuMi0uMyAuMy0uNyAuMy0xLjFzLS4xLS44LS4zLTEuMXpNMzY2IDI4NC45bC02Ni41IDBjLS40IDAtLjggLjEtMS4xIC4zcy0uNiAuNS0uOCAuOEwxODguOCA0NzYuN2MtLjIgLjMtLjMgLjctLjMgMS4xcy4xIC44IC4zIDEuMSAuNSAuNiAuOCAuOCAuNyAuMyAxLjEgLjNsNjYuNSAwYy40IDAgLjgtLjEgMS4xLS4zcy42LS41IC44LS44TDM2Ny45IDI4OC4zYy4yLS4zIC4zLS43IC4zLTEuMXMtLjEtLjgtLjMtMS4xLS41LS42LS44LS44LS43LS4zLTEuMS0uM3oiXX0sRGt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyZWF0aXZlLWNvbW1vbnMtemVybyIsaWNvbjpbNTEyLDUxMixbXSwiZjRmMyIsIk0yNTUuNiA4QzM5Ny40IDggNTA0IDExOC4xIDUwNCAyNTYgNTA0IDQwMy4xIDM4NS41IDUwNCAyNTUuNiA1MDQgMTIxLjYgNTA0IDggMzk0LjUgOCAyNTYgOCAxMjMuMSAxMTIuNyA4IDI1NS42IDh6bS44IDQ0LjdjLTExOC4yIDAtMjAzLjcgOTcuOS0yMDMuNyAyMDMuMyAwIDEwOS44IDkxLjIgMjAyLjggMjAzLjcgMjAyLjggMTAzLjIgMCAyMDIuOC04MS4xIDIwMi44LTIwMi44IC4xLTExMy44LTkwLjItMjAzLjMtMjAyLjgtMjAzLjN6bS0uNCA2MC41Yy04MS45IDAtMTAyLjUgNzcuMy0xMDIuNSAxNDIuOFMxNzQuMSAzOTguOCAyNTYgMzk4LjggMzU4LjUgMzIxLjUgMzU4LjUgMjU2IDMzNy45IDExMy4yIDI1NiAxMTMuMnptMCA1My45YzMuMyAwIDYuNCAuNSA5LjIgMS4yIDUuOSA1LjEgOC44IDEyLjEgMy4xIDIxLjlMMjEzLjggMjkwLjRjLTEuNy0xMi43LTEuOS0yNS4xLTEuOS0zNC40IDAtMjguOCAyLTg4LjkgNDQuMS04OC45em00MC44IDQ2LjJjMi45IDE1LjQgMy4zIDMxLjQgMy4zIDQyLjcgMCAyOC45LTIgODguOS00NC4xIDg4LjktMTMuNSAwLTMyLjYtNy43LTIwLjEtMjYuNGw2MC45LTEwNS4yeiJdfSxYdWU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLXNuYXBjaGF0IixpY29uOls0NDgsNTEyLFsic25hcGNoYXQtc3F1YXJlIl0sImYyYWQiLCJNMzg0IDMyTDY0IDMyYy0xNyAwLTMzLjMgNi43LTQ1LjMgMTguN1MwIDc5IDAgOTZMMCA0MTZjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNTNDcgNDgwIDY0IDQ4MGwzMjAgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN1M0NDggNDMzIDQ0OCA0MTZsMC0zMjBjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNTNDAxIDMyIDM4NCAzMnptLTMuOSAzMTkuM2wtLjEgLjFjLTIuNSAyLjgtNS40IDUuMS04LjcgNi44LTYuNSAzLjYtMTMuNCA2LjMtMjAuNiA4LjItMS40IC40LTIuNyAxLTMuOSAxLjgtMi4yIDEuOS0yLjEgNC42LTQuNCA4LjYtMS43IDMtNCA1LjUtNi44IDcuNS02LjcgNC42LTE0LjIgNC45LTIyLjIgNS4yLTcuMiAuMy0xNS40IC42LTI0LjcgMy43LTMuOCAxLjItNy44IDMuNy0xMi40IDYuNS0xMS4zIDYuOS0yNi43IDE2LjQtNTIuMyAxNi40cy00MC45LTkuNC01Mi4xLTE2LjNjLTQuNy0yLjktOC43LTUuNC0xMi41LTYuNi05LjMtMy4xLTE3LjUtMy40LTI0LjctMy43LTgtLjMtMTUuNS0uNi0yMi4yLTUuMi0yLjQtMS42LTQuNC0zLjctNi02LjEtMy4yLTQuNi0yLjktNy44LTUuMy05LjktMS4zLS44LTIuNi0xLjUtNC4xLTEuOC03LjEtMS45LTEzLjktNC42LTIwLjMtOC4xLTMuMS0xLjYtNS45LTMuOC04LjMtNi4zLTYuNi02LjgtOC4zLTE0LjgtNS43LTIxLjggMy40LTkuMyAxMS42LTEyLjEgMTkuNC0xNi4zIDE0LjgtOCAyNi4zLTE4LjEgMzQuNC0yOS45IDIuMy0zLjMgNC4zLTYuOSA2LTEwLjYgLjgtMi4yIC44LTMuMyAuMi00LjQtLjYtLjktMS4zLTEuNi0yLjItMi4yLTIuNS0xLjctNS4xLTMuNC02LjktNC41LTMuMy0yLjEtNS45LTMuOC03LjUtNS02LjMtNC40LTEwLjYtOS0xMy40LTE0LjItMS45LTMuNi0zLTcuNi0zLjMtMTEuNnMuNC04LjEgMS45LTExLjljNC4xLTEwLjkgMTQuNS0xNy43IDI3LTE3LjcgMi42IDAgNS4zIC4zIDcuOCAuOCAuNyAuMiAxLjQgLjMgMiAuNS0uMS03LjQgLjEtMTUuNCAuNy0yMy4xIDIuNC0yNy4zIDExLjktNDEuNiAyMS45LTUzIDYuNC03LjIgMTMuOS0xMy4yIDIyLjMtMTcuOSAxNS4xLTguNiAzMi4yLTEzIDUwLjktMTNzMzUuOCA0LjQgNTAuOSAxM2M4LjMgNC43IDE1LjkgMTAuOCAyMi4yIDE3LjkgMTAgMTEuNCAxOS41IDI1LjcgMjEuOSA1MyAuNiA3LjcgLjkgMTUuNCAuNyAyMy4xIC43LS4yIDEuNC0uMyAyLjEtLjUgMi42LS42IDUuMi0uOCA3LjgtLjggMTIuNSAwIDIyLjggNi44IDI3IDE3LjcgMS41IDMuOCAyLjEgNy45IDEuOSAxMS45cy0xLjQgOC0zLjMgMTEuNmMtMi43IDUuMi03LjEgOS45LTEzLjQgMTQuMi0xLjcgMS4yLTQuMyAyLjktNy41IDUtMS44IDEuMi00LjUgMi45LTcuMiA0LjctLjggLjUtMS40IDEuMi0xLjkgMi0uNSAxLS41IDIuMiAuMiA0LjIgMS43IDMuOCAzLjcgNy40IDYuMSAxMC44IDguMyAxMi4xIDIwLjIgMjIuMyAzNS41IDMwLjQgMS41IC44IDMgMS41IDQuNCAyLjMgLjcgLjMgMS42IC44IDIuNSAxLjMgNC45IDIuNyA5LjIgNiAxMS41IDEyLjIgMi41IDYuOSAxIDE0LjctNS4yIDIxLjN6bS0xNi43LTE4LjVjLTUwLjMtMjQuMy01OC4zLTYxLjktNTguNy02NC43LS40LTMuNC0uOS02IDIuOC05LjUgMy42LTMuMyAxOS41LTEzLjIgMjQtMTYuMyA3LjMtNS4xIDEwLjUtMTAuMiA4LjItMTYuNS0xLjctNC4zLTUuNy02LTEwLTYtMS4zIDAtMi43IC4yLTQgLjQtOCAxLjctMTUuOCA1LjgtMjAuNCA2LjktLjUgLjEtMS4xIC4yLTEuNyAuMi0yLjQgMC0zLjMtMS4xLTMuMS00IC42LTguOCAxLjgtMjUuOSAuNC00MS45LTEuOS0yMi05LTMyLjktMTcuNC00Mi42LTQuMS00LjYtMjMuMS0yNC43LTU5LjUtMjQuN3MtNTUuNCAyMC4xLTU5LjUgMjQuOGMtOC40IDkuNy0xNS41IDIwLjYtMTcuNCA0Mi42LTEuNCAxNi0uMSAzMy4xIC40IDQxLjkgLjIgMi44LS43IDQtMy4xIDQtLjYgMC0xLjEtLjEtMS43LS4yLTQuNS0xLjEtMTIuMy01LjEtMjAuMy02LjktMS4zLS4zLTIuNi0uNC00LS40LTQuMyAwLTguMyAxLjYtMTAgNi0yLjQgNi4zIC44IDExLjQgOC4yIDE2LjUgNC40IDMuMSAyMC40IDEzIDI0IDE2LjMgMy43IDMuNCAzLjIgNi4xIDIuOCA5LjUtLjQgMi44LTguNCA0MC40LTU4LjcgNjQuNy0yLjkgMS40LTggNC40IC45IDkuMyAxMy45IDcuNiAyMy4xIDYuOCAzMC4zIDExLjQgNi4xIDMuOSAyLjUgMTIuNCA2LjkgMTUuNCA1LjUgMy44IDIxLjYtLjMgNDIuMyA2LjYgMTcuNCA1LjcgMjguMSAyMiA1OSAyMnM0MS44LTE2LjMgNTguOS0yMmMyMC44LTYuOSAzNi45LTIuOCA0Mi4zLTYuNiA0LjQtMy4xIC44LTExLjUgNi45LTE1LjQgNy4yLTQuNiAxNi40LTMuOCAzMC4zLTExLjUgOC44LTQuOSAzLjgtNy45IC45LTkuNHoiXX0sQWt0PVh1ZSxFa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGhlbWVpc2xlIixpY29uOls1MTIsNTEyLFtdLCJmMmIyIiwiTTIwOCA4OC4zYzAtMTAgNi4zLTIxLjcgMTcuNy0yMS43IDExLjEgMCAxNy43IDExLjcgMTcuNyAyMS43IDAgMTAuMy02LjYgMjEuNy0xNy43IDIxLjctMTEuNCAwLTE3LjctMTEuNC0xNy43LTIxLjd6bTMwNCAxNjBjMCAzNi0xMS40IDEwMi4zLTM2LjMgMTI5LjctMjIuOSAyNC45LTg3LjQgNjEuMS0xMjAuOSA3MC42bC0xLjEgLjMgMCAzMi42YzAgMTYuMy0xMi42IDMwLjYtMjkuMSAzMC42LTEwIDAtMTkuNC01LjctMjQuNi0xNC4zLTUuNCA4LjYtMTQuOSAxNC4zLTI0LjkgMTQuM3MtMTkuNC01LjctMjQuOS0xNC4zYy01LjEgOC42LTE0LjYgMTQuMy0yNC42IDE0LjMtMTAuMyAwLTE5LjQtNS43LTI0LjktMTQuMy01LjEgOC42LTE0LjYgMTQuMy0yNC42IDE0LjMtMTguOSAwLTI5LjQtMTUuNy0yOS40LTMyLjktMTYuMyAxMi4zLTM1LjcgMTkuNC01Ni42IDE5LjQtMjIgMC00My40LTguMy02MC4zLTIyLjkgMTAuMy0uMyAyMC42LTIuMyAzMC4zLTUuNy0yMC45LTUuNy0zOS40LTE4LjktNTItMzYuMyAyMS40IDQuNiA0Ni4yIDEuNyA2Ny4xLTExLjEtMjItMjItNTYuNi01OC45LTY4LjYtODcuNC01LjctMTMuNC02LjktMzEuNC02LjktNDUuNyAwLTQ5LjcgMjAuMy0xNjAgODYuMy0xNjAgMTAuNiAwIDE4LjkgNC45IDIzLjEgMTQuOSAzLjctNS40IDcuNy0xMC41IDEyLTE1LjQgMi0yLjYgNS43LTUuNCA3LjEtOC4zIDgtMTIuNiAxMS43LTIxLjEgMjEuNy0zNCAzMi4zLTQxLjEgODEuNy02OS40IDEzNC45LTY5LjQgNiAwIDEyIC4zIDE3LjcgMS4xIDEwLjktMTEuNyAyNi0xOC4zIDQxLjctMTguMyAxNC42IDAgMjkuNyA2IDQwIDE2LjMgLjkgLjkgMS40IDIuMyAxLjQgMy40IDAgMy43LTEwLjMgMTMuNC0xMi45IDE2LjMgNC4zIDEuNCAxNS43IDYuOSAxNS43IDEyIDAgMi45LTIuOSA1LjEtNC42IDcuMSAzMS40IDI3LjcgNDkuNCA2Ny4xIDU2LjMgMTA4IDQuMy01LjEgMTAuMy04LjYgMTcuMS04LjYgMTAuNiAwIDIwLjkgNy4xIDI4LjYgMTQgMjAuOSAxOC42IDI1LjcgNTMuMSAyNS43IDc5Ljd6TTE4OCA4OS40YzAgMTguMyAxMi42IDM3LjEgMzIuMyAzNy4xczMyLjMtMTguOSAzMi4zLTM3LjFjMC0xOC0xMi42LTM2LjktMzIuMy0zNi45UzE4OCA3MS40IDE4OCA4OS40ek0yMzcuNyAxOTRjMC0xOS43IDMuNy0zOS4xIDguNi01OC4zLTUyIDc5LjUtMTMuNSAxODQuNiA2OC45IDE4NC42IDIxLjQgMCA0Mi42LTcuNyA2MC0yMCAyLTcuNCAzLjctMTQuOSAzLjctMjIuNiAwLTE0LjMtNi4zLTIxLjQtMjAuNi0yMS40LTQuNiAwLTkuMSAuOS0xMy40IDEuNy02My4zIDEyLjctMTA3LjEgMy43LTEwNy4xLTY0ek0xOTYuNiA0NDguOWMwLTExLjEtOC45LTIwLjktMjAuMy0yMC45cy0yMCA5LjctMjAgMjAuOWwwIDMyLjZjMCAxMS4xIDguNiAyMS4xIDIwIDIxLjFzMjAuMy05LjcgMjAuMy0yMS4xbDAtMzIuNnptNDkuMSAwYzAtMTEuMS04LjYtMjAuOS0yMC0yMC45cy0yMC4zIDkuNy0yMC4zIDIwLjlsMCAzMi42YzAgMTEuMSA4LjkgMjEuMSAyMC4zIDIxLjFzMjAtMTAgMjAtMjEuMWwwLTMyLjZ6bTQ5LjcgMGMwLTExLjEtOC45LTIwLjktMjAuMy0yMC45cy0yMC4zIDkuNy0yMC4zIDIwLjlsMCAzMi42YzAgMTEuMSA4LjkgMjEuMSAyMC4zIDIxLjFzMjAuMy05LjcgMjAuMy0yMS4xbDAtMzIuNnptNDkuNyAwYzAtMTEuMS04LjktMjAuOS0yMC4zLTIwLjlzLTIwLjMgOS43LTIwLjMgMjAuOWwwIDMyLjZjMCAxMS4xIDguOSAyMS4xIDIwLjMgMjEuMXMyMC4zLTEwIDIwLjMtMjEuMWwwLTMyLjZ6TTQyMS43IDI4NmMtMzAuOSA1OS4xLTkwLjMgMTAyLjYtMTU4LjYgMTAyLjYtOTYuNiAwLTE2MC42LTg0LjYtMTYwLjYtMTc2LjYgMC0xNi45IDItMzMuNCA2LTQ5LjctMjAgMzMuNy0yOS43IDcyLjYtMjkuNyAxMTEuNCAwIDYwLjMgMjQuOSAxMjEuNyA3MS40IDE2MC45IDUuMS05LjcgMTQuOS0xNi4zIDI2LTE2LjMgMTAgMCAxOS40IDUuNyAyNC42IDE0LjMgNS40LTguNiAxNC42LTE0LjMgMjQuOS0xNC4zIDEwIDAgMTkuNCA1LjcgMjQuNiAxNC4zIDUuNC04LjYgMTQuOS0xNC4zIDI0LjktMTQuM3MxOS40IDUuNyAyNC45IDE0LjNjNS4xLTguNiAxNC42LTE0LjMgMjQuNi0xNC4zIDEwLjkgMCAyMC45IDYuNiAyNS43IDE2IDQzLjQtMzYuMyA2OC42LTkyIDcxLjQtMTQ4LjN6bTEwLjYtOTkuN2MwLTUzLjctMzQuNi0xMDUuNy05Mi42LTEwNS43LTMwLjMgMC01OC42IDE1LjEtNzguOSAzNi45LTIwIDY2LjQtMjcuNCAxMzYuNiA0MS40IDEzNi42IDI4LjggMCA5Ny40LTI4LjUgODQuMyAzNi45IDI4LjktMjYgNDUuNy02NS43IDQ1LjctMTA0LjZ6Il19LFBrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkYXJ0LWxhbmciLGljb246WzUxMiw1MTIsW10sImU2OTMiLCJNMzc4LjYgNzguOWMtMi44LS4xLTUuNi0uMi04LjUtLjJsLTI2NC4xIDAgMTQzLjItNzJjNy40LTQuNCAxOC44LTYuNyAzMC40LTYuNyAxMy41IDAgMjkuNCA5LjIgMzcgMTYuOGw2MiA2MiAwIC4xek0xMDcuMyA5Ni41bDI2Mi44IDBjMTYgMCAyNS40IDEuNCAzNS40IDkuM2wxMDYuNSAxMDYuNCAwIDIwOC44LTc5LjMgLjctMzI1LjQtMzI1LjJ6TTk2LjUgMzczbDAtMjYyLjIgMzIzLjggMzIzLjggLjcgNzcuNC0yMTIuMiAwLTk4LjEtOTguMkM5OS40IDQwMi41IDk2LjUgMzk4LjUgOTYuNSAzNzN6TTc4LjcgMTA1LjNsMCAyNjcuN2MwIDMuMyAuMSA2LjMgLjIgOS4xbC02Mi02MkM2LjUgMzA5LjMgMCAyOTQuMyAwIDI3OS42IDAgMjcyLjggMy45IDI2Mi4xIDYuNyAyNTZsNzItMTUwLjd6Il19LElrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkZXBsb3lkb2ciLGljb246WzUxMiw1MTIsW10sImYzOGUiLCJNMzgyLjIgMTM2bDUxLjcgMCAwIDIzOS42LTUxLjcgMCAwLTIwLjdjLTE5LjggMjQuOC01Mi44IDI0LjEtNzMuOCAxNC43LTI2LjItMTEuNy00NC4zLTM4LjEtNDQuMy03MS44IDAtMjkuOCAxNC44LTU3LjkgNDMuMy03MC44IDIwLjItOS4xIDUyLjctMTAuNiA3NC44IDEyLjlsMC0xMDMuOXpNMzE3LjUgMjk3LjhhMzMuMiAzMy4yIDAgMSAwIDY2LjQgMSAzMy4yIDMzLjIgMCAxIDAgLTY2LjQtMXpNMTg4LjUgMTM2bDUxLjcgMCAwIDIzOS42LTUxLjcgMCAwLTIwLjdjLTE5LjggMjQuOC01Mi44IDI0LjEtNzMuOCAxNC43LTI2LjItMTEuNy00NC4zLTM4LjEtNDQuMy03MS44IDAtMjkuOCAxNC44LTU3LjkgNDMuMy03MC44IDIwLjItOS4xIDUyLjctMTAuNiA3NC44IDEyLjlsMC0xMDMuOXpNMTIzLjggMjk3LjhhMzMuMiAzMy4yIDAgMSAwIDY2LjQgMSAzMy4yIDMzLjIgMCAxIDAgLTY2LjQtMXpNNDQ4IDk2YzE3LjUgMCAzMiAxNC40IDMyIDMybDAgMjU2YzAgMTcuNS0xNC40IDMyLTMyIDMyTDY0IDQxNmMtMTcuNSAwLTMyLTE0LjQtMzItMzJsMC0yNTZjMC0xNy41IDE0LjQtMzIgMzItMzJsMzg0IDB6bTAtMzJMNjQgNjRDMjguOCA2NCAwIDkyLjggMCAxMjhMMCAzODRjMCAzNS4yIDI4LjggNjQgNjQgNjRsMzg0IDBjMzUuMiAwIDY0LTI4LjggNjQtNjRsMC0yNTZjMC0zNS4yLTI4LjgtNjQtNjQtNjR6Il19LE5rdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmbGlwYm9hcmQiLGljb246WzQ0OCw1MTIsW10sImY0NGQiLCJNMCAzMmwwIDQ0OCA0NDggMCAwLTQ0OC00NDggMHpNMzU4LjQgMjExLjJsLTg5LjYgMCAwIDg5LjYtODkuNiAwIDAgODkuNi04OS42IDAgMC0yNjguOCAyNjguOCAwIDAgODkuNnoiXX0sUmt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJ1eS1uLWxhcmdlIixpY29uOls1NzYsNTEyLFtdLCJmOGE2IiwiTTI4OC4yIDMyQzEzMy41IDMyIDggMTMyLjMgOCAyNTZTMTMzLjUgNDgwIDI4OC4yIDQ4MCA1NjguNCAzNzkuNyA1NjguNCAyNTYgNDQyLjkgMzIgMjg4LjIgMzJ6TTIwMi44IDM4OS4ybC0xMzguNSAxLjQgNzcuMi0yOTAuNyAxMzMuNCAwYzYzLjIgMCA4NC45IDI4LjYgNzggNzIuOC0uNCAyLjMtLjkgNC42LTEuNSA2LjktNS42LTEuMy0xMS40LTEuOS0xNy4yLTEuOS00Mi4zIDAtNzYuNyAzMy45LTc2LjcgNzUuNyAwIDM3LjEgMjcuMSA2OCA2Mi45IDc0LjUtMTguMiAzNy4yLTU2LjIgNjAuOS0xMTcuNyA2MS41ek0zNTguMiAyMDcuMWwzMiAwLTIyLjIgOTAuMy0zNS40IDAtMTEuMi0zNS42LTcuOCAzNS42LTM3LjggMCAyNi42LTkwLjMgMzEuMyAwIDE1IDM2LjggOS40LTM2Ljh6TTUwNC4xIDM4OS4ybC0xOTcuMSAwIDE1LjgtNjEuMmMzLjggLjYgNy42IC44IDExLjUgLjggNDIuMyAwIDc2LjctMzMuOSA3Ni43LTc1LjYgMC0zMi42LTIxLTYwLjUtNTAuNC03MS4xbDIxLjMtODIuNCA5Mi41IDAtNTMgMjA1LjQgMTAzLjkgMC0yMS4yIDg0LjF6TTIxMS45IDI2OS40bC0yNC43IDAtMTMuOCA1Ni41IDI0LjcgMGMxNi4xIDAgMzIuMS0zLjIgMzcuOS0yNi42IDUuNi0yMi4zLTgtMjkuOC0yNC4xLTI5Ljh6TTIzMy4yIDE3MGwtMjEuMyAwLTExLjcgNDcuNyAyMS40IDBjMTggMCAzNS40LTE0LjYgMzkuMi0zMC4xIDQuNi0xOC45LTkuNS0xNy42LTI3LjYtMTcuNnoiXX0sT2t0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndhdGNobWFuLW1vbml0b3JpbmciLGljb246WzUxMiw1MTIsW10sImUwODciLCJNMjU2IDE2YTI0MCAyNDAgMCAxIDAgMCA0ODAgMjQwIDI0MCAwIDEgMCAwLTQ4MHpNMTIxLjcgNDI5LjFjLTUxLjYtNDAuMi04NC45LTEwMi44LTg0LjktMTczLjEgMC0yMS43IDMuMi00My4zIDkuNi02NC4xbDEwMi45LTE3LjktLjEgMTEtMTMuOSAycy0uMSAxMi41LS4xIDE5LjVjMCAyIC40IDQgMS4yIDUuOHMyLjEgMy40IDMuNyA0LjZsOS41IDcuNC0yNy43IDIwNC45ek0yMjcuNCAxNDUuOWw4LjUtNy42czYuOS01LjQtLjEtOS4zYy03LjItNC0zOS41LTM0LjUtMzkuNS0zNC41LTUuMy01LjUtOC4zLTcuMy0xNS41IDAgMCAwLTMyLjMgMzAuNS0zOS41IDM0LjUtNy4xIDQtLjEgOS4zLS4xIDkuM2w4LjUgNy42IDAgNC40LTczLjUtMTkuMmMzOS42LTU2LjkgMTA1LjUtOTQuMyAxODAtOTQuMyAzMS4zIDAgNjIuMiA2LjcgOTAuNiAxOS42czUzLjggMzEuOCA3NC4zIDU1LjRsLTE5My41IDM3LjcgMC0zLjZ6bTM0LjEgMzI5LjNsLTMzLjktMjUwLjkgOS41LTcuNGMxLjYtMS4yIDIuOC0yLjggMy43LTQuNnMxLjMtMy44IDEuMi01LjhjMC03LS4xLTE5LjUtLjEtMTkuNWwtMTMuOS0yLS4xLTEwLjUgMjQxLjcgMzEuNGMzLjkgMTYuNCA1LjggMzMuMyA1LjggNTAuMSAwIDExOS4xLTk1LjQgMjE2LjItMjEzLjggMjE5LjF6Il19LEZrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJoaXBzIixpY29uOls2NDAsNTEyLFtdLCJmNDUyIiwiTTI1MS42IDE1Ny42YzAtMS45LS45LTIuOC0yLjgtMi44bC00MC45IDBjLTEuNiAwLTIuNyAxLjQtMi43IDIuOGwwIDIwMS44YzAgMS40IDEuMSAyLjggMi43IDIuOGw0MC45IDBjMS45IDAgMi44LS45IDIuOC0yLjhsMC0yMDEuOHpNMTU2LjUgMTY4Yy0xNi4xLTExLjgtMzYuMy0xNy45LTYwLjMtMTgtMTguMS0uMS0zNC42IDMuNy00OS44IDExLjRsMC04MS4yYzAtMS44LS45LTIuNy0yLjgtMi43bC00MC45IDBDLjkgNzcuNSAwIDc4LjQgMCA4MC4yTDAgMzU5LjRjMCAxLjkgLjkgMi44IDIuNyAyLjhsNDEgMGMxLjkgMCAyLjgtLjkgMi44LTIuOGwwLTEzNi4xYzAtLjgtMi44LTI3IDQ1LjgtMjcgNDguNSAwIDQ1LjggMjYuMSA0NS44IDI3bDAgMTIyLjZjMCA5IDcuMyAxNi4zIDE2LjQgMTYuM2wyNy4zIDBjMS44IDAgMi43LS45IDIuNy0yLjhsMC0xMzYuMWMwLTIzLjQtOS4zLTQxLjgtMjgtNTUuM3pNNjM0LjkgMjc4LjFjLTYuOC0xNS43LTE4LjQtMjctMzQuOS0zNC4xbC01Ny42LTI1LjNjLTguNi0zLjYtOS4yLTExLjItMi42LTE2LjEgNy40LTUuNSA0NC4zLTEzLjkgODQgNi44IDEuNyAxIDQtLjMgNC0yLjRsMC00NC43YzAtMS4zLS42LTIuMS0xLjktMi42LTE3LjctNi42LTM2LjEtOS45LTU1LjEtOS45LTI2LjUgMC00NS4zIDUuOC01OC41IDE1LjQtLjUgLjQtMjguNCAyMC0yMi43IDUzLjcgMy40IDE5LjYgMTUuOCAzNC4yIDM3LjIgNDMuNkw1ODAuNCAyODZjMTEuNiA1LjEgMTUuMiAxMy4zIDEyLjIgMjEuMi0zLjcgOS4xLTEzLjIgMTMuNi0zNi41IDEzLjYtMjQuMyAwLTQ0LjctOC45LTU4LjQtMTkuMS0yLjEtMS40LTQuNCAuMi00LjQgMi4zbDAgMzQuNGMwIDEwLjQgNC45IDE3LjMgMTQuNiAyMC43IDE1LjYgNS41IDMxLjYgOC4yIDQ4LjIgOC4yIDEyLjcgMCAyNS44LTEuMiAzNi4zLTQuMyAuNy0uMyAzNi04LjkgNDUuNi00NS44IDMuNS0xMy41IDIuNC0yNi41LTMuMS0zOS4xek0zNzYuMiAxNDkuOGMtMzEuNyAwLTEwNC4yIDIwLjEtMTA0LjIgMTAzLjVsMCAxODMuNWMwIC44IC42IDIuNyAyLjcgMi43bDQwLjkgMGMxLjkgMCAyLjgtLjkgMi44LTIuN2wwLTg4LjhjMTYuNSAxMi43IDM1LjggMTkuMSA1Ny43IDE5LjEgNjAuNSAwIDEwOC43LTQ4LjUgMTA4LjctMTA4LjcgLjEtNjAuMy00OC4yLTEwOC42LTEwOC42LTEwOC42em0wIDQ2LjZhNjIuMiA2Mi4yIDAgMSAxIDAgMTI0LjMgNjIuMiA2Mi4yIDAgMSAxIDAtMTI0LjN6TTIyOC4zIDcyLjVjLTE1LjkgMC0yOC44IDEyLjktMjguOSAyOC45IDAgMTUuNiAxMi43IDI4LjkgMjguOSAyOC45czI4LjktMTMuMSAyOC45LTI4LjljMC0xNi4yLTEzLTI4LjktMjguOS0yOC45eiJdfSxCa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2xvdWR2ZXJzaWZ5IixpY29uOls2NDAsNTEyLFtdLCJmMzg1IiwiTTE2MC42IDMwNGM4LjIgNjguNSA2Ny40IDExNS41IDE0NiAxMTEuMyA1MS4yIDQzLjMgMTM2LjggNDUuOCAxODYuNC01LjYgNjkuMiAxLjEgMTE4LjUtNDQuNiAxMzEuNS05OS41IDE0LjgtNjIuNS0xOC4yLTEzMi41LTkyLjEtMTU1LjEtMzMtODguMS0xMzEuNC0xMDEuNS0xODYuNS04NS01Ny4zIDE3LjMtODQuMyA1My4yLTk5LjMgMTA5LjctNy44IDIuNy0yNi41IDguOS00NSAyNC4xIDExLjcgMCAxNS4yIDguOSAxNS4yIDE5LjVsMCAyMC40YzAgMTAuNy04LjcgMTkuNS0xOS41IDE5LjVsLTIwLjIgMGMtMTAuNyAwLTE5LjUtNi0xOS41LTE2LjdsMC02LjYtNDYuOCAwYy0zLjggMC0xMC44IDQuMy0xMC44IDExLjlsMCA0MC40YzAgNi40IDUuMyAxMS44IDExLjcgMTEuOGw0OC45IDAgMC0uMXpNMzg4IDMxMmMtMTAuNyA0Ni4zIDIxLjcgNzIuNCA1NS4zIDg2LjgtMTA3LjIgMzMuOC0xNzEuNi01MC44LTEzNS4zLTExMC44LTMzLjIgMjEuNi0zMy43IDcxLjItMjkuMiA5Mi45LTE3LjktMTIuNC01My44LTMyLjQtNTcuNC03OS44LTMtMzkuOSAyMS41LTc1LjcgNTctOTMuOSAzMC42LTE1LjggMTAzLjUtOC41IDEzMy42IDQwLjgtMTQuMS00OC01My44LTcwLjEtMTAxLjgtNzQuOCAzMC45LTMwLjcgNjQuNC01MC4zIDExNC4yLTQzLjcgNjkuOCA5LjMgMTMzLjIgODIuOCA2Ny43IDE1MC41IDM1LTE2LjMgNDguNy01NC40IDQ3LjUtNzYuOWwxMC41IDE5LjZjMTEuOCAyMiAxNS4yIDQ3LjYgOS40IDcyLTkuMiAzOS00MC42IDY4LjgtNzkuNyA3Ni41LTMyLjEgNi4zLTgzLjEtNS4xLTkxLjgtNTkuMnpNMTQwIDIwOGwtMzkuOCAwYy04LjkgMC0xNi4yLTcuMy0xNi4yLTE2LjJsMC0zOS42YzAtOC45IDcuMy0xNi4yIDE2LjItMTYuMmwzOS44IDBjOC45IDAgMTYuMiA3LjMgMTYuMiAxNi4ybDAgMzkuNmMwIDguOS03LjMgMTYuMi0xNi4yIDE2LjJ6TTIyLjEgMTY4Yy01LjYgMC0xMC4xLTQuNS0xMC4xLTEwLjFsMC0yNy44YzAtNS42IDQuNS0xMC4xIDEwLjEtMTAuMWwyNy43IDBjNS41IDAgMTAuMSA0LjUgMTAuMSAxMC4xbDAgMjcuOGMwIDUuNi00LjUgMTAuMS0xMC4xIDEwLjFsLTI3LjcgMHpNMTgwIDE0Mi43bDAtMjEuNGMwLTUuMSA0LjItOS4zIDkuMy05LjNsMjEuNCAwYzUuMSAwIDkuMyA0LjIgOS4zIDkuM2wwIDIxLjRjMCA1LjEtNC4yIDkuMy05LjMgOS4zbC0yMS40IDBjLTUuMSAwLTkuMy00LjItOS4zLTkuM3pNNjggMjM1LjVsMCAyNWMwIDYuMy01LjEgMTEuNS0xMS40IDExLjVsLTI1LjIgMGMtNi4zIDAtMTEuNC01LjItMTEuNC0xMS41bDAtMjVjMC02LjMgNS4xLTExLjUgMTEuNC0xMS41bDI1LjEgMGM2LjQgMCAxMS41IDUuMiAxMS41IDExLjV6Il19LEhrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJnb29kcmVhZHMiLGljb246WzQ0OCw1MTIsW10sImYzYTgiLCJNMjk5LjkgMTkxLjJjNS4xIDM3LjMtNC43IDc5LTM1LjkgMTAwLjctMjIuMyAxNS41LTUyLjggMTQuMS03MC44IDUuNy0zNy4xLTE3LjMtNDkuNS01OC42LTQ2LjgtOTcuMiA0LjMtNjAuOSA0MC45LTg3LjkgNzUuMy04Ny41IDQ2LjktLjIgNzEuOCAzMS44IDc4LjIgNzguM3pNNDQ4IDg4bDAgMzM2YzAgMzAuOS0yNS4xIDU2LTU2IDU2TDU2IDQ4MGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZMMCA4OEMwIDU3LjEgMjUuMSAzMiA1NiAzMmwzMzYgMGMzMC45IDAgNTYgMjUuMSA1NiA1NnpNMzMwIDMxMy4ycy0uMS0zNC0uMS0yMTcuM2wtMjkgMCAwIDQwLjNjLS44IC4zLTEuMi0uNS0xLjYtMS4yLTkuNi0yMC43LTM1LjktNDYuMy03Ni00Ni01MS45IC40LTg3LjIgMzEuMi0xMDAuNiA3Ny44LTQuMyAxNC45LTUuOCAzMC4xLTUuNSA0NS42IDEuNyA3Ny45IDQ1LjEgMTE3LjggMTEyLjQgMTE1LjIgMjguOS0xLjEgNTQuNS0xNyA2OS00NS4yIC41LTEgMS4xLTEuOSAxLjctMi45IC4yIC4xIC40IC4xIC42IC4yIC4zIDMuOCAuMiAzMC43IC4xIDM0LjUtLjIgMTQuOC0yIDI5LjUtNy4yIDQzLjUtNy44IDIxLTIyLjMgMzQuNy00NC41IDM5LjUtMTcuOCAzLjktMzUuNiAzLjgtNTMuMi0xLjItMjEuNS02LjEtMzYuNS0xOS00MS4xLTQxLjgtLjMtMS42LTEuMy0xLjMtMi4zLTEuM2wtMjYuOCAwYy44IDEwLjYgMy4yIDIwLjMgOC41IDI5LjIgMjQuMiA0MC41IDgyLjcgNDguNSAxMjguMiAzNy40IDQ5LjktMTIuMyA2Ny4zLTU0LjkgNjcuNC0xMDYuM3oiXX0scWt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRpZGFsIixpY29uOls2NDAsNTEyLFtdLCJlN2RjIiwiTTEwNy4yIDQ4bC0xLjMgMGMtMzIuMyAzMy4xLTY1LjQgNjUuNS05OCA5OC41LTIuNiAyLjgtNi4xIDUuMS03LjkgOC42IDM1LjYgMzUuNCA3MSA3MSAxMDYuNiAxMDYuNCAzNS40LTM1LjMgNzAuNy03MC44IDEwNi4xLTEwNi4xbDAtMS4zLTczLjItNzMuMkMxMjguOCA2OS44IDExNy4zIDU5LjYgMTA3LjIgNDh6bTIxMy41IDBsLTEuMyAwYy0zNC45IDM2LjEtNzEuNSA3MS0xMDYuMyAxMDcuMiAzNS45IDM1LjEgNzEgNzEgMTA2LjcgMTA2LjMgMzQuMy0zNC4xIDY4LjQtNjguNCAxMDIuNi0xMDIuNCAxLjUtMS41IDMuMy0yLjggNC4xLTQuOC0zNC42LTMzLjgtNjguNC02OC4yLTEwMi42LTEwMi4xLTEuMy0xLjMtMi4zLTIuNi0zLjMtNC4xem0yMTMuNSAwbC0xLjMgMGMtMTcuMiAxOC0zNS4xIDM1LjMtNTIuNiA1My0xNy45IDE3LjctMzUuNCAzNS43LTUzLjUgNTMuMyAuOCAyLjMgMyAzLjYgNC42IDUuNUw1MzMuMyAyNjEuNWMzNi4xLTM0LjkgNzAuOC03MS4yIDEwNi43LTEwNi4xLS41LTIuMi0yLjYtMy41LTQtNUw1NTUuOCA3MC4yYy03LjEtNy40LTE0LjktMTQuMi0yMS41LTIyLjJ6TTMxOS42IDI2MS43Yy0zNC45IDM1LjEtNzAgNzAtMTA0LjkgMTA0LjktLjMgLjctLjcgMS43LTEgMi4zIDI0IDIzLjcgNDcuNyA0Ny41IDcxLjUgNzEuMyAxMS44IDExLjMgMjIuOCAyMy41IDM0LjkgMzQuNCA4LjQtNy40IDE2LjQtMTYuNCAyNC43LTI0LjMgMjUuNS0yNS4zIDUxLTUxIDc2LjUtNzYuMyAxLjgtMi4yIDQuMy0zLjYgNS41LTYuMy0zNS40LTM0LjktNzAuNS03MC4yLTEwNS42LTEwNS40bC0xLjUtLjd6Il19LFZrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bml0eSIsaWNvbjpbNDQ4LDUxMixbXSwiZTA0OSIsIk0yNDMuNiA5MS42bDgwLjEgNDYuOGMyLjkgMS42IDMgNi4yIDAgNy44bC05NS4yIDU1LjZjLTIuOSAxLjctNi4zIDEuNi05IDBsLTk1LjItNTUuNmMtMi45LTEuNi0zLTYuMyAwLTcuOGw4MC4xLTQ2LjggMC05MS42LTIwNC40IDExOS40IDAgMjM4LjggNzguNC00NS44IDAtOTMuNmMtLjEtMy4zIDMuOC01LjcgNi43LTMuOWw5NS4yIDU1LjZjMi45IDEuNyA0LjUgNC43IDQuNSA3LjhsMCAxMTEuMmMuMSAzLjMtMy44IDUuNy02LjcgMy45TDk4IDM0Ni44IDE5LjYgMzkyLjYgMjI0IDUxMiA0MjguNCAzOTIuNiAzNTAgMzQ2LjggMjY5LjkgMzkzLjZjLTIuOCAxLjctNi44LS41LTYuNy0zLjlsMC0xMTEuMmMwLTMuMyAxLjgtNi4zIDQuNS03LjhMMzYyLjkgMjE1YzIuOC0xLjcgNi44IC41IDYuNyAzLjlsMCA5My42IDc4LjQgNDUuOCAwLTIzOC44LTIwNC40LTExOS40IDAgOTEuNnoiXX0samt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InRlbmNlbnQtd2VpYm8iLGljb246WzMyMCw1MTIsW10sImYxZDUiLCJNNDAuNSA0OTUuOGMxLjQgMTkuOS0yNy42IDIyLjItMjkuNyAyLjktMTEuNi0xMjkuOSAzMS4xLTIzOS41IDEwMS40LTMxMy4yLTE1LjYtMzQgOS4yLTc3LjEgNTAuNi03Ny4xIDMwLjMgMCA1NS4xIDI0LjYgNTUuMSA1NS4xIDAgNDQtNDkuNSA3MC44LTg2LjkgNDUuMS02NS43IDcxLjMtMTAxLjQgMTY5LjgtOTAuNSAyODcuMnpNMTYwLjIgLjFjLTEyNS45IDAtMjA0LjMgMTM0LjItMTQ4LjMgMjQyLjMgOC43IDE3LjQgMzUuMyA0LjUgMjYuMy0xMy40LTQ2LjMtOTIuNiAyMS0xOTkuMiAxMjItMTk5LjIgNzUuNCAwIDEzNi45IDYxLjQgMTM2LjkgMTM2LjkgMCA5MC44LTg2LjkgMTUzLjktMTY3LjcgMTMzLjEtMTkuMS00LjEtMjUuNiAyNC40LTYuNiAyOS4xIDExMC43IDIzLjIgMjA0LTYwIDIwNC0xNjIuMyAwLTkxLjktNzQuNi0xNjYuNS0xNjYuNi0xNjYuNXoiXX0sVWt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImZyZWUtY29kZS1jYW1wIixpY29uOls1NzYsNTEyLFtdLCJmMmM1IiwiTTk3LjQgOTYuMmMxMC40LTEwLjYgMTYtMTcuMSAxNi0yMS45IDAtMi44LTEuOS01LjUtMy44LTcuNC0yLjQtMS44LTUuNC0yLjgtOC40LTIuOC04LjUgMC0yMC45IDguOC0zNS44IDI1LjctNDEuNSA0Ny4zLTYyLjcgOTMuMS02MS44IDE2MC42UzIxIDM2Ny4zIDU3LjYgNDEyLjJjMTguOCAyMy42IDMzLjIgMzUuOCA0My41IDM1LjggMy4yLS4zIDYuMS0xLjYgOC40LTMuOCAxLjktMi44IDMuOC01LjYgMy44LTguNCAwLTUuNi0zLjktMTIuMi0xMy4yLTIwLjYtNDQuNS00Mi4zLTY3LjMtOTctNjcuNS0xNjUtLjItNjEuNCAyMS42LTExMi40IDY0LjgtMTU0ek0yMzkuNiA0MjAuMWMuNiAuNCAuOSAuNiAuOSAuNmwtLjktLjZ6bTkzLjggLjZsLjItLjFjLS4yIC4xLS4zIC4yLS4yIC4xem0zLjEtMTU4LjJjLTE2LjItNC4yIDUwLjQtODIuOS02OC4xLTE3Ny4yIDAgMCAxNS41IDQ5LjQtNjIuOCAxNTkuNi03NC4zIDEwNC40IDIzLjUgMTY4LjcgMzQgMTc1LjItNi43LTQuMy00Ny40LTM1LjcgOS42LTEyOC42IDExLTE4LjMgMjUuNS0zNC45IDQzLjUtNzIuMiAwIDAgMTUuOSAyMi40IDcuNiA3MS4xLTEyLjUgNzMuNiA1My44IDUyLjUgNTQuOCA1My41IDIyLjggMjYuOC0xNy43IDczLjUtMjEuNiA3Ni42IDUuNS0zLjcgMTE3LjctNzggMzMtMTg4LjEtNiA2LTEzLjggMzQuMi0zMCAzMC4xek01MTEgODkuN2MtMTQuOS0xNi45LTI3LjQtMjUuNy0zNS45LTI1LjctMyAuMS01LjkgMS4xLTguNCAyLjgtMS45IDEuOS0zLjggNC43LTMuOCA3LjQgMCA0LjggNS42IDExLjMgMTYgMjEuOSA0My4yIDQxLjYgNjUgOTIuNiA2NC44IDE1NC4xLS4yIDY4LTIzIDEyMi42LTY3LjUgMTY1LTkuMyA4LjQtMTMuMiAxNC45LTEzLjIgMjAuNiAwIDIuNyAxLjkgNS42IDMuOCA4LjQgMi4zIDIuMiA1LjIgMy42IDguNCAzLjggMTAuMyAwIDI0LjctMTIuMSA0My41LTM1LjggMzYuNi00NC45IDUzLjEtOTQuNCA1NC4xLTE2MS45UzU1Mi41IDEzNyA1MTEgODkuN3oiXX0sV2t0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IngtdHdpdHRlciIsaWNvbjpbNDQ4LDUxMixbXSwiZTYxYiIsIk0zNTcuMiA0OEw0MjcuOCA0OCAyNzMuNiAyMjQuMiA0NTUgNDY0IDMxMyA0NjQgMjAxLjcgMzE4LjYgNzQuNSA0NjQgMy44IDQ2NCAxNjguNyAyNzUuNS01LjIgNDggMTQwLjQgNDggMjQwLjkgMTgwLjkgMzU3LjIgNDh6TTMzMi40IDQyMS44bDM5LjEgMC0yNTIuNC0zMzMuOC00MiAwIDI1NS4zIDMzMy44eiJdfSxHa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3RpY2tlci1tdWxlIixpY29uOls1NzYsNTEyLFtdLCJmM2Y3IiwiTTU2MS43IDE5OS42bDAgMHptLTYuMi03Ny40Yy03LjctMjIuMy01LjEtNy4yLTEzLjQtMzYuOS0xLjYtNi41LTMuNi0xNC41LTYuMi0yMC00LjQtOC43LTQuNi03LjUtNC42LTkuNSAwLTUuMyAzMC43LTQ1LjMgMTktNDYuOS01LjctLjYtMTIuMiAxMS42LTIwLjYgMTctOC42IDQuMi04IDUtMTAuMyA1LTIuNiAwLTUuNy0zLTYuMi01LTItNS43IDEuOS0yNS45LTMuNi0yNS45LTMuNiAwLTEyLjMgMjQuOC0xNyAyNS44LTUuMiAxLjMtMjcuOS0xMS40LTc1LjEgMTgtMjUuMyAxMy4yLTg2LjkgNjUuMi04NyA2NS4zLTYuNyA0LjctMjAgNC43LTM1LjUgMTYtNDQuNCAzMC4xLTEwOS42IDkuNC0xMTAuNyA5LTExMC42LTI2LjgtMTI4LTE1LjItMTU5IDExLjUtMjAuOCAxNy45LTIzLjcgMzYuNS0yNC4yIDM4LjktNC4yIDIwLjQgNS4yIDQ4LjMgNi43IDY0LjMgMS44IDE5LjMtMi43IDE3LjcgNy43IDk4LjMgLjUgMSA0LjEgMCA1LjEgMS41IDAgOC40LTMuOCAxMi4xLTQuMSAxMy0xLjUgNC41LTEuNSAxMC41IDAgMTYgMi4zIDguMiA4LjIgMzcuMiA4LjIgNDYuOSAwIDQxLjggLjQgNDQgMi42IDQ5LjQgMy45IDEwIDEyLjUgOS4xIDE3IDEyIDMuMSAzLjUtLjUgOC41IDEgMTIuNSAuNSAyIDMuNiA0IDYuMiA1IDkuMiAzLjYgMjcgLjMgMjkuOS0yLjUgMS42LTEuNSAuNS00LjUgMy4xLTUgNS4xIDAgMTAuOC0uNSAxNC40LTIuNSA1LjEtMi41IDQuMS02IDEuNS0xMC41LS40LS44LTctMTMuMy05LjgtMTYtMi4xLTItNS4xLTMtNy4yLTQuNS01LjgtNC45LTEwLjMtMTkuNC0xMC4zLTE5LjUtNC42LTE5LjQtMTAuMy00Ni4zLTQuMS02Ni44IDQuNi0xNy4yIDM5LjUtODcuNyAzOS42LTg3LjggNC4xLTYuNSAxNy0xMS41IDI3LjMtNyA2IDEuOSAxOS4zIDIyIDY1LjQgMzAuOSA0Ny45IDguNyA5Ny40LTIgMTEyLjItMiAyLjggMi0xLjkgMTMtLjUgMzguOSAwIDI2LjQtLjQgMTMuNy00LjEgMjkuOS0yLjIgOS43IDMuNCAyMy4yLTEuNSA0Ni45LTEuNCA5LjgtOS45IDMyLjctOC4yIDQzLjQgLjUgMSAxIDIgMS41IDMuNSAuNSA0LjUgMS41IDguNSA0LjYgMTAgNy4zIDMuNiAxMi0zLjUgOS44IDExLjUtLjcgMy4xLTIuNiAxMiAxLjUgMTUgNC40IDMuNyAzMC42IDMuNCAzNi41IC41IDIuNi0xLjUgMS42LTQuNSA2LjQtNy40IDEuOS0uOSAxMS4zLS40IDExLjMtNi41IC4zLTEuOC05LjItMTkuOS05LjMtMjAtMi42LTMuNS05LjItNC41LTExLjMtOC02LjktMTAuMS0xLjctNTIuNiAuNS01OS40IDMtMTEgNS42LTIyLjQgOC43LTMyLjQgMTEtNDIuNSAxMC4zLTUwLjYgMTYuNS02OC4zIC44LTEuOCA2LjQtMjMuMSAxMC4zLTI5LjkgOS4zLTE3IDIxLjctMzIuNCAzMy41LTQ3LjQgMTgtMjIuOSAzNC00Ni45IDUyLTY5LjggNi4xLTcgOC4yLTEzLjcgMTgtOCAxMC44IDUuNyAyMS42IDcgMzEuOSAxNyAxNC42IDEyLjggMTAuMiAxOC4yIDExLjggMjIuOSAxLjUgNSA3LjcgMTAuNSAxNC45IDkuNSAxMC40LTIgMTMtMi41IDEzLjQtMi41IDIuNi0uNSA1LjctNSA3LjItOCAzLjEtNS41IDcuMi05IDcuMi0xNi41IDAtNy43LS40LTIuOC0yMC42LTUyLjl6Il19LFlrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0d2l0Y2giLGljb246WzQ0OCw1MTIsW10sImYxZTgiLCJNMzU5LjQgMTAzLjVsLTM4LjYgMCAwIDEwOS43IDM4LjYgMCAwLTEwOS43ek0yNTMuMiAxMDNsLTM4LjYgMCAwIDEwOS44IDM4LjYgMCAwLTEwOS44ek04OSAwbC05Ni41IDkxLjQgMCAzMjkuMiAxMTUuOCAwIDAgOTEuNCA5Ni41LTkxLjQgNzcuMyAwIDE3My44LTE2NC42IDAtMjU2LTM2Ni45IDB6TTQxNy4zIDIzNy44bC03Ny4yIDczLjEtNzcuMiAwLTY3LjYgNjQgMC02NC04Ni45IDAgMC0yNzQuMyAzMDguOSAwIDAgMjAxLjJ6Il19LEtrdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJraWNrc3RhcnRlci1rIixpY29uOls0NDgsNTEyLFtdLCJmM2JjIiwiTTM1Ni43IDI1Ni4ybDQwLjgtNDAuNWM0Mi4yLTQxLjkgNDIuMi0xMTAuMyAwLTE1Mi4xcy0xMTEtNDEuOS0xNTMuMiAwTDIyOS4zIDc4LjRDMjA5LjYgNTAuMyAxNzcuMSAzMiAxNDAuMiAzMiA4MC41IDMyIDMyIDgwLjIgMzIgMTM5LjVsMCAyMzNjMCA1OS40IDQ4LjUgMTA3LjUgMTA4LjIgMTA3LjUgMzcuMSAwIDY5LjMtMTguMyA4OS00Ni40bDE0LjkgMTQuN2M0Mi4yIDQxLjkgMTExIDQxLjkgMTUzLjIgMHM0Mi4yLTExMC4zIDAtMTUyLjFsLTQwLjgtNDAgLjEgMHoiXX0sWmt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNyaXRpY2FsLXJvbGUiLGljb246WzQ0OCw1MTIsW10sImY2YzkiLCJNMjI1LjggMGMuMyAuMiAyMTYuNiAxMjQuNSAyMTcuMSAxMjQuNyAzIDEuMiAzLjcgMy41IDMuNyA2LjYtLjEgODMuNC0uMSAxNjYuOSAwIDI1MC40IC4xIDEuMi0uMiAyLjQtLjggMy40cy0xLjUgMS45LTIuNiAyLjRjLTIxLjQgMTItMjA3LjkgMTE4LjMtMjE4LjkgMTI0LjZsLTMgMGMtNzkuMy00NS43LTIxOC4zLTEyNS40LTIxOC40LTEyNS41LS42LS4zLTEuMS0uNy0xLjQtMS4zcy0uNS0xLjItLjQtMS45YzAtLjkgMC0yMjUuOS0uMS0yNTMuMS0uMS0xIC4yLTIgLjctMi45czEuMy0xLjYgMi4yLTJDMjcuMiAxMTIuMSAyMTMuMiA2IDIyNC4xIDBsMS44IDB6TTIxNS40IDIwLjRsLS4yLS4yYy02NC43IDM2LjktMTI5LjUgNzMuNy0xOTQuMiAxMTAuNiAwIC4xIC4xIC4yIC4xIC40TDUyIDE0Mi45Yy03LjcgNi04LjMgNi0xMC42IDUuMS0uMSAwLTI0LjItOS4zLTI2LjgtMTBsMCAyMzAuNGMuOS0xLjQgNjQuMS0xMTAuOSA2NC4xLTExMSAxLjYtMi44IDMtMS45IDkuMS0xLjUgMS40IC4xIDEuNSAuMiAuOCAxLjQtNDEuMiA3MS4zLTM2LjQgNjMtNjcuNSAxMTYuOS0uOCAxLjQtLjYgMS4xIDEuMiAxLjFsMTg2LjUgMGMxLjQgMCAxLjctLjIgMS43LTEuNmwwLTguOWMwLTEuMyAyLjQtLjgtMTguNC0xLTcuNS0uMS0xNC4xLTMuMi0yMS40LTEyLjctNy40LTkuNy0xNC42LTE5LjQtMjEuOC0yOS4yLTIuMy0zLjEtMy40LTIuNC0xNi44LTIuNC0xLjggMC0xLjggMC0xLjggMS44IC4zIDI2LjIgLjIgMjUuMyAxIDMyLjcgLjUgNC40IDIuMiA0LjIgOS43IDQuOCAzLjEgLjMgMy45IDQuMSAuNSA0LjktMS42IC40LTMxLjYgLjUtMzMuNy0uMS0uNS0uMS0xLS41LTEuMy0uOXMtLjUtMS0uNC0xLjYgLjMtMS4xIC42LTEuNSAuOS0uNyAxLjQtLjhjMy4zLS44IDYuMiAuOCA2LjctNC40IDEuMy0xMy43IDEuMi05IDEuMS03OS40IDAtMTAuOC0uNC0xMi42LTUuNC0xMy42LTEuMi0uMi0zLjUtLjItNC43LS42LTIuOS0xLTItNC44IDEuOC00LjggMzMuNyAwIDQ2LjEtMS4xIDU2LjEgNC45IDcuNyA0LjYgMTIgMTEuNSAxMi41IDIwLjQgLjkgMTQuNi02LjUgMjIuMy0xNSAzMi42LS4yIC4xLS4zIC4zLS40IC41cy0uMSAuNC0uMSAuNiAwIC40IC4xIC42IC4yIC40IC40IC41YzIuNiAzLjIgNSA2LjYgNy43IDkuOCAyNy42IDMzLjIgMjQuMSAzMC41IDQxLjMgMzMuMSAuOSAuMSAxLS40IDEtMS4ybDAtMTFjMC0xIC4zLTEuNCAxLjQtMS4zIDcuOCAxLjIgMTUuOCAxLjEgMjMuNi0uMyAxLjEtLjEgMS41IC4yIDEuNSAxLjMgMCAuMSAuOSAyNi43IC45IDI2LjggMCAxLjUgLjcgMS42IDEuOSAxLjZsMTg2LjcgMGMtMjcuMi00Ny01NC4yLTk0LTgxLjItMTQwLjggMi4zLS43LS40IDAgNi43LTEuNCAyLS40IDIuMS0uNCAzLjEgMS40IDcuMyAxMi42IDc3LjMgMTM0IDc3LjQgMTM0LjFsMC0yMzAuNGMtMS43IC41LTEwMy4zIDM4LjctMTA1LjggMzkuNy0xLjEgLjQtMS41IC4yLTEuOS0uOS0uNi0xLjktMS4zLTMuOC0yLjEtNS42LS4zLS44LS4xLTEuMSAuNi0xLjQgLjEgMCA5NS41LTM1LjggMTAzLTM4LjgtNjUuNC0zNy42LTEzMC42LTc1LTE5Ni0xMTIuNmw4Ni44IDE1MC40LS4zIC4zYy05LjYtLjktMTAuNS0xLjYtMTEuOC0zLjktMS0xLjctNzMuNS0xMjcuNy04Mi0xNDIuMi05LjEgMTQuNy04My42IDE0Ni4yLTg1LjQgMTQ2LjMtMi45IC4yLTUuOSAuMS05LjIgLjEgMjguOC00OS44IDU3LjYtOTkuNSA4Ni4yLTE0OWwwIDB6bTUxLjkgMTI5LjljMS45LS4xIDMuNy0uNCA1LjUtLjggMS43LS4zIDIuNSAuMiAyLjYgMS45IDAgLjEgLjEgMTkuMS0uOSAyMC41cy0xLjkgMS4yLTIuNi0uMmMtNS05LjcgNi4yLTkuNy0zOS4xLTEyLS43IDAtMSAuMi0xIC45IDAgLjEgMy43IDEyMiAzLjcgMTIyLjEgMCAuOSAuNSAxLjIgMS4yIDEuNSAzIDEuMiA1LjkgMi41IDguNyA0IDcuMyA0LjMgMTEuNCAxMC44IDEyLjQgMTkuMyAxLjQgMTEuOC0yLjggMzUuOC0zMi4yIDM3LjEtMi44IC4xLTI4LjMgMS4xLTM0LjEtMjMuMy00LjctMTkuMyA4LjMtMzIuNyAxOS45LTM2LjQgLjYtLjEgMS4yLS40IDEuNS0uOXMuNS0xLjEgLjUtMS43Yy4xLTUuNiAzLTEwNy4xIDMuNy0xMjEuMyAwLTEuMS0uNi0xLjItMS40LTEuMS0zMi4zIC41LTM2LjctLjMtNDAuMiA4LjUtMi40IDYuMi00LjEgMS4zLTQgLjIgMS4xLTYgMi4yLTEyIDMuMy0xOCAuNC0yLjEgMS40LTIuNiAzLjQtMS45IDUuNiAyLjEgNi43IDEuNyAzNy4yIDEuOSAxLjcgMCAxLjgtLjEgMS44LTEuOCAuNy0yNy41IC42LTIyLjYgMS0yOS42IC4xLS42LS4xLTEuMi0uMy0xLjdzLS43LS45LTEuMy0xLjFjLTUuNi0yLjktOC44LTcuNi04LjktMTMuOS0uNC0xNC44IDE3LjctMjEuNyAyNy40LTExLjUgNi44IDcuMiA1LjggMTguOS0yLjUgMjQuMi0uOCAuNC0xLjQgMS4xLTEuOCAxLjhzLS42IDEuNi0uNCAyLjVjMCAuNi0uMS00LjMgMSAzMCAwIC45IC40IDEuMSAxLjIgMS4xIC4xIDAgMjMtLjEgMzQuNS0uNGwwLS4xek02OC4zIDE0MS43YzE5LjgtNC41IDMyLjctLjYgNTIuNSAxLjcgMi44IC4zIDMuNyAxLjIgMy42IDQtLjIgNS0xLjIgMjIuMy0xLjIgMjMuMSAwIC41LS4yIDEtLjUgMS40cy0uNyAuNy0xLjIgLjljLTQuMSAxLjctMy42LTQuNC00LTcuMy0zLjEtMjIuNC03My45LTMyLjctNzQuNiAyNS40LS4zIDIzLjkgMTcgNTMuNiA1NC4xIDUwLjkgMjcuMi0yIDE5LTIwLjIgMjQuOC0yMC41IC40LS4xIC45IDAgMS4zIC4xcy44IC40IDEuMSAuNyAuNSAuNyAuNiAxLjIgLjEgLjkgMCAxLjNjLTEuOCAxMC44LTMuNCAxOS0zLjQgMTkuMi0xLjUgOS4yLTg2LjcgMjIuMS05My40LTQyLjEtMi43LTI1LjggMTAuNC01My40IDQwLjMtNjAuMnptODAgODcuN2wtMTkuNSAwYy0uNiAwLTEuMi0uMS0xLjYtLjRzLS44LS44LTEtMS40YzIuNC0zLjggNS45IC45IDUuOS02LjEtLjEtMjUuOCAuMi0zOCAuMi00MC4xIDAtMy40LS41LTQuNi0zLjMtNC45LTctLjctMy4xLTMuNC0xLjEtMy40IDExLjgtLjEgMjIuNi0uMiAzMCAuNyA4LjggMS4xIDE2LjcgMTIuNiA3LjkgMjIuNi0yIDIuMi00IDQuNC02LjEgNi43IDEgMS4yIDYuOSA4LjggMTcuMyAxOS43IDIuNyAyLjggNi4yIDMuNSA5LjkgMy4xIC42IDAgMS4xLS4yIDEuNS0uNnMuNy0uOSAuNy0xLjVjLjMtMy40IC4zIDQuNyAuNC00MC42IDAtNS42LS4zLTYuNi0zLjItNi44LTQtLjQtNC0yLjMtLjctMy40bDE5LjEtLjFjLjMgMCA0LjUgLjUgMSAzLjQgMCAwLS4yIDAtLjIgMC0zLjYgLjMtMy45IDEtNCA0LjYtLjMgNDMuOSAuMSA0MC4yIC40IDQyLjggLjEgLjggLjMgMi4yIDUuMSAyLjEgMi41IDAgMy45IDMuNCAwIDMuNC0xMC40IC4xLTIwLjcgMC0zMS4xIC4xLTEwLjcgMC0xMy41LTYuMi0yNC4yLTIwLjgtMS42LTIuMi04LjMtMi40LTguMi0uNCAuOSAxNi41IDAgMTcuOCA0IDE3LjcgNC44LS4xIDQuNyAzLjYgLjggMy41bC4xIDB6bTI3NS0xMC4xYy0xLjIgNy4xIC4yIDEwLjQtNS4zIDEwLjMtNjEuNS0uNC00Ny44LS4yLTUwLjctLjMtMS4yLS4xLTIuNC0uNC0zLjYtLjctMi41LS42IDEuNS0xLjItLjQtNS42LTEuNC0zLjQtMi44LTYuOC00LjEtMTAuMi0uMS0uNC0uNC0uOC0uNy0xLjFzLS44LS40LTEuMy0uNGMtNC45LS4yLTkuNy0uMi0xNC42IC4xLS4zIDAtLjYgLjItLjkgLjNzLS41IC40LS43IC43Yy0xLjYgMy42LTMuMSA3LjMtNC41IDExLTEuMyAzLjIgNy45IDEuMyAxMi4yIDIuMiAzIC42IDQuNSAzLjcgLjcgMy43bC0yNi40IDBjLTIuOSAwLTMuMS0zLjItLjctMy4yIDEuMiAuMSAyLjQtLjIgMy41LS45czEuOS0xLjUgMi40LTIuNmMxLjUtMyAyLjgtNiA0LjEtOS4xIDE4LjItNDIuMSAxNy4xLTQwLjIgMTguNC00MS42IC4yLS4yIC40LS40IC43LS42cy42LS4yIC44LS4yIC42IC4xIC44IC4yIC41IC4zIC43IC42YzIuOSAzLjMgMTguNCA0NC43IDIzLjYgNTEuOSAyIDIuNyA1LjcgMiA2LjQgMiAzLjYgLjEgNC0xLjEgNC4xLTQuMyAuMS0xLjkgLjEgMS4yIC4xLTQxLjIgMC00LjUtMi40LTMuNy01LjYtNC4zLS4zIDAtMi42LS42LS4xLTMuMSAuMi0uMi0uOS0uMiAyMS43LS4yIDIuMyAwIDUuMyAyLjgtMS4yIDMuNC0uNCAwLS43IDAtMS4xIC4ycy0uNiAuMy0uOSAuNi0uNCAuNi0uNiAuOS0uMiAuNy0uMSAxLjFjLS4xIDEuNi0uMiAzOC45IC4zIDQxLjIgLjIgLjcgLjYgMS40IDEuMiAxLjhzMS4zIC43IDIuMSAuNmMxMy4zIC40IDE0LjkgLjQgMTYtMy40IDEuNy01LjggNC4xLTIuNSAzLjctLjJsMCAuMXpNMzE4LjYgMjgzLjZjLTQuMiAwLTQuNC0zLjQtLjYtMy40IDM1LjktLjIgMjguMSAuNCAzNy4yLS42IDEuNy0uMiAyLjQgLjIgMi4zIDEuOS0uMyAzLjQtLjYgNi44LTEgMTAuMi0uMiAyLjItMy4yIDIuNi0zLjQtLjItLjQtNS4zLTIuMi00LjUtMTUuNi01LjEtMS42LS4xLTEuNiAwLTEuNiAxLjVsMCAxNi4xYzAgMS43IDAgMS42IDEuNiAxLjUgMy4xLS4yIDEwLjMgLjMgMTUuNy0xLjUgLjUtLjIgMy4zLTEuOCAzLjEgMS44IDAgLjItLjggMTAuNC0xLjIgMTEuNC0uNSAxLjMtMS45IDEuNS0yLjYgLjMtMS4yLTIgMC01LjEtMy43LTUuMy0xNS40LS45LTEyLjktMi41LTEyLjkgNiAwIDEyLjMtLjggMTYuMSAzLjkgMTYuMiAxNi42IC41IDE0LjQgMCAxNi40LTUuNyAuOC0yLjQgMy41LTEuOCAzLjIgLjYtLjQgMy4yLS44IDYuNC0xLjIgOS42IDAgLjQtLjIgMi40LTQuNyAyLjQtMzcuMi0uMS0zNC41LS4yLTM1LjItLjMtMi43LS41LTIuMi0zIC4yLTMuNCAxLjEtLjIgNCAuNSA0LjItMi42IDIuNC01Ni4yLS4xLTUxLjMtMy45LTUxLjNsMCAwem0tLjQtMTA5LjVjMi41IC42IDMuMSAxLjggMyA0LjYtLjMgNS4zLS4zIDktLjYgOS43LS43IDIuMi0zLjEgMi4xLTMuMy0uMy0uNC00LjgtMy03LjgtNy42LTkuMS0yNi4zLTcuNy0zMi44IDE1LjUtMjcuMiAzMC4yIDUuOSAxNS40IDIyIDE1LjkgMjguOSAxMy44IDUuOS0xLjkgNS45LTYuNSA2LjktNy42IDEuMi0xLjMgMi4yLTEuOCAzLjEgMS4xIDAgLjEgLjYgMTEuOS02IDEyLjctMS42IC4yLTE5LjQgMy43LTMyLjctMy40LTIxLTExLjItMTYuNy0zNS41LTYuOS00NS4zIDE0LTE0LjEgMzkuOS03LjEgNDIuMy02LjVsMCAwek0yODkuOCAyODAuMWMzLjMgMCAzLjcgMyAuMiAzLjQtMi42IC4zLTUtLjQtNSA1LjUgMCAyLS4yIDI5IC40IDQxLjQgLjEgMi4zIDEuMiAzLjUgMy40IDMuNyAyMiAxLjIgMTUtMS43IDE4LjgtNi4zIDEuOC0yLjIgMi44IC44IDIuOCAxLjEgLjMgMTMuNi00IDEyLjQtNS4yIDEyLjRsLTM4LjItLjJjLTEuOS0uMi0yLjEtMy0uNC0zLjQgMi0uNSA0LjkgLjQgNS4xLTIuOCAxLTE1LjkgLjYtNDQuNiAuMy00Ny44LS4zLTMuOC0yLjgtMy4zLTUuNy0zLjctMi41LS40LTItMy4yIC4zLTMuMiAxLjQgMCAxOCAwIDIzLjEgMHptLTMxLjYtNTcuOGMuMSA0LjEgMi45IDMuNSA2IDMuNiAyLjYgLjEgMi41IDMuNC0uMSAzLjQtNi41IDAtMTMuNyAwLTIxLjYtLjEtMy44IDAtMy40LTMuNCAwLTMuNCA0LjUgMCAzLjIgMS42IDMuNC00NS41IDAtNS4xLTMuMy0zLjUtNC43LTQuMi0yLjYtMS4yLTEuNC0zLjEgLjQtMy4yIDEuMyAwIDIwLjItLjQgMjEuMiAuMnMxLjkgMS42LS40IDIuOWMtMSAuNS0zLjktLjMtNC4yIDIuNSAwIC4yLS44IDEuNi0uMSA0My44bDAgMHpNMjIxLjMgNDk2LjZjLjUgLjMgMSAuNSAxLjYgLjVzMS4xLS4yIDEuNi0uNWMxNy05LjggMTgyLTEwMy42IDE5Ny40LTExMi41LS4xLS40IDExLjMtLjItMTgxLjUtLjMtMS4yIDAtMS42IC40LTEuNSAxLjYgMCAuMSAxLjMgNDQuNSAxLjIgNTAuNC0uMSAyLjYtLjYgNS4yLTEuNCA3LjctLjYgMS44IC40LS41LTEzLjUgMzIuMi0uNyAxLjctMSAyLjItMi0uMS00LjItMTAuMy04LjMtMjAuNy0xMi42LTMxLTEuNS0zLjQtMi4yLTcuMS0yLTEwLjggLjItMi41IC44LTE2LjEgMS41LTQ4IDAtMS45IDAtMi0yLTJsLTE4MyAwYzIuNiAxLjYgMTc4LjMgMTAyLjYgMTk2IDExMi44bC4xIDB6TTEzMC40IDMwNy45YzAgMi40IC40IDIuOCAyLjggMyAxMS41IDEuMiAyMSAzLjcgMjUuNi03LjMgNi0xNC41IDIuNy0zNC40LTEyLjUtMzguOC0yLS42LTE2LTIuOC0xNS45IDEuNSAwIDggMCAxMS42IDAgNDEuNnptMTA1LjgtMTVjMCAyLjEgMS4xIDM4LjcgMS4xIDM5LjEgLjMgOS45LTI1LjYgNS44LTI1LjItMi42IC4xLTIgMS40LTM3LjQgMS4xLTM5LjQtMTQuMSA3LjQtMTQuNCA0MC4yIDYuNCA0OC44IDQgMS43IDguNCAxLjkgMTIuNSAuNnM3LjYtNCA5LjktNy43YzQuOS03LjggNi44LTI5LjUtNS40LTM5LS4xIC4xLS4yIC4xLS40IC4xbDAgMHptLTEyLjMtMTk4Yy05LjggMC05LjcgMTQuOC0uMSAxNC45czEwLjEtMTQuOSAuMS0xNC45bDAgMHpNMTQzLjcgMTk4LjZjMCAxLjggLjQgMi40IDIuMiAyLjYgMTMuNiAxLjQgMTIuNS0xMSAxMi4yLTEzLjQtMS43LTExLjItMTQuNC0xMC4yLTE0LjQtNy44IDAgNC41IDAgMTMuNyAwIDE4LjZ6TTM1NiAyMDVsLTYuMS0xNS44Yy0yLjIgNS41LTQuMiAxMC42LTYuMiAxNS44bDEyLjMgMHoiXX0sWGt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN0ZWFtLXN5bWJvbCIsaWNvbjpbNDQ4LDUxMixbXSwiZjNmNiIsIk0yNzMuNSAxNzcuNWE2MSA2MSAwIDEgMSAxMjIgMCA2MSA2MSAwIDEgMSAtMTIyIDB6bTE3NC41IC4yYzAgNjMtNTEgMTEzLjgtMTEzLjcgMTEzLjhMMjI1IDM3MS4zYy00IDQzLTQwLjUgNzYuOC04NC41IDc2LjgtNDAuNSAwLTc0LjctMjguOC04My02N0wwIDM1OCAwIDI1MC43IDk3LjIgMjkwYzE1LjEtOS4yIDMyLjItMTMuMyA1Mi0xMS41bDcxLTEwMS43QzIyMC43IDExNC41IDI3MS43IDY0IDMzNC4yIDY0IDM5NyA2NCA0NDggMTE1IDQ0OCAxNzcuN3pNMjAzIDM2M2MwLTM0LjctMjcuOC02Mi41LTYyLjUtNjIuNS00LjUgMC05IC41LTEzLjUgMS41bDI2IDEwLjVjMjUuNSAxMC4yIDM4IDM5IDI3LjcgNjQuNS0xMC4yIDI1LjUtMzkuMiAzOC02NC43IDI3LjUtMTAuMi00LTIwLjUtOC4zLTMwLjctMTIuMiAxMC41IDE5LjcgMzEuMiAzMy4yIDU1LjIgMzMuMiAzNC43IDAgNjIuNS0yNy44IDYyLjUtNjIuNXpNNDEwLjUgMTc3LjdhNzYuNCA3Ni40IDAgMSAwIC0xNTIuOCAwIDc2LjQgNzYuNCAwIDEgMCAxNTIuOCAweiJdfSxRa3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWFpbGNoaW1wIixpY29uOls0NDgsNTEyLFtdLCJmNTllIiwiTTMzMSAyNDMuNWMzLjEtLjQgNi4yLS40IDkuMyAwIDEuNy0zLjggMi0xMC40IC41LTE3LjYtMi4yLTEwLjctNS4zLTE3LjEtMTEuNS0xNi4xcy02LjUgOC43LTQuMiAxOS40YzEuMyA2IDMuNSAxMS4xIDYgMTQuM2wwIDB6TTI3Ny40IDI1MmM0LjUgMiA3LjIgMy4zIDguMyAyLjEgMS45LTEuOS0zLjUtOS40LTEyLjEtMTMuMS01LTIuMS0xMC40LTIuOC0xNS44LTIuMnMtMTAuNSAyLjctMTQuOCA1LjhjLTMgMi4yLTUuOCA1LjItNS40IDcuMSAuOSAzLjcgMTAtMi43IDIyLjYtMy41IDctLjQgMTIuOCAxLjggMTcuMyAzLjdsMCAwem0tOSA1LjFjLTkuMSAxLjQtMTUgNi41LTEzLjUgMTAuMSAuOSAuMyAxLjIgLjggNS4yLS44IDYtMi4zIDEyLjQtMi45IDE4LjctMS45IDIuOSAuMyA0LjMgLjUgNC45LS41IDEuNS0yLjItNS43LTgtMTUuNC02LjlsMCAwem01NC4yIDE3LjFjMy40LTYuOS0xMC45LTEzLjktMTQuMy03czEwLjkgMTMuOSAxNC4zIDdsMCAwem0xNS43LTIwLjVjLTcuNy0uMS04IDE1LjgtLjMgMTUuOXM4LTE1LjggLjMtMTZsMCAwek0xMTkuNSAzMzIuN2MtMS4zIC4zLTYgMS41LTguNS0yLjMtNS4yLTggMTEuMS0yMC40IDMtMzUuOC05LjEtMTcuNS0yNy44LTEzLjUtMzUtNS41LTguNyA5LjYtOC43IDIzLjUtNSAyNC4xIDQuMyAuNiA0LjEtNi41IDcuNC0xMS42IC45LTEuNCAyLjEtMi42IDMuNS0zLjZzMy0xLjYgNC42LTIgMy40LS40IDUgMCAzLjMgMSA0LjcgMS45YzExLjYgNy42IDEuNCAxNy44IDIuMyAyOC42IDEuNCAxNi43IDE4LjQgMTYuNCAyMS42IDkgLjItLjQgLjMtLjggLjMtMS4ycy0uMi0uOC0uNS0xLjFjMCAuOSAuNy0xLjMtMy40LS40bDAgMHptMjk5LjctMTcuMWMtMy4zLTExLjctMi42LTkuMi02LjgtMjAuNSAyLjQtMy43IDE1LjMtMjQtMy4xLTQzLjMtMTAuNC0xMC45LTMzLjktMTYuNS00MS4xLTE4LjUtMS41LTExLjQgNC42LTU4LjctMjEuNS04MyAyMC44LTIxLjYgMzMuOC00NS4zIDMzLjctNjUuNy0uMS0zOS4yLTQ4LjItNTEtMTA3LjQtMjYuNWwtMTIuNSA1LjNjLS4xIDAtMjIuNy0yMi4zLTIzLjEtMjIuNi02Ny41LTU4LjktMjc4LjggMTc1LjktMjExLjMgMjMyLjlsMTQuOCAxMi41Yy00IDEwLjctNS40IDIyLjItNC4xIDMzLjUgMy40IDMzLjQgMzYgNjAuNCA2Ny41IDYwLjQgNTcuNyAxMzMuMSAyNjcuOSAxMzMuMyAzMjIuMyAzIDEuNy00LjUgOS4xLTI0LjYgOS4xLTQyLjRzLTEwLjEtMjUuMy0xNi41LTI1LjNsMCAwem0tMzE2IDQ4LjJjLTIyLjgtLjYtNDcuNS0yMS4xLTQ5LjktNDUuNS02LjItNjEuMyA3NC4zLTc1LjMgODQtMTIuMyA0LjUgMjkuNi00LjcgNTguNS0zNC4xIDU3LjhsMCAwek04NC43IDI0OS42Yy0xNS4yIDMtMjguNSAxMS41LTM2LjcgMjMuNS00LjktNC4xLTE0LTEyLTE1LjYtMTUtMTMtMjQuOCAxNC4yLTczIDMzLjMtMTAwLjIgNDcuMS02Ny4yIDEyMC45LTExOC4xIDE1NS0xMDguOSA1LjUgMS42IDIzLjkgMjIuOSAyMy45IDIyLjlzLTM0LjEgMTguOS02NS44IDQ1LjNDMTM2LjIgMTUwIDEwNCAxOTcuNyA4NC43IDI0OS42ek0zMjMuNiAzNTAuN3MtMzUuNyA1LjMtNjkuNS03LjFjNi4yLTIwLjIgMjcgNi4xIDk2LjQtMTMuOCAxNS4zLTQuNCAzNS40LTEzIDUxLTI1LjQgMy40IDcuOCA1LjggMTUuOSA3LjEgMjQuMyAzLjctLjcgMTQuMi0uNSAxMS40IDE4LjEtMy4zIDE5LjktMTEuNyAzNi0yNS45IDUwLjgtOC45IDkuNi0xOS40IDE3LjUtMzEuMiAyMy4zLTYuNSAzLjQtMTMuMyA2LjMtMjAuMyA4LjYtNTMuNSAxNy41LTEwOC4zLTEuNy0xMjYtNDMtMS40LTMuMS0yLjYtNi40LTMuNi05LjctNy41LTI3LjItMS4xLTU5LjggMTguOC04MC40IDEuMi0xLjMgMi41LTIuOSAyLjUtNC44LS4yLTEuNy0uOC0zLjMtMS45LTQuNS03LTEwLjEtMzEuMi0yNy40LTI2LjMtNjAuOCAzLjUtMjQgMjQuNS00MC45IDQ0LjEtMzkuOWw1IC4zYzguNSAuNSAxNS45IDEuNiAyMi45IDEuOSAxMS43IC41IDIyLjItMS4yIDM0LjYtMTEuNiA0LjItMy41IDcuNi02LjUgMTMuMy03LjUgMi4zLS42IDQuNy0uNyA3LS4zczQuNiAxLjIgNi42IDIuNWMxMCA2LjYgMTEuNCAyMi43IDExLjkgMzQuNSAuMyA2LjcgMS4xIDIzIDEuNCAyNy42IC42IDEwLjcgMy40IDEyLjIgOS4xIDE0IDMuMiAxIDYuMiAxLjggMTAuNSAzLjEgMTMuMiAzLjcgMjEgNy41IDI2IDEyLjMgMi41IDIuNSA0LjIgNS44IDQuNyA5LjMgMS42IDExLjQtOC44IDI1LjQtMzYuMyAzOC4yLTQ2LjcgMjEuNy05My43IDE0LjQtMTAwLjUgMTMuNy0yMC4yLTIuNy0zMS42IDIzLjMtMTkuNSA0MS4xIDIyLjYgMzMuNCAxMjIuNCAyMCAxNTEuNC0yMS40IC43LTEgLjEtMS42LS43LTEtNDEuOCAyOC42LTk3LjEgMzguMi0xMjguNSAyNi00LjgtMS44LTE0LjctNi40LTE1LjktMTYuNyA0My42IDEzLjUgNzEgLjcgNzEgLjdzMi0yLjgtLjYtMi41ek0xNzEuNyAxNTcuNWMxNi43LTE5LjQgMzcuNC0zNi4yIDU1LjgtNDUuNiAuMS0uMSAuMy0uMSAuNS0uMXMuMyAuMSAuNCAuMiAuMiAuMyAuMiAuNCAwIC4zLS4xIC41Yy0xLjUgMi43LTQuMyA4LjMtNS4yIDEyLjcgMCAuMSAwIC4zIDAgLjRzLjIgLjMgLjMgLjQgLjMgLjEgLjQgLjEgLjMgMCAuNC0uMWMxMS41LTcuOCAzMS41LTE2LjIgNDktMTcuMyAuMiAwIC4zIDAgLjUgLjFzLjIgLjIgLjMgLjQgLjEgLjMgMCAuNS0uMSAuMy0uMyAuNGMtMi45IDIuMi01LjUgNC44LTcuNyA3LjctLjEgLjEtLjEgLjItLjEgLjRzMCAuMyAuMSAuNCAuMiAuMiAuMyAuMyAuMiAuMSAuNCAuMWMxMi4zIC4xIDI5LjcgNC40IDQxIDEwLjcgLjggLjQgLjIgMS45LS42IDEuNy02OS41LTE1LjktMTIzLjEgMTguNS0xMzQuNSAyNi44LS4yIC4xLS4zIC4xLS41IC4xcy0uMy0uMS0uNS0uMi0uMi0uMy0uMi0uNSAuMS0uNCAuMi0uNWwtLjEgMHoiXX0sSmt0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imx1bW9uIixpY29uOls2NDAsNTEyLFtdLCJlN2UyIiwiTTQ1Mi41IDIyMy41YzkuOCAwIDE2LjUgNi4zIDE2LjUgMTYuNmwwIDMxLjhjMCAxMC4zLTYuNiAxNi42LTE2LjYgMTYuNmwtNTYuMiAwYy05LjggMC0xNi41LTYuMy0xNi41LTE2LjZsMC0zMS44YzAtMTAuMyA2LjctMTYuNiAxNi41LTE2LjZsNTYuMyAwem0tMjUuNyAxMy4xYy0xLjUtMi42LTMuMi0yLjYtNC42IDBsLTEwLjcgMTcuNmMtMS43IDIuNC0yLjYgNS4xLTIuNiA4LjIgMCA3LjkgNi45IDE0LjYgMTUuNiAxNC42IDguNSAwIDE1LjYtNi43IDE1LjYtMTQuNiAwLTMtMS01LjgtMi43LTguMmwtMTAuNy0xNy42ek04NS44IDIyMy44YzEgMCAxLjUgLjYgMS41IDEuNWwwIDUwLjMgNjQuNiAwYzEgMCAxLjYgLjYgMS42IDEuNWwwIDkuN2MwIC45LS42IDEuNS0xLjYgMS41bC03OC40IDBjLTEgMC0xLjYtLjYtMS42LTEuNWwwLTYxLjRjMC0uOSAuNi0xLjUgMS42LTEuNWwxMi4zIDB6bTg4LjMgMGMxIDAgMS41IC42IDEuNSAxLjVsMCA0NWMwIDQgMiA1LjIgNS43IDUuMmw0Ni45IDBjMy44IDAgNS43LTEuMyA1LjctNS4ybDAtNDVjMC0uOSAuNS0xLjUgMS41LTEuNWwxMi4zIDBjMSAwIDEuNiAuNiAxLjYgMS41bDAgNDZjMCAxMC41LTUuMyAxNi44LTE3LjYgMTYuOGwtNTQgMGMtMTIuMyAwLTE3LjYtNi4zLTE3LjYtMTYuOGwwLTQ2YzAtLjkgLjYtMS41IDEuNi0xLjVsMTIuMyAwem0xMDguMiAwYzEgMCAxLjYgLjUgMi4yIDEuNGwzMC41IDQ2LjQgMS40IDAgMzAuNS00Ni40Yy42LS45IDEuMi0xLjQgMi4yLTEuNGwxOCAwYzEgMCAxLjUgLjYgMS41IDEuNWwwIDYxLjRjMCAuOS0uNSAxLjUtMS41IDEuNWwtMTIuMyAwYy0xIDAtMS42LS42LTEuNi0xLjVsMC00My44LTEuMSAwLTI4LjcgNDMuOGMtLjYgLjktMS4zIDEuNS0yLjQgMS41bC0xMC43IDBjLTEgMC0xLjctLjYtMi4zLTEuNWwtMjguNy00My44LTEuMSAwIDAgNDMuOGMwIC45LS41IDEuNS0xLjUgMS41bC0xMi4zIDBjLTEgMC0xLjYtLjYtMS42LTEuNWwwLTYxLjRjMC0uOSAuNi0xLjUgMS42LTEuNWwxNy45IDB6bTIxNC40IDBjLjkgMCAxLjMgLjQgMi4yIDEuMWw1Mi43IDQ2LjMgMS4zIDAgMC00NmMwLS45IC42LTEuNSAxLjYtMS41bDEyLjMgMGMxIDAgMS42IC42IDEuNiAxLjVsMCA2MS40YzAgLjktLjYgMS41LTEuNiAxLjVsLTE0LjQgMGMtMSAwLTEuNC0uNC0yLjMtMS4xbC01Mi42LTQ2LjMtMS40IDAgMCA0NmMwIC45LS41IDEuNS0xLjUgMS41bC0xMi4zIDBjLTEgMC0xLjYtLjYtMS42LTEuNWwwLTYxLjRjMC0uOSAuNi0xLjUgMS42LTEuNWwxNC40IDB6TTMyMCAxMTQuMWM4Ny45IDAgMTY3LjcgMTUuNyAyMjUuNSA0MWwyLjcgMS4yQzU4Ny4xIDE3My44IDY0MCAyMDYuNSA2NDAgMjU2cy01Mi45IDgyLjItOTEuOCA5OS42bC0yLjcgMS4yYy01Ny44IDI1LjQtMTM3LjYgNDEtMjI1LjUgNDEtNzYuMiAwLTE1NS4xLTEwLjUtMjI1LjUtNDEtMzkuNi0xNy40LTk0LjUtNTAuMy05NC41LTEwMC44czU0LjktODMuNSA5NC41LTEwMC44YzcwLjQtMzAuNSAxNDkuMy00MSAyMjUuNS00MXptLTg4LjkgMjI5YzIwLjMgMjkgNTIuOCA0OS42IDg4LjkgNDkuNiAzNi4yIDAgNjguNy0yMC42IDg5LTQ5LjdsLTE3Ny45IC4xem0tOTYuMSAwYzQzLjMgMjkuNyA5Ni43IDQzLjUgMTQ4LjQgNDgtMjQuMi05LjEtNDQuNC0yNi43LTU4LjYtNDguMWwtODkuOSAwem0yODAuMy0uMWMtMTQuMiAyMS40LTM0LjQgMzkuMS01OC42IDQ4LjEgNTEuOC00LjUgMTA1LjMtMTguMyAxNDguNi00OC4ybC05MCAwem0tMzM3LjQgLjFjNDQuMSAyMy4xIDkzLjcgMzUuNCAxNDIuNyA0Mi42LTMzLjQtOC42LTY2LjUtMjEuOS05NC40LTQyLjZsLTQ4LjMgMHptNDM2LjItLjJjLTI3LjkgMjAuOC02MS4xIDM0LjItOTQuNiA0Mi44IDQ3LjMtNi45IDg5LjYtMTguNSAxMjMuOS0zMy42bDEuNy0uOGM2LjEtMi43IDExLjktNS41IDE3LjQtOC40bC00OC41IDB6TTUyMCAxNzMuNmMxMC43IDguNyAxOS44IDE4LjEgMjcgMjguMiAuNCAuNiAuNSAxLjMgLjEgMnMtMSAxLTEuNyAxbC0xLjYgMGMtLjYgMC0xLjItLjMtMS41LS44LTcuOS0xMC45LTE4LjItMjEuMS0zMC42LTMwLjRsLTkzLjUgMGM1LjQgOC44IDkuOSAxOC41IDEzLjQgMjguNiAuMiAuNiAuMSAxLjItLjIgMS43cy0uOSAuOC0xLjYgLjhsLTEuNCAwYy0uOCAwLTEuNS0uNS0xLjgtMS4zLTMuOC0xMC43LTguNy0yMC44LTE0LjUtMjkuOWwtMTg0LjMgLjFjLTUuOCA5LjEtMTAuNyAxOS4xLTE0LjQgMjkuOC0uMyAuOC0xIDEuMy0xLjggMS4zbC0xLjQgMGMtLjYgMC0xLjItLjMtMS42LS44cy0uNS0xLjEtLjItMS43YzMuNS0xMC4yIDgtMTkuNyAxMy40LTI4LjZsLTkzLjYgMGMtMTIuMyA5LjMtMjIuNiAxOS40LTMwLjQgMzAuMy0uNCAuNS0uOSAuOC0xLjUgLjhsLTEuNiAwYy0uNyAwLTEuNC0uNC0xLjctMXMtLjMtMS40IC4xLTJjNy42LTEwLjUgMTYuNy0xOS45IDI2LjgtMjhsLTUxIDBjLTI4LjkgMTYuNi02MiA0My4zLTYzLjUgNzkuN2w0NC43IDBjLjUgMCAxIC4yIDEuMyAuNnMuNiAuOCAuNiAxLjNsMCAxLjNjMCAxLjEtLjkgMS45LTEuOSAxLjlsLTQ0LjcgMEM2LjggMjk1IDQwIDMyMS43IDY5IDMzOC4zbDUwLjkgMGMtMTAuMy04LjQtMTkuMS0xNy40LTI2LjEtMjdsLS44LTEuMWMtLjQtLjYtLjUtMS4zLS4xLTJzMS0xIDEuNy0xbDEuNiAwIC4yIDBjLjUgLjEgMSAuMyAxLjMgLjggNy45IDEwLjkgMTguMSAyMSAzMC41IDMwLjNsOTMuNiAwYy01LjMtOC44LTkuOC0xOC40LTEzLjQtMjguNS0uMi0uNi0uMS0xLjIgLjItMS43cy45LS44IDEuNi0uOGwxLjQgMCAuMiAwYy43IC4xIDEuNCAuNiAxLjcgMS4zIDMuOCAxMC43IDguNiAyMC43IDE0LjQgMjkuOGwxODQuNS0uMWM1LjgtOS4xIDEwLjYtMTkuMSAxNC40LTI5LjdsLjEtLjFjLjMtLjcgMS0xLjEgMS43LTEuMWwxLjQgMGMuNiAwIDEuMiAuMyAxLjYgLjhzLjUgMS4yIC4yIDEuN2MtMy41IDEwLjEtOCAxOS43LTEzLjMgMjguNWw5My43IDBjMTIuMy05LjMgMjIuNS0xOS40IDMwLjMtMzAuMmwuMS0uMmMuNC0uNCAuOS0uNiAxLjQtLjZsMS42IDBjLjcgMCAxLjQgLjQgMS43IDFzLjMgMS40LS4xIDJjLTcuMSAxMC0xNi4xIDE5LjMtMjYuNyAyNy45bDUxLjEgMGMyOC44LTE2LjYgNjEuOC00My4zIDYzLjQtNzkuNmwtNDQuNyAwYy0xIDAtMS45LS45LTEuOS0xLjlsMC0xLjNjMC0xLjEgLjktMS45IDEuOS0xLjlsNDQuNyAwYy0xLjYtMzYuNS0zNC45LTYzLjMtNjMuOS03OS45bC01MC45IDB6TTIyMC41IDEyNi4yYy00OS4xIDcuMS05OC43IDE5LjUtMTQzIDQyLjdsNDguNCAwYzI3LjktMjAuOCA2MS0zNC4xIDk0LjUtNDIuN3ptNjIuOC01LjRjLTUxLjggNC41LTEwNS4yIDE4LjMtMTQ4LjYgNDguMWw5MCAwYzE0LjItMjEuNCAzNC40LTM5IDU4LjYtNDguMXptMzYuNi0xLjZjLTM2LjIgMC02OC43IDIwLjYtODkgNDkuN2wxNzcuOS0uMWMtMjAuMy0yOS4xLTUyLjctNDkuNi04OC45LTQ5LjZ6bTM2LjYgMS42YzI0LjIgOS4xIDQ0LjQgMjYuNiA1OC41IDQ4bDg5LjggMGMtNDMuMy0yOS43LTk2LjYtNDMuNS0xNDguMy00OHptNjIuOCA1LjRjMzMuNCA4LjUgNjYuNCAyMS45IDk0LjMgNDIuNWw0OC4zIDBjLTQ0LjEtMjMuMS05My42LTM1LjQtMTQyLjYtNDIuNXoiXX0sZVN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im51dHJpdGlvbml4IixpY29uOls0NDgsNTEyLFtdLCJmM2Q2IiwiTTExMiA4LjFTMjQ1LjQtLjEgMjMzIDExMi41YzAgMCAxOS4xLTc0LjkgMTAzLTQwLjYgMCAwLTE3LjcgNzQtODggNTYgMCAwIDE0LjYtNTQuNiA2Ni4xLTU2LjYgMCAwLTM5LjktMTAuMy04Mi4xIDQ4LjggMCAwLTE5LjgtOTQuNS05My42LTk5LjcgMCAwIDc1LjIgMTkuNCA3Ny42IDEwNy41IDAgLjEtMTA2LjQgNy0xMDQtMTE5Ljh6TTQyNCAzMjMuN2MwIDQ4LjUtOS43IDk1LjMtMzIgMTMyLjMtNDIuMiAzMC45LTEwNSA0OC0xNjggNDgtNjIuOSAwLTEyNS44LTE3LjEtMTY4LTQ4LTIyLjMtMzctMzItODMuOC0zMi0xMzIuMyAwLTQ4LjQgMTcuNy05NC43IDQwLTEzMS43IDQyLjItMzAuOSA5Ny4xLTQ4LjYgMTYwLTQ4LjYgNjMgMCAxMTcuOCAxNy42IDE2MCA0OC42IDIyLjMgMzcgNDAgODMuMyA0MCAxMzEuN3pNMTQ0IDQyOGEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwem0wLTY2LjJhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHptMC02Ni4yYTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6TTIxNiA0MjhhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHptMC02Ni4yYTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6bTAtNjYuMmEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwek0yODggNDI4YTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6bTAtNjYuMmEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwem0wLTY2LjJhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHpNMzYwIDQyOGEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwem0wLTY2LjJhMjggMjggMCAxIDAgLTU2IDAgMjggMjggMCAxIDAgNTYgMHptMC02Ni4yYTI4IDI4IDAgMSAwIC01NiAwIDI4IDI4IDAgMSAwIDU2IDB6TTM4NCAyNTZjLTQuOC0yMi4zLTcuNC0zNi45LTE2LTU2LTM4LjgtMTkuOS05MC41LTMyLTE0NC0zMlMxMTguOCAxODAuMSA4MCAyMDBjLTguOCAxOS41LTExLjIgMzMuOS0xNiA1NiA0Mi4yLTcuOSA5OC43LTE0LjggMTYwLTE0LjhzMTE3LjggNi45IDE2MCAxNC44eiJdfSx0U3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY3JlYXRpdmUtY29tbW9ucy1zYW1wbGluZy1wbHVzIixpY29uOls1MTIsNTEyLFtdLCJmNGYxIiwiTTI1NS42IDhDMzk3LjQgOCA1MDQgMTE4LjEgNTA0IDI1NiA1MDQgNDAzLjEgMzg1LjUgNTA0IDI1NS42IDUwNCAxMjEuNiA1MDQgOCAzOTQuNSA4IDI1NiA4IDEyMy4xIDExMi43IDggMjU1LjYgOHptLjggNDQuN2MtMTE4LjIgMC0yMDMuNyA5Ny45LTIwMy43IDIwMy4zIDAgMTA5LjggOTEuMiAyMDIuOCAyMDMuNyAyMDIuOCAxMDMuMiAwIDIwMi44LTgxLjEgMjAyLjgtMjAyLjggLjEtMTEzLjgtOTAuMi0yMDMuMy0yMDIuOC0yMDMuM3ptMTA3IDIwNS42Yy00LjcgMC05IDIuOC0xMC43IDcuMmwtNCA5LjUtMTEtOTIuOGMtMS43LTEzLjktMjItMTMuNC0yMy4xIC40bC00LjMgNTEuNC01LjItNjguOGMtMS4xLTE0LjMtMjIuMS0xNC4yLTIzLjIgMGwtMy41IDQ0LjktNS45LTk0LjNjLS45LTE0LjUtMjIuMy0xNC40LTIzLjIgMGwtNS4xIDgzLjctNC4zLTY2LjNjLS45LTE0LjQtMjIuMi0xNC40LTIzLjIgMGwtNS4zIDgwLjItNC4xLTU3Yy0xLjEtMTQuMy0yMi0xNC4zLTIzLjItLjJsLTcuNyA4OS44LTEuOC0xMi4yYy0xLjctMTEuNC0xNy4xLTEzLjYtMjItMy4zbC0xMy4yIDI3LjctNDMuOSAwIDAgMjMuMiA1MS4zIDBjNC40IDAgOC40LTIuNSAxMC40LTYuNGwxMC43IDczLjFjMiAxMy41IDIxLjkgMTMgMjMuMS0uN2wzLjgtNDMuNiA1LjcgNzguM2MxLjEgMTQuNCAyMi4zIDE0LjIgMjMuMi0uMWw0LjYtNzAuNCA0LjggNzMuM2MuOSAxNC40IDIyLjMgMTQuNCAyMy4yLS4xbDQuOS04MC41IDQuNSA3MS44Yy45IDE0LjMgMjIuMSAxNC41IDIzLjIgLjJsNC42LTU4LjYgNC45IDY0LjRjMS4xIDE0LjMgMjIgMTQuMiAyMy4xIC4xbDYuOC04MyAyLjcgMjIuM2MxLjQgMTEuOCAxNy43IDE0LjEgMjIuMyAzLjFsMTgtNDMuNCA1MC41IDAgMC0yMy4yLTU4LjQgLjN6bS03OCA1LjJsLTIxLjkgMCAwIDIxLjljMCA0LjEtMy4zIDcuNS03LjUgNy41LTQuMSAwLTcuNS0zLjMtNy41LTcuNWwwLTIxLjktMjEuOSAwYy00LjEgMC03LjUtMy4zLTcuNS03LjUgMC00LjEgMy40LTcuNSA3LjUtNy41bDIxLjkgMCAwLTIxLjljMC00LjEgMy40LTcuNSA3LjUtNy41czcuNSAzLjMgNy41IDcuNWwwIDIxLjkgMjEuOSAwYzQuMSAwIDcuNSAzLjMgNy41IDcuNSAwIDQuMS0zLjQgNy41LTcuNSA3LjV6Il19LGFTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJyZWRoYXQiLGljb246WzUxMiw1MTIsW10sImY3YmMiLCJNMzQxLjUgMjg1LjZjMzMuNyAwIDgyLjMtNi45IDgyLjMtNDcgLjItNi43IC45LTEuOC0yMC45LTk2LjItNC42LTE5LjEtOC43LTI3LjgtNDIuMy00NC42LTI2LjEtMTMuMy04Mi45LTM1LjQtOTkuNy0zNS40LTE1LjcgMC0yMC4yIDIwLjItMzguOSAyMC4yLTE4IDAtMzEuMy0xNS4xLTQ4LjEtMTUuMS0xNi4xIDAtMjYuNyAxMS0zNC44IDMzLjYtMjcuNSA3Ny42LTI2LjMgNzQuMy0yNi4xIDc4LjMgMCAyNC44IDk3LjYgMTA2LjEgMjI4LjUgMTA2LjF6TTQyOSAyNTQuOGM0LjcgMjIgNC43IDI0LjMgNC43IDI3LjIgMCAzNy43LTQyLjMgNTguNi05OCA1OC42LTEyNS43IC4xLTIzNS45LTczLjYtMjM1LjktMTIyLjMgMC02LjggMS40LTEzLjUgNC4xLTE5LjctNDUuMiAyLjMtMTAzLjggMTAuMy0xMDMuOCA2MiAwIDg0LjcgMjAwLjYgMTg5IDM1OS41IDE4OSAxMjEuOCAwIDE1Mi41LTU1LjEgMTUyLjUtOTguNiAwLTM0LjItMjkuNi03My04Mi45LTk2LjJ6Il19LFF1ZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtcGllZC1waXBlciIsaWNvbjpbNDQ4LDUxMixbInBpZWQtcGlwZXItc3F1YXJlIl0sImUwMWUiLCJNMzIuMSA0MTlsLTMyIDYwLjIgLjgtMzI4Qy45IDg1LjMgNTQuMSAzMiAxMjAuMSAzMmwzMjcuMiAwQzM1NC4zIDYwLjkgMjU3LjQgMTI2LjIgMTkzLjQgMjAwLjYgMTIyLjggMjgyIDgyLjcgMzM4IDMyLjEgNDE5em00MTYtMzg3UzMwNS4zIDk4LjggMjYxLjcgMTk5LjFjLTIzLjIgNTMuNi0yOC45IDExOC4xLTcxIDE1OC42LTI4LjkgMjcuOC02OS44IDM4LjItMTA1LjMgNTYuMy0yMy4yIDEyLTY2LjQgNDAuNS04NC45IDY2bDMyOC40IDBjNjYgMCAxMTkuMy01My4zIDExOS4zLTExOS4yLS4xIDAtLjEtMzI4LjgtLjEtMzI4Ljh6Il19LHJTdD1RdWUsc1N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6IndoYXRzYXBwIixpY29uOls0NDgsNTEyLFtdLCJmMjMyIiwiTTM4MC45IDk3LjFjLTQxLjktNDItOTcuNy02NS4xLTE1Ny02NS4xLTEyMi40IDAtMjIyIDk5LjYtMjIyIDIyMiAwIDM5LjEgMTAuMiA3Ny4zIDI5LjYgMTExTDAgNDgwIDExNy43IDQ0OS4xYzMyLjQgMTcuNyA2OC45IDI3IDEwNi4xIDI3bC4xIDBjMTIyLjMgMCAyMjQuMS05OS42IDIyNC4xLTIyMiAwLTU5LjMtMjUuMi0xMTUtNjcuMS0xNTd6bS0xNTcgMzQxLjZjLTMzLjIgMC02NS43LTguOS05NC0yNS43bC02LjctNC02OS44IDE4LjMgMTguNi02OC4xLTQuNC03Yy0xOC41LTI5LjQtMjguMi02My4zLTI4LjItOTguMiAwLTEwMS43IDgyLjgtMTg0LjUgMTg0LjYtMTg0LjUgNDkuMyAwIDk1LjYgMTkuMiAxMzAuNCA1NC4xczU2LjIgODEuMiA1Ni4xIDEzMC41YzAgMTAxLjgtODQuOSAxODQuNi0xODYuNiAxODQuNnpNMzI1LjEgMzAwLjVjLTUuNS0yLjgtMzIuOC0xNi4yLTM3LjktMTgtNS4xLTEuOS04LjgtMi44LTEyLjUgMi44cy0xNC4zIDE4LTE3LjYgMjEuOGMtMy4yIDMuNy02LjUgNC4yLTEyIDEuNC0zMi42LTE2LjMtNTQtMjkuMS03NS41LTY2LTUuNy05LjggNS43LTkuMSAxNi4zLTMwLjMgMS44LTMuNyAuOS02LjktLjUtOS43cy0xMi41LTMwLjEtMTcuMS00MS4yYy00LjUtMTAuOC05LjEtOS4zLTEyLjUtOS41LTMuMi0uMi02LjktLjItMTAuNi0uMnMtOS43IDEuNC0xNC44IDYuOWMtNS4xIDUuNi0xOS40IDE5LTE5LjQgNDYuM3MxOS45IDUzLjcgMjIuNiA1Ny40YzIuOCAzLjcgMzkuMSA1OS43IDk0LjggODMuOCAzNS4yIDE1LjIgNDkgMTYuNSA2Ni42IDEzLjkgMTAuNy0xLjYgMzIuOC0xMy40IDM3LjQtMjYuNHM0LjYtMjQuMSAzLjItMjYuNGMtMS4zLTIuNS01LTMuOS0xMC41LTYuNnoiXX0saVN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImltZGIiLGljb246WzQ0OCw1MTIsW10sImYyZDgiLCJNODkuNSAzMjMuNmwtMzUuNiAwIDAtMTM3LjQgMzUuNiAwIDAgMTM3LjR6bTY2LjYtNzMuMWw5LjEtNjQuMyA0Ni4zIDAgMCAxMzcuNC0zMSAwIDAtOTIuNy0xMy40IDkyLjctMjEuMyAwLTEzLTkwLjctLjEgOTAuNy0zMS4yIDAgMC0xMzcuNCA0Ni4xIDBjLjUgOC4zIDIuOCAxOC4xIDQuMyAyOS40bDQuMiAzNC45em02Ny42IDczLjFsMC0xMzcuNCAyNi42IDBjMTcgMCAyNyAuOSAzMyAyLjQgNi4xIDEuNyAxMC43IDQuMiAxMy45IDcuOSAzLjEgMy4zIDUuMSA2LjYgNS44IDEyIC45IDQuNCAxLjQgMTMuMSAxLjQgMjYuMmwwIDQ4LjJjMCAxMi4zLS43IDIwLjUtMS45IDI0LjctMS4xIDQuMS0zLjEgNy40LTYgOS43LTIuOCAyLjQtNi40IDQuMS0xMC43IDUtNC4yIC44LTEwLjYgMS4zLTE5LjEgMS4zbC00MyAwem0zNS41LTExMy45bDAgODkuNGM1LjEgMCA4LjMtMSA5LjQtMi4zIDEuMS0yIDEuOC03LjYgMS44LTE2LjdsMC01My4zYzAtNi4yLS4xLTEwLjItLjctMTItLjMtMS44LTEuMi0zLTIuNi00LjctMS40IDAtNC4xLS40LTcuOS0uNHptNTcuMyAxMTMuOWwwLTEzNy40IDM0LjEgMCAwIDQzLjljMi45LTIuNCA2LjEtNC45IDkuNS02LjYgMy42LTEuNSA4LjgtMi40IDEyLjgtMi40IDQuOCAwIDguOSAuOCAxMi4zIDIuMiAzLjQgMS41IDYgMy41IDggNi4yIDEuNyAyLjYgMi43IDUuMyAzLjEgNy44IC40IDIuNi0uMiA4LS4yIDE2LjJsMCAzOC42YzAgOC4yIC4yIDE0LjMtLjggMTguNC0xLjEgNC0zLjggNy42LTcuOCA5LjYtNC4xIDMuOS04LjkgNS4zLTE0LjYgNS4zLTQgMC05LjItLjktMTIuNy0yLjUtMy41LTEuOC02LjctNC41LTkuNi04bC0yLjEgOC43LTMyIDB6bTQ1LjEtMjAuN2MuNy0xLjggMS02IDEtMTIuNWwwLTM1LjRjMC01LjYtLjMtOS41LTEuMS0xMS4yLS43LTEuOS0zLjctMi43LTUuOC0yLjctMiAwLTMuNCAuOC00LjEgMi4zLS42IDEuNS0xIDUuNC0xIDExLjZsMCAzNi40YzAgNi4xIC40IDEwIDEuMiAxMS42IC42IDEuNyAyLjEgMi41IDQuMSAyLjUgMi4yIDAgNC4yLS44IDUuNy0yLjZ6TTQxOC40IDMyYzE1LjcgMS4yIDI4LjcgMTUuMiAyOC43IDMxLjlsMCAzODQuMmMwIDE2LjQtMTEuOSAzMC40LTI4LjIgMzEtLjMgMC0uNSAuOS0uOCAuOUwyOS45IDQ4MGMtLjMgMC0uNi0uOS0uOC0uMS0xNS43LTEuNC0yNy45LTEzLjgtMjktMzAuMkwwIDYxLjhDMS4xIDQ1LjkgMTMuOCAzMy4xIDMwLjMgMzEuMWwzODcuNCAwYy4yIDAgLjUgLjkgLjcgLjl6TTMwLjMgNDEuM0MxOSA0MiAxMCA1MSA5LjMgNjIuNGwwIDM4Ny4zYy40IDUuNCAyLjcgMTAuNSA2LjQgMTQuMyAzLjggMy45IDguOCA2LjMgMTQuMiA2LjdsMzg4LjIgMGMxMS41LTEgMjAuNi0xMS42IDIwLjYtMjIuNmwwLTM4NC4yYzAtNS43LTIuMS0xMS4zLTYtMTUuNXMtOS4zLTYuOC0xNS03LjJsLTM4Ny40IDB6Il19LG9TdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJweXRob24iLGljb246WzQ0OCw1MTIsW10sImYzZTIiLCJNNDM5LjggMjAwLjVjLTcuNy0zMC45LTIyLjMtNTQuMi01My40LTU0LjJsLTQwLjEgMCAwIDQ3LjRjMCAzNi44LTMxLjIgNjcuOC02Ni44IDY3LjhsLTEwNi44IDBjLTI5LjIgMC01My40IDI1LTUzLjQgNTQuM2wwIDEwMS44YzAgMjkgMjUuMiA0NiA1My40IDU0LjMgMzMuOCA5LjkgNjYuMyAxMS43IDEwNi44IDAgMjYuOS03LjggNTMuNC0yMy41IDUzLjQtNTQuM2wwLTQwLjctMTA2LjcgMCAwLTEzLjYgMTYwLjIgMGMzMS4xIDAgNDIuNi0yMS43IDUzLjQtNTQuMiAxMS4yLTMzLjUgMTAuNy02NS43IDAtMTA4LjZ6TTI4Ni4yIDQ0NC43YTIwLjQgMjAuNCAwIDEgMSAwLTQwLjcgMjAuNCAyMC40IDAgMSAxIDAgNDAuN3pNMTY3LjggMjQ4LjFsMTA2LjggMGMyOS43IDAgNTMuNC0yNC41IDUzLjQtNTQuM2wwLTEwMS45YzAtMjktMjQuNC01MC43LTUzLjQtNTUuNi0zNS44LTUuOS03NC43LTUuNi0xMDYuOCAuMS00NS4yIDgtNTMuNCAyNC43LTUzLjQgNTUuNmwwIDQwLjcgMTA2LjkgMCAwIDEzLjYtMTQ3IDBjLTMxLjEgMC01OC4zIDE4LjctNjYuOCA1NC4yLTkuOCA0MC43LTEwLjIgNjYuMSAwIDEwOC42IDcuNiAzMS42IDI1LjcgNTQuMiA1Ni44IDU0LjJsMzYuNyAwIDAtNDguOGMwLTM1LjMgMzAuNS02Ni40IDY2LjgtNjYuNHpNMTYxLjIgNjQuN2EyMC40IDIwLjQgMCAxIDEgMCA0MC44IDIwLjQgMjAuNCAwIDEgMSAwLTQwLjh6Il19LG5TdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYXNoLWFwcCIsaWNvbjpbNDQ4LDUxMixbXSwiZTdkNCIsIk00NDAuMyA5Ni45Yy05LjQtMjYuNS0zMC4zLTQ3LjQtNTYuOC01Ny0yNC4xLTcuOS00Ni4zLTcuOS05MS42LTcuOUwxNTYgMzJjLTQ0LjggMC02Ny4yIDAtOTEuMyA3LjUtMjYuNSA5LjYtNDcuNCAzMC41LTU3IDU3LTcuNyAyNC4zLTcuNyA0Ni43LTcuNyA5MS43TDAgMzIzLjhjMCA0NS4yIDAgNjcuNCA3LjUgOTEuNSA5LjYgMjYuNSAzMC41IDQ3LjQgNTcgNTcgMjQuMyA3LjcgNDYuNyA3LjcgOTEuNiA3LjdsMTM1LjcgMGM0NSAwIDY3LjQgMCA5MS42LTcuNyAyNi41LTkuNiA0Ny40LTMwLjUgNTctNTcgNy43LTI0LjMgNy43LTQ2LjcgNy43LTkxLjVsMC0xMzUuNWMwLTQ1IDAtNjcuNC03LjctOTEuNXpNMzIzLjEgMTg1LjRsLTI1LjggMjEuMWMtMi4zIDEuOS01LjUgMS41LTcuMy0uOS0xMy4yLTE2LjItMzMuNy0yNS40LTU2LjEtMjUuNC0yNSAwLTQwLjYgMTAuOS00MC42IDI2LjItLjQgMTIuOCAxMS43IDE5LjYgNDkuMSAyNy43IDQ3LjIgMTAgNjguNyAyOS43IDY4LjcgNjIuNyAwIDQxLjQtMzMuNyA3MS45LTg2LjQgNzUuM2wtNS4xIDI0LjVjLS40IDIuMy0yLjYgNC4xLTUuMSA0LjFsLTQwLjYgMGMtMy40IDAtNS44LTMuMi01LjEtNi40bDYuNC0yNy4zYy0yNi03LjUtNDcuMi0yMi01OS4zLTM5LjctMS41LTIuMy0xLjEtNS4zIDEuMS03bDI4LjItMjJjMi4zLTEuOSA1LjgtMS4zIDcuNSAxLjEgMTQuOSAyMC45IDM4IDMzLjMgNjUuNyAzMy4zIDI1IDAgNDMuOC0xMi4yIDQzLjgtMjkuNyAwLTEzLjQtOS40LTE5LjYtNDEuMi0yNi4yLTU0LjItMTEuNy03NS44LTMxLjgtNzUuOC02NC45IDAtMzguNCAzMi4yLTY3LjIgODAuOS03MWw1LjMtMjUuNGMuNC0yLjMgMi42LTQuMSA1LjEtNC4xbDM5LjkgMGMzLjIgMCA1LjggMyA1LjEgNi4ybC02LjIgMjguNGMyMC45IDYuNCAzOCAxNy45IDQ4LjcgMzIuMiAxLjcgMi4xIDEuMyA1LjMtLjkgN3oiXX0sbFN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpbnRlcmVzdC1wIixpY29uOlszODQsNTEyLFtdLCJmMjMxIiwiTTIwNCA2LjVjLTEwMi42IDAtMjA0IDY4LjQtMjA0IDE3OS4xIDAgNzAuNCAzOS42IDExMC40IDYzLjYgMTEwLjQgOS45IDAgMTUuNi0yNy42IDE1LjYtMzUuNCAwLTkuMy0yMy43LTI5LjEtMjMuNy02Ny44IDAtODAuNCA2MS4yLTEzNy40IDE0MC40LTEzNy40IDY4LjEgMCAxMTguNSAzOC43IDExOC41IDEwOS44IDAgNTMuMS0yMS4zIDE1Mi43LTkwLjMgMTUyLjctMjQuOSAwLTQ2LjItMTgtNDYuMi00My44IDAtMzcuOCAyNi40LTc0LjQgMjYuNC0xMTMuNCAwLTY2LjItOTMuOS01NC4yLTkzLjkgMjUuOCAwIDE2LjggMi4xIDM1LjQgOS42IDUwLjctMTMuOCA1OS40LTQyIDE0Ny45LTQyIDIwOS4xIDAgMTguOSAyLjcgMzcuNSA0LjUgNTYuNCAzLjQgMy44IDEuNyAzLjQgNi45IDEuNSA1MC40LTY5IDQ4LjYtODIuNSA3MS40LTE3Mi44IDEyLjMgMjMuNCA0NC4xIDM2IDY5LjMgMzYgMTA2LjIgMCAxNTMuOS0xMDMuNSAxNTMuOS0xOTYuOCAwLTk5LjMtODUuOC0xNjQuMS0xODAtMTY0LjF6Il19LGNTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ3aG1jcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjQwZCIsIk00NDggMTYxbDAtMjEuMy0yOC41LTguOC0yLjItMTAuNCAyMC4xLTIwLjctMTAuNC0xOS40LTI5IDcuNS03LjItNy41IDcuNS0yOC4yLTE5LjEtMTEuNi0yMS4zIDIxLTEwLjctMy4yLTctMjYuNC0yMi42IDAtNi4yIDI2LjQtMTIuMSAzLjItMTkuNy0yMS0xOS40IDExIDguMSAyNy43LTguMSA4LjQtMjguNS03LjUtMTEgMTkuMSAyMC43IDIxLTIuOSAxMC40LTI4LjUgNy44LS4zIDIxLjcgMjguOCA3LjUgMi40IDEyLjEtMjAuMSAxOS45IDEwLjQgMTguNSAyOS42LTcuNSA3LjIgOC42LTguMSAyNi45IDE5LjkgMTEuNiAxOS40LTIwLjQgMTEuNiAyLjkgNi43IDI4LjUgMjIuNiAuMyA2LjctMjguOCAxMS42LTMuNSAyMC43IDIxLjYgMjAuNC0xMi4xLTguOC0yOCA3LjgtOC4xIDI4LjggOC44IDEwLjMtMjAuMS0yMC45LTE4LjggMi4yLTEyLjEgMjkuMS03ek0zMjguOCA5Mi42YTU2LjggNTYuOCAwIDEgMSAwIDExMy42IDU2LjggNTYuOCAwIDEgMSAwLTExMy42em03Mi4zIDEzMGw0Ni45IDE0LjUgMCAzOS45LTU1LjEgMTMuNC00LjEgMjIuNyAzOC45IDM1LjMtMTkuMiAzNy45LTU0LTE2LjctMTQuNiAxNS4yIDE2LjcgNTIuNS0zOC4zIDIyLjctMzguOS00MC41LTIxLjcgNi42LTEyLjYgNTQtNDIuNC0uNS0xMi42LTUzLjYtMjEuNy01LjYtMzYuNCAzOC40LTM3LjQtMjEuNyAxNS4yLTUwLjUtMTMuNy0xNi4xLTU1LjUgMTQuMS0xOS43LTM0LjggMzcuOS0zNy40LTQuOC0yMi44LTU0LTE0LjEgLjUtNDAuOSA1My41LTE0LjcgNS43LTE5LjctMzguOS0zOS40IDIwLjctMzUuOCA1My42IDE0LjEgMTUuMi0xNS43LTE1LjItNTIgMzYuNC0yMC43IDM2LjggMzkuNCAyMi43LTYuMSAxMS42LTUyIDQyLjQgMCAxMS42IDQ1LjktMjIuNi01LjktNi4zLTEuNy0zLjMgNS43LTExIDE5LjEtMy4zIDUuNiA0LjYgNC42IDE3LjIgMTcuNC0uMyAxLTIzLjggNi41LTYuMiAxLjdjMCAzLjItLjEgOS42LS4zIDE5LjMtNDcuNSAxMC40LTgzLjMgNTIuOC04My4zIDEwMy41IDAgNTguMyA0Ny4zIDEwNS43IDEwNS43IDEwNS43IDUwLjUgMCA5Mi43LTM1LjQgMTAzLjItODIuOCA5LjkgLjEgMTYuNiAuMiAyMC4xIC4zbDEuNi02LjcgNS42LTI0IDEuOS0uNiAxNy4xIDE3LjggNC43IDQuOSA1LjgtMy40IDIwLjQtMTIuMSA1LjgtMy41LTItNi41LTYuOC0yMS4yeiJdfSxkU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiam9nZXQiLGljb246WzUxMiw1MTIsW10sImYzYjciLCJNMzg2LjEgNDVDMzQ1LjYgMTkuOSAzMDAuNiA4IDI1Ni4yIDggMTczIDggOTEuOCA0OS45IDQ0LjkgMTI1LjktMjcgMjQyLjUgOS4zIDM5NS4yIDEyNS45IDQ2Ny4xczI2OS4zIDM1LjYgMzQxLjItODAuOUM1MzkgMjY5LjYgNTAyLjcgMTE2LjggMzg2LjEgNDV6bTUxLjggMzIzLjJjLTQwLjQgNjUuNS0xMTAuNCAxMDEuNS0xODIgMTAxLjUtNi44IDAtMTMuNi0uNC0yMC40LTEtOS0xMy42LTE5LjktMzMuMy0yMy43LTQyLjQtNS43LTEzLjctMjcuMi00NS42IDMxLjItNjcuMSA1MS43LTE5LjEgMTc2LjctMTYuNSAyMDguOC0xNy42LTQgOS04LjYgMTcuOS0xMy45IDI2LjZ6TTIzNy4xIDI4MS45Yy01NS41LTEuNC04MS43LTIwLjgtNTguNS00OC4yczUxLjEtNDAuNyA2OC45LTUxLjJjMTcuOS0xMC41IDI3LjMtMzMuNy0yMy42LTI5LjctMTI4LjYgOC43LTE2Ny4zIDk5LjMtMTc4LjMgMTQwLjItOC44LTQ5LjctLjEtMTAyLjcgMjguNS0xNDkuMSA2MS45LTEwMC41IDE5My41LTEzMS43IDI5NC02OS44IDc0LjggNDYuMSAxMTEuMiAxMzAuOSA5OS4zIDIxMi43LTI0LjktLjUtMTc5LjMtMy42LTIzMC4zLTQuOXptMTgzLjgtNTQuOGMtMjIuNy02LTU3IDExLjMtODYuNyAyNy4yLTI5LjcgMTUuOC0zMS4xIDguMi0zMS4xIDguMnM0MC4yLTI4LjEgNTAuNy0zNC41IDMxLjktMTQgMTMuNC0yNC42Yy0zLjItMS44LTYuNy0yLjctMTAuNC0yLjctMTcuOCAwLTQxLjUgMTguNy02Ny41IDM1LjYtMzEuNSAyMC41LTY1LjMgMzEuMy02NS4zIDMxLjNMMzkzLjUgMjY2IDQ0MCAyNDIuNnMzLjYtOS41LTE5LjEtMTUuNXoiXX0sSnVlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS15b3V0dWJlIixpY29uOls0NDgsNTEyLFs2MTc5OCwieW91dHViZS1zcXVhcmUiXSwiZjQzMSIsIk0yODIgMjU2LjJsLTk1LjItNTQuMSAwIDEwOC4yIDk1LjItNTQuMXpNMzg0IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjR6bTE0LjQgMTM2LjFjNy42IDI4LjYgNy42IDg4LjIgNy42IDg4LjJzMCA1OS42LTcuNiA4OC4xYy00LjIgMTUuOC0xNi41IDI3LjctMzIuMiAzMS45LTI4LjMgNy43LTE0Mi4yIDcuNy0xNDIuMiA3LjdzLTExMy45IDAtMTQyLjItNy42Yy0xNS43LTQuMi0yOC0xNi4xLTMyLjItMzEuOS03LjYtMjguNi03LjYtODguMi03LjYtODguMnMwLTU5LjcgNy42LTg4LjJjNC4yLTE1LjggMTYuNS0yOC4yIDMyLjItMzIuNCAyOC4zLTcuNyAxNDIuMi03LjcgMTQyLjItNy43czExMy45IDAgMTQyLjIgNy43YzE1LjcgNC4yIDI4IDE2LjYgMzIuMiAzMi40eiJdfSx1U3Q9SnVlLHBTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhdGxhc3NpYW4iLGljb246WzUxMiw1MTIsW10sImY3N2IiLCJNMTUyLjIgMjM2LjRjLTcuNy04LjItMTkuNy03LjctMjQuOCAyLjhMMS42IDQ5MC4yYy01IDEwIDIuNCAyMS43IDEzLjQgMjEuN2wxNzUgMGM1LjggLjEgMTEtMy4yIDEzLjQtOC40IDM3LjktNzcuOCAxNS4xLTE5Ni4zLTUxLjItMjY3LjF6TTI0NC40IDguMWMtMTIyLjMgMTkzLjQtOC41IDM0OC42IDY1IDQ5NS41IDIuNSA1LjEgNy43IDguNCAxMy40IDguNEw0OTcgNTEyYzExLjIgMCAxOC40LTExLjggMTMuNC0yMS43IDAgMC0yMzQuNS00NzAuNi0yNDAuNC00ODIuMy01LjMtMTAuNi0xOC44LTEwLjgtMjUuNiAuMXoiXX0sZlN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBpZWQtcGlwZXItaGF0IixpY29uOls2NDAsNTEyLFtdLCJmNGU1IiwiTTY0MCAyNC45Yy04MC44IDUzLjYtODkuNCA5Mi41LTk2LjQgMTA0LjQtNi43IDEyLjItMTEuNyA2MC4zLTIzLjMgODMuNi0xMS43IDIzLjYtNTQuMiA0Mi4yLTY2LjEgNTAtMTEuNyA3LjgtMjguMyAzOC4xLTQxLjkgNjQuMi0xMDguMS00LjQtMTY3LjQgMzguOC0yNTkuMiA5My42IDI5LjQtOS43IDQzLjMtMTYuNyA0My4zLTE2LjcgOTQuMi0zNiAxMzkuMy02OC4zIDI4MS4xLTQ5LjIgMS4xIDAgMS45IC42IDIuOCAuOCAzLjkgMi4yIDUuMyA2LjkgMy4xIDEwLjhsLTUzLjkgOTUuOGMtMi41IDQuNy03LjggNy4yLTEzLjEgNi4xLTEyNi44LTIzLjgtMjI2LjkgMTcuMy0zMTguOSAxOC42LTczLjQgMS4xLTk3LjUtMzMuNS05Ny41LTM1LjEgMC0xLjEgLjYtMS43IDEuNy0xLjcgMCAwIDM4LjMgMCAxMDMuMS0xNS4zIDczLjYtMTQwLjMgMTM5LjItMTg5LjQgMjEwLjYtMTg5LjQgMCAwIDcxLjcgMCA5MC42IDYxLjkgMjIuOC0zOS43IDI4LjMtNDkuMiAyOC4zLTQ5LjIgNS4zLTkuNCAzNS03Ny4yIDg2LjQtMTQxLjQgNTEuNS02NCA5MC40LTc5LjkgMTE5LjMtOTEuOHoiXX0saFN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImludGVybmV0LWV4cGxvcmVyIixpY29uOls1MTIsNTEyLFtdLCJmMjZiIiwiTTQ4My4xIDE1OS43YzEwLjktMjQuNiAyMS40LTYwLjQgMjEuNC04Ny45IDAtNzIuNy03OS42LTk4LjQtMjA5LjctMzguNi0xMDcuNi03LjItMjExLjIgNzMuNy0yMzcuMSAxODYuNSAzMC45LTM0LjkgNzguMy04Mi4zIDEyMi0xMDEuMi01NC4zIDQ4LjMtMTAwLjYgMTA5LjQtMTM1LjcgMTczLjItMjAuNyAzNy45LTQ0IDk5LjItNDQgMTQ1IDAgOTguNiA5Mi45IDg2LjUgMTgwLjMgNDIgMzEuNCAxNS40IDY2LjYgMTUuNiAxMDEuNyAxNS42IDk3LjEgMCAxODQuMi01NC4zIDIxNi44LTE0NmwtMTIwLjggMGMtNTIuNSA4OC42LTE5Ni44IDUzLTE5Ni44LTQ3LjRsMzI4LjggMGM2LjQtNDMuNi0xLjctOTUuNy0yNi45LTE0MS4yek02NC42IDM0Ni45QzgyLjMgMzk4IDExOC4zIDQ0Mi43IDE2NC44IDQ3MC4yIDc2LjEgNTE5LjEtOC40IDQ5OS4zIDY0LjYgMzQ2Ljl6TTE4MC41IDIzOGMyLTU1LjIgNTAuMy05NC45IDEwNC05NC45IDUzLjQgMCAxMDIgMzkuNyAxMDQgOTQuOWwtMjA4IDB6TTM2NS4xIDUwLjRjMjEuNC0xMC4zIDQ4LjYtMjIgNzIuNi0yMiAzMS40IDAgNTQuMyAyMS43IDU0LjMgNTMuNyAwIDIwLTcuNCA0OS0xNC42IDY3LjktMjYuMy00Mi4zLTY2LTgxLjYtMTEyLjMtOTkuNnoiXX0sbVN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFpcmJuYiIsaWNvbjpbNDQ4LDUxMixbXSwiZjgzNCIsIk0yMjQuNSAzNzMuMWMtMjUuMi0zMS43LTQwLjEtNTkuNC00NS04My4yLTIyLjUtODggMTEyLjYtODggOTAuMSAwLTUuNCAyNC4yLTIwLjMgNTItNDUgODMuMmwtLjEgMHptMTM4LjIgNzMuMmMtNDIuMSAxOC4zLTgzLjctMTAuOS0xMTkuMy01MC41IDEwMy45LTEzMC4xIDQ2LjEtMjAwLTE4LjgtMjAwLTU0LjkgMC04NS4yIDQ2LjUtNzMuMyAxMDAuNSA2LjkgMjkuMiAyNS4yIDYyLjQgNTQuNCA5OS41LTMyLjUgMzYtNjAuNSA1Mi43LTg1LjIgNTQuOS01MCA3LjQtODkuMS00MS4xLTcxLjMtOTEuMSAxNS4xLTM5LjIgMTExLjctMjMxLjIgMTE1LjktMjQxLjYgMTUuOC0zMC4xIDI1LjYtNTcuNCA1OS40LTU3LjQgMzIuMyAwIDQzLjQgMjUuOSA2MC40IDU5LjkgMzYgNzAuNiA4OS40IDE3Ny41IDExNC44IDIzOS4xIDEzLjIgMzMuMS0xLjQgNzEuMy0zNyA4Ni42em00Ny0xMzYuMWMtMTI4LjktMjc0LjMtMTM2LTI3OC4yLTE4NS4xLTI3OC4yLTQ1LjUgMC02NC45IDMxLjctODQuNyA3Mi44LTEwNi4yIDIxMi4zLTExNi40IDI0Mi40LTExNy4zIDI0NS0yNS4yIDY5LjMgMjYuNyAxMzAuMiA4OS42IDEzMC4yIDIxLjcgMCA2MC42LTYuMSAxMTIuNC02Mi40IDU4LjcgNjMuOCAxMDEuMyA2Mi40IDExMi40IDYyLjQgNjIuOSAuMSAxMTQuOS02MC45IDg5LjYtMTMwLjIgMC0zLjktMTYuOC0zOC45LTE2LjgtMzkuNmwwIDB6Il19LGdTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJqcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjNiOCIsIk0wIDMybDAgNDQ4IDQ0OCAwIDAtNDQ4LTQ0OCAwek0yNDMuOCAzODEuNGMwIDQzLjYtMjUuNiA2My41LTYyLjkgNjMuNS0zMy43IDAtNTMuMi0xNy40LTYzLjItMzguNUwxNTIgMzg1LjdjNi42IDExLjcgMTIuNiAyMS42IDI3LjEgMjEuNiAxMy44IDAgMjIuNi01LjQgMjIuNi0yNi41bDAtMTQzLjEgNDIuMSAwIDAgMTQzLjd6bTk5LjYgNjMuNWMtMzkuMSAwLTY0LjQtMTguNi03Ni43LTQzTDMwMSAzODIuMWM5IDE0LjcgMjAuOCAyNS42IDQxLjUgMjUuNiAxNy40IDAgMjguNi04LjcgMjguNi0yMC44IDAtMTQuNC0xMS40LTE5LjUtMzAuNy0yOGwtMTAuNS00LjVjLTMwLjQtMTIuOS01MC41LTI5LjItNTAuNS02My41IDAtMzEuNiAyNC4xLTU1LjYgNjEuNi01NS42IDI2LjggMCA0NiA5LjMgNTkuOCAzMy43TDM2OCAyOTBjLTcuMi0xMi45LTE1LTE4LTI3LjEtMTgtMTIuMyAwLTIwLjEgNy44LTIwLjEgMTggMCAxMi42IDcuOCAxNy43IDI1LjkgMjUuNmwxMC41IDQuNWMzNS44IDE1LjMgNTUuOSAzMSA1NS45IDY2LjIgMCAzNy44LTI5LjggNTguNi02OS43IDU4LjZ6Il19LGJTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJxdWluc2NhcGUiLGljb246WzUxMiw1MTIsW10sImY0NTkiLCJNMzEzLjcgNDc0LjZsLTEgMGMtNDEuOSAwLTgyLjEtMTYuNy0xMTEuOC00Ni4zcy00Ni4zLTY5LjktNDYuMy0xMTEuOCAxNi43LTgyLjEgNDYuMy0xMTEuOCA2OS45LTQ2LjMgMTExLjgtNDYuM2M5NC45IDAgMTY4LjIgODMuMSAxNTcgMTc2LjYgNCA1LjEgOC4yIDkuNiAxMS4yIDE1LjMgMTMuNC0zMC4zIDIwLjMtNjIuNCAyMC4zLTk3LjcgMC0xMzUuMS0xMDkuNS0yNDQuNi0yNDQuNi0yNDQuNlMxMi4xIDExNy41IDEyLjEgMjUyLjYgMTIxLjYgNDk3LjIgMjU2LjYgNDk3LjJjMjMuOCAuMiA0Ny42LTMuMiA3MC40LTEwLjEtNS4yLTMuNS04LjktOC4xLTEzLjMtMTIuNXptNzguMy0xNjlhOTkuMiA5OS4yIDAgMSAwIDAgMTk4LjQgOTkuMiA5OS4yIDAgMSAwIDAtMTk4LjR6Il19LHZTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhZHZlcnNhbCIsaWNvbjpbNTEyLDUxMixbXSwiZjM2YSIsIk00ODIuMSAzMkwyOC43IDMyQzUuOCAzMiAwIDM3LjkgMCA2MC45TDAgNDUxLjFDMCA0NzQuNCA1LjggNDgwIDI4LjcgNDgwbDQ1My40IDBjMjQuNCAwIDI5LjktNS4yIDI5LjktMjkuN2wwLTM4OC4xYzAtMjQuNi01LjQtMzAuMi0yOS45LTMwLjJ6TTE3OC40IDIyMC4zYy0yNy41LTIwLjItNzIuMS04LjctODQuMiAyMy40LTQuMyAxMS4xLTkuMyA5LjUtMTcuNSA4LjMtOS43LTEuNS0xNy4yLTMuMi0yMi41LTUuNS0yOC44LTExLjQgOC42LTU1LjMgMjQuOS02NC4zIDQxLjEtMjEuNCA4My40LTIyLjIgMTI1LjMtNC44IDQwLjkgMTYuOCAzNC41IDU5LjIgMzQuNSAxMjguNSAyLjcgMjUuOC00LjMgNTguMyA5LjMgODguOCAxLjkgNC40IC40IDcuOS0yLjcgMTAuNy04LjQgNi43LTM5LjMgMi4yLTQ2LjYtNy40LTEuOS0yLjItMS44LTMuNi0zLjktNi4yLTMuNi0zLjktNy4zLTIuMi0xMS45IDEtNTcuNCAzNi40LTE0MC4zIDIxLjQtMTQ3LTQzLjMtMy4xLTI5LjMgMTIuNC01Ny4xIDM5LjYtNzEgMzguMi0xOS41IDExMi4yLTExLjggMTE0LTMwLjkgMS4xLTEwLjItMS45LTIwLjEtMTEuMy0yNy4zem0yODYuNyAyMjJjMCAxNS4xLTExLjEgOS45LTE3LjggOS45bC0zOTQuOSAwYy03LjQgMC0xOC4yIDQuOC0xNy44LTEwLjcgLjQtMTMuOSAxMC41LTkuMSAxNy4xLTkuMSAxMzIuMy0uNCAyNjQuNS0uNCAzOTYuOCAwIDYuOCAwIDE2LjYtNC40IDE2LjYgOS45em0zLjgtMzQwLjVsMCAyOTFjMCA1LjctLjcgMTMuOS04LjEgMTMuOS0xMi40LS40LTI3LjUgNy4xLTM2LjEtNS42LTUuOC04LjctNy44LTQtMTIuNC0xLjItNTMuNCAyOS43LTEyOC4xIDcuMS0xNDQuNC04NS4yLTYuMS0zMy40LS43LTY3LjEgMTUuNy0xMDAgMTEuOC0yMy45IDU2LjktNzYuMSAxMzYuMS0zMC41bDAtNzFjMC0yNi4yLS4xLTI2LjIgMjYtMjYuMiAzLjEgMCA2LjYgLjQgOS43IDAgMTAuMS0uOCAxMy42IDQuNCAxMy42IDE0LjMtLjEgLjItLjEgLjMtLjEgLjV6TTQxNy40IDMzNC4xYy0xOS41IDQ3LjYtNzIuOSA0My4zLTkwIDUuMi0xNS4xLTMzLjMtMTUuNS02OC4yIC40LTEwMS41IDE2LjMtMzQuMSA1OS43LTM1LjcgODEuNS00LjggMjAuNiAyOC44IDE0LjkgODQuNiA4LjEgMTAxLjF6TTEyMi42IDM2OS40Yy03LjUtMS4zLTMzLTMuMy0zMy43LTI3LjgtLjQtMTMuOSA3LjgtMjMgMTkuOC0yNS44IDI0LjQtNS45IDQ5LjMtOS45IDczLjctMTQuNyA4LjktMiA3LjQgNC40IDcuOCA5LjUgMS40IDMzLTI2LjEgNTkuMi02Ny42IDU4Ljh6Il19LHhTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjcmVhdGl2ZS1jb21tb25zIixpY29uOls1MTIsNTEyLFtdLCJmMjVlIiwiTTI1My44IDIxNC45bC0zMy4yIDE3LjNjLTkuNC0xOS42LTI1LjItMTkuOS0yNy41LTE5LjktMjIuMSAwLTMzLjIgMTQuNi0zMy4yIDQzLjggMCAyMy42IDkuMiA0My44IDMzLjIgNDMuOCAxNC41IDAgMjQuNi03LjEgMzAuNi0yMS4zbDMwLjYgMTUuNWMtNi4yIDExLjUtMjUuNyAzOS02NS4xIDM5LTIyLjYgMC03NC0xMC4zLTc0LTc3IDAtNTguNyA0My03Ny4xIDcyLjYtNzcuMSAzMC43IDAgNTIuNyAxMS45IDY2IDM1Ljl6bTE0MyAwbC0zMi44IDE3LjNjLTkuNS0xOS44LTI1LjctMTkuOS0yNy45LTE5LjktMjIuMSAwLTMzLjIgMTQuNi0zMy4yIDQzLjggMCAyMy41IDkuMiA0My44IDMzLjIgNDMuOCAxNC40IDAgMjQuNi03LjEgMzAuNS0yMS4zbDMxIDE1LjVjLTIuMSAzLjgtMjEuNCAzOS02NS4xIDM5LTIyLjcgMC03NC05LjktNzQtNzcgMC01OC43IDQzLTc3LjEgNzIuNi03Ny4xIDMwLjcgMCA1Mi42IDExLjkgNjUuNiAzNS45ek0yNTUuNiA4QzExMi43IDggOCAxMjMuMSA4IDI1Ni4xIDggMzk0LjUgMTIxLjYgNTA0LjEgMjU1LjYgNTA0LjEgMzg1LjUgNTA0LjEgNTA0IDQwMy4yIDUwNCAyNTYuMSA1MDQgMTE4LjIgMzk3LjQgOCAyNTUuNiA4em0uOSA0NTAuOGMtMTEyLjUgMC0yMDMuNy05My0yMDMuNy0yMDIuOCAwLTEwNS40IDg1LjQtMjAzLjMgMjAzLjctMjAzLjMgMTEyLjUgMCAyMDIuOCA4OS41IDIwMi44IDIwMy4zIDAgMTIxLjctOTkuNyAyMDIuOC0yMDIuOCAyMDIuOHoiXX0seVN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5vdGlvbiIsaWNvbjpbNTEyLDUxMixbXSwiZTdkOSIsIk05NC45IDEwMC4yYzE0LjkgMTIuMSAyMC41IDExLjIgNDguNiA5LjNMNDA3LjggOTMuNmM1LjYgMCAuOS01LjYtLjktNi41TDM2Mi45IDU1LjRjLTguNC02LjUtMTkuNi0xNC00MS4xLTEyLjFMNjUuOSA2MS45Yy05LjMgLjktMTEuMiA1LjYtNy41IDkuM2wzNi40IDI4Ljl6bTE1LjkgNjEuNmwwIDI3OC4xYzAgMTQuOSA3LjUgMjAuNSAyNC4zIDE5LjZsMjkwLjUtMTYuOGMxNi44LS45IDE4LjctMTEuMiAxOC43LTIzLjNsMC0yNzYuMmMwLTEyLjEtNC43LTE4LjctMTUtMTcuN0wxMjUuNyAxNDMuMWMtMTEuMiAuOS0xNC45IDYuNS0xNC45IDE4Ljd6bTI4Ni43IDE0LjljMS45IDguNCAwIDE2LjgtOC40IDE3LjhsLTE0IDIuOCAwIDIwNS4zYy0xMi4yIDYuNS0yMy40IDEwLjMtMzIuNyAxMC4zLTE1IDAtMTguNy00LjctMjkuOS0xOC43bC05MS41LTE0My43IDAgMTM5IDI5IDYuNXMwIDE2LjgtMjMuNCAxNi44bC02NC40IDMuN2MtMS45LTMuNyAwLTEzLjEgNi41LTE0LjlsMTYuOC00LjcgMC0xODMuOC0yMy4zLTEuOWMtMS45LTguNCAyLjgtMjAuNSAxNS45LTIxLjVsNjkuMS00LjcgOTUuMyAxNDUuNiAwLTEyOC44LTI0LjMtMi44Yy0xLjktMTAuMyA1LjYtMTcuNyAxNC45LTE4LjdsNjQuNS0zLjh6TTQ0LjQgMzYuN0wzMTAuNiAxNy4xYzMyLjctMi44IDQxLjEtLjkgNjEuNiAxNGw4NSA1OS43YzE0IDEwLjMgMTguNyAxMy4xIDE4LjcgMjQuM2wwIDMyNy42YzAgMjAuNS03LjUgMzIuNy0zMy42IDM0LjVMMTMzLjIgNDk1LjhjLTE5LjYgLjktMjktMS45LTM5LjItMTQuOUwzMS40IDM5OS43Yy0xMS4yLTE0LjktMTUuOS0yNi4xLTE1LjktMzkuMmwwLTI5MS4yYzAtMTYuOCA3LjUtMzAuOCAyOC45LTMyLjd6Il19LHdTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjaHJvbWVjYXN0IixpY29uOls1MTIsNTEyLFtdLCJmODM4IiwiTTQ0OCA2NEw2NC4yIDY0Yy0yMy42IDAtNDIuNyAxOS4xLTQyLjcgNDIuN2wwIDYzLjkgNDIuNyAwIDAtNjMuOSAzODMuOCAwIDAgMjk4LjYtMTQ5LjIgMCAwIDQyLjcgMTQ5LjQgMGMyMy42IDAgNDIuNy0xOS4xIDQyLjctNDIuN2wwLTI5OC42QzQ5MC45IDgzLjEgNDcxLjYgNjQgNDQ4IDY0ek0yMS41IDM4My42bDAgNjMuOSA2My45IDBjMC0zNS4zLTI4LjYtNjMuOS02My45LTYzLjl6bTAtODVsMCA0Mi40YzU4LjkgMCAxMDYuNiA0OC4xIDEwNi42IDEwN2w0Mi43IDBjLjEtODIuNC02Ni45LTE0OS4zLTE0OS4zLTE0OS40ek0yMTMuNiA0NDhsNDIuNyAwQzI1NS44IDMxOC41IDE1MSAyMTMuNyAyMS41IDIxMy40bDAgNDIuNGMxMDYtLjIgMTkyIDg2LjIgMTkyLjEgMTkyLjJ6Il19LE1TdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bHRyYWx5dGljcy1odWIiLGljb246WzUxMiw1MTIsW10sImU4NmUiLCJNMTMwLjQgMTZjNjAuOSAwIDExMC40IDQ5LjUgMTEwLjQgMTEwLjRsMCAyNC45YzQuOC0uNyA5LjctMSAxNC42LTEgODguMS0uMiAxNjUuMSA0OSAyMDUuNCAxMjEuMi0yMi44LTE2LjItNTAuNy0yNS40LTgwLjQtMjUuMy03Ny4xIC4yLTEzOS41IDYyLjYtMTM5LjYgMTM5LjQtLjEgNjAuOS00OS41IDExMC4zLTExMC43IDExMC41LTYwLjYgLjItMTEwLjItNDkuNS0xMTAuMi0xMTAuNSAuMi0yLjYgMCAwIC4xLTMuMmwwLTI1NkMyMC4xIDY1LjUgNjkuNSAxNiAxMzAuNCAxNnpNMzgwLjMgNDk2YTExMC40IDExMC40IDAgMSAxIDAtMjIwLjkgMTEwLjQgMTEwLjQgMCAxIDEgMCAyMjAuOXoiXX0sa1N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Indpa2lwZWRpYS13IixpY29uOls2NDAsNTEyLFtdLCJmMjY2IiwiTTY0MCA1MS4ybC0uMyAxMi4yYy0yOC4xIC44LTQ1IDE1LjgtNTUuOCA0MC4zLTI1IDU3LjgtMTAzLjMgMjQwLTE1NS4zIDM1OC42bC0xMy42IDAtODEuOS0xOTMuMWMtMzIuNSA2My42LTY4LjMgMTMwLTk5LjIgMTkzLjEtLjMgLjMtMTUgMC0xNS0uMy00Ni45LTEwOS43LTk2LjEtMjE4LjYtMTQzLjEtMzI4LjYtMTEuNC0yNi43LTQ5LjQtNzAtNzUuNi02OS43IDAtMy4xLS4zLTEwLS4zLTE0LjJsMTYxLjkgMCAwIDEzLjljLTE5LjIgMS4xLTUyLjggMTMuMy00My4zIDM0LjIgMjEuOSA0OS43IDEwMy42IDI0MC4zIDEyNS42IDI4OC42IDE1LTI5LjcgNTcuOC0xMDkuMiA3NS4zLTE0Mi44LTEzLjktMjguMy01OC42LTEzMy45LTcyLjgtMTYwLTkuNy0xNy44LTM2LjEtMTkuNC01NS44LTE5LjdsMC0xMy45IDE0Mi41IC4zIDAgMTMuMWMtMTkuNCAuNi0zOC4xIDcuOC0yOS40IDI2LjEgMTguOSA0MCAzMC42IDY4LjEgNDguMSAxMDQuNyA1LjYtMTAuOCAzNC43LTY5LjQgNDguMS0xMDAuOCA4LjktMjAuNi0zLjktMjguNi0zOC42LTI5LjQgLjMtMy42IDAtMTAuMyAuMy0xMy42IDQ0LjQtLjMgMTExLjEtLjMgMTIzLjEtLjZsMCAxMy42QzQ2Mi40IDY0IDQzOS4xIDc2IDQyNi44IDk0LjlMMzY3LjYgMjE3LjdjNi40IDE2LjEgNjMuMyAxNDIuOCA2OS4yIDE1Ni43TDU1OS4yIDkxLjhjLTguNi0yMy4xLTM2LjQtMjguMS00Ny4yLTI4LjNsMC0xMy45IDEyNy44IDEuMSAuMiAuNXoiXX0sU1N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNpdHJveCIsaWNvbjpbNDQ4LDUxMixbXSwiZTQ0YSIsIk0yMTIuNCAwbDAgMCAyMzUuNiAwIDAgMTI4LTM4NCAwQzY0IDU3LjYgMTQxLjggLjUgMjEyLjQgMHptMjQuOCAxOTJsMCAwYzY5LjkgLjUgMTQ2LjcgNTcuNiAxNDYuNyAxMjhsLTE3My4yIDAgMCAwQzE0MC45IDMxOS42IDY0IDI2Mi40IDY0IDE5MmwxNzMuMyAwem0tMS43IDMyMGM3MC43LS41IDE0OC40LTU3LjYgMTQ4LjQtMTI4bC0zODQgMCAwIDEyOCAyMzUuNiAwIDAgMHoiXX0sZXBlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1naXRsYWIiLGljb246WzQ0OCw1MTIsWyJnaXRsYWItc3F1YXJlIl0sImU1YWUiLCJNMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2em0zMzcuNSAxMi41bDQ0LjYgMTE2LjQgLjQgMS4yYzUuNiAxNi44IDcuMiAzNS4yIDIuMyA1Mi41LTUgMTcuMi0xNS40IDMyLjQtMjkuOCA0My4zbC0uMiAuMS02OC40IDUxLjItNTQuMSA0MC45Yy0uNSAuMi0xLjEgLjUtMS43IC44LTIgMS00LjQgMi02LjcgMi0zIDAtNi44LTEuOC04LjMtMi44bC01NC4yLTQwLjktNjcuOS01MC45LS40LS4zLS4yLS4xYy0xNC4zLTEwLjgtMjQuOC0yNi0yOS43LTQzLjNzLTQuMi0zNS43IDIuMi01Mi41bC41LTEuMiA0NC43LTExNi40Yy45LTIuMyAyLjUtNC4zIDQuNS01LjYgMS42LTEgMy40LTEuNiA1LjItMS44IDEuMy0uNyAyLjEtLjQgMy40IC4xIC42IC4yIDEuMiAuNSAyIC43IDEgLjQgMS42IC45IDIuNCAxLjUgLjYgLjQgMS4yIDEgMi4xIDEuNSAxLjIgMS40IDIuMiAzIDIuNyA0LjhsMjkuMiA5Mi4yIDEyMi45IDAgMzAuMi05Mi4yYy41LTEuOCAxLjQtMy40IDIuNi00LjhzMi44LTIuNCA0LjUtMy4xYzEuNy0uNiAzLjYtLjkgNS40LS43czMuNiAuOCA1LjIgMS44YzIgMS4zIDMuNyAzLjMgNC42IDUuNnoiXX0selN0PWVwZSxDU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2hvZWxhY2UiLGljb246WzUxMiw1MTIsW10sImU2MGMiLCJNNDA1LjIgMzMxYzIuMi0xLjEgNC40LTIuMyA2LjUtMy43bDguMy00LjhjMS41LTEuMSA0LjQtMy40IDguNy02LjdsLjUtLjVjMy40LTMuNCA3LjItNSAxMS4zLTQuOSAxLjggMCAzLjkgLjUgNi40IDEuNWwzMS0yNy41Yy45LS43IDEuNy0xLjMgMi42LTEuOGwuMiAwYzMuMy0xLjkgNi0xLjggOC4yIC40IDMuOSAyLjEgNC4yIDUuNiAuOSAxMC42TDQ1Ny4yIDMyMmMuMiAuNSAuNCAxIC40IDEuNSAuNSAyLjIgLjMgNC40LS41IDYuNi0uNyAxLjUtMS44IDIuOS0zLjEgNC4yLTEuNCAxLjQtMi43IDIuOC00LjIgNC4yTDQzMSAzNTIuMmMtMS43IDEuMi0zLjQgMi4zLTUuMSAzLjMtMi4xIDEuMy00LjMgMi41LTYuNiAzLjYtMSAuNC0xLjkgLjktMi45IDEuMy01LjkgMi41LTExLjkgNC4yLTE4LjIgNS0yLjkgMjQuNS0xMS4zIDQ3LjEtMjUuMSA2Ny44LTE3LjUgMjUuNy00MS40IDQ1LjQtNzEuOCA1OC44LTMwLjIgMTMuNS02MyAyMC4yLTk4LjIgMjAuMi00OC42LS41LTg4LTExLjQtMTE4LjItMzIuOC0zNS4xLTI1LTUyLjYtNTcuOS01Mi42LTk5LjFsMC01LjZjMS4yLTI4LjEgOS41LTU0LjYgMjQuOC03OS44IDE1LjEtMjQuOSAzNy4xLTQxLjcgNjYuMS01MC41IDE0LjktNC40IDI5LjktNi42IDQ1LTYuNiAxNS41IDAgMzEuNiAyLjkgNDguMSA4LjZzMzUuMiAxNS41IDU1LjkgMjkuNWw1NC4xIDM2LjNjMTUuMSA5LjggMjguOCAxNi41IDQxLjIgMjAtMi42LTI1LjEtMTEuNy00Ni42LTI3LjMtNjQuNS0xNS43LTE4LjEtMzUuNi0zMS4zLTU5LjktMzkuN0wyNTcgMjIwYy0yMS40LTcuNS0zNy4zLTE0LjktNDcuNy0yMi4yLTI4LjItMTkuMS00My44LTQ1LjItNDctNzguNWwtLjUtOS44YzAtMzIuMSAxMy01OC45IDM5LTgwLjUgMjMtMTkuMyA1MC42LTI5IDgyLjUtMjkgMjQgMCA0NS42IDYuOSA2NC43IDIwLjggMTkuMiAxNCAzMC4xIDMzLjggMzIuNiA1OS40bC41IDEwYzAgMTguNi00LjggMzQuNS0xNC40IDQ3LjctOS44IDEzLjItMTguNSAxOS45LTI2IDE5LjktMS42LS4xLTMuMS0uMy00LjUtLjZsLTM0IDMyYy01LjUgMy05LjIgMi41LTExLjEtMS42LTEuOS0yLjItMS44LTQuOSAuNS04LjJsLjItLjJjLjUtLjcgMS4yLTEuNSAyLTIuNGwzMS42LTMwYy0uNC0xLjUtLjYtMy4xLS42LTQuOCAwLTQuMSAxLjYtNy42IDQuOS0xMC40IDEzLjgtMTIuNCAyMC44LTI2LjcgMjAuOC00Mi44IDAtMTYtNi4xLTI5LjUtMTguMi00MC40cy0yOC43LTE2LjUtNDkuNy0xNi44Yy0yNi4yIDAtNDcuOCA3LjktNjQuNyAyMy43UzE5Mi42IDg5LjkgMTkyLjYgMTEyYzAgMTcuOCA2LjkgMzMuOSAyMC42IDQ4LjMgMTMuNiAxNC4yIDM0LjYgMjUuNCA2MyAzMy41IDM5LjggMTEuNSA3MC4yIDMxIDkxLjMgNTguMyAxOC43IDI0LjIgMjkuMSA1MS4zIDMxLjMgODEuNCAyLjItLjcgNC4zLTEuNSA2LjUtMi42bC0uMSAuMXpNMjk0LjQgMTc4LjdjMCAxLjEgLjYgMS42IDEuOCAxLjYgLjEgMCA5LjctOC45IDI4LjgtMjYuNiAwLTIuNC01LjEgLjktMTUuMyAxMC0xMC4yIDkuMi0xNS4zIDE0LjItMTUuMyAxNC45bDAgLjF6bTggNi40YzAtMS0uNS0xLjUtMS41LTEuNS0xLjEgMC0yLjEgLjUtMi45IDEuNi0xLjktLjEtMy4zIC4xLTQuMiAuNy0uNCAuMi0uNSAuNS0uNSAuNyAwIC43IC41IDEuMyAxLjUgMS42bDMuMyAwYzIuOS0xLjEgNC40LTIuMiA0LjQtMy4zbC0uMSAuMnpNMzI1IDE2NS4yYzAtMi44LTEuNi0yLjgtNC45IDAtMS42IDEuNS0zLjYgMy41LTYgNi4yLS44IC42LTIuNiAyLjItNS4zIDQuOS0yLjggMi45LTQuMiA0LjctNC4yIDUuM2wuMiAxLjNjLjcgLjIgMS4yIC40IDEuNSAuNCAuMSAwIDMuMy0yLjkgOS41LTguN3M5LjMtOC45IDkuMy05LjNsLS4xLS4xem0xNTkuNyAxMjBsLTMwLjYgMjdjMS44IDEgMy4yIDIuNCA0IDQuMmwzMC4yLTI3Yy4yLTEuMiAuMS0yLjItLjUtMi45LS42LS41LTEuNi0uOS0zLjEtMS4zem0tMS42LS45bC0uNy0uNy0yNyAyMS45IDEuNiAyIDI2LTIzLjEgLjEtLjF6TTM2Ni45IDM2My45Yy04LTIuMS0xNS40LTQuNi0yMi4yLTcuNS0xNS4zLTYuMi0zNC4zLTE3LTU3LTMyLjRsLTM3LjQtMjUuM2MtMTUuOC0xMC4xLTMwLjItMTcuNi00My4yLTIyLjYtMTMuMS00LjktMjYtNy4zLTM4LjYtNy4zbC01LjUgMGMtMzIuMiAxLjctNTcuMiAxMy44LTc1IDM2LjItMTYuNiAyMC44LTI1IDQ1LjMtMjUgNzMuNiAwIDMxLjggMTIuOCA1Ni43IDM4LjIgNzQuNyAyNS40IDE4LjEgNjAuMiAyNy4xIDEwNC40IDI3LjEgMzQuNyAwIDY0LTYuMiA4Ny44LTE4LjYgMjMuNy0xMi40IDQyLjEtMjguOCA1NS4yLTQ5LjIgOS44LTE1LjUgMTUuOS0zMS44IDE4LjItNDguOGwuMSAuMXoiXX0sX1N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im9wZW5zdHJlZXRtYXAiLGljb246WzUxMiw1MTIsW10sImU4NmIiLCJNNjEgNDk4LjdjLTcuMS0xLjgtMTAuOC00LjctMjkuNi0yMy42LTIyLjUtMjIuNC0yMy45LTI0LjYtMjMuOS0zNi4zIDAtMTMtMy45LTguNCA2Ny45LTgwLjMgNzIuNS03Mi43IDY4LjctNjkuNSA4MS45LTY5LjUgNi4xIDAgNy42IC40IDEyLjUgMi44bDUuNiAyLjhjMTEuNy0xMS43IDIzLjQtMjMuNCAzNS4xLTM1LjFsLTQuNC02LjljLTguNi0xMy4zLTE2LjYtMzIuOC0yMC4zLTQ4LjktMTAuMi00NS40IC44LTkzLjMgMjkuOC0xMjkuNyA1MC4xLTYyLjggMTQwLjEtNzYuNyAyMDYuNi0zMiAzNi41IDI0LjUgNjAuMyA2Mi41IDY3IDEwNyAxLjQgOS40IDEuNCAzMS44IDAgNDEuOC00LjkgMzQuNi0xOS43IDY0LTQ0LjQgODguNy0xMi43IDEyLjctMjMgMjAuMS0zOS4yIDI4LjItMTkuMyA5LjctMzUuNyAxNC4zLTU4IDE2LjEtMzEuNyAyLjYtNjYuOS02LjEtOTMuOC0yMy40bC02LjktNC40Yy0xMS43IDExLjctMjMuNCAyMy40LTM1LjEgMzUuMWwyLjggNS42YzIuNSA0LjkgMi44IDYuNCAyLjggMTIuNSAwIDEzLjEgMy4xIDkuNC02OSA4MS41LTU1LjYgNTUuNS02NC4xIDYzLjctNjguNCA2NS43LTUuNSAyLjUtMTMuOSAzLjQtMTkgMi4xek0zNTkuNCAyOTYuOWM0MC4xLTcuMyA3NS4xLTM0IDkyLjctNzAuNyAyOC01OC40IDkuMi0xMjctNDQuOC0xNjMuMy0xMi45LTguNy0zMC44LTE2LTQ3LjctMTkuNC0xMS43LTIuNC0zNi40LTIuMS00OC42IC41LTE4LjIgMy45LTM0LjkgMTEuMS00OS40IDIxLjQtOC45IDYuNC0yMy43IDIxLjEtMjkuOSAyOS45LTM0LjYgNDktMzEuNSAxMTQuMSA3LjcgMTU5LjMgMjAuMSAyMy4yIDQ3LjggMzguNCA3OC42IDQzIDEwLjIgMS41IDMxIDEuMiA0MS41LS44em0tMzUuNS0xNy40Yy0xMy44LTIuMi0yNS42LTUuNy0zNS4xLTEwLjVsLTUuNC0yLjcgMC00OS45LTkuNSAwYy04LjIgMC0xOS41IDEuNi0yNy43IDQtMS4xIC4zLTEuNSAxLjYtMS43IDQuOGwtLjMgNC40LTQuMS03LjhjLTktMTcuMi0xMi4yLTMwLjctMTIuMi01MS40IDAtMTYgMS4xLTIzLjQgNS42LTM2LjMgMi40LTYuOCA4LjItMTguOSAxMC44LTIyLjMgMS4xLTEuNSAxLjItMS4xIDEuMyAzLjNsMCA1YzE4LjgtLjIgMzcuNi0uMyA1Ni40LS41IC4yLTQuNyAuMy05LjUgLjUtMTQuMmwtMTkgMCAwLTMxIDMuNC0xLjdjNS42LTIuOCAxNS45LTYuNyAyMS43LTguMiAzLS44IDYuMS0xLjYgNi45LTEuOCAxLjItLjQgMS4zIC4xIC43IDMuMy0xLjIgNi4xLS45IDIzIC41IDI5IDIuOCAxMS45IDkuOCAyMC43IDE5LjIgMjQuMyA1LjYgMi4xIDE2LjMgMi42IDIyLjUgLjkgNS45LTEuNiAxMi41LTYuNCAxNS45LTExLjUgNS03LjUgNi43LTE0LjEgNy4yLTI3LjFsLjQtMTEuNCA3IDMuNmM4IDQuMiAxNy44IDExLjIgMjQuOSAxOCA0LjggNC42IDUgNC44IDUgOS4ybDAgNC41LTE4LjkgMCAwIDE0LjYgMzUgMGMxLjMgMi42IDIuNSA1LjIgMy44IDcuN2wtOS43IDBjLTYuNyAwLTEyLjcgLjYtMTkuNCAxLjlsLTkuNyAxLjkgMCA3LjFjMCAzLjkgLjIgNy4xIC4zIDcuMXM0LjEtLjggOC43LTEuNyA4LjctMS43IDkuMS0xLjdjLjQgMCAuOCAxMS4zIC44IDI1LjhsMCAyNS44Yy02LjIgLjItMTIuMyAuMy0xOC41IC41LS4yIDQuNy0uMyA5LjQtLjUgMTQuMiAxMy41IC4yIDI3IC4zIDQwLjQgLjUtMSAyLjMtMiA0LjUtMyA2LjhsLTEwLjcgLjFjLTkuOSAuMS0xMS4xIC4yLTE1LjYgMi41LTExLjggNS44LTE4LjEgMTguOS0xOC4zIDM3LjlsLS4xIDkuMy01LjggM2MtNSAyLjYtMjIuNiA5LTI0LjkgOS0uNSAwLS44LTEyLS44LTMwLjZsMC0zMC42LTkuNCAwYy02IDAtMTIuNCAuNi0xNy45IDEuNy0xMi42IDIuNi0xMS41IDEuNy0xMS41IDkuNSAwIDUgLjMgNi44IDEuMSA2LjggLjYgMCA0LjYtLjggOC44LTEuN3M4LTEuNyA4LjMtMS43IC42IDExIC42IDI0LjVsMCAyNC41LTcuNS0uMWMtNC4xLS4xLTguNS0uMy05LjctLjV6bS0zOS40LTcxLjZjOC45LTMuOSAxNS42LTEyLjkgMTguMy0yNC40IDEuNi02LjkgMS43LTIyLjYgMC0zMC4yLTIuNS0xMi05LjYtMjEuMS0xOS4zLTI0LjgtNi45LTIuNi0xOC40LTIuNi0yNS4zIDAtOS43IDMuNy0xNi40IDEyLjgtMTkuMiAyNS42LTEuNiA3LjUtMS42IDIxLjQgMCAyOC45IDIuNiAxMi41IDEwLjUgMjIuMyAyMC42IDI1LjYgNyAyLjMgMTguOSAyIDI0LjktLjd6bS0xOS45LTE0LjVjLTMuNS0zLTUuMi04LjktNS44LTIwLjYtLjYtMTAuNSAuNi0yMS4zIDIuOS0yNiAyLTQuMyA1LjgtNi40IDEwLjQtNiA3LjQgLjggMTAuMyA2LjUgMTEuMSAyMi41IC45IDE2LjctMS45IDI4LjktNyAzMS4zLTMuOSAxLjgtOC42IDEuMy0xMS42LTEuMnptOTQuOSAxNS4xYzE1LTQuNiAyMi44LTIwLjEgMjEuOS00My41LS44LTE5LjktNy45LTMyLjEtMjEuNS0zNy4yLTUuNy0yLjEtMTgtMS44LTI0IC41LTkuNiAzLjctMTYuNCAxMi40LTE5LjMgMjQuNy0yIDguNi0xLjMgMjggMS4zIDM1LjIgNCAxMS4zIDExLjYgMTguNyAyMS40IDIxIDUuOCAxLjQgMTQuNCAxIDIwLjMtLjh6bS0xNi43LTE0LjJjLTUtMi43LTcuMy0xMy4yLTYuNS0zMC4xIC42LTEyLjggMS41LTE2LjcgNC44LTIwLjQgNC43LTUuMyAxMy42LTMuOCAxNi43IDIuOCAzLjQgNy4zIDQgMzAuMSAxIDQwLjItMS43IDUuNy01LjIgOC44LTEwLjEgOC43LTIgMC00LjYtLjYtNS44LTEuM3ptLTg1LjIgNTEuNWMtNy4zLTcuNi05LjktMTEuNC04LjQtMTEuOSAyLjktLjkgMTMuOS0zLjEgMTQuMi0yLjggLjIgLjIgLjIgNC45IC4xIDEwLjRsLS4yIDEwLjEtNS42LTUuOXptMTU2LjQtMS4yYy43LTYgMy4xLTExLjUgNS43LTEzLjIgMi45LTEuOCA2LjQtMi42IDgtMS43IDEuMiAuNyAuOSAxLjUtMi40IDUuOS0yLjEgMi44LTUuNiA3LTcuOCA5LjRsLTQgNC4zIC41LTQuN3pNNDM4LjQgMTYxbC4xLTMyLjkgMi42IDcuN2M1LjEgMTUuMyA2LjkgMzEuOCA1LjEgNDYuNi0xLjQgMTEuNi0xLjQgMTEuNS00LjkgMTEuNWwtMyAwIC4xLTMyLjl6TTM0NCAxMDYuMmMtMi42LTEtNS4zLTQuOC02LjUtOS0xLjItNC0xLjUtMjguNS0uNC0zMy41IC42LTMgLjktMy4yIDMuOC0zLjIgNi4yIDAgMTguMyAyIDE4LjcgMy4xIC4yIC42IC43IDQuOSAxIDkuNSAuNyA5LjctLjcgMjMuMi0yLjggMjcuNi0yLjQgNS4xLTguNSA3LjUtMTMuNyA1LjN6bS05NC4zLTIuNGMuNC0uOCAzLjctNC42IDcuMy04LjRsNi41LTYuOWMwIDUuNiAwIDExLjIgLjEgMTYuOGwtNy4zIDBjLTYuNyAwLTcuMy0uMS02LjUtMS41em0zNC40IDM0MS43Yy0yNC02LjktNDMuOS0xMi45LTQ0LjItMTMuMS0uNS0uNiAyNC4zLTg4LjUgMjUuMy04OS42IC41LS41IDg1LjQgMjMuMyA4OC45IDI0LjkgMS4yIC42LS4xIDUuOC0xMC42IDQyLjQtNi42IDIzLTEyLjQgNDMuMi0xMi44IDQ1cy0xLjQgMy4yLTEuOSAzLjEtMjAuNy01LjgtNDQuNy0xMi43ek0zNDIuOCA0NTZjMC0xLjEgMjQuNy04Ny4zIDI1LjEtODcuNiAuOS0uNyA4Ny4xLTI0LjcgODcuNC0yNC40IC40IC40LTI0LjEgODcuMy0yNC43IDg3LjktLjQgLjMtODMuMiAyNC04NS44IDI0LjUtMS4xIC4yLTEuOSAuMS0xLjktLjR6TTE5OS42IDQxNy41YzE3LTE3LjEgMzIuMi0zMi43IDMzLjctMzQuNyAzLjQtNC41IDguMi0xNC44IDkuNS0yMC41IC41LTIuNCAxLjEtNy4xIDEuMi0xMC41bC4yLTYuMiAzLjctMWMyLS42IDMuOC0uOSA0LS43IC41IC41LTI0LjMgODctMjUuMSA4Ny44LS40IC4zLTEzLjYgNC4zLTI5LjQgOC44bC0yOC43IDguMiAzMS0zMS4xem0xNjYuOS02MS42Yy0uMi0uMy0uNy0yLTEuMi0zLjdsLS45LTMuMiAzLjItLjVjMjctNC42IDU1LjktMTcuMyA3OC43LTM0LjUgMy4zLTIuNSA1LjEtMy40IDUuMy0yLjcgMS4xIDMuMyA1LjUgMTkuMSA1LjQgMTkuMy0uNyAuNy05MC4yIDI1LjgtOTAuNSAyNS40ek02Mi45IDMyOS44Yy0xLS44LTIzLjgtNzcuOS0yNS41LTg2LjQtLjMtMS43IDMtLjkgNDMuOCAxMC44IDQyLjcgMTIuMiA0NC4yIDEyLjcgNDQuOCAxNC45IC41IDIgLjIgMi42LTIuNSA0LjUtMS43IDEuMi0xNS41IDE0LjYtMzAuNyAyOS44cy0yNy44IDI3LjYtMjggMjcuNi0xLjEtLjUtMS44LTEuMXptMTYuNS04OC4yYy0yMy45LTYuOS00My41LTEyLjYtNDMuNi0xMi42LS4zLS4yIDI1LjMtODkuMyAyNS45LTg5LjggLjQtLjQgODkuMSAyNC40IDkwIDI1LjIgLjIgLjItNS40IDIwLjUtMTIuNCA0NS4xLTExLjYgNDAuNy0xMi45IDQ0LjgtMTQuNSA0NC43LTEgMC0yMS4zLTUuNy00NS4yLTEyLjZ6bTU5LjYgMTAuOGMuMi0uNiA0LjMtMTQuNSA4LjktMzAuOWw4LjUtMjkuNyAxLjEgNi41YzEuOSAxMS4yIDUuMyAyMy45IDkuMyAzNS4xIDIuMSA1LjkgMy44IDEwLjkgMy42IDExcy02LjcgMi0xNC41IDQuMy0xNC45IDQuMi0xNS44IDQuNWMtMS4xIC4zLTEuNSAuMS0xLjItLjd6TTEwNiAxMzkuMWMtMjMuOS02LjktNDMuNy0xMi44LTQzLjktMTMuMi0uOC0xLjMtMjUuMS04Ny0yNC43LTg3LjQgLjUtLjUgODYuOCAyNC4zIDg3LjYgMjUuMSAuOSAxIDI1LjggODguMiAyNS4xIDg4LS4zIDAtMjAuMS01LjctNDQtMTIuNnptNDMuMi0zNC41QzEzNi41IDYwIDEzOSA2OC44IDEzNy4yIDYyLjVsMzQuMS05LjdjMTguOC01LjQgMzQuNy05LjkgMzUuNC0xMC4ycy0xLjYgMi44LTUuMiA2LjhjLTE5LjEgMjEuMy0zMS41IDQ0LTM5LjQgNzEuOS0xLjUgNS4yLTIuNyAxMC4zLTIuNyAxMS4zIDAgNS45LTIuMy0uNS0xMC4yLTI4eiJdfSxUU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic2VsbGNhc3QiLGljb246WzQ0OCw1MTIsW10sImYyZGEiLCJNMzUzLjUgMzJMOTQuOCAzMkM0Mi43IDMyIC4xIDc0LjYgLjEgMTI2LjZsMCAyNTguN0MuMSA0MzcuNCA0Mi43IDQ4MCA5NC44IDQ4MGwyNTguNyAwYzUyLjEgMCA5NC43LTQyLjYgOTQuNy05NC42bDAtMjU4LjhjMC01Mi00Mi42LTk0LjYtOTQuNy05NC42em0tNTAgMzE2LjRjLTI3LjkgNDguMi04OS45IDY0LjktMTM4LjIgMzcuMi0yMi45IDM5LjgtNTQuOSA4LjYtNDIuMy0xMy4ybDE1LjctMjcuMmM1LjktMTAuMyAxOS4yLTEzLjkgMjkuNS03LjkgMTguNiAxMC44LS4xLS4xIDE4LjUgMTAuNyAyNy42IDE1LjkgNjMuNCA2LjMgNzkuNC0yMS4zIDE1LjktMjcuNiA2LjMtNjMuNC0yMS4zLTc5LjQtMTcuOC0xMC4yLS42LS40LTE4LjYtMTAuNi0yNC42LTE0LjItMy40LTUxLjkgMjEuNi0zNy41IDE4LjYgMTAuOC0uMS0uMSAxOC41IDEwLjcgNDguNCAyOCA2NS4xIDkwLjMgMzcuMiAxMzguNXptMjEuOC0yMDguOGMtMTcgMjkuNS0xNi4zIDI4LjgtMTkgMzEuNS02LjUgNi41LTE2LjMgOC43LTI2LjUgMy42LTE4LjYtMTAuOCAuMSAuMS0xOC41LTEwLjctMjcuNi0xNS45LTYzLjQtNi4zLTc5LjQgMjEuM3MtNi4zIDYzLjQgMjEuMyA3OS40YzAgMCAxOC41IDEwLjYgMTguNiAxMC42IDI0LjYgMTQuMiAzLjQgNTEuOS0yMS42IDM3LjUtMTguNi0xMC44IC4xIC4xLTE4LjUtMTAuNy00OC4yLTI3LjgtNjQuOS05MC4xLTM3LjEtMTM4LjQgMjcuOS00OC4yIDg5LjktNjQuOSAxMzguMi0zNy4ybDQuOC04LjRjMTQuMy0yNC45IDUyLTMuMyAzNy43IDIxLjV6Il19LExTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJtaXgiLGljb246WzQ0OCw1MTIsW10sImYzY2IiLCJNMCA2NEwwIDQxMi45YzAgNTYuMiA4OCA1OC4xIDg4IDBsMC0yMzguNmM3LjktNTIuOSA4OC01MC40IDg4IDYuNWwwIDE3NS4zYzAgNTcuOSA5NiA1OCA5NiAwTDI3MiAyNDBjNS4zLTU0LjcgODgtNTIuNSA4OCA0LjNsMCAyMy44YzAgNTkuOSA4OCA1Ni42IDg4IDBMNDQ4IDY0IDAgNjR6Il19LCRTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjYy1hcHBsZS1wYXkiLGljb246WzU3Niw1MTIsW10sImY0MTYiLCJNMzAyLjIgMjE4LjRjMCAxNy4yLTEwLjUgMjcuMS0yOSAyNy4xbC0yNC4zIDAgMC01NC4yIDI0LjQgMGMxOC40IDAgMjguOSA5LjggMjguOSAyNy4xek0zNDkuNyAyODFjMCA4LjMgNy4yIDEzLjcgMTguNSAxMy43IDE0LjQgMCAyNS4yLTkuMSAyNS4yLTIxLjlsMC03LjctMjMuNSAxLjVjLTEzLjMgLjktMjAuMiA1LjgtMjAuMiAxNC40ek01NzYgNzlsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDc5Yy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDc5QzAgNTIuNSAyMS41IDMxIDQ4IDMxbDQ4MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4ek0xMjcuOCAxOTcuMmM4LjQgLjcgMTYuOC00LjIgMjIuMS0xMC40IDUuMi02LjQgOC42LTE1IDcuNy0yMy43LTcuNCAuMy0xNi42IDQuOS0yMS45IDExLjMtNC44IDUuNS04LjkgMTQuNC03LjkgMjIuOHptNjAuNiA3NC41Yy0uMi0uMi0xOS42LTcuNi0xOS44LTMwLS4yLTE4LjcgMTUuMy0yNy43IDE2LTI4LjItOC44LTEzLTIyLjQtMTQuNC0yNy4xLTE0LjctMTIuMi0uNy0yMi42IDYuOS0yOC40IDYuOS01LjkgMC0xNC43LTYuNi0yNC4zLTYuNC0xMi41IC4yLTI0LjIgNy4zLTMwLjUgMTguNi0xMy4xIDIyLjYtMy40IDU2IDkuMyA3NC40IDYuMiA5LjEgMTMuNyAxOS4xIDIzLjUgMTguNyA5LjMtLjQgMTMtNiAyNC4yLTYgMTEuMyAwIDE0LjUgNiAyNC4zIDUuOSAxMC4yLS4yIDE2LjUtOS4xIDIyLjgtMTguMiA2LjktMTAuNCA5LjgtMjAuNCAxMC0yMXptMTM1LjQtNTMuNGMwLTI2LjYtMTguNS00NC44LTQ0LjktNDQuOGwtNTEuMiAwIDAgMTM2LjQgMjEuMiAwIDAtNDYuNiAyOS4zIDBjMjYuOCAwIDQ1LjYtMTguNCA0NS42LTQ1em05MCAyMy43YzAtMTkuNy0xNS44LTMyLjQtNDAtMzIuNC0yMi41IDAtMzkuMSAxMi45LTM5LjcgMzAuNWwxOS4xIDBjMS42LTguNCA5LjQtMTMuOSAyMC0xMy45IDEzIDAgMjAuMiA2IDIwLjIgMTcuMmwwIDcuNS0yNi40IDEuNmMtMjQuNiAxLjUtMzcuOSAxMS42LTM3LjkgMjkuMSAwIDE3LjcgMTMuNyAyOS40IDMzLjQgMjkuNCAxMy4zIDAgMjUuNi02LjcgMzEuMi0xNy40bC40IDAgMCAxNi40IDE5LjYgMCAwLTY4IC4xIDB6TTUxNiAyMTAuOWwtMjEuNSAwLTI0LjkgODAuNi0uNCAwLTI0LjktODAuNi0yMi4zIDAgMzUuOSA5OS4zLTEuOSA2Yy0zLjIgMTAuMi04LjUgMTQuMi0xNy45IDE0LjItMS43IDAtNC45LS4yLTYuMi0uM2wwIDE2LjRjMS4yIC40IDYuNSAuNSA4LjEgLjUgMjAuNyAwIDMwLjQtNy45IDM4LjktMzEuOEw1MTYgMjEwLjl6Il19LERTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzb2xhbmEiLGljb246WzUxMiw1MTIsW10sImU4NWUiLCJNNTEwLjUgMzg1LjJsLTg0LjkgODguN2MtMS44IDEuOS00LjEgMy41LTYuNiA0LjVzLTUuMiAxLjYtNy45IDEuNkw4LjkgNDgwYy0xLjkgMC0zLjgtLjUtNS40LTEuNnMtMi45LTIuNS0zLjYtNC4yLTEtMy42LS43LTUuNSAxLjItMy42IDIuNS00LjlsODQuOS04OC43YzEuOC0xLjkgNC4xLTMuNSA2LjUtNC41czUuMS0xLjYgNy44LTEuNmw0MDIuNCAwYzEuOSAwIDMuOCAuNSA1LjQgMS42czIuOSAyLjUgMy42IDQuMiAxIDMuNiAuNyA1LjUtMS4yIDMuNi0yLjUgNC45ek00MjUuNyAyMDYuNmMtMS44LTEuOS00LjEtMy41LTYuNi00LjVzLTUuMi0xLjYtNy45LTEuNmwtNDAyLjQgMGMtMS45IDAtMy44IC41LTUuNCAxLjZzLTIuOSAyLjUtMy42IDQuMi0xIDMuNi0uNyA1LjUgMS4yIDMuNiAyLjUgNC45bDg0LjkgODguN2MxLjggMS45IDQuMSAzLjUgNi41IDQuNXM1LjEgMS42IDcuOCAxLjZsNDAyLjQgMGMxLjkgMCAzLjgtLjUgNS40LTEuNnMyLjktMi41IDMuNi00LjIgMS0zLjYgLjctNS41LTEuMi0zLjYtMi41LTQuOWwtODQuOS04OC43ek04LjkgMTQyLjlsNDAyLjQgMGMyLjcgMCA1LjQtLjUgNy45LTEuNnM0LjctMi42IDYuNi00LjVsODQuOS04OC43YzEuMy0xLjQgMi4yLTMuMSAyLjUtNC45cy4xLTMuNy0uNy01LjUtMi0zLjItMy42LTQuMi0zLjUtMS42LTUuNC0xLjZMMTAxIDMyYy0yLjcgMC01LjQgLjUtNy44IDEuNnMtNC43IDIuNi02LjUgNC41TDEuNyAxMjYuOGMtMS4zIDEuNC0yLjIgMy4xLTIuNSA0LjlzLS4xIDMuNyAuNyA1LjUgMiAzLjIgMy42IDQuMiAzLjUgMS42IDUuNCAxLjZ6Il19LEFTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0eXBlc2NyaXB0IixpY29uOls0NDgsNTEyLFtdLCJlODQwIiwiTTE2LjggMzJsNDE0LjQgMGM5LjMgMCAxNi44IDcuNSAxNi44IDE2LjhsMCA0MTQuNGMwIDkuMy03LjUgMTYuOC0xNi44IDE2LjhMMTYuOCA0ODBDNy41IDQ4MCAwIDQ3Mi41IDAgNDYzLjJMMCA0OC44QzAgMzkuNSA3LjUgMzIgMTYuOCAzMnpNMjQ5IDI3MC4zbDAtMzYuNy0xNTkuNCAwIDAgMzYuNyA1Ni45IDAgMCAxNjMuNiA0NS4zIDAgMC0xNjMuNiA1Ny4yIDB6bTE4LjEgMTU5LjNjNy4zIDMuNyAxNS45IDYuNSAyNS45IDguNHMyMC41IDIuOCAzMS41IDIuOGMxMC44IDAgMjEtMSAzMC43LTMuMXMxOC4yLTUuNCAyNS41LTEwLjEgMTMuMS0xMC45IDE3LjQtMTguNCA2LjQtMTcgNi40LTI4LjJjMC04LjEtMS4yLTE1LjItMy43LTIxLjNzLTUuOS0xMS41LTEwLjUtMTYuMy0xMC4xLTktMTYuNS0xMi44LTEzLjctNy4zLTIxLjctMTAuN2MtNS45LTIuNC0xMS4yLTQuOC0xNS45LTcuMXMtOC43LTQuNi0xMS45LTctNS44LTQuOS03LjYtNy41LTIuNy01LjctMi43LTljMC0zLjEgLjgtNS44IDIuNC04LjNzMy44LTQuNiA2LjctNi40IDYuNS0zLjEgMTAuNy00LjEgOC45LTEuNSAxNC4xLTEuNWMzLjcgMCA3LjcgLjMgMTEuOSAuOHM4LjQgMS40IDEyLjYgMi42IDguMyAyLjYgMTIuMyA0LjQgNy43IDMuOCAxMSA2LjFsMC00MS44Yy02LjgtMi42LTE0LjMtNC41LTIyLjQtNS44cy0xNy40LTEuOS0yNy45LTEuOWMtMTAuNyAwLTIwLjggMS4xLTMwLjQgMy40cy0xOCA1LjgtMjUuMiAxMC43LTEzIDExLTE3LjIgMTguNS02LjMgMTYuNS02LjMgMjYuOWMwIDEzLjMgMy45IDI0LjcgMTEuNiAzNC4xczE5LjUgMTcuNCAzNS4yIDIzLjljNi4yIDIuNSAxMS45IDUgMTcuMyA3LjRzMTAgNC45IDEzLjggNy41IDcgNS40IDkuMiA4LjUgMy40IDYuNiAzLjQgMTAuNWMwIDIuOS0uNyA1LjYtMi4xIDhzLTMuNSA0LjYtNi40IDYuNC02LjQgMy4yLTEwLjcgNC4zLTkuMyAxLjUtMTUgMS41Yy05LjcgMC0xOS40LTEuNy0yOC45LTUuMXMtMTguNC04LjUtMjYuNi0xNS4zbDAgNDQuN3oiXX0sRVN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJyYXZlIixpY29uOls0NDgsNTEyLFtdLCJlNjNjIiwiTTE0NS42IDBsMTU3IDAgNDQuNyA1MC44czM5LjMtMTAuOSA1Ny44IDcuNiAzMy44IDM0LjkgMzMuOCAzNC45bC0xMiAyOS41IDE1LjMgNDMuN3MtNDQuOSAxNzAuMi01MC4xIDE5MWMtMTAuNCA0MC45LTE3LjQgNTYuOC00Ni45IDc3LjVzLTgyLjkgNTYuOC05MS42IDYyLjJjLTEuOSAxLjItMy45IDIuNS01LjkgMy45LTcuNSA1LjEtMTUuOCAxMC44LTIzLjUgMTAuOHMtMTYuMS01LjctMjMuNS0xMC44Yy0yLTEuNC00LTIuOC01LjktMy45LTguNy01LjUtNjIuMS00MS41LTkxLjYtNjIuMnMtMzYuNS0zNi42LTQ2LjktNzcuNWMtNS4zLTIwLjgtNTAuMS0xOTEtNTAuMS0xOTFMMjEuNSAxMjIuOCA5LjMgOTMuM3MxNS4zLTE2LjQgMzMuOC0zNC45IDU3LjgtNy42IDU3LjgtNy42TDE0NS42IDB6bTc4LjUgNDA3LjZjMy43IDAgOC45LTQuNyAxMy04LjQgLjYtLjUgMS4yLTEuMSAxLjctMS41IDQuMi0zLjcgNDcuOC0zNy41IDUxLTM5LjhzNS40LTYuNSAxLjktOC43Yy0yLjgtMS43LTEwLTUuNS0yMC4zLTEwLjgtMy0xLjYtNi4zLTMuMi05LjctNS0xNS40LTgtMzQuNS0xNC43LTM3LjUtMTQuN3MtMjIuMSA2LjgtMzcuNSAxNC43Yy0zLjUgMS44LTYuNyAzLjUtOS43IDUtMTAuMyA1LjMtMTcuNiA5LjEtMjAuMyAxMC44LTMuNiAyLjItMS40IDYuNCAxLjkgOC43czQ2LjggMzYuMSA1MSAzOS44Yy41IC41IDEuMSAxIDEuNyAxLjUgNC4xIDMuNyA5LjMgOC40IDEzIDguNGwtLjIgMHptMC0xNjUuN2M0LjcgMCAxNy42LTMgMjYuNC01bDItLjVjNy44LTEuOCA3LjMtNi4zIDYuNC0xMy0uMS0uOC0uMi0xLjYtLjMtMi40LS42LTYuMS01LjgtMzMuMS05LjEtNTAuMy0xLjEtNS44LTItMTAuNS0yLjQtMTIuOS0xLjUtOC4xLS42LTkuNCAuNy0xMS4zIC4yLS4zIC41LS43IC43LTEuMSAxLjQtMi4zIDE2LTYuMiAyNy45LTkuNSAyLjUtLjcgNC44LTEuMyA2LjktMS45IDEwLjYtMyAzMi40LS42IDQ0LjIgLjYgMS44IC4yIDMuNCAuNCA0LjcgLjUgOS42IC45IDEwLjQgMi4zIDcuMiAzLjgtMi4zIDEuMS0xNi4yIDYuMy0yOC43IDEwLjktNC43IDEuOC05LjIgMy41LTEyLjggNC44LTEuNSAuNS0zIDEuMS00LjUgMS43LTEyLjUgNC42LTI3LjIgMTAtMjguOSAxOS40LTEuNSA4LjMgNS4yIDE5LjkgMTEuMyAzMC4zIDEuNiAyLjggMy4yIDUuNSA0LjYgOC4xIDYuMyAxMS45IDYuNSAxMy4zIDYuMSAxOC4xLS40IDMuOS0xNC41IDEyLjctMjIuNCAxNy42LTEuOCAxLjEtMy4zIDIuMS00LjIgMi43LS44IC41LTIuMSAxLjQtMy44IDIuNC04LjYgNS4yLTI2LjMgMTYtMjYuMyAyMi41IDAgNy44IDI0LjYgMjguMSAzMi40IDMzLjJzMjguOSAxNi4xIDM3LjkgMTcuOCAyMy04LjUgMzEuMi0yMy44YzcuNy0xNC40IDEuNy0yOC41LTMuMi00MGwtLjktMi4yYy00LjUtMTAuNiAxLjktMTcgNi4yLTIxLjMgLjUtLjUgMS0xIDEuNC0xLjRsNDMtNDUuN2MxLjMtMS4zIDIuNS0yLjYgMy43LTMuOCA1LjgtNS43IDEwLjgtMTAuNSAxMC44LTIyLjggMC0xNC45LTU3LjUtODQuNS01Ny41LTg0LjVzLTQ4LjUgOS4zLTU1LjEgOS4zYy01LjIgMC0xNS4zLTMuNS0yNS44LTcuMS0yLjctLjktNS40LTEuOS04LTIuNy0xMy00LjMtMjEuOC00LjQtMjEuOC00LjRzLTguNyAwLTIxLjggNC40Yy0yLjcgLjktNS40IDEuOC04IDIuNy0xMC41IDMuNi0yMC42IDcuMS0yNS44IDcuMS02LjUgMC01NS4xLTkuMy01NS4xLTkuM3MtNTcuNSA2OS42LTU3LjUgODQuNWMwIDEyLjMgNC45IDE3LjEgMTAuOCAyMi44IDEuMiAxLjIgMi41IDIuNCAzLjcgMy44bDQzLjEgNDUuOGMuNCAuNSAuOSAuOSAxLjQgMS40IDQuMyA0LjMgMTAuNiAxMC43IDYuMiAyMS4zbC0uOSAyLjJjLTQuOSAxMS41LTExIDI1LjYtMy4yIDQwIDguMiAxNS4zIDIyLjIgMjUuNSAzMS4yIDIzLjhzMzAuMS0xMi43IDM3LjktMTcuOCAzMi40LTI1LjQgMzIuNC0zMy4yYzAtNi41LTE3LjctMTcuMy0yNi4zLTIyLjUtMS43LTEtMy4xLTEuOS0zLjgtMi40LS45LS42LTIuNC0xLjUtNC4yLTIuNy03LjktNC45LTIyLTEzLjctMjIuNC0xNy42LS40LTQuOC0uMy02LjIgNi4xLTE4LjEgMS4zLTIuNSAyLjktNS4zIDQuNi04LjEgNi0xMC40IDEyLjgtMjIgMTEuMy0zMC4zLTEuNy05LjQtMTYuNC0xNC44LTI4LjktMTkuNC0xLjYtLjYtMy4xLTEuMS00LjUtMS43LTMuNi0xLjQtOC4xLTMuMS0xMi44LTQuOGwtLjEgMGMtMTIuNS00LjctMjYuNC05LjktMjguNy0xMC45LTMuMi0xLjUtMi4zLTIuOCA3LjItMy44IDEuMy0uMSAyLjktLjMgNC43LS41IDExLjgtMS4zIDMzLjYtMy42IDQ0LjItLjYgMi4xIC42IDQuNCAxLjIgNi45IDEuOSAxMS45IDMuMiAyNi41IDcuMiAyNy45IDkuNSAuMiAuNCAuNSAuNyAuNyAxLjEgMS4zIDEuOSAyLjIgMy4yIC43IDExLjMtLjQgMi40LTEuMyA3LjEtMi40IDEyLjktMy4zIDE3LjItOC41IDQ0LjItOS4xIDUwLjMtLjEgLjgtLjIgMS43LS4zIDIuNC0uOCA2LjctMS40IDExLjIgNi40IDEzbDIgLjVjOC44IDIgMjEuOCA1IDI2LjQgNWwwLS4xeiJdfSxQU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZXRzeSIsaWNvbjpbMzg0LDUxMixbXSwiZjJkNyIsIk0zODQgMzQ4Yy0xLjggMTAuNy0xMy44IDExMC0xNS41IDEzMi0xMTcuOS00LjMtMjE5LjktNC43LTM2OC41IDBsMC0yNS41YzQ1LjUtOC45IDYwLjYtOCA2MS0zNS4yIDEuOC03Mi4zIDMuNS0yNDQuMSAwLTMyMi0xLTI4LjUtMTIuMS0yNi44LTYxLTM2TDAgMzUuOGM3My45IDIuNCAyNTUuOSA4LjYgMzYzLTMuOC0zLjUgMzguMi03LjggMTI2LjUtNy44IDEyNi41bC0yMy4yIDBDMzIwLjkgMTE1LjcgMzEzLjIgNjggMjc3LjMgNjhsLTEzNyAwYy0xMC4yIDAtMTAuNyAzLjUtMTAuNyA5LjhsMCAxNjMuOGM1OCAuNSA4OC41LTIuNSA4OC41LTIuNSAyOS44LTEgMjcuNi04LjUgNDAuNy02NS4zbDI1LjggMGMtNC40IDEwMS40LTMuOSA2MS44LTEuOCAxNjAuM0wyNTcgMzM0Yy05LjItNDAuMS05LjEtNjEtMzkuNS02MS41IDAgMC0yMS41LTItODgtMmwwIDEzOWMwIDI2IDE0LjMgMzguMyA0NC4zIDM4LjNsODkuMyAwYzYzLjYgMCA2Ni42LTI1IDk4LjctOTkuOGwyMi4yIDB6Il19LElTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJidGMiLGljb246WzM4NCw1MTIsW10sImYxNWEiLCJNMzEwLjQgMjQyLjZjMjcuNy0xNC4yIDQ1LjQtMzkuNCA0MS4zLTgxLjMtNS40LTU3LjQtNTIuNS03Ni42LTExNC44LTgxLjlsMC03OS40LTQ4LjUgMCAwIDc3LjJjLTEyLjYgMC0yNS41IC4zLTM4LjQgLjZsMC03Ny44LTQ4LjUgMCAwIDc5LjRjLTE3LjggLjUtMzguNiAuMy05Ny40IDBsMCA1MS43YzM4LjMtLjcgNTguNC0zLjEgNjMgMjEuNGwwIDIxNy40Yy0yLjkgMTkuNS0xOC41IDE2LjctNTMuMyAxNi4xTDQgNDQzLjdjODguNSAwIDk3LjQgLjMgOTcuNCAuM2wwIDY4IDQ4LjUgMCAwLTY3LjFjMTMuMiAuMyAyNi4yIC4zIDM4LjQgLjNsMCA2Ni43IDQ4LjUgMCAwLTY4YzgxLjMtNC40IDEzNS42LTI0LjkgMTQyLjktMTAxLjUgNS43LTYxLjQtMjMuMy04OC45LTY5LjMtOTkuOXpNMTUwLjggMTM0LjZjMjcuNCAwIDExMy4xLTguNSAxMTMuMSA0OC41IDAgNTQuNS04NS43IDQ4LjItMTEzLjEgNDguMmwwLTk2Ljd6bTAgMjUxLjhsMC0xMDYuNWMzMi44IDAgMTMzLjEtOS4xIDEzMy4xIDUzLjMgMCA2MC4yLTEwMC40IDUzLjMtMTMzLjEgNTMuM3oiXX0sTlN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFkbiIsaWNvbjpbNTEyLDUxMixbXSwiZjE3MCIsIk0yNTYgMTY3LjVsNjQuOSA5OC44LTEyOS44IDAgNjQuOS05OC44ek04IDI1NmEyNDggMjQ4IDAgMSAxIDQ5NiAwIDI0OCAyNDggMCAxIDEgLTQ5NiAwem0zOTYuMiA4Mi43bC0xNDguMi0yMjMuMi0xNDguMiAyMjMuMiAzMC40IDAgMzMuNi01MS43IDE2OC42IDAgMzMuNiA1MS43IDMwLjIgMHoiXX0sUlN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS14LXR3aXR0ZXIiLGljb246WzQ0OCw1MTIsW10sImU2MWEiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptMjk3LjEgODRsLTEwMy44IDExOC42IDEyMi4xIDE2MS40LTk1LjYgMC03NC44LTk3LjktODUuNyA5Ny45LTQ3LjUgMCAxMTEtMTI2LjktMTE3LjEtMTUzLjEgOTggMCA2Ny43IDg5LjUgNzguMi04OS41IDQ3LjUgMHpNMzIzLjMgMzY3LjZsLTE2OS45LTIyNC43LTI4LjMgMCAxNzEuOCAyMjQuNyAyNi40IDB6Il19LE9TdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZm9udC1hd2Vzb21lIixpY29uOls0NDgsNTEyLFtdLCJlNWFkIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTkwIDEyMmMwIDkuMy00LjggMTcuNC0xMi4xIDIybDE4OC45IDBjNy4zIDAgMTMuMiA1LjkgMTMuMiAxMy4yIDAgMS44LS40IDMuNy0xLjEgNS40TDMxMiAyNjQgMzQyLjkgMzMzLjRjLjcgMS43IDEuMSAzLjUgMS4xIDUuNCAwIDcuMy01LjkgMTMuMi0xMy4yIDEzLjJsLTE4Ni44IDAgMCAzMi0zMiAwIDAtMjA5LjVjLTYuMS00LjgtMTAtMTIuMi0xMC0yMC41IDAtMTQuNCAxMS42LTI2IDI2LTI2czI2IDExLjYgMjYgMjZ6Il19LEZTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmb3J1bWJlZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjIxMSIsIk01LjggMzA5LjdDMiAyOTIuNyAwIDI3NS41IDAgMjU4LjMgMCAxMzUgOTkuOCAzNSAyMjMuMSAzNSAyMzkuNyAzNSAyNTYuNCAzNyAyNzIuNCA0MC41IDE0OSA4Ny41IDUxLjkgMTg2IDUuOCAzMDkuN3pNMzk4LjcgMTIwLjVjLTEzLjctMTcuNS0yOS43LTMyLjctNDcuOC00NS4zLTE0OS42IDQ0LjMtMjY2LjMgMTYyLjEtMzA5LjcgMzEyIDEyLjUgMTguMSAyOCAzNS42IDQ1LjIgNDkgNDMuMS0xNTEuMyAxNjEuMi0yNzEuNyAzMTIuMy0zMTUuN3ptMTUuOCAyNTIuN2MxNS4yLTI1LjEgMjUuNC01My43IDI5LjUtODIuOC03OS40IDQyLjktMTQ1IDExMC42LTE4Ny42IDE5MC4zIDMwLTQuNCA1OC45LTE1LjMgODQuNi0zMS4zIDM1IDEzLjEgNzAuOSAyNC4zIDEwNyAzMy42LTkuMy0zNi41LTIwLjQtNzQuNS0zMy41LTEwOS44em0yOS43LTE0NS41Yy0yLjYtMTkuNS03LjktMzguNy0xNS44LTU2LjgtMTM3LjkgNDUuOC0yNDYuNCAxNTYuNi0yOTEuMyAyOTUuMSAxOC4xIDcuNiAzNyAxMi41IDU2LjYgMTUuMiA0Ni4zLTExNC4xIDEzNi44LTIwNi44IDI1MC41LTI1My41eiJdfSx0cGU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiNDItZ3JvdXAiLGljb246WzY0MCw1MTIsWyJpbm5vc29mdCJdLCJlMDgwIiwiTTMyMCA5NmwwIDMyMGMyMSAwIDQxLjgtNC4xIDYxLjItMTIuMnMzNy0xOS44IDUxLjktMzQuNyAyNi42LTMyLjUgMzQuNy01MS45IDEyLjItNDAuMiAxMi4yLTYxLjItNC4xLTQxLjgtMTIuMi02MS4yLTE5LjgtMzcuMS0zNC43LTUxLjktMzIuNS0yNi42LTUxLjktMzQuNy00MC4yLTEyLjItNjEuMi0xMi4yek0wIDI1NkwxNjAgNDE2IDMyMCAyNTYgMTYwIDk2IDAgMjU2em00ODAgMGMwIDIxIDQuMSA0MS44IDEyLjIgNjEuMnMxOS44IDM3IDM0LjcgNTEuOSAzMi41IDI2LjYgNTEuOSAzNC43IDQwLjIgMTIuMiA2MS4yIDEyLjJsMC0zMjBjLTQyLjQgMC04My4xIDE2LjktMTEzLjEgNDYuOVM0ODAgMjEzLjYgNDgwIDI1NnoiXX0sQlN0PXRwZSxIU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3R1bWJsZXVwb24tY2lyY2xlIixpY29uOls1MTIsNTEyLFtdLCJmMWEzIiwiTTI2NCA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnptMCAxNzcuNWMtOS44IDAtMTcuOCA4LTE3LjggMTcuOGwwIDEwNi45YzAgNDAuOS0zMy45IDczLjktNzQuOSA3My45LTQxLjQgMC03NC45LTMzLjUtNzQuOS03NC45bDAtNDYuNSA1Ny4zIDAgMCA0NS44YzAgMTAgOCAxNy44IDE3LjggMTcuOHMxNy44LTcuOSAxNy44LTE3LjhsMC0xMDguNGMwLTQwIDM0LjItNzIuMSA3NC43LTcyLjEgNDAuNyAwIDc0LjcgMzIuMyA3NC43IDcyLjZsMCAyMy43LTM0LjEgMTAuMS0yMi45LTEwLjcgMC0yMC42Yy4xLTkuNi03LjktMTcuNi0xNy43LTE3LjZ6TTQzMS42IDMwOS4xYzAgNDEuNC0zMy41IDc0LjktNzQuOSA3NC45LTQxLjIgMC03NC45LTMzLjItNzQuOS03NC4ybDAtNDYuOCAyMi45IDEwLjcgMzQuMS0xMC4xIDAgNDcuMWMwIDkuOCA4IDE3LjYgMTcuOCAxNy42czE3LjgtNy45IDE3LjgtMTcuNmwwLTQ4IDU3LjMgMGMtLjEgNDUuOS0uMSA0Ni40LS4xIDQ2LjR6Il19LHFTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzeW1mb255IixpY29uOls1MTIsNTEyLFtdLCJmODNkIiwiTTI1NiA4YTI0OCAyNDggMCAxIDAgMCA0OTYgMjQ4IDI0OCAwIDEgMCAwLTQ5NnpNMzg5LjcgMTUxLjVjLTExLjUgLjQtMTkuNC02LjQtMTkuOC0xNi45LS4zLTkuMiA2LjctMTMuNCA2LjUtMTguOS0uMi02LjUtMTAuMi02LjgtMTIuOS02LjctMzkuOCAxLjMtNDguNiA1Ny01OC45IDExMy44IDIxLjQgMy4yIDM2LjYtLjcgNDUuMS02LjIgMTItNy43LTMuMy0xNS43LTEuNC0yNC42IDQtMTguMiAzMi42LTE5IDMyIDUuMy0uNCAxNy45LTI1LjkgNDEuOC03Ny42IDM1LjctMTAuOCA1OS41LTE4LjQgMTE1LTU4LjIgMTYxLjctMjkgMzQuNS01OC40IDM5LjgtNzEuNiA0MC4zLTI0LjYgLjktNDEtMTIuMy00MS42LTI5LjgtLjYtMTcgMTQuNC0yNi4zIDI0LjMtMjYuNiAyMS45LS44IDMwLjEgMjUuNyAxNC45IDM0LTEyLjEgOS43IC4xIDEyLjYgMi4xIDEyLjYgMTAuNC0uNCAxNy4zLTUuNSAyMi4yLTkgMjQtMjAgMzMuMi01NC45IDQ1LjQtMTE4LjMgOC4yLTQ5LjcgMTctNzggMTguMi04Mi0xNi45LTEyLjctMjcuMS0yOC42LTQ5LjgtMzQuNy0xNS42LTQuMi0yNS4xLS42LTMxLjggNy44LTcuOSAxMC01LjMgMjMgMi40IDMwLjdsMTIuNiAxNGMxNS41IDE3LjkgMjQgMzEuOSAyMC44IDUwLjYtNS4xIDI5LjktNDAuNyA1Mi45LTgyLjkgMzkuOS0zNi0xMS4xLTQyLjctMzYuNi0zOC40LTUwLjYgNy41LTI0LjIgNDIuNC0xMS43IDM0LjYgMTMuNi0yLjggOC42LTQuOSA4LjctNi4zIDEzLjEtNC42IDE0LjggNDEuOCAyOC40IDUxLTEuNCA0LjUtMTQuNS01LjMtMjEuNy0yMi4yLTM5LjktMjguNS0zMS43LTE2LTY1LjUgMi45LTc5LjcgNTIuOC0zOS40IDEwMC41IDE3LjUgMTEwLjYgMjUuOCAzNy4yLTEwOSAxMDAuNS0xMDUuNSAxMDIuNC0xMDUuNSAyNS4yLS44IDQ0LjIgMTAuNiA0NC44IDI4LjYgLjIgNy43LTQuMiAyMi42LTE5LjUgMjMuMXoiXX0sVlN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNhbGVzZm9yY2UiLGljb246WzY0MCw1MTIsW10sImY4M2IiLCJNMjQ5LjQgMjQ1LjZsLTI2LjQgMGMuNy01LjIgMy4zLTE0LjEgMTMuNi0xNC4xIDYuOCAwIDEyIDMuOCAxMi43IDE0LjF6TTM4NiAyMzEuOGMtLjUgMC0xNC4xLTEuOC0xNC4xIDIwczEzLjYgMjAgMTQuMSAyMGMxMyAwIDE0LjEtMTMuNSAxNC4xLTIwIDAtMjEuOC0xMy43LTIwLTE0LjEtMjB6TTE0Mi44IDI1NS41Yy0xLjEgLjktMiAyLTIuNSAzLjJzLS44IDIuNy0uNyA0YzAgNC44IDIuMSA2LjEgMy4zIDcgNC43IDMuNyAxNS4xIDIuMSAyMC45IDFsMC0xNi45Yy01LjMtMS4xLTE2LjctMi0yMC45IDEuNnpNNjQwLjUgMjMyYzAgODcuNi04MCAxNTQuNC0xNjUuNCAxMzYuNC0xOC40IDMzLTcwLjcgNzAuOC0xMzIuMiA0MS42LTQxLjIgOTYtMTc3LjkgOTIuMi0yMTMuOC01LjItMTE5LjcgMjMuOS0xNzguOC0xMzguNC03NS4zLTE5OS4zLTM0LjgtNzkuNCAyMi42LTE3My42IDExNC4zLTE3My42IDE5LjEgMCAzNy45IDQuNCA1NSAxMi45czMyIDIwLjcgNDMuNiAzNS44YzIwLjctMjEuNCA0OS40LTM0LjggODEuMS0zNC44IDQyLjMgMCA3OSAyMy41IDk4LjggNTguNiA5Mi44LTQwLjcgMTkzLjggMjguMiAxOTMuOCAxMjcuNXpNMTIwLjkgMjYzLjhjMC0xMS44LTExLjctMTUuMi0xNy45LTE3LjItNS4zLTIuMS0xMy40LTMuNS0xMy40LTguOSAwLTkuNSAxNy02LjcgMjUuMi0yLjEgMCAwIDEuMiAuNyAxLjYtLjUgLjItLjcgMi40LTYuNiAyLjYtNy4zIC4xLS4zIC4xLS42LS4xLS44cy0uNC0uNS0uNi0uNmMtMTIuMy03LjYtNDAuNy04LjUtNDAuNyAxMi43IDAgMTIuNSAxMS41IDE1LjQgMTcuOSAxNy4yIDQuNyAxLjYgMTMuMiAzIDEzLjIgOC43IDAgNC0zLjUgNy4xLTkuMiA3LjEtNi45IDAtMTMuNS0yLjItMTktNi4zLS41LS4yLTEuNC0uNy0xLjYgLjdsLTIuNCA3LjVjLS41IC45IC4yIDEuMiAuMiAxLjQgMS44IDEuNCAxMC4zIDYuNiAyMi44IDYuNiAxMy4yIDAgMjEuNC03LjEgMjEuNC0xOC4xbDAgMHptMzItNDIuNmMtMTAuMSAwLTE4LjcgMy4yLTIxLjQgNS4yLS4xIC4xLS4yIC4yLS4zIC4zcy0uMSAuMi0uMSAuNCAwIC4zIDAgLjQgLjEgLjMgLjIgLjRsMi42IDcuMWMuMSAuMiAuMiAuNSAuNSAuNnMuNSAuMiAuNyAuMWMuNiAwIDYuOC00IDE2LjktNCA0IDAgNy4xIC43IDkuMiAyLjQgMy42IDIuOCAzLjEgOC4zIDMuMSAxMC42LTQuOC0uMy0xOS4xLTMuNC0yOS40IDMuOC0yLjMgMS42LTQuMyAzLjgtNS41IDYuM3MtMS45IDUuNC0xLjggOC4yYzAgNS45IDEuNSAxMC40IDYuNiAxNC40IDEyLjIgOC4yIDM2LjMgMiAzOC4xIDEuNCAxLjYtLjMgMy41LS43IDMuNS0xLjlsMC0zMy45YzAtNC42IC4zLTIxLjYtMjIuOC0yMS42bDAgLjF6bTQ2LjYtMjFjMC0uMiAwLS4zLS4xLS41cy0uMS0uMy0uMy0uNC0uMi0uMi0uNC0uMy0uMy0uMS0uNS0uMWwtOS44IDBjLS4yIDAtLjMgMC0uNSAuMXMtLjMgLjEtLjQgLjMtLjIgLjItLjMgLjQtLjEgLjMtLjEgLjVsMCA3OWMwIC4yIDAgLjMgLjEgLjVzLjEgLjMgLjMgLjQgLjIgLjIgLjQgLjMgLjMgLjEgLjUgLjFsOS45IDBjLjIgMCAuMyAwIC41LS4xcy4zLS4xIC40LS4zIC4yLS4yIC4zLS40IC4xLS4zIC4xLS41bC0uMS03OXptNTUuNyAyOC45Yy0yLjEtMi4zLTYuOC03LjUtMTcuNi03LjUtMy41IDAtMTQuMiAuMi0yMC43IDguOS02LjQgNy42LTYuNiAxOC4xLTYuNiAyMS40IDAgMy4xIC4yIDE0LjMgNy4xIDIxLjIgMi42IDIuOSA5LjEgOC4yIDIyLjggOC4yIDEwLjggMCAxNi41LTIuMyAxOC42LTMuOCAuNS0uMiAuNy0uNyAuMi0xLjlsLTIuMy02LjhjLS4xLS4zLS4zLS41LS42LS42cy0uNS0uMi0uOC0uMWMtMi42IC45LTYuMyAyLjgtMTUuMyAyLjgtMTcuNCAwLTE2LjgtMTQuNy0xNi45LTE2LjdsMzcuMiAwYy4zIDAgLjUtLjEgLjctLjNzLjQtLjQgLjQtLjdjLS4zIDAgMi4xLTE0LjctNi4xLTI0LjJsMCAwem0zNi43IDUyLjdjMTMuMiAwIDIxLjQtNy4xIDIxLjQtMTguMSAwLTExLjgtMTEuNy0xNS4yLTE3LjktMTcuMi00LjEtMS43LTEzLjQtMy40LTEzLjQtOC45IDAtMy44IDMuMy02LjQgOC41LTYuNCA1LjggLjEgMTEuNSAxLjYgMTYuNyA0LjIgMCAwIDEuMiAuNyAxLjYtLjUgLjItLjcgMi40LTYuNiAyLjYtNy4zIC4xLS4zIC4xLS42LS4xLS44cy0uNC0uNS0uNi0uNmMtNy45LTQuOS0xNi43LTQuOS0yMC4yLTQuOS0xMiAwLTIwLjUgNy4zLTIwLjUgMTcuNiAwIDEyLjUgMTEuNSAxNS40IDE3LjkgMTcuMiA2LjEgMiAxMy4yIDMuMyAxMy4yIDguNyAwIDQtMy41IDcuMS05LjIgNy4xLTYuOSAwLTEzLjUtMi4yLTE5LTYuNC0uMS0uMS0uMy0uMi0uNS0uMnMtLjQgMC0uNSAuMS0uMyAuMi0uNCAuMy0uMiAuMy0uMiAuNWwtMi4zIDcuNWMtLjUgLjkgLjIgMS4yIC4yIDEuNCAxLjcgMS40IDEwLjMgNi42IDIyLjggNi42bDAgMHpNMzU3LjYgMjI0YzAtLjctLjItMS4yLTEuMi0xLjJsLTExLjggMGMwLS4xIC45LTguOSA0LjUtMTIuNSA0LjItNC4yIDExLjgtMS42IDEyLTEuNiAxLjIgLjUgMS40IDAgMS42LS41bDIuOC03LjhjLjctLjkgMC0xLjItLjItMS40LTUuMS0yLTE3LjQtMi45LTI0LjUgNC4yLTUuNSA1LjUtNyAxMy45LTggMTkuNWwtOC41IDBjLS4zIDAtLjYgLjItLjggLjRzLS4zIC41LS40IC44bC0xLjQgNy44YzAgLjcgLjIgMS4yIDEuMiAxLjJsOC4yIDBjLTguNSA0Ny45LTguNyA1MC4yLTEwLjMgNTUuNS0xLjEgMy42LTMuMyA2LjktNS45IDcuOC0uMSAwLTMuOSAxLjctOS42LS4yIDAgMC0uOS0uNS0xLjQgLjctLjIgLjctMi42IDYuOC0yLjggNy41czAgMS40IC41IDEuNGM1LjEgMiAxMyAxLjggMTcuOSAwIDYuMy0yLjMgOS43LTcuOSAxMS41LTEyLjkgMi44LTcuNyAyLjgtOS44IDExLjgtNTkuN2wxMi4yIDBjLjMgMCAuNi0uMiAuOC0uNHMuMy0uNSAuNC0uOGwxLjQtNy44ek00MTEgMjQwYy0uNi0xLjctNS4xLTE4LjEtMjUuMi0xOC4xLTE1LjIgMC0yMyAxMC0yNS4yIDE4LjEtMSAzLTMuMiAxNCAwIDIzLjUgLjEgLjMgNC40IDE4LjEgMjUuMiAxOC4xIDE1IDAgMjIuOS05LjYgMjUuMi0xOC4xIDMuMi05LjYgMS0yMC41IDAtMjMuNXptNDUuNC0xNi43Yy01LTEuNy0xNi42LTEuOS0yMi4xIDUuNGwwLTQuNWMwLS4yIDAtLjMtLjEtLjVzLS4xLS4zLS4zLS40LS4yLS4yLS40LS4zLS4zLS4xLS41LS4xbC05LjQgMGMtLjIgMC0uMyAwLS41IC4xcy0uMyAuMS0uNCAuMy0uMiAuMi0uMyAuNC0uMSAuMy0uMSAuNWwwIDU1LjNjMCAuMiAwIC4zIC4xIC41cy4xIC4zIC4zIC40IC4yIC4yIC40IC4zIC4zIC4xIC41IC4xbDkuNiAwYy4yIDAgLjMgMCAuNS0uMXMuMy0uMSAuNC0uMyAuMi0uMiAuMy0uNCAuMS0uMyAuMS0uNWwwLTI3LjhjMC0yLjkgLjEtMTEuNCA0LjUtMTUuMSA0LjktNC45IDEyLTMuNCAxMy40LTMuMSAuMyAwIC42LS4xIC44LS4zcy40LS40IC42LS43YzEuMi0yLjYgMi4yLTUuMyAzLjEtOCAuMS0uMyAuMS0uNSAwLS44cy0uMy0uNS0uNS0uNmwwIDB6bTQ2LjggNTQuMWwtMi4xLTcuM2MtLjUtMS4yLTEuNC0uNy0xLjQtLjctNC4yIDEuOC0xMC4xIDEuOS0xMS4zIDEuOS00LjYgMC0xNy4yLTEuMS0xNy4yLTE5LjggMC02LjIgMS44LTE5LjggMTYuNS0xOS44IDMuOS0uMSA3LjggLjUgMTEuNSAxLjYgMCAwIC45IC41IDEuMi0uNyAuOS0yLjYgMS42LTQuNSAyLjYtNy41IC4yLS45LS41LTEuMi0uNy0xLjItMTEuNi0zLjktMjIuMy0yLjUtMjcuOCAwLTEuNiAuNy0xNi4yIDYuNS0xNi4yIDI3LjUgMCAyLjktLjYgMzAuMSAyOC45IDMwLjEgNS4zIDAgMTAuNi0xIDE1LjUtMi44IC4yLS4yIC40LS40IC41LS42cy4xLS41IDAtLjhsMCAwem01My45LTM5LjVjLS44LTMtNS40LTE2LjItMjIuMy0xNi4yLTE2IDAtMjMuNSAxMC4xLTI1LjYgMTguNi0xLjIgMy44LTEuNyA3LjgtMS43IDExLjggMCAyNS45IDE4LjggMjkuNCAyOS45IDI5LjQgMTAuOCAwIDE2LjUtMi4zIDE4LjYtMy44IC41LS4yIC43LS43IC4yLTEuOWwtMi40LTYuOGMtLjEtLjMtLjMtLjUtLjYtLjZzLS42LS4yLS44LS4xYy0yLjYgLjktNi4zIDIuOC0xNS4zIDIuOC0xNy40IDAtMTYuOS0xNC43LTE2LjktMTYuN2wzNy4yIDBjLjMgMCAuNS0uMSAuNy0uM3MuNC0uNCAuNC0uN2MtLjIgMCAuOS03LjEtMS40LTE1LjVsMCAwem0tMjMuMy02LjRjLTEwLjMgMC0xMyA5LTEzLjYgMTQuMWwyNi40IDBjLS45LTExLjktNy42LTE0LjEtMTIuNy0xNC4xbDAgMHoiXX0salN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNvdXJjZXRyZWUiLGljb246WzQ0OCw1MTIsW10sImY3ZDMiLCJNNDI3LjQgMjAzYzAtMTEyLjEtOTAuOS0yMDMtMjAzLTIwMy0xMTIuMS0uMi0yMDMgOTAuNi0yMDMuMiAyMDIuNi0uMSA0MyAxMy41IDg0LjggMzguNyAxMTkuNnM2MC45IDYwLjYgMTAxLjggNzMuOGwwIDEwMS43YzAgMy44IDEuNSA3LjQgNC4yIDEwLjFzNi4zIDQuMiAxMC4xIDQuMmw5Ni40IDBjMy44IDAgNy40LTEuNSAxMC4xLTQuMnM0LjItNi4zIDQuMi0xMC4xbDAtMTAxLjZjNDAuOC0xMy4yIDc2LjUtMzkgMTAxLjctNzMuN3MzOC45LTc2LjUgMzktMTE5LjR6bS0yNzEuNiAwYzAtOTAuOCAxMzcuMy05MC44IDEzNy4zIDAtLjEgODkuOS0xMzcuMyA5MS0xMzcuMyAweiJdfSxVU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGlua2VkaW4taW4iLGljb246WzQ0OCw1MTIsW10sImYwZTEiLCJNMTAwLjMgNDQ4bC05Mi45IDAgMC0yOTkuMSA5Mi45IDAgMCAyOTkuMXpNNTMuOCAxMDguMUMyNC4xIDEwOC4xIDAgODMuNSAwIDUzLjggMCAzOS41IDUuNyAyNS45IDE1LjggMTUuOHMyMy44LTE1LjggMzgtMTUuOCAyNy45IDUuNyAzOCAxNS44IDE1LjggMjMuOCAxNS44IDM4YzAgMjkuNy0yNC4xIDU0LjMtNTMuOCA1NC4zek00NDcuOSA0NDhsLTkyLjcgMCAwLTE0NS42YzAtMzQuNy0uNy03OS4yLTQ4LjMtNzkuMi00OC4zIDAtNTUuNyAzNy43LTU1LjcgNzYuN2wwIDE0OC4xLTkyLjggMCAwLTI5OS4xIDg5LjEgMCAwIDQwLjggMS4zIDBjMTIuNC0yMy41IDQyLjctNDguMyA4Ny45LTQ4LjMgOTQgMCAxMTEuMyA2MS45IDExMS4zIDE0Mi4zbDAgMTY0LjMtLjEgMHoiXX0sV1N0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imh0bWw1IixpY29uOlszODQsNTEyLFtdLCJmMTNiIiwiTTAgMzJMMzQuOSA0MjcuOCAxOTEuNSA0ODAgMzQ5LjEgNDI3LjggMzg0IDMyIDAgMzJ6TTMwOC4yIDE1OS45bC0xODMuOCAwIDQuMSA0OS40IDE3NS42IDAtMTMuNiAxNDguNC05Ny45IDI3IDAgLjMtMS4xIDAtOTguNy0yNy4zLTYtNzUuOCA0Ny43IDAgMy41IDM4LjEgNTMuNSAxNC41IDUzLjctMTQuNSA2LTYyLjItMTY2LjkgMC0xMi44LTE0NS42IDI0MS4xIDAtNC40IDQ3Ljd6Il19LEdTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJydXN0IixpY29uOls1MTIsNTEyLFtdLCJlMDdhIiwiTTUwOC41IDI0OS44bC0yMS44LTEzLjVjLS4yLTItLjMtMy45LS41LTUuOWwxOC43LTE3LjVjLjktLjkgMS42LTEuOSAyLTMuMXMuNS0yLjUgLjItMy43LS44LTIuNC0xLjYtMy4zLTEuOC0xLjctMy0yLjFsLTI0LTljLS41LTEuOS0xLjEtMy44LTEuNy01LjZsMTUtMjAuOGMuNy0xIDEuMi0yLjIgMS4zLTMuNHMwLTIuNS0uNS0zLjctMS4yLTIuMi0yLjItMi45LTIuMS0xLjMtMy40LTEuNWwtMjUuNC00LjJjLS45LTEuNy0xLjgtMy40LTIuNy01LjJsMTAuNy0yMy40Yy41LTEuMSAuNy0yLjQgLjYtMy42cy0uNS0yLjQtMS4yLTMuNS0xLjYtMS45LTIuOC0yLjUtMi40LS44LTMuNi0uOGwtMjUuOCAuOWMtMS4yLTEuNS0yLjQtMi45LTMuNi00LjRMNDM5IDgxLjhjLjMtMS4yIC4zLTIuNS0uMS0zLjdzLTEtMi4zLTEuOS0zLjItMi0xLjUtMy4yLTEuOS0yLjUtLjQtMy43LS4xTDQwNSA3OC45Yy0xLjQtMS4yLTIuOS0yLjQtNC40LTMuNmwuOS0yNS44Yy4xLTEuMy0uMi0yLjUtLjgtMy42cy0xLjQtMi4xLTIuNS0yLjgtMi4yLTEuMS0zLjUtMS4yLTIuNSAuMS0zLjcgLjZMMzY3LjcgNTMuMmMtMS43LS45LTMuNC0xLjgtNS4xLTIuN2wtNC4yLTI1LjRjLS4yLTEuMi0uNy0yLjQtMS41LTMuNHMtMS44LTEuNy0yLjktMi4yLTIuNC0uNy0zLjctLjUtMi40IC42LTMuNCAxLjNMMzI2IDM1LjNjLTEuOS0uNi0zLjgtMS4xLTUuNi0xLjdsLTktMjRjLS40LTEuMi0xLjItMi4yLTIuMS0zcy0yLjEtMS40LTMuMy0xLjYtMi41LS4yLTMuNyAuMi0yLjMgMS4xLTMuMSAyTDI4MS42IDI1LjljLTItLjItMy45LS40LTUuOS0uNUwyNjIuMyAzLjVjLS43LTEuMS0xLjYtMS45LTIuNy0yLjZzLTIuMy0uOS0zLjYtLjktMi41IC4zLTMuNiAuOS0yIDEuNS0yLjcgMi42TDIzNi4yIDI1LjNjLTIgLjItMy45IC4zLTUuOSAuNkwyMTIuOSA3LjFjLS45LS45LTEuOS0xLjYtMy4xLTJzLTIuNS0uNS0zLjctLjItMi40IC44LTMuMyAxLjYtMS43IDEuOC0yLjEgM2wtOSAyNGMtMS45IC42LTMuOCAxLjEtNS43IDEuN2wtMjAuOC0xNWMtMS0uNy0yLjItMS4yLTMuNC0xLjNzLTIuNSAwLTMuNyAuNS0yLjIgMS4yLTIuOSAyLjItMS4zIDIuMS0xLjUgMy40bC00LjIgMjUuNGMtMS43IC45LTMuNCAxLjgtNS4yIDIuN0wxMjAuOSA0Mi42Yy0xLjEtLjUtMi40LS43LTMuNy0uNnMtMi41IC41LTMuNSAxLjItMS45IDEuNy0yLjUgMi44LS44IDIuNC0uOCAzLjZsLjkgMjUuOGMtMS41IDEuMi0zIDIuNC00LjQgMy42TDgxLjggNzNjLTEuMi0uMy0yLjUtLjMtMy43IC4xcy0yLjMgMS0zLjIgMS45LTEuNSAyLTEuOSAzLjItLjQgMi41LS4xIDMuN0w3OC45IDEwN2MtMS4yIDEuNC0yLjQgMi45LTMuNiA0LjRsLTI1LjgtLjljLTEuMyAwLTIuNSAuMi0zLjYgLjhzLTIuMSAxLjQtMi44IDIuNC0xLjEgMi4yLTEuMiAzLjUgLjEgMi41IC42IDMuNmwxMC43IDIzLjRjLS45IDEuNy0xLjggMy40LTIuNyA1LjJsLTI1LjQgNC4xYy0xLjIgLjItMi40IC43LTMuNCAxLjVzLTEuNyAxLjgtMi4yIDIuOS0uNyAyLjQtLjUgMy43IC42IDIuNCAxLjMgMy40bDE1IDIwLjhjLS42IDEuOS0xLjEgMy44LTEuNyA1LjdsLTI0IDljLTEuMiAuNC0yLjIgMS4yLTMgMi4xcy0xLjQgMi4xLTEuNiAzLjMtLjIgMi41IC4yIDMuNyAxLjEgMi4zIDIgMy4xbDE4LjcgMTcuNWMtLjIgMi0uNCAzLjktLjYgNS45TDMuNSAyNDkuOGMtMS4xIC43LTEuOSAxLjYtMi42IDIuN3MtLjkgMi4zLS45IDMuNiAuMyAyLjUgLjkgMy42IDEuNSAyIDIuNiAyLjdsMjEuOCAxMy41Yy4yIDIgLjMgMy45IC42IDUuOUw3LjEgMjk5LjFjLS45IC45LTEuNiAxLjktMiAzLjFzLS41IDIuNS0uMiAzLjcgLjggMi40IDEuNiAzLjMgMS44IDEuNyAzIDIuMWwyNCA5Yy42IDEuOSAxLjEgMy44IDEuNyA1LjZsLTE1IDIwLjhjLS43IDEtMS4yIDIuMi0xLjMgMy40czAgMi41IC41IDMuNyAxLjIgMi4yIDIuMiAyLjkgMi4xIDEuMyAzLjQgMS41bDI1LjQgNC4yYy45IDEuNyAxLjggMy40IDIuNyA1LjFMNDIuNiAzOTEuMWMtLjUgMS4xLS43IDIuNC0uNiAzLjZzLjUgMi41IDEuMiAzLjVjLjcgMS4xIDEuNiAxLjkgMi43IDIuNXMyLjQgLjggMy42IC44bDI1LjgtLjljMS4yIDEuNSAyLjQgMi45IDMuNiA0LjRMNzMgNDMwLjJjLS4zIDEuMi0uMyAyLjUgLjEgMy43czEgMi4zIDEuOSAzLjIgMiAxLjUgMy4yIDEuOSAyLjUgLjQgMy43IC4xbDI1LjItNS45YzEuNSAxLjIgMi45IDIuNCA0LjQgMy42bC0uOSAyNS44YzAgMS4zIC4yIDIuNSAuOCAzLjZzMS40IDIuMSAyLjUgMi44IDIuMiAxLjEgMy41IDEuMiAyLjUtLjEgMy42LS42bDIzLjQtMTAuN2MxLjcgLjkgMy40IDEuOCA1LjEgMi43bDQuMiAyNS40Yy4yIDEuMiAuNyAyLjQgMS41IDMuNHMxLjggMS44IDIuOSAyLjIgMi40IC43IDMuNyAuNSAyLjQtLjYgMy40LTEuM2wyMC44LTE1YzEuOSAuNiAzLjggMS4xIDUuNiAxLjdsOSAyNGMuNCAxLjIgMS4yIDIuMiAyLjEgM3MyLjEgMS40IDMuMyAxLjYgMi41IC4yIDMuNy0uMiAyLjMtMS4xIDMuMS0ybDE3LjUtMTguN2MyIC4yIDMuOSAuNCA1LjkgLjZsMTMuNSAyMS44Yy43IDEuMSAxLjYgMS45IDIuNyAyLjZzMi4zIC45IDMuNiAuOSAyLjUtLjMgMy42LS45IDItMS41IDIuNy0yLjZsMTMuNS0yMS44YzItLjIgMy45LS4zIDUuOS0uNmwxNy41IDE4LjdjLjkgLjkgMS45IDEuNiAzLjEgMnMyLjUgLjUgMy43IC4yIDIuNC0uOCAzLjMtMS42IDEuNy0xLjggMi4xLTNsOS0yNGMxLjktLjYgMy44LTEuMSA1LjYtMS43bDIwLjggMTVjMSAuNyAyLjIgMS4yIDMuNCAxLjNzMi41IDAgMy43LS41IDIuMi0xLjIgMi45LTIuMiAxLjMtMi4xIDEuNS0zLjRsNC4yLTI1LjRjMS43LS45IDMuNC0xLjggNS4xLTIuN2wyMy40IDEwLjdjMS4xIC41IDIuNCAuNyAzLjYgLjZzMi40LS41IDMuNS0xLjIgMS45LTEuNiAyLjUtMi44IC44LTIuNCAuOC0zLjZsLS45LTI1LjhjMS41LTEuMiAyLjktMi40IDQuNC0zLjZsMjUuMiA1LjljMS4yIC4zIDIuNSAuMyAzLjctLjFzMi4zLTEgMy4yLTEuOSAxLjUtMiAxLjktMy4yIC40LTIuNSAuMS0zLjdMNDMzLjEgNDA1YzEuMi0xLjQgMi40LTIuOSAzLjYtNC40bDI1LjggLjljMS4zIC4xIDIuNS0uMiAzLjYtLjhzMi4xLTEuNCAyLjgtMi41Yy43LTEgMS4xLTIuMiAxLjItMy41cy0uMS0yLjUtLjYtMy42bC0xMC43LTIzLjRjLjktMS43IDEuOC0zLjQgMi43LTUuMWwyNS40LTQuMmMxLjItLjIgMi40LS43IDMuNC0xLjVzMS44LTEuOCAyLjItMi45IC43LTIuNCAuNS0zLjctLjYtMi40LTEuMy0zLjRsLTE1LTIwLjhjLjYtMS45IDEuMS0zLjggMS43LTUuNmwyNC05YzEuMi0uNCAyLjItMS4yIDMtMi4xczEuNC0yLjEgMS42LTMuMyAuMi0yLjUtLjItMy43LTEuMS0yLjMtMi0zLjFsLTE4LjctMTcuNWMuMi0xLjkgLjQtMy45IC42LTUuOWwyMS44LTEzLjVjMS4xLS43IDEuOS0xLjYgMi42LTIuN3MuOS0yLjMgLjktMy42LS4zLTIuNS0uOS0zLjYtMS41LTItMi42LTIuN2wwIDB6bS0xNTEgMTI5LjFjLTMuNi0uOC03LjQtLjEtMTAuNSAxLjlzLTUuMyA1LjItNiA4LjhsLTcuNiAzNS43Yy0yNC42IDExLjEtNTEuMyAxNi44LTc4LjMgMTYuN3MtNTMuNi02LjEtNzguMS0xNy40bC03LjYtMzUuN2MtLjQtMS44LTEuMS0zLjUtMi4xLTVzLTIuNC0yLjgtMy45LTMuOC0zLjItMS43LTUtMi0zLjYtLjMtNS40IC4xbC0zMS41IDYuOGMtNS44LTYtMTEuMy0xMi41LTE2LjMtMTkuMmwxNTMuMiAwYzEuNyAwIDIuOS0uMyAyLjktMS45bDAtNTQuMmMwLTEuNi0xLjItMS45LTIuOS0xLjlsLTQ0LjggMCAwLTM0LjQgNDguNSAwYzQuNCAwIDIzLjcgMS4zIDI5LjggMjUuOSAxLjkgNy41IDYuMiAzMi4xIDkuMSA0MCAyLjkgOC44IDE0LjYgMjYuNSAyNy4xIDI2LjVsNzkgMGMtNS4zIDcuMS0xMS4xIDEzLjgtMTcuMyAyMC4xbC0zMi4xLTYuOXptMjUuOCAzNC41YzAgMy0uOSA2LTIuNiA4LjVzLTQgNC41LTYuOCA1LjYtNS44IDEuNS04LjggLjktNS43LTItNy44LTQuMi0zLjYtNC44LTQuMi03LjgtLjMtNiAuOC04LjggMy4xLTUuMiA1LjYtNi45IDUuNC0yLjYgOC41LTIuNmwuNCAwYzQgLjEgNy43IDEuOCAxMC41IDQuNnM0LjMgNi43IDQuMyAxMC42bC4xIDB6bS0yMjUuNi0uN2MwIDMtLjkgNi0yLjYgOC41cy00LjEgNC41LTYuOCA1LjYtNS44IDEuNS04LjggLjktNS43LTItNy44LTQuMi0zLjYtNC44LTQuMi03LjgtLjMtNiAuOS04LjggMy4xLTUuMiA1LjYtNi44IDUuNC0yLjYgOC41LTIuNmwuNSAwYzQgLjEgNy43IDEuOCAxMC41IDQuNnM0LjMgNi43IDQuMyAxMC42bC4xIDB6TTY5LjYgMjM0LjJsMzIuOC0xNC42YzEuNy0uNyAzLjItMS44IDQuNC0zLjFzMi4yLTIuOSAyLjktNC42IDEtMy41IC45LTUuMy0uNS0zLjYtMS4yLTUuM2wtNi44LTE1LjIgMjYuNiAwIDAgMTE5LjctNTMuNiAwYy02LjYtMjMuMi04LjctNDcuNi02LjEtNzEuNnpNNTguMyAxOTguMWMwLTIgLjQtNCAxLjItNS44czEuOS0zLjUgMy4zLTQuOSAzLjEtMi41IDQuOS0zLjMgMy44LTEuMiA1LjgtMS4ybC41IDBjMyAuMSA1LjkgMSA4LjMgMi44czQuMyA0LjEgNS40IDYuOSAxLjMgNS44IC43IDguOC0yLjEgNS42LTQuMyA3LjctNC45IDMuNS03LjggNC4xLTYgLjItOC43LS45LTUuMS0zLjEtNi44LTUuNi0yLjUtNS40LTIuNS04LjRsMCAwem0xNTUuMiAyNC41bDAtMzUuMyA2My4zIDBjMy4zIDAgMjMuMSAzLjggMjMuMSAxOC42IDAgMTIuMy0xNS4yIDE2LjctMjcuNyAxNi43bC01OC43IDB6TTM5OSAzMDYuN2MtOS44IDEuMS0yMC42LTQuMS0yMi0xMC4xLTUuOC0zMi41LTE1LjQtMzkuNC0zMC42LTUxLjQgMTguOS0xMiAzOC41LTI5LjYgMzguNS01My4zIDAtMjUuNS0xNy41LTQxLjYtMjkuNC00OS41LTE2LjgtMTEtMzUuMy0xMy4yLTQwLjMtMTMuMmwtMTk4LjkgMGMyNy41LTMwLjcgNjQuNC01MS41IDEwNC45LTU5LjJsMjMuNSAyNC42YzEuMyAxLjMgMi44IDIuNCA0LjQgMy4xczMuNSAxLjEgNS4zIDEuMiAzLjYtLjMgNS4zLS45IDMuMi0xLjcgNC42LTIuOWwyNi4zLTI1YzI2LjggNSA1Mi4xIDE1LjggNzQuMyAzMS42czQwLjYgMzYuMiA1NC4xIDU5LjlsLTE4IDQwLjZjLTEuNSAzLjQtMS41IDcuMi0uMiAxMC42czMuOSA2LjIgNy4zIDcuN2wzNC42IDE1LjNjMS4xIDEwLjggMS4yIDIxLjcgLjQgMzIuNWwtMTkuMyAwYy0xLjkgMC0yLjcgMS4zLTIuNyAzLjFsMCA4LjhjMCAyMC44LTExLjcgMjUuMy0yMiAyNi41ek0yNDAgNjAuMmMwLTQgMS42LTcuOSA0LjUtMTAuN3M2LjctNC41IDEwLjctNC41bC40IDBjMyAuMSA1LjkgMSA4LjQgMi44czQuMyA0LjEgNS40IDYuOSAxLjMgNS44IC43IDguOC0yLjEgNS42LTQuMyA3LjctNC45IDMuNS03LjggNC02IC4yLTguNy0uOS01LjEtMy4xLTYuOC01LjYtMi41LTUuNC0yLjUtOC40ek00MzYuOCAyMTRjLTIgMC00LS40LTUuOC0xLjJzLTMuNS0xLjktNC45LTMuMy0yLjUtMy4xLTMuMy00LjktMS4yLTMuOC0xLjItNS44IC40LTQgMS4yLTUuOCAxLjktMy41IDMuMy00LjkgMy4xLTIuNSA0LjktMy4zIDMuOC0xLjIgNS44LTEuMmwuNCAwYzQgLjEgNy45IDEuNyAxMC43IDQuNnM0LjQgNi44IDQuMyAxMC44LTEuNyA3LjktNC42IDEwLjctNi44IDQuNC0xMC44IDQuM3oiXX0sWVN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imhvcm5iaWxsIixpY29uOls1MTIsNTEyLFtdLCJmNTkyIiwiTTc2LjggMzcwLjNjMSA3LjgtLjQgMTUuOC00LjEgMjIuOHMtOS42IDEyLjYtMTYuNyAxNi4xLTE1LjEgNC43LTIyLjkgMy4zLTE1LTUuMS0yMC42LTEwLjctOS4yLTEyLjktMTAuNS0yMC43IDAtMTUuOCAzLjYtMjIuOSA5LjMtMTIuOCAxNi4zLTE2LjUgMTUtNSAyMi45LTMuOWMtNzguMy0xMTEuMyA1Mi0xOTAuNSA1Mi0xOTAuNS01LjkgNDMtOC4yIDkxLjItOC4yIDkxLjItNjcuMyA0MS41IC45IDY0LjEgMzkuOCA3Mi45IDkuOSAyNyAyNy44IDUwLjIgNTEuNCA2Ni43czUxLjYgMjUuMyA4MC4zIDI1LjNjMS45IDAgMy44LS4yIDUuNy0uM2wuMSAxOC45Yy05OS4yIDEuNC0xNTguNy0yOS4xLTE4OC45LTUxLjZ6bTEwOC0zMjcuN2MuOS03LjItLjItMTQuNi0zLjQtMjEuMi0zLTYuMi03LjYtMTEuNS0xMy40LTE1LjNzLTEyLjUtNS45LTE5LjQtNi4yLTEzLjggMS40LTE5LjggNC43LTExLjEgOC4zLTE0LjUgMTQuMy01LjIgMTIuOC01IDE5LjcgMi4yIDEzLjcgNS45IDE5LjUgOC45IDEwLjYgMTUuMSAxMy42IDEzLjEgNC40IDIwIDMuOWMtMjIuNiAyOS45LTUzLjggODkuNi01Mi40IDE5MGwyMS44LS4yYzAtLjktLjEtMS44LS4xLTIuNyAwLTI4IDguNC01NS4zIDI0LjEtNzguNXMzNy45LTQxLjIgNjMuOC01MS42YzgtMzcuNyAzMC43LTExNC4zIDczLjgtNDQuMyAwIDAgNDguMSAyLjQgOTEuMiA4LjIgMCAwLTc3LjgtMTI4LTE4Ny42LTU0LjFsMCAwek00ODkgMTc2LjhjNi4zLTMgMTEuNy03LjcgMTUuNS0xMy42czUuOS0xMi43IDYuMS0xOS44LTEuNi0xNC01LjItMjAtOC43LTExLTE0LjktMTQuMy0xMy4yLTQuOC0yMC4yLTQuNC0xMy44IDIuOC0xOS41IDYuOS0xMC4yIDkuNi0xMyAxNi4xLTMuNyAxMy42LTIuNyAyMC41Yy0zMS43LTIxLjktODkuOC00OS4xLTE4My40LTQ3LjdsLjEgMjIuNWMyLjctLjIgNS40LS40IDguMS0uNCAyOC4xIDAgNTUuNiA4LjUgNzguOSAyNC4zczQxLjIgMzguMyA1MS42IDY0LjVjMzkuMSA5IDEwNS4xIDMxLjYgMzguNSA3Mi41IDAgMC0yLjMgNDguMS04LjIgOTEuMiAwIDAgMTMzLjQtODEuMiA0OS0xOTQuNiA2LjYgLjYgMTMuMy0uNiAxOS4zLTMuNWwwIDB6TTM3NC40IDQzNi4yYzIxLjQtMzIuNSA0Ni40LTg5LjcgNDUuMS0xNzkuN2wtMTkuNSAuMWMuMSAyLjEgLjMgNC4xIC4zIDYuMiAwIDI4LjYtOC44IDU2LjUtMjUuMSA4MHMtMzkuNSA0MS40LTY2LjMgNTEuNGMtOC45IDM5LTMxLjQgMTA2LjctNzIuOCAzOS41IDAgMC00OC4xLTIuMy05MS4yLTguMiAwIDAgNzkuOSAxMzEuMyAxOTEuOSA1MSAuMyA0LjkgMS41IDkuNiAzLjYgMTQgMi45IDYuMSA3LjUgMTEuNCAxMy4xIDE1LjFzMTIuMiA2IDE5IDYuNCAxMy42LTEuMSAxOS42LTQuMiAxMS4xLTcuOCAxNC43LTEzLjYgNS42LTEyLjQgNS43LTE5LjItMS41LTEzLjUtNC44LTE5LjQtOC4yLTEwLjktMTQuMS0xNC4zLTEyLjYtNS4yLTE5LjQtNS4xbDAtLjF6Il19LEtTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwaHAiLGljb246WzY0MCw1MTIsW10sImY0NTciLCJNMzIwIDEwNC41YzE3MS40IDAgMzAzLjIgNzIuMiAzMDMuMiAxNTEuNVM0OTEuMyA0MDcuNSAzMjAgNDA3LjVDMTQ4LjYgNDA3LjUgMTYuOCAzMzUuMyAxNi44IDI1NlMxNDguNyAxMDQuNSAzMjAgMTA0LjV6bTAtMTYuOEMxNDMuMyA4Ny43IDAgMTYzIDAgMjU2UzE0My4zIDQyNC4zIDMyMCA0MjQuMyA2NDAgMzQ5IDY0MCAyNTYgNDk2LjcgODcuNyAzMjAgODcuN3pNMjE4LjIgMjQyLjVjLTcuOSA0MC41LTM1LjggMzYuMy03MC4xIDM2LjNsMTMuNy03MC42YzM4IDAgNjMuOC00LjEgNTYuNCAzNC4zek05Ny40IDM1MC4zbDM2LjcgMCA4LjctNDQuOGM0MS4xIDAgNjYuNiAzIDkwLjItMTkuMSAyNi4xLTI0IDMyLjktNjYuNyAxNC4zLTg4LjEtOS43LTExLjItMjUuMy0xNi43LTQ2LjUtMTYuN2wtNzAuNyAwLTMyLjcgMTY4Ljd6TTI4My4xIDEzNi43bDM2LjUgMC04LjcgNDQuOGMzMS41IDAgNjAuNy0yLjMgNzQuOCAxMC43IDE0LjggMTMuNiA3LjcgMzEtOC4zIDExMy4xbC0zNyAwYzE1LjQtNzkuNCAxOC4zLTg2IDEyLjctOTItNS40LTUuOC0xNy43LTQuNi00Ny40LTQuNmwtMTguOCA5Ni42LTM2LjUgMCAzMi43LTE2OC42ek01MDUgMjQyLjVjLTggNDEuMS0zNi43IDM2LjMtNzAuMSAzNi4zbDEzLjctNzAuNmMzOC4yIDAgNjMuOC00LjEgNTYuNCAzNC4zek0zODQuMiAzNTAuM2wzNi44IDAgOC43LTQ0LjhjNDMuMiAwIDY3LjEgMi41IDkwLjItMTkuMSAyNi4xLTI0IDMyLjktNjYuNyAxNC4zLTg4LjEtOS43LTExLjItMjUuMy0xNi43LTQ2LjUtMTYuN2wtNzAuNyAwLTMyLjggMTY4Ljd6Il19LFpTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkaXNxdXMiLGljb246WzU3Niw1MTIsW10sImU3ZDUiLCJNMjkwLjIgNTEyYy02Mi42IDAtMTE5LjktMjIuOS0xNjQuMi02MC44TDE3IDQ2Ni4xIDU5LjEgMzYyLjJjLTE0LjctMzIuNC0yMi45LTY4LjMtMjIuOS0xMDYuMiAwLTE0MS40IDExMy43LTI1NiAyNTQtMjU2IDE0MC4zIDAgMjU0IDExNC42IDI1NCAyNTYgMCAxNDEuNC0xMTMuNyAyNTYtMjU0IDI1NnpNNDI4LjkgMjU1LjNsMC0uN0M0MjguOSAxODAuNyAzNzYuOCAxMjggMjg3IDEyOGwtOTcgMCAwIDI1NiA5NS42IDBjOTAuNSAwIDE0My40LTU0LjkgMTQzLjQtMTI4Ljd6TTI4OCAzMjEuMWwtMjguNCAwIDAtMTMwLjIgMjguNCAwYzQxLjcgMCA2OS4zIDIzLjggNjkuMyA2NC43bDAgLjdjMCA0MS4zLTI3LjcgNjQuNy02OS4zIDY0Ljd6Il19LFhTdD17cHJlZml4OiJmYWIiLGljb25OYW1lOiI1MDBweCIsaWNvbjpbMzg0LDUxMixbXSwiZjI2ZSIsIk03MS44IDM0NC4zYy02LjUtMTQuMi02LjktMTguMyA3LjQtMjMuMSAyNS42LTggOCA5LjIgNDMuMiA0OS4ybC4zIDAgMC05My45YzEuMi01MC4yIDQ0LTkyLjIgOTcuNy05Mi4yIDUzLjkgMCA5Ny43IDQzLjUgOTcuNyA5Ni44IDAgNjMuNC02MC44IDExMy4yLTEyOC41IDkzLjMtMTAuNS00LjItMi4xLTMxLjcgOC41LTI4LjYgNTMgMCA4OS40LTEwLjEgODkuNC02NC40IDAtNjEtNzcuMS04OS42LTExNi45LTQ0LjYtMjMuNSAyNi40LTE3LjYgNDIuMS0xNy42IDE1Ny42IDUwLjcgMzEgMTE4LjMgMjIgMTYwLjQtMjAuMSAyNC44LTI0LjggMzguNS01OCAzOC41LTkzIDAtMzUuMi0xMy44LTY4LjItMzguOC05My4zLTI0LjgtMjQuOC01Ny44LTM4LjUtOTMuMy0zOC41UzE1MSAxNjMuMyAxMjYuMyAxODhjLS4zIC4zLTE2IDE2LjUtMjEuMiAyMy45bC0uNSAuNmMtMy4zIDQuNy02LjMgOS4xLTIwLjEgNi4xLTYuOS0xLjctMTQuMy01LjgtMTQuMy0xMS44TDcwLjIgMjBjMC01IDMuOS0xMC41IDEwLjUtMTAuNUwzMjIgOS41YzguMyAwIDguMyAxMS42IDguMyAxNS4xIDAgMy45IDAgMTUuMS04LjMgMTUuMWwtMjIzLjIgMCAwIDEzMi45IC4zIDBjMTA0LjItMTA5LjggMjgyLjgtMzYgMjgyLjggMTA4LjkgMCAxNzguMS0yNDQuOCAyMjAuMy0zMTAuMSA2Mi44ek0xMzUuMSA4My41Yy0uNSA0LjIgNC42IDI0LjUgMTQuNiAyMC42IDEyNC44LTQ3LjUgMjAyLjggNDAuNCAyMDkuNCA0MC40IDQuOCAwIDIyLjgtMTUuMyAxNC4zLTIyLjgtOTMuMi04OS0yMzQuNS01Ny0yMzguMy0zOC4yek0zNjEuNSA0MTQuN2MtMTEwIDEwOS45LTI5OSA2MC44LTMzMi0xMDQuMiAwLTEyLjItMzAuNC03LjQtMjguOSAzLjMgMjQgMTczLjQgMjQ2IDI1Ni45IDM4MS42IDEyMS4zIDYuOS03LjgtMTIuNi0yOC40LTIwLjctMjAuNHpNMTgyLjEgMzA2LjZjMCA0IDQuMyA3LjMgNS41IDguNSAzIDMgNi4xIDQuNCA4LjUgNC40IDMuOCAwIDIuNiAuMiAyMi4zLTE5LjUgMTkuNiAxOS4zIDE5LjEgMTkuNSAyMi4zIDE5LjUgNS40IDAgMTguNS0xMC40IDEwLjctMTguMmwtMTcuMy0xNy4zIDE4LjItMTguMmM2LjMtNi44LTEwLjEtMjEuOC0xNi4yLTE1LjdMMjE4LjIgMjY4Yy0xOC42LTE4LjgtMTguNC0xOS41LTIxLjUtMTkuNS01IDAtMTggMTEuNy0xMi40IDE3LjNMMjAyLjUgMjg0Yy0xOC4xIDE3LjktMjAuNCAxOS4yLTIwLjQgMjIuNnoiXX0sUVN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFmZmlsaWF0ZXRoZW1lIixpY29uOls1MTIsNTEyLFtdLCJmMzZiIiwiTTE1OS43IDIzNy40QzEwOC40IDMwOC4zIDQzLjEgMzQ4LjIgMTQgMzI2LjYtMTUuMiAzMDQuOSAyLjggMjMwIDU0LjIgMTU5LjEgMTA1LjUgODguMiAxNzAuOCA0OC4zIDE5OS45IDY5LjlzMTEuMSA5Ni42LTQwLjIgMTY3LjV6bTM1MS4yLTU3LjNjLTczLjggMTIzLjQtMTkxLjkgMTg3LjctMjY0LjUgMTQzLjYtMjUtMTUuMi00MS4zLTQxLjItNDktNzMuOC0zMy42IDY0LjgtOTIuOCAxMTMuOC0xNjQuMSAxMzMuMiA0OS44IDU5LjMgMTI0LjEgOTYuOSAyMDcgOTYuOSAxNTAgMCAyNzEuNi0xMjMuMSAyNzEuNi0yNzQuOSAuMS04LjUtLjMtMTYuOC0xLTI1eiJdfSxKU3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmVkLXJpdmVyIixpY29uOls0NDgsNTEyLFtdLCJmM2UzIiwiTTM1My4yIDMyTDk0LjggMzJDNDIuNCAzMiAwIDc0LjQgMCAxMjYuOEwwIDM4NS4yQzAgNDM3LjYgNDIuNCA0ODAgOTQuOCA0ODBsMjU4LjQgMGM1Mi40IDAgOTQuOC00Mi40IDk0LjgtOTQuOGwwLTI1OC40QzQ0OCA3NC40IDQwNS42IDMyIDM1My4yIDMyek0xNDQuOSAyMDAuOWwwIDU2LjNjMCAyNy0yMS45IDQ4LjktNDguOSA0OC45bDAtMTU0LjJjMC0xMy4yIDEwLjctMjMuOSAyMy45LTIzLjlsMTU0LjIgMGMwIDI3LTIxLjkgNDguOS00OC45IDQ4LjlsLTU2LjMgMGMtMTIuMy0uNi0yNC42IDExLjYtMjQgMjR6bTE3Ni4zIDcybC01Ni4zIDBjLTEyLjMtLjYtMjQuNiAxMS42LTI0IDI0bDAgNTYuM2MwIDI3LTIxLjkgNDguOS00OC45IDQ4LjlsMC0xNTQuMmMwLTEzLjIgMTAuNy0yMy45IDIzLjktMjMuOWwxNTQuMiAwYzAgMjctMjEuOSA0OC45LTQ4LjkgNDguOXoiXX0sZ2VlPXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InR3aXR0ZXIiLGljb246WzUxMiw1MTIsW10sImYwOTkiLCJNNDU5LjQgMTUxLjdjLjMgNC41IC4zIDkuMSAuMyAxMy42IDAgMTM4LjctMTA1LjYgMjk4LjYtMjk4LjYgMjk4LjYtNTkuNSAwLTExNC43LTE3LjItMTYxLjEtNDcuMSA4LjQgMSAxNi42IDEuMyAyNS4zIDEuMyA0OS4xIDAgOTQuMi0xNi42IDEzMC4zLTQ0LjgtNDYuMS0xLTg0LjgtMzEuMi05OC4xLTcyLjggNi41IDEgMTMgMS42IDE5LjggMS42IDkuNCAwIDE4LjgtMS4zIDI3LjYtMy42LTQ4LjEtOS43LTg0LjEtNTItODQuMS0xMDNsMC0xLjNjMTQgNy44IDMwLjIgMTIuNyA0Ny40IDEzLjMtMjguMy0xOC44LTQ2LjgtNTEtNDYuOC04Ny40IDAtMTkuNSA1LjItMzcuNCAxNC4zLTUzIDUxLjcgNjMuNyAxMjkuMyAxMDUuMyAyMTYuNCAxMDkuOC0xLjYtNy44LTIuNi0xNS45LTIuNi0yNCAwLTU3LjggNDYuOC0xMDQuOSAxMDQuOS0xMDQuOSAzMC4yIDAgNTcuNSAxMi43IDc2LjcgMzMuMSAyMy43LTQuNSA0Ni41LTEzLjMgNjYuNi0yNS4zLTcuOCAyNC40LTI0LjQgNDQuOC00Ni4xIDU3LjggMjEuMS0yLjMgNDEuNi04LjEgNjAuNC0xNi4yLTE0LjMgMjAuOC0zMi4yIDM5LjMtNTIuNiA1NC4zeiJdfSxlenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZm9ydC1hd2Vzb21lIixpY29uOls1MTIsNTEyLFtdLCJmMjg2IiwiTTQ4OS41IDI4Ny45bC0yNy40IDBjLTIuNiAwLTQuNiAyLTQuNiA0LjZsMCAzMi0zNi42IDAgMC0xNzguM2MwLTIuNi0yLTQuNi00LjYtNC42bC0yNy40IDBjLTIuNiAwLTQuNiAyLTQuNiA0LjZsMCAzMi0zNi42IDAgMC0zMmMwLTIuNi0yLTQuNi00LjYtNC42bC0yNy40IDBjLTIuNiAwLTQuNiAyLTQuNiA0LjZsMCAzMi0zNi42IDAgMC0zMmMwLTYtOC00LjYtMTEuNy00LjZsMC0zOGM4LjMtMiAxNy4xLTMuNCAyNS43LTMuNCAxMC45IDAgMjAuOSA0LjMgMzEuNCA0LjMgNC42IDAgMjcuNy0xLjEgMjcuNy04bDAtNjBjMC0yLjYtMi00LjYtNC42LTQuNi01LjEgMC0xNS4xIDQuMy0yNCA0LjMtOS43IDAtMjAuOS00LjMtMzIuNi00LjMtOCAwLTE2IDEuMS0yMy43IDIuOWwwLTQuOWM1LjQtMi42IDkuMS04LjMgOS4xLTE0LjMgMC0yMC43LTMxLjQtMjAuOC0zMS40IDAgMCA2IDMuNyAxMS43IDkuMSAxNC4zbDAgMTExLjdjLTMuNyAwLTExLjctMS40LTExLjcgNC42bDAgMzItMzYuNiAwIDAtMzJjMC0yLjYtMi00LjYtNC42LTQuNmwtMjcuNCAwYy0yLjYgMC00LjYgMi00LjYgNC42bDAgMzItMzYuMyAwIDAtMzJjMC0yLjYtMi00LjYtNC42LTQuNmwtMjcuNCAwYy0yLjYgMC00LjYgMi00LjYgNC42bDAgMTc4LjMtMzYuNiAwIDAtMzJjMC0yLjYtMi00LjYtNC42LTQuNmwtMjcuNCAwYy0yLjYgMC00LjYgMi00LjYgNC42bDAgMjE5LjUgMTgyLjkgMCAwLTk2YzAtNzIuNiAxMDkuNy03Mi42IDEwOS43IDBsMCA5NiAxODIuOSAwIDAtMjE5LjVjLjEtMi42LTEuOS00LjYtNC41LTQuNnptLTI4OC4xLTQuNWMwIDIuNi0yIDQuNi00LjYgNC42bC0yNy40IDBjLTIuNiAwLTQuNi0yLTQuNi00LjZsMC02NGMwLTIuNiAyLTQuNiA0LjYtNC42bDI3LjQgMGMyLjYgMCA0LjYgMiA0LjYgNC42bDAgNjR6bTE0Ni40IDBjMCAyLjYtMiA0LjYtNC42IDQuNmwtMjcuNCAwYy0yLjYgMC00LjYtMi00LjYtNC42bDAtNjRjMC0yLjYgMi00LjYgNC42LTQuNmwyNy40IDBjMi42IDAgNC42IDIgNC42IDQuNmwwIDY0eiJdfSx0enQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWl4ZXIiLGljb246WzQ0OCw1MTIsW10sImUwNTYiLCJNODIuNiA3Ni4xYy0zLjgtNS4xLTguNy05LjQtMTQuMi0xMi41cy0xMS43LTUuMS0xOC4xLTUuNy0xMi44IC4xLTE4LjggMi4yLTExLjYgNS4zLTE2LjMgOS42Yy0xNy42IDE2LjItMTkgNDMuNS00LjggNjIuOGw5MS44IDEyMy05Mi4zIDEyNC4xYy0xNC4yIDE5LjMtMTMuMSA0Ni42IDQuNyA2Mi44IDQuNyA0LjMgMTAuMyA3LjYgMTYuMyA5LjZzMTIuNSAyLjggMTguOCAyLjIgMTIuNS0yLjUgMTguMS01LjcgMTAuNC03LjQgMTQuMi0xMi41TDIxMC45IDI2Mi43YzEuNS0yLjEgMi4zLTQuNiAyLjMtNy4xcy0uOC01LTIuMy03LjFMODIuNiA3Ni4xek00MzguMiAzNzkuNmwtOTIuMy0xMjQuMSA5MS44LTEyM2MxNC4yLTE5LjIgMTIuOC00Ni42LTQuNy02Mi44LTQuNy00LjMtMTAuMy03LjYtMTYuMy05LjZzLTEyLjUtMi44LTE4LjgtMi4yLTEyLjUgMi41LTE4LjEgNS43LTEwLjQgNy40LTE0LjIgMTIuNWwtMTI4IDE3Mi4xYy0xLjUgMi4xLTIuMyA0LjYtMi4zIDcuMXMuOCA1IDIuMyA3LjFMMzY2IDQzNS45YzMuOCA1LjEgOC43IDkuNCAxNC4yIDEyLjVzMTEuNyA1LjEgMTguMSA1LjcgMTIuOC0uMSAxOC44LTIuMiAxMS42LTUuMyAxNi4zLTkuNmMxNy44LTE2LjIgMTktNDMuNSA0LjctNjIuOHoiXX0sYXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imx5ZnQiLGljb246WzUxMiw1MTIsW10sImYzYzMiLCJNMCA4MS4xbDc3LjggMCAwIDIwOC43YzAgMzMuMSAxNSA1Mi44IDI3LjIgNjEtMTIuNyAxMS4xLTUxLjIgMjAuOS04MC4yLTIuOC0xNy0xNC0yNC44LTM3LjMtMjQuOC01OUwwIDgxLjF6TTQ4NS45IDI1NC42bDAtMjIgMjMuOCAwIDAtNzYuOC0yNi4xIDBjLTEwLjEtNDYuMy01MS4yLTgwLjctMTAwLjMtODAuNy01Ni42IDAtMTAyLjcgNDYtMTAyLjcgMTAyLjdsMCAxNzkuMmMxNiAyLjMgMzUuNC0uMyA1MS43LTE0IDE3LjEtMTQgMjQuOC0zNy4yIDI0LjgtNTlsMC02LjcgMzguOCAwIDAtNzYuOC0zOC44IDAgMC0yMy4zYzAtMzQuNiA1Mi4yLTM0LjYgNTIuMiAwbDAgNzcuMWMwIDU2LjYgNDYgMTAyLjcgMTAyLjcgMTAyLjdsMC03Ni41Yy0xNC41IDAtMjYuMS0xMS43LTI2LjEtMjUuOXptLTI5NC4zLTk5bDAgMTEzYzAgMTUuNC0yMy44IDE1LjQtMjMuOCAwbDAtMTEzLTc2LjggMCAwIDEzMi43YzAgMjMuOCA4IDU0IDQ1IDYzLjkgMzcgOS44IDU4LjItMTAuNiA1OC4yLTEwLjYtMi4xIDEzLjQtMTQuNSAyMy4zLTM0LjkgMjUuMy0xNS41IDEuNi0zNS4yLTMuNi00NS03LjhsMCA3MC4zYzI1LjEgNy41IDUxLjUgOS44IDc3LjYgNC43IDQ3LjEtOS4xIDc2LjgtNDguNCA3Ni44LTEwMC44bDAtMTc4LjItNzcuMSAwIDAgLjV6Il19LHJ6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhcHBsZS1wYXkiLGljb246WzY0MCw1MTIsW10sImY0MTUiLCJNMTE2LjkgMTU4LjVjLTcuNSA4LjktMTkuNSAxNS45LTMxLjUgMTQuOS0xLjUtMTIgNC40LTI0LjggMTEuMy0zMi42IDcuNS05LjEgMjAuNi0xNS42IDMxLjMtMTYuMSAxLjIgMTIuNC0zLjcgMjQuNy0xMS4xIDMzLjh6bTEwLjkgMTcuMmMtMTcuNC0xLTMyLjMgOS45LTQwLjUgOS45LTguNCAwLTIxLTkuNC0zNC44LTkuMS0xNy45IC4zLTM0LjUgMTAuNC00My42IDI2LjUtMTguOCAzMi4zLTQuOSA4MCAxMy4zIDEwNi4zIDguOSAxMyAxOS41IDI3LjMgMzMuNSAyNi44IDEzLjMtLjUgMTguNS04LjYgMzQuNS04LjYgMTYuMSAwIDIwLjggOC42IDM0LjggOC40IDE0LjUtLjMgMjMuNi0xMyAzMi41LTI2IDEwLjEtMTQuOCAxNC4zLTI5LjEgMTQuNS0yOS45LS4zLS4zLTI4LTEwLjktMjguMy00Mi45LS4zLTI2LjggMjEuOS0zOS41IDIyLjktNDAuMy0xMi41LTE4LjYtMzItMjAuNi0zOC44LTIxLjF6bTEwMC40LTM2LjJsMCAxOTQuOSAzMC4zIDAgMC02Ni42IDQxLjkgMGMzOC4zIDAgNjUuMS0yNi4zIDY1LjEtNjQuM3MtMjYuNC02NC02NC4xLTY0bC03My4yIDB6TTI1OC41IDE2NWwzNC45IDBjMjYuMyAwIDQxLjMgMTQgNDEuMyAzOC42cy0xNSAzOC44LTQxLjQgMzguOGwtMzQuOCAwIDAtNzcuNHpNNDIwLjcgMzM1LjljMTkgMCAzNi42LTkuNiA0NC42LTI0LjlsLjYgMCAwIDIzLjQgMjggMCAwLTk3YzAtMjguMS0yMi41LTQ2LjMtNTcuMS00Ni4zLTMyLjEgMC01NS45IDE4LjQtNTYuOCA0My42bDI3LjMgMGMyLjMtMTIgMTMuNC0xOS45IDI4LjYtMTkuOSAxOC41IDAgMjguOSA4LjYgMjguOSAyNC41bDAgMTAuOC0zNy44IDIuM2MtMzUuMSAyLjEtNTQuMSAxNi41LTU0LjEgNDEuNSAuMSAyNS4yIDE5LjcgNDIgNDcuOCA0MnptOC4yLTIzLjFjLTE2LjEgMC0yNi40LTcuOC0yNi40LTE5LjYgMC0xMi4zIDkuOS0xOS40IDI4LjgtMjAuNWwzMy42LTIuMSAwIDExYzAgMTguMi0xNS41IDMxLjItMzYgMzEuMnptMTAyLjUgNzQuNmMyOS41IDAgNDMuNC0xMS4zIDU1LjUtNDUuNGw1My4xLTE0OS0zMC44IDAtMzUuNiAxMTUuMS0uNiAwLTM1LjYtMTE1LjEtMzEuNiAwIDUxLjIgMTQxLjktMi44IDguNmMtNC42IDE0LjYtMTIuMSAyMC4zLTI1LjUgMjAuMy0yLjQgMC03LS4zLTguOS0uNWwwIDIzLjRjMS44IC40IDkuMyAuNyAxMS42IC43eiJdfSxzenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXJ0c3RhdGlvbiIsaWNvbjpbNTEyLDUxMixbXSwiZjc3YSIsIk0yLjEgMzc3LjRsNDMgNzQuM2M0LjMgOC41IDEwLjggMTUuNyAxOC45IDIwLjdzMTcuNCA3LjYgMjcgNy42bDI4NS40IDAtNTkuMi0xMDIuNi0zMTUuMSAwek01MDEuOSAzNTBMMzM1LjcgNTkuM2MtNC40LTguMi0xMC45LTE1LjEtMTguOS0yMFMyOTkuNyAzMiAyOTAuNCAzMmwtODguNCAwIDI1Ny4zIDQ0Ny42IDQwLjctNzAuNWMxLjktMy4yIDIxLTI5LjcgMi01OS4xek0yNzUuMiAzMDQuNWwtMTE1LjUtMjAwLTExNS41IDIwMCAyMzEgMHoiXX0saXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5vZGUtanMiLGljb246WzQ0OCw1MTIsW10sImYzZDMiLCJNMjI0LjUgNTA4Yy02LjcgMC0xMy41LTEuOC0xOS40LTUuMmwtNjEuNy0zNi41Yy05LjItNS4yLTQuNy03LTEuNy04IDEyLjMtNC4zIDE0LjgtNS4yIDI3LjktMTIuNyAxLjQtLjggMy4yLS41IDQuNiAuNGw0Ny40IDI4LjFjMS43IDEgNC4xIDEgNS43IDBMNDEyIDM2Ny41YzEuNy0xIDIuOC0zIDIuOC01bDAtMjEzLjJjMC0yLjEtMS4xLTQtMi45LTUuMUwyMjcuMyAzNy43Yy0xLjctMS00LTEtNS43IDBMMzcuMSAxNDQuM2MtMS44IDEtMi45IDMtMi45IDUuMWwwIDIxMy4xYzAgMiAxLjEgNCAyLjkgNC45bDUwLjYgMjkuMmMyNy41IDEzLjcgNDQuMy0yLjQgNDQuMy0xOC43bDAtMjEwLjRjMC0zIDIuNC01LjMgNS40LTUuM2wyMy40IDBjMi45IDAgNS40IDIuMyA1LjQgNS4zbDAgMjEwLjVjMCAzNi42LTIwIDU3LjYtNTQuNyA1Ny42LTEwLjcgMC0xOS4xIDAtNDIuNS0xMS42TDIwLjYgMzk2LjFjLTEyLTYuOS0xOS40LTE5LjgtMTkuNC0zMy43bDAtMjEzLjFjMC0xMy44IDcuNC0yNi44IDE5LjQtMzMuN0wyMDUuMSA5YzExLjctNi42IDI3LjItNi42IDM4LjggMEw0MjguNiAxMTUuN2MxMiA2LjkgMTkuNCAxOS44IDE5LjQgMzMuN2wwIDIxMy4xYzAgMTMuOC03LjQgMjYuNy0xOS40IDMzLjdMMjQzLjkgNTAyLjhjLTUuOSAzLjQtMTIuNiA1LjItMTkuNCA1LjJ6TTM3My42IDI5Ny45YzAtMzkuOS0yNy01MC41LTgzLjctNTgtNTcuNC03LjYtNjMuMi0xMS41LTYzLjItMjQuOSAwLTExLjEgNC45LTI1LjkgNDcuNC0yNS45IDM3LjkgMCA1MS45IDguMiA1Ny43IDMzLjggLjUgMi40IDIuNyA0LjIgNS4yIDQuMmwyNCAwYzEuNSAwIDIuOS0uNiAzLjktMS43czEuNS0yLjYgMS40LTQuMWMtMy43LTQ0LjEtMzMtNjQuNi05Mi4yLTY0LjYtNTIuNyAwLTg0LjEgMjIuMi04NC4xIDU5LjUgMCA0MC40IDMxLjMgNTEuNiA4MS44IDU2LjYgNjAuNSA1LjkgNjUuMiAxNC44IDY1LjIgMjYuNyAwIDIwLjYtMTYuNiAyOS40LTU1LjUgMjkuNC00OC45IDAtNTkuNi0xMi4zLTYzLjItMzYuNi0uNC0yLjYtMi42LTQuNS01LjMtNC41bC0yMy45IDBjLTMgMC01LjMgMi40LTUuMyA1LjMgMCAzMS4xIDE2LjkgNjguMiA5Ny44IDY4LjIgNTguNC0uMSA5Mi0yMy4yIDkyLTYzLjR6Il19LG96dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bmNoYXJ0ZWQiLGljb246WzQ0OCw1MTIsW10sImUwODQiLCJNMTcxLjggMjMyLjhjMS4xIDAgMi4xLS4zIDMtLjlzMS42LTEuNCAyLTIuNGMyLjItOS44IDcuNC0xOC42IDE0LjktMjUuMyAxLjItLjggMS43LTIuNSAxLjctNC4xLS4xLS43LS4zLTEuMy0uNi0xLjlzLS45LTEuMS0xLjQtMS40TDc0LjUgMTI4LjUgMTQ5LjEgODVjMS41LS44IDIuNy0yIDMuNi0zLjVzMS40LTMuMSAxLjQtNC44YzAtMS43LS40LTMuNC0xLjMtNC45cy0yLjItMi43LTMuNy0zLjRMMTI2LjcgNTUuNmMtMS41LS44LTMuMS0xLjItNC44LTEuMnMtMy4zIC40LTQuOCAxLjJMMTcgMTEzLjZjLTEuNSAuOC0yLjcgMi0zLjYgMy41cy0xLjQgMy4xLTEuNCA0LjhMMTIgMjM3YzAgMS43IC40IDMuNCAxLjMgNC45czIuMiAyLjcgMy43IDMuNGwyMi40IDEyLjhjMS41IC45IDMuMiAxLjMgNSAxLjIgMi40IC4xIDQuOC0uOCA2LjYtMi41IDEuOC0xLjkgMi44LTQuNCAyLjktN2wwLTg1LjMgMTE1LjkgNjcuOWMuNiAuMyAxLjQgLjQgMi4xIC40ek0zMjMuNCAzNzcuN2MtMS43IC4xLTMuNCAuNS01IDEuMmwtNzQuNSA0My4xIDAtMTM0LjJjMC0yLjktMi45LTUuOC02LjItNC42LTkuNCAyLjgtMTkuNSAzLTI5IC40LS43LS4yLTEuNS0uMi0yLjItLjFzLTEuNCAuNC0yIC45LTEuMSAxLTEuNCAxLjctLjUgMS40LS41IDIuMWwwIDEzMy4zLTc0LjUtNDMuMWMtMS41LS45LTMuMi0xLjMtNS0xLjItMi41IDAtNC45IDEtNi43IDIuOHMtMi44IDQuMi0yLjggNi43bDAgMjYuMWMwIDEuNyAuNCAzLjQgMS4zIDQuOXMyLjIgMi43IDMuNyAzLjRsMTAwLjIgNTcuNmMxLjUgLjkgMy4yIDEuMyA1IDEuMiAxLjcgMCAzLjQtLjQgNS0xLjJsMTAwLjItNTcuNmMxLjUtLjggMi43LTIgMy42LTMuNXMxLjQtMy4xIDEuNC00LjhsMC0yNi4xYy0uOC00LjYtNS40LTkuMS0xMC40LTkuMXpNMjg2LjEgNzhhMjMgMjMgMCAxIDAgMC00NiAyMyAyMyAwIDEgMCAwIDQ2em02My42LTEwLjFhMjMgMjMgMCAxIDAgMCA0NiAyMyAyMyAwIDEgMCAwLTQ2em02My4yIDgzLjdhMjMgMjMgMCAxIDAgMC00NiAyMyAyMyAwIDEgMCAwIDQ2em0tNjMuMi05LjJhMjMgMjMgMCAxIDAgMCA0NiAyMyAyMyAwIDEgMCAwLTQ2em0tNjMuNiA4My4yYzQuNSAwIDktMS4zIDEyLjgtMy45czYuNy02LjEgOC41LTEwLjMgMi4yLTguOCAxLjMtMTMuMy0zLjEtOC42LTYuMy0xMS44LTcuMy01LjQtMTEuOC02LjMtOS4xLS40LTEzLjMgMS4zLTcuOCA0LjctMTAuMyA4LjUtMy45IDguMi0zLjkgMTIuOGMwIDMgLjYgNiAxLjggOC44czIuOSA1LjMgNSA3LjUgNC43IDMuOCA3LjUgNSA1LjggMS44IDguOCAxLjhsMCAwek0yMjQgMjYyYzQuNSAwIDktMS40IDEyLjgtMy45czYuNy02LjEgOC41LTEwLjMgMi4yLTguOCAxLjMtMTMuMy0zLjEtOC42LTYuMy0xMS44LTcuMy01LjQtMTEuOC02LjMtOS4xLS40LTEzLjMgMS4zLTcuOCA0LjctMTAuMyA4LjUtMy45IDguMi0zLjkgMTIuOGMwIDMgLjYgNiAxLjcgOC44czIuOCA1LjMgNSA3LjUgNC43IDMuOCA3LjUgNSA1LjggMS44IDguOCAxLjhsMCAwem0xODguOS04Mi40Yy00LjYgMC05IDEuMy0xMi44IDMuOXMtNi43IDYuMS04LjUgMTAuMy0yLjIgOC44LTEuMyAxMy4zIDMuMSA4LjYgNi4zIDExLjggNy4zIDUuNCAxMS44IDYuMyA5LjEgLjQgMTMuMy0xLjMgNy44LTQuNyAxMC4zLTguNSAzLjktOC4yIDMuOS0xMi44YzAtNi4xLTIuNC0xMS45LTYuNy0xNi4zcy0xMC4yLTYuNy0xNi4zLTYuN2wwIDB6bTAgNzIuM2MtNC42IDAtOSAxLjMtMTIuOCAzLjlzLTYuNyA2LjEtOC41IDEwLjMtMi4yIDguOC0xLjMgMTMuMyAzLjEgOC42IDYuMyAxMS44IDcuMyA1LjQgMTEuOCA2LjMgOS4xIC40IDEzLjMtMS4zIDcuOC00LjcgMTAuMy04LjUgMy45LTguMiAzLjktMTIuOGMwLTYuMS0yLjQtMTEuOS02LjctMTYuM3MtMTAuMi02LjctMTYuMy02LjdsMCAweiJdfSxuenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGxheXN0YXRpb24iLGljb246WzU3Niw1MTIsW10sImYzZGYiLCJNNTcxIDM3Mi4zYy0xMS4zIDE0LjItMzguOCAyNC4zLTM4LjggMjQuM2wtMjA1LjEgNzMuNiAwLTU0LjMgMTUwLjktNTMuOGMxNy4xLTYuMSAxOS44LTE0LjggNS44LTE5LjQtMTMuOS00LjYtMzkuMS0zLjMtNTYuMiAyLjlsLTEwMC41IDM1LjUgMC01Ni40YzIzLjItNy44IDQ3LjEtMTMuNiA3NS43LTE2LjggNDAuOS00LjUgOTAuOSAuNiAxMzAuMiAxNS41IDQ0LjIgMTQgNDkuMiAzNC43IDM4IDQ4Ljl6TTM0Ni42IDI3OS44bDAtMTM5YzAtMTYuMy0zLTMxLjMtMTguMy0zNS42LTExLjctMy44LTE5IDcuMS0xOSAyMy40bDAgMzQ3LjktOTMuOC0yOS44IDAtNDE0LjdjMzkuOSA3LjQgOTggMjQuOSAxMjkuMiAzNS40IDc5LjUgMjcuMyAxMDYuNCA2MS4zIDEwNi40IDEzNy44IDAgNzQuNS00NiAxMDIuOC0xMDQuNSA3NC42ek00My4zIDQxMC4yYy00NS40LTEyLjgtNTMtMzkuNS0zMi4zLTU0LjggMTkuMS0xNC4yIDUxLjctMjQuOSA1MS43LTI0LjlsMTM0LjUtNDcuOCAwIDU0LjUtOTYuOCAzNC42Yy0xNy4xIDYuMS0xOS43IDE0LjgtNS44IDE5LjRzMzkuMSAzLjMgNTYuMi0yLjlsNDYuNC0xNi45IDAgNDguOGMtNTEuNiA5LjMtMTAxLjQgNy4zLTE1My45LTEweiJdfSxsenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibWljcm9ibG9nIixpY29uOls0NDgsNTEyLFtdLCJlMDFhIiwiTTM5OS44IDM2Mi4yYzI5LjUtMzQuNyA0Ny4xLTc4LjMgNDcuMS0xMjUuOCAwLTExMy05OS42LTIwNC40LTIyMi41LTIwNC40UzIgMTIzLjUgMiAyMzYuNCAxMDEuNiA0NDAuOSAyMjQuNSA0NDAuOWMyNyAwIDUzLjktNC41IDc5LjQtMTMuNCAxLjQtLjUgMy0uNSA0LjUtLjFzMi43IDEuNCAzLjYgMi42YzE4LjYgMjUuMSA0Ny42IDQyLjcgNzkuOSA0OS45IDEuMSAuMiAyLjMgMCAzLjMtLjZzMS43LTEuNiAxLjktMi44Yy4xLS42IC4xLTEuMyAwLTEuOXMtLjQtMS4yLS44LTEuN2MtMTIuMy0xNi0xOC43LTM1LjgtMTgtNTZzOC40LTM5LjUgMjEuNy01NC43bC0uMiAuMXpNMzMwIDIxMi40bC01Ny4zIDQzLjUgMjAuOCA2OC45Yy40IDEuMyAuNCAyLjctLjEgNHMtMS4yIDIuNC0yLjMgMy4yLTIuNCAxLjItMy44IDEuMi0yLjctLjQtMy44LTEuMmwtNTkuMS00MS01OS4xIDQxLjFjLTEuMSAuOC0yLjQgMS4yLTMuOCAxLjJzLTIuNy0uNC0zLjgtMS4yLTEuOS0xLjktMi4zLTMuMi0uNS0yLjctLjEtNGwyMC44LTY4LjktNTcuMy00My41Yy0xLjEtLjgtMS45LTEuOS0yLjMtMy4ycy0uNC0yLjcgMC00IDEuMi0yLjQgMi4zLTMuMiAyLjQtMS4zIDMuNy0xLjNsNzEuOS0xLjUgMjMuNy02Ny45Yy40LTEuMyAxLjMtMi40IDIuNC0zLjJzMi40LTEuMiAzLjgtMS4yIDIuNyAuNCAzLjggMS4yIDEuOSAxLjkgMi40IDMuMmwyMy43IDY3LjkgNzEuOSAxLjVjMS40IDAgMi43IC40IDMuOCAxLjJzMS45IDEuOSAyLjMgMy4yIC40IDIuNyAwIDQtMS4yIDIuNC0yLjMgMy4zbDAgMHoiXX0sY3p0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdpdGtyYWtlbiIsaWNvbjpbNTc2LDUxMixbXSwiZjNhNiIsIk01NTcuNyAxMTguMWMtMi4zLTYuMS05LjMtOS4yLTE1LjMtNi42LTUuNyAyLjQtOC41IDguOS02LjMgMTQuNiAxMC45IDI5IDE2LjkgNjAuNSAxNi45IDkzLjMgMCAxMzQuNi0xMDAuMyAyNDUuNy0yMzAuMiAyNjIuN2wwLTEyMy43YzcuOS0xLjUgMTUuNS0zLjYgMjMtNi4ybDAgMTA0YzEwNi43LTI1LjkgMTg1LjktMTIyLjEgMTg1LjktMjM2LjggMC05MS44LTUwLjgtMTcxLjgtMTI1LjgtMjEzLjMtNS43LTMuMi0xMy0uOS0xNS45IDUtMi43IDUuNS0uNiAxMi4yIDQuNyAxNS4xIDY3LjkgMzcuNiAxMTMuOSAxMTAgMTEzLjkgMTkzLjIgMCA5My4zLTU3LjkgMTczLjEtMTM5LjggMjA1LjRsMC05Mi4yYzE0LjItNC41IDI0LjktMTcuNyAyNC45LTMzLjUgMC0xMy4xLTYuOC0yNC40LTE3LjMtMzAuNSA4LjMtNzkuNSA0NC41LTU4LjYgNDQuNS04My45bDAtMTQuN2MwLTM4LTg3LjktMTYxLjgtMTI5LTE2NC43LTIuNS0uMi01LS4yLTcuNiAwLTQxLjIgMy0xMjkuMSAxMjYuNy0xMjkuMSAxNjQuN2wwIDE0LjhjMCAyNS4zIDM2LjMgNC4zIDQ0LjUgODMuOS0xMC42IDYuMS0xNy4zIDE3LjQtMTcuMyAzMC41IDAgMTUuOCAxMC42IDI5IDI0LjggMzMuNWwwIDkyLjJjLTgxLjktMzIuMi0xMzkuOC0xMTItMTM5LjgtMjA1LjQgMC04My4xIDQ2LTE1NS41IDExMy45LTE5My4yIDUuNC0zIDcuNC05LjYgNC43LTE1LjEtMi45LTUuOS0xMC4xLTguMi0xNS45LTUtNzUgNDEuNS0xMjUuOCAxMjEuNS0xMjUuOCAyMTMuMyAwIDExNC43IDc5LjIgMjEwLjggMTg1LjkgMjM2LjhsMC0xMDRjNy42IDIuNSAxNS4xIDQuNiAyMyA2LjJsMCAxMjMuN2MtMTI5LjgtMTctMjMwLjItMTI4LjEtMjMwLjItMjYyLjcgMC0zMi44IDYtNjQuMyAxNi45LTkzLjMgMi4yLTUuOC0uNi0xMi4yLTYuMy0xNC42LTYtMi42LTEzIC40LTE1LjMgNi42LTExLjggMzEuNS0xOC4zIDY1LjYtMTguMyAxMDEuMyAwIDE1NS4xIDEyMi42IDI4MS42IDI3Ni4zIDI4Ny44bDAtMTQ1LjljNi44IC40IDE1IC41IDIzLjQgMGwwIDE0NS44YzE1My43LTYuMSAyNzYuMy0xMzIuNiAyNzYuMy0yODcuNyAwLTM1LjctNi41LTY5LjgtMTguMy0xMDEuNHpNMzU3LjkgMzIyLjlhMjMuNyAyMy43IDAgMSAxIDAtNDcuNCAyMy43IDIzLjcgMCAxIDEgMCA0Ny40ek0yMTguMSAyNzUuNGEyMy43IDIzLjcgMCAxIDEgMCA0Ny40IDIzLjcgMjMuNyAwIDEgMSAwLTQ3LjR6Il19LGFwZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ0ZWxlZ3JhbSIsaWNvbjpbNTEyLDUxMixbNjI0NjIsInRlbGVncmFtLXBsYW5lIl0sImYyYzYiLCJNMjU2IDhhMjQ4IDI0OCAwIDEgMCAwIDQ5NiAyNDggMjQ4IDAgMSAwIDAtNDk2ek0zNzEgMTc2LjdjLTMuNyAzOS4yLTE5LjkgMTM0LjQtMjguMSAxNzguMy0zLjUgMTguNi0xMC4zIDI0LjgtMTYuOSAyNS40LTE0LjQgMS4zLTI1LjMtOS41LTM5LjMtMTguNy0yMS44LTE0LjMtMzQuMi0yMy4yLTU1LjMtMzcuMi0yNC41LTE2LjEtOC42LTI1IDUuMy0zOS41IDMuNy0zLjggNjcuMS02MS41IDY4LjMtNjYuNyAuMi0uNyAuMy0zLjEtMS4yLTQuNHMtMy42LS44LTUuMS0uNWMtMi4yIC41LTM3LjEgMjMuNS0xMDQuNiA2OS4xLTkuOSA2LjgtMTguOSAxMC4xLTI2LjkgOS45LTguOS0uMi0yNS45LTUtMzguNi05LjEtMTUuNS01LTI3LjktNy43LTI2LjgtMTYuMyAuNi00LjUgNi43LTkgMTguNC0xMy43IDcyLjMtMzEuNSAxMjAuNS01Mi4zIDE0NC42LTYyLjMgNjguOS0yOC42IDgzLjItMzMuNiA5Mi41LTMzLjggMi4xIDAgNi42IC41IDkuNiAyLjkgMiAxLjcgMy4yIDQuMSAzLjUgNi43IC41IDMuMiAuNiA2LjUgLjQgOS44eiJdfSxkenQ9YXBlLHV6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ1bHRyYWx5dGljcyIsaWNvbjpbNTEyLDUxMixbXSwiZTg2ZCIsIk0zOTEuNCAzOS43YzY1LjgtLjIgMTE4LjYgNTEuOCAxMjAuNCAxMTYuNiAuNyAyNi40LTEuNSA1NC4xLTMuOCA3NC4xLTE3LjIgMTQ4LjYtMTIyLjQgMjQyLTI1Mi40IDI0Mi05NS40LS4xLTE3OS40LTUyLjctMjIzLjItMTMwLjYgMjQuNCAxNy40IDU0LjUgMjcuNCA4Ny42IDI3LjQgODMuMiAuMSAxNTEuNC02Ny40IDE1MS4yLTE1MGwuMS02MC42Yy0uMi02NS43IDUzLjktMTE5IDEyMC4xLTExOC45ek0xMTkuOSAxMDAuMmM2Ni4yIDAgMTE5LjkgNTMuMyAxMTkuOSAxMTlTMTg2LjEgMzM4LjMgMTE5LjkgMzM4LjMgMCAyODUgMCAyMTkuM2MwLTY1LjcgNTMuNy0xMTkgMTE5LjktMTE5eiJdfSxwenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiaXR1bmVzLW5vdGUiLGljb246WzM4NCw1MTIsW10sImYzYjUiLCJNMzgxLjkgMzg4LjJjLTYuNCAyNy40LTI3LjIgNDIuOC01NS4xIDQ4LTI0LjUgNC41LTQ0LjkgNS42LTY0LjUtMTAuMi0yMy45LTIwLjEtMjQuMi01My40LTIuNy03NC40IDE3LTE2LjIgNDAuOS0xOS41IDc2LjgtMjUuOCA2LTEuMSAxMS4yLTIuNSAxNS42LTcuNCA2LjQtNy4yIDQuNC00LjEgNC40LTE2My4yIDAtMTEuMi01LjUtMTQuMy0xNy0xMi4zLTguMiAxLjQtMTg1LjcgMzQuNi0xODUuNyAzNC42LTEwLjIgMi4yLTEzLjQgNS4yLTEzLjQgMTYuNyAwIDIzNC43IDEuMSAyMjMuOS0yLjUgMjM5LjUtNC4yIDE4LjItMTUuNCAzMS45LTMwLjIgMzkuNS0xNi44IDkuMy00Ny4yIDEzLjQtNjMuNCAxMC40LTQzLjItOC4xLTU4LjQtNTgtMjkuMS04Ni42IDE3LTE2LjIgNDAuOS0xOS41IDc2LjgtMjUuOCA2LTEuMSAxMS4yLTIuNSAxNS42LTcuNCAxMC4xLTExLjUgMS44LTI1Ni42IDUuMi0yNzAuMiAuOC01LjIgMy05LjYgNy4xLTEyLjkgNC4yLTMuNSAxMS44LTUuNSAxMy40LTUuNSAyMDQtMzguMiAyMjguOS00My4xIDIzMi40LTQzLjEgMTEuNS0uOCAxOC4xIDYgMTguMSAxNy42IC4yIDM0NC41IDEuMSAzMjYtMS44IDMzOC41eiJdfSxmenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGVzcyIsaWNvbjpbNjQwLDUxMixbXSwiZjQxZCIsIk02MTMuMiAyMTljMC0yMC41IDMuMi0zMi42IDMuMi01NC42IDAtMzQuMi0xMi42LTQ1LjItNDAuNS00NS4ybC0yMC41IDAgMCAyNC4yIDYuMyAwYzE0LjIgMCAxNy4zIDQuNyAxNy4zIDIyLjEgMCAxNi4zLTEuNiAzMi42LTEuNiA1MS41IDAgMjQuMiA3LjkgMzMuNiAyMy42IDM3LjNsMCAxLjZjLTE1LjggMy43LTIzLjYgMTMuMS0yMy42IDM3LjMgMCAxOC45IDEuNiAzNC4yIDEuNiA1MS41IDAgMTcuOS0zLjcgMjIuNi0xNy4zIDIyLjZsMCAuNS02LjMgMCAwIDI1LjIgMjAuNSAwYzI3LjggMCA0MC41LTExIDQwLjUtNDUuMiAwLTIyLjYtMy4yLTM0LjItMy4yLTU0LjYgMC0xMSA2LjgtMjIuNiAyNy4zLTIzLjZsMC0yNy4zYy0yMC41LS43LTI3LjMtMTIuMy0yNy4zLTIzLjN6TTUwNy42IDI1MWMtMTUuOC02LjMtMzAuNS0xMC0zMC41LTIwLjUgMC03LjkgNi4zLTEyLjYgMTcuOS0xMi42czIyLjEgNC43IDMzLjYgMTMuMWwyMS0yNy44Yy0xMy4xLTEwLTMxLTIwLjUtNTUuMi0yMC41LTM1LjcgMC01OS45IDIwLjUtNTkuOSA0OS40IDAgMjUuNyAyMi42IDM4LjkgNDEuNSA0Ni4yIDE2LjMgNi4zIDMyLjEgMTEuNiAzMi4xIDIyLjEgMCA3LjktNi4zIDEzLjEtMjAuNSAxMy4xLTEzLjEgMC0yNi4zLTUuMy00MC41LTE2LjNsLTIxIDMwLjVjMTUuOCAxMy4xIDM5LjkgMjIuMSA1OS45IDIyLjEgNDIgMCA2NC42LTIyLjEgNjQuNi01MXMtMjIuNS00MS00My00Ny44ek0xNDguNyAzMTAuNGMtMy43IDAtOC40LTMuMi04LjQtMTMuMWwwLTE3OC4yLTc0LjYgMGMtMjguNCAwLTQxIDExLTQxIDQ1LjIgMCAyMi42IDMuMiAzNS4yIDMuMiA1NC42IDAgMTEtNi44IDIyLjYtMjcuMyAyMy42bDAgMjcuM2MyMC41IC41IDI3LjMgMTIuMSAyNy4zIDIzLjEgMCAxOS40LTMuMiAzMS0zLjIgNTMuNiAwIDM0LjIgMTIuNiA0NS4yIDQwLjUgNDUuMmwyMC41IDAgMC0yNC4yLTYuMyAwYy0xMy4xIDAtMTcuMy01LjMtMTcuMy0yMi42czEuNi0zMi4xIDEuNi01MS41YzAtMjQuMi03LjktMzMuNi0yMy42LTM3LjNsMC0xLjZjMTUuOC0zLjcgMjMuNi0xMy4xIDIzLjYtMzcuMyAwLTE4LjktMS42LTM0LjItMS42LTUxLjVzMy43LTIyLjEgMTcuMy0yMi4xbDE0LjEgMCAwIDE1MC44YzAgMzIuMSAxMSA1My4xIDQzLjEgNTMuMSAxMCAwIDE3LjktMS42IDIzLjYtMy43bC01LjMtMzQuMmMtMy4xIC44LTQuNiAuOC02LjIgLjh6TTM4MC40IDI1MWMtMTYuMy02LjMtMzEtMTAtMzEtMjAuNSAwLTcuOSA2LjMtMTIuNiAxNy45LTEyLjZzMjIuMSA0LjcgMzMuNiAxMy4xbDIxLTI3LjhjLTEzLjEtMTAtMzEtMjAuNS01NS4yLTIwLjUtMzUuNyAwLTU5LjkgMjAuNS01OS45IDQ5LjQgMCAyNS43IDIyLjYgMzguOSA0MS41IDQ2LjIgMTYuMyA2LjMgMzIuMSAxMS42IDMyLjEgMjIuMSAwIDcuOS02LjMgMTMuMS0yMC41IDEzLjEtMTMuMSAwLTI2LjMtNS4zLTQwLjUtMTYuM2wtMjAuNSAzMC41YzE1LjggMTMuMSAzOS45IDIyLjEgNTkuOSAyMi4xIDQyIDAgNjQuNi0yMi4xIDY0LjYtNTEgLjEtMjguOS0yMi41LTQxLTQzLTQ3Ljh6bS0xNTUtNjguOGMtMzguNCAwLTc1LjEgMzIuMS03NC4xIDgyLjUgMCA1MiAzNC4yIDgyLjUgNzkuMyA4Mi41IDE4LjkgMCAzOS45LTYuOCA1Ni4yLTE3LjlMMjcxIDMwMS41Yy0xMS42IDYuOC0yMi42IDEwLTM0LjIgMTAtMjEgMC0zNy4zLTEwLTQxLjUtMzQuMmw5NS4yIDBjLjUtMy43IDEuNi0xMSAxLjYtMTkuNCAuNi00Mi42LTIyLjYtNzUuNy02Ni43LTc1Ljd6bS0zMCA2Ni4yYzMuMi0yMSAxNS44LTMxIDMwLjUtMzEgMTguOSAwIDI2LjMgMTMuMSAyNi4zIDMxbC01Ni44IDB6Il19LGh6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJmaXJlZm94IixpY29uOls1MTIsNTEyLFtdLCJmMjY5IiwiTTUwMy41IDI0MS41Yy0uMS0xLjYtLjItMy4xLS4yLTQuN2wwLS4xLS40LTQuNyAwLS4xYy0xLjMtMTMuOS0zLjctMjcuNy03LjMtNDEuMiAwLS4xIDAtLjEtLjEtLjJsLTEuMS00Yy0uMS0uMi0uMS0uNS0uMi0uNi0uNC0xLjItLjctMi41LTEuMS0zLjctLjEtLjItLjEtLjYtLjItLjgtLjQtMS4yLS43LTIuNC0xLjEtMy41LS4xLS40LS4yLS42LS40LTEtLjQtMS4yLS43LTIuMy0xLjItMy41bC0uNC0xLjFjLS40LTEuMS0uOC0yLjMtMS4yLTMuNC0uMS0uMy0uMi0uNy0uNC0xLS41LTEuMS0uOC0yLjMtMS4zLTMuNC0uMS0uMi0uMi0uNi0uNC0uOC0uNS0xLjItMS0yLjMtMS40LTMuNSAwLS4xLS4xLS4yLS4xLS40LTEuNi0zLjgtMy4yLTcuNy01LTExLjRsLS40LS43Yy0uNS0xLS44LTEuOC0xLjMtMi42LS4yLS41LS41LTEuMS0uNy0xLjYtLjQtLjgtLjgtMS42LTEuMi0yLjQtLjQtLjYtLjYtMS4yLTEtMS44cy0uOC0xLjQtMS4yLTIuM2MtLjQtLjYtLjctMS4zLTEuMS0xLjlzLS44LTEuNC0xLjItMi4yYy0uNC0uNy0uOC0xLjQtMS4yLTItLjQtLjctLjgtMS4zLTEuMi0ycy0uOC0xLjMtMS4yLTItLjgtMS4zLTEuMi0xLjktLjgtMS40LTEuMy0yLjJjLS40LS42LS44LTEuMi0xLjItMS44bC0xLjQtMi4xYy0uNC0uNi0uOC0xLjItMS4yLTEuOC0uNS0uNy0xLjEtMS42LTEuNi0yLjMtLjQtLjUtLjctMS4xLTEuMS0xLjZsLTEuOC0yLjVjLS40LS41LS42LS44LTEtMS4zLTEtMS4zLTEuOC0yLjUtMi44LTMuNy03LjItOS40LTE1LTE4LjMtMjMuNS0yNi42LTUuNy02LTExLjgtMTEuNS0xOC4zLTE2LjctNC0zLjUtOC4yLTYuNy0xMi41LTkuOC03LjctNS44LTE2LTEwLjgtMjQuNi0xNS4xLTIuNC0xLjMtNC44LTIuNS03LjItMy43LTE3LjctOC42LTM2LjMtMTUuMi01NS40LTE5LjYtMS45LS40LTMuOC0uOC01LjYtMS4ybC0uMSAwYy0xLS4xLTEuOC0uNC0yLjgtLjUtMTIuNS0yLjQtMjUuMi0zLjctMzgtNGwtMTAuNiAwYy0xNS4zIC4yLTMwLjUgMS45LTQ1LjUgNS0zMy42IDcuMS02My4yIDIxLjItODIuOSAzOS0xLjEgMS0xLjkgMS43LTIuNCAyLjJsLS41IC41IC4xIDBjMCAwIC4xIDAgLjEgMHMwLS4xIDAtLjFsLS4xIC4xYy4xLS4xIC4xLS4xIC4yLS4xIDE0LjYtOC44IDM0LjktMTYgNDkuNC0xOS42bDUuOS0xLjRjLjQtLjEgLjgtLjEgMS4yLS4yIDEuNy0uNCAzLjQtLjcgNS4yLTEuMSAuMiAwIC42LS4xIC44LS4xIDY0LjItMTEuNyAxMzIuNiA3LjUgMTgwLjIgNTMgMTAuMyA5LjggMTkuMyAyMC44IDI2LjkgMzIuOCAzMC40IDQ5LjIgMjcuNSAxMTEuMSAzLjggMTQ3LjYtMzQuNCA1My0xMTEuNCA3MS4zLTE1OSAyNC44LTE2LTE1LjUtMjUuMi0zNi43LTI1LjYtNTktLjItMTAuNyAyLTIxLjIgNi4yLTMxIDEuNy0zLjggMTMuMS0yNS43IDE4LjItMjQuNi0xMy4xLTIuOC0zNy41IDIuNi01NC43IDI4LjItMTUuNCAyMi45LTE0LjUgNTguMi01IDgzLjMtNi0xMi40LTEwLjEtMjUuNi0xMi4xLTM5LjItMTIuMi04Mi42IDQzLjMtMTUzIDk0LjMtMTcwLjUtMjcuNS0yNC05Ni41LTIyLjMtMTQ3LjcgMTUuNC0yOS45IDIyLTUxLjIgNTMuMi02Mi41IDkwLjQgMS43LTIwLjkgOS42LTUyLjEgMjUuOC04My45LTE3LjIgOC45LTM5IDM3LTQ5LjggNjIuOS0xNS42IDM3LjQtMjEgODIuMi0xNi4xIDEyNC44IC40IDMuMiAuNyA2LjQgMS4xIDkuNiAxOS45IDExNy4xIDEyMiAyMDYuNCAyNDQuOCAyMDYuNCAxMzcuMSAwIDI0OC4zLTExMS4yIDI0OC4zLTI0OC40LS4xLTQuNS0uMi05LjEtLjUtMTMuNXoiXX0sbXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImthZ2dsZSIsaWNvbjpbMzIwLDUxMixbXSwiZjVmYSIsIk0zMDQuMiA1MDEuNUwxNTguNCAzMjAuMyAyOTguMiAxODVjMi42LTIuNyAxLjctMTAuNS01LjMtMTAuNWwtNjkuMiAwYy0zLjUgMC03IDEuOC0xMC41IDUuM2wtMTMyLjMgMTMzLjcgMC0zMDZjMC01LTIuNS03LjUtNy41LTcuNUwyMS41IDBDMTYuNSAwIDE0IDIuNSAxNCA3LjVsMCA0OTdjMCA1IDIuNSA3LjUgNy41IDcuNWw1MS45IDBjNSAwIDcuNS0yLjUgNy41LTcuNWwwLTEwOSAzMC44LTI5LjMgMTEwLjUgMTQwLjZjMyAzLjUgNi41IDUuMyAxMC41IDUuM2w2Ni45IDBjMy41IDAgNS41LTEgNi0zbC0xLjQtNy42eiJdfSxnenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiZmFjZWJvb2stbWVzc2VuZ2VyIixpY29uOls1MTIsNTEyLFtdLCJmMzlmIiwiTTI1Ni42IDhjLTE0MCAwLTI0OC42IDEwMi4zLTI0OC42IDI0MC42IDAgNzIuMyAyOS43IDEzNC44IDc4LjEgMTc3LjkgOC4zIDcuNSA2LjYgMTEuOSA4IDU4LjIgLjEgMy4yIDEgNi40IDIuNiA5LjJzMy45IDUuMiA2LjcgNi45IDUuOSAyLjggOS4xIDMgNi41LS4zIDkuNS0xLjZDMTc0LjkgNDc5IDE3NS42IDQ3Ny4yIDE4NC42IDQ3OS42IDMzNy44IDUyMS44IDUwNCA0MjMuNyA1MDQgMjQ4LjYgNTA0IDExMC4zIDM5Ni42IDggMjU2LjYgOHpNNDA1LjggMTkzLjFsLTczIDExNS42Yy0yLjggNC4zLTYuNCA4LjEtMTAuNiAxMXMtOS4xIDQuOC0xNC4xIDUuOC0xMC4zIC44LTE1LjMtLjQtOS43LTMuNC0xMy44LTYuNGwtNTguMS00My41Yy0yLjYtMS45LTUuOC0zLTktM3MtNi40IDEuMS05IDNsLTc4LjQgNTkuNGMtMTAuNSA3LjktMjQuMi00LjYtMTcuMS0xNS43bDczLTExNS42YzIuOC00LjMgNi40LTguMSAxMC42LTExczkuMS00LjggMTQuMS01LjggMTAuMy0uOCAxNS4zIC40IDkuNyAzLjQgMTMuOSA2LjRsNTguMSA0My41YzIuNiAxLjkgNS44IDMgOSAzczYuNC0xLjEgOS0zbDc4LjQtNTkuNGMxMC40LTggMjQuMSA0LjUgMTcuMSAxNS42eiJdfSxienQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYXVkaWJsZSIsaWNvbjpbNjQwLDUxMixbXSwiZjM3MyIsIk02NDAgMTk5LjlsMCA1NC0zMjAgMjAwLTMyMC0xOTkuOSAwLTU0IDMyMCAyMDAgMzIwLTIwMC4xem0tMTk0LjUgNzJsNDcuMS0yOS40Yy0zNy4yLTU1LjgtMTAwLjctOTIuNi0xNzIuNy05Mi42cy0xMzUuNSAzNi43LTE3Mi42IDkyLjRsLjMgMGMyLjUtMi4zIDUuMS00LjUgNy43LTYuNyA4OS43LTc0LjQgMjE5LjQtNTguMSAyOTAuMiAzNi4zek0yMjUuNCAyOTAuN2MxNi45LTExLjkgMzYuNS0xOC43IDU3LjQtMTguNyAzNC40IDAgNjUuMiAxOC40IDg2LjQgNDcuNmw0NS40LTI4LjRjLTIwLjktMjkuOS01NS42LTQ5LjUtOTQuOC00OS41LTM4LjkgMC03My40IDE5LjQtOTQuNCA0OXpNMTAzLjYgMTYxLjFDMjM1LjQgNTYuOCA0MjEuOCA4NC43IDUyMS4xIDIyMy4ybC43IDEgNDguOC0zMC40Yy01My41LTgxLjctMTQ1LjgtMTM1LjctMjUwLjctMTM1LjctMTAzLjUgMC0xOTYuNiA1My41LTI1MC41IDEzNS42IDkuOS0xMC41IDIyLjctMjMuNSAzNC4yLTMyLjZ6Il19LHZ6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJwYXRyZW9uIixpY29uOls1MTIsNTEyLFtdLCJmM2Q5IiwiTTQ5MCAxNTMuOGMtLjEtNjUuNC01MS0xMTktMTEwLjctMTM4LjMtNzQuMi0yNC0xNzItMjAuNS0yNDIuOSAxMi45LTg1LjggNDAuNS0xMTIuOCAxMjkuMy0xMTMuOCAyMTcuOC0uOCA3Mi44IDYuNCAyNjQuNCAxMTQuNiAyNjUuOCA4MC4zIDEgOTIuMy0xMDIuNSAxMjkuNS0xNTIuMyAyNi40LTM1LjUgNjAuNS00NS41IDEwMi40LTU1LjkgNzItMTcuOCAxMjEuMS03NC43IDEyMS0xNTBsLS4xIDB6Il19LHh6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ2bnYiLGljb246WzY0MCw1MTIsW10sImY0MGIiLCJNMTA0LjkgMzUyYy0zNC4xIDAtNDYuNC0zMC40LTQ2LjQtMzAuNEwyLjYgMjEwLjFTLTcuOCAxOTIgMTMgMTkybDMyLjggMGMxMC40IDAgMTMuMiA4LjcgMTguOCAxOC4xbDM2LjcgNzQuNXM1LjIgMTMuMSAyMS4xIDEzLjEgMjEuMS0xMy4xIDIxLjEtMTMuMWwzNi43LTc0LjVjNS42LTkuNSA4LjQtMTguMSAxOC44LTE4LjFsMzIuOCAwYzIwLjggMCAxMC40IDE4LjEgMTAuNCAxOC4xTDE4Ni40IDMyMS42UzE3NC4yIDM1MiAxNDAgMzUybC0zNS4xIDB6bTM5NSAwYy0zNC4xIDAtNDYuNC0zMC40LTQ2LjQtMzAuNEwzOTcuNiAyMTAuMVMzODcuMiAxOTIgNDA4IDE5MmwzMi44IDBjMTAuNCAwIDEzLjIgOC43IDE4LjggMTguMWwzNi43IDc0LjVzNS4yIDEzLjEgMjEuMSAxMy4xIDIxLjEtMTMuMSAyMS4xLTEzLjFsMzYuOC03NC41YzUuNi05LjUgOC40LTE4LjEgMTguOC0xOC4xbDMyLjkgMGMyMC44IDAgMTAuNCAxOC4xIDEwLjQgMTguMUw1ODEuNSAzMjEuNlM1NjkuMyAzNTIgNTM1LjEgMzUybC0zNS4yIDB6TTMzNy42IDE5MmMzNC4xIDAgNDYuNCAzMC40IDQ2LjQgMzAuNGw1NS45IDExMS41UzQ1MC4zIDM1MiA0MjkuNSAzNTJsLTMyLjggMGMtMTAuNCAwLTEzLjItOC43LTE4LjgtMTguMWwtMzYuNy03NC41cy01LjItMTMuMS0yMS4xLTEzLjEtMjEuMSAxMy4xLTIxLjEgMTMuMWwtMzYuNyA3NC41Yy01LjYgOS40LTguNCAxOC4xLTE4LjggMTguMWwtMzIuOSAwYy0yMC44IDAtMTAuNC0xOC4xLTEwLjQtMTguMWw1NS45LTExMS41UzI2OC4zIDE5MiAzMDIuNSAxOTJsMzUuMSAweiJdfSx5enQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGFnZWxpbmVzIixpY29uOlszODQsNTEyLFtdLCJmMThjIiwiTTM4NC4xIDMxMi43Yy01NS4xIDEzNi43LTE4Ny4xIDU0LTE4Ny4xIDU0LTQwLjUgODEuOC0xMDcuNCAxMzQuNC0xODQuNiAxMzQuNy0xNi4xIDAtMTYuNi0yNC40IDAtMjQuNCA2NC40LS4zIDEyMC41LTQyLjcgMTU3LjItMTEwLjEtNDEuMSAxNS45LTExOC42IDI3LjktMTYxLjYtODIuMiAxMDktNDQuOSAxNTkuMSAxMS4yIDE3OC4zIDQ1LjUgOS45LTI0LjQgMTctNTAuOSAyMS42LTc5LjcgMCAwLTEzOS43IDIxLjktMTQ5LjUtOTguMSAxMTkuMS00Ny45IDE1Mi42IDc2LjcgMTUyLjYgNzYuNyAxLjYtMTYuNyAzLjMtNTIuNiAzLjMtNTMuNCAwIDAtMTA2LjMtNzMuNy0zOC4xLTE2NS4yIDEyNC42IDQzIDYxLjQgMTYyLjQgNjEuNCAxNjIuNCAuNSAxLjYgLjUgMjMuOCAwIDMzLjQgMCAwIDQ1LjItODkgMTM2LjQtNTcuNS00LjIgMTM0LTE0MS45IDEwNi40LTE0MS45IDEwNi40LTQuNCAyNy40LTExLjIgNTMuNC0yMCA3Ny41IDAgMCA4My05MS44IDE3Mi0yMHoiXX0sd3p0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImFtYXpvbiIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3MCIsIk0yNTcuNyAxNjIuN2MtNDguNyAxLjgtMTY5LjUgMTUuNS0xNjkuNSAxMTcuNSAwIDEwOS41IDEzOC4zIDExNCAxODMuNSA0My4yIDYuNSAxMC4yIDM1LjQgMzcuNSA0NS4zIDQ2LjhsNTYuOC01NnMtMzIuMy0yNS4zLTMyLjMtNTIuOGwwLTE0Ny4xQzM0MS41IDg5IDMxNyAzMiAyMjkuMiAzMiAxNDEuMiAzMiA5NC41IDg3IDk0LjUgMTM2LjNsNzMuNSA2LjhjMTYuMy00OS41IDU0LjItNDkuNSA1NC4yLTQ5LjUgNDAuNy0uMSAzNS41IDI5LjggMzUuNSA2OS4xem0wIDg2LjhjMCA4MC04NC4yIDY4LTg0LjIgMTcuMiAwLTQ3LjIgNTAuNS01Ni43IDg0LjItNTcuOGwwIDQwLjZ6TTM5My43IDQxM2MtNy43IDEwLTcwIDY3LTE3NC41IDY3UzM0LjcgNDA4LjUgMTAuMiAzNzljLTYuOC03LjcgMS0xMS4zIDUuNS04LjMgNzMuMyA0NC41IDE4Ny44IDExNy44IDM3Mi41IDMwLjMgNy41LTMuNyAxMy4zIDIgNS41IDEyem0zOS44IDIuMmMtNi41IDE1LjgtMTYgMjYuOC0yMS4yIDMxLTUuNSA0LjUtOS41IDIuNy02LjUtMy44czE5LjMtNDYuNSAxMi43LTU1Yy02LjUtOC4zLTM3LTQuMy00OC0zLjItMTAuOCAxLTEzIDItMTQtLjMtMi4zLTUuNyAyMS43LTE1LjUgMzcuNS0xNy41IDE1LjctMS44IDQxLS44IDQ2IDUuNyAzLjcgNS4xIDAgMjcuMS02LjUgNDMuMXoiXX0sTXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVudmlyYSIsaWNvbjpbNDQ4LDUxMixbXSwiZjI5OSIsIk0wIDMyYzQ3Ny42IDAgMzY2LjYgMzE3LjMgMzY3LjEgMzY2LjNsODAuOSA4MS43LTI2IDAtNzAuNC03MS4yQzMxMi42IDQxMyAyMjcuMiA0NDMuMyAxMzcuMiAzNzEuOCA0NyAzMDAuMyA1MiAyMTQuNyAwIDMyek03OS43IDc4Yy00OS43LTIzLjUtNS4yIDkuMi01LjIgOS4yIDQ1LjIgMzEuMiA2NiA3My43IDkwLjIgMTE5LjkgMzEuNSA2MC4yIDc5IDEzOS43IDE0NC4yIDE2Ny43IDY1IDI4IDM0LjIgMTIuNSA2LTguNS0yOC4yLTIxLjItNjguMi04Ny05MS0xMzAuMi0zMS43LTYwLTYxLTExOC42LTE0NC4yLTE1OC4xeiJdfSxrenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToibGlub2RlIixpY29uOls0NDgsNTEyLFtdLCJmMmI4IiwiTTM2Ni4zIDE4Ni45bC01OS41IDM2LjktLjggMzYuOS0yOS4zLTE5LjMtMzkuNCAyNC4zYzIuMiA1NS4yIDIuNSA1OS4zIDIuNSA1OS41bC05Ny4yIDY1LjQtMTUuMS0xMDQuNyAxMDguMS02Mi00MC4yLTI2LTc1LjQgMzguNS0yMS0xNDMuMyAxMjktNDkuNC05MS4zLTQzLjYtMTI1LjcgMzkuNCAyNy43IDEzNC45IDQxLjkgMzIuNy0zMS44IDE1LjEgMjAuOSAxMDEuNCAyOS4zIDI3LjctMjAuOSAxMi42IDE2LjggNzguOCA2Ni4yIDY5LjZjLTEwLjgtNzQuOC0xMS43LTc4LjYtMTEuNy03OC44bDc3LjktNTUuM0MyNDQgMzY1LjQgMjQyLjMgMzY3IDI0Mi4zIDM2N2wuOCAyNC4zIDMzLjUgMjguNS0uOC03Ny4xIDQ2LjktMzMuNSAyNi44LTE4LjQtMi41IDM2IDI1LjEgMTcuNiA2LjctNzQuNiA1OC43LTQzLjYtNzEuMi0zOS40eiJdfSxTenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYWNjdXNvZnQiLGljb246WzY0MCw1MTIsW10sImYzNjkiLCJNMzIyLjEgMjUybDAtMS01MS4yLTY1LjhzLTEyIDEuNi0yNSAxNS4xYy05IDkuMy0yNDIuMSAyMzkuMS0yNDMuNCAyNDAuOS03IDEwIDEuNiA2LjggMTUuNyAxLjcgLjggMCAxMTQuNS0zNi42IDExNC41LTM2LjYgLjUtLjYtLjEtLjEgLjYtLjYtLjQtNS4xLS44LTI2LjItMS0yNy43LS42LTUuMiAyLjItNi45IDctOC45bDkyLjYtMzMuOGMuNi0uOCA4OC41LTgxLjcgOTAuMi04My4zek00ODIuMiAzNzIuMWMxMy4zIDE2LjEgMjAuNyAxMy4zIDMwLjggOS4zIDMuMi0xLjIgMTE1LjQtNDcuNiAxMTcuOC00OC45IDgtNC4zLTEuNy0xNi43LTcuMi0yMy40LTIuMS0yLjUtMjA1LjEtMjQ1LjYtMjA3LjItMjQ4LjMtOS43LTEyLjItMTQuMy0xMi45LTM4LjQtMTIuOC0xMC4yIDAtMTA2LjggLjUtMTE2LjUgLjYtMTkuMiAuMS0zMi45LS4zLTE5LjIgMTYuOSA3LjcgOS41IDIzNC4yIDI5OS43IDIzOS45IDMwNi42em0xNTIuNyAxLjZjLTIuMy0uMy0yNC42LTQuNy0zOC03LjIgMCAwLTExNSA1MC40LTExNy41IDUxLjYtMTYgNy4zLTI2LjktMy4yLTM2LjctMTQuNmwtNTcuMS03NGMtNS40LS45LTYwLjQtOS42LTY1LjMtOS4zLTMuMSAuMi05LjYgLjgtMTQuNCAyLjktNC45IDIuMS0xNDUuMiA1Mi44LTE1MC4yIDU0LjctNS4xIDItMTEuNCAzLjYtMTEuMSA3LjYgLjIgMi41IDIgMi42IDQuNiAzLjUgMi43IC44IDMwMC45IDY3LjYgMzA4IDY5LjEgMTUuNiAzLjMgMzguNSAxMC41IDUzLjYgMS43IDIuMS0xLjIgMTIzLjgtNzYuNCAxMjUuOC03Ny44IDUuNC00IDQuMy02LjgtMS43LTguMnoiXX0senp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVybGFuZyIsaWNvbjpbNjQwLDUxMixbXSwiZjM5ZCIsIk04Ny4yIDUzLjVsLTg3LjIgMCAwIDQwNSAxMDAuNCAwYy00OS43LTUyLjYtNzguOC0xMjUuMy03OC43LTIxMi4xLS4xLTc2LjcgMjQtMTQyLjcgNjUuNS0xOTIuOXptMjM4LjIgOS43Yy00NS45IC4xLTg1LjEgMzMuNS04OS4yIDgzLjJsMTY5LjkgMGMtMS4xLTQ5LjctMzQuNS04My4xLTgwLjctODMuMnptMjMwLjctOS42bC4zIDAtLjEtLjEtLjIgLjF6bS4zIDBjMzEuNCA0Mi43IDQ4LjcgOTcuNSA0Ni4yIDE2Mi43IC41IDYgLjUgMTEuNyAwIDI0LjFsLTM3Mi40IDBjLS4yIDEwOS43IDM4LjkgMTk0LjkgMTM4LjYgMTk1LjMgNjguNS0uMyAxMTgtNTEgMTUxLjktMTA2LjFsOTYuNCA0OC4yYy0xNy40IDMwLjktMzYuNSA1Ny44LTU3LjkgODAuOGw4MC44IDAgMC00MDUtODMuNiAweiJdfSxDenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidW5pc29uIixpY29uOls1MTIsNTEyLFtdLCJlODU0IiwiTTQzNS4xIDE2MS43YTEzLjkgMTMuOSAwIDEgMSAxOS42LTE5LjcgMTMuOSAxMy45IDAgMSAxIC0xOS42IDE5Ljd6TTM2OS43IDk3LjhjMTAuNCAyLjEgMjAuNiA1LjIgMzAuNCA5LjIgNi44IDIuOCAxMC4xIDEwLjggNy4zIDE3LjctMi44IDYuNy0xMC45IDEwLjEtMTcuNiA3LjMtOC4zLTMuNC0xNi44LTUuOC0yNS43LTcuOC04LjYtMS43LTE3LjMtMi41LTI2LTIuNS0xOS4zIDAtMzcuMS0xMC4zLTQ2LjctMjctOC43LTE1LjEtMjAuNi0yOC45LTM0LjctMzkuNy01OS4xLTQ1LjUtMTQzLjgtMzQuMy0xODkuMiAyNS0yLjYgMy4zLTYuNSA1LjMtMTAuNyA1LjMtNy40IDAtMTMuNS02LjEtMTMuNS0xMy41IDAtMy4yIDEuMi02LjMgMy4yLTguOCAxMi45LTE2LjcgMjguOS0zMC43IDQ3LjEtNDEuMiA3Ny40LTQ0LjggMTc2LjQtMTguMiAyMjEuMSA1OS40IDQuMyA4LjIgMTMuNyAxMy4zIDIyLjggMTMuNSAxMC44IDAgMjEuNiAxIDMyLjIgMy4xek0zNSAyNzBjNC42LTguMiA0LjYtMTguMiAwLTI2LjQtMjEuOS0zNi41LTI3LjMtODIuMy0xNi4zLTEyMy4yIDEuNi01LjkgNi45LTEwIDEzLTEwIDguNyAwIDE1LjMgOC43IDEzIDE3LTkuNSAzNS40LTMuNCA3MSAxMy43IDEwMi45IDkuMyAxNi41IDkuMyAzNi43IDAgNTMuMS04LjcgMTUuNy0xNC44IDMyLjQtMTcuMiA1MC4zLTkuNyA3My45IDQyLjMgMTQxLjcgMTE2LjIgMTUxLjQgNy4zIDEgMTIuNiA3LjkgMTEuNiAxNS4yLTEgNy4zLTcuOCAxMi42LTE1LjEgMTEuNi0yMS4xLTIuOC00MS40LTkuNy01OS44LTIwLjMtNzUuNi00My42LTEwNC45LTE0NS44LTU5LjItMjIxLjV6TTIxNi45IDUwOWMtNy40IDItMTUuMS0yLjQtMTcuMS05LjhzMi41LTE1IDkuOS0xNi45YzguNS0yLjIgMTcuNCA0LjUgMTcuNCAxMy40IDAgNi4yLTQuMiAxMS42LTEwLjIgMTMuM3ptMTIyLjMtOTFjLTkuNSAwLTE4LjQgNS0yMy4yIDEzLjItNC45IDkuNC0xMS43IDE4LjItMTguNyAyNi4ybDAgMGMtNy4xIDgtMTQuOCAxNS4yLTIzLjIgMjEuNy01LjkgNC41LTE0LjQgMy40LTE5LTIuNXMtMy40LTE0LjQgMi41LTE4LjljNy01LjQgMTMuNS0xMS41IDE5LjQtMTguMWwwIDBjNS45LTYuNiAxMS4xLTEzLjggMTUuNS0yMS42IDkuNy0xNi43IDI3LjUtMjcgNDYuOC0yNyAxNy44IDAgMzUuNC0zLjUgNTEuOC0xMC4zIDY4LjMtMjguMyAxMDEuMS0xMDguMyA3My4yLTE3Ni41LS42LTEuNi0xLTMuMy0xLTUgMC03LjQgNi4xLTEzLjUgMTMuNS0xMy41IDUuNCAwIDEwLjMgMy4yIDEyLjQgOC4yIDguMiAxOS43IDEyLjQgNDAuOCAxMi40IDYyLjEgMCA4OS41LTcyLjcgMTYyLjEtMTYyLjQgMTYyLjFsMCAwem0tMTMuMS0yNjhjMy45LS40IDcuOS0uNiAxMS45LS42IDU5LjMgMCAxMDguMiA0OC43IDEwOC4yIDEwNy44UzM5Ny4zIDM2NSAzMzggMzY1Yy00IDAtNy45LS4yLTExLjgtLjYtMjIuMi0xLjctNDMuMyAxMC40LTUyLjkgMzAuNC0xNy4yIDM5LjEtNTYuMiA2NC41LTk5LjEgNjQuNS01OS4zIDAtMTA4LjItNDguNy0xMDguMi0xMDcuOCAwLTIzLjIgNy41LTQ1LjcgMjEuNC02NC4zIDEyLjItMTguMyAxMi4xLTQyLjMtLjQtNjAuNS0xMy42LTE4LjUtMjAuOS00MC44LTIwLjktNjMuNyAwLTU5LjEgNDguOC0xMDcuOCAxMDguMi0xMDcuOCA0Mi44IDAgODEuOCAyNS40IDk5IDY0LjQgOS42IDIwIDMwLjcgMzIuMSA1Mi45IDMwLjR6TTEwNi44IDM5My40YzE0LjQgMjUuMiA0MS4xIDQwLjggNjkuOCA0MC44IDQ0LjIgMCA4MC42LTM2LjggODAuNi04MS42cy0zNi40LTgxLjYtODAuNi04MS42Yy0xNC4yIDAtMjguMSAzLjgtNDAuMyAxMC45LTM4LjMgMjIuNC01MS42IDcyLjctMjkuNSAxMTEuNHpNMjY4IDI5OGMxNC40IDI1LjIgNDEuMSA0MC44IDY5LjggNDAuOCA0NC4yIDAgODAuNi0zNi44IDgwLjYtODEuNnMtMzYuNC04MS42LTgwLjYtODEuNmMtMTQuMiAwLTI4LjEgMy44LTQwLjMgMTAuOS0zOC4zIDIyLjQtNTEuNiA3Mi43LTI5LjUgMTExLjR6bS05MS4yLTU0LjZjNDQuMiAwIDgwLjUtMzYuOCA4MC41LTgxLjZzLTM2LjQtODEuNi04MC42LTgxLjYtODAuNiAzNi44LTgwLjYgODEuNmMwIDQ0LjcgMzYuNCA4MS42IDgwLjYgODEuNnoiXX0sX3p0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLWRpc2NvdmVyIixpY29uOls1NzYsNTEyLFtdLCJmMWYyIiwiTTUyMC40IDE5Ni4xYzAtNy45LTUuNS0xMi4xLTE1LjYtMTIuMWwtNC45IDAgMCAyNC45IDQuNyAwYzEwLjMgMCAxNS44LTQuNCAxNS44LTEyLjh6TTUyOCAzMkw0OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQ4MCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzUyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek00ODMuOSAxNzAuOWMyMi42IDAgNTIuOS00LjEgNTIuOSAyNC40IDAgMTIuNi02LjYgMjAuNy0xOC43IDIzLjJsMjUuOCAzNC40LTE5LjYgMC0yMi4yLTMyLjgtMi4yIDAgMCAzMi44LTE2IDAgMC04MnpNNDI4IDE3MWw0NS4zIDAgMCAxNC0yOS4zIDAgMCAxOC4yIDI4LjMgMCAwIDEzLjgtMjguMyAwIDAgMjIuMiAyOS4zIDAgMCAxMy44LTQ1LjMgMCAwLTgyem0tNjguNyAwbDIxLjkgNTUuMiAyMi4yLTU1LjIgMTcuNSAwLTM1LjUgODQuMi04LjYgMC0zNS04NC4yIDE3LjUgMHptLTU1LjkgODYuMmE0NC42IDQ0LjYgMCAxIDEgMC04OS4yIDQ0LjYgNDQuNiAwIDEgMSAwIDg5LjJ6bS00OS4zLTgzLjFsMCAxOWMtMjAuMS0yMC4xLTQ2LjgtNC43LTQ2LjggMTkgMCAyNSAyNy41IDM4LjUgNDYuOCAxOS4ybDAgMTljLTI5LjcgMTQuMy02My4zLTUuNy02My4zLTM4LjIgMC0zMS4yIDMzLjEtNTMgNjMuMy0zOHptLTk3LjIgNjYuM2MxMS40IDAgMjIuNC0xNS4zLTMuMy0yNC40LTE1LTUuNS0yMC4yLTExLjQtMjAuMi0yMi43IDAtMjMuMiAzMC42LTMxLjQgNDkuNy0xNC4zbC04LjQgMTAuOGMtMTAuNC0xMS42LTI0LjktNi4yLTI0LjkgMi41IDAgNC40IDIuNyA2LjkgMTIuMyAxMC4zIDE4LjIgNi42IDIzLjYgMTIuNSAyMy42IDI1LjYgMCAyOS41LTM4LjggMzcuNC01Ni42IDExLjNsMTAuMy05LjljMy43IDcuMSA5LjkgMTAuOCAxNy41IDEwLjh6TTU1LjQgMjUzbC0yMy40IDAgMC04MiAyMy40IDBjMjYuMSAwIDQ0LjEgMTcgNDQuMSA0MS4xIDAgMTguNS0xMy4yIDQwLjktNDQuMSA0MC45em02Ny41IDBsLTE2IDAgMC04MiAxNiAwIDAgODJ6TTU0NCA0MzNjMCA4LjItNi44IDE1LTE1IDE1bC00MDEgMGMxODkuNi0zNS42IDM4Mi43LTEzOS4yIDQxNi0xNjBsMCAxNDV6TTc0LjEgMTkxLjZjLTUuMi00LjktMTEuNi02LjYtMjEuOS02LjZsLTQuMiAwIDAgNTQuMiA0LjIgMGMxMC4zIDAgMTctMiAyMS45LTYuNCA1LjctNS4yIDguOS0xMi44IDguOS0yMC43cy0zLjItMTUuNS04LjktMjAuNXoiXX0sVHp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNhZmFyaSIsaWNvbjpbNTEyLDUxMixbXSwiZjI2NyIsIk0yNzQuNyAyNzQuN0wyMzcuMyAyMzcuMyAxNjYgMzQ2IDI3NC43IDI3NC43ek0yNTYgOGEyNDggMjQ4IDAgMSAwIDAgNDk2IDI0OCAyNDggMCAxIDAgMC00OTZ6TTQxMS44IDE4Mi44bDE0LjgtNi4xYzEtLjQgMi0uNiAzLjEtLjZzMi4xIC4yIDMuMSAuNiAxLjggMSAyLjYgMS43IDEuMyAxLjYgMS43IDIuNiAuNiAyIC42IDMuMS0uMiAyLjEtLjYgMy4xLTEgMS45LTEuNyAyLjYtMS42IDEuMy0yLjYgMS43TDQxOCAxOTcuNmMtMiAuOC00LjIgLjgtNi4xIDBzLTMuNS0yLjQtNC4zLTQuMy0uOC00LjIgMC02LjEgMi40LTMuNSA0LjMtNC4zek0zMTQuNCA5NGw2LjEtMTQuOGMuOC0yIDIuNC0zLjUgNC4zLTQuM3M0LjItLjggNi4xIDAgMy41IDIuNCA0LjMgNC4zIC44IDQuMiAwIDYuMWwtNi4xIDE0LjhjLS44IDItMi40IDMuNS00LjMgNC4zcy00LjIgLjgtNi4xIDBjLTEtLjQtMS45LTEtMi42LTEuN3MtMS4zLTEuNi0xLjctMi42LS42LTItLjYtMy4xIC4yLTIuMSAuNi0zLjF6TTI1NiA2MGMyLjEgMCA0LjIgLjggNS43IDIuM1MyNjQgNjUuOSAyNjQgNjhsMCAxNmMwIDIuMS0uOCA0LjItMi4zIDUuN3MtMy41IDIuMy01LjcgMi4zLTQuMi0uOC01LjctMi4zLTIuMy0zLjUtMi4zLTUuN2wwLTE2YzAtMi4xIC44LTQuMiAyLjMtNS43UzI1My45IDYwIDI1NiA2MHpNMTgxIDc0LjljMS0uNCAyLS42IDMuMS0uNnMyLjEgLjIgMy4xIC42IDEuOSAxIDIuNiAxLjcgMS4zIDEuNiAxLjcgMi42TDE5Ny42IDk0Yy40IDEgLjcgMiAuNyAzLjFzLS4yIDIuMS0uNiAzLjEtMSAxLjktMS43IDIuNi0xLjYgMS40LTIuNiAxLjgtMiAuNi0zLjEgLjYtMi4xLS4yLTMuMS0uNi0xLjktMS0yLjYtMS44LTEuMy0xLjctMS43LTIuN2wtNi4xLTE0LjhjLS44LTItLjgtNC4yIDAtNi4xczIuNC0zLjUgNC4zLTQuM3ptLTYzLjYgNDIuNWMxLjUtMS41IDMuNS0yLjMgNS43LTIuM3M0LjIgLjggNS43IDIuM0wxNDAgMTI4LjdjMS41IDEuNSAyLjMgMy41IDIuMyA1LjZzLS44IDQuMS0yLjMgNS42Yy0xLjUgMS41LTMuNSAyLjMtNS43IDIuM3MtNC4yLS44LTUuNy0yLjNsLTExLjMtMTEuM2MtMS41LTEuNS0yLjMtMy41LTIuMy01LjZzLjgtNC4xIDIuMy01LjZsMCAwek02MCAyNTZjMC0yLjEgLjgtNC4yIDIuMy01LjdTNjUuOSAyNDggNjggMjQ4bDE2IDBjMi4xIDAgNC4yIC44IDUuNyAyLjNzMi4zIDMuNSAyLjMgNS43LS44IDQuMi0yLjMgNS43LTMuNSAyLjMtNS43IDIuM2wtMTYgMGMtMi4xIDAtNC4yLS44LTUuNy0yLjNTNjAgMjU4LjEgNjAgMjU2em00MC4yIDczLjJsLTE0LjggNi4xYy0xIC40LTIgLjYtMy4xIC42cy0yLjEtLjItMy4xLS42LTEuOS0xLTIuNi0xLjctMS4zLTEuNi0xLjctMi42LS42LTItLjYtMy4xIC4yLTIuMSAuNi0zLjEgMS0xLjkgMS43LTIuNiAxLjYtMS4zIDIuNi0xLjdMOTQgMzE0LjRjMi0uOCA0LjItLjggNi4xIDBzMy41IDIuNCA0LjMgNC4zIC44IDQuMiAwIDYuMS0yLjQgMy41LTQuMyA0LjN6bTQuMy0xMzZjLS40IDEtMSAxLjktMS43IDIuNnMtMS42IDEuMy0yLjYgMS43LTIgLjYtMy4xIC42LTIuMS0uMi0zLjEtLjZsLTE0LjgtNi4xYy0yLS44LTMuNS0yLjQtNC4zLTQuM3MtLjgtNC4yIDAtNi4xIDIuNC0zLjUgNC4zLTQuMyA0LjItLjggNi4xIDBsMTQuOCA2LjFjMiAuOCAzLjUgMi40IDQuMyA0LjNzLjggNC4yIDAgNi4xbDAgMHpNMTk3LjYgNDE4bC02LjEgMTQuOGMtLjQgMS0xIDEuOS0xLjcgMi42cy0xLjYgMS4zLTIuNiAxLjctMiAuNi0zLjEgLjYtMi4xLS4yLTMuMS0uNi0xLjktMS0yLjYtMS43LTEuMy0xLjYtMS43LTIuNi0uNi0yLS42LTMuMSAuMi0yLjEgLjYtMy4xbDYuMS0xNC44Yy40LTEgMS0xLjkgMS43LTIuN3MxLjYtMS40IDIuNi0xLjggMi0uNiAzLjEtLjYgMi4xIC4yIDMuMSAuNiAxLjkgMSAyLjYgMS44IDEuMyAxLjcgMS43IDIuNiAuNiAyIC42IDMuMS0uMiAyLjEtLjcgMy4xek0yNjQgNDQ0YzAgMi4xLS44IDQuMi0yLjMgNS43cy0zLjUgMi4zLTUuNyAyLjMtNC4yLS44LTUuNy0yLjMtMi4zLTMuNS0yLjMtNS43bDAtMTZjMC0yLjEgLjgtNC4yIDIuMy01LjdzMy41LTIuMyA1LjctMi4zIDQuMiAuOCA1LjcgMi4zIDIuMyAzLjUgMi4zIDUuN2wwIDE2em02Ny02LjljLTEgLjQtMiAuNi0zLjEgLjZzLTIuMS0uMi0zLjEtLjYtMS45LTEtMi42LTEuNy0xLjMtMS42LTEuNy0yLjZMMzE0LjQgNDE4Yy0uOC0yLS44LTQuMiAwLTYuMXMyLjQtMy41IDQuMy00LjMgNC4yLS44IDYuMSAwIDMuNSAyLjQgNC4zIDQuM2w2LjEgMTQuOGMuOCAyIC44IDQuMiAwIDYuMXMtMi40IDMuNS00LjMgNC4zem02My42LTQyLjVjLTEuNSAxLjUtMy41IDIuMy01LjcgMi4zcy00LjItLjgtNS43LTIuM0wzNzIgMzgzLjNjLTEuNS0xLjUtMi4zLTMuNS0yLjMtNS42cy44LTQuMSAyLjMtNS42IDMuNS0yLjMgNS43LTIuMyA0LjIgLjggNS43IDIuM2wxMS4zIDExLjNjMS41IDEuNSAyLjMgMy41IDIuMyA1LjZzLS44IDQuMS0yLjMgNS42bDAgMHpNMjg2LjIgMjg2LjJMMTEwLjMgNDAxLjcgMjI1LjggMjI1LjggNDAxLjcgMTEwLjMgMjg2LjIgMjg2LjJ6TTQzNy4xIDMzMWMtLjggMi0yLjQgMy41LTQuMyA0LjNzLTQuMiAuOC02LjEgMGwtMTQuOC02LjFjLTItLjgtMy41LTIuNC00LjMtNC4zcy0uOC00LjIgMC02LjFjLjQtMSAxLTEuOSAxLjctMi42czEuNi0xLjMgMi42LTEuNyAyLS42IDMuMS0uNiAyLjEgLjIgMy4xIC42bDE0LjggNi4xYzIgLjggMy41IDIuNCA0LjMgNC4zcy44IDQuMiAwIDYuMXptNi45LTY3bC0xNiAwYy0yLjEgMC00LjItLjgtNS43LTIuM3MtMi4zLTMuNS0yLjMtNS43IC44LTQuMiAyLjMtNS43IDMuNS0yLjMgNS43LTIuM2wxNiAwYzIuMSAwIDQuMiAuOCA1LjcgMi4zczIuMyAzLjUgMi4zIDUuNy0uOCA0LjItMi4zIDUuNy0zLjUgMi4zLTUuNyAyLjN6Il19LEx6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcGFjZS1hd2Vzb21lIixpY29uOls1MTIsNTEyLFtdLCJlNWFjIiwiTTk2IDI1NmwzMiAwIDAgMjU2LTEyOCAwIDAtMTYwIDMyIDAgMC0zMiAzMiAwIDAtMzIgMzIgMCAwLTMyem00MTYgOTZsMCAxNjAtMTI4IDAgMC0yNTYgMzIgMCAwIDMyIDMyIDAgMCAzMiAzMiAwIDAgMzIgMzIgMHpNMzIwIDY0bDMyIDAgMCAzODQtMzIgMCAwLTMyLTEyOCAwIDAgMzItMzIgMCAwLTM4NCAzMiAwIDAtMzIgMzIgMCAwLTMyIDY0IDAgMCAzMiAzMiAwIDAgMzJ6bS0zMiA2NGwtNjQgMCAwIDY0IDY0IDAgMC02NHoiXX0sJHp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Im5vZGUiLGljb246WzY0MCw1MTIsW10sImY0MTkiLCJNMzE2LjMgNDUyYy0yLjEgMC00LjItLjYtNi4xLTEuNkwyOTEgNDM5Yy0yLjktMS42LTEuNS0yLjItLjUtMi41IDMuOC0xLjMgNC42LTEuNiA4LjctNCAuNC0uMiAxLS4xIDEuNCAuMWwxNC44IDguOGMuNSAuMyAxLjMgLjMgMS44IDBMMzc1IDQwOGMuNS0uMyAuOS0uOSAuOS0xLjZsMC02Ni43YzAtLjctLjMtMS4zLS45LTEuNmwtNTcuOC0zMy4zYy0uNS0uMy0xLjItLjMtMS44IDBsLTU3LjggMzMuM2MtLjYgLjMtLjkgMS0uOSAxLjZsMCA2Ni43YzAgLjYgLjQgMS4yIC45IDEuNWwxNS44IDkuMWM4LjYgNC4zIDEzLjktLjggMTMuOS01LjhsMC02NS45YzAtLjkgLjctMS43IDEuNy0xLjdsNy4zIDBjLjkgMCAxLjcgLjcgMS43IDEuN2wwIDY1LjljMCAxMS41LTYuMiAxOC0xNy4xIDE4LTMuMyAwLTYgMC0xMy4zLTMuNmwtMTUuMi04LjdjLTMuNy0yLjItNi4xLTYuMi02LjEtMTAuNWwwLTY2LjdjMC00LjMgMi4zLTguNCA2LjEtMTAuNWw1Ny44LTMzLjRjMy43LTIuMSA4LjUtMi4xIDEyLjEgMGw1Ny44IDMzLjRjMy43IDIuMiA2LjEgNi4yIDYuMSAxMC41bDAgNjYuN2MwIDQuMy0yLjMgOC40LTYuMSAxMC41bC01Ny44IDMzLjRjLTEuNyAxLjEtMy44IDEuNy02IDEuN3pNMzYzIDM4Ni4yYzAtMTIuNS04LjQtMTUuOC0yNi4yLTE4LjItMTgtMi40LTE5LjgtMy42LTE5LjgtNy44IDAtMy41IDEuNS04LjEgMTQuOC04LjEgMTEuOSAwIDE2LjMgMi42IDE4LjEgMTAuNiAuMiAuOCAuOCAxLjMgMS42IDEuM2w3LjUgMGMuNSAwIC45LS4yIDEuMi0uNSAuMy0uNCAuNS0uOCAuNC0xLjMtMS4yLTEzLjgtMTAuMy0yMC4yLTI4LjgtMjAuMi0xNi41IDAtMjYuMyA3LTI2LjMgMTguNiAwIDEyLjcgOS44IDE2LjEgMjUuNiAxNy43IDE4LjkgMS45IDIwLjQgNC42IDIwLjQgOC4zIDAgNi41LTUuMiA5LjItMTcuNCA5LjItMTUuMyAwLTE4LjctMy44LTE5LjgtMTEuNC0uMS0uOC0uOC0xLjQtMS43LTEuNGwtNy41IDBjLS45IDAtMS43IC43LTEuNyAxLjcgMCA5LjcgNS4zIDIxLjMgMzAuNiAyMS4zIDE4LjUgMCAyOS03LjIgMjktMTkuOHptNTQuNS01MC4xYzAgNi4xLTUgMTEuMS0xMS4xIDExLjFzLTExLjEtNS0xMS4xLTExLjFjMC02LjMgNS4yLTExLjEgMTEuMS0xMS4xIDYtLjEgMTEuMSA0LjggMTEuMSAxMS4xem0tMS44IDBjMC01LjItNC4yLTkuMy05LjQtOS4zLTUuMSAwLTkuMyA0LjEtOS4zIDkuM3M0LjIgOS40IDkuMyA5LjRjNS4yLS4xIDkuNC00LjMgOS40LTkuNHptLTQuNSA2LjJsLTIuNiAwYy0uMS0uNi0uNS0zLjgtLjUtMy45LS4yLS43LS40LTEuMS0xLjMtMS4xbC0yLjIgMCAwIDUtMi40IDAgMC0xMi41IDQuMyAwYzEuNSAwIDQuNCAwIDQuNCAzLjMgMCAyLjMtMS41IDIuOC0yLjQgMy4xIDEuNyAuMSAxLjggMS4yIDIuMSAyLjggLjEgMSAuMyAyLjcgLjYgMy4zem0tMi44LTguOGMwLTEuNy0xLjItMS43LTEuOC0xLjdsLTIgMCAwIDMuNSAxLjkgMGMxLjYgMCAxLjktMS4xIDEuOS0xLjh6TTEzNy4zIDE5MWMwLTIuNy0xLjQtNS4xLTMuNy02LjRMNzIuMyAxNDkuM2MtMS0uNi0yLjItLjktMy40LTFsLS42IDBjLTEuMiAwLTIuMyAuNC0zLjQgMUwzLjcgMTg0LjZDMS40IDE4NS45IDAgMTg4LjQgMCAxOTFsLjEgOTVjMCAxLjMgLjcgMi41IDEuOCAzLjJzMi41IC43IDMuNyAwTDQyIDI2OC4zYzIuMy0xLjQgMy43LTMuOCAzLjctNi40bDAtNDQuNGMwLTIuNiAxLjQtNS4xIDMuNy02LjRsMTUuNS04LjljMS4yLS43IDIuNC0xIDMuNy0xczIuNiAuMyAzLjcgMWwxNS41IDguOWMyLjMgMS4zIDMuNyAzLjggMy43IDYuNGwwIDQ0LjRjMCAyLjYgMS40IDUuMSAzLjcgNi40bDM2LjQgMjAuOWMxLjEgLjcgMi42IC43IDMuNyAwIDEuMS0uNiAxLjgtMS45IDEuOC0zLjJsLjItOTV6TTQ3Mi41IDg3LjNsMCAxNzYuNGMwIDIuNi0xLjQgNS4xLTMuNyA2LjRsLTYxLjMgMzUuNGMtMi4zIDEuMy01LjEgMS4zLTcuNCAwbC02MS4zLTM1LjRjLTIuMy0xLjMtMy43LTMuOC0zLjctNi40bDAtNzAuOGMwLTIuNiAxLjQtNS4xIDMuNy02LjRsNjEuMy0zNS40YzIuMy0xLjMgNS4xLTEuMyA3LjQgMGwxNS4zIDguOGMxLjcgMSAzLjktLjMgMy45LTIuMmwwLTk0YzAtMi44IDMtNC42IDUuNS0zLjJsMzYuNSAyMC40YzIuMyAxLjIgMy44IDMuNyAzLjggNi40em0tNDYgMTI4LjljMC0uNy0uNC0xLjMtLjktMS42bC0yMS0xMi4yYy0uNi0uMy0xLjMtLjMtMS45IDBsLTIxIDEyLjJjLS42IC4zLS45IC45LS45IDEuNmwwIDI0LjNjMCAuNyAuNCAxLjMgLjkgMS42bDIxIDEyLjFjLjYgLjMgMS4zIC4zIDEuOCAwbDIxLTEyLjFjLjYtLjMgLjktLjkgLjktMS42bDAtMjQuMyAuMSAwem0yMDkuOC0uN2MyLjMtMS4zIDMuNy0zLjggMy43LTYuNGwwLTE3LjFjMC0yLjYtMS40LTUuMS0zLjctNi40bC02MC45LTM1LjRjLTIuMy0xLjMtNS4xLTEuMy03LjQgMGwtNjEuMyAzNS40Yy0yLjMgMS4zLTMuNyAzLjgtMy43IDYuNGwwIDcwLjhjMCAyLjcgMS40IDUuMSAzLjcgNi40bDYwLjkgMzQuN2MyLjIgMS4zIDUgMS4zIDcuMyAwbDM2LjgtMjAuNWMyLjUtMS40IDIuNS01IDAtNi40TDU1MCAyNDEuNmMtMS4yLS43LTEuOS0xLjktMS45LTMuMmwwLTIyLjJjMC0xLjMgLjctMi41IDEuOS0zLjJsMTkuMi0xMS4xYzEuMS0uNyAyLjYtLjcgMy43IDBMNTkyLjEgMjEzYzEuMSAuNyAxLjkgMS45IDEuOSAzLjJsMCAxNy40YzAgMi44IDMuMSA0LjYgNS42IDMuMmwzNi43LTIxLjN6TTU1OSAyMTljLS40IC4zLS43IC43LS43IDEuMmwwIDEzLjZjMCAuNSAuMyAxIC43IDEuMmwxMS44IDYuOGMuNCAuMyAxIC4zIDEuNCAwTDU4NCAyMzVjLjQtLjMgLjctLjcgLjctMS4ybDAtMTMuNmMwLS41LS4zLTEtLjctMS4ybC0xMS44LTYuOGMtLjQtLjMtMS0uMy0xLjQgMEw1NTkgMjE5ek0zMDQuOCAyNjIuNWwwLTcwLjRjMC0yLjYtMS42LTUuMS0zLjktNi40bC02MS4xLTM1LjJjLTIuMS0xLjItNS0xLjQtNy40IDBsLTYxLjEgMzUuMmMtMi4zIDEuMy0zLjkgMy43LTMuOSA2LjRsMCA3MC40YzAgMi44IDEuOSA1LjIgNCA2LjRsNjEuMiAzNS4yYzIuNCAxLjQgNS4yIDEuMyA3LjQgMGw2MS0zNS4yYzEuOC0xIDMuMS0yLjcgMy42LTQuNyAuMS0uNSAuMi0xLjEgLjItMS43ek0yMzAuNSAxMzcuNmwtLjggLjUgMS4xIDAtLjMtLjV6bTc2LjIgMTMwLjJsLS40LS43IDAgLjkgLjQtLjJ6Il19LER6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJjb2RlcGVuIixpY29uOls1MTIsNTEyLFtdLCJmMWNiIiwiTTUwMi4zIDE1OS43bC0yMzQtMTU2Yy04LTQuOS0xNi41LTUtMjQuNiAwbC0yMzQgMTU2Yy02IDQtOS43IDExLjEtOS43IDE4LjNMMCAzMzRjMCA3LjEgMy43IDE0LjMgOS43IDE4LjNsMjM0IDE1NmM4IDQuOSAxNi41IDUgMjQuNiAwbDIzNC0xNTZjNi00IDkuNy0xMS4xIDkuNy0xOC4zbDAtMTU2YzAtNy4xLTMuNy0xNC4zLTkuNy0xOC4zek0yNzggNjMuMWwxNzIuMyAxMTQuOS03Ni45IDUxLjQtOTUuNC02My43IDAtMTAyLjZ6bS00NCAwTDIzNCAxNjUuNyAxMzguNiAyMjkuNCA2MS43IDE3OCAyMzQgNjMuMXpNNDQgMjE5LjFMOTkuMSAyNTYgNDQgMjkyLjggNDQgMjE5LjF6TTIzNCA0NDguOEw2MS43IDMzNCAxMzguNiAyODIuNiAyMzQgMzQ2LjMgMjM0IDQ0OC44ek0yNTYgMzA4bC03Ny43LTUyIDc3LjctNTIgNzcuNyA1Mi03Ny43IDUyem0yMiAxNDAuOWwwLTEwMi42IDk1LjQtNjMuNyA3Ni45IDUxLjQtMTcyLjMgMTE0Ljl6bTE5MC0xNTZsLTU1LjEtMzYuOSA1NS4xLTM2LjkgMCA3My43eiJdfSxBenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmF2ZWxyeSIsaWNvbjpbNTEyLDUxMixbXSwiZjJkOSIsIk00OTguNiAyMzQuMmMtMS4yLTEwLjMtMS43LTIwLjgtMy43LTMxLTIuNS0xMi40LTUuNy0yNC42LTkuNi0zNi42LTYuOC0yMC45LTE3LjItNDAuMy0zMC45LTU3LjUtNS45LTcuNi0xMi4xLTE0LjgtMTguOC0yMS43LTE0LjEtMTQtMzAtMjYuMS00Ny4xLTM2LjEtMTcuOC0xMC42LTM2LjgtMTguOS01Ni43LTI0LjctMTEtMy4xLTIyLjMtNS40LTMzLjUtNy42LTYuOC0xLjMtMTMuNy0xLjctMjAuNi0yLjUtLjMgMC0uNi0uNC0uOS0uNi0xMC44IDAtMjEuNSAwLTMyLjMgMC0yLjQgLjQtNC44IC45LTcuMiAxLjItMTEuNiAxLjItMjMuMSAzLjYtMzQuMyA3LjEtMTMuOCA0LjEtMjcuMSA5LjYtMzkuOCAxNi40LTEzLjMgNy0yNi4xIDE1LjEtMzguMSAyNC4yLTYuMiA0LjYtMTIuMyA5LjQtMTggMTQuNS0xMC4yIDkuMi0yMC40IDE4LjQtMjkuOSAyOC4zLTEyLjggMTMuMy0yNC4xIDI4LjEtMzMuNiA0NC04LjYgMTQtMTUuNSAyOS0yMC41IDQ0LjYtNy4yIDIyLjctMTAuMyA0Ni42LTkuMiA3MC4zIC42IDEzLjUgMiAyNi45IDQuNCA0MC4yIDMuNCAxOC40IDkgMzYuMyAxNi43IDUzLjMgMTMuNiAyOS4yIDMyLjEgNTEuNSA1MC40IDY3LjkgMTIuOCAxMS42IDI2LjggMjEuOSA0MS44IDMwLjYgMTcuNyAxMC40IDM2LjQgMTguOSA1NS45IDI1LjMgMTMuMyA0LjMgMjYuOSA3LjYgNDAuNiA5LjggNi4xIDEgMTIuMyAxLjMgMTguNCAxLjkgLjQgLjEgLjggLjMgMS4yIC42bDMyLjMgMGMyLjUtLjQgNS0uOSA3LjUtMS4xIDE2LjMtMS4zIDMyLjEtNS4zIDQ3LjUtMTAuNyAxNy4yLTUuOSAzMy43LTEzLjkgNDktMjMuOCA5LjctNi40IDE5LjQtMTMuMSAyOC43LTIwLjEgNS44LTQuMyAxMS05LjUgMTYuMy0xNC41IDQtMy43IDcuOC03LjYgMTEuNS0xMS41IDEyLTEyLjcgMjIuNi0yNi42IDMxLjQtNDEuNiA5LjUtMTYgMTcuNC0zMi45IDIyLjMtNTAuOSAyLjktMTAuNCA0LjktMjEgNy0zMS43IDEtNS4zIDEuMy0xMC43IDEuOS0xNi4xIDAtLjMgLjQtLjYgLjYtLjlsMC0zNy4xYy0uMi0uNi0uNC0xLjItLjYtMS44em0tMTYxLjEtMS4ycy0xNi42LTMtMjguNS0zYy0yNy4yIDAtMzMuNiAxNC45LTMzLjYgMzdsMCA5My43LTczLjUgMCAwLTE5MC43IDczLjUgMCAwIDMxLjljOC45LTI2LjggMjYuOC0zNi4yIDYyLTM2LjJsMCA2Ny4zeiJdfSxFenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYWxpcGF5IixpY29uOls0NDgsNTEyLFtdLCJmNjQyIiwiTTM3Ny43IDMyTDcwLjMgMzJDMzEuNCAzMiAwIDYzLjQgMCAxMDIuM0wwIDQwOS43QzAgNDQ4LjYgMzEuNCA0ODAgNzAuMyA0ODBsMzA3LjUgMGMzOC41IDAgNjkuOC0zMS4xIDcwLjMtNjkuNi00Ni0yNS42LTExMC42LTYwLjMtMTcxLjYtODguNC0zMi4xIDQ0LTg0LjEgODEtMTQ4LjYgODEtNzAuNiAwLTkzLjctNDUuMy05Ny03Ni40LTQtMzkgMTQuOS04MS41IDk5LjUtODEuNSAzNS40IDAgNzkuNCAxMC4yIDEyNy4xIDI1IDE2LjUtMzAuMSAyNi41LTYwLjMgMjYuNS02MC4zbC0xNzguMiAwIDAtMTYuNyA5Mi4xIDAgMC0zMS4yLTEwOS40IDAgMC0xOSAxMDkuNCAwIDAtNTAuNCA1MC45IDAgMCA1MC40IDEwOS40IDAgMCAxOS0xMDkuNCAwIDAgMzEuMiA4OC44IDBzLTE1LjIgNDYuNi0zOC4zIDkwLjljNDguOSAxNi43IDEwMCAzNiAxNDguNiA1Mi43bDAtMjM0LjRjLjItMzguNy0zMS4yLTcwLjMtNjkuOS03MC4zek00Ny4zIDMyM2MxIDIwLjIgMTAuMiA1My43IDY5LjkgNTMuNyA1Mi4xIDAgOTIuNi0zOS43IDExNy45LTcyLjktNDQuNi0xOC43LTg0LjUtMzEuNC0xMDkuNC0zMS40LTY3LjQgMC03OS40IDMzLjEtNzguNCA1MC42eiJdfSxQenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiY2MtYW1leCIsaWNvbjpbNTc2LDUxMixbXSwiZjFmMyIsIk0wIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0ODAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTEuMS02MS43IDAtMzEuOS0zNS4xLTMxLjkgMzUuMS0yMDMuNyAwIDAtMTYzLjgtNjUuOCAwIDgxLjctMTg0LjcgNzguNiAwIDI4LjEgNjMuMiAwLTYzLjIgOTcuMiAwIDE2LjkgNDcuNiAxNy00Ny42IDc1LjUgMCAwLTIuNGMwLTI2LjUtMjEuNS00OC00OC00OEw0OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgNDMyem00NDAuNC0yMS43bDQyLjItNDYuMyA0MiA0Ni4zIDUxLjQgMC02OC03Mi4xIDY4LTcyLjEtNTAuNiAwLTQyIDQ2LjctNDEuNS00Ni43LTUxLjQgMCA2Ny41IDcyLjUtNjcuNCA3MS42IDAtMzMuMS04MyAwIDAtMjIuMiA4MC45IDAgMC0zMi4zLTgwLjkgMCAwLTIyLjQgODMgMCAwLTMzLjEtMTIyIDAgMCAxNDMuMiAxNzEuOCAwem05Ni4zLTcybDM5LjMgNDEuOSAwLTgzLjMtMzkuMyA0MS40em0tMzYuMy05MmwzNi45LTEwMC42IDAgMTAwLjYgMzguNyAwIDAtMTQzLjMtNjAuMiAwLTMyLjIgODkuMy0zMS45LTg5LjMtNjEuMiAwIDAgMTQzLjEtNjMuMi0xNDMuMS01MS4yIDAtNjIuNCAxNDMuMyA0MyAwIDExLjktMjguNyA2NS45IDAgMTIgMjguNyA4Mi43IDAgMC0xMDAuMyAzNi44IDEwMC4zIDM0LjQgMHpNMjgyIDE4NS40bDE5LjUtNDYuOSAxOS40IDQ2LjktMzguOSAweiJdfSxJenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicGllZC1waXBlci1hbHQiLGljb246WzU3Niw1MTIsW10sImYxYTgiLCJNMjQ0IDI0NmMtMy4yLTItNi4zLTIuOS0xMC4xLTIuOS02LjYgMC0xMi42IDMuMi0xOS4zIDMuN2wxLjcgNC45IDI3LjctNS43ek0zNzkuOSA0NDMuOWMtMTkgMC02NC4xIDkuNS03OS45IDE5LjhsNi45IDQ1LjFjMzUuNyA2LjEgNzAuMSAzLjYgMTA2LTkuOC00LjgtMTAtMjMuNS01NS4xLTMzLTU1LjF6TTM0MC44IDE3N2M2LjYgMi44IDExLjUgOS4yIDIyLjcgMjIuMSAyLTEuNCA3LjUtNS4yIDcuNS04LjYgMC00LjktMTEuOC0xMy4yLTEzLjItMjMgMTEuMi01LjcgMjUuMi02IDM3LjYtOC45IDY4LjEtMTYuNCAxMTYuMy01Mi45IDE0Ni44LTExNi43IDYuMS0xMi42IDExLjgtMjUuOCAxMi40LTM5LjlsLTIgMi42Yy0yOC40IDUwLTMzIDYzLjItODEuMyAxMDAtMzEuOSAyNC40LTY5LjIgNDAuMi0xMDYuNiA1NC42bC02LjMtLjMgMC0yMS44Yy0xOS42IDEuNi0xOS43LTE0LjYtMzEuNi0yMy0xOC43IDIwLjYtMzEuNiA0MC44LTU4LjkgNTEuMS0xMi43IDQuOC0xOS42IDEwLTI1LjkgMjEuOCAzNC45LTE2LjQgOTEuMi0xMy41IDk4LjgtMTB6TTU1NS41IDBsLS42IDEuMS0uMyAuOSAuNi0uNiAuMy0xLjR6TTQ5Ni4zIDM4Mi4xYy0zMy45LTU2LjktNzUuMy0xMTguNC0xNTAtMTE1LjVsLS4zLTZjLTEuMS0xMy41IDMyLjggMy4yIDM1LjEtMzFsLTE0LjQgNy4yYy0xOS44LTQ1LjctOC42LTU0LjMtNjUuNS01NC4zLTE0LjcgMC0yNi43IDEuNy00MS40IDQuNiAyLjkgMTguNiAyLjIgMzYuNy0xMC45IDUwLjNsMTkuNSA1LjVjLTEuNyAzLjItMi45IDYuMy0yLjkgOS44IDAgMjEgNDIuOCAyLjkgNDIuOCAzMy42IDAgMTguNC0zNi44IDYwLjEtNTQuOSA2MC4xLTggMC01My43LTUwLTUzLjQtNjAuMWwuMy00LjYgNTIuMy0xMS41YzEzLTIuNiAxMi4zLTIyLjctMi45LTIyLjctMy43IDAtNDMuMSA5LjItNDkuNCAxMC42LTItNS4yLTcuNS0xNC4xLTEzLjgtMTQuMS0zLjIgMC02LjMgMy4yLTkuNSA0LTkuMiAyLjYtMzEgMi45LTIxLjUgMjAuMUwxNS45IDI5OC41Yy01LjUgMS4xLTguOSA2LjMtOC45IDExLjggMCA2IDUuNSAxMC45IDExLjUgMTAuOSA4IDAgMTMxLjMtMjguNCAxNDcuNC0zMi4yIDIuNiAzLjIgNC42IDYuMyA3LjggOC42IDIwLjEgMTQuNCA1OS44IDg1LjkgNzYuNCA4NS45IDI0LjEgMCA1OC0yMi40IDcxLjMtNDEuOSAzLjItNC4zIDYuOS03LjUgMTIuNC02LjkgLjYgMTMuOC0zMS42IDM0LjItMzMgNDMuNy0xLjQgMTAuMi0xIDM1LjItLjMgNDEuMSAyNi43IDguMSA1Mi0zLjYgNzcuOS0yLjkgNC4zLTIxIDEwLjYtNDEuOSA5LjgtNjMuNWwtLjMtOS41Yy0xLjQtMzQuMi0xMC45LTM4LjUtMzQuOC01OC42LTEuMS0xLjEtMi42LTIuNi0zLjctNCAyLjItMS40IDEuMS0xIDQuNi0xLjcgODguNSAwIDU2LjMgMTgzLjYgMTExLjUgMjI5LjkgMzMuMS0xNSA3Mi41LTI3LjkgMTAzLjUtNDcuMi0yOS0yNS42LTUyLjYtNDUuNy03Mi43LTc5Ljl6TTMwMC4xIDQyOC4ybDAgMjcuMiAxMS44LTMuNC0yLjktMjMuOC04LjkgMHpNMjMxLjQgMjc3LjhsMjQuMSA2MS4yIDIxLTEzLjgtMzEuMy01MC45LTEzLjggMy41em04NC40IDE1NC45bDIgMTIuNGM5LTEuNSA1OC40LTYuNiA1OC40LTE0LjEgMC0xLjQtLjYtMy4yLS45LTQuNi0yNi44IDAtMzYuOSAzLjgtNTkuNSA2LjN6Il19LE56dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJsZXR0ZXJib3hkIixpY29uOls2NDAsNTEyLFtdLCJlNjJkIiwiTTUyMS4zIDEyOEM1ODYuOSAxMjggNjQwIDE4MS4xIDY0MCAyNDYuNlM1ODYuOSAzNjUuMiA1MjEuMyAzNjUuMmMtNDIuNSAwLTc5LjctMjIuMy0xMDAuNy01NS44IDExLjQtMTguMiAxOC0zOS43IDE4LTYyLjhzLTYuNi00NC42LTE4LTYyLjhsLjgtMS4yYzIwLjgtMzIuMyA1Ni44LTUzLjkgOTcuOS01NC42bDIgMHpNMzIwIDEyOGM0Mi41IDAgNzkuNyAyMi4zIDEwMC43IDU1LjgtMTEuNCAxOC4yLTE4IDM5LjctMTggNjIuOHM2LjYgNDQuNiAxOCA2Mi44bC0uOCAxLjJjLTIwLjggMzIuMy01Ni44IDUzLjktOTcuOSA1NC42bC0yIDBjLTQyLjUgMC03OS43LTIyLjMtMTAwLjctNTUuOCAxMS40LTE4LjIgMTgtMzkuNyAxOC02Mi44cy02LjYtNDQuNi0xOC02Mi44bC44LTEuMmMyMC44LTMyLjMgNTYuOC01My45IDk3LjktNTQuNmwyIDB6bS0yMDEuMyAwYzQyLjUgMCA3OS43IDIyLjMgMTAwLjcgNTUuOC0xMS40IDE4LjItMTggMzkuNy0xOCA2Mi44czYuNiA0NC42IDE4IDYyLjhsLS44IDEuMmMtMjAuOCAzMi4zLTU2LjggNTMuOS05Ny45IDU0LjZsLTIgMEM1My4xIDM2NS4xIDAgMzEyLjEgMCAyNDYuNlM1My4xIDEyOCAxMTguNyAxMjh6Il19LFJ6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJvcGVyYSIsaWNvbjpbNTEyLDUxMixbXSwiZjI2YSIsIk0zMjEuOSAzMi43Yy0xNzAuMiAwLTI1Mi42IDIyMy44LTE0Ny41IDM1NS4xIDM2LjUgNDUuNCA4OC42IDc1LjYgMTQ3LjUgNzUuNiAzNi4zIDAgNzAuMy0xMS4xIDk5LjQtMzAuNC00My44IDM5LjItMTAxLjkgNjMtMTY1LjMgNjMtMy45IDAtOCAwLTExLjktLjMtMTMxLjUtNi4xLTIzNi4xLTExNC42LTIzNi4xLTI0Ny43IDAtMTM3IDExMS0yNDggMjQ4LTI0OGwuOCAwYzYzLjEgLjMgMTIwLjcgMjQuMSAxNjQuNCA2My4xLTI5LTE5LjQtNjMuMS0zMC40LTk5LjMtMzAuNHpNNDIzLjcgNDMwLjRjLTQwLjkgMjQuNy05MC43IDIzLjYtMTMyLTUuOCA1Ni4yLTIwLjUgOTcuNy05MS42IDk3LjctMTc2LjYgMC04NC43LTQxLjItMTU1LjgtOTcuNC0xNzYuNiA0MS44LTI5LjIgOTEuMi0zMC4zIDEzMi45LTUgMTA1LjkgOTguNyAxMDUuNSAyNjUuNy0xLjIgMzY0eiJdfSxPenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToid2VpYm8iLGljb246WzUxMiw1MTIsW10sImYxOGEiLCJNNDA3IDE3Ny42YzcuNi0yNC0xMy40LTQ2LjgtMzcuNC00MS43LTIyIDQuOC0yOC44LTI4LjEtNy4xLTMyLjggNTAuMS0xMC45IDkyLjMgMzcuMSA3Ni41IDg0LjgtNi44IDIxLjItMzguOCAxMC44LTMyLTEwLjN6TTIxNC44IDQ0Ni43Yy0xMDYuMyAwLTIxNC44LTUxLjQtMjE0LjgtMTM2LjMgMC00NC4zIDI4LTk1LjQgNzYuMy0xNDMuNyA5OS43LTk5LjcgMjAzLjItMTAwLjkgMTczLjYtNS43LTQgMTMuMSAxMi4zIDUuNyAxMi4zIDYgNzkuNS0zMy42IDE0MC41LTE2LjggMTE0IDUxLjQtMy43IDkuNCAxLjEgMTAuOSA4LjMgMTMuMSAxMzUuNyA0Mi4zIDM0LjggMjE1LjItMTY5LjcgMjE1LjJ6TTM1OC41IDMwMC40Yy01LjQtNTUuNy03OC41LTk0LTE2My40LTg1LjctODQuOCA4LjYtMTQ4LjggNjAuMy0xNDMuNCAxMTZzNzguNSA5NCAxNjMuNCA4NS43Yzg0LjgtOC42IDE0OC44LTYwLjMgMTQzLjQtMTE2ek0zNDcuOSAzNS4xYy0yNS45IDUuNi0xNi44IDQzLjcgOC4zIDM4LjMgNzIuMy0xNS4yIDEzNC44IDUyLjggMTExLjcgMTI0LTcuNCAyNC4yIDI5LjEgMzcgMzcuNCAxMiAzMS45LTk5LjgtNTUuMS0xOTUuOS0xNTcuNC0xNzQuM3ptLTc4LjUgMzExYy0xNy4xIDM4LjgtNjYuOCA2MC0xMDkuMSA0Ni4zLTQwLjgtMTMuMS01OC01My40LTQwLjMtODkuNyAxNy43LTM1LjQgNjMuMS01NS40IDEwMy40LTQ1LjEgNDIgMTAuOCA2My4xIDUwLjIgNDYgODguNXptLTg2LjMtMzBjLTEyLjktNS40LTMwIC4zLTM4IDEyLjktOC4zIDEyLjktNC4zIDI4IDguNiAzNCAxMy4xIDYgMzAuOCAuMyAzOS4xLTEyLjkgOC0xMy4xIDMuNy0yOC4zLTkuNy0zNHptMzIuNi0xMy40Yy01LjEtMS43LTExLjQgLjYtMTQuMyA1LjQtMi45IDUuMS0xLjQgMTAuNiAzLjcgMTIuOSA1LjEgMiAxMS43LS4zIDE0LjYtNS40IDIuOC01LjIgMS4xLTEwLjktNC0xMi45eiJdfSxGenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToicmVhZG1lIixpY29uOls1NzYsNTEyLFtdLCJmNGQ1IiwiTTUyOC4zIDQ2LjVsLTEzOS44IDBjLTQ4LjEgMC04OS45IDMzLjMtMTAwLjQgODAuMy0xMC42LTQ3LTUyLjMtODAuMy0xMDAuNC04MC4zTDQ4IDQ2LjVDMjEuNSA0Ni41IDAgNjggMCA5NC41TDAgMzQwLjNjMCAyNi41IDIxLjUgNDggNDggNDhsODkuNyAwYzEwMi4yIDAgMTMyLjcgMjQuNCAxNDcuMyA3NSAuNyAyLjggNS4yIDIuOCA2IDAgMTQuNy01MC42IDQ1LjItNzUgMTQ3LjMtNzVsODkuNyAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjQ1LjdjMC0yNi40LTIxLjMtNDcuOS00Ny43LTQ4LjF6TTI0MiAzMTEuOWMwIDEuOS0xLjUgMy41LTMuNSAzLjVsLTE2MC4zIDBjLTEuOSAwLTMuNS0xLjUtMy41LTMuNWwwLTIyLjljMC0xLjkgMS41LTMuNSAzLjUtMy41bDE2MC40IDBjMS45IDAgMy41IDEuNSAzLjUgMy41bDAgMjIuOS0uMSAwem0wLTYwLjljMCAxLjktMS41IDMuNS0zLjUgMy41bC0xNjAuMyAwYy0xLjkgMC0zLjUtMS41LTMuNS0zLjVsMC0yMi45YzAtMS45IDEuNS0zLjUgMy41LTMuNWwxNjAuNCAwYzEuOSAwIDMuNSAxLjUgMy41IDMuNWwwIDIyLjktLjEgMHptMC02MC45YzAgMS45LTEuNSAzLjUtMy41IDMuNWwtMTYwLjMgMGMtMS45IDAtMy41LTEuNS0zLjUtMy41bDAtMjIuOWMwLTEuOSAxLjUtMy41IDMuNS0zLjVsMTYwLjQgMGMxLjkgMCAzLjUgMS41IDMuNSAzLjVsMCAyMi45LS4xIDB6TTUwMS4zIDMxMS44YzAgMS45LTEuNSAzLjUtMy41IDMuNWwtMTYwLjMgMGMtMS45IDAtMy41LTEuNS0zLjUtMy41bDAtMjIuOWMwLTEuOSAxLjUtMy41IDMuNS0zLjVsMTYwLjQgMGMxLjkgMCAzLjUgMS41IDMuNSAzLjVsMCAyMi45LS4xIDB6bTAtNjAuOWMwIDEuOS0xLjUgMy41LTMuNSAzLjVsLTE2MC4zIDBjLTEuOSAwLTMuNS0xLjUtMy41LTMuNWwwLTIyLjljMC0xLjkgMS41LTMuNSAzLjUtMy41bDE2MC40IDBjMS45IDAgMy41IDEuNSAzLjUgMy41bDAgMjIuOS0uMSAwem0wLTYwLjljMCAxLjktMS41IDMuNS0zLjUgMy41bC0xNjAuMyAwYy0xLjkgMC0zLjUtMS41LTMuNS0zLjVsMC0yMi44YzAtMS45IDEuNS0zLjUgMy41LTMuNWwxNjAuNCAwYzEuOSAwIDMuNSAxLjUgMy41IDMuNWwwIDIyLjgtLjEgMHoiXX0sQnp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdvbGFuZyIsaWNvbjpbNjQwLDUxMixbXSwiZTQwZiIsIk00MDAuMSAxOTQuOGMtMTAuOSAyLjgtMTkuOSA0LjMtMjkuMSA3LjYtNy4zIDEuOS0xNC43IDMuOS0yMy4yIDYuMWwtLjYgLjFjLTQuMiAxLjItNC42IDEuMy04LjUtMy4yLTQuNy01LjMtOC4xLTguNy0xNC42LTExLjktMTkuNy05LjYtMzguNy02LjgtNTYuNCA0LjctMjEuMiAxMy43LTMyLjEgMzQtMzEuOCA1OS4yIC4zIDI1IDE3LjQgNDUuNSA0MS4yIDQ4LjkgMjIgMi44IDM5LjgtNC42IDUzLjgtMjAuNSAyLjEtMi42IDQtNS4zIDYuMS04LjMgLjgtMSAxLjUtMi4xIDIuMy0zLjNsLTYwLjEgMGMtNi41IDAtOC4xLTQtNS45LTkuMyA0LTkuNyAxMS41LTI1LjkgMTUuOS0zNCAuOS0xLjggMy4xLTUuOCA2LjktNS44bDEwMS4xIDBjNC41LTEzLjQgMTEuOC0yNi45IDIxLjYtMzkuNyAyMi43LTI5LjkgNDkuMy00NS41IDg3LjItNTIgMzEuOC01LjYgNjEuNy0yLjUgODguOSAxNS45IDI0LjYgMTYuOCAzOS44IDM5LjYgNDMuOSA2OS41IDUuMyA0Mi4xLTYuOSA3Ni4zLTM2LjcgMTA1LjYtMTkuNyAyMC45LTQ0LjkgMzQtNzMuOSAzOS45LTUuNiAxLTExLjEgMS41LTE2LjUgMi0yLjkgLjItNS43IC41LTguNSAuOC0yOC4zLS42LTU0LjItOC43LTc2LTI3LjQtMTUuMy0xMy4zLTI1LjktMjkuNi0zMS4xLTQ4LjUtMy43IDcuMy04IDE0LjQtMTQgMjEuMS0yMS42IDI5LjYtNTAuOSA0OC04Ny45IDUyLjktMzAuNiA0LjEtNTguOS0xLjgtODMuOS0yMC41LTIzLTE3LjUtMzYuMS00MC41LTM5LjUtNjkuMi00LjEtMzQgNS45LTY1LjQgMjYuNC05MS4zIDIyLjItMjkgNTEuNS00Ny40IDg3LjMtNTMuOSAyOS4zLTYuMiA1Ny4zLTEuOSA4Mi42IDE1LjMgMTYuNSAxMC45IDI4LjMgMjUuOCAzNi4xIDQzLjkgMS45IDIuOCAuNiA0LjQtMy4xIDUuM3pNNDguMyAyMDAuNGMtMS4zIDAtMS42LS42LS45LTEuNmw2LjYtOC40Yy42LS45IDIuMi0xLjUgMy40LTEuNWwxMTEuMyAwYzEuMiAwIDEuNSAuOSAuOSAxLjhsLTUuMyA4LjFjLS42IDEtMi4yIDEuOS0zLjEgMS45bC0xMTIuOC0uM3pNMS4yIDIyOS4xYy0xLjIgMC0xLjYtLjctLjktMS42bDYuNS04LjRjLjYtLjkgMi4yLTEuNiAzLjQtMS42bDE0Mi4xIDBjMS4yIDAgMS44IDEgMS41IDEuOWwtMi41IDcuNWMtLjMgMS4yLTEuNSAxLjktMi44IDEuOUwxLjIgMjI5LjF6bTc0LjUgMjYuOGMtLjYgLjktLjMgMS44IC45IDEuOGw2OCAuM2MuOSAwIDIuMi0uOSAyLjItMi4xbC42LTcuNWMwLTEuMy0uNi0yLjItMS45LTIuMmwtNjIuMyAwYy0xLjIgMC0yLjUgLjktMy4xIDEuOWwtNC40IDcuOHptNTAxLjUtMThjLS4yLTIuNi0uMy00LjgtLjctNy01LjYtMzAuOC0zNC00OC4zLTYzLjYtNDEuNC0yOSA2LjUtNDcuNyAyNC45LTU0LjUgNTQuMi01LjYgMjQuMyA2LjIgNDguOSAyOC42IDU4LjkgMTcuMiA3LjUgMzQuMyA2LjYgNTAuOC0xLjkgMjQuNi0xMy42IDM4LTMyLjcgMzkuNi01OS41LS4xLTEuMi0uMS0yLjMtLjItMy4zeiJdfSxIenQ9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3RhY2stZXhjaGFuZ2UiLGljb246WzQ0OCw1MTIsW10sImYxOGQiLCJNMTguMSAzMzIuM2w0MTIuNyAwIDAgMjJjMCAzNy43LTI5LjMgNjgtNjUuMyA2OGwtMTkgMC04Ni44IDg5LjcgMC04OS43LTE3Ni4zIDBjLTM2IDAtNjUuMy0zMC4zLTY1LjMtNjhsMC0yMnptMC0yMy42bDQxMi43IDAgMC04NS00MTIuNyAwIDAgODV6bTAtMTA5LjRsNDEyLjcgMCAwLTg1LTQxMi43IDAgMCA4NXpNMzY1LjQgMEw4My40IDBjLTM2IDAtNjUuMyAzMC4zLTY1LjMgNjcuN2wwIDIyLjMgNDEyLjcgMCAwLTIyLjNDNDMwLjcgMzAuMyA0MDEuNCAwIDM2NS40IDB6Il19LHF6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJndWxwIixpY29uOlsyNTYsNTEyLFtdLCJmM2FlIiwiTTIxMCAzOTEuMWwtMTQuMSAyNC42LTQuNiA4MC4yYzAgOC45LTI4LjMgMTYuMS02My4xIDE2LjFzLTYzLjEtNy4yLTYzLjEtMTYuMWwtNS44LTc5LjQtMTQuOS0yNS40YzQxLjIgMTcuMyAxMjYgMTYuNyAxNjUuNiAwek0xNCAxMzcuOEwyNy42IDI2My4zYzUuOS0yMCAyMC44LTQ3IDQwLTU1LjIgNi4zLTIuNyAxMi43LTIuNyAxOC43IC45IDUuMiAzIDkuNiA5LjMgMTAuMSAxMS44IDEuMiA2LjUtMiA5LjEtNC41IDkuMS0zIDAtNS4zLTQuNi02LjgtNy4zLTQuMS03LjMtMTAuMy03LjYtMTYuOS0yLjgtNi45IDUtMTIuOSAxMy40LTE3LjEgMjAuNy01LjEgOC44LTkuNCAxOC41LTEyIDI4LjItMS41IDUuNi0yLjkgMTQuNi0uNiAxOS45IDEgMi4yIDIuNSAzLjYgNC45IDMuNiA1IDAgMTIuMy02LjYgMTUuOC0xMC4xIDQuNS00LjUgMTAuMy0xMS41IDEyLjUtMTZsNS4yLTE1LjVjMi42LTYuOCA5LjktNS42IDkuOSAwIDAgMTAuMi0zLjcgMTMuNi0xMCAzNC43LTUuOCAxOS41LTcuNiAyNS44LTcuNiAyNS44LS43IDIuOC0zLjQgNy41LTYuMyA3LjUtMS4yIDAtMi4xLS40LTIuNi0xLjItMS0xLjQtLjktNS4zLS44LTYuMyAuMi0zLjIgNi4zLTIyLjIgNy4zLTI1LjItMiAyLjItNC4xIDQuNC02LjQgNi42LTUuNCA1LjEtMTQuMSAxMS44LTIxLjUgMTEuOC0zLjQgMC01LjYtLjktNy43LTIuNGw3LjYgNzkuNmMyIDUgMzkuMiAxNy4xIDg4LjIgMTcuMSA0OS4xIDAgODYuMy0xMi4yIDg4LjItMTcuMWwxMC45LTk0LjZjLTUuNyA1LjItMTIuMyAxMS42LTE5LjYgMTQuOC01LjQgMi4zLTE3LjQgMy44LTE3LjQtNS43IDAtNS4yIDkuMS0xNC44IDE0LjQtMjEuNSAxLjQtMS43IDQuNy01LjkgNC43LTguMSAwLTIuOS02LTIuMi0xMS43IDIuNS0zLjIgMi43LTYuMiA2LjMtOC43IDkuNy00LjMgNi02LjYgMTEuMi04LjUgMTUuNS02LjIgMTQuMi00LjEgOC42LTkuMSAyMi01IDEzLjMtNC4yIDExLjgtNS4yIDE0LS45IDEuOS0yLjIgMy41LTQgNC41LTEuOSAxLTQuNSAuOS02LjEtLjMtLjktLjYtMS4zLTEuOS0xLjMtMy43IDAtLjkgLjEtMS44IC4zLTIuNyAxLjUtNi4xIDcuOC0xOC4xIDE1LTM0LjMgMS42LTMuNyAxLTIuNiAuOC0yLjMtNi4yIDYtMTAuOSA4LjktMTQuNCAxMC41LTUuOCAyLjYtMTMgMi42LTE0LjUtNC4xLS4xLS40LS4xLS44LS4yLTEuMi0xMS44IDkuMi0yNC4zIDExLjctMjAtOC4xLTQuNiA4LjItMTIuNiAxNC45LTIyLjQgMTQuOS00LjEgMC03LjEtMS40LTguNi01LjEtMi4zLTUuNSAxLjMtMTQuOSA0LjYtMjMuOCAxLjctNC41IDQtOS45IDcuMS0xNi4yIDEuNi0zLjQgNC4yLTUuNCA3LjYtNC41IC42IC4yIDEuMSAuNCAxLjYgLjcgMi42IDEuOCAxLjYgNC41IC4zIDcuMi0zLjggNy41LTcuMSAxMy05LjMgMjAuOC0uOSAzLjMtMiA5IDEuNSA5IDIuNCAwIDQuNy0uOCA2LjktMi40IDQuNi0zLjQgOC4zLTguNSAxMS4xLTEzLjUgMi0zLjYgNC40LTguMyA1LjYtMTIuMyAuNS0xLjcgMS4xLTMuMyAxLjgtNC44IDEuMS0yLjUgMi42LTUuMSA1LjItNS4xIDEuMyAwIDIuNCAuNSAzLjIgMS41IDEuNyAyLjIgMS4zIDQuNSAuNCA2LjktMiA1LjYtNC43IDEwLjYtNi45IDE2LjctMS4zIDMuNS0yLjcgOC0yLjcgMTEuNyAwIDMuNCAzLjcgMi42IDYuOCAxLjIgMi40LTEuMSA0LjgtMi44IDYuOC00LjUgMS4yLTQuOSAuOS0zLjggMjYuNC02OC4yIDEuMy0zLjMgMy43LTQuNyA2LjEtNC43IDEuMiAwIDIuMiAuNCAzLjIgMS4xIDEuNyAxLjMgMS43IDQuMSAxIDYuMi0uNyAxLjktLjYgMS4zLTQuNSAxMC41LTUuMiAxMi4xLTguNiAyMC44LTEzLjIgMzEuOS0xLjkgNC42LTcuNyAxOC45LTguNyAyMi4zLS42IDIuMi0xLjMgNS44IDEgNS44IDUuNCAwIDE5LjMtMTMuMSAyMy4xLTE3IC4yLS4zIC41LS40IC45LS42IC42LTEuOSAxLjItMy43IDEuNy01LjUgMS40LTMuOCAyLjctOC4yIDUuMy0xMS4zIC44LTEgMS43LTEuNiAyLjctMS42IDIuOCAwIDQuMiAxLjIgNC4yIDQgMCAxLjEtLjcgNS4xLTEuMSA2LjIgMS40LTEuNSAyLjktMyA0LjUtNC41IDE1LTEzLjkgMjUuNy02LjggMjUuNyAuMiAwIDcuNC04LjkgMTcuNy0xMy44IDIzLjQtMS42IDEuOS00LjkgNS40LTUgNi40IDAgMS4zIC45IDEuOCAyLjIgMS44IDIgMCA2LjQtMy41IDgtNC43IDUtMy45IDExLjgtOS45IDE2LjYtMTQuMWwxNC44LTEzNi44Yy0zMC41IDE3LjEtMTk3LjYgMTcuMi0yMjguMyAuMnptMjI5LjctOC41YzAgMjEtMjMxLjIgMjEtMjMxLjIgMCAwLTguOCA1MS44LTE1LjkgMTE1LjYtMTUuOSA5IDAgMTcuOCAuMSAyNi4zIC40TDE2NyA2NS4xIDIyOC4zIC42YzEuNC0xLjQgNS44LS4yIDkuOSAzLjVzNi42IDcuOSA1LjMgOS4zbC0uMSAuMS01Ny4zIDYwLjUtMTAgNDAuN2MzOS45IDIuNiA2Ny42IDguMSA2Ny42IDE0LjZ6bS02OS40IDQuNmMwLS44LS45LTEuNS0yLjUtMi4xbC0uMiAuOGMwIDEuMy01IDIuNC0xMS4xIDIuNHMtMTEuMS0xLjEtMTEuMS0yLjRjMC0uMSAwLS4yIC4xLS4zbC4yLS43Yy0xLjggLjYtMyAxLjQtMyAyLjMgMCAyLjEgNi4yIDMuNyAxMy43IDMuNyA3LjcgLjEgMTMuOS0xLjYgMTMuOS0zLjd6Il19LFZ6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJ5ZWxwIixpY29uOlszODQsNTEyLFtdLCJmMWU5IiwiTTQyLjkgMjQwLjNsOTkuNiA0OC42YzE5LjIgOS40IDE2LjIgMzcuNS00LjUgNDIuN0wzMC41IDM1OC41Yy0zLjIgLjgtNi40IC45LTkuNiAuM3MtNi4yLTEuOC04LjktMy43LTQuOS00LjMtNi42LTcuMS0yLjctNS45LTMuMS05LjJjLTMuMy0yOC44LS4yLTU3LjkgOS04NS4zIDEtMy4xIDIuNy01LjkgNC45LTguM3M0LjktNC4yIDcuOS01LjUgNi4yLTEuOCA5LjUtMS44IDYuNCAuOSA5LjMgMi4zem00NCAyMzkuM2MyMy44IDE2LjMgNTAuOSAyNy4zIDc5LjQgMzIuMSAzLjIgLjYgNi41IC40IDkuNi0uNHM2LjEtMi4zIDguNi00LjQgNC42LTQuNiA2LTcuNSAyLjMtNi4xIDIuNC05LjRsMy45LTExMC44Yy43LTIxLjMtMjUuNS0zMS45LTM5LjgtMTYuMUw4Mi44IDQ0NS41Yy0yLjIgMi40LTMuOCA1LjMtNC44IDguNHMtMS4zIDYuNC0uOSA5LjYgMS41IDYuMyAzLjEgOS4xIDMuOSA1LjIgNi42IDdsMCAwek0yMzIuMiAzNjkuN2w1OC44IDk0YzEuNyAyLjggNCA1LjEgNi44IDYuOXM1LjggMyA5IDMuNSA2LjUgLjMgOS43LS41IDYuMS0yLjQgOC42LTQuNGMyMi4zLTE4LjQgNDAuMy00MS41IDUyLjctNjcuNiAxLjQtMi45IDIuMS02LjEgMi4yLTkuNHMtLjYtNi41LTEuOS05LjQtMy4yLTUuNy01LjYtNy44LTUuMi0zLjktOC4zLTQuOUwyNTguNyAzMzUuN2MtMjAuMy02LjUtMzcuOCAxNS44LTI2LjUgMzMuOXpNMzgwLjYgMjM3LjRjLTExLjUtMjYuNS0yOC43LTUwLjItNTAuNC02OS4zLTIuNC0yLjEtNS4zLTMuNy04LjQtNC43cy02LjQtMS4yLTkuNi0uOC02LjMgMS41LTkuMSAzLjItNS4xIDQtNi45IDYuN2wtNjIgOTEuOWMtMTEuOSAxNy43IDQuNyA0MC42IDI1LjIgMzQuN0wzNjYgMjY4LjZjMy4xLS45IDYtMi41IDguNS00LjZzNC41LTQuNyA1LjgtNy43IDIuMS02LjIgMi4yLTkuNC0uNi02LjUtMS45LTkuNWwwIDB6TTYyLjEgMzAuMmMtMi44IDEuNC01LjQgMy4zLTcuNCA1LjdzLTMuNiA1LjItNC41IDguMi0xLjIgNi4yLS45IDkuMyAxLjMgNi4xIDIuOSA4LjlMMTU2LjMgMjQyLjZjMTEuNyAyMC4yIDQyLjYgMTEuOSA0Mi42LTExLjRsMC0yMDguM2MwLTMuMS0uNi02LjMtMS44LTkuMnMtMy4xLTUuNS01LjQtNy42LTUtMy44LTgtNC44LTYuMS0xLjQtOS4zLTEuMmMtMzkgMy4xLTc3IDEzLjMtMTEyLjMgMzAuMXoiXX0sanp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImdvZm9yZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjNhNyIsIk0zNDggMzE5LjhsLTEzLjIgMCAwIDM0LjdjLTI0LjUgMjMuMS01Ni4zIDM1LjgtODkuOSAzNS44LTczLjIgMC0xMzIuNC02MC4yLTEzMi40LTEzNC40IDAtNzQuMSA1OS4yLTEzNC40IDEzMi40LTEzNC40IDM1LjMgMCA2OC42IDE0IDkzLjYgMzkuNGw2Mi4zLTYzLjNjLTQxLjgtNDIuMy05Ny4xLTY1LjYtMTU2LjEtNjUuNi0xMjIuNyAwLTIyMC43IDEwMC42LTIyMC43IDIyNCAwIDEyMi41IDk3IDIyNCAyMjAuNyAyMjQgNjMuMiAwIDEyNC41LTI2LjIgMTcxLTgyLjUtMi0yNy42LTEzLjQtNzcuNy02Ny43LTc3Ljd6TTMzNS45IDIwNy4zbC0xMDYuMyAwIDAgODkgMTE4LjQgMGMzMy41IDAgNjAuNSAxNS4xIDc2IDQxLjhsMC0zMC42YzAtNjUuMi00MC40LTEwMC4yLTg4LjEtMTAwLjJ6Il19LFV6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJhdmlhdG8iLGljb246WzY0MCw1MTIsW10sImY0MjEiLCJNMTA3LjIgMjgzLjVsLTE5LTQxLjgtNTIuMSAwLTE5IDQxLjgtMTcuMSAwIDYyLjItMTMxLjQgNjIuMiAxMzEuNC0xNy4yIDB6bS00NS05OC4xbC0xOS42IDQyLjUgMzkuMiAwLTE5LjYtNDIuNXpNMTc0LjkgMjg3LjhsLTYyLjItMTMxLjQgMTcuMSAwIDQ1LjEgOTYgNDUuMS05NiAxNyAwLTYyLjEgMTMxLjR6bTgwLjYtNC4zbDAtMTI3LjEgMTUuNSAwIDAgMTI3LjEtMTUuNSAwek00NjQuNiAxNjcuOWwwIDExNS42LTE3LjMgMCAwLTExNS42LTQxLjIgMCAwLTExLjUgOTkuNiAwIDAgMTEuNS00MS4xIDB6TTY0MCAyMTguOGMwIDkuMi0xLjcgMTcuOC01LjEgMjUuOHMtOC4yIDE1LjEtMTQuMiAyMS4xLTEzLjEgMTAuOC0yMS4xIDE0LjItMTYuNiA1LjEtMjUuOCA1LjEtMTcuOC0xLjctMjUuOC01LjEtMTUuMS04LjItMjEuMS0xNC4yLTEwLjgtMTMtMTQuMi0yMS4xYy0zLjQtOC01LjEtMTYuNi01LjEtMjUuOHMxLjctMTcuOCA1LjEtMjUuOCA4LjItMTUuMSAxNC4yLTIxLjEgMTMtOC40IDIxLjEtMTEuOWM4LTMuNCAxNi42LTUuMSAyNS44LTUuMXMxNy44IDEuNyAyNS44IDUuMSAxNS4xIDUuOCAyMS4xIDExLjljNiA2IDEwLjcgMTMuMSAxNC4yIDIxLjEgMy40IDggNS4xIDE2LjYgNS4xIDI1Ljh6bS0xNS41IDBjMC03LjMtMS4zLTE0LTMuOS0yMC4zcy02LjItMTEuNy0xMC44LTE2LjMtMTAtOC4yLTE2LjItMTAuOS0xMi44LTQtMTkuOC00LTEzLjYgMS4zLTE5LjggNC0xMS42IDYuMy0xNi4yIDEwLjktOC4yIDEwLTEwLjggMTYuMy0zLjkgMTMuMS0zLjkgMjAuM2MwIDcuMyAxLjMgMTQgMy45IDIwLjNzNi4yIDExLjcgMTAuOCAxNi4zIDEwIDguMiAxNi4yIDEwLjkgMTIuOCA0IDE5LjggNCAxMy42LTEuMyAxOS44LTQgMTEuNi02LjMgMTYuMi0xMC45IDguMi0xMCAxMC44LTE2LjMgMy45LTEzLjEgMy45LTIwLjN6bS05NC44IDk2LjdsMC02LjMgODguOS0xMC0yNDIuOSAxMy40Yy42LTIuMiAxLjEtNC42IDEuNC03LjIgLjMtMiAuNS00LjIgLjYtNi41bDY0LjgtOC4xLTY0LjkgMS45YzAtLjQtLjEtLjctLjEtMS4xLTIuOC0xNy4yLTI1LjUtMjMuNy0yNS41LTIzLjdsLTEuMS0yNi4zIDIzLjggMCAxOSA0MS44IDE3LjEgMC02Mi4yLTEzMS40LTYyLjIgMTMxLjQgMTcuMSAwIDE5LTQxLjggMjMuNiAwLTEuMSAyNi40cy0yMi43IDYuNS0yNS41IDIzLjdjLS4xIC4zLS4xIC43LS4xIDEuMWwtNjQuOS0xLjkgNjQuOCA4LjFjLjEgMi4zIC4zIDQuNCAuNiA2LjUgLjMgMi42IC44IDUgMS40IDcuMmwtMjQyLjktMTMuNSA4OC45IDEwIDAgNi4zYy01LjkgLjktMTAuNSA2LTEwLjUgMTIuMiAwIDYuOCA1LjYgMTIuNCAxMi40IDEyLjRzMTIuNC01LjYgMTIuNC0xMi40YzAtNi4yLTQuNi0xMS4zLTEwLjUtMTIuMmwwLTUuOCA4MC4zIDkgMCA1LjRjLTUuNyAxLjEtOS45IDYuMi05LjkgMTIuMSAwIDYuOCA1LjYgMTAuMiAxMi40IDEwLjJzMTIuNC0zLjQgMTIuNC0xMC4yYzAtNi00LjMtMTEtOS45LTEyLjFsMC00LjkgMjguNCAzLjIgMCAyMy43LTUuOSAwIDAgMTMuOSA1LjkgMCAwLTYuNiA1IDAgMCA2LjYgNS45IDAgMC0xMy44LTUuOSAwIDAtMjMuMiAzOC4zIDQuM2M4LjEgMTEuNCAxOSAxMy42IDE5IDEzLjZsLS4xIDYuNy01LjEgLjItLjEgMTIuMSA0LjEgMCAuMS01IDUuMiAwIC4xIDUgNC4xIDAtLjEtMTIuMS01LjEtLjItLjEtNi43czEwLjktMi4xIDE5LTEzLjZsMzguMy00LjMgMCAyMy4yLTUuOSAwIDAgMTMuOCA1LjkgMCAwLTYuNiA1IDAgMCA2LjYgNS45IDAgMC0xMy44LTUuOSAwIDAtMjMuNyAyOC40LTMuMiAwIDQuOWMtNS43IDEuMS05LjkgNi4yLTkuOSAxMi4xIDAgNi44IDUuNiAxMC4yIDEyLjQgMTAuMnMxMi40LTMuNCAxMi40LTEwLjJjMC02LTQuMy0xMS05LjktMTIuMWwwLTUuNCA4MC4zLTkgMCA1LjhjLTUuOSAuOS0xMC41IDYtMTAuNSAxMi4yIDAgNi44IDUuNiAxMi40IDEyLjQgMTIuNHMxMi40LTUuNiAxMi40LTEyLjRjLS4yLTYuMy00LjctMTEuNC0xMC43LTEyLjN6TTMyOC45IDIyNy45bDE5LjYtNDIuNSAxOS42IDQyLjUtMTcuOSAwLTEuNy00MC4zLTEuNyA0MC4zLTE3LjkgMHoiXX0sV3p0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InBhZGxldCIsaWNvbjpbNjQwLDUxMixbXSwiZTRhMCIsIk0yOTcuOSAwbC4xIDBjNy42IC4xIDE0LjQgNC43IDE3LjUgMTEuOGwxMzIgMzA4LjUgLjMtLjEgLjIgLjQtMi44IDEwLTQyLjkgMTU4Yy0zLjcgMTYuMi0xOS43IDI2LjMtMzUuOCAyMi42bC02OC40LTE1LjYtNjguNSAxNS42Yy0xNi4xIDMuNy0zMi4xLTYuNC0zNS44LTIyLjZsLTQyLjktMTU4LTIuNy0xMCAuMS0uNCAxMzIuMS0zMDguNGMzLTcgOS45LTExLjYgMTcuNS0xMS44ek0xNjAuMSAzMjIuMWwxMzEgMzkuMSA2LjkgMTIyLjUgNy45LTEyMS41IDEzMC42LTM5LjMgLjItLjEtMTMxIDI1LjEtOC42LTMyMC4yLTUuMiAzMjAuMi0xMzEuOC0yNS44ek00MjYgMjIyLjZsOTQuNC00MSA3My44IDAtMTU3IDI0Ny42IDMxLjYtMTA5LTQyLjgtOTcuNnptMTcxLjUtNDEuMmw0MS40IDc2LjJjNCA3LjUtMy45IDE1LjktMTEuNiAxMi4ybC00Ny42LTIyLjcgMTcuOC02NS43ek0xMjcuMyAzMTguNUwxNTguNyA0MzAgMS42IDE1NC41Yy01LjktMTAuNCA1LjUtMjIgMTUuOS0xNi4ybDE1MS44IDg0LjItNDIuMSA5NnoiXX0sR3p0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImVkZ2UtbGVnYWN5IixpY29uOls0NDgsNTEyLFtdLCJlMDc4IiwiTS02IDIyOC4ybC40LS41YzAgLjIgMCAuMy0uMSAuNWwtLjMgMHptNDYwLjYgMTUuNWMwLTQ0LTcuOC04NC41LTI4LjgtMTIyLjQtNDEtNzMuNC0xMTMuNi0xMTMuMy0xOTguNi0xMTMuMy0xMzkuOS0uMy0yMTguMyAxMDUuMi0yMzIuOCAyMTkuNyA0Mi40LTYxLjMgMTE3LjEtMTIxLjQgMjIwLjQtMTI1IDAgMCAxMDkuNyAwIDk5LjQgMTA1bC0xNzUuOCAwYzYuNC0zNy40IDE4LjUtNTkgMzQuMy03OC45LTc1IDM0LjktMTIxLjggOTYuMS0xMjAuOCAxODguMyAuOCA3MS41IDUwLjEgMTQ0LjggMTIwLjggMTcyIDgzLjQgMzEuOCAxOTIuOCA3LjIgMjQwLjEtMjEuM2wwLTEwNC40Yy04MC45IDU2LjUtMjcwLjkgNjAuOS0yNzIuMy02Ny42bDMxNC4xIDAgMC01Mi4xeiJdfSxycGU9e3ByZWZpeDoiZmFiIixpY29uTmFtZToic3F1YXJlLWxhc3RmbSIsaWNvbjpbNDQ4LDUxMixbImxhc3RmbS1zcXVhcmUiXSwiZjIwMyIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMjEwLjcgMjgwLjhjLTEuOC01LjUtMy40LTEwLjgtNS0xNS45LTEyLjktNDEuOS0yMS02OC40LTU4LTY4LjQtMjIuNCAwLTQ1LjEgMTYuMS00NS4xIDYxLjIgMCAzNS4yIDE4IDU3LjIgNDMuMyA1Ny4yIDI4LjYgMCA0Ny42LTIxLjMgNDcuNi0yMS4zbDExLjcgMzEuOXMtMTkuOCAxOS40LTYxLjIgMTkuNGMtNTEuMyAwLTc5LjktMzAuMS03OS45LTg1LjggMC01Ny45IDI4LjYtOTIgODIuNS05MiA2Ny45IDAgNzkuMyAzNS4zIDk2LjQgODguNCAxLjQgNC40IDIuOSA4LjkgNC40IDEzLjUgOC44IDI2LjggMjQuMiA0Ni4yIDYxLjIgNDYuMiAyNC45IDAgMzguMS01LjUgMzguMS0xOS4xIDAtMTcuNS0xNi45LTIxLjItNDAtMjYuNC0zLjItLjctNi41LTEuNC05LjktMi4yLTMwLjQtNy4zLTQyLjUtMjMuMS00Mi41LTQ4IDAtNDAgMzIuMy01Mi40IDY1LjItNTIuNCAzNy40IDAgNjAuMSAxMy42IDYzIDQ2LjZsLTM2LjcgNC40Yy0xLjUtMTUuOC0xMS0yMi40LTI4LjYtMjIuNC0xNi4xIDAtMjYgNy4zLTI2IDE5LjggMCAxMSA0LjggMTcuNiAyMC45IDIxLjMgMi4yIC41IDQuNSAxIDYuNyAxLjQgMzEuMSA2LjUgNjUuMSAxMy43IDY1LjEgNTYuMSAuMSAzNi43LTMwLjcgNTAuNi03Ni4xIDUwLjYtNjMuNCAwLTg1LjQtMjguNi05Ny4xLTY0LjF6Il19LFl6dD1ycGUsS3p0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6Imdvb2RyZWFkcy1nIixpY29uOlszMjAsNTEyLFtdLCJmM2E5IiwiTTEwLjggNDAzLjNsMi44IDBjMTIuNyAwIDI1LjUgMCAzOC4yIC4xIDEuNiAwIDMuMS0uNCAzLjYgMi4xIDcuMSAzNC45IDMwIDU0LjYgNjIuOSA2My45IDI2LjkgNy42IDU0LjEgNy44IDgxLjMgMS44IDMzLjgtNy40IDU2LTI4LjMgNjgtNjAuNCA4LTIxLjUgMTAuNy00My44IDExLTY2LjUgLjEtNS44IC4zLTQ3LS4yLTUyLjhsLS45LS4zYy0uOCAxLjUtMS43IDIuOS0yLjUgNC40LTIyLjEgNDMuMS02MS4zIDY3LjQtMTA1LjQgNjkuMS0xMDMgNC0xNjkuNC01Ny0xNzItMTc2LjItLjUtMjMuNyAxLjgtNDYuOSA4LjMtNjkuNyAyMC42LTcxLjEgNzQuNi0xMTguMiAxNTMuOS0xMTguOCA2MS4zLS40IDEwMS41IDM4LjcgMTE2LjIgNzAuMyAuNSAxLjEgMS4zIDIuMyAyLjQgMS45bDAtNjEuNiA0NC4zIDBjMCAyODAuMyAuMSAzMzIuMiAuMSAzMzIuMi0uMSA3OC41LTI2LjcgMTQzLjctMTAzIDE2Mi4yLTY5LjUgMTYuOS0xNTkgNC44LTE5Ni01Ny4yLTgtMTMuNS0xMS44LTI4LjMtMTMtNDQuNXpNMTU3LjEgMzYuNWMtNTIuNS0uNS0xMDguNSA0MC43LTExNSAxMzMuOC00LjEgNTkgMTQuOCAxMjIuMiA3MS41IDE0OC42IDI3LjYgMTIuOSA3NC4zIDE1IDEwOC4zLTguNyA0Ny42LTMzLjIgNjIuNy05NyA1NC44LTE1NC05LjctNzEuMS00Ny44LTEyMC0xMTkuNi0xMTkuN3oiXX0sWnp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImNjLW1hc3RlcmNhcmQiLGljb246WzU3Niw1MTIsW10sImYxZjEiLCJNNDgyLjkgNDEwLjNjMCA2LjgtNC42IDExLjctMTEuMiAxMS43LTYuOCAwLTExLjItNS4yLTExLjItMTEuN3M0LjQtMTEuNyAxMS4yLTExLjdjNi42IDAgMTEuMiA1LjIgMTEuMiAxMS43ek0xNzIuMSAzOTguNmMtNy4xIDAtMTEuMiA1LjItMTEuMiAxMS43UzE2NSA0MjIgMTcyLjEgNDIyYzYuNSAwIDEwLjktNC45IDEwLjktMTEuNy0uMS02LjUtNC40LTExLjctMTAuOS0xMS43em0xMTcuNS0uM2MtNS40IDAtOC43IDMuNS05LjUgOC43bDE5LjEgMGMtLjktNS43LTQuNC04LjctOS42LTguN3ptMTA3LjggLjNjLTYuOCAwLTEwLjkgNS4yLTEwLjkgMTEuN3M0LjEgMTEuNyAxMC45IDExLjcgMTEuMi00LjkgMTEuMi0xMS43YzAtNi41LTQuNC0xMS43LTExLjItMTEuN3ptMTA1LjkgMjYuMWMwIC4zIC4zIC41IC4zIDEuMSAwIC4zLS4zIC41LS4zIDEuMS0uMyAuMy0uMyAuNS0uNSAuOC0uMyAuMy0uNSAuNS0xLjEgLjUtLjMgLjMtLjUgLjMtMS4xIC4zLS4zIDAtLjUgMC0xLjEtLjMtLjMgMC0uNS0uMy0uOC0uNS0uMy0uMy0uNS0uNS0uNS0uOC0uMy0uNS0uMy0uOC0uMy0xLjEgMC0uNSAwLS44IC4zLTEuMSAwLS41IC4zLS44IC41LTEuMSAuMy0uMyAuNS0uMyAuOC0uNSAuNS0uMyAuOC0uMyAxLjEtLjMgLjUgMCAuOCAwIDEuMSAuMyAuNSAuMyAuOCAuMyAxLjEgLjVzLjIgLjYgLjUgMS4xem0tMi4yIDEuNGMuNSAwIC41LS4zIC44LS4zIC4zLS4zIC4zLS41IC4zLS44czAtLjUtLjMtLjhjLS4zIDAtLjUtLjMtMS4xLS4zbC0xLjYgMCAwIDMuNSAuOCAwIDAtMS40IC4zIDAgMS4xIDEuNCAuOCAwLTEuMS0xLjN6TTU3NiA4MWwwIDM1MmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA0ODFjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODFDMCA1NC41IDIxLjUgMzMgNDggMzNsNDgwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDh6TTY0IDIyMC42YzAgNzYuNSA2Mi4xIDEzOC41IDEzOC41IDEzOC41IDI3LjIgMCA1My45LTguMiA3Ni41LTIzLjEtNzIuOS01OS4zLTcyLjQtMTcxLjIgMC0yMzAuNS0yMi42LTE1LTQ5LjMtMjMuMS03Ni41LTIzLjEtNzYuNC0uMS0xMzguNSA2Mi0xMzguNSAxMzguMnpNMjg4IDMyOS40YzcwLjUtNTUgNzAuMi0xNjIuMiAwLTIxNy41LTcwLjIgNTUuMy03MC41IDE2Mi42IDAgMjE3LjV6TTE0NS43IDQwNS43YzAtOC43LTUuNy0xNC40LTE0LjctMTQuNy00LjYgMC05LjUgMS40LTEyLjggNi41LTIuNC00LjEtNi41LTYuNS0xMi4yLTYuNS0zLjggMC03LjYgMS40LTEwLjYgNS40bDAtNC40LTguMiAwIDAgMzYuNyA4LjIgMGMwLTE4LjktMi41LTMwLjIgOS0zMC4yIDEwLjIgMCA4LjIgMTAuMiA4LjIgMzAuMmw3LjkgMGMwLTE4LjMtMi41LTMwLjIgOS0zMC4yIDEwLjIgMCA4LjIgMTAgOC4yIDMwLjJsOC4yIDAgMC0yMy0uMiAwek0xOTAuNiAzOTJsLTcuOSAwIDAgNC40Yy0yLjctMy4zLTYuNS01LjQtMTEuNy01LjQtMTAuMyAwLTE4LjIgOC4yLTE4LjIgMTkuMyAwIDExLjIgNy45IDE5LjMgMTguMiAxOS4zIDUuMiAwIDktMS45IDExLjctNS40bDAgNC42IDcuOSAwIDAtMzYuOHptNDAuNSAyNS42YzAtMTUtMjIuOS04LjItMjIuOS0xNS4yIDAtNS43IDExLjktNC44IDE4LjUtMS4xbDMuMy02LjVjLTkuNC02LjEtMzAuMi02LTMwLjIgOC4yIDAgMTQuMyAyMi45IDguMyAyMi45IDE1IDAgNi4zLTEzLjUgNS44LTIwLjcgLjhsLTMuNSA2LjNjMTEuMiA3LjYgMzIuNiA2IDMyLjYtNy41em0zNS40IDkuM2wtMi4yLTYuOGMtMy44IDIuMS0xMi4yIDQuNC0xMi4yLTQuMWwwLTE2LjYgMTMuMSAwIDAtNy40LTEzLjEgMCAwLTExLjItOC4yIDAgMCAxMS4yLTcuNiAwIDAgNy4zIDcuNiAwIDAgMTYuN2MwIDE3LjYgMTcuMyAxNC40IDIyLjYgMTAuOXptMTMuMy0xMy40bDI3LjUgMGMwLTE2LjItNy40LTIyLjYtMTcuNC0yMi42LTEwLjYgMC0xOC4yIDcuOS0xOC4yIDE5LjMgMCAyMC41IDIyLjYgMjMuOSAzMy44IDE0LjJsLTMuOC02Yy03LjggNi40LTE5LjYgNS44LTIxLjktNC45ek0zMzguOSAzOTJjLTQuNi0yLTExLjYtMS44LTE1LjIgNC40bDAtNC40LTguMiAwIDAgMzYuNyA4LjIgMCAwLTIwLjdjMC0xMS42IDkuNS0xMC4xIDEyLjgtOC40bDIuNC03LjZ6bTEwLjYgMTguM2MwLTExLjQgMTEuNi0xNS4xIDIwLjctOC40bDMuOC02LjVjLTExLjYtOS4xLTMyLjctNC4xLTMyLjcgMTUgMCAxOS44IDIyLjQgMjMuOCAzMi43IDE1bC0zLjgtNi41Yy05LjIgNi41LTIwLjcgMi42LTIwLjctOC42ek00MTYuMiAzOTJsLTguMiAwIDAgNC40Yy04LjMtMTEtMjkuOS00LjgtMjkuOSAxMy45IDAgMTkuMiAyMi40IDI0LjcgMjkuOSAxMy45bDAgNC42IDguMiAwIDAtMzYuOHptMzMuNyAwYy0yLjQtMS4yLTExLTIuOS0xNS4yIDQuNGwwLTQuNC03LjkgMCAwIDM2LjcgNy45IDAgMC0yMC43YzAtMTEgOS0xMC4zIDEyLjgtOC40bDIuNC03LjZ6bTQwLjMtMTQuOWwtNy45IDAgMCAxOS4zYy04LjItMTAuOS0yOS45LTUuMS0yOS45IDEzLjkgMCAxOS40IDIyLjUgMjQuNiAyOS45IDEzLjlsMCA0LjYgNy45IDAgMC01MS43em03LjYtNzUuMWwwIDQuNiAuOCAwIDAtNC42IDEuOSAwIDAtLjgtNC42IDAgMCAuOCAxLjkgMHptNi42IDEyMy44YzAtLjUgMC0xLjEtLjMtMS42LS4zLS4zLS41LS44LS44LTEuMXMtLjgtLjUtMS4xLS44Yy0uNSAwLTEuMS0uMy0xLjYtLjMtLjMgMC0uOCAuMy0xLjQgLjMtLjUgLjMtLjggLjUtMS4xIC44LS41IC4zLS44IC44LS44IDEuMS0uMyAuNS0uMyAxLjEtLjMgMS42IDAgLjMgMCAuOCAuMyAxLjQgMCAuMyAuMyAuOCAuOCAxLjEgLjMgLjMgLjUgLjUgMS4xIC44IC41IC4zIDEuMSAuMyAxLjQgLjMgLjUgMCAxLjEgMCAxLjYtLjMgLjMtLjMgLjgtLjUgMS4xLS44cy41LS44IC44LTEuMWMuMy0uNiAuMy0xLjEgLjMtMS40em0zLjItMTI0LjdsLTEuNCAwLTEuNiAzLjUtMS42LTMuNS0xLjQgMCAwIDUuNCAuOCAwIDAtNC4xIDEuNiAzLjUgMS4xIDAgMS40LTMuNSAwIDQuMSAxLjEgMCAwLTUuNHptNC40LTgwLjVjMC03Ni4yLTYyLjEtMTM4LjMtMTM4LjUtMTM4LjMtMjcuMiAwLTUzLjkgOC4yLTc2LjUgMjMuMSA3Mi4xIDU5LjMgNzMuMiAxNzEuNSAwIDIzMC41IDIyLjYgMTUgNDkuNSAyMy4xIDc2LjUgMjMuMSA3Ni40IC4xIDEzOC41LTYxLjkgMTM4LjUtMTM4LjR6Il19LFh6dD17cHJlZml4OiJmYWIiLGljb25OYW1lOiJkaXNjb3Vyc2UiLGljb246WzQ0OCw1MTIsW10sImYzOTMiLCJNMjI1LjkgMzJDMTAzLjMgMzIgMCAxMzAuNSAwIDI1Mi4xIDAgMjU2IC4xIDQ4MCAuMSA0ODBsMjI1LjgtLjJDMzQ4LjYgNDc5LjggNDQ4IDM3Ny41IDQ0OCAyNTUuOVMzNDguNiAzMiAyMjUuOSAzMnpNMjI0IDM4NGMtMTkuNCAwLTM3LjktNC4zLTU0LjQtMTIuMUw4OC41IDM5MiAxMTEuNCAzMTdjLTkuOC0xOC4xLTE1LjQtMzguOS0xNS40LTYxIDAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4czEyOCA1Ny4zIDEyOCAxMjgtNTcuMyAxMjgtMTI4IDEyOHoiXX0sUXp0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJsYWNrLXRpZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3ZSIsIk0wIDMybDAgNDQ4IDQ0OCAwIDAtNDQ4LTQ0OCAwek0zMTYuNSAzNTcuMmwtOTIuNSA4OC43LTkyLjUtODguNyA2NC41LTE4NC02NC41LTg2LjYgMTg0LjkgMC02NC40IDg2LjYgNjQuNSAxODR6Il19LHNwZT17cHJlZml4OiJmYWIiLGljb25OYW1lOiJzcXVhcmUtZmFjZWJvb2siLGljb246WzQ0OCw1MTIsWyJmYWNlYm9vay1zcXVhcmUiXSwiZjA4MiIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDk4LjIgMCAwLTE0NS44LTUyLjggMCAwLTc4LjIgNTIuOCAwIDAtMzMuN2MwLTg3LjEgMzkuNC0xMjcuNSAxMjUtMTI3LjUgMTYuMiAwIDQ0LjIgMy4yIDU1LjcgNi40bDAgNzAuOGMtNi0uNi0xNi41LTEtMjkuNi0xLTQyIDAtNTguMiAxNS45LTU4LjIgNTcuMmwwIDI3LjggODMuNiAwLTE0LjQgNzguMi02OS4zIDAgMCAxNDUuOCAxMjkgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnoiXX0sSnp0PXNwZSxlQ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToiYmF0dGxlLW5ldCIsaWNvbjpbNTEyLDUxMixbXSwiZjgzNSIsIk00NDguOCAyMjUuNmMyNi45IC4yIDM1LjYtNy40IDM4LjktMTIuNCAxMi41LTE2LjMtNy4xLTQ3LjYtNTIuOC03MS4zIDE3LjgtMzMuNiAzMC4xLTYzLjcgMzYuMy04NS4zIDMuNC0xMS44IDEuMS0xOSAuNS0yMC4zLTEuNyAxMC41LTE1LjggNDguNS00OC4yIDEwMC0yNS0xMS4yLTU2LjUtMjAuMS05My44LTIzLjgtOC45LTE2LjktMzQuOS02My45LTYwLjUtODguOS0xNi44LTE2LjUtMzAuMy0yMi42LTQwLjgtMjMuNWwwIDBjLTEzLjgtMS42LTIyLjcgNS44LTI3LjQgMTEtMTcuMiAxOC41LTI0LjMgNDguOS0yNSA4NC4xLTcuMi0xMi4zLTE3LjItMjQuNi0yOC41LTI1LjlsLS4yIDBjLTIwLjctMy41LTM4LjQgMjkuMi0zNiA4MS4zLTM4LjQgMS40LTcxIDUuOC05MyAxMS4yLTkuOSAyLjQtMTYuMiA3LjMtMTcuOCA5LjcgMS0uNCAyMi40LTkuMiAxMTEuNi05LjIgNS4yIDUzIDI5LjggMTAxLjggMjYgOTMuMi05LjcgMTUuNC0zOC4yIDYyLjQtNDcuMyA5Ny43LTUuOSAyMi45LTQuNCAzNy42IC4yIDQ3LjEgNS42IDEyLjggMTYuNCAxNi43IDIzLjIgMTguMyAyNSA1LjcgNTUuNC0zLjYgODYuNy0yMS4xLTcuNSAxMi44LTEzLjkgMjguNS05LjEgMzkuMyA3LjMgMTkuNiA0NC41IDE4LjcgODguNC05LjQgMjAuMiAzMi4yIDQwLjEgNTcuOSA1NS43IDc0LjEgMi42IDIuOCA1LjUgNS4yIDguOCA3LjEgNS4xIDMuMiA4LjYgMy40IDguNiAzLjQtOC4yLTYuNy0zNC0zOC02Mi41LTkxLjggMjIuMi0xNiA0NS43LTM4LjkgNjcuNS02OS4zIDEyMi44IDQuNiAxNDMuMy0yNC44IDE0OC0zMS42IDE0LjctMTkuOSAzLjQtNTcuNC01Ny4zLTkzLjd6TTM3MSAzMzEuOGMyMy44LTM3LjcgMzAuMy02Ny44IDI5LjQtOTIuMyAyNy45IDE3LjYgNDcuMiAzNy42IDQ5LjEgNTguOCAxLjEgMTIuOS04LjEgMjkuMS03OC41IDMzLjV6TTIxNy4xIDM4Ny43YzkuOC02LjIgMTkuNS0xMy4xIDI5LjItMjAuNSA2LjcgMTMuMyAxMy42IDI2LjEgMjAuNiAzOC4yLTQwLjYgMjEuOS02OC44IDEyLjgtNDkuOC0xNy43em0yMTUtMTcxLjNjLTEwLjMtNS4zLTIxLjItMTAuMy0zMi40LTE1IDcuOS0xMi4xIDE1LjUtMjQuNCAyMi43LTM2LjkgMzkuMSAyNC4xIDQ1LjkgNTMuMiA5LjYgNTEuOXpNMjc5LjQgMzk4Yy01LjUtMTEuNC0xMS0yMy41LTE2LjUtMzYuNCA0My4yIDEuMyA2Mi40LTE4LjcgNjMuMy0yMC40IDAgLjEtMjUgMTUuNi02Mi41IDEyLjIgMzAuNi0yNS42IDU5LjEtNTMuNyA4NS4xLTg0IDguNy0xMC4yIDE3LTIwLjYgMjQuOS0zMS4xLS40LS4zLTEuNS0zLTE2LjUtMTItNTEuNyA2MC4zLTEwMi4zIDk4LTEzMi44IDExNS45LTIwLjYtMTEuMi00MC44LTMxLjgtNTUuNy02MS41LTIwLTM5LjktMzAtODIuNC0zMS42LTExNi4xIDEyLjMgLjkgMjUuMyAyLjIgMzguOCAzLjktMjIuMyAzNi44LTE0LjQgNjMtMTMuNSA2NC4yIDAtLjEtMS0yOS4yIDIwLjEtNTkuNiA5IDUyLjUgMjQgMTAzLjggNDQuNyAxNTIuOCAuOS0uNCAxLjggLjkgMTguNy04LjItMjYuMy03NC41LTMzLjgtMTM4LjItMzQtMTczLjQgMjAtMTIuNCA0OC4yLTE5LjggODEuNi0xNy44IDQ0LjYgMi43IDg2LjQgMTUuMiAxMTYuMyAzMC43LTcuMSAxMC40LTE0LjkgMjEuMy0yMy4zIDMyLjUtMjAuNy0zNy43LTQ3LjMtNDMuOS00OC45LTQzLjcgLjEgMCAyNS45IDE0LjEgNDEuNSA0Ny4yLTM3LjUtMTMuOC03Ni4xLTI0LjQtMTE1LjMtMzEuNy0xMy4xLTIuNC0yNi4yLTQuNC0zOS40LTYtLjEgLjQtMS44IDEuOC0yLjIgMjAuMyA3Ny45IDE0LjUgMTM2LjYgMzkuOSAxNjcuMiA1Ny4yIC43IDIzLjYtNyA1MS42LTI1LjQgNzkuNi0yNC42IDM3LjMtNTYuNCA2Ny4yLTg0LjggODUuNHptMjcuNC0yODdjLTQ0LjYtMS43LTczLjYgNy40LTk0LjcgMjAuNyAyLTUyLjMgMjEuMy03Ni40IDM4LjItNzUuMyAxNi45LTQuMiA1NC45IDUyLjIgNTYuNSA1NC42em0tMTMwLjcgMy4xYy41IDEyLjEgMS42IDI0LjYgMy4yIDM3LjMtMTQuNi0uOS0yOC43LTEuMy00Mi40LTEuMy0uMSAzLjItLjEtNTEgMjQuNy00OS42bC4xIDBjNS44IDEuMSAxMC42IDYuOSAxNC40IDEzLjZ6bS0yOC4xIDE2MmMyMC44IDM5LjcgNDMuMyA2MC42IDY1LjMgNzIuMy00Ni44IDI0LjgtNzcuNSAyMC04NC45IDQuNS0uMi0uMi0xMS4xLTE1LjMgMTkuNy03Ni44bDAgMHoiXX0sdEN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6ImJpbW9iamVjdCIsaWNvbjpbNDQ4LDUxMixbXSwiZjM3OCIsIk00MTYgMzJMMzIgMzJDMTQuNCAzMiAwIDQ2LjQgMCA2NEwwIDQ0OGMwIDE3LjYgMTQuNCAzMiAzMiAzMmwzODQgMGMxNy42IDAgMzItMTQuNCAzMi0zMmwwLTM4NGMwLTE3LjYtMTQuNC0zMi0zMi0zMnpNMzUyIDI4OS40YzAgNDkuNC0xMS40IDgyLjYtMTAzLjggODIuNmwtMTYuOSAwYy00NC4xIDAtNjIuNC0xNC45LTcwLjQtMzguOGwtLjkgMCAwIDM0LjgtNjQgMCAwLTIzMiA2NCAwIDAgNzQuNyAxLjEgMGM0LjYtMzAuNSAzOS43LTM4LjggNjkuNy0zOC44bDE3LjMgMGM5Mi40IDAgMTAzLjggMzMuMSAxMDMuOCA4Mi41bDAgMzUgLjEgMHptLTY0LTI4LjlsMCAyMi45YzAgMjEuNy0zLjQgMzMuOC0zOC40IDMzLjhsLTQ1LjMgMGMtMjguOSAwLTQ0LjEtNi41LTQ0LjEtMzUuN2wwLTE5YzAtMjkuMyAxNS4yLTM1LjcgNDQuMS0zNS43bDQ1LjMgMGMzNS0uMiAzOC40IDEyIDM4LjQgMzMuN3oiXX0sYUN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InN2ZWx0ZSIsaWNvbjpbNDQ4LDUxMixbXSwiZTg2OCIsIk0yMDIuMSAyNi40YzY2LjgtNDIuNiAxNTkuMy0yMi43IDIwNi4xIDQ0LjMgMTEuMSAxNS41IDE5IDMzLjEgMjMuMiA1MS44czQuNyAzNy45IDEuMyA1Ni43Yy0zLjIgMTgtMTAuMSAzNS4xLTIwLjEgNTAuMyAxNC42IDI3LjkgMTkuNiA2MCAxNCA5MS0zLjMgMTguNC0xMC40IDM2LTIwLjkgNTEuNXMtMjQuMSAyOC43LTM5LjkgMzguN0wyNDguMyA0ODUuNmMtNjYuOCA0Mi42LTE1OS4zIDIyLjctMjA2LjEtNDQuMi0xMS4xLTE1LjUtMTktMzMuMi0yMy4yLTUxLjhzLTQuNy0zNy45LTEuMy01Ni43YzMuMi0xOCAxMC4xLTM1LjEgMjAuMS01MC4zLTE0LjctMjcuOS0xOS42LTYwLTE0LTkxLjEgMy4zLTE4LjQgMTAuNC0zNiAyMC45LTUxLjVzMjQuMS0yOC43IDM5LjktMzguN0wyMDIuMSAyNi40ek0zMTUuNiA2Ny4yYy0xNy45LTYuNi0zNy40LTcuNi01NS45LTIuOC04LjQgMi4zLTE2LjUgNS44LTIzLjggMTAuNUwxMTguNSAxNDkuN2MtOS41IDYtMTcuNyAxMy45LTI0IDIzLjNTODQgMTkyLjggODIgMjAzLjljLTIgMTEuMy0xLjcgMjIuOSAuOCAzNC4xczcuMyAyMS44IDEzLjkgMzEuMmMxMC45IDE1LjcgMjYuMyAyNy42IDQ0LjIgMzQuM3MzNy40IDcuNiA1NS45IDIuOGM4LjQtMi4zIDE2LjUtNS44IDIzLjgtMTAuNWw0NC44LTI4LjZjMi4yLTEuNCA0LjctMi41IDcuMi0zLjIgNS42LTEuNCAxMS40LTEuMiAxNi44IC44czEwIDUuNiAxMy4zIDEwLjNjMiAyLjggMy41IDYgNC4yIDkuNHMuOSA2LjkgLjMgMTAuM2MtLjYgMy4zLTEuOSA2LjUtMy44IDkuMy0xLjkgMi44LTQuNCA1LjItNy4yIDdMMTc4LjggMzg2LjFjLTIuMiAxLjQtNC43IDIuNS03LjIgMy4yLTUuNiAxLjQtMTEuNCAxLjItMTYuOC0uOHMtMTAtNS42LTEzLjMtMTAuM2MtMy42LTUuMS01LjMtMTEuMi00LjctMTcuNGwuNC00LjQtNC4zLTEuM2MtMTYuNS01LTMyLjEtMTIuNy00NS45LTIyLjlsLTYtNC40LTIuMiA2LjdjLTEuMiAzLjYtMi4xIDcuMy0yLjggMTEtMiAxMS4zLTEuNyAyMi45IC44IDM0LjFzNy4zIDIxLjggMTMuOSAzMS4xYzEwLjkgMTUuNyAyNi4zIDI3LjYgNDQuMiAzNC4zczM3LjQgNy42IDU1LjggMi44YzguNC0yLjMgMTYuNS01LjggMjMuOS0xMC41bDExNy4zLTc0LjhjOS41LTYgMTcuNy0xMy45IDI0LTIzLjNzMTAuNi0xOS45IDEyLjYtMzFjMi0xMS4zIDEuOC0yMi45LS44LTM0LjFzLTcuMy0yMS44LTE0LTMxLjFjLTEwLjktMTUuNy0yNi4zLTI3LjYtNDQuMi0zNC4zcy0zNy40LTcuNi01NS45LTIuOGMtOC40IDIuMy0xNi41IDUuOC0yMy44IDEwLjVMMTg1IDI0NC44Yy0yLjIgMS40LTQuNiAyLjUtNy4yIDMuMi01LjYgMS40LTExLjUgMS4yLTE2LjgtLjhzLTEwLTUuNi0xMy4zLTEwLjNjLTItMi44LTMuNC02LTQuMi05LjRzLS45LTYuOS0uMi0xMC4zYy42LTMuMyAxLjktNi41IDMuOC05LjNzNC40LTUuMiA3LjItN2wxMTcuNC03NC44YzIuMi0xLjQgNC43LTIuNSA3LjItMy4yIDUuNi0xLjQgMTEuNC0xLjEgMTYuOCAuOXMxMCA1LjYgMTMuMyAxMC4zYzMuNiA1LjEgNS4yIDExLjMgNC43IDE3LjRsLS40IDQuNCA0LjQgMS4zYzE2LjUgNSAzMiAxMi44IDQ1LjkgMjNsNiA0LjQgMi4yLTYuOGMxLjItMy42IDIuMS03LjMgMi44LTExIDItMTEuMyAxLjgtMjIuOS0uOC0zNC4xcy03LjMtMjEuOC0xNC0zMS4xYy0xMC45LTE1LjctMjYuMy0yNy42LTQ0LjItMzQuM3oiXX0sckN0PXtwcmVmaXg6ImZhYiIsaWNvbk5hbWU6InNxdWFyZS1kZXNrcHJvIixpY29uOls0NDgsNTEyLFtdLCJlODQ0IiwiTTQwOC44IDMyQzQzMC40IDMyIDQ0OCA0OS42IDQ0OCA3MS4ybDAgMzY5LjZjMCAyMS42LTE3LjYgMzkuMi0zOS4yIDM5LjJMMzkuMiA0ODBDMTcuNiA0ODAgMCA0NjIuNCAwIDQ0MC44TDAgNzEuMkMwIDQ5LjYgMTcuNiAzMiAzOS4yIDMybDM2OS42IDB6TTExMC45IDI3NC4xbDAgMTE0LjQgODkuMS0uMWMyMC42IDAgMzkuNC0zLjIgNTYuMy05LjVzMzEuMy0xNS40IDQzLjItMjdjMTIuMi0xMS45IDIxLjYtMjYgMjguMi00Mi4xIDQuNi0xMS4xIDcuNy0yMyA5LjItMzUuN2wtNDMuOCAwYy0xLjEgNi40LTIuOCAxMi40LTUuMSAxOC4yLTQuMiAxMC45LTEwLjMgMjAuMy0xOC4yIDI4LjItNy45IDcuNy0xNy40IDEzLjctMjguNiAxNy45LTExLjEgNC4zLTIzLjUgNi40LTM3LjMgNi40bC01MCAwIDAtNzAuNi00MyAuMXptMC0xNTEuNGwwIDExNC40IDQzLS4xIDAtNzAuNyA1MCAwYzEzLjcgMCAyNi4yIDIuMSAzNy4zIDYuNCAxMS4xIDQuMyAyMC42IDEwLjMgMjguNiAxOC4zIDcuOSA3LjcgMTQgMTcuMSAxOC4yIDI4LjIgMi4zIDUuNiA0IDExLjUgNS4xIDE3LjhsNDMuOSAuMWMtMS40LTEyLjYtNC40LTI0LjQtOC45LTM1LjMtNi42LTE2LjQtMTYtMzAuNS0yOC4xLTQyLjItMTIuMS0xMS45LTI2LjctMjEuMS00My42LTI3LjUtMTYuOS02LjQtMzUuNy05LjUtNTYuMy05LjVsLTg5IC4xeiJdfSxzQ3Q9e3ByZWZpeDoiZmFiIixpY29uTmFtZToidGFpbHdpbmQtY3NzIixpY29uOls2NDAsNTEyLFtdLCJlODY2IiwiTTMyMCA2NGMtODUuMyAwLTEzOC43IDQyLjctMTYwIDEyOCAzMi00Mi43IDY5LjMtNTguNyAxMTItNDggMjQuMyA2LjEgNDEuNyAyMy44IDYxIDQzLjMgMzEuNCAzMS44IDY3LjcgNjguNyAxNDcgNjguNyA4NS4zIDAgMTM4LjctNDIuNyAxNjAtMTI4LTMyIDQyLjctNjkuMyA1OC43LTExMiA0OC0yNC4zLTYuMS00MS43LTIzLjgtNjEtNDMuMy0zMS40LTMxLjgtNjcuNy02OC43LTE0Ny02OC43ek0xNjAgMjU2Yy04NS4zIDAtMTM4LjcgNDIuNy0xNjAgMTI4IDMyLTQyLjcgNjkuMy01OC43IDExMi00OCAyNC4zIDYuMSA0MS43IDIzLjggNjEgNDMuMyAzMS40IDMxLjggNjcuNyA2OC43IDE0NyA2OC43IDg1LjMgMCAxMzguNy00Mi43IDE2MC0xMjgtMzIgNDIuNy02OS4zIDU4LjctMTEyIDQ4LTI0LjMtNi4xLTQxLjctMjMuOC02MS00My4zLTMxLjQtMzEuOC02Ny43LTY4LjctMTQ3LTY4Ljd6Il19LHIkYT17ZmFTcXVhcmVHaXRodWI6enVlLGZhR2l0aHViU3F1YXJlOnRndCxmYVRoaW5rUGVha3M6YWd0LGZhR29vZ2xlRHJpdmU6cmd0LGZhQXV0b3ByZWZpeGVyOnNndCxmYVNxdWFyZVZpYWRlbzpDdWUsZmFWaWFkZW9TcXVhcmU6aWd0LGZhQ3BhbmVsOm9ndCxmYU1lbmRlbGV5Om5ndCxmYURyYWZ0MmRpZ2l0YWw6bGd0LGZhUmVwbHlkOmNndCxmYUVtcGlyZTpkZ3QsZmFBY2Nlc3NpYmxlSWNvbjp1Z3QsZmFRdW9yYTpwZ3QsZmFDY0pjYjpmZ3QsZmFGZWRvcmE6aGd0LGZhRHVvbGluZ286bWd0LGZhRmlyc3RkcmFmdDpnZ3QsZmFGcmVlYnNkOmJndCxmYU9keXNlZTp2Z3QsZmFHZ0NpcmNsZTp4Z3QsZmFDbG91ZGZsYXJlOnlndCxmYUhhY2tlcnJhbms6d2d0LGZhU2t5YXRsYXM6TWd0LGZhRGVza3BybzprZ3QsZmFSZXNvbHZpbmc6U2d0LGZhQmxhY2tiZXJyeTp6Z3QsZmFTdHJpcGVTOkNndCxmYVNxdWFyZUJlaGFuY2U6X3VlLGZhQmVoYW5jZVNxdWFyZTpfZ3QsZmFTZXJ2aWNlc3RhY2s6VGd0LGZhUm9ja2V0Y2hhdDpMZ3QsZmFSZWJlbDokZ3QsZmFTcXVhcmVXZWJBd2Vzb21lOkRndCxmYUxpbmt0cmVlOkFndCxmYVNpbXBseWJ1aWx0OkVndCxmYVN0dWJiZXI6UGd0LGZhQXBwZXI6SWd0LGZhR29vZ2xlU2Nob2xhcjpOZ3QsZmFZYXJuOlJndCxmYVN0YWNrT3ZlcmZsb3c6T2d0LGZhQmx1ZXRvb3RoOkZndCxmYUNyZWF0aXZlQ29tbW9uc05jSnA6Qmd0LGZhUmVkZGl0OkhndCxmYUNvbm5lY3RkZXZlbG9wOnFndCxmYVJlc2VhcmNoZ2F0ZTpWZ3QsZmFTaWduYWxNZXNzZW5nZXI6amd0LGZhWGluZzpVZ3QsZmFTcXVhcmVKczpUdWUsZmFKc1NxdWFyZTpXZ3QsZmFGb250aWNvbnM6R2d0LGZhVXBzOllndCxmYUFtYXpvblBheTpLZ3QsZmFQYW5kb3JhOlpndCxmYU9wZW5pZDpYZ3QsZmFWc2NvOlFndCxmYUdsb2JhbGVha3M6Smd0LGZhVmVubW86ZWJ0LGZhVWJ1bnR1OnRidCxmYVZpYWNvaW46YWJ0LGZhWmhpaHU6cmJ0LGZhWWFuZGV4OnNidCxmYVBpeGl2OmlidCxmYU9wZW5haTpvYnQsZmFTaXRoOm5idCxmYUp1bGlhOmxidCxmYU5mY0RpcmVjdGlvbmFsOmNidCxmYUNyZWF0aXZlQ29tbW9uc0J5OmRidCxmYVVtYnJhY286dWJ0LGZhSG9vbGk6cGJ0LGZhU3F1YXJlR2l0Okx1ZSxmYUdpdFNxdWFyZTpmYnQsZmFPZG5va2xhc3NuaWtpOmhidCxmYURydXBhbDptYnQsZmFCbG9nZ2VyQjpnYnQsZmFJbnZpc2lvbjpiYnQsZmFGYWNlYm9va0Y6dmJ0LGZhQ2VudG9zOnhidCxmYVNjYWxld2F5OnlidCxmYUNjQW1hem9uUGF5OndidCxmYUViYXk6TWJ0LGZhQ29udGFvOmtidCxmYUVsbG86U2J0LGZhU2lzdHJpeDp6YnQsZmFQZXJpc2NvcGU6Q2J0LGZhRXhwZWRpdGVkc3NsOl9idCxmYU5hcHN0ZXI6VGJ0LGZhRGVsaWNpb3VzOkxidCxmYUd1aWxkZWQ6JGJ0LGZhT2JzaWRpYW46RGJ0LGZhWGJveDpBYnQsZmFVbnRhcHBkOkVidCxmYUdvb2dsZVBsdXNHOlBidCxmYUdpdGh1YkFsdDpJYnQsZmFHZXRQb2NrZXQ6TmJ0LGZhR2xpZGU6UmJ0LGZhQml0eTpPYnQsZmFXcGV4cGxvcmVyOkZidCxmYU1lZ2Fwb3J0OkJidCxmYUxlZXRjb2RlOkhidCxmYU1kYjpxYnQsZmFQYWdlNDpWYnQsZmFUaGVSZWRZZXRpOmpidCxmYUppcmE6VWJ0LGZhRmVkZXg6V2J0LGZhRXZlcm5vdGU6R2J0LGZhVXNiOllidCxmYUFuZ3J5Y3JlYXRpdmU6S2J0LGZhTWl6dW5pOlpidCxmYUl0Y2hJbzpYYnQsZmFXaW5kb3dzOlFidCxmYVN0dW1ibGV1cG9uOkpidCxmYUdvb2dsZTpkZWUsZmFEaXNjb3JkOmV2dCxmYUhhY2tlck5ld3M6dHZ0LGZhRWxldmVudHk6JHVlLGZhMTF0eTphdnQsZmFUZWFtc3BlYWs6cnZ0LGZhU3VwcGxlOnN2dCxmYVNxdWFyZVR3aXR0ZXI6RHVlLGZhVHdpdHRlclNxdWFyZTppdnQsZmFWaW06b3Z0LGZhRm9udEF3ZXNvbWU6Y2VlLGZhRm9udEF3ZXNvbWVGbGFnOm52dCxmYUZvbnRBd2Vzb21lTG9nb0Z1bGw6bHZ0LGZhV2lyc2luZGhhbmR3ZXJrOkF1ZSxmYVdzaDpjdnQsZmFab29tOmR2dCxmYUNvbmZsdWVuY2U6dXZ0LGZhRGlnZzpwdnQsZmFUaHJlYWRzOmZ2dCxmYVdwcmVzc3I6RXVlLGZhUmVuZGFjdDpodnQsZmFZb2FzdDptdnQsZmFOaW1ibHI6Z3Z0LGZhUGl4ZWxmZWQ6YnZ0LGZhWWFob286dnZ0LGZhQmx1ZXNreTp4dnQsZmFTY3JpYmQ6eXZ0LGZhQ3JlYXRpdmVDb21tb25zUGQ6d3Z0LGZhRWFybHliaXJkczpNdnQsZmFTeW1mb255Y2FzdHM6a3Z0LGZhU3F1YXJlT2Rub2tsYXNzbmlraTpQdWUsZmFPZG5va2xhc3NuaWtpU3F1YXJlOlN2dCxmYU1hcmtkb3duOnp2dCxmYVR5cG8zOkN2dCxmYUpvb21sYTpfdnQsZmFXZWl4aW46VHZ0LGZhR3J1bnQ6THZ0LGZhU3VwcG9ydG5vdzokdnQsZmFSb2Nrcm1zOkR2dCxmYVVuc3BsYXNoOkF2dCxmYVNxdWFyZUluc3RhZ3JhbTpJdWUsZmFJbnN0YWdyYW1TcXVhcmU6RXZ0LGZhRmlyc3RPcmRlckFsdDpQdnQsZmFGdWxjcnVtOkl2dCxmYUFyY2hMaW51eDpOdnQsZmFGZWRpdmVyc2U6UnZ0LGZhQnJhdmVSZXZlcnNlOk92dCxmYUF2aWFuZXg6RnZ0LGZhTnM4OkJ2dCxmYVNxdWFyZVBpbnRlcmVzdDpOdWUsZmFQaW50ZXJlc3RTcXVhcmU6SHZ0LGZhQmx1ZXRvb3RoQjpxdnQsZmFHcmlwZmlyZTpWdnQsZmFTcXVhcmVHb29nbGVQbHVzOlJ1ZSxmYUdvb2dsZVBsdXNTcXVhcmU6anZ0LGZhR2l0ZWU6VXZ0LGZhWG1wcDpXdnQsZmFBcHBTdG9yZTpHdnQsZmFXaXg6WXZ0LGZhSW50ZXJjb206S3Z0LGZhUmVhY3RldXJvcGU6WnZ0LGZhV2F6ZTpYdnQsZmFDcmVhdGl2ZUNvbW1vbnNSZW1peDpRdnQsZmFCYW5kY2FtcDpKdnQsZmFTcXVhcmVXZWJBd2Vzb21lU3Ryb2tlOmV4dCxmYVZpbWVvVjp0eHQsZmFTdHJhdmE6YXh0LGZhVW5pcmVnaXN0cnk6cnh0LGZhQ2NEaW5lcnNDbHViOnN4dCxmYUt1YmVybmV0ZXM6aXh0LGZhUGludGVyZXN0Om94dCxmYUFsZ29saWE6bnh0LGZhU3RhY2twYXRoOmx4dCxmYU9jdG9wdXNEZXBsb3k6Y3h0LGZhWWFtbWVyOmR4dCxmYU1vZHg6dXh0LGZhU3F1YXJlVGhyZWFkczpweHQsZmFPbGRSZXB1YmxpYzpmeHQsZmFTdXNlOmh4dCxmYUFwcFN0b3JlSW9zOm14dCxmYVVsdHJhbHl0aWNzWW9sbzpneHQsZmFTcXVhcmVEcmliYmJsZTpPdWUsZmFEcmliYmJsZVNxdWFyZTpieHQsZmFVaWtpdDp2eHQsZmFTdXBlcnBvd2Vyczp4eHQsZmFZb3V0dWJlOnl4dCxmYUVtYmVyOnd4dCxmYUJvb3RzdHJhcDpNeHQsZmFJdHVuZXM6a3h0LGZhU3F1YXJlWGluZzpGdWUsZmFYaW5nU3F1YXJlOlN4dCxmYUNzczNBbHQ6enh0LGZhU3F1YXJlc3BhY2U6Q3h0LGZhVHJlbGxvOl94dCxmYVZpYWRlbzpUeHQsZmFTZWFyY2hlbmdpbjpMeHQsZmFVbnJlYWxFbmdpbmU6JHh0LGZhUGF5cGFsOkR4dCxmYVNxdWFyZUJsdWVza3k6QXh0LGZhREFuZERCZXlvbmQ6RXh0LGZhTWljcm9zb2Z0OlB4dCxmYUZseTpJeHQsZmFDY1N0cmlwZTpOeHQsZmFXb3JkcHJlc3NTaW1wbGU6Unh0LGZhU2VsbHN5Ok94dCxmYURhc2hjdWJlOkZ4dCxmYUdpdHRlcjpCeHQsZmFXb2xmUGFja0JhdHRhbGlvbjpIeHQsZmFMYXN0Zm06cXh0LGZhU2hvcHdhcmU6Vnh0LGZhQmxvZ2dlcjpqeHQsZmFFZGdlOlV4dCxmYUlveGhvc3Q6V3h0LGZhU2NobGl4Okd4dCxmYURBbmREOll4dCxmYVZ1ZWpzOkt4dCxmYU1ldGE6Wnh0LGZhQ3JlYXRpdmVDb21tb25zU2hhcmU6WHh0LGZhU3R1ZGlvdmluYXJpOlF4dCxmYUJpdGJ1Y2tldDpKeHQsZmFWazpleXQsZmFHaXRodWI6dHl0LGZhQ29kaWVwaWU6YXl0LGZhUGllZFBpcGVyOnJ5dCxmYVJhc3BiZXJyeVBpOnN5dCxmYUNzczM6aXl0LGZhSHVic3BvdDpveXQsZmFDbXBsaWQ6bnl0LGZhRHlhbG9nOmx5dCxmYUVsZW1lbnRvcjpjeXQsZmFGaXJzdE9yZGVyOmR5dCxmYURyaWJiYmxlOnV5dCxmYUxpbmtlZGluOnVlZSxmYUNjUGF5cGFsOnB5dCxmYURobDpmeXQsZmFUZXg6aHl0LGZhQ2xhdWRlOm15dCxmYVNob3BpZnk6Z3l0LGZhU3F1YXJlUmVkZGl0OkJ1ZSxmYVJlZGRpdFNxdWFyZTpieXQsZmFDcmVhdGl2ZUNvbW1vbnNOYzp2eXQsZmFHYWxhY3RpY1JlcHVibGljOnh5dCxmYUZhY2Vib29rOnBlZSxmYUdpdGxhYjp5eXQsZmFRcTp3eXQsZmFTdHJpcGU6TXl0LGZhRGFpbHltb3Rpb246a3l0LGZhU3RlYW06U3l0LGZhVmVubW9WOnp5dCxmYVNuYXBjaGF0Okh1ZSxmYVNuYXBjaGF0R2hvc3Q6Q3l0LGZhR2FsYWN0aWNTZW5hdGU6X3l0LGZhUGhvZW5peEZyYW1ld29yazpUeXQsZmFHaXQ6THl0LGZhT3B0aW5Nb25zdGVyOiR5dCxmYUplbmtpbnM6RHl0LGZhU2xpZGVzaGFyZTpBeXQsZmFVYmVyOkV5dCxmYURpZ2l0YWxPY2VhbjpQeXQsZmFTb3VuZGNsb3VkOkl5dCxmYVNxdWFyZUZpZ21hOk55dCxmYUNyZWF0aXZlQ29tbW9uc1NhOlJ5dCxmYUNocm9tZTpPeXQsZmFUcmFkZUZlZGVyYXRpb246Rnl0LGZhVmFhZGluOkJ5dCxmYURldmlhbnRhcnQ6SHl0LGZhTWVkaXVtOkRiLGZhTWVkaXVtTTpxeXQsZmFPcGVuY2FydDpWeXQsZmFZQ29tYmluYXRvcjpqeXQsZmFMaW5lOlV5dCxmYUFtaWxpYTpXeXQsZmFBc3ltbWV0cmlrOkd5dCxmYVBoYWJyaWNhdG9yOll5dCxmYUJvdHM6S3l0LGZhVmluZTpaeXQsZmFNZWRydDpYeXQsZmFPc2k6UXl0LGZhR2c6Snl0LGZhQnV5c2VsbGFkczpld3QsZmFHb29nbGVQbHVzOnR3dCxmYVNjcmVlbnBhbDphd3QsZmFCaXRjb2luOnJ3dCxmYVN3aWZ0OnN3dCxmYUZpbGVzUGlud2hlZWw6aXd0LGZhTGFyYXZlbDpvd3QsZmFXcGZvcm1zOm53dCxmYVNwZWFrZXJEZWNrOmx3dCxmYUZsaWNrcjpjd3QsZmFDY1Zpc2E6ZHd0LGZhVXB3b3JrOnV3dCxmYUtha2FvVGFsazpwd3QsZmFGbHV0dGVyOmZ3dCxmYUJ1ZmZlcjpod3QsZmFHcmF0aXBheTptd3QsZmFHb29nbGVQYXk6Z3d0LGZhQXBwbGU6Ynd0LGZhVHVtYmxyOnZ3dCxmYVBob2VuaXhTcXVhZHJvbjp4d3QsZmFDZW50ZXJjb2RlOnl3dCxmYURlYmlhbjp3d3QsZmFNYXN0b2RvbjpNd3QsZmFTa2V0Y2g6a3d0LGZhV2ViQXdlc29tZTpTd3QsZmFTYXNzOnp3dCxmYVRocmVlbWE6Q3d0LGZhU3F1YXJlV2hhdHNhcHA6cXVlLGZhV2hhdHNhcHBTcXVhcmU6X3d0LGZhU2t5cGU6VHd0LGZhQW5ndWxhcjpMd3QsZmFDaXJjbGVadWxpcDokd3QsZmFPcGVuc3VzZTpEd3QsZmFEcm9wYm94OkF3dCxmYURlZXplcjpFd3QsZmFDcmVhdGl2ZUNvbW1vbnNTYW1wbGluZzpQd3QsZmFKZWRpT3JkZXI6SXd0LGZhUlByb2plY3Q6Tnd0LGZhSW5zdGFsb2Q6Und0LGZhQ2FuYWRpYW5NYXBsZUxlYWY6T3d0LGZhRXRoZXJldW06Rnd0LGZhSG91eno6Qnd0LGZhVmliZXI6SHd0LGZhS2lja3N0YXJ0ZXI6VnVlLGZhU3F1YXJlS2lja3N0YXJ0ZXI6cXd0LGZhU3BvdGlmeTpWd3QsZmFMZWFucHViOmp3dCxmYUphdmE6VXd0LGZhTmZjU3ltYm9sOld3dCxmYVdvZHU6R3d0LGZhU3F1YXJlU3RlYW06anVlLGZhU3RlYW1TcXVhcmU6WXd0LGZhQ3JlYXRpdmVDb21tb25zTmNFdTpLd3QsZmFOcG06Wnd0LGZhQ2xvdWRzY2FsZTpYd3QsZmFUaGVtZWNvOlF3dCxmYUdvb2dsZVBsYXk6Snd0LGZhS29ydnVlOmVNdCxmYVczYzp0TXQsZmFHcmF2OmFNdCxmYUF3czpyTXQsZmFHbGlkZUc6c010LGZhSnNmaWRkbGU6aU10LGZhS2V5YmFzZTpvTXQsZmFMdW1vbkRyb3A6bk10LGZhRm9yZ2VqbzpsTXQsZmFQb3N0Z3Jlc3FsOmNNdCxmYVdlZWJseTpkTXQsZmFEb2NrZXI6dU10LGZhTWFnZW50bzpwTXQsZmFUb3JCcm93c2VyOmZNdCxmYUdpdEFsdDpoTXQsZmFGaXJlZm94QnJvd3NlcjptTXQsZmFDbG91ZHNtaXRoOmdNdCxmYVdpemFyZHNPZlRoZUNvYXN0OmJNdCxmYUNyZWF0aXZlQ29tbW9uc05kOnZNdCxmYVVzcHM6eE10LGZhU3F1YXJlTGV0dGVyYm94ZDp5TXQsZmFNYW5kYWxvcmlhbjp3TXQsZmFTbGFjazpVdWUsZmFTbGFja0hhc2g6ZmVlLGZhQW5nZWxsaXN0Ok1NdCxmYUFuZHJvaWQ6a010LGZhTWVldHVwOlNNdCxmYUZvbnRpY29uc0ZpOnpNdCxmYVBhbGZlZDpDTXQsZmFXcGJlZ2lubmVyOl9NdCxmYURpYXNwb3JhOlRNdCxmYVByb2R1Y3RIdW50OkxNdCxmYVNxdWFyZVVwd29yazokTXQsZmFDdXR0bGVmaXNoOkRNdCxmYU1lZGFwcHM6QU10LGZhUGl4OkVNdCxmYVNxdWFyZVR1bWJscjpXdWUsZmFUdW1ibHJTcXVhcmU6UE10LGZhUmVhY3Q6SU10LGZhSHVnZ2luZ0ZhY2U6Tk10LGZhSnhsOlJNdCxmYVNxdWFyZUxpbmtlZGluOk9NdCxmYUNzczpGTXQsZmFIYXNobm9kZTpCTXQsZmFSZWRkaXRBbGllbjpITXQsZmFUaWt0b2s6aGVlLGZhV29yZHByZXNzOnFNdCxmYUlkZWFsOlZNdCxmYVBpZWRQaXBlclBwOmpNdCxmYVVzc3VubmFoOlVNdCxmYUZvcnRBd2Vzb21lQWx0OldNdCxmYUJ1cm9tb2JlbGV4cGVydGU6R010LGZhQmlsaWJpbGk6WU10LGZhTmVvczpLTXQsZmFEZXY6Wk10LGZhSG90amFyOlhNdCxmYURvY2h1YjpRTXQsZmFWaW1lbzpKTXQsZmFNYXhjZG46ZWt0LGZhU3F1YXJlRm9udEF3ZXNvbWVTdHJva2U6R3VlLGZhRm9udEF3ZXNvbWVBbHQ6dGt0LGZhU3BlYWthcDpha3QsZmFGYW50YXN5RmxpZ2h0R2FtZXM6cmt0LGZhTGludXg6c2t0LGZhQ290dG9uQnVyZWF1OmlrdCxmYUdvb2dsZVdhbGxldDpva3QsZmFGb3Vyc3F1YXJlOm5rdCxmYVNoaXJ0c2luYnVsazpsa3QsZmFNaW50Yml0OmNrdCxmYVp1bGlwOmRrdCxmYVN0YXlsaW5rZWQ6dWt0LGZhV2ViZmxvdzpwa3QsZmFSZW5yZW46Zmt0LGZhS29GaTpoa3QsZmFSZXY6bWt0LGZhS2V5Y2RuOmdrdCxmYUhpcmVBSGVscGVyOmJrdCxmYVNxdWFyZUhhY2tlck5ld3M6WXVlLGZhSGFja2VyTmV3c1NxdWFyZTp2a3QsZmFDcmVhdGl2ZUNvbW1vbnNQZEFsdDp4a3QsZmFPcmNpZDp5a3QsZmFCb2FyZEdhbWVHZWVrOkt1ZSxmYUJnZzp3a3QsZmFCZWhhbmNlOk1rdCxmYU1vbmVybzpra3QsZmFGaWdtYTpTa3QsZmFJbnN0YWdyYW06bWVlLGZhUGVyYnl0ZTp6a3QsZmFTcXVhcmVWaW1lbzpadWUsZmFWaW1lb1NxdWFyZTpDa3QsZmFQdXNoZWQ6X2t0LGZhTWl4Y2xvdWQ6VGt0LGZhWWFuZGV4SW50ZXJuYXRpb25hbDpMa3QsZmFIaXZlOiRrdCxmYUNyZWF0aXZlQ29tbW9uc1plcm86RGt0LGZhU3F1YXJlU25hcGNoYXQ6WHVlLGZhU25hcGNoYXRTcXVhcmU6QWt0LGZhVGhlbWVpc2xlOkVrdCxmYURhcnRMYW5nOlBrdCxmYURlcGxveWRvZzpJa3QsZmFGbGlwYm9hcmQ6Tmt0LGZhQnV5TkxhcmdlOlJrdCxmYVdhdGNobWFuTW9uaXRvcmluZzpPa3QsZmFIaXBzOkZrdCxmYUNsb3VkdmVyc2lmeTpCa3QsZmFHb29kcmVhZHM6SGt0LGZhVGlkYWw6cWt0LGZhVW5pdHk6Vmt0LGZhVGVuY2VudFdlaWJvOmprdCxmYUZyZWVDb2RlQ2FtcDpVa3QsZmFYVHdpdHRlcjpXa3QsZmFTdGlja2VyTXVsZTpHa3QsZmFUd2l0Y2g6WWt0LGZhS2lja3N0YXJ0ZXJLOktrdCxmYUNyaXRpY2FsUm9sZTpaa3QsZmFTdGVhbVN5bWJvbDpYa3QsZmFNYWlsY2hpbXA6UWt0LGZhTHVtb246Smt0LGZhTnV0cml0aW9uaXg6ZVN0LGZhQ3JlYXRpdmVDb21tb25zU2FtcGxpbmdQbHVzOnRTdCxmYVJlZGhhdDphU3QsZmFTcXVhcmVQaWVkUGlwZXI6UXVlLGZhUGllZFBpcGVyU3F1YXJlOnJTdCxmYVdoYXRzYXBwOnNTdCxmYUltZGI6aVN0LGZhUHl0aG9uOm9TdCxmYUNhc2hBcHA6blN0LGZhUGludGVyZXN0UDpsU3QsZmFXaG1jczpjU3QsZmFKb2dldDpkU3QsZmFTcXVhcmVZb3V0dWJlOkp1ZSxmYVlvdXR1YmVTcXVhcmU6dVN0LGZhQXRsYXNzaWFuOnBTdCxmYVBpZWRQaXBlckhhdDpmU3QsZmFJbnRlcm5ldEV4cGxvcmVyOmhTdCxmYUFpcmJuYjptU3QsZmFKczpnU3QsZmFRdWluc2NhcGU6YlN0LGZhQWR2ZXJzYWw6dlN0LGZhQ3JlYXRpdmVDb21tb25zOnhTdCxmYU5vdGlvbjp5U3QsZmFDaHJvbWVjYXN0OndTdCxmYVVsdHJhbHl0aWNzSHViOk1TdCxmYVdpa2lwZWRpYVc6a1N0LGZhU2l0cm94OlNTdCxmYVNxdWFyZUdpdGxhYjplcGUsZmFHaXRsYWJTcXVhcmU6elN0LGZhU2hvZWxhY2U6Q1N0LGZhT3BlbnN0cmVldG1hcDpfU3QsZmFTZWxsY2FzdDpUU3QsZmFNaXg6TFN0LGZhQ2NBcHBsZVBheTokU3QsZmFTb2xhbmE6RFN0LGZhVHlwZXNjcmlwdDpBU3QsZmFCcmF2ZTpFU3QsZmFFdHN5OlBTdCxmYUJ0YzpJU3QsZmFBZG46TlN0LGZhU3F1YXJlWFR3aXR0ZXI6UlN0LGZhU3F1YXJlRm9udEF3ZXNvbWU6T1N0LGZhRm9ydW1iZWU6RlN0LGZhNDJHcm91cDp0cGUsZmFJbm5vc29mdDpCU3QsZmFTdHVtYmxldXBvbkNpcmNsZTpIU3QsZmFTeW1mb255OnFTdCxmYVNhbGVzZm9yY2U6VlN0LGZhU291cmNldHJlZTpqU3QsZmFMaW5rZWRpbkluOlVTdCxmYUh0bWw1OldTdCxmYVJ1c3Q6R1N0LGZhSG9ybmJpbGw6WVN0LGZhUGhwOktTdCxmYURpc3F1czpaU3QsZmE1MDBweDpYU3QsZmFBZmZpbGlhdGV0aGVtZTpRU3QsZmFSZWRSaXZlcjpKU3QsZmFUd2l0dGVyOmdlZSxmYUZvcnRBd2Vzb21lOmV6dCxmYU1peGVyOnR6dCxmYUx5ZnQ6YXp0LGZhQXBwbGVQYXk6cnp0LGZhQXJ0c3RhdGlvbjpzenQsZmFOb2RlSnM6aXp0LGZhVW5jaGFydGVkOm96dCxmYVBsYXlzdGF0aW9uOm56dCxmYU1pY3JvYmxvZzpsenQsZmFHaXRrcmFrZW46Y3p0LGZhVGVsZWdyYW06YXBlLGZhVGVsZWdyYW1QbGFuZTpkenQsZmFVbHRyYWx5dGljczp1enQsZmFJdHVuZXNOb3RlOnB6dCxmYUxlc3M6Znp0LGZhRmlyZWZveDpoenQsZmFLYWdnbGU6bXp0LGZhRmFjZWJvb2tNZXNzZW5nZXI6Z3p0LGZhQXVkaWJsZTpienQsZmFQYXRyZW9uOnZ6dCxmYVZudjp4enQsZmFQYWdlbGluZXM6eXp0LGZhQW1hem9uOnd6dCxmYUVudmlyYTpNenQsZmFMaW5vZGU6a3p0LGZhQWNjdXNvZnQ6U3p0LGZhRXJsYW5nOnp6dCxmYVVuaXNvbjpDenQsZmFDY0Rpc2NvdmVyOl96dCxmYVNhZmFyaTpUenQsZmFTcGFjZUF3ZXNvbWU6THp0LGZhTm9kZTokenQsZmFDb2RlcGVuOkR6dCxmYVJhdmVscnk6QXp0LGZhQWxpcGF5OkV6dCxmYUNjQW1leDpQenQsZmFQaWVkUGlwZXJBbHQ6SXp0LGZhTGV0dGVyYm94ZDpOenQsZmFPcGVyYTpSenQsZmFXZWlibzpPenQsZmFSZWFkbWU6Rnp0LGZhR29sYW5nOkJ6dCxmYVN0YWNrRXhjaGFuZ2U6SHp0LGZhR3VscDpxenQsZmFZZWxwOlZ6dCxmYUdvZm9yZTpqenQsZmFBdmlhdG86VXp0LGZhUGFkbGV0Old6dCxmYUVkZ2VMZWdhY3k6R3p0LGZhU3F1YXJlTGFzdGZtOnJwZSxmYUxhc3RmbVNxdWFyZTpZenQsZmFHb29kcmVhZHNHOkt6dCxmYUNjTWFzdGVyY2FyZDpaenQsZmFEaXNjb3Vyc2U6WHp0LGZhQmxhY2tUaWU6UXp0LGZhU3F1YXJlRmFjZWJvb2s6c3BlLGZhRmFjZWJvb2tTcXVhcmU6Snp0LGZhQmF0dGxlTmV0OmVDdCxmYUJpbW9iamVjdDp0Q3QsZmFTdmVsdGU6YUN0LGZhU3F1YXJlRGVza3BybzpyQ3QsZmFUYWlsd2luZENzczpzQ3R9fSk7dmFyIHMkYSxpcGUsb0N0LG5DdCxvcGUsbEN0LFBiLGNDdCxkQ3QsdUN0LHBDdCxucGUsZkN0LGhDdCxtQ3QsSWIsZ0N0LGxwZSxiQ3QsY3BlLHZDdCx4Q3QseUN0LHdDdCxkcGUsTUN0LHVwZSxrQ3QscHBlLFNDdCxmcGUsekN0LGhwZSxDQ3QsbXBlLF9DdCxncGUsVEN0LExDdCxicGUsJEN0LHZwZSxEQ3QseHBlLEFDdCx5cGUsRUN0LFBDdCx3cGUsSUN0LE1wZSxOQ3Qsa3BlLFJDdCxTcGUsT0N0LHpwZSxGQ3QsQkN0LEhDdCxiZWUscUN0LFZDdCxqQ3QsVUN0LFdDdCxHQ3QsWUN0LEtDdCx2ZWUsWkN0LFhDdCxDcGUsUUN0LEpDdCxlX3QsdF90LGFfdCxyX3Qsc190LGlfdCxfcGUsb190LG5fdCxsX3QsSzgsY190LGRfdCxUcGUsdV90LHBfdCxMcGUsZl90LHplZSxoX3QsbV90LHhlZSxnX3QsYl90LCRwZSx2X3QseF90LHlfdCxEcGUsd190LEFwZSxNX3QseWVlLGtfdCxTX3QsRXBlLHpfdCxQcGUsQ190LF9fdCxUX3QsSXBlLExfdCxOcGUsJF90LFJwZSxEX3QsT3BlLEFfdCxFX3QsUF90LElfdCxGcGUsTl90LFJfdCxCcGUsT190LEZfdCxIcGUsQl90LEhfdCxxcGUscV90LFZfdCxqX3QsQWIsVV90LFdfdCxHX3QsTmIsWV90LEtfdCxaX3QsVnBlLFhfdCxRX3QsanBlLEpfdCxVcGUsZVR0LEViLHRUdCxhVHQsclR0LFdwZSxzVHQsd2VlLGlUdCxvVHQsblR0LGxUdCxHcGUsY1R0LE1lZSxkVHQsdVR0LFlwZSxwVHQsS3BlLGZUdCxoVHQsWnBlLG1UdCxYcGUsZ1R0LGtlZSxiVHQsdlR0LHhUdCxSYix5VHQsd1R0LE1UdCxrVHQsUXBlLFNUdCxKcGUselR0LGVmZSxDVHQsdGZlLF9UdCxhZmUsVFR0LHJmZSxMVHQsU2VlLCRUdCxEVHQsQVR0LEVUdCxzZmUsUFR0LGlmZSxJVHQsb2ZlLE5UdCxuZmUsUlR0LE9UdCxGVHQsQlR0LEhUdCxxVHQsVlR0LGxmZSxqVHQsY2ZlLFVUdCxXVHQsZGZlLEdUdCx1ZmUsWVR0LHBmZSxLVHQsQ2VlLFpUdCxmZmUsWFR0LFFUdCxoZmUsSlR0LG1mZSxlTHQsdEx0LGFMdCxnZmUsckx0LHNMdCxiZmUsaUx0LG9MdCxuTHQsbEx0LHZmZSxjTHQseGZlLGRMdCx5ZmUsdUx0LHBMdCxmTHQsd2ZlLGhMdCxNZmUsbUx0LGtmZSxnTHQsYkx0LFNmZSx2THQsemZlLHhMdCx5THQsQ2ZlLHdMdCxNTHQsa0x0LGkkYSxTTHQ9ZigoKT0+e3MkYT0iZmFyIixpcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3F1YXJlLW1pbnVzIixpY29uOls0NDgsNTEyLFs2MTc2NywibWludXMtc3F1YXJlIl0sImYxNDYiLCJNNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIwYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MHpNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTEzNiAyMzJsMTc2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE3NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxvQ3Q9aXBlLG5DdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjYWxlbmRhci1jaGVjayIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3NCIsIk0zMjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDE2MCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTY0IDExMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjg4YzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yODhjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDExMnptMjMwLjcgNjUuOWM3LjgtMTAuNyAyMi44LTEzLjEgMzMuNS01LjMgMTAuNyA3LjggMTMuMSAyMi44IDUuMyAzMy41TDIxMS40IDM3NC4xYy00LjEgNS43LTEwLjUgOS4zLTE3LjUgOS44LTcgLjUtMTMuOS0yLTE4LjgtNi45bC01NS45LTU1LjljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwzNiAzNiAxMDUuNi0xNDUuMnoiXX0sb3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2Uta2lzcyIsaWNvbjpbNTEyLDUxMixbMTI4NTM1LCJraXNzIl0sImY1OTYiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0yNDAgMGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgMTIuMy00LjYgMjMuNS0xMi4yIDMyIDcuNiA4LjUgMTIuMiAxOS43IDEyLjIgMzIgMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0tOTYtNDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sbEN0PW9wZSxQYj17cHJlZml4OiJmYXIiLGljb25OYW1lOiJwYXN0ZSIsaWNvbjpbNTEyLDUxMixbImZpbGUtY2xpcGJvYXJkIl0sImYwZWEiLCJNNjQgNDhsMjI0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDggNDggMCAwLTQ4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDExMiAwIDAtNDgtMTEyIDBjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA2NGMwLTguOCA3LjItMTYgMTYtMTZ6bTE3NiA3MmMwLTEzLjMtMTAuNy0yNC0yNC0yNEwxMDQgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTA1LjYgMGM4LjgtOC42IDE5LTE1LjggMzAuMi0yMS4xIC4xLS45IC4yLTEuOSAuMi0yLjl6TTQ0OCA0NjRsLTE2MCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yMjRjMC04LjggNy4yLTE2IDE2LTE2bDEwMS41IDBjNC4yIDAgOC4zIDEuNyAxMS4zIDQuN2w1OC41IDU4LjVjMyAzIDQuNyA3LjEgNC43IDExLjNMNDY0IDQ0OGMwIDguOC03LjIgMTYtMTYgMTZ6TTIyNCAyMjRsMCAyMjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTYwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNjUuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM2wtNTguNS01OC41Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43TDI4OCAxNjBjLTM1LjMgMC02NCAyOC43LTY0IDY0eiJdfSxjQ3Q9UGIsZEN0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQtcG9pbnQtbGVmdCIsaWNvbjpbNTEyLDUxMixbXSwiZjBhNSIsIk02NCAxMjhsMTc3LjYgMGMtMSA1LjItMS42IDEwLjUtMS42IDE2bDAgMTYtMTc2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6bTIyNCAxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNCAwYzY2LjMgMCAxMjAgNTMuNyAxMjAgMTIwbDAgNDhjMCA1Mi41LTMzLjcgOTcuMS04MC43IDExMy40IC41LTMuMSAuNy02LjIgLjctOS40IDAtMjAtOS4yLTM3LjktMjMuNi00OS43IDQuOS05IDcuNi0xOS40IDcuNi0zMC4zIDAtMTUuMS01LjMtMjktMTQtNDAgOC44LTExIDE0LTI0LjkgMTQtNDBsMC00MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODB6bTMyLTgwbDAgMGMtMTggMC0zNC42IDYtNDggMTZMNjQgODBDMjguNyA4MCAwIDEwOC43IDAgMTQ0czI4LjcgNjQgNjQgNjRsODIgMGMtMS4zIDUuMS0yIDEwLjUtMiAxNiAwIDI1LjMgMTQuNyA0Ny4yIDM2IDU3LjYtMi42IDctNCAxNC41LTQgMjIuNCAwIDIwIDkuMiAzNy45IDIzLjYgNDkuNy00LjkgOS03LjYgMTkuNC03LjYgMzAuMyAwIDM1LjMgMjguNyA2NCA2NCA2NGw4OCAwYzkyLjggMCAxNjgtNzUuMiAxNjgtMTY4bDAtNDhjMC05Mi44LTc1LjItMTY4LTE2OC0xNjhsLTI0IDB6TTI1NiA0MDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNjQgMHpNMjQwIDIyNGMwIDUuNSAuNyAxMC45IDIgMTZsLTM0IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMzIgMCAwIDE2em0yNCA2NGw0MCAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC02NCAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDI0IDB6Il19LHVDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLWV4Y2VsIixpY29uOlszODQsNTEyLFtdLCJmMWMzIiwiTTY0IDQ4bDExMiAwIDAgODhjMCAzOS44IDMyLjIgNzIgNzIgNzJsODggMCAwIDI0MGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMNDggNjRjMC04LjggNy4yLTE2IDE2LTE2ek0yMjQgNjcuOWw5Mi4xIDkyLjEtNjguMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTY4LjF6TTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjYxLjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjQyLjcgMTguN0MyMzAuNyA2LjcgMjE0LjUgMCAxOTcuNSAwTDY0IDB6bTk5LjIgMjY1LjZjLTgtMTAuNi0yMy0xMi44LTMzLjYtNC44cy0xMi44IDIzLTQuOCAzMy42TDE2MiAzNDQgMTI0LjggMzkzLjZjLTggMTAuNi01LjggMjUuNiA0LjggMzMuNnMyNS42IDUuOCAzMy42LTQuOEwxOTIgMzg0IDIyMC44IDQyMi40YzggMTAuNiAyMyAxMi44IDMzLjYgNC44czEyLjgtMjMgNC44LTMzLjZMMjIyIDM0NCAyNTkuMiAyOTQuNGM4LTEwLjYgNS44LTI1LjYtNC44LTMzLjZzLTI1LjYtNS44LTMzLjYgNC44TDE5MiAzMDQgMTYzLjIgMjY1LjZ6Il19LHBDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJlbnZlbG9wZSIsaWNvbjpbNTEyLDUxMixbMTI4Mzg2LDk5OTMsNjE0NDNdLCJmMGUwIiwiTTYxLjQgNjRDMjcuNSA2NCAwIDkxLjUgMCAxMjUuNCAwIDEyNi4zIDAgMTI3LjEgLjEgMTI4TDAgMTI4IDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2LS4xIDBjMC0uOSAuMS0xLjcgLjEtMi42IDAtMzMuOS0yNy41LTYxLjQtNjEuNC02MS40TDYxLjQgNjR6TTQ2NCAxOTIuM0w0NjQgMzg0YzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0MDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE5MS43IDE1NC44IDExNy40YzMxLjQgMjMuOSA3NC45IDIzLjkgMTA2LjQgMEw0NjQgMTkyLjN6TTQ4IDEyNS40QzQ4IDExOCA1NCAxMTIgNjEuNCAxMTJsMzg5LjIgMGM3LjQgMCAxMy40IDYgMTMuNCAxMy40IDAgNC4yLTIgOC4yLTUuMyAxMC43TDI4MC4yIDI3MS41Yy0xNC4zIDEwLjgtMzQuMSAxMC44LTQ4LjQgMEw1My4zIDEzNi4xYy0zLjMtMi41LTUuMy02LjUtNS4zLTEwLjd6Il19LG5wZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzcXVhcmUtY2FyZXQtZG93biIsaWNvbjpbNDQ4LDUxMixbImNhcmV0LXNxdWFyZS1kb3duIl0sImYxNTAiLCJNMzg0IDQzMmM4LjggMCAxNi03LjIgMTYtMTZsMC0zMjBjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjBjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwem02NC0xNmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjB6TTIyNCAzNTJjLTYuNyAwLTEzLTIuOC0xNy42LTcuN2wtMTA0LTExMmMtNi41LTctOC4yLTE3LjItNC40LTI1LjlTMTEwLjUgMTkyIDEyMCAxOTJsMjA4IDBjOS41IDAgMTguMiA1LjcgMjIgMTQuNHMyLjEgMTguOS00LjQgMjUuOWwtMTA0IDExMmMtNC41IDQuOS0xMC45IDcuNy0xNy42IDcuN3oiXX0sZkN0PW5wZSxoQ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToidHJ1Y2siLGljb246WzU3Niw1MTIsWzEyODY2Niw5OTUxXSwiZjBkMSIsIk02NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjg4YzAgOC44IDcuMiAxNiAxNiAxNmwzLjMgMGMxMC40LTM2LjkgNDQuNC02NCA4NC43LTY0czc0LjIgMjcuMSA4NC43IDY0bDEwMi42IDBjNC45LTE3LjQgMTUuMS0zMi43IDI4LjctNDMuOUwzNjggOTZjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDgwem0zLjMgMzY4TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwyODggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyIDU1LjQgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN2w0MC42IDQwLjZjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0w1NzYgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0zLjMgMGMtMTAuNCAzNi45LTQ0LjQgNjQtODQuNyA2NHMtNzQuMi0yNy4xLTg0LjctNjRsLTEwMi42IDBjLTEwLjQgMzYuOS00NC40IDY0LTg0LjcgNjRzLTc0LjItMjcuMS04NC43LTY0ek00MTYgMjU2bDExMiAwIDAtMjMuNGMwLTQuMi0xLjctOC4zLTQuNy0xMS4zbC00MC42LTQwLjZjLTMtMy03LjEtNC43LTExLjMtNC43bC01NS40IDAgMCA4MHptMCA0OGwwIDMyLjRjMi42LS4yIDUuMy0uNCA4LS40IDQwLjMgMCA3NC4yIDI3LjEgODQuNyA2NGwzLjMgMGM4LjggMCAxNi03LjIgMTYtMTZsMC04MC0xMTIgMHpNMTUyIDQ2NGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6bTI3MiAwYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHoiXX0sbUN0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImJlbGwiLGljb246WzQ0OCw1MTIsWzEyODI3Niw2MTYwMl0sImYwZjMiLCJNMjI0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgOS43QzExOC42IDQ1LjMgNTYgMTE1LjQgNTYgMjAwbDAgMTQuNWMwIDM3LjctMTAgNzQuNy0yOSAxMDcuM0w1LjEgMzU5LjJDMS44IDM2NSAwIDM3MS41IDAgMzc4LjIgMCAzOTkuMSAxNi45IDQxNiAzNy44IDQxNmwzNzIuNCAwYzIwLjkgMCAzNy44LTE2LjkgMzcuOC0zNy44IDAtNi43LTEuOC0xMy4zLTUuMS0xOUw0MjEgMzIxLjdjLTE5LTMyLjYtMjktNjkuNi0yOS0xMDcuM2wwLTE0LjVjMC04NC42LTYyLjYtMTU0LjctMTQ0LTE2Ni4zbDAtOS43YzAtMTMuMy0xMC43LTI0LTI0LTI0ek0zOTIuNCAzNjhsLTMzNi45IDAgMTIuOS0yMi4xQzkxLjcgMzA2IDEwNCAyNjAuNiAxMDQgMjE0LjVsMC0xNC41YzAtNjYuMyA1My43LTEyMCAxMjAtMTIwczEyMCA1My43IDEyMCAxMjBsMCAxNC41YzAgNDYuMiAxMi4zIDkxLjUgMzUuNSAxMzEuNEwzOTIuNCAzNjh6TTE1Ni4xIDQ2NGM5LjkgMjggMzYuNiA0OCA2Ny45IDQ4czU4LTIwIDY3LjktNDhsLTEzNS44IDB6Il19LEliPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6Im1lc3NhZ2UiLGljb246WzUxMiw1MTIsWyJjb21tZW50LWFsdCJdLCJmMjdhIiwiTTIwMy43IDUxMi45czAgMCAwIDBsLTM3LjggMjYuN2MtNy4zIDUuMi0xNi45IDUuOC0yNC45IDEuN1MxMjggNTI5IDEyOCA1MjBsMC03Mi0zMiAwYy01MyAwLTk2LTQzLTk2LTk2TDAgMTI4QzAgNzUgNDMgMzIgOTYgMzJsMzIwIDBjNTMgMCA5NiA0MyA5NiA5NmwwIDIyNGMwIDUzLTQzIDk2LTk2IDk2bC0xMjAuNCAwLTkxLjkgNjQuOXptNjQuMy0xMDQuMWM4LjEtNS43IDE3LjgtOC44IDI3LjctOC44TDQxNiA0MDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhMOTYgODBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMjI0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDU2IDBjMTAuNCAwIDE5LjMgNi42IDIyLjYgMTUuOSAuOSAyLjUgMS40IDUuMiAxLjQgOC4xbDAgNDkuN2MzMi43LTIzLjEgNjMuMy00NC43IDkxLjktNjQuOXoiXX0sZ0N0PUliLGxwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWRpenp5IixpY29uOls1MTIsNTEyLFsiZGl6enkiXSwiZjU2NyIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6TTEzNC4xIDE1My45bDI1LjkgMjUuOSAyNS45LTI1LjljNy44LTcuOCAyMC41LTcuOCAyOC4zIDBzNy44IDIwLjUgMCAyOC4zbC0yNS45IDI1LjkgMjUuOSAyNS45YzcuOCA3LjggNy44IDIwLjUgMCAyOC4zcy0yMC41IDcuOC0yOC4zIDBsLTI1LjktMjUuOS0yNS45IDI1LjljLTcuOCA3LjgtMjAuNSA3LjgtMjguMyAwcy03LjgtMjAuNSAwLTI4LjNsMjUuOS0yNS45LTI1LjktMjUuOWMtNy44LTcuOC03LjgtMjAuNSAwLTI4LjNzMjAuNS03LjggMjguMyAwem0xOTIgMGwyNS45IDI1LjkgMjUuOS0yNS45YzcuOC03LjggMjAuNS03LjggMjguMyAwczcuOCAyMC41IDAgMjguM2wtMjUuOSAyNS45IDI1LjkgMjUuOWM3LjggNy44IDcuOCAyMC41IDAgMjguM3MtMjAuNSA3LjgtMjguMyAwbC0yNS45LTI1LjktMjUuOSAyNS45Yy03LjggNy44LTIwLjUgNy44LTI4LjMgMHMtNy44LTIwLjUgMC0yOC4zbDI1LjktMjUuOS0yNS45LTI1LjljLTcuOC03LjgtNy44LTIwLjUgMC0yOC4zczIwLjUtNy44IDI4LjMgMHpNMjU2IDI4OGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHoiXX0sYkN0PWxwZSxjcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2FsZW5kYXItZGF5cyIsaWNvbjpbNDQ4LDUxMixbImNhbGVuZGFyLWFsdCJdLCJmMDczIiwiTTEyMCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDAgMTYwIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMzg0IDQzMmM4LjggMCAxNi03LjIgMTYtMTZsMC02NC04OCAwIDAgODAgNzIgMHptMTYtMTI4bDAtODAtODggMCAwIDgwIDg4IDB6bS0xMzYgMGwwLTgwLTgwIDAgMCA4MCA4MCAwem0tMTI4IDBsMC04MC04OCAwIDAgODAgODggMHpNNDggMzUybDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2bDcyIDAgMC04MC04OCAwem0xMzYgMGwwIDgwIDgwIDAgMC04MC04MCAwek0xMjAgMTEybC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCA0OCAzNTIgMCAwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNmwtMjY0IDB6Il19LHZDdD1jcGUseEN0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQtcG9pbnQtdXAiLGljb246WzM4NCw1MTIsWzk3NTddLCJmMGE2IiwiTTY0IDY0bDAgMTc3LjZjNS4yLTEgMTAuNS0xLjYgMTYtMS42bDE2IDAgMC0xNzZjMC04LjgtNy4yLTE2LTE2LTE2UzY0IDU1LjIgNjQgNjR6TTgwIDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAyNGMwIDY2LjMgNTMuNyAxMjAgMTIwIDEyMGw0OCAwYzUyLjUgMCA5Ny4xLTMzLjcgMTEzLjQtODAuNy0zLjEgLjUtNi4yIC43LTkuNCAuNy0yMCAwLTM3LjktOS4yLTQ5LjctMjMuNi05IDQuOS0xOS40IDcuNi0zMC4zIDcuNi0xNS4xIDAtMjktNS4zLTQwLTE0LTExIDguOC0yNC45IDE0LTQwIDE0bC00MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDQwIDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTgwIDB6TTAgMzIwbDAgMGMwLTE4IDYtMzQuNiAxNi00OEwxNiA2NEMxNiAyOC43IDQ0LjcgMCA4MCAwczY0IDI4LjcgNjQgNjRsMCA4MmM1LjEtMS4zIDEwLjUtMiAxNi0yIDI1LjMgMCA0Ny4yIDE0LjcgNTcuNiAzNiA3LTIuNiAxNC41LTQgMjIuNC00IDIwIDAgMzcuOSA5LjIgNDkuNyAyMy42IDktNC45IDE5LjQtNy42IDMwLjMtNy42IDM1LjMgMCA2NCAyOC43IDY0IDY0bDAgODhjMCA5Mi44LTc1LjIgMTY4LTE2OCAxNjhsLTQ4IDBDNzUuMiA1MTIgMCA0MzYuOCAwIDM0NGwwLTI0em0zMzYtNjRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjR6TTE2MCAyNDBjNS41IDAgMTAuOSAuNyAxNiAybDAtMzRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAzMiAxNiAwem02NCAyNGwwIDQwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDI0eiJdfSx5Q3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1saXphcmQiLGljb246WzUxMiw1MTIsW10sImYyNTgiLCJNNzIgMTEyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE2OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0bC0xMDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNTIgMGM0LjUgMCA4LjkgMS4zIDEyLjcgMy42bDY0IDQwYzcgNC40IDExLjMgMTIuMSAxMS4zIDIwLjRsMCAyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTEwLjctNDYuOS0yOS4zLTE0NS4xIDBjLTM5LjggMC03Mi0zMi4yLTcyLTcyczMyLjItNzIgNzItNzJsMTA0IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZMNzIgMjA4Yy0zOS44IDAtNzItMzIuMi03Mi03MlMzMi4yIDY0IDcyIDY0bDIwOS42IDBjNDYuNyAwIDkwLjkgMjEuNSAxMTkuNyA1OC4zbDc4LjQgMTAwLjFjMjAuOSAyNi43IDMyLjMgNTkuNyAzMi4zIDkzLjdMNTEyIDQyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTEwNy45YzAtMjMuMi03LjgtNDUuOC0yMi4xLTY0LjFMMzYzLjUgMTUxLjljLTE5LjctMjUuMi00OS45LTM5LjktODEuOS0zOS45TDcyIDExMnoiXX0sd0N0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNxdWFyZS1mdWxsIixpY29uOls1MTIsNTEyLFsxMjg5OTcsMTI4OTk4LDEyODk5OSwxMjllMywxMjkwMDEsMTI5MDAyLDEyOTAwMywxMTAzNSwxMTAzNl0sImY0NWMiLCJNNDQ4IDQ4YzguOCAwIDE2IDcuMiAxNiAxNmwwIDM4NGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMNDggNjRjMC04LjggNy4yLTE2IDE2LTE2bDM4NCAwek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAweiJdfSxkcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLXBhdXNlIixpY29uOls1MTIsNTEyLFs2MjA5MiwicGF1c2UtY2lyY2xlIl0sImYyOGIiLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDEgMCA0MTYgMjA4IDIwOCAwIDEgMSAwLTQxNnptMCA0NjRhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMjQgMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTQ0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNDR6bTExMiAwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTQ0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNDR6Il19LE1DdD1kcGUsdXBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhcmQtZHJpdmUiLGljb246WzQ0OCw1MTIsWzEyODQzNiwiaGRkIl0sImYwYTAiLCJNNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2MmM1LjEtMS4zIDEwLjUtMiAxNi0ybDMyMCAwYzUuNSAwIDEwLjkgLjcgMTYgMmwwLTE2MmMwLTguOC03LjItMTYtMTYtMTZMNjQgODB6TTQ4IDMyMGwwIDk2YzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC05NmMwLTguOC03LjItMTYtMTYtMTZMNjQgMzA0Yy04LjggMC0xNiA3LjItMTYgMTZ6TTAgMzIwTDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTk2em0yMTYgNDhhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTIwLTI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHoiXX0sa0N0PXVwZSxwcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZS16aXBwZXIiLGljb246WzM4NCw1MTIsWyJmaWxlLWFyY2hpdmUiXSwiZjFjNiIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwek04MCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTY0IDU2bC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDhsMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnptLTE2IDY0YTE2IDE2IDAgMSAxIDAgMzIgMTYgMTYgMCAxIDEgMC0zMnoiXX0sU0N0PXBwZSxmcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmxvcHB5LWRpc2siLGljb246WzQ0OCw1MTIsWzEyODE5MCwxMjg0MjYsInNhdmUiXSwiZjBjNyIsIk02NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzIwYzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNDIuN2MwLTQuMi0xLjctOC4zLTQuNy0xMS4zTDMyMCA4Ni42IDMyMCAxNzZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2LTMyIDB6bTgwIDBsMCA4MCAxMjggMCAwLTgwLTEyOCAwek0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDI0Mi43IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMNDI5LjMgMTI4YzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMNDQ4IDQxNmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTE2MCAzMjBhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAweiJdfSx6Q3Q9ZnBlLGhwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4tdG9uZ3VlLXNxdWludCIsaWNvbjpbNTEyLDUxMixbMTI4NTQxLCJncmluLXRvbmd1ZS1zcXVpbnQiXSwiZjU4YSIsIk00NjQgMjU2YzAtMTE0LjktOTMuMS0yMDgtMjA4LTIwOFM0OCAxNDEuMSA0OCAyNTZjMCA3NS45IDQwLjcgMTQyLjQgMTAxLjUgMTc4LjctMy42LTEwLjktNS41LTIyLjYtNS41LTM0LjdsMC0zNy41Yy0xMC4yLTEyLjYtMTguMy0yNi45LTIzLjgtNDIuNC00LjEtMTEuNiA3LjgtMjEuNCAxOS42LTE3LjggMzQuNyAxMC42IDc0LjIgMTYuNSAxMTYuMSAxNi41IDQyIDAgODEuNS02IDExNi4zLTE2LjYgMTEuOC0zLjYgMjMuNyA2LjEgMTkuNiAxNy44LTUuNSAxNS42LTEzLjYgMjkuOS0yMy44IDQyLjVsMCAzNy41YzAgMTIuMS0xLjkgMjMuOC01LjUgMzQuNyA2MC44LTM2LjMgMTAxLjUtMTAyLjcgMTAxLjUtMTc4Ljd6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTEyNS44LTc1LjdjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjFzMTMuMy05LjIgMjAuNi01LjVsNzkuNiA0MGM1LjQgMi43IDguOCA4LjIgOC44IDE0LjNzLTMuNCAxMS42LTguOCAxNC4zbC03OS42IDQwYy03LjMgMy42LTE2LjEgMS4zLTIwLjYtNS41cy0zLjEtMTUuOSAzLjEtMjEuMUwxNTkgMjA4IDEyNS44IDE4MC4zem0yNjMuNi0yMS4xYzQuNSA2LjggMy4xIDE1LjktMy4xIDIxLjFMMzUzIDIwOCAzODYuMiAyMzUuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXpNMzIwIDQxNmwwLTM3LjRjMC0xNC43LTExLjktMjYuNi0yNi42LTI2LjZsLTIgMGMtMTEuMyAwLTIxLjEgNy45LTIzLjYgMTguOS0yLjggMTIuNi0yMC44IDEyLjYtMjMuNiAwLTIuNS0xMS4xLTEyLjMtMTguOS0yMy42LTE4LjlsLTIgMGMtMTQuNyAwLTI2LjYgMTEuOS0yNi42IDI2LjZsMCAzNy40YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6Il19LENDdD1ocGUsbXBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNhbWVyYSIsaWNvbjpbNTEyLDUxMixbNjIyNTgsImNhbWVyYS1hbHQiXSwiZjAzMCIsIk0xOTMuMSAzMmMtMTguNyAwLTM2LjIgOS40LTQ2LjYgMjQuOUwxMjAuNSA5NiA2NCA5NkMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTU2LjUgMC0yNi0zOS4xQzM1NS4xIDQxLjQgMzM3LjYgMzIgMzE4LjkgMzJMMTkzLjEgMzJ6bS02LjcgNTEuNmMxLjUtMi4yIDQtMy42IDYuNy0zLjZsMTI1LjcgMGMyLjcgMCA1LjIgMS4zIDYuNyAzLjZsMzMuMiA0OS44YzQuNSA2LjcgMTEuOSAxMC43IDIwIDEwLjdsNjkuMyAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDI1NmMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDMyYy04LjggMC0xNi03LjItMTYtMTZsMC0yNTZjMC04LjggNy4yLTE2IDE2LTE2bDY5LjMgMGM4IDAgMTUuNS00IDIwLTEwLjdsMzMuMi00OS44ek0yNTYgMzg0YTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHpNMTkyIDI3MmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6Il19LF9DdD1tcGUsZ3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1zdGFycyIsaWNvbjpbNTEyLDUxMixbMTI5MzIxLCJncmluLXN0YXJzIl0sImY1ODciLCJNMCAyNTZjMC0yOS42IDUtNTcuOSAxNC4yLTg0LjRsMTcuMyAxNi45LTQuNiAyN2MtNC4yIDI0LjQgNS42IDQ2LjIgMjIgNTkuOSA5LjggMTA1LjggOTguOCAxODguNyAyMDcuMSAxODguN3MxOTcuNC04Mi44IDIwNy4xLTE4OC42YzE2LjQtMTMuNyAyNi4xLTM1LjQgMjItNTkuOWwtNC42LTI3IDE3LjMtMTYuOWM5LjIgMjYuNCAxNC4yIDU0LjggMTQuMiA4NC40IDAgMTQxLjQtMTE0LjYgMjU2LTI1NiAyNTZTMCAzOTcuNCAwIDI1NnpNMjU2IDQ4Yy0xNS4yIDAtMzAgMS42LTQ0LjMgNC43TDIwMS40IDMxLjhDMTk3IDIzIDE5MS4xIDE1LjggMTg0LjIgMTAuMiAyMDcgMy42IDIzMS4xIDAgMjU2IDBzNDkgMy42IDcxLjggMTAuMkMzMjAuOSAxNS44IDMxNSAyMyAzMTAuNiAzMS44TDMwMC4zIDUyLjdDMjg2IDQ5LjYgMjcxLjIgNDggMjU2IDQ4ek0zNzIuMiAzMDIuM2MxMS44LTMuNiAyMy43IDYuMSAxOS42IDE3LjgtMTkuOCA1NS45LTczLjEgOTYtMTM1LjggOTYtNjIuNyAwLTExNi00MC0xMzUuOC05NS45LTQuMS0xMS42IDcuOC0yMS40IDE5LjYtMTcuOCAzNC43IDEwLjYgNzQuMiAxNi41IDExNi4xIDE2LjUgNDIgMCA4MS41LTYgMTE2LjMtMTYuNnpNMzUzLjcgNTMuMWM1LjktMTEuOSAyMi44LTExLjkgMjguNyAwbDIzLjMgNDcuMiA1MiA3LjZjMTMuMSAxLjkgMTguNCAxOCA4LjkgMjcuM2wtMzcuNyAzNi43IDguOSA1MS44YzIuMiAxMy4xLTExLjUgMjMtMjMuMiAxNi45TDM2OCAyMTYgMzIxLjUgMjQwLjVjLTExLjcgNi4yLTI1LjUtMy44LTIzLjItMTYuOWw4LjktNTEuOC0zNy43LTM2LjdjLTkuNS05LjMtNC4zLTI1LjQgOC45LTI3LjNsNTItNy42IDIzLjMtNDcuMnptLTE5NS4zIDBsMjMuMyA0Ny4yIDUyIDcuNmMxMy4xIDEuOSAxOC40IDE4IDguOSAyNy4zbC0zNy43IDM2LjcgOC45IDUxLjhjMi4yIDEzLjEtMTEuNSAyMy0yMy4yIDE2LjlMMTQ0IDIxNiA5Ny41IDI0MC41Yy0xMS43IDYuMi0yNS41LTMuOC0yMy4yLTE2LjlsOC45LTUxLjgtMzcuNy0zNi43Yy05LjUtOS4zLTQuMy0yNS40IDguOS0yNy4zbDUyLTcuNiAyMy4zLTQ3LjJjNS45LTExLjkgMjIuOC0xMS45IDI4LjcgMHoiXX0sVEN0PWdwZSxMQ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZXllIixpY29uOls1NzYsNTEyLFsxMjgwNjVdLCJmMDZlIiwiTTI4OCA4MEMyMjIuOCA4MCAxNjkuMiAxMDkuNiAxMjguMSAxNDcuNyA4OS42IDE4My41IDYzIDIyNiA0OS40IDI1NiA2MyAyODYgODkuNiAzMjguNSAxMjguMSAzNjQuMyAxNjkuMiA0MDIuNCAyMjIuOCA0MzIgMjg4IDQzMnMxMTguOC0yOS42IDE1OS45LTY3LjdDNDg2LjQgMzI4LjUgNTEzIDI4NiA1MjYuNiAyNTYgNTEzIDIyNiA0ODYuNCAxODMuNSA0NDcuOSAxNDcuNyA0MDYuOCAxMDkuNiAzNTMuMiA4MCAyODggODB6TTk1LjQgMTEyLjZDMTQyLjUgNjguOCAyMDcuMiAzMiAyODggMzJzMTQ1LjUgMzYuOCAxOTIuNiA4MC42YzQ2LjggNDMuNSA3OC4xIDk1LjQgOTMgMTMxLjEgMy4zIDcuOSAzLjMgMTYuNyAwIDI0LjYtMTQuOSAzNS43LTQ2LjIgODcuNy05MyAxMzEuMS00Ny4xIDQzLjctMTExLjggODAuNi0xOTIuNiA4MC42UzE0Mi41IDQ0My4yIDk1LjQgMzk5LjRjLTQ2LjgtNDMuNS03OC4xLTk1LjQtOTMtMTMxLjEtMy4zLTcuOS0zLjMtMTYuNyAwLTI0LjYgMTQuOS0zNS43IDQ2LjItODcuNyA5My0xMzEuMXpNMjg4IDMzNmM0NC4yIDAgODAtMzUuOCA4MC04MCAwLTI5LjYtMTYuMS01NS41LTQwLTY5LjMtMS40IDU5LjctNDkuNiAxMDcuOS0xMDkuMyAxMDkuMyAxMy44IDIzLjkgMzkuNyA0MCA2OS4zIDQwem0tNzkuNi04OC40YzIuNSAuMyA1IC40IDcuNiAuNCAzNS4zIDAgNjQtMjguNyA2NC02NCAwLTIuNi0uMi01LjEtLjQtNy42LTM3LjQgMy45LTY3LjIgMzMuNy03MS4xIDcxLjF6bTQ1LjYtMTE1YzEwLjgtMyAyMi4yLTQuNSAzMy45LTQuNSA4LjggMCAxNy41IC45IDI1LjggMi42IC4zIC4xIC41IC4xIC44IC4yIDU3LjkgMTIuMiAxMDEuNCA2My43IDEwMS40IDEyNS4yIDAgNzAuNy01Ny4zIDEyOC0xMjggMTI4LTYxLjYgMC0xMTMtNDMuNS0xMjUuMi0xMDEuNC0xLjgtOC42LTIuOC0xNy41LTIuOC0yNi42IDAtMTEgMS40LTIxLjggNC0zMiAuMi0uNyAuMy0xLjMgLjUtMS45IDExLjktNDMuNCA0Ni4xLTc3LjYgODkuNS04OS41eiJdfSxicGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1zYWQtdGVhciIsaWNvbjpbNTEyLDUxMixbMTI4NTQ2LCJzYWQtdGVhciJdLCJmNWI0IiwiTTQ2NCAyNTZjMC0xMTQuOS05My4xLTIwOC0yMDgtMjA4UzQ4IDE0MS4xIDQ4IDI1NmMwIDQxLjggMTIuMyA4MC43IDMzLjYgMTEzLjMgOC4yIDQ0LjcgNDcuMyA3OC42IDk0LjMgNzguNyAyNC43IDEwLjMgNTEuNyAxNiA4MC4xIDE2IDExNC45IDAgMjA4LTkzLjEgMjA4LTIwOHpNMjg4IDM1MmMtNS41IDAtMTAuOSAuNi0xNiAxLjggMC0uNiAwLTEuMiAwLTEuOCAwLTE2LjItNC0zMS41LTExLjEtNDQuOSA4LjctMiAxNy44LTMuMSAyNy4xLTMuMSA0MC4yIDAgNzUuNyAxOS44IDk3LjUgNTAgNy43IDEwLjggNS4zIDI1LjgtNS41IDMzLjVzLTI1LjggNS4zLTMzLjUtNS41Yy0xMy4xLTE4LjItMzQuNC0zMC01OC41LTMwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0xNzYtODBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNMTg1LjQgMjc2LjhjNi41IDcuOCAxMi42IDE2LjEgMTguMyAyNC42IDkgMTMuNCAyMC4zIDMwLjIgMjAuMyA0Ny40IDAgMjguMy0yMS41IDUxLjItNDggNTEuMnMtNDgtMjIuOS00OC01MS4yYzAtMTcuMiAxMS4yLTM0IDIwLjMtNDcuNCA1LjctOC41IDExLjktMTYuNyAxOC4zLTI0LjYgMi40LTIuOSA1LjctNC44IDkuNC00LjhzNyAxLjkgOS40IDQuOHoiXX0sJEN0PWJwZSx2cGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic2hhcmUtZnJvbS1zcXVhcmUiLGljb246WzU3Niw1MTIsWzYxNTA5LCJzaGFyZS1zcXVhcmUiXSwiZjE0ZCIsIk00MjUuNSA3Yy02LjktNi45LTE3LjItOC45LTI2LjItNS4yUzM4NC41IDE0LjMgMzg0LjUgMjRsMCA1Ni00OCAwYy04OC40IDAtMTYwIDcxLjYtMTYwIDE2MCAwIDQ2LjcgMjAuNyA4MC40IDQzLjYgMTAzLjQgOC4xIDguMiAxNi41IDE0LjkgMjQuMyAyMC40IDkuMiA2LjUgMjEuNyA1LjcgMzAuMS0xLjlzMTAuMi0yMCA0LjUtMjkuOGMtMy42LTYuMy02LjUtMTQuOS02LjUtMjYuNyAwLTM2LjIgMjkuMy02NS41IDY1LjUtNjUuNWw0Ni41IDAgMCA1NmMwIDkuNyA1LjggMTguNSAxNC44IDIyLjJzMTkuMyAxLjcgMjYuMi01LjJsMTM2LTEzNmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOUw0MjUuNSA3em03IDk3bDAtMjIuMSA3OC4xIDc4LjEtNzguMSA3OC4xIDAtMjIuMWMwLTEzLjMtMTAuNy0yNC0yNC0yNEwzMzggMTkyYy01MC45IDAtOTMuOSAzMy41LTEwOC4zIDc5LjYtMy4zLTkuNC01LjItMTkuOC01LjItMzEuNiAwLTYxLjkgNTAuMS0xMTIgMTEyLTExMmw3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0em0tMzIwLThjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMjU2YzAgNDQuMiAzNS44IDgwIDgwIDgwbDI1NiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyNGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDI0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI0IDB6Il19LERDdD12cGUseHBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6Im5vdGUtc3RpY2t5IixpY29uOls0NDgsNTEyLFs2MjAyNiwic3RpY2t5LW5vdGUiXSwiZjI0OSIsIk0yNDAgNDMyTDY0IDQzMmMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDk2YzAtOC44IDcuMi0xNiAxNi0xNmwzMjAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNzYtODggMGMtMzkuOCAwLTcyIDMyLjItNzIgNzJsMCA4OHpNMzgwLjEgMzIwTDI4OCA0MTIuMSAyODggMzQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDY4LjEgMHpNMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTk3LjUgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN0w0MjkuMyAzMzguN2MxMi0xMiAxOC43LTI4LjMgMTguNy00NS4zTDQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2eiJdfSxBQ3Q9eHBlLHlwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLWJhY2stZmlzdCIsaWNvbjpbMzg0LDUxMixbImhhbmQtcm9jayJdLCJmMjU1IiwiTTk2IDQwMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDk2IDQwMHpNNzMuMiAzNTJsNjQuNiAwLTc5LjUtODguM0M1MS43IDI1Ni4zIDQ4IDI0Ni44IDQ4IDIzNi45TDQ4IDIwNGMwLTE2LjEgMTEuOS0yOS41IDI3LjQtMzEuNyAxMS44LTEuNyAyMC42LTExLjggMjAuNi0yMy44TDk2IDcyYzAtMTMuMyAxMC43LTI0IDI0LTI0IDcuMiAwIDEzLjYgMy4xIDE4IDguMSA0LjYgNS4yIDExLjEgOC4xIDE4IDguMXMxMy40LTMgMTgtOC4xYzQuNC01IDEwLjgtOC4xIDE4LTguMSA4LjUgMCAxNS45IDQuNCAyMC4yIDExLjEgNi45IDEwLjcgMjAuOSAxNC4yIDMyIDggMy41LTEuOSA3LjQtMy4xIDExLjgtMy4xIDEwLjYgMCAxOS43IDYuOSAyMi44IDE2LjYgMy44IDExLjcgMTUuOSAxOC43IDI4IDE2IDEuNy0uNCAzLjQtLjYgNS4yLS42IDEzLjMgMCAyNCAxMC43IDI0IDI0bDAgOTIuMmMwIDE0LjQtMy41IDI4LjUtMTAuMiA0MS4ybC01Mi4yIDk4LjYgNTQuMyAwIDQwLjMtNzYuMmMxMC40LTE5LjYgMTUuOC00MS41IDE1LjgtNjMuNmwwLTkyLjJjMC0zOC40LTMwLjEtNjkuOC02OC4xLTcxLjktMTIuOS0xOS4zLTM0LjktMzIuMS01OS45LTMyLjEtNS43IDAtMTEuMiAuNy0xNi41IDEuOS0xMi43LTExLjEtMjkuMy0xNy45LTQ3LjUtMTcuOS0xMy4xIDAtMjUuNCAzLjUtMzYgOS42LTEwLjYtNi4xLTIyLjktOS42LTM2LTkuNi0zOS44IDAtNzIgMzIuMi03MiA3MmwwIDU4LjdDMTkuNyAxNDMgMCAxNzEuMiAwIDIwNGwwIDMyLjljMCAyMS43IDggNDIuNyAyMi42IDU4LjlMNzMuMiAzNTJ6Il19LEVDdD15cGUsUEN0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNoZXNzLXF1ZWVuIixpY29uOls1MTIsNTEyLFs5ODE5XSwiZjQ0NSIsIk0zMjUuMyA5MC44YzkuMS00LjggMjAuNi0zLjMgMjguMiA0LjNsMzkuOCAzOS44IDMuNyAzLjNjOS4xIDcuMSAyMC45IDEwIDMyLjQgNy43bDQ2LjQtOS4zIDMuNS0uNGM4LS40IDE1LjggMy4yIDIwLjYgOS44IDUuNSA3LjYgNi4xIDE3LjYgMS42IDI1LjhsLTExMi42IDIwMi42IDUxLjUgNzAuOSAxLjggMi43YzQgNi42IDYuMiAxNC4yIDYuMiAyMiAwIDIzLjMtMTguOSA0Mi4xLTQyLjEgNDIuMWwtMjk5LjggMGMtMjEuOCAwLTM5LjgtMTYuNi00MS45LTM3LjhsLS4yLTQuMyAuMS0zLjNjLjYtNy43IDMuNC0xNS4xIDcuOS0yMS40bDUxLjUtNzAuOS0xMTIuNS0yMDIuNmMtNC41LTguMi0zLjktMTguMyAxLjYtMjUuOHMxNC45LTExLjIgMjQuMS05LjRsNDYuNCA5LjNjMTMuMSAyLjYgMjYuNy0xLjUgMzYuMS0xMC45TDE1OS41IDk1IDE2MyA5Mi4yYzguNi01LjggMjAuMS01LjYgMjguNSAxLjFsNDAgMzIgMi44IDIuMWMxNC40IDkuNiAzMy41IDguOSA0Ny4yLTIuMWw0MC0zMiAzLjgtMi41ek0xNjQuNyA0MDBsLTQ2LjYgNjQgMjc2LjcgMC00Ni42LTY0LTE4My42IDB6TTMxMS41IDE2Mi44Yy0zMC4xIDI0LjEtNzIuMSAyNS42LTEwMy44IDQuNWwtNi4yLTQuNS0yMy4zLTE4LjYtMjQuNiAyNC42Yy0xOS44IDE5LjgtNDcuNyAyOC45LTc1LjEgMjQuOGw4OC4xIDE1OC41IDE3OS44IDAgODgtMTU4LjVjLTI1LjcgMy44LTUxLjctMy45LTcxLjEtMjFsLTQtMy43LTI0LjYtMjQuNi0yMy4yIDE4LjZ6TTI1Ni41IDcyYTQwIDQwIDAgMSAxIDAtODAgNDAgNDAgMCAxIDEgMCA4MHoiXX0sd3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi10ZWFycyIsaWNvbjpbNjQwLDUxMixbMTI4NTE0LCJncmluLXRlYXJzIl0sImY1ODgiLCJNNTA0LjEgMzUzQzUxMi45IDM2Ny4yIDUyNS4zIDM3OSA1MzkuOCAzODcuMiA0OTUuMSA0NjIgNDEzLjQgNTEyIDMyMCA1MTJTMTQ0LjkgNDYyIDEwMC4yIDM4Ny4yYzE0LjYtOC4yIDI2LjktMjAgMzUuOC0zNC4zIDM0LjkgNjYgMTA0LjIgMTExIDE4NC4xIDExMXMxNDkuMi00NSAxODQuMS0xMTF6bTE2LjQtMTUyLjVDNDk2LjIgMTEyLjYgNDE1LjcgNDggMzIwIDQ4UzE0My44IDExMi42IDExOS41IDIwMC41Yy0xMC42LTQuOC0yMi43LTYuOC0zNS40LTVsLTEzLjQgMS45Qzk3LjIgODQuMyAxOTguOCAwIDMyMCAwUzU0Mi44IDg0LjMgNTY5LjMgMTk3LjRsLTEzLjQtMS45Yy0xMi43LTEuOC0yNC44IC4yLTM1LjQgNXpNNDU1LjggMzIwYy0xOS44IDU1LjktNzMuMSA5Ni0xMzUuOCA5Ni02Mi43IDAtMTE2LTQwLTEzNS44LTk1LjktNC4xLTExLjYgNy44LTIxLjQgMTkuNi0xNy44IDM0LjcgMTAuNiA3NC4yIDE2LjUgMTE2LjEgMTYuNSA0MiAwIDgxLjUtNiAxMTYuMy0xNi42IDExLjgtMy42IDIzLjcgNi4xIDE5LjYgMTcuOHpNMjEyIDIwOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4em0xODgtMjhjLTE1LjUgMC0yOCAxMi41LTI4IDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjh6TTY0MCAzMDAuNmMwIDI4LjQtMjMgNTEuNC01MS40IDUxLjQtMjUuNiAwLTQ3LjMtMTguOC01MC45LTQ0LjFMNTMxIDI2MS4xYy0xLjUtMTAuNiA3LjUtMTkuNiAxOC4xLTE4LjFsNDYuNyA2LjdjMjUuMyAzLjYgNDQuMSAyNS4zIDQ0LjEgNTAuOXptLTY0MCAwYzAtMjUuNiAxOC44LTQ3LjMgNDQuMS01MC45TDkwLjkgMjQzYzEwLjYtMS41IDE5LjYgNy41IDE4LjEgMTguMWwtNi43IDQ2LjdDOTguNyAzMzMuMiA3NyAzNTIgNTEuNCAzNTIgMjMgMzUyIDAgMzI5IDAgMzAwLjZ6Il19LElDdD13cGUsTXBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InBlbi10by1zcXVhcmUiLGljb246WzUxMiw1MTIsWyJlZGl0Il0sImYwNDQiLCJNNDQxIDU4LjlMNDUzLjEgNzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlMNDI0IDEzNC4xIDM3Ny45IDg4IDQwNyA1OC45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwek0yMDkuOCAyNTYuMkwzNDQgMTIxLjkgMzkwLjEgMTY4IDI1NS44IDMwMi4yYy0yLjkgMi45LTYuNSA1LTEwLjQgNi4xbC01OC41IDE2LjcgMTYuNy01OC41YzEuMS0zLjkgMy4yLTcuNSA2LjEtMTAuNHpNMzczLjEgMjVMMTc1LjggMjIyLjJjLTguNyA4LjctMTUgMTkuNC0xOC4zIDMxLjFsLTI4LjYgMTAwYy0yLjQgOC40LS4xIDE3LjQgNi4xIDIzLjZzMTUuMiA4LjUgMjMuNiA2LjFsMTAwLTI4LjZjMTEuOC0zLjQgMjIuNS05LjcgMzEuMS0xOC4zTDQ4NyAxMzguOWMyOC4xLTI4LjEgMjguMS03My43IDAtMTAxLjhMNDc0LjkgMjVDNDQ2LjgtMy4xIDQwMS4yLTMuMSAzNzMuMSAyNXpNODggNjRDMzkuNCA2NCAwIDEwMy40IDAgMTUyTDAgNDI0YzAgNDguNiAzOS40IDg4IDg4IDg4bDI3MiAwYzQ4LjYgMCA4OC0zOS40IDg4LTg4bDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTEyYzAgMjIuMS0xNy45IDQwLTQwIDQwTDg4IDQ2NGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC0yNzJjMC0yMi4xIDE3LjktNDAgNDAtNDBsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMODggNjR6Il19LE5DdD1NcGUsa3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1iZWFtLXN3ZWF0IixpY29uOls1NzYsNTEyLFsxMjg1MTcsImdyaW4tYmVhbS1zd2VhdCJdLCJmNTgzIiwiTTUzMC4yIDE1LjljLTguOC0xMC43LTE4LjUtMjAuOS0yOS0zMC0zLTIuNi03LjQtMi42LTEwLjQgMC0xMC41IDkuMS0yMC4xIDE5LjMtMjkgMzAtMTQuNyAxNy44LTI5LjggNDAuMS0yOS44IDY0LjEgMCAzNi40IDI3LjYgNjQgNjQgNjRzNjQtMjcuNiA2NC02NGMwLTI0LTE1LjItNDYuMy0yOS44LTY0LjF6bS0xMzIgOC45QzM2NC44IDguOSAzMjcuNCAwIDI4OCAwIDE0Ni42IDAgMzIgMTE0LjYgMzIgMjU2UzE0Ni42IDUxMiAyODggNTEyIDU0NCAzOTcuNCA1NDQgMjU2YzAtMjQuNC0zLjQtNDgtOS44LTcwLjQtMTEuOSA0LjItMjQuNyA2LjQtMzguMiA2LjQtMy40IDAtNi44LS4xLTEwLjItLjQgNi42IDIwLjMgMTAuMiA0MS45IDEwLjIgNjQuNCAwIDExNC45LTkzLjEgMjA4LTIwOCAyMDhTODAgMzcwLjkgODAgMjU2IDE3My4xIDQ4IDI4OCA0OGMzNC44IDAgNjcuNSA4LjUgOTYuMyAyMy42IDEuNC0xNy40IDYuOS0zMy4xIDEzLjgtNDYuOHpNNDIzLjggMzIwYzQuMS0xMS42LTcuOC0yMS40LTE5LjYtMTcuOC0zNC44IDEwLjYtNzQuMyAxNi42LTExNi4zIDE2LjYtNDEuOSAwLTgxLjQtNi0xMTYuMS0xNi41LTExLjgtMy42LTIzLjcgNi4xLTE5LjYgMTcuOCAxOS44IDU1LjkgNzMuMSA5NS45IDEzNS44IDk1LjkgNjIuNyAwIDExNi00MC4xIDEzNS44LTk2ek0xODAgMjA4YzAtMTUuNSAxMi41LTI4IDI4LTI4czI4IDEyLjUgMjggMjhsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOGMwLTM3LjYtMzAuNC02OC02OC02OHMtNjggMzAuNC02OCA2OGwwIDhjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC04em0xODgtMjhjMTUuNSAwIDI4IDEyLjUgMjggMjhsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOGMwLTM3LjYtMzAuNC02OC02OC02OHMtNjggMzAuNC02OCA2OGwwIDhjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC04YzAtMTUuNSAxMi41LTI4IDI4LTI4eiJdfSxSQ3Q9a3BlLFNwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjbG9jayIsaWNvbjpbNTEyLDUxMixbMTI4MzM5LCJjbG9jay1mb3VyIl0sImYwMTciLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAxIC00MTYgMCAyMDggMjA4IDAgMSAxIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwIDI1NiAyNTYgMCAxIDAgLTUxMiAwek0yMzIgMTIwbDAgMTM2YzAgOCA0IDE1LjUgMTAuNyAyMGw5NiA2NGMxMSA3LjQgMjUuOSA0LjQgMzMuMy02LjdzNC40LTI1LjktNi43LTMzLjNMMjgwIDI0My4yIDI4MCAxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6Il19LE9DdD1TcGUsenBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtbGF1Z2gtd2luayIsaWNvbjpbNTEyLDUxMixbImxhdWdoLXdpbmsiXSwiZjU5YyIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTExOC4zIDU4LjJjLTQuMi0xMy43IDcuMS0yNi4yIDIxLjQtMjYuMmwyMzIuNiAwYzE0LjMgMCAyNS42IDEyLjUgMjEuNCAyNi4yLTE4IDU4LjktNzIuOSAxMDEuOC0xMzcuNyAxMDEuOFMxMzYuMyAzNzMuMSAxMTguMyAzMTQuMnpNMTQ0IDE5MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNjQgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBjMC0zMy4xIDI2LjktNjAgNjAtNjBsMTYgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MCAwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjAtOS0yMC0yMC0yMGwtMTYgMGMtMTEgMC0yMCA5LTIwIDIweiJdfSxGQ3Q9enBlLEJDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJwYXBlci1wbGFuZSIsaWNvbjpbNTc2LDUxMixbNjE5MTNdLCJmMWQ4IiwiTTI5MC41IDI4Ny43TDQ5MS40IDg2LjkgMzU5IDQ1Ni4zIDI5MC41IDI4Ny43ek00NTcuNCA1M0wyNTYuNiAyNTMuOCA4OCAxODUuMyA0NTcuNCA1M3pNMzguMSAyMTYuOGwyMDUuOCA4My42IDgzLjYgMjA1LjhjNS4zIDEzLjEgMTguMSAyMS43IDMyLjMgMjEuNyAxNC43IDAgMjcuOC05LjIgMzIuOC0yMy4xTDU3MC42IDhjMy41LTkuOCAxLTIwLjYtNi4zLTI4cy0xOC4yLTkuOC0yOC02LjNMMzkuNCAxNTEuN2MtMTMuOSA1LTIzLjEgMTguMS0yMy4xIDMyLjggMCAxNC4yIDguNiAyNyAyMS43IDMyLjN6Il19LEhDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoZWFydCIsaWNvbjpbNTEyLDUxMixbMTI4MTUzLDEyODE1NCwxMjgxNTUsMTI4MTU2LDEyODQyMCwxMjkyOTMsMTI5Mjk0LDEyOTUwNSw5ODI5LDEwMDg0LDYxNTc4XSwiZjAwNCIsIk0zNzguOSA4MGMtMjcuMyAwLTUzIDEzLjEtNjkgMzUuMmwtMzQuNCA0Ny42Yy00LjUgNi4yLTExLjcgOS45LTE5LjQgOS45cy0xNC45LTMuNy0xOS40LTkuOWwtMzQuNC00Ny42Yy0xNi0yMi4xLTQxLjctMzUuMi02OS0zNS4yLTQ3IDAtODUuMSAzOC4xLTg1LjEgODUuMSAwIDQ5LjkgMzIgOTguNCA2OC4xIDE0Mi4zIDQxLjEgNTAgOTEuNCA5NCAxMjUuOSAxMjAuMyAzLjIgMi40IDcuOSA0LjIgMTQgNC4yczEwLjgtMS44IDE0LTQuMmMzNC41LTI2LjMgODQuOC03MC40IDEyNS45LTEyMC4zIDM2LjItNDMuOSA2OC4xLTkyLjQgNjguMS0xNDIuMyAwLTQ3LTM4LjEtODUuMS04NS4xLTg1LjF6TTI3MSA4Ny4xYzI1LTM0LjYgNjUuMi01NS4xIDEwNy45LTU1LjEgNzMuNSAwIDEzMy4xIDU5LjYgMTMzLjEgMTMzLjEgMCA2OC42LTQyLjkgMTI4LjktNzkuMSAxNzIuOC00NC4xIDUzLjYtOTcuMyAxMDAuMS0xMzMuOCAxMjcuOS0xMi4zIDkuNC0yNy41IDE0LjEtNDMuMSAxNC4xcy0zMC44LTQuNy00My4xLTE0LjFDMTc2LjQgNDM4IDEyMy4yIDM5MS41IDc5LjEgMzM4IDQyLjkgMjk0LjEgMCAyMzMuNyAwIDE2NS4xIDAgOTEuNiA1OS42IDMyIDEzMy4xIDMyIDE3NS44IDMyIDIxNiA1Mi41IDI0MSA4Ny4xbDE1IDIwLjcgMTUtMjAuN3oiXX0sYmVlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZvbnQtYXdlc29tZSIsaWNvbjpbNTEyLDUxMixbNjI1MDEsNjI2OTQsImZvbnQtYXdlc29tZS1mbGFnIiwiZm9udC1hd2Vzb21lLWxvZ28tZnVsbCJdLCJmMmI0IiwiTTkxLjcgOTZDMTA2LjMgODYuOCAxMTYgNzAuNSAxMTYgNTIgMTE2IDIzLjMgOTIuNyAwIDY0IDBTMTIgMjMuMyAxMiA1MmMwIDE2LjcgNy44IDMxLjUgMjAgNDFsMCA0MTkgNDggMCAwLTY0IDM4OS42IDBjMTQuNiAwIDI2LjQtMTEuOCAyNi40LTI2LjQgMC0zLjctLjgtNy4zLTIuMy0xMC43TDQzMiAyNzIgNDkzLjcgMTMzLjFjMS41LTMuNCAyLjMtNyAyLjMtMTAuNyAwLTE0LjYtMTEuOC0yNi40LTI2LjQtMjYuNEw5MS43IDk2ek04MCA0MDBsMC0yNTYgMzU2LjQgMC00OC4yIDEwOC41Yy01LjUgMTIuNC01LjUgMjYuNiAwIDM5TDQzNi40IDQwMCA4MCA0MDB6Il19LHFDdD1iZWUsVkN0PWJlZSxqQ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2xvbmUiLGljb246WzUxMiw1MTIsW10sImYyNGQiLCJNMjg4IDQ2NEw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTIyNGMwLTguOCA3LjItMTYgMTYtMTZsNDggMCAwLTQ4LTQ4IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDIyNCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNDgtNDggMCAwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNnpNMjI0IDMwNGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjI0YzAtOC44IDcuMi0xNiAxNi0xNmwyMjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyMjRjMCA4LjgtNy4yIDE2LTE2IDE2bC0yMjQgMHptLTY0LTE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDIyNCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDIyNCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDIyNHoiXX0sVUN0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZvbGRlci1vcGVuIixpY29uOls1NzYsNTEyLFsxMjgxOTQsMTI4NDQ5LDYxNzE3XSwiZjA3YyIsIk05Ny41IDQwMGw1MC0xNjAgMzc5LjQgMC01MCAxNjAtMzc5LjQgMHptMTkwLjcgNDhMNDc3IDQ0OGMyMSAwIDM5LjYtMTMuNiA0NS44LTMzLjdsNTAtMTYwYzkuNy0zMC45LTEzLjQtNjIuMy00NS44LTYyLjNsLTM3OS40IDBjLTIxIDAtMzkuNiAxMy42LTQ1LjggMzMuN0w4MC4yIDI5NC40IDgwLjIgOTZjMC04LjggNy4yLTE2IDE2LTE2bDEzOC43IDBjMy41IDAgNi44IDEuMSA5LjYgMy4yTDI4Mi45IDExMmMxMy44IDEwLjQgMzAuNyAxNiA0OCAxNmwxMTcuMyAwYzguOCAwIDE2IDcuMiAxNiAxNmw0OCAwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDMzMC45IDgwYy02LjkgMC0xMy43LTIuMi0xOS4yLTYuNEwyNzMuMyA0NC44QzI2Mi4yIDM2LjUgMjQ4LjggMzIgMjM0LjkgMzJMOTYuMiAzMmMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyODhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDB6Il19LFdDdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJ3aW5kb3ctbWluaW1pemUiLGljb246WzUxMiw1MTIsWzEyODQ2OV0sImYyZDEiLCJNMCA0MjRjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNDQ4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHoiXX0sR0N0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InN0YXItaGFsZiIsaWNvbjpbNTc2LDUxMixbNjE3MzFdLCJmMDg5IiwiTTI4NS43LTE1LjhjMTAuOCAyLjYgMTguNCAxMi4yIDE4LjQgMjMuM2wwIDM4Ny4xYzAgOS01LjEgMTcuMy0xMy4xIDIxLjRMMTQzLjggNDkxYy04IDQuMS0xNy43IDMuMy0yNS0ycy0xMS0xNC4yLTkuNi0yMy4yTDEzNC40IDMwNS45IDIwIDE5MS40Yy02LjQtNi40LTguNi0xNS44LTUuOC0yNC40czEwLjEtMTQuOSAxOS4xLTE2LjNMMTkzLjEgMTI1LjMgMjU4LjgtMy4zYzUtOS45IDE2LjItMTUgMjctMTIuNHpNMjU2LjEgMTA3LjRMMjMwLjMgMTU4Yy0zLjUgNi44LTEwIDExLjYtMTcuNiAxMi44bC0xMjUuNSAyMCA4OS44IDg5LjljNS40IDUuNCA3LjkgMTMuMSA2LjcgMjAuN2wtMTkuOCAxMjUuNSA5Mi4yLTQ2LjkgMC0yNzIuNnoiXX0sWUN0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImFsYXJtLWNsb2NrIixpY29uOls1MTIsNTEyLFs5MjAwXSwiZjM0ZSIsIk00MDIuNiA1MC4yYy01LjQgMS43LTExLjMgMS44LTE2LjItLjktNS44LTMuMi0xMS44LTYuMi0xNy44LTguOS0xMC40LTQuNy0xMy43LTE4LjMtNC4xLTI0LjYgMTUtOS45IDMzLTE1LjcgNTIuMy0xNS43IDUyLjYgMCA5NS4yIDQyLjYgOTUuMiA5NS4yIDAgMTMuMi0yLjcgMjUuOC03LjYgMzcuMy00LjUgMTAuNS0xOC40IDkuOC0yNC45IC40LTMuOC01LjUtNy44LTEwLjgtMTItMTYtMy41LTQuNC00LjUtMTAuMi0zLjgtMTUuOCAuMi0xLjkgLjQtMy45IC40LTUuOSAwLTI2LjEtMjEuMi00Ny4yLTQ3LjItNDcuMi00LjkgMC05LjcgLjgtMTQuMiAyLjJ6TTMyLjUgMTMyLjljLTYuNSA5LjQtMjAuNSAxMC4xLTI0LjktLjQtNC45LTExLjUtNy42LTI0LjEtNy42LTM3LjMgMC01Mi42IDQyLjYtOTUuMiA5NS4yLTk1LjIgMTkuMyAwIDM3LjMgNS44IDUyLjMgMTUuNyA5LjYgNi4zIDYuMyAxOS45LTQuMSAyNC42LTYuMSAyLjgtMTIgNS43LTE3LjggOC45LTQuOSAyLjctMTAuOSAyLjYtMTYuMiAuOS00LjUtMS40LTkuMi0yLjItMTQuMi0yLjItMjYuMSAwLTQ3LjIgMjEuMi00Ny4yIDQ3LjIgMCAyIC4xIDQgLjQgNS45IC43IDUuNi0uMyAxMS40LTMuOCAxNS44LTQuMiA1LjItOC4yIDEwLjUtMTIgMTZ6TTQzMiAyODhhMTc2IDE3NiAwIDEgMCAtMzUyIDAgMTc2IDE3NiAwIDEgMCAzNTIgMHpNMzk2LjUgNDYyLjVDMzU4LjEgNDkzLjQgMzA5LjIgNTEyIDI1NiA1MTJzLTEwMi4xLTE4LjYtMTQwLjUtNDkuNUw3MyA1MDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNDIuNS00Mi41QzUwLjYgMzkwLjEgMzIgMzQxLjIgMzIgMjg4IDMyIDE2NC4zIDEzMi4zIDY0IDI1NiA2NFM0ODAgMTY0LjMgNDgwIDI4OGMwIDUzLjItMTguNiAxMDIuMS00OS41IDE0MC41TDQ3MyA0NzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDIuNS00Mi41ek0yODAgMTg0bDAgOTQuMSA0MSA0MWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00OC00OGMtNC41LTQuNS03LTEwLjYtNy0xN2wwLTEwNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0eiJdfSxLQ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibmV3c3BhcGVyIixpY29uOls1MTIsNTEyLFsxMjgyNDBdLCJmMWVhIiwiTTE2OCA4MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAzMDRjMCA4LjQtMS40IDE2LjUtNC4xIDI0TDQ0MCA0MzJjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0zMDRjMC0xMy4zLTEwLjctMjQtMjQtMjRMMTY4IDgwek03MiA0ODBjLTM5LjggMC03Mi0zMi4yLTcyLTcyTDAgMTEyQzAgOTguNyAxMC43IDg4IDI0IDg4czI0IDEwLjcgMjQgMjRsMCAyOTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMwNGMwLTM5LjggMzIuMi03MiA3Mi03MmwyNzIgMGMzOS44IDAgNzIgMzIuMiA3MiA3MmwwIDMwNGMwIDM5LjgtMzIuMiA3Mi03MiA3Mkw3MiA0ODB6TTE5MiAxNTJjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQ4em0xNTIgMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMjE2IDI1NmwxNzYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTc2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTAgODBsMTc2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE3NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSx2ZWU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaG9zcGl0YWwiLGljb246WzU3Niw1MTIsWzEyNzk3Myw2MjU4OSwiaG9zcGl0YWwtYWx0IiwiaG9zcGl0YWwtd2lkZSJdLCJmMGY4IiwiTTE3NiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDQ4LTQ4IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjcyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC00OCAwIDAtNDhjMC0zNS4zLTI4LjctNjQtNjQtNjRMMTc2IDB6TTE2MCA2NGMwLTguOCA3LjItMTYgMTYtMTZsMjI0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyNzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNzYgMCAwLTgwYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDgwLTE3NiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yNzJjMC04LjggNy4yLTE2IDE2LTE2bDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC03MnpNMTEyIDIyNGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek05NiAzMzZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMzIwIDBsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYtMTEyYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTI2NCAxMDRsMCAzMi0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMCAwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyIDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwIDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZ6Il19LFpDdD12ZWUsWEN0PXZlZSxDcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLXN0b3AiLGljb246WzUxMiw1MTIsWzYyMDk0LCJzdG9wLWNpcmNsZSJdLCJmMjhkIiwiTTI1NiA0OGEyMDggMjA4IDAgMSAxIDAgNDE2IDIwOCAyMDggMCAxIDEgMC00MTZ6bTAgNDY0YTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTYwIDE5MmwwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem00OCAxMTJsMC05NiA5NiAwIDAgOTYtOTYgMHoiXX0sUUN0PUNwZSxKQ3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToib2JqZWN0LXVuZ3JvdXAiLGljb246WzY0MCw1MTIsW10sImYyNDgiLCJNNDguMiA2Ni44Yy0uMS0uOC0uMi0xLjctLjItMi41bDAtLjJjMC04LjggNy4yLTE2IDE2LTE2IC45IDAgMS45IC4xIDIuOCAuMiA3LjUgMS4zIDEzLjIgNy45IDEzLjIgMTUuOCAwIDguOC03LjIgMTYtMTYgMTYtNy45IDAtMTQuNS01LjctMTUuOC0xMy4yek0wIDY0YzAgMjYuOSAxNi41IDQ5LjkgNDAgNTkuM2wwIDEwNS4zYy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjQgMjYuOSAwIDQ5LjktMTYuNSA1OS4zLTQwbDIwMS4zIDBjOS41IDIzLjUgMzIuNSA0MCA1OS4zIDQwIDM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM2wwLTEwNS4zYzIzLjUtOS41IDQwLTMyLjUgNDAtNTkuMyAwLTM1LjMtMjguNy02NC02NC02NC0yNi45IDAtNDkuOSAxNi41LTU5LjMgNDBMMTIzLjMgNDBDMTEzLjkgMTYuNSA5MC45IDAgNjQgMCAyOC43IDAgMCAyOC43IDAgNjR6bTM2OCAwYTE2IDE2IDAgMSAxIDMyIDAgMTYgMTYgMCAxIDEgLTMyIDB6TTMyNC43IDg4YzYuNSAxNiAxOS4zIDI4LjkgMzUuMyAzNS4zbDAgMTA1LjNjLTE2IDYuNS0yOC45IDE5LjMtMzUuMyAzNS4zbC0yMDEuMyAwYy02LjUtMTYtMTkuMy0yOC45LTM1LjMtMzUuM2wwLTEwNS4zYzE2LTYuNSAyOC45LTE5LjMgMzUuMy0zNS4zbDIwMS4zIDB6TTM4NCAyNzJhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyek04MCAyODhjMCA3LjktNS43IDE0LjUtMTMuMiAxNS44LS44IC4xLTEuNyAuMi0yLjUgLjJsLS4yIDBjLTguOCAwLTE2LTcuMi0xNi0xNiAwLS45IC4xLTEuOSAuMi0yLjggMS4zLTcuNSA3LjktMTMuMiAxNS44LTEzLjIgOC44IDAgMTYgNy4yIDE2IDE2em00MzYuNy00MGM2LjUgMTYgMTkuMyAyOC45IDM1LjMgMzUuM2wwIDEwNS4zYy0xNiA2LjUtMjguOSAxOS4zLTM1LjMgMzUuM2wtMjAxLjMgMGMtNi41LTE2LTE5LjMtMjguOS0zNS4zLTM1LjNsMC0yMC43LTQ4IDAgMCAyMC43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjQgMjYuOSAwIDQ5LjktMTYuNSA1OS4zLTQwbDIwMS4zIDBjOS41IDIzLjUgMzIuNSA0MCA1OS4zIDQwIDM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM2wwLTEwNS4zYzIzLjUtOS41IDQwLTMyLjUgNDAtNTkuMyAwLTM1LjMtMjguNy02NC02NC02NC0yNi45IDAtNDkuOSAxNi41LTU5LjMgNDBsLTUyLjcgMCAwIDkuNmMxMC43IDEwLjkgMTkuMSAyMy45IDI0LjYgMzguNGwyOCAwem01OS4zLThhMTYgMTYgMCAxIDEgMC0zMiAxNiAxNiAwIDEgMSAwIDMyek0yNzEuOCA0NTAuN2ExNiAxNiAwIDEgMSAtMzEuNS01LjUgMTYgMTYgMCAxIDEgMzEuNSA1LjV6bTMwMS41IDEzYy03LjUtMS4zLTEzLjItNy45LTEzLjItMTUuOCAwLTguOCA3LjItMTYgMTYtMTYgNy45IDAgMTQuNSA1LjcgMTUuOCAxMy4ybDAgLjFjLjEgLjkgLjIgMS44IC4yIDIuNyAwIDguOC03LjIgMTYtMTYgMTYtLjkgMC0xLjktLjEtMi44LS4yeiJdfSxlX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY29tbWVudCIsaWNvbjpbNTEyLDUxMixbMTI4NDg5LDYxNjY5XSwiZjA3NSIsIk01MS45IDM4NC45QzE5LjMgMzQ0LjYgMCAyOTQuNCAwIDI0MCAwIDEwNy41IDExNC42IDAgMjU2IDBTNTEyIDEwNy41IDUxMiAyNDAgMzk3LjQgNDgwIDI1NiA0ODBjLTM2LjUgMC03MS4yLTcuMi0xMDIuNi0yMEwzNyA1MDkuOWMtMy43IDEuNi03LjUgMi4xLTExLjUgMi4xLTE0LjEgMC0yNS41LTExLjQtMjUuNS0yNS41IDAtNC4zIDEuMS04LjUgMy4xLTEyLjJsNDguOC04OS40em0zNy4zLTMwLjJjMTIuMiAxNS4xIDE0LjEgMzYuMSA0LjggNTMuMmwtMTggMzMuMSA1OC41LTI1LjFjMTEuOC01LjEgMjUuMi01LjIgMzcuMS0uMyAyNS43IDEwLjUgNTQuMiAxNi40IDg0LjMgMTYuNCAxMTcuOCAwIDIwOC04OC44IDIwOC0xOTJTMzczLjggNDggMjU2IDQ4IDQ4IDEzNi44IDQ4IDI0MGMwIDQyLjggMTUuMSA4Mi40IDQxLjIgMTE0Ljd6Il19LHRfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaGVzcy1wYXduIixpY29uOlszODQsNTEyLFs5ODIzXSwiZjQ0MyIsIk0xOTItMzJjNjYuMyAwIDEyMCA1My43IDEyMCAxMjAgMCAyNy42LTkuMyA1Mi45LTI0LjkgNzMuMiA5LjggMyAxNi45IDEyLjEgMTYuOSAyMi44IDAgMTMuMy0xMC43IDI0LTI0IDI0bC0uNiAwIDI0LjYgMTYwIDUzLjYgNjdjNi43IDguNCAxMC40IDE4LjggMTAuNCAyOS42IDAgMjYuMi0yMS4yIDQ3LjQtNDcuNCA0Ny40TDYzLjQgNTEyYy0yNi4yIDAtNDcuNC0yMS4yLTQ3LjQtNDcuNCAwLTEwLjggMy43LTIxLjIgMTAuNC0yOS42bDUzLjYtNjcgMjQuNi0xNjAtLjYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjQgMC0xMC44IDcuMS0xOS44IDE2LjktMjIuOC0xNS42LTIwLjMtMjQuOS00NS42LTI0LjktNzMuMiAwLTY2LjMgNTMuNy0xMjAgMTIwLTEyMHpNMTE1LjkgNDAwbC01MS4yIDY0IDI1NC43IDAtNTEuMi02NC0xNTIuMiAwem0zNi4yLTE4NC43bC0yMSAxMzYuNyAxMjEuOSAwLTIxLTEzNi43LTEuMS03LjMtNzcuNiAwLTEuMSA3LjN6TTE5MiAxNmE3MiA3MiAwIDEgMCAwIDE0NCA3MiA3MiAwIDEgMCAwLTE0NHoiXX0sYV90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNhbGVuZGFyLXBsdXMiLGljb246WzQ0OCw1MTIsW10sImYyNzEiLCJNMTIwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0MCAxNjAgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MCAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzIgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0em0wIDExMmwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjg4YzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yODhjMC04LjgtNy4yLTE2LTE2LTE2bC0yNjQgMHptMTA0IDY0YzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDggNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMCAwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDgtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw0OCAwIDAtNDhjMC0xMy4zIDEwLjctMjQgMjQtMjR6Il19LHJfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjbGlwYm9hcmQiLGljb246WzM4NCw1MTIsWzEyODIwM10sImYzMjgiLCJNMjMyIDk2bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjR6bTAgNDhjMzcuMSAwIDY3LjYtMjggNzEuNi02NEwzMjAgODBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzUyYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA5NmMwLTguOCA3LjItMTYgMTYtMTZsMTYuNCAwYzQgMzYgMzQuNSA2NCA3MS42IDY0bDgwIDB6TTI5MS45IDMyQzI3OSAxMi43IDI1NyAwIDIzMiAwTDE1MiAwYy0yNSAwLTQ3IDEyLjctNTkuOSAzMkw2NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzUyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0yOC4xIDB6Il19LHNfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJ0aHVtYnMtZG93biIsaWNvbjpbNTEyLDUxMixbMTI4MDc4LDYxNTc2XSwiZjE2NSIsIk0zNjAgMzJsNy40IC40YzM1IDMuNiA2Mi41IDMyLjIgNjQuNCA2Ny43IDE3LjggMTEuOCAzMC4xIDMxLjQgMzIgNTMuOWwuMiA2YzAgNS43LS43IDExLjItMiAxNi41IDEwLjIgMTEuNSAxNi44IDI2LjMgMTcuOCA0Mi43bC4yIDQuOGMwIDEzLjItMy42IDI1LjQtOS44IDM2IDQuOSA4LjQgOC4yIDE3LjkgOS4zIDI4bC40IDhjMCAzNy4zLTI4LjMgNjcuOS02NC42IDcxLjZsLTcuNCAuNC0xMDkuNyAwIDE0LjEgMzAgMy4xIDcuNmMxMi41IDM1LjctMS44IDc1LjUtMzQuMiA5NWwtNy4yIDMuOWMtMzcuNSAxNy42LTgxLjcgMy42LTEwMi42LTMxLjJsLS42LS45LTIuNy01LS42LTEuMi0zMC4xLTY0Yy05LjQgMTcuOC0yOCAyOS45LTQ5LjUgMjkuOWwtMzIgMGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZMMCAxNTJjMC0zMC45IDI1LjEtNTYgNTYtNTZsMzIgMGMxMi40IDAgMjMuOSA0LjEgMzMuMiAxMSAxMy4yLTIxLjQgMzItMzkuNCA1NS01MS42bDEyLjItNi41IC43LS4zIDYuNi0zLjIgLjctLjMgNy4xLTNjMTYuNy02LjYgMzQuNS05LjkgNTIuNi05LjlMMzYwIDMyek0yNTUuOSA4MGMtMTIgMC0yMy45IDIuMy0zNS4xIDYuNmwtNC43IDItNS4zIDIuNiAwIDAtMTIuMiA2LjVjLTI5LjIgMTUuNS00OC4zIDQ0LjktNTAuNyA3Ny42bC0uMiA4IDAgMTEyLjkgLjEgNC4xYy41IDguMiAyLjUgMTYuMiA2IDIzLjdsNTYuOCAxMjAuOSAyLjEgMy44YzguNCAxMy43IDI2IDE5LjEgNDAuOCAxMi4ybDIuOS0xLjZjMTMtNy44IDE4LjctMjMuNyAxMy43LTM4bC0xLjItMy0zMC4yLTY0LjJjLTMuNS03LjQtMi45LTE2LjEgMS41LTIzLjFzMTItMTEuMSAyMC4yLTExLjFsMTQ3LjUgMCAyLjQtLjFjMTEuMy0xLjEgMjAuMy0xMC4xIDIxLjQtMjEuNGwuMS0yLjVjMC03LjEtMy4xLTEzLjUtOC4yLTE4LTUuMi00LjYtOC4yLTExLjEtOC4yLTE4czMtMTMuNCA4LjItMThjNC40LTMuOSA3LjQtOS4zIDgtMTUuM2wuMi0yLjdjMC04LjQtNC40LTE1LjktMTEuMi0yMC4yLTEwLjctNi45LTE0LjItMjAuOS04LTMyIDEuNS0yLjYgMi41LTUuNiAyLjktOC42bC4yLTMuMmMwLTEwLjYtNi45LTE5LjYtMTYuNi0yMi44LTExLjctMy44LTE4LjctMTUuOS0xNi0yOCAuMi0uOSAuMy0xLjggLjQtMi42bC4yLTIuNmMwLTEyLjQtOS41LTIyLjYtMjEuNi0yMy44TDM2MCA4MCAyNTUuOSA4MHpNNTYgMTQ0Yy00LjQgMC04IDMuNi04IDhsMCAyMjRjMCA0LjQgMy42IDggOCA4bDMyIDBjNC40IDAgOC0zLjYgOC04bDAtMjI0YzAtNC40LTMuNi04LTgtOGwtMzIgMHoiXX0saV90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImlkLWJhZGdlIixpY29uOlszODQsNTEyLFtdLCJmMmMxIiwiTTI1NiA0OGwwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2LTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDM4NGMwIDguOCA3LjIgMTYgMTYgMTZsMjU2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzg0YzAtOC44LTcuMi0xNi0xNi0xNmwtNjQgMHpNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek0xNjAgMzIwbDY0IDBjNDQuMiAwIDgwIDM1LjggODAgODAgMCA4LjgtNy4yIDE2LTE2IDE2TDk2IDQxNmMtOC44IDAtMTYtNy4yLTE2LTE2IDAtNDQuMiAzNS44LTgwIDgwLTgwem0tMjQtOTZhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAweiJdfSxfcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3F1YXJlLWNoZWNrIixpY29uOls0NDgsNTEyLFs5NzQ1LDk5ODksNjE1MTAsImNoZWNrLXNxdWFyZSJdLCJmMTRhIiwiTTM4NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDB6TTY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjBjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyMGMwLTguOC03LjItMTYtMTYtMTZMNjQgODB6bTIzMC43IDg5LjljNy44LTEwLjcgMjIuOC0xMy4xIDMzLjUtNS4zIDEwLjcgNy44IDEzLjEgMjIuOCA1LjMgMzMuNUwyMTEuNCAzNjYuMWMtNC4xIDUuNy0xMC41IDkuMy0xNy41IDkuOC03IC41LTEzLjktMi0xOC44LTYuOWwtNTUuOS01NS45Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzYgMzYgMTA1LjYtMTQ1LjJ6Il19LG9fdD1fcGUsbl90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNoZXNzLWJpc2hvcCIsaWNvbjpbMzIwLDUxMixbOTgyMV0sImY0M2EiLCJNMjE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDAgODEuOCA5OC4xYzI0LjcgMjkuNiAzOC4yIDY3IDM4LjIgMTA1LjYgMCA0My43LTE3LjQgODUuNy00OC4zIDExNi42bC04LjYgOC42IDQ2LjUgNTguMmM2LjcgOC40IDEwLjQgMTguOCAxMC40IDI5LjYgMCAyNi4yLTIxLjIgNDcuNC00Ny40IDQ3LjRMNDcuNCA1MTJDMjEuMiA1MTIgMCA0OTAuOCAwIDQ2NC42IDAgNDUzLjkgMy43IDQ0My40IDEwLjQgNDM1bDQ2LjUtNTguMi04LjYtOC42QzE3LjQgMzM3LjQgMCAyOTUuNCAwIDI1MS43IDAgMjEzLjEgMTMuNSAxNzUuOCAzOC4yIDE0Ni4xTDEyMCA0OCAxMDQgNDhDOTAuNyA0OCA4MCAzNy4zIDgwIDI0UzkwLjcgMCAxMDQgMEwyMTYgMHpNOTQuNCA0MDYuOGwtNDUuNyA1Ny4yIDIyMi43IDAtNDUuNy01Ny4xLTUuNS02LjktMTIwLjMgMC01LjUgNi44ek0xNTYuOSA3OC43TDc1LjEgMTc2LjhjLTE1LjMgMTguNC0yNC42IDQxLTI2LjcgNjQuN0w0OCAyNTEuN2MwIDMxIDEyLjMgNjAuNyAzNC4yIDgyLjdsMTcuNyAxNy43IDEyMC4yIDBjNi4yLTYuMiAxMi4xLTEyLjEgMTcuOC0xNy43IDIxLjktMjEuOSAzNC4yLTUxLjYgMzQuMi04Mi42bC0uNC0xMC4yYy0xLjUtMTctNi43LTMzLjMtMTUuMi00OEwyMDkgMjQxYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDUxLjgtNTEuOC02My43LTc2LjUtMy4xLTMuOC0zLjEgMy44eiJdfSxsX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZW52ZWxvcGUtb3BlbiIsaWNvbjpbNTEyLDUxMixbNjIxMzVdLCJmMmI2IiwiTTUxMiA0MTZjMCAzNS4zLTI4LjUgNjQtNjMuOSA2NEw2NCA0ODBjLTM1LjQgMC02NC0yOC43LTY0LTY0TDAgMTY0Yy4xLTE1LjUgNy44LTMwIDIwLjUtMzguOEwyMDYtMi43YzMwLjEtMjAuNyA2OS44LTIwLjcgOTkuOSAwTDQ5MS41IDEyNS4yYzEyLjggOC44IDIwLjQgMjMuMyAyMC41IDM4LjhsMCAyNTJ6TTY0IDQzMmwzODQuMSAwYzguOCAwIDE1LjktNy4xIDE1LjktMTZsMC0xOTEuNy0xNTQuOCAxMTcuNGMtMzEuNCAyMy45LTc0LjkgMjMuOS0xMDYuNCAwTDQ4IDIyNC4zIDQ4IDQxNmMwIDguOSA3LjIgMTYgMTYgMTZ6TTQ2My42IDE2NC40TDI3OC43IDM2LjhjLTEzLjctOS40LTMxLjctOS40LTQ1LjQgMEw0OC40IDE2NC40IDIzMS44IDMwMy41YzE0LjMgMTAuOCAzNC4xIDEwLjggNDguNCAwTDQ2My42IDE2NC40eiJdfSxLOD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUteG1hcmsiLGljb246WzUxMiw1MTIsWzYxNTMyLCJ0aW1lcy1jaXJjbGUiLCJ4bWFyay1jaXJjbGUiXSwiZjA1NyIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NyAxNjdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDU1IDU1LTU1IDU1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNTUtNTUgNTUgNTVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01NS01NSA1NS01NWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC01NSA1NS01NS01NWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDB6Il19LGNfdD1LOCxkX3Q9SzgsVHBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNxdWFyZS1jYXJldC11cCIsaWNvbjpbNDQ4LDUxMixbImNhcmV0LXNxdWFyZS11cCJdLCJmMTUxIiwiTTY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMjBjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyMGMwLTguOC03LjItMTYtMTYtMTZMNjQgODB6TTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em0yMjQgNjRjNi43IDAgMTMgMi44IDE3LjYgNy43bDEwNCAxMTJjNi41IDcgOC4yIDE3LjIgNC40IDI1LjlTMzM3LjUgMzIwIDMyOCAzMjBsLTIwOCAwYy05LjUgMC0xOC4yLTUuNy0yMi0xNC40cy0yLjEtMTguOSA0LjQtMjUuOWwxMDQtMTEyYzQuNS00LjkgMTAuOS03LjcgMTcuNi03Ljd6Il19LHVfdD1UcGUscF90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZpbGUtaW1hZ2UiLGljb246WzM4NCw1MTIsWzEyODQ0M10sImYxYzUiLCJNMTc2IDQ4TDY0IDQ4Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzODRjMCA4LjggNy4yIDE2IDE2IDE2bDI1NiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0MC04OCAwYy0zOS44IDAtNzItMzIuMi03Mi03MmwwLTg4ek0zMTYuMSAxNjBMMjI0IDY3LjkgMjI0IDEzNmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2OC4xIDB6TTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDE5Ny41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTQxLjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHpNMjU5LjQgNDMybC0xMzQuOCAwYy0xNS44IDAtMjguNi0xMi44LTI4LjYtMjguNiAwLTYuNCAyLjEtMTIuNSA2LTE3LjZsNjcuNi04Ni45QzE3NSAyOTIgMTgzLjMgMjg4IDE5MiAyODhzMTcgNCAyMi40IDEwLjlMMjgyIDM4NS45YzMuOSA1IDYgMTEuMiA2IDE3LjYgMCAxNS44LTEyLjggMjguNi0yOC42IDI4LjZ6TTExMiAyMjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxMcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3F1YXJlLWNhcmV0LXJpZ2h0IixpY29uOls0NDgsNTEyLFsiY2FyZXQtc3F1YXJlLXJpZ2h0Il0sImYxNTIiLCJNNDAwIDk2YzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzIwYzAgOC44IDcuMiAxNiAxNiAxNmwzMjAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMjB6TTM4NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDB6TTMyMCAyNTZjMCA2LjctMi44IDEzLTcuNyAxNy42bC0xMTIgMTA0Yy03IDYuNS0xNy4yIDguMi0yNS45IDQuNFMxNjAgMzY5LjUgMTYwIDM2MGwwLTIwOGMwLTkuNSA1LjctMTguMiAxNC40LTIyczE4LjktMi4xIDI1LjkgNC40bDExMiAxMDRjNC45IDQuNSA3LjcgMTAuOSA3LjcgMTcuNnoiXX0sZl90PUxwZSx6ZWU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3VuIixpY29uOls1NzYsNTEyLFs5NzI4XSwiZjE4NSIsIk0yODgtMzJjOCAwIDE1LjQgNCAxOS45IDEwLjZsNTguOCA4Ny40IDEwMy40LTIwLjJjNy44LTEuNSAxNS45IC45IDIxLjYgNi42czguMSAxMy44IDYuNiAyMS42TDQ3OCAxNzcuMyA1NjUuNCAyMzYuMUM1NzIgMjQwLjUgNTc2IDI0OCA1NzYgMjU2cy00IDE1LjQtMTAuNiAxOS45TDQ3OCAzMzQuNyA0OTguMiA0MzhjMS41IDcuOC0uOSAxNS45LTYuNiAyMS42cy0xMy44IDguMS0yMS42IDYuNkwzNjYuNyA0NDYgMzA3LjkgNTMzLjRDMzAzLjQgNTQwIDI5NiA1NDQgMjg4IDU0NHMtMTUuNC00LTE5LjktMTAuNkwyMDkuMyA0NDYgMTA1LjkgNDY2LjJjLTcuOCAxLjUtMTUuOS0uOS0yMS42LTYuNnMtOC4xLTEzLjgtNi42LTIxLjZMOTggMzM0LjcgMTAuNiAyNzUuOUM0IDI3MS40IDAgMjY0IDAgMjU2czQtMTUuNCAxMC42LTE5LjlMOTggMTc3LjMgNzcuOCA3My45Yy0xLjUtNy44IC45LTE1LjkgNi42LTIxLjZzMTMuOC04LjEgMjEuNi02LjZsMTAzLjMgMjAuMiA1OC44LTg3LjQgMS44LTIuM0MyNzQuNC0yOSAyODEtMzIgMjg4LTMyem0tNDcuOCAxMzhjLTUuNCA4LTE1IDEyLTI0LjUgMTAuMmwtODQtMTYuNCAxNi40IDg0YzEuOCA5LjUtMi4yIDE5LjEtMTAuMiAyNC41TDY3IDI1NiAxMzggMzAzLjhjOCA1LjQgMTIgMTUgMTAuMiAyNC41bC0xNi40IDg0IDg0LTE2LjQgMy41LS40YzguMy0uNCAxNi4zIDMuNiAyMSAxMC42bDQ3LjggNzEgNDcuOC03MSAyLjItMi44YzUuNi02LjEgMTQtOSAyMi4zLTcuM2w4NCAxNi40LTE2LjQtODRjLTEuOC05LjUgMi4yLTE5LjEgMTAuMi0yNC41bDcxLTQ3LjgtNzEtNDcuOGMtOC01LjQtMTItMTUtMTAuMi0yNC41bDE2LjQtODQtODQgMTYuNGMtOS41IDEuOC0xOS4xLTIuMi0yNC41LTEwLjJsLTQ3LjgtNzEtNDcuOCA3MXpNMjg4IDM3NmExMjAgMTIwIDAgMSAxIDAtMjQwIDEyMCAxMjAgMCAxIDEgMCAyNDB6bTAtMTkyYTcyIDcyIDAgMSAwIDAgMTQ0IDcyIDcyIDAgMSAwIDAtMTQ0eiJdfSxoX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaW1hZ2UiLGljb246WzQ0OCw1MTIsW10sImYwM2UiLCJNNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIwYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MHpNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTEyOCAzMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEzNiA3MmM4LjUgMCAxNi40IDQuNSAyMC43IDExLjhsODAgMTM2YzQuNCA3LjQgNC40IDE2LjYgLjEgMjQuMVMzNTIuNiAzODQgMzQ0IDM4NGwtMjQwIDBjLTguOSAwLTE3LjItNS0yMS4zLTEyLjlzLTMuNS0xNy41IDEuNi0yNC44bDU2LTgwYzQuNS02LjQgMTEuOC0xMC4yIDE5LjctMTAuMnMxNS4yIDMuOCAxOS43IDEwLjJsMTcuMiAyNC42IDQ2LjUtNzljNC4zLTcuMyAxMi4yLTExLjggMjAuNy0xMS44eiJdfSxtX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibGlnaHRidWxiIixpY29uOlszODQsNTEyLFsxMjgxNjFdLCJmMGViIiwiTTI5Ni41IDI5MS4xQzMyMSAyNjUuMiAzMzYgMjMwLjQgMzM2IDE5MiAzMzYgMTEyLjUgMjcxLjUgNDggMTkyIDQ4UzQ4IDExMi41IDQ4IDE5MmMwIDM4LjQgMTUgNzMuMiAzOS41IDk5LjEgMjEuMyAyMi40IDQ0LjkgNTQgNTMuMyA5Mi45bDEwMi40IDBjOC40LTM5IDMyLTcwLjUgNTMuMy05Mi45em0zNC44IDMzQzMwNy43IDM0OSAyODggMzc5LjQgMjg4IDQxMy43bDAgMTguM2MwIDQ0LjItMzUuOCA4MC04MCA4MGwtMzIgMGMtNDQuMiAwLTgwLTM1LjgtODAtODBsMC0xOC4zQzk2IDM3OS40IDc2LjMgMzQ5IDUyLjcgMzI0LjEgMjAgMjg5LjcgMCAyNDMuMiAwIDE5MiAwIDg2IDg2IDAgMTkyIDBTMzg0IDg2IDM4NCAxOTJjMCA1MS4yLTIwIDk3LjctNTIuNyAxMzIuMXpNMTQ0IDE4NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTQ4LjYgMzkuNC04OCA4OC04OCAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMjIuMSAwLTQwIDE3LjktNDAgNDB6Il19LHhlZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJhZGRyZXNzLWNhcmQiLGljb246WzU3Niw1MTIsWzYyMTQwLCJjb250YWN0LWNhcmQiLCJ2Y2FyZCJdLCJmMmJiIiwiTTUxMiA4MGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMjBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQzMmMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDk2YzAtOC44IDcuMi0xNiAxNi0xNmw0NDggMHpNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjA4IDI0OGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnptLTMyIDQwYy00NC4yIDAtODAgMzUuOC04MCA4MCAwIDguOCA3LjIgMTYgMTYgMTZsMTkyIDBjOC44IDAgMTYtNy4yIDE2LTE2IDAtNDQuMi0zNS44LTgwLTgwLTgwbC02NCAwek0zNzYgMTQ0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTgwIDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMHoiXX0sZ190PXhlZSxiX3Q9eGVlLCRwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLW1laCIsaWNvbjpbNTEyLDUxMixbMTI4NTI4LCJtZWgiXSwiZjExYSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDEgLTQxNiAwIDIwOCAyMDggMCAxIDEgNDE2IDB6TTI1NiAwYTI1NiAyNTYgMCAxIDAgMCA1MTIgMjU2IDI1NiAwIDEgMCAwLTUxMnpNMTc2IDI0MGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTE5Mi0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0xODQgMzIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHoiXX0sdl90PSRwZSx4X3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibWFwIixpY29uOls1MTIsNTEyLFsxMjg1MDYsNjIwNzJdLCJmMjc5IiwiTTUxMiA0OGMwLTguMy00LjMtMTYtMTEuMy0yMC40cy0xNS45LTQuOC0yMy4zLTEuMUwzNTIuNSA4OC4xIDE4MCAyOS40Yy0xMy43LTQuNy0yOC43LTMuOC00MS45IDIuM0wxMy44IDkwLjNDNS40IDk0LjIgMCAxMDIuNyAwIDExMkwwIDQ2NGMwIDguMiA0LjIgMTUuOSAxMS4xIDIwLjNzMTUuNiA0LjkgMjMuMSAxLjRsMTI3LjMtNTkuOSAxNzAuNyA1Ni45YzEzLjcgNC42IDI4LjUgMy43IDQxLjYtMi41bDEyNC40LTU4LjVjOC40LTQgMTMuOC0xMi40IDEzLjgtMjEuN2wwLTM1MnpNMTQ0IDgyLjFsMCAyOTktOTYgNDUuMiAwLTI5OSA5Ni00NS4yem00OCAzMDMuM2wwLTMwMS4xIDEyOCA0My41IDAgMzAwLjMtMTI4LTQyLjd6TTM2OCAxMzRsOTYtNDcuNCAwIDI5OC4yLTk2IDQ1LjIgMC0yOTZ6Il19LHlfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLXBvaW50LWRvd24iLGljb246WzM4NCw1MTIsW10sImYwYTciLCJNNjQgNDQ4bDAtMTc3LjZjNS4yIDEgMTAuNSAxLjYgMTYgMS42bDE2IDAgMCAxNzZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZ6TTgwIDIyNGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNGMwLTY2LjMgNTMuNy0xMjAgMTIwLTEyMGw0OCAwYzUyLjUgMCA5Ny4xIDMzLjcgMTEzLjQgODAuNy0zLjEtLjUtNi4yLS43LTkuNC0uNy0yMCAwLTM3LjkgOS4yLTQ5LjcgMjMuNi05LTQuOS0xOS40LTcuNi0zMC4zLTcuNi0xNS4xIDAtMjkgNS4zLTQwIDE0LTExLTguOC0yNC45LTE0LTQwLTE0bC00MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwIDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTgwIDB6TTAgMTkybDAgMGMwIDE4IDYgMzQuNiAxNiA0OGwwIDIwOGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0bDAtODJjNS4xIDEuMyAxMC41IDIgMTYgMiAyNS4zIDAgNDcuMi0xNC43IDU3LjYtMzYgNyAyLjYgMTQuNSA0IDIyLjQgNCAyMCAwIDM3LjktOS4yIDQ5LjctMjMuNiA5IDQuOSAxOS40IDcuNiAzMC4zIDcuNiAzNS4zIDAgNjQtMjguNyA2NC02NGwwLTg4QzM4NCA3NS4yIDMwOC44IDAgMjE2IDBMMTY4IDBDNzUuMiAwIDAgNzUuMiAwIDE2OGwwIDI0em0zMzYgNjRjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNjR6TTE2MCAyNzJjNS41IDAgMTAuOS0uNyAxNi0ybDAgMzRjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0zMiAxNiAwem02NC0yNGwwLTQwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA2NGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTI0eiJdfSxEcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1tZWgtYmxhbmsiLGljb246WzUxMiw1MTIsWzEyODU2NiwibWVoLWJsYW5rIl0sImY1YTQiLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDAgMCA0MTYgMjA4IDIwOCAwIDEgMCAwLTQxNnpNNTEyIDI1NmEyNTYgMjU2IDAgMSAxIC01MTIgMCAyNTYgMjU2IDAgMSAxIDUxMiAwek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LHdfdD1EcGUsQXBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi10b25ndWUiLGljb246WzUxMiw1MTIsWzEyODUzOSwiZ3Jpbi10b25ndWUiXSwiZjU4OSIsIk00NjQgMjU2YzAtMTE0LjktOTMuMS0yMDgtMjA4LTIwOFM0OCAxNDEuMSA0OCAyNTZjMCA3NC4xIDM4LjggMTM5LjIgOTcuMSAxNzYtLjctNS4yLTEuMS0xMC42LTEuMS0xNmwwLTUzLjVjLTEwLjItMTIuNi0xOC4zLTI2LjktMjMuOC00Mi40LTQuMS0xMS42IDcuOC0yMS40IDE5LjYtMTcuOCAzNC43IDEwLjYgNzQuMiAxNi41IDExNi4xIDE2LjUgNDIgMCA4MS41LTYgMTE2LjMtMTYuNiAxMS44LTMuNiAyMy43IDYuMSAxOS42IDE3LjgtNS41IDE1LjYtMTMuNiAyOS45LTIzLjggNDIuNWwwIDUzLjVjMCA1LjQtLjQgMTAuOC0xLjEgMTYgNTguNC0zNi44IDk3LjEtMTAxLjkgOTcuMS0xNzZ6bTQ4IDBjMCAxMTYuMy03Ny42IDIxNC42LTE4My45IDI0NS43LTE5LjUgMTYuNC00NC42IDI2LjMtNzIuMSAyNi4zcy01Mi42LTkuOS03Mi4xLTI2LjNDNzcuNiA0NzAuNiAwIDM3Mi4zIDAgMjU2IDAgMTE0LjYgMTE0LjYgMCAyNTYgMFM1MTIgMTE0LjYgNTEyIDI1NnpNMTc2IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNiAyMDhsMC0zNy40YzAtMTQuNy0xMS45LTI2LjYtMjYuNi0yNi42bC0yIDBjLTExLjMgMC0yMS4xIDcuOS0yMy42IDE4LjktMi44IDEyLjYtMjAuOCAxMi42LTIzLjYgMC0yLjUtMTEuMS0xMi4zLTE4LjktMjMuNi0xOC45bC0yIDBjLTE0LjcgMC0yNi42IDExLjktMjYuNiAyNi42bDAgMzcuNGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0eiJdfSxNX3Q9QXBlLHllZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmdXRib2wiLGljb246WzUxMiw1MTIsWzk5MTcsImZ1dGJvbC1iYWxsIiwic29jY2VyLWJhbGwiXSwiZjFlMyIsIk0zODcgMjI4LjNjLTQuNC0yLjgtNy42LTctOS4yLTExLjlzLTEuNC0xMC4yIC41LTE1TDQxMS42IDExOGMtMTkuOS0yMi40LTQ0LjYtNDAuNS03Mi40LTUyLjdsLTY5LjEgNTcuNmMtNCAzLjMtOSA1LjEtMTQuMSA1LjFzLTEwLjItMS44LTE0LjEtNS4xTDE3Mi44IDY1LjNjLTI3LjggMTIuMi01Mi41IDMwLjMtNzIuNCA1Mi43bDMzLjQgODMuNGMxLjkgNC44IDIuMSAxMC4xIC41IDE1cy00LjkgOS4xLTkuMiAxMS45TDQ5IDI3Ni4yYzMgMzAuOSAxMi43IDU5LjcgMjcuNiA4NS4ybDg5LjctNmM1LjItLjMgMTAuMyAxLjEgMTQuNSA0LjJzNy4yIDcuNCA4LjQgMTIuNWwyMiA4Ny4yYzE0LjQgMy4yIDI5LjQgNC44IDQ0LjggNC44czMwLjMtMS43IDQ0LjgtNC44bDIyLTg3LjJjMS4zLTUgNC4yLTkuNCA4LjQtMTIuNXM5LjMtNC41IDE0LjUtNC4ybDg5LjcgNmMxNS0yNS40IDI0LjctNTQuMyAyNy42LTg1LjFMMzg3IDIyOC4zek0yNTYgMGEyNTYgMjU2IDAgMSAxIDAgNTEyIDI1NiAyNTYgMCAxIDEgMC01MTJ6bTYyIDIyMWM4LjQgNi4xIDExLjkgMTYuOSA4LjcgMjYuOGwtMTguMyA1Ni4zYy0zLjIgOS45LTEyLjQgMTYuNi0yMi44IDE2LjZsLTU5LjIgMGMtMTAuNCAwLTE5LjYtNi43LTIyLjgtMTYuNmwtMTguMy01Ni4zYy0zLjItOS45IC4zLTIwLjcgOC43LTI2LjhsNDcuOS0zNC44YzguNC02LjEgMTkuOC02LjEgMjguMiAwTDMxOCAyMjF6Il19LGtfdD15ZWUsU190PXllZSxFcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1zdXJwcmlzZSIsaWNvbjpbNTEyLDUxMixbMTI4NTU4LCJzdXJwcmlzZSJdLCJmNWMyIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTc2LTgwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bS00OCA4MGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHoiXX0sel90PUVwZSxQcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZm9sZGVyIixpY29uOls1MTIsNTEyLFsxMjgxOTMsMTI4NDQ3LDYxNzE2LCJmb2xkZXItYmxhbmsiXSwiZjA3YiIsIk02NCA0MDBsMzg0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjQwYzAtOC44LTcuMi0xNi0xNi0xNmwtMTQ5LjMgMGMtMTcuMyAwLTM0LjItNS42LTQ4LTE2TDIxMi4zIDgzLjJjLTIuOC0yLjEtNi4xLTMuMi05LjYtMy4yTDY0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAyODhjMCA4LjggNy4yIDE2IDE2IDE2em0zODQgNDhMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDEzOC43IDBjMTMuOCAwIDI3LjMgNC41IDM4LjQgMTIuOGwzOC40IDI4LjhjNS41IDQuMiAxMi4zIDYuNCAxOS4yIDYuNEw0NDggODBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNDBjMCAzNS4zLTI4LjcgNjQtNjQgNjR6Il19LENfdD1QcGUsX190PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNsb3VkIixpY29uOls1NzYsNTEyLFs5NzI5XSwiZjBjMiIsIk04MCAxOTJjMC04OC40IDcxLjYtMTYwIDE2MC0xNjAgNDcuMSAwIDg5LjQgMjAuNCAxMTguNyA1Mi43IDEwLjYtMy4xIDIxLjgtNC43IDMzLjMtNC43IDY2LjMgMCAxMjAgNTMuNyAxMjAgMTIwIDAgMTMuMi0yLjEgMjUuOS02LjEgMzcuOCA0MS42IDIxLjEgNzAuMSA2NC4zIDcwLjEgMTE0LjIgMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTMwNCAwYy03OS41IDAtMTQ0LTY0LjUtMTQ0LTE0NCAwLTU2LjggMzIuOS0xMDUuOSA4MC43LTEyOS40LS40LTQuOC0uNy05LjctLjctMTQuNnpNMjQwIDgwYy02MS45IDAtMTEyIDUwLjEtMTEyIDExMiAwIDguNCAuOSAxNi42IDIuNyAyNC41IDIuNyAxMi4xLTQuMyAyNC4zLTE2LjEgMjguMS0zOC43IDEyLjQtNjYuNiA0OC43LTY2LjYgOTEuNCAwIDUzIDQzIDk2IDk2IDk2bDMwNCAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwIDAtMzcuNC0yNS43LTY4LjktNjAuNS03Ny42LTcuNS0xLjktMTMuNi03LjItMTYuNS0xNC4zcy0yLjEtMTUuMiAyLTIxLjdjNy0xMS4xIDExLTI0LjIgMTEtMzguMyAwLTM5LjgtMzIuMi03Mi03Mi03Mi0xMS4xIDAtMjEuNSAyLjUtMzAuOCA2LjktMTAuNSA1LTIzLjEgMS43LTI5LjgtNy44LTIwLjMtMjguNi01My43LTQ3LjEtOTEuMy00Ny4xeiJdfSxUX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlIixpY29uOls1MTIsNTEyLFsxMjgzMDgsMTI4MzA5LDEyODk5MiwxMjg5OTMsMTI4OTk0LDEyODk5NSwxMjg5OTYsOTY3OSw5ODk4LDk4OTksMTEwNDQsNjE3MDgsNjE5MTVdLCJmMTExIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHoiXX0sSXBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1zcXVpbnQiLGljb246WzUxMiw1MTIsWzEyODUxOCwiZ3Jpbi1zcXVpbnQiXSwiZjU4NSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTM3Mi4yIDQ2LjNjMTEuOC0zLjYgMjMuNyA2LjEgMTkuNiAxNy44LTE5LjggNTUuOS03My4xIDk2LTEzNS44IDk2LTYyLjcgMC0xMTYtNDAtMTM1LjgtOTUuOS00LjEtMTEuNiA3LjgtMjEuNCAxOS42LTE3LjggMzQuNyAxMC42IDc0LjIgMTYuNSAxMTYuMSAxNi41IDQyIDAgODEuNS02IDExNi4zLTE2LjZ6bS0yNDkuNi0xNDNjNC41LTYuOCAxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAyMDggMTI1LjggMTgwLjNjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjF6bTI2My42IDIxLjFMMzUzIDIwOCAzODYuMiAyMzUuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXMzLjEgMTUuOS0zLjEgMjEuMXoiXX0sTF90PUlwZSxOcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLXVzZXIiLGljb246WzUxMiw1MTIsWzYyMTQyLCJ1c2VyLWNpcmNsZSJdLCJmMmJkIiwiTTQwNi41IDM5OS42QzM4Ny40IDM1Mi45IDM0MS41IDMyMCAyODggMzIwbC02NCAwYy01My41IDAtOTkuNCAzMi45LTExOC41IDc5LjYtMzUuNi0zNy4zLTU3LjUtODcuOS01Ny41LTE0My42IDAtMTE0LjkgOTMuMS0yMDggMjA4LTIwOHMyMDggOTMuMSAyMDggMjA4YzAgNTUuNy0yMS45IDEwNi4yLTU3LjUgMTQzLjZ6bS00MC4xIDMyLjdDMzM0LjQgNDUyLjQgMjk2LjYgNDY0IDI1NiA0NjRzLTc4LjQtMTEuNi0xMTAuNS0zMS43YzcuMy0zNi43IDM5LjctNjQuMyA3OC41LTY0LjNsNjQgMGMzOC44IDAgNzEuMiAyNy42IDc4LjUgNjQuM3pNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTAtMjcyYTQwIDQwIDAgMSAxIDAtODAgNDAgNDAgMCAxIDEgMCA4MHptLTg4LTQwYTg4IDg4IDAgMSAwIDE3NiAwIDg4IDg4IDAgMSAwIC0xNzYgMHoiXX0sJF90PU5wZSxScGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToicmVjdGFuZ2xlLWxpc3QiLGljb246WzUxMiw1MTIsWyJsaXN0LWFsdCJdLCJmMDIyIiwiTTY0IDExMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjU2YzAgOC44IDcuMiAxNiAxNiAxNmwzODQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNTZjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDExMnpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHpNMTYwIDMyMGEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwem0tMzItOTZhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0xMDQtNTZsMTYwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0wIDEyOGwxNjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LERfdD1ScGUsT3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQiLGljb246WzUxMiw1MTIsWzEyOTMwNiw5OTk1LCJoYW5kLXBhcGVyIl0sImYyNTYiLCJNMjU2LjUgMGMtMjUuMyAwLTQ3LjIgMTQuNy01Ny42IDM2LTctMi42LTE0LjUtNC0yMi40LTQtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAxNjUuNS0yLjctMi43Yy0yNS0yNS02NS41LTI1LTkwLjUgMHMtMjUgNjUuNSAwIDkwLjVMMTA3IDQzN2M0OCA0OCAxMTMuMSA3NSAxODEgNzVsMTYuNSAwYzEuNSAwIDMtLjEgNC41LS40IDkxLjctNi4yIDE2NS03OS40IDE3MS4xLTE3MS4xIC4zLTEuNSAuNC0zIC40LTQuNWwwLTE3NmMwLTM1LjMtMjguNy02NC02NC02NC01LjUgMC0xMC45IC43LTE2IDJsMC0yYzAtMzUuMy0yOC43LTY0LTY0LTY0LTcuOSAwLTE1LjQgMS40LTIyLjQgNC0xMC40LTIxLjMtMzIuMy0zNi01Ny42LTM2em0tMTYgOTYuMWwwLS4xIDAtMzJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTM2YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxMzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTcyYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNzIuOWMtLjEgLjYtLjEgMS4zLS4yIDEuOS0zLjQgNjkuNy01OS4zIDEyNS42LTEyOSAxMjktLjYgMC0xLjMgLjEtMS45IC4yTDI4OCA0NjRDMjMyLjkgNDY0IDE4MCA0NDIuMSAxNDEgNDAzLjFMNTMuMiAzMTUuM2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDQzLjcgNDMuN2M2LjkgNi45IDE3LjIgOC45IDI2LjIgNS4yczE0LjgtMTIuNSAxNC44LTIyLjJsMC0yMjMuNGMwLTguOCA3LjItMTYgMTYtMTYgOC44IDAgMTYgNy4xIDE2IDE1LjlsMCAxMzYuMWMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTM1Ljl6Il19LEFfdD1PcGUsRV90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InRodW1icy11cCIsaWNvbjpbNTEyLDUxMixbMTI4MDc3LDYxNTc1XSwiZjE2NCIsIk0xNzEuNSAzOC44QzE5Mi4zIDQgMjM2LjUtMTAgMjc0IDcuNmw3LjIgMy44QzMxNiAzMi4zIDMzMCA3Ni41IDMxMi40IDExNGwwIDAtMTQuMSAzMCAxMDkuNyAwIDcuNCAuNGMzNi4zIDMuNyA2NC42IDM0LjQgNjQuNiA3MS42IDAgMTMuMi0zLjYgMjUuNC05LjggMzYgNi4xIDEwLjYgOS43IDIyLjggOS44IDM2IDAgMTguMy02LjkgMzQuOC0xOCA0Ny41IDEuMyA1LjMgMiAxMC44IDIgMTYuNSAwIDI1LjEtMTIuOSA0Ny0zMi4yIDU5LjktMS45IDM1LjUtMjkuNCA2NC4yLTY0LjQgNjcuN2wtNy40IC40LTEwNC4xIDBjLTE4IDAtMzUuOS0zLjQtNTIuNi05LjlsLTcuMS0zLS43LS4zLTYuNi0zLjItLjctLjMtMTIuMi02LjVjLTEyLjMtNi41LTIzLjMtMTQuNy0zMi45LTI0LjEtNC4xIDI2LjktMjcuMyA0Ny40LTU1LjMgNDcuNGwtMzIgMGMtMzAuOSAwLTU2LTI1LjEtNTYtNTZMMCAyMDBjMC0zMC45IDI1LjEtNTYgNTYtNTZsMzIgMGMxMC44IDAgMjAuOSAzLjEgMjkuNSA4LjVsNTAuMS0xMDYuNSAuNi0xLjIgMi43LTUgLjYtLjl6TTU2IDE5MmMtNC40IDAtOCAzLjYtOCA4bDAgMjI0YzAgNC40IDMuNiA4IDggOGwzMiAwYzQuNCAwIDgtMy42IDgtOGwwLTIyNGMwLTQuNC0zLjYtOC04LThsLTMyIDB6TTI1My42IDUxYy0xNC44LTYuOS0zMi4zLTEuNi00MC43IDEybC0yLjIgNC01Ni44IDEyMC45Yy0zLjUgNy41LTUuNSAxNS41LTYgMjMuN2wtLjEgNC4yIDAgMTEyLjkgLjIgNy45YzIuNCAzMi43IDIxLjQgNjIuMSA1MC43IDc3LjdsMTEuNSA2LjEgNi4zIDMuMWMxMi40IDUuNiAyNS44IDguNSAzOS40IDguNWwxMDQuMSAwIDIuNC0uMWMxMi4xLTEuMiAyMS42LTExLjUgMjEuNi0yMy45bC0uMi0yLjZjLS4xLS45LS4yLTEuNy0uNC0yLjYtMi43LTEyLjEgNC4zLTI0LjIgMTYtMjggOS43LTMuMSAxNi42LTEyLjIgMTYuNi0yMi44IDAtNC4zLTEuMS04LjItMy4xLTExLjgtNi4zLTExLjEtMi44LTI1LjIgOC0zMiA2LjgtNC4zIDExLjItMTEuOCAxMS4yLTIwLjIgMC03LjEtMy4xLTEzLjUtOC4yLTE4LTUuMi00LjYtOC4yLTExLjEtOC4yLTE4czMtMTMuNCA4LjItMThjNS4xLTQuNSA4LjItMTAuOSA4LjItMThsLS4xLTIuNGMtMS4xLTExLjMtMTAuMS0yMC4zLTIxLjQtMjEuNGwtMi40LS4xLTE0Ny41IDBjLTguMiAwLTE1LjgtNC4yLTIwLjItMTEuMS00LjQtNi45LTUtMTUuNy0xLjUtMjMuMUwyNjkgOTMuNmM3LTE1IDEuNC0zMi43LTEyLjUtNDFMMjUzLjYgNTF6Il19LFBfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJidWlsZGluZyIsaWNvbjpbMzg0LDUxMixbMTI3OTcwLDYxNjg3XSwiZjFhZCIsIk02NCA0OGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzg0YzAgOC44IDcuMiAxNiAxNiAxNmw4MCAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDgwIDgwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzg0YzAtOC44LTcuMi0xNi0xNi0xNkw2NCA0OHpNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em05NiA0OGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNDAgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNOTYgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE0NC0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxJX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2hlc3Mtcm9vayIsaWNvbjpbMzg0LDUxMixbOTgyMF0sImY0NDciLCJNMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMzguN2MwIDEzLjgtNC41IDI3LjMtMTIuOCAzOC40bC0zNS4yIDQ2LjkgMCAxMTIgNDAuOCA2OC4xYzQuNyA3LjggNy4yIDE2LjcgNy4yIDI1LjggMCAyNy43LTIyLjQgNTAuMS01MC4xIDUwLjFMNTAuMSA1MTJjLTI3LjcgMC01MC4xLTIyLjQtNTAuMS01MC4xIDAtOS4xIDIuNS0xOCA3LjItMjUuOEw0OCAzNjggNDggMjU2IDEyLjggMjA5LjFDNC41IDE5OCAwIDE4NC41IDAgMTcwLjdMMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMMzUyIDB6TTQ4LjMgNDYwLjhsLS4zIDEuMWMwIDEuMiAxIDIuMSAyLjEgMi4xbDI4My44IDBjMS4yIDAgMi4xLTEgMi4xLTIuMWwtLjMtMS4xLTM2LjUtNjAuOC0yMTQuNCAwLTM2LjUgNjAuOHpNNDggMTcwLjdjMCAyLjYgLjYgNS4xIDEuOCA3LjRsMS40IDIuMiAwIDAgMzUuMiA0Ni45IDkuNiAxMi44IDAgMTEyIDE5MiAwIDAtMTEyIDkuNi0xMi44IDM1LjItNDYuOSAwIDAgMS40LTIuMmMxLjItMi4zIDEuOC00LjggMS44LTcuNGwwLTEyMi43LTY0IDAgMCAyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTI0LTY0IDAgMCAyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTI0LTY0IDAgMCAxMjIuN3oiXX0sRnBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1xdWVzdGlvbiIsaWNvbjpbNTEyLDUxMixbNjIxMDgsInF1ZXN0aW9uLWNpcmNsZSJdLCJmMDU5IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMjU2LTgwYy0xNy43IDAtMzIgMTQuMy0zMiAzMiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgNDcuMi0zNiA2Ny4yLTU2IDc0LjVsMCAzLjhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC04LjFjMC0yMC41IDE0LjgtMzUuMiAzMC4xLTQwLjIgNi40LTIuMSAxMy4yLTUuNSAxOC4yLTEwLjMgNC4zLTQuMiA3LjctMTAgNy43LTE5LjYgMC0xNy43LTE0LjMtMzItMzItMzJ6TTIyNCAzNjhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sTl90PUZwZSxSX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZSIsaWNvbjpbMzg0LDUxMixbMTI4MTk2LDEyODQ1OSw2MTQ2Ml0sImYxNWIiLCJNMTc2IDQ4TDY0IDQ4Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzODRjMCA4LjggNy4yIDE2IDE2IDE2bDI1NiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0MC04OCAwYy0zOS44IDAtNzItMzIuMi03Mi03MmwwLTg4ek0zMTYuMSAxNjBMMjI0IDY3LjkgMjI0IDEzNmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2OC4xIDB6TTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDE5Ny41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTQxLjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHoiXX0sQnBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2Utc2FkLWNyeSIsaWNvbjpbNTEyLDUxMixbMTI4NTU3LCJzYWQtY3J5Il0sImY1YjMiLCJNNDAwIDQwNi4xTDQwMCAyODhjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNTIuNmMtMjguNyAxNS02MS40IDIzLjQtOTYgMjMuNHMtNjcuMy04LjUtOTYtMjMuNEwxNjAgMjg4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTE4LjFDNzIuNiAzNjguMiA0OCAzMTUgNDggMjU2IDQ4IDE0MS4xIDE0MS4xIDQ4IDI1NiA0OHMyMDggOTMuMSAyMDggMjA4YzAgNTktMjQuNiAxMTIuMi02NCAxNTAuMXpNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE1MiAxOTZsMTYgMGMxMSAwIDIwIDkgMjAgMjBzOSAyMCAyMCAyMCAyMC05IDIwLTIwYzAtMzMuMS0yNi45LTYwLTYwLTYwbC0xNiAwYy0zMy4xIDAtNjAgMjYuOS02MCA2MCAwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMCA5LTIwIDIwLTIwem0xNzIgMjBjMC0xMSA5LTIwIDIwLTIwbDE2IDBjMTEgMCAyMCA5IDIwIDIwczkgMjAgMjAgMjAgMjAtOSAyMC0yMGMwLTMzLjEtMjYuOS02MC02MC02MGwtMTYgMGMtMzMuMSAwLTYwIDI2LjktNjAgNjAgMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjB6TTIwOCAzMzZsMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4bDAtMzJjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6Il19LE9fdD1CcGUsRl90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNhbGVuZGFyLW1pbnVzIixpY29uOls0NDgsNTEyLFtdLCJmMjcyIiwiTTEyMCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDAgMTYwIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHptMCAxMTJsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjg4YzAtOC44LTcuMi0xNi0xNi0xNmwtMjY0IDB6bTMyIDEzNmwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LEhwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLXRpcmVkIixpY29uOls1MTIsNTEyLFsxMjg1NTUsInRpcmVkIl0sImY1YzgiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0xNzYuNSA2NC4zQzE5Ni4xIDMwMi4xIDIyMy44IDI4OCAyNTYgMjg4czU5LjkgMTQuMSA3OS41IDMyLjNjMTkgMTcuOCAzMi41IDQxLjcgMzIuNSA2My43IDAgNS40LTIuNyAxMC40LTcuMiAxMy40cy0xMC4yIDMuNC0xNS4yIDEuM2wtMTcuMi03LjVjLTIyLjgtMTAtNDcuNS0xNS4xLTcyLjQtMTUuMXMtNDkuNiA1LjItNzIuNCAxNS4xbC0xNy4yIDcuNWMtNC45IDIuMi0xMC43IDEuNy0xNS4yLTEuM3MtNy4yLTgtNy4yLTEzLjRjMC0yMiAxMy41LTQ1LjkgMzIuNS02My43ek0xMjIuNiAxNTkuMmM0LjUtNi44IDEzLjMtOS4yIDIwLjYtNS41bDc5LjYgNDBjNS40IDIuNyA4LjggOC4yIDguOCAxNC4zcy0zLjQgMTEuNi04LjggMTQuM2wtNzkuNiA0MGMtNy4zIDMuNi0xNi4xIDEuMy0yMC42LTUuNXMtMy4xLTE1LjkgMy4xLTIxLjFMMTU5IDIwOCAxMjUuOCAxODAuM2MtNi4yLTUuMi03LjYtMTQuMy0zLjEtMjEuMXptMjYzLjYgMjEuMUwzNTMgMjA4IDM4Ni4yIDIzNS43YzYuMiA1LjIgNy42IDE0LjMgMy4xIDIxLjFzLTEzLjMgOS4yLTIwLjYgNS41bC03OS42LTQwYy01LjQtMi43LTguOC04LjItOC44LTE0LjNzMy40LTExLjYgOC44LTE0LjNsNzkuNi00MGM3LjMtMy42IDE2LjEtMS4zIDIwLjYgNS41czMuMSAxNS45LTMuMSAyMS4xeiJdfSxCX3Q9SHBlLEhfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLXBvaW50LXJpZ2h0IixpY29uOls1MTIsNTEyLFtdLCJmMGE0IiwiTTQ0OCAxMjhsLTE3Ny42IDBjMSA1LjIgMS42IDEwLjUgMS42IDE2bDAgMTYgMTc2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZ6TTIyNCAxNDRjMC0xNy43LTE0LjMtMzItMzItMzJsLTI0IDBjLTY2LjMgMC0xMjAgNTMuNy0xMjAgMTIwbDAgNDhjMCA1Mi41IDMzLjcgOTcuMSA4MC43IDExMy40LS41LTMuMS0uNy02LjItLjctOS40IDAtMjAgOS4yLTM3LjkgMjMuNi00OS43LTQuOS05LTcuNi0xOS40LTcuNi0zMC4zIDAtMTUuMSA1LjMtMjkgMTQtNDAtOC44LTExLTE0LTI0LjktMTQtNDBsMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwek0xOTIgNjRsMCAwYzE4IDAgMzQuNiA2IDQ4IDE2bDIwOCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0bC04MiAwYzEuMyA1LjEgMiAxMC41IDIgMTYgMCAyNS4zLTE0LjcgNDcuMi0zNiA1Ny42IDIuNiA3IDQgMTQuNSA0IDIyLjQgMCAyMC05LjIgMzcuOS0yMy42IDQ5LjcgNC45IDkgNy42IDE5LjQgNy42IDMwLjMgMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTg4IDBDNzUuMiA0NDggMCAzNzIuOCAwIDI4MGwwLTQ4QzAgMTM5LjIgNzUuMiA2NCAxNjggNjRsMjQgMHptNjQgMzM2YzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC02NCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDY0IDB6bTE2LTE3NmMwIDUuNS0uNyAxMC45LTIgMTZsMzQgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMzIgMCAwIDE2em0tMjQgNjRsLTQwIDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNjQgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMjQgMHoiXX0scXBlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS11cCIsaWNvbjpbNTEyLDUxMixbNjE0NjcsImFycm93LWFsdC1jaXJjbGUtdXAiXSwiZjM1YiIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTExLjMtMzg3LjNjLTYuMi02LjItMTYuNC02LjItMjIuNiAwbC0xMDQgMTA0Yy00LjYgNC42LTUuOSAxMS41LTMuNSAxNy40czguMyA5LjkgMTQuOCA5LjlsNzIgMCAwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTA0IDcyIDBjNi41IDAgMTIuMy0zLjkgMTQuOC05LjlzMS4xLTEyLjktMy41LTE3LjRsLTEwNC0xMDR6Il19LHFfdD1xcGUsVl90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmQtc2Npc3NvcnMiLGljb246WzUxMiw1MTIsW10sImYyNTciLCJNLjIgMjc2LjNjLTEuMi0zNS4zIDI2LjQtNjUgNjEuNy02Ni4ybDMuMy0uMS04LjItMS44QzIyLjUgMjAwLjUgLjcgMTY2LjMgOC4zIDEzMS44UzUwLjIgNzUuNSA4NC43IDgzLjJsMTczIDM4LjNjMi4zLTIuOSA0LjYtNS43IDcuMS04LjVsMTguNC0yMC4zQzI5OS45IDc0LjUgMzIzLjUgNjQgMzQ4LjMgNjRsMTAuMiAwYzU0LjEgMCAxMDQuMSAyOC43IDEzMS4zIDc1LjRsMS41IDIuNmMxMy42IDIzLjIgMjAuNyA0OS43IDIwLjcgNzYuNkw1MTIgMzQ0YzAgNjYuMy01My43IDEyMC0xMjAgMTIwbC0xMDQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yLjggLjItNS42IC41LTguMy0xOS40LTExLTMyLjUtMzEuOC0zMi41LTU1LjcgMC0uOCAwLTEuNiAwLTIuNEw2Ni40IDMzOGMtMzUuMyAxLjItNjUtMjYuNC02Ni4yLTYxLjd6bTYzLjQtMTguMmMtOC44IC4zLTE1LjcgNy43LTE1LjQgMTYuNnM3LjcgMTUuNyAxNi41IDE1LjRsMTYxLjUtNS42YzkuOC0uMyAxOC43IDUuMyAyMi43IDE0LjJzMi4yIDE5LjMtNC41IDI2LjRjLTIuOCAyLjktNC40IDYuNy00LjQgMTEgMCA4LjggNy4yIDE2IDE2IDE2IDkuMSAwIDE3LjQgNS4xIDIxLjUgMTMuM3MzLjIgMTcuOS0yLjMgMjUuMWMtMiAyLjctMy4yIDYtMy4yIDkuNiAwIDguOCA3LjIgMTYgMTYgMTZsMTA0IDBjMzkuOCAwIDcyLTMyLjIgNzItNzJsMC0xMjUuNGMwLTE4LjQtNC45LTM2LjUtMTQuMi01Mi40bC0xLjUtMi42Yy0xOC42LTMyLTUyLjgtNTEuNi04OS44LTUxLjZsLTEwLjIgMGMtMTEuMyAwLTIyIDQuOC0yOS42IDEzLjFsMCAwLTE4LjQgMjAuM2MtLjYgLjYtMS4xIDEuMy0xLjcgMS45bDU3IDEzLjJjOC42IDIgMTQgMTAuNiAxMiAxOS4ycy0xMC42IDE0LTE5LjIgMTJMMjYyLjggMTcxLjggNzQuMyAxMzBjLTguNi0xLjktMTcuMiAzLjUtMTkuMSAxMi4yczMuNSAxNy4yIDEyLjIgMTkuMWwxODcuNSA0MS42YzEwLjIgMi4zIDE3LjggMTAuOSAxOC43IDIxLjRsLjEgMWMuNiA2LjYtMS41IDEzLjEtNS44IDE4LjFzLTEwLjYgNy45LTE3LjIgOC4yTDYzLjYgMjU4LjF6Il19LGpfdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJnZW0iLGljb246WzUxMiw1MTIsWzEyODE0Ml0sImYzYTUiLCJNMTY4LjUgNzJsODcuNSA5MyA4Ny41LTkzLTE3NSAwek0zODMuOSA5OS4xbC03Mi4zIDc2LjkgMTI5IDAtNTYuNi03Ni45em01MCAxMjQuOUw3OC4xIDIyNCAyNTYgNDIwLjMgNDMzLjkgMjI0ek03MS41IDE3NmwxMjkgMC03Mi4zLTc2LjktNTYuNiA3Ni45em00MzQuMyA0MC4xbC0yMzIgMjU2Yy00LjUgNS0xMSA3LjktMTcuOCA3LjlzLTEzLjItMi45LTE3LjgtNy45bC0yMzItMjU2Yy03LjctOC41LTguMy0yMS4yLTEuNS0zMC40bDExMi0xNTJjNC41LTYuMSAxMS43LTkuOCAxOS4zLTkuOGwyNDAgMGM3LjYgMCAxNC44IDMuNiAxOS4zIDkuOGwxMTIgMTUyYzYuOCA5LjIgNi4xIDIxLjktMS41IDMwLjR6Il19LEFiPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InJlY3RhbmdsZS14bWFyayIsaWNvbjpbNTEyLDUxMixbNjIxNjQsInJlY3RhbmdsZS10aW1lcyIsInRpbWVzLXJlY3RhbmdsZSIsIndpbmRvdy1jbG9zZSJdLCJmNDEwIiwiTTY0IDExMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjU2YzAgOC44IDcuMiAxNiAxNiAxNmwzODQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNTZjMC04LjgtNy4yLTE2LTE2LTE2TDY0IDExMnpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptMzM0LjEgNDkuOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNDQuMSA0NC4xIDQ0LjEgNDQuMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00NC4xLTQ0LjEtNDQuMSA0NC4xYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDQ0LjEtNDQuMS00NC4xLTQ0LjFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0NC4xIDQ0LjEgNDQuMS00NC4xYzkuNC05LjQgMjQuNi05LjQgMzMuOSAweiJdfSxVX3Q9QWIsV190PUFiLEdfdD1BYixOYj17cHJlZml4OiJmYXIiLGljb25OYW1lOiJ0cmFzaC1jYW4iLGljb246WzQ0OCw1MTIsWzYxNDYwLCJ0cmFzaC1hbHQiXSwiZjJlZCIsIk0xNjYuMi0xNmMtMTMuMyAwLTI1LjMgOC4zLTMwIDIwLjhMMTIwIDQ4IDI0IDQ4QzEwLjcgNDggMCA1OC43IDAgNzJTMTAuNyA5NiAyNCA5Nmw0MDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtOTYgMC0xNi4yLTQzLjJDMzA3LjEtNy43IDI5NS4yLTE2IDI4MS44LTE2TDE2Ni4yLTE2ek0zMiAxNDRsMCAzMDRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMDQtNDggMCAwIDMwNGMwIDguOC03LjIgMTYtMTYgMTZMOTYgNDY0Yy04LjggMC0xNi03LjItMTYtMTZsMC0zMDQtNDggMHptMTYwIDcyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTc2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNzZ6bTExMiAwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTc2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNzZ6Il19LFlfdD1OYixLX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibGlmZS1yaW5nIixpY29uOls1MTIsNTEyLFtdLCJmMWNkIiwiTTM4NS4xIDQxOS4xQzM0OS43IDQ0Ny4yIDMwNC44IDQ2NCAyNTYgNDY0cy05My43LTE2LjgtMTI5LjEtNDQuOWw4MC40LTgwLjRjMTQuMyA4LjQgMzEgMTMuMyA0OC44IDEzLjNzMzQuNS00LjggNDguOC0xMy4zbDgwLjQgODAuNHptNjguMSAuMkM0ODkuOSAzNzQuOSA1MTIgMzE4LjEgNTEyIDI1NlM0ODkuOSAxMzcuMSA0NTMuMiA5Mi43TDQ2NSA4MWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDQxOS4zIDU4LjhDMzc0LjkgMjIuMSAzMTguMSAwIDI1NiAwUzEzNy4xIDIyLjEgOTIuNyA1OC44TDgxIDQ3Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMzNy43IDcxLjYgNDcgODFMNTguOCA5Mi43QzIyLjEgMTM3LjEgMCAxOTMuOSAwIDI1NlMyMi4xIDM3NC45IDU4LjggNDE5LjNMNDcgNDMxYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMTEuOC0xMS44QzEzNy4xIDQ4OS45IDE5My45IDUxMiAyNTYgNTEyczExOC45LTIyLjEgMTYzLjMtNTguOEw0MzEgNDY1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTEuOC0xMS44em0tMzQuMS0zNC4xbC04MC40LTgwLjRjOC40LTE0LjMgMTMuMy0zMSAxMy4zLTQ4LjhzLTQuOC0zNC41LTEzLjMtNDguOGw4MC40LTgwLjRDNDQ3LjIgMTYyLjMgNDY0IDIwNy4yIDQ2NCAyNTZzLTE2LjggOTMuNy00NC45IDEyOS4xek0zODUuMSA5Mi45bC04MC40IDgwLjRjLTE0LjMtOC40LTMxLTEzLjMtNDguOC0xMy4zcy0zNC41IDQuOC00OC44IDEzLjNMMTI2LjkgOTIuOUMxNjIuMyA2NC44IDIwNy4yIDQ4IDI1NiA0OHM5My43IDE2LjggMTI5LjEgNDQuOXpNMTczLjMgMzA0LjhMOTIuOSAzODUuMUM2NC44IDM0OS43IDQ4IDMwNC44IDQ4IDI1NnMxNi44LTkzLjcgNDQuOS0xMjkuMWw4MC40IDgwLjRjLTguNCAxNC4zLTEzLjMgMzEtMTMuMyA0OC44czQuOCAzNC41IDEzLjMgNDguOHpNMjA4IDI1NmE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAweiJdfSxaX3Q9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY29weXJpZ2h0IixpY29uOls1MTIsNTEyLFsxNjldLCJmMWY5IiwiTTI1NiA0OGEyMDggMjA4IDAgMSAxIDAgNDE2IDIwOCAyMDggMCAxIDEgMC00MTZ6bTAgNDY0YTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjA1LjEgMzA2LjljLTI4LjEtMjguMS0yOC4xLTczLjcgMC0xMDEuOHM3My43LTI4LjEgMTAxLjggMGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjljLTQ2LjktNDYuOS0xMjIuOC00Ni45LTE2OS43IDBzLTQ2LjkgMTIyLjggMCAxNjkuNyAxMjIuOCA0Ni45IDE2OS43IDBjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGMtMjguMSAyOC4xLTczLjcgMjguMS0xMDEuOCAweiJdfSxWcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLWxlZnQiLGljb246WzUxMiw1MTIsWzYxODQwLCJhcnJvdy1hbHQtY2lyY2xlLWxlZnQiXSwiZjM1OSIsIk00OCAyNTZhMjA4IDIwOCAwIDEgMSA0MTYgMCAyMDggMjA4IDAgMSAxIC00MTYgMHptNDY0IDBhMjU2IDI1NiAwIDEgMCAtNTEyIDAgMjU2IDI1NiAwIDEgMCA1MTIgMHpNMTI0LjcgMjQ0LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42bDEwNCAxMDRjNC42IDQuNiAxMS41IDUuOSAxNy40IDMuNXM5LjktOC4zIDkuOS0xNC44bDAtNzIgMTA0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xNmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMTA0IDAgMC03MmMwLTYuNS0zLjktMTIuMy05LjktMTQuOHMtMTIuOS0xLjEtMTcuNCAzLjVsLTEwNCAxMDR6Il19LFhfdD1WcGUsUV90PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNhbGVuZGFyIixpY29uOls0NDgsNTEyLFsxMjgxOTcsMTI4MTk4XSwiZjEzMyIsIk0xMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwIDE2MCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTAgMTEybC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCA0OCAzNTIgMCAwLTQ4YzAtOC44LTcuMi0xNi0xNi0xNmwtMjY0IDB6TTQ4IDIyNGwwIDE5MmMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTkyLTM1MiAweiJdfSxqcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1mcm93bi1vcGVuIixpY29uOls1MTIsNTEyLFsxMjg1NTAsImZyb3duLW9wZW4iXSwiZjU3YSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6TTE4Mi40IDM4Mi41Yy0xMi40IDUuMi0yNi41LTQuMS0yMS4xLTE2LjQgMTYtMzYuNiA1Mi40LTYyLjEgOTQuOC02Mi4xczc4LjggMjUuNiA5NC44IDYyLjFjNS40IDEyLjMtOC43IDIxLjYtMjEuMSAxNi40LTIyLjQtOS41LTQ3LjQtMTQuOC03My43LTE0LjhzLTUxLjMgNS4zLTczLjcgMTQuOHpNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxKX3Q9anBlLFVwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaGFydC1iYXIiLGljb246WzUxMiw1MTIsWyJiYXItY2hhcnQiXSwiZjA4MCIsIk00OCA1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNFMwIDQyLjcgMCA1NkwwIDQwMGMwIDQ0LjIgMzUuOCA4MCA4MCA4MGw0MDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw4MCA0MzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDQ4IDU2em0xMDQgNzJsMjA4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMTUyIDgwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0em0wIDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHptMCAxMTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI3MiAweiJdfSxlVHQ9VXBlLEViPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhvdXNlIixpY29uOls1MTIsNTEyLFsxMjc5NjgsNjM0OTgsNjM1MDAsImhvbWUiLCJob21lLWFsdCIsImhvbWUtbGctYWx0Il0sImYwMTUiLCJNMjQwIDYuMWM5LjEtOC4yIDIyLjktOC4yIDMyIDBsMjMyIDIwOGM5LjkgOC44IDEwLjcgMjQgMS44IDMzLjlzLTI0IDEwLjctMzMuOSAxLjhsLTgtNy4yIDAgMjA1LjNjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTI4OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTIwNS4zLTggNy4yYy05LjkgOC44LTI1IDgtMzMuOS0xLjhzLTgtMjUgMS44LTMzLjlMMjQwIDYuMXptMTYgNTAuMUw5NiAxOTkuNyA5NiA0NDhjMCA4LjggNy4yIDE2IDE2IDE2bDQ4IDAgMC0xMDRjMC0zOS44IDMyLjItNzIgNzItNzJsNDggMGMzOS44IDAgNzIgMzIuMiA3MiA3MmwwIDEwNCA0OCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0OC4zLTE2MC0xNDMuNHpNMjA4IDQ2NGw5NiAwIDAtMTA0YzAtMTMuMy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDEwNHoiXX0sdFR0PUViLGFUdD1FYixyVHQ9RWIsV3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZnJvd24iLGljb246WzUxMiw1MTIsWzk3ODUsImZyb3duIl0sImYxMTkiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0zMzQuNyAzODQuNkMzMTkuNyAzNjkgMjkzLjYgMzUyIDI1NiAzNTJzLTYzLjcgMTctNzguNyAzMi42Yy05LjIgOS42LTI0LjQgOS45LTMzLjkgLjdzLTkuOS0yNC40LS43LTMzLjljMjIuMS0yMyA2MC00Ny40IDExMy4zLTQ3LjRzOTEuMiAyNC40IDExMy4zIDQ3LjRjOS4yIDkuNiA4LjkgMjQuOC0uNyAzMy45cy0yNC44IDguOS0zMy45LS43ek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LHNUdD1XcGUsd2VlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InVzZXIiLGljb246WzQ0OCw1MTIsWzEyODEwMCw2MjE0NCw2MjQ3MCwidXNlci1hbHQiLCJ1c2VyLWxhcmdlIl0sImYwMDciLCJNMTQ0IDEyOGE4MCA4MCAwIDEgMSAxNjAgMCA4MCA4MCAwIDEgMSAtMTYwIDB6bTIwOCAwYTEyOCAxMjggMCAxIDAgLTI1NiAwIDEyOCAxMjggMCAxIDAgMjU2IDB6TTQ4IDQ4MGMwLTcwLjcgNTcuMy0xMjggMTI4LTEyOGw5NiAwYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4bDAgOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtOGMwLTk3LjItNzguOC0xNzYtMTc2LTE3NmwtOTYgMEM3OC44IDMwNCAwIDM4Mi44IDAgNDgwbDAgOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtOHoiXX0saVR0PXdlZSxvVHQ9d2VlLG5UdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzbm93Zmxha2UiLGljb246WzUxMiw1MTIsWzEwMDUyLDEwMDU0XSwiZjJkYyIsIk0yODAuMS04YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNzguMS0yMy0yM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw1NyA1NyAwIDc2LjUtNjYuMi0zOC4yLTIwLjktNzcuOGMtMy40LTEyLjgtMTYuNi0yMC40LTI5LjQtMTdTOTUuMiA5OCA5OC43IDExMC44bDguNCAzMS41LTY3LjYtMzlDMjggOTYuNiAxMy4zIDEwMC41IDYuNyAxMTJTNCAxMzguMiAxNS41IDE0NC44bDY3LjYgMzktMzEuNSA4LjRjLTEyLjggMy40LTIwLjQgMTYuNi0xNyAyOS40czE2LjYgMjAuNCAyOS40IDE3bDc3LjgtMjAuOSA2Ni4yIDM4LjItNjYuMiAzOC4yLTc3LjgtMjAuOWMtMTIuOC0zLjQtMjYgNC4yLTI5LjQgMTdzNC4yIDI2IDE3IDI5LjRsMzEuNSA4LjQtNjcuNiAzOUM0IDM3My44IC4xIDM4OC41IDYuNyA0MDBzMjEuMyAxNS40IDMyLjggOC44bDY3LjYtMzktOC40IDMxLjVjLTMuNCAxMi44IDQuMiAyNiAxNyAyOS40czI2LTQuMiAyOS40LTE3bDIwLjktNzcuOCA2Ni4yLTM4LjIgMCA3Ni41LTU3IDU3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMjMtMjMgMCA3OC4xYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC03OC4xIDIzIDIzYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTctNTcgMC03Ni41IDY2LjIgMzguMiAyMC45IDc3LjhjMy40IDEyLjggMTYuNiAyMC40IDI5LjQgMTdzMjAuNC0xNi42IDE3LTI5LjRsLTguNC0zMS41IDY3LjYgMzljMTEuNSA2LjYgMjYuMiAyLjcgMzIuOC04LjhzMi43LTI2LjItOC44LTMyLjhsLTY3LjYtMzkgMzEuNS04LjRjMTIuOC0zLjQgMjAuNC0xNi42IDE3LTI5LjRzLTE2LjYtMjAuNC0yOS40LTE3bC03Ny44IDIwLjktNjYuMi0zOC4yIDY2LjItMzguMiA3Ny44IDIwLjljMTIuOCAzLjQgMjYtNC4yIDI5LjQtMTdzLTQuMi0yNi0xNy0yOS40bC0zMS41LTguNCA2Ny42LTM5YzExLjUtNi42IDE1LjQtMjEuMyA4LjgtMzIuOHMtMjEuMy0xNS40LTMyLjgtOC44bC02Ny42IDM5IDguNC0zMS41YzMuNC0xMi44LTQuMi0yNi0xNy0yOS40cy0yNiA0LjItMjkuNCAxN2wtMjAuOSA3Ny44LTY2LjIgMzguMiAwLTc2LjUgNTctNTdjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMjMgMjMgMC03OC4xeiJdfSxsVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiYm9va21hcmsiLGljb246WzM4NCw1MTIsWzEyODI3OCw2MTU5MV0sImYwMmUiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA0MTcuMWMwIDI1LjYtMjguNSA0MC44LTQ5LjggMjYuNkwxOTIgNDEyLjggNDkuOCA1MDcuN0MyOC41IDUyMS45IDAgNTA2LjYgMCA0ODEuMUwwIDY0ek02NCA0OGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzg3LjIgMTE3LjQtNzguMmMxNi4xLTEwLjcgMzcuMS0xMC43IDUzLjIgMEwzMzYgNDUxLjIgMzM2IDY0YzAtOC44LTcuMi0xNi0xNi0xNkw2NCA0OHoiXX0sR3BlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6InNxdWFyZS1jYXJldC1sZWZ0IixpY29uOls0NDgsNTEyLFsiY2FyZXQtc3F1YXJlLWxlZnQiXSwiZjE5MSIsIk00OCA0MTZjMCA4LjggNy4yIDE2IDE2IDE2bDMyMCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyMGMwLTguOC03LjItMTYtMTYtMTZMNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMHptMTYgNjRjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwem02NC0yMjRjMC02LjcgMi44LTEzIDcuNy0xNy42bDExMi0xMDRjNy02LjUgMTcuMi04LjIgMjUuOS00LjRTMjg4IDE0Mi41IDI4OCAxNTJsMCAyMDhjMCA5LjUtNS43IDE4LjItMTQuNCAyMnMtMTguOSAyLjEtMjUuOS00LjRsLTExMi0xMDRjLTQuOS00LjUtNy43LTEwLjktNy43LTE3LjZ6Il19LGNUdD1HcGUsTWVlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhhbmRzaGFrZSIsaWNvbjpbNjQwLDUxMixbMTI5MzA5LDYyNjYyLCJoYW5kc2hha2UtYWx0IiwiaGFuZHNoYWtlLXNpbXBsZSJdLCJmMmI1IiwiTTU5OC4xIDc1LjRjMTAuNy03LjggMTMuMS0yMi44IDUuMy0zMy41cy0yMi44LTEzLjEtMzMuNS01LjNsLTc0LjUgNTQuMi05LjktNi42QzQ2NS44IDcxIDQ0Mi42IDY0IDQxOC45IDY0bC01OS4yIDAtLjQgMC0xNDMuNiAwYy0yNi43IDAtNTIuNSA4LjktNzMuNCAyNS4xTDcwLjEgMzYuNmMtMTAuNy03LjgtMjUuNy01LjQtMzMuNSA1LjNzLTUuNCAyNS43IDUuMyAzMy41bDg4IDY0YzkuNiA2LjkgMjIuNyA1LjkgMzEuMS0yLjRsMy45LTMuOWMxMy41LTEzLjUgMzEuOC0yMS4xIDUwLjktMjEuMWw0Ni4zIDAtOTEuNyA5MS43Yy0xNS42IDE1LjYtMTUuNiA0MC45IDAgNTYuNmwuOCAuOEMyMTggMzA4IDI5NCAzMDggMzQwLjkgMjYxLjFsMjcuMS0yNy4xIDk3LjggOTcuOGMxNS42IDE1LjYgMTUuNiA0MC45IDAgNTYuNmwtOS44IDkuOC0zMS0zMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwyOCAyOGMtMTcuNSAxMC40LTM3LjIgMTYuNy01Ny42IDE4LjVMMzEzIDM5OWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwxNSAxNS0zLjggMGMtMzYuMSAwLTcwLjctMTQuMy05Ni4yLTM5LjhMNjUgMjc5Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45TDE2MC4yIDQ0Mi4xYzM0LjUgMzQuNSA4MS4zIDUzLjkgMTMwLjEgNTMuOWw1MS44IDAgMSAxIDEtMSA1LjcgMGM0OC44IDAgOTUuNi0xOS40IDEzMC4xLTUzLjlsMTkuOS0xOS45YzEuMi0xLjIgMi4zLTIuMyAzLjQtMy41IC43LS41IDEuMy0xLjEgMS45LTEuN0w2MDkgMzEzYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTUzLjggNTMuOGMtNC4yLTEyLjgtMTEuMy0yNC45LTIxLjUtMzUuMUwzODUgMTgzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtNDQuMSA0NC4xYy0yNi41IDI2LjUtNjguNSAyOC05Ni43IDQuNmw5OC43LTk4LjdjMTMuNC0xMy40IDMxLjYtMjEgNTAuNi0yMS4xbDguNSAwIC4yIDAgNTAuOCAwYzE0LjIgMCAyOC4xIDQuMiAzOS45IDEyLjFMNDgyLjcgMTQwYzguNCA1LjYgMTkuMyA1LjMgMjcuNC0uNmw4OC02NHoiXX0sZFR0PU1lZSx1VHQ9TWVlLFlwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLXNtaWxlLXdpbmsiLGljb246WzUxMiw1MTIsWzEyODUyMSwic21pbGUtd2luayJdLCJmNGRhIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTc3LjMgNjMuNEMxOTIuMyAzMzUgMjE4LjQgMzUyIDI1NiAzNTJzNjMuNy0xNyA3OC43LTMyLjZjOS4yLTkuNiAyNC40LTkuOSAzMy45LS43czkuOSAyNC40IC43IDMzLjljLTIyLjEgMjMtNjAgNDcuNC0xMTMuMyA0Ny40cy05MS4yLTI0LjQtMTEzLjMtNDcuNGMtOS4yLTkuNi04LjktMjQuOCAuNy0zMy45czI0LjgtOC45IDMzLjkgLjd6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTY0IDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwYzAtMzMuMSAyNi45LTYwIDYwLTYwbDE2IDBjMzMuMSAwIDYwIDI2LjkgNjAgNjAgMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwLTktMjAtMjAtMjBsLTE2IDBjLTExIDAtMjAgOS0yMCAyMHoiXX0scFR0PVlwZSxLcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluLXNxdWludC10ZWFycyIsaWNvbjpbNTEyLDUxMixbMTI5MzE1LCJncmluLXNxdWludC10ZWFycyJdLCJmNTg2IiwiTTQwMy4xIDQwMy4xYzY3LjItNjcuMiA3OC44LTE2OC45IDM0LjktMjQ4bDM2LjctNS4yYzQuNS0uNiA4LjgtMS42IDEzLjEtMi44IDQ0LjYgOTQuOSAyNy43IDIxMS41LTUwLjcgMjkwcy0xOTUuMSA5NS4zLTI5MCA1MC43YzEuMi00LjIgMi4xLTguNiAyLjgtMTMuMWw1LjItMzYuN2M3OS4xIDQzLjkgMTgwLjggMzIuMyAyNDgtMzQuOXpNNzUgNzVjNzguNC03OC40IDE5NS4xLTk1LjMgMjkwLTUwLjctMS4yIDQuMi0yLjEgOC42LTIuOCAxMy4xbC01LjIgMzYuN2MtNzkuMS00My45LTE4MC44LTMyLjMtMjQ4IDM0LjlzLTc4LjggMTY4LjktMzQuOSAyNDhsLTM2LjcgNS4yYy00LjUgLjYtOC44IDEuNi0xMy4xIDIuOC00NC42LTk0LjktMjcuNy0yMTEuNSA1MC43LTI5MHpNMzcwLjkgMjA2LjVjNS44LTEwLjkgMjEuMS0xMi40IDI2LjQtMS4zIDI1LjYgNTMuNSAxNi4yIDExOS42LTI4LjIgMTYzLjktNDQuMyA0NC4zLTExMC4zIDUzLjctMTYzLjggMjguMi0xMS4xLTUuMy05LjYtMjAuNiAxLjMtMjYuNCAzMi0xNy4xIDY0LjItNDAuOCA5My44LTcwLjQgMjkuNy0yOS43IDUzLjQtNjEuOSA3MC41LTk0ek05My4zIDI4MS45Yy0xLjctOCAyLjktMTUuOSAxMC42LTE4LjRsODQuNi0yOGM1LjctMS45IDEyLjEtLjQgMTYuMyAzLjlzNS44IDEwLjYgMy45IDE2LjNsLTI4IDg0LjZjLTIuNiA3LjctMTAuNSAxMi4zLTE4LjQgMTAuNnMtMTMuNC05LTEyLjctMTcuMWwzLjktNDMuMS00My4xIDMuOWMtOC4xIC43LTE1LjUtNC43LTE3LjEtMTIuN3pNMjk0LjYgMTEwLjRsLTMuOSA0My4xIDQzLjEtMy45YzguMS0uNyAxNS41IDQuNyAxNy4xIDEyLjdzLTIuOSAxNS45LTEwLjYgMTguNGwtODQuNiAyOGMtNS43IDEuOS0xMi4xIC40LTE2LjMtMy45cy01LjgtMTAuNi0zLjktMTYuM2wyOC04NC42YzIuNi03LjcgMTAuNS0xMi4zIDE4LjQtMTAuNnMxMy40IDkgMTIuNyAxNy4xek01MTIgNTEuNGMwIDI1LjYtMTguOCA0Ny4zLTQ0LjEgNTAuOUw0MjEuMSAxMDljLTEwLjYgMS41LTE5LjYtNy41LTE4LjEtMTguMWw2LjctNDYuN0M0MTMuMyAxOC44IDQzNSAwIDQ2MC42IDAgNDg5IDAgNTEyIDIzIDUxMiA1MS40ek00NC4xIDQwOS43TDkwLjkgNDAzYzEwLjYtMS41IDE5LjYgNy41IDE4LjEgMTguMWwtNi43IDQ2LjdDOTguNyA0OTMuMiA3NyA1MTIgNTEuNCA1MTIgMjMgNTEyIDAgNDg5IDAgNDYwLjYgMCA0MzUgMTguOCA0MTMuMyA0NC4xIDQwOS43eiJdfSxmVHQ9S3BlLGhUdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLWF1ZGlvIixpY29uOlszODQsNTEyLFtdLCJmMWM3IiwiTTY0IDQ4bDExMiAwIDAgODhjMCAzOS44IDMyLjIgNzIgNzIgNzJsODggMCAwIDI0MGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMNDggNjRjMC04LjggNy4yLTE2IDE2LTE2ek0yMjQgNjcuOWw5Mi4xIDkyLjEtNjguMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTY4LjF6TTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjYxLjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjQyLjcgMTguN0MyMzAuNyA2LjcgMjE0LjUgMCAxOTcuNSAwTDY0IDB6TTIyMS45IDI2Ny42Yy00LjcgMTAtLjMgMjEuOSA5LjcgMjYuNiAxOS4yIDguOSAzMi40IDI4LjMgMzIuNCA1MC44cy0xMy4yIDQxLjktMzIuNCA1MC44Yy0xMCA0LjctMTQuNCAxNi42LTkuNyAyNi42czE2LjYgMTQuNCAyNi42IDkuN0MyODEuMiA0MTYuOCAzMDQgMzgzLjYgMzA0IDM0NXMtMjIuOC03MS45LTU1LjYtODcuMWMtMTAtNC43LTIxLjktLjMtMjYuNiA5Ljd6TTEwNCAzMDVjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTYgMCAyNy4yIDM0YzMgMy44IDcuNiA2IDEyLjUgNmwuMyAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTEyOGMwLTguOC03LjItMTYtMTYtMTZsLS4zIDBjLTQuOSAwLTkuNSAyLjItMTIuNSA2bC0yNy4yIDM0LTE2IDB6TTIyMy4zIDM3M2M5LjktNS40IDE2LjctMTYgMTYuNy0yOC4xcy02LjctMjIuNy0xNi43LTI4LjFjLTcuOC00LjItMTUuMyAzLjMtMTUuMyAxMi4xbDAgMzJjMCA4LjggNy42IDE2LjMgMTUuMyAxMi4xeiJdfSxacGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2FsZW5kYXIteG1hcmsiLGljb246WzQ0OCw1MTIsWyJjYWxlbmRhci10aW1lcyJdLCJmMjczIiwiTTEyMCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDAgMTYwIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHptMCAxMTJsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI4OGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjg4YzAtOC44LTcuMi0xNi0xNi0xNmwtMjY0IDB6bTE3MS45IDkyLjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTMzLjkgMzMuOSAzMy45IDMzLjljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtMzMuOS0zMy45LTMzLjkgMzMuOWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMy45LTMzLjktMzMuOS0zMy45Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzMuOSAzMy45IDMzLjktMzMuOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHoiXX0sbVR0PVpwZSxYcGU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2lyY2xlLWRvd24iLGljb246WzUxMiw1MTIsWzYxNDY2LCJhcnJvdy1hbHQtY2lyY2xlLWRvd24iXSwiZjM1OCIsIk0yNTYgNDY0YTIwOCAyMDggMCAxIDEgMC00MTYgMjA4IDIwOCAwIDEgMSAwIDQxNnpNMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMiAyNTYgMjU2IDAgMSAwIDAtNTEyek0yNDQuNyAzODcuM2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGwxMDQtMTA0YzQuNi00LjYgNS45LTExLjUgMy41LTE3LjRTMzY2LjUgMjU2IDM2MCAyNTZsLTcyIDAgMC0xMDRjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTE2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTA0LTcyIDBjLTYuNSAwLTEyLjMgMy45LTE0LjggOS45cy0xLjEgMTIuOSAzLjUgMTcuNGwxMDQgMTA0eiJdfSxnVHQ9WHBlLGtlZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLWxpbmVzIixpY29uOlszODQsNTEyLFsxMjg0NDEsMTI4NDYyLDYxNjg2LCJmaWxlLWFsdCIsImZpbGUtdGV4dCJdLCJmMTVjIiwiTTY0IDQ4bDExMiAwIDAgODhjMCAzOS44IDMyLjIgNzIgNzIgNzJsODggMCAwIDI0MGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMNDggNjRjMC04LjggNy4yLTE2IDE2LTE2ek0yMjQgNjcuOWw5Mi4xIDkyLjEtNjguMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTY4LjF6TTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjYxLjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjQyLjcgMTguN0MyMzAuNyA2LjcgMjE0LjUgMCAxOTcuNSAwTDY0IDB6bTU2IDI1NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAweiJdfSxiVHQ9a2VlLHZUdD1rZWUseFR0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNvbW1lbnRzIixpY29uOls1NzYsNTEyLFsxMjg0OTAsNjE2NzBdLCJmMDg2IiwiTTc2LjIgMjU4LjdjNi4xLTE1LjIgNC0zMi42LTUuNi00NS45LTE0LjUtMjAuMS0yMi42LTQzLjctMjIuNi02OC44IDAtNjYuOCA2MC41LTEyOCAxNDQtMTI4czE0NCA2MS4yIDE0NCAxMjgtNjAuNSAxMjgtMTQ0IDEyOGMtMTUuOSAwLTMxLjEtMi4zLTQ1LjMtNi41LTEwLjMtMy4xLTIxLjQtMi41LTMxLjQgMS41bC01MC40IDIwLjIgMTEuNC0yOC41ek0wIDE0NGMwIDM1LjggMTEuNiA2OS4xIDMxLjcgOTYuOEwxLjkgMzE1LjJjLTEuMyAzLjItMS45IDYuNi0xLjkgMTAgMCAxNC44IDEyIDI2LjggMjYuOCAyNi44IDMuNCAwIDYuOC0uNyAxMC0xLjlsOTYuMy0zOC41YzE4LjYgNS41IDM4LjQgOC40IDU4LjkgOC40IDEwNiAwIDE5Mi03OC44IDE5Mi0xNzZTMjk4LTMyIDE5Mi0zMiAwIDQ2LjggMCAxNDR6TTM4NCA1MTJjMjAuNiAwIDQwLjMtMyA1OC45LTguNGw5Ni4zIDM4LjVjMy4yIDEuMyA2LjYgMS45IDEwIDEuOSAxNC44IDAgMjYuOC0xMiAyNi44LTI2LjggMC0zLjQtLjctNi44LTEuOS0xMGwtMjkuNy03NC40YzIwLTI3LjggMzEuNy02MS4xIDMxLjctOTYuOCAwLTgyLjQtNjEuNy0xNTEuNS0xNDUtMTcwLjctMS42IDE2LjMtNS4xIDMxLjktMTAuMSA0Ni45IDYzLjkgMTQuOCAxMDcuMiA2Ny4zIDEwNy4yIDEyMy45IDAgMjUuMS04LjEgNDguNy0yMi42IDY4LjgtOS42IDEzLjMtMTEuNyAzMC42LTUuNiA0NS45bDExLjQgMjguNS01MC40LTIwLjJjLTEwLTQtMjEuMS00LjUtMzEuNC0xLjUtMTQuMiA0LjItMjkuNCA2LjUtNDUuMyA2LjUtNzIuMiAwLTEyNy4xLTQ1LjctMTQwLjctMTAxLjItMTUuNiAzLjItMzEuNyA1LTQ4LjEgNS4yIDE2LjQgODEuOSA5NC43IDE0NCAxODguOCAxNDR6Il19LFJiPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1jaGVjayIsaWNvbjpbNTEyLDUxMixbNjE1MzMsImNoZWNrLWNpcmNsZSJdLCJmMDU4IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMSAwLTUxMiAyNTYgMjU2IDAgMSAxIDAgNTEyem0wLTQ2NGEyMDggMjA4IDAgMSAwIDAgNDE2IDIwOCAyMDggMCAxIDAgMC00MTZ6bTcwLjcgMTIxLjljNy44LTEwLjcgMjIuOC0xMy4xIDMzLjUtNS4zIDEwLjcgNy44IDEzLjEgMjIuOCA1LjMgMzMuNUwyNDMuNCAzNjYuMWMtNC4xIDUuNy0xMC41IDkuMy0xNy41IDkuOC03IC41LTEzLjktMi0xOC44LTYuOWwtNTUuOS01NS45Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzYgMzYgMTA1LjYtMTQ1LjJ6Il19LHlUdD1SYix3VHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibW9vbiIsaWNvbjpbNTEyLDUxMixbMTI3NzY5LDkyMTRdLCJmMTg2IiwiTTIzOS4zIDQ4LjdjLTEwNy4xIDguNS0xOTEuMyA5OC4xLTE5MS4zIDIwNy4zIDAgMTE0LjkgOTMuMSAyMDggMjA4IDIwOCAzMy4zIDAgNjQuNy03LjggOTIuNi0yMS43LTEwMy40LTIzLjQtMTgwLjYtMTE1LjgtMTgwLjYtMjI2LjMgMC02NS44IDI3LjQtMTI1LjEgNzEuMy0xNjcuM3pNMCAyNTZjMC0xNDEuNCAxMTQuNi0yNTYgMjU2LTI1NiAxOS40IDAgMzguNCAyLjIgNTYuNyA2LjMgOS45IDIuMiAxNy4zIDEwLjUgMTguNSAyMC41cy00IDE5LjgtMTMuMSAyNC40Yy02MC42IDMwLjItMTAyLjEgOTIuNy0xMDIuMSAxNjQuOCAwIDEwMS42IDgyLjQgMTg0IDE4NCAxODQgNSAwIDkuOS0uMiAxNC44LS42IDEwLjEtLjggMTkuNiA0LjggMjMuOCAxNC4xczIgMjAuMS01LjMgMjcuMUMzODcuMyA0ODQuOCAzMjQuOCA1MTIgMjU2IDUxMiAxMTQuNiA1MTIgMCAzOTcuNCAwIDI1NnoiXX0sTVR0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNsb3NlZC1jYXB0aW9uaW5nIixpY29uOls1MTIsNTEyLFtdLCJmMjBhIiwiTTQ0OCAxMTJjOC44IDAgMTYgNy4yIDE2IDE2bDAgMjU2YzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0MDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTI1NmMwLTguOCA3LjItMTYgMTYtMTZsMzg0IDB6TTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0em04OCAxNDRsMzIgMGM0LjQgMCA4IDMuNiA4IDggMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTMwLjktMjUuMS01Ni01Ni01NmwtMzIgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4MGMwIDMwLjkgMjUuMSA1NiA1NiA1NmwzMiAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2IDAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgNC40LTMuNiA4LTggOGwtMzIgMGMtNC40IDAtOC0zLjYtOC04bDAtODBjMC00LjQgMy42LTggOC04em0xNjggOGMwLTQuNCAzLjYtOCA4LThsMzIgMGM0LjQgMCA4IDMuNiA4IDggMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTMwLjktMjUuMS01Ni01Ni01NmwtMzIgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCA4MGMwIDMwLjkgMjUuMSA1NiA1NiA1NmwzMiAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2IDAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgNC40LTMuNiA4LTggOGwtMzIgMGMtNC40IDAtOC0zLjYtOC04bDAtODB6Il19LGtUdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJpbWFnZXMiLGljb246WzU3Niw1MTIsW10sImYzMDIiLCJNNDgwIDgwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDI1NmMwIDguOC03LjIgMTYtMTYgMTZsLTMyMCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yNTZjMC04LjggNy4yLTE2IDE2LTE2bDMyMCAwek0xNjAgMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMjU2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDE2MCAzMnptODAgMTEyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTE0MC43IDMuOGMtNC4zLTcuMy0xMi4yLTExLjgtMjAuNy0xMS44cy0xNi40IDQuNS0yMC43IDExLjhsLTQ2LjUgNzktMTcuMi0yNC42Yy00LjUtNi40LTExLjgtMTAuMi0xOS43LTEwLjJzLTE1LjIgMy44LTE5LjcgMTAuMmwtNTYgODBjLTUuMSA3LjMtNS44IDE2LjktMS42IDI0LjhTMTkxLjEgMzIwIDIwMCAzMjBsMjQwIDBjOC42IDAgMTYuNi00LjYgMjAuOC0xMi4xczQuMi0xNi43LS4xLTI0LjFsLTgwLTEzNnpNNDggMTUyYzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMTM4LjcgMCAxNTJMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzYwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMNjQgNDY0Yy04LjggMC0xNi03LjItMTYtMTZsMC0yOTZ6Il19LFFwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUtcmlnaHQiLGljb246WzUxMiw1MTIsWzYxODM4LCJhcnJvdy1hbHQtY2lyY2xlLXJpZ2h0Il0sImYzNWEiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAxIC00MTYgMCAyMDggMjA4IDAgMSAxIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwIDI1NiAyNTYgMCAxIDAgLTUxMiAwem0zODcuMyAxMS4zYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42bC0xMDQtMTA0Yy00LjYtNC42LTExLjUtNS45LTE3LjQtMy41UzI1NiAxNDUuNSAyNTYgMTUybDAgNzItMTA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTA0IDAgMCA3MmMwIDYuNSAzLjkgMTIuMyA5LjkgMTQuOHMxMi45IDEuMSAxNy40LTMuNWwxMDQtMTA0eiJdfSxTVHQ9UXBlLEpwZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJpZC1jYXJkIixpY29uOls1NzYsNTEyLFs2MjE0NywiZHJpdmVycy1saWNlbnNlIl0sImYyYzIiLCJNNDggNDE2bDAtMjU2IDQ4MCAwIDAgMjU2YzAgOC44LTcuMiAxNi0xNiAxNmwtMTkyIDBjMC00NC4yLTM1LjgtODAtODAtODBsLTY0IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwbC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZ6TTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTIwOCAzMTJhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTM3NiAyMDhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAweiJdfSx6VHQ9SnBlLGVmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjaXJjbGUtcGxheSIsaWNvbjpbNTEyLDUxMixbNjE0NjksInBsYXktY2lyY2xlIl0sImYxNDQiLCJNMjU2IDQ4YTIwOCAyMDggMCAxIDEgMCA0MTYgMjA4IDIwOCAwIDEgMSAwLTQxNnptMCA0NjRhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMTIuNSAxNDcuNWMtNy40LTQuNS0xNi43LTQuNy0yNC4zLS41UzE3NiAxNTkuMyAxNzYgMTY4bDAgMTc2YzAgOC43IDQuNyAxNi43IDEyLjMgMjAuOXMxNi44IDQuMSAyNC4zLS41bDE0NC04OGM3LjEtNC40IDExLjUtMTIuMSAxMS41LTIwLjVzLTQuNC0xNi4xLTExLjUtMjAuNWwtMTQ0LTg4ek0yOTggMjU2bC03NCA0NS4yIDAtOTAuNCA3NCA0NS4yeiJdfSxDVHQ9ZWZlLHRmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWxhdWdoLWJlYW0iLGljb246WzUxMiw1MTIsWzEyODUxMywibGF1Z2gtYmVhbSJdLCJmNTlhIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTE4LjMgNTguMmMtNC4yLTEzLjcgNy4xLTI2LjIgMjEuNC0yNi4ybDIzMi42IDBjMTQuMyAwIDI1LjYgMTIuNSAyMS40IDI2LjItMTggNTguOS03Mi45IDEwMS44LTEzNy43IDEwMS44UzEzNi4zIDM3My4xIDExOC4zIDMxNC4yek0xNzYgMTgwYy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0sX1R0PXRmZSxhZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiYWRkcmVzcy1ib29rIixpY29uOls1MTIsNTEyLFs2MjEzOCwiY29udGFjdC1ib29rIl0sImYyYjkiLCJNMzg0IDQ4YzguOCAwIDE2IDcuMiAxNiAxNmwwIDM4NGMwIDguOC03LjIgMTYtMTYgMTZMOTYgNDY0Yy04LjggMC0xNi03LjItMTYtMTZMODAgNjRjMC04LjggNy4yLTE2IDE2LTE2bDI4OCAwek05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI4OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDB6TTI0MCAyNDhhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6bS0zMiA0MGMtNDQuMiAwLTgwIDM1LjgtODAgODAgMCA4LjggNy4yIDE2IDE2IDE2bDE5MiAwYzguOCAwIDE2LTcuMiAxNi0xNiAwLTQ0LjItMzUuOC04MC04MC04MGwtNjQgMHpNNTEyIDgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0ek00OTYgMTkyYy04LjggMC0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2em0xNiAxNDRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNjR6Il19LFRUdD1hZmUscmZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImhvdXJnbGFzcyIsaWNvbjpbMzg0LDUxMixbOTIwMyw2MjAzMiwiaG91cmdsYXNzLWVtcHR5Il0sImYyNTQiLCJNMjQgMEMxMC43IDAgMCAxMC43IDAgMjRTMTAuNyA0OCAyNCA0OGw4IDAgMCAxOWMwIDQwLjMgMTYgNzkgNDQuNSAxMDcuNWw4MS41IDgxLjUtODEuNSA4MS41QzQ4IDM2NiAzMiA0MDQuNyAzMiA0NDVsMCAxOS04IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzM2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTggMCAwLTE5YzAtNDAuMy0xNi03OS00NC41LTEwNy41bC04MS41LTgxLjUgODEuNS04MS41QzMzNiAxNDYgMzUyIDEwNy4zIDM1MiA2N2wwLTE5IDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNFMzNzMuMyAwIDM2MCAwTDI0IDB6TTE5MiAyODkuOWw4MS41IDgxLjVDMjkzIDM5MSAzMDQgNDE3LjQgMzA0IDQ0NWwwIDE5LTIyNCAwIDAtMTljMC0yNy42IDExLTU0IDMwLjUtNzMuNUwxOTIgMjg5Ljl6bTAtNjcuOWwtODEuNS04MS41QzkxIDEyMSA4MCA5NC42IDgwIDY3bDAtMTkgMjI0IDAgMCAxOWMwIDI3LjYtMTEgNTQtMzAuNSA3My41TDE5MiAyMjIuMXoiXX0sTFR0PXJmZSxTZWU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGVhZHBob25lcyIsaWNvbjpbNDQ4LDUxMixbMTI3OTExLDYyODYzLCJoZWFkcGhvbmVzLWFsdCIsImhlYWRwaG9uZXMtc2ltcGxlIl0sImYwMjUiLCJNNDggMjI0YzAtOTcuMiA3OC44LTE3NiAxNzYtMTc2czE3NiA3OC44IDE3NiAxNzZsMCA0NC44Yy0xNC4xLTguMi0zMC41LTEyLjgtNDgtMTIuOGwtMTYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxMjhjMCAyNi41IDIxLjUgNDggNDggNDhsMTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMTYwQzQ0OCAxMDAuMyAzNDcuNyAwIDIyNCAwUzAgMTAwLjMgMCAyMjRMMCAzODRjMCA1MyA0MyA5NiA5NiA5NmwxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTI4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0xNiAwYy0xNy41IDAtMzMuOSA0LjctNDggMTIuOEw0OCAyMjR6bTAgMTI4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDE2IDAgMCAxMjgtMTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0zMnptMzUyIDBsMCAzMmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTYgMCAwLTEyOCAxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4eiJdfSwkVHQ9U2VlLERUdD1TZWUsQVR0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZpbGUtcG93ZXJwb2ludCIsaWNvbjpbMzg0LDUxMixbXSwiZjFjNCIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwem04OCAyNTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTI4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNiAyOCAwYzM3LjYgMCA2OC0zMC40IDY4LTY4cy0zMC40LTY4LTY4LTY4bC01MiAwem01MiA4OGwtMjggMCAwLTQwIDI4IDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIweiJdfSxFVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToid2luZG93LW1heGltaXplIixpY29uOls1MTIsNTEyLFsxMjg0NzBdLCJmMmQwIiwiTTQ4IDIyNGwwIDE2MGMwIDguOCA3LjIgMTYgMTYgMTZsMzg0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTYwLTQxNiAwek0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4eiJdfSxzZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY29tbWVudC1kb3RzIixpY29uOls1MTIsNTEyLFsxMjgxNzIsNjIwNzUsImNvbW1lbnRpbmciXSwiZjRhZCIsIk0wIDI0MGMwIDU0LjQgMTkuMyAxMDQuNiA1MS45IDE0NC45TDMuMSA0NzQuM2MtMiAzLjctMy4xIDcuOS0zLjEgMTIuMiAwIDE0LjEgMTEuNCAyNS41IDI1LjUgMjUuNSA0IDAgNy44LS42IDExLjUtMi4xTDE1My40IDQ2MGMzMS40IDEyLjkgNjYuMSAyMCAxMDIuNiAyMCAxNDEuNCAwIDI1Ni0xMDcuNSAyNTYtMjQwUzM5Ny40IDAgMjU2IDAgMCAxMDcuNSAwIDI0MHpNOTQgNDA3LjljOS4zLTE3LjEgNy40LTM4LjEtNC44LTUzLjItMjYuMS0zMi4zLTQxLjItNzEuOS00MS4yLTExNC43IDAtMTAzLjIgOTAuMi0xOTIgMjA4LTE5MnMyMDggODguOCAyMDggMTkyLTkwLjIgMTkyLTIwOCAxOTJjLTMwLjIgMC01OC43LTUuOS04NC4zLTE2LjQtMTEuOS00LjktMjUuMy00LjgtMzcuMSAuM0w3NiA0NDAuOSA5NCA0MDcuOXpNMTQ0IDI3MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTE0NC0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem04MCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LFBUdD1zZmUsaWZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi10b25ndWUtd2luayIsaWNvbjpbNTEyLDUxMixbMTI4NTQwLCJncmluLXRvbmd1ZS13aW5rIl0sImY1OGIiLCJNMzY2LjkgNDMyYy44LTUuMiAxLjEtMTAuNiAxLjEtMTZsMC01My41YzEwLjItMTIuNiAxOC4zLTI2LjkgMjMuOC00Mi41IDQuMS0xMS42LTcuOC0yMS40LTE5LjYtMTcuOC0zNC44IDEwLjYtNzQuMyAxNi42LTExNi4zIDE2LjYtNDEuOSAwLTgxLjQtNi0xMTYuMS0xNi41LTExLjgtMy42LTIzLjcgNi4xLTE5LjYgMTcuOCA1LjUgMTUuNSAxMy42IDI5LjkgMjMuOCA0Mi40bDAgNTMuNWMwIDUuNCAuNCAxMC44IDEuMSAxNi01OC40LTM2LjgtOTcuMS0xMDEuOS05Ny4xLTE3NiAwLTExNC45IDkzLjEtMjA4IDIwOC0yMDhzMjA4IDkzLjEgMjA4IDIwOGMwIDc0LjEtMzguOCAxMzkuMi05Ny4xIDE3NnptLTM4LjggNjkuN0M0MzQuNCA0NzAuNiA1MTIgMzcyLjMgNTEyIDI1NiA1MTIgMTE0LjYgMzk3LjQgMCAyNTYgMFMwIDExNC42IDAgMjU2QzAgMzcyLjMgNzcuNiA0NzAuNiAxODMuOSA1MDEuNyAyMDMuNCA1MTguMSAyMjguNSA1MjggMjU2IDUyOHM1Mi42LTkuOSA3Mi4xLTI2LjN6TTMyMCAzNzguNmwwIDM3LjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRzLTY0LTI4LjctNjQtNjRsMC0zNy40YzAtMTQuNyAxMS45LTI2LjYgMjYuNi0yNi42bDIgMGMxMS4zIDAgMjEuMSA3LjkgMjMuNiAxOC45IDIuOCAxMi42IDIwLjggMTIuNiAyMy42IDAgMi41LTExLjEgMTIuMy0xOC45IDIzLjYtMTguOWwyIDBjMTQuNyAwIDI2LjYgMTEuOSAyNi42IDI2LjZ6TTEzMiAyMzJjMC0xMSA5LTIwIDIwLTIwbDE2IDBjMTEgMCAyMCA5IDIwIDIwczkgMjAgMjAgMjAgMjAtOSAyMC0yMGMwLTMzLjEtMjYuOS02MC02MC02MGwtMTYgMGMtMzMuMSAwLTYwIDI2LjktNjAgNjAgMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjB6bTIyOC40LTI0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTI4OCAyMDhhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptMTI4IDBhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAweiJdfSxJVHQ9aWZlLG9mZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJob3VyZ2xhc3MtaGFsZiIsaWNvbjpbMzg0LDUxMixbImhvdXJnbGFzcy0yIl0sImYyNTIiLCJNMCAyNEMwIDEwLjcgMTAuNyAwIDI0IDBMMzYwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTggMCAwIDE5YzAgNDAuMy0xNiA3OS00NC41IDEwNy41bC04MS41IDgxLjUgODEuNSA4MS41QzMzNiAzNjYgMzUyIDQwNC43IDM1MiA0NDVsMCAxOSA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDggMCAwLTE5YzAtNDAuMyAxNi03OSA0NC41LTEwNy41bDgxLjUtODEuNS04MS41LTgxLjVDNDggMTQ2IDMyIDEwNy4zIDMyIDY3bDAtMTktOCAwQzEwLjcgNDggMCAzNy4zIDAgMjR6TTExMC41IDM3MS41Yy0zLjkgMy45LTcuNSA4LjEtMTAuNyAxMi41bDE4NC40IDBjLTMuMi00LjQtNi44LTguNi0xMC43LTEyLjVsLTgxLjUtODEuNS04MS41IDgxLjV6TTgwLjggNDMyYy0uNSA0LjMtLjggOC42LS44IDEzbDAgMTkgMjI0IDAgMC0xOWMwLTQuNC0uMy04LjctLjgtMTNMODAuOCA0MzJ6TTI1NC4xIDE2MGwtMTI0LjEgMCA2Mi4xIDYyLjEgNjIuMS02Mi4xem0zOS43LTQ4QzMwMC40IDk4LjEgMzA0IDgyLjcgMzA0IDY3bDAtMTktMjI0IDAgMCAxOWMwIDE1LjcgMy42IDMxLjEgMTAuMiA0NWwyMDMuNSAweiJdfSxOVHQ9b2ZlLG5mZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJjcmVkaXQtY2FyZCIsaWNvbjpbNTEyLDUxMixbMTI4MTc5LDYyMDgzLCJjcmVkaXQtY2FyZC1hbHQiXSwiZjA5ZCIsIk00NDggMTEyYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyLTQxNiAwIDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDM4NCAwem0xNiAxMTJsMCAxNjBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQwMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTYwIDQxNiAwek02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHpNODAgMzQ0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0em0xNDQgMGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC02NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHoiXX0sUlR0PW5mZSxPVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1zcG9jayIsaWNvbjpbNTEyLDUxMixbMTI4NDA2XSwiZjI1OSIsIk0xMzguMyA4MC44Yy05LjItMzMuOCAxMC41LTY4LjggNDQuMy03OC40IDM0LTkuNiA2OS40IDEwLjIgNzkgNDQuMkwyOTEuOSAxNTMuNyAzMDUuMSA4NGM2LjYtMzQuNyA0MC4xLTU3LjUgNzQuOC01MC45IDMxLjQgNiA1MyAzMy45IDUyIDY0LjkgMTAtMi42IDIwLjgtMi44IDMxLjUtLjEgMzQuMyA4LjYgNTUuMSA0My4zIDQ2LjYgNzcuNkw0NTQuNyAzOTcuMkM0MzcuOCA0NjQuNyAzNzcuMiA1MTIgMzA3LjYgNTEybC0zMy43IDBjLTU2LjkgMC0xMTIuMi0xOS0xNTcuMi01My45bC05Mi03MS42Yy0yNy45LTIxLjctMzIuOS02MS45LTExLjItODkuOHM2MS45LTMyLjkgODkuOC0xMS4ybDE3IDEzLjItNTEuOC0xMzEuMmMtMTMtMzIuOSAzLjItNzAuMSAzNi04MyAxMS4xLTQuNCAyMi43LTUuNCAzMy43LTMuN3ptNzcuMS0yMS4yYy0yLjQtOC41LTExLjItMTMuNC0xOS43LTExcy0xMy40IDExLjItMTEgMTkuN2w1NC44IDE4Mi40YzMuNSAxMi4zLTMuMyAyNS4yLTE1LjQgMjkuM3MtMjUuMy0yLTMwLTEzLjlMMTQyLjkgMTM4LjFjLTMuMi04LjItMTIuNS0xMi4zLTIwLjgtOXMtMTIuMyAxMi41LTkgMjAuOGw3My4zIDE4NS42YzEyIDMwLjMtMjMuNyA1Ny00OS40IDM3TDczLjggMzIzLjRjLTctNS40LTE3LTQuMi0yMi41IDIuOHMtNC4yIDE3IDIuOCAyMi41bDkyIDcxLjZjMzYuNSAyOC40IDgxLjQgNDMuOCAxMjcuNyA0My44bDMzLjcgMGM0Ny41IDAgODktMzIuNCAxMDAuNS03OC41bDU1LjQtMjIxLjZjMi4xLTguNi0zLjEtMTcuMy0xMS42LTE5LjRzLTE3LjMgMy4xLTE5LjQgMTEuNmwtMjYgMTA0Yy0yLjkgMTEuNy0xMy40IDE5LjktMjUuNSAxOS45LTE2LjUgMC0yOC45LTE1LTI1LjgtMzEuMkwzODMuNyA5OWMxLjctOC43LTQtMTcuMS0xMi43LTE4LjdTMzU0IDg0LjMgMzUyLjMgOTNMMzIwLjUgMjYwYy0yLjIgMTEuNi0xMi40IDIwLTI0LjIgMjAtMTEgMC0yMC43LTcuMy0yMy43LTE3LjlMMjE1LjQgNTkuNnoiXX0sRlR0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImJlbGwtc2xhc2giLGljb246WzU3Niw1MTIsWzEyODI3Nyw2MTk0M10sImYxZjYiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtODcuOC04Ny44YzE3LjUtMy4zIDMwLjgtMTguNyAzMC44LTM3LjEgMC02LjctMS44LTEzLjMtNS4xLTE5TDQ4NSAzMjEuN2MtMTktMzIuNi0yOS02OS42LTI5LTEwNy4zbDAtMTQuNWMwLTg0LjYtNjIuNi0xNTQuNy0xNDQtMTY2LjNsMC05LjdjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA5LjdjLTQyLjIgNi03OS40IDI3LjgtMTA1LjQgNTkuMUw0MS0yNC45ek0xOTIuOCAxMjYuOUMyMTQuNyA5OC40IDI0OS4yIDgwIDI4OCA4MCAzNTQuMyA4MCA0MDggMTMzLjcgNDA4IDIwMGwwIDE0LjVjMCA0Ni4yIDEyLjMgOTEuNSAzNS41IDEzMS40bDEyLjkgMjIuMS0yMi42IDAtMjQxLjEtMjQxLjF6TTEzMi41IDM0NS45YzE5LjUtMzMuNCAzMS4zLTcwLjcgMzQuNi0xMDlsLTQ2LjctNDYuN2MtLjIgMy4zLS4zIDYuNi0uMyA5LjlsMCAxNC41YzAgMzcuNy0xMCA3NC43LTI5IDEwNy4zTDY5LjEgMzU5LjJjLTMuNCA1LjgtNS4xIDEyLjMtNS4xIDE5IDAgMjAuOSAxNi45IDM3LjggMzcuOCAzNy44bDI0NC40IDAtNDgtNDgtMTc4LjYgMCAxMi45LTIyLjF6TTIyMC4xIDQ2NGM5LjkgMjggMzYuNiA0OCA2Ny45IDQ4czU4LTIwIDY3LjktNDhsLTEzNS44IDB6Il19LEJUdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzdGFyIixpY29uOls1NzYsNTEyLFsxMTA4OCw2MTQ0Nl0sImYwMDUiLCJNMjg4LjEtMzJjOSAwIDE3LjMgNS4xIDIxLjQgMTMuMUwzODMgMTI1LjMgNTQyLjkgMTUwLjdjOC45IDEuNCAxNi4zIDcuNyAxOS4xIDE2LjNzLjUgMTgtNS44IDI0LjRMNDQxLjcgMzA1LjkgNDY3IDQ2NS44YzEuNCA4LjktMi4zIDE3LjktOS42IDIzLjJzLTE3IDYuMS0yNSAyTDI4OC4xIDQxNy42IDE0My44IDQ5MWMtOCA0LjEtMTcuNyAzLjMtMjUtMnMtMTEtMTQuMi05LjYtMjMuMkwxMzQuNCAzMDUuOSAyMCAxOTEuNGMtNi40LTYuNC04LjYtMTUuOC01LjgtMjQuNHMxMC4xLTE0LjkgMTkuMS0xNi4zbDE1OS45LTI1LjQgNzMuNi0xNDQuMmM0LjEtOCAxMi40LTEzLjEgMjEuNC0xMy4xem0wIDc2LjhMMjMwLjMgMTU4Yy0zLjUgNi44LTEwIDExLjYtMTcuNiAxMi44bC0xMjUuNSAyMCA4OS44IDg5LjljNS40IDUuNCA3LjkgMTMuMSA2LjcgMjAuN2wtMTkuOCAxMjUuNSAxMTMuMy01Ny42YzYuOC0zLjUgMTQuOS0zLjUgMjEuOCAwbDExMy4zIDU3LjYtMTkuOC0xMjUuNWMtMS4yLTcuNiAxLjMtMTUuMyA2LjctMjAuN2w4OS44LTg5LjktMTI1LjUtMjBjLTcuNi0xLjItMTQuMS02LTE3LjYtMTIuOEwyODguMSA0NC44eiJdfSxIVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmxhZyIsaWNvbjpbNDQ4LDUxMixbMTI3OTg4LDYxNzI1XSwiZjAyNCIsIk00OCAyNEM0OCAxMC43IDM3LjMgMCAyNCAwUzAgMTAuNyAwIDI0TDAgNDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMDAgODAuMy0yMC4xYzQxLjEtMTAuMyA4NC42LTUuNSAxMjIuNSAxMy40IDQ0LjIgMjIuMSA5NS41IDI0LjggMTQxLjcgNy40bDM0LjctMTNjMTIuNS00LjcgMjAuOC0xNi42IDIwLjgtMzBsMC0yNzkuN2MwLTIzLTI0LjItMzgtNDQuOC0yNy43bC05LjYgNC44Yy00Ni4zIDIzLjItMTAwLjggMjMuMi0xNDcuMSAwLTM1LjEtMTcuNi03NS40LTIyLTExMy41LTEyLjVMNDggNTIgNDggMjR6bTAgNzcuNWw5Ni42LTI0LjJjMjctNi43IDU1LjUtMy42IDgwLjQgOC44IDU0LjkgMjcuNCAxMTguNyAyOS43IDE3NSA2LjhsMCAyNDEuOC0yNC40IDkuMWMtMzMuNyAxMi42LTcxLjIgMTAuNy0xMDMuNC01LjQtNDguMi0yNC4xLTEwMy4zLTMwLjEtMTU1LjYtMTcuMWwtNjguNiAxNy4yIDAtMjM3eiJdfSxxVHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToibGVtb24iLGljb246WzQ0OCw1MTIsWzEyNzgxOV0sImYwOTQiLCJNMzY4IDgwYy0zLjIgMC02LjIgLjQtOC45IDEuMy0xOS4xIDUuNS00Ni4xIDEwLjctNzQuMyAzLjMtNTcuNC0xNC45LTEyNC42IDcuNC0xNzQuNyA1Ny41UzM3LjcgMjU5LjQgNTIuNiAzMTYuOGM3LjMgMjguMiAyLjIgNTUuMi0zLjMgNzQuMy0uOCAyLjgtMS4zIDUuOC0xLjMgOC45IDAgMTcuNyAxNC4zIDMyIDMyIDMyIDMuMiAwIDYuMi0uNCA4LjktMS4zIDE5LjEtNS41IDQ2LjEtMTAuNyA3NC4zLTMuMyA1Ny40IDE0LjkgMTI0LjYtNy40IDE3NC43LTU3LjVzNzIuNC0xMTcuMyA1Ny41LTE3NC43Yy03LjMtMjguMi0yLjItNTUuMiAzLjMtNzQuMyAuOC0yLjggMS4zLTUuOCAxLjMtOC45IDAtMTcuNy0xNC4zLTMyLTMyLTMyem0wLTQ4YzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgNy43LTEuMSAxNS4yLTMuMSAyMi4zLTQuNiAxNS44LTcuMSAzMi45LTMgNDguOSAyMC4xIDc3LjYtMTAuOSAxNjEuNS03MCAyMjAuN3MtMTQzLjEgOTAuMi0yMjAuNyA3MGMtMTYtNC4xLTMzLTEuNi00OC45IDMtNy4xIDItMTQuNiAzLjEtMjIuMyAzLjEtNDQuMiAwLTgwLTM1LjgtODAtODAgMC03LjcgMS4xLTE1LjIgMy4xLTIyLjMgNC42LTE1LjggNy4xLTMyLjkgMy00OC45LTIwLjEtNzcuNiAxMC45LTE2MS41IDcwLTIyMC43UzIxOS4zIDE4IDI5Ni44IDM4LjFjMTYgNC4xIDMzIDEuNiA0OC45LTMgNy4xLTIgMTQuNi0zLjEgMjIuMy0zLjF6TTI0Ni43IDE2N2MtNTIgMTUuMi05Ni41IDU5LjctMTExLjcgMTExLjctMy43IDEyLjctMTcuMSAyMC0yOS44IDE2LjNTODUuMiAyNzggODkgMjY1LjNjMTkuOC02Ny43IDc2LjYtMTI0LjUgMTQ0LjMtMTQ0LjMgMTIuNy0zLjcgMjYuMSAzLjYgMjkuOCAxNi4zcy0zLjYgMjYuMS0xNi4zIDI5Ljh6Il19LFZUdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJ3aW5kb3ctcmVzdG9yZSIsaWNvbjpbNTc2LDUxMixbXSwiZjJkMiIsIk01MTIgODBMMjI0IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxNi00OCAwIDAtMTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMjg4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxOTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTQ4IDAgMC00OCA0OCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTE5MmMwLTguOC03LjItMTYtMTYtMTZ6TTM2OCAyODhsLTMyMCAwIDAgMTI4YzAgOC44IDcuMiAxNiAxNiAxNmwyODggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMjh6TTY0IDE2MGwyODggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE5MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0eiJdfSxsZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluLWhlYXJ0cyIsaWNvbjpbNTEyLDUxMixbMTI4NTI1LCJncmluLWhlYXJ0cyJdLCJmNTg0IiwiTTQ2NCAyNTZjMCAxMTQuOS05My4xIDIwOC0yMDggMjA4UzQ4IDM3MC45IDQ4IDI1NmMwLTMuNSAuMS03LjEgLjMtMTAuNi0xNC0xMy45LTI5LjctMzMuMS0zOS4zLTU2LjctNS44IDIxLjQtOC45IDQ0LTguOSA2Ny4zIDAgMTQxLjQgMTE0LjYgMjU2IDI1NiAyNTZTNTEyIDM5Ny40IDUxMiAyNTZjMC0yMy4zLTMuMS00NS45LTguOS02Ny4zLTkuNiAyMy43LTI1LjQgNDIuOC0zOS4zIDU2LjcgLjIgMy41IC4zIDcgLjMgMTAuNnpNMzY4IDU4LjljMTEuNy02IDI0LjUtOS42IDM3LjctMTAuNi00Mi4xLTMwLjQtOTMuOC00OC4zLTE0OS43LTQ4LjNTMTQ4LjQgMTcuOSAxMDYuMyA0OC4zYzEzLjIgMSAyNiA0LjYgMzcuNyAxMC42IDEzLjgtNy4xIDI5LjMtMTAuOSA0NS4xLTEwLjlsMi45IDBjOC45IDAgMTcuNiAxLjIgMjUuOCAzLjUgMTIuNC0yLjMgMjUuMi0zLjUgMzguMi0zLjVzMjUuOCAxLjIgMzguMiAzLjVjOC4yLTIuMyAxNi45LTMuNSAyNS44LTMuNWwyLjkgMGMxNS44IDAgMzEuMyAzLjggNDUuMSAxMC45em00LjIgMjQzLjRjLTM0LjggMTAuNi03NC4zIDE2LjYtMTE2LjMgMTYuNi00MS45IDAtODEuNC02LTExNi4xLTE2LjUtMTEuOC0zLjYtMjMuNyA2LjEtMTkuNiAxNy44IDE5LjggNTUuOSA3My4xIDk1LjkgMTM1LjggOTUuOSA2Mi43IDAgMTE2LTQwLjEgMTM1LjgtOTYgNC4xLTExLjYtNy44LTIxLjQtMTkuNi0xNy44ek0zMjIuOSA5NkwzMjAgOTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4IDAgNTMuNCA2Ni45IDk1LjcgODkgMTA4LjIgNC40IDIuNSA5LjYgMi41IDE0IDAgMjIuMS0xMi41IDg5LTU0LjggODktMTA4LjIgMC0yNi41LTIxLjUtNDgtNDgtNDhsLTIuOSAwYy0xMy41IDAtMjYuNSA1LjQtMzYgMTQuOWwtOS4xIDkuMS05LjEtOS4xYy05LjUtOS41LTIyLjUtMTQuOS0zNi0xNC45em0tMTg4IDE0LjljLTkuNS05LjUtMjIuNS0xNC45LTM2LTE0LjlMOTYgOTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4IDAgNTMuNCA2Ni45IDk1LjcgODkgMTA4LjIgNC40IDIuNSA5LjYgMi41IDE0IDAgMjIuMS0xMi41IDg5LTU0LjggODktMTA4LjIgMC0yNi41LTIxLjUtNDgtNDgtNDhsLTIuOSAwYy0xMy41IDAtMjYuNSA1LjQtMzYgMTQuOWwtOS4xIDkuMS05LjEtOS4xeiJdfSxqVHQ9bGZlLGNmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWtpc3MtYmVhbSIsaWNvbjpbNTEyLDUxMixbMTI4NTM3LCJraXNzLWJlYW0iXSwiZjU5NyIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTI0MCAxNmwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgMTIuMy00LjYgMjMuNS0xMi4yIDMyIDcuNiA4LjUgMTIuMiAxOS43IDEyLjIgMzIgMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0tNjQtOTJjLTE1LjUgMC0yOCAxMi41LTI4IDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjh6bTEzMiAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4eiJdfSxVVHQ9Y2ZlLFdUdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLXBkZiIsaWNvbjpbNTc2LDUxMixbXSwiZjFjMSIsIk0yMDggNDhMOTYgNDhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDM4NGMwIDguOCA3LjIgMTYgMTYgMTZsODAgMCAwIDQ4LTgwIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDMyIDY0QzMyIDI4LjcgNjAuNyAwIDk2IDBMMjI5LjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzOTcuMyAxNDEuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zbDAgMTQ5LjUtNDggMCAwLTEyOC04OCAwYy0zOS44IDAtNzItMzIuMi03Mi03MmwwLTg4ek0zNDguMSAxNjBMMjU2IDY3LjkgMjU2IDEzNmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2OC4xIDB6TTI0MCAzODBsMzIgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MHMtMjYuOSA2MC02MCA2MGwtMTIgMCAwIDI4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTEyOGMwLTExIDktMjAgMjAtMjB6bTMyIDgwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtMTIgMCAwIDQwIDEyIDB6bTk2LTgwbDMyIDBjMjguNyAwIDUyIDIzLjMgNTIgNTJsMCA2NGMwIDI4LjctMjMuMyA1Mi01MiA1MmwtMzIgMGMtMTEgMC0yMC05LTIwLTIwbDAtMTI4YzAtMTEgOS0yMCAyMC0yMHptMzIgMTI4YzYuNiAwIDEyLTUuNCAxMi0xMmwwLTY0YzAtNi42LTUuNC0xMi0xMi0xMmwtMTIgMCAwIDg4IDEyIDB6bTc2LTEwOGMwLTExIDktMjAgMjAtMjBsNDggMGMxMSAwIDIwIDkgMjAgMjBzLTkgMjAtMjAgMjBsLTI4IDAgMCAyNCAyOCAwYzExIDAgMjAgOSAyMCAyMHMtOSAyMC0yMCAyMGwtMjggMCAwIDQ0YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTEyOHoiXX0sZGZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi13aWRlIixpY29uOls1MTIsNTEyLFsxMjg1MTUsImdyaW4tYWx0Il0sImY1ODEiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0zNzIuMiA0Ni4zYzExLjgtMy42IDIzLjcgNi4xIDE5LjYgMTcuOC0xOS44IDU1LjktNzMuMSA5Ni0xMzUuOCA5Ni02Mi43IDAtMTE2LTQwLTEzNS44LTk1LjktNC4xLTExLjYgNy44LTIxLjQgMTkuNi0xNy44IDM0LjcgMTAuNiA3NC4yIDE2LjUgMTE2LjEgMTYuNSA0MiAwIDgxLjUtNiAxMTYuMy0xNi42ek0yMjQgMTkyYzAgMzUuMy0xNC4zIDY0LTMyIDY0cy0zMi0yOC43LTMyLTY0IDE0LjMtNjQgMzItNjQgMzIgMjguNyAzMiA2NHptOTYgNjRjLTE3LjcgMC0zMi0yOC43LTMyLTY0czE0LjMtNjQgMzItNjQgMzIgMjguNyAzMiA2NC0xNC4zIDY0LTMyIDY0eiJdfSxHVHQ9ZGZlLHVmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWxhdWdoLXNxdWludCIsaWNvbjpbNTEyLDUxMixbImxhdWdoLXNxdWludCJdLCJmNTliIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTI1LjIgNzYuNGMtNi41LTE0IDUtMjguNCAyMC40LTI4LjRsMjIwLjggMGMxNS40IDAgMjYuOCAxNC40IDIwLjQgMjguNC0yMi44IDQ5LjQtNzIuOCA4My42LTEzMC44IDgzLjZzLTEwNy45LTM0LjItMTMwLjgtODMuNnptLTIuNi0xNzMuMmM0LjUtNi44IDEzLjMtOS4yIDIwLjYtNS41bDc5LjYgNDBjNS40IDIuNyA4LjggOC4yIDguOCAxNC4zcy0zLjQgMTEuNi04LjggMTQuM2wtNzkuNiA0MGMtNy4zIDMuNi0xNi4xIDEuMy0yMC42LTUuNXMtMy4xLTE1LjkgMy4xLTIxLjFMMTU5IDIwOCAxMjUuOCAxODAuM2MtNi4yLTUuMi03LjYtMTQuMy0zLjEtMjEuMXptMjYzLjYgMjEuMUwzNTMgMjA4IDM4Ni4yIDIzNS43YzYuMiA1LjIgNy42IDE0LjMgMy4xIDIxLjFzLTEzLjMgOS4yLTIwLjYgNS41bC03OS42LTQwYy01LjQtMi43LTguOC04LjItOC44LTE0LjNzMy40LTExLjYgOC44LTE0LjNsNzkuNi00MGM3LjMtMy42IDE2LjEtMS4zIDIwLjYgNS41czMuMSAxNS45LTMuMSAyMS4xeiJdfSxZVHQ9dWZlLHBmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWtpc3Mtd2luay1oZWFydCIsaWNvbjpbNjQwLDUxMixbMTI4NTM2LCJraXNzLXdpbmstaGVhcnQiXSwiZjU5OCIsIk0zODYgNDM5LjVjLTI5LjIgMTUuNi02Mi41IDI0LjUtOTggMjQuNS0xMTQuOSAwLTIwOC05My4xLTIwOC0yMDhTMTczLjIgNDggMjg4IDQ4YzExMy4yIDAgMjA1LjIgOTAuNCAyMDcuOSAyMDIuOSAxNC4zIDEuNSAyOC42IDYgNDEuOSAxMy43IDIgMS4yIDQgMi40IDUuOSAzLjcgLjItNC4xIC4zLTguMiAuMy0xMi4zIDAtMTQxLjQtMTE0LjYtMjU2LTI1Ni0yNTZTMzIgMTE0LjYgMzIgMjU2IDE0Ni42IDUxMiAyODggNTEyYzQxLjQgMCA4MC41LTkuOCAxMTUuMS0yNy4zLTUuOC0xMi45LTEyLTI4LjUtMTcuMi00NS4yek0yNTYgMjg4YzAgOC44IDcuMiAxNiAxNiAxNmwxNiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMzIgMGMyNi41IDAgNDgtMjEuNSA0OC00OCAwLTEyLjMtNC42LTIzLjUtMTIuMi0zMiA3LjYtOC41IDEyLjItMTkuNyAxMi4yLTMyIDAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bS00OC00OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTE1Mi00NGwxNiAwYzExIDAgMjAgOSAyMCAyMHM5IDIwIDIwIDIwIDIwLTkgMjAtMjBjMC0zMy4xLTI2LjktNjAtNjAtNjBsLTE2IDBjLTMzLjEgMC02MCAyNi45LTYwIDYwIDAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwIDktMjAgMjAtMjB6TTU0Mi44IDM1MGMtMi4yLTE4LjMtMTIuOS0zNC42LTI4LjktNDMuOC0yOC4xLTE2LjItNjMuOS02LjYtODAuMSAyMS41bC0yLjcgNC42Yy0yNC41IDQyLjUgNy45IDExNy45IDI0LjQgMTUwLjggNS4xIDEwLjEgMTUuNSAxNi4xIDI2LjggMTUuNSAzNi43LTIuMiAxMTguMi0xMS43IDE0Mi44LTU0LjJsMi43LTQuNmMxNi4yLTI4LjEgNi42LTYzLjktMjEuNS04MC4xLTE2LTkuMi0zNS40LTEwLjQtNTIuNC0zLjFsLTkuOCA0LjItMS4zLTEwLjZ6Il19LEtUdD1wZmUsQ2VlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNvcHkiLGljb246WzQ0OCw1MTIsW10sImYwYzUiLCJNMzg0IDMzNmwtMTkyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTI1NmMwLTguOCA3LjItMTYgMTYtMTZsMTMzLjUgMGM0LjIgMCA4LjMgMS43IDExLjMgNC43bDU4LjUgNTguNWMzIDMgNC43IDcuMSA0LjcgMTEuM0w0MDAgMzIwYzAgOC44LTcuMiAxNi0xNiAxNnpNMTkyIDM4NGwxOTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5Ny41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDM3MC43IDE4LjdDMzU4LjcgNi43IDM0Mi41IDAgMzI1LjUgMEwxOTIgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjR6TTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNi00OCAwIDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjU2YzAtOC44IDcuMi0xNiAxNi0xNmwxNiAwIDAtNDgtMTYgMHoiXX0sWlR0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNoZXNzLWtpbmciLGljb246WzQ0OCw1MTIsWzk4MThdLCJmNDNmIiwiTTIyNC0zMmMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQwIDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDAgMCA4MCAxNjEuOCAwYzIxLjEgMCAzOC4yIDE3LjEgMzguMiAzOC4yIDAgNi40LTEuNiAxMi43LTQuNyAxOC4zTDM1Ny4yIDM3NC41IDQwNS42IDQzNWM2LjcgOC40IDEwLjQgMTguOCAxMC40IDI5LjYgMCAyNi4yLTIxLjIgNDcuNC00Ny40IDQ3LjRMNzkuNCA1MTJjLTI2LjIgMC00Ny40LTIxLjItNDcuNC00Ny40IDAtMTAuOCAzLjctMjEuMiAxMC40LTI5LjZMOTAuOCAzNzQuNSA0LjcgMjE2LjZDMS42IDIxMC45IDAgMjA0LjYgMCAxOTguMiAwIDE3Ny4xIDE3LjEgMTYwIDM4LjIgMTYwbDE2MS44IDAgMC04MC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDQ4IDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMTMxLjggNDAwbC0zLjYgNC40LTQ3LjYgNTkuNiAyODYuNiAwLTQ3LjYtNTkuNi0zLjYtNC40LTE4NC4zIDB6bTEuMS00OC41bC4zIC41IDE4MS42IDAgLjMtLjUgNzguMy0xNDMuNS0zMzguNyAwIDc4LjMgMTQzLjV6Il19LGZmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJzcXVhcmUtcGx1cyIsaWNvbjpbNDQ4LDUxMixbNjE4NDYsInBsdXMtc3F1YXJlIl0sImYwZmUiLCJNNjQgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyMGMwIDguOCA3LjIgMTYgMTYgMTZsMzIwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIwYzAtOC44LTcuMi0xNi0xNi0xNkw2NCA4MHpNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTIwMCAzNDRsMC02NC02NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDY0IDAgMC02NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNjQgNjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNjQgMCAwIDY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0eiJdfSxYVHQ9ZmZlLFFUdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmaWxlLWNvZGUiLGljb246WzM4NCw1MTIsW10sImYxYzkiLCJNNjQgNDhsMTEyIDAgMCA4OGMwIDM5LjggMzIuMiA3MiA3MiA3Mmw4OCAwIDAgMjQwYzAgOC44LTcuMiAxNi0xNiAxNkw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNkw0OCA2NGMwLTguOCA3LjItMTYgMTYtMTZ6TTIyNCA2Ny45bDkyLjEgOTIuMS02OC4xIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNjguMXpNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNjEuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNDIuNyAxOC43QzIzMC43IDYuNyAyMTQuNSAwIDE5Ny41IDBMNjQgMHpNMTcwLjIgMjk1LjZjOC42LTEwLjEgNy41LTI1LjItMi42LTMzLjhzLTI1LjItNy41LTMzLjggMi42bC00OCA1NmMtNy43IDktNy43IDIyLjIgMCAzMS4ybDQ4IDU2YzguNiAxMC4xIDIzLjggMTEuMiAzMy44IDIuNnMxMS4yLTIzLjggMi42LTMzLjhsLTM0LjYtNDAuNCAzNC42LTQwLjR6bTgwLTMxLjJjLTguNi0xMC4xLTIzLjgtMTEuMi0zMy44LTIuNnMtMTEuMiAyMy44LTIuNiAzMy44bDM0LjYgNDAuNC0zNC42IDQwLjRjLTguNiAxMC4xLTcuNSAyNS4yIDIuNiAzMy44czI1LjIgNy41IDMzLjgtMi42bDQ4LTU2YzcuNy05IDcuNy0yMi4yIDAtMzEuMmwtNDgtNTZ6Il19LGhmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWdyaW4td2luayIsaWNvbjpbNTEyLDUxMixbImdyaW4td2luayJdLCJmNThjIiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMzcyLjIgNDYuM2MxMS44LTMuNiAyMy43IDYuMSAxOS42IDE3LjgtMTkuOCA1NS45LTczLjEgOTYtMTM1LjggOTYtNjIuNyAwLTExNi00MC0xMzUuOC05NS45LTQuMS0xMS42IDcuOC0yMS40IDE5LjYtMTcuOCAzNC43IDEwLjYgNzQuMiAxNi41IDExNi4xIDE2LjUgNDIgMCA4MS41LTYgMTE2LjMtMTYuNnpNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNjQgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBjMC0zMy4xIDI2LjktNjAgNjAtNjBsMTYgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MCAwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjAtOS0yMC0yMC0yMGwtMTYgMGMtMTEgMC0yMCA5LTIwIDIweiJdfSxKVHQ9aGZlLG1mZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJtb25leS1iaWxsLTEiLGljb246WzUxMiw1MTIsWyJtb25leS1iaWxsLWFsdCJdLCJmM2QxIiwiTTExMiAxMTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRsMCAxNjBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMjg4IDBjMC0zNS4zIDI4LjctNjQgNjQtNjRsMC0xNjBjLTM1LjMgMC02NC0yOC43LTY0LTY0bC0yODggMHpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptMjU2IDE2YTExMiAxMTIgMCAxIDEgMCAyMjQgMTEyIDExMiAwIDEgMSAwLTIyNHptLTE2IDQ0Yy0xMSAwLTIwIDktMjAgMjAgMCA5LjcgNi45IDE3LjcgMTYgMTkuNmwwIDQ4LjQtNCAwYy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGw0OCAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtNCAwIDAtNjhjMC0xMS05LTIwLTIwLTIwbC0xNiAweiJdfSxlTHQ9bWZlLHRMdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJleWUtc2xhc2giLGljb246WzU3Niw1MTIsW10sImYwNzAiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtOTYuNC05Ni40YzIuNy0yLjQgNS40LTQuOCA4LTcuMiA0Ni44LTQzLjUgNzguMS05NS40IDkzLTEzMS4xIDMuMy03LjkgMy4zLTE2LjcgMC0yNC42LTE0LjktMzUuNy00Ni4yLTg3LjctOTMtMTMxLjEtNDcuMS00My43LTExMS44LTgwLjYtMTkyLjYtODAuNi01Ni44IDAtMTA1LjYgMTguMi0xNDYgNDQuMkw0MS0yNC45ek0xNzYuOSAxMTEuMWMzMi4xLTE4LjkgNjkuMi0zMS4xIDExMS4xLTMxLjEgNjUuMiAwIDExOC44IDI5LjYgMTU5LjkgNjcuNyAzOC41IDM1LjcgNjUuMSA3OC4zIDc4LjYgMTA4LjMtMTMuNiAzMC00MC4yIDcyLjUtNzguNiAxMDguMy0zLjEgMi44LTYuMiA1LjYtOS40IDguNEwzOTMuOCAzMjhjMTQtMjAuNSAyMi4yLTQ1LjMgMjIuMi03MiAwLTcwLjctNTcuMy0xMjgtMTI4LTEyOC0yNi43IDAtNTEuNSA4LjItNzIgMjIuMmwtMzkuMS0zOS4xem0xODIgMTgybC0xMDgtMTA4YzExLjEtNS44IDIzLjctOS4xIDM3LjEtOS4xIDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgMTMuNC0zLjMgMjYtOS4xIDM3LjF6TTEwMy40IDE3My4ybC0zNC0zNGMtMzIuNiAzNi44LTU1IDc1LjgtNjYuOSAxMDQuNS0zLjMgNy45LTMuMyAxNi43IDAgMjQuNiAxNC45IDM1LjcgNDYuMiA4Ny43IDkzIDEzMS4xIDQ3LjEgNDMuNyAxMTEuOCA4MC42IDE5Mi42IDgwLjYgMzcuMyAwIDcxLjItNy45IDEwMS41LTIwLjZMMzUyLjIgNDIyYy0yMCA2LjQtNDEuNCAxMC02NC4yIDEwLTY1LjIgMC0xMTguOC0yOS42LTE1OS45LTY3LjctMzguNS0zNS43LTY1LjEtNzguMy03OC42LTEwOC4zIDEwLjQtMjMuMSAyOC42LTUzLjYgNTQtODIuOHoiXX0sYUx0PXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZpbGUtd29yZCIsaWNvbjpbMzg0LDUxMixbXSwiZjFjMiIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwem03MS4zIDI3NC4yYy0zLjItMTIuOS0xNi4yLTIwLjctMjkuMS0xNy41Uzg1LjUgMjczIDg4LjcgMjg1LjhsMzIgMTI4YzIuNSAxMC4yIDExLjQgMTcuNSAyMS45IDE4LjFzMjAuMS01LjcgMjMuOC0xNS41bDI1LjUtNjguMSAyNS41IDY4LjFjMy43IDkuOCAxMy4zIDE2LjEgMjMuOCAxNS41czE5LjQtNy45IDIxLjktMTguMWwzMi0xMjhjMy4yLTEyLjktNC42LTI1LjktMTcuNS0yOS4xcy0yNS45IDQuNi0yOS4xIDE3LjVsLTEzLjMgNTMuMi0yMC45LTU1LjhDMjExIDI2Mi4yIDIwMiAyNTYgMTkyIDI1NnMtMTkgNi4yLTIyLjUgMTUuNmwtMjAuOSA1NS44LTEzLjMtNTMuMnoiXX0sZ2ZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtYW5ncnkiLGljb246WzUxMiw1MTIsWzEyODU0NCwiYW5ncnkiXSwiZjU1NiIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTAtMTQ0YzI0LjEgMCA0NS40IDExLjggNTguNSAzMCA3LjcgMTAuOCAyMi43IDEzLjIgMzMuNSA1LjVzMTMuMi0yMi43IDUuNS0zMy41Yy0yMS43LTMwLjItNTcuMy01MC05Ny41LTUwcy03NS43IDE5LjgtOTcuNSA1MGMtNy43IDEwLjgtNS4zIDI1LjggNS41IDMzLjVzMjUuOCA1LjMgMzMuNS01LjVjMTMuMS0xOC4yIDM0LjQtMzAgNTguNS0zMHptLTgwLTk2YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtLjMgOS43IDMuMmMxMC41IDMuNSAyMS44LTIuMiAyNS4zLTEyLjZzLTIuMi0yMS44LTEyLjYtMjUuM2wtOTYtMzJjLTEwLjUtMy41LTIxLjggMi4yLTI1LjMgMTIuNnMyLjIgMjEuOCAxMi42IDI1LjNsMjguOSA5LjZjLTQuMSA1LjQtNi42IDEyLjEtNi42IDE5LjQgMCAxNy43IDE0LjMgMzIgMzIgMzJ6bTE5Mi0zMmMwLTcuMy0yLjQtMTQtNi42LTE5LjRsMjguOS05LjZjMTAuNS0zLjUgMTYuMS0xNC44IDEyLjYtMjUuM3MtMTQuOC0xNi4xLTI1LjMtMTIuNmwtOTYgMzJjLTEwLjUgMy41LTE2LjEgMTQuOC0xMi42IDI1LjNzMTQuOCAxNi4xIDI1LjMgMTIuNmw5LjctMy4yIDAgLjNjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnoiXX0sckx0PWdmZSxzTHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY2hlc3Mta25pZ2h0IixpY29uOls0NDgsNTEyLFs5ODIyXSwiZjQ0MSIsIk0yMzItMzJjMTEwLjUgMCAyMDAgODkuNSAyMDAgMjAwbDAgMTI3LjdjMCAxOC45LTYuMSAzNy4xLTE3LjIgNTIuMmwtNS4xIDYuMi0zNi4zIDQwLjcgMzIuMSA0MC4yYzYuNyA4LjQgMTAuNCAxOC44IDEwLjQgMjkuNmwtLjIgNC44Yy0yLjQgMjMuOS0yMi42IDQyLjUtNDcuMSA0Mi41bC0yODkuMiAwLTQuOC0uMmMtMjMuOS0yLjQtNDIuNS0yMi42LTQyLjUtNDcuMSAwLTEwLjggMy43LTIxLjIgMTAuNC0yOS42bDM3LjYtNDcgMC0yNC4zYzAtMjQuMyAxMC4xLTQ3LjYgMjcuOC02NC4ybDYzLjUtNTkuNS0xNy40IDAtLjIgLjJjLTIwLjMgMjAuMy00OS42IDI4LjItNzcuMSAyMS4xbC01LjUtMS42Yy0zMC45LTEwLjMtNTIuMy0zOC01NC45LTcwLjFsLS4yLTYuNCAwLTEuNGMwLTE5LjcgNy4xLTM4LjggMTkuOS01My44bDc2LjEtODguOCAwLTQ3LjEgLjEtMi41QzExMy40LTIyLjYgMTIzLjYtMzIgMTM2LTMybDk2IDB6TTgwLjcgNDY0bDI4Ni42IDAtMzguNC00OC0yMDkuOSAwLTM4LjQgNDh6TTE2MCA0OGMwIDUuNy0yLjEgMTEuMy01LjggMTUuNkw3Mi4zIDE1OS4xQzY3IDE2NS40IDY0IDE3My40IDY0IDE4MS43bDAgMS40IC40IDUuMmMxLjkgMTEuOSAxMC4zIDIxLjkgMjEuOSAyNS44bDQuNSAxLjFjMTAuNSAxLjkgMjEuMy0xLjQgMjktOWw3LjItNy4yIDMuNy0zYzMuOS0yLjYgOC41LTQgMTMuMy00bDg4IDBjOS44IDAgMTguNyA2IDIyLjMgMTUuMnMxLjMgMTkuNi01LjkgMjYuM2wtMTA3LjggMTAxYy04LjEgNy42LTEyLjcgMTguMS0xMi43IDI5LjJsMCA0LjMgMjA1LjIgMCA0MC43LTQ1LjggMi4zLTIuOGM1LjEtNi44IDcuOC0xNS4yIDcuOC0yMy43TDM4NCAxNjhjMC04My45LTY4LjEtMTUyLTE1Mi0xNTJsLTcyIDAgMCAzMnptMzIgNzJhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4eiJdfSxiZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluLWJlYW0iLGljb246WzUxMiw1MTIsWzEyODUxNiwiZ3Jpbi1iZWFtIl0sImY1ODIiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAwIC00MTYgMCAyMDggMjA4IDAgMSAwIDQxNiAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0zNzIuMiA0Ni4zYzExLjgtMy42IDIzLjcgNi4xIDE5LjYgMTcuOC0xOS44IDU1LjktNzMuMSA5Ni0xMzUuOCA5Ni02Mi43IDAtMTE2LTQwLTEzNS44LTk1LjktNC4xLTExLjYgNy44LTIxLjQgMTkuNi0xNy44IDM0LjcgMTAuNiA3NC4yIDE2LjUgMTE2LjEgMTYuNSA0MiAwIDgxLjUtNiAxMTYuMy0xNi42ek0xNzYgMTgwYy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0saUx0PWJmZSxvTHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiaGFuZC1wZWFjZSIsaWNvbjpbNDQ4LDUxMixbOTk5Nl0sImYyNWIiLCJNMjE5IDEuNGMtMzUuMi0zLjctNjYuNiAyMS44LTcwLjMgNTdsLTYuNCA2MC42LTE3LjQtNDkuNEMxMTMuMiAzNi4zIDc2LjYgMTguOCA0My4zIDMwLjVTLTcuNiA3OC44IDQuMSAxMTIuMUw1Ni45IDI2Mi4yQzQxLjcgMjc2LjcgMzIuMiAyOTcuMyAzMi4yIDMyMGwwIDI0YzAgOTIuOCA3NS4yIDE2OCAxNjggMTY4bDQ4IDBjOTIuOCAwIDE2OC03NS4yIDE2OC0xNjhsMC0xMjBjMC0zNS4zLTI4LjctNjQtNjQtNjQtNy45IDAtMTUuNCAxLjQtMjIuNCA0LTEwLjQtMjEuMy0zMi4zLTM2LTU3LjYtMzYtLjcgMC0xLjUgMC0yLjIgMGw1LjktNTYuM2MzLjctMzUuMi0yMS44LTY2LjYtNTctNzAuM3ptLS4yIDE1NS40Yy02LjYgMTAuMS0xMC41IDIyLjItMTAuNSAzNS4ybDAgNDhjMCAuNyAwIDEuNCAwIDItNS4xLTEuMy0xMC41LTItMTYtMmwtNy40IDAtNS40LTE1LjMgMTctMTYxLjNjLjktOC44IDguOC0xNS4yIDE3LjYtMTQuMnMxNS4yIDguOCAxNC4yIDE3LjZsLTkuNSA5MC4xek03OS42IDg1LjZsNTQuMyAxNTQuNC0yMS43IDBjLTQgMC04IC4zLTExLjkgLjlMNDkuNCA5Ni4yYy0yLjktOC4zIDEuNS0xNy41IDkuOC0yMC40czE3LjUgMS41IDIwLjQgOS44ek0yNTYuMiAxOTJjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNDh6bTM4LjQgMTA4YzEwLjQgMjEuMyAzMi4zIDM2IDU3LjYgMzYgNS41IDAgMTAuOS0uNyAxNi0ybDAgMTBjMCA2Ni4zLTUzLjcgMTIwLTEyMCAxMjBsLTQ4IDBjLTY2LjMgMC0xMjAtNTMuNy0xMjAtMTIwbDAtMjRjMC0xNy43IDE0LjMtMzIgMzItMzJsODAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0IDAtLjcgMC0xLjQgMC0yIDUuMSAxLjMgMTAuNSAyIDE2IDIgNy45IDAgMTUuNC0xLjQgMjIuNC00em03My42LTI4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNDhjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDQ4eiJdfSxuTHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiY29tcGFzcyIsaWNvbjpbNTEyLDUxMixbMTI5NTE3XSwiZjE0ZSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTMwNi43IDY5LjFMMTYyLjQgMzgwLjZjLTE5LjQgNy41LTM4LjUtMTEuNi0zMS0zMWw1NS41LTE0NC4zYzMuMy04LjUgOS45LTE1LjEgMTguNC0xOC40bDE0NC4zLTU1LjVjMTkuNC03LjUgMzguNSAxMS42IDMxIDMxTDMyNS4xIDMwNi43Yy0zLjMgOC41LTkuOSAxNS4xLTE4LjQgMTguNHpNMjg4IDI1NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAweiJdfSxsTHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3F1YXJlIixpY29uOls0NDgsNTEyLFs5NjMyLDk3MjMsOTcyNCw2MTU5MF0sImYwYzgiLCJNMzg0IDgwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyMGMwIDguOC03LjIgMTYtMTYgMTZMNjQgNDMyYy04LjggMC0xNi03LjItMTYtMTZMNDggOTZjMC04LjggNy4yLTE2IDE2LTE2bDMyMCAwek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyeiJdfSx2ZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmluIixpY29uOls1MTIsNTEyLFsxMjg1MTIsImdyaW4iXSwiZjU4MCIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTM3Mi4yIDQ2LjNjMTEuOC0zLjYgMjMuNyA2LjEgMTkuNiAxNy44LTE5LjggNTUuOS03My4xIDk2LTEzNS44IDk2LTYyLjcgMC0xMTYtNDAtMTM1LjgtOTUuOS00LjEtMTEuNiA3LjgtMjEuNCAxOS42LTE3LjggMzQuNyAxMC42IDc0LjIgMTYuNSAxMTYuMSAxNi41IDQyIDAgODEuNS02IDExNi4zLTE2LjZ6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sY0x0PXZmZSx4ZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1zbWlsZSIsaWNvbjpbNTEyLDUxMixbMTI4NTc4LCJzbWlsZSJdLCJmMTE4IiwiTTQ2NCAyNTZhMjA4IDIwOCAwIDEgMCAtNDE2IDAgMjA4IDIwOCAwIDEgMCA0MTYgMHpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTc3LjMgNjMuNEMxOTIuMyAzMzUgMjE4LjQgMzUyIDI1NiAzNTJzNjMuNy0xNyA3OC43LTMyLjZjOS4yLTkuNiAyNC40LTkuOSAzMy45LS43czkuOSAyNC40IC43IDMzLjljLTIyLjEgMjMtNjAgNDcuNC0xMTMuMyA0Ny40cy05MS4yLTI0LjQtMTEzLjMtNDcuNGMtOS4yLTkuNi04LjktMjQuOCAuNy0zMy45czI0LjgtOC45IDMzLjkgLjd6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sZEx0PXhmZSx5ZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1zbWlsZS1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MjIsInNtaWxlLWJlYW0iXSwiZjViOCIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTE3Ny4zIDYzLjRDMTkyLjMgMzM1IDIxOC40IDM1MiAyNTYgMzUyczYzLjctMTcgNzguNy0zMi42YzkuMi05LjYgMjQuNC05LjkgMzMuOS0uN3M5LjkgMjQuNCAuNyAzMy45Yy0yMi4xIDIzLTYwIDQ3LjQtMTEzLjMgNDcuNHMtOTEuMi0yNC40LTExMy4zLTQ3LjRjLTkuMi05LjYtOC45LTI0LjggLjctMzMuOXMyNC44LTguOSAzMy45IC43ek0xNzYgMTgwYy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0sdUx0PXlmZSxwTHQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZm9sZGVyLWNsb3NlZCIsaWNvbjpbNTEyLDUxMixbXSwiZTE4NSIsIk00NDggNDAwTDY0IDQwMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTQ0IDQxNiAwIDAgMTQ0YzAgOC44LTcuMiAxNi0xNiAxNnptMTYtMjA4bC00MTYgMCAwLTk2YzAtOC44IDcuMi0xNiAxNi0xNmwxMzguNyAwYzMuNSAwIDYuOCAxLjEgOS42IDMuMkwyNTAuNyAxMTJjMTMuOCAxMC40IDMwLjcgMTYgNDggMTZMNDQ4IDEyOGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0OHpNNjQgNDQ4bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjQwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDI5OC43IDgwYy02LjkgMC0xMy43LTIuMi0xOS4yLTYuNEwyNDEuMSA0NC44QzIzMCAzNi41IDIxNi41IDMyIDIwMi43IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjR6Il19LGZMdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJrZXlib2FyZCIsaWNvbjpbNTc2LDUxMixbOWUzXSwiZjExYyIsIk02NCAxMTJjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI1NmMwIDguOCA3LjIgMTYgMTYgMTZsNDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjU2YzAtOC44LTcuMi0xNi0xNi0xNkw2NCAxMTJ6TTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6TTE3NiAzMjBsMjI0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0yMjQgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZjMC04LjggNy4yLTE2IDE2LTE2em0tNzItNzJjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNnptMTYtOTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnptNjQgOTZjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNnptMTYtOTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnptNjQgOTZjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNnptMTYtOTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnptNjQgOTZjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNnptMTYtOTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnptNjQgOTZjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0xNnptMTYtOTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sd2ZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2Utcm9sbGluZy1leWVzIixpY29uOls1MTIsNTEyLFsxMjg1ODAsIm1laC1yb2xsaW5nLWV5ZXMiXSwiZjVhNSIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMSAwIDQxNiAyMDggMjA4IDAgMSAxIDAtNDE2em0wIDQ2NGEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE3NiAzNzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTExMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHpNMTYwIDI2NGMtMjIuMSAwLTQwLTE3LjktNDAtNDAgMC05LjUgMy4zLTE4LjEgOC44LTI1IDMuMiAxNC4zIDE2IDI1IDMxLjIgMjVzMjgtMTAuNyAzMS4yLTI1YzUuNSA2LjggOC44IDE1LjUgOC44IDI1IDAgMjIuMS0xNy45IDQwLTQwIDQwem0wIDQwYTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwem0xOTItNDBjLTIyLjEgMC00MC0xNy45LTQwLTQwIDAtOS41IDMuMy0xOC4xIDguOC0yNSAzLjIgMTQuMyAxNiAyNSAzMS4yIDI1czI4LTEwLjcgMzEuMi0yNWM1LjUgNi44IDguOCAxNS41IDguOCAyNSAwIDIyLjEtMTcuOSA0MC00MCA0MHptMCA0MGE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHoiXX0saEx0PXdmZSxNZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmFjZS1ncmltYWNlIixpY29uOls1MTIsNTEyLFsxMjg1NTYsImdyaW1hY2UiXSwiZjU3ZiIsIk0yNTYgNDhhMjA4IDIwOCAwIDEgMCAwIDQxNiAyMDggMjA4IDAgMSAwIDAtNDE2ek01MTIgMjU2YTI1NiAyNTYgMCAxIDEgLTUxMiAwIDI1NiAyNTYgMCAxIDEgNTEyIDB6TTE1MiAzNTJjMCAxMS45IDguNiAyMS44IDIwIDIzLjdsMC00Ny4zYy0xMS40IDEuOS0yMCAxMS44LTIwIDIzLjd6bTg0IDI0bDAtNDgtMjQgMCAwIDQ4IDI0IDB6bTY0IDBsMC00OC0yNCAwIDAgNDggMjQgMHptNDAtLjNjMTEuNC0xLjkgMjAtMTEuOCAyMC0yMy43cy04LjYtMjEuOC0yMC0yMy43bDAgNDcuM3pNMTc2IDI4OGwxNjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NGwtMTYwIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjR6bTAtMTEyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LG1MdD1NZmUsa2ZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImNpcmNsZS1kb3QiLGljb246WzUxMiw1MTIsWzEyODI4MCwiZG90LWNpcmNsZSJdLCJmMTkyIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMSAwLTUxMiAyNTYgMjU2IDAgMSAxIDAgNTEyem0wLTQ2NGEyMDggMjA4IDAgMSAwIDAgNDE2IDIwOCAyMDggMCAxIDAgMC00MTZ6bTAgMzA0YTk2IDk2IDAgMSAxIDAtMTkyIDk2IDk2IDAgMSAxIDAgMTkyeiJdfSxnTHQ9a2ZlLGJMdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJvYmplY3QtZ3JvdXAiLGljb246WzU3Niw1MTIsW10sImYyNDciLCJNNDAgNjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptNDggNTkuM2MxNi02LjUgMjguOS0xOS4zIDM1LjMtMzUuM2wzMjkuMyAwYzYuNSAxNiAxOS4zIDI4LjkgMzUuMyAzNS4zbDAgMjY1LjNjLTE2IDYuNS0yOC45IDE5LjMtMzUuMyAzNS4zbC0zMjkuMyAwYy02LjUtMTYtMTkuMy0yOC45LTM1LjMtMzUuM2wwLTI2NS4zek01MTIgMGMtMjYuOSAwLTQ5LjkgMTYuNS01OS4zIDQwTDEyMy4zIDQwQzExMy45IDE2LjUgOTAuOSAwIDY0IDAgMjguNyAwIDAgMjguNyAwIDY0IDAgOTAuOSAxNi41IDExMy45IDQwIDEyMy4zbDAgMjY1LjNjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuMyAwIDM1LjMgMjguNyA2NCA2NCA2NCAyNi45IDAgNDkuOS0xNi41IDU5LjMtNDBsMzI5LjMgMGM5LjUgMjMuNSAzMi41IDQwIDU5LjMgNDAgMzUuMyAwIDY0LTI4LjcgNjQtNjQgMC0yNi45LTE2LjUtNDkuOS00MC01OS4zbDAtMjY1LjNjMjMuNS05LjUgNDAtMzIuNSA0MC01OS4zIDAtMzUuMy0yOC43LTY0LTY0LTY0ek00ODggNjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHpNNjQgNDI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNDI0IDI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTE5MiAxNzZsODggMCAwIDU2LTg4IDAgMC01NnptLTgtNDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTA0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC03MmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTA0IDB6bTcyIDE4NGwwIDI0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEwNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNzJjMC0xNy43LTE0LjMtMzItMzItMzJsLTI0IDBjMCAxNC42LTMuOSAyOC4yLTEwLjcgNDBsMjYuNyAwIDAgNTYtODggMCAwLTE2LjRjLTIuNiAuMy01LjMgLjQtOCAuNGwtMzIgMHoiXX0sU2ZlPXtwcmVmaXg6ImZhciIsaWNvbk5hbWU6ImZhY2UtZmx1c2hlZCIsaWNvbjpbNTEyLDUxMixbMTI4NTYzLCJmbHVzaGVkIl0sImY1NzkiLCJNNDY0IDI1NmEyMDggMjA4IDAgMSAxIC00MTYgMCAyMDggMjA4IDAgMSAxIDQxNiAwek0yNTYgMGEyNTYgMjU2IDAgMSAwIDAgNTEyIDI1NiAyNTYgMCAxIDAgMC01MTJ6TTE2MCAyNDhhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0yMTYtMjRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNMTkyIDM1MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMjggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTI4IDB6TTE2MCAxNzZhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2em0wIDEyOGE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMTQ0LTgwYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTEyOCAwYTgwIDgwIDAgMSAwIC0xNjAgMCA4MCA4MCAwIDEgMCAxNjAgMHoiXX0sdkx0PVNmZSx6ZmU9e3ByZWZpeDoiZmFyIixpY29uTmFtZToic3Rhci1oYWxmLXN0cm9rZSIsaWNvbjpbNTc2LDUxMixbInN0YXItaGFsZi1hbHQiXSwiZjVjMCIsIk0zMDkuNS0xOC45Yy00LjEtOC0xMi40LTEzLjEtMjEuNC0xMy4xcy0xNy4zIDUuMS0yMS40IDEzLjFMMTkzLjEgMTI1LjMgMzMuMiAxNTAuN2MtOC45IDEuNC0xNi4zIDcuNy0xOS4xIDE2LjNzLS41IDE4IDUuOCAyNC40bDExNC40IDExNC41LTI1LjIgMTU5LjljLTEuNCA4LjkgMi4zIDE3LjkgOS42IDIzLjJzMTYuOSA2LjEgMjUgMkwyODguMSA0MTcuNiA0MzIuNCA0OTFjOCA0LjEgMTcuNyAzLjMgMjUtMnMxMS0xNC4yIDkuNi0yMy4yTDQ0MS43IDMwNS45IDU1Ni4xIDE5MS40YzYuNC02LjQgOC42LTE1LjggNS44LTI0LjRzLTEwLjEtMTQuOS0xOS4xLTE2LjNMMzgzIDEyNS4zIDMwOS41LTE4Ljl6TTI2NC4xIDkxLjhsMCAyODQuMS0xMDAuMSA1MC45IDE5LjgtMTI1LjVjMS4yLTcuNi0xLjMtMTUuMy02LjctMjAuN2wtODkuOC04OS45IDEyNS41LTIwYzcuNi0xLjIgMTQuMS02IDE3LjYtMTIuOGwzMy44LTY2LjJ6bTQ4IDI4NC4xbDAtMjg0LjEgMzMuOCA2Ni4yYzMuNSA2LjggMTAgMTEuNiAxNy42IDEyLjhsMTI1LjUgMjAtODkuOCA4OS45Yy01LjQgNS40LTcuOSAxMy4xLTYuNyAyMC43bDE5LjggMTI1LjUtMTAwLjEtNTAuOXoiXX0seEx0PXpmZSx5THQ9e3ByZWZpeDoiZmFyIixpY29uTmFtZToiZmlsZS12aWRlbyIsaWNvbjpbMzg0LDUxMixbXSwiZjFjOCIsIk02NCA0OGwxMTIgMCAwIDg4YzAgMzkuOCAzMi4yIDcyIDcyIDcybDg4IDAgMCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2TDY0IDQ2NGMtOC44IDAtMTYtNy4yLTE2LTE2TDQ4IDY0YzAtOC44IDcuMi0xNiAxNi0xNnpNMjI0IDY3LjlsOTIuMSA5Mi4xLTY4LjEgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC02OC4xek02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI2MS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI0Mi43IDE4LjdDMjMwLjcgNi43IDIxNC41IDAgMTk3LjUgMEw2NCAwek04MCAyODhsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjQgMzUgMzVjMy4yIDMuMiA3LjUgNSAxMiA1IDkuNCAwIDE3LTcuNiAxNy0xN2wwLTk0LjFjMC05LjQtNy42LTE3LTE3LTE3LTQuNSAwLTguOCAxLjgtMTIgNWwtMzUgMzUgMC0yNGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6Il19LENmZT17cHJlZml4OiJmYXIiLGljb25OYW1lOiJmYWNlLWxhdWdoIixpY29uOls1MTIsNTEyLFsibGF1Z2giXSwiZjU5OSIsIk00NjQgMjU2YTIwOCAyMDggMCAxIDAgLTQxNiAwIDIwOCAyMDggMCAxIDAgNDE2IDB6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTExOC4zIDU4LjJjLTQuMi0xMy43IDcuMS0yNi4yIDIxLjQtMjYuMmwyMzIuNiAwYzE0LjMgMCAyNS42IDEyLjUgMjEuNCAyNi4yLTE4IDU4LjktNzIuOSAxMDEuOC0xMzcuNyAxMDEuOFMxMzYuMyAzNzMuMSAxMTguMyAzMTQuMnpNMTQ0IDE5MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSx3THQ9Q2ZlLE1MdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJoYW5kLXBvaW50ZXIiLGljb246WzQ0OCw1MTIsW10sImYyNWEiLCJNMTYwIDY0YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxMzZjMCAxMC4zIDYuNiAxOS41IDE2LjQgMjIuOHMyMC42LS4xIDI2LjgtOC4zYzMtMy45IDcuNi02LjQgMTIuOC02LjQgOC44IDAgMTYgNy4yIDE2IDE2IDAgMTAuMyA2LjYgMTkuNSAxNi40IDIyLjhzMjAuNi0uMSAyNi44LTguM2MzLTMuOSA3LjYtNi40IDEyLjgtNi40IDcuOCAwIDE0LjMgNS42IDE1LjcgMTMgMS42IDguMiA3LjMgMTUuMSAxNS4xIDE4czE2LjcgMS42IDIzLjMtMy42YzIuNy0yLjEgNi4xLTMuNCA5LjktMy40IDguOCAwIDE2IDcuMiAxNiAxNmwwIDEyMGMwIDM5LjgtMzIuMiA3Mi03MiA3MmwtMTE2LjYgMGMtMzcuNCAwLTcyLjQtMTguNy05My4yLTQ5LjlMNTAuNyAzMTIuOWMtNC45LTcuNC0yLjktMTcuMyA0LjQtMjIuMnMxNy4zLTIuOSAyMi4yIDQuNEwxMTYgMzUzLjJjNS45IDguOCAxNi44IDEyLjcgMjYuOSA5LjdzMTctMTIuNCAxNy0yM0wxNjAgNjR6TTE3NiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDE5Ny43QzkxLjIgMjM4IDU1LjUgMjMyLjggMjguNSAyNTAuNy0uOSAyNzAuNC04LjkgMzEwLjEgMTAuOCAzMzkuNUw3OC4zIDQ0MC44YzI5LjcgNDQuNSA3OS42IDcxLjIgMTMzLjEgNzEuMkwzMjggNTEyYzY2LjMgMCAxMjAtNTMuNyAxMjAtMTIwbDAtMTIwYzAtMzUuMy0yOC43LTY0LTY0LTY0LTQuNSAwLTguOCAuNS0xMyAxLjMtMTEuNy0xNS40LTMwLjItMjUuMy01MS0yNS4zLTYuOSAwLTEzLjUgMS4xLTE5LjcgMy4xLTExLjYtMTYuNC0zMC43LTI3LjEtNTIuMy0yNy4xLTIuNyAwLTUuNCAuMi04IC41TDI0MCA2NGMwLTM1LjMtMjguNy02NC02NC02NHptNDggMzA0YzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTk2em00OC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgOTZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTk2YzAtOC44LTcuMi0xNi0xNi0xNnptODAgMTZjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZ6Il19LGtMdD17cHJlZml4OiJmYXIiLGljb25OYW1lOiJyZWdpc3RlcmVkIixpY29uOls1MTIsNTEyLFsxNzRdLCJmMjVkIiwiTTI1NiA0OGEyMDggMjA4IDAgMSAxIDAgNDE2IDIwOCAyMDggMCAxIDEgMC00MTZ6bTAgNDY0YTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjAwIDE0NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxNzZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTU2IDM0LjQgMCA0MSA2OC4zYzYuOCAxMS40IDIxLjYgMTUgMzIuOSA4LjJzMTUtMjEuNiA4LjItMzIuOWwtMzAuMi01MC4zYzI0LjYtMTEuNSA0MS42LTM2LjQgNDEuNi02NS4zIDAtMzkuOC0zMi4yLTcyLTcyLTcybC04MCAwem03MiA5NmwtNDggMCAwLTQ4IDU2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTggMHoiXX0saSRhPXtmYVNxdWFyZU1pbnVzOmlwZSxmYU1pbnVzU3F1YXJlOm9DdCxmYUNhbGVuZGFyQ2hlY2s6bkN0LGZhRmFjZUtpc3M6b3BlLGZhS2lzczpsQ3QsZmFQYXN0ZTpQYixmYUZpbGVDbGlwYm9hcmQ6Y0N0LGZhSGFuZFBvaW50TGVmdDpkQ3QsZmFGaWxlRXhjZWw6dUN0LGZhRW52ZWxvcGU6cEN0LGZhU3F1YXJlQ2FyZXREb3duOm5wZSxmYUNhcmV0U3F1YXJlRG93bjpmQ3QsZmFUcnVjazpoQ3QsZmFCZWxsOm1DdCxmYU1lc3NhZ2U6SWIsZmFDb21tZW50QWx0OmdDdCxmYUZhY2VEaXp6eTpscGUsZmFEaXp6eTpiQ3QsZmFDYWxlbmRhckRheXM6Y3BlLGZhQ2FsZW5kYXJBbHQ6dkN0LGZhSGFuZFBvaW50VXA6eEN0LGZhSGFuZExpemFyZDp5Q3QsZmFTcXVhcmVGdWxsOndDdCxmYUNpcmNsZVBhdXNlOmRwZSxmYVBhdXNlQ2lyY2xlOk1DdCxmYUhhcmREcml2ZTp1cGUsZmFIZGQ6a0N0LGZhRmlsZVppcHBlcjpwcGUsZmFGaWxlQXJjaGl2ZTpTQ3QsZmFGbG9wcHlEaXNrOmZwZSxmYVNhdmU6ekN0LGZhRmFjZUdyaW5Ub25ndWVTcXVpbnQ6aHBlLGZhR3JpblRvbmd1ZVNxdWludDpDQ3QsZmFDYW1lcmE6bXBlLGZhQ2FtZXJhQWx0Ol9DdCxmYUZhY2VHcmluU3RhcnM6Z3BlLGZhR3JpblN0YXJzOlRDdCxmYUV5ZTpMQ3QsZmFGYWNlU2FkVGVhcjpicGUsZmFTYWRUZWFyOiRDdCxmYVNoYXJlRnJvbVNxdWFyZTp2cGUsZmFTaGFyZVNxdWFyZTpEQ3QsZmFOb3RlU3RpY2t5OnhwZSxmYVN0aWNreU5vdGU6QUN0LGZhSGFuZEJhY2tGaXN0OnlwZSxmYUhhbmRSb2NrOkVDdCxmYUNoZXNzUXVlZW46UEN0LGZhRmFjZUdyaW5UZWFyczp3cGUsZmFHcmluVGVhcnM6SUN0LGZhUGVuVG9TcXVhcmU6TXBlLGZhRWRpdDpOQ3QsZmFGYWNlR3JpbkJlYW1Td2VhdDprcGUsZmFHcmluQmVhbVN3ZWF0OlJDdCxmYUNsb2NrOlNwZSxmYUNsb2NrRm91cjpPQ3QsZmFGYWNlTGF1Z2hXaW5rOnpwZSxmYUxhdWdoV2luazpGQ3QsZmFQYXBlclBsYW5lOkJDdCxmYUhlYXJ0OkhDdCxmYUZvbnRBd2Vzb21lOmJlZSxmYUZvbnRBd2Vzb21lRmxhZzpxQ3QsZmFGb250QXdlc29tZUxvZ29GdWxsOlZDdCxmYUNsb25lOmpDdCxmYUZvbGRlck9wZW46VUN0LGZhV2luZG93TWluaW1pemU6V0N0LGZhU3RhckhhbGY6R0N0LGZhQWxhcm1DbG9jazpZQ3QsZmFOZXdzcGFwZXI6S0N0LGZhSG9zcGl0YWw6dmVlLGZhSG9zcGl0YWxBbHQ6WkN0LGZhSG9zcGl0YWxXaWRlOlhDdCxmYUNpcmNsZVN0b3A6Q3BlLGZhU3RvcENpcmNsZTpRQ3QsZmFPYmplY3RVbmdyb3VwOkpDdCxmYUNvbW1lbnQ6ZV90LGZhQ2hlc3NQYXduOnRfdCxmYUNhbGVuZGFyUGx1czphX3QsZmFDbGlwYm9hcmQ6cl90LGZhVGh1bWJzRG93bjpzX3QsZmFJZEJhZGdlOmlfdCxmYVNxdWFyZUNoZWNrOl9wZSxmYUNoZWNrU3F1YXJlOm9fdCxmYUNoZXNzQmlzaG9wOm5fdCxmYUVudmVsb3BlT3BlbjpsX3QsZmFDaXJjbGVYbWFyazpLOCxmYVRpbWVzQ2lyY2xlOmNfdCxmYVhtYXJrQ2lyY2xlOmRfdCxmYVNxdWFyZUNhcmV0VXA6VHBlLGZhQ2FyZXRTcXVhcmVVcDp1X3QsZmFGaWxlSW1hZ2U6cF90LGZhU3F1YXJlQ2FyZXRSaWdodDpMcGUsZmFDYXJldFNxdWFyZVJpZ2h0OmZfdCxmYVN1bjp6ZWUsZmFJbWFnZTpoX3QsZmFMaWdodGJ1bGI6bV90LGZhQWRkcmVzc0NhcmQ6eGVlLGZhQ29udGFjdENhcmQ6Z190LGZhVmNhcmQ6Yl90LGZhRmFjZU1laDokcGUsZmFNZWg6dl90LGZhTWFwOnhfdCxmYUhhbmRQb2ludERvd246eV90LGZhRmFjZU1laEJsYW5rOkRwZSxmYU1laEJsYW5rOndfdCxmYUZhY2VHcmluVG9uZ3VlOkFwZSxmYUdyaW5Ub25ndWU6TV90LGZhRnV0Ym9sOnllZSxmYUZ1dGJvbEJhbGw6a190LGZhU29jY2VyQmFsbDpTX3QsZmFGYWNlU3VycHJpc2U6RXBlLGZhU3VycHJpc2U6el90LGZhRm9sZGVyOlBwZSxmYUZvbGRlckJsYW5rOkNfdCxmYUNsb3VkOl9fdCxmYUNpcmNsZTpUX3QsZmFGYWNlR3JpblNxdWludDpJcGUsZmFHcmluU3F1aW50OkxfdCxmYUNpcmNsZVVzZXI6TnBlLGZhVXNlckNpcmNsZTokX3QsZmFSZWN0YW5nbGVMaXN0OlJwZSxmYUxpc3RBbHQ6RF90LGZhSGFuZDpPcGUsZmFIYW5kUGFwZXI6QV90LGZhVGh1bWJzVXA6RV90LGZhQnVpbGRpbmc6UF90LGZhQ2hlc3NSb29rOklfdCxmYUNpcmNsZVF1ZXN0aW9uOkZwZSxmYVF1ZXN0aW9uQ2lyY2xlOk5fdCxmYUZpbGU6Ul90LGZhRmFjZVNhZENyeTpCcGUsZmFTYWRDcnk6T190LGZhQ2FsZW5kYXJNaW51czpGX3QsZmFGYWNlVGlyZWQ6SHBlLGZhVGlyZWQ6Ql90LGZhSGFuZFBvaW50UmlnaHQ6SF90LGZhQ2lyY2xlVXA6cXBlLGZhQXJyb3dBbHRDaXJjbGVVcDpxX3QsZmFIYW5kU2Npc3NvcnM6Vl90LGZhR2VtOmpfdCxmYVJlY3RhbmdsZVhtYXJrOkFiLGZhUmVjdGFuZ2xlVGltZXM6VV90LGZhVGltZXNSZWN0YW5nbGU6V190LGZhV2luZG93Q2xvc2U6R190LGZhVHJhc2hDYW46TmIsZmFUcmFzaEFsdDpZX3QsZmFMaWZlUmluZzpLX3QsZmFDb3B5cmlnaHQ6Wl90LGZhQ2lyY2xlTGVmdDpWcGUsZmFBcnJvd0FsdENpcmNsZUxlZnQ6WF90LGZhQ2FsZW5kYXI6UV90LGZhRmFjZUZyb3duT3BlbjpqcGUsZmFGcm93bk9wZW46Sl90LGZhQ2hhcnRCYXI6VXBlLGZhQmFyQ2hhcnQ6ZVR0LGZhSG91c2U6RWIsZmFIb21lOnRUdCxmYUhvbWVBbHQ6YVR0LGZhSG9tZUxnQWx0OnJUdCxmYUZhY2VGcm93bjpXcGUsZmFGcm93bjpzVHQsZmFVc2VyOndlZSxmYVVzZXJBbHQ6aVR0LGZhVXNlckxhcmdlOm9UdCxmYVNub3dmbGFrZTpuVHQsZmFCb29rbWFyazpsVHQsZmFTcXVhcmVDYXJldExlZnQ6R3BlLGZhQ2FyZXRTcXVhcmVMZWZ0OmNUdCxmYUhhbmRzaGFrZTpNZWUsZmFIYW5kc2hha2VBbHQ6ZFR0LGZhSGFuZHNoYWtlU2ltcGxlOnVUdCxmYUZhY2VTbWlsZVdpbms6WXBlLGZhU21pbGVXaW5rOnBUdCxmYUZhY2VHcmluU3F1aW50VGVhcnM6S3BlLGZhR3JpblNxdWludFRlYXJzOmZUdCxmYUZpbGVBdWRpbzpoVHQsZmFDYWxlbmRhclhtYXJrOlpwZSxmYUNhbGVuZGFyVGltZXM6bVR0LGZhQ2lyY2xlRG93bjpYcGUsZmFBcnJvd0FsdENpcmNsZURvd246Z1R0LGZhRmlsZUxpbmVzOmtlZSxmYUZpbGVBbHQ6YlR0LGZhRmlsZVRleHQ6dlR0LGZhQ29tbWVudHM6eFR0LGZhQ2lyY2xlQ2hlY2s6UmIsZmFDaGVja0NpcmNsZTp5VHQsZmFNb29uOndUdCxmYUNsb3NlZENhcHRpb25pbmc6TVR0LGZhSW1hZ2VzOmtUdCxmYUNpcmNsZVJpZ2h0OlFwZSxmYUFycm93QWx0Q2lyY2xlUmlnaHQ6U1R0LGZhSWRDYXJkOkpwZSxmYURyaXZlcnNMaWNlbnNlOnpUdCxmYUNpcmNsZVBsYXk6ZWZlLGZhUGxheUNpcmNsZTpDVHQsZmFGYWNlTGF1Z2hCZWFtOnRmZSxmYUxhdWdoQmVhbTpfVHQsZmFBZGRyZXNzQm9vazphZmUsZmFDb250YWN0Qm9vazpUVHQsZmFIb3VyZ2xhc3M6cmZlLGZhSG91cmdsYXNzRW1wdHk6TFR0LGZhSGVhZHBob25lczpTZWUsZmFIZWFkcGhvbmVzQWx0OiRUdCxmYUhlYWRwaG9uZXNTaW1wbGU6RFR0LGZhRmlsZVBvd2VycG9pbnQ6QVR0LGZhV2luZG93TWF4aW1pemU6RVR0LGZhQ29tbWVudERvdHM6c2ZlLGZhQ29tbWVudGluZzpQVHQsZmFGYWNlR3JpblRvbmd1ZVdpbms6aWZlLGZhR3JpblRvbmd1ZVdpbms6SVR0LGZhSG91cmdsYXNzSGFsZjpvZmUsZmFIb3VyZ2xhc3MyOk5UdCxmYUNyZWRpdENhcmQ6bmZlLGZhQ3JlZGl0Q2FyZEFsdDpSVHQsZmFIYW5kU3BvY2s6T1R0LGZhQmVsbFNsYXNoOkZUdCxmYVN0YXI6QlR0LGZhRmxhZzpIVHQsZmFMZW1vbjpxVHQsZmFXaW5kb3dSZXN0b3JlOlZUdCxmYUZhY2VHcmluSGVhcnRzOmxmZSxmYUdyaW5IZWFydHM6alR0LGZhRmFjZUtpc3NCZWFtOmNmZSxmYUtpc3NCZWFtOlVUdCxmYUZpbGVQZGY6V1R0LGZhRmFjZUdyaW5XaWRlOmRmZSxmYUdyaW5BbHQ6R1R0LGZhRmFjZUxhdWdoU3F1aW50OnVmZSxmYUxhdWdoU3F1aW50OllUdCxmYUZhY2VLaXNzV2lua0hlYXJ0OnBmZSxmYUtpc3NXaW5rSGVhcnQ6S1R0LGZhQ29weTpDZWUsZmFDaGVzc0tpbmc6WlR0LGZhU3F1YXJlUGx1czpmZmUsZmFQbHVzU3F1YXJlOlhUdCxmYUZpbGVDb2RlOlFUdCxmYUZhY2VHcmluV2luazpoZmUsZmFHcmluV2luazpKVHQsZmFNb25leUJpbGwxOm1mZSxmYU1vbmV5QmlsbEFsdDplTHQsZmFFeWVTbGFzaDp0THQsZmFGaWxlV29yZDphTHQsZmFGYWNlQW5ncnk6Z2ZlLGZhQW5ncnk6ckx0LGZhQ2hlc3NLbmlnaHQ6c0x0LGZhRmFjZUdyaW5CZWFtOmJmZSxmYUdyaW5CZWFtOmlMdCxmYUhhbmRQZWFjZTpvTHQsZmFDb21wYXNzOm5MdCxmYVNxdWFyZTpsTHQsZmFGYWNlR3Jpbjp2ZmUsZmFHcmluOmNMdCxmYUZhY2VTbWlsZTp4ZmUsZmFTbWlsZTpkTHQsZmFGYWNlU21pbGVCZWFtOnlmZSxmYVNtaWxlQmVhbTp1THQsZmFGb2xkZXJDbG9zZWQ6cEx0LGZhS2V5Ym9hcmQ6Zkx0LGZhRmFjZVJvbGxpbmdFeWVzOndmZSxmYU1laFJvbGxpbmdFeWVzOmhMdCxmYUZhY2VHcmltYWNlOk1mZSxmYUdyaW1hY2U6bUx0LGZhQ2lyY2xlRG90OmtmZSxmYURvdENpcmNsZTpnTHQsZmFPYmplY3RHcm91cDpiTHQsZmFGYWNlRmx1c2hlZDpTZmUsZmFGbHVzaGVkOnZMdCxmYVN0YXJIYWxmU3Ryb2tlOnpmZSxmYVN0YXJIYWxmQWx0OnhMdCxmYUZpbGVWaWRlbzp5THQsZmFGYWNlTGF1Z2g6Q2ZlLGZhTGF1Z2g6d0x0LGZhSGFuZFBvaW50ZXI6TUx0LGZhUmVnaXN0ZXJlZDprTHR9fSk7dmFyIG8kYSx6THQsQ0x0LF9MdCxUTHQsTEx0LCRMdCxETHQsQUx0LEVMdCxQTHQsX2VlLElMdCxOTHQsUkx0LE9MdCxfZmUsRkx0LFRmZSxCTHQsSEx0LHFMdCxMZmUsVkx0LGpMdCxVTHQsV0x0LGV2LEdMdCxZTHQsJGZlLEtMdCxaTHQsWEx0LFFMdCxKTHQsZSR0LHQkdCxhJHQsRGZlLHIkdCxzJHQsaSR0LEFmZSxvJHQsbiR0LGwkdCxjJHQsZCR0LHR2LHUkdCxFZmUscCR0LGYkdCxUZWUsaCR0LG0kdCxQZmUsZyR0LElmZSxiJHQsdiR0LE5mZSx4JHQsUmZlLHkkdCxPZmUsdyR0LE0kdCxrJHQsUyR0LHokdCxDJHQsXyR0LEZmZSxUJHQsTCR0LCQkdCxEJHQsQmZlLEEkdCxFJHQsUCR0LEkkdCxOJHQsUiR0LExlZSxPJHQsRiR0LEIkdCwkZWUsSCR0LHEkdCxWJHQsSGZlLGokdCxVJHQsVyR0LEckdCxxZmUsWSR0LFN0ZSxLJHQsenRlLFokdCxYJHQsVmZlLFEkdCxqZmUsSiR0LGVEdCxEZWUsdER0LGFEdCxyRHQsc0R0LGlEdCxvRHQsbkR0LGxEdCxDdGUsYXYsY0R0LGREdCxVZmUsdUR0LHBEdCxPYixmRHQsaER0LG1EdCxXZmUsZ0R0LGJEdCx2RHQsR2ZlLHhEdCxZZmUseUR0LHdEdCxNRHQsa0R0LEtmZSxTRHQsekR0LENEdCxaZmUsX0R0LFhmZSxURHQsTER0LCREdCxERHQsQWVlLEFEdCxFRHQsUER0LElEdCxORHQsUkR0LE9EdCxRZmUsRkR0LEJEdCxIRHQscUR0LFZEdCxKZmUsakR0LFVEdCxGYixXRHQsR0R0LFlEdCxLRHQsWkR0LFhEdCxFZWUsUUR0LEpEdCxlQXQsdEF0LGFBdCxlNWUsckF0LHNBdCxpQXQsb0F0LG5BdCxsQXQsdDVlLGNBdCxkQXQsdUF0LHBBdCxhNWUsZkF0LGhBdCxtQXQscjVlLGdBdCxiQXQsczVlLHZBdCxpNWUseEF0LHlBdCxvNWUsd0F0LE1BdCxuNWUsa0F0LGw1ZSxTQXQsekF0LHJ2LENBdCxzdixfQXQsVEF0LFBlZSxMQXQsJEF0LERBdCxjNWUsQUF0LEVBdCxkNWUsUEF0LElBdCxOQXQsUkF0LHU1ZSxPQXQsRkF0LEJBdCxIQXQscUF0LHA1ZSxWQXQsakF0LFVBdCxXQXQsZjVlLEdBdCxoNWUsWUF0LEtBdCxaQXQsWEF0LFFBdCxtNWUsSkF0LGVFdCx0RXQsYUV0LGc1ZSxyRXQsc0V0LGI1ZSxpRXQsdjVlLG9FdCxuRXQsbEV0LGNFdCxkRXQsdUV0LHg1ZSxwRXQsZkV0LGhFdCxtRXQsZ0V0LHk1ZSxiRXQsdkV0LHhFdCx5RXQsdzVlLHdFdCxNNWUsTUV0LF90ZSxUdGUsazVlLGtFdCxTNWUsU0V0LHpFdCxDRXQsZ3YsejVlLF9FdCxURXQsTEV0LCRFdCxERXQsQUV0LEM1ZSxFRXQsTHRlLFBFdCxJRXQsTkV0LFJFdCxPRXQsXzVlLEZFdCxUNWUsQkV0LEhFdCxxRXQsVkV0LEw1ZSxqRXQsSWVlLFVFdCxXRXQsR0V0LCQ1ZSxZRXQsS0V0LFpFdCxYRXQsRDVlLFFFdCxKRXQsZVB0LHRQdCxBNWUsYVB0LHJQdCxzUHQsaVB0LG9QdCxuUHQsbFB0LGNQdCxkUHQsdVB0LHBQdCxmUHQsaFB0LEU1ZSxtUHQsZ1B0LGJQdCx2UHQseFB0LHlQdCx3UHQsUDVlLE1QdCxrUHQsU1B0LFo4LHpQdCxDUHQsX1B0LFRQdCxMUHQsSTVlLCRQdCxONWUsRFB0LFI1ZSxBUHQsTzVlLEVQdCxGNWUsUFB0LGl2LElQdCxCNWUsTlB0LEg1ZSxSUHQscTVlLE9QdCxGUHQsQlB0LEhQdCxWNWUscVB0LFZQdCxqNWUsalB0LFVQdCxVNWUsV1B0LEdQdCxZUHQsS1B0LFc1ZSxaUHQsWFB0LFFQdCxHNWUsSlB0LGVJdCxCYix0SXQsYUl0LHJJdCxzSXQsaUl0LG9JdCxZNWUsbkl0LEs1ZSxsSXQsY0l0LGRJdCxaNWUsdUl0LHBJdCxmSXQsWDVlLGhJdCxRNWUsbUl0LE5lZSxnSXQsYkl0LHZJdCx4SXQseUl0LHdJdCxNSXQsa0l0LFNJdCx6SXQsQ0l0LF9JdCxUSXQsTEl0LEhiLCRJdCxESXQsQUl0LEVJdCxQSXQsSUl0LE5JdCxSSXQsSjVlLE9JdCxGSXQsQkl0LEhJdCxxSXQsVkl0LGpJdCxVSXQsV0l0LEdJdCxlaGUsWUl0LEtJdCxaSXQsWEl0LFFJdCxKSXQsZU50LHRoZSx0TnQsYWhlLGFOdCxyTnQscmhlLHNOdCxpTnQsb050LG5OdCxzaGUsbE50LGNOdCxkTnQsaWhlLHVOdCxvaGUscE50LGZOdCxuaGUsaE50LG1OdCxnTnQsYk50LGxoZSx2TnQseE50LHlOdCwkdGUsd050LE1OdCxrTnQsY2hlLFNOdCx6TnQsQ050LF9OdCxUTnQsZGhlLExOdCwkTnQsRE50LEFOdCxFTnQsdWhlLFBOdCxJTnQsTk50LHBoZSxSTnQsT050LFJlZSxGTnQsQk50LEhOdCxxTnQsZmhlLFZOdCxqTnQsVU50LGhoZSxXTnQsbWhlLEdOdCxZTnQsS050LFpOdCxvdixYTnQsZ2hlLFFOdCxKTnQsZVJ0LHRSdCxhUnQsYmhlLHJSdCx2aGUsc1J0LHhoZSxpUnQsb1J0LE9lZSxuUnQsbFJ0LHloZSxjUnQsRmVlLGRSdCx1UnQscFJ0LGZSdCxoUnQsbVJ0LGdSdCxiUnQsd2hlLHZSdCx4UnQseVJ0LHdSdCxNUnQsTWhlLGtSdCxTUnQselJ0LGtoZSxDUnQsU2hlLF9SdCx6aGUsVFJ0LExSdCwkUnQsRFJ0LEFSdCxFUnQsUFJ0LENoZSxJUnQsTlJ0LFJSdCxPUnQsX2hlLEZSdCxCUnQsSFJ0LHFSdCxWUnQsalJ0LFRoZSxVUnQsV1J0LExoZSxHUnQsWVJ0LCRoZSxLUnQsWlJ0LFhSdCxRUnQsRGhlLEpSdCxlT3QsdE90LEFoZSxhT3QsRWhlLHJPdCxzT3QsaU90LG9PdCxQaGUsbk90LGxPdCxjT3QsZE90LHVPdCxJaGUscE90LE5oZSxmT3QsUmhlLGhPdCxtT3QsT2hlLGdPdCxGaGUsYk90LHZPdCx4T3QseU90LHdPdCxNT3Qsa090LFNPdCx6T3QsQ090LF9PdCxCZWUsVE90LExPdCxlbSwkT3QsRE90LEFPdCxIZWUsRU90LFBPdCxJT3QsTk90LFJPdCxPT3QsRk90LEJoZSxCT3QsSGhlLEhPdCxxT3QsVk90LHFoZSxqT3QsVmhlLFVPdCxXT3QscWVlLEdPdCxZT3QsS090LFpPdCxYOCxYT3QsUU90LEpPdCxlRnQsdEZ0LGFGdCxyRnQsamhlLHNGdCxpRnQsb0Z0LG5GdCxVaGUsbEZ0LGNGdCxkRnQsdUZ0LHBGdCxmRnQsaEZ0LFdoZSxtRnQsZ0Z0LGJGdCx2RnQseEZ0LHlGdCxHaGUsd0Z0LER0ZSxZaGUsTUZ0LGtGdCxTRnQsS2hlLHpGdCxaaGUsQ0Z0LF9GdCxURnQsWGhlLExGdCwkRnQsUWhlLERGdCxBRnQsRUZ0LFBGdCxKaGUsSUZ0LE5GdCxSRnQsT0Z0LEZGdCxCRnQsZThlLEhGdCxxRnQsQXRlLFZGdCxqRnQsdDhlLFVGdCxXRnQsR0Z0LHFiLFlGdCxLRnQsWkZ0LFhGdCxWYixRRnQsSkZ0LGVCdCx0QnQsYUJ0LHJCdCxhOGUsc0J0LFZlZSxpQnQsb0J0LG5CdCxyOGUsbEJ0LGNCdCxkQnQsdUJ0LHBCdCxmQnQsaEJ0LHM4ZSxtQnQsRXRlLGdCdCxiQnQsdkJ0LGk4ZSx4QnQsbzhlLHlCdCx3QnQsbjhlLE1CdCxqYixrQnQsU0J0LHpCdCxDQnQsX0J0LFRCdCxMQnQsJEJ0LERCdCxsOGUsQUJ0LEVCdCxQQnQsSUJ0LGplZSxOQnQsUkJ0LGM4ZSxPQnQsRkJ0LEJCdCxkOGUsSEJ0LHFCdCxWQnQsdThlLGpCdCxVQnQsV0J0LEdCdCxZQnQsS0J0LFpCdCxYQnQsUUJ0LHA4ZSxKQnQsZjhlLGVIdCx0SHQsYUh0LHJIdCxzSHQsaUh0LG9IdCxoOGUsbkh0LGxIdCxjSHQsbThlLGRIdCx1SHQsZzhlLHBIdCxiOGUsZkh0LHY4ZSxoSHQsbUh0LGdIdCx4OGUsYkh0LHk4ZSx2SHQsdzhlLHhIdCx5SHQsTThlLHdIdCxrOGUsTUh0LFM4ZSxrSHQsU0h0LHo4ZSx6SHQsQ0h0LF9IdCxUSHQsTEh0LCRIdCxESHQsQUh0LEVIdCxQSHQsQzhlLElIdCxfOGUsTkh0LFQ4ZSxSSHQsT0h0LFB0ZSxGSHQsTDhlLEJIdCxISHQscUh0LCQ4ZSxWSHQsakh0LEQ4ZSxVSHQsbnYsV0h0LEdIdCxZSHQsQThlLEtIdCxFOGUsWkh0LFhIdCxQOGUsUUh0LEk4ZSxKSHQsTjhlLGVxdCx0cXQsYXF0LHJxdCxzcXQsUjhlLGlxdCxPOGUsb3F0LG5xdCxscXQsY3F0LEY4ZSxkcXQsdXF0LHBxdCxCOGUsZnF0LGhxdCxtcXQsSDhlLGdxdCxicXQsdnF0LHhxdCxxOGUseXF0LHdxdCxWOGUsTXF0LGtxdCxTcXQsajhlLHpxdCxDcXQsX3F0LFU4ZSxUcXQsVzhlLExxdCxVZWUsJHF0LERxdCxBcXQsRzhlLEVxdCxQcXQsSXF0LFk4ZSxOcXQsUnF0LE9xdCxLOGUsRnF0LEJxdCxIcXQscXF0LFZxdCxqcXQsVXF0LFdxdCxHcXQsWXF0LEtxdCxacXQsWjhlLFhxdCxJdGUsUXF0LFg4ZSxKcXQsZVZ0LHRWdCxhVnQsUThlLHJWdCxzVnQsaVZ0LG9WdCxuVnQsbFZ0LGNWdCxVYixkVnQsdVZ0LHBWdCxmVnQsbHYsaFZ0LEo4ZSxtVnQsZ1Z0LGJWdCxlbWUsdlZ0LHhWdCx0bWUseVZ0LHdWdCxNVnQsa1Z0LFNWdCxhbWUselZ0LHJtZSxDVnQsX1Z0LFRWdCxzbWUsTFZ0LCRWdCxEVnQsaW1lLEFWdCxFVnQsUFZ0LElWdCxOVnQsUlZ0LE9WdCxvbWUsRlZ0LE50ZSxCVnQsSFZ0LHFWdCxubWUsVlZ0LGpWdCxsbWUsVVZ0LGNtZSxXVnQsR1Z0LFlWdCxkbWUsS1Z0LHVtZSxaVnQscG1lLFhWdCxRVnQsZm1lLEpWdCxlanQsdGp0LGFqdCxobWUscmp0LFdiLHNqdCxpanQsb2p0LG5qdCxtbWUsbGp0LGdtZSxjanQsZGp0LHVqdCxwanQsYm1lLGZqdCxHYixoanQsbWp0LGdqdCx2bWUsYmp0LHZqdCx4anQseWp0LHhtZSx3anQseW1lLE1qdCxranQsU2p0LHdtZSx6anQsTW1lLENqdCxfanQsa21lLFRqdCxTbWUsTGp0LHptZSwkanQsQ21lLERqdCxBanQsRWp0LFBqdCxfbWUsSWp0LE5qdCxSanQsT2p0LEZqdCxCanQsSGp0LHFqdCxUbWUsVmp0LExtZSxqanQsVWp0LFdqdCxHanQsJG1lLFlqdCxLanQsV2VlLFpqdCxYanQsUWp0LEpqdCxlVXQsdFV0LGFVdCxZYixyVXQsc1V0LGlVdCxvVXQsblV0LGxVdCxjVXQsZFV0LHVVdCxwVXQsZlV0LGhVdCxtVXQsR2VlLGdVdCxiVXQsdlV0LHhVdCx5VXQsd1V0LERtZSxNVXQsQW1lLGtVdCxTVXQselV0LFllZSxDVXQsX1V0LFRVdCxFbWUsTFV0LEtlZSwkVXQsRFV0LEFVdCxFVXQsUnRlLFplZSxQVXQsSVV0LFBtZSxOVXQsUlV0LE9VdCxGVXQsSW1lLEJVdCxIVXQsTm1lLHFVdCxWVXQsUm1lLGpVdCxVVXQsV1V0LEdVdCxZVXQsS1V0LFhlZSxaVXQsWFV0LE9tZSxRVXQsSlV0LGVXdCx0V3QsYVd0LHJXdCxzV3QsaVd0LEZtZSxvV3Qsbld0LEJtZSxsV3QsSG1lLGNXdCxkV3QsczQsdVd0LHBXdCxmV3QsaFd0LHFtZSxtV3QsZ1d0LGJXdCx2V3QsVm1lLHhXdCxqbWUseVd0LFFlZSx3V3QsTVd0LGtXdCxVbWUsU1d0LE90ZSx6V3QsQ1d0LFdtZSxfV3QsSmVlLFRXdCxMV3QsJFd0LERXdCxBV3QsRVd0LGN2LFBXdCxJV3QsR21lLE5XdCxSV3QsT1d0LFltZSxGV3QsS21lLEJXdCxLYixIV3QscVd0LFZXdCxqV3QsVVd0LFdXdCxHV3QsWm1lLFlXdCxLV3QsWG1lLFpXdCxRbWUsWFd0LEptZSxRV3QsSld0LGVHdCx0R3QsYUd0LHJHdCxlN2Usc0d0LGlHdCxvR3Qsbkd0LGxHdCx0N2UsY0d0LGE3ZSxkR3QscjdlLHVHdCxwR3QsZkd0LGV0ZSxoR3QsbUd0LGdHdCxiR3Qsdkd0LHM3ZSx4R3QsaTdlLHlHdCx3R3QsTUd0LGtHdCxvN2UsU0d0LG43ZSx6R3QsQ0d0LHR0ZSxfR3QsVEd0LExHdCwkR3QsREd0LGw3ZSxBR3QsRUd0LGM3ZSxQR3QsZDdlLElHdCxOR3QsUkd0LE9HdCxGR3QsQkd0LEhHdCxxR3QsVkd0LGpHdCx1N2UsVUd0LFdHdCxHR3QsWUd0LGF0ZSxLR3QsWkd0LFhHdCxRR3QscDdlLEpHdCxlWXQsZjdlLHRZdCxhWXQscll0LHNZdCxoN2UsaVl0LG9ZdCxuWXQsZHYsbFl0LGNZdCxydGUsZFl0LHVZdCxtN2UscFl0LGZZdCxoWXQsbVl0LGdZdCxnN2UsYll0LHZZdCxiN2UseFl0LHY3ZSx5WXQsd1l0LE1ZdCxrWXQsU1l0LHg3ZSx6WXQseTdlLENZdCx3N2UsX1l0LFRZdCxMWXQsJFl0LE03ZSxEWXQsQVl0LGs3ZSxFWXQsUFl0LElZdCxTN2UsTll0LFJZdCxzdGUsT1l0LEZZdCx6N2UsQll0LEM3ZSxIWXQsXzdlLHFZdCxGdGUsVDdlLFZZdCxMN2Usall0LFVZdCxXWXQsR1l0LFlZdCxLWXQsaXRlLFpZdCxYWXQsUVl0LCQ3ZSxKWXQsZUt0LHRLdCxvdGUsYUt0LHJLdCxzS3QsaUt0LG50ZSxvS3Qsbkt0LGxLdCxjS3QsRDdlLGRLdCxBN2UsdUt0LHBLdCxmS3QsaEt0LG1LdCxsdGUsZ0t0LGJLdCx2S3QseEt0LHlLdCx3S3QsY3RlLE1LdCxrS3QsU0t0LEU3ZSx6S3QsQ0t0LF9LdCxUS3QsUDdlLExLdCwkS3QsREt0LEFLdCxFS3QsUEt0LEk3ZSxJS3QsTkt0LFJLdCxPS3QsTjdlLEZLdCxCS3QsWmIsSEt0LHFLdCxWS3QsUjdlLGpLdCxVS3QsV0t0LEdLdCxZS3QsS0t0LFpLdCxYS3QsUUt0LE83ZSxKS3QsZVp0LEY3ZSx0WnQsYVp0LHJadCxCN2Usc1p0LGladCxvWnQsblp0LGxadCxIN2UsY1p0LEJ0ZSxxN2UsZFp0LHVadCxwWnQsZlp0LGhadCxWN2UsbVp0LGdadCxiWnQsdlp0LHhadCxqN2UseVp0LHdadCxNWnQsa1p0LFNadCxkdGUselp0LENadCxfWnQsVFp0LExadCxVN2UsJFp0LFc3ZSxEWnQsQVp0LEVadCx1dGUsUFp0LEladCxOWnQsRzdlLFJadCxZN2UsT1p0LEZadCxCWnQsSFp0LHFadCxWWnQsSzdlLGpadCxVWnQsWjdlLFdadCxYN2UsR1p0LFE3ZSxZWnQsS1p0LEo3ZSxaWnQsZTllLFhadCxRWnQsSlp0LGVYdCx0WHQsYVh0LHJYdCxzWHQsaVh0LHQ5ZSxvWHQsblh0LHB0ZSxsWHQsY1h0LGE5ZSxkWHQsdVh0LHBYdCxyOWUsZlh0LGhYdCxtWHQsZ1h0LHM5ZSxiWHQsdlh0LHhYdCx5WHQsd1h0LGk5ZSxNWHQsa1h0LFNYdCxmdGUselh0LENYdCxfWHQsVFh0LExYdCwkWHQsaHRlLERYdCxBWHQsRVh0LG85ZSxQWHQsbjllLElYdCxOWHQsUlh0LE9YdCxsOWUsRlh0LGM5ZSxCWHQsSFh0LGQ5ZSxxWHQsVlh0LHU5ZSxqWHQsVVh0LFdYdCxHWHQscDllLFlYdCxLWHQsWlh0LFhYdCx1dixRWHQsSHRlLEpYdCxlUXQsdFF0LGFRdCxmOWUsclF0LGg5ZSxzUXQsaVF0LG9RdCxuUXQsWGIsbFF0LGNRdCxkUXQsUWIsdVF0LHBRdCxmUXQsbTllLGhRdCxtUXQsbXRlLGdRdCxiUXQsdlF0LHhRdCxnOWUseVF0LHdRdCxNUXQsYjllLGtRdCxTUXQselF0LENRdCxfUXQsdjllLFRRdCxndGUsTFF0LCRRdCxEUXQsQVF0LEVRdCxQUXQseDllLElRdCx5OWUsTlF0LHc5ZSxSUXQsT1F0LE05ZSxGUXQscXRlLGs5ZSxCUXQsSFF0LHFRdCxTOWUsVlF0LGpRdCxWdGUsejllLFVRdCxXUXQsR1F0LFlRdCxROCxLUXQsWlF0LFhRdCxRUXQsQzllLEpRdCxlSnQsdEp0LF85ZSxhSnQsckp0LHNKdCxpSnQsVDllLG9KdCxuSnQsbEp0LGNKdCxkSnQsYnRlLHVKdCxwSnQscHYsZkp0LEw5ZSxoSnQsJDllLG1KdCxnSnQsYkp0LHZKdCxEOWUseEp0LHlKdCx3SnQsTUp0LEE5ZSxrSnQsU0p0LHpKdCxFOWUsQ0p0LF9KdCxUSnQsTEp0LFA5ZSwkSnQsREp0LEFKdCxJOWUsRUp0LFBKdCxJSnQsZnYsTkp0LFJKdCxOOWUsT0p0LFI5ZSxGSnQsTzllLEJKdCxGOWUsSEp0LHFKdCxCOWUsVkp0LGpKdCxVSnQsV0p0LEdKdCxZSnQsSDllLEtKdCxaSnQscTllLFhKdCxRSnQsVjllLEpKdCxlZWEsdGVhLGo5ZSxhZWEscmVhLHNlYSxpZWEsb2VhLEo4LG5lYSxsZWEsY2VhLGRlYSx1ZWEscGVhLGZlYSxoZWEsbWVhLGdlYSxiZWEsdmVhLHhlYSx5ZWEsd2VhLE1lYSxrZWEsVTllLFNlYSx6ZWEsQ2VhLF9lYSxXOWUsVGVhLExlYSwkZWEsSmIsRGVhLEFlYSxFZWEsUGVhLEllYSxHOWUsTmVhLGh2LFJlYSxPZWEsRmVhLFk5ZSxCZWEsSGVhLHFlYSxWZWEsSzllLGplYSxVZWEsWjllLFdlYSxHZWEsWWVhLFg5ZSxLZWEsWmVhLFE5ZSxYZWEsSjllLFFlYSxKZWEsZXRhLHR0YSxhdGEsZWdlLHJ0YSxzdGEsaXRhLHRnZSxvdGEsbnRhLGx0YSxjdGEsZHRhLHV0YSxwdGEsYWdlLGZ0YSxyZ2UsaHRhLHNnZSxtdGEsdnRlLGd0YSxidGEsaWdlLHZ0YSxvZ2UseHRhLG5nZSx5dGEsd3RhLE10YSxrdGEsU3RhLHp0YSxsZ2UsQ3RhLGNnZSxfdGEsVHRhLEx0YSwkdGEsRHRhLGRnZSxBdGEsdWdlLEV0YSxwZ2UsUHRhLGZnZSxJdGEsTnRhLFJ0YSxPdGEsaGdlLEZ0YSxCdGEseHRlLEh0YSxxdGEsbWdlLFZ0YSxqdGEsVXRhLFd0YSxnZ2UsR3RhLFl0YSxLdGEsWnRhLGJnZSxYdGEsdG0sUXRhLEp0YSx2Z2UsZWFhLHhnZSx0YWEsYWFhLHJhYSx5dGUsc2FhLGlhYSxvYWEseWdlLG5hYSx3Z2UsbGFhLE1nZSxjYWEsa2dlLGRhYSx1YWEscGFhLGZhYSxoYWEsbWFhLGdhYSx3dGUsYmFhLHZhYSx4YWEseWFhLHdhYSxTZ2UsTWFhLGthYSxTYWEsemFhLENhYSxfYWEsemdlLFRhYSxMYWEsQ2dlLCRhYSxEYWEsTXRlLEFhYSxFYWEsUGFhLG12LElhYSxOYWEsUmFhLF9nZSxPYWEsVGdlLEZhYSxCYWEsSGFhLHFhYSxWYWEsTGdlLGphYSxVYWEsV2FhLEdhYSxZYWEsa3RlLEthYSxaYWEsWGFhLFFhYSxKYWEsJGdlLGVyYSxEZ2UsdHJhLGFyYSxBZ2UscnJhLEVnZSxzcmEsUGdlLGlyYSxJZ2Usb3JhLG5yYSxOZ2UsbHJhLGNyYSxkcmEsdXJhLHByYSxmcmEsbiRhLGhyYT1mKCgpPT57byRhPSJmYXMiLHpMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiIwIixpY29uOlszMjAsNTEyLFtdLCIzMCIsIk0wIDE5MkMwIDEwMy42IDcxLjYgMzIgMTYwIDMyczE2MCA3MS42IDE2MCAxNjBsMCAxMjhjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0MDguNCAwIDMyMEwwIDE5MnpNMTYwIDk2Yy01MyAwLTk2IDQzLTk2IDk2bDAgMTI4YzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZsMC0xMjhjMC01My00My05Ni05Ni05NnoiXX0sQ0x0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IjEiLGljb246WzI1Niw1MTIsW10sIjMxIiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nmw2NCAwIDAgMzIwLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC0zNTJjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMzJ6Il19LF9MdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiIyIixpY29uOlszODQsNTEyLFtdLCIzMiIsIk00OCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxNzEgMGM2MC4yIDAgMTA5IDQ4LjggMTA5IDEwOSAwIDQzLjgtMjYuMiA4My4zLTY2LjQgMTAwLjRsLTEzOS4xIDU5QzExOSAzMTUuNCA5NiAzNTAuMiA5NiAzODguN2wwIDI3LjMgMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTU5LjNjMC02NC4yIDM4LjQtMTIyLjIgOTcuNS0xNDcuM2wxMzkuMS01OWMxNi42LTcuMSAyNy40LTIzLjQgMjcuNC00MS40IDAtMjQuOS0yMC4yLTQ1LTQ1LTQ1TDgwIDk2QzYyLjMgOTYgNDggODEuNyA0OCA2NHoiXX0sVEx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IjMiLGljb246WzMyMCw1MTIsW10sIjMzIiwiTTgwIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxMTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NEwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0UzE0LjMgMzIgMzIgMzJsMTYwIDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjggMCAzOC4yLTE2LjggNzIuNS00My4zIDk2IDI2LjYgMjMuNSA0My4zIDU3LjggNDMuMyA5NiAwIDcwLjctNTcuMyAxMjgtMTI4IDEyOEwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRzLTI4LjctNjQtNjQtNjRMODAgMjg4eiJdfSxMTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiNCIsaWNvbjpbMzg0LDUxMixbXSwiMzQiLCJNNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCAyODhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDAgMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTYgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDIyNC0xOTIgMCAwLTIyNHoiXX0sJEx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IjUiLGljb246WzMyMCw1MTIsW10sIjM1IiwiTTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwIDAgMTEyIDEyMCAwYzc1LjEgMCAxMzYgNjAuOSAxMzYgMTM2UzI1OS4xIDQ4MCAxODQgNDgwTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNTIgMGMzOS44IDAgNzItMzIuMiA3Mi03MnMtMzIuMi03Mi03Mi03MkwzMiAyNzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgNjR6Il19LERMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiI2IixpY29uOlszODQsNTEyLFtdLCIzNiIsIk0yNTYgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTg4IDBjLTQ4LjYgMC04OCAzOS40LTg4IDg4bDAgMzIuMmMyMi45LTE1LjMgNTAuNC0yNC4yIDgwLTI0LjJsNDggMGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NFMyODcuNSA0ODAgMjA4IDQ4MGwtNDggMEM4MC41IDQ4MCAxNiA0MTUuNSAxNiAzMzZsMC0xNTJDMTYgMTAwLjEgODQuMSAzMiAxNjggMzJsODggMHpNODAgMzM2YzAgNDQuMiAzNS44IDgwIDgwIDgwbDQ4IDBjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBsLTQ4IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgweiJdfSxBTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiNyIsaWNvbjpbMzIwLDUxMixbXSwiMzciLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwyNTYgMGMxMS41IDAgMjIgNi4xIDI3LjcgMTYuMXM1LjcgMjIuMi0uMSAzMi4xbC0yMjQgMzg0Yy04LjkgMTUuMy0yOC41IDIwLjQtNDMuOCAxMS41cy0yMC40LTI4LjUtMTEuNS00My44TDIzMi4zIDk2IDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6Il19LEVMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiI4IixpY29uOlszMjAsNTEyLFtdLCIzOCIsIk0zMDQgMTYwYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4bC0zMiAwYy03MC43IDAtMTI4IDU3LjMtMTI4IDEyOCAwIDM0LjYgMTMuNyA2NiAzNiA4OS0zMS41IDIzLjMtNTIgNjAuOC01MiAxMDMgMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhsNjQgMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOCAwLTQyLjItMjAuNS03OS43LTUyLTEwMyAyMi4zLTIzIDM2LTU0LjQgMzYtODl6TTE3Ni4xIDI4OGwxNS45IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjRsLTY0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjRsNDguMSAwem0wLTY0TDE0NCAyMjRjLTM1LjMgMC02NC0yOC43LTY0LTY0IDAtMzUuMyAyOC43LTY0IDY0LTY0bDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjQgMCAzNS4zLTI4LjYgNjQtNjQgNjR6Il19LFBMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiI5IixpY29uOlszODQsNTEyLFtdLCIzOSIsIk0yMDggMzIwYzI5LjYgMCA1Ny4xLTguOSA4MC0yNC4ybDAgMzIuMmMwIDQ4LjYtMzkuNCA4OC04OCA4OEw5NiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTA0IDBjODMuOSAwIDE1Mi02OC4xIDE1Mi0xNTJsMC0xNTIuMUMzNTEuOSA5Ni40IDI4Ny41IDMyIDIwOCAzMmwtNDggMEM4MC41IDMyIDE2IDk2LjUgMTYgMTc2UzgwLjUgMzIwIDE2MCAzMjBsNDggMHptODAtMTQ0YzAgNDQuMi0zNS44IDgwLTgwIDgwbC00OCAwYy00NC4yIDAtODAtMzUuOC04MC04MHMzNS44LTgwIDgwLTgwbDQ4IDBjNDQuMiAwIDgwIDM1LjggODAgODB6Il19LF9lZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkb2xsYXItc2lnbiIsaWNvbjpbMzIwLDUxMixbMTI4MTc4LDYxNzgxLCJkb2xsYXIiLCJ1c2QiXSwiMjQiLCJNMTM2IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MCA1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMTQuOSAwYy0yNC45IDAtNDUuMSAyMC4yLTQ1LjEgNDUuMSAwIDIyLjUgMTYuNSA0MS41IDM4LjcgNDQuN2w5MS42IDEzLjFjNTMuOCA3LjcgOTMuNyA1My43IDkzLjcgMTA4IDAgNjAuMy00OC45IDEwOS4xLTEwOS4xIDEwOS4xbC0xMC45IDAgMCA0MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQwLTcyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTMwLjkgMGMyNC45IDAgNDUuMS0yMC4yIDQ1LjEtNDUuMSAwLTIyLjUtMTYuNS00MS41LTM4LjctNDQuN2wtOTEuNi0xMy4xQzU1LjkgMjczLjUgMTYgMjI3LjQgMTYgMTczLjEgMTYgMTEyLjkgNjQuOSA2NCAxMjUuMSA2NGwxMC45IDAgMC00MHoiXX0sSUx0PV9lZSxOTHQ9X2VlLFJMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkb2ciLGljb246WzU3Niw1MTIsWzEyODAyMV0sImY2ZDMiLCJNMzIgMTEyYzE2LjYgMCAzMC4yIDEyLjYgMzEuOCAyOC43bC4zIDYuNkM2NS44IDE2My40IDc5LjQgMTc2IDk2IDE3NmwxNzkuMSAwIDE0MC45IDYwLjQgMCAyNDMuNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMzEuM0MyOTYgMzYxIDI2OC44IDM2OCAyNDAgMzY4cy01Ni03LTgwLTE5LjNMMTYwIDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNDUuNmMtMzcuMy0xMy4yLTY0LTQ4LjYtNjQtOTAuNCAwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzU1LjgtMzJjNy43IDAgMTQuOSAzLjYgMTkuNiA5LjhMMzkyIDAgNDQ0LjEgMGMxMi43IDAgMjQuOSA1LjEgMzMuOSAxNC4xTDQ5NiAzMiA1NTIgMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyNGMwIDQ0LjItMzUuOCA4MC04MCA4MGwtNjQgMC03IDI4LTEyNC43LTUzLjQgMzEuNi0xNDcuMkMzMzQuMy0yMy45IDM0NC4yLTMyIDM1NS44LTMyek00NDggNDRhMjAgMjAgMCAxIDAgMCA0MCAyMCAyMCAwIDEgMCAwLTQweiJdfSxPTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stbW92aW5nIixpY29uOls2NDAsNTEyLFtdLCJmNGRmIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MjRjMCA0OC42IDM5LjQgODggODggODggMjUuMiAwIDQ4LTEwLjYgNjQtMjcuNiAxNiAxNyAzOC44IDI3LjYgNjQgMjcuNiA0MC4zIDAgNzQuMi0yNy4xIDg0LjctNjRsMTM0LjYgMGMxMC40IDM2LjkgNDQuNCA2NCA4NC43IDY0IDQzIDAgNzguOS0zMC45IDg2LjUtNzEuNyAyMC0xMC44IDMzLjUtMzIgMzMuNS01Ni4zbDAtMTQ2LjdjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNTc2IDE0Ni43Yy0xMi0xMi0yOC4zLTE4LjctNDUuMy0xOC43bC01MC43IDAgMC0zMmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNNDgwIDE5Mmw1MC43IDAgNDUuMyA0NS4zIDAgNTAuNy05NiAwIDAtOTZ6TTg4IDM4NGE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6bTM5MiA0MGE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwek0yMTYgMzg0YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHoiXX0sX2ZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvdGF0ZSIsaWNvbjpbNTEyLDUxMixbMTI4MjYwLCJzeW5jLWFsdCJdLCJmMmYxIiwiTTQ4MC4xIDE5Mmw3LjkgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTE0NGMwLTkuNy01LjgtMTguNS0xNC44LTIyLjJTNDc3LjkgLjIgNDcxIDdMNDE5LjMgNTguOEMzNzUgMjIuMSAzMTggMCAyNTYgMCAxMjcgMCAyMC4zIDk1LjQgMi42IDIxOS41IC4xIDIzNyAxMi4yIDI1My4yIDI5LjcgMjU1LjdzMzMuNy05LjcgMzYuMi0yNy4xQzc5LjIgMTM1LjUgMTU5LjMgNjQgMjU2IDY0IDMwMC40IDY0IDM0MS4yIDc5IDM3My43IDEwNC4zTDMyNyAxNTFjLTYuOSA2LjktOC45IDE3LjItNS4yIDI2LjJTMzM0LjMgMTkyIDM0NCAxOTJsMTM2LjEgMHptMjkuNCAxMDAuNWMyLjUtMTcuNS05LjctMzMuNy0yNy4xLTM2LjJzLTMzLjcgOS43LTM2LjIgMjcuMWMtMTMuMyA5My05My40IDE2NC41LTE5MC4xIDE2NC41LTQ0LjQgMC04NS4yLTE1LTExNy43LTQwLjNMMTg1IDM2MWM2LjktNi45IDguOS0xNy4yIDUuMi0yNi4yUzE3Ny43IDMyMCAxNjggMzIwTDI0IDMyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRMMCA0ODhjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yUzM0LjEgNTExLjggNDEgNTA1bDUxLjgtNTEuOEMxMzcgNDg5LjkgMTk0IDUxMiAyNTYgNTEyIDM4NSA1MTIgNDkxLjcgNDE2LjYgNTA5LjQgMjkyLjV6Il19LEZMdD1fZmUsVGZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1taW51cyIsaWNvbjpbNDQ4LDUxMixbNjE3NjcsIm1pbnVzLXNxdWFyZSJdLCJmMTQ2IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTcyIDIwMGwxNzYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTc2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LEJMdD1UZmUsSEx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFsaWduLWp1c3RpZnkiLGljb246WzQ0OCw1MTIsW10sImYwMzkiLCJNNDQ4IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5NmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnptMCAyNTZjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgMjg4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyek0wIDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek00NDggNDQ4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnoiXX0scUx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbGVuZGFyLWNoZWNrIixpY29uOls0NDgsNTEyLFtdLCJmMjc0IiwiTTMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzIgMTI4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMjIgMTYxLjdjLTEwLjctNy44LTI1LjctNS40LTMzLjUgNS4zTDE4OS4xIDMzMS4yIDEzNyAyNzkuMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw3MiA3MmM1IDUgMTEuOSA3LjUgMTguOCA3czEzLjQtNC4xIDE3LjUtOS44TDM0Ny4zIDE5NS4yYzcuOC0xMC43IDUuNC0yNS43LTUuMy0zMy41eiJdfSxMZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1raXNzIixpY29uOls1MTIsNTEyLFsxMjg1MzUsImtpc3MiXSwiZjU5NiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjQwIDI4OGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgMTIuMy00LjYgMjMuNS0xMi4yIDMyIDcuNiA4LjUgMTIuMiAxOS43IDEyLjIgMzIgMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2em0tOTYtODBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sVkx0PUxmZSxqTHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToia2l0Y2hlbi1zZXQiLGljb246WzU3Niw1MTIsW10sImU1MWEiLCJNMjQwIDE0NGE5NiA5NiAwIDEgMCAtMTkyIDAgOTYgOTYgMCAxIDAgMTkyIDB6bTQ0LjQgMzJDMjY5LjkgMjQwLjEgMjEyLjUgMjg4IDE0NCAyODggNjQuNSAyODggMCAyMjMuNSAwIDE0NFM2NC41IDAgMTQ0IDBjNjguNSAwIDEyNS45IDQ3LjkgMTQwLjQgMTEybDcxLjggMGM4LjgtOS44IDIxLjYtMTYgMzUuOC0xNmwxMDQgMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OGwtMTA0IDBjLTE0LjIgMC0yNy02LjItMzUuOC0xNmwtNzEuOCAwek0xNDQgODBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTQwMCAyNDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA4IDk2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI0MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDk2IDAgMC04YzAtMTMuMyAxMC43LTI0IDI0LTI0ek0yODggNDY0bDAtMTEyIDIyNCAwIDAgMTEyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6TTQ4IDMyMGwxMjggMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OGwtMTYgMGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6bTEyOCA2NGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMCAwIDMyIDE2IDB6TTI0IDQ2NGwxNzYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LFVMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkbmEiLGljb246WzM4NCw1MTIsWzEyOTUxNl0sImY0NzEiLCJNMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzIgMCA1Ny44LTI0LjQgMTA0LjgtNTcuNCAxNDQuNS0yNC4xIDI4LjktNTMuOCA1NS4xLTgzLjYgNzkuNSAyOS44IDI0LjUgNTkuNSA1MC42IDgzLjYgNzkuNSAzMyAzOS42IDU3LjQgODYuNyA1Ny40IDE0NC41IDAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyTDY0IDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ5Ny43IDAgNDgwQzAgNDIyLjIgMjQuNCAzNzUuMiA1Ny40IDMzNS41IDgxLjUgMzA2LjYgMTExLjIgMjgwLjUgMTQxIDI1NiAxMTEuMiAyMzEuNSA4MS41IDIwNS40IDU3LjQgMTc2LjUgMjQuNCAxMzYuOCAwIDg5LjggMCAzMiAwIDE0LjMgMTQuMyAwIDMyIDBTNjQgMTQuMyA2NCAzMmwyNTYgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMjgzLjUgMzg0bC0xODIuOSAwYy04LjIgMTAuNS0xNS4xIDIxLjEtMjAuNiAzMmwyMjQuMiAwYy01LjYtMTAuOS0xMi41LTIxLjUtMjAuNi0zMnpNMjM4IDMzNmMtMTQuMy0xMy0yOS44LTI1LjgtNDYtMzktMTYuMiAxMy4xLTMxLjcgMjYtNDYgMzlsOTIgMHpNMTAwLjUgMTI4bDE4Mi45IDBjOC4yLTEwLjUgMTUuMS0yMS4xIDIwLjYtMzJMNzkuOSA5NmM1LjYgMTAuOSAxMi41IDIxLjUgMjAuNiAzMnpNMTQ2IDE3NmMxNC4zIDEzIDI5LjggMjUuOCA0NiAzOSAxNi4yLTEzLjEgMzEuNy0yNiA0Ni0zOWwtOTIgMHoiXX0sV0x0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoaWxkLXJlYWNoaW5nIixpY29uOlszODQsNTEyLFtdLCJlNTlkIiwiTTI1NiA2NGE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6TTE1Mi45IDE2OS4zYy0yMy43LTguNC00NC41LTI0LjMtNTguOC00NS44TDc0LjYgOTQuMkM2NC44IDc5LjUgNDUgNzUuNiAzMC4zIDg1LjRTMTEuNiAxMTUgMjEuNCAxMjkuOEw0MC45IDE1OWMxOC4xIDI3LjEgNDIuOCA0OC40IDcxLjEgNjIuNEwxMTIgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiAzMiAwIDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI1OC40YzI5LjEtMTQuMiA1NC40LTM2LjIgNzIuNy02NC4ybDE4LjItMjcuOWM5LjYtMTQuOCA1LjQtMzQuNi05LjQtNDQuM3MtMzQuNi01LjUtNDQuMyA5LjRMMjkxIDEyMi40Yy0yMS44IDMzLjQtNTguOSA1My42LTk4LjggNTMuNi0xMi42IDAtMjQuOS0yLTM2LjYtNS44LS45LS4zLTEuOC0uNy0yLjctLjl6Il19LGV2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhc3RlIixpY29uOls1MTIsNTEyLFsiZmlsZS1jbGlwYm9hcmQiXSwiZjBlYSIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxMTIgMCAwLTIyNGMwLTYxLjkgNTAuMS0xMTIgMTEyLTExMmw2NCAwIDAtNDhjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHpNMjQ4IDExMmwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTQ0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjR6bTQwIDQ4Yy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDIyNGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE2NS41YzAtMTctNi43LTMzLjMtMTguNy00NS4zbC01OC41LTU4LjVjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdMMjg4IDE2MHoiXX0sR0x0PWV2LFlMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtZXRlb3IiLGljb246WzUxMiw1MTIsWzk3MzJdLCJmNzUzIiwiTTQ5My43IC45bC0xOTQuMiA3NC43IDIuMy0yOS4zYzEtMTIuOC0xMi44LTIxLjUtMjQtMTUuMUwxMDEuMyAxMzMuNEMzOC42IDE2OS43IDAgMjM2LjYgMCAzMDkgMCA0MjEuMSA5MC45IDUxMiAyMDMgNTEyIDI3NS40IDUxMiAzNDIuMyA0NzMuNCAzNzguNiA0MTAuN0w0ODAuOCAyMzQuM2M2LjUtMTEuMS0yLjItMjUtMTUuMS0yNGwtMjkuMyAyLjMgNzQuNy0xOTQuMmMuNi0xLjUgLjktMy4yIC45LTQuOCAwLTcuNS02LTEzLjUtMTMuNS0xMy41LTEuNyAwLTMuMyAuMy00LjggLjl6TTE5MiAxOTJhMTI4IDEyOCAwIDEgMSAwIDI1NiAxMjggMTI4IDAgMSAxIDAtMjU2em0wIDk2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTE2IDk2YTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnoiXX0sJGZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdlYXJzIixpY29uOls2NDAsNTEyLFsiY29ncyJdLCJmMDg1IiwiTTQxNS45IDIxMC41YzEyLjItMy4zIDI1IDIuNSAzMC41IDEzLjhMNDY1IDI2MS45YzEwLjMgMS40IDIwLjQgNC4yIDI5LjkgOC4xbDM1LTIzLjNjMTAuNS03IDI0LjQtNS42IDMzLjMgMy4zbDE5LjIgMTkuMmM4LjkgOC45IDEwLjMgMjIuOSAzLjMgMzMuM2wtMjMuMyAzNC45YzEuOSA0LjcgMy42IDkuNiA1IDE0LjcgMS40IDUuMSAyLjMgMTAuMSAzIDE1LjJsMzcuNyAxOC42YzExLjMgNS42IDE3LjEgMTguNCAxMy44IDMwLjVsLTcgMjYuMmMtMy4zIDEyLjEtMTQuNiAyMC4zLTI3LjIgMTkuNWwtNDItMi43Yy02LjMgOC4xLTEzLjYgMTUuNi0yMS45IDIybDIuNyA0MS45Yy44IDEyLjYtNy40IDI0LTE5LjUgMjcuMmwtMjYuMiA3Yy0xMi4yIDMuMy0yNC45LTIuNS0zMC41LTEzLjhsLTE4LjYtMzcuNmMtMTAuMy0xLjQtMjAuNC00LjItMjkuOS04LjFsLTM1IDIzLjNjLTEwLjUgNy0yNC40IDUuNi0zMy4zLTMuM2wtMTkuMi0xOS4yYy04LjktOC45LTEwLjMtMjIuOC0zLjMtMzMuM2wyMy4zLTM1Yy0xLjktNC43LTMuNi05LjYtNS0xNC43cy0yLjMtMTAuMi0zLTE1LjJsLTM3LjctMTguNmMtMTEuMy01LjYtMTctMTguNC0xMy44LTMwLjVsNy0yNi4yYzMuMy0xMi4xIDE0LjYtMjAuMyAyNy4yLTE5LjVsNDEuOSAyLjdjNi4zLTguMSAxMy42LTE1LjYgMjEuOS0yMmwtMi43LTQxLjhjLS44LTEyLjYgNy40LTI0IDE5LjUtMjcuMmwyNi4yLTd6TTQ0OC40IDM0MGE0NCA0NCAwIDEgMCAuMSA4OCA0NCA0NCAwIDEgMCAtLjEtODh6TTIyNC45LTQ1LjVsMjYuMiA3YzEyLjEgMy4zIDIwLjMgMTQuNyAxOS41IDI3LjJsLTIuNyA0MS44YzguMyA2LjQgMTUuNiAxMy44IDIxLjkgMjJsNDItMi43YzEyLjUtLjggMjMuOSA3LjQgMjcuMiAxOS41bDcgMjYuMmMzLjIgMTIuMS0yLjUgMjQuOS0xMy44IDMwLjVsLTM3LjcgMTguNmMtLjcgNS4xLTEuNyAxMC4yLTMgMTUuMnMtMy4xIDEwLTUgMTQuN2wyMy4zIDM1YzcgMTAuNSA1LjYgMjQuNC0zLjMgMzMuM0wzMDcuMyAyNjJjLTguOSA4LjktMjIuOCAxMC4zLTMzLjMgMy4zTDIzOSAyNDJjLTkuNSAzLjktMTkuNiA2LjctMjkuOSA4LjFsLTE4LjYgMzcuNmMtNS42IDExLjMtMTguNCAxNy0zMC41IDEzLjhsLTI2LjItN2MtMTIuMi0zLjMtMjAuMy0xNC43LTE5LjUtMjcuMmwyLjctNDEuOWMtOC4zLTYuNC0xNS42LTEzLjgtMjEuOS0yMmwtNDIgMi43Yy0xMi41IC44LTIzLjktNy40LTI3LjItMTkuNWwtNy0yNi4yYy0zLjItMTIuMSAyLjUtMjQuOSAxMy44LTMwLjVsMzcuNy0xOC42Yy43LTUuMSAxLjctMTAuMSAzLTE1LjIgMS40LTUuMSAzLTEwIDUtMTQuN0w1NS4xIDQ2LjVjLTctMTAuNS01LjYtMjQuNCAzLjMtMzMuM0w3Ny42LTZjOC45LTguOSAyMi44LTEwLjMgMzMuMy0zLjNsMzUgMjMuM2M5LjUtMy45IDE5LjYtNi43IDI5LjktOC4xbDE4LjYtMzcuNmM1LjYtMTEuMyAxOC4zLTE3IDMwLjUtMTMuOHpNMTkyLjQgODRhNDQgNDQgMCAxIDAgMCA4OCA0NCA0NCAwIDEgMCAwLTg4eiJdfSxLTHQ9JGZlLFpMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWNpcmNsZS1wbHVzIixpY29uOls1NzYsNTEyLFs1ODYwNl0sImU0OTQiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMjIuNy0zMS41LTM2LTcwLjItMzYtMTEyIDAtMTAwLjYgNzcuNC0xODMuMiAxNzYtMTkxLjNsMC0zOC4xYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2ek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMTYtMjA4bDAgNDggNDggMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtNDggMCAwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNDgtNDggMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmw0OCAwIDAtNDhjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNnoiXX0sWEx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImljaWNsZXMiLGljb246WzUxMiw1MTIsW10sImY3YWQiLCJNNzUuOCAzMDQuOEwxIDM1LjdDLjMgMzMuMiAwIDMwLjcgMCAyOC4yIDAgMTIuNiAxMi42IDAgMjguMiAwTDQ4Mi40IDBjMTYuMyAwIDI5LjYgMTMuMiAyOS42IDI5LjYgMCAxLjYtLjEgMy4zLS40IDQuOUw0MzQuNiA0OTYuMWMtMS41IDkuMi05LjUgMTUuOS0xOC44IDE1LjktOS4yIDAtMTcuMS02LjYtMTguNy0xNS42TDMzNiAxNjAgMzA3LjIgMzAzLjljLTEuOSA5LjMtMTAuMSAxNi4xLTE5LjYgMTYuMS05LjIgMC0xNy4yLTYuMi0xOS40LTE1LjFMMjQwIDE5MiAyMTAuNiAzNjguMmMtMS41IDkuMS05LjQgMTUuOC0xOC42IDE1LjhzLTE3LjEtNi43LTE4LjYtMTUuOEwxNDQgMTkyIDExNS45IDMwNC4zYy0yLjMgOS4yLTEwLjYgMTUuNy0yMC4xIDE1LjctOS4zIDAtMTcuNS02LjItMjAtMTUuMnoiXX0sUUx0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXRyZW5kLXVwIixpY29uOls1NzYsNTEyLFtdLCJlMDk4IiwiTTM4NCAxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC04Mi43LTE2OS40IDE2OS40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMEwxOTIgMjY5LjMgNTQuNiA0MDYuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTYwLTE2MGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMEwzMjAgMzA2LjcgNDY2LjcgMTYwIDM4NCAxNjB6Il19LEpMdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZXhhZ29uLW5vZGVzLWJvbHQiLGljb246WzU3Niw1MTIsW10sImU2OWEiLCJNMjQ4IDEwNi42YzE4LjktOSAzMi0yOC4zIDMyLTUwLjZjMC0zMC45LTI1LjEtNTYtNTYtNTZzLTU2IDI1LjEtNTYgNTZjMCAyMi4zIDEzLjEgNDEuNiAzMiA1MC42bDAgOTguOGMtMi44IDEuMy01LjUgMi45LTggNC43bC04MC4xLTQ1LjhjMS42LTIwLjgtOC42LTQxLjYtMjcuOS01Mi44QzU3LjIgOTYgMjMgMTA1LjIgNy41IDEzMlMxLjIgMTkzIDI4IDIwOC41YzEuMyAuOCAyLjYgMS41IDQgMi4xbDAgOTAuOGMtMS4zIC42LTIuNyAxLjMtNCAyLjFDMS4yIDMxOS04IDM1My4yIDcuNSAzODBTNTcuMiA0MTYgODQgNDAwLjVjMTkuMy0xMS4xIDI5LjQtMzIgMjcuOC01Mi44bDUwLjUtMjguOWMtMTEuNS0xMS4yLTE5LjktMjUuNi0yMy44LTQxLjdMODggMzA2LjFjLTIuNi0xLjgtNS4yLTMuMy04LTQuN2wwLTkwLjhjMi44LTEuMyA1LjUtMi45IDgtNC43bDgwLjEgNDUuOGMtLjEgMS40LS4yIDIuOC0uMiA0LjNjMCAyMi4zIDEzLjEgNDEuNiAzMiA1MC42bDAgOTguOGMtMTguOSA5LTMyIDI4LjMtMzIgNTAuNmMwIDMwLjkgMjUuMSA1NiA1NiA1NmMzMC43IDAgNTUuNi0yNC43IDU2LTU1LjJjLTcuNS0xMi45LTEzLjUtMjYuOC0xNy42LTQxLjVjLTQuMi00LTkuMS03LjMtMTQuNC05LjlsMC05OC44YzIuOC0xLjMgNS41LTIuOSA4LTQuN2wxMC41IDZjNS41LTE1LjMgMTMuMS0yOS41IDIyLjQtNDIuNWwtOS4xLTUuMmMuMS0xLjQgLjItMi44IC4yLTQuM2MwLTIyLjMtMTMuMS00MS42LTMyLTUwLjZsMC05OC44ek00NDAuNSAxMzJDNDI1IDEwNS4yIDM5MC44IDk2IDM2NCAxMTEuNWMtMTkuMyAxMS4xLTI5LjQgMzItMjcuOCA1Mi44bC01MC42IDI4LjljMTEuNSAxMS4yIDE5LjkgMjUuNiAyMy44IDQxLjdMMzYwIDIwNS45Yy40IC4zIC44IC42IDEuMyAuOWMyMS43LTkuNSA0NS42LTE0LjggNzAuOC0xNC44YzIgMCA0IDAgNS45IC4xYzEyLjEtMTcuMyAxMy44LTQwLjYgMi42LTYwLjF6TTQzMiA1MTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em00Ny45LTIyNWM0LjMgMy43IDUuNCA5LjkgMi42IDE0LjlMNDUyLjQgMzU2bDM1LjYgMGM1LjIgMCA5LjggMy4zIDExLjQgOC4ycy0uMSAxMC4zLTQuMiAxMy40bC05NiA3MmMtNC41IDMuNC0xMC44IDMuMi0xNS4xLS42cy01LjQtOS45LTIuNi0xNC45TDQxMS42IDM4MCAzNzYgMzgwYy01LjIgMC05LjgtMy4zLTExLjQtOC4ycy4xLTEwLjMgNC4yLTEzLjRsOTYtNzJjNC41LTMuNCAxMC44LTMuMiAxNS4xIC42eiJdfSxlJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicXVlc3Rpb24iLGljb246WzMyMCw1MTIsWzEwMDY3LDEwMDY4LDYxNzM2XSwiM2YiLCJNNjQgMTYwYzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZjMCA0Mi43LTI3LjkgNzguOS02Ni41IDkxLjQtMjguNCA5LjItNjEuNSAzNS4zLTYxLjUgNzYuNmwwIDI0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNGMwLTEuNyAuNi00LjEgMy41LTcuMyAzLTMuMyA3LjktNi41IDEzLjctOC40IDY0LjMtMjAuNyAxMTAuOC04MSAxMTAuOC0xNTIuMyAwLTg4LjQtNzEuNi0xNjAtMTYwLTE2MFMwIDcxLjYgMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnptOTYgMzUyYzIyLjEgMCA0MC0xNy45IDQwLTQwcy0xNy45LTQwLTQwLTQwLTQwIDE3LjktNDAgNDAgMTcuOSA0MCA0MCA0MHoiXX0sdCR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzLWJvdW5kIixpY29uOls1NzYsNTEyLFtdLCJlNGY5IiwiTTY0IDMyQzY0IDE0LjMgNDkuNyAwIDMyIDBTMCAxNC4zIDAgMzJMMCAyMTMuOWMwIDE0LjIgNS4xIDI3LjkgMTQuMyAzOC43TDk5LjYgMzUyIDk2IDM1MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzODQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMy42IDAgODUuMy05OS41YzkuMi0xMC44IDE0LjMtMjQuNSAxNC4zLTM4LjdMNTc2IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTEyLjgtNjkuMyA5Mi40Yy01LjcgNy42LTE2LjEgOS42LTI0LjIgNC44LTkuNy01LjctMTIuMS0xOC43LTUuMS0yNy41TDQ0MSAxODBjMTAuOC0xMy41IDguOS0zMy4zLTQuNC00NC41cy0zMy05LjgtNDQuNSAzLjJsLTQ2LjcgNTIuNUMzMjkgMjA5LjcgMzIwIDIzMy40IDMyMCAyNTguMWwwIDkzLjktNjQgMCAwLTkzLjljMC0yNC42LTktNDguNC0yNS40LTY2LjhsLTQ2LjctNTIuNWMtMTEuNS0xMy0zMS4zLTE0LjQtNDQuNS0zLjJTMTI0LjIgMTY2LjQgMTM1IDE4MGwyNy42IDM0LjVjNyA4LjggNC43IDIxLjgtNS4xIDI3LjUtOC4xIDQuOC0xOC42IDIuNy0yNC4yLTQuOEw2NCAxNDQuOCA2NCAzMnptNjQgNDQ4bDAgMzIgMTI4IDAgMC0zMiA2NCAwIDAgMzIgMTI4IDAgMC0zMiAzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDk2IDQzMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMiAweiJdfSxhJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXdhbGtpbmctbHVnZ2FnZSIsaWNvbjpbNTEyLDUxMixbXSwiZTU1NCIsIk0yNjQuMyAyNGE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6bS04IDE4MS4zbC0yMi42IDIyLjZjLTYgNi05LjQgMTQuMS05LjQgMjIuNmwwIDM3LjVjMCAxMi4zLTcgMjMtMTcuMiAyOC40LS45IDQuMi0yLjQgOC40LTQuMyAxMi4zbC02OSAxMzguMS0uOC0uNC0yNy43IDU1LjNjLTkuOSAxOS44LTMzLjkgMjcuOC01My43IDE3LjlMMTQuNiA1MjFjLTE5LjgtOS45LTI3LjgtMzMuOS0xNy45LTUzLjdMNDcuMyAzNjYuM2M5LjktMTkuOCAzMy45LTI3LjggNTMuNy0xNy45bDMwLjcgMTUuMyAyOC4zLTU2LjZjLjMtLjYgLjQtMS4yIC40LTEuOGwwLTE2LjljMC0uMiAwLS4zIDAtLjVsMC0zNy41YzAtMjUuNSAxMC4xLTQ5LjkgMjguMS02Ny45bDM1LjEtMzUuMWMyMi44LTIyLjggNTMuNi0zNS42IDg1LjgtMzUuNiAzNi45IDAgNzEuOCAxNi44IDk0LjggNDUuNkw0MjIuMSAxODBjNi4xIDcuNiAxNS4zIDEyIDI1IDEybDMzLjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzMuMiAwYy0yOS4yIDAtNTYuNy0xMy4zLTc1LTM2bC0zLjgtNC43IDAgMTE1LjIgMzQuNSAyOS42YzE3LjcgMTUuMiAyOS4zIDM2LjIgMzIuNiA1OS4zTDQ0OCA1MDcuNWMyLjUgMTcuNS05LjcgMzMuNy0yNy4yIDM2LjJzLTMzLjctOS43LTM2LjItMjcuMkwzNzIgNDI4LjRjLTEuMS03LjctNS0xNC43LTEwLjktMTkuOGwtNzEuNC02MS4yYy0yMS4zLTE4LjItMzMuNS00NC45LTMzLjUtNzIuOWwwLTY5LjN6bS4xIDE2NS44YzIuNCAyLjMgNC44IDQuNiA3LjQgNi44bDQ2IDM5LjQtMi4yIDcuNmMtNC41IDE1LjctMTIuOSAzMC0yNC40IDQxLjVsLTY4LjMgNjguM2MtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjM4IDQyMS4xYzMuOC0zLjggNi42LTguNiA4LjEtMTMuOEwyNTYuNCAzNzF6Il19LERmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWFycm93LWRvd24iLGljb246WzM4NCw1MTIsWyJmaWxlLWRvd25sb2FkIl0sImY1NmQiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTE3NSA0NDFjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsNjQtNjRjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMjMgMjMgMC04Ni4xYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgODYuMS0yMy0yM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw2NCA2NHoiXX0sciR0PURmZSxzJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWJvb3RoIixpY29uOls1NzYsNTEyLFtdLCJmNzU2IiwiTTQwIDI0QTU2IDU2IDAgMSAxIDE1MiAyNCA1NiA1NiAwIDEgMSA0MCAyNHptNTEuMSA4OGMyMy41IDAgNDUuNSAxMS4zIDU5LjEgMzAuNGw0OC43IDY4LjJjNiA4LjQgMTUuNyAxMy40IDI2IDEzLjRsMzEuMSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMS4xIDBjLTMxIDAtNjAuMS0xNS03OC4xLTQwLjJsLTIuOC0zLjkgMCA4MC4xIDQxLjYgMzEuMkMyMDkuOCAzNzMuMyAyMjQgNDAxLjggMjI0IDQzMmwwIDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtODBjMC0xMC4xLTQuNy0xOS42LTEyLjgtMjUuNkw3MC40IDM0OC44QzQ2LjIgMzMwLjcgMzIgMzAyLjIgMzIgMjcybDAtMTAwLjlDMzIgMTM4LjUgNTguNSAxMTIgOTEuMSAxMTJ6TTMyIDUxMmwwLTEzMi43YzMuMSAyLjcgNi4zIDUuNCA5LjYgNy45TDk2IDQyOCA5NiA1MTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJ6bTU0NC04OGwwIDk2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNzItMTY4IDBjLTcuMSAwLTEzLjgtMy4xLTE4LjQtOC42cy02LjUtMTIuNi01LjMtMTkuNmwzMC43LTE3Ni43LTYzLjEtMTM3LjYgMCA3MmMtNS4yLTEtMTAuNS0xLjYtMTYtMS42bC0zMiAwIDAtMTIwYzAtMzAuOSAyNS4xLTU2IDU2LTU2TDUyMCAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgMzY4ek0yODggMzM2YzUuNSAwIDEwLjgtLjYgMTYtMS42TDMwNCA1MjBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xODQgMzIgMHoiXX0saSR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxvY3VzdCIsaWNvbjpbNTc2LDUxMixbXSwiZTUyMCIsIk0zMjggMzJjMTM3IDAgMjQ4IDExMSAyNDggMjQ4bDAgNDAtLjQgOC4yQzU3MS41IDM2OC41IDUzNy40IDQwMCA0OTYgNDAwbC0xMi4zIDAgMjUuMiA0NC4xYzYuNiAxMS41IDIuNiAyNi4yLTguOSAzMi44cy0yNi4yIDIuNi0zMi43LTguOWwtMzguOC02Ny45LTgwLjQgMC00OC4yIDY5LjdjLTcuNSAxMC45LTIyLjUgMTMuNi0zMy40IDYuMXMtMTMuNi0yMi41LTYuMS0zMy40bDI5LjMtNDIuMy03NC41IDAtNTEuNyA3MC4yYy03LjkgMTAuNy0yMi45IDEyLjktMzMuNiA1LjFzLTEyLjktMjIuOS01LjEtMzMuNmw0MC41LTU1LTQzLTE2LjQtNzkuMyAxMDAuNWMtOC4yIDEwLjQtMjMuMyAxMi4yLTMzLjcgNHMtMTIuMi0yMy4zLTQtMzMuN2wyNDAtMzA0IDIuMS0yLjNjNS4yLTUuMSAxMi41LTcuNSAxOS45LTYuNiA4LjQgMS4xIDE1LjYgNi41IDE4LjkgMTQuM2wyMS43IDUwLjcgNDAuOS01NS41IDIuMS0yLjRjNS4xLTUuMyAxMi41LTggMjAtNy4yIDguNSAxIDE1LjkgNi41IDE5LjMgMTQuNGw0MS44IDk3LjUgNjQuMiAwYzEwLjIgMCAyMCAyIDI5IDUuNS0xNi40LTk0LTk4LjMtMTY1LjUtMTk3LTE2NS41bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE2IDB6TTQ4OCAyOTZhMjQgMjQgMCAxIDAgMCA0OCAyNCAyNCAwIDEgMCAwLTQ4ek00My41IDMzMS4xQzM2LjIgMzIxLjQgMzIgMzA5LjUgMzIgMjk2LjggMzIgMjY1LjUgNTcuNSAyNDAgODguOSAyNDBsMjcuNiAwLTcyLjkgOTEuMXpNMjI1LjEgMjQwbDQ4LjIgMCAxLjQtMS45LTE2LjktMzkuNS0zMi43IDQxLjV6bTEwNy44IDBsNDYuNyAwLTE3LjItNDAtMjkuNSA0MHoiXX0sQWZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJpZ2h0LWxvbmciLGljb246WzU3Niw1MTIsWyJsb25nLWFycm93LWFsdC1yaWdodCJdLCJmMzBiIiwiTTU2Ni42IDIzMy40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xMjggMTI4Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOVMzODQgMzk2LjkgMzg0IDM4NGwwLTY0LTMzNiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTMyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDMzNiAwIDAtNjRjMC0xMi45IDcuOC0yNC42IDE5LjgtMjkuNnMyNS43LTIuMiAzNC45IDYuOWwxMjggMTI4eiJdfSxvJHQ9QWZlLG4kdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1kcm9wbGV0IixpY29uOls1NzYsNTEyLFtdLCJlNThjIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMy4zIDBjMTAuNCAzNi45IDQ0LjQgNjQgODQuNyA2NHM3NC4yLTI3LjEgODQuNy02NGwxMDIuNiAwYzEwLjQgMzYuOSA0NC40IDY0IDg0LjcgNjRzNzQuMi0yNy4xIDg0LjctNjRsMy4zIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNDYuN2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0w1MTIgMTQ2LjdjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdsLTUwLjcgMCAwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek01MTIgMjM3LjNsMCA1MC43LTk2IDAgMC05NiA1MC43IDAgNDUuMyA0NS4zek0xNTIgMzg0YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHptMjMyIDQwYTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTIwOCAzMDRjLTM5LjggMC03Mi0zMi4yLTcyLTcyIDAtMzMuMiAzNC41LTc4IDU1LjgtMTAyLjQgOC43LTEwIDIzLjgtMTAgMzIuNSAwIDIxLjIgMjQuNCA1NS44IDY5LjEgNTUuOCAxMDIuNCAwIDQ4LTMyLjIgNzItNzIgNzJ6Il19LGwkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLWhvbGRpbmctbWVkaWNhbCIsaWNvbjpbNTc2LDUxMixbXSwiZTA1YyIsIk0yNDAgMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDU2IDU2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNTYgMCAwIDU2YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTU2LTU2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNDhjMC0xMy4zIDEwLjctMjQgMjQtMjRsNTYgMCAwLTU2ek02Ni43IDM4NGw0Mi41LTQyLjVjMjQtMjQgNTYuNi0zNy41IDkwLjUtMzcuNUwzNTIgMzA0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExMi42IDAgMTE5LjctODguMmMxNy44LTEzLjEgNDIuOC05LjMgNTUuOSA4LjVzOS4zIDQyLjgtOC41IDU1LjlMNDMzLjEgNDg1LjVjLTIzLjQgMTcuMi01MS42IDI2LjUtODAuNyAyNi41TDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzNC43IDB6Il19LGMkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXBvaW50LWxlZnQiLGljb246WzUxMiw1MTIsW10sImYwYTUiLCJNMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4czE0LjMgMzIgMzIgMzJsMjA4IDAgMC02NC0yMDggMHpNMTkyIDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwem0tNjQtNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNDggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTk2IDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwem04OC05NmwtLjYgMGM1LjQgOS40IDguNiAyMC4zIDguNiAzMiAwIDEzLjItNCAyNS40LTEwLjggMzUuNiAyNC45IDguNyA0Mi44IDMyLjUgNDIuOCA2MC40IDAgMTEuNy0zLjEgMjIuNi04LjYgMzJsOC42IDBjODguNCAwIDE2MC03MS42IDE2MC0xNjBsMC02MS43YzAtNDIuNC0xNi45LTgzLjEtNDYuOS0xMTMuMWwtMTEuNi0xMS42QzQyOS41IDc3LjUgMzk2LjkgNjQgMzYzIDY0bC0yNyAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDg4YzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBsMC01NmMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNTZjMCAzOS44LTMyLjIgNzItNzIgNzJ6Il19LGQkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxjdWxhdG9yIixpY29uOlszODQsNTEyLFsxMjg0MjVdLCJmMWVjIiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6TTk2IDY0bDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJMOTYgMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xNiAxNjhhMjQgMjQgMCAxIDEgLTQ4IDAgMjQgMjQgMCAxIDEgNDggMHptODAgMjRhMjQgMjQgMCAxIDEgMC00OCAyNCAyNCAwIDEgMSAwIDQ4em0xMjgtMjRhMjQgMjQgMCAxIDEgLTQ4IDAgMjQgMjQgMCAxIDEgNDggMHpNODggMzUyYTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHptMTI4LTI0YTI0IDI0IDAgMSAxIC00OCAwIDI0IDI0IDAgMSAxIDQ4IDB6bTgwIDI0YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHpNNjQgNDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDg4IDQ0OGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTIzMi0yNGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNC0yNC0xMC43LTI0LTI0IDEwLjctMjQgMjQtMjR6Il19LHR2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pbnVzIixpY29uOls0NDgsNTEyLFs4MjExLDg3MjIsMTAxMzQsInN1YnRyYWN0Il0sImYwNjgiLCJNMCAyNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnoiXX0sdSR0PXR2LEVmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC16LWEiLGljb246WzUxMiw1MTIsWyJzb3J0LWFscGhhLXVwLWFsdCJdLCJmODgyIiwiTTE1MC42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC04MCA4MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw5NiAxNDEuMyA5NiA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMwNi43IDI1LjQgMjUuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC04MC04MHpNMjg4IDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDUwLjcgMC03My40IDczLjRjLTkuMiA5LjItMTEuOSAyMi45LTYuOSAzNC45UzMwNy4xIDIyNCAzMjAgMjI0bDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01MC43IDAgNzMuNC03My40YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ2MSAzMiA0NDggMzJMMzIwIDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNNDEyLjYgMjczLjdDNDA3LjIgMjYyLjggMzk2LjEgMjU2IDM4NCAyNTZzLTIzLjIgNi44LTI4LjYgMTcuN2wtODAgMTYwYy03LjkgMTUuOC0xLjUgMzUgMTQuMyA0Mi45czM1IDEuNSA0Mi45LTE0LjNsNy4yLTE0LjMgODguNCAwIDcuMiAxNC4zYzcuOSAxNS44IDI3LjEgMjIuMiA0Mi45IDE0LjNzMjIuMi0yNy4xIDE0LjMtNDIuOWwtODAtMTYwek0zODQgMzU5LjZsMjAuMiA0MC40LTQwLjQgMCAyMC4yLTQwLjR6Il19LHAkdD1FZmUsZiR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pY3JvcGhvbmUtc2xhc2giLGljb246WzU3Niw1MTIsW10sImYxMzEiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw0MjQuNyAzNTguOEM0NTguOSAzMjQuMiA0ODAgMjc2LjYgNDgwIDIyNGwwLTQwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNDBjMCAzOS4zLTE1LjcgNzQuOS00MS4zIDEwMC45TDM1Ni44IDI5MUMzNzMuNiAyNzMuNyAzODQgMjUwIDM4NCAyMjRsMC0xMjhjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZsMCAzMC4yLTE1MS0xNTF6bTI5OC4zIDQzNGwtNDEuNC00MS40Yy0zLjMgLjItNi41IC4zLTkuOCAuMy03OS41IDAtMTQ0LTY0LjUtMTQ0LTE0NGwwLTEwLjItNDMuNi00My42Yy0yLjggMy45LTQuNCA4LjctNC40IDEzLjhsMCA0MGMwIDk3LjkgNzMuMyAxNzguNyAxNjggMTkwLjVsMCA0OS41LTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDAgMC00OS41YzkuMy0xLjIgMTguNC0zIDI3LjMtNS40eiJdfSxUZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXBlbiIsaWNvbjpbNDQ4LDUxMixbInBlbi1zcXVhcmUiLCJwZW5jaWwtc3F1YXJlIl0sImYxNGIiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMzI1LjggMTM5LjdsMTQuNCAxNC40YzE1LjYgMTUuNiAxNS42IDQwLjkgMCA1Ni42bC0yMy44IDIzLjgtNzEtNzEgMjMuOC0yMy44YzE1LjYtMTUuNiA0MC45LTE1LjYgNTYuNiAwek0xMTkuOSAyODlsOTEuNS05MS42IDcxIDcxLTkxLjYgOTEuNWMtNC4xIDQuMS05LjIgNy0xNC45IDguNGwtNjAuMSAxNWMtNS41IDEuNC0xMS4yLS4yLTE1LjItNC4ycy01LjYtOS43LTQuMi0xNS4ybDE1LTYwLjFjMS40LTUuNiA0LjMtMTAuOCA4LjQtMTQuOXoiXX0saCR0PVRlZSxtJHQ9VGVlLFBmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLWZpc3QiLGljb246WzM4NCw1MTIsWzk5OTQsImZpc3QtcmFpc2VkIl0sImY2ZGUiLCJNMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMTItNjQgMCAwLTExMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzIgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJTOTYgNDYuMyA5NiA2NGwwIDgwLTY0IDAgMC04MHptMTkyIDBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZ6bTk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0em0tOTYgODhsMC0uNmM5LjQgNS40IDIwLjMgOC42IDMyIDguNiAxMy4yIDAgMjUuNC00IDM1LjYtMTAuOCA4LjcgMjQuOSAzMi41IDQyLjggNjAuNCA0Mi44IDExLjcgMCAyMi42LTMuMSAzMi04LjZsMCA4LjZjMCA1Mi4zLTI1LjEgOTguOC02NCAxMjhsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNzguNGMtMTcuMy03LjktMzMuMi0xOC44LTQ2LjktMzIuNUwzNy41IDM1Ny41QzEzLjUgMzMzLjUgMCAzMDAuOSAwIDI2N2wwLTI3YzAtMzUuMyAyOC43LTY0IDY0LTY0bDg4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNTYgMGMzOS44IDAgNzItMzIuMiA3Mi03MnoiXX0sZyR0PVBmZSxJZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudC1zbXMiLGljb246WzUxMiw1MTIsWyJzbXMiXSwiZjdjZCIsIk0yNTYgNDgwYzE0MS40IDAgMjU2LTEwNy41IDI1Ni0yNDBTMzk3LjQgMCAyNTYgMCAwIDEwNy41IDAgMjQwYzAgNTQuMyAxOS4yIDEwNC4zIDUxLjYgMTQ0LjVMMi44IDQ3Ni44Yy00LjggOS0zLjMgMjAgMy42IDI3LjVzMTcuOCA5LjggMjcuMSA1LjhsMTE4LjQtNTAuN0MxODMuNyA0NzIuNiAyMTguOSA0ODAgMjU2IDQ4MHpNMTQwLjggMTcyLjhsMTkuMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xOS4yIDBjLTUuMyAwLTkuNiA0LjMtOS42IDkuNnM0LjMgOS42IDkuNiA5LjZjMjMgMCA0MS42IDE4LjYgNDEuNiA0MS42cy0xOC42IDQxLjYtNDEuNiA0MS42bC0yNS42IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMjUuNiAwYzUuMyAwIDkuNi00LjMgOS42LTkuNnMtNC4zLTkuNi05LjYtOS42Yy0yMyAwLTQxLjYtMTguNi00MS42LTQxLjZzMTguNi00MS42IDQxLjYtNDEuNnptMTg4LjggNDEuNmMwLTIzIDE4LjYtNDEuNiA0MS42LTQxLjZsMTkuMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0xOS4yIDBjLTUuMyAwLTkuNiA0LjMtOS42IDkuNnM0LjMgOS42IDkuNiA5LjZjMjMgMCA0MS42IDE4LjYgNDEuNiA0MS42cy0xOC42IDQxLjYtNDEuNiA0MS42bC0yNS42IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMjUuNiAwYzUuMyAwIDkuNi00LjMgOS42LTkuNnMtNC4zLTkuNi05LjYtOS42Yy0yMyAwLTQxLjYtMTguNi00MS42LTQxLjZ6bS05OC4zLTMzLjhsMjQuNyA0MS4xIDI0LjctNDEuMWMzLjctNi4yIDExLjEtOS4xIDE4LTcuMnMxMS43IDguMiAxMS43IDE1LjRsMCAxMDIuNGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTQ0LjYtOC43IDE0LjVjLTIuOSA0LjgtOC4xIDcuOC0xMy43IDcuOHMtMTAuOC0zLTEzLjctNy44bC04LjctMTQuNSAwIDQ0LjZjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xMDIuNGMwLTcuMiA0LjgtMTMuNSAxMS43LTE1LjRzMTQuMyAxIDE4IDcuMnoiXX0sYiR0PUlmZSx2JHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2ltLWNhcmQiLGljb246WzM4NCw1MTIsW10sImY3YzQiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjU4LjcgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyA4MGMxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0ek05NiAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNDAgMTI4IDAgMC03Mi05NiAwek02NCA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDggMCAwLTcyLTgwIDAgMCA0MHptMjU2IDBsMC00MC0xMjggMCAwIDcyIDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6bTAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMybC00OCAwIDAgNzIgODAgMCAwLTQweiJdfSxOZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2NhbGUtYmFsYW5jZWQiLGljb246WzY0MCw1MTIsWzk4NzgsImJhbGFuY2Utc2NhbGUiXSwiZjI0ZSIsIk0zODQgMzJsMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzk4LjQgOTZjLTUuMiAyNS44LTIyLjkgNDcuMS00Ni40IDU3LjNsMCAyOTQuNyAxNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzg0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYwIDAgMC0yOTQuN2MtMjMuNS0xMC4zLTQxLjItMzEuNi00Ni40LTU3LjNMMTI4IDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDEyOCAwYzE0LjYtMTkuNCAzNy44LTMyIDY0LTMyczQ5LjQgMTIuNiA2NCAzMnptNTUuNiAyODhMNTg0LjQgMzIwIDUxMiAxOTUuOCA0MzkuNiAzMjB6TTUxMiA0MTZjLTYyLjkgMC0xMTUuMi0zNC0xMjYtNzguOS0yLjYtMTEgMS0yMi4zIDYuNy0zMi4xbDk1LjItMTYzLjJjNS04LjYgMTQuMi0xMy44IDI0LjEtMTMuOHMxOS4xIDUuMyAyNC4xIDEzLjhsOTUuMiAxNjMuMmM1LjcgOS44IDkuMyAyMS4xIDYuNyAzMi4xLTEwLjggNDQuOC02My4xIDc4LjktMTI2IDc4Ljl6TTEyNi44IDE5NS44TDU0LjQgMzIwIDE5OS4zIDMyMCAxMjYuOCAxOTUuOHpNLjkgMzM3LjFjLTIuNi0xMSAxLTIyLjMgNi43LTMyLjFsOTUuMi0xNjMuMmM1LTguNiAxNC4yLTEzLjggMjQuMS0xMy44czE5LjEgNS4zIDI0LjEgMTMuOGw5NS4yIDE2My4yYzUuNyA5LjggOS4zIDIxLjEgNi43IDMyLjEtMTAuOCA0NC44LTYzLjEgNzguOS0xMjYgNzguOVMxMS43IDM4MiAuOSAzMzcuMXoiXX0seCR0PU5mZSxSZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyIixpY29uOls1MTIsNTEyLFsxMjg2NjQsImF1dG9tb2JpbGUiXSwiZjFiOSIsIk0xMzUuMiAxMTcuNGwtMjYuMSA3NC42IDI5My44IDAtMjYuMS03NC42QzM3Mi4zIDEwNC42IDM2MC4yIDk2IDM0Ni42IDk2TDE2NS40IDk2Yy0xMy42IDAtMjUuNyA4LjYtMzAuMiAyMS40ek0zOS42IDE5Ni44TDc0LjggOTYuM0M4OC4zIDU3LjggMTI0LjYgMzIgMTY1LjQgMzJsMTgxLjIgMGM0MC44IDAgNzcuMSAyNS44IDkwLjYgNjQuM2wzNS4yIDEwMC41YzIzLjIgOS42IDM5LjYgMzIuNSAzOS42IDU5LjJsMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzItMzIwIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMCAyNTZjMC0yNi43IDE2LjQtNDkuNiAzOS42LTU5LjJ6TTEyOCAzMDRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMjg4IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0seSR0PVJmZSxPZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3JvcC1zaW1wbGUiLGljb246WzUxMiw1MTIsWyJjcm9wLWFsdCJdLCJmNTY1IiwiTTEyOCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMlM2NCAxNC4zIDY0IDMybDAgMzItMzIgMEMxNC4zIDY0IDAgNzguMyAwIDk2czE0LjMgMzIgMzIgMzJsMzIgMCAwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMDggMCAwLTY0LTIwOCAwIDAtMzUyek0zODQgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0yMDggMCAwIDY0IDIwOCAwIDAgMzUyeiJdfSx3JHQ9T2ZlLE0kdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtZWRhbCIsaWNvbjpbNDQ4LDUxMixbMTI3OTQxXSwiZjVhMiIsIk0yMjQuMyAxMjhMMTM5LjctMTIuOWMtNi41LTEwLjgtMjAuMS0xNC43LTMxLjMtOS4xTDIxLjggMjEuM0M5LjkgMjcuMiA1LjEgNDEuNiAxMSA1My41TDgwLjYgMTkyLjZjLTMwLjEgMzMuOS00OC4zIDc4LjUtNDguMyAxMjcuNCAwIDEwNiA4NiAxOTIgMTkyIDE5MnMxOTItODYgMTkyLTE5MmMwLTQ4LjktMTguMy05My41LTQ4LjMtMTI3LjRMNDM3LjYgNTMuNWM1LjktMTEuOSAxLjEtMjYuMy0xMC43LTMyLjJMMzQwLjItMjIuMWMtMTEuMi01LjYtMjQuOS0xLjYtMzEuMyA5LjFMMjI0LjMgMTI4em0zMC44IDE0Mi41YzEuNCAyLjggNCA0LjcgNyA1LjFsNTAuMSA3LjNjNy43IDEuMSAxMC43IDEwLjUgNS4yIDE2bC0zNi4zIDM1LjRjLTIuMiAyLjItMy4yIDUuMi0yLjcgOC4zbDguNiA0OS45YzEuMyA3LjYtNi43IDEzLjUtMTMuNiA5LjlsLTQ0LjgtMjMuNmMtMi43LTEuNC02LTEuNC04LjcgMGwtNDQuOCAyMy42Yy02LjkgMy42LTE0LjktMi4yLTEzLjYtOS45bDguNi00OS45Yy41LTMtLjUtNi4xLTIuNy04LjNsLTM2LjMtMzUuNGMtNS42LTUuNC0yLjUtMTQuOCA1LjItMTZsNTAuMS03LjNjMy0uNCA1LjctMi40IDctNS4xbDIyLjQtNDUuNGMzLjQtNyAxMy4zLTcgMTYuOCAwbDIyLjQgNDUuNHoiXX0sayR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjcm9sbCIsaWNvbjpbNTc2LDUxMixbMTI4MjIwXSwiZjcwZSIsIk0wIDExMkMwIDcwLjUgMzEuNiAzNi40IDcyIDMyLjRsMC0uNCAyODAgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMTc2LTE3NiAwYy0zOS44IDAtNzIgMzIuMi03MiA3MmwwIDYwYzAgMjQuMy0xOS43IDQ0LTQ0IDQ0cy00NC0xOS43LTQ0LTQ0bDAtMjI4LTY0IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtNDh6TTIzNi44IDQ4MGM3LjEtMTMuMSAxMS4yLTI4LjEgMTEuMi00NGwwLTYwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDI0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjRjMCA0NC4yLTM1LjggODAtODAgODBsLTIyNy4yIDB6TTgwIDgwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ4IDY0IDAgMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0sUyR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtZXhjZWwiLGljb246WzM4NCw1MTIsW10sImYxYzMiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTE2NCAyNjYuN2MtNy40LTExLTIyLjMtMTQtMzMuMy02LjdzLTE0IDIyLjMtNi43IDMzLjNMMTYzLjIgMzUyIDEyNCA0MTAuN2MtNy40IDExLTQuNCAyNS45IDYuNyAzMy4zczI1LjkgNC40IDMzLjMtNi43bDI4LTQyIDI4IDQyYzcuNCAxMSAyMi4zIDE0IDMzLjMgNi43czE0LTIyLjMgNi43LTMzLjNMMjIwLjggMzUyIDI2MCAyOTMuM2M3LjQtMTEgNC40LTI1LjktNi43LTMzLjNzLTI1LjktNC40LTMzLjMgNi43bC0yOCA0Mi0yOC00MnoiXX0seiR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbHRlciIsaWNvbjpbNTEyLDUxMixbXSwiZjBiMCIsIk0zMiA2NEMxOS4xIDY0IDcuNCA3MS44IDIuNCA4My44Uy4yIDEwOS41IDkuNCAxMTguNkwxOTIgMzAxLjMgMTkyIDQxNmMwIDguNSAzLjQgMTYuNiA5LjQgMjIuNmw2NCA2NGM5LjIgOS4yIDIyLjkgMTEuOSAzNC45IDYuOVMzMjAgNDkyLjkgMzIwIDQ4MGwwLTE3OC43IDE4Mi42LTE4Mi42YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ5Mi45IDY0IDQ4MCA2NEwzMiA2NHoiXX0sQyR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRydW0iLGljb246WzUxMiw1MTIsWzEyOTM0NV0sImY1NjkiLCJNNTAxLjIgNzYuMWMxMS4xLTcuMyAxNC4yLTIyLjEgNi45LTMzLjJzLTIyLjEtMTQuMi0zMy4yLTYuOUwzNzAuMiAxMDQuNUMzMzUuOCA5OC43IDI5NyA5NiAyNTYgOTYgMTE0LjYgOTYgMCAxMjggMCAyMDhMMCAzNjhjMCAzMS4zIDI3LjQgNTguOCA3MiA3OC43TDcyIDM0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTE5LjRjMzMgOC45IDcxLjEgMTQuNSAxMTIgMTYuMUwyMzIgMzc2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMDMuNWM0MC45LTEuNiA3OS03LjIgMTEyLTE2LjFMMzkyIDM0NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTAyLjdjNDQuNi0xOS45IDcyLTQ3LjQgNzItNzguN2wwLTE2MGMwLTQxLjEtMzAuMi02OS41LTc4LjgtODcuNGw2Ny45LTQ0LjV6TTMwNy40IDE0NS42bC02NC42IDQyLjNjLTExLjEgNy4zLTE0LjIgMjIuMS02LjkgMzMuMnMyMi4xIDE0LjIgMzMuMiA2LjlsMTExLjEtNzIuOGMxNC43IDMuMiAyNy45IDcgMzkuNCAxMS41IDM4LjggMTUuMSA0NC40IDMwLjYgNDQuNCA0MS4zIDAgLjgtMi43IDE3LjItNDYgMzUuOS0zOC45IDE2LjgtOTYgMjguMS0xNjIgMjguMVMxMzIuOSAyNjAuNyA5NCAyNDMuOWMtNDMuMy0xOC43LTQ2LTM1LjEtNDYtMzUuOSAwLTEwLjYgNS42LTI2LjIgNDQuNC00MS4zIDM4LjMtMTQuOSA5NS40LTIyLjcgMTYzLjYtMjIuNyAxOCAwIDM1LjEgLjUgNTEuNCAxLjZ6Il19LF8kdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXAtcGluIixpY29uOlszMjAsNTEyLFsxMjgyMDVdLCJmMjc2IiwiTTE5MiAyODQuNEMyNTYuMSAyNjkuOSAzMDQgMjEyLjUgMzA0IDE0NCAzMDQgNjQuNSAyMzkuNSAwIDE2MCAwUzE2IDY0LjUgMTYgMTQ0YzAgNjguNSA0Ny45IDEyNS45IDExMiAxNDAuNEwxMjggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xOTUuNnpNMTY4IDk2Yy0zMC45IDAtNTYgMjUuMS01NiA1NiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTU3LjQgNDYuNi0xMDQgMTA0LTEwNCAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNHoiXX0sRmZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjYWxlLXVuYmFsYW5jZWQtZmxpcCIsaWNvbjpbNjQwLDUxMixbImJhbGFuY2Utc2NhbGUtcmlnaHQiXSwiZjUxNiIsIk0xMTguMiA2Mi40QzEwMS41IDU2LjggOTIuNCAzOC42IDk4IDIxLjlTMTIxLjctMy45IDEzOC41IDEuNmwxMTMgMzcuN2MxMy45LTIzLjUgMzkuNi0zOS4zIDY4LjktMzkuMyA0NC4yIDAgODAgMzUuOCA4MCA4MCAwIDMtLjIgNS45LS41IDguOGwxMjIuNiA0MC45YzE2LjggNS42IDI1LjggMjMuNyAyMC4yIDQwLjVzLTIzLjcgMjUuOC00MC41IDIwLjJMMzY2LjcgMTQ1LjJjLTQuNSAzLjItOS4zIDUuOS0xNC40IDguMmwwIDMyNi43YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNjAgMCAwLTI5NC43Yy0yMS05LjItMzcuMi0yNy00NC4yLTQ5bC0xMjUuOS00MnpNMjAwLjggMjg4TDEyOC4zIDE2My44IDU1LjkgMjg4IDIwMC44IDI4OHptLTcyLjQgOTZjLTYyLjkgMC0xMTUuMi0zNC0xMjYtNzguOS0yLjYtMTEgMS0yMi4zIDYuNy0zMi4xbDk1LjItMTYzLjJjNS04LjYgMTQuMi0xMy44IDI0LjEtMTMuOHMxOS4xIDUuMyAyNC4xIDEzLjhsOTUuMiAxNjMuMmM1LjcgOS44IDkuMyAyMS4xIDYuNyAzMi4xLTEwLjggNDQuOC02My4xIDc4LjktMTI2IDc4Ljl6bTM4Mi44LTkyLjJsLTcyLjQgMTI0LjIgMTQ0LjkgMC03Mi40LTEyNC4yem0xMjYgMTQxLjNDNjI2LjQgNDc4IDU3NC4xIDUxMiA1MTEuMiA1MTJzLTExNS4yLTM0LTEyNi03OC45Yy0yLjYtMTEgMS0yMi4zIDYuNy0zMi4xbDk1LjItMTYzLjJjNS04LjYgMTQuMi0xMy44IDI0LjEtMTMuOHMxOS4xIDUuMyAyNC4xIDEzLjhsOTUuMiAxNjMuMmM1LjcgOS44IDkuMyAyMS4xIDYuNyAzMi4xeiJdfSxUJHQ9RmZlLEwkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtdG8tY2lyY2xlIixpY29uOls1MTIsNTEyLFtdLCJlNGJkIiwiTTkuNCA5LjRDMjEuOS0zLjEgNDIuMS0zLjEgNTQuNiA5LjRMMTI4IDgyLjcgMTI4IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxOC43IDAtNzMuNC03My40Qy0zLjEgNDIuMS0zLjEgMjEuOSA5LjQgOS40ek0yMDAgMjU2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNNTAyLjYgNTQuNkw0MjkuMyAxMjggNDQ4IDEyOGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTguNyA3My40LTczLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3ptLTQ1LjMgNDQ4TDM4NCA0MjkuMyAzODQgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTguNyAwIDczLjQgNzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMHpNOS40IDQ1Ny40TDgyLjcgMzg0IDY0IDM4NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOC43LTczLjQgNzMuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjN6Il19LCQkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlbnZlbG9wZSIsaWNvbjpbNTEyLDUxMixbMTI4Mzg2LDk5OTMsNjE0NDNdLCJmMGUwIiwiTTQ4IDY0Yy0yNi41IDAtNDggMjEuNS00OCA0OCAwIDE1LjEgNy4xIDI5LjMgMTkuMiAzOC40bDIwOCAxNTZjMTcuMSAxMi44IDQwLjUgMTIuOCA1Ny42IDBsMjA4LTE1NmMxMi4xLTkuMSAxOS4yLTIzLjMgMTkuMi0zOC40IDAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDY0ek0wIDE5NkwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE4OC0xOTguNCAxNDguOGMtMzQuMSAyNS42LTgxLjEgMjUuNi0xMTUuMiAwTDAgMTk2eiJdfSxEJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFieSIsaWNvbjpbMzg0LDUxMixbXSwiZjc3YyIsIk0xMjAgODhhNzIgNzIgMCAxIDEgMTQ0IDAgNzIgNzIgMCAxIDEgLTE0NCAwek03LjcgMTQ0LjVjMTMtMTcuOSAzOC0yMS44IDU1LjktOC44TDk5LjggMTYyYzI2LjggMTkuNSA1OS4xIDMwIDkyLjIgMzBzNjUuNC0xMC41IDkyLjItMzBsMzYuMi0yNi40YzE3LjktMTMgNDIuOS05IDU1LjkgOC44czkgNDIuOS04LjggNTUuOWwtMzYuMiAyNi40Yy0xMy42IDkuOS0yOC4xIDE4LjItNDMuMyAyNWwwIDM2LjMtMTkyIDAgMC0zNi4zYy0xNS4yLTYuNy0yOS43LTE1LjEtNDMuMy0yNUwxNi41IDIwMC4zYy0xNy45LTEzLTIxLjgtMzgtOC44LTU1Ljl6TTk3LjUgMzI5LjNsNjAuNiA1My0yNiAzNy4yIDI0LjMgMjQuM2MxNS42IDE1LjYgMTUuNiA0MC45IDAgNTYuNnMtNDAuOSAxNS42LTU2LjYgMGwtNDgtNDhDMzggNDM4LjYgMzYuMSA0MTcgNDcuMiA0MDEuMWw1MC4yLTcxLjh6bTEyOC41IDUzbDYwLjYtNTMgNTAuMiA3MS44YzExLjEgMTUuOSA5LjIgMzcuNS00LjUgNTEuMmwtNDggNDhjLTE1LjYgMTUuNi00MC45IDE1LjYtNTYuNiAwcy0xNS42LTQwLjkgMC01Ni42bDI0LjMtMjQuMy0yNi0zNy4yeiJdfSxCZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWNhcmV0LWRvd24iLGljb246WzQ0OCw1MTIsWyJjYXJldC1zcXVhcmUtZG93biJdLCJmMTUwIiwiTTM4NCA0ODBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMHpNMjI0IDM1MmMtNi43IDAtMTMtMi44LTE3LjYtNy43bC0xMDQtMTEyYy02LjUtNy04LjItMTcuMi00LjQtMjUuOVMxMTAuNSAxOTIgMTIwIDE5MmwyMDggMGM5LjUgMCAxOC4yIDUuNyAyMiAxNC40czIuMSAxOC45LTQuNCAyNS45bC0xMDQgMTEyYy00LjUgNC45LTEwLjkgNy43LTE3LjYgNy43eiJdfSxBJHQ9QmZlLEUkdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW50IixpY29uOls1MTIsNTEyLFtdLCJlNTdkIiwiTTI2LjkgMjA2LjlMMy43IDQ0NC45QzEuOCA0NjMuNyAxNi42IDQ4MCAzNS41IDQ4MGwxNzIuNyAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTI5YzAtOC4zIDYuNy0xNSAxNS0xNSA1LjUgMCAxMC42IDMgMTMuMiA3LjlsODYuMSAxNTljOC40IDE1LjUgMjQuNiAyNS4xIDQyLjIgMjUuMWw2NC4xIDBjMTguOSAwIDMzLjctMTYuMyAzMS44LTM1LjFMNDg1LjYgMjA3LjFjLTEuOS0xOS42LTEyLjgtMzcuMy0yOS41LTQ3LjhMMjgwLjkgNDguM2MtMTUuNy0xMC0zNS44LTkuOS01MS41IC4xTDU2LjEgMTU5LjJjLTE2LjUgMTAuNi0yNy4zIDI4LjItMjkuMiA0Ny43eiJdfSxQJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYSIsaWNvbjpbMzg0LDUxMixbOTddLCI0MSIsIk0yMjEuNSA1MS43QzIxNi42IDM5LjggMjA0LjkgMzIgMTkyIDMycy0yNC42IDcuOC0yOS41IDE5LjdjLTkzLjMgMjI0LTE0Ni43IDM1Mi0xNjAgMzg0LTYuOCAxNi4zIC45IDM1IDE3LjIgNDEuOHMzNS0uOSA0MS44LTE3LjJsMzEuOC03Ni4zIDE5Ny4zIDAgMzEuOCA3Ni4zYzYuOCAxNi4zIDI1LjUgMjQgNDEuOCAxNy4yczI0LTI1LjUgMTcuMi00MS44Yy0xMy4zLTMyLTY2LjctMTYwLTE2MC0zODR6TTI2NCAzMjBsLTE0NCAwIDcyLTE3Mi44IDcyIDE3Mi44eiJdfSxJJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGFyYWNodXRlLWJveCIsaWNvbjpbNTEyLDUxMixbXSwiZjRjZCIsIk0xMjggMjI0QzEyOCAxNTIuMiAxNDQuMyA4OC40IDE2OS41IDQzLjQgMTk1LjEtMi40IDIyNi42LTI0IDI1Ni0yNHM2MC45IDIxLjYgODYuNSA2Ny40QzM2Ny43IDg4LjQgMzg0IDE1Mi4yIDM4NCAyMjRsLTEwNCAwIDAgOTYgOCAwYzkuMyAwIDE4LjEgMiAyNiA1LjVsMTE4LjQtMTAxLjUtLjUgMGMwLTc4LjQtMTcuNy0xNTAuNi00Ny42LTIwNC02LjEtMTEtMTIuOS0yMS4zLTIwLjMtMzAuOSA4Ni41IDM1LjkgMTQ3LjggMTE1LjEgMTQ3LjggMjE4LjkgMCA3LTMuMSAxMy43LTguNCAxOC4yTDM0Ny40IDM2MC4xYzMgNy40IDQuNiAxNS40IDQuNiAyMy45bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTY0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRjMC04LjQgMS42LTE2LjUgNC42LTIzLjlMOC40IDIyNi4yQzMuMSAyMjEuNyAwIDIxNSAwIDIwOCAwIDEwNC4yIDYxLjMgMjQuOSAxNDcuOC0xMC45IDE0MC41LTEuNCAxMzMuNyA5IDEyNy42IDIwIDk3LjcgNzMuNCA4MCAxNDUuNiA4MCAyMjRsLS41IDAgMTE4LjQgMTAxLjVjOC0zLjUgMTYuOC01LjUgMjYtNS41bDggMCAwLTk2LTEwNCAweiJdfSxOJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FydC1hcnJvdy1kb3duIixpY29uOls2NDAsNTEyLFtdLCJmMjE4IiwiTTAgOEMwLTUuMyAxMC43LTE2IDI0LTE2bDQ1LjMgMGMyNy4xIDAgNTAuMyAxOS40IDU1LjEgNDZsLjQgMiAxODcuMiAwIDAgMTAyLjEtMzEtMzFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsNzItNzJjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMzEgMzEgMC0xMDIuMSAxNzcuNCAwYzIwIDAgMzUuMSAxOC4yIDMxLjQgMzcuOUw1MzcuOCAyMzUuOGMtNS43IDMwLjMtMzIuMSA1Mi4yLTYyLjkgNTIuMmwtMzAzLjYgMCA1LjEgMjguM2MyLjEgMTEuNCAxMiAxOS43IDIzLjYgMTkuN0w0NTYgMzM2YzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNTUuOSAwYy0zNC44IDAtNjQuNi0yNC45LTcwLjgtNTkuMUw3Ny4yIDM4LjZjLS43LTMuOC00LTYuNi03LjktNi42TDI0IDMyQzEwLjcgMzIgMCAyMS4zIDAgOHpNMTYwIDQ2NGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem0yMjQgMGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAweiJdfSxSJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJpZGdlLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNTc2LDUxMixbXSwiZTRjYSIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsOCAwIDAgNjQtNDAgMCAwIDExMmMzNy42IDkuNCA2NCA0My4yIDY0IDgybDAgOTRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtNTMgNDMtOTYgOTYtOTYgNi40IDAgMTIuNyAuNiAxOC43IDEuOCAzNC43LTQ5LjUgOTIuMi04MS44IDE1Ny4zLTgxLjggMjguNiAwIDU1LjYgNi4yIDgwIDE3LjRsMC02NS40LTQwIDAgMC02NCA4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6TTQyNCA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek0yOTYgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNODggOTZsODAgMCAwIDY0LTgwIDAgMC02NHpNNDMyIDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTAtMTAwYTIwIDIwIDAgMSAxIDAgNDAgMjAgMjAgMCAxIDEgMC00MHptMC0xNDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC04MGMwLTguOCA3LjItMTYgMTYtMTZ6Il19LExlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1hcnJvdy11cCIsaWNvbjpbNTc2LDUxMixbNjIzMzgsImNsb3VkLXVwbG9hZCIsImNsb3VkLXVwbG9hZC1hbHQiXSwiZjBlZSIsIk0xNDQgNDgwYy03OS41IDAtMTQ0LTY0LjUtMTQ0LTE0NCAwLTYzLjQgNDEtMTE3LjIgOTcuOS0xMzYuNS0xLjMtNy43LTEuOS0xNS41LTEuOS0yMy41IDAtNzkuNSA2NC41LTE0NCAxNDQtMTQ0IDU1LjQgMCAxMDMuNSAzMS4zIDEyNy42IDc3LjEgMTQuMi04LjMgMzAuOC0xMy4xIDQ4LjQtMTMuMSA1MyAwIDk2IDQzIDk2IDk2IDAgMTUuNy0zLjggMzAuNi0xMC41IDQzLjcgNDQgMjAuMyA3NC41IDY0LjcgNzQuNSAxMTYuMyAwIDcwLjctNTcuMyAxMjgtMTI4IDEyOGwtMzA0IDB6TTMwNSAxOTFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC03MiA3MmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDMxLTMxIDAgMTAyLjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEwMi4xIDMxIDMxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNzItNzJ6Il19LE8kdD1MZWUsRiR0PUxlZSxCJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXQiLGljb246WzUxMiw1MTIsWzYxOTQ2XSwiNDAiLCJNMjU2IDY0QzE1MCA2NCA2NCAxNTAgNjQgMjU2czg2IDE5MiAxOTIgMTkyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyQzExNC42IDUxMiAwIDM5Ny40IDAgMjU2UzExNC42IDAgMjU2IDAgNTEyIDExNC42IDUxMiAyNTZsMCAzMmMwIDUzLTQzIDk2LTk2IDk2LTI5LjMgMC01NS42LTEzLjItNzMuMi0zMy45LTIyLjggMjEtNTMuMyAzMy45LTg2LjggMzMuOS03MC43IDAtMTI4LTU3LjMtMTI4LTEyOHM1Ny4zLTEyOCAxMjgtMTI4YzI3LjkgMCA1My43IDguOSA3NC43IDI0LjEgNS43LTUgMTMuMS04LjEgMjEuMy04LjEgMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyYzAtMTA2LTg2LTE5Mi0xOTItMTkyem02NCAxOTJhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAweiJdfSwkZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaW5kaWFuLXJ1cGVlLXNpZ24iLGljb246WzMyMCw1MTIsWyJpbmRpYW4tcnVwZWUiLCJpbnIiXSwiZTFiYyIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDI2NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC03Ni43IDBjMTcuNyAxOS44IDMwLjEgNDQuNiAzNC43IDcybDQyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQyIDBjLTEwLjQgNjIuMi02MC44IDExMC45LTEyMy44IDExOC45TDI3NC42IDQyMmMxNC40IDEwLjMgMTcuNyAzMC4zIDcuNCA0NC42cy0zMC4zIDE3LjctNDQuNiA3LjRMMTMuNCAzMTRDMi4xIDMwNi0yLjcgMjkxLjUgMS41IDI3OC4yUzE4LjEgMjU2IDMyIDI1Nmw4MCAwYzM1LjggMCA2Ni4xLTIzLjUgNzYuMy01NkwyNCAyMDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTY0LjMgMGMtMTAuMi0zMi41LTQwLjUtNTYtNzYuMy01NkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0eiJdfSxIJHQ9JGVlLHEkdD0kZWUsViR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrIixpY29uOls1NzYsNTEyLFsxMjg2NjYsOTk1MV0sImYwZDEiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwyODggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyIDUwLjcgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0w1NTcuMyAxOTJjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0w1NzYgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC0zLjMgMGMtMTAuNCAzNi45LTQ0LjQgNjQtODQuNyA2NHMtNzQuMi0yNy4xLTg0LjctNjRsLTEwMi42IDBjLTEwLjQgMzYuOS00NC40IDY0LTg0LjcgNjRzLTc0LjItMjcuMS04NC43LTY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnpNNTEyIDI4OGwwLTUwLjctNDUuMy00NS4zLTUwLjcgMCAwIDk2IDk2IDB6TTE5MiA0MjRhNDAgNDAgMCAxIDAgLTgwIDAgNDAgNDAgMCAxIDAgODAgMHptMjMyIDQwYTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHoiXX0sSGZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYWxrYm9hcmQtdXNlciIsaWNvbjpbNjQwLDUxMixbImNoYWxrYm9hcmQtdGVhY2hlciJdLCJmNTFjIiwiTTE5MiAzODRjNTMgMCA5NiA0MyA5NiA5NiAwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyIDAtNTMgNDMtOTYgOTYtOTZsOTYgMHpNNTQ0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjg4YzAgMzMuMS0yNS4yIDYwLjQtNTcuNSA2My43bC02LjUgLjMtMjExLjEgMGMtNS4xLTI0LjItMTYuMy00Ni4xLTMyLjEtNjRsNTEuMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDAgMC0yODgtMzUyIDAgMCA1Ny4zYy0xNC44LTYtMzEtOS4zLTQ4LTkuMy01LjQgMC0xMC44IC4zLTE2IDFsMC00OWMwLTM1LjMgMjguNy02NCA2NC02NGwzNTIgMHpNMTQ0IDM1MmE4MCA4MCAwIDEgMSAwLTE2MCA4MCA4MCAwIDEgMSAwIDE2MHoiXX0saiR0PUhmZSxVJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1jaGVjayIsaWNvbjpbNjQwLDUxMixbXSwiZjRmYyIsIk0yODYgMzA0Yzk4LjUgMCAxNzguMyA3OS44IDE3OC4zIDE3OC4zIDAgMTYuNC0xMy4zIDI5LjctMjkuNyAyOS43TDc4IDUxMmMtMTYuNCAwLTI5LjctMTMuMy0yOS43LTI5LjcgMC05OC41IDc5LjgtMTc4LjMgMTc4LjMtMTc4LjNsNTkuNCAwek01ODUuNyAxMDUuOWM3LjgtMTAuNyAyMi44LTEzLjEgMzMuNS01LjNzMTMuMSAyMi44IDUuMyAzMy41TDUyMi4xIDI3NC45Yy00LjIgNS43LTEwLjcgOS40LTE3LjcgOS44cy0xNC0yLjItMTguOS03LjNsLTQ2LjQtNDhjLTkuMi05LjUtOS0yNC43IC42LTMzLjkgOS41LTkuMiAyNC43LTguOSAzMy45IC42bDI2LjUgMjcuNCA4NS42LTExNy43ek0yNTYuMyAyNDhhMTIwIDEyMCAwIDEgMSAwLTI0MCAxMjAgMTIwIDAgMSAxIDAgMjQweiJdfSxXJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1uaW5qYSIsaWNvbjpbNDQ4LDUxMixbMTI5Mzk5XSwiZjUwNCIsIk0zNTIgMTI4YzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4LTU3LjIgMC0xMDUuNi0zNy41LTEyMi04OS4zLTEuMSAxLjMtMi4yIDIuNi0zLjUgMy44LTE1LjggMTUuOC0zOC44IDIwLjctNTMuNiAyMi4xLTguMSAuOC0xNC42LTUuNy0xMy44LTEzLjggMS40LTE0LjcgNi4zLTM3LjggMjIuMS01My42IDUuOC01LjggMTIuNi0xMC4xIDE5LjYtMTMuNC03LTMuMi0xMy44LTcuNi0xOS42LTEzLjQtMTUuOC0xNS44LTIwLjctMzguOC0yMi4xLTUzLjYtLjgtOC4xIDUuNy0xNC42IDEzLjgtMTMuOCAxNC43IDEuNCAzNy44IDYuMyA1My42IDIyLjEgNC44IDQuOCA4LjcgMTAuNCAxMS43IDE2LjEgMjEuMy00MS4yIDY0LjMtNjkuNCAxMTMuOC02OS40IDcwLjcgMCAxMjggNTcuMyAxMjggMTI4ek0xNDQgMTEyYzAgOC44IDcuMiAxNiAxNiAxNmwxMjggMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNkwxNjAgOTZjLTguOCAwLTE2IDcuMi0xNiAxNnptLTEuNCAyMTFsNjcgNTAuMmM4LjUgNi40IDIwLjMgNi40IDI4LjggMGw2Ny01MC4yYzYuNS00LjkgMTUuMi02LjIgMjIuNi0yLjggNjEuNCAyOC4yIDEwNC4xIDkwLjIgMTA0LjEgMTYyLjEgMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMNDUuNyA1MTJjLTE2LjQgMC0yOS43LTEzLjMtMjkuNy0yOS43IDAtNzIgNDIuNy0xMzQgMTA0LjEtMTYyLjEgNy40LTMuNCAxNi4xLTIuMSAyMi42IDIuOHoiXX0sRyR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW50LXdpbHQiLGljb246WzUxMiw1MTIsW10sImU1YWEiLCJNMzQ0LTMyYzY2LjMgMCAxMjAgNTMuNyAxMjAgMTIwbDAgNi4yYzI5LjMgMTIuMiA0OCA0MS4zIDQ4IDc2LjkgMCAyNy45LTI1LjMgNzQuOC02NiAxMTEuNy0zLjggMy41LTguOCA1LjMtMTQgNS4zcy0xMC4yLTEuOC0xNC01LjNjLTQwLjctMzYuOC02Ni04My43LTY2LTExMS43IDAtMzUuNiAxOC43LTY0LjcgNDgtNzYuOWwwLTYuMmMwLTMwLjktMjUuMS01Ni01Ni01NnMtNTYgMjUuMS01NiA1NmwwIDQyNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI5NmMwLTMwLjktMjUuMS01Ni01Ni01NnMtNTYgMjUuMS01NiA1NmwwIDM4LjJjMjkuMyAxMi4yIDQ4IDQxLjMgNDggNzYuOSAwIDI3LjktMjUuMyA3NC44LTY2IDExMS43LTMuOCAzLjUtOC44IDUuMy0xNCA1LjNzLTEwLjItMS44LTE0LTUuM0MyNS4zIDQwNS45IDAgMzU5IDAgMzMxLjEgMCAyOTUuNCAxOC43IDI2Ni40IDQ4IDI1NC4yTDQ4IDIxNmMwLTY2LjMgNTMuNy0xMjAgMTIwLTEyMCAyMC4yIDAgMzkuMyA1IDU2IDEzLjhMMjI0IDg4YzAtNjYuMyA1My43LTEyMCAxMjAtMTIweiJdfSxxZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2VpZ2h0LXNjYWxlIixpY29uOls0NDgsNTEyLFsid2VpZ2h0Il0sImY0OTYiLCJNMTE2LjYgMTkyYy0zLTEwLjEtNC42LTIwLjktNC42LTMyIDAtNjEuOSA1MC4xLTExMiAxMTItMTEyUzMzNiA5OC4xIDMzNiAxNjBjMCAxMS4xLTEuNiAyMS45LTQuNiAzMmwtNzEgMCAyNC42LTQ0LjNjNi40LTExLjYgMi4zLTI2LjItOS4zLTMyLjZzLTI2LjItMi4zLTMyLjYgOS4zbC0zNy42IDY3LjctODguOCAwek0xMjggMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMEMyOTMuMyAxMS45IDI2MCAwIDIyNCAwcy02OS4zIDExLjktOTYgMzJ6Il19LFkkdD1xZmUsU3RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcmV0LXJpZ2h0IixpY29uOlsyNTYsNTEyLFtdLCJmMGRhIiwiTTI0OS4zIDIzNS44YzEwLjIgMTIuNiA5LjUgMzEuMS0yLjIgNDIuOGwtMTI4IDEyOGMtOS4yIDkuMi0yMi45IDExLjktMzQuOSA2LjlTNjQuNSAzOTYuOSA2NC41IDM4NGwwLTI1NmMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42czI1LjctMi4yIDM0LjkgNi45bDEyOCAxMjggMi4yIDIuNHoiXX0sSyR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZsb3Jpbi1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMTg0IiwiTTMxNC43IDMyYy0zOC44IDAtNzMuNyAyMy4zLTg4LjYgNTkuMUwxNzAuNyAyMjQgNjQgMjI0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDgwIDAtNDUuMSAxMDguM2MtNSAxMS45LTE2LjYgMTkuNy0yOS41IDE5LjdMMzIgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDM3LjMgMGMzOC44IDAgNzMuNy0yMy4zIDg4LjYtNTkuMUwyMTMuMyAyODggMzIwIDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtODAgMCA0NS4xLTEwOC4zYzUtMTEuOSAxNi42LTE5LjcgMjkuNS0xOS43TDM1MiA5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzcuMyAweiJdfSx6dGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmVsbCIsaWNvbjpbNDQ4LDUxMixbMTI4Mjc2LDYxNjAyXSwiZjBmMyIsIk0yMjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzLjJDMTE5IDUwIDY0IDExNC42IDY0IDE5MmwwIDIxLjdjMCA0OC4xLTE2LjQgOTQuOC00Ni40IDEzMi40TDcuOCAzNTguM0MyLjcgMzY0LjYgMCAzNzIuNCAwIDM4MC41IDAgNDAwLjEgMTUuOSA0MTYgMzUuNSA0MTZsMzc2LjkgMGMxOS42IDAgMzUuNS0xNS45IDM1LjUtMzUuNSAwLTguMS0yLjctMTUuOS03LjgtMjIuMmwtOS44LTEyLjJDNDAwLjQgMzA4LjUgMzg0IDI2MS44IDM4NCAyMTMuN2wwLTIxLjdjMC03Ny40LTU1LTE0Mi0xMjgtMTU2LjhsMC0zLjJjMC0xNy43LTE0LjMtMzItMzItMzJ6TTE2MiA0NjRjNy4xIDI3LjYgMzIuMiA0OCA2MiA0OHM1NC45LTIwLjQgNjItNDhsLTEyNCAweiJdfSxaJHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFyaS1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMWM4IiwiTTE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDEuNWM3LjktMSAxNS45LTEuNSAyNC0xLjVzMTYuMSAuNSAyNCAxLjVMMjE2IDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA1NGM1OC45IDIzLjggMTAzLjIgNzYgMTE2LjIgMTM5LjcgMy41IDE3LjMtNy43IDM0LjItMjUgMzcuN3MtMzQuMi03LjctMzcuNy0yNWMtNi43LTMzLjItMjYuNC02MS44LTUzLjQtODAuMmwwIDgxLjhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMDEuOGMtNy44LTEuNS0xNS44LTIuMi0yNC0yLjJzLTE2LjIgLjgtMjQgMi4yTDE2OCAyMzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC04MS44Yy0zMy44IDIzLTU2IDYxLjktNTYgMTA1LjggMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2LjkgMEMxOC41IDM1MCAwIDMwNS4yIDAgMjU2IDAgMTc1LjQgNDkuNiAxMDYuNCAxMjAgNzhsMC01NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHoiXX0sWCR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pbGwtc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTFlZCIsIk0yOTctMjIuMmMxMi4zIDUgMTguMiAxOSAxMy4yIDMxLjNsLTI5IDcxLjNDMzM4LjggODUuMSAzODQgMTMzLjMgMzg0IDE5MmwwIDIwOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIwOGMwLTI2LjUtMjEuNS00OC00OC00OC02LjQgMC0xMi41IDEuMi0xOCAzLjVsLTMwIDczLjggMCAxNzguN2MwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIxLjItNTcuOCAxNDIuMmMtNSAxMi4zLTE5IDE4LjItMzEuMyAxMy4ycy0xOC4yLTE5LTEzLjItMzEuM0wxNjAgMjUxLjMgMTYwIDE5MmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OGwwIDIwOGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQxNy43IDAgNDAwTDAgMTEyYzAtMTcuNyAxNC4zLTMyIDMyLTMyIDEwLjkgMCAyMC41IDUuNCAyNi4zIDEzLjcgMTYtOC43IDM0LjMtMTMuNyA1My43LTEzLjcgMzEuMyAwIDU5LjcgMTIuOSA4MCAzMy42IDkuNi05LjggMjAuOS0xNy44IDMzLjUtMjMuNUwyNjUuOC05YzUtMTIuMyAxOS0xOC4yIDMxLjMtMTMuMnoiXX0sVmZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1zbm93Ym9hcmRpbmciLGljb246WzU3Niw1MTIsWzEyNzkzOCwic25vd2JvYXJkaW5nIl0sImY3Y2UiLCJNNDI0LjUgMTZhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTE2Ni40IDQ1LjVjMTAuMi0xNC40IDMwLjItMTcuOSA0NC42LTcuN2wyNzIgMTkyYzE0LjQgMTAuMiAxNy45IDMwLjIgNy43IDQ0LjZzLTMwLjIgMTcuOS00NC42IDcuN2wtOTIuMi02NS4xLTYyLjIgNTMuMyAzMi4xIDI2LjdjMTguMiAxNS4yIDI4LjggMzcuNyAyOC44IDYxLjVsMCA4Ny44IDc3LjUgMTUuMmM2LjIgMS4yIDEyLjYgLjkgMTguNy0uOGw0MS4yLTExLjhjMTIuNy0zLjYgMjYgMy43IDI5LjcgMTYuNXMtMy43IDI2LTE2LjUgMjkuN2wtNDEuMiAxMS44Yy0xMy40IDMuOC0yNy40IDQuNC00MS4xIDEuOEw4Ny4xIDQ0My4zYy0xNy4yLTMuNC0zMy0xMS44LTQ1LjMtMjQuMUwxNS41IDM5M2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDI2LjIgMjYuMmM1LjYgNS42IDEyLjggOS40IDIwLjYgMTFsNjQuMiAxMi42IDAtMTIzLjdjMC0yNy43IDEyLTU0IDMyLjgtNzIuMmw2OS02MC40LTg4LjItNjIuM0MxNTkuNiA4MCAxNTYuMiA2MCAxNjYuNCA0NS41em01OC4xIDM3NS43bDY0IDEyLjUgMC03NS4zYzAtNC43LTIuMS05LjMtNS44LTEyLjNsLTU4LjItNDguNSAwIDEyMy42eiJdfSxRJHQ9VmZlLGpmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0dHkiLGljb246WzUxMiw1MTIsWyJ0ZWxldHlwZSJdLCJmMWU0IiwiTTQ1MC4yIDI2Ni44YzE1LjggNi41IDM0LjEgLjMgNDIuNi0xNC42bDIuNC00LjJjMjcuOS00OC45IDIzLjYtMTE4LjgtMzEuMy0xNTQuNS0xMjYtODItMjg5LjYtODItNDE1LjYgMC01NC45IDM1LjctNTkuMyAxMDUuNy0zMS4zIDE1NC41bDIuNCA0LjJjOC41IDE0LjkgMjYuNyAyMS4xIDQyLjYgMTQuNmw4MS45LTMzLjdjMTMuOS01LjcgMjIuNC0xOS45IDIwLjktMzQuOWwtNS4xLTUxYzYyLjUtMjEgMTMwLjgtMTkuOSAxOTIuNiAzLjNsLTQuOCA0Ny43Yy0xLjUgMTUgNyAyOS4yIDIwLjkgMzQuOWw4MS45IDMzLjd6TTMyIDM1MmEzMiAzMiAwIDEgMCA2NCAwIDMyIDMyIDAgMSAwIC02NCAwem05NiAwYTMyIDMyIDAgMSAwIDY0IDAgMzIgMzIgMCAxIDAgLTY0IDB6TTY0IDQxNmEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6bTM1MiAzMmEzMiAzMiAwIDEgMCA2NCAwIDMyIDMyIDAgMSAwIC02NCAwek0yNTYgMzIwYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHptNjQgMzJhMzIgMzIgMCAxIDAgNjQgMCAzMiAzMiAwIDEgMCAtNjQgMHptMTI4LTMyYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHpNMTI4IDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTkyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyeiJdfSxKJHQ9amZlLGVEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2Vycy1yZWN0YW5nbGUiLGljb246WzU3Niw1MTIsW10sImU1OTQiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptMjI0IDcyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyem0wIDE1MmM1MyAwIDk2IDQzIDk2IDk2bDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTI0YzAtNTMgNDMtOTYgOTYtOTZ6bTk2LTY0YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTE2OCAyNzIuM2MtMTUuMiAyMi44LTI0IDUwLjItMjQgNzkuN2wwIDI0YzAgOC40IDEuNCAxNi41IDQuMSAyNGwtNDYuOCAwQzg5LjYgNDAwIDgwIDM5MC40IDgwIDM3OC43TDgwIDM2OGMwLTUwLjMgMzguNy05MS42IDg4LTk1Ljd6TTQyNy45IDQwMGMyLjctNy41IDQuMS0xNS42IDQuMS0yNGwwLTI0YzAtMjkuNS04LjgtNTYuOS0yNC03OS43IDQ5LjMgNC4xIDg4IDQ1LjMgODggOTUuN2wwIDEwLjdjMCAxMS44LTkuNiAyMS4zLTIxLjMgMjEuM2wtNDYuOCAwek05NiAxOTJhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHoiXX0sRGVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vYmlsZSIsaWNvbjpbMzg0LDUxMixbMTI4MjQxLCJtb2JpbGUtYW5kcm9pZCIsIm1vYmlsZS1waG9uZSJdLCJmM2NlIiwiTTgwIDBDNDQuNyAwIDE2IDI4LjcgMTYgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjI0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMODAgMHptNzIgNDE2bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTgwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LHREdD1EZWUsYUR0PURlZSxyRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXR1cm4tdG8tZG90cyIsaWNvbjpbNDQ4LDUxMixbXSwiZTRjMSIsIk0yNjUuNC02LjZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM0wyODUuMyA2NCAzNTIgNjRjNTMgMCA5NiA0MyA5NiA5NmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJsLTY2LjcgMCAyNS40IDI1LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTgwLTgwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w4MC04MHptLTgyLjcgMjcybDgwIDgwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC04MCA4MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMTYyLjcgNDAwIDk2IDQwMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ4MS43IDAgNDY0bDAtMzJjMC01MyA0My05NiA5Ni05Nmw2Ni43IDAtMjUuNC0yNS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwek0zMjAgMzY4YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNNjQgMTYwYTY0IDY0IDAgMSAxIDAtMTI4IDY0IDY0IDAgMSAxIDAgMTI4eiJdfSxzRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXhjbGFtYXRpb24iLGljb246WzEyOCw1MTIsWzEwMDY5LDEwMDcxLDYxNzM4XSwiMjEiLCJNNjQgNDMyYzIyLjEgMCA0MCAxNy45IDQwIDQwcy0xNy45IDQwLTQwIDQwLTQwLTE3LjktNDAtNDBjMC0yMi4xIDE3LjktNDAgNDAtNDB6TTY0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCAuNiAwIDEuMSAwIDEuN2wtMTYgMzA0Yy0uOSAxNy0xNSAzMC4zLTMyIDMwLjNTMzMgMzcwLjcgMzIgMzUzLjdMMTYgNDkuN2MwLS42IDAtMS4xIDAtMS43IDAtMjYuNSAyMS41LTQ4IDQ4LTQ4eiJdfSxpRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2h1cmNoIixpY29uOls1MTIsNTEyLFs5OTYyXSwiZjUxZCIsIk0yODAtOGMwLTEzLjMtMTAuNy0yNC0yNC0yNFMyMzItMjEuMyAyMzItOGwwIDI0LTMyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzIgMCAwIDQ4LTk4LjYgNjUuOEMxMjAgMTg2LjcgMTEyIDIwMS42IDExMiAyMTcuN2wwIDM4LjMtNzkuOCA0NS42QzEyLjMgMzEzIDAgMzM0LjIgMCAzNTcuMUwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NCA3NC43IDAgODUuNCAwIDMyMCAwbDY0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC05MC45YzAtMjMtMTIuMy00NC4yLTMyLjItNTUuNkw0MDAgMjU2IDQwMCAyMTcuN2MwLTE2LTgtMzEtMjEuNC0zOS45bC05OC42LTY1LjggMC00OCAzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMiAwIDAtMjR6TTI1NiAzMjBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA4MC0xMjggMCAwLTgwYzAtMzUuMyAyOC43LTY0IDY0LTY0eiJdfSxvRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9nZ2xlLW9mZiIsaWNvbjpbNTc2LDUxMixbXSwiZjIwNCIsIk0zODQgMTI4YzcwLjcgMCAxMjggNTcuMyAxMjggMTI4UzQ1NC43IDM4NCAzODQgMzg0bC0xOTIgMGMtNzAuNyAwLTEyOC01Ny4zLTEyOC0xMjhzNTcuMy0xMjggMTI4LTEyOGwxOTIgMHpNNTc2IDI1NmMwLTEwNi04Ni0xOTItMTkyLTE5MkwxOTIgNjRDODYgNjQgMCAxNTAgMCAyNTZTODYgNDQ4IDE5MiA0NDhsMTkyIDBjMTA2IDAgMTkyLTg2IDE5Mi0xOTJ6TTE5MiAzMzZhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6Il19LG5EdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaG9lLXByaW50cyIsaWNvbjpbNTc2LDUxMixbXSwiZjU0YiIsIk0yOTYgMTkyYy0yMS4xLTEyLjEtNDIuMy0yNC4yLTcyLTI5LjNsMC0xNDAuM0MyNTcuNyAxMyAzMTEuNCAwIDM1MiAwIDQ0OCAwIDU3NiA0OCA1NzYgMTI4cy0xMTkuNiA5Ni0xNzYgOTZjLTQ4IDAtNzYtMTYtMTA0LTMyek0xMjggMzJsNDggMCAwIDEyOC00OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0ek0yMzIgMzIwYzI4LTE2IDU2LTMyIDEwNC0zMiA1Ni40IDAgMTc2IDE2IDE3NiA5NlMzODQgNTEyIDI4OCA1MTJjLTQwLjUgMC05NC4zLTEzLTEyOC0yMi40bDAtMTQwLjNjMjkuNy01LjIgNTAuOS0xNy4zIDcyLTI5LjR6TTY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NGw0OCAwIDAgMTI4LTQ4IDB6Il19LGxEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNTc2LDUxMixbXSwiZTRlYiIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE4MCAwYy0yMi43LTMxLjUtMzYtNzAuMi0zNi0xMTIgMC0xMDAuNiA3Ny40LTE4My4yIDE3Ni0xOTEuM2wwLTM4LjFjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjkwLjcgMTguN0MyNzguNyA2LjcgMjYyLjUgMCAyNDUuNSAwTDk2IDB6TTM1Ny41IDE3NkwyNjQgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyNDAgNTguNSAzNTcuNSAxNzZ6TTQzMiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTEwMGEyMCAyMCAwIDEgMSAwIDQwIDIwIDIwIDAgMSAxIDAtNDB6bTAtMTQwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxDdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2FsbGV0IixpY29uOls1MTIsNTEyLFtdLCJmNTU1IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xOTJjMC0zNS4zLTI4LjctNjQtNjQtNjRMNzIgMTI4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFM1OC43IDgwIDcyIDgwbDM4NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDY0IDMyek00MTYgMjU2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sYXY9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWVzc2FnZSIsaWNvbjpbNTEyLDUxMixbImNvbW1lbnQtYWx0Il0sImYyN2EiLCJNMCAzNTJMMCAxMjhDMCA3NSA0MyAzMiA5NiAzMmwzMjAgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMjI0YzAgNTMtNDMgOTYtOTYgOTZsLTEyMCAwYy01LjIgMC0xMC4yIDEuNy0xNC40IDQuOEwxNjYuNCA1MzkuMmMtNC4yIDMuMS05LjIgNC44LTE0LjQgNC44LTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNzItMzIgMGMtNTMgMC05Ni00My05Ni05NnoiXX0sY0R0PWF2LGREdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cm9waHkiLGljb246WzUxMiw1MTIsWzEyNzk0Ml0sImYwOTEiLCJNMTQ0LjMgMGwyMjQgMGMyNi41IDAgNDguMSAyMS44IDQ3LjEgNDguMi0uMiA1LjMtLjQgMTAuNi0uNyAxNS44bDQ5LjYgMGMyNi4xIDAgNDkuMSAyMS42IDQ3LjEgNDkuOC03LjUgMTAzLjctNjAuNSAxNjAuNy0xMTggMTkwLjUtMTUuOCA4LjItMzEuOSAxNC4zLTQ3LjIgMTguOC0yMC4yIDI4LjYtNDEuMiA0My43LTU3LjkgNTEuOGwwIDczLjEgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMCAwLTczLjFjLTE2LTcuNy0zNS45LTIyLTU1LjMtNDguMy0xOC40LTQuOC0zOC40LTEyLjEtNTcuOS0yMy4xLTU0LjEtMzAuMy0xMDIuOS04Ny40LTEwOS45LTE4OS45LTEuOS0yOC4xIDIxLTQ5LjcgNDcuMS00OS43bDQ5LjYgMGMtLjMtNS4yLS41LTEwLjQtLjctMTUuOC0xLTI2LjUgMjAuNi00OC4yIDQ3LjEtNDguMnpNMTAxLjUgMTEybC01Mi40IDBjNi4yIDg0LjcgNDUuMSAxMjcuMSA4NS4yIDE0OS42LTE0LjQtMzcuMy0yNi4zLTg2LTMyLjgtMTQ5LjZ6TTM4MCAyNTYuOGM0MC41LTIzLjggNzcuMS02Ni4xIDgzLjMtMTQ0LjhMNDExIDExMmMtNi4yIDYwLjktMTcuNCAxMDguMi0zMSAxNDQuOHoiXX0sVWZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZGl6enkiLGljb246WzUxMiw1MTIsWyJkaXp6eSJdLCJmNTY3IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xMzQuMSAxNTMuOWwyNS45IDI1LjkgMjUuOS0yNS45YzcuOC03LjggMjAuNS03LjggMjguMyAwczcuOCAyMC41IDAgMjguM2wtMjUuOSAyNS45IDI1LjkgMjUuOWM3LjggNy44IDcuOCAyMC41IDAgMjguM3MtMjAuNSA3LjgtMjguMyAwbC0yNS45LTI1LjktMjUuOSAyNS45Yy03LjggNy44LTIwLjUgNy44LTI4LjMgMHMtNy44LTIwLjUgMC0yOC4zbDI1LjktMjUuOS0yNS45LTI1LjljLTcuOC03LjgtNy44LTIwLjUgMC0yOC4zczIwLjUtNy44IDI4LjMgMHptMTkyIDBsMjUuOSAyNS45IDI1LjktMjUuOWM3LjgtNy44IDIwLjUtNy44IDI4LjMgMHM3LjggMjAuNSAwIDI4LjNsLTI1LjkgMjUuOSAyNS45IDI1LjljNy44IDcuOCA3LjggMjAuNSAwIDI4LjNzLTIwLjUgNy44LTI4LjMgMGwtMjUuOS0yNS45LTI1LjkgMjUuOWMtNy44IDcuOC0yMC41IDcuOC0yOC4zIDBzLTcuOC0yMC41IDAtMjguM2wyNS45LTI1LjktMjUuOS0yNS45Yy03LjgtNy44LTcuOC0yMC41IDAtMjguM3MyMC41LTcuOCAyOC4zIDB6TTI1NiAzMDRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LHVEdD1VZmUscER0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhY3RlcmlhIixpY29uOls2NDAsNTEyLFtdLCJlMDU5IiwiTTI1Ni0zMmMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDExYzguNiAyLjIgMTYuOSA1LjYgMjQuOCAxMC4zTDMxMSA3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNi4zIDYuM2M0LjYgNy44IDggMTYuMiAxMC4zIDI0LjhsMTEgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTEgMGMtMi4yIDguNi01LjYgMTYuOS0xMC4zIDI0LjhMMzQ1IDE1MWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00LjEtNC4xLTMwLjEgMzAuMSA0LjEgNC4xYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQuMS00LjFjLTEwIDEwLTIwIDIwLTMwLjEgMzAuMUwyMTcgMjc5YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTYuMy02LjNjLTcuOCA0LjYtMTYuMiA4LTI0LjggMTAuM2wwIDExYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTFjLTguNi0yLjItMTYuOS01LjYtMjQuOC0xMC4zTDczIDMxM2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw2LjMtNi4zYy00LjYtNy44LTgtMTYuMi0xMC4zLTI0LjhsLTExIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTEgMGMyLjItOC42IDUuNi0xNi45IDEwLjMtMjQuOEwzOSAxNjljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0LjEgNC4xYzEwLTEwIDIwLTIwIDMwLjEtMzAuMUwxMDMgMTA1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNC4xIDQuMSAzMC4xLTMwLjEtNC4xLTQuMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlTMTkxLjYtMi4zIDIwMSA3bDYuMyA2LjNjNy44LTQuNiAxNi4yLTggMjQuOC0xMC4zbDAtMTFjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTEyOCAyNTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0yNDAgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTI5NiA0MGwwIDExYzguNiAyLjIgMTYuOSA1LjYgMjQuOCAxMC4zTDU2NyAxOTljOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC02LjMgNi4zYzQuNiA3LjggOCAxNi4yIDEwLjMgMjQuOGwxMSAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMSAwYy0yLjIgOC42LTUuNiAxNi45LTEwLjMgMjQuOEw2MDEgMzQzYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTQuMS00LjEtMzAuMSAzMC4xIDQuMSA0LjFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNC4xLTQuMWMtMTAgMTAtMjAgMjAtMzAuMSAzMC4xTDQ3MyA0NzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNi4zLTYuM2MtNy44IDQuNi0xNi4yIDgtMjQuOCAxMC4zbDAgMTFjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMWMtOC42LTIuMi0xNi45LTUuNi0yNC44LTEwLjNMMzI5IDUwNWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw2LjMtNi4zYy00LjYtNy44LTgtMTYuMi0xMC4zLTI0LjhsLTExIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTEgMGMyLjItOC42IDUuNi0xNi45IDEwLjMtMjQuOEwyOTUgMzYxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNC4xIDQuMWMxMC0xMCAyMC0yMCAzMC4xLTMwLjFMMzU5IDI5N2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQuMSA0LjEgMzAuMS0zMC4xLTQuMS00LjFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw2LjMgNi4zYzcuOC00LjYgMTYuMi04IDI0LjgtMTAuM2wwLTExYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6TTQ0OCAzODRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHoiXX0sT2I9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWFyLWRlYWYiLGljb246WzUxMiw1MTIsWyJkZWFmIiwiZGVhZm5lc3MiLCJoYXJkLW9mLWhlYXJpbmciXSwiZjJhNCIsIk01MDIuNiA1NC42bC00MCA0MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsNDAtNDBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3ptLTMyMCAzMjBsLTEyOCAxMjhjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDEyOC0xMjhjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3pNMjQwIDEyOGMtNTcuNiAwLTEwNS4xIDQzLjYtMTExLjMgOTkuNS0xLjkgMTcuNi0xNy44IDMwLjItMzUuMyAyOC4zcy0zMC4yLTE3LjgtMjguMy0zNS4zYzkuNy04OCA4NC4zLTE1Ni41IDE3NC45LTE1Ni41IDk3LjIgMCAxNzYgNzguOCAxNzYgMTc2IDAgNDYtMTcuNyA4Ny45LTQ2LjYgMTE5LjMtMTIgMTMtMTcuNCAyNC44LTE3LjQgMzQuN2wwIDYuMWMwIDYxLjktNTAuMSAxMTItMTEyIDExMi0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNi4xYzAtMzIuOSAxNy40LTU5LjYgMzQuNC03OCAxOC40LTIwIDI5LjYtNDYuNiAyOS42LTc1LjkgMC02MS45LTUwLjEtMTEyLTExMi0xMTJ6bTAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xNy43LTE0LjMtMzItMzItMzJ6Il19LGZEdD1PYixoRHQ9T2IsbUR0PU9iLFdmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtYXJyb3dzIixpY29uOls1MTIsNTEyLFsicGVvcGxlLWFycm93cy1sZWZ0LXJpZ2h0Il0sImUwNjgiLCJNMzIgNjRBNjQgNjQgMCAxIDEgMTYwIDY0IDY0IDY0IDAgMSAxIDMyIDY0ek0wIDIyNGMwLTM1LjMgMjguNy02NCA2NC02NGw2NCAwYzMuMiAwIDYuNCAuMiA5LjUgLjdMOTMuMSAyMDUuMUM2NSAyMzMuMiA2NSAyNzguOCA5My4xIDMwNi45bDU2IDU2YzMuNCAzLjQgNyA2LjQgMTAuOSA5bDAgOTIuMWMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xMjAuNkMxMi45IDMzMi40IDAgMzExLjcgMCAyODhsMC02NHpNMzUyIDY0YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHptNjYuOSAxNDEuMWwtNDQuNC00NC40YzMuMS0uNSA2LjMtLjcgOS41LS43bDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA2NGMwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRMNDgwIDQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05Mi4xYzMuOS0yLjYgNy41LTUuNiAxMC45LTlsNTYtNTZjMjguMS0yOC4xIDI4LjEtNzMuNyAwLTEwMS44ek0zMDIuOCAxNzcuOGM5LTMuNyAxOS4zLTEuNyAyNi4yIDUuMmw1NiA1NmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNTYgNTZjLTYuOSA2LjktMTcuMiA4LjktMjYuMiA1LjJTMjg4IDMyMS43IDI4OCAzMTJsMC0yNC02NCAwIDAgMjRjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtNTYtNTZjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDU2LTU2YzYuOS02LjkgMTcuMi04LjkgMjYuMi01LjJTMjI0IDE5MC4zIDIyNCAyMDBsMCAyNCA2NCAwIDAtMjRjMC05LjcgNS44LTE4LjUgMTQuOC0yMi4yeiJdfSxnRHQ9V2ZlLGJEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kcy1jbGFwcGluZyIsaWNvbjpbNTEyLDUxMixbXSwiZTFhOCIsIk0zNDQgOGwwIDY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRTMzQ0LTUuMyAzNDQgOHpNMjIwIDEwLjdsMzIgNDhjNy40IDExIDQuNCAyNS45LTYuNyAzMy4zcy0yNS45IDQuNC0zMy4zLTYuN2wtMzItNDhjLTcuNC0xMS00LjQtMjUuOSA2LjctMzMuM1MyMTIuNi0uMyAyMjAgMTAuN3pNMTM1IDExOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwyOTIuNyAyNDIuN2MxMC4xIDEwLjEgMjcuMyAyLjkgMjcuMy0xMS4zbDAtMzkuNGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTUzLjZjMCA1Ny4xLTMwIDExMC03OC45IDEzOS40LTY0IDM4LjQtMTQ1LjggMjguMy0xOTguNS0yNC40TDcgMzYxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNTMgNTNjNi4xIDYuMSAxNiA2LjEgMjIuMSAwczYuMS0xNiAwLTIyLjFMMjMgMjY1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsOTMgOTNjNi4xIDYuMSAxNiA2LjEgMjIuMSAwczYuMS0xNiAwLTIyLjFMNTUgMTg1Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMTE3IDExN2M2LjEgNi4xIDE2IDYuMSAyMi4xIDBzNi4xLTE2IDAtMjIuMWwtOTMtOTNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45ek00MzMuMSA0ODQuOWMtMjQuMiAxNC41LTUwLjkgMjIuMS03Ny43IDIzLjEgNDguMS0zOS42IDc2LjYtOTkgNzYuNi0xNjIuNGwwLTk4LjFjOC4yLS4xIDE2LTYuNCAxNi0xNmwwLTM5LjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE1My42YzAgNTcuMS0zMCAxMTAtNzguOSAxMzkuNHpNNDUzLjMgNGMxMSA3LjQgMTQgMjIuMyA2LjcgMzMuM2wtMzIgNDhjLTcuNCAxMS0yMi4zIDE0LTMzLjMgNi43cy0xNC0yMi4zLTYuNy0zMy4zbDMyLTQ4YzcuNC0xMSAyMi4zLTE0IDMzLjMtNi43eiJdfSx2RHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlydXMtY292aWQtc2xhc2giLGljb246WzU3Niw1MTIsW10sImU0YTkiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtODMtODMgMTEuNC0xMS40YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTExLjMgMTEuMy0yMy44LTIzLjhjMTcuOS0yMy41IDI5LjktNTEuNyAzNC4xLTgyLjNsMzMuNiAwIDAgMTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTgwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTYtMzMuNiAwYy00LjItMzAuNy0xNi4zLTU4LjgtMzQuMS04Mi4zbDIzLjgtMjMuOCAxMS4zIDExLjNjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDQ0MC43IDQ2LjdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMTEuMyAxMS4zLTIzLjggMjMuOEMzNzAuOCA5Ny45IDM0Mi43IDg1LjggMzEyIDgxLjZsMC0zMy42IDE2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRTMzQxLjMgMCAzMjggMEwyNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNiAwIDAgMzMuNmMtMzAuNyA0LjItNTguOCAxNi4zLTgyLjMgMzQuMUwxNTcuOSA5MiAxNjkuMiA4MC42YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMMTIzLjkgNTguMSA0MS0yNC45ek0xMTMuNiAyMzJsLTMzLjYgMCAwLTE2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE2IDMzLjYgMGM0LjIgMzAuNyAxNi4zIDU4LjggMzQuMSA4Mi4zbC0yMy44IDIzLjgtMTEuMy0xMS4zYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDU2LjYgNTYuNmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTExLjMtMTEuMyAyMy44LTIzLjhjMjMuNSAxNy45IDUxLjcgMjkuOSA4Mi4zIDM0LjFsMCAzMy42LTE2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTYgMCAwLTMzLjZjMTMuNC0xLjggMjYuNC01LjIgMzguNy05LjlMMTIzLjUgMTkzLjNjLTQuNyAxMi4zLTggMjUuMi05LjkgMzguN3oiXX0sR2ZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbGVuZGFyLWRheXMiLGljb246WzQ0OCw1MTIsWyJjYWxlbmRhci1hbHQiXSwiZjA3MyIsIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTY0IDI0MGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xMjggMGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNDQtMTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNNjQgMzY4bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE0NC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0xMTIgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnoiXX0seER0PUdmZSxZZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGlhbW9uZC10dXJuLXJpZ2h0IixpY29uOls1MTIsNTEyLFsiZGlyZWN0aW9ucyJdLCJmNWViIiwiTTIxNSAxN0wxNyAyMTVDNi4xIDIyNS45IDAgMjQwLjYgMCAyNTZzNi4xIDMwLjEgMTcgNDFMMjE1IDQ5NWMxMC45IDEwLjkgMjUuNiAxNyA0MSAxN3MzMC4xLTYuMSA0MS0xN0w0OTUgMjk3YzEwLjktMTAuOSAxNy0yNS42IDE3LTQxcy02LjEtMzAuMS0xNy00MUwyOTcgMTdDMjg2LjEgNi4xIDI3MS40IDAgMjU2IDBzLTMwLjEgNi4xLTQxIDE3ek0zODUgMjU3bC03MiA3MmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS03OC4xIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00MGMwLTM5LjggMzIuMi03MiA3Mi03Mmw3OC4xIDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXoiXX0seUR0PVlmZSx3RHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1wb2ludC11cCIsaWNvbjpbMzg0LDUxMixbOTc1N10sImYwYTYiLCJNMzIgMzJDMzIgMTQuMyA0Ni4zIDAgNjQgMFM5NiAxNC4zIDk2IDMybDAgMjA4LTY0IDAgMC0yMDh6TTIyNCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6bS02NC02NGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTE2MCA5NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NHptLTk2IDg4bDAtLjZjOS40IDUuNCAyMC4zIDguNiAzMiA4LjYgMTMuMiAwIDI1LjQtNCAzNS42LTEwLjggOC43IDI0LjkgMzIuNSA0Mi44IDYwLjQgNDIuOCAxMS43IDAgMjIuNi0zLjEgMzItOC42bDAgOC42YzAgODguNC03MS42IDE2MC0xNjAgMTYwbC02MS43IDBjLTQyLjQgMC04My4xLTE2LjktMTEzLjEtNDYuOUwzNy41IDQ1My41QzEzLjUgNDI5LjUgMCAzOTYuOSAwIDM2M2wwLTI3YzAtMzUuMyAyOC43LTY0IDY0LTY0bDg4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBzLTE3LjkgNDAtNDAgNDBsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsNTYgMGMzOS44IDAgNzItMzIuMiA3Mi03MnoiXX0sTUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJlemllci1jdXJ2ZSIsaWNvbjpbNjQwLDUxMixbXSwiZjU1YiIsIk0yOTYgMTM2bDAtNDggNDggMCAwIDQ4LTQ4IDB6TTI4OCAzMmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA0LTExOC40IDBDMTExLjIgNjIuNyA4OS4zIDQ4IDY0IDQ4IDI4LjcgNDggMCA3Ni43IDAgMTEyczI4LjcgNjQgNjQgNjRjMjUuMyAwIDQ3LjItMTQuNyA1Ny42LTM2bDY2LjkgMGMtNTguOSAzOS42LTk4LjkgMTA1LTEwNCAxODBMODAgMzIwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NGMwLTI2LjUtMjEuNS00OC00OC00OGwtMy4zIDBjNS45LTY3IDQ4LjUtMTIzLjQgMTA3LjUtMTQ5LjEgOC42IDEyLjcgMjMuMiAyMS4xIDM5LjggMjEuMWw2NCAwYzE2LjYgMCAzMS4xLTguNCAzOS44LTIxLjEgNTkgMjUuNyAxMDEuNiA4Mi4xIDEwNy41IDE0OS4xbC0zLjMgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNjRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQuNSAwYy01LTc1LTQ1LjEtMTQwLjQtMTA0LTE4MGw2Ni45IDBjMTAuNCAyMS4zIDMyLjMgMzYgNTcuNiAzNiAzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NGMtMjUuMyAwLTQ3LjIgMTQuNy01Ny42IDM2bC0xMTguNCAwIDAtNGMwLTI2LjUtMjEuNS00OC00OC00OGwtNjQgMHpNODggMzc2bDQ4IDAgMCA0OC00OCAwIDAtNDh6bTQxNiA0OGwwLTQ4IDQ4IDAgMCA0OC00OCAweiJdfSxrRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWhhbGYtZHJlc3MiLGljb246WzM4NCw1MTIsW10sImU1NDgiLCJNMTQzLjQtMy45YzkuNy0xNi44IDI3LjgtMjguMSA0OC42LTI4LjEgMzAuOSAwIDU2IDI1LjEgNTYgNTYgMCAyNS40LTE2LjkgNDYuOC00MCA1My43bDAgMGMtNS4xIDEuNS0xMC40IDIuMy0xNiAyLjMtMzAuOSAwLTU2LTI1LjEtNTYtNTZsMCAwYzAtMTAuMSAyLjctMTkuNyA3LjQtMjcuOXpNMzE4LjMgMjk5LjFMMjcyIDIzNi43IDI3MiA1MTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjAgMC0uNCAwLTIzOC42YzM2LjIgNC40IDY5LjIgMjMuNCA5MS4yIDUzbDcwLjUgOTVjMTAuNSAxNC4yIDcuNiAzNC4yLTYuNiA0NC44cy0zNC4yIDcuNi00NC44LTYuNnpNMTc2IDExM2wwIDM5OWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOC0yNS44IDBjLTEwLjkgMC0xOC42LTEwLjctMTUuMi0yMS4xbDQzLTEyOS00OC4zIDY1LjFjLTEwLjUgMTQuMi0zMC42IDE3LjItNDQuOCA2LjZzLTE3LjItMzAuNi02LjYtNDQuOGw3MC41LTk1YzIyLTI5LjYgNTUuMS00OC42IDkxLjItNTN6Il19LEtmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtcG9sbC1ob3Jpem9udGFsIixpY29uOls0NDgsNTEyLFsicG9sbC1oIl0sImY2ODIiLCJNNDQ4IDk2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjB6TTI1NiAxNTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTExMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0em03MiA4MGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjA4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjA4IDB6TTE5MiAzNjBjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHoiXX0sU0R0PUtmZSx6RHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Nob29sLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTU2ZCIsIk02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI3NiAwYy0xMC41LTE0LjYtMTktMzAuNy0yNS4xLTQ4bC05MC45IDAgMC04OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwYzEgMCAxLjkgMCAyLjkgLjEgMjYuMy03NC42IDk3LjUtMTI4LjEgMTgxLjEtMTI4LjEgMjguNiAwIDU1LjYgNi4yIDgwIDE3LjRsMC0zMy40YzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwLTEyNy45LTExNS4xYy0xOC4zLTE2LjQtNDYtMTYuNC02NC4yIDBMMTI4IDEyOCA2NCAxMjh6bTY0IDI0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyek0xMTIgMjU2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZ6TTI4OCAxMjhhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43bC0zNi43IDM2LjcgMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTM2LjctMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMzYuNy0zNi43LTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDM2LjcgMzYuNyAzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42eiJdfSxDRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1saXphcmQiLGljb246WzUxMiw1MTIsW10sImYyNTgiLCJNMCAxMTJDMCA4NS41IDIxLjUgNjQgNDggNjRsMjM4LjUgMGMzNi44IDAgNzEuMiAxOCA5Mi4xIDQ4LjJsMTEzLjUgMTY0YzEzIDE4LjcgMTkuOSA0MSAxOS45IDYzLjhsMCA3NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMy44LTc4LjEtNTAuMi0xNjEuOSAwYy0yNi41IDAtNDgtMjEuNS00OC00OHMyMS41LTQ4IDQ4LTQ4bDEyOCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4TDQ4IDE2MGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDh6Il19LFpmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFsa2JvYXJkIixpY29uOls1NzYsNTEyLFsiYmxhY2tib2FyZCJdLCJmNTFiIiwiTTk2IDY0Yy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1MTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw5NiA2NHpNNDgwIDM4NGwtNjQgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTE2MCAwIDAtMjU2IDM4NCAwIDAgMjU2eiJdfSxfRHQ9WmZlLFhmZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1cC1yaWdodC1mcm9tLXNxdWFyZSIsaWNvbjpbNTEyLDUxMixbImV4dGVybmFsLWxpbmstYWx0Il0sImYzNWQiLCJNMjkwLjQgMTkuOEMyOTUuNCA3LjggMzA3LjEgMCAzMjAgMEw0ODAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2MGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOUw0MDAgMTU3LjMgMjQ2LjYgMzEwLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDM1NC43IDExMiAyOTcuNCA1NC42Yy05LjItOS4yLTExLjktMjIuOS02LjktMzQuOXpNMCAxNzZjMC00NC4yIDM1LjgtODAgODAtODBsODAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtODAgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjU2YzAgOC44IDcuMiAxNiAxNiAxNmwyNTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC04MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgODBjMCA0NC4yLTM1LjggODAtODAgODBMODAgNTEyYy00NC4yIDAtODAtMzUuOC04MC04MEwwIDE3NnoiXX0sVER0PVhmZSxMRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWZ1bGwiLGljb246WzUxMiw1MTIsWzEyODk5NywxMjg5OTgsMTI4OTk5LDEyOWUzLDEyOTAwMSwxMjkwMDIsMTI5MDAzLDExMDM1LDExMDM2XSwiZjQ1YyIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEw0NDggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6Il19LCREdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG92ZXIiLGljb246WzUxMiw1MTIsW10sImUxMzkiLCJNMzEwLjQgMTZDMzQ2LjYgMTYgMzc2IDQ1LjQgMzc2IDgxLjdsMCA1LjJjMCAxMS4yLTIuNyAyMi4zLTcuOCAzMi4ybC0yLjMgNC4yLTIwLjEgMzMuNWMtMS4xIDEuOS0xLjIgMy40LTEuMSA0LjUgLjIgMS4zIC45IDIuNyAyLjEgMy45czIuNiAxLjkgMy45IDIuMWMxLjEgLjIgMi42IC4xIDQuNS0xLjFsMzMuNS0yMC4xIDQuMi0yLjNjMTAtNS4xIDIxLTcuOCAzMi4yLTcuOGw1LjIgMGMzNi4yIDAgNjUuNiAyOS40IDY1LjYgNjUuNyAwIDE3LjQtNi45IDM0LjEtMTkuMiA0Ni40bC0xLjMgMS4zYy0zLjcgMy43LTMuNyA5LjYgMCAxMy4zbDEuMyAxLjNjMTIuMyAxMi4zIDE5LjIgMjkgMTkuMiA0Ni40IDAgMzYuMi0yOS40IDY1LjYtNjUuNiA2NS42bC01LjIgMGMtMTIuOCAwLTI1LjUtMy41LTM2LjUtMTAuMWwtMzMuNS0yMC4xYy0xLjktMS4xLTMuNC0xLjItNC41LTEuMS0xLjMgLjItMi43IC45LTMuOSAyLjFzLTEuOSAyLjYtMi4xIDMuOWMtLjIgMS4xLS4xIDIuNiAxLjEgNC41bDIwLjEgMzMuNWM2LjYgMTEgMTAuMSAyMy42IDEwLjEgMzYuNWwwIDUuMmMwIDM2LjItMjkuNCA2NS42LTY1LjYgNjUuNi0xNy40IDAtMzQuMS02LjktNDYuNC0xOS4ybC0xLjMtMS4zYy0zLjctMy43LTkuNi0zLjctMTMuMyAwbC0xLjMgMS4zYy0xMi4zIDEyLjMtMjkgMTkuMi00Ni40IDE5LjItMzYuMiAwLTY1LjYtMjkuNC02NS43LTY1LjZsMC01LjJjMC0xMi44IDMuNS0yNS41IDEwLjEtMzYuNWwyMC4xLTMzLjVjMS4xLTEuOSAxLjItMy40IDEuMS00LjUtLjItMS4zLS45LTIuNy0yLjEtMy45cy0yLjYtMS45LTMuOS0yLjFjLS41LS4xLTEuMi0uMS0xLjkgMGwtMi41IDEtMzMuNSAyMC4xYy0xMSA2LjYtMjMuNiAxMC4xLTM2LjUgMTAuMWwtNS4yIDBDNDUuNCAzNzYgMTYgMzQ2LjYgMTYgMzEwLjQgMTYgMjkzIDIyLjkgMjc2LjMgMzUuMiAyNjRsMS4zLTEuMyAxLjItMS41YzIuMS0zLjEgMi4xLTcuMiAwLTEwLjNsLTEuMi0xLjUtMS4zLTEuM0MyMi45IDIzNS44IDE2IDIxOS4xIDE2IDIwMS43IDE2IDE2NS40IDQ1LjQgMTM2IDgxLjcgMTM2bDUuMiAwYzEyLjggMCAyNS41IDMuNSAzNi41IDEwLjFsMzMuNSAyMC4xIDIuNSAxYy43IC4xIDEuNCAuMSAxLjkgLjEgMS4zLS4yIDIuNy0uOSAzLjktMi4xczEuOS0yLjYgMi4xLTMuOWMuMS0uNSAuMS0xLjItLjEtMS45bC0xLTIuNS0yMC4xLTMzLjVjLTYuNi0xMS0xMC4xLTIzLjYtMTAuMS0zNi41bDAtNS4yYzAtMzYuMiAyOS40LTY1LjcgNjUuNy02NS43IDE3LjQgMCAzNC4xIDYuOSA0Ni40IDE5LjJsMS4zIDEuM2MzLjcgMy42IDkuNiAzLjcgMTMuMyAwbDEuMy0xLjMgNC44LTQuNEMyODAuNSAyMS4zIDI5NS4xIDE2IDMxMC40IDE2eiJdfSxERHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVldGgtb3BlbiIsaWNvbjpbNTEyLDUxMixbXSwiZjYyZiIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2bDAgODBjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC04MGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptMCAyNzJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC00OGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMDR6bTgwLTE2MGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMjR6bTEyOCAwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhsMCAyNGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC0yNHpNODAgMTEyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTMyMCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMjRjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMjR6TTQ4IDM4NGwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyem0xNDQgNDhjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTZjMC04LjggNy4yLTE2IDE2LTE2bDY0IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCAyNi41LTIxLjUgNDgtNDggNDh6bTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNmw2NCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4em0xMTItMTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJ6Il19LEFlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXJzLXN0YWdnZXJlZCIsaWNvbjpbNTEyLDUxMixbInJlb3JkZXIiLCJzdHJlYW0iXSwiZjU1MCIsIk0wIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0bDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDEyOEMxNC4zIDEyOCAwIDExMy43IDAgOTZ6TTY0IDI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw5NiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek00NDggNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnoiXX0sQUR0PUFlZSxFRHQ9QWVlLFBEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YXJlaG91c2UiLGljb246WzU3Niw1MTIsW10sImY0OTQiLCJNMCAxNDIuMUwwIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjQwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjQwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMzcuOWMwLTI3LjUtMTcuNi01Mi00My44LTYwLjdMMzAzLjIgNS4xYy05LjktMy4zLTIwLjUtMy4zLTMwLjQgMEw0My44IDgxLjRDMTcuNiA5MC4xIDAgMTE0LjYgMCAxNDIuMXpNNDY0IDI1NmwtMzUyIDAgMCA2NCAzNTIgMCAwLTY0ek0xMTIgNDE2bDM1MiAwIDAtNjQtMzUyIDAgMCA2NHptMzUyIDMybC0zNTIgMCAwIDY0IDM1MiAwIDAtNjR6Il19LElEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzd2F0Y2hib29rIixpY29uOls1MTIsNTEyLFtdLCJmNWMzIiwiTTAgNDhDMCAyMS41IDIxLjUgMCA0OCAwbDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzNjhjMCA1My00MyA5Ni05NiA5NlMwIDQ2OSAwIDQxNkwwIDQ4ek0yNDAgNDA5LjZsMC0yNzEuNSA0OC4xLTQ4LjFjMTguNy0xOC43IDQ5LjEtMTguNyA2Ny45IDBsNjcuOSA2Ny45YzE4LjcgMTguNyAxOC43IDQ5LjEgMCA2Ny45TDI0MCA0MDkuNnpNMjA1LjUgNTEybDE5Mi0xOTIgNjYuNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTI1OC41IDB6TTgwIDY0Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZMODAgNjR6TTY0IDIwOGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek05NiA0NDBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSxORHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FtcGdyb3VuZCIsaWNvbjpbNTEyLDUxMixbOTk3OF0sImY2YmIiLCJNMzQ0LjggNTIuM2MxMS4yLTEzLjcgOS4yLTMzLjgtNC41LTQ1cy0zMy44LTkuMi00NSA0LjVsLTM5LjIgNDgtMzkuMi00OEMyMDUuNi0xLjkgMTg1LjQtNCAxNzEuNyA3LjJzLTE1LjcgMzEuNC00LjUgNDVsNDcuNCA1OC0yMDIgMjQ2LjlDNC41IDM2Ny4xIDAgMzc5LjYgMCAzOTIuNkwwIDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw0MTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM5LjRjMC0xMi45LTQuNS0yNS41LTEyLjctMzUuNWwtMjAyLTI0Ni45IDQ3LjQtNTh6TTI1NiAyODhsMTEyIDEyOC0yMjQgMCAxMTItMTI4eiJdfSxSRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXdhbGtpbmctYXJyb3ctcmlnaHQiLGljb246WzU3Niw1MTIsW10sImU1NTIiLCJNMTA0LjUgMjRhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwem0tOCAxODEuM0w3My45IDIyNy45Yy02IDYtOS40IDE0LjEtOS40IDIyLjZsMCAzNy41YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzcuNWMwLTI1LjUgMTAuMS00OS45IDI4LjEtNjcuOWwzNS4xLTM1LjFjMjIuOC0yMi44IDUzLjYtMzUuNiA4NS44LTM1LjYgMzYuOSAwIDcxLjggMTYuOCA5NC44IDQ1LjZMMjYyLjMgMTgwYzYuMSA3LjYgMTUuMyAxMiAyNSAxMmwzMy4yIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMzLjIgMGMtMjkuMiAwLTU2LjctMTMuMy03NS0zNmwtMy44LTQuNyAwIDExNS4yIDM0LjUgMjkuNmMxNy43IDE1LjIgMjkuMyAzNi4yIDMyLjYgNTkuM2wxMi42IDg4LjFjMi41IDE3LjUtOS43IDMzLjctMjcuMiAzNi4ycy0zMy43LTkuNy0zNi4yLTI3LjJsLTEyLjYtODguMWMtMS4xLTcuNy01LTE0LjctMTAuOS0xOS44TDEzMCAzNDcuNWMtMjEuMy0xOC4yLTMzLjUtNDQuOS0zMy41LTcyLjlsMC02OS4zek05Ni42IDM3MWMyLjQgMi4zIDQuOCA0LjYgNy40IDYuOGw0NiAzOS40LTIuMiA3LjZjLTQuNSAxNS43LTEyLjkgMzAtMjQuNCA0MS41TDU1LjEgNTM0LjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDY4LjMtNjguM2MzLjgtMy44IDYuNi04LjYgOC4xLTEzLjhMOTYuNiAzNzF6TTUwNS41IDM0NWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS0xMDIuMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEwMi4xIDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNzIgNzJ6Il19LE9EdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnbGFzc2VzIixpY29uOls1NzYsNTEyLFtdLCJmNTMwIiwiTTE0My4zIDk2Yy0xNCAwLTI2LjUgOS4yLTMwLjYgMjIuNkw3MC40IDI1NiAyMjQgMjU2YzE3LjcgMCAzMiAxNC4zIDMyIDMybDY0IDBjMC0xNy43IDE0LjMtMzIgMzItMzJsMTUzLjYgMC00Mi4zLTEzNy40QzQ1OS4yIDEwNS4yIDQ0Ni44IDk2IDQzMi43IDk2TDQwMCA5NmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMi43IDBjNDIuMSAwIDc5LjQgMjcuNSA5MS44IDY3LjhsNDUuNCAxNDcuNWM0LjEgMTMuMiA2LjEgMjYuOSA2LjEgNDAuN2wwIDk2YzAgNTMtNDMgOTYtOTYgOTZsLTY0IDBjLTUzIDAtOTYtNDMtOTYtOTZsMC0zMi02NCAwIDAgMzJjMCA1My00MyA5Ni05NiA5NmwtNjQgMGMtNTMgMC05Ni00My05Ni05NmwwLTk2YzAtMTMuOCAyLjEtMjcuNSA2LjEtNDAuN0w1MS41IDk5LjhDNjMuOSA1OS41IDEwMS4xIDMyIDE0My4zIDMyTDE3NiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIuNyAwek02NCAzMjBsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjQtMTI4IDB6bTQxNiA5NmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0LTEyOCAwIDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMHoiXX0sUWZlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1wYXVzZSIsaWNvbjpbNTEyLDUxMixbNjIwOTIsInBhdXNlLWNpcmNsZSJdLCJmMjhiIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMjQgMTkybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6bTEyOCAwbDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6Il19LEZEdD1RZmUsQkR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1lbW9yeSIsaWNvbjpbNTEyLDUxMixbXSwiZjUzOCIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOGwwIDcuNEMwIDE0Mi4yIDQuNCAxNDggMTAuMSAxNTEuNyAyMy4zIDE2MC4zIDMyIDE3NS4xIDMyIDE5MnMtOC43IDMxLjctMjEuOSA0MC4zQzQuNCAyMzYgMCAyNDEuOCAwIDI0OC42bDAgNTUuNCA1MTIgMCAwLTU1LjRjMC02LjgtNC40LTEyLjYtMTAuMS0xNi4zLTEzLjItOC42LTIxLjktMjMuNC0yMS45LTQwLjNzOC43LTMxLjcgMjEuOS00MC4zYzUuNy0zLjcgMTAuMS05LjUgMTAuMS0xNi4zbDAtNy40YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0ek01MTIgNDE2bDAtNjQtNTEyIDAgMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwIDAtMjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDI0IDg4IDAgMC0yNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMjQgODggMCAwLTI0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAyNCA2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyek0xNjAgMTYwbDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyem0xMjggMGwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptMTI4IDBsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6Il19LEhEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnaWZ0IixpY29uOls1MTIsNTEyLFsxMjc4NzNdLCJmMDZiIiwiTTMyMS41IDY4LjhDMzI5LjEgNTUuOSAzNDIuOSA0OCAzNTcuOCA0OGwyLjIgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MGwtNzMuMyAwIDM0LjgtNTkuMnptLTEzMSAwbDM0LjggNTkuMi03My4zIDBjLTIyLjEgMC00MC0xNy45LTQwLTQwczE3LjktNDAgNDAtNDBsMi4yIDBjMTQuOSAwIDI4LjggNy45IDM2LjMgMjAuOHptODkuNi0yNC4zbC0yNC4xIDQxLTI0LjEtNDFDMjE1LjcgMTYuOSAxODYuMSAwIDE1NC4yIDBMMTUyIDBjLTQ4LjYgMC04OCAzOS40LTg4IDg4IDAgMTQuNCAzLjUgMjggOS42IDQwTDMyIDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC00MS42IDBjNi4xLTEyIDkuNi0yNS42IDkuNi00MCAwLTQ4LjYtMzkuNC04OC04OC04OGwtMi4yIDBjLTMxLjkgMC02MS41IDE2LjktNzcuNyA0NC40ek00ODAgMjcybC0yMDAgMCAwIDIwOCAxMzYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE0NHptLTI0OCAwbC0yMDAgMCAwIDE0NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxMzYgMCAwLTIwOHoiXX0scUR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWJpbGwtd2hlYXQiLGljb246WzUxMiw1MTIsW10sImU1MmEiLCJNMTc2LTE2YzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNi00NC4yIDAtODAtMzUuOC04MC04MCAwLTguOCA3LjItMTYgMTYtMTZ6TTU2IDBsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw1NiA0OEM0Mi43IDQ4IDMyIDM3LjMgMzIgMjRTNDIuNyAwIDU2IDB6TTI0IDcybDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDEyMEMxMC43IDEyMCAwIDEwOS4zIDAgOTZTMTAuNyA3MiAyNCA3MnptOCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMjcyIDBjMC04LjggNy4yLTE2IDE2LTE2IDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNi00NC4yIDAtODAtMzUuOC04MC04MHpNNDAwLTE2YzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNi00NC4yIDAtODAtMzUuOC04MC04MCAwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE0NGMwIDQ0LjItMzUuOCA4MC04MCA4MC04LjggMC0xNi03LjItMTYtMTYgMC00NC4yIDM1LjgtODAgODAtODAgOC44IDAgMTYgNy4yIDE2IDE2ek0zNTIgMTEyYzguOCAwIDE2IDcuMiAxNiAxNiAwIDQ0LjItMzUuOCA4MC04MCA4MC04LjggMC0xNi03LjItMTYtMTYgMC00NC4yIDM1LjgtODAgODAtODB6bS05NiAxNmMwIDQ0LjItMzUuOCA4MC04MCA4MC04LjggMC0xNi03LjItMTYtMTYgMC00NC4yIDM1LjgtODAgODAtODAgOC44IDAgMTYgNy4yIDE2IDE2ek0wIDMwNGMwLTI2LjUgMjEuNS00OCA0OC00OGw0MTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2MGMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMzA0ek00OCA0MTZsMCA0OCA0OCAwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4ek05NiAzMDRsLTQ4IDAgMCA0OGMyNi41IDAgNDgtMjEuNSA0OC00OHpNNDY0IDQxNmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsNDggMCAwLTQ4ek00MTYgMzA0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDAtNDgtNDggMHptLTk2IDgwYTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHoiXX0sVkR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImR1bmdlb24iLGljb246WzUxMiw1MTIsW10sImY2ZDkiLCJNMzQ3LjUgMTQ0LjhjNi41IDUuNCAxMi41IDExLjMgMTggMTcuNyA4LjcgMTAuMiAyMy43IDE0IDM1LjEgNi45bDU0LjEtMzMuOGMxMS4yLTcgMTQuNy0yMS43IDYuOS0zMi4yLTE1LjMtMjAuNS0zMy41LTM4LjYtNTQuMS01My44LTEwLjQtNy42LTI0LjctNC4zLTMxLjggNi40bC0zNS4xIDUyLjZjLTcuOCAxMS42LTMuOCAyNy4zIDcgMzYuMnpNMzI3LjggNDEuMWM4LjYtMTIuOSAyLjktMzAuNS0xMi4yLTM0LjEtMTkuMS00LjYtMzkuMS03LTU5LjYtN3MtNDAuNCAyLjQtNTkuNiA3Yy0xNS4xIDMuNi0yMC44IDIxLjItMTIuMiAzNC4xbDQwIDYwYzUuMiA3LjggMTQuNSAxMS43IDIzLjkgMTEuMiA1LjItLjMgMTAuNi0uMyAxNS44IDAgOS40IC41IDE4LjctMy40IDIzLjktMTEuMmw0MC02MHpNNTAuNSAxMDMuM2MtNy45IDEwLjUtNC4zIDI1LjMgNi45IDMyLjJsNTQuMSAzMy44YzExLjQgNy4xIDI2LjMgMy4zIDM1LjEtNi45IDUuNS02LjQgMTEuNS0xMi4zIDE4LTE3LjcgMTAuOC04LjkgMTQuOC0yNC42IDctMzYuMkwxMzYuNCA1NS45Yy03LjEtMTAuNy0yMS41LTE0LTMxLjgtNi40LTIwLjYgMTUuMS0zOC44IDMzLjMtNTQuMSA1My44em02MiAxNDEuMWMuOC05LjktMy4zLTE5LjktMTEuOC0yNS4xTDQxIDE4MmMtMTIuOS04LTI5LjktMi4zLTMzLjYgMTIuNS00LjkgMTkuNy03LjUgNDAuMy03LjUgNjEuNmwwIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0yNGMwLTMuOSAuMi03LjggLjUtMTEuNnptMjg3LjEgMGMuMyAzLjggLjUgNy43IC41IDExLjZsMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjRjMC0yMS4yLTIuNi00MS44LTcuNS02MS42LTMuNi0xNC43LTIwLjctMjAuNS0zMy42LTEyLjVsLTU5LjcgMzcuM2MtOC40IDUuMy0xMi42IDE1LjItMTEuOCAyNS4xek04OCAzNTJsLTY0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0TDAgNDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTQwMCAwbC02NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0ek0yODAgMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMzA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMDR6bS04MCAzMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjcyem0xNjAgMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjcyeiJdfSxKZmU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VpdGNhc2UtbWVkaWNhbCIsaWNvbjpbNTEyLDUxMixbIm1lZGtpdCJdLCJmMGZhIiwiTTE5MiA1NmwwIDQwIDEyOCAwIDAtNDBjMC00LjQtMy42LTgtOC04TDIwMCA0OGMtNC40IDAtOCAzLjYtOCA4em0tNDggOGwwLThjMC0zMC45IDI1LjEtNTYgNTYtNTZMMzEyIDBjMzAuOSAwIDU2IDI1LjEgNTYgNTZsMCA0MjQtMjI0IDAgMC00MTZ6TTk2IDE3NmwwIDMwNC0zMiAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE2MGMwLTM1LjMgMjguNy02NCA2NC02NGwzMiAwIDAgODB6TTQxNiA0ODBsMC0zODQgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMzIgMHpNMjQ0IDIwOGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzYtMzYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjRjMCA4LjggNy4yIDE2IDE2IDE2bDM2IDAgMCAzNmMwIDguOCA3LjIgMTYgMTYgMTZsMjQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zNiAzNiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0YzAtOC44LTcuMi0xNi0xNi0xNmwtMzYgMCAwLTM2YzAtOC44LTcuMi0xNi0xNi0xNmwtMjQgMHoiXX0sakR0PUpmZSxVRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWNhbmUiLGljb246WzQ0OCw1MTIsW10sImU1M2MiLCJNMjMyLTMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0xNDQgMjM2LjdMOTcuNyAyOTkuMWMtMTAuNSAxNC4yLTMwLjYgMTcuMi00NC44IDYuNnMtMTcuMi0zMC42LTYuNi00NC44bDcwLjUtOTVDMTQyIDEzMiAxODEuNyAxMTIgMjI0IDExMnM4MiAyMCAxMDcuMiA1My45bDcwLjUgOTVjMTAuNSAxNC4yIDcuNiAzNC4yLTYuNiA0NC44cy0zNC4yIDcuNi00NC44LTYuNkwzMDQgMjM2LjcgMzA0IDUxMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE2MGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI3NS4zek0zOTIgMzg0Yy00LjQgMC04IDMuNi04IDggMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0zMC45IDI1LjEtNTYgNTYtNTZzNTYgMjUuMSA1NiA1NmwwIDEyOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTEyOGMwLTQuNC0zLjYtOC04LTh6Il19LEZiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdhdWdlIixpY29uOls1MTIsNTEyLFsiZGFzaGJvYXJkIiwiZ2F1Z2UtbWVkIiwidGFjaG9tZXRlci1hbHQtYXZlcmFnZSJdLCJmNjI0IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTMyMCA5NmMwLTI2LjktMTYuNS00OS45LTQwLTU5LjNMMjgwIDEyMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE3Mi43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHpNMTQ0IDE3NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bS0xNiA4MGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0yODggMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek00MDAgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LFdEdD1GYixHRHQ9RmIsWUR0PUZiLEtEdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlbnZlbG9wZS1vcGVuLXRleHQiLGljb246WzU3Niw1MTIsW10sImY2NTgiLCJNMjg4IDMzLjlMOTYuNCAxNzUuOCAyNTQuNSAyOTNjNS4zIDMuOSAxMS4yIDYuOSAxNy41IDguN0wyNzIgNDY0YzAgNS41IC41IDEwLjggMS4zIDE2TDk2IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0yMzkuOWMwLTIwLjMgOS42LTM5LjQgMjUuOS01MS40TDI1NC41LTIxYzkuNy03LjIgMjEuNC0xMSAzMy41LTExczIzLjggMy45IDMzLjUgMTFMNTE4LjEgMTI0LjdjNy4yIDUuMyAxMy4xIDEyIDE3LjQgMTkuNi0yLjUtLjItNS0uMy03LjUtLjNMNDM2LjYgMTQ0IDI4OCAzMy45ek0zMjAgMjQwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDE2MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMjI0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNjAgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0yMjR6bTgwIDE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDk2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTk2IDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNTYgMHoiXX0sWkR0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvb2xib3giLGljb246WzUxMiw1MTIsWzEyOTUyMF0sImY1NTIiLCJNMTc2IDU2bDAgNDAgMTYwIDAgMC00MGMwLTQuNC0zLjYtOC04LThMMTg0IDQ4Yy00LjQgMC04IDMuNi04IDh6TTEyOCA5NmwwLTQwYzAtMzAuOSAyNS4xLTU2IDU2LTU2TDMyOCAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2bDAgNDAgMjguMSAwYzEyLjcgMCAyNC45IDUuMSAzMy45IDE0LjFsNTEuOSA1MS45YzkgOSAxNC4xIDIxLjIgMTQuMSAzMy45bDAgNzYuMS0xMzYgMCAwLTE2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTYtMTQ0IDAgMC0xNmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDE2LTEzNiAwIDAtNzYuMWMwLTEyLjcgNS4xLTI0LjkgMTQuMS0zMy45bDUxLjktNTEuOWM5LTkgMjEuMi0xNC4xIDMzLjktMTQuMUwxMjggOTZ6TTAgNDE2bDAtOTYgMTM2IDAgMCAxNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYgMTQ0IDAgMCAxNmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYgMTM2IDAgMCA5NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0eiJdfSxYRHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicG93ZXItb2ZmIixpY29uOls1MTIsNTEyLFs5MjExXSwiZjAxMSIsIk0yODggMGMwLTE3LjctMTQuMy0zMi0zMi0zMlMyMjQtMTcuNyAyMjQgMGwwIDI1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyTDI4OCAwek0xNDYuMyA5OC40YzE0LjUtMTAuMSAxOC0zMC4xIDcuOS00NC42cy0zMC4xLTE4LTQ0LjYtNy45QzQzLjQgOTIuMSAwIDE2OSAwIDI1NiAwIDM5Ny40IDExNC42IDUxMiAyNTYgNTEyUzUxMiAzOTcuNCA1MTIgMjU2YzAtODctNDMuNC0xNjMuOS0xMDkuNy0yMTAuMS0xNC41LTEwLjEtMzQuNC02LjYtNDQuNiA3LjlzLTYuNiAzNC40IDcuOSA0NC42YzQ5LjggMzQuOCA4Mi4zIDkyLjQgODIuMyAxNTcuNiAwIDEwNi04NiAxOTItMTkyIDE5MlM2NCAzNjIgNjQgMjU2YzAtNjUuMiAzMi41LTEyMi45IDgyLjMtMTU3LjZ6Il19LEVlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaWduYWwiLGljb246WzUxMiw1MTIsWzEyODI0Niwic2lnbmFsLTUiLCJzaWduYWwtcGVyZmVjdCJdLCJmMDEyIiwiTTQ4OCA1NmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwMGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDAwek0zNjAgMTI4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDMwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzA0YzAtMTMuMy0xMC43LTI0LTI0LTI0ek0yODAgMjQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yMDh6TTE1MiAzMjBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTQ4IDM4NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LFFEdD1FZWUsSkR0PUVlZSxlQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXNwaW4iLGljb246WzUxMiw1MTIsW10sImU0YmIiLCJNNDgxLjcgMjQwLjFjLTE3LjYtMS4yLTMyLjkgMTItMzQuMiAyOS43LTMuMyA0Ny0yMy42IDg5LjQtNTQuOCAxMjFMMzYxIDM1OWMtNi45LTYuOS0xNy4yLTguOS0yNi4yLTUuMlMzMjAgMzY2LjMgMzIwIDM3NmwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxMTIgMGM5LjcgMCAxOC41LTUuOCAyMi4yLTE0LjhzMS43LTE5LjMtNS4yLTI2LjJsLTM1LTM1YzQxLjctNDIuMiA2OC45LTk4LjggNzMuNC0xNjEuOCAxLjItMTcuNi0xMi0zMi45LTI5LjctMzQuMnpNMzkgNDFMNzQgNzZjLTQxLjcgNDIuMi02OC45IDk4LjgtNzMuNCAxNjEuOC0xLjIgMTcuNiAxMiAzMi45IDI5LjcgMzQuMnMzMi45LTEyIDM0LjItMjkuN2MzLjMtNDcgMjMuNi04OS40IDU0LjgtMTIxTDE1MSAxNTNjNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMlMxOTIgMTQ1LjcgMTkyIDEzNmwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNEw1NiAwQzQ2LjMgMCAzNy41IDUuOCAzMy44IDE0LjhTMzIuMiAzNC4xIDM5IDQxem0yMDEtMTAuN2MtMS4yIDE3LjYgMTIgMzIuOSAyOS43IDM0LjIgNDcgMy4zIDg5LjQgMjMuNiAxMjEgNTQuOEwzNTkgMTUxYy02LjkgNi45LTguOSAxNy4yLTUuMiAyNi4yUzM2Ni4zIDE5MiAzNzYgMTkybDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMTEyYzAtOS43LTUuOC0xOC41LTE0LjgtMjIuMlM0NzcuOSAzMi4yIDQ3MSAzOUw0MzYgNzRjLTQyLjItNDEuNy05OC44LTY4LjktMTYxLjgtNzMuNC0xNy42LTEuMi0zMi45IDEyLTM0LjIgMjkuN3pNNDEgNDczbDM1LTM1YzQyLjIgNDEuNyA5OC44IDY4LjkgMTYxLjggNzMuNCAxNy42IDEuMiAzMi45LTEyIDM0LjItMjkuN3MtMTItMzIuOS0yOS43LTM0LjJjLTQ3LTMuMy04OS40LTIzLjYtMTIxLTU0LjhMMTUzIDM2MWM2LjktNi45IDguOS0xNy4yIDUuMi0yNi4yUzE0NS43IDMyMCAxMzYgMzIwTDI0IDMyMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRMMCA0NTZjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yUzM0LjEgNDc5LjggNDEgNDczeiJdfSx0QXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiam9pbnQiLGljb246WzU3Niw1MTIsW10sImY1OTUiLCJNMzYwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxOWMwIDQwLjMgMTYgNzkgNDQuNSAxMDcuNWwyMSAyMUM0NjkgMTkxIDQ4MCAyMTcuNCA0ODAgMjQ1bDAgMTljMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xOWMwLTE0LjktNS45LTI5LjEtMTYuNC0zOS42bC0yMS0yMUMzNTcuMSAxNDYuOSAzMzYgOTYgMzM2IDQzbDAtMTljMC0xMy4zIDEwLjctMjQgMjQtMjR6TTU1MiAyODhjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMTljMC00MC4zLTE2LTc5LTQ0LjUtMTA3LjVsLTIxLTIxQzQ0MyA5NyA0MzIgNzAuNiA0MzIgNDNsMC0xOWMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTljMCAxNC45IDUuOSAyOS4xIDE2LjQgMzkuNmwyMSAyMUM1NTQuOSAxNDEuMSA1NzYgMTkyIDU3NiAyNDVsMCAxOWMwIDEzLjMtMTAuNyAyNC0yNCAyNHpNMjkyLjcgMzIwYzUuNiAwIDEwLjcgMi45IDEzLjYgNy42TDM5NC42IDQ3MWMxLjMgMi4xIDAgNC45LTIuNCA1LjItMTYuMSAyLjUtMzIuNCAzLjctNDguNyAzLjdsLTM4LjEgMGMtNS42IDAtMTAuNy0yLjktMTMuNi03LjZsLTc5LTEyOC40Yy02LTkuOCAwLTIyLjYgMTEuNS0yMy4zIDYuNy0uNCAxMy40LS42IDIwLjItLjZsNDguMyAwek00NTkuMyA0NjUuOWMtNi40IDEtMTIuNy0xLjktMTYuMS03LjRMMzc0LjEgMzQ2LjFjLTYuNy0xMC45IDEuNS0yNC43IDE0LjItMjIuOSAxLjMgLjIgMi42IC40IDMuOCAuNmwxMzYuNCAyMWMyNy4zIDQuMiA0Ny40IDI3LjcgNDcuNCA1NS4zcy0yMC4xIDUxLjEtNDcuNCA1NS4zbC02OS4yIDEwLjZ6TTEzOC43IDMzNmM2LjctMS41IDEzLjYgMS40IDE3LjIgNy4ybDY4LjkgMTEyYzYuNiAxMC43LTEuMiAyNC40LTEzLjggMjMuMS0xMy0xLjQtMjUuOS0zLjUtMzguNi02LjVMMzEuMiA0MzkuMkMxMi45IDQzNSAwIDQxOC43IDAgNDAwczEyLjktMzUgMzEuMi0zOS4yTDEzOC43IDMzNnoiXX0sYUF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyYWlsbGUiLGljb246WzM4NCw1MTIsW10sImYyYTEiLCJNODAgMTQ0YTgwIDgwIDAgMSAwIDAtMTYwIDgwIDgwIDAgMSAwIDAgMTYwem0wIDE5MmE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMCAxMzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjQgMjQgMTAuNyAyNCAyNC0xMC43IDI0LTI0IDI0em0wIDU2YzQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwLTgwIDM1LjgtODAgODAgMzUuOCA4MCA4MCA4MHptMjQ4LTgwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0IDEwLjctMjQgMjQtMjQgMjQgMTAuNyAyNCAyNHptNTYgMGMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MCAzNS44IDgwIDgwIDgwIDgwLTM1LjggODAtODB6TTMwNCAyMzJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0wIDEwNGE4MCA4MCAwIDEgMCAwLTE2MCA4MCA4MCAwIDEgMCAwIDE2MHptMC0xOTJhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6Il19LGU1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXNrZXQtc2hvcHBpbmciLGljb246WzU3Niw1MTIsWyJzaG9wcGluZy1iYXNrZXQiXSwiZjI5MSIsIk0yODggMGM2LjYgMCAxMi45IDIuNyAxNy40IDcuNWwxNDQgMTUyIC41IC41IDc4LjEgMGMxNy43IDAgMzIgMTQuMyAzMiAzMiAwIDE0LjUtOS42IDI2LjctMjIuOCAzMC43TDQ5MS4xIDQyOS45Yy02LjUgMjkuMy0zMi41IDUwLjEtNjIuNSA1MC4xbC0yODEuMyAwYy0zMCAwLTU2LTIwLjgtNjIuNS01MC4xbC00Ni0yMDcuMmMtMTMuMi0zLjktMjIuOC0xNi4yLTIyLjgtMzAuNyAwLTE3LjcgMTQuMy0zMiAzMi0zMmw3OC4xIDAgLjUtLjUgMTQ0LTE1MkMyNzUuMSAyLjcgMjgxLjQgMCAyODggMHptMCA1OC45TDE5Mi4yIDE2MCAzODMuOCAxNjAgMjg4IDU4Ljl6TTIwOCAyNjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTExMnptODAtMjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTEyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTEyOCAyNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTEyeiJdfSxyQXQ9ZTVlLHNBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmlkZ2UiLGljb246WzUxMiw1MTIsW10sImU0YzgiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDggMCAwIDY0LTQwIDAgMCAxMTJjMzcuNiA5LjQgNjQgNDMuMiA2NCA4MmwwIDk0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk0YzAtMzguOCAyNi40LTcyLjYgNjQtODJsMC0xMTItNDAgMCAwLTY0IDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnpNNDI0IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTI5NiA5NmwwIDY0LTgwIDAgMC02NCA4MCAwek04OCA5Nmw4MCAwIDAgNjQtODAgMCAwLTY0eiJdfSxpQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUtYXJyaXZhbCIsaWNvbjpbNTc2LDUxMixbMTI4NzQ4XSwiZjVhZiIsIk0zODYuNiAxOTMuMUwyNjUuOSAzLjdjLTQuOC03LjYtMTIuNi0xMi44LTIxLjQtMTQuM2wtNDMuMS03LjZjLTEwLjgtMS45LTIwLjIgNy4zLTE4LjYgMTguMWwyNCAxNjEuNi0xMDUtMTguNS0zMy44LTYxLjhDNjQuNSA3NC43IDU4LjIgNzAuMiA1MS4xIDY5TDM0IDY2Yy05LjgtMS43LTE4LjggNS45LTE4LjggMTUuOGwuNiAxMDYuM2MuMiAzMC45IDIyLjQgNTcuMyA1Mi45IDYyLjdsMTMuNSAyLjQgMCAwIDQxNy42IDczLjZjMzAuNSA1LjQgNTkuNS0xNSA2NC45LTQ1LjRzLTE1LTU5LjUtNDUuNC02NC45TDM4Ni42IDE5My4xek0yMjQgMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMTMxLjItMTUuM2EzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDQ4eiJdfSxvQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FzaC1yZWdpc3RlciIsaWNvbjpbNTEyLDUxMixbXSwiZjc4OCIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0czI4LjcgNjQgNjQgNjRsNDggMCAwIDMyLTU3IDBjLTMxLjYgMC01OC41IDIzLjEtNjMuMyA1NC40TDEuMSAzNjQuMUMuNCAzNjguOCAwIDM3My42IDAgMzc4LjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC02OS42YzAtNC44LS40LTkuNi0xLjEtMTQuNEw0ODguMiAyMTQuNEM0ODMuNSAxODMuMSA0NTYuNiAxNjAgNDI1IDE2MGwtMjE3IDAgMC0zMiA0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0UzI5MS4zIDAgMjU2IDBMOTYgMHptMCA0OGwxNjAgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNkw5NiA4MGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNnpNNjQgNDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDMzNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDg4IDQ0OGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTQ4LTE2MGEyNCAyNCAwIDEgMSAwLTQ4IDI0IDI0IDAgMSAxIDAgNDh6bTEyMC0yNGEyNCAyNCAwIDEgMSAtNDggMCAyNCAyNCAwIDEgMSA0OCAwek0xNjAgMzQ0YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHpNMzI4IDI0MGEyNCAyNCAwIDEgMSAtNDggMCAyNCAyNCAwIDEgMSA0OCAwek0yNTYgMzQ0YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHpNNDI0IDI0MGEyNCAyNCAwIDEgMSAtNDggMCAyNCAyNCAwIDEgMSA0OCAwek0zNTIgMzQ0YTI0IDI0IDAgMSAxIDAtNDggMjQgMjQgMCAxIDEgMCA0OHoiXX0sbkF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJpbmciLGljb246WzUxMiw1MTIsW10sImY3MGIiLCJNNjQgMjA4YzAgNy44IDQuNCAxOC43IDE3LjEgMzAuMyA0NS40LTI0LjIgMTA3LjctMzguMyAxNzQuOS0zOC4zczEyOS41IDE0LjEgMTc0LjkgMzguM2MxMi44LTExLjYgMTcuMS0yMi41IDE3LjEtMzAuMyAwLTEyLjMtMTAuOC0zMi00Ny45LTUwLjYtMzUuMi0xNy42LTg2LjEtMjkuNC0xNDQuMS0yOS40cy0xMDguOSAxMS44LTE0NC4xIDI5LjRDNzQuOCAxNzYgNjQgMTk1LjcgNjQgMjA4em0xOTIgNDBjLTQ3IDAtODkuMyA3LjYtMTIyLjkgMTkuNyAzMy4yIDEyLjQgNzUuNyAyMC4zIDEyMi45IDIwLjNzODkuNy03LjggMTIyLjktMjAuM0MzNDUuMyAyNTUuNiAzMDMgMjQ4IDI1NiAyNDh6TTAgMjA4QzAgMTU4LjQgMzkuNCAxMjIuMiA4My4zIDEwMC4yIDEyOS4xIDc3LjMgMTkwLjMgNjQgMjU2IDY0czEyNi45IDEzLjMgMTcyLjcgMzYuMmM0My45IDIyIDgzLjMgNTguMiA4My4zIDEwNy44bDAgOTZjMCA0OS42LTM5LjQgODUuOC04My4zIDEwNy44LTQ1LjkgMjIuOS0xMDcgMzYuMi0xNzIuNyAzNi4yUzEyOS4xIDQzNC43IDgzLjMgNDExLjhDMzkuNCAzODkuOCAwIDM1My42IDAgMzA0bDAtOTZ6Il19LGxBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcXVhcml1cyIsaWNvbjpbNTc2LDUxMixbXSwiZTg0NSIsIk00MDEuNyAyOTEuNGM5LTQuNSAxOS42LTQuNSAyOC42IDBsMTI4IDY0YzE1LjggNy45IDIyLjIgMjcuMSAxNC4zIDQyLjlzLTI3LjEgMjIuMi00Mi45IDE0LjNMNDE2IDM1NS44IDMwMi4zIDQxMi42Yy05IDQuNS0xOS42IDQuNS0yOC42IDBMMTYwIDM1NS44IDQ2LjMgNDEyLjZjLTE1LjggNy45LTM1IDEuNS00Mi45LTE0LjNzLTEuNS0zNSAxNC4zLTQyLjlsMTI4LTY0YzktNC41IDE5LjYtNC41IDI4LjYgMEwyODggMzQ4LjIgNDAxLjcgMjkxLjR6bTMuNC0xOTMuNWM4LjItMyAxNy4zLTIuNSAyNS4yIDEuNWwxMjggNjRjMTUuOCA3LjkgMjIuMiAyNy4xIDE0LjMgNDIuOXMtMjcuMSAyMi4yLTQyLjkgMTQuM0w0MTYgMTYzLjggMzAyLjMgMjIwLjZjLTkgNC41LTE5LjYgNC41LTI4LjYgMEwxNjAgMTYzLjggNDYuMyAyMjAuNmMtMTUuOCA3LjktMzUgMS41LTQyLjktMTQuM3MtMS41LTM1IDE0LjMtNDIuOWwxMjgtNjQgMy40LTEuNWM4LjItMyAxNy4zLTIuNSAyNS4yIDEuNWwxMTMuNyA1Ni44IDExMy43LTU2LjggMy40LTEuNXoiXX0sdDVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoYXJlLW5vZGVzIixpY29uOls1MTIsNTEyLFsic2hhcmUtYWx0Il0sImYxZTAiLCJNMzg0IDE5MmM1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05Ni05NiA0My05NiA5NmMwIDUuNCAuNSAxMC44IDEuMyAxNkwxNTkuNiAxODQuMWMtMTYuOS0xNS0zOS4yLTI0LjEtNjMuNi0yNC4xLTUzIDAtOTYgNDMtOTYgOTZzNDMgOTYgOTYgOTZjMjQuNCAwIDQ2LjYtOS4xIDYzLjYtMjQuMUwyODkuMyA0MDBjLS45IDUuMi0xLjMgMTAuNS0xLjMgMTYgMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05Ni00My05Ni05Ni05NmMtMjQuNCAwLTQ2LjYgOS4xLTYzLjYgMjQuMUwxOTAuNyAyNzJjLjktNS4yIDEuMy0xMC41IDEuMy0xNnMtLjUtMTAuOC0xLjMtMTZsMTI5LjctNzIuMWMxNi45IDE1IDM5LjIgMjQuMSA2My42IDI0LjF6Il19LGNBdD10NWUsZEF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU1M2YiLCJNMjgwIDI0YTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHptMjQgMjEyLjdMMzQxIDI4Ni42YzEyLjgtMTcuNSAyOC41LTMyLjcgNDYuMy00NWwtNTYuMi03NS43QzMwNiAxMzIgMjY2LjMgMTEyIDIyNCAxMTJzLTgyIDIwLTEwNy4yIDUzLjlsLTcwLjUgOTVjLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNkwxNDQgMjM2LjcgMTQ0IDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI3NS4zek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sdUF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJpbm9jdWxhcnMiLGljb246WzUxMiw1MTIsW10sImYxZTUiLCJNMTI4IDMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMi05NiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTY0IDk2bDAgMzIwYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC01OS4xYzAtMzQuNiA5LjQtNjguNiAyNy4yLTk4LjMgMTMuNy0yMi44IDIyLjUtNDguMiAyNS44LTc0LjZMNjAuNSAxNTZjMi0xNiAxNS42LTI4IDMxLjgtMjhsOTkuOCAwem0yMjcuOCAwYzE2LjEgMCAyOS44IDEyIDMxLjggMjhMNDU5IDIxNmMzLjMgMjYuNCAxMi4xIDUxLjggMjUuOCA3NC42IDE3LjggMjkuNyAyNy4yIDYzLjcgMjcuMiA5OC4zbDAgNTkuMWMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzIwIDk5LjggMHpNMzIwIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMi05NiAwIDAtMzJ6bS0zMiA2NGwwIDE2MC02NCAwIDAtMTYwIDY0IDB6Il19LHBBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJraXAtc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTFjNCIsIk0zNDAuOCA4OC4zYzEzLjQtMTEuNSAxNS0zMS43IDMuNS00NS4xcy0zMS43LTE1LTQ1LjEtMy41TDEyOCAxODYuNCAxMjggNjRjMC0xNy43LTE0LjMtMzItMzItMzJTNjQgNDYuMyA2NCA2NGwwIDE2OC0zMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMCAxNjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyMi40IDE3MS4yIDE0Ni43YzEzLjQgMTEuNSAzMy42IDkuOSA0NS4xLTMuNXM5LjktMzMuNi0zLjUtNDUuMUwxNzMuMiAyODAgMzUyIDI4MGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwxNzMuMiAyMzIgMzQwLjggODguM3oiXX0sYTVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhcmQtZHJpdmUiLGljb246WzQ0OCw1MTIsWzEyODQzNiwiaGRkIl0sImYwYTAiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDI2MC4xQzE4LjEgMjQ3LjQgNDAuMiAyNDAgNjQgMjQwbDMyMCAwYzIzLjggMCA0NS45IDcuNCA2NCAyMC4xTDQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNNDQ4IDM1MmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAyODhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC02NHpNMjI0IDM4NGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xMjgtMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxmQXQ9YTVlLGhBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyYW5raW5nLXN0YXIiLGljb246WzU3Niw1MTIsW10sImU1NjEiLCJNMzIxLjggNTQuMUwyOTguMiA2LjNjLTMuOS04LjMtMTYuMS04LjYtMjAuNCAwbC0yMy42IDQ3LjgtNTIuMyA3LjVjLTkuMyAxLjQtMTMuMyAxMi45LTYuNCAxOS44bDM4IDM3LTkgNTIuMWMtMS40IDkuMyA4LjIgMTYuNSAxNi44IDEyLjJsNDYuOS0yNC44IDQ2LjYgMjQuNGM4LjYgNC4zIDE4LjMtMi45IDE2LjgtMTIuMmwtOS01Mi4xIDM4LTM2LjZjNi44LTYuOCAyLjktMTguMy02LjQtMTkuOGwtNTIuMy03LjV6TTI1NiAyNTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTYwYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xNjBjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDB6TTQ4IDMyMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDB6TTQxNiA0MzJsMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw2NCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMzJjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4eiJdfSxtQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci10aWUiLGljb246WzQ0OCw1MTIsW10sImY1MDgiLCJNMjI0IDI0OGExMjAgMTIwIDAgMSAxIDAtMjQwIDEyMCAxMjAgMCAxIDEgMCAyNDB6bS0zMC41IDU2bDYxIDBjOS43IDAgMTcuNSA3LjggMTcuNSAxNy41IDAgNC4yLTEuNSA4LjItNC4yIDExLjRsLTI3LjQgMzIgMzEgMTE1LjEgLjYgMCAzNC42LTEzOC41YzIuMi04LjcgMTEuMS0xNCAxOS41LTEwLjggNjEuOSAyMy42IDEwNS45IDgzLjYgMTA1LjkgMTUzLjggMCAxNS4xLTEyLjMgMjcuNC0yNy40IDI3LjRMNDMuNCA1MTJjLTE1LjEgMC0yNy40LTEyLjMtMjcuNC0yNy40IDAtNzAuMiA0NC0xMzAuMiAxMDUuOS0xNTMuOCA4LjQtMy4yIDE3LjMgMi4xIDE5LjUgMTAuOGwzNC42IDEzOC41IC42IDAgMzEtMTE1LjEtMjcuNC0zMmMtMi43LTMuMi00LjItNy4yLTQuMi0xMS40IDAtOS43IDcuOC0xNy41IDE3LjUtMTcuNXoiXX0scjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVsbGlwc2lzIixpY29uOls0NDgsNTEyLFsiZWxsaXBzaXMtaCJdLCJmMTQxIiwiTTAgMjU2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHptMTY4IDBhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwem0yMjQtNTZhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6Il19LGdBdD1yNWUsYkF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0b3JlLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJlMDcxIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU4LjYtNTguNmMxLjEtNCAxLjYtOC4yIDEuNi0xMi41bDAtMTUxLjJjLTEyLjUgNC42LTI2LjEgNy4yLTQwLjUgNy4yLTguMSAwLTE1LjktLjgtMjMuNS0yLjRsMCA2Ni40LTMwLjIgMC0xMzcuNS0xMzcuNWMyLjktMy42IDUuNS03LjQgNy42LTExLjUgMTEuNiAyMiAzNC43IDM3IDYxLjMgMzcgMjYuOCAwIDQ5LjgtMTUuMSA2MS40LTM3LjEgMTEuNCAyMi4xIDM0LjUgMzcuMSA2MC44IDM3LjEgNDUuNiAwIDc4LjQtNDMuNyA2NS42LTg3LjVMNTEzLjggNzIuM0M1MDYuOCA0OC40IDQ4NC45IDMyIDQ2MCAzMkwxMTYgMzJjLTUuNSAwLTEwLjggLjgtMTUuOSAyLjNMNDEtMjQuOXpNMTUxLjUgMjIxLjNMNDguNyAxMTguNiAzOC45IDE1Mi41Yy0xMi44IDQzLjcgMjAgODcuNSA2NS42IDg3LjUgMTguMSAwIDM0LjctNy4xIDQ3LTE4Ljd6TTQxMC4yIDQ4MGwtMTI4LTEyOC0xNTQuMiAwIDAtNjYuNGMtNy42IDEuNi0xNS41IDIuNC0yMy41IDIuNC0xNC40IDAtMjgtMi42LTQwLjUtNy4yTDY0IDQzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyOTguMiAweiJdfSxzNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyY2VudCIsaWNvbjpbNDQ4LDUxMixbNjIxMDEsNjI3ODUsInBlcmNlbnRhZ2UiXSwiMjUiLCJNMTkyIDEyOGE5NiA5NiAwIDEgMCAtMTkyIDAgOTYgOTYgMCAxIDAgMTkyIDB6TTQ0OCAzODRhOTYgOTYgMCAxIDAgLTE5MiAwIDk2IDk2IDAgMSAwIDE5MiAwek00MzguNiA4Ni42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0zODQgMzg0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDM4NC0zODR6Il19LHZBdD1zNWUsaTVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtemlwcGVyIixpY29uOlszODQsNTEyLFsiZmlsZS1hcmNoaXZlIl0sImYxYzYiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTY0IDcyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMODggNDhDNzQuNyA0OCA2NCA1OC43IDY0IDcyem0wIDk2YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0em02NCA3MmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0OGMwIDI2LjUgMjEuNSA0OCA0OCA0OHM0OC0yMS41IDQ4LTQ4bDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJ6bS0xNiA2NGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6Il19LHhBdD1pNWUseUF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpc3BsYXkiLGljb246WzUxMiw1MTIsW10sImUxNjMiLCJNNDQ4IDk2bDAgMjU2LTM4NCAwIDAtMjU2IDM4NCAwek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgMzUyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDE0NCAwLTE2IDQ4LTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTcyIDAtMTYtNDggMTQ0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6Il19LG81ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpY29ucyIsaWNvbjpbNTEyLDUxMixbImhlYXJ0LW11c2ljLWNhbWVyYS1ib2x0Il0sImY4NmQiLCJNMTc0LjkgMjcyYzEwLjcgMCAyMC43IDUuMyAyNi42IDE0LjJsMTEuOCAxNy44IDI2LjcgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDExMmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMzUyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDI2LjcgMCAxMS44LTE3LjhjNS45LTguOSAxNS45LTE0LjIgMjYuNi0xNC4ybDYxLjcgMHptMjc4LjYtMTJjNS42LTQuOSAxMy45LTUuMyAxOS45LS45czguMyAxMi40IDUuMyAxOS4zTDQ0MC4zIDM2OCA0OTYgMzY4YzYuNyAwIDEyLjYgNC4xIDE1IDEwLjRzLjYgMTMuMy00LjQgMTcuN2wtMTI4IDExMmMtNS42IDQuOS0xMy45IDUuMy0xOS45IC45cy04LjMtMTIuNC01LjMtMTkuM2wzOC41LTg5LjctNTUuOCAwYy02LjcgMC0xMi42LTQuMS0xNS0xMC40cy0uNi0xMy4zIDQuNC0xNy43bDEyOC0xMTJ6TTE0NCAzNjBhNDggNDggMCAxIDAgMCA5NiA0OCA0OCAwIDEgMCAwLTk2ek00ODMuOCAuNGM2LjUtMS4xIDEzLjEgLjQgMTguNSA0LjQgNi4xIDQuNSA5LjcgMTEuNyA5LjcgMTkuMmwwIDE1Mi0uMyA0LjljLTMuMyAyNC4yLTMwLjUgNDMuMS02My43IDQzLjEtMzUuMyAwLTY0LTIxLjUtNjQtNDhzMjguNy00OCA2NC00OGM1LjUgMCAxMC45IC42IDE2IDEuNmwwLTQ5LjMtMTEyIDMzLjYgMCAxMTAuMi0uMyA0LjljLTMuMyAyNC4yLTMwLjUgNDMuMS02My43IDQzLjEtMzUuMyAwLTY0LTIxLjUtNjQtNDhzMjguNy00OCA2NC00OGM1LjUgMCAxMC45IC42IDE2IDEuNkwzMDQgNzJjMC0xMC42IDctMjAgMTcuMS0yM2wxNjAtNDggMi43LS42ek0xODguOSAwQzIyNiAwIDI1NiAzMCAyNTYgNjcuMWwwIDYuMWMwIDU2LjEtNzUuMiAxMTIuMS0xMTAuMyAxMzUuMy0xMC44IDcuMS0yNC42IDcuMS0zNS40IDAtMzUuMS0yMy4xLTExMC4zLTc5LjItMTEwLjMtMTM1LjNsMC02LjFDMCAzMCAzMCAwIDY3LjEgMCA4OC4yIDAgMTA4IDkuOSAxMjAuNyAyNi44bDcuMyA5LjggNy4zLTkuOEMxNDggOS45IDE2Ny44IDAgMTg4LjkgMHoiXX0sd0F0PW81ZSxNQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicnVsZXItdmVydGljYWwiLGljb246WzI1Niw1MTIsW10sImY1NDgiLCJNMCAxNkMwLTEwLjUgMjEuNS0zMiA0OC0zMmwxNjAgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDI0LTEwNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDEwNCAwIDAgNDgtNzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw3MiAwIDAgNDgtMTA0IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTA0IDAgMCA0OC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDcyIDAgMCA0OC0xMDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMDQgMCAwIDI0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4TDQ4IDU0NGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAxNnoiXX0sbjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcC1sb2NhdGlvbi1kb3QiLGljb246WzY0MCw1MTIsWyJtYXAtbWFya2VkLWFsdCJdLCJmNWEwIiwiTTU3NiA0OGMwLTExLjEtNS43LTIxLjQtMTUuMi0yNy4ycy0yMS4yLTYuNC0zMS4xLTEuNEw0MTMuNSA3Ny41IDIzNC4xIDE3LjZjLTguMS0yLjctMTYuOC0yLjEtMjQuNCAxLjdsLTEyOCA2NEM3MC44IDg4LjggNjQgOTkuOSA2NCAxMTJsMCAzNTJjMCAxMS4xIDUuNyAyMS40IDE1LjIgMjcuMnMyMS4yIDYuNCAzMS4xIDEuNGwxMTYuMS01OC4xIDE3My4zIDU3LjhjLTQuMy02LjQtOC41LTEzLjEtMTIuNi0xOS45LTExLTE4LjMtMjEuOS0zOS4zLTMwLTYxLjhsLTEwMS4yLTMzLjcgMC0yODQuNSAxMjggNDIuNyAwIDk5LjNjMzEtMzUuOCA3Ny01OC40IDEyOC01OC40IDIyLjYgMCA0NC4yIDQuNCA2NCAxMi41TDU3NiA0OHpNNTEyIDIyNGMtNjYuMyAwLTEyMCA1Mi44LTEyMCAxMTcuOSAwIDY4LjkgNjQuMSAxNTAuNCA5OC42IDE4OS4zIDExLjYgMTMgMzEuMyAxMyA0Mi45IDAgMzQuNS0zOC45IDk4LjYtMTIwLjQgOTguNi0xODkuMyAwLTY1LjEtNTMuNy0xMTcuOS0xMjAtMTE3Ljl6TTQ3MiAzNDRhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHoiXX0sa0F0PW41ZSxsNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQtY3JhY2siLGljb246WzUxMiw1MTIsWzEyODE0OCwiaGVhcnQtYnJva2VuIl0sImY3YTkiLCJNMTMzLjEgMzJjMTcuMyAwIDM0LjIgMy40IDQ5LjkgOS43bDU0LjggODUuMi03NS40IDc1LjRjLTEuNSAxLjUtMi40IDMuNi0yLjMgNS44czEgNC4yIDIuNiA1LjdsMTEyIDEwNGMyLjkgMi43IDcuNCAyLjkgMTAuNSAuM3MzLjgtNyAxLjctMTAuNGwtNjAuNC05OC4xIDkwLjctNzUuNmMyLjYtMi4xIDMuNS01LjcgMi40LTguOEwyOTYuNCA2MC42QzMxOS42IDQyLjMgMzQ4LjYgMzIgMzc4LjkgMzIgNDUyLjQgMzIgNTEyIDkxLjYgNTEyIDE2NS4xbDAgMi42YzAgMTEyLjItMTM5LjkgMjQyLjUtMjEyLjkgMjk4LjItMTIuNCA5LjQtMjcuNiAxNC4xLTQzLjEgMTQuMXMtMzAuOC00LjYtNDMuMS0xNC4xQzEzOS45IDQxMC4yIDAgMjc5LjkgMCAxNjcuN2wwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMnoiXX0sU0F0PWw1ZSx6QXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY293IixpY29uOls2NDAsNTEyLFsxMjgwMDRdLCJmNmM4IiwiTTk2IDIyNGwwIDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtODguMmM5LjkgNi42IDIwLjYgMTIgMzIgMTYuMWwwIDI0LjJjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTE2LjljNS4zIC42IDEwLjYgLjkgMTYgLjlzMTAuNy0uMyAxNi0uOWwwIDE2LjljMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTI0LjJjMTEuNC00IDIyLjEtOS40IDMyLTE2LjFsMCA4OC4yYzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xNjAgMzIgMzIgMCA0OS41YzAgOS41IDIuOCAxOC43IDguMSAyNi42TDUzMCA0MjdjOC44IDEzLjEgMjMuNSAyMSAzOS4zIDIxIDIyLjUgMCA0MS45LTE1LjkgNDYuMy0zOGwyMC4zLTEwMS42YzIuNi0xMy0uMy0yNi41LTgtMzcuM2wtMy45LTUuNSAwLTgxLjZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNC40LTUyLjktNzQuMUM0OTYgODYuNSA0NTIuNCA2NCA0MDUuOSA2NEwxNDQgNjRDNzcuNyA2NCAyNCAxMTcuNyAyNCAxODRsMCA1NEM5LjQgMjQ5LjggMCAyNjcuOCAwIDI4OGwwIDE3LjZjMCA4IDYuNCAxNC40IDE0LjQgMTQuNCAzMS44IDAgNTcuNi0yNS44IDU3LjYtNTcuNkw3MiAxODRjMC0yNC4zIDEyLjEtNDUuOCAzMC41LTU4LjktNC4yIDEwLjgtNi41IDIyLjYtNi41IDM0LjlsMCA2NHpNNTYwIDMzNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAwek0xNjYuNiAxNjYuNmMtNC4yLTQuMi02LjYtMTAtNi42LTE2IDAtMTIuNSAxMC4xLTIyLjYgMjIuNi0yMi42bDE3OC43IDBjMTIuNSAwIDIyLjYgMTAuMSAyMi42IDIyLjYgMCA2LTIuNCAxMS44LTYuNiAxNmwtMjMuNCAyMy40QzMzMi4yIDIxMS44IDMwMi43IDIyNCAyNzIgMjI0cy02MC4yLTEyLjItODEuOS0zMy45bC0yMy40LTIzLjR6Il19LHJ2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJzcyIsaWNvbjpbNDQ4LDUxMixbImZlZWQiXSwiZjA5ZSIsIk0wIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyIDIyOS44IDAgNDE2IDE4Ni4yIDQxNiA0MTYgMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJDMzg0IDI1My42IDIyNi40IDk2IDMyIDk2IDE0LjMgOTYgMCA4MS43IDAgNjR6TTAgNDE2YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHpNMzIgMTYwYzE1OS4xIDAgMjg4IDEyOC45IDI4OCAyODggMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJjMC0xMjMuNy0xMDAuMy0yMjQtMjI0LTIyNC0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyeiJdfSxDQXQ9cnYsc3Y9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFnbmlmeWluZy1nbGFzcyIsaWNvbjpbNTEyLDUxMixbMTI4MjY5LCJzZWFyY2giXSwiZjAwMiIsIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2QzI5Ni4zIDQwMS4xIDI1My45IDQxNiAyMDggNDE2IDkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwIDQxNiA5My4xIDQxNiAyMDh6TTIwOCAzNTJhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4eiJdfSxfQXQ9c3YsVEF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkLW1vb24iLGljb246WzY0MCw1MTIsW10sImY2YzMiLCJNNDgwIDBjMTQuNiAwIDI4LjggMS42IDQyLjUgNC43IDcuNCAxLjcgMTMgNy44IDEzLjkgMTUuNHMtMyAxNC45LTkuOCAxOC4zYy00NS40IDIyLjYtNzYuNiA2OS41LTc2LjYgMTIzLjYgMCA3Ni4yIDYxLjggMTM4IDEzOCAxMzggMy43IDAgNy40LS4xIDExLjEtLjQgNy42LS42IDE0LjcgMy42IDE3LjggMTAuNnMxLjUgMTUuMS0zLjkgMjAuNGMtMjYgMjUtNTkuMSA0Mi43LTk1LjkgNDkuOS0xMS4xLTI1LjMtMzAuMi00Ni4zLTU0LjEtNTkuOC03LjYtNjMuNC02MS42LTExMi42LTEyNy4xLTExMi42LTExLjIgMC0yMi4xIDEuNS0zMi41IDQuMi00LjgtNC4yLTkuOS04LjItMTUuMi0xMS44LS4xLTIuOC0uMi01LjYtLjItOC40IDAtMTA2IDg2LTE5MiAxOTItMTkyem0tLjEgNDMxLjljMCA0NC4yLTM1LjggODAtODAgODBsLTI3MS45IDBjLTUzIDAtOTYtNDMtOTYtOTYgMC00Ny42IDM0LjYtODcgODAtOTQuNi0uNC01Mi44IDQyLjktOTcuMyA5Ni05Ny4zIDM0LjkgMCA2NS40IDE4LjYgODIuMiA0Ni40IDEzLTkuMSAyOC44LTE0LjQgNDUuOC0xNC40IDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgNS45LS42IDExLjctMS45IDE3LjIgMzcuNCA2LjcgNjUuOCAzOS40IDY1LjggNzguN3oiXX0sUGVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJveGVzLXN0YWNrZWQiLGljb246WzUxMiw1MTIsWzYyNjI1LCJib3hlcyIsImJveGVzLWFsdCJdLCJmNDY4IiwiTTIyNCAwbDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjQgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEyOGMwIDUuNS0uNyAxMC45LTIgMTZsLTI1MiAwYy0xLjMtNS4xLTItMTAuNS0yLTE2bDAtMTI4YzAtMzUuMyAyOC43LTY0IDY0LTY0bDMyIDB6bTk2IDUxMmMtMTEuMiAwLTIxLjgtMi45LTMxLTggOS41LTE2LjUgMTUtMzUuNiAxNS01NmwwLTEyOGMwLTIwLjQtNS41LTM5LjUtMTUtNTYgOS4yLTUuMSAxOS43LTggMzEtOGwzMiAwIDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjQgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEyOGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMTI4IDB6TTAgMzIwYzAtMzUuMyAyOC43LTY0IDY0LTY0bDMyIDAgMCA2NGMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC02NCAzMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTI4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAzMjB6Il19LExBdD1QZWUsJEF0PVBlZSxEQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29kZS1icmFuY2giLGljb246WzQ0OCw1MTIsW10sImYxMjYiLCJNODAgMTA0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptODAtMjRjMCAzMi44LTE5LjcgNjEtNDggNzMuM2wwIDcwLjcgMTc2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMi43Yy0yOC4zLTEyLjMtNDgtNDAuNS00OC03My4zIDAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAzMi44LTE5LjcgNjEtNDggNzMuM2wwIDIyLjdjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJsLTE3NiAwIDAgNzAuN2MyOC4zIDEyLjMgNDggNDAuNSA0OCA3My4zIDAgNDQuMi0zNS44IDgwLTgwIDgwUzAgNDc2LjIgMCA0MzJjMC0zMi44IDE5LjctNjEgNDgtNzMuM2wwLTIwNS4zQzE5LjcgMTQxIDAgMTEyLjggMCA4MCAwIDM1LjggMzUuOCAwIDgwIDBzODAgMzUuOCA4MCA4MHptMjMyIDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNODAgNDU2YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0sYzVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhbiIsaWNvbjpbNTEyLDUxMixbMTI4NjgzLCJjYW5jZWwiXSwiZjA1ZSIsIk0zNjcuMiA0MTIuNUw5OS41IDE0NC44Yy0yMi40IDMxLjQtMzUuNSA2OS44LTM1LjUgMTExLjIgMCAxMDYgODYgMTkyIDE5MiAxOTIgNDEuNSAwIDc5LjktMTMuMSAxMTEuMi0zNS41em00NS4zLTQ1LjNjMjIuNC0zMS40IDM1LjUtNjkuOCAzNS41LTExMS4yIDAtMTA2LTg2LTE5Mi0xOTItMTkyLTQxLjUgMC03OS45IDEzLjEtMTExLjIgMzUuNUw0MTIuNSAzNjcuMnpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHoiXX0sQUF0PWM1ZSxFQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToianVnLWRldGVyZ2VudCIsaWNvbjpbMzg0LDUxMixbXSwiZTUxOSIsIk05NiAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMjQgOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDg4IDk2Qzc0LjcgOTYgNjQgODUuMyA2NCA3MlM3NC43IDQ4IDg4IDQ4bDggMCAwLTI0ek0wIDI1NmMwLTcwLjcgNTcuMy0xMjggMTI4LTEyOGwxMjggMGM3MC43IDAgMTI4IDU3LjMgMTI4IDEyOGwwIDE5MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMjU2em0yNTYgMGwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnoiXX0sZDVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlcGx5IixpY29uOls1MTIsNTEyLFs2MTcxNCwibWFpbC1yZXBseSJdLCJmM2U1IiwiTTIwNC4yIDE4LjRjMTIgNSAxOS44IDE2LjYgMTkuOCAyOS42bDAgODAgMTEyIDBjOTcuMiAwIDE3NiA3OC44IDE3NiAxNzYgMCAxMTMuMy04MS41IDE2My45LTEwMC4yIDE3NC4xLTIuNSAxLjQtNS4zIDEuOS04LjEgMS45LTEwLjkgMC0xOS43LTguOS0xOS43LTE5LjcgMC03LjUgNC4zLTE0LjQgOS44LTE5LjUgOS40LTguOCAyMi4yLTI2LjQgMjIuMi01Ni43IDAtNTMtNDMtOTYtOTYtOTZsLTk2IDAgMCA4MGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOWwtMTYwLTE2MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsMTYwLTE2MGM5LjItOS4yIDIyLjktMTEuOSAzNC45LTYuOXoiXX0sUEF0PWQ1ZSxJQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VuLXBsYW50LXdpbHQiLGljb246WzY0MCw1MTIsW10sImU1N2EiLCJNMTYwIDBjLTUuNSAwLTEwLjYgMi44LTEzLjUgNy40bC0xLjEgMi4xLTI0LjggNTUuNC01Ni43LTIxLjdjLTUuOS0yLjItMTIuNS0uOC0xNyAzLjdTNDEgNTggNDMuMiA2My45bDIxLjcgNTYuNy01NS40IDI0LjhDMy43IDE0OCAwIDE1My43IDAgMTYwczMuNyAxMiA5LjUgMTQuNmw1NS40IDI0LjgtMjEuNyA1Ni43Yy0yLjIgNS45LS44IDEyLjUgMy43IDE3czExLjEgNS45IDE3IDMuN2w1Ni43LTIxLjcgMjQuOCA1NS40YzIuNiA1LjggOC4zIDkuNSAxNC42IDkuNXMxMi0zLjcgMTQuNi05LjVsMjQuOC01NS40IDU2LjggMjEuN2M1LjkgMi4yIDEyLjUgLjggMTctMy43czUuOS0xMS4xIDMuNy0xN2wtMjEuNy01Ni43IDU1LjQtMjQuOGM1LjgtMi42IDkuNS04LjMgOS41LTE0LjZzLTMuNy0xMi05LjUtMTQuNmwtNTUuNC0yNC44IDIxLjctNTYuNyAuNy0yLjJjMS4yLTUuMy0uNC0xMC45LTQuMy0xNC44cy05LjUtNS41LTE0LjgtNC4zbC0yLjIgLjctNTYuOCAyMS43LTI0LjgtNTUuNEMxNzIgMy43IDE2Ni4zIDAgMTYwIDB6bTAgOTZhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6bTMyIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTM3NiAxNmwwIDUzLjRjLTE0LjggNy43LTI0IDIzLjEtMjQgNDQuNiAwIDE2LjggMTYgNDQgMzcuNCA2Ny4yIDUuOCA2LjIgMTUuNSA2LjIgMjEuMiAwIDIxLjQtMjMuMyAzNy40LTUwLjYgMzcuNC02Ny4yIDAtMjEuNS05LjItMzctMjQtNDQuNmwwLTUzLjRjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBsMCAyMi43Yy05LjgtNC4zLTIwLjYtNi43LTMyLTYuNy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDIxLjRjLTE0LjggNy42LTI0IDIzLjEtMjQgNDQuNiAwIDE2LjggMTYgNDQgMzcuNCA2Ny4yIDUuOCA2LjIgMTUuNSA2LjIgMjEuMiAwIDIxLjQtMjMuMyAzNy40LTUwLjYgMzcuNC02Ny4yIDAtMjEuNS05LjItMzctMjQtNDQuNmwwLTIxLjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDE3Ni00MjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1NzYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTA0IDAgMC0yNzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnoiXX0sTkF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhY3Rlcml1bSIsaWNvbjpbNTc2LDUxMixbXSwiZTA1YSIsIk00MDggMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRTMzYwIDIuNyAzNjAgMTZsMCAyMy40Yy0xMy45IDUuMy0yNi45IDEzLjUtMzguMiAyNC41TDMwNSA0N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwxNi44IDE2LjgtMzAuMSAzMC4xLTE2LjgtMTYuOGMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwxNi44IDE2LjhjLTEwIDEwLTIwIDIwLTMwLjEgMzAuMUwxNzcgMTc1Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDE2LjggMTYuOC0zMC4xIDMwLjEtMTYuOC0xNi44Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDE2LjggMTYuOGMtMTEgMTEuMy0xOS4yIDI0LjMtMjQuNSAzOC4yTDQ4IDMyOGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNi4zIDBjMS4zIDE4LjMgNy4xIDM2LjQgMTcuNCA1Mi40TDcxIDQzOWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDEwLjYtMTAuNmMxNiAxMC4zIDM0LjEgMTYuMSA1Mi40IDE3LjRsMCAxNi4zYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yMy40YzEzLjktNS4zIDI2LjktMTMuNSAzOC4yLTI0LjVMMjcxIDQ2NWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTE2LjgtMTYuOCAzMC4xLTMwLjEgMTYuOCAxNi44YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTYuOC0xNi44YzEwLTEwIDIwLTIwIDMwLjEtMzAuMUwzOTkgMzM3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTYuOC0xNi44IDMwLjEtMzAuMSAxNi44IDE2LjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0xNi44LTE2LjhjMTEtMTEuMyAxOS4yLTI0LjMgMjQuNS0zOC4ybDIzLjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTYuMyAwYy0xLjMtMTguMy03LjEtMzYuNC0xNy40LTUyLjRMNTA1IDczYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMNDYwLjQgNDkuN2MtMTYtMTAuMy0zNC4xLTE2LjEtNTIuNC0xNy40TDQwOCAxNnpNMTYwIDM1MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0yNzIgMjQwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sUkF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlY29yZC12aW55bCIsaWNvbjpbNTEyLDUxMixbXSwiZjhkOSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0yNTYtOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6bTAgMjQwYTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSx1NWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmxvcHB5LWRpc2siLGljb246WzQ0OCw1MTIsWzEyODE5MCwxMjg0MjYsInNhdmUiXSwiZjBjNyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjQyLjdjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMzUyIDUwLjdDMzQwIDM4LjcgMzIzLjcgMzIgMzA2LjcgMzJMNjQgMzJ6bTMyIDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE2MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE2MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0ek0yMjQgMjg4YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4eiJdfSxPQXQ9dTVlLEZBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b2lsZXRzLXBvcnRhYmxlIixpY29uOls1MTIsNTEyLFtdLCJlNTg0IiwiTTY0IDBsOTYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE2LTIyNCAwIDAtMTZDMCAyOC43IDI4LjcgMCA2NCAwek0wIDEyOGwyMjQgMCAwIDM2MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTgtMTI4IDAgMCA4YzAgMTMuMy0xMC43IDI0LTI0IDI0UzAgNTAxLjMgMCA0ODhMMCAxMjh6TTEyOCAyNDhsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwyNCAwIDAtOTYtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTM1MiAwbDk2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNi0yMjQgMCAwLTE2YzAtMzUuMyAyOC43LTY0IDY0LTY0ek0yODggMTI4bDIyNCAwIDAgMzYwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtOC0xMjggMCAwIDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0zNjB6TTQxNiAyNDhsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwyNCAwIDAtOTYtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6Il19LEJBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvIixpY29uOls0NDgsNTEyLFsxMTFdLCI0ZiIsIk0yMjQgOTZhMTYwIDE2MCAwIDEgMCAwIDMyMCAxNjAgMTYwIDAgMSAwIDAtMzIwek00NDggMjU2YTIyNCAyMjQgMCAxIDEgLTQ0OCAwIDIyNCAyMjQgMCAxIDEgNDQ4IDB6Il19LEhBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYWxldHRlIixpY29uOls1MTIsNTEyLFsxMjc5MTJdLCJmNTNmIiwiTTUxMiAyNTZjMCAuOSAwIDEuOCAwIDIuNy0uNCAzNi41LTMzLjYgNjEuMy03MC4xIDYxLjNMMzQ0IDMyMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDggMCAzLjQgLjQgNi43IDEgOS45IDIuMSAxMC4yIDYuNSAyMCAxMC44IDI5LjkgNi4xIDEzLjggMTIuMSAyNy41IDEyLjEgNDIgMCAzMS44LTIxLjYgNjAuNy01My40IDYyLTMuNSAuMS03IC4yLTEwLjYgLjItMTQxLjQgMC0yNTYtMTE0LjYtMjU2LTI1NlMxMTQuNiAwIDI1NiAwIDUxMiAxMTQuNiA1MTIgMjU2ek0xMjggMjg4YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTAtOTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0ek0yODggOTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptOTYgOTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxxQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidW5sb2NrIixpY29uOlszODQsNTEyLFsxMjgyNzVdLCJmMDljIiwiTTEyOCA5NmMwLTM1LjMgMjguNy02NCA2NC02NCAzMS43IDAgNTggMjMgNjMuMSA1My4zIDIuOSAxNy40IDE5LjQgMjkuMiAzNi45IDI2LjNzMjkuMi0xOS40IDI2LjMtMzYuOUMzMDguMSAxNC4xIDI1NS41LTMyIDE5Mi0zMiAxMjEuMy0zMiA2NCAyNS4zIDY0IDk2bDAgNjRjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xOTIgMCAwLTY0eiJdfSxwNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWFyLWxpc3RlbiIsaWNvbjpbNTEyLDUxMixbImFzc2lzdGl2ZS1saXN0ZW5pbmctc3lzdGVtcyJdLCJmMmEyIiwiTTM3OS42IC4zYy04LjkgMS4yLTE3LjIgNi4yLTIyLjQgMTQuMS02LjggMTAuNC03IDI0LjEtLjQgMzQuNiA1LjYgOC45IDE1LjUgMTIuNyAyMy44IDE4LjUgNy41IDUuMiAxNy42IDEzLjIgMjcuNyAyNC4yIDIwIDIxLjcgMzkuNSA1NC4zIDM5LjUgMTAwLjMgMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMwLTY2LTI4LjUtMTEzLjQtNTYuNS0xNDMuNy0xMy45LTE1LjEtMjcuOC0yNi4xLTM4LjMtMzMuMy0xMS03LjYtMjMuNS0xNi42LTM3LjYtMTQuN3pNMjQwIDEyOGMtNTcuNiAwLTEwNS4xIDQzLjYtMTExLjMgOTkuNS0xLjkgMTcuNi0xNy44IDMwLjItMzUuMyAyOC4zcy0zMC4yLTE3LjgtMjguMy0zNS4zYzkuNy04OCA4NC4zLTE1Ni41IDE3NC45LTE1Ni41IDk3LjIgMCAxNzYgNzguOCAxNzYgMTc2IDAgNDYtMTcuNyA4Ny45LTQ2LjYgMTE5LjMtMTIgMTMtMTcuNCAyNC44LTE3LjQgMzQuN2wwIDYuMWMwIDYxLjktNTAuMSAxMTItMTEyIDExMi0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNi4xYzAtMzIuOSAxNy40LTU5LjYgMzQuNC03OCAxOC40LTIwIDI5LjYtNDYuNiAyOS42LTc1LjkgMC02MS45LTUwLjEtMTEyLTExMi0xMTJ6TTAgNDgwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE2MC05NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTg2LjYgMzYxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0ek0yNDAgMjA4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSxWQXQ9cDVlLGpBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2RlLXB1bGwtcmVxdWVzdCIsaWNvbjpbNTEyLDUxMixbXSwiZTEzYyIsIk0zMjggMjRjMC05LjctNS44LTE4LjUtMTQuOC0yMi4yUzI5My45IC4yIDI4NyA3TDIzMSA2M2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsNTYgNTZjNi45IDYuOSAxNy4yIDguOSAyNi4yIDUuMlMzMjggMTQ1LjcgMzI4IDEzNmwwLTI0IDI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMTQuN2MtMjguMyAxMi4zLTQ4IDQwLjUtNDggNzMuMyAwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMzIuOC0xOS43LTYxLTQ4LTczLjNMNDQ4IDE0NGMwLTUzLTQzLTk2LTk2LTk2bC0yNCAwIDAtMjR6TTcyIDgwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTU2IDczLjNjMjguMy0xMi4zIDQ4LTQwLjUgNDgtNzMuMyAwLTQ0LjItMzUuOC04MC04MC04MFMxNiAzNS44IDE2IDgwYzAgMzIuOCAxOS43IDYxIDQ4IDczLjNsMCAyMDUuM2MtMjguMyAxMi4zLTQ4IDQwLjUtNDggNzMuMyAwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMzIuOC0xOS43LTYxLTQ4LTczLjNsMC0yMDUuM3pNNzIgNDMyYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTM0NC0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LFVBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJrZXkiLGljb246WzUxMiw1MTIsWzEyODI3M10sImYwODQiLCJNMzM2IDM1MmM5Ny4yIDAgMTc2LTc4LjggMTc2LTE3NlM0MzMuMiAwIDMzNiAwIDE2MCA3OC44IDE2MCAxNzZjMCAxOC43IDIuOSAzNi44IDguMyA1My43TDcgMzkxYy00LjUgNC41LTcgMTAuNi03IDE3bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTQwIDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00MCA0MCAwYzYuNCAwIDEyLjUtMi41IDE3LTdsMzMuMy0zMy4zYzE2LjkgNS40IDM1IDguMyA1My43IDguM3pNMzc2IDk2YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHoiXX0sV0F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNrdWxsIixpY29uOls1MTIsNTEyLFsxMjgxMjhdLCJmNTRjIiwiTTQxNiA0MjcuNGM1OC41LTQ0IDk2LTExMS42IDk2LTE4Ny40IDAtMTMyLjUtMTE0LjYtMjQwLTI1Ni0yNDBTMCAxMDcuNSAwIDI0MGMwIDc1LjggMzcuNSAxNDMuNCA5NiAxODcuNEw5NiA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsMzIgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MCA2NCAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQwIDMyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNi42ek05NiAyNTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwem0yNTYtNjRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LGY1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJzLXN0cm9rZS11cCIsaWNvbjpbMzg0LDUxMixbOTg5NiwibWFycy1zdHJva2UtdiJdLCJmMjJhIiwiTTE5MiAyNTZhMTEyIDExMiAwIDEgMCAwIDIyNCAxMTIgMTEyIDAgMSAwIDAtMjI0ek0xNiAzNjhjMC04Ni4zIDYyLjEtMTU4LjEgMTQ0LjEtMTczLjEtLjEtLjktLjEtMS45LS4xLTIuOWwwLTE2LTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTYxLjQtMjggMjIuNGMtMTMuOCAxMS0zMy45IDguOC00NS01cy04LjgtMzMuOSA1LTQ1bDgwLTY0YzExLjctOS4zIDI4LjMtOS4zIDQwIDBsODAgNjRjMTMuOCAxMSAxNiAzMS4yIDUgNDVzLTMxLjIgMTYtNDUgNWwtMjgtMjIuNCAwIDYxLjQgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDE2YzAgMSAwIDEuOS0uMSAyLjkgODIgMTUgMTQ0LjEgODYuOCAxNDQuMSAxNzMuMSAwIDk3LjItNzguOCAxNzYtMTc2IDE3NlMxNiA0NjUuMiAxNiAzNjh6Il19LEdBdD1mNWUsaDVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpcmUtZmxhbWUtc2ltcGxlIixpY29uOlszODQsNTEyLFsiYnVybiJdLCJmNDZhIiwiTTM3Mi41IDI1Ni41bC0uNy0xLjlDMzM3LjggMTYwLjggMjgyIDc2LjUgMjA5LjEgOC41bC0zLjMtM0MyMDIuMSAyIDE5Ny4xIDAgMTkyIDBzLTEwLjEgMi0xMy44IDUuNWwtMy4zIDNDMTAyIDc2LjUgNDYuMiAxNjAuOCAxMi4yIDI1NC42bC0uNyAxLjlDMy45IDI3Ny4zIDAgMjk5LjQgMCAzMjEuNiAwIDQyNi43IDg2LjggNTEyIDE5MiA1MTJzMTkyLTg1LjMgMTkyLTE5MC40YzAtMjIuMi0zLjktNDQuMi0xMS41LTY1LjF6bS05MC44IDQ5LjVjNC4xIDkuMyA2LjIgMTkuNCA2LjIgMjkuNSAwIDUzLTQzIDk2LjUtOTYgOTYuNXMtOTYtNDMuNS05Ni05Ni41YzAtMTAuMSAyLjEtMjAuMyA2LjItMjkuNWwxLjktNC4zYzE1LjgtMzUuNCAzNy45LTY3LjcgNjUuMy05NS4xbDguOS04LjljMy42LTMuNiA4LjUtNS42IDEzLjYtNS42czEwIDIgMTMuNiA1LjZsOC45IDguOWMyNy40IDI3LjQgNDkuNiA1OS43IDY1LjMgOTUuMWwxLjkgNC4zeiJdfSxZQXQ9aDVlLEtBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmVlIixpY29uOls0NDgsNTEyLFsxMjc3OTRdLCJmMWJiIiwiTTIyNC0zMmM3IDAgMTMuNyAzLjEgMTguMyA4LjVsMTM2IDE2MGM2LjEgNy4xIDcuNCAxNy4xIDMuNSAyNS42UzM2OS40IDE3NiAzNjAgMTc2bC0yNC45IDAgNzUuMiA4OC41YzYuMSA3LjEgNy40IDE3LjEgMy41IDI1LjZTNDAxLjQgMzA0IDM5MiAzMDRsLTM4LjUgMCA4OC44IDEwNC41YzYuMSA3LjEgNy40IDE3LjEgMy41IDI1LjZTNDMzLjQgNDQ4IDQyNCA0NDhsLTE2OCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NC0xNjggMGMtOS40IDAtMTcuOS01LjQtMjEuOC0xMy45cy0yLjYtMTguNSAzLjUtMjUuNkw5NC41IDMwNCA1NiAzMDRjLTkuNCAwLTE3LjktNS40LTIxLjgtMTMuOXMtMi42LTE4LjUgMy41LTI1LjZMMTEyLjkgMTc2IDg4IDE3NmMtOS40IDAtMTcuOS01LjQtMjEuOC0xMy45cy0yLjYtMTguNSAzLjUtMjUuNmwxMzYtMTYwQzIxMC4zLTI4LjkgMjE3LTMyIDIyNC0zMnoiXX0sWkF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNtb2ciLGljb246WzU3Niw1MTIsW10sImY3NWYiLCJNMTc2IDI4OEM5Ni41IDI4OCAzMiAyMjMuNSAzMiAxNDRTOTYuNSAwIDE3NiAwYzI3LjIgMCA1Mi42IDcuNSA3NC4zIDIwLjYgMjAuMS0xMyA0NC0yMC42IDY5LjctMjAuNiA0Ny40IDAgODguNyAyNS43IDExMC45IDY0bDEuMSAwYzYxLjkgMCAxMTIgNTAuMSAxMTIgMTEyIDAgNjAuMy00Ny42IDEwOS40LTEwNy4yIDExMS45LTIyLjYgMjAtNTIuMyAzMi4xLTg0LjggMzIuMS0zMi41IDAtNjIuMS0xMi4xLTg0LjctMzJMMTc2IDI4OHpNNTEyIDM5MmMwIDEzLjMtMTAuNyAyNC0yNCAyNEwyNCA0MTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjR6TTg4IDQ2NGw4MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0xNzYgMGwyODggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjg4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LFhBdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzIixpY29uOlszMjAsNTEyLFsxMTVdLCI1MyIsIk0wIDE1Ny41QzAgODguMiA1Ni4yIDMyIDEyNS41IDMyTDI3MiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwxMjUuNSA5NmMtMzQgMC02MS41IDI3LjUtNjEuNSA2MS41IDAgMzEgMjMuMSA1Ny4yIDUzLjkgNjFMMjEwLjEgMjMwQzI3Mi45IDIzNy45IDMyMCAyOTEuMiAzMjAgMzU0LjUgMzIwIDQyMy44IDI2My44IDQ4MCAxOTQuNSA0ODBMNDggNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE0Ni41IDBjMzQgMCA2MS41LTI3LjUgNjEuNS02MS41IDAtMzEtMjMuMS01Ny4yLTUzLjktNjFMMTA5LjkgMjgyQzQ3LjEgMjc0LjEgMCAyMjAuOCAwIDE1Ny41eiJdfSxRQXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiamVkaSIsaWNvbjpbNTc2LDUxMixbXSwiZjY2OSIsIk0yNDYgMzE1LjdsLTIxLjItMzEuOWMtMi4xLTMuMi0xLjctNy40IDEtMTAuMXM2LjktMy4xIDEwLjEtMWwyOS41IDE5LjdjMi4xIDEuNCA0LjktLjEgNS0yLjZMMjc5LjcgOGMuMS00LjUgMy44LTggOC4zLThzOC4xIDMuNSA4LjMgOGw5LjQgMjgxLjljLjEgMi41IDIuOSAzLjkgNSAyLjZsMjkuNS0xOS43YzMuMi0yLjEgNy40LTEuNyAxMC4xIDFzMy4xIDYuOSAxIDEwLjFMMzMwIDMxNS43Yy0xLjMgMS45LS4yIDQuNSAyIDQuOWwzNy42IDcuNWMzLjcgLjcgNi40IDQgNi40IDcuOHMtMi43IDcuMS02LjQgNy44TDMzMiAzNTEuNGMtMi4yIC40LTMuMyAzLTIgNC45bDIxLjIgMzEuOWMyLjEgMy4yIDEuNyA3LjQtMSAxMC4xcy02LjkgMy4xLTEwLjEgMWwtMjYuMy0xNy42Yy0yLjItMS40LTUuMSAuMi01IDIuOGwyLjEgNjEuNWM1OS44LTEwLjggMTA1LjEtNjMuMSAxMDUuMS0xMjYgMC0zNy0xNS43LTcwLjQtNDAuOC05My43LTctNi41LTYuNS0xOC42IDEtMjQuNCAzNC0yNi4zIDU1LjgtNjcuNSA1NS44LTExMy45IDAtMTYuOC0yLjktMzMtOC4yLTQ4LTQuNi0xMyAxMC4yLTMwIDIxLjQtMjIgNTMuNSAzOCA5Mi43IDk0LjggMTA3LjggMTYwLjcgLjUgMi4xLS4yIDQuMy0xLjcgNS45bC0yOC40IDI4LjRjLTQgNC0xLjIgMTAuOSA0LjUgMTAuOWwyNiAwYzMuNCAwIDYuMiAyLjYgNi4zIDYgLjEgMy4zIC4yIDYuNiAuMiAxMCAwIDE3LjUtMS43IDM0LjctNC44IDUxLjMtLjIgMS4yLS45IDIuNC0xLjcgMy4zbC00Ni41IDQ2LjVjLTQgNC0xLjIgMTAuOSA0LjUgMTAuOWwxNC42IDBjNC42IDAgNy43IDQuOCA1LjcgOS00NC41IDg5LjUtMTM2LjkgMTUxLTI0My43IDE1MVM4OC44IDQ1MC41IDQ0LjMgMzYxYy0yLjEtNC4yIDEtOSA1LjctOWwxNC42IDBjNS43IDAgOC42LTYuOSA0LjUtMTAuOUwyMi42IDI5NC42Yy0uOS0uOS0xLjUtMi0xLjctMy4zLTMuMi0xNi42LTQuOC0zMy44LTQuOC01MS4zIDAtMy4zIC4xLTYuNyAuMi0xMCAuMS0zLjQgMi45LTYgNi4zLTZsMjYgMGM1LjcgMCA4LjYtNi45IDQuNS0xMC45TDI0LjYgMTg0LjZjLTEuNS0xLjUtMi4yLTMuOC0xLjctNS45IDE1LjItNjYgNTQuMy0xMjIuOCAxMDcuOC0xNjAuNyAxMS4zLTggMjYgOC45IDIxLjQgMjItNS4zIDE1LTguMiAzMS4yLTguMiA0OCAwIDQ2LjMgMjEuOSA4Ny41IDU1LjggMTEzLjkgNy41IDUuOCA4IDE3LjkgMSAyNC40LTI1LjEgMjMuNC00MC44IDU2LjctNDAuOCA5My43IDAgNjIuOSA0NS40IDExNS4yIDEwNS4xIDEyNmwyLjEtNjEuNWMuMS0yLjYtMi44LTQuMi01LTIuOGwtMjYuMyAxNy42Yy0zLjIgMi4xLTcuNCAxLjctMTAuMS0xcy0zLjEtNi45LTEtMTAuMUwyNDYgMzU2LjNjMS4zLTEuOSAuMi00LjUtMi00LjlsLTM3LjYtNy41Yy0zLjctLjctNi40LTQtNi40LTcuOHMyLjctNy4xIDYuNC03LjhsMzcuNi03LjVjMi4yLS40IDMuMy0zIDItNC45eiJdfSxtNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWhpa2luZyIsaWNvbjpbNDQ4LDUxMixbImhpa2luZyJdLCJmNmVjIiwiTTE5Mi0zMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnpNMTI4IDE3My42YzAtMzQgMjcuNi02MS42IDYxLjYtNjEuNiAyMC4zIDAgMzkuNyA4LjEgNTQgMjIuNGw0OC4yIDQ4LjJjNiA2IDE0LjEgOS40IDIyLjYgOS40bDM3LjUgMGM1LjggMCAxMS4zIDEuNiAxNiA0LjNsMC03Ni4zYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MDBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yNjguM2MtNC43IDIuNy0xMC4yIDQuMy0xNiA0LjNsLTM3LjUgMGMtMjUuNSAwLTQ5LjktMTAuMS02Ny45LTI4LjFsLTYuNi02LjYgMCAxMDkuMiAzNC41IDI5LjZjMTcuNyAxNS4yIDI5LjMgMzYuMiAzMi42IDU5LjNsMTIuNiA4OC4xYzIuNSAxNy41LTkuNyAzMy43LTI3LjIgMzYuMnMtMzMuNy05LjctMzYuMi0yNy4ybC0xMi42LTg4LjFjLTEuMS03LjctNS0xNC43LTEwLjktMTkuOGwtNzEuNC02MS4yYy0yMS4zLTE4LjItMzMuNS00NC45LTMzLjUtNzIuOWwwLTEwMXptLTQuOCAyMDMuN2MyLjMgMi4zIDQuNyA0LjQgNy4xIDYuNWw0NC45IDM4LjVjLTMuNiA4LjQtOC41IDE2LjMtMTQuNCAyMy40TDg4LjYgNTMyLjVjLTExLjMgMTMuNi0zMS41IDE1LjQtNDUuMSA0LjFzLTE1LjQtMzEuNS00LjEtNDUuMWw3Mi4zLTg2LjdjMi42LTMuMSA0LjUtNi42IDUuOC0xMC40bDUuNy0xNy4xek0wIDE2MGMwLTM1LjMgMjguNy02NCA2NC02NCAxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NnoiXX0sSkF0PW01ZSxlRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXVwLXRvLWxpbmUiLGljb246WzQ0OCw1MTIsW10sImU0YzIiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMlM0MzMuNyAwIDQxNiAwTDMyIDB6bTg2LjYgMTM3LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw2NCAyMzcuMyA2NCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI0Mi43IDkuNCA5LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtNjQtNjR6bTI1NiAwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsOS40LTkuNCAwIDI0Mi43YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNDIuNyA5LjQgOS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0eiJdfSx0RXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFycy1kb3VibGUiLGljb246WzY0MCw1MTIsWzk4OTFdLCJmMjI3IiwiTTI4OCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMkw0NDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTUwLjctOTUgOTVjMTkuNSAyOC40IDMxIDYyLjcgMzEgOTkuOCAwIDk3LjItNzguOCAxNzYtMTc2IDE3NlMwIDQwMS4yIDAgMzA0IDc4LjggMTI4IDE3NiAxMjhjMzcgMCA3MS40IDExLjQgOTkuOCAzMWw5NS05NS01MC43IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0xNzYgNDE2YTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHptMTYwIDY0Yy02LjggMC0xMy40LS40LTIwLTEuMSAyMy42LTE4LjkgNDMuMy00Mi41IDU3LjYtNjkuNCA0My4zLTE1LjUgNzQuNC01Ni45IDc0LjQtMTA1LjUgMC0yNS4yLTguMy00OC41LTIyLjQtNjcuMiA3LjEgMi4xIDE0LjYgMy4yIDIyLjQgMy4yIDE3IDAgMzIuNy01LjMgNDUuNy0xNC4zIDExLjcgMjMuNiAxOC4zIDUwLjIgMTguMyA3OC4zIDAgOTcuMi03OC44IDE3Ni0xNzYgMTc2ek01MjggMTU3LjNMNTI4IDMyYzAtMTEuNC0yLjQtMjIuMi02LjctMzJMNjA4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC01MC43LTQ4IDQ4eiJdfSxhRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGhlcm1vbWV0ZXIiLGljb246WzUxMiw1MTIsW10sImY0OTEiLCJNOTYgMzgyLjFsMC04OC44YzAtMTQuOSA1LjktMjkuMSAxNi40LTM5LjZsMjEuNy0yMS43IDQxIDQxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDEtNDEgNDYuMS00Ni4xIDQxIDQxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDEtNDEgNDYuMS00Ni4xIDQxIDQxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDEtNDEgNy44LTcuOGMxOS40LTE5LjQgNDUuNi0zMC4yIDczLTMwLjIgNTcgMCAxMDMuMiA0Ni4yIDEwMy4yIDEwMy4yIDAgMjcuNC0xMC45IDUzLjYtMzAuMiA3M0wyNTguMyAzOTkuNmMtMTAuNSAxMC41LTI0LjcgMTYuNC0zOS42IDE2LjRsLTg4LjggMC04OSA4OWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBTLTIuMyA0ODAuNCA3IDQ3MWw4OS04OXoiXX0sZzVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhaW50YnJ1c2giLGljb246WzU3Niw1MTIsWzEyODM5NiwicGFpbnQtYnJ1c2giXSwiZjFmYyIsIk00ODAuNSAxMC4zTDI1OS4xIDE1OGMtMjkuMSAxOS40LTQ3LjYgNTAuOS01MC42IDg1LjMgNjIuMyAxMi44IDExMS40IDYxLjkgMTI0LjMgMTI0LjMgMzQuNS0zIDY1LjktMjEuNSA4NS4zLTUwLjZMNTY1LjcgOTUuNWM2LjctMTAuMSAxMC4zLTIxLjkgMTAuMy0zNC4xIDAtMzMuOS0yNy41LTYxLjQtNjEuNC02MS40LTEyLjEgMC0yNCAzLjYtMzQuMSAxMC4zek0yODggNDAwYzAtNjEuOS01MC4xLTExMi0xMTItMTEyUzY0IDMzOC4xIDY0IDQwMGMwIDMuOSAuMiA3LjggLjYgMTEuNiAxLjggMTcuNS0xMC4yIDM2LjQtMjcuOCAzNi40TDMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNDQgMGM2MS45IDAgMTEyLTUwLjEgMTEyLTExMnoiXX0sckV0PWc1ZSxzRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibmV1dGVyIixpY29uOlszODQsNTEyLFs5OTA2XSwiZjIyYyIsIk04MCAxNzZhMTEyIDExMiAwIDEgMSAyMjQgMCAxMTIgMTEyIDAgMSAxIC0yMjQgMHpNMjIzLjkgMzQ5LjFDMzA1LjkgMzM0LjEgMzY4IDI2Mi4zIDM2OCAxNzYgMzY4IDc4LjggMjg5LjIgMCAxOTIgMFMxNiA3OC44IDE2IDE3NmMwIDg2LjMgNjIuMSAxNTguMSAxNDQuMSAxNzMuMS0uMSAxLS4xIDEuOS0uMSAyLjlsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTEgMC0xLjktLjEtMi45eiJdfSxiNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXBob25lLWZsaXAiLGljb246WzQ0OCw1MTIsWyJwaG9uZS1zcXVhcmUtYWx0Il0sImY4N2IiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptMjMyIDk2LjdsMi44IC44YzMyLjMgOC44IDU5LjkgNDAuMSA1MS44IDc4LjItMTguNSA4Ny41LTg3LjQgMTU2LjMtMTc0LjkgMTc0LjktMzguMSA4LjEtNjkuNC0xOS41LTc4LjItNTEuOGwtLjgtMi44Yy0yLjctOS44IDIuNC0yMC4xIDExLjgtMjRsNDguNy0yMC4zYzguMy0zLjQgMTcuOC0xLjEgMjMuNSA1LjlsMTkuMyAyMy42YzM1LjEtMTcuNCA2My40LTQ2LjYgNzkuNi04Mi40bC0yMi4xLTE4Yy02LjktNS43LTkuMy0xNS4yLTUuOS0yMy41bDIwLjMtNDguN2MzLjktOS40IDE0LjItMTQuNCAyNC0xMS44eiJdfSxpRXQ9YjVlLHY1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4tdG9uZ3VlLXNxdWludCIsaWNvbjpbNTEyLDUxMixbMTI4NTQxLCJncmluLXRvbmd1ZS1zcXVpbnQiXSwiZjU4YSIsIk0wIDI1NmMwIDEwNC40IDYyLjUgMTk0LjIgMTUyLjIgMjM0LjEtNS4zLTEzLTguMi0yNy4yLTguMi00Mi4xbDAtNjEuN2MtMTYuOS0xNi41LTMwLjEtMzYuNy0zOC4zLTU5LjMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xYzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMS04LjMgMjIuNi0yMS41IDQyLjgtMzguMyA1OS4zbDAgNjEuN2MwIDE0LjktMi45IDI5LjEtOC4yIDQyLjEgODkuNy0zOS44IDE1Mi4yLTEyOS42IDE1Mi4yLTIzNC4xIDAtMTQxLjQtMTE0LjYtMjU2LTI1Ni0yNTZTMCAxMTQuNiAwIDI1NnptMTI1LjgtOTEuN2MtNi4yLTUuMi03LjYtMTQuMy0zLjEtMjEuMXMxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAxOTIgMTI1LjggMTY0LjN6bTI2My42LTIxLjFjNC41IDYuOCAzLjEgMTUuOS0zLjEgMjEuMUwzNTMgMTkyIDM4Ni4yIDIxOS43YzYuMiA1LjIgNy42IDE0LjMgMy4xIDIxLjFzLTEzLjMgOS4yLTIwLjYgNS41bC03OS42LTQwYy01LjQtMi43LTguOC04LjItOC44LTE0LjNzMy40LTExLjYgOC44LTE0LjNsNzkuNi00MGM3LjMtMy42IDE2LjEtMS4zIDIwLjYgNS41ek0zMjAgNDQ4bDAtNDUuNGMwLTE0LjctMTEuOS0yNi42LTI2LjYtMjYuNmwtMiAwYy0xMS4zIDAtMjEuMSA3LjktMjMuNiAxOC45LTIuOCAxMi42LTIwLjggMTIuNi0yMy42IDAtMi41LTExLjEtMTIuMy0xOC45LTIzLjYtMTguOWwtMiAwYy0xNC43IDAtMjYuNiAxMS45LTI2LjYgMjYuNmwwIDQ1LjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHoiXX0sb0V0PXY1ZSxuRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudC1kb2xsYXIiLGljb246WzUxMiw1MTIsW10sImY2NTEiLCJNMjU2IDQ4MGMxNDEuNCAwIDI1Ni0xMDcuNSAyNTYtMjQwUzM5Ny40IDAgMjU2IDAgMCAxMDcuNSAwIDI0MGMwIDU0LjMgMTkuMiAxMDQuMyA1MS42IDE0NC41TDIuOCA0NzYuOGMtNC44IDktMy4zIDIwIDMuNiAyNy41czE3LjggOS44IDI3LjEgNS44bDExOC40LTUwLjdDMTgzLjcgNDcyLjYgMjE4LjkgNDgwIDI1NiA0ODB6bTQtMzUyYzExIDAgMjAgOSAyMCAyMGwwIDQgOCAwYzExIDAgMjAgOSAyMCAyMHMtOSAyMC0yMCAyMGwtNDcuNSAwYy02LjkgMC0xMi41IDUuNi0xMi41IDEyLjUgMCA2LjEgNC40IDExLjMgMTAuNCAxMi4zbDQxLjcgN2MyNS4zIDQuMiA0My45IDI2LjEgNDMuOSA1MS44IDAgMjYuMS0xOSA0Ny43LTQ0IDUxLjhsMCA0LjdjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtNC0yNCAwYy0xMSAwLTIwLTktMjAtMjBzOS0yMCAyMC0yMGw1NS41IDBjNi45IDAgMTIuNS01LjYgMTIuNS0xMi41IDAtNi4xLTQuNC0xMS4zLTEwLjQtMTIuM2wtNDEuNy03Yy0yNS4zLTQuMi00My45LTI2LjEtNDMuOS01MS44IDAtMjguOCAyMy4yLTUyLjIgNTItNTIuNWwwLTRjMC0xMSA5LTIwIDIwLTIweiJdfSxsRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGlwcG8iLGljb246WzY0MCw1MTIsWzEyOTQzNV0sImY2ZWQiLCJNNDA3IDQ3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDE3LjIgMTcuMmMxLjktLjEgMy45LS4yIDUuOC0uMmwzMiAwYzExLjIgMCAyMS45IDIuMyAzMS42IDYuNUw1NDMgNTVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDU2NCAxMDEuOWM3LjYgMTIuMiAxMiAyNi43IDEyIDQyLjEgMCAxMC4yIDcuNCAxOC44IDE2LjcgMjMgMjcuOSAxMi41IDQ3LjMgNDAuNSA0Ny4zIDczIDAgMjYuMi0xMi42IDQ5LjQtMzIgNjRsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2LTY0IDAgMCAxNmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE3LjZjLTExLjgtMi40LTIyLjctNy40LTMyLTE0LjQtMS41LTEuMS0yLjktMi4zLTQuMy0zLjUtMTctMTQuNy0yNy43LTM2LjQtMjcuNy02MC41IDAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2YzAgNDQuNyAyNi4yIDgzLjIgNjQgMTAxLjJsMCAxMC44YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC03NmMtMTkuOCA3LjctNDEuNCAxMi02NCAxMnMtNDQuMi00LjMtNjQtMTJsMCA3NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMTguOS0xOC4xIDQwLjdjLTUuNCAxMi4xLTE5LjYgMTcuNi0zMS43IDEyLjJTLTMuMyAzNjIuNCAyLjEgMzUwLjNMMjQgMzAwLjljNS4zLTExLjkgOC0yNC43IDgtMzcuNyAwLTEwNy41IDg1LjItMTk1LjIgMTkxLjgtMTk5LjFsLjItLjEgNjQgMGM0MS43IDAgODMuNCAxMi4xIDExNy4yIDI1LjcgMS43LTEuOCAzLjUtMy42IDUuMy01LjJMNDA3IDgxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXptNzMgMTg1YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6bTg4IDI0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHpNNDgwIDE0NGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem00OCAxNmExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6Il19LGNFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3dsLWZvb2QiLGljb246WzUxMiw1MTIsW10sImU0YzYiLCJNMCAxNzZjMC0zNS4zIDI4LjctNjQgNjQtNjQgLjUgMCAxLjEgMCAxLjYgMCA3LjQtMzYuNSAzOS43LTY0IDc4LjQtNjQgMTUgMCAyOSA0LjEgNDAuOSAxMS4yIDEzLjMtMjUuNyA0MC4xLTQzLjIgNzEuMS00My4yczU3LjggMTcuNiA3MS4xIDQzLjJjMTItNy4xIDI2LTExLjIgNDAuOS0xMS4yIDM4LjcgMCA3MSAyNy41IDc4LjQgNjQgLjUgMCAxLjEgMCAxLjYgMCAzNS4zIDAgNjQgMjguNyA2NCA2NCAwIDExLjctMy4xIDIyLjYtOC42IDMyTDguNiAyMDhDMy4xIDE5OC42IDAgMTg3LjcgMCAxNzZ6TTAgMjgzLjRDMCAyNjguMyAxMi4zIDI1NiAyNy40IDI1Nmw0NTcuMSAwYzE1LjEgMCAyNy40IDEyLjMgMjcuNCAyNy40IDAgNzAuNS00NC40IDEzMC43LTEwNi43IDE1NC4xTDQwMy41IDQ1MmMtMiAxNi0xNS42IDI4LTMxLjggMjhsLTIzMS41IDBjLTE2LjEgMC0yOS44LTEyLTMxLjgtMjhsLTEuOC0xNC40QzQ0LjQgNDE0LjEgMCAzNTMuOSAwIDI4My40eiJdfSxkRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXZpcnVzIixpY29uOls0NDgsNTEyLFtdLCJlNTc4IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTE2MCA4MGMxMy4zIDAgMjQgMTAuNyAyNCAyNCAwIDIyLjkgMjcuNyAzNC40IDQzLjkgMTguMiA5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjljLTE2LjIgMTYuMi00LjcgNDMuOSAxOC4yIDQzLjkgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTIyLjkgMC0zNC40IDI3LjctMTguMiA0My45IDkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBjLTE2LjItMTYuMi00My45LTQuNy00My45IDE4LjIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0yMi45LTI3LjctMzQuNC00My45LTE4LjItOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWMxNi4yLTE2LjIgNC43LTQzLjktMTguMi00My45LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMjIuOSAwIDM0LjQtMjcuNyAxOC4yLTQzLjktOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwYzE2LjIgMTYuMiA0My45IDQuNyA0My45LTE4LjIgMC0xMy4zIDEwLjctMjQgMjQtMjR6TTE5MiAyNDhhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04OCA0MGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSx1RXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtc3VuLXJhaW4iLGljb246WzY0MCw1MTIsWzEyNzc4Ml0sImY3NDMiLCJNMjU0LjkgNDQ4LjJjNC4yLTEyLjYgMTcuOC0xOS40IDMwLjMtMTUuMiAxMi42IDQuMiAxOS40IDE3LjggMTUuMiAzMC40bC0yMS40IDY0LjFjLTQuMiAxMi42LTE3LjggMTkuNC0zMC40IDE1LjJzLTE5LjQtMTcuOC0xNS4yLTMwLjNsMjEuNC02NC4yem0xMjAgMGM0LjItMTIuNiAxNy44LTE5LjQgMzAuMy0xNS4yIDEyLjYgNC4yIDE5LjQgMTcuOCAxNS4yIDMwLjRsLTIxLjQgNjQuMWMtNC4yIDEyLjYtMTcuOCAxOS40LTMwLjQgMTUuMnMtMTkuNC0xNy44LTE1LjItMzAuM2wyMS40LTY0LjJ6bTEyMCAwYzQuMi0xMi42IDE3LjgtMTkuNCAzMC4zLTE1LjIgMTIuNiA0LjIgMTkuNCAxNy44IDE1LjIgMzAuNGwtMjEuNCA2NC4xYy00LjIgMTIuNi0xNy44IDE5LjQtMzAuNCAxNS4ycy0xOS40LTE3LjgtMTUuMi0zMC4zbDIxLjQtNjQuMnpNNDQ4LjMgMTI4YzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgNy41LTEuMSAxNC43LTMgMjEuNSAyOS44IDExLjYgNTEgNDAuNiA1MSA3NC41IDAgNDQuMi0zNS44IDgwLTgwIDgwbC0xOTIgMC04LjItLjRjLTQwLjMtNC4xLTcxLjgtMzguMi03MS44LTc5LjYgMC0zOSAyNy45LTcxLjUgNjQuOS03OC41LS41LTMuMS0uOS02LjItLjktOS41IDAtMzAuOSAyNS4xLTU2IDU2LTU2IDEyLjQgMCAyMy45IDQuMSAzMy4yIDEwLjkgMTMuNC0yNS41IDQwLjEtNDIuOSA3MC44LTQyLjl6TTI0MC4zLTMxLjhjNS4zIDAgMTAuMyAyLjcgMTMuMyA3LjFsNDcuMyA3MC40IDgzLjMtMTYuM2M1LjItMSAxMC42IC43IDE0LjMgNC40IDMuOCAzLjggNS40IDkuMiA0LjQgMTQuNGwtOC42IDQzLjhjLTExLjkgNS41LTIyLjggMTIuOS0zMi40IDIxLjYtNS43LTEtMTEuNy0xLjUtMTcuNy0xLjUtMTQuMyAwLTI4IDMtNDAuNCA4LjItMTYuOS0xNS0zOS4yLTI0LjItNjMuNi0yNC4yLTUzIDAtOTYgNDMtOTYgOTYgMCAzMC45IDE0LjYgNTguMiAzNy4yIDc1LjgtMy40IDExLjUtNS4yIDIzLjYtNS4yIDM2LjIgMCAxMy4yIDIgMjUuOSA1LjcgMzcuOWwtMi40LTMuNS04My4yIDE2LjNjLTUuMiAxLTEwLjYtLjctMTQuMy00LjQtMy44LTMuOC01LjQtOS4yLTQuNC0xNC40bDE2LjMtODMuMy03MC40LTQ3LjRjLTQuNC0zLTcuMS04LTcuMS0xMy4zIDAtNS4zIDIuNi0xMC4zIDctMTMuMmw3MC40LTQ3LjQtMTYuMy04My4yLS4yLTJjLS4zLTQuNiAxLjMtOS4xIDQuNi0xMi40IDMuOC0zLjggOS4yLTUuNCAxNC40LTQuNGw4My4yIDE2LjMgNDcuMy03MC40IDEuMi0xLjZjMy0zLjUgNy40LTUuNSAxMi4xLTUuNXptMCAxNzUuOGM4LjYgMCAxNi42IDIuMyAyMy42IDYuMi05LjcgMTEuOS0xNi45IDI1LjktMjAuNyA0MS4zLTE1IDguMS0yOC4yIDE5LjItMzguOCAzMi4zLTcuNS04LjUtMTIuMi0xOS42LTEyLjItMzEuOCAwLTI2LjUgMjEuNS00OCA0OC00OHoiXX0seDVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJpZ2h0LWxvbmciLGljb246WzU3Niw1MTIsWyJsb25nLWFycm93LXJpZ2h0Il0sImYxNzgiLCJNNTY2LjYgMjc4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjhjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDQ2Ni43IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNDM0LjcgMC03My40IDczLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsMTI4LTEyOHoiXX0scEV0PXg1ZSxmRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctdW4iLGljb246WzUxMiw1MTIsW10sImU0ZDkiLCJNMzIgNjRDMzIgMjguNyA2MC43IDAgOTYgMEwzNTIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI3Mi0xMTIgMGMtMjAuOSAwLTM5LjUgMTAuMS01MS4yIDI1LjYtOC02LTE4LTkuNi0yOC44LTkuNi0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0IDY0IDAgMCA0OC0xNDQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMzIgNjR6TTE0NCA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0xMTIgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTQ0IDIyNGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0xMTIgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNNDI3LjQgMzgwLjVjOS0yLjEgMTguMyAyLjIgMjIuNSAxMC41bDI2LjEgNTIuMiAwLTQzLjNjMC0xMSA5LTIwIDIwLTIwczIwIDkgMjAgMjBsMCAxMjhjMCA5LjMtNi40IDE3LjMtMTUuNCAxOS41cy0xOC4zLTIuMi0yMi41LTEwLjVMNDUyIDQ4NC43IDQ1MiA1MjhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtMTI4YzAtOS4zIDYuNC0xNy4zIDE1LjQtMTkuNXpNMzI0IDQwMGwwIDk2YzAgNi42IDUuNCAxMiAxMiAxMnMxMi01LjQgMTItMTJsMC05NmMwLTExIDktMjAgMjAtMjBzMjAgOSAyMCAyMGwwIDk2YzAgMjguNy0yMy4zIDUyLTUyIDUycy01Mi0yMy4zLTUyLTUybDAtOTZjMC0xMSA5LTIwIDIwLTIwczIwIDkgMjAgMjB6Il19LGhFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW1wZXJhdHVyZS1sb3ciLGljb246WzUxMiw1MTIsW10sImY3NmIiLCJNOTYgOTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDE2NC43YzI5LjUgMjYuNCA0OCA2NC43IDQ4IDEwNy4zIDAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzQ4IDQ0Ny41IDQ4IDM2OGMwLTQyLjYgMTguNS04MSA0OC0xMDcuM0w5NiA5NnptOTYgMzM2YzM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM2wwLTI4LjdjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyOC43Yy0yMy41IDkuNS00MCAzMi41LTQwIDU5LjMgMCAzNS4zIDI4LjcgNjQgNjQgNjR6TTQ2NCA4MGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zNTIgODBhODAgODAgMCAxIDEgMTYwIDAgODAgODAgMCAxIDEgLTE2MCAweiJdfSxtRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG9vci1vcGVuIixpY29uOls0NDgsNTEyLFtdLCJmNTJiIiwiTTI4OCA2NGw2NCAwIDAgNDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTk2IDAgMCAwLTE2MCAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDIyNCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNDE2ek0xNjAgMjU2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LGdFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbGlnbi1sZWZ0IixpY29uOls0NDgsNTEyLFtdLCJmMDM2IiwiTTI4OCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0UzE0LjMgMzIgMzIgMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6bTAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDM1MmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6Il19LHk1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYW1lcmEiLGljb246WzUxMiw1MTIsWzYyMjU4LCJjYW1lcmEtYWx0Il0sImYwMzAiLCJNMTQ5LjEgNjQuOEwxMzguNyA5NiA2NCA5NkMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTc0LjcgMC0xMC40LTMxLjJDMzU2LjQgNDUuMiAzMzguMSAzMiAzMTcuNCAzMkwxOTQuNiAzMmMtMjAuNyAwLTM5IDEzLjItNDUuNSAzMi44ek0yNTYgMTkyYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyeiJdfSxiRXQ9eTVlLHZFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2Vycy1yYXlzIixpY29uOls2NDAsNTEyLFtdLCJlNTkzIiwiTTMxLTMzQzIxLjctMjMuNiAyMS43LTguNCAzMSAxTDg3IDU3YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw2NS0zM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDB6TTYwOS0zM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMNTE5IDIzYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBMNjA5IDFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjl6TTY1IDU0NWw1Ni01NmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDMxIDUxMWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwem01NDQgMGM5LjQtOS40IDkuNC0yNC42IDAtMzMuOWwtNTYtNTZjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNTYgNTZjOS40IDkuNCAyNC42IDkuNCAzMy45IDB6TTMyMCAyMDhhNjQgNjQgMCAxIDAgMC0xMjggNjQgNjQgMCAxIDAgMCAxMjh6bTAgMzJjLTYxLjkgMC0xMTIgNTAuMS0xMTIgMTEybDAgOGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLThjMC02MS45LTUwLjEtMTEyLTExMi0xMTJ6bTIxNi04MGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6TTQ1MS4yIDI2MC40QzQ2OS40IDI4Ni4zIDQ4MCAzMTcuOSA0ODAgMzUybDAgOGMwIDguNC0xLjQgMTYuNS00LjEgMjRsNzguOCAwYzExLjggMCAyMS4zLTkuNiAyMS4zLTIxLjNsMC0xMC43YzAtNTMtNDMtOTYtOTYtOTYtMTAgMC0xOS43IDEuNS0yOC44IDQuNHptLTI2Mi40IDBjLTkuMS0yLjktMTguOC00LjQtMjguOC00LjQtNTMgMC05NiA0My05NiA5NmwwIDEwLjdjMCAxMS44IDkuNiAyMS4zIDIxLjMgMjEuM2w3OC44IDBjLTIuNy03LjUtNC4xLTE1LjYtNC4xLTI0bDAtOGMwLTM0LjEgMTAuNi02NS43IDI4LjgtOTEuNnpNMjE2IDE2MGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6Il19LHhFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyYWluYm93IixpY29uOls2NDAsNTEyLFsxMjc3NTJdLCJmNzViIiwiTTMyMCA5NkMxNzguNiA5NiA2NCAyMTAuNiA2NCAzNTJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQzMy43IDAgNDE2bDAtNjRDMCAxNzUuMyAxNDMuMyAzMiAzMjAgMzJTNjQwIDE3NS4zIDY0MCAzNTJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0QzU3NiAyMTAuNiA0NjEuNCA5NiAzMjAgOTZ6bTAgMTEyYy03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NGwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xMTQuOSA5My4xLTIwOCAyMDgtMjA4czIwOCA5My4xIDIwOCAyMDhsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtNzkuNS02NC41LTE0NC0xNDQtMTQ0ek0yODggMzUybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnoiXX0seUV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpdGVtYXAiLGljb246WzUxMiw1MTIsW10sImYwZTgiLCJNMTkyIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOCAwIDAgNjQgMTIwIDBjMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCA1NiA4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw4IDAgMC01NmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMTIwIDAgMCA4MCA4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw4IDAgMC04MC0xMjAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA1NiA4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw4IDAgMC01NmMwLTM5LjggMzIuMi03MiA3Mi03MmwxMjAgMCAwLTY0LTggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NHoiXX0sdzVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1zdGFycyIsaWNvbjpbNTEyLDUxMixbMTI5MzIxLCJncmluLXN0YXJzIl0sImY1ODciLCJNMjU2IDUxMmMxNDEuNCAwIDI1Ni0xMTQuNiAyNTYtMjU2IDAtMjQuNC0zLjQtNDguMS05LjgtNzAuNSAxOC42LTM2LjEtMi43LTgzLjYtNDYuNy05MC00Ni45LTU4LjMtMTE4LjktOTUuNS0xOTkuNS05NS41UzEwMy40IDM3LjMgNTYuNSA5NS41Yy00NCA2LjQtNjUuMyA1My45LTQ2LjcgOTAtNi40IDIyLjQtOS44IDQ2LTkuOCA3MC41IDAgMTQxLjQgMTE0LjYgMjU2IDI1NiAyNTZ6TTM4Ni43IDMyNC45YzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMS0yMi40IDYxLjMtODEuMyAxMDUuMS0xNTAuMyAxMDUuMVMxMjguMSA0MDQuMiAxMDUuNyAzNDIuOWMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xem0tMzEuNi0yMzFjNS4zLTEwLjcgMjAuNS0xMC43IDI1LjggMGwyMC45IDQyLjQgNDYuNyA2LjhjMTEuOCAxLjcgMTYuNSAxNi4yIDggMjQuNWwtMzMuOCAzMyA4IDQ2LjZjMiAxMS43LTEwLjMgMjAuNy0yMC45IDE1LjJsLTQxLjgtMjItNDEuOCAyMmMtMTAuNSA1LjUtMjIuOS0zLjQtMjAuOS0xNS4ybDgtNDYuNi0zMy44LTMzYy04LjUtOC4zLTMuOC0yMi44IDgtMjQuNWw0Ni43LTYuOCAyMC45LTQyLjR6bS0xOTguMiAwbDIwLjkgNDIuNCA0Ni43IDYuOGMxMS44IDEuNyAxNi41IDE2LjIgOCAyNC41bC0zMy44IDMzIDggNDYuNmMyIDExLjctMTAuMyAyMC43LTIwLjkgMTUuMmwtNDEuOC0yMi00MS44IDIyYy0xMC41IDUuNS0yMi45LTMuNC0yMC45LTE1LjJsOC00Ni42LTMzLjgtMzNjLTguNS04LjMtMy44LTIyLjggOC0yNC41bDQ2LjctNi44IDIwLjktNDIuNGM1LjMtMTAuNyAyMC41LTEwLjcgMjUuOCAweiJdfSx3RXQ9dzVlLE01ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzb3J0LXVwIixpY29uOlszODQsNTEyLFsic29ydC1hc2MiXSwiZjBkZSIsIk0zMiAyMjRjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhTLjIgMTc4LjUgOS40IDE2OS40bDE2MC0xNjBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTYwIDE2MGM5LjIgOS4yIDExLjkgMjIuOSA2LjkgMzQuOVMzNjQuOSAyMjQgMzUyIDIyNEwzMiAyMjR6Il19LE1FdD1NNWUsX3RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImV5ZSIsaWNvbjpbNTc2LDUxMixbMTI4MDY1XSwiZjA2ZSIsIk0yODggMzJjLTgwLjggMC0xNDUuNSAzNi44LTE5Mi42IDgwLjYtNDYuOCA0My41LTc4LjEgOTUuNC05MyAxMzEuMS0zLjMgNy45LTMuMyAxNi43IDAgMjQuNiAxNC45IDM1LjcgNDYuMiA4Ny43IDkzIDEzMS4xIDQ3LjEgNDMuNyAxMTEuOCA4MC42IDE5Mi42IDgwLjZzMTQ1LjUtMzYuOCAxOTIuNi04MC42YzQ2LjgtNDMuNSA3OC4xLTk1LjQgOTMtMTMxLjEgMy4zLTcuOSAzLjMtMTYuNyAwLTI0LjYtMTQuOS0zNS43LTQ2LjItODcuNy05My0xMzEuMS00Ny4xLTQzLjctMTExLjgtODAuNi0xOTIuNi04MC42ek0xNDQgMjU2YTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTE0NC02NGMwIDM1LjMtMjguNyA2NC02NCA2NC0xMS41IDAtMjIuMy0zLTMxLjctOC40LTEgMTAuOS0uMSAyMi4xIDIuOSAzMy4yIDEzLjcgNTEuMiA2Ni40IDgxLjYgMTE3LjYgNjcuOXM4MS42LTY2LjQgNjcuOS0xMTcuNmMtMTIuMi00NS43LTU1LjUtNzQuOC0xMDEuMS03MC44IDUuMyA5LjMgOC40IDIwLjEgOC40IDMxLjd6Il19LFR0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXJldC1sZWZ0IixpY29uOlsyNTYsNTEyLFtdLCJmMGQ5IiwiTTcuNyAyMzUuOGMtMTAuMyAxMi42LTkuNSAzMS4xIDIuMiA0Mi44bDEyOCAxMjhjOS4yIDkuMiAyMi45IDExLjkgMzQuOSA2LjlzMTkuOC0xNi42IDE5LjgtMjkuNmwwLTI1NmMwLTEyLjktNy44LTI0LjYtMTkuOC0yOS42cy0yNS43LTIuMi0zNC45IDYuOWwtMTI4IDEyOC0yLjIgMi40eiJdfSxrNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXBwbGUtd2hvbGUiLGljb246WzQ0OCw1MTIsWzEyNzgyMiwxMjc4MjMsImFwcGxlLWFsdCJdLCJmNWQxIiwiTTIyNCAxMTJjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwbDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMTZjMCA0NC4yLTM1LjggODAtODAgODBsLTE2IDB6TTAgMjg4YzAtNzYuMyAzNS43LTE2MCAxMTItMTYwIDI3LjMgMCA1OS43IDEwLjMgODIuNyAxOS4zIDE4LjggNy4zIDM5LjkgNy4zIDU4LjcgMCAyMi45LTguOSA1NS40LTE5LjMgODIuNy0xOS4zIDc2LjMgMCAxMTIgODMuNyAxMTIgMTYwIDAgMTI4LTgwIDIyNC0xNjAgMjI0LTE2LjUgMC0zOC4xLTYuNi01MS41LTExLjMtOC4xLTIuOC0xNi45LTIuOC0yNSAwLTEzLjQgNC43LTM1IDExLjMtNTEuNSAxMS4zLTgwIDAtMTYwLTk2LTE2MC0yMjR6Il19LGtFdD1rNWUsUzVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjcm9sbC10b3JhaCIsaWNvbjpbNTc2LDUxMixbInRvcmFoIl0sImY2YTAiLCJNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDAgNjguOSAwIDg2LjcgMTMuNCA5My4zIDMybDM4OS41IDBjNi42LTE4LjYgMjQuNC0zMiA0NS4zLTMyIDI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDE2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4LTIwLjkgMC0zOC43LTEzLjQtNDUuMy0zMkw5My4zIDQ4MGMtNi42IDE4LjYtMjQuNCAzMi00NS4zIDMyLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgNDh6TTE3Ny45IDMwMWMtMS4yIDItMS45IDQuMi0xLjkgNi42IDAgNi45IDUuNiAxMi41IDEyLjUgMTIuNWw1Ni45IDAgMzAuNSA0OS4yYzIuNiA0LjIgNy4yIDYuOCAxMi4yIDYuOHM5LjYtMi42IDEyLjItNi44bDMwLjUtNDkuMiA1Ni45IDBjNi45IDAgMTIuNS01LjYgMTIuNS0xMi41IDAtMi4zLS42LTQuNi0xLjktNi42bC0yNy44LTQ1IDI3LjgtNDVjMS4yLTIgMS45LTQuMiAxLjktNi42IDAtNi45LTUuNi0xMi41LTEyLjUtMTIuNWwtNTYuOSAwLTMwLjUtNDkuMmMtMi42LTQuMi03LjItNi44LTEyLjItNi44cy05LjYgMi42LTEyLjIgNi44bC0zMC41IDQ5LjItNTYuOSAwYy02LjkgMC0xMi41IDUuNi0xMi41IDEyLjUgMCAyLjMgLjYgNC42IDEuOSA2LjZsMjcuOCA0NS0yNy44IDQ1eiJdfSxTRXQ9UzVlLHpFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNTEwIiwiTTUyOCAyMjQuMWM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODB6TTI2OC42IDYuNWMxMi4yLTkuMyAyOS43LTguNyA0MS4yIDJsMTg1IDE3MS44QzQ0MC4yIDE5NSA0MDAgMjQ0LjggNDAwIDMwNGwwIDI0LjRjLTE5LjYgMTcuNi0zMiA0My4xLTMyIDcxLjVsMCA5NmMwIDUuNSAuNSAxMC45IDEuMyAxNi4xTDE0NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOCAyLjQtMnpNMjcyIDMyMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NiA5NiAwIDAtODcuM2MwLTE2LjUgNy0zMS41IDE4LjQtNDIuMS04LjctOS0yMC45LTE0LjYtMzQuNC0xNC42bC0zMiAwem0yNTYtNDcuOWMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45YzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSxDRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLWxlZnQtcmlnaHQtdG8tbGluZSIsaWNvbjpbNTc2LDUxMixbXSwiZTRiYSIsIk0zMiA5NkMxNC4zIDk2IDAgMTEwLjMgMCAxMjhMMCAzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI1NmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMzkwLjYgMzQyLjZsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5LjQgOS40LTEzMy41IDAgOS40LTkuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTYgNi05LjQgMTQuMS05LjQgMjIuNnMzLjQgMTYuNiA5LjQgMjIuNmw2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05LjQtOS40IDEzMy41IDAtOS40IDkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMHpNNTc2IDEyOGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDI1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjU2eiJdfSxndj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFzaCIsaWNvbjpbNDQ4LDUxMixbXSwiZjFmOCIsIk0xMzYuNyA1LjlMMTI4IDMyIDMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5NmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMC04LjctMjYuMUMzMDYuOS03LjIgMjk0LjctMTYgMjgwLjktMTZMMTY3LjEtMTZjLTEzLjggMC0yNiA4LjgtMzAuNCAyMS45ek00MTYgMTQ0TDMyIDE0NCA1My4xIDQ2Ny4xQzU0LjcgNDkyLjQgNzUuNyA1MTIgMTAxIDUxMkwzNDcgNTEyYzI1LjMgMCA0Ni4zLTE5LjYgNDcuOS00NC45TDQxNiAxNDR6Il19LHo1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLXNhZC10ZWFyIixpY29uOls1MTIsNTEyLFsxMjg1NDYsInNhZC10ZWFyIl0sImY1YjQiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMjcxIDk4YzUuNS0xLjMgMTEuMS0yIDE3LTIgMjQuMSAwIDQ1LjQgMTEuOCA1OC41IDMwIDcuNyAxMC44IDIyLjcgMTMuMiAzMy41IDUuNXMxMy4yLTIyLjcgNS41LTMzLjVjLTIxLjctMzAuMi01Ny4zLTUwLTk3LjUtNTAtMTIuNSAwLTI0LjYgMS45LTM1LjkgNS41IDkuOCAxMi43IDE2LjUgMjcuOSAxOC45IDQ0LjZ6TTE3NiAyNDBhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0xOTItMzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMTg1LjQgMjkyLjhjLTIuNC0yLjktNS43LTQuOC05LjQtNC44cy03IDEuOS05LjQgNC44Yy02LjUgNy44LTEyLjYgMTYuMS0xOC4zIDI0LjYtOSAxMy40LTIwLjMgMzAuMi0yMC4zIDQ3LjQgMCAyOC4zIDIxLjUgNTEuMiA0OCA1MS4yczQ4LTIyLjkgNDgtNTEuMmMwLTE3LjItMTEuMi0zNC0yMC4zLTQ3LjQtNS43LTguNS0xMS45LTE2LjctMTguMy0yNC42eiJdfSxfRXQ9ejVlLFRFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYXgiLGljb246WzUxMiw1MTIsWzEyODIyNCwxMjg0MzldLCJmMWFjIiwiTTE2MCA2NGwwIDgwIDY0IDAgMC04MCAxNDYuNyAwIDQ1LjMgNDUuMyAwIDM0LjcgNjQgMCAwLTM0LjdjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMNDE2IDE4LjdDNDA0IDYuNyAzODcuNyAwIDM3MC43IDBMMjI0IDBjLTM1LjMgMC02NCAyOC43LTY0IDY0ek0zMiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyTDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yODhjMC0xNy43LTE0LjMtMzItMzItMzJsLTQ4IDB6bTQ0OCA2NGwtMzIwIDAgMCAyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yMjRjMC0xNy43LTE0LjMtMzItMzItMzJ6TTIyNCAyODhhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMCA5NmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek0zMzYgMjY0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMzEyIDM4NGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwek00MjQgMjY0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNNDAwIDM4NGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxMRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWNpcmNsZS1wbHVzIixpY29uOls2NDAsNTEyLFtdLCJlNTQxIiwiTTI4MCAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43TDM0MSAyODYuNmMxMi44LTE3LjUgMjguNS0zMi43IDQ2LjMtNDVsLTU2LjItNzUuN0MzMDYgMTMyIDI2Ni4zIDExMiAyMjQgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTQ0IDIzNi43IDE0NCA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3pNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTE2LTIwOGwwIDQ4IDQ4IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTQ4IDAgMCA0OGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTQ4LTQ4IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsNDggMCAwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZ6Il19LCRFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW1zYSIsaWNvbjpbNTEyLDUxMixbXSwiZjY2NSIsIk0zNC42IDI4OEw4MCAyODhjOC44IDAgMTYtNy4yIDE2LTE2TDk2IDcyYzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAxMzJjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC0xNjRjMC0yMi4xIDE3LjktNDAgNDAtNDBzNDAgMTcuOSA0MCA0MGwwIDE2NGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTEzMmMwLTIyLjEgMTcuOS00MCA0MC00MHM0MCAxNy45IDQwIDQwbDAgMjAwYzAgOC44IDcuMiAxNiAxNiAxNmw0NS40IDBjMTkuMSAwIDM0LjYgMTUuNSAzNC42IDM0LjYgMCA4LjYtMy4yIDE2LjktOSAyMy4zTDQxNi42IDQ0MWMtNDEuMSA0NS4yLTk5LjQgNzEtMTYwLjYgNzFTMTM2LjYgNDg2LjIgOTUuNCA0NDFMOSAzNDUuOWMtNS44LTYuNC05LTE0LjctOS0yMy4zIDAtMTkuMSAxNS41LTM0LjYgMzQuNi0zNC42ek0yNTYgMjg4Yy0zOC40IDAtNzYuOCAzNS44LTkwLjYgNTAuMi0zLjYgMy43LTUuNCA4LjctNS40IDEzLjhzMS44IDEwLjEgNS40IDEzLjhDMTc5LjIgMzgwLjIgMjE3LjYgNDE2IDI1NiA0MTZzNzYuOC0zNS44IDkwLjYtNTAuMmMzLjYtMy43IDUuNC04LjcgNS40LTEzLjhzLTEuOC0xMC4xLTUuNC0xMy44QzMzMi44IDMyMy44IDI5NC40IDI4OCAyNTYgMjg4em0wIDMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sREV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1jaXJjbGUtcXVlc3Rpb24iLGljb246WzY0MCw1MTIsW10sImU1NDIiLCJNMjgwIDI0YTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHptMjQgMjEyLjdMMzQxIDI4Ni42YzEyLjgtMTcuNSAyOC41LTMyLjcgNDYuMy00NWwtNTYuMi03NS43QzMwNiAxMzIgMjY2LjMgMTEyIDIyNCAxMTJzLTgyIDIwLTEwNy4yIDUzLjlsLTcwLjUgOTVjLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNkwxNDQgMjM2LjcgMTQ0IDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI3NS4zek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTEwMGMtMTEuNiAwLTIxLjMgOC4yLTIzLjUgMTkuMi0xLjggOC43LTEwLjIgMTQuMy0xOC45IDEyLjVzLTE0LjMtMTAuMi0xMi41LTE4LjljNS4yLTI1LjYgMjcuOC00NC44IDU0LjktNDQuOCAzMC45IDAgNTYgMjUuMSA1NiA1NiAwIDE5LjgtMTEuNyAzNy44LTI5LjggNDUuOWwtMTAuNCA0LjZjLTEuMiA3LjctNy44IDEzLjUtMTUuOCAxMy41LTguOCAwLTE2LTcuMi0xNi0xNiAwLTExLjIgNi42LTIxLjMgMTYuOC0yNS45bDEyLjQtNS41YzYuNi0yLjkgMTAuOC05LjQgMTAuOC0xNi42IDAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxBRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xpcGJvYXJkLWNoZWNrIixpY29uOlszODQsNTEyLFtdLCJmNDZjIiwiTTI1NiAwYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMmw4LjYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM1MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsOC42IDBDODMuNiAxMi45IDEwNC4zIDAgMTI4IDBMMjU2IDB6bTI2LjkgMjEyLjZjLTEwLjctNy44LTI1LjctNS40LTMzLjUgNS4zbC04NS42IDExNy43LTI2LjUtMjcuNGMtOS4yLTkuNS0yNC40LTkuOC0zMy45LS42cy05LjggMjQuNC0uNiAzMy45bDQ2LjQgNDhjNC45IDUuMSAxMS44IDcuOCAxOC45IDcuM3MxMy42LTQuMSAxNy44LTkuOEwyODguMiAyNDYuMWM3LjgtMTAuNyA1LjQtMjUuNy01LjMtMzMuNXpNMTM2IDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDEzNiA2NHoiXX0sQzVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoYXJlLWZyb20tc3F1YXJlIixpY29uOls1NzYsNTEyLFs2MTUwOSwic2hhcmUtc3F1YXJlIl0sImYxNGQiLCJNMzg0LjUgMjRsMCA3Mi02NCAwYy03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NCAwIDkzLjQgODIuOCAxMzQuOCAxMDAuNiAxNDIuNiAyLjIgMSA0LjYgMS40IDcuMSAxLjRsMi41IDBjOS44IDAgMTcuOC04IDE3LjgtMTcuOCAwLTguMy01LjktMTUuNS0xMi44LTIwLjMtOC45LTYuMi0xOS4yLTE4LjItMTkuMi00MC41IDAtNDUgMzYuNS04MS41IDgxLjUtODEuNWwzMC41IDAgMCA3MmMwIDkuNyA1LjggMTguNSAxNC44IDIyLjJzMTkuMyAxLjcgMjYuMi01LjJsMTM2LTEzNmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOUw0MjUuNSA3Yy02LjktNi45LTE3LjItOC45LTI2LjItNS4yUzM4NC41IDE0LjMgMzg0LjUgMjR6bS0yNzIgNzJjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMjU2YzAgNDQuMiAzNS44IDgwIDgwIDgwbDI1NiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTI1NiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yNTZjMC04LjggNy4yLTE2IDE2LTE2bDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE2IDB6Il19LEVFdD1DNWUsTHRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlY2VpcHQiLGljb246WzM4NCw1MTIsWzEyOTUzNF0sImY1NDMiLCJNMTQgMi4yQzIyLjUtMS43IDMyLjUtLjMgMzkuNiA1LjhMODAgNDAuNCAxMjAuNCA1LjhjOS03LjcgMjIuMy03LjcgMzEuMiAwTDE5MiA0MC40IDIzMi40IDUuOGM5LTcuNyAyMi4yLTcuNyAzMS4yIDBMMzA0IDQwLjQgMzQ0LjQgNS44YzcuMS02LjEgMTcuMS03LjUgMjUuNi0zLjZTMzg0IDE0LjYgMzg0IDI0bDAgNDY0YzAgOS40LTUuNSAxNy45LTE0IDIxLjhzLTE4LjUgMi41LTI1LjYtMy42bC00MC40LTM0LjYtNDAuNCAzNC42Yy05IDcuNy0yMi4yIDcuNy0zMS4yIDBsLTQwLjQtMzQuNi00MC40IDM0LjZjLTkgNy43LTIyLjMgNy43LTMxLjIgMEw4MCA0NzEuNiAzOS42IDUwNi4yYy03LjEgNi4xLTE3LjEgNy41LTI1LjYgMy42UzAgNDk3LjQgMCA0ODhMMCAyNEMwIDE0LjYgNS41IDYuMSAxNCAyLjJ6TTEwNCAxMzZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE3NiAwek04MCAzNTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE3NiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptMjQtMTIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNzYgMHoiXX0sUEV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVxdWFscyIsaWNvbjpbNDQ4LDUxMixbNjI3NjRdLCIzZCIsIk0zMiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMTI4em0wIDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMjB6Il19LElFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGV2cm9uLXVwIixpY29uOls0NDgsNTEyLFtdLCJmMDc3IiwiTTIwMS40IDEwNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDE5MiAxOTJjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMjI0IDE3My4zIDU0LjYgMzQyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDE5Mi0xOTJ6Il19LE5FdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aXJ1cy1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZTA3NSIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC04OC42LTg4LjZjMS43LTEyLjEtMi0yNC44LTExLjMtMzQtMzEuMi0zMS4yLTkuMS04NC41IDM1LTg0LjUgMjIuMSAwIDQwLTE3LjkgNDAtNDBzLTE3LjktNDAtNDAtNDBjLTQ0LjEgMC02Ni4xLTUzLjMtMzUtODQuNSAxNS42LTE1LjYgMTUuNi00MC45IDAtNTYuNnMtNDAuOS0xNS42LTU2LjYgMGMtMzEuMiAzMS4yLTg0LjUgOS4xLTg0LjUtMzUgMC0yMi4xLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBjMCA0NC4xLTUzLjMgNjYuMS04NC41IDM1LTkuMy05LjMtMjItMTMtMzQtMTEuM0w0MS0yNC45ek03MiAyMTZjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBjNDQuMSAwIDY2LjEgNTMuMyAzNSA4NC41LTE1LjYgMTUuNi0xNS42IDQwLjkgMCA1Ni42czQwLjkgMTUuNiA1Ni42IDBjMzEuMi0zMS4yIDg0LjUtOS4xIDg0LjUgMzUgMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MGMwLTIxLjQgMTIuNi0zNy42IDI5LjEtNDUuMWwtMjQwLTI0MEMxMDkuNiAyMDMuNCA5My40IDIxNiA3MiAyMTZ6Il19LFJFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZjcxNSIsIk03LTI1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwTDU2OSA1MDNjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEw3IDlDLTIuMy0uNC0yLjMtMTUuNiA3LTI1eiJdfSxPRXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXhwYW5kIixpY29uOls0NDgsNTEyLFtdLCJmMDY1IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjQgNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnpNNjQgMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgMzM0LjMgMCAzNTJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAtNjR6TTMyMCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwIDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAwek00NDggMzUyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjQtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtOTZ6Il19LF81ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJub3RlLXN0aWNreSIsaWNvbjpbNDQ4LDUxMixbNjIwMjYsInN0aWNreS1ub3RlIl0sImYyNDkiLCJNNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjEzLjVjMCAxNy02LjcgMzMuMy0xOC43IDQ1LjNMMzIyLjcgNDYxLjNjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdMNjQgNDgwek0zODkuNSAzMDRMMjk2IDMwNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA5My41IDExNy41LTExNy41eiJdfSxGRXQ9XzVlLFQ1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZS1jb2x1bW5zIixpY29uOls0NDgsNTEyLFsiY29sdW1ucyJdLCJmMGRiIiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em02NCA2NGwwIDI1NiAxMjggMCAwLTI1Ni0xMjggMHptMzIwIDBsLTEyOCAwIDAgMjU2IDEyOCAwIDAtMjU2eiJdfSxCRXQ9VDVlLEhFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tc2hlbHRlciIsaWNvbjpbNTEyLDUxMixbXSwiZTU0ZiIsIk0yNzEuOSA0LjJjLTkuOC01LjYtMjEuOS01LjYtMzEuOCAwbC0yMjQgMTI4QzYuMiAxMzcuOSAwIDE0OC41IDAgMTYwTDAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJMNjQgMTc4LjYgMjU2IDY4LjkgNDQ4IDE3OC42IDQ0OCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyMGMwLTExLjUtNi4yLTIyLjEtMTYuMS0yNy44bC0yMjQtMTI4ek0yNTYgMjA4YTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHptLTggMTkybDE2IDAgMCA4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTc0LjUgMjYuOSA0OS45YzYuMyAxMS43IDIwLjggMTYgMzIuNSA5LjhzMTYtMjAuOCA5LjgtMzIuNWwtMzMuMi02MS43QzMyOS43IDI0NS4xIDI5NC40IDIyNCAyNTYgMjI0cy03My43IDIxLjEtOTEuOSA1NC45bC0zMy4yIDYxLjdjLTYuMyAxMS43LTEuOSAyNi4yIDkuOCAzMi41czI2LjIgMS45IDMyLjUtOS44TDIwMCAzMTMuNSAyMDAgNDg4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04OHoiXX0scUV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1ub3RjaCIsaWNvbjpbNTEyLDUxMixbXSwiZjFjZSIsIk0yMjIuNyAzMi4xYzUgMTYuOS00LjYgMzQuOC0yMS41IDM5LjgtNzkuMyAyMy42LTEzNy4xIDk3LjEtMTM3LjEgMTg0LjEgMCAxMDYgODYgMTkyIDE5MiAxOTJzMTkyLTg2IDE5Mi0xOTJjMC04Ni45LTU3LjgtMTYwLjQtMTM3LjEtMTg0LjEtMTYuOS01LTI2LjYtMjIuOS0yMS41LTM5LjhzMjIuOS0yNi42IDM5LjgtMjEuNUM0MzQuOSA0Mi4xIDUxMiAxNDAgNTEyIDI1NiA1MTIgMzk3LjQgMzk3LjQgNTEyIDI1NiA1MTJTMCAzOTcuNCAwIDI1NmMwLTExNiA3Ny4xLTIxMy45IDE4Mi45LTI0NS40IDE2LjktNSAzNC44IDQuNiAzOS44IDIxLjV6Il19LFZFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YXRlciIsaWNvbjpbNTEyLDUxMixbXSwiZjc3MyIsIk00MTAuNiAxMjQuMWMyMC43IDE1LjYgNDYgMzAuNyA3NC4yIDM0LjUgMTMuMSAxLjggMjUuMi03LjUgMjctMjAuNnMtNy41LTI1LjItMjAuNi0yN2MtMTUuOS0yLjEtMzMuMi0xMS4zLTUxLjctMjUuMi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0xOC41IDEzLjktMzUuOCAyMy4xLTUxLjcgMjUuMi0xMy4xIDEuOC0yMi40IDEzLjgtMjAuNiAyN3MxMy44IDIyLjQgMjcgMjAuNmMyOC4yLTMuOCA1My42LTE4LjkgNzQuMi0zNC41IDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1LjljMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDB6bTAgMTQ0YzIwLjcgMTUuNiA0NiAzMC43IDc0LjIgMzQuNSAxMy4xIDEuOCAyNS4yLTcuNSAyNy0yMC42cy03LjUtMjUuMi0yMC42LTI3Yy0xNS45LTIuMS0zMy4yLTExLjMtNTEuNy0yNS4yLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yNCAxOC4xLTQwLjcgMjYuMy01NC41IDI2LjNzLTMwLjUtOC4yLTU0LjUtMjYuM2MtMzguNC0yOS05MC41LTI5LTEyOSAwLTE4LjUgMTMuOS0zNS44IDIzLjEtNTEuNyAyNS4yLTEzLjEgMS43LTIyLjQgMTMuOC0yMC42IDI3czEzLjggMjIuNCAyNyAyMC42YzI4LjItMy44IDUzLjYtMTguOSA3NC4yLTM0LjUgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOWMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMHptLTcxLjIgMTQ0YzIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDIwLjcgMTUuNiA0NiAzMC43IDc0LjIgMzQuNSAxMy4xIDEuOCAyNS4yLTcuNSAyNy0yMC42cy03LjUtMjUuMi0yMC42LTI3Yy0xNS45LTIuMS0zMy4yLTExLjMtNTEuNy0yNS4yLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yNCAxOC4xLTQwLjcgMjYuMy01NC41IDI2LjNzLTMwLjUtOC4yLTU0LjUtMjYuM2MtMzguNC0yOS05MC41LTI5LTEyOSAwLTE4LjUgMTMuOS0zNS44IDIzLjEtNTEuNyAyNS4yLTEzLjEgMS44LTIyLjQgMTMuOC0yMC42IDI3czEzLjggMjIuNCAyNyAyMC42YzI4LjItMy44IDUzLjYtMTguOSA3NC4yLTM0LjUgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOXoiXX0sTDVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRlbGV0ZS1sZWZ0IixpY29uOls2NDAsNTEyLFs5MDAzLCJiYWNrc3BhY2UiXSwiZjU1YSIsIk01NzYgMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDIwNS4zIDY0Yy0xNyAwLTMzLjMgNi43LTQ1LjMgMTguN0w5LjQgMjMzLjRjLTYgNi05LjQgMTQuMS05LjQgMjIuNnMzLjQgMTYuNiA5LjQgMjIuNkwxNjAgNDI5LjNjMTIgMTIgMjguMyAxOC43IDQ1LjMgMTguN0w1MTIgNDQ4YzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2ek0yODQuMSAxODguMWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwzMy45IDMzLjkgMzMuOS0zMy45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMzMuOSAzMy45IDMzLjkgMzMuOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC0zMy45LTMzLjktMzMuOSAzMy45Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMzLjktMzMuOS0zMy45LTMzLjljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45eiJdfSxqRXQ9TDVlLEllZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicm9vbS1iYWxsIixpY29uOls1NzYsNTEyLFsicXVpZGRpdGNoIiwicXVpZGRpdGNoLWJyb29tLWJhbGwiXSwiZjQ1OCIsIk00OTYgNTQ0YTgwIDgwIDAgMSAxIDAtMTYwIDgwIDgwIDAgMSAxIDAgMTYwek0xMDYuOCAyNzcuMmMzMC42LTMwLjYgNzMuMS00NS45IDExNS44LTQyLjJMMzQxIDM1My4zYzMuNyA0Mi44LTExLjYgODUuMi00Mi4yIDExNS45LTI3LjQgMjcuNC02NC42IDQyLjgtMTAzLjMgNDIuOEwyMi4xIDUxMmMtMTIuMiAwLTIyLjEtOS45LTIyLjEtMjIuMSAwLTYuMyAyLjctMTIuMyA3LjMtMTYuNUwxMzMuNyAzNTkuN2M0LjItMy43LS40LTEwLjQtNS40LTcuOUw3Ny4yIDM3Ny40Yy02LjEgMy0xMy4yLTEuNC0xMy4yLTguMiAwLTMxLjUgMTIuNS02MS44IDM0LjgtODRsOC04em00MTctMjcwYzEyLjYtMTAuMyAzMS4xLTkuNSA0Mi44IDIuMnMxMi40IDMwLjIgMi4yIDQyLjhsLTIuMiAyLjQtMTkyIDE5MiAzNC44IDM0LjdjNC4yIDQuMiA2LjYgMTAgNi42IDE2IDAgMTIuNS0xMC4xIDIyLjYtMjIuNiAyMi42bC0yOS4xIDAtMTA4LjMtMTA4LjMgMC0yOS4xYzAtMTIuNSAxMC4xLTIyLjYgMjIuNi0yMi42IDYgMCAxMS44IDIuNCAxNiA2LjZsMzQuOCAzNC43IDE5Mi0xOTIgMi40LTIuMnoiXX0sVUV0PUllZSxXRXQ9SWVlLEdFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJqIixpY29uOlszMjAsNTEyLFsxMDZdLCI0YSIsIk0yODggMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNTZjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMCA0MDguNCAwIDMyMGwwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAzMmMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSwkNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2h1dHRsZS1zcGFjZSIsaWNvbjpbNTc2LDUxMixbInNwYWNlLXNodXR0bGUiXSwiZjE5NyIsIk0wIDM2OGwwIDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDUwIDBjNDAuNiAwIDgwLjQtMTEgMTE1LjItMzEuOWwxMzMuNS04MC4xLTkzLjMgMC02NC45IDM4LjljLTE0IDguNC0yOC45IDE0LjctNDQuNSAxOWwwLTY2LjRjOS43LTUuNiAxNy44LTEzLjcgMjMuNC0yMy40bDE5OC44IDBjNjcuMSAwIDEyNy44LTIwLjYgMTcwLjMtNzAuNiA0LjYtNS40IDQuNi0xMy4zIDAtMTguOC00Mi41LTUwLjEtMTAzLjItNzAuNi0xNzAuMy03MC42bC0xOTguOCAwYy01LjYtOS43LTEzLjctMTcuOC0yMy40LTIzLjRsMC02Ni40YzE1LjYgNC4yIDMwLjYgMTAuNiA0NC41IDE5bDY0LjkgMzguOSA5My4zIDAtMTMzLjUtODAuMUMxNzguNCA0MyAxMzguNiAzMiA5OCAzMkw0OCAzMkMyMS41IDMyIDAgNTMuNSAwIDgwTDAgMzY4em05NiAwbDAgNjQtNDggMCAwLTY0IDQ4IDB6TTk2IDgwbDAgNjQtNDggMCAwLTY0IDQ4IDB6TTQxNiAyMjRjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6Il19LFlFdD0kNWUsS0V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Inlpbi15YW5nIixpY29uOls1MTIsNTEyLFs5Nzc1XSwiZjZhZCIsIk0yMjQgMTYwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTMyIDM1MmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTAtNDQ4YzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2LTk2IDQzLTk2IDk2IDQzIDk2IDk2IDk2QzE1MCA0NDggNjQgMzYyIDY0IDI1NlMxNTAgNjQgMjU2IDY0ek0yMjQgMzUyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LFpFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdG9wIixpY29uOls0NDgsNTEyLFs5MjA5XSwiZjA0ZCIsIk02NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJ6Il19LFhFdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cm93ZWwiLGljb246WzU3Niw1MTIsW10sImU1ODkiLCJNNDA3LjkgMTgxLjRMMjc3LjMgMzEyIDM0Mi42IDM3Ny40YzcuOSA3LjkgMTEuMSAxOS40IDguNCAzMC4zcy0xMC44IDE5LjYtMjEuNSAyMi45bC0yNTYgODBjLTExLjQgMy41LTIzLjggLjUtMzIuMi03LjlzLTExLjUtMjAuOC03LjktMzIuMmw4MC0yNTZjMy4zLTEwLjcgMTItMTguOSAyMi45LTIxLjVzMjIuNCAuNSAzMC4zIDguNEwyMzIgMjY2LjcgMzYyLjYgMTM2LjFjLTE0LjMtMTQuNi0xNC4yLTM4IC4zLTUyLjVsOTUuNC05NS40YzI2LjktMjYuOSA3MC41LTI2LjkgOTcuNSAwczI2LjkgNzAuNSAwIDk3LjVsLTk1LjQgOTUuNGMtMTQuNSAxNC41LTM3LjkgMTQuNi01Mi41IC4zeiJdfSxENWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1iYWNrLWZpc3QiLGljb246WzM4NCw1MTIsWyJoYW5kLXJvY2siXSwiZjI1NSIsIk03LjQgMjUzLjZDMi42IDI0NS45IDAgMjM3LjEgMCAyMjhsMC0zNmMwLTI2LjUgMjEuNS00OCA0OC00OGwxNiAwIDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDggMTcuMyAwIDMyLjQgOS4xIDQwLjkgMjIuOCA0LjMtMjIuMSAyMy44LTM4LjggNDcuMS0zOC44IDIzLjQgMCA0Mi45IDE2LjggNDcuMSAzOC45IDcuMy00LjQgMTUuOC02LjkgMjQuOS02LjkgMjIuMSAwIDQwLjggMTUgNDYuMyAzNS40IDUuNS0yLjIgMTEuNC0zLjQgMTcuNy0zLjQgMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5Ni45YzAgOS45LTIuMyAxOS43LTYuOCAyOC42bC0zOS42IDc5LjFjLTEwLjggMjEuNy0zMyAzNS40LTU3LjIgMzUuNEw5NiAzNTJjLTE2LjUgMC0zMS44LTguNC00MC42LTIyLjRsLTQ4LTc2ek0zMiA0ODBsMC00OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDY0IDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LFFFdD1ENWUsSkV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbXBlcmF0dXJlLWhpZ2giLGljb246WzUxMiw1MTIsW10sImY3NjkiLCJNOTYgOTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDE2NC43YzI5LjUgMjYuNCA0OCA2NC43IDQ4IDEwNy4zIDAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzQ4IDQ0Ny41IDQ4IDM2OGMwLTQyLjYgMTguNS04MSA0OC0xMDcuM0w5NiA5NnptOTYgMzM2YzM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM0wyMTYgOTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyMTIuN2MtMjMuNSA5LjUtNDAgMzIuNS00MCA1OS4zIDAgMzUuMyAyOC43IDY0IDY0IDY0ek00NjQgODBhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzUyIDgwYTgwIDgwIDAgMSAxIDE2MCAwIDgwIDgwIDAgMSAxIC0xNjAgMHoiXX0sZVB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdyZWF0ZXItdGhhbiIsaWNvbjpbNTEyLDUxMixbNjI3NjldLCIzZSIsIk0zNC45IDUwLjZjLTcuNCAxNi0uNCAzNS4xIDE1LjYgNDIuNUw0MDMuNiAyNTYgNTAuNiA0MTljLTE2IDcuNC0yMy4xIDI2LjQtMTUuNiA0Mi41czI2LjQgMjMgNDIuNSAxNS42bDQxNi0xOTJjMTEuMy01LjIgMTguNi0xNi42IDE4LjYtMjkuMXMtNy4zLTIzLjgtMTguNi0yOS4xTDc3LjQgMzVjLTE2LTcuNC0zNS4xLS40LTQyLjUgMTUuNnoiXX0sdFB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNydXRjaCIsaWNvbjpbNTEyLDUxMixbXSwiZjdmNyIsIk0yOTcuNCA5LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsMTYwIDE2MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGwtMS40LTEuNC0xNTguNiAxNTguNmMtMTggMTgtNDIuNCAyOC4xLTY3LjkgMjguMWwtNTkgMGMtOC41IDAtMTYuNiAzLjQtMjIuNiA5LjQtNjEuNyA2MS43LTkyLjggOTIuOC05My4zIDkzLjMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsMTYtMTYgMCAwIDc3LjMtNzcuM2M2LTYgOS40LTE0LjEgOS40LTIyLjZsMC01OWMwLTI1LjUgMTAuMS00OS45IDI4LjEtNjcuOUwyOTguNyA1NiAyOTcuNCA1NC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3pNMzQ0IDEwMS4zTDI2MS4zIDE4NCAzMjggMjUwLjcgNDEwLjcgMTY4IDM0NCAxMDEuM3ptLTEyOCAxMjhsLTMwLjYgMzAuNmMtNiA2LTkuNCAxNC4xLTkuNCAyMi42bDAgNTMuNSA1My41IDBjOC41IDAgMTYuNi0zLjQgMjIuNi05LjRMMjgyLjcgMjk2IDIxNiAyMjkuM3oiXX0sQTVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNlcHRhZ29uIixpY29uOls1NzYsNTEyLFsiaGVwdGFnb24iXSwiZTgyMCIsIk0yNjcuNC0zMS41YzE1LjktNS41IDMzLjUtNC42IDQ4LjggMi43bDE3Mi40IDgzIDYuMyAzLjVjMTQuMiA5IDI0LjUgMjMuMyAyOC4zIDM5LjlsNDIuNiAxODYuNSAxLjIgNy4yYzEuNiAxNC4zLTEuNyAyOC44LTkuNCA0MS4xbC00LjIgNS45LTExOS4zIDE0OS42Yy0xMi4xIDE1LjItMzAuNiAyNC4xLTUwIDI0LjFsLTE5MS4zIDBjLTE5LjUgMC0zNy45LTguOS01MC0yNC4xTDIzLjUgMzM4LjRjLTEyLjEtMTUuMi0xNi43LTM1LjItMTIuMy01NC4ybDQyLjYtMTg2LjUgMi03YzUuNi0xNS45IDE3LjItMjkgMzIuNi0zNi40bDE3Mi40LTgzIDYuNy0yLjd6Il19LGFQdD1BNWUsclB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0cmVldC12aWV3IixpY29uOls1MTIsNTEyLFtdLCJmMjFkIiwiTTI1NiAwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek0yMjQgMTYwbDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA0OGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMS44IDAtMTEuMSA5OS41Yy0xLjggMTYuMi0xNS41IDI4LjUtMzEuOCAyOC41bC0zOC43IDBjLTE2LjMgMC0zMC0xMi4zLTMxLjgtMjguNWwtMTEuMS05OS41LTEuOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTQ4YzAtMzUuMyAyOC43LTY0IDY0LTY0ek00MTIuNCA0MDAuMmMtMTYuMS00LjItMzQuOC03LjYtNTUuNC0xMC4ybDUuMy00Ny43YzIyLjcgMi45IDQzLjcgNi43IDYyLjEgMTEuNSAyMi40IDUuOCA0Mi42IDEzLjMgNTcuOCAyMy4zIDE0LjcgOS42IDI5LjggMjQuOSAyOS44IDQ3cy0xNS4xIDM3LjQtMjkuOCA0N2MtMTUuMiA5LjktMzUuNSAxNy41LTU3LjggMjMuMy00NS4xIDExLjctMTA1LjMgMTcuOC0xNjguNCAxNy44cy0xMjMuMy02LjEtMTY4LjQtMTcuOEM2NS4yIDQ4OC40IDQ1IDQ4MC45IDI5LjggNDcxIDE1LjEgNDYxLjQgMCA0NDYuMSAwIDQyNHMxNS4xLTM3LjQgMjkuOC00N2MxNS4yLTkuOSAzNS41LTE3LjUgNTcuOC0yMy4zIDE4LjUtNC44IDM5LjUtOC42IDYyLjEtMTEuNUwxNTUgMzkwYy0yMC42IDIuNi0zOS4zIDYuMS01NS40IDEwLjItNTYuNiAxNC42LTU2LjYgMzIuOSAwIDQ3LjUgMzkuOSAxMC4zIDk1LjggMTYuMiAxNTYuNCAxNi4yczExNi41LTUuOSAxNTYuNC0xNi4yYzU2LjYtMTQuNiA1Ni42LTMyLjkgMC00Ny41eiJdfSxzUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2F2ZS1zcXVhcmUiLGljb246WzUxMiw1MTIsW10sImY4M2UiLCJNNjQgOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyODggOTYgMCAwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xNjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yODgtOTYgMCAwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMiAwIDAtMTI4eiJdfSxpUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5nbGUtbGVmdCIsaWNvbjpbMjU2LDUxMixbODI0OV0sImYxMDQiLCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTYgMjE0LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjB6Il19LG9QdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY3Jld2RyaXZlciIsaWNvbjpbNTc2LDUxMixbMTI5NjkxXSwiZjU0YSIsIk0zNTIuMSAxNDYuN2wwLTQ5LjZjMC0xMC43IDUuMy0yMC43IDE0LjItMjYuNkw0ODUuMi04LjdjNi4zLTQuMiAxNC44LTMuNCAyMC4yIDJsNDUuNCA0NS41YzUuNCA1LjQgNi4yIDEzLjggMiAyMC4yTDQ3My42IDE3Ny44Yy01LjkgOC45LTE1LjkgMTQuMi0yNi42IDE0LjJsLTQ5LjYgMC05MC43IDkwLjdjMTUgMzMuMyA4LjkgNzMuOS0xOC41IDEwMS4zTDE2Mi4xIDUxMC4xYy0xOC43IDE4LjctNDkuMSAxOC43LTY3LjkgMEwzNC4xIDQ0OS45Yy0xOC43LTE4LjctMTguNy00OS4xIDAtNjcuOUwxNjAuMSAyNTZjMjcuNC0yNy40IDY3LjktMzMuNiAxMDEuMy0xOC41bDkwLjctOTAuN3oiXX0sblB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYWN0b3IiLGljb246WzU3Niw1MTIsWzEyODY2OF0sImY3MjIiLCJNMTYwIDk2bDAgOTYgMTMzLjQgMC01Ny42LTk2LTc1LjggMHpNOTYgMjIzTDk2IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEwNy44IDBjMjIuNSAwIDQzLjMgMTEuOCA1NC45IDMxLjFsNzcuNCAxMjguOSA2NCAwIDAtNzJjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDcyIDQ4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0MS41YzAgMTQuMi02LjMgMjcuOC0xNy4zIDM2LjlsLTM1IDI5LjJjMjYuNSAxNS4yIDQ0LjMgNDMuNyA0NC4zIDc2LjQgMCA0OC42LTM5LjQgODgtODggODhzLTg4LTM5LjQtODgtODhjMC0xNC40IDMuNS0yOCA5LjYtNDBsLTEwMS4yIDBjLTMgMTMuNC03LjkgMjYtMTQuNCAzNy43IDcuNyA5LjQgNy4yIDIzLjQtMS42IDMyLjJsLTIyLjYgMjIuNmMtOC44IDguOC0yMi43IDkuMy0zMi4yIDEuNi05LjMgNS4yLTE5LjMgOS4zLTI5LjggMTIuMy0xLjIgMTIuMS0xMS40IDIxLjYtMjMuOSAyMS42bC0zMiAwYy0xMi40IDAtMjIuNy05LjUtMjMuOS0yMS42LTEwLjUtMy0yMC40LTcuMi0yOS44LTEyLjMtOS40IDcuNy0yMy40IDcuMi0zMi4yLTEuNkwzNS41IDQ1My44Yy04LjgtOC44LTkuMy0yMi43LTEuNi0zMi4yLTUuMi05LjMtOS4zLTE5LjMtMTIuMy0yOS44LTEyLjEtMS4yLTIxLjYtMTEuNC0yMS42LTIzLjlsMC0zMmMwLTEyLjQgOS41LTIyLjcgMjEuNi0yMy45IDMtMTAuNSA3LjItMjAuNCAxMi4zLTI5LjgtNy43LTkuNC03LjItMjMuNCAxLjYtMzIuMmwyMi42LTIyLjZjOC44LTguOCAyMi43LTkuMyAzMi4yLTEuNiAxLjktMSAzLjctMiA1LjctM3ptNjQgNjVhNjQgNjQgMCAxIDAgMCAxMjggNjQgNjQgMCAxIDAgMC0xMjh6TTQ0MCA0MjRhNDAgNDAgMCAxIDAgODAgMCA0MCA0MCAwIDEgMCAtODAgMHoiXX0sbFB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyaWRnZS1jaXJjbGUteG1hcmsiLGljb246WzU3Niw1MTIsW10sImU0Y2IiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDggMCAwIDY0LTQwIDAgMCAxMTJjMzcuNiA5LjQgNjQgNDMuMiA2NCA4MmwwIDk0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2IDYuNCAwIDEyLjcgLjYgMTguNyAxLjggMzQuNy00OS41IDkyLjItODEuOCAxNTcuMy04MS44IDI4LjYgMCA1NS42IDYuMiA4MCAxNy40bDAtNjUuNC00MCAwIDAtNjQgOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyek00MjQgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNMjk2IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTg4IDk2bDgwIDAgMCA2NC04MCAwIDAtNjR6TTQzMiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em01OS4zLTE4MC43bC0zNi43IDM2LjcgMzYuNyAzNi43YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42cy0xNi40IDYuMi0yMi42IDBsLTM2LjctMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwcy02LjItMTYuNCAwLTIyLjZsMzYuNy0zNi43LTM2LjctMzYuN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDM2LjcgMzYuNyAzNi43LTM2LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBzNi4yIDE2LjQgMCAyMi42eiJdfSxjUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlhbHMiLGljb246WzUxMiw1MTIsW10sImY0OTMiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwwIDM1MmMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMzUyIDY0IDAgMCAzNTJjMCA1MyA0MyA5NiA5NiA5NnM5Ni00MyA5Ni05NmwwLTM1MmMxNy43IDAgMzItMTQuMyAzMi0zMlM0OTcuNyAwIDQ4MCAwTDMyIDB6TTE2MCA2NGwwIDEyOC02NCAwIDAtMTI4IDY0IDB6bTI1NiAwbDAgMTI4LTY0IDAgMC0xMjggNjQgMHoiXX0sZFB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0ZXRob3Njb3BlIixpY29uOls1NzYsNTEyLFsxMjk2NThdLCJmMGYxIiwiTTMyIDQ4QzMyIDIxLjUgNTMuNSAwIDgwIDBsNDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDEyOGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMTI4LTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzIzOC4zIDAgMjU2IDBsNDggMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE0NGMwIDc3LjQtNTUgMTQyLTEyOCAxNTYuOGwwIDE5LjJjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJzMTEyLTUwLjEgMTEyLTExMmwwLTg1LjVjLTM3LjMtMTMuMi02NC00OC43LTY0LTkwLjUgMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmMwIDQxLjgtMjYuNyA3Ny40LTY0IDkwLjVsMCA4NS41YzAgOTcuMi03OC44IDE3Ni0xNzYgMTc2UzE2MCA0NjUuMiAxNjAgMzY4bDAtMTkuMkM4NyAzMzQgMzIgMjY5LjQgMzIgMTkyTDMyIDQ4ek00ODAgMjI0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sdVB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBvZGNhc3QiLGljb246WzQ0OCw1MTIsW10sImYyY2UiLCJNMzM2IDM1OS44YzM5LjEtMzIuMyA2NC04MS4xIDY0LTEzNS44IDAtOTcuMi03OC44LTE3Ni0xNzYtMTc2UzQ4IDEyNi44IDQ4IDIyNEM0OCAyNzguNyA3Mi45IDMyNy41IDExMiAzNTkuOCAxMTIuNCAzNzcuNCAxMTUuMiA0MDAuMiAxMTguNCA0MjEuNiA0OCAzODMuOSAwIDMwOS41IDAgMjI0IDAgMTAwLjMgMTAwLjMgMCAyMjQgMFM0NDggMTAwLjMgNDQ4IDIyNGMwIDg1LjYtNDggMTU5LjktMTE4LjUgMTk3LjYgMy4zLTIxLjQgNi00NC4yIDYuNC02MS44em0tMTQtNTMuNGMtOC4zLTEyLjYtMTkuMi0yMS42LTMwLjQtMjcuOC0yLjEtMS4xLTQuMi0yLjItNi4zLTMuMiAxMS43LTEzLjkgMTguOC0zMS45IDE4LjgtNTEuNSAwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGMwIDE5LjYgNy4xIDM3LjYgMTguOCA1MS41LTIuMSAxLTQuMiAyLTYuMyAzLjItMTEuMiA2LjItMjIuMSAxNS4yLTMwLjQgMjcuOC0xOC44LTIyLjMtMzAuMS01MS0zMC4xLTgyLjQgMC03MC43IDU3LjMtMTI4IDEyOC0xMjhzMTI4IDU3LjMgMTI4IDEyOGMwIDMxLjQtMTEuMyA2MC4yLTMwLjEgODIuNHpNMjI0IDMxMmMzMi45IDAgNjQgOC42IDY0IDQzLjggMCAzMy0xMi45IDEwNC4xLTIwLjYgMTMyLjktNS4xIDE5LTI0LjUgMjMuNC00My40IDIzLjRzLTM4LjItNC40LTQzLjQtMjMuNGMtNy44LTI4LjUtMjAuNi05OS43LTIwLjYtMTMyLjggMC0zNS4xIDMxLjEtNDMuOCA2NC00My44em0wLTEyOGE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6Il19LHBQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC1yaWdodC1kb3RzIixpY29uOls1MTIsNTEyLFtdLCJlNGI3IiwiTTk2IDMyQzc4LjMgMzIgNjQgNDYuMyA2NCA2NFM3OC4zIDk2IDk2IDk2TDExNC43IDk2IDkuNCAyMDEuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxNjAgMTQxLjMgMTYwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJMOTYgMzJ6TTQwMy44IDcwLjFhMzguMSAzOC4xIDAgMSAwIDc2LjIgMCAzOC4xIDM4LjEgMCAxIDAgLTc2LjIgMHpNMjc5LjcgMTk0LjJhMzguMSAzOC4xIDAgMSAwIDc2LjIgMCAzOC4xIDM4LjEgMCAxIDAgLTc2LjIgMHptMTYyLjItMzguMWEzOC4xIDM4LjEgMCAxIDAgMCA3Ni4yIDM4LjEgMzguMSAwIDEgMCAwLTc2LjJ6TTE1Ni4yIDMxNy44YTM4LjEgMzguMSAwIDEgMCA3Ni4yIDAgMzguMSAzOC4xIDAgMSAwIC03Ni4yIDB6bTE2MS42LTM4LjFhMzguMSAzOC4xIDAgMSAwIDAgNzYuMiAzOC4xIDM4LjEgMCAxIDAgMC03Ni4yem04Ni4xIDM4LjFhMzguMSAzOC4xIDAgMSAwIDc2LjIgMCAzOC4xIDM4LjEgMCAxIDAgLTc2LjIgMHpNNzAuMSA0MDMuOGEzOC4xIDM4LjEgMCAxIDAgMCA3Ni4yIDM4LjEgMzguMSAwIDEgMCAwLTc2LjJ6bTg2LjEgMzguMWEzOC4xIDM4LjEgMCAxIDAgNzYuMiAwIDM4LjEgMzguMSAwIDEgMCAtNzYuMiAwem0xNjEuNi0zOC4xYTM4LjEgMzguMSAwIDEgMCAwIDc2LjIgMzguMSAzOC4xIDAgMSAwIDAtNzYuMnptODYuMSAzOC4xYTM4LjEgMzguMSAwIDEgMCA3Ni4yIDAgMzguMSAzOC4xIDAgMSAwIC03Ni4yIDB6Il19LGZQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGVzcy1xdWVlbiIsaWNvbjpbNTEyLDUxMixbOTgxOV0sImY0NDUiLCJNMjU2IDgwYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNNS41IDE4NUwxMjggMzg0IDcxLjggNDU0LjNjLTUgNi4zLTcuOCAxNC4xLTcuOCAyMi4yIDAgMTkuNiAxNS45IDM1LjUgMzUuNSAzNS41bDMxMi45IDBjMTkuNiAwIDM1LjUtMTUuOSAzNS41LTM1LjUgMC04LjEtMi43LTE1LjktNy44LTIyLjJMMzg0IDM4NCA1MDYuNSAxODVjMy42LTUuOSA1LjUtMTIuNyA1LjUtMTkuNmwwLS42YzAtMjAuMy0xNi41LTM2LjgtMzYuOC0zNi44LTcuMyAwLTE0LjQgMi4yLTIwLjQgNi4ybC0xNi45IDExLjNjLTEyLjcgOC41LTI5LjYgNi44LTQwLjQtNGwtMzQuMS0zNC4xQzM1Ni4xIDEwMC4xIDM0Ni4yIDk2IDMzNiA5NnMtMjAuMSA0LjEtMjcuMyAxMS4zbC0zMC4xIDMwLjFjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC0zMC4xLTMwLjFDMTk2LjEgMTAwLjEgMTg2LjIgOTYgMTc2IDk2cy0yMC4xIDQuMS0yNy4zIDExLjNsLTM0LjEgMzQuMWMtMTAuOCAxMC44LTI3LjcgMTIuNS00MC40IDRMNTcuMyAxMzQuMmMtNi4xLTQtMTMuMi02LjItMjAuNC02LjItMjAuMyAwLTM2LjggMTYuNS0zNi44IDM2LjhsMCAuNmMwIDYuOSAxLjkgMTMuNyA1LjUgMTkuNnoiXX0saFB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuY2hvci1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU0YWIiLCJNMzIwLjUgOTZhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptLTMyLTk2Yy01MyAwLTk2IDQzLTk2IDk2IDAgNDEuOCAyNi43IDc3LjQgNjQgOTAuNWwwIDI1Ny45Yy02Mi45LTE0LjMtMTEwLjItNjkuNy0xMTEuOS0xMzYuNWwxNi4xIDE0LjFjMTAgOC43IDI1LjEgNy43IDMzLjktMi4zczcuNy0yNS4xLTIuMy0zMy45bC02NC01NmMtOS03LjktMjIuNi03LjktMzEuNiAwbC02NCA1NmMtMTAgOC43LTExIDIzLjktMi4zIDMzLjlzMjMuOSAxMSAzMy45IDIuM2wxNi4yLTE0LjJjMi4xIDExMy4xIDk0LjQgMjA0LjEgMjA4IDIwNC4xIDE2LjYgMCAzMi43LTEuOSA0OC4yLTUuNi0yMC4zLTMwLjUtMzIuMi02Ny0zMi4yLTEwNi40IDAtMjcuMyA1LjctNTMuMyAxNi03Ni45bDAtMTM2LjZjMzcuMy0xMy4yIDY0LTQ4LjcgNjQtOTAuNSAwLTUzLTQzLTk2LTk2LTk2em0yMDggNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sRTVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVsbGlwc2lzLXZlcnRpY2FsIixpY29uOlsxMjgsNTEyLFsiZWxsaXBzaXMtdiJdLCJmMTQyIiwiTTY0IDE0NGE1NiA1NiAwIDEgMSAwLTExMiA1NiA1NiAwIDEgMSAwIDExMnptMCAyMjRjMzAuOSAwIDU2IDI1LjEgNTYgNTZzLTI1LjEgNTYtNTYgNTYtNTYtMjUuMS01Ni01NiAyNS4xLTU2IDU2LTU2em01Ni0xMTJjMCAzMC45LTI1LjEgNTYtNTYgNTZzLTU2LTI1LjEtNTYtNTYgMjUuMS01NiA1Ni01NiA1NiAyNS4xIDU2IDU2eiJdfSxtUHQ9RTVlLGdQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFydC1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzU3Niw1MTIsW10sImU0ZmUiLCJNMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43QzI5NiA1Mi41IDMzNi4yIDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDE3LjYtMy40IDM1LjYtOS41IDUzLjctMjEuOC04LjYtNDUuNi0xMy40LTcwLjUtMTMuNC0xMDYgMC0xOTIgODYtMTkyIDE5MiAwIDI4LjUgNi4yIDU1LjYgMTcuNCA4MC0uNSAwLS45IDAtMS40IDAtMTUuNSAwLTMwLjgtNC42LTQzLjEtMTQuMS03My01NS43LTIxMi45LTE4Ni0yMTIuOS0yOTguMmwwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMXpNNDMyIDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTAgMjI4YTIwIDIwIDAgMSAwIDAtNDAgMjAgMjAgMCAxIDAgMCA0MHptMC0xODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDgwYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC04MGMwLTguOC03LjItMTYtMTYtMTZ6Il19LGJQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzU3Niw1MTIsW10sImU0ZDMiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMTAuNS0xNC42LTE5LTMwLjctMjUuMS00OGwtNzQuOSAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJsMzIgMGMyIDAgNCAuMiA1LjkgLjUgNi0yMy42IDE2LjMtNDUuNCAzMC4xLTY0LjVsLTQgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNGMyNy41LTE5LjggNjAuMy0zMi40IDk2LTM1LjRMNDE2IDY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDB6bTMyIDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNzIgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMTI4IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sdlB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1hcnJvdy11cC1mcm9tLWxpbmUiLGljb246WzU3Niw1MTIsW10sImU1MzkiLCJNMTkyLTMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0zMTguMyAyOTkuMWwtNDYuMy02Mi40IDAgMjQzLjMgMjcyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTQ0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDgwIDAgMC0yNDMuMy00Ni4zIDYyLjRjLTEwLjUgMTQuMi0zMC42IDE3LjItNDQuOCA2LjZzLTE3LjItMzAuNi02LjYtNDQuOGw3MC41LTk1QzExMCAxMzIgMTQ5LjcgMTEyIDE5MiAxMTJzODIgMjAgMTA3LjIgNTMuOWw3MC41IDk1YzEwLjUgMTQuMiA3LjYgMzQuMi02LjYgNDQuOHMtMzQuMiA3LjYtNDQuOC02LjZ6TTIwOCA0ODBsMC0xMjhjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAxMjggMzIgMHpNNTY2LjYgMTAyLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwTDQ5NiA3Ny4zIDQ5NiAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNDYuNy0yNS40IDI1LjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zbDgwLTgwYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDgwIDgwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zeiJdfSx4UHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibm90LWVxdWFsIixpY29uOls0NDgsNTEyLFtdLCJmNTNlIiwiTTM3OC42IDgxLjhjOS44LTE0LjcgNS44LTM0LjYtOC45LTQ0LjRzLTM0LjYtNS44LTQ0LjQgOC45TDI3MC45IDEyOCAzMiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTk2LjIgMC04NS4zIDEyOC0xMTAuOSAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDY4LjIgMC0zMC44IDQ2LjJjLTkuOCAxNC43LTUuOCAzNC42IDguOSA0NC40czM0LjYgNS44IDQ0LjQtOC45TDE3Ny4xIDM4NCA0MTYgMzg0YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xOTYuMiAwIDg1LjMtMTI4IDExMC45IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY4LjIgMCAzMC44LTQ2LjJ6Il19LHlQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFpbi10cmFtIixpY29uOlszODQsNTEyLFsxMjg2NTBdLCJlNWI0IiwiTTAgOEMwLTUuMyAxMC43LTE2IDI0LTE2bDMzNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMzJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC04LTEyMCAwIDAgNjQgNDAgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMTYwYzAgMzEuMi0xNC45IDU5LTM4IDc2LjVsNjQuMyA3NmM4LjYgMTAuMSA3LjMgMjUuMy0yLjggMzMuOHMtMjUuMyA3LjMtMzMuOC0yLjhsLTc0LjYtODguMWMtMy42IC40LTcuMyAuNi0xMS4xIC42bC0xMjggMGMtMy44IDAtNy41LS4yLTExLjEtLjZMNDIuMyA1MzUuNWMtOC42IDEwLjEtMjMuNyAxMS40LTMzLjggMi44cy0xMS40LTIzLjctMi44LTMzLjhsNjQuMy03NkM0Ni45IDQxMSAzMiAzODMuMiAzMiAzNTJsMC0xNjBjMC01MyA0My05NiA5Ni05Nmw0MCAwIDAtNjQtMTIwIDAgMCA4YzAgMTMuMy0xMC43IDI0LTI0IDI0UzAgNTMuMyAwIDQwTDAgOHpNMTI4IDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMjggMHptMzIgMTkyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTk2IDMyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sd1B0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLWRlcGFydHVyZSIsaWNvbjpbNTc2LDUxMixbMTI4NzQ3XSwiZjViMCIsIk0zNzIgMTQzLjlMMTcyLjcgNDAuMmMtOC00LjEtMTcuMy00LjgtMjUuNy0xLjdsLTQxLjEgMTVjLTEwLjMgMy43LTEzLjggMTYuNC03LjEgMjVMMjAwLjMgMjA2LjQgMTAwLjEgMjQyLjggNDAgMjA2LjJjLTYuMi0zLjgtMTMuOC00LjUtMjAuNy0yLjFMMyAyMTAuMWMtOS40IDMuNC0xMy40IDE0LjUtOC4zIDIzLjFsNTMuNiA5MS44YzE1LjYgMjYuNyA0OC4xIDM4LjQgNzcuMSAyNy44bDEyLjktNC43IDAgMCAzOTguNC0xNDVjMjkuMS0xMC42IDQ0LTQyLjcgMzMuNS03MS44cy00Mi43LTQ0LTcxLjgtMzMuNUwzNzIgMTQzLjl6TTMyLjIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDUxMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01MTIgMHoiXX0sUDVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJpZ2h0LXRvLWJyYWNrZXQiLGljb246WzUxMiw1MTIsWyJzaWduLWluLWFsdCJdLCJmMmY2IiwiTTM0NSAyNzNjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlMMjAxIDk1Yy02LjktNi45LTE3LjItOC45LTI2LjItNS4yUzE2MCAxMDIuMyAxNjAgMTEybDAgODAtMTEyIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMzJjMCAyNi41IDIxLjUgNDggNDggNDhsMTEyIDAgMCA4MGMwIDkuNyA1LjggMTguNSAxNC44IDIyLjJzMTkuMyAxLjcgMjYuMi01LjJMMzQ1IDI3M3ptNyAxNDNjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMjU2YzAtNTMtNDMtOTYtOTYtOTZsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMHoiXX0sTVB0PVA1ZSxrUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2QtY2FyZCIsaWNvbjpbMzg0LDUxMixbXSwiZjdjMiIsIk0zODQgNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMMTI1LjMgMEMxMDguMyAwIDkyIDYuNyA4MCAxOC43TDE4LjcgODBDNi43IDkyIDAgMTA4LjMgMCAxMjUuM0wwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NHpNMTYwIDg4bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0em04OCAwbDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0em04OCAwbDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0eiJdfSxTUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNTBhIiwiTTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMSAwLTI4OCAxNDQgMTQ0IDAgMSAxIDAgMjg4ek0yNjguNiA2LjVjMTIuMi05LjMgMjkuNy04LjcgNDEuMiAybDIxNy42IDIwMmMtMTAuMi0xLjctMjAuNy0yLjYtMzEuMy0yLjYtNzguNiAwLTE0Ni4xIDQ3LjItMTc1LjggMTE0LjgtNS4xLTEuOC0xMC41LTIuOC0xNi4yLTIuOGwtMzIgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NiA5MSAwYzYuMSAxNy4zIDE0LjYgMzMuNCAyNS4xIDQ4TDE0NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOCAyLjQtMnpNNDk2IDQ0NGEyMCAyMCAwIDEgMCAwIDQwIDIwIDIwIDAgMSAwIDAtNDB6bTAtMTQwYy04LjggMC0xNiA3LjItMTYgMTZsMCA4MGMwIDguOCA3LjIgMTYgMTYgMTYgOC44IDAgMTYtNy4yIDE2LTE2bDAtODBjMC04LjgtNy4yLTE2LTE2LTE2eiJdfSxaOD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGVrZWwtc2lnbiIsaWNvbjpbNDQ4LDUxMixbODM2MiwiaWxzIiwic2hla2VsIiwic2hlcWVsIiwic2hlcWVsLXNpZ24iXSwiZjIwYiIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNTIgMTI4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTcwLjctNTcuMy0xMjgtMTI4LTEyOEwzMiAzMnpNMzIwIDQ4MGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGwwLTI4OGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMTI4IDAgMC0yMjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyNTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDB6Il19LHpQdD1aOCxDUHQ9WjgsX1B0PVo4LFRQdD1aOCxMUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmFkaW8iLGljb246WzUxMiw1MTIsWzEyODI1MV0sImY4ZDciLCJNNDk0LjggMTVjMTIuNy0zLjcgMjAtMTcuMSAxNi4zLTI5LjhTNDk0LTM0LjggNDgxLjMtMzFMNTEuOCA5NC45QzQyLjQgOTcuNiAzMy45IDEwMi4xIDI2LjYgMTA4IDEwLjUgMTE5LjcgMCAxMzguNiAwIDE2MEwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEwyMTguNSA5NiA0OTQuOCAxNXpNMzY4IDIwOGE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHpNNjQgMjQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDg4IDI3MmMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTAgOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTEyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMODggMzY4Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHoiXX0sSTVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtZG90cyIsaWNvbjpbNTEyLDUxMixbImFsbGVyZ2llcyJdLCJmNDYxIiwiTTI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDIwOGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTE3NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDI3MmMwIDEuNSAwIDMuMSAuMSA0LjZMNjcuNiAyODNjLTE2LTE1LjItNDEuMy0xNC42LTU2LjYgMS40Uy0zLjYgMzI1LjcgMTIuNCAzNDFMMTI0LjggNDQ4YzQzLjEgNDEuMSAxMDAuNCA2NCAxNjAgNjRsMTkuMiAwYzk3LjIgMCAxNzYtNzguOCAxNzYtMTc2bDAtMjA4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTEyYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMTc2YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTc2YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtMjA4ek0yMDAgMzUyYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEyMC01NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTQwIDg4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bS04OCAyNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LCRQdD1JNWUsTjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stc2t1bGwiLGljb246WzQ0OCw1MTIsWyJib29rLWRlYWQiXSwiZjZiNyIsIk05NiA1MTJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02Ni43YzE4LjYtNi42IDMyLTI0LjQgMzItNDUuM2wwLTI4OGMwLTI2LjUtMjEuNS00OC00OC00OEw5NiAwQzQzIDAgMCA0MyAwIDk2TDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZ6TTY0IDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMCAwIDY0LTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMjcyIDE2My4ybDAgMTIuOGMwIDguOC03LjIgMTYtMTYgMTZsLTY0IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTEyLjhjLTE5LjQtMTEuNy0zMi0zMC4zLTMyLTUxLjIgMC0zNS4zIDM1LjgtNjQgODAtNjRzODAgMjguNyA4MCA2NGMwIDIwLjktMTIuNiAzOS41LTMyIDUxLjJ6TTIwOCAxMTJhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptNDggMTZhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem03NC4yIDk1LjdjNC42IDEwLjEgLjEgMjEuOS05LjkgMjYuNWwtNDcuOSAyMS44IDQ3LjkgMjEuOGMxMC4xIDQuNiAxNC41IDE2LjQgOS45IDI2LjVzLTE2LjQgMTQuNS0yNi41IDkuOUwyMjQgMjk0IDE0NC4zIDMzMC4yYy0xMC4xIDQuNi0yMS45IC4xLTI2LjUtOS45cy0uMS0yMS45IDkuOS0yNi41bDQ3LjktMjEuOC00Ny45LTIxLjhjLTEwLjEtNC42LTE0LjUtMTYuNC05LjktMjYuNXMxNi40LTE0LjUgMjYuNS05LjlMMjI0IDI1MCAzMDMuNyAyMTMuOGMxMC4xLTQuNiAyMS45LS4xIDI2LjUgOS45eiJdfSxEUHQ9TjVlLFI1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1bmxvY2sta2V5aG9sZSIsaWNvbjpbMzg0LDUxMixbInVubG9jay1hbHQiXSwiZjEzZSIsIk0xOTIgMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgNjQgMTkyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDIyNGMwLTM1LjMgMjguNy02NCA2NC02NGwwLTY0YzAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4IDYzLjUgMCAxMTYuMSA0Ni4xIDEyNi4yIDEwNi43IDIuOSAxNy40LTguOCAzMy45LTI2LjMgMzYuOXMtMzMuOS04LjgtMzYuOS0yNi4zQzI1MCA1NS4xIDIyMy43IDMyIDE5MiAzMnptNDAgMzI4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDgwIDB6Il19LEFQdD1SNWUsTzVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtYXJyb3ctdXAiLGljb246WzM4NCw1MTIsWyJmaWxlLXVwbG9hZCJdLCJmNTc0IiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek0yMDkgMjYzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtNjQgNjRjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwyMy0yMyAwIDg2LjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTg2LjEgMjMgMjNjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02NC02NHoiXX0sRVB0PU81ZSxGNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLXRlYXJzIixpY29uOls2NDAsNTEyLFsxMjg1MTQsImdyaW4tdGVhcnMiXSwiZjU4OCIsIk01NTQuOCAyMDMuNGwxNi4zIDIuM0M1NDcuNyA4OC40IDQ0NC4yIDAgMzIwIDBTOTIuMyA4OC40IDY4LjkgMjA1LjdsMTYuMy0yLjNjMzctNS4zIDY4LjYgMjYuNCA2My40IDYzLjRsLTYuNyA0Ni43Yy00LjEgMjktMjEuNiA1My4yLTQ1LjggNjYuOCA0My43IDc4LjUgMTI3LjYgMTMxLjcgMjIzLjggMTMxLjdzMTgwLjEtNTMuMSAyMjMuOC0xMzEuN2MtMjQuMS0xMy41LTQxLjYtMzcuOC00NS44LTY2LjhsLTYuNy00Ni43Yy01LjMtMzcgMjYuNC02OC42IDYzLjQtNjMuNHpNNDcwLjMgMzI2LjlDNDQ3LjkgMzg4LjIgMzg5LjEgNDMyIDMyMCA0MzJTMTkyLjEgMzg4LjIgMTY5LjcgMzI2LjljLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjF6TTIxMiAyMDhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHptMTg4LTI4Yy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4ek02NDAgMzAwLjZjMC0yNS42LTE4LjgtNDcuMy00NC4xLTUwLjlMNTQ5LjEgMjQzYy0xMC42LTEuNS0xOS42IDcuNS0xOC4xIDE4LjFsNi43IDQ2LjdjMy42IDI1LjMgMjUuMyA0NC4xIDUwLjkgNDQuMSAyOC40IDAgNTEuNC0yMyA1MS40LTUxLjR6bS02NDAgMEMwIDMyOSAyMyAzNTIgNTEuNCAzNTIgNzcgMzUyIDk4LjcgMzMzLjIgMTAyLjMgMzA3LjlsNi43LTQ2LjdjMS41LTEwLjYtNy41LTE5LjYtMTguMS0xOC4xbC00Ni43IDYuN0MxOC44IDI1My4zIDAgMjc1IDAgMzAwLjZ6Il19LFBQdD1GNWUsaXY9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVuLXRvLXNxdWFyZSIsaWNvbjpbNTEyLDUxMixbImVkaXQiXSwiZjA0NCIsIk00NzEuNiAyMS43Yy0yMS45LTIxLjktNTcuMy0yMS45LTc5LjIgMEwzNjggNDYuMSA0NjUuOSAxNDQgNDkwLjMgMTE5LjZjMjEuOS0yMS45IDIxLjktNTcuMyAwLTc5LjJMNDcxLjYgMjEuN3ptLTI5OS4yIDIyMGMtNi4xIDYuMS0xMC44IDEzLjYtMTMuNSAyMS45bC0yOS42IDg4LjhjLTIuOSA4LjYtLjYgMTguMSA1LjggMjQuNnMxNS45IDguNyAyNC42IDUuOGw4OC44LTI5LjZjOC4yLTIuNyAxNS43LTcuNCAyMS45LTEzLjVMNDMyIDE3Ny45IDMzNC4xIDgwIDE3Mi40IDI0MS43ek05NiA2NEM0MyA2NCAwIDEwNyAwIDE2MEwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2bDI1NiAwYzUzIDAgOTYtNDMgOTYtOTZsMC05NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDk2IDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw5NiA2NHoiXX0sSVB0PWl2LEI1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlYXJ0aC1ldXJvcGUiLGljb246WzUxMiw1MTIsWyJnbG9iZS1ldXJvcGUiXSwiZjdhMiIsIk0yNTYuMiA0OGMxMTQuOCAuMSAyMDcuOCA5My4yIDIwNy44IDIwOCAwIDIyLjEtMy40IDQzLjQtOS44IDYzLjQtMiAuNC00LjEgLjYtNi4yIC42bC0yLjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTI5LjMtMjkuM2MtNi02LTkuNC0xNC4xLTkuNC0yMi42bDAtNTAuN2MwLTguOCA3LjItMTYgMTYtMTZzMTYtNy4yIDE2LTE2LTcuMi0xNi0xNi0xNmwtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTU2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnMtNy4yIDE2LTE2IDE2bC0yNS40IDBjLTEyLjUgMC0yMi42LTEwLjEtMjIuNi0yMi42IDAtNiAyLjQtMTEuOCA2LjYtMTZsNzAuMS03MC4xYzIuMS0yLjEgMy4zLTUgMy4zLTggMC02LjItNS4xLTExLjMtMTEuMy0xMS4zbC0xNC4xIDBjLTEyLjUgMC0yMi42LTEwLjEtMjIuNi0yMi42IDAtNiAyLjQtMTEuOCA2LjYtMTZsMjMuMS0yMy4xYy44LS44IDEuNi0xLjUgMi41LTIuMnpNNDM4LjQgMzU2LjFjLTMyLjggNTkuNi05My45IDEwMS40LTE2NS4yIDEwNy4yLS43LTIuMy0xLjEtNC44LTEuMS03LjMgMC0xMy4zLTEwLjctMjQtMjQtMjRsLTI2LjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTI5LjMtMjkuM2MtNi02LTkuNC0xNC4xLTkuNC0yMi42bDAtNjYuN2MwLTE3LjcgMTQuMy0zMiAzMi0zMmw5OC43IDBjOC41IDAgMTYuNiAzLjQgMjIuNiA5LjRsMjkuMyAyOS4zYzYgNiAxNC4xIDkuNCAyMi42IDkuNGw1LjUgMGM4LjUgMCAxNi42IDMuNCAyMi42IDkuNGwxNiAxNmM0LjIgNC4yIDEwIDYuNiAxNiA2LjYgNC44IDAgOS4zIDEuNSAxMyA0LjF6TTI1NiA1MTJsMjYuMi0xLjNjLTguNiAuOS0xNy4zIDEuMy0yNi4yIDEuM3ptMjYuMi0xLjNDNDExLjMgNDk3LjYgNTEyIDM4OC42IDUxMiAyNTYgNTEyIDExNC42IDM5Ny40IDAgMjU2IDBsMCAwQzExNC42IDAgMCAxMTQuNiAwIDI1NiAwIDM4My41IDkzLjIgNDg5LjMgMjE1LjMgNTA4LjggMjI4LjUgNTEwLjkgMjQyLjEgNTEyIDI1NiA1MTJ6TTE4Ny4zIDEyMy4zbC0zMiAzMmMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzMi0zMmM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6Il19LE5QdD1CNWUsSDVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1iZWFtLXN3ZWF0IixpY29uOls1NzYsNTEyLFsxMjg1MTcsImdyaW4tYmVhbS1zd2VhdCJdLCJmNTgzIiwiTTU0Ni4yLS4xYzE0LjcgMTcuOCAyOS44IDQwLjEgMjkuOCA2NC4xIDAgMzYuNC0yNy42IDY0LTY0IDY0cy02NC0yNy42LTY0LTY0YzAtMjQgMTUuMi00Ni4zIDI5LjgtNjQuMSA4LjgtMTAuNyAxOC41LTIwLjggMjktMzAgMy0yLjYgNy40LTIuNiAxMC40IDAgMTAuNSA5LjEgMjAuMSAxOS4zIDI5IDMwek0yODggMGM0Mi41IDAgODIuNiAxMC40IDExNy44IDI4LjctMy42IDEwLjktNS44IDIyLjctNS44IDM1LjMgMCA2Mi45IDQ5LjEgMTEyIDExMiAxMTIgNi40IDAgMTIuNy0uNSAxOC44LTEuNSA4LjYgMjUuNiAxMy4yIDUzIDEzLjIgODEuNSAwIDE0MS40LTExNC42IDI1Ni0yNTYgMjU2UzMyIDM5Ny40IDMyIDI1NiAxNDYuNiAwIDI4OCAwek00MTguNyAzMDguOUMzNzkuNSAzMjEuMSAzMzUuMSAzMjggMjg4IDMyOHMtOTEuNS02LjktMTMwLjctMTkuMWMtMTEuOS0zLjctMjMuOSA2LjMtMTkuNiAxOC4xIDIyLjQgNjEuMyA4MS4zIDEwNS4xIDE1MC4zIDEwNS4xczEyNy45LTQzLjggMTUwLjMtMTA1LjFjNC4zLTExLjgtNy43LTIxLjgtMTkuNi0xOC4xek0yMDggMTgwYzE1LjUgMCAyOCAxMi41IDI4IDI4bDAgOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLThjMC0zNy42LTMwLjQtNjgtNjgtNjhzLTY4IDMwLjQtNjggNjhsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOGMwLTE1LjUgMTIuNS0yOCAyOC0yOHptMTMyIDI4YzAtMTUuNSAxMi41LTI4IDI4LTI4czI4IDEyLjUgMjggMjhsMCA4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtOGMwLTM3LjYtMzAuNC02OC02OC02OHMtNjggMzAuNC02OCA2OGwwIDhjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC04eiJdfSxSUHQ9SDVlLHE1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtaGFsZi1zdHJva2UiLGljb246WzUxMiw1MTIsWzk2ODAsImFkanVzdCJdLCJmMDQyIiwiTTQ0OCAyNTZjMC0xMDYtODYtMTkyLTE5Mi0xOTJsMCAzODRjMTA2IDAgMTkyLTg2IDE5Mi0xOTJ6TTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6Il19LE9QdD1xNWUsRlB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1taWxpdGFyeS10by1wZXJzb24iLGljb246WzUxMiw1MTIsW10sImU1NGMiLCJNNzEgMTIuNWMtOC42IDEtMTUgOC4yLTE1IDE2LjggMCA5LjMgNy41IDE2LjggMTYuNyAxNi45bDExMS40IDBjOC44LS4xIDE1LjktNy4yIDE1LjktMTZMMjAwIDE2YzAtOS41LTguMy0xNy0xNy44LTE1LjlMNzEgMTIuNXpNMTg5LjUgNzguMWwtMTIyLjkgMGMtMS42IDUuNy0yLjUgMTEuNy0yLjUgMTcuOSAwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0YzAtNi4yLS45LTEyLjItMi41LTE3Ljl6TTMyIDI1NmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzEuOCAwIDMuNS0uMSA1LjItLjRMNTMgMjA4LjZDNDAuMSAyMjAuMyAzMiAyMzcuMiAzMiAyNTZ6bTE5MC4yIDQyLjVjMS4xLTMuMyAxLjgtNi44IDEuOC0xMC41bDAtMzJjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTY0IDBjLTMuNyAwLTcuNCAuMy0xMC45IC45TDIyMi4yIDI5OC41ek0zODQgMTYwYTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4em0tMzIgMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMmMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMHpNMjE1LjggNDUwLjFjNS4yLTQuNiA4LjItMTEuMSA4LjItMTguMXMtMy0xMy41LTguMi0xOC4xbC02NC01NmMtNy4xLTYuMi0xNy4xLTcuNy0yNS43LTMuOFMxMTIgMzY2LjYgMTEyIDM3NmwwIDMyLTg4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsODggMCAwIDMyYzAgOS40IDUuNSAxOCAxNC4xIDIxLjlzMTguNiAyLjQgMjUuNy0zLjhsNjQtNTZ6TTI4OCA0MzEuOWMwIDYuOSAzIDEzLjUgOC4xIDE4LjFsNjQgNTYuNGM3LjEgNi4yIDE3LjEgNy44IDI1LjcgMy45UzQwMCA0OTcuOCA0MDAgNDg4LjRsMC0zMi40IDg4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTg4IDAgMC0zMmMwLTkuNC01LjUtMTgtMTQuMS0yMS45cy0xOC42LTIuNC0yNS43IDMuOGwtNjQgNTZjLTUuMiA0LjUtOC4yIDExLjEtOC4yIDE4eiJdfSxCUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGUtY2VsbHMtY29sdW1uLWxvY2siLGljb246WzY0MCw1MTIsW10sImU2NzgiLCJNMjU2IDIyNGwwIDE5MiA2NCAwIDAtMTkyLTY0IDB6bTI1Ni03OWMtNDYuNyA1LjgtODUuNiAzNi44LTEwMi43IDc5bC0yNS4zIDAgMCA5MC44Yy0xMC4xIDE1LjItMTYgMzMuNC0xNiA1My4xbDAgOTZjMCA1LjUgLjUgMTAuOSAxLjMgMTYuMUwxMjggNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEw2NCA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDQ5ek0xMjggMjI0bDAgMTkyIDY0IDAgMC0xOTItNjQgMHptNDMyIDQ4LjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek00MTYgMzY4YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxIUHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stZmllbGQtdW4iLGljb246WzY0MCw1MTIsW10sImU1OGUiLCJNOTYgMzJDNjAuNyAzMiAzMiA2MC43IDMyIDk2bDAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMCA0OGMwIDIxLjEgMTMuNyAzOS4xIDMyLjYgNDUuNS0uNCAzLjQtLjYgNy0uNiAxMC41IDAgNDguNiAzOS40IDg4IDg4IDg4czg4LTM5LjQgODgtODhjMC0yLjctLjEtNS40LS40LThsMTQ0LjcgMGMtLjIgMi42LS40IDUuMy0uNCA4IDAgNDguNiAzOS40IDg4IDg4IDg4czg4LTM5LjQgODgtODhjMC0yLjctLjEtNS40LS40LThsLjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0yNC43IDAtMS43LTQuMi00My44LTEwNi4zYy0xMi4zLTMwLTQxLjYtNDkuNS03NC00OS41bC00MC40IDBDMzY0LjQgNDQuOSAzNDMuNyAzMiAzMjAgMzJMOTYgMzJ6TTM4NCAyMjRsMC05NiAzMS45IDBjNi41IDAgMTIuMyAzLjkgMTQuOCA5LjlsMzUuNCA4Ni4xLTgyLjEgMHpNMTUyIDM1MmE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6bTI4MCA0MGE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwek0yNTYuNiAxMzIuOWwyNy40IDQxIDAtMjkuOWMwLTExIDktMjAgMjAtMjBzMjAgOSAyMCAyMGwwIDk2YzAgOC44LTUuOCAxNi42LTE0LjIgMTkuMXMtMTcuNS0uNy0yMi40LThsLTI3LjQtNDEgMCAyOS45YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTk2YzAtOC44IDUuOC0xNi42IDE0LjItMTkuMXMxNy41IC43IDIyLjQgOHpNMTMyIDE0NGwwIDY0YzAgNi42IDUuNCAxMiAxMiAxMnMxMi01LjQgMTItMTJsMC02NGMwLTExIDktMjAgMjAtMjBzMjAgOSAyMCAyMGwwIDY0YzAgMjguNy0yMy4zIDUyLTUyIDUycy01Mi0yMy4zLTUyLTUybDAtNjRjMC0xMSA5LTIwIDIwLTIwczIwIDkgMjAgMjB6Il19LFY1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG9jayIsaWNvbjpbNTEyLDUxMixbMTI4MzM5LCJjbG9jay1mb3VyIl0sImYwMTciLCJNMjU2IDBhMjU2IDI1NiAwIDEgMSAwIDUxMiAyNTYgMjU2IDAgMSAxIDAtNTEyek0yMzIgMTIwbDAgMTM2YzAgOCA0IDE1LjUgMTAuNyAyMGw5NiA2NGMxMSA3LjQgMjUuOSA0LjQgMzMuMy02LjdzNC40LTI1LjktNi43LTMzLjNMMjgwIDI0My4yIDI4MCAxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6Il19LHFQdD1WNWUsVlB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2siLGljb246WzQ0OCw1MTIsWzEyODIxMl0sImYwMmQiLCJNMzg0IDUxMkw5NiA1MTJjLTUzIDAtOTYtNDMtOTYtOTZMMCA5NkMwIDQzIDQzIDAgOTYgMEw0MDAgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDI4OGMwIDIwLjktMTMuNCAzOC43LTMyIDQ1LjNsMCA2Ni43YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwek05NiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjU2IDAgMC02NC0yNTYgMHptMzItMjMyYzAgMTMuMyAxMC43IDI0IDI0IDI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNzYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6bTI0IDcyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE3NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNzYgMHoiXX0sajVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtbGF1Z2gtd2luayIsaWNvbjpbNTEyLDUxMixbImxhdWdoLXdpbmsiXSwiZjU5YyIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTAxLjYgMzE0Yy0zLjctMTMuNyA3LjUtMjYgMjEuNy0yNmwyNjUuNCAwYzE0LjIgMCAyNS40IDEyLjMgMjEuNyAyNi0xOC41IDY4LTgwLjYgMTE4LTE1NC40IDExOFMxMjAgMzgyIDEwMS42IDMxNHpNMTQ0IDE5MmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xNjQgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBjMC0zMy4xIDI2LjktNjAgNjAtNjBsMTYgMGMzMy4xIDAgNjAgMjYuOSA2MCA2MCAwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjAtOS0yMC0yMC0yMGwtMTYgMGMtMTEgMC0yMCA5LTIwIDIweiJdfSxqUHQ9ajVlLFVQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1tZWF0YmFsbCIsaWNvbjpbNTEyLDUxMixbXSwiZjczYiIsIk0wIDIyNGMwIDUzIDQzIDk2IDk2IDk2bDI2LjkgMGMzLjUtMTIuMSAxMC4xLTIzLjMgMTkuMi0zMi40bDEuNC0xLjRjMTUtMTUgMzUuMy0yMi45IDU2LjEtMjIuMiAxNC4yLTE1LjEgMzQuMi0yMy45IDU1LjQtMjMuOWwyIDBjMjEuMSAwIDQxLjEgOC44IDU1LjQgMjMuOSAyMC44LS42IDQxLjEgNy4zIDU2LjEgMjIuMmwxLjQgMS40YzkuMiA5LjIgMTUuNyAyMC40IDE5LjIgMzIuNGwyNi45IDBjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZjLS41IDAtMS4xIDAtMS42IDAgMS4xLTUuMiAxLjYtMTAuNSAxLjYtMTYgMC00NC4yLTM1LjgtODAtODAtODAtMjQuMyAwLTQ2LjEgMTAuOS02MC44IDI4LTE4LjctMzUuNy01Ni4xLTYwLTk5LjItNjAtNjEuOSAwLTExMiA1MC4xLTExMiAxMTIgMCA3LjEgLjcgMTQuMSAxLjkgMjAuOC0zOC4zIDEyLjYtNjUuOSA0OC43LTY1LjkgOTEuMnpNMTU2LjUgNDI0LjNjOS41IDYuMyAxNC4yIDE3LjcgMTEuOSAyOC44LTEuOCA5LjIgMSAxOC43IDcuNyAyNS4zbDEuNCAxLjRjNi42IDYuNiAxNi4xIDkuNSAyNS4zIDcuNyAxMS4xLTIuMiAyMi41IDIuNSAyOC44IDExLjkgNS4yIDcuOCAxNCAxMi41IDIzLjMgMTIuNWwyIDBjOS40IDAgMTguMS00LjcgMjMuMy0xMi41IDYuMy05LjUgMTcuNy0xNC4yIDI4LjgtMTEuOSA5LjIgMS44IDE4LjctMSAyNS4zLTcuN2wxLjQtMS40YzYuNi02LjYgOS41LTE2LjEgNy43LTI1LjMtMi4yLTExLjEgMi41LTIyLjUgMTEuOS0yOC44IDcuOC01LjIgMTIuNS0xNCAxMi41LTIzLjNsMC0yYzAtOS40LTQuNy0xOC4xLTEyLjUtMjMuMy05LjUtNi4zLTE0LjItMTcuNy0xMS45LTI4LjggMS44LTkuMi0xLTE4LjctNy43LTI1LjNsLTEuNC0xLjRjLTYuNi02LjYtMTYuMS05LjUtMjUuMy03LjctMTEuMSAyLjItMjIuNS0yLjUtMjguOC0xMS45LTUuMi03LjgtMTQtMTIuNS0yMy4zLTEyLjVsLTIgMGMtOS40IDAtMTguMSA0LjctMjMuMyAxMi41LTYuMyA5LjUtMTcuNyAxNC4yLTI4LjggMTEuOS05LjItMS44LTE4LjcgMS0yNS4zIDcuN2wtMS40IDEuNGMtNi42IDYuNi05LjUgMTYuMS03LjcgMjUuMyAyLjIgMTEuMS0yLjUgMjIuNS0xMS45IDI4LjgtNy44IDUuMi0xMi41IDE0LTEyLjUgMjMuM2wwIDJjMCA5LjQgNC43IDE4LjEgMTIuNSAyMy4zek00OCA0NDhhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2em00MTYgMGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6Il19LFU1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFydC1hcmVhIixpY29uOls1MTIsNTEyLFsiYXJlYS1jaGFydCJdLCJmMWZlIiwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzM2YzAgOC44IDcuMiAxNiAxNiAxNmw0MDAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw4MCA0ODBjLTQ0LjIgMC04MC0zNS44LTgwLTgwTDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6TTI0MCA5NmM2LjcgMCAxMy4xIDIuOCAxNy43IDcuOEwzMjguOCAxODEuMyAzNzUgMTM1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDY0IDY0YzQuNSA0LjUgNyAxMC42IDcgMTdsMCAxMTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTMwNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTExMmMwLTYgMi4zLTExLjggNi4zLTE2LjJsODgtOTZjNC41LTUgMTEtNy44IDE3LjctNy44eiJdfSxXUHQ9VTVlLEdQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydXBpYWgtc2lnbiIsaWNvbjpbNTEyLDUxMixbXSwiZTIzZCIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDgwIDBjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDQgMCA1NC4zLTMwIDEwMS41LTc0LjQgMTI2LjFsNDEgMTM2LjdjNS4xIDE2LjktNC41IDM0LjgtMjEuNSAzOS44cy0zNC44LTQuNS0zOS44LTIxLjVMMTIwLjEgMzE5LjhjLTIuNyAuMS01LjQgLjItOC4xIC4ybC00OCAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NHpNNjQgMjU2bDQ4IDBjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBsLTQ4IDAgMCAxNjB6bTI1Ni0zMmw4MCAwYzYxLjkgMCAxMTIgNTAuMSAxMTIgMTEyUzQ2MS45IDQ0OCA0MDAgNDQ4bC00OCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yNTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTgwIDE2MGMyNi41IDAgNDgtMjEuNSA0OC00OHMtMjEuNS00OC00OC00OGwtNDggMCAwIDk2IDQ4IDB6Il19LFlQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZXh0LXdpZHRoIixpY29uOls0NDgsNTEyLFtdLCJmMDM1IiwiTTQwIDBDMTcuOSAwIDAgMTcuOSAwIDQwTDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDEyOCAwIDAgMTYwLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0xNjAgMTI4IDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNTZjMC0yMi4xLTE3LjktNDAtNDAtNDBMNDAgMHptNzguNiA0MDYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtNjQgNjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDY0IDY0YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTkuNC05LjQgMjI5LjUgMC05LjQgOS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC02NC02NGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsOS40IDkuNC0yMjkuNSAwIDkuNC05LjR6Il19LEtQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzYXRlbGxpdGUiLGljb246WzUxMiw1MTIsWzEyODc1Ml0sImY3YmYiLCJNMTk5IDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsODkuNCA4OS40IDU1LTU1YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDQ4IDQ4YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC01NSA1NSA4OS40IDg5LjRjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTk2IDk2Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtODkuNC04OS40LTE1LjUgMTUuNWMxMS40IDI0LjYgMTcuOCA1MiAxNy44IDgwLjkgMCAzMS43LTcuNyA2MS41LTIxLjIgODcuOC00LjcgOS0xNi43IDEwLjMtMjMuOCAzLjFsLTk2LjMtOTYuMy02MCA2MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsNjAtNjAtOTYuMy05Ni4zYy03LjItNy4yLTUuOS0xOS4yIDMuMS0yMy44IDI2LjMtMTMuNiA1Ni4yLTIxLjIgODcuOC0yMS4yIDI4LjkgMCA1Ni4zIDYuNCA4MC45IDE3LjhMMTkyLjQgMjI2LjMgMTAzIDEzN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlMMTk5IDd6bTE3IDUwLjlsLTYyLjEgNjIuMSA3Mi40IDcyLjQgNjIuMS02Mi4xLTcyLjQtNzIuNHpNMzkyIDM1OC4xbDYyLjEtNjIuMS03Mi40LTcyLjQtNjIuMSA2Mi4xIDcyLjQgNzIuNHoiXX0sVzVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hZ25pZnlpbmctZ2xhc3MtbWludXMiLGljb246WzUxMiw1MTIsWyJzZWFyY2gtbWludXMiXSwiZjAxMCIsIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2QzI5Ni4zIDQwMS4xIDI1My45IDQxNiAyMDggNDE2IDkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwIDQxNiA5My4xIDQxNiAyMDh6TTEzNiAxODRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAweiJdfSxaUHQ9VzVlLFhQdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtZ3JvdXAiLGljb246WzUxMiw1MTIsW10sImU1MzMiLCJNMjU2IDBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6bTk2IDMxMmMwIDI1LTEyLjcgNDctMzIgNTkuOWwwIDkyLjFjMCAyNi41LTIxLjUgNDgtNDggNDhsLTMyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTIuMUMxNzIuNyAzNTkgMTYwIDMzNyAxNjAgMzEybDAtNDBjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDQwek05NiAzMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnptMTYgMjQwbDAgMzJjMCAzMi41IDEyLjEgNjIuMSAzMiA4NC43bDAgNzUuM2MwIDEuMiAwIDIuNSAuMSAzLjctOC41IDcuNi0xOS43IDEyLjMtMzIuMSAxMi4zbC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTU2LjZDMTIuOSAzNjQuNCAwIDM0My43IDAgMzIwbDAtMzJjMC01MyA0My05NiA5Ni05NiAxMi43IDAgMjQuOCAyLjUgMzUuOSA2LjktMTIuNiAyMS40LTE5LjkgNDYuNC0xOS45IDczLjF6TTM2OCA0NjRsMC03NS4zYzE5LjktMjIuNSAzMi01Mi4yIDMyLTg0LjdsMC0zMmMwLTI2LjctNy4zLTUxLjYtMTkuOS03My4xIDExLjEtNC41IDIzLjItNi45IDM1LjktNi45IDUzIDAgOTYgNDMgOTYgOTZsMCAzMmMwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRsMCA1Ni42YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0xMi4zIDAtMjMuNi00LjYtMzIuMS0xMi4zIDAtMS4yIC4xLTIuNSAuMS0zLjd6TTQxNiAzMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnoiXX0sUVB0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1iaW5hcnkiLGljb246WzQ0OCw1MTIsW10sImU2OWIiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTE0NCA0Yy0yNC4zIDAtNDQgMTkuNy00NCA0NGwwIDQ4YzAgMjQuMyAxOS43IDQ0IDQ0IDQ0bDMyIDBjMjQuMyAwIDQ0LTE5LjcgNDQtNDRsMC00OGMwLTI0LjMtMTkuNy00NC00NC00NGwtMzIgMHptLTQgNDRjMC0yLjIgMS44LTQgNC00bDMyIDBjMi4yIDAgNCAxLjggNCA0bDAgNDhjMCAyLjItMS44IDQtNCA0bC0zMiAwYy0yLjIgMC00LTEuOC00LTRsMC00OHptMTQwLTQ0Yy0xMSAwLTIwIDktMjAgMjAgMCA5LjcgNi45IDE3LjcgMTYgMTkuNmwwIDc2LjRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC05NmMwLTExLTktMjAtMjAtMjBsLTE2IDB6TTEzMiAyOTZjMCA5LjcgNi45IDE3LjcgMTYgMTkuNmwwIDc2LjRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC05NmMwLTExLTktMjAtMjAtMjBsLTE2IDBjLTExIDAtMjAgOS0yMCAyMHptOTYgMjRsMCA0OGMwIDI0LjMgMTkuNyA0NCA0NCA0NGwzMiAwYzI0LjMgMCA0NC0xOS43IDQ0LTQ0bDAtNDhjMC0yNC4zLTE5LjctNDQtNDQtNDRsLTMyIDBjLTI0LjMgMC00NCAxOS43LTQ0IDQ0em00NC00bDMyIDBjMi4yIDAgNCAxLjggNCA0bDAgNDhjMCAyLjItMS44IDQtNCA0bC0zMiAwYy0yLjIgMC00LTEuOC00LTRsMC00OGMwLTIuMiAxLjgtNCA0LTR6Il19LEc1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXNrcy10aGVhdGVyIixpY29uOls1NzYsNTEyLFsxMjc5MTcsInRoZWF0ZXItbWFza3MiXSwiZjYzMCIsIk0tNSAxMThMMjMuNSAyNzkuN2MxNCA3OS41IDc2LjMgMTQxLjggMTU1LjggMTU1LjhsMTIuNyAyLjJjLTE2LjUtMjguNi0yNy4xLTYwLjctMzAuNi05NC41bC0yNC4xIDQuM2MtOS43IDEuNy0xOC44LTUuOC0xNi45LTE1LjUgNC44LTI0LjcgMTkuMS00Ni42IDM5LjctNjAuOWwwLTc0LjZjLTEuNCAuOC0zIDEuMy00LjcgMS42bC02MyAxMS4xYy04LjcgMS41LTE3LjMtNC40LTE1LjktMTMuMSAzLjEtMTkuNiAxOC40LTM2IDM5LjEtMzkuNyAxNy4yLTMgMzMuOSAzLjUgNDQuNiAxNS44bDAtMjIuN2MwLTIyLjUgNi45LTUyLjQgMzIuMy03My40IDI2LTIxLjUgNjcuNy00My45IDEyNC45LTU0LjItMzAuNS0xNi4zLTg2LjMtMzItMTYzLjgtMTguNC04MC4zIDE0LjItMTI4IDUwLjEtMTUwLjEgNzYuMS05IDEwLjUtMTAuOCAyNC45LTguNCAzOC41ek0yMDggMTM4LjdsMCAxNzQuOGMwIDgwLjcgNTAuNSAxNTIuOSAxMjYuNCAxODAuNEwzNjIuMSA1MDRjMTQuMSA1LjEgMjkuNiA1LjEgNDMuNyAwTDQzMy42IDQ5NEM1MDkuNSA0NjYuNCA1NjAgMzk0LjMgNTYwIDMxMy41bDAtMTc0LjhjMC02LjktMi4xLTEzLjgtNy0xOC42LTIyLjYtMjIuNS03OC4yLTU2LTE2OS01NnMtMTQ2LjQgMzMuNi0xNjkgNTZjLTQuOSA0LjktNyAxMS43LTcgMTguNnptNjYuMSAxODcuMWMtMS40LTcgNy0xMSAxMi43LTYuNiAyNi45IDIwLjYgNjAuNiAzMi45IDk3LjIgMzIuOXM3MC4yLTEyLjMgOTcuMi0zMi45YzUuNy00LjQgMTQuMS0uNCAxMi43IDYuNi0xMC4xIDUxLjQtNTUuNSA5MC4zLTEwOS45IDkwLjNzLTk5LjgtMzguOC0xMDkuOS05MC4zem0uNS0xMDEuNUMyODEuMiAyMDUuNSAyOTkgMTkyIDMyMCAxOTJzMzguOSAxMy41IDQ1LjQgMzIuM2MyLjkgOC40LTQuNSAxNS43LTEzLjQgMTUuN2wtNjQgMGMtOC44IDAtMTYuMy03LjQtMTMuNC0xNS43ek00ODAgMjQwbC02NCAwYy04LjggMC0xNi4zLTcuNC0xMy40LTE1LjcgNi41LTE4LjggMjQuNC0zMi4zIDQ1LjQtMzIuM3MzOC45IDEzLjUgNDUuNCAzMi4zYzIuOSA4LjQtNC41IDE1LjctMTMuNCAxNS43eiJdfSxKUHQ9RzVlLGVJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXJ0LXBsdXMiLGljb246WzY0MCw1MTIsW10sImYyMTciLCJNMCA4QzAtNS4zIDEwLjctMTYgMjQtMTZsNDUuMyAwYzI3LjEgMCA1MC4zIDE5LjQgNTUuMSA0NmwuNCAyIDQxMi43IDBjMjAgMCAzNS4xIDE4LjIgMzEuNCAzNy45TDUzNy44IDIzNS44Yy01LjcgMzAuMy0zMi4xIDUyLjItNjIuOSA1Mi4ybC0zMDMuNiAwIDUuMSAyOC4zYzIuMSAxMS40IDEyIDE5LjcgMjMuNiAxOS43TDQ1NiAzMzZjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI1NS45IDBjLTM0LjggMC02NC42LTI0LjktNzAuOC01OS4xTDc3LjIgMzguNmMtLjctMy44LTQtNi42LTcuOS02LjZMMjQgMzJDMTAuNyAzMiAwIDIxLjMgMCA4ek0xNjAgNDY0YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTIyNCAwYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTMzNiA3OC40Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDMzLjYtMzMuNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMzLjYgMCAwIDMzLjZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMzLjYgMzMuNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMy42IDAgMC0zMy42YzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxCYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kcy1hc2wtaW50ZXJwcmV0aW5nIixpY29uOls2NDAsNTEyLFsiYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmciLCJhc2wtaW50ZXJwcmV0aW5nIiwiaGFuZHMtYW1lcmljYW4tc2lnbi1sYW5ndWFnZS1pbnRlcnByZXRpbmciXSwiZjJhMyIsIk0xNTYuNiA0Ni4zYzcuOS0xNS44IDEuNS0zNS0xNC4zLTQyLjlzLTM1LTEuNS00Mi45IDE0LjNMMTMuNSAxODkuNEM0LjYgMjA3LjIgMCAyMjYuOCAwIDI0Ni43TDAgMjU2YzAgNzAuNyA1Ny4zIDEyOCAxMjggMTI4bDgwIDAgMC0uM2MzNS4yLTIuNyA2NS40LTIyLjggODIuMS01MS43IDguOC0xNS4zIDMuNi0zNC45LTExLjctNDMuN3MtMzQuOS0zLjYtNDMuNyAxMS43Yy03IDEyLTE5LjkgMjAtMzQuNyAyMC0yMi4xIDAtNDAtMTcuOS00MC00MHMxNy45LTQwIDQwLTQwYzE0LjggMCAyNy43IDggMzQuNyAyMCA4LjggMTUuMyAyOC40IDIwLjUgNDMuNyAxMS43czIwLjUtMjguNCAxMS43LTQzLjdjLTEyLjgtMjIuMS0zMy42LTM5LjEtNTguNC00Ny4xbDgwLjgtMjJjMTctNC42IDI3LjEtMjIuMiAyMi41LTM5LjNzLTIyLjItMjcuMS0zOS4zLTIyLjVsLTEwMC43IDI3LjUgODEuNi02OGMxMy42LTExLjMgMTUuNC0zMS41IDQuMS00NS4xUzI0OS4xLTMuOSAyMzUuNSA3LjRsLTEwMS45IDg0LjkgMjMtNDZ6TTQ4My40IDQ2NS43Yy03LjkgMTUuOC0xLjUgMzUgMTQuMyA0Mi45czM1IDEuNSA0Mi45LTE0LjNsODUuOS0xNzEuN2M4LjktMTcuOCAxMy41LTM3LjQgMTMuNS01Ny4ybDAtOS4zYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4bC04MCAwIDAgLjNjLTM1LjIgMi43LTY1LjQgMjIuOC04Mi4xIDUxLjctOC45IDE1LjMtMy42IDM0LjkgMTEuNyA0My43czM0LjkgMy42IDQzLjctMTEuN2M3LTEyIDE5LjktMjAgMzQuNy0yMCAyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MGMtMTQuOCAwLTI3LjctOC0zNC43LTIwLTguOS0xNS4zLTI4LjQtMjAuNS00My43LTExLjdzLTIwLjUgMjguNC0xMS43IDQzLjdjMTIuOCAyMi4xIDMzLjYgMzkuMSA1OC40IDQ3LjFsLTgwLjggMjJjLTE3LjEgNC42LTI3LjEgMjIuMi0yMi41IDM5LjNzMjIuMiAyNy4xIDM5LjMgMjIuNWwxMDAuNy0yNy41LTgxLjYgNjhjLTEzLjYgMTEuMy0xNS40IDMxLjUtNC4xIDQ1LjFzMzEuNSAxNS40IDQ1LjEgNC4xbDEwMS45LTg0LjktMjMgNDZ6Il19LHRJdD1CYixhSXQ9QmIsckl0PUJiLHNJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZS1jZWxscy1yb3ctdW5sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNjkxIiwiTTI1NiAyMjRsMCAxOTIgNjQgMCAwLTE5Mi02NCAwem0yNTYtNzljLTQ2LjcgNS44LTg1LjYgMzYuOC0xMDIuNyA3OWwtMjUuMyAwIDAgOTAuOGMtMTAuMSAxNS4yLTE2IDMzLjQtMTYgNTMuMWwwIDk2YzAgNS41IC41IDEwLjkgMS4zIDE2LjFMMTI4IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMNjQgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA0OXpNMTI4IDIyNGwwIDE5MiA2NCAwIDAtMTkyLTY0IDB6bTQzMiA0OGMtLjEtMTcuNi0xNC40LTMxLjktMzItMzEuOS0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ3LjkgOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NmMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC42YzAtNDQuMiAzNS44LTgwIDgwLTgwIDQ0LjIgMCA3OS45IDM1LjggODAgNzkuOWwtNDggMHoiXX0saUl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvY2tldCIsaWNvbjpbNTEyLDUxMixbXSwiZjEzNSIsIk0xMjggMzIwTDI0LjUgMzIwYy0yNC45IDAtNDAuMi0yNy4xLTI3LjQtNDguNUw1MCAxODMuM0M1OC43IDE2OC44IDc0LjMgMTYwIDkxLjIgMTYwbDk1IDBjNzYuMS0xMjguOSAxODkuNi0xMzUuNCAyNjUuNS0xMjQuMyAxMi44IDEuOSAyMi44IDExLjkgMjQuNiAyNC42IDExLjEgNzUuOSA0LjYgMTg5LjQtMTI0LjMgMjY1LjVsMCA5NWMwIDE2LjktOC44IDMyLjUtMjMuMyA0MS4ybC04OC4yIDUyLjljLTIxLjMgMTIuOC00OC41LTIuNi00OC41LTI3LjRMMTkyIDM4NGMwLTM1LjMtMjguNy02NC02NC02NGwtLjEgMHpNNDAwIDE2MGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSxvSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hyaW1wIixpY29uOls1MTIsNTEyLFsxMjk0MjRdLCJlNDQ4IiwiTTcyIDMyQzMyLjIgMzIgMCA2NC4yIDAgMTA0IDAgMTQxLjkgMjkuMyAxNzIuOSA2Ni40IDE3NS44IDc3LjYgMjU3LjIgMTQ3LjQgMzIwIDIzMiAzMjBsNTYgMCAwLTE5Mi0yMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRTNTguNyA4MCA3MiA4MGwzODQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw3MiAzMnpNMjI0IDQ1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw3MiAwIDAtNzIuMi02NC4xLTIyLjRjLTEyLjUtNC40LTI2LjIgMi4yLTMwLjYgMTQuN3MyLjIgMjYuMiAxNC43IDMwLjZsNC41IDEuNkMyMzMgNDMzLjkgMjI0IDQ0My45IDIyNCA0NTZ6bTEyOCAyMy4zYzM2LjQtMy4zIDY5LjUtMTcuNiA5Ni4xLTM5LjZsLTg2LjUtMzQuNmMtMyAxLjgtNi4yIDMuMi05LjYgNC4zbDAgNjkuOXpNNDcyLjYgNDE1YzI0LjYtMzAuMyAzOS40LTY4LjkgMzkuNC0xMTEgMC0xMi4zLTEuMy0yNC4zLTMuNy0zNS45TDM4Mi44IDM1NS4xYy44IDMuNCAxLjIgNyAxLjIgMTAuNiAwIDQuNi0uNyA5LTEuOSAxMy4xTDQ3Mi42IDQxNXpNMzM2IDEyOGwtMTYgMCAwIDE5MiAxOC4zIDBjOS45IDAgMTkuMSAzLjIgMjYuNiA4LjVsMTMzLjUtOTIuNEM0NzEuOCAxNzIuNiA0MDkuMSAxMjggMzM2IDEyOHpNMTY4IDE5MmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxZNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVuZ2Utc2lnbiIsaWNvbjpbMzg0LDUxMixbODM3NiwidGVuZ2UiXSwiZjdkNyIsIk0wIDU2QzAgNDIuNyAxMC43IDMyIDI0IDMybDMzNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDgwQzEwLjcgODAgMCA2OS4zIDAgNTZ6TTAgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMjggMCAwIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTI1Ni0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LG5JdD1ZNWUsSzVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWNoaW1uZXktbWVkaWNhbCIsaWNvbjpbNTEyLDUxMixbImNsaW5pYy1tZWRpY2FsIl0sImY3ZjIiLCJNMjM0LjIgOC42YzEyLjMtMTEuNCAzMS4zLTExLjQgNDMuNSAwTDM2OCA5Mi4zIDM2OCA4MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTAxLjUgMzcuOCAzNS4xYzkuNiA5IDEyLjggMjIuOSA4IDM1LjFTNDkzLjIgMjcyIDQ4MCAyNzJsLTE2IDAgMCAxNzZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTI4OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDh6TTIyNCAyNDhsMCA0MC00MCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsNDAgMCAwIDQwYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTQwIDQwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC00MCAwIDAtNDBjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6Il19LGxJdD1LNWUsY0l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXJzLXNsYXNoIixpY29uOls2NDAsNTEyLFtdLCJlMDczIiwiTTczLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUzI5LjctLjMgMzkgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDMyMS44IDIyNGM1Ni42LTEgMTAyLjItNDcuMiAxMDIuMi0xMDQgMC01Ny40LTQ2LjYtMTA0LTEwNC0xMDQtNTYuOCAwLTEwMyA0NS42LTEwNCAxMDIuMkw3My0yNC45ek01MTIgMjg4Yy0xNy4yIDAtMzMuNyAzLjQtNDguNyA5LjZsMTcwIDE3MGM0LjItNS40IDYuNy0xMi4yIDYuNy0xOS42bDAtMzJjMC03MC43LTU3LjMtMTI4LTEyOC0xMjh6TTU5LjkgOTcuN2MtMjEuNSAxMi41LTM1LjkgMzUuNy0zNS45IDYyLjMgMCAzOS44IDMyLjIgNzIgNzIgNzIgMjYuNiAwIDQ5LjgtMTQuNCA2Mi4zLTM1LjlMNTkuOSA5Ny43ek0yNTAuMiAyODhDMTk2LjggMzEzLjkgMTYwIDM2OC43IDE2MCA0MzJsMCAxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyNTAuMiAwLTE5Mi0xOTJ6TTEyOCAyODhDNTcuMyAyODggMCAzNDUuMyAwIDQxNmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDg2LjcgMGMtNC4zLTkuOC02LjctMjAuNi02LjctMzJsMC0xNmMwLTUzLjIgMjAtMTAxLjggNTIuOS0xMzguNi0xMS43LTMuNS0yNC4xLTUuNC0zNi45LTUuNHpNNjE2IDE2MGE3MiA3MiAwIDEgMCAtMTQ0IDAgNzIgNzIgMCAxIDAgMTQ0IDB6Il19LGRJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwYXBlci1wbGFuZSIsaWNvbjpbNTc2LDUxMixbNjE5MTNdLCJmMWQ4IiwiTTUzNi40LTI2LjNjOS44LTMuNSAyMC42LTEgMjggNi4zczkuOCAxOC4yIDYuMyAyOGwtMTc4IDQ5Ni45Yy01IDEzLjktMTguMSAyMy4xLTMyLjggMjMuMS0xNC4yIDAtMjctOC42LTMyLjMtMjEuN2wtNjQuMi0xNThjLTQuNS0xMS0yLjUtMjMuNiA1LjItMzIuNmw5NC41LTExMi40YzUuMS02LjEgNC43LTE1LS45LTIwLjZzLTE0LjYtNi0yMC42LS45TDIyOS4yIDI3Ni4xYy05LjEgNy42LTIxLjYgOS42LTMyLjYgNS4yTDM4LjEgMjE2LjhjLTEzLjEtNS4zLTIxLjctMTguMS0yMS43LTMyLjMgMC0xNC43IDkuMi0yNy44IDIzLjEtMzIuOGw0OTYuOS0xNzh6Il19LFo1ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLWF0bGFzIixpY29uOls0NDgsNTEyLFsiYXRsYXMiXSwiZjU1OCIsIk05NiA1MTJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02Ni43YzE4LjYtNi42IDMyLTI0LjQgMzItNDUuM2wwLTI4OGMwLTI2LjUtMjEuNS00OC00OC00OEw5NiAwQzQzIDAgMCA0MyAwIDk2TDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZ6TTY0IDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMCAwIDY0LTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMzEwLjYgMjA4TDI3OSAyMDhjLTEuNCAyMy4xLTYgNDQuMi0xMi42IDYxLjIgMjIuNy0xMi41IDM5LjQtMzQuOCA0NC4yLTYxLjJ6bS0xNzMuMSAwYzQuOCAyNi40IDIxLjUgNDguNyA0NC4yIDYxLjItNi43LTE3LTExLjItMzgtMTIuNi02MS4ybC0zMS42IDB6bTc2LjQgNTVjNC41IDkuNiA4LjIgMTMuOCAxMC4yIDE1LjUgMi0xLjcgNS43LTUuOCAxMC4yLTE1LjUgNi4yLTEzLjQgMTEuMS0zMi41IDEyLjctNTVsLTQ1LjggMGMxLjYgMjIuNSA2LjUgNDEuNiAxMi43IDU1em0tMTIuNy04N2w0NS44IDBjLTEuNi0yMi41LTYuNS00MS42LTEyLjctNTUtNC41LTkuNi04LjItMTMuOC0xMC4yLTE1LjUtMiAxLjctNS43IDUuOC0xMC4yIDE1LjUtNi4yIDEzLjQtMTEuMSAzMi41LTEyLjcgNTV6bTEwOS41IDBjLTQuOC0yNi40LTIxLjUtNDguNy00NC4yLTYxLjIgNi43IDE3IDExLjIgMzggMTIuNiA2MS4ybDMxLjYgMHpNMTY5IDE3NmMxLjQtMjMuMSA2LTQ0LjIgMTIuNi02MS4yLTIyLjcgMTIuNS0zOS40IDM0LjgtNDQuMiA2MS4ybDMxLjYgMHpNOTYgMTkyYTEyOCAxMjggMCAxIDEgMjU2IDAgMTI4IDEyOCAwIDEgMSAtMjU2IDB6Il19LHVJdD1aNWUscEl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxlIixpY29uOls0NDgsNTEyLFtdLCJmMGNlIiwiTTM4NCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMzIwIDAtNi41LS4zQzI1LjIgNDc2LjQgMCA0NDkuMSAwIDQxNkwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek02NCAzMjBsMCA5NiAxMjggMCAwLTk2LTEyOCAwem0xOTIgMGwwIDk2IDEyOCAwIDAtOTYtMTI4IDB6TTY0IDI1NmwxMjggMCAwLTk2LTEyOCAwIDAgOTZ6bTE5MiAwbDEyOCAwIDAtOTYtMTI4IDAgMCA5NnoiXX0sZkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYXJ0IixpY29uOls1MTIsNTEyLFsxMjgxNTMsMTI4MTU0LDEyODE1NSwxMjgxNTYsMTI4NDIwLDEyOTI5MywxMjkyOTQsMTI5NTA1LDk4MjksMTAwODQsNjE1NzhdLCJmMDA0IiwiTTI0MSA4Ny4xbDE1IDIwLjcgMTUtMjAuN0MyOTYgNTIuNSAzMzYuMiAzMiAzNzguOSAzMiA0NTIuNCAzMiA1MTIgOTEuNiA1MTIgMTY1LjFsMCAyLjZjMCAxMTIuMi0xMzkuOSAyNDIuNS0yMTIuOSAyOTguMi0xMi40IDkuNC0yNy42IDE0LjEtNDMuMSAxNC4xcy0zMC44LTQuNi00My4xLTE0LjFDMTM5LjkgNDEwLjIgMCAyNzkuOSAwIDE2Ny43bDAtMi42QzAgOTEuNiA1OS42IDMyIDEzMy4xIDMyIDE3NS44IDMyIDIxNiA1Mi41IDI0MSA4Ny4xeiJdfSxYNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWNoZXZyb24tdXAiLGljb246WzUxMiw1MTIsWyJjaGV2cm9uLWNpcmNsZS11cCJdLCJmMTM5IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0zNzcgMjcxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTg3LTg3LTg3IDg3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDIzOSAxNjdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMzc3IDI3MXoiXX0saEl0PVg1ZSxRNWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmF0dGVyeS1oYWxmIixpY29uOls2NDAsNTEyLFsiYmF0dGVyeS0zIl0sImYyNDIiLCJNNTI4IDEyOGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyMjRjMCA4LjgtNy4yIDE2LTE2IDE2bC00MTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjI0YzAtOC44IDcuMi0xNiAxNi0xNmw0MTYgMHpNMTEyIDY0Yy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDIyNGMwIDQ0LjIgMzUuOCA4MCA4MCA4MGw0MTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsMC00OGMwLTQ0LjItMzUuOC04MC04MC04MEwxMTIgNjR6bTU2IDExMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTE0NCAweiJdfSxtSXQ9UTVlLE5lZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb250LWF3ZXNvbWUiLGljb246WzUxMiw1MTIsWzYyNTAxLDYyNjk0LCJmb250LWF3ZXNvbWUtZmxhZyIsImZvbnQtYXdlc29tZS1sb2dvLWZ1bGwiXSwiZjJiNCIsIk05MS43IDk2QzEwNi4zIDg2LjggMTE2IDcwLjUgMTE2IDUyIDExNiAyMy4zIDkyLjcgMCA2NCAwUzEyIDIzLjMgMTIgNTJjMCAxNi43IDcuOCAzMS41IDIwIDQxbDAgNDE5IDY0IDAgMC02NCAzNzMuNiAwYzE0LjYgMCAyNi40LTExLjggMjYuNC0yNi40IDAtMy43LS44LTcuMy0yLjMtMTAuN0w0MzIgMjcyIDQ5My43IDEzMy4xYzEuNS0zLjQgMi4zLTcgMi4zLTEwLjcgMC0xNC42LTExLjgtMjYuNC0yNi40LTI2LjRMOTEuNyA5NnoiXX0sZ0l0PU5lZSxiSXQ9TmVlLHZJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kY3VmZnMiLGljb246WzU3Niw1MTIsW10sImU0ZjgiLCJNMzIwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyIDE0LjMgMzIgMzIgMzIgMzItMTQuMyAzMi0zMnpNMTkyIDY0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMTUyIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE2YzAgMSAuMSAxLjkgLjIgMi45LTc0LjcgMjYuMy0xMjguMiA5Ny41LTEyOC4yIDE4MS4xIDAgMTA2IDg2IDE5MiAxOTIgMTkyczE5Mi04NiAxOTItMTkyYzAtODMuNy01My41LTE1NC44LTEyOC4yLTE4MS4xIC4xLS45IC4yLTEuOSAuMi0yLjlsMC0xNmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtODAgMHpNNjQgMzIwYTEyOCAxMjggMCAxIDEgMjU2IDAgMTI4IDEyOCAwIDEgMSAtMjU2IDB6bTQ0OCAwYzAgNjYuOS01MS4zIDEyMS44LTExNi42IDEyNy41LTE0LjMgMjIuOC0zMi40IDQzLjEtNTMuNCA1OS45IDEzLjUgMyAyNy42IDQuNiA0MiA0LjYgMTA2IDAgMTkyLTg2IDE5Mi0xOTIgMC04My43LTUzLjUtMTU0LjgtMTI4LjItMTgxLjEgLjEtLjkgLjItMS45IC4yLTIuOWwwLTE2YzAtMTMuMy0xMC43LTI0LTI0LTI0bC04MCAwYy0xMi4zIDAtMjIuNCA5LjItMjMuOCAyMS4xIDMwLjMgMTkuMiA1Ni4xIDQ1IDc1LjIgNzUuNCA2NS40IDUuOCAxMTYuNiA2MC42IDExNi42IDEyNy41ek0zODQgNjRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSx4SXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGF0LWNvd2JveS1zaWRlIixpY29uOls2NDAsNTEyLFtdLCJmOGMxIiwiTTY0MCAzODguM2MwIDE2LjktNy4xIDMyLjItMTguNCA0My4xbC0zNS0yMy4zLTI5Mi43LTE5NS4xYy0zNi4xLTI0LjEtNzguNi0zNi45LTEyMi0zNi45bC0zLjkgMGMtMi43IDAtNS40IDAtOCAuMWwyMi4yLTEwMGM1LjctMjUuOCAyOC42LTQ0LjEgNTUtNDQuMSAxMi4yIDAgMjQuMSA0IDMzLjggMTEuM2w0LjcgMy41YzI2LjMgMTkuNyA2Mi40IDE5LjcgODguNiAwbDQuNy0zLjVjOS44LTcuMyAyMS42LTExLjMgMzMuOC0xMS4zIDI2LjQgMCA0OS4zIDE4LjMgNTUgNDQuMWwzMyAxNDguNUM1NzQuNSAyMzIuMyA2NDAgMzAyLjYgNjQwIDM4OC4zek0xNzEuOSAyMjRjMzMuOSAwIDY3LjEgMTAgOTUuNCAyOC45TDU2MCA0NDggNTYgNDQ4Yy0zMC45IDAtNTYtMjUuMS01Ni01NiAwLTkyLjggNzUuMi0xNjggMTY4LTE2OGwzLjkgMHoiXX0seUl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImluZHVzdHJ5IixpY29uOls1MTIsNTEyLFtdLCJmMjc1IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRMMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsNDE2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yNzkuOGMwLTE4LjItMTkuNC0yOS43LTM1LjQtMjEuMWwtMTU2LjYgODQuMyAwLTYzLjJjMC0xOC4yLTE5LjQtMjkuNy0zNS40LTIxLjFMMTI4IDIxNS40IDEyOCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAzMnoiXX0sd0l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxpbmVzLWxlYW5pbmciLGljb246WzM4NCw1MTIsW10sImU1MWUiLCJNMTkwLjQgNzQuMWM1LjYtMTYuOC0zLjUtMzQuOS0yMC4yLTQwLjVzLTM0LjkgMy41LTQwLjUgMjAuMmwtMTI4IDM4NGMtNS42IDE2LjggMy41IDM0LjkgMjAuMiA0MC41czM0LjktMy41IDQwLjUtMjAuMmwxMjgtMzg0em03MC45LTQxLjdjLTE3LjQtMi45LTMzLjkgOC45LTM2LjggMjYuM2wtNjQgMzg0Yy0yLjkgMTcuNCA4LjkgMzMuOSAyNi4zIDM2LjhzMzMuOS04LjkgMzYuOC0yNi4zbDY0LTM4NGMyLjktMTcuNC04LjktMzMuOS0yNi4zLTM2Ljh6TTM1MiAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM4NGMwLTE3LjctMTQuMy0zMi0zMi0zMnoiXX0sTUl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhc3Nwb3J0IixpY29uOlszODQsNTEyLFtdLCJmNWFiIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHpNOTYgNDA4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTI3OC42IDIwOGMtNC44IDI2LjQtMjEuNSA0OC43LTQ0LjIgNjEuMiA2LjctMTcgMTEuMi0zOCAxMi42LTYxLjJsMzEuNiAwem0tMTczLjEgMGwzMS42IDBjMS40IDIzLjEgNiA0NC4yIDEyLjYgNjEuMi0yMi43LTEyLjUtMzkuNC0zNC44LTQ0LjItNjEuMnptNzYuNCA1NWMtNi4yLTEzLjQtMTEuMS0zMi41LTEyLjctNTVsNDUuOCAwYy0xLjYgMjIuNS02LjUgNDEuNi0xMi43IDU1LTQuNSA5LjYtOC4yIDEzLjgtMTAuMiAxNS41LTItMS43LTUuNy01LjgtMTAuMi0xNS41em0wLTE0MmM0LjUtOS42IDguMi0xMy44IDEwLjItMTUuNSAyIDEuNyA1LjcgNS44IDEwLjIgMTUuNSA2LjIgMTMuNCAxMS4xIDMyLjUgMTIuNyA1NWwtNDUuOCAwYzEuNi0yMi41IDYuNS00MS42IDEyLjctNTV6bTk2LjcgNTVMMjQ3IDE3NmMtMS40LTIzLjEtNi00NC4yLTEyLjYtNjEuMiAyMi43IDEyLjUgMzkuNCAzNC44IDQ0LjIgNjEuMnpNMTM3IDE3NmwtMzEuNiAwYzQuOC0yNi40IDIxLjUtNDguNyA0NC4yLTYxLjItNi43IDE3LTExLjIgMzgtMTIuNiA2MS4yem0xODMgMTZhMTI4IDEyOCAwIDEgMCAtMjU2IDAgMTI4IDEyOCAwIDEgMCAyNTYgMHoiXX0sa0l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImluZmluaXR5IixpY29uOls2NDAsNTEyLFs4NzM0LDk4NTRdLCJmNTM0IiwiTTAgMjU2YzAtODguNCA3MS42LTE2MCAxNjAtMTYwIDUwLjQgMCA5Ny44IDIzLjcgMTI4IDY0bDMyIDQyLjcgMzItNDIuN2MzMC4yLTQwLjMgNzcuNi02NCAxMjgtNjQgODguNCAwIDE2MCA3MS42IDE2MCAxNjBTNTY4LjQgNDE2IDQ4MCA0MTZjLTUwLjQgMC05Ny44LTIzLjctMTI4LTY0bC0zMi00Mi43LTMyIDQyLjdjLTMwLjIgNDAuMy03Ny42IDY0LTEyOCA2NC04OC40IDAtMTYwLTcxLjYtMTYwLTE2MHptMjgwIDBsLTQzLjItNTcuNmMtMTguMS0yNC4yLTQ2LjYtMzguNC03Ni44LTM4LjQtNTMgMC05NiA0My05NiA5NnM0MyA5NiA5NiA5NmMzMC4yIDAgNTguNy0xNC4yIDc2LjgtMzguNEwyODAgMjU2em04MCAwbDQzLjIgNTcuNmMxOC4xIDI0LjIgNDYuNiAzOC40IDc2LjggMzguNCA1MyAwIDk2LTQzIDk2LTk2cy00My05Ni05Ni05NmMtMzAuMiAwLTU4LjcgMTQuMi03Ni44IDM4LjRMMzYwIDI1NnoiXX0sU0l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb25lIixpY29uOls1MTIsNTEyLFtdLCJmMjRkIiwiTTI4OCA0NDhsLTIyNCAwIDAtMjI0IDQ4IDAgMC02NC00OCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTQ4LTY0IDAgMCA0OHptLTY0LTk2bDIyNCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjI0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDIyNCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDIyNGMwIDM1LjMgMjguNyA2NCA2NCA2NHoiXX0sekl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvcndhcmQiLGljb246WzU3Niw1MTIsWzkxOTNdLCJmMDRlIiwiTTM3MS43IDQzLjFDMzYwLjEgMzIgMzQzIDI4LjkgMzI4LjMgMzUuMlMzMDQgNTYgMzA0IDcybDAgMTM2LjMtMTcyLjMtMTY1LjFDMTIwLjEgMzIgMTAzIDI4LjkgODguMyAzNS4yUzY0IDU2IDY0IDcybDAgMzY4YzAgMTYgOS42IDMwLjUgMjQuMyAzNi44czMxLjggMy4yIDQzLjQtNy45TDMwNCAzMDMuNyAzMDQgNDQwYzAgMTYgOS42IDMwLjUgMjQuMyAzNi44czMxLjggMy4yIDQzLjQtNy45bDE5Mi0xODRjNy45LTcuNSAxMi4zLTE4IDEyLjMtMjguOXMtNC41LTIxLjMtMTIuMy0yOC45bC0xOTItMTg0eiJdfSxDSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibSIsaWNvbjpbNDQ4LDUxMixbMTA5XSwiNGQiLCJNMjIuNyAzMy40YzEzLjUtNC4xIDI4LjEgMS4xIDM1LjkgMTIuOUwyMjQgMjk0LjMgMzg5LjQgNDYuM2M3LjgtMTEuNyAyMi40LTE3IDM1LjktMTIuOVM0NDggNDkuOSA0NDggNjRsMCAzODRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yNzguMy0xMzMuNCAyMDAuMWMtNS45IDguOS0xNS45IDE0LjItMjYuNiAxNC4ycy0yMC43LTUuMy0yNi42LTE0LjJMNjQgMTY5LjcgNjQgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NEMwIDQ5LjkgOS4yIDM3LjUgMjIuNyAzMy40eiJdfSxfSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1zcGlrZXMiLGljb246WzY0MCw1MTIsW10sImU1NjgiLCJNNjQgMTE2LjhjMC0xNS44IDIwLjUtMjIgMjkuMy04LjlsOTguNyAxNDggMC0xMzkuMmMwLTE1LjggMjAuNS0yMiAyOS4zLTguOWw5OC43IDE0OCAwLTEzOS4yYzAtMTUuOCAyMC41LTIyIDI5LjMtOC45bDk4LjcgMTQ4IDAtMTM5LjJjMC0xNS44IDIwLjUtMjIgMjkuMy04LjlMNjA2LjggMzAyLjJjMTQuMiAyMS4zLTEuMSA0OS44LTI2LjYgNDkuOEw2NCAzNTIgNjQgMTE2Ljh6TTMyIDM4NGw1NzYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA0NDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LFRJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb3VudGFpbiIsaWNvbjpbNTEyLDUxMixbMTI3OTU2XSwiZjZmYyIsIk0yNTYuNSAwYzE0LjcgMCAyOC4yIDguMSAzNS4yIDIxbDIxNiA0MDBjNi43IDEyLjQgNi40IDI3LjQtLjggMzkuNS03LjIgMTIuMS0yMC4zIDE5LjUtMzQuMyAxOS41bC00MzIgMGMtMTQuMSAwLTI3LjEtNy40LTM0LjMtMTkuNXMtNy41LTI3LjEtLjgtMzkuNWwyMTYtNDAwIDIuOS00LjZDMjMxLjcgNi4yIDI0My42IDAgMjU2LjUgMHpNMTcwLjQgMjQ5LjlsMjYuOCAyNi44YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwbDQzLjMtNDMuM2M2LTYgMTQuMS05LjQgMjIuNi05LjRsNDIuOCAwLTcyLjEtMTMzLjUtODYuMSAxNTkuNHoiXX0sTEl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXNzIixpY29uOls1MTIsNTEyLFtdLCJmNDM5IiwiTTE2OCA1NmwwIDQwLTc4LjEgMGMtMTQuMyAwLTI1LjkgMTEuNi0yNS45IDI1LjkgMCA0IC45IDggMi43IDExLjZsMzMuNCA2Ni44Yy0xMS40IDEuOC0yMC4yIDExLjctMjAuMiAyMy43IDAgMTMuMyAxMC43IDI0IDI0IDI0bDUuNiAwLTEzLjYgMTM2LTU2LjIgNzAuM2MtNSA2LjMtNy44IDE0LjEtNy44IDIyLjIgMCAxOS42IDE1LjkgMzUuNSAzNS41IDM1LjVsMjQ4LjkgMGMxOS42IDAgMzUuNS0xNS45IDM1LjUtMzUuNSAwLTguMS0yLjctMTUuOS03LjgtMjIuMkwyODggMzg0IDI3NC40IDI0OCAyODAgMjQ4YzEzLjMgMCAyNC0xMC43IDI0LTI0IDAtMTEuOS04LjctMjEuOS0yMC4yLTIzLjdsMzMuNC02Ni44YzEuOC0zLjYgMi43LTcuNiAyLjctMTEuNiAwLTE0LjMtMTEuNi0yNS45LTI1LjktMjUuOWwtNzguMSAwIDAtNDAgMTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNFMyNDUuMyA4IDIzMiA4bC0xNiAwIDAtMTZjMC0xMy4zLTEwLjctMjQtMjQtMjRTMTY4LTIxLjMgMTY4LThsMCAxNi0xNiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE2IDB6TTMyNS44IDI3OS42bDguNSA4NS41IDQ3LjQgNTkuMiA0LjIgNS43YzkuMiAxMy43IDE0LjEgMjkuOSAxNC4xIDQ2LjUgMCAxMi43LTIuOCAyNC44LTcuOSAzNS41bDgzLjEgMGMyMC4zIDAgMzYuOC0xNi41IDM2LjgtMzYuOCAwLTcuMy0yLjItMTQuNC02LjItMjAuNGwtMjUuOC0zOC43IDAtNjQgMTMuMy0xMy4zYzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNMNTEyIDE5MmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE2LTMyIDAgMC0xNmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDMyYzAgMjIuNC0xMC4yIDQyLjQtMjYuMiA1NS42eiJdfSxIYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW1wZXJhdHVyZS10aHJlZS1xdWFydGVycyIsaWNvbjpbMzIwLDUxMixbInRlbXBlcmF0dXJlLTMiLCJ0aGVybW9tZXRlci0zIiwidGhlcm1vbWV0ZXItdGhyZWUtcXVhcnRlcnMiXSwiZjJjOCIsIk0xNjAgMEMxMDcgMCA2NCA0MyA2NCA5NmwwIDE2NC43QzM0LjUgMjg3IDE2IDMyNS40IDE2IDM2OCAxNiA0NDcuNSA4MC41IDUxMiAxNjAgNTEyczE0NC02NC41IDE0NC0xNDRjMC00Mi42LTE4LjUtODEtNDgtMTA3LjNMMjU2IDk2YzAtNTMtNDMtOTYtOTYtOTZ6bTY0IDM2OGMwIDM1LjMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGMwLTI2LjkgMTYuNS00OS45IDQwLTU5LjNMMTM2IDE1MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTU2LjdjMjMuNSA5LjUgNDAgMzIuNSA0MCA1OS4zeiJdfSwkSXQ9SGIsREl0PUhiLEFJdD1IYixFSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYiIsaWNvbjpbMzIwLDUxMixbOThdLCI0MiIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2MCAwYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4IDAtNDYuNS0yNC44LTg3LjMtNjItMTA5LjcgMTguNy0yMi4zIDMwLTUxIDMwLTgyLjMgMC03MC43LTU3LjMtMTI4LTEyOC0xMjhMMzIgMzJ6TTE2MCAyMjRsLTk2IDAgMC0xMjggOTYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NHpNNjQgMjg4bDEyOCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0bC0xMjggMCAwLTEyOHoiXX0sUEl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoaWVsZC12aXJ1cyIsaWNvbjpbNTEyLDUxMixbXSwiZTA2YyIsIk0yNTMuNCAyLjlDMjQ5LjIgMSAyNDQuNyAwIDI0MCAwcy05LjIgMS0xMy40IDIuOUwzOC4zIDgyLjhjLTIyIDkuMy0zOC40IDMxLTM4LjMgNTcuMiAuNSA5OS4yIDQxLjMgMjgwLjcgMjEzLjYgMzYzLjIgMTYuNyA4IDM2LjEgOCA1Mi44IDAgMTcyLjQtODIuNSAyMTMuMi0yNjQgMjEzLjYtMzYzLjIgLjEtMjYuMi0xNi4zLTQ3LjktMzguMy01Ny4yTDI1My40IDIuOXpNMjQwIDEyOGMxMy4zIDAgMjQgMTAuNyAyNCAyNCAwIDIyLjkgMjcuNyAzNC40IDQzLjkgMTguMiA5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjljLTE2LjIgMTYuMi00LjcgNDMuOSAxOC4yIDQzLjkgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTIyLjkgMC0zNC40IDI3LjctMTguMiA0My45IDkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBjLTE2LjItMTYuMi00My45LTQuNy00My45IDE4LjIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0yMi45LTI3LjctMzQuNC00My45LTE4LjItOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWMxNi4yLTE2LjIgNC43LTQzLjktMTguMi00My45LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMjIuOSAwIDM0LjQtMjcuNyAxOC4yLTQzLjktOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwYzE2LjIgMTYuMiA0My45IDQuNyA0My45LTE4LjIgMC0xMy4zIDEwLjctMjQgMjQtMjR6TTIwOCAyNjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04OCA0MGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxJSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGl0ZWNvaW4tc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTFkMyIsIk0xMjggNjRjMC0xNy43LTE0LjMtMzItMzItMzJTNjQgNDYuMyA2NCA2NGwwIDE1Ny45LTM4LjYgMTFjLTEyLjcgMy42LTIwLjEgMTYuOS0xNi41IDI5LjdzMTYuOSAyMC4xIDI5LjcgMTYuNUw2NCAyNzEuOCA2NCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIyNCAwIDAtMTYyLjUgMTM0LjYtMzguNWMxMi43LTMuNiAyMC4xLTE2LjkgMTYuNS0yOS43cy0xNi45LTIwLjEtMjkuNy0xNi41TDEyOCAyMDMuNiAxMjggNjR6Il19LE5JdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlLWQ2IixpY29uOls1MTIsNTEyLFtdLCJmNmQxIiwiTTIyNC40IDguM0MyNDQtMi44IDI2OC0yLjggMjg3LjYgOC4zbDE3NiA5OS43YzIwIDExLjQgMzIuNCAzMi42IDMyLjQgNTUuN2wwIDE5Ny40YzAgMjMtMTIuNCA0NC4zLTMyLjQgNTUuN2wtMTc2IDk5LjdjLTE5LjYgMTEuMS00My42IDExLjEtNjMuMSAwbC0xNzYtOTkuN0MyOC40IDQwNS41IDE2IDM4NC4yIDE2IDM2MS4ybDAtMTk3LjRjMC0yMyAxMi40LTQ0LjMgMzIuNC01NS43bDE3Ni05OS43ek0xMDIuNiAxNTUuNmMtOC44LTMuMS0xOC44IC4zLTIzLjggOC42cy0zLjIgMTguNyAzLjYgMjVsMy4yIDIuNCAxNTAuMiA5MC4yIDAgMTQ4LjdjMCAxMSA5IDIwIDIwIDIwIDExIDAgMjAtOSAyMC0yMGwwLTE0OC43IDE1MC4zLTkwLjJjOS41LTUuNyAxMi42LTE4IDYuOS0yNy40cy0xOC0xMi41LTI3LjQtNi45bC0xNDkuNyA4OS44LTE0OS43LTg5LjgtMy43LTEuN3oiXX0sUkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdyaXAtbGluZXMtdmVydGljYWwiLGljb246WzE5Miw1MTIsW10sImY3YTUiLCJNNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMkw2NCA2NHptMTI4IDBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM4NHoiXX0sSjVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdvbGYtYmFsbC10ZWUiLGljb246WzM4NCw1MTIsWyJnb2xmLWJhbGwiXSwiZjQ1MCIsIk0yOTguNSAzODQuMWMxMi4xIDEuMiAyMS41IDExLjUgMjEuNSAyMy45cy05LjQgMjIuNi0yMS41IDIzLjlsLTIuNSAuMS04MCAwIDAgODhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC04OC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNCAwLTEyLjQgOS40LTIyLjYgMjEuNS0yMy45bDIuNS0uMSAyMDggMCAyLjUgLjF6TTE5MiAwYzEwNiAwIDE5MiA4NiAxOTIgMTkyIDAgNTcuNC0yNS4yIDEwOC44LTY1LjEgMTQ0TDY1LjEgMzM2QzI1LjIgMzAwLjggMCAyNDkuNCAwIDE5MiAwIDg2IDg2IDAgMTkyIDB6bTMyIDI0MGMtNy43IDAtMTQuMiA1LjUtMTUuNyAxMi44bC0uNiA2LjRjLTEuMyA2LjMtNi4yIDExLjItMTIuNSAxMi41bC02LjQgLjZjLTcuMyAxLjUtMTIuOCA4LTEyLjggMTUuNyAwIDguOCA3LjIgMTYgMTYgMTYgMjYuNSAwIDQ4LTIxLjUgNDgtNDggMC04LjgtNy4yLTE2LTE2LTE2em02NC02NGMtNy43IDAtMTQuMiA1LjUtMTUuNyAxMi44bC0uNiA2LjRjLTEuMyA2LjMtNi4yIDExLjItMTIuNSAxMi41bC02LjQgLjZjLTcuMyAxLjUtMTIuOCA4LTEyLjggMTUuNyAwIDguOCA3LjIgMTYgMTYgMTYgMjYuNSAwIDQ4LTIxLjUgNDgtNDggMC04LjgtNy4yLTE2LTE2LTE2em0tODAtMTZjLTcuNyAwLTE0LjIgNS41LTE1LjcgMTIuOGwtLjYgNi40Yy0xLjMgNi4zLTYuMiAxMS4yLTEyLjUgMTIuNWwtNi40IC42Yy03LjMgMS41LTEyLjggOC0xMi44IDE1LjcgMCA4LjggNy4yIDE2IDE2IDE2IDI2LjUgMCA0OC0yMS41IDQ4LTQ4IDAtOC44LTcuMi0xNi0xNi0xNnoiXX0sT0l0PUo1ZSxGSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGV4YWdvbiIsaWNvbjpbNTc2LDUxMixbMTEwNDNdLCJmMzEyIiwiTTMzLjUgMjIwLjNjLTEyLjcgMjIuMi0xMi43IDQ5LjQgMCA3MS41bDk2LjIgMTY4LjFjMTIuOCAyMi40IDM2LjcgMzYuMiA2Mi41IDM2LjJsMTkxLjYgMGMyNS44IDAgNDkuNy0xMy44IDYyLjUtMzYuMmw5Ni4yLTE2OC4xYzEyLjctMjIuMiAxMi43LTQ5LjQgMC03MS41TDQ0Ni4zIDUyLjJDNDMzLjUgMjkuOCA0MDkuNiAxNiAzODMuOCAxNkwxOTIuMiAxNmMtMjUuOCAwLTQ5LjcgMTMuOC02Mi41IDM2LjJMMzMuNSAyMjAuM3oiXX0sQkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvbGRlci1vcGVuIixpY29uOls1NzYsNTEyLFsxMjgxOTQsMTI4NDQ5LDYxNzE3XSwiZjA3YyIsIk01NiAyMjUuNkwzMi40IDI5Ni4yIDMyLjQgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTM4LjcgMGMxMy44IDAgMjcuMyA0LjUgMzguNCAxMi44bDM4LjQgMjguOGM1LjUgNC4yIDEyLjMgNi40IDE5LjIgNi40bDExNy4zIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNi0zNjUuNCAwYy00MS4zIDAtNzggMjYuNC05MS4xIDY1LjZ6TTQ3Ny44IDQ0OEw5OSA0NDhjLTMyLjggMC01NS45LTMyLjEtNDUuNS02My4ybDQ4LTE0NEMxMDggMjIxLjIgMTI2LjQgMjA4IDE0NyAyMDhsMzc4LjggMGMzMi44IDAgNTUuOSAzMi4xIDQ1LjUgNjMuMmwtNDggMTQ0Yy02LjUgMTkuNi0yNC45IDMyLjgtNDUuNSAzMi44eiJdfSxISXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToia2FhYmEiLGljb246WzUxMiw1MTIsWzEyODMzMV0sImY2NmIiLCJNMjU2IDUxLjNMOTIuOCAxMTIuNCAyNDcuNSAxNzEuMWM1LjUgMi4xIDExLjUgMi4xIDE3IDBMNDE5LjIgMTEyLjQgMjU2IDUxLjN6TTAgMTI5LjNjMC0yMCAxMi40LTM3LjkgMzEuMS00NC45bDIwOC03OGMxMC45LTQuMSAyMi44LTQuMSAzMy43IDBsMjA4IDc4YzE4LjcgNyAzMS4xIDI0LjkgMzEuMSA0NC45bDAgMzYtMjUzLjIgOTZjLTEuOCAuNy0zLjggLjctNS43IDBsLTI1My4yLTk2IDAtMzZ6bTAgMTQwbDAtNTIuNyAyMzYuMSA4OS42YzEyLjggNC45IDI2LjkgNC45IDM5LjcgMGwyMzYuMS04OS42IDAgNTIuNy0xMjggNDguNiAwIDUxLjMgMTI4LTQ4LjYgMCA2Mi4yYzAgMjAtMTIuNCAzNy45LTMxLjEgNDQuOWwtMjA4IDc4Yy0xMC45IDQuMS0yMi44IDQuMS0zMy43IDBsLTIwOC03OEMxMi40IDQyMC43IDAgNDAyLjcgMCAzODIuN2wwLTYyLjIgMTI4IDQ4LjYgMC01MS4zLTEyOC00OC42ek0yMzYuMSA0MTAuMWMxMi44IDQuOSAyNi45IDQuOSAzOS43IDBsNjAuMS0yMi44IDAtNTEuMy03Ny4yIDI5LjNjLTEuOCAuNy0zLjggLjctNS43IDBsLTc3LjItMjkuMyAwIDUxLjMgNjAuMSAyMi44eiJdfSxxSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1ob2xkaW5nIixpY29uOls1NzYsNTEyLFtdLCJmNGJkIiwiTTY2LjcgMzg0bDQyLjUtNDIuNWMyNC0yNCA1Ni42LTM3LjUgOTAuNS0zNy41TDM1MiAzMDRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTEyLjYgMCAxMTkuNy04OC4yYzE3LjgtMTMuMSA0Mi44LTkuMyA1NS45IDguNXM5LjMgNDIuOC04LjUgNTUuOUw0MzMuMSA0ODUuNWMtMjMuNCAxNy4yLTUxLjYgMjYuNS04MC43IDI2LjVMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM0LjcgMHoiXX0sVkl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpbmdsZS1xdW90ZS1yaWdodCIsaWNvbjpbMTkyLDUxMixbXSwiZTgxYyIsIk02NCA0MTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOCAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2bDAtOC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMzZjMCA2Ni4zLTUzLjcgMTIwLTEyMCAxMjBsLTggMHoiXX0sakl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvdHRsZS1kcm9wbGV0IixpY29uOlszMjAsNTEyLFtdLCJlNGM0IiwiTTgwIDBjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDEwMy4zYzY0LjkgMjAuNCAxMTIgODEgMTEyIDE1Mi43bDAgMTkyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDU0NGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyODhjMC03MS42IDQ3LjEtMTMyLjMgMTEyLTE1Mi43TDExMiAzMkM5NC4zIDMyIDgwIDE3LjcgODAgMHptODAgNDE2YzM1LjMgMCA2NC0zMi40IDY0LTY0IDAtMjEuMi0yOC45LTY0LjUtNDcuOS05MC42LTguMS0xMS4xLTI0LjItMTEuMS0zMi4zIDAtMTkgMjYuMS00Ny45IDY5LjQtNDcuOSA5MC42IDAgMzEuNiAyOC43IDY0IDY0IDY0eiJdfSxVSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2luZG93LW1pbmltaXplIixpY29uOls1MTIsNTEyLFsxMjg0NjldLCJmMmQxIiwiTTAgNDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDQ0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LFdJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGV2cm9uLXJpZ2h0IixpY29uOlszMjAsNTEyLFs5MDAyXSwiZjA1NCIsIk0zMTEuMSAyMzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTkyIDE5MmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjQzLjIgMjU2IDczLjkgODYuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxOTIgMTkyeiJdfSxHSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWdnIixpY29uOlszODQsNTEyLFsxMjkzNzBdLCJmN2ZiIiwiTTE5MiA0OTZDODYgNDk2IDAgMzk0IDAgMjg4IDAgMTc2IDY0IDE2IDE5MiAxNlMzODQgMTc2IDM4NCAyODhjMCAxMDYtODYgMjA4LTE5MiAyMDh6TTE1NC44IDEzNGM2LjUtNiA3LTE2LjEgMS0yMi42cy0xNi4xLTctMjIuNi0xYy0yMy45IDIxLjgtNDEuMSA1Mi43LTUyLjMgODQuMi0xMS4yIDMxLjYtMTYuOSA2NS4xLTE2LjkgOTMuNSAwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2YzAtMjQuNSA1LTU0LjQgMTUuMS04Mi44IDEwLjEtMjguNSAyNS01NC4xIDQzLjctNzEuMnoiXX0sZWhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhbmRtYXJrLWRvbWUiLGljb246WzUxMiw1MTIsWyJsYW5kbWFyay1hbHQiXSwiZjc1MiIsIk0yNTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzIgMCAuOSAwIDEuOCAuMSAyLjYtODAuNSAxMy40LTE0NCA3Ni45LTE1Ny41IDE1Ny40TDY0IDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwwIDE2MC01MS4yIDM4LjRDNC43IDQ2MC40IDAgNDY5LjkgMCA0ODAgMCA0OTcuNyAxNC4zIDUxMiAzMiA1MTJsNDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzIgMC0xMC4xLTQuNy0xOS42LTEyLjgtMjUuNkw0NDggNDE2IDQ0OCAyNTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIuNyAwYy0xMy41LTgwLjQtNzctMTQzLjktMTU3LjUtMTU3LjQgLjEtLjkgLjEtMS43IC4xLTIuNiAwLTE3LjctMTQuMy0zMi0zMi0zMnptODAgMjU2bDY0IDAgMCAxNjAtNjQgMCAwLTE2MHpNMjI0IDQxNmwwLTE2MCA2NCAwIDAgMTYwLTY0IDB6TTExMiAyNTZsNjQgMCAwIDE2MC02NCAwIDAtMTYweiJdfSxZSXQ9ZWhlLEtJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3b3JtIixpY29uOls0NDgsNTEyLFtdLCJlNTk5IiwiTTIyNCA5NmMwLTUzIDQzLTk2IDk2LTk2bDM4LjQgMEM0MDcuOSAwIDQ0OCA0MC4xIDQ0OCA4OS42TDQ0OCAzNzZjMCA3NS4xLTYwLjkgMTM2LTEzNiAxMzZTMTc2IDQ1MS4xIDE3NiAzNzZsMC04MGMwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MGwwIDE2OGMwIDI2LjUtMjEuNSA0OC00OCA0OFMwIDQ5MC41IDAgNDY0TDAgMjk2YzAtNzUuMSA2MC45LTEzNiAxMzYtMTM2czEzNiA2MC45IDEzNiAxMzZsMCA4MGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwbDAtMTg0LTMyIDBjLTUzIDAtOTYtNDMtOTYtOTZ6bTE0NC04YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6Il19LFpJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLWluanVyZWQiLGljb246WzQ0OCw1MTIsW10sImY3MjgiLCJNMjQyLjcgODBMMzM0IDgwYy0xMC43LTI0LjYtMjkuNS00NC45LTUyLjktNTcuNkwyNDIuNyA4MHptLS45LTcwLjdDMjM2IDguNCAyMzAgOCAyMjQgOCAxNzQuOCA4IDEzMi41IDM3LjYgMTE0IDgwbDgwLjYgMCA0Ny4xLTcwLjd6TTIyNCAyNDhjNjYuMyAwIDEyMC01My43IDEyMC0xMjBsLTI0MCAwYzAgNjYuMyA1My43IDEyMCAxMjAgMTIwek05OC43IDM0MS44QzQ5LjMgMzcwLjIgMTYgNDIzLjUgMTYgNDg0LjYgMTYgNDk5LjcgMjguMyA1MTIgNDMuNCA1MTJsMTUxIDAtOTUuOC0xNzAuMnptNDUuMS0xNy43bDQyLjcgNzUuOSA4NS41IDBjNDQuMiAwIDgwIDM1LjggODAgODAgMCAxMS40LTIuNCAyMi4yLTYuNyAzMmw1OS4yIDBjMTUuMSAwIDI3LjQtMTIuMyAyNy40LTI3LjQgMC05MC45LTczLjctMTY0LjYtMTY0LjYtMTY0LjZsLTg2LjkgMGMtMTIuNiAwLTI0LjkgMS40LTM2LjcgNC4xek0yMTMuNSA0NDhsMzYgNjQgMjIuNSAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01OC41IDB6Il19LFhJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdHJpa2V0aHJvdWdoIixpY29uOls1MTIsNTEyLFtdLCJmMGNjIiwiTTk2IDE1Ny41Qzk2IDg4LjIgMTUyLjIgMzIgMjIxLjUgMzJMMzY4IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDIyMS41IDk2Yy0zNCAwLTYxLjUgMjcuNS02MS41IDYxLjUgMCAzMSAyMy4xIDU3LjIgNTMuOSA2MWw0NC4xIDUuNSAyMjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsODMuMSAwQzEwMyAyMDQuNiA5NiAxODEuOCA5NiAxNTcuNXpNMzQ5LjIgMzM2bDY1LjUgMGMuOSA2LjEgMS40IDEyLjIgMS40IDE4LjUgMCA2OS4zLTU2LjIgMTI1LjUtMTI1LjUgMTI1LjVMMTQ0IDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNDYuNSAwYzM0IDAgNjEuNS0yNy41IDYxLjUtNjEuNSAwLTYuNC0xLTEyLjctMi44LTE4LjV6Il19LFFJdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJibG9nIixpY29uOls1MTIsNTEyLFtdLCJmNzgxIiwiTTIyNCAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNCAxNDUuOCAwIDI2NCAxMTguMiAyNjQgMjY0IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtMTE5LjMtOTYuNy0yMTYtMjE2LTIxNi0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNODAgOTZjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAyMjRjMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OC0yMS41LTQ4LTQ4LTQ4Yy04LjggMC0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTYgNzkuNSAwIDE0NCA2NC41IDE0NCAxNDRTMjU1LjUgNTEyIDE3NiA1MTIgMzIgNDQ3LjUgMzIgMzY4bDAtMjI0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4em0xNjggMGM5Mi44IDAgMTY4IDc1LjIgMTY4IDE2OCAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTY2LjMtNTMuNy0xMjAtMTIwLTEyMC0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxKSXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3RvcHdhdGNoLTIwIixpY29uOls0NDgsNTEyLFtdLCJlMDZmIiwiTTE2OC41IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzIgMCAwIDI1LjNjLTEwOCAxMS45LTE5MiAxMDMuNS0xOTIgMjE0LjcgMCAxMTkuMyA5Ni43IDIxNiAyMTYgMjE2czIxNi05Ni43IDIxNi0yMTZjMC0zOS44LTEwLjgtNzcuMS0yOS42LTEwOS4ybDI4LjItMjguMmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMjMuNCAyMy40Yy0zMi45LTMwLjItNzUuMi01MC4zLTEyMi01NS41bDAtMjUuMyAzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMTIgMHptLTYwIDI0MGMwLTI4LjcgMjMuMy01MiA1Mi01MnM1MiAyMy4zIDUyIDUybDAgMy44YzAgMTEuNy0zLjIgMjMuMS05LjMgMzNsLTQzLjggNzEuMiAzMy4xIDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwbC01Ny44IDBjLTE0LjUgMC0yNi4yLTExLjctMjYuMi0yNi4yIDAtNC45IDEuMy05LjYgMy45LTEzLjhsNTYuNy05Mi4xYzIuMi0zLjYgMy40LTcuOCAzLjQtMTIuMWwwLTMuOGMwLTYuNi01LjQtMTItMTItMTJzLTEyIDUuNC0xMiAxMmMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjB6bTE4MC01MmMyOC43IDAgNTIgMjMuMyA1MiA1MmwwIDk2YzAgMjguNy0yMy4zIDUyLTUyIDUycy01Mi0yMy4zLTUyLTUybDAtOTZjMC0yOC43IDIzLjMtNTIgNTItNTJ6bS0xMiA1MmwwIDk2YzAgNi42IDUuNCAxMiAxMiAxMnMxMi01LjQgMTItMTJsMC05NmMwLTYuNi01LjQtMTItMTItMTJzLTEyIDUuNC0xMiAxMnoiXX0sZU50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLXBpY2t1cCIsaWNvbjpbNjQwLDUxMixbMTI4NzYzXSwiZjYzYyIsIk0zNjMuOCA5Nmw1Ny42IDk2LTEzMy40IDAgMC05NiA3NS44IDB6TTQ5NiAxOTJMNDE4LjYgNjMuMUM0MDcuMSA0My44IDM4Ni4yIDMyIDM2My44IDMyTDI1NiAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxMjgtMTQ0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgODBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIuNCAwYy0uMiAyLjYtLjQgNS4zLS40IDggMCA0OC42IDM5LjQgODggODggODhzODgtMzkuNCA4OC04OGMwLTIuNy0uMS01LjQtLjQtOGwxNjAuNyAwYy0uMiAyLjYtLjQgNS4zLS40IDggMCA0OC42IDM5LjQgODggODggODhzODgtMzkuNCA4OC04OGMwLTIuNy0uMS01LjQtLjQtOGwzMi40IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC04MGMwLTI2LjUtMjEuNS00OC00OC00OGwtNjQgMHpNMTEyIDM5MmE0MCA0MCAwIDEgMSA4MCAwIDQwIDQwIDAgMSAxIC04MCAwem0zNzYtNDBhNDAgNDAgMCAxIDEgMCA4MCA0MCA0MCAwIDEgMSAwLTgweiJdfSx0aGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2VlZGxpbmciLGljb246WzUxMiw1MTIsWzEyNzc5Mywic3Byb3V0Il0sImY0ZDgiLCJNNTEyIDMyQzUxMiAxNDAuMSA0MzUuNCAyMzAuMyAzMzMuNiAyNTEuNCAzMjUuNyAxOTMuMyAyOTkuNiAxNDEgMjYxLjEgMTAwLjUgMzAxLjIgNDAgMzY5LjkgMCA0NDggMGwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyek0wIDk2QzAgNzguMyAxNC4zIDY0IDMyIDY0bDMyIDBjMTIzLjcgMCAyMjQgMTAwLjMgMjI0IDIyNGwwIDE5MmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE2MEMxMDAuMyAzMjAgMCAyMTkuNyAwIDk2eiJdfSx0TnQ9dGhlLGFoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFuc2dlbmRlciIsaWNvbjpbNTc2LDUxMixbOTg5NSwidHJhbnNnZW5kZXItYWx0Il0sImYyMjUiLCJNMTI4LTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDk3LjkgMzIgMTM2IDcwLjEgMTUxIDU1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMTUgMTUgMTQuMiAxNC4yYzI3LjktMjMuOCA2NC4yLTM4LjIgMTAzLjgtMzguMiAzNi43IDAgNzAuNiAxMi40IDk3LjYgMzMuMkw0NjYuNyAzMiA0NDggMzJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTguNy04NC40IDg0LjRjMTMgMjMuMSAyMC40IDQ5LjkgMjAuNCA3OC4zIDAgNzcuNC01NSAxNDItMTI4IDE1Ni44bDAgMzUuMiAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNi0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC0zNS4yYy03My0xNC44LTEyOC03OS40LTEyOC0xNTYuOCAwLTMxLjQgOS02MC43IDI0LjctODUuNGwtMTYuNy0xNi43LTE1IDE1Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDE1LTE1LTM4LjEtMzguMSAwIDMwLjFjMCAxNy43LTE0LjMgMzItMzIgMzJTMCAxMTMuNyAwIDk2TDAgMEMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwek0yODggMzM2YTk2IDk2IDAgMSAwIDAtMTkyIDk2IDk2IDAgMSAwIDAgMTkyeiJdfSxhTnQ9YWhlLHJOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFyLWhhbGYiLGljb246WzU3Niw1MTIsWzYxNzMxXSwiZjA4OSIsIk0zMDQuMSA3LjZjMC0xMS4xLTcuNi0yMC43LTE4LjQtMjMuM3MtMjEuOSAyLjUtMjcgMTIuNEwxOTMuMSAxMjUuMyAzMy4yIDE1MC43Yy04LjkgMS40LTE2LjMgNy43LTE5LjEgMTYuM3MtLjUgMTggNS44IDI0LjRsMTE0LjQgMTE0LjUtMjUuMiAxNTkuOWMtMS40IDguOSAyLjMgMTcuOSA5LjYgMjMuMnMxNi45IDYuMSAyNSAyTDI5MSA0MTYuMWM4LTQuMSAxMy4xLTEyLjQgMTMuMS0yMS40bDAtMzg3LjF6Il19LHJoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaG90by1maWxtIixpY29uOls2NDAsNTEyLFsicGhvdG8tdmlkZW8iXSwiZjg3YyIsIk0xOTIgNjRjMC0zNS4zIDI4LjctNjQgNjQtNjRMNTc2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTMyMCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTIyNHpNMzIwIDk2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTE1Ni41IDExLjVDNDcyLjEgMTAwLjQgNDY0LjQgOTYgNDU2IDk2cy0xNi4xIDQuNC0yMC41IDExLjVsLTU0IDg4LjMtMTcuOS0yNS42Yy00LjUtNi40LTExLjgtMTAuMi0xOS43LTEwLjJzLTE1LjIgMy44LTE5LjcgMTAuMmwtNTYgODBjLTUuMSA3LjMtNS44IDE2LjktMS42IDI0LjhTMjc5LjEgMjg4IDI4OCAyODhsMjU2IDBjOC43IDAgMTYuNy00LjcgMjAuOS0xMi4zczQuMS0xNi44LS41LTI0LjNsLTg4LTE0NHpNMTQ0IDEyOGwwIDE2MGMwIDYxLjkgNTAuMSAxMTIgMTEyIDExMmwxOTIgMCAwIDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxOTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsODAgMHpNNTIgMTk2bDAgMjRjMCA4LjggNy4yIDE2IDE2IDE2bDI0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMjRjMC04LjgtNy4yLTE2LTE2LTE2bC0yNCAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAyNGMwIDguOCA3LjIgMTYgMTYgMTZsMjQgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNGMwLTguOC03LjItMTYtMTYtMTZsLTI0IDB6bTAgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDI0YzAgOC44IDcuMiAxNiAxNiAxNmwyNCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTI0YzAtOC44LTcuMi0xNi0xNi0xNmwtMjQgMHoiXX0sc050PXJoZSxpTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGljdHVyZS1pbi1waWN0dXJlIixpY29uOls1MTIsNTEyLFtdLCJlODBiIiwiTTQ0OCAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDExMi02NCAwIDAtMTEyLTM4NCAwIDAgMzIwIDE0NCAwIDAgNjQtMTQ0IDAtNi41LS4zYy0zMC4xLTMuMS01NC4xLTI3LTU3LjEtNTcuMUwwIDQxNiAwIDk2QzAgNjIuOSAyNS4yIDM1LjYgNTcuNSAzMi4zTDY0IDMyIDQ0OCAzMnptMTYgMjI0YzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTI4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNjAgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xMjhjMC0yNi41IDIxLjUtNDggNDgtNDhsMTYwIDB6Il19LG9OdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwdW1wLW1lZGljYWwiLGljb246WzMyMCw1MTIsW10sImUwNmEiLCJNOTYgMGwwIDgwIDEyOCAwIDAtMjQgNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNFMzMDkuMyA4IDI5NiA4bC03MiAwIDAtOGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMEMxMTAuMy0zMiA5Ni0xNy43IDk2IDB6TTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMTI4em02NCAxMjBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgNDAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQwIDAgMCA0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDB6Il19LG5OdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaXJlIixpY29uOls0NDgsNTEyLFsxMjgyOTNdLCJmMDZkIiwiTTE2MC41LTI2LjRjOS4zLTcuOCAyMy03LjUgMzEuOSAuOSAxMi4zIDExLjYgMjMuMyAyNC40IDMzLjkgMzcuNCAxMy41IDE2LjUgMjkuNyAzOC4zIDQ1LjMgNjQuMiA1LjItNi44IDEwLTEyLjggMTQuMi0xNy45IDEuMS0xLjMgMi4yLTIuNyAzLjMtNC4xIDcuOS05LjggMTcuNy0yMi4xIDMwLjgtMjIuMSAxMy40IDAgMjIuOCAxMS45IDMwLjggMjIuMSAxLjMgMS43IDIuNiAzLjMgMy45IDQuOCAxMC4zIDEyLjQgMjQgMzAuMyAzNy43IDUyLjQgMjcuMiA0My45IDU1LjYgMTA2LjQgNTUuNiAxNzYuNiAwIDEyMy43LTEwMC4zIDIyNC0yMjQgMjI0UzAgNDExLjcgMCAyODhjMC05MS4xIDQxLjEtMTcwIDgwLjUtMjI1IDE5LjktMjcuNyAzOS43LTQ5LjkgNTQuNi02NS4xIDguMi04LjQgMTYuNS0xNi43IDI1LjUtMjQuMnpNMjI1LjcgNDE2YzI1LjMgMCA0Ny43LTcgNjguOC0yMSA0Mi4xLTI5LjQgNTMuNC04OC4yIDI4LjEtMTM0LjQtNC41LTktMTYtOS42LTIyLjUtMmwtMjUuMiAyOS4zYy02LjYgNy42LTE4LjUgNy40LTI0LjctLjUtMTcuMy0yMi4xLTQ5LjEtNjIuNC02NS4zLTgzLTUuNC02LjktMTUuMi04LTIxLjUtMS45LTE4LjMgMTcuOC01MS41IDU2LjgtNTEuNSAxMDQuMyAwIDY4LjYgNTAuNiAxMDkuMiAxMTMuNyAxMDkuMnoiXX0sc2hlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hZ25pZnlpbmctZ2xhc3MtcGx1cyIsaWNvbjpbNTEyLDUxMixbInNlYXJjaC1wbHVzIl0sImYwMGUiLCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NkMyOTYuMyA0MDEuMSAyNTMuOSA0MTYgMjA4IDQxNiA5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMCA0MTYgOTMuMSA0MTYgMjA4ek0yMDggMTEyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQ4LTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMCAwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00OCA0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwIDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LGxOdD1zaGUsY050PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZsYXNrIixpY29uOls0NDgsNTEyLFtdLCJmMGMzIiwiTTI4OCAwTDEyOCAwQzExMC4zIDAgOTYgMTQuMyA5NiAzMnMxNC4zIDMyIDMyIDMyTDEyOCAyMTUuNSA3LjUgNDI2LjNDMi42IDQzNSAwIDQ0NC43IDAgNDU0LjcgMCA0ODYuNCAyNS42IDUxMiA1Ny4zIDUxMmwzMzMuNCAwYzMxLjYgMCA1Ny4zLTI1LjYgNTcuMy01Ny4zIDAtMTAtMi42LTE5LjgtNy41LTI4LjRMMzIwIDIxNS41IDMyMCA2NGMxNy43IDAgMzItMTQuMyAzMi0zMlMzMzcuNyAwIDMyMCAwTDI4OCAwek0xOTIgMjE1LjVsMC0xNTEuNSA2NCAwIDAgMTUxLjVjMCAxMS4xIDIuOSAyMi4xIDguNCAzMS44bDQxLjYgNzIuNy0xNjQgMCA0MS42LTcyLjdjNS41LTkuNyA4LjQtMjAuNiA4LjQtMzEuOHoiXX0sZE50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFsaWduLXJpZ2h0IixpY29uOls0NDgsNTEyLFtdLCJmMDM4IiwiTTQ0OCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkwxOTIgOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6bTAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnpNMCAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDQ4IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJ6Il19LGloZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWJsZS1jYXIiLGljb246WzUxMiw1MTIsWzEyODY3Myw1NzU1MSwidHJhbSJdLCJmN2RhIiwiTTI4OC0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6TTE2MCAyNGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0zMiAyODhjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTM2IDAgMC05Ni4yLTE5My40IDU1LjNjLTEyLjcgMy42LTI2LTMuNy0yOS43LTE2LjVzMy43LTI2IDE2LjUtMjkuN2wyMjQtNjQgMCAwIDIyNC02NGMxMi43LTMuNiAyNiAzLjcgMjkuNyAxNi41cy0zLjcgMjYtMTYuNSAyOS43bC0yMDYuNiA1OSAwIDEwOS45IDEzNiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTYwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNjB6bTgwIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNmw1NiAwIDAtOTYtNTYgMHptMTg0IDk2bDAtOTYtODAgMCAwIDk2IDgwIDB6bTQ4IDBsNTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC02NGMwLTguOC03LjItMTYtMTYtMTZsLTU2IDAgMCA5NnoiXX0sdU50PWloZSxvaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToia2l0LW1lZGljYWwiLGljb246WzUxMiw1MTIsWyJmaXJzdC1haWQiXSwiZjQ3OSIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNiAwIDAtMzg0LTE2IDB6bTY0IDBsMCAzODQgMjU2IDAgMC0zODQtMjU2IDB6TTQ0OCA0NDhjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTE2IDAgMCAzODQgMTYgMHpNMjI0IDE4NGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCA0MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDAgMCAwIDQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MHoiXX0scE50PW9oZSxmTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3JpcC1saW5lcyIsaWNvbjpbNDQ4LDUxMixbXSwiZjdhNCIsIk0zMiAyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMjg4em0wLTEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAxNjB6Il19LG5oZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidXJnZXIiLGljb246WzUxMiw1MTIsWyJoYW1idXJnZXIiXSwiZjgwNSIsIk00OCAzODRjLTguOCAwLTE2IDcuMi0xNiAxNiAwIDQ0LjIgMzUuOCA4MCA4MCA4MGwyODggMGM0NC4yIDAgODAtMzUuOCA4MC04MCAwLTguOC03LjItMTYtMTYtMTZMNDggMzg0ek0zMiAyMDJjMCAxMi4yIDkuOSAyMiAyMiAyMkw0NTggMjI0YzEyLjIgMCAyMi05LjkgMjItMjIgMC0xNy4yLTIuNi0zNC40LTEwLjgtNDkuNS0yMi4yLTQwLjgtODIuMy0xMjAuNS0yMTMuMi0xMjAuNVM2NSAxMTEuNiA0Mi44IDE1Mi41QzM0LjYgMTY3LjYgMzIgMTg0LjggMzIgMjAyek0wIDMwNGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAyNzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0yNTYgNzJhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4ek0xMjAgMTI4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTI0OC0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LGhOdD1uaGUsbU50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNub3dtYW4iLGljb246WzY0MCw1MTIsWzk3MzEsOTkyNF0sImY3ZDAiLCJNNDAzIDIxMS43YzMyLjItMjQuOSA1My02My45IDUzLTEwNy43IDAtNzUuMS02MC45LTEzNi0xMzYtMTM2UzE4NCAyOC45IDE4NCAxMDRjMCA0My45IDIwLjggODIuOSA1MyAxMDcuNy0zMi4yIDE2LjMtNTkgNDEuOC03Ni44IDczLjFMMTEyIDI2NC4yIDExMiAyMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxOS42LTIyLjUtOS43Yy0xMi4yLTUuMi0yNi4zIC40LTMxLjUgMTIuNnMuNCAyNi4zIDEyLjYgMzEuNWMzNi4xIDE1LjUgNzUuOSAzMi41IDExOS40IDUxLjItMy45IDE0LjktNiAzMC42LTYgNDYuNyAwIDcwIDM5LjEgMTMwLjggOTYuNiAxNjEuOSA3LjkgNC4zIDE2LjkgNi4xIDI1LjkgNi4xbDEyMyAwYzkgMCAxOC0xLjggMjUuOS02LjEgNTcuNS0zMS4xIDk2LjYtOTIgOTYuNi0xNjEuOSAwLTE2LjItMi4xLTMxLjgtNi00Ni43IDQzLjUtMTguNyA4My40LTM1LjcgMTE5LjQtNTEuMiAxMi4yLTUuMiAxNy44LTE5LjMgMTIuNi0zMS41cy0xOS4zLTE3LjgtMzEuNS0xMi42bC0yMi41IDkuNyAwLTE5LjZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MC4yLTQ4LjIgMjAuNmMtMTcuOS0zMS4zLTQ0LjYtNTYuOC03Ni44LTczLjF6TTI5NiA0MTZhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMjQtMTIwYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMjQ4IDgwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTM2OCA1NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTI5Mi4yIDE1OS4zYy0yLjctNC44LTQuMi0xMC4yLTQuMi0xNS43IDAtMTcuNSAxNC4yLTMxLjYgMzEuNi0zMS42bC44IDBjMTcuNSAwIDMxLjYgMTQuMiAzMS42IDMxLjYgMCA1LjUtMS40IDEwLjktNC4yIDE1LjdMMzI3IDE5NS44Yy0zLjEgNS40LTEwLjggNS40LTEzLjkgMGwtMjAuOS0zNi42eiJdfSxnTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG90ZWwiLGljb246WzUxMiw1MTIsWzEyNzk3Nl0sImY1OTQiLCJNMTYgMjRDMTYgMTAuNyAyNi43IDAgNDAgMEw0NzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOCAwIDAgNDE2IDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEw0MCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAwIDAtNDE2LTggMEMyNi43IDQ4IDE2IDM3LjMgMTYgMjR6bTIwOCA4OGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xMjggOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptOTYgMTEybDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTM1MiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek0xMTIgMjA4bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTI0MC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek0yODggMzg0bDQzLjggMGM5LjkgMCAxNy41LTkgMTQtMTguMi0xMy44LTM2LjEtNDguOC02MS44LTg5LjctNjEuOHMtNzUuOSAyNS43LTg5LjcgNjEuOGMtMy41IDkuMiA0LjEgMTguMiAxNCAxOC4ybDQzLjggMCAwIDgwIDY0IDAgMC04MHoiXX0sYk50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InByaW50IixpY29uOls1MTIsNTEyLFsxMjg0MjQsMTI4NDM4LDkxMTNdLCJmMDJmIiwiTTY0IDY0QzY0IDI4LjcgOTIuNyAwIDEyOCAwTDM0MS41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdsNDIuNSA0Mi41YzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNsMCAzNy41LTM4NCAwIDAtODB6TTAgMjU2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDAgMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMjU2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjQtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NnpNMTI4IDQxNmwwIDMyIDI1NiAwIDAtOTYtMjU2IDAgMCA2NHpNNDU2IDI3MmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxsaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidm9sbGV5YmFsbCIsaWNvbjpbNTEyLDUxMixbMTI3OTUyLCJ2b2xsZXliYWxsLWJhbGwiXSwiZjQ1ZiIsIk01MTIgMjU4LjljLTIzLjQgOC00Ny44IDEzLjEtNzIuNiAxNS4xIDUuOS05OC42LTMwLjctMTkxLjEtOTQuOS0yNTguMyA5Ny44IDM2IDE2Ny41IDEzMCAxNjcuNSAyNDAuMyAwIDEgMCAxLjkgMCAyLjl6bS01LjkgNTJjLTUuMiAyMy43LTEzLjYgNDYuMi0yNC45IDY2LjktOTQuNyA1Mi4yLTIxNCA1MC0zMDguNC0xMy42IDIxLjctMzEuMyA0OS44LTU4LjkgODMuOC04MC41IDc5LjUgNDEuNiAxNjguNSA0OS4xIDI0OS41IDI3LjF6TTI3OS43IDI0MS42Yy0zLjctODkuNy00MS43LTE3MC41LTEwMS4zLTIyOS43IDIyLjMtNy4xIDQ2LTExLjIgNzAuNS0xMS45IDkyLjUgNTUuOSAxNTAuMyAxNjAuMyAxNDIuNCAyNzMuOC0zOC0zLjItNzUuOS0xMy43LTExMS42LTMyLjN6TTEzMC41IDMyLjhDMTQ5LjEgNDkuMSAxNjUuOCA2Ny43IDE3OS45IDg4LjIgOTEuNSAxMzIuMyAyOS43IDIxMC4zIDMuNyAyOTkuNSAxLjMgMjg1LjMgMCAyNzAuOCAwIDI1NiAwIDE2MC4yIDUyLjYgNzYuNyAxMzAuNSAzMi44em03My40IDk3YzE2LjMgMzQuNSAyNi4xIDcyLjYgMjcuOSAxMTIuOC03NS44IDQ4LTEyNi44IDEyMS4zLTE0OC4zIDIwMi41LTE3LjYtMTYuMS0zMy0zNC42LTQ1LjUtNTUgMi4xLTEwOC4xIDYzLjctMjEwLjQgMTY1LjktMjYwLjN6TTI1NiA1MTJjLTQ3LjcgMC05Mi4zLTEzLTEzMC41LTM1LjcgNC44LTI0LjMgMTIuNi00OCAyMy4yLTcwLjQgODIuNCA1NC40IDE4MC44IDY4LjkgMjcxIDQ3LTQ0LjQgMzctMTAxLjUgNTkuMi0xNjMuNyA1OS4yeiJdfSx2TnQ9bGhlLHhOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFmZmljLWxpZ2h0IixpY29uOlszMjAsNTEyLFsxMjg2NzhdLCJmNjM3IiwiTTY0LTMyQzI4LjctMzIgMC0zLjMgMCAzMkwwIDM4NGMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MHMxNjAtNzEuNiAxNjAtMTYwbDAtMzUyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0LTMyem05NiAzOTJjMzAuOSAwIDU2IDI1LjEgNTYgNTZzLTI1LjEgNTYtNTYgNTYtNTYtMjUuMS01Ni01NiAyNS4xLTU2IDU2LTU2em01Ni0xMDRhNTYgNTYgMCAxIDEgLTExMiAwIDU2IDU2IDAgMSAxIDExMiAwek0xNjAgMTUyYTU2IDU2IDAgMSAxIDAtMTEyIDU2IDU2IDAgMSAxIDAgMTEyeiJdfSx5TnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUtY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNTU1IiwiTTIzMiAyNGMwLTMwLjkgMjUuMS01NiA1Ni01NnM1NiAyNS4xIDU2IDU2bDAgMTI3LjMgNzggNzEuNWMtNjkuMyAyOS0xMTggOTcuNC0xMTggMTc3LjIgMCA0OS4zIDE4LjYgOTQuMyA0OS4xIDEyOC4zTDI4OCA1MTIgMTc5LjkgNTM5Yy0xMC4xIDIuNS0xOS45LTUuMS0xOS45LTE1LjVsMC0xOS44YzAtNC45IDIuMi05LjUgNi0xMi41bDY2LTUyLjggMC05OS43LTE2Mi45IDU0LjNDNTguNyAzOTYuNCA0OCAzODguNyA0OCAzNzcuOGwwLTQzLjdjMC05IDMuOC0xNy41IDEwLjQtMjMuNkwyMzIgMTUxLjMgMjMyIDI0ek0zNTIgNDAwYTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTIwMS40LTYwLjljLTcuMS01LjItMTcuMi0zLjYtMjIuNCAzLjVsLTUzIDcyLjktMjYuOC0yNi44Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDQwIDQwYzMuMyAzLjMgNy45IDUgMTIuNiA0LjZzOC45LTIuOCAxMS43LTYuNWw2NC04OGM1LjItNy4xIDMuNi0xNy4yLTMuNS0yMi4zeiJdfSwkdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlcnMiLGljb246WzY0MCw1MTIsW10sImYwYzAiLCJNMzIwIDE2YTEwNCAxMDQgMCAxIDEgMCAyMDggMTA0IDEwNCAwIDEgMSAwLTIwOHpNOTYgODhhNzIgNzIgMCAxIDEgMCAxNDQgNzIgNzIgMCAxIDEgMC0xNDR6TTAgNDE2YzAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4IDEyLjggMCAyNS4yIDEuOSAzNi45IDUuNC0zMi45IDM2LjgtNTIuOSA4NS40LTUyLjkgMTM4LjZsMCAxNmMwIDExLjQgMi40IDIyLjIgNi43IDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0zMnptNTIxLjMgNjRjNC4zLTkuOCA2LjctMjAuNiA2LjctMzJsMC0xNmMwLTUzLjItMjAtMTAxLjgtNTIuOS0xMzguNiAxMS43LTMuNSAyNC4xLTUuNCAzNi45LTUuNCA3MC43IDAgMTI4IDU3LjMgMTI4IDEyOGwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC04Ni43IDB6TTQ3MiAxNjBhNzIgNzIgMCAxIDEgMTQ0IDAgNzIgNzIgMCAxIDEgLTE0NCAwek0xNjAgNDMyYzAtODguNCA3MS42LTE2MCAxNjAtMTYwczE2MCA3MS42IDE2MCAxNjBsMCAxNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTZ6Il19LHdOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjZXJ0aWZpY2F0ZSIsaWNvbjpbNTc2LDUxMixbXSwiZjBhMyIsIk0yMzkuMi04Yy02LjEtNi4yLTE1LTguNy0yMy40LTYuNFMyMDAuOS01LjYgMTk4LjggMi44TDE4My41IDYzYy0xLjEgNC40LTUuNiA3LTkuOSA1LjdMMTEzLjggNTEuOWMtOC40LTIuNC0xNy40IDAtMjMuNSA2LjFzLTguNSAxNS4xLTYuMSAyMy41bDE2LjkgNTkuOGMxLjIgNC4zLTEuNCA4LjgtNS43IDkuOUwzNS4xIDE2Ni41Yy04LjQgMi4xLTE1IDguNy0xNy4zIDE3LjFzLjIgMTcuMyA2LjQgMjMuNGw0NC41IDQzLjNjMy4yIDMuMSAzLjIgOC4zIDAgMTEuNUwyNC4zIDMwNS4xYy02LjIgNi4xLTguNyAxNS02LjQgMjMuNHM4LjkgMTQuOSAxNy4zIDE3LjFsNjAuMiAxNS4zYzQuNCAxLjEgNyA1LjYgNS43IDkuOUw4NC4yIDQzMC41Yy0yLjQgOC40IDAgMTcuNCA2LjEgMjMuNXMxNS4xIDguNSAyMy41IDYuMWw1OS44LTE2LjljNC4zLTEuMiA4LjggMS40IDkuOSA1LjdsMTUuMyA2MC4yYzIuMSA4LjQgOC43IDE1IDE3LjEgMTcuM3MxNy4zLS4yIDIzLjQtNi40bDQzLjMtNDQuNWMzLjEtMy4yIDguMy0zLjIgMTEuNSAwTDMzNy4zIDUyMGM2LjEgNi4yIDE1IDguNyAyMy40IDYuNHMxNC45LTguOSAxNy4xLTE3LjNMMzkzLjEgNDQ5YzEuMS00LjQgNS42LTcgOS45LTUuN2w1OS44IDE2LjljOC40IDIuNCAxNy40IDAgMjMuNS02LjFzOC41LTE1LjEgNi4xLTIzLjVsLTE2LjktNTkuOGMtMS4yLTQuMyAxLjQtOC44IDUuNy05LjlsNjAuMi0xNS4zYzguNC0yLjEgMTUtOC43IDE3LjMtMTcuMXMtLjItMTcuNC02LjQtMjMuNGwtNDQuNS00My4zYy0zLjItMy4xLTMuMi04LjMgMC0xMS41bDQ0LjUtNDMuM2M2LjItNi4xIDguNy0xNSA2LjQtMjMuNHMtOC45LTE0LjktMTcuMy0xNy4xbC02MC4yLTE1LjNjLTQuNC0xLjEtNy01LjYtNS43LTkuOWwxNi45LTU5LjhjMi40LTguNCAwLTE3LjQtNi4xLTIzLjVzLTE1LjEtOC41LTIzLjUtNi4xTDQwMyA2OC44Yy00LjMgMS4yLTguOC0xLjQtOS45LTUuN0wzNzcuOCAyLjhjLTIuMS04LjQtOC43LTE1LTE3LjEtMTcuM3MtMTcuMyAuMi0yMy40IDYuNEwyOTQgMzYuNWMtMy4xIDMuMi04LjMgMy4yLTExLjUgMEwyMzkuMi04eiJdfSxNTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYWxhcm0tY2xvY2siLGljb246WzUxMiw1MTIsWzkyMDBdLCJmMzRlIiwiTTUwNC40IDEzMi41Yy00LjUgMTAuNS0xOC40IDkuOC0yNC45IC40LTI3LjgtNDAtNjYuMS03Mi4yLTExMS05Mi42LTEwLjQtNC43LTEzLjctMTguMy00LjEtMjQuNiAxNS05LjkgMzMtMTUuNyA1Mi4zLTE1LjcgNTIuNiAwIDk1LjIgNDIuNiA5NS4yIDk1LjIgMCAxMy4yLTIuNyAyNS44LTcuNiAzNy4zem0tNDcxLjkgLjRjLTYuNSA5LjQtMjAuNSAxMC4xLTI0LjktLjQtNC45LTExLjUtNy42LTI0LjEtNy42LTM3LjMgMC01Mi42IDQyLjYtOTUuMiA5NS4yLTk1LjIgMTkuMyAwIDM3LjMgNS44IDUyLjMgMTUuNyA5LjYgNi4zIDYuMyAxOS45LTQuMSAyNC42LTQ0LjggMjAuNC04My4xIDUyLjYtMTExIDkyLjZ6TTM5MC4yIDQ2Ny40QzM1Mi44IDQ5NS40IDMwNi4zIDUxMiAyNTYgNTEycy05Ni44LTE2LjYtMTM0LjEtNDQuNkw4Ni42IDUwMi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2wzNS4yLTM1LjJDNDguNiAzODQuOCAzMiAzMzguMyAzMiAyODggMzIgMTY0LjMgMTMyLjMgNjQgMjU2IDY0UzQ4MCAxNjQuMyA0ODAgMjg4YzAgNTAuMy0xNi42IDk2LjgtNDQuNiAxMzQuMmwzNS4yIDM1LjJjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTM1LjItMzUuMnpNMjgwIDE4NGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDEwNGMwIDYuNCAyLjUgMTIuNSA3IDE3bDU2IDU2YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNDktNDkgMC05NC4xeiJdfSxrTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVsaWNvcHRlci1zeW1ib2wiLGljb246WzUxMiw1MTIsW10sImU1MDIiLCJNNDQ1LjQgMjI0bDY0LjcgMEM0OTUuNiAxMDguMiA0MDMuOCAxNi40IDI4OCAybDAgNjQuN0MzNjguNCA4MC4xIDQzMS45IDE0My42IDQ0NS40IDIyNHpNNTEwIDI4OGwtNjQuNyAwQzQzMS45IDM2OC40IDM2OC40IDQzMS45IDI4OCA0NDUuM2wwIDY0LjdjMTE1LjgtMTQuNCAyMDcuNi0xMDYuMiAyMjItMjIyek0yIDI4OEMxNi40IDQwMy44IDEwOC4yIDQ5NS42IDIyNCA1MTBsMC02NC43QzE0My42IDQzMS45IDgwLjIgMzY4LjQgNjYuNyAyODhMMiAyODh6bTAtNjRsNjQuNyAwQzgwLjIgMTQzLjYgMTQzLjYgODAuMSAyMjQgNjYuN0wyMjQgMkMxMDguMiAxNi40IDE2LjQgMTA4LjIgMiAyMjR6bTIwNi02NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE5MmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjQgOTYgMCAwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA2NC05NiAwIDAtNjR6Il19LGNoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1jaGltbmV5LWNyYWNrIixpY29uOls1MTIsNTEyLFsiaG91c2UtZGFtYWdlIl0sImY2ZjEiLCJNMjM0LjIgOC42YzEyLjMtMTEuNCAzMS4zLTExLjQgNDMuNSAwTDM2OCA5Mi4zIDM2OCA4MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTAxLjUgMzcuOCAzNS4xYzkuNiA5IDEyLjggMjIuOSA4IDM1LjFTNDkzLjIgMjcyIDQ4MCAyNzJsLTE2IDAgMCAxNzZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTEwNS42IDAtMzguNC02NCA4MC44LTY3LjNjNy44LTYuNSA3LjYtMTguNi0uNC0yNC45TDIxOC42IDI2My4yYy0xNC42LTExLjUtMzMuOCA3LTIyLjggMjJMMjU2IDM2OCAxNzAuNSA0MzkuMmMtNi4xIDUtNy41IDEzLjgtMy41IDIwLjVsMzEuMyA1Mi4yLTg2LjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNzYtMTYgMGMtMTMuMiAwLTI1LTguMS0yOS44LTIwLjNzLTEuNi0yNi4yIDgtMzUuMWwyMjQtMjA4eiJdfSxTTnQ9Y2hlLHpOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tbWlsaXRhcnktcG9pbnRpbmciLGljb246WzUxMiw1MTIsW10sImU1NGEiLCJNMjE0LjkgMTQuMUMyMDIgMTUuMiAxOTIgMjYgMTkyIDM5IDE5MiA1Mi44IDIwMy4yIDY0IDIxNyA2NGwxNTEgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMC42QzM4NCA4IDM3NiAuNyAzNjYuNyAxLjRMMjE0LjkgMTQuMXpNMjA4IDExMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtNS41LS42LTEwLjgtMS42LTE2TDIwOS42IDk2Yy0xIDUuMi0xLjYgMTAuNS0xLjYgMTZ6TTQwIDIyNGMtMjIuMSAwLTQwIDE3LjktNDAgNDBzMTcuOSA0MCA0MCA0MGwxNTIgMCAwIDg5LjQgMTYyLjgtMTYyLjhjLTEzLjMtNC4zLTI3LjMtNi41LTQxLjYtNi41TDQwIDIyNHptMzQ1LjcgMjAuOWwtMTcxLjEgMTcxLjEgMTY5LjQgMCAwLTQ2LjMgNTMuNiA5MC42YzExLjIgMTkgMzUuOCAyNS4zIDU0LjggMTQuMXMyNS4zLTM1LjggMTQuMS01NC44TDQzMC4zIDI5MC44Yy0xMS4yLTE5LTI2LjYtMzQuNS00NC42LTQ1Ljl6TTE5MiA0NDhsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyLTE5MiAweiJdfSxDTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGF0YWJhc2UiLGljb246WzQ0OCw1MTIsW10sImYxYzAiLCJNNDQ4IDIwNS44Yy0xNC44IDkuOC0zMS44IDE3LjctNDkuNSAyNC00NyAxNi44LTEwOC43IDI2LjItMTc0LjUgMjYuMlM5Ni40IDI0Ni41IDQ5LjUgMjI5LjhjLTE3LjYtNi4zLTM0LjctMTQuMi00OS41LTI0TDAgMjg4YzAgNDQuMiAxMDAuMyA4MCAyMjQgODBzMjI0LTM1LjggMjI0LTgwbDAtODIuMnptMC03Ny44bDAtNDhDNDQ4IDM1LjggMzQ3LjcgMCAyMjQgMFMwIDM1LjggMCA4MGwwIDQ4YzAgNDQuMiAxMDAuMyA4MCAyMjQgODBzMjI0LTM1LjggMjI0LTgwek0zOTguNSAzODkuOEMzNTEuNiA0MDYuNSAyODkuOSA0MTYgMjI0IDQxNlM5Ni40IDQwNi41IDQ5LjUgMzg5LjhjLTE3LjYtNi4zLTM0LjctMTQuMi00OS41LTI0TDAgNDMyYzAgNDQuMiAxMDAuMyA4MCAyMjQgODBzMjI0LTM1LjggMjI0LTgwbDAtNjYuMmMtMTQuOCA5LjgtMzEuOCAxNy43LTQ5LjUgMjR6Il19LF9OdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJuZXdzcGFwZXIiLGljb246WzUxMiw1MTIsWzEyODI0MF0sImYxZWEiLCJNMCA0MTZMMCAxMjBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDI4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0TDk2IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDI4OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjR6TTE2MCAxMjhsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem0yNCAyNDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMjQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI0MCAwem0tMjQtNzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMjQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTI0MCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHpNMzYwIDE3NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw2NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC02NCAweiJdfSxUTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtcmFpbiIsaWNvbjpbNTEyLDUxMixbMTI3NzgzLDk5MjZdLCJmNzNkIiwiTTk2IDMyMGMtNTMgMC05Ni00My05Ni05NiAwLTQyLjUgMjcuNi03OC42IDY1LjktOTEuMi0xLjMtNi43LTEuOS0xMy43LTEuOS0yMC44IDAtNjEuOSA1MC4xLTExMiAxMTItMTEyIDQzLjEgMCA4MC41IDI0LjMgOTkuMiA2MCAxNC43LTE3LjEgMzYuNS0yOCA2MC44LTI4IDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgNS41LS42IDEwLjgtMS42IDE2IC41IDAgMS4xIDAgMS42IDAgNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZMOTYgMzIwem0xLjYgNjguMmMxLjEtMi41IDMuNi00LjIgNi40LTQuMnM1LjMgMS42IDYuNCA0LjJsMzAuMiA2OC4yYzIuMiA1LjEgMy40IDEwLjUgMy40IDE2IDAgMjEuOS0xOC4xIDM5LjYtNDAgMzkuNnMtNDAtMTcuNy00MC0zOS42YzAtNS41IDEuMi0xMSAzLjQtMTZsMzAuMi02OC4yem0xNTIgMGMxLjEtMi41IDMuNi00LjIgNi40LTQuMnM1LjMgMS42IDYuNCA0LjJsMzAuMiA2OC4yYzIuMiA1LjEgMy40IDEwLjUgMy40IDE2IDAgMjEuOS0xOC4xIDM5LjYtNDAgMzkuNnMtNDAtMTcuNy00MC0zOS42YzAtNS41IDEuMi0xMSAzLjQtMTZsMzAuMi02OC4yem0xMjEuOCA2OC4ybDMwLjItNjguMmMxLjEtMi41IDMuNi00LjIgNi40LTQuMnM1LjMgMS42IDYuNCA0LjJsMzAuMiA2OC4yYzIuMiA1LjEgMy40IDEwLjUgMy40IDE2IDAgMjEuOS0xOC4xIDM5LjYtNDAgMzkuNnMtNDAtMTcuNy00MC0zOS42YzAtNS41IDEuMi0xMSAzLjQtMTZ6Il19LGRoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXhpbWl6ZSIsaWNvbjpbNDQ4LDUxMixbImV4cGFuZC1hcnJvd3MtYWx0Il0sImYzMWUiLCJNMTY4IDMyTDI0IDMyQzEwLjcgMzIgMCA0Mi43IDAgNTZMMCAyMDBjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yUzM0LjEgMjIzLjggNDEgMjE3bDQwLTQwIDc5IDc5LTc5IDc5LTQwLTQwYy02LjktNi45LTE3LjItOC45LTI2LjItNS4yUzAgMzAyLjMgMCAzMTJMMCA0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTQ0IDBjOS43IDAgMTguNS01LjggMjIuMi0xNC44czEuNy0xOS4zLTUuMi0yNi4ybC00MC00MCA3OS03OSA3OSA3OS00MCA0MGMtNi45IDYuOS04LjkgMTcuMi01LjIgMjYuMlMyNzAuMyA0ODAgMjgwIDQ4MGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTE0NGMwLTkuNy01LjgtMTguNS0xNC44LTIyLjJzLTE5LjMtMS43LTI2LjIgNS4ybC00MCA0MC03OS03OSA3OS03OSA0MCA0MGM2LjkgNi45IDE3LjIgOC45IDI2LjIgNS4yUzQ0OCAyMDkuNyA0NDggMjAwbDAtMTQ0YzAtMTMuMy0xMC43LTI0LTI0LTI0TDI4MCAzMmMtOS43IDAtMTguNSA1LjgtMjIuMiAxNC44UzI1Ni4yIDY2LjEgMjYzIDczbDQwIDQwLTc5IDc5LTc5LTc5IDQwLTQwYzYuOS02LjkgOC45LTE3LjIgNS4yLTI2LjJTMTc3LjcgMzIgMTY4IDMyeiJdfSxMTnQ9ZGhlLCROdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsb2NhdGlvbi1hcnJvdyIsaWNvbjpbNTEyLDUxMixbXSwiZjEyNCIsIk00NzcuOSA3NS41YzQuNS0xMS44IDEuNy0yNS4yLTcuMi0zNC4xcy0yMi4zLTExLjgtMzQuMS03LjJsLTQxNiAxNjBDNy45IDE5OS0uMyAyMTEuMiAwIDIyNC43czkuMSAyNS40IDIxLjkgMjkuNmwxNzYuOCA1OC45IDU4LjkgMTc2LjhjNC4zIDEyLjggMTYuMSAyMS42IDI5LjYgMjEuOXMyNS43LTcuOSAzMC42LTIwLjVsMTYwLTQxNnoiXX0sRE50PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpdHkiLGljb246WzU3Niw1MTIsWzEyNzk2MV0sImY2NGYiLCJNMzIwIDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMzItNDggMCAwLTcyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgNzItNjQgMCAwLTcyQzk2IDEwLjcgODUuMyAwIDcyIDBTNDggMTAuNyA0OCAyNGwwIDc0Yy0yNy42IDcuMS00OCAzMi4yLTQ4IDYyTDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwIDAtMTI4YzAtMzUuMy0yOC43LTY0LTY0LTY0TDMyMCAwem02NCAxMTJsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnptLTE2IDgwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDB6bTE2IDExMmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2em0xMTItMTZjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMHpNMjU2IDMwNGwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2ek0yNDAgMTkyYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDB6TTEyOCAzMDRsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnpNMTEyIDE5MmM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAweiJdfSxBTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToieC1yYXkiLGljb246WzUxMiw1MTIsW10sImY0OTciLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDMyMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJMMzIgOTZDMTQuMyA5NiAwIDgxLjcgMCA2NHptMjgwIDU2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTYtNjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw2NCAwIDAgNDgtODAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw4MCAwIDAgNDgtNjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw2NCAwIDAgMTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE2IDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTY0IDAgMC00OCA4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAwIDAtNDggNjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNjQgMCAwLTE2eiJdfSxFTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidW1icmVsbGEtYmVhY2giLGljb246WzUxMiw1MTIsWzEyNzk1OF0sImY1Y2EiLCJNNDk3LjUgMzQxLjFjLTUuOSAxNi43LTI1LjMgMjMtNDEuMSAxNS4xbC0xNzguMi04OS4xLTEuNiAzLjItODguOCAxNzcuNyAyOTIuMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw4NC4yIDAgMTAzLjItMjA2LjMgMS42LTMuMi0xNjUuNC04Mi43Yy0xNS44LTcuOS0yMi40LTI3LjMtMTIuNS00MiA0NS45LTY4LjYgMTI0LjEtMTEzLjggMjEyLjktMTEzLjggMTQxLjQgMCAyNTYgMTE0LjYgMjU2IDI1NiAwIDI5LjgtNS4xIDU4LjUtMTQuNSA4NS4xeiJdfSx1aGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctcmlnaHQtdG8tYnJhY2tldCIsaWNvbjpbNTEyLDUxMixbInNpZ24taW4iXSwiZjA5MCIsIk0zNTIgOTZsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDI1NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzUzIDAgOTYtNDMgOTYtOTZsMC0yNTZjMC01My00My05Ni05Ni05NmwtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnptLTkuNCAxODIuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTI4LTEyOGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMjQyLjcgMjI0IDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyMTAuNyAwLTczLjQgNzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4eiJdfSxQTnQ9dWhlLElOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFkc2V0IixpY29uOls0NDgsNTEyLFtdLCJmNTkwIiwiTTIyNCA2NGMtNzkgMC0xNDQuNyA1Ny4zLTE1Ny43IDEzMi43IDkuMy0zIDE5LjMtNC43IDI5LjctNC43bDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTYgMGMtNTMgMC05Ni00My05Ni05NmwwLTY0QzAgMTAwLjMgMTAwLjMgMCAyMjQgMFM0NDggMTAwLjMgNDQ4IDIyNGwwIDE2OC4xYzAgNjYuMy01My44IDEyMC0xMjAuMSAxMjBsLTg3LjktLjEtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhzMjEuNS00OCA0OC00OGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMCA0MCAwYzM5LjggMCA3Mi0zMi4yIDcyLTcybDAtMjAuOWMtMTQuMSA4LjItMzAuNSAxMi44LTQ4IDEyLjhsLTE2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0yNi41IDIxLjUtNDggNDgtNDhsMTYgMGMxMC40IDAgMjAuMyAxLjYgMjkuNyA0LjctMTMtNzUuMy03OC42LTEzMi43LTE1Ny43LTEzMi43eiJdfSxOTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3Bsb3RjaCIsaWNvbjpbNTEyLDUxMixbXSwiZjViYyIsIk0yMDguNSA2Mi4zbDI4LjEtMzYuOUMyNDguOCA5LjQgMjY3LjggMCAyODggMCAzMTYuNSAwIDM0MS42IDE4LjcgMzQ5LjggNDZsMTcuOCA1OS40YzEwLjMgMzQuNCAzNi4xIDYyIDY5LjggNzQuNmwzOS44IDE0LjljMjAuOSA3LjkgMzQuOCAyNy45IDM0LjggNTAuMiAwIDE2LjktNy45IDMyLjgtMjEuNSA0Mi45bC02Ny4zIDUwLjVjLTI0LjMgMTguMi0zNy4yIDQ3LjktMzMuOCA3OC4xbDIuNSAyMi43YzQuMyAzOC43LTI2IDcyLjYtNjUgNzIuNi0xNC44IDAtMjkuMy01LjEtNDAuOS0xNC4zbC01NS4zLTQ0LjNjLTQuNS0zLjYtOS4zLTYuNy0xNC41LTkuMi0xNS44LTcuOS0zMy43LTEwLjQtNTEtNy4zTDgyLjQgNDUxLjljLTM0LjYgNi4zLTY2LjQtMjAuMy02Ni40LTU1LjQgMC0xMy4yIDQuNy0yNiAxMy4xLTM2LjJsMTEuMi0xMy40YzE0LjYtMTcuNCAyMi42LTM5LjQgMjIuNi02Mi4xIDAtMTguOC01LjUtMzcuMi0xNS44LTUzTDguOCAxNzMuNUMzLjEgMTY0LjcgMCAxNTQuNCAwIDE0My45IDAgMTEwLjUgMzAuMSA4NS4xIDYzIDkwLjdsNTEuMyA4LjdjMzUuOSA2LjEgNzIuMi04LjIgOTQuMi0zNy4xeiJdfSxwaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXAtbG9uZyIsaWNvbjpbMzIwLDUxMixbImxvbmctYXJyb3ctYWx0LXVwIl0sImYzMGMiLCJNMTM3LjQtMjIuNmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGwxMjggMTI4YzkuMiA5LjIgMTEuOSAyMi45IDYuOSAzNC45UzMwMC45IDE2MCAyODggMTYwbC02NCAwIDAgMzM2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTMzNi02NCAwYy0xMi45IDAtMjQuNi03LjgtMjkuNi0xOS44Uy4yIDExNC41IDkuNCAxMDUuNGwxMjgtMTI4eiJdfSxSTnQ9cGhlLE9OdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZXhhZ29uLW5vZGVzIixpY29uOls0NDgsNTEyLFtdLCJlNjk5IiwiTTI0OCAxMDYuNmMxOC45LTkgMzItMjguMyAzMi01MC42YzAtMzAuOS0yNS4xLTU2LTU2LTU2cy01NiAyNS4xLTU2IDU2YzAgMjIuMyAxMy4xIDQxLjYgMzIgNTAuNmwwIDk4LjhjLTIuOCAxLjMtNS41IDIuOS04IDQuN2wtODAuMS00NS44YzEuNi0yMC44LTguNi00MS42LTI3LjktNTIuOEM1Ny4yIDk2IDIzIDEwNS4yIDcuNSAxMzJTMS4yIDE5MyAyOCAyMDguNWMxLjMgLjggMi42IDEuNSA0IDIuMWwwIDkwLjhjLTEuMyAuNi0yLjcgMS4zLTQgMi4xQzEuMiAzMTktOCAzNTMuMiA3LjUgMzgwUzU3LjIgNDE2IDg0IDQwMC41YzE5LjMtMTEuMSAyOS40LTMyIDI3LjgtNTIuOGw1MC41LTI4LjljLTExLjUtMTEuMi0xOS45LTI1LjYtMjMuOC00MS43TDg4IDMwNi4xYy0yLjYtMS44LTUuMi0zLjMtOC00LjdsMC05MC44YzIuOC0xLjMgNS41LTIuOSA4LTQuN2w4MC4xIDQ1LjhjLS4xIDEuNC0uMiAyLjgtLjIgNC4zYzAgMjIuMyAxMy4xIDQxLjYgMzIgNTAuNmwwIDk4LjhjLTE4LjkgOS0zMiAyOC4zLTMyIDUwLjZjMCAzMC45IDI1LjEgNTYgNTYgNTZzNTYtMjUuMSA1Ni01NmMwLTIyLjMtMTMuMS00MS42LTMyLTUwLjZsMC05OC44YzIuOC0xLjMgNS41LTIuOSA4LTQuN2w4MC4xIDQ1LjhjLTEuNiAyMC44IDguNiA0MS42IDI3LjggNTIuOGMyNi44IDE1LjUgNjEgNi4zIDc2LjUtMjAuNXM2LjMtNjEtMjAuNS03Ni41Yy0xLjMtLjgtMi43LTEuNS00LTIuMWwwLTkwLjhjMS40LS42IDIuNy0xLjMgNC0yLjFjMjYuOC0xNS41IDM2LTQ5LjcgMjAuNS03Ni41UzM5MC44IDk2IDM2NCAxMTEuNWMtMTkuMyAxMS4xLTI5LjQgMzItMjcuOCA1Mi44bC01MC42IDI4LjljMTEuNSAxMS4yIDE5LjkgMjUuNiAyMy44IDQxLjdMMzYwIDIwNS45YzIuNiAxLjggNS4yIDMuMyA4IDQuN2wwIDkwLjhjLTIuOCAxLjMtNS41IDIuOS04IDQuNmwtODAuMS00NS44Yy4xLTEuNCAuMi0yLjggLjItNC4zYzAtMjIuMy0xMy4xLTQxLjYtMzItNTAuNmwwLTk4Ljh6Il19LFJlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3NwaXRhbCIsaWNvbjpbNTc2LDUxMixbMTI3OTczLDYyNTg5LCJob3NwaXRhbC1hbHQiLCJob3NwaXRhbC13aWRlIl0sImYwZjgiLCJNMTI4IDY0YzAtMzUuMyAyOC43LTY0IDY0LTY0TDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjQgNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTkyYzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDAgMC02NHpNMjcyIDM1MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA4MCA5NiAwIDAtODBjMC0xNy43LTE0LjMtMzItMzItMzJsLTMyIDB6TTEyOCAzNjhsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnpNMTEyIDI1NmM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwek01MTIgMzY4bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6TTQ5NiAyNTZjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHpNMjY0IDEwNGwwIDMyLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwIDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIgMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDAgMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2IDcuMi0xNiAxNnoiXX0sRk50PVJlZSxCTnQ9UmVlLEhOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24taGFyYXNzaW5nIixpY29uOls1NzYsNTEyLFtdLCJlNTQ5IiwiTTE5MiA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTU5LjQgMzA0LjVMODggMjU2LjkgODggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggMTYgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjQ0LjcgNDcuNCA1Ny4xYzExLjMgMTMuNiAzMS41IDE1LjUgNDUuMSA0LjJzMTUuNS0zMS41IDQuMi00NS4xbC03My43LTg4LjljLTE4LjItMjItNDUuMy0zNC43LTczLjktMzQuN2wtMzUuOSAwYy0zMy43IDAtNjQuOSAxNy43LTgyLjMgNDYuNmwtNTguMyA5N2MtOS4xIDE1LjEtNC4yIDM0LjggMTAuOSA0My45czM0LjggNC4yIDQzLjktMTAuOXpNNDgwIDI0MGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek00NjQgMzQ0bDAgNTguNy00MS40LTQxLjRjLTcuMy03LjMtMTcuNi0xMC42LTI3LjgtOXMtMTguOSA4LjEtMjMuNSAxNy4zbC00OCA5NmMtNy45IDE1LjgtMS41IDM1IDE0LjMgNDIuOXMzNSAxLjUgNDIuOS0xNC4zbDI4LjEtNTYuMyA1NC43IDU0LjdjMTIuNCAxMi40IDI5LjEgMTkuMyA0Ni42IDE5LjMgMzYuNCAwIDY1LjktMjkuNSA2NS45LTY1LjlMNTc2IDM0NGMwLTMwLjktMjUuMS01Ni01Ni01NnMtNTYgMjUuMS01NiA1NnpNMjg4IDQ4YzAgOC44IDcuMiAxNiAxNiAxNmw1NiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC01NiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bS0uOCA0OS43Yy03LjktNC0xNy41LS43LTIxLjUgNy4ycy0uNyAxNy41IDcuMiAyMS41bDQ4IDI0YzcuOSA0IDE3LjUgLjcgMjEuNS03LjJzLjctMTcuNS03LjItMjEuNWwtNDgtMjR6Il19LHFOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1iaWxsLXRyZW5kLXVwIixpY29uOls1MTIsNTEyLFtdLCJlNTI5IiwiTTQ4MCA4YzAtMTMuMy0xMC43LTI0LTI0LTI0TDM1NC4yLTE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQzLjkgMC0xMTEuMyAxMTEuMy05NS4xLTgxLjVjLTktNy43LTIyLjItNy43LTMxLjIgMGwtMTEyIDk2Yy0xMC4xIDguNi0xMS4yIDIzLjgtMi42IDMzLjhzMjMuOCAxMS4yIDMzLjggMi42bDk2LjQtODIuNiA5Ni40IDgyLjZjOS41IDguMiAyMy43IDcuNiAzMi42LTEuM2wxMjctMTI3IDAgNDMuOWMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0TDQ4MCA4ek00OCAyNTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4TDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDQxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTYwYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDQ4IDI1NnptNDcuMyA1NmMtMy40IDIwLjEtMTkuMiAzNi0zOS40IDM5LjQtNC40IC43LTgtMi45LTgtNy4zbDAtMzJjMC00LjQgMy42LTggOC04bDMyIDBjNC40IDAgOC4xIDMuNiA3LjMgOHptMCAxNDQuMWMuNyA0LjQtMi45IDgtNy4zIDhsLTMyIDBjLTQuNCAwLTgtMy42LTgtOGwwLTMyYzAtNC40IDMuNi04LjEgOC03LjMgMjAuMSAzLjQgMzYgMTkuMiAzOS40IDM5LjR6TTQ1NiA0MTYuN2M0LjQtLjcgOCAyLjkgOCA3LjNsMCAzMmMwIDQuNC0zLjYgOC04IDhsLTMyIDBjLTQuNCAwLTguMS0zLjYtNy4zLTggMy40LTIwLjEgMTkuMi0zNiAzOS40LTM5LjR6TTQxNi43IDMxMmMtLjctNC40IDIuOS04IDcuMy04bDMyIDBjNC40IDAgOCAzLjYgOCA4bDAgMzJjMCA0LjQtMy42IDguMS04IDcuMy0yMC4xLTMuNC0zNi0xOS4yLTM5LjQtMzkuNHpNMTkyIDM4NGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6Il19LGZoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW4tcnVsZXIiLGljb246WzUxMiw1MTIsWyJwZW5jaWwtcnVsZXIiXSwiZjVhZSIsIk00MDQgMGMxOS4yIDAgMzcuNiA3LjYgNTEuMSAyMS4ybDM1LjcgMzUuN0M1MDQuNCA3MC40IDUxMiA4OC44IDUxMiAxMDhzLTcuNiAzNy42LTIxLjIgNTEuMUw0NDUuOSAyMDQgMzA4IDY2LjEgMzUyLjkgMjEuMkMzNjYuNCA3LjYgMzg0LjggMCA0MDQgMHpNNTguOSAzMTUuMUwyNzQuMSAxMDAgNDEyIDIzNy45IDE5Ni45IDQ1My4xYy0xMC43IDEwLjctMjQuMSAxOC41LTM4LjcgMjIuNkwzMC40IDUxMS4xYy04LjMgMi4zLTE3LjMgMC0yMy40LTYuMnMtOC41LTE1LjEtNi4yLTIzLjRMMzYuNCAzNTMuOGM0LjEtMTQuNiAxMS44LTI3LjkgMjIuNi0zOC43ek0yMjUuNCA4MC44TDgwLjggMjI1LjQgMTEuNyAxNTYuM2MtMTUuNi0xNS42LTE1LjYtNDAuOSAwLTU2LjZsODgtODhjMTUuNi0xNS42IDQwLjktMTUuNiA1Ni42IDBsNS45IDUuOS01Ni4zIDU2LjNjLTcuOCA3LjgtNy44IDIwLjUgMCAyOC4zczIwLjUgNy44IDI4LjMgMGw1Ni4zLTU2LjMgMzQuOSAzNC45ek00MzEuMiAyODYuNmwzNC45IDM0LjktNTYuMyA1Ni4zYy03LjggNy44LTcuOCAyMC41IDAgMjguM3MyMC41IDcuOCAyOC4zIDBsNTYuMy01Ni4zIDUuOSA1LjljMTUuNiAxNS42IDE1LjYgNDAuOSAwIDU2LjZsLTg4IDg4Yy0xNS42IDE1LjYtNDAuOSAxNS42LTU2LjYgMGwtNjkuMS02OS4xIDE0NC42LTE0NC42eiJdfSxWTnQ9ZmhlLGpOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZXBlYXQiLGljb246WzUxMiw1MTIsWzEyODI1N10sImYzNjMiLCJNNDcwLjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy05LjItOS4yLTIyLjktMTEuOS0zNC45LTYuOVMzNTIgMTkuMSAzNTIgMzJsMCAzMi0xNjAgMEM4NiA2NCAwIDE1MCAwIDI1NiAwIDI3My43IDE0LjMgMjg4IDMyIDI4OHMzMi0xNC4zIDMyLTMyYzAtNzAuNyA1Ny4zLTEyOCAxMjgtMTI4bDE2MCAwIDAgMzJjMCAxMi45IDcuOCAyNC42IDE5LjggMjkuNnMyNS43IDIuMiAzNC45LTYuOWw2NC02NHpNNDEuNCAzOTMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjOS4yIDkuMiAyMi45IDExLjkgMzQuOSA2LjlTMTYwIDQ5Mi45IDE2MCA0ODBsMC0zMiAxNjAgMGMxMDYgMCAxOTItODYgMTkyLTE5MiAwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOGwtMTYwIDAgMC0zMmMwLTEyLjktNy44LTI0LjYtMTkuOC0yOS42cy0yNS43LTIuMi0zNC45IDYuOWwtNjQgNjR6Il19LFVOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib25lIixpY29uOls2NDAsNTEyLFsxMjk0NjBdLCJmNWQ3IiwiTTE5Ny40IDE2MGMtMy45IDAtNy4yLTIuOC04LjEtNi42LTEwLjItNDIuMS00OC4xLTczLjQtOTMuMy03My40LTUzIDAtOTYgNDMtOTYgOTYgMCAyOS4xIDEyLjkgNTUuMSAzMy4zIDcyLjcgNC4zIDMuNyA0LjMgMTAuOCAwIDE0LjUtMjAuNCAxNy42LTMzLjMgNDMuNy0zMy4zIDcyLjcgMCA1MyA0MyA5NiA5NiA5NiA0NS4yIDAgODMuMS0zMS4zIDkzLjMtNzMuNCAuOS0zLjggNC4yLTYuNiA4LjEtNi42bDI0NS4xIDBjMy45IDAgNy4yIDIuOCA4LjEgNi42IDEwLjIgNDIuMSA0OC4xIDczLjQgOTMuMyA3My40IDUzIDAgOTYtNDMgOTYtOTYgMC0yOS4xLTEyLjktNTUuMS0zMy4zLTcyLjctNC4zLTMuNy00LjMtMTAuOCAwLTE0LjUgMjAuNC0xNy42IDMzLjMtNDMuNyAzMy4zLTcyLjcgMC01My00My05Ni05Ni05Ni00NS4yIDAtODMuMSAzMS4zLTkzLjMgNzMuNC0uOSAzLjgtNC4yIDYuNi04LjEgNi42bC0yNDUuMSAweiJdfSxoaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlyZS1mbGFtZS1jdXJ2ZWQiLGljb246WzM4NCw1MTIsWyJmaXJlLWFsdCJdLCJmN2U0IiwiTTE1My42IDI5LjlsMTYtMjEuM0MxNzMuNiAzLjIgMTgwIDAgMTg2LjcgMCAxOTguNCAwIDIwOCA5LjYgMjA4IDIxLjNsMCAyMi4xYzAgMTMuMSA1LjQgMjUuNyAxNC45IDM0LjdMMzA3LjYgMTU5QzM1Ni40IDIwNS42IDM4NCAyNzAuMiAzODQgMzM3LjcgMzg0IDQzNCAzMDYgNTEyIDIwOS43IDUxMkwxOTIgNTEyQzg2IDUxMiAwIDQyNiAwIDMyMGwwLTMuOGMwLTQ4LjggMTkuNC05NS42IDUzLjktMTMwLjFsMy41LTMuNWM0LjItNC4yIDEwLTYuNiAxNi02LjYgMTIuNSAwIDIyLjYgMTAuMSAyMi42IDIyLjZMOTYgMjg4YzAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRsMC0zLjljMC0xOC03LjItMzUuMy0xOS45LTQ4bC0zOC42LTM4LjZjLTI0LTI0LTM3LjUtNTYuNy0zNy41LTkwLjcgMC0yNy43IDktNTQuOCAyNS42LTc2Ljl6Il19LFdOdD1oaGUsbWhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1cy1zaW1wbGUiLGljb246WzQ0OCw1MTIsWyJidXMtYWx0Il0sImY1NWUiLCJNOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDM4NGMwIDI5LjggMjAuNCA1NC45IDQ4IDYybDAgMzRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTMyIDE5MiAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTM0YzI3LjYtNy4xIDQ4LTMyLjIgNDgtNjJsMC0yODhjMC01My00My05Ni05Ni05Nkw5NiAwek02NCAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJsMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMkw5NiAyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZ6TTk2IDMyMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTI1NiAwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sR050PW1oZSxZTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmVudXMtbWFycyIsaWNvbjpbNjQwLDUxMixbOTg5Ml0sImYyMjgiLCJNNDgwLTY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMlM0NjIuMyAwIDQ4MCAwTDUzMC43IDAgNDc0IDU2LjdjLTI2LjMtMTUuNy01Ny4xLTI0LjctOTAtMjQuNy0zNS40IDAtNjguNCAxMC41LTk2IDI4LjUtMjcuNi0xOC02MC42LTI4LjUtOTYtMjguNS05Ny4yIDAtMTc2IDc4LjgtMTc2IDE3NiAwIDg2LjMgNjIuMSAxNTguMSAxNDQgMTczLjFsMCAzNC45LTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMzQuOWMyMy4zLTQuMyA0NC45LTEzLjEgNjQtMjUuNiAyNy42IDE4IDYwLjYgMjguNSA5NiAyOC41IDk3LjIgMCAxNzYtNzguOCAxNzYtMTc2IDAtNDEuMS0xNC4xLTc5LTM3LjgtMTA5TDU3NiA0NS4zIDU3NiA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDQ4MC02NHpNMzM2IDMwOS4yYzIwLjItMjguNiAzMi02My41IDMyLTEwMS4ycy0xMS44LTcyLjYtMzItMTAxLjJjMTQuNi02LjkgMzAuOC0xMC44IDQ4LTEwLjggNjEuOSAwIDExMiA1MC4xIDExMiAxMTJTNDQ1LjkgMzIwIDM4NCAzMjBjLTE3LjIgMC0zMy41LTMuOS00OC0xMC44ek0yODggMTUwLjNjMTAuMiAxNi45IDE2IDM2LjYgMTYgNTcuN3MtNS44IDQwLjktMTYgNTcuN2MtMTAuMi0xNi45LTE2LTM2LjYtMTYtNTcuN3M1LjgtNDAuOSAxNi01Ny43em0tNDgtNDMuNWMtMjAuMiAyOC42LTMyIDYzLjUtMzIgMTAxLjJzMTEuOCA3Mi42IDMyIDEwMS4yYy0xNC41IDYuOS0zMC44IDEwLjgtNDggMTAuOC02MS45IDAtMTEyLTUwLjEtMTEyLTExMlMxMzAuMSA5NiAxOTIgOTZjMTcuMiAwIDMzLjUgMy45IDQ4IDEwLjh6Il19LEtOdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJibGVuZGVyIixpY29uOls1MTIsNTEyLFtdLCJmNTE3IiwiTTAgNTZDMCAyNS4xIDI1LjEgMCA1NiAwTDQzNy42IDBjMjEuMyAwIDM2LjYgMjAuMyAzMC44IDQwLjhMNDU3LjEgODAgMzQ0IDgwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDk5LjQgMC0xOC4zIDY0LTgxLjEgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw2Ny40IDAtMjcuNCA5Ni0yNTYgMC05LjEtOTYtNjIuOSAwYy0zMC45IDAtNTYtMjUuMS01Ni01NkwwIDU2ek0xMTQuMyAxOTJMMTAwLjYgNDggNTYgNDhjLTQuNCAwLTggMy42LTggOGwwIDEyOGMwIDQuNCAzLjYgOCA4IDhsNTguMyAwek0xMzYgMzg0bDI0MCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDBsLTI0MCAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTQ4YzAtMjIuMSAxNy45LTQwIDQwLTQwem0xMjAgODhhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSxaTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidSIsaWNvbjpbMzg0LDUxMixbMTE3XSwiNTUiLCJNMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyMjRjMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhzMTI4LTU3LjMgMTI4LTEyOGwwLTIyNGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMjI0YzAgMTA2LTg2IDE5Mi0xOTIgMTkyUzAgMzk0IDAgMjg4TDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6Il19LG92PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoYXJlIixpY29uOls1MTIsNTEyLFsibWFpbC1mb3J3YXJkIl0sImYwNjQiLCJNMzA3LjggMTguNGMtMTIgNS0xOS44IDE2LjYtMTkuOCAyOS42bDAgODAtMTEyIDBjLTk3LjIgMC0xNzYgNzguOC0xNzYgMTc2IDAgMTEzLjMgODEuNSAxNjMuOSAxMDAuMiAxNzQuMSAyLjUgMS40IDUuMyAxLjkgOC4xIDEuOSAxMC45IDAgMTkuNy04LjkgMTkuNy0xOS43IDAtNy41LTQuMy0xNC40LTkuOC0xOS41LTkuNC04LjgtMjIuMi0yNi40LTIyLjItNTYuNyAwLTUzIDQzLTk2IDk2LTk2bDk2IDAgMCA4MGMwIDEyLjkgNy44IDI0LjYgMTkuOCAyOS42czI1LjcgMi4yIDM0LjktNi45bDE2MC0xNjBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjBjLTkuMi05LjItMjIuOS0xMS45LTM0LjktNi45eiJdfSxYTnQ9b3YsZ2hlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBob25lLWZsaXAiLGljb246WzUxMiw1MTIsWzEyODM4MSwicGhvbmUtYWx0Il0sImY4NzkiLCJNMzUxLjggMjVjNy44LTE4LjggMjguNC0yOC45IDQ4LjEtMjMuNWw1LjUgMS41YzY0LjYgMTcuNiAxMTkuOCA4MC4yIDEwMy43IDE1Ni40LTM3LjEgMTc1LTE3NC44IDMxMi43LTM0OS44IDM0OS44LTc2LjMgMTYuMi0xMzguOC0zOS4xLTE1Ni40LTEwMy43bC0xLjUtNS41Yy01LjQtMTkuNyA0LjctNDAuMyAyMy41LTQ4LjFsOTcuMy00MC41YzE2LjUtNi45IDM1LjYtMi4xIDQ3IDExLjhsMzguNiA0Ny4yYzcwLjMtMzQuOSAxMjYuOC05My4zIDE1OS4zLTE2NC45bC00NC4xLTM2LjFjLTEzLjktMTEuMy0xOC42LTMwLjQtMTEuOC00N0wzNTEuOCAyNXoiXX0sUU50PWdoZSxKTnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9pbGV0LXBvcnRhYmxlIixpY29uOlszMjAsNTEyLFtdLCJlNTgzIiwiTTAgNjRsMCAxNiAzMjAgMCAwLTE2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDBDMjguNyAwIDAgMjguNyAwIDY0em0yNCA2NEwwIDEyOCAwIDQ4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtOCAyMjQgMCAwIDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTM2MC0yOTYgMHptMjI0IDk2bDI0IDAgMCA5Ni0yNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0eiJdfSxlUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXByZWduYW50IixpY29uOlszODQsNTEyLFtdLCJlMzFlIiwiTTE5MiA4MGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnptODAgMzIxLjJjOC42LTQuNSAxNi44LTEwIDI0LjMtMTYuNWw0LTMuNGMyMi42LTE5LjQgMzUuNy00Ny43IDM1LjctNzcuNiAwLTM1LjktMTguOC02OS4xLTQ5LjYtODcuNmwtMzAuNC0xOC4yIDAtMS44YzAtNDYuNS0zNy43LTg0LjEtODQuMS04NC4xLTI4LjEgMC01NC40IDE0LjEtNzAgMzcuNUwyMS40IDI3MC4yYy05LjggMTQuNy01LjggMzQuNiA4LjkgNDQuNHMzNC42IDUuOCA0NC40LTguOWwyOS00My41LTMwLjUgMTEzLjVjLTIuNiA5LjYtLjYgMTkuOSA1LjUgMjcuOFM5NCA0MTYgMTA0IDQxNmw4IDAgMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtOTYgMzIgMCAwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMTAuOHoiXX0sdFJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imxlc3MtdGhhbiIsaWNvbjpbNTEyLDUxMixbNjI3NzRdLCIzYyIsIk00NzcuMSA1MC42YzcuNCAxNiAuNCAzNS4xLTE1LjYgNDIuNUwxMDguNCAyNTYgNDYxLjQgNDE5YzE2IDcuNCAyMyAyNi40IDE1LjYgNDIuNXMtMjYuNCAyMy00Mi41IDE1LjZsLTQxNi0xOTJDNy4zIDI3OS44IDAgMjY4LjUgMCAyNTZTNy4zIDIzMi4yIDE4LjYgMjI3bDQxNi0xOTJjMTYtNy40IDM1LjEtLjQgNDIuNSAxNS42eiJdfSxhUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VwZXJzY3JpcHQiLGljb246WzU3Niw1MTIsW10sImYxMmIiLCJNNTQ0IDMyYzAtMTEuMS01LjctMjEuNC0xNS4yLTI3LjJzLTIxLjItNi40LTMxLjEtMS40bC0zMiAxNkM0NDkuOSAyNy4zIDQ0My41IDQ2LjUgNDUxLjQgNjIuMyA0NTcgNzMuNSA0NjguMyA4MCA0ODAgODBsMCA4MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTI4ek05NiA2NEM3OC4zIDY0IDY0IDc4LjMgNjQgOTZzMTQuMyAzMiAzMiAzMmwxNS4zIDAgODkuNiAxMjgtODkuNiAxMjgtMTUuMyAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDBjMTAuNCAwIDIwLjItNS4xIDI2LjItMTMuNkwyNDAgMzExLjggMzI1LjggNDM0LjRjNiA4LjYgMTUuOCAxMy42IDI2LjIgMTMuNmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNS4zIDAtODkuNi0xMjggODkuNi0xMjggMTUuMyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwYy0xMC40IDAtMjAuMiA1LjEtMjYuMiAxMy42TDI0MCAyMDAuMiAxNTQuMiA3Ny42QzE0OC4yIDY5LjEgMTM4LjQgNjQgMTI4IDY0TDk2IDY0eiJdfSxiaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLXN0b3AiLGljb246WzUxMiw1MTIsWzYyMDk0LCJzdG9wLWNpcmNsZSJdLCJmMjhkIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xOTIgMTYwbDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xMjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LHJSdD1iaGUsdmhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy11cC1kb3duIixpY29uOlsyNTYsNTEyLFsiYXJyb3dzLXYiXSwiZjA3ZCIsIk0xNTAuNi0yMi42Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgNzcuMyA5NiA0MzQuNyA1NC42IDM5My40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmM2IDYgMTQuMSA5LjQgMjIuNiA5LjRzMTYuNi0zLjQgMjIuNi05LjRsOTYtOTZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTQxLjQgNDEuNCAwLTM1Ny41IDQxLjQgNDEuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05Ni05NnoiXX0sc1J0PXZoZSx4aGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicG9vLXN0b3JtIixpY29uOls1MTIsNTEyLFsicG9vLWJvbHQiXSwiZjc1YSIsIk0yNjguOS0zMS44Yy01LjUtLjctMTEgMS40LTE0LjUgNS43cy00LjYgMTAuMS0yLjggMTUuM2MyLjggOC4yIDQuMyAxNi45IDQuMyAyNi4xIDAgMjEuNy04LjUgMzcuMi0yMS45IDQ3LjYtMTMuOSAxMC44LTM0LjEgMTctNTguMSAxN2wtMjQgMGMtNDguNiAwLTg4IDM5LjQtODggODggMCAxNC44IDMuNyAyOC44IDEwLjIgNDEuMS00MiA2LjYtNzQuMiA0My03NC4yIDg2LjkgMCA0Ni42IDM2LjIgODQuNyA4MS45IDg3LjggMy4xLTEyLjQgOS45LTIzLjggMTkuNi0zMi41TDI0Mi43IDIyNWMxMi4yLTEwLjkgMjgtMTcgNDQuNC0xNyA0NC42IDAgNzYuNSA0MyA2My43IDg1LjdsLTEyLjcgNDIuNGMyOC44IDEuMiA1Mi43IDIxLjEgNTkuOCA0Ny45bDI2LjIgMGM0OC42IDAgODgtMzkuNCA4OC04OCAwLTQzLjktMzIuMS04MC4zLTc0LjItODYuOSA2LjUtMTIuMyAxMC4yLTI2LjIgMTAuMi00MS4xIDAtNDguNi0zOS40LTg4LTg4LTg4bC05LjQgMGMuOS01LjQgMS40LTEwLjkgMS40LTE2LjYgMC00OC43LTM2LjEtODguOS04My4xLTk1LjJ6TTE0NC42IDQxNmw2MS44IDAtMzEuMiAxMDQuMWMtMy42IDExLjkgNS4zIDIzLjkgMTcuOCAyMy45IDQuNiAwIDktMS43IDEyLjQtNC43TDM0Ni41IDQxMi45YzMuNS0zLjEgNS41LTcuNiA1LjUtMTIuNCAwLTkuMi03LjQtMTYuNi0xNi42LTE2LjZsLTYxLjggMCAzMS4yLTEwNC4xYzMuNi0xMS45LTUuMy0yMy45LTE3LjgtMjMuOS00LjYgMC05IDEuNy0xMi40IDQuN0wxMzMuNSAzODcuMWMtMy41IDMuMS01LjUgNy42LTUuNSAxMi40IDAgOS4yIDcuNCAxNi42IDE2LjYgMTYuNnoiXX0saVJ0PXhoZSxvUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlkZW8tc2xhc2giLGljb246WzU3Niw1MTIsW10sImY0ZTIiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMTUzLTE1MyAwLTIyMi4yYzAtMzUuMy0yOC43LTY0LTY0LTY0TDEyOS44IDY0IDQxLTI0Ljl6TTMyIDEyOGwwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGM3LjggMCAxNS4zLTEuNCAyMi4yLTRMMzYgMTA1LjhjLTIuNiA2LjktNCAxNC40LTQgMjIuMnpNNDY0IDMzNmw3My41IDU4LjhjNC4yIDMuNCA5LjQgNS4yIDE0LjggNS4yIDEzLjEgMCAyMy43LTEwLjYgMjMuNy0yMy43bDAtMjQwLjZjMC0xMy4xLTEwLjYtMjMuNy0yMy43LTIzLjctNS40IDAtMTAuNiAxLjgtMTQuOCA1LjJMNDY0IDE3NiA0NjQgMzM2eiJdfSxPZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXhtYXJrIixpY29uOls0NDgsNTEyLFsxMDA2MiwidGltZXMtc3F1YXJlIiwieG1hcmstc3F1YXJlIl0sImYyZDMiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNzEgMTM1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDU1IDU1IDU1LTU1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNTUgNTUgNTUgNTVjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNTUtNTUtNTUgNTVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNTUtNTUtNTUtNTVjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45eiJdfSxuUnQ9T2VlLGxSdD1PZWUseWhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtaG9sZGluZy1kcm9wbGV0IixpY29uOls1NzYsNTEyLFsiaGFuZC1ob2xkaW5nLXdhdGVyIl0sImY0YzEiLCJNMjc1LjUgNi42TDIwOS4yIDEwM0MxOTggMTE5LjMgMTkyIDEzOC42IDE5MiAxNTguM2wwIDEuN2MwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMS43YzAtMTkuOC02LTM5LTE3LjItNTUuM0wzMDAuNSA2LjZDMjk3LjcgMi41IDI5MyAwIDI4OCAwcy05LjcgMi41LTEyLjUgNi42ek0xMDkuMyAzNDEuNUw2Ni43IDM4NCAzMiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIwLjUgMGMyOSAwIDU3LjMtOS4zIDgwLjctMjYuNWwxMjYuNi05My4zYzE3LjgtMTMuMSAyMS42LTM4LjEgOC41LTU1LjlzLTM4LjEtMjEuNi01NS45LTguNUwzOTIuNiA0MTYgMjgwIDQxNmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw3MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNTIuMiAwYy0zMy45IDAtNjYuNSAxMy41LTkwLjUgMzcuNXoiXX0sY1J0PXloZSxGZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid29uLXNpZ24iLGljb246WzUxMiw1MTIsWzgzNjEsImtydyIsIndvbiJdLCJmMTU5IiwiTTYyLjQgNTMuOUM1Ni44IDM3LjEgMzguNyAyOC4xIDIxLjkgMzMuNlMtMy45IDU3LjQgMS43IDc0LjFMNTYuOSAyNDAgMzIgMjQwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwLjkgMCA1Ni43IDE3MC4xYzQuNSAxMy41IDE3LjQgMjIuNCAzMS42IDIxLjlzMjYuNC0xMC40IDI5LjgtMjQuMkwyMzMgMjg4IDI3OSAyODggMzIxIDQ1NS44YzMuNCAxMy44IDE1LjYgMjMuNyAyOS44IDI0LjJzMjcuMS04LjQgMzEuNi0yMS45TDQzOS4xIDI4OCA0ODAgMjg4YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNC45IDAgNTUuMy0xNjUuOWM1LjYtMTYuOC0zLjUtMzQuOS0yMC4yLTQwLjVzLTM0LjkgMy41LTQwLjUgMjAuMmwtNjIgMTg2LjEtNTQuNiAwLTQ1LjktMTgzLjhDMjgzLjUgNDIgMjcwLjcgMzIgMjU2IDMycy0yNy41IDEwLTMxIDI0LjJMMTc5IDI0MCAxMjQuNCAyNDAgNjIuNCA1My45em03OCAyMzQuMWwyNi42IDAtMTEuNCA0NS42LTE1LjItNDUuNnpNMjQ1IDI0MGwxMS00NC4xIDExIDQ0LjEtMjIgMHptMTAwIDQ4bDI2LjYgMC0xNS4yIDQ1LjYtMTEuNC00NS42eiJdfSxkUnQ9RmVlLHVSdD1GZWUscFJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im9iamVjdC11bmdyb3VwIixpY29uOls2NDAsNTEyLFtdLCJmMjQ4IiwiTTMyIDExOS40QzEyLjkgMTA4LjQgMCA4Ny43IDAgNjQgMCAyOC43IDI4LjcgMCA2NCAwIDg3LjcgMCAxMDguNCAxMi45IDExOS40IDMybDIwOS4xIDBjMTEuMS0xOS4xIDMxLjctMzIgNTUuNC0zMiAzNS4zIDAgNjQgMjguNyA2NCA2NCAwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRsMCAxMTMuMWMxOS4xIDExLjEgMzIgMzEuNyAzMiA1NS40IDAgMzUuMy0yOC43IDY0LTY0IDY0LTIzLjcgMC00NC40LTEyLjktNTUuNC0zMmwtMjA5LjEgMGMtMTEuMSAxOS4xLTMxLjcgMzItNTUuNCAzMi0zNS4zIDAtNjQtMjguNy02NC02NCAwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRsMC0xMTMuMXpNMTE5LjQgOTZjLTUuNiA5LjctMTMuNyAxNy44LTIzLjQgMjMuNGwwIDExMy4xYzkuNyA1LjYgMTcuOCAxMy43IDIzLjQgMjMuNGwyMDkuMSAwYzUuNi05LjcgMTMuNy0xNy44IDIzLjQtMjMuNGwwLTExMy4xYy05LjctNS42LTE3LjgtMTMuNy0yMy40LTIzLjRMMTE5LjQgOTZ6TTU0NCAyNzkuNGMtOS43LTUuNi0xNy44LTEzLjctMjMuNC0yMy40bC0yOS4yIDBjLTUuMy0xNy43LTE0LjgtMzMuNS0yNy40LTQ2LjRsMC0xNy42IDU2LjYgMGMxMS4xLTE5LjEgMzEuNy0zMiA1NS40LTMyIDM1LjMgMCA2NCAyOC43IDY0IDY0IDAgMjMuNy0xMi45IDQ0LjQtMzIgNTUuNGwwIDExMy4xYzE5LjEgMTEuMSAzMiAzMS43IDMyIDU1LjQgMCAzNS4zLTI4LjcgNjQtNjQgNjQtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMybC0yMDkuMSAwYy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMyLTM1LjMgMC02NC0yOC43LTY0LTY0IDAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNGwwLTI0LjYgNjQgMCAwIDI0LjZjOS43IDUuNiAxNy44IDEzLjcgMjMuNCAyMy40bDIwOS4xIDBjNS42LTkuNyAxMy43LTE3LjggMjMuNC0yMy40bDAtMTEzLjF6Il19LGZSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21tZW50IixpY29uOls1MTIsNTEyLFsxMjg0ODksNjE2NjldLCJmMDc1IiwiTTUxMiAyNDBjMCAxMzIuNS0xMTQuNiAyNDAtMjU2IDI0MC0zNy4xIDAtNzIuMy03LjQtMTA0LjEtMjAuN0wzMy41IDUxMC4xYy05LjQgNC0yMC4yIDEuNy0yNy4xLTUuOFMtMiA0ODUuOCAyLjggNDc2LjhsNDguOC05Mi4yQzE5LjIgMzQ0LjMgMCAyOTQuMyAwIDI0MCAwIDEwNy41IDExNC42IDAgMjU2IDBTNTEyIDEwNy41IDUxMiAyNDB6Il19LGhSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoaWxsLWF2YWxhbmNoZSIsaWNvbjpbNTc2LDUxMixbXSwiZTUwNyIsIk00NDAuMSA0MDEuOWMzNC4yIDIzLjEgODEuMSAxOS41IDExMS40LTEwLjggMzQuNC0zNC40IDM0LjQtOTAuMSAwLTEyNC41LTI3LjgtMjcuOC02OS41LTMzLjEtMTAyLjYtMTYtMTEuOCA2LjEtMTYuNCAyMC42LTEwLjMgMzIuM3MyMC42IDE2LjQgMzIuMyAxMC4zYzE1LjEtNy44IDM0LTUuMyA0Ni42IDcuMyAxNS42IDE1LjYgMTUuNiA0MC45IDAgNTYuNnMtNDAuOSAxNS42LTU2LjYgMGwtODEuNy04MS43YzIyLjMtMTQuMiAzNy4xLTM5LjEgMzcuMS02Ny41IDAtMzMuOS0yMS4xLTYyLjktNTAuOS03NC41IDEuOS02LjggMi45LTE0IDIuOS0yMS41IDAtNDQuMi0zNS44LTgwLTgwLTgwLTI3LjMgMC01MS41IDEzLjctNjUuOSAzNC42LTUuOC0yMC0yNC4yLTM0LjYtNDYuMS0zNC42LTI2LjUgMC00OCAyMS41LTQ4IDQ4IDAgNCAuNSA3LjkgMS40IDExLjZMNDQwLjEgNDAxLjl6TTQ4MC40IDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTAgMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNNjguNyA4N0M0My41IDYxLjggLjQgNzkuNyAuNCAxMTUuM0wuNCA0MzJjMCA0NC4yIDM1LjggODAgODAgODBsMzE2LjcgMGMzNS42IDAgNTMuNS00My4xIDI4LjMtNjguM0w2OC43IDg3eiJdfSxtUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXRvLWV5ZSIsaWNvbjpbNjQwLDUxMixbXSwiZTRiZiIsIk0xNzYgNTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAzOC4xLTYzLTYzYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMyMS43IDU1LjYgMzEgNjVsNjMgNjMtMzguMSAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDk2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC05NnptMCA0MDBsMC05NmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtOTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzOC4xIDAtNjMgNjNjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw2My02MyAwIDM4LjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNHptMzEyIDI0YzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMzguMSA2MyA2M2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTYzLTYzIDM4LjEgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtOTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA5NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHpNNDY0IDU2bDAgOTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRsOTYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMzguMSAwIDYzLTYzYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTYzIDYzIDAtMzguMWMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHpNMzIwIDEyMGMtNTcuMyAwLTk5LjQgMzQtMTI1LjYgNjQuMy0yMCAyMy4xLTMyLjQgNDUuOC0zNy42IDU2LjEtMi41IDUtNC45IDkuNy00LjkgMTUuNnMyLjMgMTAuNiA0LjkgMTUuNmM1LjIgMTAuMyAxNy42IDMzIDM3LjYgNTYuMSAyNi4yIDMwLjMgNjguMiA2NC4zIDEyNS42IDY0LjNzOTkuNC0zNCAxMjUuNi02NC4zYzIwLTIzLjEgMzIuNC00NS44IDM3LjYtNTYuMSAyLjUtNSA0LjktOS43IDQuOS0xNS42cy0yLjMtMTAuNi00LjktMTUuNmMtNS4yLTEwLjMtMTcuNi0zMy0zNy42LTU2LjEtMjYuMi0zMC4zLTY4LjItNjQuMy0xMjUuNi02NC4zek0yNTYgMjU2YTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHoiXX0sZ1J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNub3dwbG93IixpY29uOls2NDAsNTEyLFtdLCJmN2QyIiwiTTEyOCAxNjBsMC05NmMwLTM1LjMgMjguNy02NCA2NC02NEwyOTYuNCAwYzI0LjIgMCA0Ni40IDEzLjcgNTcuMiAzNS40bDg3LjYgMTc1LjFjNC40IDguOSA2LjggMTguNyA2LjggMjguNmwwIDU2LjkgODAgMCAwLTgwYzAtNDguNiAzOS40LTg4IDg4LTg4IDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0yMi4xIDAtNDAgMTcuOS00MCA0MGwwIDIwOGMwIDIyLjEgMTcuOSA0MCA0MCA0MCAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtNDguNiAwLTg4LTM5LjQtODgtODhsMC04MC02MyAwYzkuNSAxNi41IDE1IDM1LjYgMTUgNTYgMCA2MS45LTUwLjEgMTEyLTExMiAxMTJsLTIyNCAwYy02MS45IDAtMTEyLTUwLjEtMTEyLTExMiAwLTMwLjUgMTIuMi01OC4yIDMyLTc4LjRMNjQgMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0em05MS43IDM0LjlsNDMuNiAyOS4xIDExMy4yIDAtODAtMTYwLTEwNC40IDAgMCAxMDguOCAyNy43IDIyLjF6TTQxNiA0MDBjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTIyNCAwYy0yNi41IDAtNDggMjEuNS00OCA0OHMyMS41IDQ4IDQ4IDQ4bDIyNCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4em0tMjgwIDBhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMjE2LTI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMjMyIDQwMGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxiUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhcnQtZ2FudHQiLGljb246WzUxMiw1MTIsW10sImUwZTQiLCJNNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCA0MDBjMCA0NC4yIDM1LjggODAgODAgODBsNDAwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMODAgNDE2Yy04LjggMC0xNi03LjItMTYtMTZMNjQgNjR6bTk2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMHptNjQgMTEyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMjggMHpNMzg0IDI4OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAweiJdfSx3aGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlkZW8iLGljb246WzU3Niw1MTIsWyJ2aWRlby1jYW1lcmEiXSwiZjAzZCIsIk05NiA2NGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyNTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMOTYgNjR6TTQ2NCAzMzZsNzMuNSA1OC44YzQuMiAzLjQgOS40IDUuMiAxNC44IDUuMiAxMy4xIDAgMjMuNy0xMC42IDIzLjctMjMuN2wwLTI0MC42YzAtMTMuMS0xMC42LTIzLjctMjMuNy0yMy43LTUuNCAwLTEwLjYgMS44LTE0LjggNS4yTDQ2NCAxNzYgNDY0IDMzNnoiXX0sdlJ0PXdoZSx4UnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlc3MtcGF3biIsaWNvbjpbMzg0LDUxMixbOTgyM10sImY0NDMiLCJNMTkyLTMyYzY2LjMgMCAxMjAgNTMuNyAxMjAgMTIwIDAgMjctOC45IDUxLjktMjQgNzIgMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEwLjcgMCAyNi43IDE2MCA1Ni4yIDcwLjNjNSA2LjMgNy44IDE0LjEgNy44IDIyLjIgMCAxOS42LTE1LjkgMzUuNS0zNS41IDM1LjVMNTEuNSA1MTJjLTE5LjYgMC0zNS41LTE1LjktMzUuNS0zNS41IDAtOC4xIDIuNy0xNS45IDcuOC0yMi4yTDgwIDM4NCAxMDYuNyAyMjQgOTYgMjI0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyYy0xNS4xLTIwLjEtMjQtNDUtMjQtNzIgMC02Ni4zIDUzLjctMTIwIDEyMC0xMjB6Il19LHlSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzeW5hZ29ndWUiLGljb246WzU3Niw1MTIsWzEyODMzM10sImY2OWIiLCJNMTYgODBjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NGwwIDMyLTEyOCAwIDAtMzJ6bTAgMzY4bDAtMjg4IDEyOCAwIDEyNi4yLTg0LjJjMTAuNy03LjIgMjQuOC03LjIgMzUuNSAwbDEyNi4yIDg0LjIgMTI4IDAgMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMODAgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NHpNNTYwIDExMmwtMTI4IDAgMC0zMmMwLTM1LjMgMjguNy02NCA2NC02NHM2NCAyOC43IDY0IDY0bDAgMzJ6TTIyNCAzODRsMCA4MCAxMjggMCAwLTgwYzAtMzUuMy0yOC43LTY0LTY0LTY0cy02NCAyOC43LTY0IDY0em02NC0xNTJhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgweiJdfSx3UnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctY2lyY2xlLWNoZWNrIixpY29uOls1NzYsNTEyLFtdLCJlNGQyIiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTgwIDBjLTEwLjUtMTQuNi0xOS0zMC43LTI1LjEtNDhsLTc0LjkgMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMiAwIDQgLjIgNS45IC41IDYtMjMuNiAxNi4zLTQ1LjQgMzAuMS02NC41bC00IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDRjMjcuNS0xOS44IDYwLjMtMzIuNCA5Ni0zNS40TDQxNiA2NGMwLTM1LjMtMjguNy02NC02NC02NEw5NiAwem0zMiAxMTJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjcyIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTEyOCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNNTc2IDQwMGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tODYuNi02MC45YzcuMSA1LjIgOC43IDE1LjIgMy41IDIyLjNsLTY0IDg4Yy0yLjggMy44LTcgNi4yLTExLjcgNi41cy05LjMtMS4zLTEyLjYtNC42bC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDI2LjggMjYuOCA1My03Mi45YzUuMi03LjEgMTUuMi04LjcgMjIuNC0zLjV6Il19LE1SdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxlbmRhci1wbHVzIixpY29uOls0NDgsNTEyLFtdLCJmMjcxIiwiTTEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMTI4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptOTYgMTkyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQ4LTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMCAwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00OCA0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwIDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LE1oZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3aGVlbGNoYWlyLW1vdmUiLGljb246WzQ0OCw1MTIsWyJ3aGVlbGNoYWlyLWFsdCJdLCJlMmNlIiwiTTMxMiA1NmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTIwNS40IDEyNC4xYy02LjQtNS4yLTE1LjYtNC43LTIxLjQgMS4xbC0zMy40IDMzLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDEzOC44IDgwYzI5LTI5IDc1LjItMzEuNCAxMDctNS41bDgxLjMgNjZjMjEuNCAxNy40IDIzLjggNDkuMiA1LjIgNjkuNWwtNDEuOCA0NiA5OCAwYzMwLjMgMCA1MyAyNy43IDQ3LjEgNTcuNEw0MDcuNCA0NTQuM2MtMy41IDE3LjMtMjAuMyAyOC42LTM3LjcgMjUuMXMtMjguNi0yMC4zLTI1LjEtMzcuN0wzNjkgMzIwIDMxNi44IDMyMGMyLjEgMTAuMyAzLjIgMjEgMy4yIDMyIDAgODguNC03MS42IDE2MC0xNjAgMTYwUzAgNDQwLjQgMCAzNTIgNzEuNiAxOTIgMTYwIDE5MmM2IDAgMTEuOSAuMyAxNy44IDFsNTAuNC01MC40LTIyLjctMTguNXpNMTYwIDQ0OGE5NiA5NiAwIDEgMCAwLTE5MiA5NiA5NiAwIDEgMCAwIDE5MnoiXX0sa1J0PU1oZSxTUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1zaGllbGQiLGljb246WzU3Niw1MTIsW10sImY1MDUiLCJNMjI0IDI0OGExMjAgMTIwIDAgMSAwIDAtMjQwIDEyMCAxMjAgMCAxIDAgMCAyNDB6bS0yOS43IDU2Qzk1LjggMzA0IDE2IDM4My44IDE2IDQ4Mi4zIDE2IDQ5OC43IDI5LjMgNTEyIDQ1LjcgNTEybDI1MS41IDBDMjYxIDQ2OS40IDI0MCA0MTQuNSAyNDAgMzU2LjRsMC0zMS4xYzAtNy4zIDEtMTQuNSAyLjktMjEuM2wtNDguNiAwem0yNTEgMTg0LjVsLTEzLjMgNi4zIDAtMTg4LjEgOTYgMzIgMCAxOS42YzAgNTUuOC0zMi4yIDEwNi41LTgyLjcgMTMwLjN6TTQyMS45IDI1OS41bC0xMTIgMzcuM2MtMTMuMSA0LjQtMjEuOSAxNi42LTIxLjkgMzAuNGwwIDMxLjFjMCA3NC40IDQzIDE0Mi4xIDExMC4yIDE3My43bDE4LjUgOC43YzQuOCAyLjIgMTAgMy40IDE1LjIgMy40czEwLjUtMS4yIDE1LjItMy40bDE4LjUtOC43QzUzMyA1MDAuMyA1NzYgNDMyLjYgNTc2IDM1OC4ybDAtMzEuMWMwLTEzLjgtOC44LTI2LTIxLjktMzAuNGwtMTEyLTM3LjNjLTYuNi0yLjItMTMuNy0yLjItMjAuMiAweiJdfSx6UnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9sZCIsaWNvbjpbMzg0LDUxMixbXSwiZjAzMiIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsMzIgMCAwIDMyMC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDIyNCAwYzcwLjcgMCAxMjgtNTcuMyAxMjgtMTI4IDAtNDYuNS0yNC44LTg3LjMtNjItMTA5LjcgMTguNy0yMi4zIDMwLTUxIDMwLTgyLjMgMC03MC43LTU3LjMtMTI4LTEyOC0xMjhMMzIgMzJ6TTI4OCAxNjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTk2IDAgMC0xMjggOTYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NHpNMTI4IDQxNmwwLTEyOCAxMjggMGMzNS4zIDAgNjQgMjguNyA2NCA2NHMtMjguNyA2NC02NCA2NGwtMTI4IDB6Il19LGtoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFydC1wdWxzZSIsaWNvbjpbNTEyLDUxMixbImhlYXJ0YmVhdCJdLCJmMjFlIiwiTTI1NiAxMDcuOUwyNDEgODcuMUMyMTYgNTIuNSAxNzUuOSAzMiAxMzMuMSAzMiA1OS42IDMyIDAgOTEuNiAwIDE2NS4xbDAgMi42YzAgMjMuNiA2LjIgNDggMTYuNiA3Mi4zbDEwNiAwYzMuMiAwIDYuMS0xLjkgNy40LTQuOWwzMS44LTc2LjNjMy43LTguOCAxMi4zLTE0LjYgMjEuOC0xNC44czE4LjMgNS40IDIyLjIgMTQuMWw1MS4zIDExMy45IDQxLjQtODIuOGM0LjEtOC4xIDEyLjQtMTMuMyAyMS41LTEzLjNzMTcuNCA1LjEgMjEuNSAxMy4zbDIzLjIgNDYuM2MxLjQgMi43IDQuMSA0LjQgNy4yIDQuNGwxMjMuNiAwYzEwLjUtMjQuMyAxNi42LTQ4LjcgMTYuNi03Mi4zbDAtMi42QzUxMiA5MS42IDQ1Mi40IDMyIDM3OC45IDMyIDMzNi4yIDMyIDI5NiA1Mi41IDI3MSA4Ny4xbC0xNSAyMC43ek00NjkuNiAyODhsLTk3LjggMGMtMjEuMiAwLTQwLjYtMTItNTAuMS0zMWwtMS43LTMuNC00Mi41IDg1LjFjLTQuMSA4LjMtMTIuNyAxMy41LTIyIDEzLjNzLTE3LjYtNS43LTIxLjQtMTQuMWwtNDkuMy0xMDkuNS0xMC41IDI1LjJjLTguNyAyMC45LTI5LjEgMzQuNS01MS43IDM0LjVsLTgwLjIgMGM0Ny4yIDczLjggMTIzIDE0MS43IDE3MC40IDE3Ny45IDEyLjQgOS40IDI3LjYgMTQuMSA0My4xIDE0LjFzMzAuOC00LjYgNDMuMS0xNC4xQzM0Ni42IDQyOS43IDQyMi40IDM2MS44IDQ2OS42IDI4OHoiXX0sQ1J0PWtoZSxTaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXJvb3QtdmFyaWFibGUiLGljb246WzU3Niw1MTIsWyJzcXVhcmUtcm9vdC1hbHQiXSwiZjY5OCIsIk0yODIuNiA3OC4xYzgtMjcuMyAzMy00Ni4xIDYxLjQtNDYuMWwyMDAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzNDQgOTYgMjM4LjcgNDU3Yy0zLjYgMTIuMy0xNC4xIDIxLjItMjYuOCAyMi44cy0yNS4xLTQuNi0zMS41LTE1LjZMNzcuNiAyODggMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDQ1LjYgMGMyMi44IDAgNDMuOCAxMi4xIDU1LjMgMzEuOGw2NS4yIDExMS44IDg0LjQtMjg5LjV6TTM5My40IDIzMy40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDQxLjQgNDEuNCA0MS40LTQxLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtNDEuNCA0MS40IDQxLjQgNDEuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGwtNDEuNC00MS40LTQxLjQgNDEuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsNDEuNC00MS40LTQxLjQtNDEuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjN6Il19LF9SdD1TaGUsemhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzLWJ1YmJsZXMiLGljb246WzUxMiw1MTIsWyJoYW5kcy13YXNoIl0sImUwNWUiLCJNMzg0IDY0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptOTYgMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMTI4IDQ2NGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAwek0wIDE2MGwuMSA3Mi42YzAgNDQuOCAxNy42IDg3LjEgNDcuOSAxMTguNCAuMy03NyA0MC4xLTE0OC40IDEwNS40LTE4OS4zbDEuOS0xLjJjLTIuNS0zLjctMi44LTguNi0uNC0xMi43bDYyLTEwNy40YzYuNi0xMS41IDIuNy0yNi4yLTguOC0zMi44UzE4MiA1IDE3NS40IDE2LjVsLTY4IDExNy44IDAgMCAwIDAtNDMuMyA3NSAwLTQ5LjNjMC0xNy43LTE0LjQtMzItMzItMzJTMCAxNDIuNCAwIDE2MHptMjEzLjYtMzUuOWMxNC4xLTguOCAyOS44LTEyLjcgNDUuMi0xMi4xbDM2LjUtNjMuM2M2LjYtMTEuNSAyLjctMjYuMi04LjgtMzIuOHMtMjYuMi0yLjctMzIuOCA4LjhsLTY3LjEgMTE2LjIgMjctMTYuOXptODYuNS0zNS43bC0xNi40IDI4LjRjMTUuMSA1LjUgMjguNiAxNS42IDM4LjMgMjkuN2wxOS43LTM0LjJjNi42LTExLjUgMi43LTI2LjItOC44LTMyLjhzLTI2LjItMi43LTMyLjggOC44em00Ni40IDYzLjdsLTEyLjUgMjEuN2MyIDguNiAyLjUgMTcuNSAxLjcgMjYuMWw0LjMgMCAwIDAgMzQuNCAwIDEzLjctMjMuOGM2LjYtMTEuNSAyLjctMjYuMi04LjgtMzIuOHMtMjYuMi0yLjctMzIuOCA4Ljh6TTI4My4xIDE3NWMtOS40LTE1LTI5LjEtMTkuNS00NC4xLTEwLjJsLTYwLjIgMzcuNkMxMjcuMyAyMzQuNyA5NiAyOTEuMiA5NiAzNTJsMCA4YzAgOC45IC44IDE3LjYgMi4yIDI2LjEgMzUuNCA4LjIgNjEuOCA0MCA2MS44IDc3LjkgMCA2LjMtLjcgMTIuNS0yLjEgMTguNCAyNS4yIDE4LjYgNTYuNCAyOS42IDkwLjEgMjkuNmwxNzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtOTIgMGMtNi42IDAtMTItNS40LTEyLTEyczUuNC0xMiAxMi0xMmwxMjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTI0IDBjLTYuNiAwLTEyLTUuNC0xMi0xMnM1LjQtMTIgMTItMTJsMTU2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE1NiAwYy02LjYgMC0xMi01LjQtMTItMTJzNS40LTEyIDEyLTEybDEyNCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMzYgMCAwIDAgMCAwLTkzLjIgMCA0Ni4yLTI4LjljMTUtOS40IDE5LjUtMjkuMSAxMC4yLTQ0LjF6Il19LFRSdD16aGUsTFJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcmtlciIsaWNvbjpbNTEyLDUxMixbXSwiZjVhMSIsIk00MDguOCAwYy0yNy40IDAtNTMuNiAxMC45LTczIDMwLjJMMzE4LjEgNDggMzA1IDM0LjljLTI4LjEtMjguMS03My43LTI4LjEtMTAxLjggMEwxMDMgMTM1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBMMjM3LjEgNjguOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMEwyODQuMSA4MS45IDE4NCAxODIuMSAzMjkuOSAzMjggNDgxLjggMTc2LjJjMTkuNC0xOS40IDMwLjItNDUuNiAzMC4yLTczIDAtNTctNDYuMi0xMDMuMi0xMDMuMi0xMDMuMnpNMTAyLjQgMjYzLjdjLTQ5LjkgNDkuOS04My4zIDExNC05NS41IDE4My41TC40IDQ4My44Qy0xIDQ5MS42IDEuNSA0OTkuNCA3IDUwNXMxMy40IDggMjEuMSA2LjdsMzYuNy02LjVjNjkuNS0xMi4zIDEzMy42LTQ1LjYgMTgzLjUtOTUuNUwyOTYgMzYxLjkgMTUwLjEgMjE2IDEwMi40IDI2My43eiJdfSwkUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xpcGJvYXJkIixpY29uOlszODQsNTEyLFsxMjgyMDNdLCJmMzI4IiwiTTMyMCAzMmwtOC42IDBDMzAwLjQgMTIuOSAyNzkuNyAwIDI1NiAwTDEyOCAwQzEwNC4zIDAgODMuNiAxMi45IDcyLjYgMzJMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM1MmMwLTM1LjMtMjguNy02NC02NC02NHpNMTM2IDExMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxMTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTEyIDB6Il19LERSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbGFjZS1vZi13b3JzaGlwIixpY29uOls1MTIsNTEyLFtdLCJmNjdmIiwiTTE2MCA3OWwwIDgxLTQ0LjggMzMuNkMxMDMuMSAyMDIuNyA5NiAyMTYuOSA5NiAyMzJsMCA0MC02MC42IDMwLjNDMTMuNyAzMTMuMiAwIDMzNS4zIDAgMzU5LjZMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjQgNzQuNyAwIDg1LjQgMCAzMjAgMGw2NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtODguNGMwLTI0LjItMTMuNy00Ni40LTM1LjQtNTcuMkw0MTYgMjcyIDQxNiAyMzJjMC0xNS4xLTcuMS0yOS4zLTE5LjItMzguNEwzNTIgMTYwIDM1MiA3OWMwLTkuNS00LjItMTguNS0xMS41LTI0LjZMMjcxLjQtMy4yYy04LjktNy40LTIxLjgtNy40LTMwLjcgMEwxNzEuNSA1NC40QzE2NC4yIDYwLjUgMTYwIDY5LjUgMTYwIDc5em05NiAyNDFjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA4MC0xMjggMCAwLTgwYzAtMzUuMyAyOC43LTY0IDY0LTY0eiJdfSxBUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FubmFiaXMiLGljb246WzUxMiw1MTIsW10sImY1NWYiLCJNMjU2IDBjNS4zIDAgMTAuMyAyLjcgMTMuMyA3LjEgMTUuOCAyMy41IDM2LjcgNjMuNyA0OS4yIDEwOSA3LjMgMjYuNCAxMS44IDU1LjMgMTAuMyA4NCAxMS42LTguOSAyMy43LTE2LjcgMzUuOS0yMy43IDQxLTIzLjMgODQuNC0zNi45IDExMi4yLTQyLjUgNS4yLTEgMTAuNyAuNiAxNC40IDQuNHM1LjQgOS4yIDQuNCAxNC41Yy01LjYgMjcuNy0xOS4zIDcwLjktNDIuNyAxMTEuNy05LjEgMTUuOS0xOS45IDMxLjctMzIuNSA0Ni4zIDI3LjkgNi42IDUyLjUgMTcuMiA2Ny4zIDI1LjQgNS4xIDIuOCA4LjIgOC4yIDguMiAxNHMtMy4yIDExLjItOC4yIDE0Yy0xNS4yIDguNC00MC45IDE5LjUtNjkuOCAyNi4xLTIwLjIgNC42LTQyLjkgNy4yLTY1LjIgNC42bDguMyAzMy4yYzEuNSA2LjEtLjYgMTIuNS01LjUgMTYuNHMtMTEuNiA0LjYtMTcuMiAxLjhMMjgwIDQxNy4yIDI4MCA0ODhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC03MC44LTU4LjUgMjkuMWMtNS42IDIuOC0xMi4zIDIuMS0xNy4yLTEuOHMtNy0xMC4zLTUuNS0xNi40bDguMy0zMy4yYy0yMi4yIDIuNi00NSAwLTY1LjItNC42LTI4LjktNi42LTU0LjUtMTcuNi02OS44LTI2LjEtNS4xLTIuOC04LjItOC4yLTguMi0xNHMzLjItMTEuMiA4LjItMTRsNi4yLTMuM2MxNS03LjYgMzYuOC0xNi40IDYxLjEtMjIuMi0xMi41LTE0LjUtMjMuMy0zMC40LTMyLjQtNDYuMi0yMy40LTQwLjgtMzcuMS04NC00Mi43LTExMS43LTEuMS01LjIgLjYtMTAuNyA0LjQtMTQuNXM5LjItNS40IDE0LjQtNC40YzI3LjkgNS41IDcxLjIgMTkuMiAxMTIuMiA0Mi41IDEyLjIgNi45IDI0LjMgMTQuOCAzNS44IDIzLjctMS40LTI4LjcgMy4xLTU3LjYgMTAuMy04NCAxMi41LTQ1LjMgMzMuNC04NS41IDQ5LjItMTA5bDEuMi0xLjZDMjQ2LjkgMiAyNTEuMyAwIDI1NiAweiJdfSxFUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVvcGxlLXJvb2YiLGljb246WzU3Niw1MTIsW10sImU1MzciLCJNMzAyLjMtMTIuNmMtOS00LjUtMTkuNi00LjUtMjguNiAwbC0yNTYgMTI4QzEuOSAxMjMuMy00LjUgMTQyLjUgMy40IDE1OC4zczI3LjEgMjIuMiA0Mi45IDE0LjNMMjg4IDUxLjggNTI5LjcgMTcyLjZjMTUuOCA3LjkgMzUgMS41IDQyLjktMTQuM3MxLjUtMzUtMTQuMy00Mi45bC0yNTYtMTI4ek0yODggMjcyYTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyem0wIDQ4Yy01MyAwLTk2IDQzLTk2IDk2bDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMmMwLTUzLTQzLTk2LTk2LTk2ek0xNjAgMjU2YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bTM1MiAwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6TTExMiAzMzZjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMzMuMWMwIDE3IDEzLjggMzAuOSAzMC45IDMwLjlsODcuOCAwYy00LjMtOS44LTYuNy0yMC42LTYuNy0zMmwwLTQ4YzAtMTguNCAzLjUtMzYgOS44LTUyLjItMTIuMi03LjUtMjYuNS0xMS44LTQxLjgtMTEuOHpNNDI1LjQgNDgwbDg3LjggMGMxNyAwIDMwLjktMTMuOCAzMC45LTMwLjlsMC0zMy4xYzAtNDQuMi0zNS44LTgwLTgwLTgwLTE1LjMgMC0yOS42IDQuMy00MS44IDExLjggNi4zIDE2LjIgOS44IDMzLjggOS44IDUyLjJsMCA0OGMwIDExLjQtMi40IDIyLjItNi43IDMyeiJdfSxQUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGlzZWFzZSIsaWNvbjpbNTEyLDUxMixbXSwiZjdmYSIsIk0yMzYuNSAyOS40TDIyNCA0OGMtMjAgMzAtNTMuNiA0OC04OS43IDQ4TDY4IDk2Yy0zNy41IDAtNjcuOSAzMC40LTY3LjkgNjcuOSAwIDE4IDcuMiAzNS4yIDE5LjkgNDcuOWwyNyAyN2MxMSAxMSAxNy4yIDI1LjkgMTcuMiA0MS41IDAgMTUuOC02LjQgMzAuOS0xNy43IDQyTDMzLjQgMzM1LjFjLTExLjEgMTAuOC0xNy4zIDI1LjctMTcuMyA0MS4yIDAgMzYuOCAzNC4xIDY0LjIgNzAuMSA1Ni4ybDYyLjMtMTMuOGM3LjctMS43IDE1LjctMi42IDIzLjYtMi42IDMyLjggMCA2NC4yIDE0LjYgODUuMiAzOS44bDMwLjUgMzYuNmMxMC40IDEyLjQgMjUuNyAxOS42IDQxLjkgMTkuNiAzMC4xIDAgNTQuNS0yNC40IDU0LjUtNTQuNWwwLTUxLjJjMC00MS40IDI1LjQtNzguNSA2NC05My41bDIyLjItOC42YzI1LjItOS44IDQxLjgtMzQuMSA0MS44LTYxLjEgMC0yNi40LTE1LjktNTAuMy00MC4zLTYwLjVMNDI5IDE2NC44Yy0zMy4yLTEzLjktNTcuNi00My02NS41LTc4LjFsLTcuOS0zNS4yYy02LjgtMzAuMS0zMy41LTUxLjUtNjQuMy01MS41LTIyIDAtNDIuNiAxMS01NC44IDI5LjR6TTE2MCAxOTJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em05NiAwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTMyIDk2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sQ2hlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stYmlibGUiLGljb246WzQ0OCw1MTIsWyJiaWJsZSJdLCJmNjQ3IiwiTTk2IDUxMmMtNTMgMC05Ni00My05Ni05NkwwIDk2QzAgNDMgNDMgMCA5NiAwTDQwMCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMjg4YzAgMjAuOS0xMy40IDM4LjctMzIgNDUuM2wwIDY2LjdjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMOTYgNTEyem0wLTEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyNTYgMCAwLTY0LTI1NiAwek0xOTIgODBsMCA0OC00OCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsNDggMCAwIDExMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMTIgNDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQ4IDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnoiXX0sSVJ0PUNoZSxOUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlc3MtYm9hcmQiLGljb246WzQ0OCw1MTIsW10sImY0M2MiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNjQgNjRsMCA2NCA2NCAwIDAtNjQgNjQgMCAwIDY0IDY0IDAgMC02NCA2NCAwIDAgNjQtNjQgMCAwIDY0IDY0IDAgMCA2NC02NCAwIDAgNjQgNjQgMCAwIDY0LTY0IDAgMC02NC02NCAwIDAgNjQtNjQgMCAwLTY0LTY0IDAgMCA2NC02NCAwIDAtNjQgNjQgMCAwLTY0LTY0IDAgMC02NCA2NCAwIDAtNjQtNjQgMCAwLTY0IDY0IDB6bTY0IDEyOGw2NCAwIDAtNjQtNjQgMCAwIDY0em0wIDY0bDAtNjQtNjQgMCAwIDY0IDY0IDB6bTY0IDBsLTY0IDAgMCA2NCA2NCAwIDAtNjR6bTAgMGw2NCAwIDAtNjQtNjQgMCAwIDY0eiJdfSxSUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFycyIsaWNvbjpbNTEyLDUxMixbOTc5NF0sImYyMjIiLCJNMzIwIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyTDQ4MCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNTAuNy05NSA5NWMxOS41IDI4LjQgMzEgNjIuNyAzMSA5OS44IDAgOTcuMi03OC44IDE3Ni0xNzYgMTc2UzMyIDQwMS4yIDMyIDMwNCAxMTAuOCAxMjggMjA4IDEyOGMzNyAwIDcxLjQgMTEuNCA5OS44IDMxbDk1LTk1LTUwLjcgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTIwOCA0MTZhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0eiJdfSxPUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFwdG9wIixpY29uOls2NDAsNTEyLFsxMjgxODddLCJmMTA5IiwiTTEyOCAzMkM5Mi43IDMyIDY0IDYwLjcgNjQgOTZsMCAyNDAgNjQgMCAwLTI0MCAzODQgMCAwIDI0MCA2NCAwIDAtMjQwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDEyOCAzMnpNMTkuMiAzODRDOC42IDM4NCAwIDM5Mi42IDAgNDAzLjIgMCA0NDUuNiAzNC40IDQ4MCA3Ni44IDQ4MGw0ODYuNCAwYzQyLjQgMCA3Ni44LTM0LjQgNzYuOC03Ni44IDAtMTAuNi04LjYtMTkuMi0xOS4yLTE5LjJMMTkuMiAzODR6Il19LF9oZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLXhtYXJrIixpY29uOls1NzYsNTEyLFsidXNlci10aW1lcyJdLCJmMjM1IiwiTTI1NC4xIDMwNGM5OC41IDAgMTc4LjMgNzkuOCAxNzguMyAxNzguMyAwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0w0Ni4xIDUxMmMtMTYuNCAwLTI5LjctMTMuMy0yOS43LTI5LjcgMC05OC41IDc5LjgtMTc4LjMgMTc4LjMtMTc4LjNsNTkuNCAwek01MzAuMyAxMDguMWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTMzLjkgMzMuOSAzMy45IDMzLjljOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtMzMuOS0zMy45LTMzLjkgMzMuOWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMy45LTMzLjktMzMuOS0zMy45Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzMuOSAzMy45IDMzLjktMzMuOXpNMjI0LjQgMjQ4YTEyMCAxMjAgMCAxIDEgMC0yNDAgMTIwIDEyMCAwIDEgMSAwIDI0MHoiXX0sRlJ0PV9oZSxCUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmxhZy11c2EiLGljb246WzQ0OCw1MTIsW10sImY3NGQiLCJNMzIgMEM0OS43IDAgNjQgMTQuMyA2NCAzMmwwIDE2IDY5LTE3LjJjMzguMS05LjUgNzguMy01LjEgMTEzLjUgMTIuNSA0Ni4zIDIzLjIgMTAwLjggMjMuMiAxNDcuMSAwbDkuNi00LjhDNDIzLjggMjguMSA0NDggNDMuMSA0NDggNjYuMWwwIDM2LjEtNDQuNyAxNi4yYy00Mi44IDE1LjYtOTAgMTMuOS0xMzEuNi00LjZsLTE2LjEtNy4yYy0yMC4zLTktNDEuOC0xNC43LTYzLjYtMTYuOWwwIDMyLjJjMTcuNCAyLjEgMzQuNCA2LjcgNTAuNiAxMy45bDE2LjEgNy4yYzQ5LjIgMjEuOSAxMDUgMjMuOCAxNTUuNiA1LjRsMzMuNy0xMi4zIDAgNjItNDQuNyAxNi4yYy00Mi44IDE1LjYtOTAgMTMuOS0xMzEuNi00LjZsLTE2LjEtNy4yYy00MC4yLTE3LjktODUtMjIuNS0xMjguMS0xMy4zbC02My41IDEzLjYgMCAzMi43IDcwLjItMTUuMWMzNi40LTcuOCA3NC4zLTMuOSAxMDguNCAxMS4zbDE2LjEgNy4yYzQ5LjIgMjEuOSAxMDUgMjMuOCAxNTUuNiA1LjRsMzMuNy0xMi4zIDAgNjEuOS00NC43IDE2LjJjLTQyLjggMTUuNi05MCAxMy45LTEzMS42LTQuNmwtMTYuMS03LjJjLTQwLjItMTcuOS04NS0yMi41LTEyOC4xLTEzLjNsLTYzLjUgMTMuNiAwIDMyLjcgNzAuMi0xNS4xYzM2LjQtNy44IDc0LjMtMy45IDEwOC40IDExLjNsMTYuMSA3LjJjNDkuMiAyMS45IDEwNSAyMy44IDE1NS42IDUuNGwzMy43LTEyLjMgMCAzMy41YzAgMTMuMy04LjMgMjUuMy0yMC44IDMwbC0zNC43IDEzYy00Ni4yIDE3LjMtOTcuNiAxNC42LTE0MS43LTcuNC0zNy45LTE5LTgxLjQtMjMuNy0xMjIuNS0xMy40TDY0IDQwMCA2NCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0OTcuNyAwIDQ4MEwwIDMyQzAgMTQuMyAxNC4zIDAgMzIgMHptODAgOTZhMTYgMTYgMCAxIDAgLTMyIDAgMTYgMTYgMCAxIDAgMzIgMHptMzIgMGExNiAxNiAwIDEgMCAwLTMyIDE2IDE2IDAgMSAwIDAgMzJ6bS0zMiA0OGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem0zMiAwYTE2IDE2IDAgMSAwIDAtMzIgMTYgMTYgMCAxIDAgMCAzMnoiXX0sSFJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtbWlkZGxlLWZpbmdlciIsaWNvbjpbNDQ4LDUxMixbMTI4NDA1XSwiZjgwNiIsIk0yMzIgMGMtMjIuMSAwLTQwIDE3LjktNDAgNDBsMCAxNjQuMmMtOC41LTcuNi0xOS43LTEyLjItMzItMTIuMi0yNi41IDAtNDggMjEuNS00OCA0OGwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtNTUuN2MtMiAxLjQtMy45IDMtNS44IDQuNUw1NSAyODQuOEM0MC40IDI5NyAzMiAzMTUgMzIgMzM0TDMyIDM3MmMwIDM4IDE2LjkgNzQgNDYuMSA5OC4zbDUuNCA0LjVjMjguOCAyNCA2NSAzNy4xIDEwMi40IDM3LjFMMzA0IDUxMmM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGwwLTk2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4LTEyLjQgMC0yMy42IDQuNy0zMi4xIDEyLjMtMS45LTI0LjgtMjIuNi00NC4zLTQ3LjktNDQuMy0xMi4zIDAtMjMuNSA0LjYtMzIgMTIuMkwyNzIgNDBjMC0yMi4xLTE3LjktNDAtNDAtNDB6Il19LHFSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb3J0YXItcGVzdGxlIixpY29uOls1MTIsNTEyLFtdLCJmNWE3IiwiTTUwNC4zIDExLjFDNDkzLjMtMS42IDQ3NC41LTMuNyA0NjEgNi4yTDI1Mi4zIDE2MCAzOTcuMyAxNjAgNTAyLjYgNTQuNmMxMS44LTExLjggMTIuNi0zMC44IDEuNi00My41ek0zMiAxOTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJjMCA4Mi41IDQzLjQgMTQ3LjcgMTIzLjkgMTc2LjItMTEuMSAxMy45LTE5LjQgMzAuMy0yMy45IDQ4LjEtNC40IDE3LjEgMTAuNCAzMS43IDI4LjEgMzEuN2wxOTIgMGMxNy43IDAgMzIuNC0xNC42IDI4LjEtMzEuNy00LjUtMTcuOC0xMi44LTM0LjEtMjMuOS00OC4xIDgwLjUtMjguNiAxMjMuOS05My43IDEyMy45LTE3Ni4yIDE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDE5MnoiXX0sVlJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYWQtc2lkZS1jb3VnaCIsaWNvbjpbNTEyLDUxMixbXSwiZTA2MSIsIk05NiA1MTJsNjQgMGM1MyAwIDk2LTQzIDk2LTk2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2bDEgMGMyNiAwIDQ3LTIxIDQ3LTQ3IDAtMTEtMy45LTIxLjYtMTAuOS0zMC4xTDI3My4zIDIwMEMyNzEuNCAxOTcuNiAyNzAuMSAxOTQuNyAyNjkuNyAxOTEuNyAyNTQgODMuMyAxNjAuNyAwIDQ4IDAgNDAuNCAwIDMyLjkgLjQgMjUuNCAxLjEgMTAuNSAyLjYgMCAxNS45IDAgMzAuOUwwIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwem0xNi0zMjBhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptNjMuMSAyMzcuMmwtNDEuNS0zLjVjLTEyLjItMS0yMS42LTExLjItMjEuNi0yMy40IDAtMTAuOCA3LjMtMjAuMiAxNy44LTIyLjhsNDAuNC0xMC4xYzE5LjItNC44IDM3LjggOS43IDM3LjggMjkuNSAwIDE3LjgtMTUuMiAzMS44LTMyLjkgMzAuM3pNNDgwIDMxMmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bS00MCAyNGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAwem0tNjQgNDhhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptMTI4IDBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNNDgwIDUwNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bS00MC03MmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxqUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUtbG9jayIsaWNvbjpbNjQwLDUxMixbXSwiZTU1OCIsIk0yMzIgMjRjMC0zMC45IDI1LjEtNTYgNTYtNTZzNTYgMjUuMSA1NiA1NmwwIDEyNy4zIDgyLjEgNzUuMkM0MDkuNyAyNDguMSA0MDAgMjc0LjkgNDAwIDMwNGwwIDI0LjRjLTcuMyA2LjYtMTMuNiAxNC4yLTE4LjcgMjIuN2wtMzcuMy0xMi40IDAgOTkuNyAyNCAxOS4yIDAgMzguM2MwIDEzLjUgMi44IDI2LjQgNy44IDM4LjFMMjg4IDUxMiAxNzkuOSA1MzljLTEwLjEgMi41LTE5LjktNS4xLTE5LjktMTUuNWwwLTE5LjhjMC00LjkgMi4yLTkuNSA2LTEyLjVsNjYtNTIuOCAwLTk5LjctMTYyLjkgNTQuM0M1OC43IDM5Ni40IDQ4IDM4OC43IDQ4IDM3Ny44bDAtNDMuN2MwLTkgMy44LTE3LjUgMTAuNC0yMy42TDIzMiAxNTEuMyAyMzIgMjR6TTU2MCAzMDQuMWMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ3LjkgNjQgMCAwLTQ3Ljl6TTQxNiA0MDBjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zbDAtNTAuNmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNTAuNmMxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjNsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZ6Il19LFRoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzIixpY29uOls2NDAsNTEyLFsiYmF0dGVyeS00Il0sImYyNDEiLCJNNTI4IDEyOGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyMjRjMCA4LjgtNy4yIDE2LTE2IDE2bC00MTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjI0YzAtOC44IDcuMi0xNiAxNi0xNmw0MTYgMHpNMTEyIDY0Yy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDIyNGMwIDQ0LjIgMzUuOCA4MCA4MCA4MGw0MTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsMC00OGMwLTQ0LjItMzUuOC04MC04MC04MEwxMTIgNjR6bTU2IDExMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMjI0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTIyNCAweiJdfSxVUnQ9VGhlLFdSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmcmFuYy1zaWduIixpY29uOlszMjAsNTEyLFtdLCJlMThmIiwiTTgwIDMyQzYyLjMgMzIgNDggNDYuMyA0OCA2NGwwIDI1Ni0yNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI0IDAgMCA4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtODAgODggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODggMCAwLTY0IDE0NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNDQgMCAwLTk2IDE3NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDMyeiJdfSxMaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsdGVyLWNpcmNsZS1kb2xsYXIiLGljb246WzU3Niw1MTIsWyJmdW5uZWwtZG9sbGFyIl0sImY2NjIiLCJNMzIgNjRDMTkuMSA2NCA3LjQgNzEuOCAyLjQgODMuOFMuMiAxMDkuNSA5LjQgMTE4LjZMMTkyIDMwMS4zIDE5MiA0MTZjMCA4LjUgMy40IDE2LjYgOS40IDIyLjZsNjQgNjRjMi41IDIuNSA1LjMgNC41IDguMyA2LTIxLjItMzAuOS0zMy42LTY4LjMtMzMuNi0xMDguNiAwLTk5LjQgNzUuNS0xODEuMSAxNzIuMy0xOTFsOTAuNC05MC40YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ5Mi45IDY0IDQ4MCA2NEwzMiA2NHpNNTc2IDQwMGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwek00MTYgMzIwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA4IDE2IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZsLTQ1LjggMGMtNS42IDAtMTAuMiA0LjYtMTAuMiAxMC4yIDAgNC45IDMuNSA5LjEgOC4zIDEwbDQ1IDguMmMyMCAzLjYgMzQuNiAyMS4xIDM0LjYgNDEuNSAwIDIzLjMtMTguOSA0Mi4yLTQyLjIgNDIuMmwtNS44IDAgMCA4YzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtOC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDUzLjggMGM1LjYgMCAxMC4yLTQuNiAxMC4yLTEwLjIgMC00LjktMy41LTkuMS04LjMtMTBsLTQ1LTguMmMtMjAtMy42LTM0LjYtMjEuMS0zNC42LTQxLjUgMC0yMi42IDE3LjctNDEgNDAtNDIuMWwwLTguMXoiXX0sR1J0PUxoZSxZUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlZXNlIixpY29uOls1MTIsNTEyLFtdLCJmN2VmIiwiTTUxMiAyNDAuMmwwIDE1LjgtNTEyIDBjMC0yMCAxMC0zOC43IDI2LjYtNDkuOEwyNzQuOSA0MC43YzguNi01LjcgMTguNi04LjcgMjguOS04LjcgMTE1IDAgMjA4LjIgOTMuMiAyMDguMiAyMDguMnptMCA2My44bDAgMTEyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xMTIgNTEyIDB6Il19LCRoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtaCIsaWNvbjpbNTEyLDUxMixbOTQwNSwiaG9zcGl0YWwtc3ltYm9sIl0sImY0N2UiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTk2LTM0NGwwIDE3NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTY0LTk2IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE3NmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNjQgOTYgMCAwLTY0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6Il19LEtSdD0kaGUsWlJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjaG9vbCIsaWNvbjpbNTc2LDUxMixbMTI3OTc5XSwiZjU0OSIsIk0wIDE5MmMwLTM1LjMgMjguNy02NCA2NC02NGw2NCAwIDEyNy45LTExNS4xYzE4LjMtMTYuNCA0Ni0xNi40IDY0LjIgMEw0NDggMTI4IDUxMiAxMjhjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDE5MnpNMjI0IDM3NmwwIDg4IDEyOCAwIDAtODhjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTQ4IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwem0tMTEyIDhjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHptMTYtMTQ0bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6TTQ5NiAzODRjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHptMTYtMTQ0bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6TTI4OCAyNTZhNjQgNjQgMCAxIDAgMC0xMjggNjQgNjQgMCAxIDAgMCAxMjh6Il19LFhSdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlLWZpdmUiLGljb246WzQ0OCw1MTIsWzk4NjBdLCJmNTIzIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTY0IDk2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNOTYgMzUyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTIyNCAyMjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NC02NGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0zMiAxNjBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxRUnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9ybmFkbyIsaWNvbjpbNDQ4LDUxMixbMTI3Nzg2XSwiZjc2ZiIsIk0wIDMyTDAgNDUuNkMwIDYyLjcgMS43IDc5LjYgNSA5NmwzNTIuOCAwYzMuMi02LjkgNy41LTEzLjMgMTMtMTguOGwzOC42LTM4LjZjNC4yLTQuMiA2LjYtMTAgNi42LTE2IDAtMTIuNS0xMC4xLTIyLjYtMjIuNi0yMi42TDMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyek0zNTUuNyAxNDRsLTMzNiAwYzEyLjQgMjkuNyAzMC4yIDU2LjggNTIuNyA4MGwzMzkuNiAwLTQ3LjItNjIuOWMtMy45LTUuMi03LTExLTkuMi0xNy4xek0yNDIuNiAzMzQuN2M4LjIgNC44IDE1LjggMTAuNyAyMi41IDE3LjNMNDQ1IDM1MmMyLTkuOCAzLTE5LjkgMy0zMC4xIDAtMTcuMS0yLjktMzQtOC42LTQ5LjlMMTM2IDI3MiAyNDIuNiAzMzQuN3pNMjk0LjMgNDAwYzUuMyAxNyA2LjUgMzUuMiAzLjYgNTNsLTUuOSAzNS43Yy0yIDEyLjIgNy40IDIzLjQgMTkuOCAyMy40IDUuMyAwIDEwLjQtMi4xIDE0LjItNS45bDc4LjItNzguMmM4LjUtOC41IDE1LjgtMTcuOCAyMS45LTI3LjlsLTEzMS44IDB6Il19LERoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJqZXQtZmlnaHRlciIsaWNvbjpbNTc2LDUxMixbImZpZ2h0ZXItamV0Il0sImYwZmIiLCJNNDk2LjIgMjA2LjhjLTEwLjctNC41LTIyLjItNi44LTMzLjgtNi44TDM2MiAyMDAgMjQ4IDQ4IDI5NiA0OGMxMy4zIDAgMjQtMTAuNyAyNC0yNFMzMDkuMyAwIDI5NiAwTDE1MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDggMCAwIDE1Mi01NC40IDAtNTIuOC02NmMtMy0zLjgtNy42LTYtMTIuNS02TDE2IDEyOGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODggNDAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDAgMCAwIDg4YzAgOC44IDcuMiAxNiAxNiAxNmwyNC4zIDBjNC45IDAgOS41LTIuMiAxMi41LTZsNTIuOC02NiA1NC40IDAgMCAxNTItOCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwIDExNC0xNTIgMTAwLjQgMGMxMS42IDAgMjMuMS0yLjMgMzMuOC02LjhsNjUtMjcuMWM4LjktMy43IDE0LjgtMTIuNSAxNC44LTIyLjJzLTUuOC0xOC40LTE0LjgtMjIuMmwtNjUtMjcuMXoiXX0sSlJ0PURoZSxlT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGh1bWJzLWRvd24iLGljb246WzUxMiw1MTIsWzEyODA3OCw2MTU3Nl0sImYxNjUiLCJNMzg0IDMyYzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgNi4zLTEuMyAxMi4yLTMuNCAxNy43IDIwLjQgNS41IDM1LjQgMjQuMSAzNS40IDQ2LjMgMCA5LjEtMi42IDE3LjYtNyAyNC45IDIyLjIgNC4yIDM5IDIzLjcgMzkgNDcuMSAwIDE5LjctMTEuOSAzNi42LTI4LjkgNDQgMTcgNy40IDI4LjkgMjQuMyAyOC45IDQ0IDAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNjAgMCAyOC4yIDcwLjRjMi41IDYuMyAzLjggMTMuMSAzLjggMTkuOWwwIDQuMmMwIDI3LjMtMjIuMSA0OS40LTQ5LjQgNDkuNC0xOC43IDAtMzUuOC0xMC42LTQ0LjItMjcuM0wxNzAuMSAzNTYuM2MtNi43LTEzLjMtMTAuMS0yOC0xMC4xLTQyLjlsMC0xODYuNmMwLTE5LjQgOC45LTM3LjggMjQtNTBsMTIuMi05LjdDMjI0LjYgNDQuNCAyNTkuOCAzMiAyOTYuMSAzMkwzODQgMzJ6TTgwIDk2YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC00OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwwIDEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw0OCAweiJdfSx0T3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJvb20iLGljb246WzU3Niw1MTIsWzEyOTUyOV0sImY1MWEiLCJNNTY2LjYgNTQuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTkyIDE5Mi0zNC43LTM0LjdjLTQuMi00LjItMTAtNi42LTE2LTYuNi0xMi41IDAtMjIuNiAxMC4xLTIyLjYgMjIuNmwwIDI5LjEgMTA4LjMgMTA4LjMgMjkuMSAwYzEyLjUgMCAyMi42LTEwLjEgMjIuNi0yMi42IDAtNi0yLjQtMTEuOC02LjYtMTZsLTM0LjctMzQuNyAxOTItMTkyek0zNDEuMSAzNTMuNEwyMjIuNiAyMzQuOWMtNDIuNy0zLjctODUuMiAxMS43LTExNS44IDQyLjNsLTggOGMtMjIuMyAyMi4zLTM0LjggNTIuNS0zNC44IDg0IDAgNi44IDcuMSAxMS4yIDEzLjIgOC4ybDUxLjEtMjUuNWM1LTIuNSA5LjUgNC4xIDUuNCA3LjlMNy4zIDQ3My40QzIuNyA0NzcuNiAwIDQ4My42IDAgNDg5LjkgMCA1MDIuMSA5LjkgNTEyIDIyLjEgNTEybDE3My4zIDBjMzguOCAwIDc1LjktMTUuNCAxMDMuNC00Mi44IDMwLjYtMzAuNiA0NS45LTczLjEgNDIuMy0xMTUuOHoiXX0sQWhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtaW1wb3J0IixpY29uOlszODQsNTEyLFsiYXJyb3ctcmlnaHQtdG8tZmlsZSJdLCJmNTZmIiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0bDAgMjQwIDE4Mi4xIDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNzIgNzJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzEtMzEtMTgyLjEgMCAwIDk2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjc3LjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjU4LjcgMTguN0MyNDYuNyA2LjcgMjMwLjUgMCAyMTMuNSAwTDY0IDB6TTMyNS41IDE3NkwyMzIgMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwyMDggNTguNSAzMjUuNSAxNzZ6Il19LGFPdD1BaGUsRWhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InV0ZW5zaWxzIixpY29uOls1MTIsNTEyLFsxMjc4NjAsNjE2ODUsImN1dGxlcnkiXSwiZjJlNyIsIk02My45IDE0LjRDNjMuMSA2LjIgNTYuMiAwIDQ4IDBzLTE1LjEgNi4yLTE2IDE0LjNMMTcuOSAxNDkuN2MtMS4zIDYtMS45IDEyLjEtMS45IDE4LjIgMCA0NS45IDM1LjEgODMuNiA4MCA4Ny43TDk2IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjI0LjRjNDQuOS00LjEgODAtNDEuOCA4MC04Ny43IDAtNi4xLS42LTEyLjItMS45LTE4LjJMMjIzLjkgMTQuM0MyMjMuMSA2LjIgMjE2LjIgMCAyMDggMHMtMTUuMSA2LjItMTUuOSAxNC40TDE3OC41IDE0OS45Yy0uNiA1LjctNS40IDEwLjEtMTEuMSAxMC4xLTUuOCAwLTEwLjYtNC40LTExLjItMTAuMkwxNDMuOSAxNC42QzE0My4yIDYuMyAxMzYuMyAwIDEyOCAwcy0xNS4yIDYuMy0xNS45IDE0LjZMOTkuOCAxNDkuOGMtLjUgNS44LTUuNCAxMC4yLTExLjIgMTAuMi01LjggMC0xMC42LTQuNC0xMS4xLTEwLjFMNjMuOSAxNC40ek00NDggMEM0MzIgMCAzMjAgMzIgMzIwIDE3NmwwIDExMmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMiAwIDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC00NDhjMC0xNy43LTE0LjMtMzItMzItMzJ6Il19LHJPdD1FaGUsc090PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImlkLWJhZGdlIixpY29uOlszODQsNTEyLFtdLCJmMmMxIiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6bTk2IDM1Mmw2NCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNkw5NiA0NDhjLTguOCAwLTE2LTcuMi0xNi0xNiAwLTQ0LjIgMzUuOC04MCA4MC04MHptLTI0LTk2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTUyIDY0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTgwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LGlPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcGlkZXIiLGljb246WzUxMiw1MTIsWzEyODM3NV0sImY3MTciLCJNMzY5LjMtMzFjMTEuOS0zLjUgMjQuNCAyLjcgMjkgMTMuOWwuOCAyLjMgNDAgMTM2YzIuNSA4LjQgLjEgMTcuNS02LjEgMjMuN2wtNjQuMSA2NC4xIDc2LjQtMjAuOCAxOS45LTU5LjggLjktMi4zYzUtMTEuMSAxNy43LTE2LjggMjkuNS0xMi45IDExLjggMy45IDE4LjUgMTYuMSAxNS44IDI4bC0uNyAyLjQtMjQgNzJjLTIuNSA3LjYtOC43IDEzLjQtMTYuNSAxNS42bC05MS4xIDI0LjggOTEuMSAyNC44YzcuNyAyLjEgMTMuOSA4IDE2LjUgMTUuNmwyNCA3MiAuNyAyLjRjMi43IDExLjktNC4xIDI0LjEtMTUuOCAyOC0xMS44IDMuOS0yNC41LTEuOC0yOS41LTEyLjlsLS45LTIuMy0xOS45LTU5LjgtNzYuNC0yMC44IDY0LjEgNjQuMWM2LjEgNi4xIDguNSAxNS4xIDYuMiAyMy40bC00MCAxNDQtLjggMi4zYy00LjQgMTEuMy0xNi44IDE3LjctMjguOCAxNC40LTEyLTMuMy0xOS4zLTE1LjItMTcuMi0yNy4ybC41LTIuNCAzNi4yLTEzMC41LTM3LjItMzcuMkMzNTEgNDA2IDMwOC40IDQ0OCAyNTYgNDQ4cy05NS00Mi05Ni05NC4xbC0zNyAzNyAzNiAxMjIuMyAuNiAyLjRjMi4yIDExLjktNC45IDIzLjktMTYuOCAyNy40LTExLjkgMy41LTI0LjQtMi43LTI5LTEzLjlsLS44LTIuMy00MC0xMzZjLTIuNS04LjQtLjEtMTcuNSA2LjEtMjMuOGw2NC4xLTY0LjEtNzYuNCAyMC44LTE5LjkgNTkuOC0uOSAyLjNjLTUgMTEuMS0xNy43IDE2LjgtMjkuNSAxMi45cy0xOC41LTE2LjEtMTUuOC0yOGwuNy0yLjQgMjQtNzJjMi41LTcuNiA4LjctMTMuNCAxNi41LTE1LjZsOTEuMS0yNC44LTkxLjEtMjQuOGMtNy43LTIuMS0xMy45LTgtMTYuNS0xNS42bC0yNC03Mi0uNy0yLjRjLTIuNy0xMS45IDQuMS0yNC4xIDE1LjgtMjhzMjQuNSAxLjggMjkuNSAxMi45bC45IDIuMyAxOS45IDU5LjggNzYuNCAyMC44LTY0LjEtNjQuMWMtNi4yLTYuMi04LjUtMTUuMy02LjEtMjMuN2w0MC0xMzYgLjgtMi4zYzQuNi0xMS4zIDE3LjEtMTcuNCAyOS0xMy45IDExLjkgMy41IDE5IDE1LjUgMTYuOCAyNy40bC0uNiAyLjQtMzYgMTIyLjMgNTMgNTNjMS00My4zIDM2LjQtNzguMSA3OS45LTc4LjFzNzguOSAzNC44IDc5LjkgNzguMmw1My4xLTUzLjEtMzYtMTIyLjMtLjYtMi40Yy0yLjItMTIgNC45LTIzLjkgMTYuOC0yNy40eiJdfSxvT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9iaWxlLXJldHJvIixpY29uOlszODQsNTEyLFtdLCJlNTI3IiwiTTE2IDY0QzE2IDI4LjcgNDQuNyAwIDgwIDBMMzA0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMODAgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwxNiA2NHptODAgOTZsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMjggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTggMTkyYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMjQgNzJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjQgMTAuNyAyNCAyNCAyNCAyNC0xMC43IDI0LTI0em02NC03MmEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTI0IDcyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0IDEwLjcgMjQgMjQgMjQgMjQtMTAuNyAyNC0yNHptNjQtNzJhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0yNCA3MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNCAxMC43IDI0IDI0IDI0IDI0LTEwLjcgMjQtMjR6TTE2OCA0MGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAweiJdfSxQaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2lnbnMtcG9zdCIsaWNvbjpbNTEyLDUxMixbIm1hcC1zaWducyJdLCJmMjc3IiwiTTI1Ni40IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzItMTYwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDAgMCA2NC0xNTMuNCAwYy00LjIgMC04LjMgMS43LTExLjMgNC43bC00OCA0OGMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZsNDggNDhjMyAzIDcuMSA0LjcgMTEuMyA0LjdsMTUzLjQgMCAwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiAxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xNjAgMCAwLTY0IDE1My40IDBjNC4yIDAgOC4zLTEuNyAxMS4zLTQuN2w0OC00OGM2LjItNi4yIDYuMi0xNi40IDAtMjIuNmwtNDgtNDhjLTMtMy03LjEtNC43LTExLjMtNC43bC0xNTMuNCAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6Il19LG5PdD1QaGUsbE90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imdyb3VwLWFycm93cy1yb3RhdGUiLGljb246WzUxMiw1MTIsW10sImU0ZjYiLCJNMzcuNiAxMjIuM2MtMTEuNSAxOC43LTIwLjYgMzktMjcgNjAuNS01IDE2LjkgNC42IDM0LjggMjEuNSAzOS44czM0LjgtNC42IDM5LjgtMjEuNWMxOC40LTYxLjkgNjcuMy0xMTAuOCAxMjkuMi0xMjkuMiAxNi45LTUgMjYuNi0yMi45IDIxLjUtMzkuOFMxOTkuOCA1LjYgMTgyLjkgMTAuNkMxNjEuNCAxNyAxNDEuMSAyNi4xIDEyMi4zIDM3LjYgMTEyLjMgMTUuNCA4OS45IDAgNjQgMCAyOC43IDAgMCAyOC43IDAgNjQgMCA4OS45IDE1LjQgMTEyLjMgMzcuNiAxMjIuM3ptNDM2LjcgMGMyMi4yLTEwIDM3LjYtMzIuNCAzNy42LTU4LjMgMC0zNS4zLTI4LjctNjQtNjQtNjQtMjUuOSAwLTQ4LjMgMTUuNC01OC4zIDM3LjYtMTguNy0xMS41LTM5LTIwLjYtNjAuNS0yNy0xNi45LTUtMzQuOCA0LjYtMzkuOCAyMS41czQuNiAzNC44IDIxLjUgMzkuOGM2MS45IDE4LjQgMTEwLjggNjcuMyAxMjkuMiAxMjkuMiA1IDE2LjkgMjIuOSAyNi42IDM5LjggMjEuNXMyNi42LTIyLjkgMjEuNS0zOS44Yy02LjQtMjEuNS0xNS41LTQxLjgtMjctNjAuNXpNNTEyIDQ0OGMwLTI1LjktMTUuNC00OC4zLTM3LjYtNTguMyAxMS41LTE4LjcgMjAuNi0zOSAyNy02MC41IDUtMTYuOS00LjYtMzQuOC0yMS41LTM5LjhzLTM0LjggNC42LTM5LjggMjEuNWMtMTguNCA2MS45LTY3LjMgMTEwLjgtMTI5LjIgMTI5LjItMTYuOSA1LTI2LjYgMjIuOS0yMS41IDM5LjhzMjIuOSAyNi42IDM5LjggMjEuNWMyMS41LTYuNCA0MS44LTE1LjUgNjAuNS0yNyAxMCAyMi4yIDMyLjQgMzcuNiA1OC4zIDM3LjYgMzUuMyAwIDY0LTI4LjcgNjQtNjR6TTM3LjYgMzg5LjdjLTIyLjIgMTAtMzcuNiAzMi40LTM3LjYgNTguMyAwIDM1LjMgMjguNyA2NCA2NCA2NCAyNS45IDAgNDguMy0xNS40IDU4LjMtMzcuNiAxOC43IDExLjUgMzkgMjAuNiA2MC41IDI3IDE2LjkgNSAzNC44LTQuNiAzOS44LTIxLjVzLTQuNi0zNC44LTIxLjUtMzkuOGMtNjEuOS0xOC40LTExMC44LTY3LjMtMTI5LjItMTI5LjItNS0xNi45LTIyLjktMjYuNi0zOS44LTIxLjVTNS42IDMxMi4yIDEwLjYgMzI5LjFjNi40IDIxLjUgMTUuNSA0MS44IDI3IDYwLjV6TTI1NiAxOTJjMTUuNiAwIDMwIDUuNiA0MS4xIDE0LjlsLTE1LjMgMTUuM2MtNi42IDYuNi0xLjkgMTcuOCA3LjQgMTcuOGw2MC41IDBjNS43IDAgMTAuNC00LjcgMTAuNC0xMC40bDAtNjAuNWMwLTkuMy0xMS4yLTEzLjktMTcuOC03LjRsLTExLjIgMTEuMmMtMTkuOC0xNy45LTQ2LjItMjguOS03NS4xLTI4LjktNDMuNiAwLTgxLjMgMjQuOS05OS44IDYxLjEtNiAxMS44LTEuNCAyNi4zIDEwLjQgMzIuM3MyNi4zIDEuNCAzMi4zLTEwLjRjMTAuNi0yMC44IDMyLjItMzQuOSA1Ny0zNC45em01OC42IDkzLjFjLTEwLjYgMjAuOC0zMi4yIDM0LjktNTcgMzQuOS0xNS43IDAtMzAtNS42LTQxLjEtMTQuOWwxNS4zLTE1LjNjNi42LTYuNiAxLjktMTcuOC03LjQtMTcuOEwxNjQgMjcyYy01LjcgMC0xMC40IDQuNy0xMC40IDEwLjRsMCA2MC41YzAgOS4zIDExLjIgMTMuOSAxNy44IDcuNGwxMS4yLTExLjJjMTkuOCAxNy45IDQ2LjIgMjguOSA3NS4xIDI4LjkgNDMuNiAwIDgxLjMtMjQuOSA5OS44LTYxLjEgNi0xMS44IDEuNC0yNi4zLTEwLjQtMzIuM3MtMjYuMy0xLjQtMzIuMyAxMC40eiJdfSxjT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLXNwbGl0LXVwLWFuZC1sZWZ0IixpY29uOls1MTIsNTEyLFtdLCJlNGJjIiwiTTM0Mi42LTIyLjZjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw0MS40LTQxLjQgMCAxOTUuOWMtMTguOC0xMC45LTQwLjctMTcuMS02NC0xNy4xbC0xMTQuNyAwIDQxLjQtNDEuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMTA5LjMgMzIwIDIyNCAzMjBjMzUuMyAwIDY0IDI4LjcgNjQgNjQgMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0zMDYuNyA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6Il19LGRPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxsLWRyaXAiLGljb246WzU3Niw1MTIsW10sImY1NzYiLCJNMzA5LjcgNzEuNmwtNjQuNCA2NC40IDMzLjQgMzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMGwtMzMuNC0zMy40LTk2LjQgOTYuNGMtMi45IDIuOS01LjEgNi41LTYuMyAxMC4zbDMyMS41IDAgNTMuNy01My43YzQuOS00LjkgNy42LTExLjUgNy42LTE4LjNzLTIuNy0xMy41LTcuNi0xOC4zTDM0Ni4zIDcxLjZDMzQxLjUgNjYuNyAzMzQuOSA2NCAzMjggNjRzLTEzLjUgMi43LTE4LjMgNy42ek01OC4zIDIzMi40bDk2LjQtOTYuNC00OS40LTQ5LjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMMjAwIDkwLjcgMjY0LjQgMjYuM0MyODEuMyA5LjUgMzA0LjEgMCAzMjggMHM0Ni43IDkuNSA2My42IDI2LjNMNTE3LjcgMTUyLjRDNTM0LjUgMTY5LjMgNTQ0IDE5Mi4xIDU0NCAyMTZzLTkuNSA0Ni43LTI2LjMgNjMuNkwzMTEuNiA0ODUuN0MyOTQuNyA1MDIuNSAyNzEuOSA1MTIgMjQ4IDUxMnMtNDYuNy05LjUtNjMuNi0yNi4zTDU4LjMgMzU5LjZDNDEuNSAzNDIuNyAzMiAzMTkuOSAzMiAyOTZzOS41LTQ2LjcgMjYuMy02My42ek01MTIgNTQ0Yy0zNS4zIDAtNjQtMjguNy02NC02NCAwLTI1LjIgMzIuNi03OS42IDUxLjItMTA4LjcgNi05LjQgMTkuNS05LjQgMjUuNSAwIDE4LjcgMjkuMSA1MS4yIDgzLjUgNTEuMiAxMDguNyAwIDM1LjMtMjguNyA2NC02NCA2NHoiXX0sdU90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoaWVsZC1oZWFydCIsaWNvbjpbNTEyLDUxMixbXSwiZTU3NCIsIk0yNjkuNCAyLjlDMjY1LjIgMSAyNjAuNyAwIDI1NiAwcy05LjIgMS0xMy40IDIuOUw1NC4zIDgyLjhjLTIyIDkuMy0zOC40IDMxLTM4LjMgNTcuMiAuNSA5OS4yIDQxLjMgMjgwLjcgMjEzLjYgMzYzLjIgMTYuNyA4IDM2LjEgOCA1Mi44IDAgMTcyLjQtODIuNSAyMTMuMi0yNjQgMjEzLjYtMzYzLjIgLjEtMjYuMi0xNi4zLTQ3LjktMzguMy01Ny4yTDI2OS40IDIuOXpNMjQ5LjYgMTgzLjVsNi40IDguNSA2LjQtOC41YzExLjEtMTQuOCAyOC41LTIzLjUgNDYuOS0yMy41IDMyLjQgMCA1OC43IDI2LjMgNTguNyA1OC43bDAgNS4zYzAgNDkuMS02NS44IDk4LjEtOTYuNSAxMTguMy05LjUgNi4yLTIxLjUgNi4yLTMwLjkgMC0zMC43LTIwLjItOTYuNS02OS4zLTk2LjUtMTE4LjNsMC01LjNjMC0zMi40IDI2LjMtNTguNyA1OC43LTU4LjcgMTguNSAwIDM1LjkgOC43IDQ2LjkgMjMuNXoiXX0sSWhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1za2lpbmctbm9yZGljIixpY29uOls1NzYsNTEyLFsic2tpaW5nLW5vcmRpYyJdLCJmN2NhIiwiTTQyNC44IDE2YTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyem05OS44IDE5My43YzcuNiAxNS4yIDEuOSAzMy42LTEyLjYgNDJsMCAxODAuMy0zMiAwIDAtMTY0LjItMTAuMSA1Yy0yNy40IDEzLjctNjAuNyA2LjEtNzkuNC0xOC4ybC0xOS42LTI1LjUtMzkuNSA2OC44IDI0LjggMTIuNGMyOS41IDE0LjcgNDIuOSA0OS41IDMxLjEgODAuMmwtMjguMiA3My40IDE0OS40IDBjNy45IDAgMTUuNi0yLjMgMjIuMi02LjdsNy45LTUuM2MxMS03LjQgMjUuOS00LjQgMzMuMyA2LjdzNC40IDI1LjktNi43IDMzLjNsLTcuOSA1LjNDNTQzIDUwNi45IDUyNiA1MTIgNTA4LjYgNTEybC0xODkuMSAwYy0uNSAwLTEgMC0xLjUgMEwyNCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsODggMGMwLTguMiAzLjEtMTYuNCA5LjQtMjIuNmw3NC4xLTc0LjEgMTAuMi0zNS45YzExLjMgMTguMyAyNy43IDMzLjggNDguNCA0NC4ybDQuOCAyLjQtMS45IDYuOGMtMyAxMC41LTguNiAyMC0xNi4zIDI3LjdsLTUxLjUgNTEuNSAxMDEuMyAwIDM3LjEtOTYuNC01NS42LTI3LjhDMjMwLjQgMzE5IDIxNS4zIDI2NyAyMzkuMyAyMjcuMWwzNy43LTYyLjctMjcuNy03LjdjLTktMi41LTE4LjEgMy4yLTIwIDEyLjNsLTUuOSAyOS4zYy0zLjEgMTUuNi0xNy4xIDI2LjMtMzIuNSAyNS43bC0xMzAgMjA4LTM3LjcgMCAxNDAuNi0yMjVjLTMuNC02LjMtNC42LTEzLjgtMy4xLTIxLjNsNS45LTI5LjNjOS4xLTQ1LjYgNTUuMS03My44IDk5LjktNjEuNGwzMi41IDljNDYuNyAxMyA4OCA0MC44IDExNy42IDc5LjNsMjQuOSAzMi4zIDQwLjQtMjAuMmMxNS44LTcuOSAzNS0xLjUgNDIuOSAxNC4zeiJdfSxwT3Q9SWhlLE5oZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtY2hlY2siLGljb246WzQ0OCw1MTIsWzk3NDUsOTk4OSw2MTUxMCwiY2hlY2stc3F1YXJlIl0sImYxNGEiLCJNMzg0IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMHpNMzQyIDE0NS43Yy0xMC43LTcuOC0yNS43LTUuNC0zMy41IDUuM0wxODkuMSAzMTUuMiAxMzcgMjYzLjFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNzIgNzJjNSA1IDExLjkgNy41IDE4LjggN3MxMy40LTQuMSAxNy41LTkuOEwzNDcuMyAxNzkuMmM3LjgtMTAuNyA1LjQtMjUuNy01LjMtMzMuNXoiXX0sZk90PU5oZSxSaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmF0aCIsaWNvbjpbNTEyLDUxMixbMTI4NzA1LCJiYXRodHViIl0sImYyY2QiLCJNOTYgNzcuM2MwLTcuMyA1LjktMTMuMyAxMy4zLTEzLjMgMy41IDAgNi45IDEuNCA5LjQgMy45bDE0LjkgMTQuOWMtMy42IDkuMS01LjUgMTguOS01LjUgMjkuMiAwIDE5LjkgNy4yIDM4IDE5LjIgNTItNS4zIDkuMi00IDIxLjEgMy44IDI5IDkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwTDI4OSA4OWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOS03LjgtNy45LTE5LjgtOS4xLTI5LTMuOC0xNC0xMi0zMi4xLTE5LjItNTItMTkuMi0xMC4zIDAtMjAuMiAyLTI5LjIgNS41TDE2My45IDIyLjZDMTQ5LjQgOC4xIDEyOS43IDAgMTA5LjMgMCA2Ni42IDAgMzIgMzQuNiAzMiA3Ny4zTDMyIDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwwIDQ4YzAgMjguNCAxMi40IDU0IDMyIDcxLjZMNjQgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNiAyNTYgMCAwIDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC00MC40YzE5LjYtMTcuNiAzMi00My4xIDMyLTcxLjZsMC00OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw5NiAyNTYgOTYgNzcuM3oiXX0saE90PVJoZSxtT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlc3MtYmlzaG9wIixpY29uOlszMjAsNTEyLFs5ODIxXSwiZjQzYSIsIk02NCAzODRMNDguMyAzNjguM0MxNy40IDMzNy40IDAgMjk1LjQgMCAyNTEuNyAwIDIxMy4xIDEzLjUgMTc1LjggMzguMiAxNDYuMUwxMDYuNyA2NCA5NiA2NEM3OC4zIDY0IDY0IDQ5LjcgNjQgMzJTNzguMyAwIDk2IDBMMjI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEwLjcgMCA0Ny42IDU3LjEtODUuOSA4NS45Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsODIuMy04Mi4zYzE4LjcgMjcuMyAyOC43IDU5LjcgMjguNyA5MyAwIDQzLjctMTcuNCA4NS43LTQ4LjMgMTE2LjZMMjU2IDM4NCAzMTIuMiA0NTQuM2M1IDYuMyA3LjggMTQuMSA3LjggMjIuMiAwIDE5LjYtMTUuOSAzNS41LTM1LjUgMzUuNUwzNS41IDUxMmMtMTkuNiAwLTM1LjUtMTUuOS0zNS41LTM1LjUgMC04LjEgMi43LTE1LjkgNy44LTIyLjJMNjQgMzg0eiJdfSxPaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicHJlc2NyaXB0aW9uLWJvdHRsZS1tZWRpY2FsIixpY29uOlszODQsNTEyLFsicHJlc2NyaXB0aW9uLWJvdHRsZS1hbHQiXSwiZjQ4NiIsIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMEwzNTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjRMMCAzMnpNMzIgMTQ0bDMyMCAwIDAgMzA0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0zMDR6TTE2MCAyNDhsMCA0MC00MCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsNDAgMCAwIDQwYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTQwIDQwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC00MCAwIDAtNDBjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6Il19LGdPdD1PaGUsRmhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRyYXctcG9seWdvbiIsaWNvbjpbNTEyLDUxMixbNTgwNTUsInZlY3Rvci1wb2x5Z29uIl0sImY1ZWUiLCJNNjQgMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJsMjczLjEgMGMxMS4xLTE5LjEgMzEuNy0zMiA1NS40LTMyIDM1LjMgMCA2NCAyOC43IDY0IDY0IDAgMzQtMjYuNSA2MS44LTYwIDYzLjlsLTIuMSAyLjktNzEuNSA5OS4xYzMuNiA4IDUuNiAxNi45IDUuNiAyNi4ycy0yIDE4LjItNS42IDI2LjJsMi4yIDMuMSA2OS4zIDk2IDIuMSAyLjljMzMuNSAyLjEgNjAgMjkuOSA2MCA2My45IDAgMzUuMy0yOC43IDY0LTY0IDY0LTIzLjcgMC00NC40LTEyLjktNTUuNC0zMmwtMjczLjEgMGMtMTEuMSAxOS4xLTMxLjcgMzItNTUuNCAzMi0zNS4zIDAtNjQtMjguNy02NC02NCAwLTIzLjcgMTIuOS00NC40IDMyLTU1LjRsMC0yNzMuMUMxMi45IDEwOC40IDAgODcuNyAwIDY0IDAgMjguNyAyOC43IDAgNjQgMHpNMzk0LjIgNDEzLjRsLTY1LjUtOTAuNi0yLjItMy4xYy0yLjEgLjItNC4zIC4zLTYuNSAuMy0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0YzIuMiAwIDQuNCAuMSA2LjUgLjNsNjcuNy05My43Yy0uNi0uOS0xLjEtMS43LTEuNi0yLjZMMTE5LjQgOTZjLTUuNiA5LjctMTMuNyAxNy44LTIzLjQgMjMuNGwwIDI3My4xYzkuNyA1LjYgMTcuOCAxMy43IDIzLjQgMjMuNGwyNzMuMSAwYy41LS45IDEuMS0xLjggMS42LTIuNnoiXX0sYk90PUZoZSx2T3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaS1jdXJzb3IiLGljb246WzI1Niw1MTIsW10sImYyNDYiLCJNLjEgMjkuM0MtMS40IDQ3IDExLjcgNjIuNCAyOS4zIDYzLjlsOCAuN0M3MC41IDY3LjMgOTYgOTUgOTYgMTI4LjNsMCA5NS43LTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDk1LjdjMCAzMy4zLTI1LjUgNjEtNTguNyA2My44bC04IC43QzExLjcgNDQ5LjYtMS40IDQ2NSAuMSA0ODIuN1MxNyA1MTMuNCAzNC43IDUxMS45bDgtLjdjMzQuMS0yLjggNjQuMi0xOC45IDg1LjQtNDIuOSAyMS4yIDI0IDUxLjIgNDAgODUuNCA0Mi45bDggLjdjMTcuNiAxLjUgMzMuMS0xMS42IDM0LjUtMjkuMnMtMTEuNi0zMy4xLTI5LjItMzQuNWwtOC0uN0MxODUuNSA0NDQuNyAxNjAgNDE3IDE2MCAzODMuN2wwLTk1LjcgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTk1LjdjMC0zMy4zIDI1LjUtNjEgNTguNy02My44bDgtLjdjMTcuNi0xLjUgMzAuNy0xNi45IDI5LjItMzQuNVMyMzktMS40IDIyMS4zIC4xbC04IC43Yy0zNC4xIDIuOC02NC4yIDE4LjktODUuNCA0Mi45LTIxLjItMjQtNTEuMi00MC04NS40LTQyLjlsLTgtLjdDMTctMS40IDEuNiAxMS43IC4xIDI5LjN6Il19LHhPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFydC1jaXJjbGUtcGx1cyIsaWNvbjpbNTc2LDUxMixbXSwiZTUwMCIsIk0yNDEgODcuMWwxNSAyMC43IDE1LTIwLjdDMjk2IDUyLjUgMzM2LjIgMzIgMzc4LjkgMzIgNDUyLjQgMzIgNTEyIDkxLjYgNTEyIDE2NS4xbDAgMi42YzAgMTcuNi0zLjQgMzUuNi05LjUgNTMuNy0yMS44LTguNi00NS42LTEzLjQtNzAuNS0xMy40LTEwNiAwLTE5MiA4Ni0xOTIgMTkyIDAgMjguNSA2LjIgNTUuNiAxNy40IDgwLS41IDAtLjkgMC0xLjQgMC0xNS41IDAtMzAuOC00LjYtNDMuMS0xNC4xLTczLTU1LjctMjEyLjktMTg2LTIxMi45LTI5OC4ybDAtMi42QzAgOTEuNiA1OS42IDMyIDEzMy4xIDMyIDE3NS44IDMyIDIxNiA1Mi41IDI0MSA4Ny4xek00MzIgMjU2YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMTYgODBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA0OC00OCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDQ4IDAgMCA0OGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNDggNDggMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtNDggMCAwLTQ4eiJdfSx5T3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hpZWxkLWRvZyIsaWNvbjpbNTEyLDUxMixbXSwiZTU3MyIsIk0yNjkuNCAyLjlDMjY1LjIgMSAyNjAuNyAwIDI1NiAwcy05LjIgMS0xMy40IDIuOUw1NC4zIDgyLjhjLTIyIDkuMy0zOC40IDMxLTM4LjMgNTcuMiAuNSA5OS4yIDQxLjMgMjgwLjcgMjEzLjYgMzYzLjIgMTYuNyA4IDM2LjEgOCA1Mi44IDAgMTcyLjQtODIuNSAyMTMuMi0yNjQgMjEzLjYtMzYzLjIgLjEtMjYuMi0xNi4zLTQ3LjktMzguMy01Ny4yTDI2OS40IDIuOXpNMTYwLjkgMjg2LjJjNC44IDEuMiA5LjkgMS44IDE1LjEgMS44IDM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNjQgNDQuMiAwYzEyLjEgMCAyMy4yIDYuOCAyOC42IDE3LjdsNy4yIDE0LjMgNjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDQ0LjItMzUuOCA4MC04MCA4MGwtNDggMCAwIDUwLjdjMCA3LjMtNS45IDEzLjMtMTMuMyAxMy4zLTEuOCAwLTMuNi0uNC01LjItMS4xbC05OC43LTQyLjNjLTYuNi0yLjgtMTAuOC05LjMtMTAuOC0xNi40IDAtMi44IC42LTUuNSAxLjktOGwxNS0zMHpNMTYwIDE2MGw0OCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC00OGMwLTguOCA3LjItMTYgMTYtMTZ6bTEyOCA0OGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAweiJdfSx3T3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3JlYXRlci10aGFuLWVxdWFsIixpY29uOls0NDgsNTEyLFtdLCJmNTMyIiwiTTIxLjkgOTQuNEM1LjEgODguOC0zLjkgNzAuNiAxLjcgNTMuOVMyNS40IDI4LjEgNDIuMSAzMy42bDM4NCAxMjhDNDM5LjIgMTY2IDQ0OCAxNzguMiA0NDggMTkycy04LjggMjYtMjEuOSAzMC40bC0zODQgMTI4Yy0xNi44IDUuNi0zNC45LTMuNS00MC41LTIwLjJzMy41LTM0LjkgMjAuMi00MC41TDMxNC44IDE5MiAyMS45IDk0LjR6TTQxNiA0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDM4NCAweiJdfSxNT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZW52ZWxvcGUtb3BlbiIsaWNvbjpbNTEyLDUxMixbNjIxMzVdLCJmMmI2IiwiTTY0LjQgMTc1LjhMMjU2IDMzLjkgNDQ3LjYgMTc1LjggMjg5LjUgMjkzYy05LjcgNy4yLTIxLjQgMTEtMzMuNSAxMXMtMjMuOC0zLjktMzMuNS0xMUw2NC40IDE3NS44ek0yNTYtMzJjLTEyLjEgMC0yMy44IDMuOS0zMy41IDExTDI1LjkgMTI0LjdDOS42IDEzNi44IDAgMTU1LjggMCAxNzYuMUwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIzOS45YzAtMjAuMy05LjYtMzkuNC0yNS45LTUxLjRMMjg5LjUtMjFjLTkuNy03LjItMjEuNC0xMS0zMy41LTExeiJdfSxrT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW91bmQiLGljb246WzUxMiw1MTIsW10sImU1MmQiLCJNMTEyLjQgMTc5LjJDMTQyIDEyNy43IDE5Ni44IDk2IDI1Ni4yIDk2czExNC4yIDMxLjcgMTQzLjkgODMuMkw1MDguNyAzNjhjMTIuMyAyMS4zLTMuMSA0OC0yNy43IDQ4TDMxLjUgNDE2Yy0yNC42IDAtNDAtMjYuNi0yNy43LTQ4TDExMi40IDE3OS4yeiJdfSxTT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidm9pY2VtYWlsIixpY29uOls2NDAsNTEyLFtdLCJmODk3IiwiTTE0NCAxNjBhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6TTI2My44IDMyMGMxNS4zLTIyLjkgMjQuMi01MC40IDI0LjItODAgMC03OS41LTY0LjUtMTQ0LTE0NC0xNDRTMCAxNjAuNSAwIDI0MCA2NC41IDM4NCAxNDQgMzg0bDM1MiAwYzc5LjUgMCAxNDQtNjQuNSAxNDQtMTQ0UzU3NS41IDk2IDQ5NiA5NiAzNTIgMTYwLjUgMzUyIDI0MGMwIDI5LjYgOC45IDU3LjEgMjQuMiA4MGwtMTEyLjUgMHpNNDk2IDE2MGE4MCA4MCAwIDEgMSAwIDE2MCA4MCA4MCAwIDEgMSAwLTE2MHoiXX0sek90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZlc3QiLGljb246WzQ0OCw1MTIsW10sImUwODUiLCJNMjAwIDQ2NGwwLTE3MC4xYzAtMy45LS41LTcuOC0xLjQtMTEuNkwxNDQuNCA2NS40QzE2Mi4xIDc3LjIgMTg4LjIgODggMjI0IDg4czYxLjktMTAuOCA3OS42LTIyLjZMMjQ5LjQgMjgyLjNjLTEgMy44LTEuNCA3LjctMS40IDExLjZMMjQ4IDQ2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMDQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE5My41YzAtOS41LTIuOC0xOC43LTguMS0yNi42bC00Ny45LTcxLjhjLTUuMy03LjktOC4xLTE3LjEtOC4xLTI2LjZMMzg0IDQ4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zLjUgMGMtLjMgMC0uNiAwLTEgMC0uNiAwLTEuMiAwLTEuOCAwLTE4LjggMC0zNC4xIDkuNy00NC4xIDE4LjgtOS4zIDguNC0yOC41IDIxLjItNjEuNyAyMS4ycy01Mi40LTEyLjgtNjEuNy0yMS4yYy0xMC05LjEtMjUuMy0xOC44LTQ0LjEtMTguOC0uNiAwLTEuMiAwLTEuOCAwLS4zIDAtLjYgMC0xIDBMMTEyIDBDODUuNSAwIDY0IDIxLjUgNjQgNDhsMCA5Ny41YzAgOS41LTIuOCAxOC43LTguMSAyNi42TDguMSAyNDMuOUMyLjggMjUxLjggMCAyNjEuMSAwIDI3MC41TDAgNDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDEwNCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4eiJdfSxDT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXVkaW8tZGVzY3JpcHRpb24iLGljb246WzUxMiw1MTIsW10sImYyOWUiLCJNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptOTYgOTZsMCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTI0IDQ4IDAgMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTA0YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xNiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NHptNDggMzJsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMi00OCAwem0xNTItOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTQ0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMzkuOCAwIDcyLTMyLjIgNzItNzJsMC00OGMwLTM5LjgtMzIuMi03Mi03Mi03MmwtNDggMHptNDggMTQ0bC0yNCAwIDAtOTYgMjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0eiJdfSxfT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidyIsaWNvbjpbNTc2LDUxMixbMTE5XSwiNTciLCJNMjAuOCAzNGMxNi41LTYuMiAzNSAyLjIgNDEuMiAxOC43TDE3Mi4yIDM0Ni43IDI1Ny4zIDU1YzQtMTMuNyAxNi41LTIzIDMwLjctMjNzMjYuNyA5LjQgMzAuNyAyM0w0MDMuOCAzNDYuNyA1MTQgNTIuOGM2LjItMTYuNSAyNC42LTI0LjkgNDEuMi0xOC43UzU4MC4yIDU4LjcgNTc0IDc1LjJsLTE0NCAzODRjLTQuOCAxMi45LTE3LjQgMjEuMy0zMS4yIDIwLjdzLTI1LjctOS44LTI5LjUtMjNMMjg4IDE3OC4zIDIwNi43IDQ1N2MtMy45IDEzLjItMTUuOCAyMi41LTI5LjUgMjNzLTI2LjMtNy44LTMxLjItMjAuN0wyIDc1LjJDLTQuMiA1OC43IDQuMiA0MC4yIDIwLjggMzR6Il19LEJlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJleWUtZHJvcHBlciIsaWNvbjpbNTEyLDUxMixbImV5ZS1kcm9wcGVyLWVtcHR5IiwiZXllZHJvcHBlciJdLCJmMWZiIiwiTTM0MS42IDI5LjJsLTEwMS42IDEwMS42LTkuNC05LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOS40LTkuNCAxMDEuNi0xMDEuNmMzOS0zOSAzOS0xMDIuMiAwLTE0MS4xcy0xMDIuMi0zOS0xNDEuMSAwek01NS40IDMyMy4zYy0xNSAxNS0yMy40IDM1LjQtMjMuNCA1Ni42bDAgNDIuNC0yNi42IDM5LjljLTguNSAxMi43LTYuOCAyOS42IDQgNDAuNHMyNy43IDEyLjUgNDAuNCA0bDM5LjktMjYuNiA0Mi40IDBjMjEuMiAwIDQxLjYtOC40IDU2LjYtMjMuNGwxMDkuNC0xMDkuNC00NS4zLTQ1LjMtMTA5LjQgMTA5LjRjLTMgMy03LjEgNC43LTExLjMgNC43bC0zNi4xIDAgMC0zNi4xYzAtNC4yIDEuNy04LjMgNC43LTExLjNsMTA5LjQtMTA5LjQtNDUuMy00NS4zLTEwOS40IDEwOS40eiJdfSxUT3Q9QmVlLExPdD1CZWUsZW09e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLXhtYXJrIixpY29uOls1MTIsNTEyLFs2MTUzMiwidGltZXMtY2lyY2xlIiwieG1hcmstY2lyY2xlIl0sImYwNTciLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NyAxNjdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsNTUgNTUgNTUtNTVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC01NSA1NSA1NSA1NWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC01NS01NS01NSA1NWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWw1NS01NS01NS01NWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6Il19LCRPdD1lbSxET3Q9ZW0sQU90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYWlsZXIiLGljb246WzY0MCw1MTIsW10sImUwNDEiLCJNMzIgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTYgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjk2LjQgMGMuMiAyLjYgLjQgNS4zIC40IDggMCA0OC42LTM5LjQgODgtODggODhzLTg4LTM5LjQtODgtODhjMC0yLjcgLjEtNS40IC40LThMOTYgNDE2Yy0zNS4zIDAtNjQtMjguNy02NC02NEwzMiA5NnptNDA4IDE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE2MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTYwYzAtMTMuMy0xMC43LTI0LTI0LTI0ek0xMTIgMTM2bDAgMTYwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6bTE3Ni0yNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxNjBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE2MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHpNMjY0IDQyNGE0MCA0MCAwIDEgMCAtODAgMCA0MCA0MCAwIDEgMCA4MCAweiJdfSxIZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHVya2lzaC1saXJhLXNpZ24iLGljb246WzQ0OCw1MTIsWyJ0cnkiLCJ0dXJraXNoLWxpcmEiXSwiZTJiYiIsIk0xNjAgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0My42IDEyMS40LTM0LjdjMTIuNy0zLjYgMjYgMy43IDI5LjcgMTYuNXMtMy43IDI2LTE2LjUgMjkuN2wtMTM0LjYgMzguNSAwIDQ2LjEgMTIxLjQtMzQuN2MxMi43LTMuNiAyNiAzLjcgMjkuNyAxNi41cy0zLjcgMjYtMTYuNSAyOS43bC0xMzQuNiAzOC41IDAgMTYyLjUgNzIgMGM1MyAwIDk2LTQzIDk2LTk2IDAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBsLTEwNCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE3Ni4yLTI1LjQgNy4zYy0xMi43IDMuNi0yNi0zLjctMjkuNy0xNi41czMuNy0yNiAxNi41LTI5LjdsMzguNi0xMSAwLTQ2LjEtMjUuNCA3LjNjLTEyLjcgMy42LTI2LTMuNy0yOS43LTE2LjVzMy43LTI2IDE2LjUtMjkuN2wzOC42LTExIDAtNjEuOWMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sRU90PUhlZSxQT3Q9SGVlLElPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2b2xjYW5vIixpY29uOls1MTIsNTEyLFsxMjc3NTVdLCJmNzcwIiwiTTE2MCAxNDRjLTM1LjMgMC02NC0yOC43LTY0LTY0czI4LjctNjQgNjQtNjRjMTUuNyAwIDMwIDUuNiA0MS4yIDE1IDExLjItMTguNiAzMS42LTMxIDU0LjgtMzFzNDMuNiAxMi40IDU0LjggMzFjMTEuMS05LjQgMjUuNS0xNSA0MS4yLTE1IDM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0Yy0xNC43IDAtMjguMy01LTM5LjEtMTMuM2wtMzIgNDhDMjc1LjMgMTg3IDI2NiAxOTIgMjU2IDE5MnMtMTkuMy01LTI0LjktMTMuM2wtMzItNDhDMTg4LjMgMTM5IDE3NC43IDE0NCAxNjAgMTQ0ek0xNDQgMzUybDQ4LjQtMjQuMmMxMC4yLTUuMSAyMS42LTcuOCAzMy03LjggMTkuNiAwIDM4LjQgNy44IDUyLjIgMjEuNmwzMi41IDMyLjVjNi4zIDYuMyAxNC45IDkuOSAyMy44IDkuOSAxMS4zIDAgMjEuOC01LjYgMjgtMTVsOS43LTE0LjYtNTktNjYuM2MtOS4xLTEwLjItMjIuMi0xNi4xLTM1LjktMTYuMWwtNDEuOCAwYy0xMy43IDAtMjYuOCA1LjktMzUuOSAxNi4xbC01OS45IDY3LjQgNC43LTMuNXptMTkuNC05NS44YzE4LjItMjAuNSA0NC4zLTMyLjIgNzEuOC0zMi4ybDQxLjggMGMyNy40IDAgNTMuNSAxMS43IDcxLjggMzIuMmwxNTAuMiAxNjljOC41IDkuNSAxMy4yIDIxLjkgMTMuMiAzNC43IDAgMjguOC0yMy40IDUyLjItNTIuMiA1Mi4yTDUyLjIgNTEyQzIzLjQgNTEyIDAgNDg4LjYgMCA0NTkuOCAwIDQ0Ny4xIDQuNyA0MzQuNyAxMy4yIDQyNS4ybDE1MC4yLTE2OXoiXX0sTk90PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndhbmQtc3BhcmtsZXMiLGljb246WzUxMiw1MTIsW10sImY3MmIiLCJNNDY0IDYuMWM5LjUtOC41IDI0LTguMSAzMyAuOWw4IDhjOSA5IDkuNCAyMy41IC45IDMzbC04NS44IDk1LjljLTIuNiAyLjktNC4xIDYuNy00LjEgMTAuN2wwIDIxLjRjMCA4LjgtNy4yIDE2LTE2IDE2bC0xNS44IDBjLTQuNiAwLTguOSAxLjktMTEuOSA1LjNMMTAwLjcgNTAwLjljLTYuMyA3LjEtMTUuMyAxMS4xLTI0LjggMTEuMS04LjggMC0xNy4zLTMuNS0yMy41LTkuOEw5LjcgNDU5LjdjLTYuMi02LjItOS43LTE0LjctOS43LTIzLjUgMC05LjUgNC0xOC41IDExLjEtMjQuOGwxMTEuNi05OS44YzMuNC0zIDUuMy03LjQgNS4zLTExLjlsMC0yNy42YzAtOC44IDcuMi0xNiAxNi0xNmwzNC42IDBjMy45IDAgNy43LTEuNSAxMC43LTQuMUw0NjQgNi4xek00MzIgMjg4YzMuNiAwIDYuNyAyLjQgNy43IDUuOGwxNC44IDUxLjcgNTEuNyAxNC44YzMuNCAxIDUuOCA0LjEgNS44IDcuN3MtMi40IDYuNy01LjggNy43bC01MS43IDE0LjgtMTQuOCA1MS43Yy0xIDMuNC00LjEgNS44LTcuNyA1LjhzLTYuNy0yLjQtNy43LTUuOGwtMTQuOC01MS43LTUxLjctMTQuOGMtMy40LTEtNS44LTQuMS01LjgtNy43czIuNC02LjcgNS44LTcuN2w1MS43LTE0LjggMTQuOC01MS43YzEtMy40IDQuMS01LjggNy43LTUuOHpNODcuNyA2OS44bDE0LjggNTEuNyA1MS43IDE0LjhjMy40IDEgNS44IDQuMSA1LjggNy43cy0yLjQgNi43LTUuOCA3LjdsLTUxLjcgMTQuOC0xNC44IDUxLjdjLTEgMy40LTQuMSA1LjgtNy43IDUuOHMtNi43LTIuNC03LjctNS44TDU3LjUgMTY2LjUgNS44IDE1MS43Yy0zLjQtMS01LjgtNC4xLTUuOC03LjdzMi40LTYuNyA1LjgtNy43bDUxLjctMTQuOCAxNC44LTUxLjdjMS0zLjQgNC4xLTUuOCA3LjctNS44czYuNyAyLjQgNy43IDUuOHpNMjA4IDBjMy43IDAgNi45IDIuNSA3LjggNi4xbDYuOCAyNy4zIDI3LjMgNi44YzMuNiAuOSA2LjEgNC4xIDYuMSA3LjhzLTIuNSA2LjktNi4xIDcuOGwtMjcuMyA2LjgtNi44IDI3LjNjLS45IDMuNi00LjEgNi4xLTcuOCA2LjFzLTYuOS0yLjUtNy44LTYuMWwtNi44LTI3LjMtMjcuMy02LjhjLTMuNi0uOS02LjEtNC4xLTYuMS03LjhzMi41LTYuOSA2LjEtNy44bDI3LjMtNi44IDYuOC0yNy4zYy45LTMuNiA0LjEtNi4xIDcuOC02LjF6Il19LFJPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtaWNyb3Bob25lIixpY29uOlszODQsNTEyLFtdLCJmMTMwIiwiTTE5MiAwQzEzOSAwIDk2IDQzIDk2IDk2bDAgMTI4YzAgNTMgNDMgOTYgOTYgOTZzOTYtNDMgOTYtOTZsMC0xMjhjMC01My00My05Ni05Ni05NnpNNDggMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMTcwLjcgMCAxODRsMCA0MGMwIDk3LjkgNzMuMyAxNzguNyAxNjggMTkwLjVsMCA0OS41LTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDAgMC00OS41Yzk0LjctMTEuOCAxNjgtOTIuNiAxNjgtMTkwLjVsMC00MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQwYzAgNzkuNS02NC41IDE0NC0xNDQgMTQ0UzQ4IDMwMy41IDQ4IDIyNGwwLTQweiJdfSxPT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3Jvd24iLGljb246WzU3Niw1MTIsWzEyODA4MV0sImY1MjEiLCJNMzEzIDg3LjJjOS4yLTcuMyAxNS0xOC42IDE1LTMxLjIgMC0yMi4xLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBjMCAxMi42IDUuOSAyMy45IDE1IDMxLjJMMTk0LjYgMTk0LjhjLTEwIDE1LjctMzEuMyAxOS42LTQ2LjIgOC40TDg4LjkgMTU4LjdjNC41LTYuNCA3LjEtMTQuMyA3LjEtMjIuNyAwLTIyLjEtMTcuOS00MC00MC00MHMtNDAgMTcuOS00MCA0MGMwIDIxLjggMTcuNSAzOS42IDM5LjIgNDBMODcuOCAzOTMuNWM0LjcgMzEuMyAzMS42IDU0LjUgNjMuMyA1NC41bDI3My44IDBjMzEuNyAwIDU4LjYtMjMuMiA2My4zLTU0LjVMNTIwLjggMTc2YzIxLjctLjQgMzkuMi0xOC4yIDM5LjItNDAgMC0yMi4xLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBjMCA4LjQgMi42IDE2LjMgNy4xIDIyLjdsLTU5LjQgNDQuNmMtMTQuOSAxMS4yLTM2LjIgNy4zLTQ2LjItOC40TDMxMyA4Ny4yeiJdfSxGT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVudC1hcnJvdy10dXJuLWxlZnQiLGljb246WzUxMiw1MTIsW10sImU1ODAiLCJNLS41IDExM2w3MiA3MmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTMxLTMxIDM1MC4xIDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjRjMC00OC42LTM5LjQtODgtODgtODhsLTM1MC4xIDAgMzEtMzFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlTODAuOS0yLjMgNzEuNSA3TC0uNSA3OWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjl6TTYwLjMgMjkyLjZMMzcuMSA0NzZjLTIuNCAxOS4xIDEyLjUgMzYgMzEuNyAzNmwxNTQuNSAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTE3LjRjMC01LjkgNC43LTEwLjYgMTAuNi0xMC42IDQgMCA3LjcgMi4zIDkuNSA1LjlsNjguMiAxMzYuNWM1LjQgMTAuOCAxNi41IDE3LjcgMjguNiAxNy43bDcxLjkgMGMxOS4zIDAgMzQuMi0xNi45IDMxLjctMzZMNDUyLjcgMjkyLjdjLTEuMi05LjctNi45LTE4LjQtMTUuMy0yMy40TDI3MS45IDE2OS45Yy0xMC4yLTYuMS0yMi45LTYuMS0zMy4xIC4xTDc1LjQgMjY5LjNjLTguMyA1LjEtMTMuOSAxMy43LTE1LjEgMjMuM3oiXX0sQmhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLWZhc3QiLGljb246WzY0MCw1MTIsWyJzaGlwcGluZy1mYXN0Il0sImY0OGIiLCJNNjQgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMjg4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMiA1MC43IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMNjIxLjMgMTkyYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMNjQwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMy4zIDBjLTEwLjQgMzYuOS00NC40IDY0LTg0LjcgNjRzLTc0LjItMjcuMS04NC43LTY0bC0xMDIuNiAwYy0xMC40IDM2LjktNDQuNCA2NC04NC43IDY0cy03NC4yLTI3LjEtODQuNy02NGwtMy4zIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNDgtNDAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxMTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwyNCAyNDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTc2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMjQgMTQ0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNFMxMC43IDk2IDI0IDk2bDQwIDB6TTU3NiAyODhsMC01MC43LTQ1LjMtNDUuMy01MC43IDAgMCA5NiA5NiAwek0yNTYgNDI0YTQwIDQwIDAgMSAwIC04MCAwIDQwIDQwIDAgMSAwIDgwIDB6bTIzMiA0MGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6Il19LEJPdD1CaGUsSGhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItcGVuIixpY29uOls2NDAsNTEyLFsidXNlci1lZGl0Il0sImY0ZmYiLCJNMjU2LjEgMjQ4YTEyMCAxMjAgMCAxIDAgMC0yNDAgMTIwIDEyMCAwIDEgMCAwIDI0MHptLTI5LjcgNTZjLTk4LjUgMC0xNzguMyA3OS44LTE3OC4zIDE3OC4zIDAgMTYuNCAxMy4zIDI5LjcgMjkuNyAyOS43bDE5Ni41IDAgMTAuOS01NC41YzQuMy0yMS43IDE1LTQxLjYgMzAuNi01Ny4ybDY3LjMtNjcuM2MtMjgtMTguMy02MS40LTI4LjktOTcuNC0yOC45bC01OS40IDB6TTMzMi4zIDQ2Ni45bC0xMS45IDU5LjZjLS4yIC45LS4zIDEuOS0uMyAyLjkgMCA4IDYuNSAxNC42IDE0LjYgMTQuNiAxIDAgMS45LS4xIDIuOS0uM2w1OS42LTExLjljMTIuNC0yLjUgMjMuOC04LjYgMzIuNy0xNy41bDExOC45LTExOC45LTgwLTgwLTExOC45IDExOC45Yy04LjkgOC45LTE1IDIwLjMtMTcuNSAzMi43em0yNjcuOC0xMjNjMjIuMS0yMi4xIDIyLjEtNTcuOSAwLTgwcy01Ny45LTIyLjEtODAgMGwtMjguOCAyOC44IDgwIDgwIDI4LjgtMjguOHoiXX0sSE90PUhoZSxxT3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1jbG9jayIsaWNvbjpbNTc2LDUxMixbXSwiZjRmZCIsIk0yMjQgOGExMjAgMTIwIDAgMSAxIDAgMjQwIDEyMCAxMjAgMCAxIDEgMC0yNDB6TTE5NC4zIDMwNGw1OS40IDBjMy45IDAgNy45IC4xIDExLjggLjQtMTYuMiAyOC4yLTI1LjUgNjAuOC0yNS41IDk1LjYgMCA0MS44IDEzLjQgODAuNSAzNiAxMTJMNDUuNyA1MTJDMjkuMyA1MTIgMTYgNDk4LjcgMTYgNDgyLjMgMTYgMzgzLjggOTUuOCAzMDQgMTk0LjMgMzA0ek0yODggNDAwYTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTE0NC04MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2bDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTMyIDAgMC00OGMwLTguOC03LjItMTYtMTYtMTZ6Il19LFZPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaG93ZXIiLGljb246WzUxMiw1MTIsWzEyODcwM10sImYyY2MiLCJNNjQgMTMxLjljMC0xOS44IDE2LjEtMzUuOSAzNS45LTM1LjkgOS41IDAgMTguNiAzLjggMjUuNCAxMC41bDE2LjIgMTYuMmMtMjEgMzguOS0xNy40IDg3LjUgMTAuOSAxMjNMMTUxIDI0N2MtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwTDM0NSAxMjFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMS4zIDEuM2MtMzUuNS0yOC4zLTg0LjEtMzEuOS0xMjMtMTAuOUwxNzAuNSA2MS4zQzE1MS44IDQyLjUgMTI2LjQgMzIgOTkuOSAzMiA0NC43IDMyIDAgNzYuNyAwIDEzMS45TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMTYuMXpNMjU2IDM1MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTY0IDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTAtMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptNjQgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMC0xMjhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em02NCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0zMi0zMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LHFoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtY2FyZXQtdXAiLGljb246WzQ0OCw1MTIsWyJjYXJldC1zcXVhcmUtdXAiXSwiZjE1MSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMjQgMTYwYzYuNyAwIDEzIDIuOCAxNy42IDcuN2wxMDQgMTEyYzYuNSA3IDguMiAxNy4yIDQuNCAyNS45UzMzNy41IDMyMCAzMjggMzIwbC0yMDggMGMtOS41IDAtMTguMi01LjctMjItMTQuNHMtMi4xLTE4LjkgNC40LTI1LjlsMTA0LTExMmM0LjUtNC45IDEwLjktNy43IDE3LjYtNy43eiJdfSxqT3Q9cWhlLFZoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXAtbG9jYXRpb24iLGljb246WzY0MCw1MTIsWyJtYXAtbWFya2VkIl0sImY1OWYiLCJNNTc2IDQ4YzAtMTEuMS01LjctMjEuNC0xNS4yLTI3LjJzLTIxLjItNi40LTMxLjEtMS40TDQxMy41IDc3LjUgMjM0LjEgMTcuNmMtOC4xLTIuNy0xNi44LTIuMS0yNC40IDEuN2wtMTI4IDY0QzcwLjggODguOCA2NCA5OS45IDY0IDExMmwwIDM1MmMwIDExLjEgNS43IDIxLjQgMTUuMiAyNy4yczIxLjIgNi40IDMxLjEgMS40bDExNi4xLTU4LjEgMTczLjMgNTcuOGMtNC4zLTYuNC04LjUtMTMuMS0xMi42LTE5LjktMTEtMTguMy0yMS45LTM5LjMtMzAtNjEuOGwtMTAxLjItMzMuNyAwLTI4NC41IDEyOCA0Mi43IDAgOTkuM2MzMS0zNS44IDc3LTU4LjQgMTI4LTU4LjQgMjIuNiAwIDQ0LjIgNC40IDY0IDEyLjVMNTc2IDQ4ek0zOTIgMzQxLjljMCA2OC45IDY0LjEgMTUwLjQgOTguNiAxODkuMyAxMS42IDEzIDMxLjMgMTMgNDIuOSAwIDM0LjUtMzguOSA5OC42LTEyMC40IDk4LjYtMTg5LjMgMC02NS4xLTUzLjctMTE3LjktMTIwLTExNy45UzM5MiAyNzYuOCAzOTIgMzQxLjl6Il19LFVPdD1WaGUsV090PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlbi1mYW5jeSIsaWNvbjpbNTEyLDUxMixbMTI4Mzk1LDEwMDAyXSwiZjVhYyIsIk0zNzMuNSAyNy4xYzE1LTE3LjIgMzYuNy0yNy4xIDU5LjYtMjcuMSA0My42IDAgNzkgMzUuNCA3OSA3OSAwIDIyLjgtOS45IDQ0LjYtMjcuMSA1OS42TDI4My43IDMxMy44IDI3MyAzMDMgMjA5IDIzOSAxOTguMiAyMjguMyAzNzMuNSAyNy4xek0xNjEuMSAyNTlDMTYyIDI2MCAxODggMjg2IDIzOSAzMzdsMTMuOSAxMy45LTE3LjEgNzQuMmMtMy45IDE3LjEtMTYuOSAzMC43LTMzLjggMzUuNGwtMTY5LjggNDcuNSA5Mi4zLTkyLjNjMS4yIC4xIDIuMyAuMiAzLjUgLjIgMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzItMzIgMTQuMy0zMiAzMmMwIDEuMiAuMSAyLjQgLjIgMy41TDMuOSA0NzkuOCA1MS41IDMxMGM0LjctMTYuOSAxOC4zLTI5LjkgMzUuNC0zMy44TDE2MS4xIDI1OXoiXX0scWVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImV1cm8tc2lnbiIsaWNvbjpbNDQ4LDUxMixbODM2NCwiZXVyIiwiZXVybyJdLCJmMTUzIiwiTTczLjMgMTkyQzEwMC44IDk5LjUgMTg2LjUgMzIgMjg4IDMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTY0IDBjLTY1LjYgMC0xMjIgMzkuNS0xNDYuNyA5NkwyNzIgMTkyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDMuMiAwYy0uNSA1LjMtLjggMTAuNi0uOCAxNnMuMyAxMC43IC44IDE2TDI3MiAyNzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTEzMC43IDBjMjQuNyA1Ni41IDgxLjEgOTYgMTQ2LjcgOTZsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTAxLjUgMC0xODcuMi02Ny41LTIxNC43LTE2MEw0MCAzMjBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjQuNiAwYy0uNy0xMC41LS43LTIxLjUgMC0zMkw0MCAyNDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMzMuMyAweiJdfSxHT3Q9cWVlLFlPdD1xZWUsS090PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTUwYiIsIk00OTYgNTQ0YTE0NCAxNDQgMCAxIDEgMC0yODggMTQ0IDE0NCAwIDEgMSAwIDI4OHpNMjY4LjYgNi41YzEyLjItOS4zIDI5LjctOC43IDQxLjIgMmwyMTcuNiAyMDJjLTEwLjItMS43LTIwLjctMi42LTMxLjMtMi42LTc4LjYgMC0xNDYuMiA0Ny4yLTE3NS45IDExNC44LTUtMS44LTEwLjUtMi44LTE2LjEtMi44bC0zMiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDk2IDkwLjkgMGM2LjEgMTcuMyAxNC42IDMzLjQgMjUuMiA0OEwxNDQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDggMi40LTJ6TTU1NS4zIDM0MC43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMGwtMzYuNyAzNi43LTM2LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmwzNi43IDM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzYuNy0zNi43IDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTM2LjctMzYuNyAzNi43LTM2LjdjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZ6Il19LFpPdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsaXJhLXNpZ24iLGljb246WzM4NCw1MTIsWzgzNTZdLCJmMTk1IiwiTTg0LjkgMjU2bC0yOC40IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTEuNiAwQzUzLjIgMTI0LjcgMTE2LjggNDIgMjA3LjYgNDJsOC4yIDBjMzMuNiAwIDY2LjIgMTEuMyA5Mi41IDMyLjJsMTYuMSAxMi43YzEzLjkgMTEgMTYuMiAzMS4xIDUuMiA0NXMtMzEuMSAxNi4yLTQ1IDUuMmwtMTYuMS0xMi43Yy0xNS0xMS45LTMzLjYtMTguNC01Mi44LTE4LjRsLTguMiAwYy01My44IDAtOTAuMSA1Mi45LTczLjUgMTAybDE2Mi40IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NS4xIDBjMi4zIDEwLjYgMy42IDIxLjMgMy45IDMybDE0MS4yIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMTUwIDMzNmMtNC44IDE4LjYtMTIuNiAzNi41LTIzLjYgNTIuOWwtMTguMSAyNy4xIDIxMi4yIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI3MiAwYy0xMS44IDAtMjIuNi02LjUtMjguMi0xNi45cy01LTIzIDEuNi0zMi45bDUxLjItNzYuOGMzLjctNS42IDYuOS0xMS40IDkuNC0xNy40bC0yNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDM0LjggMGMtLjUtMTAuOC0yLjYtMjEuNi02LjQtMzJ6Il19LFg4PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Inllbi1zaWduIixpY29uOlszODQsNTEyLFsxNjUsImNueSIsImpweSIsInJtYiIsInllbiJdLCJmMTU3IiwiTTc0LjkgNDYuN2MtOS42LTE0LjktMjkuNC0xOS4yLTQ0LjItOS42UzExLjUgNjYuNCAyMS4xIDgxLjNMMTQzLjcgMjcyIDg4IDI3MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw3MiAwIDAgMzItNzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw3MiAwIDAgNDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTQ4IDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTcyIDAgMC0zMiA3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC01NS43IDAgMTIyLjYtMTkwLjdjOS42LTE0LjkgNS4zLTM0LjctOS42LTQ0LjJzLTM0LjctNS4zLTQ0LjIgOS42TDE5MiAyMjguOCA3NC45IDQ2Ljd6Il19LFhPdD1YOCxRT3Q9WDgsSk90PVg4LGVGdD1YOCx0RnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm94LW9wZW4iLGljb246WzY0MCw1MTIsW10sImY0OWUiLCJNNTYwLjMgMjM3LjJjMTAuNCAxMS44IDI4LjMgMTQuNCA0MS44IDUuNSAxNC43LTkuOCAxOC43LTI5LjcgOC45LTQ0LjRsLTQ4LTcyYy0yLjgtNC4yLTYuNi03LjctMTEuMS0xMC4yTDM1MS40IDQuN2MtMTkuMy0xMC43LTQyLjgtMTAuNy02Mi4yIDBMODguOCAxMTZjLTUuNCAzLTkuNyA3LjQtMTIuNiAxMi44TDI3LjcgMjE4LjdjLTEyLjYgMjMuNC0zLjggNTIuNSAxOS42IDY1LjFsMzMgMTcuNyAwIDUzLjNjMCAyMyAxMi40IDQ0LjMgMzIuNCA1NS43bDE3NiA5OS43YzE5LjYgMTEuMSA0My41IDExLjEgNjMuMSAwbDE3Ni05OS43YzIwLjEtMTEuNCAzMi40LTMyLjYgMzIuNC01NS43bDAtMTE3LjV6bS0yNDAtOS44TDE3MC4yIDE0NCAzMjAuMyA2MC42IDQ3MC40IDE0NCAzMjAuMyAyMjcuNHptLTQxLjUgNTAuMmwtMjEuMyA0Ni4yLTE2NS44LTg4LjggMjUuNC00Ny4yIDE2MS43IDg5Ljh6Il19LGFGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1maWVsZCIsaWNvbjpbNjQwLDUxMixbXSwiZTU4ZCIsIk0zMiA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwyMjQgMGMyMy43IDAgNDQuNCAxMi45IDU1LjQgMzJsNDAuNCAwYzMyLjQgMCA2MS42IDE5LjYgNzQgNDkuNWw0My44IDEwNi4zIDEuNyA0LjIgMjQuNyAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLS40IDBjLjIgMi42IC40IDUuMyAuNCA4IDAgNDguNi0zOS40IDg4LTg4IDg4cy04OC0zOS40LTg4LTg4YzAtMi43IC4xLTUuNCAuNC04bC0xNDQuNyAwYy4yIDIuNiAuNCA1LjMgLjQgOCAwIDQ4LjYtMzkuNCA4OC04OCA4OHMtODgtMzkuNC04OC04OGMwLTMuNiAuMi03LjEgLjYtMTAuNS0xOS02LjQtMzIuNi0yNC40LTMyLjYtNDUuNWwwLTQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDAtMzJ6bTM1MiAzMmwwIDk2IDgyLjEgMC0zNS40LTg2LjFjLTIuNS02LTguMy05LjktMTQuOC05LjlMMzg0IDEyOHpNMTkyIDM5MmE0MCA0MCAwIDEgMCAtODAgMCA0MCA0MCAwIDEgMCA4MCAwem0yODAgNDBhNDAgNDAgMCAxIDAgMC04MCA0MCA0MCAwIDEgMCAwIDgweiJdfSxyRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibG9jYXRpb24tcGluLWxvY2siLGljb246WzUxMiw1MTIsW10sImU1MWYiLCJNMCAxODguNkMwIDg0LjQgODYgMCAxOTIgMCAyOTQuMSAwIDM3Ny42IDc4LjMgMzgzLjYgMTc3IDMyMC43IDE4NS4xIDI3MiAyMzguOCAyNzIgMzA0bDAgMjQuNGMtMTkuNiAxNy42LTMyIDQzLjEtMzIgNzEuNWwwIDc1LjdjLTkuOSAxMS42LTE4LjkgMjEuNy0yNi40IDI5LjgtMTEuOCAxMi44LTMxLjUgMTIuOC00My4zIDAtNTAuMi01NC41LTE3MC40LTE5Ny41LTE3MC40LTMxNi44ek0xOTIgMjU2YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4em0yNDAgNDguMWMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ3LjkgNjQgMCAwLTQ3Ljl6TTI4OCA0MDBjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zbDAtNTAuNmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNTAuNmMxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjNsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZ6Il19LGpoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tcHJheWluZyIsaWNvbjpbMzg0LDUxMixbMTI4NzIwLCJwcmF5Il0sImY2ODMiLCJNMzIwIDY0YTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpNMjAwLjcgMjY0bDIyLjkgMzEuNWM2LjUgOC45IDE2LjMgMTQuNyAyNy4yIDE2LjFzMjEuOS0xLjcgMzAuNC04LjdsODgtNzJjMTcuMS0xNCAxOS42LTM5LjIgNS42LTU2LjNzLTM5LjItMTkuNi01Ni4zLTUuNmwtNTUuMiA0NS4yLTI2LjItMzZjLTE1LjYtMjEuNS00MC42LTM0LjItNjcuMi0zNC4yLTMwLjkgMC01OS4yIDE3LjEtNzMuNiA0NC40TDQ3LjggMjgwLjljLTIwLjIgMzguNS05LjQgODUuOSAyNS42IDExMS44TDEyNi42IDQzMiA0MCA0MzJjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBsMjA4IDBjMTcuMyAwIDMyLjYtMTEuMSAzOC0yNy41cy0uMy0zNC40LTE0LjItNDQuN2wtMTE2LjEtODUuOCA0NS05MHoiXX0sc0Z0PWpoZSxpRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xpcGJvYXJkLWxpc3QiLGljb246WzM4NCw1MTIsW10sImY0NmQiLCJNMzExLjQgMzJsOC42IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzNTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDguNiAwQzgzLjYgMTIuOSAxMDQuMyAwIDEyOCAwTDI1NiAwYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMnpNMjQ4IDExMmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwxMzYgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTEyIDB6TTEyOCAyNTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMzIgMGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxMTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTEyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0em0wIDEyOGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxMTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTEyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0ek05NiA0MTZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxvRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Fjay1kb2xsYXIiLGljb246WzUxMiw1MTIsWzEyODE3Nl0sImY4MWQiLCJNMzI4IDExMmwtMTQ0IDAtMzcuMy03NC41Yy0xLjgtMy42LTIuNy03LjYtMi43LTExLjYgMC0xNC4zIDExLjYtMjUuOSAyNS45LTI1LjlMMzQyLjEgMGMxNC4zIDAgMjUuOSAxMS42IDI1LjkgMjUuOSAwIDQtLjkgOC0yLjcgMTEuNkwzMjggMTEyek0xNjkuNiAxNjBsMTcyLjggMCA0OC43IDQwLjZDNDU3LjYgMjU2IDQ5NiAzMzggNDk2IDQyNC41IDQ5NiA0NzIuOCA0NTYuOCA1MTIgNDA4LjUgNTEybC0zMDUuMSAwQzU1LjIgNTEyIDE2IDQ3Mi44IDE2IDQyNC41IDE2IDMzOCA1NC40IDI1NiAxMjAuOSAyMDAuNkwxNjkuNiAxNjB6TTI2MCAyMjRjLTExIDAtMjAgOS0yMCAyMGwwIDRjLTI4LjggLjMtNTIgMjMuNy01MiA1Mi41IDAgMjUuNyAxOC41IDQ3LjYgNDMuOSA1MS44bDQxLjcgN2M2IDEgMTAuNCA2LjIgMTAuNCAxMi4zIDAgNi45LTUuNiAxMi41LTEyLjUgMTIuNUwyMTYgMzg0Yy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGwyNCAwIDAgNGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTQuN2MyNS00LjEgNDQtMjUuNyA0NC01MS44IDAtMjUuNy0xOC41LTQ3LjYtNDMuOS01MS44bC00MS43LTdjLTYtMS0xMC40LTYuMi0xMC40LTEyLjMgMC02LjkgNS42LTEyLjUgMTIuNS0xMi41bDQ3LjUgMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTggMCAwLTRjMC0xMS05LTIwLTIwLTIweiJdfSxuRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW91bnRhaW4tc3VuIixpY29uOls1NzYsNTEyLFtdLCJlNTJmIiwiTTI1Ni41IDBjMTQuNyAwIDI4LjIgOC4xIDM1LjIgMjFsMjE2IDQwMGM2LjcgMTIuNCA2LjQgMjcuNC0uOCAzOS41LTcuMiAxMi4xLTIwLjMgMTkuNS0zNC4zIDE5LjVsLTQzMiAwYy0xNC4xIDAtMjcuMS03LjQtMzQuMy0xOS41cy03LjUtMjcuMS0uOC0zOS41bDIxNi00MDAgMi45LTQuNkMyMzEuNyA2LjIgMjQzLjYgMCAyNTYuNSAwek0xNzAuNCAyNDkuOWwyNi44IDI2LjhjNi4yIDYuMiAxNi40IDYuMiAyMi42IDBsNDMuMy00My4zYzYtNiAxNC4xLTkuNCAyMi42LTkuNGw0Mi44IDAtNzIuMS0xMzMuNS04Ni4xIDE1OS40ek00OTYuNSAxNjBhODAgODAgMCAxIDEgMC0xNjAgODAgODAgMCAxIDEgMCAxNjB6Il19LFVoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC13aWRlLXNob3J0IixpY29uOls1NzYsNTEyLFsic29ydC1hbW91bnQtdXAiXSwiZjE2MSIsIk0xNTAuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgMTQxLjMgOTYgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDYuNyA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6TTMyMCA0ODBsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnptMC0xMjhsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMnptMC0xMjhsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE2MCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyem0wLTEyOGwyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMjAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6Il19LGxGdD1VaGUsY0Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXJzLWxpbmUiLGljb246WzU3Niw1MTIsW10sImU1OTIiLCJNMjI0IDEyOGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6TTE3NiAzMzZjMC02MS45IDUwLjEtMTEyIDExMi0xMTJzMTEyIDUwLjEgMTEyIDExMmwwIDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRsLTE3NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTh6TTM5MiAxNDRhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwem0yNy4yIDEwMC40YzkuMS0yLjkgMTguOC00LjQgMjguOC00LjQgNTMgMCA5NiA0MyA5NiA5NmwwIDEwLjdjMCAxMS44LTkuNiAyMS4zLTIxLjMgMjEuM2wtNzguOCAwYzIuNy03LjUgNC4xLTE1LjYgNC4xLTI0bDAtOGMwLTM0LjEtMTAuNi02NS43LTI4LjgtOTEuNnptLTI2Mi40IDBjLTE4LjIgMjYtMjguOCA1Ny41LTI4LjggOTEuNmwwIDhjMCA4LjQgMS40IDE2LjUgNC4xIDI0bC03OC44IDBDNDEuNiAzNjggMzIgMzU4LjQgMzIgMzQ2LjdMMzIgMzM2YzAtNTMgNDMtOTYgOTYtOTYgMTAgMCAxOS43IDEuNSAyOC44IDQuNHpNNzIgMTQ0YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMCA0NDBjMC0xMy4zIDEwLjctMjQgMjQtMjRsNTI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNDY0Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHoiXX0sZEZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YXItb2YtZGF2aWQiLGljb246WzUxMiw1MTIsWzEwMDE3XSwiZjY5YSIsIk00MTUuOSAzMTEuOWwtMjcuOCA0OC4xIDU1LjcgMC0yNy44LTQ4LjF6TTM4My42IDI1NmwtNjAuMi0xMDQtMTM0LjggMC02MC4yIDEwNCA2MC4yIDEwNCAxMzQuOCAwIDYwLjItMTA0em02NC43IDBsNTguNCAxMDAuOWMzLjUgNiA1LjMgMTIuOCA1LjMgMTkuNyAwIDIxLjctMTcuNiAzOS40LTM5LjQgMzkuNGwtMTE3IDAtNjEuMyAxMDUuOEMyODYuNSA1MzUuNiAyNzEuOCA1NDQgMjU2IDU0NHMtMzAuNS04LjQtMzguNC0yMi4ybC02MS4zLTEwNS44LTExNyAwYy0yMS43IDAtMzkuNC0xNy42LTM5LjQtMzkuNCAwLTYuOSAxLjgtMTMuNyA1LjMtMTkuN0w2My43IDI1NiA1LjMgMTU1LjFDMS44IDE0OS4xIDAgMTQyLjMgMCAxMzUuNCAwIDExMy42IDE3LjYgOTYgMzkuNCA5NmwxMTcgMCA2MS4zLTEwNS44QzIyNS41LTIzLjYgMjQwLjItMzIgMjU2LTMyczMwLjUgOC40IDM4LjQgMjIuMmw2MS4zIDEwNS44IDExNyAwYzIxLjcgMCAzOS40IDE3LjYgMzkuNCAzOS40IDAgNi45LTEuOCAxMy43LTUuMyAxOS43TDQ0OC4zIDI1NnpNMzg4LjEgMTUybDI3LjggNDguMSAyNy44LTQ4LjEtNTUuNyAwek0yOTEgOTZsLTM1LTYwLjQtMzUgNjAuNCA3MCAwek0xMjMuOSAxNTJsLTU1LjcgMCAyNy44IDQ4LjEgMjcuOC00OC4xek05Ni4xIDMxMS45bC0yNy44IDQ4LjEgNTUuNyAwLTI3LjgtNDguMXpNMjIxIDQxNmwzNSA2MC40IDM1LTYwLjQtNzAgMHoiXX0sdUZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im5vdGVzLW1lZGljYWwiLGljb246WzUxMiw1MTIsW10sImY0ODEiLCJNOTYgMzUyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDE4MS41IDBjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdMNDkzLjMgMjkwLjdjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0w1MTIgNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMMTYwIDBDMTI0LjcgMCA5NiAyOC43IDk2IDY0bDAgMjg4ek0yODggMTEybDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDggNDggMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQ4IDAgMCA0OGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQ4LTQ4IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0OCAwIDAtNDhjMC04LjggNy4yLTE2IDE2LTE2ek00OCAxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRTMCAxMDYuNyAwIDEyMEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw2NCA0NjRjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyOHoiXX0scEZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImF1c3RyYWwtc2lnbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTBhOSIsIk0yNjYuNSAyNDBsLTg1IDAgNDIuNS0xMDYuNCA0Mi41IDEwNi40em02OC45IDBMMjYyLjkgNTguM0MyNTYuNSA0Mi40IDI0MS4xIDMyIDIyNCAzMnMtMzIuNSAxMC40LTM4LjkgMjYuM0wxMTIuNiAyNDAgMzIgMjQwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDYxLjQgMC0xOS4yIDQ4LTQyLjMgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyMy4xIDAtMjAuOCA1Mi4xYy02LjYgMTYuNCAxLjQgMzUgMTcuOSA0MS42czM1LTEuNCA0MS42LTE3LjlsMzAuMy03NS45IDIwMCAwIDMwLjMgNzUuOWM2LjYgMTYuNCAyNS4yIDI0LjQgNDEuNiAxNy45czI0LjQtMjUuMiAxNy45LTQxLjZMMzkyLjkgMzg0IDQxNiAzODRjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQyLjMgMC0xOS4yLTQ4IDYxLjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAuNiAwem0tNDkuNyA0OGwxOS4yIDQ4LTE2MS42IDAgMTkuMi00OCAxMjMuMyAweiJdfSxmRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xpcGJvYXJkLXVzZXIiLGljb246WzM4NCw1MTIsW10sImY3ZjMiLCJNMzExLjQgMzJsOC42IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzNTJjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDguNiAwQzgzLjYgMTIuOSAxMDQuMyAwIDEyOCAwTDI1NiAwYzIzLjcgMCA0NC40IDEyLjkgNTUuNCAzMnpNMjQ4IDExMmMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEwxMzYgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTEyIDB6TTE5MiAzNDRhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTk4LjMgNDEzYy0xMi45IDE1LjYgMi4yIDM1IDIyLjQgMzVsMTQyLjUgMGMyMC4yIDAgMzUuMy0xOS40IDIyLjQtMzUtMTQuNy0xNy43LTM2LjktMjktNjEuNy0yOWwtNjQgMGMtMjQuOCAwLTQ3IDExLjMtNjEuNyAyOXoiXX0saEZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtaW1hZ2UiLGljb246WzM4NCw1MTIsWzEyODQ0M10sImYxYzUiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDY0em0yMDgtNS41bDAgOTMuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNEwzMjUuNSAxNzYgMjA4IDU4LjV6TTEyOCAyNTZhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNOTIuNiA0NDhsMTk4LjggMGMxNS44IDAgMjguNi0xMi44IDI4LjYtMjguNiAwLTcuMy0yLjgtMTQuNC03LjktMTkuN0wyMTUuMyAyOTcuOWMtNi02LjMtMTQuNC05LjktMjMuMi05LjlsLS4zIDBjLTguOCAwLTE3LjEgMy42LTIzLjIgOS45TDcxLjkgMzk5LjdDNjYuOCA0MDUgNjQgNDEyLjEgNjQgNDE5LjQgNjQgNDM1LjIgNzYuOCA0NDggOTIuNiA0NDh6Il19LFdoZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtY2FyZXQtcmlnaHQiLGljb246WzQ0OCw1MTIsWyJjYXJldC1zcXVhcmUtcmlnaHQiXSwiZjE1MiIsIk00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMHpNMzIwIDI1NmMwIDYuNy0yLjggMTMtNy43IDE3LjZsLTExMiAxMDRjLTcgNi41LTE3LjIgOC4yLTI1LjkgNC40UzE2MCAzNjkuNSAxNjAgMzYwbDAtMjA4YzAtOS41IDUuNy0xOC4yIDE0LjQtMjJzMTguOS0yLjEgMjUuOSA0LjRsMTEyIDEwNGM0LjkgNC41IDcuNyAxMC45IDcuNyAxNy42eiJdfSxtRnQ9V2hlLGdGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aWFsIixpY29uOls1MTIsNTEyLFsxMjk1MTRdLCJmNDkyIiwiTTM0Mi42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMzA2LjcgNjQgMjguMSAzNDIuNkMxMC4xIDM2MC42IDAgMzg1IDAgNDEwLjVMMCA0MTZjMCA1MyA0MyA5NiA5NiA5Nmw1LjUgMGMyNS41IDAgNDkuOS0xMC4xIDY3LjktMjguMWwyNzguNi0yNzguNiA5LjQgOS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjB6TTIwNS4zIDI1NmwxNDYuNy0xNDYuNyA1MC43IDUwLjctOTYgOTYtMTAxLjUgMHoiXX0sYkZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlbGljb3B0ZXIiLGljb246WzU3Niw1MTIsWzEyODY0MV0sImY1MzMiLCJNMTc2IDMyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE1MiAwIDAgNDgtMjIwLjggMC0zMi44LTM5LjRDNjkuOSA4My4yIDYzLjEgODAgNTYgODBMMjQgODBDMTUuNyA4MCA4IDg0LjMgMy42IDkxLjRzLTQuOCAxNS45LTEuMSAyMy40bDQ4IDk2QzU0LjYgMjE4LjkgNjIuOSAyMjQgNzIgMjI0bDEwNy44IDAgMTA0IDE0My4xYzE1LjEgMjAuNyAzOS4xIDMyLjkgNjQuNyAzMi45bDc1LjUgMGM3NS4xIDAgMTM2LTYwLjkgMTM2LTEzNlM0OTkuMSAxMjggNDI0IDEyOGwtNDggMCAwLTQ4IDE1MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDE3NiAzMnpNMzc2IDE5Mmw0OCAwYzM5LjggMCA3MiAzMi4yIDcyIDcycy0zMi4yIDcyLTcyIDcybC00OCAwIDAtMTQ0ek01NTIgNDE2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNCAwIDQuNC0zLjYgOC04IDhsLTI3MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI3MiAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2IDAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSx2RnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWl0dGVuIixpY29uOls0NDgsNTEyLFtdLCJmN2I1IiwiTTM1MiAzODRMNjQgMzg0IDUuNCAxNzguOUMxLjggMTY2LjQgMCAxNTMuNCAwIDE0MC4zIDAgNjIuOCA2Mi44IDAgMTQwLjMgMGwzLjQgMGM2NiAwIDEyMy41IDQ0LjkgMTM5LjUgMTA4LjlsMzEuNCAxMjUuOCAxNy42LTIwLjFDMzQ0LjggMjAwLjIgMzYyLjkgMTkyIDM4MiAxOTJsMi44IDBjMzQuOSAwIDYzLjMgMjguMyA2My4zIDYzLjMgMCAxNS45LTYgMzEuMi0xNi44IDQyLjlMMzUyIDM4NHpNMzIgNDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDI4OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJMNjQgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2eiJdfSx4RnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2FzLXB1bXAiLGljb246WzUxMiw1MTIsWzk5ODFdLCJmNTJmIiwiTTMyIDY0QzMyIDI4LjcgNjAuNyAwIDk2IDBMMjU2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxOTIgOCAwYzQ4LjYgMCA4OCAzOS40IDg4IDg4bDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE1NGMtMjcuNi03LjEtNDgtMzIuMi00OC02MmwwLTU5LjUtMjUuOC0yOC4zYy04LjktOS44LTguMi0yNSAxLjYtMzMuOXMyNS04LjIgMzMuOSAxLjZsNzEuNyA3OC44YzkuNCAxMC4zIDE0LjYgMjMuNyAxNC42IDM3LjdMNTEyIDM3NmMwIDM5LjgtMzIuMiA3Mi03MiA3MnMtNzItMzIuMi03Mi03MmwwLTMyYzAtMjIuMS0xNy45LTQwLTQwLTQwbC04IDAgMCAxNjEuNGM5LjMgMy4zIDE2IDEyLjIgMTYgMjIuNiAwIDEzLjMtMTAuNyAyNC0yNCAyNEw0MCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0IDAtMTAuNSA2LjctMTkuMyAxNi0yMi42TDMyIDY0ek05NiA4MGwwIDk2YzAgOC44IDcuMiAxNiAxNiAxNmwxMjggMGM4LjggMCAxNi03LjIgMTYtMTZsMC05NmMwLTguOC03LjItMTYtMTYtMTZMMTEyIDY0Yy04LjggMC0xNiA3LjItMTYgMTZ6Il19LHlGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlbnZlbG9wZS1jaXJjbGUtY2hlY2siLGljb246WzY0MCw1MTIsW10sImU0ZTgiLCJNNjQgMTEyYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDQxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgODEuNGMtMjQuNC0xMS4yLTUxLjQtMTcuNC04MC0xNy40LTg3LjcgMC0xNjEuNyA1OC44LTE4NC43IDEzOS4yLTcuMS0xLjMtMTQuMS00LjItMjAuMS04LjhsLTIwOC0xNTZDNzEuMSAxNDEuMyA2NCAxMjcuMSA2NCAxMTJ6TTMwNCAzNjhjMCAyOC42IDYuMiA1NS42IDE3LjQgODBMMTI4IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xODggMTk4LjQgMTQ4LjhjMTIuNiA5LjQgMjYuOSAxNS40IDQxLjcgMTcuOSAwIDEuOC0uMSAzLjUtLjEgNS4zem00OCAwYTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTIwMS40LTYwLjljLTcuMS01LjItMTcuMi0zLjYtMjIuNCAzLjVsLTUzIDcyLjktMjYuOC0yNi44Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDQwIDQwYzMuMyAzLjMgNy45IDUgMTIuNiA0LjZzOC45LTIuOCAxMS43LTYuNWw2NC04OGM1LjItNy4xIDMuNi0xNy4yLTMuNS0yMi4zeiJdfSxHaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXNrYXRpbmciLGljb246WzUxMiw1MTIsWyJza2F0aW5nIl0sImY3YzUiLCJNMzY4IDU2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTI4IDEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxNTAuMSAwYzQ5LjkgMCA3NC45IDYwLjMgMzkuNiA5NS42bC02My45IDYzLjkgNjkuOCAzMWMxNy4zIDcuNyAyOC41IDI0LjkgMjguNSA0My45bDAgODUuNmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTc1LjItODIuNC0zNi42Yy00MS0xOC4yLTUxLTcyLTE5LjMtMTAzLjdsNDAuNC00MC40LTk4LjcgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTg5LjQgMzYxLjRsNzUuOS03NS45YzcuNyAxOS43IDIxLjYgMzcuMyA0MSA0OS42bC03MS42IDcxLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zem0zNDYuNSA4Ny4xYzguNiAyLjEgMTMuOCAxMC44IDExLjYgMTkuNGwtLjQgMS43Yy02LjIgMjQuOS0yOC42IDQyLjQtNTQuMyA0Mi40TDMwNCA1MTJjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsODguOCAwYzExIDAgMjAuNi03LjUgMjMuMy0xOC4ybC40LTEuN2MyLjEtOC42IDEwLjgtMTMuOCAxOS40LTExLjZ6TTE0My4yIDQ4Ni4zbC02LjIgMy4xYy0yMS42IDEwLjgtNDcuNiA2LjYtNjQuNi0xMC41TDEyLjcgNDE5LjNjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGw1OS42IDU5LjZjNy4zIDcuMyAxOC41IDkuMSAyNy43IDQuNWw2LjItMy4xYzcuOS00IDE3LjUtLjcgMjEuNSA3LjJzLjcgMTcuNS03LjIgMjEuNXoiXX0sd0Z0PUdoZSxEdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VuIixpY29uOls1NzYsNTEyLFs5NzI4XSwiZjE4NSIsIk0yODgtMzJjOC40IDAgMTYuMyA0LjQgMjAuNiAxMS43TDM2NC4xIDcyLjMgNDY4LjkgNDZjOC4yLTIgMTYuOSAuNCAyMi44IDYuM1M1MDAgNjcgNDk4IDc1LjFsLTI2LjMgMTA0LjcgOTIuNyA1NS41YzcuMiA0LjMgMTEuNyAxMi4yIDExLjcgMjAuNnMtNC40IDE2LjMtMTEuNyAyMC42TDQ3MS43IDMzMi4xIDQ5OCA0MzYuOGMyIDguMi0uNCAxNi45LTYuMyAyMi44UzQ3NyA0NjggNDY4LjkgNDY2bC0xMDQuNy0yNi4zLTU1LjUgOTIuN2MtNC4zIDcuMi0xMi4yIDExLjctMjAuNiAxMS43cy0xNi4zLTQuNC0yMC42LTExLjdMMjExLjkgNDM5LjcgMTA3LjIgNDY2Yy04LjIgMi0xNi44LS40LTIyLjgtNi4zUzc2IDQ0NSA3OCA0MzYuOGwyNi4yLTEwNC43LTkyLjYtNTUuNUM0LjQgMjcyLjIgMCAyNjQuNCAwIDI1NnM0LjQtMTYuMyAxMS43LTIwLjZMMTA0LjMgMTc5LjkgNzggNzUuMWMtMi04LjIgLjMtMTYuOCA2LjMtMjIuOFM5OSA0NCAxMDcuMiA0NmwxMDQuNyAyNi4yIDU1LjUtOTIuNiAxLjgtMi42YzQuNS01LjcgMTEuNC05LjEgMTguOC05LjF6bTAgMTQ0YTE0NCAxNDQgMCAxIDAgMCAyODggMTQ0IDE0NCAwIDEgMCAwLTI4OHptMCAyNDBhOTYgOTYgMCAxIDEgMC0xOTIgOTYgOTYgMCAxIDEgMCAxOTJ6Il19LFloZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXNlYmFsbCIsaWNvbjpbNTEyLDUxMixbMTI5MzU4LDk5MTgsImJhc2ViYWxsLWJhbGwiXSwiZjQzMyIsIk0yMzIuNCAxLjFjLTEyMi4yIDExLjQtMjE5LjUgMTA4LjctMjMwLjkgMjMwLjkgMTYuMi0uMSAzMi0xLjggNDcuMi01IDEzLTIuNyAyNS43IDUuNSAyOC40IDE4LjVzLTUuNSAyNS43LTE4LjUgMjguNGMtMTguNCAzLjktMzcuNiA2LTU3LjEgNi4xIDExLjQgMTIyLjIgMTA4LjcgMjE5LjUgMjMwLjkgMjMwLjkgLjEtMTkuNSAyLjItMzguNyA2LjEtNTcuMSAyLjctMTMgMTUuNS0yMS4zIDI4LjQtMTguNXMyMS4zIDE1LjUgMTguNSAyOC40Yy0zLjIgMTUuMi00LjkgMzEtNSA0Ny4yIDEyMi4yLTExLjQgMjE5LjUtMTA4LjcgMjMwLjktMjMwLjktMTYuMiAuMS0zMiAxLjgtNDcuMiA1LTEzIDIuNy0yNS43LTUuNS0yOC40LTE4LjVzNS41LTI1LjcgMTguNS0yOC40YzE4LjQtMy45IDM3LjYtNiA1Ny4xLTYuMS0xMS40LTEyMi4yLTEwOC43LTIxOS41LTIzMC45LTIzMC45LS4xIDE5LjUtMi4yIDM4LjctNi4xIDU3LjEtMi43IDEzLTE1LjUgMjEuMy0yOC40IDE4LjVzLTIxLjMtMTUuNS0xOC41LTI4LjRjMy4yLTE1LjIgNC45LTMxIDUtNDcuMnptMi44IDE1MS40Yy0yMS40IDMyLjktNDkuNSA2MC45LTgyLjMgODIuMy0xMS4xIDcuMi0yNiA0LjEtMzMuMi03cy00LjEtMjYgNy0zMy4yYzI3LjItMTcuNyA1MC41LTQxIDY4LjMtNjguMyA3LjItMTEuMSAyMi4xLTE0LjMgMzMuMi03czE0LjMgMjIuMSA3IDMzLjJ6TTM5My4xIDI4NC4yYzcuMiAxMS4xIDQuMSAyNi03IDMzLjItMjcuMiAxNy43LTUwLjUgNDEtNjguMyA2OC4zLTcuMiAxMS4xLTIyLjEgMTQuMy0zMy4yIDdzLTE0LjMtMjIuMS03LTMzLjJjMjEuNC0zMi45IDQ5LjUtNjAuOSA4Mi4zLTgyLjMgMTEuMS03LjIgMjYtNC4xIDMzLjIgN3oiXX0sTUZ0PVloZSxrRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaW1hZ2UiLGljb246WzQ0OCw1MTIsW10sImYwM2UiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNjQgODBhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2ek0yNzIgMjI0YzguNCAwIDE2LjEgNC40IDIwLjUgMTEuNWw4OCAxNDRjNC41IDcuNCA0LjcgMTYuNyAuNSAyNC4zUzM2OC43IDQxNiAzNjAgNDE2TDg4IDQxNmMtOC45IDAtMTcuMi01LTIxLjMtMTIuOXMtMy41LTE3LjUgMS42LTI0LjhsNTYtODBjNC41LTYuNCAxMS44LTEwLjIgMTkuNy0xMC4yczE1LjIgMy44IDE5LjcgMTAuMmwyNi40IDM3LjggNjEuNC0xMDAuNWM0LjQtNy4xIDEyLjEtMTEuNSAyMC41LTExLjV6Il19LFNGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJub3RkZWYiLGljb246WzM4NCw1MTIsW10sImUxZmUiLCJNNjQgMzkwLjNMMTUzLjUgMjU2IDY0IDEyMS43IDY0IDM5MC4zek0xMDIuNSA0NDhMMjgxLjUgNDQ4IDE5MiAzMTMuNyAxMDIuNSA0NDh6bTEyOC0xOTJMMzIwIDM5MC4zIDMyMCAxMjEuNyAyMzAuNSAyNTZ6TTI4MS41IDY0TDEwMi41IDY0IDE5MiAxOTguMyAyODEuNSA2NHpNMCA0OEMwIDIxLjUgMjEuNSAwIDQ4IDBMMzM2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0MTZjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDQ4eiJdfSxLaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFza2V0YmFsbCIsaWNvbjpbNTEyLDUxMixbMTI3OTM2LCJiYXNrZXRiYWxsLWJhbGwiXSwiZjQzNCIsIk05Mi43IDU4LjhsNzguNCA3OC40YzE4LjItMjUgMjguOS01NS45IDI4LjktODkuMiAwLTE0LjEtMS45LTI3LjctNS41LTQwLjYtMzggOS40LTcyLjYgMjcuMi0xMDEuOCA1MS40ek01OC44IDkyLjdjLTI0LjIgMjkuMi00MiA2My44LTUxLjQgMTAxLjggMTIuOSAzLjYgMjYuNSA1LjUgNDAuNiA1LjUgMzMuMyAwIDY0LjEtMTAuNyA4OS4yLTI4LjlMNTguOCA5Mi43ek0yNTYgMGMtNC42IDAtOS4yIC4xLTEzLjcgLjQgMy43IDE1LjMgNS43IDMxLjIgNS43IDQ3LjYgMCA0Ni42LTE1LjkgODkuNC00Mi42IDEyMy40TDI1NiAyMjIuMSA0MTkuMyA1OC44QzM3NC45IDIyLjEgMzE4LjEgMCAyNTYgMHpNNDggMjQ4Yy0xNi40IDAtMzIuNC0yLTQ3LjYtNS43LS4yIDQuNS0uNCA5LjEtLjQgMTMuNyAwIDYyLjEgMjIuMSAxMTguOSA1OC44IDE2My4zTDIyMi4xIDI1NiAxNzEuNCAyMDUuNEMxMzcuNCAyMzIuMSA5NC42IDI0OCA0OCAyNDh6bTQ2My42IDIxLjdjLjItNC41IC40LTkuMSAuNC0xMy43IDAtNjIuMS0yMi4xLTExOC45LTU4LjgtMTYzLjNMMjg5LjkgMjU2IDM0MC42IDMwNi42YzM0LTI2LjcgNzYuOS00Mi42IDEyMy40LTQyLjYgMTYuNCAwIDMyLjQgMiA0Ny42IDUuN3ptLTcuMSA0Ny44Yy0xMi45LTMuNi0yNi41LTUuNS00MC42LTUuNS0zMy4zIDAtNjQuMSAxMC43LTg5LjIgMjguOWw3OC40IDc4LjRjMjQuMi0yOS4yIDQyLTYzLjggNTEuNC0xMDEuOHpNMzQwLjkgMzc0LjhjLTE4LjIgMjUtMjguOSA1NS45LTI4LjkgODkuMiAwIDE0LjEgMS45IDI3LjcgNS41IDQwLjYgMzgtOS40IDcyLjYtMjcuMiAxMDEuOC01MS40bC03OC40LTc4LjR6bS0zNC4zLTM0LjNMMjU2IDI4OS45IDkyLjcgNDUzLjJjNDQuMyAzNi43IDEwMS4yIDU4LjggMTYzLjMgNTguOCA0LjYgMCA5LjItLjEgMTMuNy0uNC0zLjctMTUuMy01LjctMzEuMi01LjctNDcuNiAwLTQ2LjYgMTUuOS04OS40IDQyLjYtMTIzLjR6Il19LHpGdD1LaGUsWmhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlbmNpbCIsaWNvbjpbNTEyLDUxMixbOTk5OSw2MTUwNCwicGVuY2lsLWFsdCJdLCJmMzAzIiwiTTM2LjQgMzUzLjJjNC4xLTE0LjYgMTEuOC0yNy45IDIyLjYtMzguN2wxODEuMi0xODEuMiAzMy45LTMzLjljMTYuNiAxNi42IDUxLjMgNTEuMyAxMDQgMTA0bDMzLjkgMzMuOS0zMy45IDMzLjktMTgxLjIgMTgxLjJjLTEwLjcgMTAuNy0yNC4xIDE4LjUtMzguNyAyMi42TDMwLjQgNTEwLjZjLTguMyAyLjMtMTcuMyAwLTIzLjQtNi4yUy0xLjQgNDg5LjMgLjkgNDgxTDM2LjQgMzUzLjJ6bTU1LjYtMy43Yy00LjQgNC43LTcuNiAxMC40LTkuMyAxNi42bC0yNC4xIDg2LjkgODYuOS0yNC4xYzYuNC0xLjggMTIuMi01LjEgMTctOS43TDkxLjkgMzQ5LjV6bTM1NC0xNDYuMWMtMTYuNi0xNi42LTUxLjMtNTEuMy0xMDQtMTA0TDMwOCA2NS41QzMzNC41IDM5IDM0OS40IDI0LjEgMzUyLjkgMjAuNiAzNjYuNCA3IDM4NC44LS42IDQwNC0uNlM0NDEuNiA3IDQ1NS4xIDIwLjZsMzUuNyAzNS43QzUwNC40IDY5LjkgNTEyIDg4LjMgNTEyIDEwNy40cy03LjYgMzcuNi0yMS4yIDUxLjFjLTMuNSAzLjUtMTguNCAxOC40LTQ0LjkgNDQuOXoiXX0sQ0Z0PVpoZSxfRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXdhbGtpbmctYXJyb3ctbG9vcC1sZWZ0IixpY29uOls2NDAsNTEyLFtdLCJlNTUxIiwiTTE2MCA4MGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnpNNzMuNCAyMjcuOWwyMi42LTIyLjYgMCA2OS4zYzAgMjggMTIuMiA1NC43IDMzLjUgNzIuOWw3MS40IDYxLjJjNS45IDUuMSA5LjggMTIuMSAxMC45IDE5LjhsMTIuNiA4OC4xYzIuNSAxNy41IDE4LjcgMjkuNyAzNi4yIDI3LjJzMjkuNy0xOC43IDI3LjItMzYuMmwtMTIuNi04OC4xYy0zLjMtMjMuMS0xNC45LTQ0LjEtMzIuNi01OS4zbC0zNC41LTI5LjYgMC0xMTUuMiAzLjggNC43YzE4LjIgMjIuOCA0NS44IDM2IDc1IDM2bDMzLjIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzMuMiAwYy05LjcgMC0xOC45LTQuNC0yNS0xMmwtMTcuOS0yMi40Yy0yMy0yOC44LTU3LjktNDUuNi05NC44LTQ1LjYtMzIuMiAwLTYzLjEgMTIuOC04NS44IDM1LjZMMjguMSAxODIuNkMxMC4xIDIwMC42IDAgMjI1IDAgMjUwLjVMMCAyODhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM3LjVjMC04LjUgMy40LTE2LjYgOS40LTIyLjZ6TTg1LjggNDA3LjNjLTEuNSA1LjItNC4zIDEwLTguMSAxMy44TDkuNCA0ODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw2OC4zLTY4LjNjMTEuNS0xMS41IDE5LjktMjUuOCAyNC40LTQxLjVsMi4yLTcuNi00Ni0zOS40Yy0yLjUtMi4yLTUtNC40LTcuNC02LjhMODUuOCA0MDcuM3pNMzU5IDMzNWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC0zMS0zMSAxMDIuMSAwYzEuMiAwIDIuNC0uMSAzLjUtLjMgNTYuMS0zLjkgMTAwLjUtNTAuNiAxMDAuNS0xMDcuNyAwLTU5LjYtNDguNC0xMDgtMTA4LTEwOGwtOTIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw5MiAwYzMzLjEgMCA2MCAyNi45IDYwIDYwcy0yNi45IDYwLTYwIDYwbC05OC4xIDAgMzEtMzFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNzIgNzJ6Il19LFRGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlLXNpeCIsaWNvbjpbNDQ4LDUxMixbOTg2MV0sImY1MjYiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTE2MCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0xMjggMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHptMzIgNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzIwIDE5MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTMyIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTMyMCAzODRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxYaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5nbGVzLWRvd24iLGljb246WzM4NCw1MTIsWyJhbmdsZS1kb3VibGUtZG93biJdLCJmMTAzIiwiTTIxNC42IDQ3MC42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtMTYwLTE2MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEwxOTIgNDAyLjcgMzI5LjQgMjY1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2wtMTYwIDE2MHptMTYwLTM1MmwtMTYwIDE2MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTE2MC0xNjBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMMTkyIDIxMC43IDMyOS40IDczLjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3oiXX0sTEZ0PVhoZSwkRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3lyaW5nZSIsaWNvbjpbNTc2LDUxMixbMTI4MTM3XSwiZjQ4ZSIsIk00OTcuNS0xN2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwxNSAxNS00Ni4xIDQ2LjEtNjMtNjNjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNyA3LTc4LjEgNzguMSA0MSA0MWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC00MS00MS00Ni4xIDQ2LjEgNDEgNDFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDEtNDEtMzcuNyAzNy43Yy0xMC41IDEwLjUtMTYuNCAyNC43LTE2LjQgMzkuNmwwIDg4LjgtNTcgNTdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw1Ny01NyA4OC44IDBjMTQuOSAwIDI5LjEtNS45IDM5LjYtMTYuNGwyMjkuNy0yMjkuNyA3IDdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02My02MyA0Ni4xLTQ2LjEgMTUgMTVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02NC02NHoiXX0sUWhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndoZWF0LWF3biIsaWNvbjpbNTc2LDUxMixbIndoZWF0LWFsdCJdLCJlMmNkIiwiTTc5LjcgMjM0LjZjNi4yLTQuMSAxNC43LTMuNCAyMC4xIDIuMWw0Ni4xIDQ2LjEgNi4xIDYuN2MxOS43IDIzLjggMjYuMyA1NSAxOS4yIDgzLjkgMzEuNy03LjcgNjYuMiAxIDkwLjYgMjUuM2w0Ni4xIDQ2LjFjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTcuNCA3LjRjLTM3LjUgMzcuNS05OC4zIDM3LjUtMTM1LjggMEwxMzQuMSA0NDQuMyA0OS40IDUyOWMtOS40IDkuNC0yNC41IDkuNC0zMy45IDAtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsODQuNy04NC43LTMwLjUtMzAuNWMtMzcuNS0zNy41LTM3LjUtOTguMyAwLTEzNS43bDcuNC03LjQgMi41LTIuMXptMTA0LTEwNGM2LjItNC4xIDE0LjctMy40IDIwLjEgMi4xbDQ2LjEgNDYuMSA2LjEgNi43YzE5LjcgMjMuOCAyNi4zIDU1IDE5LjIgODMuOSAzMS43LTcuNyA2Ni4yIDEgOTAuNiAyNS4zbDQ2LjEgNDYuMWM2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtNy40IDcuNGMtMzcuNSAzNy41LTk4LjMgMzcuNS0xMzUuOCAwbC05NC45LTk0LjljLTM3LjUtMzcuNS0zNy41LTk4LjMgMC0xMzUuN2w3LjQtNy40IDIuNS0yLjF6TTQ5NS4yIDE1YzkuNC05LjQgMjQuNi05LjQgMzQgMCA4LjggOC44IDkuMyAyMi43IDEuNiAzMi4yTDUyOS4yIDQ5IDQxNC43IDE2My40YzcuNyAxIDE1LjIgMyAyMi41IDUuOUw0OTUuNSAxMTFjOS40LTkuNCAyNC42LTkuNCAzNCAwIDguOCA4LjggOS4zIDIyLjcgMS42IDMyLjFsLTEuNyAxLjgtNTIuNyA1Mi43IDM5IDM5YzYuMiA2LjIgNi4yIDE2LjQgMCAyMi42bC03LjQgNy40Yy0zNy41IDM3LjUtOTguMyAzNy41LTEzNS44IDBsLTk0LjktOTQuOWMtMzcuNS0zNy41LTM3LjUtOTguMyAwLTEzNS43bDcuNC03LjQgMi41LTIuMWM2LjItNC4xIDE0LjctMy40IDIwLjEgMi4xbDM5IDM5IDUyLjctNTIuN2M5LjQtOS40IDI0LjYtOS40IDM0IDAgOC44IDguOCA5LjMgMjIuNyAxLjYgMzIuMWwtMS43IDEuOC01OC4zIDU4LjNjMi44IDcuMSA0LjcgMTQuNSA1LjcgMjIuMUw0OTUuMiAxNXoiXX0sREZ0PVFoZSxBRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUtdXAiLGljb246WzUxMiw1MTIsW10sImUyMmQiLCJNMjAwIDI0YzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZsMCAxMjcuMyAxNzMuNiAxNTkuMmM2LjYgNi4xIDEwLjQgMTQuNiAxMC40IDIzLjZsMCA0My43YzAgMTAuOS0xMC43IDE4LjYtMjEuMSAxNS4ybC0xNjIuOS01NC4zIDAgOTkuNyA2NiA1Mi44YzMuOCAzIDYgNy42IDYgMTIuNWwwIDE5LjhjMCAxMC40LTkuOCAxOC0xOS45IDE1LjVMMjU2IDUxMiAxNDcuOSA1MzljLTEwLjEgMi41LTE5LjktNS4xLTE5LjktMTUuNWwwLTE5LjhjMC00LjkgMi4yLTkuNSA2LTEyLjVsNjYtNTIuOCAwLTk5LjctMTYyLjkgNTQuM0MyNi43IDM5Ni40IDE2IDM4OC43IDE2IDM3Ny44bDAtNDMuN2MwLTkgMy44LTE3LjUgMTAuNC0yMy42TDIwMCAxNTEuMyAyMDAgMjR6Il19LEVGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbGlnbi1jZW50ZXIiLGljb246WzQ0OCw1MTIsW10sImYwMzciLCJNMzUyIDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDEyOCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnptOTYgMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDMyIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnpNMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzg0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMzUyIDMyMGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTkyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6Il19LFBGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob2NrZXktcHVjayIsaWNvbjpbNTEyLDUxMixbXSwiZjQ1MyIsIk0yNTYgMjU2QzExNC42IDI1NiAwIDIxMyAwIDE2MHMxMTQuNi05NiAyNTYtOTYgMjU2IDQzIDI1NiA5Ni0xMTQuNiA5Ni0yNTYgOTZ6TTAgMzUyTDAgMjQyLjdjMTYuOSAxMi4zIDM3IDIyLjIgNTguMSAzMC4xIDUzIDE5LjkgMTIzIDMxLjIgMTk3LjkgMzEuMnMxNDQuOS0xMS4zIDE5Ny45LTMxLjJjMjEuMi03LjkgNDEuMi0xNy44IDU4LjEtMzAuMUw1MTIgMzUyYzAgNTMtMTE0LjYgOTYtMjU2IDk2UzAgNDA1IDAgMzUyeiJdfSxKaGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWFycm93LWxlZnQiLGljb246WzUxMiw1MTIsWyJhcnJvdy1jaXJjbGUtbGVmdCJdLCJmMGE4IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xMzUgMjM5bDgwLTgwYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMzkgMzkgMTUwLjEgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTUwLjEgMCAzOSAzOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC04MC04MGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6Il19LElGdD1KaGUsTkZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsdWctY2lyY2xlLWJvbHQiLGljb246WzY0MCw1MTIsW10sImU1NWIiLCJNMTkyLTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgMTI4IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgOTYgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDQ4LjdjLTk4LjYgOC4xLTE3NiA5MC43LTE3NiAxOTEuMyAwIDI3LjMgNS43IDUzLjMgMTYgNzYuOWwwIDMuMWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY2LjdDMTY1LjIgMzk4LjEgOTYgMzE5LjEgOTYgMjI0bDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzc4LjMgOTYgOTYgOTZsNjQgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0zNTIgNDAwYTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTE3Ny40LTc3Yy01LjgtNC4yLTEzLjgtNC0xOS40IC41bC04MCA2NGMtNS4zIDQuMi03LjQgMTEuNC01LjEgMTcuOFM0MzMuMiA0MTYgNDQwIDQxNmwzMi45IDAtMTUuOSA0Mi40Yy0yLjUgNi43LS4yIDE0LjMgNS42IDE4LjZzMTMuOCA0IDE5LjQtLjVsODAtNjRjNS4zLTQuMiA3LjQtMTEuNCA1LjEtMTcuOFM1NTguOCAzODQgNTUyIDM4NGwtMzIuOSAwIDE1LjktNDIuNGMyLjUtNi43IC4yLTE0LjMtNS42LTE4LjZ6Il19LFJGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZXN0cm9vbSIsaWNvbjpbNjQwLDUxMixbXSwiZjdiZCIsIk04MCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwem00MCAzMDRsMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNTQuOGMtOC4xIDkuMi0yMS4xIDEzLjItMzMuNSA5LjQtMTYuOS01LjMtMjYuMy0yMy4yLTIxLTQwLjFsMjkuNy05NS4yQzQ0LjQgMTU2LjkgODMuNiAxMjggMTI4IDEyOHM4My42IDI4LjkgOTYuOCA3MS4ybDI5LjcgOTUuMmM1LjMgMTYuOS00LjEgMzQuOC0yMSA0MC4xLTEyLjQgMy45LTI1LjQtLjItMzMuNS05LjRMMjAwIDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEyOC0xNiAwek0zMjAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQ2NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNNDY0IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTQ0MCA0ODBsMC05Ni0xNy44IDBjLTEwLjkgMC0xOC42LTEwLjctMTUuMi0yMS4xbDktMjYuOWMtMy4yIDAtNi40LS41LTkuNS0xLjUtMTYuOS01LjMtMjYuMy0yMy4yLTIxLTQwLjFsMjkuNy05NS4yQzQyOC40IDE1Ni45IDQ2Ny42IDEyOCA1MTIgMTI4czgzLjYgMjguOSA5Ni44IDcxLjJsMjkuNyA5NS4yYzUuMyAxNi45LTQuMSAzNC44LTIxIDQwLjEtMy4yIDEtNi40IDEuNS05LjUgMS41bDkgMjYuOWMzLjUgMTAuNC00LjMgMjEuMS0xNS4yIDIxLjFsLTE3LjggMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTYtMTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyeiJdfSxPRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5jaG9yLWxvY2siLGljb246WzY0MCw1MTIsW10sImU0YWQiLCJNMzIwLjUgOTZhMzIgMzIgMCAxIDEgLTY0IDAgMzIgMzIgMCAxIDEgNjQgMHptLTMyLTk2Yy01MyAwLTk2IDQzLTk2IDk2IDAgNDEuOCAyNi43IDc3LjQgNjQgOTAuNWwwIDI1Ny45Yy02Mi45LTE0LjMtMTEwLjItNjkuNy0xMTEuOS0xMzYuNWwxNi4xIDE0LjFjMTAgOC43IDI1LjEgNy43IDMzLjktMi4zczcuNy0yNS4xLTIuMy0zMy45bC02NC01NmMtOS03LjktMjIuNi03LjktMzEuNiAwbC02NCA1NmMtMTAgOC43LTExIDIzLjktMi4zIDMzLjlzMjMuOSAxMSAzMy45IDIuM2wxNi4yLTE0LjJjMi4xIDExMy4xIDk0LjQgMjA0LjEgMjA4IDIwNC4xIDI4LjMgMCA1NS40LTUuNyA4MC0xNS45bDAtLjIgMC03Mi4yYy0xNC40IDkuNi0zMC42IDE2LjctNDggMjAuN2wwLTI1Ny45YzM3LjMtMTMuMiA2NC00OC43IDY0LTkwLjUgMC01My00My05Ni05Ni05NnptMjcyIDMwNC4xbDAgNDcuOS02NCAwIDAtNDcuOWMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyek00MTYuNSA0MDBsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTk2YzAtMjAuOS0xMy40LTM4LjctMzItNDUuM2wwLTUwLjZjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBsMCA1MC42Yy0xOC42IDYuNi0zMiAyNC40LTMyIDQ1LjN6Il19LEZGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0aW1lbGluZSIsaWNvbjpbNTc2LDUxMixbXSwiZTI5YyIsIk0xNjAgMTY5LjNjMjguMy0xMi4zIDQ4LTQwLjUgNDgtNzMuMyAwLTQ0LjItMzUuOC04MC04MC04MFM0OCA1MS44IDQ4IDk2YzAgMzIuOCAxOS43IDYxIDQ4IDczLjNsMCA1NC43LTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjI0IDAgMCA1NC43Yy0yOC4zIDEyLjMtNDggNDAuNS00OCA3My4zIDAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0zMi44LTE5LjctNjEtNDgtNzMuM2wwLTU0LjcgMjI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC01NC43YzI4LjMtMTIuMyA0OC00MC41IDQ4LTczLjMgMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBjMCAzMi44IDE5LjcgNjEgNDggNzMuM2wwIDU0LjctMjU2IDAgMC01NC43eiJdfSxCRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlnaHRidWxiIixpY29uOlszODQsNTEyLFsxMjgxNjFdLCJmMGViIiwiTTI5Mi45IDM4NGM3LjMtMjIuMyAyMS45LTQyLjUgMzguNC01OS45IDMyLjctMzQuNCA1Mi43LTgwLjkgNTIuNy0xMzIuMSAwLTEwNi04Ni0xOTItMTkyLTE5MlMwIDg2IDAgMTkyYzAgNTEuMiAyMCA5Ny43IDUyLjcgMTMyLjEgMTYuNSAxNy40IDMxLjIgMzcuNiAzOC40IDU5LjlsMjAxLjcgMHpNMjg4IDQzMmwtMTkyIDAgMCAxNmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwzMiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtMTZ6TTE4NCAxMTJjLTM5LjggMC03MiAzMi4yLTcyIDcyIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNjYuMyA1My43LTEyMCAxMjAtMTIwIDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0eiJdfSxlOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWFycm93LXJpZ2h0IixpY29uOls1MTIsNTEyLFsiYXJyb3ctY2lyY2xlLXJpZ2h0Il0sImYwYTkiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTQxLTE1OWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzOS0zOS0xNTAuMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE1MC4xIDAtMzktMzljLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw4MCA4MGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtODAgODB6Il19LEhGdD1lOGUscUZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcnMtYW5kLXZlbnVzIixpY29uOls1MTIsNTEyLFs5ODkzXSwiZjIyNCIsIk0zNjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxMTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDExMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTM0LjctNjMgNjNjMTkuNSAyOC40IDMxIDYyLjcgMzEgOTkuOCAwIDg2LjMtNjIuMSAxNTguMS0xNDQgMTczLjFsMCAzNC45IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTM0LjljLTgxLjktMTUtMTQ0LTg2LjgtMTQ0LTE3My4xIDAtOTcuMiA3OC44LTE3NiAxNzYtMTc2IDM3IDAgNzEuNCAxMS40IDk5LjggMzFsNjMtNjMtMzQuNyAwek0zNTIgMjA4YTExMiAxMTIgMCAxIDAgLTIyNCAwIDExMiAxMTIgMCAxIDAgMjI0IDB6Il19LEF0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJuZXR3b3JrLXdpcmVkIixpY29uOls1NzYsNTEyLFtdLCJmNmZmIiwiTTI0OCA4OGw4MCAwIDAgNDgtODAgMCAwLTQ4em0tOC01NmMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA2NGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxNiAwIDAgMzItMjI0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMCAwIDMyLTE2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjRjMCAyNi41IDIxLjUgNDggNDggNDhsOTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0xNiAwIDAtMzIgMTkyIDAgMCAzMi0xNiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDY0YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDk2IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC02NGMwLTI2LjUtMjEuNS00OC00OC00OGwtMTYgMCAwLTMyIDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIyNCAwIDAtMzIgMTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC05NiAwek00NDggMzc2bDggMCAwIDQ4LTgwIDAgMC00OCA3MiAwem0tMjU2IDBsOCAwIDAgNDgtODAgMCAwLTQ4IDcyIDB6Il19LFZGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1zaGllbGQiLGljb246WzU3Niw1MTIsW10sImU0ZDgiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMDEuMiAwYy0xMi41LTE0LjctMjMuMi0zMC44LTMxLjgtNDhsLTg5LjUgMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDAgMC0yNi43YzAtMTguMSA2LjEtMzUuMiAxNi42LTQ4LjgtLjQtMS40LS42LTIuOS0uNi00LjVsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAxIDg2LjctMjguOWMzLjEtMSA2LjItMS44IDkuMy0yLjVMNDE2IDY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDk2IDB6bTMyIDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNzIgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNMTI4IDI0MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek00NDUuMyA0ODguNWwtMTMuMyA2LjMgMC0xODguMSA5NiAzMiAwIDE5LjZjMCA1NS44LTMyLjIgMTA2LjUtODIuNyAxMzAuM3pNNDIxLjkgMjU5LjVsLTExMiAzNy4zYy0xMy4xIDQuNC0yMS45IDE2LjYtMjEuOSAzMC40bDAgMzEuMWMwIDc0LjQgNDMgMTQyLjEgMTEwLjIgMTczLjdsMTguNSA4LjdjNC44IDIuMiAxMCAzLjQgMTUuMiAzLjRzMTAuNS0xLjIgMTUuMi0zLjRsMTguNS04LjdDNTMzIDUwMC4zIDU3NiA0MzIuNiA1NzYgMzU4LjJsMC0zMS4xYzAtMTMuOC04LjgtMjYtMjEuOS0zMC40bC0xMTItMzcuM2MtNi42LTIuMi0xMy43LTIuMi0yMC4yIDB6Il19LGpGdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2RlIixpY29uOls1NzYsNTEyLFtdLCJmMTIxIiwiTTM2MC44IDEuMmMtMTctNC45LTM0LjcgNS0zOS42IDIybC0xMjggNDQ4Yy00LjkgMTcgNSAzNC43IDIyIDM5LjZzMzQuNy01IDM5LjYtMjJsMTI4LTQ0OGM0LjktMTctNS0zNC43LTIyLTM5LjZ6bTY0LjYgMTM2LjFjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDczLjQgNzMuNC03My40IDczLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsOTYtOTZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTk2LTk2Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHptLTI3NC43IDBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsOTYgOTZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0w3Ny4zIDI1NiAxNTAuNiAxODIuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3oiXX0sdDhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZlYXRoZXItcG9pbnRlZCIsaWNvbjpbNTEyLDUxMixbImZlYXRoZXItYWx0Il0sImY1NmIiLCJNNDc1LjMgLjFjOS45LS44IDE5LjYgMyAyNi42IDEwczEwLjggMTYuNyAxMCAyNi42Yy00IDQ5LjMtMTcuNCAxMjYuMi00Ni4zIDE5OS43LTEuOCA0LjUtNS41IDcuOS0xMC4yIDkuM0wzNzQuNSAyNzBjLTMuOSAxLjItNi41IDQuNy02LjUgOC44IDAgNS4xIDQuMSA5LjIgOS4yIDkuMmwzOC42IDBjMTIgMCAxOS43IDEyLjggMTMuNSAyMy4xLTQgNi43LTguMyAxMy4yLTEyLjcgMTkuNi0yIDIuOS01IDUtOC40IDYuMUwzMTAuNSAzNjZjLTMuOSAxLjItNi41IDQuNy02LjUgOC44IDAgNS4xIDQuMSA5LjIgOS4yIDkuMmwxNiAwYzE0LjYgMCAyMSAxNy40IDguOCAyNS40LTY4IDQ1LTEzNy43IDQzLjMtMTgyLjQgMzEuMy0xMi43LTMuNC0yNC05LjktMzQuNC0xNy45TDQ4IDQ5NmMtOC44IDguOC0yMy4yIDguOC0zMiAwcy04LjgtMjMuMiAwLTMybDgwLTgwIC41IC41Yy43LTEuMyAxLjYtMi41IDIuNy0zLjZMMjU2IDIyNGM4LjgtOC44IDguOC0yMy4yIDAtMzJzLTIzLjItOC44LTMyIDBMODkuNyAzMjYuMmMtOC45IDguOS0yNCA0LjQtMjUtOC4yLTQuMy01My4yIDkuMy0xMjMuMSA3Mi42LTE4Ni40IDkxLjEtOTEuMSAyNTQuMi0xMjQuNyAzMzcuOS0xMzEuNXoiXX0sVUZ0PXQ4ZSxXRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1jaXJjbGUtcXVlc3Rpb24iLGljb246WzU3Niw1MTIsW10sImU0ZWYiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMjIuNy0zMS41LTM2LTcwLjItMzYtMTEyIDAtMTAwLjYgNzcuNC0xODMuMiAxNzYtMTkxLjNsMC0zOC4xYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2ek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTEwMGMtMTEuNiAwLTIxLjMgOC4yLTIzLjUgMTkuMi0xLjggOC43LTEwLjIgMTQuMy0xOC45IDEyLjVzLTE0LjMtMTAuMi0xMi41LTE4LjljNS4yLTI1LjYgMjcuOC00NC44IDU0LjktNDQuOCAzMC45IDAgNTYgMjUuMSA1NiA1NiAwIDE5LjgtMTEuNyAzNy44LTI5LjggNDUuOWwtMTAuNCA0LjZjLTEuMiA3LjctNy44IDEzLjUtMTUuOCAxMy41LTguOCAwLTE2LTcuMi0xNi0xNiAwLTExLjIgNi42LTIxLjMgMTYuOC0yNS45bDEyLjQtNS41YzYuNi0yLjkgMTAuOC05LjQgMTAuOC0xNi42IDAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxHRnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2lnbmF0dXJlIixpY29uOls2NDAsNTEyLFtdLCJmNWI3IiwiTTE5MiAxMjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDcuOGMwIDI3LjctMi40IDU1LjMtNy4xIDgyLjVsLTg0LjQgMjUuM2MtNDAuNiAxMi4yLTY4LjQgNDkuNi02OC40IDkybDAgMzIuNC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDcyLjUgMGM0LjIgMzYgMzQuOCA2NCA3MiA2NCAyNiAwIDUwLTEzLjkgNjIuOS0zNi41bDEzLjktMjQuM2MyNi44LTQ3IDQ2LjUtOTcuNyA1OC40LTE1MC41bDk0LjQtMjguMy0xMi41IDM3LjVjLTMuMyA5LjgtMS42IDIwLjUgNC40IDI4LjhTNDA1LjcgMzIwIDQxNiAzMjBsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTgzLjYgMCAxOC01My45YzMuOC0xMS4zIC45LTIzLjgtNy40LTMyLjRzLTIwLjctMTEuOC0zMi4yLTguNEwzMTYuNCAxOTguMWMyLjQtMjAuNyAzLjYtNDEuNCAzLjYtNjIuM2wwLTcuOGMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMnptLTkuMiAxNzdsNDktMTQuN2MtMTAuNCAzMy44LTI0LjUgNjYuNC00Mi4xIDk3LjJsLTEzLjkgMjQuM2MtMS41IDIuNi00LjMgNC4zLTcuNCA0LjMtNC43IDAtOC41LTMuOC04LjUtOC41bDAtNzEuOWMwLTE0LjEgOS4zLTI2LjYgMjIuOC0zMC43ek02MTYgNDE2YzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yOTIuOSAwYy02LjUgMTYuMy0xMy43IDMyLjMtMjEuNiA0OEw2MTYgNDE2eiJdfSxxYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJlYXJ0aC1hbWVyaWNhcyIsaWNvbjpbNTEyLDUxMixbMTI3NzU4LCJlYXJ0aCIsImVhcnRoLWFtZXJpY2EiLCJnbG9iZS1hbWVyaWNhcyJdLCJmNTdkIiwiTTU1LjcgMTk5LjdsMzAuOSAzMC45YzYgNiAxNC4xIDkuNCAyMi42IDkuNGwyMS41IDBjOC41IDAgMTYuNiAzLjQgMjIuNiA5LjRsMjkuMyAyOS4zYzYgNiA5LjQgMTQuMSA5LjQgMjIuNmwwIDM3LjVjMCA4LjUgMy40IDE2LjYgOS40IDIyLjZsMTMuMyAxMy4zYzYgNiA5LjQgMTQuMSA5LjQgMjIuNmwwIDE4LjdjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIuN2MwLTguNSAzLjQtMTYuNiA5LjQtMjIuNmw0NS4zLTQ1LjNjNi02IDkuNC0xNC4xIDkuNC0yMi42bDAtMzQuN2MwLTE3LjctMTQuMy0zMi0zMi0zMmwtODIuNyAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtMTYtMTZjLTQuMi00LjItNi42LTEwLTYuNi0xNiAwLTEyLjUgMTAuMS0yMi42IDIyLjYtMjIuNmwzNC43IDBjMTIuNSAwIDIyLjYtMTAuMSAyMi42LTIyLjYgMC02LTIuNC0xMS44LTYuNi0xNmwtMTkuNy0xOS43QzI0MiAxMzAgMjQwIDEyNS4xIDI0MCAxMjBzMi0xMCA1LjctMTMuN2wxNy4zLTE3LjNjNS44LTUuOCA5LjEtMTMuNyA5LjEtMjEuOSAwLTcuMi0yLjQtMTMuNy02LjQtMTguOS0zLjItLjEtNi40LS4yLTkuNi0uMi05NS40IDAtMTc1LjcgNjQuMi0yMDAuMyAxNTEuN3pNNDY0IDI1NmMwLTM0LjYtOC40LTY3LjItMjMuNC05NS44LTYuNCAuOS0xMi43IDMuOS0xNy45IDkuMWwtMTMuNCAxMy40Yy02IDYtOS40IDE0LjEtOS40IDIyLjZsMCAzNC43YzAgMTcuNyAxNC4zIDMyIDMyIDMybDI0LjEgMGMyLjUgMCA1LS4zIDcuMy0uOCAuNC01IC41LTEwLjEgLjUtMTUuMnpNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHoiXX0sWUZ0PXFiLEtGdD1xYixaRnQ9cWIsWEZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcnJvdCIsaWNvbjpbNjQwLDUxMixbMTI5MzY1XSwiZjc4NyIsIk00NTMuMS0zNi43TDQ0MC45LTI0LjZjLTMxLjIgMzEuMi0zMS4yIDgxLjkgMCAxMTMuMSAxNS42IDE1LjYgMzEuMiAzMS4yIDQ2LjkgNDYuOSAzMS4yIDMxLjIgODEuOSAzMS4yIDExMy4xIDBsMTIuMS0xMi4xYzYuMi02LjIgNi4yLTE2LjQgMC0yMi42TDYwMC45IDg4LjZjLTMxLjItMzEuMi04MS45LTMxLjItMTEzLjEgMCAzMS4yLTMxLjIgMzEuMi04MS45IDAtMTEzLjFMNDc1LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDB6TTMzMS42IDk2Yy00NS4yIDAtODcuMSAyMC40LTExNSA1NC4zTDI3My4zIDIwN2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDE5MS42IDE5My4yIDY3LjIgNDY2LjhjLTUuNSAxMi4xLTIuOSAyNi40IDYuNSAzNS45czIzLjcgMTIgMzUuOSA2LjVsMTQxLjYtNjQuNC00My44LTQzLjhjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw1Ni41IDU2LjUgOTUuMy00My4zYzUzLjEtMjQuMSA4Ny4yLTc3LjEgODcuMi0xMzUuNSAwLTgyLjItNjYuNi0xNDguOC0xNDguOC0xNDguOHoiXX0sVmI9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVtcGVyYXR1cmUtZnVsbCIsaWNvbjpbMzIwLDUxMixbInRlbXBlcmF0dXJlLTQiLCJ0aGVybW9tZXRlci00IiwidGhlcm1vbWV0ZXItZnVsbCJdLCJmMmM3IiwiTTE2MCAwQzEwNyAwIDY0IDQzIDY0IDk2bDAgMTY0LjdDMzQuNSAyODcgMTYgMzI1LjQgMTYgMzY4IDE2IDQ0Ny41IDgwLjUgNTEyIDE2MCA1MTJzMTQ0LTY0LjUgMTQ0LTE0NGMwLTQyLjYtMTguNS04MS00OC0xMDcuM0wyNTYgOTZjMC01My00My05Ni05Ni05NnptNjQgMzY4YzAgMzUuMy0yOC43IDY0LTY0IDY0cy02NC0yOC43LTY0LTY0YzAtMjYuOSAxNi41LTQ5LjkgNDAtNTkuM0wxMzYgOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDIxMi43YzIzLjUgOS41IDQwIDMyLjUgNDAgNTkuM3oiXX0sUUZ0PVZiLEpGdD1WYixlQnQ9VmIsdEJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxlLWNlbGxzLXJvdy1sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNjdhIiwiTTI1NiAyODhsMC02NCAxNTMuMyAwYzE3LjEtNDIuMiA1Ni03My4yIDEwMi43LTc5bDAtNDljMC0zNS4zLTI4LjctNjQtNjQtNjRMMTI4IDMyQzkyLjcgMzIgNjQgNjAuNyA2NCA5NmwwIDMyMGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNDEuMyAwYy0uOS01LjItMS4zLTEwLjYtMS4zLTE2LjFsMC00Ny45LTExMiAwIDAtNjQgMTEzLjMgMGMzLjctMjIgMTQuOC00MS40IDMwLjctNTUuNmwwLTguNC0xNDQgMHptMC0xOTJsMTkyIDAgMCA2NC0xOTIgMCAwLTY0ek01NjAgMjcyLjFsMCA0Ny45LTY0IDAgMC00Ny45YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJ6TTQxNiAzNjhsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTk2YzAtMjAuOS0xMy40LTM4LjctMzItNDUuM2wwLTUwLjZjMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBsMCA1MC42Yy0xOC42IDYuNi0zMiAyNC40LTMyIDQ1LjN6Il19LGFCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib2x0LWxpZ2h0bmluZyIsaWNvbjpbMzg0LDUxMixbXSwiZTBiNyIsIk0wIDI1NkwyOC41IDI4YzItMTYgMTUuNi0yOCAzMS44LTI4TDIyOC45IDBjMTUgMCAyNy4xIDEyLjEgMjcuMSAyNy4xIDAgMy4yLS42IDYuNS0xLjcgOS41TDIwOCAxNjAgMzQ3LjMgMTYwYzIwLjIgMCAzNi43IDE2LjQgMzYuNyAzNi43IDAgNy40LTIuMiAxNC42LTYuNCAyMC43bC0xOTIuMiAyODFjLTUuOSA4LjYtMTUuNiAxMy43LTI1LjkgMTMuN2wtMi45IDBjLTE1LjcgMC0yOC41LTEyLjgtMjguNS0yOC41IDAtMi4zIC4zLTQuNiAuOS02LjlMMTc2IDI4OCAzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxyQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtc2hvd2Vycy13YXRlciIsaWNvbjpbNTEyLDUxMixbXSwiZTRlNCIsIk0yNzkuMiA1NS43QzI2My45IDIyLjggMjMwLjYgMCAxOTIgMCAxMzkgMCA5NiA0MyA5NiA5NiA2MC43IDk2IDMyIDEyNC43IDMyIDE2MHMyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0cy0yOC43LTY0LTY0LTY0bC0xLjYgMGMtNy40LTM2LjUtMzkuNy02NC03OC40LTY0LTIyLjIgMC00Mi4zIDkuMS01Ni44IDIzLjd6TTQxMC42IDQ3Ni4xYzIwLjcgMTUuNiA0NiAzMC43IDc0LjIgMzQuNSAxMy4xIDEuOCAyNS4yLTcuNSAyNy0yMC42cy03LjUtMjUuMi0yMC42LTI3Yy0xNS45LTIuMS0zMy4yLTExLjMtNTEuNy0yNS4yLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yNCAxOC4xLTQwLjcgMjYuMy01NC41IDI2LjNzLTMwLjUtOC4yLTU0LjUtMjYuM2MtMzguNC0yOS05MC41LTI5LTEyOSAwLTE4LjUgMTMuOS0zNS44IDIzLjEtNTEuNyAyNS4yLTEzLjEgMS44LTIyLjQgMTMuOC0yMC42IDI3czEzLjggMjIuNCAyNyAyMC42YzI4LjItMy44IDUzLjYtMTguOSA3NC4yLTM0LjUgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOWMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMHpNMTAwLjEgMzAzLjZjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40cy0yNi4yIDIuNi0zMC40IDE1LjJsLTIxLjMgNjRDMjkgMzY1IDM1LjggMzc4LjYgNDguNCAzODIuOHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuMy02NHptMTIwIDBjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40cy0yNi4yIDIuNi0zMC40IDE1LjJsLTIxLjMgNjRjLTQuMiAxMi42IDIuNiAyNi4yIDE1LjIgMzAuNHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuMy02NHptMTEyIDBjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40cy0yNi4yIDIuNi0zMC40IDE1LjJsLTIxLjMgNjRjLTQuMiAxMi42IDIuNiAyNi4yIDE1LjIgMzAuNHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuMy02NHptMTIwIDBjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40cy0yNi4yIDIuNi0zMC40IDE1LjJsLTIxLjMgNjRjLTQuMiAxMi42IDIuNiAyNi4yIDE1LjIgMzAuNHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuMy02NHoiXX0sYThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLWxvbmciLGljb246WzMyMCw1MTIsWyJsb25nLWFycm93LXVwIl0sImYxNzYiLCJNMTgyLjYtMjIuNmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTEyOCAxMjhjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTI4IDc3LjMgMTI4IDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNDM0LjcgNzMuNCA3My40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTEyOC0xMjh6Il19LHNCdD1hOGUsVmVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFkZHJlc3MtY2FyZCIsaWNvbjpbNTc2LDUxMixbNjIxNDAsImNvbnRhY3QtY2FyZCIsInZjYXJkIl0sImYyYmIiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptODAgMjU2bDY0IDBjNDQuMiAwIDgwIDM1LjggODAgODAgMCA4LjgtNy4yIDE2LTE2IDE2TDgwIDM4NGMtOC44IDAtMTYtNy4yLTE2LTE2IDAtNDQuMiAzNS44LTgwIDgwLTgwem0tMjQtOTZhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwem0yNDAtNDhsMTEyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTExMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0wIDk2bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xMTIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0saUJ0PVZlZSxvQnQ9VmVlLG5CdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmdsZS1yaWdodCIsaWNvbjpbMjU2LDUxMixbODI1MF0sImYxMDUiLCJNMjQ3LjEgMjMzLjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTE2MCAxNjBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDE3OS4yIDI1NiA0MS45IDExOC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDE2MCAxNjB6Il19LHI4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLW1laCIsaWNvbjpbNTEyLDUxMixbMTI4NTI4LCJtZWgiXSwiZjExYSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTc2IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek0xNzYgMzIwbDE2MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNjAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sbEJ0PXI4ZSxjQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtZnJvbS1ncm91bmQtd2F0ZXIiLGljb246WzY0MCw1MTIsW10sImU0YjUiLCJNMzAzIDdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsODggODhjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDctNDcgMCAyNzguMWMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTI3OC4xLTQ3IDQ3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDMwMyA3ek0yNDAgMTkybDAgMTYzLjFjLTEwLjYtMi4yLTIxLjMtMy4yLTMyLTMuMS0zMi41IC4yLTY0LjkgMTAuNy05Mi4zIDMxLjQtOC44IDYuNi0xNS45IDEwLjktMjEuNyAxMy41bC0uOCAuNGMtMy43IDEuNy02LjQgMi45LTkuOCAuMy02LTQuNS0xMi42LTgtMTkuMy0xMC40TDY0IDI0MGMwLTI2LjUgMjEuNS00OCA0OC00OGwxMjggMHptMzM2IDQ4bDAgMTU1LjJjLTEuMSAuOC0yLjIgMS41LTMuMyAyLjQtNC4xIDMuMS04LjMgLjgtMTIuNi0xLjUtLjYtLjMtMS4yLS42LTEuOC0xLTUuMi0yLjctMTEuMS02LjYtMTgtMTEuNy0yOC4xLTIxLjEtNjEuMy0zMS42LTk0LjQtMzEuNC0xNS41IC4xLTMxIDIuNS00NiA3LjNsMC0xNjcuMyAxMjggMGMyNi41IDAgNDggMjEuNSA0OCA0OHpNNDAzLjQgNDc2LjFDMzc5LjEgNDk0LjMgMzUxLjEgNTEyIDMyMCA1MTJzLTU5LjEtMTcuNy04My40LTM1LjljLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAwLTIzLjggMTcuOS01NC4xIDM1LjUtODguMSAzNS4zLTIwLjQtLjEtNDAuNy02LjctNTkuOC0yMS4xLTEwLjYtOC0xMi43LTIzLTQuNy0zMy42czIzLTEyLjcgMzMuNi00LjdjMTEuMyA4LjUgMjEuNiAxMS40IDMxLjIgMTEuNSAxNy42IC4xIDM3LjMtOS40IDU4LjktMjUuNyAzOC40LTI5IDkwLjUtMjkgMTI5IDAgMjQgMTguMSA0MC43IDI2LjMgNTQuNSAyNi4zczMwLjUtOC4yIDU0LjUtMjYuM2MzOC40LTI5IDkwLjUtMjkgMTI5IDAgMTYuOSAxMi43IDMyLjkgMjEuNSA0Ny44IDI0LjYgMTMuNyAyLjggMjcuNCAuOSA0Mi4zLTEwLjMgMTAuNi04IDI1LjYtNS45IDMzLjYgNC43czUuOSAyNS42LTQuNyAzMy42Yy0yNi40IDE5LjktNTQuMiAyNC40LTgwLjcgMTkuMS0yNS4zLTUuMS00OC4xLTE4LjktNjcuMi0zMy4zLTIxLjMtMTYuMS00OS45LTE2LjEtNzEuMiAweiJdfSxkQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFwIixpY29uOls1MTIsNTEyLFsxMjg1MDYsNjIwNzJdLCJmMjc5IiwiTTUxMiA0OGMwLTExLjEtNS43LTIxLjQtMTUuMi0yNy4ycy0yMS4yLTYuNC0zMS4xLTEuNEwzNDkuNSA3Ny41IDE3MC4xIDE3LjZjLTguMS0yLjctMTYuOC0yLjEtMjQuNCAxLjdsLTEyOCA2NEM2LjggODguOCAwIDk5LjkgMCAxMTJMMCA0NjRjMCAxMS4xIDUuNyAyMS40IDE1LjIgMjcuMnMyMS4yIDYuNCAzMS4xIDEuNGwxMTYuMS01OC4xIDE3OS40IDU5LjhjOC4xIDIuNyAxNi44IDIuMSAyNC40LTEuN2wxMjgtNjRjMTAuOC01LjQgMTcuNy0xNi41IDE3LjctMjguNmwwLTM1MnpNMTkyIDM3Ni45bDAtMjg0LjUgMTI4IDQyLjcgMCAyODQuNS0xMjgtNDIuN3oiXX0sdUJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItcGx1cyIsaWNvbjpbNjQwLDUxMixbXSwiZjIzNCIsIk0yODUuNyAzMDRjOTguNSAwIDE3OC4zIDc5LjggMTc4LjMgMTc4LjMgMCAxNi40LTEzLjMgMjkuNy0yOS43IDI5LjdMNzcuNyA1MTJDNjEuMyA1MTIgNDggNDk4LjcgNDggNDgyLjMgNDggMzgzLjggMTI3LjggMzA0IDIyNi4zIDMwNGw1OS40IDB6TTUyOCA4MGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4IDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDAgMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQ4LTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDggMCAwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0ek0yNTYgMjQ4YTEyMCAxMjAgMCAxIDEgMC0yNDAgMTIwIDEyMCAwIDEgMSAwIDI0MHoiXX0scEJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZlbnVzIixpY29uOlszODQsNTEyLFs5NzkyXSwiZjIyMSIsIk04MCAxNzZhMTEyIDExMiAwIDEgMSAyMjQgMCAxMTIgMTEyIDAgMSAxIC0yMjQgMHpNMjIzLjkgMzQ5LjFDMzA1LjkgMzM0LjEgMzY4IDI2Mi4zIDM2OCAxNzYgMzY4IDc4LjggMjg5LjIgMCAxOTIgMFMxNiA3OC44IDE2IDE3NmMwIDg2LjMgNjIuMSAxNTguMSAxNDQuMSAxNzMuMS0uMSAxLS4xIDEuOS0uMSAyLjlsMCA2NC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTY0YzAtMSAwLTEuOS0uMS0yLjl6Il19LGZCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWFncmFtLXN1Y2Nlc3NvciIsaWNvbjpbNDQ4LDUxMixbXSwiZTQ3YSIsIk0yODkuMiAxMzcuOWMyLjUtNiA4LjMtOS45IDE0LjgtOS45bDQwIDAgMC0yNGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtOTggMGMxLjMgNS4xIDIgMTAuNSAyIDE2bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTk2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMjU2IDBjMzkuOCAwIDcyIDMyLjIgNzIgNzJsMCAyNCA0MCAwYzYuNSAwIDEyLjMgMy45IDE0LjggOS45czEuMSAxMi45LTMuNSAxNy40bC02NCA2NGMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBsLTY0LTY0Yy00LjYtNC42LTUuOS0xMS41LTMuNS0xNy40ek0zODQgNDgwTDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTM1LjMgMjguNy02NCA2NC02NGwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0ek0xNjAgMTYwbDAtNjQtOTYgMCAwIDY0IDk2IDB6Il19LGhCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFkLXNpZGUtY291Z2gtc2xhc2giLGljb246WzU3Niw1MTIsW10sImUwNjIiLCJNNTM1LTI0LjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDQxIDUzNy4xYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDI1LTI1IDAtNDQ3LjJjMC0xNSAxMC41LTI4LjMgMjUuNC0yOS44IDcuNC0uNyAxNC45LTEuMSAyMi42LTEuMSAxMTIuNyAwIDIwNiA4My4zIDIyMS43IDE5MS43IC40IDMgMS43IDUuOSAzLjYgOC4zbDIuMiAyLjYgMjI3LjUtMjI3LjV6TTEzMy44IDUxMkwyODggMzU3LjggMjg4IDQxNmMwIDUzLTQzIDk2LTk2IDk2bC01OC4yIDB6TTE3NiAyMjRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0zMzYgNDBhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0tODggNzJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptLTY0IDQ4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEyOCAwYTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTI0IDcyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptLTg4LTI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6Il19LHM4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWFncmFtLXByb2plY3QiLGljb246WzUxMiw1MTIsWyJwcm9qZWN0LWRpYWdyYW0iXSwiZjU0MiIsIk0wIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNiAxMjggMCAwLTE2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtOTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNi0xMjggMCAwIDE2YzAgNy4zLTEuNyAxNC4zLTQuNiAyMC41bDY4LjYgOTEuNSA4MCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC03LjMgMS43LTE0LjMgNC42LTIwLjVMMTI4IDIyNCA0OCAyMjRjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODB6Il19LG1CdD1zOGUsRXRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlcm1pbmFsIixpY29uOls1MTIsNTEyLFtdLCJmMTIwIiwiTTkuNCAxMTguNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxNjAgMTYwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC0xNjAgMTYwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wxNDYuNyAyNTYgOS40IDExOC42ek0yMjQgMzg0bDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnoiXX0sZ0J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWZpcmUiLGljb246WzY0MCw1MTIsW10sImU1MGMiLCJNNDQ4IDE5MmMxNC4xIC40IDIzLjggMTEuNCAzMi43IDIxLjcgMiAyLjMgNCA0LjYgNiA2LjdsMTkgMTkuOSAxMi4yLTEzLjhjNS40LTYuMSAxMy4zLTguOSAyMC45LTguOSA3LjIgMCAxNC4zIDIuNiAxOS45IDcuOCAxOS43IDE4LjMgMzkuOCA0My4yIDU1IDcwLjYgMTUuMSAyNy4yIDI2LjIgNTguMiAyNi4yIDg4LjIgMCA4OC43LTcxLjMgMTU5LjgtMTYwIDE1OS44LTg5LjYgMC0xNjAtNzEuMy0xNjAtMTU5LjggMC0zNy4zIDE2LTczLjQgMzYuOC0xMDQuNSAyMC45LTMxLjMgNDcuNS01OSA3MC45LTgwLjEgNS43LTUuMiAxMy4xLTcuNyAyMC4zLTcuNXpNMjY4LjYgNi41YzEyLjItOS4zIDI5LjctOC43IDQxLjIgMmwxNDcuNSAxMzdjLTE5LjItNC4zLTQwIC41LTU1LjUgMTQuNC0zNi40IDMyLjYtNjcuNyA2OS44LTkwLjMgMTA2LjQtMTAuMyAxNi42LTE5LjcgMzQuOS0yNi44IDUzLjdMMjcyIDMyMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NiA2NC42IDBjNy4zIDE3LjIgMTYuOCAzMy40IDI4LjIgNDhMMTQ0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNzYtMTYgMGMtMTMuMiAwLTI1LTguMS0yOS44LTIwLjNzLTEuNi0yNi4yIDgtMzUuMWwyMjQtMjA4IDIuNC0yek00ODkuMyAzNDMuN2MtNS40LTQuNy0xMy4xLTQuNy0xOC41IDAtMTcuNyAxNS40LTU0LjcgNTEuOS01NC43IDg4LjQgMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NGMwLTM2LjUtMzctNzMtNTQuNy04OC40eiJdfSxiQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFzayIsaWNvbjpbNTc2LDUxMixbXSwiZjZmYSIsIk0yODggNjRDNjQgNjQgMCAxNjAgMCAyNzJTODAgNDQ4IDE3NiA0NDhsOC40IDBjMjQuMiAwIDQ2LjQtMTMuNyA1Ny4yLTM1LjRsMjMuMi00Ni4zYzQuNC04LjggMTMuMy0xNC4zIDIzLjItMTQuM3MxOC44IDUuNSAyMy4yIDE0LjNsMjMuMiA0Ni4zYzEwLjggMjEuNyAzMyAzNS40IDU3LjIgMzUuNGw4LjQgMGM5NiAwIDE3Ni02NCAxNzYtMTc2UzUxMiA2NCAyODggNjR6TTk2IDI1NmE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6bTMyMC02NGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHoiXX0sdkJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imh1cnJpY2FuZSIsaWNvbjpbMzg0LDUxMixbXSwiZjc1MSIsIk0wIDIwOEMwIDEwNC40IDc1LjcgMTguNSAxNzQuOSAyLjYgMTg0IDEuMiAxOTIgOC42IDE5MiAxNy45bDAgNjMuM2MwIDguNCA2LjUgMTUuMyAxNC43IDE2LjUgMTAwLjMgMTQuOSAxNzcuMyAxMDEuMyAxNzcuMyAyMDUuNyAwIDEwMy42LTc1LjcgMTg5LjUtMTc0LjkgMjA1LjQtOS4yIDEuNS0xNy4xLTUuOS0xNy4xLTE1LjJsMC02My4zQzE5MiA0MjEuOSAxODUuNSA0MTUgMTc3LjMgNDEzLjcgNzcgMzk4LjkgMCAzMTIuNCAwIDIwOHptMjg4IDQ4YTk2IDk2IDAgMSAwIC0xOTIgMCA5NiA5NiAwIDEgMCAxOTIgMHptLTk2LTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0saThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVhcnRoLWFmcmljYSIsaWNvbjpbNTEyLDUxMixbMTI3NzU3LCJnbG9iZS1hZnJpY2EiXSwiZjU3YyIsIk00NDcuNiAxNzVjLTMxLjYtNzQuNi0xMDUuNS0xMjctMTkxLjYtMTI3LTIyLjEgMC00My40IDMuNS02My40IDkuOC0uNCAyLS42IDQuMS0uNiA2LjJsMCA3My40YzAgMTIuNSAxMC4xIDIyLjYgMjIuNiAyMi42IDYgMCAxMS44LTIuNCAxNi02LjZsMTYtMTZjNi02IDE0LjEtOS40IDIyLjYtOS40bDUuNSAwYzI4LjUgMCA0Mi44IDM0LjUgMjIuNiA1NC42LTYgNi0xNC4xIDkuNC0yMi42IDkuNGwtNjEuNSAwYy04LjUgMC0xNi42IDMuNC0yMi42IDkuNGwtMjEuMyAyMS4zYy02IDYtOS40IDE0LjEtOS40IDIyLjZsMCA0Mi43YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyLjcgMGM4LjUgMCAxNi42LTMuNCAyMi42LTkuNGwyOS4zLTI5LjNjNi02IDkuNC0xNC4xIDkuNC0yMi42bDAtMTguN2MwLTguOCA3LjItMTYgMTYtMTZzMTYtNy4yIDE2LTE2bDAtMzQuN2MwLTguNS0zLjQtMTYuNi05LjQtMjIuNmwtMTYtMTZjLTQuMi00LjItNi42LTEwLTYuNi0xNiAwLTEyLjUgMTAuMS0yMi42IDIyLjYtMjIuNmw0NSAwYzEyLjQgMCAyMi43LTcuMSAyOC0xN3pNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHoiXX0seEJ0PWk4ZSxvOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGh1bWJ0YWNrIixpY29uOlszODQsNTEyLFsxMjgyMDQsMTI4MzkyLCJ0aHVtYi10YWNrIl0sImYwOGQiLCJNMzIgMzJDMzIgMTQuMyA0Ni4zIDAgNjQgMEwzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjkuNSAwIDEwLjMgMTM0LjFjMzcuMSAyMS4yIDY1LjggNTYuNCA3OC4yIDk5LjdsMy44IDEzLjRjMi44IDkuNyAuOCAyMC01LjIgMjguMVMzNjIgMzUyIDM1MiAzNTJMMzIgMzUyYy0xMCAwLTE5LjUtNC43LTI1LjUtMTIuN3MtOC0xOC40LTUuMi0yOC4xTDUgMjk3LjhjMTIuNC00My4zIDQxLTc4LjUgNzguMi05OS43TDkzLjUgNjQgNjQgNjRDNDYuMyA2NCAzMiA0OS43IDMyIDMyek0xNjAgNDAwbDY0IDAgMCAxMTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMTJ6Il19LHlCdD1vOGUsd0J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtcG9pbnQtZG93biIsaWNvbjpbMzg0LDUxMixbXSwiZjBhNyIsIk0zMiA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIwOC02NCAwIDAgMjA4ek0yMjQgMzIwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDY0em0tNjQgNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyem0xNjAtOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjR6bS05Ni04OGwwIC42YzkuNC01LjQgMjAuMy04LjYgMzItOC42IDEzLjIgMCAyNS40IDQgMzUuNiAxMC44IDguNy0yNC45IDMyLjUtNDIuOCA2MC40LTQyLjggMTEuNyAwIDIyLjYgMy4xIDMyIDguNmwwLTguNkMzODQgNzEuNiAzMTIuNCAwIDIyNCAwTDE2Mi4zIDBDMTE5LjggMCA3OS4xIDE2LjkgNDkuMSA0Ni45TDM3LjUgNTguNUMxMy41IDgyLjUgMCAxMTUuMSAwIDE0OWwwIDI3YzAgMzUuMyAyOC43IDY0IDY0IDY0bDg4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBzLTE3LjktNDAtNDAtNDBsLTU2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsNTYgMGMzOS44IDAgNzIgMzIuMiA3MiA3MnoiXX0sbjhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtbWVoLWJsYW5rIixpY29uOls1MTIsNTEyLFsxMjg1NjYsIm1laC1ibGFuayJdLCJmNWE0IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTIwOC00OGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem0xMjggMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxNQnQ9bjhlLGpiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbXBlcmF0dXJlLWVtcHR5IixpY29uOlszMjAsNTEyLFsidGVtcGVyYXR1cmUtMCIsInRoZXJtb21ldGVyLTAiLCJ0aGVybW9tZXRlci1lbXB0eSJdLCJmMmNiIiwiTTY0IDk2YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZsMCAxNjQuN2MyOS41IDI2LjQgNDggNjQuNyA0OCAxMDcuMyAwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NFMxNiA0NDcuNSAxNiAzNjhjMC00Mi42IDE4LjUtODEgNDgtMTA3LjNMNjQgOTZ6bTk2IDMzNmMzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NC02NCAyOC43LTY0IDY0IDI4LjcgNjQgNjQgNjR6Il19LGtCdD1qYixTQnQ9amIsekJ0PWpiLENCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3JkZXItbm9uZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjg1MCIsIk0zMiA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzIgMzItMTQuMyAzMi0zMi0xNC4zLTMyLTMyLTMyek0xNjAgMzJhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0ek0yODggNDE2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMyIDMyLTE0LjMgMzItMzItMTQuMy0zMi0zMi0zMnpNMTYwIDQ4MGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMi0zMiAxNC4zLTMyIDMyIDE0LjMgMzIgMzIgMzJ6TTI4OCAzMmEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6TTQxNiA0ODBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzItMzIgMTQuMy0zMiAzMiAxNC4zIDMyIDMyIDMyem0wLTM4NGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTMyIDMyYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHpNNDE2IDM1MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6TTMyIDE2MGEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6bTAgMTkyYTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNNDE2IDE2MGEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6Il19LF9CdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoaWdobGlnaHRlciIsaWNvbjpbNTc2LDUxMixbXSwiZjU5MSIsIk0zMTUgMzE1TDQ3My40IDk5LjkgNDQ0LjEgNzAuNiAyMjkgMjI5IDMxNSAzMTV6bS0xODcgNWwwIDAgMC03MS43YzAtMTUuMyA3LjItMjkuNiAxOS41LTM4LjZMNDIwLjYgOC40QzQyOCAyLjkgNDM3IDAgNDQ2LjIgMCA0NTcuNiAwIDQ2OC41IDQuNSA0NzYuNiAxMi42bDU0LjggNTQuOGM4LjEgOC4xIDEyLjYgMTkgMTIuNiAzMC41IDAgOS4yLTIuOSAxOC4yLTguNCAyNS42TDMzNC40IDM5Ni41Yy05IDEyLjMtMjMuNCAxOS41LTM4LjYgMTkuNWwtNzEuNyAwLTI1LjQgMjUuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTUwLjctNTAuN2MtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNMMTI4IDMyMHpNNyA0NjYuM2w1MS43LTUxLjcgNzAuNiA3MC42LTE5LjcgMTkuN2MtNC41IDQuNS0xMC42IDctMTcgN0wyNCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtNC43YzAtNi40IDIuNS0xMi41IDctMTd6Il19LFRCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1iaWxsLXdhdmUiLGljb246WzUxMiw1MTIsW10sImY1M2EiLCJNMCA0MTkuNkwwIDEwOS41YzAtMjMuMiAyNC4xLTM4LjYgNDYuMy0zMiA4Ny43IDI2LjIgMTQ5LjcgNS41IDIxMi4xLTE1LjMgNjQuNS0yMS41IDEyOS40LTQzLjEgMjIzLjMtMTMuMSAxOC41IDUuOSAzMC4zIDIzLjggMzAuMyA0My4zbDAgMzEwLjFjMCAyMy4yLTI0LjEgMzguNi00Ni4yIDMyLTg3LjctMjYuMi0xNDkuOC01LjUtMjEyLjEgMTUuMy02NC41IDIxLjUtMTI5LjQgNDMuMS0yMjMuMyAxMy4xLTE4LjUtNS45LTMwLjMtMjMuOC0zMC4zLTQzLjN6TTMzNiAyNTZjMC01My0zNS44LTk2LTgwLTk2cy04MCA0My04MCA5NiAzNS44IDk2IDgwIDk2IDgwLTQzIDgwLTk2ek0xMjAgNDEzLjZjNC40IDAgNy45LTMuOCA3LjItOC4xLTQuNi0yNy44LTI3LTQ5LjUtNTUuMi01My00LjQtLjUtOCAzLjEtOCA3LjVsMCAzOS45YzAgMy42IDIuNCA2LjggNiA3LjcgMTcuOSA0LjIgMzQuMyA2LjEgNTAgNi4xem0zMTguNS01MS4xYzUgLjggOS41LTMgOS41LThsMC00Mi42YzAtNC40LTMuNi04LjEtOC03LjUtMjUuMiAzLjEtNDUuOSAyMC45LTUzLjIgNDQuNi0xLjQgNC43IDIuMyA5LjEgNy4yIDkuMiAxNC4yIC40IDI5IDEuNyA0NC40IDQuM3pNNDQ4IDE1MmwwLTM5LjljMC0zLjYtMi41LTYuOC02LTcuNy0xNy45LTQuMi0zNC4zLTYuMS01MC02LjEtNC40IDAtNy45IDMuOC03LjIgOC4xIDQuNiAyNy44IDI3IDQ5LjUgNTUuMiA1MyA0LjQgLjUgOC0zLjEgOC03LjV6TTEyNS4yIDE2Mi45YzEuNC00LjctMi4zLTkuMS03LjItOS4yLTE0LjItLjQtMjktMS43LTQ0LjQtNC4zLTUtLjgtOS41IDMtOS41IDhMNjQgMjAwYzAgNC40IDMuNiA4LjEgOCA3LjUgMjUuMi0zLjEgNDUuOS0yMC45IDUzLjItNDQuNnoiXX0sTEJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvaWxldC1wYXBlci1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZTA3MiIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC05NC41LTk0LjVjNDAuMi0yMyA2OS41LTk2LjkgNjkuNS0xODQuNiAwLTEwNi00My0xOTItOTYtMTkycy05NiA4Ni05NiAxOTJjMCAyNC4xIDIuMiA0Ny4yIDYuMyA2OC40TDMwNCAyMzguMiAzMDQgMjI0YzAtNTguOSAxMS44LTExNC41IDMzLjItMTU3LjIgNS45LTExLjcgMTMuMS0yMy43IDIxLjktMzQuOEwxMjggMzJjLTguMyAwLTE2LjQgMi4xLTI0LjEgNi4xbC02My02M3pNMzIgMjI0bDAgMjY0YzAgMzAuOSAyNS4xIDU2IDU2IDU2bDE2MCAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2bDAtMTE0LjItMjU2LTI1NkMzNy45IDE0OC4yIDMyIDE4NC43IDMyIDIyNHptNDE2IDY0Yy0xNy43IDAtMzItMjguNy0zMi02NHMxNC4zLTY0IDMyLTY0IDMyIDI4LjcgMzIgNjQtMTQuMyA2NC0zMiA2NHoiXX0sJEJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtc2hpZWxkIixpY29uOls1NzYsNTEyLFtdLCJlNGYwIiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjAxLjIgMEMyNjEgNDY5LjQgMjQwIDQxNC41IDI0MCAzNTYuNGwwLTMxLjFjMC0zNC40IDIyLTY1IDU0LjctNzUuOWwxMTItMzcuM2MzLjEtMSA2LjItMS44IDkuMy0yLjVsMC0zOS4xYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2em04Ny44IDMxMi41bC0xMy4zIDYuMyAwLTE4OC4xIDk2IDMyIDAgMTkuNmMwIDU1LjgtMzIuMiAxMDYuNS04Mi43IDEzMC4zek00MjEuOSAyNTkuNWwtMTEyIDM3LjNjLTEzLjEgNC40LTIxLjkgMTYuNi0yMS45IDMwLjRsMCAzMS4xYzAgNzQuNCA0MyAxNDIuMSAxMTAuMiAxNzMuN2wxOC41IDguN2M0LjggMi4yIDEwIDMuNCAxNS4yIDMuNHMxMC41LTEuMiAxNS4yLTMuNGwxOC41LTguN0M1MzMgNTAwLjMgNTc2IDQzMi42IDU3NiAzNTguMmwwLTMxLjFjMC0xMy44LTguOC0yNi0yMS45LTMwLjRsLTExMi0zNy4zYy02LjYtMi4yLTEzLjctMi4yLTIwLjIgMHoiXX0sREJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRleHQtaGVpZ2h0IixpY29uOls1NzYsNTEyLFtdLCJmMDM0IiwiTTQwIDMyQzE3LjkgMzIgMCA0OS45IDAgNzJsMCA1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIgNjQgMCAwIDMyMC0zMiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMzIwIDY0IDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNTZjMC0yMi4xLTE3LjktNDAtNDAtNDBMNDAgMzJ6TTQzOC42IDM2MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw2NC02NGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtOS40IDkuNCAwLTIyOS41IDkuNCA5LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtNjQtNjRjLTYtNi0xNC4xLTkuNC0yMi42LTkuNHMtMTYuNiAzLjQtMjIuNiA5LjRsLTY0IDY0Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDkuNC05LjQgMCAyMjkuNS05LjQtOS40eiJdfSxsOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLXRvbmd1ZSIsaWNvbjpbNTEyLDUxMixbMTI4NTM5LCJncmluLXRvbmd1ZSJdLCJmNTg5IiwiTTAgMjU2YzAgMTA0LjQgNjIuNSAxOTQuMiAxNTIuMiAyMzQuMS01LjMtMTMtOC4yLTI3LjItOC4yLTQyLjFsMC02MS43Yy0xNi45LTE2LjUtMzAuMS0zNi43LTM4LjMtNTkuMy00LjMtMTEuOCA3LjctMjEuOCAxOS42LTE4LjEgMzkuMiAxMi4yIDgzLjcgMTkuMSAxMzAuNyAxOS4xczkxLjUtNi45IDEzMC43LTE5LjFjMTEuOS0zLjcgMjMuOSA2LjMgMTkuNiAxOC4xLTguMyAyMi42LTIxLjUgNDIuOC0zOC4zIDU5LjNsMCA2MS43YzAgMTQuOS0yLjkgMjkuMS04LjIgNDIuMSA4OS43LTM5LjggMTUyLjItMTI5LjYgMTUyLjItMjM0LjEgMC0xNDEuNC0xMTQuNi0yNTYtMjU2LTI1NlMwIDExNC42IDAgMjU2em0xNzYtODBhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTYgMjQwbDAtNDUuNGMwLTE0LjctMTEuOS0yNi42LTI2LjYtMjYuNmwtMiAwYy0xMS4zIDAtMjEuMSA3LjktMjMuNiAxOC45LTIuOCAxMi42LTIwLjggMTIuNi0yMy42IDAtMi41LTExLjEtMTIuMy0xOC45LTIzLjYtMTguOWwtMiAwYy0xNC43IDAtMjYuNiAxMS45LTI2LjYgMjYuNmwwIDQ1LjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHoiXX0sQUJ0PWw4ZSxFQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1zaWduYXR1cmUiLGljb246WzY0MCw1MTIsW10sImY1NzMiLCJNNjQuMSA2NGMwLTM1LjMgMjguNy02NCA2NC02NEwyNzcuNiAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDQyOS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNsMCA5Ny41LTEzMiAxMzItNDIuMSAwLTE2LjEtNTMuNmMtNC43LTE1LjctMTkuMS0yNi40LTM1LjUtMjYuNC0xMS4zIDAtMjEuOSA1LjEtMjguOSAxMy45TDEzMy4zIDQwOWMtOC4zIDEwLjMtNi42IDI1LjUgMy43IDMzLjdzMjUuNSA2LjYgMzMuNy0zLjhsNDcuMS01OC44IDE1LjIgNTAuN2MzIDEwLjIgMTIuNCAxNy4xIDIzIDE3LjFsMzEuNSAwYy0uOSAzLjEtMS43IDYuMy0yLjMgOS41bC0xMC45IDU0LjUtMTQ2LjIgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0zODR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0bDkzLjUgMC0xMTcuNS0xMTcuNXptNjAuMiA0MDguNGMyLjUtMTIuNCA4LjYtMjMuOCAxNy41LTMyLjdsMTE4LjktMTE4LjkgODAgODAtMTE4LjkgMTE4LjljLTguOSA4LjktMjAuMyAxNS0zMi43IDE3LjVsLTU5LjYgMTEuOWMtLjkgLjItMS45IC4zLTIuOSAuMy04IDAtMTQuNi02LjUtMTQuNi0xNC42IDAtMSAuMS0xLjkgLjMtMi45bDExLjktNTkuNnptMjY3LjgtMTIzbC0yOC44IDI4LjgtODAtODAgMjguOC0yOC44YzIyLjEtMjIuMSA1Ny45LTIyLjEgODAgMHMyMi4xIDU3LjkgMCA4MHoiXX0sUEJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLXdoZWF0IixpY29uOls2NDAsNTEyLFtdLCJlNGRiIiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjQ5LjMgMGMtNi0xNC44LTkuMy0zMS05LjMtNDggMC0xNy43IDcuMi0zMy43IDE4LjgtNDUuMy0xMS45LTE5LjQtMTguOC00Mi4zLTE4LjgtNjYuNyAwLTE3LjcgNy4yLTMzLjcgMTguOC00NS4zLTExLjktMTkuNC0xOC44LTQyLjMtMTguOC02Ni43IDAtMjUuMiAxNC41LTQ2LjkgMzUuNi01Ny40LTIuNC03LjEtMy42LTE0LjctMy42LTIyLjZsMC0zMkMzNjggOTYuNyAzODggNzAuMSA0MTUuOSA2MC4xIDQxMy45IDI2LjYgMzg2IDAgMzUyIDBMOTYgMHpNMjA4IDM1MmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgODAtOTYgMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xMjggMTEyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTI3MiA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xMjggMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE0NC0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2em0zNTIgMGwtMTYgMGMtNDQuMiAwLTgwIDM1LjgtODAgODAgMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjNDQuMiAwIDgwLTM1LjggODAtODAgMC04LjgtNy4yLTE2LTE2LTE2em0xNiAxMjhjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy00NC4yIDAtODAgMzUuOC04MCA4MCAwIDguOCA3LjIgMTYgMTYgMTZsMTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MHptMCAxMTJjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYy00NC4yIDAtODAgMzUuOC04MCA4MCAwIDguOCA3LjIgMTYgMTYgMTZsMTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MHpNNDk2IDUyOGMwLTQ0LjItMzUuOC04MC04MC04MGwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2IDAgNDQuMiAzNS44IDgwIDgwIDgwbDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2em0tMTYtOTZjOC44IDAgMTYtNy4yIDE2LTE2IDAtNDQuMi0zNS44LTgwLTgwLTgwbC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTYgMCA0NC4yIDM1LjggODAgODAgODBsMTYgMHptMTYtMTI4YzAtNDQuMi0zNS44LTgwLTgwLTgwbC0xNiAwYy04LjggMC0xNiA3LjItMTYgMTYgMCA0NC4yIDM1LjggODAgODAgODBsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZ6TTUxMiA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEwNGMwLTEzLjMtMTAuNy0yNC0yNC0yNHptOTYgNjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzJ6TTQ0MCAxMDRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMyYzAtMTMuMy0xMC43LTI0LTI0LTI0eiJdfSxJQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGx1Zy1jaXJjbGUtbWludXMiLGljb246WzY0MCw1MTIsW10sImU1NWUiLCJNMTkyLTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgMTI4IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgOTYgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDQ4LjdjLTk4LjYgOC4xLTE3NiA5MC43LTE3NiAxOTEuMyAwIDI3LjMgNS43IDUzLjMgMTYgNzYuOWwwIDMuMWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY2LjdDMTY1LjIgMzk4LjEgOTYgMzE5LjEgOTYgMjI0bDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzc4LjMgOTYgOTYgOTZsNjQgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0zNTIgNDAwYTE0NCAxNDQgMCAxIDEgMjg4IDAgMTQ0IDE0NCAwIDEgMSAtMjg4IDB6bTIyNCAwYzAtOC44LTcuMi0xNi0xNi0xNmwtMTI4IDBjLTguOCAwLTE2IDcuMi0xNiAxNnM3LjIgMTYgMTYgMTZsMTI4IDBjOC44IDAgMTYtNy4yIDE2LTE2eiJdfSxqZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZnV0Ym9sIixpY29uOls1MTIsNTEyLFs5OTE3LCJmdXRib2wtYmFsbCIsInNvY2Nlci1iYWxsIl0sImYxZTMiLCJNNDE3LjMgMzYwLjFsLTcxLjYtNC44Yy01LjItLjMtMTAuMyAxLjEtMTQuNSA0LjJzLTcuMiA3LjQtOC40IDEyLjVsLTE3LjYgNjkuNkMyODkuNSA0NDUuOCAyNzMgNDQ4IDI1NiA0NDhzLTMzLjUtMi4yLTQ5LjItNi40TDE4OS4yIDM3MmMtMS4zLTUtNC4zLTkuNC04LjQtMTIuNXMtOS4zLTQuNS0xNC41LTQuMmwtNzEuNiA0LjhjLTE3LjYtMjcuMi0yOC41LTU5LjItMzAuNC05My42TDEyNSAyMjguM2M0LjQtMi44IDcuNi03IDkuMi0xMS45czEuNC0xMC4yLS41LTE1bC0yNi43LTY2LjZDMTI4IDEwOS4yIDE1NS4zIDg5IDE4Ni43IDc2LjlsNTUuMiA0NmM0IDMuMyA5IDUuMSAxNC4xIDUuMXMxMC4yLTEuOCAxNC4xLTUuMWw1NS4yLTQ2YzMxLjMgMTIuMSA1OC43IDMyLjMgNzkuNiA1Ny45bC0yNi43IDY2LjZjLTEuOSA0LjgtMi4xIDEwLjEtLjUgMTVzNC45IDkuMSA5LjIgMTEuOWw2MC43IDM4LjJjLTEuOSAzNC40LTEyLjggNjYuNC0zMC40IDkzLjZ6TTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem0xNC4xLTMyNS43Yy04LjQtNi4xLTE5LjgtNi4xLTI4LjIgMEwxOTQgMjIxYy04LjQgNi4xLTExLjkgMTYuOS04LjcgMjYuOGwxOC4zIDU2LjNjMy4yIDkuOSAxMi40IDE2LjYgMjIuOCAxNi42bDU5LjIgMGMxMC40IDAgMTkuNi02LjcgMjIuOC0xNi42bDE4LjMtNTYuM2MzLjItOS45LS4zLTIwLjctOC43LTI2LjhsLTQ3LjktMzQuOHoiXX0sTkJ0PWplZSxSQnQ9amVlLGM4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtcGx1cyIsaWNvbjpbNTEyLDUxMixbInBsdXMtY2lyY2xlIl0sImYwNTUiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTIzMiAzNDRsMC02NC02NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDY0IDAgMC02NGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNjQgNjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNjQgMCAwIDY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0eiJdfSxPQnQ9YzhlLEZCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmF6aWxpYW4tcmVhbC1zaWduIixpY29uOls1MTIsNTEyLFtdLCJlNDZjIiwiTTQwMCAxNmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2IDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTQ4LjkgMGMtMjYgMC00Ny4xIDIxLjEtNDcuMSA0Ny4xIDAgMjIuNSAxNS45IDQxLjggMzcuOSA0Ni4ybDMyLjggNi42YzUxLjkgMTAuNCA4OS4zIDU2IDg5LjMgMTA5IDAgNTAuNi0zMy44IDkzLjMtODAgMTA2LjdsMCAyMC40YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTYtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NC45IDBjMjYgMCA0Ny4xLTIxLjEgNDcuMS00Ny4xIDAtMjIuNS0xNS45LTQxLjgtMzcuOS00Ni4ybC0zMi44LTYuNmMtNTEuOS0xMC40LTg5LjMtNTYtODkuMy0xMDkgMC01MC42IDMzLjgtOTMuMiA4MC0xMDYuN0wzNjggNDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJsODAgMGM3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NCAwIDU0LjMtMzAgMTAxLjUtNzQuNCAxMjYuMWw0MSAxMzYuN2M1LjEgMTYuOS00LjUgMzQuOC0yMS41IDM5LjhzLTM0LjgtNC41LTM5LjgtMjEuNUwxMjAuMSAzMTkuOGMtMi43IC4xLTUuNCAuMi04LjEgLjJsLTQ4IDAgMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0NjUuNyAwIDQ0OEwwIDY0ek02NCAyNTZsNDggMGM0NC4yIDAgODAtMzUuOCA4MC04MHMtMzUuOC04MC04MC04MGwtNDggMCAwIDE2MHoiXX0sQkJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YXItYW5kLWNyZXNjZW50IixpY29uOls1MTIsNTEyLFs5NzcwXSwiZjY5OSIsIk0wIDI1NmMwLTE0MS40IDExNC42LTI1NiAyNTYtMjU2IDMzIDAgNjQuNiA2LjMgOTMuNiAxNy43IDcuNCAyLjkgMTEuNSAxMC43IDkuOCAxOC40cy04LjggMTMtMTYuNyAxMi40Yy00LjgtLjMtOS43LS41LTE0LjYtLjUtMTE0LjkgMC0yMDggOTMuMS0yMDggMjA4czkzLjEgMjA4IDIwOCAyMDhjNC45IDAgOS44LS4yIDE0LjYtLjUgNy45LS41IDE1IDQuNyAxNi43IDEyLjRzLTIuNCAxNS41LTkuOCAxOC40QzMyMC42IDUwNS43IDI4OSA1MTIgMjU2IDUxMiAxMTQuNiA1MTIgMCAzOTcuNCAwIDI1NnpNMzc1LjQgMTM3LjRjMy41LTcuMSAxMy43LTcuMSAxNy4yIDBsMzEuNSA2My44YzEuNCAyLjggNC4xIDQuOCA3LjIgNS4zbDcwLjQgMTAuMmM3LjkgMS4xIDExIDEwLjggNS4zIDE2LjRsLTUwLjkgNDkuNmMtMi4zIDIuMi0zLjMgNS40LTIuOCA4LjVsMTIgNzAuMWMxLjMgNy44LTYuOSAxMy44LTEzLjkgMTAuMWwtNjMtMzMuMWMtMi44LTEuNS02LjEtMS41LTguOSAwbC02MyAzMy4xYy03IDMuNy0xNS4zLTIuMy0xMy45LTEwLjFsMTItNzAuMWMuNS0zLjEtLjUtNi4zLTIuOC04LjVMMjYxIDIzMy4xYy01LjctNS42LTIuNi0xNS4yIDUuMy0xNi40bDcwLjQtMTAuMmMzLjEtLjUgNS44LTIuNCA3LjItNS4zbDMxLjUtNjMuOHoiXX0sZDhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Utc3VycHJpc2UiLGljb246WzUxMiw1MTIsWzEyODU1OCwic3VycHJpc2UiXSwiZjVjMiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTc2IDE3NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTEyOCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0tNDggODBhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LEhCdD1kOGUscUJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imhvc3BpdGFsLXVzZXIiLGljb246WzY0MCw1MTIsW10sImY4MGQiLCJNNjQgNjRDNjQgMjguNyA5Mi43IDAgMTI4IDBMMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMjEuM2MtNDYuOSAxOS04MCA2NS04MCAxMTguNyAwIDI3LjcgOC44IDUzLjQgMjMuOCA3NC40LTUxLjUgMjEtODcuOCA3MS42LTg3LjggMTMwLjcgMCAxIDAgMS45IDAgMi45bC0xNzYgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMNjQgNjR6TTIwOCA0MDBsMCA2NCA1My40IDBjNy4yLTI5LjQgMjEuMy01Ni4xIDQwLjQtNzguMy02LjEtMTkuNS0yNC4zLTMzLjctNDUuOC0zMy43LTI2LjUgMC00OCAyMS41LTQ4IDQ4ek0yNDggODhjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwIDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzIgMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDAgMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTE2IDB6TTQxNiAzMDRhODAgODAgMCAxIDEgMTYwIDAgODAgODAgMCAxIDEgLTE2MCAwek0zNTIgNTEyYzAtNTMgNDMtOTYgOTYtOTZsOTYgMGM1MyAwIDk2IDQzIDk2IDk2IDAgMTcuNy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LFZCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLXVwLWxvY2siLGljb246WzU3Niw1MTIsW10sImU0YjAiLCJNMjYyLjYgNDIyLjZsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtODAtODBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsMjUuNCAyNS40IDAtMTE0LjctNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyNTYgMCAwLTExNC43LTI1LjQgMjUuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsODAtODBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsODAgODBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTI1LjQtMjUuNCAwIDk0LjhjLTI1LjMgMjAuMy00Mi44IDUwLjEtNDcgODMuOWwtMTQ1IDAgMCAxMTQuNyAyNS40LTI1LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3pNMTkyIDMybDAgMTQ0LTY0IDAgMC0xNDRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnpNNDk2IDMwNC4xYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDcuOSA2NCAwIDAtNDcuOXpNMzUyIDQwMGMwLTIwLjkgMTMuNC0zOC43IDMyLTQ1LjNsMC01MC42YzAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBsMCA1MC42YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM2wwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMjggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NnoiXX0sdThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvbGRlciIsaWNvbjpbNTEyLDUxMixbMTI4MTkzLDEyODQ0Nyw2MTcxNiwiZm9sZGVyLWJsYW5rIl0sImYwN2IiLCJNNjQgNDQ4bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjQwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDI5OC43IDgwYy02LjkgMC0xMy43LTIuMi0xOS4yLTYuNEwyNDEuMSA0NC44QzIzMCAzNi41IDIxNi41IDMyIDIwMi43IDMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjR6Il19LGpCdD11OGUsVUJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvbGx5LWJlcnJ5IixpY29uOls1MTIsNTEyLFtdLCJmN2FhIiwiTTI1Ni4yIDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnptLTgwIDk2YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMjc3IDM4My44YzEgLjEgMi4xIC4yIDMuMiAuMiAzOS44IDAgNzIgMzIuMiA3MiA3MmwwIDIyLjdjMCAxNi40IDE2IDI3LjkgMzEuNiAyMi44bDEyLjgtNC4zYzE4LTYgMzcuMy02LjUgNTUuNi0xLjVsMTkuNCA1LjNjMTcuOSA0LjkgMzQuNC0xMS42IDI5LjUtMjkuNUw0OTUuOSA0NTJjLTUtMTguMy00LjQtMzcuNiAxLjUtNTUuNmw0LjMtMTIuOGM1LjItMTUuNS02LjQtMzEuNi0yMi44LTMxLjYtMzQuNiAwLTYyLjctMjguMS02Mi43LTYyLjdsMC0zMmMwLTE2LjQtMTYtMjcuOS0zMS42LTIyLjhsLTEyLjggNC4zYy0xOCA2LTM3LjMgNi41LTU1LjYgMS41bC0yOS42LTguMWMtMi45LS44LTUuOS0xLTguNy0uNyA0LjIgOS43IDUuOCAyMC44IDMuNyAzMi4zbC02LjMgMzQuOGMtMS41IDguNC0xLjQgMTcgLjUgMjUuM2w1LjMgMjMuOWMyLjggMTIuNyAxLjEgMjUuMi00IDM1Ljl6TTEyNy44IDIzNC41Yy0xNS41LTUuMi0zMS42IDYuNC0zMS42IDIyLjhsMCAzMmMwIDM0LjYtMjguMSA2Mi43LTYyLjcgNjIuNy0xNi40IDAtMjcuOSAxNi0yMi44IDMxLjZMMTUgMzk2LjRjNiAxOCA2LjUgMzcuMyAxLjUgNTUuNmwtNS4zIDE5LjRDNi40IDQ4OS40IDIyLjggNTA1LjggNDAuNyA1MDFsMTkuNC01LjNjMTguMy01IDM3LjYtNC41IDU1LjYgMS41bDEyLjggNC4zYzE1LjUgNS4yIDMxLjYtNi40IDMxLjYtMjIuOGwwLTMyYzAtMzQuNiAyOC4xLTYyLjcgNjIuNy02Mi43IDE2LjQgMCAyNy45LTE2IDIyLjgtMzEuNmwtNC4zLTEyLjhjLTYtMTgtNi41LTM3LjMtMS41LTU1LjZsNS4zLTE5LjRjNC45LTE3LjktMTEuNi0zNC40LTI5LjUtMjkuNWwtMTkuNCA1LjNjLTE4LjMgNS0zNy42IDQuNC01NS42LTEuNWwtMTIuOC00LjN6TTM4NC4yIDE0NGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSxXQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmVudXMtZG91YmxlIixpY29uOls2NDAsNTEyLFs5ODkwXSwiZjIyNiIsIk0xOTIgMjg4YTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHpNMzY4IDE3NmMwIDg2LjMtNjIuMSAxNTguMS0xNDQuMSAxNzMuMSAuMSAxIC4xIDEuOSAuMSAyLjlsMCA2NCAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDMyIDAgMC02NGMwLTEgMC0xLjkgLjEtMi45LTgyLTE1LTE0NC4xLTg2LjgtMTQ0LjEtMTczLjEgMC05Ny4yIDc4LjgtMTc2IDE3Ni0xNzZTMzY4IDc4LjggMzY4IDE3NnpNMzU3LjUgMzI3YzE0LjQtMTUuOCAyNi42LTMzLjcgMzYuMS01My4xIDE2LjEgOSAzNC43IDE0LjEgNTQuNSAxNC4xIDYxLjkgMCAxMTItNTAuMSAxMTItMTEyUzUwOS45IDY0IDQ0OCA2NGMtMTkuOCAwLTM4LjMgNS4xLTU0LjUgMTQuMS05LjUtMTkuNC0yMS42LTM3LjMtMzYuMS01My4xIDI2LjQtMTUuOSA1Ny40LTI1IDkwLjUtMjUgOTcuMiAwIDE3NiA3OC44IDE3NiAxNzYgMCA4Ni4zLTYyLjEgMTU4LjEtMTQ0LjEgMTczLjEgLjEgLjkgLjEgMS45IC4xIDIuOWwwIDY0IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyIDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTY0YzAtMSAwLTEuOSAuMS0yLjktMjEuMS0zLjktNDAuOS0xMS41LTU4LjYtMjIuMnoiXX0sR0J0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsaXBib2FyZC1xdWVzdGlvbiIsaWNvbjpbMzg0LDUxMixbXSwiZTRlMyIsIk0zMTEuNCAzMmw4LjYgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM1MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsOC42IDBDODMuNiAxMi45IDEwNC4zIDAgMTI4IDBMMjU2IDBjMjMuNyAwIDQ0LjQgMTIuOSA1NS40IDMyek0yNDggMTEyYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDEzNiA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMTIgMHpNMTkyIDI0OGMxNi4xIDAgMjkuMiAxMy4xIDI5LjIgMjkuMiAwIDguNy0zLjEgMTMuOS02LjkgMTcuNy00LjUgNC40LTEwLjcgNy41LTE2LjggOS41LTE0LjkgNS0yOS41IDE5LjMtMjkuNSAzOS41IDAgMTMuMyAxMC43IDI0IDI0IDI0IDExLjUgMCAyMS4yLTguMSAyMy41LTE5IDE5LjItNy4xIDUzLjctMjYuMyA1My43LTcxLjggMC00Mi42LTM0LjYtNzcuMi03Ny4yLTc3LjJzLTc3LjIgMzQuNi03Ny4yIDc3LjJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE2LjEgMTMuMS0yOS4yIDI5LjItMjkuMnptMjggMTY4YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4IDEyLjUgMjggMjggMjggMjgtMTIuNSAyOC0yOHoiXX0sWUJ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdGRvZyIsaWNvbjpbNTEyLDUxMixbMTI3Nzg5XSwiZjgwZiIsIk0yODggMGMtMjAuNSAwLTQwLjEgOC4xLTU0LjYgMjIuNkwyMi42IDIzMy40QzguMSAyNDcuOSAwIDI2Ny41IDAgMjg4IDAgMzAwLjIgMi45IDMxMi4xIDguMiAzMjIuN0wzMjIuNyA4LjJDMzEyLjEgMi45IDMwMC4yIDAgMjg4IDB6TTIyNCA1MTJjMjAuNSAwIDQwLjEtOC4xIDU0LjYtMjIuNkw0ODkuNCAyNzguNmMxNC41LTE0LjUgMjIuNi0zNC4xIDIyLjYtNTQuNiAwLTEyLjItMi45LTI0LjEtOC4yLTM0LjdMMTg5LjMgNTAzLjhjMTAuNyA1LjQgMjIuNiA4LjIgMzQuNyA4LjJ6TTQ1Ni42IDE2OC42YzMxLjItMzEuMiAzMS4yLTgxLjkgMC0xMTMuMXMtODEuOS0zMS4yLTExMy4xIDBsLTI4OCAyODhjLTMxLjIgMzEuMi0zMS4yIDgxLjkgMCAxMTMuMXM4MS45IDMxLjIgMTEzLjEgMGwyODgtMjg4eiJdfSxLQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtZnJvbS1icmFja2V0IixpY29uOls0NDgsNTEyLFtdLCJlMDlhIiwiTTI0Ni42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTEyOCAxMjhjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTkyIDEwOS4zIDE5MiAzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIxMC43IDczLjQgNzMuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4ek02NCAzNTJjMC0xNy43LTE0LjMtMzItMzItMzJTMCAzMzQuMyAwIDM1MmwwIDY0YzAgNTMgNDMgOTYgOTYgOTZsMjU2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJMOTYgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0eiJdfSxaQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWljcm9zY29wZSIsaWNvbjpbNTEyLDUxMixbMTI4MzAwXSwiZjYxMCIsIk0xNzYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAyMDhjMCAyNi41IDIxLjUgNDggNDggNDhsNjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTY0IDMyIDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhTMzkwLjcgNDQ4IDMyMCA0NDhMMzIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDQ0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNi45IDBjMzAuNC0zNCA0OC45LTc4LjggNDguOS0xMjggMC0xMDYtODYtMTkyLTE5Mi0xOTJsLTMyIDAgMC04MGMwLTI2LjUtMjEuNS00OC00OC00OEwxNzYgMHpNMTIwIDM1MmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNzYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTc2IDB6Il19LFhCdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZCIsaWNvbjpbNTc2LDUxMixbOTcyOV0sImYwYzIiLCJNMCAzMzZjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDRsMzA0IDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjggMC01MS42LTMwLjUtOTYuMS03NC41LTExNi4zIDYuNy0xMy4xIDEwLjUtMjggMTAuNS00My43IDAtNTMtNDMtOTYtOTYtOTYtMTcuNyAwLTM0LjIgNC44LTQ4LjQgMTMuMS0yNC4xLTQ1LjgtNzIuMi03Ny4xLTEyNy42LTc3LjEtNzkuNSAwLTE0NCA2NC41LTE0NCAxNDQgMCA4IC43IDE1LjkgMS45IDIzLjUtNTYuOSAxOS4yLTk3LjkgNzMuMS05Ny45IDEzNi41eiJdfSxRQnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFzZWJhbGwtYmF0LWJhbGwiLGljb246WzU3Niw1MTIsW10sImY0MzIiLCJNNDY0LjEgNTQ0YTgwIDgwIDAgMSAxIDAtMTYwIDgwIDgwIDAgMSAxIDAgMTYwem04LjQtNTc2YzE1LjEgMCAyOS43IDUuOCA0MC43IDE2LjJsNDcuMiA0NC44YzEyLjYgMTIgMTkuMSAyOSAxNy41IDQ2LjMtMS4yIDEzLjMtNyAyNS44LTE2LjUgMzUuMkwzNjMuMSAzMDljLTcuMyA3LjMtMTUuNyAxMy40LTI1IDE4TDIwNiAzOTNjLTkuMiA0LjYtMTcuNyAxMC43LTI1IDE4bC05MiA5MiAxLjcgMS44YzcuNyA5LjQgNy4xIDIzLjMtMS43IDMyLjFzLTIyLjcgOS4zLTMyLjEgMS43bC0xLjgtMS43LTQ4LTQ4LTEuNy0xLjhjLTcuNy05LjQtNy4xLTIzLjMgMS43LTMyLjFzMjIuNy05LjMgMzIuMS0xLjdsMS44IDEuNyA5Mi05MmM3LjMtNy4zIDEzLjQtMTUuNyAxOC0yNWw2Ni4xLTEzMi4xYzQuNi05LjIgMTAuNy0xNy43IDE4LTI1TDQzMC44LTE0LjdDNDQxLjktMjUuOCA0NTYuOS0zMiA0NzIuNS0zMnoiXX0scDhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhci1yZWFyIixpY29uOls1MTIsNTEyLFsiY2FyLWFsdCJdLCJmNWRlIiwiTTE2NS40IDk2bDE4MS4yIDBjMTMuNiAwIDI1LjcgOC42IDMwLjIgMjEuNGwyNi4xIDc0LjYtMjkzLjggMCAyNi4xLTc0LjZjNC41LTEyLjggMTYuNi0yMS40IDMwLjItMjEuNHptLTkwLjYgLjNMMzkuNiAxOTYuOEMxNi40IDIwNi40IDAgMjI5LjMgMCAyNTZsMCA5NmMwIDIzLjcgMTIuOSA0NC40IDMyIDU1LjRMMzIgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMiAyNTYgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC00MC42YzE5LjEtMTEuMSAzMi0zMS43IDMyLTU1LjRsMC05NmMwLTI2LjctMTYuNC00OS42LTM5LjYtNTkuMkw0MzcuMiA5Ni4zQzQyMy43IDU3LjggMzg3LjQgMzIgMzQ2LjYgMzJMMTY1LjQgMzJjLTQwLjggMC03Ny4xIDI1LjgtOTAuNiA2NC4zek0yMDggMjg4bDk2IDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC05NiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTQ4IDI4MGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwzMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0zMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMzYwLTI0bDMyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTMyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LEpCdD1wOGUsZjhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRodW1idGFjay1zbGFzaCIsaWNvbjpbNTc2LDUxMixbInRodW1iLXRhY2stc2xhc2giXSwiZTY4ZiIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDQxNy44IDM1MiA0NDggMzUyYzEwIDAgMTkuNS00LjcgMjUuNS0xMi43czgtMTguNCA1LjItMjguMUw0NzUgMjk3LjhjLTEyLjQtNDMuMy00MS03OC41LTc4LjItOTkuN0wzODYuNSA2NCA0MTYgNjRjMTcuNyAwIDMyLTE0LjMgMzItMzJTNDMzLjcgMCA0MTYgMEwxNjAgMGMtNy40IDAtMTQuMSAyLjUtMTkuNSA2LjZMMTkwLjEgNTYuMyAxODUuMyAxMTkuNCA0MS0yNC45ek0yODIuMiAzNTJMMTQ5LjcgMjE5LjZjLTIyLjcgMjAuNS0zOS44IDQ3LjQtNDguNyA3OC4zbC0zLjggMTMuNGMtMi44IDkuNy0uOCAyMCA1LjIgMjguMVMxMTggMzUyIDEyOCAzNTJsMTU0LjIgMHpNMjU2IDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTEyLTY0IDAgMCAxMTJ6Il19LGVIdD1mOGUsdEh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsdXMtbWludXMiLGljb246WzM4NCw1MTIsW10sImU0M2MiLCJNMjI0IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTI4LTEyOCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwIDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEyOCAwIDAtMTI4ek0wIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyeiJdfSxhSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNTA5IiwiTTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMSAwLTI4OCAxNDQgMTQ0IDAgMSAxIDAgMjg4ek0yNjguNiA2LjVjMTIuMi05LjMgMjkuNy04LjcgNDEuMiAybDIxNy42IDIwMmMtMTAuMi0xLjctMjAuNy0yLjYtMzEuMy0yLjYtNzguNiAwLTE0Ni4xIDQ3LjItMTc1LjggMTE0LjgtNS4xLTEuOC0xMC41LTIuOC0xNi4yLTIuOGwtMzIgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NiA5MSAwYzYuMSAxNy4zIDE0LjYgMzMuNCAyNS4xIDQ4TDE0NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOCAyLjQtMnpNNTUzLjQgMzM5LjFjLTcuMS01LjItMTcuMS0zLjYtMjIuMyAzLjVsLTUzIDcyLjgtMjYuNy0yNi44Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMC02LjIgNi4yLTYuMiAxNi40IDAgMjIuNmw0MCA0MGMzLjMgMy4zIDcuOSA1IDEyLjYgNC43czguOS0yLjggMTEuNy02LjZsNjQtODhjNS4yLTcuMSAzLjYtMTcuMS0zLjUtMjIuM3oiXX0sckh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbGVuZGFyLWRheSIsaWNvbjpbNDQ4LDUxMixbXSwiZjc4MyIsIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTAgMjU2Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMHoiXX0sc0h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxpYnJhIixpY29uOls1MTIsNTEyLFtdLCJlODRiIiwiTTQ4MCAzODRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNDQ4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDQ0OCAwek0yNTYgMzJjOTcuMiAwIDE3NiA3OC44IDE3NiAxNzYgMCAxNi42LTIuNCAzMi43LTYuNyA0OGw1NC43IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEwNC4yIDBjLTExLjggMC0yMi43LTYuNS0yOC4yLTE2LjlzLTQuOS0yMy4xIDEuNi0zMi45YzExLjktMTcuOCAxOC44LTM5LjEgMTguOC02Mi4yIDAtNjEuOS01MC4xLTExMi0xMTItMTEyUzE0NCAxNDYuMSAxNDQgMjA4YzAgMjMuMSA2LjkgNDQuNCAxOC44IDYyLjIgNi42IDkuOCA3LjIgMjIuNSAxLjYgMzIuOVMxNDguMSAzMjAgMTM2LjIgMzIwTDMyIDMyMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw1NC44IDBjLTQuMy0xNS4zLTYuOC0zMS40LTYuOC00OCAwLTk3LjIgNzguOC0xNzYgMTc2LTE3NnoiXX0saUh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZSIsaWNvbjpbNTEyLDUxMixbMTI4MzA4LDEyODMwOSwxMjg5OTIsMTI4OTkzLDEyODk5NCwxMjg5OTUsMTI4OTk2LDk2NzksOTg5OCw5ODk5LDExMDQ0LDYxNzA4LDYxOTE1XSwiZjExMSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAweiJdfSxvSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9iaWxlLXZpYnJhdGUiLGljb246WzU3Niw1MTIsW10sImU4MTYiLCJNMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTE5MiAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTM4NGMwLTM1LjMgMjguNy02NCA2NC02NEwzODQgMHpNMjQ4IDQxNmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAwek00OC44IDEzMy40YzkuNC03LjcgMjMuMy03LjEgMzIuMSAxLjcgOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTMxIDMxIDI1LjQgMjUuNCAyLjkgMy4yYzYuMyA3LjcgOS44IDE3LjQgOS44IDI3LjQgMCAxMS41LTQuNiAyMi41LTEyLjcgMzAuNmwtMjUuNCAyNS40IDMxIDMxIDEuNyAxLjhjNy43IDkuNCA3LjEgMjMuMy0xLjcgMzIuMXMtMjIuNyA5LjMtMzIuMSAxLjdMNDcgMzc3IDEyLjcgMzQyLjZDNS42IDMzNS41IDEuMiAzMjYuMiAuMiAzMTYuM0wwIDMxMiAuMiAzMDcuN2MxLTkuOSA1LjQtMTkuMiAxMi41LTI2LjNMMzguMSAyNTYgMTIuNyAyMzAuNkM1LjYgMjIzLjUgMS4yIDIxNC4yIC4yIDIwNC4zTDAgMjAwIC4yIDE5NS43YzEtOS45IDUuNC0xOS4yIDEyLjUtMjYuM0w0NyAxMzUgNDguOCAxMzMuNHpNNDk1IDEzNWM4LjgtOC44IDIyLjctOS4zIDMyLjEtMS43bDEuOCAxLjcgMzQuMyAzNC4zYzcuMSA3LjEgMTEuNSAxNi40IDEyLjUgMjYuM2wuMiA0LjMtLjIgNC4zYy0xIDkuOS01LjQgMTkuMi0xMi41IDI2LjNsLTI1LjQgMjUuNCAyNS40IDI1LjRjNy4xIDcuMSAxMS41IDE2LjQgMTIuNSAyNi4zbC4yIDQuMy0uMiA0LjNjLTEgOS45LTUuNCAxOS4yLTEyLjUgMjYuM2wtMzQuMyAzNC4zLTEuOCAxLjdjLTkuNCA3LjctMjMuMyA3LjEtMzIuMS0xLjdzLTkuMy0yMi43LTEuNy0zMi4xbDEuNy0xLjggMzEtMzEtMjUuNC0yNS40Yy04LjEtOC4xLTEyLjctMTkuMS0xMi43LTMwLjYgMC0xMCAzLjUtMTkuNyA5LjgtMjcuNGwyLjktMy4yIDI1LjQtMjUuNC0zMS0zMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6Il19LGg4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4tc3F1aW50IixpY29uOls1MTIsNTEyLFsxMjg1MTgsImdyaW4tc3F1aW50Il0sImY1ODUiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTM4Ni43IDMwOC45YzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMS0yMi40IDYxLjMtODEuMyAxMDUuMS0xNTAuMyAxMDUuMVMxMjguMSAzODguMiAxMDUuNyAzMjYuOWMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xek0xMjIuNiAxNDMuMmM0LjUtNi44IDEzLjMtOS4yIDIwLjYtNS41bDc5LjYgNDBjNS40IDIuNyA4LjggOC4yIDguOCAxNC4zcy0zLjQgMTEuNi04LjggMTQuM2wtNzkuNiA0MGMtNy4zIDMuNi0xNi4xIDEuMy0yMC42LTUuNXMtMy4xLTE1LjkgMy4xLTIxLjFMMTU5IDE5MiAxMjUuOCAxNjQuM2MtNi4yLTUuMi03LjYtMTQuMy0zLjEtMjEuMXptMjYzLjYgMjEuMUwzNTMgMTkyIDM4Ni4yIDIxOS43YzYuMiA1LjIgNy42IDE0LjMgMy4xIDIxLjFzLTEzLjMgOS4yLTIwLjYgNS41bC03OS42LTQwYy01LjQtMi43LTguOC04LjItOC44LTE0LjNzMy40LTExLjYgOC44LTE0LjNsNzkuNi00MGM3LjMtMy42IDE2LjEtMS4zIDIwLjYgNS41czMuMSAxNS45LTMuMSAyMS4xeiJdfSxuSHQ9aDhlLGxIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2Vycy1iZXR3ZWVuLWxpbmVzIixpY29uOls1NzYsNTEyLFtdLCJlNTkxIiwiTTI0IDE2bDUyOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDY0QzEwLjcgNjQgMCA1My4zIDAgNDBTMTAuNyAxNiAyNCAxNnptMCA0NDhsNTI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0ek0zOTIgMTkyYTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHptMjcuMiAxMDAuNGM5LjEtMi45IDE4LjgtNC40IDI4LjgtNC40IDUzIDAgOTYgNDMgOTYgOTZsMCAxMC43YzAgMTEuOC05LjYgMjEuMy0yMS4zIDIxLjNsLTc4LjggMGMyLjctNy41IDQuMS0xNS42IDQuMS0yNGwwLThjMC0zNC4xLTEwLjYtNjUuNy0yOC44LTkxLjZ6bS0yNjIuNCAwQzEzOC42IDMxOC4zIDEyOCAzNDkuOSAxMjggMzg0bDAgOGMwIDguNCAxLjQgMTYuNSA0LjEgMjRsLTc4LjggMEM0MS42IDQxNiAzMiA0MDYuNCAzMiAzOTQuN0wzMiAzODRjMC01MyA0My05NiA5Ni05NiAxMCAwIDE5LjcgMS41IDI4LjggNC40ek03MiAxOTJhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwem0xNTItMTZhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwek0xNzYgMzg0YzAtNjEuOSA1MC4xLTExMiAxMTItMTEyczExMiA1MC4xIDExMiAxMTJsMCA4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC0xNzYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC04eiJdfSxjSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtbWVkaWNhbC1jaXJjbGUteG1hcmsiLGljb246WzY0MCw1MTIsW10sImU1MTMiLCJNMzA5LjggOC42Yy0xMi4zLTExLjQtMzEuMy0xMS40LTQzLjUgMGwtMjI0IDIwOGMtOS42IDktMTIuOCAyMi45LTggMzUuMVM1MC44IDI3MiA2NCAyNzJsMTYgMCAwIDE3NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTYgMGMtMjEuMi0yOS41LTM0LjMtNjUuMy0zNS45LTEwNEwyNzIgNDA4Yy04LjggMC0xNi03LjItMTYtMTZsMC00MC00MCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsNDAgMCAwLTQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDQwIDIwIDBjMzQuOS00OC41IDkxLjctODAgMTU2LTgwIDEwLjcgMCAyMS4xIC45IDMxLjMgMi41TDMwOS44IDguNnpNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTIyLjYtMTQ0bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwbC0zNi43LTM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDM2LjctMzYuNy0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwzNi43IDM2LjcgMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNkw1MTguNiA0MDB6Il19LG04ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZS1saXN0IixpY29uOls0NDgsNTEyLFsidGgtbGlzdCJdLCJmMDBiIiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2em02NCAwbDAgNjQgNjQgMCAwLTY0LTY0IDB6bTMyMCAwbC0xOTIgMCAwIDY0IDE5MiAwIDAtNjR6TTY0IDIyNGwwIDY0IDY0IDAgMC02NC02NCAwem0zMjAgMGwtMTkyIDAgMCA2NCAxOTIgMCAwLTY0ek02NCAzNTJsMCA2NCA2NCAwIDAtNjQtNjQgMHptMzIwIDBsLTE5MiAwIDAgNjQgMTkyIDAgMC02NHoiXX0sZEh0PW04ZSx1SHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmxhc2stdmlhbCIsaWNvbjpbNjQwLDUxMixbXSwiZTRmMyIsIk0xODQuNiA0MTEuNWMtMy4xIDcuMy01LjQgMTQuOS02LjggMjIuNi0xNC41IDguOC0zMS41IDEzLjktNDkuOCAxMy45LTUzIDAtOTYtNDMtOTYtOTZMMzIgNjRDMTQuMyA2NCAwIDQ5LjcgMCAzMlMxNC4zIDAgMzIgMEwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDI1NS42LTM5LjQgOTEuOXpNOTYgNjRsMCAxMjggNjQgMCAwLTEyOC02NCAwek0zNTIgMEw1MTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDE1My40IDkxLjMgMjEzYzIuMyA1LjQgMy44IDExLjEgNC40IDE3bC4zIC42LS4zIDBjLjIgMS44IC4zIDMuNiAuMyA1LjQgMCAzMi4zLTI2LjIgNTguNi01OC42IDU4LjZsLTI2Ni45IDBjLTMyLjMgMC01OC42LTI2LjItNTguNi01OC42IDAtMS44IC4xLTMuNiAuMy01LjRsLS4zIDAgLjMtLjZjLjYtNS44IDIuMS0xMS42IDQuNC0xN0wzMjAgMjE3LjQgMzIwIDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlMzMDIuMyAwIDMyMCAwbDMyIDB6TTQ1My4yIDI0Mi42Yy0zLjQtOC01LjItMTYuNS01LjItMjUuMmwwLTE1My40LTY0IDAgMCAxNTMuNGMwIDguNy0xLjggMTcuMi01LjIgMjUuMmwtMzMuMiA3Ny40IDE0MC43IDAtMzMuMi03Ny40eiJdfSxnOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls1MTIsNTEyLFsiZXhjbGFtYXRpb24tY2lyY2xlIl0sImYwNmEiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAxIDAtNTEyIDI1NiAyNTYgMCAxIDEgMCA1MTJ6bTAtMTkyYTMyIDMyIDAgMSAwIDAgNjQgMzIgMzIgMCAxIDAgMC02NHptMC0xOTJjLTE4LjIgMC0zMi43IDE1LjUtMzEuNCAzMy43bDcuNCAxMDRjLjkgMTIuNiAxMS40IDIyLjMgMjMuOSAyMi4zIDEyLjYgMCAyMy05LjcgMjMuOS0yMi4zbDcuNC0xMDRjMS4zLTE4LjItMTMuMS0zMy43LTMxLjQtMzMuN3oiXX0scEh0PWc4ZSxiOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGF4aSIsaWNvbjpbNTEyLDUxMixbMTI4NjYyLCJjYWIiXSwiZjFiYSIsIk0xOTIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMi04LjkgMGMtNDIgMC03OS4xIDI3LjMtOTEuNiA2Ny40bC0yMyA3My41QzE0LjUgMjE5LjEgMCAyNDMuOSAwIDI3MkwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzIgMzIwIDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTc2YzAtMjguMS0xNC41LTUyLjktMzYuNC02Ny4xbC0yMy03My41QzQ0MC4xIDkxLjMgNDAyLjkgNjQgMzYwLjkgNjRsLTguOSAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJMMTkyIDB6TTE1MS4xIDEyOGwyMDkuOSAwYzE0IDAgMjYuNCA5LjEgMzAuNSAyMi41bDEzIDQxLjUtMjk2LjkgMCAxMy00MS41YzQuMi0xMy40IDE2LjUtMjIuNSAzMC41LTIyLjV6TTk2IDI3MmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTI4OCAzMmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSxmSHQ9YjhlLHY4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZXh0LXNsYXNoIixpY29uOls1NzYsNTEyLFsicmVtb3ZlLWZvcm1hdCJdLCJmODdkIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMMzIyLjcgMjU2LjkgMzY4LjIgOTYgNDcxIDk2IDQ2NSAxMjAuMmMtNC4zIDE3LjEgNi4xIDM0LjUgMjMuMyAzOC44czM0LjUtNi4xIDM4LjgtMjMuM2wxMS00NC4xQzU0NS42IDYxLjMgNTIyLjcgMzIgNDkxLjUgMzJsLTMxOSAwYy0xOS44IDAtMzcuMyAxMi4xLTQ0LjUgMzAuMWwtODctODd6TTE4MC40IDExNC41bDQuNi0xOC41IDExNi43IDAtMzAuOCAxMDktOTAuNS05MC41ek0yNDEgMzEwLjhMMjExLjMgNDE2IDE2MCA0MTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQyLjIgMCAxNS4xLTUzLjMtNTEuOS01MS45eiJdfSxoSHQ9djhlLG1IdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtcHVsbGluZyIsaWNvbjpbNTc2LDUxMixbXSwiZTUzNSIsIk04MCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCAzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzIgOS44IDAgMTguNS00LjQgMjQuNC0xMS4yTDgwLjQgNDg1LjNjMi45IDE3LjQgMTkuNCAyOS4yIDM2LjggMjYuM3MyOS4yLTE5LjQgMjYuMy0zNi44bC0yMC41LTEyMi43IDE1LjcgMCAzMCAxMzQuOWMzLjggMTcuMyAyMC45IDI4LjEgMzguMiAyNC4zczI4LjEtMjAuOSAyNC4zLTM4LjJsLTU3LjMtMjU4IDExNi4zIDUzLjhjLjUgLjMgMS4xIC41IDEuNiAuNyA4LjYgMy42IDE4IDMuMSAyNS45LS43IDMuNC0xLjYgNi42LTMuOSA5LjMtNi43IDMuMS0zLjIgNS41LTcgNy4xLTExLjQgLjEtLjMgLjItLjcgLjMtMWwyLjUtNy41YzUuNy0xNy4xIDE4LjMtMzAuOSAzNC43LTM4LjJsOC0zLjVjMS0uNCAxLjktLjggMi45LTEuMmwtMTYuOSA2My41Yy01LjYgMjEuMS0uMSA0My42IDE0LjcgNTkuN2w3MC43IDc3LjEgMjIgODguMWM0LjMgMTcuMSAyMS43IDI3LjYgMzguOCAyMy4zczI3LjYtMjEuNyAyMy4zLTM4LjhsLTIzLTkyLjFjLTEuOS03LjgtNS44LTE0LjktMTEuMi0yMC44bC00OS41LTU0IDE5LjMtNjUuNSA5LjYgMjNjNC40IDEwLjYgMTIuNSAxOS4zIDIyLjggMjQuNWwyNi43IDEzLjNjMTUuOCA3LjkgMzUgMS41IDQyLjktMTQuM3MxLjUtMzUtMTQuMy00Mi45bC0yMS40LTEwLjctMTUuMy0zNi44Yy0xNy4xLTQxLjEtNTcuMy02Ny45LTEwMS45LTY3LjktMjIuOCAwLTQ1LjMgNC44LTY2LjEgMTRsLTggMy41Yy0yNC40IDEwLjktNDQuNiAyOS01OC4xIDUxLjZMMTU3LjMgMTM2LjlDMTQ0LjcgMTMxIDEzMC45IDEyOCAxMTcgMTI4bC01MyAwek00NjQgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek0zNDkuNyAzMzUuNmwtMjUgNjIuNC01OS40IDU5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMzcyLjMgNDQxYzQuNi00LjYgOC4yLTEwLjEgMTAuNi0xNi4xbDE0LjUtMzYuMi00MC43LTQ0LjRjLTIuNS0yLjctNC44LTUuNi03LTguNnoiXX0sZ0h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhY2t3YXJkIixpY29uOls1NzYsNTEyLFs5MTk0XSwiZjA0YSIsIk0yMDQuMyA0My4xQzIxNS45IDMyIDIzMyAyOC45IDI0Ny43IDM1LjJTMjcyIDU2IDI3MiA3MmwwIDEzNi4zIDE3Mi4zLTE2NS4xQzQ1NS45IDMyIDQ3MyAyOC45IDQ4Ny43IDM1LjJTNTEyIDU2IDUxMiA3MmwwIDM2OGMwIDE2LTkuNiAzMC41LTI0LjMgMzYuOHMtMzEuOCAzLjItNDMuNC03LjlMMjcyIDMwMy43IDI3MiA0NDBjMCAxNi05LjYgMzAuNS0yNC4zIDM2LjhzLTMxLjggMy4yLTQzLjQtNy45bC0xOTItMTg0QzQuNSAyNzcuMyAwIDI2Ni45IDAgMjU2czQuNS0yMS4zIDEyLjMtMjguOWwxOTItMTg0eiJdfSx4OGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyLWJ1cnN0IixpY29uOls2NDAsNTEyLFsiY2FyLWNyYXNoIl0sImY1ZTEiLCJNMjMyIDE2LjFsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjR6TTMyIDE2OC4xbDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjR6TTI4MS41IDcwLjZjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsMzMuOS0zMy45YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMMjgxLjUgMzYuNmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjl6bS0xODEgMjE1bDMzLjktMzMuOWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwTDY2LjYgMjUxLjZjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMHpNNjYuNiAyLjdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDMzLjkgMzMuOWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMMTAwLjUgMi43QzkxLjEtNi43IDc2LTYuNyA2Ni42IDIuN3pNMzUyLjkgMTc1LjRMNTA1IDIxNi4yYzYuNCAxLjcgMTEuMSA3LjMgMTEuOCAxMy45bDcuMiA3NC0yMzEuNS02MiA0My4yLTYwLjVjMy45LTUuNCAxMC43LTcuOSAxNy4yLTYuMnpNMjIzLjYgMjI4LjVsLTIuMSAyLjljLTIxLjcgNS41LTM5LjkgMjIuMy00Ni4xIDQ1LjUtNC4xIDE1LjUtMTIuNCA0Ni40LTI0LjggOTIuN2wtOC4zIDMwLjljLTQuNiAxNy4xIDUuNiAzNC42IDIyLjYgMzkuMmwxNS41IDQuMWMxNy4xIDQuNiAzNC42LTUuNiAzOS4yLTIyLjZsOC4zLTMwLjkgMjc4LjIgNzQuNS04LjMgMzAuOWMtNC42IDE3LjEgNS42IDM0LjYgMjIuNiAzOS4ybDE1LjUgNC4xYzE3LjEgNC42IDM0LjYtNS42IDM5LjItMjIuNiA0LjEtMTUuNSAxMi40LTQ2LjQgMjQuOC05Mi43bDguMy0zMC45YzYuMi0yMy4yLTEuMS00Ni44LTE3LjItNjIuNWwtLjMtMy42LTEwLTEwM2MtMy4yLTMzLjItMjYuNy02MC45LTU4LjktNjkuNUwzNjkuNSAxMTMuNmMtMzIuMi04LjYtNjYuNCAzLjYtODUuOCAzMC44bC02MC4yIDg0LjJ6bTQ4LjcgNTcuOGEzMiAzMiAwIDEgMSAtMTYuNiA2MS44IDMyIDMyIDAgMSAxIDE2LjYtNjEuOHptMjA4LjEgODguOWEzMiAzMiAwIDEgMSA2MS44IDE2LjYgMzIgMzIgMCAxIDEgLTYxLjgtMTYuNnoiXX0sYkh0PXg4ZSx5OGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGluayIsaWNvbjpbNTc2LDUxMixbMTI4Mjc5LCJjaGFpbiJdLCJmMGMxIiwiTTQxOS41IDk2Yy0xNi42IDAtMzIuNyA0LjUtNDYuOCAxMi43LTE1LjgtMTYtMzQuMi0yOS40LTU0LjUtMzkuNSAyOC4yLTI0IDY0LjEtMzcuMiAxMDEuMy0zNy4yIDg2LjQgMCAxNTYuNSA3MCAxNTYuNSAxNTYuNSAwIDQxLjUtMTYuNSA4MS4zLTQ1LjggMTEwLjZsLTcxLjEgNzEuMWMtMjkuMyAyOS4zLTY5LjEgNDUuOC0xMTAuNiA0NS44LTg2LjQgMC0xNTYuNS03MC0xNTYuNS0xNTYuNSAwLTEuNSAwLTMgLjEtNC41IC41LTE3LjcgMTUuMi0zMS42IDMyLjktMzEuMXMzMS42IDE1LjIgMzEuMSAzMi45YzAgLjkgMCAxLjggMCAyLjYgMCA1MS4xIDQxLjQgOTIuNSA5Mi41IDkyLjUgMjQuNSAwIDQ4LTkuNyA2NS40LTI3LjFsNzEuMS03MS4xYzE3LjMtMTcuMyAyNy4xLTQwLjkgMjcuMS02NS40IDAtNTEuMS00MS40LTkyLjUtOTIuNS05Mi41ek0yNzUuMiAxNzMuM2MtMS45LS44LTMuOC0xLjktNS41LTMuMS0xMi42LTYuNS0yNy0xMC4yLTQyLjEtMTAuMi0yNC41IDAtNDggOS43LTY1LjQgMjcuMUw5MS4xIDI1OC4yYy0xNy4zIDE3LjMtMjcuMSA0MC45LTI3LjEgNjUuNCAwIDUxLjEgNDEuNCA5Mi41IDkyLjUgOTIuNSAxNi41IDAgMzIuNi00LjQgNDYuNy0xMi42IDE1LjggMTYgMzQuMiAyOS40IDU0LjYgMzkuNS0yOC4yIDIzLjktNjQgMzcuMi0xMDEuMyAzNy4yLTg2LjQgMC0xNTYuNS03MC0xNTYuNS0xNTYuNSAwLTQxLjUgMTYuNS04MS4zIDQ1LjgtMTEwLjZsNzEuMS03MS4xYzI5LjMtMjkuMyA2OS4xLTQ1LjggMTEwLjYtNDUuOCA4Ni42IDAgMTU2LjUgNzAuNiAxNTYuNSAxNTYuOSAwIDEuMyAwIDIuNiAwIDMuOS0uNCAxNy43LTE1LjEgMzEuNi0zMi44IDMxLjJzLTMxLjYtMTUuMS0zMS4yLTMyLjhjMC0uOCAwLTEuNSAwLTIuMyAwLTMzLjctMTgtNjMuMy00NC44LTc5LjZ6Il19LHZIdD15OGUsdzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhY2t3YXJkLXN0ZXAiLGljb246WzM4NCw1MTIsWyJzdGVwLWJhY2t3YXJkIl0sImYwNDgiLCJNMzYzIDM2LjhjLTEyLjktNy0yOC43LTYuMy00MSAxLjhMNjQgMjA4LjEgNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE0NC4xIDI1OCAxNjkuNmMxMi4zIDguMSAyOCA4LjggNDEgMS44czIxLTIwLjUgMjEtMzUuMmwwLTM2OGMwLTE0LjctOC4xLTI4LjItMjEtMzUuMnoiXX0seEh0PXc4ZSx5SHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToieCIsaWNvbjpbMzg0LDUxMixbMTIwXSwiNTgiLCJNMzc2LjYgODQuNWMxMS4zLTEzLjYgOS41LTMzLjgtNC4xLTQ1LjFzLTMzLjgtOS41LTQ1LjEgNC4xTDE5MiAyMDYgNTYuNiA0My41QzQ1LjMgMjkuOSAyNS4xIDI4LjEgMTEuNSAzOS40Uy0zLjkgNzAuOSA3LjQgODQuNUwxNTAuMyAyNTYgNy40IDQyNy41Yy0xMS4zIDEzLjYtOS41IDMzLjggNC4xIDQ1LjFzMzMuOCA5LjUgNDUuMS00LjFMMTkyIDMwNiAzMjcuNCA0NjguNWMxMS4zIDEzLjYgMzEuNSAxNS40IDQ1LjEgNC4xczE1LjQtMzEuNSA0LjEtNDUuMUwyMzMuNyAyNTYgMzc2LjYgODQuNXoiXX0sTThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS11c2VyIixpY29uOls1MTIsNTEyLFs2MjE0MiwidXNlci1jaXJjbGUiXSwiZjJiZCIsIk0zOTkgMzg0LjJDMzc2LjkgMzQ1LjggMzM1LjQgMzIwIDI4OCAzMjBsLTY0IDBjLTQ3LjQgMC04OC45IDI1LjgtMTExIDY0LjIgMzUuMiAzOS4yIDg2LjIgNjMuOCAxNDMgNjMuOHMxMDcuOC0yNC43IDE0My02My44ek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0yNTYgMTZhNzIgNzIgMCAxIDAgMC0xNDQgNzIgNzIgMCAxIDAgMCAxNDR6Il19LHdIdD1NOGUsazhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlY3RhbmdsZS1saXN0IixpY29uOls1MTIsNTEyLFsibGlzdC1hbHQiXSwiZjAyMiIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHptOTYgMjU2YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bS0zMi05NmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bTEyMC01NmwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTAgMTI4bDE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sTUh0PWs4ZSxTOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZCIsaWNvbjpbNTEyLDUxMixbMTI5MzA2LDk5OTUsImhhbmQtcGFwZXIiXSwiZjI1NiIsIk0yODggMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyMDhjMCA4LjgtNy4yIDE2LTE2IDE2cy0xNi03LjItMTYtMTZsMC0xNzZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAyNzJjMCAxLjUgMCAzLjEgLjEgNC42TDY3LjYgMjgzYy0xNi0xNS4yLTQxLjMtMTQuNi01Ni42IDEuNFMtMy42IDMyNS43IDEyLjQgMzQxTDEyNC44IDQ0OGM0My4xIDQxLjEgMTAwLjQgNjQgMTYwIDY0bDE5LjIgMGM5Ny4yIDAgMTc2LTc4LjggMTc2LTE3NmwwLTIwOGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDExMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTE3NmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE3NmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTIwOHoiXX0sa0h0PVM4ZSxTSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FuY2VyIixpY29uOls1MTIsNTEyLFtdLCJlODQ3IiwiTTQwOCAxNTJjNTcuNCAwIDEwNCA0Ni42IDEwNCAxMDQgMCAxNDEuNC0xMTQuNiAyNTYtMjU2IDI1Ni01NC4zIDAtMTA0LjgtMTctMTQ2LjMtNDUuOS0xNC41LTEwLjEtMTgtMzAuMS03LjktNDQuNnMzMC4xLTE4IDQ0LjYtNy45YzMxLjEgMjEuNyA2OC45IDM0LjQgMTA5LjcgMzQuNCA2Ny45IDAgMTI3LjUtMzUuMyAxNjEuNy04OC41LTMuMiAuMy02LjQgLjUtOS43IC41LTU3LjQgMC0xMDQtNDYuNi0xMDQtMTA0czQ2LjYtMTA0IDEwNC0xMDR6TTI1NiAwYzU0LjMgMCAxMDQuOCAxNyAxNDYuMyA0NS45IDE0LjUgMTAuMSAxOCAzMC4xIDcuOSA0NC42cy0zMC4xIDE4LTQ0LjYgNy45Yy0zMS4xLTIxLjctNjguOS0zNC40LTEwOS43LTM0LjQtNjcuOSAwLTEyNy41IDM1LjItMTYxLjcgODguNCAzLjItLjMgNi40LS40IDkuNy0uNCA1Ny40IDAgMTA0IDQ2LjYgMTA0IDEwNFMxNjEuNCAzNjAgMTA0IDM2MCAwIDMxMy40IDAgMjU2QzAgMjU0LjEgMCAyNTIuMiAuMSAyNTAuNCAzLjEgMTExLjYgMTE2LjUgMCAyNTYgMHpNMTA0IDIxNmE0MCA0MCAwIDEgMCAwIDgwIDQwIDQwIDAgMSAwIDAtODB6bTMwNCAwYTQwIDQwIDAgMSAwIDAgODAgNDAgNDAgMCAxIDAgMC04MHoiXX0sejhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZhbi1zaHV0dGxlIixpY29uOls1NzYsNTEyLFsxMjg2NTYsInNodXR0bGUtdmFuIl0sImY1YjYiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzMzZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsLjQgMGM0IDQ0LjkgNDEuNyA4MCA4Ny42IDgwczgzLjYtMzUuMSA4Ny42LTgwbDEwNC43IDBjNCA0NC45IDQxLjcgODAgODcuNiA4MCA0Ni4xIDAgODMuOS0zNS40IDg3LjctODAuNSAzMS43LTMuOCA1Ni4zLTMwLjggNTYuMy02My41bDAtMTAxLjNjMC0xMy44LTQuNS0yNy4zLTEyLjgtMzguNGwtODAtMTA2LjdDNDcxLjEgNzMuNSA0NTIuMSA2NCA0MzIgNjRMNjQgNjR6TTUwNCAyMjRsLTEyMCAwIDAtOTYgNDggMCA3MiA5NnpNNjQgMjI0bDAtOTYgOTYgMCAwIDk2LTk2IDB6bTE2MCAwbDAtOTYgOTYgMCAwIDk2LTk2IDB6TTM5MiAzOTJhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHpNMTUyIDM1MmE0MCA0MCAwIDEgMSAwIDgwIDQwIDQwIDAgMSAxIDAtODB6Il19LHpIdD16OGUsQ0h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YWlycyIsaWNvbjpbNTc2LDUxMixbXSwiZTI4OSIsIk0zODQgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwIDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJMMzIgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk2IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5NiAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMCAwLTk2eiJdfSxfSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG9yc2UtaGVhZCIsaWNvbjpbNTEyLDUxMixbXSwiZjdhYiIsIk0wIDQ2NEwwIDMxNi45QzAgMjA4LjUgNjguMyAxMTEuOCAxNzAuNSA3NS42TDM0MC4yIDE1LjVjMjEuNC03LjYgNDMuOCA4LjMgNDMuOCAzMC45IDAgMTEtNS41IDIxLjItMTQuNiAyNy4zTDMzNiA5NmM0OC4xIDAgOTEuMiAyOS44IDEwOC4xIDc0LjlsNDguNiAxMjkuNWMxMS44IDMxLjQgNC4xIDY2LjgtMTkuNiA5MC41LTE2IDE2LTM3LjggMjUuMS02MC41IDI1LjFsLTMuNCAwYy0yNi4xIDAtNTAuOS0xMS42LTY3LjYtMzEuN2wtMzIuMy0zOC43Yy0xMS43IDQuMS0yNC4yIDYuNC0zNy4zIDYuNGwtLjEgMGMtNi4zIDAtMTIuNS0uNS0xOC42LTEuNS0zLjYtLjYtNy4yLTEuNC0xMC43LTIuM2wwIDBjLTI4LjktNy44LTUzLjEtMjYuOC02Ny44LTUyLjItNC40LTcuNy0xNC4yLTEwLjMtMjEuOS01LjhzLTEwLjMgMTQuMi01LjggMjEuOWMyNCA0MS41IDY4LjMgNzAgMTE5LjMgNzEuOWw0Ny4yIDcwLjhjNCA2LjEgNi4yIDEzLjIgNi4yIDIwLjQgMCAyMC4zLTE2LjUgMzYuOC0zNi44IDM2LjhMNDggNTEyYy0yNi41IDAtNDgtMjEuNS00OC00OHpNMzI4IDIyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6Il19LFRIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2YXVsdCIsaWNvbjpbNTEyLDUxMixbXSwiZTJjNSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0IDAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMjU2IDBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMjU2IDI1NmE2NCA2NCAwIDEgMCAtMTI4IDAgNjQgNjQgMCAxIDAgMTI4IDB6TTY0IDI1NmExMjggMTI4IDAgMSAxIDI1NiAwIDEyOCAxMjggMCAxIDEgLTI1NiAwem0zODQtNDhjMCAxNy44LTkuNyAzMy4zLTI0IDQxLjZsMCA3OC40YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNzguNGMtMTQuMy04LjMtMjQtMjMuOC0yNC00MS42IDAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDh6Il19LExIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG9zZWQtY2FwdGlvbmluZy1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZTEzNSIsIk03LTI0LjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMTI5LjggNjQgNDgwIDY0YzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMjUuNS0xNC45IDQ3LjQtMzYuNCA1Ny44TDU2OSA1MDMuMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDcgOS4xQy0yLjMtLjMtMi4zLTE1LjUgNy0yNC45em0zNDUgMzExbDAtNzAuMmMwLTQuNCAzLjYtOCA4LThsMzIgMGM0LjQgMCA4IDMuNiA4IDggMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTMwLjktMjUuMS01Ni01Ni01NmwtMzIgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZsMCAyMi4yIDQ4IDQ4em02MS41IDYxLjVjMjAuMi04LjQgMzQuNS0yOC40IDM0LjUtNTEuNyAwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDQuNC0zLjYgOC04IDhsLTIyLjIgMCA0My43IDQzLjd6TTEzMC4zIDIwMC4xYy0xLjUgNS0yLjMgMTAuNC0yLjMgMTUuOWwwIDgwYzAgMzAuOSAyNS4xIDU2IDU2IDU2bDMyIDBjMTguMSAwIDM0LjEtOC41IDQ0LjQtMjEuOEwzNzguMiA0NDggOTYgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTI1NmMwLTcuOCAxLjQtMTUuMyA0LTIyLjJsOTQuMyA5NC4zem05My44IDkzLjhjLS4xIC43LS4xIDEuNC0uMSAyLjEgMCA0LjQtMy42IDgtOCA4bC0zMiAwYy00LjQgMC04LTMuNi04LThsMC01MC4yIDQ4LjEgNDguMXoiXX0sJEh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRydW0tc3RlZWxwYW4iLGljb246WzU3Niw1MTIsW10sImY1NmEiLCJNMjg4IDMyYzE1OS4xIDAgMjg4IDQ4IDI4OCAxMjhsMCAxOTJjMCA4MC0xMjguOSAxMjgtMjg4IDEyOFMwIDQzMiAwIDM1MkwwIDE2MEMwIDgwIDEyOC45IDMyIDI4OCAzMnpNNTI4IDE2MGMwLTkuOS04LTI5LjktNTUtNDkuOC0xOC42LTcuOS00MC45LTE0LjQtNjYtMTkuNGwtMjcuOCA0My42Yy03LjMgMTEuNS0xMS4yIDI0LjgtMTEuMiAzOC40IDAgMTcuNSA2LjQgMzQuNCAxOC4xIDQ3LjVsOS44IDExYzI5LjgtNS4yIDU1LjktMTIuNSA3Ny4yLTIxLjUgNDcuMS0xOS45IDU1LTM5LjkgNTUtNDkuOHpNMzQ5LjIgMjM3LjNjLTgtMjYuMi0zMi40LTQ1LjMtNjEuMi00NS4zcy01My4zIDE5LjEtNjEuMiA0NS4zYzE5LjQgMS43IDM5LjkgMi43IDYxLjIgMi43czQxLjgtLjkgNjEuMi0yLjd6TTE2OSA5MC44Yy0yNS4yIDUtNDcuNCAxMS42LTY2IDE5LjQtNDcuMSAxOS45LTU1IDM5LjktNTUgNDkuOHM4IDI5LjkgNTUgNDkuOGMyMS4zIDkgNDcuNCAxNi4zIDc3LjIgMjEuNWw5LjgtMTFjMTEuNi0xMy4xIDE4LjEtMzAgMTguMS00Ny41IDAtMTMuNi0zLjktMjYuOS0xMS4yLTM4LjRMMTY5IDkwLjh6bTU2LjMtOGMtLjkgNC4zLTEuNCA4LjctMS40IDEzLjIgMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NGMwLTQuNS0uNS05LTEuNC0xMy4yLTE5LjgtMS44LTQwLjgtMi44LTYyLjYtMi44cy00Mi44IDEtNjIuNiAyLjh6Il19LERIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0aHVtYnMtdXAiLGljb246WzUxMiw1MTIsWzEyODA3Nyw2MTU3NV0sImYxNjQiLCJNODAgMTYwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjU2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC00OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMkwwIDE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw0OCAwek0yNzAuNiAxNkMyOTcuOSAxNiAzMjAgMzguMSAzMjAgNjUuNGwwIDQuMmMwIDYuOC0xLjMgMTMuNi0zLjggMTkuOUwyODggMTYwIDQ0OCAxNjBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCAxOS43LTExLjkgMzYuNi0yOC45IDQ0IDE3IDcuNCAyOC45IDI0LjMgMjguOSA0NCAwIDIzLjQtMTYuOCA0Mi45LTM5IDQ3LjEgNC40IDcuMyA3IDE1LjggNyAyNC45IDAgMjIuMi0xNSA0MC44LTM1LjQgNDYuMyAyLjIgNS41IDMuNCAxMS41IDMuNCAxNy43IDAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC04Ny45IDBjLTM2LjMgMC03MS42LTEyLjQtOTkuOS0zNS4xTDE4NCA0MzUuMmMtMTUuMi0xMi4xLTI0LTMwLjUtMjQtNTBsMC0xODYuNmMwLTE0LjkgMy41LTI5LjYgMTAuMS00Mi45TDIyNi4zIDQzLjNDMjM0LjcgMjYuNiAyNTEuOCAxNiAyNzAuNiAxNnoiXX0sQUh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YW1wIixpY29uOls1MTIsNTEyLFtdLCJmNWJmIiwiTTMxMiAyMDEuOGMwLTE3LjQgOS4yLTMzLjIgMTkuOS00NyAxMi42LTE2LjIgMjAuMS0zNi42IDIwLjEtNTguOCAwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmMwIDIyLjEgNy41IDQyLjUgMjAuMSA1OC44IDEwLjcgMTMuOCAxOS45IDI5LjYgMTkuOSA0NyAwIDI5LjktMjQuMyA1NC4yLTU0LjIgNTQuMkwxMTIgMjU2Yy02MS45IDAtMTEyIDUwLjEtMTEyIDExMiAwIDI2LjUgMjEuNSA0OCA0OCA0OGw0MTYgMGMyNi41IDAgNDgtMjEuNSA0OC00OCAwLTYxLjktNTAuMS0xMTItMTEyLTExMmwtMzMuOCAwYy0yOS45IDAtNTQuMi0yNC4zLTU0LjItNTQuMnpNNTYgNDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQwMCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDU2IDQ2NHoiXX0sRUh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1lbm9yYWgiLGljb246WzY0MCw1MTIsW10sImY2NzYiLCJNMjAuOCA3LjRDMjIuOCAyLjkgMjcuMSAwIDMyIDBzOS4yIDIuOSAxMS4yIDcuNEw2MS4zIDQ5LjdjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xTDY0IDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgODEuNyAwIDY0bDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMUwyMC44IDcuNHptOTYgMEMxMTguOCAyLjkgMTIzLjEgMCAxMjggMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFsMCAxLjJjMCAxNy43LTE0LjMgMzItMzIgMzJTOTYgODEuNyA5NiA2NGwwLTEuMmMwLTQuNSAuOS04LjkgMi43LTEzLjFMMTE2LjggNy40em03Ny44IDQyLjRMMjEyLjggNy40QzIxNC44IDIuOSAyMTkuMSAwIDIyNCAwczkuMiAyLjkgMTEuMiA3LjRsMTguMiA0Mi40YzEuOCA0LjEgMi43IDguNiAyLjcgMTMuMWwwIDEuMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTEuMmMwLTQuNSAuOS04LjkgMi43LTEzLjF6TTMwOC44IDcuNEMzMTAuOCAyLjkgMzE1LjEgMCAzMjAgMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFsMCAxLjJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xLjJjMC00LjUgLjktOC45IDIuNy0xMy4xTDMwOC44IDcuNHptNzcuOCA0Mi40TDQwNC44IDcuNEM0MDYuOCAyLjkgNDExLjEgMCA0MTYgMHM5LjIgMi45IDExLjIgNy40bDE4LjIgNDIuNGMxLjggNC4xIDIuNyA4LjYgMi43IDEzLjFsMCAxLjJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xLjJjMC00LjUgLjktOC45IDIuNy0xMy4xek01MDAuOCA3LjRDNTAyLjggMi45IDUwNy4xIDAgNTEyIDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMUw1MDAuOCA3LjR6bTc3LjggNDIuNEw1OTYuOCA3LjRDNTk4LjggMi45IDYwMy4xIDAgNjA4IDBzOS4yIDIuOSAxMS4yIDcuNGwxOC4yIDQyLjRjMS44IDQuMSAyLjcgOC42IDIuNyAxMy4xbDAgMS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMS4yYzAtNC41IC45LTguOSAyLjctMTMuMXpNMzIgMTI4YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE5MiAwIDAtMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxNjAgMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDUzLTQzIDk2LTk2IDk2bC0xOTIgMCAwIDY0IDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxMjggMCAwLTY0LTE5MiAwYy01MyAwLTk2LTQzLTk2LTk2TDAgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyem05NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTI4LTY0IDAgMC0xMjhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjgtNjQgMCAwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMjgtNjQgMCAwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnptOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDEyOC02NCAwIDAtMTI4YzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxQSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hpbGRyZW4iLGljb246WzY0MCw1MTIsW10sImU0ZTEiLCJNMTYwLjUgMGE2NCA2NCAwIDEgMSAwIDEyOCA2NCA2NCAwIDEgMSAwLTEyOHptLTcyIDQ4MGwwLTgwLTE3LjggMGMtMTAuOSAwLTE4LjYtMTAuNy0xNS4yLTIxLjFMODYuNyAyODUuNSA1OCAzMjMuM2MtMTAuNyAxNC4xLTMwLjggMTYuOC00NC44IDYuMlMtMy43IDI5OC43IDcgMjg0LjdMNjUuOSAyMDdjMjIuNC0yOS42IDU3LjUtNDcgOTQuNi00N3M3Mi4yIDE3LjQgOTQuNiA0N0wzMTQgMjg0LjdjMTAuNyAxNC4xIDcuOSAzNC4yLTYuMiA0NC44cy0zNC4yIDcuOS00NC44LTYuMmwtMjguNy0zNy44IDMxLjEgOTMuNGMzLjUgMTAuNC00LjMgMjEuMS0xNS4yIDIxLjFsLTE3LjggMCAwIDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtODAtMTYgMCAwIDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyek00ODAuNSAwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4em0tOCAzODRsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE3OS41LTEyLjkgMjAuNWMtOS40IDE1LTI5LjIgMTkuNC00NC4xIDEwcy0xOS40LTI5LjItMTAtNDQuMWw1MS43LTgyLjFjMTcuNi0yNy45IDQ4LjMtNDQuOSA4MS4yLTQ0LjlsMTIuMyAwYzMzIDAgNjMuNyAxNi45IDgxLjIgNDQuOUw2MTkuNiAyODdjOS40IDE1IDQuOSAzNC43LTEwIDQ0LjFzLTM0LjcgNC45LTQ0LjEtMTBsLTEyLjktMjAuNSAwIDE3OS41YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTYtMTYgMHoiXX0sQzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYXJ0LWxpbmUiLGljb246WzUxMiw1MTIsWyJsaW5lLWNoYXJ0Il0sImYyMDEiLCJNNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJTMCA0Ni4zIDAgNjRMMCA0MDBjMCA0NC4yIDM1LjggODAgODAgODBsNDAwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMODAgNDE2Yy04LjggMC0xNi03LjItMTYtMTZMNjQgNjR6bTQwNi42IDg2LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMzIwIDIxMC43IDI2Mi42IDE1My40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNzMuNC03My40IDU3LjQgNTcuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4eiJdfSxJSHQ9QzhlLF84ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtZW52ZWxvcGUiLGljb246WzQ0OCw1MTIsWyJlbnZlbG9wZS1zcXVhcmUiXSwiZjE5OSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMDkuMSAyNjcuOUwxMDguNCAyMDcuNGMtNy43LTQuNi0xMi40LTEyLjktMTIuNC0yMS45IDAtMTQuMSAxMS40LTI1LjUgMjUuNS0yNS41bDIwNC45IDBjMTQuMSAwIDI1LjUgMTEuNCAyNS41IDI1LjUgMCA5LTQuNyAxNy4zLTEyLjQgMjEuOUwyMzguOSAyNjcuOWMtNC41IDIuNy05LjYgNC4xLTE0LjkgNC4xcy0xMC40LTEuNC0xNC45LTQuMXpNMzUyIDIzNy4zbDAgODIuN2MwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtODIuNyA5Ni43IDU4QzIwMi4xIDMwMSAyMTMgMzA0IDIyNCAzMDRzMjEuOS0zIDMxLjMtOC43bDk2LjctNTh6Il19LE5IdD1fOGUsVDhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhbi1zbW9raW5nIixpY29uOls1MTIsNTEyLFsxMjg2ODUsInNtb2tpbmctYmFuIl0sImY1NGQiLCJNOTkuNSAxNDQuOGw3OS4yIDc5LjItNTAuNyAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDE0Ni43IDAgOTIuNSA5Mi41Yy0zMS40IDIyLjQtNjkuOCAzNS41LTExMS4yIDM1LjUtMTA2IDAtMTkyLTg2LTE5Mi0xOTIgMC00MS41IDEzLjEtNzkuOSAzNS41LTExMS4yek0zMzMuMyAyODhsLTMyLTMyIDgyLjcgMCAwIDMyLTUwLjcgMHptMzIgMzJsMTguNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJMMjY5LjMgMjI0IDE0NC44IDk5LjVjMzEuNC0yMi40IDY5LjgtMzUuNSAxMTEuMi0zNS41IDEwNiAwIDE5MiA4NiAxOTIgMTkyIDAgNDEuNS0xMy4xIDc5LjktMzUuNSAxMTEuMkwzNjUuMyAzMjB6TTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yNzIgOTZjLTguOCAwLTE2IDcuMi0xNiAxNiAwIDI2LjUgMjEuNSA0OCA0OCA0OGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnM3LjIgMTYgMTYgMTYgMTYtNy4yIDE2LTE2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZzLTcuMi0xNi0xNi0xNnoiXX0sUkh0PVQ4ZSxPSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stZnJvbnQiLGljb246WzQ0OCw1MTIsW10sImUyYjciLCJNMCAxMTJDMCA2Ny44IDM1LjggMzIgODAgMzJsMjg4IDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCAyNTZjMCAyNi4yLTEyLjYgNDkuNC0zMiA2NGwwIDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTMyLTE5MiAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNDhDMTIuNiA0MTcuNCAwIDM5NC4yIDAgMzY4TDAgMTEyem05NiA4MGwwIDY0IDI1NiAwIDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTE5MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnptMzIgMTYwYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6bTIyNCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LFB0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZyIsaWNvbjpbMzg0LDUxMixbMTI3OTcwLDYxNjg3XSwiZjFhZCIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAwek0xNzYgMzUybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA4MC05NiAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTk2IDExMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyek0yNDAgOTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNOTYgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE0NC0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2eiJdfSxGSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVsbHNleWUiLGljb246WzUxMiw1MTIsW10sImYxNDAiLCJNNDQ4IDI1NmExOTIgMTkyIDAgMSAwIC0zODQgMCAxOTIgMTkyIDAgMSAwIDM4NCAwek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0yNTYgODBhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6bTAtMjI0YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHpNMjI0IDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSxMOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctbGVmdC1sb25nIixpY29uOls1NzYsNTEyLFsibG9uZy1hcnJvdy1sZWZ0Il0sImYxNzciLCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxMjggMTI4YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMMTA5LjMgMjg4IDU0NCAyODhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQzNC43IDAgNzMuNC03My40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC0xMjggMTI4eiJdfSxCSHQ9TDhlLEhIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGVzcy1yb29rIixpY29uOlszODQsNTEyLFs5ODIwXSwiZjQ0NyIsIk0wIDMyTDAgMTMzLjVjMCAxNyA2LjcgMzMuMyAxOC43IDQ1LjNMNjQgMjI0IDY0IDM4NCA3LjggNDU0LjNDMi43IDQ2MC42IDAgNDY4LjQgMCA0NzYuNSAwIDQ5Ni4xIDE1LjkgNTEyIDM1LjUgNTEybDMxMi45IDBjMTkuNiAwIDM1LjUtMTUuOSAzNS41LTM1LjUgMC04LjEtMi43LTE1LjktNy44LTIyLjJsLTU2LjItNzAuMyAwLTE2MCA0NS4zLTQ1LjNjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0wzODQgMzJjMC0xNy43LTE0LjMtMzItMzItMzJMMzIwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzItNDggMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDE3NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTQ4IDAgMC0zMkM5NiAxNC4zIDgxLjcgMCA2NCAwTDMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyeiJdfSxxSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmxlbmRlci1waG9uZSIsaWNvbjpbNTc2LDUxMixbXSwiZjZiNiIsIk0xNTEuNCAxMy4yYzEwLjIgNS44IDE0LjUgMTguNCAxMCAyOS4zTDEzOC4yIDk4LjhjLTMuOSA5LjYtMTMuNyAxNS40LTI0IDE0LjRsLTIwLjItMkM3OC43IDE1Mi45IDc4IDE5OC45IDkxLjkgMjQxLjFsMjIuNC0yLjJjMTAuMy0xIDIwIDQuOCAyNCAxNC40bDIzLjIgNTYuM2M0LjUgMTAuOSAuMiAyMy40LTEwIDI5LjNsLTIuOSAxLjZjLTMzLjYgMTkuMi04MS43IDE2LjItMTA2LjItMjEuNi01Ni4zLTg2LjYtNTYuMy0xOTkuMSAwLTI4NS43IDI0LjYtMzcuNyA3Mi43LTQwLjcgMTA2LjItMjEuNmwyLjkgMS42ek0yMjQgMzM2TDE5My43IDE3LjVDMTkyLjggOC4xIDIwMC4yIDAgMjA5LjYgMGwzMjQgMGMyMS4zIDAgMzYuNiAyMC4zIDMwLjggNDAuOEw1NTMuMSA4MCA0NDAgODBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsOTkuNCAwLTE4LjMgNjQtODEuMSAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDY3LjQgMC0yNy40IDk2LTI1NiAwem04IDQ4bDI0MCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDBsLTI0MCAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTQ4YzAtMjIuMSAxNy45LTQwIDQwLTQwem0xMjAgODhhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSwkOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdHVybi11cCIsaWNvbjpbMzg0LDUxMixbImxldmVsLXVwIl0sImYxNDgiLCJNMzIgNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTMwNi43IDczLjQgNzMuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTI4IDEyOGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxNjAgMTA5LjMgMTYwIDQxNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMHoiXX0sVkh0PSQ4ZSxqSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmljeWNsZSIsaWNvbjpbNjQwLDUxMixbMTI4NjkwXSwiZjIwNiIsIk0zMzEuNyA0My4zQzMzNiAzNi4zIDM0My43IDMyIDM1MiAzMmwxMDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNjUuNiAwIDcyLjIgMTQ4LjRjMTAuNy0yLjkgMjEuOS00LjQgMzMuNC00LjQgNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhzLTU3LjMgMTI4LTEyOCAxMjgtMTI4LTU3LjMtMTI4LTEyOGMwLTQyIDIwLjItNzkuMiA1MS40LTEwMi42bC0yMC40LTQxLjktNzMuNSAxNDdjLTIuMyA0LjgtNi4zIDguOC0xMS40IDExLjItLjYgLjMtMS4yIC41LTEuOCAuNy0yLjkgMS4xLTUuOSAxLjYtOC45IDEuNUwyNzEgMzY4Yy03LjkgNjMuMS02MS43IDExMi0xMjcgMTEyLTcwLjcgMC0xMjgtNTcuMy0xMjgtMTI4UzczLjMgMjI0IDE0NCAyMjRjMTAuOCAwIDIxLjIgMS4zIDMxLjIgMy44bDI4LjUtNTYuOS0xMS41LTI2LjktNDAuMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDU2IDBjOS42IDAgMTguMyA1LjcgMjIuMSAxNC41bDE0LjMgMzMuNSAxMjMuNyAwLTM3LjctNzcuNWMtMy42LTcuNC0zLjItMTYuMiAxLjItMjMuMnpNMjI4LjUgMjI4LjdsLTQ1LjYgOTEuMyA4NC44IDAtMzkuMS05MS4zek0zMDUuNyAyODdsNDcuNS05NS04OC4yIDAgNDAuNyA5NXptMTY4LjcgNzUuNWwtMjkuNy02MWMtMTIuOCAxMy0yMC43IDMwLjgtMjAuNyA1MC41IDAgMzkuOCAzMi4yIDcyIDcyIDcyczcyLTMyLjIgNzItNzItMzIuMi03Mi03Mi03MmMtMi43IDAtNS41IC4yLTguMSAuNWwyOS43IDYxYzUuOCAxMS45IC44IDI2LjMtMTEuMSAzMi4xcy0yNi4zIC44LTMyLjEtMTEuMXpNMTQ5LjIgMzY4Yy0yMC4yIDAtMzMuNC0yMS4zLTI0LjMtMzkuNGwyNC4yLTQ4LjVjLTEuNy0uMS0zLjQtLjItNS4xLS4yLTM5LjggMC03MiAzMi4yLTcyIDcyczMyLjIgNzIgNzIgNzJjMzQuMyAwIDYyLjktMjMuOSA3MC4yLTU2bC02NSAweiJdfSxEOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWFycm93LWRvd24iLGljb246WzUxMiw1MTIsWyJhcnJvdy1jaXJjbGUtZG93biJdLCJmMGFiIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMzkgMzc3bC04MC04MGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDM5IDM5IDAtMTUwLjFjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDE1MC4xIDM5LTM5YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtODAgODBjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAweiJdfSxVSHQ9RDhlLG52PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdlYXIiLGljb246WzUxMiw1MTIsWzk4ODEsImNvZyJdLCJmMDEzIiwiTTE5NS4xIDkuNUMxOTguMS01LjMgMjExLjItMTYgMjI2LjQtMTZsNTkuOCAwYzE1LjIgMCAyOC4zIDEwLjcgMzEuMyAyNS41TDMzMiA3OS41YzE0LjEgNiAyNy4zIDEzLjcgMzkuMyAyMi44bDY3LjgtMjIuNWMxNC40LTQuOCAzMC4yIDEuMiAzNy44IDE0LjRsMjkuOSA1MS44YzcuNiAxMy4yIDQuOSAyOS44LTYuNSAzOS45TDQ0NyAyMzMuM2MuOSA3LjQgMS4zIDE1IDEuMyAyMi43cy0uNSAxNS4zLTEuMyAyMi43bDUzLjQgNDcuNWMxMS40IDEwLjEgMTQgMjYuOCA2LjUgMzkuOWwtMjkuOSA1MS44Yy03LjYgMTMuMS0yMy40IDE5LjItMzcuOCAxNC40bC02Ny44LTIyLjVjLTEyLjEgOS4xLTI1LjMgMTYuNy0zOS4zIDIyLjhsLTE0LjQgNjkuOWMtMy4xIDE0LjktMTYuMiAyNS41LTMxLjMgMjUuNWwtNTkuOCAwYy0xNS4yIDAtMjguMy0xMC43LTMxLjMtMjUuNWwtMTQuNC02OS45Yy0xNC4xLTYtMjcuMi0xMy43LTM5LjMtMjIuOEw3My41IDQzMi4zYy0xNC40IDQuOC0zMC4yLTEuMi0zNy44LTE0LjRMNS44IDM2Ni4xYy03LjYtMTMuMi00LjktMjkuOCA2LjUtMzkuOWw1My40LTQ3LjVjLS45LTcuNC0xLjMtMTUtMS4zLTIyLjdzLjUtMTUuMyAxLjMtMjIuN0wxMi4zIDE4NS44Yy0xMS40LTEwLjEtMTQtMjYuOC02LjUtMzkuOUwzNS43IDk0LjFjNy42LTEzLjIgMjMuNC0xOS4yIDM3LjgtMTQuNGw2Ny44IDIyLjVjMTIuMS05LjEgMjUuMy0xNi43IDM5LjMtMjIuOEwxOTUuMSA5LjV6TTI1Ni4zIDMzNmE4MCA4MCAwIDEgMCAtLjYtMTYwIDgwIDgwIDAgMSAwIC42IDE2MHoiXX0sV0h0PW52LEdIdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJzLWFuZC12ZW51cy1idXJzdCIsaWNvbjpbNjQwLDUxMixbXSwiZTUyMyIsIk00NjQtMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzQuNyAwLTYzIDYzYy0yOC40LTE5LjUtNjIuNy0zMS05OS44LTMxLTk3LjIgMC0xNzYgNzguOC0xNzYgMTc2IDAgODYuMyA2Mi4xIDE1OC4xIDE0NCAxNzMuMWwwIDM0LjktMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMiAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC0zNC45YzgxLjktMTUgMTQ0LTg2LjggMTQ0LTE3My4xIDAtMzctMTEuNC03MS40LTMxLTk5LjhsNjMtNjMgMCAzNC43YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMTJjMC0xNy43LTE0LjMtMzItMzItMzJMNDk2LTY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnpNMzY4IDk2YTExMiAxMTIgMCAxIDEgMCAyMjQgMTEyIDExMiAwIDEgMSAwLTIyNHpNMTkwLjktMjEuOUMxODguNC0yOCAxODIuNi0zMiAxNzYtMzJzLTEyLjQgNC0xNC45IDEwLjFsLTI5LjQgNzQtNzYuMi0yMy4xYy02LjMtMS45LTEzLjEgLjItMTcuMiA1LjNTMzMuOCA0Ni41IDM3IDUyLjJsMzkuNSA2OS4xLTY1LjYgNDUuMWMtNS40IDMuNy04IDEwLjMtNi41IDE2LjdzNi43IDExLjIgMTMuMSAxMi4ybDc4LjcgMTIuMi01LjYgNzkuNGMtLjUgNi41IDMuMSAxMi43IDkgMTUuNXMxMi45IDEuOCAxNy44LTIuNkwxNTIuMSAyNjhjLTUuMy0xOS4xLTguMS0zOS4yLTguMS02MCAwLTY1LjQgMjgtMTI0LjIgNzIuNi0xNjUuMUwxOTAuOS0yMS45eiJdfSxZSHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToib3R0ZXIiLGljb246WzY0MCw1MTIsWzEyOTQ0Nl0sImY3MDAiLCJNMTgxLjUgMTk3LjFsMTIuOSA2LjRjNS45IDMgMTIuNCA0LjUgMTkuMSA0LjUgMjMuNSAwIDQyLjYtMTkuMSA0Mi42LTQyLjZsMC0yMS40YzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDIxLjRjMCAyMy41IDE5LjEgNDIuNiA0Mi42IDQyLjYgNi42IDAgMTMuMS0xLjUgMTkuMS00LjUgOS4zLTQuNyAxNi40LTguMiAyMS4yLTEwLjZMMTM1LjEgMTg1Yy00LjUtMy03LjEtOC03LjEtMTMuM2wwLTMuN2MwLTEzLjMgMTAuNy0yNCAyNC0yNGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMy43YzAgNS4zLTIuNyAxMC4zLTcuMSAxMy4zbC0xMS44IDcuOSA4LjQgNC4yem0tOC42IDQ5LjRsLTEyLjktNi40LTEyLjkgNi40Yy0xMi42IDYuMy0yNi41IDkuNi00MC41IDkuNi0zLjYgMC03LjEtLjItMTAuNi0uNmwwIC42YzAgMzUuMyAyOC43IDY0IDY0IDY0bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMTYwIDAgMC02NGMwLTIzLjcgMTIuOS00NC40IDMyLTU1LjQgOS40LTUuNCAyMC4zLTguNiAzMi04LjZsMC0xNmMwLTI2LjUgMjEuNS00OCA0OC00OCA4LjggMCAxNiA3LjIgMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTkuN2MwLTQ4LjItMzAuOC05MS03Ni42LTEwNi4zbC04LjUtMi44Yy04LTIuNy0xMi42LTExLjEtMTAuNC0xOS4zczEwLjMtMTMuMiAxOC42LTExLjZsMTkuOSA0QzU3NiA4Ni4xIDY0MCAxNjQuMiA2NDAgMjU0LjlsMCAxLjEgMCAwYzAgMTIzLjctMTAwLjMgMjI0LTIyNCAyMjRsLTE2MC42IDBDMTMyIDQ4MCAzMiAzODAgMzIgMjU2LjZsMC0zOS44Yy0xMC4xLTE0LjYtMTYtMzIuMy0xNi01MS40bDAtMjEuNCAwLTEuNEM2LjcgMTM5LjMgMCAxMzAuNSAwIDEyMCAwIDEwNi43IDEwLjcgOTYgMjQgOTZsMi44IDBDNDQuOCA1OC4yIDgzLjMgMzIgMTI4IDMybDY0IDBjNDQuNyAwIDgzLjIgMjYuMiAxMDEuMiA2NGwyLjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNCAwIDEwLjUtNi43IDE5LjMtMTYgMjIuNmwwIDEuNCAwIDIxLjRjMCAxLjQgMCAyLjgtLjEgNC4zIDEyLTYuMiAyNS43LTkuNiA0MC4xLTkuNmw4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA4IDU2LjQgMGMtMTUuMiAxNy0yNC40IDM5LjQtMjQuNCA2NGwtMzIgMGMtNDIuMyAwLTc4LjItMjcuNC05MS02NS4zLTUuMSAuOS0xMC4zIDEuMy0xNS42IDEuMy0xNC4xIDAtMjcuOS0zLjMtNDAuNS05LjZ6TTk2IDEyOGExNiAxNiAwIDEgMSAwIDMyIDE2IDE2IDAgMSAxIDAtMzJ6bTExMiAxNmExNiAxNiAwIDEgMSAzMiAwIDE2IDE2IDAgMSAxIC0zMiAweiJdfSxBOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWNoZXZyb24tbGVmdCIsaWNvbjpbNTEyLDUxMixbImNoZXZyb24tY2lyY2xlLWxlZnQiXSwiZjEzNyIsIk01MTIgMjU2YTI1NiAyNTYgMCAxIDAgLTUxMiAwIDI1NiAyNTYgMCAxIDAgNTEyIDB6TTI3MSAxMzVjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC04NyA4NyA4NyA4N2M5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDE2NyAyNzNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45TDI3MSAxMzV6Il19LEtIdD1BOGUsRThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1xdWVzdGlvbiIsaWNvbjpbNTEyLDUxMixbNjIxMDgsInF1ZXN0aW9uLWNpcmNsZSJdLCJmMDU5IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyem0wLTMzNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGMwIDQ3LjItMzYgNjcuMi01NiA3NC41bDAgMy44YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtOC4xYzAtMjAuNSAxNC44LTM1LjIgMzAuMS00MC4yIDYuNC0yLjEgMTMuMi01LjUgMTguMi0xMC4zIDQuMy00LjIgNy43LTEwIDcuNy0xOS42IDAtMTcuNy0xNC4zLTMyLTMyLTMyek0yMjQgMzY4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LFpIdD1FOGUsWEh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndhbGtpZS10YWxraWUiLGljb246WzM4NCw1MTIsW10sImY4ZWYiLCJNODgtMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA3MiA0OCAwYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMzIgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNjAuOWMwIDkuOS0yLjMgMTkuNy02LjggMjguNmwtMjAuMiA0MC40Yy0zLjMgNi43LTUuMSAxNC01LjEgMjEuNWwwIDg0LjdjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTg0LjdjMC03LjUtMS43LTE0LjgtNS4xLTIxLjVMNi44IDMwMS41QzIuMyAyOTIuNiAwIDI4Mi44IDAgMjcyLjlMMCAxMTJDMCA4NS41IDIxLjUgNjQgNDggNjRsMTYgMCAwLTcyYzAtMTMuMyAxMC43LTI0IDI0LTI0em0zMiAxNzZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAwem0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHoiXX0sUDhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItZ3JvdXAiLGljb246WzU3Niw1MTIsWzEyODEwMSwidXNlci1mcmllbmRzIl0sImY1MDAiLCJNNjQgMTI4YTExMiAxMTIgMCAxIDEgMjI0IDAgMTEyIDExMiAwIDEgMSAtMjI0IDB6TTAgNDY0YzAtOTcuMiA3OC44LTE3NiAxNzYtMTc2czE3NiA3OC44IDE3NiAxNzZsMCA2YzAgMjMuMi0xOC44IDQyLTQyIDQyTDQyIDUxMmMtMjMuMiAwLTQyLTE4LjgtNDItNDJsMC02ek00MzIgNjRhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6bTAgMjQwYzc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0bDAgMjIuNGMwIDIzLTE4LjYgNDEuNi00MS42IDQxLjZsLTE0NC44IDBjNi42LTEyLjUgMTAuNC0yNi44IDEwLjQtNDJsMC02YzAtNTEuNS0xNy40LTk4LjktNDYuNS0xMzYuNyAyMi42LTE0LjcgNDkuNi0yMy4zIDc4LjUtMjMuM3oiXX0sUUh0PVA4ZSxJOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY2hpbW5leSIsaWNvbjpbNTEyLDUxMixbNjM0OTksImhvbWUtbGciXSwiZTNhZiIsIk0yMzQuMiA4LjZjMTIuMy0xMS40IDMxLjMtMTEuNCA0My41IDBMMzY4IDkyLjMgMzY4IDgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMDEuNSAzNy44IDM1LjFjOS42IDkgMTIuOCAyMi45IDggMzUuMVM0OTMuMiAyNzIgNDgwIDI3MmwtMTYgMCAwIDE3NmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMjg4IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOHpNMjQwIDMyMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NiAxMjggMCAwLTk2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0zMiAweiJdfSxKSHQ9SThlLE44ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyaWdodC1mcm9tLWJyYWNrZXQiLGljb246WzUxMiw1MTIsWyJzaWduLW91dC1hbHQiXSwiZjJmNSIsIk01MDUgMjczYzkuNC05LjQgOS40LTI0LjYgMC0zMy45TDM2MSA5NWMtNi45LTYuOS0xNy4yLTguOS0yNi4yLTUuMlMzMjAgMTAyLjMgMzIwIDExMmwwIDgwLTExMiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDExMiAwIDAgODBjMCA5LjcgNS44IDE4LjUgMTQuOCAyMi4yczE5LjMgMS43IDI2LjItNS4yTDUwNSAyNzN6TTE2MCA5NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkw5NiAzMkM0MyAzMiAwIDc1IDAgMTI4TDAgMzg0YzAgNTMgNDMgOTYgOTYgOTZsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yNTZjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMHoiXX0sZXF0PU44ZSx0cXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZSIsaWNvbjpbMzg0LDUxMixbMTI4MTk2LDEyODQ1OSw2MTQ2Ml0sImYxNWIiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNzcuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNTguNyAxOC43QzI0Ni43IDYuNyAyMzAuNSAwIDIxMy41IDBMNjQgMHpNMzI1LjUgMTc2TDIzMiAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDIwOCA1OC41IDMyNS41IDE3NnoiXX0sYXF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJlMDY5IiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTE4My40LTE4My40IDcuMS03LjcgMTI3LjMgMGMzMC45IDAgNTYtMjUuMSA1Ni01NnMtMjUuMS01Ni01Ni01NkwzOTIuNyAyMDAgMjMzLjUgMjYuNEMyMjcuNSAxOS44IDIxOC45IDE2IDIwOS45IDE2bC00My43IDBjLTEwLjkgMC0xOC42IDEwLjctMTUuMiAyMS4xTDE3NS4xIDEwOS4yIDQxLTI0Ljl6TTEzMC4yIDIwMGwtMjQuNiAwLTUyLjgtNjZjLTMtMy44LTcuNi02LTEyLjUtNmwtMTkuOCAwYy0xMC40IDAtMTggOS44LTE1LjUgMTkuOUwzMiAyNTYgNSAzNjQuMUMyLjQgMzc0LjIgMTAuMSAzODQgMjAuNSAzODRsMTkuOCAwYzQuOSAwIDkuNS0yLjIgMTIuNS02bDUyLjgtNjYgOTkuNyAwLTU0LjMgMTYyLjljLTMuNSAxMC40IDQuMyAyMS4xIDE1LjIgMjEuMWw0My43IDBjOSAwIDE3LjUtMy44IDIzLjYtMTAuNEwzMjAuNyAzOTAuNSAxMzAuMiAyMDB6Il19LHJxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1zaG93ZXJzLWhlYXZ5IixpY29uOls1MTIsNTEyLFtdLCJmNzQwIiwiTTk2IDMyMGMtNTMgMC05Ni00My05Ni05NiAwLTQyLjUgMjcuNi03OC42IDY1LjktOTEuMi0xLjMtNi43LTEuOS0xMy43LTEuOS0yMC44IDAtNjEuOSA1MC4xLTExMiAxMTItMTEyIDQzLjEgMCA4MC41IDI0LjMgOTkuMiA2MCAxNC43LTE3LjEgMzYuNS0yOCA2MC44LTI4IDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgNS41LS42IDEwLjgtMS42IDE2IC41IDAgMS4xIDAgMS42IDAgNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZMOTYgMzIwem02LjggNzkuNmwtMzIgOTZDNjYuNiA1MDguMiA1MyA1MTUgNDAuNCA1MTAuOFMyMSA0OTMgMjUuMiA0ODAuNGwzMi05NkM2MS40IDM3MS44IDc1IDM2NSA4Ny42IDM2OS4yUzEwNyAzODcgMTAyLjggMzk5LjZ6bTEyMCAwbC0zMiA5NmMtNC4yIDEyLjYtMTcuOCAxOS40LTMwLjQgMTUuMlMxNDEgNDkzIDE0NS4yIDQ4MC40bDMyLTk2YzQuMi0xMi42IDE3LjgtMTkuNCAzMC40LTE1LjJTMjI3IDM4NyAyMjIuOCAzOTkuNnptMTEyIDBsLTMyIDk2Yy00LjIgMTIuNi0xNy44IDE5LjQtMzAuNCAxNS4yUzI1MyA0OTMgMjU3LjIgNDgwLjRsMzItOTZjNC4yLTEyLjYgMTcuOC0xOS40IDMwLjQtMTUuMlMzMzkgMzg3IDMzNC44IDM5OS42em0xMjAgMGwtMzIgOTZjLTQuMiAxMi42LTE3LjggMTkuNC0zMC40IDE1LjJTMzczIDQ5MyAzNzcuMiA0ODAuNGwzMi05NmM0LjItMTIuNiAxNy44LTE5LjQgMzAuNC0xNS4yUzQ1OSAzODcgNDU0LjggMzk5LjZ6Il19LHNxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tZmFsbGluZyIsaWNvbjpbNTEyLDUxMixbXSwiZTU0NiIsIk0zMjAgMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA1LjRjMCA0NS0yMy42IDg2LjYtNjIuMSAxMDkuOGwtNC42IDIuOEMxMzEuNCAxODQuNyA5NiAyNDcuMSA5NiAzMTQuNkw5NiAzODRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY5LjRjMC0xNi43IDMuMy0zMyA5LjQtNDhMMzU5LjIgNTAwLjJjMTEuMSAxMy43IDMxLjMgMTUuOCA0NSA0LjdzMTUuOC0zMS4zIDQuNy00NUwyOTUuMiAzMjAgNDAwIDMyMCA0MzguNCAzNzEuMmMxMC42IDE0LjEgMzAuNyAxNyA0NC44IDYuNHMxNy0zMC43IDYuNC00NC44bC00My4yLTU3LjZDNDM3LjMgMjYzLjEgNDIzLjEgMjU2IDQwOCAyNTZsLTg5IDAtNjIuOS03NS41YzQwLjMtMzYgNjMuOS04Ny45IDYzLjktMTQzLjFsMC01LjR6TTEwNCAxNDRhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6Il19LFI4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0dXJuLWRvd24iLGljb246WzM4NCw1MTIsWzEwNTQ5LCJsZXZlbC1kb3duLWFsdCJdLCJmM2JlIiwiTTE2OS40IDUwMi42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjhjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTMzMyLjkgMzIwIDMyMCAzMjBsLTY0IDAgMC0xNjBDMjU2IDcxLjYgMTg0LjQgMCA5NiAwTDMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyTDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2MC02NCAwYy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOWwxMjggMTI4eiJdfSxpcXQ9UjhlLE84ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1cC1yaWdodC1hbmQtZG93bi1sZWZ0LWZyb20tY2VudGVyIixpY29uOls1MTIsNTEyLFsiZXhwYW5kLWFsdCJdLCJmNDI0IiwiTTM0NCAwTDQ4OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTQ0YzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTM5LTM5LTg3IDg3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtMzItMzJjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDg3LTg3LTM5LTM5Yy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yUzMzNC4zIDAgMzQ0IDB6TTE2OCA1MTJMMjQgNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNEwwIDM0NGMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJTMzQuMSAzMjAuMiA0MSAzMjdsMzkgMzkgODctODdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBsMzIgMzJjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlsLTg3IDg3IDM5IDM5YzYuOSA2LjkgOC45IDE3LjIgNS4yIDI2LjJTMTc3LjcgNTEyIDE2OCA1MTJ6Il19LG9xdD1POGUsbnF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItdGFnIixpY29uOls2NDAsNTEyLFtdLCJmNTA3IiwiTTI1Ni4xIDhhMTIwIDEyMCAwIDEgMSAwIDI0MCAxMjAgMTIwIDAgMSAxIDAtMjQwek0yMjYuNCAzMDRsNTkuNCAwYzYuNyAwIDEzLjIgLjQgMTkuNyAxLjEtLjkgNC45LTEuNCA5LjktMS40IDE1bDAgOTIuMWMwIDI1LjUgMTAuMSA0OS45IDI4LjEgNjcuOWwzMS45IDMxLjktMjg2LjMgMGMtMTYuNCAwLTI5LjctMTMuMy0yOS43LTI5LjcgMC05OC41IDc5LjgtMTc4LjMgMTc4LjMtMTc4LjN6TTM1Mi4xIDQxMi4ybDAtOTIuMWMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5Mi4xIDBjMTIuNyAwIDI0LjkgNS4xIDMzLjkgMTQuMWw5NiA5NmMxOC43IDE4LjcgMTguNyA0OS4xIDAgNjcuOWwtNzYuMSA3Ni4xYy0xOC43IDE4LjctNDkuMSAxOC43LTY3LjkgMGwtOTYtOTZjLTktOS0xNC4xLTIxLjItMTQuMS0zMy45em0xMDQtNDQuMmEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxscXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1zcGFya2xlcyIsaWNvbjpbNjQwLDUxMixbXSwiZTA1ZCIsIk0zMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDIwOGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMTc2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxNzZjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTExMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTc4LjJjLTE5LjIgNS40LTM0LjcgMjAuNC00MC40IDQwLjNsLTYuNSAyMi43LTIyLjcgNi41Yy0yNS4yIDcuMi00Mi41IDMwLjItNDIuNSA1Ni40IDAgMjIuMSAxMi40IDQyIDMxLjQgNTEuOS0yNy41IDE3LjgtNjAuMiAyOC4xLTk1LjQgMjguMWwtMTkuMiAwYy01OS42IDAtMTE2LjktMjIuOS0xNjAtNjRMNzYuNCAzNDFjLTE2LTE1LjItMTYuNi00MC42LTEuNC01Ni42czQwLjYtMTYuNiA1Ni42LTEuNGw2MC41IDU3LjZjMC0xLjUtLjEtMy4xLS4xLTQuNmwwLTI3MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTc2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0yMDhjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS03LjMgMzI2LjZjLTEuMS0zLjktNC43LTYuNi04LjctNi42cy03LjYgMi43LTguNyA2LjZsLTcuMyAyNS40LTI1LjQgNy4zYy0zLjkgMS4xLTYuNiA0LjctNi42IDguN3MyLjcgNy42IDYuNiA4LjdsMjUuNCA3LjMgNy4zIDI1LjRjMS4xIDMuOSA0LjcgNi42IDguNyA2LjZzNy42LTIuNyA4LjctNi42bDcuMy0yNS40IDI1LjQtNy4zYzMuOS0xLjEgNi42LTQuNyA2LjYtOC43cy0yLjctNy42LTYuNi04LjdsLTI1LjQtNy4zLTcuMy0yNS40ek0xMDQgMTIwbDQ4LjMgMTMuOGM0LjYgMS4zIDcuNyA1LjUgNy43IDEwLjJzLTMuMSA4LjktNy43IDEwLjJMMTA0IDE2OCA5MC4yIDIxNi4zYy0xLjMgNC42LTUuNSA3LjctMTAuMiA3LjdzLTguOS0zLjEtMTAuMi03LjdMNTYgMTY4IDcuNyAxNTQuMkMzLjEgMTUyLjkgMCAxNDguNyAwIDE0NHMzLjEtOC45IDcuNy0xMC4yTDU2IDEyMCA2OS44IDcxLjdDNzEuMSA2Ny4xIDc1LjMgNjQgODAgNjRzOC45IDMuMSAxMC4yIDcuN0wxMDQgMTIwek01ODQgNDA4bDQ4LjMgMTMuOGM0LjYgMS4zIDcuNyA1LjUgNy43IDEwLjJzLTMuMSA4LjktNy43IDEwLjJMNTg0IDQ1NiA1NzAuMiA1MDQuM2MtMS4zIDQuNi01LjUgNy43LTEwLjIgNy43cy04LjktMy4xLTEwLjItNy43TDUzNiA0NTYgNDg3LjcgNDQyLjJjLTQuNi0xLjMtNy43LTUuNS03LjctMTAuMnMzLjEtOC45IDcuNy0xMC4yTDUzNiA0MDggNTQ5LjggMzU5LjdjMS4zLTQuNiA1LjUtNy43IDEwLjItNy43czguOSAzLjEgMTAuMiA3LjdMNTg0IDQwOHoiXX0sY3F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy10by1kb3QiLGljb246WzUxMiw1MTIsW10sImU0YmUiLCJNMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAzMiAwYzEyLjkgMCAyNC42IDcuOCAyOS42IDE5LjhzMi4yIDI1LjctNi45IDM0LjlsLTY0IDY0Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtNjQtNjRjLTkuMi05LjItMTEuOS0yMi45LTYuOS0zNC45UzE3OS4xIDY0IDE5MiA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTE2OS40IDM5My40bDY0LTY0YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDY0IDY0YzkuMiA5LjIgMTEuOSAyMi45IDYuOSAzNC45UzMzMi45IDQ0OCAzMjAgNDQ4bC0zMiAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0zMiAwYy0xMi45IDAtMjQuNi03LjgtMjkuNi0xOS44cy0yLjItMjUuNyA2LjktMzQuOXpNMzIgMjI0bDMyIDAgMC0zMmMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42czI1LjctMi4yIDM0LjkgNi45bDY0IDY0YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC02NCA2NGMtOS4yIDkuMi0yMi45IDExLjktMzQuOSA2LjlTNjQgMzMyLjkgNjQgMzIwbDAtMzItMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMjk3LjQgNTQuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsNjQtNjRjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlTNDQ4IDE3OS4xIDQ0OCAxOTJsMCAzMiAzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgMzJjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlsLTY0LTY0ek0yNTYgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sRjhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Utc2FkLWNyeSIsaWNvbjpbNTEyLDUxMixbMTI4NTU3LCJzYWQtY3J5Il0sImY1YjMiLCJNMzUyIDQ5My40Yy0yOS42IDEyLTYyLjEgMTguNi05NiAxOC42cy02Ni40LTYuNi05Ni0xOC42TDE2MCAyOTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNzEuN0M0NC40IDQyMS42IDAgMzQ0IDAgMjU2IDAgMTE0LjYgMTE0LjYgMCAyNTYgMFM1MTIgMTE0LjYgNTEyIDI1NmMwIDg4LTQ0LjQgMTY1LjYtMTEyIDIxMS43TDQwMCAyOTZjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxOTcuNHpNMTUyIDE5NmwxNiAwYzExIDAgMjAgOSAyMCAyMHM5IDIwIDIwIDIwIDIwLTkgMjAtMjBjMC0zMy4xLTI2LjktNjAtNjAtNjBsLTE2IDBjLTMzLjEgMC02MCAyNi45LTYwIDYwIDAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwIDktMjAgMjAtMjB6bTE3MiAyMGMwLTExIDktMjAgMjAtMjBsMTYgMGMxMSAwIDIwIDkgMjAgMjBzOSAyMCAyMCAyMCAyMC05IDIwLTIwYzAtMzMuMS0yNi45LTYwLTYwLTYwbC0xNiAwYy0zMy4xIDAtNjAgMjYuOS02MCA2MCAwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMHpNMjA4IDMzNmwwIDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4czQ4LTIxLjUgNDgtNDhsMC0zMmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHoiXX0sZHF0PUY4ZSx1cXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG9uZy1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMTY5IiwiTTI4OC0xNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMi0xMDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxMDQgMCAwIDcyLjJjLTIyLjktMTUuMy01MC40LTI0LjItODAtMjQuMi03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NFM5Ni41IDQzMiAxNzYgNDMyYzMwIDAgNTcuOC05LjEgODAuOC0yNC44IDMuMyAxNC4yIDE2IDI0LjggMzEuMiAyNC44IDE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzA0IDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQwIDAgMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNOTYgMjg4YTgwIDgwIDAgMSAxIDE2MCAwIDgwIDgwIDAgMSAxIC0xNjAgMHpNMjQgNDY0Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMzNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDI0IDQ2NHoiXX0scHF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlb3BsZS1saW5lIixpY29uOls1NzYsNTEyLFtdLCJlNTM0IiwiTTI4OCAwYTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4em05NiAzMTJjMCAyNS0xMi43IDQ3LTMyIDU5LjlsMCA0NC4xLTEyOCAwIDAtNDQuMUMyMDQuNyAzNTkgMTkyIDMzNyAxOTIgMzEybDAtNDBjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmwwIDQwem0xNiAxMDRsMC0yNy4zYzE5LjktMjIuNSAzMi01Mi4yIDMyLTg0LjdsMC0zMmMwLTI2LjctNy4zLTUxLjYtMTkuOS03My4xIDExLjEtNC41IDIzLjItNi45IDM1LjktNi45IDUzIDAgOTYgNDMgOTYgOTZsMCAzMmMwIDIzLjctMTIuOSA0NC40LTMyIDU1LjRsMCA0MC42LTExMiAwek02NCAzNzUuNEM0NC45IDM2NC40IDMyIDM0My43IDMyIDMyMGwwLTMyYzAtNTMgNDMtOTYgOTYtOTYgMTIuNyAwIDI0LjggMi41IDM1LjkgNi45LTEyLjYgMjEuNC0xOS45IDQ2LjQtMTkuOSA3My4xbDAgMzJjMCAzMi41IDEyLjEgNjIuMSAzMiA4NC43bDAgMjcuMy0xMTIgMCAwLTQwLjZ6TTEyOCAzMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnptMzIwIDBhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTI0IDQ2NGw1MjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwyNCA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LEI4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtcnNzIixpY29uOls0NDgsNTEyLFsicnNzLXNxdWFyZSJdLCJmMTQzIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTk2IDEzNmMwLTEzLjMgMTAuNy0yNCAyNC0yNCAxMzcgMCAyNDggMTExIDI0OCAyNDggMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xMTAuNS04OS41LTIwMC0yMDAtMjAwLTEzLjMgMC0yNC0xMC43LTI0LTI0em0wIDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0IDgzLjkgMCAxNTIgNjguMSAxNTIgMTUyIDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNTcuNC00Ni42LTEwNC0xMDQtMTA0LTEzLjMgMC0yNC0xMC43LTI0LTI0em0wIDEyMGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSxmcXQ9QjhlLGhxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxlbmRhci1taW51cyIsaWNvbjpbNDQ4LDUxMixbXSwiZjI3MiIsIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTI0IDI2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LG1xdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFydC1kaWFncmFtIixpY29uOls1MTIsNTEyLFtdLCJlNjk1IiwiTTgwIDMyQzUzLjUgMzIgMzIgNTMuNSAzMiA4MHMyMS41IDQ4IDQ4IDQ4bDE1MiAwIDAgNDAtNDggNDgtNzIgMGMtMzkuOCAwLTcyIDMyLjItNzIgNzJsMCA2NC04IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC04IDAgMC02NGMwLTEzLjMgMTAuNy0yNCAyNC0yNGw3MiAwIDQ4IDQ4IDAgNDAtOCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOCAwIDAtNDAgNDgtNDggNzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDY0LTggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTggMCAwLTY0YzAtMzkuOC0zMi4yLTcyLTcyLTcybC03MiAwLTQ4LTQ4IDAtNDAgMTUyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhMODAgMzJ6Il19LEg4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLXRpcmVkIixpY29uOls1MTIsNTEyLFsxMjg1NTUsInRpcmVkIl0sImY1YzgiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2NC43IDMyOC43YzIyLTIyIDUzLjktNDAuNyA5MS4zLTQwLjdzNjkuMyAxOC43IDkxLjMgNDAuN2MxMS4xIDExLjEgMjAuMSAyMy40IDI2LjQgMzUuNCA2LjIgMTEuNyAxMC4zIDI0LjQgMTAuMyAzNS45IDAgNS4yLTIuNiAxMC4yLTYuOSAxMy4ycy05LjggMy43LTE0LjcgMS44bC0yMC41LTcuN2MtMjYuOS0xMC4xLTU1LjUtMTUuMy04NC4zLTE1LjNsLTMuMiAwYy0yOC44IDAtNTcuMyA1LjItODQuMyAxNS4zTDE0OS42IDQxNWMtNC45IDEuOC0xMC40IDEuMi0xNC43LTEuOFMxMjggNDA1LjIgMTI4IDQwMGMwLTExLjYgNC4yLTI0LjIgMTAuMy0zNS45IDYuMy0xMiAxNS4zLTI0LjMgMjYuNC0zNS40ek0xMjIuNiAxNTkuMmM0LjUtNi44IDEzLjMtOS4yIDIwLjYtNS41bDc5LjYgNDBjNS40IDIuNyA4LjggOC4yIDguOCAxNC4zcy0zLjQgMTEuNi04LjggMTQuM2wtNzkuNiA0MGMtNy4zIDMuNi0xNi4xIDEuMy0yMC42LTUuNXMtMy4xLTE1LjkgMy4xLTIxLjFMMTU5IDIwOCAxMjUuOCAxODAuM2MtNi4yLTUuMi03LjYtMTQuMy0zLjEtMjEuMXptMjYzLjYgMjEuMUwzNTMgMjA4IDM4Ni4yIDIzNS43YzYuMiA1LjIgNy42IDE0LjMgMy4xIDIxLjFzLTEzLjMgOS4yLTIwLjYgNS41bC03OS42LTQwYy01LjQtMi43LTguOC04LjItOC44LTE0LjNzMy40LTExLjYgOC44LTE0LjNsNzkuNi00MGM3LjMtMy42IDE2LjEtMS4zIDIwLjYgNS41czMuMSAxNS45LTMuMSAyMS4xeiJdfSxncXQ9SDhlLGJxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXBvaW50LXJpZ2h0IixpY29uOls1MTIsNTEyLFtdLCJmMGE0IiwiTTQ4MCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjA4IDAgMC02NCAyMDggMHpNMzIwIDI4OGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwem02NC02NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNDggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyek0yODggMzg0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0IDB6bS04OC05NmwuNiAwYy01LjQgOS40LTguNiAyMC4zLTguNiAzMiAwIDEzLjIgNCAyNS40IDEwLjggMzUuNi0yNC45IDguNy00Mi44IDMyLjUtNDIuOCA2MC40IDAgMTEuNyAzLjEgMjIuNiA4LjYgMzJsLTguNiAwQzcxLjYgNDQ4IDAgMzc2LjQgMCAyODhsMC02MS43YzAtNDIuNCAxNi45LTgzLjEgNDYuOS0xMTMuMWwxMS42LTExLjZDODIuNSA3Ny41IDExNS4xIDY0IDE0OSA2NGwyNyAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgODhjMCAyMi4xLTE3LjkgNDAtNDAgNDBzLTQwLTE3LjktNDAtNDBsMC01NmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDU2YzAgMzkuOCAzMi4yIDcyIDcyIDcyeiJdfSx2cXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAiLGljb246WzM4NCw1MTIsWzg1OTNdLCJmMDYyIiwiTTIxNC42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTYwIDEwOS4zIDE2MCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM3MC43IDEwNS40IDEwNS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjB6Il19LHhxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjdWJlcy1zdGFja2VkIixpY29uOls1MTIsNTEyLFtdLCJlNGU2IiwiTTE5MiAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjR6bTMyIDM1Mmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6bTE5MiAwbDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzIwIDE5Mmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6bS0xODIuNi0zLjljMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsNDUuMyA0NS4zYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC00NS4zIDQ1LjNjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwTDkyLjEgMjc4LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zbDQ1LjMtNDUuM3pNMzIgMzg0bDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0scThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoaWxkLWNvbWJhdGFudCIsaWNvbjpbNTc2LDUxMixbImNoaWxkLXJpZmxlIl0sImU0ZTAiLCJNMTc2LjUgMTI4YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4em0tMTYgMzUybDAtOTYgMzIgMCAwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xOTIuMiAyMC45IDMzLjJjOS40IDE1IDI5LjIgMTkuNCA0NC4xIDEwczE5LjQtMjkuMiAxMC00NC4xbC0zOS45LTYzLjNDMjY2LjggMTg0IDIyMy4zIDE2MCAxNzYuNSAxNjBTODYuMiAxODQgNjEuMyAyMjMuNkwyMS40IDI4N2MtOS40IDE1LTQuOSAzNC43IDEwIDQ0LjFzMzQuNyA0LjkgNDQuMS0xMGwyMC45LTMzLjIgMCAxOTIuMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyek00NDguNSAwbC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDAgMTAwLjNjLTkuNiA1LjUtMTYgMTUuOS0xNiAyNy43bDAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTQ0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDAgMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZsNTkuNSAwYzEwLjQgMCAxOC05LjggMTUuNS0xOS45bC0yMy05Mi4xIDQ0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC00OCAwIDAtMjYuNyA1My4xLTE3LjdjNi41LTIuMiAxMC45LTguMyAxMC45LTE1LjJsMC04NC41YzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNTYtMTYgNS4zIDAtMTA5LjNjMC0xMS44LTYuNC0yMi4yLTE2LTI3LjdsMC0xMTYuM2MwLTguOC03LjItMTYtMTYtMTZ6Il19LHlxdD1xOGUsd3F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZlc3QtcGF0Y2hlcyIsaWNvbjpbNDQ4LDUxMixbXSwiZTA4NiIsIk0yMDAgMjkzLjlMMjAwIDQ2NGMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMjcwLjVjMC05LjUgMi44LTE4LjcgOC4xLTI2LjZsNDcuOS03MS44YzUuMy03LjkgOC4xLTE3LjEgOC4xLTI2LjZMNjQgNDhDNjQgMjEuNSA4NS41IDAgMTEyIDBsMy41IDBjLjMgMCAuNiAwIDEgMCAuNiAwIDEuMiAwIDEuOCAwIDE4LjggMCAzNC4xIDkuNyA0NC4xIDE4LjggOS4zIDguNCAyOC41IDIxLjIgNjEuNyAyMS4yczUyLjQtMTIuOCA2MS43LTIxLjJjMTAtOS4xIDI1LjMtMTguOCA0NC4xLTE4LjggLjYgMCAxLjIgMCAxLjggMCAuMyAwIC42IDAgMSAwTDMzNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTcuNWMwIDkuNSAyLjggMTguNyA4LjEgMjYuNmw0Ny45IDcxLjhjNS4zIDcuOSA4LjEgMTcuMSA4LjEgMjYuNkw0NDggNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xMDQgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNzAuMWMwLTMuOSAuNS03LjggMS40LTExLjZMMzAzLjYgNjUuNEMyODUuOSA3Ny4yIDI1OS44IDg4IDIyNCA4OHMtNjEuOS0xMC44LTc5LjYtMjIuNmw1NC4yIDIxNi44YzEgMy44IDEuNCA3LjcgMS40IDExLjZ6TTk2IDQ1NmE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6TTYzLjUgMjU1LjVjLTQuNyA0LjctNC43IDEyLjMgMCAxN0w3OSAyODggNjMuNSAzMDMuNWMtNC43IDQuNy00LjcgMTIuMyAwIDE3czEyLjMgNC43IDE3IDBMOTYgMzA1IDExMS41IDMyMC41YzQuNyA0LjcgMTIuMyA0LjcgMTcgMHM0LjctMTIuMyAwLTE3TDExMyAyODggMTI4LjUgMjcyLjVjNC43LTQuNyA0LjctMTIuMyAwLTE3cy0xMi4zLTQuNy0xNyAwTDk2IDI3MSA4MC41IDI1NS41Yy00LjctNC43LTEyLjMtNC43LTE3IDB6TTMwNCAyODBsMCA0MGMwIDguOCA3LjIgMTYgMTYgMTZsNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtOCAwIDAtOGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNHoiXX0sVjhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcnRpbmktZ2xhc3MtZW1wdHkiLGljb246WzUxMiw1MTIsWyJnbGFzcy1tYXJ0aW5pIl0sImYwMDAiLCJNMzIgMzJDMTkuMSAzMiA3LjQgMzkuOCAyLjQgNTEuOFMuMiA3Ny41IDkuNCA4Ni42bDIxNC42IDIxNC42IDAgMTQ2LjctNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxOTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNjQgMCAwLTE0Ni43IDIxNC42LTIxNC42YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ5Mi45IDMyIDQ4MCAzMkwzMiAzMnpNMjU2IDI0Mi43TDEwOS4zIDk2IDQwMi43IDk2IDI1NiAyNDIuN3oiXX0sTXF0PVY4ZSxrcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFnbmV0IixpY29uOls0NDgsNTEyLFsxMjk1MjJdLCJmMDc2IiwiTTAgMTc2TDAgMjg4QzAgNDExLjcgMTAwLjMgNTEyIDIyNCA1MTJTNDQ4IDQxMS43IDQ0OCAyODhsMC0xMTItMTI4IDAgMCAxMTJjMCA1My00MyA5Ni05NiA5NnMtOTYtNDMtOTYtOTZsMC0xMTItMTI4IDB6bTAtNDhsMTI4IDAgMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0bDAgNjR6bTMyMCAwbDEyOCAwIDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjR6Il19LFNxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb2FkLWJhcnJpZXIiLGljb246WzY0MCw1MTIsW10sImU1NjIiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyTDY0IDI2Ni4zIDE0OS4yIDk2IDY0IDk2IDY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyek00MDUuMiA5NmwtNzQuMyAwLTUuNCAxMC43LTkwLjYgMTgxLjMgNzQuMyAwIDUuNC0xMC43IDkwLjYtMTgxLjN6TTM2Mi44IDI4OGw3NC4zIDAgNS40LTEwLjcgOTAuNi0xODEuMy03NC4zIDAtNS40IDEwLjctOTAuNiAxODEuM3pNMjAyLjggOTZsLTUuNCAxMC43LTkwLjYgMTgxLjMgNzQuMyAwIDUuNC0xMC43IDkwLjYtMTgxLjMtNzQuMyAwem0yODggMTkybDg1LjIgMCAwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzg0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNTMuNy04NS4yIDE3MC4zeiJdfSxqOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tcGFzcy1kcmFmdGluZyIsaWNvbjpbNTEyLDUxMixbImRyYWZ0aW5nLWNvbXBhc3MiXSwiZjU2OCIsIk05OS4zIDI1Ni4xbDY5LjQtMTE5LjljLTUuNi0xMi4yLTguOC0yNS44LTguOC00MC4yIDAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZjMCAxNC4zLTMuMSAyNy45LTguOCA0MC4ybDQ0LjQgNzYuN2MtMjMuMSAyNi01My43IDQ1LjEtODguNCA1My44TDI1NiAxOTEuOSAxODcuOSAzMDkuNWMyMS41IDYuOCA0NC4zIDEwLjUgNjguMSAxMC41IDcwLjcgMCAxMzMuOC0zMi43IDE3NC45LTg0IDExLjEtMTMuOCAzMS4yLTE2IDQ1LTVzMTYgMzEuMiA1IDQ1Yy01Mi43IDY1LjgtMTMzLjkgMTA4LTIyNC44IDEwOC0zNS40IDAtNjkuNC02LjQtMTAwLjctMTguMUw5OC43IDQ2My43Qzk0IDQ3MS44IDg3IDQ3OC40IDc4LjYgNDgyLjZMMjMuMiA1MTAuM2MtNSAyLjUtMTAuOSAyLjItMTUuNi0uN1MwIDUwMS41IDAgNDk2bDAtNTUuNGMwLTguNCAyLjItMTYuNyA2LjUtMjQuMWw2MC0xMDMuN2MtMTIuOC0xMS4yLTI0LjYtMjMuNS0zNS4zLTM2LjgtMTEuMS0xMy44LTguOC0zMy45IDUtNDVzMzMuOS04LjggNDUgNWM1LjcgNy4xIDExLjggMTMuOCAxOC4yIDIwLjF6TTM4MS4xIDQwNy45YzMyLjUtMTMgNjIuNC0zMSA4OC45LTUyLjlsMzUuNiA2MS41YzQuMiA3LjMgNi41IDE1LjYgNi41IDI0LjFsMCA1NS40YzAgNS41LTIuOSAxMC43LTcuNiAxMy42cy0xMC42IDMuMi0xNS42IC43bC01NS40LTI3LjdjLTguNC00LjItMTUuNC0xMC44LTIwLjEtMTguOWwtMzIuMy01NS44ek0yNTYgMTI4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0senF0PWo4ZSxDcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXBlcnNvbi1jb25maW5lZCIsaWNvbjpbNDQ4LDUxMixbXSwiZTU3NyIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem05NiAxMTJhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptODAgMTA0YzAtMzAuOSAyNS4xLTU2IDU2LTU2czU2IDI1LjEgNTYgNTZsMCAxMDIuMWMwIDM2LjQtMjkuNSA2NS45LTY1LjkgNjUuOS0xNy41IDAtMzQuMy02LjktNDYuNi0xOS4zbC01NC43LTU0LjctMjguMSA1Ni4zYy03LjkgMTUuOC0yNy4xIDIyLjItNDIuOSAxNC4zcy0yMi4yLTI3LjEtMTQuMy00Mi45bDQ4LTk2YzQuNi05LjIgMTMuMy0xNS42IDIzLjUtMTcuM3MyMC41IDEuNyAyNy44IDlsNDEuNCA0MS40IDAtNTguN3oiXX0sX3F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYXRlLXdoZWF0IixpY29uOls1MTIsNTEyLFtdLCJlNTVhIiwiTTE3NiAzMmM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNi00NC4yIDAtODAtMzUuOC04MC04MGwwLTE2YzAtOC44IDcuMi0xNiAxNi0xNnpNNTYgNjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRTNDIuNyA2NCA1NiA2NHpNMjQgMTM2bDExMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDE4NGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptOCA5NmMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMjcyIDQ4YzAtOC44IDcuMi0xNiAxNi0xNiA0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDE2YzAgOC44LTcuMiAxNi0xNiAxNi00NC4yIDAtODAtMzUuOC04MC04MGwwLTE2ek00MDAgMzJjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxNmMwIDguOC03LjIgMTYtMTYgMTYtNDQuMiAwLTgwLTM1LjgtODAtODBsMC0xNmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwIDE2MGwwIDE2YzAgNDQuMi0zNS44IDgwLTgwIDgwLTguOCAwLTE2LTcuMi0xNi0xNmwwLTE2YzAtNDQuMiAzNS44LTgwIDgwLTgwIDguOCAwIDE2IDcuMiAxNiAxNnpNMzUyIDE3NmM4LjggMCAxNiA3LjIgMTYgMTZsMCAxNmMwIDQ0LjItMzUuOCA4MC04MCA4MC04LjggMC0xNi03LjItMTYtMTZsMC0xNmMwLTQ0LjIgMzUuOC04MCA4MC04MHptLTk2IDE2bDAgMTZjMCA0NC4yLTM1LjggODAtODAgODAtOC44IDAtMTYtNy4yLTE2LTE2bDAtMTZjMC00NC4yIDM1LjgtODAgODAtODAgOC44IDAgMTYgNy4yIDE2IDE2ek0zLjUgMzQ3LjZDMS42IDMzMi45IDEzIDMyMCAyNy44IDMyMGw0NTYuNCAwYzE0LjggMCAyNi4yIDEyLjkgMjQuNCAyNy42LTYuMyA1MC4yLTQ0LjQgODkuNC05Mi42IDk4LjRsMCAyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yYy00OC4yLTktODYuMy00OC4yLTkyLjUtOTguNHoiXX0sVThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpZ24taGFuZ2luZyIsaWNvbjpbNTEyLDUxMixbInNpZ24iXSwiZjRkOSIsIk05NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTM1MiAwIDAgMzUyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzUyLTMyIDBDMTQuMyAxMjggMCAxMTMuNyAwIDk2UzE0LjMgNjQgMzIgNjRsMzIgMCAwLTMyQzY0IDE0LjMgNzguMyAwIDk2IDB6TTIwOCAxNzZsMjQwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNDRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTI0MCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE0NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnoiXX0sVHF0PVU4ZSxXOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyLWJhdHRlcnkiLGljb246WzUxMiw1MTIsWyJiYXR0ZXJ5LWNhciJdLCJmNWRmIiwiTTgwIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsOTYgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDE2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwxNiAwek0zOTIgMTg0YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMzItMzIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwzMiAwIDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMyIDMyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMyIDAgMC0zMnpNNjQgMjQwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDg4IDIxNmMtMTMuMyAwLTI0IDEwLjctMjQgMjR6Il19LExxdD1XOGUsVWVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoaXJ0IixpY29uOls2NDAsNTEyLFsxMjgwODUsInQtc2hpcnQiLCJ0c2hpcnQiXSwiZjU1MyIsIk0zMjAuMiAxMTJjNDQuMiAwIDgwLTM1LjggODAtODBsNTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDYxNy42IDE2OS40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zbC01MC43IDUwLjdjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC00MS40LTQxLjQgMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTE5MiAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTIyNC00MS40IDQxLjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwTDIyLjkgMjE0LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zTDE0MS41IDUwLjdjMTItMTIgMjguMy0xOC43IDQ1LjMtMTguN2w1My41IDBjMCA0NC4yIDM1LjggODAgODAgODB6Il19LCRxdD1VZWUsRHF0PVVlZSxBcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGFyYWdyYXBoIixpY29uOls0NDgsNTEyLFsxODJdLCJmMWRkIiwiTTE2MCAwTDQxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwIDAgNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDE2LTQ4IDAgMCA0MTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjAtNDggMEM3MS42IDMyMCAwIDI0OC40IDAgMTYwUzcxLjYgMCAxNjAgMHoiXX0sRzhlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVudmVsb3Blcy1idWxrIixpY29uOls1NzYsNTEyLFsibWFpbC1idWxrIl0sImY2NzQiLCJNMTEyIDBDODUuNSAwIDY0IDIxLjUgNjQgNDhsMCAxNjAgODAgMCAwLTMyYzAtNTMgNDMtOTYgOTYtOTZsMjA4IDAgMC0zMmMwLTI2LjUtMjEuNS00OC00OC00OEwxMTIgMHpNMjQwIDEyOGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAzMiA4MCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAxMTIgMTYwIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xOTJjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTI4OCAwem0yMDAgNjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0ek00OCAyNTZjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTAuNCAxNTYuNiA4Ni4yYzEuMSAuNiAyLjIgLjkgMy40IC45czIuNC0uMyAzLjQtLjlMMzIwIDMxNC40IDMyMCAzMDRjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMjU2ek0zMjAgMzY5LjJMMTg2LjYgNDQyLjZjLTguMSA0LjUtMTcuMyA2LjgtMjYuNiA2LjhzLTE4LjQtMi40LTI2LjYtNi44TDAgMzY5LjIgMCA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsMjI0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NC44eiJdfSxFcXQ9RzhlLFBxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJndWl0YXIiLGljb246WzUxMiw1MTIsW10sImY3YTYiLCJNNDY1IDdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDM4MyA1NWMtMi40IDIuNC00LjMgNS4zLTUuNSA4LjVsLTE1LjQgNDEtNzcuNSA3Ny42Yy00NS4xLTI5LjQtOTkuMy0zMC4yLTEzMSAxLjYtMTEgMTEtMTggMjQuNi0yMS40IDM5LjYtMy43IDE2LjYtMTkuMSAzMC43LTM2LjEgMzEuNi0yNS42IDEuMy00OS4zIDEwLjctNjcuMyAyOC42LTQ0LjggNDQuOC0zNi40IDEyNS44IDE4LjcgMTgwLjlTMTgzLjYgNTI4IDIyOC40IDQ4My4yYzE3LjktMTcuOSAyNy40LTQxLjcgMjguNi02Ny4zIC45LTE3IDE1LTMyLjMgMzEuNi0zNi4xIDE1LTMuNCAyOC42LTEwLjUgMzkuNi0yMS40IDMxLjgtMzEuOCAzMS04NS45IDEuNi0xMzFsNzcuNi03Ny42IDQxLTE1LjRjMy4yLTEuMiA2LjEtMy4xIDguNS01LjVsNDgtNDhjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlMNDY1IDd6TTIwOCAyNTZhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2eiJdfSxJcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VpdGNhc2UiLGljb246WzUxMiw1MTIsWzEyOTUyM10sImYwZjIiLCJNMjAwIDQ4bDExMiAwYzQuNCAwIDggMy42IDggOGwwIDQwLTEyOCAwIDAtNDBjMC00LjQgMy42LTggOC04em0tNTYgOGwwIDQyNCAyMjQgMCAwLTQyNGMwLTMwLjktMjUuMS01Ni01Ni01NkwyMDAgMGMtMzAuOSAwLTU2IDI1LjEtNTYgNTZ6TTQxNiA5NmwwIDM4NCAzMiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zMiAwek05NiA0ODBsMC0zODQtMzIgMEMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIgMHoiXX0sWThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS11cCIsaWNvbjpbNTEyLDUxMixbNjE0NjcsImFycm93LWFsdC1jaXJjbGUtdXAiXSwiZjM1YiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnptMTEuMy0zODcuM2wxMDQgMTA0YzQuNiA0LjYgNS45IDExLjUgMy41IDE3LjRTMzY2LjUgMjU2IDM2MCAyNTZsLTU2IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05Ni01NiAwYy02LjUgMC0xMi4zLTMuOS0xNC44LTkuOXMtMS4xLTEyLjkgMy41LTE3LjRsMTA0LTEwNGM2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHoiXX0sTnF0PVk4ZSxScXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZiIsaWNvbjpbMzIwLDUxMixbMTAyXSwiNDYiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwIDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMCAwLTEyOCAyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnoiXX0sT3F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InhtYXJrcy1saW5lcyIsaWNvbjpbNjQwLDUxMixbXSwiZTU5YSIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsNTc2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6bTAgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDU3NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDQxNnpNNyAxNjdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDU1IDU1LTU1IDU1Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNTUtNTUgNTUgNTVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01NS01NSA1NS01NWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC01NSA1NS01NS01NWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDB6TTI2NSAxNjdjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNTUgNTUtNTUgNTVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw1NS01NSA1NSA1NWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU1LTU1IDU1LTU1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTU1IDU1LTU1LTU1ek00NTUgMTY3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWw1NSA1NS01NSA1NWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDU1LTU1IDU1IDU1YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNTUtNTUgNTUtNTVjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtNTUgNTUtNTUtNTVjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAweiJdfSxLOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWFydGgtb2NlYW5pYSIsaWNvbjpbNTEyLDUxMixbImdsb2JlLW9jZWFuaWEiXSwiZTQ3YiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTkyIDE1MC42YzAtMTIuNSAxMC4xLTIyLjYgMjIuNi0yMi42bDQxLjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTguNyAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtMTYtMTZjLTQuMi00LjItNi42LTEwLTYuNi0xNnpNNDMyIDI1NmM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnpNNDExLjMgMzc5LjNsLTMyIDMyYy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDMyLTMyYzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnpNMjI0IDQzMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2em0tOTYtODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTguN2MwLTguNSAzLjQtMTYuNiA5LjQtMjIuNmw0OC00OGM0LjItNC4yIDEwLTYuNiAxNi02LjZsNi42IDBjOC44IDAgMTYgNy4yIDE2IDE2czcuMiAxNiAxNiAxNiAxNi03LjIgMTYtMTYgNy4yLTE2IDE2LTE2bDYuNiAwYzYgMCAxMS44IDIuNCAxNiA2LjZsNDggNDhjNiA2IDkuNCAxNC4xIDkuNCAyMi42bDAgNTAuN2MwIDE3LjctMTQuMyAzMi0zMiAzMmwtNTAuNyAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtMTMuMy0xMy4zYy02LTYtMTQuMS05LjQtMjIuNi05LjRMMTI4IDM1MnoiXX0sRnF0PUs4ZSxCcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudC1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZjRiMyIsIk00MS0yNUMzMS42LTM0LjMgMTYuNC0zNC4zIDctMjVTLTIuMy0uNCA3IDlMNTM1IDUzN2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTk2LjYtOTYuNmM0NC40LTQzLjIgNzEuNi0xMDEuOCA3MS42LTE2Ni41IDAtMTMyLjUtMTE0LjYtMjQwLTI1Ni0yNDAtNjMgMC0xMjAuOCAyMS40LTE2NS40IDU2LjhMNDEtMjV6bTE5LjQgMTU1QzQyLjIgMTYzIDMyIDIwMC4zIDMyIDIzOS45IDMyIDI5NC4yIDUxLjIgMzQ0LjIgODMuNiAzODQuNEwzNC44IDQ3Ni43Yy00LjggOS0zLjMgMjAgMy42IDI3LjVTNTYuMSA1MTQgNjUuNSA1MTBsMTE4LjQtNTAuN2MzMS44IDEzLjMgNjcuMSAyMC43IDEwNC4xIDIwLjcgMzYuNCAwIDcwLjktNy4xIDEwMi4zLTE5LjlMNjAuMyAxMzAuMXoiXX0sSHF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYXkiLGljb246WzQ0OCw1MTIsWzk2NTRdLCJmMDRiIiwiTTkxLjIgMzYuOWMtMTIuNC02LjgtMjcuNC02LjUtMzkuNiAuN1MzMiA1Ny45IDMyIDcybDAgMzY4YzAgMTQuMSA3LjUgMjcuMiAxOS42IDM0LjRzMjcuMiA3LjUgMzkuNiAuN2wzMzYtMTg0YzEyLjgtNyAyMC44LTIwLjUgMjAuOC0zNS4xcy04LTI4LjEtMjAuOC0zNS4xbC0zMzYtMTg0eiJdfSxxcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlhbC1jaXJjbGUtY2hlY2siLGljb246WzUxMiw1MTIsW10sImU1OTYiLCJNMzIgMzJDMzIgMTQuMyA0Ni4zIDAgNjQgMEwyODggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDE2MS40Yy02Ni4xIDMwLjMtMTEyIDk3LjEtMTEyIDE3NC42IDAgMzkuNyAxMiA3Ni42IDMyLjcgMTA3LjItMTAuMyAzLjEtMjEuMyA0LjgtMzIuNyA0LjgtNjEuOSAwLTExMi01MC4xLTExMi0xMTJMNjQgNjRDNDYuMyA2NCAzMiA0OS43IDMyIDMyem05NiAzMmwwIDEyOCA5NiAwIDAtMTI4LTk2IDB6bTk2IDMzNmExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMDEuNC02MC45Yy03LjEtNS4yLTE3LjItMy42LTIyLjQgMy41bC01MyA3Mi45LTI2LjgtMjYuOGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGMzLjMgMy4zIDcuOSA1IDEyLjYgNC42czguOS0yLjggMTEuNy02LjVsNjQtODhjNS4yLTcuMSAzLjYtMTcuMi0zLjUtMjIuM3oiXX0sVnF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyaWRnZS1jaXJjbGUtY2hlY2siLGljb246WzU3Niw1MTIsW10sImU0YzkiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NFMxNC4zIDk2IDMyIDk2bDggMCAwIDY0LTQwIDAgMCAxMTJjMzcuNiA5LjQgNjQgNDMuMiA2NCA4MmwwIDk0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTUzIDQzLTk2IDk2LTk2IDYuNCAwIDEyLjcgLjYgMTguNyAxLjggMzQuNy00OS41IDkyLjItODEuOCAxNTcuMy04MS44IDI4LjYgMCA1NS42IDYuMiA4MCAxNy40bDAtNjUuNC00MCAwIDAtNjQgOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyek00MjQgOTZsMCA2NC04MCAwIDAtNjQgODAgMHpNMjk2IDk2bDAgNjQtODAgMCAwLTY0IDgwIDB6TTg4IDk2bDgwIDAgMCA2NC04MCAwIDAtNjR6TTU3NiA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTg2LjYtNjAuOWM3LjEgNS4yIDguNyAxNS4yIDMuNSAyMi4zbC02NCA4OGMtMi44IDMuOC03IDYuMi0xMS43IDYuNXMtOS4zLTEuMy0xMi42LTQuNmwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwyNi44IDI2LjggNTMtNzIuOWM1LjItNy4xIDE1LjItOC43IDIyLjQtMy41eiJdfSxqcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2VkaS1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMGRmIiwiTTIzMiAzMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI2LjVDODguOCA3My45IDE2IDE1Ni40IDE2IDI1NlM4OC44IDQzOC4xIDE4NCA0NTMuNWwwIDI2LjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTI0LjZjNDYuOC0zLjcgODkuMS0yMy42IDEyMS4zLTUzLjkgMTIuOS0xMi4xIDEzLjQtMzIuNCAxLjMtNDUuMnMtMzIuNC0xMy40LTQ1LjItMS4zYy0yMC43IDE5LjYtNDcuNiAzMi43LTc3LjMgMzYuMmwwLTI3MC4xYzI5LjggMy41IDU2LjYgMTYuNiA3Ny4zIDM2LjIgMTIuOSAxMi4xIDMzLjEgMTEuNSA0NS4yLTEuM3MxMS41LTMzLjEtMS4zLTQ1LjJDMzIxLjEgODAuMiAyNzguOCA2MC4zIDIzMiA1Ni42TDIzMiAzMnptLTQ4IDkxLjhsMCAyNjQuNEMxMjQuMyAzNzMuOCA4MCAzMjAuMSA4MCAyNTZzNDQuMy0xMTcuOCAxMDQtMTMyLjJ6Il19LFVxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwdXp6bGUtcGllY2UiLGljb246WzUxMiw1MTIsWzEyOTUxM10sImYxMmUiLCJNMjI0IDBjMzUuMyAwIDY0IDIxLjUgNjQgNDggMCAxMC40LTQuNCAyMC0xMiAyNy45LTYuNiA2LjktMTIgMTUuMy0xMiAyNC45IDAgMTUgMTIuMiAyNy4yIDI3LjIgMjcuMmw0NC44IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA0NC44YzAgMTUgMTIuMiAyNy4yIDI3LjIgMjcuMiA5LjUgMCAxOC01LjQgMjQuOS0xMiA3LjktNy41IDE3LjUtMTIgMjcuOS0xMiAyNi41IDAgNDggMjguNyA0OCA2NHMtMjEuNSA2NC00OCA2NGMtMTAuNCAwLTIwLjEtNC40LTI3LjktMTItNi45LTYuNi0xNS4zLTEyLTI0LjktMTItMTUgMC0yNy4yIDEyLjItMjcuMiAyNy4yTDM4NCA0NjRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTU2LjggMGMtMTIuOCAwLTIzLjItMTAuNC0yMy4yLTIzLjIgMC05LjIgNS44LTE3LjMgMTMuMi0yMi44IDExLjYtOC43IDE4LjgtMjAuNyAxOC44LTM0IDAtMjYuNS0yOC43LTQ4LTY0LTQ4cy02NCAyMS41LTY0IDQ4YzAgMTMuMyA3LjIgMjUuMyAxOC44IDM0IDcuNCA1LjUgMTMuMiAxMy41IDEzLjIgMjIuOCAwIDEyLjgtMTAuNCAyMy4yLTIzLjIgMjMuMkw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMzQzLjJjMC0xMi44IDEwLjQtMjMuMiAyMy4yLTIzLjIgOS4yIDAgMTcuMyA1LjggMjIuOCAxMy4yIDguNyAxMS42IDIwLjcgMTguOCAzNCAxOC44IDI2LjUgMCA0OC0yOC43IDQ4LTY0cy0yMS41LTY0LTQ4LTY0Yy0xMy4zIDAtMjUuMyA3LjItMzQgMTguOC01LjUgNy40LTEzLjUgMTMuMi0yMi44IDEzLjItMTIuOCAwLTIzLjItMTAuNC0yMy4yLTIzLjJMMCAxNzZjMC0yNi41IDIxLjUtNDggNDgtNDhsMTA4LjggMGMxNSAwIDI3LjItMTIuMiAyNy4yLTI3LjIgMC05LjUtNS40LTE4LTEyLTI0LjktNy41LTcuOS0xMi0xNy41LTEyLTI3LjkgMC0yNi41IDI4LjctNDggNjQtNDh6Il19LFdxdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWxtZXQtdW4iLGljb246WzUxMiw1MTIsW10sImU1MDMiLCJNNDc5LjUgMjI0QzQ3MS4yIDk4LjkgMzY3LjIgMCAyNDAgMCAxMDcuNSAwIDAgMTA3LjUgMCAyNDBsMCA1Ni4zQzAgMzQ0LjggMzkuMiAzODQgODcuNyAzODRsMTI3LjMgMCAxMjguNiAxMjEuNGM0LjUgNC4yIDEwLjQgNi42IDE2LjUgNi42bDk2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTg2LjUgMC0xLjUtMS41IDAtMTc0LjUgMTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLS41IDB6TTMyMCA0MTcuMmwtNzgtNzMuNyAzMi40LTU1LjUgNDUuNiAwIDAgMTI5LjJ6TTI4NS4zIDEwMy4xbDM0LjcgNTIgMC00My4yYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA5NmMwIDcuMS00LjYgMTMuMy0xMS40IDE1LjNzLTE0LS42LTE3LjktNi40bC0zNC43LTUyIDAgNDMuMmMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTk2YzAtNy4xIDQuNi0xMy4zIDExLjQtMTUuM3MxNCAuNiAxNy45IDYuNHpNMTYwIDExMmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhsMC02NGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2eiJdfSxHcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2xhc3Mtd2F0ZXIiLGljb246WzM4NCw1MTIsW10sImU0ZjQiLCJNMzIgMEMyMy4xIDAgMTQuNiAzLjcgOC42IDEwLjJTLS42IDI1LjQgLjEgMzQuM0wyOC45IDQzNy43YzMgNDEuOSAzNy44IDc0LjMgNzkuOCA3NC4zbDE2Ni42IDBjNDIgMCA3Ni44LTMyLjQgNzkuOC03NC4zTDM4My45IDM0LjNjLjYtOC45LTIuNC0xNy42LTguNS0yNC4xUzM2MC45IDAgMzUyIDBMMzIgMHpNNzMgMTU2LjVsLTYuNi05Mi41IDI1MS4zIDAtNi42IDkyLjUtMjQuMiAxMi4xYy0xOS40IDkuNy00Mi4yIDkuNy02MS42IDAtMjAuOS0xMC40LTQ1LjUtMTAuNC02Ni40IDAtMTkuNCA5LjctNDIuMiA5LjctNjEuNiAwTDczIDE1Ni41eiJdfSxZcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhcnQtY2lyY2xlLWJvbHQiLGljb246WzU3Niw1MTIsW10sImU0ZmMiLCJNMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43QzI5NiA1Mi41IDMzNi4yIDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDE3LjYtMy40IDM1LjYtOS41IDUzLjctMjEuOC04LjYtNDUuNi0xMy40LTcwLjUtMTMuNC0xMDYgMC0xOTIgODYtMTkyIDE5MiAwIDI4LjUgNi4yIDU1LjYgMTcuNCA4MC0uNSAwLS45IDAtMS40IDAtMTUuNSAwLTMwLjgtNC42LTQzLjEtMTQuMS03My01NS43LTIxMi45LTE4Ni0yMTIuOS0yOTguMmwwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMXpNMjg4IDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0xNzcuNC03N2MtNS44LTQuMi0xMy44LTQtMTkuNCAuNWwtODAgNjRjLTUuMyA0LjItNy40IDExLjQtNS4xIDE3LjhTMzY5LjIgNDE2IDM3NiA0MTZsMzIuOSAwLTE1LjkgNDIuNGMtMi41IDYuNy0uMiAxNC4zIDUuNiAxOC42czEzLjggNCAxOS40LS41bDgwLTY0YzUuMy00LjIgNy40LTExLjQgNS4xLTE3LjhTNDk0LjggMzg0IDQ4OCAzODRsLTMyLjkgMCAxNS45LTQyLjRjMi41LTYuNyAuMi0xNC4zLTUuNi0xOC42eiJdfSxLcXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicHVtcC1zb2FwIixpY29uOlszMjAsNTEyLFtdLCJlMDZiIiwiTTk2IDBsMCA4MCAxMjggMCAwLTI0IDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRTMzA5LjMgOCAyOTYgOGwtNzIgMCAwLThjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBDMTEwLjMtMzIgOTYtMTcuNyA5NiAwek02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5MiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDEyOHpNMjI0IDM0NGMwIDM1LjMtMjguNyA1Ni02NCA1NnMtNjQtMjAuNy02NC01NmMwLTMyLjUgMzctODAuOSA1MC45LTk3LjkgMy4yLTMuOSA4LjEtNi4xIDEzLjEtNi4xczkuOSAyLjIgMTMuMSA2LjFDMTg3IDI2My4xIDIyNCAzMTEuNSAyMjQgMzQ0eiJdfSxacXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1zY2lzc29ycyIsaWNvbjpbNTEyLDUxMixbXSwiZjI1NyIsIk00MCAyMDhjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBsMTgwLjIgMGMtNy42IDguNS0xMi4yIDE5LjctMTIuMiAzMiAwIDI1LjMgMTkuNSA0NiA0NC4zIDQ3LjktNy43IDguNS0xMi4zIDE5LjgtMTIuMyAzMi4xIDAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDk2IDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhsMC0xMTMuMWMwLTQwLjItMTYtNzguOC00NC40LTEwNy4zLTIyLjgtMjIuOC01My42LTM1LjYtODUuOC0zNS42TDMzNiA2NGMtMjEuMyAwLTM5LjMgMTMuOS00NS42IDMzLjFsNzQuNSAyMy43YzguNCAyLjcgMTMuMSAxMS43IDEwLjQgMjAuMXMtMTEuNyAxMy4xLTIwLjEgMTAuNGwtNjcuMS0yMS40IDAgLjEtMjA0LTY0LjFDNjIuOSA1OS4yIDQwLjUgNzAuOSAzMy45IDkyczUuMSA0My41IDI2LjIgNTAuMkwyNjkuNSAyMDggNDAgMjA4eiJdfSxaOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG9sbHkiLGljb246WzU3Niw1MTIsWyJkb2xseS1ib3giXSwiZjQ3MiIsIk0zMiAwQzE0LjMgMCAwIDE0LjMgMCAzMlMxNC4zIDY0IDMyIDY0bDcyLjkgMCA5Mi4xIDI3Ni4yYy0yMi41IDE3LjYtMzcgNDUtMzcgNzUuOCAwIDUzIDQzIDk2IDk2IDk2IDUyLjQgMCA5NS4xLTQyIDk2LTk0LjNsMjAyLjEtNjcuNGMxNi44LTUuNiAyNS44LTIzLjcgMjAuMi00MC41cy0yMy43LTI1LjgtNDAuNS0yMC4yTDMzMS44IDM1N2MtMTcuMi0yMi4xLTQzLjktMzYuNS03NC0zN0wxNjUuNyA0My44QzE1Ni45IDE3LjYgMTMyLjUgMCAxMDQuOSAwTDMyIDB6TTIwOCA0MTZhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMjgwLjUgODkuM2MtMjUuMiA4LjItMzkgMzUuMy0zMC44IDYwLjVsMzkuNiAxMjEuN2M4LjIgMjUuMiAzNS4zIDM5IDYwLjUgMzAuOGwxMjEuNy0zOS42YzI1LjItOC4yIDM5LTM1LjMgMzAuOC02MC41TDQ2Mi44IDgwLjVjLTguMi0yNS4yLTM1LjMtMzktNjAuNS0zMC44TDI4MC41IDg5LjN6Il19LFhxdD1aOGUsSXRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhcGVyY2xpcCIsaWNvbjpbNTEyLDUxMixbMTI4MjA2XSwiZjBjNiIsIk0yMjQuNiAxMi44YzU2LjItNTYuMiAxNDcuNC01Ni4yIDIwMy42IDBzNTYuMiAxNDcuNCAwIDIwMy42bC0xNjQgMTY0Yy0zNC40IDM0LjQtOTAuMSAzNC40LTEyNC41IDBzLTM0LjQtOTAuMSAwLTEyNC41TDI5Mi41IDEwMy4zYzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNMMTg1IDMwMS4zYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMTY0LTE2NGMzMS4yLTMxLjIgMzEuMi04MS45IDAtMTEzLjFzLTgxLjktMzEuMi0xMTMuMSAwbC0xNjQgMTY0Yy01My4xIDUzLjEtNTMuMSAxMzkuMiAwIDE5Mi4zczEzOS4yIDUzLjEgMTkyLjMgMEw0MjguMyAyODQuM2MxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zTDM0My40IDQ1OS42Yy03OC4xIDc4LjEtMjA0LjcgNzguMS0yODIuOCAwcy03OC4xLTIwNC43IDAtMjgyLjhsMTY0LTE2NHoiXX0sUXF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRlbW9jcmF0IixpY29uOls2NDAsNTEyLFtdLCJmNzQ3IiwiTTY0IDMyYzAtOC45IDMuOC0yMC45IDYuMi0yNy4zIDEtMi44IDMuOC00LjcgNi44LTQuNyAxLjkgMCAzLjggLjcgNS4yIDIuMUwxMjggNDUuNyAxNzMuOCAyLjFjMS40LTEuMyAzLjItMi4xIDUuMi0yLjEgMyAwIDUuOCAxLjggNi44IDQuNyAyLjQgNi41IDYuMiAxOC40IDYuMiAyNy4zIDAgMjYuNS0yMS45IDQyLTI5LjUgNDYuNmw3Ni4yIDcyLjZjNiA1LjcgMTMuOSA4LjggMjIuMSA4LjhsMjE5LjIgMCAzMiAwYzQwLjMgMCA3OC4yIDE5IDEwMi40IDUxLjJsMTkuMiAyNS42YzEwLjYgMTQuMSA3LjcgMzQuMi02LjQgNDQuOHMtMzQuMiA3LjctNDQuOC02LjRsLTE5LjItMjUuNmMtNS4zLTctMTEuOC0xMi44LTE5LjItMTdsMCA4Ny40LTM1MiAwLTQwLjQtOTQuM2MtMy45LTkuMi0xNS4zLTEyLjYtMjMuNi03bC00Mi4xIDI4Yy05LjEgNi4xLTE5LjcgOS4zLTMwLjcgOS4zbC0yIDBDMjMuOSAyNTYgMCAyMzIuMSAwIDIwMi43IDAgMTkwLjYgNC4xIDE3OC45IDExLjcgMTY5LjRMODcuNiA3NC42Qzc4LjEgNjcuNCA2NCA1My4yIDY0IDMyek01NDQgMzUybDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0LTE2MCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTI4IDM1MiAwek0yNTYgMjgwYTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHptMjQ4LTI0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6TTM2OCAyODBhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSxYOGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWFycm93LXVwLXJpZ2h0IixpY29uOls0NDgsNTEyLFsiZXh0ZXJuYWwtbGluay1zcXVhcmUiXSwiZjE0YyIsIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek0yNzIgMjk2YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMTJjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTExMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDU0LjEgMC0xMDMgMTAzYy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMTAzLTEwMyAwIDU0LjF6Il19LEpxdD1YOGUsZVZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZlcnJ5IixpY29uOls2NDAsNTEyLFtdLCJlNGVhIiwiTTIyNCAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMkwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDQ4IDBjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxMjgtLjEgMGMuMSAuNyAuMSAxLjMgLjEgMiAwIDMwLjItNy42IDU5LjgtMjIgODYuM2wtMTIuNyAyMy4zLS42IDFjLTIyLjMtMTEuMy00Ni41LTE2LjgtNzAuOC0xNi43LTMyLjUgLjItNjQuOSAxMC43LTkyLjQgMzEuNC0yMi4xIDE2LjYtMjkuMSAxNi42LTUxLjIgMC0yOC4xLTIxLjEtNjEuMy0zMS42LTk0LjQtMzEuNC0yMy42IC4yLTQ3LjEgNS43LTY4LjcgMTYuN2wtLjYtMS0xMi43LTIzLjNjLTE0LjQtMjYuNS0yMi01Ni4yLTIyLTg2LjMgMC0uNyAwLTEuNCAuMS0ybC0uMSAwIDAtMTI4YzAtNDQuMiAzNS44LTgwIDgwLTgwbDQ4IDAgMC0zMnpNMTYwIDI1NmwzMjAgMCAwLTExMmMwLTguOC03LjItMTYtMTYtMTZsLTI4OCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxMTJ6TTQwMy40IDQ3Ni4xQzM3OS4xIDQ5NC4zIDM1MS4xIDUxMiAzMjAgNTEycy01OS4xLTE3LjctODMuNC0zNS45Yy0yMS4zLTE2LjEtNDkuOS0xNi4xLTcxLjIgMC0yMy44IDE3LjktNTQuMSAzNS41LTg4LjEgMzUuMy0yMC40LS4xLTQwLjctNi43LTU5LjgtMjEuMS0xMC42LTgtMTIuNy0yMy00LjctMzMuNnMyMy0xMi43IDMzLjYtNC43YzExLjMgOC41IDIxLjYgMTEuNCAzMS4yIDExLjUgMTcuNiAuMSAzNy4zLTkuNCA1OC45LTI1LjcgMzguNC0yOSA5MC41LTI5IDEyOSAwIDI0IDE4LjEgNDAuNyAyNi4zIDU0LjUgMjYuM3MzMC41LTguMiA1NC41LTI2LjNjMzguNC0yOSA5MC41LTI5IDEyOSAwIDE2LjkgMTIuNyAzMi45IDIxLjUgNDcuOCAyNC42IDEzLjcgMi44IDI3LjQgLjkgNDIuMy0xMC4zIDEwLjYtOCAyNS42LTUuOSAzMy42IDQuN3M1LjkgMjUuNi00LjcgMzMuNmMtMjYuNCAxOS45LTU0LjIgMjQuNC04MC43IDE5LjEtMjUuMy01LjEtNDguMS0xOC45LTY3LjItMzMuMy0yMS4zLTE2LjEtNDkuOS0xNi4xLTcxLjIgMHoiXX0sdFZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vc3F1aXRvIixpY29uOls1NzYsNTEyLFtdLCJlNTJiIiwiTTE3OC41IDQ5NS4yYy03LjUgOS42LTIxIDEyLjEtMzEuMyA1LjNTMTMzLjUgNDgwIDEzOC45IDQ2OWwxLjItMi4yIDM2LjItNTggMC00MSAuMy00Yy42LTMuOSAyLjItNy43IDQuNi0xMC45bDM5LjMtNTIuMi02Ni4yIDU5LjVjLTE3IDE1LjMtMzkgMjMuNy02MS45IDIzLjhsLTguMSAwYy00Ni42IDAtODQuNC0zNy44LTg0LjQtODQuNCAwLTQzIDMyLjQtNzkuMiA3NS4xLTgzLjlsMTMwLjUtMTQuNS00NC44LTM4LjMtMi40LTIuNGMtNS4zLTYtNy4zLTE0LjQtNS4zLTIyLjNsMTMuMy01My40LTI1LjktMzguOS0xLjMtMi4xYy01LjgtMTAuOC0yLjctMjQuNiA3LjQtMzEuNyAxMC4xLTcuMSAyMy43LTUuMSAzMS40IDQuM2wxLjUgMiAzMiA0OCAxLjQgMi4yYzIuOCA1LjMgMy41IDExLjYgMi4xIDE3LjZsLTEyLjMgNDkuMiA1My4zIDQ1LjcgMC0yOC44YzAtMTEuOCA2LjUtMjIuMSAxNi0yNy43bDAtNjAuNSAuMy0zLjNjMS41LTcuMyA4LTEyLjcgMTUuNy0xMi43czE0LjIgNS41IDE1LjcgMTIuN2wuMyAzLjIgMCA2MC41YzkuNiA1LjUgMTYgMTUuOCAxNiAyNy43bDAgMjguOSA1My40LTQ1LjgtMTIuMy00OS4yYy0xLjUtNS45LS43LTEyLjIgMi4xLTE3LjZsMS40LTIuMiAzMi00OCAxLjUtMmM3LjctOS40IDIxLjMtMTEuNSAzMS40LTQuMyAxMC4xIDcuMSAxMy4xIDIwLjkgNy40IDMxLjdsLTEuMyAyLjEtMjUuOSAzOC45IDEzLjMgNTMuNGMyIDgtLjEgMTYuMy01LjMgMjIuM2wtMi40IDIuNC00NC43IDM4LjMgMTMwLjUgMTQuNWM0Mi44IDQuOCA3NS4xIDQwLjkgNzUuMSA4My45IDAgNDYuNi0zNy44IDg0LjQtODQuNCA4NC40bC04LjEgMGMtMjIuOCAwLTQ0LjktOC41LTYxLjktMjMuOGwtNjYuMS01OS41IDM5LjIgNTIuMmMyLjQgMy4yIDQgNyA0LjYgMTAuOWwuMyA0IDAgNDEgMzYuMiA1OCAxLjIgMi4xYzUuNCAxMSAyIDI0LjctOC4zIDMxLjVzLTIzLjggNC40LTMxLjMtNS4zbC0xLjQtMi00MC02NC0xLjYtMy4xYy0xLjQtMy4xLTIuMS02LjYtMi4xLTEwLjFsMC0zOS44LTMyLjQtNDMuMSAwIDc0LjdjMCAxNy43LTE0LjMgMzItMzIgMzItMTcuNyAwLTMyLTE0LjMtMzItMzJsMC03NC42LTMyLjMgNDMgMCAzOS44YzAgMy41LS43IDYuOS0yLjEgMTAuMWwtMS42IDMuMS00MCA2NC0xLjQgMnoiXX0sYVZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLWNpcmNsZS1hcnJvdy1yaWdodCIsaWNvbjpbNTc2LDUxMixbXSwiZTRkMSIsIk0zMiA2NEMzMiAyOC43IDYwLjcgMCA5NiAwTDM1MiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTQ0LjdjLTM1LjcgMi45LTY4LjUgMTUuNi05NiAzNS40bDAtNGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0IDBjLTEzLjggMTkuMi0yNC4xIDQxLTMwLjEgNjQuNS0xLjktLjQtMy45LS41LTUuOS0uNWwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA4MCA3NC45IDBjNi4xIDE3LjMgMTQuNiAzMy40IDI1LjEgNDhMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwzMiA2NHpNMTQ0IDk2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bTExMiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNDQgMjI0Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6TTI4OCA0MDBhMTQ0IDE0NCAwIDEgMSAyODggMCAxNDQgMTQ0IDAgMSAxIC0yODggMHptMTQwLjctNjcuM2MtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZsMjguNyAyOC43LTg5LjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw4OS40IDAtMjguNyAyOC43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsNTYtNTZjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZsLTU2LTU2Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHoiXX0sUThlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxlZnQtcmlnaHQiLGljb246WzUxMiw1MTIsWzg1OTYsImFycm93cy1hbHQtaCJdLCJmMzM3IiwiTTUwMi42IDQwNi42bC05NiA5NmMtOS4yIDkuMi0yMi45IDExLjktMzQuOSA2LjlTMzUyIDQ5Mi45IDM1MiA0ODBsMC02NC0zMjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMjAgMCAwLTY0YzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZzMjUuNy0yLjIgMzQuOSA2LjlsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjN6TTkuNCAxNTAuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNsOTYtOTZjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlTMTYwIDE5LjEgMTYwIDMybDAgNjQgMzIwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyMCAwIDAgNjRjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlsLTk2LTk2eiJdfSxyVnQ9UThlLHNWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aXJ1cyIsaWNvbjpbNTEyLDUxMixbXSwiZTA3NCIsIk0yOTYgNDBjMC0yMi4xLTE3LjktNDAtNDAtNDBzLTQwIDE3LjktNDAgNDBjMCA0NC4xLTUzLjMgNjYuMS04NC41IDM1LTE1LjYtMTUuNi00MC45LTE1LjYtNTYuNiAwcy0xNS42IDQwLjkgMCA1Ni42YzMxLjIgMzEuMiA5LjEgODQuNS0zNSA4NC41LTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBjNDQuMSAwIDY2LjEgNTMuMyAzNSA4NC41LTE1LjYgMTUuNi0xNS42IDQwLjkgMCA1Ni42czQwLjkgMTUuNiA1Ni42IDBjMzEuMi0zMS4yIDg0LjUtOS4xIDg0LjUgMzUgMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MGMwLTQ0LjEgNTMuMy02Ni4xIDg0LjUtMzUgMTUuNiAxNS42IDQwLjkgMTUuNiA1Ni42IDBzMTUuNi00MC45IDAtNTYuNmMtMzEuMi0zMS4yLTkuMS04NC41IDM1LTg0LjUgMjIuMSAwIDQwLTE3LjkgNDAtNDBzLTE3LjktNDAtNDAtNDBjLTQ0LjEgMC02Ni4xLTUzLjMtMzUtODQuNSAxNS42LTE1LjYgMTUuNi00MC45IDAtNTYuNnMtNDAuOS0xNS42LTU2LjYgMEMzNDkuMyAxMDYuMSAyOTYgODQuMSAyOTYgNDB6TTE2MCAyMjRhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTYwIDMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0saVZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdlbSIsaWNvbjpbNTEyLDUxMixbMTI4MTQyXSwiZjNhNSIsIk0xMTYuNyAzMy44YzQuNS02LjEgMTEuNy05LjggMTkuMy05LjhsMjQwIDBjNy42IDAgMTQuOCAzLjYgMTkuMyA5LjhsMTEyIDE1MmM2LjggOS4yIDYuMSAyMS45LTEuNSAzMC40bC0yMzIgMjU2Yy00LjUgNS0xMSA3LjktMTcuOCA3LjlzLTEzLjItMi45LTE3LjgtNy45bC0yMzItMjU2Yy03LjctOC41LTguMy0yMS4yLTEuNS0zMC40bDExMi0xNTJ6bTM4LjUgMzkuOGMtMy4zIDIuNS00LjIgNy0yLjEgMTAuNUwyMTAuNSAxNzkuOCA2My4zIDE5MmMtNC4xIC4zLTcuMyAzLjgtNy4zIDhzMy4yIDcuNiA3LjMgOGwxOTIgMTZjLjQgMCAuOSAwIDEuMyAwbDE5Mi0xNmM0LjEtLjMgNy4zLTMuOCA3LjMtOHMtMy4yLTcuNi03LjMtOGwtMTQ3LjItMTIuMyA1Ny40LTk1LjZjMi4xLTMuNSAxLjItOC4xLTIuMS0xMC41cy03LjktMi0xMC43IDFMMjU2IDE3Mi4yIDE2NS45IDc0LjZjLTIuOC0zLTcuNC0zLjQtMTAuNy0xeiJdfSxvVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9pbGV0IixpY29uOls0NDgsNTEyLFsxMjg3MDFdLCJmN2Q4IiwiTTI0IDBDMTAuNyAwIDAgMTAuNyAwIDI0UzEwLjcgNDggMjQgNDhsOCAwIDAgMTQ4LjljLTEuOSAxLjQtMy44IDIuOS01LjYgNC40LTE1LjUgMTMuMi0yNi40IDMxLjYtMjYuNCA1NC42IDAgNDYuOSAxNC4zIDg0LjEgMzcgMTEyLjUgMTQuMiAxNy43IDMxLjEgMzEuMyA0OC41IDQxLjhMNjUuNiA0NjkuOWMtMy4zIDkuOC0xLjYgMjAuNSA0LjQgMjguOFM4NS43IDUxMiA5NiA1MTJsMjU2IDBjMTAuMyAwIDE5LjktNC45IDI2LTEzLjNzNy43LTE5LjEgNC40LTI4LjhsLTE5LjgtNTkuNWMxNy40LTEwLjUgMzQuMy0yNC4xIDQ4LjUtNDEuOCAyMi43LTI4LjQgMzctNjUuNSAzNy0xMTIuNSAwLTIzLjEtMTAuOS00MS41LTI2LjQtNTQuNi0xLjgtMS41LTMuNy0zLTUuNi00LjRsMC0xNDguOSA4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRTNDM3LjMgMCA0MjQgMEwyNCAwek05NiA4MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZzLTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2ek0yMjQgMjg4Yy04OC40IDAtMTYwLTE0LjMtMTYwLTMyczcxLjYtMzIgMTYwLTMyIDE2MCAxNC4zIDE2MCAzMi03MS42IDMyLTE2MCAzMnoiXX0sblZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpbmdsZS1xdW90ZS1sZWZ0IixpY29uOlsxOTIsNTEyLFtdLCJlODFiIiwiTTEyOCA5NmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NmwwIDggNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDIxNkMwIDE0OS43IDUzLjcgOTYgMTIwIDk2bDggMHoiXX0sbFZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWJpbGxzIixpY29uOls1NzYsNTEyLFtdLCJlMWYzIiwiTTE2MCAzMmMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyMjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzUyIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMMTYwIDMyem0xNzYgOTZhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6TTE2MCAxNTJsMC00OGMwLTQuNCAzLjYtOCA4LThsNDggMGM0LjQgMCA4LjEgMy42IDcuNSA4LTMuNiAyOS0yNi42IDUxLjktNTUuNSA1NS41LTQuNCAuNS04LTMuMS04LTcuNXptMCAxMTJjMC00LjQgMy42LTguMSA4LTcuNSAyOSAzLjYgNTEuOSAyNi42IDU1LjUgNTUuNSAuNSA0LjQtMy4xIDgtNy41IDhsLTQ4IDBjLTQuNCAwLTgtMy42LTgtOGwwLTQ4ek01MDQgMTU5LjVjLTI5LTMuNi01MS45LTI2LjYtNTUuNS01NS41LS41LTQuNCAzLjEtOCA3LjUtOGw0OCAwYzQuNCAwIDggMy42IDggOGwwIDQ4YzAgNC40LTMuNiA4LjEtOCA3LjV6TTUxMiAyNjRsMCA0OGMwIDQuNC0zLjYgOC04IDhsLTQ4IDBjLTQuNCAwLTguMS0zLjYtNy41LTggMy42LTI5IDI2LjYtNTEuOSA1NS41LTU1LjUgNC40LS41IDggMy4xIDggNy41ek00OCAxNTJjMC0xMy4zLTEwLjctMjQtMjQtMjRTMCAxMzguNyAwIDE1MkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzOTIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNEw2NCA0MzJjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTI2NHoiXX0sY1Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhYmxldC1idXR0b24iLGljb246WzQ0OCw1MTIsW10sImYxMGEiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMHpNMjI0IDQwMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LFViPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlY3RhbmdsZS14bWFyayIsaWNvbjpbNTEyLDUxMixbNjIxNjQsInJlY3RhbmdsZS10aW1lcyIsInRpbWVzLXJlY3RhbmdsZSIsIndpbmRvdy1jbG9zZSJdLCJmNDEwIiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0ek0xNjcgMTY3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDU1IDU1IDU1LTU1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNTUgNTUgNTUgNTVjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNTUtNTUtNTUgNTVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNTUtNTUtNTUtNTVjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45eiJdfSxkVnQ9VWIsdVZ0PVViLHBWdD1VYixmVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid3JlbmNoIixpY29uOls1NzYsNTEyLFsxMjgyOTVdLCJmMGFkIiwiTTUwOS40IDk4LjZjNy42LTcuNiAyMC4zLTUuNyAyNC4xIDQuMyA2LjggMTcuNyAxMC41IDM3IDEwLjUgNTcuMSAwIDg4LjQtNzEuNiAxNjAtMTYwIDE2MC0xNy41IDAtMzQuNC0yLjgtNTAuMi04TDE0Ni45IDQ5OC45Yy0yOC4xIDI4LjEtNzMuNyAyOC4xLTEwMS44IDBzLTI4LjEtNzMuNyAwLTEwMS44TDIzMiAyMTAuMmMtNS4yLTE1LjgtOC0zMi42LTgtNTAuMiAwLTg4LjQgNzEuNi0xNjAgMTYwLTE2MCAyMC4xIDAgMzkuNCAzLjcgNTcuMSAxMC41IDEwIDMuOCAxMS44IDE2LjUgNC4zIDI0LjFsLTg4LjcgODguN2MtMyAzLTQuNyA3LjEtNC43IDExLjNsMCA0MS40YzAgOC44IDcuMiAxNiAxNiAxNmw0MS40IDBjNC4yIDAgOC4zLTEuNyAxMS4zLTQuN2w4OC43LTg4Ljd6Il19LGx2PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYXNoLWNhbiIsaWNvbjpbNDQ4LDUxMixbNjE0NjAsInRyYXNoLWFsdCJdLCJmMmVkIiwiTTEzNi43IDUuOUMxNDEuMS03LjIgMTUzLjMtMTYgMTY3LjEtMTZsMTEzLjkgMGMxMy44IDAgMjYgOC44IDMwLjQgMjEuOUwzMjAgMzIgNDE2IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjRTMTQuMyAzMiAzMiAzMmw5NiAwIDguNy0yNi4xek0zMiAxNDRsMzg0IDAgMCAzMDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTMwNHptODggNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTkyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xOTJjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTEwNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE5MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTkyYzAtMTMuMy0xMC43LTI0LTI0LTI0em0xMDQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxOTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE5MmMwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0saFZ0PWx2LEo4ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZS1jZWxscyIsaWNvbjpbNDQ4LDUxMixbInRoIl0sImYwMGEiLCJNMzg0IDk2bDAgNjQtNjQgMCAwLTY0IDY0IDB6bTAgMTI4bDAgNjQtNjQgMCAwLTY0IDY0IDB6bTAgMTI4bDAgNjQtNjQgMCAwLTY0IDY0IDB6TTI1NiAyODhsLTY0IDAgMC02NCA2NCAwIDAgNjR6bS02NCA2NGw2NCAwIDAgNjQtNjQgMCAwLTY0em0tNjQtNjRsLTY0IDAgMC02NCA2NCAwIDAgNjR6TTY0IDM1Mmw2NCAwIDAgNjQtNjQgMCAwLTY0em0wLTE5MmwwLTY0IDY0IDAgMCA2NC02NCAwem0xMjggMGwwLTY0IDY0IDAgMCA2NC02NCAwek02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyeiJdfSxtVnQ9SjhlLGdWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyaWJib24iLGljb246WzM4NCw1MTIsWzEyNzg5NV0sImY0ZDYiLCJNMjM1LjEgMGMzMy40IDAgNjQuNSAxNy40IDgxLjkgNDUuOSAxLjIgMiAxMyAyMS4zIDM1LjMgNTcuOCAyMS4xIDM0LjUgMTguMyA3OC41LTcgMTEwTDI3OC4zIDI5Ny43IDM2NC41IDQwNmM1LjUgNi45IDQuNCAxNi45LTIuNSAyMi41bC04MCA2NGMtNi45IDUuNS0xNyA0LjQtMjIuNS0yLjVMMzguNiAyMTMuOEMxMy4zIDE4Mi4zIDEwLjUgMTM4LjMgMzEuNiAxMDMuOCA1NCA2Ny4yIDY1LjcgNDcuOSA2NyA0NS45IDg0LjQgMTcuNCAxMTUuNCAwIDE0OC45IDBsODYuMyAwek0xOTIgMTg5LjJsNDguNi02MS4yLTk3LjMgMCA0OC42IDYxLjJ6TTc1IDMzNi4ybDg2LjIgMTA3LjgtMzYuOCA0NmMtNS41IDYuOS0xNS42IDgtMjIuNSAyLjVsLTgwLTY0Yy02LjktNS41LTgtMTUuNi0yLjUtMjIuNUw3NSAzMzYuMnoiXX0sYlZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhbmRtYXJrLWZsYWciLGljb246WzUxMiw1MTIsW10sImU1MWMiLCJNMzUyLTMyTDI0MC0zMmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTQ0LTE3NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2IDAgMCAyMjQtNTEuMiAzOC40QzQuNyA0NjAuNCAwIDQ2OS45IDAgNDgwIDAgNDk3LjcgMTQuMyA1MTIgMzIgNTEybDQ0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyIDAtMTAuMS00LjctMTkuNi0xMi44LTI1LjZsLTUxLjItMzguNCAwLTIyNCAxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xOTIgMCAwLTY0IDgwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNjRjMC04LjgtNy4yLTE2LTE2LTE2em00OCAyMjRsMCAyMjQtNjQgMCAwLTIyNCA2NCAwem0tMTEyIDBsMCAyMjQtNjQgMCAwLTIyNCA2NCAwem0tMTEyIDBsMCAyMjQtNjQgMCAwLTIyNCA2NCAweiJdfSxlbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXAtZG93bi1sZWZ0LXJpZ2h0IixpY29uOls1MTIsNTEyLFsiYXJyb3dzLWFsdCJdLCJmMGIyIiwiTTI3OC42IDkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTY0IDY0Yy05LjIgOS4yLTExLjkgMjIuOS02LjkgMzQuOVMxNzkuMSAxMjggMTkyIDEyOGwzMiAwIDAgOTYtOTYgMCAwLTMyYzAtMTIuOS03LjgtMjQuNi0xOS44LTI5LjZzLTI1LjctMi4yLTM0LjkgNi45bC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjOS4yIDkuMiAyMi45IDExLjkgMzQuOSA2LjlTMTI4IDMzMi45IDEyOCAzMjBsMC0zMiA5NiAwIDAgOTYtMzIgMGMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOHMtMi4yIDI1LjcgNi45IDM0LjlsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsNjQtNjRjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTMzMyLjkgMzg0IDMyMCAzODRsLTMyIDAgMC05NiA5NiAwIDAgMzJjMCAxMi45IDcuOCAyNC42IDE5LjggMjkuNnMyNS43IDIuMiAzNC45LTYuOWw2NC02NGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtNjQtNjRjLTkuMi05LjItMjIuOS0xMS45LTM0LjktNi45UzM4NCAxNzkuMSAzODQgMTkybDAgMzItOTYgMCAwLTk2IDMyIDBjMTIuOSAwIDI0LjYtNy44IDI5LjYtMTkuOHMyLjItMjUuNy02LjktMzQuOWwtNjQtNjR6Il19LHZWdD1lbWUseFZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhci1zaWRlIixpY29uOls2NDAsNTEyLFsxMjg2NjNdLCJmNWU0IiwiTTE0NyAxMDYuN2wtMjkuOCA4NS4zIDEyMi45IDAgMC05Ni03Ny45IDBjLTYuOCAwLTEyLjkgNC4zLTE1LjEgMTAuN3pNNDguNiAxOTMuOUw4Ni41IDg1LjZDOTcuOCA1My41IDEyOC4xIDMyIDE2Mi4xIDMyTDM2MCAzMmMyNS4yIDAgNDguOSAxMS45IDY0IDMybDk2LjIgMTI4LjNDNTg3LjEgMTk2LjUgNjQwIDI1Mi4xIDY0MCAzMjBsMCAxNmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMTYuNCAwYy00IDQ0LjktNDEuNyA4MC04Ny42IDgwcy04My42LTM1LjEtODcuNi04MGwtMTQ0LjcgMGMtNCA0NC45LTQxLjcgODAtODcuNiA4MHMtODMuNi0zNS4xLTg3LjYtODBsLS40IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtODBjMC0zMC4xIDIwLjctNTUuMyA0OC42LTYyLjF6TTQ0MCAxOTJsLTY3LjItODkuNmMtMy00LTcuOC02LjQtMTIuOC02LjRsLTcyIDAgMCA5NiAxNTIgMHpNMTUyIDQzMmE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6bTM2MC00MGE0MCA0MCAwIDEgMCAtODAgMCA0MCA0MCAwIDEgMCA4MCAweiJdfSx0bWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJhc2gtYXJyb3ctdXAiLGljb246WzQ0OCw1MTIsWyJ0cmFzaC1yZXN0b3JlIl0sImY4MjkiLCJNMTY3LjEtMTZsMTEzLjkgMGMxMy44IDAgMjYgOC44IDMwLjQgMjEuOUwzMjAgMzIgNDE2IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjRTMTQuMyAzMiAzMiAzMmw5NiAwIDguNy0yNi4xQzE0MS4xLTcuMiAxNTMuMy0xNiAxNjcuMS0xNnpNMzIgMTQ0bDM4NCAwLTIxLjEgMzIzLjFDMzkzLjMgNDkyLjQgMzcyLjMgNTEyIDM0NyA1MTJMMTAxIDUxMmMtMjUuMyAwLTQ2LjMtMTkuNi00Ny45LTQ0LjlMMzIgMTQ0em0yMDkgNzljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC03MiA3MmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDMxLTMxIDAgMTAyLjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEwMi4xIDMxIDMxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNzItNzJ6Il19LHlWdD10bWUsd1Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxpZmUtcmluZyIsaWNvbjpbNTEyLDUxMixbXSwiZjFjZCIsIk0zNjcuMiA0MTIuNUMzMzUuOSA0MzQuOSAyOTcuNSA0NDggMjU2IDQ0OHMtNzkuOS0xMy4xLTExMS4yLTM1LjVsNTgtNThjMTUuOCA4LjYgMzQgMTMuNSA1My4zIDEzLjVzMzcuNC00LjkgNTMuMy0xMy41bDU4IDU4em05MC43IC44YzMzLjgtNDMuNCA1NC05OCA1NC0xNTcuM1M0OTEuOCAxNDIuMSA0NTggOTguN2M5LTEyLjUgNy45LTMwLjEtMy40LTQxLjNTNDI1LjggNDUgNDEzLjMgNTRDMzY5LjkgMjAuMiAzMTUuMyAwIDI1NiAwUzE0Mi4xIDIwLjIgOTguNyA1NGMtMTIuNS05LTMwLjEtNy45LTQxLjMgMy40UzQ1IDg2LjIgNTQgOTguN0MyMC4yIDE0Mi4xIDAgMTk2LjcgMCAyNTZTMjAuMiAzNjkuOSA1NCA0MTMuM2MtOSAxMi41LTcuOSAzMC4xIDMuNCA0MS4zUzg2LjIgNDY3IDk4LjcgNDU4YzQzLjQgMzMuOCA5OCA1NCAxNTcuMyA1NHMxMTMuOS0yMC4yIDE1Ny4zLTU0YzEyLjUgOSAzMC4xIDcuOSA0MS4zLTMuNHMxMi40LTI4LjggMy40LTQxLjN6bS00NS41LTQ2LjFsLTU4LTU4YzguNi0xNS44IDEzLjUtMzQgMTMuNS01My4zcy00LjktMzcuNC0xMy41LTUzLjNsNTgtNThDNDM0LjkgMTc2LjEgNDQ4IDIxNC41IDQ0OCAyNTZzLTEzLjEgNzkuOS0zNS41IDExMS4yek0zNjcuMiA5OS41bC01OCA1OGMtMTUuOC04LjYtMzQtMTMuNS01My4zLTEzLjVzLTM3LjQgNC45LTUzLjMgMTMuNWwtNTgtNThDMTc2LjEgNzcuMSAyMTQuNSA2NCAyNTYgNjRzNzkuOSAxMy4xIDExMS4yIDM1LjV6TTE1Ny41IDMwOS4zbC01OCA1OEM3Ny4xIDMzNS45IDY0IDI5Ny41IDY0IDI1NnMxMy4xLTc5LjkgMzUuNS0xMTEuMmw1OCA1OGMtOC42IDE1LjgtMTMuNSAzNC0xMy41IDUzLjNzNC45IDM3LjQgMTMuNSA1My4zek0yMDggMjU2YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6Il19LE1WdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb3B5cmlnaHQiLGljb246WzUxMiw1MTIsWzE2OV0sImYxZjkiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTIwNS4xIDMwNi45YzI4LjEgMjguMSA3My43IDI4LjEgMTAxLjggMCA5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjljLTQ2LjkgNDYuOS0xMjIuOCA0Ni45LTE2OS43IDBzLTQ2LjktMTIyLjggMC0xNjkuNyAxMjIuOC00Ni45IDE2OS43IDBjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGMtMjguMS0yOC4xLTczLjctMjguMS0xMDEuOCAwcy0yOC4xIDczLjcgMCAxMDEuOHoiXX0sa1Z0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtcHJlc2NyaXB0aW9uIixpY29uOlszODQsNTEyLFtdLCJmNTcyIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek04OCAxOTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTQ0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MCAyMi41IDAgNTguNCA1NS0zMy40IDMxLjZjLTkuNiA5LjEtMTAuMSAyNC4zLS45IDMzLjlzMjQuMyAxMC4xIDMzLjkgLjlsMzUuNC0zMy41IDM1LjYgMzMuNWM5LjcgOS4xIDI0LjggOC42IDMzLjktMXM4LjYtMjQuOC0xLTMzLjlsLTMzLjYtMzEuNiAzMy42LTMxLjhjOS42LTkuMSAxMC4xLTI0LjMgLjktMzMuOXMtMjQuMy0xMC4xLTMzLjktLjlsLTM1LjcgMzMuNy00MC45LTM4LjVjMTIuOS0xMS43IDIxLjEtMjguNiAyMS4xLTQ3LjUgMC0zNS4zLTI4LjctNjQtNjQtNjRsLTU2IDB6bTMyIDgwbC04IDAgMC0zMiAzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC0yNCAweiJdfSxTVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXJhc2VyIixpY29uOls1NzYsNTEyLFtdLCJmMTJkIiwiTTE3OC41IDQxNmwxMjMgMCA2NS4zLTY1LjMtMTczLjUtMTczLjUtMTI2LjcgMTI2LjcgMTEyIDExMnpNMjI0IDQ4MGwtNDUuNSAwYy0xNyAwLTMzLjMtNi43LTQ1LjMtMTguN0wxNyAzNDVDNi4xIDMzNC4xIDAgMzE5LjQgMCAzMDRzNi4xLTMwLjEgMTctNDFMMjYzIDE3QzI3My45IDYuMSAyODguNiAwIDMwNCAwczMwLjEgNi4xIDQxIDE3TDUyNyAxOTljMTAuOSAxMC45IDE3IDI1LjYgMTcgNDFzLTYuMSAzMC4xLTE3IDQxbC0xMzUgMTM1IDEyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yODggMHoiXX0sYW1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXJnbGFzcy1zdGFydCIsaWNvbjpbMzg0LDUxMixbImhvdXJnbGFzcy0xIl0sImYyNTEiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwwIDExYzAgNDIuNCAxNi45IDgzLjEgNDYuOSAxMTMuMWw2Ny45IDY3LjktNjcuOSA2Ny45QzQ4LjkgMzUzLjkgMzIgMzk0LjYgMzIgNDM3bDAgMTFjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0xMWMwLTQyLjQtMTYuOS04My4xLTQ2LjktMTEzLjFsLTY3LjktNjcuOSA2Ny45LTY3LjljMzAtMzAgNDYuOS03MC43IDQ2LjktMTEzLjFsMC0xMWMxNy43IDAgMzItMTQuMyAzMi0zMlMzNjkuNyAwIDM1MiAwTDMyIDB6TTI4OCA0MzdsMCAxMS0xOTIgMCAwLTExYzAtMjUuNSAxMC4xLTQ5LjkgMjguMS02Ny45bDY3LjktNjcuOSA2Ny45IDY3LjljMTggMTggMjguMSA0Mi40IDI4LjEgNjcuOXoiXX0selZ0PWFtZSxybWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWxlZnQiLGljb246WzUxMiw1MTIsWzYxODQwLCJhcnJvdy1hbHQtY2lyY2xlLWxlZnQiXSwiZjM1OSIsIk01MTIgMjU2YTI1NiAyNTYgMCAxIDAgLTUxMiAwIDI1NiAyNTYgMCAxIDAgNTEyIDB6TTEyNC43IDI0NC43bDEwNC0xMDRjNC42LTQuNiAxMS41LTUuOSAxNy40LTMuNXM5LjkgOC4zIDkuOSAxNC44bDAgNTYgOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwIDAgNTZjMCA2LjUtMy45IDEyLjMtOS45IDE0LjhzLTEyLjkgMS4xLTE3LjQtMy41bC0xMDQtMTA0Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnoiXX0sQ1Z0PXJtZSxfVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3J1emVpcm8tc2lnbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTE1MiIsIk0yNDAgOTZjLTg4LjQgMC0xNjAgNzEuNi0xNjAgMTYwIDAgNzEuNiA0Ny4xIDEzMi4zIDExMiAxNTIuN0wxOTIgMjU2YzAtMTMuMyAxMC43LTI0IDI0LTI0IDEyLjggMCAyMy4zIDEwLjEgMjQgMjIuNyAxNS41LTkuNSAzMy41LTE0LjcgNTIuMy0xNC43bDExLjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTEuOCAwYy0xOC44IDAtMzYuMSAxMC00NS40IDI2LjMtNC41IDcuOS02LjkgMTYuOC02LjkgMjUuOWwwIDc1LjhjNDIuNSAwIDgxLjEtMTYuNiAxMDkuOC00My42IDEyLjktMTIuMSAzMy4xLTExLjUgNDUuMiAxLjNzMTEuNSAzMy4xLTEuMyA0NS4yQzM1My43IDQ1Ni44IDI5OS41IDQ4MCAyNDAgNDgwIDExNi4zIDQ4MCAxNiAzNzkuNyAxNiAyNTZTMTE2LjMgMzIgMjQwIDMyYzU5LjUgMCAxMTMuNyAyMy4yIDE1My43IDYxLjEgMTIuOSAxMi4xIDEzLjQgMzIuNCAxLjMgNDUuMnMtMzIuNCAxMy40LTQ1LjIgMS4zQzMyMS4xIDExMi42IDI4Mi41IDk2IDI0MCA5NnoiXX0sVFZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNtb2tpbmciLGljb246WzU3Niw1MTIsWzEyODY4NF0sImY0OGQiLCJNMzYwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxOWMwIDQwLjMgMTYgNzkgNDQuNSAxMDcuNWwyMSAyMUM0NjkgMTkxIDQ4MCAyMTcuNCA0ODAgMjQ1bDAgMTljMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xOWMwLTE0LjktNS45LTI5LjEtMTYuNC0zOS42bC0yMS0yMUMzNTcuMSAxNDYuOSAzMzYgOTYgMzM2IDQzbDAtMTljMC0xMy4zIDEwLjctMjQgMjQtMjR6TTU1MiAyODhjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMTljMC00MC4zLTE2LTc5LTQ0LjUtMTA3LjVsLTIxLTIxQzQ0MyA5NyA0MzIgNzAuNiA0MzIgNDNsMC0xOWMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTljMCAxNC45IDUuOSAyOS4xIDE2LjQgMzkuNmwyMSAyMUM1NTQuOSAxNDEuMSA1NzYgMTkyIDU3NiAyNDVsMCAxOWMwIDEzLjMtMTAuNyAyNC0yNCAyNHpNMzIwIDQ0OGw5NiAwIDAtMzItOTYgMCAwIDMyek0wIDQxNmMwLTM1LjMgMjguNy02NCA2NC02NGwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0zMnptNTc2LTQwbDAgMTEyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTEyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6Il19LHNtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtcG9sbC12ZXJ0aWNhbCIsaWNvbjpbNDQ4LDUxMixbInBvbGwiXSwiZjY4MSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyem01NiAxOTJjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxMTJjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xMTJjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTE4NCA4OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OHpNMjI0IDEyOGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDIwOGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTIwOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHoiXX0sTFZ0PXNtZSwkVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWNpcmNsZS1taW51cyIsaWNvbjpbNjQwLDUxMixbXSwiZTU0MCIsIk0yODAgMjRhNTYgNTYgMCAxIDAgLTExMiAwIDU2IDU2IDAgMSAwIDExMiAwem0yNCAyMTIuN0wzNDEgMjg2LjZjMTIuOC0xNy41IDI4LjUtMzIuNyA0Ni4zLTQ1bC01Ni4yLTc1LjdDMzA2IDEzMiAyNjYuMyAxMTIgMjI0IDExMnMtODIgMjAtMTA3LjIgNTMuOWwtNzAuNSA5NWMtMTAuNSAxNC4yLTcuNiAzNC4yIDYuNiA0NC44czM0LjIgNy42IDQ0LjgtNi42TDE0NCAyMzYuNyAxNDQgNTEyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjc1LjN6TTY0MCA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTY0IDBjMCA4LjgtNy4yIDE2LTE2IDE2bC0xMjggMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxMjggMGM4LjggMCAxNiA3LjIgMTYgMTZ6Il19LERWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiaW9oYXphcmQiLGljb246WzU3Niw1MTIsWzk3NjNdLCJmNzgwIiwiTTI2MCAxMi42YzAtOC4zLTcuNi0xNC41LTE1LjUtMTIuMS02MC45IDE4LjgtMTA1LjEgNzUuOC0xMDUuMSAxNDMuMSAwIDI1LjEgNi4xIDQ4LjcgMTcgNjkuNS0yMSAxLjgtNDIgOC4yLTYxLjUgMTkuNS01Ny45IDMzLjYtODQuOCAxMDAuMi03MC45IDE2Mi41IDEuOSA4LjQgMTEuNCAxMiAxOC45IDcuNiA1LTIuOSA3LjYtOC42IDcuMS0xNC40LS4zLTMuMy0uNC02LjYtLjQtMTAuMSAwLTEyMy41IDE4NC40LTEyMy41IDE4NC40IDAgMCA4OC40LTk0LjUgMTEzLjYtMTQ4LjIgNzUuNC00LjUtMy4yLTEwLjUtMy45LTE1LjMtMS4xLTcgNC4xLTguNiAxMy42LTIuNyAxOS4xIDQ2LjYgNDMuOCAxMTggNTMuOSAxNzYuMSAyMC4yIDE3LjktMTAuNCAzMi44LTIzLjkgNDQuNS0zOS40IDExLjcgMTUuNiAyNi42IDI5LjEgNDQuNSAzOS40IDU4LjEgMzMuNyAxMjkuNSAyMy42IDE3Ni4xLTIwLjIgNS45LTUuNSA0LjMtMTUuMS0yLjctMTkuMS00LjgtMi44LTEwLjgtMi4xLTE1LjMgMS4xLTUzLjcgMzguMi0xNDguMiAxMy0xNDguMi03NS40IDAtMTIzLjUgMTg0LjQtMTIzLjUgMTg0LjQgMCAwIDMuNC0uMSA2LjgtLjQgMTAuMS0uNSA1LjggMi4xIDExLjUgNy4xIDE0LjQgNy40IDQuMyAxNyAuOCAxOC45LTcuNiAxMy45LTYyLjItMTMtMTI4LjktNzAuOS0xNjIuNS0xOS41LTExLjMtNDAuNC0xNy43LTYxLjUtMTkuNSAxMC45LTIwLjggMTctNDQuNCAxNy02OS41IDAtNjcuMy00NC4yLTEyNC4zLTEwNS4xLTE0My4xLTcuOS0yLjQtMTUuNSAzLjgtMTUuNSAxMi4xIDAgNS45IDQgMTEgOS41IDEzLjIgODMuNCAzMy42IDcwLjggMTc4LjQtMzcuOCAxNzguNFMxNjcuMSA1OS40IDI1MC41IDI1LjhjNS41LTIuMiA5LjUtNy4zIDkuNS0xMy4yek0yNDguNCAyODhhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHpNNDM1IDMxNy43Yy0xNi4yIDAtMzEuNCA1LjUtNDIuMSAxNS0xMC4xIDkuMS0xOC4xIDIzLjQtMTguMSA0NS42IDAgMjEuMSA3LjIgMzUgMTYuNSA0NC4xIDMyLjItMjQuNiA1NS41LTYwLjUgNjMuOS0xMDEuOC02LjMtMS45LTEzLjItMy0yMC4yLTN6TTIwMiAzNzguM2MwLTIyLjMtOC0zNi42LTE4LjEtNDUuNi0xMC43LTkuNi0yNS45LTE1LTQyLjEtMTUtNyAwLTEzLjkgMS0yMC4yIDMgOC40IDQxLjMgMzEuNiA3Ny4yIDYzLjkgMTAxLjggOS40LTkuMSAxNi41LTIzLjEgMTYuNS00NC4yem00MS4yLTIyNC4zYzkgMTAuMiAyMy4yIDE4LjIgNDUuMiAxOC4yczM2LjItOCA0NS4yLTE4LjJjNi43LTcuNiAxMS41LTE3LjUgMTMuNi0yOC40LTE4LjMtNi44LTM4LjItMTAuNS01OC44LTEwLjVzLTQwLjUgMy43LTU4LjggMTAuNWMyLjIgMTAuOSA2LjkgMjAuOCAxMy42IDI4LjV6Il19LGltZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiZWxsLWNvbmNpZXJnZSIsaWNvbjpbNTEyLDUxMixbMTI4NzE4LCJjb25jaWVyZ2UtYmVsbCJdLCJmNTYyIiwiTTIxNiA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNiAwIDAgMzMuM0MxMjQuOCAxNTYuNyA0MC4yIDI0My43IDMyLjYgMzUybDQ0Ni45IDBDNDcxLjggMjQzLjcgMzg3LjIgMTU2LjcgMjgwIDE0NS4zbDAtMzMuMyAxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAwek0yNCA0MDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDY0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMMjQgNDAweiJdfSxBVnQ9aW1lLEVWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydWxlci1ob3Jpem9udGFsIixpY29uOls1NzYsNTEyLFtdLCJmNTQ3IiwiTTQ4IDM4NGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAxNzZjMC0yNi41IDIxLjUtNDggNDgtNDhsMjQgMCAwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTA0IDQ4IDAgMCA3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNzIgNDggMCAwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTA0IDQ4IDAgMCA3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNzIgNDggMCAwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMTA0IDI0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNjBjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggMzg0eiJdfSxQVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG9yc2UiLGljb246WzU3Niw1MTIsWzEyODAxNF0sImY2ZjAiLCJNNDQ4IDIzOC4xbDAtNzguMSAxNiAwIDkuOCAxOS42YzEyLjUgMjUuMSA0Mi4yIDM2LjQgNjguMyAyNiAyMC41LTguMiAzMy45LTI4IDMzLjktNTAuMUw1NzYgODBjMC0xOS4xLTguNC0zNi4zLTIxLjctNDhsNS43IDBjOC44IDAgMTYtNy4yIDE2LTE2UzU2OC44IDAgNTYwIDBMNDQ4IDBDMzc3LjMgMCAzMjAgNTcuMyAzMjAgMTI4bC0xNzEuMiAwQzExOC4xIDEyOCA5MS4yIDE0NC4zIDc2LjMgMTY4LjggMzMuMiAxNzQuNSAwIDIxMS40IDAgMjU2bDAgNTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTU2YzAtMTMuNCA2LjYtMjUuMiAxNi43LTMyLjUgMS42IDEzIDYuMyAyNS40IDEzLjYgMzYuNGwyOC4yIDQyLjRjOC4zIDEyLjQgNi40IDI4LjctMS4yIDQxLjYtMTYuNSAyOC0yMC42IDYyLjItMTAgOTMuOWwxNy41IDUyLjRjNC40IDEzLjEgMTYuNiAyMS45IDMwLjQgMjEuOWwzMy43IDBjMjEuOCAwIDM3LjMtMjEuNCAzMC40LTQyLjFsLTIwLjgtNjIuNWMtMi4xLTYuNC0uNS0xMy40IDQuMy0xOC4ybDEyLjctMTIuN2MxMy4yLTEzLjIgMjAuNi0zMS4xIDIwLjYtNDkuNyAwLTIuMy0uMS00LjYtLjMtNi45bDg0IDI0YzQuMSAxLjIgOC4yIDIuMSAxMi4zIDIuOEwzMjAgNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xNjQuM2MxOS4yLTE5LjIgMzEuNS00NS43IDMyLTc1LjdsMCAwIDAtMS45ek00OTYgNjRhMTYgMTYgMCAxIDEgMCAzMiAxNiAxNiAwIDEgMSAwLTMyeiJdfSxJVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FsZW5kYXIiLGljb246WzQ0OCw1MTIsWzEyODE5NywxMjgxOThdLCJmMTMzIiwiTTEyOCAwQzExMC4zIDAgOTYgMTQuMyA5NiAzMmwwIDMyLTMyIDBDMjguNyA2NCAwIDkyLjcgMCAxMjhsMCA0OCA0NDggMCAwLTQ4YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zMiAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAzMi0xMjggMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek0wIDIyNEwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5Mi00NDggMHoiXX0sTlZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzLWhvbGRpbmctY2hpbGQiLGljb246WzY0MCw1MTIsW10sImU0ZmEiLCJNMzIwLTMyYTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHpNNDAgNjRjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCAxNjAuMmMwIDE3IDYuNyAzMy4zIDE4LjcgNDUuM2w1MS4xIDUxLjFjOC4zIDguMyAyMS4zIDkuNiAzMSAzLjEgMTIuOS04LjYgMTQuNy0yNi45IDMuNy0zNy44LTcuMy03LjMtMjMuMS0yMy4xLTQ3LjItNDcuMi0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwYzI0LjEgMjQuMSAzOS45IDM5LjkgNDcuMiA0Ny4ybDAgMCAyNS4zIDI1LjNjMjEgMjEgMzIuOCA0OS41IDMyLjggNzkuMmwwIDc4LjljMCAyNi41LTIxLjUgNDgtNDggNDhsLTY2LjcgMGMtMTcgMC0zMy4zLTYuNy00NS4zLTE4LjdMMjguMSAzOTMuNEMxMC4xIDM3NS40IDAgMzUxIDAgMzI1LjVMMCAxMDRDMCA4MS45IDE3LjkgNjQgNDAgNjR6bTU2MCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgMjIxLjVjMCAyNS41LTEwLjEgNDkuOS0yOC4xIDY3LjlMNTEyIDQ5My4zYy0xMiAxMi0yOC4zIDE4LjctNDUuMyAxOC43TDQwMCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtNzguOWMwLTI5LjcgMTEuOC01OC4yIDMyLjgtNzkuMmwyNS4zLTI1LjMgMCAwYzcuMy03LjMgMjMuMS0yMy4xIDQ3LjItNDcuMiAxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zYy0yNC4xIDI0LjEtMzkuOSAzOS45LTQ3LjIgNDcuMi0xMSAxMS05LjIgMjkuMiAzLjcgMzcuOCA5LjcgNi41IDIyLjcgNS4yIDMxLTMuMWw1MS4xLTUxLjFjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0w1NjAgMTA0YzAtMjIuMSAxNy45LTQwIDQwLTQwek0zODQuNSAxNDlsLTE5LjgtMTYuNyAxMS4xIDg4LjhjMS42IDEzLjItNy43IDI1LjEtMjAuOCAyNi44cy0yNS4xLTcuNy0yNi44LTIwLjhsLTQuNC0zNS03LjYgMC00LjQgMzVjLTEuNiAxMy4yLTEzLjYgMjIuNS0yNi44IDIwLjhzLTIyLjUtMTMuNi0yMC44LTI2LjhsMTEuMS04OC44LTE5LjggMTYuN2MtMTAuMSA4LjYtMjUuMyA3LjMtMzMuOC0yLjhzLTcuMy0yNS4zIDIuOC0zMy44bDI3LjktMjMuNkMyNzEuMyA3Mi44IDI5NS4zIDY0IDMyMCA2NHM0OC43IDguOCA2Ny42IDI0LjdsMjcuOSAyMy42YzEwLjEgOC42IDExLjQgMjMuNyAyLjggMzMuOHMtMjMuNyAxMS40LTMzLjggMi44eiJdfSxSVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaXRhbGljIixpY29uOlszODQsNTEyLFtdLCJmMDMzIiwiTTEyOCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNTguNyAwLTEzMy4zIDMyMCA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw1OC43IDAgMTMzLjMtMzIwLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxPVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToia2hhbmRhIixpY29uOls1MTIsNTEyLFs5NzcyXSwiZjY2ZCIsIk0yNDAuNyA4YzguOS03LjQgMjEuOC03LjQgMzAuNyAwbDM3LjggMzEuNWM4LjcgNy4zIDExLjEgMTkuNiA2IDI5LjYtMS4yIDIuNC0yLjggNS41LTQuNiA5LjIgMzQuMiAxOS4yIDU3LjMgNTUuOCA1Ny4zIDk3LjhzLTIzLjEgNzguNi01Ny4zIDk3LjhjMS44IDMuNyAzLjMgNi44IDQuNiA5LjIgNS4xIDEwIDIuNyAyMi4zLTYgMjkuNmwtMzcuMiAzMSAwIDE5LjhjMjIuOS0xNS43IDQ4LjQtMzMuMyA3Ni43LTUyLjcgNDIuOC0yOS40IDY4LjQtNzggNjguNC0xMzBsMC0xMS4xYzAtMjMuOS03LjEtNDcuMy0yMC40LTY3LjItNS4xLTcuNy00LjYtMTcuOCAxLjctMjQuNiA2LjYtNy4xIDE3LjItOC4xIDI1LjItMi44IDI3LjUgMTguMSA4OS40IDY3LjUgODkuNCAxNDkuMSAwIDQ2LjUtMjAuMiA4OC42LTQxLjggMTIwLjQtMjEuNiAzMi00NS42IDU1LTU1LjMgNjMuOC03LjggNy4xLTE5IDcuOS0yNy42IDNsLTcwLjgtNDAuMy0zMi43IDIyLjUgNDUuNSAzMS4zYzEuOC0uNCAzLjctLjcgNS43LS43IDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0xMi4yIDAtMjIuMy05LjEtMjMuOC0yMWwtNDAuMi0yNy42IDAgMjguOWM5LjYgNS41IDE2IDE1LjkgMTYgMjcuNyAwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmMwLTExLjggNi40LTIyLjIgMTYtMjcuN2wwLTI4LjEtNDAuMyAyNy43Yy0xLjggMTEuNC0xMS44IDIwLjEtMjMuNyAyMC4xLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMi4yIDAgNC40IC4zIDYuNSAuOWw0NS44LTMxLjUtMzIuNy0yMi41LTcwLjggNDAuM2MtOC43IDQuOS0xOS44IDQuMS0yNy42LTMtOS43LTguOC0zMy43LTMxLjktNTUuMy02My44LTIxLjUtMzEuOC00MS44LTczLjktNDEuOC0xMjAuNCAwLTgxLjcgNjEuOS0xMzEuMSA4OS40LTE0OS4xIDguMS01LjMgMTguNi00LjMgMjUuMiAyLjggNi40IDYuOSA2LjggMTcgMS43IDI0LjYtMTMuMyAxOS45LTIwLjQgNDMuMy0yMC40IDY3LjJsMCAxMS4xYzAgNTEuOSAyNS42IDEwMC42IDY4LjQgMTMwIDI4LjQgMTkuNiA1My43IDM2LjkgNzUuNiA1MmwwLTE5LjEtMzcuMi0zMWMtOC43LTcuMy0xMS4xLTE5LjYtNi0yOS42IDEuMi0yLjQgMi44LTUuNSA0LjYtOS4yLTM0LjItMTkuMi01Ny4zLTU1LjgtNTcuMy05Ny44czIzLjEtNzguNiA1Ny4zLTk3LjhjLTEuOC0zLjctMy4zLTYuOC00LjYtOS4yLTUuMS0xMC0yLjctMjIuMyA2LTI5LjZMMjQwLjcgOHpNMjIwLjMgMTIyLjljLTE3IDExLjUtMjguMiAzMS0yOC4yIDUzLjFzMTEuMiA0MS42IDI4LjIgNTMuMWM2LjgtMTkuMiAxMS44LTM4LjQgMTEuOC01My4xcy00LjktMzMuOS0xMS44LTUzLjF6bTcxLjUgMTA2LjJjMTctMTEuNSAyOC4yLTMxIDI4LjItNTMuMXMtMTEuMi00MS42LTI4LjItNTMuMWMtNi44IDE5LjItMTEuOCAzOC40LTExLjggNTMuMXM0LjkgMzMuOSAxMS44IDUzLjF6Il19LG9tZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWZyb3duLW9wZW4iLGljb246WzUxMiw1MTIsWzEyODU1MCwiZnJvd24tb3BlbiJdLCJmNTdhIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNzYgMTc2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTI4IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTE4Mi40IDM4Mi41Yy0xMi40IDUuMi0yNi41LTQuMS0yMS4xLTE2LjQgMTYtMzYuNiA1Mi40LTYyLjEgOTQuOC02Mi4xczc4LjggMjUuNiA5NC44IDYyLjFjNS40IDEyLjMtOC43IDIxLjYtMjEuMSAxNi40LTIyLjQtOS41LTQ3LjQtMTQuOC03My43LTE0LjhzLTUxLjMgNS4zLTczLjcgMTQuOHoiXX0sRlZ0PW9tZSxOdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlY2siLGljb246WzQ0OCw1MTIsWzEwMDAzLDEwMDA0XSwiZjAwYyIsIk00MzQuOCA3MC4xYzE0LjMgMTAuNCAxNy41IDMwLjQgNy4xIDQ0LjdsLTI1NiAzNTJjLTUuNSA3LjYtMTQgMTIuMy0yMy40IDEzLjFzLTE4LjUtMi43LTI1LjEtOS4zbC0xMjgtMTI4Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDEwMS41IDEwMS41IDIzNC0zMjEuN2MxMC40LTE0LjMgMzAuNC0xNy41IDQ0LjctNy4xeiJdfSxCVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmluZ2VycHJpbnQiLGljb246WzUxMiw1MTIsW10sImY1NzciLCJNNDggMjU2YzAtMTE0LjkgOTMuMS0yMDggMjA4LTIwOCA2My4xIDAgMTE5LjYgMjguMSAxNTcuOCA3Mi41IDguNiAxMC4xIDIzLjggMTEuMiAzMy44IDIuNnMxMS4yLTIzLjggMi42LTMzLjhDNDAzLjMgMzQuNiAzMzMuNyAwIDI1NiAwIDExNC42IDAgMCAxMTQuNiAwIDI1NmwwIDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MHptNDU4LjUtNTIuOWMtMi43LTEzLTE1LjUtMjEuMy0yOC40LTE4LjVzLTIxLjMgMTUuNS0xOC41IDI4LjRjMi45IDEzLjkgNC41IDI4LjMgNC41IDQzLjFsMCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDBjMC0xOC4xLTEuOS0zNS44LTUuNS01Mi45ek0yNTYgODBjLTE5IDAtMzcuNCAzLTU0LjUgOC42LTE1LjIgNS0xOC43IDIzLjctOC4zIDM1LjkgNy4xIDguMyAxOC44IDEwLjggMjkuNCA3LjkgMTAuNi0yLjkgMjEuOC00LjQgMzMuNC00LjQgNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCAyNC45YzAgMjUuMi0xLjUgNTAuMy00LjQgNzUuMy0xLjcgMTQuNiA5LjQgMjcuOCAyNC4yIDI3LjggMTEuOCAwIDIxLjktOC42IDIzLjMtMjAuMyAzLjMtMjcuNCA1LTU1IDUtODIuN2wwLTI0LjljMC05Ny4yLTc4LjgtMTc2LTE3Ni0xNzZ6TTE1MC43IDE0OC43Yy05LjEtMTAuNi0yNS4zLTExLjQtMzMuOS0uNC0yMy4xIDI5LjgtMzYuOCA2Ny4xLTM2LjggMTA3LjdsMCAyNC45YzAgMjQuMi0yLjYgNDguNC03LjggNzEuOS0zLjQgMTUuNiA3LjkgMzEuMSAyMy45IDMxLjEgMTAuNSAwIDE5LjktNyAyMi4yLTE3LjMgNi40LTI4LjEgOS43LTU2LjggOS43LTg1LjhsMC0yNC45YzAtMjcuMiA4LjUtNTIuNCAyMi45LTczLjEgNy4yLTEwLjQgOC0yNC42LS4yLTM0LjJ6TTI1NiAxNjBjLTUzIDAtOTYgNDMtOTYgOTZsMCAyNC45YzAgMzUuOS00LjYgNzEuNS0xMy44IDEwNi4xLTMuOCAxNC4zIDYuNyAyOSAyMS41IDI5IDkuNSAwIDE3LjktNi4yIDIwLjQtMTUuNCAxMC41LTM5IDE1LjktNzkuMiAxNS45LTExOS43bDAtMjQuOWMwLTI4LjcgMjMuMy01MiA1Mi01MnM1MiAyMy4zIDUyIDUybDAgMjQuOWMwIDM2LjMtMy41IDcyLjQtMTAuNCAxMDcuOS0yLjcgMTMuOSA3LjcgMjcuMiAyMS44IDI3LjIgMTAuMiAwIDE5LTcgMjEtMTcgNy43LTM4LjggMTEuNi03OC4zIDExLjYtMTE4LjFsMC0yNC45YzAtNTMtNDMtOTYtOTYtOTZ6bTI0IDk2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjQuOWMwIDU5LjktMTEgMTE5LjMtMzIuNSAxNzUuMmwtNS45IDE1LjNjLTQuOCAxMi40IDEuNCAyNi4zIDEzLjggMzFzMjYuMy0xLjQgMzEtMTMuOGw1LjktMTUuM0MyNjcuOSA0MTEuOSAyODAgMzQ2LjcgMjgwIDI4MC45bDAtMjQuOXoiXX0sSFZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYXJnaW5nLXN0YXRpb24iLGljb246WzU3Niw1MTIsW10sImY1ZTciLCJNNjQgNjRDNjQgMjguNyA5Mi43IDAgMTI4IDBMMjg4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyMjRjNDQuMiAwIDgwIDM1LjggODAgODBsMCAxMmMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTEyNy43Yy0zMi41LTEwLjItNTYtNDAuNS01Ni03Ni4zbDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDE2IDAgMC00OGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgNDggMzIgMCAwLTQ4YzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCA0OCAxNiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgMzUuOC0yMy41IDY2LjEtNTYgNzYuM0w1MjAgMzgwYzAgMzcuNi0zMC40IDY4LTY4IDY4cy02OC0zMC40LTY4LTY4bDAtMTJjMC0xNy43LTE0LjMtMzItMzItMzJsMCAxMjkuNGM5LjMgMy4zIDE2IDEyLjIgMTYgMjIuNiAwIDEzLjMtMTAuNyAyNC0yNCAyNEw3MiA1MTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0IDAtMTAuNSA2LjctMTkuMyAxNi0yMi42TDY0IDY0em04Mi43IDEyNS43bDM5IDAtMjAuOSA2Ni45Yy0yLjQgNy42IDMuMyAxNS40IDExLjMgMTUuNCAyLjkgMCA1LjYtMSA3LjgtMi45bDk0LjYtODJjMy4xLTIuNyA0LjktNi42IDQuOS0xMC43IDAtNy44LTYuMy0xNC4xLTE0LjEtMTQuMWwtMzkgMCAyMC45LTY2LjljMi40LTcuNi0zLjMtMTUuNC0xMS4zLTE1LjQtMi45IDAtNS42IDEtNy44IDIuOWwtOTQuNiA4MmMtMy4xIDIuNy00LjkgNi42LTQuOSAxMC43IDAgNy44IDYuMyAxNC4xIDE0LjEgMTQuMXoiXX0scVZ0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItbG9jayIsaWNvbjpbNTc2LDUxMixbXSwiZjUwMiIsIk0yMjQgOGExMjAgMTIwIDAgMSAxIDAgMjQwIDEyMCAxMjAgMCAxIDEgMC0yNDB6TTE5NC4zIDMwNGw1OS40IDBjMjkuNyAwIDU3LjcgNy4zIDgyLjMgMjAuMWwwIDQuM2MtMTkuNiAxNy42LTMyIDQzLjEtMzIgNzEuNWwwIDk2YzAgNS41IC41IDEwLjkgMS4zIDE2LjFMNDUuNyA1MTJDMjkuMyA1MTIgMTYgNDk4LjcgMTYgNDgyLjMgMTYgMzgzLjggOTUuOCAzMDQgMTk0LjMgMzA0em0zMDEuNyAuMWMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ3LjkgNjQgMCAwLTQ3Ljl6TTM1MiA0MDBjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zbDAtNTAuNmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNTAuNmMxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjNsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZ6Il19LG5tZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb2JpbGUtc2NyZWVuLWJ1dHRvbiIsaWNvbjpbMzg0LDUxMixbIm1vYmlsZS1hbHQiXSwiZjNjZCIsIk0xNiA2NEMxNiAyOC43IDQ0LjcgMCA4MCAwTDMwNCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDgwIDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMTYgNjR6bTY0IDBsMCAzMDQgMjI0IDAgMC0zMDQtMjI0IDB6TTE5MiA0NzJjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzItMzIgMTQuMy0zMiAzMiAxNC4zIDMyIDMyIDMyeiJdfSxWVnQ9bm1lLGpWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmNob3ItY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNGFhIiwiTTMyMCA5NmEzMiAzMiAwIDEgMSAtNjQgMCAzMiAzMiAwIDEgMSA2NCAwek0yODggMGMtNTMgMC05NiA0My05NiA5NiAwIDQxLjggMjYuNyA3Ny40IDY0IDkwLjVsMCAyNTcuOWMtNjIuOS0xNC4zLTExMC4yLTY5LjctMTExLjktMTM2LjVsMTYuMSAxNC4xYzEwIDguNyAyNS4xIDcuNyAzMy45LTIuM3M3LjctMjUuMS0yLjMtMzMuOWwtNjQtNTZjLTktNy45LTIyLjYtNy45LTMxLjYgMGwtNjQgNTZjLTEwIDguNy0xMSAyMy45LTIuMyAzMy45czIzLjkgMTEgMzMuOSAyLjNMODAgMzA3LjljMi4xIDExMy4xIDk0LjQgMjA0LjEgMjA4IDIwNC4xIDE2LjYgMCAzMi43LTEuOSA0OC4yLTUuNi0yMC4zLTMwLjUtMzIuMi02Ny0zMi4yLTEwNi40IDAtMjcuMyA1LjctNTMuMyAxNi03Ni45bDAtMTM2LjZjMzcuMy0xMy4yIDY0LTQ4LjcgNjQtOTAuNSAwLTUzLTQzLTk2LTk2LTk2ek02NDAgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS04Ni42LTYwLjljNy4xIDUuMiA4LjcgMTUuMiAzLjUgMjIuM2wtNjQgODhjLTIuOCAzLjgtNyA2LjItMTEuNyA2LjVzLTkuMy0xLjMtMTIuNi00LjZsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMjYuOCAyNi44IDUzLTcyLjljNS4yLTcuMSAxNS4yLTguNyAyMi40LTMuNXoiXX0sbG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi13YWxraW5nLXdpdGgtY2FuZSIsaWNvbjpbNTc2LDUxMixbImJsaW5kIl0sImYyOWQiLCJNMjI0LTMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek0xNjAgMjA1LjNsLTIyLjYgMjIuNmMtNiA2LTkuNCAxNC4xLTkuNCAyMi42bDAgMzcuNWMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTM3LjVjMC0yNS41IDEwLjEtNDkuOSAyOC4xLTY3LjlsMzQuNC0zNC40YzIzLjItMjMuMiA1NC42LTM2LjIgODcuMy0zNi4yIDM2LjEgMCA3MC4zIDE1LjggOTMuOCA0My4xbDY4LjYgODBjMTEuNSAxMy40IDkuOSAzMy42LTMuNSA0NS4xcy0zMy42IDkuOS00NS4xLTMuNWwtNTUuNy02NSAwIDExOC42IDM0LjUgMjkuNmMxNy43IDE1LjIgMjkuMyAzNi4yIDMyLjYgNTkuM2wxMi42IDg4LjFjMi41IDE3LjUtOS43IDMzLjctMjcuMiAzNi4ycy0zMy43LTkuNy0zNi4yLTI3LjJsLTEyLjYtODguMWMtMS4xLTcuNy01LTE0LjctMTAuOS0xOS44bC03MS40LTYxLjJjLTIxLjMtMTguMi0zMy41LTQ0LjktMzMuNS03Mi45bDAtNjkuM3ptLjEgMTY1LjhjMi40IDIuMyA0LjggNC42IDcuNCA2LjhsNDYgMzkuNC0yLjIgNy42Yy00LjUgMTUuNy0xMi45IDMwLTI0LjQgNDEuNWwtNjguMyA2OC4zYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2w2OC4zLTY4LjNjMy44LTMuOCA2LjYtOC42IDguMS0xMy44TDE2MC4xIDM3MXptMjMzLjUtNjIuMmMxMC42LTggMjUuNi01LjggMzMuNiA0LjhsMTQ0IDE5MmM4IDEwLjYgNS44IDI1LjYtNC44IDMzLjZzLTI1LjYgNS44LTMzLjYtNC44bC0xNDQtMTkyYy04LTEwLjYtNS44LTI1LjYgNC44LTMzLjZ6Il19LFVWdD1sbWUsY21lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtd2F2ZWZvcm0iLGljb246WzM4NCw1MTIsWyJmaWxlLW1lZGljYWwtYWx0Il0sImY0NzgiLCJNMCA2NEMwIDI4LjcgMjguNyAwIDY0IDBMMjEzLjUgMGMxNyAwIDMzLjMgNi43IDQ1LjMgMTguN0wzNjUuMyAxMjUuM2MxMiAxMiAxOC43IDI4LjMgMTguNyA0NS4zTDM4NCA0NDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTk2IDYwLjMgMCA0OC44IDYyLjdjNS4xIDYuNiAxMy4zIDEwIDIxLjYgOS4xczE1LjUtNi4xIDE5LjEtMTMuNmw0Mi45LTkxLjIgOS45IDE5LjhjNC4xIDguMSAxMi40IDEzLjMgMjEuNSAxMy4zbDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTU3LjIgMC0yNS40LTUwLjdjLTQuMS04LjItMTIuNi0xMy40LTIxLjgtMTMuM3MtMTcuNSA1LjUtMjEuNCAxMy44bC00Ny4zIDEwMC42LTMyLTQxLjFDODYuNCAzMDcuNCA3OS40IDMwNCA3MiAzMDRMMCAzMDQgMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41eiJdfSxXVnQ9Y21lLEdWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1jcmFjayIsaWNvbjpbNTEyLDUxMixbXSwiZTNiMSIsIk0yNzcuOCA4LjZjLTEyLjMtMTEuNC0zMS4zLTExLjQtNDMuNSAwbC0yMjQgMjA4Yy05LjYgOS0xMi44IDIyLjktOCAzNS4xUzE4LjggMjcyIDMyIDI3MmwxNiAwIDAgMTc2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDg2LjQgMC0zMS4zLTUyLjJjLTQuMS02LjgtMi42LTE1LjUgMy41LTIwLjVMMjU2IDM2OCAxOTUuOCAyODUuMmMtMTAuOS0xNSA4LjItMzMuNSAyMi44LTIybDExNy45IDkyLjZjOCA2LjMgOC4yIDE4LjQgLjQgMjQuOUwyNTYgNDQ4IDI5NC40IDUxMiA0MDAgNTEyYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTc2IDE2IDBjMTMuMiAwIDI1LTguMSAyOS44LTIwLjNzMS42LTI2LjItOC0zNS4xbC0yMjQtMjA4eiJdfSxZVnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGF0LXdpemFyZCIsaWNvbjpbNTEyLDUxMixbXSwiZjZlOCIsIk02NCA0MDBsODUuNy0yMDguMmMxNy00MS4zIDQ3LjgtNzUuMyA4Ny4yLTk2LjNMMzgzLjggMTcuMmMxMi4zLTYuNiAyNi41IDQuNyAyMyAxOC4yTDM2OS42IDE3Ny44Yy0xLjEgNC4xLTEuNiA4LjMtMS42IDEyLjYgMCA2LjMgMS4yIDEyLjYgMy42IDE4LjVsNzYuNCAxOTEuMS0yMDcuMSAwIDExLjgtMzUuNCA0MC40LTEzLjVjNi41LTIuMiAxMC45LTguMyAxMC45LTE1LjJzLTQuNC0xMy0xMC45LTE1LjJsLTQwLjQtMTMuNS0xMy41LTQwLjRDMjM3IDI2MC40IDIzMC45IDI1NiAyMjQgMjU2cy0xMyA0LjQtMTUuMiAxMC45bC0xMy41IDQwLjQtNDAuNCAxMy41QzE0OC40IDMyMyAxNDQgMzI5LjEgMTQ0IDMzNnM0LjQgMTMgMTAuOSAxNS4ybDQwLjQgMTMuNSAxMS44IDM1LjQtMTQzLjEgMHpNMjc5LjYgMTQxLjVjLTEuMS0zLjMtNC4xLTUuNS03LjYtNS41cy02LjUgMi4yLTcuNiA1LjVsLTYuNyAyMC4yLTIwLjIgNi43Yy0zLjMgMS4xLTUuNSA0LjEtNS41IDcuNnMyLjIgNi41IDUuNSA3LjZsMjAuMiA2LjcgNi43IDIwLjJjMS4xIDMuMyA0LjEgNS41IDcuNiA1LjVzNi41LTIuMiA3LjYtNS41bDYuNy0yMC4yIDIwLjItNi43YzMuMy0xLjEgNS41LTQuMSA1LjUtNy42cy0yLjItNi41LTUuNS03LjZsLTIwLjItNi43LTYuNy0yMC4yek0zMiA0NDhsNDQ4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyeiJdfSxkbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1kb2N0b3IiLGljb246WzQ0OCw1MTIsWyJ1c2VyLW1kIl0sImYwZjAiLCJNMjI0IDhhMTIwIDEyMCAwIDEgMCAwIDI0MCAxMjAgMTIwIDAgMSAwIDAtMjQwem02MCAzMTIuOGMtNS40LS41LTExLS44LTE2LjYtLjhsLTg2LjkgMGMtNS42IDAtMTEuMSAuMy0xNi42IC44bDAgNjcuNWMxNi41IDcuNiAyOCAyNC4zIDI4IDQzLjYgMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhjMC0xOS40IDExLjUtMzYuMSAyOC00My42bDAtNTguNEM2MSAzNTMgMTYgNDEzLjYgMTYgNDg0LjYgMTYgNDk5LjcgMjguMyA1MTIgNDMuNCA1MTJsMzYxLjEgMGMxNS4xIDAgMjcuNC0xMi4zIDI3LjQtMjcuNCAwLTcxLTQ1LTEzMS41LTEwOC0xNTQuNmwwIDM3LjRjMjMuMyA4LjIgNDAgMzAuNSA0MCA1Ni42bDAgMzJjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtMzJjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwbDAgMzJjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtMzJjMC0yNi4xIDE2LjctNDguMyA0MC01Ni42bDAtNDYuNnoiXX0sS1Z0PWRtZSx1bWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhcnQtYmFyIixpY29uOls1MTIsNTEyLFsiYmFyLWNoYXJ0Il0sImYwODAiLCJNMzIgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMzZjMCA4LjggNy4yIDE2IDE2IDE2bDQwMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDgwIDQ4MGMtNDQuMiAwLTgwLTM1LjgtODAtODBMMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMnptOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnptMzIgODBsMTI4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEyOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDExMmwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LFpWdD11bWUscG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNwcmF5LWNhbi1zcGFya2xlcyIsaWNvbjpbNTc2LDUxMixbImFpci1mcmVzaGVuZXIiXSwiZjVkMCIsIk0xNjAgMzJsMCA4MCAxMjggMCAwLTgwYzAtMTcuNy0xNC4zLTMyLTMyLTMyTDE5MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnptMCAxMjhjLTUzIDAtOTYgNDMtOTYgOTZsMCAyMDhjMCAyNi41IDIxLjUgNDggNDggNDhsMjI0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMDhjMC01My00My05Ni05Ni05NmwtMTI4IDB6bTY0IDk2YTgwIDgwIDAgMSAxIDAgMTYwIDgwIDgwIDAgMSAxIDAtMTYwek00NDggNDhjMC0xLjQtMS0zLTIuMi0zLjZMNDE2IDMyIDQwMy42IDIuMkM0MDMgMSA0MDEuNCAwIDQwMCAwcy0zIDEtMy42IDIuMkwzODQgMzIgMzU0LjIgNDQuNGMtMS4yIC42LTIuMiAyLjItMi4yIDMuNiAwIDEuNCAxIDMgMi4yIDMuNkwzODQgNjQgMzk2LjQgOTMuOEMzOTcgOTUgMzk4LjYgOTYgNDAwIDk2czMtMSAzLjYtMi4yTDQxNiA2NCA0NDUuOCA1MS42QzQ0NyA1MSA0NDggNDkuNCA0NDggNDh6bTc2LjQgNDUuOEM1MjUgOTUgNTI2LjYgOTYgNTI4IDk2czMtMSAzLjYtMi4yTDU0NCA2NCA1NzMuOCA1MS42YzEuMi0uNiAyLjItMi4yIDIuMi0zLjYgMC0xLjQtMS0zLTIuMi0zLjZMNTQ0IDMyIDUzMS42IDIuMkM1MzEgMSA1MjkuNCAwIDUyOCAwcy0zIDEtMy42IDIuMkw1MTIgMzIgNDgyLjIgNDQuNGMtMS4yIC42LTIuMiAyLjItMi4yIDMuNiAwIDEuNCAxIDMgMi4yIDMuNkw1MTIgNjQgNTI0LjQgOTMuOHptNy4yIDEwMC40Yy0uNi0xLjItMi4yLTIuMi0zLjYtMi4ycy0zIDEtMy42IDIuMkw1MTIgMjI0IDQ4Mi4yIDIzNi40Yy0xLjIgLjYtMi4yIDIuMi0yLjIgMy42IDAgMS40IDEgMyAyLjIgMy42TDUxMiAyNTYgNTI0LjQgMjg1LjhjLjYgMS4yIDIuMiAyLjIgMy42IDIuMnMzLTEgMy42LTIuMkw1NDQgMjU2IDU3My44IDI0My42YzEuMi0uNiAyLjItMi4yIDIuMi0zLjYgMC0xLjQtMS0zLTIuMi0zLjZMNTQ0IDIyNCA1MzEuNiAxOTQuMnpNNTEyIDE0NGMwLTEuNC0xLTMtMi4yLTMuNkw0ODAgMTI4IDQ2Ny42IDk4LjJDNDY3IDk3IDQ2NS40IDk2IDQ2NCA5NnMtMyAxLTMuNiAyLjJMNDQ4IDEyOCA0MTguMiAxNDAuNGMtMS4yIC42LTIuMiAyLjItMi4yIDMuNiAwIDEuNCAxIDMgMi4yIDMuNkw0NDggMTYwIDQ2MC40IDE4OS44Yy42IDEuMiAyLjIgMi4yIDMuNiAyLjJzMy0xIDMuNi0yLjJMNDgwIDE2MCA1MDkuOCAxNDcuNmMxLjItLjYgMi4yLTIuMiAyLjItMy42eiJdfSxYVnQ9cG1lLFFWdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWh0LXNpZ24iLGljb246WzMyMCw1MTIsW10sImUwYWMiLCJNMTM2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDAtNzQuNCAwQzE2LjggNjQgMCA4MC44IDAgMTAxLjZMMCA0MDYuM2MwIDIzIDE4LjcgNDEuNyA0MS43IDQxLjdsNzAuMyAwIDAgNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwIDQ4IDBjNjEuOSAwIDExMi01MC4xIDExMi0xMTIgMC00MC4xLTIxLjEtNzUuMy01Mi43LTk1LjEgMTMuMS0xOC4zIDIwLjctNDAuNyAyMC43LTY0LjkgMC02MS45LTUwLjEtMTEyLTExMi0xMTJsLTE2IDAgMC00MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHpNMTEyIDEyOGwwIDk2LTQ4IDAgMC05NiA0OCAwem00OCA5NmwwLTk2IDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhsLTE2IDB6bS00OCA2NGwwIDk2LTQ4IDAgMC05NiA0OCAwem00OCA5NmwwLTk2IDQ4IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhzLTIxLjUgNDgtNDggNDhsLTQ4IDB6Il19LGZtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZW1wZXJhdHVyZS1hcnJvdy11cCIsaWNvbjpbNTEyLDUxMixbInRlbXBlcmF0dXJlLXVwIl0sImUwNDAiLCJNNjQuNSA5NmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgMTY0LjdjMjkuNSAyNi40IDQ4IDY0LjcgNDggMTA3LjMgMCA3OS41LTY0LjUgMTQ0LTE0NCAxNDRzLTE0NC02NC41LTE0NC0xNDRjMC00Mi42IDE4LjUtODEgNDgtMTA3LjNMNjQuNSA5NnptOTYgMzM2YzM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMjYuOS0xNi41LTQ5LjktNDAtNTkuM2wwLTIxMi43YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjEyLjdjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuMyAwIDM1LjMgMjguNyA2NCA2NCA2NHpNNDM5LjEgOS40bDY0IDY0YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwbC05LjQtOS40IDAgMTc4LjdjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNzguNy05LjQgOS40Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2w2NC02NGM2LTYgMTQuMS05LjQgMjIuNi05LjRzMTYuNiAzLjQgMjIuNiA5LjR6Il19LEpWdD1mbWUsZWp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndlYi1hd2Vzb21lIixpY29uOls2NDAsNTEyLFtdLCJlNjgyIiwiTTM3Mi4yIDUyYzAgMjAuOS0xMi40IDM5LTMwLjIgNDcuMkw0NDggMTkyIDU1Mi40IDE3MS4xYy01LjMtNy43LTguNC0xNy4xLTguNC0yNy4xIDAtMjYuNSAyMS41LTQ4IDQ4LTQ4czQ4IDIxLjUgNDggNDhjMCAyNi0yMC42IDQ3LjEtNDYuNCA0OEw0ODEgNDQyLjNjLTEwLjMgMjMtMzMuMiAzNy43LTU4LjQgMzcuN2wtMjA1LjIgMGMtMjUuMiAwLTQ4LTE0LjgtNTguNC0zNy43TDQ2LjQgMTkyQzIwLjYgMTkxLjEgMCAxNzAgMCAxNDQgMCAxMTcuNSAyMS41IDk2IDQ4IDk2czQ4IDIxLjUgNDggNDhjMCAxMC4xLTMuMSAxOS40LTguNCAyNy4xTDE5MiAxOTIgMjk4LjEgOTkuMWMtMTcuNy04LjMtMzAtMjYuMy0zMC00Ny4xIDAtMjguNyAyMy4zLTUyIDUyLTUyczUyIDIzLjMgNTIgNTJ6Il19LHRqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJub24tYmluYXJ5IixpY29uOlszODQsNTEyLFtdLCJlODA3IiwiTTE5MiA1NDRjLTk3LjIgMC0xNzYtNzguOC0xNzYtMTc2IDAtODYuMyA2Mi4xLTE1OCAxNDQtMTczbDAtNDcuMi00OS43IDI0LjgtMyAxLjNjLTE1LjIgNS43LTMyLjUtLjgtMzkuOS0xNS43LTcuNC0xNC44LTIuMi0zMi42IDExLjUtNDEuM2wyLjgtMS42IDM4LjgtMTkuNC0zOC44LTE5LjRjLTE1LjgtNy45LTIyLjItMjcuMS0xNC4zLTQyLjkgNy40LTE0LjggMjQuOC0yMS40IDQwLTE1LjZsMyAxLjMgNDkuNyAyNC44IDAtNDQuMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDQuMiA0OS43LTI0LjggMy0xLjNjMTUuMi01LjggMzIuNSAuOCAzOS45IDE1LjZzMi4yIDMyLjctMTEuNSA0MS4zbC0yLjggMS42LTM4LjcgMTkuNCAzOC43IDE5LjNjMTUuOCA3LjkgMjIuMiAyNy4xIDE0LjMgNDIuOS03LjQgMTQuOC0yNC43IDIxLjQtMzkuOSAxNS42bC0zLTEuMy00OS43LTI0LjggMCA0Ny4yYzgxLjkgMTUuMSAxNDQgODYuOCAxNDQgMTczIDAgOTcuMi03OC44IDE3Ni0xNzYgMTc2em0wLTY0YTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHoiXX0sYWp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im4iLGljb246WzM4NCw1MTIsWzExMF0sIjRlIiwiTTIxLjEgMzMuOWMxMi43LTQuNiAyNi45LS43IDM1LjUgOS42TDMyMCAzNTkuNiAzMjAgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDM4NGMwIDEzLjUtOC40IDI1LjUtMjEuMSAzMC4xcy0yNi45IC43LTM1LjUtOS42TDY0IDE1Mi40IDY0IDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ2NS43IDAgNDQ4TDAgNjRDMCA1MC41IDguNCAzOC41IDIxLjEgMzMuOXoiXX0saG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93cy11cC1kb3duLWxlZnQtcmlnaHQiLGljb246WzUxMiw1MTIsWyJhcnJvd3MiXSwiZjA0NyIsIk0yNzguNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw5LjQtOS40IDAgMTE0LjctMTE0LjcgMCA5LjQtOS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOS40LTkuNCAxMTQuNyAwIDAgMTE0LjctOS40LTkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTkuNCA5LjQgMC0xMTQuNyAxMTQuNyAwLTkuNCA5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNjQtNjRjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5LjQgOS40LTExNC43IDAgMC0xMTQuNyA5LjQgOS40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTY0LTY0eiJdfSxyanQ9aG1lLFdiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlIixpY29uOls1MTIsNTEyLFsxMjc5NjgsNjM0OTgsNjM1MDAsImhvbWUiLCJob21lLWFsdCIsImhvbWUtbGctYWx0Il0sImYwMTUiLCJNMjc3LjggOC42Yy0xMi4zLTExLjQtMzEuMy0xMS40LTQzLjUgMGwtMjI0IDIwOGMtOS42IDktMTIuOCAyMi45LTggMzUuMVMxOC44IDI3MiAzMiAyNzJsMTYgMCAwIDE3NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyODggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE3NiAxNiAwYzEzLjIgMCAyNS04LjEgMjkuOC0yMC4zczEuNi0yNi4yLTgtMzUuMWwtMjI0LTIwOHpNMjQwIDMyMGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTYtMTI4IDAgMC05NmMwLTI2LjUgMjEuNS00OCA0OC00OHoiXX0sc2p0PVdiLGlqdD1XYixvanQ9V2Isbmp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNwaW5uZXIiLGljb246WzUxMiw1MTIsW10sImYxMTAiLCJNMjA4IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTAgNDE2YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTQ4IDIwOGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6bTM2OCA0OGE0OCA0OCAwIDEgMSA5NiAwIDQ4IDQ4IDAgMSAxIC05NiAwek03NSAzNjkuMUE0OCA0OCAwIDEgMSAxNDIuOSA0MzcgNDggNDggMCAxIDEgNzUgMzY5LjF6TTc1IDc1QTQ4IDQ4IDAgMSAxIDE0Mi45IDE0Mi45IDQ4IDQ4IDAgMSAxIDc1IDc1ek00MzcgMzY5LjFBNDggNDggMCAxIDEgMzY5LjEgNDM3IDQ4IDQ4IDAgMSAxIDQzNyAzNjkuMXoiXX0sbW1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdhdmVsIixpY29uOls1NzYsNTEyLFsibGVnYWwiXSwiZjBlMyIsIk0xNjkuNiAxNTMuNGwtMTguNy0xOC43Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM0wyNjUuNi0yNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwTDMyOS42LTYuNmMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM0wyMTQuOSAxNTMuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDB6TTI3NiAyMTEuN2wtMzEuNC0zMS40IDExMi0xMTIgMTE5LjQgMTE5LjQtMTEyIDExMi0zMS40LTMxLjQtMjMyIDIzMmMtMTUuNiAxNS42LTQwLjkgMTUuNi01Ni42IDBzLTE1LjYtNDAuOSAwLTU2LjZsMjMyLTIzMnpNMzkwLjkgMzc0LjZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zTDUwNS42IDIxNC42YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDE4LjcgMTguN2MxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM0w0NTQuOSAzOTMuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTE4LjctMTguN3oiXX0sbGp0PW1tZSxnbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGlja2V0LXNpbXBsZSIsaWNvbjpbNTc2LDUxMixbInRpY2tldC1hbHQiXSwiZjNmZiIsIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGw0NDggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgOC44LTcuNCAxNS43LTE1LjcgMTguNi0xOC44IDYuNS0zMi4zIDI0LjQtMzIuMyA0NS40czEzLjUgMzguOSAzMi4zIDQ1LjRjOC4zIDIuOSAxNS43IDkuOCAxNS43IDE4LjZsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtNjRDMCAzMTEuMiA3LjQgMzA0LjMgMTUuNyAzMDEuNCAzNC41IDI5NC45IDQ4IDI3NyA0OCAyNTZzLTEzLjUtMzguOS0zMi4zLTQ1LjRDNy40IDIwNy43IDAgMjAwLjggMCAxOTJsMC02NHoiXX0sY2p0PWdtZSxkanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG92ZSIsaWNvbjpbNTEyLDUxMixbMTI4MzMwXSwiZjRiYSIsIk00OTYgNjRjMTMuMiAwIDIwLjcgMTUuMSAxMi44IDI1LjZMNDgwIDEyOCA0ODAgMzA0YzAgNzkuNS02NC41IDE0NC0xNDQgMTQ0bC0xMTIgMC00Ni4zIDQ2LjNjLTEwLjQgMTAuNC0yNi41IDEyLjQtMzkuMSA0LjhMNDEuNSA0NDAuOWMtMTctMTAuMi0xNS0zNS41IDMuNC00Mi45TDE2MCAzNTJDMjMuOCAzMTEuMSA3LjUgMTY5LjggMjIgOTUuNyAyNS42IDc3LjkgNDUuMyA3MS40IDYxLjMgODAuMkwzMjAgMjI0IDMyMCAxNDRjMC00NC4yIDM1LjgtODAgODAtODBsOTYgMHptLTk2IDU2YTI0IDI0IDAgMSAwIDAgNDggMjQgMjQgMCAxIDAgMC00OHpNMTgyLjUtOS42YzEyLjQtMTMuNyAzMy4zLTguOSA0Mi41IDcuMWw1Ni40IDk4LjNjLTUuOCAxNC40LTkuMiAzMC4xLTkuNCA0Ni41TDEzOC4xIDY4YzEwLjEtMzEuNiAyNy01OC40IDQ0LjQtNzcuNnoiXX0sdWp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhcnAtZHJvcGxldCIsaWNvbjpbNTEyLDUxMixbXSwiZTU3YyIsIk0yNTYgMTYwYzM1LjMgMCA2NC0yNi45IDY0LTYwIDAtMjQtMzMuNy03MC4xLTUyLjItOTMuNS02LjEtNy43LTE3LjUtNy43LTIzLjYgMC0xOC41IDIzLjQtNTIuMiA2OS41LTUyLjIgOTMuNSAwIDMzLjEgMjguNyA2MCA2NCA2MHpNMzY4IDk2YzAgNjEuOS01MC4xIDExMi0xMTIgMTEyUzE0NCAxNTcuOSAxNDQgOTZjMC0xMS4xIDEuNi0yMS45IDQuNi0zMkw2NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNzcuNSAwYzE3IDAgMzMuMy02LjcgNDUuMy0xOC43TDQ5My4zIDMyMi43YzEyLTEyIDE4LjctMjguMyAxOC43LTQ1LjNMNTEyIDEyOGMwLTM1LjMtMjguNy02NC02NC02NGwtODQuNiAwYzMgMTAuMSA0LjYgMjAuOSA0LjYgMzJ6bTg1LjUgMTc2TDMzNiAzODkuNSAzMzYgMjk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDkzLjUgMHpNOTYgMTI4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0scGp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyZWUtY2l0eSIsaWNvbjpbNjQwLDUxMixbXSwiZTU4NyIsIk0yODggNDhjMC0yNi41IDIxLjUtNDggNDgtNDhsOTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQ4IDQ4IDAgMC03MmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNzIgMTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDMyMGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMjU2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtNDE2em02NCA2NGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNiA4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek0zNTIgMzA0bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTUyOCAxOTJjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNNTEyIDMwNGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek05NiA0ODBsMC0xNjAtMTYgMGMtNDQuMiAwLTgwLTM1LjgtODAtODAgMC0yNi43IDEzLjEtNTAuMyAzMy4yLTY0LjktLjgtNC45LTEuMi0xMC0xLjItMTUuMSAwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgOTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJ6Il19LGJtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0dXJuLXVwIixpY29uOlszODQsNTEyLFsxMDU0OCwibGV2ZWwtdXAtYWx0Il0sImYzYmYiLCJNMTY5LjQgOS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwbDEyOCAxMjhjOS4yIDkuMiAxMS45IDIyLjkgNi45IDM0LjlTMzMyLjkgMTkyIDMyMCAxOTJsLTY0IDAgMCAxNjBjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE2MC02NCAwYy0xMi45IDAtMjQuNi03LjgtMjkuNi0xOS44cy0yLjItMjUuNyA2LjktMzQuOWwxMjgtMTI4eiJdfSxmanQ9Ym1lLEdiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbXBlcmF0dXJlLXF1YXJ0ZXIiLGljb246WzMyMCw1MTIsWyJ0ZW1wZXJhdHVyZS0xIiwidGhlcm1vbWV0ZXItMSIsInRoZXJtb21ldGVyLXF1YXJ0ZXIiXSwiZjJjYSIsIk0xNjAgMEMxMDcgMCA2NCA0MyA2NCA5NmwwIDE2NC43QzM0LjUgMjg3IDE2IDMyNS40IDE2IDM2OCAxNiA0NDcuNSA4MC41IDUxMiAxNjAgNTEyczE0NC02NC41IDE0NC0xNDRjMC00Mi42LTE4LjUtODEtNDgtMTA3LjNMMjU2IDk2YzAtNTMtNDMtOTYtOTYtOTZ6bTY0IDM2OGMwIDM1LjMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGMwLTI2LjkgMTYuNS00OS45IDQwLTU5LjNsMC0yOC43YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAyOC43YzIzLjUgOS41IDQwIDMyLjUgNDAgNTkuM3oiXX0saGp0PUdiLG1qdD1HYixnanQ9R2Isdm1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNsaWRlcnMiLGljb246WzUxMiw1MTIsWyJzbGlkZXJzLWgiXSwiZjFkZSIsIk0zMiA2NEMxNC4zIDY0IDAgNzguMyAwIDk2czE0LjMgMzIgMzIgMzJsODYuNyAwYzEyLjMgMjguMyA0MC41IDQ4IDczLjMgNDhzNjEtMTkuNyA3My4zLTQ4TDQ4MCAxMjhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMjY1LjMgNjRDMjUzIDM1LjcgMjI0LjggMTYgMTkyIDE2cy02MSAxOS43LTczLjMgNDhMMzIgNjR6bTAgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI0Ni43IDBjMTIuMyAyOC4zIDQwLjUgNDggNzMuMyA0OHM2MS0xOS43IDczLjMtNDhsNTQuNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC01NC43IDBjLTEyLjMtMjguMy00MC41LTQ4LTczLjMtNDhzLTYxIDE5LjctNzMuMyA0OEwzMiAyMjR6bTAgMTYwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDU0LjcgMGMxMi4zIDI4LjMgNDAuNSA0OCA3My4zIDQ4czYxLTE5LjcgNzMuMy00OEw0ODAgNDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0yNDYuNyAwYy0xMi4zLTI4LjMtNDAuNS00OC03My4zLTQ4cy02MSAxOS43LTczLjMgNDhMMzIgMzg0eiJdfSxianQ9dm1lLHZqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb3NxdWUiLGljb246WzU3Niw1MTIsWzEyODMzMl0sImY2NzgiLCJNMTc0LjggMjI0bDIyNi40IDBjNDMuNSAwIDc4LjgtMzUuMyA3OC44LTc4LjggMC0yNS41LTEyLjMtNDkuNC0zMy4xLTY0LjJMMjk3LjMtMjUuNGMtNS42LTMuOS0xMy0zLjktMTguNSAwTDEyOS4xIDgxQzEwOC4zIDk1LjggOTYgMTE5LjcgOTYgMTQ1LjIgOTYgMTg4LjcgMTMxLjMgMjI0IDE3NC44IDIyNHpNNTEyIDUxMmMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ4LTQ0OCAwIDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJTMCAyMDYuMyAwIDIyNEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGw0NDggMHpNMjQwIDM4NGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgODAtOTYgMCAwLTgweiJdfSx4anQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaCIsaWNvbjpbMzg0LDUxMixbMTA0XSwiNDgiLCJNMzIwIDI4OGwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzg0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTYwLTI1NiAwIDAtMTYwYzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjAgMjU2IDB6Il19LHlqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpbmZvIixpY29uOlsxOTIsNTEyLFtdLCJmMTI5IiwiTTQ4IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTAgMTkyYzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAyNTYgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTIyNC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnoiXX0seG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi13YWxraW5nIixpY29uOlszODQsNTEyLFsxMjg2OTQsIndhbGtpbmciXSwiZjU1NCIsIk0xOTIgODBhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTEwNS40IDIyNy45bDIyLjYtMjIuNiAwIDY5LjNjMCAyOCAxMi4yIDU0LjcgMzMuNSA3Mi45bDcxLjQgNjEuMmM1LjkgNS4xIDkuOCAxMi4xIDEwLjkgMTkuOGwxMi42IDg4LjFjMi41IDE3LjUgMTguNyAyOS43IDM2LjIgMjcuMnMyOS43LTE4LjcgMjcuMi0zNi4ybC0xMi42LTg4LjFjLTMuMy0yMy4xLTE0LjktNDQuMS0zMi42LTU5LjNsLTM0LjUtMjkuNiAwLTExNS4yIDMuOCA0LjdjMTguMiAyMi44IDQ1LjggMzYgNzUgMzZsMzMuMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMy4yIDBjLTkuNyAwLTE4LjktNC40LTI1LTEybC0xNy45LTIyLjRjLTIzLTI4LjgtNTcuOS00NS42LTk0LjgtNDUuNi0zMi4yIDAtNjMuMSAxMi44LTg1LjggMzUuNkw2MC4xIDE4Mi42QzQyLjEgMjAwLjYgMzIgMjI1IDMyIDI1MC41TDMyIDI4OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzcuNWMwLTguNSAzLjQtMTYuNiA5LjQtMjIuNnptMTIuNCAxNzkuNGMtMS41IDUuMi00LjMgMTAtOC4xIDEzLjhMNDEuNCA0ODkuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGw2OC4zLTY4LjNjMTEuNS0xMS41IDE5LjktMjUuOCAyNC40LTQxLjVsMi4yLTcuNi00Ni0zOS40Yy0yLjUtMi4yLTUtNC40LTcuNC02LjhsLTEwLjQgMzYuMnoiXX0sd2p0PXhtZSx5bWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdHVybi1kb3duIixpY29uOlszODQsNTEyLFsibGV2ZWwtZG93biJdLCJmMTQ5IiwiTTMyIDY0QzE0LjMgNjQgMCA0OS43IDAgMzJTMTQuMyAwIDMyIDBsOTYgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMzA2LjcgNzMuNC03My40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTEyOCAxMjhjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC0xMjgtMTI4Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDE2MCA0MDIuNyAxNjAgOTZjMC0xNy43LTE0LjMtMzItMzItMzJMMzIgNjR6Il19LE1qdD15bWUsa2p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvYWQiLGljb246WzUxMiw1MTIsWzEyODczOV0sImYwMTgiLCJNMjIzLjkgMzJsLTc2LjIgMGMtMjkuNCAwLTU1LjEgMjAuMS02Mi4xIDQ4LjZMMS40IDQyMC41Qy02LjEgNDUwLjcgMTYuOCA0ODAgNDggNDgwbDE3NS45IDAgMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNjQgMTc2LjEgMGMzMS4yIDAgNTQuMS0yOS4zIDQ2LjYtNTkuNUw0MjYuNSA4MC42QzQxOS40IDUyLjEgMzkzLjggMzIgMzY0LjMgMzJsLTc2LjQgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6bTY0IDE5MmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnoiXX0sU2p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNwaXJhbCIsaWNvbjpbNTEyLDUxMixbXSwiZTgwYSIsIk0xMTUuNSA3LjRjMTMuNi0xMS4zIDMzLjgtOS41IDQ1LjEgNC4xczkuNSAzMy44LTQuMSA0NS4xQzEwMC4yIDEwMy41IDY0IDE3NS4yIDY0IDI1NiA2NCAzNjIgMTUwIDQ0OCAyNTYgNDQ4czE5Mi04NiAxOTItMTkyYzAtNzUuMS02MC45LTEzNi0xMzYtMTM2UzE3NiAxODAuOSAxNzYgMjU2YzAgNDQuMiAzNS44IDgwIDgwIDgwczgwLTM1LjggODAtODBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJjMC00OC42IDM5LjQtODggODgtODhzODggMzkuNCA4OCA4OGMwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NFMxMTIgMzM1LjUgMTEyIDI1NmMwLTExMC41IDg5LjUtMjAwIDIwMC0yMDBzMjAwIDg5LjUgMjAwIDIwMGMwIDE0MS40LTExNC42IDI1Ni0yNTYgMjU2UzAgMzk3LjQgMCAyNTZDMCAxNTUuOCA0NSA2Ni4xIDExNS41IDcuNHoiXX0sd21lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZnJvd24iLGljb246WzUxMiw1MTIsWzk3ODUsImZyb3duIl0sImYxMTkiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTkwLjYtMTEzLjljLTIwLjQtMjgtNTMuNC00Ni4xLTkwLjYtNDYuMXMtNzAuMiAxOC4xLTkwLjYgNDYuMWMtNy44IDEwLjctMjIuOCAxMy4xLTMzLjUgNS4zcy0xMy4xLTIyLjgtNS4zLTMzLjVDMTU1LjcgMzMwIDIwMi44IDMwNCAyNTYgMzA0czEwMC4zIDI2IDEyOS40IDY1LjljNy44IDEwLjcgNS40IDI1LjctNS4zIDMzLjVzLTI1LjcgNS40LTMzLjUtNS4zek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LHpqdD13bWUsTW1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndpbmUtZ2xhc3MtZW1wdHkiLGljb246WzMyMCw1MTIsWyJ3aW5lLWdsYXNzLWFsdCJdLCJmNWNlIiwiTTY0IDBDNDguNyAwIDM1LjYgMTAuOCAzMi42IDI1LjdMMy4yIDE3M0MxLjEgMTgzLjUgMCAxOTQuMiAwIDIwNWwwIDNjMCA3Ny40IDU1IDE0MiAxMjggMTU2LjhsMCAxMTUuMi02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAtMTE1LjJDMjY1IDM1MCAzMjAgMjg1LjQgMzIwIDIwOGwwLTNjMC0xMC43LTEuMS0yMS40LTMuMi0zMkwyODcuNCAyNS43QzI4NC40IDEwLjggMjcxLjMgMCAyNTYgMEw2NCAwem0xLjkgMTg1LjZMOTAuMiA2NCAyMjkuOCA2NCAyNTQuMSAxODUuNmMxLjMgNi40IDEuOSAxMi45IDEuOSAxOS40bDAgM2MwIDUzLTQzIDk2LTk2IDk2cy05Ni00My05Ni05NmwwLTNjMC02LjUgLjYtMTMgMS45LTE5LjR6Il19LENqdD1NbWUsX2p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsYXBwZXJib2FyZCIsaWNvbjpbNTEyLDUxMixbXSwiZTEzMSIsIk00NDggNjRjMiAwIDMuOSAuMSA1LjggLjNsLTk1LjcgOTUuNyA2Ny45IDAgNzItNzJjOC44IDExIDE0IDI0LjkgMTQgNDBsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGw3MC4xIDAtOTYgOTYgNjcuOSAwIDk1LTk1IDEtMSA5Mi4xIDAtOTYgOTYgNjcuOSAwIDk1LTk1IDEtMSA4Ni4xIDB6Il19LGttZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb3J3YXJkLXN0ZXAiLGljb246WzM4NCw1MTIsWyJzdGVwLWZvcndhcmQiXSwiZjA1MSIsIk0yMSAzNi44YzEyLjktNyAyOC43LTYuMyA0MSAxLjhMMzIwIDIwOC4xIDMyMCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzg0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTQ0LjEtMjU4IDE2OS42Yy0xMi4zIDguMS0yOCA4LjgtNDEgMS44UzAgNDU0LjcgMCA0NDBMMCA3MkMwIDU3LjMgOC4xIDQzLjggMjEgMzYuOHoiXX0sVGp0PWttZSxTbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXVwLXJpZ2h0IixpY29uOls0NDgsNTEyLFs4NTk5LCJleHRlcm5hbC1saW5rLXNxdWFyZS1hbHQiXSwiZjM2MCIsIk0zODQgMzJjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDMyMCAwek0xNjggMTYwYy05LjcgMC0xOC41IDUuOC0yMi4yIDE0LjhzLTEuNyAxOS4zIDUuMiAyNi4ybDM1IDM1LTY3IDY3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWwyNCAyNGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw2Ny02NyAzNSAzNWM2LjkgNi45IDE3LjIgOC45IDI2LjIgNS4yUzMyMCAzMjEuNyAzMjAgMzEybDAtMTI4YzAtMTMuMy0xMC43LTI0LTI0LTI0bC0xMjggMHoiXX0sTGp0PVNtZSx6bWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9vay1qb3VybmFsLXdoaWxscyIsaWNvbjpbNDQ4LDUxMixbImpvdXJuYWwtd2hpbGxzIl0sImY2NmEiLCJNOTYgNTEybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtNjYuN2MxOC42LTYuNiAzMi0yNC40IDMyLTQ1LjNsMC0yODhjMC0yNi41LTIxLjUtNDgtNDgtNDhMOTYgMEM0MyAwIDAgNDMgMCA5NkwwIDQxNmMwIDUzIDQzIDk2IDk2IDk2ek02NCA0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMjU2IDAgMCA2NC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTI3NC4xIDk5LjJjMi42LTIuNiA2LjctMy4xIDkuOS0xLjEgMzIuMSAyMCA1My40IDU1LjYgNTMuNCA5Ni4yIDAgNjIuNi01MC43IDExMy4zLTExMy4zIDExMy4zUzExMC43IDI1Ni45IDExMC43IDE5NC4zYzAtNDAuNiAyMS40LTc2LjIgNTMuNC05Ni4yIDMuMS0yIDcuMi0xLjUgOS45IDEuMXMzLjEgNi43IDEuMiA5LjhjLTUuMiA4LjYtOC4yIDE4LjctOC4yIDI5LjUgMCAxNS4xIDUuOSAyOC44IDE1LjUgMzkuMSAyLjUgMi43IDIuOSA2LjcgLjkgOS43LTQuNyA3LjQtNy40IDE2LjEtNy40IDI1LjUgMCAyMS42IDE0LjMgMzkuOSAzNCA0NS45bDEtMjQuOGMtNy4xLTQuNC0xMS44LTEyLjItMTEuOC0yMS4xIDAtOS42IDUuNS0xOCAxMy41LTIyLjFsMy4zLTgxLjhjLjItNC4zIDMuNy03LjcgOC03LjdzNy44IDMuNCA4IDcuN2wzLjMgODEuOGM4IDQuMSAxMy41IDEyLjQgMTMuNSAyMi4xIDAgOC45LTQuNyAxNi43LTExLjggMjEuMWwxIDI0LjhjMTkuNi02IDMzLjktMjQuMSAzNC00NS42bDAtLjZjLS4xLTkuMy0yLjctMTcuOS03LjQtMjUuMi0xLjktMy4xLTEuNi03LjEgLjktOS43IDkuNi0xMC4yIDE1LjUtMjMuOSAxNS41LTM5LjEgMC0xMC44LTMtMjAuOS04LjItMjkuNS0xLjktMy4yLTEuNC03LjIgMS4yLTkuOHoiXX0sJGp0PXptZSxDbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhbXBhZ25lLWdsYXNzZXMiLGljb246WzY0MCw1MTIsWzEyOTM0NiwiZ2xhc3MtY2hlZXJzIl0sImY3OWYiLCJNMTU1LjYgMTcuM0MxNjMgMyAxNzkuOS0zLjYgMTk1IDEuOWwxMjUgNDUuNiAxMjUtNDUuNmMxNS4xLTUuNSAzMiAxLjEgMzkuNCAxNS40bDc4LjggMTUyLjljMjguOCA1NS44IDEwLjMgMTIyLjMtMzguNSAxNTYuNmwzMS4zIDg2LjIgNDEtMTVjMTYuNi02IDM1IDIuNSA0MSAxOS4xcy0yLjUgMzUtMTkuMSA0MWMtNDcuNCAxNy4zLTk0LjggMzQuNS0xNDIuMiA1MS44LTE2LjYgNi4xLTM1LTIuNS00MS0xOS4xczIuNS0zNSAxOS4xLTQxbDQxLTE1LTMxLjMtODYuMmMtNTkuNCA1LjItMTE2LjItMzMuOS0xMzAtOTUuMmwtMTQuNi02NC43LTE0LjYgNjQuN2MtMTMuOCA2MS4zLTcwLjYgMTAwLjQtMTMwIDk1LjJsLTMxLjMgODYuMiA0MSAxNWMxNi42IDYuMSAyNS4yIDI0LjQgMTkuMSA0MXMtMjQuNCAyNS4yLTQxIDE5LjFjLTQ3LjQtMTcuMy05NC44LTM0LjYtMTQyLjItNTEuOC0xNi42LTYuMS0yNS4yLTI0LjQtMTkuMS00MVMyNi4zIDM5MiA0Mi45IDM5OGw0MSAxNSAzMS4zLTg2LjJDNjYuNSAyOTIuNSA0OC4xIDIyNiA3Ni45IDE3MC4yTDE1NS42IDE3LjN6bTQ0IDU0LjRsLTI3LjIgNTIuOCA4OS4yIDMyLjUgMTMuMS01Ny45LTc1LjEtMjcuNHptMjQwLjkgMGwtNzUuMSAyNy40IDEzLjEgNTcuOSA4OS4yLTMyLjUtMjcuMi01Mi44eiJdfSxEanQ9Q21lLEFqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkdW1wc3RlciIsaWNvbjpbNTc2LDUxMixbXSwiZjc5MyIsIk0xMzIuMyA2NEwxMDYuNyAxOTIgMjQgMTkyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQuMWMwLTIuNiAuNC01LjEgMS4yLTcuNkwyNi41IDgwLjRDMjkuOCA3MC42IDM5IDY0IDQ5LjMgNjRsODMgMHptMjMuNCAxMjhsMjUuNi0xMjggODIuNyAwIDAgMTI4LTEwOC4zIDB6TTMxMiA2NGw4Mi43IDAgMjUuNiAxMjgtMTA4LjMgMCAwLTEyOHptMTMxLjcgMGw4MyAwYzEwLjMgMCAxOS41IDYuNiAyMi44IDE2LjRsMjUuMyA3NS45Yy44IDIuNCAxLjIgNSAxLjIgNy42bDAgNC4xYzAgMTMuMy0xMC43IDI0LTI0IDI0bC04Mi43IDAtMjUuNi0xMjh6TTI1LjcgMjQwbDUyNC43IDBjLS40IDIuMS0xMy4zIDczLjQtMzguOSAyMTMuNy0zIDE2LjMtMTcuOSAyNy42LTM0LjQgMjYuMVM0NDggNDY0LjYgNDQ4IDQ0OGwwLTE2LTMyMCAwIDAgMTZjMCAxNi42LTEyLjYgMzAuNC0yOS4xIDMxLjlTNjcuNSA0NzAgNjQuNSA0NTMuN0MzOSAzMTMuMyAyNiAyNDIuMSAyNS43IDI0MHoiXX0sRWp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYXJ0LWNpcmNsZS14bWFyayIsaWNvbjpbNTc2LDUxMixbXSwiZTUwMSIsIk0yNDEgODcuMWwxNSAyMC43IDE1LTIwLjdDMjk2IDUyLjUgMzM2LjIgMzIgMzc4LjkgMzIgNDUyLjQgMzIgNTEyIDkxLjYgNTEyIDE2NS4xbDAgMi42YzAgMTcuNi0zLjQgMzUuNi05LjUgNTMuNy0yMS44LTguNi00NS42LTEzLjQtNzAuNS0xMy40LTEwNiAwLTE5MiA4Ni0xOTIgMTkyIDAgMjguNSA2LjIgNTUuNiAxNy40IDgwLS41IDAtLjkgMC0xLjQgMC0xNS41IDAtMzAuOC00LjYtNDMuMS0xNC4xLTczLTU1LjctMjEyLjktMTg2LTIxMi45LTI5OC4ybDAtMi42QzAgOTEuNiA1OS42IDMyIDEzMy4xIDMyIDE3NS44IDMyIDIxNiA1Mi41IDI0MSA4Ny4xek00MzIgMjU2YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptNTkuMyAxMDcuM2M2LjItNi4yIDYuMi0xNi40IDAtMjIuNnMtMTYuNC02LjItMjIuNiAwbC0zNi43IDM2LjctMzYuNy0zNi43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDM2LjcgMzYuNy0zNi43IDM2LjdjLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGwzNi43LTM2LjcgMzYuNyAzNi43YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtMzYuNy0zNi43IDM2LjctMzYuN3oiXX0sUGp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbXB1dGVyIixpY29uOls1NzYsNTEyLFtdLCJlNGU1IiwiTTM0OC44IDMyQzM0MC43IDQ2LjEgMzM2IDYyLjUgMzM2IDgwbDAgMTYtMjcyIDAgMCAyMjQgMjcyIDAgMCA2NC0yNzIgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwyODQuOCAwek0zMzYgNDMyYzAgMTcuNSA0LjcgMzMuOSAxMi44IDQ4TDEyMCA0ODBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjE2IDB6TTQzMiAzMmw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC05NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTM1MmMwLTI2LjUgMjEuNS00OCA0OC00OHptMjQgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMHptMCA5NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwem01NiAxNDRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHoiXX0sX21lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndhbmQtbWFnaWMiLGljb246WzUxMiw1MTIsWyJtYWdpYyJdLCJmMGQwIiwiTTM5OC41IDEyLjJsLTg4LjIgODguMiAxMDEuMyAxMDEuMyA4OC4yLTg4LjJDNTA3LjYgMTA1LjYgNTEyIDk1IDUxMiA4NHMtNC40LTIxLjYtMTIuMi0yOS41TDQ1Ny41IDEyLjJDNDQ5LjYgNC40IDQzOSAwIDQyOCAwcy0yMS42IDQuNC0yOS41IDEyLjJ6TTI3Ni40IDEzNC4zTDEyLjIgMzk4LjVDNC40IDQwNi40IDAgNDE3IDAgNDI4czQuNCAyMS42IDEyLjIgMjkuNWw0Mi4zIDQyLjNDNjIuNCA1MDcuNiA3MyA1MTIgODQgNTEyczIxLjYtNC40IDI5LjUtMTIuMkwzNzcuNyAyMzUuNiAyNzYuNCAxMzQuM3oiXX0sSWp0PV9tZSxOanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJhaW4iLGljb246WzUxMiw1MTIsWzEyOTUwNF0sImY1ZGMiLCJNMTIwIDU2YzAtMzAuOSAyNS4xLTU2IDU2LTU2bDI0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0NDhjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMyIDBjLTI5LjggMC01NC45LTIwLjQtNjItNDgtLjcgMC0xLjMgMC0yIDAtNDQuMiAwLTgwLTM1LjgtODAtODAgMC0xOCA2LTM0LjYgMTYtNDgtMTkuNC0xNC42LTMyLTM3LjgtMzItNjQgMC0zMC45IDE3LjYtNTcuOCA0My4yLTcxLjEtNy4xLTEyLTExLjItMjYtMTEuMi00MC45IDAtNDQuMiAzNS44LTgwIDgwLTgwbDAtMjR6bTI3MiAwbDAgMjRjNDQuMiAwIDgwIDM1LjggODAgODAgMCAxNS00LjEgMjktMTEuMiA0MC45IDI1LjcgMTMuMyA0My4yIDQwLjEgNDMuMiA3MS4xIDAgMjYuMi0xMi42IDQ5LjQtMzIgNjQgMTAgMTMuNCAxNiAzMCAxNiA0OCAwIDQ0LjItMzUuOCA4MC04MCA4MC0uNyAwLTEuMyAwLTIgMC03LjEgMjcuNi0zMi4yIDQ4LTYyIDQ4bC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNCAwYzMwLjkgMCA1NiAyNS4xIDU2IDU2eiJdfSxSanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJpZWZjYXNlLW1lZGljYWwiLGljb246WzUxMiw1MTIsW10sImY0NjkiLCJNMjAwIDQ4bDExMiAwYzQuNCAwIDggMy42IDggOGwwIDQwLTEyOCAwIDAtNDBjMC00LjQgMy42LTggOC04em0tNTYgOGwwIDQwLTgwIDBDMjguNyA5NiAwIDEyNC43IDAgMTYwTDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC04MCAwIDAtNDBjMC0zMC45LTI1LjEtNTYtNTYtNTZMMjAwIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2em04MCAxNjBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgNDAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQwIDAgMCA0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDB6Il19LE9qdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1tZWRpY2FsLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNjQwLDUxMixbXSwiZTUxMiIsIk0zMDkuOCA4LjZjLTEyLjMtMTEuNC0zMS4zLTExLjQtNDMuNSAwbC0yMjQgMjA4Yy05LjYgOS0xMi44IDIyLjktOCAzNS4xUzUwLjggMjcyIDY0IDI3MmwxNiAwIDAgMTc2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5NiAwYy0yMS4yLTI5LjUtMzQuMy02NS4zLTM1LjktMTA0TDI3MiA0MDhjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgMjAgMGMzNC45LTQ4LjUgOTEuNy04MCAxNTYtODAgMTAuNyAwIDIxLjEgLjkgMzEuMyAyLjVMMzA5LjggOC42ek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sRmp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvZGUtY29tbWl0IixpY29uOls1NzYsNTEyLFtdLCJmMzg2IiwiTTI4OCAzMzZhODAgODAgMCAxIDAgMC0xNjAgODAgODAgMCAxIDAgMCAxNjB6bTE1Ni44LTQ4QzQzMCAzNjEgMzY1LjQgNDE2IDI4OCA0MTZTMTQ2IDM2MSAxMzEuMiAyODhMMzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk5LjIgMEMxNDYgMTUxIDIxMC42IDk2IDI4OCA5NnMxNDIgNTUgMTU2LjggMTI4bDk5LjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTkuMiAweiJdfSxCanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWJyZWFzdGZlZWRpbmciLGljb246WzQ0OCw1MTIsW10sImU1M2EiLCJNMjI0IDBhODAgODAgMCAxIDEgMCAxNjAgODAgODAgMCAxIDEgMC0xNjB6TTQzNi44IDM4Mi44TDM3My41IDQ2MmMtMTYuNiAyMC43LTQ2LjggMjQuMS02Ny41IDcuNS0xNy42LTE0LjEtMjIuNy0zOC4xLTEzLjUtNTcuN2wtLjctLjFjLTM4LjktNS42LTc0LjMtMjUuMS05OS43LTU0LjhsMC0zNi44YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNDhjMCAuOCAwIDEuNiAuMSAyLjRsMTAxLjQgNTAuN2MyMy43IDExLjkgMzMuMyA0MC43IDIxLjUgNjQuNHMtNDAuNyAzMy4zLTY0LjQgMjEuNUwyNy4yIDQyNy4zYy0xLjEtLjUtMi4yLTEuMS0zLjMtMS43LTQuOS0yLjgtOS4yLTYuNC0xMi42LTEwLjYtNC42LTUuNC03LjgtMTEuNy05LjYtMTguNC0zLjMtMTItMS45LTI1LjIgNC44LTM2LjYgLjYtMS4xIDEuMy0yLjIgMi0zLjJMNzUuNiAyNTYuMWMyNi43LTQwLjEgNzEuNy02NC4xIDExOS44LTY0LjFsNzUuMiAwYzQ2LjUgMCA5MC4xIDIyLjUgMTE3LjIgNjAuM2w1MC43IDcwLjljMi4yIDMgNCA2LjEgNS41IDkuNCAyLjkgNi43IDQuMyAxMy44IDQgMjAuOC0uMyAxMC42LTQuMiAyMS0xMS4yIDI5LjR6TTMyMCAzMzJhNDQgNDQgMCAxIDAgLTg4IDAgNDQgNDQgMCAxIDAgODggMHoiXX0sSGp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1yYXlzIixpY29uOls1MTIsNTEyLFtdLCJlNTRkIiwiTTMxMi41IDI0YTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHptMjQgMjEyLjdsNDYuMyA2Mi40YzEwLjUgMTQuMiAzMC42IDE3LjIgNDQuOCA2LjZzMTcuMi0zMC42IDYuNi00NC44bC03MC41LTk1QzMzOC41IDEzMiAyOTguOCAxMTIgMjU2LjUgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZsNDYuMy02Mi40IDAgMjc1LjNjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3pNNy41IDdjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDgwIDgwYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw0MS41IDdDMzIuMS0yLjMgMTYuOS0yLjMgNy41IDd6bTQ2NCAwbC04MCA4MGMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDgwLTgwYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDB6TTcuNSA1MDVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBsODAtODBjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtODAgODBjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45em00NjQgMGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTgwLTgwYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDgwIDgweiJdfSxxanQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFuYXQtc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTFkNSIsIk0xOTIgMzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDEuNUM3My4zIDEwOS4zIDAgMTkwLjEgMCAyODhMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTYyLjUgNDQuOC0xMTQuNSAxMDQtMTI1LjhMMTY4IDQ1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjkzLjhjNTkuMiAxMS4yIDEwNCA2My4zIDEwNCAxMjUuOGwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtOTcuOS03My4zLTE3OC43LTE2OC0xOTAuNUwyMTYgNTZjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LFRtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzb3J0IixpY29uOlszODQsNTEyLFsidW5zb3J0ZWQiXSwiZjBkYyIsIk0yLjQgMjA0LjJjNSAxMiAxNi42IDE5LjggMjkuNiAxOS44bDMyMCAwYzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTE2MC0xNjBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xNjAgMTYwYy05LjIgOS4yLTExLjkgMjIuOS02LjkgMzQuOXptMCAxMDMuNWMtNSAxMi0yLjIgMjUuNyA2LjkgMzQuOWwxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjBjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTMzY0LjkgMjg4IDM1MiAyODhMMzIgMjg4Yy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44eiJdfSxWanQ9VG1lLExtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtcmFkaWF0aW9uIixpY29uOls1MTIsNTEyLFs5NzYyLCJyYWRpYXRpb24tYWx0Il0sImY3YmEiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptODAgMGw2NC4zIDBjOC43IDAgMTUuNy03LjEgMTcuMy0xNS42IDQuNC0yNC40IDE4LjEtNDUuNSAzNy4yLTU5LjcgNy40LTUuNSAxMC42LTE1LjYgNi0yMy42bC0zMi41LTU2LjNjLTQuMy03LjUtMTMuOS0xMC4zLTIxLjItNS41LTQ4LjIgMzEuNS04MS4zIDg0LjItODYuMyAxNDQuOC0uNyA4LjggNi41IDE2IDE1LjMgMTZ6bTEzNy45IDg5LjhjLTguNS0zLjctMTguOC0xLjQtMjMuNSA2LjZsLTMxIDUzLjhjLTQuMyA3LjUtMS45IDE3LjIgNS44IDIxLjEgMjYuMSAxMy4yIDU1LjUgMjAuNyA4Ni44IDIwLjdzNjAuNy03LjUgODYuOC0yMC43YzcuNy0zLjkgMTAuMS0xMy42IDUuOC0yMS4xbC0zMS01My44Yy00LjYtOC0xNS0xMC4zLTIzLjUtNi42LTExLjcgNS0yNC41IDcuOC0zOC4xIDcuOHMtMjYuNC0yLjgtMzguMS03Ljh6TTM1MC40IDI0MC40YzEuNiA4LjYgOC41IDE1LjYgMTcuMyAxNS42bDY0LjMgMGM4LjggMCAxNi4xLTcuMiAxNS4zLTE2LTUtNjAuNi0zOC4xLTExMy4yLTg2LjMtMTQ0LjgtNy4zLTQuOC0xNi44LTItMjEuMiA1LjVMMzA3LjMgMTU3Yy00LjYgOC0xLjQgMTguMSA2IDIzLjYgMTkuMSAxNC4yIDMyLjcgMzUuNCAzNy4yIDU5Ljd6TTI1NiAzMDUuN2E0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6Il19LGpqdD1MbWUsVWp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhcHRvcC1jb2RlIixpY29uOls2NDAsNTEyLFtdLCJmNWZjIiwiTTY0IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjQwLTY0IDAgMC0yNDAtMzg0IDAgMCAyNDAtNjQgMCAwLTI0MHpNMCA0MDMuMkMwIDM5Mi42IDguNiAzODQgMTkuMiAzODRsNjAxLjYgMGMxMC42IDAgMTkuMiA4LjYgMTkuMiAxOS4yIDAgNDIuNC0zNC40IDc2LjgtNzYuOCA3Ni44TDc2LjggNDgwQzM0LjQgNDgwIDAgNDQ1LjYgMCA0MDMuMnpNMjgxIDIwOWwtMzEgMzEgMzEgMzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNDgtNDhjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDQ4LTQ4YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOXpNMzkzIDE3NWw0OCA0OGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNDggNDhjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzEtMzEtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMHoiXX0sV2p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNpbmsiLGljb246WzUxMiw1MTIsW10sImUwNmQiLCJNMjg4IDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzIgMTQuMyAzMiAzMiAzMiAzMi0xNC4zIDMyLTMyYzAtNTMtNDMtOTYtOTYtOTZzLTk2IDQzLTk2IDk2bDAgMTkyLTY0IDAgMC00MGMwLTMwLjktMjUuMS01Ni01Ni01NmwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0OCAwYzQuNCAwIDggMy42IDggOGwwIDQwLTgwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMCA2NGMwIDUzIDQzIDk2IDk2IDk2bDI1NiAwYzUzIDAgOTYtNDMgOTYtOTZsMC02NGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtODAgMCAwLTQwYzAtNC40IDMuNi04IDgtOGw1NiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC01NiAwYy0zMC45IDAtNTYgMjUuMS01NiA1NmwwIDQwLTY0IDAgMC0xOTJ6Il19LEdqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC1mcm9tLXdhdGVyLXB1bXAiLGljb246WzY0MCw1MTIsW10sImU0YjYiLCJNMTQ0IDMyYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE3Ni0xNiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDc5LjZjMTcuNi0yIDM2IDIuNSA1MS4zIDE0IDMuNCAyLjYgNi4xIDEuNCA5LjgtLjNsLjgtLjRjNS43LTIuNiAxMi45LTYuOSAyMS43LTEzLjUgMjcuNS0yMC43IDU5LjktMzEuMiA5Mi4zLTMxLjQgMzMuMS0uMiA2Ni4zIDEwLjIgOTQuNCAzMS40IDIyLjEgMTYuNiAyOS4xIDE2LjYgNTEuMiAwIDI3LjUtMjAuNyA1OS45LTMxLjIgOTIuNC0zMS40IDMzLjEtLjIgNjYuMyAxMC4yIDk0LjQgMzEuNCA2LjkgNS4yIDEyLjggOSAxOCAxMS43IC42IC4zIDEuMiAuNiAxLjggMSA0LjIgMi4zIDguNSA0LjYgMTIuNiAxLjUgMTAuNy04LjEgMjIuOS0xMi43IDM1LjMtMTQuMWwwLTc5LjVjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTU2IDAgMC0xNDIuMSA0NyA0N2M5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNDk3IDM5Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtODggODhjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw0Ny00NyAwIDE0Mi4xLTEzNiAwIDAtMTc2YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDE0NCAzMnpNNDc0LjYgNDc2LjFjMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdTNyA0ODIuMyAxNy42IDQ5MC4zYzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOWMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMHoiXX0sJG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pY3JvcGhvbmUtbGluZXMtc2xhc2giLGljb246WzU3Niw1MTIsWyJtaWNyb3Bob25lLWFsdC1zbGFzaCJdLCJmNTM5IiwiTTctMjQuOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMGwxNTEgMTUxIDAtMzAuMmMwLTUzIDQzLTk2IDk2LTk2IDUwLjMgMCA5MS42IDM4LjcgOTUuNyA4OEwzMjggODhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTYgMCAwIDQ4LTU2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTUuNyAwYy0xLjkgMjIuOS0xMS44IDQzLjQtMjYuOSA1OWwzMy45IDMzLjljMjUuNS0yNiA0MS4zLTYxLjYgNDEuMy0xMDAuOWwwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MGMwIDUyLjYtMjEuMSAxMDAuMi01NS4zIDEzNC44TDU2OSA1MDMuMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDcgOS4xQy0yLjMtLjMtMi4zLTE1LjUgNy0yNC45ek0yOTcuOCAzNjcuN2w0MS40IDQxLjRjLTguOCAyLjQtMTcuOSA0LjMtMjcuMyA1LjRsMCA0OS41IDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDQ4IDAgMC00OS41QzE2OS4zIDQwMi43IDk2IDMyMS45IDk2IDIyNGwwLTQwYzAtNS4xIDEuNi05LjkgNC40LTEzLjhsNDMuNiA0My42IDAgMTAuMmMwIDc5LjUgNjQuNSAxNDQgMTQ0IDE0NCAzLjMgMCA2LjYtLjEgOS44LS4zeiJdfSxZanQ9JG1lLEtqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzZXJ2ZXIiLGljb246WzQ0OCw1MTIsW10sImYyMzMiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NmwwIDY0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTIxNiA3MmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTU2IDI0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6TTY0IDI4OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDI4OHptMjE2IDcyYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHptNTYgMjRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0sV2VlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXIiLGljb246WzQ0OCw1MTIsWzEyODEwMCw2MjE0NCw2MjQ3MCwidXNlci1hbHQiLCJ1c2VyLWxhcmdlIl0sImYwMDciLCJNMjI0IDI0OGExMjAgMTIwIDAgMSAwIDAtMjQwIDEyMCAxMjAgMCAxIDAgMCAyNDB6bS0yOS43IDU2Qzk1LjggMzA0IDE2IDM4My44IDE2IDQ4Mi4zIDE2IDQ5OC43IDI5LjMgNTEyIDQ1LjcgNTEybDM1Ni42IDBjMTYuNCAwIDI5LjctMTMuMyAyOS43LTI5LjcgMC05OC41LTc5LjgtMTc4LjMtMTc4LjMtMTc4LjNsLTU5LjQgMHoiXX0sWmp0PVdlZSxYanQ9V2VlLFFqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzbm93Zmxha2UiLGljb246WzUxMiw1MTIsWzEwMDUyLDEwMDU0XSwiZjJkYyIsIk0yODguMiAwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNjIuMS0xNS0xNWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw0OSA0OSAwIDcwLjYtNjEuMi0zNS4zLTE3LjktNjYuOWMtMy40LTEyLjgtMTYuNi0yMC40LTI5LjQtMTdTOTUuMyA5OCA5OC43IDExMC44bDUuNSAyMC41LTUzLjctMzFDMzUuMiA5MS41IDE1LjYgOTYuNyA2LjggMTEycy0zLjYgMzQuOSAxMS43IDQzLjdsNTMuNyAzMS0yMC41IDUuNWMtMTIuOCAzLjQtMjAuNCAxNi42LTE3IDI5LjRzMTYuNiAyMC40IDI5LjQgMTdsNjYuOS0xNy45IDYxLjIgMzUuMy02MS4yIDM1LjMtNjYuOS0xNy45Yy0xMi44LTMuNC0yNiA0LjItMjkuNCAxN3M0LjIgMjYgMTcgMjkuNGwyMC41IDUuNS01My43IDMxQzMuMiAzNjUuMS0yIDM4NC43IDYuOCA0MDBzMjguNCAyMC42IDQzLjcgMTEuN2w1My43LTMxLTUuNSAyMC41Yy0zLjQgMTIuOCA0LjIgMjYgMTcgMjkuNHMyNi00LjIgMjkuNC0xN2wxNy45LTY2LjkgNjEuMi0zNS4zIDAgNzAuNi00OSA0OWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDE1LTE1IDAgNjIuMWMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjIuMSAxNSAxNWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTQ5LTQ5IDAtNzAuNiA2MS4yIDM1LjMgMTcuOSA2Ni45YzMuNCAxMi44IDE2LjYgMjAuNCAyOS40IDE3czIwLjQtMTYuNiAxNy0yOS40bC01LjUtMjAuNSA1My43IDMxYzE1LjMgOC44IDM0LjkgMy42IDQzLjctMTEuN3MzLjYtMzQuOS0xMS43LTQzLjdsLTUzLjctMzEgMjAuNS01LjVjMTIuOC0zLjQgMjAuNC0xNi42IDE3LTI5LjRzLTE2LjYtMjAuNC0yOS40LTE3bC02Ni45IDE3LjktNjEuMi0zNS4zIDYxLjItMzUuMyA2Ni45IDE3LjljMTIuOCAzLjQgMjYtNC4yIDI5LjQtMTdzLTQuMi0yNi0xNy0yOS40bC0yMC41LTUuNSA1My43LTMxYzE1LjMtOC44IDIwLjYtMjguNCAxMS43LTQzLjdzLTI4LjQtMjAuNS00My43LTExLjdsLTUzLjcgMzEgNS41LTIwLjVjMy40LTEyLjgtNC4yLTI2LTE3LTI5LjRzLTI2IDQuMi0yOS40IDE3bC0xNy45IDY2LjktNjEuMiAzNS4zIDAtNzAuNiA0OS00OWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC0xNSAxNSAwLTYyLjF6Il19LEpqdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YXVydXMiLGljb246WzM4NCw1MTIsW10sImU4NGYiLCJNMzM2LTE2YzE3LjcgMCAzMiAxNC4zIDMyIDMyIDAgNTguNS0yOC42IDExMC4zLTcyLjUgMTQyLjMgNTMuMiAzNC4xIDg4LjUgOTMuOCA4OC41IDE2MS43IDAgMTA2LTg2IDE5Mi0xOTIgMTkyUzAgNDI2IDAgMzIwQzAgMjUyLjEgMzUuMyAxOTIuNCA4OC41IDE1OC4zIDQ0LjYgMTI2LjMgMTYgNzQuNSAxNiAxNiAxNi0xLjcgMzAuMy0xNiA0OC0xNlM4MC0xLjcgODAgMTZjMCA2MS45IDUwLjEgMTEyIDExMiAxMTJTMzA0IDc3LjkgMzA0IDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xOTIgMTkyYTEyOCAxMjggMCAxIDAgMCAyNTYgMTI4IDEyOCAwIDEgMCAwLTI1NnoiXX0sZVV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNrdWxsLWNyb3NzYm9uZXMiLGljb246WzQ0OCw1MTIsWzEyODM2OSw5NzYwXSwiZjcxNCIsIk0zODQgMTQ0QzM4NCA2NC41IDMxMi40IDAgMjI0IDBTNjQgNjQuNSA2NCAxNDRjMCA0Ny4xIDI1LjEgODguOSA2NCAxMTUuMmwwIDI4LjhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yOC44YzM4LjktMjYuMyA2NC02OC4xIDY0LTExNS4yek0xNjAgMTI4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptOTYgMzJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNNDQ1LjUgMzM5LjdjLTYuOC0xNi4zLTI1LjUtMjQtNDEuOC0xNy4yTDIyNCAzOTcuMyA0NC4zIDMyMi41Yy0xNi4zLTYuOC0zNSAuOS00MS44IDE3LjJzLjkgMzUgMTcuMiA0MS44TDE0MC44IDQzMiAxOS43IDQ4Mi41QzMuNCA0ODkuMy00LjMgNTA4IDIuNSA1MjQuM3MyNS41IDI0IDQxLjggMTcuMkwyMjQgNDY2LjcgNDAzLjcgNTQxLjVjMTYuMyA2LjggMzUtLjkgNDEuOC0xNy4ycy0uOS0zNS0xNy4yLTQxLjhMMzA3LjIgNDMyIDQyOC4zIDM4MS41YzE2LjMtNi44IDI0LTI1LjUgMTcuMi00MS44eiJdfSx0VXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVzby1zaWduIixpY29uOls0NDgsNTEyLFtdLCJlMjIyIiwiTTExMiAzMkM5NC4zIDMyIDgwIDQ2LjMgODAgNjRsMCA2NC0yNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI0IDAgMCAzMi0yNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI0IDAgMCAxOTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2IDk2IDBjNjUuNiAwIDEyMi0zOS41IDE0Ni43LTk2bDM3LjMgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjQuOCAwYy41LTUuMyAuOC0xMC42IC44LTE2cy0uMy0xMC43LS44LTE2bDI0LjggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMzcuMyAwQzM2MiA3MS41IDMwNS42IDMyIDI0MCAzMkwxMTIgMzJ6bTE5OS42IDk2bC0xNjcuNiAwIDAtMzIgOTYgMGMyOC40IDAgNTQgMTIuNCA3MS42IDMyek0xNDQgMTc2bDE5MC43IDBjLjkgNS4yIDEuMyAxMC41IDEuMyAxNnMtLjUgMTAuOC0xLjMgMTZsLTE5MC43IDAgMC0zMnptMTY3LjYgODBjLTE3LjYgMTkuNi00My4xIDMyLTcxLjYgMzJsLTk2IDAgMC0zMiAxNjcuNiAweiJdfSxhVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2luZS1nbGFzcyIsaWNvbjpbMzIwLDUxMixbMTI3ODYzXSwiZjRlMyIsIk0zMi42IDI1LjdDMzUuNiAxMC44IDQ4LjcgMCA2NCAwTDI1NiAwYzE1LjMgMCAyOC40IDEwLjggMzEuNCAyNS43TDMxNi44IDE3M2MyLjEgMTAuNSAzLjIgMjEuMiAzLjIgMzJsMCAzYzAgNzcuNC01NSAxNDItMTI4IDE1Ni44bDAgMTE1LjIgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw2NCA1NDRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNjQgMCAwLTExNS4yQzU1IDM1MCAwIDI4NS40IDAgMjA4bDAtM2MwLTEwLjcgMS4xLTIxLjQgMy4yLTMyTDMyLjYgMjUuN3pNNzcuNCAxMjhsMTY1LjEgMC0xMi44LTY0LTEzOS41IDAtMTIuOCA2NHoiXX0sWWI9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVtcGVyYXR1cmUtaGFsZiIsaWNvbjpbMzIwLDUxMixbMTI3Nzc3LCJ0ZW1wZXJhdHVyZS0yIiwidGhlcm1vbWV0ZXItMiIsInRoZXJtb21ldGVyLWhhbGYiXSwiZjJjOSIsIk0xNjAgMEMxMDcgMCA2NCA0MyA2NCA5NmwwIDE2NC43QzM0LjUgMjg3IDE2IDMyNS40IDE2IDM2OCAxNiA0NDcuNSA4MC41IDUxMiAxNjAgNTEyczE0NC02NC41IDE0NC0xNDRjMC00Mi42LTE4LjUtODEtNDgtMTA3LjNMMjU2IDk2YzAtNTMtNDMtOTYtOTYtOTZ6bTY0IDM2OGMwIDM1LjMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGMwLTI2LjkgMTYuNS00OS45IDQwLTU5LjNsMC05Mi43YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA5Mi43YzIzLjUgOS41IDQwIDMyLjUgNDAgNTkuM3oiXX0sclV0PVliLHNVdD1ZYixpVXQ9WWIsb1V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRpY2tldCIsaWNvbjpbNTc2LDUxMixbMTI3OTAzXSwiZjE0NSIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOGwwIDY0QzAgMjAwLjggNy40IDIwNy43IDE1LjcgMjEwLjYgMzQuNSAyMTcuMSA0OCAyMzUgNDggMjU2cy0xMy41IDM4LjktMzIuMyA0NS40QzcuNCAzMDQuMyAwIDMxMS4yIDAgMzIwbDAgNjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDQ4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC02NGMwLTguOC03LjQtMTUuNy0xNS43LTE4LjYtMTguOC02LjUtMzIuMy0yNC40LTMyLjMtNDUuNHMxMy41LTM4LjkgMzIuMy00NS40YzguMy0yLjkgMTUuNy05LjggMTUuNy0xOC42bDAtNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6TTQxNiAzMzZsMC0xNjAtMjU2IDAgMCAxNjAgMjU2IDB6TTExMiAxNjBjMC0xNy43IDE0LjMtMzIgMzItMzJsMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTI4OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE5MnoiXX0sblV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndoZWF0LWF3bi1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU1OTgiLCJNNDk2IDU3NmExNDQgMTQ0IDAgMSAxIDAtMjg4IDE0NCAxNDQgMCAxIDEgMCAyODh6TTgxIDUyOWMtOS40IDkuMy0yNC41IDkuMy0zMy45IDAtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlMODEgNTI5em0zMC4yLTI5NC40YzYuMi00LjEgMTQuNy0zLjQgMjAuMSAyLjFsNDYuMSA0Ni4xIDYuMSA2LjdjMTkuNyAyMy44IDI2LjMgNTUgMTkuMyA4My45IDMxLjctNy43IDY2LjIgMSA5MC42IDI1LjNsMTIgMTJjLS44IDctMS4yIDE0LjItMS4yIDIxLjQgMCAyMCAzIDM5LjMgOC43IDU3LjQtMzYuOCAyMS44LTg1IDE3LTExNi42LTE0LjdMMTY1LjYgNDQ0LjMgODEgNTI5QzY5LjcgNTE3LjcgNTguNCA1MDYuMyA0NyA0OTVsODQuNy04NC43LTMwLjUtMzAuNWMtMzcuNS0zNy41LTM3LjUtOTguMyAwLTEzNS43bDcuNC03LjQgMi41LTIuMXpNNDk2IDQ3NmEyMCAyMCAwIDEgMCAwIDQwIDIwIDIwIDAgMSAwIDAtNDB6bTAtMTQwYy04LjggMC0xNiA3LjItMTYgMTZsMCA4MGMwIDguOCA3LjIgMTYgMTYgMTYgOC44IDAgMTYtNy4yIDE2LTE2bDAtODBjMC04LjgtNy4yLTE2LTE2LTE2ek0yMTUuMiAxMzAuNmM2LjItNC4xIDE0LjctMy40IDIwLjEgMi4xbDQ2LjEgNDYuMSA2LjEgNi43YzE5LjcgMjMuOCAyNi4zIDU1IDE5LjMgODMuOSAyNC4yLTUuOSA1MC4xLTIuMSA3MS45IDEwLjgtMzIuMiAyNC45LTU2LjIgNTkuOC02Ny40IDEwMC4xLTMuOC0yLjgtNy41LTYtMTEtOS41bC05NC45LTk0LjljLTM3LjUtMzcuNS0zNy41LTk4LjMgMC0xMzUuN2w3LjQtNy40IDIuNS0yLjF6TTUyNi43IDE1YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwIDguOCA4LjggOS4zIDIyLjcgMS43IDMyLjFMNTYwLjYgNDkgNDQ2LjIgMTYzLjRjNy43IDEgMTUuMyAzIDIyLjUgNS45TDUyNyAxMTFjOS40LTkuNCAyNC42LTkuNCAzNCAwIDguOCA4LjggOS4zIDIyLjcgMS42IDMyLjFsLTEuNyAxLjgtNTIuNyA1Mi43IDM5IDM5YzMuMiAzLjIgNC43IDcuNCA0LjcgMTEuNi0xNy43LTUuNC0zNi41LTguMy01NS45LTguMy0zNC4yIDAtNjYuMyA4LjktOTQuMSAyNC42bC05Mi43LTkyLjdjLTM3LjUtMzcuNS0zNy41LTk4LjMgMC0xMzUuOGw3LjQtNy40IDIuNS0yLjFjNi4yLTQuMSAxNC43LTMuNCAyMC4xIDIuMWwzOSAzOSA1Mi43LTUyLjdjOS40LTkuNCAyNC42LTkuNCAzNCAwIDguOCA4LjggOS4zIDIyLjcgMS42IDMyLjFMNDY1IDQ5IDQwNi43IDEwNy4zYzIuOCA3LjEgNC43IDE0LjUgNS44IDIyLjFMNTI2LjcgMTV6Il19LGxVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtdHVybi1yaWdodCIsaWNvbjpbNDQ4LDUxMixbXSwiZTRjMCIsIk0zMTMuNC02LjZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsODAgODBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wzMzguNyAxMjggMTI4IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDI0MS43IDAgMjI0bDAtMzJDMCAxMjEuMyA1Ny4zIDY0IDEyOCA2NGwyMTAuNyAwLTI1LjQtMjUuNGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjN6bS05NiAyNTZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsODAgODBjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyNDIuNyAzODQgOTYgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhsMC0zMmMwLTUzIDQzLTk2IDk2LTk2bDE0Ni43IDAtMjUuNC0yNS40Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3oiXX0sY1V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbmR5LWNhbmUiLGljb246WzQ0OCw1MTIsW10sImY3ODYiLCJNNDIxLjggMzkuNkM0NTIgODUuMiA0NTYuNSAxNDIuOSA0MzUuMSAxOTJsLTE2NS40IDAgNDEuNC00MS40Yy44LS44IDEuNS0xLjYgMi4yLTIuNEw0MjEuOCAzOS42ek0yNjggMTAyLjljLS44IC43LTEuNiAxLjQtMi40IDIuMmwtMjguMSAyOC4xYy0yNSAyNS02NS41IDI1LTkwLjUgMHMtMjUtNjUuNSAwLTkwLjVMMTc1IDE0LjZDMjI5LjktNDAuMiAzMTQuNS00Ni43IDM3Ni41LTUuNkwyNjggMTAyLjl6TTEyNS43IDMzNmw4MC04MCAxODEgMC04Mi41IDgyLjUgMC0yLjUtMTc4LjUgMHptMTE3IDY0TDE0MS40IDUwMS4zYy0yNSAyNS02NS41IDI1LTkwLjUgMHMtMjUtNjUuNSAwLTkwLjVsMTAuNy0xMC43IDE4MSAweiJdfSxkVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2hlZWxjaGFpciIsaWNvbjpbNTEyLDUxMixbXSwiZjE5MyIsIk0xMzYgNDBhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwek0xMTcuOSAxOTcuNmwxMi42IDYzYy0zOC42IDEyLjQtNjYuNSA0OC43LTY2LjUgOTEuNCAwIDUzIDQzIDk2IDk2IDk2IDM1LjYgMCA2Ni43LTE5LjQgODMuMy00OC4yIDIuMyAuMSA0LjYgLjIgNyAuMmw0LjEgMGMxIDAgMi4xIDAgMy4xIDBsNTUuMiAwYy0yMC40IDY0LjktODEgMTEyLTE1Mi43IDExMi04OC40IDAtMTYwLTcxLjYtMTYwLTE2MCAwLTczLjggNTAtMTM1LjkgMTE3LjktMTU0LjR6bTE0OC42LTI4LjFsMjMuNyAxMTguNSA2MC41IDBjMzMuMyAwIDYzLjIgMjAuNyA3NC45IDUxLjlsMjUuNSA2OCAxOC43LTYuMmMxNi44LTUuNiAzNC45IDMuNSA0MC41IDIwLjJzLTMuNSAzNC45LTIwLjIgNDAuNWwtNDggMTZjLTE2LjMgNS40LTM0LTMtNDAuMS0xOS4xbC0zNi4zLTk2LjljLTIuMy02LjItOC4zLTEwLjQtMTUtMTAuNGwtODYuMSAwYy0uNCAwLS44IDAtMS4zIDBsLTEzLjEgMGMtMzAuNSAwLTU2LjgtMjEuNS02Mi44LTUxLjRMMTY1LjMgMTg5LjdjLTYuNC0zMS45IDE4LTYxLjcgNTAuNi02MS43IDI0LjYgMCA0NS44IDE3LjQgNTAuNiA0MS41eiJdfSx1VXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3BlbGwtY2hlY2siLGljb246WzU3Niw1MTIsW10sImY4OTEiLCJNMTIwIDMyYy00OC42IDAtODggMzkuNC04OCA4OGwwIDE2OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNjQgNjQgMCAwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjhjMC00OC42LTM5LjQtODgtODgtODhsLTE2IDB6bTQwIDEyOGwtNjQgMCAwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0MHpNMzA0IDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDIyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw3MiAwYzQ4LjYgMCA4OC0zOS40IDg4LTg4IDAtMjMuNi05LjMtNDUtMjQuNC02MC44IDEwLjMtMTQuNCAxNi40LTMyLjEgMTYuNC01MS4yIDAtNDguNi0zOS40LTg4LTg4LTg4bC02NCAwem02NCAxMTJsLTMyIDAgMC00OCAzMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0ek0zMzYgMjU2bDAtNDggNDAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDAgMHptMjMzIDg0YzExLTEzLjggOC44LTMzLjktNS00NXMtMzMuOS04LjgtNDUgNWwtMTA1LjcgMTMyLjEtMzguNy0zOC43Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w2NCA2NGM2LjQgNi40IDE1LjMgOS44IDI0LjQgOS4zczE3LjUtNC45IDIzLjItMTJMNTY5IDM0MHoiXX0scFV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvbHVtZS1vZmYiLGljb246WzMyMCw1MTIsW10sImYwMjYiLCJNOTYgMzUybC00OCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDQ4IDAgMTM0LjEtMTE5LjJjNi40LTUuNyAxNC42LTguOCAyMy4xLTguOCAxOS4yIDAgMzQuOCAxNS42IDM0LjggMzQuOGwwIDM3OC40YzAgMTkuMi0xNS42IDM0LjgtMzQuOCAzNC44LTguNSAwLTE2LjctMy4xLTIzLjEtOC44TDk2IDM1MnoiXX0sZlV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imx1bmdzIixpY29uOls1NzYsNTEyLFsxMjk3MjldLCJmNjA0IiwiTTMyMCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE0MS45LTMyIDE5LjIgMC0xMTYuN2MwLTI0LjUtMTkuOS00NC40LTQ0LjQtNDQuNC0xMi41IDAtMjQuNCA1LjMtMzIuOCAxNC41bC0yNi40IDI5QzQyLjkgMTYwLjggMCAyNzEuOCAwIDM4N2wwIDMwLjVjMCA1Mi4yIDQyLjMgOTQuNSA5NC41IDk0LjUgMjIgMCA0My43LTUuMSA2My40LTE1bDUtMi41YzM3LjQtMTguNyA2MS01Ni45IDYxLTk4LjhsMC0xMjggNjQtMzguNCA2NCAzOC40IDAgMTI4YzAgNDEuOCAyMy42IDgwLjEgNjEgOTguOGw1IDIuNWMxOS43IDkuOCA0MS40IDE1IDYzLjQgMTUgNTIuMiAwIDk0LjUtNDIuMyA5NC41LTk0LjVsMC02LjJjMC0xMTEuMS0zNi43LTIxOS0xMDQuNC0zMDdMNDI4LjkgNDguN2MtOC4xLTEwLjYtMjAuNy0xNi43LTM0LTE2LjctMjMuNyAwLTQyLjkgMTkuMi00Mi45IDQyLjlsMCAxMTguMi0zMi0xOS4yIDAtMTQxLjl6Il19LGhVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rbWFyayIsaWNvbjpbMzg0LDUxMixbMTI4Mjc4LDYxNTkxXSwiZjAyZSIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NEwwIDQ4MGMwIDExLjUgNi4yIDIyLjIgMTYuMiAyNy44czIyLjMgNS41IDMyLjItLjRMMTkyIDQyMS4zIDMzNS41IDUwNy40YzkuOSA1LjkgMjIuMiA2LjEgMzIuMiAuNFMzODQgNDkxLjUgMzg0IDQ4MGwwLTQxNmMwLTM1LjMtMjguNy02NC02NC02NEw2NCAweiJdfSxtVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFyY29kZSIsaWNvbjpbNDQ4LDUxMixbXSwiZjAyYSIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJMNjQgNjRjMC0xNy43LTE0LjMtMzItMzItMzJ6bTg4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgNDAwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MDBjMC0xMy4zLTEwLjctMjQtMjQtMjR6bTcyIDMybDAgMzg0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zODRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6bTIwOC04bDAgNDAwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6bS05NiAwbDAgNDAwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6Il19LEdlZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsaXN0LW9sIixpY29uOls1MTIsNTEyLFsibGlzdC0xLTIiLCJsaXN0LW51bWVyaWMiXSwiZjBjYiIsIk0wIDcyQzAgNTguOCAxMC43IDQ4IDI0IDQ4bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxMDQgMjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyNCAwIDAtODAtMjQgMEMxMC43IDk2IDAgODUuMyAwIDcyek0zMC40IDMwMS4yQzQxLjggMjkyLjYgNTUuNyAyODggNzAgMjg4bDQuOSAwYzMzLjcgMCA2MS4xIDI3LjQgNjEuMSA2MS4xIDAgMTkuNi05LjQgMzcuOS0yNS4yIDQ5LjRsLTI0IDE3LjUgMzMuMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC05MC43IDBDMTMuMSA0NjQgMCA0NTAuOSAwIDQzNC43IDAgNDI1LjMgNC41IDQxNi41IDEyLjEgNDExbDcwLjUtNTEuM2MzLjQtMi41IDUuNC02LjQgNS40LTEwLjYgMC03LjItNS45LTEzLjEtMTMuMS0xMy4xTDcwIDMzNmMtMy45IDAtNy43IDEuMy0xMC44IDMuNkwzOC40IDM1NS4yYy0xMC42IDgtMjUuNiA1LjgtMzMuNi00LjhTLTEgMzI0LjggOS42IDMxNi44bDIwLjgtMTUuNnpNMjI0IDY0bDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnptMCAxNjBsMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDE2MGwyNTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjU2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LGdVdD1HZWUsYlV0PUdlZSx2VXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1jaXJjbGUteG1hcmsiLGljb246WzU3Niw1MTIsW10sImU1YTEiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMjIuNy0zMS41LTM2LTcwLjItMzYtMTEyIDAtMTAwLjYgNzcuNC0xODMuMiAxNzYtMTkxLjNsMC0zOC4xYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2ek00MzIgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNTkuMy0xODAuN2wtMzYuNyAzNi43IDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwbC0zNi43LTM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDM2LjctMzYuNy0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwzNi43IDM2LjcgMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnoiXX0seFV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImN1YmUiLGljb246WzUxMiw1MTIsW10sImYxYjIiLCJNMjI0LjMtMi41YzE5LjgtMTEuNCA0NC4yLTExLjQgNjQgMEw0NjQuMiA5OWMxOS44IDExLjQgMzIgMzIuNiAzMiA1NS40bDAgMjAzYzAgMjIuOS0xMi4yIDQ0LTMyIDU1LjRMMjg4LjMgNTE0LjVjLTE5LjggMTEuNC00NC4yIDExLjQtNjQgMEw0OC41IDQxM2MtMTkuOC0xMS40LTMyLTMyLjYtMzItNTUuNGwwLTIwM2MwLTIyLjkgMTIuMi00NCAzMi01NS40TDIyNC4zLTIuNXptMjA3LjggMzYwbDAtMTY2LjEtMTQzLjggODMgMCAxNjYuMSAxNDMuOC04M3oiXX0seVV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhcGUiLGljb246WzU3Niw1MTIsW10sImY0ZGIiLCJNNDEyLjggNDE2YzQxLjUtNDAuNyA2Ny4yLTk3LjMgNjcuMi0xNjAgMC0xMjMuNy0xMDAuMy0yMjQtMjI0LTIyNFMzMiAxMzIuMyAzMiAyNTYgMTMyLjMgNDgwIDI1NiA0ODBsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEzMS4yIDB6TTI1NiAxNjBhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6bTQ4IDk2YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6Il19LHdVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib21iIixpY29uOls1NzYsNTEyLFsxMjgxNjNdLCJmMWUyIiwiTTQ4MC0xNmM2LjkgMCAxMyA0LjQgMTUuMiAxMC45bDEzLjUgNDAuNCA0MC40IDEzLjVDNTU1LjYgNTEgNTYwIDU3LjEgNTYwIDY0cy00LjQgMTMtMTAuOSAxNS4ybC00MC40IDEzLjUtMTMuNSA0MC40QzQ5MyAxMzkuNiA0ODYuOSAxNDQgNDgwIDE0NHMtMTMtNC40LTE1LjItMTAuOWwtMTMuNS00MC40LTQwLjQtMTMuNUM0MDQuNCA3NyA0MDAgNzAuOSA0MDAgNjRzNC40LTEzIDEwLjktMTUuMmw0MC40LTEzLjUgMTMuNS00MC40QzQ2Ny0xMS42IDQ3My4xLTE2IDQ4MC0xNnpNMzIxLjQgOTcuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGw4MCA4MGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTAuOSAxMC45YzcuOSAyMiAxMi4yIDQ1LjcgMTIuMiA3MC41IDAgMTE0LjktOTMuMSAyMDgtMjA4IDIwOFMzMiA0MTguOSAzMiAzMDQgMTI1LjEgOTYgMjQwIDk2YzI0LjcgMCA0OC41IDQuMyA3MC41IDEyLjNsMTAuOS0xMC45ek0xNDQgMzA0YzAtNTMgNDMtOTYgOTYtOTYgMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRjLTc5LjUgMC0xNDQgNjQuNS0xNDQgMTQ0IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjR6Il19LERtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY2FsZS11bmJhbGFuY2VkIixpY29uOls2NDAsNTEyLFsiYmFsYW5jZS1zY2FsZS1sZWZ0Il0sImY1MTUiLCJNNTE5LjggNjIuNGMxNi44LTUuNiAyNS44LTIzLjcgMjAuMi00MC41UzUxNi4zLTMuOSA0OTkuNiAxLjZsLTExMyAzNy43Yy0xMy45LTIzLjUtMzkuNi0zOS4zLTY4LjktMzkuMy00NC4yIDAtODAgMzUuOC04MCA4MCAwIDMgLjIgNS45IC41IDguOEwxMTUuNiAxMjkuNmMtMTYuOCA1LjYtMjUuOCAyMy43LTIwLjIgNDAuNXMyMy43IDI1LjggNDAuNSAyMC4ybDEzNS41LTQ1LjJjNC41IDMuMiA5LjMgNS45IDE0LjQgOC4ybDAgMzI2LjdjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE2MCAwIDAtMjk0LjdjMjEtOS4yIDM3LjItMjcgNDQuMi00OWwxMjUuOS00MnpNNDM3LjMgMjg4bDcyLjQtMTI0LjIgNzIuNCAxMjQuMi0xNDQuOSAwem03Mi40IDk2YzYyLjkgMCAxMTUuMi0zNCAxMjYtNzguOSAyLjYtMTEtMS0yMi4zLTYuNy0zMi4xTDUzMy44IDEwOS44Yy01LTguNi0xNC4yLTEzLjgtMjQuMS0xMy44cy0xOS4xIDUuMy0yNC4xIDEzLjhMMzkwLjQgMjczLjFjLTUuNyA5LjgtOS4zIDIxLjEtNi43IDMyLjEgMTAuOCA0NC44IDYzLjEgNzguOSAxMjYgNzguOXpNMTI2LjggMjkxLjhsNzIuNCAxMjQuMi0xNDQuOSAwIDcyLjQtMTI0LjJ6TS45IDQzMy4xQzExLjcgNDc4IDY0IDUxMiAxMjYuOCA1MTJzMTE1LjItMzQgMTI2LTc4LjljMi42LTExLTEtMjIuMy02LjctMzIuMUwxNTAuOSAyMzcuOGMtNS04LjYtMTQuMi0xMy44LTI0LjEtMTMuOHMtMTkuMSA1LjMtMjQuMSAxMy44TDcuNiA0MDEuMWMtNS43IDkuOC05LjMgMjEuMS02LjcgMzIuMXoiXX0sTVV0PURtZSxBbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLWNhcmV0LWxlZnQiLGljb246WzQ0OCw1MTIsWyJjYXJldC1zcXVhcmUtbGVmdCJdLCJmMTkxIiwiTTAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZ6TTEyOCAyNTZjMC02LjcgMi44LTEzIDcuNy0xNy42bDExMi0xMDRjNy02LjUgMTcuMi04LjIgMjUuOS00LjRTMjg4IDE0Mi41IDI4OCAxNTJsMCAyMDhjMCA5LjUtNS43IDE4LjItMTQuNCAyMnMtMTguOSAyLjEtMjUuOS00LjRsLTExMi0xMDRjLTQuOS00LjUtNy43LTEwLjktNy43LTE3LjZ6Il19LGtVdD1BbWUsU1V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJ1bGVyIixpY29uOls1NzYsNTEyLFsxMjgyMDddLCJmNTQ1IiwiTTIwOS4xIDUxNi4yYy0xOC43IDE4LjctNDkuMSAxOC43LTY3LjkgMEwyOC4xIDQwMy4xYy0xOC43LTE4LjctMTguNy00OS4xIDAtNjcuOWwxNy0xNyA3My41IDczLjVjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC03My41LTczLjUgMzMuOS0zMy45IDUwLjkgNTAuOWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTUwLjktNTAuOSAzMy45LTMzLjkgNzMuNSA3My41YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNzMuNS03My41IDMzLjktMzMuOSA1MC45IDUwLjljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC01MC45LTUwLjkgMzMuOS0zMy45IDczLjUgNzMuNWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTczLjUtNzMuNSAxNy0xN2MxOC43LTE4LjcgNDkuMS0xOC43IDY3LjkgMEw1NDguNSAxMDguOWMxOC43IDE4LjcgMTguNyA0OS4xIDAgNjcuOUwyMDkuMSA1MTYuMnoiXX0selV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImkiLGljb246WzMyMCw1MTIsWzEwNV0sIjQ5IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRTMTQuMyA5NiAzMiA5Nmw5NiAwIDAgMzIwLTk2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDAgMC0zMjAgOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnoiXX0sWWVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvbHVtZS14bWFyayIsaWNvbjpbNTc2LDUxMixbInZvbHVtZS1tdXRlIiwidm9sdW1lLXRpbWVzIl0sImY2YTkiLCJNNDggMzUybDQ4IDAgMTM0LjEgMTE5LjJjNi40IDUuNyAxNC42IDguOCAyMy4xIDguOCAxOS4yIDAgMzQuOC0xNS42IDM0LjgtMzQuOGwwLTM3OC40YzAtMTkuMi0xNS42LTM0LjgtMzQuOC0zNC44LTguNSAwLTE2LjcgMy4xLTIzLjEgOC44TDk2IDE2MCA0OCAxNjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTZjMCAyNi41IDIxLjUgNDggNDggNDh6TTM2NyAxNzVjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45bDQ3IDQ3LTQ3IDQ3Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsNDctNDcgNDcgNDdjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC00Ny00NyA0Ny00N2M5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwbC00NyA0Ny00Ny00N2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDB6Il19LENVdD1ZZWUsX1V0PVllZSxUVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJjaHdheSIsaWNvbjpbNTEyLDUxMixbXSwiZjU1NyIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsNDQ4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgMzJ6bTAgMzg0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwIDAtMTI4YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZsMCAxMjggMTI4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0yNzItNDQ4IDAgMCAyNzJ6Il19LEVtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tZGlnZ2luZyIsaWNvbjpbNTc2LDUxMixbImRpZ2dpbmciXSwiZjg1ZSIsIk0yMDggNDBhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAwek0xMC41IDE4MS4zYzUuOS0xMS45IDIwLjMtMTYuNyAzMi4yLTEwLjdsMjQuNiAxMi4zIDEyLjItMjAuNGMxOC45LTMxLjUgNTMuMi01MC41IDg5LjYtNTAuNSA0Ni4yIDAgODcuNyAzMC41IDEwMC41IDc1LjRsMzIuMiAxMTIuNyA5Mi45IDQ2LjQgMjUuOC00M2M1LjgtOS42IDE2LjItMTUuNSAyNy40LTE1LjVzMjEuNyA1LjkgMjcuNCAxNS41bDk2IDE2MGM1LjkgOS45IDYuMSAyMi4yIC40IDMyLjJTNTU1LjUgNTEyIDU0NCA1MTJsLTE5MiAwYy0xMS41IDAtMjIuMi02LjItMjcuOC0xNi4ycy01LjUtMjIuMyAuNC0zMi4yTDM3MCAzODcuOCAyMS4zIDIxMy41Yy0xMS45LTUuOS0xNi43LTIwLjMtMTAuNy0zMi4yek05NC4zIDMwNy40bDExMiA1NmMxMC44IDUuNCAxNy43IDE2LjUgMTcuNyAyOC42bDAgODhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02OC4yLTYxLjMtMzAuNy0zNi4zIDEwOWMtNS42IDE2LjgtMjMuNyAyNS44LTQwLjUgMjAuMlMtMy45IDQ4Ni42IDEuNyA0NjkuOWw0OC0xNDRjMi45LTguOCA5LjUtMTUuOSAxOC4xLTE5LjRzMTguMy0zLjIgMjYuNiAuOXoiXX0sTFV0PUVtZSxLZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2F1Z2UtaGlnaCIsaWNvbjpbNTEyLDUxMixbNjI0NjEsInRhY2hvbWV0ZXItYWx0IiwidGFjaG9tZXRlci1hbHQtZmFzdCJdLCJmNjI1IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6TTI4OCA5NmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0yNTYgNDE2YzM1LjMgMCA2NC0yOC43IDY0LTY0IDAtMTYuMi02LTMxLjEtMTYtNDIuM2w2OS41LTEzOC45YzUuOS0xMS45IDEuMS0yNi4zLTEwLjctMzIuMnMtMjYuMy0xLjEtMzIuMiAxMC43TDI2MS4xIDI4OC4yYy0xLjctLjEtMy40LS4yLTUuMS0uMi0zNS4zIDAtNjQgMjguNy02NCA2NHMyOC43IDY0IDY0IDY0ek0xNzYgMTQ0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTk2IDI4OGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTM1Mi0zMmEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAweiJdfSwkVXQ9S2VlLERVdD1LZWUsQVV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdlbmRlcmxlc3MiLGljb246WzM4NCw1MTIsW10sImYyMmQiLCJNMTkyIDEyOGExMjggMTI4IDAgMSAxIDAgMjU2IDEyOCAxMjggMCAxIDEgMC0yNTZ6bTAgMzIwYTE5MiAxOTIgMCAxIDAgMC0zODQgMTkyIDE5MiAwIDEgMCAwIDM4NHoiXX0sRVV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkLXN1biIsaWNvbjpbNjQwLDUxMixbOTkyNV0sImY2YzQiLCJNMjA4LjMgMTkyYzQzLjEgMCA4MC41IDI0LjQgOTkuMiA2MC4xIDE0LjctMTcuMiAzNi40LTI4LjEgNjAuOC0yOC4xIDQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgNS41LS42IDEwLjktMS42IDE2IC41IDAgMS4xIDAgMS42IDAgNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZsLTMyMCAwYy01MyAwLTk2LTQzLTk2LTk2IDAtNDIuNSAyNy43LTc4LjUgNjYtOTEuMi0xLjMtNi44LTItMTMuNy0yLTIwLjggMC02MS45IDUwLjEtMTEyIDExMi0xMTJ6bTE5Mi0yMjMuOGM1LjMgMCAxMC4zIDIuNyAxMy4zIDcuMWw0Ny4zIDcwLjQgODMuMy0xNi4zYzUuMi0xIDEwLjYgLjcgMTQuMyA0LjQgMy44IDMuOCA1LjQgOS4yIDQuNCAxNC40bC0xNi4zIDgzLjMgNzAuNCA0Ny4zYzQuNCAzIDcuMSA4IDcuMSAxMy4zIDAgNS4zLTIuNiAxMC4zLTcgMTMuMmwtNzAuNCA0Ny4zIDE0LjUgNzQuMmMtMTcuMi0yMS43LTQwLjQtMzguNC02Ny4yLTQ3LjMtMi41LTEyLjctNi45LTI0LjYtMTIuOC0zNS43IDkuNi0xNC45IDE1LjItMzIuNyAxNS4yLTUxLjcgMC01My00My05Ni05Ni05Ni00Ny45IDAtODcuNiAzNS4xLTk0LjggODAuOS0yMC45LTE2LTQ1LjktMjctNzMuMS0zMS4xbDIxLjUtMTQuNS0xNi4zLTgzLjItLjMtMmMtLjMtNC42IDEuMy05LjEgNC42LTEyLjQgMy44LTMuOCA5LjItNS40IDE0LjQtNC40bDgzLjMgMTYuMyA0Ny4zLTcwLjQgMS4yLTEuNmMzLTMuNSA3LjQtNS41IDEyLjEtNS41em0wIDE3NS44YzI2LjUgMCA0OCAyMS41IDQ4IDQ4IDAgMy44LS41IDcuNi0xLjQgMTEuMS0yMS43LTE2LjktNDguOS0yNy4xLTc4LjYtMjcuMS00LjYgMC05LjEgLjItMTMuNSAuNyA2LjQtMTkgMjQuMy0zMi43IDQ1LjUtMzIuN3oiXX0sUnRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJpZ2h0IixpY29uOls1MTIsNTEyLFs4NTk0XSwiZjA2MSIsIk01MDIuNiAyNzguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMNDAyLjcgMjI0IDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzNzAuNyAwLTEwNS40IDEwNS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjB6Il19LFplZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kc2hha2UiLGljb246WzU3Niw1MTIsWzEyOTMwOSw2MjY2MiwiaGFuZHNoYWtlLWFsdCIsImhhbmRzaGFrZS1zaW1wbGUiXSwiZjJiNSIsIk0yNjguOSA4NS4yTDE1Mi4zIDIxNC44Yy00LjYgNS4xLTQuNCAxMyAuNSAxNy45IDMwLjUgMzAuNSA4MCAzMC41IDExMC41IDBsMzEuOC0zMS44YzQuMi00LjIgOS41LTYuNSAxNC45LTYuOSA2LjgtLjYgMTMuOCAxLjcgMTkgNi45TDUwNS42IDM3NiA1NzYgMzIwIDU3NiAzMiA0NjQgOTYgNDQwLjIgODAuMUM0MjQuNCA2OS42IDQwNS45IDY0IDM4Ni45IDY0bC03MC40IDBjLTEuMSAwLTIuMyAwLTMuNCAuMS0xNi45IC45LTMyLjggOC41LTQ0LjIgMjEuMXpNMTE2LjYgMTgyLjdMMjIzLjQgNjQgMTgzLjggNjRjLTI1LjUgMC00OS45IDEwLjEtNjcuOSAyOC4xTDExMiA5NiAwIDMyIDAgMzIwIDE1Ni40IDQ1MC4zYzIzIDE5LjIgNTIgMjkuNyA4MS45IDI5LjdsMTUuNyAwLTctN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDQxIDQxIDkgMGMxOS4xIDAgMzcuOC00LjMgNTQuOC0xMi4zTDM1OSA0NDFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwzMiAzMiAxNy41LTE3LjVjOC45LTguOSAxMS41LTIxLjggNy42LTMzLjFsLTEzNy45LTEzNi44LTE0LjkgMTQuOWMtNDkuMyA0OS4zLTEyOS4xIDQ5LjMtMTc4LjQgMC0yMy0yMy0yMy45LTU5LjktMi4yLTg0eiJdfSxQVXQ9WmVlLElVdD1aZWUsUG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1za2lpbmciLGljb246WzU3Niw1MTIsWzk5NzUsInNraWluZyJdLCJmN2M5IiwiTTQxNiA1NmE1NiA1NiAwIDEgMSAxMTIgMCA1NiA1NiAwIDEgMSAtMTEyIDB6TTIuNyAzMDAuOWM2LjEtMTEuOCAyMC42LTE2LjMgMzIuNC0xMC4ybDE5Ny44IDEwMi43IDYyLjMtODcuMi04Mi05Mi4yYy0xMS0xMi40LTE2LjItMjcuNS0xNi4yLTQyLjRsMTExLjYgNTMuNCA0Mi45IDQ4LjJjMTQuOSAxNi43IDE2LjIgNDEuNiAzLjIgNTkuOGwtNjQuNCA5MC4yIDEyOC4zIDY2LjZjMTMuNiA3LjEgMjkuOCA3LjIgNDMuNiAuM2wxNS4yLTcuNmMxMS45LTUuOSAyNi4zLTEuMSAzMi4yIDEwLjdzMS4xIDI2LjMtMTAuNyAzMi4ybC0xNS4yIDcuNmMtMjcuNSAxMy43LTU5LjkgMTMuNS04Ny4yLS43TDEyLjkgMzMzLjNDMS4yIDMyNy4yLTMuNCAzMTIuNyAyLjcgMzAwLjl6TTEwMyA0OS42bDE4IDguNyA4LjctMTcuNGM0LTcuOSAxMy42LTExLjEgMjEuNS03LjJzMTEuMSAxMy42IDcuMiAyMS41bC04LjUgMTcgODQuOCA0MSAuNC0uMiA3Ni4xLTMzLjhjMzEuMy0xMy45IDY3LjktLjcgODMuMiAyOS45bDI4LjkgNTcuOCA2OC43IDI3LjVjMTYuNCA2LjYgMjQuNCAyNS4yIDE3LjggNDEuNnMtMjUuMiAyNC40LTQxLjYgMTcuOEwzOTMuOCAyMjRjLTEwLjktNC40LTE5LjgtMTIuNi0yNS4xLTIzLjFsLTExLjUtMjMuMWMtMTYuNCA5LjQtMjUuOSAxNC44LTI4LjUgMTYuM2wtNy42LTMuNy0xODUuNi04OS42LTkuMiAxOC4zYy00IDcuOS0xMy42IDExLjEtMjEuNSA3LjJzLTExLjEtMTMuNi03LjItMjEuNWw5LTE3LjktMTcuNi04LjVDODEuMSA3NC42IDc3LjggNjUgODEuNiA1N1M5NSA0NS43IDEwMyA0OS42eiJdfSxOVXQ9UG1lLFJVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmlkZ2Utd2F0ZXIiLGljb246WzY0MCw1MTIsW10sImU0Y2UiLCJNNjQgNjRsNTEyIDAgMCAxMTJjLTM3LjYgOS40LTY0IDQzLjItNjQgODJsMCA3Ni40Yy0yMS05LjctNDMuNS0xNC41LTY2LTE0LjQtMTAgLjEtMjAuMSAxLjEtMzAgMy4xbDAtMzUuMWMwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmwwIDMyLjdjLTUuMy0uNS0xMC43LS44LTE2LS43LTI3LjcgLjItNTUuNCA3LjgtODAgMjNsMC04NWMwLTM4LjgtMjYuNC03Mi42LTY0LTgyTDY0IDY0ek00MDMuNCA0NDQuMUMzNzkuMSA0NjIuMyAzNTEuMSA0ODAgMzIwIDQ4MHMtNTkuMS0xNy43LTgzLjQtMzUuOWMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDAtMjMuOCAxNy45LTU0LjEgMzUuNS04OC4xIDM1LjMtMjAuNC0uMS00MC43LTYuNy01OS44LTIxLjEtMTAuNi04LTEyLjctMjMtNC43LTMzLjZzMjMtMTIuNyAzMy42LTQuN2MxMS4zIDguNSAyMS42IDExLjQgMzEuMiAxMS41IDE3LjYgLjEgMzcuMy05LjQgNTguOS0yNS43IDM4LjQtMjkgOTAuNS0yOSAxMjkgMCAyNCAxOC4xIDQwLjcgMjYuMyA1NC41IDI2LjNzMzAuNS04LjIgNTQuNS0yNi4zYzM4LjQtMjkgOTAuNS0yOSAxMjkgMCAxNi45IDEyLjcgMzIuOSAyMS41IDQ3LjggMjQuNiAxMy43IDIuOCAyNy40IC45IDQyLjMtMTAuMyAxMC42LTggMjUuNi01LjkgMzMuNiA0LjdzNS45IDI1LjYtNC43IDMzLjZjLTI2LjQgMTkuOS01NC4yIDI0LjQtODAuNyAxOS4xLTI1LjMtNS4xLTQ4LjEtMTguOS02Ny4yLTMzLjMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDB6Il19LE9VdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1uZ28iLGljb246WzU3Niw1MTIsW10sImU0ZDciLCJNMTI4IDBDOTIuNyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDggMCAwLTExMmMwLTM1LjMgMjguNy02NCA2NC02NGwyMDggMCAwLTI3MmMwLTM1LjMtMjguNy02NC02NC02NEwxMjggMHptMzIgMTEyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTMwNCA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xNjAgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE0NC0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek01MjAgMzgwYy0yNC4zIDAtNDQgMTkuNy00NCA0NGwwIDgwYzAgMjQuMyAxOS43IDQ0IDQ0IDQ0bDE2IDBjMjQuMyAwIDQ0LTE5LjcgNDQtNDRsMC04MGMwLTI0LjMtMTkuNy00NC00NC00NGwtMTYgMHptLTQgNDRjMC0yLjIgMS44LTQgNC00bDE2IDBjMi4yIDAgNCAxLjggNCA0bDAgODBjMCAyLjItMS44IDQtNCA0bC0xNiAwYy0yLjIgMC00LTEuOC00LTRsMC04MHptLTE2OCAwbDAgODBjMCAyNC4zIDE5LjcgNDQgNDQgNDRsMTYgMGMyNC4zIDAgNDQtMTkuNyA0NC00NGwwLTI0YzAtMTEtOS0yMC0yMC0yMGwtOCAwYy0xMSAwLTIwIDktMjAgMjAgMCA2LjUgMy4xIDEyLjQgOCAxNmwwIDhjMCAyLjItMS44IDQtNCA0bC0xNiAwYy0yLjIgMC00LTEuOC00LTRsMC04MGMwLTIuMiAxLjgtNCA0LTRsMjAuNCAwYzEuOSA5LjEgOS45IDE2IDE5LjYgMTYgMTEgMCAyMC05IDIwLTIwIDAtMTkuOS0xNi4xLTM2LTM2LTM2bC0yNCAwYy0yNC4zIDAtNDQgMTkuNy00NCA0NHptLTkwLjEtMzIuOWMtNC4xLTguMy0xMy41LTEyLjctMjIuNS0xMC41UzIyMCAzOTAuNyAyMjAgNDAwbDAgMTI4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtNDMuMyAyNi4xIDUyLjJjNC4xIDguMyAxMy41IDEyLjcgMjIuNSAxMC41UzMyNCA1MzcuMyAzMjQgNTI4bDAtMTI4YzAtMTEtOS0yMC0yMC0yMHMtMjAgOS0yMCAyMGwwIDQzLjMtMjYuMS01Mi4yeiJdfSxGVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaWdsb28iLGljb246WzU3Niw1MTIsW10sImY3YWUiLCJNMzIwIDMzLjhsMCAxMjYuMi0yNzEuNSAwYzUxLjctNzcuMiAxMzkuNi0xMjggMjM5LjUtMTI4IDEwLjggMCAyMS41IC42IDMyIDEuOHpNMzY4IDE2MGwwLTExNi43YzY2IDE5IDEyMi4yIDYxIDE1OS41IDExNi43TDM2OCAxNjB6TTIyLjYgMjA4bDczLjQgMCAwIDExMi05NiAwYzAtMzkuNyA4LTc3LjYgMjIuNi0xMTJ6TTE3NiAzMjBsLTMyIDAgMC0xMTIgMjg4IDAgMCAxMTItMzIgMCAwIDQ4IDE3NiAwIDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTY0IDE3NiAwIDAtNDh6bTMwNCAwbDAtMTEyIDczLjQgMEM1NjggMjQyLjQgNTc2IDI4MC4zIDU3NiAzMjBsLTk2IDB6TTI4OCAyODhjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgODAgMTI4IDAgMC04MGMwLTM1LjMtMjguNy02NC02NC02NHoiXX0sSW1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1kb2xsYXItdG8tc2xvdCIsaWNvbjpbNTc2LDUxMixbImRvbmF0ZSJdLCJmNGI5IiwiTTk2IDIyNGExOTIgMTkyIDAgMSAxIDM4NCAwIDE5MiAxOTIgMCAxIDEgLTM4NCAwem0xNzYtOTJsMCA0Yy0yOC44IC4zLTUyIDIzLjctNTIgNTIuNSAwIDI1LjcgMTguNSA0Ny42IDQzLjkgNTEuOGw0MS43IDdjNiAxIDEwLjQgNi4yIDEwLjQgMTIuMyAwIDYuOS01LjYgMTIuNS0xMi41IDEyLjVMMjQ4IDI3MmMtMTEgMC0yMCA5LTIwIDIwczkgMjAgMjAgMjBsMjQgMCAwIDRjMCAxMSA5IDIwIDIwIDIwczIwLTkgMjAtMjBsMC00LjdjMjUtNC4xIDQ0LTI1LjcgNDQtNTEuOCAwLTI1LjctMTguNS00Ny42LTQzLjktNTEuOGwtNDEuNy03Yy02LTEtMTAuNC02LjItMTAuNC0xMi4zIDAtNi45IDUuNi0xMi41IDEyLjUtMTIuNWw0Ny41IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC04IDAgMC00YzAtMTEtOS0yMC0yMC0yMHMtMjAgOS0yMCAyMHpNNDggMzQ0bDAgMTA0YzAgOC44IDcuMiAxNiAxNiAxNmw0NDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEwNGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMzQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6Il19LEJVdD1JbWUsSFV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InkiLGljb246WzM4NCw1MTIsWzEyMV0sIjU5IiwiTTU4IDQ1LjRDNDcuOCAzMSAyNy44IDI3LjcgMTMuNCAzOFMtNC4zIDY4LjIgNiA4Mi42TDE2MCAyOTguMyAxNjAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNDkuNyAxNTQtMjE1LjdjMTAuMy0xNC40IDYuOS0zNC40LTcuNC00NC42UzMzNi4yIDMxIDMyNiA0NS40TDE5MiAyMzIuOSA1OCA0NS40eiJdfSxObWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1zbWlsZS13aW5rIixpY29uOls1MTIsNTEyLFsxMjg1MjEsInNtaWxlLXdpbmsiXSwiZjRkYSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTY1LjQgMzIxLjljMjAuNCAyOCA1My40IDQ2LjEgOTAuNiA0Ni4xczcwLjItMTguMSA5MC42LTQ2LjFjNy44LTEwLjcgMjIuOC0xMy4xIDMzLjUtNS4zczEzLjEgMjIuOCA1LjMgMzMuNUMzNTYuMyAzOTAgMzA5LjIgNDE2IDI1NiA0MTZzLTEwMC4zLTI2LTEyOS40LTY1LjljLTcuOC0xMC43LTUuNC0yNS43IDUuMy0zMy41czI1LjctNS40IDMzLjUgNS4zek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE2NCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGMwLTMzLjEgMjYuOS02MCA2MC02MGwxNiAwYzMzLjEgMCA2MCAyNi45IDYwIDYwIDAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMC05LTIwLTIwLTIwbC0xNiAwYy0xMSAwLTIwIDktMjAgMjB6Il19LHFVdD1ObWUsVlV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpY2UtZm91ciIsaWNvbjpbNDQ4LDUxMixbOTg1OV0sImY1MjQiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6bTE2MCA2NGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0xMjggMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHpNMzUyIDE2MGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwek0zMjAgMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sUm1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1zcXVpbnQtdGVhcnMiLGljb246WzU3Niw1MTIsWzEyOTMxNSwiZ3Jpbi1zcXVpbnQtdGVhcnMiXSwiZjU4NiIsIk01NjAgMzUuNGMwIDI1LjYtMTguOCA0Ny4zLTQ0LjEgNTAuOUw0NjkuMSA5M2MtMTAuNiAxLjUtMTkuNi03LjUtMTguMS0xOC4xbDYuNy00Ni43QzQ2MS4zIDIuOCA0ODMtMTYgNTA4LjYtMTYgNTM3LTE2IDU2MCA3IDU2MCAzNS40ek00MDMuNSA2OC4xYy02IDQyLjIgMzAuMiA3OC40IDcyLjQgNzIuNGwzNy44LTUuNEM1NjUuNyAyMzIgNTUwLjggMzU1LjMgNDY5IDQzN3MtMjA1IDk2LjYtMzAxLjkgNDQuN2w1LjQtMzcuOGM2LTQyLjItMzAuMi03OC40LTcyLjQtNzIuNGwtMzcuOCA1LjRDMTAuMyAyODAgMjUuMiAxNTYuNyAxMDcgNzVTMzEyLTIxLjcgNDA4LjkgMzAuM2wtNS40IDM3Ljh6TTQxNy44IDIwMWMtMTkuMSAzNi40LTQ1LjYgNzIuNy03OC45IDEwNnMtNjkuNiA1OS44LTEwNiA3OC45Yy0xMS4xIDUuOC0xMi40IDIxLjQtMS4xIDI2LjYgNTkuMiAyNy41IDEzMS44IDE2LjggMTgwLjYtMzJzNTkuNS0xMjEuNCAzMi0xODAuNmMtNS4zLTExLjMtMjAuOC0xMC0yNi42IDEuMXpNMTEzLjkgMjcwLjZjMS43IDggOSAxMy40IDE3LjEgMTIuN2w0My4xLTMuOS0zLjkgNDMuMWMtLjcgOC4xIDQuNyAxNS41IDEyLjcgMTcuMXMxNS45LTIuOSAxOC40LTEwLjZsMjgtODQuNmMxLjktNS43IC40LTEyLjEtMy45LTE2LjNzLTEwLjYtNS44LTE2LjMtMy45bC04NC42IDI4Yy03LjcgMi42LTEyLjMgMTAuNS0xMC42IDE4LjV6TTMxNS4yIDk5LjFjLjctOC4xLTQuNy0xNS41LTEyLjctMTcuMXMtMTUuOSAyLjktMTguNSAxMC42bC0yOCA4NC42Yy0xLjkgNS43LS40IDEyLjEgMy45IDE2LjNzMTAuNiA1LjggMTYuMyAzLjlsODQuNi0yOGM3LjctMi42IDEyLjMtMTAuNSAxMC42LTE4LjRzLTktMTMuNC0xNy4xLTEyLjdsLTQzLjEgMy45IDMuOS00My4xek02MC4xIDQyNS43bDQ2LjctNi43YzEwLjYtMS41IDE5LjYgNy41IDE4LjEgMTguMWwtNi43IDQ2LjdDMTE0LjcgNTA5LjIgOTMgNTI4IDY3LjQgNTI4IDM5IDUyOCAxNiA1MDUgMTYgNDc2LjYgMTYgNDUxIDM0LjggNDI5LjMgNjAuMSA0MjUuN3oiXX0salV0PVJtZSxVVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1hdWRpbyIsaWNvbjpbMzg0LDUxMixbXSwiZjFjNyIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXptNTMuOCAxODUuMmMtOS4xLTYuMy0yMS41LTQuMS0yNy44IDVzLTQuMSAyMS41IDUgMjcuOGMyMy45IDE2LjcgMzkuNCA0NC4zIDM5LjQgNzUuNXMtMTUuNiA1OC45LTM5LjQgNzUuNWMtOS4xIDYuMy0xMS4zIDE4LjgtNSAyNy44czE4LjggMTEuMyAyNy44IDVjMzQuMS0yMy44IDU2LjYtNjMuNSA1Ni42LTEwOC4zUzI5NiAyNjcuNSAyNjEuOCAyNDMuN3pNODAgMzEyYy04LjggMC0xNiA3LjItMTYgMTZsMCA0OGMwIDguOCA3LjIgMTYgMTYgMTZsMjQgMCAyNy4yIDM0YzMgMy44IDcuNiA2IDEyLjUgNmwuMyAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTEyOGMwLTguOC03LjItMTYtMTYtMTZsLS4zIDBjLTQuOSAwLTkuNSAyLjItMTIuNSA2bC0yNy4yIDM0LTI0IDB6bTEyOCA3Mi4yYzAgMTAuNyAxMC41IDE4LjIgMTguOSAxMS42IDEyLjktMTAuMyAyMS4xLTI2LjEgMjEuMS00My44cy04LjItMzMuNS0yMS4xLTQzLjhjLTguNC02LjctMTguOSAuOS0xOC45IDExLjZsMCA2NC41eiJdfSxXVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLWRvd24tdG8tbGluZSIsaWNvbjpbNTEyLDUxMixbXSwiZTRiOCIsIk0yMTQuNiAzMTAuNmwtNjQgNjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC02NC02NGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAyNzQuNyA5NiAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMjQyLjcgOS40LTkuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zem0yNTYgMGwtNjQgNjRjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC02NC02NGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGw5LjQgOS40IDAtMjQyLjdjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDI0Mi43IDkuNC05LjRjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM3pNMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDQ0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMnoiXX0sR1V0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImciLGljb246WzQ0OCw1MTIsWzEwM10sIjQ3IiwiTTIyNCA5NkMxMzUuNiA5NiA2NCAxNjcuNiA2NCAyNTZzNzEuNiAxNjAgMTYwIDE2MGM3Ny40IDAgMTQyLTU1IDE1Ni44LTEyOEwyNTYgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE0NCAwYzI1LjggMCA0OS42IDIxLjQgNDcuMiA1MC42LTkuNSAxMTUtMTA1LjggMjA1LjQtMjIzLjIgMjA1LjQtMTIzLjcgMC0yMjQtMTAwLjMtMjI0LTIyNFMxMDAuMyAzMiAyMjQgMzJjNTcuNCAwIDEwOS43IDIxLjYgMTQ5LjMgNTcgMTMuMiAxMS44IDE0LjMgMzIgMi41IDQ1LjJzLTMyIDE0LjMtNDUuMiAyLjVDMzAyLjMgMTExLjQgMjY1IDk2IDIyNCA5NnoiXX0sWVV0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpaGFyYSIsaWNvbjpbNTc2LDUxMixbXSwiZjZhNyIsIk0yNzMuNi0zLjJjOC41LTYuNCAyMC4zLTYuNCAyOC44IDBMNDQzLjIgMTAyLjRjOC4zIDYuMiAxOC40IDkuNiAyOC44IDkuNiAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjQgMCAwIDQ4IDU4LjcgNjQgMTMuMyAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04IDAgMCA0OCAyNC40IDMyIDE1LjYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDAgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMTI4IDAgMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTEyOCAwIDAgMzJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi00MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDIyLjEgMCAxNy45LTMyIDAtNDgtOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEzLjMgMCA1OC43LTY0IDAtNDgtMjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMxMC40IDAgMjAuNS0zLjQgMjguOC05LjZMMjczLjYtMy4yek0xMjggMzY4bDMyMCAwIDAtNDgtMzIwIDAgMCA0OHpNMzg0IDE2MGwtMTkyIDAgMCA0OCAxOTIgMCAwLTQ4eiJdfSxLVXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmxhZy1jaGVja2VyZWQiLGljb246WzQ0OCw1MTIsWzEyNzkzN10sImYxMWUiLCJNMzIgMEM0OS43IDAgNjQgMTQuMyA2NCAzMmwwIDE2IDY5LTE3LjJjMzguMS05LjUgNzguMy01LjEgMTEzLjUgMTIuNSA0Ni4zIDIzLjIgMTAwLjggMjMuMiAxNDcuMSAwbDkuNi00LjhDNDIzLjggMjguMSA0NDggNDMuMSA0NDggNjYuMWwwIDI3OS43YzAgMTMuMy04LjMgMjUuMy0yMC44IDMwbC0zNC43IDEzYy00Ni4yIDE3LjMtOTcuNiAxNC42LTE0MS43LTcuNC0zNy45LTE5LTgxLjQtMjMuNy0xMjIuNS0xMy40TDY0IDM4NCA2NCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA0OTcuNyAwIDQ4MEwwIDMyQzAgMTQuMyAxNC4zIDAgMzIgMHpNNjQgMTg3LjFsNjQtMTMuOSAwIDY1LjUtNjQgMTMuOSAwIDY1LjUgNDguOC0xMi4yYzUuMS0xLjMgMTAuMS0yLjQgMTUuMi0zLjNsMC02My45IDM4LjktOC40YzguMy0xLjggMTYuNy0yLjUgMjUuMS0yLjFsMC02NGMxMy42IC40IDI3LjIgMi42IDQwLjQgNi40bDIzLjYgNi45IDAgNjYuNy00MS43LTEyLjNjLTcuMy0yLjEtMTQuOC0zLjQtMjIuMy0zLjhsMCA3MS40YzIxLjggMS45IDQzLjMgNi43IDY0IDE0LjRsMC02OS44IDIyLjcgNi43YzEzLjUgNCAyNy4zIDYuNCA0MS4zIDcuNGwwLTY0LjJjLTcuOC0uOC0xNS42LTIuMy0yMy4yLTQuNWwtNDAuOC0xMiAwLTYyYy0xMy0zLjgtMjUuOC04LjgtMzguMi0xNS04LjItNC4xLTE2LjktNy0yNS44LTguOGwwIDcyLjRjLTEzLS40LTI2IC44LTM4LjcgMy42bC0yNS4zIDUuNSAwLTc1LjItNjQgMTYgMCA3My4xek0zMjAgMzM1LjdjMTYuOCAxLjUgMzMuOS0uNyA1MC02LjhsMTQtNS4yIDAtNzEuNy03LjkgMS44Yy0xOC40IDQuMy0zNy4zIDUuNy01Ni4xIDQuNWwwIDc3LjR6bTY0LTE0OS40bDAtNzAuOGMtMjAuOSA2LjEtNDIuNCA5LjEtNjQgOS4xbDAgNjkuNGMxMy45IDEuNCAyOCAuNSA0MS43LTIuNmwyMi4zLTUuMnoiXX0sWGVlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdhdWdlLXNpbXBsZSIsaWNvbjpbNTEyLDUxMixbImdhdWdlLXNpbXBsZS1tZWQiLCJ0YWNob21ldGVyLWF2ZXJhZ2UiXSwiZjYyOSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwem0zMjAgOTZjMC0yNi45LTE2LjUtNDkuOS00MC01OS4zTDI4MCAxMjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxNzIuN2MtMjMuNSA5LjUtNDAgMzIuNS00MCA1OS4zIDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6Il19LFpVdD1YZWUsWFV0PVhlZSxPbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmlnaHQtbGVmdCIsaWNvbjpbNTEyLDUxMixbImV4Y2hhbmdlLWFsdCJdLCJmMzYyIiwiTTUwMi42IDE1MC42bC05NiA5NmMtOS4yIDkuMi0yMi45IDExLjktMzQuOSA2LjlTMzUyIDIzNi45IDM1MiAyMjRsMC02NC0zMjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJTMTQuMyA5NiAzMiA5NmwzMjAgMCAwLTY0YzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZzMjUuNy0yLjIgMzQuOSA2LjlsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjN6bS0zOTcuMyAzNTJsLTk2LTk2Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w5Ni05NmM5LjItOS4yIDIyLjktMTEuOSAzNC45LTYuOVMxNjAgMjc1LjEgMTYwIDI4OGwwIDY0IDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMjAgMCAwIDY0YzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZzLTI1LjcgMi4yLTM0LjktNi45eiJdfSxRVXQ9T21lLEpVdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaWxscyIsaWNvbjpbNTEyLDUxMixbXSwiZjQ4NCIsIk02NCAxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDExMi05NiAwIDAtMTEyek0xNzYgMzY4YzAtNDguNyAxOC4xLTkzLjIgNDgtMTI3bDAtMTI5QzIyNCA1MC4xIDE3My45IDAgMTEyIDBTMCA1MC4xIDAgMTEyTDAgNDAwYzAgNjEuOSA1MC4xIDExMiAxMTIgMTEyIDM3LjMgMCA3MC4zLTE4LjIgOTAuNy00Ni4zLTE3LTI4LjYtMjYuNy02Mi0yNi43LTk3Ljd6bTY0LjcgNjcuNGM0LjYgOC43IDE2LjMgOS43IDIzLjMgMi43TDQzOC4xIDI2NGM3LTcgNi0xOC43LTIuNy0yMy4zLTIwLjEtMTAuNy00My0xNi43LTY3LjQtMTYuNy03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NCAwIDI0LjMgNiA0Ny4zIDE2LjcgNjcuNHpNMjk3LjkgNDcyYy03IDctNiAxOC43IDIuNyAyMy4zIDIwLjEgMTAuNyA0MyAxNi43IDY3LjQgMTYuNyA3OS41IDAgMTQ0LTY0LjUgMTQ0LTE0NCAwLTI0LjMtNi00Ny4zLTE2LjctNjcuNC00LjYtOC43LTE2LjMtOS43LTIzLjMtMi43TDI5Ny45IDQ3MnoiXX0sZVd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImV4cGxvc2lvbiIsaWNvbjpbNTEyLDUxMixbXSwiZTRlOSIsIk0yNTYtMzJjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0em0wIDE2MGMxMi40IDAgMjIuNyA5LjQgMjMuOSAyMS43TDI5My40IDI5MS42IDQ2Ny42IDExLjNjNi43LTEwLjcgMjAuNS0xNC41IDMxLjctOC41czE1LjggMTkuNSAxMC42IDMxTDM3Mi44IDMzOC42YzIuMiAyLjMgNC4zIDQuNyA2LjMgNy4xbDk3LjItNTQuN2MxMC41LTUuOSAyMy42LTMuMSAzMC45IDYuNHM2LjMgMjMtMi4yIDMxLjVsLTg3IDg3LTcxLjQgMGMtMTMuMi0zNy4zLTQ4LjctNjQtOTAuNS02NHMtNzcuNCAyNi43LTkwLjUgNjRsLTc5LjYgMC03NS41LTUyLjNDLjYgMzU3LTIuOCAzNDQuMSAyLjQgMzMzLjVzMTcuNC0xNS45IDI4LjctMTIuNGw5Ny4yIDMwLjRjMy0zLjkgNi4xLTcuNiA5LjQtMTEuM0w3NS40IDIzNi4zYy02LjEtMTAuMS0zLjktMjMuMSA1LjEtMzAuN3MyMi4yLTcuNSAzMS4xIC4xTDIxNCAyOTMuNmMxLjUtLjQgMy0uOCA0LjUtMS4xbDEzLjYtMTQyLjdjMS4yLTEyLjMgMTEuNS0yMS43IDIzLjktMjEuN3pNMzIgNDY0bDQ1NiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw4IDB6Il19LHRXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3MtZG93bi10by1wZW9wbGUiLGljb246WzUxMiw1MTIsW10sImU0YjkiLCJNMTEzIDE1M2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBMMTUgODlDNS43IDc5LjYgNS43IDY0LjQgMTUgNTVTMzkuNiA0NS43IDQ5IDU1TDcyIDc4LjEgNzItOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgODYuMSAyMy0yM2M5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlsLTY0IDY0em0zMjAgMGMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBMMzM1IDg5Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMjMgMjMgMC04Ni4xYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA4Ni4xIDIzLTIzYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNjQgNjR6TTI1NiAxOTJhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6bTAgMTYwYzUzIDAgOTYgNDMgOTYgOTZsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjMC01MyA0My05NiA5Ni05NnpNMzIgMjg4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6bTM1MiAwYTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTgwIDM2OGMxNS4zIDAgMjkuNiA0LjMgNDEuOCAxMS44LTYuMyAxNi4yLTkuOCAzMy44LTkuOCA1Mi4ybDAgNDhjMCAxMS40IDIuNCAyMi4yIDYuNyAzMmwtODcuOCAwQzEzLjggNTEyIDAgNDk4LjIgMCA0ODEuMUwwIDQ0OGMwLTQ0LjIgMzUuOC04MCA4MC04MHpNMzkzLjMgNTEyYzQuMy05LjggNi43LTIwLjYgNi43LTMybDAtNDhjMC0xOC40LTMuNS0zNi05LjgtNTIuMiAxMi4yLTcuNSAyNi41LTExLjggNDEuOC0xMS44IDQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMzMuMWMwIDE3LTEzLjggMzAuOS0zMC45IDMwLjlsLTg3LjggMHoiXX0sYVd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXJzLXZpZXdmaW5kZXIiLGljb246WzU3Niw1MTIsW10sImU1OTUiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRsMCA3MmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNzJjMC04LjggNy4yLTE2IDE2LTE2bDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRTMTQ5LjMgMCAxMzYgMEw2NCAwek00NDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw3MiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDcyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC03MmMwLTM1LjMtMjguNy02NC02NC02NEw0NDAgMHpNNDggMzc2YzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMzYyLjcgMCAzNzZsMCA3MmMwIDM1LjMgMjguNyA2NCA2NCA2NGw3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC03MiAwYy04LjggMC0xNi03LjItMTYtMTZsMC03MnptNTI4IDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA3MmMwIDguOC03LjIgMTYtMTYgMTZsLTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNzIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTcyek0yODggMjE2YTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyem0wIDQwYy01MyAwLTk2IDQzLTk2IDk2bDAgMjRjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0yNGMwLTUzLTQzLTk2LTk2LTk2em0xOTItNjRhNDggNDggMCAxIDAgLTk2IDAgNDggNDggMCAxIDAgOTYgMHpNMTY4IDI3Mi4zYy00OS4zIDQuMS04OCA0NS4zLTg4IDk1LjdsMCAxMC43YzAgMTEuOCA5LjYgMjEuMyAyMS4zIDIxLjNsNDYuOCAwYy0yLjctNy41LTQuMS0xNS42LTQuMS0yNGwwLTI0YzAtMjkuNSA4LjgtNTYuOSAyNC03OS43ek00MjcuOSA0MDBsNDYuOCAwYzExLjggMCAyMS4zLTkuNiAyMS4zLTIxLjNsMC0xMC43YzAtNTAuMy0zOC43LTkxLjYtODgtOTUuNyAxNS4yIDIyLjggMjQgNTAuMiAyNCA3OS43bDAgMjRjMCA4LjQtMS40IDE2LjUtNC4xIDI0ek0xOTIgMTkyYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6Il19LHJXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXItb24iLGljb246WzQ0OCw1MTIsW10sImU0ZGQiLCJNMjQ4LThjMC0xMy4zLTEwLjctMjQtMjQtMjRTMjAwLTIxLjMgMjAwLThsMCA2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNjR6TTE0NS4zIDIwOGwxNTcuNSAwYzYuNyAwIDEyLjYgNC4xIDE1IDEwLjRsMjYuMSA2OS42LTIzOS42IDAgMjYuMS02OS42YzIuMy02LjIgOC4zLTEwLjQgMTUtMTAuNHpNMzQgMjkyLjhsLTEuMyAzLjRDMTMuMiAzMDcuMSAwIDMyOCAwIDM1MkwwIDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMzIgMjg4IDAgMCAzMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMjQtMTMuMi00NC45LTMyLjgtNTUuOWwtMS4zLTMuNC0zNi4zLTk2LjljLTExLjctMzEuMi00MS42LTUxLjktNzQuOS01MS45bC0xNTcuNSAwYy0zMy4zIDAtNjMuMiAyMC43LTc0LjkgNTEuOUwzNCAyOTIuOHpNOTYgMzM2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMjI0IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTcgN0MtMi4zIDE2LjQtMi4zIDMxLjYgNyA0MUw1NSA4OWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMFM5OC4zIDY0LjQgODkgNTVMNDEgN0MzMS42LTIuMyAxNi40LTIuMyA3IDd6TTQwNyA3TDM1OSA1NWMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDQ4LTQ4YzkuNC05LjQgOS40LTI0LjYgMC0zMy45UzQxNi40LTIuMyA0MDcgN3oiXX0sc1d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNsZWlnaCIsaWNvbjpbNjQwLDUxMixbXSwiZjdjYyIsIk02NCAzMkM0Ni4zIDMyIDMyIDQ2LjMgMzIgNjRTNDYuMyA5NiA2NCA5NmwwIDE2MGMwIDQxLjggMjYuNyA3Ny40IDY0IDkwLjVsMCA2OS41LTcyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTA0IDBjNDQuMiAwIDgwLTM1LjggODAtODBsMC04YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtODAgMCAwLTY0YzUzIDAgOTYtNDMgOTYtOTZsMC05NmMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMmMwIDM1LjMtMjguNyA2NC02NCA2NGwtNDguOSAwYy00OC41IDAtOTIuOC0yNy40LTExNC41LTcwLjhsLTI1LjItNTAuNUMyMzcuNyA1OS40IDE5My40IDMyIDE0NC45IDMyTDY0IDMyek00MzIgNDE2bC0yNTYgMCAwLTY0IDI1NiAwIDAgNjR6Il19LGlXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkdW1iYmVsbCIsaWNvbjpbNjQwLDUxMixbXSwiZjQ0YiIsIk05NiAxMTJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDExMiAyNTYgMCAwLTExMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMTYgMTYgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgNDhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTE2IDAgMCAxNmMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGwwLTExMi0yNTYgMCAwIDExMmMwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGwwLTE2LTE2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtNDhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMC00OGMwLTI2LjUgMjEuNS00OCA0OC00OGwxNiAwIDAtMTZ6Il19LEZtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWJ5LWNhcnJpYWdlIixpY29uOls1MTIsNTEyLFsiY2FycmlhZ2UtYmFieSJdLCJmNzdkIiwiTTY0IDIwOGwwIDgwYzAgNTMgNDMgOTYgOTYgOTZsMTkyIDBjNTMgMCA5Ni00MyA5Ni05NmwwLTExMiA0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC02NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDU2LTMzNiAwem0uMi00OGwyMjMuOCAwIDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDIzMiAwQzE0MS45IDAgNjguNCA3MC45IDY0LjIgMTYwek0xNjAgNDY0YTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6bTI4OCAwYTQ4IDQ4IDAgMSAwIC05NiAwIDQ4IDQ4IDAgMSAwIDk2IDB6Il19LG9XdD1GbWUsbld0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imtpd2ktYmlyZCIsaWNvbjpbNTc2LDUxMixbXSwiZjUzNSIsIk0yOTEuMiAzODguNGMzMS4yLTE4LjggNjQuNy0zNi40IDEwMS4xLTM2LjRsNTUuNyAwYzQuNiAwIDkuMS0uMiAxMy42LS43bDg1LjMgMTIxLjljNCA1LjcgMTEuMyA4LjIgMTcuOSA2LjFTNTc2IDQ3MSA1NzYgNDY0bDAtMjQwYzAtNzAuNy01Ny4zLTEyOC0xMjgtMTI4bC01NS43IDBDMzU1LjkgOTYgMzIyLjQgNzguNCAyOTEuMiA1OS42IDI2Mi4zIDQyLjEgMjI4LjMgMzIgMTkyIDMyIDg2IDMyIDAgMTE4IDAgMjI0IDAgMjk1LjEgMzguNiAzNTcuMSA5NiAzOTAuM0w5NiA0NTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQ2YzE1LjMgMy45IDMxLjQgNiA0OCA2IDUuNCAwIDEwLjctLjIgMTYtLjdsMCA0MC43YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC01MC45YzEyLjQtNC40IDI0LjItMTAgMzUuMi0xNi43ek00NDggMjAwYTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHoiXX0sQm1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbGVuZGFyLXhtYXJrIixpY29uOls0NDgsNTEyLFsiY2FsZW5kYXItdGltZXMiXSwiZjI3MyIsIk0xMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDEyOCAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDMyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyODhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzMiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTI5MS45IDIyMC4xYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMGwtMzMuOSAzMy45LTMzLjktMzMuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwzMy45IDMzLjktMzMuOSAzMy45Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDBsMzMuOS0zMy45IDMzLjkgMzMuOWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTMzLjktMzMuOSAzMy45LTMzLjljOS40LTkuNCA5LjQtMjQuNiAwLTMzLjl6Il19LGxXdD1CbWUsSG1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1kb3duIixpY29uOls1MTIsNTEyLFs2MTQ2NiwiYXJyb3ctYWx0LWNpcmNsZS1kb3duIl0sImYzNTgiLCJNMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMiAyNTYgMjU2IDAgMSAwIDAtNTEyek0yNDQuNyAzODcuM2wtMTA0LTEwNGMtNC42LTQuNi01LjktMTEuNS0zLjUtMTcuNHM4LjMtOS45IDE0LjgtOS45bDU2IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTYgNTYgMGM2LjUgMCAxMi4zIDMuOSAxNC44IDkuOXMxLjEgMTIuOS0zLjUgMTcuNGwtMTA0IDEwNGMtNi4yIDYuMi0xNi40IDYuMi0yMi42IDB6Il19LGNXdD1IbWUsZFd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtbWVkaWNhbCIsaWNvbjpbMzg0LDUxMixbXSwiZjQ3NyIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNMTYwIDI4MGwwIDQwLTQwIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmw0MCAwIDAgNDBjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtNDAgNDAgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTQwIDAgMC00MGMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnoiXX0sczQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToieG1hcmsiLGljb246WzM4NCw1MTIsWzEyODQ3MywxMDAwNSwxMDAwNiwxMDA2MCwyMTUsImNsb3NlIiwibXVsdGlwbHkiLCJyZW1vdmUiLCJ0aW1lcyJdLCJmMDBkIiwiTTU1LjEgNzMuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNMMTQ3LjIgMjU2IDkuOSAzOTMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxOTIuNSAzMDEuMyAzMjkuOSA0MzguNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDIzNy44IDI1NiAzNzUuMSAxMTguNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxOTIuNSAyMTAuNyA1NS4xIDczLjR6Il19LHVXdD1zNCxwV3Q9czQsZld0PXM0LGhXdD1zNCxxbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hhcGVzIixpY29uOls1MTIsNTEyLFsidHJpYW5nbGUtY2lyY2xlLXNxdWFyZSJdLCJmNjFmIiwiTTI1NiAwYzExLjIgMCAyMS43IDUuOSAyNy40IDE1LjVsOTYgMTYwYzUuOSA5LjkgNi4xIDIyLjIgLjQgMzIuMlMzNjMuNSAyMjQgMzUyIDIyNGwtMTkyIDBjLTExLjUgMC0yMi4yLTYuMi0yNy44LTE2LjJzLTUuNS0yMi4zIC40LTMyLjJsOTYtMTYwQzIzNC4zIDUuOSAyNDQuOCAwIDI1NiAwek0xMjggMjcyYTExMiAxMTIgMCAxIDEgMCAyMjQgMTEyIDExMiAwIDEgMSAwLTIyNHptMjAwIDE2bDExMiAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgMTEyYzAgMjIuMS0xNy45IDQwLTQwIDQwbC0xMTIgMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC0xMTJjMC0yMi4xIDE3LjktNDAgNDAtNDB6Il19LG1XdD1xbWUsZ1d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpY2Utb25lIixpY29uOls0NDgsNTEyLFs5ODU2XSwiZjUyNSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMjQgMjI0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sYld0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxvY2stb3BlbiIsaWNvbjpbNTc2LDUxMixbXSwiZjNjMSIsIk0zODQgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NGwwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMmMwLTcwLjctNTcuMy0xMjgtMTI4LTEyOFMzMjAgMjUuMyAzMjAgOTZsMCA2NC0xNjAgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAyMjRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yMjRjMC0zNS4zLTI4LjctNjQtNjQtNjRsLTMyIDAgMC02NHoiXX0sdld0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcHBlci1ob3QiLGljb246WzU3Niw1MTIsWzEyNzc5OF0sImY4MTYiLCJNNTQ1IDY1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBMNDc4LjkgNjMuMkM0NTIuMyA0My42IDQxOS41IDMyIDM4NCAzMiAzNDguOSAzMiAzMTYuNSA0My4zIDI5MC4xIDYyLjQgMjc0LjEgNzQuMSAyODQuMiA5NiAzMDQgOTZsMjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyNGMwIDE5LjggMjEuOSAyOS45IDMzLjYgMTMuOSAxOS4xLTI2LjQgMzAuNC01OC44IDMwLjQtOTMuOSAwLTM1LjUtMTEuNi02OC4zLTMxLjItOTQuOUw1NDUgNjV6TTI3MCAxMzUuNWwtMTU5LjYgMjI4QzEwMS4zIDM3Ni40IDg2LjcgMzg0IDcxIDM4NGwtNyAwYy0yNi41IDAtNDggMjEuNS00OCA0OHMyMS41IDQ4IDQ4IDQ4bDI3LjEgMGM2NS43IDAgMTI5LjctMjAuMiAxODMuNS01Ny44TDQ0MC41IDMwNi4xQzQzNSAyOTUuOSA0MzIgMjg0LjIgNDMyIDI3MmwtNTYgMGMtMzkuOCAwLTcyLTMyLjItNzItNzJsMC01NmMtMTIuMiAwLTIzLjktMy0zNC04LjV6Il19LFZtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkcm9wbGV0LXNsYXNoIixpY29uOls1NzYsNTEyLFsidGludC1zbGFzaCJdLCJmNWM3IiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNDYzLjYgMzk3LjhjMTAuNS0yMy44IDE2LjQtNTAuMSAxNi40LTc3LjggMC05MS4yLTEzMC4yLTI3NC4xLTE2Ni42LTMyMy41LTUuOS04LTE1LjItMTIuNS0yNS4yLTEyLjVsLS40IDBjLTEwIDAtMTkuMyA0LjUtMjUuMiAxMi41LTE1LjYgMjEuMi00OC41IDY2LjktODAuOSAxMTkuNEw0MS0yNC45em05MiAyMjcuN2MtMjEuNiA0My44LTM3IDg1LjktMzcgMTE3LjIgMCAxMDYgODYgMTkyIDE5MiAxOTIgNDMuNCAwIDgzLjQtMTQuNCAxMTUuNS0zOC42TDEzMyAyMDIuOHoiXX0seFd0PVZtZSxqbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZHJvcGxldCIsaWNvbjpbMzg0LDUxMixbMTI4MTY3LCJ0aW50Il0sImYwNDMiLCJNMTkyIDUxMkM4NiA1MTIgMCA0MjYgMCAzMjAgMCAyMjguOCAxMzAuMiA0NS45IDE2Ni42LTMuNSAxNzIuNS0xMS41IDE4MS44LTE2IDE5MS44LTE2bC40IDBjMTAgMCAxOS4zIDQuNSAyNS4yIDEyLjUgMzYuNCA0OS40IDE2Ni42IDIzMi4zIDE2Ni42IDMyMy41IDAgMTA2LTg2IDE5Mi0xOTIgMTkyek0xMTIgMzEyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0YzAgNzUuMSA2MC45IDEzNiAxMzYgMTM2IDEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0Yy00OC42IDAtODgtMzkuNC04OC04OHoiXX0seVd0PWptZSxRZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1saW5lcyIsaWNvbjpbMzg0LDUxMixbMTI4NDQxLDEyODQ2Miw2MTY4NiwiZmlsZS1hbHQiLCJmaWxlLXRleHQiXSwiZjE1YyIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNMTIwIDI1NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6bTAgOTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAweiJdfSx3V3Q9UWVlLE1XdD1RZWUsa1d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbW1lbnRzLWRvbGxhciIsaWNvbjpbNTc2LDUxMixbXSwiZjY1MyIsIk0xOTIgMzIwYzEwNiAwIDE5Mi03OC44IDE5Mi0xNzZTMjk4LTMyIDE5Mi0zMiAwIDQ2LjggMCAxNDRjMCAzOS42IDE0LjMgNzYuMiAzOC40IDEwNS42TDIuOCAzMTYuOEMtMi4xIDMyNi4xLS40IDMzNy41IDcgMzQ1czE4LjkgOS4yIDI4LjIgNC4yTDExNi44IDMwNmMyMy4xIDkgNDguNSAxNCA3NS4yIDE0em0zLjIgNDhjMTYuNCA4MS45IDk0LjcgMTQ0IDE4OC44IDE0NCAyNi43IDAgNTIuMS01IDc1LjItMTRsODEuNiA0My4yYzkuMyA0LjkgMjAuNyAzLjIgMjguMi00LjJzOS4yLTE4LjkgNC4yLTI4LjJsLTM1LjYtNjcuMmMyNC4xLTI5LjQgMzguNC02NiAzOC40LTEwNS42IDAtODIuNC02MS43LTE1MS41LTE0NS0xNzAuNy0xMS41IDExNS44LTExNS44IDIwMS4yLTIzNS44IDIwMi43ek0xOTYgMzJjMTEgMCAyMCA5IDIwIDIwbDAgNCA4IDBjMTEgMCAyMCA5IDIwIDIwcy05IDIwLTIwIDIwbC00Ny41IDBjLTYuOSAwLTEyLjUgNS42LTEyLjUgMTIuNSAwIDYuMSA0LjQgMTEuMyAxMC40IDEyLjNsNDEuNyA3YzI1LjMgNC4yIDQzLjkgMjYuMSA0My45IDUxLjggMCAyNi4xLTE5IDQ3LjctNDQgNTEuOGwwIDQuN2MwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC00LTI0IDBjLTExIDAtMjAtOS0yMC0yMHM5LTIwIDIwLTIwbDU1LjUgMGM2LjkgMCAxMi41LTUuNiAxMi41LTEyLjUgMC02LjEtNC40LTExLjMtMTAuNC0xMi4zbC00MS43LTdjLTI1LjMtNC4yLTQzLjktMjYuMS00My45LTUxLjggMC0yOC44IDIzLjItNTIuMiA1Mi01Mi41bDAtNGMwLTExIDktMjAgMjAtMjB6Il19LFVtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYWduaWZ5aW5nLWdsYXNzLWxvY2F0aW9uIixpY29uOls1MTIsNTEyLFsic2VhcmNoLWxvY2F0aW9uIl0sImY2ODkiLCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NkMyOTYuMyA0MDEuMSAyNTMuOSA0MTYgMjA4IDQxNiA5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMCA0MTYgOTMuMSA0MTYgMjA4ek0yODggMTc2YzAtNDQuMi0zNS44LTgwLTgwLTgwcy04MCAzNS44LTgwIDgwYzAgNDguOCA0Ni41IDExMS42IDY4LjYgMTM4LjYgNiA3LjMgMTYuOCA3LjMgMjIuNyAwIDIyLjEtMjcgNjguNi04OS44IDY4LjYtMTM4LjZ6bS0xMTIgMGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAweiJdfSxTV3Q9VW1lLE90ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWludm9pY2UiLGljb246WzM4NCw1MTIsW10sImY1NzAiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNzcuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNTguNyAxOC43QzI0Ni43IDYuNyAyMzAuNSAwIDIxMy41IDBMNjQgMHpNMzI1LjUgMTc2TDIzMiAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDIwOCA1OC41IDMyNS41IDE3NnpNNjQgMzg0bDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMkw5NiA0MTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek04OCA2NGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNFM3NC43IDY0IDg4IDY0em0wIDk2bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQ4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LHpXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW50YWdvbiIsaWNvbjpbNTc2LDUxMixbXSwiZTc5MCIsIk0zMTYuNC0zLjFjLTE2LjgtMTIuMi0zOS42LTEyLjItNTYuNCAwTDM1LjMgMTYwLjJjLTE2LjggMTIuMi0yMy45IDMzLjktMTcuNCA1My43bDg1LjggMjY0LjFjNi40IDE5LjggMjQuOSAzMy4yIDQ1LjcgMzMuMmwyNzcuNyAwYzIwLjggMCAzOS4yLTEzLjQgNDUuNy0zMy4ybDg1LjgtMjY0LjFjNi40LTE5LjgtLjYtNDEuNC0xNy40LTUzLjdMMzE2LjQtMy4xeiJdfSxDV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicmVwdWJsaWNhbiIsaWNvbjpbNjQwLDUxMixbXSwiZjc1ZSIsIk0wIDE5MkMwIDEwMy42IDcxLjYgMzIgMTYwIDMybDIyNCAwYzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwbDAgNjQtNTQ0IDAgMC02NHptMTUyLTMyYTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6bTIzMiAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTI4MCAxNjBhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNMTI4IDI4OGw0MTYgMCAwIDExMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtNDhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDQ4YzAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwbDAtNDgtMzIgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0LTE5MiAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTYwIDEyOCAweiJdfSxXbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hvcCIsaWNvbjpbNTc2LDUxMixbInN0b3JlLWFsdCJdLCJmNTRmIiwiTTIxLjUgMTgxLjFMNzguMyA2Ny40Qzg5LjIgNDUuNyAxMTEuMyAzMiAxMzUuNiAzMmwzMDQuOSAwYzI0LjIgMCA0Ni40IDEzLjcgNTcuMiAzNS40bDU2LjggMTEzLjdjMy42IDcuMiA1LjUgMTUuMSA1LjUgMjMuMiAwIDI3LjMtMjEuMiA0OS43LTQ4IDUxLjZMNTEyIDQ0OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE5Mi05NiAwIDAgMTc2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xOTIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNzYuMWMtMjYuOC0xLjktNDgtMjQuMy00OC01MS42IDAtOCAxLjktMTYgNS41LTIzLjJ6TTEyOCAyNTZsMCAxMTJjMCA4LjggNy4yIDE2IDE2IDE2bDEyOCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTExMi0xNjAgMHoiXX0sX1d0PVdtZSxKZWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsbSIsaWNvbjpbNDQ4LDUxMixbMTI3OTAyLDYyMzY4LCJmaWxtLWFsdCIsImZpbG0tc2ltcGxlIl0sImYwMDgiLCJNMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZ6TTQ4IDM2OGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0zMDQtMTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNNDggMjQwbDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTMwNC0xNmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwek00OCAxMTJsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZMNjQgOTZjLTguOCAwLTE2IDcuMi0xNiAxNnpNMzUyIDk2Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6Il19LFRXdD1KZWUsTFd0PUplZSwkV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVpbGRpbmctY2lyY2xlLXhtYXJrIixpY29uOls1NzYsNTEyLFtdLCJlNGQ0IiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTgwIDBjLTEwLjUtMTQuNi0xOS0zMC43LTI1LjEtNDhsLTc0LjkgMCAwLTgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMiAwIDQgLjIgNS45IC41IDYtMjMuNiAxNi4zLTQ1LjQgMzAuMS02NC41bC00IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDRjMjcuNS0xOS44IDYwLjMtMzIuNCA5Ni0zNS40TDQxNiA2NGMwLTM1LjMtMjguNy02NC02NC02NEw5NiAwem0zMiAxMTJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMjcyIDk2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTEyOCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNNDMyIDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTIyLjYtMTQ0bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwbC0zNi43LTM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDM2LjctMzYuNy0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwzNi43IDM2LjcgMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNkw0NTQuNiA0MDB6Il19LERXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21tZW50cyIsaWNvbjpbNTc2LDUxMixbMTI4NDkwLDYxNjcwXSwiZjA4NiIsIk0zODQgMTQ0YzAgOTcuMi04NiAxNzYtMTkyIDE3Ni0yNi43IDAtNTIuMS01LTc1LjItMTRMMzUuMiAzNDkuMmMtOS4zIDQuOS0yMC43IDMuMi0yOC4yLTQuMnMtOS4yLTE4LjktNC4yLTI4LjJsMzUuNi02Ny4yQzE0LjMgMjIwLjIgMCAxODMuNiAwIDE0NCAwIDQ2LjggODYtMzIgMTkyLTMyUzM4NCA0Ni44IDM4NCAxNDR6bTAgMzY4Yy05NC4xIDAtMTcyLjQtNjIuMS0xODguOC0xNDQgMTIwLTEuNSAyMjQuMy04Ni45IDIzNS44LTIwMi43IDgzLjMgMTkuMiAxNDUgODguMyAxNDUgMTcwLjcgMCAzOS42LTE0LjMgNzYuMi0zOC40IDEwNS42bDM1LjYgNjcuMmM0LjkgOS4zIDMuMiAyMC43LTQuMiAyOC4ycy0xOC45IDkuMi0yOC4yIDQuMkw0NTkuMiA0OThjLTIzLjEgOS00OC41IDE0LTc1LjIgMTR6Il19LEFXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWdzIixpY29uOls1NzYsNTEyLFtdLCJmMDJjIiwiTTQwMS4yIDM5LjFMNTQ5LjQgMTg5LjRjMjcuNyAyOC4xIDI3LjcgNzMuMSAwIDEwMS4yTDM5MyA0NDguOWMtOS4zIDkuNC0yNC41IDkuNS0zMy45IC4ycy05LjUtMjQuNS0uMi0zMy45TDUxNS4zIDI1Ni44YzkuMi05LjMgOS4yLTI0LjQgMC0zMy43TDM2NyA3Mi45Yy05LjMtOS40LTkuMi0yNC42IC4yLTMzLjlzMjQuNi05LjIgMzMuOSAuMnpNMzIuMSAyMjkuNUwzMi4xIDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDEzMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdsMTQ0IDE0NGMyNSAyNSAyNSA2NS41IDAgOTAuNUwyODUuNCA0MTguN2MtMjUgMjUtNjUuNSAyNS05MC41IDBsLTE0NC0xNDRjLTEyLTEyLTE4LjctMjguMy0xOC43LTQ1LjN6bTE0NC04NS41YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LEVXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJndW4iLGljb246WzU3Niw1MTIsW10sImUxOWIiLCJNNTI4IDU2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgOC00NDggMEMxNC4zIDY0IDAgNzguMyAwIDk2TDAgMjA4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEwIDBjMjAuOCAwIDM2LjEgMTkuNiAzMSAzOS44TDMzIDQ0MC4yYy0yLjQgOS42LS4yIDE5LjcgNS44IDI3LjVTNTQuMSA0ODAgNjQgNDgwbDk2IDBjMTQuNyAwIDI3LjUtMTAgMzEtMjQuMkwyMTcgMzUyIDMyMS40IDM1MmMyMy43IDAgNDQuOC0xNC45IDUyLjctMzcuMmwyNi43LTc0LjggMzEuMSAwYzguNSAwIDE2LjYtMy40IDIyLjYtOS40bDIyLjYtMjIuNiA2Ni43IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC04MGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTYgMCAwLTh6TTMyMS40IDMwNGwtOTIuNSAwIDE2LTY0IDEwNSAwLTIxIDU4LjdjLTEuMSAzLjItNC4yIDUuMy03LjUgNS4zek04MCAxMjhsMzg0IDBjOC44IDAgMTYgNy4yIDE2IDE2cy03LjIgMTYtMTYgMTZMODAgMTYwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2eiJdfSxjdj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtY2hlY2siLGljb246WzUxMiw1MTIsWzYxNTMzLCJjaGVjay1jaXJjbGUiXSwiZjA1OCIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDEgMC01MTIgMjU2IDI1NiAwIDEgMSAwIDUxMnpNMzc0IDE0NS43Yy0xMC43LTcuOC0yNS43LTUuNC0zMy41IDUuM0wyMjEuMSAzMTUuMiAxNjkgMjYzLjFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsNzIgNzJjNSA1IDExLjggNy41IDE4LjggN3MxMy40LTQuMSAxNy41LTkuOEwzNzkuMyAxNzkuMmM3LjgtMTAuNyA1LjQtMjUuNy01LjMtMzMuNXoiXX0sUFd0PWN2LElXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY29ycGlvIixpY29uOls2NDAsNTEyLFtdLCJlODRlIiwiTTM2OCAzMmM2MS45IDAgMTEyIDUwLjEgMTEyIDExMmwwIDI4OS43YzAgNy45IDYuNCAxNC4zIDE0LjMgMTQuMyAzLjkgMCA3LjYtMS42IDEwLjItNC4zbDQwLjEtNDEuMS05LjctOS43Yy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yUzU0Mi4zIDM1MiA1NTIgMzUybDY0IDAgMi41IC4xYzEyLjEgMS4yIDIxLjUgMTEuNSAyMS41IDIzLjlsMCA2NC0uMyAzLjZjLTEuMiA4LjItNi43IDE1LjMtMTQuNSAxOC42LTkgMy43LTE5LjMgMS42LTI2LjItNS4ybC05LjEtOS4xLTM5LjYgNDAuNmMtMTQuNyAxNS4xLTM0LjkgMjMuNi01NiAyMy42LTQzLjMgMC03OC4zLTM1LjEtNzguMy03OC4zTDQxNiAxNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCAzMDRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMDRjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDhsMCAzMDRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMjBjMC0xNi42LTEyLjYtMzAuMi0yOC43LTMxLjhsLTYuNi0uM0M0NC42IDk0LjIgMzIgODAuNiAzMiA2NCAzMiA0Ni4zIDQ2LjMgMzIgNjQgMzIgOTEgMzIgMTE1LjMgNDMuMSAxMzIuNyA2MSAxNTIuNiA0MyAxNzkgMzIgMjA4IDMyIDIzOS4zIDMyIDI2Ny43IDQ0LjkgMjg4IDY1LjcgMzA4LjMgNDQuOSAzMzYuNiAzMiAzNjggMzJ6Il19LEdtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJpZC1jYXJkLWNsaXAiLGljb246WzU3Niw1MTIsWyJpZC1jYXJkLWFsdCJdLCJmNDdmIiwiTTI1Ni0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNjQtMTI4IDAgMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNjQgMzJsMTEyIDAgMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwxMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTMyIDExMiAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMnpNMTc2IDQwMGMwIDguOCA3LjIgMTYgMTYgMTZsMTkyIDBjOC44IDAgMTYtNy4yIDE2LTE2IDAtNDQuMi0zNS44LTgwLTgwLTgwbC02NCAwYy00NC4yIDAtODAgMzUuOC04MCA4MHpNMjg4IDI4MGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnoiXX0sTld0PUdtZSxSV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9vbiIsaWNvbjpbNTEyLDUxMixbMTI3NzY5LDkyMTRdLCJmMTg2IiwiTTI1NiAwQzExNC42IDAgMCAxMTQuNiAwIDI1NlMxMTQuNiA1MTIgMjU2IDUxMmM2OC44IDAgMTMxLjMtMjcuMiAxNzcuMy03MS40IDcuMy03IDkuNC0xNy45IDUuMy0yNy4xcy0xMy43LTE0LjktMjMuOC0xNC4xYy00LjkgLjQtOS44IC42LTE0LjggLjYtMTAxLjYgMC0xODQtODIuNC0xODQtMTg0IDAtNzIuMSA0MS41LTEzNC42IDEwMi4xLTE2NC44IDkuMS00LjUgMTQuMy0xNC4zIDEzLjEtMjQuNFMzMjIuNiA4LjUgMzEyLjcgNi4zQzI5NC40IDIuMiAyNzUuNCAwIDI1NiAweiJdfSxPV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToib2lsLXdlbGwiLGljb246WzU3Niw1MTIsW10sImU1MzIiLCJNNTI4LjMgNjEuM2MtMTEuNC00Mi43LTU1LjMtNjgtOTgtNTYuNkw0MTQuOSA4LjhDMzk3LjggMTMuNCAzODcuNyAzMSAzOTIuMyA0OGwyNC41IDkxLjQtMTA4LjIgMjguMS02LjMtMTguMUMyOTcuNyAxMzYuNiAyODUuNiAxMjggMjcyIDEyOHMtMjUuNyA4LjYtMzAuMiAyMS40bC0xMy42IDM5LTEzMi4yIDM0LjMgMC0zOC42YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjY0LTE2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTEzNy4zIDAtNjEuNC0xNzUuNC02Mi4yIDE2LjEgMjIuMSA2My4yLTY2LjYgMCAxOS45LTU2LjktNzQuNiAxOS4zLTQ2LjcgMTMzLjUtNDEuMyAwIDAtMTU5LjIgMzM3LjQtODcuNSAyNS4yIDk0YzQuNiAxNy4xIDIyLjEgMjcuMiAzOS4yIDIyLjZsMTUuNS00LjFjNDIuNy0xMS40IDY4LTU1LjMgNTYuNi05OEw1MjguMyA2MS4zek0yMDUuMSA0NDhsMTYuOC00OCAxMDAuMiAwIDE2LjggNDgtMTMzLjggMHoiXX0sWW1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhY2hvZ3JhcGgtZGlnaXRhbCIsaWNvbjpbNTc2LDUxMixbImRpZ2l0YWwtdGFjaG9ncmFwaCJdLCJmNTY2IiwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6bTY0IDMybDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMmMwLTE3LjctMTQuMy0zMi0zMi0zMkw5NiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek04OCAzNTJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTM2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRMODggMzUyem0yNTYgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6TTQ5NiAxOTJhNjQgNjQgMCAxIDAgLTEyOCAwIDY0IDY0IDAgMSAwIDEyOCAwek04OCAzMTJhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em0xMDQtMjRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptNTYgMjRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSxGV3Q9WW1lLEttZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZXQiLGljb246WzQ0OCw1MTIsWyJ0YWJsZXQtYW5kcm9pZCJdLCJmM2ZiIiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6TTE4NCA0MDBsODAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtODAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sQld0PUttZSxLYj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydWJsZS1zaWduIixpY29uOls0NDgsNTEyLFs4MzgxLCJyb3VibGUiLCJydWIiLCJydWJsZSJdLCJmMTU4IiwiTTExMiAzMkM5NC4zIDMyIDgwIDQ2LjMgODAgNjRsMCAyMDgtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwIDAgNDgtNDAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw0MCAwIDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyIDE1MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNTIgMCAwLTQ4IDExMiAwYzc5LjUgMCAxNDQtNjQuNSAxNDQtMTQ0UzMzNS41IDMyIDI1NiAzMkwxMTIgMzJ6TTI1NiAyNTZsLTExMiAwIDAtMTYwIDExMiAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwcy0zNS44IDgwLTgwIDgweiJdfSxIV3Q9S2IscVd0PUtiLFZXdD1LYixqV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvc2VkLWNhcHRpb25pbmciLGljb246WzUxMiw1MTIsW10sImYyMGEiLCJNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNTZjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptMTUyIDgwbDMyIDBjNC40IDAgOCAzLjYgOCA4IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zMC45LTI1LjEtNTYtNTYtNTZsLTMyIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgODBjMCAzMC45IDI1LjEgNTYgNTYgNTZsMzIgMGMzMC45IDAgNTYtMjUuMSA1Ni01NiAwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDQuNC0zLjYgOC04IDhsLTMyIDBjLTQuNCAwLTgtMy42LTgtOGwwLTgwYzAtNC40IDMuNi04IDgtOHptMTY4IDhjMC00LjQgMy42LTggOC04bDMyIDBjNC40IDAgOCAzLjYgOCA4IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zMC45LTI1LjEtNTYtNTYtNTZsLTMyIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgODBjMCAzMC45IDI1LjEgNTYgNTYgNTZsMzIgMGMzMC45IDAgNTYtMjUuMSA1Ni01NiAwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGMwIDQuNC0zLjYgOC04IDhsLTMyIDBjLTQuNCAwLTgtMy42LTgtOGwwLTgweiJdfSxVV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVuIixpY29uOls1MTIsNTEyLFsxMjgzOTRdLCJmMzA0IiwiTTM1Mi45IDIxLjJMMzA4IDY2LjEgNDQ1LjkgMjA0IDQ5MC44IDE1OS4xQzUwNC40IDE0NS42IDUxMiAxMjcuMiA1MTIgMTA4cy03LjYtMzcuNi0yMS4yLTUxLjFMNDU1LjEgMjEuMkM0NDEuNiA3LjYgNDIzLjIgMCA0MDQgMHMtMzcuNiA3LjYtNTEuMSAyMS4yek0yNzQuMSAxMDBMNTguOSAzMTUuMWMtMTAuNyAxMC43LTE4LjUgMjQuMS0yMi42IDM4LjdMLjkgNDgxLjZjLTIuMyA4LjMgMCAxNy4zIDYuMiAyMy40czE1LjEgOC41IDIzLjQgNi4ybDEyNy44LTM1LjVjMTQuNi00LjEgMjcuOS0xMS44IDM4LjctMjIuNkw0MTIgMjM3LjkgMjc0LjEgMTAweiJdfSxXV3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUiLGljb246WzU3Niw1MTIsW10sImYwNzIiLCJNNTIwIDIwMGMzMC45IDAgNTYgMjUuMSA1NiA1NnMtMjUuMSA1Ni01NiA1NmwtMTI3LjMgMC0xNTkuMiAxNzMuNmMtNi4xIDYuNi0xNC42IDEwLjQtMjMuNiAxMC40bC00My43IDBjLTEwLjkgMC0xOC42LTEwLjctMTUuMi0yMS4xbDU0LjMtMTYyLjktOTkuNyAwLTUyLjggNjZjLTMgMy44LTcuNiA2LTEyLjUgNmwtMTkuOCAwYy0xMC40IDAtMTgtOS44LTE1LjUtMTkuOUwzMiAyNTYgNSAxNDcuOUMyLjQgMTM3LjggMTAuMSAxMjggMjAuNSAxMjhsMTkuOCAwYzQuOSAwIDkuNSAyLjIgMTIuNSA2bDUyLjggNjYgOTkuNyAwLTU0LjMtMTYyLjlDMTQ3LjYgMjYuNyAxNTUuMyAxNiAxNjYuMiAxNmw0My43IDBjOSAwIDE3LjUgMy44IDIzLjYgMTAuNEwzOTIuNyAyMDAgNTIwIDIwMHoiXX0sR1d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImltYWdlcyIsaWNvbjpbNTc2LDUxMixbXSwiZjMwMiIsIk05NiA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMzIwIDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDk2IDk2ek0yNCAxMjhjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyOTZjMCA4LjggNy4yIDE2IDE2IDE2bDM2MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxNTJjMC0xMy4zIDEwLjctMjQgMjQtMjR6bTE2OCAzMmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6bTE5Ni41IDExLjVjLTQuNC03LjEtMTIuMS0xMS41LTIwLjUtMTEuNXMtMTYuMSA0LjQtMjAuNSAxMS41bC01Ni4zIDkyLjEtMjQuNS0zMC42Yy00LjYtNS43LTExLjQtOS0xOC43LTlzLTE0LjIgMy4zLTE4LjcgOWwtNjQgODBjLTUuOCA3LjItNi45IDE3LjEtMi45IDI1LjRTMTc0LjggMzUyIDE4NCAzNTJsMjcyIDBjOC43IDAgMTYuNy00LjcgMjAuOS0xMi4zczQuMS0xNi44LS41LTI0LjNsLTg4LTE0NHoiXX0sWm1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vYmlsZS1zY3JlZW4iLGljb246WzM4NCw1MTIsWyJtb2JpbGUtYW5kcm9pZC1hbHQiXSwiZjNjZiIsIk0xNiA2NEMxNiAyOC43IDQ0LjcgMCA4MCAwTDMwNCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDgwIDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMTYgNjR6TTEyOCA0NDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODAgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTMwNCA2NGwtMjI0IDAgMCAzMDQgMjI0IDAgMC0zMDR6Il19LFlXdD1abWUsS1d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imd1YXJhbmktc2lnbiIsaWNvbjpbMzg0LDUxMixbXSwiZTE5YSIsIk0xOTIgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0MS41QzczLjMgNzcuMyAwIDE1OC4xIDAgMjU2UzczLjMgNDM0LjcgMTY4IDQ0Ni41bDAgNDEuNWMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDEuNWM5NC43LTExLjggMTY4LTkyLjYgMTY4LTE5MC41IDAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMzYgMCAwLTkzLjhjMjUuMyA0LjggNDcuOSAxNyA2NS42IDM0LjMgMTIuNiAxMi40IDMyLjkgMTIuMiA0NS4zLS40czEyLjItMzIuOS0uNS00NS4zQzI5Ny4yIDkwLjIgMjU4LjggNzAuOCAyMTYgNjUuNUwyMTYgMjRjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTE2OCAxMzAuMmwwIDI1MS41QzEwOC44IDM3MC41IDY0IDMxOC41IDY0IDI1NnM0NC44LTExNC41IDEwNC0xMjUuOHptNDggMjUxLjVsMC05My44IDEwMCAwYy0xMi4zIDQ3LjYtNTEuMiA4NC41LTEwMCA5My44eiJdfSxYbWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmFnLXNob3BwaW5nIixpY29uOls0NDgsNTEyLFsic2hvcHBpbmctYmFnIl0sImYyOTAiLCJNMTYwIDgwYzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRsMCA0OC0xMjggMCAwLTQ4em0tNDggNDhsLTY0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4TDAgMzg0YzAgNTMgNDMgOTYgOTYgOTZsMjU2IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTIwOGMwLTI2LjUtMjEuNS00OC00OC00OGwtNjQgMCAwLTQ4YzAtNjEuOS01MC4xLTExMi0xMTItMTEyUzExMiAxOC4xIDExMiA4MGwwIDQ4em0yNCA0OGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTE1MiAyNGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxaV3Q9WG1lLFFtZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtcmlnaHQiLGljb246WzUxMiw1MTIsWzYxODM4LCJhcnJvdy1hbHQtY2lyY2xlLXJpZ2h0Il0sImYzNWEiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMCA1MTIgMCAyNTYgMjU2IDAgMSAwIC01MTIgMHptMzg3LjMgMTEuM2wtMTA0IDEwNGMtNC42IDQuNi0xMS41IDUuOS0xNy40IDMuNVMyNTYgMzY2LjUgMjU2IDM2MGwwLTU2LTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMCAwLTU2YzAtNi41IDMuOS0xMi4zIDkuOS0xNC44czEyLjktMS4xIDE3LjQgMy41bDEwNCAxMDRjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZ6Il19LFhXdD1RbWUsSm1lPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBob25lLXZvbHVtZSIsaWNvbjpbNTc2LDUxMixbInZvbHVtZS1jb250cm9sLXBob25lIl0sImYyYTAiLCJNMzQ0LTMyYzEyOC4xIDAgMjMyIDEwMy45IDIzMiAyMzIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xMDEuNi04Mi40LTE4NC0xODQtMTg0LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTggMTkyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMzIwIDg4YzAtMTMuMyAxMC43LTI0IDI0LTI0IDc1LjEgMCAxMzYgNjAuOSAxMzYgMTM2IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNDguNi0zOS40LTg4LTg4LTg4LTEzLjMgMC0yNC0xMC43LTI0LTI0ek0xNDQuMSAxLjRjMTkuNy01LjQgNDAuMyA0LjcgNDguMSAyMy41bDQwLjUgOTcuM2M2LjkgMTYuNSAyLjEgMzUuNi0xMS44IDQ3bC00NC4xIDM2LjFjMzIuNSA3MS42IDg5IDEzMCAxNTkuMyAxNjQuOUwzNzQuNyAzMjNjMTEuMy0xMy45IDMwLjQtMTguNiA0Ny0xMS44TDUxOSAzNTEuOGMxOC44IDcuOCAyOC45IDI4LjQgMjMuNSA0OC4xbC0xLjUgNS41QzUyMy40IDQ3MC4xIDQ2MC45IDUyNS4zIDM4NC42IDUwOS4yIDIwOS42IDQ3Mi4xIDcxLjkgMzM0LjQgMzQuOCAxNTkuNCAxOC43IDgzLjEgNzMuOSAyMC42IDEzOC41IDIuOWw1LjUtMS41eiJdfSxRV3Q9Sm1lLEpXdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjdWJlcyIsaWNvbjpbNTEyLDUxMixbXSwiZjFiMyIsIk0yODQtMS4zYy0xNy4zLTEwLTM4LjctMTAtNTYgMEwxNDMuOCA0Ny4zYy0xNy4zIDEwLTI4IDI4LjUtMjggNDguNWwwIDEwMS45LTg4LjMgNTFjLTE3LjMgMTAtMjggMjguNS0yOCA0OC41bDAgOTcuM2MwIDIwIDEwLjcgMzguNSAyOCA0OC41bDg0LjMgNDguNmMxNy4zIDEwIDM4LjcgMTAgNTYgMGw4OC4zLTUxIDg4LjMgNTFjMTcuMyAxMCAzOC43IDEwIDU2IDBMNDg0LjUgNDQzYzE3LjMtMTAgMjgtMjguNSAyOC00OC41bDAtOTcuM2MwLTIwLTEwLjctMzguNS0yOC00OC41bC04OC4zLTUxIDAtMTAxLjljMC0yMC0xMC43LTM4LjUtMjgtNDguNUwyODQtMS4zek0yMzIgMjkyLjZsMCAxMDYuNS04OC4zIDUxYy0xLjIgLjctMi42IDEuMS00IDEuMWwwLTEwNS4zIDkyLjMtNTMuM3ptMjMxLjQgLjZjLjcgMS4yIDEuMSAyLjYgMS4xIDRsMCA5Ny4zYzAgMi45LTEuNSA1LjUtNCA2LjlsLTg0LjMgNDguNmMtMS4yIC43LTIuNiAxLjEtNCAxLjFsMC0xMDUuMyA5MS4yLTUyLjZ6TTM0OC4zIDk1LjhsMCAxMDEuOS05Mi4zIDUzLjMgMC0xMDYuNSA5MS4yLTUyLjZjLjcgMS4yIDEuMSAyLjYgMS4xIDR6Il19LGVHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaG9uZSIsaWNvbjpbNTEyLDUxMixbMTI4MjIyLDEyODM3OV0sImYwOTUiLCJNMTYwLjIgMjVDMTUyLjMgNi4xIDEzMS43LTMuOSAxMTIuMSAxLjRsLTUuNSAxLjVjLTY0LjYgMTcuNi0xMTkuOCA4MC4yLTEwMy43IDE1Ni40IDM3LjEgMTc1IDE3NC44IDMxMi43IDM0OS44IDM0OS44IDc2LjMgMTYuMiAxMzguOC0zOS4xIDE1Ni40LTEwMy43bDEuNS01LjVjNS40LTE5LjctNC43LTQwLjMtMjMuNS00OC4xbC05Ny4zLTQwLjVjLTE2LjUtNi45LTM1LjYtMi4xLTQ3IDExLjhsLTM4LjYgNDcuMkMyMzMuOSAzMzUuNCAxNzcuMyAyNzcgMTQ0LjggMjA1LjNMMTg5IDE2OS4zYzEzLjktMTEuMyAxOC42LTMwLjQgMTEuOC00N0wxNjAuMiAyNXoiXX0sdEd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvcmlpLWdhdGUiLGljb246WzQ0OCw1MTIsWzk5NjFdLCJmNmExIiwiTTAgOTZMMCAyOC41QzAgMjEuNiA1LjYgMTYgMTIuNSAxNiAxNC44IDE2IDE3IDE2LjYgMTkgMTcuOEw1OCA0MS4yQzgyLjkgNTYuMSAxMTEuMyA2NCAxNDAuMyA2NGwxNjcuNCAwYzI5IDAgNTcuNS03LjkgODIuMy0yMi44bDM5LTIzLjRjMS45LTEuMiA0LjItMS44IDYuNC0xLjggNi45IDAgMTIuNSA1LjYgMTIuNSAxMi41TDQ0OCA5NmMwIDM1LjMtMjguNyA2NC02NCA2NGwwIDY0IDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE2IDAgMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOTItMTkyIDAgMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOTItMTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNiAwIDAtNjRDMjguNyAxNjAgMCAxMzEuMyAwIDk2ek0xMjggMjI0bDY0IDAgMC02NC02NCAwIDAgNjR6bTEyOCAwbDY0IDAgMC02NC02NCAwIDAgNjR6Il19LGFHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWNvbiIsaWNvbjpbNTc2LDUxMixbMTI5MzYzXSwiZjdlNSIsIk01NTcgOTYuN2MxNC40IDE0LjQgMTIuNCAzOC40LTQuMyA1MC4ybC02NC42IDQ1LjdjLTQzLjcgMzAuOS03OS4yIDcxLjktMTAzLjQgMTE5LjZsLTI1LjMgNDkuOGMtMjUuMSA0OS4zLTYyLjEgOTEuNS0xMDcuOCAxMjIuNmwtNzQuMSA1MC42Yy0xMy4xIDguOS0zMC43IDcuMy00MS44LTMuOWwtNDQuOS00NC45IDg2LjUtNjYuNWM0Mi4zLTMyLjUgNzYuNy03NC4zIDEwMC42LTEyMmwyNC41LTQ5LjFjMjQuNS00OSA2MS44LTkwLjYgMTA3LjktMTIwLjJsMTA4LjctNjkuOSAzOCAzOHpNNDg0LjIgMjMuOUwzODQuMyA4OC4yYy01My40IDM0LjMtOTYuNSA4Mi40LTEyNC45IDEzOS4xbC0yNC41IDQ5LjFjLTIwLjYgNDEuMy01MC4zIDc3LjMtODYuOSAxMDUuNGwtOTEuNCA3MC4zLTM2LjktMzYuOWMtMTQuNC0xNC40LTEyLjQtMzguNCA0LjMtNTAuMmw2NC42LTQ1LjdjNDMuNy0zMC45IDc5LjItNzEuOSAxMDMuNC0xMTkuNmwyNS4zLTQ5LjhDMjQyLjMgMTAwLjggMjc5LjMgNTguNiAzMjUgMjcuNGw3NC4xLTUwLjZjMTMuMS04LjkgMzAuNi03LjMgNDEuOCAzLjlsNDMuMyA0My4zeiJdfSxyR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWZhbGxpbmctYnVyc3QiLGljb246WzU3Niw1MTIsW10sImU1NDciLCJNMjU2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA1LjRjMCA1NS4yLTIzLjcgMTA3LTYzLjkgMTQzLjFsNjIuOSA3NS41IDg5IDBjMTUuMSAwIDI5LjMgNy4xIDM4LjQgMTkuMmw0My4yIDU3LjZjMTAuNiAxNC4xIDcuNyAzNC4yLTYuNCA0NC44cy0zNC4yIDcuNy00NC44LTYuNEwzNjggMzIwIDI2My4yIDMyMCAzNzYuOCA0NTkuOGMxMS4xIDEzLjcgOS4xIDMzLjktNC43IDQ1cy0zMy45IDkuMS00NS00LjdMMTM3LjQgMjY2LjZjLTYuMSAxNS05LjQgMzEuMy05LjQgNDhsMCA2OS40YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjkuNGMwLTY3LjQgMzUuNC0xMjkuOSA5My4yLTE2NC42bDQuNi0yLjhDMjAwLjQgMTI0IDIyNCA4Mi40IDIyNCAzNy40bDAtNS40YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xNiA4OEE1NiA1NiAwIDEgMSAxMjggODggNTYgNTYgMCAxIDEgMTYgODh6bTM3Ni03LjljMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC00OGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDh6bTEwNCAxNTJjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMHptLTU0LjUtOTcuNWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsMzMuOS0zMy45YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMzMuOSAzMy45Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHoiXX0sZTdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InF1b3RlLXJpZ2h0IixpY29uOls0NDgsNTEyLFs4MjIxLCJxdW90ZS1yaWdodC1hbHQiXSwiZjEwZSIsIk00NDggMjk2YzAgNjYuMy01My43IDEyMC0xMjAgMTIwbC04IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOCAwYzMwLjkgMCA1Ni0yNS4xIDU2LTU2bDAtOC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDY0IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMzZ6bS0yNTYgMGMwIDY2LjMtNTMuNyAxMjAtMTIwIDEyMGwtOCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDggMGMzMC45IDAgNTYtMjUuMSA1Ni01NmwwLTgtNjQgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC02NGMwLTM1LjMgMjguNy02NCA2NC02NGw2NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTM2eiJdfSxzR3Q9ZTdlLGlHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1tZWRpY2FsLWZsYWciLGljb246WzY0MCw1MTIsW10sImU1MTQiLCJNNDgwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwIDAgMjg4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0yNjcuNSA1OS4xTDQwMCAxODYuOSA0MDAgNTAzLjRjLTkuNCA1LjQtMjAuMyA4LjYtMzIgOC42bC0yNTYgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNDQtMTkuOSAwQzEyLjYgMzA0IDAgMjkxLjQgMCAyNzUuOSAwIDI2OC4zIDMuMSAyNjEgOC42IDI1NS43TDIxMi41IDU5LjFDMjE5LjkgNTIgMjI5LjcgNDggMjQwIDQ4czIwLjEgNCAyNy41IDExLjF6TTIwNC44IDI1Ni44bDAgNDQtNDQgMGMtOS43IDAtMTcuNiA3LjktMTcuNiAxNy42bDAgMzUuMmMwIDkuNyA3LjkgMTcuNiAxNy42IDE3LjZsNDQgMCAwIDQ0YzAgOS43IDcuOSAxNy42IDE3LjYgMTcuNmwzNS4yIDBjOS43IDAgMTcuNi03LjkgMTcuNi0xNy42bDAtNDQgNDQgMGM5LjcgMCAxNy42LTcuOSAxNy42LTE3LjZsMC0zNS4yYzAtOS43LTcuOS0xNy42LTE3LjYtMTcuNmwtNDQgMCAwLTQ0YzAtOS43LTcuOS0xNy42LTE3LjYtMTcuNmwtMzUuMiAwYy05LjcgMC0xNy42IDcuOS0xNy42IDE3LjZ6Il19LG9HdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwcmVzY3JpcHRpb24iLGljb246WzQ0OCw1MTIsW10sImY1YjEiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJMMCAyODhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDUwLjcgMCAxMjggMTI4LTEwNS40IDEwNS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDI4OCAzOTcuMyAzOTMuNCA1MDIuNmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDMzMy4zIDM1MiA0MzguNiAyNDYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyODggMzA2LjcgMjAyLjIgMjIwLjlDMjUxLjQgMjA5LjEgMjg4IDE2NC44IDI4OCAxMTIgMjg4IDUwLjEgMjM3LjkgMCAxNzYgMEwzMiAwek0xNzYgMTYwbC0xMTIgMCAwLTk2IDExMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4cy0yMS41IDQ4LTQ4IDQ4eiJdfSxuR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGljZS10aHJlZSIsaWNvbjpbNDQ4LDUxMixbOTg1OF0sImY1MjciLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnptNjQgOTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NCAxMjhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTI4IDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sbEd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLWxvY2siLGljb246WzU3Niw1MTIsW10sImU0ZDYiLCJNMzIgNjRDMzIgMjguNyA2MC43IDAgOTYgMEwzNTIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEyMS4zYy00Ni45IDE5LTgwIDY1LTgwIDExOC43bDAgMjQuNGMtMTkuNiAxNy42LTMyIDQzLjEtMzIgNzEuNWwwIDk2YzAgNS41IC41IDEwLjkgMS4zIDE2LjFMOTYgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwzMiA2NHpNMTc2IDM4NGwwIDgwIDgwIDAgMC02NC4xYzAtMTMuNyAxLjktMjcgNS41LTM5LjYtNS43LTUuMi0xMy4yLTguMy0yMS41LTguM2wtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTMwNyAyMjQuM2MtMS0uMi0yLS4zLTMtLjNsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwxNi43IDBjMi4xLTIyLjggOC40LTQ0LjMgMTguMy02My43ek0xNDQgOTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMTEyIDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTE0NCAyMjRjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHptMzUyIDgwLjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek0zNTIgNDAwYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSx0N2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaWQtY2FyZCIsaWNvbjpbNTc2LDUxMixbNjIxNDcsImRyaXZlcnMtbGljZW5zZSJdLCJmMmMyIiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsNDQ4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRMMCA5NnptMCA0OGw1NzYgMCAwIDI3MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTQ0ek0yNDcuMyA0MTZjMjAuMiAwIDM1LjMtMTkuNCAyMi40LTM1LTE0LjctMTcuNy0zNi45LTI5LTYxLjctMjlsLTY0IDBjLTI0LjggMC00NyAxMS4zLTYxLjcgMjktMTIuOSAxNS42IDIuMiAzNSAyMi40IDM1bDE0Mi41IDB6TTE3NiAzMTJhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTM2MCAyMDhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMTEyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTExMiAwem0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDExMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xMTIgMHoiXX0sY0d0PXQ3ZSxhN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLXBsYXkiLGljb246WzUxMiw1MTIsWzYxNDY5LCJwbGF5LWNpcmNsZSJdLCJmMTQ0IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6TTE4OC4zIDE0Ny4xYy03LjYgNC4yLTEyLjMgMTIuMy0xMi4zIDIwLjlsMCAxNzZjMCA4LjcgNC43IDE2LjcgMTIuMyAyMC45czE2LjggNC4xIDI0LjMtLjVsMTQ0LTg4YzcuMS00LjQgMTEuNS0xMi4xIDExLjUtMjAuNXMtNC40LTE2LjEtMTEuNS0yMC41bC0xNDQtODhjLTcuNC00LjUtMTYuNy00LjctMjQuMy0uNXoiXX0sZEd0PWE3ZSxyN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1sYXVnaC1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MTMsImxhdWdoLWJlYW0iXSwiZjU5YSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTAxLjYgMzE0Yy0zLjctMTMuNyA3LjUtMjYgMjEuNy0yNmwyNjUuNCAwYzE0LjIgMCAyNS40IDEyLjMgMjEuNyAyNi0xOC41IDY4LTgwLjYgMTE4LTE1NC40IDExOFMxMjAgMzgyIDEwMS42IDMxNHpNMTc2IDE2NGMtMTUuNSAwLTI4IDEyLjUtMjggMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHptMTMyIDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjh6Il19LHVHdD1yN2UscEd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxlYWYiLGljb246WzUxMiw1MTIsW10sImYwNmMiLCJNNDcxLjMgNi43QzQ3Ny43IC42IDQ4Ny0xLjYgNDk1LjYgMS4yIDUwNS40IDQuNSA1MTIgMTMuNyA1MTIgMjRsMCAxODYuOWMwIDEzMS4yLTEwOC4xIDIzNy4xLTIzOC44IDIzNy4xLTc3IDAtMTQzLjQtNDkuNS0xNjcuNS0xMTguNy0zNS40IDMwLjgtNTcuNyA3Ni4xLTU3LjcgMTI2LjcgMCAxMy4zLTEwLjcgMjQtMjQgMjRTMCA0NjkuMyAwIDQ1NkMwIDM4MS4xIDM4LjIgMzE1LjEgOTYuMSAyNzYuMyAxMzEuNCAyNTIuNyAxNzMuNSAyNDAgMjE2IDI0MGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC04MCAwYy0zOS43IDAtNzcuMyA4LjgtMTExIDI0LjUgMjMuMy03MCA4OS4yLTEyMC41IDE2Ny0xMjAuNSA2Ni40IDAgMTE1LjgtMjIuMSAxNDguNy00NCAxOS4yLTEyLjggMzUuNS0yOC4xIDUwLjctNDUuM3oiXX0sZkd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWNoaW1uZXktdXNlciIsaWNvbjpbNTEyLDUxMixbXSwiZTA2NSIsIk0yMzQuMiA4LjZjMTIuMy0xMS40IDMxLjMtMTEuNCA0My41IDBMMzY4IDkyLjMgMzY4IDgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxMDEuNSAzNy44IDM1LjFjOS42IDkgMTIuOCAyMi45IDggMzUuMVM0OTMuMiAyNzIgNDgwIDI3MmwtMTYgMCAwIDE3NmMwIDM1LjMtMjguNyA2NC02NCA2NGwtMjg4IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTc2LTE2IDBjLTEzLjIgMC0yNS04LjEtMjkuOC0yMC4zcy0xLjYtMjYuMiA4LTM1LjFsMjI0LTIwOHpNMzEyIDI1NmE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6TTE0NCA0MzJjMCA4LjggNy4yIDE2IDE2IDE2bDE5MiAwYzguOCAwIDE2LTcuMiAxNi0xNiAwLTQ0LjItMzUuOC04MC04MC04MGwtNjQgMGMtNDQuMiAwLTgwIDM1LjgtODAgODB6Il19LGV0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb3RhdGUtcmlnaHQiLGljb246WzUxMiw1MTIsWyJyZWRvLWFsdCIsInJvdGF0ZS1mb3J3YXJkIl0sImYyZjkiLCJNNDg4IDE5MmwtMTQ0IDBjLTkuNyAwLTE4LjUtNS44LTIyLjItMTQuOHMtMS43LTE5LjMgNS4yLTI2LjJsNDYuNy00Ni43Yy03NS4zLTU4LjYtMTg0LjMtNTMuMy0yNTMuNSAxNS45LTc1IDc1LTc1IDE5Ni41IDAgMjcxLjVzMTk2LjUgNzUgMjcxLjUgMGM4LjItOC4yIDE1LjUtMTYuOSAyMS45LTI2LjEgMTAuMS0xNC41IDMwLjEtMTggNDQuNi03LjlzMTggMzAuMSA3LjkgNDQuNmMtOC41IDEyLjItMTguMiAyMy44LTI5LjEgMzQuNy0xMDAgMTAwLTI2Mi4xIDEwMC0zNjIgMFMtMjUgMTc1IDc1IDc1Yzk0LjMtOTQuMyAyNDMuNy05OS42IDM0NC4zLTE2LjJMNDcxIDdjNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMlM1MTIgMTQuMyA1MTIgMjRsMCAxNDRjMCAxMy4zLTEwLjcgMjQtMjQgMjR6Il19LGhHdD1ldGUsbUd0PWV0ZSxnR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG9vdGgiLGljb246WzQ0OCw1MTIsWzEyOTQ2M10sImY1YzkiLCJNMTQ1IDUuN0wyMjQgMzIgMzAzIDUuN0MzMTQuMyAxLjkgMzI2IDAgMzM3LjkgMCAzOTguNyAwIDQ0OCA0OS4zIDQ0OCAxMTAuMWwwIDY4LjVjMCAyOS40LTkuNSA1OC4xLTI3LjIgODEuNmwtMS4xIDEuNWMtMTIuOSAxNy4yLTIxLjMgMzcuNC0yNC4zIDU4LjdMMzczLjcgNDcxLjljLTMuMyAyMy0yMyA0MC4xLTQ2LjIgNDAuMS0yMi44IDAtNDIuMy0xNi41LTQ2LTM5TDI2MS4zIDM1MS42Yy0zLTE4LjItMTguOC0zMS42LTM3LjMtMzEuNnMtMzQuMiAxMy40LTM3LjMgMzEuNkwxNjYuNSA0NzNjLTMuOCAyMi41LTIzLjIgMzktNDYgMzktMjMuMiAwLTQyLjktMTcuMS00Ni4yLTQwLjFMNTIuNiAzMjAuNWMtMy0yMS4zLTExLjQtNDEuNS0yNC4zLTU4LjdsLTEuMS0xLjVDOS41IDIzNi43IDAgMjA4LjEgMCAxNzguN2wwLTY4LjVDMCA0OS4zIDQ5LjMgMCAxMTAuMSAwIDEyMiAwIDEzMy43IDEuOSAxNDUgNS43eiJdfSxiR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtY2hpbW5leS13aW5kb3ciLGljb246WzUxMiw1MTIsW10sImUwMGQiLCJNMjM0LjIgOC42YzEyLjMtMTEuNCAzMS4zLTExLjQgNDMuNSAwTDM2OCA5Mi4zIDM2OCA4MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTAxLjUgMzcuOCAzNS4xYzkuNiA5IDEyLjggMjIuOSA4IDM1LjFTNDkzLjIgMjcyIDQ4MCAyNzJsLTE2IDAgMCAxNzZjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTI4OCAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3Ni0xNiAwYy0xMy4yIDAtMjUtOC4xLTI5LjgtMjAuM3MtMS42LTI2LjIgOC0zNS4xbDIyNC0yMDh6TTIxNiAyMjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRsODAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTgwYzAtMTMuMy0xMC43LTI0LTI0LTI0bC04MCAweiJdfSx2R3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW90b3JjeWNsZSIsaWNvbjpbNjQwLDUxMixbMTI3OTQ5XSwiZjIxYyIsIk0yODAgMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTYuNiAwIDIyLjUgNDguNy05NS4xIDcxLjNjLTMzLjQtMjUuMS03NS00MC0xMjAtNDBsLTU2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTYgMGM3OC41IDAgMTQzLjIgNTkuNiAxNTEuMiAxMzZsLTI1LjQgMGMtMTEuMi01OS4yLTYzLjMtMTA0LTEyNS44LTEwNC03MC43IDAtMTI4IDU3LjMtMTI4IDEyOFM3My4zIDQ4MCAxNDQgNDgwYzYyLjUgMCAxMTQuNS00NC44IDEyNS44LTEwNGw1MC4yIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0yMi41YzAtNDUuMSAyNS43LTg1LjQgNjUuNS0xMDcuN2wxMi4xIDI2LjFjLTMyLjQgMjMuMi01My41IDYxLjItNTMuNSAxMDQuMSAwIDcwLjcgNTcuMyAxMjggMTI4IDEyOHMxMjgtNTcuMyAxMjgtMTI4LTU3LjMtMTI4LTEyOC0xMjhjLTEwLjcgMC0yMSAxLjMtMzAuOSAzLjhMNDMzLjggMTYwIDQ4OCAxNjBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNTMuMyAwYy02LjkgMC0xMy43IDIuMi0xOS4yIDYuNGwtMTcuMSAxMi44LTI0LjYtNTMuM0MzNjkuOSAyMS40IDM2MS40IDE2IDM1MiAxNmwtNzIgMHpNNDQ1LjggMzAwLjRsMjguNCA2MS42YzUuNiAxMiAxOS44IDE3LjMgMzEuOCAxMS43czE3LjMtMTkuOCAxMS43LTMxLjhsLTI4LjUtNjEuNmMyLjItLjIgNC40LS4zIDYuNy0uMyAzOS44IDAgNzIgMzIuMiA3MiA3MnMtMzIuMiA3Mi03MiA3Mi03Mi0zMi4yLTcyLTcyYzAtMjAuMiA4LjMtMzguNSAyMS44LTUxLjZ6TTE0NCA0MjRjLTM5LjggMC03Mi0zMi4yLTcyLTcyczMyLjItNzIgNzItNzJjMzEuMyAwIDU4IDIwIDY3LjkgNDhMMTQ0IDMyOGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGw2Ny45IDBjLTkuOSAyOC0zNi42IDQ4LTY3LjkgNDh6Il19LHM3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWNrd2FyZC1mYXN0IixpY29uOls1MTIsNTEyLFs5MTk4LCJmYXN0LWJhY2t3YXJkIl0sImYwNDkiLCJNNDkyLjIgNDc3LjZjLTEyIDUtMjUuNyAyLjItMzQuOS02LjlMMjg4IDMwMS4zIDI4OCA0NDhjMCAxMi45LTcuOCAyNC42LTE5LjggMjkuNnMtMjUuNyAyLjItMzQuOS02LjlMNjQgMzAxLjMgNjQgNDQ4YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMlM2NCA0Ni4zIDY0IDY0TDY0IDIxMC43IDIzMy40IDQxLjRjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlTMjg4IDUxLjEgMjg4IDY0bDAgMTQ2LjcgMTY5LjQtMTY5LjRjOS4yLTkuMiAyMi45LTExLjkgMzQuOS02LjlTNTEyIDUxLjEgNTEyIDY0bDAgMzg0YzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZ6Il19LHhHdD1zN2UsaTdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFkZHJlc3MtYm9vayIsaWNvbjpbNTEyLDUxMixbNjIxMzgsImNvbnRhY3QtYm9vayJdLCJmMmI5IiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjg4IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zODRjMC0zNS4zLTI4LjctNjQtNjQtNjRMOTYgMHpNMjA4IDI4OGw2NCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNmwtMTkyIDBjLTguOCAwLTE2LTcuMi0xNi0xNiAwLTQ0LjIgMzUuOC04MCA4MC04MHptLTI0LTk2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNNTEyIDgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0em0wIDEyOGMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDY0YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC02NHpNNDk2IDMyMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNjRjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTY0YzAtOC44LTcuMi0xNi0xNi0xNnoiXX0seUd0PWk3ZSx3R3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2FpbGJvYXQiLGljb246WzUxMiw1MTIsW10sImU0NDUiLCJNMjQwIDM1LjlsMCAzNDguMS0yMjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2IDAgNjEuOSA1MC4xIDExMiAxMTIgMTEybDI4OCAwYzYxLjkgMCAxMTItNTAuMSAxMTItMTEyIDAtOC44LTcuMi0xNi0xNi0xNmwtMjA4IDAgMC00OCAxNjEuNyAwYzEyLjkgMCAyMC41LTE0LjQgMTMuMi0yNUwyNjkuMiAyNi45Yy04LjktMTMtMjkuMi02LjctMjkuMiA5ek0xOTIgMzIwbDAtMTg0LjJjMC0xNi4xLTIxLTIyLjEtMjkuNi04LjVMNDcuMyAzMTEuNWMtNi43IDEwLjcgMSAyNC41IDEzLjYgMjQuNUwxNzYgMzM2YzguOCAwIDE2LTcuMiAxNi0xNnoiXX0sTUd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stYm9va21hcmsiLGljb246WzQ0OCw1MTIsW10sImUwYmIiLCJNOTYgNTEybDMyMCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtNjYuN2MxOC42LTYuNiAzMi0yNC40IDMyLTQ1LjNsMC0yODhjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4IDAgMCAxNjkuNGMwIDEyLjUtMTAuMSAyMi42LTIyLjYgMjIuNi02IDAtMTEuOC0yLjQtMTYtNi42TDI3MiAxNDQgMjMwLjYgMTg1LjRjLTQuMiA0LjItMTAgNi42LTE2IDYuNi0xMi41IDAtMjIuNi0xMC4xLTIyLjYtMjIuNkwxOTIgMCA5NiAwQzQzIDAgMCA0MyAwIDk2TDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZ6TTY0IDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMCAwIDY0LTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnoiXX0sa0d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hZ25pZnlpbmctZ2xhc3MtYXJyb3ctcmlnaHQiLGljb246WzUxMiw1MTIsW10sImU1MjEiLCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NkMyOTYuMyA0MDEuMSAyNTMuOSA0MTYgMjA4IDQxNiA5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMCA0MTYgOTMuMSA0MTYgMjA4ek0zMDUgMjI1YzkuNC05LjQgOS40LTI0LjYgMC0zMy45bC03Mi03MmMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwzMSAzMS0xMDIuMSAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDEwMi4xIDAtMzEgMzFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3Mi03MnoiXX0sbzdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pY3JvcGhvbmUtbGluZXMiLGljb246WzM4NCw1MTIsWzEyNzg5NywibWljcm9waG9uZS1hbHQiXSwiZjNjOSIsIk05NiA5NmMwLTUzIDQzLTk2IDk2LTk2IDUwLjMgMCA5MS42IDM4LjcgOTUuNyA4OEwyMzIgODhjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTYgMCAwIDQ4LTU2IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNTUuNyAwYy00LjEgNDkuMy00NS4zIDg4LTk1LjcgODgtNTMgMC05Ni00My05Ni05Nkw5NiA5NnpNMjQgMTYwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgNDBjMCA3OS41IDY0LjUgMTQ0IDE0NCAxNDRzMTQ0LTY0LjUgMTQ0LTE0NGwwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0MGMwIDk3LjktNzMuMyAxNzguNy0xNjggMTkwLjVsMCA0OS41IDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDQ4IDAgMC00OS41QzczLjMgNDAyLjcgMCAzMjEuOSAwIDIyNGwwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0eiJdfSxTR3Q9bzdlLG43ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZXBseS1hbGwiLGljb246WzU3Niw1MTIsWyJtYWlsLXJlcGx5LWFsbCJdLCJmMTIyIiwiTTMzMi4yIDE4LjRjMTIgNSAxOS44IDE2LjYgMTkuOCAyOS42bDAgODAgNDggMGM5Ny4yIDAgMTc2IDc4LjggMTc2IDE3NiAwIDExMy4zLTgxLjUgMTYzLjktMTAwLjIgMTc0LjEtMi41IDEuNC01LjMgMS45LTguMSAxLjktMTAuOSAwLTE5LjctOC45LTE5LjctMTkuNyAwLTcuNSA0LjMtMTQuNCA5LjgtMTkuNSA5LjQtOC44IDIyLjItMjYuNCAyMi4yLTU2LjcgMC01My00My05Ni05Ni05NmwtMzIgMCAwIDgwYzAgMTIuOS03LjggMjQuNi0xOS44IDI5LjZzLTI1LjcgMi4yLTM0LjktNi45bC0xNjAtMTYwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2wxNjAtMTYwYzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45ek0yMDUuNiAyMy4xYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45TDU0LjYgMjA4IDIwNS42IDM1OC45YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBMMTAgMjMxLjJjLTYuNC02LTEwLTE0LjQtMTAtMjMuMnMzLjYtMTcuMiAxMC0yMy4yTDE3MS42IDIzLjFjOS40LTkuNCAyNC42LTkuNCAzMy45IDB6Il19LHpHdD1uN2UsQ0d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVuaXZlcnNhbC1hY2Nlc3MiLGljb246WzUxMiw1MTIsW10sImYyOWEiLCJNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHptMTYxLjUtODYuMWMtMTIuMi01LjItMjYuMyAuNC0zMS41IDEyLjZzLjQgMjYuMyAxMi42IDMxLjVsMTEuOSA1LjFjMTcuMyA3LjQgMzUuMiAxMi45IDUzLjYgMTYuM2wwIDUwLjFjMCA0LjMtLjcgOC42LTIuMSAxMi42bC0yOC43IDg2LjFjLTQuMiAxMi42IDIuNiAyNi4yIDE1LjIgMzAuNHMyNi4yLTIuNiAzMC40LTE1LjJsMjQuNC03My4yYzEuMy0zLjggNC44LTYuNCA4LjgtNi40czcuNiAyLjYgOC44IDYuNGwyNC40IDczLjJjNC4yIDEyLjYgMTcuOCAxOS40IDMwLjQgMTUuMlMzMzkgMzk3IDMzNC44IDM4NC40bC0yOC43LTg2LjFjLTEuNC00LjEtMi4xLTguMy0yLjEtMTIuNmwwLTUwLjFjMTguNC0zLjUgMzYuMy04LjkgNTMuNi0xNi4zbDExLjktNS4xYzEyLjItNS4yIDE3LjgtMTkuMyAxMi42LTMxLjVzLTE5LjMtMTcuOC0zMS41LTEyLjZMMzM4LjcgMTc1Yy0yNi4xIDExLjItNTQuMiAxNy04Mi43IDE3cy01Ni41LTUuOC04Mi43LTE3bC0xMS45LTUuMXpNMjU2IDE2MGE0MCA0MCAwIDEgMCAwLTgwIDQwIDQwIDAgMSAwIDAgODB6Il19LHR0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b2lsZXQtcGFwZXIiLGljb246WzUxMiw1MTIsWzEyOTUzMSw2MzI2MywidG9pbGV0LXBhcGVyLWFsdCIsInRvaWxldC1wYXBlci1ibGFuayJdLCJmNzFlIiwiTTMyNy4xIDMyYy04LjggMTEuMS0xNiAyMy4xLTIxLjkgMzQuOC0yMS40IDQyLjctMzMuMiA5OC40LTMzLjIgMTU3LjJsMCAyNjRjMCAzMC45LTI1LjEgNTYtNTYgNTZMNTYgNTQ0Yy0zMC45IDAtNTYtMjUuMS01Ni01NkwwIDIyNEMwIDExOCA0MyAzMiA5NiAzMmwyMzEuMSAwek00MTYgNDE2Yy01MyAwLTk2LTg2LTk2LTE5MnM0My0xOTIgOTYtMTkyIDk2IDg2IDk2IDE5Mi00MyAxOTItOTYgMTkyem0wLTEyOGMxNy43IDAgMzItMjguNyAzMi02NHMtMTQuMy02NC0zMi02NC0zMiAyOC43LTMyIDY0IDE0LjMgNjQgMzIgNjR6Il19LF9HdD10dGUsVEd0PXR0ZSxMR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidnItY2FyZGJvYXJkIixpY29uOls1NzYsNTEyLFtdLCJmNzI5IiwiTTUxMiA5Nkw2NCA5NkMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCAzNTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTE3LjUgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN2wzMy45LTMzLjljNy4yLTcuMiAxNy4xLTExLjMgMjcuMy0xMS4zczIwLjEgNC4xIDI3LjMgMTEuM2wzMy45IDMzLjljMTIgMTIgMjguMyAxOC43IDQ1LjMgMTguN0w1MTIgNDE2YzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0ek04MCAyNDBhNjQgNjQgMCAxIDEgMTI4IDAgNjQgNjQgMCAxIDEgLTEyOCAwem0zNTItNjRhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6Il19LCRHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaXp6YS1zbGljZSIsaWNvbjpbNTEyLDUxMixbXSwiZjgxOCIsIk0xNjkuNyAuOWMtMjIuOC0xLjYtNDEuOSAxNC00Ny41IDM0LjdMMTEyLjUgNzJDMjkzLjMgNzIuMyA0MzkuNyAyMTguNyA0NDAgMzk5LjVsMzYuNC05LjdjMjAuOC01LjUgMzYuMy0yNC43IDM0LjctNDcuNS0xMi42LTE4Mi44LTE1OC42LTMyOC44LTM0MS40LTM0MS40em0yMjIgNDExLjVjLjItNC4xIC4zLTguMiAuMy0xMi40IDAtMTU0LjYtMTI1LjQtMjgwLTI4MC0yODAtNC4xIDAtOC4zIC4xLTEyLjQgLjNMLjUgNDkxLjljLTEuNSA1LjUgLjEgMTEuNCA0LjEgMTUuNHM5LjkgNS42IDE1LjQgNC4xbDM3MS42LTk5LjF6TTE3NiAyMDhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em02NCAxMjhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHpNOTYgMzg0YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LERHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcHJheS1jYW4iLGljb246WzU3Niw1MTIsW10sImY1YmQiLCJNMTkyIDBsNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDgwLTEyOCAwIDAtODBjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTY0IDI1NmMwLTUzIDQzLTk2IDk2LTk2bDEyOCAwYzUzIDAgOTYgNDMgOTYgOTZsMCAyMDhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTIyNCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTIwOHptMjQwIDgwYTgwIDgwIDAgMSAwIC0xNjAgMCA4MCA4MCAwIDEgMCAxNjAgMHpNMzIwIDY0YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTQ0OCAzMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTY0IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTMyIDY0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNNTEyIDI1NmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwek00NDggMTI4YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sbDdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvbHVtZS1sb3ciLGljb246WzQ0OCw1MTIsWzEyODI2NCwidm9sdW1lLWRvd24iXSwiZjAyNyIsIk00OCAzNTJsNDggMCAxMzQuMSAxMTkuMmM2LjQgNS43IDE0LjYgOC44IDIzLjEgOC44IDE5LjIgMCAzNC44LTE1LjYgMzQuOC0zNC44bDAtMzc4LjRjMC0xOS4yLTE1LjYtMzQuOC0zNC44LTM0LjgtOC41IDAtMTYuNyAzLjEtMjMuMSA4LjhMOTYgMTYwIDQ4IDE2MGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA5NmMwIDI2LjUgMjEuNSA0OCA0OCA0OHpNMzgwLjYgMTgxLjVjLTEwLjMtOC40LTI1LjQtNi44LTMzLjggMy41cy02LjggMjUuNCAzLjUgMzMuOEMzNjEuMSAyMjcuNiAzNjggMjQxIDM2OCAyNTZzLTYuOSAyOC40LTE3LjcgMzcuM2MtMTAuMyA4LjQtMTEuOCAyMy41LTMuNSAzMy44czIzLjUgMTEuOCAzMy44IDMuNUM0MDIuMSAzMTIuOSA0MTYgMjg2LjEgNDE2IDI1NnMtMTMuOS01Ni45LTM1LjUtNzQuNXoiXX0sQUd0PWw3ZSxFR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3Jvc3MiLGljb246WzM4NCw1MTIsWzEyODMyNywxMDAxM10sImY2NTQiLCJNMTc2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgODAtODAgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAzMmMwIDI2LjUgMjEuNSA0OCA0OCA0OGw4MCAwIDAgMjA4YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDMyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMDggODAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTMyYzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC04MCAwIDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhMMTc2IDB6Il19LGM3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24iLGljb246WzM4NCw1MTIsWzEyOTQ4NSwibWFsZSJdLCJmMTgzIiwiTTI0OCAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43bDQ2LjMgNjIuNGMxMC41IDE0LjIgMzAuNiAxNy4yIDQ0LjggNi42czE3LjItMzAuNiA2LjYtNDQuOGwtNzAuNS05NUMyNzQgMTMyIDIzNC4zIDExMiAxOTIgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTEyIDIzNi43IDExMiA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3oiXX0sUEd0PWM3ZSxkN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91cmdsYXNzIixpY29uOlszODQsNTEyLFs5MjAzLDYyMDMyLCJob3VyZ2xhc3MtZW1wdHkiXSwiZjI1NCIsIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMEwzNTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDExYzAgNDIuNC0xNi45IDgzLjEtNDYuOSAxMTMuMWwtNjcuOSA2Ny45IDY3LjkgNjcuOWMzMCAzMCA0Ni45IDcwLjcgNDYuOSAxMTMuMWwwIDExYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwwLTExYzAtNDIuNCAxNi45LTgzLjEgNDYuOS0xMTMuMWw2Ny45LTY3LjktNjcuOS02Ny45QzQ4LjkgMTU4LjEgMzIgMTE3LjQgMzIgNzVsMC0xMUMxNC4zIDY0IDAgNDkuNyAwIDMyek05NiA2NGwwIDExYzAgMjUuNSAxMC4xIDQ5LjkgMjguMSA2Ny45bDY3LjkgNjcuOSA2Ny45LTY3LjljMTgtMTggMjguMS00Mi40IDI4LjEtNjcuOWwwLTExLTE5MiAwem0wIDM4NGwxOTIgMCAwLTExYzAtMjUuNS0xMC4xLTQ5LjktMjguMS02Ny45bC02Ny45LTY3LjktNjcuOSA2Ny45Yy0xOCAxOC0yOC4xIDQyLjQtMjguMSA2Ny45bDAgMTF6Il19LElHdD1kN2UsTkd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpc2giLGljb246WzU3Niw1MTIsWzEyODAzMV0sImY1NzgiLCJNMTgwLjUgMTQxLjVDMjE5LjcgMTA4LjUgMjcyLjYgODAgMzM2IDgwczExNi4zIDI4LjUgMTU1LjUgNjEuNWMzOS4xIDMzIDY2LjkgNzIuNCA4MSA5OS44IDQuNyA5LjIgNC43IDIwLjEgMCAyOS4zLTE0LjEgMjcuNC00MS45IDY2LjgtODEgOTkuOC0zOS4yIDMzLjEtOTIgNjEuNS0xNTUuNSA2MS41cy0xMTYuMy0yOC41LTE1NS41LTYxLjVjLTE2LjItMTMuNy0zMC41LTI4LjUtNDIuNy00My4xTDQ4LjEgMzc5LjZjLTEyLjUgNy4zLTI4LjQgNS4zLTM4LjctNC45cy0xMi40LTI2LTUuMy0zOC42TDUwIDI1NiA0LjIgMTc1LjljLTcuMi0xMi42LTUtMjguNCA1LjMtMzguNnMyNi4xLTEyLjIgMzguNy00LjlsODkuNyA1Mi4zYzEyLjItMTQuNiAyNi41LTI5LjQgNDIuNy00My4xek00NDggMjU2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LFJHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkcnVtc3RpY2stYml0ZSIsaWNvbjpbNTEyLDUxMixbXSwiZjZkNyIsIk0xNjAgMjY1LjJjMCA4LjUtMy40IDE2LjYtOS40IDIyLjZsLTI2LjggMjYuOGMtMTIuMyAxMi4zLTMyLjUgMTEuNC00OS40IDcuMi00LjYtMS4xLTkuNS0xLjgtMTQuNS0xLjgtMzMuMSAwLTYwIDI2LjktNjAgNjBzMjYuOSA2MCA2MCA2MGM2LjMgMCAxMiA1LjcgMTIgMTIgMCAzMy4xIDI2LjkgNjAgNjAgNjBzNjAtMjYuOSA2MC02MGMwLTUtLjYtOS44LTEuOC0xNC41LTQuMi0xNi45LTUuMi0zNy4xIDcuMi00OS40bDI2LjgtMjYuOGM2LTYgMTQuMS05LjQgMjIuNi05LjRsODkuMiAwYzYuMyAwIDEyLjQtLjMgMTguNS0xIDExLjktMS4yIDE2LjQtMTUuNSAxMC44LTI2LTguNS0xNS44LTEzLjMtMzMuOC0xMy4zLTUzIDAtNjEuOSA1MC4xLTExMiAxMTItMTEyIDggMCAxNS43IC44IDIzLjIgMi40IDExLjcgMi41IDI0LjEtNS45IDIyLTE3LjYtMTQuNy04Mi4zLTg2LjctMTQ0LjgtMTczLjItMTQ0LjgtOTcuMiAwLTE3NiA3OC44LTE3NiAxNzZsMCA4OS4yeiJdfSxPR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhcnQtc2ltcGxlIixpY29uOls1MTIsNTEyLFtdLCJlNDczIiwiTTE5MiA4MGMwLTI2LjUgMjEuNS00OCA0OC00OGwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTM1MnpNMCAyNzJjMC0yNi41IDIxLjUtNDggNDgtNDhsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDE2MGMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAyNzJ6TTQzMiA5NmwzMiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMjg4YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTI4OGMwLTI2LjUgMjEuNS00OCA0OC00OHoiXX0sRkd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImF0b20iLGljb246WzQ0OCw1MTIsWzk4ODNdLCJmNWQyIiwiTTIyNCAzOTguOGMtMTEuOCA1LjEtMjMuNCA5LjctMzQuOSAxMy41IDE2LjcgMzMuOCAzMSAzNS43IDM0LjkgMzUuN3MxOC4xLTEuOSAzNC45LTM1LjdjLTExLjQtMy45LTIzLjEtOC40LTM0LjktMTMuNXpNNDE0IDI1NmMzMyA0NS4yIDQ0LjMgOTAuOSAyMy42IDEyOC0yMC4yIDM2LjMtNjIuNSA0OS4zLTExNS4yIDQzLjItMjIgNTIuMS01NS43IDg0LjgtOTguNCA4NC44cy03Ni40LTMyLjctOTguNC04NC44QzcyLjkgNDMzLjMgMzAuNiA0MjAuMyAxMC40IDM4NC0xMC4zIDM0Ni45IDEgMzAxLjIgMzQgMjU2IDEgMjEwLjgtMTAuMyAxNjUuMSAxMC40IDEyOCAzMC42IDkxLjcgNzIuOSA3OC43IDEyNS42IDg0LjggMTQ3LjYgMzIuNyAxODEuMiAwIDIyNCAwczc2LjQgMzIuNyA5OC40IDg0LjhjNTIuNy02LjEgOTUgNi44IDExNS4yIDQzLjIgMjAuNyAzNy4xIDkuNCA4Mi44LTIzLjYgMTI4em0tNjUuOCA2Ny40Yy0xLjcgMTQuMi0zLjkgMjgtNi43IDQxLjIgMzEuOCAxLjQgMzguNi04LjcgNDAuMi0xMS43IDIuMy00LjIgNy0xNy45LTExLjktNDguMS02LjggNi4zLTE0IDEyLjUtMjEuNiAxOC42em0tNi43LTE3NS45YzIuOCAxMy4xIDUgMjYuOSA2LjcgNDEuMiA3LjYgNi4xIDE0LjggMTIuMyAyMS42IDE4LjYgMTguOS0zMC4yIDE0LjItNDQgMTEuOS00OC4xLTEuNi0yLjktOC40LTEzLTQwLjItMTEuN3pNMjU4LjkgOTkuN0MyNDIuMSA2NS45IDIyNy45IDY0IDIyNCA2NHMtMTguMSAxLjktMzQuOSAzNS43YzExLjQgMy45IDIzLjEgOC40IDM0LjkgMTMuNSAxMS44LTUuMSAyMy40LTkuNyAzNC45LTEzLjV6bS0xNTkgODguOWMxLjctMTQuMyAzLjktMjggNi43LTQxLjItMzEuOC0xLjQtMzguNiA4LjctNDAuMiAxMS43LTIuMyA0LjItNyAxNy45IDExLjkgNDguMSA2LjgtNi4zIDE0LTEyLjUgMjEuNi0xOC42ek03OC4yIDMwNC44Yy0xOC45IDMwLjItMTQuMiA0NC0xMS45IDQ4LjEgMS42IDIuOSA4LjQgMTMgNDAuMiAxMS43LTIuOC0xMy4xLTUtMjYuOS02LjctNDEuMi03LjYtNi4xLTE0LjgtMTIuMy0yMS42LTE4LjZ6TTMwNCAyNTZhODAgODAgMCAxIDAgLTE2MCAwIDgwIDgwIDAgMSAwIDE2MCAwem0tODAtMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxCR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicCIsaWNvbjpbMzIwLDUxMixbMTEyXSwiNTAiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwxMjggMGM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MFMyNDguNCAzNTIgMTYwIDM1MmwtOTYgMCAwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NHpNNjQgMjg4bDk2IDBjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZsLTk2IDAgMCAxOTJ6Il19LEhHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJqZXQtZmlnaHRlci11cCIsaWNvbjpbNTEyLDUxMixbXSwiZTUxOCIsIk0yMDYuOCA0Ny44QzIwMi4zIDU4LjUgMjAwIDcwIDIwMCA4MS42bDAgMTAwLjQtMTUyIDExNCAwLTQ4YzAtMTMuMy0xMC43LTI0LTI0LTI0UzAgMjM0LjcgMCAyNDhMMCAzOTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTggMTUyIDAgMCA1NC40LTY2IDUyLjhjLTMuOCAzLTYgNy42LTYgMTIuNWwwIDI0LjNjMCA4LjggNy4yIDE2IDE2IDE2bDg4IDAgMC00MGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNDAgODggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yNC4zYzAtNC45LTIuMi05LjUtNi0xMi41bC02Ni01Mi44IDAtNTQuNCAxNTIgMCAwIDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTE0NGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDQ4LTE1Mi0xMTQgMC0xMDAuNGMwLTExLjYtMi4zLTIzLjEtNi44LTMzLjhsLTI3LjEtNjVDMjc0LjQtMjYuMiAyNjUuNy0zMiAyNTYtMzJzLTE4LjQgNS44LTIyLjIgMTQuOGwtMjcuMSA2NXoiXX0scUd0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsdWctY2lyY2xlLXhtYXJrIixpY29uOls2NDAsNTEyLFtdLCJlNTYwIiwiTTE5Mi0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDEyOCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA0OC43Yy05OC42IDguMS0xNzYgOTAuNy0xNzYgMTkxLjMgMCAyNy4zIDUuNyA1My4zIDE2IDc2LjlsMCAzLjFjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02Ni43QzE2NS4yIDM5OC4xIDk2IDMxOS4xIDk2IDIyNGwwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlM3OC4zIDk2IDk2IDk2bDY0IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNDk2IDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTU5LjMgMTA3LjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMGwtMzYuNyAzNi43LTM2LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmwzNi43IDM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzYuNy0zNi43IDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTM2LjctMzYuNyAzNi43LTM2Ljd6Il19LFZHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGVldC1wbGFzdGljIixpY29uOlszODQsNTEyLFtdLCJlNTcxIiwiTTAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE0OS41IDBjMTcgMCAzMy4zLTYuNyA0NS4zLTE4LjdMMzY1LjMgMzg2LjdjMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM0wzODQgNjRjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMEMyOC43IDAgMCAyOC43IDAgNjRMMCA0NDh6bTIwOCA1LjVsMC05My41YzAtMTMuMyAxMC43LTI0IDI0LTI0bDkzLjUgMC0xMTcuNSAxMTcuNXpNMTUzIDEwNWwtNDggNDhjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNDgtNDhjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45em05NiAzMkwxMzcgMjQ5Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45TDIxNSAxMDNjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45eiJdfSxqR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidiIsaWNvbjpbMzg0LDUxMixbMTE4XSwiNTYiLCJNMTkuNyAzNC41YzE2LjMtNi44IDM1IC45IDQxLjggMTcuMkwxOTIgMzY0LjggMzIyLjUgNTEuN2M2LjgtMTYuMyAyNS41LTI0IDQxLjgtMTcuMnMyNCAyNS41IDE3LjIgNDEuOGwtMTYwIDM4NGMtNSAxMS45LTE2LjYgMTkuNy0yOS41IDE5LjdzLTI0LjYtNy44LTI5LjUtMTkuN0wyLjUgNzYuM2MtNi44LTE2LjMgLjktMzUgMTcuMi00MS44eiJdfSx1N2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlzdCIsaWNvbjpbNTEyLDUxMixbImxpc3Qtc3F1YXJlcyJdLCJmMDNhIiwiTTQwIDQ4QzI2LjcgNDggMTYgNTguNyAxNiA3MmwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNEw0MCA0OHpNMTkyIDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDE5MiA2NHptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI4OCAwem0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjg4IDB6TTE2IDIzMmwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6TTQwIDM2OGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTQ4IDB6Il19LFVHdD11N2UsV0d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBpc2NlcyIsaWNvbjpbNDQ4LDUxMixbXSwiZTg0YyIsIk00MC40IDEwLjRjMTEuOS0xMyAzMi4yLTEzLjkgNDUuMi0yIDIuOSAyLjcgMjguMyAyNi43IDUzLjYgNjcuOCAyMi4zIDM2LjIgNDUgODYuNiA1MS4xIDE0Ny44bDY3LjMgMGM2LjEtNjEuMSAyOC44LTExMS42IDUxLjEtMTQ3LjggMjUuMy00MS4xIDUwLjctNjUuMSA1My42LTY3LjggMTMtMTEuOSAzMy4zLTExLjEgNDUuMiAyIDExLjkgMTMgMTEgMzMuMy0yIDQ1LjItMS40IDEuMy0yMiAyMS4xLTQyLjQgNTQuMi0xNy45IDI5LjEtMzUuNCA2OC00MS4yIDExNC4ybDk0IDAgMy4zIC4yYzE2LjEgMS42IDI4LjcgMTUuMyAyOC43IDMxLjhzLTEyLjYgMzAuMi0yOC43IDMxLjhsLTMuMyAuMi05NCAwYzUuOCA0Ni4yIDIzLjMgODUuMSA0MS4yIDExNC4yIDIwLjQgMzMuMSA0MSA1Mi45IDQyLjQgNTQuMiAxMyAxMS45IDEzLjkgMzIuMiAyIDQ1LjItMTEuOSAxMy0zMi4yIDEzLjktNDUuMiAyLTIuOS0yLjctMjguMy0yNi43LTUzLjYtNjcuOC0yMi4zLTM2LjItNDUtODYuNi01MS4xLTE0Ny44bC02Ny4zIDBjLTYuMSA2MS4xLTI4LjggMTExLjYtNTEuMSAxNDcuOC0yNS4zIDQxLjEtNTAuNyA2NS4xLTUzLjYgNjcuOC0xMyAxMS45LTMzLjMgMTEuMS00NS4yLTItMTEuOS0xMy0xMS0zMy4zIDItNDUuMiAxLjQtMS4zIDIyLTIxLjEgNDIuNC01NC4yIDE3LjktMjkuMSAzNS40LTY4IDQxLjItMTE0LjJsLTk0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTQgMGMtNS44LTQ2LjItMjMuMy04NS4xLTQxLjItMTE0LjItMjAuNC0zMy4xLTQxLTUyLjktNDIuNC01NC4yLTEzLTExLjktMTMuOS0zMi4yLTItNDUuMnoiXX0sR0d0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNvbGFyLXBhbmVsIixpY29uOls1NzYsNTEyLFtdLCJmNWJhIiwiTTEyMS44IDMyYy0zMCAwLTU2IDIwLjgtNjIuNSA1MC4xTDkuNiAzMDYuMUMuNyAzNDYuMSAzMS4xIDM4NCA3MiAzODRsMTg0LjEgMCAwIDY0LTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDAgMC02NCAxODQuMSAwYzQwLjkgMCA3MS40LTM3LjkgNjIuNS03Ny45bC00OS44LTIyNEM1MTAuNCA1Mi44IDQ4NC41IDMyIDQ1NC41IDMyTDEyMS44IDMyek0yNDUuNiA5Nmw4NS4yIDAgNy4zIDg4LTk5LjggMCA3LjMtODh6bS01NS41IDg4bC04Ny44IDAgMTkuNi04OCA3NS42IDAtNy4zIDg4ek05MS42IDIzMmw5NC41IDAtNy4zIDg4LTEwNi43IDAgMTkuNi04OHptMTQyLjYgMGwxMDcuOCAwIDcuMyA4OC0xMjIuNSAwIDcuMy04OHptMTU2IDBsOTQuNSAwIDE5LjYgODgtMTA2LjcgMC03LjMtODh6TTQ3NCAxODRsLTg3LjggMC03LjMtODggNzUuNiAwIDE5LjYgODh6Il19LFlHdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsYW5kLW1pbmUtb24iLGljb246WzU3Niw1MTIsW10sImU1MWIiLCJNMzEyIDBsMCAxMjhjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRMMjY0IDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNHpNMTYwIDI4OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyIDgwIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OEw4MCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0yNi41IDIxLjUtNDggNDgtNDhsODAgMCAwLTMyek0xMiAxMTQuN2M3LjQtMTEgMjIuMy0xNCAzMy4zLTYuN2w5NiA2NGMxMSA3LjQgMTQgMjIuMyA2LjcgMzMuM3MtMjIuMyAxNC0zMy4zIDYuN2wtOTYtNjRjLTExLTcuNC0xNC0yMi4zLTYuNy0zMy4zek01MzAuNyAxMDhjMTEtNy40IDI1LjktNC40IDMzLjMgNi43czQuNCAyNS45LTYuNyAzMy4zbC05NiA2NGMtMTEgNy40LTI1LjkgNC40LTMzLjMtNi43cy00LjQtMjUuOSA2LjctMzMuM2w5Ni02NHoiXX0sYXRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYWRwaG9uZXMiLGljb246WzQ0OCw1MTIsWzEyNzkxMSw2Mjg2MywiaGVhZHBob25lcy1hbHQiLCJoZWFkcGhvbmVzLXNpbXBsZSJdLCJmMDI1IiwiTTY0IDIyNGMwLTg4LjQgNzEuNi0xNjAgMTYwLTE2MHMxNjAgNzEuNiAxNjAgMTYwbDAgMzcuNWMtMTAtMy41LTIwLjgtNS41LTMyLTUuNWwtMTYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxMjhjMCAyNi41IDIxLjUgNDggNDggNDhsMTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMTYwQzQ0OCAxMDAuMyAzNDcuNyAwIDIyNCAwUzAgMTAwLjMgMCAyMjRMMCAzODRjMCA1MyA0MyA5NiA5NiA5NmwxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMTI4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC0xNiAwYy0xMS4yIDAtMjIgMS45LTMyIDUuNUw2NCAyMjR6Il19LEtHdD1hdGUsWkd0PWF0ZSxYR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVzIixpY29uOls0NDgsNTEyLFsxMjg2NTNdLCJmMjA3IiwiTTk2IDBDNDMgMCAwIDQzIDAgOTZMMCAzODRjMCAyOS44IDIwLjQgNTQuOSA0OCA2MmwwIDM0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zMiAxOTIgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0zNGMyNy42LTcuMSA0OC0zMi4yIDQ4LTYybDAtMjg4YzAtNTMtNDMtOTYtOTYtOTZMOTYgMHpNNjQgMTc2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEwNCAwIDAgMTEyLTEwNCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTQ4em0xODQgODBsMC0xMTIgMTA0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA0OGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTA0IDB6TTk2IDMyMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTI1NiAwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTUyIDcyYzAtMTMuMyAxMC43LTI0IDI0LTI0bDk2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTk2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0eiJdfSxRR3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1wb3dlcnBvaW50IixpY29uOlszODQsNTEyLFtdLCJmMWM0IiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek0xNTIgMjU2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDE0NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjQgMjQgMGMzOS44IDAgNzItMzIuMiA3Mi03MnMtMzIuMi03Mi03Mi03MmwtNDggMHptNDggOTZsLTI0IDAgMC00OCAyNCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0eiJdfSxwN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicXVvdGUtbGVmdCIsaWNvbjpbNDQ4LDUxMixbODIyMCwicXVvdGUtbGVmdC1hbHQiXSwiZjEwZCIsIk0wIDIxNkMwIDE0OS43IDUzLjcgOTYgMTIwIDk2bDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOCAwYy0zMC45IDAtNTYgMjUuMS01NiA1NmwwIDggNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDY0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC02NCAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDIxNnptMjU2IDBjMC02Ni4zIDUzLjctMTIwIDEyMC0xMjBsOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC04IDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2bDAgOCA2NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTY0IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTM2eiJdfSxKR3Q9cDdlLGVZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGV2cm9uLWRvd24iLGljb246WzQ0OCw1MTIsW10sImYwNzgiLCJNMjAxLjQgNDA2LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTkyLTE5MmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyMjQgMzM4LjcgNTQuNiAxNjkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTkyIDE5MnoiXX0sZjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVhcnRoLWFzaWEiLGljb246WzUxMiw1MTIsWzEyNzc1OSwiZ2xvYmUtYXNpYSJdLCJmNTdlIiwiTTUwIDI4NC44YzQuMiAyLjEgOSAzLjIgMTQgMy4ybDUwLjcgMGM4LjUgMCAxNi42IDMuNCAyMi42IDkuNGwxMy4zIDEzLjNjNiA2IDE0LjEgOS40IDIyLjYgOS40bDE4LjcgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTQwYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0LTEwLjcgMjQtMjRsMC00Mi43YzAtOC41IDMuNC0xNi42IDkuNC0yMi42bDEzLjMtMTMuM2M2LTYgOS40LTE0LjEgOS40LTIyLjZMMzA0IDU3YzAtMS4yLS4xLTIuMy0uMi0zLjUtMTUuNC0zLjYtMzEuNC01LjUtNDcuOC01LjUtMTE0LjkgMC0yMDggOTMuMS0yMDggMjA4IDAgOS44IC43IDE5LjQgMiAyOC44em00MDMuMyAzNy4zYy0zLjItMS40LTYuNy0yLjEtMTAuNS0yLjFMNDMyIDMyMGMtOC44IDAtMTYtNy4yLTE2LTE2cy03LjItMTYtMTYtMTZsLTM0LjcgMGMtOC41IDAtMTYuNiAzLjQtMjIuNiA5LjRsLTQ1LjMgNDUuM2MtNiA2LTkuNCAxNC4xLTkuNCAyMi42bDAgMTguN2MwIDE3LjcgMTQuMyAzMiAzMiAzMmwxOC43IDBjOC41IDAgMTYuNiAzLjQgMjIuNiA5LjQgMi4yIDIuMiA0LjcgNC4xIDcuMyA1LjUgMzkuMy0yNS40IDY5LjUtNjMuNiA4NC42LTEwOC44ek0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0xMjggMzY4YzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6TTI3MiAyNTZjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZ6bTQ4LTExMmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNnoiXX0sdFl0PWY3ZSxhWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2VudC1zaWduIixpY29uOlszODQsNTEyLFtdLCJlM2Y1IiwiTTIwOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjUuNGM0My42IDUuMiA4MyAyNC41IDExMy4zIDUzLjEgMTIuOSAxMi4xIDEzLjQgMzIuNCAxLjMgNDUuMnMtMzIuNCAxMy40LTQ1LjIgMS4zYy0yNC40LTIzLTU3LjItMzcuMS05My4zLTM3LjEtNzUuMSAwLTEzNiA2MC45LTEzNiAxMzZzNjAuOSAxMzYgMTM2IDEzNmMzNi4yIDAgNjktMTQuMSA5My4zLTM3LjEgMTIuOS0xMi4xIDMzLjEtMTEuNSA0NS4yIDEuM3MxMS41IDMzLjEtMS4zIDQ1LjJDMzIzIDQzMC4xIDI4My42IDQ0OS40IDI0MCA0NTQuNmwwIDI1LjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yOEM4NC43IDQzMy41IDE2IDM1Mi44IDE2IDI1NlM4NC43IDc4LjUgMTc2IDYwbDAtMjhjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LHJZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGllbGQtY2F0IixpY29uOls1MTIsNTEyLFtdLCJlNTcyIiwiTTI2OS40IDIuOUMyNjUuMiAxIDI2MC43IDAgMjU2IDBzLTkuMiAxLTEzLjQgMi45TDU0LjMgODIuOGMtMjIgOS4zLTM4LjQgMzEtMzguMyA1Ny4yIC41IDk5LjIgNDEuMyAyODAuNyAyMTMuNiAzNjMuMiAxNi43IDggMzYuMSA4IDUyLjggMCAxNzIuNC04Mi41IDIxMy4yLTI2NCAyMTMuNi0zNjMuMiAuMS0yNi4yLTE2LjMtNDcuOS0zOC4zLTU3LjJMMjY5LjQgMi45ek0xNjAgMTU0LjRjMC01LjggNC43LTEwLjQgMTAuNC0xMC40bC4yIDBjMy40IDAgNi41IDEuNiA4LjUgNC4zbDQwIDUzLjNjMyA0IDcuOCA2LjQgMTIuOCA2LjRsNDggMGM1IDAgOS44LTIuNCAxMi44LTYuNGw0MC01My4zYzItMi43IDUuMi00LjMgOC41LTQuM2wuMiAwYzUuOCAwIDEwLjQgNC43IDEwLjQgMTAuNEwzNTIgMjcyYzAgNTMtNDMgOTYtOTYgOTZzLTk2LTQzLTk2LTk2bDAtMTE3LjZ6TTIxNiAyODhhMTYgMTYgMCAxIDAgMC0zMiAxNiAxNiAwIDEgMCAwIDMyem05Ni0xNmExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAweiJdfSxzWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Nob29sLWNpcmNsZS1jaGVjayIsaWNvbjpbNjQwLDUxMixbXSwiZTU2YiIsIk02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI3NiAwYy0xMC41LTE0LjYtMTktMzAuNy0yNS4xLTQ4bC05MC45IDAgMC04OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwYzEgMCAxLjkgMCAyLjkgLjEgMjYuMy03NC42IDk3LjUtMTI4LjEgMTgxLjEtMTI4LjEgMjguNiAwIDU1LjYgNi4yIDgwIDE3LjRsMC0zMy40YzAtMzUuMy0yOC43LTY0LTY0LTY0bC02NCAwLTEyNy45LTExNS4xYy0xOC4zLTE2LjQtNDYtMTYuNC02NC4yIDBMMTI4IDEyOCA2NCAxMjh6bTY0IDI0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyek0xMTIgMjU2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZ6TTI4OCAxMjhhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTY0MCA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTg2LjYtNjAuOWM3LjEgNS4yIDguNyAxNS4yIDMuNSAyMi4zbC02NCA4OGMtMi44IDMuOC03IDYuMi0xMS43IDYuNXMtOS4zLTEuMy0xMi42LTQuNmwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwyNi44IDI2LjggNTMtNzIuOWM1LjItNy4xIDE1LjItOC43IDIyLjQtMy41eiJdfSxoN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFydGluaS1nbGFzcyIsaWNvbjpbNTEyLDUxMixbMTI3ODY0LCJnbGFzcy1tYXJ0aW5pLWFsdCJdLCJmNTdiIiwiTTIuNCA1MS44QzcuNCAzOS44IDE5LjEgMzIgMzIgMzJsNDQ4IDBjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOUwyODggMzAxLjMgMjg4IDQ0OCAzNTIgNDQ4YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwIDAtMTQ2LjctMjE0LjYtMjE0LjZDLjIgNzcuNS0yLjUgNjMuNyAyLjQgNTEuOHpNMzU0LjcgMTQ0bDQ4LTQ4LTI5My41IDAgNDggNDggMTk3LjUgMHoiXX0saVl0PWg3ZSxvWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGx1ZyIsaWNvbjpbNDQ4LDUxMixbMTI4MjY4XSwiZjFlNiIsIk0xMjgtMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NiAxMjggMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA5NiA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgNjRjMCA5NS4xLTY5LjIgMTc0LjEtMTYwIDE4OS4zbDAgNjYuN2MwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY2LjdDMTAxLjIgMzk4LjEgMzIgMzE5LjEgMzIgMjI0bDAtNjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzE0LjMgOTYgMzIgOTZsNjQgMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxuWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGFub3JhbWEiLGljb246WzU3Niw1MTIsW10sImUyMDkiLCJNNDMuOSA0OEMxOS43IDQ4IDAgNjcuNyAwIDkxLjlMMCA0MjAuMWMwIDI0LjMgMTkuNyA0My45IDQzLjkgNDMuOSA1LjUgMCAxMC43LTEgMTUuNy0yLjkgMTIuOS00LjkgMTAzLjQtMzcuMSAyMjguNC0zNy4xczIxNS41IDMyLjMgMjI4LjQgMzcuMWM1IDEuOSAxMC4yIDIuOSAxNS43IDIuOSAyNC4zIDAgNDMuOS0xOS43IDQzLjktNDMuOWwwLTMyOC4yYzAtMjQuMy0xOS43LTQzLjktNDMuOS00My45LTUuNSAwLTEwLjcgMS0xNS43IDIuOS0xMi45IDQuOS0xMDMuNCAzNy4xLTIyOC40IDM3LjFTNzIuNSA1NS43IDU5LjYgNTAuOUM1NC42IDQ5IDQ5LjQgNDggNDMuOSA0OHpNNzIgMTc2YTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6bTI2NC4xLTE2YzcuNSAwIDE0LjYgMy42IDE5LjEgOS42TDQ3OS43IDMzNi4yYzUuOSA3LjkgNi40IDE4LjUgMS4zIDI2LjlzLTE0LjggMTIuOC0yNC41IDExLjFjLTQ1LjgtNy44LTEwMy4zLTE0LjItMTY4LjQtMTQuMi02NS42IDAtMTIzLjQgNi41LTE2OS4zIDE0LjQtOS44IDEuNy0xOS43LTIuOS0yNC43LTExLjVzLTQuMy0xOS40IDEuOS0yNy4yTDE2NS4zIDI0OWM0LjYtNS43IDExLjUtOSAxOC43LTlzMTQuMiAzLjMgMTguNyA5bDI3LjUgMzQuNCA4Ni43LTExMy45YzQuNi02IDExLjctOS41IDE5LjItOS41eiJdfSxkdj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG9jay1yb3RhdGUtbGVmdCIsaWNvbjpbNTc2LDUxMixbImhpc3RvcnkiXSwiZjFkYSIsIk0yODggNjRjMTA2IDAgMTkyIDg2IDE5MiAxOTJTMzk0IDQ0OCAyODggNDQ4Yy02NS4yIDAtMTIyLjktMzIuNS0xNTcuNi04Mi4zLTEwLjEtMTQuNS0zMC4xLTE4LTQ0LjYtNy45cy0xOCAzMC4xLTcuOSA0NC42QzEyNC4xIDQ2OC42IDIwMSA1MTIgMjg4IDUxMiA0MjkuNCA1MTIgNTQ0IDM5Ny40IDU0NCAyNTZTNDI5LjQgMCAyODggMEMyMDIuMyAwIDEyNi41IDQyLjEgODAgMTA2LjdMODAgODBjMC0xNy43LTE0LjMtMzItMzItMzJTMTYgNjIuMyAxNiA4MGwwIDExMmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwyNC42IDBjLjUgMCAxIDAgMS41IDBsODYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzguMyAwQzE1NC45IDEwMi42IDIxNyA2NCAyODggNjR6bTI0IDg4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMTA0YzAgNi40IDIuNSAxMi41IDcgMTdsNzIgNzJjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC02NS02NSAwLTk0LjF6Il19LGxZdD1kdixjWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiamFyLXdoZWF0IixpY29uOlszMjAsNTEyLFtdLCJlNTE3IiwiTTMyLThjMC0xMy4zIDEwLjctMjQgMjQtMjRsMjA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMNTYgMTZDNDIuNyAxNiAzMiA1LjMgMzItOHpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptMTEyIDMybC00Mi4yIDBjLTMuMiAwLTUuOCAyLjYtNS44IDUuOCAwIDMyLjEgMjYgNTguMiA1OC4yIDU4LjJsNzUuNiAwYzMyLjEgMCA1OC4yLTI2IDU4LjItNTguMiAwLTMuMi0yLjYtNS44LTUuOC01LjhMMjA4IDE2MGMtMTkuMSAwLTM2LjMgOC40LTQ4IDIxLjctMTEuNy0xMy4zLTI4LjktMjEuNy00OC0yMS43em00OCAxMTcuN2MtMTEuNy0xMy4zLTI4LjktMjEuNy00OC0yMS43bC00Mi4yIDBjLTMuMiAwLTUuOCAyLjYtNS44IDUuOCAwIDMyLjEgMjYgNTguMiA1OC4yIDU4LjJsNzUuNiAwYzMyLjEgMCA1OC4yLTI2IDU4LjItNTguMiAwLTMuMi0yLjYtNS44LTUuOC01LjhMMjA4IDI1NmMtMTkuMSAwLTM2LjMgOC40LTQ4IDIxLjd6TTExMiAzNTJsLTQyLjIgMGMtMy4yIDAtNS44IDIuNi01LjggNS44IDAgMzIuMSAyNiA1OC4yIDU4LjIgNTguMmwyMS44IDAgMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtMzIgMjEuOCAwYzMyLjEgMCA1OC4yLTI2IDU4LjItNTguMiAwLTMuMi0yLjYtNS44LTUuOC01LjhMMjA4IDM1MmMtMTkuMSAwLTM2LjMgOC40LTQ4IDIxLjctMTEuNy0xMy4zLTI4LjktMjEuNy00OC0yMS43eiJdfSxydGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2xvdWQtYXJyb3ctZG93biIsaWNvbjpbNTc2LDUxMixbNjIzMzcsImNsb3VkLWRvd25sb2FkIiwiY2xvdWQtZG93bmxvYWQtYWx0Il0sImYwZWQiLCJNMTQ0IDQ4MGMtNzkuNSAwLTE0NC02NC41LTE0NC0xNDQgMC02My40IDQxLTExNy4yIDk3LjktMTM2LjUtMS4zLTcuNy0xLjktMTUuNS0xLjktMjMuNSAwLTc5LjUgNjQuNS0xNDQgMTQ0LTE0NCA1NS40IDAgMTAzLjUgMzEuMyAxMjcuNiA3Ny4xIDE0LjItOC4zIDMwLjgtMTMuMSA0OC40LTEzLjEgNTMgMCA5NiA0MyA5NiA5NiAwIDE1LjctMy44IDMwLjYtMTAuNSA0My43IDQ0IDIwLjMgNzQuNSA2NC43IDc0LjUgMTE2LjMgMCA3MC43LTU3LjMgMTI4LTEyOCAxMjhsLTMwNCAwek0zNzcgMzEzYzkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBsLTMxIDMxIDAtMTAyLjFjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAxMDIuMS0zMS0zMWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWw3MiA3MmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw3Mi03MnoiXX0sZFl0PXJ0ZSx1WXQ9cnRlLG03ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1yYW1wLWJveCIsaWNvbjpbNTc2LDUxMixbInRydWNrLWxvYWRpbmciXSwiZjRkZSIsIk00MDAgMzJjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMjQ4LjItMjk3LjIgODkuMkM1LjkgNDU0LjQtMy43IDQ3Mi4zIDEuNCA0ODkuMnMyMi45IDI2LjUgMzkuOCAyMS41bDMxNS41LTk0LjYgNDMuNyAwYy0uMiAyLjYtLjQgNS4zLS40IDggMCA0OC42IDM5LjQgODggODggODhzODgtMzkuNCA4OC04OGwwLTM5Mi0xNzYgMHpNNTI4IDQyNGMwIDIyLjEtMTcuOSA0MC00MCA0MHMtNDAtMTcuOS00MC00MCAxNy45LTQwIDQwLTQwYzIyLjEgMCAzOS45IDE3LjkgNDAgMzkuOWwwIC4xek01MS45IDE0OS41QzE4LjEgMTU5LjgtLjkgMTk1LjYgOS40IDIyOS40bDI4LjEgOTEuOEM0Ny44IDM1NSA4My42IDM3NCAxMTcuNCAzNjMuN2w5MS44LTI4LjFjMzMuOC0xMC4zIDUyLjgtNDYuMSA0Mi41LTc5LjlsLTI4LjEtOTEuOGMtMTAuMy0zMy44LTQ2LjEtNTIuOC03OS45LTQyLjVMNTEuOSAxNDkuNXoiXX0scFl0PW03ZSxmWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5nbGUtZG93biIsaWNvbjpbMzg0LDUxMixbODk2NF0sImYxMDciLCJNMTY5LjQgMzc0LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwxOTIgMzA2LjcgNTQuNiAxNjkuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MHoiXX0saFl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsdWctY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNTVjIiwiTTE5Mi0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDEyOCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA0OC43Yy05OC42IDguMS0xNzYgOTAuNy0xNzYgMTkxLjMgMCAyNy4zIDUuNyA1My4zIDE2IDc2LjlsMCAzLjFjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02Ni43QzE2NS4yIDM5OC4xIDk2IDMxOS4xIDk2IDIyNGwwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlM3OC4zIDk2IDk2IDk2bDY0IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMzUyIDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMDEuNC02MC45Yy03LjEtNS4yLTE3LjItMy42LTIyLjQgMy41bC01MyA3Mi45LTI2LjgtMjYuOGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGMzLjMgMy4zIDcuOSA1IDEyLjYgNC42czguOS0yLjggMTEuNy02LjVsNjQtODhjNS4yLTcuMSAzLjYtMTcuMi0zLjUtMjIuM3oiXX0sbVl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6IndpbmRvdy1tYXhpbWl6ZSIsaWNvbjpbNTEyLDUxMixbMTI4NDcwXSwiZjJkMCIsIk02NCA2NEMyOC43IDY0IDAgOTIuNyAwIDEyOEwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NEw2NCA2NHptMjQgNjRsMzM2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMODggMTc2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxnWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZHMtaG9sZGluZy1jaXJjbGUiLGljb246WzY0MCw1MTIsW10sImU0ZmIiLCJNMzIwIDBhMTI4IDEyOCAwIDEgMSAwIDI1NiAxMjggMTI4IDAgMSAxIDAtMjU2ek00MCA2NGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDE2MC4yYzAgMTcgNi43IDMzLjMgMTguNyA0NS4zbDUxLjEgNTEuMWM4LjMgOC4zIDIxLjMgOS42IDMxIDMuMSAxMi45LTguNiAxNC43LTI2LjkgMy43LTM3LjgtNy4zLTcuMy0yMy4xLTIzLjEtNDcuMi00Ny4yLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBjMjQuMSAyNC4xIDM5LjkgMzkuOSA0Ny4yIDQ3LjJsMCAwIDI1LjMgMjUuM2MyMSAyMSAzMi44IDQ5LjUgMzIuOCA3OS4ybDAgNzguOWMwIDI2LjUtMjEuNSA0OC00OCA0OGwtNjYuNyAwYy0xNyAwLTMzLjMtNi43LTQ1LjMtMTguN0wyOC4xIDM5My40QzEwLjEgMzc1LjQgMCAzNTEgMCAzMjUuNUwwIDEwNEMwIDgxLjkgMTcuOSA2NCA0MCA2NHptNTYwIDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCAyMjEuNWMwIDI1LjUtMTAuMSA0OS45LTI4LjEgNjcuOUw1MTIgNDkzLjNjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdMNDAwIDUxMmMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC03OC45YzAtMjkuNyAxMS44LTU4LjIgMzIuOC03OS4ybDI1LjMtMjUuMyAwIDBjNy4zLTcuMyAyMy4xLTIzLjEgNDcuMi00Ny4yIDEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNjLTI0LjEgMjQuMS0zOS45IDM5LjktNDcuMiA0Ny4yLTExIDExLTkuMiAyOS4yIDMuNyAzNy44IDkuNyA2LjUgMjIuNyA1LjIgMzEtMy4xbDUxLjEtNTEuMWMxMi0xMiAxOC43LTI4LjMgMTguNy00NS4zTDU2MCAxMDRjMC0yMi4xIDE3LjktNDAgNDAtNDB6Il19LGc3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsb2NhdGlvbi1waW4iLGljb246WzM4NCw1MTIsWyJtYXAtbWFya2VyIl0sImYwNDEiLCJNMTkyIDBDODYgMCAwIDg0LjQgMCAxODguNiAwIDMwNy45IDEyMC4yIDQ1MC45IDE3MC40IDUwNS40IDE4Mi4yIDUxOC4yIDIwMS44IDUxOC4yIDIxMy42IDUwNS40IDI2My44IDQ1MC45IDM4NCAzMDcuOSAzODQgMTg4LjYgMzg0IDg0LjQgMjk4IDAgMTkyIDB6Il19LGJZdD1nN2Usdll0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvd2xpbmctYmFsbCIsaWNvbjpbNTEyLDUxMixbXSwiZjQzNiIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMjQwIDgwYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMjA4IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0tNjQtNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxiN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FydC1mbGF0YmVkIixpY29uOls1NzYsNTEyLFsiZG9sbHktZmxhdGJlZCJdLCJmNDc0IiwiTTMyIDBDMTQuMyAwIDAgMTQuMyAwIDMyUzE0LjMgNjQgMzIgNjRsMTYgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyODhjMCAzOS44IDI5LjEgNzIuOCA2Ny4xIDc5LTIgNS4zLTMuMSAxMS0zLjEgMTcgMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OGMwLTUuNi0xLTExLTIuNy0xNmwxOTcuNSAwYy0xLjggNS0yLjcgMTAuNC0yLjcgMTYgMCAyNi41IDIxLjUgNDggNDggNDhzNDgtMjEuNSA0OC00OGMwLTUuNi0xLTExLTIuNy0xNmwzNC43IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQwMCAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yODhDMTI4IDM1LjggOTIuMiAwIDQ4IDBMMzIgMHpNMjI0IDY0Yy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE3NmMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyNDAgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE3NmMwLTI2LjUtMjEuNS00OC00OC00OEwyMjQgNjR6Il19LHhZdD1iN2UsdjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLXVzZXIiLGljb246WzUxMiw1MTIsWyJob21lLXVzZXIiXSwiZTFiMCIsIk0yNzcuOCA4LjZjLTEyLjMtMTEuNC0zMS4zLTExLjQtNDMuNSAwbC0yMjQgMjA4Yy05LjYgOS0xMi44IDIyLjktOCAzNS4xUzE4LjggMjcyIDMyIDI3MmwxNiAwIDAgMTc2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI4OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTc2IDE2IDBjMTMuMiAwIDI1LTguMSAyOS44LTIwLjNzMS42LTI2LjItOC0zNS4xbC0yMjQtMjA4ek0yMDAgMjU2YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTQ0IDQzMmMwLTQ0LjIgMzUuOC04MCA4MC04MGw2NCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwIDAgOC44LTcuMiAxNi0xNiAxNmwtMTkyIDBjLTguOCAwLTE2LTcuMi0xNi0xNnoiXX0seVl0PXY3ZSx3WXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2hvc3QiLGljb246WzM4NCw1MTIsWzEyODEyM10sImY2ZTIiLCJNNDAuMSA0NjcuMWwtMTEuMiA5QzI1LjcgNDc4LjYgMjEuOCA0ODAgMTcuOCA0ODAgOCA0ODAgMCA0NzIgMCA0NjIuMkwwIDE5MkMwIDg2IDg2IDAgMTkyIDBTMzg0IDg2IDM4NCAxOTJsMCAyNzAuMmMwIDkuOC04IDE3LjgtMTcuOCAxNy44LTQgMC03LjktMS40LTExLjEtMy45bC0xMS4yLTljLTEzLjQtMTAuNy0zMi44LTktNDQuMSAzLjlMMjY5LjMgNTA2Yy0zLjMgMy44LTguMiA2LTEzLjMgNnMtOS45LTIuMi0xMy4zLTZsLTI2LjYtMzAuNWMtMTIuNy0xNC42LTM1LjQtMTQuNi00OC4yIDBMMTQxLjMgNTA2Yy0zLjMgMy44LTguMiA2LTEzLjMgNnMtOS45LTIuMi0xMy4zLTZMODQuMiA0NzFjLTExLjMtMTIuOS0zMC43LTE0LjYtNDQuMS0zLjl6TTE2MCAxOTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptOTYgMzJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxNWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tbWVudC1ub2RlcyIsaWNvbjpbNjQwLDUxMixbXSwiZTY5NiIsIk00ODAgMjA4QzUwMy43IDIwOCA1MjUuNiAyMTUuMyA1NDMuNyAyMjcuOSA1MzYuOSAxMDAuOSA0MjUgMCAyODggMCAxNDYuNiAwIDMyIDEwNy41IDMyIDI0MCAzMiAyOTQuMyA1MS4yIDM0NC4zIDgzLjYgMzg0LjVMMzQuOCA0NzYuOGMtNC44IDktMy4zIDIwIDMuNiAyNy41czE3LjggOS44IDI3LjEgNS44bDExOC40LTUwLjdjMjcuMiAxMS40IDU2LjkgMTguNCA4OC4xIDIwLjIgLjEtMTguOSA0LjktMzggMTUtNTUuNSAxNy4xLTI5LjcgNDUuOC00OC41IDc3LTU0LjJsOS4yLTE2Yy0zLjQtMTAuNy01LjItMjItNS4yLTMzLjggMC02MS45IDUwLjEtMTEyIDExMi0xMTJ6TTMyOC42IDQ0OGMtMTcuNyAzMC42LTcuMiA2OS43IDIzLjQgODcuNHM2OS43IDcuMiA4Ny40LTIzLjRjMS41LTIuNiAyLjgtNS4zIDMuOS04bDczLjMgMGMxLjEgMi43IDIuNCA1LjQgMy45IDggMTcuNyAzMC42IDU2LjggNDEuMSA4Ny40IDIzLjRzNDEuMS01Ni44IDIzLjQtODcuNGMtMTMuNC0yMy4yLTM5LjEtMzQuOC02NC0zMS40bC0xNy42LTMwLjdjLTExIDExLjctMjUgMjAuNi00MC42IDI1LjZsMTYuNSAyOC45Yy0zLjggNC44LTYuOCAxMC05IDE1LjZsLTczLjQgMGMtMi4yLTUuNi01LjMtMTAuOC05LTE1LjZsMzMtNTcuN2M0LjEgLjggOC40IDEuMyAxMi44IDEuMyAzNS4zIDAgNjQtMjguNyA2NC02NHMtMjguNy02NC02NC02NC02NCAyOC43LTY0IDY0YzAgMTMuNCA0LjEgMjUuOCAxMS4yIDM2LjFsLTM0LjYgNjAuNWMtMjUtMy40LTUwLjYgOC4zLTY0IDMxLjR6Il19LGtZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tYXJyb3ctZG93bi10by1saW5lIixpY29uOls1NzYsNTEyLFtdLCJlNTM4IiwiTTE5Mi0zMmE1NiA1NiAwIDEgMSAwIDExMiA1NiA1NiAwIDEgMSAwLTExMnpNMzE4LjMgMjk5LjFsLTQ2LjMtNjIuNCAwIDI0My4zIDI3MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDU0NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw4MCAwIDAtMjQzLjMtNDYuMyA2Mi40Yy0xMC41IDE0LjItMzAuNiAxNy4yLTQ0LjggNi42cy0xNy4yLTMwLjYtNi42LTQ0LjhsNzAuNS05NUMxMTAgMTMyIDE0OS43IDExMiAxOTIgMTEyczgyIDIwIDEwNy4yIDUzLjlsNzAuNSA5NWMxMC41IDE0LjIgNy42IDM0LjItNi42IDQ0LjhzLTM0LjIgNy42LTQ0LjgtNi42ek0xNzYgNDgwbDMyIDAgMC0xMjhjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAxMjh6TTU2Ni42IDE2Ni42bC04MCA4MGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBsLTgwLTgwYy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwTDQzMiAxNDYuNyA0MzIgMGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTQ2LjcgMjUuNC0yNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6Il19LFNZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVnLWNpcmNsZS1wbHVzIixpY29uOls2NDAsNTEyLFtdLCJlNTVmIiwiTTE5Mi0zMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2IDEyOCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDk2IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCA0OC43Yy05OC42IDguMS0xNzYgOTAuNy0xNzYgMTkxLjMgMCAyNy4zIDUuNyA1My4zIDE2IDc2LjlsMCAzLjFjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02Ni43QzE2NS4yIDM5OC4xIDk2IDMxOS4xIDk2IDIyNGwwLTY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMlM3OC4zIDk2IDk2IDk2bDY0IDAgMC05NmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNNDk2IDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTE2IDgwYzAtOC44LTcuMi0xNi0xNi0xNnMtMTYgNy4yLTE2IDE2bDAgNDgtNDggMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw0OCAwIDAgNDhjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTQ4IDQ4IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTQ4IDAgMC00OHoiXX0seDdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1zd2ltbWluZyIsaWNvbjpbNjQwLDUxMixbMTI3OTQ2LCJzd2ltbWVyIl0sImY1YzQiLCJNNTUyIDE1MmE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6TTI5My40IDE5OC4ybC04OC42IDczLjljMS4xIDAgMi4yLS4xIDMuMy0uMSAzMy4xLS4yIDY2LjMgMTAuMiA5NC40IDMxLjQgMjIuMSAxNi42IDI5LjEgMTYuNiA1MS4yIDAgMjcuNS0yMC43IDU5LjktMzEuMiA5Mi40LTMxLjQgNC44IDAgOS43IC4yIDE0LjUgLjYtOC4zLTMwLTI0LjMtNTcuNy00Ni44LTgwLjItMTguNC0xOC40LTQwLjYtMzIuNy02NS00MS44bC02OC42LTI1LjdjLTI3LjQtMTAuMy01OC03LjUtODMuMSA3LjZsLTUzLjUgMzIuMWMtMTUuMiA5LjEtMjAuMSAyOC43LTExIDQzLjlzMjguNyAyMC4xIDQzLjkgMTFMMjMwIDE4Ny4zYzguNC01IDE4LjYtNS45IDI3LjctMi41bDM1LjcgMTMuNHptMTEwIDE4MS45YzIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDE5IDE0LjQgNDEuOSAyOC4yIDY3LjIgMzMuMyAyNi41IDUuNCA1NC4zIC44IDgwLjctMTkuMSAxMC42LTggMTIuNy0yMyA0LjctMzMuNnMtMjMtMTIuNy0zMy42LTQuN2MtMTQuOSAxMS4yLTI4LjYgMTMuMS00Mi4zIDEwLjMtMTQuOS0zLTMwLjktMTEuOS00Ny44LTI0LjYtMzguNC0yOS05MC41LTI5LTEyOSAwLTI0IDE4LjEtNDAuNyAyNi4zLTU0LjUgMjYuM3MtMzAuNS04LjItNTQuNS0yNi4zYy0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjEuNiAxNi4zLTQxLjMgMjUuOC01OC45IDI1LjctOS42LS4xLTE5LjktMy0zMS4yLTExLjUtMTAuNi04LTI1LjYtNS45LTMzLjYgNC43UzcgMzg2LjMgMTcuNiAzOTQuM2MxOS4xIDE0LjQgMzkuNCAyMSA1OS44IDIxLjEgMzMuOSAuMiA2NC4zLTE3LjQgODguMS0zNS4zIDIxLjMtMTYuMSA0OS45LTE2LjEgNzEuMiAwIDI0LjIgMTguMyA1Mi4zIDM1LjkgODMuNCAzNS45czU5LjEtMTcuNyA4My40LTM1Ljl6Il19LHpZdD14N2UseTdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbW1lbnQtZG90cyIsaWNvbjpbNTEyLDUxMixbMTI4MTcyLDYyMDc1LCJjb21tZW50aW5nIl0sImY0YWQiLCJNMjU2IDQ4MGMxNDEuNCAwIDI1Ni0xMDcuNSAyNTYtMjQwUzM5Ny40IDAgMjU2IDAgMCAxMDcuNSAwIDI0MGMwIDU0LjMgMTkuMiAxMDQuMyA1MS42IDE0NC41TDIuOCA0NzYuOGMtNC44IDktMy4zIDIwIDMuNiAyNy41czE3LjggOS44IDI3LjEgNS44bDExOC40LTUwLjdDMTgzLjcgNDcyLjYgMjE4LjkgNDgwIDI1NiA0ODB6TTEyOCAyMDhhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0em0xMjggMGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTk2IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6Il19LENZdD15N2UsdzdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoYXJ0LXBpZSIsaWNvbjpbNTc2LDUxMixbInBpZS1jaGFydCJdLCJmMjAwIiwiTTUxMi40IDI0MGwtMTc2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTc2YzAtMTcuNyAxNC40LTMyLjIgMzEuOS0yOS45IDEwNyAxNC4yIDE5MS44IDk5IDIwNiAyMDYgMi4zIDE3LjUtMTIuMiAzMS45LTI5LjkgMzEuOXpNMjIyLjYgMzcuMmMxOC4xLTMuOCAzMy44IDExIDMzLjggMjkuNWwwIDE5Ny4zYzAgNS42IDIgMTEgNS41IDE1LjNMMzk0IDQzOC43YzExLjcgMTQuMSA5LjIgMzUuNC02LjkgNDQuMS0zNC4xIDE4LjYtNzMuMiAyOS4yLTExNC43IDI5LjItMTMyLjUgMC0yNDAtMTA3LjUtMjQwLTI0MCAwLTExNS41IDgxLjUtMjExLjkgMTkwLjItMjM0Ljh6TTQ3Ny44IDI4OGw2NCAwYzE4LjUgMCAzMy4zIDE1LjcgMjkuNSAzMy44LTEwLjIgNDguNC0zNSA5MS40LTY5LjYgMTI0LjItMTIuMyAxMS43LTMxLjYgOS4yLTQyLjQtMy45TDM3NC45IDM0MC40Yy0xNy4zLTIwLjktMi40LTUyLjQgMjQuNi01Mi40bDc4LjIgMHoiXX0sX1l0PXc3ZSxUWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZnJvZyIsaWNvbjpbNTc2LDUxMixbXSwiZjUyZSIsIk0zNjggMzJjNDEuNyAwIDc1LjkgMzEuOCA3OS43IDcyLjVsODUuNiAyNi4zYzI1LjQgNy44IDQyLjggMzEuMyA0Mi44IDU3LjkgMCAyMS44LTExLjcgNDEuOS0zMC43IDUyLjdsLTE0NC41IDgyLjEgOTIuNSA5Mi41IDUwLjcgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtNjQgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRMMzQ2LjkgMzYwLjJjMTEuNy0zNiAzLjItNzcuMS0yNS40LTEwNS43LTQwLjYtNDAuNi0xMDYuMy00MC42LTE0Ni45LS4xTDEwMSAzMjQuNGMtNi40IDYuMS02LjcgMTYuMi0uNiAyMi42czE2LjIgNi42IDIyLjYgLjZsNzMuOC03MC4yIC4xLS4xIC4xLS4xYzMuNS0zLjUgNy4zLTYuNiAxMS4zLTkuMiAyNy45LTE4LjUgNjUuOS0xNS40IDkwLjUgOS4yIDI0LjcgMjQuNyAyNy43IDYyLjkgOSA5MC45LTIuNiAzLjgtNS42IDcuNS05IDEwLjlMMjYxLjggNDE2IDM1MiA0MTZjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMNjQgNDgwQzI4LjcgNDgwIDAgNDUxLjMgMCA0MTYgMCAyNDkuNiAxMjcgMTEyLjkgMjg5LjMgOTcuNSAyOTYuMiA2MC4yIDMyOC44IDMyIDM2OCAzMnptMCAxMDRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4eiJdfSxMWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2luZS1ib3R0bGUiLGljb246WzMyMCw1MTIsW10sImY3MmYiLCJNODAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMiAwIDExLjgtNi40IDIyLjItMTYgMjcuN2wwIDE0NS42YzU2LjUgMjQuNyA5NiA4MS4xIDk2IDE0Ni43bDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDU3NmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyODhjMC02NS42IDM5LjUtMTIyIDk2LTE0Ni43TDk2LTQuM0M4Ni40LTkuOCA4MC0yMC4yIDgwLTMyek05NiAyODhjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDk2IDI4OHoiXX0sJFl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImluYm94IixpY29uOls1MTIsNTEyLFtdLCJmMDFjIiwiTTkxLjggMzJDNTkuOSAzMiAzMi45IDU1LjQgMjguNCA4Ni45TC42IDI4MS4yYy0uNCAzLS42IDYtLjYgOS4xTDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTI1LjdjMC0zLS4yLTYuMS0uNi05LjFMNDgzLjYgODYuOUM0NzkuMSA1NS40IDQ1Mi4xIDMyIDQyMC4yIDMyTDkxLjggMzJ6bTAgNjRsMzI4LjUgMCAyNy40IDE5Mi01OS45IDBjLTEyLjEgMC0yMy4yIDYuOC0yOC42IDE3LjdsLTE0LjMgMjguNmMtNS40IDEwLjgtMTYuNSAxNy43LTI4LjYgMTcuN2wtMTIwLjQgMGMtMTIuMSAwLTIzLjItNi44LTI4LjYtMTcuN2wtMTQuMy0yOC42Yy01LjQtMTAuOC0xNi41LTE3LjctMjguNi0xNy43TDY0LjMgMjg4IDkxLjggOTZ6Il19LE03ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtaCIsaWNvbjpbNDQ4LDUxMixbImgtc3F1YXJlIl0sImYwZmQiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDQxNmMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTMyMGMwLTM1LjMtMjguNy02NC02NC02NEw2NCAzMnpNMzIwIDE2OGwwIDE3NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTY0LTk2IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE3NmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgNjQgOTYgMCAwLTY0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6Il19LERZdD1NN2UsQVl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLW1lZGljYWwiLGljb246WzUxMiw1MTIsW10sImUzYjIiLCJNMjc3LjggOC42Yy0xMi4zLTExLjQtMzEuMy0xMS40LTQzLjUgMGwtMjI0IDIwOGMtOS42IDktMTIuOCAyMi45LTggMzUuMVMxOC44IDI3MiAzMiAyNzJsMTYgMCAwIDE3NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyODggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE3NiAxNiAwYzEzLjIgMCAyNS04LjEgMjkuOC0yMC4zczEuNi0yNi4yLTgtMzUuMWwtMjI0LTIwOHpNMjI0IDI0OGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCA0MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDAgMCAwIDQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MHoiXX0sazdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1jaGV2cm9uLXJpZ2h0IixpY29uOls1MTIsNTEyLFsiY2hldnJvbi1jaXJjbGUtcmlnaHQiXSwiZjEzOCIsIk0wIDI1NmEyNTYgMjU2IDAgMSAwIDUxMiAwIDI1NiAyNTYgMCAxIDAgLTUxMiAwek0yNDEgMzc3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDg3LTg3LTg3LTg3Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBMMzQ1IDIzOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOUwyNDEgMzc3eiJdfSxFWXQ9azdlLFBZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWNzdiIsaWNvbjpbNTc2LDUxMixbXSwiZjZkZCIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDgwIDAgMC0xMTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTc2IDAgMC0xNjUuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnpNMjY0IDM4MGMtMjQuMyAwLTQ0IDE5LjctNDQgNDRsMCA4MGMwIDI0LjMgMTkuNyA0NCA0NCA0NGwxNiAwYzI0LjMgMCA0NC0xOS43IDQ0LTQ0bDAtOGMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjBsMCA4YzAgMi4yLTEuOCA0LTQgNGwtMTYgMGMtMi4yIDAtNC0xLjgtNC00bDAtODBjMC0yLjIgMS44LTQgNC00bDE2IDBjMi4yIDAgNCAxLjggNCA0bDAgOGMwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLThjMC0yNC4zLTE5LjctNDQtNDQtNDRsLTE2IDB6bTEzNiAwYy0yOC43IDAtNTIgMjMuMy01MiA1MnMyMy4zIDUyIDUyIDUyYzYuNiAwIDEyIDUuNCAxMiAxMnMtNS40IDEyLTEyIDEybC0zMiAwYy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGwzMiAwYzI4LjcgMCA1Mi0yMy4zIDUyLTUycy0yMy4zLTUyLTUyLTUyYy02LjYgMC0xMi01LjQtMTItMTJzNS40LTEyIDEyLTEybDI0IDBjMTEgMCAyMC05IDIwLTIwcy05LTIwLTIwLTIwbC0yNCAwem05NiAwYy0xMSAwLTIwIDktMjAgMjBsMCAzMS42YzAgMzUuNSAxMC41IDcwLjMgMzAuMiA5OS44bDUuMSA3LjdjMy43IDUuNiAxMCA4LjkgMTYuNiA4LjlzMTIuOS0zLjMgMTYuNi04LjlsNS4xLTcuN2MxOS43LTI5LjYgMzAuMi02NC4zIDMwLjItOTkuOGwwLTMxLjZjMC0xMS05LTIwLTIwLTIwcy0yMCA5LTIwIDIwbDAgMzEuNmMwIDE5LjYtNC4xIDM4LjktMTIgNTYuNy03LjktMTcuOC0xMi0zNy4xLTEyLTU2LjdsMC0zMS42YzAtMTEtOS0yMC0yMC0yMHoiXX0sSVl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhdC1jb3dib3kiLGljb246WzY0MCw1MTIsW10sImY4YzAiLCJNMTgyLjIgNzYuMUwxMzAuOCAzMDcuNUMxNDUuNSAzMjQuOSAxNjcuNCAzMzYgMTkyIDMzNmwyNTYgMGMyNC42IDAgNDYuNS0xMS4xIDYxLjItMjguNUw0NTcuOCA3Ni4xYy01LjctMjUuOC0yOC42LTQ0LjEtNTUtNDQuMS0xMi4yIDAtMjQuMSA0LTMzLjggMTEuM2wtNC43IDMuNWMtMjYuMyAxOS43LTYyLjQgMTkuNy04OC42IDBMMjcxIDQzLjNjLTkuOC03LjMtMjEuNi0xMS4zLTMzLjgtMTEuMy0yNi40IDAtNDkuMyAxOC4zLTU1IDQ0LjF6TTY0IDI1NmMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDIzOC4zIDAgMjU2QzAgMzYyIDg2IDQ0OCAxOTIgNDQ4bDI1NiAwYzEwNiAwIDE5Mi04NiAxOTItMTkyIDAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMyYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC0yNTYgMGMtNzAuNyAwLTEyOC01Ny4zLTEyOC0xMjh6Il19LFM3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4tdG9uZ3VlLXdpbmsiLGljb246WzUxMiw1MTIsWzEyODU0MCwiZ3Jpbi10b25ndWUtd2luayJdLCJmNThiIiwiTTE1Mi4yIDQ5MC4xQzYyLjUgNDUwLjIgMCAzNjAuNCAwIDI1NiAwIDExNC42IDExNC42IDAgMjU2IDBTNTEyIDExNC42IDUxMiAyNTZjMCAxMDQuNC02Mi41IDE5NC4yLTE1Mi4yIDIzNC4xIDUuMy0xMyA4LjItMjcuMiA4LjItNDIuMWwwLTYxLjdjMTYuOS0xNi41IDMwLjEtMzYuNyAzOC4zLTU5LjMgNC4zLTExLjgtNy43LTIxLjgtMTkuNi0xOC4xLTM5LjIgMTIuMi04My43IDE5LjEtMTMwLjcgMTkuMXMtOTEuNS02LjktMTMwLjctMTkuMWMtMTEuOS0zLjctMjMuOSA2LjMtMTkuNiAxOC4xIDguMyAyMi42IDIxLjUgNDIuOCAzOC4zIDU5LjNsMCA2MS43YzAgMTQuOSAyLjkgMjkuMSA4LjIgNDIuMXpNMTUyIDIxMmwxNiAwYzExIDAgMjAgOSAyMCAyMHM5IDIwIDIwIDIwIDIwLTkgMjAtMjBjMC0zMy4xLTI2LjktNjAtNjAtNjBsLTE2IDBjLTMzLjEgMC02MCAyNi45LTYwIDYwIDAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwIDktMjAgMjAtMjB6bTE4NCA2MGE2NCA2NCAwIDEgMCAwLTEyOCA2NCA2NCAwIDEgMCAwIDEyOHpNMzIwIDQwMi42bDAgNDUuNGMwIDM1LjMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGwwLTQ1LjRjMC0xNC43IDExLjktMjYuNiAyNi42LTI2LjZsMiAwYzExLjMgMCAyMS4xIDcuOSAyMy42IDE4LjkgMi44IDEyLjYgMjAuOCAxMi42IDIzLjYgMCAyLjUtMTEuMSAxMi4zLTE4LjkgMjMuNi0xOC45bDIgMGMxNC43IDAgMjYuNiAxMS45IDI2LjYgMjYuNnpNMzM2IDE4NGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LE5ZdD1TN2UsUll0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImwiLGljb246WzMyMCw1MTIsWzEwOF0sIjRjIiwiTTY0IDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzUyIDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDY0IDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMzIgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LHN0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLXNob3J0LXdpZGUiLGljb246WzU3Niw1MTIsWyJzb3J0LWFtb3VudC1kZXNjIiwic29ydC1hbW91bnQtZG93bi1hbHQiXSwiZjg4NCIsIk0yNDYuNiAzNzQuNmwtOTYgOTZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC05Ni05NmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAzNzAuNyA5NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzA2LjcgNDEuNC00MS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6TTMyMCAzMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDEyOGw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyem0wIDEyOGwxNjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTYwIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6bTAgMTI4bDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnoiXX0sT1l0PXN0ZSxGWXQ9c3RlLHo3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VyZ2xhc3MtaGFsZiIsaWNvbjpbMzg0LDUxMixbImhvdXJnbGFzcy0yIl0sImYyNTIiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwwIDExYzAgNDIuNCAxNi45IDgzLjEgNDYuOSAxMTMuMWw2Ny45IDY3LjktNjcuOSA2Ny45QzQ4LjkgMzUzLjkgMzIgMzk0LjYgMzIgNDM3bDAgMTFjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0xMWMwLTQyLjQtMTYuOS04My4xLTQ2LjktMTEzLjFsLTY3LjktNjcuOSA2Ny45LTY3LjljMzAtMzAgNDYuOS03MC43IDQ2LjktMTEzLjFsMC0xMWMxNy43IDAgMzItMTQuMyAzMi0zMlMzNjkuNyAwIDM1MiAwTDMyIDB6TTk2IDc1bDAtMTEgMTkyIDAgMCAxMWMwIDE5LTUuNiAzNy40LTE2IDUzTDExMiAxMjhjLTEwLjMtMTUuNi0xNi0zNC0xNi01M3ptMTYgMzA5YzMuNS01LjMgNy42LTEwLjMgMTIuMS0xNC45bDY3LjktNjcuOSA2Ny45IDY3LjljNC42IDQuNiA4LjYgOS42IDEyLjIgMTQuOUwxMTIgMzg0eiJdfSxCWXQ9ejdlLEM3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcG9vbiIsaWNvbjpbNTEyLDUxMixbMTI5MzQ4LDYxODczLCJ1dGVuc2lsLXNwb29uIl0sImYyZTUiLCJNMjQ1LjggMjIwLjljLTE0LjUtMTcuNi0yMS44LTM5LjItMjEuOC02MC44IDAtODAuMiA5Ni0xNjAuMiAxOTItMTYwLjIgNTMgMCA5NiA0MyA5NiA5NiAwIDk2LTgwIDE5Mi0xNjAuMiAxOTItMjEuNiAwLTQzLjItNy4zLTYwLjgtMjEuOEw1NC42IDUwMi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM0wyNDUuOCAyMjAuOXoiXX0sSFl0PUM3ZSxfN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY3JlZGl0LWNhcmQiLGljb246WzUxMiw1MTIsWzEyODE3OSw2MjA4MywiY3JlZGl0LWNhcmQtYWx0Il0sImYwOWQiLCJNMCAxMjhsMCAzMiA1MTIgMCAwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4em0wIDgwTDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTc2LTUxMiAwek02NCAzNjBjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTE0NCAwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0eiJdfSxxWXQ9XzdlLEZ0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWludm9pY2UtZG9sbGFyIixpY29uOlszODQsNTEyLFtdLCJmNTcxIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek02NCA4OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDg4IDY0Qzc0LjcgNjQgNjQgNzQuNyA2NCA4OHptMCA5NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptMTEyIDc2bDAgNGMtMjguOCAuMy01MiAyMy43LTUyIDUyLjUgMCAyNS43IDE4LjUgNDcuNiA0My45IDUxLjhsNDEuNyA3YzYgMSAxMC40IDYuMiAxMC40IDEyLjMgMCA2LjktNS42IDEyLjUtMTIuNSAxMi41TDE1MiA0MDBjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwbDI0IDAgMCA0YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtNC43YzI1LTQuMSA0NC0yNS43IDQ0LTUxLjggMC0yNS43LTE4LjUtNDcuNi00My45LTUxLjhsLTQxLjctN2MtNi0xLTEwLjQtNi4yLTEwLjQtMTIuMyAwLTYuOSA1LjYtMTIuNSAxMi41LTEyLjVsNDcuNSAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtOCAwIDAtNGMwLTExLTktMjAtMjAtMjBzLTIwIDktMjAgMjB6Il19LFQ3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcGFnaGV0dGktbW9uc3Rlci1mbHlpbmciLGljb246WzY0MCw1MTIsWyJwYXN0YWZhcmlhbmlzbSJdLCJmNjdiIiwiTTIwOCA2NGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAwem00OCAwYzAgMTYuMi02IDMxLjEtMTYgNDIuM2wxNS42IDMxLjJjMTguNy02IDM5LjktOS41IDY0LjQtOS41czQ1LjggMy41IDY0LjQgOS41TDQwMCAxMDYuM2MtMTAtMTEuMy0xNi0yNi4xLTE2LTQyLjMgMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NC0yOC43IDY0LTY0IDY0Yy0xLjcgMC0zLjQtLjEtNS4xLS4yTDQyNy44IDE1OGMyMS4xIDEzLjYgMzcuNyAzMC4yIDUxLjQgNDYuNCA3LjEgOC4zIDEzLjUgMTYuNiAxOS4zIDI0bDEuNCAxLjhjNi4zIDguMSAxMS42IDE0LjggMTYuNyAyMC40IDEwLjcgMTEuNyAxNi4xIDEzLjQgMTkuNCAxMy40IDIuNSAwIDQuMy0uNiA3LjEtMy4zIDMuNy0zLjUgNy4xLTguOCAxMi41LTE3LjRsLjYtLjljNC42LTcuNCAxMS0xNy42IDE5LjQtMjUuNyA5LjctOS4zIDIyLjktMTYuNyA0MC40LTE2LjcgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTIuNSAwLTQuMyAuNi03LjEgMy4zLTMuNyAzLjUtNy4xIDguOC0xMi41IDE3LjRsLS42IC45Yy00LjYgNy40LTExIDE3LjYtMTkuNCAyNS43LTkuNyA5LjMtMjIuOSAxNi43LTQwLjQgMTYuNy0xOC41IDAtMzIuOS04LjUtNDQuMy0xOC42LTMuMSA0LTYuNiA4LjMtMTAuNSAxMi43IDEuNCA0LjMgMi44IDguNSA0IDEyLjUgLjkgMyAxLjggNS44IDIuNiA4LjYgMyA5LjggNS41IDE4LjIgOC42IDI1LjkgMy45IDkuOCA3LjQgMTUuNCAxMC44IDE4LjUgMi42IDIuNCA1LjkgNC4zIDEyLjggNC4zIDguNyAwIDE2LjktNC4yIDMzLjctMTMuMiAxNS04IDM1LjctMTguOCA2Mi4zLTE4LjggMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTEzLjQgMC0yNC43IDUuMi0zOS43IDEzLjItMSAuNi0yLjEgMS4xLTMuMiAxLjctMTMuMSA3LjEtMzEuNiAxNy4xLTUzLjEgMTcuMS0xOC40IDAtMzMuNi02LjEtNDUuNS0xNy4yLTExLjEtMTAuMy0xNy45LTIzLjctMjIuNy0zNi0zLjYtOS02LjctMTkuMS05LjUtMjguNS0xNi40IDEyLjMtMzYuMSAyMy42LTU4LjkgMzEuMyAzLjYgMTAuOCA4LjQgMjMuNSAxNC40IDM2LjIgNy41IDE1LjkgMTYuMiAzMC40IDI1LjggNDAuNSA5LjYgMTAuMiAxNy43IDEzLjcgMjQuNSAxMy43IDEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0Yy0yNS4yIDAtNDUtMTMuNS01OS41LTI4LjgtMTQuNS0xNS40LTI1LjctMzQuOS0zNC4yLTUzLTgtMTctMTQuMS0zMy44LTE4LjMtNDYuOS01LjIgLjQtMTAuNiAuNi0xNiAuNnMtMTAuOC0uMi0xNi0uNmMtNC4yIDEzLTEwLjMgMjkuOS0xOC4zIDQ2LjktOC41IDE4LjEtMTkuOCAzNy42LTM0LjIgNTMtMTQuNCAxNS4zLTM0LjMgMjguOC01OS41IDI4LjgtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGM2LjggMCAxNS0zLjUgMjQuNS0xMy43IDkuNS0xMC4xIDE4LjMtMjQuNiAyNS44LTQwLjUgNS45LTEyLjYgMTAuNy0yNS40IDE0LjQtMzYuMi0yMi44LTcuNy00Mi41LTE5LTU4LjktMzEuMy0yLjkgOS40LTYgMTkuNS05LjUgMjguNS00LjggMTIuMi0xMS42IDI1LjYtMjIuNyAzNi0xMS45IDExLjEtMjcuMSAxNy4yLTQ1LjUgMTcuMi0xMy4xIDAtMjQuNS00LjEtMzMuOC04LjktNy45LTQtMTUuNy05LjItMjIuMS0xMy41bDAgMC0yLjQtMS42Yy0xNS4zLTEwLjItMjUuOC0xNi0zNy43LTE2LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMjguMSAwIDQ5LjYgMTQuMiA2NC4zIDI0bDIuNCAxLjZjNi45IDQuNiAxMi4xIDguMSAxNy4yIDEwLjcgNS41IDIuOCA5LjEgMy42IDEyIDMuNiA2LjggMCAxMC4yLTEuOSAxMi44LTQuMyAzLjQtMy4yIDctOC44IDEwLjgtMTguNSAzLTcuNyA1LjYtMTYuMSA4LjYtMjUuOSAuOC0yLjcgMS43LTUuNiAyLjYtOC42IDEuMi00IDIuNi04LjIgNC0xMi41LTMuOS00LjUtNy40LTguOC0xMC41LTEyLjctMTEuNCAxMC4xLTI1LjkgMTguNi00NC4zIDE4LjYtMTcuNSAwLTMwLjctNy40LTQwLjQtMTYuNy04LjQtOC4xLTE0LjgtMTguMy0xOS40LTI1LjdsLS42LS45Yy01LjQtOC42LTguOC0xMy45LTEyLjUtMTcuNC0yLjgtMi43LTQuNi0zLjMtNy4xLTMuMy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0YzE3LjUgMCAzMC43IDcuNCA0MC40IDE2LjcgOC40IDguMSAxNC44IDE4LjMgMTkuNCAyNS43bC42IC45YzUuNCA4LjYgOC44IDEzLjkgMTIuNSAxNy40IDIuOCAyLjcgNC42IDMuMyA3LjEgMy4zIDMuMyAwIDguNy0xLjcgMTkuNC0xMy40IDUuMS01LjYgMTAuNC0xMi4zIDE2LjctMjAuNGwxLjQtMS44YzUuOC03LjQgMTIuMi0xNS43IDE5LjMtMjQgMTMuOC0xNi4yIDMwLjMtMzIuOCA1MS40LTQ2LjRsLTE1LjEtMzAuMmMtMS43IC4xLTMuNCAuMi01LjEgLjItMzUuMyAwLTY0LTI4LjctNjQtNjRzMjguNy02NCA2NC02NCA2NCAyOC43IDY0IDY0em0yMDggMGExNiAxNiAwIDEgMCAtMzIgMCAxNiAxNiAwIDEgMCAzMiAweiJdfSxWWXQ9VDdlLEw3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJ0aW5pLWdsYXNzLWNpdHJ1cyIsaWNvbjpbNjQwLDUxMixbImNvY2t0YWlsIl0sImY1NjEiLCJNNTc2IDgwYzAtNDQuMi0zNS44LTgwLTgwLTgwLTE4IDAtMzQuNiA2LTQ4IDE2bC04MSAwYzIzLjYtNDcuNCA3Mi41LTgwIDEyOS04MCA3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NFM1NzUuNSAyMjQgNDk2IDIyNGMtNi41IDAtMTMtLjQtMTkuMy0xLjNsNjQtNzQuN2MxLjEtMS4zIDIuMi0yLjcgMy4zLTQuMSAxOS40LTE0LjYgMzItMzcuOCAzMi02NHpNNjYuOSA4Mi42QzcyLjIgNzEuMyA4My41IDY0IDk2IDY0bDM4NCAwYzEyLjUgMCAyMy44IDcuMyAyOS4xIDE4LjZzMy40IDI0LjctNC44IDM0LjJsLTE4NC4zIDIxNSAwIDExNi4yIDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDY0IDAgMC0xMTYuMi0xODQuMy0yMTVjLTguMS05LjUtMTAtMjIuOC00LjgtMzQuMnpNMTY1LjYgMTI4TDI4OCAyNzAuOCA0MTAuNCAxMjggMTY1LjYgMTI4eiJdfSxqWXQ9TDdlLFVZdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWxsaG9ybiIsaWNvbjpbNTEyLDUxMixbMTI4MjI2LDEyODM2M10sImYwYTEiLCJNNDYxLjIgMTguOUM0NzIuNyAyNCA0ODAgMzUuNCA0ODAgNDhsMCA0MTZjMCAxMi42LTcuMyAyNC0xOC44IDI5LjFzLTI0LjggMy4yLTM0LjMtNS4xbC00Ni42LTQwLjdjLTQzLjYtMzguMS05OC43LTYwLjMtMTU2LjQtNjNsMCA5NS43YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk2QzU3LjMgMzg0IDAgMzI2LjcgMCAyNTZTNTcuMyAxMjggMTI4IDEyOGw4NC41IDBjNjEuOC0uMiAxMjEuNC0yMi43IDE2Ny45LTYzLjNsNDYuNi00MC43YzkuNC04LjMgMjIuOS0xMC4yIDM0LjMtNS4xek0yMjQgMzIwbDAgLjJjNzAuMyAyLjcgMTM3LjggMjguNSAxOTIgNzMuNGwwLTI3NS4zYy01NC4yIDQ0LjktMTIxLjcgNzAuNy0xOTIgNzMuNEwyMjQgMzIweiJdfSxXWXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm94LXRpc3N1ZSIsaWNvbjpbNTEyLDUxMixbXSwiZTA1YiIsIk0xMDMuOSAzMmwxNjEgMGMxMy44IDAgMjYgOC44IDMwLjQgMjEuOWwxNy40IDUyLjJjNC40IDEzLjEgMTYuNiAyMS45IDMwLjQgMjEuOWw2MC41IDBjMjEuOCAwIDM3LjMgMjEuNCAzMC40IDQyLjFMMzg0IDMyMCAxMjggMzIwIDcyLjcgNzAuOUM2OC4yIDUxIDgzLjQgMzIgMTAzLjkgMzJ6TTQ4IDI1NmwxNi42IDAgMTYuNSA3NC40Qzg2IDM1Mi40IDEwNS41IDM2OCAxMjggMzY4bDI1NiAwYzIwLjcgMCAzOS0xMy4yIDQ1LjUtMzIuOGwyNi40LTc5LjIgOC4xIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxMjhjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OEwwIDMwNGMwLTI2LjUgMjEuNS00OCA0OC00OHoiXX0sR1l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hdHRyZXNzLXBpbGxvdyIsaWNvbjpbNTc2LDUxMixbXSwiZTUyNSIsIk0yNTYgNjRMNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkyIDAgMC0zODR6bTQ4IDM4NGwyMDggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI1NmMwLTM1LjMtMjguNy02NC02NC02NGwtMjA4IDAgMCAzODR6TTY0IDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTkyYzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE5MnoiXX0sWVl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZXZyb24tbGVmdCIsaWNvbjpbMzIwLDUxMixbOTAwMV0sImYwNTMiLCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxOTIgMTkyYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTYgMjQ2LjYgODYuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTkyIDE5MnoiXX0sS1l0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNsb3VkLW1vb24tcmFpbiIsaWNvbjpbNTc2LDUxMixbXSwiZjczYyIsIk00NDggMGMtNjguNiAwLTEyNy4xIDQzLjEtMTQ5LjggMTAzLjggMTcuMSAxNC4xIDI5LjYgMzMuNSAzNC45IDU1LjggMzkuOSAyMS43IDY2LjkgNjMuOSA2Ni45IDExMi41IDAgMTMuNS0yLjEgMjYuNS01LjkgMzguNyAxNi45IDYgMzUgOS4zIDUzLjkgOS4zIDQzIDAgODIuMS0xNyAxMTAuOC00NC42IDQuNi00LjQgNS45LTExLjIgMy4zLTE3cy04LjYtOS4zLTE0LjktOC44Yy0zIC4yLTYuMSAuNC05LjIgLjQtNjMuNSAwLTExNS01MS41LTExNS0xMTUgMC00NS4xIDI2LTg0LjIgNjMuOC0xMDMgNS43LTIuOCA5LTguOSA4LjItMTUuMlM0ODkuNiA1LjMgNDgzLjQgMy45QzQ3MiAxLjQgNDYwLjIgMCA0NDggMHpNMjcyIDM1MmM0NC4yIDAgODAtMzUuOCA4MC04MCAwLTM5LTI3LjktNzEuNS02NC44LTc4LjYgLjUtMy4xIC44LTYuMiAuOC05LjQgMC0zMC45LTI1LjEtNTYtNTYtNTYtMTIuNCAwLTIzLjkgNC0zMy4xIDEwLjgtMTMuNC0yNS41LTQwLjEtNDIuOC03MC45LTQyLjgtNDQuMiAwLTgwIDM1LjgtODAgODAgMCA3LjQgMSAxNC42IDIuOSAyMS41LTI5LjggMTEuNi01MC45IDQwLjYtNTAuOSA3NC41IDAgNDQuMiAzNS44IDgwIDgwIDgwbDE5MiAwek02OSA0MDEuMWMtMTIuNi00LjItMjYuMiAyLjYtMzAuNCAxNS4yTDE3LjIgNDgwLjRDMTMgNDkzIDE5LjggNTA2LjYgMzIuNCA1MTAuOHMyNi4yLTIuNiAzMC40LTE1LjJsMjEuNC02NC4xYzQuMi0xMi42LTIuNi0yNi4yLTE1LjItMzAuNHptMTIwIDBjLTEyLjYtNC4yLTI2LjIgMi42LTMwLjQgMTUuMmwtMjEuNCA2NC4xYy00LjIgMTIuNiAyLjYgMjYuMiAxNS4yIDMwLjRzMjYuMi0yLjYgMzAuNC0xNS4ybDIxLjQtNjQuMWM0LjItMTIuNi0yLjYtMjYuMi0xNS4yLTMwLjR6bTEyMCAwYy0xMi42LTQuMi0yNi4yIDIuNi0zMC40IDE1LjJsLTIxLjQgNjQuMWMtNC4yIDEyLjYgMi42IDI2LjIgMTUuMiAzMC40czI2LjItMi42IDMwLjQtMTUuMmwyMS40LTY0LjFjNC4yLTEyLjYtMi42LTI2LjItMTUuMi0zMC40eiJdfSxpdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctZG93bi0xLTkiLGljb246WzUxMiw1MTIsWyJzb3J0LW51bWVyaWMtYXNjIiwic29ydC1udW1lcmljLWRvd24iXSwiZjE2MiIsIk00MTguNyAzOGM4LjMgNiAxMy4zIDE1LjcgMTMuMyAyNmwwIDk2IDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYgMCAwLTUxLjYtNS45IDJjLTE2LjggNS42LTM0LjktMy41LTQwLjUtMjAuMnMzLjUtMzQuOSAyMC4yLTQwLjVsNDgtMTZjOS44LTMuMyAyMC41LTEuNiAyOC44IDQuNHpNMzY1LjEgNDMwLjZsMTEuNy0xOGMtMzIuOS05LjktNTYuOC00MC41LTU2LjgtNzYuNiAwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMjIuOS02LjYgNDUuMy0xOS4xIDY0LjVsLTQyLjEgNjQuOWMtOS42IDE0LjgtMjkuNCAxOS4xLTQ0LjMgOS40cy0xOS4xLTI5LjQtOS40LTQ0LjN6TTQyNCAzMzZhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNMTUwLjYgNDcwLjZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC05Ni05NmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAzNzAuNyA5NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzA2LjcgNDEuNC00MS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTk2IDk2eiJdfSxaWXQ9aXRlLFhZdD1pdGUsUVl0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmQtc3BvY2siLGljb246WzUxMiw1MTIsWzEyODQwNl0sImYyNTkiLCJNMjE0LjkgMjMuN0MyMTAuMyA2LjYgMTkyLjgtMy41IDE3NS43IDEuMXMtMjcuMiAyMi4xLTIyLjYgMzkuMkwyMDYgMjM3LjhjMi41IDkuMi00LjUgMTguMi0xNCAxOC4yLTYuNCAwLTEyLTQuMi0xMy45LTEwLjNMMTM0LjYgMTAyLjdjLTUuMS0xNi45LTIzLTI2LjQtMzkuOS0yMS4zcy0yNi40IDIzLTIxLjMgMzkuOWw2Mi44IDIwNi40YzIuNCA3LjktNy4yIDEzLjgtMTMuMiA4LjFMNjcuNiAyODNjLTE2LTE1LjItNDEuMy0xNC42LTU2LjYgMS40Uy0zLjYgMzI1LjcgMTIuNCAzNDFMMTI0LjggNDQ4YzQzLjEgNDEuMSAxMDAuNCA2NCAxNjAgNjRsMTkuMSAwYy4xIDAgLjEtLjEgLjEtLjFzLjEtLjEgLjEtLjFjNTguMy0zLjUgMTA4LjYtNDMuMiAxMjUuMy05OS43bDgxLjItMjc1YzUtMTYuOS00LjctMzQuNy0yMS42LTM5LjhzLTM0LjcgNC43LTM5LjggMjEuNkw0MTEuNSAyNDcuMWMtMS42IDUuMy02LjQgOC45LTEyIDguOS03LjkgMC0xMy44LTcuMy0xMi4yLTE1LjFsMzYtMTcwLjNjMy43LTE3LjMtNy40LTM0LjMtMjQuNy0zNy45cy0zNC4zIDcuNC0zNy45IDI0LjdMMzIzLjEgMjM1LjFjLTIuNiAxMi4yLTEzLjMgMjAuOS0yNS44IDIwLjktMTEuOSAwLTIyLjQtOC0yNS40LTE5LjVsLTU3LTIxMi44eiJdfSwkN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2FuZC1tYWdpYy1zcGFya2xlcyIsaWNvbjpbNTc2LDUxMixbIm1hZ2ljLXdhbmQtc3BhcmtsZXMiXSwiZTJjYSIsIk0yNjMuNC0yN0wyNzguMiA5LjggMzE1IDI0LjZjMyAxLjIgNSA0LjIgNSA3LjRzLTIgNi4yLTUgNy40TDI3OC4yIDU0LjIgMjYzLjQgOTFjLTEuMiAzLTQuMiA1LTcuNCA1cy02LjItMi03LjQtNUwyMzMuOCA1NC4yIDE5NyAzOS40Yy0zLTEuMi01LTQuMi01LTcuNHMyLTYuMiA1LTcuNEwyMzMuOCA5LjggMjQ4LjYtMjdjMS4yLTMgNC4yLTUgNy40LTVzNi4yIDIgNy40IDV6TTExMC43IDQxLjdsMjEuNSA1MC4xIDUwLjEgMjEuNWM1LjkgMi41IDkuNyA4LjMgOS43IDE0LjdzLTMuOCAxMi4yLTkuNyAxNC43bC01MC4xIDIxLjUtMjEuNSA1MC4xYy0yLjUgNS45LTguMyA5LjctMTQuNyA5LjdzLTEyLjItMy44LTE0LjctOS43TDU5LjggMTY0LjIgOS43IDE0Mi43QzMuOCAxNDAuMiAwIDEzNC40IDAgMTI4czMuOC0xMi4yIDkuNy0xNC43TDU5LjggOTEuOCA4MS4zIDQxLjdDODMuOCAzNS44IDg5LjYgMzIgOTYgMzJzMTIuMiAzLjggMTQuNyA5Ljd6TTQ2NCAzMDRjNi40IDAgMTIuMiAzLjggMTQuNyA5LjdsMjEuNSA1MC4xIDUwLjEgMjEuNWM1LjkgMi41IDkuNyA4LjMgOS43IDE0LjdzLTMuOCAxMi4yLTkuNyAxNC43bC01MC4xIDIxLjUtMjEuNSA1MC4xYy0yLjUgNS45LTguMyA5LjctMTQuNyA5LjdzLTEyLjItMy44LTE0LjctOS43bC0yMS41LTUwLjEtNTAuMS0yMS41Yy01LjktMi41LTkuNy04LjMtOS43LTE0LjdzMy44LTEyLjIgOS43LTE0LjdsNTAuMS0yMS41IDIxLjUtNTAuMWMyLjUtNS45IDguMy05LjcgMTQuNy05Ljd6TTQ2MCAwYzExIDAgMjEuNiA0LjQgMjkuNSAxMi4ybDQyLjMgNDIuM0M1MzkuNiA2Mi40IDU0NCA3MyA1NDQgODRzLTQuNCAyMS42LTEyLjIgMjkuNWwtODguMiA4OC4yLTEwMS4zLTEwMS4zIDg4LjItODguMkM0MzguNCA0LjQgNDQ5IDAgNDYwIDB6TTQ0LjIgMzk4LjVMMzA4LjQgMTM0LjMgNDA5LjcgMjM1LjYgMTQ1LjUgNDk5LjhDMTM3LjYgNTA3LjYgMTI3IDUxMiAxMTYgNTEycy0yMS42LTQuNC0yOS41LTEyLjJMNDQuMiA0NTcuNUMzNi40IDQ0OS42IDMyIDQzOSAzMiA0MjhzNC40LTIxLjYgMTIuMi0yOS41eiJdfSxKWXQ9JDdlLGVLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21tZW50LW1lZGljYWwiLGljb246WzUxMiw1MTIsW10sImY3ZjUiLCJNMjU2IDQ4MGMxNDEuNCAwIDI1Ni0xMDcuNSAyNTYtMjQwUzM5Ny40IDAgMjU2IDAgMCAxMDcuNSAwIDI0MGMwIDU0LjMgMTkuMiAxMDQuMyA1MS42IDE0NC41TDIuOCA0NzYuOGMtNC44IDktMy4zIDIwIDMuNiAyNy41czE3LjggOS44IDI3LjEgNS44bDExOC40LTUwLjdDMTgzLjcgNDcyLjYgMjE4LjkgNDgwIDI1NiA0ODB6TTIxNy42IDE1My42YzAtMTAuNiA4LjYtMTkuMiAxOS4yLTE5LjJsMzguNCAwYzEwLjYgMCAxOS4yIDguNiAxOS4yIDE5LjJsMCA0OCA0OCAwYzEwLjYgMCAxOS4yIDguNiAxOS4yIDE5LjJsMCAzOC40YzAgMTAuNi04LjYgMTkuMi0xOS4yIDE5LjJsLTQ4IDAgMCA0OGMwIDEwLjYtOC42IDE5LjItMTkuMiAxOS4ybC0zOC40IDBjLTEwLjYgMC0xOS4yLTguNi0xOS4yLTE5LjJsMC00OC00OCAwYy0xMC42IDAtMTkuMi04LjYtMTkuMi0xOS4ybDAtMzguNGMwLTEwLjYgOC42LTE5LjIgMTkuMi0xOS4ybDQ4IDAgMC00OHoiXX0sdEt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJlbGwtc2xhc2giLGljb246WzU3Niw1MTIsWzEyODI3Nyw2MTk0M10sImYxZjYiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtODcuNS04Ny41YzE3LjItMi40IDMwLjUtMTcuMyAzMC41LTM1LjIgMC04LjEtMi43LTE1LjktNy44LTIyLjJsLTkuOC0xMi4yQzQ2NC40IDMwOC41IDQ0OCAyNjEuOCA0NDggMjEzLjdsMC0yMS43YzAtNzcuNC01NS0xNDItMTI4LTE1Ni44bDAtMy4yYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMy4yYy0zOC42IDcuOC03Mi4yIDI5LjYtOTUuMiA1OS43TDQxLTI0Ljl6bTg3IDIzOC41YzAgNDguMS0xNi40IDk0LjgtNDYuNCAxMzIuNGwtOS44IDEyLjJjLTUgNi4zLTcuOCAxNC4xLTcuOCAyMi4yIDAgMTkuNiAxNS45IDM1LjUgMzUuNSAzNS41bDIzNS4zIDAtMjA2LjktMjA2LjkgMCA0LjV6TTI4OCA1MTJjMjkuOCAwIDU0LjktMjAuNCA2Mi00OGwtMTI0IDBjNy4xIDI3LjYgMzIuMiA0OCA2MiA0OHoiXX0sb3RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzaGFrZS1zbGFzaCIsaWNvbjpbNTc2LDUxMixbNTc0MzksImhhbmRzaGFrZS1hbHQtc2xhc2giLCJoYW5kc2hha2Utc2ltcGxlLXNsYXNoIl0sImUwNjAiLCJNNDEtMjQuOWMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBTLTIuMy0uMyA3IDkuMWw1MjggNTI4YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMjg4LTI4OCAxNC4yLTE0LjJjNC4yLTQuMiA5LjUtNi41IDE0LjktNi45IDYuOC0uNiAxMy44IDEuNyAxOSA2LjlMNTA1LjYgMzc2IDU3NiAzMjAgNTc2IDMyIDQ2NCA5NiA0NDAuMiA4MC4xQzQyNC40IDY5LjYgNDA1LjkgNjQgMzg2LjkgNjRsLTcwLjQgMGMtMS4xIDAtMi4zIDAtMy40IC4xLTE2LjkgLjktMzIuOCA4LjUtNDQuMiAyMS4xbC01NS44IDYyLjEtMzQtMzQgNDQuMy00OS4yLTM5LjcgMGMtMTUuMyAwLTMwLjEgMy42LTQzLjUgMTAuNEw0MS0yNC45ek0wIDY5LjhMMCAzMjAgMTU2LjQgNDUwLjNjMjMgMTkuMiA1MiAyOS43IDgxLjkgMjkuN2wxNS43IDAtNy03Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsNDEgNDEgOSAwYzIyLjIgMCA0My44LTUuOCA2Mi44LTE2LjRMMCA2OS44eiJdfSxhS3Q9b3RlLHJLdD1vdGUsc0t0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvdHRsZS13YXRlciIsaWNvbjpbMzIwLDUxMixbXSwiZTRjNSIsIk0xMTItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMEM5NC4zIDMyIDgwIDE3LjcgODAgMHMxNC4zLTMyIDMyLTMyek0xNiAxNDRjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTYwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjQgMCAyNC4xLTEzLjMgNDUuMS0zMyA1NiAxOS43IDEwLjkgMzMgMzEuOSAzMyA1NnMtMTMuMyA0NS4xLTMzIDU2YzE5LjcgMTAuOSAzMyAzMS45IDMzIDU2cy0xMy4zIDQ1LjEtMzMgNTZjMTkuNyAxMC45IDMzIDMxLjkgMzMgNTYgMCAzNS4zLTI4LjcgNjQtNjQgNjRMODAgNTQ0Yy0zNS4zIDAtNjQtMjguNy02NC02NCAwLTI0LjEgMTMuMy00NS4xIDMzLTU2LTE5LjctMTAuOS0zMy0zMS45LTMzLTU2czEzLjMtNDUuMSAzMy01NmMtMTkuNy0xMC45LTMzLTMxLjktMzMtNTZzMTMuMy00NS4xIDMzLTU2Yy0xOS43LTEwLjktMzMtMzEuOS0zMy01NnoiXX0saUt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpY2UtZDIwIixpY29uOls1MTIsNTEyLFtdLCJmNmNmIiwiTTIyNC40LTguMmMxOS42LTExLjEgNDMuNi0xMS4xIDYzLjEgMGwxOTIgMTA4LjhjMjAgMTEuNCAzMi40IDMyLjYgMzIuNCA1NS43bDAgMjE1LjZjMCAyMy0xMi40IDQ0LjMtMzIuNCA1NS43bC0xOTIgMTA4LjhjLTE5LjYgMTEuMS00My42IDExLjEtNjMuMSAwTDMyLjQgNDI3LjVDMTIuNCA0MTYuMSAwIDM5NC44IDAgMzcxLjhMMCAxNTYuMmMwLTIzIDEyLjQtNDQuMyAzMi40LTU1LjdMMjI0LjQtOC4yem01MiA3My4yQzI2NyA0OS44IDI0NSA0OS44IDIzNS42IDY1bC03Ni42IDEyMy43LTg1LjQtNDYuMy0zLjgtMS42Yy04LjktMi43LTE4LjggMS4xLTIzLjQgOS42cy0yLjQgMTguOSA0LjcgMjQuOGwzLjMgMi4zIDgzLjQgNDUuMi03NC42IDEyMC42QzU1LjMgMzU2LjIgNjEgMzczIDc1IDM3OC40bDE2MSA2MS45IDAgMzkuN2MwIDExIDkgMjAgMjAgMjBzMjAtOSAyMC0yMGwwLTM5LjcgMTYxLTYxLjljMTQtNS40IDE5LjctMjIuMiAxMS44LTM1bC03NC43LTEyMC42IDgzLjQtNDUuMmM5LjctNS4zIDEzLjMtMTcuNCA4LjEtMjcuMXMtMTcuNC0xMy4zLTI3LjEtOC4xTDM1MyAxODguNyAyNzYuNCA2NXptLTQ3IDMyOS45bC0xMjItNDYuOSA1NC41LTg4LjEgNjcuNSAxMzV6TTQwNC42IDM0OGwtMTIyIDQ2LjkgNjcuNS0xMzUgNTQuNSA4OC4xek0zMTkuMyAyMzJMMjU2IDM1OC42IDE5Mi43IDIzMiAzMTkuMyAyMzJ6TTMwOCAxOTJsLTEwNC4xIDAgNTItODQgNTIgODR6Il19LG50ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLXotYSIsaWNvbjpbNTEyLDUxMixbInNvcnQtYWxwaGEtZGVzYyIsInNvcnQtYWxwaGEtZG93bi1hbHQiXSwiZjg4MSIsIk0yMzAuNiAzOTAuNmwtODAgODBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC04MC04MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAzNzAuNyA5NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzA2LjcgMjUuNC0yNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6TTI4OCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMjggMGMxMi45IDAgMjQuNiA3LjggMjkuNiAxOS44czIuMiAyNS43LTYuOSAzNC45TDM5Ny4zIDE2MCA0NDggMTYwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xMjggMGMtMTIuOSAwLTI0LjYtNy44LTI5LjYtMTkuOHMtMi4yLTI1LjcgNi45LTM0LjlMMzcwLjggOTYgMzIwIDk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNDEyLjYgMjczLjdsODAgMTYwYzcuOSAxNS44IDEuNSAzNS0xNC4zIDQyLjlzLTM1IDEuNS00Mi45LTE0LjNsLTcuMi0xNC4zLTg4LjQgMC03LjIgMTQuM2MtNy45IDE1LjgtMjcuMSAyMi4yLTQyLjkgMTQuM3MtMjIuMi0yNy4xLTE0LjMtNDIuOWw4MC0xNjBjNS40LTEwLjggMTYuNS0xNy43IDI4LjYtMTcuN3MyMy4yIDYuOCAyOC42IDE3Ljd6TTM4NCAzNTkuNmwtMjAuMiA0MC40IDQwLjQgMC0yMC4yLTQwLjR6Il19LG9LdD1udGUsbkt0PW50ZSxsS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnJ1c2giLGljb246WzM4NCw1MTIsW10sImY1NWQiLCJNMTYyLjQgNmMtMS41LTMuNi01LTYtOC45LTZsLTE5IDBjLTMuOSAwLTcuNSAyLjQtOC45IDZMMTA0LjkgNTcuN2MtMy4yIDgtMTQuNiA4LTE3LjggMEw2Ni40IDZjLTEuNS0zLjYtNS02LTguOS02TDQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4bDAgMjA4IDM4NCAwIDAtMjA4YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4TDIzMC41IDBjLTMuOSAwLTcuNSAyLjQtOC45IDZMMjAwLjkgNTcuN2MtMy4yIDgtMTQuNiA4LTE3LjggMEwxNjIuNCA2ek0wIDMwNGwwIDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDY0IDAgMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NHM2NC0yOC43IDY0LTY0bDAtNjQgNjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE2LTM4NCAwek0xOTIgNDY0Yy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2IDE2IDcuMiAxNiAxNi03LjIgMTYtMTYgMTZ6Il19LGNLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24td2Fsa2luZy1kYXNoZWQtbGluZS1hcnJvdy1yaWdodCIsaWNvbjpbNjQwLDUxMixbXSwiZTU1MyIsIk0xNjAgODBhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTczLjQgMjI3LjlsMjIuNi0yMi42IDAgNjkuM2MwIDI4IDEyLjIgNTQuNyAzMy41IDcyLjlsNzEuNCA2MS4yYzUuOSA1LjEgOS44IDEyLjEgMTAuOSAxOS44bDEyLjYgODguMWMyLjUgMTcuNSAxOC43IDI5LjcgMzYuMiAyNy4yczI5LjctMTguNyAyNy4yLTM2LjJsLTEyLjYtODguMWMtMy4zLTIzLjEtMTQuOS00NC4xLTMyLjYtNTkuM2wtMzQuNS0yOS42IDAtMTE1LjIgMy44IDQuN2MxOC4yIDIyLjggNDUuOCAzNiA3NSAzNmwzMy4yIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMzLjIgMGMtOS43IDAtMTguOS00LjQtMjUtMTJsLTE3LjktMjIuNGMtMjMtMjguOC01Ny45LTQ1LjYtOTQuOC00NS42LTMyLjIgMC02My4xIDEyLjgtODUuOCAzNS42TDI4LjEgMTgyLjZDMTAuMSAyMDAuNiAwIDIyNSAwIDI1MC41TDAgMjg4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zNy41YzAtOC41IDMuNC0xNi42IDkuNC0yMi42ek04NS44IDQwNy4zYy0xLjUgNS4yLTQuMyAxMC04LjEgMTMuOEw5LjQgNDg5LjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBsNjguMy02OC4zYzExLjUtMTEuNSAxOS45LTI1LjggMjQuNC00MS41bDIuMi03LjYtNDYtMzkuNGMtMi41LTIuMi01LTQuNC03LjQtNi44TDg1LjggNDA3LjN6TTQzMiA4YzAtMTMuMy0xMC43LTI0LTI0LTI0UzM4NC01LjMgMzg0IDhsMCAzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzJ6bTAgMTI4YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMyek00MDggMzIwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDMyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0zMmMwLTEzLjMtMTAuNy0yNC0yNC0yNHptMjQgMTUyYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMzJjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTMyek02MDkgMjczYzkuNC05LjQgOS40LTI0LjYgMC0zMy45bC03Mi03MmMtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWwzMSAzMS0xMDIuMSAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDEwMi4xIDAtMzEgMzFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3Mi03MnoiXX0sRDdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLXNob3J0LXdpZGUiLGljb246WzU3Niw1MTIsWyJzb3J0LWFtb3VudC11cC1hbHQiXSwiZjg4NSIsIk0zMjAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMHptMCAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMHptMCAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE2MCAwem0wIDEyOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjI0IDB6TTE1MC42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEw5NiAxNDEuMyA5NiA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMwNi43IDQxLjQgNDEuNGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zbC05Ni05NnoiXX0sZEt0PUQ3ZSxBN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ3JpcC12ZXJ0aWNhbCIsaWNvbjpbMzIwLDUxMixbImdyaWQtdmVydGljYWwiXSwiZjU4ZSIsIk0xMjggNDBjMC0yMi4xLTE3LjktNDAtNDAtNDBMNDAgMEMxNy45IDAgMCAxNy45IDAgNDBMMCA4OGMwIDIyLjEgMTcuOSA0MCA0MCA0MGw0OCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDh6bTAgMTkyYzAtMjIuMS0xNy45LTQwLTQwLTQwbC00OCAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MGwwIDQ4YzAgMjIuMSAxNy45IDQwIDQwIDQwbDQ4IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00OHpNMCA0MjRsMCA0OGMwIDIyLjEgMTcuOSA0MCA0MCA0MGw0OCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDhjMC0yMi4xLTE3LjktNDAtNDAtNDBsLTQ4IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwek0zMjAgNDBjMC0yMi4xLTE3LjktNDAtNDAtNDBMMjMyIDBjLTIyLjEgMC00MCAxNy45LTQwIDQwbDAgNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBsNDggMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTQ4ek0xOTIgMjMybDAgNDhjMCAyMi4xIDE3LjkgNDAgNDAgNDBsNDggMGMyMi4xIDAgNDAtMTcuOSA0MC00MGwwLTQ4YzAtMjIuMS0xNy45LTQwLTQwLTQwbC00OCAwYy0yMi4xIDAtNDAgMTcuOS00MCA0MHpNMzIwIDQyNGMwLTIyLjEtMTcuOS00MC00MC00MGwtNDggMGMtMjIuMSAwLTQwIDE3LjktNDAgNDBsMCA0OGMwIDIyLjEgMTcuOSA0MCA0MCA0MGw0OCAwYzIyLjEgMCA0MC0xNy45IDQwLTQwbDAtNDh6Il19LHVLdD1BN2UscEt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhci10dW5uZWwiLGljb246WzUxMiw1MTIsW10sImU0ZGUiLCJNMjU2IDBDMTE0LjYgMCAwIDExNC42IDAgMjU2TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQyLjggMGMtNi42LTUuOS0xMC44LTE0LjQtMTAuOC0yNGwwLTExMy4xYzAtMTMuNSAzLjEtMjYuOCA5LTM4LjlsMzkuNy04MC44YzkuNC0xOS4xIDI4LjktMzEuMyA1MC4yLTMxLjNMMzE3IDIyNGMyMS4zIDAgNDAuOCAxMi4xIDUwLjIgMzEuM0w0MDcgMzM2YzUuOSAxMi4xIDkgMjUuNCA5IDM4LjlMNDE2IDQ4OGMwIDkuNi00LjIgMTguMS0xMC44IDI0bDQyLjggMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5MkM1MTIgMTE0LjYgMzk3LjQgMCAyNTYgMHpNMzYyLjggNTEyYy02LjYtNS45LTEwLjgtMTQuNC0xMC44LTI0bDAtMjQtMTkyIDAgMCAyNGMwIDkuNi00LjIgMTguMS0xMC44IDI0bDIxMy43IDB6bS0xNzUtMjM1LjVsLTI5LjMgNTkuNSAxOTQuOSAwLTI5LjMtNTkuNWMtMS4zLTIuNy00LjEtNC41LTcuMi00LjVMMTk1IDI3MmMtMyAwLTUuOCAxLjctNy4yIDQuNXpNMTc2IDQyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTE4NC0yNGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxmS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hhcnQtY29sdW1uIixpY29uOls1MTIsNTEyLFtdLCJlMGUzIiwiTTMyIDMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzM2YzAgOC44IDcuMiAxNiAxNiAxNmw0MDAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw4MCA0ODBjLTQ0LjIgMC04MC0zNS44LTgwLTgwTDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6TTE0NCAyMjRjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyem0xNDQtNjRsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjBjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnptODAgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek01MTIgOTZsMCAyMjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yMjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnoiXX0saEt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcHJpY29ybiIsaWNvbjpbNTc2LDUxMixbXSwiZTg0OCIsIk0yNDAgMzJjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDRsMCA2NS4yYzE4LjgtMTAuOSA0MC43LTE3LjIgNjQtMTcuMiA3MC43IDAgMTI4IDU3LjMgMTI4IDEyOFM1MTguNyA0ODAgNDQ4IDQ4MGMtMzUuOCAwLTY4LjItMTQuNy05MS40LTM4LjQtMjguOCA0Mi41LTc3LjQgNzAuNC0xMzIuNiA3MC40LTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJjNTMgMCA5Ni00MyA5Ni05NmwwLTE3NmMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGwwIDIwOGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIyNGMwLTM1LjMtMjguNy02NC02NC02NC0xNy43IDAtMzItMTQuMy0zMi0zMlMxNC4zIDMyIDMyIDMyQzcyLjYgMzIgMTA4LjggNTEgMTMyLjIgODAuNSAxNTguNiA1MC43IDE5Ny4xIDMyIDI0MCAzMnpNNDQ4IDI4OGE2NCA2NCAwIDEgMCAwIDEyOCA2NCA2NCAwIDEgMCAwLTEyOHoiXX0sbUt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLWFycm93LXJpZ2h0IixpY29uOls1NzYsNTEyLFtdLCJlNThiIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMy4zIDBjMTAuNCAzNi45IDQ0LjQgNjQgODQuNyA2NHM3NC4yLTI3LjEgODQuNy02NGwxMDIuNiAwYzEwLjQgMzYuOSA0NC40IDY0IDg0LjcgNjRzNzQuMi0yNy4xIDg0LjctNjRsMy4zIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNDYuN2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0w1MTIgMTQ2LjdjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdsLTUwLjcgMCAwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek01MTIgMjM3LjNsMCA1MC43LTk2IDAgMC05NiA1MC43IDAgNDUuMyA0NS4zek0xNTIgMzg0YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHptMjMyIDQwYTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTMwNSAyMjVsLTcyIDcyYy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDMxLTMxLTEwMi4xIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTAyLjEgMC0zMS0zMWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDcyIDcyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45eiJdfSxsdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHYiLGljb246WzU3Niw1MTIsWzYzNzE3LCJ0ZWxldmlzaW9uIiwidHYtYWx0Il0sImYyNmMiLCJNNjQgOTZsMCAyNDAgNDQ4IDAgMC0yNDAtNDQ4IDB6TTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsNDQ4IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyNDBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDAwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek0xNjAgNDQ4bDI1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yNTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMnoiXX0sZ0t0PWx0ZSxiS3Q9bHRlLHZLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzZWN0aW9uIixpY29uOlsyNTYsNTEyLFtdLCJlNDQ3IiwiTTExMCAwQzQ5LjIgMCAwIDQ5LjIgMCAxMTAgMCAxMzMuNyA3LjYgMTU1LjggMjAuNSAxNzQgNy42IDE5MiAwIDIxNC4xIDAgMjM4IDAgMjkxLjcgMzguOSAzMzcuNiA5MS45IDM0Ni40bDYxLjcgMTAuM2MyMi4yIDMuNyAzOC40IDIyLjkgMzguNCA0NS4zIDAgMjUuNC0yMC42IDQ2LTQ2IDQ2bC05OCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk4IDBjNjAuNyAwIDExMC00OS4yIDExMC0xMTAgMC0yMy43LTcuNi00NS45LTIwLjUtNjQgMTIuOS0xOCAyMC41LTQwLjEgMjAuNS02NCAwLTUzLjgtMzguOS05OS42LTkxLjktMTA4LjVsLTYxLjctMTAuM0M4MC4yIDE1MS42IDY0IDEzMi40IDY0IDExMCA2NCA4NC42IDg0LjYgNjQgMTEwIDY0bDk4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJTMjI1LjcgMCAyMDggMEwxMTAgMHptNzQuNyAyOTkuMWMtNi41LTIuNC0xMy40LTQuMy0yMC41LTUuNWwtNjEuNy0xMC4zYy0yMi4yLTMuNy0zOC40LTIyLjktMzguNC00NS4zIDAtOS4yIDIuNy0xNy44IDcuNC0yNSA2LjUgMi40IDEzLjQgNC4zIDIwLjUgNS41bDYxLjcgMTAuM2MyMi4yIDMuNyAzOC40IDIyLjkgMzguNCA0NS4zIDAgOS4yLTIuNyAxNy44LTcuNCAyNXoiXX0seEt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlYWNlIixpY29uOls1MTIsNTEyLFs5Nzc0XSwiZjY3YyIsIk0yMjQgNDQ1LjNsMC0xMjEuOC05NC4zIDc3LjFjMjYuMSAyMi44IDU4LjUgMzguNyA5NC4zIDQ0Ljd6TTg5LjIgMzUxLjFMMjI0IDI0MC44IDIyNCA2Ni43Yy05MC44IDE1LjItMTYwIDk0LjItMTYwIDE4OS4zIDAgMzQuNiA5LjIgNjcuMSAyNS4yIDk1LjF6bTI5My4xIDQ5LjVsLTk0LjMtNzcuMSAwIDEyMS44YzM1LjctNiA2OC4xLTIxLjkgOTQuMy00NC43em00MC42LTQ5LjVjMTYtMjggMjUuMi02MC41IDI1LjItOTUuMSAwLTk1LjEtNjkuMi0xNzQuMS0xNjAtMTg5LjNsMCAxNzQuMiAxMzQuOCAxMTAuM3pNMCAyNTZhMjU2IDI1NiAwIDEgMSA1MTIgMCAyNTYgMjU2IDAgMSAxIC01MTIgMHoiXX0seUt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YXIiLGljb246WzU3Niw1MTIsWzExMDg4LDYxNDQ2XSwiZjAwNSIsIk0zMDkuNS0xOC45Yy00LjEtOC0xMi40LTEzLjEtMjEuNC0xMy4xcy0xNy4zIDUuMS0yMS40IDEzLjFMMTkzLjEgMTI1LjMgMzMuMiAxNTAuN2MtOC45IDEuNC0xNi4zIDcuNy0xOS4xIDE2LjNzLS41IDE4IDUuOCAyNC40bDExNC40IDExNC41LTI1LjIgMTU5LjljLTEuNCA4LjkgMi4zIDE3LjkgOS42IDIzLjJzMTYuOSA2LjEgMjUgMkwyODguMSA0MTcuNiA0MzIuNCA0OTFjOCA0LjEgMTcuNyAzLjMgMjUtMnMxMS0xNC4yIDkuNi0yMy4yTDQ0MS43IDMwNS45IDU1Ni4xIDE5MS40YzYuNC02LjQgOC42LTE1LjggNS44LTI0LjRzLTEwLjEtMTQuOS0xOS4xLTE2LjNMMzgzIDEyNS4zIDMwOS41LTE4Ljl6Il19LHdLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmbGFnIixpY29uOls0NDgsNTEyLFsxMjc5ODgsNjE3MjVdLCJmMDI0IiwiTTY0IDMyQzY0IDE0LjMgNDkuNyAwIDMyIDBTMCAxNC4zIDAgMzJMMCA0ODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyMS42IDYyLjctMTguOGM0MS45LTEyLjYgODcuMS04LjcgMTI2LjIgMTAuOSA0Mi43IDIxLjQgOTIuNSAyNCAxMzcuMiA3LjJsMzcuMS0xMy45YzEyLjUtNC43IDIwLjgtMTYuNiAyMC44LTMwbDAtMjQ3LjdjMC0yMy0yNC4yLTM4LTQ0LjgtMjcuN2wtMTEuOCA1LjljLTQ0LjkgMjIuNS05Ny44IDIyLjUtMTQyLjggMC0zNi40LTE4LjItNzguMy0yMS44LTExNy4yLTEwLjFMNjQgNTQuNCA2NCAzMnoiXX0sY3RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyaWFuZ2xlLWV4Y2xhbWF0aW9uIixpY29uOls1MTIsNTEyLFs5ODg4LCJleGNsYW1hdGlvbi10cmlhbmdsZSIsIndhcm5pbmciXSwiZjA3MSIsIk0yNTYgMGMxNC43IDAgMjguMiA4LjEgMzUuMiAyMWwyMTYgNDAwYzYuNyAxMi40IDYuNCAyNy40LS44IDM5LjVTNDg2LjEgNDgwIDQ3MiA0ODBMNDAgNDgwYy0xNC4xIDAtMjcuMi03LjQtMzQuNC0xOS41cy03LjUtMjcuMS0uOC0zOS41bDIxNi00MDBjNy0xMi45IDIwLjUtMjEgMzUuMi0yMXptMCAzNTJhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0em0wLTE5MmMtMTguMiAwLTMyLjcgMTUuNS0zMS40IDMzLjdsNy40IDEwNGMuOSAxMi41IDExLjQgMjIuMyAyMy45IDIyLjMgMTIuNiAwIDIzLTkuNyAyMy45LTIyLjNsNy40LTEwNGMxLjMtMTguMi0xMy4xLTMzLjctMzEuNC0zMy43eiJdfSxNS3Q9Y3RlLGtLdD1jdGUsU0t0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjaG9vbC1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU1NmMiLCJNNjQgMTI4Yy0zNS4zIDAtNjQgMjguNy02NCA2NEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyNzYgMGMtMTAuNS0xNC42LTE5LTMwLjctMjUuMS00OGwtOTAuOSAwIDAtODhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMGMxIDAgMS45IDAgMi45IC4xIDI2LjMtNzQuNiA5Ny41LTEyOC4xIDE4MS4xLTEyOC4xIDI4LjYgMCA1NS42IDYuMiA4MCAxNy40bDAtMzMuNGMwLTM1LjMtMjguNy02NC02NC02NGwtNjQgMC0xMjcuOS0xMTUuMWMtMTguMy0xNi40LTQ2LTE2LjQtNjQuMiAwTDEyOCAxMjggNjQgMTI4em02NCAyNDBjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMnpNMTEyIDI1NmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2ek0yODggMTI4YTY0IDY0IDAgMSAxIDAgMTI4IDY0IDY0IDAgMSAxIDAtMTI4ek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptMC0xMDBhMjAgMjAgMCAxIDEgMCA0MCAyMCAyMCAwIDEgMSAwLTQwem0wLTE0MGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4MGMwIDguOC03LjIgMTYtMTYgMTZzLTE2LTcuMi0xNi0xNmwwLTgwYzAtOC44IDcuMi0xNiAxNi0xNnoiXX0sRTdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdyYWR1YXRpb24tY2FwIixpY29uOls1NzYsNTEyLFsxMjc4OTEsIm1vcnRhci1ib2FyZCJdLCJmMTlkIiwiTTQ4IDE5NS44bDIwOS4yIDg2LjFjOS44IDQgMjAuMiA2LjEgMzAuOCA2LjFzMjEtMi4xIDMwLjgtNi4xbDI0Mi40LTk5LjhjOS0zLjcgMTQuOC0xMi40IDE0LjgtMjIuMXMtNS44LTE4LjQtMTQuOC0yMi4xTDMxOC44IDM4LjFDMzA5IDM0LjEgMjk4LjYgMzIgMjg4IDMycy0yMSAyLjEtMzAuOCA2LjFMMTQuOCAxMzcuOUM1LjggMTQxLjYgMCAxNTAuMyAwIDE2MEwwIDQ1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjYwLjJ6bTQ4IDcxLjdMOTYgMzg0YzAgNTMgODYgOTYgMTkyIDk2czE5Mi00MyAxOTItOTZsMC0xMTYuNi0xNDIuOSA1OC45Yy0xNS42IDYuNC0zMi4yIDkuNy00OS4xIDkuN3MtMzMuNS0zLjMtNDkuMS05LjdMOTYgMjY3LjR6Il19LHpLdD1FN2UsQ0t0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0b3JlIixpY29uOls1MTIsNTEyLFtdLCJmNTRlIiwiTTMwLjcgNzIuM0MzNy42IDQ4LjQgNTkuNSAzMiA4NC40IDMybDM0NCAwYzI0LjkgMCA0Ni44IDE2LjQgNTMuOCA0MC4zbDIzLjQgODAuMmMxMi44IDQzLjctMjAuMSA4Ny41LTY1LjYgODcuNS0yNi4zIDAtNDkuNC0xNC45LTYwLjgtMzcuMS0xMS42IDIxLjktMzQuNiAzNy4xLTYxLjQgMzcuMS0yNi42IDAtNDkuNy0xNS02MS4zLTM3LTExLjYgMjItMzQuNyAzNy02MS4zIDM3LTI2LjggMC00OS44LTE1LjEtNjEuNC0zNy4xLTExLjQgMjIuMS0zNC41IDM3LjEtNjAuOCAzNy4xLTQ1LjYgMC03OC40LTQzLjctNjUuNi04Ny41TDMwLjcgNzIuM3pNOTYuNCAzNTJsMzIwIDAgMC02Ni40YzcuNiAxLjYgMTUuNSAyLjQgMjMuNSAyLjQgMTQuMyAwIDI4LTIuNiA0MC41LTcuMmwwIDE1MS4yYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zNTIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNTEuMmMxMi41IDQuNiAyNi4xIDcuMiA0MC41IDcuMiA4LjEgMCAxNS45LS44IDIzLjUtMi40bDAgNjYuNHoiXX0sX0t0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItYXN0cm9uYXV0IixpY29uOls0NDgsNTEyLFtdLCJmNGZiIiwiTTIyNCAzMzZjNzQuNiAwIDEzOC40LTQ2LjQgMTY0LTExMmw0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC04MGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNCAwQzM2Mi40IDMwLjQgMjk4LjYtMTYgMjI0LTE2Uzg1LjYgMzAuNCA2MCA5NmwtNCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDQgMGMyNS42IDY1LjYgODkuNCAxMTIgMTY0IDExMnpNMjA4IDgwbDMyIDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZsLTMyIDBjLTUzIDAtOTYtNDMtOTYtOTZzNDMtOTYgOTYtOTZ6TTE2IDQ4NC42QzE2IDQ5OS43IDI4LjMgNTEyIDQzLjQgNTEybDUyLjYgMCAwLTQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMybDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgNDggNTIuNiAwYzE1LjEgMCAyNy40LTEyLjMgMjcuNC0yNy40IDAtNTkuOC0zMS45LTExMi4yLTc5LjYtMTQxLTM2LjQgMjUuNS04MC42IDQwLjQtMTI4LjQgNDAuNHMtOTItMTQuOS0xMjguNC00MC40QzQ3LjkgMzcyLjQgMTYgNDI0LjggMTYgNDg0LjZ6TTE4My4zIDE0MS41Yy0uOS0zLjMtMy45LTUuNS03LjMtNS41cy02LjQgMi4yLTcuMyA1LjVsLTYgMjEuMi0yMS4yIDZjLTMuMyAuOS01LjUgMy45LTUuNSA3LjNzMi4yIDYuNCA1LjUgNy4zbDIxLjIgNiA2IDIxLjJjLjkgMy4zIDMuOSA1LjUgNy4zIDUuNXM2LjQtMi4yIDcuMy01LjVsNi0yMS4yIDIxLjItNmMzLjMtLjkgNS41LTMuOSA1LjUtNy4zcy0yLjItNi40LTUuNS03LjNsLTIxLjItNi02LTIxLjJ6TTE1MiA0ODhsMCAyNCA0OCAwIDAtMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6bTEyMC0yNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAyNCA0OCAwIDAtMjRjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LFRLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy1mbGFnIixpY29uOls2NDAsNTEyLFtdLCJlNGQ1IiwiTTY0IDBDMjguNyAwIDAgMjguNyAwIDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDI1NiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzg0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDB6TTE3NiAzNTJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDgwLTk2IDAgMC04MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNOTYgMTEyYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6TTI0MCA5NmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek05NiAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnptMTQ0LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6TTQ2NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjg4IDExMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJMNDk2IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSxQN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibXVnLXNhdWNlciIsaWNvbjpbNTc2LDUxMixbImNvZmZlZSJdLCJmMGY0IiwiTTY0IDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM1MiAwYzcwLjcgMCAxMjggNTcuMyAxMjggMTI4UzUxOC43IDI4OCA0NDggMjg4YzAgNTMtNDMgOTYtOTYgOTZsLTE5MiAwYy01MyAwLTk2LTQzLTk2LTk2TDY0IDY0em00NDggOTZjMC0zNS4zLTI4LjctNjQtNjQtNjRsMCAxMjhjMzUuMyAwIDY0LTI4LjcgNjQtNjR6TTY0IDQ0OGwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkw2NCA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6Il19LExLdD1QN2UsJEt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxlbW9uIixpY29uOls0NDgsNTEyLFsxMjc4MTldLCJmMDk0IiwiTTQ0OCA5NmMwLTM1LjMtMjguNy02NC02NC02NC02LjYgMC0xMyAxLTE5IDIuOS0yMi41IDctNDguMSAxNC45LTcxIDktNzUuMi0xOS4xLTE1Ni40IDExLTIxMy43IDY4LjNTLTcuMiAyNTAuOCAxMS45IDMyNmM1LjggMjIuOS0yIDQ4LjQtOSA3MS0xLjkgNi0yLjkgMTIuNC0yLjkgMTkgMCAzNS4zIDI4LjcgNjQgNjQgNjQgNi42IDAgMTMtMSAxOS4xLTIuOSAyMi41LTcgNDguMS0xNC45IDcxLTkgNzUuMiAxOS4xIDE1Ni40LTExIDIxMy43LTY4LjNTNDU1LjIgMjYxLjIgNDM2LjEgMTg2Yy01LjgtMjIuOSAyLTQ4LjQgOS03MSAxLjktNiAyLjktMTIuNCAyLjktMTkuMXpNMjIyLjcgMTQzYy01MiAxNS4yLTk2LjUgNTkuNy0xMTEuNyAxMTEuNy0zLjcgMTIuNy0xNy4xIDIwLTI5LjggMTYuM1M2MS4yIDI1NCA2NSAyNDEuM2MxOS44LTY3LjcgNzYuNi0xMjQuNSAxNDQuMy0xNDQuMyAxMi43LTMuNyAyNi4xIDMuNiAyOS44IDE2LjNzLTMuNiAyNi4xLTE2LjMgMjkuOHoiXX0sREt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcmF2YW4iLGljb246WzY0MCw1MTIsW10sImY4ZmYiLCJNMzIgOTZjMC0zNS4zIDI4LjctNjQgNjQtNjRsMzIwIDBjNzAuNyAwIDEyOCA1Ny4zIDEyOCAxMjhsMCAxOTIgNjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjk2LjQgMGMuMiAyLjYgLjQgNS4zIC40IDggMCA0OC42LTM5LjQgODgtODggODhzLTg4LTM5LjQtODgtODhjMC0yLjcgLjEtNS40IC40LThMOTYgNDE2Yy0zNS4zIDAtNjQtMjguNy02NC02NEwzMiA5NnpNMzUyIDM1Mmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNDgtMjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyNCAwIDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyek0xNjAgMTI4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtNjQgMHptNjQgMzM2YTQwIDQwIDAgMSAwIDAtODAgNDAgNDAgMCAxIDAgMCA4MHoiXX0sQUt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InEiLGljb246WzQ0OCw1MTIsWzExM10sIjUxIiwiTTY0IDI1NmMwIDg4LjQgNzEuNiAxNjAgMTYwIDE2MCAyOC45IDAgNTYtNy43IDc5LjQtMjEuMWwtNzItODYuNGMtMTEuMy0xMy42LTkuNS0zMy44IDQuMS00NS4xczMzLjgtOS41IDQ1LjEgNC4xbDcwLjkgODUuMWMyMC40LTI2LjggMzIuNS02MC4zIDMyLjUtOTYuNiAwLTg4LjQtNzEuNi0xNjAtMTYwLTE2MFM2NCAxNjcuNiA2NCAyNTZ6TTM0NC45IDQ0NC42QzMxMCA0NjcgMjY4LjUgNDgwIDIyNCA0ODAgMTAwLjMgNDgwIDAgMzc5LjcgMCAyNTZTMTAwLjMgMzIgMjI0IDMyIDQ0OCAxMzIuMyA0NDggMjU2YzAgNTYuMS0yMC42IDEwNy40LTU0LjcgMTQ2LjdsNDcuMyA1Ni44YzExLjMgMTMuNiA5LjUgMzMuOC00LjEgNDUuMXMtMzMuOCA5LjUtNDUuMS00LjFsLTQ2LjYtNTUuOXoiXX0sRUt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxvY2siLGljb246WzM4NCw1MTIsWzEyODI3NF0sImYwMjMiLCJNMTI4IDk2bDAgNjQgMTI4IDAgMC02NGMwLTM1LjMtMjguNy02NC02NC02NHMtNjQgMjguNy02NCA2NHpNNjQgMTYwbDAtNjRDNjQgMjUuMyAxMjEuMy0zMiAxOTItMzJTMzIwIDI1LjMgMzIwIDk2bDAgNjRjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAyMjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDIyNGMwLTM1LjMgMjguNy02NCA2NC02NHoiXX0sUEt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhaW50LXJvbGxlciIsaWNvbjpbNTEyLDUxMixbXSwiZjVhYSIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwzNTIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwxNiAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgOTZjMCA0NC4yLTM1LjggODAtODAgODBsLTE2MCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxOC43YzE4LjYgNi42IDMyIDI0LjQgMzIgNDUuM2wwIDk2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2YzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTE4LjdjMC00NC4yIDM1LjgtODAgODAtODBsMTYwIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtOTZjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDE5MmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHoiXX0sSTdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvbHVtZS1oaWdoIixpY29uOls2NDAsNTEyLFsxMjgyNjYsInZvbHVtZS11cCJdLCJmMDI4IiwiTTUzMy42IDMyLjVjLTEwLjMtOC40LTI1LjQtNi44LTMzLjggMy41cy02LjggMjUuNCAzLjUgMzMuOEM1NTcuNSAxMTMuOCA1OTIgMTgwLjggNTkyIDI1NnMtMzQuNSAxNDIuMi04OC43IDE4Ni4zYy0xMC4zIDguNC0xMS44IDIzLjUtMy41IDMzLjhzMjMuNSAxMS44IDMzLjggMy41QzU5OC41IDQyNi43IDY0MCAzNDYuMiA2NDAgMjU2UzU5OC41IDg1LjIgNTMzLjYgMzIuNXpNNDczLjEgMTA3Yy0xMC4zLTguNC0yNS40LTYuOC0zMy44IDMuNXMtNi44IDI1LjQgMy41IDMzLjhDNDc1LjMgMTcwLjcgNDk2IDIxMC45IDQ5NiAyNTZzLTIwLjcgODUuMy01My4yIDExMS44Yy0xMC4zIDguNC0xMS44IDIzLjUtMy41IDMzLjhzMjMuNSAxMS44IDMzLjggMy41YzQzLjItMzUuMiA3MC45LTg4LjkgNzAuOS0xNDlzLTI3LjctMTEzLjgtNzAuOS0xNDl6bS02MC41IDc0LjVjLTEwLjMtOC40LTI1LjQtNi44LTMzLjggMy41cy02LjggMjUuNCAzLjUgMzMuOEMzOTMuMSAyMjcuNiA0MDAgMjQxIDQwMCAyNTZzLTYuOSAyOC40LTE3LjcgMzcuM2MtMTAuMyA4LjQtMTEuOCAyMy41LTMuNSAzMy44czIzLjUgMTEuOCAzMy44IDMuNUM0MzQuMSAzMTIuOSA0NDggMjg2LjEgNDQ4IDI1NnMtMTMuOS01Ni45LTM1LjQtNzQuNXpNODAgMzUybDQ4IDAgMTM0LjEgMTE5LjJjNi40IDUuNyAxNC42IDguOCAyMy4xIDguOCAxOS4yIDAgMzQuOC0xNS42IDM0LjgtMzQuOGwwLTM3OC40YzAtMTkuMi0xNS42LTM0LjgtMzQuOC0zNC44LTguNSAwLTE2LjcgMy4xLTIzLjEgOC44TDEyOCAxNjAgODAgMTYwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4eiJdfSxJS3Q9STdlLE5LdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb2xkZXItcGx1cyIsaWNvbjpbNTEyLDUxMixbXSwiZjY1ZSIsIk01MTIgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwxMzguNyAwYzEzLjggMCAyNy4zIDQuNSAzOC40IDEyLjhsMzguNCAyOC44YzUuNSA0LjIgMTIuMyA2LjQgMTkuMiA2LjRMNDQ4IDgwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjQwek0yNTYgMTYwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQ4LTQ4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMCAwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00OCA0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwIDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjR6Il19LFJLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtZXJjdXJ5IixpY29uOlszODQsNTEyLFs5NzkxXSwiZjIyMyIsIk0xMTctNEMxMDYtMTcuOCA4NS44LTIwIDcyLjEtOXMtMTYgMzEuMi01IDQ1Qzc0LjkgNDUuNyA4My43IDU0LjUgOTMuNSA2Mi4xIDQ2LjcgOTMuNyAxNiAxNDcuMyAxNiAyMDggMTYgMjk0LjMgNzguMSAzNjYuMSAxNjAgMzgxLjFsMCAzNC45LTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMiAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMzQuOWM4MS45LTE1IDE0NC04Ni44IDE0NC0xNzMuMSAwLTYwLjctMzAuNy0xMTQuMy03Ny41LTE0NS45IDkuOC03LjcgMTguNy0xNi40IDI2LjQtMjYuMSAxMS4xLTEzLjggOC44LTMzLjktNS00NVMyNzgtMTcuOCAyNjctNGMtMTcuNiAyMi00NC43IDM2LTc1IDM2UzEzNC43IDE4IDExNy00em03NSAzMjRjLTYxLjkgMC0xMTItNTAuMS0xMTItMTEyUzEzMC4xIDk2IDE5MiA5NiAzMDQgMTQ2LjEgMzA0IDIwOGMwIDYxLjgtNTAuMSAxMTItMTExLjkgMTEybC0uMSAweiJdfSxPS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5jaG9yIixpY29uOls1NzYsNTEyLFs5ODc1XSwiZjEzZCIsIk0yODggNjRhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0ek0xOTIgOTZjMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmMwIDQxLjgtMjYuNyA3Ny40LTY0IDkwLjVsMCAyNTcuOWM2Mi45LTE0LjMgMTEwLjItNjkuNyAxMTEuOS0xMzYuNWwtMTYuMSAxNC4xYy0xMCA4LjctMjUuMSA3LjctMzMuOS0yLjNzLTcuNy0yNS4xIDIuMy0zMy45bDY0LTU2YzktNy45IDIyLjYtNy45IDMxLjYgMGw2NCA1NmMxMCA4LjcgMTEgMjMuOSAyLjMgMzMuOXMtMjMuOSAxMS0zMy45IDIuM0w0OTYgMzA3LjlDNDkzLjkgNDIxIDQwMS42IDUxMiAyODggNTEyUzgyLjEgNDIxIDgwIDMwNy45TDYzLjggMzIyLjFjLTEwIDguNy0yNS4xIDcuNy0zMy45LTIuM3MtNy43LTI1LjEgMi4zLTMzLjlsNjQtNTZjOS03LjkgMjIuNi03LjkgMzEuNiAwbDY0IDU2YzEwIDguNyAxMSAyMy45IDIuMyAzMy45cy0yMy45IDExLTMzLjkgMi4zbC0xNi4xLTE0LjFjMS44IDY2LjggNDkuMSAxMjIuMiAxMTEuOSAxMzYuNWwwLTI1Ny45Yy0zNy4zLTEzLjItNjQtNDguNy02NC05MC41eiJdfSxON2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3F1YXJlLXBhcmtpbmciLGljb246WzQ0OCw1MTIsWzEyNzM1OSwicGFya2luZyJdLCJmNTQwIiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTE5MiAyNTZsNDggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNDggMCAwIDY0em00OCA2NGwtNDggMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTg0YzAtMjIuMSAxNy45LTQwIDQwLTQwbDcyIDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZ6Il19LEZLdD1ON2UsQkt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbnVraWFoIixpY29uOls2NDAsNTEyLFsxMjgzMzRdLCJmNmU2IiwiTTMxNC4yIDMuM2MtNS4xIDguOC0xOC4yIDMzLjMtMTguMiA1Mi43IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjctMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM3ptLTI4OCA0OEMyMS4xIDYwLjEgOCA4NC42IDggMTA0IDggMTE3LjMgMTguNyAxMjggMzIgMTI4czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjctMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM3pNODggMTA0YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjctMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM0MxMDEuMSA2MC4xIDg4IDg0LjYgODggMTA0em04Mi4yLTUyLjdjLTUuMSA4LjgtMTguMiAzMy4zLTE4LjIgNTIuNyAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43LTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjN6TTIxNiAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuNy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zQzIyOS4xIDYwLjEgMjE2IDg0LjYgMjE2IDEwNHpNMzk0LjIgNTEuM2MtNS4xIDguOC0xOC4yIDMzLjMtMTguMiA1Mi43IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0xOS40LTEzLjEtNDMuOS0xOC4yLTUyLjctMS4yLTIuMS0zLjQtMy4zLTUuOC0zLjNzLTQuNiAxLjItNS44IDMuM3pNNDQwIDEwNGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43LTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjNDNDUzLjEgNjAuMSA0NDAgODQuNiA0NDAgMTA0em04Mi4yLTUyLjdjLTUuMSA4LjgtMTguMiAzMy4zLTE4LjIgNTIuNyAwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0YzAtMTkuNC0xMy4xLTQzLjktMTguMi01Mi43LTEuMi0yLjEtMy40LTMuMy01LjgtMy4zcy00LjYgMS4yLTUuOCAzLjN6TTU4NCAxMDRjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTE5LjQtMTMuMS00My45LTE4LjItNTIuNy0xLjItMi4xLTMuNC0zLjMtNS44LTMuM3MtNC42IDEuMi01LjggMy4zQzU5Ny4xIDYwLjEgNTg0IDg0LjYgNTg0IDEwNHpNMTEyIDE2MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTEyIDMyIDAgMC0xMTJjMC04LjgtNy4yLTE2LTE2LTE2em02NCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxMTIgMzIgMCAwLTExMmMwLTguOC03LjItMTYtMTYtMTZ6bTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDExMiAzMiAwIDAtMTEyYzAtOC44LTcuMi0xNi0xNi0xNnptMTYwIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDExMiAzMiAwIDAtMTEyYzAtOC44LTcuMi0xNi0xNi0xNnptNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTEyIDMyIDAgMC0xMTJjMC04LjgtNy4yLTE2LTE2LTE2em02NCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxMTIgMzIgMCAwLTExMmMwLTguOC03LjItMTYtMTYtMTZ6TTM1MiAxNDRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNzYtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJTMCAxNzQuMyAwIDE5MmwwIDk2YzAgNTMgNDMgOTYgOTYgOTZsMTkyIDAgMCA2NC0xMjggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzMjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTI4IDAgMC02NCAxOTIgMGM1MyAwIDk2LTQzIDk2LTk2bDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTkyIDAgMC0xNzZ6Il19LFpiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJvdGF0ZS1sZWZ0IixpY29uOls1MTIsNTEyLFsicm90YXRlLWJhY2siLCJyb3RhdGUtYmFja3dhcmQiLCJ1bmRvLWFsdCJdLCJmMmVhIiwiTTI0IDE5MmwxNDQgMGM5LjcgMCAxOC41LTUuOCAyMi4yLTE0LjhzMS43LTE5LjMtNS4yLTI2LjJsLTQ2LjctNDYuN2M3NS4zLTU4LjYgMTg0LjMtNTMuMyAyNTMuNSAxNS45IDc1IDc1IDc1IDE5Ni41IDAgMjcxLjVzLTE5Ni41IDc1LTI3MS41IDBjLTEwLjItMTAuMi0xOS0yMS4zLTI2LjQtMzMtOS41LTE0LjktMjkuMy0xOS4zLTQ0LjItOS44cy0xOS4zIDI5LjMtOS44IDQ0LjJDNDkuNyA0MDguNyA2MS40IDQyMy41IDc1IDQzNyAxNzUgNTM3IDMzNyA1MzcgNDM3IDQzN1M1MzcgMTc1IDQzNyA3NUMzNDIuOC0xOS4zIDE5My4zLTI0LjcgOTIuNyA1OC44TDQxIDdDMzQuMSAuMiAyMy44LTEuOSAxNC44IDEuOFMwIDE0LjMgMCAyNEwwIDE2OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHoiXX0sSEt0PVpiLHFLdD1aYixWS3Q9WmIsUjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhlYWRpbmciLGljb246WzQ0OCw1MTIsWyJoZWFkZXIiXSwiZjFkYyIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE2IDAgMCAxMTIgMjI0IDAgMC0xMTItMTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw5NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNiAwIDAgMzIwIDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYgMCAwLTE0NC0yMjQgMCAwIDE0NCAxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC0zMjAtMTYgMEMxNC4zIDk2IDAgODEuNyAwIDY0eiJdfSxqS3Q9UjdlLFVLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjcm9zc2hhaXJzIixpY29uOls1NzYsNTEyLFtdLCJmMDViIiwiTTI4OC0xNmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE4LjNjOTguMSAxNCAxNzUuNyA5MS42IDE4OS43IDE4OS43bDE4LjMgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTguMyAwYy0xNCA5OC4xLTkxLjYgMTc1LjctMTg5LjcgMTg5LjdsMCAxOC4zYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTguM0MxNTcuOSA0NjMuNyA4MC4zIDM4Ni4xIDY2LjMgMjg4TDQ4IDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxOC4zIDBDODAuMyAxMjUuOSAxNTcuOSA0OC4zIDI1NiAzNC4zTDI1NiAxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMnpNMTMxLjIgMjg4YzEyLjcgNjIuNyA2Mi4xIDExMi4xIDEyNC44IDEyNC44bDAtMTIuOGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTIuOGM2Mi43LTEyLjcgMTEyLjEtNjIuMSAxMjQuOC0xMjQuOEw0MzIgMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDEyLjggMEM0MzIuMSAxNjEuMyAzODIuNyAxMTEuOSAzMjAgOTkuMmwwIDEyLjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMi44QzE5My4zIDExMS45IDE0My45IDE2MS4zIDEzMS4yIDIyNGwxMi44IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTEyLjggMHpNMjg4IDIwOGE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6Il19LFdLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaXJjbGUtbm9kZXMiLGljb246WzUxMiw1MTIsW10sImU0ZTIiLCJNNDE4LjQgMTU3LjljMzUuMy04LjMgNjEuNi00MCA2MS42LTc3LjkgMC00NC4yLTM1LjgtODAtODAtODAtNDMuNCAwLTc4LjcgMzQuNS04MCA3Ny41TDEzNi4yIDE1MS4xQzEyMS43IDEzNi44IDEwMS45IDEyOCA4MCAxMjggMzUuOCAxMjggMCAxNjMuOCAwIDIwOHMzNS44IDgwIDgwIDgwYzEyLjIgMCAyMy44LTIuNyAzNC4xLTcuNkwyNTkuNyA0MDcuOGMtMi40IDcuNi0zLjcgMTUuOC0zLjcgMjQuMiAwIDQ0LjIgMzUuOCA4MCA4MCA4MHM4MC0zNS44IDgwLTgwYzAtMjcuNy0xNC01Mi4xLTM1LjQtNjYuNGwzNy44LTIwNy43ek0xNTYuMyAyMzIuMmMyLjItNi45IDMuNS0xNC4yIDMuNy0yMS43bDE4My44LTczLjVjMy42IDMuNSA3LjQgNi43IDExLjYgOS41TDMxNy42IDM1NC4xYy01LjUgMS4zLTEwLjggMy4xLTE1LjggNS41TDE1Ni4zIDIzMi4yeiJdfSxHS3Q9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2luZG93LXJlc3RvcmUiLGljb246WzU3Niw1MTIsW10sImYyZDIiLCJNNTEyIDk2TDE2MCA5NmMwLTM1LjMgMjguNy02NCA2NC02NGwyODggMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE5MmMwIDM1LjMtMjguNyA2NC02NCA2NGwtNDggMCAwLTY0IDQ4IDAgMC0xOTJ6TTAgMjI0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDI4OCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTkyYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyMjR6bTY0IDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0bDI0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDg4IDI0MGMtMTMuMyAwLTI0IDEwLjctMjQgMjR6Il19LFlLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyIixpY29uOlszMjAsNTEyLFsxMTRdLCI1MiIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggOTUuMyAwIDEwMi40IDE0Ni40YzEwLjEgMTQuNSAzMC4xIDE4IDQ0LjYgNy45czE4LTMwLjEgNy45LTQ0LjZMMjMwLjEgMzA5LjVDMjgyLjggMjg4LjEgMzIwIDIzNi40IDMyMCAxNzYgMzIwIDk2LjUgMjU1LjUgMzIgMTc2IDMyTDMyIDMyek0xNzYgMjU2bC0xMTIgMCAwLTE2MCAxMTIgMGM0NC4yIDAgODAgMzUuOCA4MCA4MHMtMzUuOCA4MC04MCA4MHoiXX0sS0t0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbHRlci1jaXJjbGUteG1hcmsiLGljb246WzU3Niw1MTIsW10sImUxN2IiLCJNMzIgNjRDMTkuMSA2NCA3LjQgNzEuOCAyLjQgODMuOFMuMiAxMDkuNSA5LjQgMTE4LjZMMTkyIDMwMS4zIDE5MiA0MTZjMCA4LjUgMy40IDE2LjYgOS40IDIyLjZsNjQgNjRjMi41IDIuNSA1LjMgNC41IDguMyA2LTIxLjItMzAuOS0zMy42LTY4LjMtMzMuNi0xMDguNiAwLTk5LjQgNzUuNS0xODEuMSAxNzIuMy0xOTFsOTAuNC05MC40YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ5Mi45IDY0IDQ4MCA2NEwzMiA2NHpNNDMyIDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdsLTM2LjcgMzYuNyAzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtMzYuNy0zNi43LTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzNi43LTM2LjctMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMzYuNyAzNi43IDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6Il19LFpLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnb3B1cmFtIixpY29uOls1MTIsNTEyLFtdLCJmNjY0IiwiTTEyMCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgOCA0MCAwIDAtOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgOCA0OCAwIDAtOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgOCA0MCAwIDAtOGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTM2YzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgODBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxMjhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTQ4IDAgMC0yMjQtMzIgMCAwLTEyOC00OCAwIDAgMTI4IDMyIDAgMCAyMjQtMjI0IDAgMC0yMjQgMzIgMCAwLTEyOC00OCAwIDAgMTI4LTMyIDAgMCAyMjQtNDggMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCAzMzZjMC0yNi41IDIxLjUtNDggNDgtNDhsMC04MGMwLTI2LjUgMjEuNS00OCA0OC00OEw5NiAyNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNMjU2IDIwOGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA0OCA2NCAwIDAtNDhjMC0xNy43LTE0LjMtMzItMzItMzJ6TTIwOCA0MDBsMCA2NCA5NiAwIDAtNjRjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6TTI1NiA5NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMiA2NCAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJ6Il19LFhLdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFydC1jaXJjbGUtbWludXMiLGljb246WzU3Niw1MTIsW10sImU0ZmYiLCJNMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43QzI5NiA1Mi41IDMzNi4yIDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDE3LjYtMy40IDM1LjYtOS41IDUzLjctMjEuOC04LjYtNDUuNi0xMy40LTcwLjUtMTMuNC0xMDYgMC0xOTIgODYtMTkyIDE5MiAwIDI4LjUgNi4yIDU1LjYgMTcuNCA4MC0uNSAwLS45IDAtMS40IDAtMTUuNSAwLTMwLjgtNC42LTQzLjEtMTQuMS03My01NS43LTIxMi45LTE4Ni0yMTIuOS0yOTguMmwwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMXpNMjg4IDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMjQgMGMwLTguOC03LjItMTYtMTYtMTZsLTEyOCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDEyOCAwYzguOCAwIDE2LTcuMiAxNi0xNnoiXX0sUUt0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YXItb2YtbGlmZSIsaWNvbjpbNTEyLDUxMixbXSwiZjYyMSIsIk0yMDguNSAzMmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzMiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTQwLjkgMTIyLTcwLjRjMTUuMy04LjggMzQuOS0zLjYgNDMuNyAxMS43bDE2IDI3LjdjOC44IDE1LjMgMy42IDM0LjktMTEuNyA0My43bC0xMjIgNzAuNCAxMjIgNzAuNGMxNS4zIDguOCAyMC42IDI4LjQgMTEuNyA0My43bC0xNiAyNy43Yy04LjggMTUuMy0yOC40IDIwLjYtNDMuNyAxMS43bC0xMjItNzAuNCAwIDE0MC45YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE0MC45LTEyMiA3MC40Yy0xNS4zIDguOC0zNC45IDMuNi00My43LTExLjdsLTE2LTI3LjdjLTguOC0xNS4zLTMuNi0zNC45IDExLjctNDMuN2wxMjItNzAuNC0xMjItNzAuNGMtMTUuMy04LjgtMjAuNS0yOC40LTExLjctNDMuN2wxNi0yNy43YzguOC0xNS4zIDI4LjQtMjAuNSA0My43LTExLjdsMTIyIDcwLjQgMC0xNDAuOXoiXX0sTzdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1c2luZXNzLXRpbWUiLGljb246WzY0MCw1MTIsWyJicmllZmNhc2UtY2xvY2siXSwiZjY0YSIsIk0yNjQgNDhsMTEyIDBjNC40IDAgOCAzLjYgOCA4bDAgNDAtMTI4IDAgMC00MGMwLTQuNCAzLjYtOCA4LTh6bS01NiA4bDAgNDAtODAgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA5NiAzMDUgMGMzMy44LTI5LjkgNzguMy00OCAxMjctNDggMjguNiAwIDU1LjYgNi4yIDgwIDE3LjRsMC02NS40YzAtMzUuMy0yOC43LTY0LTY0LTY0bC04MCAwIDAtNDBjMC0zMC45LTI1LjEtNTYtNTYtNTZMMjY0IDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2em04MCAyOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTYtMTkyIDAgMCAxMTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTkzLjQgMGMtMTEuMi0yNC40LTE3LjQtNTEuNC0xNy40LTgwIDAtMTYuNiAyLjEtMzIuNyA2LTQ4bC0yMiAwem0zNTIgNDhhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHpNNDk2IDMyMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0OCAzMiAwYzguOCAwIDE2IDcuMiAxNiAxNnMtNy4yIDE2LTE2IDE2bC00OCAwYy04LjggMC0xNi03LjItMTYtMTZsMC02NGMwLTguOCA3LjItMTYgMTYtMTZ6Il19LEpLdD1PN2UsZVp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpcmUtZXh0aW5ndWlzaGVyIixpY29uOls1MTIsNTEyLFsxMjk1MTldLCJmMTM0IiwiTTUxMiAzMmMwLTkuNi00LjMtMTguNy0xMS43LTI0LjdTNDgzLjEtMS4zIDQ3My43IC42bC0xNjAgMzJDMzAxLjUgMzUuMSAyOTIgNDQuMyAyODkgNTZsLTY1IDAgMC0yNGMwLTE3LjctMTQuMy0zMi0zMi0zMkwxNjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAyOC40Yy01NS4zIDEyLjMtMTAxLjMgNDkuNS0xMjUuNSA5OS4xLTUuOCAxMS45LS45IDI2LjMgMTEuMSAzMi4xczI2LjMgLjkgMzIuMS0xMS4xQzYyIDE0Ni45IDkxLjggMTIxLjEgMTI4IDExMGwwIDI4LjhjLTM3LjggMTgtNjQgNTYuNS02NCAxMDEuMmwwIDEyOCAyMjQgMCAwLTEyOGMwLTQ0LjctMjYuMi04My4yLTY0LTEwMS4ybDAtMzQuOCA2NSAwYzMgMTEuNyAxMi41IDIwLjkgMjQuNyAyMy40bDE2MCAzMmM5LjQgMS45IDE5LjEtLjYgMjYuNi02LjZTNTEyIDEzNy42IDUxMiAxMjhsMC05NnpNMjg4IDQ0OGwwLTMyLTIyNCAwIDAgMzJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsOTYgMGMzNS4zIDAgNjQtMjguNyA2NC02NHoiXX0sRjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24tbG9uZyIsaWNvbjpbMzIwLDUxMixbImxvbmctYXJyb3ctZG93biJdLCJmMTc1IiwiTTEzNy40IDUzNC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjhjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMTkyIDQzNC43IDE5MiAwYzAtMTcuNy0xNC4zLTMyLTMyLTMyUzEyOC0xNy43IDEyOCAwbDAgNDM0LjctNzMuNC03My40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxMjggMTI4eiJdfSx0WnQ9RjdlLGFadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1c2VyLW1pbnVzIixpY29uOls2NDAsNTEyLFtdLCJmNTAzIiwiTTI4NS43IDMwNGM5OC41IDAgMTc4LjMgNzkuOCAxNzguMyAxNzguMyAwIDE2LjQtMTMuMyAyOS43LTI5LjcgMjkuN0w3Ny43IDUxMkM2MS4zIDUxMiA0OCA0OTguNyA0OCA0ODIuMyA0OCAzODMuOCAxMjcuOCAzMDQgMjI2LjMgMzA0bDU5LjQgMHpNMjU2IDI0OGExMjAgMTIwIDAgMSAxIDAtMjQwIDEyMCAxMjAgMCAxIDEgMCAyNDB6bTM0NC05NmMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTQ0IDB6Il19LHJadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1jaGVjayIsaWNvbjpbNTEyLDUxMixbXSwiZjUzYyIsIk0wIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4ek05NiAzMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTQ0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTE0NCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptMjQtMTM2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNzIgMHoiXX0sQjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWxhcHRvcCIsaWNvbjpbNjQwLDUxMixbImxhcHRvcC1ob3VzZSJdLCJlMDY2IiwiTTQ0OCAyNDBsMTkuOSAwYzE1LjUgMCAyOC4xLTEyLjYgMjguMS0yOC4xIDAtNy42LTMuMS0xNC45LTguNi0yMC4yTDI4My41LTQuOUMyNzYuMS0xMiAyNjYuMy0xNiAyNTYtMTZzLTIwLjEgNC0yNy41IDExLjFMMjQuNiAxOTEuN0MxOS4xIDE5NyAxNiAyMDQuMyAxNiAyMTEuOSAxNiAyMjcuNCAyOC42IDI0MCA0NC4xIDI0MGwxOS45IDAgMCAxNDRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsODUuNyAwYzcuNC02LjYgMTYuNC0xMS40IDI2LjMtMTRsMC0xMzBjMC01LjUgLjctMTAuOSAyLTE2bC0xMCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAyNCAxNDQgMHpNMzUyIDM1MmwxNjAgMCAwIDEyOC0xNjAgMCAwLTEyOHptLTY0LTMybDAgMTYwLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNiAwIDI2LjUgMjEuNSA0OCA0OCA0OGwyODggMGMyNi41IDAgNDgtMjEuNSA0OC00OCAwLTguOC03LjItMTYtMTYtMTZsLTMyIDAgMC0xNjBjMC0xNy43LTE0LjMtMzItMzItMzJsLTIyNCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnoiXX0sc1p0PUI3ZSxpWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG93bmxvYWQiLGljb246WzQ0OCw1MTIsW10sImYwMTkiLCJNMjU2IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMjEwLjctNDEuNC00MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2w5NiA5NmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMGw5Ni05NmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyNTYgMjQyLjcgMjU2IDMyek02NCAzMjBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMzJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMmMwLTM1LjMtMjguNy02NC02NC02NGwtNDYuOSAwLTU2LjYgNTYuNmMtMzEuMiAzMS4yLTgxLjkgMzEuMi0xMTMuMSAwTDExMC45IDMyMCA2NCAzMjB6bTMwNCA1NmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LG9adD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzYWdpdHRhcml1cyIsaWNvbjpbNDQ4LDUxMixbXSwiZTg0ZCIsIk00MTYgMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC04Mi44LTE0Ni44IDE0Ni44IDQxLjQgNDEuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuMnMtMzIuOCAxMi41LTQ1LjMgMEwxOTIgMzMzLjMgNTQuNiA0NzAuNmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4yIDBzLTEyLjUtMzIuOCAwLTQ1LjJMMTQ2LjggMjg4IDEwNS40IDI0Ni42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuMnMzMi44LTEyLjUgNDUuMiAwTDE5MiAyNDIuOCAzMzguOCA5NiAyNTYgOTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYwIDB6Il19LG5adD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb3VjaCIsaWNvbjpbNjQwLDUxMixbXSwiZjRiOCIsIk0xNDQgMjcyQzE0NCAyMjQuNyAxMDkuOCAxODUuNCA2NC44IDE3Ny41IDcyIDExMy42IDEyNi4yIDY0IDE5MiA2NGwyNTYgMGM2NS44IDAgMTIwIDQ5LjYgMTI3LjIgMTEzLjUtNDUgOC03OS4yIDQ3LjItNzkuMiA5NC41bDAgMzItMzUyIDAgMC0zMnpNMCAzODRMMCAyNzJjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDgwIDQ0OCAwIDAtODBjMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OGwwIDExMmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0NDhjLTM1LjMgMC02NC0yOC43LTY0LTY0eiJdfSxsWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1sb2NrIixpY29uOls1NzYsNTEyLFtdLCJlNTY3IiwiTTI1NiAzMmwtNzYuMyAwYy0yOS40IDAtNTUuMSAyMC4xLTYyLjEgNDguNkwzMy40IDQyMC41QzI1LjkgNDUwLjcgNDguOCA0ODAgODAgNDgwbDE3NS45IDAgMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMiA2LjEgMCAxMS44IDEuNyAxNi43IDQuNyAyLjgtMjMuOSAxNC4zLTQ1LjEgMzEuNC02MC4zbDAtMjQuNGMwLTcwLjcgNTcuMy0xMjggMTI4LTEyOCA2LjIgMCAxMi40IC40IDE4LjQgMS4zTDQ1OC41IDgwLjZDNDUxLjQgNTIuMSA0MjUuOCAzMiAzOTYuMyAzMmwtNzYuNCAwIDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NHptNjQgMTkybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyem0xNzYgODAuMWwwIDQ3LjktNjQgMCAwLTQ3LjljMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnpNMzUyIDQwMGwwIDk2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDEyOCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTZjMC0yMC45LTEzLjQtMzguNy0zMi00NS4zbDAtNTAuNmMwLTQ0LjItMzUuOC04MC04MC04MHMtODAgMzUuOC04MCA4MGwwIDUwLjZjLTE4LjYgNi42LTMyIDI0LjQtMzIgNDUuM3oiXX0sSDdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNjaXNzb3JzIixpY29uOls1MTIsNTEyLFs5OTg0LDk5ODYsOTk4OCwiY3V0Il0sImYwYzQiLCJNMTkyIDI1NmwtMzkuNSAzOS41Yy0xMi42LTQuOS0yNi4yLTcuNS00MC41LTcuNS02MS45IDAtMTEyIDUwLjEtMTEyIDExMnM1MC4xIDExMiAxMTIgMTEyIDExMi01MC4xIDExMi0xMTJjMC0xNC4zLTIuNy0yNy45LTcuNS00MC41TDQ5OS4yIDc2LjhjNy4xLTcuMSA3LjEtMTguNSAwLTI1LjYtMjguMy0yOC4zLTc0LjEtMjguMy0xMDIuNCAwTDI1NiAxOTIgMjE2LjUgMTUyLjVjNC45LTEyLjYgNy41LTI2LjIgNy41LTQwLjUgMC02MS45LTUwLjEtMTEyLTExMi0xMTJTMCA1MC4xIDAgMTEyIDUwLjEgMjI0IDExMiAyMjRjMTQuMyAwIDI3LjktMi43IDQwLjUtNy41TDE5MiAyNTZ6bTk3LjkgOTcuOUwzOTYuOCA0NjAuOGMyOC4zIDI4LjMgNzQuMSAyOC4zIDEwMi40IDAgNy4xLTcuMSA3LjEtMTguNSAwLTI1LjZsLTE0NS4zLTE0NS4zLTY0IDY0ek02NCAxMTJhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHptNDggMjQwYTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnoiXX0sY1p0PUg3ZSxCdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVnIixpY29uOls1NzYsNTEyLFtdLCJmMTg4IiwiTTE5MiA5NmMwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2bDAgMy42YzAgMTUuNy0xMi43IDI4LjQtMjguNCAyOC40bC0xMzUuMSAwYy0xNS43IDAtMjguNC0xMi43LTI4LjQtMjguNGwwLTMuNnptMzQ1LjYgMTIuOGMxMC42IDE0LjEgNy43IDM0LjItNi40IDQ0LjhsLTk3LjggNzMuM2M1LjMgOC45IDkuMyAxOC43IDExLjggMjkuMWw5OC44IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDAgMCAzMmMwIDIuNi0uMSA1LjMtLjIgNy45bDgzLjQgNjIuNWMxNC4xIDEwLjYgMTcgMzAuNyA2LjQgNDQuOHMtMzAuNyAxNy00NC44IDYuNGwtNjMuMS00Ny4zYy0yMy4yIDQ0LjItNjYuNSA3Ni4yLTExNy43IDgzLjlMMzEyIDI4MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDIzMC4yYy01MS4yLTcuNy05NC41LTM5LjctMTE3LjctODMuOUw4My4yIDQ3My42Yy0xNC4xIDEwLjYtMzQuMiA3LjctNDQuOC02LjRzLTcuNy0zNC4yIDYuNC00NC44bDgzLjQtNjIuNWMtLjEtMi42LS4yLTUuMi0uMi03LjlsMC0zMi05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDk4LjggMGMyLjUtMTAuNCA2LjUtMjAuMiAxMS44LTI5LjFMNDQuOCAxNTMuNmMtMTQuMS0xMC42LTE3LTMwLjctNi40LTQ0LjhzMzAuNy0xNyA0NC44LTYuNEwxOTIgMTg0YzEyLjMtNS4xIDI1LjgtOCA0MC04bDExMiAwYzE0LjIgMCAyNy43IDIuOCA0MCA4bDEwOC44LTgxLjZjMTQuMS0xMC42IDM0LjItNy43IDQ0LjggNi40eiJdfSxxN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctcmlnaHQtZnJvbS1icmFja2V0IixpY29uOls1MTIsNTEyLFsic2lnbi1vdXQiXSwiZjA4YiIsIk0xNjAgOTZjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMOTYgMzJDNDMgMzIgMCA3NSAwIDEyOEwwIDM4NGMwIDUzIDQzIDk2IDk2IDk2bDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDB6TTUwMi42IDI3OC42YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xMjgtMTI4Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0w0MDIuNyAyMjQgMTkyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyMTAuNyAwLTczLjQgNzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxMjgtMTI4eiJdfSxkWnQ9cTdlLHVadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLWhvbGRpbmctaGFuZCIsaWNvbjpbNTc2LDUxMixbXSwiZTRmNyIsIk00NjYuOCAxODYuNWw0Mi41LTQyLjUgMzQuNyAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJMMjIzLjYgMTZjLTI5IDAtNTcuMyA5LjMtODAuNyAyNi41TDE2LjMgMTM1LjhjLTE3LjggMTMuMS0yMS42IDM4LjEtOC41IDU1LjlzMzguMSAyMS42IDU1LjkgOC41TDE4My40IDExMiAyOTYgMTEyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC03MiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE1Mi4yIDBjMzMuOSAwIDY2LjUtMTMuNSA5MC41LTM3LjV6bS0zNTcuNSAxMzlMNjYuNyAzNjggMzIgMzY4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDY0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDMyMC41IDBjMjkgMCA1Ny4zLTkuMyA4MC43LTI2LjVsMTI2LjYtOTMuM2MxNy44LTEzLjEgMjEuNi0zOC4xIDguNS01NS45cy0zOC4xLTIxLjYtNTUuOS04LjVMMzkyLjYgNDAwIDI4MCA0MDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsNzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTUyLjIgMGMtMzMuOSAwLTY2LjUgMTMuNS05MC41IDM3LjV6Il19LHBadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdHJvb3B3YWZlbCIsaWNvbjpbNTEyLDUxMixbXSwiZjU1MSIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0zMTIuNiA2My43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMEwyNTYgOTcuNiAyMjIuMSA2My43Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDMzLjkgMzMuOS00NS4zIDQ1LjMtNTYuNi01Ni42Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42bDU2LjYgNTYuNi00NS4zIDQ1LjMtMzMuOS0zMy45Yy02LjItNi4yLTE2LjQtNi4yLTIyLjYgMHMtNi4yIDE2LjQgMCAyMi42TDk3LjYgMjU2IDYzLjcgMjg5LjljLTYuMiA2LjItNi4yIDE2LjQgMCAyMi42czE2LjQgNi4yIDIyLjYgMGwzMy45LTMzLjkgNDUuMyA0NS4zLTU2LjYgNTYuNmMtNi4yIDYuMi02LjIgMTYuNCAwIDIyLjZzMTYuNCA2LjIgMjIuNiAwbDU2LjYtNTYuNiA0NS4zIDQ1LjMtMzMuOSAzMy45Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzMuOS0zMy45IDMzLjkgMzMuOWM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTMzLjktMzMuOSA0NS4zLTQ1LjMgNTYuNiA1Ni42YzYuMiA2LjIgMTYuNCA2LjIgMjIuNiAwczYuMi0xNi40IDAtMjIuNmwtNTYuNi01Ni42IDQ1LjMtNDUuMyAzMy45IDMzLjljNi4yIDYuMiAxNi40IDYuMiAyMi42IDBzNi4yLTE2LjQgMC0yMi42bC0zMy45LTMzLjkgMzMuOS0zMy45YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBsLTMzLjkgMzMuOS00NS4zLTQ1LjMgNTYuNi01Ni42YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42cy0xNi40LTYuMi0yMi42IDBsLTU2LjYgNTYuNi00NS4zLTQ1LjMgMzMuOS0zMy45YzYuMi02LjIgNi4yLTE2LjQgMC0yMi42ek0xNDIuOSAyNTZsNDUuMy00NS4zIDQ1LjMgNDUuMy00NS4zIDQ1LjMtNDUuMy00NS4zem02Ny45IDY3LjlsNDUuMy00NS4zIDQ1LjMgNDUuMy00NS4zIDQ1LjMtNDUuMy00NS4zek0yNzguNiAyNTZsNDUuMy00NS4zIDQ1LjMgNDUuMy00NS4zIDQ1LjMtNDUuMy00NS4zem0yMi42LTY3LjlsLTQ1LjMgNDUuMy00NS4zLTQ1LjMgNDUuMy00NS4zIDQ1LjMgNDUuM3oiXX0sZlp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoaWxkIixpY29uOlszMjAsNTEyLFtdLCJmMWFlIiwiTTk2IDY0QTY0IDY0IDAgMSAxIDIyNCA2NCA2NCA2NCAwIDEgMSA5NiA2NHptNDggMzIwbDAgOTZjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJMODAgMjg3LjggNTkuMSAzMjFjLTkuNCAxNS0yOS4yIDE5LjQtNDQuMSAxMFMtNC41IDMwMS45IDQuOSAyODdsMzkuOS02My4zQzY5LjcgMTg0IDExMy4yIDE2MCAxNjAgMTYwczkwLjMgMjQgMTE1LjIgNjMuNkwzMTUuMSAyODdjOS40IDE1IDQuOSAzNC43LTEwIDQ0LjFzLTM0LjcgNC45LTQ0LjEtMTBMMjQwIDI4Ny44IDI0MCA0ODBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC05Ni0zMiAweiJdfSxoWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaWNlLWNyZWFtIixpY29uOlszODQsNTEyLFsxMjc4NDhdLCJmODEwIiwiTTMzNS4xIDE2MGMuNi01LjMgLjktMTAuNiAuOS0xNiAwLTc5LjUtNjQuNS0xNDQtMTQ0LTE0NFM0OCA2NC41IDQ4IDE0NGMwIDUuNCAuMyAxMC43IC45IDE2bC0uOSAwYy0yNi41IDAtNDggMjEuNS00OCA0OHMyMS41IDQ4IDQ4IDQ4bDI4OCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4bC0uOSAwek02NCAzMDRMMTY5LjIgNTI5LjVjNC4xIDguOCAxMyAxNC41IDIyLjggMTQuNXMxOC42LTUuNyAyMi44LTE0LjVMMzIwIDMwNCA2NCAzMDR6Il19LFY3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb21wdXRlci1tb3VzZSIsaWNvbjpbMzg0LDUxMixbMTI4NDMzLCJtb3VzZSJdLCJmOGNjIiwiTTAgMTkybDE2OCAwIDAtMTkyLTggMEM3MS42IDAgMCA3MS42IDAgMTYwbDAgMzJ6bTAgNDhMMCAzNTJjMCA4OC40IDcxLjYgMTYwIDE2MCAxNjBsNjQgMGM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MGwwLTExMi0zODQgMHptMzg0LTQ4bDAtMzJDMzg0IDcxLjYgMzEyLjQgMCAyMjQgMGwtOCAwIDAgMTkyIDE2OCAweiJdfSxtWnQ9VjdlLGdadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYXVjZXQiLGljb246WzUxMiw1MTIsW10sImUwMDUiLCJNMTkyIDY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMCAwIDY0IDE4LjcgMGM4LjUgMCAxNi42IDMuNCAyMi42IDkuNGwyMi42IDIyLjYgMzIgMGM4OC40IDAgMTYwIDcxLjYgMTYwIDE2MCAwIDE3LjctMTQuMyAzMi0zMiAzMmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzLTE0LjMtMzItMzItMzJsLTM2LjEgMGMtMjAuMiAyOS01My45IDQ4LTkxLjkgNDhzLTcxLjctMTktOTEuOS00OEwzMiAzNTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsOTYgMCAyMi42LTIyLjZjNi02IDE0LjEtOS40IDIyLjYtOS40bDE4LjcgMCAwLTY0LTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzc4LjMgNjQgOTYgNjRsOTYgMHoiXX0sYlp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImF3YXJkIixpY29uOls0NDgsNTEyLFtdLCJmNTU5IiwiTTI0NS45LTI1LjljLTEzLjQtOC4yLTMwLjMtOC4yLTQzLjcgMC0yNC40IDE0LjktMzkuNSAxOC45LTY4LjEgMTguMy0xNS43LS40LTMwLjMgOC4xLTM3LjkgMjEuOS0xMy43IDI1LjEtMjQuOCAzNi4yLTQ5LjkgNDkuOS0xMy44IDcuNS0yMi4yIDIyLjItMjEuOSAzNy45IC43IDI4LjYtMy40IDQzLjctMTguMyA2OC4xLTguMiAxMy40LTguMiAzMC4zIDAgNDMuNyAxNC45IDI0LjQgMTguOSAzOS41IDE4LjMgNjguMS0uNCAxNS43IDguMSAzMC4zIDIxLjkgMzcuOSAyMi4xIDEyLjEgMzMuMyAyMi4xIDQ1LjEgNDEuNUw0Mi43IDQ1OC41Yy01LjkgMTEuOS0xLjEgMjYuMyAxMC43IDMyLjJsODYgNDNjMTEuNSA1LjcgMjUuNSAxLjQgMzEuNy05LjhsNTIuOC05NS4xIDUyLjggOTUuMWM2LjIgMTEuMiAyMC4yIDE1LjYgMzEuNyA5LjhsODYtNDNjMTEuOS01LjkgMTYuNy0yMC4zIDEwLjctMzIuMmwtNDguNi05Ny4yYzExLjctMTkuNCAyMy0yOS40IDQ1LjEtNDEuNSAxMy44LTcuNSAyMi4yLTIyLjIgMjEuOS0zNy45LS43LTI4LjYgMy40LTQzLjcgMTguMy02OC4xIDguMi0xMy40IDguMi0zMC4zIDAtNDMuNy0xNC45LTI0LjQtMTguOS0zOS41LTE4LjMtNjguMSAuNC0xNS43LTguMS0zMC4zLTIxLjktMzcuOS0yNS4xLTEzLjctMzYuMi0yNC44LTQ5LjktNDkuOS03LjUtMTMuOC0yMi4yLTIyLjItMzcuOS0yMS45LTI4LjYgLjctNDMuNy0zLjQtNjguMS0xOC4zek0yMjQgOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6Il19LHZadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tZHJvd25pbmciLGljb246WzY0MCw1MTIsW10sImU1NDUiLCJNMjY0IDg4YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTMzLjkgNjUuNmMxNi44LTUuNiAzNC45IDMuNSA0MC41IDIwLjJsMTAuOSAzMi44YzkuNCAyOC4zIDMzLjIgNDkuNSA2Mi41IDU1LjYgNS42IDEuMiAxMS4zIDEuOCAxNy4xIDEuOGw4OCAwYzE3LjIgMCAzNC4zLTIuOCA1MC42LTguMmwxMTQuNC0zOC4xYzE2LjgtNS42IDM0LjkgMy41IDQwLjUgMjAuMnMtMy41IDM0LjktMjAuMiA0MC41TDQyMy43IDIyOC41Yy04LjQgMi44LTE3IDUuMS0yNS43IDYuOWwtMjYuNSA4OC4zYy02LjEgMy40LTEyLjEgNy4zLTE3LjkgMTEuNy0yMi4xIDE2LjYtMjkuMSAxNi42LTUxLjIgMC0yNi4yLTE5LjctNTYuOS0zMC4yLTg3LjgtMzEuM2wyMC4yLTY3LjJjLTUxLjUtMTAuNy05My41LTQ4LjEtMTEwLjItOThsLTEwLjktMzIuOGMtNS42LTE2LjggMy41LTM0LjkgMjAuMi00MC41ek00MDMuNCA0MTIuMUMzNzkuMSA0MzAuMyAzNTEuMSA0NDggMzIwIDQ0OHMtNTkuMS0xNy43LTgzLjQtMzUuOWMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDAtMjMuOCAxNy45LTU0LjEgMzUuNS04OC4xIDM1LjMtMjAuNC0uMS00MC43LTYuNy01OS44LTIxLjEtMTAuNi04LTEyLjctMjMtNC43LTMzLjZzMjMtMTIuNyAzMy42LTQuN2MxMS4zIDguNSAyMS42IDExLjQgMzEuMiAxMS41IDE3LjYgLjEgMzcuMy05LjQgNTguOS0yNS43IDM4LjQtMjkgOTAuNS0yOSAxMjkgMCAyNCAxOC4xIDQwLjcgMjYuMyA1NC41IDI2LjNzMzAuNS04LjIgNTQuNS0yNi4zYzM4LjQtMjkgOTAuNS0yOSAxMjkgMCAxNi45IDEyLjcgMzIuOSAyMS41IDQ3LjggMjQuNiAxMy43IDIuOCAyNy40IC45IDQyLjMtMTAuMyAxMC42LTggMjUuNi01LjkgMzMuNiA0LjdzNS45IDI1LjYtNC43IDMzLjZjLTI2LjQgMTkuOS01NC4yIDI0LjQtODAuNyAxOS4xLTI1LjMtNS4xLTQ4LjEtMTguOS02Ny4yLTMzLjMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDB6Il19LHhadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYW1lcmEtcm90YXRlIixpY29uOls1MTIsNTEyLFtdLCJlMGQ4IiwiTTEzOC43IDk2bDEwLjQtMzEuMkMxNTUuNiA0NS4yIDE3My45IDMyIDE5NC42IDMybDEyMi44IDBjMjAuNyAwIDM5IDEzLjIgNDUuNSAzMi44TDM3My4zIDk2IDQ0OCA5NmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI1NmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTYwYzAtMzUuMyAyOC43LTY0IDY0LTY0bDc0LjcgMHpNOTYgMzA1LjljMCAzLjkgMS40IDcuNyA0IDEwLjZsNDggNTRjNi40IDcuMiAxNy42IDcuMiAyMy45IDBsNDgtNTRjMi42LTIuOSA0LTYuNyA0LTEwLjZsMC0xLjljMC04LjgtNy4yLTE2LTE2LTE2bC0yNCAwYzAtMzkuOCAzMi4yLTcyIDcyLTcyIDQuNCAwIDguNyAuNCAxMi45IDEuMmwzNC45LTM5LjNjLTE0LjYtNi40LTMwLjgtOS45LTQ3LjgtOS45LTY2LjMgMC0xMjAgNTMuNy0xMjAgMTIwbC0yNCAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAxLjl6bTE5Ni00Ni41Yy0yLjYgMi45LTQgNi43LTQgMTAuNmwwIDEuOWMwIDguOCA3LjIgMTYgMTYgMTZsMjQgMGMwIDM5LjgtMzIuMiA3Mi03MiA3Mi00LjQgMC04LjctLjQtMTIuOS0xLjJsLTM0LjkgMzkuM2MxNC43IDYuNCAzMC44IDkuOSA0Ny44IDkuOSA2Ni4zIDAgMTIwLTUzLjcgMTIwLTEyMGwyNCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTEuOWMwLTMuOS0xLjQtNy43LTQtMTAuNmwtNDgtNTRjLTYuNC03LjItMTcuNi03LjItMjMuOSAwbC00OCA1NHoiXX0sajdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1oZWFydHMiLGljb246WzUxMiw1MTIsWzEyODUyNSwiZ3Jpbi1oZWFydHMiXSwiZjU4NCIsIk0yNTYgNTEyYzE0MS40IDAgMjU2LTExNC42IDI1Ni0yNTYgMC0yMy4zLTMuMS00NS45LTguOS02Ny4zIDUuNS0xMy41IDguOS0yOC40IDguOS00NC43IDAtNTMtNDMtOTYtOTYtOTZsLTIuOSAwYy0yLjUgMC01IC4xLTcuNCAuMy00Mi4xLTMwLjQtOTMuOC00OC4zLTE0OS43LTQ4LjNTMTQ4LjQgMTcuOSAxMDYuMyA0OC4zYy0yLjUtLjItNC45LS4zLTcuNC0uM0w5NiA0OGMtNTMgMC05NiA0My05NiA5NiAwIDE2LjMgMy41IDMxLjIgOC45IDQ0LjctNS44IDIxLjQtOC45IDQ0LTguOSA2Ny4zIDAgMTQxLjQgMTE0LjYgMjU2IDI1NiAyNTZ6TTM4Ni43IDMyNC45YzExLjktMy43IDIzLjkgNi4zIDE5LjYgMTguMS0yMi40IDYxLjMtODEuMyAxMDUuMS0xNTAuMyAxMDUuMVMxMjguMSA0MDQuMiAxMDUuNyAzNDIuOWMtNC4zLTExLjggNy43LTIxLjggMTkuNi0xOC4xIDM5LjIgMTIuMiA4My43IDE5LjEgMTMwLjcgMTkuMXM5MS41LTYuOSAxMzAuNy0xOS4xek0zMjIuOSA5NmMxMy41IDAgMjYuNSA1LjQgMzYgMTQuOWw5LjEgOS4xIDkuMS05LjFjOS41LTkuNSAyMi41LTE0LjkgMzYtMTQuOWwyLjkgMGMyNi41IDAgNDggMjEuNSA0OCA0OCAwIDUzLjQtNjYuOSA5NS43LTg5IDEwOC4yLTQuNCAyLjUtOS42IDIuNS0xNCAwLTIyLjEtMTIuNS04OS01NC44LTg5LTEwOC4yIDAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDIuOSAwem0tMTg4IDE0LjlsOS4xIDkuMSA5LjEtOS4xYzkuNS05LjUgMjIuNS0xNC45IDM2LTE0LjlsMi45IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCA1My40LTY2LjkgOTUuNy04OSAxMDguMi00LjQgMi41LTkuNiAyLjUtMTQgMC0yMi4xLTEyLjUtODktNTQuOC04OS0xMDguMiAwLTI2LjUgMjEuNS00OCA0OC00OGwyLjkgMGMxMy41IDAgMjYuNSA1LjQgMzYgMTQuOXoiXX0seVp0PWo3ZSx3WnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1mcmFnbWVudCIsaWNvbjpbMzg0LDUxMixbXSwiZTY5NyIsIk02NCAwQzI4LjcgMCAwIDI4LjcgMCA2NGwwIDI0MCAxMjggMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDEyOCAxMTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI3Ny41YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI1OC43IDE4LjdDMjQ2LjcgNi43IDIzMC41IDAgMjEzLjUgMEw2NCAwek0zMjUuNSAxNzZMMjMyIDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjA4IDU4LjUgMzI1LjUgMTc2ek0zMiAzNTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAweiJdfSxNWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLW1pbGl0YXJ5LXJpZmxlIixpY29uOls0NDgsNTEyLFtdLCJlNTRiIiwiTTEyOCAzOWMwLTEzIDEwLTIzLjggMjIuOS0yNC45TDMwMi43IDEuNEMzMTIgLjcgMzIwIDggMzIwIDE3LjRMMzIwIDQ4YzAgOC44LTcuMiAxNi0xNiAxNkwxNTMgNjRjLTEzLjggMC0yNS0xMS4yLTI1LTI1em0xNy42IDU3bDE1Ni44IDBjMSA1LjIgMS42IDEwLjUgMS42IDE2IDAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtNS41IC42LTEwLjggMS42LTE2em0yMjggMzY0LjNMMzIwIDM2OS43IDMyMCA0ODBjMCAxLjMtLjEgMi41LS4yIDMuOEwxNDUuNSAyMzQuOWMxNi42LTcuMSAzNC42LTEwLjkgNTMuMy0xMC45bDUwLjQgMGMxNS45IDAgMzEuMyAyLjggNDUuOCA3LjlMMzg5LjkgNjcuN2MtNy43LTQuNC0xMC4zLTE0LjItNS45LTIxLjlzMTQuMi0xMC4zIDIxLjktNS45bDI3LjcgMTZjNy43IDQuNCAxMC4zIDE0LjIgNS45IDIxLjlsLTU1LjUgOTYuMSAxLjYgLjljMTUuMyA4LjggMjAuNiAyOC40IDExLjcgNDMuN0wzNjAuNyAyODJjMiAyLjggMy45IDUuOCA1LjcgOC44bDc2LjEgMTI4LjhjMTEuMiAxOSA0LjkgNDMuNS0xNC4xIDU0LjhzLTQzLjUgNC45LTU0LjgtMTQuMXpNMjg4IDUxMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTEwLjMtNTMuNiA5MC42Yy0xMS4yIDE5LTM1LjggMjUuMy01NC44IDE0LjFTLTUuNyA0MzguNyA1LjYgNDE5LjdMODEuNyAyOTAuOGM5LjQtMTUuOCAyMS43LTI5LjMgMzYtNDBMMjk5LjEgNTEwYy0zLjUgMS4zLTcuMiAyLTExLjEgMnpNMjY0IDMyMGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6Il19LGtadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0b2dnbGUtb24iLGljb246WzU3Niw1MTIsW10sImYyMDUiLCJNMTkyIDY0Qzg2IDY0IDAgMTUwIDAgMjU2Uzg2IDQ0OCAxOTIgNDQ4bDE5MiAwYzEwNiAwIDE5Mi04NiAxOTItMTkyUzQ5MCA2NCAzODQgNjRMMTkyIDY0em0xOTIgOTZhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6Il19LFNadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsdW5ncy12aXJ1cyIsaWNvbjpbNTc2LDUxMixbXSwiZTA2NyIsIk0yODggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxNTEuM2M5LjYtNC44IDIwLjUtNy41IDMyLTcuNXMyMi40IDIuNyAzMiA3LjVMMzIwIDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMyek00NTAuMSA0NTFjOCAxOC4zIDguMSAzOS4yIC4yIDU3LjUgMTAuMiAyLjMgMjAuNiAzLjUgMzEuMiAzLjUgNTIuMiAwIDk0LjUtNDIuMyA5NC41LTk0LjVsMC02LjJjMC0xMTEuMS0zNi43LTIxOS0xMDQuNC0zMDdMNDI4LjkgNDguN2MtOC4xLTEwLjYtMjAuNy0xNi43LTM0LTE2LjctMjMuNyAwLTQyLjkgMTkuMi00Mi45IDQyLjlsMCAxMzkuOWMxLjIgMi4yIDIuMiA0LjYgMy4xIDYuOSAyNi40LTExLjYgNTguMy02LjYgNzkuOSAxNXMyNi42IDUzLjYgMTUgNzkuOUM0NzcgMzI3LjIgNDk2IDM1My4zIDQ5NiAzODMuOHMtMTkgNTYuNy00NS45IDY3LjF6TTIyMC45IDIyMS44Yy45LTIuNCAyLTQuNyAzLjEtNi45bDAtMTM4LjVjMC0yNC41LTE5LjktNDQuNC00NC40LTQ0LjQtMTIuNSAwLTI0LjQgNS4zLTMyLjggMTQuNWwtMjYuNCAyOUM0Mi45IDE2MC44IDAgMjcxLjggMCAzODdsMCAzMC41YzAgNTIuMiA0Mi4zIDk0LjUgOTQuNSA5NC41IDEwLjUgMCAyMS0xLjIgMzEuMi0zLjUtNy45LTE4LjMtNy44LTM5LjMgLjItNTcuNS0yNi45LTEwLjQtNDUuOS0zNi42LTQ1LjktNjcuMXMxOS01Ni43IDQ1LjktNjcuMWMtMTEuNi0yNi40LTYuNi01OC4zIDE1LTc5LjlzNTMuNi0yNi42IDc5LjktMTV6TTE1MiA0MDhjMjguOCAwIDQzLjIgMzQuOCAyMi45IDU1LjItOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwYzIwLjQtMjAuNCA1NS4yLTUuOSA1NS4yIDIyLjkgMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGMwLTI4LjggMzQuOC00My4yIDU1LjItMjIuOSA5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjljLTIwLjQtMjAuNC01LjktNTUuMiAyMi45LTU1LjIgMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRjLTI4LjggMC00My4yLTM0LjgtMjIuOS01NS4yIDkuNC05LjQgOS40LTI0LjYgMC0zMy45cy0yNC42LTkuNC0zMy45IDBjLTIwLjQgMjAuNC01NS4yIDUuOS01NS4yLTIyLjkgMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRjMCAyOC44LTM0LjggNDMuMi01NS4yIDIyLjktOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOWMyMC40IDIwLjQgNS45IDU1LjItMjIuOSA1NS4yLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjR6bTEwNC04MGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6bTQwIDg4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6Il19LGR0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZS10ZW5uaXMtcGFkZGxlLWJhbGwiLGljb246WzUxMiw1MTIsWzEyNzk1NSwicGluZy1wb25nLXBhZGRsZS1iYWxsIiwidGFibGUtdGVubmlzIl0sImY0NWQiLCJNOTcgMTI3bDY3LjQtNjcuNGMzOC4yLTM4LjIgOTAtNTkuNiAxNDQtNTkuNiAxMTIuNSAwIDIwMy43IDkxLjIgMjAzLjcgMjAzLjYgMCA0Ni40LTE1LjggOTEuMS00NC41IDEyNy0yMy42LTE2LjgtNTIuNC0yNi43LTgzLjUtMjYuNy0zMS4xIDAtNTkuOSA5LjktODMuNCAyNi42TDk3IDEyN3pNMjQwIDQ0OGMwIDkuNyAxIDE5LjEgMi44IDI4LjItMTkuOC01LjItMzgtMTUuNS01Mi43LTMwLjItMTIuMi0xMi4yLTMxLjktMTIuMi00NC4xIDBMOTYuNiA0OTUuNGMtMTAuNiAxMC42LTI1IDE2LjYtNDAgMTYuNi0zMS4yIDAtNTYuNi0yNS4zLTU2LjYtNTYuNiAwLTE1IDYtMjkuNCAxNi42LTQwbDQ5LjQtNDkuNGMxMi4yLTEyLjIgMTIuMi0zMS45IDAtNDQuMS0yMS43LTIxLjctMzMuOS01MS4yLTMzLjktODEuOSAwLTI5LjQgMTEuMS01Ny42IDMxLjEtNzlMMjY2LjYgMzY0LjZDMjQ5LjkgMzg4LjEgMjQwIDQxNi45IDI0MCA0NDh6bTE0NC05NmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnoiXX0selp0PWR0ZSxDWnQ9ZHRlLF9adD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3hlcy1wYWNraW5nIixpY29uOls1NzYsNTEyLFtdLCJlNGM3IiwiTTIwOCAwbDgwIDAgMCA1NmMwIDEzLjMgMTAuNyAyNCAyNCAyNGw4MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNTYgODAgMGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDQxNmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTA4LjggMGM4LjItMTQuMSAxMi44LTMwLjUgMTIuOC00OGwwLTE2MGMxMC0xMy40IDE2LTMwIDE2LTQ4bDAtMzJjMC00NC4yLTM1LjgtODAtODAtODBsLTE3NiAwIDAtOTZjMC0yNi41IDIxLjUtNDggNDgtNDh6TTMyIDMzNmwzMjAgMCAwIDEyOGMwIDI2LjUtMjEuNSA0OC00OCA0OEw4MCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTI4ek00OCAxOTJsMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkw0OCAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6Il19LFRadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tY2hhbGtib2FyZCIsaWNvbjpbNjQwLDUxMixbXSwiZTUzZCIsIk0xOTIgODBhNTYgNTYgMCAxIDAgMC0xMTIgNTYgNTYgMCAxIDAgMCAxMTJ6TTE3NiA1MTJsMC0xNjBjMC04LjggNy4yLTE2IDE2LTE2czE2IDcuMiAxNiAxNmwwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzM2IDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtNDggMTkyIDAgMCAxOTItMTkyIDAgMC0zMi02NCAwIDAgNDhjMCAyNi41IDIxLjUgNDggNDggNDhsMjI0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0yMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhMMzY4IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjQtMTIyLjcgMGMtNDUuNiAwLTg4LjUgMjEuNi0xMTUuNiA1OC4yTDE0LjMgMjYwLjljLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNkwxMTIgMjM2LjcgMTEyIDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyeiJdfSxMWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGljZS10d28iLGljb246WzQ0OCw1MTIsWzk4NTddLCJmNTI4IiwiTTAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDk2ek0zNTIgMzUyYTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTEyOCAxOTJhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxVN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctcmlnaHQtYXJyb3ctbGVmdCIsaWNvbjpbNTEyLDUxMixbODY0NCwiZXhjaGFuZ2UiXSwiZjBlYyIsIk01MDIuNiAxNTAuNmwtOTYgOTZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zTDQwMi43IDE2MCAzMiAxNjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzE0LjMgOTYgMzIgOTZsMzcwLjcgMC00MS40LTQxLjRjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjN6bS0zOTcuMyAzNTJsLTk2LTk2Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2w5Ni05NmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zTDEwOS4zIDM1MiA0ODAgMzUyYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0zNzAuNyAwIDQxLjQgNDEuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMHoiXX0sJFp0PVU3ZSxXN2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9vdGJhbGwiLGljb246WzUxMiw1MTIsWzEyNzk0NCwiZm9vdGJhbGwtYmFsbCJdLCJmNDRlIiwiTTI2MS4xIDIyLjZjLTg5IDE4LTE1MC41IDYzLjQtMTkwIDEyMy45LTIzLjMgMzUuNi0zOC4xIDc1LjMtNDYuNyAxMTUuNUwyNTEuOSA0ODkuNGM4OS0xOCAxNTAuNS02My40IDE5MC4xLTEyMy45IDIzLjMtMzUuNiAzOC4xLTc1LjMgNDYuNy0xMTUuNUwyNjEuMSAyMi42em0yMzYgMTY4LjFjMy4yLTQyLjMgLjctODMuMy00LjgtMTE4LjctNC40LTI3LjgtMjYuOC00OC01My4xLTUxLjYtNDMtNS45LTgyLjItNy41LTExNy44LTUuNEw0OTcuMSAxOTAuNnpNMTkxLjcgNDk3LjFMMTUuOSAzMjEuNGMtMy4yIDQyLjMtLjcgODMuMyA0LjggMTE4LjcgNC40IDI3LjggMjYuOCA0OCA1My4xIDUxLjYgNDMgNS45IDgyLjIgNy41IDExNy44IDUuNHpNMjcxLjUgMTQzYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDY0IDY0YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXptLTY0IDY0YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDY0IDY0YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXptLTY0IDY0YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDY0IDY0YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTY0LTY0Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXoiXX0sRFp0PVc3ZSxBWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJ1Y2stbW9uc3RlciIsaWNvbjpbNTc2LDUxMixbXSwiZjYzYiIsIk0zMzYgOTZsNDggNjQtMTI4IDAgMC02NCA4MCAwem0xMjggNjRMMzg3LjIgNTcuNkMzNzUuMSA0MS41IDM1Ni4xIDMyIDMzNiAzMkwyMjQgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTYtMTQ0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgNjRjMCAxOC4xIDEwLjEgMzMuOSAyNC45IDQyLjEtLjUgNS43IDEuMSAxMS42IDQuNyAxNi40LTMuNyA2LjktNi44IDE0LjEtOSAyMS44LTExLjYgMS43LTIwLjYgMTEuNy0yMC42IDIzLjhsMCAxNmMwIDEyLjEgOC45IDIyLjEgMjAuNiAyMy44IDIuMiA3LjYgNS4zIDE0LjkgOSAyMS44LTcgOS40LTYuMyAyMi44IDIuMyAzMS4zbDExLjMgMTEuM2M4LjYgOC42IDIxLjkgOS4zIDMxLjMgMi4yIDYuOCAzLjcgMTQuMSA2LjggMjEuNyA5IDEuNyAxMS42IDExLjcgMjAuNiAyMy44IDIwLjZsMTYgMGMxMi4xIDAgMjIuMS04LjkgMjMuOC0yMC42IDcuNi0yLjIgMTQuOS01LjMgMjEuNy05IDkuNCA3IDIyLjggNi4zIDMxLjMtMi4ybDExLjMtMTEuM2M4LjYtOC42IDkuMy0yMS45IDIuMy0zMS4zIDMuNy02LjggNi44LTE0LjEgOS0yMS43IDExLjYtMS43IDIwLjYtMTEuNyAyMC42LTIzLjhsMC0xNmMwLTEyLjEtOC45LTIyLjEtMjAuNi0yMy44LTIuMi03LjYtNS4zLTE0LjktOS0yMS43IDIuNC0zLjIgMy45LTYuOCA0LjUtMTAuNWwxMTQuMiAwYy42IDMuNyAyLjEgNy4zIDQuNSAxMC41LTMuNyA2LjktNi44IDE0LjEtOSAyMS44LTExLjYgMS43LTIwLjYgMTEuNy0yMC42IDIzLjhsMCAxNmMwIDEyLjEgOC45IDIyLjEgMjAuNiAyMy44IDIuMiA3LjYgNS4zIDE0LjkgOSAyMS44LTcgOS40LTYuMyAyMi44IDIuMiAzMS4zbDExLjMgMTEuM2M4LjUgOC42IDIxLjkgOS4zIDMxLjMgMi4yIDYuOCAzLjcgMTQuMSA2LjggMjEuNyA5IDEuNyAxMS42IDExLjcgMjAuNiAyMy44IDIwLjZsMTYgMGMxMi4xIDAgMjIuMS04LjkgMjMuOC0yMC42IDcuNi0yLjIgMTQuOS01LjMgMjEuOC05IDkuNCA3IDIyLjggNi4zIDMxLjMtMi4ybDExLjMtMTEuM2M4LjYtOC42IDkuMy0yMS45IDIuMi0zMS4zIDMuNy02LjggNi44LTE0LjEgOS0yMS43IDExLjYtMS43IDIwLjYtMTEuNyAyMC42LTIzLjhsMC0xNmMwLTEyLjEtOC45LTIyLjEtMjAuNi0yMy44LTIuMi03LjYtNS4zLTE0LjktOS0yMS43IDMuNi00LjggNS4yLTEwLjcgNC43LTE2LjQgMTQuOC04LjIgMjQuOS0yMy45IDI0LjktNDIuMWwwLTY0YzAtMjYuNS0yMS41LTQ4LTQ4LTQ4bC02NCAwek0xMjggMzM2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnptMjcyIDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6Il19LEVadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhc3RlcmlzayIsaWNvbjpbNDQ4LDUxMixbMTAwMzMsNjE1NDVdLCIyYSIsIk0yMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2OC42IDE0NC04My4xYzE1LjMtOC44IDM0LjktMy42IDQzLjcgMTEuN3MzLjYgMzQuOS0xMS43IDQzLjdMMjg4IDI1NiA0MzIgMzM5LjFjMTUuMyA4LjggMjAuNiAyOC40IDExLjcgNDMuN3MtMjguNCAyMC42LTQzLjcgMTEuN0wyNTYgMzExLjQgMjU2IDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE2OC42LTE0NCA4My4xYy0xNS4zIDguOC0zNC45IDMuNi00My43LTExLjdTLjcgMzQ4IDE2IDMzOS4xTDE2MCAyNTYgMTYgMTcyLjlDLjcgMTY0LTQuNSAxNDQuNSA0LjMgMTI5LjFTMzIuNyAxMDguNiA0OCAxMTcuNEwxOTIgMjAwLjYgMTkyIDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSx1dGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmF0dGVyeS1mdWxsIixpY29uOls2NDAsNTEyLFsxMjgyNjcsImJhdHRlcnkiLCJiYXR0ZXJ5LTUiXSwiZjI0MCIsIk01MjggMTI4YzguOCAwIDE2IDcuMiAxNiAxNmwwIDIyNGMwIDguOC03LjIgMTYtMTYgMTZsLTQxNiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0yMjRjMC04LjggNy4yLTE2IDE2LTE2bDQxNiAwek0xMTIgNjRjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMjI0YzAgNDQuMiAzNS44IDgwIDgwIDgwbDQxNiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDAtNDhjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwwLTQ4YzAtNDQuMi0zNS44LTgwLTgwLTgwTDExMiA2NHptNTYgMTEyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDExMmMwIDEzLjMgMTAuNyAyNCAyNCAyNGwzMDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtMzA0IDB6Il19LFBadD11dGUsSVp0PXV0ZSxOWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hpbGQtZHJlc3MiLGljb246WzMyMCw1MTIsW10sImU1OWMiLCJNMjI0IDY0QTY0IDY0IDAgMSAwIDk2IDY0IDY0IDY0IDAgMSAwIDIyNCA2NHpNODggNDAwbDAgODBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTgwIDE2IDAgMCA4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtODAgMTcuOCAwYzEwLjkgMCAxOC42LTEwLjcgMTUuMi0yMS4xbC0zMS4xLTkzLjQgMjguNyAzNy44YzEwLjcgMTQuMSAzMC44IDE2LjggNDQuOCA2LjJzMTYuOC0zMC43IDYuMi00NC44TDI1NC42IDIwN2MtMjIuNC0yOS42LTU3LjUtNDctOTQuNi00N3MtNzIuMiAxNy40LTk0LjYgNDdMNi41IDI4NC43Yy0xMC43IDE0LjEtNy45IDM0LjIgNi4yIDQ0LjhzMzQuMiA3LjkgNDQuOC02LjJMODYuMiAyODUuNSA1NSAzNzguOUM1MS42IDM4OS4zIDU5LjMgNDAwIDcwLjIgNDAwTDg4IDQwMHoiXX0sRzdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Uta2lzcy1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MzcsImtpc3MtYmVhbSJdLCJmNTk3IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yNDAgMjg4bDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDggMCAxMi4zLTQuNiAyMy41LTEyLjIgMzIgNy42IDguNSAxMi4yIDE5LjcgMTIuMiAzMiAwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2czcuMi0xNiAxNi0xNmwxNiAwYzguOCAwIDE2LTcuMiAxNi0xNnMtNy4yLTE2LTE2LTE2bC0xNiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZ6TTE3NiAxODBjLTE1LjUgMC0yOCAxMi41LTI4IDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjh6bTEzMiAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4cy0yOCAxMi41LTI4IDI4eiJdfSxSWnQ9RzdlLFk3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFzaC1jYW4tYXJyb3ctdXAiLGljb246WzQ0OCw1MTIsWyJ0cmFzaC1yZXN0b3JlLWFsdCJdLCJmODJhIiwiTTE2Ny4xLTE2bDExMy45IDBjMTMuOCAwIDI2IDguOCAzMC40IDIxLjlMMzIwIDMyIDQxNiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0UzE0LjMgMzIgMzIgMzJsOTYgMCA4LjctMjYuMUMxNDEuMS03LjIgMTUzLjMtMTYgMTY3LjEtMTZ6TTMyIDE0NGwzODQgMCAwIDMwNGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzA0em0yMDkgNzljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC03MiA3MmMtOS40IDkuNC05LjQgMjQuNiAwIDMzLjlzMjQuNiA5LjQgMzMuOSAwbDMxLTMxIDAgMTAyLjFjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTEwMi4xIDMxIDMxYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtNzItNzJ6Il19LE9adD1ZN2UsRlp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvbnQiLGljb246WzUxMiw1MTIsW10sImYwMzEiLCJNMjg1LjEgNTAuN0MyNzkuOSAzOS4zIDI2OC41IDMyIDI1NiAzMnMtMjMuOSA3LjMtMjkuMSAxOC43TDU5LjUgNDE2IDQ4IDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02LjEgMCAyMi00OCAyMDguMyAwIDIyIDQ4LTYuMSAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTExLjUgMC0xNjcuNC0zNjUuM3pNMzMwLjggMzA0TDE4MS4yIDMwNCAyNTYgMTQwLjggMzMwLjggMzA0eiJdfSxCWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9yZS1ob2xlIixpY29uOls1MTIsNTEyLFtdLCJlNGMzIiwiTTI1NiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDIzMi42Yy0xOS4xIDExLjEtMzIgMzEuNy0zMiA1NS40IDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjRjMC0yMy43LTEyLjktNDQuNC0zMi01NS40TDI4OCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMnpNMCAzODRsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzODQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTI3MmMwLTI2LjUtMjEuNS00OC00OC00OGwtNDggMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxNDRjMCA2MS45LTUwLjEgMTEyLTExMiAxMTJTMTQ0IDM4MS45IDE0NCAzMjBsMC0xNDRjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTQ4IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4TDAgMzg0eiJdfSxIWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidmlydXMtY292aWQiLGljb246WzUxMiw1MTIsW10sImU0YTgiLCJNMTkyIDI0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDAgMCAzMy42YzMwLjcgNC4yIDU4LjggMTYuMyA4Mi4zIDM0LjFMMzg2LjEgOTIgMzc0LjggODAuNmMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDU2LjYgNTYuNmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC0xMS4zLTExLjMtMjMuOCAyMy44YzE3LjkgMjMuNSAyOS45IDUxLjcgMzQuMSA4Mi4zbDMzLjYgMCAwLTE2YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA4MGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE2LTMzLjYgMGMtNC4yIDMwLjctMTYuMyA1OC44LTM0LjEgODIuM2wyMy44IDIzLjggMTEuMy0xMS4zYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtNTYuNiA1Ni42Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45bDExLjMtMTEuMy0yMy44LTIzLjhjLTIzLjUgMTcuOS01MS43IDI5LjktODIuMyAzNC4xbDAgMzMuNiAxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04MCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDE2IDAgMC0zMy42Yy0zMC43LTQuMi01OC44LTE2LjMtODIuMy0zNC4xbC0yMy44IDIzLjggMTEuMyAxMS4zYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBMNDYuNyA0MDguN2MtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwbDExLjMgMTEuMyAyMy44LTIzLjhDOTcuOSAzMzguOCA4NS44IDMxMC43IDgxLjYgMjgwbC0zMy42IDAgMCAxNmMwIDEzLjMtMTAuNyAyNC0yNCAyNFMwIDMwOS4zIDAgMjk2bDAtODBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDE2IDMzLjYgMGM0LjItMzAuNyAxNi4zLTU4LjggMzQuMS04Mi4zTDkyIDEyNS45IDgwLjYgMTM3LjJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsNTYuNi01Ni42YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOUwxMjUuOSA5MiAxNDkuNyAxMTUuN2MyMy41LTE3LjkgNTEuNy0yOS45IDgyLjMtMzQuMWwwLTMzLjYtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTMyIDIwMGEzMiAzMiAwIDEgMCAtNjQgMCAzMiAzMiAwIDEgMCA2NCAwem05NiA5NmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LHFadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXBkZiIsaWNvbjpbNTc2LDUxMixbXSwiZjFjMSIsIk05NiAwQzYwLjcgMCAzMiAyOC43IDMyIDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDgwIDAgMC0xMTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsMTc2IDAgMC0xNjUuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnpNMjQwIDM4MGMtMTEgMC0yMCA5LTIwIDIwbDAgMTI4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtMjggMTIgMGMzMy4xIDAgNjAtMjYuOSA2MC02MHMtMjYuOS02MC02MC02MGwtMzIgMHptMzIgODBsLTEyIDAgMC00MCAxMiAwYzExIDAgMjAgOSAyMCAyMHMtOSAyMC0yMCAyMHptOTYtODBjLTExIDAtMjAgOS0yMCAyMGwwIDEyOGMwIDExIDkgMjAgMjAgMjBsMzIgMGMyOC43IDAgNTItMjMuMyA1Mi01MmwwLTY0YzAtMjguNy0yMy4zLTUyLTUyLTUybC0zMiAwem0yMCAxMjhsMC04OCAxMiAwYzYuNiAwIDEyIDUuNCAxMiAxMmwwIDY0YzAgNi42LTUuNCAxMi0xMiAxMmwtMTIgMHptODgtMTA4bDAgMTI4YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtNDQgMjggMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTI4IDAgMC0yNCAyOCAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtNDggMGMtMTEgMC0yMCA5LTIwIDIweiJdfSxWWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFuZ3VhZ2UiLGljb246WzU3Niw1MTIsW10sImYxYWIiLCJNMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMiAxMjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOS42IDAtOC40IDIzLjFjLTE2LjQgNDUuMi00MS4xIDg2LjUtNzIuMiAxMjIgMTQuMiA4LjggMjkgMTYuNiA0NC40IDIzLjVsNTAuNCAyMi40IDYyLjItMTQwYzUuMS0xMS42IDE2LjYtMTkgMjkuMi0xOXMyNC4xIDcuNCAyOS4yIDE5bDEyOCAyODhjNy4yIDE2LjItLjEgMzUuMS0xNi4yIDQyLjJzLTM1LjEtLjEtNDIuMi0xNi4ybC0yMC00NS0xNTcuNSAwLTIwIDQ1Yy03LjIgMTYuMi0yNi4xIDIzLjQtNDIuMiAxNi4ycy0yMy40LTI2LjEtMTYuMi00Mi4ybDM5LjgtODkuNS01MC40LTIyLjRjLTIzLTEwLjItNDUtMjIuNC02NS44LTM2LjQtMjEuMyAxNy4yLTQ0LjYgMzIuMi02OS41IDQ0LjdMNzguMyAzODAuNmMtMTUuOCA3LjktMzUgMS41LTQyLjktMTQuM3MtMS41LTM1IDE0LjMtNDIuOWwzNC41LTE3LjNjMTYuMy04LjIgMzEuOC0xNy43IDQ2LjQtMjguMy0xMy44LTEyLjctMjYuOC0yNi40LTM4LjktNDAuOUw4MS42IDIyNC43Yy0xMS4zLTEzLjYtOS41LTMzLjggNC4xLTQ1LjFzMzMuOC05LjUgNDUuMSA0LjFsMTAuMiAxMi4yYzExLjUgMTMuOSAyNC4xIDI2LjggMzcuNCAzOC43IDI3LjUtMzAuNCA0OS4yLTY2LjEgNjMuNS0xMDUuNGwuNS0xLjItMjEwLjMgMEMxNC4zIDEyOCAwIDExMy43IDAgOTZTMTQuMyA2NCAzMiA2NGw5NiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTQxNiAyNzAuOEwzNjUuNyAzODQgNDY2LjMgMzg0IDQxNiAyNzAuOHoiXX0sSzdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNoaWVsZC1oYWx2ZWQiLGljb246WzUxMiw1MTIsWyJzaGllbGQtYWx0Il0sImYzZWQiLCJNMjU2IDBjNC42IDAgOS4yIDEgMTMuNCAyLjlMNDU3LjggODIuOGMyMiA5LjMgMzguNCAzMSAzOC4zIDU3LjItLjUgOTkuMi00MS4zIDI4MC43LTIxMy42IDM2My4yLTE2LjcgOC0zNi4xIDgtNTIuOCAwLTE3Mi40LTgyLjUtMjEzLjEtMjY0LTIxMy42LTM2My4yLS4xLTI2LjIgMTYuMy00Ny45IDM4LjMtNTcuMkwyNDIuNyAyLjlDMjQ2LjkgMSAyNTEuNCAwIDI1NiAwem0wIDY2LjhsMCAzNzguMWMxMzgtNjYuOCAxNzUuMS0yMTQuOCAxNzYtMzAzLjRsLTE3Ni03NC42IDAgMHoiXX0salp0PUs3ZSxVWnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyZXQtdXAiLGljb246WzMyMCw1MTIsW10sImYwZDgiLCJNMTQwLjMgMTM1LjJjMTIuNi0xMC4zIDMxLjEtOS41IDQyLjggMi4ybDEyOCAxMjhjOS4yIDkuMiAxMS45IDIyLjkgNi45IDM0LjlTMzAxLjQgMzIwIDI4OC41IDMyMGwtMjU2IDBjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhTLjcgMjc0LjUgOS45IDI2NS40bDEyOC0xMjggMi40LTIuMnoiXX0sWjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtcGVuIixpY29uOls2NDAsNTEyLFsxMjgyMjEsImZpbGUtZWRpdCJdLCJmMzFjIiwiTTEyOC4xIDBjLTM1LjMgMC02NCAyOC43LTY0IDY0bDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE0Ni4yIDAgMTAuOS01NC41YzQuMy0yMS43IDE1LTQxLjYgMzAuNi01Ny4ybDEzMi4yLTEzMi4yIDAtOTcuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wzMjIuOCAxOC43QzMxMC44IDYuNyAyOTQuNSAwIDI3Ny42IDBMMTI4LjEgMHpNMzg5LjYgMTc2bC05My41IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtOTMuNSAxMTcuNSAxMTcuNXpNMzMyLjMgNDY2LjlsLTExLjkgNTkuNmMtLjIgLjktLjMgMS45LS4zIDIuOSAwIDggNi41IDE0LjYgMTQuNiAxNC42IDEgMCAxLjktLjEgMi45LS4zbDU5LjYtMTEuOWMxMi40LTIuNSAyMy44LTguNiAzMi43LTE3LjVsMTE4LjktMTE4LjktODAtODAtMTE4LjkgMTE4LjljLTguOSA4LjktMTUgMjAuMy0xNy41IDMyLjd6bTI2Ny44LTEyM2MyMi4xLTIyLjEgMjIuMS01Ny45IDAtODBzLTU3LjktMjIuMS04MCAwbC0yOC44IDI4LjggODAgODAgMjguOC0yOC44eiJdfSxXWnQ9WjdlLFg3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tYmlraW5nIixpY29uOls1NzYsNTEyLFsxMjg2OTIsImJpa2luZyJdLCJmODRhIiwiTTM2OCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTI3LjIgNjRsLTYxLjgtNDguOGMtMTcuMy0xMy42LTQxLjctMTMuOC01OS4xLS4zbC04My4xIDY0LjJjLTMwLjcgMjMuOC0yOC41IDcwLjggNC4zIDkxLjZMMjU2IDMwNS4xIDI1NiA0MTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOGMwLTEwLjctNS4zLTIwLjctMTQuMi0yNi42TDI2MyAyMzIuOSAzMjMuMyAxODQuNCAzNjQgMjE3YzUuNyA0LjUgMTIuNyA3IDIwIDdsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNTIuOCAwek0xMTIgNTEyYTExMiAxMTIgMCAxIDAgMC0yMjQgMTEyIDExMiAwIDEgMCAwIDIyNHptMzUyIDBhMTEyIDExMiAwIDEgMCAwLTIyNCAxMTIgMTEyIDAgMSAwIDAgMjI0eiJdfSxHWnQ9WDdlLFE3ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLW9wZW4tcmVhZGVyIixpY29uOls1MTIsNTEyLFsiYm9vay1yZWFkZXIiXSwiZjVkYSIsIk0yNTYgMTUyYTg4IDg4IDAgMSAwIDAtMTc2IDg4IDg4IDAgMSAwIDAgMTc2em0wIDI5OC43bDAtMTQ5LjNjMTYuMy02LjggMzIuOS0xMy43IDQ5LjctMjAuNyAzOS0xNi4yIDgwLjgtMjQuNiAxMjMuMS0yNC42bDE5LjIgMCAwIDE2MC0xOS4yIDBjLTU5LjEgMC0xMTcuNyAxMS43LTE3Mi4zIDM0LjVsLS41IC4yek0yNTYgMjMybC0yNS4xLTEwLjVDMTg0LjEgMjAyIDEzMy45IDE5MiA4My4yIDE5Mkw0OCAxOTJjLTI2LjUgMC00OCAyMS41LTQ4IDQ4TDAgNDMyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDM1LjIgMGM1MC43IDAgMTAwLjkgMTAgMTQ3LjcgMjkuNWwxMi44IDUuM2M3LjkgMy4zIDE2LjcgMy4zIDI0LjYgMGwxMi44LTUuM2M0Ni44LTE5LjUgOTctMjkuNSAxNDcuNy0yOS41bDM1LjIgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE5MmMwLTI2LjUtMjEuNS00OC00OC00OGwtMzUuMiAwYy01MC43IDAtMTAwLjkgMTAtMTQ3LjcgMjkuNUwyNTYgMjMyeiJdfSxZWnQ9UTdlLEtadD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnbGFzcy13YXRlci1kcm9wbGV0IixpY29uOlszODQsNTEyLFtdLCJlNGY1IiwiTTMyIDBDMjMuMSAwIDE0LjYgMy43IDguNiAxMC4yUy0uNiAyNS40IC4xIDM0LjNMMjguOSA0MzcuN2MzIDQxLjkgMzcuOCA3NC4zIDc5LjggNzQuM2wxNjYuNiAwYzQyIDAgNzYuOC0zMi40IDc5LjgtNzQuM0wzODMuOSAzNC4zYy42LTguOS0yLjQtMTcuNi04LjUtMjQuMVMzNjAuOSAwIDM1MiAwTDMyIDB6TTgzIDI5Ny41TDY2LjQgNjQgMzE3LjYgNjQgMzAxIDI5Ny41IDI4OCAzMDRjLTIwLjEgMTAuMS00My45IDEwLjEtNjQgMHMtNDMuOS0xMC4xLTY0IDAtNDMuOSAxMC4xLTY0IDBsLTEzLTYuNXpNMjU2IDE5NmMwLTI0LTMzLjctNzAuMS01Mi4yLTkzLjUtNi4xLTcuNy0xNy41LTcuNy0yMy42IDAtMTguNSAyMy40LTUyLjIgNjkuNS01Mi4yIDkzLjUgMCAzMy4xIDI4LjcgNjAgNjQgNjBzNjQtMjYuOSA2NC02MHoiXX0sSjdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvd2VyLWJyb2FkY2FzdCIsaWNvbjpbNTc2LDUxMixbImJyb2FkY2FzdC10b3dlciJdLCJmNTE5IiwiTTg3LjkgMTEuNWMtMTEuMy02LjktMjYuMS0zLjItMzMgOC4xLTI0LjggNDEtMzkgODkuMS0zOSAxNDAuNHMxNC4yIDk5LjQgMzkgMTQwLjRjNi45IDExLjMgMjEuNiAxNSAzMyA4LjFzMTUtMjEuNiA4LjEtMzNDNzUuNyAyNDEuOSA2NCAyMDIuMyA2NCAxNjBTNzUuNyA3OC4xIDk2LjEgNDQuNGM2LjktMTEuMyAzLjItMjYuMS04LjEtMzN6bTQwMC4xIDBjLTExLjMgNi45LTE1IDIxLjYtOC4xIDMzIDIwLjQgMzMuNyAzMi4xIDczLjMgMzIuMSAxMTUuNnMtMTEuNyA4MS45LTMyLjEgMTE1LjZjLTYuOSAxMS4zLTMuMiAyNi4xIDguMSAzM3MyNi4xIDMuMiAzMy04LjFjMjQuOC00MSAzOS04OS4xIDM5LTE0MC40UzU0NS44IDYwLjYgNTIxIDE5LjZjLTYuOS0xMS4zLTIxLjYtMTUtMzMtOC4xek0zMjAgMjE1LjRjMTkuMS0xMS4xIDMyLTMxLjcgMzItNTUuNCAwLTM1LjMtMjguNy02NC02NC02NHMtNjQgMjguNy02NCA2NGMwIDIzLjcgMTIuOSA0NC40IDMyIDU1LjRMMjU2IDQ4MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjY0LjZ6TTE4MC4yIDkxYzcuMi0xMS4yIDMuOS0yNi03LjItMzMuMnMtMjYtMy45LTMzLjIgNy4yYy0xNy42IDI3LjQtMjcuOCA2MC0yNy44IDk1czEwLjIgNjcuNiAyNy44IDk1YzcuMiAxMS4yIDIyIDE0LjQgMzMuMiA3LjJzMTQuNC0yMiA3LjItMzMuMmMtMTIuOC0xOS45LTIwLjItNDMuNi0yMC4yLTY5czcuNC00OS4xIDIwLjItNjl6TTQzNi4yIDY1Yy03LjItMTEuMi0yMi0xNC40LTMzLjItNy4ycy0xNC40IDIyLTcuMiAzMy4yYzEyLjggMTkuOSAyMC4yIDQzLjYgMjAuMiA2OXMtNy40IDQ5LjEtMjAuMiA2OWMtNy4yIDExLjItMy45IDI2IDcuMiAzMy4yczI2IDMuOSAzMy4yLTcuMmMxNy42LTI3LjQgMjcuOC02MCAyNy44LTk1cy0xMC4yLTY3LjYtMjcuOC05NXoiXX0sWlp0PUo3ZSxlOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWluaW1pemUiLGljb246WzUxMiw1MTIsWyJjb21wcmVzcy1hcnJvd3MtYWx0Il0sImY3OGMiLCJNNDU2IDIyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0bDAtMTQ0YzAtOS43IDUuOC0xOC41IDE0LjgtMjIuMlMzMjIuMSAzMi4yIDMyOSAzOWw0MCA0MCA3My40LTczLjRDNDQ2IDIgNDUwLjkgMCA0NTYgMHMxMCAyIDEzLjcgNS43bDM2LjcgMzYuN0M1MTAgNDYgNTEyIDUwLjkgNTEyIDU2cy0yIDEwLTUuNyAxMy43TDQzMyAxNDMgNDczIDE4M2M2LjkgNi45IDguOSAxNy4yIDUuMiAyNi4yUzQ2NS43IDIyNCA0NTYgMjI0em0wIDY0YzkuNyAwIDE4LjUgNS44IDIyLjIgMTQuOHMxLjcgMTkuMy01LjIgMjYuMmwtNDAgNDAgNzMuNCA3My40YzMuNiAzLjYgNS43IDguNSA1LjcgMTMuN3MtMiAxMC01LjcgMTMuN2wtMzYuNyAzNi43QzQ2NiA1MTAgNDYxLjEgNTEyIDQ1NiA1MTJzLTEwLTItMTMuNy01LjdMMzY5IDQzMyAzMjkgNDczYy02LjkgNi45LTE3LjIgOC45LTI2LjIgNS4yUzI4OCA0NjUuNyAyODggNDU2bDAtMTQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE0NCAwem0tMjU2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxNDRjMCA5LjctNS44IDE4LjUtMTQuOCAyMi4ycy0xOS4zIDEuNy0yNi4yLTUuMmwtNDAtNDAtNzMuNCA3My40QzY2IDUxMCA2MS4xIDUxMiA1NiA1MTJzLTEwLTItMTMuNy01LjdMNS43IDQ2OS43QzIgNDY2IDAgNDYxLjEgMCA0NTZzMi0xMCA1LjctMTMuN0w3OSAzNjkgMzkgMzI5Yy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yUzQ2LjMgMjg4IDU2IDI4OGwxNDQgMHpNNTYgMjI0Yy05LjcgMC0xOC41LTUuOC0yMi4yLTE0LjhTMzIuMiAxODkuOSAzOSAxODNMNzkgMTQzIDUuNyA2OS43QzIgNjYgMCA2MS4xIDAgNTZTMiA0NiA1LjcgNDIuM0w0Mi4zIDUuN0M0NiAyIDUwLjkgMCA1NiAwUzY2IDIgNjkuNyA1LjdMMTQzIDc5IDE4MyAzOWM2LjktNi45IDE3LjItOC45IDI2LjItNS4yUzIyNCA0Ni4zIDIyNCA1NmwwIDE0NGMwIDEzLjMtMTAuNyAyNC0yNCAyNEw1NiAyMjR6Il19LFhadD1lOWUsUVp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJpZ2h0LXRvLWNpdHkiLGljb246WzY0MCw1MTIsW10sImU0YjMiLCJNMjg4IDQ4YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA4MCA0OCAwIDAtNzJjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDcyIDE2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAyODhjMCAyNi41LTIxLjUgNDgtNDggNDhsLTI1NiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTQxNnptNjQgNjRsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYgODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNMzUyIDMwNGwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2em0xNzYtODBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMHpNNTEyIDMzNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTMyYzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2ek0xNTMgMTY3bDcyIDcyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC03MiA3MmMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMS0zMS0xMDIuMSAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEwMi4xIDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMHoiXX0sSlp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImxhcHRvcC1tZWRpY2FsIixpY29uOls2NDAsNTEyLFtdLCJmODEyIiwiTTY0IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjQwLTY0IDAgMC0yNDAtMzg0IDAgMCAyNDAtNjQgMCAwLTI0MHpNMCA0MDMuMkMwIDM5Mi42IDguNiAzODQgMTkuMiAzODRsNjAxLjYgMGMxMC42IDAgMTkuMiA4LjYgMTkuMiAxOS4yIDAgNDIuNC0zNC40IDc2LjgtNzYuOCA3Ni44TDc2LjggNDgwQzM0LjQgNDgwIDAgNDQ1LjYgMCA0MDMuMnpNMjg4IDE2MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCA0MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDAgMCAwIDQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MHoiXX0sZVh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyZWFkLXNsaWNlIixpY29uOls1MTIsNTEyLFtdLCJmN2VjIiwiTTY0IDQzMmwwLTE3NmMtMzUuMyAwLTY0LTI4LjctNjQtNjQgMC0yMTYuNSA1MTItMjE2LjUgNTEyIDAgMCAzNS4zLTI4LjcgNjQtNjQgNjRsMCAxNzZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTI4OCAwYy0yNi41IDAtNDgtMjEuNS00OC00OHoiXX0sdFh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imdsb2JlIixpY29uOls1MTIsNTEyLFsxMjc3NjBdLCJmMGFjIiwiTTM1MS45IDI4MGwtMTkwLjkgMGMyLjkgNjQuNSAxNy4yIDEyMy45IDM3LjUgMTY3LjQgMTEuNCAyNC41IDIzLjcgNDEuOCAzNS4xIDUyLjQgMTEuMiAxMC41IDE4LjkgMTIuMiAyMi45IDEyLjJzMTEuNy0xLjcgMjIuOS0xMi4yYzExLjQtMTAuNiAyMy43LTI4IDM1LjEtNTIuNCAyMC4zLTQzLjUgMzQuNi0xMDIuOSAzNy41LTE2Ny40ek0xNjAuOSAyMzJsMTkwLjkgMEMzNDkgMTY3LjUgMzM0LjcgMTA4LjEgMzE0LjQgNjQuNiAzMDMgNDAuMiAyOTAuNyAyMi44IDI3OS4zIDEyLjIgMjY4LjEgMS43IDI2MC40IDAgMjU2LjQgMHMtMTEuNyAxLjctMjIuOSAxMi4yYy0xMS40IDEwLjYtMjMuNyAyOC0zNS4xIDUyLjQtMjAuMyA0My41LTM0LjYgMTAyLjktMzcuNSAxNjcuNHptLTQ4IDBDMTE2LjQgMTQ2LjQgMTM4LjUgNjYuOSAxNzAuOCAxNC43IDc4LjcgNDcuMyAxMC45IDEzMS4yIDEuNSAyMzJsMTExLjQgMHpNMS41IDI4MGM5LjQgMTAwLjggNzcuMiAxODQuNyAxNjkuMyAyMTcuMy0zMi4zLTUyLjItNTQuNC0xMzEuNy01Ny45LTIxNy4zTDEuNSAyODB6bTM5OC40IDBjLTMuNSA4NS42LTI1LjYgMTY1LjEtNTcuOSAyMTcuMyA5Mi4xLTMyLjcgMTU5LjktMTE2LjUgMTY5LjMtMjE3LjNsLTExMS40IDB6bTExMS40LTQ4QzUwMS45IDEzMS4yIDQzNC4xIDQ3LjMgMzQyIDE0LjcgMzc0LjMgNjYuOSAzOTYuNCAxNDYuNCAzOTkuOSAyMzJsMTExLjQgMHoiXX0sYVh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZvbGRlci1taW51cyIsaWNvbjpbNTEyLDUxMixbXSwiZjY1ZCIsIk00NDggNDQ4TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwxMzguNyAwYzEzLjggMCAyNy4zIDQuNSAzOC40IDEyLjhsMzguNCAyOC44YzUuNSA0LjIgMTIuMyA2LjQgMTkuMiA2LjRMNDQ4IDgwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjQwYzAgMzUuMy0yOC43IDY0LTY0IDY0ek0xODQgMjQwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHoiXX0sclh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hc2stZmFjZSIsaWNvbjpbNjQwLDUxMixbXSwiZTFkNyIsIk0zMjAgNjRjLTI3LjIgMC01My44IDgtNzYuNCAyMy4xbC0zNy4xIDI0LjhjLTE1LjggMTAuNS0zNC4zIDE2LjEtNTMuMyAxNi4xTDY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA3OC43YzAgNjIuNiA0NS4yIDExNiAxMDcgMTI2LjNsOTcuOSAxNi4zYzMzIDIyIDcyLjYgMzQuNyAxMTUuMSAzNC43czgyLjItMTIuOCAxMTUuMS0zNC43TDUzMyAzOTYuOWM2MS43LTEwLjMgMTA3LTYzLjcgMTA3LTEyNi4zbDAtNzguN2MwLTM1LjMtMjguNy02NC02NC02NGwtODkuMiAwYy0xOSAwLTM3LjUtNS42LTUzLjMtMTYuMUwzOTYuNCA4Ny4xQzM3My44IDcyIDM0Ny4yIDY0IDMyMCA2NHpNMTM1LjkgMzM2LjlsLTE4LjQtMy4xQzg2LjYgMzI4LjcgNjQgMzAyIDY0IDI3MC43bDAtNzguNyA0OCAwIDAgNDhjMCAzNSA4LjYgNjcuOSAyMy45IDk2Ljl6bTM4Ni42LTMuMWwtMTguNCAzLjFDNTE5LjQgMzA3LjkgNTI4IDI3NSA1MjggMjQwbDAtNDggNDggMCAwIDc4LjdjMCAzMS4zLTIyLjYgNTgtNTMuNSA2My4xek0xOTIgMjMyYzAtMTMuMyAxMC43LTI0IDI0LTI0bDIwOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yMDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTU2IDU2bDE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHoiXX0sc1h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvbmciLGljb246WzUxMiw1MTIsW10sImY1NWMiLCJNNDQ4LjUgMzg0YzAgNDEuNS0xMy4xIDc5LjktMzUuNSAxMTEuMy03LjkgMTEuMS0yMS4yIDE2LjctMzQuOCAxNi43bC0yNDMuMyAwYy0xMy43IDAtMjYuOS01LjYtMzQuOC0xNi43LTIyLjQtMzEuNC0zNS41LTY5LjgtMzUuNS0xMTEuMyAwLTcxLjEgMzguNi0xMzMuMSA5Ni0xNjYuM2wwLTE1My43Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgMTUzLjdjMTQuMiA4LjIgMjcuMiAxOC4yIDM4LjggMjkuNmwzOS4zLTM5LjMtNy03Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBjMTYgMTYgMzIgMzIgNDggNDggOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGwtNy03LTQzLjMgNDMuM2MxNy4zIDI4LjkgMjcuMyA2Mi42IDI3LjMgOTguOHpNMjg4LjUgNjRsLTY0IDAgMCAxOTAuNi0zMiAxOC41Yy0xOS41IDExLjMtMzUuNyAyNy41LTQ2LjkgNDYuOWwyMjEuOCAwYy0xMS4yLTE5LjQtMjcuNC0zNS42LTQ2LjktNDYuOWwtMzItMTguNSAwLTE5MC42eiJdfSxpWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1icmlkZ2UiLGljb246WzU3Niw1MTIsW10sImU1NjMiLCJNMzIgMzJsMjA4IDAgMCA2NC0yNCAwIDAgNjQgMjQgMCAwIDEyOS4zYy00NS40IDcuNi04MCA0Ny4xLTgwIDk0LjdsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC05NGMwLTM4LjgtMjYuNC03Mi42LTY0LTgybDAtMTEyIDQwIDAgMC02NC04IDBDMTQuMyA5NiAwIDgxLjcgMCA2NFMxNC4zIDMyIDMyIDMyek04OCA5NmwwIDY0IDgwIDAgMC02NC04MCAwek0zMzYgMzJsNzIgMCAwIDcyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC03MiA3MiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzUyYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC03MiAwIDAtNzJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA3Mi03MiAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTM1MmMwLTI2LjUgMjEuNS00OCA0OC00OHptOTYgMTYwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDgwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC04MGMwLTEzLjMtMTAuNy0yNC0yNC0yNHoiXX0sdDllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXVwLTktMSIsaWNvbjpbNTEyLDUxMixbInNvcnQtbnVtZXJpYy11cC1hbHQiXSwiZjg4NyIsIk0xNTAuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgMTQxLjMgOTYgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDYuNyA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6TTM2NS4xIDIwNi42Yy05LjYgMTQuOC01LjQgMzQuNiA5LjQgNDQuM3MzNC42IDUuNCA0NC4zLTkuNGw0Mi4xLTY0LjljMTIuNC0xOS4yIDE5LjEtNDEuNiAxOS4xLTY0LjUgMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBjMCAzNi4xIDIzLjkgNjYuNyA1Ni44IDc2LjZsLTExLjcgMTh6TTM3NiAxMTJhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptNDIuNyAxODJjLTguMy02LTE5LjEtNy43LTI4LjgtNC40bC00OCAxNmMtMTYuOCA1LjYtMjUuOCAyMy43LTIwLjIgNDAuNXMyMy43IDI1LjggNDAuNSAyMC4ybDUuOS0yIDAgNTEuNi0xNiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE2IDAgMC05NmMwLTEwLjMtNC45LTE5LjktMTMuMy0yNnoiXX0sb1h0PXQ5ZSxuWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW91bnRhaW4tY2l0eSIsaWNvbjpbNjQwLDUxMixbXSwiZTUyZSIsIk0yNTYuMyA0OGMwLTI2LjUgMjEuNS00OCA0OC00OGw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNDggNDggMCAwLTcyYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA3MiAxNiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMzIwYzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC03Ny44IDBjNC0xNS40IDIuNC0zMi42LTYuNy00OC4yTDM1NC42IDI1NiAzNjguMyAyNTZjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy02LjEgMC0xMS40IDMuNC0xNC4xIDguNWwtNDIuNi03M2MtNi0xMC4yLTE0LjEtMTgtMjMuMy0yMy4zbDAtNTYuMnptNjQgNjRsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnptMTYwIDk2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZ6bTE2IDgwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDB6bS0yNzItNjQuN2wtNjUuMSAxMTEuNiAzMy4xIDMzLjEgNDgtNDggNDAuNCAwLTU2LjQtOTYuN3ptLTI3LjYtNDcuOWMxMi4zLTIxLjIgNDIuOS0yMS4yIDU1LjMgMEw0MjAuMyA0NjMuOWMxMi40IDIxLjMtMi45IDQ4LjEtMjcuNiA0OC4xTDU2IDUxMmMtMjQuNyAwLTQwLjEtMjYuOC0yNy42LTQ4LjFMMTk2LjcgMTc1LjR6Il19LHB0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1kb3duLTktMSIsaWNvbjpbNTEyLDUxMixbInNvcnQtbnVtZXJpYy1kZXNjIiwic29ydC1udW1lcmljLWRvd24tYWx0Il0sImY4ODYiLCJNMjMwLjYgMzkwLjZsLTgwIDgwYy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtODAtODBjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgMzcwLjcgOTYgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMwNi43IDI1LjQtMjUuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zem0xMzQuNS0xODRsMTEuNy0xOGMtMzIuOS05LjktNTYuOC00MC41LTU2LjgtNzYuNiAwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMjIuOS02LjYgNDUuMy0xOS4xIDY0LjVsLTQyLjEgNjQuOWMtOS42IDE0LjgtMjkuNCAxOS4xLTQ0LjMgOS40cy0xOS4xLTI5LjQtOS40LTQ0LjN6TTQyNCAxMTJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHptLTUuMyAxODJjOC4zIDYgMTMuMyAxNS43IDEzLjMgMjZsMCA5NiAxNiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC05NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE2IDAgMC01MS42LTUuOSAyYy0xNi44IDUuNi0zNC45LTMuNS00MC41LTIwLjJzMy41LTM0LjkgMjAuMi00MC41bDQ4LTE2YzkuOC0zLjMgMjAuNS0xLjYgMjguOCA0LjR6Il19LGxYdD1wdGUsY1h0PXB0ZSxhOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLXdpZGUiLGljb246WzUxMiw1MTIsWzEyODUxNSwiZ3Jpbi1hbHQiXSwiZjU4MSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg2LjcgMzA4LjljMTEuOS0zLjcgMjMuOSA2LjMgMTkuNiAxOC4xLTIyLjQgNjEuMy04MS4zIDEwNS4xLTE1MC4zIDEwNS4xUzEyOC4xIDM4OC4yIDEwNS43IDMyNi45Yy00LjMtMTEuOCA3LjctMjEuOCAxOS42LTE4LjEgMzkuMiAxMi4yIDgzLjcgMTkuMSAxMzAuNyAxOS4xczkxLjUtNi45IDEzMC43LTE5LjF6TTIwOCAxOTJjMCAzNS4zLTE0LjMgNjQtMzIgNjRzLTMyLTI4LjctMzItNjQgMTQuMy02NCAzMi02NCAzMiAyOC43IDMyIDY0em0xMjggNjRjLTE3LjcgMC0zMi0yOC43LTMyLTY0czE0LjMtNjQgMzItNjQgMzIgMjguNyAzMiA2NC0xNC4zIDY0LTMyIDY0eiJdfSxkWHQ9YTllLHVYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwb29wIixpY29uOls1MTIsNTEyLFtdLCJmNjE5IiwiTTI1NC40IDYuNmMzLjUtNC4zIDktNi41IDE0LjUtNS43IDQ2LjkgNi4zIDgzLjEgNDYuNSA4My4xIDk1LjEgMCAxMS4yLTEuOSAyMi01LjUgMzJsNS41IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjQgMCAxOS4xLTguNCAzNi4zLTIxLjcgNDhsMTMuNyAwYzM5LjggMCA3MiAzMi4yIDcyIDcyIDAgMjMuMi0xMSA0My44LTI4IDU3IDM0LjEgNS43IDYwIDM1LjMgNjAgNzEgMCAzOS44LTMyLjIgNzItNzIgNzJMNzIgNTEyYy0zOS44IDAtNzItMzIuMi03Mi03MiAwLTM1LjcgMjUuOS02NS4zIDYwLTcxLTE3LTEzLjItMjgtMzMuOC0yOC01NyAwLTM5LjggMzIuMi03MiA3Mi03MmwxMy43IDBjLTEzLjMtMTEuNy0yMS43LTI4LjktMjEuNy00OCAwLTM1LjMgMjguNy02NCA2NC02NGwxNi4yIDBjNDQuMS0uMSA3OS44LTM1LjkgNzkuOC04MCAwLTkuMi0xLjUtMTcuOS00LjMtMjYuMS0xLjgtNS4yLS44LTExLjEgMi44LTE1LjR6Il19LHBYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaGFybWFjaGFrcmEiLGljb246WzUxMiw1MTIsWzk3ODRdLCJmNjU1IiwiTTMzNy44IDIwNS43bDQ4LjYtNDIuNWMxMy44IDE5LjMgMjMuNCA0MS45IDI3LjQgNjYuMmwtNjQuNCA0LjNjLTIuNC0xMC4xLTYuNC0xOS41LTExLjYtMjh6bTE0MC4xIDE5LjVjLTUuMy0zOC44LTIwLjYtNzQuNS00My4yLTEwNC4zbC44LS43QzQ0OSAxMDguNCA0NDkuNyA4Ny42IDQzNyA3NXMtMzMuNC0xMi00NS4yIDEuNWwtLjcgLjhjLTI5LjgtMjIuNi02NS41LTM3LjktMTA0LjMtNDMuMmwuMS0xLjFjMS4yLTE3LjktMTMtMzMtMzAuOS0zM3MtMzIuMSAxNS4yLTMwLjkgMzNsLjEgMS4xYy0zOC44IDUuMy03NC41IDIwLjYtMTA0LjMgNDMuMmwtLjctLjhDMTA4LjQgNjMgODcuNiA2Mi4zIDc1IDc1cy0xMiAzMy40IDEuNSA0NS4ybC44IC43Yy0yMi42IDI5LjgtMzcuOSA2NS41LTQzLjIgMTA0LjNsLTEuMS0uMWMtMTcuOS0xLjItMzMgMTMtMzMgMzAuOXMxNS4yIDMyLjEgMzMgMzAuOWwxLjEtLjFjNS4zIDM4LjggMjAuNiA3NC41IDQzLjIgMTA0LjNsLS44IC43QzYzIDQwMy42IDYyLjMgNDI0LjQgNzUgNDM3czMzLjQgMTIgNDUuMi0xLjVsLjctLjhjMjkuOCAyMi42IDY1LjUgMzcuOSAxMDQuMyA0My4ybC0uMSAxLjFjLTEuMiAxNy45IDEzIDMzIDMwLjkgMzNzMzIuMS0xNS4yIDMwLjktMzNsLS4xLTEuMWMzOC44LTUuMyA3NC41LTIwLjYgMTA0LjMtNDMuMmwuNyAuOGMxMS44IDEzLjUgMzIuNSAxNC4yIDQ1LjIgMS41czEyLTMzLjQtMS41LTQ1LjJsLS44LS43YzIyLjYtMjkuOCAzNy45LTY1LjUgNDMuMi0xMDQuM2wxLjEgLjFjMTcuOSAxLjIgMzMtMTMgMzMtMzAuOXMtMTUuMi0zMi4xLTMzLTMwLjlsLTEuMSAuMXpNMTYzLjIgMTI1LjZjMTkuMy0xMy44IDQxLjktMjMuNCA2Ni4yLTI3LjVsNC4zIDY0LjRjLTEwIDIuNC0xOS41IDYuNC0yOCAxMS42bC00Mi41LTQ4LjZ6bS02NSAxMDMuOGM0LjEtMjQuNCAxMy43LTQ2LjkgMjcuNS02Ni4ybDQ4LjYgNDIuNWMtNS4zIDguNS05LjIgMTgtMTEuNiAyOGwtNjQuNC00LjN6bTI3LjUgMTE5LjRjLTEzLjgtMTkuMy0yMy40LTQxLjktMjcuNS02Ni4ybDY0LjQtNC4zYzIuNCAxMC4xIDYuNCAxOS41IDExLjYgMjhsLTQ4LjYgNDIuNXptMTAzLjggNjVjLTI0LjQtNC4xLTQ2LjktMTMuNy02Ni4yLTI3LjRsNDIuNS00OC42YzguNSA1LjMgMTggOS4yIDI4IDExLjZsLTQuMyA2NC40em0xMTkuNC0yNy40Yy0xOS4zIDEzLjgtNDEuOSAyMy40LTY2LjIgMjcuNGwtNC4zLTY0LjRjMTAtMi40IDE5LjUtNi40IDI4LTExLjZsNDIuNSA0OC42em02NS0xMDMuOGMtNC4xIDI0LjQtMTMuNyA0Ni45LTI3LjQgNjYuMmwtNDguNi00Mi41YzUuMy04LjYgOS4yLTE4IDExLjYtMjhsNjQuNCA0LjN6bS02NS0xNTYuOWwtNDIuNSA0OC42Yy04LjYtNS4zLTE4LTkuMi0yOC0xMS42bDQuMy02NC40YzI0LjQgNC4xIDQ2LjkgMTMuNyA2Ni4yIDI3LjV6TTI1NiAyMjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxyOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYmF0dGVyeS1xdWFydGVyIixpY29uOls2NDAsNTEyLFsiYmF0dGVyeS0yIl0sImYyNDMiLCJNNTI4IDEyOGM4LjggMCAxNiA3LjIgMTYgMTZsMCAyMjRjMCA4LjgtNy4yIDE2LTE2IDE2bC00MTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjI0YzAtOC44IDcuMi0xNiAxNi0xNmw0MTYgMHpNMTEyIDY0Yy00NC4yIDAtODAgMzUuOC04MCA4MGwwIDIyNGMwIDQ0LjIgMzUuOCA4MCA4MCA4MGw0MTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsMC00OGMwLTQ0LjItMzUuOC04MC04MC04MEwxMTIgNjR6bTU2IDExMmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAxMTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsNjQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNGwwLTExMmMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNjQgMHoiXX0sZlh0PXI5ZSxoWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYW5raCIsaWNvbjpbMzIwLDUxMixbOTc2NV0sImY2NDQiLCJNOTYgMTI4YzAtMzUuMyAyOC43LTY0IDY0LTY0czY0IDI4LjcgNjQgNjRjMCA0MS42LTIwLjcgNzYuNi00Ni42IDEwNC4xLTUuOSA2LjItMTEuOCAxMS44LTE3LjQgMTYuNy01LjYtNC45LTExLjUtMTAuNS0xNy40LTE2LjctMjUuOS0yNy41LTQ2LjYtNjIuNi00Ni42LTEwNC4xek0xNjAgMEM4OS4zIDAgMzIgNTcuMyAzMiAxMjggMzIgMTgwLjQgNTMuNSAyMjMuNSA3OC44IDI1NkwzMiAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsOTYgMCAwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwIDk2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTQ2LjggMEMyNjYuNSAyMjMuNSAyODggMTgwLjQgMjg4IDEyOCAyODggNTcuMyAyMzAuNyAwIDE2MCAweiJdfSxtWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZGlhbW9uZCIsaWNvbjpbNTEyLDUxMixbOTgzMF0sImYyMTkiLCJNMTcgMjE1TDIxNSAxN0MyMjUuOSA2LjEgMjQwLjYgMCAyNTYgMHMzMC4xIDYuMSA0MSAxN0w0OTUgMjE1YzEwLjkgMTAuOSAxNyAyNS42IDE3IDQxcy02LjEgMzAuMS0xNyA0MUwyOTcgNDk1Yy0xMC45IDEwLjktMjUuNiAxNy00MSAxN3MtMzAuMS02LjEtNDEtMTdMMTcgMjk3QzYuMSAyODYuMSAwIDI3MS40IDAgMjU2czYuMS0zMC4xIDE3LTQxeiJdfSxnWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3Vic2NyaXB0IixpY29uOls1NzYsNTEyLFtdLCJmMTJjIiwiTTk2IDY0Qzc4LjMgNjQgNjQgNzguMyA2NCA5NnMxNC4zIDMyIDMyIDMybDE1LjMgMCA4OS42IDEyOC04OS42IDEyOC0xNS4zIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMGMxMC40IDAgMjAuMi01LjEgMjYuMi0xMy42TDI0MCAzMTEuOCAzMjUuOCA0MzQuNGM2IDguNiAxNS44IDEzLjYgMjYuMiAxMy42bDMyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE1LjMgMC04OS42LTEyOCA4OS42LTEyOCAxNS4zIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDBjLTEwLjQgMC0yMC4yIDUuMS0yNi4yIDEzLjZMMjQwIDIwMC4yIDE1NC4yIDc3LjZDMTQ4LjIgNjkuMSAxMzguNCA2NCAxMjggNjRMOTYgNjR6TTU0NCAzMjBjMC0xMS4xLTUuNy0yMS40LTE1LjItMjcuMnMtMjEuMi02LjQtMzEuMS0xLjRsLTMyIDE2Yy0xNS44IDcuOS0yMi4yIDI3LjEtMTQuMyA0Mi45IDUuNiAxMS4yIDE2LjkgMTcuNyAyOC42IDE3LjdsMCA4MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybDAtMTI4eiJdfSxzOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicnVwZWUtc2lnbiIsaWNvbjpbNDQ4LDUxMixbODM2MCwicnVwZWUiXSwiZjE1NiIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDgwIDBjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDQgMCA1NC4zLTMwIDEwMS41LTc0LjQgMTI2LjFsNDEgMTM2LjdjNS4xIDE2LjktNC41IDM0LjgtMjEuNSAzOS44cy0zNC44LTQuNS0zOS44LTIxLjVMMTIwLjEgMzE5LjhjLTIuNyAuMS01LjQgLjItOC4xIC4ybC00OCAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMyUzAgNDY1LjcgMCA0NDhMMCA2NHpNNjQgMjU2bDQ4IDBjNDQuMiAwIDgwLTM1LjggODAtODBzLTM1LjgtODAtODAtODBsLTQ4IDAgMCAxNjB6bTI4NS4xLTMybDM0LjkgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzQuOSAwYy03LjIgMC0xMy4xIDUuOS0xMy4xIDEzLjEgMCA1LjcgMy43IDEwLjcgOS4xIDEyLjVsNDkuNCAxNS45YzMxLjkgMTAuMyA1My41IDM5LjkgNTMuNSA3My40IDAgNDIuNi0zNC41IDc3LjEtNzcuMSA3Ny4xTDMyMCA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNTAuOSAwYzcuMiAwIDEzLjEtNS45IDEzLjEtMTMuMSAwLTUuNy0zLjctMTAuNy05LjEtMTIuNWwtNDkuNC0xNS45Yy0zMS45LTEwLjMtNTMuNS0zOS45LTUzLjUtNzMuNCAwLTQyLjYgMzQuNS03Ny4xIDc3LjEtNzcuMXoiXX0sYlh0PXM5ZSx2WHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXJpZmxlIixpY29uOls1MTIsNTEyLFtdLCJlNTRlIiwiTTQxNiAwTDM4NCAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDAgMTAwLjNjLTkuNiA1LjUtMTYgMTUuOS0xNiAyNy43bDAgMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTQ0YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE2IDAgMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZsNTkuNSAwYzEwLjQgMCAxOC05LjggMTUuNS0xOS45bC0yMy05Mi4xIDQ0IDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMTZjMC04LjgtNy4yLTE2LTE2LTE2bC00OCAwIDAtMjYuNyA1My4xLTE3LjdjNi41LTIuMiAxMC45LTguMyAxMC45LTE1LjJsMC04NC41YzAtOC44LTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgNTYtMTYgNS4zIDAtMTA5LjNjMC0xMS44LTYuNC0yMi4yLTE2LTI3LjdMNDMyIDE2YzAtOC44LTcuMi0xNi0xNi0xNnpNMjI0IDIwOEMxMTggMjA4IDMyIDI5NCAzMiA0MDBsMCA0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtNDhjMC0zMi41IDEyLjEtNjIuMSAzMi04NC43bDAgMTk2LjcgMTYwIDAgMC0yOTMuMWMtMjAtNy4xLTQxLjYtMTAuOS02NC0xMC45ek0yODAgODhhNzIgNzIgMCAxIDAgLTE0NCAwIDcyIDcyIDAgMSAwIDE0NCAweiJdfSx4WHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZCIsaWNvbjpbMzg0LDUxMixbMTAwXSwiNDQiLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmwxMjggMGMxMjMuNyAwIDIyNCAxMDAuMyAyMjQgMjI0UzI4My43IDQ4MCAxNjAgNDgwTDMyIDQ4MGMtMTcuNyAwLTMyLTE0LjMtMzItMzJMMCA2NHpNNjQgOTZsMCAzMjAgOTYgMGM4OC40IDAgMTYwLTcxLjYgMTYwLTE2MFMyNDguNCA5NiAxNjAgOTZMNjQgOTZ6Il19LHlYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUtbmZpIixpY29uOls0NDgsNTEyLFtdLCJlNTc2IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6TTkzIDE3Mi4zbDM1IDYzIDAtNTEuNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTQ0YzAgMTAuOS03LjQgMjAuNS0xOCAyMy4ycy0yMS43LTItMjctMTEuNmwtMzUtNjMgMCA1MS40YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTQ0YzAtMTAuOSA3LjQtMjAuNSAxOC0yMy4yczIxLjcgMiAyNyAxMS42ek0yMDggMTg0YzAtMTMuMyAxMC43LTI0IDI0LTI0bDgwIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTU2IDAgMCAzMiA0MCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00MCAwIDAgNDBjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0xNDR6bTE5MiAwbDAgMTQ0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTQ0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6Il19LHdYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0ZWV0aCIsaWNvbjpbNTEyLDUxMixbXSwiZjYyZSIsIk0wIDk2QzAgNjAuNyAyOC43IDMyIDY0IDMybDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzIwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NnpNMTQ0IDIwOGwwIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0yNGMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OHptMTI4IDBsMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjRjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6TTgwIDE3NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAyNGMwIDEzLjMgMTAuNyAyNCAyNCAyNGwxNiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMjRjMC0xNy43LTE0LjMtMzItMzItMzJ6bTMyMCAzMmwwIDI0YzAgMTMuMyAxMC43IDI0IDI0IDI0bDE2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC0yNGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMnpNNDggMzM2YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2em0xNDQgNDhjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xNmMwLTguOC03LjItMTYtMTYtMTZsLTY0IDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDE2YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4em0xMjggMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTE2YzAtOC44LTcuMi0xNi0xNi0xNmwtNjQgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCAyNi41IDIxLjUgNDggNDggNDh6bTExMi0xNmMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE2YzAtOC44LTcuMi0xNi0xNi0xNmwtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMTZjMCAxNy43IDE0LjMgMzIgMzIgMzJ6Il19LGk5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYWduaWZ5aW5nLWdsYXNzLWRvbGxhciIsaWNvbjpbNTEyLDUxMixbInNlYXJjaC1kb2xsYXIiXSwiZjY4OCIsIk00MTYgMjA4YzAgNDUuOS0xNC45IDg4LjMtNDAgMTIyLjdMNTAyLjYgNDU3LjRjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMzMwLjcgMzc2QzI5Ni4zIDQwMS4xIDI1My45IDQxNiAyMDggNDE2IDkzLjEgNDE2IDAgMzIyLjkgMCAyMDhTOTMuMSAwIDIwOCAwIDQxNiA5My4xIDQxNiAyMDh6TTIxMiA5NmMtMTEgMC0yMCA5LTIwIDIwbDAgNGMtMjguOCAuMy01MiAyMy43LTUyIDUyLjUgMCAyNS43IDE4LjUgNDcuNiA0My45IDUxLjhsNDEuNyA3YzYgMSAxMC40IDYuMiAxMC40IDEyLjMgMCA2LjktNS42IDEyLjUtMTIuNSAxMi41TDE2OCAyNTZjLTExIDAtMjAgOS0yMCAyMHM5IDIwIDIwIDIwbDI0IDAgMCA0YzAgMTEgOSAyMCAyMCAyMHMyMC05IDIwLTIwbDAtNC43YzI1LTQuMSA0NC0yNS43IDQ0LTUxLjggMC0yNS43LTE4LjUtNDcuNi00My45LTUxLjhsLTQxLjctN2MtNi0xLTEwLjQtNi4yLTEwLjQtMTIuMyAwLTYuOSA1LjYtMTIuNSAxMi41LTEyLjVsNDcuNSAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtOCAwIDAtNGMwLTExLTktMjAtMjAtMjB6Il19LE1YdD1pOWUsa1h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImR1bXBzdGVyLWZpcmUiLGljb246WzY0MCw1MTIsW10sImY3OTQiLCJNMTY0LjMgNjRMMTM4LjcgMTkyIDU2IDE5MmMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00LjFjMC0yLjYgLjQtNS4xIDEuMi03LjZMNTguNSA4MC40QzYxLjggNzAuNiA3MSA2NCA4MS4zIDY0bDgzIDB6bTIzLjQgMTI4bDI1LjYtMTI4IDgyLjcgMCAwIDEyOC0xMDguMyAwek0zNDQgNjRsODIuNyAwIDE2IDgwYy0xNC43IC4yLTI5LjMgNS41LTQwLjkgMTUuOS0xMS41IDEwLjMtMjIuNSAyMS0zMi44IDMyLjFsLTI0LjkgMCAwLTEyOHpNOTYgMjQwbDIzMy4yIDBjLTYuNCA4LjgtMTIuMyAxNy42LTE3LjcgMjYuMy0yMS40IDM0LjctMzkuNSA3Ni4xLTM5LjUgMTE1LjggMCAxNy4xIDIuMSAzMy44IDYgNDkuOWwtMTIwLjQgMCAxLjkgMTAuM2MzLjIgMTcuNC04LjQgMzQtMjUuOCAzNy4ycy0zNC04LjQtMzcuMi0yNS44QzcxIDMxMy4zIDU4IDI0Mi4xIDU3LjcgMjQwTDk2IDI0MHptNTEyLTcyYzAgMTEtNy40IDIwLjMtMTcuNSAyMy4xLS45LS44LTEuNy0xLjYtMi42LTIuNC0yMS44LTIwLTU0LjMtMjEuOC03OC01LjUtNC4yLTQuMy04LjUtOC41LTEyLjktMTIuNmwtMjEuMy0xMDYuNiA4MyAwYzEwLjMgMCAxOS41IDYuNiAyMi44IDE2LjRsMjUuMyA3NS45Yy44IDIuNCAxLjIgNSAxLjIgNy42bDAgNC4xek01MDUuNyAyNDAuM0w1MTggMjI2LjVjNS40LTYuMSAxMy4zLTguOCAyMC45LTguOSA3LjIgMCAxNC4zIDIuNiAxOS45IDcuOCAxOS43IDE4LjMgMzkuOCA0My4yIDU1IDcwLjYgMTUuMSAyNy4yIDI2LjIgNTguMSAyNi4yIDg4LjEgMCA4OC43LTcxLjMgMTU5LjgtMTYwIDE1OS44LTg5LjYgMC0xNjAtNzEuMy0xNjAtMTU5LjggMC0zNy4zIDE2LTczLjQgMzYuOC0xMDQuNSAyMC45LTMxLjMgNDcuNS01OSA3MC45LTgwLjIgNS43LTUuMiAxMy4xLTcuNyAyMC4zLTcuNXMxMy40IDMuMiAxOC44IDcuNWMxNC40IDExLjQgMzguOSA0MC43IDM4LjkgNDAuN3pNNTQ0IDQzMi4yYzAtMzYuNS0zNy03My01NC44LTg4LjQtNS40LTQuNy0xMy4xLTQuNy0xOC41IDAtMTcuNyAxNS40LTU0LjggNTEuOS01NC44IDg4LjQgMCAzNS4zIDI4LjcgNjQgNjQgNjRzNjQtMjguNyA2NC02NHoiXX0sU1h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVwbG9hZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjA5MyIsIk0yNTYgMTA5LjNMMjU2IDMyMGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTIxMC43LTQxLjQgNDEuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNsOTYtOTZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBMMjU2IDEwOS4zek0yMjQgNDAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDgwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMzJjMC0zNS4zIDI4LjctNjQgNjQtNjRsODAgMGMwIDQ0LjIgMzUuOCA4MCA4MCA4MHptMTQ0IDI0YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0sZnRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItc2xhc2giLGljb246WzU3Niw1MTIsWzYyNzE0LCJ1c2VyLWFsdC1zbGFzaCIsInVzZXItbGFyZ2Utc2xhc2giXSwiZjUwNiIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDMxMS41IDI0NS43YzU1LTEwLjkgOTYuNS01OS41IDk2LjUtMTE3LjcgMC02Ni4zLTUzLjctMTIwLTEyMC0xMjAtNTguMiAwLTEwNi44IDQxLjUtMTE3LjcgOTYuNUw0MS0yNC45ek0yMzUuNiAzMDUuNEMxNDcuOSAzMTYuNiA4MCAzOTEuNSA4MCA0ODIuMyA4MCA0OTguNyA5My4zIDUxMiAxMDkuNyA1MTJsMzMyLjUgMC0yMDYuNi0yMDYuNnoiXX0selh0PWZ0ZSxDWHQ9ZnRlLF9YdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1sZWZ0IixpY29uOls1MTIsNTEyLFs4NTkyXSwiZjA2MCIsIk05LjQgMjMzLjRjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wxMDkuMyAyODggNDgwIDI4OGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzcwLjcgMCAxMDUuNC0xMDUuNGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMGwtMTYwIDE2MHoiXX0sVFh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZpYWwtdmlydXMiLGljb246WzU3Niw1MTIsW10sImU1OTciLCJNNjQgMzJDNjQgMTQuMyA3OC4zIDAgOTYgMEwzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwwIDE1MS43Yy0xOC41IDAtMzcgNy01MS4xIDIxLjEtMjEuNiAyMS42LTI2LjYgNTMuNi0xNSA3OS45LTI2LjkgMTAuNC00NS45IDM2LjYtNDUuOSA2Ny4xczE5IDU2LjcgNDUuOSA2Ny4xYy03LjMgMTYuNS04IDM1LjItMi4zIDUyLjItMTMuNCA1LjctMjguMiA4LjgtNDMuNiA4LjgtNjEuOSAwLTExMi01MC4xLTExMi0xMTJMOTYgNjRDNzguMyA2NCA2NCA0OS43IDY0IDMyem05NiAzMmwwIDEyOCA5NiAwIDAtMTI4LTk2IDB6TTI4MCA0MDhjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRjMjguOCAwIDQzLjItMzQuOCAyMi45LTU1LjItOS40LTkuNC05LjQtMjQuNiAwLTMzLjlzMjQuNi05LjQgMzMuOSAwYzIwLjQgMjAuNCA1NS4yIDUuOSA1NS4yLTIyLjkgMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGMwIDI4LjggMzQuOCA0My4yIDU1LjIgMjIuOSA5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjljLTIwLjQgMjAuNC01LjkgNTUuMiAyMi45IDU1LjIgMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTI4LjggMC00My4yIDM0LjgtMjIuOSA1NS4yIDkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBjLTIwLjQtMjAuNC01NS4yLTUuOS01NS4yIDIyLjkgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0yOC44LTM0LjgtNDMuMi01NS4yLTIyLjktOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWMyMC40LTIwLjQgNS45LTU1LjItMjIuOS01NS4yem0xMDQtMzJhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04OCA0MGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxMWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlY2stZG91YmxlIixpY29uOlszODQsNTEyLFtdLCJmNTYwIiwiTTI0OS45IDY2LjhjMTAuNC0xNC4zIDcuMi0zNC4zLTcuMS00NC43cy0zNC4zLTcuMi00NC43IDcuMWwtMTA2IDE0NS43LTM3LjUtMzcuNWMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsNjQgNjRjNi42IDYuNiAxNS44IDEwIDI1LjEgOS4zczE3LjktNS41IDIzLjQtMTMuMWwxMjgtMTc2em0xMjggMTM2YzEwLjQtMTQuMyA3LjItMzQuMy03LjEtNDQuN3MtMzQuMy03LjItNDQuNyA3LjFsLTE3MCAyMzMuNy02OS41LTY5LjVjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDk2IDk2YzYuNiA2LjYgMTUuOCAxMCAyNS4xIDkuM3MxNy45LTUuNSAyMy40LTEzLjFsMTkyLTI2NHoiXX0sJFh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhdyIsaWNvbjpbNTEyLDUxMixbXSwiZjFiMCIsIk0yMzQuNSA5Mi45YzE0LjMgNDIuOS0uMyA4Ni4yLTMyLjYgOTYuOHMtNzAuMS0xNS42LTg0LjQtNTguNSAuMy04Ni4yIDMyLjYtOTYuOCA3MC4xIDE1LjYgODQuNCA1OC41ek0xMDAuNCAxOTguNmMxOC45IDMyLjQgMTQuMyA3MC4xLTEwLjIgODQuMXMtNTkuNy0uOS03OC41LTMzLjMtMTQuMy03MC4xIDEwLjItODQuMSA1OS43IC45IDc4LjUgMzMuM3pNNjkuMiA0MDEuMkMxMjEuNiAyNTkuOSAyMTQuNyAyMjQgMjU2IDIyNHMxMzQuNCAzNS45IDE4Ni44IDE3Ny4yYzMuNiA5LjcgNS4yIDIwLjEgNS4yIDMwLjVsMCAxLjZjMCAyNS44LTIwLjkgNDYuNy00Ni43IDQ2LjctMTEuNSAwLTIyLjktMS40LTM0LTQuMmwtODgtMjJjLTE1LjMtMy44LTMxLjMtMy44LTQ2LjYgMGwtODggMjJjLTExLjEgMi44LTIyLjUgNC4yLTM0IDQuMi0yNS44IDAtNDYuNy0yMC45LTQ2LjctNDYuN2wwLTEuNmMwLTEwLjQgMS42LTIwLjggNS4yLTMwLjV6TTQyMS44IDI4Mi43Yy0yNC41LTE0LTI5LjEtNTEuNy0xMC4yLTg0LjFzNTQtNDcuMyA3OC41LTMzLjMgMjkuMSA1MS43IDEwLjIgODQuMS01NCA0Ny4zLTc4LjUgMzMuM3pNMzEwLjEgMTg5LjdjLTMyLjMtMTAuNi00Ni45LTUzLjktMzIuNi05Ni44czUyLjEtNjkuMSA4NC40LTU4LjUgNDYuOSA1My45IDMyLjYgOTYuOC01Mi4xIDY5LjEtODQuNCA1OC41eiJdfSxodGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVsbWV0LXNhZmV0eSIsaWNvbjpbNTc2LDUxMixbImhhcmQtaGF0IiwiaGF0LWhhcmQiXSwiZjgwNyIsIk0zNTIgMjY0bDAtMjAwYzAtMTcuNy0xNC4zLTMyLTMyLTMybC02NCAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDIwMGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE4NS45QzkwIDEwOS44IDMyIDE5MS44IDMyIDI4OGwwIDY0IDUxMiAwIDAtNjRjLTEtOTUuMi01OC40LTE3Ny43LTE0NC0yMDkuOEw0MDAgMjY0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0ek00MCA0MDBjLTIyLjEgMC00MCAxNy45LTQwIDQwczE3LjkgNDAgNDAgNDBsNDk2IDBjMjIuMSAwIDQwLTE3LjkgNDAtNDBzLTE3LjktNDAtNDAtNDBMNDAgNDAweiJdfSxEWHQ9aHRlLEFYdD1odGUsRVh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImUiLGljb246WzMyMCw1MTIsWzEwMV0sIjQ1IiwiTTMyIDMyQzE0LjMgMzIgMCA0Ni4zIDAgNjRMMCA0NDhjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTIyNCAwIDAtMTI4IDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMCAwLTEyOCAyMjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnoiXX0sbzllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtbGF1Z2gtc3F1aW50IixpY29uOls1MTIsNTEyLFsibGF1Z2gtc3F1aW50Il0sImY1OWIiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTEwNy43IDMzMi4xQzEwMiAzMTggMTEzLjQgMzA0IDEyOC42IDMwNGwyNTQuOSAwYzE1LjIgMCAyNi42IDE0IDIwLjkgMjguMS0yMy44IDU4LjYtODEuMiA5OS45LTE0OC4zIDk5LjlzLTEyNC42LTQxLjMtMTQ4LjMtOTkuOXptMTUtMTg4LjhjNC41LTYuOCAxMy4zLTkuMiAyMC42LTUuNWw3OS42IDQwYzUuNCAyLjcgOC44IDguMiA4LjggMTQuM3MtMy40IDExLjYtOC44IDE0LjNsLTc5LjYgNDBjLTcuMyAzLjYtMTYuMSAxLjMtMjAuNi01LjVzLTMuMS0xNS45IDMuMS0yMS4xTDE1OSAxOTIgMTI1LjggMTY0LjNjLTYuMi01LjItNy42LTE0LjMtMy4xLTIxLjF6bTI2My42IDIxLjFMMzUzIDE5MiAzODYuMiAyMTkuN2M2LjIgNS4yIDcuNiAxNC4zIDMuMSAyMS4xcy0xMy4zIDkuMi0yMC42IDUuNWwtNzkuNi00MGMtNS40LTIuNy04LjgtOC4yLTguOC0xNC4zczMuNC0xMS42IDguOC0xNC4zbDc5LjYtNDBjNy4zLTMuNiAxNi4xLTEuMyAyMC42IDUuNXMzLjEgMTUuOS0zLjEgMjEuMXoiXX0sUFh0PW85ZSxuOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG93bi1sZWZ0LWFuZC11cC1yaWdodC10by1jZW50ZXIiLGljb246WzUxMiw1MTIsWyJjb21wcmVzcy1hbHQiXSwiZjQyMiIsIk00MzkuNSA3YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDMyIDMyYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC04NyA4NyAzOSAzOWM2LjkgNi45IDguOSAxNy4yIDUuMiAyNi4yUzQ1MC4yIDI0MCA0NDAuNSAyNDBsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTE0NGMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJzMTkuMy0xLjcgMjYuMiA1LjJsMzkgMzkgODctODd6TTcyLjUgMjcybDE0NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0bDAgMTQ0YzAgOS43LTUuOCAxOC41LTE0LjggMjIuMnMtMTkuMyAxLjctMjYuMi01LjJsLTM5LTM5LTg3IDg3Yy05LjQgOS40LTI0LjYgOS40LTMzLjkgMGwtMzItMzJjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDg3LTg3LTM5LTM5Yy02LjktNi45LTguOS0xNy4yLTUuMi0yNi4yUzYyLjggMjcyIDcyLjUgMjcyeiJdfSxJWHQ9bjllLE5YdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJnaWZ0cyIsaWNvbjpbNTc2LDUxMixbXSwiZjc5YyIsIk0yMDItMzAuNmMxMi41IDQuNCAxOSAxOC4xIDE0LjYgMzAuNmwtOC4yIDIzLjEgMjUuNC0xOC41YzEwLjctNy44IDI1LjctNS40IDMzLjUgNS4zczUuNCAyNS43LTUuMyAzMy41TDIzMy44IDY0IDI3MiA2NGMyNi41IDAgNDggMjEuNSA0OCA0OGwwIDIuMWMtNTQuNyAxMC40LTk2IDU4LjQtOTYgMTE2bDAgMS45YzAgOC45IDEgMTcuNSAyLjggMjUuOS0xMS45IDE3LjgtMTguOCAzOS4xLTE4LjggNjIuMWwwIDEyOGMwIDIzLjggNy40IDQ1LjkgMjAuMSA2NEw0OCA1MTJjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgMTEyQzAgODUuNSAyMS41IDY0IDQ4IDY0bDM4LjIgMC0yOC4zLTIwLjZDNDcuMiAzNS42IDQ0LjggMjAuNiA1Mi42IDkuOVM3NS40LTMuMiA4Ni4xIDQuNmwyNy40IDIwLTguMy0yNUMxMDEtMTMgMTA3LjgtMjYuNiAxMjAuNC0zMC44czI2LjIgMi42IDMwLjQgMTUuMmw5LjkgMjkuOCAxMC43LTMwLjJjNC40LTEyLjUgMTguMS0xOSAzMC42LTE0LjZ6TTQ4OS45IDIwOGMtNy41IDAtMTQuNSAzLjgtMTguNiAxMC4xTDQ0Ni45IDI1NiA0ODggMjU2YzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtMS45YzAtMTIuMi05LjktMjIuMS0yMi4xLTIyLjF6TTM4NS4xIDI1NmwtMjQuNC0zNy45Yy00LjEtNi4zLTExLjEtMTAuMS0xOC42LTEwLjEtMTIuMiAwLTIyLjEgOS45LTIyLjEgMjIuMWwwIDEuOWMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0MS4xIDB6TTI4MS45IDI2OC41Yy02LjMtMTAuNy05LjktMjMuMi05LjktMzYuNWwwLTEuOWMwLTM4LjcgMzEuNC03MC4xIDcwLjEtNzAuMSAyMy44IDAgNDYgMTIuMSA1OC45IDMyLjFsMTUgMjMuMiAxNS0yMy4yYzEyLjktMjAgMzUuMS0zMi4xIDU4LjktMzIuMSAzOC43IDAgNzAuMSAzMS40IDcwLjEgNzAuMWwwIDEuOWMwIDEzLjMtMy42IDI1LjgtOS45IDM2LjUgMTUuNyAxMS43IDI1LjkgMzAuNCAyNS45IDUxLjVsMCAxMjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRsLTcyIDAgMC0yMDgtNDggMCAwIDIwOC03MiAwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTEyOGMwLTIxLjEgMTAuMi0zOS44IDI1LjktNTEuNXoiXX0sUlh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJlZCIsaWNvbjpbNTc2LDUxMixbMTI4NzE2XSwiZjIzNiIsIk0zMiAzMmMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDIyNCAyMjQgMCAwLTEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxNjAgMGM1MyAwIDk2IDQzIDk2IDk2bDAgMjI0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjQtNDQ4IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMlMwIDQ2NS43IDAgNDQ4TDAgNjRDMCA0Ni4zIDE0LjMgMzIgMzIgMzJ6bTgwIDE2MGE2NCA2NCAwIDEgMSAxMjggMCA2NCA2NCAwIDEgMSAtMTI4IDB6Il19LE9YdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1iaWxsLXRyYW5zZmVyIixpY29uOls2NDAsNTEyLFtdLCJlNTI4IiwiTTMxIDEwNWMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlMMTAzLTFjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45bC0zMSAzMSA2Ny43IDAgMCAwIDMzOC4zIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxNzguMi01LjEtNS4xYy0yOC4xLTI4LjEtNzMuNy0yOC4xLTEwMS44IDAtMjcuMiAyNy4yLTI4LjEgNzAuNi0yLjggOTguOWw2Ny43IDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNzIgNzJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzEtMzEtNDA2LjEgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0xNzguMiA1LjEgNS4xYzI4LjEgMjguMSA3My43IDI4LjEgMTAxLjggMCAyNy4yLTI3LjIgMjguMS03MC42IDIuOC05OC45bC02Ny43IDAgMzEgMzFjOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMEwzMSAxMDV6TTQxNiAyNTZhOTYgOTYgMCAxIDAgLTE5MiAwIDk2IDk2IDAgMSAwIDE5MiAwem04OC02NC41YzQuNCAuNSA4LTMuMSA4LTcuNWwwLTQ4YzAtNC40LTMuNi04LTgtOGwtNDggMGMtNC40IDAtOC4xIDMuNi03LjUgOCAzLjYgMjkgMjYuNiA1MS45IDU1LjUgNTUuNXptLTM2OCAxMjljLTQuNC0uNS04IDMuMS04IDcuNWwwIDQ4YzAgNC40IDMuNiA4IDggOGw0OCAwYzQuNCAwIDguMS0zLjYgNy41LTgtMy42LTI5LTI2LjYtNTEuOS01NS41LTU1LjV6Il19LGw5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tcnVubmluZyIsaWNvbjpbNDQ4LDUxMixbMTI3OTM5LCJydW5uaW5nIl0sImY3MGMiLCJNMjU2LjUtMzJhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTEyMy42IDE3NmMtMy4zIDAtNi4yIDItNy40IDVMOTQuMiAyMzUuOWMtNi42IDE2LjQtMjUuMiAyNC40LTQxLjYgMTcuOHMtMjQuNC0yNS4yLTE3LjgtNDEuNmwyMS45LTU0LjlDNjcuNyAxMjkuOSA5NC4xIDExMiAxMjMuNiAxMTJsOTcuMyAwYzI4LjUgMCA1NC44IDE1LjEgNjkuMSAzOS43bDMyLjggNTYuMyA2MS42IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTYxLjYgMGMtMjIuOCAwLTQzLjgtMTIuMS01NS4zLTMxLjhsLTEwLTE3LjEtMjAuNyA3MC40IDc1LjQgMjIuNmMyNy43IDguMyA0MS44IDM5IDMwLjEgNjUuNUwyODUuNyA1MDljLTcuMiAxNi4yLTI2LjEgMjMuNC00Mi4yIDE2LjJzLTIzLjQtMjYuMS0xNi4yLTQyLjJsNDkuMi0xMTAuOC05NS45LTI4LjhjLTMyLjctOS44LTUyLTQzLjctNDMuNy03Ni44bDIyLjctOTAuNi0zNS45IDB6bS04IDE4MWMxMy4zIDE0LjkgMzAuNyAyNi4zIDUxLjIgMzIuNGw0LjcgMS40LTYuOSAxOS4zYy01LjggMTYuMy0xNiAzMC44LTI5LjMgNDEuOEw1Mi45IDUxOS44Yy0xMy42IDExLjItMzMuOCA5LjMtNDUtNC4zcy05LjMtMzMuOCA0LjMtNDVsODIuNC02Ny45YzQuNS0zLjcgNy44LTguNSA5LjgtMTMuOUwxMTUuNiAzNTd6Il19LEZYdD1sOWUsYzllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNpcmNsZS1jaGV2cm9uLWRvd24iLGljb246WzUxMiw1MTIsWyJjaGV2cm9uLWNpcmNsZS1kb3duIl0sImYxM2EiLCJNMjU2IDBhMjU2IDI1NiAwIDEgMCAwIDUxMiAyNTYgMjU2IDAgMSAwIDAtNTEyek0xMzUgMjQxYy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsODcgODcgODctODdjOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDI3MyAzNDVjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwTDEzNSAyNDF6Il19LEJYdD1jOWUsSFh0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItbnVyc2UiLGljb246WzQ0OCw1MTIsW10sImY4MmYiLCJNOTYgNDQuOWMwLTEyLjcgNy41LTI0LjIgMTkuMi0yOS4zbDk2LTQyYzguMi0zLjYgMTcuNS0zLjYgMjUuNyAwbDk2IDQyQzM0NC41IDIwLjcgMzUyIDMyLjIgMzUyIDQ0LjlsMCA5OS4xYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4Uzk2IDIxNC43IDk2IDE0NGwwLTk5LjF6TTMwNCAxMjhsLTExMS42IDAtLjQgMC00OCAwIDAgMTZjMCA0NC4yIDM1LjggODAgODAgODBzODAtMzUuOCA4MC04MGwwLTE2ek0yMDggMTZsMCAxNi0xNiAwYy00LjQgMC04IDMuNi04IDhsMCAxNmMwIDQuNCAzLjYgOCA4IDhsMTYgMCAwIDE2YzAgNC40IDMuNiA4IDggOGwxNiAwYzQuNCAwIDgtMy42IDgtOGwwLTE2IDE2IDBjNC40IDAgOC0zLjYgOC04bDAtMTZjMC00LjQtMy42LTgtOC04bC0xNiAwIDAtMTZjMC00LjQtMy42LTgtOC04TDIxNiA4Yy00LjQgMC04IDMuNi04IDh6TTE0Mi42IDMyM2MtNi41LTQuOS0xNS4yLTYuMi0yMi42LTIuOC02MS40IDI4LjItMTA0LjEgOTAuMi0xMDQuMSAxNjIuMSAwIDE2LjQgMTMuMyAyOS43IDI5LjcgMjkuN2wzNTYuNiAwYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43IDAtNzItNDIuNy0xMzQtMTA0LjEtMTYyLjEtNy40LTMuNC0xNi4xLTIuMS0yMi42IDIuOGwtNjcgNTAuMmMtOC41IDYuNC0yMC4zIDYuNC0yOC44IDBsLTY3LTUwLjJ6Il19LGQ5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWtpc3Mtd2luay1oZWFydCIsaWNvbjpbNjQwLDUxMixbMTI4NTM2LCJraXNzLXdpbmstaGVhcnQiXSwiZjU5OCIsIk01NDMuNyAyNjguM2MuMi00LjEgLjMtOC4yIC4zLTEyLjMgMC0xNDEuNC0xMTQuNi0yNTYtMjU2LTI1NlMzMiAxMTQuNiAzMiAyNTYgMTQ2LjYgNTEyIDI4OCA1MTJjNDEuNCAwIDgwLjUtOS44IDExNS4xLTI3LjMtNy42LTE3LjEtMTYuMS0zOC44LTIxLjgtNjEuNy03LjctMzAuNS0xNC4xLTc2LjIgOC4yLTExNC43bDIuNy00LjZjMjkuNS01MSA5NC43LTY4LjUgMTQ1LjctMzkgMiAxLjIgNCAyLjQgNS45IDMuN3pNMjQwIDMwNGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGMyNi41IDAgNDggMjEuNSA0OCA0OCAwIDEyLjMtNC42IDIzLjUtMTIuMiAzMiA3LjYgOC41IDEyLjIgMTkuNyAxMi4yIDMyIDAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZzNy4yLTE2IDE2LTE2bDE2IDBjOC44IDAgMTYtNy4yIDE2LTE2cy03LjItMTYtMTYtMTZsLTE2IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTYgMGM4LjggMCAxNi03LjIgMTYtMTZzLTcuMi0xNi0xNi0xNmwtMTYgMGMtOC44IDAtMTYtNy4yLTE2LTE2ek0yMDggMTc2YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHptMTUyIDIwYy0xMSAwLTIwIDktMjAgMjBzLTkgMjAtMjAgMjAtMjAtOS0yMC0yMGMwLTMzLjEgMjYuOS02MCA2MC02MGwxNiAwYzMzLjEgMCA2MCAyNi45IDYwIDYwIDAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMC05LTIwLTIwLTIwbC0xNiAwek01NDIuOCAzNTBjLTIuMi0xOC4zLTEyLjktMzQuNi0yOC45LTQzLjgtMjguMS0xNi4yLTYzLjktNi42LTgwLjEgMjEuNWwtMi43IDQuNmMtMjQuNSA0Mi41IDcuOSAxMTcuOSAyNC40IDE1MC44IDUuMSAxMC4xIDE1LjUgMTYuMSAyNi44IDE1LjUgMzYuNy0yLjIgMTE4LjItMTEuNyAxNDIuOC01NC4ybDIuNy00LjZjMTYuMi0yOC4xIDYuNi02My45LTIxLjUtODAuMS0xNi05LjItMzUuNC0xMC40LTUyLjQtMy4xbC05LjggNC4yLTEuMy0xMC42eiJdfSxxWHQ9ZDllLFZYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxsIixpY29uOls1MTIsNTEyLFtdLCJmNTc1IiwiTTI5NiA2NGM2LjkgMCAxMy41IDIuNyAxOC4zIDcuNkw0NDAuNCAxOTcuN2M0LjkgNC45IDcuNiAxMS41IDcuNiAxOC4zcy0yLjcgMTMuNS03LjYgMTguM0wzODYuNyAyODggNjUuMyAyODhjMS4zLTMuOSAzLjQtNy40IDYuMy0xMC4zbDk2LjQtOTYuNCAzMy40IDMzLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wyMTMuMyAxMzYgMjc3LjcgNzEuNmM0LjktNC45IDExLjUtNy42IDE4LjMtNy42ek0xMjIuNyAxMzZMMjYuMyAyMzIuNEM5LjUgMjQ5LjMgMCAyNzIuMSAwIDI5NnM5LjUgNDYuNyAyNi4zIDYzLjZMMTUyLjQgNDg1LjdDMTY5LjMgNTAyLjUgMTkyLjEgNTEyIDIxNiA1MTJzNDYuNy05LjUgNjMuNi0yNi4zTDQ4NS43IDI3OS42QzUwMi41IDI2Mi43IDUxMiAyMzkuOSA1MTIgMjE2cy05LjUtNDYuNy0yNi4zLTYzLjZMMzU5LjYgMjYuM0MzNDIuNyA5LjUgMzE5LjkgMCAyOTYgMHMtNDYuNyA5LjUtNjMuNiAyNi4zTDE2OCA5MC43IDExOC42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDEyMi43IDEzNnoiXX0sdTllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWJpbGwtMS13YXZlIixpY29uOls1MTIsNTEyLFsibW9uZXktYmlsbC13YXZlLWFsdCJdLCJmNTNiIiwiTTAgMTA5LjVMMCA0MTkuNmMwIDE5LjQgMTEuOCAzNy4zIDMwLjMgNDMuMyA5NCAzMCAxNTguOCA4LjQgMjIzLjMtMTMuMSA2Mi40LTIwLjggMTI0LjQtNDEuNSAyMTIuMS0xNS4zIDIyLjIgNi42IDQ2LjItOC44IDQ2LjItMzJsMC0zMTAuMWMwLTE5LjQtMTEuOC0zNy4zLTMwLjMtNDMuMy05NC0zMC0xNTguOC04LjQtMjIzLjMgMTMuMS02Mi40IDIwLjgtMTI0LjQgNDEuNS0yMTIuMSAxNS4zLTIyLjItNi42LTQ2LjMgOC44LTQ2LjMgMzJ6TTI1NiAzNjhjLTUzIDAtOTYtNTAuMS05Ni0xMTJzNDMtMTEyIDk2LTExMiA5NiA1MC4xIDk2IDExMi00MyAxMTItOTYgMTEyek0xMjcuMSA0MDUuNWMuNyA0LjQtMi44IDguMS03LjIgOC4xLTE1LjcgMC0zMi4xLTEuOC01MC02LjEtMy41LS44LTYtNC02LTcuN0w2NCAzNjBjMC00LjQgMy42LTguMSA4LTcuNSAyOC4xIDMuNSA1MC42IDI1LjIgNTUuMiA1M3pNNDQ4IDM1NC42YzAgNS00LjYgOC44LTkuNSA4LTE1LjQtMi41LTMwLjItMy45LTQ0LjQtNC4zLTQuOS0uMS04LjctNC41LTcuMi05LjIgNy4zLTIzLjcgMjgtNDEuNCA1My4yLTQ0LjYgNC40LS41IDggMy4xIDggNy41bDAgNDIuNnptLTgtMTk1LjFjLTI4LjEtMy41LTUwLjYtMjUuMi01NS4yLTUzLS43LTQuNCAyLjgtOC4xIDcuMi04LjEgMTUuNyAwIDMyLjEgMS44IDUwIDYuMSAzLjUgLjggNiA0IDYgNy43bDAgMzkuOWMwIDQuNC0zLjYgOC4xLTggNy41em0tMzIyLjEtNS44YzQuOSAuMSA4LjcgNC41IDcuMiA5LjItNy4zIDIzLjctMjggNDEuNC01My4yIDQ0LjYtNC40IC41LTgtMy4xLTgtNy41bDAtNDIuNmMwLTUgNC42LTguOCA5LjUtOCAxNS40IDIuNSAzMC4yIDMuOSA0NC40IDQuM3pNMjQwIDE4OGMtMTEgMC0yMCA5LTIwIDIwIDAgOS43IDYuOSAxNy43IDE2IDE5LjZsMCA0OC40LTQgMGMtMTEgMC0yMCA5LTIwIDIwczkgMjAgMjAgMjBsNDggMGMxMSAwIDIwLTkgMjAtMjBzLTktMjAtMjAtMjBsLTQgMCAwLTY4YzAtMTEtOS0yMC0yMC0yMGwtMTYgMHoiXX0salh0PXU5ZSxVWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFuZG1hcmsiLGljb246WzUxMiw1MTIsWzEyNzk2M10sImY2NmYiLCJNMjM4LjcgNS4xYzEwLjUtNi44IDI0LjEtNi44IDM0LjYgMGwyMjQgMTQ0YzExLjkgNy43IDE3LjQgMjIuMyAxMy40IDM1LjlzLTE2LjUgMjMtMzAuNyAyM2wtMzIgMCAwIDIwOCA1MS4yIDM4LjRjOC4xIDYgMTIuOCAxNS41IDEyLjggMjUuNiAwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA1MTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyIDAtMTAuMSA0LjctMTkuNiAxMi44LTI1LjZsNTEuMi0zOC40IDAgMCAwLTIwOC0zMiAwYy0xNC4yIDAtMjYuNy05LjQtMzAuNy0yM3MxLjUtMjguMyAxMy40LTM1LjlsMjI0LTE0NHpNMzM2IDIwOGwwIDIwOCA2NCAwIDAtMjA4LTY0IDB6TTIyNCA0MTZsNjQgMCAwLTIwOC02NCAwIDAgMjA4ek0xMTIgMjA4bDAgMjA4IDY0IDAgMC0yMDgtNjQgMHoiXX0sV1h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im11c2ljIixpY29uOls1MTIsNTEyLFsxMjc5MjVdLCJmMDAxIiwiTTQ2OCA3YzcuNiA2LjEgMTIgMTUuMyAxMiAyNWwwIDMwNGMwIDQ0LjItNDMgODAtOTYgODBzLTk2LTM1LjgtOTYtODAgNDMtODAgOTYtODBjMTEuMiAwIDIyIDEuNiAzMiA0LjZsMC0xMTYuNy0yMjQgNDkuOCAwIDIwNi4zYzAgNDQuMi00MyA4MC05NiA4MHMtOTYtMzUuOC05Ni04MCA0My04MCA5Ni04MGMxMS4yIDAgMjIgMS42IDMyIDQuNkwxMjggOTZjMC0xNSAxMC40LTI4IDI1LjEtMzEuMmwyODgtNjRjOS41LTIuMSAxOS40IC4yIDI3IDYuM3oiXX0sR1h0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stbWVkaWNhbCIsaWNvbjpbNDQ4LDUxMixbXSwiZjdlNiIsIk05NiA1MTJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC02Ni43YzE4LjYtNi42IDMyLTI0LjQgMzItNDUuM2wwLTI4OGMwLTI2LjUtMjEuNS00OC00OC00OEw5NiAwQzQzIDAgMCA0MyAwIDk2TDAgNDE2YzAgNTMgNDMgOTYgOTYgOTZ6TTY0IDQxNmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwyNTYgMCAwIDY0LTI1NiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNMTkyIDEyMGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCA0MCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtNDAgMCAwIDQwYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MHoiXX0scDllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNodWZmbGUiLGljb246WzUxMiw1MTIsWzEyODI1NiwicmFuZG9tIl0sImYwNzQiLCJNNDAzLjggMzQuNGMxMi01IDI1LjctMi4yIDM0LjkgNi45bDY0IDY0YzYgNiA5LjQgMTQuMSA5LjQgMjIuNnMtMy40IDE2LjYtOS40IDIyLjZsLTY0IDY0Yy05LjIgOS4yLTIyLjkgMTEuOS0zNC45IDYuOVMzODQgMjA0LjkgMzg0IDE5MmwwLTMyLTMyIDBjLTEwLjEgMC0xOS42IDQuNy0yNS42IDEyLjhsLTMyLjQgNDMuMi00MC01My4zIDIxLjItMjguM0MyOTMuMyAxMTAuMiAzMjEuOCA5NiAzNTIgOTZsMzIgMCAwLTMyYzAtMTIuOSA3LjgtMjQuNiAxOS44LTI5LjZ6TTE1NCAyOTZsNDAgNTMuMy0yMS4yIDI4LjNDMTU0LjcgNDAxLjggMTI2LjIgNDE2IDk2IDQxNmwtNjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw2NCAwYzEwLjEgMCAxOS42LTQuNyAyNS42LTEyLjhMMTU0IDI5NnpNNDM4LjYgNDcwLjZjLTkuMiA5LjItMjIuOSAxMS45LTM0LjkgNi45UzM4NCA0NjAuOSAzODQgNDQ4bDAtMzItMzIgMGMtMzAuMiAwLTU4LjctMTQuMi03Ni44LTM4LjRMMTIxLjYgMTcyLjhjLTYtOC4xLTE1LjUtMTIuOC0yNS42LTEyLjhsLTY0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyUzE0LjMgOTYgMzIgOTZsNjQgMGMzMC4yIDAgNTguNyAxNC4yIDc2LjggMzguNEwzMjYuNCAzMzkuMmM2IDguMSAxNS41IDEyLjggMjUuNiAxMi44bDMyIDAgMC0zMmMwLTEyLjkgNy44LTI0LjYgMTkuOC0yOS42czI1LjctMi4yIDM0LjkgNi45bDY0IDY0YzYgNiA5LjQgMTQuMSA5LjQgMjIuNnMtMy40IDE2LjYtOS40IDIyLjZsLTY0IDY0eiJdfSxZWHQ9cDllLEtYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ1bmRlcmxpbmUiLGljb246WzM4NCw1MTIsW10sImYwY2QiLCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMlMxMTMuNyA2NCA5NiA2NGwwIDE2MGMwIDUzIDQzIDk2IDk2IDk2czk2LTQzIDk2LTk2bDAtMTYwYy0xNy43IDAtMzItMTQuMy0zMi0zMlMyNzAuMyAwIDI4OCAwbDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsMCAxNjBjMCA4OC40LTcxLjYgMTYwLTE2MCAxNjBTMzIgMzEyLjQgMzIgMjI0TDMyIDY0QzE0LjMgNjQgMCA0OS43IDAgMzJ6TTAgNDgwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDMyMCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LFpYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWlsZGluZy11c2VyIixpY29uOls2NDAsNTEyLFtdLCJlNGRhIiwiTTY0IDY0QzY0IDI4LjcgOTIuNyAwIDEyOCAwTDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTIxLjNjLTQ2LjkgMTktODAgNjUtODAgMTE4LjcgMCAyNy43IDguOCA1My40IDIzLjggNzQuNC01MS41IDIxLTg3LjggNzEuNi04Ny44IDEzMC43IDAgMSAwIDEuOSAwIDIuOWwtMTc2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDY0IDY0ek0yMDggNDAwbDAgNjQgNTMuNCAwYzcuMi0yOS40IDIxLjMtNTYuMSA0MC40LTc4LjMtNi4xLTE5LjUtMjQuMy0zMy43LTQ1LjgtMzMuNy0yNi41IDAtNDggMjEuNS00OCA0OHpNMzM5IDIyNC4zYy0xLS4yLTItLjMtMy0uM2wtMzIgMGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDE2LjcgMGMyLjEtMjIuOCA4LjQtNDQuMyAxOC4zLTYzLjd6TTE3NiA5NmMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0xMTIgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNnpNMTc2IDIyNGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMzJjMCA4LjggNy4yIDE2IDE2IDE2bDMyIDBjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwem0yNDAgODBhODAgODAgMCAxIDEgMTYwIDAgODAgODAgMCAxIDEgLTE2MCAwek0zNTIgNTEyYzAtNTMgNDMtOTYgOTYtOTZsOTYgMGM1MyAwIDk2IDQzIDk2IDk2IDAgMTcuNy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6Il19LFhYdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb2JvdCIsaWNvbjpbNjQwLDUxMixbMTI5MzAyXSwiZjU0NCIsIk0zNTIgMGMwLTE3LjctMTQuMy0zMi0zMi0zMlMyODgtMTcuNyAyODggMGwwIDY0LTk2IDBjLTUzIDAtOTYgNDMtOTYgOTZsMCAyMjRjMCA1MyA0MyA5NiA5NiA5NmwyNTYgMGM1MyAwIDk2LTQzIDk2LTk2bDAtMjI0YzAtNTMtNDMtOTYtOTYtOTZsLTk2IDAgMC02NHpNMTYwIDM2OGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwzMiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0zMiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHptMTIwIDBjMC0xMy4zIDEwLjctMjQgMjQtMjRsMzIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bTEyMCAwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDMyIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTMyIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0yMjQgMTc2YTQ4IDQ4IDAgMSAxIDAgOTYgNDggNDggMCAxIDEgMC05NnptMTQ0IDQ4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6TTY0IDIyNGMwLTE3LjctMTQuMy0zMi0zMi0zMlMwIDIwNi4zIDAgMjI0bDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2em01NDQtMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMyeiJdfSx1dj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVzIixpY29uOls0NDgsNTEyLFsxMDEzMyw2MTU0MywiYWRkIl0sIjJiIiwiTTI1NiA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDE2MC0xNjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwxNjAgMCAwIDE2MGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwIDE2MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNjAgMCAwLTE2MHoiXX0sUVh0PXV2LEh0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb3B5IixpY29uOls0NDgsNTEyLFtdLCJmMGM1IiwiTTE5MiAwYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTIwMC42YzAtMTcuNC03LjEtMzQuMS0xOS43LTQ2LjJMMzcwLjYgMTcuOEMzNTguNyA2LjQgMzQyLjggMCAzMjYuMyAwTDE5MiAwek02NCAxMjhjLTM1LjMgMC02NCAyOC43LTY0IDY0TDAgNDQ4YzAgMzUuMyAyOC43IDY0IDY0IDY0bDE5MiAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTYtNjQgMCAwIDE2LTE5MiAwIDAtMjU2IDE2IDAgMC02NC0xNiAweiJdfSxKWHQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlc3Mta2luZyIsaWNvbjpbNDQ4LDUxMixbOTgxOF0sImY0M2YiLCJNMjI0LTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMCAwIDY0IDE1My44IDBjMjEuMSAwIDM4LjIgMTcuMSAzOC4yIDM4LjIgMCA2LjQtMS42IDEyLjctNC43IDE4LjNMMzUyIDM4NCA0MDguMiA0NTQuM2M1IDYuMyA3LjggMTQuMSA3LjggMjIuMiAwIDE5LjYtMTUuOSAzNS41LTM1LjUgMzUuNUw2Ny41IDUxMmMtMTkuNiAwLTM1LjUtMTUuOS0zNS41LTM1LjUgMC04LjEgMi43LTE1LjkgNy44LTIyLjJMOTYgMzg0IDQuNyAyMTYuNkMxLjYgMjEwLjkgMCAyMDQuNiAwIDE5OC4yIDAgMTc3LjEgMTcuMSAxNjAgMzguMiAxNjBsMTUzLjggMCAwLTY0LTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxlUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtZmxvb2Qtd2F0ZXIiLGljb246WzY0MCw1MTIsW10sImU1MGUiLCJNNDk2IDIwOGw0LjUgMGMxNS4yIDAgMjcuNS0xMi4zIDI3LjUtMjcuNSAwLTcuOS0zLjQtMTUuNS05LjQtMjAuN0wzNDggMTAuNUMzNDAuMyAzLjcgMzMwLjMgMCAzMjAgMHMtMjAuMyAzLjctMjggMTAuNUwxMjEuNCAxNTkuOGMtNiA1LjItOS40IDEyLjgtOS40IDIwLjcgMCAxNS4yIDEyLjMgMjcuNSAyNy41IDI3LjVsNC41IDAgMCA5NC40YzIwLjMtOS40IDQyLjEtMTQuMiA2NC0xNC40IDMzLjEtLjIgNjYuMyAxMC4yIDk0LjQgMzEuNCAyMi4xIDE2LjYgMjkuMSAxNi42IDUxLjIgMCAyNy41LTIwLjcgNTkuOS0zMS4yIDkyLjQtMzEuNCAxNi45LS4xIDMzLjggMi42IDUwIDhsMC04OHptLTIyNC04YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OHpNNDc0LjYgNDEyLjFjMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdTNyA0MTguMyAxNy42IDQyNi4zYzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOWMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMHptLTcxLjIgOTZjMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdTNyA1MTQuMyAxNy42IDUyMi4zYzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOXoiXX0sdFF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJpdGNvaW4tc2lnbiIsaWNvbjpbMzIwLDUxMixbXSwiZTBiNCIsIk02NCAyNEM2NCAxMC43IDc0LjcgMCA4OCAwczI0IDEwLjcgMjQgMjRsMCA0MCAzMiAwIDAtNDBjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDQxLjFjNTQuMyA3LjggOTYgNTQuNCA5NiAxMTAuOSAwIDI0LjItNy43IDQ2LjYtMjAuNyA2NC45IDMxLjcgMTkuOCA1Mi43IDU1IDUyLjcgOTUuMSAwIDYxLjktNTAuMSAxMTItMTEyIDExMmwtMTYgMCAwIDQwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDAtMzIgMCAwIDQwYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNDAtMjIuMyAwQzE4LjcgNDQ4IDAgNDI5LjMgMCA0MDYuM0wwIDEwMS42QzAgODAuOCAxNi44IDY0IDM3LjYgNjRMNjQgNjQgNjQgMjR6bTAgMjAwbDExMiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4bC0xMTIgMCAwIDk2em0xMTIgNjRsLTExMiAwIDAgOTYgMTQ0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhzLTIxLjUtNDgtNDgtNDhsLTMyIDB6Il19LGFRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3giLGljb246WzQ0OCw1MTIsWzEyODIzMF0sImY0NjYiLCJNMzY5LjQgMTI4bC0zNC4zLTQ4LTIyMi4xIDAtMzQuMyA0OCAyOTAuNyAwek0wIDE0OC41YzAtMTMuMyA0LjItMjYuMyAxMS45LTM3LjJMNjAuOSA0Mi44QzcyLjkgMjYgOTIuMyAxNiAxMTIuOSAxNmwyMjIuMSAwYzIwLjcgMCA0MC4xIDEwIDUyLjEgMjYuOGw0OC45IDY4LjVjNy44IDEwLjkgMTEuOSAyMy45IDExLjkgMzcuMkw0NDggNDE2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxNDguNXoiXX0sZjllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1wbHVzIixpY29uOls0NDgsNTEyLFs2MTg0NiwicGx1cy1zcXVhcmUiXSwiZjBmZSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0yMDAgMzQ0bDAtNjQtNjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw2NCAwIDAtNjRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDY0IDY0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTY0IDAgMCA2NGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNHoiXX0sclF0PWY5ZSxoOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3dzLWxlZnQtcmlnaHQiLGljb246WzU3Niw1MTIsWyJhcnJvd3MtaCJdLCJmMDdlIiwiTTQ3MC42IDM3NC42bDk2LTk2YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC05Ni05NmMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsNDEuNCA0MS40LTM1Ny41IDAgNDEuNC00MS40YzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zcy0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtNiA2LTkuNCAxNC4xLTkuNCAyMi42czMuNCAxNi42IDkuNCAyMi42bDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNsLTQxLjQtNDEuNCAzNTcuNSAwLTQxLjQgNDEuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMHoiXX0sc1F0PWg5ZSxpUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFuIixpY29uOls1MTIsNTEyLFtdLCJmODYzIiwiTTE2MCAxNDRjMC03OS41IDY0LjUtMTQ0IDE0NC0xNDQgOC44IDAgMTYgNy4yIDE2IDE2bDAgMTUyLjJjMTUtNS4zIDMxLjItOC4yIDQ4LTguMiA3OS41IDAgMTQ0IDY0LjUgMTQ0IDE0NCAwIDguOC03LjIgMTYtMTYgMTZsLTE1Mi4yIDBjNS4zIDE1IDguMiAzMS4yIDguMiA0OCAwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NC04LjggMC0xNi03LjItMTYtMTZsMC0xNTIuMmMtMTUgNS4zLTMxLjIgOC4yLTQ4IDguMi03OS41IDAtMTQ0LTY0LjUtMTQ0LTE0NCAwLTguOCA3LjItMTYgMTYtMTZsMTUyLjIgMGMtNS4zLTE1LTguMi0zMS4yLTguMi00OHptOTYgMTQ0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sb1F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNyb3ciLGljb246WzY0MCw1MTIsW10sImY1MjAiLCJNNDU2LjUgMGMtNDguNiAwLTg4IDM5LjQtODggODhsMCAzNi0zNTUuMiAyNjYuNEMtLjggNDAxLTMuNyA0MjEgNi45IDQzNS4yczMwLjYgMTcgNDQuOCA2LjRsNzYuOC01Ny42IDEzMS4zIDAgNDYuNiAxMTMuMSAxIDIuMmM1LjcgMTAuNyAxOC44IDE1LjUgMzAuMyAxMC44czE3LjMtMTcuMyAxMy45LTI5bC0uOC0yLjMtMzkuMS05NC45IDQwLjkgMGMxLjEgMCAyLjIgMCAzLjIgMGw0Ni42IDExMy4yIDEgMi4yYzUuNyAxMC43IDE4LjggMTUuNSAzMC4zIDEwLjhzMTcuMy0xNy4zIDEzLjktMjlsLS44LTIuMy00Mi0xMDJDNDg1LjMgMzU0LjEgNTQ0LjUgMjgwIDU0NC41IDE5MmwwLTcyIDgwLjUtMjAuMWM4LjYtMi4xIDEzLjgtMTAuOCAxMS42LTE5LjQtNy4xLTI4LjUtMzIuNy00OC41LTYyLjEtNDguNWwtNTAuMSAwQzUwOC4yIDEyLjUgNDgzLjggMCA0NTYuNSAwem0wIDY0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHoiXX0sblF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtY2lyY2xlLWNoZWNrIixpY29uOls1NzYsNTEyLFtdLCJlNWEwIiwiTTk2IDBDNjAuNyAwIDMyIDI4LjcgMzIgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTgwIDBjLTIyLjctMzEuNS0zNi03MC4yLTM2LTExMiAwLTEwMC42IDc3LjQtMTgzLjIgMTc2LTE5MS4zbDAtMzguMWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyOTAuNyAxOC43QzI3OC43IDYuNyAyNjIuNSAwIDI0NS41IDBMOTYgMHpNMzU3LjUgMTc2TDI2NCAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MCA1OC41IDM1Ny41IDE3NnpNNTc2IDQwMGExNDQgMTQ0IDAgMSAwIC0yODggMCAxNDQgMTQ0IDAgMSAwIDI4OCAwem0tODYuNi02MC45YzcuMSA1LjIgOC43IDE1LjIgMy41IDIyLjNsLTY0IDg4Yy0yLjggMy44LTcgNi4yLTExLjcgNi41cy05LjMtMS4zLTEyLjYtNC42bC00MC00MGMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZzMTYuNC02LjIgMjIuNiAwbDI2LjggMjYuOCA1My03Mi45YzUuMi03LjEgMTUuMi04LjcgMjIuNC0zLjV6Il19LFhiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imxpbmstc2xhc2giLGljb246WzU3Niw1MTIsWyJjaGFpbi1icm9rZW4iLCJjaGFpbi1zbGFzaCIsInVubGluayJdLCJmMTI3IiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTEyMi0xMjJjNC4yLTMuNCA4LjMtNy4xIDEyLjEtMTAuOWw3MS4xLTcxLjFjMjkuMy0yOS4zIDQ1LjgtNjkuMSA0NS44LTExMC42IDAtODYuNC03MC0xNTYuNS0xNTYuNS0xNTYuNS0zNy4zIDAtNzMuMSAxMy4zLTEwMS4zIDM3LjIgMjAuMyAxMC4xIDM4LjcgMjMuNSA1NC41IDM5LjUgMTQuMS04LjMgMzAuMi0xMi43IDQ2LjgtMTIuNyA1MS4xIDAgOTIuNSA0MS40IDkyLjUgOTIuNSAwIDI0LjUtOS43IDQ4LTI3LjEgNjUuNGwtNzEuMSA3MS4xYy0zLjkgMy45LTguMSA3LjQtMTIuNiAxMC41bC00Ny41LTQ3LjVjMTYuNS0uOSAyOS43LTE0LjQgMzAuMi0zMS4xIDAtMS4zIDAtMi42IDAtMy45IDAtODYuMy02OS45LTE1Ni45LTE1Ni41LTE1Ni45LTE5LjIgMC0zNy45IDMuNS01NS41IDEwLjJMNDEtMjQuOXpNMjI1LjkgMTYwYy42IDAgMS4xIDAgMS43IDAgMTUuMSAwIDI5LjUgMy43IDQyLjEgMTAuMiAxLjggMS4yIDMuNiAyLjMgNS41IDMuMSAyNi44IDE2LjMgNDQuOCA0NS45IDQ0LjggNzkuNiAwIC40IDAgLjggMCAxLjJMMjI1LjkgMTYwek0zNDYuMiA0MTZMMTkyIDI2MS44YzEuMiA4NC42IDY5LjYgMTUyLjkgMTU0LjEgMTU0LjF6TTEzOS43IDIwOS41bC00NS4zLTQ1LjMtNDguNiA0OC42Yy0yOS4zIDI5LjMtNDUuOCA2OS4xLTQ1LjggMTEwLjYgMCA4Ni40IDcwIDE1Ni41IDE1Ni41IDE1Ni41IDM3LjIgMCA3My4xLTEzLjMgMTAxLjMtMzcuMi0yMC4zLTEwLjEtMzguOC0yMy41LTU0LjYtMzkuNS0xNCA4LjItMzAuMSAxMi42LTQ2LjcgMTIuNi01MS4xIDAtOTIuNS00MS40LTkyLjUtOTIuNSAwLTI0LjUgOS43LTQ4IDI3LjEtNjUuNGw0OC42LTQ4LjZ6Il19LGxRdD1YYixjUXQ9WGIsZFF0PVhiLFFiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LXJvdGF0ZS1yaWdodCIsaWNvbjpbNTEyLDUxMixbODYzNSwiYXJyb3ctcmlnaHQtcm90YXRlIiwiYXJyb3ctcm90YXRlLWZvcndhcmQiLCJyZWRvIl0sImYwMWUiLCJNNDM2LjcgNzQuN0w0NDggODUuNCA0NDggMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDEyOGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsNDcuOSAwLTcuNi03LjJjLS4yLS4yLS40LS40LS42LS42LTc1LTc1LTE5Ni41LTc1LTI3MS41IDBzLTc1IDE5Ni41IDAgMjcxLjUgMTk2LjUgNzUgMjcxLjUgMGM4LjItOC4yIDE1LjUtMTYuOSAyMS45LTI2LjEgMTAuMS0xNC41IDMwLjEtMTggNDQuNi03LjlzMTggMzAuMSA3LjkgNDQuNmMtOC41IDEyLjItMTguMiAyMy44LTI5LjEgMzQuNy0xMDAgMTAwLTI2Mi4xIDEwMC0zNjIgMFMtMjUgMTc1IDc1IDc1Yzk5LjktOTkuOSAyNjEuNy0xMDAgMzYxLjctLjN6Il19LHVRdD1RYixwUXQ9UWIsZlF0PVFiLG05ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW4tY2xpcCIsaWNvbjpbNTEyLDUxMixbInBlbi1hbHQiXSwiZjMwNSIsIk00MDQgMGMxOS4yIDAgMzcuNiA3LjYgNTEuMSAyMS4ybDM1LjcgMzUuN0M1MDQuNCA3MC40IDUxMiA4OC44IDUxMiAxMDhzLTcuNiAzNy42LTIxLjIgNTEuMUw0NDUuOSAyMDQgMzA4IDY2LjEgMzUyLjkgMjEuMkMzNjYuNCA3LjYgMzg0LjggMCA0MDQgMHpNMjc0LjEgMTAwbDAgMCAxMzcuOSAxMzcuOS0yMTUuMSAyMTUuMWMtMTAuNyAxMC43LTI0LjEgMTguNS0zOC43IDIyLjZMMzAuNCA1MTEuMWMtOC4zIDIuMy0xNy4zIDAtMjMuNC02LjJzLTguNS0xNS4xLTYuMi0yMy40TDM2LjQgMzUzLjhjNC4xLTE0LjYgMTEuOC0yNy45IDIyLjYtMzguN0wyNDAuMSAxMzMuOSAyMjMgMTE2LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwTDg5IDIxN2MtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOUwxNTUuMSA4Mi45YzI4LjEtMjguMSA3My43LTI4LjEgMTAxLjggMEwyNzQuMSAxMDB6Il19LGhRdD1tOWUsbVF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRvb3ItY2xvc2VkIixpY29uOls0NDgsNTEyLFsxMjg2ODJdLCJmNTJhIiwiTTMyIDY0QzMyIDI4LjcgNjAuNyAwIDk2IDBMMzUyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzODRjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJMMzIgNTEyYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyTDMyIDY0ek0zMjAgMjg4YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sbXRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24td2lkZS1zaG9ydCIsaWNvbjpbNTc2LDUxMixbInNvcnQtYW1vdW50LWFzYyIsInNvcnQtYW1vdW50LWRvd24iXSwiZjE2MCIsIk0yNDYuNiAzNzQuNmwtOTYgOTZjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC05Ni05NmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAzNzAuNyA5NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzA2LjcgNDEuNC00MS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6TTMyMCA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMHptMC0xMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtOTYgMHptMC0xMjhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYwIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE2MCAwem0wLTEyOGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwyMjQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMjAgOTZ6Il19LGdRdD1tdGUsYlF0PW10ZSx2UXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FyZXQtZG93biIsaWNvbjpbMzIwLDUxMixbXSwiZjBkNyIsIk0xNDAuMyAzNzYuOGMxMi42IDEwLjIgMzEuMSA5LjUgNDIuOC0yLjJsMTI4LTEyOGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVMzMDEuNCAxOTIgMjg4LjUgMTkybC0yNTYgMGMtMTIuOSAwLTI0LjYgNy44LTI5LjYgMTkuOFMuNyAyMzcuNSA5LjkgMjQ2LjZsMTI4IDEyOCAyLjQgMi4yeiJdfSx4UXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiayIsaWNvbjpbMzIwLDUxMixbMTA3XSwiNGIiLCJNMzExIDg2LjNjMTIuMy0xMi43IDEyLTMyLjktLjctNDUuMnMtMzIuOS0xMi00NS4yIC43QzE0My40IDE2Ny4yIDc2LjQgMjM2LjMgNjQgMjQ5TDY0IDY0YzAtMTcuNy0xNC4zLTMyLTMyLTMyUzAgNDYuMyAwIDY0TDAgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMDcgNjQuNy02Ni43IDEzMyAxOTJjMTAuMSAxNC41IDMwIDE4LjEgNDQuNSA4LjFzMTguMS0zMCA4LjEtNDQuNUwxNzQuMSAyMjcuNCAzMTEgODYuM3oiXX0sZzllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNoZWNrLXRvLXNsb3QiLGljb246WzU3Niw1MTIsWyJ2b3RlLXllYSJdLCJmNzcyIiwiTTU1MiAyODhjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCAxMDRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDMxMmMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTA0YzAgOC44IDcuMiAxNiAxNiAxNmw0NDggMGM4LjggMCAxNi03LjIgMTYtMTZsMC0xMDRjMC0xMy4zIDEwLjctMjQgMjQtMjR6TTQxNiAzMmMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDIyNGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMjU2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDk2IDk2YzAtMzUuMyAyOC43LTY0IDY0LTY0bDI1NiAwem0tMzcuMSA4NC42Yy0xMC43LTcuOC0yNS43LTUuNC0zMy41IDUuM2wtODUuNiAxMTcuNy0yNi41LTI3LjRjLTkuMi05LjUtMjQuNC05LjgtMzMuOS0uNi05LjUgOS4yLTkuOCAyNC40LS42IDMzLjlsNDYuNCA0OGM0LjkgNS4xIDExLjggNy44IDE4LjkgNy4zczEzLjYtNC4xIDE3LjgtOS44TDM4NC4yIDE1MC4xYzcuOC0xMC43IDUuNC0yNS43LTUuMy0zMy41eiJdfSx5UXQ9ZzllLHdRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaXNoLWZpbnMiLGljb246WzU3Niw1MTIsW10sImU0ZjIiLCJNMjc1LjIgMzguNGMtMTAuNi04LTI1LTguNS0zNi4zLTEuNVMyMjIgNTcuMyAyMjQuNiA3MC4zbDkuNyA0OC42Yy0xOS40IDktMzYuOSAxOS45LTUyLjQgMzEuNS0xNS4zIDExLjUtMjkgMjMuOS00MC43IDM2LjNMNDguMSAxMzIuNGMtMTIuNS03LjMtMjguNC01LjMtMzguNyA0LjlzLTEyLjQgMjYtNS4zIDM4LjZMNTAgMjU2IDQuMiAzMzYuMWMtNy4yIDEyLjYtNSAyOC40IDUuMyAzOC42czI2LjEgMTIuMiAzOC43IDQuOWw5My4xLTU0LjNjMTEuOCAxMi4zIDI1LjQgMjQuOCA0MC43IDM2LjMgMTUuNSAxMS42IDMzIDIyLjUgNTIuNCAzMS41bC05LjcgNDguNmMtMi42IDEzIDMuMSAyNi4zIDE0LjMgMzMuM3MyNS42IDYuNSAzNi4zLTEuNWw3Ny42LTU4LjJjNTQuOS00IDEwMS41LTI3IDEzNy4yLTUzLjggMzkuMi0yOS40IDY3LjItNjQuNyA4MS42LTg5LjUgNS44LTkuOSA1LjgtMjIuMiAwLTMyLjEtMTQuNC0yNC44LTQyLjUtNjAuMS04MS42LTg5LjUtMzUuOC0yNi44LTgyLjMtNDkuOC0xMzcuMi01My44TDI3NS4yIDM4LjR6TTM4NCAyNTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sTVF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbXByZXNzIixpY29uOls0NDgsNTEyLFtdLCJmMDY2IiwiTTE2MCA2NGMwLTE3LjctMTQuMy0zMi0zMi0zMlM5NiA0Ni4zIDk2IDY0bDAgNjQtNjQgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtOTZ6TTMyIDMyMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw2NCAwIDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC05NiAwek0zNTIgNjRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAtNjR6TTMyMCAzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTY0IDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTk2IDB6Il19LGI5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC1hLXoiLGljb246WzUxMiw1MTIsWyJzb3J0LWFscGhhLXVwIl0sImYxNWUiLCJNNDEyLjYgNDkuN0M0MDcuMiAzOC44IDM5Ni4xIDMyIDM4NCAzMnMtMjMuMiA2LjgtMjguNiAxNy43Yy01MC43IDEwMS4zLTc3LjMgMTU0LjctODAgMTYwLTcuOSAxNS44LTEuNSAzNSAxNC4zIDQyLjlzMzUgMS41IDQyLjktMTQuM2w3LjItMTQuMyA4OC40IDAgNy4yIDE0LjNjNy45IDE1LjggMjcuMSAyMi4yIDQyLjkgMTQuM3MyMi4yLTI3LjEgMTQuMy00Mi45Yy0yLjctNS4zLTI5LjMtNTguNy04MC0xNjB6TTM4NCAxMzUuNmwyMC4yIDQwLjQtNDAuNCAwIDIwLjItNDAuNHpNMjg4IDMyMGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw1MC43IDAtNzMuNCA3My40Yy05LjIgOS4yLTExLjkgMjIuOS02LjkgMzQuOVMzMDcuMSA0ODAgMzIwIDQ4MGwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtNTAuNyAwIDczLjQtNzMuNGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVM0NjAuOSAyODggNDQ4IDI4OGwtMTI4IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0xNTAuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtODAgODBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgMTQxLjMgOTYgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDYuNyAyNS40IDI1LjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtODAtODB6Il19LGtRdD1iOWUsU1F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVzZXItZ3JhZHVhdGUiLGljb246WzQ0OCw1MTIsW10sImY1MDEiLCJNMjQxLjMtMTNjLTExLjQtMi4zLTIzLjEtMi4zLTM0LjUgMEwxOS4zIDI0LjVDOC4xIDI2LjcgMCAzNi42IDAgNDggMCA1OC4zIDYuNSA2Ny4zIDE2IDcwLjZMMTYgMTQ0IC4zIDIyMi42Yy0uMiAuOS0uMyAxLjktLjMgMi45IDAgOCA2LjUgMTQuNiAxNC42IDE0LjZsMzQuOSAwYzggMCAxNC42LTYuNSAxNC42LTE0LjYgMC0xLS4xLTEuOS0uMy0yLjlMNDggMTQ0IDQ4IDc3LjMgOTYgODYuOSA5NiAxNDRjMCA3MC43IDU3LjMgMTI4IDEyOCAxMjhzMTI4LTU3LjMgMTI4LTEyOGwwLTU3LjEgNzYuNy0xNS4zQzQzOS45IDY5LjMgNDQ4IDU5LjQgNDQ4IDQ4cy04LjEtMjEuMy0xOS4zLTIzLjVMMjQxLjMtMTN6TTIyNCAyMjRjLTQ0LjIgMC04MC0zNS44LTgwLTgwbDE2MCAwYzAgNDQuMi0zNS44IDgwLTgwIDgwek0xMjAuMSAzMjAuMUM1OC43IDM0OC4zIDE2IDQxMC4zIDE2IDQ4Mi4zIDE2IDQ5OC43IDI5LjMgNTEyIDQ1LjcgNTEybDE1NC4zIDAgMC0xNDYtNTcuNC00M2MtNi41LTQuOS0xNS4yLTYuMi0yMi42LTIuOHpNMjQ4IDUxMmwxNTQuMyAwYzE2LjQgMCAyOS43LTEzLjMgMjkuNy0yOS43IDAtNzItNDIuNy0xMzQtMTA0LjEtMTYyLjEtNy40LTMuNC0xNi4xLTIuMS0yMi42IDIuOGwtNTcuNCA0MyAwIDE0NnoiXX0selF0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtY29kZSIsaWNvbjpbMzg0LDUxMixbXSwiZjFjOSIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwyMTMuNSAwYzE3IDAgMzMuMyA2LjcgNDUuMyAxOC43TDM2NS4zIDEyNS4zYzEyIDEyIDE4LjcgMjguMyAxOC43IDQ1LjNMMzg0IDQ0OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6bTIwOC01LjVsMCA5My41YzAgMTMuMyAxMC43IDI0IDI0IDI0TDMyNS41IDE3NiAyMDggNTguNXpNMTU0LjIgMjk1LjZjOC42LTEwLjEgNy41LTI1LjItMi42LTMzLjhzLTI1LjItNy41LTMzLjggMi42bC00OCA1NmMtNy43IDktNy43IDIyLjIgMCAzMS4ybDQ4IDU2YzguNiAxMC4xIDIzLjggMTEuMiAzMy44IDIuNnMxMS4yLTIzLjggMi42LTMzLjhsLTM0LjYtNDAuNCAzNC42LTQwLjR6bTExMi0zMS4yYy04LjYtMTAuMS0yMy44LTExLjItMzMuOC0yLjZzLTExLjIgMjMuOC0yLjYgMzMuOGwzNC42IDQwLjQtMzQuNiA0MC40Yy04LjYgMTAuMS03LjUgMjUuMiAyLjYgMzMuOHMyNS4yIDcuNSAzMy44LTIuNmw0OC01NmM3LjctOSA3LjctMjIuMiAwLTMxLjJsLTQ4LTU2eiJdfSxDUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic29hcCIsaWNvbjpbNTEyLDUxMixbMTI5NTMyXSwiZTA2ZSIsIk0yMDgtMzJhNDggNDggMCAxIDEgMCA5NiA0OCA0OCAwIDEgMSAwLTk2ek0zMjAgOTZhNjQgNjQgMCAxIDEgMCAxMjggNjQgNjQgMCAxIDEgMC0xMjh6TTM1MiAwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6TTk2IDE2MGwxMTIgMGMwIDIzLjggNy40IDQ1LjkgMjAuMSA2NEwxNjAgMjI0Yy01MyAwLTk2IDQzLTk2IDk2czQzIDk2IDk2IDk2bDE5MiAwYzUzIDAgOTYtNDMgOTYtOTYgMC0zNS4xLTE4LjktNjUuOS00Ny04Mi42IDE5LTE5LjggMzAuNy00Ni42IDMxLTc2LjEgNDUuNCA3LjYgODAgNDcuMSA4MCA5NC43bDAgMTI4YzAgNTMtNDMgOTYtOTYgOTZMOTYgNDgwYy01MyAwLTk2LTQzLTk2LTk2TDAgMjU2YzAtNTMgNDMtOTYgOTYtOTZ6bTY0IDExMmwxOTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OGwtMTkyIDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4czIxLjUtNDggNDgtNDh6Il19LF9RdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZWN5Y2xlIixpY29uOls1MTIsNTEyLFs5ODQyLDk4NTAsOTg1MV0sImYxYjgiLCJNMTUyLjMgNjBDMTk4LjUtMjAgMzE0LTIwIDM2MC4yIDYwbDM3LjMgNjQuNiAyNy43LTE2YzguNC00LjkgMTguOS00LjIgMjYuNiAxLjdzMTEuMSAxNS45IDguNiAyNS4zTDQzNi45IDIyM2MtMy40IDEyLjgtMTYuNiAyMC40LTI5LjQgMTdsLTg3LjQtMjMuNGMtOS40LTIuNS0xNi4zLTEwLjQtMTcuNi0yMHMzLjQtMTkuMSAxMS44LTIzLjlsMjcuNy0xNi0zNy4zLTY0LjZjLTIxLjYtMzcuMy03NS40LTM3LjMtOTcgMGwtNS4zIDkuMWMtOC44IDE1LjMtMjguNCAyMC41LTQzLjcgMTEuN1MxMzguMiA4NC41IDE0NyA2OS4xbDUuMy05LjF6TTQ0OS43IDI3OS4xYzE1LjMtOC44IDM0LjktMy42IDQzLjcgMTEuN2w1LjMgOS4xYzQ2LjIgODAtMTEuNSAxODAtMTAzLjkgMTgwbC03NC42IDAgMCAzMmMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC02NC02NGMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsNjQtNjRjNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMnMxNC44IDEyLjUgMTQuOCAyMi4ybDAgMzIgNzQuNiAwYzQzLjEgMCA3MC4xLTQ2LjcgNDguNS04NGwtNS4zLTkuMWMtOC44LTE1LjMtMy42LTM0LjkgMTEuNy00My43ek01MSAyMzUuNGwtMjcuNy0xNmMtOC40LTQuOS0xMy4xLTE0LjMtMTEuOC0yMy45czguMi0xNy41IDE3LjYtMjBMMTE2LjUgMTUyYzEyLjgtMy40IDI2IDQuMiAyOS40IDE3bDIzLjQgODcuNGMyLjUgOS40LS45IDE5LjMtOC42IDI1LjNzLTE4LjIgNi42LTI2LjYgMS43bC0yNy43LTE2LTM3LjMgNjQuNmMtMjEuNiAzNy4zIDUuNCA4NCA0OC41IDg0bDEwLjYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTAuNiAwQzI1LjMgNDgwLTMyLjQgMzgwIDEzLjggMzAwTDUxIDIzNS40eiJdfSx2OWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1ncmluLXdpbmsiLGljb246WzUxMiw1MTIsWyJncmluLXdpbmsiXSwiZjU4YyIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMzg2LjcgMzA4LjljMTEuOS0zLjcgMjMuOSA2LjMgMTkuNiAxOC4xLTIyLjQgNjEuMy04MS4zIDEwNS4xLTE1MC4zIDEwNS4xUzEyOC4xIDM4OC4yIDEwNS43IDMyNi45Yy00LjMtMTEuOCA3LjctMjEuOCAxOS42LTE4LjEgMzkuMiAxMi4yIDgzLjcgMTkuMSAxMzAuNyAxOS4xczkxLjUtNi45IDEzMC43LTE5LjF6TTMyOCAxOTZjLTExIDAtMjAgOS0yMCAyMHMtOSAyMC0yMCAyMC0yMC05LTIwLTIwYzAtMzMuMSAyNi45LTYwIDYwLTYwbDE2IDBjMzMuMSAwIDYwIDI2LjkgNjAgNjAgMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwLTktMjAtMjAtMjBsLTE2IDB6TTE3NiAxNzZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxUUXQ9djllLGd0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3YXRlci1sYWRkZXIiLGljb246WzY0MCw1MTIsWyJsYWRkZXItd2F0ZXIiLCJzd2ltbWluZy1wb29sIl0sImY1YzUiLCJNMzc0LjUgNDA1LjdjMzguNC0yOSA5MC41LTI5IDEyOSAwIDE2LjkgMTIuNyAzMi45IDIxLjUgNDcuOCAyNC42IDEzLjcgMi44IDI3LjQgLjkgNDIuMy0xMC4zIDEwLjYtOCAyNS42LTUuOSAzMy42IDQuN3M1LjggMjUuNy00LjggMzMuNmMtMjYuNCAxOS45LTU0LjIgMjQuNC04MC43IDE5LjEtMjUuMy01LjEtNDguMS0xOC45LTY3LjItMzMuMy0yMS4zLTE2LjEtNDkuOS0xNi4xLTcxLjIgMC0yNC4yIDE4LjMtNTIuMyAzNS45LTgzLjQgMzUuOXMtNTkuMS0xNy43LTgzLjMtMzUuOWMtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDAtMjMuOCAxNy45LTU0LjEgMzUuNS04OC4xIDM1LjMtMjAuNC0uMS00MC43LTYuNy01OS44LTIxLjEtMTAuNi04LTEyLjctMjMtNC43LTMzLjZzMjMtMTIuNyAzMy42LTQuN2MxMS4zIDguNSAyMS42IDExLjQgMzEuMiAxMS41IDE3LjYgLjEgMzcuMy05LjQgNTguOS0yNS43IDM4LjQtMjkgOTAuNi0yOSAxMjkgMCAyNCAxOC4xIDQwLjcgMjYuMyA1NC41IDI2LjNzMzAuNS04LjIgNTQuNS0yNi4zek01MTEuOCAzMmM0OC4zIDAgODkgMzYgOTUgODMuOWwxIDguMmMyLjIgMTcuNS0xMC4yIDMzLjUtMjcuOCAzNS43cy0zMy41LTEwLjItMzUuNy0yNy44bC0xLTguMmMtMi0xNS45LTE1LjUtMjcuOC0zMS41LTI3LjgtMTcuNSAwLTMxLjggMTQuMi0zMS44IDMxLjhsMCAyMTEuOGMtMjMuMS01LjEtNDQuOS00LjQtNjQtLjRsMC01MS4yLTE5MiAwIDAgNDguN2MtNS4zLS41LTEwLjctLjgtMTYtLjctMTYuMiAuMS0zMi40IDIuNy00OCA4bDAtMjE2LjJjMC01Mi45IDQyLjktOTUuOCA5NS43LTk1LjggNDguMyAwIDg5IDM2IDk1IDgzLjlsMSA4LjJjMi4yIDE3LjUtMTAuMiAzMy41LTI3LjggMzUuN3MtMzMuNS0xMC4yLTM1LjctMjcuOGwtMS04LjJjLTItMTUuOS0xNS41LTI3LjgtMzEuNS0yNy44LTE3LjUgMC0zMS43IDE0LjItMzEuNyAzMS44bDAgOTYuMiAxOTIgMCAwLTk2LjJDNDE2IDc0LjkgNDU4LjkgMzIgNTExLjggMzJ6Il19LExRdD1ndGUsJFF0PWd0ZSxEUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZ2VtaW5pIixpY29uOls0NDgsNTEyLFtdLCJlODQ5IiwiTTM5NS40IDhjMTMuMi0xMS43IDMzLjMtMTAuNSA0NS4xIDIuNyAxMS43IDEzLjIgMTAuNSAzMy40LTIuNyA0NS4yLTIuNyAyLjQtMjMuMSAxOS44LTU4LjMgMzYuOC04LjIgNC0xNy4yIDcuOS0yNyAxMS42bDAgMzAzLjJjOS44IDMuOCAxOC44IDcuNiAyNyAxMS42IDE4LjIgOC44IDMyLjQgMTcuNyA0Mi4yIDI0LjUgMyAyLjEgNS41IDQuMSA3LjcgNS43IDEuMiAuOSAyLjMgMS42IDMuMiAyLjQgLjIgLjEgLjMgLjIgLjUgLjQgMS4zIDEuMSAyLjQgMiAzLjIgMi42IC40IC4zIC43IC42IC45IC44IC4xIC4xIC4zIC4yIC4zIC4zIDAgMCAuMSAuMSAuMSAuMWwuMSAwIDAgMCAwIDBjMy4zIDIuOSA1LjkgNi40IDcuNyAxMC4yIDUuNCAxMS4zIDMuOCAyNS4xLTUgMzUtLjMgLjQtLjcgLjctMS4xIDEuMS0xMS45IDEyLjItMzEuMiAxMy4xLTQ0IDEuNy0uMy0uMy0xLjUtMS4zLTMuNS0yLjgtLjQtLjMtLjktLjctMS41LTEuMS0xLjktMS40LTQuMi0zLjEtNy4xLTUuMS0yLjItMS41LTQuNy0zLjEtNy40LTQuOC02LjYtNC4xLTE0LjgtOC44LTI0LjQtMTMuNS03LjQtMy42LTE1LjYtNy4yLTI0LjctMTAuNS0xMy42LTUuMS0yOS05LjYtNDYuMS0xMi45LTUuNy0xLjEtMTEuNi0yLjEtMTcuNy0yLjgtMTIuMS0xLjYtMjUtMi41LTM4LjYtMi41LTU0LjIgMC05Ny40IDE0LjQtMTI3IDI4LjgtMy40IDEuNi02LjUgMy4zLTkuNSA0LjktNS4xIDIuOC05LjcgNS40LTEzLjggNy45LTMuMyAyLjEtNi4zIDQtOC45IDUuNy0xLjcgMS4yLTMuMiAyLjMtNC42IDMuMy0xLjkgMS40LTMuNSAyLjUtNC42IDMuNC0xLjQgMS4xLTIuMiAxLjgtMi41IDItMTMuMiAxMS43LTMzLjMgMTAuNS00NS4xLTIuOC0yLjItMi41LTQtNS4yLTUuMi04LjFzLTIuMS01LjktMi41LTguOWMtMS40LTEwLjIgMi4yLTIwLjggMTAuNC0yOC4yIC4yLS4yIC42LS41IDEuMi0xIC4xLS4xIC4yLS4yIC4zLS4zbDMuMi0yLjZjMS43LTEuMyAzLjctMi44IDYuMi00LjYgMS42LTEuMiAzLjMtMi41IDUuMi0zLjggOS44LTYuOCAyNC0xNS43IDQyLjItMjQuNSA4LjItNCAxNy4yLTcuOSAyNy0xMS42bDAtMzAzLjJDODYuNyAxMDAuNiA3Ny43IDk2LjcgNjkuNSA5Mi44IDM0LjMgNzUuNyAxNCA1OC4zIDExLjMgNTUuOS0xLjkgNDQuMi0zLjEgMjQgOC42IDEwLjcgMjAuMy0yLjUgNDAuNS0zLjcgNTMuNyA4IDU1LjEgOS4yIDcwLjcgMjIuMiA5Ny41IDM1LjIgMTI3LjEgNDkuNiAxNzAuMyA2NCAyMjQuNSA2NHM5Ny40LTE0LjQgMTI3LTI4LjhjMjYuOC0xMyA0Mi40LTI2IDQzLjgtMjcuMnpNMjg4LjUgMTIyLjNjLTE5LjcgMy41LTQxIDUuNy02NCA1LjdzLTQ0LjMtMi4yLTY0LTUuN2wwIDI2Ny40YzEyLjYtMi4zIDI1LjktNCAzOS45LTQuOSA3LjgtLjUgMTUuOC0uOCAyNC0uOCAyMyAwIDQ0LjQgMi4yIDY0IDUuN2wwLTI2Ny40eiJdfSxBUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidG93ZXItY2VsbCIsaWNvbjpbNTc2LDUxMixbXSwiZTU4NSIsIk01OS42IDkuOEM0Ny4zIDQuOCAzMy4zIDEwLjcgMjguNCAyMyAxNS4yIDU1LjUgOCA5MC45IDggMTI4czcuMiA3Mi41IDIwLjQgMTA1YzUgMTIuMyAxOSAxOC4yIDMxLjMgMTMuMnMxOC4yLTE5IDEzLjItMzEuM0M2MiAxODguMiA1NiAxNTguOCA1NiAxMjhzNi02MC4yIDE2LjktODdjNS0xMi4zLTEtMjYuMy0xMy4yLTMxLjN6bTQ1Ni44IDBjLTEyLjMgNS0xOC4yIDE5LTEzLjIgMzEuMyAxMC45IDI2LjggMTYuOSA1Ni4yIDE2LjkgODdzLTYgNjAuMi0xNi45IDg3Yy01IDEyLjMgMSAyNi4zIDEzLjIgMzEuM3MyNi4zLTEgMzEuMy0xMy4yYzEzLjEtMzIuNSAyMC40LTY3LjkgMjAuNC0xMDVzLTcuMi03Mi41LTIwLjQtMTA1Yy01LTEyLjMtMTktMTguMi0zMS4zLTEzLjJ6TTM0MC4xIDE2NS4yYzcuNS0xMC41IDExLjktMjMuMyAxMS45LTM3LjIgMC0zNS4zLTI4LjctNjQtNjQtNjRzLTY0IDI4LjctNjQgNjRjMCAxMy45IDQuNCAyNi43IDExLjkgMzcuMkw5OC45IDQ2Ni44Yy03LjMgMTYuMS0uMiAzNS4xIDE1LjkgNDIuNHMzNS4xIC4yIDQyLjQtMTUuOWwyMC42LTQ1LjIgMjIwLjYgMCAyMC42IDQ1LjJjNy4zIDE2LjEgMjYuMyAyMy4yIDQyLjQgMTUuOXMyMy4yLTI2LjMgMTUuOS00Mi40TDM0MC4xIDE2NS4yek0zNzYuNSA0MDBsLTE3NyAwIDIxLjgtNDggMTMzLjMgMCAyMS44IDQ4ek0yODggMjA1LjNsNDQuOCA5OC43LTg5LjcgMCA0NC44LTk4Ljd6TTE2My4zIDczLjZjNS4zLTEyLjEtLjItMjYuMy0xMi40LTMxLjZzLTI2LjMgLjItMzEuNiAxMi40QzEwOS41IDc3IDEwNCAxMDEuOSAxMDQgMTI4czUuNSA1MSAxNS4zIDczLjZjNS4zIDEyLjEgMTkuNSAxNy43IDMxLjYgMTIuNHMxNy43LTE5LjUgMTIuNC0zMS42QzE1NiAxNjUuOCAxNTIgMTQ3LjQgMTUyIDEyOHM0LTM3LjggMTEuMy01NC40ek00NTYuNyA1NC40Yy01LjMtMTIuMS0xOS41LTE3LjctMzEuNi0xMi40cy0xNy43IDE5LjUtMTIuNCAzMS42QzQyMCA5MC4yIDQyNCAxMDguNiA0MjQgMTI4cy00IDM3LjgtMTEuMyA1NC40Yy01LjMgMTIuMSAuMiAyNi4zIDEyLjQgMzEuNnMyNi4zLS4yIDMxLjYtMTIuNEM0NjYuNSAxNzkgNDcyIDE1NC4xIDQ3MiAxMjhzLTUuNS01MS0xNS4zLTczLjZ6Il19LEVRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2xvbi1zaWduIixpY29uOlszODQsNTEyLFtdLCJlMTQwIiwiTTIxMy44IDguN2MxMi45IDMuMiAyMC43IDE2LjIgMTcuNSAyOS4xbC00LjYgMTguNWMxNS40IC44IDMwLjQgMy40IDQ0LjcgNy41bDkuNC0zNy42QzI4My45IDEzLjMgMjk3IDUuNSAzMDkuOCA4LjdTMzMwLjUgMjUgMzI3LjMgMzcuOEwzMTYgODIuOGMxMy41IDcuOCAyNiAxNy4xIDM3LjIgMjcuOCAxMi45IDEyLjEgMTMuNCAzMi40IDEuMyA0NS4ycy0zMi40IDEzLjQtNDUuMiAxLjNjLTMuMS0yLjktNi40LTUuOC05LjgtOC40TDIzOS4yIDM5MGMyNi45LTQuNiA1MS4xLTE3LjEgNzAuMS0zNS4xIDEyLjktMTIuMSAzMy4xLTExLjUgNDUuMiAxLjNzMTEuNSAzMy4xLTEuMyA0NS4yYy0zNC4zIDMyLjMtODAgNTIuOC0xMzAuNSA1NC40bC03LjUgMjkuOWMtMy4yIDEyLjktMTYuMiAyMC43LTI5LjEgMTcuNXMtMjAuNy0xNi4yLTE3LjUtMjkuMWw1LjYtMjIuNWMtMTUtMy4yLTI5LjQtOC00Mi45LTE0LjRsLTEyLjEgNDguNWMtMy4yIDEyLjktMTYuMiAyMC43LTI5LjEgMTcuNVM2OS41IDQ4NyA3Mi43IDQ3NC4ybDE2LTYzLjlDNDQuMyAzNzMuNiAxNiAzMTguMSAxNiAyNTYgMTYgMTU5LjIgODQuOCA3OC40IDE3Ni4zIDYwbDguNC0zMy44QzE4Ny45IDEzLjMgMjAxIDUuNSAyMTMuOCA4Ljd6TTE1OCAxMzIuOWMtNDYuMSAyMS44LTc4IDY4LjctNzggMTIzLjEgMCAzMC41IDEwIDU4LjYgMjYuOSA4MS4zTDE1OCAxMzIuOXpNMTQ3LjQgMzczLjRjMTMgNy42IDI3LjMgMTMuMSA0Mi41IDE2LjFsNjUuOS0yNjMuNmMtMTIuNi0zLjgtMjUuOS01LjktMzkuOC01LjktMS44IDAtMy41IDAtNS4zIC4xTDE0Ny40IDM3My40eiJdfSxQUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGFwdG9wLWZpbGUiLGljb246WzU3Niw1MTIsW10sImU1MWQiLCJNNjQgNjRDNjQgMjguNyA5Mi43IDAgMTI4IDBMNDE2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCA0OC02NCAwIDAtNDgtMjg4IDAgMCAxOTIgMTEyIDAgMCA5Ni0xNjMuMiAwQzM0LjQgMzUyIDAgMzE3LjYgMCAyNzUuMiAwIDI2NC42IDguNiAyNTYgMTkuMiAyNTZMNjQgMjU2IDY0IDY0ek01MjkuOSAyNTcuOWM5IDkgMTQuMSAyMS4yIDE0LjEgMzMuOUw1NDQgNDY0YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xNjAgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0yNTZjMC0yNi41IDIxLjUtNDggNDgtNDhsNzYuMSAwYzEyLjcgMCAyNC45IDUuMSAzMy45IDE0LjEgMjAgMjAgNDcuOSA0Ny45IDgzLjkgODMuOXpNNDE2IDI3MmMwIDguOCA3LjIgMTYgMTYgMTZsNjAuMSAwLTc2LjEtNzYuMSAwIDYwLjF6Il19LHg5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYWhhaSIsaWNvbjpbNTc2LDUxMixbImhheWthbCJdLCJmNjY2IiwiTTI4OC40LThjMTMuMiAwIDI1IDguMSAyOS44IDIwLjRsMzEuOSA4MiA3Ny4yLTQyLjNjMTEuNi02LjMgMjUuOC00LjkgMzUuOSAzLjVzMTQgMjIuMyA5LjcgMzQuOGwtMjguMiA4My4zIDg2LjMgMTcuMmMxMi45IDIuNiAyMyAxMi44IDI1LjMgMjUuOHMtMy42IDI2LjEtMTQuOSAzMi45bC03NS4yIDQ1LjcgNTUgNjguNmM4LjMgMTAuMyA5LjMgMjQuNiAyLjcgMzZzLTE5LjUgMTcuNi0zMi42IDE1LjZsLTg3LTEzLjMtMiA4OGMtLjMgMTMuMi04LjYgMjQuOC0yMSAyOS40cy0yNi4zIDEtMzUtOWwtNTgtNjYuMS01OCA2Ni4xYy04LjcgOS45LTIyLjYgMTMuNS0zNSA5cy0yMC44LTE2LjItMjEtMjkuNGwtMi04OC04NyAxMy4zYy0xMyAyLTI2LTQuMi0zMi42LTE1LjZzLTUuNS0yNS43IDIuNy0zNmw1NS02OC42LTc1LjItNDUuN2MtMTEuMy02LjgtMTcuMi0xOS45LTE0LjktMzIuOXMxMi4zLTIzLjIgMjUuMy0yNS44bDg2LjMtMTcuMi0yOC4yLTgzLjNjLTQuMi0xMi41LS40LTI2LjMgOS43LTM0LjhzMjQuNC05LjkgMzUuOS0zLjVsNzcuMSA0Mi4zIDMxLjktODJDMjYzLjMgLjEgMjc1LjItOCAyODguNC04em0wIDEyMC4yTDI3MyAxNTEuNmMtMy4zIDguNi0xMC4yIDE1LjMtMTguOSAxOC41cy0xOC4yIDIuNC0yNi4zLTJsLTM3LTIwLjMgMTMuNiA0MGMzIDguNyAyIDE4LjMtMi42IDI2LjNzLTEyLjQgMTMuNi0yMS41IDE1LjRsLTQxLjQgOC4zIDM2LjEgMjEuOWM3LjkgNC44IDEzLjMgMTIuNyAxNC45IDIxLjhzLS44IDE4LjQtNi41IDI1LjZsLTI2LjQgMzMgNDEuOC02LjRjOS4xLTEuNCAxOC40IDEuMiAyNS40IDcuMXMxMS4yIDE0LjYgMTEuNCAyMy44bC45IDQyLjIgMjcuOS0zMS44YzYuMS02LjkgMTQuOC0xMC45IDI0LjEtMTAuOXMxOCA0IDI0LjEgMTAuOWwyNy45IDMxLjggLjktNDIuMmMuMi05LjIgNC40LTE3LjkgMTEuNC0yMy44czE2LjMtOC41IDI1LjQtNy4xbDQxLjggNi40LTI2LjQtMzNjLTUuOC03LjItOC4yLTE2LjUtNi42LTI1LjZzNy0xNyAxNC45LTIxLjhsMzYuMS0yMS45LTQxLjQtOC4zYy05LTEuOC0xNi45LTcuNC0yMS41LTE1LjRzLTUuNS0xNy42LTIuNi0yNi4zbDEzLjYtNDAtMzcgMjAuM2MtOC4xIDQuNC0xNy43IDUuMi0yNi4zIDJzLTE1LjUtOS45LTE4LjktMTguNWwtMTUuMy0zOS40eiJdfSxJUXQ9eDllLHk5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb25leS1iaWxsLTEiLGljb246WzUxMiw1MTIsWyJtb25leS1iaWxsLWFsdCJdLCJmM2QxIiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0em0xOTIgODBhMTEyIDExMiAwIDEgMSAwIDIyNCAxMTIgMTEyIDAgMSAxIDAtMjI0ek02NCAxODRsMC00OGMwLTQuNCAzLjYtOCA4LThsNDggMGM0LjQgMCA4LjEgMy42IDcuNSA4LTMuNiAyOS0yNi42IDUxLjktNTUuNSA1NS41LTQuNCAuNS04LTMuMS04LTcuNXptMCAxNDRjMC00LjQgMy42LTguMSA4LTcuNSAyOSAzLjYgNTEuOSAyNi42IDU1LjUgNTUuNSAuNSA0LjQtMy4xIDgtNy41IDhsLTQ4IDBjLTQuNCAwLTgtMy42LTgtOGwwLTQ4ek00NDAgMTkxLjVjLTI5LTMuNi01MS45LTI2LjYtNTUuNS01NS41LS41LTQuNCAzLjEtOCA3LjUtOGw0OCAwYzQuNCAwIDggMy42IDggOGwwIDQ4YzAgNC40LTMuNiA4LjEtOCA3LjV6TTQ0OCAzMjhsMCA0OGMwIDQuNC0zLjYgOC04IDhsLTQ4IDBjLTQuNCAwLTguMS0zLjYtNy41LTggMy42LTI5IDI2LjYtNTEuOSA1NS41LTU1LjUgNC40LS41IDggMy4xIDggNy41ek0yNDAgMTg4Yy0xMSAwLTIwIDktMjAgMjAgMCA5LjcgNi45IDE3LjcgMTYgMTkuNmwwIDQ4LjQtNCAwYy0xMSAwLTIwIDktMjAgMjBzOSAyMCAyMCAyMGw0OCAwYzExIDAgMjAtOSAyMC0yMHMtOS0yMC0yMC0yMGwtNCAwIDAtNjhjMC0xMS05LTIwLTIwLTIwbC0xNiAweiJdfSxOUXQ9eTllLHc5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjbG91ZC1ib2x0IixpY29uOls1MTIsNTEyLFsxMjc3ODUsInRodW5kZXJzdG9ybSJdLCJmNzZjIiwiTTAgMjI0YzAgNTMgNDMgOTYgOTYgOTZsMzguNiAwIDEyNC4xLTExMWMxMi4yLTEwLjkgMjgtMTcgNDQuNC0xNyA0NC42IDAgNzYuNSA0MyA2My43IDg1LjdMMzU0LjEgMzIwIDQxNiAzMjBjNTMgMCA5Ni00MyA5Ni05NnMtNDMtOTYtOTYtOTZjLS41IDAtMS4xIDAtMS42IDAgMS4xLTUuMiAxLjYtMTAuNSAxLjYtMTYgMC00NC4yLTM1LjgtODAtODAtODAtMjQuMyAwLTQ2LjEgMTAuOS02MC44IDI4LTE4LjctMzUuNy01Ni4xLTYwLTk5LjItNjAtNjEuOSAwLTExMiA1MC4xLTExMiAxMTIgMCA3LjEgLjcgMTQuMSAxLjkgMjAuOC0zOC4zIDEyLjYtNjUuOSA0OC43LTY1LjkgOTEuMnpNMTYwLjYgNDAwbDYxLjggMC0zMS4yIDEwNC4xYy0zLjYgMTEuOSA1LjMgMjMuOSAxNy44IDIzLjkgNC42IDAgOS0xLjcgMTIuNC00LjdMMzYyLjUgMzk2LjljMy41LTMuMSA1LjUtNy42IDUuNS0xMi40IDAtOS4yLTcuNC0xNi42LTE2LjYtMTYuNmwtNjEuOCAwIDMxLjItMTA0LjFjMy42LTExLjktNS4zLTIzLjktMTcuOC0yMy45LTQuNiAwLTkgMS43LTEyLjQgNC43TDE0OS41IDM3MS4xYy0zLjUgMy4xLTUuNSA3LjYtNS41IDEyLjQgMCA5LjIgNy40IDE2LjYgMTYuNiAxNi42eiJdfSxSUXQ9dzllLE9RdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJldGhlcm5ldCIsaWNvbjpbNTEyLDUxMixbXSwiZjc5NiIsIk0wIDIyNEwwIDQxNmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwIDAtMTA0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMDQgNjQgMCAwLTEwNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0bDAgMTA0IDY0IDAgMC0xMDRjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDEwNCA2NCAwIDAtMTA0YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCAxMDQgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTE5MmMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0zMiAwIDAtMzJjMC0xNy43LTE0LjMtMzItMzItMzJMMTYwIDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMmwwIDMyLTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMzItMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6Il19LE05ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJocnl2bmlhLXNpZ24iLGljb246WzM4NCw1MTIsWzgzNzIsImhyeXZuaWEiXSwiZjZmMiIsIk0zMzYgMTQ5LjRDMzM2IDc3IDI2OC41IDIzLjUgMTk4IDQwLjFMOTMuMiA2NC45Qzc2IDY4LjkgNjUuNCA4Ni4yIDY5LjQgMTAzLjRzMjEuMyAyNy45IDM4LjUgMjMuOGwxMDQuOC0yNC43YzMwLjMtNy4xIDU5LjMgMTUuOCA1OS4zIDQ2LjkgMCAxNy42LTkuNiAzMy44LTI1IDQyLjNsLS43IC40LTIyMi4zIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzM2IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMyLjQgMGM1LjUtMTMuMyA4LjQtMjcuOCA4LjQtNDIuNnpNMzYwIDI3MkwyNCAyNzJjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzMuMyAwYy02LjEgMTMuNC05LjMgMjguMS05LjMgNDMuMyAwIDY0LjEgNTYuOSAxMTMuNCAxMjAuNCAxMDQuMmwxMzcuOS0xOS45YzE3LjUtMi41IDI5LjYtMTguNyAyNy4xLTM2LjJzLTE4LjgtMjkuNi0zNi4yLTI3LjFMMTU5LjIgNDA0LjJjLTI0LjkgMy42LTQ3LjItMTUuNy00Ny4yLTQwLjkgMC0xNS4xIDguMi0yOC45IDIxLjQtMzYuMmwxMy03LjEgMjEzLjYgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNHoiXX0sRlF0PU05ZSxxdGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZXllLXNsYXNoIixpY29uOls1NzYsNTEyLFtdLCJmMDcwIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTk2LjQtOTYuNGMyLjctMi40IDUuNC00LjggOC03LjIgNDYuOC00My41IDc4LjEtOTUuNCA5My0xMzEuMSAzLjMtNy45IDMuMy0xNi43IDAtMjQuNi0xNC45LTM1LjctNDYuMi04Ny43LTkzLTEzMS4xLTQ3LjEtNDMuNy0xMTEuOC04MC42LTE5Mi42LTgwLjYtNTYuOCAwLTEwNS42IDE4LjItMTQ2IDQ0LjJMNDEtMjQuOXpNMjA0LjUgMTM4LjdjMjMuNS0xNi44IDUyLjQtMjYuNyA4My41LTI2LjcgNzkuNSAwIDE0NCA2NC41IDE0NCAxNDQgMCAzMS4xLTkuOSA1OS45LTI2LjcgODMuNWwtMzQuNy0zNC43YzEyLjctMjEuNCAxNy00Ny43IDEwLjEtNzMuNy0xMy43LTUxLjItNjYuNC04MS42LTExNy42LTY3LjktOC42IDIuMy0xNi43IDUuNy0yNCAxMGwtMzQuNy0zNC43ek0zMjUuMyAzOTUuMWMtMTEuOSAzLjItMjQuNCA0LjktMzcuMyA0LjktNzkuNSAwLTE0NC02NC41LTE0NC0xNDQgMC0xMi45IDEuNy0yNS40IDQuOS0zNy4zTDY5LjQgMTM5LjJjLTMyLjYgMzYuOC01NSA3NS44LTY2LjkgMTA0LjUtMy4zIDcuOS0zLjMgMTYuNyAwIDI0LjYgMTQuOSAzNS43IDQ2LjIgODcuNyA5MyAxMzEuMSA0Ny4xIDQzLjcgMTExLjggODAuNiAxOTIuNiA4MC42IDM3LjMgMCA3MS4yLTcuOSAxMDEuNS0yMC42bC02NC4yLTY0LjJ6Il19LGs5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYXJ0LWZsYXRiZWQtc3VpdGNhc2UiLGljb246WzU3Niw1MTIsWyJsdWdnYWdlLWNhcnQiXSwiZjU5ZCIsIk0wIDMyQzAgMTQuMyAxNC4zIDAgMzIgMEw0OCAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgMjg4YzAgOC44IDcuMiAxNiAxNiAxNmw0MDAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzQuNyAwYzEuOCA1IDIuNyAxMC40IDIuNyAxNiAwIDI2LjUtMjEuNSA0OC00OCA0OHMtNDgtMjEuNS00OC00OGMwLTUuNiAxLTExIDIuNy0xNmwtMTk3LjUgMGMxLjggNSAyLjcgMTAuNCAyLjcgMTYgMCAyNi41LTIxLjUgNDgtNDggNDhzLTQ4LTIxLjUtNDgtNDhjMC02IDEuMS0xMS43IDMuMS0xNy0zOC4xLTYuMi02Ny4xLTM5LjItNjcuMS03OUw2NCA4MGMwLTguOC03LjItMTYtMTYtMTZMMzIgNjRDMTQuMyA2NCAwIDQ5LjcgMCAzMnpNMTc2IDE0NGMwLTI2LjUgMjEuNS00OCA0OC00OGwzMiAwIDAtMjRjMC0zMC45IDI1LjEtNTYgNTYtNTZsNjQgMGMzMC45IDAgNTYgMjUuMSA1NiA1NmwwIDI0IDMyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNDRjMCAyNi41LTIxLjUgNDgtNDggNDhsLTI0MCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE0NHpNMzg0IDk2bDAtMjRjMC00LjQtMy42LTgtOC04bC02NCAwYy00LjQgMC04IDMuNi04IDhsMCAyNCA4MCAweiJdfSxCUXQ9azllLEhRdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyYWRpYXRpb24iLGljb246WzU3Niw1MTIsW10sImY3YjkiLCJNNDQ2LjIgMzQuNWMtMTQuMi0xMC4xLTMzLjUtNC42LTQyLjIgMTAuNUwzMzEuNiAxNzAuM2MzMS4zIDE1LjggNTIuOCA0OC4zIDUyLjggODUuN2wxNDQgMGMxNy43IDAgMzIuMi0xNC40IDMwLjEtMzEuOS05LjEtNzguMS01MS40LTE0Ni4xLTExMi4zLTE4OS42ek0xNzIuNyA0NC45QzE2NCAyOS44IDE0NC43IDI0LjMgMTMwLjUgMzQuNSA2OS42IDc3LjkgMjcuMyAxNDUuOSAxOC4yIDIyNC4xIDE2LjEgMjQxLjYgMzAuNyAyNTYgNDguMyAyNTZsMTQ0IDBjMC0zNy41IDIxLjUtNjkuOSA1Mi44LTg1LjdMMTcyLjcgNDQuOXptLTkuNCA0MTYuOGMtOC43IDE1LjEtMy44IDM0LjUgMTIgNDEuOCAzNC40IDE1LjcgNzIuNyAyNC41IDExMyAyNC41czc4LjYtOC44IDExMy0yNC41YzE1LjgtNy4yIDIwLjctMjYuNyAxMi00MS44TDM0MSAzMzYuM2MtMTUuMSA5LjktMzMuMiAxNS43LTUyLjYgMTUuN3MtMzcuNS01LjgtNTIuNi0xNS43TDE2My4zIDQ2MS43ek0yODguMyAzMDRhNDggNDggMCAxIDAgLS43LTk2IDQ4IDQ4IDAgMSAwIC43IDk2eiJdfSxxUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS13b3JkIixpY29uOlszODQsNTEyLFtdLCJmMWMyIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek0xMzUuNCAyNzQuOGMtMi45LTEyLjktMTUuNy0yMS4xLTI4LjYtMTguMnMtMjEuMSAxNS43LTE4LjIgMjguNmwzMiAxNDRjMi4zIDEwLjUgMTEuNCAxOC4yIDIyLjIgMTguOHMyMC42LTYuMSAyNC0xNi40bDI1LjItNzUuNyAyNS4yIDc1LjdjMy40IDEwLjIgMTMuMiAxNi45IDI0IDE2LjRzMTkuOS04LjIgMjIuMi0xOC44bDMyLTE0NGMyLjktMTIuOS01LjMtMjUuOC0xOC4yLTI4LjZzLTI1LjggNS4zLTI4LjYgMTguMmwtMTMuMiA1OS40LTIwLjYtNjEuOGMtMy4zLTkuOC0xMi40LTE2LjQtMjIuOC0xNi40cy0xOS41IDYuNi0yMi44IDE2LjRsLTIwLjYgNjEuOC0xMy4yLTU5LjR6Il19LFM5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiZWQtcHVsc2UiLGljb246WzY0MCw1MTIsWyJwcm9jZWR1cmVzIl0sImY0ODciLCJNNTMxLjItMjIuNEw1NzIgMzIgNjE2IDMyYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC01NiAwYy03LjYgMC0xNC43LTMuNi0xOS4yLTkuNmwtMjQuMS0zMi4xLTQ3IDk5LjljLTMuNyA3LjgtMTEuMyAxMy4xLTE5LjkgMTMuN3MtMTYuOS0zLjQtMjEuNy0xMC42TDM4Ny4yIDgwIDM0NCA4MGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw1NiAwYzggMCAxNS41IDQgMjAgMTAuN2wyNC40IDM2LjYgNDUuOS05Ny41YzMuNi03LjYgMTAuOS0xMi44IDE5LjMtMTMuN3MxNi42IDIuNyAyMS42IDkuNXpNMzIwIDE2MGMwLTE3LjcgMTQuMy0zMiAzMi0zMmw5LjUgMCAyNi42IDM5LjljMTQuNCAyMS42IDM5LjMgMzMuOCA2NS4yIDMxLjlzNDguOC0xNy42IDU5LjgtNDEuMUw1MjcgMTI5LjJjNDUuOSA3LjIgODEgNDYuOSA4MSA5NC44bDAgMjI0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjQtNDQ4IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMkwzMiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMlM5NiA0Ni4zIDk2IDY0bDAgMjI0IDIyNCAwIDAtMTI4ek0xNDQgMTkyYTY0IDY0IDAgMSAxIDEyOCAwIDY0IDY0IDAgMSAxIC0xMjggMHoiXX0sVlF0PVM5ZSxqUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVudHMiLGljb246WzU3Niw1MTIsW10sImU1ODIiLCJNNTM5LjkgMzUybC05NS42IDAtOC40LTY2LjFjLTIuOS0yMy4yLTE1LjktNDMuOS0zNS40LTU2LjhMMjUyLjIgMTMxLjVjLTE4LTExLjktMzkuNy0xNS43LTYwLjEtMTEuNSAyLjUtNC4zIDUuOS03LjkgMTAuMS0xMC43TDM1MC42IDExLjZjMTAuNy03IDI0LjUtNyAzNS4yIDBsMTQ4LjQgOTcuN2M3LjggNS4xIDEzIDEzLjQgMTQuMiAyMi43bDIzLjMgMTg0YzIuNCAxOS4xLTEyLjUgMzYtMzEuNyAzNnpNNC44IDQ3NmwyMy4zLTE4NGMxLjItOS4zIDYuMy0xNy42IDE0LjItMjIuN2wxNDguNC05Ny43YzEwLjctNyAyNC41LTcgMzUuMiAwbDE0OC40IDk3LjdjNy44IDUuMSAxMyAxMy40IDE0LjIgMjIuN2wyMy4zIDE4NGMyLjQgMTkuMS0xMi41IDM2LTMxLjcgMzZsLTQ5LjcgMGMtMTEuMiAwLTIxLjUtNS44LTI3LjMtMTUuNGwtNzctMTI2LjdjLTEuNy0yLjgtNC44LTQuNi04LjEtNC42LTUuMyAwLTkuNSA0LjMtOS41IDkuNWwwIDEwNS4yYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDM2LjUgNTEyYy0xOS4zIDAtMzQuMi0xNi45LTMxLjctMzZ6Il19LFZ0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtdWctaG90IixpY29uOls1NzYsNTEyLFs5NzQ5XSwiZjdiNiIsIk0xNTItMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0IDAgMzguOSAyMy40IDU5LjQgMzkuMSA3My4xbDEuMSAxYzE2LjMgMTQuMyAyMy44IDIxLjggMjMuOCAzNy45IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zOC45LTIzLjQtNTkuNC0zOS4xLTczLjFsLTEuMS0xQzE4My41IDMxLjcgMTc2IDI0LjEgMTc2IDggMTc2LTUuMyAxNjUuMy0xNiAxNTItMTZ6TTk2IDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAxOTJjMCA1MyA0MyA5NiA5NiA5NmwxOTIgMGM0MS44IDAgNzcuNC0yNi43IDkwLjUtNjRsNS41IDBjNzAuNyAwIDEyOC01Ny4zIDEyOC0xMjhTNTE4LjcgMTkyIDQ0OCAxOTJMOTYgMTkyek00NDggMzg0bDAtMTI4YzM1LjMgMCA2NCAyOC43IDY0IDY0cy0yOC43IDY0LTY0IDY0ek0yODggOGMwLTEzLjMtMTAuNy0yNC0yNC0yNFMyNDAtNS4zIDI0MCA4YzAgMzguOSAyMy40IDU5LjQgMzkuMSA3My4xbDEuMSAxYzE2LjMgMTQuMyAyMy44IDIxLjggMjMuOCAzNy45IDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0zOC45LTIzLjQtNTkuNC0zOS4xLTczLjFsLTEuMS0xQzI5NS41IDMxLjcgMjg4IDI0LjEgMjg4IDh6Il19LHo5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib2x0IixpY29uOls0NDgsNTEyLFs5ODg5LCJ6YXAiXSwiZjBlNyIsIk0zMzguOC05LjljMTEuOSA4LjYgMTYuMyAyNC4yIDEwLjkgMzcuOEwyNzEuMyAyMjQgNDE2IDIyNGMxMy41IDAgMjUuNSA4LjQgMzAuMSAyMS4xcy43IDI2LjktOS42IDM1LjVsLTI4OCAyNDBjLTExLjMgOS40LTI3LjQgOS45LTM5LjMgMS4zcy0xNi4zLTI0LjItMTAuOS0zNy44TDE3Ni43IDI4OCAzMiAyODhjLTEzLjUgMC0yNS41LTguNC0zMC4xLTIxLjFzLS43LTI2LjkgOS42LTM1LjVsMjg4LTI0MGMxMS4zLTkuNCAyNy40LTkuOSAzOS4zLTEuM3oiXX0sVVF0PXo5ZSxXUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiamFyIixpY29uOlszMjAsNTEyLFtdLCJlNTE2IiwiTTMyLThjMC0xMy4zIDEwLjctMjQgMjQtMjRsMjA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRMNTYgMTZDNDIuNyAxNiAzMiA1LjMgMzItOHpNMCAxMjhDMCA5Mi43IDI4LjcgNjQgNjQgNjRsMTkyIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAzMjBjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOHptOTYgNjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTI4YzAgMTcuNyAxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMyTDk2IDE5MnoiXX0sR1F0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRydWNrLXBsYW5lIixpY29uOls2NDAsNTEyLFtdLCJlNThmIiwiTTE0NCA0OGMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMzIwYzAgMzIuNSAxMi4xIDYyLjEgMzIgODQuN2wwIDI3LjNjMCA3LjEgLjkgMTQuMSAyLjcgMjAuN0wxOTIgNDgwIDgzLjkgNTA3QzczLjggNTA5LjYgNjQgNTAxLjkgNjQgNDkxLjVsMC0xOS44YzAtNC45IDIuMi05LjUgNi0xMi41bDc0LTU5LjIgMC01Ny42LTEyMi4xIDQ4LjhDMTEuNCAzOTUuNCAwIDM4Ny43IDAgMzc2LjRsMC00NGMwLTggMy0xNS42IDguMy0yMS41TDE0NCAxNjEuNiAxNDQgNDh6bTIyNCA4MGwxOTIgMGM0NC4yIDAgODAgMzUuOCA4MCA4MGwwIDE2MGMwIDI2LjItMTIuNiA0OS40LTMyIDY0bDAgNDhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0zMi0xNjAgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDhjLTE5LjQtMTQuNi0zMi0zNy44LTMyLTY0bDAtMTYwYzAtNDQuMiAzNS44LTgwIDgwLTgwem0wIDE3NmwxOTIgMCAwLTMyYzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMjggMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCAzMnptMCA4OGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTIxNi0yNGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxZUXQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1ob2xkaW5nLWhlYXJ0IixpY29uOls1NzYsNTEyLFtdLCJmNGJlIiwiTTI3OS42IDMxQzI2NS41IDExLjUgMjQyLjkgMCAyMTguOSAwIDE3Ny41IDAgMTQ0IDMzLjUgMTQ0IDc0LjlsMCAyLjRjMCA2NC40IDgyIDEzMy40IDEyMi4yIDE2My4zIDEzIDkuNyAzMC41IDkuNyA0My41IDAgNDAuMi0zMCAxMjIuMi05OC45IDEyMi4yLTE2My4zbDAtMi40YzAtNDEuNC0zMy41LTc0LjktNzQuOS03NC45LTI0IDAtNDYuNiAxMS41LTYwLjcgMzFMMjg4IDQyLjcgMjc5LjYgMzF6TTEwOS4zIDM0MS41TDY2LjcgMzg0IDMyIDM4NGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMjAuNSAwYzI5IDAgNTcuMy05LjMgODAuNy0yNi41bDEyNi42LTkzLjNjMTcuOC0xMy4xIDIxLjYtMzguMSA4LjUtNTUuOXMtMzguMS0yMS42LTU1LjktOC41TDM5Mi42IDQxNiAyODAgNDE2Yy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDcyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTE1Mi4yIDBjLTMzLjkgMC02Ni41IDEzLjUtOTAuNSAzNy41eiJdfSxROD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1yb3RhdGUtbGVmdCIsaWNvbjpbNTEyLDUxMixbODYzNCwiYXJyb3ctbGVmdC1yb3RhdGUiLCJhcnJvdy1yb3RhdGUtYmFjayIsImFycm93LXJvdGF0ZS1iYWNrd2FyZCIsInVuZG8iXSwiZjBlMiIsIk0yNTYgNjRjLTU2LjggMC0xMDcuOSAyNC43LTE0My4xIDY0bDQ3LjEgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAxOTJjLTE3LjcgMC0zMi0xNC4zLTMyLTMyTDAgMzJDMCAxNC4zIDE0LjMgMCAzMiAwUzY0IDE0LjMgNjQgMzJsMCA1NC43QzExMC45IDMzLjYgMTc5LjUgMCAyNTYgMCAzOTcuNCAwIDUxMiAxMTQuNiA1MTIgMjU2UzM5Ny40IDUxMiAyNTYgNTEyYy04NyAwLTE2My45LTQzLjQtMjEwLjEtMTA5LjctMTAuMS0xNC41LTYuNi0zNC40IDcuOS00NC42czM0LjQtNi42IDQ0LjYgNy45YzM0LjggNDkuOCA5Mi40IDgyLjMgMTU3LjYgODIuMyAxMDYgMCAxOTItODYgMTkyLTE5MlMzNjIgNjQgMjU2IDY0eiJdfSxLUXQ9UTgsWlF0PVE4LFhRdD1ROCxRUXQ9UTgsQzllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtYW5ncnkiLGljb246WzUxMiw1MTIsWzEyODU0NCwiYW5ncnkiXSwiZjU1NiIsIk0wIDI1NmEyNTYgMjU2IDAgMSAxIDUxMiAwIDI1NiAyNTYgMCAxIDEgLTUxMiAwek0yNTYgMzY4YzI0LjEgMCA0NS40IDExLjggNTguNSAzMCA3LjcgMTAuOCAyMi43IDEzLjIgMzMuNSA1LjVzMTMuMi0yMi43IDUuNS0zMy41Yy0yMS43LTMwLjItNTcuMy01MC05Ny41LTUwcy03NS43IDE5LjgtOTcuNSA1MGMtNy43IDEwLjgtNS4zIDI1LjggNS41IDMzLjVzMjUuOCA1LjMgMzMuNS01LjVjMTMuMS0xOC4yIDM0LjQtMzAgNTguNS0zMHptLTgwLTk2YzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtLjMgOS43IDMuMmMxMC41IDMuNSAyMS44LTIuMiAyNS4zLTEyLjZzLTIuMi0yMS44LTEyLjYtMjUuM2wtOTYtMzJjLTEwLjUtMy41LTIxLjggMi4yLTI1LjMgMTIuNnMyLjIgMjEuOCAxMi42IDI1LjNsMjguOSA5LjZjLTQuMSA1LjQtNi42IDEyLjEtNi42IDE5LjQgMCAxNy43IDE0LjMgMzIgMzIgMzJ6bTE5Mi0zMmMwLTcuMy0yLjQtMTQtNi42LTE5LjRsMjguOS05LjZjMTAuNS0zLjUgMTYuMS0xNC44IDEyLjYtMjUuM3MtMTQuOC0xNi4xLTI1LjMtMTIuNmwtOTYgMzJjLTEwLjUgMy41LTE2LjEgMTQuOC0xMi42IDI1LjNzMTQuOCAxNi4xIDI1LjMgMTIuNmw5LjctMy4yIDAgLjNjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMnoiXX0sSlF0PUM5ZSxlSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYnVyc3QiLGljb246WzUxMiw1MTIsW10sImU0ZGMiLCJNMzcuNiA0LjJDMjgtMi4zIDE1LjItMS4xIDcgN1MtMi4zIDI4IDQuMiAzNy42bDExMiAxNjMuMy05OS42IDMyLjNDNi43IDIzNi40IDAgMjQ1LjYgMCAyNTZzNi43IDE5LjYgMTYuNiAyMi44bDEwMy4xIDMzLjQtNTIuOSAxMDAuNmMtNC45IDkuMy0zLjIgMjAuNyA0LjMgMjguMXMxOC44IDkuMiAyOC4xIDQuM2wxMDAuNi01Mi45IDMzLjQgMTAzLjFjMy4yIDkuOSAxMi40IDE2LjYgMjIuOCAxNi42czE5LjYtNi43IDIyLjgtMTYuNmwzMy40LTEwMy4xIDEwMC42IDUyLjljOS4zIDQuOSAyMC43IDMuMiAyOC4xLTQuM3M5LjItMTguOCA0LjMtMjguMWwtNTIuOS0xMDAuNiAxMDMuMS0zMy40YzkuOS0zLjIgMTYuNi0xMi40IDE2LjYtMjIuOHMtNi43LTE5LjYtMTYuNi0yMi44bC0xMDYuNS0zNC41IDI1LjctNzAuNGMzLjItOC44IDEtMTguNi01LjYtMjUuMnMtMTYuNC04LjgtMjUuMi01LjZsLTcwLjQgMjUuNy0zNC41LTEwNi41QzI3NS42IDYuNyAyNjYuNCAwIDI1NiAwcy0xOS42IDYuNy0yMi44IDE2LjZMMjAwLjkgMTE2LjIgMzcuNiA0LjJ6Il19LHRKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ6IixpY29uOlszODQsNTEyLFsxMjJdLCI1YSIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDMyMCAwYzEyLjQgMCAyMy43IDcuMiAyOSAxOC40czMuNiAyNC41LTQuNCAzNC4xTDEwMC4zIDQxNiAzNTIgNDE2YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDQ4MGMtMTIuNCAwLTIzLjctNy4yLTI5LTE4LjRzLTMuNi0yNC41IDQuNC0zNC4xTDI4My43IDk2IDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6Il19LF85ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYW5kYWdlIixpY29uOls1NzYsNTEyLFsxMjk2NTcsImJhbmQtYWlkIl0sImY0NjIiLCJNNDY0IDQxNmw0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTkyYzAtMzUuMy0yOC43LTY0LTY0LTY0bC00OCAwIDAgMzIwek00MTYgOTZsLTI1NiAwIDAgMzIwIDI1NiAwIDAtMzIwek02NCA5NkMyOC43IDk2IDAgMTI0LjcgMCAxNjBMMCAzNTJjMCAzNS4zIDI4LjcgNjQgNjQgNjRsNDggMCAwLTMyMC00OCAwek0yMTYgMjA4YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTEyMC0yNGEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6TTIxNiAzMDRhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHptMTIwLTI0YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHoiXX0sYUp0PV85ZSxySnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGxhbmUtY2lyY2xlLWV4Y2xhbWF0aW9uIixpY29uOls2NDAsNTEyLFtdLCJlNTU2IiwiTTIzMiAyNGMwLTMwLjkgMjUuMS01NiA1Ni01NnM1NiAyNS4xIDU2IDU2bDAgMTI3LjMgNzggNzEuNWMtNjkuMyAyOS0xMTggOTcuNC0xMTggMTc3LjIgMCA0OS4zIDE4LjYgOTQuMyA0OS4xIDEyOC4zTDI4OCA1MTIgMTc5LjkgNTM5Yy0xMC4xIDIuNS0xOS45LTUuMS0xOS45LTE1LjVsMC0xOS44YzAtNC45IDIuMi05LjUgNi0xMi41bDY2LTUyLjggMC05OS43LTE2Mi45IDU0LjNDNTguNyAzOTYuNCA0OCAzODguNyA0OCAzNzcuOGwwLTQzLjdjMC05IDMuOC0xNy41IDEwLjQtMjMuNkwyMzIgMTUxLjMgMjMyIDI0ek00OTYgMjU2YTE0NCAxNDQgMCAxIDEgMCAyODggMTQ0IDE0NCAwIDEgMSAwLTI4OHptMCAyMjhhMjAgMjAgMCAxIDAgMC00MCAyMCAyMCAwIDEgMCAwIDQwem0wLTE4MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgODBjMCA4LjggNy4yIDE2IDE2IDE2czE2LTcuMiAxNi0xNmwwLTgwYzAtOC44LTcuMi0xNi0xNi0xNnoiXX0sc0p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1cy1zaWRlIixpY29uOls2NDAsNTEyLFtdLCJlODFkIiwiTTQ4MCAwYzg4LjQgMCAxNjAgNzEuNiAxNjAgMTYwbDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0bC01LjYgMGMtMTMuMiAzNy4zLTQ4LjYgNjQtOTAuNCA2NHMtNzcuMy0yNi43LTkwLjQtNjRsLTEzOS4xIDBjLTEzLjIgMzcuMy00OC43IDY0LTkwLjQgNjRzLTc3LjItMjYuNy05MC40LTY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDQzIDQzIDAgOTYgMEw0ODAgMHpNMTYwIDM2OGE0OCA0OCAwIDEgMCAwIDk2IDQ4IDQ4IDAgMSAwIDAtOTZ6bTMyMCAwYTQ4IDQ4IDAgMSAwIDAgOTYgNDggNDggMCAxIDAgMC05NnptMC0zMDRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMTkyYzAgMTcuNyAxNC4zIDMyIDMyIDMybDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xMjhjMC01My00My05Ni05Ni05NnpNMjQ4IDIyNGwxMDQgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xMDQgMCAwIDE2MHpNOTYgNjRDNzguMyA2NCA2NCA3OC4zIDY0IDk2bDAgOTZjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTA0IDAgMC0xNjAtMTA0IDB6Il19LGlKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJidWdzIixpY29uOls1NzYsNTEyLFtdLCJlNGQwIiwiTTQ0Ny41IDE3NC42YzguOC04LjQgMjIuNy04LjkgMzIuMi0uOHMxMSAyMS45IDQuMSAzMS45bC0xLjUgMS45LTIzIDI2LjdjMjYuNyAxMy41IDQ2LjMgMzkuMSA1MS40IDY5LjZsMjUuMyAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNCAwIDAgMzIgMjQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMjUuMyAwYy03LjYgNDUuNC00Ny4xIDgwLTk0LjcgODBzLTg3LTM0LjYtOTQuNy04MEwyOTYgNDMyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDI0IDAgMC0zMi0yNCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDI1LjMgMGM1LjEtMzAuNSAyNC43LTU2LjEgNTEuNC02OS42bC0yMi45LTI2LjdjLTguNi0xMC4xLTcuNS0yNS4yIDIuNi0zMy44czI1LjItNy41IDMzLjggMi42bDI5LjggMzQuOCAyOS44LTM0LjggMS43LTEuOHptLTI1Ni0xOTJjOC44LTguNCAyMi43LTguOSAzMi4yLS44czExIDIxLjkgNC4xIDMxLjlsLTEuNSAxLjktMjMgMjYuN0MyMzAgNTUuOSAyNDkuNSA4MS41IDI1NC43IDExMmwyNS4zIDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTI0IDAgMCAzMiAyNCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0yNS4zIDBjLTcuNiA0NS40LTQ3LjEgODAtOTQuNyA4MHMtODctMzQuNi05NC43LTgwTDQwIDI0MGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyNCAwIDAtMzItMjQgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwyNS4zIDBDNzAuNSA4MS41IDkwIDU1LjkgMTE2LjcgNDIuNEw5My44IDE1LjZDODUuMiA1LjYgODYuMy05LjYgOTYuNC0xOC4yczI1LjItNy41IDMzLjggMi42bDI5LjggMzQuOCAyOS44LTM0LjggMS43LTEuOHoiXX0sVDllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJlZXItbXVnLWVtcHR5IixpY29uOls1NzYsNTEyLFsiYmVlciJdLCJmMGZjIiwiTTY0IDgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDI4OCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTYgNjQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDEwOC4yYzAgMjQuMi0xMy43IDQ2LjQtMzUuNCA1Ny4yTDQ0OCAzNzEuOCA0NDggMzg0YzAgNTMtNDMgOTYtOTYgOTZsLTE5MiAwYy01MyAwLTk2LTQzLTk2LTk2TDY0IDgwek00NDggMzAwLjJsNjQtMzIgMC0xMDguMi02NCAwIDAgMTQwLjJ6TTE5MiAxNTJjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCAyMDhjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTIwOHptODggMGMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDIwOGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMjA4em04OCAwYzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0bDAgMjA4YzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0yMDh6Il19LG9KdD1UOWUsbkp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlcnNvbi1jaXJjbGUtY2hlY2siLGljb246WzY0MCw1MTIsW10sImU1M2UiLCJNMjgwIDI0YTU2IDU2IDAgMSAwIC0xMTIgMCA1NiA1NiAwIDEgMCAxMTIgMHptMjQgMjEyLjdMMzQxIDI4Ni42YzEyLjgtMTcuNSAyOC41LTMyLjcgNDYuMy00NWwtNTYuMi03NS43QzMwNiAxMzIgMjY2LjMgMTEyIDIyNCAxMTJzLTgyIDIwLTEwNy4yIDUzLjlsLTcwLjUgOTVjLTEwLjUgMTQuMi03LjYgMzQuMiA2LjYgNDQuOHMzNC4yIDcuNiA0NC44LTYuNkwxNDQgMjM2LjcgMTQ0IDUxMmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTYwYzAtOC44IDcuMi0xNiAxNi0xNnMxNiA3LjIgMTYgMTZsMCAxNjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTI3NS4zek02NDAgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS04Ni42LTYwLjljNy4xIDUuMiA4LjcgMTUuMiAzLjUgMjIuM2wtNjQgODhjLTIuOCAzLjgtNyA2LjItMTEuNyA2LjVzLTkuMy0xLjMtMTIuNi00LjZsLTQwLTQwYy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMjYuOCAyNi44IDUzLTcyLjljNS4yLTcuMSAxNS4yLTguNyAyMi40LTMuNXoiXX0sbEp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YXBsZXIiLGljb246WzY0MCw1MTIsW10sImU1YWYiLCJNNjQwIDI5OS4zTDY0MCA0MzJjMCAyNi41LTIxLjUgNDgtNDggNDhMNjQgNDgwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDM4NCAwIDAtNDgtMzUyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTE2LjYtMzAuMi01LjRjLTE5LjYtMy41LTMzLjgtMjAuNS0zMy44LTQwLjQgMC04LjkgMi45LTE3LjUgOC4yLTI0LjZsMzUuNi00Ny41YzMyLjgtNDMuOCA4NC40LTY5LjYgMTM5LjEtNjkuNiAyNyAwIDUzLjYgNi4zIDc3LjggMTguNEw1ODYuOSAyMTMuNUM2MTkuNSAyMjkuNyA2NDAgMjYzIDY0MCAyOTkuM3pNNDQ4IDMwNGwwLTE2LTMyMC01Ny4xIDAgNzMuMSAzMjAgMHoiXX0sY0p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLW1lZGljYWwtY2lyY2xlLWNoZWNrIixpY29uOls2NDAsNTEyLFtdLCJlNTExIiwiTTMwOS44IDguNmMtMTIuMy0xMS40LTMxLjMtMTEuNC00My41IDBsLTIyNCAyMDhjLTkuNiA5LTEyLjggMjIuOS04IDM1LjFTNTAuOCAyNzIgNjQgMjcybDE2IDAgMCAxNzZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMTk2IDBjLTIxLjItMjkuNS0zNC4zLTY1LjMtMzUuOS0xMDRMMjcyIDQwOGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtNDAtNDAgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2bDQwIDAgMC00MGMwLTguOCA3LjItMTYgMTYtMTZsMzIgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA0MCAyMCAwYzM0LjktNDguNSA5MS43LTgwIDE1Ni04MCAxMC43IDAgMjEuMSAuOSAzMS4zIDIuNUwzMDkuOCA4LjZ6TTY0MCA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTg2LjYtNjAuOWM3LjEgNS4yIDguNyAxNS4yIDMuNSAyMi4zbC02NCA4OGMtMi44IDMuOC03IDYuMi0xMS43IDYuNXMtOS4zLTEuMy0xMi42LTQuNmwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwyNi44IDI2LjggNTMtNzIuOWM1LjItNy4xIDE1LjItOC43IDIyLjQtMy41eiJdfSxkSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibmFpcmEtc2lnbiIsaWNvbjpbNDQ4LDUxMixbXSwiZTFmNiIsIk0xMjIuNiA0Ni4zYy03LjgtMTEuNy0yMi40LTE3LTM1LjktMTIuOVM2NCA0OS45IDY0IDY0bDAgMTkyLTMyIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsMzIgMCAwIDE0NGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTQ0IDg5LjUgMCAxMDcuOCAxNjEuOGM3LjggMTEuNyAyMi40IDE3IDM1LjkgMTIuOVMzODQgNDYyLjEgMzg0IDQ0OGwwLTE0NCAzMiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0zMiAwIDAtMTkyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMTkyLTU3LjUgMC0xMzkuOC0yMDkuN3pNMjk0LjUgMzA0bDI1LjUgMCAwIDM4LjMtMjUuNS0zOC4zek0xODUuNSAyNTZsLTU3LjUgMCAwLTg2LjMgNTcuNSA4Ni4zeiJdfSxidGU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2lmaSIsaWNvbjpbNTc2LDUxMixbIndpZmktMyIsIndpZmktc3Ryb25nIl0sImYxZWIiLCJNMjg4IDk2Yy05MC45IDAtMTczLjIgMzYtMjMzLjcgOTQuNi0xMi43IDEyLjMtMzMgMTItNDUuMi0uN3MtMTItMzMgLjctNDUuMkM4MS43IDc0LjkgMTc5LjkgMzIgMjg4IDMyUzQ5NC4zIDc0LjkgNTY2LjMgMTQ0LjdjMTIuNyAxMi4zIDEzIDMyLjYgLjcgNDUuMnMtMzIuNiAxMy00NS4yIC43QzQ2MS4yIDEzMiAzNzguOSA5NiAyODggOTZ6TTI0MCA0MzJhNDggNDggMCAxIDEgOTYgMCA0OCA0OCAwIDEgMSAtOTYgMHpNMTY4IDMyNi4yYy0xMS43IDEzLjMtMzEuOSAxNC41LTQ1LjIgMi44cy0xNC41LTMxLjktMi44LTQ1LjJDMTYxIDIzNy40IDIyMS4xIDIwOCAyODggMjA4czEyNyAyOS40IDE2OCA3NS44YzExLjcgMTMuMyAxMC40IDMzLjUtMi44IDQ1LjJzLTMzLjUgMTAuNC00NS4yLTIuOEMzNzguNiAyOTIuOSAzMzUuOCAyNzIgMjg4IDI3MnMtOTAuNiAyMC45LTEyMCA1NC4yeiJdfSx1SnQ9YnRlLHBKdD1idGUscHY9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibW9uZXktY2hlY2stZG9sbGFyIixpY29uOls1MTIsNTEyLFsibW9uZXktY2hlY2stYWx0Il0sImY1M2QiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6TTI5NiAyODhsMTI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTEyOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0tMjQtODhjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTI4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTEyOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNMTQ4IDE0NGMxMSAwIDIwIDkgMjAgMjBsMCA0IDggMGMxMSAwIDIwIDkgMjAgMjBzLTkgMjAtMjAgMjBsLTQ3LjUgMGMtNi45IDAtMTIuNSA1LjYtMTIuNSAxMi41IDAgNi4xIDQuNCAxMS4zIDEwLjQgMTIuM2w0MS43IDdjMjUuMyA0LjIgNDMuOSAyNi4xIDQzLjkgNTEuOCAwIDI2LjEtMTkgNDcuNy00NCA1MS44bDAgNC43YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLTQtMjQgMGMtMTEgMC0yMC05LTIwLTIwczktMjAgMjAtMjBsNTUuNSAwYzYuOSAwIDEyLjUtNS42IDEyLjUtMTIuNSAwLTYuMS00LjQtMTEuMy0xMC40LTEyLjNsLTQxLjctN0M5NC41IDI2OCA3NiAyNDYuMSA3NiAyMjAuNSA3NiAxOTEuNyA5OS4yIDE2OC4zIDEyOCAxNjhsMC00YzAtMTEgOS0yMCAyMC0yMHoiXX0sZkp0PXB2LEw5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJleWUtbG93LXZpc2lvbiIsaWNvbjpbNTc2LDUxMixbImxvdy12aXNpb24iXSwiZjJhOCIsIk00MS0yNC45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMFMtMi4zLS4zIDcgOS4xbDUyOCA1MjhjOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45bC05Ni40LTk2LjRjMi43LTIuNCA1LjQtNC44IDgtNy4yIDQ2LjgtNDMuNSA3OC4xLTk1LjQgOTMtMTMxLjEgMy4zLTcuOSAzLjMtMTYuNyAwLTI0LjYtMTQuOS0zNS43LTQ2LjItODcuNy05My0xMzEuMS00Ny4xLTQzLjctMTExLjgtODAuNi0xOTIuNi04MC42LTU2LjggMC0xMDUuNiAxOC4yLTE0NiA0NC4yTDQxLTI0Ljl6TTIwNC41IDEzOC43YzIzLjUtMTYuOCA1Mi40LTI2LjcgODMuNS0yNi43IDc5LjUgMCAxNDQgNjQuNSAxNDQgMTQ0IDAgMzEuMS05LjkgNTkuOS0yNi43IDgzLjVsLTM0LjctMzQuN2MxMi43LTIxLjQgMTctNDcuNyAxMC4xLTczLjctMTMuNy01MS4yLTY2LjQtODEuNi0xMTcuNi02Ny45LTguNiAyLjMtMTYuNyA1LjctMjQgMTBsLTM0LjctMzQuN3pNODggMTU3LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlMMzI4LjIgNDY2YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOUw4OCAxNTcuOXpNNDUuNyAyNTEuM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBzLTkuNCAyNC42IDAgMzMuOUwxODEuOSA0NTUuNWM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlMNDUuNyAyNTEuM3oiXX0saEp0PUw5ZSwkOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWFycm93LXVwIixpY29uOls1MTIsNTEyLFsiYXJyb3ctY2lyY2xlLXVwIl0sImYwYWEiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTE3LTM3N2w4MCA4MGM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwbC0zOS0zOSAwIDE1MC4xYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTUwLjEtMzkgMzljLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsODAtODBjOS40LTkuNCAyNC42LTkuNCAzMy45IDB6Il19LG1KdD0kOWUsZ0p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhbWVyYS1yZXRybyIsaWNvbjpbNTEyLDUxMixbMTI4MjQ3XSwiZjA4MyIsIk0wIDQxNmwwLTIwOCAxMzYuMiAwYzEzLjUtMjAuMiAzMi0zNi44IDUzLjctNDhMMCAxNjAgMCAxMjUuN2MwLTM1LjMgMjguNy02NCA2NC02NGwuMSAwQzY1LjMgNDUuMSA3OS4xIDMyIDk2IDMybDMyIDBjMTYuOSAwIDMwLjcgMTMuMSAzMS45IDI5LjdsMzIuMSAwIDUxLjItMjMuOGM4LjQtMy45IDE3LjYtNiAyNi45LTZMNDQ4IDMyYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjQtMTkwIDBjMjEuNyAxMS4yIDQwLjIgMjcuOCA1My43IDQ4bDEzNi4yIDAgMCAyMDhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NHpNMjU2IDE5MmE5Ni4xIDk2LjEgMCAxIDAgMCAxOTIuMSA5Ni4xIDk2LjEgMCAxIDAgMC0xOTIuMXoiXX0sYkp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNhcHN1bGVzIixpY29uOls1NzYsNTEyLFtdLCJmNDZiIiwiTTk2IDExMmMwLTI2LjUgMjEuNS00OCA0OC00OHM0OCAyMS41IDQ4IDQ4bDAgMTEyLTk2IDAgMC0xMTJ6bS02NCAwbDAgMjg4YzAgNjEuOSA1MC4xIDExMiAxMTIgMTEyczExMi01MC4xIDExMi0xMTJsMC0xMDUuOCAxMTYuMyAxNjkuNWMzNS41IDUxLjcgMTA1LjMgNjQuMyAxNTYgMjguMXM2My0xMDcuNSAyNy41LTE1OS4yTDQyNy4zIDE0NS4zYy0zNS41LTUxLjctMTA1LjMtNjQuMy0xNTYtMjguMS01LjYgNC0xMC43IDguNC0xNS4zIDEzLjFsMC0xOC4zQzI1NiA1MC4xIDIwNS45IDAgMTQ0IDBTMzIgNTAuMSAzMiAxMTJ6TTI5Ni42IDI0MC4yYy0xNi0yMy4zLTEwLTU1LjMgMTEuOS03MSAyMS4yLTE1LjEgNTAuNS0xMC4zIDY2IDEyLjJsNjcgOTcuNi03OS45IDU1LjktNjUtOTQuOHoiXX0sdkp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBvbyIsaWNvbjpbNTEyLDUxMixbMTI4MTY5XSwiZjJmZSIsIk0yNjguOSAuOWMtNS41LS43LTExIDEuNC0xNC41IDUuN3MtNC42IDEwLjEtMi44IDE1LjRjMi44IDguMiA0LjMgMTYuOSA0LjMgMjYuMSAwIDQ0LjEtMzUuNyA3OS45LTc5LjggODBMMTYwIDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjQgMCAxOS4xIDguNCAzNi4zIDIxLjcgNDhMMTA0IDI0MGMtMzkuOCAwLTcyIDMyLjItNzIgNzIgMCAyMy4yIDExIDQzLjggMjggNTctMzQuMSA1LjctNjAgMzUuMy02MCA3MSAwIDM5LjggMzIuMiA3MiA3MiA3MmwzNjggMGMzOS44IDAgNzItMzIuMiA3Mi03MiAwLTM1LjctMjUuOS02NS4zLTYwLTcxIDE3LTEzLjIgMjgtMzMuOCAyOC01NyAwLTM5LjgtMzIuMi03Mi03Mi03MmwtMTMuNyAwYzEzLjMtMTEuNyAyMS43LTI4LjkgMjEuNy00OCAwLTM1LjMtMjguNy02NC02NC02NGwtNS41IDBjMy41LTEwIDUuNS0yMC44IDUuNS0zMiAwLTQ4LjYtMzYuMi04OC44LTgzLjEtOTUuMXpNMTkyIDI1NmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6bTk2IDMyYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTY0IDEwOC4zYzAgMi40LS43IDQuOC0yLjIgNi43LTguMiAxMC41LTM5LjUgNDUtOTMuOCA0NXMtODUuNi0zNC42LTkzLjgtNDVjLTEuNS0xLjktMi4yLTQuMy0yLjItNi43IDAtNi44IDUuNS0xMi4zIDEyLjMtMTIuM2wxNjcuNCAwYzYuOCAwIDEyLjMgNS41IDEyLjMgMTIuM3oiXX0sRDllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InZvbHVtZSIsaWNvbjpbNTEyLDUxMixbMTI4MjY1LCJ2b2x1bWUtbWVkaXVtIl0sImY2YTgiLCJNNDggMzUybDQ4IDAgMTM0LjEgMTE5LjJjNi40IDUuNyAxNC42IDguOCAyMy4xIDguOCAxOS4yIDAgMzQuOC0xNS42IDM0LjgtMzQuOGwwLTM3OC40YzAtMTkuMi0xNS42LTM0LjgtMzQuOC0zNC44LTguNSAwLTE2LjcgMy4xLTIzLjEgOC44TDk2IDE2MCA0OCAxNjBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgOTZjMCAyNi41IDIxLjUgNDggNDggNDh6TTQ0MS4xIDEwN2MtMTAuMy04LjQtMjUuNC02LjgtMzMuOCAzLjVzLTYuOCAyNS40IDMuNSAzMy44QzQ0My4zIDE3MC43IDQ2NCAyMTAuOSA0NjQgMjU2cy0yMC43IDg1LjMtNTMuMiAxMTEuOGMtMTAuMyA4LjQtMTEuOCAyMy41LTMuNSAzMy44czIzLjUgMTEuOCAzMy44IDMuNWM0My4yLTM1LjIgNzAuOS04OC45IDcwLjktMTQ5cy0yNy43LTExMy44LTcwLjktMTQ5em0tNjAuNSA3NC41Yy0xMC4zLTguNC0yNS40LTYuOC0zMy44IDMuNXMtNi44IDI1LjQgMy41IDMzLjhDMzYxLjEgMjI3LjYgMzY4IDI0MSAzNjggMjU2cy02LjkgMjguNC0xNy43IDM3LjNjLTEwLjMgOC40LTExLjggMjMuNS0zLjUgMzMuOHMyMy41IDExLjggMzMuOCAzLjVDNDAyLjEgMzEyLjkgNDE2IDI4Ni4xIDQxNiAyNTZzLTEzLjktNTYuOS0zNS41LTc0LjV6Il19LHhKdD1EOWUseUp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImVsZXZhdG9yIixpY29uOls1MTIsNTEyLFtdLCJlMTZkIiwiTTI5Mi43LTQuN2w2NCA2NGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw2NC02NGM0LjYtNC42IDUuOS0xMS41IDMuNS0xNy40UzQzOC41LTMyIDQzMi0zMkwzMDQtMzJjLTYuNSAwLTEyLjMgMy45LTE0LjggOS45cy0xLjEgMTIuOSAzLjUgMTcuNHptLTE2MC0yMi42bC02NCA2NGMtNC42IDQuNi01LjkgMTEuNS0zLjUgMTcuNFM3My41IDY0IDgwIDY0bDEyOCAwYzYuNSAwIDEyLjMtMy45IDE0LjgtOS45czEuMS0xMi45LTMuNS0xNy40bC02NC02NGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDB6TTY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRMMCA0NDhjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMTI4em05NiA5NmE0OCA0OCAwIDEgMSAwIDk2IDQ4IDQ4IDAgMSAxIDAtOTZ6TTgwIDQwMGMwLTI2LjUgMjEuNS00OCA0OC00OGw2NCAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTZjMCAxNy43LTE0LjMgMzItMzIgMzJsLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTZ6bTE5MiAwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDY0IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAxNmMwIDE3LjctMTQuMyAzMi0zMiAzMmwtOTYgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNnptMzItMTI4YTQ4IDQ4IDAgMSAxIDk2IDAgNDggNDggMCAxIDEgLTk2IDB6Il19LHdKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWciLGljb246WzUxMiw1MTIsWzEyNzk5MV0sImYwMmIiLCJNMzIuNSA5NmwwIDE0OS41YzAgMTcgNi43IDMzLjMgMTguNyA0NS4zbDE5MiAxOTJjMjUgMjUgNjUuNSAyNSA5MC41IDBMNDgzLjIgMzMzLjNjMjUtMjUgMjUtNjUuNSAwLTkwLjVsLTE5Mi0xOTJDMjc5LjIgMzguNyAyNjMgMzIgMjQ2IDMyTDk2LjUgMzJjLTM1LjMgMC02NCAyOC43LTY0IDY0em0xMTIgMTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxNSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmlsZS1jaXJjbGUtbWludXMiLGljb246WzU3Niw1MTIsW10sImU0ZWQiLCJNOTYgMEM2MC43IDAgMzIgMjguNyAzMiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxODAgMGMtMjIuNy0zMS41LTM2LTcwLjItMzYtMTEyIDAtMTAwLjYgNzcuNC0xODMuMiAxNzYtMTkxLjNsMC0zOC4xYzAtMTctNi43LTMzLjMtMTguNy00NS4zTDI5MC43IDE4LjdDMjc4LjcgNi43IDI2Mi41IDAgMjQ1LjUgMEw5NiAwek0zNTcuNSAxNzZMMjY0IDE3NmMtMTMuMyAwLTI0LTEwLjctMjQtMjRMMjQwIDU4LjUgMzU3LjUgMTc2ek01NzYgNDAwYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6bS02NCAwYzAgOC44LTcuMiAxNi0xNiAxNmwtMTI4IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsMTI4IDBjOC44IDAgMTYgNy4yIDE2IDE2eiJdfSxBOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZG93bi1sb25nIixpY29uOlszMjAsNTEyLFsibG9uZy1hcnJvdy1hbHQtZG93biJdLCJmMzA5IiwiTTEzNy40IDUzNC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjhjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlTMzAwLjkgMzUyIDI4OCAzNTJsLTY0IDAgMC0zMzZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTMyIDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMzM2LTY0IDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhTLjIgMzk3LjUgOS40IDQwNi42bDEyOCAxMjh6Il19LGtKdD1BOWUsU0p0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvbXBhY3QtZGlzYyIsaWNvbjpbNTEyLDUxMixbMTI4MTkxLDEyODE5MiwxMjg0NDBdLCJmNTFmIiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTI1NiAzMmEzMiAzMiAwIDEgMSAwLTY0IDMyIDMyIDAgMSAxIDAgNjR6bS05Ni0zMmE5NiA5NiAwIDEgMCAxOTIgMCA5NiA5NiAwIDEgMCAtMTkyIDB6bS01Ni0xNmMwLTMyLjQgMTYuMy02Ni42IDQyLjgtOTMuMlMyMDcuNiAxMDQgMjQwIDEwNGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGMtNDcuOSAwLTkzLjcgMjMuNS0xMjcuMSA1Ni45UzU2IDE5Mi4xIDU2IDI0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0eiJdfSx6SnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3VpdGNhc2Utcm9sbGluZyIsaWNvbjpbMzg0LDUxMixbXSwiZjVjMSIsIk0xNDQgMjRjMC00LjQgMy42LTggOC04bDgwIDBjNC40IDAgOCAzLjYgOCA4bDAgNzItOTYgMCAwLTcyek0zMjAgOTZsLTMyIDAgMC03MmMwLTMwLjktMjUuMS01Ni01Ni01NmwtODAgMEMxMjEuMS0zMiA5Ni02LjkgOTYgMjRsMCA3Mi0zMiAwQzI4LjcgOTYgMCAxMjQuNyAwIDE2MEwwIDQ0OGMwIDM1LjMgMjguNyA2NCA2NCA2NCAwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDEyOCAwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yODhjMC0zNS4zLTI4LjctNjQtNjQtNjR6TTEyMCAyMDhsMTQ0IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE0NCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0em0wIDEyOGwxNDQgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTQ0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LEU5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib29rLXF1cmFuIixpY29uOls0NDgsNTEyLFsicXVyYW4iXSwiZjY4NyIsIk02NCA1MTJsMjg4IDBjNTMgMCA5Ni00MyA5Ni05NmwwLTMyMGMwLTUzLTQzLTk2LTk2LTk2TDQ4IDBDMjEuNSAwIDAgMjEuNSAwIDQ4TDAgMzM2YzAgMjAuOSAxMy40IDM4LjcgMzIgNDUuM0wzMiA0NDhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMHpNMzUyIDM4NGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjU2IDAgMC02NCAyNTYgMHpNMjczLjEgMTQ0LjRjMi41LTYuMSAxMS4yLTYuMSAxMy43IDBsMTAuMyAyNC44IDI2LjggMi4xYzYuNiAuNSA5LjIgOC43IDQuMiAxM0wzMDcuOCAyMDEuOSAzMTQgMjI4YzEuNSA2LjQtNS41IDExLjUtMTEuMSA4LjFsLTIyLjktMTQtMjIuOSAxNGMtNS42IDMuNC0xMi42LTEuNi0xMS4xLTguMWw2LjItMjYuMS0yMC40LTE3LjVjLTUtNC4zLTIuMy0xMi41IDQuMi0xM2wyNi44LTIuMSAxMC4zLTI0Ljh6TTEwMCAxOTJjMC02OC41IDU1LjUtMTI0IDEyNC0xMjQgMjMuOCAwIDQ2LjEgNi43IDY1IDE4LjQgNC44IDIuOSA2LjkgOC44IDUgMTQuMXMtNy4xIDguNi0xMi43IDhjLTMuMS0uMy02LjItLjUtOS40LS41LTQ2LjQgMC04NCAzNy42LTg0IDg0czM3LjYgODQgODQgODRjMy4yIDAgNi4zLS4yIDkuNC0uNSA1LjYtLjYgMTAuOCAyLjcgMTIuNyA4cy0uMyAxMS4yLTUgMTQuMWMtMTguOSAxMS43LTQxLjIgMTguNC02NSAxOC40LTY4LjUgMC0xMjQtNTUuNS0xMjQtMTI0eiJdfSxDSnQ9RTllLF9KdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwaG9uZS1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZjNkZCIsIk01MzUtMjQuOWM5LjQtOS40IDI0LjYtOS40IDMzLjkgMHM5LjQgMjQuNiAwIDMzLjlMNDEgNTM3LjFjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlMMTQxLjUgMzY4LjZDODkuMiAzMTAuNSA1MS42IDIzOC44IDM0LjggMTU5LjQgMTguNyA4My4xIDczLjkgMjAuNiAxMzguNSAyLjlsNS41LTEuNWMxOS43LTUuNCA0MC4zIDQuNyA0OC4xIDIzLjVsNDAuNSA5Ny4zYzYuOSAxNi41IDIuMSAzNS42LTExLjggNDdsLTQ0LjEgMzYuMWMxMi45IDI4LjUgMjkuNiA1NC44IDQ5LjUgNzguNUw1MzUtMjQuOXptLTE1MC40IDUzNGMtNjMtMTMuNC0xMjEuMy0zOS44LTE3MS43LTc2LjNMMjk3LjggMzQ4YzEyLjIgOC4yIDI1IDE1LjYgMzguMyAyMi4yTDM3NC43IDMyM2MxMS4zLTEzLjkgMzAuNC0xOC42IDQ3LTExLjhMNTE5IDM1MS44YzE4LjggNy44IDI4LjkgMjguNCAyMy41IDQ4LjFsLTEuNSA1LjVjLTE3LjYgNjQuNi04MC4yIDExOS44LTE1Ni40IDEwMy43eiJdfSxUSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1jaXJjbGUtY2hlY2siLGljb246WzY0MCw1MTIsW10sImU1NjQiLCJNMjg4IDMybC03Ni4zIDBjLTI5LjQgMC01NS4xIDIwLjEtNjIuMSA0OC42TDY1LjQgNDIwLjVDNTcuOSA0NTAuNyA4MC44IDQ4MCAxMTIgNDgwbDIwOS40IDBjLTExLjItMjQuNC0xNy40LTUxLjQtMTcuNC04MCAwLTI4LjYgNi4yLTU1LjcgMTcuNC04MC0uNSAwLTEgMC0xLjUgMC0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA0OWMzNS4yLTM5LjkgODYuNy02NSAxNDQtNjUgOSAwIDE3LjggLjYgMjYuNSAxLjhsLTMyLTEyOS4yQzQ4My40IDUyLjEgNDU3LjggMzIgNDI4LjMgMzJsLTc2LjQgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6TTY0MCA0MDBhMTQ0IDE0NCAwIDEgMCAtMjg4IDAgMTQ0IDE0NCAwIDEgMCAyODggMHptLTg2LjYtNjAuOWM3LjEgNS4yIDguNyAxNS4yIDMuNSAyMi4zbC02NCA4OGMtMi44IDMuOC03IDYuMi0xMS43IDYuNXMtOS4zLTEuMy0xMi42LTQuNmwtNDAtNDBjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwyNi44IDI2LjggNTMtNzIuOWM1LjItNy4xIDE1LjItOC43IDIyLjQtMy41eiJdfSxMSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hvcC1sb2NrIixpY29uOls2NDAsNTEyLFtdLCJlNGE1IiwiTTIxLjUgMTgxLjFMNzguMyA2Ny40Qzg5LjIgNDUuNyAxMTEuMyAzMiAxMzUuNiAzMmwzMDQuOSAwYzI0LjIgMCA0Ni40IDEzLjcgNTcuMiAzNS40bDU1LjYgMTExLjFjLTguMi0xLjYtMTYuNi0yLjUtMjUuMi0yLjUtNTMuNyAwLTk5LjcgMzMuMS0xMTguNyA4MGwtNTcuMyAwIDAgMTc2YzAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0xOTIgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC0xNzYuMWMtMjYuOC0xLjktNDgtMjQuMy00OC01MS42IDAtOCAxLjktMTYgNS41LTIzLjJ6TTEyOCAyNTZsMCAxMTJjMCA4LjggNy4yIDE2IDE2IDE2bDEyOCAwYzguOCAwIDE2LTcuMiAxNi0xNmwwLTExMi0xNjAgMHptNDMyIDQ4LjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek00MTYgNDAwYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxQOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaW1hZ2UtcG9ydHJhaXQiLGljb246WzM4NCw1MTIsWyJwb3J0cmFpdCJdLCJmM2UwIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMzg0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHpNODAgMzY4YzAgOC44IDcuMiAxNiAxNiAxNmwxOTIgMGM4LjggMCAxNi03LjIgMTYtMTYgMC00NC4yLTM1LjgtODAtODAtODBsLTY0IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwek0xOTIgMjQ4YTU2IDU2IDAgMSAwIDAtMTEyIDU2IDU2IDAgMSAwIDAgMTEyeiJdfSwkSnQ9UDllLERKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJicmlkZ2UtbG9jayIsaWNvbjpbNTc2LDUxMixbXSwiZTRjYyIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDQ0OCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC04IDAgMCAzMi4yYzEzLjggLjYgMjcuMiAyLjggNDAgNi40bDAgNTAuN2MtMTQuOC02LTMxLTkuMy00OC05LjMtNzAuNyAwLTEyOCA1Ny4zLTEyOCAxMjhsMCAyNC40Yy0uNCAuMy0uNyAuNi0xLjEgMS0xNy4zLTI1LTQ2LjItNDEuMy03OC45LTQxLjMtNTMgMC05NiA0My05NiA5NmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0zMiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTk0YzAtMzguOC0yNi40LTcyLjYtNjQtODJsMC0xMTIgNDAgMCAwLTY0LTggMEMxNC4zIDk2IDAgODEuNyAwIDY0em00MjQgNjguNmwwLTM2LjYtODAgMCAwIDY0IDE4LjggMGMxOC4yLTEyLjggMzguOS0yMi4yIDYxLjItMjcuNHpNMjE2IDk2bDAgNjQgODAgMCAwLTY0LTgwIDB6bS00OCAwbC04MCAwIDAgNjQgODAgMCAwLTY0ek00OTYgMzA0LjFjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDAgMC00Ny45ek0zNTIgNDAwYzAtMjAuOSAxMy40LTM4LjcgMzItNDUuM2wwLTUwLjZjMC00NC4yIDM1LjgtODAgODAtODBzODAgMzUuOCA4MCA4MGwwIDUwLjZjMTguNiA2LjYgMzIgMjQuNCAzMiA0NS4zbDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTEyOCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTk2eiJdfSxBSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFtbWVyIixpY29uOls2NDAsNTEyLFsxMjgyOTZdLCJmNmUzIiwiTTI0Ni45IDE4LjNMMjcxIDMuOGMyMS42LTEzIDQ2LjMtMTkuOCA3MS41LTE5LjggMzYuOCAwIDcyLjIgMTQuNiA5OC4yIDQwLjdsNjMuOSA2My45YzE1IDE1IDIzLjQgMzUuNCAyMy40IDU2LjZsMCAzMC45IDE5LjcgMTkuNyAwIDBjMTUuNi0xNS42IDQwLjktMTUuNiA1Ni42IDBzMTUuNiA0MC45IDAgNTYuNmwtNjQgNjRjLTE1LjYgMTUuNi00MC45IDE1LjYtNTYuNiAwcy0xNS42LTQwLjkgMC01Ni42TDQ2NCAyNDAgNDMzLjEgMjQwYy0yMS4yIDAtNDEuNi04LjQtNTYuNi0yMy40bC00OS4xLTQ5LjFjLTE1LTE1LTIzLjQtMzUuNC0yMy40LTU2LjZsMC0xMi43YzAtMTEuMi01LjktMjEuNy0xNS41LTI3LjRsLTQxLjYtMjVjLTEwLjQtNi4yLTEwLjQtMjEuMiAwLTI3LjR6TTUwLjcgNDAyLjdsMjIyLjEtMjIyLjEgOTAuNSA5MC41LTIyMi4xIDIyMi4xYy0yNSAyNS02NS41IDI1LTkwLjUgMHMtMjUtNjUuNSAwLTkwLjV6Il19LEk5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy11cC0xLTkiLGljb246WzUxMiw1MTIsWyJzb3J0LW51bWVyaWMtdXAiXSwiZjE2MyIsIk0xNTAuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtOTYgOTZjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMOTYgMTQxLjMgOTYgNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zMDYuNyA0MS40IDQxLjRjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtOTYtOTZ6TTQxOC43IDM4Yy04LjMtNi0xOS4xLTcuNy0yOC44LTQuNGwtNDggMTZjLTE2LjggNS42LTI1LjggMjMuNy0yMC4yIDQwLjVzMjMuNyAyNS44IDQwLjUgMjAuMmw1LjktMiAwIDUxLjYtMTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNiAwIDAtOTZjMC0xMC4zLTQuOS0xOS45LTEzLjMtMjZ6TTM2NS4xIDQzMC42Yy05LjYgMTQuOC01LjQgMzQuNiA5LjQgNDQuM3MzNC42IDUuNCA0NC4zLTkuNGw0Mi4xLTY0LjljMTIuNC0xOS4yIDE5LjEtNDEuNiAxOS4xLTY0LjUgMC00NC4yLTM1LjgtODAtODAtODBzLTgwIDM1LjgtODAgODBjMCAzNi4xIDIzLjkgNjYuNyA1Ni44IDc2LjZsLTExLjcgMTh6TTM3NiAzMzZhMjQgMjQgMCAxIDEgNDggMCAyNCAyNCAwIDEgMSAtNDggMHoiXX0sRUp0PUk5ZSxQSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2hlc3Mta25pZ2h0IixpY29uOlszODQsNTEyLFs5ODIyXSwiZjQ0MSIsIk0xOTItMzJjMTA2IDAgMTkyIDg2IDE5MiAxOTJsMCAxMzMuNWMwIDE3LTYuOCAzMy4yLTE4LjcgNDUuMkwzMjAgMzg0IDM3MC44IDQzNC43YzguNSA4LjUgMTMuMiAyMCAxMy4yIDMyIDAgMjUtMjAuMyA0NS4yLTQ1LjIgNDUuM0w0NS4zIDUxMmMtMjUgMC00NS4yLTIwLjMtNDUuMi00NS4zIDAtMTIgNC44LTIzLjUgMTMuMi0zMkw2NCAzODQgNjQgMzQ5LjRjMC0xOC43IDguMi0zNi40IDIyLjMtNDguNmw4OS43LTc2LjgtNDggMC0xMi4xIDEyLjFjLTEyLjcgMTIuNy0zMCAxOS45LTQ4IDE5LjktMzcuNSAwLTY3LjktMzAuNC02Ny45LTY3LjlsMC04LjdjMC0yMi44IDguMi00NC45IDIzLjEtNjIuM0w5NiAzMiA5NiAwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDY0IDB6TTE2MCA3MmEyNCAyNCAwIDEgMCAwIDQ4IDI0IDI0IDAgMSAwIDAtNDh6Il19LElKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJob3VzZS1mbG9vZC13YXRlci1jaXJjbGUtYXJyb3ctcmlnaHQiLGljb246WzY0MCw1MTIsW10sImU1MGYiLCJNMjg4LjUgMTEyYTE0NCAxNDQgMCAxIDAgLTI4OCAwIDE0NCAxNDQgMCAxIDAgMjg4IDB6TTE0MS4yIDQ0LjdjNi4yLTYuMiAxNi40LTYuMiAyMi42IDBsNTYgNTZjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZsLTU2IDU2Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDI4LjctMjguNy04OS40IDBjLTguOCAwLTE2LTcuMi0xNi0xNnM3LjItMTYgMTYtMTZsODkuNCAwLTI4LjctMjguN2MtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZ6TTMzNi41IDExMmMwIDcxLjEtMzguNiAxMzMuMS05NiAxNjYuM2wwIDEyLjhjMjIuMSA0LjUgNDMuNCAxMy45IDYyLjQgMjguMiAyMi4xIDE2LjYgMjkuMSAxNi42IDUxLjIgMCAyNy41LTIwLjcgNTkuOS0zMS4yIDkyLjQtMzEuNCAzMy4xLS4yIDY2LjMgMTAuMiA5NC40IDMxLjQgNi45IDUuMiAxMi44IDkgMTggMTEuNyAuNiAuMyAxLjIgLjYgMS44IDEgNC4yIDIuMyA4LjUgNC42IDEyLjYgMS41IDYtNC41IDEyLjYtOCAxOS4zLTEwLjRsMC0xMTUuMiA0LjUgMGMxNS4yIDAgMjcuNS0xMi4zIDI3LjUtMjcuNSAwLTcuOS0zLjQtMTUuNS05LjQtMjAuN0w0NDQuNSAxMC41QzQzNi44IDMuNyA0MjYuOCAwIDQxNi41IDBzLTIwLjMgMy43LTI4IDEwLjVMMzI5LjkgNjEuOGM0LjMgMTYgNi42IDMyLjggNi42IDUwLjJ6bTMyIDg4YzAtMTMuMyAxMC43LTI0IDI0LTI0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRsMC00OHpNNDc1LjEgNDEyLjFjMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zUzI5MCAzOTEuOCAyNjYgMzczLjdjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdzLTUuOSAyNS42IDQuNyAzMy42YzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOWMyMS4zLTE2LjEgNDkuOS0xNi4xIDcxLjIgMHptLTcxLjIgOTZjMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zUzI5MCA0ODcuOCAyNjYgNDY5LjdjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdzLTUuOSAyNS42IDQuNyAzMy42YzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOXoiXX0sZnY9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctdXAtcmlnaHQtZnJvbS1zcXVhcmUiLGljb246WzUxMiw1MTIsWyJleHRlcm5hbC1saW5rIl0sImYwOGUiLCJNMzIwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsODIuNyAwLTIwMS40IDIwMS40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM3MzMi44IDEyLjUgNDUuMyAwTDQ0OCAxMDkuMyA0NDggMTkyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xNjBjMC0xNy43LTE0LjMtMzItMzItMzJMMzIwIDB6TTgwIDk2QzM1LjggOTYgMCAxMzEuOCAwIDE3NkwwIDQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwyNTYgMGM0NC4yIDAgODAtMzUuOCA4MC04MGwwLTgwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgODBjMCA4LjgtNy4yIDE2LTE2IDE2TDgwIDQ0OGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMjU2YzAtOC44IDcuMi0xNiAxNi0xNmw4MCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDgwIDk2eiJdfSxOSnQ9ZnYsUkp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24tdXAtYWNyb3NzLWxpbmUiLGljb246WzUxMiw1MTIsW10sImU0YWYiLCJNMjY1LjQgMTA1LjRsOTYtOTZjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBsOTYgOTZjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjNzLTMyLjggMTIuNS00NS4zIDBsLTQxLjQtNDEuNCAwIDExNC43IDY0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTMyMCAwIDAgMTE0LjcgNDEuNC00MS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNsLTk2IDk2Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMGwtOTYtOTZjLTEyLjUtMTIuNS0xMi41LTMyLjggMC00NS4zczMyLjgtMTIuNSA0NS4zIDBMOTYgNDAyLjcgOTYgMjg4IDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzMjAgMCAwLTExNC43LTQxLjQgNDEuNGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjN6TTQxNiAzMzZsMCAxNDRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNDQgNjQgMHpNOTYgMTc2TDk2IDMyYzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCAxNDQtNjQgMHoiXX0sTjllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2UtZ3Jpbi1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MTYsImdyaW4tYmVhbSJdLCJmNTgyIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0zODYuNyAzMDguOWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjEtMjIuNCA2MS4zLTgxLjMgMTA1LjEtMTUwLjMgMTA1LjFTMTI4LjEgMzg4LjIgMTA1LjcgMzI2LjljLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMXpNMTc2IDE4MGMtMTUuNSAwLTI4IDEyLjUtMjggMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHptMTMyIDI4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMzcuNiAzMC40LTY4IDY4LTY4czY4IDMwLjQgNjggNjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0xNS41LTEyLjUtMjgtMjgtMjhzLTI4IDEyLjUtMjggMjh6Il19LE9KdD1OOWUsUjllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlY3RhbmdsZS1hZCIsaWNvbjpbNTEyLDUxMixbImFkIl0sImY2NDEiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6TTQxNiAxODRsMCAxNDRjMCAxMy4zLTEwLjcgMjQtMjQgMjQtNy4xIDAtMTMuNS0zLjEtMTcuOS04LTEwLjIgNS4xLTIxLjggOC0zNC4xIDgtNDIgMC03Ni0zNC03Ni03NnMzNC03NiA3Ni03NmM5LjkgMCAxOS4zIDEuOSAyOCA1LjNsMC0yMS4zYzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjR6bS00OCA5MmEyOCAyOCAwIDEgMCAtNTYgMCAyOCAyOCAwIDEgMCA1NiAwek0xNjAgMjA4Yy04LjggMC0xNiA3LjItMTYgMTZsMCAzMiA0OCAwIDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0xNiAwem0zMiA5NmwtNDggMCAwIDI0YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTA0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDE2IDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMDRjMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRsMC0yNHoiXX0sRkp0PVI5ZSxPOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm9vay10YW5ha2giLGljb246WzQ0OCw1MTIsWyJ0YW5ha2giXSwiZjgyNyIsIk0zNTIgNTEyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwwLTY2LjdDMTMuNCAzNzQuNyAwIDM1Ni45IDAgMzM2TDAgNDhDMCAyMS41IDIxLjUgMCA0OCAwTDM1MiAwYzUzIDAgOTYgNDMgOTYgOTZsMCAzMjBjMCA1My00MyA5Ni05NiA5NnptMzItOTZjMC0xNy43LTE0LjMtMzItMzItMzJsLTI1NiAwIDAgNjQgMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJ6TTExMy45IDIyOWMtMS4yIDItMS45IDQuMi0xLjkgNi42IDAgNi45IDUuNiAxMi41IDEyLjUgMTIuNWw1Ni45IDAgMzAuNSA0OS4yYzIuNiA0LjIgNy4yIDYuOCAxMi4yIDYuOHM5LjYtMi42IDEyLjItNi44bDMwLjUtNDkuMiA1Ni45IDBjNi45IDAgMTIuNS01LjYgMTIuNS0xMi41IDAtMi4zLS42LTQuNi0xLjktNi42bC0yNy44LTQ1IDI3LjgtNDVjMS4yLTIgMS45LTQuMiAxLjktNi42IDAtNi45LTUuNi0xMi41LTEyLjUtMTIuNWwtNTYuOSAwLTMwLjUtNDkuMkMyMzMuNiA2Ni42IDIyOSA2NCAyMjQgNjRzLTkuNiAyLjYtMTIuMiA2LjhsLTMwLjUgNDkuMi01Ni45IDBjLTYuOSAwLTEyLjUgNS42LTEyLjUgMTIuNSAwIDIuMyAuNiA0LjYgMS45IDYuNmwyNy44IDQ1LTI3LjggNDV6Il19LEJKdD1POWUsRjllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdC10dWItcGVyc29uIixpY29uOls0NDgsNTEyLFsiaG90LXR1YiJdLCJmNTkzIiwiTTI0MCA0MGMwIDEzLjYgNS44IDI2LjUgMTUuOCAzNS42bDI2LjUgMjMuOGMyNCAyMS42IDM3LjcgNTIuMyAzNy43IDg0LjYgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xOC43LTcuOS0zNi40LTIxLjgtNDguOWwtMjYuNS0yMy44QzIwMy41IDkzLjEgMTkyIDY3LjIgMTkyIDQwIDE5MiAyNi43IDIwMi43IDE2IDIxNiAxNnMyNCAxMC43IDI0IDI0ek0wIDMzNmwwLTgwYzAtMzUuMyAyOC43LTY0IDY0LTY0bDE5LjcgMGM4LjEgMCAxNi4yIDEuNiAyMy44IDQuNmwxMzcuMSA1NC44YzcuNiAzIDE1LjYgNC42IDIzLjggNC42TDM4NCAyNTZjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMjhjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNTEyYy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDMzNnptOTYtMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgODBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTgwYzAtMTMuMy0xMC43LTI0LTI0LTI0em0xNTIgMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtODB6bTEwNC0yNGMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA4MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtODBjMC0xMy4zLTEwLjctMjQtMjQtMjR6TTMyOCAxNmMxMy4zIDAgMjQgMTAuNyAyNCAyNCAwIDEzLjYgNS44IDI2LjUgMTUuOCAzNS42bDI2LjUgMjMuOGMyNCAyMS42IDM3LjcgNTIuMyAzNy43IDg0LjYgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xOC43LTcuOS0zNi40LTIxLjgtNDguOWwtMjYuNS0yMy44QzMxNS41IDkzLjEgMzA0IDY3LjIgMzA0IDQwIDMwNCAyNi43IDMxNC43IDE2IDMyOCAxNnpNNjQgNDBhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6Il19LEhKdD1GOWUscUp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZpbGUtaGFsZi1kYXNoZWQiLGljb246WzM4NCw1MTIsW10sImU2OTgiLCJNNjQgMEMyOC43IDAgMCAyOC43IDAgNjRsMCAyNTYgMzg0IDAgMC0xNDkuNWMwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0wyNTguNyAxOC43QzI0Ni43IDYuNyAyMzAuNSAwIDIxMy41IDBMNjQgMHpNMzI1LjUgMTc2TDIzMiAxNzZjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDIwOCA1OC41IDMyNS41IDE3NnpNMCAzNTJsMCA2NCA2NCAwIDAtNjQtNjQgMHpNNjQgNTEybDAtNjQtNjQgMGMwIDM1LjMgMjguNyA2NCA2NCA2NHptMzIgMGw4MCAwIDAtNjQtODAgMCAwIDY0em0xMTIgMGw4MCAwIDAtNjQtODAgMCAwIDY0em0xMTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwtNjQgMCAwIDY0em02NC0xNjBsLTY0IDAgMCA2NCA2NCAwIDAtNjR6Il19LEI5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvdXRkZW50IixpY29uOls0NDgsNTEyLFsiZGVkZW50Il0sImYwM2IiLCJNLjQgNjRjMC0xNy43IDE0LjMtMzIgMzItMzJsMzg0IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTM4NCAwQzE0LjggOTYgLjQgODEuNyAuNCA2NHptMTkyIDEyOGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyem0zMiA5NmwxOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTkyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJ6TS40IDQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzg0IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0uNyAyNjguNmMtOC4yLTYuNC04LjItMTguOSAwLTI1LjNsMTAxLjktNzkuM2MxMC41LTguMiAyNS44LS43IDI1LjggMTIuNmwwIDE1OC42YzAgMTMuMy0xNS4zIDIwLjgtMjUuOCAxMi42TC43IDI2OC42eiJdfSxWSnQ9QjllLGpKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXBlYWNlIixpY29uOls0NDgsNTEyLFs5OTk2XSwiZjI1YiIsIk0xOTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDIwOC02NCAwIDAtMjA4YzAtMTcuNyAxNC4zLTMyIDMyLTMyem05NiAxNjBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyem02NCA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNjRjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC02NHpNNjEuMyA1MS4yTDE0My45IDI0MCA3NC4xIDI0MCAyLjcgNzYuOEMtNC40IDYwLjYgMyA0MS44IDE5LjIgMzQuN1M1NC4yIDM1IDYxLjMgNTEuMnptMjcgMjIxLjNsLS4yLS41IDk1LjkgMGMyMi4xIDAgNDAgMTcuOSA0MCA0MHMtMTcuOSA0MC00MCA0MGwtNTYgMGMtOC44IDAtMTYgNy4yLTE2IDE2czcuMiAxNiAxNiAxNmw1NiAwYzM5LjggMCA3Mi0zMi4yIDcyLTcybDAtLjZjOS40IDUuNCAyMC4zIDguNiAzMiA4LjYgMTMuMiAwIDI1LjQtNCAzNS42LTEwLjggOC43IDI0LjkgMzIuNSA0Mi44IDYwLjQgNDIuOCAxMS43IDAgMjIuNi0zLjEgMzItOC42bDAgOC42YzAgODguNC03MS42IDE2MC0xNjAgMTYwbC02MS43IDBjLTQyLjQgMC04My4xLTE2LjktMTEzLjEtNDYuOUw2OS41IDQ1My41QzQ1LjUgNDI5LjUgMzIgMzk2LjkgMzIgMzYzbDAtMjdjMC0zMi43IDI0LjYtNTkuNyA1Ni4zLTYzLjV6Il19LFVKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFkLXNpZGUtdmlydXMiLGljb246WzUxMiw1MTIsW10sImUwNjQiLCJNMzI5LjcgNDQ4Yy01LjEgMC05LjcgMy43LTkuNyA4LjhsMCA3LjJjMCAyNi41LTIxLjUgNDgtNDggNDhsLTE2MCAwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTYzLjZjMC0xMi42LTUuMS0yNC41LTEzLjEtMzQuMi0zMS44LTM4LjctNTAuOS04OC4yLTUwLjktMTQyLjIgMC0xMjMuNyAxMDAuMy0yMjQgMjI0LTIyNCAxMTIuNyAwIDIwNiA4My4zIDIyMS43IDE5MS43IC40IDMgMS43IDUuOSAzLjYgOC4zbDM1LjggNDIuOWM3IDguNCAxMC45IDE5LjEgMTAuOSAzMC4xIDAgMjUuOS0yMSA0Ny00NyA0N2wtMSAwYy04LjggMC0xNiA3LjItMTYgMTZsMCA0OGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMzguMyAwek0yMjQgNjRjLTEzLjMgMC0yNCAxMC43LTI0IDI0IDAgMjIuOS0yNy43IDM0LjQtNDMuOSAxOC4yLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjljMTYuMiAxNi4yIDQuNyA0My45LTE4LjIgNDMuOS0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0YzIyLjkgMCAzNC40IDI3LjcgMTguMiA0My45LTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGMxNi4yLTE2LjIgNDMuOS00LjcgNDMuOSAxOC4yIDAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRjMC0yMi45IDI3LjctMzQuNCA0My45LTE4LjIgOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45Yy0xNi4yLTE2LjItNC43LTQzLjkgMTguMi00My45IDEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0Yy0yMi45IDAtMzQuNC0yNy43LTE4LjItNDMuOSA5LjQtOS40IDkuNC0yNC42IDAtMzMuOXMtMjQuNi05LjQtMzMuOSAwYy0xNi4yIDE2LjItNDMuOSA0LjctNDMuOS0xOC4yIDAtMTMuMy0xMC43LTI0LTI0LTI0em0tMzIgODhhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em00MCA4OGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxXSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29tcGFzcyIsaWNvbjpbNTEyLDUxMixbMTI5NTE3XSwiZjE0ZSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnptNTAuNy0xODYuOUwxNjIuNCAzODAuNmMtMTkuNCA3LjUtMzguNS0xMS42LTMxLTMxbDU1LjUtMTQ0LjNjMy4zLTguNSA5LjktMTUuMSAxOC40LTE4LjRsMTQ0LjMtNTUuNWMxOS40LTcuNSAzOC41IDExLjYgMzEgMzFMMzI1LjEgMzA2LjdjLTMuMiA4LjUtOS45IDE1LjEtMTguNCAxOC40ek0yODggMjU2YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6Il19LEdKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW4tbmliIixpY29uOls1MTIsNTEyLFsxMDAwMV0sImY1YWQiLCJNMzY4LjUgMTguM2wtNTAuMSA1MC4xIDEyNS4zIDEyNS4zIDUwLjEtNTAuMWMyMS45LTIxLjkgMjEuOS01Ny4zIDAtNzkuMkw0NDcuNyAxOC4zYy0yMS45LTIxLjktNTcuMy0yMS45LTc5LjIgMHpNMjc5LjMgOTcuMmwtLjUgLjEtMTQ0LjEgNDMuMmMtMTkuOSA2LTM1LjcgMjEuMi00Mi4zIDQxTDMuOCA0NDUuOGMtMi45IDguNy0xLjkgMTguMiAyLjUgMjZMMTYxLjcgMzE2LjRjLTEuMS00LTEuNi04LjEtMS42LTEyLjQgMC0yNi41IDIxLjUtNDggNDgtNDhzNDggMjEuNSA0OCA0OC0yMS41IDQ4LTQ4IDQ4Yy00LjMgMC04LjUtLjYtMTIuNC0xLjZMNDAuMyA1MDUuN2M3LjggNC40IDE3LjIgNS40IDI2IDIuNWwyNjQuMy04OC42YzE5LjctNi42IDM1LTIyLjQgNDEtNDIuM2w0My4yLTE0NC4xIC4xLS41LTEzNS41LTEzNS41eiJdfSxZSnQ9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVudC1hcnJvd3MtZG93biIsaWNvbjpbNTEyLDUxMixbXSwiZTU4MSIsIk0xODUuNSAxMjFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMzEgMzEgMC0xMDIuMWMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDEwMi4xLTMxLTMxYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDcyIDcyYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwbDcyLTcyem0yNDggNzJsNzItNzJjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMzEgMzEgMC0xMDIuMWMwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDEwMi4xLTMxLTMxYy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDcyIDcyYzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwek02MC4zIDI5Mi42TDM3LjEgNDc2Yy0yLjQgMTkuMSAxMi41IDM2IDMxLjcgMzZsMTU0LjUgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTExNy40YzAtNS45IDQuNy0xMC42IDEwLjYtMTAuNiA0IDAgNy43IDIuMyA5LjUgNS45bDY4LjIgMTM2LjVjNS40IDEwLjggMTYuNSAxNy43IDI4LjYgMTcuN2w3MS45IDBjMTkuMyAwIDM0LjItMTYuOSAzMS43LTM2TDQ1Mi43IDI5Mi43Yy0xLjItOS43LTYuOS0xOC40LTE1LjMtMjMuNEwyNzEuOSAxNjkuOWMtMTAuMi02LjEtMjIuOS02LjEtMzMuMSAuMUw3NS40IDI2OS4zYy04LjMgNS4xLTEzLjkgMTMuNy0xNS4xIDIzLjN6Il19LEg5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb3J3YXJkLWZhc3QiLGljb246WzUxMiw1MTIsWzkxOTcsImZhc3QtZm9yd2FyZCJdLCJmMDUwIiwiTTE5LjggNDc3LjZjMTIgNSAyNS43IDIuMiAzNC45LTYuOUwyMjQgMzAxLjMgMjI0IDQ0OGMwIDEyLjkgNy44IDI0LjYgMTkuOCAyOS42czI1LjcgMi4yIDM0LjktNi45TDQ0OCAzMDEuMyA0NDggNDQ4YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0zODRjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxNDYuNy0xNjkuNC0xNjkuNGMtOS4yLTkuMi0yMi45LTExLjktMzQuOS02LjlTMjI0IDUxLjEgMjI0IDY0TDIyNCAyMTAuNyA1NC42IDQxLjRjLTkuMi05LjItMjIuOS0xMS45LTM0LjktNi45UzAgNTEuMSAwIDY0TDAgNDQ4YzAgMTIuOSA3LjggMjQuNiAxOS44IDI5LjZ6Il19LEtKdD1IOWUsWkp0PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNyb3AiLGljb246WzUxMiw1MTIsW10sImYxMjUiLCJNNDQ4IDEwOS4zbDU0LjYtNTQuNmMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEw0MDIuNyA2NCAxNzYgNjQgMTc2IDEyOCAzMzguNyAxMjggMTI4IDMzOC43IDEyOCAzMmMwLTE3LjctMTQuMy0zMi0zMi0zMlM2NCAxNC4zIDY0IDMybDAgMzItMzIgMEMxNC4zIDY0IDAgNzguMyAwIDk2czE0LjMgMzIgMzIgMzJsMzIgMCAwIDI1NmMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMDggMCAwLTY0LTE2Mi43IDAgMjEwLjctMjEwLjcgMCAzMDYuN2MwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzIgMzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMzIgMCAwLTI3NC43eiJdfSxxOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2hpc2tleS1nbGFzcyIsaWNvbjpbNDQ4LDUxMixbMTI5MzQ3LCJnbGFzcy13aGlza2V5Il0sImY3YTAiLCJNMzIgMzJDMTQuMyAzMiAwIDQ2LjMgMCA2NEwwIDM1MmMwIDcwLjcgNTcuMyAxMjggMTI4IDEyOGwxOTIgMGM3MC43IDAgMTI4LTU3LjMgMTI4LTEyOGwwLTI4OGMwLTE3LjctMTQuMy0zMi0zMi0zMkwzMiAzMnpNNjQgMjU2bDAtMTYwIDMyMCAwIDAgMTYwLTMyMCAweiJdfSxYSnQ9cTllLFFKdD17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcXVhcmUiLGljb246WzQ0OCw1MTIsWzk2MzIsOTcyMyw5NzI0LDYxNTkwXSwiZjBjOCIsIk02NCAzMmwzMjAgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDMyMGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJ6Il19LFY5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW4iLGljb246WzUxMiw1MTIsWzEyODUxMiwiZ3JpbiJdLCJmNTgwIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0zODYuNyAzMDguOWMxMS45LTMuNyAyMy45IDYuMyAxOS42IDE4LjEtMjIuNCA2MS4zLTgxLjMgMTA1LjEtMTUwLjMgMTA1LjFTMTI4LjEgMzg4LjIgMTA1LjcgMzI2LjljLTQuMy0xMS44IDcuNy0yMS44IDE5LjYtMTguMSAzOS4yIDEyLjIgODMuNyAxOS4xIDEzMC43IDE5LjFzOTEuNS02LjkgMTMwLjctMTkuMXpNMTQ0IDIwOGEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0xOTItMzJhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxKSnQ9VjllLGVlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWNvbnRyYWN0IixpY29uOlszODQsNTEyLFtdLCJmNTZjIiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek04OCA2NEM3NC43IDY0IDY0IDc0LjcgNjQgODhzMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0TDg4IDY0em0wIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQ4IDB6bTcwLjMgMTYwYy0xMS4zIDAtMjEuOSA1LjEtMjguOSAxMy45TDY5LjMgNDA5Yy04LjMgMTAuMy02LjYgMjUuNSAzLjcgMzMuN3MyNS41IDYuNiAzMy43LTMuOGw0Ny4xLTU4LjggMTUuMiA1MC43YzMgMTAuMiAxMi40IDE3LjEgMjMgMTcuMWwxMDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtODYuMSAwLTE2LjEtNTMuNmMtNC43LTE1LjctMTkuMS0yNi40LTM1LjUtMjYuNHoiXX0sdGVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuZ2xlLXVwIixpY29uOlszODQsNTEyLFs4OTYzXSwiZjEwNiIsIk0xNjkuNCAxMzcuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMGwxNjAgMTYwYzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDE5MiAyMDUuMyA1NC42IDM0Mi42Yy0xMi41IDEyLjUtMzIuOCAxMi41LTQ1LjMgMHMtMTIuNS0zMi44IDAtNDUuM2wxNjAtMTYweiJdfSxqOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1zbWlsZSIsaWNvbjpbNTEyLDUxMixbMTI4NTc4LCJzbWlsZSJdLCJmMTE4IiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0xNjUuNCAzMjEuOWMyMC40IDI4IDUzLjQgNDYuMSA5MC42IDQ2LjFzNzAuMi0xOC4xIDkwLjYtNDYuMWM3LjgtMTAuNyAyMi44LTEzLjEgMzMuNS01LjNzMTMuMSAyMi44IDUuMyAzMy41QzM1Ni4zIDM5MCAzMDkuMiA0MTYgMjU2IDQxNnMtMTAwLjMtMjYtMTI5LjQtNjUuOWMtNy44LTEwLjctNS40LTI1LjcgNS4zLTMzLjVzMjUuNy01LjQgMzMuNSA1LjN6TTE0NCAyMDhhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sYWVhPWo5ZSxyZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWRyZXNzLWJ1cnN0IixpY29uOls2NDAsNTEyLFtdLCJlNTQ0IiwiTTIwOCA0MC4xYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNHpNOCAxNDQuMWMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00OCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptOTIuNSAxNDEuNGwzMy45LTMzLjljOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMEw2Ni42IDI1MS42Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOXMyNC42IDkuNCAzMy45IDB6TTY2LjYgMi43Yy05LjQgOS40LTkuNCAyNC42IDAgMzMuOWwzMy45IDMzLjljOS40IDkuNCAyNC42IDkuNCAzMy45IDBzOS40LTI0LjYgMC0zMy45TDEwMC41IDIuN0M5MS4xLTYuNyA3Ni02LjcgNjYuNiAyLjd6TTM1MiA4MGE1NiA1NiAwIDEgMCAwLTExMiA1NiA1NiAwIDEgMCAwIDExMnpNMjQ2LjIgMzg0bDI1LjggMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDMyIDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTEyOCAyNS44IDBjMTAuOSAwIDE4LjYtMTAuNyAxNS4yLTIxLjFsLTQzLTEyOSA0OC4zIDY1LjFjMTAuNSAxNC4yIDMwLjYgMTcuMiA0NC44IDYuNnMxNy4yLTMwLjYgNi42LTQ0LjhsLTcwLjUtOTVDNDM0IDEzMiAzOTQuMyAxMTIgMzUyIDExMnMtODIgMjAtMTA3LjIgNTMuOWwtNzAuNSA5NWMtMTAuNSAxNC4yLTcuNiAzNC4yIDYuNiA0NC44czM0LjIgNy42IDQ0LjgtNi42bDQ4LjMtNjUuMS00MyAxMjljLTMuNSAxMC40IDQuMyAyMS4xIDE1LjIgMjEuMXoiXX0sc2VhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImRpdmlkZSIsaWNvbjpbNDQ4LDUxMixbMTAxMzUsMjQ3XSwiZjUyOSIsIk0yMjQgNDhhNTYgNTYgMCAxIDEgMCAxMTIgNTYgNTYgMCAxIDEgMC0xMTJ6TTAgMjU2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDI4OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTE2OCA0MDhhNTYgNTYgMCAxIDEgMTEyIDAgNTYgNTYgMCAxIDEgLTExMiAweiJdfSxpZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29kZS1mb3JrIixpY29uOls0NDgsNTEyLFtdLCJlMTNiIiwiTTgwIDEwNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6bTgwLTI0YzAgMzIuOC0xOS43IDYxLTQ4IDczLjNsMCAyMi43YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDEyOCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtMjIuN2MtMjguMy0xMi4zLTQ4LTQwLjUtNDgtNzMuMyAwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwYzAgMzIuOC0xOS43IDYxLTQ4IDczLjNsMCAyMi43YzAgNjEuOS01MC4xIDExMi0xMTIgMTEybC0zMiAwIDAgNzAuN2MyOC4zIDEyLjMgNDggNDAuNSA0OCA3My4zIDAgNDQuMi0zNS44IDgwLTgwIDgwcy04MC0zNS44LTgwLTgwYzAtMzIuOCAxOS43LTYxIDQ4LTczLjNsMC03MC43LTMyIDBDOTguMSAyODggNDggMjM3LjkgNDggMTc2bDAtMjIuN0MxOS43IDE0MSAwIDExMi44IDAgODAgMCAzNS44IDM1LjggMCA4MCAwczgwIDM1LjggODAgODB6bTIwOCAyNGEyNCAyNCAwIDEgMCAwLTQ4IDI0IDI0IDAgMSAwIDAgNDh6TTI0OCA0MzJhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHoiXX0sb2VhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLWZsYWciLGljb246WzY0MCw1MTIsW10sImU1MGQiLCJNNDcyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsOTYgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC05NiAwIDAgMjg4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNDQ4YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0yODMuNSA1OS4xbDEwMC41IDk2LjkgMCAzNTYtMjU2IDBjLTM1LjMgMC02NC0yOC43LTY0LTY0bDAtMTQ0LTE5LjkgMGMtMTUuNSAwLTI4LjEtMTIuNi0yOC4xLTI4LjEgMC03LjYgMy4xLTE0LjkgOC42LTIwLjJMMjI4LjUgNTkuMUMyMzUuOSA1MiAyNDUuNyA0OCAyNTYgNDhzMjAuMSA0IDI3LjUgMTEuMXpNMjMyIDI1NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCA0OGMwIDEzLjMgMTAuNyAyNCAyNCAyNGw0OCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0bDAtNDhjMC0xMy4zLTEwLjctMjQtMjQtMjRsLTQ4IDB6Il19LEo4PXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1aWxkaW5nLWNvbHVtbnMiLGljb246WzUxMiw1MTIsWyJiYW5rIiwiaW5zdGl0dXRpb24iLCJtdXNldW0iLCJ1bml2ZXJzaXR5Il0sImYxOWMiLCJNMjcxLjkgMjAuMmMtOS44LTUuNi0yMS45LTUuNi0zMS44IDBsLTIyNCAxMjhjLTEyLjYgNy4yLTE4LjggMjItMTUuMSAzNlMxNy41IDIwOCAzMiAyMDhsMzIgMCAwIDIwOCAwIDAtNTEuMiAzOC40QzQuNyA0NjAuNCAwIDQ2OS45IDAgNDgwIDAgNDk3LjcgMTQuMyA1MTIgMzIgNTEybDQ0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMyIDAtMTAuMS00LjctMTkuNi0xMi44LTI1LjZsLTUxLjItMzguNCAwLTIwOCAzMiAwYzE0LjUgMCAyNy4yLTkuOCAzMC45LTIzLjhzLTIuNS0yOC44LTE1LjEtMzZsLTIyNC0xMjh6TTQwMCAyMDhsMCAyMDgtNjQgMCAwLTIwOCA2NCAwem0tMTEyIDBsMCAyMDgtNjQgMCAwLTIwOCA2NCAwem0tMTEyIDBsMCAyMDgtNjQgMCAwLTIwOCA2NCAwek0yNTYgOTZhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxuZWE9SjgsbGVhPUo4LGNlYT1KOCxkZWE9SjgsdWVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJ1ZyIsaWNvbjpbNTc2LDUxMixbXSwiZTU2OSIsIk0yNCA2NGw1NiAwIDAgMzg0LTU2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAwIDAtNDAtOCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDggMCAwLTMyLTggMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw4IDAgMC0zMi04IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsOCAwIDAtNDAtOCAwQzEwLjcgMTEyIDAgMTAxLjMgMCA4OFMxMC43IDY0IDI0IDY0em0xMDQgMGwzMjAgMCAwIDM4NC0zMjAgMCAwLTM4NHpNNTc2IDg4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC04IDAgMCA0MCA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTggMCAwIDMyIDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtOCAwIDAgMzIgOCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC04IDAgMCA0MCA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTU2IDAgMC0zODQgNTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHoiXX0scGVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImNvZGUtbWVyZ2UiLGljb246WzQ0OCw1MTIsW10sImYzODciLCJNODAgNTZhMjQgMjQgMCAxIDEgMCA0OCAyNCAyNCAwIDEgMSAwLTQ4em0zMi40IDk3LjJjMjgtMTIuNCA0Ny42LTQwLjUgNDcuNi03My4yIDAtNDQuMi0zNS44LTgwLTgwLTgwUzAgMzUuOCAwIDgwYzAgMzIuOCAxOS43IDYxIDQ4IDczLjNsMCAyMDUuM0MxOS43IDM3MSAwIDM5OS4yIDAgNDMyIDAgNDc2LjIgMzUuOCA1MTIgODAgNTEyczgwLTM1LjggODAtODBjMC0zMi44LTE5LjctNjEtNDgtNzMuM2wwLTg2LjZjMjYuNyAyMC4xIDYwIDMyIDk2IDMybDg2LjcgMGMxMi4zIDI4LjMgNDAuNSA0OCA3My4zIDQ4IDQ0LjIgMCA4MC0zNS44IDgwLTgwcy0zNS44LTgwLTgwLTgwYy0zMi44IDAtNjEgMTkuNy03My4zIDQ4TDIwOCAyNDBjLTQ5LjkgMC05MS0zOC4xLTk1LjYtODYuOHpNODAgNDA4YTI0IDI0IDAgMSAxIDAgNDggMjQgMjQgMCAxIDEgMC00OHpNMzQ0IDI3MmEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxmZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaG91c2UtdHN1bmFtaSIsaWNvbjpbNjQwLDUxMixbXSwiZTUxNSIsIk0yODggMTZDMTU1LjUgMTYgNDggMTIzLjUgNDggMjU2UzE1NS41IDQ5NiAyODggNDk2YzcuNCAwIDE5LjctMi4zIDMzLjctNy4zIDEzLjgtNC45IDI3LjEtMTEuNyAzNi43LTE4LjkgMzguNC0yOSA5MC41LTI5IDEyOSAwIDE1LjQgMTEuNiAzNS4zIDIxLjEgNTUgMjQuNCAxOS41IDMuMyAzNyAuNCA1MS4xLTEwLjIgMTAuNi04IDI1LjYtNS45IDMzLjYgNC43czUuOSAyNS42LTQuNyAzMy42Yy0yNy4zIDIwLjUtNTkuMiAyNC04Ny45IDE5LjItMjguNS00LjgtNTUuNC0xOC03NS45LTMzLjQtMjEuMy0xNi4xLTQ5LjktMTYuMS03MS4yIDAtMTQuNSAxMC45LTMyLjQgMTkuNy00OS41IDI1LjgtMTYuOCA2LTM0LjkgMTAuMS00OS45IDEwLjFsLS4xIDBDMTI4LjkgNTQzLjkgMCA0MTUgMCAyNTYgMCA5Ni45IDEyOC45LTMyIDI4OC0zMiAzMDEuMy0zMiAzMTItMjEuMyAzMTItOHMtMTAuNyAyNC0yNCAyNHptNDQuOCAxNjYuNGw5Ni03MmMxMS40LTguNSAyNy4xLTguNSAzOC41IDBsOTUuNSA3MmM4IDYgMTIuNyAxNS41IDEyLjcgMjUuNWwuMyAxMjEuNWMtMi4yIDEuMy00LjMgMi42LTYuNCA0LjItNC4zIDMuMS04LjcgLjgtMTMuMi0xLjVsLTEuMi0uNi0uNy0uM2MtNS40LTIuNy0xMS43LTYuNi0xOC45LTExLjctMjkuNS0yMS4xLTY0LjMtMzEuNi05OS4xLTMxLjQtMzQuMSAuMi02OC4xIDEwLjctOTcgMzEuNC03LjggNS42LTEzLjggOS4zLTE5LjMgMTEuMkwzMjAgMjA4YzAtMTAuMSA0LjctMTkuNiAxMi44LTI1LjZ6bTU0LjYgMjI5LjdjLTE0LjUgMTAuOS0zMi40IDE5LjctNDkuNSAyNS44LTE2LjggNi0zNC45IDEwLjEtNDkuOSAxMC4xLTEwNiAwLTE5Mi04Ni0xOTItMTkyUzE4MiA2NCAyODggNjRjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRjLTc5LjUgMC0xNDQgNjQuNS0xNDQgMTQ0czY0LjUgMTQ0IDE0NCAxNDRjNy40IDAgMTkuNy0yLjMgMzMuNy03LjMgMTMuOC00LjkgMjcuMS0xMS43IDM2LjctMTguOSAzOC40LTI5IDkwLjUtMjkgMTI5IDAgMTUuNCAxMS42IDM1LjMgMjEuMSA1NSAyNC40IDE5LjUgMy4zIDM3IC40IDUxLjEtMTAuMiAxMC42LTggMjUuNi01LjkgMzMuNiA0LjdzNS45IDI1LjYtNC43IDMzLjZjLTI3LjMgMjAuNS01OS4yIDI0LTg3LjkgMTkuMi0yOC41LTQuOC01NS40LTE4LTc1LjktMzMuNC0yMS4zLTE2LjEtNDkuOS0xNi4xLTcxLjIgMHoiXX0saGVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hZ25pZnlpbmctZ2xhc3MtY2hhcnQiLGljb246WzUxMiw1MTIsW10sImU1MjIiLCJNNDE2IDIwOGMwIDQ1LjktMTQuOSA4OC4zLTQwIDEyMi43TDUwMi42IDQ1Ny40YzEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwTDMzMC43IDM3NkMyOTYuMyA0MDEuMSAyNTMuOSA0MTYgMjA4IDQxNiA5My4xIDQxNiAwIDMyMi45IDAgMjA4UzkzLjEgMCAyMDggMCA0MTYgOTMuMSA0MTYgMjA4em0tMzEyIDhsMCA2NGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6bTgwLTk2bDAgMTYwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xNjBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjR6bTgwIDY0bDAgOTZjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTk2YzAtMTMuMy0xMC43LTI0LTI0LTI0cy0yNCAxMC43LTI0IDI0eiJdfSxtZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidW1icmVsbGEiLGljb246WzUxMiw1MTIsW10sImYwZTkiLCJNMjU2LTMyYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMmMxMjYuMyAxNS43IDIyNCAxMjMuNSAyMjQgMjU0IDAgMy44LS4xIDcuNS0uMiAxMS4zLS4zIDYuOS01IDEyLjgtMTEuNyAxNC43cy0xMy44LS43LTE3LjYtNi41Yy0xNC40LTIxLjQtMzguOC0zNS41LTY2LjUtMzUuNS0yOS4zIDAtNTQuOSAxNS43LTY4LjkgMzkuMy0yLjcgNC42LTcuNiA3LjYtMTMgNy44cy0xMC41LTIuMi0xMy43LTYuNWMtMTQuNi0xOS44LTM4LTMyLjYtNjQuNS0zMi42cy00OS45IDEyLjgtNjQuNSAzMi42Yy0zLjIgNC4zLTguMyA2LjgtMTMuNyA2LjVzLTEwLjItMy4yLTEzLTcuOGMtMTQtMjMuNi0zOS42LTM5LjMtNjguOS0zOS4zLTI3LjcgMC01Mi4xIDE0LjEtNjYuNSAzNS41LTMuOSA1LjctMTEgOC40LTE3LjYgNi41Uy41IDI3NC4yIC4yIDI2Ny4zQy4xIDI2My41IDAgMjU5LjggMCAyNTYgMCAxMjUuNSA5Ny43IDE3LjcgMjI0IDJsMC0yYzAtMTcuNyAxNC4zLTMyIDMyLTMyem0zMiAzNjBsMCAxMDIuNmMwIDQ1LTM2LjUgODEuNC04MS40IDgxLjQtMzAuOCAwLTU5LTE3LjQtNzIuOC00NWwtMi4zLTQuN2MtNy45LTE1LjgtMS41LTM1IDE0LjMtNDIuOXMzNS0xLjUgNDIuOSAxNC4zbDIuMyA0LjdjMyA1LjkgOSA5LjYgMTUuNiA5LjYgOS42IDAgMTcuNC03LjggMTcuNC0xNy40TDIyNCAzMjhjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMnoiXX0sZ2VhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhpbGwtcm9ja3NsaWRlIixpY29uOls1NzYsNTEyLFtdLCJlNTA4IiwiTTI1Mi40IDEwMy44bDI3IDQ4YzIuOCA1IDguMiA4LjIgMTMuOSA4LjJsNTMuMyAwYzUuOCAwIDExLjEtMy4xIDEzLjktOC4ybDI3LTQ4YzIuNy00LjkgMi43LTEwLjggMC0xNS43bC0yNy00OGMtMi44LTUtOC4yLTguMi0xMy45LTguMmwtNTMuMyAwYy01LjggMC0xMS4xIDMuMS0xMy45IDguMmwtMjcgNDhjLTIuNyA0LjktMi43IDEwLjggMCAxNS43ek02OC4zIDg3QzQzLjEgNjEuOCAwIDc5LjcgMCAxMTUuM0wwIDQzMmMwIDQ0LjIgMzUuOCA4MCA4MCA4MGwzMTYuNyAwYzM1LjYgMCA1My41LTQzLjEgMjguMy02OC4zTDY4LjMgODd6TTUwNC4yIDQwMy42YzQuOSAyLjcgMTAuOCAyLjcgMTUuNyAwbDQ4LTI3YzUtMi44IDguMi04LjIgOC4yLTEzLjlsMC01My4zYzAtNS44LTMuMS0xMS4xLTguMi0xMy45bC00OC0yN2MtNC45LTIuNy0xMC44LTIuNy0xNS43IDBsLTQ4IDI3Yy01IDIuOC04LjIgOC4yLTguMiAxMy45bDAgNTMuM2MwIDUuOCAzLjEgMTEuMSA4LjIgMTMuOWw0OCAyN3pNMTkyIDY0YTMyIDMyIDAgMSAwIC02NCAwIDMyIDMyIDAgMSAwIDY0IDB6TTM4NCAyODhhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxiZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1zZWNyZXQiLGljb246WzQ0OCw1MTIsWzEyODM3M10sImYyMWIiLCJNMTcxLTE2Yy0zNi40IDAtNTcuOCA1OC4zLTY4LjMgMTEyTDcyIDk2Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI0IDAgMCAzMmMwIDE3IDMuMyAzMy4yIDkuMyA0OGwtOS4zIDAgMCAwLTIwLjUgMGMtMTUuMiAwLTI3LjUgMTIuMy0yNy41IDI3LjUgMCAzIC41IDUuOSAxLjQgOC43bDI4LjkgODYuNkM0MC4yIDM3OS42IDE2IDQyOC4xIDE2IDQ4Mi4zIDE2IDQ5OC43IDI5LjMgNTEyIDQ1LjcgNTEybDM1Ni42IDBjMTYuNCAwIDI5LjctMTMuMyAyOS43LTI5LjcgMC01NC4yLTI0LjItMTAyLjctNjIuMy0xMzUuNGwyOC45LTg2LjZjLjktMi44IDEuNC01LjcgMS40LTguNyAwLTE1LjItMTIuMy0yNy41LTI3LjUtMjcuNWwtMjAuNSAwIDAgMC05LjMgMGM2LTE0LjggOS4zLTMxIDkuMy00OGwwLTMyIDI0IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTMwLjcgMGMtMTAuNC01My43LTMxLjktMTEyLTY4LjMtMTEyLTkuNiAwLTE5IDMuOS0yNy41IDguMi04LjIgNC4xLTE4LjQgNy44LTI1LjUgNy44cy0xNy4zLTMuNy0yNS41LTcuOEMxOTAtMTIuMSAxODAuNi0xNiAxNzEtMTZ6bTkzLjcgNDg0LjRsLTI0LjgtNzAuOSAyNy45LTMyLjVjMi43LTMuMiA0LjItNy4yIDQuMi0xMS40IDAtOS43LTcuOC0xNy41LTE3LjUtMTcuNWwtNjEgMGMtOS43IDAtMTcuNSA3LjgtMTcuNSAxNy41IDAgNC4yIDEuNSA4LjIgNC4yIDExLjRsMjcuOSAzMi41LTI0LjggNzAuOS01Ny0xODAuNCAzNS43IDBjMTguNCAxMC4yIDM5LjUgMTYgNjIgMTZzNDMuNi01LjggNjItMTZsMzUuNyAwLTU3IDE4MC40ek0yMjQgMjU2Yy0zNC43IDAtNjQuMi0yMi4xLTc1LjMtNTMgNS43IDMuMiAxMi4zIDUgMTkuMyA1bDEyLjQgMGMxNi41IDAgMzEuMS0xMC42IDM2LjMtMjYuMiAyLjMtNyAxMi4yLTcgMTQuNSAwIDUuMiAxNS42IDE5LjkgMjYuMiAzNi4zIDI2LjJsMTIuNCAwYzcgMCAxMy42LTEuOCAxOS4zLTUtMTEuMSAzMC45LTQwLjYgNTMtNzUuMyA1M3oiXX0sdmVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhZ2VyIixpY29uOls1MTIsNTEyLFsxMjgyMjNdLCJmODE1IiwiTTAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjU2YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDQ0OGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAxMjh6bTY0IDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMkw5NiAxMjhjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek04OCAzMjBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMHptMTI4IDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDggMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDggMHoiXX0seGVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJyaWVmY2FzZSIsaWNvbjpbNTEyLDUxMixbMTI4MTg4XSwiZjBiMSIsIk0yMDAgNDhsMTEyIDBjNC40IDAgOCAzLjYgOCA4bDAgNDAtMTI4IDAgMC00MGMwLTQuNCAzLjYtOCA4LTh6bS01NiA4bDAgNDAtODAgMEMyOC43IDk2IDAgMTI0LjcgMCAxNjBsMCA5NiA1MTIgMCAwLTk2YzAtMzUuMy0yOC43LTY0LTY0LTY0bC04MCAwIDAtNDBjMC0zMC45LTI1LjEtNTYtNTYtNTZMMjAwIDBjLTMwLjkgMC01NiAyNS4xLTU2IDU2ek01MTIgMzA0bC0xOTIgMCAwIDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMybC02NCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE2LTE5MiAwIDAgMTEyYzAgMzUuMyAyOC43IDY0IDY0IDY0bDM4NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMTEyeiJdfSx5ZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidHJvd2VsLWJyaWNrcyIsaWNvbjpbNTEyLDUxMixbXSwiZTU4YSIsIk0yMjQgMzJjMC0xMS41LTYuMi0yMi4yLTE2LjItMjcuOHMtMjIuMy01LjUtMzIuMiAuNGwtMTYwIDk2QzUuOSAxMDYuMyAwIDExNi44IDAgMTI4czUuOSAyMS43IDE1LjUgMjcuNGwxNjAgOTZjOS45IDUuOSAyMi4yIDYuMSAzMi4yIC40UzIyNCAyMzUuNSAyMjQgMjI0bDAtNjQgMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI1NiAwIDAtNjR6bTk2IDE5MmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmwxNjAgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTY0YzAtMTcuNy0xNC4zLTMyLTMyLTMybC0xNjAgMHpNMCA0MTZsMCA2NGMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtNjRjMC0xNy43LTE0LjMtMzItMzItMzJsLTk2IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyem0yMjQtMzJjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMjU2IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMjU2IDB6Il19LHdlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzb2NrcyIsaWNvbjpbNTEyLDUxMixbMTI5NTEwXSwiZjY5NiIsIk0yNTIuOCAwTDE3NiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE2IDExMiAwIDAtMTZjMC0xNy41IDQuNy0zMy45IDEyLjgtNDh6TTEyOCAxMTJsMCAxMjhjMCAyMC4xLTkuNSAzOS4xLTI1LjYgNTEuMmwtNjQgNDhjLTI0LjIgMTguMS0zOC40IDQ2LjYtMzguNCA3Ni44IDAgNTMgNDMgOTYgOTYgOTYgMTUuNCAwIDMwLjUtMy43IDQ0LTEwLjctMTcuNi0yMy45LTI4LTUzLjQtMjgtODUuMyAwLTQ1LjMgMjEuMy04OCA1Ny42LTExNS4ybDY0LTQ4YzQtMyA2LjQtNy44IDYuNC0xMi44bDAtMTI4LTExMiAwem0xNjAgMGwwIDEyOGMwIDIwLjEtOS41IDM5LjEtMjUuNiA1MS4ybC02NCA0OGMtMjQuMiAxOC4xLTM4LjQgNDYuNi0zOC40IDc2LjggMCA1MyA0MyA5NiA5NiA5NiAyMC44IDAgNDEtNi43IDU3LjYtMTkuMmwxMTUuMi04Ni40QzQ2MSAzODIuMiA0ODAgMzQ0LjMgNDgwIDMwNGwwLTE5Mi0xOTIgMHpNNDgwIDY0bDAtMTZjMC0yNi41LTIxLjUtNDgtNDgtNDhMMzM2IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMTYgMTkyIDB6Il19LE1lYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0IixpY29uOlszODQsNTEyLFsxMTZdLCI1NCIsIk0zMiAzMkMxNC4zIDMyIDAgNDYuMyAwIDY0UzE0LjMgOTYgMzIgOTZsMTI4IDAgMCAzNTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTM1MiAxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMnoiXX0sa2VhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1pY3JvY2hpcCIsaWNvbjpbNTEyLDUxMixbXSwiZjJkYiIsIk0xNzYgMjRjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsLTQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDAgMCAwIDU2LTQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDAgMCAwIDU2LTQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDAgMGMwIDM1LjMgMjguNyA2NCA2NCA2NGwwIDQwYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC00MCA1NiAwIDAgNDBjMCAxMy4zIDEwLjcgMjQgMjQgMjRzMjQtMTAuNyAyNC0yNGwwLTQwIDU2IDAgMCA0MGMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtNDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDAgMCAwLTU2IDQwIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTQwIDAgMC01NiA0MCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC00MCAwYzAtMzUuMy0yOC43LTY0LTY0LTY0bDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MC01NiAwIDAtNDBjMC0xMy4zLTEwLjctMjQtMjQtMjRzLTI0IDEwLjctMjQgMjRsMCA0MC01NiAwIDAtNDB6TTE2MCAxMjhsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAxOTJjMCAxNy43LTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTE5MmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMTYgNDhsMCAxNjAgMTYwIDAgMC0xNjAtMTYwIDB6Il19LFU5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cnVjay1tZWRpY2FsIixpY29uOls1NzYsNTEyLFsxMjg2NTcsImFtYnVsYW5jZSJdLCJmMGY5IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMy4zIDBjMTAuNCAzNi45IDQ0LjQgNjQgODQuNyA2NHM3NC4yLTI3LjEgODQuNy02NGwxMDIuNiAwYzEwLjQgMzYuOSA0NC40IDY0IDg0LjcgNjRzNzQuMi0yNy4xIDg0LjctNjRsMy4zIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0xNDYuN2MwLTE3LTYuNy0zMy4zLTE4LjctNDUuM0w1MTIgMTQ2LjdjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdsLTUwLjcgMCAwLTMyYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek01MTIgMjM3LjNsMCA1MC43LTk2IDAgMC05NiA1MC43IDAgNDUuMyA0NS4zek0xNTIgMzg0YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHptMjMyIDQwYTQwIDQwIDAgMSAxIDgwIDAgNDAgNDAgMCAxIDEgLTgwIDB6TTE3NiAxMzZjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgNDAgNDAgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCAzMmMwIDguOC03LjIgMTYtMTYgMTZsLTQwIDAgMCA0MGMwIDguOC03LjIgMTYtMTYgMTZsLTMyIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTQwLTQwIDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNmw0MCAwIDAtNDB6Il19LFNlYT1VOWUsemVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im9tIixpY29uOls1NzYsNTEyLFsxMjgzMjldLCJmNjc5IiwiTTM4OC43IDQuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMGwxNiAxNmM2LjIgNi4yIDYuMiAxNi40IDAgMjIuNmwtMTYgMTZjLTYuMiA2LjItMTYuNCA2LjItMjIuNiAwbC0xNi0xNmMtNi4yLTYuMi02LjItMTYuNCAwLTIyLjZsMTYtMTZ6TTE3NiAxNjBjLTEwLjggMC0yMC44IDMuNi0yOC44IDkuNi0xNC4xIDEwLjYtMzQuMiA3LjgtNDQuOC02LjRzLTcuOC0zNC4yIDYuNC00NC44YzE4LjctMTQuMSA0Mi0yMi40IDY3LjItMjIuNCA2MS45IDAgMTEyIDUwLjEgMTEyIDExMiAwIDE3LjItMy45IDMzLjUtMTAuOCA0OGw0OS43IDBjMTIuNyAwIDI0LjktNSAzMy45LTE0LjFsMjAuNy0yMC43YzE4LjctMTguNyA0NC4xLTI5LjMgNzAuNi0yOS4zIDU1LjIgMCA5OS45IDQ0LjcgOTkuOSA5OS45bDAgOTYuMWMwIDU1LjItNDQuOCAxMDAtMTAwIDEwMFMzNTIgNDQzLjIgMzUyIDM4OGwwLTRjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDRjMCAxOS45IDE2LjEgMzYgMzYgMzZzMzYtMTYuMSAzNi0zNmwwLTk2LjFjMC0xOS44LTE2LjEtMzUuOS0zNS45LTM1LjktOS41IDAtMTguNiAzLjgtMjUuNCAxMC41bC0yMC43IDIwLjdjLTIxIDIxLTQ5LjQgMzIuOC03OS4xIDMyLjhsLTI2LjggMGMxMi42IDE5LjYgMTkuOSA0Mi44IDE5LjkgNjggMCA3NS4yLTY1IDEzMi0xNDAgMTMyUzQwIDQ2My4yIDQwIDM4OGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMyYzAgMzUuMyAzMS43IDY4IDc2IDY4czc2LTMyLjcgNzYtNjgtMzEuNy02OC03Ni02OGwtMjAgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwxNiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4ek0zMzcuMSA2MC4xYy0xMS0xMy44LTMxLjEtMTYuMi00NS01LjJzLTE2LjIgMzEuMS01LjIgNDVDMzEyLjYgMTMyLjIgMzU0LjQgMTUyIDQwMCAxNTJzODcuNC0xOS44IDExMy4xLTUyLjFjMTEtMTMuOCA4LjctMzQtNS4yLTQ1cy0zNC04LjctNDUgNS4yQzQ1MC4zIDc2IDQyNy41IDg4IDQwMCA4OHMtNTAuMy0xMi02Mi45LTI3Ljl6Il19LENlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtb3NxdWl0by1uZXQiLGljb246WzY0MCw1MTIsW10sImU1MmMiLCJNNTc2IDM1MmMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDE2IDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDAgMCA0OCAxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwIDAgMTYtLjEgMi41QzU5OC42IDU2Ni42IDU4OC40IDU3NiA1NzYgNTc2cy0yMi42LTkuNC0yMy45LTIxLjVsLS4xLTIuNSAwLTE2LTQ4IDAgMCAxNi0uMSAyLjVDNTAyLjYgNTY2LjYgNDkyLjQgNTc2IDQ4MCA1NzZzLTIyLjYtOS40LTIzLjktMjEuNWwtLjEtMi41IDAtMTYtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNiAwIDAtNDgtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNiAwIDAtMTZjMC0xMy4zIDEwLjctMjQgMjQtMjRzMjQgMTAuNyAyNCAyNGwwIDE2IDQ4IDAgMC0xNmMwLTEzLjMgMTAuNy0yNCAyNC0yNHpNNDI5LjkgMTYuM2M3LjctOS40IDIxLjMtMTEuNSAzMS40LTQuMyAxMC4xIDcuMSAxMy4xIDIwLjkgNy40IDMxLjdsLTEuMyAyLjEtMjUuOSAzOC45IDEzLjMgNTMuNGMyIDgtLjEgMTYuMy01LjMgMjIuM2wtMi40IDIuNC00NC43IDM4LjMgMTMwLjUgMTQuNWM0Mi44IDQuOCA3NS4xIDQwLjkgNzUuMSA4My45IDAgMy45LS40IDcuNy0uOSAxMS41LTcuMy0zLjUtMTUuMy01LjgtMjMuOC02LjdMNTc2IDMwNGMtMTguNSAwLTM1LjMgNy00OCAxOC40LTExLTkuOS0yNS4xLTE2LjUtNDAuNi0xOC4xTDQ4MCAzMDRjLTMwLjMgMC01Ni4xIDE4LjctNjYuOCA0NS4yLTEyLjUgNS0yMy4yIDEzLjQtMzEuMSAyNGwtMzAuMi00MC4xIDAgNzQuN2MwIDE3LjctMTQuMyAzMi0zMiAzMi0xNi42IDAtMzAuMi0xMi42LTMxLjgtMjguN2wtLjItMy4zIDAtNzQuNi0zMi4zIDQzIDAgMzkuOGMwIDMuNS0uNyA2LjktMi4xIDEwLjFsLTEuNiAzLjEtNDAgNjQtMS40IDJjLTcuNSA5LjYtMjEgMTIuMS0zMS4zIDUuMy0xMC4zLTYuOC0xMy43LTIwLjUtOC4zLTMxLjVsMS4yLTIuMiAzNi4yLTU4IDAtNDEgLjMtNGMuNi0zLjkgMi4yLTcuNyA0LjYtMTAuOWwzOS4zLTUyLjItNjYuMiA1OS41Yy0xNyAxNS4zLTM5IDIzLjctNjEuOSAyMy44bC04LjEgMGMtNDYuNiAwLTg0LjQtMzcuOC04NC40LTg0LjQgMC00MyAzMi40LTc5LjIgNzUuMS04My45bDEzMC41LTE0LjUtNDQuNy0zOC4zLTIuNC0yLjRjLTUuMi02LTcuMy0xNC40LTUuMy0yMi4zbDEzLjMtNTMuNC0yNS45LTM4LjktMS4yLTIuMWMtNS43LTEwLjgtMi43LTI0LjYgNy40LTMxLjcgMTAuMS03LjEgMjMuNy01LjEgMzEuNCA0LjNsMS41IDIgMzIgNDggMS40IDIuMmMyLjggNS4zIDMuNSAxMS42IDIuMSAxNy42bC0xMi4zIDQ5LjIgNTMuMyA0NS43IDAtMjguOCAuMi0zLjJjMS4xLTEwLjQgNy4yLTE5LjQgMTUuOC0yNC40bDAtNjAuNSAuMy0zLjJjMS41LTcuMyA4LTEyLjcgMTUuNy0xMi44IDcuNyAwIDE0LjIgNS41IDE1LjcgMTIuOGwuMyAzLjIgMCA2MC41YzguNyA1IDE0LjggMTQgMTUuOCAyNC40bC4yIDMuMiAwIDI4LjkgNTMuNC00NS43LTEyLjMtNDkuMmMtMS41LTUuOS0uNy0xMi4yIDIuMS0xNy42bDEuNC0yLjIgMzItNDggMS41LTJ6TTUwNCA0ODhsNDggMCAwLTQ4LTQ4IDAgMCA0OHoiXX0sX2VhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InByZXNjcmlwdGlvbi1ib3R0bGUiLGljb246WzM4NCw1MTIsW10sImY0ODUiLCJNMCAzMkMwIDE0LjMgMTQuMyAwIDMyIDBMMzUyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDE3LjctMTQuMyAzMi0zMiAzMkwzMiA5NkMxNC4zIDk2IDAgODEuNyAwIDY0TDAgMzJ6TTMyIDE0NGwzMjAgMCAwIDMwNGMwIDM1LjMtMjguNyA2NC02NCA2NEw5NiA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0bDcyIDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTcyIDAgMC00OCA3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC03MiAwIDAtNDggNzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNzIgMCAwLTY0eiJdfSxXOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlcnMtZ2VhciIsaWNvbjpbNjQwLDUxMixbInVzZXJzLWNvZyJdLCJmNTA5IiwiTTMyMCAyMjRhMTA0IDEwNCAwIDEgMCAwLTIwOCAxMDQgMTA0IDAgMSAwIDAgMjA4ek05NiAyMzJhNzIgNzIgMCAxIDAgMC0xNDQgNzIgNzIgMCAxIDAgMCAxNDR6TTAgNDE2bDAgMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsODYuNyAwYy00LjMtOS44LTYuNy0yMC42LTYuNy0zMmwwLTE2YzAtNTMuMiAyMC0xMDEuOCA1Mi45LTEzOC42LTExLjctMy41LTI0LjEtNS40LTM2LjktNS40LTcwLjcgMC0xMjggNTcuMy0xMjggMTI4ek02MTYgMTYwYTcyIDcyIDAgMSAwIC0xNDQgMCA3MiA3MiAwIDEgMCAxNDQgMHpNMTYwIDQzMmwwIDE2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE1Ni44IDBjLTcuMS0yMS42LTYuMy00NC40IDEwLjctNjQtMTQtMTYuMi0yMC41LTM5LjctMTEuNC02My4zIDYuNi0xNy4xIDE1LjktMzMuMSAyNy40LTQ3LjMgNS40LTYuNiAxMS42LTExLjcgMTguMy0xNS40LTIyLjEtMTEuNS00Ny4yLTE4LTczLjgtMTgtODguNCAwLTE2MCA3MS42LTE2MCAxNjB6bTQ2NC42LTQ0LjFjNi4zLTMuNiA5LjUtMTEuMSA2LjgtMTgtNC44LTEyLjQtMTEuNS0yNC4xLTE5LjktMzQuNC00LjYtNS43LTEyLjctNi43LTE5LTMtMjEuOCAxMi42LTQ4LjYtMi44LTQ4LjYtMjguMSAwLTcuMy00LjktMTMuOC0xMi4xLTE0LjktMTIuOS0yLTI2LjgtMi0zOS43IDAtNy4yIDEuMS0xMi4xIDcuNi0xMi4xIDE0LjkgMCAyNS4yLTI2LjggNDAuNy00OC42IDI4LjEtNi4zLTMuNi0xNC40LTIuNi0xOSAzLTguNCAxMC4zLTE1LjEgMjItMTkuOSAzNC40LTIuNiA2LjggLjUgMTQuMyA2LjggMTcuOSAyMS45IDEyLjYgMjEuOSA0My41IDAgNTYuMi02LjMgMy42LTkuNSAxMS4xLTYuOCAxNy45IDQuOCAxMi40IDExLjUgMjQuMSAxOS45IDM0LjQgNC42IDUuNyAxMi43IDYuNyAxOSAzIDIxLjgtMTIuNiA0OC42IDIuOSA0OC42IDI4LjEgMCA3LjMgNC45IDEzLjggMTIuMSAxNC45IDEyLjkgMiAyNi44IDIgMzkuNyAwIDcuMi0xLjEgMTIuMS03LjYgMTIuMS0xNC45IDAtMjUuMiAyNi44LTQwLjcgNDguNi0yOC4xIDYuMyAzLjYgMTQuNCAyLjYgMTktMyA4LjQtMTAuMyAxNS4xLTIyIDE5LjktMzQuNCAyLjYtNi44LS41LTE0LjMtNi44LTE3LjktMjEuOS0xMi42LTIxLjktNDMuNSAwLTU2LjJ6TTQ3MiA0MTZhNDAgNDAgMCAxIDEgODAgMCA0MCA0MCAwIDEgMSAtODAgMHoiXX0sVGVhPVc5ZSxMZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm9hZC1jaXJjbGUtZXhjbGFtYXRpb24iLGljb246WzY0MCw1MTIsW10sImU1NjUiLCJNMjg4IDMybC03Ni4zIDBjLTI5LjQgMC01NS4xIDIwLjEtNjIuMSA0OC42TDY1LjQgNDIwLjVDNTcuOSA0NTAuNyA4MC44IDQ4MCAxMTIgNDgwbDIwOS40IDBjLTExLjItMjQuNC0xNy40LTUxLjQtMTcuNC04MCAwLTI4LjYgNi4yLTU1LjcgMTcuNC04MC0uNSAwLTEgMC0xLjUgMC0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA0OWMzNS4yLTM5LjkgODYuNy02NSAxNDQtNjUgOSAwIDE3LjggLjYgMjYuNSAxLjhsLTMyLTEyOS4yQzQ4My40IDUyLjEgNDU3LjggMzIgNDI4LjMgMzJsLTc2LjQgMCAwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjR6TTQ5NiA1NDRhMTQ0IDE0NCAwIDEgMCAwLTI4OCAxNDQgMTQ0IDAgMSAwIDAgMjg4em0wLTEwMGEyMCAyMCAwIDEgMSAwIDQwIDIwIDIwIDAgMSAxIDAtNDB6bTAtMTQwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDgwYzAgOC44LTcuMiAxNi0xNiAxNnMtMTYtNy4yLTE2LTE2bDAtODBjMC04LjggNy4yLTE2IDE2LTE2eiJdfSwkZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGF1c2UiLGljb246WzM4NCw1MTIsWzkyMDhdLCJmMDRjIiwiTTQ4IDMyQzIxLjUgMzIgMCA1My41IDAgODBMMCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsNjQgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1MmMwLTI2LjUtMjEuNS00OC00OC00OEw0OCAzMnptMjI0IDBjLTI2LjUgMC00OCAyMS41LTQ4IDQ4bDAgMzUyYzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY0IDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0zNTJjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTY0IDB6Il19LEpiPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0YWZmLXNuYWtlIixpY29uOls0NDgsNTEyLFsicm9kLWFzY2xlcGl1cyIsInJvZC1zbmFrZSIsInN0YWZmLWFlc2N1bGFwaXVzIl0sImU1NzkiLCJNMTkyIDMybDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDY0IDBjNTMgMCA5NiA0MyA5NiA5NnMtNDMgOTYtOTYgOTZsLTE2IDAgMC02NCAxNiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC02NCAwIDAgMTkyIDMyIDBjNTMgMCA5NiA0MyA5NiA5NiAwIDQ3LjYtMzQuNiA4Ny4xLTgwIDk0LjdsMC02N2M5LjYtNS41IDE2LTE1LjkgMTYtMjcuNyAwLTE3LjctMTQuMy0zMi0zMi0zMmwtMzIgMCAwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyLTMyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMzIgMCAwLTY0LTMyIDBjLTUzIDAtOTYtNDMtOTYtOTYgMC00Ny42IDM0LjYtODcuMSA4MC05NC43bDAgNjdjLTkuNiA1LjUtMTYgMTUuOS0xNiAyNy43IDAgMTcuNyAxNC4zIDMyIDMyIDMybDMyIDAgMC0xOTItNzIuNiAwYy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMybC0xNiAwQzIxLjUgMTI4IDAgMTA2LjUgMCA4MFMyMS41IDMyIDQ4IDMybDE0NCAweiJdfSxEZWE9SmIsQWVhPUpiLEVlYT1KYixQZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGlnZ3ktYmFuayIsaWNvbjpbNTc2LDUxMixbXSwiZjRkMyIsIk0yODgtMzJhOTYgOTYgMCAxIDEgMCAxOTIgOTYgOTYgMCAxIDEgMC0xOTJ6TTQ4IDMwNGMwLTcwLjEgNDctMTMxLjQgMTE3LjEtMTY0LjkgMjUuMyA0MS4zIDcwLjkgNjguOSAxMjIuOSA2OC45IDU1LjcgMCAxMDQuMS0zMS43IDEyOC03OCAxNS44LTExLjMgMzUuMS0xOCA1Ni0xOGwxOS41IDBjMTAuNCAwIDE4IDkuOCAxNS41IDE5LjlsLTE3LjEgNjguM2M5LjkgMTIuNCAxOC4yIDI1LjcgMjQuNCAzOS44bDIxLjcgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDExMmMwIDEzLjMtMTAuNyAyNC0yNCAyNGwtNDAgMGMtMTYuNSAyMi0zOC41IDM5LjYtNjQgNTAuN2wwIDI5LjNjMCAxNy43LTE0LjMgMzItMzIgMzJsLTMzIDBjLTE0LjMgMC0yNi44LTkuNS0zMC44LTIzLjJsLTcuMS0yNC44LTgyLjMgMC03LjEgMjQuOEMyMzUuOCA1MDIuNSAyMjMuMyA1MTIgMjA5IDUxMmwtMzMgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0yOS4zQzg3LjUgNDI2IDQ4IDM2OS42IDQ4IDMwNHptMzc2IDE2YTI0IDI0IDAgMSAwIDAtNDggMjQgMjQgMCAxIDAgMCA0OHoiXX0sSWVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbnVtZW50IixpY29uOlszODQsNTEyLFtdLCJmNWE2IiwiTTIwOS0zM2MtOS40LTkuNC0yNC42LTkuNC0zMy45IDBMOTUgNDdjLTQuMSA0LjEtNi41IDkuNC03IDE1LjFMNTguNCA0NDggNDggNDQ4Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xMC40IDAtMjkuNy0zODUuOGMtLjQtNS43LTIuOS0xMS4xLTctMTUuMUwyMDktMzN6TTEyOCAyOTZjMC0xMy4zIDEwLjctMjQgMjQtMjRsODAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtODAgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6Il19LEc5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmdsZXMtcmlnaHQiLGljb246WzQ0OCw1MTIsWzE4NywiYW5nbGUtZG91YmxlLXJpZ2h0Il0sImYxMDEiLCJNNDM5LjEgMjc4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNsLTE2MC0xNjBjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zTDM3MS4yIDI1NiAyMzMuOSAzOTMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMGwxNjAtMTYwem0tMzUyIDE2MGwxNjAtMTYwYzEyLjUtMTIuNSAxMi41LTMyLjggMC00NS4zbC0xNjAtMTYwYy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM0wxNzkuMiAyNTYgNDEuOSAzOTMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMHoiXX0sTmVhPUc5ZSxodj17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkZXNrdG9wIixpY29uOls1MTIsNTEyLFsxMjg0MjEsNjE3MDQsImRlc2t0b3AtYWx0Il0sImYzOTAiLCJNNjQgMzJDMjguNyAzMiAwIDYwLjcgMCA5NkwwIDM1MmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxNDQgMC0xNiA0OC03MiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDI3MiAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC03MiAwLTE2LTQ4IDE0NCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek05NiA5NmwzMjAgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDE2MGMwIDE3LjctMTQuMyAzMi0zMiAzMkw5NiAzMjBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxSZWE9aHYsT2VhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBsYW5lLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTU1NyIsIk0yMzIgMjRjMC0zMC45IDI1LjEtNTYgNTYtNTZzNTYgMjUuMSA1NiA1NmwwIDEyNy4zIDc4IDcxLjVjLTY5LjMgMjktMTE4IDk3LjQtMTE4IDE3Ny4yIDAgNDkuMyAxOC42IDk0LjMgNDkuMSAxMjguM0wyODggNTEyIDE3OS45IDUzOWMtMTAuMSAyLjUtMTkuOS01LjEtMTkuOS0xNS41bDAtMTkuOGMwLTQuOSAyLjItOS41IDYtMTIuNWw2Ni01Mi44IDAtOTkuNy0xNjIuOSA1NC4zQzU4LjcgMzk2LjQgNDggMzg4LjcgNDggMzc3LjhsMC00My43YzAtOSAzLjgtMTcuNSAxMC40LTIzLjZMMjMyIDE1MS4zIDIzMiAyNHpNNDk2IDI1NmExNDQgMTQ0IDAgMSAxIDAgMjg4IDE0NCAxNDQgMCAxIDEgMC0yODh6bTU5LjMgMTA3LjNjNi4yLTYuMiA2LjItMTYuNCAwLTIyLjZzLTE2LjQtNi4yLTIyLjYgMGwtMzYuNyAzNi43LTM2LjctMzYuN2MtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmwzNi43IDM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTYuMiAxNi40IDAgMjIuNnMxNi40IDYuMiAyMi42IDBsMzYuNy0zNi43IDM2LjcgMzYuN2M2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMHM2LjItMTYuNCAwLTIyLjZsLTM2LjctMzYuNyAzNi43LTM2Ljd6Il19LEZlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyZXR3ZWV0IixpY29uOls1NzYsNTEyLFtdLCJmMDc5IiwiTTExOC42IDQxLjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC02NCA2NGMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlTMTkuMSAxNjAgMzIgMTYwbDMyIDAgMCAyMjRjMCA1MyA0MyA5NiA5NiA5NmwxMjggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMTI4IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMjI0IDMyIDBjMTIuOSAwIDI0LjYtNy44IDI5LjYtMTkuOHMyLjItMjUuNy02LjktMzQuOWwtNjQtNjR6TTQ1Ny40IDQ3MC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDY0LTY0YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzU1Ni45IDM1MiA1NDQgMzUybC0zMiAwIDAtMjI0YzAtNTMtNDMtOTYtOTYtOTZMMjg4IDMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMjI0LTMyIDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDY0IDY0eiJdfSxZOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidXNlci1nZWFyIixpY29uOls2NDAsNTEyLFsidXNlci1jb2ciXSwiZjRmZSIsIk0yNTYuNSA4YTEyMCAxMjAgMCAxIDEgMCAyNDAgMTIwIDEyMCAwIDEgMSAwLTI0MHpNMjI2LjcgMzA0bDU5LjQgMCAxLjUgMGMtMTIuOSAyNi44LTcuOCA1OC4yIDExLjUgNzkuNS0yMC4yIDIyLjMtMjQuOCA1NS44LTkuNCA4My40bDIyLjUgNDAuNGMuOSAxLjYgMS45IDMuMiAyLjkgNC43bC0yMzcgMGMtMTYuNCAwLTI5LjctMTMuMy0yOS43LTI5LjcgMC05OC41IDc5LjgtMTc4LjMgMTc4LjMtMTc4LjN6bTIwNS45LTU2LjRjMC0xMy4zIDEwLjctMjQgMjQtMjRsNDggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDYuMWMwIDE4LjkgMjQuMSAzMi44IDQwLjUgMjMuNGw1LTIuOWMxMS42LTYuNyAyNi41LTIuNiAzMyA5LjFsMjIuNCA0MC4yYzYuMiAxMS4yIDIuNiAyNS4yLTguMiAzMmwtNC43IDIuOWMtMTYuMiAxMC4xLTE2LjIgMzkuOSAwIDUwLjFsNC42IDIuOWMxMC44IDYuOCAxNC41IDIwLjggOC4zIDMyTDYwNyA0ODMuOGMtNi41IDExLjctMjEuNCAxNS45LTMzIDkuMWwtNC45LTIuOWMtMTYuNC05LjUtNDAuNSA0LjUtNDAuNSAyMy40bDAgNi4xYzAgMTMuMy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTUuOWMwLTE5LTI0LjItMzMtNDAuNy0yMy41bC00LjggMi44Yy0xMS42IDYuNy0yNi40IDIuNi0zMy05LjFsLTIyLjYtNDAuNGMtNi4yLTExLjItMi42LTI1LjMgOC4zLTMyLjFsNC40LTIuN2MxNi4zLTEwLjEgMTYuMy00MC4xIDAtNTAuMmwtNC41LTIuOGMtMTAuOS02LjgtMTQuNS0yMC45LTguMy0zMi4xbDIyLjUtNDAuM2M2LjUtMTEuNyAyMS40LTE1LjggMzIuOS05LjFsNC44IDIuOGMxNi41IDkuNSA0MC43LTQuNSA0MC43LTIzLjVsMC01Ljl6bTk5LjkgMTM2LjJhNTIgNTIgMCAxIDAgLTEwNCAwIDUyIDUyIDAgMSAwIDEwNCAweiJdfSxCZWE9WTllLEhlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3JkZXItYWxsIixpY29uOls0NDgsNTEyLFtdLCJmODRjIiwiTTM4NCA5NmwwIDEyOC0xMjggMCAwLTEyOCAxMjggMHptMCAxOTJsMCAxMjgtMTI4IDAgMC0xMjggMTI4IDB6TTE5MiAyMjRsLTEyOCAwIDAtMTI4IDEyOCAwIDAgMTI4ek02NCAyODhsMTI4IDAgMCAxMjgtMTI4IDAgMC0xMjh6TTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6Il19LHFlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2lucyIsaWNvbjpbNTEyLDUxMixbXSwiZjUxZSIsIk0xMjggOTZsMC0xNmMwLTQ0LjIgODYtODAgMTkyLTgwUzUxMiAzNS44IDUxMiA4MGwwIDE2YzAgMzAuNi00MS4zIDU3LjItMTAyIDcwLjctMi40LTIuOC00LjktNS41LTcuNC04LTE1LjUtMTUuMy0zNS41LTI2LjktNTYuNC0zNS41LTQxLjktMTcuNS05Ni41LTI3LjEtMTU0LjItMjcuMS0yMS45IDAtNDMuMyAxLjQtNjMuOCA0LjEtLjItMS4zLS4yLTIuNy0uMi00LjF6TTQzMiAzNTNsMC00Ni4yYzE1LjEtMy45IDI5LjMtOC41IDQyLjItMTMuOSAxMy4yLTUuNSAyNi4xLTEyLjIgMzcuOC0yMC4zbDAgMTUuNGMwIDI2LjgtMzEuNSA1MC41LTgwIDY1em0wLTk2bDAtMzNjMC00LjUtLjQtOC44LTEtMTMgMTUuNS0zLjkgMzAtOC42IDQzLjItMTQuMnMyNi4xLTEyLjIgMzcuOC0yMC4zbDAgMTUuNGMwIDI2LjgtMzEuNSA1MC41LTgwIDY1ek0wIDI0MGwwLTE2YzAtNDQuMiA4Ni04MCAxOTItODBzMTkyIDM1LjggMTkyIDgwbDAgMTZjMCA0NC4yLTg2IDgwLTE5MiA4MFMwIDI4NC4yIDAgMjQwem0zODQgOTZjMCA0NC4yLTg2IDgwLTE5MiA4MFMwIDM4MC4yIDAgMzM2bDAtMTUuNGMxMS42IDguMSAyNC41IDE0LjcgMzcuOCAyMC4zIDQxLjkgMTcuNSA5Ni41IDI3LjEgMTU0LjIgMjcuMXMxMTIuMy05LjcgMTU0LjItMjcuMWMxMy4yLTUuNSAyNi4xLTEyLjIgMzcuOC0yMC4zbDAgMTUuNHptMCA4MC42bDAgMTUuNGMwIDQ0LjItODYgODAtMTkyIDgwUzAgNDc2LjIgMCA0MzJsMC0xNS40YzExLjYgOC4xIDI0LjUgMTQuNyAzNy44IDIwLjMgNDEuOSAxNy41IDk2LjUgMjcuMSAxNTQuMiAyNy4xczExMi4zLTkuNyAxNTQuMi0yNy4xYzEzLjItNS41IDI2LjEtMTIuMiAzNy44LTIwLjN6Il19LFZlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJtYXJzLXN0cm9rZSIsaWNvbjpbNTc2LDUxMixbOTg5NF0sImYyMjkiLCJNNDE2LTMyYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDUwLjcgMC01OC43IDU4LjctMTcuNC0xNy40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMHMtMTIuNSAzMi44IDAgNDUuM2wxNy40IDE3LjQtMjMgMjNjLTI4LjQtMTkuNS02Mi43LTMxLTk5LjgtMzEtOTcuMiAwLTE3NiA3OC44LTE3NiAxNzZzNzguOCAxNzYgMTc2IDE3NiAxNzYtNzguOCAxNzYtMTc2YzAtMzctMTEuNC03MS40LTMxLTk5LjhsMjMtMjMgMTcuNCAxNy40YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNDUzLjMgMTM2IDUxMiA3Ny4zIDUxMiAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMkw1NzYgMGMwLTE3LjctMTQuMy0zMi0zMi0zMkw0MTYtMzJ6TTEyOCAzMDRhMTEyIDExMiAwIDEgMSAyMjQgMCAxMTIgMTEyIDAgMSAxIC0yMjQgMHoiXX0sSzllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzaGFrZS1hbmdsZSIsaWNvbjpbNTc2LDUxMixbImhhbmRzLWhlbHBpbmciXSwiZjRjNCIsIk0yNjguOSA1My4yTDE1Mi4zIDE4Mi44Yy00LjYgNS4xLTQuNCAxMyAuNSAxNy45IDMwLjUgMzAuNSA4MCAzMC41IDExMC41IDBsMzEuOC0zMS44YzQuMi00LjIgOS41LTYuNSAxNC45LTYuOSA2LjgtLjYgMTMuOCAxLjcgMTkgNi45TDUwNS42IDM0NCA1NzYgMjg4IDU3NiAwIDQ2NCA2NCA0NDAuMiA0OC4xQzQyNC40IDM3LjYgNDA1LjkgMzIgMzg2LjkgMzJsLTcwLjQgMGMtMS4xIDAtMi4zIDAtMy40IC4xLTE2LjkgLjktMzIuOCA4LjUtNDQuMiAyMS4xek0xMTYuNiAxNTAuN0wyMjMuNCAzMiAxODMuOCAzMmMtMjUuNSAwLTQ5LjkgMTAuMS02Ny45IDI4LjFMMCAxOTIgMCA1NDQgMTQ0IDQwOCAxNTYuNCA0MTguM2MyMyAxOS4yIDUyIDI5LjcgODEuOSAyOS43bDE1LjcgMC03LTdjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw0MSA0MSA5IDBjMTkuMSAwIDM3LjgtNC4zIDU0LjgtMTIuM0wzNTkgNDA5Yy05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBsMzIgMzIgMTcuNS0xNy41YzguOS04LjkgMTEuNS0yMS44IDcuNi0zMy4xbC0xMzcuOS0xMzYuOC0xNC45IDE0LjljLTQ5LjMgNDkuMy0xMjkuMSA0OS4zLTE3OC40IDAtMjMtMjMtMjMuOS01OS45LTIuMi04NHoiXX0samVhPUs5ZSxVZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYXJyb3ctZG93biIsaWNvbjpbMzg0LDUxMixbODU5NV0sImYwNjMiLCJNMTY5LjQgNTAyLjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MGMxMi41LTEyLjUgMTIuNS0zMi44IDAtNDUuM3MtMzIuOC0xMi41LTQ1LjMgMEwyMjQgNDAyLjcgMjI0IDMyYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzcwLjctMTA1LjQtMTA1LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjB6Il19LFo5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsb2NhdGlvbi1kb3QiLGljb246WzM4NCw1MTIsWyJtYXAtbWFya2VyLWFsdCJdLCJmM2M1IiwiTTAgMTg4LjZDMCA4NC40IDg2IDAgMTkyIDBTMzg0IDg0LjQgMzg0IDE4OC42YzAgMTE5LjMtMTIwLjIgMjYyLjMtMTcwLjQgMzE2LjgtMTEuOCAxMi44LTMxLjUgMTIuOC00My4zIDAtNTAuMi01NC41LTE3MC40LTE5Ny41LTE3MC40LTMxNi44ek0xOTIgMjU2YTY0IDY0IDAgMSAwIDAtMTI4IDY0IDY0IDAgMSAwIDAgMTI4eiJdfSxXZWE9WjllLEdlYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwbHVnLWNpcmNsZS1leGNsYW1hdGlvbiIsaWNvbjpbNjQwLDUxMixbXSwiZTU1ZCIsIk0xOTItMzJjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA5NiAxMjggMCAwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMyczMyIDE0LjMgMzIgMzJsMCA5NiA2NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybDAgNDguN2MtOTguNiA4LjEtMTc2IDkwLjctMTc2IDE5MS4zIDAgMjcuMyA1LjcgNTMuMyAxNiA3Ni45bDAgMy4xYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtNjYuN0MxNjUuMiAzOTguMSA5NiAzMTkuMSA5NiAyMjRsMC02NGMtMTcuNyAwLTMyLTE0LjMtMzItMzJTNzguMyA5NiA5NiA5Nmw2NCAwIDAtOTZjMC0xNy43IDE0LjMtMzIgMzItMzJ6TTQ5NiAyNTZhMTQ0IDE0NCAwIDEgMSAwIDI4OCAxNDQgMTQ0IDAgMSAxIDAtMjg4em0wIDIyOGEyMCAyMCAwIDEgMCAwLTQwIDIwIDIwIDAgMSAwIDAgNDB6bTAtMTgwYy04LjggMC0xNiA3LjItMTYgMTZsMCA4MGMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtODBjMC04LjgtNy4yLTE2LTE2LTE2eiJdfSxZZWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY29va2llLWJpdGUiLGljb246WzUxMiw1MTIsW10sImY1NjQiLCJNMjU3LjUgMjcuNmMtLjgtNS40LTQuOS05LjgtMTAuMy0xMC42LTIyLjEtMy4xLTQ0LjYgLjktNjQuNCAxMS40bC03NCAzOS41Qzg5LjEgNzguNCA3My4yIDk0LjkgNjMuNCAxMTVMMjYuNyAxOTAuNmMtOS44IDIwLjEtMTMgNDIuOS05LjEgNjQuOWwxNC41IDgyLjhjMy45IDIyLjEgMTQuNiA0Mi4zIDMwLjcgNTcuOWw2MC4zIDU4LjRjMTYuMSAxNS42IDM2LjYgMjUuNiA1OC43IDI4LjdsODMgMTEuN2MyMi4xIDMuMSA0NC42LS45IDY0LjQtMTEuNGw3NC0zOS41YzE5LjctMTAuNSAzNS42LTI3IDQ1LjQtNDcuMmwzNi43LTc1LjVjOS44LTIwLjEgMTMtNDIuOSA5LjEtNjQuOS0uOS01LjMtNS4zLTkuMy0xMC42LTEwLjEtNTEuNS04LjItOTIuOC00Ny4xLTEwNC41LTk3LjQtMS44LTcuNi04LTEzLjQtMTUuNy0xNC42LTU0LjYtOC43LTk3LjctNTItMTA2LjItMTA2Ljh6TTIwOCAxNDRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0ek0xNDQgMzM2YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTIyNC02NGEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LFg5ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY3Jld2RyaXZlci13cmVuY2giLGljb246WzU3Niw1MTIsWyJ0b29scyJdLCJmN2Q5IiwiTTcwLjgtNi43YzUuNC01LjQgMTMuOC02LjIgMjAuMi0yTDIwOS45IDcwLjVjOC45IDUuOSAxNC4yIDE1LjkgMTQuMiAyNi42bDAgNDkuNiA5MC44IDkwLjhjMzMuMy0xNSA3My45LTguOSAxMDEuMiAxOC41TDU0Mi4yIDM4Mi4xYzE4LjcgMTguNyAxOC43IDQ5LjEgMCA2Ny45bC02MC4xIDYwLjFjLTE4LjcgMTguNy00OS4xIDE4LjctNjcuOSAwTDI4OC4xIDM4NGMtMjcuNC0yNy40LTMzLjUtNjcuOS0xOC41LTEwMS4ybC05MC44LTkwLjgtNDkuNiAwYy0xMC43IDAtMjAuNy01LjMtMjYuNi0xNC4yTDIzLjQgNTguOWMtNC4yLTYuMy0zLjQtMTQuOCAyLTIwLjJMNzAuOC02Ljd6bTE0NSAzMDMuNWMtNi4zIDM2LjkgMi4zIDc1LjkgMjYuMiAxMDcuMmwtOTQuOSA5NWMtMjguMSAyOC4xLTczLjcgMjguMS0xMDEuOCAwcy0yOC4xLTczLjcgMC0xMDEuOGwxMzUuNC0xMzUuNSAzNS4yIDM1LjF6TTM4NC4xIDBjMjAuMSAwIDM5LjQgMy43IDU3LjEgMTAuNSAxMCAzLjggMTEuOCAxNi41IDQuMyAyNC4xTDM4OC44IDkxLjNjLTMgMy00LjcgNy4xLTQuNyAxMS4zbDAgNDEuNGMwIDguOCA3LjIgMTYgMTYgMTZsNDEuNCAwYzQuMiAwIDguMy0xLjcgMTEuMy00LjdsNTYuNy01Ni43YzcuNi03LjUgMjAuMy01LjcgMjQuMSA0LjMgNi44IDE3LjcgMTAuNSAzNyAxMC41IDU3LjEgMCA0My4yLTE3LjIgODIuMy00NSAxMTEuMWwtNDkuMS00OS4xYy0zMy4xLTMzLTc4LjUtNDUuNy0xMjEuMS0zOC40bC01Ni44LTU2LjggMC0yOS43LS4yLTVjLS44LTEyLjQtNC40LTI0LjMtMTAuNS0zNC45IDI5LjQtMzUgNzMuNC01Ny4yIDEyMi43LTU3LjN6Il19LEtlYT1YOWUsWmVhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImluZGVudCIsaWNvbjpbNDQ4LDUxMixbXSwiZjAzYyIsIk0wIDY0QzAgNDYuMyAxNC4zIDMyIDMyIDMybDM4NCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDk2QzE0LjMgOTYgMCA4MS43IDAgNjR6TTE5MiAxOTJjMC0xNy43IDE0LjMtMzIgMzItMzJsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnptMzIgOTZsMTkyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTE5MiAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyek0wIDQ0OGMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiA0ODBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek0xMjcuOCAyNjguNkwyNS44IDM0Ny45QzE1LjMgMzU2LjEgMCAzNDguNiAwIDMzNS4zTDAgMTc2LjdjMC0xMy4zIDE1LjMtMjAuOCAyNS44LTEyLjZsMTAxLjkgNzkuM2M4LjIgNi40IDguMiAxOC45IDAgMjUuM3oiXX0sUTllPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhcnMiLGljb246WzQ0OCw1MTIsWyJuYXZpY29uIl0sImYwYzkiLCJNMCA5NkMwIDc4LjMgMTQuMyA2NCAzMiA2NGwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAxMjhDMTQuMyAxMjggMCAxMTMuNyAwIDk2ek0wIDI1NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMkwzMiAyODhjLTE3LjcgMC0zMi0xNC4zLTMyLTMyek00NDggNDE2YzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDQ0OGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnoiXX0sWGVhPVE5ZSxKOWU9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZHMtcHJheWluZyIsaWNvbjpbNjQwLDUxMixbInByYXlpbmctaGFuZHMiXSwiZjY4NCIsIk0yMjQgMjk2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtMTEyLjYgODguMi0xMTkuN2MxMy4xLTE3LjggOS4zLTQyLjgtOC41LTU1LjlzLTQyLjgtOS4zLTU1LjkgOC41TDEwNi41IDE0Mi45Qzg5LjMgMTY2LjIgODAgMTk0LjUgODAgMjIzLjZsMCAxMTAuNy01OC4xIDE5LjRDOC44IDM1OCAwIDM3MC4yIDAgMzg0bDAgOTZjMCAxMCA0LjcgMTkuNSAxMi43IDI1LjVzMTguNCA4IDI4LjEgNS4ybDE1NC40LTQ0LjFjNTUtMTUuNyA5Mi44LTY1LjkgOTIuOC0xMjMuMUwyODggMjI0YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNzJ6bTE5MiAwbDAtNzJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCAxMTkuNmMwIDU3LjIgMzcuOSAxMDcuNCA5Mi44IDEyMy4xbDE1NC40IDQ0LjFjOS43IDIuOCAyMCAuOCAyOC4xLTUuMlM2NDAgNDkwIDY0MCA0ODBsMC05NmMwLTEzLjgtOC44LTI2LTIxLjktMzAuNGwtNTguMS0xOS40IDAtMTEwLjdjMC0yOS05LjMtNTcuMy0yNi41LTgwLjdMNDQwLjIgMTYuM0M0MjcuMS0xLjUgNDAyLjEtNS4zIDM4NC4zIDcuOHMtMjEuNiAzOC4xLTguNSA1NS45TDQ2NCAxODMuNCA0NjQgMjk2YzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0eiJdfSxRZWE9SjllLEplYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aXJ1c2VzIixpY29uOls2NDAsNTEyLFtdLCJlMDc2IiwiTTE5MiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyIDAgMzAuNSAzNi45IDQ1LjggNTguNSAyNC4yIDEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjNjLTIxLjYgMjEuNi02LjMgNTguNSAyNC4yIDU4LjUgMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJjLTMwLjUgMC00NS44IDM2LjktMjQuMiA1OC41IDEyLjUgMTIuNSAxMi41IDMyLjggMCA0NS4zcy0zMi44IDEyLjUtNDUuMyAwYy0yMS42LTIxLjYtNTguNS02LjMtNTguNSAyNC4yIDAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMyYzAtMzAuNS0zNi45LTQ1LjgtNTguNS0yNC4yLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwcy0xMi41LTMyLjggMC00NS4zQzc3LjggMjYwLjkgNjIuNSAyMjQgMzIgMjI0IDE0LjMgMjI0IDAgMjA5LjcgMCAxOTJzMTQuMy0zMiAzMi0zMmMzMC41IDAgNDUuOC0zNi45IDI0LjItNTguNS0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwQzEyMy4xIDc3LjggMTYwIDYyLjUgMTYwIDMyIDE2MCAxNC4zIDE3NC4zIDAgMTkyIDB6TTE0NCAxNzZhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0xMjggNjRhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHptMjQ4IDQwYzAgMjIuOSAyNy43IDM0LjQgNDMuOSAxOC4yIDkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWMtMTYuMiAxNi4yLTQuNyA0My45IDE4LjIgNDMuOSAxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGMtMjIuOSAwLTM0LjQgMjcuNy0xOC4yIDQzLjkgOS40IDkuNCA5LjQgMjQuNiAwIDMzLjlzLTI0LjYgOS40LTMzLjkgMGMtMTYuMi0xNi4yLTQzLjktNC43LTQzLjkgMTguMiAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTIyLjktMjcuNy0zNC40LTQzLjktMTguMi05LjQgOS40LTI0LjYgOS40LTMzLjkgMHMtOS40LTI0LjYgMC0zMy45YzE2LjItMTYuMiA0LjctNDMuOS0xOC4yLTQzLjktMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGMyMi45IDAgMzQuNC0yNy43IDE4LjItNDMuOS05LjQtOS40LTkuNC0yNC42IDAtMzMuOXMyNC42LTkuNCAzMy45IDBjMTYuMiAxNi4yIDQzLjkgNC43IDQzLjktMTguMiAwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0ek01MDQgMzg0YTI0IDI0IDAgMSAwIC00OCAwIDI0IDI0IDAgMSAwIDQ4IDB6Il19LGV0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzY2hvb2wtZmxhZyIsaWNvbjpbNTc2LDUxMixbXSwiZTU2ZSIsIk0yNTYtOGMwLTEzLjMgMTAuNy0yNCAyNC0yNGwxMTIgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNGwwIDQ4YzAgMTMuMy0xMC43IDI0LTI0IDI0bC03MiAwIDAgMTkuMiAxMjggNzYuOCA2NCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMjI0YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCAyMjRjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjQgMCAxMjgtNzYuOCAwLTkxLjJ6TTI0MCAzODRsMCA4MCA5NiAwIDAtODBjMC0yNi41LTIxLjUtNDgtNDgtNDhzLTQ4IDIxLjUtNDggNDh6TTExMiA0MTZjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHptMTYtMTQ0bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6TTQ5NiA0MTZjOC44IDAgMTYtNy4yIDE2LTE2bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMHptMTYtMTQ0bDAtMzJjMC04LjgtNy4yLTE2LTE2LTE2bC0zMiAwYy04LjggMC0xNiA3LjItMTYgMTZsMCAzMmMwIDguOCA3LjIgMTYgMTYgMTZsMzIgMGM4LjggMCAxNi03LjIgMTYtMTZ6bS0yMjQgMGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6Il19LHR0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0cmFkZW1hcmsiLGljb246WzY0MCw1MTIsWzg0ODJdLCJmMjVjIiwiTTM0Ni42IDExMC4yYy03LjgtMTEuNy0yMi40LTE3LTM1LjktMTIuOVMyODggMTEzLjkgMjg4IDEyOGwwIDI1NmMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTUwLjMgNjkuNCAxMDQuMWM1LjkgOC45IDE1LjkgMTQuMiAyNi42IDE0LjJzMjAuNy01LjMgMjYuNi0xNC4yTDU0NCAyMzMuNyA1NDQgMzg0YzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNTZjMC0xNC4xLTkuMi0yNi41LTIyLjctMzAuNnMtMjguMSAxLjEtMzUuOSAxMi45TDQ0OCAyNjIuMyAzNDYuNiAxMTAuMnpNMzIgOTZDMTQuMyA5NiAwIDExMC4zIDAgMTI4czE0LjMgMzIgMzIgMzJsNjQgMCAwIDIyNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMjI0IDY0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMzIgOTZ6Il19LGF0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaXJlLWJ1cm5lciIsaWNvbjpbNTEyLDUxMixbXSwiZTRmMSIsIk0yODEuNyA0OC4zTDI5NCAzNC41YzUuNC02LjEgMTMuMy04LjggMjAuOS04LjkgNy4yIDAgMTQuMyAyLjYgMTkuOSA3LjggMTkuNyAxOC4zIDM5LjggNDMuMiA1NSA3MC42IDE1LjEgMjcuMiAyNi4yIDU4LjEgMjYuMiA4OC4xIDAgODguNy03MS4zIDE1OS44LTE2MCAxNTkuOC04OS42IDAtMTYwLTcxLjMtMTYwLTE1OS44IDAtMzcuMyAxNi03My40IDM2LjgtMTA0LjUgMjAuOS0zMS4zIDQ3LjUtNTkgNzAuOS04MC4yIDUuNy01LjIgMTMuMS03LjcgMjAuMy03LjVzMTMuNCAzLjIgMTguOCA3LjVjMTQuNCAxMS40IDM4LjkgNDAuNyAzOC45IDQwLjd6TTMyMCAyNDAuMmMwLTM2LjUtMzctNzMtNTQuOC04OC40LTUuNC00LjctMTMuMS00LjctMTguNSAwLTE3LjcgMTUuNC01NC44IDUxLjktNTQuOCA4OC40IDAgMzUuMyAyOC43IDY0IDY0IDY0czY0LTI4LjcgNjQtNjR6TTkyLjggMzIwYzM3LjcgNDguMyA5Ni4xIDgwIDE2My4yIDgwIDY2LjUgMCAxMjUuMS0zMS43IDE2My04MGw0NSAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgNjRjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTY0YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDQ0LjggMHpNNDU2IDQwMGEyNCAyNCAwIDEgMCAtNDggMCAyNCAyNCAwIDEgMCA0OCAweiJdfSxlZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1zbWlsZS1iZWFtIixpY29uOls1MTIsNTEyLFsxMjg1MjIsInNtaWxlLWJlYW0iXSwiZjViOCIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTY1LjQgMzIxLjljMjAuNCAyOCA1My40IDQ2LjEgOTAuNiA0Ni4xczcwLjItMTguMSA5MC42LTQ2LjFjNy44LTEwLjcgMjIuOC0xMy4xIDMzLjUtNS4zczEzLjEgMjIuOCA1LjMgMzMuNUMzNTYuMyAzOTAgMzA5LjIgNDE2IDI1NiA0MTZzLTEwMC4zLTI2LTEyOS40LTY1LjljLTcuOC0xMC43LTUuNC0yNS43IDUuMy0zMy41czI1LjctNS40IDMzLjUgNS4zek0xNzYgMTgwYy0xNS41IDAtMjggMTIuNS0yOCAyOGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTM3LjYgMzAuNC02OCA2OC02OHM2OCAzMC40IDY4IDY4bDAgOGMwIDExLTkgMjAtMjAgMjBzLTIwLTktMjAtMjBsMC04YzAtMTUuNS0xMi41LTI4LTI4LTI4em0xMzIgMjhsMCA4YzAgMTEtOSAyMC0yMCAyMHMtMjAtOS0yMC0yMGwwLThjMC0zNy42IDMwLjQtNjggNjgtNjhzNjggMzAuNCA2OCA2OGwwIDhjMCAxMS05IDIwLTIwIDIwcy0yMC05LTIwLTIwbDAtOGMwLTE1LjUtMTIuNS0yOC0yOC0yOHMtMjggMTIuNS0yOCAyOHoiXX0scnRhPWVnZSxzdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVudC1hcnJvdy1sZWZ0LXJpZ2h0IixpY29uOls1MTIsNTEyLFtdLCJlNTdmIiwiTS0uNSAxMTNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45bDcyLTcyYzkuNC05LjQgMjQuNi05LjQgMzMuOSAwczkuNCAyNC42IDAgMzMuOWwtMzEgMzEgMzEwLjEgMCA1NC4xIDAtMzEtMzFjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGw3MiA3MmM5LjQgOS40IDkuNCAyNC42IDAgMzMuOWwtNzIgNzJjLTkuNCA5LjQtMjQuNiA5LjQtMzMuOSAwcy05LjQtMjQuNiAwLTMzLjlsMzEtMzEtMTAyLjEgMC0uMSAwLTI2MiAwIDMxIDMxYzkuNCA5LjQgOS40IDI0LjYgMCAzMy45cy0yNC42IDkuNC0zMy45IDBsLTcyLTcyek0zNy4xIDQ3Nkw2MC4zIDI5Mi42YzEuMi05LjcgNi44LTE4LjMgMTUuMS0yMy4zTDIzOC44IDE3MGMxMC4yLTYuMiAyMi45LTYuMiAzMy4xLS4xbDE2NS41IDk5LjRjOC40IDUgMTQgMTMuNyAxNS4zIDIzLjRMNDc1LjkgNDc2YzIuNCAxOS4xLTEyLjUgMzYtMzEuNyAzNmwtNzEuOSAwYy0xMi4xIDAtMjMuMi02LjgtMjguNi0xNy43TDI3NS40IDM1Ny45Yy0xLjgtMy42LTUuNS01LjktOS41LTUuOS01LjkgMC0xMC42IDQuNy0xMC42IDEwLjZsMCAxMTcuNGMwIDE3LjctMTQuMyAzMi0zMiAzMkw2OC44IDUxMmMtMTkuMyAwLTM0LjItMTYuOS0zMS43LTM2eiJdfSxpdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicm91dGUiLGljb246WzUxMiw1MTIsW10sImY0ZDciLCJNNTEyIDk2YzAgNTAuMi01OS4xIDEyNS4xLTg0LjYgMTU1LTMuOCA0LjQtOS40IDYuMS0xNC41IDVMMzIwIDI1NmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw5NiAwYzUzIDAgOTYgNDMgOTYgOTZzLTQzIDk2LTk2IDk2bC0yNzYuNCAwYzguNy05LjkgMTkuMy0yMi42IDMwLTM2LjggNi4zLTguNCAxMi44LTE3LjYgMTktMjcuMkw0MTYgNDQ4YzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC05NiAwYy01MyAwLTk2LTQzLTk2LTk2czQzLTk2IDk2LTk2bDM5LjggMGMtMjEtMzEuNS0zOS44LTY3LjctMzkuOC05NiAwLTUzIDQzLTk2IDk2LTk2czk2IDQzIDk2IDk2ek0xMTcuMSA0ODkuMWMtMy44IDQuMy03LjIgOC4xLTEwLjEgMTEuM2wtMS44IDItLjItLjJjLTYgNC42LTE0LjYgNC0yMC0xLjgtMjUuMi0yNy40LTg1LTk3LjktODUtMTQ4LjQgMC01MyA0My05NiA5Ni05NnM5NiA0MyA5NiA5NmMwIDMwLTIxLjEgNjctNDMuNSA5Ny45LTEwLjcgMTQuNy0yMS43IDI4LTMwLjggMzguNWwtLjYgLjd6TTEyOCAzNTJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNNDE2IDEyOGEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LHRnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmdsZXMtdXAiLGljb246WzM4NCw1MTIsWyJhbmdsZS1kb3VibGUtdXAiXSwiZjEwMiIsIk0yMTQuNiA0MS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMGwtMTYwIDE2MGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNzMzIuOCAxMi41IDQ1LjMgMEwxOTIgMTA5LjMgMzI5LjQgMjQ2LjZjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM2wtMTYwLTE2MHptMTYwIDM1MmwtMTYwLTE2MGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zczMyLjggMTIuNSA0NS4zIDBMMTkyIDMwMS4zIDMyOS40IDQzOC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjN6Il19LG90YT10Z2UsbnRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1Y2tldCIsaWNvbjpbNDQ4LDUxMixbXSwiZTRjZiIsIk00NDMuNyAyMDhjMi43IDQuNyA0LjMgMTAuMiA0LjMgMTYgMCAxNy43LTE0LjMgMzItMzIgMzJsLTUuMSAwLTIyLjQgMjEzYy0yLjYgMjQuNC0yMy4yIDQzLTQ3LjggNDNsLTIzMy42IDBjLTI0LjYgMC00NS4yLTE4LjUtNDcuOC00M0wzNy4xIDI1NiAzMiAyNTZjLTE3LjcgMC0zMi0xNC4zLTMyLTMyIDAtNS44IDEuNi0xMS4zIDQuMy0xNmw0MzkuNCAwek0yMjQtMTZjNzkuNSAwIDE0NCA2NC41IDE0NCAxNDRsMCAzMi00OCAwIDAtMzJjMC01My00My05Ni05Ni05NnMtOTYgNDMtOTYgOTZsMCAzMi00OCAwIDAtMzJDODAgNDguNSAxNDQuNS0xNiAyMjQtMTZ6Il19LGx0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsZXNzLXRoYW4tZXF1YWwiLGljb246WzQ0OCw1MTIsW10sImY1MzciLCJNNDI2LjEgOTQuNGMxNi44LTUuNiAyNS44LTIzLjcgMjAuMi00MC41cy0yMy43LTI1LjgtNDAuNS0yMC4ybC0zODQgMTI4QzguOCAxNjYgMCAxNzguMiAwIDE5MnM4LjggMjYgMjEuOSAzMC40bDM4NCAxMjhjMTYuOCA1LjYgMzQuOS0zLjUgNDAuNS0yMC4ycy0zLjUtMzQuOS0yMC4yLTQwLjVMMTMzLjIgMTkyIDQyNi4xIDk0LjR6TTMyIDQxNmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiA0MTZ6Il19LGN0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmb2xkZXItY2xvc2VkIixpY29uOls1MTIsNTEyLFtdLCJlMTg1IiwiTTQ0OCA0NDhMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTE3NiA1MTIgMCAwIDE3NmMwIDM1LjMtMjguNyA2NC02NCA2NHptNjQtMjg4TDAgMTYwIDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMTM4LjcgMGMxMy44IDAgMjcuMyA0LjUgMzguNCAxMi44bDM4LjQgMjguOGM1LjUgNC4yIDEyLjMgNi40IDE5LjIgNi40TDQ0OCA4MGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDE2eiJdfSxkdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLXRocm91Z2gtd2luZG93IixpY29uOls2NDAsNTEyLFtdLCJlNWE5IiwiTTY0IDY0bDIyNCAwIDAgOS44YzAgMzktMjMuNyA3NC01OS45IDg4LjQtNjAuNSAyNC4yLTEwMC4xIDgyLjctMTAwLjEgMTQ3LjlsMCA3My44LTY0IDAgMC0zMjB6bTI4OCAwbDIyNCAwIDAgMzIwLTY3LjcgMC0zLjctNC41LTc1LjItOTAuMmMtOS4xLTEwLjktMjIuNi0xNy4zLTM2LjktMTcuM2wtNzEuMSAwLTQxLTYzLjFjLS4zLS41LS42LTEtMS0xLjQgNDQuNy0yOSA3Mi41LTc5IDcyLjUtMTMzLjZsMC05Ljh6bTczIDMyMGwtMjYuNiAwIDQyLjcgNjQgMTUwLjkgMGMyNi41IDAgNDgtMjEuNSA0OC00OGwwLTM1MmMwLTI2LjUtMjEuNS00OC00OC00OEw0OCAwQzIxLjUgMCAwIDIxLjUgMCA0OEwwIDQwMGMwIDI2LjUgMjEuNSA0OCA0OCA0OGwyNjAuMiAwIDMzLjIgNDkuOGM5LjggMTQuNyAyOS43IDE4LjcgNDQuNCA4LjlzMTguNy0yOS43IDguOS00NC40bC04NC4yLTEyNi4yIDc0LjYgMCA0MCA0OHptLTE1OS41IDBsLTczLjUgMCAwLTczLjhjMC0xMC4yIDEuNi0yMC4xIDQuNy0yOS41TDI2NS41IDM4NHpNMTkyIDEyOGE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSx1dGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Nob29sLWxvY2siLGljb246WzY0MCw1MTIsW10sImU1NmYiLCJNMCAxOTJjMC0zNS4zIDI4LjctNjQgNjQtNjRsNjQgMCAxMjcuOS0xMTUuMWMxOC4zLTE2LjQgNDYtMTYuNCA2NC4yIDBMNDQ4IDEyOCA1MTIgMTI4YzMzIDAgNjAuMiAyNSA2My42IDU3LjItMTQuNy01LjktMzAuOC05LjItNDcuNi05LjItNzAuNyAwLTEyOCA1Ny4zLTEyOCAxMjhsMCAyNC40Yy0xOS42IDE3LjYtMzIgNDMuMS0zMiA3MS41bDAgOTZjMCA1LjUgLjUgMTAuOSAxLjMgMTYuMUw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTkyek0zMzIuMyAzNDEuNWMtNi0zLjUtMTIuOS01LjUtMjAuMy01LjVsLTQ4IDBjLTIyLjEgMC00MCAxNy45LTQwIDQwbDAgODggOTYgMCAwLTY0LjFjMC0yMC44IDQuNC00MC41IDEyLjMtNTguNHpNMTEyIDM4NGM4LjggMCAxNi03LjIgMTYtMTZsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwem0xNi0xNDRsMC0zMmMwLTguOC03LjItMTYtMTYtMTZsLTMyIDBjLTguOCAwLTE2IDcuMi0xNiAxNmwwIDMyYzAgOC44IDcuMiAxNiAxNiAxNmwzMiAwYzguOCAwIDE2LTcuMiAxNi0xNnptMjI0LTQ4YTY0IDY0IDAgMSAwIC0xMjggMCA2NCA2NCAwIDEgMCAxMjggMHpNNTYwIDM1MmwwLTQ3LjljMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA0Ny45IDY0IDB6bS0xMTIgMi43bDAtNTAuNmMwLTQ0LjIgMzUuOC04MCA4MC04MHM4MCAzNS44IDgwIDgwbDAgNTAuNmMxOC42IDYuNiAzMiAyNC40IDMyIDQ1LjNsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMTI4IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0yMC45IDEzLjQtMzguNyAzMi00NS4zeiJdfSxwdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWJ1cnN0IixpY29uOls2NDAsNTEyLFtdLCJlNTNiIiwiTTIwNCA0MC4xYy0xMy4zIDAtMjQtMTAuNy0yNC0yNGwwLTQ4YzAtMTMuMyAxMC43LTI0IDI0LTI0czI0IDEwLjcgMjQgMjRsMCA0OGMwIDEzLjMtMTAuNyAyNC0yNCAyNHpNNCAxNDQuMWMwLTEzLjMgMTAuNy0yNCAyNC0yNGw0OCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC00OCAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHpNOTYuNSAyODUuNWMtOS40IDkuNC0yNC42IDkuNC0zMy45IDBzLTkuNC0yNC42IDAtMzMuOWwzMy45LTMzLjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBzOS40IDI0LjYgMCAzMy45TDk2LjUgMjg1LjV6TTYyLjYgMi43YzkuNC05LjQgMjQuNi05LjQgMzMuOSAwbDMzLjkgMzMuOWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDYyLjYgMzYuNmMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjl6TTM1Mi40LTMyYTU2IDU2IDAgMSAxIDAgMTEyIDU2IDU2IDAgMSAxIDAtMTEyek00NzguNyAyOTkuMWwtNDYuMy02Mi40IDAgMjc1LjNjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xNjBjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCAxNjBjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0yNzUuMy00Ni4zIDYyLjRjLTEwLjUgMTQuMi0zMC42IDE3LjItNDQuOCA2LjZzLTE3LjItMzAuNi02LjYtNDQuOGw3MC41LTk1YzI1LjItMzMuOSA2NS01My45IDEwNy4yLTUzLjlzODIgMjAgMTA3LjIgNTMuOWw3MC41IDk1YzEwLjUgMTQuMiA3LjYgMzQuMi02LjYgNDQuOHMtMzQuMiA3LjYtNDQuOC02LjZ6Il19LGFnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsZWZ0LWxvbmciLGljb246WzU3Niw1MTIsWyJsb25nLWFycm93LWFsdC1sZWZ0Il0sImYzMGEiLCJNOS40IDI3OC42Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM2wxMjgtMTI4YzkuMi05LjIgMjIuOS0xMS45IDM0LjktNi45UzE5MiAxMTUuMSAxOTIgMTI4bDAgNjQgMzM2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzMmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtMzM2IDAgMCA2NGMwIDEyLjktNy44IDI0LjYtMTkuOCAyOS42cy0yNS43IDIuMi0zNC45LTYuOWwtMTI4LTEyOHoiXX0sZnRhPWFnZSxyZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibG9jYXRpb24tY3Jvc3NoYWlycyIsaWNvbjpbNTc2LDUxMixbImxvY2F0aW9uIl0sImY2MDEiLCJNMjg4LTE2YzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMTguM2M5OC4xIDE0IDE3NS43IDkxLjYgMTg5LjcgMTg5LjdsMTguMyAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xOC4zIDBjLTE0IDk4LjEtOTEuNiAxNzUuNy0xODkuNyAxODkuN2wwIDE4LjNjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xOC4zQzE1Ny45IDQ2My43IDgwLjMgMzg2LjEgNjYuMyAyODhMNDggMjg4Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMybDE4LjMgMEM4MC4zIDEyNS45IDE1Ny45IDQ4LjMgMjU2IDM0LjNMMjU2IDE2YzAtMTcuNyAxNC4zLTMyIDMyLTMyek0xMjggMjU2YTE2MCAxNjAgMCAxIDAgMzIwIDAgMTYwIDE2MCAwIDEgMCAtMzIwIDB6bTE2MC05NmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnoiXX0saHRhPXJnZSxzZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWRvdHMtZnJvbS1saW5lIixpY29uOls1MTIsNTEyLFsiZGlhZ25vc2VzIl0sImY0NzAiLCJNMTg0IDcyYTcyIDcyIDAgMSAxIDE0NCAwIDcyIDcyIDAgMSAxIC0xNDQgMHpNMTYwIDI5OS4zYy0xOS45IDIyLjYtMzIgNTIuMi0zMiA4NC43bDAgMzItNjQgMCAwLTMyYzAtMTA2IDg2LTE5MiAxOTItMTkyczE5MiA4NiAxOTIgMTkybDAgMzItNjQgMCAwLTMyYzAtMzIuNS0xMi4xLTYyLjEtMzItODQuN2wwIDExNi43LTE5MiAwIDAtMTE2Ljd6TTIzMiAzODRhMjQgMjQgMCAxIDAgMC00OCAyNCAyNCAwIDEgMCAwIDQ4em04OC0xMDRhMjQgMjQgMCAxIDAgLTQ4IDAgMjQgMjQgMCAxIDAgNDggMHpNMjQgNDY0bDQ2NCAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0TDI0IDUxMmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNNjQgMTg0YTI0IDI0IDAgMSAxIDQ4IDAgMjQgMjQgMCAxIDEgLTQ4IDB6bTQyNCA3MmEyNCAyNCAwIDEgMSAwIDQ4IDI0IDI0IDAgMSAxIDAtNDh6Il19LG10YT1zZ2UsdnRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdhdWdlLXNpbXBsZS1oaWdoIixpY29uOls1MTIsNTEyLFs2MTY2OCwidGFjaG9tZXRlciIsInRhY2hvbWV0ZXItZmFzdCJdLCJmNjJhIiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6bTMyMCA5NmMwLTE2LjItNi0zMS4xLTE2LTQyLjNsNjkuNS0xMzguOWM1LjktMTEuOSAxLjEtMjYuMy0xMC43LTMyLjJzLTI2LjMtMS4xLTMyLjIgMTAuN0wyNjEuMSAyODguMmMtMS43LS4xLTMuNC0uMi01LjEtLjItMzUuMyAwLTY0IDI4LjctNjQgNjRzMjguNyA2NCA2NCA2NCA2NC0yOC43IDY0LTY0eiJdfSxndGE9dnRlLGJ0YT12dGUsaWdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFuZ2xlcy1sZWZ0IixpY29uOls0NDgsNTEyLFsxNzEsImFuZ2xlLWRvdWJsZS1sZWZ0Il0sImYxMDAiLCJNOS40IDIzMy40Yy0xMi41IDEyLjUtMTIuNSAzMi44IDAgNDUuM2wxNjAgMTYwYzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwczEyLjUtMzIuOCAwLTQ1LjNMNzcuMyAyNTYgMjE0LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE2MCAxNjB6bTM1Mi0xNjBsLTE2MCAxNjBjLTEyLjUgMTIuNS0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBzMTIuNS0zMi44IDAtNDUuM0wyNjkuMyAyNTYgNDA2LjYgMTE4LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDB6Il19LHZ0YT1pZ2Usb2dlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InVwLWRvd24iLGljb246WzUxMiw1MTIsWzg1OTcsMTEwMjEsImFycm93cy1hbHQtdiJdLCJmMzM4IiwiTTQwNi42IDUwMi42bDk2LTk2YzkuMi05LjIgMTEuOS0yMi45IDYuOS0zNC45UzQ5Mi45IDM1MiA0ODAgMzUybC02NCAwIDAtMzIwYzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgMzIwLTY0IDBjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhzLTIuMiAyNS43IDYuOSAzNC45bDk2IDk2YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwek0xNTAuNiA5LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC05NiA5NmMtOS4yIDkuMi0xMS45IDIyLjktNi45IDM0LjlTMTkuMSAxNjAgMzIgMTYwbDY0IDAgMCAzMjBjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTMyMCA2NCAwYzEyLjkgMCAyNC42LTcuOCAyOS42LTE5LjhzMi4yLTI1LjctNi45LTM0LjlsLTk2LTk2eiJdfSx4dGE9b2dlLG5nZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYXR0ZXJ5LWVtcHR5IixpY29uOls2NDAsNTEyLFsiYmF0dGVyeS0wIl0sImYyNDQiLCJNMTEyIDE2MGMtOC44IDAtMTYgNy4yLTE2IDE2bDAgMjI0YzAgOC44IDcuMiAxNiAxNiAxNmw0MTYgMGM4LjggMCAxNi03LjIgMTYtMTZsMC0yMjRjMC04LjgtNy4yLTE2LTE2LTE2bC00MTYgMHpNMzIgMTc2YzAtNDQuMiAzNS44LTgwIDgwLTgwbDQxNiAwYzQ0LjIgMCA4MCAzNS44IDgwIDgwbDAgNDhjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwwIDQ4YzAgNDQuMi0zNS44IDgwLTgwIDgwbC00MTYgMGMtNDQuMiAwLTgwLTM1LjgtODAtODBsMC0yMjR6Il19LHl0YT1uZ2Usd3RhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImtleWJvYXJkIixpY29uOls1NzYsNTEyLFs5ZTNdLCJmMTFjIiwiTTY0IDY0QzI4LjcgNjQgMCA5Mi43IDAgMTI4TDAgMzg0YzAgMzUuMyAyOC43IDY0IDY0IDY0bDQ0OCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMjU2YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDY0em0xNiA2NGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek02NCAyNDBjMC04LjggNy4yLTE2IDE2LTE2bDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMnpNMTc2IDEyOGwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJjMC04LjggNy4yLTE2IDE2LTE2ek0xNjAgMjQwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE2IDgwbDIyNCAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMjI0IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTMyYzAtOC44IDcuMi0xNiAxNi0xNnptODAtMTc2YzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE2IDgwbDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwLTgwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE2IDgwbDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6bTgwLTgwYzAtOC44IDcuMi0xNiAxNi0xNmwzMiAwYzguOCAwIDE2IDcuMiAxNiAxNmwwIDMyYzAgOC44LTcuMiAxNi0xNiAxNmwtMzIgMGMtOC44IDAtMTYtNy4yLTE2LTE2bDAtMzJ6bTE2IDgwbDMyIDBjOC44IDAgMTYgNy4yIDE2IDE2bDAgMzJjMCA4LjgtNy4yIDE2LTE2IDE2bC0zMiAwYy04LjggMC0xNi03LjItMTYtMTZsMC0zMmMwLTguOCA3LjItMTYgMTYtMTZ6Il19LE10YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb29raWUiLGljb246WzUxMiw1MTIsWzEyNzg1MF0sImY1NjMiLCJNMjQ3LjIgMTdjLTIyLjEtMy4xLTQ0LjYgLjktNjQuNCAxMS40bC03NCAzOS41Qzg5LjEgNzguNCA3My4yIDk0LjkgNjMuNCAxMTVMMjYuNyAxOTAuNmMtOS44IDIwLjEtMTMgNDIuOS05LjEgNjQuOWwxNC41IDgyLjhjMy45IDIyLjEgMTQuNiA0Mi4zIDMwLjcgNTcuOWw2MC4zIDU4LjRjMTYuMSAxNS42IDM2LjYgMjUuNiA1OC43IDI4LjdsODMgMTEuN2MyMi4xIDMuMSA0NC42LS45IDY0LjQtMTEuNGw3NC0zOS41YzE5LjctMTAuNSAzNS42LTI3IDQ1LjQtNDcuMmwzNi43LTc1LjVjOS44LTIwLjEgMTMtNDIuOSA5LjEtNjQuOWwtMTQuNi04Mi44Yy0zLjktMjIuMS0xNC42LTQyLjMtMzAuNy01Ny45TDM4OC45IDU3LjVjLTE2LjEtMTUuNi0zNi42LTI1LjYtNTguNy0yOC43TDI0Ny4yIDE3ek0yMDggMTQ0YTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMTQ0IDMzNmEzMiAzMiAwIDEgMSA2NCAwIDMyIDMyIDAgMSAxIC02NCAwem0yMjQtNjRhMzIgMzIgMCAxIDEgMCA2NCAzMiAzMiAwIDEgMSAwLTY0eiJdfSxrdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic3RvcHdhdGNoIixpY29uOls0NDgsNTEyLFs5MjAxXSwiZjJmMiIsIk0xNjguNSAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMCAyNS4zYy0xMDggMTEuOS0xOTIgMTAzLjUtMTkyIDIxNC43IDAgMTE5LjMgOTYuNyAyMTYgMjE2IDIxNnMyMTYtOTYuNyAyMTYtMjE2YzAtMzkuOC0xMC44LTc3LjEtMjkuNi0xMDkuMmwyOC4yLTI4LjJjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTIzLjQgMjMuNGMtMzIuOS0zMC4yLTc1LjItNTAuMy0xMjItNTUuNWwwLTI1LjMgMzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTEyIDB6bTgwIDE4NGwwIDEwNGMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTEwNGMwLTEzLjMgMTAuNy0yNCAyNC0yNHMyNCAxMC43IDI0IDI0eiJdfSxTdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZWplY3QiLGljb246WzQ0OCw1MTIsWzkxNjddLCJmMDUyIiwiTTIyNCAzMmMxMy41IDAgMjYuMyA1LjYgMzUuNCAxNS42bDE3NiAxOTJjMTIuOSAxNCAxNi4yIDM0LjMgOC42IDUxLjhTNDE5IDMyMCA0MDAgMzIwTDQ4IDMyMGMtMTkgMC0zNi4zLTExLjItNDMuOS0yOC43cy00LjMtMzcuNyA4LjYtNTEuOGwxNzYtMTkyQzE5Ny43IDM3LjYgMjEwLjUgMzIgMjI0IDMyek0wIDQzMmMwLTI2LjUgMjEuNS00OCA0OC00OGwzNTIgMGMyNi41IDAgNDggMjEuNSA0OCA0OHMtMjEuNSA0OC00OCA0OEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4eiJdfSx6dGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2F0ZWxsaXRlLWRpc2giLGljb246WzUxMiw1MTIsWzEyODIyNV0sImY3YzAiLCJNMjMyIDBjMTU0LjYgMCAyODAgMTI1LjQgMjgwIDI4MCAwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGMwLTEyOC4xLTEwMy45LTIzMi0yMzItMjMyLTEzLjMgMC0yNC0xMC43LTI0LTI0UzIxOC43IDAgMjMyIDB6TTIwOCAxMjBjMC0xMy4zIDEwLjctMjQgMjQtMjQgMTAxLjYgMCAxODQgODIuNCAxODQgMTg0IDAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0YzAtNzUuMS02MC45LTEzNi0xMzYtMTM2LTEzLjMgMC0yNC0xMC43LTI0LTI0ek0yNi40IDE0Mi43YzguOC0xNy45IDMyLjQtMTkuOSA0Ni41LTUuOGwxMjguNSAxMjguNSAzMi0zMmMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC0zMiAzMiAxMjguNSAxMjguNWMxNC4xIDE0LjEgMTIgMzcuNi01LjggNDYuNS0zNC4yIDE2LjktNzIuNiAyNi40LTExMy4zIDI2LjQtMTQxLjQgMC0yNTYtMTE0LjYtMjU2LTI1NiAwLTQwLjcgOS41LTc5LjIgMjYuNC0xMTMuM3oiXX0sbGdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhY2Utcm9sbGluZy1leWVzIixpY29uOls1MTIsNTEyLFsxMjg1ODAsIm1laC1yb2xsaW5nLWV5ZXMiXSwiZjVhNSIsIk0yNTYgNTEyYTI1NiAyNTYgMCAxIDAgMC01MTIgMjU2IDI1NiAwIDEgMCAwIDUxMnpNMTkyIDM1MmwxMjggMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTI4IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTMyLTEyOGMwIDM1LjMtMjguNyA2NC02NCA2NHMtNjQtMjguNy02NC02NGMwLTI2IDE1LjUtNDguNCAzNy44LTU4LjQtMy43IDUuMi01LjggMTEuNi01LjggMTguNCAwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtNi45LTIuMi0xMy4yLTUuOC0xOC40IDIyLjMgMTAgMzcuOCAzMi40IDM3LjggNTguNHptMTI4IDY0Yy0zNS4zIDAtNjQtMjguNy02NC02NCAwLTI2IDE1LjUtNDguNCAzNy44LTU4LjQtMy43IDUuMi01LjggMTEuNi01LjggMTguNCAwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyYzAtNi45LTIuMi0xMy4yLTUuOC0xOC40IDIyLjMgMTAgMzcuOCAzMi40IDM3LjggNTguNCAwIDM1LjMtMjguNyA2NC02NCA2NHoiXX0sQ3RhPWxnZSxjZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibGlzdC1jaGVjayIsaWNvbjpbNTEyLDUxMixbInRhc2tzIl0sImYwYWUiLCJNMTMzLjggMzYuM2MxMC45IDcuNiAxMy41IDIyLjYgNS45IDMzLjRsLTU2IDgwYy00LjEgNS44LTEwLjUgOS41LTE3LjYgMTAuMVM1MiAxNTggNDcgMTUzTDcgMTEzQy0yLjMgMTAzLjYtMi4zIDg4LjQgNyA3OVMzMS42IDY5LjcgNDEgNzlsMTkuOCAxOS44IDM5LjYtNTYuNmM3LjYtMTAuOSAyMi42LTEzLjUgMzMuNC01Ljl6bTAgMTYwYzEwLjkgNy42IDEzLjUgMjIuNiA1LjkgMzMuNGwtNTYgODBjLTQuMSA1LjgtMTAuNSA5LjUtMTcuNiAxMC4xUzUyIDMxOCA0NyAzMTNMNyAyNzNjLTkuNC05LjQtOS40LTI0LjYgMC0zMy45czI0LjYtOS40IDMzLjkgMGwxOS44IDE5LjggMzkuNi01Ni42YzcuNi0xMC45IDIyLjYtMTMuNSAzMy40LTUuOXpNMjI0IDk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6bTAgMTYwYzAtMTcuNyAxNC4zLTMyIDMyLTMybDIyNCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0yMjQgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJ6TTE2MCA0MTZjMC0xNy43IDE0LjMtMzIgMzItMzJsMjg4IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTI4OCAwYy0xNy43IDAtMzItMTQuMy0zMi0zMnpNNjQgMzc2YTQwIDQwIDAgMSAxIDAgODAgNDAgNDAgMCAxIDEgMC04MHoiXX0sX3RhPWNnZSxUdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2Fjay14bWFyayIsaWNvbjpbNTEyLDUxMixbXSwiZTU2YSIsIk0zMjggMTEybC0xNDQgMC0zNy4zLTc0LjVjLTEuOC0zLjYtMi43LTcuNi0yLjctMTEuNiAwLTE0LjMgMTEuNi0yNS45IDI1LjktMjUuOUwzNDIuMSAwYzE0LjMgMCAyNS45IDExLjYgMjUuOSAyNS45IDAgNC0uOSA4LTIuNyAxMS42TDMyOCAxMTJ6TTE2OS42IDE2MGwxNzIuOCAwIDQ4LjcgNDAuNkM0NTcuNiAyNTYgNDk2IDMzOCA0OTYgNDI0LjUgNDk2IDQ3Mi44IDQ1Ni44IDUxMiA0MDguNSA1MTJsLTMwNS4xIDBDNTUuMiA1MTIgMTYgNDcyLjggMTYgNDI0LjUgMTYgMzM4IDU0LjQgMjU2IDEyMC45IDIwMC42TDE2OS42IDE2MHpNMzIzLjkgMjg0LjFjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwbC0zMy45IDMzLjktMzMuOS0zMy45Yy05LjQtOS40LTI0LjYtOS40LTMzLjkgMHMtOS40IDI0LjYgMCAzMy45bDMzLjkgMzMuOS0zMy45IDMzLjljLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGwzMy45LTMzLjkgMzMuOSAzMy45YzkuNCA5LjQgMjQuNiA5LjQgMzMuOSAwczkuNC0yNC42IDAtMzMuOWwtMzMuOS0zMy45IDMzLjktMzMuOWM5LjQtOS40IDkuNC0yNC42IDAtMzMuOXoiXX0sTHRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Imhhc2h0YWciLGljb246WzUxMiw1MTIsWzYyMDk4XSwiMjMiLCJNMjE0LjcgLjdjMTcuMyAzLjcgMjguMyAyMC43IDI0LjYgMzhsLTE5LjEgODkuMyAxMjYuNSAwIDIyLTEwMi43QzM3Mi40IDggMzg5LjQtMyA0MDYuNyAuN3MyOC4zIDIwLjcgMjQuNiAzOEw0MTIuMiAxMjggNDgwIDEyOGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtODEuNiAwLTI3LjQgMTI4IDY3LjggMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtODEuNiAwLTIyIDEwMi43Yy0zLjcgMTcuMy0yMC43IDI4LjMtMzggMjQuNnMtMjguMy0yMC43LTI0LjYtMzhsMTkuMS04OS4zLTEyNi41IDAtMjIgMTAyLjdjLTMuNyAxNy4zLTIwLjcgMjguMy0zOCAyNC42cy0yOC4zLTIwLjctMjQuNi0zOEw5OS44IDM4NCAzMiAzODRjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsODEuNiAwIDI3LjQtMTI4LTY3LjggMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw4MS42IDAgMjItMTAyLjdDMTgwLjQgOCAxOTcuNC0zIDIxNC43IC43ek0yMDYuNCAxOTJsLTI3LjQgMTI4IDEyNi41IDAgMjcuNC0xMjgtMTI2LjUgMHoiXX0sJHRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYWluIixpY29uOlszODQsNTEyLFsxMjg2NDZdLCJmMjM4IiwiTTAgOTZDMCA0MyA0MyAwIDk2IDBMMjg4IDBjNTMgMCA5NiA0MyA5NiA5NmwwIDI1NmMwIDQwLjEtMjQuNiA3NC41LTU5LjUgODguOGw1My45IDYzLjdjOC42IDEwLjEgNy4zIDI1LjMtMi44IDMzLjhzLTI1LjMgNy4zLTMzLjgtMi44bC03NC04Ny41LTE1MS4zIDAtNzQgODcuNWMtOC42IDEwLjEtMjMuNyAxMS40LTMzLjggMi44cy0xMS40LTIzLjctMi44LTMzLjhsNTMuOS02My43QzI0LjYgNDI2LjUgMCAzOTIuMSAwIDM1MkwwIDk2em02NCAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDE5MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtOTZjMC0xNy43LTE0LjMtMzItMzItMzJMOTYgOTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyek0xOTIgMzg0YTMyIDMyIDAgMSAwIDAtNjQgMzIgMzIgMCAxIDAgMCA2NHoiXX0sRHRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImdhbWVwYWQiLGljb246WzY0MCw1MTIsW10sImYxMWIiLCJNNDQ4IDY0YzEwNiAwIDE5MiA4NiAxOTIgMTkyUzU1NCA0NDggNDQ4IDQ0OGwtMjU2IDBDODYgNDQ4IDAgMzYyIDAgMjU2Uzg2IDY0IDE5MiA2NGwyNTYgMHpNMTkyIDE3NmMtMTMuMyAwLTI0IDEwLjctMjQgMjRsMCAzMi0zMiAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDMyIDAgMCAzMmMwIDEzLjMgMTAuNyAyNCAyNCAyNHMyNC0xMC43IDI0LTI0bDAtMzIgMzIgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMzIgMCAwLTMyYzAtMTMuMy0xMC43LTI0LTI0LTI0em0yNDAgOTZhMzIgMzIgMCAxIDAgMCA2NCAzMiAzMiAwIDEgMCAwLTY0em02NC05NmEzMiAzMiAwIDEgMCAwIDY0IDMyIDMyIDAgMSAwIDAtNjR6Il19LGRnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLWV4cG9ydCIsaWNvbjpbNTc2LDUxMixbImFycm93LXJpZ2h0LWZyb20tZmlsZSJdLCJmNTZlIiwiTTk2LjUgMGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMjU2IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC05NiA3OC4xIDAtMzEgMzFjLTkuNCA5LjQtOS40IDI0LjYgMCAzMy45czI0LjYgOS40IDMzLjkgMGw3Mi03MmM5LjQtOS40IDkuNC0yNC42IDAtMzMuOWwtNzItNzJjLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwcy05LjQgMjQuNiAwIDMzLjlsMzEgMzEtNzguMSAwIDAtMTMzLjVjMC0xNy02LjctMzMuMy0xOC43LTQ1LjNMMjkxLjIgMTguN0MyNzkuMiA2LjcgMjYzIDAgMjQ2IDBMOTYuNSAwek0zNTggMTc2bC05My41IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0TDI0MC41IDU4LjUgMzU4IDE3NnpNMjI0LjUgMzI4YzAtMTMuMyAxMC43LTI0IDI0LTI0bDEwNCAwIDAgNDgtMTA0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0eiJdfSxBdGE9ZGdlLHVnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWdyaW1hY2UiLGljb246WzUxMiw1MTIsWzEyODU1NiwiZ3JpbWFjZSJdLCJmNTdmIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek00MDAgMzUyYzAgMjUuMi0xOS40IDQ1LjgtNDQgNDcuOGwwLTk1LjdjMjQuNiAyIDQ0IDIyLjcgNDQgNDcuOHpNMjc2IDMwNGw0MCAwIDAgOTYtNDAgMCAwLTk2em0tODAgOTZsMC05NiA0MCAwIDAgOTYtNDAgMHptLTQwLTk1LjhsMCA5NS43Yy0yNC42LTItNDQtMjIuNy00NC00Ny44czE5LjQtNDUuOCA0NC00Ny44ek0xNDQgMjA4YTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bTE5Mi0zMmEzMiAzMiAwIDEgMSAwIDY0IDMyIDMyIDAgMSAxIDAtNjR6Il19LEV0YT11Z2UscGdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRyYWluLXN1YndheSIsaWNvbjpbMzg0LDUxMixbInN1YndheSJdLCJmMjM5IiwiTTAgOTZDMCA0MyA0MyAwIDk2IDBMMjg4IDBjNTMgMCA5NiA0MyA5NiA5NmwwIDI1NmMwIDQwLjEtMjQuNiA3NC41LTU5LjUgODguOGw1My45IDYzLjdjOC42IDEwLjEgNy4zIDI1LjMtMi44IDMzLjhzLTI1LjMgNy4zLTMzLjgtMi44bC03NC04Ny41LTE1MS4zIDAtNzQgODcuNWMtOC42IDEwLjEtMjMuNyAxMS40LTMzLjggMi44cy0xMS40LTIzLjctMi44LTMzLjhsNTMuOS02My43QzI0LjYgNDI2LjUgMCAzOTIuMSAwIDM1MkwwIDk2em02NCAzMmwwIDk2YzAgMTcuNyAxNC4zIDMyIDMyIDMybDcyIDAgMC0xNjAtNzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTIxNiAyNTZsNzIgMGMxNy43IDAgMzItMTQuMyAzMi0zMmwwLTk2YzAtMTcuNy0xNC4zLTMyLTMyLTMybC03MiAwIDAgMTYwek05NiAzODRhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0em0yMjQtMzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHoiXX0sUHRhPXBnZSxmZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWRvdCIsaWNvbjpbNTEyLDUxMixbMTI4MjgwLCJkb3QtY2lyY2xlIl0sImYxOTIiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6bTAtMzUyYTk2IDk2IDAgMSAxIDAgMTkyIDk2IDk2IDAgMSAxIDAtMTkyeiJdfSxJdGE9ZmdlLE50YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvYmplY3QtZ3JvdXAiLGljb246WzU3Niw1MTIsW10sImYyNDciLCJNMzIgMTE5LjRDMTIuOSAxMDguNCAwIDg3LjcgMCA2NCAwIDI4LjcgMjguNyAwIDY0IDAgODcuNyAwIDEwOC40IDEyLjkgMTE5LjQgMzJsMzM3LjEgMGMxMS4xLTE5LjEgMzEuNy0zMiA1NS40LTMyIDM1LjMgMCA2NCAyOC43IDY0IDY0IDAgMjMuNy0xMi45IDQ0LjQtMzIgNTUuNGwwIDI3My4xYzE5LjEgMTEuMSAzMiAzMS43IDMyIDU1LjQgMCAzNS4zLTI4LjcgNjQtNjQgNjQtMjMuNyAwLTQ0LjQtMTIuOS01NS40LTMybC0zMzcuMSAwYy0xMS4xIDE5LjEtMzEuNyAzMi01NS40IDMyLTM1LjMgMC02NC0yOC43LTY0LTY0IDAtMjMuNyAxMi45LTQ0LjQgMzItNTUuNGwwLTI3My4xem00NDggMGMtOS43LTUuNi0xNy44LTEzLjctMjMuNC0yMy40TDExOS40IDk2Yy01LjYgOS43LTEzLjcgMTcuOC0yMy40IDIzLjRsMCAyNzMuMWM5LjcgNS42IDE3LjggMTMuNyAyMy40IDIzLjRsMzM3LjEgMGM1LjYtOS43IDEzLjctMTcuOCAyMy40LTIzLjRsMC0yNzMuMXpNMTQ0IDE3NmMwLTE3LjcgMTQuMy0zMiAzMi0zMmwxMTIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDY0YzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xMTIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NHpNMjU2IDMyMGwzMiAwYzQ0LjIgMCA4MC0zNS44IDgwLTgwbDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwtMTEyIDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTZ6Il19LFJ0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzaGlwIixpY29uOls2NDAsNTEyLFsxMjg2NzRdLCJmMjFhIiwiTTI3MiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDE2LTE2IDBjLTQ0LjIgMC04MCAzNS44LTgwIDgwbDAgMTA4LjgtMjEuNiA4LjZjLTE0LjggNS45LTIyLjUgMjIuNC0xNy40IDM3LjUgMTAuNCAzMS4zIDI2LjggNTkuMyA0Ny43IDgzLjEgMjAuMS05LjIgNDEuNy0xMy45IDYzLjMtMTQgMzMuMS0uMiA2Ni4zIDEwLjIgOTQuNCAzMS40bDEuNiAxLjIgMC0yMTUtMTA0IDQxLjYgMC04My4yYzAtOC44IDcuMi0xNiAxNi0xNmwyMjQgMGM4LjggMCAxNiA3LjIgMTYgMTZsMCA4My4yLTEwNC00MS42IDAgMjE1IDEuNi0xLjJjMjcuNS0yMC43IDU5LjktMzEuMiA5Mi40LTMxLjQgMjIuMy0uMSA0NC42IDQuNSA2NS4zIDE0IDIwLjktMjMuNyAzNy4zLTUxLjggNDcuNy04My4xIDUtMTUuMi0yLjYtMzEuNi0xNy40LTM3LjVMNTEyIDI1Mi44IDUxMiAxNDRjMC00NC4yLTM1LjgtODAtODAtODBsLTE2IDAgMC0xNmMwLTI2LjUtMjEuNS00OC00OC00OEwyNzIgMHpNNDAzLjQgNDc2LjFjMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMTkgMTQuNCA0MS45IDI4LjIgNjcuMiAzMy4zIDI2LjUgNS40IDU0LjMgLjggODAuNy0xOS4xIDEwLjYtOCAxMi43LTIzIDQuNy0zMy42cy0yMy0xMi43LTMzLjYtNC43Yy0xNC45IDExLjItMjguNiAxMy4xLTQyLjMgMTAuMy0xNC45LTMtMzAuOS0xMS45LTQ3LjgtMjQuNi0zOC40LTI5LTkwLjUtMjktMTI5IDAtMjQgMTguMS00MC43IDI2LjMtNTQuNSAyNi4zcy0zMC41LTguMi01NC41LTI2LjNjLTM4LjQtMjktOTAuNS0yOS0xMjkgMC0yMS42IDE2LjMtNDEuMyAyNS44LTU4LjkgMjUuNy05LjYtLjEtMTkuOS0zLTMxLjItMTEuNS0xMC42LTgtMjUuNi01LjktMzMuNiA0LjdTNyA0ODIuMyAxNy42IDQ5MC4zYzE5LjEgMTQuNCAzOS40IDIxIDU5LjggMjEuMSAzMy45IC4yIDY0LjMtMTcuNCA4OC4xLTM1LjMgMjEuMy0xNi4xIDQ5LjktMTYuMSA3MS4yIDAgMjQuMiAxOC4zIDUyLjMgMzUuOSA4My40IDM1LjlzNTkuMS0xNy43IDgzLjQtMzUuOXoiXX0sT3RhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImMiLGljb246WzM4NCw1MTIsWzk5XSwiNDMiLCJNMzI5LjEgMTQyLjljLTYyLjUtNjIuNS0xNTUuOC02Mi41LTIxOC4zIDBzLTYyLjUgMTYzLjggMCAyMjYuMyAxNTUuOCA2Mi41IDIxOC4zIDBjMTIuNS0xMi41IDMyLjgtMTIuNSA0NS4zIDBzMTIuNSAzMi44IDAgNDUuM2MtODcuNSA4Ny41LTIyMS4zIDg3LjUtMzA4LjggMHMtODcuNS0yMjkuMyAwLTMxNi44IDIyMS4zLTg3LjUgMzA4LjggMGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM3MtMzIuOCAxMi41LTQ1LjMgMHoiXX0saGdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1waG9uZSIsaWNvbjpbNDQ4LDUxMixbInBob25lLXNxdWFyZSJdLCJmMDk4IiwiTTY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0MTZjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzIwIDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0zMjBjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgMzJ6bTg4IDk2LjdjOS44LTIuNyAyMC4xIDIuNCAyNCAxMS44bDIwLjMgNDguN2MzLjQgOC4zIDEuMSAxNy44LTUuOSAyMy41bC0yMi4xIDE4YzE2LjIgMzUuOCA0NC41IDY1IDc5LjYgODIuNGwxOS4zLTIzLjZjNS43LTYuOSAxNS4yLTkuMyAyMy41LTUuOWw0OC43IDIwLjNjOS40IDMuOSAxNC40IDE0LjIgMTEuOCAyNGwtLjggMi44Yy04LjggMzIuMy00MC4xIDU5LjktNzguMiA1MS44LTg3LjUtMTguNS0xNTYuMy04Ny40LTE3NC45LTE3NC45LTguMS0zOC4xIDE5LjUtNjkuNCA1MS44LTc4LjJsMi44LS44eiJdfSxGdGE9aGdlLEJ0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJydWxlci1jb21iaW5lZCIsaWNvbjpbNDQ4LDUxMixbXSwiZjU0NiIsIk0xIDQ0MS43QzUuNSA0NjMuNSAyNC44IDQ4MCA0OCA0ODBsMzUyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTI2LjUtMjEuNS00OC00OC00OGwtNDggMCAwIDcyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNzItNjQgMCAwIDcyYzAgMTMuMy0xMC43IDI0LTI0IDI0cy0yNC0xMC43LTI0LTI0bDAtNzItNzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw3MiAwIDAtNjQtNzIgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw3MiAwIDAtNDhjMC0yNi41LTIxLjUtNDgtNDgtNDhMNDggMzJDMjEuNSAzMiAwIDUzLjUgMCA4MEwwIDQzMmMwIDMuMyAuMyA2LjYgMSA5Ljd6Il19LHh0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvd3Mtcm90YXRlIixpY29uOls1MTIsNTEyLFsxMjg0NzIsInJlZnJlc2giLCJzeW5jIl0sImYwMjEiLCJNNjUuOSAyMjguNWMxMy4zLTkzIDkzLjQtMTY0LjUgMTkwLjEtMTY0LjUgNTMgMCAxMDEgMjEuNSAxMzUuOCA1Ni4yIC4yIC4yIC40IC40IC42IC42bDcuNiA3LjItNDcuOSAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDEyOCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMTI4YzAtMTcuNy0xNC4zLTMyLTMyLTMycy0zMiAxNC4zLTMyIDMybDAgNTMuNC0xMS4zLTEwLjdDMzkwLjUgMjguNiAzMjYuNSAwIDI1NiAwIDEyNyAwIDIwLjMgOTUuNCAyLjYgMjE5LjUgLjEgMjM3IDEyLjIgMjUzLjIgMjkuNyAyNTUuN3MzMy43LTkuNyAzNi4yLTI3LjF6bTQ0My41IDY0YzIuNS0xNy41LTkuNy0zMy43LTI3LjEtMzYuMnMtMzMuNyA5LjctMzYuMiAyNy4xYy0xMy4zIDkzLTkzLjQgMTY0LjUtMTkwLjEgMTY0LjUtNTMgMC0xMDEtMjEuNS0xMzUuOC01Ni4yLS4yLS4yLS40LS40LS42LS42bC03LjYtNy4yIDQ3LjkgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMkwzMiAzMjBjLTguNSAwLTE2LjcgMy40LTIyLjcgOS41Uy0uMSAzNDMuNyAwIDM1Mi4zbDEgMTI3Yy4xIDE3LjcgMTQuNiAzMS45IDMyLjMgMzEuN1M2NS4yIDQ5Ni40IDY1IDQ3OC43bC0uNC01MS41IDEwLjcgMTAuMWM0Ni4zIDQ2LjEgMTEwLjIgNzQuNyAxODAuNyA3NC43IDEyOSAwIDIzNS43LTk1LjQgMjUzLjQtMjE5LjV6Il19LEh0YT14dGUscXRhPXh0ZSxtZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicGVyc29uLWRyZXNzIixpY29uOlszODQsNTEyLFsiZmVtYWxlIl0sImYxODIiLCJNMTM2IDI0YTU2IDU2IDAgMSAxIDExMiAwIDU2IDU2IDAgMSAxIC0xMTIgMHpNMTEyIDM4NGwtMjUuOCAwYy0xMC45IDAtMTguNi0xMC43LTE1LjItMjEuMWw0My0xMjktNDguMyA2NS4xYy0xMC41IDE0LjItMzAuNiAxNy4yLTQ0LjggNi42cy0xNy4yLTMwLjYtNi42LTQ0LjhsNzAuNS05NUMxMTAgMTMyIDE0OS43IDExMiAxOTIgMTEyczgyIDIwIDEwNy4yIDUzLjlsNzAuNSA5NWMxMC41IDE0LjIgNy42IDM0LjItNi42IDQ0LjhzLTM0LjIgNy42LTQ0LjgtNi42TDI3MCAyMzQgMzEzIDM2Mi45YzMuNSAxMC40LTQuMyAyMS4xLTE1LjIgMjEuMWwtMjUuOCAwIDAgMTI4YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMTI4LTMyIDAgMCAxMjhjMCAxNy43LTE0LjMgMzItMzIgMzJzLTMyLTE0LjMtMzItMzJsMC0xMjh6Il19LFZ0YT1tZ2UsanRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJvb2stb3BlbiIsaWNvbjpbNTEyLDUxMixbMTI4MjE0LDEyODM2Nl0sImY1MTgiLCJNMjU2IDE0MS4zbDAgMzA5LjMgLjUtLjJDMzExLjEgNDI3LjcgMzY5LjcgNDE2IDQyOC44IDQxNmwxOS4yIDAgMC0zMjAtMTkuMiAwYy00Mi4yIDAtODQuMSA4LjQtMTIzLjEgMjQuNi0xNi44IDctMzMuNCAxMy45LTQ5LjcgMjAuN3pNMjMwLjkgNjEuNUwyNTYgNzIgMjgxLjEgNjEuNUMzMjcuOSA0MiAzNzguMSAzMiA0MjguOCAzMkw0NjQgMzJjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCAzNTJjMCAyNi41LTIxLjUgNDgtNDggNDhsLTM1LjIgMGMtNTAuNyAwLTEwMC45IDEwLTE0Ny43IDI5LjVsLTEyLjggNS4zYy03LjkgMy4zLTE2LjcgMy4zLTI0LjYgMGwtMTIuOC01LjNDMTg0LjEgNDkwIDEzMy45IDQ4MCA4My4yIDQ4MEw0OCA0ODBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4TDAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsMzUuMiAwYzUwLjcgMCAxMDAuOSAxMCAxNDcuNyAyOS41eiJdfSxVdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZm9sZGVyLXRyZWUiLGljb246WzU3Niw1MTIsW10sImY4MDIiLCJNNDggMjRDNDggMTAuNyAzNy4zIDAgMjQgMFMwIDEwLjcgMCAyNEwwIDM5MmMwIDMwLjkgMjUuMSA1NiA1NiA1NmwxODQgMCAwLTQ4LTE4NCAwYy00LjQgMC04LTMuNi04LThsMC0yMzIgMTkyIDAgMC00OC0xOTIgMCAwLTg4ek0zMzYgMjI0bDE5MiAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtOTZjMC0yNi41LTIxLjUtNDgtNDgtNDhsLTgyLjcgMGMtOC41IDAtMTYuNi0zLjQtMjIuNi05LjRsLTguNi04LjZjLTktOS0yMS4yLTE0LjEtMzMuOS0xNC4xTDMzNiAwYy0yNi41IDAtNDggMjEuNS00OCA0OGwwIDEyOGMwIDI2LjUgMjEuNSA0OCA0OCA0OHptMCAyODhsMTkyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC05NmMwLTI2LjUtMjEuNS00OC00OC00OGwtODIuNyAwYy04LjUgMC0xNi42LTMuNC0yMi42LTkuNGwtOC42LTguNmMtOS05LTIxLjItMTQuMS0zMy45LTE0LjFMMzM2IDI4OGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCAxMjhjMCAyNi41IDIxLjUgNDggNDggNDh6Il19LFd0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ2aXJnbyIsaWNvbjpbNjQwLDUxMixbXSwiZTg1MCIsIk0zNjggMzJjNjEuOSAwIDExMiA1MC4xIDExMiAxMTJsMCAyNi44YzE0LjUtNi45IDMwLjgtMTAuOCA0OC0xMC44IDYxLjkgMCAxMTIgNTAuMSAxMTIgMTEyUzU4OS45IDM4NCA1MjggMzg0bC00OCAwIDAgMzJjMCAxNi42IDEyLjYgMzAuMiAyOC43IDMxLjhsNi42IC4zYzE2LjEgMS42IDI4LjcgMTUuMyAyOC43IDMxLjggMCAxNy43LTE0LjMgMzItMzIgMzItNTMgMC05Ni00My05Ni05NmwwLTMyLTE2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsMTYgMCAwLTE3NmMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OGwwIDMwNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMwNGMwLTI2LjUtMjEuNS00OC00OC00OHMtNDggMjEuNS00OCA0OGwwIDMwNGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTMyMGMwLTE2LjYtMTIuNi0zMC4yLTI4LjctMzEuOGwtNi42LS4zQzQ0LjYgOTQuMiAzMiA4MC42IDMyIDY0IDMyIDQ2LjMgNDYuMyAzMiA2NCAzMiA5MSAzMiAxMTUuMyA0My4xIDEzMi43IDYxIDE1Mi42IDQzIDE3OSAzMiAyMDggMzIgMjM5LjMgMzIgMjY3LjcgNDQuOSAyODggNjUuNyAzMDguMyA0NC45IDMzNi42IDMyIDM2OCAzMnpNNTI4IDIyNGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA0OCA0OCAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4cy0yMS41LTQ4LTQ4LTQ4eiJdfSxnZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiYm94LWFyY2hpdmUiLGljb246WzUxMiw1MTIsWyJhcmNoaXZlIl0sImYxODciLCJNMCA2NEMwIDQ2LjMgMTQuMyAzMiAzMiAzMmw0NDggMGMxNy43IDAgMzIgMTQuMyAzMiAzMmwwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMyTDMyIDEyOEMxNC4zIDEyOCAwIDExMy43IDAgOTZMMCA2NHpNMzIgMTc2bDQ0OCAwIDAgMjQwYzAgMzUuMy0yOC43IDY0LTY0IDY0TDk2IDQ4MGMtMzUuMyAwLTY0LTI4LjctNjQtNjRsMC0yNDB6bTE1MiA2NGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwxNDQgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMTQ0IDB6Il19LEd0YT1nZ2UsWXRhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRlbnQtYXJyb3ctZG93bi10by1saW5lIixpY29uOls1NzYsNTEyLFtdLCJlNTdlIiwiTTE4NSAxMjFjOS40LTkuNCA5LjQtMjQuNiAwLTMzLjlzLTI0LjYtOS40LTMzLjkgMGwtMzEgMzEgMC0xMDIuMUMxMjAgMi43IDEwOS4zLTggOTYtOFM3MiAyLjcgNzIgMTZsMCAxMDIuMS0zMS0zMUMzMS42IDc3LjcgMTYuNCA3Ny43IDcgODdTLTIuMyAxMTEuNiA3IDEyMWw3MiA3MmM5LjQgOS40IDI0LjYgOS40IDMzLjkgMGw3Mi03MnpNMTU1LjggMjYwLjZMMTMyLjEgNDQ4IDMyIDQ0OGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmw1MTIgMGMxNy43IDAgMzItMTQuMyAzMi0zMiAwLTIuOC0uNC01LjUtMS04TDU0OC4yIDI2MC43Yy0xLjItOS43LTYuOS0xOC40LTE1LjMtMjMuNEwzNjcuNCAxMzcuOWMtMTAuMi02LjEtMjIuOS02LjEtMzMuMSAuMUwxNzAuOSAyMzcuM2MtOC4zIDUuMS0xMy45IDEzLjctMTUuMSAyMy4zek00NDggNDQ4bC05Ny4xIDAgMC0xNDkuNGMwLTUuOSA0LjctMTAuNiAxMC42LTEwLjYgNCAwIDcuNyAyLjMgOS41IDUuOUw0NDggNDQ4eiJdfSxLdGE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToicXJjb2RlIixpY29uOls0NDgsNTEyLFtdLCJmMDI5IiwiTTY0IDE2MGw2NCAwIDAtNjQtNjQgMCAwIDY0ek0wIDgwQzAgNTMuNSAyMS41IDMyIDQ4IDMybDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtOTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhMMCA4MHpNNjQgNDE2bDY0IDAgMC02NC02NCAwIDAgNjR6TTAgMzM2YzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDk2IDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OGwtOTYgMGMtMjYuNSAwLTQ4LTIxLjUtNDgtNDhsMC05NnpNMzIwIDk2bDAgNjQgNjQgMCAwLTY0LTY0IDB6TTMwNCAzMmw5NiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhsLTk2IDBjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtOTZjMC0yNi41IDIxLjUtNDggNDgtNDh6TTI4OCAzNTJhMzIgMzIgMCAxIDEgMC02NCAzMiAzMiAwIDEgMSAwIDY0em0wIDY0YzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyLTMyLTE0LjMtMzItMzIgMTQuMy0zMiAzMi0zMnptOTYgMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMi0xNC4zIDMyLTMyIDMyLTMyLTE0LjMtMzItMzJ6bTMyLTk2YTMyIDMyIDAgMSAxIDAtNjQgMzIgMzIgMCAxIDEgMCA2NHptLTMyIDMyYTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6Il19LFp0YT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkcmFnb24iLGljb246WzY0MCw1MTIsWzEyODAwOV0sImY2ZDUiLCJNMzUyIDEyNC41bC01MS45LTEzYy02LjUtMS42LTExLjMtNy4xLTEyLTEzLjhzMi44LTEzLjEgOC43LTE2LjFsNDAuOC0yMC40LTQzLjMtMzIuNWMtNS41LTQuMS03LjgtMTEuMy01LjYtMTcuOVMyOTcuMSAwIDMwNCAwTDQ2NCAwYzMwLjIgMCA1OC43IDE0LjIgNzYuOCAzOC40bDU3LjYgNzYuOGM2LjIgOC4zIDkuNiAxOC40IDkuNiAyOC44IDAgMjYuNS0yMS41IDQ4LTQ4IDQ4bC0yMS41IDBjLTE3IDAtMzMuMy02LjctNDUuMy0xOC43bC0xMy4zLTEzLjMtMzIgMCAwIDIxLjVjMCAyNC44IDEyLjggNDcuOSAzMy44IDYxLjFsMTA2LjYgNjYuNmMzMi4xIDIwLjEgNTEuNiA1NS4yIDUxLjYgOTMuMSAwIDYwLjYtNDkuMSAxMDkuOC0xMDkuOCAxMDkuOEwzMi4zIDUxMmMtMy4zIDAtNi42LS40LTkuNi0xLjQtOS4yLTIuOC0xNi43LTkuNi0yMC40LTE4LjYtMS4zLTMuMy0yLjItNi45LTIuMy0xMC43LS4yLTMuNyAuMy03LjMgMS4zLTEwLjcgMi44LTkuMiA5LjYtMTYuNyAxOC42LTIwLjQgMy0xLjIgNi4yLTIgOS41LTIuMkw0MzMuMyA0MTJjOC4zLS43IDE0LjctNy43IDE0LjctMTYuMSAwLTQuMy0xLjctOC40LTQuNy0xMS40bC00NC40LTQ0LjRjLTMwLTMwLTQ2LjktNzAuNy00Ni45LTExMy4xbDAtMTAyLjV6TTUxMiA3Mi4zYzAtLjEgMC0uMiAwLS4zczAtLjIgMC0uM2wwIC42em0tMS4zIDcuNEw0NjQuMyA2OC4xYy0uMiAxLjMtLjMgMi42LS4zIDMuOSAwIDEzLjMgMTAuNyAyNCAyNCAyNCAxMC42IDAgMTkuNS02LjggMjIuNy0xNi4zek0xMzAuOSAxMTYuNWMxNi4zLTE0LjUgNDAuNC0xNi4yIDU4LjUtNC4xbDEzMC42IDg3IDAgMjcuNWMwIDMyLjggOC40IDY0LjggMjQgOTNsLTIzMiAwYy02LjcgMC0xMi43LTQuMi0xNS0xMC40cy0uNS0xMy4zIDQuNi0xNy43TDE3MSAyMzIuMyAxOC40IDI1NS44Yy03IDEuMS0xMy45LTIuNi0xNi45LTlTLjEgMjMyLjggNS40IDIyOEwxMzAuOSAxMTYuNXoiXX0sYmdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXJnbGFzcy1lbmQiLGljb246WzM4NCw1MTIsWzg5ODcsImhvdXJnbGFzcy0zIl0sImYyNTMiLCJNMzIgMEMxNC4zIDAgMCAxNC4zIDAgMzJTMTQuMyA2NCAzMiA2NGwwIDExYzAgNDIuNCAxNi45IDgzLjEgNDYuOSAxMTMuMWw2Ny45IDY3LjktNjcuOSA2Ny45QzQ4LjkgMzUzLjkgMzIgMzk0LjYgMzIgNDM3bDAgMTFjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsMC0xMWMwLTQyLjQtMTYuOS04My4xLTQ2LjktMTEzLjFsLTY3LjktNjcuOSA2Ny45LTY3LjljMzAtMzAgNDYuOS03MC43IDQ2LjktMTEzLjFsMC0xMWMxNy43IDAgMzItMTQuMyAzMi0zMlMzNjkuNyAwIDM1MiAwTDMyIDB6TTk2IDc1bDAtMTEgMTkyIDAgMCAxMWMwIDI1LjUtMTAuMSA0OS45LTI4LjEgNjcuOWwtNjcuOSA2Ny45LTY3LjktNjcuOUMxMDYuMSAxMjQuOSA5NiAxMDAuNCA5NiA3NXoiXX0sWHRhPWJnZSx0bT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJncmlwIixpY29uOls1MTIsNTEyLFs1ODExOSwiZ3JpZC1ob3Jpem9udGFsIiwiZ3JpcC1ob3Jpem9udGFsIl0sImY1OGQiLCJNODggOTZjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwek0yODAgMjI0bC00OCAwYy0yMi4xIDAtNDAtMTcuOS00MC00MGwwLTQ4YzAtMjIuMSAxNy45LTQwIDQwLTQwbDQ4IDBjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MHptMTkyIDBsLTQ4IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQwem0wIDE5MmwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwYzIyLjEgMCA0MCAxNy45IDQwIDQwbDAgNDhjMCAyMi4xLTE3LjkgNDAtNDAgNDB6TTI4MCAyODhjMjIuMSAwIDQwIDE3LjkgNDAgNDBsMCA0OGMwIDIyLjEtMTcuOSA0MC00MCA0MGwtNDggMGMtMjIuMSAwLTQwLTE3LjktNDAtNDBsMC00OGMwLTIyLjEgMTcuOS00MCA0MC00MGw0OCAwek04OCA0MTZsLTQ4IDBjLTIyLjEgMC00MC0xNy45LTQwLTQwbDAtNDhjMC0yMi4xIDE3LjktNDAgNDAtNDBsNDggMGMyMi4xIDAgNDAgMTcuOSA0MCA0MGwwIDQ4YzAgMjIuMS0xNy45IDQwLTQwIDQweiJdfSxRdGE9dG0sSnRhPXRtLHZnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3JkZXItdG9wLWxlZnQiLGljb246WzQ0OCw1MTIsWyJib3JkZXItc3R5bGUiXSwiZjg1MyIsIk0wIDQ0OGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzUyIDM1MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZMMCA0NDh6bTEyOCAwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzItMTQuMy0zMi0zMi0zMi0zMiAxNC4zLTMyIDMyem0xMjggMGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMyLTE0LjMtMzItMzItMzItMzIgMTQuMy0zMiAzMnptMTYwIDMyYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyLTMyIDE0LjMtMzIgMzIgMTQuMyAzMiAzMiAzMnpNMzg0IDE5MmEzMiAzMiAwIDEgMCA2NCAwIDMyIDMyIDAgMSAwIC02NCAwem0zMiAxNjBhMzIgMzIgMCAxIDAgMC02NCAzMiAzMiAwIDEgMCAwIDY0eiJdfSxlYWE9dmdlLHhnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsaXN0LXVsIixpY29uOls1MTIsNTEyLFsibGlzdC1kb3RzIl0sImYwY2EiLCJNNDggMTQ0YTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnpNMTkyIDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDI4OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDE5MiA2NHptMCAxNjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMjg4IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTI4OCAwem0wIDE2MGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwyODggMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtMjg4IDB6TTQ4IDQ2NGE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6TTk2IDI1NmE0OCA0OCAwIDEgMCAtOTYgMCA0OCA0OCAwIDEgMCA5NiAweiJdfSx0YWE9eGdlLGFhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtcm9iYmVyeSIsaWNvbjpbNTc2LDUxMixbXSwiZTUzNiIsIk00ODguMiA1OS4xQzQ3OC4xIDk5LjYgNDQxLjcgMTI4IDQwMCAxMjhzLTc4LjEtMjguNC04OC4yLTY4LjlMMzAzIDI0LjJDMjk4LjggNy4xIDI4MS40LTMuMyAyNjQuMiAxUzIzNi43IDIyLjYgMjQxIDM5LjhsOC43IDM0LjljMTEgNDQgNDAuMiA3OS42IDc4LjMgOTkuNkwzMjggNDgwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xMjggMTYgMCAwIDEyOGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMzA1LjdjMzguMS0yMCA2Ny4zLTU1LjYgNzguMy05OS42TDU1OSAzOS44YzQuMy0xNy4xLTYuMS0zNC41LTIzLjMtMzguOFM1MDEuMiA3LjEgNDk3IDI0LjJsLTguNyAzNC45ek00MDAgOTZhNDggNDggMCAxIDAgMC05NiA0OCA0OCAwIDEgMCAwIDk2ek04MCA5NmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bS04IDMyYy0zNS4zIDAtNjQgMjguNy02NCA2NGwwIDk2IDAgLjYgMCAxOTEuNGMwIDE3LjcgMTQuMyAzMiAzMiAzMnMzMi0xNC4zIDMyLTMybDAtMTI4IDE2IDAgMCAxMjhjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTIyNy4zIDEzIDIwLjVjNS45IDkuMiAxNi4xIDE0LjkgMjcgMTQuOWw0OCAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0zMC40IDAtMzcuNC01OC45QzE1Ny42IDE0MiAxMzIuMSAxMjggMTA0LjcgMTI4TDcyIDEyOHoiXX0scmFhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vYmlsZS1idXR0b24iLGljb246WzM4NCw1MTIsW10sImYxMGIiLCJNODAgMEM0NC43IDAgMTYgMjguNyAxNiA2NGwwIDM4NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwyMjQgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTM4NGMwLTM1LjMtMjguNy02NC02NC02NEw4MCAwek0xOTIgNDY0Yy0xNy43IDAtMzItMTQuMy0zMi0zMnMxNC4zLTMyIDMyLTMyIDMyIDE0LjMgMzIgMzItMTQuMyAzMi0zMiAzMnoiXX0seXRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImFycm93LWRvd24tYS16IixpY29uOls1MTIsNTEyLFsic29ydC1hbHBoYS1hc2MiLCJzb3J0LWFscGhhLWRvd24iXSwiZjE1ZCIsIk0yMzAuNiAzOTAuNmwtODAgODBjLTEyLjUgMTIuNS0zMi44IDEyLjUtNDUuMyAwbC04MC04MGMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMEw5NiAzNzAuNyA5NiA2NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzA2LjcgMjUuNC0yNS40YzEyLjUtMTIuNSAzMi44LTEyLjUgNDUuMyAwczEyLjUgMzIuOCAwIDQ1LjN6bTE4Mi0zNDAuOWM1MC43IDEwMS4zIDc3LjMgMTU0LjcgODAgMTYwIDcuOSAxNS44IDEuNSAzNS0xNC4zIDQyLjlzLTM1IDEuNS00Mi45LTE0LjNsLTcuMi0xNC4zLTg4LjQgMC03LjIgMTQuM2MtNy45IDE1LjgtMjcuMSAyMi4yLTQyLjkgMTQuM3MtMjIuMi0yNy4xLTE0LjMtNDIuOWMyLjctNS4zIDI5LjMtNTguNyA4MC0xNjAgNS40LTEwLjggMTYuNS0xNy43IDI4LjYtMTcuN3MyMy4yIDYuOCAyOC42IDE3Ljd6TTM4NCAxMzUuNmwtMjAuMiA0MC40IDQwLjQgMC0yMC4yLTQwLjR6TTI4OCAzMjBjMC0xNy43IDE0LjMtMzIgMzItMzJsMTI4IDBjMTIuOSAwIDI0LjYgNy44IDI5LjYgMTkuOHMyLjIgMjUuNy02LjkgMzQuOUwzOTcuMyA0MTYgNDQ4IDQxNmMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMTI4IDBjLTEyLjkgMC0yNC42LTcuOC0yOS42LTE5LjhzLTIuMi0yNS43IDYuOS0zNC45bDczLjQtNzMuNC01MC43IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyeiJdfSxzYWE9eXRlLGlhYT15dGUsb2FhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1vbmV5LWJpbGwiLGljb246WzUxMiw1MTIsW10sImYwZDYiLCJNNjQgNjRDMjguNyA2NCAwIDkyLjcgMCAxMjhMMCAzODRjMCAzNS4zIDI4LjcgNjQgNjQgNjRsMzg0IDBjMzUuMyAwIDY0LTI4LjcgNjQtNjRsMC0yNTZjMC0zNS4zLTI4LjctNjQtNjQtNjRMNjQgNjR6bTE5MiA5NmE5NiA5NiAwIDEgMSAwIDE5MiA5NiA5NiAwIDEgMSAwLTE5MnptMTkyIDI0YzAgNC40LTMuNiA4LjEtOCA3LjUtMjktMy42LTUxLjktMjYuNi01NS41LTU1LjUtLjUtNC40IDMuMS04IDcuNS04bDQ4IDBjNC40IDAgOCAzLjYgOCA4bDAgNDh6TTY0IDMyOGMwLTQuNCAzLjYtOC4xIDgtNy41IDI5IDMuNiA1MS45IDI2LjYgNTUuNSA1NS41IC41IDQuNC0zLjEgOC03LjUgOGwtNDggMGMtNC40IDAtOC0zLjYtOC04bDAtNDh6bTgtMTM2LjVjLTQuNCAuNS04LTMuMS04LTcuNWwwLTQ4YzAtNC40IDMuNi04IDgtOGw0OCAwYzQuNCAwIDguMSAzLjYgNy41IDgtMy42IDI5LTI2LjYgNTEuOS01NS41IDU1LjV6bTM2OCAxMjljNC40LS41IDggMy4xIDggNy41bDAgNDhjMCA0LjQtMy42IDgtOCA4bC00OCAwYy00LjQgMC04LjEtMy42LTcuNS04IDMuNi0yOSAyNi42LTUxLjkgNTUuNS01NS41eiJdfSx5Z2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLW1pbnVzIixpY29uOls1MTIsNTEyLFsibWludXMtY2lyY2xlIl0sImYwNTYiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTE2OCAyMzJsMTc2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE3NiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0eiJdfSxuYWE9eWdlLHdnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy1wb2ludGVyIixpY29uOls0NDgsNTEyLFsibW91c2UtcG9pbnRlciJdLCJmMjQ1IiwiTTc3LjMgMi41YzguMS00LjEgMTcuOS0zLjIgMjUuMSAyLjNsMzIwIDIzOS45YzguMyA2LjIgMTEuNiAxNyA4LjQgMjYuOHMtMTIuNCAxNi40LTIyLjggMTYuNGwtMTUyLjMgMCA4OC45IDE3Ny43YzcuOSAxNS44IDEuNSAzNS0xNC4zIDQyLjlzLTM1IDEuNS00Mi45LTE0LjNsLTg4LjktMTc3LjctOTEuMyAxMjEuOGMtNi4yIDguMy0xNyAxMS42LTI2LjggOC40UzY0IDQzNC4zIDY0IDQyNEw2NCAyNGMwLTkuMSA1LjEtMTcuNCAxMy4zLTIxLjV6Il19LGxhYT13Z2UsTWdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InNxdWFyZS1zaGFyZS1ub2RlcyIsaWNvbjpbNDQ4LDUxMixbInNoYXJlLWFsdC1zcXVhcmUiXSwiZjFlMSIsIk02NCAzMkMyOC43IDMyIDAgNjAuNyAwIDk2TDAgNDE2YzAgMzUuMyAyOC43IDY0IDY0IDY0bDMyMCAwYzM1LjMgMCA2NC0yOC43IDY0LTY0bDAtMzIwYzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyek0zNjggMTYwYzAgMzUuMy0yOC43IDY0LTY0IDY0LTE1LjQgMC0yOS41LTUuNC00MC42LTE0LjVsLTg1LjMgNDYuNSA4NS4zIDQ2LjVjMTEtOS4xIDI1LjItMTQuNSA0MC42LTE0LjUgMzUuMyAwIDY0IDI4LjcgNjQgNjRzLTI4LjcgNjQtNjQgNjQtNjQtMjguNy02NC02NGMwLTIuNSAuMS00LjkgLjQtNy4zTDE1OC41IDMwMGMtMTEuNyAxMi4zLTI4LjIgMjAtNDYuNSAyMC0zNS4zIDAtNjQtMjguNy02NC02NHMyOC43LTY0IDY0LTY0YzE4LjMgMCAzNC44IDcuNyA0Ni41IDIwbDgxLjktNDQuN2MtLjMtMi40LS40LTQuOS0uNC03LjMgMC0zNS4zIDI4LjctNjQgNjQtNjRzNjQgMjguNyA2NCA2NHoiXX0sY2FhPU1nZSxrZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGFibGUtY2VsbHMtbGFyZ2UiLGljb246WzQ0OCw1MTIsWyJ0aC1sYXJnZSJdLCJmMDA5IiwiTTM4NCA5NmwtMTI4IDAgMCAxMjggMTI4IDAgMC0xMjh6bTY0IDEyOGwwIDE5MmMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgOTZDMCA2MC43IDI4LjcgMzIgNjQgMzJsMzIwIDBjMzUuMyAwIDY0IDI4LjcgNjQgNjRsMCAxMjh6TTY0IDI4OGwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHptMTI4LTY0bDAtMTI4LTEyOCAwIDAgMTI4IDEyOCAwem02NCA2NGwwIDEyOCAxMjggMCAwLTEyOC0xMjggMHoiXX0sZGFhPWtnZSx1YWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2F0IixpY29uOls1NzYsNTEyLFsxMjgwMDhdLCJmNmJlIiwiTTY0IDk2YzUzIDAgOTYgNDMgOTYgOTZsMCA4NS44YzI5LjctNDQuNyA3Ny44LTc2LjIgMTMzLjQtODQgMjUuNiA2MCA4NS4yIDEwMi4xIDE1NC42IDEwMi4xIDEwLjkgMCAyMS42LTEuMSAzMi0zLjFMNDgwIDQ4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTE0MC44LTEzNiAxMDguOCA1NiAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMybC0xNDQgMGMtNTMgMC05Ni00My05Ni05NmwwLTIyNGMwLTE2LjYtMTIuNi0zMC4yLTI4LjctMzEuOGwtNi42LS4zQzQ0LjYgMTU4LjIgMzIgMTQ0LjYgMzIgMTI4IDMyIDExMC4zIDQ2LjMgOTYgNjQgOTZ6TTUzMy44IDMuMkM1NDQuMi01LjUgNTYwIDEuOSA1NjAgMTUuNUw1NjAgMTI4YzAgNjEuOS01MC4xIDExMi0xMTIgMTEyUzMzNiAxODkuOSAzMzYgMTI4bDAtMTEyLjVjMC0xMy42IDE1LjgtMjEgMjYuMi0xMi4zTDQxNiA0OCA0ODAgNDggNTMzLjggMy4yek00MDAgMTA4YTIwIDIwIDAgMSAwIDAgNDAgMjAgMjAgMCAxIDAgMC00MHptOTYgMGEyMCAyMCAwIDEgMCAwIDQwIDIwIDIwIDAgMSAwIDAtNDB6Il19LHBhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWxlbmRhci13ZWVrIixpY29uOls0NDgsNTEyLFtdLCJmNzg0IiwiTTEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgMzIgMTI4IDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMzIgMzIgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDI4OGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA0ODBjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgMTI4QzAgOTIuNyAyOC43IDY0IDY0IDY0bDMyIDAgMC0zMmMwLTE3LjcgMTQuMy0zMiAzMi0zMnptMCAyNTZjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTkyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC02NGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtMTkyIDB6Il19LGZhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjb2RlLWNvbXBhcmUiLGljb246WzUxMiw1MTIsW10sImUxM2EiLCJNMTk4LjggMS44YzktMy43IDE5LjMtMS43IDI2LjIgNS4ybDU2IDU2YzkuNCA5LjQgOS40IDI0LjYgMCAzMy45bC01NiA1NmMtNi45IDYuOS0xNy4yIDguOS0yNi4yIDUuMlMxODQgMTQ1LjcgMTg0IDEzNmwwLTI0LTI0IDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgMjE0LjdjMjguMyAxMi4zIDQ4IDQwLjUgNDggNzMuMyAwIDQ0LjItMzUuOCA4MC04MCA4MHMtODAtMzUuOC04MC04MGMwLTMyLjggMTkuNy02MSA0OC03My4zTDY0IDE0NGMwLTUzIDQzLTk2IDk2LTk2bDI0IDAgMC0yNGMwLTkuNyA1LjgtMTguNSAxNC44LTIyLjJ6TTM5MiA4MGEyNCAyNCAwIDEgMCA0OCAwIDI0IDI0IDAgMSAwIC00OCAwem0tOCA3My4zYy0yOC4zLTEyLjMtNDgtNDAuNS00OC03My4zIDAtNDQuMiAzNS44LTgwIDgwLTgwczgwIDM1LjggODAgODBjMCAzMi44LTE5LjcgNjEtNDggNzMuM0w0NDggMzY4YzAgNTMtNDMgOTYtOTYgOTZsLTI0IDAgMCAyNGMwIDkuNy01LjggMTguNS0xNC44IDIyLjJzLTE5LjMgMS43LTI2LjItNS4ybC01Ni01NmMtOS40LTkuNC05LjQtMjQuNiAwLTMzLjlsNTYtNTZjNi45LTYuOSAxNy4yLTguOSAyNi4yLTUuMlMzMjggMzY2LjMgMzI4IDM3NmwwIDI0IDI0IDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0yMTQuN3pNNzIgNDMyYTI0IDI0IDAgMSAwIDQ4IDAgMjQgMjQgMCAxIDAgLTQ4IDB6Il19LGhhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsZW8iLGljb246WzUxMiw1MTIsW10sImU4NGEiLCJNMjYwIDBjNzIuOSAwIDEzMiA1OS4xIDEzMiAxMzJsMCA1LjQtLjEgMS40LTIzLjggMjcwYy40IDIxLjcgMTguMiAzOS4yIDQwIDM5LjIgMjIuMSAwIDQwLTE3LjkgNDAtNDBsMC00MGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDBjMCA1Ny40LTQ2LjYgMTA0LTEwNCAxMDRTMzA0IDQ2NS40IDMwNCA0MDhsMC0xLjQgLjEtMS40IDIzLjktMjcwLjYgMC0yLjZjMC0zNy42LTMwLjQtNjgtNjgtNjhzLTY4IDMwLjQtNjggNjhsMCA0YzAgMy43IC4zIDcuMyAuOCAxMWwyOS43IDE5My40Yy45IDYuMSAxLjQgMTIuMiAxLjQgMTguNGwwIDkuMmMwIDYxLjktNTAuMSAxMTItMTEyIDExMlMwIDQyOS45IDAgMzY4IDUwLjEgMjU2IDExMiAyNTZjMTEuNyAwIDIzIDEuOCAzMy43IDUuMUwxMjkuNiAxNTYuN2MtMS4xLTYuOC0xLjYtMTMuOC0xLjYtMjAuN2wwLTRDMTI4IDU5LjEgMTg3LjEgMCAyNjAgMHpNMTEyIDMyMGE0OCA0OCAwIDEgMCAwIDk2IDQ4IDQ4IDAgMSAwIDAtOTZ6Il19LG1hYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJyb2FkLWNpcmNsZS14bWFyayIsaWNvbjpbNjQwLDUxMixbXSwiZTU2NiIsIk0yODcuOSAzMmwtNzYuMiAwYy0yOS40IDAtNTUuMSAyMC4xLTYyLjEgNDguNkw2NS40IDQyMC41QzU3LjkgNDUwLjcgODAuOCA0ODAgMTEyIDQ4MGwyMDkuNCAwYy0xMS4yLTI0LjQtMTcuNC01MS40LTE3LjQtODAgMC0yOC42IDYuMi01NS43IDE3LjQtODAtLjUgMC0xIDAtMS42IDAtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC02NGMwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgNDkuMmMzNS4yLTQwIDg2LjctNjUuMiAxNDQuMi02NS4yIDkgMCAxNy44IC42IDI2LjQgMS44bC0zMi0xMjkuMkM0ODMuNCA1Mi4xIDQ1Ny44IDMyIDQyOC4zIDMybC03Ni41IDAgMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTY0ek00OTYgNTQ0YTE0NCAxNDQgMCAxIDAgMC0yODggMTQ0IDE0NCAwIDEgMCAwIDI4OHptNTkuMy0xODAuN2wtMzYuNyAzNi43IDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwbC0zNi43LTM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDM2LjctMzYuNy0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwzNi43IDM2LjcgMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNnoiXX0sZ2FhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBhbGxldCIsaWNvbjpbNTc2LDUxMixbXSwiZjQ4MiIsIk0zMiAzMjBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzIgMCAwIDY0LTMyIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsNTEyIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJsLTMyIDAgMC02NCAzMiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMyTDMyIDMyMHptOTYgNjRsMTI4IDAgMCA2NC0xMjggMCAwLTY0em0xOTIgMGwxMjggMCAwIDY0LTEyOCAwIDAtNjR6Il19LHd0ZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjYWtlLWNhbmRsZXMiLGljb246WzQ0OCw1MTIsWzEyNzg3NCwiYmlydGhkYXktY2FrZSIsImNha2UiXSwiZjFmZCIsIk04Ni40LTEwLjVMNjEuOCAzMS42QzU4IDM4LjEgNTYgNDUuNiA1NiA1My4yTDU2IDU2YzAgMjIuMSAxNy45IDQwIDQwIDQwczQwLTE3LjkgNDAtNDBsMC0yLjhjMC03LjYtMi0xNS01LjgtMjEuNkwxMDUuNi0xMC41Yy0yLTMuNC01LjctNS41LTkuNi01LjVzLTcuNiAyLjEtOS42IDUuNXptMTI4IDBMMTg5LjggMzEuNmMtMy44IDYuNS01LjggMTQtNS44IDIxLjZsMCAyLjhjMCAyMi4xIDE3LjkgNDAgNDAgNDBzNDAtMTcuOSA0MC00MGwwLTIuOGMwLTcuNi0yLTE1LTUuOC0yMS42TDIzMy42LTEwLjVjLTItMy40LTUuNy01LjUtOS42LTUuNXMtNy42IDIuMS05LjYgNS41ek0zMTcuOCAzMS42Yy0zLjggNi41LTUuOCAxNC01LjggMjEuNmwwIDIuOGMwIDIyLjEgMTcuOSA0MCA0MCA0MHM0MC0xNy45IDQwLTQwbDAtMi44YzAtNy42LTItMTUtNS44LTIxLjZMMzYxLjYtMTAuNWMtMi0zLjQtNS43LTUuNS05LjYtNS41cy03LjYgMi4xLTkuNiA1LjVMMzE3LjggMzEuNnpNMTI4IDE2MGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDUzLjVDMjYuNyAyMjYuNiAwIDI2Mi4yIDAgMzA0bDAgMjAuOGMyMC45IDEuMyA0MS42IDcuMyA2MC4zIDE4bDcuMSA0LjFjMjYuMyAxNSA1OC45IDEzLjQgODMuNi00LjIgNDMuNy0zMS4yIDEwMi4zLTMxLjIgMTQ2IDAgMjQuNiAxNy42IDU3LjMgMTkuMyA4My42IDQuMmw3LjEtNC4xYzE4LjctMTAuNyAzOS4zLTE2LjcgNjAuMy0xOGwwLTIwLjhjMC00MS44LTI2LjctNzcuNC02NC05MC41bDAtNTMuNWMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ4LTY0IDAgMC00OGMwLTE3LjctMTQuMy0zMi0zMi0zMnMtMzIgMTQuMy0zMiAzMmwwIDQ4LTY0IDAgMC00OHpNNDQ4IDM3M2MtMTIuNyAxLjItMjUuMSA1LTM2LjUgMTEuNWwtNy4xIDQuMWMtNDIuNiAyNC4zLTk1LjQgMjEuNy0xMzUuMy02LjgtMjctMTkuMy02My4yLTE5LjMtOTAuMiAwLTM5LjkgMjguNS05Mi43IDMxLjItMTM1LjMgNi44bC03LjEtNC4xQzI1LjEgMzc4IDEyLjcgMzc0LjEgMCAzNzNsMCA3NWMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTc1eiJdfSxiYWE9d3RlLHZhYT13dGUseGFhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJ1Zy1zbGFzaCIsaWNvbjpbNTc2LDUxMixbXSwiZTQ5MCIsIk03LTI0LjljOS40LTkuNCAyNC42LTkuNCAzMy45IDBMMjQxLjggMTc2IDM0NCAxNzZjMTQuMiAwIDI3LjcgMi44IDQwIDhsMTA4LjgtODEuNmMxNC4xLTEwLjYgMzQuMi03LjcgNDQuOCA2LjRzNy43IDM0LjItNi40IDQ0LjhsLTk3LjggNzMuM2M1LjMgOC45IDkuMyAxOC43IDExLjggMjkuMWw5OC44IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJzLTE0LjMgMzItMzIgMzJsLTk2IDAgMCAzMmMwIDkuNS0uOCAxOC43LTIuNCAyNy44TDU2OSA1MDMuMWM5LjQgOS40IDkuNCAyNC42IDAgMzMuOXMtMjQuNiA5LjQtMzMuOSAwTDcgOS4xQy0yLjMtLjMtMi4zLTE1LjUgNy0yNC45ek0zOTguMiA0NjhjLTIzLjIgMjIuMS01MyAzNy4yLTg2LjIgNDIuMmwwLTEyOC40IDg2LjIgODYuMnpNMjY0IDMzMy44bDAgMTc2LjRjLTUxLjItNy43LTk0LjUtMzkuNy0xMTcuNy04My45TDgzLjIgNDczLjZjLTE0LjEgMTAuNi0zNC4yIDcuNy00NC44LTYuNHMtNy43LTM0LjIgNi40LTQ0LjhsODMuNC02Mi41Yy0uMS0yLjYtLjItNS4yLS4yLTcuOWwwLTMyLTk2IDBjLTE3LjcgMC0zMi0xNC4zLTMyLTMyczE0LjMtMzIgMzItMzJsOTguOCAwYzMuMy0xMy45IDkuMy0yNi43IDE3LjYtMzcuOEwyNjQgMzMzLjh6TTM1NS42IDEyOGwtODIuNCAwLTcyLjMtNzIuM0MyMTYuMSAyMi44IDI0OS40IDAgMjg4IDAgMzQxIDAgMzg0IDQzIDM4NCA5NmwwIDMuNmMwIDE1LjctMTIuNyAyOC40LTI4LjQgMjguNHoiXX0seWFhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRhcnAiLGljb246WzUxMiw1MTIsW10sImU1N2IiLCJNNDQ4IDY0YzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgMTQ5LjVjMCAxNy02LjcgMzMuMy0xOC43IDQ1LjNMMzg2LjcgNDI5LjNjLTEyIDEyLTI4LjMgMTguNy00NS4zIDE4LjdMNjQgNDQ4Yy0zNS4zIDAtNjQtMjguNy02NC02NEwwIDEyOEMwIDkyLjcgMjguNyA2NCA2NCA2NGwzODQgMHptNS41IDIwOEwzNjAgMjcyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDkzLjUgMTE3LjUtMTE3LjV6TTk2IDE5MmEzMiAzMiAwIDEgMCAwLTY0IDMyIDMyIDAgMSAwIDAgNjR6Il19LHdhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWFncmFtLXByZWRlY2Vzc29yIixpY29uOls0NDgsNTEyLFtdLCJlNDc3IiwiTTI4OS4yIDEzNy45YzIuNS02IDguMy05LjkgMTQuOC05LjlsNDAgMCAwLTI0YzAtMTMuMy0xMC43LTI0LTI0LTI0bC05OCAwYzEuMyA1LjEgMiAxMC41IDIgMTZsMCA2NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtOTYgMGMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA5NkMwIDYwLjcgMjguNyAzMiA2NCAzMmwyNTYgMGMzOS44IDAgNzIgMzIuMiA3MiA3MmwwIDI0IDQwIDBjNi41IDAgMTIuMyAzLjkgMTQuOCA5LjlzMS4xIDEyLjktMy41IDE3LjRsLTY0IDY0Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMGwtNjQtNjRjLTQuNi00LjYtNS45LTExLjUtMy41LTE3LjR6TTM4NCAzNTJsLTMyMCAwIDAgNjQgMzIwIDAgMC02NHptNjQgNjRjMCAzNS4zLTI4LjcgNjQtNjQgNjRMNjQgNDgwYy0zNS4zIDAtNjQtMjguNy02NC02NGwwLTY0YzAtMzUuMyAyOC43LTY0IDY0LTY0bDMyMCAwYzM1LjMgMCA2NCAyOC43IDY0IDY0bDAgNjR6Il19LFNnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmYWNlLWZsdXNoZWQiLGljb246WzUxMiw1MTIsWzEyODU2MywiZmx1c2hlZCJdLCJmNTc5IiwiTTAgMjU2YTI1NiAyNTYgMCAxIDEgNTEyIDAgMjU2IDI1NiAwIDEgMSAtNTEyIDB6TTE2OCAzOTJjMCAxMy4zIDEwLjcgMjQgMjQgMjRsMTI4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRzLTEwLjctMjQtMjQtMjRsLTEyOCAwYy0xMy4zIDAtMjQgMTAuNy0yNCAyNHptLTgtOTZhNzIgNzIgMCAxIDAgMC0xNDQgNzIgNzIgMCAxIDAgMCAxNDR6bTI2NC03MmE3MiA3MiAwIDEgMCAtMTQ0IDAgNzIgNzIgMCAxIDAgMTQ0IDB6bS0yODggMGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAwem0xOTIgMGEyNCAyNCAwIDEgMSA0OCAwIDI0IDI0IDAgMSAxIC00OCAweiJdfSxNYWE9U2dlLGthYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWFncmFtLW5leHQiLGljb246WzQ0OCw1MTIsW10sImU0NzYiLCJNMzg0IDIyNGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0TDY0IDMyQzI4LjcgMzIgMCA2MC43IDAgOTZsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwxMjggMCAwIDY0LTMyIDBjLTYuNSAwLTEyLjMgMy45LTE0LjggOS45cy0xLjEgMTIuOSAzLjUgMTcuNGw2NCA2NGM2LjIgNi4yIDE2LjQgNi4yIDIyLjYgMGw2NC02NGM0LjYtNC42IDUuOS0xMS41IDMuNS0xNy40UzI5NC41IDI4OCAyODggMjg4bC0zMiAwIDAtNjQgMTI4IDB6TTY0IDI4OGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA2NGMwIDM1LjMgMjguNyA2NCA2NCA2NGwzMjAgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTY0YzAtMzUuMy0yOC43LTY0LTY0LTY0bC0zNCAwYzUuNiAyMS43LS41IDQ1LjEtMTYuNyA2MS4zbC02NCA2NGMtMjUgMjUtNjUuNSAyNS05MC41IDBsLTY0LTY0Qzk4LjYgMzMzLjEgOTIuNCAzMDkuNyA5OCAyODhsLTM0IDB6Il19LFNhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhbmNob3ItY2lyY2xlLXhtYXJrIixpY29uOls2NDAsNTEyLFtdLCJlNGFjIiwiTTMyMC41IDk2YTMyIDMyIDAgMSAxIC02NCAwIDMyIDMyIDAgMSAxIDY0IDB6bS0zMi05NmMtNTMgMC05NiA0My05NiA5NiAwIDQxLjggMjYuNyA3Ny40IDY0IDkwLjVsMCAyNTcuOWMtNjIuOS0xNC4zLTExMC4yLTY5LjctMTExLjktMTM2LjVsMTYuMSAxNC4xYzEwIDguNyAyNS4xIDcuNyAzMy45LTIuM3M3LjctMjUuMS0yLjMtMzMuOWwtNjQtNTZjLTktNy45LTIyLjYtNy45LTMxLjYgMGwtNjQgNTZjLTEwIDguNy0xMSAyMy45LTIuMyAzMy45czIzLjkgMTEgMzMuOSAyLjNsMTYuMi0xNC4yYzIuMSAxMTMuMSA5NC40IDIwNC4xIDIwOCAyMDQuMSAxNi42IDAgMzIuNy0xLjkgNDguMi01LjYtMjAuMy0zMC41LTMyLjItNjctMzIuMi0xMDYuNCAwLTI3LjMgNS43LTUzLjMgMTYtNzYuOWwwLTEzNi42YzM3LjMtMTMuMiA2NC00OC43IDY0LTkwLjUgMC01My00My05Ni05Ni05NnptMjA4IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTU5LjMtMTgwLjdsLTM2LjcgMzYuNyAzNi43IDM2LjdjNi4yIDYuMiA2LjIgMTYuNCAwIDIyLjZzLTE2LjQgNi4yLTIyLjYgMGwtMzYuNy0zNi43LTM2LjcgMzYuN2MtNi4yIDYuMi0xNi40IDYuMi0yMi42IDBzLTYuMi0xNi40IDAtMjIuNmwzNi43LTM2LjctMzYuNy0zNi43Yy02LjItNi4yLTYuMi0xNi40IDAtMjIuNnMxNi40LTYuMiAyMi42IDBsMzYuNyAzNi43IDM2LjctMzYuN2M2LjItNi4yIDE2LjQtNi4yIDIyLjYgMHM2LjIgMTYuNCAwIDIyLjZ6Il19LHphYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZXJzb24tY2lyY2xlLXhtYXJrIixpY29uOls2NDAsNTEyLFtdLCJlNTQzIiwiTTI4MCAyNGE1NiA1NiAwIDEgMCAtMTEyIDAgNTYgNTYgMCAxIDAgMTEyIDB6bTI0IDIxMi43TDM0MSAyODYuNmMxMi44LTE3LjUgMjguNS0zMi43IDQ2LjMtNDVsLTU2LjItNzUuN0MzMDYgMTMyIDI2Ni4zIDExMiAyMjQgMTEycy04MiAyMC0xMDcuMiA1My45bC03MC41IDk1Yy0xMC41IDE0LjItNy42IDM0LjIgNi42IDQ0LjhzMzQuMiA3LjYgNDQuOC02LjZMMTQ0IDIzNi43IDE0NCA1MTJjMCAxNy43IDE0LjMgMzIgMzIgMzJzMzItMTQuMyAzMi0zMmwwLTE2MGMwLTguOCA3LjItMTYgMTYtMTZzMTYgNy4yIDE2IDE2bDAgMTYwYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0yNzUuM3pNNDk2IDU0NGExNDQgMTQ0IDAgMSAwIDAtMjg4IDE0NCAxNDQgMCAxIDAgMCAyODh6bTIyLjYtMTQ0bDM2LjcgMzYuN2M2LjIgNi4yIDYuMiAxNi40IDAgMjIuNnMtMTYuNCA2LjItMjIuNiAwbC0zNi43LTM2LjctMzYuNyAzNi43Yy02LjIgNi4yLTE2LjQgNi4yLTIyLjYgMHMtNi4yLTE2LjQgMC0yMi42bDM2LjctMzYuNy0zNi43LTM2LjdjLTYuMi02LjItNi4yLTE2LjQgMC0yMi42czE2LjQtNi4yIDIyLjYgMGwzNi43IDM2LjcgMzYuNy0zNi43YzYuMi02LjIgMTYuNC02LjIgMjIuNiAwczYuMiAxNi40IDAgMjIuNkw1MTguNiA0MDB6Il19LENhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzcGEiLGljb246WzU3Niw1MTIsW10sImY1YmIiLCJNMTY5LjcgMjI3LjVjMzQuMyAxOC43IDY0LjUgNDQuMSA4OC44IDc0LjUgMTEuMSAxMy45IDIxIDI4LjkgMjkuNCA0NC44IDguNS0xNS45IDE4LjMtMzAuOCAyOS40LTQ0LjggMjQuMy0zMC41IDU0LjUtNTUuOSA4OC44LTc0LjUgNDEuNy0yMi43IDg5LjQtMzUuNSAxMzkuNy0zNS41bDkuOSAwYzExLjEgMCAyMC4xIDkgMjAuMSAyMC4xIDAgMTQ4LTExOS45IDI2Ny45LTI2Ny45IDI2Ny45bC00MC4yIDBDMTE5LjkgNDgwIDAgMzYwLjEgMCAyMTIuMSAwIDIwMSA5IDE5MiAyMC4xIDE5Mmw5LjkgMGM1MC40IDAgOTguMSAxMi44IDEzOS43IDM1LjV6TTMwMy45IDM4YzE2LjkgMTUuOSA2MS40IDYzLjQgODkgMTQyLjMtNDAuMSAyMC4yLTc1LjggNDguMi0xMDQuOSA4Mi4xLTI5LjItMzMuOS02NC44LTYxLjgtMTA0LjktODIuMSAyNy42LTc4LjkgNzIuMi0xMjYuNCA4OS0xNDIuMyA0LjMtNC4xIDEwLTYgMTUuOS02czExLjYgMiAxNS45IDZ6Il19LF9hYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcmllcyIsaWNvbjpbNTEyLDUxMixbXSwiZTg0NiIsIk00MDEuNiAwYzYxLjMgMCAxMTAuNCA1MC4zIDExMC40IDExMSAwIDI5LjQtMTEuNiA1Ny45LTMyLjYgNzguOGwtOC44IDguOGMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4yIDBzLTEyLjUtMzIuOCAwLTQ1LjJsOC44LTguOGM4LjgtOC44IDEzLjgtMjEgMTMuOC0zMy42IDAtMjUuOS0yMS4xLTQ3LTQ2LjQtNDctMjIuNSAwLTQxLjcgMTYuMS00NS43IDM4LjJMMjg3LjUgNDg1LjZjMCAuMS0uMSAuMy0uMSAuNC0uMiAuOC0uMyAxLjYtLjUgMi4zLS4xIC4zLS4xIC41LS4yIC43LS4yIC42LS40IDEuMy0uNyAxLjktLjIgLjUtLjQgMS0uNiAxLjUtLjEgLjMtLjMgLjYtLjQgLjktMS42IDMuNS0zLjggNi41LTYuNCA5LjItMiAyLTQuMiAzLjctNi42IDUuMS0uMiAuMS0uMyAuMi0uNSAuMy0uNyAuNC0xLjQgLjctMi4xIDEtLjMgLjEtLjYgLjMtLjkgLjQtLjUgLjItMSAuNC0xLjUgLjYtLjYgLjItMS4yIC41LTEuOSAuNy0uMiAuMS0uNSAuMi0uNyAuMi0uOCAuMi0xLjYgLjQtMi4zIC41LS4yIDAtLjMgLjEtLjQgLjEtLjIgMC0uNCAwLS42IC4xLS43IC4xLTEuMyAuMi0yIC4yLS40IDAtLjggLjEtMS4yIC4xLS42IDAtMS4yIC4xLTEuOCAuMS0uNiAwLTEuMiAwLTEuOC0uMS0uNCAwLS44LS4xLTEuMi0uMS0uNy0uMS0xLjQtLjEtMi0uMi0uMiAwLS40IDAtLjYtLjEtLjIgMC0uMy0uMS0uNS0uMS0uOC0uMi0xLjYtLjMtMi4zLS41LS4zLS4xLS41LS4xLS44LS4yLS42LS4yLTEuMy0uNC0xLjktLjctLjUtLjItMS0uNC0xLjUtLjYtLjMtLjEtLjYtLjMtLjktLjQtLjctLjMtMS40LS43LTIuMS0xLS4yLS4xLS4zLS4yLS41LS4zLTIuNC0xLjQtNC43LTMuMS02LjYtNS4xLTIuNi0yLjYtNC44LTUuNy02LjQtOS4yLS4xLS4yLS4yLS4zLS4yLS41bC0uNS0xLjFjLS4xLS4zLS4yLS41LS4zLS44LS4yLS42LS41LTEuMi0uNy0xLjktLjEtLjItLjItLjUtLjItLjctLjItLjgtLjQtMS42LS41LTIuMyAwLS4xLS4xLS4zLS4xLS40TDE1NiAxMDIuMmMtNC0yMi4xLTIzLjItMzguMi00NS43LTM4LjItMjUuMyAwLTQ2LjQgMjEuMS00Ni40IDQ3IDAgMTIuNiA1IDI0LjggMTMuOCAzMy42bDguOCA4LjhjMTIuNSAxMi41IDEyLjUgMzIuOCAwIDQ1LjJzLTMyLjggMTIuNS00NS4yIDBsLTguOC04LjhDMTEuNiAxNjguOSAwIDE0MC4zIDAgMTExIDAgNTAuMyA0OS4xIDAgMTEwLjQgMCAxNjMuOCAwIDIwOS42IDM4LjMgMjE5IDkxbDM3IDIwNyAzNy0yMDdjOS40LTUyLjYgNTUuMi05MSAxMDguNy05MXoiXX0semdlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImJhcnMtcHJvZ3Jlc3MiLGljb246WzQ0OCw1MTIsWyJ0YXNrcy1hbHQiXSwiZjgyOCIsIk0yODggMTYwbDk2IDAgMC02NC05NiAwIDAgNjR6TTAgMTYwTDAgODBDMCA1My41IDIxLjUgMzIgNDggMzJsMzUyIDBjMjYuNSAwIDQ4IDIxLjUgNDggNDhsMCA5NmMwIDI2LjUtMjEuNSA0OC00OCA0OEw0OCAyMjRjLTI2LjUgMC00OC0yMS41LTQ4LTQ4bDAtMTZ6TTE2MCA0MTZsMjI0IDAgMC02NC0yMjQgMCAwIDY0ek0wIDQxNmwwLTgwYzAtMjYuNSAyMS41LTQ4IDQ4LTQ4bDM1MiAwYzI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgOTZjMCAyNi41LTIxLjUgNDgtNDggNDhMNDggNDgwYy0yNi41IDAtNDgtMjEuNS00OC00OGwwLTE2eiJdfSxUYWE9emdlLExhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoZWFydC1jaXJjbGUtY2hlY2siLGljb246WzU3Niw1MTIsW10sImU0ZmQiLCJNMjQxIDg3LjFsMTUgMjAuNyAxNS0yMC43QzI5NiA1Mi41IDMzNi4yIDMyIDM3OC45IDMyIDQ1Mi40IDMyIDUxMiA5MS42IDUxMiAxNjUuMWwwIDIuNmMwIDE3LjYtMy40IDM1LjYtOS41IDUzLjctMjEuOC04LjYtNDUuNi0xMy40LTcwLjUtMTMuNC0xMDYgMC0xOTIgODYtMTkyIDE5MiAwIDI4LjUgNi4yIDU1LjYgMTcuNCA4MC0uNSAwLS45IDAtMS40IDAtMTUuNSAwLTMwLjgtNC42LTQzLjEtMTQuMS03My01NS43LTIxMi45LTE4Ni0yMTIuOS0yOTguMmwwLTIuNkMwIDkxLjYgNTkuNiAzMiAxMzMuMSAzMiAxNzUuOCAzMiAyMTYgNTIuNSAyNDEgODcuMXpNMjg4IDQwMGExNDQgMTQ0IDAgMSAxIDI4OCAwIDE0NCAxNDQgMCAxIDEgLTI4OCAwem0yMDEuNC02MC45Yy03LjEtNS4yLTE3LjItMy42LTIyLjQgMy41bC01MyA3Mi45LTI2LjgtMjYuOGMtNi4yLTYuMi0xNi40LTYuMi0yMi42IDBzLTYuMiAxNi40IDAgMjIuNmw0MCA0MGMzLjMgMy4zIDcuOSA1IDEyLjYgNC42czguOS0yLjggMTEuNy02LjVsNjQtODhjNS4yLTcuMSAzLjYtMTcuMi0zLjUtMjIuM3oiXX0sQ2dlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6Im1hcnMtc3Ryb2tlLXJpZ2h0IixpY29uOls2NDAsNTEyLFs5ODk3LCJtYXJzLXN0cm9rZS1oIl0sImYyMmIiLCJNMzIwLjUgMjU2YTExMiAxMTIgMCAxIDAgLTIyNCAwIDExMiAxMTIgMCAxIDAgMjI0IDB6TTIwOC41IDgwYzg2LjMgMCAxNTguMSA2Mi4xIDE3My4xIDE0NC4xIDEtLjEgMS45LS4xIDIuOS0uMWwxNiAwIDAtMzJjMC0xNy43IDE0LjMtMzIgMzItMzJzMzIgMTQuMyAzMiAzMmwwIDMyIDYxLjQgMC0yMi40LTI4Yy0xMS0xMy44LTguOC0zMy45IDUtNDVzMzMuOS04LjggNDUgNWw2NCA4MGM5LjMgMTEuNyA5LjMgMjguMyAwIDQwbC02NCA4MGMtMTEgMTMuOC0zMS4yIDE2LTQ1IDVzLTE2LTMxLjItNS00NWwyMi40LTI4LTYxLjQgMCAwIDMyYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtMzItMTYgMGMtMSAwLTEuOSAwLTIuOS0uMS0xNSA4Mi04Ni44IDE0NC4xLTE3My4xIDE0NC4xLTk3LjIgMC0xNzYtNzguOC0xNzYtMTc2czc4LjgtMTc2IDE3Ni0xNzZ6Il19LCRhYT1DZ2UsRGFhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InRvd2VyLW9ic2VydmF0aW9uIixpY29uOls0NDgsNTEyLFtdLCJlNTg2IiwiTTIwOS43IDMuNGM5LTQuNSAxOS42LTQuNSAyOC42IDBsMTYwIDgwYzE1LjggNy45IDIyLjIgMjcuMSAxNC4zIDQyLjktNS42IDExLjItMTYuOSAxNy43LTI4LjYgMTcuN2wwIDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMybC0xMyAwIDMyIDE5MiA0NSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMycy0xNC4zIDMyLTMyIDMyTDMyIDUxMmMtMTcuNyAwLTMyLTE0LjMtMzItMzJzMTQuMy0zMiAzMi0zMmw0NSAwIDMyLTE5Mi0xMyAwYy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTgwYy0xMS43IDAtMjMtNi41LTI4LjYtMTcuNy03LjktMTUuOC0xLjUtMzUgMTQuMy00Mi45bDE2MC04MHpNMzEwLjcgNDQ4bC04Ni43LTYxLjktODYuNyA2MS45IDE3My40IDB6bS0xNTMtMTkybC0zLjUgMjEuMiA2OS45IDQ5LjkgNjkuOS00OS45LTMuNS0yMS4yLTEzMi43IDB6bS0xMi4zIDczLjlsLTEwLjEgNjAuNiA0Ny41LTMzLjktMzcuNC0yNi43em0xMTkuOSAyNi43bDQ3LjUgMzMuOS0xMC4xLTYwLjYtMzcuNCAyNi43ek0xNTIgMTI4Yy0xMy4zIDAtMjQgMTAuNy0yNCAyNHMxMC43IDI0IDI0IDI0bDE0NCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0xNDQgMHoiXX0sTXRlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InN0ZXJsaW5nLXNpZ24iLGljb246WzM4NCw1MTIsWzE2MywiZ2JwIiwicG91bmQtc2lnbiJdLCJmMTU0IiwiTTkxLjMgMjg4bC0zNC44IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjEuNCAwQzM3LjMgMTQ3LjMgMTA1LjEgNDIgMjA3LjYgNDJsOC4yIDBjMzMuNiAwIDY2LjIgMTEuMyA5Mi41IDMyLjJsMTYuMSAxMi43YzEzLjkgMTEgMTYuMiAzMS4xIDUuMiA0NXMtMzEuMSAxNi4yLTQ1IDUuMmwtMTYuMS0xMi43Yy0xNS0xMS45LTMzLjYtMTguNC01Mi44LTE4LjRsLTguMiAwYy01Ny4zIDAtOTQuNyA1OS45LTY5LjcgMTExLjQgMy42IDcuNCA2LjYgMTQuOSA5LjEgMjIuNmwxNDkuNSAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNDEuMiAwYzEgMzUuMy04LjcgNzAuNi0yOC45IDEwMC45bC0xOC4xIDI3LjEgMjEyLjIgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMjcyIDBjLTExLjggMC0yMi42LTYuNS0yOC4yLTE2LjlzLTUtMjMgMS42LTMyLjlsNTEuMi03Ni44YzEzLjEtMTkuNiAxOS4yLTQyLjYgMTguMi02NS40eiJdfSxBYWE9TXRlLEVhYT1NdGUsUGFhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImZhdWNldC1kcmlwIixpY29uOls1MTIsNTEyLFsxMjg2ODhdLCJlMDA2IiwiTTIyNCAzMmMtMTcuNyAwLTMyIDE0LjMtMzIgMzJMOTYgNjRDNzguMyA2NCA2NCA3OC4zIDY0IDk2czE0LjMgMzIgMzIgMzJsOTYgMCAwIDY0LTE4LjcgMGMtOC41IDAtMTYuNiAzLjQtMjIuNiA5LjRMMTI4IDIyNCAzMiAyMjRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMTAwLjEgMGMyMC4yIDI5IDUzLjkgNDggOTEuOSA0OHM3MS43LTE5IDkxLjktNDhsMzYuMSAwYzE3LjcgMCAzMiAxNC4zIDMyIDMyczE0LjMgMzIgMzIgMzJsNjQgMGMxNy43IDAgMzItMTQuMyAzMi0zMiAwLTg4LjQtNzEuNi0xNjAtMTYwLTE2MGwtMzIgMC0yMi42LTIyLjZjLTYtNi0xNC4xLTkuNC0yMi42LTkuNGwtMTguNyAwIDAtNjQgOTYgMGMxNy43IDAgMzItMTQuMyAzMi0zMnMtMTQuMy0zMi0zMi0zMmwtOTYgMGMwLTE3LjctMTQuMy0zMi0zMi0zMnpNNDM2LjggNDU1LjRsLTE4LjIgNDIuNGMtMS44IDQuMS0yLjcgOC42LTIuNyAxMy4xbDAgMS4yYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC0xLjJjMC00LjUtLjktOC45LTIuNy0xMy4xbC0xOC4yLTQyLjRjLTEuOS00LjUtNi4zLTcuNC0xMS4yLTcuNHMtOS4yIDIuOS0xMS4yIDcuNHoiXX0sbXY9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2lyY2xlLWluZm8iLGljb246WzUxMiw1MTIsWyJpbmZvLWNpcmNsZSJdLCJmMDVhIiwiTTI1NiA1MTJhMjU2IDI1NiAwIDEgMCAwLTUxMiAyNTYgMjU2IDAgMSAwIDAgNTEyek0yMjQgMTYwYTMyIDMyIDAgMSAxIDY0IDAgMzIgMzIgMCAxIDEgLTY0IDB6bS04IDY0bDQ4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRsMCA4OCA4IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTgwIDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMjQgMCAwLTY0LTI0IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LElhYT1tdixOYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmVhdGhlciIsaWNvbjpbNTEyLDUxMixbMTI5NzE4XSwiZjUyZCIsIk0zNTIgMGM0MSAwIDgwLjMgMTYuMyAxMDkuMiA0NS4ybDUuNSA1LjVjMjkgMjkgNDUuMyA2OC4zIDQ1LjMgMTA5LjIgMCAyNC4xLTUuNyA0Ny42LTE2LjIgNjguOC0xLjkgMy43LTUuMyA2LjUtOS4zIDcuN0wzNzQuNSAyNzBjLTMuOSAxLjItNi41IDQuNy02LjUgOC44IDAgNS4xIDQuMSA5LjIgOS4yIDkuMmwzMi4yIDBjMTQuMyAwIDIxLjQgMTcuMiAxMS4zIDI3LjNsLTIyLjQgMjIuNGMtMS45IDEuOS00LjIgMy4yLTYuNyA0bC04MSAyNC4zYy0zLjkgMS4yLTYuNSA0LjctNi41IDguOCAwIDUuMSA0LjEgOS4yIDkuMiA5LjIgMTMuMiAwIDE4LjkgMTUuNyA3LjggMjIuOS00MS4xIDI2LjYtODkuMyA0MS4xLTEzOSA0MS4xbC04NiAwLTQ4IDQ4Yy04LjggOC44LTIzLjIgOC44LTMyIDBzLTguOC0yMy4yIDAtMzJMMjU2IDIyNGM4LjgtOC44IDguOC0yMy4yIDAtMzJzLTIzLjItOC44LTMyIDBMNzkuNSAzMzYuNWMtNS43IDUuNy0xNS41IDEuNy0xNS41LTYuNCAwLTY3LjkgMjctMTMzIDc1LTE4MUwyNDIuOCA0NS4yQzI3MS43IDE2LjMgMzExIDAgMzUyIDB6Il19LFJhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJib3dsLXJpY2UiLGljb246WzUxMiw1MTIsW10sImUyZWIiLCJNMTc2IDQwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0em0yNCA0OGwxNiAwYzEzLjMgMCAyNCAxMC43IDI0IDI0cy0xMC43IDI0LTI0IDI0bC0xNiAwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0ek01NiAxNjBsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMCAyODMuNEMwIDI2OC4zIDEyLjMgMjU2IDI3LjQgMjU2bDQ1Ny4xIDBjMTUuMSAwIDI3LjQgMTIuMyAyNy40IDI3LjQgMCA3MC41LTQ0LjQgMTMwLjctMTA2LjcgMTU0LjFMNDAzLjUgNDUyYy0yIDE2LTE1LjYgMjgtMzEuOCAyOGwtMjMxLjUgMGMtMTYuMSAwLTI5LjgtMTItMzEuOC0yOGwtMS44LTE0LjRDNDQuNCA0MTQuMSAwIDM1My45IDAgMjgzLjR6TTIyNCAxODRjMC0xMy4zIDEwLjctMjQgMjQtMjRsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjR6bS05NiAwYzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0xMDQgODhsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMjE2IDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0yOTYgODhsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHptMTIwIDk2YzAtMTMuMyAxMC43LTI0IDI0LTI0bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0ek0zOTIgODhsMTYgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNGwtMTYgMGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNHpNMjk2IDE2bDE2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTE2IDBjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6Il19LF9nZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzdGFyLWhhbGYtc3Ryb2tlIixpY29uOls1NzYsNTEyLFsic3Rhci1oYWxmLWFsdCJdLCJmNWMwIiwiTTI4OC4xIDM1My42YzEwIDAgMTkuOSAyLjMgMjkgN2w3NC40IDM3LjktMTMtODIuNWMtMy4yLTIwLjIgMy41LTQwLjcgMTcuOS01NS4ybDU5LTU5LjEtODIuNS0xMy4xYy0yMC4yLTMuMi0zNy43LTE1LjktNDctMzQuMWwtMzgtNzQuNCAwIDI3My42ek00NTcuNCA0ODljLTcuMyA1LjMtMTcgNi4xLTI1IDJMMjg4LjEgNDE3LjYgMTQzLjggNDkxYy04IDQuMS0xNy43IDMuMy0yNS0ycy0xMS0xNC4yLTkuNi0yMy4yTDEzNC40IDMwNS45IDIwIDE5MS40Yy02LjQtNi40LTguNi0xNS44LTUuOC0yNC40czEwLjEtMTQuOSAxOS4xLTE2LjNsMTU5LjktMjUuNCA3My42LTE0NC4yYzQuMS04IDEyLjQtMTMuMSAyMS40LTEzLjFzMTcuMyA1LjEgMjEuNCAxMy4xTDM4MyAxMjUuMyA1NDIuOSAxNTAuN2M4LjkgMS40IDE2LjMgNy43IDE5LjEgMTYuM3MuNSAxOC01LjggMjQuNEw0NDEuNyAzMDUuOSA0NjcgNDY1LjhjMS40IDguOS0yLjMgMTcuOS05LjYgMjMuMnoiXX0sT2FhPV9nZSxUZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToidGVtcGVyYXR1cmUtYXJyb3ctZG93biIsaWNvbjpbNTEyLDUxMixbInRlbXBlcmF0dXJlLWRvd24iXSwiZTAzZiIsIk02NC41IDk2YzAtNTMgNDMtOTYgOTYtOTZzOTYgNDMgOTYgOTZsMCAxNjQuN2MyOS41IDI2LjQgNDggNjQuNyA0OCAxMDcuMyAwIDc5LjUtNjQuNSAxNDQtMTQ0IDE0NHMtMTQ0LTY0LjUtMTQ0LTE0NGMwLTQyLjYgMTguNS04MSA0OC0xMDcuM0w2NC41IDk2em05NiAzMzZjMzUuMyAwIDY0LTI4LjcgNjQtNjQgMC0yNi45LTE2LjUtNDkuOS00MC01OS4zbDAtMjguN2MwLTEzLjMtMTAuNy0yNC0yNC0yNHMtMjQgMTAuNy0yNCAyNGwwIDI4LjdjLTIzLjUgOS41LTQwIDMyLjUtNDAgNTkuMyAwIDM1LjMgMjguNyA2NCA2NCA2NHpNNDM5LjEgMzEwLjZjLTYgNi0xNC4xIDkuNC0yMi42IDkuNHMtMTYuNi0zLjQtMjIuNi05LjRsLTY0LTY0Yy0xMi41LTEyLjUtMTIuNS0zMi44IDAtNDUuM3MzMi44LTEyLjUgNDUuMyAwbDkuNCA5LjQgMC0xNzguN2MwLTE3LjcgMTQuMy0zMiAzMi0zMnMzMiAxNC4zIDMyIDMybDAgMTc4LjcgOS40LTkuNGMxMi41LTEyLjUgMzIuOC0xMi41IDQ1LjMgMHMxMi41IDMyLjggMCA0NS4zbC02NCA2NHoiXX0sRmFhPVRnZSxCYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToibWFzay12ZW50aWxhdG9yIixpY29uOls2NDAsNTEyLFtdLCJlNTI0IiwiTTE1Mi4yIDE5MmMtMTUuNCAzOC4zLTI0LjIgNzcuMi0yNC4yIDEwOC44IDAgMTMuMyAxLjUgMjYuMiA0LjQgMzguN2wtMTctMy40Yy0yOS45LTYtNTEuNC0zMi4yLTUxLjQtNjIuOGwwLTgxLjMgODguMiAwem0zMi45LTY0TDY0IDEyOGMtMzUuMyAwLTY0IDI4LjctNjQgNjRsMCA4MS4zYzAgNjEgNDMuMSAxMTMuNSAxMDIuOSAxMjUuNWw2Ni4zIDEzLjNjMTguNyAyMi4xIDQyLjkgNDAgNzAuOCA1MS44bDAtODcuOGMtMTAuMS0xNC4yLTE2LTMxLjMtMTYtNDkuNyAwLTQ5LjUgNDMtMTM0LjQgOTYtMTM0LjQgNTIuNSAwIDk2IDg0LjkgOTYgMTM0LjQgMCAxOC40LTUuOSAzNS40LTE2IDQ5LjZsMCA4Ny43YzI3LjYtMTEuOCA1MS43LTI5LjYgNzAuNC01MS42bDY2LjctMTMuM2M1OS44LTEyIDEwMi45LTY0LjUgMTAyLjktMTI1LjVsMC04MS4zYzAtMzUuMy0yOC43LTY0LTY0LTY0bC0xMjEuNSAwYy0zNC44LTU0LjItODIuNS05Ni0xMzQuNS05Ni01Mi42IDAtMTAwLjIgNDEuOC0xMzQuOSA5NnptMzAyLjUgNjRsODguNCAwIDAgODEuM2MwIDMwLjUtMjEuNSA1Ni44LTUxLjQgNjIuOGwtMTcgMy40YzIuOS0xMi40IDQuNS0yNS40IDQuNS0zOC43IDAtMzEuNi04LjktNzAuNS0yNC40LTEwOC44ek0yODggMzIwbDAgMTkyIDY0IDAgMC0xOTJjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJ6Il19LEhhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJmaWxlLXZpZGVvIixpY29uOlszODQsNTEyLFtdLCJmMWM4IiwiTTAgNjRDMCAyOC43IDI4LjcgMCA2NCAwTDIxMy41IDBjMTcgMCAzMy4zIDYuNyA0NS4zIDE4LjdMMzY1LjMgMTI1LjNjMTIgMTIgMTguNyAyOC4zIDE4LjcgNDUuM0wzODQgNDQ4YzAgMzUuMy0yOC43IDY0LTY0IDY0TDY0IDUxMmMtMzUuMyAwLTY0LTI4LjctNjQtNjRMMCA2NHptMjA4LTUuNWwwIDkzLjVjMCAxMy4zIDEwLjcgMjQgMjQgMjRMMzI1LjUgMTc2IDIwOCA1OC41ek04MCAzMDRsMCA5NmMwIDE3LjcgMTQuMyAzMiAzMiAzMmw5NiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMybDAtMjQgMzUgMzVjMy4yIDMuMiA3LjUgNSAxMiA1IDkuNCAwIDE3LTcuNiAxNy0xN2wwLTk0LjFjMC05LjQtNy42LTE3LTE3LTE3LTQuNSAwLTguOCAxLjgtMTIgNWwtMzUgMzUgMC0yNGMwLTE3LjctMTQuMy0zMi0zMi0zMmwtOTYgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6Il19LHFhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJhcnJvdy10cmVuZC1kb3duIixpY29uOls1NzYsNTEyLFtdLCJlMDk3IiwiTTM4NCAzNTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTYwIDBjMTcuNyAwIDMyLTE0LjMgMzItMzJsMC0xNjBjMC0xNy43LTE0LjMtMzItMzItMzJzLTMyIDE0LjMtMzIgMzJsMCA4Mi43LTE2OS40LTE2OS40Yy0xMi41LTEyLjUtMzIuOC0xMi41LTQ1LjMgMEwxOTIgMjQyLjcgNTQuNiAxMDUuNGMtMTIuNS0xMi41LTMyLjgtMTIuNS00NS4zIDBzLTEyLjUgMzIuOCAwIDQ1LjNsMTYwIDE2MGMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMEwzMjAgMjA1LjMgNDY2LjcgMzUyIDM4NCAzNTJ6Il19LFZhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJvaWwtY2FuIixpY29uOls2NDAsNTEyLFtdLCJmNjEzIiwiTTMyMCAxMjhjMTcuNyAwIDMyLTE0LjMgMzItMzJzLTE0LjMtMzItMzItMzJMMTkyIDY0Yy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDMyIDAgMCAzMi0xNzYgMGMtMjYuNSAwLTQ4IDIxLjUtNDggNDhsMCA2NC44YzAgMTkgMTEuMiAzNi4yIDI4LjUgNDMuOWw2Ny41IDMwIDAgMjEuM2MwIDI2LjUgMjEuNSA0OCA0OCA0OGwyNTkuMSAwYzE4LjQgMCAzNS44LTcuOSA0OC0yMS43TDYzMy41IDE4Ny43YzEyLjMtMTMuOS0uMy0zNS40LTE4LjQtMzEuNUw0NDggMTkyIDM5Ny41IDE2Ni44Yy04LjktNC40LTE4LjctNi44LTI4LjYtNi44bC04MC45IDAgMC0zMiAzMiAwek05NiAyMDhsMCA4Ni4xLTQ4LTIxLjMgMC02NC44IDQ4IDB6Il19LExnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJwZW9wbGUtY2FycnktYm94IixpY29uOls1NzYsNTEyLFsicGVvcGxlLWNhcnJ5Il0sImY0Y2UiLCJNNjQtMzJBNTYgNTYgMCAxIDEgNjQgODAgNTYgNTYgMCAxIDEgNjQtMzJ6TTAgMTcxLjFjMC0zMi42IDI2LjUtNTkuMSA1OS4xLTU5LjEgMjMuNSAwIDQ1LjUgMTEuMyA1OS4xIDMwLjRsNDguNyA2OC4yYzUuOCA4LjIgMTUuMSAxMy4xIDI1LjEgMTMuNGwwLTk2YzAtMTcuNyAxNC4zLTMyIDMyLTMybDEyOCAwYzE3LjcgMCAzMiAxNC4zIDMyIDMybDAgOTZjMTAtLjMgMTkuMy01LjIgMjUuMS0xMy40bDQ4LjctNjguMmMxMy42LTE5LjEgMzUuNi0zMC40IDU5LjEtMzAuNCAzMi42IDAgNTkuMSAyNi41IDU5LjEgNTkuMUw1NzYgMjcyYzAgMzAuMi0xNC4yIDU4LjctMzguNCA3Ni44bC03Ni44IDU3LjZjLTguMSA2LTEyLjggMTUuNS0xMi44IDI1LjZsMCA4MGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTgwYzAtMzAuMiAxNC4yLTU4LjcgMzguNC03Ni44bDQxLjYtMzEuMiAwLTgwLjEtMi44IDMuOWMtMTggMjUuMi00Ny4xIDQwLjItNzguMSA0MC4yTDM1MiAyODhjLS42IDAtMS4zIDAtMS45LS4xLS42IDAtMS4zIC4xLTEuOSAuMWwtMTIwLjQgMGMtLjYgMC0xLjMgMC0xLjktLjEtLjYgMC0xLjMgLjEtMS45IC4xbC0zMS4xIDBjLTMxIDAtNjAuMS0xNS03OC4xLTQwLjJsLTIuOC0zLjkgMCA4MC4xIDQxLjYgMzEuMkMxNzcuOCAzNzMuMyAxOTIgNDAxLjggMTkyIDQzMmwwIDgwYzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtODBjMC0xMC4xLTQuNy0xOS42LTEyLjgtMjUuNkwzOC40IDM0OC44QzE0LjIgMzMwLjcgMCAzMDIuMiAwIDI3MkwwIDE3MS4xek0wIDM3OS4zYzMuMSAyLjcgNi4zIDUuNCA5LjYgNy45TDY0IDQyOCA2NCA1MTJjMCAxNy43LTE0LjMgMzItMzIgMzJTMCA1MjkuNyAwIDUxMkwwIDM3OS4zek01NjggMjRhNTYgNTYgMCAxIDEgLTExMiAwIDU2IDU2IDAgMSAxIDExMiAwem04IDQ4OGMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTg0IDU0LjQtNDAuOGMzLjMtMi41IDYuNS01LjEgOS42LTcuOUw1NzYgNTEyeiJdfSxqYWE9TGdlLFVhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJjaGFpciIsaWNvbjpbNDQ4LDUxMixbMTI5NjgxXSwiZjZjMCIsIk0xNTIgMjU2bDAtMTgxLjhjLTI0LjUgMjAuNS00MCA1MS40LTQwIDg1LjhsMCA5NiA0MCAwem00OCAwbDQ4IDAgMC0yMDUuNGMtNy43LTEuNy0xNS44LTIuNi0yNC0yLjZzLTE2LjMgLjktMjQgMi42TDIwMCAyNTZ6TTI5NiA3NC4ybDAgMTgxLjggNDAgMCAwLTk2YzAtMzQuNC0xNS41LTY1LjItNDAtODUuOHpNMzIgMjU2bDMyIDAgMC05NkM2NCA3MS42IDEzNS42IDAgMjI0IDBTMzg0IDcxLjYgMzg0IDE2MGwwIDk2IDMyIDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCA2NGMwIDE3LjctMTQuMyAzMi0zMiAzMmwwIDk2YzAgMTcuNy0xNC4zIDMyLTMyIDMycy0zMi0xNC4zLTMyLTMybDAtOTYtMjU2IDAgMCA5NmMwIDE3LjctMTQuMyAzMi0zMiAzMnMtMzItMTQuMy0zMi0zMmwwLTk2Yy0xNy43IDAtMzItMTQuMy0zMi0zMmwwLTY0YzAtMTcuNyAxNC4zLTMyIDMyLTMyeiJdfSxXYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToid2luZCIsaWNvbjpbNTEyLDUxMixbXSwiZjcyZSIsIk0yODggMzJjMCAxNy43IDE0LjMgMzIgMzIgMzJsNDAgMGMxMy4zIDAgMjQgMTAuNyAyNCAyNHMtMTAuNyAyNC0yNCAyNEwzMiAxMTJjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMzI4IDBjNDguNiAwIDg4LTM5LjQgODgtODhTNDA4LjYgMCAzNjAgMEwzMjAgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6bTY0IDM1MmMwIDE3LjcgMTQuMyAzMiAzMiAzMmwzMiAwYzUzIDAgOTYtNDMgOTYtOTZzLTQzLTk2LTk2LTk2TDMyIDIyNGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJzMTQuMyAzMiAzMiAzMmwzODQgMGMxNy43IDAgMzIgMTQuMyAzMiAzMnMtMTQuMyAzMi0zMiAzMmwtMzIgMGMtMTcuNyAwLTMyIDE0LjMtMzIgMzJ6TTEyOCA1MTJsNDAgMGM0OC42IDAgODgtMzkuNCA4OC04OHMtMzkuNC04OC04OC04OEwzMiAzMzZjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJsMTM2IDBjMTMuMyAwIDI0IDEwLjcgMjQgMjRzLTEwLjcgMjQtMjQgMjRsLTQwIDBjLTE3LjcgMC0zMiAxNC4zLTMyIDMyczE0LjMgMzIgMzIgMzJ6Il19LEdhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJsYXllci1ncm91cCIsaWNvbjpbNTEyLDUxMixbXSwiZjVmZCIsIk0yMzIuNSA1LjJjMTQuOS02LjkgMzIuMS02LjkgNDcgMGwyMTguNiAxMDFjOC41IDMuOSAxMy45IDEyLjQgMTMuOSAyMS44cy01LjQgMTcuOS0xMy45IDIxLjhsLTIxOC42IDEwMWMtMTQuOSA2LjktMzIuMSA2LjktNDcgMEwxMy45IDE0OS44QzUuNCAxNDUuOCAwIDEzNy4zIDAgMTI4czUuNC0xNy45IDEzLjktMjEuOEwyMzIuNSA1LjJ6TTQ4LjEgMjE4LjRsMTY0LjMgNzUuOWMyNy43IDEyLjggNTkuNiAxMi44IDg3LjMgMGwxNjQuMy03NS45IDM0LjEgMTUuOGM4LjUgMy45IDEzLjkgMTIuNCAxMy45IDIxLjhzLTUuNCAxNy45LTEzLjkgMjEuOGwtMjE4LjYgMTAxYy0xNC45IDYuOS0zMi4xIDYuOS00NyAwTDEzLjkgMjc3LjhDNS40IDI3My44IDAgMjY1LjMgMCAyNTZzNS40LTE3LjkgMTMuOS0yMS44bDM0LjEtMTUuOHpNMTMuOSAzNjIuMmwzNC4xLTE1LjggMTY0LjMgNzUuOWMyNy43IDEyLjggNTkuNiAxMi44IDg3LjMgMGwxNjQuMy03NS45IDM0LjEgMTUuOGM4LjUgMy45IDEzLjkgMTIuNCAxMy45IDIxLjhzLTUuNCAxNy45LTEzLjkgMjEuOGwtMjE4LjYgMTAxYy0xNC45IDYuOS0zMi4xIDYuOS00NyAwTDEzLjkgNDA1LjhDNS40IDQwMS44IDAgMzkzLjMgMCAzODRzNS40LTE3LjkgMTMuOS0yMS44eiJdfSxZYWE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGVhZC1zaWRlLW1hc2siLGljb246WzUxMiw1MTIsW10sImUwNjMiLCJNNDQ1LjkgMTkzYy0uMS0uNC0uMi0uOS0uMi0xLjMtMTUuNy0xMDguNC0xMDguOS0xOTEuNy0yMjEuNy0xOTEuNy04NSAwLTE1OSA0Ny40LTE5Ni45IDExNy4yTDI4My4zIDI4OCA0NTYgMjg4IDQ0Mi45IDMzNiAzMzYgMzM2Yy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDk4LjIgMC04LjcgMzItODkuNSAwYy04LjggMC0xNiA3LjItMTYgMTZzNy4yIDE2IDE2IDE2bDgwLjYgMGMtNi43IDE5LjEtMjQuOCAzMi00NS4zIDMyTDI4OCA0NjRjLTE3LjcgMC0zMi0xNC4zLTMyLTMybDAtMTA0LjUtMjQ3LjUtMTY1QzMgMTgyLjEgMCAyMDIuNyAwIDIyNCAwIDI3OCAxOS4xIDMyNy41IDUwLjkgMzY2LjIgNTguOSAzNzUuOSA2NCAzODcuOCA2NCA0MDAuNEw2NCA0NjRjMCAyNi41IDIxLjUgNDggNDggNDhsMTI3LjMgMCAuNyAwIDEzMS4zIDBjNDQuOSAwIDgzLjgtMzEuMSA5My42LTc0LjlsMzMuOS0xNTAuM2MzLjMtMTQuNC0uMy0yOS41LTkuNy00MUw0NDUuOSAxOTN6TTI4OCAxOTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHoiXX0sa3RlPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhhbmRzIixpY29uOls1MTIsNTEyLFsic2lnbi1sYW5ndWFnZSIsInNpZ25pbmciXSwiZjJhNyIsIk01MTIgMTYwbC0uMSA3Mi42YzAgNDQuOC0xNy42IDg3LjEtNDcuOSAxMTguNC0uMy03Ny00MC4xLTE0OC40LTEwNS40LTE4OS4zbC0xLjktMS4yYzIuNS0zLjcgMi44LTguNiAuNC0xMi43bC02Mi0xMDcuNGMtNi42LTExLjUtMi43LTI2LjIgOC44LTMyLjhTMzMwIDUgMzM2LjYgMTYuNWw2OCAxMTcuOCAwIDAgMCAwIDQzLjMgNzUgLjEtNDkuM2MwLTE3LjcgMTQuNC0zMiAzMi0zMnMzMiAxNC40IDMyIDMyek0yOTguNCAxMjQuMmMtMTQuMS04LjgtMjkuOC0xMi43LTQ1LjItMTIuMUwyMTYuNyA0OC44Yy02LjYtMTEuNS0yLjctMjYuMiA4LjgtMzIuOHMyNi4yLTIuNyAzMi44IDguOGw2Ny4xIDExNi4yLTI3LTE2Ljl6TTIxMS45IDg4LjVsMTYuNCAyOC40Yy0xNS4xIDUuNS0yOC42IDE1LjYtMzguMyAyOS43bC0xOS43LTM0LjJjLTYuNi0xMS41LTIuNy0yNi4yIDguOC0zMi44czI2LjItMi43IDMyLjggOC44em0tNDYuNCA2My43bDEyLjUgMjEuN2MtMiA4LjYtMi41IDE3LjUtMS43IDI2LjFsLTQuMyAwIDAgMC0zNC40IDAtMTMuNy0yMy44Yy02LjYtMTEuNS0yLjctMjYuMiA4LjgtMzIuOHMyNi4yLTIuNyAzMi44IDguOHpNMjI4LjkgMTc1YzkuNC0xNSAyOS4xLTE5LjUgNDQuMS0xMC4ybDYwLjIgMzcuNkMzODQuNyAyMzQuNyA0MTYgMjkxLjIgNDE2IDM1MmwwIDhjMCA4My45LTY4LjEgMTUyLTE1MiAxNTJMODggNTEyYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDkyIDBjNi42IDAgMTItNS40IDEyLTEycy01LjQtMTItMTItMTJMNTYgNDQwYy0xMy4zIDAtMjQtMTAuNy0yNC0yNHMxMC43LTI0IDI0LTI0bDEyNCAwYzYuNiAwIDEyLTUuNCAxMi0xMnMtNS40LTEyLTEyLTEyTDI0IDM2OGMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGwxNTYgMGM2LjYgMCAxMi01LjQgMTItMTJzLTUuNC0xMi0xMi0xMkw1NiAyOTZjLTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjRsMTM2IDAgMCAwIDAgMCA5My4yIDAtNDYuMi0yOC45Yy0xNS05LjQtMTkuNS0yOS4xLTEwLjItNDQuMXoiXX0sS2FhPWt0ZSxaYWE9a3RlLFhhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZXRzIixpY29uOls1MTIsNTEyLFtdLCJmNDkwIiwiTTQ5NS4zIDc2LjZjLTQuNi04LjctMTYuMy05LjctMjMuMy0yLjdMMjk3LjkgMjQ4Yy03IDctNiAxOC43IDIuNyAyMy4zIDIwLjEgMTAuNyA0MyAxNi43IDY3LjQgMTYuNyA3OS41IDAgMTQ0LTY0LjUgMTQ0LTE0NCAwLTI0LjMtNi00Ny4zLTE2LjctNjcuNHpNMjQwLjcgMjExLjRjNC42IDguNyAxNi4zIDkuNyAyMy4zIDIuN0w0MzguMSA0MGM3LTcgNi0xOC43LTIuNy0yMy4zLTIwLjEtMTAuNy00My0xNi43LTY3LjQtMTYuNy03OS41IDAtMTQ0IDY0LjUtMTQ0IDE0NCAwIDI0LjMgNiA0Ny4zIDE2LjcgNjcuNHpNMTQ0IDIyNEM3OS4yIDIyNCAyNC40IDI2Ni44IDYuMyAzMjUuNiAzLjQgMzM1LjEgMTEgMzQ0IDIwLjkgMzQ0bDI0Ni4yIDBjOS45IDAgMTcuNS04LjkgMTQuNi0xOC40LS45LTMtMS45LTUuOS0zLTguNy0zNy40LTE4LjEtNjgtNDgtODctODQuOC0xNC45LTUuMi0zMC45LTguMS00Ny42LTguMXpNMjgxLjcgNDEwLjRjMi45LTkuNS00LjctMTguNC0xNC42LTE4LjRMMjAuOSAzOTJDMTEgMzkyIDMuNCA0MDAuOSA2LjMgNDEwLjQgMjQuNCA0NjkuMiA3OS4yIDUxMiAxNDQgNTEyczExOS42LTQyLjggMTM3LjctMTAxLjZ6Il19LFFhYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ3ZWlnaHQtaGFuZ2luZyIsaWNvbjpbNTEyLDUxMixbXSwiZjVjZCIsIk0yMjQgOTZhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTIyLjUgMzJjMy41LTEwIDUuNS0yMC44IDUuNS0zMiAwLTUzLTQzLTk2LTk2LTk2cy05NiA0My05NiA5NmMwIDExLjIgMS45IDIyIDUuNSAzMmwtMjEuOCAwYy0yOC4zIDAtNTMuMiAxOC41LTYxLjMgNDUuNkwyLjQgNDQwLjJDLjggNDQ1LjQgMCA0NTAuOCAwIDQ1Ni4yIDAgNDg3IDI1IDUxMiA1NS44IDUxMmw0MDAuNCAwYzMwLjggMCA1NS44LTI1IDU1LjgtNTUuOCAwLTUuNC0uOC0xMC44LTIuNC0xNmwtODAtMjY2LjVjLTguMS0yNy4xLTMzLTQ1LjYtNjEuMy00NS42bC0yMS44IDB6Il19LEphYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJkaWNlIixpY29uOls1MTIsNTEyLFsxMjc5MjJdLCJmNTIyIiwiTTE0MS40IDIuM0MxMDMtOCA2My41IDE0LjggNTMuMyA1My4yTDIuNSAyNDIuN0MtNy44IDI4MS4xIDE1IDMyMC42IDUzLjQgMzMwLjlsMTg5LjUgNTAuOGMzOC40IDEwLjMgNzcuOS0xMi41IDg4LjItNTAuOWw1MC44LTE4OS41YzEwLjMtMzguNC0xMi41LTc3LjktNTAuOS04OC4yTDE0MS40IDIuM3ptMjMgMjA1LjdhMzIgMzIgMCAxIDEgNTUuNC0zMiAzMiAzMiAwIDEgMSAtNTUuNCAzMnpNNzkuMiAyMjAuM2EzMiAzMiAwIDEgMSAzMiA1NS40IDMyIDMyIDAgMSAxIC0zMi01NS40em0xODUgOTYuNGEzMiAzMiAwIDEgMSAtMzItNTUuNCAzMiAzMiAwIDEgMSAzMiA1NS40em05LTIwOC40YTMyIDMyIDAgMSAxIDMyIDU1LjQgMzIgMzIgMCAxIDEgLTMyLTU1LjR6bS0xMjEgMTQuNGEzMiAzMiAwIDEgMSAtMzItNTUuNCAzMiAzMiAwIDEgMSAzMiA1NS40ek00MTggMTkyTDM3Ny40IDM0My4yYy0xNy4yIDY0LTgzIDEwMi0xNDcgODQuOWwtMzguMy0xMC4zIDAgMzAuMmMwIDM1LjMgMjguNyA2NCA2NCA2NGwxOTIgMGMzNS4zIDAgNjQtMjguNyA2NC02NGwwLTE5MmMwLTM1LjMtMjguNy02NC02NC02NEw0MTggMTkyeiJdfSwkZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hvcC1zbGFzaCIsaWNvbjpbNTc2LDUxMixbInN0b3JlLWFsdC1zbGFzaCJdLCJlMDcwIiwiTTQxLTI0LjljLTkuNC05LjQtMjQuNi05LjQtMzMuOSAwUy0yLjMtLjMgNyA5LjFsNTI4IDUyOGM5LjQgOS40IDI0LjYgOS40IDMzLjkgMHM5LjQtMjQuNiAwLTMzLjlsLTU3LTU3IDAtMTkwLjNjMjYuOC0xLjkgNDgtMjQuMyA0OC01MS42IDAtOC0xLjktMTYtNS41LTIzLjJMNDk3LjcgNjcuNEM0ODYuOCA0NS43IDQ2NC43IDMyIDQ0MC40IDMyTDEzNS42IDMyYy0xMC43IDAtMjEgMi43LTMwLjIgNy42TDQxLTI0Ljl6TTMyMS44IDI1Nkw0NDggMjU2IDQ0OCAzODIuMiAzMjEuOCAyNTZ6TTM1MiA0MjEuOGwtNjQtNjQgMCAxMC4yYzAgOC44LTcuMiAxNi0xNiAxNmwtMTI4IDBjLTguOCAwLTE2LTcuMi0xNi0xNmwwLTExMiA1OC4yIDAtMTM0LjgtMTM0LjgtMjkuOSA1OS45Yy0zLjYgNy4yLTUuNSAxNS4xLTUuNSAyMy4yIDAgMjcuMyAyMS4yIDQ5LjcgNDggNTEuNkw2NCA0MzJjMCAyNi41IDIxLjUgNDggNDggNDhsMTkyIDBjMjYuNSAwIDQ4LTIxLjUgNDgtNDhsMC0xMC4yeiJdfSxlcmE9JGdlLERnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJzb3J0LWRvd24iLGljb246WzM4NCw1MTIsWyJzb3J0LWRlc2MiXSwiZjBkZCIsIk0zMiAyODhjLTEyLjkgMC0yNC42IDcuOC0yOS42IDE5LjhTLjIgMzMzLjUgOS40IDM0Mi42bDE2MCAxNjBjMTIuNSAxMi41IDMyLjggMTIuNSA0NS4zIDBsMTYwLTE2MGM5LjItOS4yIDExLjktMjIuOSA2LjktMzQuOVMzNjQuOSAyODggMzUyIDI4OEwzMiAyODh6Il19LHRyYT1EZ2UsYXJhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InBlc2V0YS1zaWduIixpY29uOls0NDgsNTEyLFtdLCJlMjIxIiwiTTExMiAzMkM5NC4zIDMyIDgwIDQ2LjMgODAgNjRsMCAxMDQtMjQgMGMtMTMuMyAwLTI0IDEwLjctMjQgMjRzMTAuNyAyNCAyNCAyNGwyNCAwIDAgMjMyYzAgMTcuNyAxNC4zIDMyIDMyIDMyczMyLTE0LjMgMzItMzJsMC05NiA5NiAwYzgwLjIgMCAxNDYuNi01OSAxNTguMi0xMzZsMjUuOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC0yNS44IDBDMzg2LjYgOTEgMzIwLjIgMzIgMjQwIDMyTDExMiAzMnpNMzMzIDE2OGwtMTg5IDAgMC03MiA5NiAwYzQ0LjcgMCA4Mi4zIDMwLjYgOTMgNzJ6TTE0NCAyMTZsMTg5IDBjLTEwLjcgNDEuNC00OC4yIDcyLTkzIDcybC05NiAwIDAtNzJ6Il19LEFnZT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJ0YWJsZXQtc2NyZWVuLWJ1dHRvbiIsaWNvbjpbNDQ4LDUxMixbInRhYmxldC1hbHQiXSwiZjNmYSIsIk0wIDY0QzAgMjguNyAyOC43IDAgNjQgMEwzODQgMGMzNS4zIDAgNjQgMjguNyA2NCA2NGwwIDM4NGMwIDM1LjMtMjguNyA2NC02NCA2NEw2NCA1MTJjLTM1LjMgMC02NC0yOC43LTY0LTY0TDAgNjR6TTI1NiA0MzJhMzIgMzIgMCAxIDAgLTY0IDAgMzIgMzIgMCAxIDAgNjQgMHpNMzg0IDY0bC0zMjAgMCAwIDI4OCAzMjAgMCAwLTI4OHoiXX0scnJhPUFnZSxFZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZC1ob2xkaW5nLWRvbGxhciIsaWNvbjpbNTc2LDUxMixbImhhbmQtaG9sZGluZy11c2QiXSwiZjRjMCIsIk0yODgtMTZjLTEzLjMgMC0yNCAxMC43LTI0IDI0bDAgMTItMS44IDBjLTM2LjYgMC02Ni4yIDI5LjctNjYuMiA2Ni4yIDAgMzMuNCAyNC45IDYxLjYgNTggNjUuN2w2MSA3LjZjNS4xIC42IDkgNSA5IDEwLjIgMCA1LjctNC42IDEwLjItMTAuMiAxMC4yTDI0MCAxODBjLTE1LjUgMC0yOCAxMi41LTI4IDI4czEyLjUgMjggMjggMjhsMjQgMCAwIDEyYzAgMTMuMyAxMC43IDI0IDI0IDI0czI0LTEwLjcgMjQtMjRsMC0xMiAxLjggMGMzNi42IDAgNjYuMi0yOS43IDY2LjItNjYuMiAwLTMzLjQtMjQuOS02MS42LTU4LTY1LjdsLTYxLTcuNmMtNS4xLS42LTktNS05LTEwLjIgMC01LjcgNC42LTEwLjIgMTAuMi0xMC4yTDMyOCA3NmMxNS41IDAgMjgtMTIuNSAyOC0yOHMtMTIuNS0yOC0yOC0yOGwtMTYgMCAwLTEyYzAtMTMuMy0xMC43LTI0LTI0LTI0ek0xMDkuMyAzNDEuNUw2Ni43IDM4NCAzMiAzODRjLTE3LjcgMC0zMiAxNC4zLTMyIDMybDAgNjRjMCAxNy43IDE0LjMgMzIgMzIgMzJsMzIwLjUgMGMyOSAwIDU3LjMtOS4zIDgwLjctMjYuNWwxMjYuNi05My4zYzE3LjgtMTMuMSAyMS42LTM4LjEgOC41LTU1LjlzLTM4LjEtMjEuNi01NS45LTguNUwzOTIuNiA0MTYgMjgwIDQxNmMtMTMuMyAwLTI0LTEwLjctMjQtMjRzMTAuNy0yNCAyNC0yNGw3MiAwYzE3LjcgMCAzMi0xNC4zIDMyLTMycy0xNC4zLTMyLTMyLTMybC0xNTIuMiAwYy0zMy45IDAtNjYuNSAxMy41LTkwLjUgMzcuNXoiXX0sc3JhPUVnZSxQZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToic2hpZWxkIixpY29uOls1MTIsNTEyLFsxMjg3MzcsInNoaWVsZC1ibGFuayJdLCJmMTMyIiwiTTI1NiAwYzQuNiAwIDkuMiAxIDEzLjQgMi45TDQ1Ny44IDgyLjhjMjIgOS4zIDM4LjQgMzEgMzguMyA1Ny4yLS41IDk5LjItNDEuMyAyODAuNy0yMTMuNiAzNjMuMi0xNi43IDgtMzYuMSA4LTUyLjggMC0xNzIuNC04Mi41LTIxMy4xLTI2NC0yMTMuNi0zNjMuMi0uMS0yNi4yIDE2LjMtNDcuOSAzOC4zLTU3LjJMMjQyLjcgMi45QzI0Ni45IDEgMjUxLjQgMCAyNTYgMHoiXX0saXJhPVBnZSxJZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiZmFjZS1sYXVnaCIsaWNvbjpbNTEyLDUxMixbImxhdWdoIl0sImY1OTkiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTEwMS42IDMxNGMtMy43LTEzLjcgNy41LTI2IDIxLjctMjZsMjY1LjQgMGMxNC4yIDAgMjUuNCAxMi4zIDIxLjcgMjYtMTguNSA2OC04MC42IDExOC0xNTQuNCAxMThTMTIwIDM4MiAxMDEuNiAzMTR6TTE0NCAxOTJhMzIgMzIgMCAxIDEgNjQgMCAzMiAzMiAwIDEgMSAtNjQgMHptMTkyLTMyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHoiXX0sb3JhPUlnZSxucmE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiaGFuZHMtaG9sZGluZyIsaWNvbjpbNjQwLDUxMixbXSwiZjRjMiIsIk04MCAxMDRjMC0yMi4xLTE3LjktNDAtNDAtNDBTMCA4MS45IDAgMTA0TDAgMzI1LjVjMCAyNS41IDEwLjEgNDkuOSAyOC4xIDY3LjlMMTI4IDQ5My4zYzEyIDEyIDI4LjMgMTguNyA0NS4zIDE4LjdsNjYuNyAwYzI2LjUgMCA0OC0yMS41IDQ4LTQ4bDAtNzguOWMwLTI5LjctMTEuOC01OC4yLTMyLjgtNzkuMmwtMjUuMy0yNS4zIDAgMGMtNy4zLTcuMy0yMy4xLTIzLjEtNDcuMi00Ny4yLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zYzI0LjEgMjQuMSAzOS45IDM5LjkgNDcuMiA0Ny4yIDExIDExIDkuMiAyOS4yLTMuNyAzNy44LTkuNyA2LjUtMjIuNyA1LjItMzEtMy4xTDk4LjcgMzA5LjVjLTEyLTEyLTE4LjctMjguMy0xOC43LTQ1LjNMODAgMTA0em00ODAgMGwwIDE2MC4yYzAgMTctNi43IDMzLjMtMTguNyA0NS4zbC01MS4xIDUxLjFjLTguMyA4LjMtMjEuMyA5LjYtMzEgMy4xLTEyLjktOC42LTE0LjctMjYuOS0zLjctMzcuOCA3LjMtNy4zIDIzLjEtMjMuMSA0Ny4yLTQ3LjIgMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBjLTI0LjEgMjQuMS0zOS45IDM5LjktNDcuMiA0Ny4ybDAgMC0yNS4zIDI1LjNjLTIxIDIxLTMyLjggNDkuNS0zMi44IDc5LjJsMCA3OC45YzAgMjYuNSAyMS41IDQ4IDQ4IDQ4bDY2LjcgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN2w5OS45LTk5LjljMTgtMTggMjguMS00Mi40IDI4LjEtNjcuOUw2NDAgMTA0YzAtMjIuMS0xNy45LTQwLTQwLTQwcy00MCAxNy45LTQwIDQweiJdfSxOZ2U9e3ByZWZpeDoiZmFzIixpY29uTmFtZToiY2FydC1zaG9wcGluZyIsaWNvbjpbNjQwLDUxMixbMTI4NzIyLCJzaG9wcGluZy1jYXJ0Il0sImYwN2EiLCJNMjQtMTZDMTAuNy0xNiAwLTUuMyAwIDhTMTAuNyAzMiAyNCAzMmw0NS4zIDBjMy45IDAgNy4yIDIuOCA3LjkgNi42bDUyLjEgMjg2LjNjNi4yIDM0LjIgMzYgNTkuMSA3MC44IDU5LjFMNDU2IDM4NGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtMjU1LjkgMGMtMTEuNiAwLTIxLjUtOC4zLTIzLjYtMTkuN2wtNS4xLTI4LjMgMzAzLjYgMGMzMC44IDAgNTcuMi0yMS45IDYyLjktNTIuMkw1NjguOSA2OS45QzU3Mi42IDUwLjIgNTU3LjUgMzIgNTM3LjQgMzJsLTQxMi43IDAtLjQtMmMtNC44LTI2LjYtMjgtNDYtNTUuMS00NkwyNC0xNnpNMjA4IDUxMmE0OCA0OCAwIDEgMCAwLTk2IDQ4IDQ4IDAgMSAwIDAgOTZ6bTIyNCAwYTQ4IDQ4IDAgMSAwIDAtOTYgNDggNDggMCAxIDAgMCA5NnoiXX0sbHJhPU5nZSxjcmE9e3ByZWZpeDoiZmFzIixpY29uTmFtZToib2N0YWdvbiIsaWNvbjpbNTEyLDUxMixbMTI4NzIxXSwiZjMwNiIsIk0xODguNiAuMWMtMTcgMC0zMy4zIDYuNy00NS4zIDE4LjdMMTkuMiAxNDNDNy4yIDE1NSAuNSAxNzEuMiAuNSAxODguMmwwIDEzNS42YzAgMTcgNi43IDMzLjMgMTguNyA0NS4zTDE0My40IDQ5My4yYzEyIDEyIDI4LjMgMTguNyA0NS4zIDE4LjdsMTM1LjYgMGMxNyAwIDMzLjMtNi43IDQ1LjMtMTguN0w0OTMuNiAzNjljMTItMTIgMTguNy0yOC4zIDE4LjctNDUuM2wwLTEzNS42YzAtMTctNi43LTMzLjMtMTguNy00NS4zTDM2OS41IDE4LjhjLTEyLTEyLTI4LjMtMTguNy00NS4zLTE4LjdMMTg4LjYgLjF6Il19LGRyYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJoYW5kLXBvaW50ZXIiLGljb246WzQ0OCw1MTIsW10sImYyNWEiLCJNMTI4IDQwYzAtMjIuMSAxNy45LTQwIDQwLTQwczQwIDE3LjkgNDAgNDBsMCAxNDguMmM4LjUtNy42IDE5LjctMTIuMiAzMi0xMi4yIDIwLjYgMCAzOC4yIDEzIDQ1IDMxLjIgOC44LTkuMyAyMS4yLTE1LjIgMzUtMTUuMiAyNS4zIDAgNDYgMTkuNSA0Ny45IDQ0LjMgOC41LTcuNyAxOS44LTEyLjMgMzIuMS0xMi4zIDI2LjUgMCA0OCAyMS41IDQ4IDQ4bDAgMTEyYzAgNzAuNy01Ny4zIDEyOC0xMjggMTI4bC04NS4zIDBjLTUgMC05LjktLjMtMTQuNy0xLTU1LjMtNS42LTEwNi4yLTM0LTE0MC03OUw4IDMzNmMtMTMuMy0xNy43LTkuNy00Mi43IDgtNTZzNDIuNy05LjcgNTYgOGw1NiA3NC43IDAtMzIyLjd6TTI0MCAzMDRjMC04LjgtNy4yLTE2LTE2LTE2cy0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZ6bTQ4LTE2Yy04LjggMC0xNiA3LjItMTYgMTZsMCA5NmMwIDguOCA3LjIgMTYgMTYgMTZzMTYtNy4yIDE2LTE2bDAtOTZjMC04LjgtNy4yLTE2LTE2LTE2em04MCAxNmMwLTguOC03LjItMTYtMTYtMTZzLTE2IDcuMi0xNiAxNmwwIDk2YzAgOC44IDcuMiAxNiAxNiAxNnMxNi03LjIgMTYtMTZsMC05NnoiXX0sdXJhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6InJlZ2lzdGVyZWQiLGljb246WzUxMiw1MTIsWzE3NF0sImYyNWQiLCJNMjU2IDUxMmEyNTYgMjU2IDAgMSAwIDAtNTEyIDI1NiAyNTYgMCAxIDAgMCA1MTJ6TTIwMCAxNDRsODAgMGMzOS44IDAgNzIgMzIuMiA3MiA3MiAwIDI4LjktMTcgNTMuOC00MS42IDY1LjNsMzAuMiA1MC4zYzYuOCAxMS40IDMuMSAyNi4xLTguMiAzMi45cy0yNi4xIDMuMS0zMi45LTguMmwtNDEtNjguMy0zNC40IDAgMCA1NmMwIDEzLjMtMTAuNyAyNC0yNCAyNHMtMjQtMTAuNy0yNC0yNGwwLTE3NmMwLTEzLjMgMTAuNy0yNCAyNC0yNHptNzIgOTZsOCAwYzEzLjMgMCAyNC0xMC43IDI0LTI0cy0xMC43LTI0LTI0LTI0bC01NiAwIDAgNDggNDggMHoiXX0scHJhPXtwcmVmaXg6ImZhcyIsaWNvbk5hbWU6ImhvdXNlLXNpZ25hbCIsaWNvbjpbNTc2LDUxMixbXSwiZTAxMiIsIk01MTUuOSAyNDBsLTE5LjkgMCAwIDE0NGMwIDM1LjMtMjguNyA2NC02NCA2NGwtMTM3IDBjLTI0LTkxLjctOTMuNS0xNjUtMTgzLTE5NC4zbDAtMTMuNy0xOS45IDBjLTE1LjUgMC0yOC4xLTEyLjYtMjguMS0yOC4xIDAtNy42IDMuMS0xNC45IDguNi0yMC4yTDI3Ni41LTQuOUMyODMuOS0xMiAyOTMuNy0xNiAzMDQtMTZzMjAuMSA0IDI3LjUgMTEuMUw1MzUuNCAxOTEuN2M1LjUgNS4zIDguNiAxMi42IDguNiAyMC4yIDAgMTUuNS0xMi42IDI4LjEtMjguMSAyOC4xek0yODAgMTkyYy0xMy4zIDAtMjQgMTAuNy0yNCAyNGwwIDQ4YzAgMTMuMyAxMC43IDI0IDI0IDI0bDQ4IDBjMTMuMyAwIDI0LTEwLjcgMjQtMjRsMC00OGMwLTEzLjMtMTAuNy0yNC0yNC0yNGwtNDggMHpNMjQgMjg4YzEyOC4xIDAgMjMyIDEwMy45IDIzMiAyMzIgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC0xMDEuNi04Mi40LTE4NC0xODQtMTg0LTEzLjMgMC0yNC0xMC43LTI0LTI0czEwLjctMjQgMjQtMjR6bTggMTkyYTMyIDMyIDAgMSAxIDAgNjQgMzIgMzIgMCAxIDEgMC02NHpNMCA0MDhjMC0xMy4zIDEwLjctMjQgMjQtMjQgNzUuMSAwIDEzNiA2MC45IDEzNiAxMzYgMCAxMy4zLTEwLjcgMjQtMjQgMjRzLTI0LTEwLjctMjQtMjRjMC00OC42LTM5LjQtODgtODgtODgtMTMuMyAwLTI0LTEwLjctMjQtMjR6Il19LGZyYT17cHJlZml4OiJmYXMiLGljb25OYW1lOiJiYW5nbGFkZXNoaS10YWthLXNpZ24iLGljb246WzM4NCw1MTIsW10sImUyZTYiLCJNMzYgMzIuM0MxOC40IDMwLjEgMi40IDQyLjUgLjMgNjBTMTAuNSA5My42IDI4IDk1LjhsNy45IDFjMTYgMiAyOCAxNS42IDI4IDMxLjhsMCAzMS41LTQwIDBjLTEzLjMgMC0yNCAxMC43LTI0IDI0czEwLjcgMjQgMjQgMjRsNDAgMCAwIDE3NmMwIDUzIDQzIDk2IDk2IDk2bDMyIDBjMTA2IDAgMTkyLTg2IDE5Mi0xOTJsMC0zMmMwLTUzLTQzLTk2LTk2LTk2bC0xNiAwYy0xNy43IDAtMzIgMTQuMy0zMiAzMnMxNC4zIDMyIDMyIDMybDE2IDBjMTcuNyAwIDMyIDE0LjMgMzIgMzJsMCAzMmMwIDcwLjctNTcuMyAxMjgtMTI4IDEyOGwtMzIgMGMtMTcuNyAwLTMyLTE0LjMtMzItMzJsMC0xNzYgNDAgMGMxMy4zIDAgMjQtMTAuNyAyNC0yNHMtMTAuNy0yNC0yNC0yNGwtNDAgMCAwLTMxLjVDMTI4IDgwLjEgOTIgMzkuMiA0My45IDMzLjJsLTcuOS0xeiJdfSxuJGE9e2ZhMDp6THQsZmExOkNMdCxmYTI6X0x0LGZhMzpUTHQsZmE0OkxMdCxmYTU6JEx0LGZhNjpETHQsZmE3OkFMdCxmYTg6RUx0LGZhOTpQTHQsZmFEb2xsYXJTaWduOl9lZSxmYURvbGxhcjpJTHQsZmFVc2Q6Tkx0LGZhRG9nOlJMdCxmYVRydWNrTW92aW5nOk9MdCxmYVJvdGF0ZTpfZmUsZmFTeW5jQWx0OkZMdCxmYVNxdWFyZU1pbnVzOlRmZSxmYU1pbnVzU3F1YXJlOkJMdCxmYUFsaWduSnVzdGlmeTpITHQsZmFDYWxlbmRhckNoZWNrOnFMdCxmYUZhY2VLaXNzOkxmZSxmYUtpc3M6Vkx0LGZhS2l0Y2hlblNldDpqTHQsZmFEbmE6VUx0LGZhQ2hpbGRSZWFjaGluZzpXTHQsZmFQYXN0ZTpldixmYUZpbGVDbGlwYm9hcmQ6R0x0LGZhTWV0ZW9yOllMdCxmYUdlYXJzOiRmZSxmYUNvZ3M6S0x0LGZhRmlsZUNpcmNsZVBsdXM6Wkx0LGZhSWNpY2xlczpYTHQsZmFBcnJvd1RyZW5kVXA6UUx0LGZhSGV4YWdvbk5vZGVzQm9sdDpKTHQsZmFRdWVzdGlvbjplJHQsZmFIYW5kc0JvdW5kOnQkdCxmYVBlcnNvbldhbGtpbmdMdWdnYWdlOmEkdCxmYUZpbGVBcnJvd0Rvd246RGZlLGZhRmlsZURvd25sb2FkOnIkdCxmYVBlcnNvbkJvb3RoOnMkdCxmYUxvY3VzdDppJHQsZmFSaWdodExvbmc6QWZlLGZhTG9uZ0Fycm93QWx0UmlnaHQ6byR0LGZhVHJ1Y2tEcm9wbGV0Om4kdCxmYUhhbmRIb2xkaW5nTWVkaWNhbDpsJHQsZmFIYW5kUG9pbnRMZWZ0OmMkdCxmYUNhbGN1bGF0b3I6ZCR0LGZhTWludXM6dHYsZmFTdWJ0cmFjdDp1JHQsZmFBcnJvd1VwWkE6RWZlLGZhU29ydEFscGhhVXBBbHQ6cCR0LGZhTWljcm9waG9uZVNsYXNoOmYkdCxmYVNxdWFyZVBlbjpUZWUsZmFQZW5TcXVhcmU6aCR0LGZhUGVuY2lsU3F1YXJlOm0kdCxmYUhhbmRGaXN0OlBmZSxmYUZpc3RSYWlzZWQ6ZyR0LGZhQ29tbWVudFNtczpJZmUsZmFTbXM6YiR0LGZhU2ltQ2FyZDp2JHQsZmFTY2FsZUJhbGFuY2VkOk5mZSxmYUJhbGFuY2VTY2FsZTp4JHQsZmFDYXI6UmZlLGZhQXV0b21vYmlsZTp5JHQsZmFDcm9wU2ltcGxlOk9mZSxmYUNyb3BBbHQ6dyR0LGZhTWVkYWw6TSR0LGZhU2Nyb2xsOmskdCxmYUZpbGVFeGNlbDpTJHQsZmFGaWx0ZXI6eiR0LGZhRHJ1bTpDJHQsZmFNYXBQaW46XyR0LGZhU2NhbGVVbmJhbGFuY2VkRmxpcDpGZmUsZmFCYWxhbmNlU2NhbGVSaWdodDpUJHQsZmFBcnJvd3NUb0NpcmNsZTpMJHQsZmFFbnZlbG9wZTokJHQsZmFCYWJ5OkQkdCxmYVNxdWFyZUNhcmV0RG93bjpCZmUsZmFDYXJldFNxdWFyZURvd246QSR0LGZhVGVudDpFJHQsZmFBOlAkdCxmYVBhcmFjaHV0ZUJveDpJJHQsZmFDYXJ0QXJyb3dEb3duOk4kdCxmYUJyaWRnZUNpcmNsZUV4Y2xhbWF0aW9uOlIkdCxmYUNsb3VkQXJyb3dVcDpMZWUsZmFDbG91ZFVwbG9hZDpPJHQsZmFDbG91ZFVwbG9hZEFsdDpGJHQsZmFBdDpCJHQsZmFJbmRpYW5SdXBlZVNpZ246JGVlLGZhSW5kaWFuUnVwZWU6SCR0LGZhSW5yOnEkdCxmYVRydWNrOlYkdCxmYUNoYWxrYm9hcmRVc2VyOkhmZSxmYUNoYWxrYm9hcmRUZWFjaGVyOmokdCxmYVVzZXJDaGVjazpVJHQsZmFVc2VyTmluamE6VyR0LGZhUGxhbnRXaWx0OkckdCxmYVdlaWdodFNjYWxlOnFmZSxmYVdlaWdodDpZJHQsZmFDYXJldFJpZ2h0OlN0ZSxmYUZsb3JpblNpZ246SyR0LGZhQmVsbDp6dGUsZmFMYXJpU2lnbjpaJHQsZmFNaWxsU2lnbjpYJHQsZmFQZXJzb25Tbm93Ym9hcmRpbmc6VmZlLGZhU25vd2JvYXJkaW5nOlEkdCxmYVR0eTpqZmUsZmFUZWxldHlwZTpKJHQsZmFVc2Vyc1JlY3RhbmdsZTplRHQsZmFNb2JpbGU6RGVlLGZhTW9iaWxlQW5kcm9pZDp0RHQsZmFNb2JpbGVQaG9uZTphRHQsZmFBcnJvd3NUdXJuVG9Eb3RzOnJEdCxmYUV4Y2xhbWF0aW9uOnNEdCxmYUNodXJjaDppRHQsZmFUb2dnbGVPZmY6b0R0LGZhU2hvZVByaW50czpuRHQsZmFGaWxlQ2lyY2xlRXhjbGFtYXRpb246bER0LGZhV2FsbGV0OkN0ZSxmYU1lc3NhZ2U6YXYsZmFDb21tZW50QWx0OmNEdCxmYVRyb3BoeTpkRHQsZmFGYWNlRGl6enk6VWZlLGZhRGl6enk6dUR0LGZhQmFjdGVyaWE6cER0LGZhRWFyRGVhZjpPYixmYURlYWY6ZkR0LGZhRGVhZm5lc3M6aER0LGZhSGFyZE9mSGVhcmluZzptRHQsZmFQZW9wbGVBcnJvd3M6V2ZlLGZhUGVvcGxlQXJyb3dzTGVmdFJpZ2h0OmdEdCxmYUhhbmRzQ2xhcHBpbmc6YkR0LGZhVmlydXNDb3ZpZFNsYXNoOnZEdCxmYUNhbGVuZGFyRGF5czpHZmUsZmFDYWxlbmRhckFsdDp4RHQsZmFEaWFtb25kVHVyblJpZ2h0OllmZSxmYURpcmVjdGlvbnM6eUR0LGZhSGFuZFBvaW50VXA6d0R0LGZhQmV6aWVyQ3VydmU6TUR0LGZhUGVyc29uSGFsZkRyZXNzOmtEdCxmYVNxdWFyZVBvbGxIb3Jpem9udGFsOktmZSxmYVBvbGxIOlNEdCxmYVNjaG9vbENpcmNsZVhtYXJrOnpEdCxmYUhhbmRMaXphcmQ6Q0R0LGZhQ2hhbGtib2FyZDpaZmUsZmFCbGFja2JvYXJkOl9EdCxmYVVwUmlnaHRGcm9tU3F1YXJlOlhmZSxmYUV4dGVybmFsTGlua0FsdDpURHQsZmFTcXVhcmVGdWxsOkxEdCxmYUNsb3ZlcjokRHQsZmFUZWV0aE9wZW46RER0LGZhQmFyc1N0YWdnZXJlZDpBZWUsZmFSZW9yZGVyOkFEdCxmYVN0cmVhbTpFRHQsZmFXYXJlaG91c2U6UER0LGZhU3dhdGNoYm9vazpJRHQsZmFDYW1wZ3JvdW5kOk5EdCxmYVBlcnNvbldhbGtpbmdBcnJvd1JpZ2h0OlJEdCxmYUdsYXNzZXM6T0R0LGZhQ2lyY2xlUGF1c2U6UWZlLGZhUGF1c2VDaXJjbGU6RkR0LGZhTWVtb3J5OkJEdCxmYUdpZnQ6SER0LGZhTW9uZXlCaWxsV2hlYXQ6cUR0LGZhRHVuZ2VvbjpWRHQsZmFTdWl0Y2FzZU1lZGljYWw6SmZlLGZhTWVka2l0OmpEdCxmYVBlcnNvbkNhbmU6VUR0LGZhR2F1Z2U6RmIsZmFEYXNoYm9hcmQ6V0R0LGZhR2F1Z2VNZWQ6R0R0LGZhVGFjaG9tZXRlckFsdEF2ZXJhZ2U6WUR0LGZhRW52ZWxvcGVPcGVuVGV4dDpLRHQsZmFUb29sYm94OlpEdCxmYVBvd2VyT2ZmOlhEdCxmYVNpZ25hbDpFZWUsZmFTaWduYWw1OlFEdCxmYVNpZ25hbFBlcmZlY3Q6SkR0LGZhQXJyb3dzU3BpbjplQXQsZmFKb2ludDp0QXQsZmFCcmFpbGxlOmFBdCxmYUJhc2tldFNob3BwaW5nOmU1ZSxmYVNob3BwaW5nQmFza2V0OnJBdCxmYUJyaWRnZTpzQXQsZmFQbGFuZUFycml2YWw6aUF0LGZhQ2FzaFJlZ2lzdGVyOm9BdCxmYVJpbmc6bkF0LGZhQXF1YXJpdXM6bEF0LGZhU2hhcmVOb2Rlczp0NWUsZmFTaGFyZUFsdDpjQXQsZmFQZXJzb25DaXJjbGVFeGNsYW1hdGlvbjpkQXQsZmFCaW5vY3VsYXJzOnVBdCxmYUtpcFNpZ246cEF0LGZhSGFyZERyaXZlOmE1ZSxmYUhkZDpmQXQsZmFSYW5raW5nU3RhcjpoQXQsZmFVc2VyVGllOm1BdCxmYUVsbGlwc2lzOnI1ZSxmYUVsbGlwc2lzSDpnQXQsZmFTdG9yZVNsYXNoOmJBdCxmYVBlcmNlbnQ6czVlLGZhUGVyY2VudGFnZTp2QXQsZmFGaWxlWmlwcGVyOmk1ZSxmYUZpbGVBcmNoaXZlOnhBdCxmYURpc3BsYXk6eUF0LGZhSWNvbnM6bzVlLGZhSGVhcnRNdXNpY0NhbWVyYUJvbHQ6d0F0LGZhUnVsZXJWZXJ0aWNhbDpNQXQsZmFNYXBMb2NhdGlvbkRvdDpuNWUsZmFNYXBNYXJrZWRBbHQ6a0F0LGZhSGVhcnRDcmFjazpsNWUsZmFIZWFydEJyb2tlbjpTQXQsZmFDb3c6ekF0LGZhUnNzOnJ2LGZhRmVlZDpDQXQsZmFNYWduaWZ5aW5nR2xhc3M6c3YsZmFTZWFyY2g6X0F0LGZhQ2xvdWRNb29uOlRBdCxmYUJveGVzU3RhY2tlZDpQZWUsZmFCb3hlczpMQXQsZmFCb3hlc0FsdDokQXQsZmFDb2RlQnJhbmNoOkRBdCxmYUJhbjpjNWUsZmFDYW5jZWw6QUF0LGZhSnVnRGV0ZXJnZW50OkVBdCxmYVJlcGx5OmQ1ZSxmYU1haWxSZXBseTpQQXQsZmFTdW5QbGFudFdpbHQ6SUF0LGZhQmFjdGVyaXVtOk5BdCxmYVJlY29yZFZpbnlsOlJBdCxmYUZsb3BweURpc2s6dTVlLGZhU2F2ZTpPQXQsZmFUb2lsZXRzUG9ydGFibGU6RkF0LGZhTzpCQXQsZmFQYWxldHRlOkhBdCxmYVVubG9jazpxQXQsZmFFYXJMaXN0ZW46cDVlLGZhQXNzaXN0aXZlTGlzdGVuaW5nU3lzdGVtczpWQXQsZmFDb2RlUHVsbFJlcXVlc3Q6akF0LGZhS2V5OlVBdCxmYVNrdWxsOldBdCxmYU1hcnNTdHJva2VVcDpmNWUsZmFNYXJzU3Ryb2tlVjpHQXQsZmFGaXJlRmxhbWVTaW1wbGU6aDVlLGZhQnVybjpZQXQsZmFUcmVlOktBdCxmYVNtb2c6WkF0LGZhUzpYQXQsZmFKZWRpOlFBdCxmYVBlcnNvbkhpa2luZzptNWUsZmFIaWtpbmc6SkF0LGZhQXJyb3dzVXBUb0xpbmU6ZUV0LGZhTWFyc0RvdWJsZTp0RXQsZmFUaGVybW9tZXRlcjphRXQsZmFQYWludGJydXNoOmc1ZSxmYVBhaW50QnJ1c2g6ckV0LGZhTmV1dGVyOnNFdCxmYVNxdWFyZVBob25lRmxpcDpiNWUsZmFQaG9uZVNxdWFyZUFsdDppRXQsZmFGYWNlR3JpblRvbmd1ZVNxdWludDp2NWUsZmFHcmluVG9uZ3VlU3F1aW50Om9FdCxmYUNvbW1lbnREb2xsYXI6bkV0LGZhSGlwcG86bEV0LGZhQm93bEZvb2Q6Y0V0LGZhU3F1YXJlVmlydXM6ZEV0LGZhQ2xvdWRTdW5SYWluOnVFdCxmYUFycm93UmlnaHRMb25nOng1ZSxmYUxvbmdBcnJvd1JpZ2h0OnBFdCxmYUJ1aWxkaW5nVW46ZkV0LGZhVGVtcGVyYXR1cmVMb3c6aEV0LGZhRG9vck9wZW46bUV0LGZhQWxpZ25MZWZ0OmdFdCxmYUNhbWVyYTp5NWUsZmFDYW1lcmFBbHQ6YkV0LGZhVXNlcnNSYXlzOnZFdCxmYVJhaW5ib3c6eEV0LGZhU2l0ZW1hcDp5RXQsZmFGYWNlR3JpblN0YXJzOnc1ZSxmYUdyaW5TdGFyczp3RXQsZmFTb3J0VXA6TTVlLGZhU29ydEFzYzpNRXQsZmFFeWU6X3RlLGZhQ2FyZXRMZWZ0OlR0ZSxmYUFwcGxlV2hvbGU6azVlLGZhQXBwbGVBbHQ6a0V0LGZhU2Nyb2xsVG9yYWg6UzVlLGZhVG9yYWg6U0V0LGZhSG91c2VMb2NrOnpFdCxmYUFycm93c0xlZnRSaWdodFRvTGluZTpDRXQsZmFUcmFzaDpndixmYUZhY2VTYWRUZWFyOno1ZSxmYVNhZFRlYXI6X0V0LGZhRmF4OlRFdCxmYVBlcnNvbkNpcmNsZVBsdXM6TEV0LGZhSGFtc2E6JEV0LGZhUGVyc29uQ2lyY2xlUXVlc3Rpb246REV0LGZhQ2xpcGJvYXJkQ2hlY2s6QUV0LGZhU2hhcmVGcm9tU3F1YXJlOkM1ZSxmYVNoYXJlU3F1YXJlOkVFdCxmYVJlY2VpcHQ6THRlLGZhRXF1YWxzOlBFdCxmYUNoZXZyb25VcDpJRXQsZmFWaXJ1c1NsYXNoOk5FdCxmYVNsYXNoOlJFdCxmYUV4cGFuZDpPRXQsZmFOb3RlU3RpY2t5Ol81ZSxmYVN0aWNreU5vdGU6RkV0LGZhVGFibGVDb2x1bW5zOlQ1ZSxmYUNvbHVtbnM6QkV0LGZhUGVyc29uU2hlbHRlcjpIRXQsZmFDaXJjbGVOb3RjaDpxRXQsZmFXYXRlcjpWRXQsZmFEZWxldGVMZWZ0Okw1ZSxmYUJhY2tzcGFjZTpqRXQsZmFCcm9vbUJhbGw6SWVlLGZhUXVpZGRpdGNoOlVFdCxmYVF1aWRkaXRjaEJyb29tQmFsbDpXRXQsZmFKOkdFdCxmYVNodXR0bGVTcGFjZTokNWUsZmFTcGFjZVNodXR0bGU6WUV0LGZhWWluWWFuZzpLRXQsZmFTdG9wOlpFdCxmYVRyb3dlbDpYRXQsZmFIYW5kQmFja0Zpc3Q6RDVlLGZhSGFuZFJvY2s6UUV0LGZhVGVtcGVyYXR1cmVIaWdoOkpFdCxmYUdyZWF0ZXJUaGFuOmVQdCxmYUNydXRjaDp0UHQsZmFTZXB0YWdvbjpBNWUsZmFIZXB0YWdvbjphUHQsZmFTdHJlZXRWaWV3OnJQdCxmYVdhdmVTcXVhcmU6c1B0LGZhQW5nbGVMZWZ0OmlQdCxmYVNjcmV3ZHJpdmVyOm9QdCxmYVRyYWN0b3I6blB0LGZhQnJpZGdlQ2lyY2xlWG1hcms6bFB0LGZhVmlhbHM6Y1B0LGZhU3RldGhvc2NvcGU6ZFB0LGZhUG9kY2FzdDp1UHQsZmFBcnJvd1VwUmlnaHREb3RzOnBQdCxmYUNoZXNzUXVlZW46ZlB0LGZhQW5jaG9yQ2lyY2xlRXhjbGFtYXRpb246aFB0LGZhRWxsaXBzaXNWZXJ0aWNhbDpFNWUsZmFFbGxpcHNpc1Y6bVB0LGZhSGVhcnRDaXJjbGVFeGNsYW1hdGlvbjpnUHQsZmFCdWlsZGluZ0NpcmNsZUV4Y2xhbWF0aW9uOmJQdCxmYVBlcnNvbkFycm93VXBGcm9tTGluZTp2UHQsZmFOb3RFcXVhbDp4UHQsZmFUcmFpblRyYW06eVB0LGZhUGxhbmVEZXBhcnR1cmU6d1B0LGZhUmlnaHRUb0JyYWNrZXQ6UDVlLGZhU2lnbkluQWx0Ok1QdCxmYVNkQ2FyZDprUHQsZmFIb3VzZUNpcmNsZUV4Y2xhbWF0aW9uOlNQdCxmYVNoZWtlbFNpZ246WjgsZmFJbHM6elB0LGZhU2hla2VsOkNQdCxmYVNoZXFlbDpfUHQsZmFTaGVxZWxTaWduOlRQdCxmYVJhZGlvOkxQdCxmYUhhbmREb3RzOkk1ZSxmYUFsbGVyZ2llczokUHQsZmFCb29rU2t1bGw6TjVlLGZhQm9va0RlYWQ6RFB0LGZhVW5sb2NrS2V5aG9sZTpSNWUsZmFVbmxvY2tBbHQ6QVB0LGZhRmlsZUFycm93VXA6TzVlLGZhRmlsZVVwbG9hZDpFUHQsZmFGYWNlR3JpblRlYXJzOkY1ZSxmYUdyaW5UZWFyczpQUHQsZmFQZW5Ub1NxdWFyZTppdixmYUVkaXQ6SVB0LGZhRWFydGhFdXJvcGU6QjVlLGZhR2xvYmVFdXJvcGU6TlB0LGZhRmFjZUdyaW5CZWFtU3dlYXQ6SDVlLGZhR3JpbkJlYW1Td2VhdDpSUHQsZmFDaXJjbGVIYWxmU3Ryb2tlOnE1ZSxmYUFkanVzdDpPUHQsZmFQZXJzb25NaWxpdGFyeVRvUGVyc29uOkZQdCxmYVRhYmxlQ2VsbHNDb2x1bW5Mb2NrOkJQdCxmYVRydWNrRmllbGRVbjpIUHQsZmFDbG9jazpWNWUsZmFDbG9ja0ZvdXI6cVB0LGZhQm9vazpWUHQsZmFGYWNlTGF1Z2hXaW5rOmo1ZSxmYUxhdWdoV2luazpqUHQsZmFDbG91ZE1lYXRiYWxsOlVQdCxmYUNoYXJ0QXJlYTpVNWUsZmFBcmVhQ2hhcnQ6V1B0LGZhUnVwaWFoU2lnbjpHUHQsZmFUZXh0V2lkdGg6WVB0LGZhU2F0ZWxsaXRlOktQdCxmYU1hZ25pZnlpbmdHbGFzc01pbnVzOlc1ZSxmYVNlYXJjaE1pbnVzOlpQdCxmYVBlb3BsZUdyb3VwOlhQdCxmYVNxdWFyZUJpbmFyeTpRUHQsZmFNYXNrc1RoZWF0ZXI6RzVlLGZhVGhlYXRlck1hc2tzOkpQdCxmYUNhcnRQbHVzOmVJdCxmYUhhbmRzQXNsSW50ZXJwcmV0aW5nOkJiLGZhQW1lcmljYW5TaWduTGFuZ3VhZ2VJbnRlcnByZXRpbmc6dEl0LGZhQXNsSW50ZXJwcmV0aW5nOmFJdCxmYUhhbmRzQW1lcmljYW5TaWduTGFuZ3VhZ2VJbnRlcnByZXRpbmc6ckl0LGZhVGFibGVDZWxsc1Jvd1VubG9jazpzSXQsZmFSb2NrZXQ6aUl0LGZhU2hyaW1wOm9JdCxmYVRlbmdlU2lnbjpZNWUsZmFUZW5nZTpuSXQsZmFIb3VzZUNoaW1uZXlNZWRpY2FsOks1ZSxmYUNsaW5pY01lZGljYWw6bEl0LGZhVXNlcnNTbGFzaDpjSXQsZmFQYXBlclBsYW5lOmRJdCxmYUJvb2tBdGxhczpaNWUsZmFBdGxhczp1SXQsZmFUYWJsZTpwSXQsZmFIZWFydDpmSXQsZmFDaXJjbGVDaGV2cm9uVXA6WDVlLGZhQ2hldnJvbkNpcmNsZVVwOmhJdCxmYUJhdHRlcnlIYWxmOlE1ZSxmYUJhdHRlcnkzOm1JdCxmYUZvbnRBd2Vzb21lOk5lZSxmYUZvbnRBd2Vzb21lRmxhZzpnSXQsZmFGb250QXdlc29tZUxvZ29GdWxsOmJJdCxmYUhhbmRjdWZmczp2SXQsZmFIYXRDb3dib3lTaWRlOnhJdCxmYUluZHVzdHJ5OnlJdCxmYUxpbmVzTGVhbmluZzp3SXQsZmFQYXNzcG9ydDpNSXQsZmFJbmZpbml0eTprSXQsZmFDbG9uZTpTSXQsZmFGb3J3YXJkOnpJdCxmYU06Q0l0LGZhUm9hZFNwaWtlczpfSXQsZmFNb3VudGFpbjpUSXQsZmFDaGVzczpMSXQsZmFUZW1wZXJhdHVyZVRocmVlUXVhcnRlcnM6SGIsZmFUZW1wZXJhdHVyZTM6JEl0LGZhVGhlcm1vbWV0ZXIzOkRJdCxmYVRoZXJtb21ldGVyVGhyZWVRdWFydGVyczpBSXQsZmFCOkVJdCxmYVNoaWVsZFZpcnVzOlBJdCxmYUxpdGVjb2luU2lnbjpJSXQsZmFEaWNlRDY6Tkl0LGZhR3JpcExpbmVzVmVydGljYWw6Ukl0LGZhR29sZkJhbGxUZWU6SjVlLGZhR29sZkJhbGw6T0l0LGZhSGV4YWdvbjpGSXQsZmFGb2xkZXJPcGVuOkJJdCxmYUthYWJhOkhJdCxmYUhhbmRIb2xkaW5nOnFJdCxmYVNpbmdsZVF1b3RlUmlnaHQ6Vkl0LGZhQm90dGxlRHJvcGxldDpqSXQsZmFXaW5kb3dNaW5pbWl6ZTpVSXQsZmFDaGV2cm9uUmlnaHQ6V0l0LGZhRWdnOkdJdCxmYUxhbmRtYXJrRG9tZTplaGUsZmFMYW5kbWFya0FsdDpZSXQsZmFXb3JtOktJdCxmYVVzZXJJbmp1cmVkOlpJdCxmYVN0cmlrZXRocm91Z2g6WEl0LGZhQmxvZzpRSXQsZmFTdG9wd2F0Y2gyMDpKSXQsZmFUcnVja1BpY2t1cDplTnQsZmFTZWVkbGluZzp0aGUsZmFTcHJvdXQ6dE50LGZhVHJhbnNnZW5kZXI6YWhlLGZhVHJhbnNnZW5kZXJBbHQ6YU50LGZhU3RhckhhbGY6ck50LGZhUGhvdG9GaWxtOnJoZSxmYVBob3RvVmlkZW86c050LGZhUGljdHVyZUluUGljdHVyZTppTnQsZmFQdW1wTWVkaWNhbDpvTnQsZmFGaXJlOm5OdCxmYU1hZ25pZnlpbmdHbGFzc1BsdXM6c2hlLGZhU2VhcmNoUGx1czpsTnQsZmFGbGFzazpjTnQsZmFBbGlnblJpZ2h0OmROdCxmYUNhYmxlQ2FyOmloZSxmYVRyYW06dU50LGZhS2l0TWVkaWNhbDpvaGUsZmFGaXJzdEFpZDpwTnQsZmFHcmlwTGluZXM6Zk50LGZhQnVyZ2VyOm5oZSxmYUhhbWJ1cmdlcjpoTnQsZmFTbm93bWFuOm1OdCxmYUhvdGVsOmdOdCxmYVByaW50OmJOdCxmYVZvbGxleWJhbGw6bGhlLGZhVm9sbGV5YmFsbEJhbGw6dk50LGZhVHJhZmZpY0xpZ2h0OnhOdCxmYVBsYW5lQ2lyY2xlQ2hlY2s6eU50LGZhVXNlcnM6JHRlLGZhQ2VydGlmaWNhdGU6d050LGZhQWxhcm1DbG9jazpNTnQsZmFIZWxpY29wdGVyU3ltYm9sOmtOdCxmYUhvdXNlQ2hpbW5leUNyYWNrOmNoZSxmYUhvdXNlRGFtYWdlOlNOdCxmYVBlcnNvbk1pbGl0YXJ5UG9pbnRpbmc6ek50LGZhRGF0YWJhc2U6Q050LGZhTmV3c3BhcGVyOl9OdCxmYUNsb3VkUmFpbjpUTnQsZmFNYXhpbWl6ZTpkaGUsZmFFeHBhbmRBcnJvd3NBbHQ6TE50LGZhTG9jYXRpb25BcnJvdzokTnQsZmFDaXR5OkROdCxmYVhSYXk6QU50LGZhVW1icmVsbGFCZWFjaDpFTnQsZmFBcnJvd1JpZ2h0VG9CcmFja2V0OnVoZSxmYVNpZ25JbjpQTnQsZmFIZWFkc2V0OklOdCxmYVNwbG90Y2g6Tk50LGZhVXBMb25nOnBoZSxmYUxvbmdBcnJvd0FsdFVwOlJOdCxmYUhleGFnb25Ob2RlczpPTnQsZmFIb3NwaXRhbDpSZWUsZmFIb3NwaXRhbEFsdDpGTnQsZmFIb3NwaXRhbFdpZGU6Qk50LGZhUGVyc29uSGFyYXNzaW5nOkhOdCxmYU1vbmV5QmlsbFRyZW5kVXA6cU50LGZhUGVuUnVsZXI6ZmhlLGZhUGVuY2lsUnVsZXI6Vk50LGZhUmVwZWF0OmpOdCxmYUJvbmU6VU50LGZhRmlyZUZsYW1lQ3VydmVkOmhoZSxmYUZpcmVBbHQ6V050LGZhQnVzU2ltcGxlOm1oZSxmYUJ1c0FsdDpHTnQsZmFWZW51c01hcnM6WU50LGZhQmxlbmRlcjpLTnQsZmFVOlpOdCxmYVNoYXJlOm92LGZhTWFpbEZvcndhcmQ6WE50LGZhUGhvbmVGbGlwOmdoZSxmYVBob25lQWx0OlFOdCxmYVRvaWxldFBvcnRhYmxlOkpOdCxmYVBlcnNvblByZWduYW50OmVSdCxmYUxlc3NUaGFuOnRSdCxmYVN1cGVyc2NyaXB0OmFSdCxmYUNpcmNsZVN0b3A6YmhlLGZhU3RvcENpcmNsZTpyUnQsZmFBcnJvd3NVcERvd246dmhlLGZhQXJyb3dzVjpzUnQsZmFQb29TdG9ybTp4aGUsZmFQb29Cb2x0OmlSdCxmYVZpZGVvU2xhc2g6b1J0LGZhU3F1YXJlWG1hcms6T2VlLGZhVGltZXNTcXVhcmU6blJ0LGZhWG1hcmtTcXVhcmU6bFJ0LGZhSGFuZEhvbGRpbmdEcm9wbGV0OnloZSxmYUhhbmRIb2xkaW5nV2F0ZXI6Y1J0LGZhV29uU2lnbjpGZWUsZmFLcnc6ZFJ0LGZhV29uOnVSdCxmYU9iamVjdFVuZ3JvdXA6cFJ0LGZhQ29tbWVudDpmUnQsZmFIaWxsQXZhbGFuY2hlOmhSdCxmYUFycm93c1RvRXllOm1SdCxmYVNub3dwbG93OmdSdCxmYUNoYXJ0R2FudHQ6YlJ0LGZhVmlkZW86d2hlLGZhVmlkZW9DYW1lcmE6dlJ0LGZhQ2hlc3NQYXduOnhSdCxmYVN5bmFnb2d1ZTp5UnQsZmFCdWlsZGluZ0NpcmNsZUNoZWNrOndSdCxmYUNhbGVuZGFyUGx1czpNUnQsZmFXaGVlbGNoYWlyTW92ZTpNaGUsZmFXaGVlbGNoYWlyQWx0OmtSdCxmYVVzZXJTaGllbGQ6U1J0LGZhQm9sZDp6UnQsZmFIZWFydFB1bHNlOmtoZSxmYUhlYXJ0YmVhdDpDUnQsZmFTcXVhcmVSb290VmFyaWFibGU6U2hlLGZhU3F1YXJlUm9vdEFsdDpfUnQsZmFIYW5kc0J1YmJsZXM6emhlLGZhSGFuZHNXYXNoOlRSdCxmYU1hcmtlcjpMUnQsZmFDbGlwYm9hcmQ6JFJ0LGZhUGxhY2VPZldvcnNoaXA6RFJ0LGZhQ2FubmFiaXM6QVJ0LGZhUGVvcGxlUm9vZjpFUnQsZmFEaXNlYXNlOlBSdCxmYUJvb2tCaWJsZTpDaGUsZmFCaWJsZTpJUnQsZmFDaGVzc0JvYXJkOk5SdCxmYU1hcnM6UlJ0LGZhTGFwdG9wOk9SdCxmYVVzZXJYbWFyazpfaGUsZmFVc2VyVGltZXM6RlJ0LGZhRmxhZ1VzYTpCUnQsZmFIYW5kTWlkZGxlRmluZ2VyOkhSdCxmYU1vcnRhclBlc3RsZTpxUnQsZmFIZWFkU2lkZUNvdWdoOlZSdCxmYVBsYW5lTG9jazpqUnQsZmFCYXR0ZXJ5VGhyZWVRdWFydGVyczpUaGUsZmFCYXR0ZXJ5NDpVUnQsZmFGcmFuY1NpZ246V1J0LGZhRmlsdGVyQ2lyY2xlRG9sbGFyOkxoZSxmYUZ1bm5lbERvbGxhcjpHUnQsZmFDaGVlc2U6WVJ0LGZhQ2lyY2xlSDokaGUsZmFIb3NwaXRhbFN5bWJvbDpLUnQsZmFTY2hvb2w6WlJ0LGZhRGljZUZpdmU6WFJ0LGZhVG9ybmFkbzpRUnQsZmFKZXRGaWdodGVyOkRoZSxmYUZpZ2h0ZXJKZXQ6SlJ0LGZhVGh1bWJzRG93bjplT3QsZmFCcm9vbTp0T3QsZmFGaWxlSW1wb3J0OkFoZSxmYUFycm93UmlnaHRUb0ZpbGU6YU90LGZhVXRlbnNpbHM6RWhlLGZhQ3V0bGVyeTpyT3QsZmFJZEJhZGdlOnNPdCxmYVNwaWRlcjppT3QsZmFNb2JpbGVSZXRybzpvT3QsZmFTaWduc1Bvc3Q6UGhlLGZhTWFwU2lnbnM6bk90LGZhR3JvdXBBcnJvd3NSb3RhdGU6bE90LGZhQXJyb3dzU3BsaXRVcEFuZExlZnQ6Y090LGZhRmlsbERyaXA6ZE90LGZhU2hpZWxkSGVhcnQ6dU90LGZhUGVyc29uU2tpaW5nTm9yZGljOkloZSxmYVNraWluZ05vcmRpYzpwT3QsZmFTcXVhcmVDaGVjazpOaGUsZmFDaGVja1NxdWFyZTpmT3QsZmFCYXRoOlJoZSxmYUJhdGh0dWI6aE90LGZhQ2hlc3NCaXNob3A6bU90LGZhUHJlc2NyaXB0aW9uQm90dGxlTWVkaWNhbDpPaGUsZmFQcmVzY3JpcHRpb25Cb3R0bGVBbHQ6Z090LGZhRHJhd1BvbHlnb246RmhlLGZhVmVjdG9yUG9seWdvbjpiT3QsZmFJQ3Vyc29yOnZPdCxmYUhlYXJ0Q2lyY2xlUGx1czp4T3QsZmFTaGllbGREb2c6eU90LGZhR3JlYXRlclRoYW5FcXVhbDp3T3QsZmFFbnZlbG9wZU9wZW46TU90LGZhTW91bmQ6a090LGZhVm9pY2VtYWlsOlNPdCxmYVZlc3Q6ek90LGZhQXVkaW9EZXNjcmlwdGlvbjpDT3QsZmFXOl9PdCxmYUV5ZURyb3BwZXI6QmVlLGZhRXllRHJvcHBlckVtcHR5OlRPdCxmYUV5ZWRyb3BwZXI6TE90LGZhQ2lyY2xlWG1hcms6ZW0sZmFUaW1lc0NpcmNsZTokT3QsZmFYbWFya0NpcmNsZTpET3QsZmFUcmFpbGVyOkFPdCxmYVR1cmtpc2hMaXJhU2lnbjpIZWUsZmFUcnk6RU90LGZhVHVya2lzaExpcmE6UE90LGZhVm9sY2FubzpJT3QsZmFXYW5kU3BhcmtsZXM6Tk90LGZhTWljcm9waG9uZTpST3QsZmFDcm93bjpPT3QsZmFUZW50QXJyb3dUdXJuTGVmdDpGT3QsZmFUcnVja0Zhc3Q6QmhlLGZhU2hpcHBpbmdGYXN0OkJPdCxmYVVzZXJQZW46SGhlLGZhVXNlckVkaXQ6SE90LGZhVXNlckNsb2NrOnFPdCxmYVNob3dlcjpWT3QsZmFTcXVhcmVDYXJldFVwOnFoZSxmYUNhcmV0U3F1YXJlVXA6ak90LGZhTWFwTG9jYXRpb246VmhlLGZhTWFwTWFya2VkOlVPdCxmYVBlbkZhbmN5OldPdCxmYUV1cm9TaWduOnFlZSxmYUV1cjpHT3QsZmFFdXJvOllPdCxmYUhvdXNlQ2lyY2xlWG1hcms6S090LGZhTGlyYVNpZ246Wk90LGZhWWVuU2lnbjpYOCxmYUNueTpYT3QsZmFKcHk6UU90LGZhUm1iOkpPdCxmYVllbjplRnQsZmFCb3hPcGVuOnRGdCxmYVRydWNrRmllbGQ6YUZ0LGZhTG9jYXRpb25QaW5Mb2NrOnJGdCxmYVBlcnNvblByYXlpbmc6amhlLGZhUHJheTpzRnQsZmFDbGlwYm9hcmRMaXN0OmlGdCxmYVNhY2tEb2xsYXI6b0Z0LGZhTW91bnRhaW5TdW46bkZ0LGZhQXJyb3dVcFdpZGVTaG9ydDpVaGUsZmFTb3J0QW1vdW50VXA6bEZ0LGZhVXNlcnNMaW5lOmNGdCxmYVN0YXJPZkRhdmlkOmRGdCxmYU5vdGVzTWVkaWNhbDp1RnQsZmFBdXN0cmFsU2lnbjpwRnQsZmFDbGlwYm9hcmRVc2VyOmZGdCxmYUZpbGVJbWFnZTpoRnQsZmFTcXVhcmVDYXJldFJpZ2h0OldoZSxmYUNhcmV0U3F1YXJlUmlnaHQ6bUZ0LGZhVmlhbDpnRnQsZmFIZWxpY29wdGVyOmJGdCxmYU1pdHRlbjp2RnQsZmFHYXNQdW1wOnhGdCxmYUVudmVsb3BlQ2lyY2xlQ2hlY2s6eUZ0LGZhUGVyc29uU2thdGluZzpHaGUsZmFTa2F0aW5nOndGdCxmYVN1bjpEdGUsZmFCYXNlYmFsbDpZaGUsZmFCYXNlYmFsbEJhbGw6TUZ0LGZhSW1hZ2U6a0Z0LGZhTm90ZGVmOlNGdCxmYUJhc2tldGJhbGw6S2hlLGZhQmFza2V0YmFsbEJhbGw6ekZ0LGZhUGVuY2lsOlpoZSxmYVBlbmNpbEFsdDpDRnQsZmFQZXJzb25XYWxraW5nQXJyb3dMb29wTGVmdDpfRnQsZmFEaWNlU2l4OlRGdCxmYUFuZ2xlc0Rvd246WGhlLGZhQW5nbGVEb3VibGVEb3duOkxGdCxmYVN5cmluZ2U6JEZ0LGZhV2hlYXRBd246UWhlLGZhV2hlYXRBbHQ6REZ0LGZhUGxhbmVVcDpBRnQsZmFBbGlnbkNlbnRlcjpFRnQsZmFIb2NrZXlQdWNrOlBGdCxmYUNpcmNsZUFycm93TGVmdDpKaGUsZmFBcnJvd0NpcmNsZUxlZnQ6SUZ0LGZhUGx1Z0NpcmNsZUJvbHQ6TkZ0LGZhUmVzdHJvb206UkZ0LGZhQW5jaG9yTG9jazpPRnQsZmFUaW1lbGluZTpGRnQsZmFMaWdodGJ1bGI6QkZ0LGZhQ2lyY2xlQXJyb3dSaWdodDplOGUsZmFBcnJvd0NpcmNsZVJpZ2h0OkhGdCxmYU1hcnNBbmRWZW51czpxRnQsZmFOZXR3b3JrV2lyZWQ6QXRlLGZhQnVpbGRpbmdTaGllbGQ6VkZ0LGZhQ29kZTpqRnQsZmFGZWF0aGVyUG9pbnRlZDp0OGUsZmFGZWF0aGVyQWx0OlVGdCxmYUZpbGVDaXJjbGVRdWVzdGlvbjpXRnQsZmFTaWduYXR1cmU6R0Z0LGZhRWFydGhBbWVyaWNhczpxYixmYUVhcnRoOllGdCxmYUVhcnRoQW1lcmljYTpLRnQsZmFHbG9iZUFtZXJpY2FzOlpGdCxmYUNhcnJvdDpYRnQsZmFUZW1wZXJhdHVyZUZ1bGw6VmIsZmFUZW1wZXJhdHVyZTQ6UUZ0LGZhVGhlcm1vbWV0ZXI0OkpGdCxmYVRoZXJtb21ldGVyRnVsbDplQnQsZmFUYWJsZUNlbGxzUm93TG9jazp0QnQsZmFCb2x0TGlnaHRuaW5nOmFCdCxmYUNsb3VkU2hvd2Vyc1dhdGVyOnJCdCxmYUFycm93VXBMb25nOmE4ZSxmYUxvbmdBcnJvd1VwOnNCdCxmYUFkZHJlc3NDYXJkOlZlZSxmYUNvbnRhY3RDYXJkOmlCdCxmYVZjYXJkOm9CdCxmYUFuZ2xlUmlnaHQ6bkJ0LGZhRmFjZU1laDpyOGUsZmFNZWg6bEJ0LGZhQXJyb3dVcEZyb21Hcm91bmRXYXRlcjpjQnQsZmFNYXA6ZEJ0LGZhVXNlclBsdXM6dUJ0LGZhVmVudXM6cEJ0LGZhRGlhZ3JhbVN1Y2Nlc3NvcjpmQnQsZmFIZWFkU2lkZUNvdWdoU2xhc2g6aEJ0LGZhRGlhZ3JhbVByb2plY3Q6czhlLGZhUHJvamVjdERpYWdyYW06bUJ0LGZhVGVybWluYWw6RXRlLGZhSG91c2VGaXJlOmdCdCxmYU1hc2s6YkJ0LGZhSHVycmljYW5lOnZCdCxmYUVhcnRoQWZyaWNhOmk4ZSxmYUdsb2JlQWZyaWNhOnhCdCxmYVRodW1idGFjazpvOGUsZmFUaHVtYlRhY2s6eUJ0LGZhSGFuZFBvaW50RG93bjp3QnQsZmFGYWNlTWVoQmxhbms6bjhlLGZhTWVoQmxhbms6TUJ0LGZhVGVtcGVyYXR1cmVFbXB0eTpqYixmYVRlbXBlcmF0dXJlMDprQnQsZmFUaGVybW9tZXRlcjA6U0J0LGZhVGhlcm1vbWV0ZXJFbXB0eTp6QnQsZmFCb3JkZXJOb25lOkNCdCxmYUhpZ2hsaWdodGVyOl9CdCxmYU1vbmV5QmlsbFdhdmU6VEJ0LGZhVG9pbGV0UGFwZXJTbGFzaDpMQnQsZmFGaWxlU2hpZWxkOiRCdCxmYVRleHRIZWlnaHQ6REJ0LGZhRmFjZUdyaW5Ub25ndWU6bDhlLGZhR3JpblRvbmd1ZTpBQnQsZmFGaWxlU2lnbmF0dXJlOkVCdCxmYUJ1aWxkaW5nV2hlYXQ6UEJ0LGZhUGx1Z0NpcmNsZU1pbnVzOklCdCxmYUZ1dGJvbDpqZWUsZmFGdXRib2xCYWxsOk5CdCxmYVNvY2NlckJhbGw6UkJ0LGZhQ2lyY2xlUGx1czpjOGUsZmFQbHVzQ2lyY2xlOk9CdCxmYUJyYXppbGlhblJlYWxTaWduOkZCdCxmYVN0YXJBbmRDcmVzY2VudDpCQnQsZmFGYWNlU3VycHJpc2U6ZDhlLGZhU3VycHJpc2U6SEJ0LGZhSG9zcGl0YWxVc2VyOnFCdCxmYUFycm93RG93blVwTG9jazpWQnQsZmFGb2xkZXI6dThlLGZhRm9sZGVyQmxhbms6akJ0LGZhSG9sbHlCZXJyeTpVQnQsZmFWZW51c0RvdWJsZTpXQnQsZmFDbGlwYm9hcmRRdWVzdGlvbjpHQnQsZmFIb3Rkb2c6WUJ0LGZhQXJyb3dVcEZyb21CcmFja2V0OktCdCxmYU1pY3Jvc2NvcGU6WkJ0LGZhQ2xvdWQ6WEJ0LGZhQmFzZWJhbGxCYXRCYWxsOlFCdCxmYUNhclJlYXI6cDhlLGZhQ2FyQWx0OkpCdCxmYVRodW1idGFja1NsYXNoOmY4ZSxmYVRodW1iVGFja1NsYXNoOmVIdCxmYVBsdXNNaW51czp0SHQsZmFIb3VzZUNpcmNsZUNoZWNrOmFIdCxmYUNhbGVuZGFyRGF5OnJIdCxmYUxpYnJhOnNIdCxmYUNpcmNsZTppSHQsZmFNb2JpbGVWaWJyYXRlOm9IdCxmYUZhY2VHcmluU3F1aW50Omg4ZSxmYUdyaW5TcXVpbnQ6bkh0LGZhVXNlcnNCZXR3ZWVuTGluZXM6bEh0LGZhSG91c2VNZWRpY2FsQ2lyY2xlWG1hcms6Y0h0LGZhVGFibGVMaXN0Om04ZSxmYVRoTGlzdDpkSHQsZmFGbGFza1ZpYWw6dUh0LGZhQ2lyY2xlRXhjbGFtYXRpb246ZzhlLGZhRXhjbGFtYXRpb25DaXJjbGU6cEh0LGZhVGF4aTpiOGUsZmFDYWI6Zkh0LGZhVGV4dFNsYXNoOnY4ZSxmYVJlbW92ZUZvcm1hdDpoSHQsZmFQZW9wbGVQdWxsaW5nOm1IdCxmYUJhY2t3YXJkOmdIdCxmYUNhckJ1cnN0Ong4ZSxmYUNhckNyYXNoOmJIdCxmYUxpbms6eThlLGZhQ2hhaW46dkh0LGZhQmFja3dhcmRTdGVwOnc4ZSxmYVN0ZXBCYWNrd2FyZDp4SHQsZmFYOnlIdCxmYUNpcmNsZVVzZXI6TThlLGZhVXNlckNpcmNsZTp3SHQsZmFSZWN0YW5nbGVMaXN0Oms4ZSxmYUxpc3RBbHQ6TUh0LGZhSGFuZDpTOGUsZmFIYW5kUGFwZXI6a0h0LGZhQ2FuY2VyOlNIdCxmYVZhblNodXR0bGU6ejhlLGZhU2h1dHRsZVZhbjp6SHQsZmFTdGFpcnM6Q0h0LGZhSG9yc2VIZWFkOl9IdCxmYVZhdWx0OlRIdCxmYUNsb3NlZENhcHRpb25pbmdTbGFzaDpMSHQsZmFEcnVtU3RlZWxwYW46JEh0LGZhVGh1bWJzVXA6REh0LGZhU3RhbXA6QUh0LGZhTWVub3JhaDpFSHQsZmFDaGlsZHJlbjpQSHQsZmFDaGFydExpbmU6QzhlLGZhTGluZUNoYXJ0OklIdCxmYVNxdWFyZUVudmVsb3BlOl84ZSxmYUVudmVsb3BlU3F1YXJlOk5IdCxmYUJhblNtb2tpbmc6VDhlLGZhU21va2luZ0JhbjpSSHQsZmFUcnVja0Zyb250Ok9IdCxmYUJ1aWxkaW5nOlB0ZSxmYUJ1bGxzZXllOkZIdCxmYUFycm93TGVmdExvbmc6TDhlLGZhTG9uZ0Fycm93TGVmdDpCSHQsZmFDaGVzc1Jvb2s6SEh0LGZhQmxlbmRlclBob25lOnFIdCxmYUFycm93VHVyblVwOiQ4ZSxmYUxldmVsVXA6Vkh0LGZhQmljeWNsZTpqSHQsZmFDaXJjbGVBcnJvd0Rvd246RDhlLGZhQXJyb3dDaXJjbGVEb3duOlVIdCxmYUdlYXI6bnYsZmFDb2c6V0h0LGZhTWFyc0FuZFZlbnVzQnVyc3Q6R0h0LGZhT3R0ZXI6WUh0LGZhQ2lyY2xlQ2hldnJvbkxlZnQ6QThlLGZhQ2hldnJvbkNpcmNsZUxlZnQ6S0h0LGZhQ2lyY2xlUXVlc3Rpb246RThlLGZhUXVlc3Rpb25DaXJjbGU6Wkh0LGZhV2Fsa2llVGFsa2llOlhIdCxmYVVzZXJHcm91cDpQOGUsZmFVc2VyRnJpZW5kczpRSHQsZmFIb3VzZUNoaW1uZXk6SThlLGZhSG9tZUxnOkpIdCxmYVJpZ2h0RnJvbUJyYWNrZXQ6TjhlLGZhU2lnbk91dEFsdDplcXQsZmFGaWxlOnRxdCxmYVBsYW5lU2xhc2g6YXF0LGZhQ2xvdWRTaG93ZXJzSGVhdnk6cnF0LGZhUGVyc29uRmFsbGluZzpzcXQsZmFUdXJuRG93bjpSOGUsZmFMZXZlbERvd25BbHQ6aXF0LGZhVXBSaWdodEFuZERvd25MZWZ0RnJvbUNlbnRlcjpPOGUsZmFFeHBhbmRBbHQ6b3F0LGZhVXNlclRhZzpucXQsZmFIYW5kU3BhcmtsZXM6bHF0LGZhQXJyb3dzVG9Eb3Q6Y3F0LGZhRmFjZVNhZENyeTpGOGUsZmFTYWRDcnk6ZHF0LGZhRG9uZ1NpZ246dXF0LGZhUGVvcGxlTGluZTpwcXQsZmFTcXVhcmVSc3M6QjhlLGZhUnNzU3F1YXJlOmZxdCxmYUNhbGVuZGFyTWludXM6aHF0LGZhQ2hhcnREaWFncmFtOm1xdCxmYUZhY2VUaXJlZDpIOGUsZmFUaXJlZDpncXQsZmFIYW5kUG9pbnRSaWdodDpicXQsZmFBcnJvd1VwOnZxdCxmYUN1YmVzU3RhY2tlZDp4cXQsZmFDaGlsZENvbWJhdGFudDpxOGUsZmFDaGlsZFJpZmxlOnlxdCxmYVZlc3RQYXRjaGVzOndxdCxmYU1hcnRpbmlHbGFzc0VtcHR5OlY4ZSxmYUdsYXNzTWFydGluaTpNcXQsZmFNYWduZXQ6a3F0LGZhUm9hZEJhcnJpZXI6U3F0LGZhQ29tcGFzc0RyYWZ0aW5nOmo4ZSxmYURyYWZ0aW5nQ29tcGFzczp6cXQsZmFTcXVhcmVQZXJzb25Db25maW5lZDpDcXQsZmFQbGF0ZVdoZWF0Ol9xdCxmYVNpZ25IYW5naW5nOlU4ZSxmYVNpZ246VHF0LGZhQ2FyQmF0dGVyeTpXOGUsZmFCYXR0ZXJ5Q2FyOkxxdCxmYVNoaXJ0OlVlZSxmYVRTaGlydDokcXQsZmFUc2hpcnQ6RHF0LGZhUGFyYWdyYXBoOkFxdCxmYUVudmVsb3Blc0J1bGs6RzhlLGZhTWFpbEJ1bGs6RXF0LGZhR3VpdGFyOlBxdCxmYVN1aXRjYXNlOklxdCxmYUNpcmNsZVVwOlk4ZSxmYUFycm93QWx0Q2lyY2xlVXA6TnF0LGZhRjpScXQsZmFYbWFya3NMaW5lczpPcXQsZmFFYXJ0aE9jZWFuaWE6SzhlLGZhR2xvYmVPY2VhbmlhOkZxdCxmYUNvbW1lbnRTbGFzaDpCcXQsZmFQbGF5OkhxdCxmYVZpYWxDaXJjbGVDaGVjazpxcXQsZmFCcmlkZ2VDaXJjbGVDaGVjazpWcXQsZmFDZWRpU2lnbjpqcXQsZmFQdXp6bGVQaWVjZTpVcXQsZmFIZWxtZXRVbjpXcXQsZmFHbGFzc1dhdGVyOkdxdCxmYUhlYXJ0Q2lyY2xlQm9sdDpZcXQsZmFQdW1wU29hcDpLcXQsZmFIYW5kU2Npc3NvcnM6WnF0LGZhRG9sbHk6WjhlLGZhRG9sbHlCb3g6WHF0LGZhUGFwZXJjbGlwOkl0ZSxmYURlbW9jcmF0OlFxdCxmYVNxdWFyZUFycm93VXBSaWdodDpYOGUsZmFFeHRlcm5hbExpbmtTcXVhcmU6SnF0LGZhRmVycnk6ZVZ0LGZhTW9zcXVpdG86dFZ0LGZhQnVpbGRpbmdDaXJjbGVBcnJvd1JpZ2h0OmFWdCxmYUxlZnRSaWdodDpROGUsZmFBcnJvd3NBbHRIOnJWdCxmYVZpcnVzOnNWdCxmYUdlbTppVnQsZmFUb2lsZXQ6b1Z0LGZhU2luZ2xlUXVvdGVMZWZ0Om5WdCxmYU1vbmV5QmlsbHM6bFZ0LGZhVGFibGV0QnV0dG9uOmNWdCxmYVJlY3RhbmdsZVhtYXJrOlViLGZhUmVjdGFuZ2xlVGltZXM6ZFZ0LGZhVGltZXNSZWN0YW5nbGU6dVZ0LGZhV2luZG93Q2xvc2U6cFZ0LGZhV3JlbmNoOmZWdCxmYVRyYXNoQ2FuOmx2LGZhVHJhc2hBbHQ6aFZ0LGZhVGFibGVDZWxsczpKOGUsZmFUaDptVnQsZmFSaWJib246Z1Z0LGZhTGFuZG1hcmtGbGFnOmJWdCxmYVVwRG93bkxlZnRSaWdodDplbWUsZmFBcnJvd3NBbHQ6dlZ0LGZhQ2FyU2lkZTp4VnQsZmFUcmFzaEFycm93VXA6dG1lLGZhVHJhc2hSZXN0b3JlOnlWdCxmYUxpZmVSaW5nOndWdCxmYUNvcHlyaWdodDpNVnQsZmFGaWxlUHJlc2NyaXB0aW9uOmtWdCxmYUVyYXNlcjpTVnQsZmFIb3VyZ2xhc3NTdGFydDphbWUsZmFIb3VyZ2xhc3MxOnpWdCxmYUNpcmNsZUxlZnQ6cm1lLGZhQXJyb3dBbHRDaXJjbGVMZWZ0OkNWdCxmYUNydXplaXJvU2lnbjpfVnQsZmFTbW9raW5nOlRWdCxmYVNxdWFyZVBvbGxWZXJ0aWNhbDpzbWUsZmFQb2xsOkxWdCxmYVBlcnNvbkNpcmNsZU1pbnVzOiRWdCxmYUJpb2hhemFyZDpEVnQsZmFCZWxsQ29uY2llcmdlOmltZSxmYUNvbmNpZXJnZUJlbGw6QVZ0LGZhUnVsZXJIb3Jpem9udGFsOkVWdCxmYUhvcnNlOlBWdCxmYUNhbGVuZGFyOklWdCxmYUhhbmRzSG9sZGluZ0NoaWxkOk5WdCxmYUl0YWxpYzpSVnQsZmFLaGFuZGE6T1Z0LGZhRmFjZUZyb3duT3BlbjpvbWUsZmFGcm93bk9wZW46RlZ0LGZhQ2hlY2s6TnRlLGZhRmluZ2VycHJpbnQ6QlZ0LGZhQ2hhcmdpbmdTdGF0aW9uOkhWdCxmYVVzZXJMb2NrOnFWdCxmYU1vYmlsZVNjcmVlbkJ1dHRvbjpubWUsZmFNb2JpbGVBbHQ6VlZ0LGZhQW5jaG9yQ2lyY2xlQ2hlY2s6alZ0LGZhUGVyc29uV2Fsa2luZ1dpdGhDYW5lOmxtZSxmYUJsaW5kOlVWdCxmYUZpbGVXYXZlZm9ybTpjbWUsZmFGaWxlTWVkaWNhbEFsdDpXVnQsZmFIb3VzZUNyYWNrOkdWdCxmYUhhdFdpemFyZDpZVnQsZmFVc2VyRG9jdG9yOmRtZSxmYVVzZXJNZDpLVnQsZmFDaGFydEJhcjp1bWUsZmFCYXJDaGFydDpaVnQsZmFTcHJheUNhblNwYXJrbGVzOnBtZSxmYUFpckZyZXNoZW5lcjpYVnQsZmFCYWh0U2lnbjpRVnQsZmFUZW1wZXJhdHVyZUFycm93VXA6Zm1lLGZhVGVtcGVyYXR1cmVVcDpKVnQsZmFXZWJBd2Vzb21lOmVqdCxmYU5vbkJpbmFyeTp0anQsZmFOOmFqdCxmYUFycm93c1VwRG93bkxlZnRSaWdodDpobWUsZmFBcnJvd3M6cmp0LGZhSG91c2U6V2IsZmFIb21lOnNqdCxmYUhvbWVBbHQ6aWp0LGZhSG9tZUxnQWx0Om9qdCxmYVNwaW5uZXI6bmp0LGZhR2F2ZWw6bW1lLGZhTGVnYWw6bGp0LGZhVGlja2V0U2ltcGxlOmdtZSxmYVRpY2tldEFsdDpjanQsZmFEb3ZlOmRqdCxmYVRhcnBEcm9wbGV0OnVqdCxmYVRyZWVDaXR5OnBqdCxmYVR1cm5VcDpibWUsZmFMZXZlbFVwQWx0OmZqdCxmYVRlbXBlcmF0dXJlUXVhcnRlcjpHYixmYVRlbXBlcmF0dXJlMTpoanQsZmFUaGVybW9tZXRlcjE6bWp0LGZhVGhlcm1vbWV0ZXJRdWFydGVyOmdqdCxmYVNsaWRlcnM6dm1lLGZhU2xpZGVyc0g6Ymp0LGZhTW9zcXVlOnZqdCxmYUg6eGp0LGZhSW5mbzp5anQsZmFQZXJzb25XYWxraW5nOnhtZSxmYVdhbGtpbmc6d2p0LGZhQXJyb3dUdXJuRG93bjp5bWUsZmFMZXZlbERvd246TWp0LGZhUm9hZDpranQsZmFTcGlyYWw6U2p0LGZhRmFjZUZyb3duOndtZSxmYUZyb3duOnpqdCxmYVdpbmVHbGFzc0VtcHR5Ok1tZSxmYVdpbmVHbGFzc0FsdDpDanQsZmFDbGFwcGVyYm9hcmQ6X2p0LGZhRm9yd2FyZFN0ZXA6a21lLGZhU3RlcEZvcndhcmQ6VGp0LGZhU3F1YXJlVXBSaWdodDpTbWUsZmFFeHRlcm5hbExpbmtTcXVhcmVBbHQ6TGp0LGZhQm9va0pvdXJuYWxXaGlsbHM6em1lLGZhSm91cm5hbFdoaWxsczokanQsZmFDaGFtcGFnbmVHbGFzc2VzOkNtZSxmYUdsYXNzQ2hlZXJzOkRqdCxmYUR1bXBzdGVyOkFqdCxmYUhlYXJ0Q2lyY2xlWG1hcms6RWp0LGZhQ29tcHV0ZXI6UGp0LGZhV2FuZE1hZ2ljOl9tZSxmYU1hZ2ljOklqdCxmYUJyYWluOk5qdCxmYUJyaWVmY2FzZU1lZGljYWw6Ump0LGZhSG91c2VNZWRpY2FsQ2lyY2xlRXhjbGFtYXRpb246T2p0LGZhQ29kZUNvbW1pdDpGanQsZmFQZXJzb25CcmVhc3RmZWVkaW5nOkJqdCxmYVBlcnNvblJheXM6SGp0LGZhTWFuYXRTaWduOnFqdCxmYVNvcnQ6VG1lLGZhVW5zb3J0ZWQ6Vmp0LGZhQ2lyY2xlUmFkaWF0aW9uOkxtZSxmYVJhZGlhdGlvbkFsdDpqanQsZmFMYXB0b3BDb2RlOlVqdCxmYVNpbms6V2p0LGZhQXJyb3dVcEZyb21XYXRlclB1bXA6R2p0LGZhTWljcm9waG9uZUxpbmVzU2xhc2g6JG1lLGZhTWljcm9waG9uZUFsdFNsYXNoOllqdCxmYVNlcnZlcjpLanQsZmFVc2VyOldlZSxmYVVzZXJBbHQ6Wmp0LGZhVXNlckxhcmdlOlhqdCxmYVNub3dmbGFrZTpRanQsZmFUYXVydXM6Smp0LGZhU2t1bGxDcm9zc2JvbmVzOmVVdCxmYVBlc29TaWduOnRVdCxmYVdpbmVHbGFzczphVXQsZmFUZW1wZXJhdHVyZUhhbGY6WWIsZmFUZW1wZXJhdHVyZTI6clV0LGZhVGhlcm1vbWV0ZXIyOnNVdCxmYVRoZXJtb21ldGVySGFsZjppVXQsZmFUaWNrZXQ6b1V0LGZhV2hlYXRBd25DaXJjbGVFeGNsYW1hdGlvbjpuVXQsZmFBcnJvd3NUdXJuUmlnaHQ6bFV0LGZhQ2FuZHlDYW5lOmNVdCxmYVdoZWVsY2hhaXI6ZFV0LGZhU3BlbGxDaGVjazp1VXQsZmFWb2x1bWVPZmY6cFV0LGZhTHVuZ3M6ZlV0LGZhQm9va21hcms6aFV0LGZhQmFyY29kZTptVXQsZmFMaXN0T2w6R2VlLGZhTGlzdDEyOmdVdCxmYUxpc3ROdW1lcmljOmJVdCxmYUZpbGVDaXJjbGVYbWFyazp2VXQsZmFDdWJlOnhVdCxmYVRhcGU6eVV0LGZhQm9tYjp3VXQsZmFTY2FsZVVuYmFsYW5jZWQ6RG1lLGZhQmFsYW5jZVNjYWxlTGVmdDpNVXQsZmFTcXVhcmVDYXJldExlZnQ6QW1lLGZhQ2FyZXRTcXVhcmVMZWZ0OmtVdCxmYVJ1bGVyOlNVdCxmYUk6elV0LGZhVm9sdW1lWG1hcms6WWVlLGZhVm9sdW1lTXV0ZTpDVXQsZmFWb2x1bWVUaW1lczpfVXQsZmFBcmNod2F5OlRVdCxmYVBlcnNvbkRpZ2dpbmc6RW1lLGZhRGlnZ2luZzpMVXQsZmFHYXVnZUhpZ2g6S2VlLGZhVGFjaG9tZXRlckFsdDokVXQsZmFUYWNob21ldGVyQWx0RmFzdDpEVXQsZmFHZW5kZXJsZXNzOkFVdCxmYUNsb3VkU3VuOkVVdCxmYUFycm93UmlnaHQ6UnRlLGZhSGFuZHNoYWtlOlplZSxmYUhhbmRzaGFrZUFsdDpQVXQsZmFIYW5kc2hha2VTaW1wbGU6SVV0LGZhUGVyc29uU2tpaW5nOlBtZSxmYVNraWluZzpOVXQsZmFCcmlkZ2VXYXRlcjpSVXQsZmFCdWlsZGluZ05nbzpPVXQsZmFJZ2xvbzpGVXQsZmFDaXJjbGVEb2xsYXJUb1Nsb3Q6SW1lLGZhRG9uYXRlOkJVdCxmYVk6SFV0LGZhRmFjZVNtaWxlV2luazpObWUsZmFTbWlsZVdpbms6cVV0LGZhRGljZUZvdXI6VlV0LGZhRmFjZUdyaW5TcXVpbnRUZWFyczpSbWUsZmFHcmluU3F1aW50VGVhcnM6alV0LGZhRmlsZUF1ZGlvOlVVdCxmYUFycm93c0Rvd25Ub0xpbmU6V1V0LGZhRzpHVXQsZmFWaWhhcmE6WVV0LGZhRmxhZ0NoZWNrZXJlZDpLVXQsZmFHYXVnZVNpbXBsZTpYZWUsZmFHYXVnZVNpbXBsZU1lZDpaVXQsZmFUYWNob21ldGVyQXZlcmFnZTpYVXQsZmFSaWdodExlZnQ6T21lLGZhRXhjaGFuZ2VBbHQ6UVV0LGZhUGlsbHM6SlV0LGZhRXhwbG9zaW9uOmVXdCxmYUFycm93c0Rvd25Ub1Blb3BsZTp0V3QsZmFVc2Vyc1ZpZXdmaW5kZXI6YVd0LGZhQ2FyT246cld0LGZhU2xlaWdoOnNXdCxmYUR1bWJiZWxsOmlXdCxmYUJhYnlDYXJyaWFnZTpGbWUsZmFDYXJyaWFnZUJhYnk6b1d0LGZhS2l3aUJpcmQ6bld0LGZhQ2FsZW5kYXJYbWFyazpCbWUsZmFDYWxlbmRhclRpbWVzOmxXdCxmYUNpcmNsZURvd246SG1lLGZhQXJyb3dBbHRDaXJjbGVEb3duOmNXdCxmYUZpbGVNZWRpY2FsOmRXdCxmYVhtYXJrOnM0LGZhQ2xvc2U6dVd0LGZhTXVsdGlwbHk6cFd0LGZhUmVtb3ZlOmZXdCxmYVRpbWVzOmhXdCxmYVNoYXBlczpxbWUsZmFUcmlhbmdsZUNpcmNsZVNxdWFyZTptV3QsZmFEaWNlT25lOmdXdCxmYUxvY2tPcGVuOmJXdCxmYVBlcHBlckhvdDp2V3QsZmFEcm9wbGV0U2xhc2g6Vm1lLGZhVGludFNsYXNoOnhXdCxmYURyb3BsZXQ6am1lLGZhVGludDp5V3QsZmFGaWxlTGluZXM6UWVlLGZhRmlsZUFsdDp3V3QsZmFGaWxlVGV4dDpNV3QsZmFDb21tZW50c0RvbGxhcjprV3QsZmFNYWduaWZ5aW5nR2xhc3NMb2NhdGlvbjpVbWUsZmFTZWFyY2hMb2NhdGlvbjpTV3QsZmFGaWxlSW52b2ljZTpPdGUsZmFQZW50YWdvbjp6V3QsZmFSZXB1YmxpY2FuOkNXdCxmYVNob3A6V21lLGZhU3RvcmVBbHQ6X1d0LGZhRmlsbTpKZWUsZmFGaWxtQWx0OlRXdCxmYUZpbG1TaW1wbGU6TFd0LGZhQnVpbGRpbmdDaXJjbGVYbWFyazokV3QsZmFDb21tZW50czpEV3QsZmFUYWdzOkFXdCxmYUd1bjpFV3QsZmFDaXJjbGVDaGVjazpjdixmYUNoZWNrQ2lyY2xlOlBXdCxmYVNjb3JwaW86SVd0LGZhSWRDYXJkQ2xpcDpHbWUsZmFJZENhcmRBbHQ6Tld0LGZhTW9vbjpSV3QsZmFPaWxXZWxsOk9XdCxmYVRhY2hvZ3JhcGhEaWdpdGFsOlltZSxmYURpZ2l0YWxUYWNob2dyYXBoOkZXdCxmYVRhYmxldDpLbWUsZmFUYWJsZXRBbmRyb2lkOkJXdCxmYVJ1YmxlU2lnbjpLYixmYVJvdWJsZTpIV3QsZmFSdWI6cVd0LGZhUnVibGU6Vld0LGZhQ2xvc2VkQ2FwdGlvbmluZzpqV3QsZmFQZW46VVd0LGZhUGxhbmU6V1d0LGZhSW1hZ2VzOkdXdCxmYU1vYmlsZVNjcmVlbjpabWUsZmFNb2JpbGVBbmRyb2lkQWx0OllXdCxmYUd1YXJhbmlTaWduOktXdCxmYUJhZ1Nob3BwaW5nOlhtZSxmYVNob3BwaW5nQmFnOlpXdCxmYUNpcmNsZVJpZ2h0OlFtZSxmYUFycm93QWx0Q2lyY2xlUmlnaHQ6WFd0LGZhUGhvbmVWb2x1bWU6Sm1lLGZhVm9sdW1lQ29udHJvbFBob25lOlFXdCxmYUN1YmVzOkpXdCxmYVBob25lOmVHdCxmYVRvcmlpR2F0ZTp0R3QsZmFCYWNvbjphR3QsZmFQZXJzb25GYWxsaW5nQnVyc3Q6ckd0LGZhUXVvdGVSaWdodDplN2UsZmFRdW90ZVJpZ2h0QWx0OnNHdCxmYUhvdXNlTWVkaWNhbEZsYWc6aUd0LGZhUHJlc2NyaXB0aW9uOm9HdCxmYURpY2VUaHJlZTpuR3QsZmFCdWlsZGluZ0xvY2s6bEd0LGZhSWRDYXJkOnQ3ZSxmYURyaXZlcnNMaWNlbnNlOmNHdCxmYUNpcmNsZVBsYXk6YTdlLGZhUGxheUNpcmNsZTpkR3QsZmFGYWNlTGF1Z2hCZWFtOnI3ZSxmYUxhdWdoQmVhbTp1R3QsZmFMZWFmOnBHdCxmYUhvdXNlQ2hpbW5leVVzZXI6Zkd0LGZhUm90YXRlUmlnaHQ6ZXRlLGZhUmVkb0FsdDpoR3QsZmFSb3RhdGVGb3J3YXJkOm1HdCxmYVRvb3RoOmdHdCxmYUhvdXNlQ2hpbW5leVdpbmRvdzpiR3QsZmFNb3RvcmN5Y2xlOnZHdCxmYUJhY2t3YXJkRmFzdDpzN2UsZmFGYXN0QmFja3dhcmQ6eEd0LGZhQWRkcmVzc0Jvb2s6aTdlLGZhQ29udGFjdEJvb2s6eUd0LGZhU2FpbGJvYXQ6d0d0LGZhQm9va0Jvb2ttYXJrOk1HdCxmYU1hZ25pZnlpbmdHbGFzc0Fycm93UmlnaHQ6a0d0LGZhTWljcm9waG9uZUxpbmVzOm83ZSxmYU1pY3JvcGhvbmVBbHQ6U0d0LGZhUmVwbHlBbGw6bjdlLGZhTWFpbFJlcGx5QWxsOnpHdCxmYVVuaXZlcnNhbEFjY2VzczpDR3QsZmFUb2lsZXRQYXBlcjp0dGUsZmFUb2lsZXRQYXBlckFsdDpfR3QsZmFUb2lsZXRQYXBlckJsYW5rOlRHdCxmYVZyQ2FyZGJvYXJkOkxHdCxmYVBpenphU2xpY2U6JEd0LGZhU3ByYXlDYW46REd0LGZhVm9sdW1lTG93Omw3ZSxmYVZvbHVtZURvd246QUd0LGZhQ3Jvc3M6RUd0LGZhUGVyc29uOmM3ZSxmYU1hbGU6UEd0LGZhSG91cmdsYXNzOmQ3ZSxmYUhvdXJnbGFzc0VtcHR5OklHdCxmYUZpc2g6Tkd0LGZhRHJ1bXN0aWNrQml0ZTpSR3QsZmFDaGFydFNpbXBsZTpPR3QsZmFBdG9tOkZHdCxmYVA6Qkd0LGZhSmV0RmlnaHRlclVwOkhHdCxmYVBsdWdDaXJjbGVYbWFyazpxR3QsZmFTaGVldFBsYXN0aWM6Vkd0LGZhVjpqR3QsZmFMaXN0OnU3ZSxmYUxpc3RTcXVhcmVzOlVHdCxmYVBpc2NlczpXR3QsZmFTb2xhclBhbmVsOkdHdCxmYUxhbmRNaW5lT246WUd0LGZhSGVhZHBob25lczphdGUsZmFIZWFkcGhvbmVzQWx0OktHdCxmYUhlYWRwaG9uZXNTaW1wbGU6Wkd0LGZhQnVzOlhHdCxmYUZpbGVQb3dlcnBvaW50OlFHdCxmYVF1b3RlTGVmdDpwN2UsZmFRdW90ZUxlZnRBbHQ6Skd0LGZhQ2hldnJvbkRvd246ZVl0LGZhRWFydGhBc2lhOmY3ZSxmYUdsb2JlQXNpYTp0WXQsZmFDZW50U2lnbjphWXQsZmFTaGllbGRDYXQ6cll0LGZhU2Nob29sQ2lyY2xlQ2hlY2s6c1l0LGZhTWFydGluaUdsYXNzOmg3ZSxmYUdsYXNzTWFydGluaUFsdDppWXQsZmFQbHVnOm9ZdCxmYVBhbm9yYW1hOm5ZdCxmYUNsb2NrUm90YXRlTGVmdDpkdixmYUhpc3Rvcnk6bFl0LGZhSmFyV2hlYXQ6Y1l0LGZhQ2xvdWRBcnJvd0Rvd246cnRlLGZhQ2xvdWREb3dubG9hZDpkWXQsZmFDbG91ZERvd25sb2FkQWx0OnVZdCxmYVRydWNrUmFtcEJveDptN2UsZmFUcnVja0xvYWRpbmc6cFl0LGZhQW5nbGVEb3duOmZZdCxmYVBsdWdDaXJjbGVDaGVjazpoWXQsZmFXaW5kb3dNYXhpbWl6ZTptWXQsZmFIYW5kc0hvbGRpbmdDaXJjbGU6Z1l0LGZhTG9jYXRpb25QaW46ZzdlLGZhTWFwTWFya2VyOmJZdCxmYUJvd2xpbmdCYWxsOnZZdCxmYUNhcnRGbGF0YmVkOmI3ZSxmYURvbGx5RmxhdGJlZDp4WXQsZmFIb3VzZVVzZXI6djdlLGZhSG9tZVVzZXI6eVl0LGZhR2hvc3Q6d1l0LGZhQ29tbWVudE5vZGVzOk1ZdCxmYVBlcnNvbkFycm93RG93blRvTGluZTprWXQsZmFQbHVnQ2lyY2xlUGx1czpTWXQsZmFQZXJzb25Td2ltbWluZzp4N2UsZmFTd2ltbWVyOnpZdCxmYUNvbW1lbnREb3RzOnk3ZSxmYUNvbW1lbnRpbmc6Q1l0LGZhQ2hhcnRQaWU6dzdlLGZhUGllQ2hhcnQ6X1l0LGZhRnJvZzpUWXQsZmFXaW5lQm90dGxlOkxZdCxmYUluYm94OiRZdCxmYVNxdWFyZUg6TTdlLGZhSFNxdWFyZTpEWXQsZmFIb3VzZU1lZGljYWw6QVl0LGZhQ2lyY2xlQ2hldnJvblJpZ2h0Oms3ZSxmYUNoZXZyb25DaXJjbGVSaWdodDpFWXQsZmFGaWxlQ3N2OlBZdCxmYUhhdENvd2JveTpJWXQsZmFGYWNlR3JpblRvbmd1ZVdpbms6UzdlLGZhR3JpblRvbmd1ZVdpbms6Tll0LGZhTDpSWXQsZmFBcnJvd0Rvd25TaG9ydFdpZGU6c3RlLGZhU29ydEFtb3VudERlc2M6T1l0LGZhU29ydEFtb3VudERvd25BbHQ6Rll0LGZhSG91cmdsYXNzSGFsZjp6N2UsZmFIb3VyZ2xhc3MyOkJZdCxmYVNwb29uOkM3ZSxmYVV0ZW5zaWxTcG9vbjpIWXQsZmFDcmVkaXRDYXJkOl83ZSxmYUNyZWRpdENhcmRBbHQ6cVl0LGZhRmlsZUludm9pY2VEb2xsYXI6RnRlLGZhU3BhZ2hldHRpTW9uc3RlckZseWluZzpUN2UsZmFQYXN0YWZhcmlhbmlzbTpWWXQsZmFNYXJ0aW5pR2xhc3NDaXRydXM6TDdlLGZhQ29ja3RhaWw6all0LGZhQnVsbGhvcm46VVl0LGZhQm94VGlzc3VlOldZdCxmYU1hdHRyZXNzUGlsbG93OkdZdCxmYUNoZXZyb25MZWZ0OllZdCxmYUNsb3VkTW9vblJhaW46S1l0LGZhQXJyb3dEb3duMTk6aXRlLGZhU29ydE51bWVyaWNBc2M6Wll0LGZhU29ydE51bWVyaWNEb3duOlhZdCxmYUhhbmRTcG9jazpRWXQsZmFXYW5kTWFnaWNTcGFya2xlczokN2UsZmFNYWdpY1dhbmRTcGFya2xlczpKWXQsZmFDb21tZW50TWVkaWNhbDplS3QsZmFCZWxsU2xhc2g6dEt0LGZhSGFuZHNoYWtlU2xhc2g6b3RlLGZhSGFuZHNoYWtlQWx0U2xhc2g6YUt0LGZhSGFuZHNoYWtlU2ltcGxlU2xhc2g6ckt0LGZhQm90dGxlV2F0ZXI6c0t0LGZhRGljZUQyMDppS3QsZmFBcnJvd0Rvd25aQTpudGUsZmFTb3J0QWxwaGFEZXNjOm9LdCxmYVNvcnRBbHBoYURvd25BbHQ6bkt0LGZhQnJ1c2g6bEt0LGZhUGVyc29uV2Fsa2luZ0Rhc2hlZExpbmVBcnJvd1JpZ2h0OmNLdCxmYUFycm93VXBTaG9ydFdpZGU6RDdlLGZhU29ydEFtb3VudFVwQWx0OmRLdCxmYUdyaXBWZXJ0aWNhbDpBN2UsZmFHcmlkVmVydGljYWw6dUt0LGZhQ2FyVHVubmVsOnBLdCxmYUNoYXJ0Q29sdW1uOmZLdCxmYUNhcHJpY29ybjpoS3QsZmFUcnVja0Fycm93UmlnaHQ6bUt0LGZhVHY6bHRlLGZhVGVsZXZpc2lvbjpnS3QsZmFUdkFsdDpiS3QsZmFTZWN0aW9uOnZLdCxmYVBlYWNlOnhLdCxmYVN0YXI6eUt0LGZhRmxhZzp3S3QsZmFUcmlhbmdsZUV4Y2xhbWF0aW9uOmN0ZSxmYUV4Y2xhbWF0aW9uVHJpYW5nbGU6TUt0LGZhV2FybmluZzprS3QsZmFTY2hvb2xDaXJjbGVFeGNsYW1hdGlvbjpTS3QsZmFHcmFkdWF0aW9uQ2FwOkU3ZSxmYU1vcnRhckJvYXJkOnpLdCxmYVN0b3JlOkNLdCxmYVVzZXJBc3Ryb25hdXQ6X0t0LGZhQnVpbGRpbmdGbGFnOlRLdCxmYU11Z1NhdWNlcjpQN2UsZmFDb2ZmZWU6TEt0LGZhTGVtb246JEt0LGZhQ2FyYXZhbjpES3QsZmFROkFLdCxmYUxvY2s6RUt0LGZhUGFpbnRSb2xsZXI6UEt0LGZhVm9sdW1lSGlnaDpJN2UsZmFWb2x1bWVVcDpJS3QsZmFGb2xkZXJQbHVzOk5LdCxmYU1lcmN1cnk6Ukt0LGZhQW5jaG9yOk9LdCxmYVNxdWFyZVBhcmtpbmc6TjdlLGZhUGFya2luZzpGS3QsZmFIYW51a2lhaDpCS3QsZmFSb3RhdGVMZWZ0OlpiLGZhUm90YXRlQmFjazpIS3QsZmFSb3RhdGVCYWNrd2FyZDpxS3QsZmFVbmRvQWx0OlZLdCxmYUhlYWRpbmc6UjdlLGZhSGVhZGVyOmpLdCxmYUNyb3NzaGFpcnM6VUt0LGZhQ2lyY2xlTm9kZXM6V0t0LGZhV2luZG93UmVzdG9yZTpHS3QsZmFSOllLdCxmYUZpbHRlckNpcmNsZVhtYXJrOktLdCxmYUdvcHVyYW06Wkt0LGZhSGVhcnRDaXJjbGVNaW51czpYS3QsZmFTdGFyT2ZMaWZlOlFLdCxmYUJ1c2luZXNzVGltZTpPN2UsZmFCcmllZmNhc2VDbG9jazpKS3QsZmFGaXJlRXh0aW5ndWlzaGVyOmVadCxmYUFycm93RG93bkxvbmc6RjdlLGZhTG9uZ0Fycm93RG93bjp0WnQsZmFVc2VyTWludXM6YVp0LGZhTW9uZXlDaGVjazpyWnQsZmFIb3VzZUxhcHRvcDpCN2UsZmFMYXB0b3BIb3VzZTpzWnQsZmFEb3dubG9hZDppWnQsZmFTYWdpdHRhcml1czpvWnQsZmFDb3VjaDpuWnQsZmFSb2FkTG9jazpsWnQsZmFTY2lzc29yczpIN2UsZmFDdXQ6Y1p0LGZhQnVnOkJ0ZSxmYUFycm93UmlnaHRGcm9tQnJhY2tldDpxN2UsZmFTaWduT3V0OmRadCxmYUhhbmRIb2xkaW5nSGFuZDp1WnQsZmFTdHJvb3B3YWZlbDpwWnQsZmFDaGlsZDpmWnQsZmFJY2VDcmVhbTpoWnQsZmFDb21wdXRlck1vdXNlOlY3ZSxmYU1vdXNlOm1adCxmYUZhdWNldDpnWnQsZmFBd2FyZDpiWnQsZmFQZXJzb25Ecm93bmluZzp2WnQsZmFDYW1lcmFSb3RhdGU6eFp0LGZhRmFjZUdyaW5IZWFydHM6ajdlLGZhR3JpbkhlYXJ0czp5WnQsZmFGaWxlRnJhZ21lbnQ6d1p0LGZhUGVyc29uTWlsaXRhcnlSaWZsZTpNWnQsZmFUb2dnbGVPbjprWnQsZmFMdW5nc1ZpcnVzOlNadCxmYVRhYmxlVGVubmlzUGFkZGxlQmFsbDpkdGUsZmFQaW5nUG9uZ1BhZGRsZUJhbGw6elp0LGZhVGFibGVUZW5uaXM6Q1p0LGZhQm94ZXNQYWNraW5nOl9adCxmYVBlcnNvbkNoYWxrYm9hcmQ6VFp0LGZhRGljZVR3bzpMWnQsZmFBcnJvd1JpZ2h0QXJyb3dMZWZ0OlU3ZSxmYUV4Y2hhbmdlOiRadCxmYUZvb3RiYWxsOlc3ZSxmYUZvb3RiYWxsQmFsbDpEWnQsZmFUcnVja01vbnN0ZXI6QVp0LGZhQXN0ZXJpc2s6RVp0LGZhQmF0dGVyeUZ1bGw6dXRlLGZhQmF0dGVyeTpQWnQsZmFCYXR0ZXJ5NTpJWnQsZmFDaGlsZERyZXNzOk5adCxmYUZhY2VLaXNzQmVhbTpHN2UsZmFLaXNzQmVhbTpSWnQsZmFUcmFzaENhbkFycm93VXA6WTdlLGZhVHJhc2hSZXN0b3JlQWx0Ok9adCxmYUZvbnQ6Rlp0LGZhQm9yZUhvbGU6Qlp0LGZhVmlydXNDb3ZpZDpIWnQsZmFGaWxlUGRmOnFadCxmYUxhbmd1YWdlOlZadCxmYVNoaWVsZEhhbHZlZDpLN2UsZmFTaGllbGRBbHQ6alp0LGZhQ2FyZXRVcDpVWnQsZmFGaWxlUGVuOlo3ZSxmYUZpbGVFZGl0OldadCxmYVBlcnNvbkJpa2luZzpYN2UsZmFCaWtpbmc6R1p0LGZhQm9va09wZW5SZWFkZXI6UTdlLGZhQm9va1JlYWRlcjpZWnQsZmFHbGFzc1dhdGVyRHJvcGxldDpLWnQsZmFUb3dlckJyb2FkY2FzdDpKN2UsZmFCcm9hZGNhc3RUb3dlcjpaWnQsZmFNaW5pbWl6ZTplOWUsZmFDb21wcmVzc0Fycm93c0FsdDpYWnQsZmFBcnJvd1JpZ2h0VG9DaXR5OlFadCxmYUxhcHRvcE1lZGljYWw6Slp0LGZhQnJlYWRTbGljZTplWHQsZmFHbG9iZTp0WHQsZmFGb2xkZXJNaW51czphWHQsZmFNYXNrRmFjZTpyWHQsZmFCb25nOnNYdCxmYVJvYWRCcmlkZ2U6aVh0LGZhQXJyb3dVcDkxOnQ5ZSxmYVNvcnROdW1lcmljVXBBbHQ6b1h0LGZhTW91bnRhaW5DaXR5Om5YdCxmYUFycm93RG93bjkxOnB0ZSxmYVNvcnROdW1lcmljRGVzYzpsWHQsZmFTb3J0TnVtZXJpY0Rvd25BbHQ6Y1h0LGZhRmFjZUdyaW5XaWRlOmE5ZSxmYUdyaW5BbHQ6ZFh0LGZhUG9vcDp1WHQsZmFEaGFybWFjaGFrcmE6cFh0LGZhQmF0dGVyeVF1YXJ0ZXI6cjllLGZhQmF0dGVyeTI6Zlh0LGZhQW5raDpoWHQsZmFEaWFtb25kOm1YdCxmYVN1YnNjcmlwdDpnWHQsZmFSdXBlZVNpZ246czllLGZhUnVwZWU6Ylh0LGZhUGVyc29uUmlmbGU6dlh0LGZhRDp4WHQsZmFTcXVhcmVOZmk6eVh0LGZhVGVldGg6d1h0LGZhTWFnbmlmeWluZ0dsYXNzRG9sbGFyOmk5ZSxmYVNlYXJjaERvbGxhcjpNWHQsZmFEdW1wc3RlckZpcmU6a1h0LGZhVXBsb2FkOlNYdCxmYVVzZXJTbGFzaDpmdGUsZmFVc2VyQWx0U2xhc2g6elh0LGZhVXNlckxhcmdlU2xhc2g6Q1h0LGZhQXJyb3dMZWZ0Ol9YdCxmYVZpYWxWaXJ1czpUWHQsZmFDaGVja0RvdWJsZTpMWHQsZmFQYXc6JFh0LGZhSGVsbWV0U2FmZXR5Omh0ZSxmYUhhcmRIYXQ6RFh0LGZhSGF0SGFyZDpBWHQsZmFFOkVYdCxmYUZhY2VMYXVnaFNxdWludDpvOWUsZmFMYXVnaFNxdWludDpQWHQsZmFEb3duTGVmdEFuZFVwUmlnaHRUb0NlbnRlcjpuOWUsZmFDb21wcmVzc0FsdDpJWHQsZmFHaWZ0czpOWHQsZmFCZWQ6Ulh0LGZhTW9uZXlCaWxsVHJhbnNmZXI6T1h0LGZhUGVyc29uUnVubmluZzpsOWUsZmFSdW5uaW5nOkZYdCxmYUNpcmNsZUNoZXZyb25Eb3duOmM5ZSxmYUNoZXZyb25DaXJjbGVEb3duOkJYdCxmYVVzZXJOdXJzZTpIWHQsZmFGYWNlS2lzc1dpbmtIZWFydDpkOWUsZmFLaXNzV2lua0hlYXJ0OnFYdCxmYUZpbGw6Vlh0LGZhTW9uZXlCaWxsMVdhdmU6dTllLGZhTW9uZXlCaWxsV2F2ZUFsdDpqWHQsZmFMYW5kbWFyazpVWHQsZmFNdXNpYzpXWHQsZmFCb29rTWVkaWNhbDpHWHQsZmFTaHVmZmxlOnA5ZSxmYVJhbmRvbTpZWHQsZmFVbmRlcmxpbmU6S1h0LGZhQnVpbGRpbmdVc2VyOlpYdCxmYVJvYm90OlhYdCxmYVBsdXM6dXYsZmFBZGQ6UVh0LGZhQ29weTpIdGUsZmFDaGVzc0tpbmc6Slh0LGZhSG91c2VGbG9vZFdhdGVyOmVRdCxmYUJpdGNvaW5TaWduOnRRdCxmYUJveDphUXQsZmFTcXVhcmVQbHVzOmY5ZSxmYVBsdXNTcXVhcmU6clF0LGZhQXJyb3dzTGVmdFJpZ2h0Omg5ZSxmYUFycm93c0g6c1F0LGZhRmFuOmlRdCxmYUNyb3c6b1F0LGZhRmlsZUNpcmNsZUNoZWNrOm5RdCxmYUxpbmtTbGFzaDpYYixmYUNoYWluQnJva2VuOmxRdCxmYUNoYWluU2xhc2g6Y1F0LGZhVW5saW5rOmRRdCxmYUFycm93Um90YXRlUmlnaHQ6UWIsZmFBcnJvd1JpZ2h0Um90YXRlOnVRdCxmYUFycm93Um90YXRlRm9yd2FyZDpwUXQsZmFSZWRvOmZRdCxmYVBlbkNsaXA6bTllLGZhUGVuQWx0OmhRdCxmYURvb3JDbG9zZWQ6bVF0LGZhQXJyb3dEb3duV2lkZVNob3J0Om10ZSxmYVNvcnRBbW91bnRBc2M6Z1F0LGZhU29ydEFtb3VudERvd246YlF0LGZhQ2FyZXREb3duOnZRdCxmYUs6eFF0LGZhQ2hlY2tUb1Nsb3Q6ZzllLGZhVm90ZVllYTp5UXQsZmFGaXNoRmluczp3UXQsZmFDb21wcmVzczpNUXQsZmFBcnJvd1VwQVo6YjllLGZhU29ydEFscGhhVXA6a1F0LGZhVXNlckdyYWR1YXRlOlNRdCxmYUZpbGVDb2RlOnpRdCxmYVNvYXA6Q1F0LGZhUmVjeWNsZTpfUXQsZmFGYWNlR3Jpbldpbms6djllLGZhR3Jpbldpbms6VFF0LGZhV2F0ZXJMYWRkZXI6Z3RlLGZhTGFkZGVyV2F0ZXI6TFF0LGZhU3dpbW1pbmdQb29sOiRRdCxmYUdlbWluaTpEUXQsZmFUb3dlckNlbGw6QVF0LGZhQ29sb25TaWduOkVRdCxmYUxhcHRvcEZpbGU6UFF0LGZhQmFoYWk6eDllLGZhSGF5a2FsOklRdCxmYU1vbmV5QmlsbDE6eTllLGZhTW9uZXlCaWxsQWx0Ok5RdCxmYUNsb3VkQm9sdDp3OWUsZmFUaHVuZGVyc3Rvcm06UlF0LGZhRXRoZXJuZXQ6T1F0LGZhSHJ5dm5pYVNpZ246TTllLGZhSHJ5dm5pYTpGUXQsZmFFeWVTbGFzaDpxdGUsZmFDYXJ0RmxhdGJlZFN1aXRjYXNlOms5ZSxmYUx1Z2dhZ2VDYXJ0OkJRdCxmYVJhZGlhdGlvbjpIUXQsZmFGaWxlV29yZDpxUXQsZmFCZWRQdWxzZTpTOWUsZmFQcm9jZWR1cmVzOlZRdCxmYVRlbnRzOmpRdCxmYU11Z0hvdDpWdGUsZmFCb2x0Ono5ZSxmYVphcDpVUXQsZmFKYXI6V1F0LGZhVHJ1Y2tQbGFuZTpHUXQsZmFIYW5kSG9sZGluZ0hlYXJ0OllRdCxmYUFycm93Um90YXRlTGVmdDpROCxmYUFycm93TGVmdFJvdGF0ZTpLUXQsZmFBcnJvd1JvdGF0ZUJhY2s6WlF0LGZhQXJyb3dSb3RhdGVCYWNrd2FyZDpYUXQsZmFVbmRvOlFRdCxmYUZhY2VBbmdyeTpDOWUsZmFBbmdyeTpKUXQsZmFCdXJzdDplSnQsZmFaOnRKdCxmYUJhbmRhZ2U6XzllLGZhQmFuZEFpZDphSnQsZmFQbGFuZUNpcmNsZUV4Y2xhbWF0aW9uOnJKdCxmYUJ1c1NpZGU6c0p0LGZhQnVnczppSnQsZmFCZWVyTXVnRW1wdHk6VDllLGZhQmVlcjpvSnQsZmFQZXJzb25DaXJjbGVDaGVjazpuSnQsZmFTdGFwbGVyOmxKdCxmYUhvdXNlTWVkaWNhbENpcmNsZUNoZWNrOmNKdCxmYU5haXJhU2lnbjpkSnQsZmFXaWZpOmJ0ZSxmYVdpZmkzOnVKdCxmYVdpZmlTdHJvbmc6cEp0LGZhTW9uZXlDaGVja0RvbGxhcjpwdixmYU1vbmV5Q2hlY2tBbHQ6Zkp0LGZhRXllTG93VmlzaW9uOkw5ZSxmYUxvd1Zpc2lvbjpoSnQsZmFDaXJjbGVBcnJvd1VwOiQ5ZSxmYUFycm93Q2lyY2xlVXA6bUp0LGZhQ2FtZXJhUmV0cm86Z0p0LGZhQ2Fwc3VsZXM6Ykp0LGZhUG9vOnZKdCxmYVZvbHVtZTpEOWUsZmFWb2x1bWVNZWRpdW06eEp0LGZhRWxldmF0b3I6eUp0LGZhVGFnOndKdCxmYUZpbGVDaXJjbGVNaW51czpNSnQsZmFEb3duTG9uZzpBOWUsZmFMb25nQXJyb3dBbHREb3duOmtKdCxmYUNvbXBhY3REaXNjOlNKdCxmYVN1aXRjYXNlUm9sbGluZzp6SnQsZmFCb29rUXVyYW46RTllLGZhUXVyYW46Q0p0LGZhUGhvbmVTbGFzaDpfSnQsZmFSb2FkQ2lyY2xlQ2hlY2s6VEp0LGZhU2hvcExvY2s6TEp0LGZhSW1hZ2VQb3J0cmFpdDpQOWUsZmFQb3J0cmFpdDokSnQsZmFCcmlkZ2VMb2NrOkRKdCxmYUhhbW1lcjpBSnQsZmFBcnJvd1VwMTk6STllLGZhU29ydE51bWVyaWNVcDpFSnQsZmFDaGVzc0tuaWdodDpQSnQsZmFIb3VzZUZsb29kV2F0ZXJDaXJjbGVBcnJvd1JpZ2h0OklKdCxmYUFycm93VXBSaWdodEZyb21TcXVhcmU6ZnYsZmFFeHRlcm5hbExpbms6Tkp0LGZhQXJyb3dEb3duVXBBY3Jvc3NMaW5lOlJKdCxmYUZhY2VHcmluQmVhbTpOOWUsZmFHcmluQmVhbTpPSnQsZmFSZWN0YW5nbGVBZDpSOWUsZmFBZDpGSnQsZmFCb29rVGFuYWtoOk85ZSxmYVRhbmFraDpCSnQsZmFIb3RUdWJQZXJzb246RjllLGZhSG90VHViOkhKdCxmYUZpbGVIYWxmRGFzaGVkOnFKdCxmYU91dGRlbnQ6QjllLGZhRGVkZW50OlZKdCxmYUhhbmRQZWFjZTpqSnQsZmFIZWFkU2lkZVZpcnVzOlVKdCxmYUNvbXBhc3M6V0p0LGZhUGVuTmliOkdKdCxmYVRlbnRBcnJvd3NEb3duOllKdCxmYUZvcndhcmRGYXN0Okg5ZSxmYUZhc3RGb3J3YXJkOktKdCxmYUNyb3A6Wkp0LGZhV2hpc2tleUdsYXNzOnE5ZSxmYUdsYXNzV2hpc2tleTpYSnQsZmFTcXVhcmU6UUp0LGZhRmFjZUdyaW46VjllLGZhR3JpbjpKSnQsZmFGaWxlQ29udHJhY3Q6ZWVhLGZhQW5nbGVVcDp0ZWEsZmFGYWNlU21pbGU6ajllLGZhU21pbGU6YWVhLGZhUGVyc29uRHJlc3NCdXJzdDpyZWEsZmFEaXZpZGU6c2VhLGZhQ29kZUZvcms6aWVhLGZhSG91c2VGbGFnOm9lYSxmYUJ1aWxkaW5nQ29sdW1uczpKOCxmYUJhbms6bmVhLGZhSW5zdGl0dXRpb246bGVhLGZhTXVzZXVtOmNlYSxmYVVuaXZlcnNpdHk6ZGVhLGZhUnVnOnVlYSxmYUNvZGVNZXJnZTpwZWEsZmFIb3VzZVRzdW5hbWk6ZmVhLGZhTWFnbmlmeWluZ0dsYXNzQ2hhcnQ6aGVhLGZhVW1icmVsbGE6bWVhLGZhSGlsbFJvY2tzbGlkZTpnZWEsZmFVc2VyU2VjcmV0OmJlYSxmYVBhZ2VyOnZlYSxmYUJyaWVmY2FzZTp4ZWEsZmFUcm93ZWxCcmlja3M6eWVhLGZhU29ja3M6d2VhLGZhVDpNZWEsZmFNaWNyb2NoaXA6a2VhLGZhVHJ1Y2tNZWRpY2FsOlU5ZSxmYUFtYnVsYW5jZTpTZWEsZmFPbTp6ZWEsZmFNb3NxdWl0b05ldDpDZWEsZmFQcmVzY3JpcHRpb25Cb3R0bGU6X2VhLGZhVXNlcnNHZWFyOlc5ZSxmYVVzZXJzQ29nOlRlYSxmYVJvYWRDaXJjbGVFeGNsYW1hdGlvbjpMZWEsZmFQYXVzZTokZWEsZmFTdGFmZlNuYWtlOkpiLGZhUm9kQXNjbGVwaXVzOkRlYSxmYVJvZFNuYWtlOkFlYSxmYVN0YWZmQWVzY3VsYXBpdXM6RWVhLGZhUGlnZ3lCYW5rOlBlYSxmYU1vbnVtZW50OkllYSxmYUFuZ2xlc1JpZ2h0Okc5ZSxmYUFuZ2xlRG91YmxlUmlnaHQ6TmVhLGZhRGVza3RvcDpodixmYURlc2t0b3BBbHQ6UmVhLGZhUGxhbmVDaXJjbGVYbWFyazpPZWEsZmFSZXR3ZWV0OkZlYSxmYVVzZXJHZWFyOlk5ZSxmYVVzZXJDb2c6QmVhLGZhQm9yZGVyQWxsOkhlYSxmYUNvaW5zOnFlYSxmYU1hcnNTdHJva2U6VmVhLGZhSGFuZHNoYWtlQW5nbGU6SzllLGZhSGFuZHNIZWxwaW5nOmplYSxmYUFycm93RG93bjpVZWEsZmFMb2NhdGlvbkRvdDpaOWUsZmFNYXBNYXJrZXJBbHQ6V2VhLGZhUGx1Z0NpcmNsZUV4Y2xhbWF0aW9uOkdlYSxmYUNvb2tpZUJpdGU6WWVhLGZhU2NyZXdkcml2ZXJXcmVuY2g6WDllLGZhVG9vbHM6S2VhLGZhSW5kZW50OlplYSxmYUJhcnM6UTllLGZhTmF2aWNvbjpYZWEsZmFIYW5kc1ByYXlpbmc6SjllLGZhUHJheWluZ0hhbmRzOlFlYSxmYVZpcnVzZXM6SmVhLGZhU2Nob29sRmxhZzpldGEsZmFUcmFkZW1hcms6dHRhLGZhRmlyZUJ1cm5lcjphdGEsZmFGYWNlU21pbGVCZWFtOmVnZSxmYVNtaWxlQmVhbTpydGEsZmFUZW50QXJyb3dMZWZ0UmlnaHQ6c3RhLGZhUm91dGU6aXRhLGZhQW5nbGVzVXA6dGdlLGZhQW5nbGVEb3VibGVVcDpvdGEsZmFCdWNrZXQ6bnRhLGZhTGVzc1RoYW5FcXVhbDpsdGEsZmFGb2xkZXJDbG9zZWQ6Y3RhLGZhUGVyc29uVGhyb3VnaFdpbmRvdzpkdGEsZmFTY2hvb2xMb2NrOnV0YSxmYVBlcnNvbkJ1cnN0OnB0YSxmYUxlZnRMb25nOmFnZSxmYUxvbmdBcnJvd0FsdExlZnQ6ZnRhLGZhTG9jYXRpb25Dcm9zc2hhaXJzOnJnZSxmYUxvY2F0aW9uOmh0YSxmYVBlcnNvbkRvdHNGcm9tTGluZTpzZ2UsZmFEaWFnbm9zZXM6bXRhLGZhR2F1Z2VTaW1wbGVIaWdoOnZ0ZSxmYVRhY2hvbWV0ZXI6Z3RhLGZhVGFjaG9tZXRlckZhc3Q6YnRhLGZhQW5nbGVzTGVmdDppZ2UsZmFBbmdsZURvdWJsZUxlZnQ6dnRhLGZhVXBEb3duOm9nZSxmYUFycm93c0FsdFY6eHRhLGZhQmF0dGVyeUVtcHR5Om5nZSxmYUJhdHRlcnkwOnl0YSxmYUtleWJvYXJkOnd0YSxmYUNvb2tpZTpNdGEsZmFTdG9wd2F0Y2g6a3RhLGZhRWplY3Q6U3RhLGZhU2F0ZWxsaXRlRGlzaDp6dGEsZmFGYWNlUm9sbGluZ0V5ZXM6bGdlLGZhTWVoUm9sbGluZ0V5ZXM6Q3RhLGZhTGlzdENoZWNrOmNnZSxmYVRhc2tzOl90YSxmYVNhY2tYbWFyazpUdGEsZmFIYXNodGFnOkx0YSxmYVRyYWluOiR0YSxmYUdhbWVwYWQ6RHRhLGZhRmlsZUV4cG9ydDpkZ2UsZmFBcnJvd1JpZ2h0RnJvbUZpbGU6QXRhLGZhRmFjZUdyaW1hY2U6dWdlLGZhR3JpbWFjZTpFdGEsZmFUcmFpblN1YndheTpwZ2UsZmFTdWJ3YXk6UHRhLGZhQ2lyY2xlRG90OmZnZSxmYURvdENpcmNsZTpJdGEsZmFPYmplY3RHcm91cDpOdGEsZmFTaGlwOlJ0YSxmYUM6T3RhLGZhU3F1YXJlUGhvbmU6aGdlLGZhUGhvbmVTcXVhcmU6RnRhLGZhUnVsZXJDb21iaW5lZDpCdGEsZmFBcnJvd3NSb3RhdGU6eHRlLGZhUmVmcmVzaDpIdGEsZmFTeW5jOnF0YSxmYVBlcnNvbkRyZXNzOm1nZSxmYUZlbWFsZTpWdGEsZmFCb29rT3BlbjpqdGEsZmFGb2xkZXJUcmVlOlV0YSxmYVZpcmdvOld0YSxmYUJveEFyY2hpdmU6Z2dlLGZhQXJjaGl2ZTpHdGEsZmFUZW50QXJyb3dEb3duVG9MaW5lOll0YSxmYVFyY29kZTpLdGEsZmFEcmFnb246WnRhLGZhSG91cmdsYXNzRW5kOmJnZSxmYUhvdXJnbGFzczM6WHRhLGZhR3JpcDp0bSxmYUdyaWRIb3Jpem9udGFsOlF0YSxmYUdyaXBIb3Jpem9udGFsOkp0YSxmYUJvcmRlclRvcExlZnQ6dmdlLGZhQm9yZGVyU3R5bGU6ZWFhLGZhTGlzdFVsOnhnZSxmYUxpc3REb3RzOnRhYSxmYVBlb3BsZVJvYmJlcnk6YWFhLGZhTW9iaWxlQnV0dG9uOnJhYSxmYUFycm93RG93bkFaOnl0ZSxmYVNvcnRBbHBoYUFzYzpzYWEsZmFTb3J0QWxwaGFEb3duOmlhYSxmYU1vbmV5QmlsbDpvYWEsZmFDaXJjbGVNaW51czp5Z2UsZmFNaW51c0NpcmNsZTpuYWEsZmFBcnJvd1BvaW50ZXI6d2dlLGZhTW91c2VQb2ludGVyOmxhYSxmYVNxdWFyZVNoYXJlTm9kZXM6TWdlLGZhU2hhcmVBbHRTcXVhcmU6Y2FhLGZhVGFibGVDZWxsc0xhcmdlOmtnZSxmYVRoTGFyZ2U6ZGFhLGZhQ2F0OnVhYSxmYUNhbGVuZGFyV2VlazpwYWEsZmFDb2RlQ29tcGFyZTpmYWEsZmFMZW86aGFhLGZhUm9hZENpcmNsZVhtYXJrOm1hYSxmYVBhbGxldDpnYWEsZmFDYWtlQ2FuZGxlczp3dGUsZmFCaXJ0aGRheUNha2U6YmFhLGZhQ2FrZTp2YWEsZmFCdWdTbGFzaDp4YWEsZmFUYXJwOnlhYSxmYURpYWdyYW1QcmVkZWNlc3Nvcjp3YWEsZmFGYWNlRmx1c2hlZDpTZ2UsZmFGbHVzaGVkOk1hYSxmYURpYWdyYW1OZXh0OmthYSxmYUFuY2hvckNpcmNsZVhtYXJrOlNhYSxmYVBlcnNvbkNpcmNsZVhtYXJrOnphYSxmYVNwYTpDYWEsZmFBcmllczpfYWEsZmFCYXJzUHJvZ3Jlc3M6emdlLGZhVGFza3NBbHQ6VGFhLGZhSGVhcnRDaXJjbGVDaGVjazpMYWEsZmFNYXJzU3Ryb2tlUmlnaHQ6Q2dlLGZhTWFyc1N0cm9rZUg6JGFhLGZhVG93ZXJPYnNlcnZhdGlvbjpEYWEsZmFTdGVybGluZ1NpZ246TXRlLGZhR2JwOkFhYSxmYVBvdW5kU2lnbjpFYWEsZmFGYXVjZXREcmlwOlBhYSxmYUNpcmNsZUluZm86bXYsZmFJbmZvQ2lyY2xlOklhYSxmYUZlYXRoZXI6TmFhLGZhQm93bFJpY2U6UmFhLGZhU3RhckhhbGZTdHJva2U6X2dlLGZhU3RhckhhbGZBbHQ6T2FhLGZhVGVtcGVyYXR1cmVBcnJvd0Rvd246VGdlLGZhVGVtcGVyYXR1cmVEb3duOkZhYSxmYU1hc2tWZW50aWxhdG9yOkJhYSxmYUZpbGVWaWRlbzpIYWEsZmFBcnJvd1RyZW5kRG93bjpxYWEsZmFPaWxDYW46VmFhLGZhUGVvcGxlQ2FycnlCb3g6TGdlLGZhUGVvcGxlQ2Fycnk6amFhLGZhQ2hhaXI6VWFhLGZhV2luZDpXYWEsZmFMYXllckdyb3VwOkdhYSxmYUhlYWRTaWRlTWFzazpZYWEsZmFIYW5kczprdGUsZmFTaWduTGFuZ3VhZ2U6S2FhLGZhU2lnbmluZzpaYWEsZmFUYWJsZXRzOlhhYSxmYVdlaWdodEhhbmdpbmc6UWFhLGZhRGljZTpKYWEsZmFTaG9wU2xhc2g6JGdlLGZhU3RvcmVBbHRTbGFzaDplcmEsZmFTb3J0RG93bjpEZ2UsZmFTb3J0RGVzYzp0cmEsZmFQZXNldGFTaWduOmFyYSxmYVRhYmxldFNjcmVlbkJ1dHRvbjpBZ2UsZmFUYWJsZXRBbHQ6cnJhLGZhSGFuZEhvbGRpbmdEb2xsYXI6RWdlLGZhSGFuZEhvbGRpbmdVc2Q6c3JhLGZhU2hpZWxkOlBnZSxmYVNoaWVsZEJsYW5rOmlyYSxmYUZhY2VMYXVnaDpJZ2UsZmFMYXVnaDpvcmEsZmFIYW5kc0hvbGRpbmc6bnJhLGZhQ2FydFNob3BwaW5nOk5nZSxmYVNob3BwaW5nQ2FydDpscmEsZmFPY3RhZ29uOmNyYSxmYUhhbmRQb2ludGVyOmRyYSxmYVJlZ2lzdGVyZWQ6dXJhLGZhSG91c2VTaWduYWw6cHJhLGZhQmFuZ2xhZGVzaGlUYWthU2lnbjpmcmF9fSk7dmFyIGJ2LFJnZT1mKCgpPT57YnY9e3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsd2lkdGg6MjQsaGVpZ2h0OjI0LHZpZXdCb3g6IjAgMCAyNCAyNCIsZmlsbDoibm9uZSIsc3Ryb2tlOiJjdXJyZW50Q29sb3IiLCJzdHJva2Utd2lkdGgiOjIsInN0cm9rZS1saW5lY2FwIjoicm91bmQiLCJzdHJva2UtbGluZWpvaW4iOiJyb3VuZCJ9fSk7dmFyIG1yYSxpNCxPZ2U9ZigoKT0+e1JnZSgpO21yYT1zKChbYSxlLHRdKT0+e2xldCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLGEpO3JldHVybiBPYmplY3Qua2V5cyhlKS5mb3JFYWNoKGk9PntyLnNldEF0dHJpYnV0ZShpLFN0cmluZyhlW2ldKSl9KSx0Py5sZW5ndGgmJnQuZm9yRWFjaChpPT57bGV0IG89bXJhKGkpO3IuYXBwZW5kQ2hpbGQobyl9KSxyfSwiY3JlYXRlU1ZHRWxlbWVudCIpLGk0PXMoKGEsZT17fSk9PntsZXQgcj17Li4uYnYsLi4uZX07cmV0dXJuIG1yYShbInN2ZyIscixhXSl9LCJjcmVhdGVFbGVtZW50Iil9KTt2YXIgRmdlLGdyYT1mKCgpPT57RmdlPXMoYT0+e2ZvcihsZXQgZSBpbiBhKWlmKGUuc3RhcnRzV2l0aCgiYXJpYS0iKXx8ZT09PSJyb2xlInx8ZT09PSJ0aXRsZSIpcmV0dXJuITA7cmV0dXJuITF9LCJoYXNBMTF5UHJvcCIpfSk7dmFyIEJnZSxicmE9ZigoKT0+e0JnZT1zKCguLi5hKT0+YS5maWx0ZXIoKGUsdCxyKT0+ISFlJiZlLnRyaW0oKSE9PSIiJiZyLmluZGV4T2YoZSk9PT10KS5qb2luKCIgIikudHJpbSgpLCJtZXJnZUNsYXNzZXMiKX0pO3ZhciBIZ2UsdnJhPWYoKCk9PntIZ2U9cyhhPT5hLnJlcGxhY2UoL14oW0EtWl0pfFtccy1fXSsoXHcpL2csKGUsdCxyKT0+cj9yLnRvVXBwZXJDYXNlKCk6dC50b0xvd2VyQ2FzZSgpKSwidG9DYW1lbENhc2UiKX0pO3ZhciBxZ2UseHJhPWYoKCk9Pnt2cmEoKTtxZ2U9cyhhPT57bGV0IGU9SGdlKGEpO3JldHVybiBlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Uuc2xpY2UoMSl9LCJ0b1Bhc2NhbENhc2UiKX0pO3ZhciB5cmEsVmdlLGp0ZSx3cmE9ZigoKT0+e09nZSgpO1JnZSgpO2dyYSgpO2JyYSgpO3hyYSgpO3lyYT1zKGE9PkFycmF5LmZyb20oYS5hdHRyaWJ1dGVzKS5yZWR1Y2UoKGUsdCk9PihlW3QubmFtZV09dC52YWx1ZSxlKSx7fSksImdldEF0dHJzIiksVmdlPXMoYT0+dHlwZW9mIGE9PSJzdHJpbmciP2E6IWF8fCFhLmNsYXNzPyIiOmEuY2xhc3MmJnR5cGVvZiBhLmNsYXNzPT0ic3RyaW5nIj9hLmNsYXNzLnNwbGl0KCIgIik6YS5jbGFzcyYmQXJyYXkuaXNBcnJheShhLmNsYXNzKT9hLmNsYXNzOiIiLCJnZXRDbGFzc05hbWVzIiksanRlPXMoKGEse25hbWVBdHRyOmUsaWNvbnM6dCxhdHRyczpyfSk9PntsZXQgaT1hLmdldEF0dHJpYnV0ZShlKTtpZihpPT1udWxsKXJldHVybjtsZXQgbz1xZ2UoaSksbj10W29dO2lmKCFuKXJldHVybiBjb25zb2xlLndhcm4oYCR7YS5vdXRlckhUTUx9IGljb24gbmFtZSB3YXMgbm90IGZvdW5kIGluIHRoZSBwcm92aWRlZCBpY29ucyBvYmplY3QuYCk7bGV0IGw9eXJhKGEpLGQ9RmdlKGwpP3t9OnsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0sYz17Li4uYnYsImRhdGEtbHVjaWRlIjppLC4uLmQsLi4uciwuLi5sfSxwPVZnZShsKSx1PVZnZShyKSxtPUJnZSgibHVjaWRlIixgbHVjaWRlLSR7aX1gLC4uLnAsLi4udSk7bSYmT2JqZWN0LmFzc2lnbihjLHtjbGFzczptfSk7bGV0IHY9aTQobixjKTtyZXR1cm4gYS5wYXJlbnROb2RlPy5yZXBsYWNlQ2hpbGQodixhKX0sInJlcGxhY2VFbGVtZW50Iil9KTt2YXIgdnYsamdlPWYoKCk9Pnt2dj1bWyJwYXRoIix7ZDoibTE0IDEyIDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTE4IDE2VjcifV0sWyJwYXRoIix7ZDoibTIgMTYgNC4wMzktOS42OWEuNS41IDAgMCAxIC45MjMgMEwxMSAxNiJ9XSxbInBhdGgiLHtkOiJNMy4zMDQgMTNoNi4zOTIifV1dfSk7dmFyIHh2LFVnZT1mKCgpPT57eHY9W1sicGF0aCIse2Q6Im0xNCAxMSA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik0xOCAxNlY3In1dLFsicGF0aCIse2Q6Im0yIDE2IDQuMDM5LTkuNjlhLjUuNSAwIDAgMSAuOTIzIDBMMTEgMTYifV0sWyJwYXRoIix7ZDoiTTMuMzA0IDEzaDYuMzkyIn1dXX0pO3ZhciB5dixXZ2U9ZigoKT0+e3l2PVtbInBhdGgiLHtkOiJtMTUgMTYgMi41MzYtNy4zMjhhMS4wMiAxLjAyIDEgMCAxIDEuOTI4IDBMMjIgMTYifV0sWyJwYXRoIix7ZDoiTTE1LjY5NyAxNGg1LjYwNiJ9XSxbInBhdGgiLHtkOiJtMiAxNiA0LjAzOS05LjY5YS41LjUgMCAwIDEgLjkyMyAwTDExIDE2In1dLFsicGF0aCIse2Q6Ik0zLjMwNCAxM2g2LjM5MiJ9XV19KTt2YXIgd3YsR2dlPWYoKCk9Pnt3dj1bWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiI0IixyOiIxIn1dLFsicGF0aCIse2Q6Im0xOCAxOSAxLTctNiAxIn1dLFsicGF0aCIse2Q6Im01IDggMy0zIDUuNSAzLTIuMzYgMy41In1dLFsicGF0aCIse2Q6Ik00LjI0IDE0LjVhNSA1IDAgMCAwIDYuODggNiJ9XSxbInBhdGgiLHtkOiJNMTMuNzYgMTcuNWE1IDUgMCAwIDAtNi44OC02In1dXX0pO3ZhciBNdixZZ2U9ZigoKT0+e012PVtbInBhdGgiLHtkOiJNMjIgMTJoLTIuNDhhMiAyIDAgMCAwLTEuOTMgMS40NmwtMi4zNSA4LjM2YS4yNS4yNSAwIDAgMS0uNDggMEw5LjI0IDIuMThhLjI1LjI1IDAgMCAwLS40OCAwbC0yLjM1IDguMzZBMiAyIDAgMCAxIDQuNDkgMTJIMiJ9XV19KTt2YXIga3YsS2dlPWYoKCk9Pntrdj1bWyJwYXRoIix7ZDoiTTE4IDE3LjVhMi41IDIuNSAwIDEgMS00IDIuMDNWMTIifV0sWyJwYXRoIix7ZDoiTTYgMTJINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjVhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNiA4aDEyIn1dLFsicGF0aCIse2Q6Ik02LjYgMTUuNTcyQTIgMiAwIDEgMCAxMCAxN3YtNSJ9XV19KTt2YXIgU3YsWmdlPWYoKCk9PntTdj1bWyJwYXRoIix7ZDoiTTUgMTdINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJoLTEifV0sWyJwYXRoIix7ZDoibTEyIDE1IDUgNkg3WiJ9XV19KTt2YXIgbWQsWGdlPWYoKCk9PnttZD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiOCJ9XSxbInBhdGgiLHtkOiJNNSAzIDIgNiJ9XSxbInBhdGgiLHtkOiJtMjIgNi0zLTMifV0sWyJwYXRoIix7ZDoiTTYuMzggMTguNyA0IDIxIn1dLFsicGF0aCIse2Q6Ik0xNy42NCAxOC42NyAyMCAyMSJ9XSxbInBhdGgiLHtkOiJtOSAxMyAyIDIgNC00In1dXX0pO3ZhciBnZCxRZ2U9ZigoKT0+e2dkPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiI4In1dLFsicGF0aCIse2Q6Ik01IDMgMiA2In1dLFsicGF0aCIse2Q6Im0yMiA2LTMtMyJ9XSxbInBhdGgiLHtkOiJNNi4zOCAxOC43IDQgMjEifV0sWyJwYXRoIix7ZDoiTTE3LjY0IDE4LjY3IDIwIDIxIn1dLFsicGF0aCIse2Q6Ik05IDEzaDYifV1dfSk7dmFyIHp2LEpnZT1mKCgpPT57enY9W1sicGF0aCIse2Q6Ik02Ljg3IDYuODdhOCA4IDAgMSAwIDExLjI2IDExLjI2In1dLFsicGF0aCIse2Q6Ik0xOS45IDE0LjI1YTggOCAwIDAgMC05LjE1LTkuMTUifV0sWyJwYXRoIix7ZDoibTIyIDYtMy0zIn1dLFsicGF0aCIse2Q6Ik02LjI2IDE4LjY3IDQgMjEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNCA0IDIgNiJ9XV19KTt2YXIgYmQsZWJlPWYoKCk9PntiZD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiOCJ9XSxbInBhdGgiLHtkOiJNNSAzIDIgNiJ9XSxbInBhdGgiLHtkOiJtMjIgNi0zLTMifV0sWyJwYXRoIix7ZDoiTTYuMzggMTguNyA0IDIxIn1dLFsicGF0aCIse2Q6Ik0xNy42NCAxOC42NyAyMCAyMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTB2NiJ9XSxbInBhdGgiLHtkOiJNOSAxM2g2In1dXX0pO3ZhciBDdix0YmU9ZigoKT0+e0N2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiI4In1dLFsicGF0aCIse2Q6Ik0xMiA5djRsMiAyIn1dLFsicGF0aCIse2Q6Ik01IDMgMiA2In1dLFsicGF0aCIse2Q6Im0yMiA2LTMtMyJ9XSxbInBhdGgiLHtkOiJNNi4zOCAxOC43IDQgMjEifV0sWyJwYXRoIix7ZDoiTTE3LjY0IDE4LjY3IDIwIDIxIn1dXX0pO3ZhciBfdixhYmU9ZigoKT0+e192PVtbInBhdGgiLHtkOiJNMTEgMjFjMC0yLjUgMi0yLjUgMi01In1dLFsicGF0aCIse2Q6Ik0xNiAyMWMwLTIuNSAyLTIuNSAyLTUifV0sWyJwYXRoIix7ZDoibTE5IDgtLjggM2ExLjI1IDEuMjUgMCAwIDEtMS4yIDFIN2ExLjI1IDEuMjUgMCAwIDEtMS4yLTFMNSA4In1dLFsicGF0aCIse2Q6Ik0yMSAzYTEgMSAwIDAgMSAxIDF2MmEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY0YTEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik02IDIxYzAtMi41IDItMi41IDItNSJ9XV19KTt2YXIgVHYscmJlPWYoKCk9PntUdj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJwb2x5bGluZSIse3BvaW50czoiMTEgMyAxMSAxMSAxNCA4IDE3IDExIDE3IDMifV1dfSk7dmFyIEx2LHNiZT1mKCgpPT57THY9W1sicGF0aCIse2Q6Ik0yIDEyaDIwIn1dLFsicGF0aCIse2Q6Ik0xMCAxNnY0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0ydi00In1dLFsicGF0aCIse2Q6Ik0xMCA4VjRhMiAyIDAgMCAwLTItMkg2YTIgMiAwIDAgMC0yIDJ2NCJ9XSxbInBhdGgiLHtkOiJNMjAgMTZ2MWEyIDIgMCAwIDEtMiAyaC0yYTIgMiAwIDAgMS0yLTJ2LTEifV0sWyJwYXRoIix7ZDoiTTE0IDhWN2MwLTEuMS45LTIgMi0yaDJhMiAyIDAgMCAxIDIgMnYxIn1dXX0pO3ZhciAkdixpYmU9ZigoKT0+eyR2PVtbInBhdGgiLHtkOiJNMTIgMnYyMCJ9XSxbInBhdGgiLHtkOiJNOCAxMEg0YTIgMiAwIDAgMS0yLTJWNmMwLTEuMS45LTIgMi0yaDQifV0sWyJwYXRoIix7ZDoiTTE2IDEwaDRhMiAyIDAgMCAwIDItMlY2YTIgMiAwIDAgMC0yLTJoLTQifV0sWyJwYXRoIix7ZDoiTTggMjBIN2EyIDIgMCAwIDEtMi0ydi0yYzAtMS4xLjktMiAyLTJoMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTRoMWEyIDIgMCAwIDEgMiAydjJhMiAyIDAgMCAxLTIgMmgtMSJ9XV19KTt2YXIgRHYsb2JlPWYoKCk9PntEdj1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTYiLHg6IjQiLHk6IjIiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjkiLHg6IjE0Iix5OiI5IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMjIgMjJIMiJ9XV19KTt2YXIgQXYsbmJlPWYoKCk9PntBdj1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTQiLHg6IjQiLHk6IjUiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjEwIix4OiIxNCIseToiNyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE3IDIydi01In1dLFsicGF0aCIse2Q6Ik0xNyA3VjIifV0sWyJwYXRoIix7ZDoiTTcgMjJ2LTMifV0sWyJwYXRoIix7ZDoiTTcgNVYyIn1dXX0pO3ZhciBFdixsYmU9ZigoKT0+e0V2PVtbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiNiIseDoiMiIseToiNCIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjkiLGhlaWdodDoiNiIseDoiOSIseToiMTQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yMiAyMlYyIn1dXX0pO3ZhciBQdixjYmU9ZigoKT0+e1B2PVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxNCIseDoiNCIseToiNSIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTAiLHg6IjE0Iix5OiI3IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTAgMnYyMCJ9XSxbInBhdGgiLHtkOiJNMjAgMnYyMCJ9XV19KTt2YXIgSXYsZGJlPWYoKCk9PntJdj1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTQiLHg6IjQiLHk6IjUiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjEwIix4OiIxNCIseToiNyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTQgMnYyMCJ9XSxbInBhdGgiLHtkOiJNMTQgMnYyMCJ9XV19KTt2YXIgTnYsdWJlPWYoKCk9PntOdj1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjUiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjEwIix4OiIxNiIseToiNyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MjAifV1dfSk7dmFyIFJ2LHBiZT1mKCgpPT57UnY9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjE0Iix4OiIyIix5OiI1IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxMCIseDoiMTIiLHk6IjciLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yMiAydjIwIn1dXX0pO3ZhciBPdixmYmU9ZigoKT0+e092PVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxNCIseDoiNiIseToiNSIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTAiLHg6IjE2Iix5OiI3IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMiAydjIwIn1dXX0pO3ZhciBGdixoYmU9ZigoKT0+e0Z2PVtbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxMCIseDoiOSIseToiNyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTQgMjJWMiJ9XSxbInBhdGgiLHtkOiJNMjAgMjJWMiJ9XV19KTt2YXIgQnYsbWJlPWYoKCk9PntCdj1bWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTYiLHg6IjQiLHk6IjYiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjkiLHg6IjE0Iix5OiI2IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMjIgMkgyIn1dXX0pO3ZhciBIdixnYmU9ZigoKT0+e0h2PVtbInJlY3QiLHt3aWR0aDoiOSIsaGVpZ2h0OiI2Iix4OiI2Iix5OiIxNCIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjYiLHg6IjYiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDJ2MjAifV1dfSk7dmFyIHF2LGJiZT1mKCgpPT57cXY9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjE0Iix4OiIzIix5OiI1IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIxMCIseDoiMTUiLHk6IjciLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDJ2MjAifV0sWyJwYXRoIix7ZDoiTTIxIDJ2MjAifV1dfSk7dmFyIFZ2LHZiZT1mKCgpPT57VnY9W1sicGF0aCIse2Q6Ik0yMiAxN2gtMyJ9XSxbInBhdGgiLHtkOiJNMjIgN2gtNSJ9XSxbInBhdGgiLHtkOiJNNSAxN0gyIn1dLFsicGF0aCIse2Q6Ik03IDdIMiJ9XSxbInJlY3QiLHt4OiI1Iix5OiIxNCIsd2lkdGg6IjE0IixoZWlnaHQ6IjYiLHJ4OiIyIn1dLFsicmVjdCIse3g6IjciLHk6IjQiLHdpZHRoOiIxMCIsaGVpZ2h0OiI2IixyeDoiMiJ9XV19KTt2YXIganYseGJlPWYoKCk9Pntqdj1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjYiLHg6IjUiLHk6IjE0IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiNiIseDoiNyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMjBoMjAifV0sWyJwYXRoIix7ZDoiTTIgMTBoMjAifV1dfSk7dmFyIFV2LHliZT1mKCgpPT57VXY9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiI2Iix4OiI1Iix5OiIxNCIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjYiLHg6IjciLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDE0aDIwIn1dLFsicGF0aCIse2Q6Ik0yIDRoMjAifV1dfSk7dmFyIFd2LHdiZT1mKCgpPT57V3Y9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiI2Iix4OiI1Iix5OiIxNiIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjYiLHg6IjciLHk6IjIiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIwIn1dXX0pO3ZhciBHdixNYmU9ZigoKT0+e0d2PVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiNiIseDoiNSIseToiMTIiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiI2Iix4OiI3Iix5OiIyIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMiAyMmgyMCJ9XV19KTt2YXIgWXYsa2JlPWYoKCk9PntZdj1bWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjYiLHg6IjUiLHk6IjE2IixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiNiIseDoiNyIseToiNiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMmgyMCJ9XV19KTt2YXIgS3YsU2JlPWYoKCk9PntLdj1bWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjYiLHg6IjciLHk6IjkiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yMiAyMEgyIn1dLFsicGF0aCIse2Q6Ik0yMiA0SDIifV1dfSk7dmFyIFp2LHpiZT1mKCgpPT57WnY9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiI2Iix4OiI1Iix5OiIxNSIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjYiLHg6IjciLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDIxaDIwIn1dLFsicGF0aCIse2Q6Ik0yIDNoMjAifV1dfSk7dmFyIFh2LENiZT1mKCgpPT57WHY9W1sicGF0aCIse2Q6Ik0xMCAxMEg2In1dLFsicGF0aCIse2Q6Ik0xNCAxOFY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjExYTEgMSAwIDAgMCAxIDFoMiJ9XSxbInBhdGgiLHtkOiJNMTkgMThoMmExIDEgMCAwIDAgMS0xdi0zLjI4YTEgMSAwIDAgMC0uNjg0LS45NDhsLTEuOTIzLS42NDFhMSAxIDAgMCAxLS41NzgtLjUwMmwtMS41MzktMy4wNzZBMSAxIDAgMCAwIDE2LjM4MiA4SDE0In1dLFsicGF0aCIse2Q6Ik04IDh2NCJ9XSxbInBhdGgiLHtkOiJNOSAxOGg2In1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTgiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjE4IixyOiIyIn1dXX0pO3ZhciBRdixfYmU9ZigoKT0+e1F2PVtbInBhdGgiLHtkOiJNMTAgMTdjLTUtMy03LTctNy05YTIgMiAwIDAgMSA0IDBjMCAyLjUtNSAyLjUtNSA2IDAgMS43IDEuMyAzIDMgMyAyLjggMCA1LTIuMiA1LTUifV0sWyJwYXRoIix7ZDoiTTIyIDE3Yy01LTMtNy03LTctOWEyIDIgMCAwIDEgNCAwYzAgMi41LTUgMi41LTUgNiAwIDEuNyAxLjMgMyAzIDMgMi44IDAgNS0yLjIgNS01In1dXX0pO3ZhciBKdixUYmU9ZigoKT0+e0p2PVtbInBhdGgiLHtkOiJNMTYgMTJoMyJ9XSxbInBhdGgiLHtkOiJNMTcuNSAxMmE4IDggMCAwIDEtOCA4QTQuNSA0LjUgMCAwIDEgNSAxNS41YzAtNiA4LTQgOC04LjVhMyAzIDAgMSAwLTYgMGMwIDMgMi41IDguNSAxMiAxMyJ9XV19KTt2YXIgZXgsTGJlPWYoKCk9PntleD1bWyJwYXRoIix7ZDoiTTEwIDJ2NS42MzJjMCAuNDI0LS4yNzIuNzk1LS42NTMuOTgyQTYgNiAwIDAgMCA2IDE0Yy4wMDYgNCAzIDcgNSA4In1dLFsicGF0aCIse2Q6Ik0xMCA1SDhhMiAyIDAgMCAwIDAgNGguNjgifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NS42MzJjMCAuNDI0LjI3Mi43OTUuNjUyLjk4MkE2IDYgMCAwIDEgMTggMTRjMCA0LTMgNy01IDgifV0sWyJwYXRoIix7ZDoiTTE0IDVoMmEyIDIgMCAwIDEgMCA0aC0uNjgifV0sWyJwYXRoIix7ZDoiTTE4IDIySDYifV0sWyJwYXRoIix7ZDoiTTkgMmg2In1dXX0pO3ZhciB0eCwkYmU9ZigoKT0+e3R4PVtbInBhdGgiLHtkOiJNMTIgNnYxNiJ9XSxbInBhdGgiLHtkOiJtMTkgMTMgMi0xYTkgOSAwIDAgMS0xOCAwbDIgMSJ9XSxbInBhdGgiLHtkOiJNOSAxMWg2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNCIscjoiMiJ9XV19KTt2YXIgYXgsRGJlPWYoKCk9PntheD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE2IDE2cy0xLjUtMi00LTItNCAyLTQgMiJ9XSxbInBhdGgiLHtkOiJNNy41IDggMTAgOSJ9XSxbInBhdGgiLHtkOiJtMTQgOSAyLjUtMSJ9XSxbInBhdGgiLHtkOiJNOSAxMGguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDEwaC4wMSJ9XV19KTt2YXIgcngsQWJlPWYoKCk9PntyeD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTggMTVoOCJ9XSxbInBhdGgiLHtkOiJNOCA5aDIifV0sWyJwYXRoIix7ZDoiTTE0IDloMiJ9XV19KTt2YXIgc3gsRWJlPWYoKCk9PntzeD1bWyJwYXRoIix7ZDoiTTIgMTIgNyAyIn1dLFsicGF0aCIse2Q6Im03IDEyIDUtMTAifV0sWyJwYXRoIix7ZDoibTEyIDEyIDUtMTAifV0sWyJwYXRoIix7ZDoibTE3IDEyIDUtMTAifV0sWyJwYXRoIix7ZDoiTTQuNSA3aDE1In1dLFsicGF0aCIse2Q6Ik0xMiAxNnY2In1dXX0pO3ZhciBpeCxQYmU9ZigoKT0+e2l4PVtbInBhdGgiLHtkOiJNNyAxMEg2YTQgNCAwIDAgMS00LTQgMSAxIDAgMCAxIDEtMWg0In1dLFsicGF0aCIse2Q6Ik03IDVhMSAxIDAgMCAxIDEtMWgxM2ExIDEgMCAwIDEgMSAxIDcgNyAwIDAgMS03IDdIOGExIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJNOSAxMnY1In1dLFsicGF0aCIse2Q6Ik0xNSAxMnY1In1dLFsicGF0aCIse2Q6Ik01IDIwYTMgMyAwIDAgMSAzLTNoOGEzIDMgMCAwIDEgMyAzIDEgMSAwIDAgMS0xIDFINmExIDEgMCAwIDEtMS0xIn1dXX0pO3ZhciBveCxJYmU9ZigoKT0+e294PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtMTQuMzEgOCA1Ljc0IDkuOTQifV0sWyJwYXRoIix7ZDoiTTkuNjkgOGgxMS40OCJ9XSxbInBhdGgiLHtkOiJtNy4zOCAxMiA1Ljc0LTkuOTQifV0sWyJwYXRoIix7ZDoiTTkuNjkgMTYgMy45NSA2LjA2In1dLFsicGF0aCIse2Q6Ik0xNC4zMSAxNkgyLjgzIn1dLFsicGF0aCIse2Q6Im0xNi42MiAxMi01Ljc0IDkuOTQifV1dfSk7dmFyIG54LE5iZT1mKCgpPT57bng9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTYgOGguMDEifV0sWyJwYXRoIix7ZDoiTTEwIDhoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCA4aC4wMSJ9XV19KTt2YXIgbHgsUmJlPWYoKCk9PntseD1bWyJyZWN0Iix7eDoiMiIseToiNCIsd2lkdGg6IjIwIixoZWlnaHQ6IjE2IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTAgNHY0In1dLFsicGF0aCIse2Q6Ik0yIDhoMjAifV0sWyJwYXRoIix7ZDoiTTYgNHY0In1dXX0pO3ZhciBjeCxPYmU9ZigoKT0+e2N4PVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiNSIseDoiMiIseToiMyIscng6IjEifV0sWyJwYXRoIix7ZDoiTTQgOHYxMWEyIDIgMCAwIDAgMiAyaDIifV0sWyJwYXRoIix7ZDoiTTIwIDh2MTFhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJtOSAxNSAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Ik0xMiAxMnY5In1dXX0pO3ZhciBkeCxGYmU9ZigoKT0+e2R4PVtbInBhdGgiLHtkOiJNMTIgNi41MjhWM2ExIDEgMCAwIDEgMS0xaDAifV0sWyJwYXRoIix7ZDoiTTE4LjIzNyAyMUExNSAxNSAwIDAgMCAyMiAxMWE2IDYgMCAwIDAtMTAtNC40NzJBNiA2IDAgMCAwIDIgMTFhMTUuMSAxNS4xIDAgMCAwIDMuNzYzIDEwIDMgMyAwIDAgMCAzLjY0OC42NDggNS41IDUuNSAwIDAgMSA1LjE3OCAwQTMgMyAwIDAgMCAxOC4yMzcgMjEifV1dfSk7dmFyIHV4LEJiZT1mKCgpPT57dXg9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI1Iix4OiIyIix5OiIzIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNNCA4djExYTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4In1dLFsicGF0aCIse2Q6Im05LjUgMTcgNS01In1dLFsicGF0aCIse2Q6Im05LjUgMTIgNSA1In1dXX0pO3ZhciBweCxIYmU9ZigoKT0+e3B4PVtbInBhdGgiLHtkOiJNMTkgOVY2YTIgMiAwIDAgMC0yLTJIN2EyIDIgMCAwIDAtMiAydjMifV0sWyJwYXRoIix7ZDoiTTMgMTZhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi01YTIgMiAwIDAgMC00IDB2MS41YS41LjUgMCAwIDEtLjUuNWgtOWEuNS41IDAgMCAxLS41LS41VjExYTIgMiAwIDAgMC00IDB6In1dLFsicGF0aCIse2Q6Ik01IDE4djIifV0sWyJwYXRoIix7ZDoiTTE5IDE4djIifV1dfSk7dmFyIGZ4LHFiZT1mKCgpPT57Zng9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI1Iix4OiIyIix5OiIzIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNNCA4djExYTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4In1dLFsicGF0aCIse2Q6Ik0xMCAxMmg0In1dXX0pO3ZhciBoeCxWYmU9ZigoKT0+e2h4PVtbInBhdGgiLHtkOiJNMTQgOGExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAwIDEgMWgzLjI5M2EuNzA3LjcwNyAwIDAgMSAuNSAxLjIwN2wtNi45MzkgNi45MzlhMS4yMDcgMS4yMDcgMCAwIDEtMS43MDggMGwtNi45NC02Ljk0YS43MDcuNzA3IDAgMCAxIC41LTEuMjA2SDhhMSAxIDAgMCAwIDEtMVY5YTEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik05IDRoNiJ9XV19KTt2YXIgbXgsamJlPWYoKCk9PntteD1bWyJwYXRoIix7ZDoiTTkgNWExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXY2YTEgMSAwIDAgMCAxIDFoMy4yOTNhLjcwNy43MDcgMCAwIDEgLjUgMS4yMDdsLTcuMDg2IDcuMDg2YTEgMSAwIDAgMS0xLjQxNCAwbC03LjA4Ni03LjA4NmEuNzA3LjcwNyAwIDAgMSAuNS0xLjIwN0g4YTEgMSAwIDAgMCAxLTF6In1dXX0pO3ZhciBneCxVYmU9ZigoKT0+e2d4PVtbInBhdGgiLHtkOiJNMTAuNzkzIDE5Ljc5M2EuNzA3LjcwNyAwIDAgMCAxLjIwNy0uNVYxNmExIDEgMCAwIDEgMS0xaDZhMSAxIDAgMCAwIDEtMXYtNGExIDEgMCAwIDAtMS0xaC02YTEgMSAwIDAgMS0xLTFWNC43MDdhLjcwNy43MDcgMCAwIDAtMS4yMDctLjVsLTYuOTQgNi45NGExLjIwNyAxLjIwNyAwIDAgMCAwIDEuNzA3eiJ9XV19KTt2YXIgYngsV2JlPWYoKCk9PntieD1bWyJwYXRoIix7ZDoiTTEzIDlhMSAxIDAgMCAxLTEtMVY0LjcwN2EuNzA3LjcwNyAwIDAgMC0xLjIwNy0uNWwtNi45NCA2Ljk0YTEuMjA3IDEuMjA3IDAgMCAwIDAgMS43MDdsNi45NCA2Ljk0YS43MDcuNzA3IDAgMCAwIDEuMjA3LS41VjE2YTEgMSAwIDAgMSAxLTFoMmExIDEgMCAwIDAgMS0xdi00YTEgMSAwIDAgMC0xLTF6In1dLFsicGF0aCIse2Q6Ik0yMCA5djYifV1dfSk7dmFyIHZ4LEdiZT1mKCgpPT57dng9W1sicGF0aCIse2Q6Ik0xMSA5YTEgMSAwIDAgMCAxLTFWNC43MDdhLjcwNy43MDcgMCAwIDEgMS4yMDctLjVsNi45NCA2Ljk0YTEuMjA3IDEuMjA3IDAgMCAxIDAgMS43MDdsLTYuOTQgNi45NGEuNzA3LjcwNyAwIDAgMS0xLjIwNy0uNVYxNmExIDEgMCAwIDAtMS0xSDlhMSAxIDAgMCAxLTEtMXYtNGExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNNCA5djYifV1dfSk7dmFyIHh4LFliZT1mKCgpPT57eHg9W1sicGF0aCIse2Q6Ik0xMy4yMDcgMTkuNzkzYS43MDcuNzA3IDAgMCAxLTEuMjA3LS41VjE2YTEgMSAwIDAgMC0xLTFINWExIDEgMCAwIDEtMS0xdi00YTEgMSAwIDAgMSAxLTFoNmExIDEgMCAwIDAgMS0xVjQuNzA3YS43MDcuNzA3IDAgMCAxIDEuMjA3LS41bDYuOTQgNi45NGExLjIwNyAxLjIwNyAwIDAgMSAwIDEuNzA3eiJ9XV19KTt2YXIgeXgsS2JlPWYoKCk9Pnt5eD1bWyJwYXRoIix7ZDoiTTE0IDE2YTEgMSAwIDAgMCAxLTF2LTJhMSAxIDAgMCAxIDEtMWgzLjI5M2EuNzA3LjcwNyAwIDAgMCAuNS0xLjIwN2wtNi45MzktNi45MzlhMS4yMDcgMS4yMDcgMCAwIDAtMS43MDggMGwtNi45NCA2Ljk0YS43MDcuNzA3IDAgMCAwIC41IDEuMjA2SDhhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMCAxIDF6In1dLFsicGF0aCIse2Q6Ik05IDIwaDYifV1dfSk7dmFyIHd4LFpiZT1mKCgpPT57d3g9W1sicGF0aCIse2Q6Ik05IDE5YTEgMSAwIDAgMCAxIDFoNGExIDEgMCAwIDAgMS0xdi02YTEgMSAwIDAgMSAxLTFoMy4yOTNhLjcwNy43MDcgMCAwIDAgLjUtMS4yMDdsLTcuMDg2LTcuMDg2YTEgMSAwIDAgMC0xLjQxNCAwbC03LjA4NiA3LjA4NmEuNzA3LjcwNyAwIDAgMCAuNSAxLjIwN0g4YTEgMSAwIDAgMSAxIDF6In1dXX0pO3ZhciBNeCxYYmU9ZigoKT0+e014PVtbInBhdGgiLHtkOiJtMyAxNiA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik03IDIwVjQifV0sWyJyZWN0Iix7eDoiMTUiLHk6IjQiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xNyAyMHYtNmgtMiJ9XSxbInBhdGgiLHtkOiJNMTUgMjBoNCJ9XV19KTt2YXIga3gsUWJlPWYoKCk9PntreD1bWyJwYXRoIix7ZDoibTMgMTYgNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNNyAyMFY0In1dLFsicGF0aCIse2Q6Ik0xNyAxMFY0aC0yIn1dLFsicGF0aCIse2Q6Ik0xNSAxMGg0In1dLFsicmVjdCIse3g6IjE1Iix5OiIxNCIsd2lkdGg6IjQiLGhlaWdodDoiNiIscnk6IjIifV1dfSk7dmFyIFN4LEpiZT1mKCgpPT57U3g9W1sicGF0aCIse2Q6Ik0xOSAzSDUifV0sWyJwYXRoIix7ZDoiTTEyIDIxVjcifV0sWyJwYXRoIix7ZDoibTYgMTUgNiA2IDYtNiJ9XV19KTt2YXIgdmQsZXZlPWYoKCk9Pnt2ZD1bWyJwYXRoIix7ZDoibTMgMTYgNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNNyAyMFY0In1dLFsicGF0aCIse2Q6Ik0yMCA4aC01In1dLFsicGF0aCIse2Q6Ik0xNSAxMFY2LjVhMi41IDIuNSAwIDAgMSA1IDBWMTAifV0sWyJwYXRoIix7ZDoiTTE1IDE0aDVsLTUgNmg1In1dXX0pO3ZhciB6eCx0dmU9ZigoKT0+e3p4PVtbInBhdGgiLHtkOiJNMTcgNyA3IDE3In1dLFsicGF0aCIse2Q6Ik0xNyAxN0g3VjcifV1dfSk7dmFyIEN4LGF2ZT1mKCgpPT57Q3g9W1sicGF0aCIse2Q6Im0zIDE2IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTcgMjBWNCJ9XSxbInBhdGgiLHtkOiJNMTEgNGg0In1dLFsicGF0aCIse2Q6Ik0xMSA4aDcifV0sWyJwYXRoIix7ZDoiTTExIDEyaDEwIn1dXX0pO3ZhciBfeCxydmU9ZigoKT0+e194PVtbInBhdGgiLHtkOiJtNyA3IDEwIDEwIn1dLFsicGF0aCIse2Q6Ik0xNyA3djEwSDcifV1dfSk7dmFyIFR4LHN2ZT1mKCgpPT57VHg9W1sicGF0aCIse2Q6Ik0xMiAydjE0In1dLFsicGF0aCIse2Q6Im0xOSA5LTcgNy03LTcifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIyMSIscjoiMSJ9XV19KTt2YXIgTHgsaXZlPWYoKCk9PntMeD1bWyJwYXRoIix7ZDoibTMgMTYgNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNNyAyMFY0In1dLFsicGF0aCIse2Q6Im0yMSA4LTQtNC00IDQifV0sWyJwYXRoIix7ZDoiTTE3IDR2MTYifV1dfSk7dmFyICR4LG92ZT1mKCgpPT57JHg9W1sicGF0aCIse2Q6Ik0xMiAxN1YzIn1dLFsicGF0aCIse2Q6Im02IDExIDYgNiA2LTYifV0sWyJwYXRoIix7ZDoiTTE5IDIxSDUifV1dfSk7dmFyIHhkLG52ZT1mKCgpPT57eGQ9W1sicGF0aCIse2Q6Im0zIDE2IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTcgMjBWNCJ9XSxbInBhdGgiLHtkOiJNMTEgNGgxMCJ9XSxbInBhdGgiLHtkOiJNMTEgOGg3In1dLFsicGF0aCIse2Q6Ik0xMSAxMmg0In1dXX0pO3ZhciB5ZCxsdmU9ZigoKT0+e3lkPVtbInBhdGgiLHtkOiJtMyAxNiA0IDQgNC00In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE1IDRoNWwtNSA2aDUifV0sWyJwYXRoIix7ZDoiTTE1IDIwdi0zLjVhMi41IDIuNSAwIDAgMSA1IDBWMjAifV0sWyJwYXRoIix7ZDoiTTIwIDE4aC01In1dXX0pO3ZhciBEeCxjdmU9ZigoKT0+e0R4PVtbInBhdGgiLHtkOiJNMTIgNXYxNCJ9XSxbInBhdGgiLHtkOiJtMTkgMTItNyA3LTctNyJ9XV19KTt2YXIgQXgsZHZlPWYoKCk9PntBeD1bWyJwYXRoIix7ZDoibTkgNi02IDYgNiA2In1dLFsicGF0aCIse2Q6Ik0zIDEyaDE0In1dLFsicGF0aCIse2Q6Ik0yMSAxOVY1In1dXX0pO3ZhciBFeCx1dmU9ZigoKT0+e0V4PVtbInBhdGgiLHtkOiJNOCAzIDQgN2w0IDQifV0sWyJwYXRoIix7ZDoiTTQgN2gxNiJ9XSxbInBhdGgiLHtkOiJtMTYgMjEgNC00LTQtNCJ9XSxbInBhdGgiLHtkOiJNMjAgMTdINCJ9XV19KTt2YXIgUHgscHZlPWYoKCk9PntQeD1bWyJwYXRoIix7ZDoiTTMgMTlWNSJ9XSxbInBhdGgiLHtkOiJtMTMgNi02IDYgNiA2In1dLFsicGF0aCIse2Q6Ik03IDEyaDE0In1dXX0pO3ZhciBJeCxmdmU9ZigoKT0+e0l4PVtbInBhdGgiLHtkOiJNMyA1djE0In1dLFsicGF0aCIse2Q6Ik0yMSAxMkg3In1dLFsicGF0aCIse2Q6Im0xNSAxOCA2LTYtNi02In1dXX0pO3ZhciBOeCxodmU9ZigoKT0+e054PVtbInBhdGgiLHtkOiJtMTIgMTktNy03IDctNyJ9XSxbInBhdGgiLHtkOiJNMTkgMTJINSJ9XV19KTt2YXIgUngsbXZlPWYoKCk9PntSeD1bWyJwYXRoIix7ZDoibTE2IDMgNCA0LTQgNCJ9XSxbInBhdGgiLHtkOiJNMjAgN0g0In1dLFsicGF0aCIse2Q6Im04IDIxLTQtNCA0LTQifV0sWyJwYXRoIix7ZDoiTTQgMTdoMTYifV1dfSk7dmFyIE94LGd2ZT1mKCgpPT57T3g9W1sicGF0aCIse2Q6Ik0xNyAxMkgzIn1dLFsicGF0aCIse2Q6Im0xMSAxOCA2LTYtNi02In1dLFsicGF0aCIse2Q6Ik0yMSA1djE0In1dXX0pO3ZhciBGeCxidmU9ZigoKT0+e0Z4PVtbInBhdGgiLHtkOiJNNSAxMmgxNCJ9XSxbInBhdGgiLHtkOiJtMTIgNSA3IDctNyA3In1dXX0pO3ZhciBCeCx2dmU9ZigoKT0+e0J4PVtbInBhdGgiLHtkOiJtMyA4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTcgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTcgMTBWNGgtMiJ9XSxbInBhdGgiLHtkOiJNMTUgMTBoNCJ9XSxbInJlY3QiLHt4OiIxNSIseToiMTQiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ5OiIyIn1dXX0pO3ZhciBIeCx4dmU9ZigoKT0+e0h4PVtbInBhdGgiLHtkOiJtMyA4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTcgNHYxNiJ9XSxbInJlY3QiLHt4OiIxNSIseToiNCIsd2lkdGg6IjQiLGhlaWdodDoiNiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTE3IDIwdi02aC0yIn1dLFsicGF0aCIse2Q6Ik0xNSAyMGg0In1dXX0pO3ZhciB3ZCx5dmU9ZigoKT0+e3dkPVtbInBhdGgiLHtkOiJtMyA4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTcgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMjAgOGgtNSJ9XSxbInBhdGgiLHtkOiJNMTUgMTBWNi41YTIuNSAyLjUgMCAwIDEgNSAwVjEwIn1dLFsicGF0aCIse2Q6Ik0xNSAxNGg1bC01IDZoNSJ9XV19KTt2YXIgcXgsd3ZlPWYoKCk9PntxeD1bWyJwYXRoIix7ZDoibTIxIDE2LTQgNC00LTQifV0sWyJwYXRoIix7ZDoiTTE3IDIwVjQifV0sWyJwYXRoIix7ZDoibTMgOCA0LTQgNCA0In1dLFsicGF0aCIse2Q6Ik03IDR2MTYifV1dfSk7dmFyIFZ4LE12ZT1mKCgpPT57Vng9W1sicGF0aCIse2Q6Im01IDkgNy03IDcgNyJ9XSxbInBhdGgiLHtkOiJNMTIgMTZWMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjIxIixyOiIxIn1dXX0pO3ZhciBqeCxrdmU9ZigoKT0+e2p4PVtbInBhdGgiLHtkOiJtMTggOS02LTYtNiA2In1dLFsicGF0aCIse2Q6Ik0xMiAzdjE0In1dLFsicGF0aCIse2Q6Ik01IDIxaDE0In1dXX0pO3ZhciBVeCxTdmU9ZigoKT0+e1V4PVtbInBhdGgiLHtkOiJNNyAxN1Y3aDEwIn1dLFsicGF0aCIse2Q6Ik0xNyAxNyA3IDcifV1dfSk7dmFyIE1kLHp2ZT1mKCgpPT57TWQ9W1sicGF0aCIse2Q6Im0zIDggNC00IDQgNCJ9XSxbInBhdGgiLHtkOiJNNyA0djE2In1dLFsicGF0aCIse2Q6Ik0xMSAxMmg0In1dLFsicGF0aCIse2Q6Ik0xMSAxNmg3In1dLFsicGF0aCIse2Q6Ik0xMSAyMGgxMCJ9XV19KTt2YXIgV3gsQ3ZlPWYoKCk9PntXeD1bWyJwYXRoIix7ZDoiTTcgN2gxMHYxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNyAxNyA3In1dXX0pO3ZhciBHeCxfdmU9ZigoKT0+e0d4PVtbInBhdGgiLHtkOiJtMyA4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTcgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTEgMTJoMTAifV0sWyJwYXRoIix7ZDoiTTExIDE2aDcifV0sWyJwYXRoIix7ZDoiTTExIDIwaDQifV1dfSk7dmFyIFl4LFR2ZT1mKCgpPT57WXg9W1sicGF0aCIse2Q6Ik01IDNoMTQifV0sWyJwYXRoIix7ZDoibTE4IDEzLTYtNi02IDYifV0sWyJwYXRoIix7ZDoiTTEyIDd2MTQifV1dfSk7dmFyIEt4LEx2ZT1mKCgpPT57S3g9W1sicGF0aCIse2Q6Im01IDEyIDctNyA3IDcifV0sWyJwYXRoIix7ZDoiTTEyIDE5VjUifV1dfSk7dmFyIGtkLCR2ZT1mKCgpPT57a2Q9W1sicGF0aCIse2Q6Im0zIDggNC00IDQgNCJ9XSxbInBhdGgiLHtkOiJNNyA0djE2In1dLFsicGF0aCIse2Q6Ik0xNSA0aDVsLTUgNmg1In1dLFsicGF0aCIse2Q6Ik0xNSAyMHYtMy41YTIuNSAyLjUgMCAwIDEgNSAwVjIwIn1dLFsicGF0aCIse2Q6Ik0yMCAxOGgtNSJ9XV19KTt2YXIgWngsRHZlPWYoKCk9PntaeD1bWyJwYXRoIix7ZDoiTTEyIDZ2MTIifV0sWyJwYXRoIix7ZDoiTTE3LjE5NiA5IDYuODA0IDE1In1dLFsicGF0aCIse2Q6Im02LjgwNCA5IDEwLjM5MiA2In1dXX0pO3ZhciBYeCxBdmU9ZigoKT0+e1h4PVtbInBhdGgiLHtkOiJtNCA2IDMtMyAzIDMifV0sWyJwYXRoIix7ZDoiTTcgMTdWMyJ9XSxbInBhdGgiLHtkOiJtMTQgNiAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Ik0xNyAxN1YzIn1dLFsicGF0aCIse2Q6Ik00IDIxaDE2In1dXX0pO3ZhciBReCxFdmU9ZigoKT0+e1F4PVtbInBhdGgiLHtkOiJNMTIuOTgzIDIxLjE4NmExIDEgMCAwIDEtMS45NjYgMCAxMCAxMCAwIDAgMC04LjIwMy04LjIwMyAxIDEgMCAwIDEgMC0xLjk2NiAxMCAxMCAwIDAgMCA4LjIwMy04LjIwMyAxIDEgMCAwIDEgMS45NjYgMCAxMCAxMCAwIDAgMCA4LjIwMyA4LjIwMyAxIDEgMCAwIDEgMCAxLjk2NiAxMCAxMCAwIDAgMC04LjIwMyA4LjIwMyJ9XV19KTt2YXIgSngsUHZlPWYoKCk9PntKeD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTYgOHY1YTMgMyAwIDAgMCA2IDB2LTFhMTAgMTAgMCAxIDAtNCA4In1dXX0pO3ZhciBleSxJdmU9ZigoKT0+e2V5PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dLFsicGF0aCIse2Q6Ik0yMC4yIDIwLjJjMi4wNC0yLjAzLjAyLTcuMzYtNC41LTExLjktNC41NC00LjUyLTkuODctNi41NC0xMS45LTQuNS0yLjA0IDIuMDMtLjAyIDcuMzYgNC41IDExLjkgNC41NCA0LjUyIDkuODcgNi41NCAxMS45IDQuNVoifV0sWyJwYXRoIix7ZDoiTTE1LjcgMTUuN2M0LjUyLTQuNTQgNi41NC05Ljg3IDQuNS0xMS45LTIuMDMtMi4wNC03LjM2LS4wMi0xMS45IDQuNS00LjUyIDQuNTQtNi41NCA5Ljg3LTQuNSAxMS45IDIuMDMgMi4wNCA3LjM2LjAyIDExLjktNC41WiJ9XV19KTt2YXIgdHksTnZlPWYoKCk9Pnt0eT1bWyJwYXRoIix7ZDoiTTIgMTB2MyJ9XSxbInBhdGgiLHtkOiJNNiA2djExIn1dLFsicGF0aCIse2Q6Ik0xMCAzdjE4In1dLFsicGF0aCIse2Q6Ik0xNCA4djcifV0sWyJwYXRoIix7ZDoiTTE4IDV2MTMifV0sWyJwYXRoIix7ZDoiTTIyIDEwdjMifV1dfSk7dmFyIGF5LFJ2ZT1mKCgpPT57YXk9W1sicGF0aCIse2Q6Ik0yIDEzYTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDEgNCAwdjEzYTIgMiAwIDAgMCA0IDBWNGEyIDIgMCAwIDEgNCAwdjEzYTIgMiAwIDAgMCA0IDB2LTRhMiAyIDAgMCAxIDItMiJ9XV19KTt2YXIgcnksT3ZlPWYoKCk9PntyeT1bWyJwYXRoIix7ZDoibTE1LjQ3NyAxMi44OSAxLjUxNSA4LjUyNmEuNS41IDAgMCAxLS44MS40N2wtMy41OC0yLjY4N2ExIDEgMCAwIDAtMS4xOTcgMGwtMy41ODYgMi42ODZhLjUuNSAwIDAgMS0uODEtLjQ2OWwxLjUxNC04LjUyNiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjgiLHI6IjYifV1dfSk7dmFyIHN5LEZ2ZT1mKCgpPT57c3k9W1sicGF0aCIse2Q6Im0xNCAxMi04LjM4MSA4LjM4YTEgMSAwIDAgMS0zLjAwMS0zTDExIDkifV0sWyJwYXRoIix7ZDoiTTE1IDE1LjVhLjUuNSAwIDAgMCAuNS41QTYuNSA2LjUgMCAwIDAgMjIgOS41YS41LjUgMCAwIDAtLjUtLjVoLTEuNjcyYTIgMiAwIDAgMS0xLjQxNC0uNTg2bC01LjA2Mi01LjA2MmExLjIwNSAxLjIwNSAwIDAgMC0xLjcwNCAwTDkuMzUyIDUuNjQ4YTEuMjA1IDEuMjA1IDAgMCAwIDAgMS43MDRsNS4wNjIgNS4wNjJBMiAyIDAgMCAxIDE1IDEzLjgyOHoifV1dfSk7dmFyIGl5LEJ2ZT1mKCgpPT57aXk9W1sicGF0aCIse2Q6Ik0xMCAxNmMuNS4zIDEuMi41IDIgLjVzMS41LS4yIDItLjUifV0sWyJwYXRoIix7ZDoiTTE1IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTkuMzggNi44MTNBOSA5IDAgMCAxIDIwLjggMTAuMmEyIDIgMCAwIDEgMCAzLjYgOSA5IDAgMCAxLTE3LjYgMCAyIDIgMCAwIDEgMC0zLjZBOSA5IDAgMCAxIDEyIDNjMiAwIDMuNSAxLjEgMy41IDIuNXMtLjkgMi41LTIgMi41Yy0uOCAwLTEuNS0uNC0xLjUtMSJ9XSxbInBhdGgiLHtkOiJNOSAxMmguMDEifV1dfSk7dmFyIFNkLEh2ZT1mKCgpPT57U2Q9W1sicGF0aCIse2Q6Ik0xMy41IDEwLjUgMTUgOSJ9XSxbInBhdGgiLHtkOiJNNCA0djE1YTEgMSAwIDAgMCAxIDFoMTUifV0sWyJwYXRoIix7ZDoiTTQuMjkzIDE5LjcwNyA2IDE4In1dLFsicGF0aCIse2Q6Im05IDE1IDEuNS0xLjUifV1dfSk7dmFyIG95LHF2ZT1mKCgpPT57b3k9W1sicGF0aCIse2Q6Ik00IDEwYTQgNCAwIDAgMSA0LTRoOGE0IDQgMCAwIDEgNCA0djEwYTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yeiJ9XSxbInBhdGgiLHtkOiJNOCAxMGg4In1dLFsicGF0aCIse2Q6Ik04IDE4aDgifV0sWyJwYXRoIix7ZDoiTTggMjJ2LTZhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2NiJ9XSxbInBhdGgiLHtkOiJNOSA2VjRhMiAyIDAgMCAxIDItMmgyYTIgMiAwIDAgMSAyIDJ2MiJ9XV19KTt2YXIgbnksVnZlPWYoKCk9PntueT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiOCIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyLjAxIix5MToiMTYiLHkyOiIxNiJ9XV19KTt2YXIgbHksanZlPWYoKCk9PntseT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Ik0xMiA3djEwIn1dLFsicGF0aCIse2Q6Ik0xNS40IDEwYTQgNCAwIDEgMCAwIDQifV1dfSk7dmFyIHpkLFV2ZT1mKCgpPT57emQ9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbInBhdGgiLHtkOiJtOSAxMiAyIDIgNC00In1dXX0pO3ZhciBjeSxXdmU9ZigoKT0+e2N5PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoiTTE2IDhoLTZhMiAyIDAgMSAwIDAgNGg0YTIgMiAwIDEgMSAwIDRIOCJ9XSxbInBhdGgiLHtkOiJNMTIgMThWNiJ9XV19KTt2YXIgZHksR3ZlPWYoKCk9PntkeT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Ik03IDEyaDUifV0sWyJwYXRoIix7ZDoiTTE1IDkuNGE0IDQgMCAxIDAgMCA1LjIifV1dfSk7dmFyIHV5LFl2ZT1mKCgpPT57dXk9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbInBhdGgiLHtkOiJNOCA4aDgifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XSxbInBhdGgiLHtkOiJtMTMgMTctNS0xaDFhNCA0IDAgMCAwIDAtOCJ9XV19KTt2YXIgcHksS3ZlPWYoKCk9PntweT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMTYiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMi4wMSIseTE6IjgiLHkyOiI4In1dXX0pO3ZhciBmeSxadmU9ZigoKT0+e2Z5PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoibTkgOCAzIDN2NyJ9XSxbInBhdGgiLHtkOiJtMTIgMTEgMy0zIn1dLFsicGF0aCIse2Q6Ik05IDEyaDYifV0sWyJwYXRoIix7ZDoiTTkgMTZoNiJ9XV19KTt2YXIgaHksWHZlPWYoKCk9PntoeT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsibGluZSIse3gxOiI4Iix4MjoiMTYiLHkxOiIxMiIseTI6IjEyIn1dXX0pO3ZhciBteSxRdmU9ZigoKT0+e215PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Ik05IDloLjAxIn1dLFsicGF0aCIse2Q6Ik0xNSAxNWguMDEifV1dfSk7dmFyIGd5LEp2ZT1mKCgpPT57Z3k9W1sicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2WiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjgiLHkyOiIxNiJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTIiLHkyOiIxMiJ9XV19KTt2YXIgYnksZXhlPWYoKCk9PntieT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Ik04IDEyaDQifV0sWyJwYXRoIix7ZDoiTTEwIDE2VjkuNWEyLjUgMi41IDAgMCAxIDUgMCJ9XSxbInBhdGgiLHtkOiJNOCAxNmg3In1dXX0pO3ZhciBDZCx0eGU9ZigoKT0+e0NkPVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJwYXRoIix7ZDoiTTkuMDkgOWEzIDMgMCAwIDEgNS44MyAxYzAgMi0zIDMtMyAzIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyLjAxIix5MToiMTciLHkyOiIxNyJ9XV19KTt2YXIgdnksYXhlPWYoKCk9Pnt2eT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Ik0xMSAxN1Y4aDQifV0sWyJwYXRoIix7ZDoiTTExIDEyaDMifV0sWyJwYXRoIix7ZDoiTTkgMTZoNCJ9XV19KTt2YXIgeHkscnhlPWYoKCk9Pnt4eT1bWyJwYXRoIix7ZDoiTTMuODUgOC42MmE0IDQgMCAwIDEgNC43OC00Ljc3IDQgNCAwIDAgMSA2Ljc0IDAgNCA0IDAgMCAxIDQuNzggNC43OCA0IDQgMCAwIDEgMCA2Ljc0IDQgNCAwIDAgMS00Ljc3IDQuNzggNCA0IDAgMCAxLTYuNzUgMCA0IDQgMCAwIDEtNC43OC00Ljc3IDQgNCAwIDAgMSAwLTYuNzZaIn1dLFsicGF0aCIse2Q6Ik05IDE2aDUifV0sWyJwYXRoIix7ZDoiTTkgMTJoNWEyIDIgMCAxIDAgMC00aC0zdjkifV1dfSk7dmFyIHl5LHN4ZT1mKCgpPT57eXk9W1sicGF0aCIse2Q6Ik0xMSA3djEwYTUgNSAwIDAgMCA1LTUifV0sWyJwYXRoIix7ZDoibTE1IDgtNiAzIn1dLFsicGF0aCIse2Q6Ik0zLjg1IDguNjJhNCA0IDAgMCAxIDQuNzgtNC43NyA0IDQgMCAwIDEgNi43NCAwIDQgNCAwIDAgMSA0Ljc4IDQuNzggNCA0IDAgMCAxIDAgNi43NCA0IDQgMCAwIDEtNC43NyA0Ljc4IDQgNCAwIDAgMS02Ljc1IDAgNCA0IDAgMCAxLTQuNzgtNC43NyA0IDQgMCAwIDEgMC02Ljc2In1dXX0pO3ZhciB3eSxpeGU9ZigoKT0+e3d5PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiOSIseTE6IjkiLHkyOiIxNSJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjE1Iix5MToiOSIseTI6IjE1In1dXX0pO3ZhciBNeSxveGU9ZigoKT0+e015PVtbInBhdGgiLHtkOiJNMy44NSA4LjYyYTQgNCAwIDAgMSA0Ljc4LTQuNzcgNCA0IDAgMCAxIDYuNzQgMCA0IDQgMCAwIDEgNC43OCA0Ljc4IDQgNCAwIDAgMSAwIDYuNzQgNCA0IDAgMCAxLTQuNzcgNC43OCA0IDQgMCAwIDEtNi43NSAwIDQgNCAwIDAgMS00Ljc4LTQuNzcgNCA0IDAgMCAxIDAtNi43NloifV1dfSk7dmFyIGt5LG54ZT1mKCgpPT57a3k9W1sicGF0aCIse2Q6Ik0yMiAxOEg2YTIgMiAwIDAgMS0yLTJWN2EyIDIgMCAwIDAtMi0yIn1dLFsicGF0aCIse2Q6Ik0xNyAxNFY0YTIgMiAwIDAgMC0yLTJoLTFhMiAyIDAgMCAwLTIgMnYxMCJ9XSxbInJlY3QiLHt3aWR0aDoiMTMiLGhlaWdodDoiOCIseDoiOCIseToiNiIscng6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIyMCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiMjAiLHI6IjIifV1dfSk7dmFyIFN5LGx4ZT1mKCgpPT57U3k9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik00LjkyOSA0LjkyOSAxOS4wNyAxOS4wNzEifV1dfSk7dmFyIHp5LGN4ZT1mKCgpPT57enk9W1sicGF0aCIse2Q6Ik0xMiAxNnYxYTIgMiAwIDAgMCAyIDJoMWEyIDIgMCAwIDEgMiAydjEifV0sWyJwYXRoIix7ZDoiTTEyIDZhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMTggOGMwIDQtMy41IDgtNiA4cy02LTQtNi04YTYgNiAwIDAgMSAxMiAwIn1dXX0pO3ZhciBDeSxkeGU9ZigoKT0+e0N5PVtbInBhdGgiLHtkOiJNNCAxM2MzLjUtMiA4LTIgMTAgMmE1LjUgNS41IDAgMCAxIDggNSJ9XSxbInBhdGgiLHtkOiJNNS4xNSAxNy44OWM1LjUyLTEuNTIgOC42NS02Ljg5IDctMTJDMTEuNTUgNCAxMS41IDIgMTMgMmMzLjIyIDAgNSA1LjUgNSA4IDAgNi41LTQuMiAxMi0xMC40OSAxMkM1LjExIDIyIDIgMjIgMiAyMGMwLTEuNSAxLjE0LTEuNTUgMy4xNS0yLjExWiJ9XV19KTt2YXIgX3ksdXhlPWYoKCk9PntfeT1bWyJwYXRoIix7ZDoiTTEwIDEwLjAxaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMTQuMDFoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCAxMC4wMWguMDEifV0sWyJwYXRoIix7ZDoiTTE0IDE0LjAxaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggNnYxMiJ9XSxbInBhdGgiLHtkOiJNNiA2djEyIn1dLFsicmVjdCIse3g6IjIiLHk6IjYiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxMiIscng6IjIifV1dfSk7dmFyIFR5LHB4ZT1mKCgpPT57VHk9W1sicGF0aCIse2Q6Ik0xMiAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2NSJ9XSxbInBhdGgiLHtkOiJNMTggMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOSAyMnYtNiJ9XSxbInBhdGgiLHtkOiJtMjIgMTktMy0zLTMgMyJ9XSxbInBhdGgiLHtkOiJNNiAxMmguMDEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XV19KTt2YXIgTHksZnhlPWYoKCk9PntMeT1bWyJwYXRoIix7ZDoiTTEyIDE4SDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnY1In1dLFsicGF0aCIse2Q6Im0xNiAxOSAzIDMgMy0zIn1dLFsicGF0aCIse2Q6Ik0xOCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE5IDE2djYifV0sWyJwYXRoIix7ZDoiTTYgMTJoLjAxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dfSk7dmFyICR5LGh4ZT1mKCgpPT57JHk9W1sicGF0aCIse2Q6Ik0xMyAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2NSJ9XSxbInBhdGgiLHtkOiJtMTcgMTcgNSA1In1dLFsicGF0aCIse2Q6Ik0xOCAxMmguMDEifV0sWyJwYXRoIix7ZDoibTIyIDE3LTUgNSJ9XSxbInBhdGgiLHtkOiJNNiAxMmguMDEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XV19KTt2YXIgRHksbXhlPWYoKCk9PntEeT1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjEyIix4OiIyIix5OiI2IixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dLFsicGF0aCIse2Q6Ik02IDEyaC4wMU0xOCAxMmguMDEifV1dfSk7dmFyIEF5LGd4ZT1mKCgpPT57QXk9W1sicGF0aCIse2Q6Ik0zIDV2MTQifV0sWyJwYXRoIix7ZDoiTTggNXYxNCJ9XSxbInBhdGgiLHtkOiJNMTIgNXYxNCJ9XSxbInBhdGgiLHtkOiJNMTcgNXYxNCJ9XSxbInBhdGgiLHtkOiJNMjEgNXYxNCJ9XV19KTt2YXIgRXksYnhlPWYoKCk9PntFeT1bWyJwYXRoIix7ZDoiTTEwIDNhNDEgNDEgMCAwIDAgMCAxOCJ9XSxbInBhdGgiLHtkOiJNMTQgM2E0MSA0MSAwIDAgMSAwIDE4In1dLFsicGF0aCIse2Q6Ik0xNyAzYTIgMiAwIDAgMSAxLjY4LjkyIDE1LjI1IDE1LjI1IDAgMCAxIDAgMTYuMTZBMiAyIDAgMCAxIDE3IDIxSDdhMiAyIDAgMCAxLTEuNjgtLjkyIDE1LjI1IDE1LjI1IDAgMCAxIDAtMTYuMTZBMiAyIDAgMCAxIDcgM3oifV0sWyJwYXRoIix7ZDoiTTMuODQgMTdoMTYuMzIifV0sWyJwYXRoIix7ZDoiTTMuODQgN2gxNi4zMiJ9XV19KTt2YXIgUHksdnhlPWYoKCk9PntQeT1bWyJwYXRoIix7ZDoiTTQgMjBoMTYifV0sWyJwYXRoIix7ZDoibTYgMTYgNi0xMiA2IDEyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV1dfSk7dmFyIEl5LHh4ZT1mKCgpPT57SXk9W1sicGF0aCIse2Q6Ik0xMCA0IDggNiJ9XSxbInBhdGgiLHtkOiJNMTcgMTl2MiJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyMCJ9XSxbInBhdGgiLHtkOiJNNyAxOXYyIn1dLFsicGF0aCIse2Q6Ik05IDUgNy42MjEgMy42MjFBMi4xMjEgMi4xMjEgMCAwIDAgNCA1djEyYTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtNSJ9XV19KTt2YXIgTnkseXhlPWYoKCk9PntOeT1bWyJwYXRoIix7ZDoibTExIDctMyA1aDRsLTMgNSJ9XSxbInBhdGgiLHtkOiJNMTQuODU2IDZIMTZhMiAyIDAgMCAxIDIgMnY4YTIgMiAwIDAgMS0yIDJoLTIuOTM1In1dLFsicGF0aCIse2Q6Ik0yMiAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNNS4xNCAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDIuOTM2In1dXX0pO3ZhciBSeSx3eGU9ZigoKT0+e1J5PVtbInBhdGgiLHtkOiJNMTAgMTB2NCJ9XSxbInBhdGgiLHtkOiJNMTQgMTB2NCJ9XSxbInBhdGgiLHtkOiJNMjIgMTR2LTQifV0sWyJwYXRoIix7ZDoiTTYgMTB2NCJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMTYiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciBPeSxNeGU9ZigoKT0+e095PVtbInBhdGgiLHtkOiJNMjIgMTR2LTQifV0sWyJwYXRoIix7ZDoiTTYgMTR2LTQifV0sWyJyZWN0Iix7eDoiMiIseToiNiIsd2lkdGg6IjE2IixoZWlnaHQ6IjEyIixyeDoiMiJ9XV19KTt2YXIgRnksa3hlPWYoKCk9PntGeT1bWyJwYXRoIix7ZDoiTTEwIDE0di00In1dLFsicGF0aCIse2Q6Ik0yMiAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNNiAxNHYtNCJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMTYiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciBCeSxTeGU9ZigoKT0+e0J5PVtbInBhdGgiLHtkOiJNMTAgOXY2In1dLFsicGF0aCIse2Q6Ik0xMi41NDMgNkgxNmEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMmgtMy42MDUifV0sWyJwYXRoIix7ZDoiTTIyIDE0di00In1dLFsicGF0aCIse2Q6Ik03IDEyaDYifV0sWyJwYXRoIix7ZDoiTTcuNjA2IDE4SDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoMy42MDYifV1dfSk7dmFyIEh5LHp4ZT1mKCgpPT57SHk9W1sicGF0aCIse2Q6Ik0xMCAxN2guMDEifV0sWyJwYXRoIix7ZDoiTTEwIDd2NiJ9XSxbInBhdGgiLHtkOiJNMTQgNmgyYTIgMiAwIDAgMSAyIDJ2OGEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik0yMiAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNNiAxOEg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDIifV1dfSk7dmFyIHF5LEN4ZT1mKCgpPT57cXk9W1sicGF0aCIse2Q6Ik0gMjIgMTQgTCAyMiAxMCJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMTYiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciBWeSxfeGU9ZigoKT0+e1Z5PVtbInBhdGgiLHtkOiJNOSA5Yy0uNjQuNjQtMS41MjEuOTU0LTIuNDAyIDEuMTY1QTYgNiAwIDAgMCA4IDIyYTEzLjk2IDEzLjk2IDAgMCAwIDkuOS00LjEifV0sWyJwYXRoIix7ZDoiTTEwLjc1IDUuMDkzQTYgNiAwIDAgMSAyMiA4YzAgMi40MTEtLjYxIDQuNjgtMS42ODMgNi42NiJ9XSxbInBhdGgiLHtkOiJNNS4zNDEgMTAuNjJhNCA0IDAgMCAwIDYuNDg3IDEuMjA4TTEwLjYyIDUuMzQxYTQuMDE1IDQuMDE1IDAgMCAxIDIuMDM5IDIuMDQifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIganksVHhlPWYoKCk9PntqeT1bWyJwYXRoIix7ZDoiTTQuNSAzaDE1In1dLFsicGF0aCIse2Q6Ik02IDN2MTZhMiAyIDAgMCAwIDIgMmg4YTIgMiAwIDAgMCAyLTJWMyJ9XSxbInBhdGgiLHtkOiJNNiAxNGgxMiJ9XV19KTt2YXIgVXksTHhlPWYoKCk9PntVeT1bWyJwYXRoIix7ZDoiTTIgMjB2LThhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjgifV0sWyJwYXRoIix7ZDoiTTQgMTBWNmEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTIgNHY2In1dLFsicGF0aCIse2Q6Ik0yIDE4aDIwIn1dXX0pO3ZhciBXeSwkeGU9ZigoKT0+e1d5PVtbInBhdGgiLHtkOiJNMTAuMTY1IDYuNTk4QzkuOTU0IDcuNDc4IDkuNjQgOC4zNiA5IDljLS42NC42NC0xLjUyMS45NTQtMi40MDIgMS4xNjVBNiA2IDAgMCAwIDggMjJjNy43MzIgMCAxNC02LjI2OCAxNC0xNGE2IDYgMCAwIDAtMTEuODM1LTEuNDAyWiJ9XSxbInBhdGgiLHtkOiJNNS4zNDEgMTAuNjJhNCA0IDAgMSAwIDUuMjc5LTUuMjgifV1dfSk7dmFyIEd5LER4ZT1mKCgpPT57R3k9W1sicGF0aCIse2Q6Ik0zIDIwdi04YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnY4In1dLFsicGF0aCIse2Q6Ik01IDEwVjZhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMThoMTgifV1dfSk7dmFyIFl5LEF4ZT1mKCgpPT57WXk9W1sicGF0aCIse2Q6Ik0xMS43NzEgNi4xMDlhMi41IDIuNSAwIDAgMSAzLjEyIDMuMTIifV0sWyJwYXRoIix7ZDoiTTE3Ljg1MiAxMi4xODVhNi41IDYuNSAwIDAgMC05LjAzNS05LjA0In1dLFsicGF0aCIse2Q6Ik0xOC4wMTMgMTguMDEzQzE1LjAyOSAyMC4zNDkgMTAuODMxIDIyIDcgMjJhMyAzIDAgMCAxLTIuNjgtMS42NkwyLjQgMTYuNSJ9XSxbInBhdGgiLHtkOiJtMTguNSA2IDIuMTkgNC41YTYuNDggNi40OCAwIDAgMS0uMTM5IDQuMzkzIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTYuMzU1IDYuMzdhNyA3IDAgMCAwLS4wNzUuMjNjLTEuMSAzLjEzLS43OCAzLjktMy4xOCA2LjA4QTMgMyAwIDAgMCA1IDE4YzMuMzU2IDAgNi45OTMtMS4yNjcgOS44NS0zLjE1MSJ9XV19KTt2YXIgS3ksRXhlPWYoKCk9PntLeT1bWyJwYXRoIix7ZDoiTTIgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMiA4aDE4YTIgMiAwIDAgMSAyIDJ2MTAifV0sWyJwYXRoIix7ZDoiTTIgMTdoMjAifV0sWyJwYXRoIix7ZDoiTTYgOHY5In1dXX0pO3ZhciBaeSxQeGU9ZigoKT0+e1p5PVtbInBhdGgiLHtkOiJNMTYuNCAxMy43QTYuNSA2LjUgMCAxIDAgNi4yOCA2LjZjLTEuMSAzLjEzLS43OCAzLjktMy4xOCA2LjA4QTMgMyAwIDAgMCA1IDE4YzQgMCA4LjQtMS44IDExLjQtNC4zIn1dLFsicGF0aCIse2Q6Im0xOC41IDYgMi4xOSA0LjVhNi40OCA2LjQ4IDAgMCAxLTIuMjkgNy4yQzE1LjQgMjAuMiAxMSAyMiA3IDIyYTMgMyAwIDAgMS0yLjY4LTEuNjZMMi40IDE2LjUifV0sWyJjaXJjbGUiLHtjeDoiMTIuNSIsY3k6IjguNSIscjoiMi41In1dXX0pO3ZhciBYeSxJeGU9ZigoKT0+e1h5PVtbInBhdGgiLHtkOiJNMTMgMTN2NSJ9XSxbInBhdGgiLHtkOiJNMTcgMTEuNDdWOCJ9XSxbInBhdGgiLHtkOiJNMTcgMTFoMWEzIDMgMCAwIDEgMi43NDUgNC4yMTEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNNSA4djEyYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0ydi0zIn1dLFsicGF0aCIse2Q6Ik03LjUzNiA3LjUzNUM2Ljc2NiA3LjY0OSA2LjE1NCA4IDUuNSA4YTIuNSAyLjUgMCAwIDEtMS43NjgtNC4yNjgifV0sWyJwYXRoIix7ZDoiTTguNzI3IDMuMjA0QzkuMzA2IDIuNzY3IDkuODg1IDIgMTEgMmMxLjU2IDAgMiAxLjUgMyAxLjVzMS43Mi0uNSAyLjUtLjVhMSAxIDAgMSAxIDAgNWMtLjc4IDAtMS41LS41LTIuNS0uNWEzLjE0OSAzLjE0OSAwIDAgMC0uODQyLjEyIn1dLFsicGF0aCIse2Q6Ik05IDE0LjZWMTgifV1dfSk7dmFyIFF5LE54ZT1mKCgpPT57UXk9W1sicGF0aCIse2Q6Ik0xNyAxMWgxYTMgMyAwIDAgMSAwIDZoLTEifV0sWyJwYXRoIix7ZDoiTTkgMTJ2NiJ9XSxbInBhdGgiLHtkOiJNMTMgMTJ2NiJ9XSxbInBhdGgiLHtkOiJNMTQgNy41Yy0xIDAtMS40NC41LTMgLjVzLTItLjUtMy0uNS0xLjcyLjUtMi41LjVhMi41IDIuNSAwIDAgMSAwLTVjLjc4IDAgMS41Ny41IDIuNS41UzkuNDQgMiAxMSAyczIgMS41IDMgMS41IDEuNzItLjUgMi41LS41YTIuNSAyLjUgMCAwIDEgMCA1Yy0uNzggMC0xLjUtLjUtMi41LS41WiJ9XSxbInBhdGgiLHtkOiJNNSA4djEyYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0yVjgifV1dfSk7dmFyIEp5LFJ4ZT1mKCgpPT57Snk9W1sicGF0aCIse2Q6Ik0xMC4yNjggMjFhMiAyIDAgMCAwIDMuNDY0IDAifV0sWyJwYXRoIix7ZDoibTE1IDggMiAyIDQtNCJ9XSxbInBhdGgiLHtkOiJNMTYuODYwNyA0LjQ4MjRBNiA2IDAgMCAwIDYgOEM2IDEyLjQ5OSA0LjU4OSAxMy45NTYgMy4yNjIgMTUuMzI2In1dLFsicGF0aCIse2Q6Ik0zLjI2MiAxNS4zMjZBMSAxIDAgMCAwIDQgMTdIMjBBMSAxIDAgMCAwIDIwLjc0IDE1LjMyN0MyMC4yMDkgMTQuNzc5IDE5LjY2NSAxNC4yMTggMTkuMjAzIDEzLjQ1NCJ9XV19KTt2YXIgZXcsT3hlPWYoKCk9Pntldz1bWyJwYXRoIix7ZDoiTTEwLjI2OCAyMWEyIDIgMCAwIDAgMy40NjQgMCJ9XSxbInBhdGgiLHtkOiJNMTEuNjggMi4wMDlBNiA2IDAgMCAwIDYgOGMwIDQuNDk5LTEuNDExIDUuOTU2LTIuNzM4IDcuMzI2QTEgMSAwIDAgMCA0IDE3aDE2YTEgMSAwIDAgMCAuNzQtMS42NzNjLS44MjQtLjg1LTEuNjc4LTEuNzMxLTIuMjEtMy4zNDgifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI1IixyOiIzIn1dXX0pO3ZhciB0dyxGeGU9ZigoKT0+e3R3PVtbInBhdGgiLHtkOiJNMTguNTE4IDE3LjM0N0E3IDcgMCAwIDEgMTQgMTkifV0sWyJwYXRoIix7ZDoiTTE4LjggNEExMSAxMSAwIDAgMSAyMCA5In1dLFsicGF0aCIse2Q6Ik05IDloLjAxIn1dLFsiY2lyY2xlIix7Y3g6IjIwIixjeToiMTYiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjcifV0sWyJyZWN0Iix7eDoiNCIseToiMTYiLHdpZHRoOiIxMCIsaGVpZ2h0OiI2IixyeDoiMiJ9XV19KTt2YXIgYXcsQnhlPWYoKCk9Pnthdz1bWyJwYXRoIix7ZDoiTTEwLjI2OCAyMWEyIDIgMCAwIDAgMy40NjQgMCJ9XSxbInBhdGgiLHtkOiJNMTcgMTdINGExIDEgMCAwIDEtLjc0LTEuNjczQzQuNTkgMTMuOTU2IDYgMTIuNDk5IDYgOGE2IDYgMCAwIDEgLjI1OC0xLjc0MiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik04LjY2OCAzLjAxQTYgNiAwIDAgMSAxOCA4YzAgMi42ODcuNzcgNC42NTMgMS43MDcgNi4wNSJ9XV19KTt2YXIgcncsSHhlPWYoKCk9Pntydz1bWyJwYXRoIix7ZDoiTTEwLjI2OCAyMWEyIDIgMCAwIDAgMy40NjQgMCJ9XSxbInBhdGgiLHtkOiJNMTUgOGg2In1dLFsicGF0aCIse2Q6Ik0xNi4yNDMgMy43NTdBNiA2IDAgMCAwIDYgOGMwIDQuNDk5LTEuNDExIDUuOTU2LTIuNzM4IDcuMzI2QTEgMSAwIDAgMCA0IDE3aDE2YTEgMSAwIDAgMCAuNzQtMS42NzNBOS40IDkuNCAwIDAgMSAxOC42NjcgMTIifV1dfSk7dmFyIHN3LHF4ZT1mKCgpPT57c3c9W1sicGF0aCIse2Q6Ik0xMC4yNjggMjFhMiAyIDAgMCAwIDMuNDY0IDAifV0sWyJwYXRoIix7ZDoiTTE1IDhoNiJ9XSxbInBhdGgiLHtkOiJNMTggNXY2In1dLFsicGF0aCIse2Q6Ik0yMC4wMDIgMTQuNDY0YTkgOSAwIDAgMCAuNzM4Ljg2M0ExIDEgMCAwIDEgMjAgMTdINGExIDEgMCAwIDEtLjc0LTEuNjczQzQuNTkgMTMuOTU2IDYgMTIuNDk5IDYgOGE2IDYgMCAwIDEgOC43NS01LjMzMiJ9XV19KTt2YXIgaXcsVnhlPWYoKCk9Pntpdz1bWyJwYXRoIix7ZDoiTTEwLjI2OCAyMWEyIDIgMCAwIDAgMy40NjQgMCJ9XSxbInBhdGgiLHtkOiJNMjIgOGMwLTIuMy0uOC00LjMtMi02In1dLFsicGF0aCIse2Q6Ik0zLjI2MiAxNS4zMjZBMSAxIDAgMCAwIDQgMTdoMTZhMSAxIDAgMCAwIC43NC0xLjY3M0MxOS40MSAxMy45NTYgMTggMTIuNDk5IDE4IDhBNiA2IDAgMCAwIDYgOGMwIDQuNDk5LTEuNDExIDUuOTU2LTIuNzM4IDcuMzI2In1dLFsicGF0aCIse2Q6Ik00IDJDMi44IDMuNyAyIDUuNyAyIDgifV1dfSk7dmFyIG93LGp4ZT1mKCgpPT57b3c9W1sicGF0aCIse2Q6Ik0xMC4yNjggMjFhMiAyIDAgMCAwIDMuNDY0IDAifV0sWyJwYXRoIix7ZDoiTTMuMjYyIDE1LjMyNkExIDEgMCAwIDAgNCAxN2gxNmExIDEgMCAwIDAgLjc0LTEuNjczQzE5LjQxIDEzLjk1NiAxOCAxMi40OTkgMTggOEE2IDYgMCAwIDAgNiA4YzAgNC40OTktMS40MTEgNS45NTYtMi43MzggNy4zMjYifV1dfSk7dmFyIF9kLFV4ZT1mKCgpPT57X2Q9W1sicmVjdCIse3dpZHRoOiIxMyIsaGVpZ2h0OiI3Iix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJtMjIgMTUtMy0zIDMtMyJ9XSxbInJlY3QiLHt3aWR0aDoiMTMiLGhlaWdodDoiNyIseDoiMyIseToiMTQiLHJ4OiIxIn1dXX0pO3ZhciBUZCxXeGU9ZigoKT0+e1RkPVtbInJlY3QiLHt3aWR0aDoiMTMiLGhlaWdodDoiNyIseDoiOCIseToiMyIscng6IjEifV0sWyJwYXRoIix7ZDoibTIgOSAzIDMtMyAzIn1dLFsicmVjdCIse3dpZHRoOiIxMyIsaGVpZ2h0OiI3Iix4OiI4Iix5OiIxNCIscng6IjEifV1dfSk7dmFyIG53LEd4ZT1mKCgpPT57bnc9W1sicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjEzIix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJtOSAyMiAzLTMgMyAzIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjEzIix4OiIxNCIseToiMyIscng6IjEifV1dfSk7dmFyIGx3LFl4ZT1mKCgpPT57bHc9W1sicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjEzIix4OiIzIix5OiI4IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJtMTUgMi0zIDMtMy0zIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjEzIix4OiIxNCIseToiOCIscng6IjEifV1dfSk7dmFyIGN3LEt4ZT1mKCgpPT57Y3c9W1sicGF0aCIse2Q6Ik0xMi40MDkgMTMuMDE3QTUgNSAwIDAgMSAyMiAxNWMwIDMuODY2LTQgNy05IDctNC4wNzcgMC04LjE1My0uODItMTAuMzcxLTIuNDYyLS40MjYtLjMxNi0uNjMxLS44MzItLjYyLTEuMzYyQzIuMTE4IDEyLjcyMyAyLjYyNyAyIDEwIDJhMyAzIDAgMCAxIDMgMyAyIDIgMCAwIDEtMiAyYy0xLjEwNSAwLTEuNjQtLjQ0NC0yLTEifV0sWyJwYXRoIix7ZDoiTTE1IDE0YTUgNSAwIDAgMC03LjU4NCAyIn1dLFsicGF0aCIse2Q6Ik05Ljk2NCA2LjgyNUM4LjAxOSA3Ljk3NyA5LjUgMTMgOCAxNSJ9XV19KTt2YXIgZHcsWnhlPWYoKCk9Pntkdz1bWyJjaXJjbGUiLHtjeDoiMTguNSIsY3k6IjE3LjUiLHI6IjMuNSJ9XSxbImNpcmNsZSIse2N4OiI1LjUiLGN5OiIxNy41IixyOiIzLjUifV0sWyJjaXJjbGUiLHtjeDoiMTUiLGN5OiI1IixyOiIxIn1dLFsicGF0aCIse2Q6Ik0xMiAxNy41VjE0bC0zLTMgNC0zIDIgM2gyIn1dXX0pO3ZhciB1dyxYeGU9ZigoKT0+e3V3PVtbInJlY3QiLHt4OiIxNCIseToiMTQiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ4OiIyIn1dLFsicmVjdCIse3g6IjYiLHk6IjQiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDIwaDQifV0sWyJwYXRoIix7ZDoiTTE0IDEwaDQifV0sWyJwYXRoIix7ZDoiTTYgMTRoMnY2In1dLFsicGF0aCIse2Q6Ik0xNCA0aDJ2NiJ9XV19KTt2YXIgcHcsUXhlPWYoKCk9Pntwdz1bWyJwYXRoIix7ZDoiTTEwIDEwaDQifV0sWyJwYXRoIix7ZDoiTTE5IDdWNGExIDEgMCAwIDAtMS0xaC0yYTEgMSAwIDAgMC0xIDF2MyJ9XSxbInBhdGgiLHtkOiJNMjAgMjFhMiAyIDAgMCAwIDItMnYtMy44NTFjMC0xLjM5LTItMi45NjItMi00LjgyOVY4YTEgMSAwIDAgMC0xLTFoLTRhMSAxIDAgMCAwLTEgMXYxMWEyIDIgMCAwIDAgMiAyeiJ9XSxbInBhdGgiLHtkOiJNIDIyIDE2IEwgMiAxNiJ9XSxbInBhdGgiLHtkOiJNNCAyMWEyIDIgMCAwIDEtMi0ydi0zLjg1MWMwLTEuMzkgMi0yLjk2MiAyLTQuODI5VjhhMSAxIDAgMCAxIDEtMWg0YTEgMSAwIDAgMSAxIDF2MTFhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTkgN1Y0YTEgMSAwIDAgMC0xLTFINmExIDEgMCAwIDAtMSAxdjMifV1dfSk7dmFyIGZ3LEp4ZT1mKCgpPT57Znc9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTEuOSIscjoiMiJ9XSxbInBhdGgiLHtkOiJNNi43IDMuNGMtLjkgMi41IDAgNS4yIDIuMiA2LjdDNi41IDkgMy43IDkuNiAyIDExLjYifV0sWyJwYXRoIix7ZDoibTguOSAxMC4xIDEuNC44In1dLFsicGF0aCIse2Q6Ik0xNy4zIDMuNGMuOSAyLjUgMCA1LjItMi4yIDYuNyAyLjQtMS4yIDUuMi0uNiA2LjkgMS41In1dLFsicGF0aCIse2Q6Im0xNS4xIDEwLjEtMS40LjgifV0sWyJwYXRoIix7ZDoiTTE2LjcgMjAuOGMtMi42LS40LTQuNi0yLjYtNC43LTUuMy0uMiAyLjYtMi4xIDQuOC00LjcgNS4yIn1dLFsicGF0aCIse2Q6Ik0xMiAxMy45djEuNiJ9XSxbInBhdGgiLHtkOiJNMTMuNSA1LjRjLTEtLjItMi0uMi0zIDAifV0sWyJwYXRoIix7ZDoiTTE3IDE2LjRjLjctLjcgMS4yLTEuNiAxLjUtMi41In1dLFsicGF0aCIse2Q6Ik01LjUgMTMuOWMuMy45LjggMS44IDEuNSAyLjUifV1dfSk7dmFyIGh3LGV5ZT1mKCgpPT57aHc9W1sicGF0aCIse2Q6Ik0xNiA3aC4wMSJ9XSxbInBhdGgiLHtkOiJNMy40IDE4SDEyYTggOCAwIDAgMCA4LThWN2E0IDQgMCAwIDAtNy4yOC0yLjNMMiAyMCJ9XSxbInBhdGgiLHtkOiJtMjAgNyAyIC41LTIgLjUifV0sWyJwYXRoIix7ZDoiTTEwIDE4djMifV0sWyJwYXRoIix7ZDoiTTE0IDE3Ljc1VjIxIn1dLFsicGF0aCIse2Q6Ik03IDE4YTYgNiAwIDAgMCAzLjg0LTEwLjYxIn1dXX0pO3ZhciBtdyx0eWU9ZigoKT0+e213PVtbInBhdGgiLHtkOiJNMTIgMTh2NCJ9XSxbInBhdGgiLHtkOiJtMTcgMTggMS45NTYtMTEuNDY4In1dLFsicGF0aCIse2Q6Im0zIDggNy44Mi01LjYxNWEyIDIgMCAwIDEgMi4zNiAwTDIxIDgifV0sWyJwYXRoIix7ZDoiTTQgMThoMTYifV0sWyJwYXRoIix7ZDoiTTcgMTggNS4wNDQgNi41MzIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMiJ9XV19KTt2YXIgZ3csYXllPWYoKCk9Pntndz1bWyJwYXRoIix7ZDoiTTExLjc2NyAxOS4wODljNC45MjQuODY4IDYuMTQtNi4wMjUgMS4yMTYtNi44OTRtLTEuMjE2IDYuODk0TDUuODYgMTguMDQ3bTUuOTA4IDEuMDQyLS4zNDcgMS45N20xLjU2My04Ljg2NGM0LjkyNC44NjkgNi4xNC02LjAyNSAxLjIxNS02Ljg5M20tMS4yMTUgNi44OTMtMy45NC0uNjk0bTUuMTU1LTYuMkw4LjI5IDQuMjZtNS45MDggMS4wNDIuMzQ4LTEuOTdNNy40OCAyMC4zNjRsMy4xMjYtMTcuNzI3In1dXX0pO3ZhciBidyxyeWU9ZigoKT0+e2J3PVtbImNpcmNsZSIse2N4OiI5IixjeToiOSIscjoiNyJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjE1IixyOiI3In1dXX0pO3ZhciB2dyxzeWU9ZigoKT0+e3Z3PVtbInBhdGgiLHtkOiJNMyAzaDE4In1dLFsicGF0aCIse2Q6Ik0yMCA3SDgifV0sWyJwYXRoIix7ZDoiTTIwIDExSDgifV0sWyJwYXRoIix7ZDoiTTEwIDE5aDEwIn1dLFsicGF0aCIse2Q6Ik04IDE1aDEyIn1dLFsicGF0aCIse2Q6Ik00IDN2MTQifV0sWyJjaXJjbGUiLHtjeDoiNCIsY3k6IjE5IixyOiIyIn1dXX0pO3ZhciB4dyxpeWU9ZigoKT0+e3h3PVtbInBhdGgiLHtkOiJNMTAgMjJWN2ExIDEgMCAwIDAtMS0xSDRhMiAyIDAgMCAwLTIgMnYxMmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTVhMSAxIDAgMCAwLTEtMUgyIn1dLFsicmVjdCIse3g6IjE0Iix5OiIyIix3aWR0aDoiOCIsaGVpZ2h0OiI4IixyeDoiMSJ9XV19KTt2YXIgeXcsb3llPWYoKCk9Pnt5dz1bWyJwYXRoIix7ZDoibTcgNyAxMCAxMC01IDVWMmw1IDVMNyAxNyJ9XSxbImxpbmUiLHt4MToiMTgiLHgyOiIyMSIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjMiLHgyOiI2Iix5MToiMTIiLHkyOiIxMiJ9XV19KTt2YXIgd3csbnllPWYoKCk9Pnt3dz1bWyJwYXRoIix7ZDoibTE3IDE3LTUgNVYxMmwtNSA1In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTE0LjUgOS41IDE3IDdsLTUtNXY0LjUifV1dfSk7dmFyIE13LGx5ZT1mKCgpPT57TXc9W1sicGF0aCIse2Q6Im03IDcgMTAgMTAtNSA1VjJsNSA1TDcgMTcifV1dfSk7dmFyIGt3LGN5ZT1mKCgpPT57a3c9W1sicGF0aCIse2Q6Im03IDcgMTAgMTAtNSA1VjJsNSA1TDcgMTcifV0sWyJwYXRoIix7ZDoiTTIwLjgzIDE0LjgzYTQgNCAwIDAgMCAwLTUuNjYifV0sWyJwYXRoIix7ZDoiTTE4IDEyaC4wMSJ9XV19KTt2YXIgU3csZHllPWYoKCk9PntTdz1bWyJwYXRoIix7ZDoiTTYgMTJoOWE0IDQgMCAwIDEgMCA4SDdhMSAxIDAgMCAxLTEtMVY1YTEgMSAwIDAgMSAxLTFoN2E0IDQgMCAwIDEgMCA4In1dXX0pO3ZhciB6dyx1eWU9ZigoKT0+e3p3PVtbImNpcmNsZSIse2N4OiIxMSIsY3k6IjEzIixyOiI5In1dLFsicGF0aCIse2Q6Ik0xNC4zNSA0LjY1IDE2LjMgMi43YTIuNDEgMi40MSAwIDAgMSAzLjQgMGwxLjYgMS42YTIuNCAyLjQgMCAwIDEgMCAzLjRsLTEuOTUgMS45NSJ9XSxbInBhdGgiLHtkOiJtMjIgMi0xLjUgMS41In1dXX0pO3ZhciBDdyxweWU9ZigoKT0+e0N3PVtbInBhdGgiLHtkOiJNMjEgMTZWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjczbDcgNGEyIDIgMCAwIDAgMiAwbDctNEEyIDIgMCAwIDAgMjEgMTZ6In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjQifV1dfSk7dmFyIF93LGZ5ZT1mKCgpPT57X3c9W1sicGF0aCIse2Q6Ik0xNyAxMGMuNy0uNyAxLjY5IDAgMi41IDBhMi41IDIuNSAwIDEgMCAwLTUgLjUuNSAwIDAgMS0uNS0uNSAyLjUgMi41IDAgMSAwLTUgMGMwIC44MS43IDEuOCAwIDIuNWwtNyA3Yy0uNy43LTEuNjkgMC0yLjUgMGEyLjUgMi41IDAgMCAwIDAgNWMuMjggMCAuNS4yMi41LjVhMi41IDIuNSAwIDEgMCA1IDBjMC0uODEtLjctMS44IDAtMi41WiJ9XV19KTt2YXIgVHcsaHllPWYoKCk9PntUdz1bWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoibTggMTMgNC03IDQgNyJ9XSxbInBhdGgiLHtkOiJNOS4xIDExaDUuNyJ9XV19KTt2YXIgTHcsbXllPWYoKCk9PntMdz1bWyJwYXRoIix7ZDoiTTEyIDEzaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgNnYzIn1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dXX0pO3ZhciAkdyxneWU9ZigoKT0+eyR3PVtbInBhdGgiLHtkOiJNMTIgNnY3In1dLFsicGF0aCIse2Q6Ik0xNiA4djMifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoiTTggOHYzIn1dXX0pO3ZhciBEdyxieWU9ZigoKT0+e0R3PVtbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJtOSA5LjUgMiAyIDQtNCJ9XV19KTt2YXIgQXcsdnllPWYoKCk9PntBdz1bWyJwYXRoIix7ZDoiTTUgN2EyIDIgMCAwIDAtMiAydjExIn1dLFsicGF0aCIse2Q6Ik01LjgwMyAxOEg1YTIgMiAwIDAgMCAwIDRoOS41YS41LjUgMCAwIDAgLjUtLjVWMjEifV0sWyJwYXRoIix7ZDoiTTkgMTVWNGEyIDIgMCAwIDEgMi0yaDkuNWEuNS41IDAgMCAxIC41LjV2MTRhLjUuNSAwIDAgMS0uNS41SDExYTIgMiAwIDAgMSAwLTRoMTAifV1dfSk7dmFyIExkLHh5ZT1mKCgpPT57TGQ9W1sicGF0aCIse2Q6Ik0xMiAxN2gxLjUifV0sWyJwYXRoIix7ZDoiTTEyIDIyaDEuNSJ9XSxbInBhdGgiLHtkOiJNMTIgMmgxLjUifV0sWyJwYXRoIix7ZDoiTTE3LjUgMjJIMTlhMSAxIDAgMCAwIDEtMSJ9XSxbInBhdGgiLHtkOiJNMTcuNSAySDE5YTEgMSAwIDAgMSAxIDF2MS41In1dLFsicGF0aCIse2Q6Ik0yMCAxNHYzaC0yLjUifV0sWyJwYXRoIix7ZDoiTTIwIDguNVYxMCJ9XSxbInBhdGgiLHtkOiJNNCAxMFY4LjUifV0sWyJwYXRoIix7ZDoiTTQgMTkuNVYxNCJ9XSxbInBhdGgiLHtkOiJNNCA0LjVBMi41IDIuNSAwIDAgMSA2LjUgMkg4In1dLFsicGF0aCIse2Q6Ik04IDIySDYuNWExIDEgMCAwIDEgMC01SDgifV1dfSk7dmFyIEV3LHl5ZT1mKCgpPT57RXc9W1sicGF0aCIse2Q6Ik0xMiAxM1Y3In1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Im05IDEwIDMgMyAzLTMifV1dfSk7dmFyIFB3LHd5ZT1mKCgpPT57UHc9W1sicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Ik04IDEydi0yYTQgNCAwIDAgMSA4IDB2MiJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiIxMiIscjoiMSJ9XV19KTt2YXIgSXcsTXllPWYoKCk9PntJdz1bWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoiTTguNjIgOS44QTIuMjUgMi4yNSAwIDEgMSAxMiA2LjgzNmEyLjI1IDIuMjUgMCAxIDEgMy4zOCAyLjk2NmwtMi42MjYgMi44NTZhLjk5OC45OTggMCAwIDEtMS41MDcgMHoifV1dfSk7dmFyIE53LGt5ZT1mKCgpPT57Tnc9W1sicGF0aCIse2Q6Im0yMCAxMy43LTIuMS0yLjFhMiAyIDAgMCAwLTIuOCAwTDkuNyAxNyJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjgiLHI6IjIifV1dfSk7dmFyIFJ3LFN5ZT1mKCgpPT57Unc9W1sicGF0aCIse2Q6Ik0xMyAySDYuNUEyLjUgMi41IDAgMCAwIDQgNC41djE1In1dLFsicGF0aCIse2Q6Ik0xNyAydjYifV0sWyJwYXRoIix7ZDoiTTE3IDRoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTUuMlYyMWExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTAiLHI6IjIifV1dfSk7dmFyIE93LHp5ZT1mKCgpPT57T3c9W1sicGF0aCIse2Q6Ik0xMCAydjhsMy0zIDMgM1YyIn1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTlhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dXX0pO3ZhciBGdyxDeWU9ZigoKT0+e0Z3PVtbInBhdGgiLHtkOiJNMTggNlY0YTIgMiAwIDEgMC00IDB2MiJ9XSxbInBhdGgiLHtkOiJNMjAgMTV2NmExIDEgMCAwIDEtMSAxSDYuNWExIDEgMCAwIDEgMC01SDIwIn1dLFsicGF0aCIse2Q6Ik00IDE5LjV2LTE1QTIuNSAyLjUgMCAwIDEgNi41IDJIMTAifV0sWyJyZWN0Iix7eDoiMTIiLHk6IjYiLHdpZHRoOiI4IixoZWlnaHQ6IjUiLHJ4OiIxIn1dXX0pO3ZhciBCdyxfeWU9ZigoKT0+e0J3PVtbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJNOSAxMGg2In1dXX0pO3ZhciBIdyxUeWU9ZigoKT0+e0h3PVtbInBhdGgiLHtkOiJNMTIgMjFWNyJ9XSxbInBhdGgiLHtkOiJtMTYgMTIgMiAyIDQtNCJ9XSxbInBhdGgiLHtkOiJNMjIgNlY0YTEgMSAwIDAgMC0xLTFoLTVhNCA0IDAgMCAwLTQgNCA0IDQgMCAwIDAtNC00SDNhMSAxIDAgMCAwLTEgMXYxM2ExIDEgMCAwIDAgMSAxaDZhMyAzIDAgMCAxIDMgMyAzIDMgMCAwIDEgMy0zaDZhMSAxIDAgMCAwIDEtMXYtMS4zIn1dXX0pO3ZhciBxdyxMeWU9ZigoKT0+e3F3PVtbInBhdGgiLHtkOiJNMTIgN3YxNCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoMiJ9XSxbInBhdGgiLHtkOiJNMTYgOGgyIn1dLFsicGF0aCIse2Q6Ik0zIDE4YTEgMSAwIDAgMS0xLTFWNGExIDEgMCAwIDEgMS0xaDVhNCA0IDAgMCAxIDQgNCA0IDQgMCAwIDEgNC00aDVhMSAxIDAgMCAxIDEgMXYxM2ExIDEgMCAwIDEtMSAxaC02YTMgMyAwIDAgMC0zIDMgMyAzIDAgMCAwLTMtM3oifV0sWyJwYXRoIix7ZDoiTTYgMTJoMiJ9XSxbInBhdGgiLHtkOiJNNiA4aDIifV1dfSk7dmFyIFZ3LCR5ZT1mKCgpPT57Vnc9W1sicGF0aCIse2Q6Ik0xMSAyMkg1LjVhMSAxIDAgMCAxIDAtNWg0LjUwMSJ9XSxbInBhdGgiLHtkOiJtMjEgMjItMS44NzktMS44NzgifV0sWyJwYXRoIix7ZDoiTTMgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA1LjUgMkgxOGExIDEgMCAwIDEgMSAxdjgifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgancsRHllPWYoKCk9Pntqdz1bWyJwYXRoIix7ZDoiTTEyIDd2MTQifV0sWyJwYXRoIix7ZDoiTTMgMThhMSAxIDAgMCAxLTEtMVY0YTEgMSAwIDAgMSAxLTFoNWE0IDQgMCAwIDEgNCA0IDQgNCAwIDAgMSA0LTRoNWExIDEgMCAwIDEgMSAxdjEzYTEgMSAwIDAgMS0xIDFoLTZhMyAzIDAgMCAwLTMgMyAzIDMgMCAwIDAtMy0zeiJ9XV19KTt2YXIgVXcsQXllPWYoKCk9PntVdz1bWyJwYXRoIix7ZDoiTTEyIDd2NiJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJNOSAxMGg2In1dXX0pO3ZhciBXdyxFeWU9ZigoKT0+e1d3PVtbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJNOCAxMWg4In1dLFsicGF0aCIse2Q6Ik04IDdoNiJ9XV19KTt2YXIgR3csUHllPWYoKCk9PntHdz1bWyJwYXRoIix7ZDoiTTEyIDEzVjcifV0sWyJwYXRoIix7ZDoiTTE4IDJoMWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMiJ9XSxbInBhdGgiLHtkOiJtOSAxMCAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Im05IDUgMy0zIDMgMyJ9XV19KTt2YXIgWXcsSXllPWYoKCk9PntZdz1bWyJwYXRoIix7ZDoiTTEyIDEzVjcifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJwYXRoIix7ZDoibTkgMTAgMy0zIDMgMyJ9XV19KTt2YXIgS3csTnllPWYoKCk9PntLdz1bWyJwYXRoIix7ZDoiTTEwIDEzaDQifV0sWyJwYXRoIix7ZDoiTTEyIDZ2NyJ9XSxbInBhdGgiLHtkOiJNMTYgOFY2SDh2MiJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XV19KTt2YXIgWncsUnllPWYoKCk9Pntadz1bWyJwYXRoIix7ZDoiTTE1IDEzYTMgMyAwIDEgMC02IDAifV0sWyJwYXRoIix7ZDoiTTQgMTkuNXYtMTVBMi41IDIuNSAwIDAgMSA2LjUgMkgxOWExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDFINi41YTEgMSAwIDAgMSAwLTVIMjAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI4IixyOiIyIn1dXX0pO3ZhciBYdyxPeWU9ZigoKT0+e1h3PVtbInBhdGgiLHtkOiJtMTQuNSA3LTUgNSJ9XSxbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XSxbInBhdGgiLHtkOiJtOS41IDcgNSA1In1dXX0pO3ZhciBRdyxGeWU9ZigoKT0+e1F3PVtbInBhdGgiLHtkOiJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDE5YTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMUg2LjVhMSAxIDAgMCAxIDAtNUgyMCJ9XV19KTt2YXIgSncsQnllPWYoKCk9PntKdz1bWyJwYXRoIix7ZDoiTTE3IDNhMiAyIDAgMCAxIDIgMnYxNWExIDEgMCAwIDEtMS40OTYuODY4bC00LjUxMi0yLjU3OGEyIDIgMCAwIDAtMS45ODQgMGwtNC41MTIgMi41NzhBMSAxIDAgMCAxIDUgMjBWNWEyIDIgMCAwIDEgMi0yeiJ9XSxbInBhdGgiLHtkOiJtOSAxMCAyIDIgNC00In1dXX0pO3ZhciBlTSxIeWU9ZigoKT0+e2VNPVtbInBhdGgiLHtkOiJNMTUgMTBIOSJ9XSxbInBhdGgiLHtkOiJNMTcgM2EyIDIgMCAwIDEgMiAydjE1YTEgMSAwIDAgMS0xLjQ5Ni44NjhsLTQuNTEyLTIuNTc4YTIgMiAwIDAgMC0xLjk4NCAwbC00LjUxMiAyLjU3OEExIDEgMCAwIDEgNSAyMFY1YTIgMiAwIDAgMSAyLTJ6In1dXX0pO3ZhciB0TSxxeWU9ZigoKT0+e3RNPVtbInBhdGgiLHtkOiJNMTkgMTl2MWExIDEgMCAwIDEtMS40OTYuODY4bC00LjUxMi0yLjU3OGEyIDIgMCAwIDAtMS45ODQgMGwtNC41MTIgMi41NzhBMSAxIDAgMCAxIDUgMjBWNSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik04LjY1NiAzSDE3YTIgMiAwIDAgMSAyIDJ2OC4zNDQifV1dfSk7dmFyIGFNLFZ5ZT1mKCgpPT57YU09W1sicGF0aCIse2Q6Ik0xMiA3djYifV0sWyJwYXRoIix7ZDoiTTE1IDEwSDkifV0sWyJwYXRoIix7ZDoiTTE3IDNhMiAyIDAgMCAxIDIgMnYxNWExIDEgMCAwIDEtMS40OTYuODY4bC00LjUxMi0yLjU3OGEyIDIgMCAwIDAtMS45ODQgMGwtNC41MTIgMi41NzhBMSAxIDAgMCAxIDUgMjBWNWEyIDIgMCAwIDEgMi0yeiJ9XV19KTt2YXIgck0sanllPWYoKCk9PntyTT1bWyJwYXRoIix7ZDoibTE0LjUgNy41LTUgNSJ9XSxbInBhdGgiLHtkOiJNMTcgM2EyIDIgMCAwIDEgMiAydjE1YTEgMSAwIDAgMS0xLjQ5Ni44NjhsLTQuNTEyLTIuNTc4YTIgMiAwIDAgMC0xLjk4NCAwbC00LjUxMiAyLjU3OEExIDEgMCAwIDEgNSAyMFY1YTIgMiAwIDAgMSAyLTJ6In1dLFsicGF0aCIse2Q6Im05LjUgNy41IDUgNSJ9XV19KTt2YXIgc00sVXllPWYoKCk9PntzTT1bWyJwYXRoIix7ZDoiTTE3IDNhMiAyIDAgMCAxIDIgMnYxNWExIDEgMCAwIDEtMS40OTYuODY4bC00LjUxMi0yLjU3OGEyIDIgMCAwIDAtMS45ODQgMGwtNC41MTIgMi41NzhBMSAxIDAgMCAxIDUgMjBWNWEyIDIgMCAwIDEgMi0yeiJ9XV19KTt2YXIgaU0sV3llPWYoKCk9PntpTT1bWyJwYXRoIix7ZDoiTTQgOVY1YTIgMiAwIDAgMSAyLTJoMTJhMiAyIDAgMCAxIDIgMnY0In1dLFsicGF0aCIse2Q6Ik04IDh2MSJ9XSxbInBhdGgiLHtkOiJNMTIgOHYxIn1dLFsicGF0aCIse2Q6Ik0xNiA4djEifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjEyIix4OiIyIix5OiI5IixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiI4IixjeToiMTUiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNSIscjoiMiJ9XV19KTt2YXIgb00sR3llPWYoKCk9PntvTT1bWyJwYXRoIix7ZDoiTTEyIDZWMkg4In1dLFsicGF0aCIse2Q6Ik0xNSAxMXYyIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIifV0sWyJwYXRoIix7ZDoiTTIwIDEyaDIifV0sWyJwYXRoIix7ZDoiTTIwIDE2YTIgMiAwIDAgMS0yIDJIOC44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDQgMjAuMjg2VjhhMiAyIDAgMCAxIDItMmgxMmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNOSAxMXYyIn1dXX0pO3ZhciBuTSxZeWU9ZigoKT0+e25NPVtbInBhdGgiLHtkOiJNMTMuNjcgOEgxOGEyIDIgMCAwIDEgMiAydjQuMzMifV0sWyJwYXRoIix7ZDoiTTIgMTRoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTRoMiJ9XSxbInBhdGgiLHtkOiJNMjIgMjIgMiAyIn1dLFsicGF0aCIse2Q6Ik04IDhINmEyIDIgMCAwIDAtMiAydjhhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMS40MTQtLjU4NiJ9XSxbInBhdGgiLHtkOiJNOSAxM3YyIn1dLFsicGF0aCIse2Q6Ik05LjY3IDRIMTJ2Mi4zMyJ9XV19KTt2YXIgbE0sS3llPWYoKCk9PntsTT1bWyJwYXRoIix7ZDoiTTEyIDhWNEg4In1dLFsicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIxMiIseDoiNCIseToiOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIgMTRoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTRoMiJ9XSxbInBhdGgiLHtkOiJNMTUgMTN2MiJ9XSxbInBhdGgiLHtkOiJNOSAxM3YyIn1dXX0pO3ZhciBjTSxaeWU9ZigoKT0+e2NNPVtbInBhdGgiLHtkOiJNMTcgM2g0djQifV0sWyJwYXRoIix7ZDoiTTE4LjU3NSAxMS4wODJhMTMgMTMgMCAwIDEgMS4wNDggOS4wMjcgMS4xNyAxLjE3IDAgMCAxLTEuOTE0LjU5N0wxNCAxNyJ9XSxbInBhdGgiLHtkOiJNNyAxMCAzLjI5IDYuMjlhMS4xNyAxLjE3IDAgMCAxIC42LTEuOTEgMTMgMTMgMCAwIDEgOS4wMyAxLjA1In1dLFsicGF0aCIse2Q6Ik03IDE0YTEuNyAxLjcgMCAwIDAtMS4yMDcuNWwtMi42NDYgMi42NDZBLjUuNSAwIDAgMCAzLjUgMThINWExIDEgMCAwIDEgMSAxdjEuNWEuNS41IDAgMCAwIC44NTQuMzU0TDkuNSAxOC4yMDdBMS43IDEuNyAwIDAgMCAxMCAxN3YtMmExIDEgMCAwIDAtMS0xeiJ9XSxbInBhdGgiLHtkOiJNOS43MDcgMTQuMjkzIDIxIDMifV1dfSk7dmFyIGRNLFh5ZT1mKCgpPT57ZE09W1sicGF0aCIse2Q6Ik0xMCAzYTEgMSAwIDAgMSAxLTFoMmExIDEgMCAwIDEgMSAxdjJhNiA2IDAgMCAwIDEuMiAzLjZsLjYuOEE2IDYgMCAwIDEgMTcgMTN2OGExIDEgMCAwIDEtMSAxSDhhMSAxIDAgMCAxLTEtMXYtOGE2IDYgMCAwIDEgMS4yLTMuNmwuNi0uOEE2IDYgMCAwIDAgMTAgNXoifV0sWyJwYXRoIix7ZDoiTTE3IDEzaC00YTEgMSAwIDAgMC0xIDF2M2ExIDEgMCAwIDAgMSAxaDQifV1dfSk7dmFyIHVNLFF5ZT1mKCgpPT57dU09W1sicGF0aCIse2Q6Ik0yMSA4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNloifV0sWyJwYXRoIix7ZDoibTMuMyA3IDguNyA1IDguNy01In1dLFsicGF0aCIse2Q6Ik0xMiAyMlYxMiJ9XV19KTt2YXIgcE0sSnllPWYoKCk9PntwTT1bWyJwYXRoIix7ZDoiTTIuOTcgMTIuOTJBMiAyIDAgMCAwIDIgMTQuNjN2My4yNGEyIDIgMCAwIDAgLjk3IDEuNzFsMyAxLjhhMiAyIDAgMCAwIDIuMDYgMEwxMiAxOXYtNS41bC01LTMtNC4wMyAyLjQyWiJ9XSxbInBhdGgiLHtkOiJtNyAxNi41LTQuNzQtMi44NSJ9XSxbInBhdGgiLHtkOiJtNyAxNi41IDUtMyJ9XSxbInBhdGgiLHtkOiJNNyAxNi41djUuMTcifV0sWyJwYXRoIix7ZDoiTTEyIDEzLjVWMTlsMy45NyAyLjM4YTIgMiAwIDAgMCAyLjA2IDBsMy0xLjhhMiAyIDAgMCAwIC45Ny0xLjcxdi0zLjI0YTIgMiAwIDAgMC0uOTctMS43MUwxNyAxMC41bC01IDNaIn1dLFsicGF0aCIse2Q6Im0xNyAxNi41LTUtMyJ9XSxbInBhdGgiLHtkOiJtMTcgMTYuNSA0Ljc0LTIuODUifV0sWyJwYXRoIix7ZDoiTTE3IDE2LjV2NS4xNyJ9XSxbInBhdGgiLHtkOiJNNy45NyA0LjQyQTIgMiAwIDAgMCA3IDYuMTN2NC4zN2w1IDMgNS0zVjYuMTNhMiAyIDAgMCAwLS45Ny0xLjcxbC0zLTEuOGEyIDIgMCAwIDAtMi4wNiAwbC0zIDEuOFoifV0sWyJwYXRoIix7ZDoiTTEyIDggNy4yNiA1LjE1In1dLFsicGF0aCIse2Q6Im0xMiA4IDQuNzQtMi44NSJ9XSxbInBhdGgiLHtkOiJNMTIgMTMuNVY4In1dXX0pO3ZhciAkZCxld2U9ZigoKT0+eyRkPVtbInBhdGgiLHtkOiJNOCAzSDdhMiAyIDAgMCAwLTIgMnY1YTIgMiAwIDAgMS0yIDIgMiAyIDAgMCAxIDIgMnY1YzAgMS4xLjkgMiAyIDJoMSJ9XSxbInBhdGgiLHtkOiJNMTYgMjFoMWEyIDIgMCAwIDAgMi0ydi01YzAtMS4xLjktMiAyLTJhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMC0yLTJoLTEifV1dfSk7dmFyIGZNLHR3ZT1mKCgpPT57Zk09W1sicGF0aCIse2Q6Ik0xNiAzaDNhMSAxIDAgMCAxIDEgMXYxNmExIDEgMCAwIDEtMSAxaC0zIn1dLFsicGF0aCIse2Q6Ik04IDIxSDVhMSAxIDAgMCAxLTEtMVY0YTEgMSAwIDAgMSAxLTFoMyJ9XV19KTt2YXIgaE0sYXdlPWYoKCk9PntoTT1bWyJwYXRoIix7ZDoiTTEyIDVhMyAzIDAgMSAwLTUuOTk3LjEyNSA0IDQgMCAwIDAtMi41MjYgNS43NyA0IDQgMCAwIDAgLjU1NiA2LjU4OEE0IDQgMCAxIDAgMTIgMThaIn1dLFsicGF0aCIse2Q6Ik05IDEzYTQuNSA0LjUgMCAwIDAgMy00In1dLFsicGF0aCIse2Q6Ik02LjAwMyA1LjEyNUEzIDMgMCAwIDAgNi40MDEgNi41In1dLFsicGF0aCIse2Q6Ik0zLjQ3NyAxMC44OTZhNCA0IDAgMCAxIC41ODUtLjM5NiJ9XSxbInBhdGgiLHtkOiJNNiAxOGE0IDQgMCAwIDEtMS45NjctLjUxNiJ9XSxbInBhdGgiLHtkOiJNMTIgMTNoNCJ9XSxbInBhdGgiLHtkOiJNMTIgMThoNmEyIDIgMCAwIDEgMiAydjEifV0sWyJwYXRoIix7ZDoiTTEyIDhoOCJ9XSxbInBhdGgiLHtkOiJNMTYgOFY1YTIgMiAwIDAgMSAyLTIifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxMyIscjoiLjUifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIzIixyOiIuNSJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjIxIixyOiIuNSJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjgiLHI6Ii41In1dXX0pO3ZhciBtTSxyd2U9ZigoKT0+e21NPVtbInBhdGgiLHtkOiJtMTAuODUyIDE0Ljc3Mi0uMzgzLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTAuODUyIDkuMjI4LS4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTMuMTQ4IDE0Ljc3Mi4zODIuOTI0In1dLFsicGF0aCIse2Q6Im0xMy41MzEgOC4zMDUtLjM4My45MjMifV0sWyJwYXRoIix7ZDoibTE0Ljc3MiAxMC44NTIuOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTE0Ljc3MiAxMy4xNDguOTIzLjM4MyJ9XSxbInBhdGgiLHtkOiJNMTcuNTk4IDYuNUEzIDMgMCAxIDAgMTIgNWEzIDMgMCAwIDAtNS42My0xLjQ0NiAzIDMgMCAwIDAtLjM2OCAxLjU3MSA0IDQgMCAwIDAtMi41MjUgNS43NzEifV0sWyJwYXRoIix7ZDoiTTE3Ljk5OCA1LjEyNWE0IDQgMCAwIDEgMi41MjUgNS43NzEifV0sWyJwYXRoIix7ZDoiTTE5LjUwNSAxMC4yOTRhNCA0IDAgMCAxLTEuNSA3LjcwNiJ9XSxbInBhdGgiLHtkOiJNNC4wMzIgMTcuNDgzQTQgNCAwIDAgMCAxMS40NjQgMjBjLjE4LS4zMTEuODkyLS4zMTEgMS4wNzIgMGE0IDQgMCAwIDAgNy40MzItMi41MTYifV0sWyJwYXRoIix7ZDoiTTQuNSAxMC4yOTFBNCA0IDAgMCAwIDYgMTgifV0sWyJwYXRoIix7ZDoiTTYuMDAyIDUuMTI1YTMgMyAwIDAgMCAuNCAxLjM3NSJ9XSxbInBhdGgiLHtkOiJtOS4yMjggMTAuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtOS4yMjggMTMuMTQ4LS45MjMuMzgzIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV1dfSk7dmFyIGdNLHN3ZT1mKCgpPT57Z009W1sicGF0aCIse2Q6Ik0xNiAzdjIuMTA3In1dLFsicGF0aCIse2Q6Ik0xNyA5YzEgMyAyLjUgMy41IDMuNSA0LjVBNSA1IDAgMCAxIDIyIDE3YTUgNSAwIDAgMS0xMCAwYzAtLjMgMC0uNi4xLS45YTIgMiAwIDEgMCAzLjMtMkMxMyAxMS41IDE2IDkgMTcgOSJ9XSxbInBhdGgiLHtkOiJNMjEgOC4yNzRWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDMuOTM4In1dLFsicGF0aCIse2Q6Ik0zIDE1aDUuMjUzIn1dLFsicGF0aCIse2Q6Ik0zIDloOC4yMjgifV0sWyJwYXRoIix7ZDoiTTggMTV2NiJ9XSxbInBhdGgiLHtkOiJNOCAzdjYifV1dfSk7dmFyIGJNLGl3ZT1mKCgpPT57Yk09W1sicGF0aCIse2Q6Ik0xMiAxOFY1In1dLFsicGF0aCIse2Q6Ik0xNSAxM2E0LjE3IDQuMTcgMCAwIDEtMy00IDQuMTcgNC4xNyAwIDAgMS0zIDQifV0sWyJwYXRoIix7ZDoiTTE3LjU5OCA2LjVBMyAzIDAgMSAwIDEyIDVhMyAzIDAgMSAwLTUuNTk4IDEuNSJ9XSxbInBhdGgiLHtkOiJNMTcuOTk3IDUuMTI1YTQgNCAwIDAgMSAyLjUyNiA1Ljc3In1dLFsicGF0aCIse2Q6Ik0xOCAxOGE0IDQgMCAwIDAgMi03LjQ2NCJ9XSxbInBhdGgiLHtkOiJNMTkuOTY3IDE3LjQ4M0E0IDQgMCAxIDEgMTIgMThhNCA0IDAgMSAxLTcuOTY3LS41MTcifV0sWyJwYXRoIix7ZDoiTTYgMThhNCA0IDAgMCAxLTItNy40NjQifV0sWyJwYXRoIix7ZDoiTTYuMDAzIDUuMTI1YTQgNCAwIDAgMC0yLjUyNiA1Ljc3In1dXX0pO3ZhciB2TSxvd2U9ZigoKT0+e3ZNPVtbInBhdGgiLHtkOiJNMTIgOXYxLjI1OCJ9XSxbInBhdGgiLHtkOiJNMTYgM3Y1LjQ2In1dLFsicGF0aCIse2Q6Ik0yMSA5LjExOFY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoNS43NSJ9XSxbInBhdGgiLHtkOiJNMjIgMTcuNWMwIDIuNDk5LTEuNzUgMy43NDktMy44MyA0LjQ3NGEuNS41IDAgMCAxLS4zMzUtLjAwNWMtMi4wODUtLjcyLTMuODM1LTEuOTctMy44MzUtNC40N1YxNGEuNS41IDAgMCAxIC41LS40OTljMSAwIDIuMjUtLjYgMy4xMi0xLjM2YS42LjYgMCAwIDEgLjc2LS4wMDFjLjg3NS43NjUgMi4xMiAxLjM2IDMuMTIgMS4zNmEuNS41IDAgMCAxIC41LjV6In1dLFsicGF0aCIse2Q6Ik0zIDE1aDcifV0sWyJwYXRoIix7ZDoiTTMgOWgxMi4xNDIifV0sWyJwYXRoIix7ZDoiTTggMTV2NiJ9XSxbInBhdGgiLHtkOiJNOCAzdjYifV1dfSk7dmFyIHhNLG53ZT1mKCgpPT57eE09W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDl2NiJ9XSxbInBhdGgiLHtkOiJNMTYgMTV2NiJ9XSxbInBhdGgiLHtkOiJNMTYgM3Y2In1dLFsicGF0aCIse2Q6Ik0zIDE1aDE4In1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJwYXRoIix7ZDoiTTggMTV2NiJ9XSxbInBhdGgiLHtkOiJNOCAzdjYifV1dfSk7dmFyIHlNLGx3ZT1mKCgpPT57eU09W1sicGF0aCIse2Q6Ik0xMiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDZWNGEyIDIgMCAwIDAtMi0yaC00YTIgMiAwIDAgMC0yIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjIgMTNhMTguMTUgMTguMTUgMCAwIDEtMjAgMCJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjYiLHJ4OiIyIn1dXX0pO3ZhciB3TSxjd2U9ZigoKT0+e3dNPVtbInBhdGgiLHtkOiJNMTAgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTQgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTggMjB2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMjBIMyJ9XSxbInBhdGgiLHtkOiJNNiAyMHYyIn1dLFsicGF0aCIse2Q6Ik04IDE2VjRhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MTIifV0sWyJyZWN0Iix7eDoiNCIseToiNiIsd2lkdGg6IjE2IixoZWlnaHQ6IjEwIixyeDoiMiJ9XV19KTt2YXIgTU0sZHdlPWYoKCk9PntNTT1bWyJwYXRoIix7ZDoiTTEyIDExdjQifV0sWyJwYXRoIix7ZDoiTTE0IDEzaC00In1dLFsicGF0aCIse2Q6Ik0xNiA2VjRhMiAyIDAgMCAwLTItMmgtNGEyIDIgMCAwIDAtMiAydjIifV0sWyJwYXRoIix7ZDoiTTE4IDZ2MTQifV0sWyJwYXRoIix7ZDoiTTYgNnYxNCJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjYiLHJ4OiIyIn1dXX0pO3ZhciBrTSx1d2U9ZigoKT0+e2tNPVtbInBhdGgiLHtkOiJNMTYgMjBWNGEyIDIgMCAwIDAtMi0yaC00YTIgMiAwIDAgMC0yIDJ2MTYifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiI2IixyeDoiMiJ9XV19KTt2YXIgU00scHdlPWYoKCk9PntTTT1bWyJyZWN0Iix7eDoiOCIseToiOCIsd2lkdGg6IjgiLGhlaWdodDoiOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTBhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0xNCAyMGEyIDIgMCAwIDAgMiAyaDRhMiAyIDAgMCAwIDItMnYtNGEyIDIgMCAwIDAtMi0yIn1dXX0pO3ZhciB6TSxmd2U9ZigoKT0+e3pNPVtbInBhdGgiLHtkOiJtMTYgMjItMS00In1dLFsicGF0aCIse2Q6Ik0xOSAxNGExIDEgMCAwIDAgMS0xdi0xYTIgMiAwIDAgMC0yLTJoLTNhMSAxIDAgMCAxLTEtMVY0YTIgMiAwIDAgMC00IDB2NWExIDEgMCAwIDEtMSAxSDZhMiAyIDAgMCAwLTIgMnYxYTEgMSAwIDAgMCAxIDEifV0sWyJwYXRoIix7ZDoiTTE5IDE0SDVsLTEuOTczIDYuNzY3QTEgMSAwIDAgMCA0IDIyaDE2YTEgMSAwIDAgMCAuOTczLTEuMjMzeiJ9XSxbInBhdGgiLHtkOiJtOCAyMiAxLTQifV1dfSk7dmFyIENNLGh3ZT1mKCgpPT57Q009W1sicGF0aCIse2Q6Im0xMSAxMCAzIDMifV0sWyJwYXRoIix7ZDoiTTYuNSAyMUEzLjUgMy41IDAgMSAwIDMgMTcuNWEyLjYyIDIuNjIgMCAwIDEtLjcwOCAxLjc5MkExIDEgMCAwIDAgMyAyMXoifV0sWyJwYXRoIix7ZDoiTTkuOTY5IDE3LjAzMSAyMS4zNzggNS42MjRhMSAxIDAgMCAwLTMuMDAyLTMuMDAyTDYuOTY3IDE0LjAzMSJ9XV19KTt2YXIgX00sbXdlPWYoKCk9PntfTT1bWyJwYXRoIix7ZDoiTTEyIDIwdi04In1dLFsicGF0aCIse2Q6Ik0xMi42NTYgN0gxNGE0IDQgMCAwIDEgNCA0djEuMzQ0In1dLFsicGF0aCIse2Q6Ik0xNC4xMiAzLjg4IDE2IDIifV0sWyJwYXRoIix7ZDoiTTE3LjEyMyAxNy4xMjNBNiA2IDAgMCAxIDYgMTR2LTNhNCA0IDAgMCAxIDEuNzItMy4yODcifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjEgNWE0IDQgMCAwIDEtMy41NSAzLjk3In1dLFsicGF0aCIse2Q6Ik0yMiAxM2gtMy4zNDQifV0sWyJwYXRoIix7ZDoiTTMgMjFhNCA0IDAgMCAxIDMuODEtNCJ9XSxbInBhdGgiLHtkOiJNMyA1YTQgNCAwIDAgMCAzLjU1IDMuOTcifV0sWyJwYXRoIix7ZDoiTTYgMTNIMiJ9XSxbInBhdGgiLHtkOiJtOCAyIDEuODggMS44OCJ9XSxbInBhdGgiLHtkOiJNOS43MTIgNC4wNkEzIDMgMCAwIDEgMTUgNnYxLjEzIn1dXX0pO3ZhciBUTSxnd2U9ZigoKT0+e1RNPVtbInBhdGgiLHtkOiJNNy4wMDEgMTUuMDg1QTEuNSAxLjUgMCAwIDEgOSAxNi41In1dLFsiY2lyY2xlIix7Y3g6IjE4LjUiLGN5OiI4LjUiLHI6IjMuNSJ9XSxbImNpcmNsZSIse2N4OiI3LjUiLGN5OiIxNi41IixyOiI1LjUifV0sWyJjaXJjbGUiLHtjeDoiNy41IixjeToiNC41IixyOiIyLjUifV1dfSk7dmFyIExNLGJ3ZT1mKCgpPT57TE09W1sicGF0aCIse2Q6Ik0xMCAxOS42NTVBNiA2IDAgMCAxIDYgMTR2LTNhNCA0IDAgMCAxIDQtNGg0YTQgNCAwIDAgMSA0IDMuOTcifV0sWyJwYXRoIix7ZDoiTTE0IDE1LjAwM2ExIDEgMCAwIDEgMS41MTctLjg1OWw0Ljk5NyAyLjk5N2ExIDEgMCAwIDEgMCAxLjcxOGwtNC45OTcgMi45OTdhMSAxIDAgMCAxLTEuNTE3LS44NnoifV0sWyJwYXRoIix7ZDoiTTE0LjEyIDMuODggMTYgMiJ9XSxbInBhdGgiLHtkOiJNMjEgNWE0IDQgMCAwIDEtMy41NSAzLjk3In1dLFsicGF0aCIse2Q6Ik0zIDIxYTQgNCAwIDAgMSAzLjgxLTQifV0sWyJwYXRoIix7ZDoiTTMgNWE0IDQgMCAwIDAgMy41NSAzLjk3In1dLFsicGF0aCIse2Q6Ik02IDEzSDIifV0sWyJwYXRoIix7ZDoibTggMiAxLjg4IDEuODgifV0sWyJwYXRoIix7ZDoiTTkgNy4xM1Y2YTMgMyAwIDEgMSA2IDB2MS4xMyJ9XV19KTt2YXIgJE0sdndlPWYoKCk9PnskTT1bWyJwYXRoIix7ZDoiTTEyIDIwdi05In1dLFsicGF0aCIse2Q6Ik0xNCA3YTQgNCAwIDAgMSA0IDR2M2E2IDYgMCAwIDEtMTIgMHYtM2E0IDQgMCAwIDEgNC00eiJ9XSxbInBhdGgiLHtkOiJNMTQuMTIgMy44OCAxNiAyIn1dLFsicGF0aCIse2Q6Ik0yMSAyMWE0IDQgMCAwIDAtMy44MS00In1dLFsicGF0aCIse2Q6Ik0yMSA1YTQgNCAwIDAgMS0zLjU1IDMuOTcifV0sWyJwYXRoIix7ZDoiTTIyIDEzaC00In1dLFsicGF0aCIse2Q6Ik0zIDIxYTQgNCAwIDAgMSAzLjgxLTQifV0sWyJwYXRoIix7ZDoiTTMgNWE0IDQgMCAwIDAgMy41NSAzLjk3In1dLFsicGF0aCIse2Q6Ik02IDEzSDIifV0sWyJwYXRoIix7ZDoibTggMiAxLjg4IDEuODgifV0sWyJwYXRoIix7ZDoiTTkgNy4xM1Y2YTMgMyAwIDEgMSA2IDB2MS4xMyJ9XV19KTt2YXIgRE0seHdlPWYoKCk9PntETT1bWyJwYXRoIix7ZDoiTTEyIDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiA2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDZoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTggNmguMDEifV0sWyJwYXRoIix7ZDoiTTkgMjJ2LTNhMSAxIDAgMCAxIDEtMWg0YTEgMSAwIDAgMSAxIDF2MyJ9XSxbInJlY3QiLHt4OiI0Iix5OiIyIix3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHJ4OiIyIn1dXX0pO3ZhciBBTSx5d2U9ZigoKT0+e0FNPVtbInBhdGgiLHtkOiJNMTAgMTJoNCJ9XSxbInBhdGgiLHtkOiJNMTAgOGg0In1dLFsicGF0aCIse2Q6Ik0xNCAyMXYtM2EyIDIgMCAwIDAtNCAwdjMifV0sWyJwYXRoIix7ZDoiTTYgMTBINGEyIDIgMCAwIDAtMiAydjdhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0yVjlhMiAyIDAgMCAwLTItMmgtMiJ9XSxbInBhdGgiLHtkOiJNNiAyMVY1YTIgMiAwIDAgMSAyLTJoOGEyIDIgMCAwIDEgMiAydjE2In1dXX0pO3ZhciBFTSx3d2U9ZigoKT0+e0VNPVtbInBhdGgiLHtkOiJNNCA2IDIgNyJ9XSxbInBhdGgiLHtkOiJNMTAgNmg0In1dLFsicGF0aCIse2Q6Im0yMiA3LTItMSJ9XSxbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMTYiLHg6IjQiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik00IDExaDE2In1dLFsicGF0aCIse2Q6Ik04IDE1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik02IDE5djIifV0sWyJwYXRoIix7ZDoiTTE4IDIxdi0yIn1dXX0pO3ZhciBQTSxNd2U9ZigoKT0+e1BNPVtbInBhdGgiLHtkOiJNOCA2djYifV0sWyJwYXRoIix7ZDoiTTE1IDZ2NiJ9XSxbInBhdGgiLHtkOiJNMiAxMmgxOS42In1dLFsicGF0aCIse2Q6Ik0xOCAxOGgzcy41LTEuNy44LTIuOGMuMS0uNC4yLS44LjItMS4yIDAtLjQtLjEtLjgtLjItMS4ybC0xLjQtNUMyMC4xIDYuOCAxOS4xIDYgMTggNkg0YTIgMiAwIDAgMC0yIDJ2MTBoMyJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTgiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTkgMThoNSJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjE4IixyOiIyIn1dXX0pO3ZhciBJTSxrd2U9ZigoKT0+e0lNPVtbInBhdGgiLHtkOiJNMTcgMTlhMSAxIDAgMCAxLTEtMXYtMmEyIDIgMCAwIDEgMi0yaDJhMiAyIDAgMCAxIDIgMnYyYTEgMSAwIDAgMS0xIDF6In1dLFsicGF0aCIse2Q6Ik0xNyAyMXYtMiJ9XSxbInBhdGgiLHtkOiJNMTkgMTRWNi41YTEgMSAwIDAgMC03IDB2MTFhMSAxIDAgMCAxLTcgMFYxMCJ9XSxbInBhdGgiLHtkOiJNMjEgMjF2LTIifV0sWyJwYXRoIix7ZDoiTTMgNVYzIn1dLFsicGF0aCIse2Q6Ik00IDEwYTIgMiAwIDAgMS0yLTJWNmExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXYyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik03IDVWMyJ9XV19KTt2YXIgTk0sU3dlPWYoKCk9PntOTT1bWyJwYXRoIix7ZDoiTTEwIDNoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCAyaC4wMSJ9XSxbInBhdGgiLHtkOiJtMiA5IDIwLTUifV0sWyJwYXRoIix7ZDoiTTEyIDEyVjYuNSJ9XSxbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMTAiLHg6IjQiLHk6IjEyIixyeDoiMyJ9XSxbInBhdGgiLHtkOiJNOSAxMnY1In1dLFsicGF0aCIse2Q6Ik0xNSAxMnY1In1dLFsicGF0aCIse2Q6Ik00IDE3aDE2In1dXX0pO3ZhciBSTSx6d2U9ZigoKT0+e1JNPVtbInBhdGgiLHtkOiJNMTYgMTNIMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTdIMyJ9XSxbInBhdGgiLHtkOiJtNy4yIDcuOS0zLjM4OCAyLjVBMiAyIDAgMCAwIDMgMTIuMDFWMjBhMSAxIDAgMCAwIDEgMWgxNmExIDEgMCAwIDAgMS0xdi04LjY1NGMwLTItMi40NC02LjAyNi02LjQ0LTguMDI2YTEgMSAwIDAgMC0xLjA4Mi4wNTdMMTAuNCA1LjYifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjciLHI6IjIifV1dfSk7dmFyIE9NLEN3ZT1mKCgpPT57T009W1sicGF0aCIse2Q6Ik0yMCAyMXYtOGEyIDIgMCAwIDAtMi0ySDZhMiAyIDAgMCAwLTIgMnY4In1dLFsicGF0aCIse2Q6Ik00IDE2cy41LTEgMi0xIDIuNSAyIDQgMiAyLjUtMiA0LTIgMi41IDIgNCAyIDItMSAyLTEifV0sWyJwYXRoIix7ZDoiTTIgMjFoMjAifV0sWyJwYXRoIix7ZDoiTTcgOHYzIn1dLFsicGF0aCIse2Q6Ik0xMiA4djMifV0sWyJwYXRoIix7ZDoiTTE3IDh2MyJ9XSxbInBhdGgiLHtkOiJNNyA0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgNGguMDEifV0sWyJwYXRoIix7ZDoiTTE3IDRoLjAxIn1dXX0pO3ZhciBGTSxfd2U9ZigoKT0+e0ZNPVtbInBhdGgiLHtkOiJNMTEgMTRoMXY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicmVjdCIse3g6IjMiLHk6IjQiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dfSk7dmFyIEJNLFR3ZT1mKCgpPT57Qk09W1sicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIyMCIseDoiNCIseToiMiIscng6IjIifV0sWyJsaW5lIix7eDE6IjgiLHgyOiIxNiIseTE6IjYiLHkyOiI2In1dLFsibGluZSIse3gxOiIxNiIseDI6IjE2Iix5MToiMTQiLHkyOiIxOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMGguMDEifV0sWyJwYXRoIix7ZDoiTTggMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTggMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxOGguMDEifV0sWyJwYXRoIix7ZDoiTTggMThoLjAxIn1dXX0pO3ZhciBITSxMd2U9ZigoKT0+e0hNPVtbInBhdGgiLHtkOiJtMTQgMTggNCA0IDQtNCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0xOCAxNHY4In1dLFsicGF0aCIse2Q6Ik0yMSAxMS4zNTRWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDcuMzQzIn1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XV19KTt2YXIgcU0sJHdlPWYoKCk9PntxTT1bWyJwYXRoIix7ZDoibTE0IDE4IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTggMjJ2LTgifV0sWyJwYXRoIix7ZDoiTTIxIDExLjM0M1Y2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOSJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV1dfSk7dmFyIFZNLER3ZT1mKCgpPT57Vk09W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0yMSAxNFY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOCJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJtMTYgMjAgMiAyIDQtNCJ9XV19KTt2YXIgak0sQXdlPWYoKCk9PntqTT1bWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJtOSAxNiAyIDIgNC00In1dXX0pO3ZhciBVTSxFd2U9ZigoKT0+e1VNPVtbInBhdGgiLHtkOiJNMTYgMTR2Mi4ybDEuNiAxIn1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTIxIDcuNVY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMy41In1dLFsicGF0aCIse2Q6Ik0zIDEwaDUifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTYiLHI6IjYifV1dfSk7dmFyIFdNLFB3ZT1mKCgpPT57V009W1sicGF0aCIse2Q6Im0xNS4yMjggMTYuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTUuMjI4IDE5LjE0OC0uOTIzLjM4MyJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Im0xNi40NyAxNC4zMDUuMzgyLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDIwLjc3Mi0uMzgzLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTkuMTQ4IDE1LjIyOC4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTkuNTMgMjEuNjk2LS4zODItLjkyNCJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE2Ljg1Mi45MjQtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE5LjE0OC45MjQuMzgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxMC41OTJWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDYifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV1dfSk7dmFyIEdNLEl3ZT1mKCgpPT57R009W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTggMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxOGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMThoLjAxIn1dXX0pO3ZhciBZTSxOd2U9ZigoKT0+e1lNPVtbInBhdGgiLHtkOiJNMyAyMGEyIDIgMCAwIDAgMiAyaDEwYTIuNCAyLjQgMCAwIDAgMS43MDYtLjcwNmwzLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDIxIDE2VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNSAyMnYtNWExIDEgMCAwIDEgMS0xaDUifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV1dfSk7dmFyIEtNLFJ3ZT1mKCgpPT57S009W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTEwIDE2aDQifV1dfSk7dmFyIFpNLE93ZT1mKCgpPT57Wk09W1sicGF0aCIse2Q6Ik0xMi4xMjcgMjJINWEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjUuMTI1In1dLFsicGF0aCIse2Q6Ik0xNC42MiAxOC44QTIuMjUgMi4yNSAwIDEgMSAxOCAxNS44MzZhMi4yNSAyLjI1IDAgMSAxIDMuMzggMi45NjZsLTIuNjI2IDIuODU2YS45OTguOTk4IDAgMCAxLTEuNTA3IDB6In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoiTTggMnY0In1dXX0pO3ZhciBYTSxGd2U9ZigoKT0+e1hNPVtbInBhdGgiLHtkOiJNNC4yIDQuMkEyIDIgMCAwIDAgMyA2djE0YTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDEuODItMS4xOCJ9XSxbInBhdGgiLHtkOiJNMjEgMTUuNVY2YTIgMiAwIDAgMC0yLTJIOS41In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTMgMTBoNyJ9XSxbInBhdGgiLHtkOiJNMjEgMTBoLTUuNSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciBRTSxCd2U9ZigoKT0+e1FNPVtbInBhdGgiLHtkOiJNMTYgMTloNiJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0yMSAxNVY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOC41In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XV19KTt2YXIgSk0sSHdlPWYoKCk9PntKTT1bWyJwYXRoIix7ZDoiTTggMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJNMTAgMTZoNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTR2NCJ9XV19KTt2YXIgZWsscXdlPWYoKCk9Pntlaz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTcgMTRoLTYifV0sWyJwYXRoIix7ZDoiTTEzIDE4SDcifV0sWyJwYXRoIix7ZDoiTTcgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNyAxOGguMDEifV1dfSk7dmFyIHRrLFZ3ZT1mKCgpPT57dGs9W1sicGF0aCIse2Q6Ik0xNiAxOWg2In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTE5IDE2djYifV0sWyJwYXRoIix7ZDoiTTIxIDEyLjU5OFY2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOC41In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XV19KTt2YXIgYWssandlPWYoKCk9Pnthaz1bWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMjEgMTEuNzVWNmEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDcuMjUifV0sWyJwYXRoIix7ZDoibTIyIDIyLTEuODc1LTEuODc1In1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dLFsicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciByayxVd2U9ZigoKT0+e3JrPVtbInBhdGgiLHtkOiJNMTEgMTB2NGg0In1dLFsicGF0aCIse2Q6Im0xMSAxNCAxLjUzNS0xLjYwNWE1IDUgMCAwIDEgOCAxLjUifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInBhdGgiLHtkOiJtMjEgMTgtMS41MzUgMS42MDVhNSA1IDAgMCAxLTgtMS41In1dLFsicGF0aCIse2Q6Ik0yMSAyMnYtNGgtNCJ9XSxbInBhdGgiLHtkOiJNMjEgOC41VjZhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg0LjMifV0sWyJwYXRoIix7ZDoiTTMgMTBoNCJ9XSxbInBhdGgiLHtkOiJNOCAydjQifV1dfSk7dmFyIHNrLFd3ZT1mKCgpPT57c2s9W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicGF0aCIse2Q6Ik0yMSAxM1Y2YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoOCJ9XSxbInBhdGgiLHtkOiJNMyAxMGgxOCJ9XSxbInBhdGgiLHtkOiJtMTcgMjIgNS01In1dLFsicGF0aCIse2Q6Im0xNyAxNyA1IDUifV1dfSk7dmFyIGlrLEd3ZT1mKCgpPT57aWs9W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgMnY0In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTBoMTgifV0sWyJwYXRoIix7ZDoibTE0IDE0LTQgNCJ9XSxbInBhdGgiLHtkOiJtMTAgMTQgNCA0In1dXX0pO3ZhciBvayxZd2U9ZigoKT0+e29rPVtbInBhdGgiLHtkOiJNOCAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDJ2NCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDEwaDE4In1dXX0pO3ZhciBuayxLd2U9ZigoKT0+e25rPVtbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0xNS43MjYgMjEuMDFBMiAyIDAgMCAxIDE0IDIySDRhMiAyIDAgMCAxLTItMlYxMGEyIDIgMCAwIDEgMi0yIn1dLFsicGF0aCIse2Q6Ik0xOCAydjIifV0sWyJwYXRoIix7ZDoiTTIgMTNoMiJ9XSxbInBhdGgiLHtkOiJNOCA4aDE0In1dLFsicmVjdCIse3g6IjgiLHk6IjMiLHdpZHRoOiIxNCIsaGVpZ2h0OiIxNCIscng6IjIifV1dfSk7dmFyIGxrLFp3ZT1mKCgpPT57bGs9W1sicGF0aCIse2Q6Ik0xNC41NjQgMTQuNTU4YTMgMyAwIDEgMS00LjEyMi00LjEyMSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMCAyMEg0YTIgMiAwIDAgMS0yLTJWOWEyIDIgMCAwIDEgMi0yaDEuOTk3YTIgMiAwIDAgMCAuODE5LS4xNzUifV0sWyJwYXRoIix7ZDoiTTkuNjk1IDQuMDI0QTIgMiAwIDAgMSAxMC4wMDQgNGgzLjk5M2EyIDIgMCAwIDEgMS43NiAxLjA1bC40ODYuOUEyIDIgMCAwIDAgMTguMDAzIDdIMjBhMiAyIDAgMCAxIDIgMnY3LjM0NCJ9XV19KTt2YXIgY2ssWHdlPWYoKCk9Pntjaz1bWyJwYXRoIix7ZDoiTTEzLjk5NyA0YTIgMiAwIDAgMSAxLjc2IDEuMDVsLjQ4Ni45QTIgMiAwIDAgMCAxOC4wMDMgN0gyMGEyIDIgMCAwIDEgMiAydjlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWOWEyIDIgMCAwIDEgMi0yaDEuOTk3YTIgMiAwIDAgMCAxLjc1OS0xLjA0OGwuNDg5LS45MDRBMiAyIDAgMCAxIDEwLjAwNCA0eiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiIzIn1dXX0pO3ZhciBkayxRd2U9ZigoKT0+e2RrPVtbInBhdGgiLHtkOiJNNS43IDIxYTIgMiAwIDAgMS0zLjUtMmw4LjYtMTRhNiA2IDAgMCAxIDEwLjQgNiAyIDIgMCAxIDEtMy40NjQtMiAyIDIgMCAxIDAtMy40NjQtMloifV0sWyJwYXRoIix7ZDoiTTE3Ljc1IDcgMTUgMi4xIn1dLFsicGF0aCIse2Q6Ik0xMC45IDQuOCAxMyA5In1dLFsicGF0aCIse2Q6Im03LjkgOS43IDIgNC40In1dLFsicGF0aCIse2Q6Ik00LjkgMTQuNyA3IDE4LjkifV1dfSk7dmFyIHVrLEp3ZT1mKCgpPT57dWs9W1sicGF0aCIse2Q6Ik0xMCA3djEwLjkifV0sWyJwYXRoIix7ZDoiTTE0IDYuMVYxNyJ9XSxbInBhdGgiLHtkOiJNMTYgN1YzYTEgMSAwIDAgMSAxLjcwNy0uNzA3IDIuNSAyLjUgMCAwIDAgMi4xNTIuNzE3IDEgMSAwIDAgMSAxLjEzMSAxLjEzMSAyLjUgMi41IDAgMCAwIC43MTcgMi4xNTJBMSAxIDAgMCAxIDIxIDhoLTQifV0sWyJwYXRoIix7ZDoiTTE2LjUzNiA3LjQ2NWE1IDUgMCAwIDAtNy4wNzIgMGwtMiAyYTUgNSAwIDAgMCAwIDcuMDcgNSA1IDAgMCAwIDcuMDcyIDBsMi0yYTUgNSAwIDAgMCAwLTcuMDcifV0sWyJwYXRoIix7ZDoiTTggMTd2NGExIDEgMCAwIDEtMS43MDcuNzA3IDIuNSAyLjUgMCAwIDAtMi4xNTItLjcxNyAxIDEgMCAwIDEtMS4xMzEtMS4xMzEgMi41IDIuNSAwIDAgMC0uNzE3LTIuMTUyQTEgMSAwIDAgMSAzIDE2aDQifV1dfSk7dmFyIHBrLGVNZT1mKCgpPT57cGs9W1sicGF0aCIse2Q6Ik0xMCAxMHY3LjkifV0sWyJwYXRoIix7ZDoiTTExLjgwMiA2LjE0NWE1IDUgMCAwIDEgNi4wNTMgNi4wNTMifV0sWyJwYXRoIix7ZDoiTTE0IDYuMXYyLjI0MyJ9XSxbInBhdGgiLHtkOiJtMTUuNSAxNS41NzEtLjk2NC45NjRhNSA1IDAgMCAxLTcuMDcxIDAgNSA1IDAgMCAxIDAtNy4wN2wuOTY0LS45NjUifV0sWyJwYXRoIix7ZDoiTTE2IDdWM2ExIDEgMCAwIDEgMS43MDctLjcwNyAyLjUgMi41IDAgMCAwIDIuMTUyLjcxNyAxIDEgMCAwIDEgMS4xMzEgMS4xMzEgMi41IDIuNSAwIDAgMCAuNzE3IDIuMTUyQTEgMSAwIDAgMSAyMSA4aC00In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTggMTd2NGExIDEgMCAwIDEtMS43MDcuNzA3IDIuNSAyLjUgMCAwIDAtMi4xNTItLjcxNyAxIDEgMCAwIDEtMS4xMzEtMS4xMzEgMi41IDIuNSAwIDAgMC0uNzE3LTIuMTUyQTEgMSAwIDAgMSAzIDE2aDQifV1dfSk7dmFyIGZrLHRNZT1mKCgpPT57Zms9W1sicGF0aCIse2Q6Ik0xMiAyMnYtNGMxLjUgMS41IDMuNSAzIDYgMyAwLTEuNS0uNS0zLjUtMi01In1dLFsicGF0aCIse2Q6Ik0xMy45ODggOC4zMjdDMTMuOTAyIDYuMDU0IDEzLjM2NSAzLjgyIDEyIDJhOS4zIDkuMyAwIDAgMC0xLjQ0NSAyLjkifV0sWyJwYXRoIix7ZDoiTTE3LjM3NSAxMS43MjVDMTguODgyIDEwLjUzIDIxIDcuODQxIDIxIDZjLTIuMzI0IDAtNS4wOCAxLjI5Ni02LjY2MiAyLjY4NCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMS4wMjQgMTUuMzc4QTE1IDE1IDAgMCAwIDIyIDE1Yy0uNDI2LTEuMjc5LTIuNjctMi41NTctNC4yNS0yLjkwNyJ9XSxbInBhdGgiLHtkOiJNNi45OTUgNi45OTJDNS43MTQgNi40IDQuMjkgNiAzIDZjMCAyIDIuNSA1IDQgNi0xLjUgMC00LjUgMS41LTUgMyAzLjUgMS41IDYgMSA2IDEtMS41IDEuNS0yIDMuNS0yIDUgMi41IDAgNC41LTEuNSA2LTMifV1dfSk7dmFyIGhrLGFNZT1mKCgpPT57aGs9W1sicGF0aCIse2Q6Ik0xMiAyMnYtNCJ9XSxbInBhdGgiLHtkOiJNNyAxMmMtMS41IDAtNC41IDEuNS01IDMgMy41IDEuNSA2IDEgNiAxLTEuNSAxLjUtMiAzLjUtMiA1IDIuNSAwIDQuNS0xLjUgNi0zIDEuNSAxLjUgMy41IDMgNiAzIDAtMS41LS41LTMuNS0yLTUgMCAwIDIuNS41IDYtMS0uNS0xLjUtMy41LTMtNS0zIDEuNS0xIDQtNCA0LTYtMi41IDAtNS41IDEuNS03IDMgMC0yLjUtLjUtNS0yLTctMS41IDItMiA0LjUtMiA3LTEuNS0xLjUtNC41LTMtNy0zIDAgMiAyLjUgNSA0IDYifV1dfSk7dmFyIG1rLHJNZT1mKCgpPT57bWs9W1sicGF0aCIse2Q6Ik0xMC41IDVIMTlhMiAyIDAgMCAxIDIgMnY4LjUifV0sWyJwYXRoIix7ZDoiTTE3IDExaC0uNSJ9XSxbInBhdGgiLHtkOiJNMTkgMTlINWEyIDIgMCAwIDEtMi0yVjdhMiAyIDAgMCAxIDItMiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik03IDExaDQifV0sWyJwYXRoIix7ZDoiTTcgMTVoMi41In1dXX0pO3ZhciBEZCxzTWU9ZigoKT0+e0RkPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTQiLHg6IjMiLHk6IjUiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNyAxNWg0TTE1IDE1aDJNNyAxMWgyTTEzIDExaDQifV1dfSk7dmFyIGdrLGlNZT1mKCgpPT57Z2s9W1sicGF0aCIse2Q6Im0yMSA4LTIgMi0xLjUtMy43QTIgMiAwIDAgMCAxNS42NDYgNUg4LjRhMiAyIDAgMCAwLTEuOTAzIDEuMjU3TDUgMTAgMyA4In1dLFsicGF0aCIse2Q6Ik03IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcgMTRoLjAxIn1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiI4Iix4OiIzIix5OiIxMCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTUgMTh2MiJ9XSxbInBhdGgiLHtkOiJNMTkgMTh2MiJ9XV19KTt2YXIgYmssb01lPWYoKCk9Pntiaz1bWyJwYXRoIix7ZDoiTTE5IDE3aDJjLjYgMCAxLS40IDEtMXYtM2MwLS45LS43LTEuNy0xLjUtMS45QzE4LjcgMTAuNiAxNiAxMCAxNiAxMHMtMS4zLTEuNC0yLjItMi4zYy0uNS0uNC0xLjEtLjctMS44LS43SDVjLS42IDAtMS4xLjQtMS40LjlsLTEuNCAyLjlBMy43IDMuNyAwIDAgMCAyIDEydjRjMCAuNi40IDEgMSAxaDIifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjE3IixyOiIyIn1dLFsicGF0aCIse2Q6Ik05IDE3aDYifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxNyIscjoiMiJ9XV19KTt2YXIgdmssbk1lPWYoKCk9Pnt2az1bWyJwYXRoIix7ZDoiTTEwIDJoNCJ9XSxbInBhdGgiLHtkOiJtMjEgOC0yIDItMS41LTMuN0EyIDIgMCAwIDAgMTUuNjQ2IDVIOC40YTIgMiAwIDAgMC0xLjkwMyAxLjI1N0w1IDEwIDMgOCJ9XSxbInBhdGgiLHtkOiJNNyAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTE3IDE0aC4wMSJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiOCIseDoiMyIseToiMTAiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik01IDE4djIifV0sWyJwYXRoIix7ZDoiTTE5IDE4djIifV1dfSk7dmFyIHhrLGxNZT1mKCgpPT57eGs9W1sicGF0aCIse2Q6Ik0xOCAxOVY5YTQgNCAwIDAgMC00LTRINmE0IDQgMCAwIDAtNCA0djhhMiAyIDAgMCAwIDIgMmgyIn1dLFsicGF0aCIse2Q6Ik0yIDloM2ExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAxLTEgMUgyIn1dLFsicGF0aCIse2Q6Ik0yMiAxN3YxYTEgMSAwIDAgMS0xIDFIMTB2LTlhMSAxIDAgMCAxIDEtMWgyYTEgMSAwIDAgMSAxIDF2OSJ9XSxbImNpcmNsZSIse2N4OiI4IixjeToiMTkiLHI6IjIifV1dfSk7dmFyIHlrLGNNZT1mKCgpPT57eWs9W1sicGF0aCIse2Q6Ik0xMiAxNHY0In1dLFsicGF0aCIse2Q6Ik0xNC4xNzIgMmEyIDIgMCAwIDEgMS40MTQuNTg2bDMuODI4IDMuODI4QTIgMiAwIDAgMSAyMCA3LjgyOFYyMGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJ6In1dLFsicGF0aCIse2Q6Ik04IDE0aDgifV0sWyJyZWN0Iix7eDoiOCIseToiMTAiLHdpZHRoOiI4IixoZWlnaHQ6IjgiLHJ4OiIxIn1dXX0pO3ZhciB3ayxkTWU9ZigoKT0+e3drPVtbInBhdGgiLHtkOiJNMi4yNyAyMS43czkuODctMy41IDEyLjczLTYuMzZhNC41IDQuNSAwIDAgMC02LjM2LTYuMzdDNS43NyAxMS44NCAyLjI3IDIxLjcgMi4yNyAyMS43ek04LjY0IDE0bC0yLjA1LTIuMDRNMTUuMzQgMTVsLTIuNDYtMi40NiJ9XSxbInBhdGgiLHtkOiJNMjIgOXMtMS4zMy0yLTMuNS0yQzE2Ljg2IDcgMTUgOSAxNSA5czEuMzMgMiAzLjUgMlMyMiA5IDIyIDl6In1dLFsicGF0aCIse2Q6Ik0xNSAycy0yIDEuMzMtMiAzLjVTMTUgOSAxNSA5czItMS44NCAyLTMuNUMxNyAzLjMzIDE1IDIgMTUgMnoifV1dfSk7dmFyIE1rLHVNZT1mKCgpPT57TWs9W1sicGF0aCIse2Q6Ik0xMCA5djcifV0sWyJwYXRoIix7ZDoiTTE0IDZ2MTAifV0sWyJjaXJjbGUiLHtjeDoiMTcuNSIsY3k6IjEyLjUiLHI6IjMuNSJ9XSxbImNpcmNsZSIse2N4OiI2LjUiLGN5OiIxMi41IixyOiIzLjUifV1dfSk7dmFyIGtrLHBNZT1mKCgpPT57a2s9W1sicGF0aCIse2Q6Im0yIDE2IDQuMDM5LTkuNjlhLjUuNSAwIDAgMSAuOTIzIDBMMTEgMTYifV0sWyJwYXRoIix7ZDoiTTIyIDl2NyJ9XSxbInBhdGgiLHtkOiJNMy4zMDQgMTNoNi4zOTIifV0sWyJjaXJjbGUiLHtjeDoiMTguNSIsY3k6IjEyLjUiLHI6IjMuNSJ9XV19KTt2YXIgU2ssZk1lPWYoKCk9PntTaz1bWyJwYXRoIix7ZDoiTTE1IDExaDQuNWExIDEgMCAwIDEgMCA1aC00YS41LjUgMCAwIDEtLjUtLjV2LTlhLjUuNSAwIDAgMSAuNS0uNWgzYTEgMSAwIDAgMSAwIDUifV0sWyJwYXRoIix7ZDoibTIgMTYgNC4wMzktOS42OWEuNS41IDAgMCAxIC45MjMgMEwxMSAxNiJ9XSxbInBhdGgiLHtkOiJNMy4zMDQgMTNoNi4zOTIifV1dfSk7dmFyIHprLGhNZT1mKCgpPT57ems9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjEwIixyOiIyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxMCIscjoiMiJ9XSxbInBhdGgiLHtkOiJtNiAyMCAuNy0yLjlBMS40IDEuNCAwIDAgMSA4LjEgMTZoNy44YTEuNCAxLjQgMCAwIDEgMS40IDFsLjcgMyJ9XV19KTt2YXIgQ2ssbU1lPWYoKCk9PntDaz1bWyJwYXRoIix7ZDoiTTIgOFY2YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnYxMmEyIDIgMCAwIDEtMiAyaC02In1dLFsicGF0aCIse2Q6Ik0yIDEyYTkgOSAwIDAgMSA4IDgifV0sWyJwYXRoIix7ZDoiTTIgMTZhNSA1IDAgMCAxIDQgNCJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIuMDEiLHkxOiIyMCIseTI6IjIwIn1dXX0pO3ZhciBfayxnTWU9ZigoKT0+e19rPVtbInBhdGgiLHtkOiJNMTAgNVYzIn1dLFsicGF0aCIse2Q6Ik0xNCA1VjMifV0sWyJwYXRoIix7ZDoiTTE1IDIxdi0zYTMgMyAwIDAgMC02IDB2MyJ9XSxbInBhdGgiLHtkOiJNMTggM3Y4In1dLFsicGF0aCIse2Q6Ik0xOCA1SDYifV0sWyJwYXRoIix7ZDoiTTIyIDExSDIifV0sWyJwYXRoIix7ZDoiTTIyIDl2MTBhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWOSJ9XSxbInBhdGgiLHtkOiJNNiAzdjgifV1dfSk7dmFyIFRrLGJNZT1mKCgpPT57VGs9W1sicGF0aCIse2Q6Ik0xMiA1Yy42NyAwIDEuMzUuMDkgMiAuMjYgMS43OC0yIDUuMDMtMi44NCA2LjQyLTIuMjYgMS40LjU4LS40MiA3LS40MiA3IC41NyAxLjA3IDEgMi4yNCAxIDMuNDRDMjEgMTcuOSAxNi45NyAyMSAxMiAyMXMtOS0zLTktNy41NmMwLTEuMjUuNS0yLjQgMS0zLjQ0IDAgMC0xLjg5LTYuNDItLjUtNyAxLjM5LS41OCA0LjcyLjIzIDYuNSAyLjIzQTkuMDQgOS4wNCAwIDAgMSAxMiA1WiJ9XSxbInBhdGgiLHtkOiJNOCAxNHYuNSJ9XSxbInBhdGgiLHtkOiJNMTYgMTR2LjUifV0sWyJwYXRoIix7ZDoiTTExLjI1IDE2LjI1aDEuNUwxMiAxN2wtLjc1LS43NVoifV1dfSk7dmFyIExrLHZNZT1mKCgpPT57TGs9W1sicGF0aCIse2Q6Im0xMi4zMDkgNi42NTIgNC43OTcgMi40MDFhMSAxIDAgMCAxIC40NDcgMS4zNDFsLS41MDEgMS4wMDEuNjA1LjYwNWgyLjcyNWExIDEgMCAwIDEgLjg5NCAxLjQ0N2wtLjcyNCAxLjQ0OCJ9XSxbInBhdGgiLHtkOiJtMTUuMTY2IDE1LjE2Ni0uNzE5IDEuNDM5YTEgMSAwIDAgMS0xLjM0Mi40NDdMMy42MSAxMi4zYTIuOTIgMi45MiAwIDAgMS0xLjMtMy45MUwzLjY5IDUuNmEyLjkgMi45IDAgMCAxIC44NzMtMS4wMzcifV0sWyJwYXRoIix7ZDoiTTIgMTloMy43NmEyIDIgMCAwIDAgMS44LTEuMWwxLjQ0MS0yLjkwMiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yIDIxdi00In1dLFsicGF0aCIse2Q6Ik03IDloLjAxIn1dXX0pO3ZhciAkayx4TWU9ZigoKT0+eyRrPVtbInBhdGgiLHtkOiJNMTYuNzUgMTJoMy42MzJhMSAxIDAgMCAxIC44OTQgMS40NDdsLTIuMDM0IDQuMDY5YTEgMSAwIDAgMS0xLjcwOC4xMzRsLTIuMTI0LTIuOTcifV0sWyJwYXRoIix7ZDoiTTE3LjEwNiA5LjA1M2ExIDEgMCAwIDEgLjQ0NyAxLjM0MWwtMy4xMDYgNi4yMTFhMSAxIDAgMCAxLTEuMzQyLjQ0N0wzLjYxIDEyLjNhMi45MiAyLjkyIDAgMCAxLTEuMy0zLjkxTDMuNjkgNS42YTIuOTIgMi45MiAwIDAgMSAzLjkyLTEuM3oifV0sWyJwYXRoIix7ZDoiTTIgMTloMy43NmEyIDIgMCAwIDAgMS44LTEuMUw5IDE1In1dLFsicGF0aCIse2Q6Ik0yIDIxdi00In1dLFsicGF0aCIse2Q6Ik03IDloLjAxIn1dXX0pO3ZhciBBZCx5TWU9ZigoKT0+e0FkPVtbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJwYXRoIix7ZDoiTTcgMTEuMjA3YS41LjUgMCAwIDEgLjE0Ni0uMzUzbDItMmEuNS41IDAgMCAxIC43MDggMGwzLjI5MiAzLjI5MmEuNS41IDAgMCAwIC43MDggMGw0LjI5Mi00LjI5MmEuNS41IDAgMCAxIC44NTQuMzUzVjE2YTEgMSAwIDAgMS0xIDFIOGExIDEgMCAwIDEtMS0xeiJ9XV19KTt2YXIgRWQsd01lPWYoKCk9PntFZD1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicmVjdCIse3g6IjciLHk6IjEzIix3aWR0aDoiOSIsaGVpZ2h0OiI0IixyeDoiMSJ9XSxbInJlY3QiLHt4OiI3Iix5OiI1Iix3aWR0aDoiMTIiLGhlaWdodDoiNCIscng6IjEifV1dfSk7dmFyIERrLE1NZT1mKCgpPT57RGs9W1sicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInBhdGgiLHtkOiJNNyAxMWg4In1dLFsicGF0aCIse2Q6Ik03IDE2aDMifV0sWyJwYXRoIix7ZDoiTTcgNmgxMiJ9XV19KTt2YXIgQWssa01lPWYoKCk9PntBaz1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik03IDExaDgifV0sWyJwYXRoIix7ZDoiTTcgMTZoMTIifV0sWyJwYXRoIix7ZDoiTTcgNmgzIn1dXX0pO3ZhciBFayxTTWU9ZigoKT0+e0VrPVtbInBhdGgiLHtkOiJNMTEgMTN2NCJ9XSxbInBhdGgiLHtkOiJNMTUgNXY0In1dLFsicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInJlY3QiLHt4OiI3Iix5OiIxMyIsd2lkdGg6IjkiLGhlaWdodDoiNCIscng6IjEifV0sWyJyZWN0Iix7eDoiNyIseToiNSIsd2lkdGg6IjEyIixoZWlnaHQ6IjQiLHJ4OiIxIn1dXX0pO3ZhciBQZCx6TWU9ZigoKT0+e1BkPVtbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJwYXRoIix7ZDoiTTcgMTZoOCJ9XSxbInBhdGgiLHtkOiJNNyAxMWgxMiJ9XSxbInBhdGgiLHtkOiJNNyA2aDMifV1dfSk7dmFyIElkLENNZT1mKCgpPT57SWQ9W1sicGF0aCIse2Q6Ik05IDV2NCJ9XSxbInJlY3QiLHt3aWR0aDoiNCIsaGVpZ2h0OiI2Iix4OiI3Iix5OiI5IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNOSAxNXYyIn1dLFsicGF0aCIse2Q6Ik0xNyAzdjIifV0sWyJyZWN0Iix7d2lkdGg6IjQiLGhlaWdodDoiOCIseDoiMTUiLHk6IjUiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0xNyAxM3YzIn1dLFsicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XV19KTt2YXIgTmQsX01lPWYoKCk9PntOZD1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicmVjdCIse3g6IjE1Iix5OiI1Iix3aWR0aDoiNCIsaGVpZ2h0OiIxMiIscng6IjEifV0sWyJyZWN0Iix7eDoiNyIseToiOCIsd2lkdGg6IjQiLGhlaWdodDoiOSIscng6IjEifV1dfSk7dmFyIFBrLFRNZT1mKCgpPT57UGs9W1sicGF0aCIse2Q6Ik0xMyAxN1Y5In1dLFsicGF0aCIse2Q6Ik0xOCAxN3YtMyJ9XSxbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJwYXRoIix7ZDoiTTggMTdWNSJ9XV19KTt2YXIgUmQsTE1lPWYoKCk9PntSZD1bWyJwYXRoIix7ZDoiTTEzIDE3VjkifV0sWyJwYXRoIix7ZDoiTTE4IDE3VjUifV0sWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik04IDE3di0zIn1dXX0pO3ZhciBJaywkTWU9ZigoKT0+e0lrPVtbInBhdGgiLHtkOiJNMTEgMTNINyJ9XSxbInBhdGgiLHtkOiJNMTkgOWgtNCJ9XSxbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJyZWN0Iix7eDoiMTUiLHk6IjUiLHdpZHRoOiI0IixoZWlnaHQ6IjEyIixyeDoiMSJ9XSxbInJlY3QiLHt4OiI3Iix5OiI4Iix3aWR0aDoiNCIsaGVpZ2h0OiI5IixyeDoiMSJ9XV19KTt2YXIgT2QsRE1lPWYoKCk9PntPZD1bWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsicGF0aCIse2Q6Ik0xOCAxN1Y5In1dLFsicGF0aCIse2Q6Ik0xMyAxN1Y1In1dLFsicGF0aCIse2Q6Ik04IDE3di0zIn1dXX0pO3ZhciBOayxBTWU9ZigoKT0+e05rPVtbInBhdGgiLHtkOiJNMTAgNmg4In1dLFsicGF0aCIse2Q6Ik0xMiAxNmg2In1dLFsicGF0aCIse2Q6Ik0zIDN2MTZhMiAyIDAgMCAwIDIgMmgxNiJ9XSxbInBhdGgiLHtkOiJNOCAxMWg3In1dXX0pO3ZhciBGZCxFTWU9ZigoKT0+e0ZkPVtbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJwYXRoIix7ZDoibTE5IDktNSA1LTQtNC0zIDMifV1dfSk7dmFyIFJrLFBNZT1mKCgpPT57Ums9W1sicGF0aCIse2Q6Im0xMy4xMSA3LjY2NCAxLjc4IDIuNjcyIn1dLFsicGF0aCIse2Q6Im0xNC4xNjIgMTIuNzg4LTMuMzI0IDEuNDI0In1dLFsicGF0aCIse2Q6Im0yMCA0LTYuMDYgMS41MTUifV0sWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNiIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjEyIixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiIxNSIscjoiMiJ9XV19KTt2YXIgT2ssSU1lPWYoKCk9PntPaz1bWyJwYXRoIix7ZDoiTTUgMjFWMyJ9XSxbInBhdGgiLHtkOiJNMTIgMjFWOSJ9XSxbInBhdGgiLHtkOiJNMTkgMjF2LTYifV1dfSk7dmFyIEJkLE5NZT1mKCgpPT57QmQ9W1sicGF0aCIse2Q6Ik01IDIxdi02In1dLFsicGF0aCIse2Q6Ik0xMiAyMVY5In1dLFsicGF0aCIse2Q6Ik0xOSAyMVYzIn1dXX0pO3ZhciBIZCxSTWU9ZigoKT0+e0hkPVtbInBhdGgiLHtkOiJNNSAyMXYtNiJ9XSxbInBhdGgiLHtkOiJNMTIgMjFWMyJ9XSxbInBhdGgiLHtkOiJNMTkgMjFWOSJ9XV19KTt2YXIgRmssT01lPWYoKCk9PntGaz1bWyJwYXRoIix7ZDoiTTEyIDE2djUifV0sWyJwYXRoIix7ZDoiTTE2IDE0djcifV0sWyJwYXRoIix7ZDoiTTIwIDEwdjExIn1dLFsicGF0aCIse2Q6Im0yMiAzLTguNjQ2IDguNjQ2YS41LjUgMCAwIDEtLjcwOCAwTDkuMzU0IDguMzU0YS41LjUgMCAwIDAtLjcwNyAwTDIgMTUifV0sWyJwYXRoIix7ZDoiTTQgMTh2MyJ9XSxbInBhdGgiLHtkOiJNOCAxNHY3In1dXX0pO3ZhciBxZCxGTWU9ZigoKT0+e3FkPVtbInBhdGgiLHtkOiJNNiA1aDEyIn1dLFsicGF0aCIse2Q6Ik00IDEyaDEwIn1dLFsicGF0aCIse2Q6Ik0xMiAxOWg4In1dXX0pO3ZhciBWZCxCTWU9ZigoKT0+e1ZkPVtbInBhdGgiLHtkOiJNMjEgMTJjLjU1MiAwIDEuMDA1LS40NDkuOTUtLjk5OGExMCAxMCAwIDAgMC04Ljk1My04Ljk1MWMtLjU1LS4wNTUtLjk5OC4zOTgtLjk5OC45NXY4YTEgMSAwIDAgMCAxIDF6In1dLFsicGF0aCIse2Q6Ik0yMS4yMSAxNS44OUExMCAxMCAwIDEgMSA4IDIuODMifV1dfSk7dmFyIGpkLEhNZT1mKCgpPT57amQ9W1siY2lyY2xlIix7Y3g6IjcuNSIsY3k6IjcuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbImNpcmNsZSIse2N4OiIxOC41IixjeToiNS41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsiY2lyY2xlIix7Y3g6IjExLjUiLGN5OiIxMS41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsiY2lyY2xlIix7Y3g6IjcuNSIsY3k6IjE2LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJjaXJjbGUiLHtjeDoiMTcuNSIsY3k6IjE0LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJwYXRoIix7ZDoiTTMgM3YxNmEyIDIgMCAwIDAgMiAyaDE2In1dXX0pO3ZhciBCayxxTWU9ZigoKT0+e0JrPVtbInBhdGgiLHtkOiJNMyAzdjE2YTIgMiAwIDAgMCAyIDJoMTYifV0sWyJwYXRoIix7ZDoiTTcgMTZjLjUtMiAxLjUtNyA0LTcgMiAwIDIgMyA0IDMgMi41IDAgNC41LTUgNS03In1dXX0pO3ZhciBIayxWTWU9ZigoKT0+e0hrPVtbInBhdGgiLHtkOiJNMTggNiA3IDE3bC01LTUifV0sWyJwYXRoIix7ZDoibTIyIDEwLTcuNSA3LjVMMTMgMTYifV1dfSk7dmFyIHFrLGpNZT1mKCgpPT57cWs9W1sicGF0aCIse2Q6Ik0yMCA0TDkgMTUifV0sWyJwYXRoIix7ZDoiTTIxIDE5TDMgMTkifV0sWyJwYXRoIix7ZDoiTTkgMTVMNCAxMCJ9XV19KTt2YXIgVmssVU1lPWYoKCk9PntWaz1bWyJwYXRoIix7ZDoiTTIwIDYgOSAxN2wtNS01In1dXX0pO3ZhciBqayxXTWU9ZigoKT0+e2prPVtbInBhdGgiLHtkOiJNMTcgMjFhMSAxIDAgMCAwIDEtMXYtNS4zNWMwLS40NTcuMzE2LS44NDQuNzI3LTEuMDQxYTQgNCAwIDAgMC0yLjEzNC03LjU4OSA1IDUgMCAwIDAtOS4xODYgMCA0IDQgMCAwIDAtMi4xMzQgNy41ODhjLjQxMS4xOTguNzI3LjU4NS43MjcgMS4wNDFWMjBhMSAxIDAgMCAwIDEgMVoifV0sWyJwYXRoIix7ZDoiTTYgMTdoMTIifV1dfSk7dmFyIFVrLEdNZT1mKCgpPT57VWs9W1sicGF0aCIse2Q6Ik0yIDE3YTUgNSAwIDAgMCAxMCAwYzAtMi43Ni0yLjUtNS01LTMtMi41LTItNSAuMjQtNSAzWiJ9XSxbInBhdGgiLHtkOiJNMTIgMTdhNSA1IDAgMCAwIDEwIDBjMC0yLjc2LTIuNS01LTUtMy0yLjUtMi01IC4yNC01IDNaIn1dLFsicGF0aCIse2Q6Ik03IDE0YzMuMjItMi45MSA0LjI5LTguNzUgNS0xMiAxLjY2IDIuMzggNC45NCA5IDUgMTIifV0sWyJwYXRoIix7ZDoiTTIyIDljLTQuMjkgMC03LjE0LTIuMzMtMTAtNyA1LjcxIDAgMTAgNC42NyAxMCA3WiJ9XV19KTt2YXIgV2ssWU1lPWYoKCk9PntXaz1bWyJwYXRoIix7ZDoiTTQgMjBhMiAyIDAgMCAxIDItMmgxMmEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMUg1YTEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Im02LjcgMTgtMS0xQzQuMzUgMTUuNjgyIDMgMTQuMDkgMyAxMmE1IDUgMCAwIDEgNC45NS01YzEuNTg0IDAgMi43LjQ1NSA0LjA1IDEuODE4QzEzLjM1IDcuNDU1IDE0LjQ2NiA3IDE2LjA1IDdBNSA1IDAgMCAxIDIxIDEyYzAgMi4wODItMS4zNTkgMy42NzMtMi43IDVsLTEgMSJ9XSxbInBhdGgiLHtkOiJNMTAgNGg0In1dLFsicGF0aCIse2Q6Ik0xMiAydjYuODE4In1dXX0pO3ZhciBHayxLTWU9ZigoKT0+e0drPVtbInBhdGgiLHtkOiJNNSAyMGEyIDIgMCAwIDEgMi0yaDEwYTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDZhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTE1IDE4YzEuNS0uNjE1IDMtMi40NjEgMy00LjkyM0MxOCA4Ljc2OSAxNC41IDQuNDYyIDEyIDIgOS41IDQuNDYyIDYgOC43NyA2IDEzLjA3NyA2IDE1LjUzOSA3LjUgMTcuMzg1IDkgMTgifV0sWyJwYXRoIix7ZDoibTE2IDctMi41IDIuNSJ9XSxbInBhdGgiLHtkOiJNOSAyaDYifV1dfSk7dmFyIFlrLFpNZT1mKCgpPT57WWs9W1sicGF0aCIse2Q6Ik01IDIwYTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnYxYTEgMSAwIDAgMS0xIDFINmExIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJNMTYuNSAxOGMxLTIgMi41LTUgMi41LTlhNyA3IDAgMCAwLTctN0g2LjYzNWExIDEgMCAwIDAtLjc2OCAxLjY0TDcgNWwtMi4zMiA1LjgwMmEyIDIgMCAwIDAgLjk1IDIuNTI2bDIuODcgMS40NTYifV0sWyJwYXRoIix7ZDoibTE1IDUgMS40MjUtMS40MjUifV0sWyJwYXRoIix7ZDoibTE3IDggMS41My0xLjUzIn1dLFsicGF0aCIse2Q6Ik05LjcxMyAxMi4xODUgNyAxOCJ9XV19KTt2YXIgS2ssWE1lPWYoKCk9PntLaz1bWyJwYXRoIix7ZDoiTTUgMjBhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMUg2YTEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Im0xNC41IDEwIDEuNSA4In1dLFsicGF0aCIse2Q6Ik03IDEwaDEwIn1dLFsicGF0aCIse2Q6Im04IDE4IDEuNS04In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNiIscjoiNCJ9XV19KTt2YXIgWmssUU1lPWYoKCk9Pntaaz1bWyJwYXRoIix7ZDoiTTUgMjBhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMUg2YTEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik0xMCAydjIifV0sWyJwYXRoIix7ZDoiTTE0IDJ2MiJ9XSxbInBhdGgiLHtkOiJtMTcgMTgtMS05In1dLFsicGF0aCIse2Q6Ik02IDJ2NWEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMlYyIn1dLFsicGF0aCIse2Q6Ik02IDRoMTIifV0sWyJwYXRoIix7ZDoibTcgMTggMS05In1dXX0pO3ZhciBYayxKTWU9ZigoKT0+e1hrPVtbInBhdGgiLHtkOiJtNiA5IDYgNiA2LTYifV1dfSk7dmFyIFFrLGVrZT1mKCgpPT57UWs9W1sicGF0aCIse2Q6Ik00IDIwYTIgMiAwIDAgMSAyLTJoMTJhMiAyIDAgMCAxIDIgMnYxYTEgMSAwIDAgMS0xIDFINWExIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJtMTIuNDc0IDUuOTQzIDEuNTY3IDUuMzRhMSAxIDAgMCAwIDEuNzUuMzI4bDIuNjE2LTMuNDAyIn1dLFsicGF0aCIse2Q6Im0yMCA5LTMgOSJ9XSxbInBhdGgiLHtkOiJtNS41OTQgOC4yMDkgMi42MTUgMy40MDNhMSAxIDAgMCAwIDEuNzUtLjMyOWwxLjU2Ny01LjM0In1dLFsicGF0aCIse2Q6Ik03IDE4IDQgOSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjQiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiI3IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiI3IixyOiIyIn1dXX0pO3ZhciBKayx0a2U9ZigoKT0+e0prPVtbInBhdGgiLHtkOiJtMTcgMTgtNi02IDYtNiJ9XSxbInBhdGgiLHtkOiJNNyA2djEyIn1dXX0pO3ZhciBlUyxha2U9ZigoKT0+e2VTPVtbInBhdGgiLHtkOiJtNyAxOCA2LTYtNi02In1dLFsicGF0aCIse2Q6Ik0xNyA2djEyIn1dXX0pO3ZhciB0Uyxya2U9ZigoKT0+e3RTPVtbInBhdGgiLHtkOiJtMTUgMTgtNi02IDYtNiJ9XV19KTt2YXIgYVMsc2tlPWYoKCk9PnthUz1bWyJwYXRoIix7ZDoibTkgMTggNi02LTYtNiJ9XV19KTt2YXIgclMsaWtlPWYoKCk9PntyUz1bWyJwYXRoIix7ZDoibTE4IDE1LTYtNi02IDYifV1dfSk7dmFyIHNTLG9rZT1mKCgpPT57c1M9W1sicGF0aCIse2Q6Im03IDIwIDUtNSA1IDUifV0sWyJwYXRoIix7ZDoibTcgNCA1IDUgNS01In1dXX0pO3ZhciBpUyxua2U9ZigoKT0+e2lTPVtbInBhdGgiLHtkOiJtNyA2IDUgNSA1LTUifV0sWyJwYXRoIix7ZDoibTcgMTMgNSA1IDUtNSJ9XV19KTt2YXIgb1MsbGtlPWYoKCk9PntvUz1bWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLjAxIn1dLFsicGF0aCIse2Q6Im0xNyA3IDUgNS01IDUifV0sWyJwYXRoIix7ZDoibTcgNy01IDUgNSA1In1dLFsicGF0aCIse2Q6Ik04IDEyaC4wMSJ9XV19KTt2YXIgblMsY2tlPWYoKCk9PntuUz1bWyJwYXRoIix7ZDoibTkgNy01IDUgNSA1In1dLFsicGF0aCIse2Q6Im0xNSA3IDUgNS01IDUifV1dfSk7dmFyIGxTLGRrZT1mKCgpPT57bFM9W1sicGF0aCIse2Q6Im0xMSAxNy01LTUgNS01In1dLFsicGF0aCIse2Q6Im0xOCAxNy01LTUgNS01In1dXX0pO3ZhciBjUyx1a2U9ZigoKT0+e2NTPVtbInBhdGgiLHtkOiJtMjAgMTctNS01IDUtNSJ9XSxbInBhdGgiLHtkOiJtNCAxNyA1LTUtNS01In1dXX0pO3ZhciBkUyxwa2U9ZigoKT0+e2RTPVtbInBhdGgiLHtkOiJtNiAxNyA1LTUtNS01In1dLFsicGF0aCIse2Q6Im0xMyAxNyA1LTUtNS01In1dXX0pO3ZhciB1Uyxma2U9ZigoKT0+e3VTPVtbInBhdGgiLHtkOiJtMTcgMTEtNS01LTUgNSJ9XSxbInBhdGgiLHtkOiJtMTcgMTgtNS01LTUgNSJ9XV19KTt2YXIgcFMsaGtlPWYoKCk9PntwUz1bWyJwYXRoIix7ZDoibTcgMTUgNSA1IDUtNSJ9XSxbInBhdGgiLHtkOiJtNyA5IDUtNSA1IDUifV1dfSk7dmFyIGZTLG1rZT1mKCgpPT57ZlM9W1sicGF0aCIse2Q6Ik0xMCA5aDQifV0sWyJwYXRoIix7ZDoiTTEyIDd2NSJ9XSxbInBhdGgiLHtkOiJNMTQgMjF2LTNhMiAyIDAgMCAwLTQgMHYzIn1dLFsicGF0aCIse2Q6Im0xOCA5IDMuNTIgMi4xNDdhMSAxIDAgMCAxIC40OC44NTRWMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJ2LTYuOTk5YTEgMSAwIDAgMSAuNDgtLjg1NEw2IDkifV0sWyJwYXRoIix7ZDoiTTYgMjFWN2ExIDEgMCAwIDEgLjM3Ni0uNzgybDUtMy45OTlhMSAxIDAgMCAxIDEuMjQ5LjAwMWw1IDRBMSAxIDAgMCAxIDE4IDd2MTQifV1dfSk7dmFyIGhTLGdrZT1mKCgpPT57aFM9W1sicGF0aCIse2Q6Ik0xMiAxMkgzYTEgMSAwIDAgMC0xIDF2MmExIDEgMCAwIDAgMSAxaDEzIn1dLFsicGF0aCIse2Q6Ik0xOCA4YzAtMi41LTItMi41LTItNSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMSAxMmExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAxLS41Ljg2NiJ9XSxbInBhdGgiLHtkOiJNMjIgOGMwLTIuNS0yLTIuNS0yLTUifV0sWyJwYXRoIix7ZDoiTTcgMTJ2NCJ9XV19KTt2YXIgbVMsYmtlPWYoKCk9PnttUz1bWyJwYXRoIix7ZDoiTTE3IDEySDNhMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMCAxIDFoMTQifV0sWyJwYXRoIix7ZDoiTTE4IDhjMC0yLjUtMi0yLjUtMi01In1dLFsicGF0aCIse2Q6Ik0yMSAxNmExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMC0xLTEifV0sWyJwYXRoIix7ZDoiTTIyIDhjMC0yLjUtMi0yLjUtMi01In1dLFsicGF0aCIse2Q6Ik03IDEydjQifV1dfSk7dmFyIFVkLHZrZT1mKCgpPT57VWQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiOCIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyLjAxIix5MToiMTYiLHkyOiIxNiJ9XV19KTt2YXIgV2QseGtlPWYoKCk9PntXZD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDh2OCJ9XSxbInBhdGgiLHtkOiJtOCAxMiA0IDQgNC00In1dXX0pO3ZhciBHZCx5a2U9ZigoKT0+e0dkPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtMTIgOC00IDQgNCA0In1dLFsicGF0aCIse2Q6Ik0xNiAxMkg4In1dXX0pO3ZhciBZZCx3a2U9ZigoKT0+e1lkPVtbInBhdGgiLHtkOiJNMiAxMmExMCAxMCAwIDEgMSAxMCAxMCJ9XSxbInBhdGgiLHtkOiJtMiAyMiAxMC0xMCJ9XSxbInBhdGgiLHtkOiJNOCAyMkgydi02In1dXX0pO3ZhciBLZCxNa2U9ZigoKT0+e0tkPVtbInBhdGgiLHtkOiJNMTIgMjJhMTAgMTAgMCAxIDEgMTAtMTAifV0sWyJwYXRoIix7ZDoiTTIyIDIyIDEyIDEyIn1dLFsicGF0aCIse2Q6Ik0yMiAxNnY2aC02In1dXX0pO3ZhciBaZCxra2U9ZigoKT0+e1pkPVtbInBhdGgiLHtkOiJNMiA4VjJoNiJ9XSxbInBhdGgiLHtkOiJtMiAyIDEwIDEwIn1dLFsicGF0aCIse2Q6Ik0xMiAyQTEwIDEwIDAgMSAxIDIgMTIifV1dfSk7dmFyIFhkLFNrZT1mKCgpPT57WGQ9W1sicGF0aCIse2Q6Ik0yMiAxMkExMCAxMCAwIDEgMSAxMiAyIn1dLFsicGF0aCIse2Q6Ik0yMiAyIDEyIDEyIn1dLFsicGF0aCIse2Q6Ik0xNiAyaDZ2NiJ9XV19KTt2YXIgUWQsemtlPWYoKCk9PntRZD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTEyIDE2IDQtNC00LTQifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XV19KTt2YXIgSmQsQ2tlPWYoKCk9PntKZD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTE2IDEyLTQtNC00IDQifV0sWyJwYXRoIix7ZDoiTTEyIDE2VjgifV1dfSk7dmFyIGU2LF9rZT1mKCgpPT57ZTY9W1sicGF0aCIse2Q6Ik0yMS44MDEgMTBBMTAgMTAgMCAxIDEgMTcgMy4zMzUifV0sWyJwYXRoIix7ZDoibTkgMTEgMyAzTDIyIDQifV1dfSk7dmFyIHQ2LFRrZT1mKCgpPT57dDY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im05IDEyIDIgMiA0LTQifV1dfSk7dmFyIGE2LExrZT1mKCgpPT57YTY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im0xNCAxNi00LTQgNC00In1dXX0pO3ZhciByNiwka2U9ZigoKT0+e3I2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtMTYgMTAtNCA0LTQtNCJ9XV19KTt2YXIgczYsRGtlPWYoKCk9PntzNj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTEwIDggNCA0LTQgNCJ9XV19KTt2YXIgaTYsQWtlPWYoKCk9PntpNj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTggMTQgNC00IDQgNCJ9XV19KTt2YXIgZ1MsRWtlPWYoKCk9PntnUz1bWyJwYXRoIix7ZDoiTTEwLjEgMi4xODJhMTAgMTAgMCAwIDEgMy44IDAifV0sWyJwYXRoIix7ZDoiTTEzLjkgMjEuODE4YTEwIDEwIDAgMCAxLTMuOCAwIn1dLFsicGF0aCIse2Q6Ik0xNy42MDkgMy43MjFhMTAgMTAgMCAwIDEgMi42OSAyLjcifV0sWyJwYXRoIix7ZDoiTTIuMTgyIDEzLjlhMTAgMTAgMCAwIDEgMC0zLjgifV0sWyJwYXRoIix7ZDoiTTIwLjI3OSAxNy42MDlhMTAgMTAgMCAwIDEtMi43IDIuNjkifV0sWyJwYXRoIix7ZDoiTTIxLjgxOCAxMC4xYTEwIDEwIDAgMCAxIDAgMy44In1dLFsicGF0aCIse2Q6Ik0zLjcyMSA2LjM5MWExMCAxMCAwIDAgMSAyLjctMi42OSJ9XSxbInBhdGgiLHtkOiJNNi4zOTEgMjAuMjc5YTEwIDEwIDAgMCAxLTIuNjktMi43In1dXX0pO3ZhciBvNixQa2U9ZigoKT0+e282PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjE2Iix5MjoiMTYifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiI4Iix5MjoiOCJ9XV19KTt2YXIgYlMsSWtlPWYoKCk9PntiUz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE2IDhoLTZhMiAyIDAgMSAwIDAgNGg0YTIgMiAwIDEgMSAwIDRIOCJ9XSxbInBhdGgiLHtkOiJNMTIgMThWNiJ9XV19KTt2YXIgdlMsTmtlPWYoKCk9Pnt2Uz1bWyJwYXRoIix7ZDoiTTEwLjEgMi4xOGE5LjkzIDkuOTMgMCAwIDEgMy44IDAifV0sWyJwYXRoIix7ZDoiTTE3LjYgMy43MWE5Ljk1IDkuOTUgMCAwIDEgMi42OSAyLjcifV0sWyJwYXRoIix7ZDoiTTIxLjgyIDEwLjFhOS45MyA5LjkzIDAgMCAxIDAgMy44In1dLFsicGF0aCIse2Q6Ik0yMC4yOSAxNy42YTkuOTUgOS45NSAwIDAgMS0yLjcgMi42OSJ9XSxbInBhdGgiLHtkOiJNMTMuOSAyMS44MmE5Ljk0IDkuOTQgMCAwIDEtMy44IDAifV0sWyJwYXRoIix7ZDoiTTYuNCAyMC4yOWE5Ljk1IDkuOTUgMCAwIDEtMi42OS0yLjcifV0sWyJwYXRoIix7ZDoiTTIuMTggMTMuOWE5LjkzIDkuOTMgMCAwIDEgMC0zLjgifV0sWyJwYXRoIix7ZDoiTTMuNzEgNi40YTkuOTUgOS45NSAwIDAgMSAyLjctMi42OSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dXX0pO3ZhciB4UyxSa2U9ZigoKT0+e3hTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTcgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTcgMTJoLjAxIn1dXX0pO3ZhciB5UyxPa2U9ZigoKT0+e3lTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dXX0pO3ZhciB3UyxGa2U9ZigoKT0+e3dTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNNyAxMGgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNGgxMCJ9XV19KTt2YXIgTVMsQmtlPWYoKCk9PntNUz1bWyJwYXRoIix7ZDoiTTEyIDJhMTAgMTAgMCAwIDEgNy4zOCAxNi43NSJ9XSxbInBhdGgiLHtkOiJtMTYgMTItNC00LTQgNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZWOCJ9XSxbInBhdGgiLHtkOiJNMi41IDguODc1YTEwIDEwIDAgMCAwLS41IDMifV0sWyJwYXRoIix7ZDoiTTIuODMgMTZhMTAgMTAgMCAwIDAgMi40MyAzLjQifV0sWyJwYXRoIix7ZDoiTTQuNjM2IDUuMjM1YTEwIDEwIDAgMCAxIC44OTEtLjg1NyJ9XSxbInBhdGgiLHtkOiJNOC42NDQgMjEuNDJhMTAgMTAgMCAwIDAgNy42MzEtLjM4In1dXX0pO3ZhciBrUyxIa2U9ZigoKT0+e2tTPVtbInBhdGgiLHtkOiJNMTIgMmExMCAxMCAwIDAgMSA3LjM4IDE2Ljc1In1dLFsicGF0aCIse2Q6Ik0xMiA4djgifV0sWyJwYXRoIix7ZDoiTTE2IDEySDgifV0sWyJwYXRoIix7ZDoiTTIuNSA4Ljg3NWExMCAxMCAwIDAgMC0uNSAzIn1dLFsicGF0aCIse2Q6Ik0yLjgzIDE2YTEwIDEwIDAgMCAwIDIuNDMgMy40In1dLFsicGF0aCIse2Q6Ik00LjYzNiA1LjIzNWExMCAxMCAwIDAgMSAuODkxLS44NTcifV0sWyJwYXRoIix7ZDoiTTguNjQ0IDIxLjQyYTEwIDEwIDAgMCAwIDcuNjMxLS4zOCJ9XV19KTt2YXIgbjYscWtlPWYoKCk9PntuNj1bWyJwYXRoIix7ZDoiTTE1LjYgMi43YTEwIDEwIDAgMSAwIDUuNyA1LjcifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMTMuNCAxMC42IDE5IDUifV1dfSk7dmFyIGw2LFZrZT1mKCgpPT57bDY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV1dfSk7dmFyIFNTLGprZT1mKCgpPT57U1M9W1sicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTguMzUgMi42OUExMCAxMCAwIDAgMSAyMS4zIDE1LjY1In1dLFsicGF0aCIse2Q6Ik0xOS4wOCAxOS4wOEExMCAxMCAwIDEgMSA0LjkyIDQuOTIifV1dfSk7dmFyIGM2LFVrZT1mKCgpPT57YzY9W1sicGF0aCIse2Q6Ik0xMi42NTYgN0gxM2EzIDMgMCAwIDEgMi45ODQgMy4zMDcifV0sWyJwYXRoIix7ZDoiTTEzIDEzSDkifV0sWyJwYXRoIix7ZDoiTTE5LjA3MSAxOS4wNzFBMSAxIDAgMCAxIDQuOTMgNC45MyJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik04LjM1NyAyLjY4N2ExMCAxMCAwIDAgMSAxMi45NTYgMTIuOTU2In1dLFsicGF0aCIse2Q6Ik05IDE3VjkifV1dfSk7dmFyIGQ2LFdrZT1mKCgpPT57ZDY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik05IDE3VjdoNGEzIDMgMCAwIDEgMCA2SDkifV1dfSk7dmFyIHU2LEdrZT1mKCgpPT57dTY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsibGluZSIse3gxOiIxMCIseDI6IjEwIix5MToiMTUiLHkyOiI5In1dLFsibGluZSIse3gxOiIxNCIseDI6IjE0Iix5MToiMTUiLHkyOiI5In1dXX0pO3ZhciBwNixZa2U9ZigoKT0+e3A2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJtMTUgOS02IDYifV0sWyJwYXRoIix7ZDoiTTkgOWguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDE1aC4wMSJ9XV19KTt2YXIgZjYsS2tlPWYoKCk9PntmNj1bWyJwYXRoIix7ZDoiTTkgOS4wMDNhMSAxIDAgMCAxIDEuNTE3LS44NTlsNC45OTcgMi45OTdhMSAxIDAgMCAxIDAgMS43MThsLTQuOTk3IDIuOTk3QTEgMSAwIDAgMSA5IDE0Ljk5NnoifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV1dfSk7dmFyIHpTLFprZT1mKCgpPT57elM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTkiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI1IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTIiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIxOSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI0IixjeToiMTkiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjEyIixyOiIyIn1dXX0pO3ZhciBoNixYa2U9ZigoKT0+e2g2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dLFsicGF0aCIse2Q6Ik0xMiA4djgifV1dfSk7dmFyIENTLFFrZT1mKCgpPT57Q1M9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMCAxNlY5LjVhMSAxIDAgMCAxIDUgMCJ9XSxbInBhdGgiLHtkOiJNOCAxMmg0In1dLFsicGF0aCIse2Q6Ik04IDE2aDcifV1dfSk7dmFyIG02LEprZT1mKCgpPT57bTY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA3djQifV0sWyJwYXRoIix7ZDoiTTcuOTk4IDkuMDAzYTUgNSAwIDEgMCA4LS4wMDUifV1dfSk7dmFyIGFjLGVTZT1mKCgpPT57YWM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik05LjA5IDlhMyAzIDAgMCAxIDUuODMgMWMwIDItMyAzLTMgMyJ9XSxbInBhdGgiLHtkOiJNMTIgMTdoLjAxIn1dXX0pO3ZhciBnNix0U2U9ZigoKT0+e2c2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMjIgMiAyIDIyIn1dXX0pO3ZhciBfUyxhU2U9ZigoKT0+e19TPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjE1Iix5MToiMTUiLHkyOiI5In1dXX0pO3ZhciBUUyxyU2U9ZigoKT0+e1RTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI2In1dXX0pO3ZhciBMUyxzU2U9ZigoKT0+e0xTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTEuMDUxIDcuNjE2YTEgMSAwIDAgMSAxLjkwOS4wMjRsLjczNyAxLjQ1MmExIDEgMCAwIDAgLjczNy41MzVsMS42MzQuMjU2YTEgMSAwIDAgMSAuNTg4IDEuODA2bC0xLjE3MiAxLjE2OGExIDEgMCAwIDAtLjI4Mi44NjZsLjI1OSAxLjYxM2ExIDEgMCAwIDEtMS41NDEgMS4xMzRsLTEuNDY1LS43NWExIDEgMCAwIDAtLjkxMiAwbC0xLjQ2NS43NWExIDEgMCAwIDEtMS41MzktMS4xMzNsLjI1OC0xLjYxM2ExIDEgMCAwIDAtLjI4Mi0uODY3bC0xLjE1Ni0xLjE1MmExIDEgMCAwIDEgLjU3Mi0xLjgyMmwxLjYzMy0uMjU2YTEgMSAwIDAgMCAuNzM3LS41MzV6In1dXX0pO3ZhciBiNixpU2U9ZigoKT0+e2I2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInJlY3QiLHt4OiI5Iix5OiI5Iix3aWR0aDoiNiIsaGVpZ2h0OiI2IixyeDoiMSJ9XV19KTt2YXIgdjYsb1NlPWYoKCk9Pnt2Nj1bWyJwYXRoIix7ZDoiTTE3LjkyNSAyMC4wNTZhNiA2IDAgMCAwLTExLjg1MS4wMDEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMSIscjoiNCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XV19KTt2YXIgeDYsblNlPWYoKCk9Pnt4Nj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNyAyMC42NjJWMTlhMiAyIDAgMCAxIDItMmg2YTIgMiAwIDAgMSAyIDJ2MS42NjIifV1dfSk7dmFyIHk2LGxTZT1mKCgpPT57eTY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Im0xNSA5LTYgNiJ9XSxbInBhdGgiLHtkOiJtOSA5IDYgNiJ9XV19KTt2YXIgJFMsY1NlPWYoKCk9PnskUz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV1dfSk7dmFyIERTLGRTZT1mKCgpPT57RFM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTExIDloNGEyIDIgMCAwIDAgMi0yVjMifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTcgMjF2LTRhMiAyIDAgMCAxIDItMmg0In1dLFsiY2lyY2xlIix7Y3g6IjE1IixjeToiMTUiLHI6IjIifV1dfSk7dmFyIEFTLHVTZT1mKCgpPT57QVM9W1sicGF0aCIse2Q6Ik0yMS42NiAxNy42N2ExLjA4IDEuMDggMCAwIDEtLjA0IDEuNkExMiAxMiAwIDAgMSA0LjczIDIuMzhhMS4xIDEuMSAwIDAgMSAxLjYxLS4wNHoifV0sWyJwYXRoIix7ZDoiTTE5LjY1IDE1LjY2QTggOCAwIDAgMSA4LjM1IDQuMzQifV0sWyJwYXRoIix7ZDoibTE0IDEwLTUuNSA1LjUifV0sWyJwYXRoIix7ZDoiTTE0IDE3Ljg1VjEwSDYuMTUifV1dfSk7dmFyIEVTLHBTZT1mKCgpPT57RVM9W1sicGF0aCIse2Q6Im0xMi4yOTYgMy40NjQgMy4wMiAzLjk1NiJ9XSxbInBhdGgiLHtkOiJNMjAuMiA2IDMgMTFsLS45LTIuNGMtLjMtMS4xLjMtMi4yIDEuMy0yLjVsMTMuNS00YzEuMS0uMyAyLjIuMyAyLjUgMS4zeiJ9XSxbInBhdGgiLHtkOiJNMyAxMWgxOHY4YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yeiJ9XSxbInBhdGgiLHtkOiJtNi4xOCA1LjI3NiAzLjEgMy44OTkifV1dfSk7dmFyIFBTLGZTZT1mKCgpPT57UFM9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjgiLHk6IjIiLHJ4OiIxIixyeToiMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoibTkgMTQgMiAyIDQtNCJ9XV19KTt2YXIgSVMsaFNlPWYoKCk9PntJUz1bWyJwYXRoIix7ZDoiTTE2IDE0djIuMmwxLjYgMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2LjgzMiJ9XSxbInBhdGgiLHtkOiJNOCA0SDZhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDIifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNiIscjoiNiJ9XSxbInJlY3QiLHt4OiI4Iix5OiIyIix3aWR0aDoiOCIsaGVpZ2h0OiI0IixyeDoiMSJ9XV19KTt2YXIgTlMsbVNlPWYoKCk9PntOUz1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiOCIseToiMiIscng6IjEiLHJ5OiIxIn1dLFsicGF0aCIse2Q6Ik04IDRINmEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtMiJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2NCJ9XSxbInBhdGgiLHtkOiJNMjEgMTRIMTEifV0sWyJwYXRoIix7ZDoibTE1IDEwLTQgNCA0IDQifV1dfSk7dmFyIFJTLGdTZT1mKCgpPT57UlM9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjgiLHk6IjIiLHJ4OiIxIixyeToiMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTEyIDExaDQifV0sWyJwYXRoIix7ZDoiTTEyIDE2aDQifV0sWyJwYXRoIix7ZDoiTTggMTFoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE2aC4wMSJ9XV19KTt2YXIgT1MsYlNlPWYoKCk9PntPUz1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiOCIseToiMiIscng6IjEiLHJ5OiIxIn1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNOSAxNGg2In1dXX0pO3ZhciBGUyx2U2U9ZigoKT0+e0ZTPVtbInBhdGgiLHtkOiJNMTEgMTRoMTAifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjEuMzQ0In1dLFsicGF0aCIse2Q6Im0xNyAxOCA0LTQtNC00In1dLFsicGF0aCIse2Q6Ik04IDRINmEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDEuNzkzLTEuMTEzIn1dLFsicmVjdCIse3g6IjgiLHk6IjIiLHdpZHRoOiI4IixoZWlnaHQ6IjQiLHJ4OiIxIn1dXX0pO3ZhciB3Nix4U2U9ZigoKT0+e3c2PVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI0Iix4OiI4Iix5OiIyIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNOCA0SDZhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LS41In1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDEuNzMgMSJ9XSxbInBhdGgiLHtkOiJNOCAxOGgxIn1dLFsicGF0aCIse2Q6Ik0yMS4zNzggMTIuNjI2YTEgMSAwIDAgMC0zLjAwNC0zLjAwNGwtNC4wMSA0LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoifV1dfSk7dmFyIE02LHlTZT1mKCgpPT57TTY9W1sicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMS4zNCAxNS42NjRhMSAxIDAgMSAwLTMuMDA0LTMuMDA0bC01LjAxIDUuMDEyYTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2eiJ9XSxbInBhdGgiLHtkOiJNOCAyMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJyZWN0Iix7eDoiOCIseToiMiIsd2lkdGg6IjgiLGhlaWdodDoiNCIscng6IjEifV1dfSk7dmFyIEJTLHdTZT1mKCgpPT57QlM9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjgiLHk6IjIiLHJ4OiIxIixyeToiMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTkgMTRoNiJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2LTYifV1dfSk7dmFyIEhTLE1TZT1mKCgpPT57SFM9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjQiLHg6IjgiLHk6IjIiLHJ4OiIxIixyeToiMSJ9XSxbInBhdGgiLHtkOiJNMTYgNGgyYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTkgMTJ2LTFoNnYxIn1dLFsicGF0aCIse2Q6Ik0xMSAxN2gyIn1dLFsicGF0aCIse2Q6Ik0xMiAxMXY2In1dXX0pO3ZhciBxUyxrU2U9ZigoKT0+e3FTPVtbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI0Iix4OiI4Iix5OiIyIixyeDoiMSIscnk6IjEifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Im0xNSAxMS02IDYifV0sWyJwYXRoIix7ZDoibTkgMTEgNiA2In1dXX0pO3ZhciBWUyxTU2U9ZigoKT0+e1ZTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2bDItNCJ9XV19KTt2YXIgalMselNlPWYoKCk9PntqUz1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiOCIseToiMiIscng6IjEiLHJ5OiIxIn1dLFsicGF0aCIse2Q6Ik0xNiA0aDJhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTJoMiJ9XV19KTt2YXIgVVMsQ1NlPWYoKCk9PntVUz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2NmwtNC0yIn1dXX0pO3ZhciBXUyxfU2U9ZigoKT0+e1dTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2bC0yLTQifV1dfSk7dmFyIEdTLFRTZT1mKCgpPT57R1M9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA2djYifV1dfSk7dmFyIFlTLExTZT1mKCgpPT57WVM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA2djZsNC0yIn1dXX0pO3ZhciBLUywkU2U9ZigoKT0+e0tTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2aDQifV1dfSk7dmFyIFpTLERTZT1mKCgpPT57WlM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA2djZsNCAyIn1dXX0pO3ZhciBYUyxBU2U9ZigoKT0+e1hTPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2bDIgNCJ9XV19KTt2YXIgUVMsRVNlPWYoKCk9PntRUz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2MTAifV1dfSk7dmFyIEpTLFBTZT1mKCgpPT57SlM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiA2djZsLTQgMiJ9XV19KTt2YXIgZXosSVNlPWYoKCk9Pntlej1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2NmwtMiA0In1dXX0pO3ZhciB0eixOU2U9ZigoKT0+e3R6PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgNnY2SDgifV1dfSk7dmFyIGF6LFJTZT1mKCgpPT57YXo9W1sicGF0aCIse2Q6Ik0xMiA2djZsNCAyIn1dLFsicGF0aCIse2Q6Ik0yMCAxMnY1In1dLFsicGF0aCIse2Q6Ik0yMCAyMWguMDEifV0sWyJwYXRoIix7ZDoiTTIxLjI1IDguMkExMCAxMCAwIDEgMCAxNiAyMS4xNiJ9XV19KTt2YXIgcnosT1NlPWYoKCk9Pntyej1bWyJwYXRoIix7ZDoiTTEyIDZ2NmwyIDEifV0sWyJwYXRoIix7ZDoiTTEyLjMzNyAyMS45OTRhMTAgMTAgMCAxIDEgOS41ODgtOC43NjcifV0sWyJwYXRoIix7ZDoibTE0IDE4IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTE4IDE0djgifV1dfSk7dmFyIHN6LEZTZT1mKCgpPT57c3o9W1sicGF0aCIse2Q6Ik0xMiA2djZsMS41Ni43OCJ9XSxbInBhdGgiLHtkOiJNMTMuMjI3IDIxLjkyNWExMCAxMCAwIDEgMSA4Ljc2Ny05LjU4OCJ9XSxbInBhdGgiLHtkOiJtMTQgMTggNC00IDQgNCJ9XSxbInBhdGgiLHtkOiJNMTggMjJ2LTgifV1dfSk7dmFyIGl6LEJTZT1mKCgpPT57aXo9W1sicGF0aCIse2Q6Ik0xMiA2djZsNCAyIn1dLFsicGF0aCIse2Q6Ik0yMiAxMmExMCAxMCAwIDEgMC0xMSA5Ljk1In1dLFsicGF0aCIse2Q6Im0yMiAxNi01LjUgNS41TDE0IDE5In1dXX0pO3ZhciBveixIU2U9ZigoKT0+e296PVtbInBhdGgiLHtkOiJNMTIgMmExMCAxMCAwIDAgMSA3LjM4IDE2Ljc1In1dLFsicGF0aCIse2Q6Ik0xMiA2djZsNCAyIn1dLFsicGF0aCIse2Q6Ik0yLjUgOC44NzVhMTAgMTAgMCAwIDAtLjUgMyJ9XSxbInBhdGgiLHtkOiJNMi44MyAxNmExMCAxMCAwIDAgMCAyLjQzIDMuNCJ9XSxbInBhdGgiLHtkOiJNNC42MzYgNS4yMzVhMTAgMTAgMCAwIDEgLjg5MS0uODU3In1dLFsicGF0aCIse2Q6Ik04LjY0NCAyMS40MmExMCAxMCAwIDAgMCA3LjYzMS0uMzgifV1dfSk7dmFyIG56LHFTZT1mKCgpPT57bno9W1sicGF0aCIse2Q6Ik0xMiA2djZsMy42NDQgMS44MjIifV0sWyJwYXRoIix7ZDoiTTE2IDE5aDYifV0sWyJwYXRoIix7ZDoiTTE5IDE2djYifV0sWyJwYXRoIix7ZDoiTTIxLjkyIDEzLjI2N2ExMCAxMCAwIDEgMC04LjY1MyA4LjY1MyJ9XV19KTt2YXIgbHosVlNlPWYoKCk9Pntsej1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTEyIDZ2Nmw0IDIifV1dfSk7dmFyIGN6LGpTZT1mKCgpPT57Y3o9W1sicGF0aCIse2Q6Ik0xMCA5LjE3YTMgMyAwIDEgMCAwIDUuNjYifV0sWyJwYXRoIix7ZDoiTTE3IDkuMTdhMyAzIDAgMSAwIDAgNS42NiJ9XSxbInJlY3QiLHt4OiIyIix5OiI1Iix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXX0pO3ZhciBkeixVU2U9ZigoKT0+e2R6PVtbInBhdGgiLHtkOiJNMTIgMTJ2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik04LjEyOCAxNi45NDlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWExIDEgMCAwIDEgMCA5aC0xLjY0MiJ9XV19KTt2YXIgdXosV1NlPWYoKCk9Pnt1ej1bWyJwYXRoIix7ZDoiTTIxIDE1LjI1MUE0LjUgNC41IDAgMCAwIDE3LjUgOGgtMS43OUE3IDcgMCAxIDAgMyAxMy42MDcifV0sWyJwYXRoIix7ZDoiTTcgMTF2NGg0In1dLFsicGF0aCIse2Q6Ik04IDE5YTUgNSAwIDAgMCA5LTMgNC41IDQuNSAwIDAgMC00LjUtNC41IDQuODIgNC44MiAwIDAgMC0zLjQxIDEuNDFMNyAxNSJ9XV19KTt2YXIgcHosR1NlPWYoKCk9Pntwej1bWyJwYXRoIix7ZDoibTE3IDE1LTUuNSA1LjVMOSAxOCJ9XSxbInBhdGgiLHtkOiJNNS41MTYgMTYuMDdBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDMuNTAxIDcuMzI3In1dXX0pO3ZhciBmeixZU2U9ZigoKT0+e2Z6PVtbInBhdGgiLHtkOiJtMTAuODUyIDE5Ljc3Mi0uMzgzLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTMuMTQ4IDE0LjIyOC4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJNMTMuMTQ4IDE5Ljc3MmEzIDMgMCAxIDAtMi4yOTYtNS41NDRsLS4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTMuNTMgMjAuNjk2LS4zODItLjkyNGEzIDMgMCAxIDEtMi4yOTYtNS41NDQifV0sWyJwYXRoIix7ZDoibTE0Ljc3MiAxNS44NTIuOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTE0Ljc3MiAxOC4xNDguOTIzLjM4MyJ9XSxbInBhdGgiLHtkOiJNNC4yIDE1LjFhNyA3IDAgMSAxIDkuOTMtOS44NThBNyA3IDAgMCAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjIifV0sWyJwYXRoIix7ZDoibTkuMjI4IDE1Ljg1Mi0uOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTkuMjI4IDE4LjE0OC0uOTIzLjM4MyJ9XV19KTt2YXIgazYsS1NlPWYoKCk9PntrNj1bWyJwYXRoIix7ZDoiTTEyIDEzdjhsLTQtNCJ9XSxbInBhdGgiLHtkOiJtMTIgMjEgNC00In1dLFsicGF0aCIse2Q6Ik00LjM5MyAxNS4yNjlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNDM2IDguMjg0In1dXX0pO3ZhciBoeixaU2U9ZigoKT0+e2h6PVtbInBhdGgiLHtkOiJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiJ9XSxbInBhdGgiLHtkOiJNOCAxOXYxIn1dLFsicGF0aCIse2Q6Ik04IDE0djEifV0sWyJwYXRoIix7ZDoiTTE2IDE5djEifV0sWyJwYXRoIix7ZDoiTTE2IDE0djEifV0sWyJwYXRoIix7ZDoiTTEyIDIxdjEifV0sWyJwYXRoIix7ZDoiTTEyIDE2djEifV1dfSk7dmFyIG16LFhTZT1mKCgpPT57bXo9W1sicGF0aCIse2Q6Ik00IDE0Ljg5OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi41IDguMjQyIn1dLFsicGF0aCIse2Q6Ik0xNiAxNHYyIn1dLFsicGF0aCIse2Q6Ik04IDE0djIifV0sWyJwYXRoIix7ZDoiTTE2IDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDE2djIifV0sWyJwYXRoIix7ZDoiTTEyIDIyaC4wMSJ9XV19KTt2YXIgZ3osUVNlPWYoKCk9Pntnej1bWyJwYXRoIix7ZDoiTTQgMTQuODk5QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAyLjUgOC4yNDIifV0sWyJwYXRoIix7ZDoiTTE2IDE3SDcifV0sWyJwYXRoIix7ZDoiTTE3IDIxSDkifV1dfSk7dmFyIGJ6LEpTZT1mKCgpPT57Yno9W1sicGF0aCIse2Q6Ik02IDE2LjMyNkE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgLjUgOC45NzMifV0sWyJwYXRoIix7ZDoibTEzIDEyLTMgNWg0bC0zIDUifV1dfSk7dmFyIHZ6LGV6ZT1mKCgpPT57dno9W1sicGF0aCIse2Q6Ik0xMSAyMHYyIn1dLFsicGF0aCIse2Q6Ik0xOC4zNzYgMTQuNTEyYTYgNiAwIDAgMCAzLjQ2MS00LjEyN2MuMTQ4LS42MjUtLjY1OS0uOTctMS4yNDgtLjcxNGE0IDQgMCAwIDEtNS4yNTktNS4yNmMuMjU1LS41ODktLjA5LTEuMzk1LS43MTYtMS4yNDhhNiA2IDAgMCAwLTQuNTk0IDUuMzYifV0sWyJwYXRoIix7ZDoiTTMgMjBhNSA1IDAgMSAxIDguOS00SDEzYTMgMyAwIDAgMSAyIDUuMjQifV0sWyJwYXRoIix7ZDoiTTcgMTl2MiJ9XV19KTt2YXIgeHosdHplPWYoKCk9Pnt4ej1bWyJwYXRoIix7ZDoiTTEzIDE2YTMgMyAwIDAgMSAwIDZIN2E1IDUgMCAxIDEgNC45LTZ6In1dLFsicGF0aCIse2Q6Ik0xOC4zNzYgMTQuNTEyYTYgNiAwIDAgMCAzLjQ2MS00LjEyN2MuMTQ4LS42MjUtLjY1OS0uOTctMS4yNDgtLjcxNGE0IDQgMCAwIDEtNS4yNTktNS4yNmMuMjU1LS41ODktLjA5LTEuMzk1LS43MTYtMS4yNDhhNiA2IDAgMCAwLTQuNTk0IDUuMzYifV1dfSk7dmFyIHl6LGF6ZT1mKCgpPT57eXo9W1sicGF0aCIse2Q6Ik00IDE0Ljg5OUE3IDcgMCAxIDEgMTUuNzEgOGgxLjc5YTQuNSA0LjUgMCAwIDEgMi41IDguMjQyIn1dLFsicGF0aCIse2Q6Im05LjIgMjIgMy03In1dLFsicGF0aCIse2Q6Im05IDEzLTMgNyJ9XSxbInBhdGgiLHtkOiJtMTcgMTMtMyA3In1dXX0pO3ZhciB3eixyemU9ZigoKT0+e3d6PVtbInBhdGgiLHtkOiJNMTAuOTQgNS4yNzRBNyA3IDAgMCAxIDE1LjcxIDEwaDEuNzlhNC41IDQuNSAwIDAgMSA0LjIyMiA2LjA1NyJ9XSxbInBhdGgiLHtkOiJNMTguNzk2IDE4LjgxQTQuNSA0LjUgMCAwIDEgMTcuNSAxOUg5QTcgNyAwIDAgMSA1Ljc5IDUuNzgifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgTXosc3plPWYoKCk9PntNej1bWyJwYXRoIix7ZDoiTTQgMTQuODk5QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAyLjUgOC4yNDIifV0sWyJwYXRoIix7ZDoiTTE2IDE0djYifV0sWyJwYXRoIix7ZDoiTTggMTR2NiJ9XSxbInBhdGgiLHtkOiJNMTIgMTZ2NiJ9XV19KTt2YXIga3osaXplPWYoKCk9Pntrej1bWyJwYXRoIix7ZDoiTTQgMTQuODk5QTcgNyAwIDEgMSAxNS43MSA4aDEuNzlhNC41IDQuNSAwIDAgMSAyLjUgOC4yNDIifV0sWyJwYXRoIix7ZDoiTTggMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE5aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTdoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAyMWguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTloLjAxIn1dXX0pO3ZhciBTeixvemU9ZigoKT0+e1N6PVtbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Im00LjkzIDQuOTMgMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0yMCAxMmgyIn1dLFsicGF0aCIse2Q6Im0xOS4wNyA0LjkzLTEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJNMTUuOTQ3IDEyLjY1YTQgNCAwIDAgMC01LjkyNS00LjEyOCJ9XSxbInBhdGgiLHtkOiJNMyAyMGE1IDUgMCAxIDEgOC45LTRIMTNhMyAzIDAgMCAxIDIgNS4yNCJ9XSxbInBhdGgiLHtkOiJNMTEgMjB2MiJ9XSxbInBhdGgiLHtkOiJNNyAxOXYyIn1dXX0pO3ZhciB6eixuemU9ZigoKT0+e3p6PVtbInBhdGgiLHtkOiJtMTcgMTgtMS41MzUgMS42MDVhNSA1IDAgMCAxLTgtMS41In1dLFsicGF0aCIse2Q6Ik0xNyAyMnYtNGgtNCJ9XSxbInBhdGgiLHtkOiJNMjAuOTk2IDE1LjI1MUE0LjUgNC41IDAgMCAwIDE3LjQ5NSA4aC0xLjc5YTcgNyAwIDEgMC0xMi43MDkgNS42MDcifV0sWyJwYXRoIix7ZDoiTTcgMTB2NGg0In1dLFsicGF0aCIse2Q6Im03IDE0IDEuNTM1LTEuNjA1YTUgNSAwIDAgMSA4IDEuNSJ9XV19KTt2YXIgQ3osbHplPWYoKCk9PntDej1bWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJtNC45MyA0LjkzIDEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJNMjAgMTJoMiJ9XSxbInBhdGgiLHtkOiJtMTkuMDcgNC45My0xLjQxIDEuNDEifV0sWyJwYXRoIix7ZDoiTTE1Ljk0NyAxMi42NWE0IDQgMCAwIDAtNS45MjUtNC4xMjgifV0sWyJwYXRoIix7ZDoiTTEzIDIySDdhNSA1IDAgMSAxIDQuOS02SDEzYTMgMyAwIDAgMSAwIDZaIn1dXX0pO3ZhciBTNixjemU9ZigoKT0+e1M2PVtbInBhdGgiLHtkOiJNMTIgMTN2OCJ9XSxbInBhdGgiLHtkOiJNNCAxNC44OTlBNyA3IDAgMSAxIDE1LjcxIDhoMS43OWE0LjUgNC41IDAgMCAxIDIuNSA4LjI0MiJ9XSxbInBhdGgiLHtkOiJtOCAxNyA0LTQgNCA0In1dXX0pO3ZhciBfeixkemU9ZigoKT0+e196PVtbInBhdGgiLHtkOiJNMTcuNSAxOUg5YTcgNyAwIDEgMSA2LjcxLTloMS43OWE0LjUgNC41IDAgMSAxIDAgOVoifV1dfSk7dmFyIFR6LHV6ZT1mKCgpPT57VHo9W1sicGF0aCIse2Q6Ik0xNy41IDEyYTEgMSAwIDEgMSAwIDlIOS4wMDZhNyA3IDAgMSAxIDYuNzAyLTl6In1dLFsicGF0aCIse2Q6Ik0yMS44MzIgOUEzIDMgMCAwIDAgMTkgN2gtMi4yMDdhNS41IDUuNSAwIDAgMC0xMC43Mi42MSJ9XV19KTt2YXIgTHoscHplPWYoKCk9PntMej1bWyJwYXRoIix7ZDoiTTE2LjE3IDcuODMgMiAyMiJ9XSxbInBhdGgiLHtkOiJNNC4wMiAxMmEyLjgyNyAyLjgyNyAwIDEgMSAzLjgxLTQuMTdBMi44MjcgMi44MjcgMCAxIDEgMTIgNC4wMmEyLjgyNyAyLjgyNyAwIDEgMSA0LjE3IDMuODFBMi44MjcgMi44MjcgMCAxIDEgMTkuOTggMTJhMi44MjcgMi44MjcgMCAxIDEtMy44MSA0LjE3QTIuODI3IDIuODI3IDAgMSAxIDEyIDE5Ljk4YTIuODI3IDIuODI3IDAgMSAxLTQuMTctMy44MUExIDEgMCAxIDEgNCAxMiJ9XSxbInBhdGgiLHtkOiJtNy44MyA3LjgzIDguMzQgOC4zNCJ9XV19KTt2YXIgJHosZnplPWYoKCk9Pnskej1bWyJwYXRoIix7ZDoiTTE3LjI4IDkuMDVhNS41IDUuNSAwIDEgMC0xMC41NiAwQTUuNSA1LjUgMCAxIDAgMTIgMTcuNjZhNS41IDUuNSAwIDEgMCA1LjI4LTguNloifV0sWyJwYXRoIix7ZDoiTTEyIDE3LjY2TDEyIDIyIn1dXX0pO3ZhciB6NixoemU9ZigoKT0+e3o2PVtbInBhdGgiLHtkOiJtMTggMTYgNC00LTQtNCJ9XSxbInBhdGgiLHtkOiJtNiA4LTQgNCA0IDQifV0sWyJwYXRoIix7ZDoibTE0LjUgNC01IDE2In1dXX0pO3ZhciBEeixtemU9ZigoKT0+e0R6PVtbInBhdGgiLHtkOiJtMTYgMTggNi02LTYtNiJ9XSxbInBhdGgiLHtkOiJtOCA2LTYgNiA2IDYifV1dfSk7dmFyIEF6LGd6ZT1mKCgpPT57QXo9W1sicGF0aCIse2Q6Ik0xMCAydjIifV0sWyJwYXRoIix7ZDoiTTE0IDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTYgOGExIDEgMCAwIDEgMSAxdjhhNCA0IDAgMCAxLTQgNEg3YTQgNCAwIDAgMS00LTRWOWExIDEgMCAwIDEgMS0xaDE0YTQgNCAwIDEgMSAwIDhoLTEifV0sWyJwYXRoIix7ZDoiTTYgMnYyIn1dXX0pO3ZhciBFeixiemU9ZigoKT0+e0V6PVtbInBhdGgiLHtkOiJNMTEgMTAuMjcgNyAzLjM0In1dLFsicGF0aCIse2Q6Im0xMSAxMy43My00IDYuOTMifV0sWyJwYXRoIix7ZDoiTTEyIDIydi0yIn1dLFsicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoiTTE0IDEyaDgifV0sWyJwYXRoIix7ZDoibTE3IDIwLjY2LTEtMS43MyJ9XSxbInBhdGgiLHtkOiJtMTcgMy4zNC0xIDEuNzMifV0sWyJwYXRoIix7ZDoiTTIgMTJoMiJ9XSxbInBhdGgiLHtkOiJtMjAuNjYgMTctMS43My0xIn1dLFsicGF0aCIse2Q6Im0yMC42NiA3LTEuNzMgMSJ9XSxbInBhdGgiLHtkOiJtMy4zNCAxNyAxLjczLTEifV0sWyJwYXRoIix7ZDoibTMuMzQgNyAxLjczIDEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI4In1dXX0pO3ZhciBQeix2emU9ZigoKT0+e1B6PVtbInBhdGgiLHtkOiJNMTMuNzQ0IDE3LjczNmE2IDYgMCAxIDEtNy40OC03LjQ4In1dLFsicGF0aCIse2Q6Ik0xNSA2aDF2NCJ9XSxbInBhdGgiLHtkOiJtNi4xMzQgMTQuNzY4Ljg2Ni0uNSAyIDMuNDY0In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiOCIscjoiNiJ9XV19KTt2YXIgQzYseHplPWYoKCk9PntDNj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgM3YxOCJ9XV19KTt2YXIgcmMseXplPWYoKCk9PntyYz1bWyJwYXRoIix7ZDoiTTEwLjUgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjUuNSJ9XSxbInBhdGgiLHtkOiJtMTQuMyAxOS42IDEtLjQifV0sWyJwYXRoIix7ZDoiTTE1IDN2Ny41In1dLFsicGF0aCIse2Q6Im0xNS4yIDE2LjktLjktLjMifV0sWyJwYXRoIix7ZDoibTE2LjYgMjEuNy4zLS45In1dLFsicGF0aCIse2Q6Im0xNi44IDE1LjMtLjQtMSJ9XSxbInBhdGgiLHtkOiJtMTkuMSAxNS4yLjMtLjkifV0sWyJwYXRoIix7ZDoibTE5LjYgMjEuNy0uNC0xIn1dLFsicGF0aCIse2Q6Im0yMC43IDE2LjggMS0uNCJ9XSxbInBhdGgiLHtkOiJtMjEuNyAxOS40LS45LS4zIn1dLFsicGF0aCIse2Q6Ik05IDN2MTgifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgXzYsd3plPWYoKCk9PntfNj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsicGF0aCIse2Q6Ik0xNSAzdjE4In1dXX0pO3ZhciBJeixNemU9ZigoKT0+e0l6PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03LjUgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMTIgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMTYuNSAzdjE4In1dXX0pO3ZhciBOeixremU9ZigoKT0+e056PVtbInBhdGgiLHtkOiJNMTQgM2ExIDEgMCAwIDEgMSAxdjVhMSAxIDAgMCAxLTEgMSJ9XSxbInBhdGgiLHtkOiJNMTkgM2ExIDEgMCAwIDEgMSAxdjVhMSAxIDAgMCAxLTEgMSJ9XSxbInBhdGgiLHtkOiJtNyAxNSAzIDMifV0sWyJwYXRoIix7ZDoibTcgMjEgMy0zSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbInJlY3QiLHt4OiIxNCIseToiMTQiLHdpZHRoOiI3IixoZWlnaHQ6IjciLHJ4OiIxIn1dLFsicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiI3IixoZWlnaHQ6IjciLHJ4OiIxIn1dXX0pO3ZhciBSeixTemU9ZigoKT0+e1J6PVtbInBhdGgiLHtkOiJNMTUgNnYxMmEzIDMgMCAxIDAgMy0zSDZhMyAzIDAgMSAwIDMgM1Y2YTMgMyAwIDEgMC0zIDNoMTJhMyAzIDAgMSAwLTMtMyJ9XV19KTt2YXIgT3osenplPWYoKCk9PntPej1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTE2LjI0IDcuNzYtMS44MDQgNS40MTFhMiAyIDAgMCAxLTEuMjY1IDEuMjY1TDcuNzYgMTYuMjRsMS44MDQtNS40MTFhMiAyIDAgMCAxIDEuMjY1LTEuMjY1eiJ9XV19KTt2YXIgRnosQ3plPWYoKCk9PntGej1bWyJwYXRoIix7ZDoiTTE1LjUzNiAxMS4yOTNhMSAxIDAgMCAwIDAgMS40MTRsMi4zNzYgMi4zNzdhMSAxIDAgMCAwIDEuNDE0IDBsMi4zNzctMi4zNzdhMSAxIDAgMCAwIDAtMS40MTRsLTIuMzc3LTIuMzc3YTEgMSAwIDAgMC0xLjQxNCAweiJ9XSxbInBhdGgiLHtkOiJNMi4yOTcgMTEuMjkzYTEgMSAwIDAgMCAwIDEuNDE0bDIuMzc3IDIuMzc3YTEgMSAwIDAgMCAxLjQxNCAwbDIuMzc3LTIuMzc3YTEgMSAwIDAgMCAwLTEuNDE0TDYuMDg4IDguOTE2YTEgMSAwIDAgMC0xLjQxNCAweiJ9XSxbInBhdGgiLHtkOiJNOC45MTYgMTcuOTEyYTEgMSAwIDAgMCAwIDEuNDE1bDIuMzc3IDIuMzc2YTEgMSAwIDAgMCAxLjQxNCAwbDIuMzc3LTIuMzc2YTEgMSAwIDAgMCAwLTEuNDE1bC0yLjM3Ny0yLjM3NmExIDEgMCAwIDAtMS40MTQgMHoifV0sWyJwYXRoIix7ZDoiTTguOTE2IDQuNjc0YTEgMSAwIDAgMCAwIDEuNDE0bDIuMzc3IDIuMzc2YTEgMSAwIDAgMCAxLjQxNCAwbDIuMzc3LTIuMzc2YTEgMSAwIDAgMCAwLTEuNDE0bC0yLjM3Ny0yLjM3N2ExIDEgMCAwIDAtMS40MTQgMHoifV1dfSk7dmFyIEJ6LF96ZT1mKCgpPT57Qno9W1sicmVjdCIse3dpZHRoOiIxNCIsaGVpZ2h0OiI4Iix4OiI1Iix5OiIyIixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiMTQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDE4aDIifV0sWyJwYXRoIix7ZDoiTTEyIDE4aDYifV1dfSk7dmFyIEh6LFR6ZT1mKCgpPT57SHo9W1sicGF0aCIse2Q6Ik0zIDIwYTEgMSAwIDAgMS0xLTF2LTFhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjFhMSAxIDAgMCAxLTEgMVoifV0sWyJwYXRoIix7ZDoiTTIwIDE2YTggOCAwIDEgMC0xNiAwIn1dLFsicGF0aCIse2Q6Ik0xMiA0djQifV0sWyJwYXRoIix7ZDoiTTEwIDRoNCJ9XV19KTt2YXIgcXosTHplPWYoKCk9Pntxej1bWyJwYXRoIix7ZDoibTIwLjkgMTguNTUtOC0xNS45OGExIDEgMCAwIDAtMS44IDBsLTggMTUuOTgifV0sWyJlbGxpcHNlIix7Y3g6IjEyIixjeToiMTkiLHJ4OiI5IixyeToiMyJ9XV19KTt2YXIgVnosJHplPWYoKCk9PntWej1bWyJyZWN0Iix7eDoiMiIseToiNiIsd2lkdGg6IjIwIixoZWlnaHQ6IjgiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0xNyAxNHY3In1dLFsicGF0aCIse2Q6Ik03IDE0djcifV0sWyJwYXRoIix7ZDoiTTE3IDN2MyJ9XSxbInBhdGgiLHtkOiJNNyAzdjMifV0sWyJwYXRoIix7ZDoiTTEwIDE0IDIuMyA2LjMifV0sWyJwYXRoIix7ZDoibTE0IDYgNy43IDcuNyJ9XSxbInBhdGgiLHtkOiJtOCA2IDggOCJ9XV19KTt2YXIgVDYsRHplPWYoKCk9PntUNj1bWyJwYXRoIix7ZDoiTTE2IDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTcuOTE1IDIyYTYgNiAwIDAgMC0xMiAwIn1dLFsicGF0aCIse2Q6Ik04IDJ2MiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI0In1dLFsicmVjdCIse3g6IjMiLHk6IjQiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dfSk7dmFyIGp6LEF6ZT1mKCgpPT57ano9W1sicGF0aCIse2Q6Ik0xNiAydjIifV0sWyJwYXRoIix7ZDoiTTcgMjJ2LTJhMiAyIDAgMCAxIDItMmg2YTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNOCAydjIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMSIscjoiMyJ9XSxbInJlY3QiLHt4OiIzIix5OiI0Iix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBVeixFemU9ZigoKT0+e1V6PVtbInBhdGgiLHtkOiJNMjIgNy43YzAtLjYtLjQtMS4yLS44LTEuNWwtNi4zLTMuOWExLjcyIDEuNzIgMCAwIDAtMS43IDBsLTEwLjMgNmMtLjUuMi0uOS44LS45IDEuNHY2LjZjMCAuNS40IDEuMi44IDEuNWw2LjMgMy45YTEuNzIgMS43MiAwIDAgMCAxLjcgMGwxMC4zLTZjLjUtLjMuOS0xIC45LTEuNVoifV0sWyJwYXRoIix7ZDoiTTEwIDIxLjlWMTRMMi4xIDkuMSJ9XSxbInBhdGgiLHtkOiJtMTAgMTQgMTEuOS02LjkifV0sWyJwYXRoIix7ZDoiTTE0IDE5Ljh2LTguMSJ9XSxbInBhdGgiLHtkOiJNMTggMTcuNVY5LjQifV1dfSk7dmFyIFd6LFB6ZT1mKCgpPT57V3o9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiAxOGE2IDYgMCAwIDAgMC0xMnYxMnoifV1dfSk7dmFyIEd6LEl6ZT1mKCgpPT57R3o9W1sicGF0aCIse2Q6Ik0xMiAyYTEwIDEwIDAgMSAwIDEwIDEwIDQgNCAwIDAgMS01LTUgNCA0IDAgMCAxLTUtNSJ9XSxbInBhdGgiLHtkOiJNOC41IDguNXYuMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE1LjV2LjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxMnYuMDEifV0sWyJwYXRoIix7ZDoiTTExIDE3di4wMSJ9XSxbInBhdGgiLHtkOiJNNyAxNHYuMDEifV1dfSk7dmFyIFl6LE56ZT1mKCgpPT57WXo9W1sicGF0aCIse2Q6Ik0yIDEyaDIwIn1dLFsicGF0aCIse2Q6Ik0yMCAxMnY4YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0ydi04In1dLFsicGF0aCIse2Q6Im00IDggMTYtNCJ9XSxbInBhdGgiLHtkOiJtOC44NiA2Ljc4LS40NS0xLjgxYTIgMiAwIDAgMSAxLjQ1LTIuNDNsMS45NC0uNDhhMiAyIDAgMCAxIDIuNDMgMS40NmwuNDUgMS44In1dXX0pO3ZhciBLeixSemU9ZigoKT0+e0t6PVtbInBhdGgiLHtkOiJtMTIgMTUgMiAyIDQtNCJ9XSxbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHg6IjgiLHk6IjgiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIn1dXX0pO3ZhciBaeixPemU9ZigoKT0+e1p6PVtbImxpbmUiLHt4MToiMTIiLHgyOiIxOCIseTE6IjE1Iix5MjoiMTUifV0sWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix4OiI4Iix5OiI4IixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMiJ9XV19KTt2YXIgWHosRnplPWYoKCk9PntYej1bWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUiLHkxOiIxMiIseTI6IjE4In1dLFsibGluZSIse3gxOiIxMiIseDI6IjE4Iix5MToiMTUiLHkyOiIxNSJ9XSxbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHg6IjgiLHk6IjgiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIn1dXX0pO3ZhciBReixCemU9ZigoKT0+e1F6PVtbImxpbmUiLHt4MToiMTIiLHgyOiIxOCIseTE6IjE4Iix5MjoiMTIifV0sWyJyZWN0Iix7d2lkdGg6IjE0IixoZWlnaHQ6IjE0Iix4OiI4Iix5OiI4IixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTZjLTEuMSAwLTItLjktMi0yVjRjMC0xLjEuOS0yIDItMmgxMGMxLjEgMCAyIC45IDIgMiJ9XV19KTt2YXIgSnosSHplPWYoKCk9PntKej1bWyJsaW5lIix7eDE6IjEyIix4MjoiMTgiLHkxOiIxMiIseTI6IjE4In1dLFsibGluZSIse3gxOiIxMiIseDI6IjE4Iix5MToiMTgiLHkyOiIxMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHg6IjgiLHk6IjgiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIn1dXX0pO3ZhciBlQyxxemU9ZigoKT0+e2VDPVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMTQiLHg6IjgiLHk6IjgiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNCAxNmMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDIgLjkgMiAyIn1dXX0pO3ZhciB0QyxWemU9ZigoKT0+e3RDPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNOS4xNyAxNC44M2E0IDQgMCAxIDAgMC01LjY2In1dXX0pO3ZhciBhQyxqemU9ZigoKT0+e2FDPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTQuODMgMTQuODNhNCA0IDAgMSAxIDAtNS42NiJ9XV19KTt2YXIgckMsVXplPWYoKCk9PntyQz1bWyJwYXRoIix7ZDoiTTIwIDR2N2E0IDQgMCAwIDEtNCA0SDQifV0sWyJwYXRoIix7ZDoibTkgMTAtNSA1IDUgNSJ9XV19KTt2YXIgc0MsV3plPWYoKCk9PntzQz1bWyJwYXRoIix7ZDoibTE1IDEwIDUgNS01IDUifV0sWyJwYXRoIix7ZDoiTTQgNHY3YTQgNCAwIDAgMCA0IDRoMTIifV1dfSk7dmFyIGlDLEd6ZT1mKCgpPT57aUM9W1sicGF0aCIse2Q6Im0xNCAxNS01IDUtNS01In1dLFsicGF0aCIse2Q6Ik0yMCA0aC03YTQgNCAwIDAgMC00IDR2MTIifV1dfSk7dmFyIG9DLFl6ZT1mKCgpPT57b0M9W1sicGF0aCIse2Q6Ik0xNCA5IDkgNCA0IDkifV0sWyJwYXRoIix7ZDoiTTIwIDIwaC03YTQgNCAwIDAgMS00LTRWNCJ9XV19KTt2YXIgbkMsS3plPWYoKCk9PntuQz1bWyJwYXRoIix7ZDoibTEwIDE1IDUgNSA1LTUifV0sWyJwYXRoIix7ZDoiTTQgNGg3YTQgNCAwIDAgMSA0IDR2MTIifV1dfSk7dmFyIGxDLFp6ZT1mKCgpPT57bEM9W1sicGF0aCIse2Q6Im0xMCA5IDUtNSA1IDUifV0sWyJwYXRoIix7ZDoiTTQgMjBoN2E0IDQgMCAwIDAgNC00VjQifV1dfSk7dmFyIGNDLFh6ZT1mKCgpPT57Y0M9W1sicGF0aCIse2Q6Ik0yMCAyMHYtN2E0IDQgMCAwIDAtNC00SDQifV0sWyJwYXRoIix7ZDoiTTkgMTQgNCA5bDUtNSJ9XV19KTt2YXIgZEMsUXplPWYoKCk9PntkQz1bWyJwYXRoIix7ZDoibTE1IDE0IDUtNS01LTUifV0sWyJwYXRoIix7ZDoiTTQgMjB2LTdhNCA0IDAgMCAxIDQtNGgxMiJ9XV19KTt2YXIgdUMsSnplPWYoKCk9Pnt1Qz1bWyJwYXRoIix7ZDoiTTEyIDIwdjIifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTcgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTcgMnYyIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIifV0sWyJwYXRoIix7ZDoiTTIgMTdoMiJ9XSxbInBhdGgiLHtkOiJNMiA3aDIifV0sWyJwYXRoIix7ZDoiTTIwIDEyaDIifV0sWyJwYXRoIix7ZDoiTTIwIDE3aDIifV0sWyJwYXRoIix7ZDoiTTIwIDdoMiJ9XSxbInBhdGgiLHtkOiJNNyAyMHYyIn1dLFsicGF0aCIse2Q6Ik03IDJ2MiJ9XSxbInJlY3QiLHt4OiI0Iix5OiI0Iix3aWR0aDoiMTYiLGhlaWdodDoiMTYiLHJ4OiIyIn1dLFsicmVjdCIse3g6IjgiLHk6IjgiLHdpZHRoOiI4IixoZWlnaHQ6IjgiLHJ4OiIxIn1dXX0pO3ZhciBwQyxlQ2U9ZigoKT0+e3BDPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTAgOS4zYTIuOCAyLjggMCAwIDAtMy41IDEgMy4xIDMuMSAwIDAgMCAwIDMuNCAyLjcgMi43IDAgMCAwIDMuNSAxIn1dLFsicGF0aCIse2Q6Ik0xNyA5LjNhMi44IDIuOCAwIDAgMC0zLjUgMSAzLjEgMy4xIDAgMCAwIDAgMy40IDIuNyAyLjcgMCAwIDAgMy41IDEifV1dfSk7dmFyIGZDLHRDZT1mKCgpPT57ZkM9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiNSIscng6IjIifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjEwIix5MjoiMTAifV1dfSk7dmFyIGhDLGFDZT1mKCgpPT57aEM9W1sicGF0aCIse2Q6Ik0xMC4yIDE4SDQuNzc0YTEuNSAxLjUgMCAwIDEtMS4zNTItLjk3IDExIDExIDAgMCAxIC4xMzItNi40ODcifV0sWyJwYXRoIix7ZDoiTTE4IDEwLjJWNC43NzRhMS41IDEuNSAwIDAgMC0uOTctMS4zNTIgMTEgMTEgMCAwIDAtNi40ODYuMTMyIn1dLFsicGF0aCIse2Q6Ik0xOCA1YTQgMyAwIDAgMSA0IDMgMiAyIDAgMCAxLTIgMiAxMCAxMCAwIDAgMC01LjEzOSAxLjQyIn1dLFsicGF0aCIse2Q6Ik01IDE4YTMgNCAwIDAgMCAzIDQgMiAyIDAgMCAwIDItMiAxMCAxMCAwIDAgMSAxLjQyLTUuMTQifV0sWyJwYXRoIix7ZDoiTTguNzA5IDIuNTU0YTEwIDEwIDAgMCAwLTYuMTU1IDYuMTU1IDEuNSAxLjUgMCAwIDAgLjY3NiAxLjYyNmw5LjgwNyA1LjQyYTIgMiAwIDAgMCAyLjcxOC0yLjcxOGwtNS40Mi05LjgwN2ExLjUgMS41IDAgMCAwLTEuNjI2LS42NzYifV1dfSk7dmFyIG1DLHJDZT1mKCgpPT57bUM9W1sicGF0aCIse2Q6Ik02IDJ2MTRhMiAyIDAgMCAwIDIgMmgxNCJ9XSxbInBhdGgiLHtkOiJNMTggMjJWOGEyIDIgMCAwIDAtMi0ySDIifV1dfSk7dmFyIGdDLHNDZT1mKCgpPT57Z0M9W1sicGF0aCIse2Q6Ik00IDlhMiAyIDAgMCAwLTIgMnYyYTIgMiAwIDAgMCAyIDJoNGExIDEgMCAwIDEgMSAxdjRhMiAyIDAgMCAwIDIgMmgyYTIgMiAwIDAgMCAyLTJ2LTRhMSAxIDAgMCAxIDEtMWg0YTIgMiAwIDAgMCAyLTJ2LTJhMiAyIDAgMCAwLTItMmgtNGExIDEgMCAwIDEtMS0xVjRhMiAyIDAgMCAwLTItMmgtMmEyIDIgMCAwIDAtMiAydjRhMSAxIDAgMCAxLTEgMXoifV1dfSk7dmFyIGJDLGlDZT1mKCgpPT57YkM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsibGluZSIse3gxOiIyMiIseDI6IjE4Iix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiNiIseDI6IjIiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiNiIseTI6IjIifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIyMiIseTI6IjE4In1dXX0pO3ZhciB2QyxvQ2U9ZigoKT0+e3ZDPVtbInBhdGgiLHtkOiJNMTEuNTYyIDMuMjY2YS41LjUgMCAwIDEgLjg3NiAwTDE1LjM5IDguODdhMSAxIDAgMCAwIDEuNTE2LjI5NEwyMS4xODMgNS41YS41LjUgMCAwIDEgLjc5OC41MTlsLTIuODM0IDEwLjI0NmExIDEgMCAwIDEtLjk1Ni43MzRINS44MWExIDEgMCAwIDEtLjk1Ny0uNzM0TDIuMDIgNi4wMmEuNS41IDAgMCAxIC43OTgtLjUxOWw0LjI3NiAzLjY2NGExIDEgMCAwIDAgMS41MTYtLjI5NHoifV0sWyJwYXRoIix7ZDoiTTUgMjFoMTQifV1dfSk7dmFyIHhDLG5DZT1mKCgpPT57eEM9W1sicGF0aCIse2Q6Ik0xMCAyMnYtOCJ9XSxbInBhdGgiLHtkOiJNMi4zMzYgOC44OSAxMCAxNGwxMS43MTUtNy4wMjkifV0sWyJwYXRoIix7ZDoiTTIyIDE0YTIgMiAwIDAgMS0uOTcxIDEuNzE1bC0xMCA2YTIgMiAwIDAgMS0yLjEzOC0uMDVsLTYtNEEyIDIgMCAwIDEgMiAxNnYtNmEyIDIgMCAwIDEgLjk3MS0xLjcxNWwxMC02YTIgMiAwIDAgMSAyLjEzOC4wNWw2IDRBMiAyIDAgMCAxIDIyIDh6In1dXX0pO3ZhciB5QyxsQ2U9ZigoKT0+e3lDPVtbInBhdGgiLHtkOiJtNiA4IDEuNzUgMTIuMjhhMiAyIDAgMCAwIDIgMS43Mmg0LjU0YTIgMiAwIDAgMCAyLTEuNzJMMTggOCJ9XSxbInBhdGgiLHtkOiJNNSA4aDE0In1dLFsicGF0aCIse2Q6Ik03IDE1YTYuNDcgNi40NyAwIDAgMSA1IDAgNi40NyA2LjQ3IDAgMCAwIDUgMCJ9XSxbInBhdGgiLHtkOiJtMTIgOCAxLTZoMiJ9XV19KTt2YXIgd0MsY0NlPWYoKCk9Pnt3Qz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiOCJ9XSxbImxpbmUiLHt4MToiMyIseDI6IjYiLHkxOiIzIix5MjoiNiJ9XSxbImxpbmUiLHt4MToiMjEiLHgyOiIxOCIseTE6IjMiLHkyOiI2In1dLFsibGluZSIse3gxOiIzIix4MjoiNiIseTE6IjIxIix5MjoiMTgifV0sWyJsaW5lIix7eDE6IjIxIix4MjoiMTgiLHkxOiIyMSIseTI6IjE4In1dXX0pO3ZhciBNQyxkQ2U9ZigoKT0+e01DPVtbImVsbGlwc2UiLHtjeDoiMTIiLGN5OiI1IixyeDoiOSIscnk6IjMifV0sWyJwYXRoIix7ZDoiTTMgNXYxNGE5IDMgMCAwIDAgMTggMFY1In1dXX0pO3ZhciBrQyx1Q2U9ZigoKT0+e2tDPVtbInBhdGgiLHtkOiJNMTEgMTEuMzFjMS4xNy41NiAxLjU0IDEuNjkgMy41IDEuNjkgMi41IDAgMi41LTIgNS0yIDEuMyAwIDEuOS41IDIuNSAxIn1dLFsicGF0aCIse2Q6Ik0xMS43NSAxOGMuMzUuNSAxLjQ1IDEgMi43NSAxIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSJ9XSxbInBhdGgiLHtkOiJNMiAxMGg0In1dLFsicGF0aCIse2Q6Ik0yIDE0aDQifV0sWyJwYXRoIix7ZDoiTTIgMThoNCJ9XSxbInBhdGgiLHtkOiJNMiA2aDQifV0sWyJwYXRoIix7ZDoiTTcgM2ExIDEgMCAwIDAtMSAxdjE2YTEgMSAwIDAgMCAxIDFoNGExIDEgMCAwIDAgMS0xTDEwIDRhMSAxIDAgMCAwLTEtMXoifV1dfSk7dmFyIFNDLHBDZT1mKCgpPT57U0M9W1siZWxsaXBzZSIse2N4OiIxMiIsY3k6IjUiLHJ4OiI5IixyeToiMyJ9XSxbInBhdGgiLHtkOiJNMyAxMmE5IDMgMCAwIDAgNSAyLjY5In1dLFsicGF0aCIse2Q6Ik0yMSA5LjNWNSJ9XSxbInBhdGgiLHtkOiJNMyA1djE0YTkgMyAwIDAgMCA2LjQ3IDIuODgifV0sWyJwYXRoIix7ZDoiTTEyIDEydjRoNCJ9XSxbInBhdGgiLHtkOiJNMTMgMjBhNSA1IDAgMCAwIDktMyA0LjUgNC41IDAgMCAwLTQuNS00LjVjLTEuMzMgMC0yLjU0LjU0LTMuNDEgMS40MUwxMiAxNiJ9XV19KTt2YXIgekMsZkNlPWYoKCk9Pnt6Qz1bWyJlbGxpcHNlIix7Y3g6IjEyIixjeToiNSIscng6IjkiLHJ5OiIzIn1dLFsicGF0aCIse2Q6Ik0zIDVWMTlBOSAzIDAgMCAwIDE1IDIxLjg0In1dLFsicGF0aCIse2Q6Ik0yMSA1VjgifV0sWyJwYXRoIix7ZDoiTTIxIDEyTDE4IDE3SDIyTDE5IDIyIn1dLFsicGF0aCIse2Q6Ik0zIDEyQTkgMyAwIDAgMCAxNC41OSAxNC44NyJ9XV19KTt2YXIgQ0MsaENlPWYoKCk9PntDQz1bWyJwYXRoIix7ZDoiTTIxIDExLjY5M1Y1In1dLFsicGF0aCIse2Q6Im0yMiAyMi0xLjg3NS0xLjg3NSJ9XSxbInBhdGgiLHtkOiJNMyAxMmE5IDMgMCAwIDAgOC42OTcgMi45OTgifV0sWyJwYXRoIix7ZDoiTTMgNXYxNGE5IDMgMCAwIDAgOS4yOCAyLjk5OSJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dLFsiZWxsaXBzZSIse2N4OiIxMiIsY3k6IjUiLHJ4OiI5IixyeToiMyJ9XV19KTt2YXIgX0MsbUNlPWYoKCk9PntfQz1bWyJlbGxpcHNlIix7Y3g6IjEyIixjeToiNSIscng6IjkiLHJ5OiIzIn1dLFsicGF0aCIse2Q6Ik0zIDVWMTlBOSAzIDAgMCAwIDIxIDE5VjUifV0sWyJwYXRoIix7ZDoiTTMgMTJBOSAzIDAgMCAwIDIxIDEyIn1dXX0pO3ZhciBUQyxnQ2U9ZigoKT0+e1RDPVtbInBhdGgiLHtkOiJtMTMgMjEtMy0zIDMtMyJ9XSxbInBhdGgiLHtkOiJNMjAgMThIMTAifV0sWyJwYXRoIix7ZDoiTTMgMTFoLjAxIn1dLFsicmVjdCIse3g6IjYiLHk6IjMiLHdpZHRoOiI1IixoZWlnaHQ6IjgiLHJ4OiIyLjUifV1dfSk7dmFyIExDLGJDZT1mKCgpPT57TEM9W1sicGF0aCIse2Q6Ik0xMCAxOGgxMCJ9XSxbInBhdGgiLHtkOiJtMTcgMjEgMy0zLTMtMyJ9XSxbInBhdGgiLHtkOiJNMyAxMWguMDEifV0sWyJyZWN0Iix7eDoiMTUiLHk6IjMiLHdpZHRoOiI1IixoZWlnaHQ6IjgiLHJ4OiIyLjUifV0sWyJyZWN0Iix7eDoiNiIseToiMyIsd2lkdGg6IjUiLGhlaWdodDoiOCIscng6IjIuNSJ9XV19KTt2YXIgJEMsdkNlPWYoKCk9PnskQz1bWyJwYXRoIix7ZDoiTTEwIDVhMiAyIDAgMCAwLTEuMzQ0LjUxOWwtNi4zMjggNS43NGExIDEgMCAwIDAgMCAxLjQ4MWw2LjMyOCA1Ljc0MUEyIDIgMCAwIDAgMTAgMTloMTBhMiAyIDAgMCAwIDItMlY3YTIgMiAwIDAgMC0yLTJ6In1dLFsicGF0aCIse2Q6Im0xMiA5IDYgNiJ9XSxbInBhdGgiLHtkOiJtMTggOS02IDYifV1dfSk7dmFyIERDLHhDZT1mKCgpPT57REM9W1sicGF0aCIse2Q6Ik0xMC4xNjIgMy4xNjdBMTAgMTAgMCAwIDAgMiAxM2EyIDIgMCAwIDAgNCAwdi0xYTIgMiAwIDAgMSA0IDB2NGEyIDIgMCAwIDAgNCAwdi00YTIgMiAwIDAgMSA0IDB2MWEyIDIgMCAwIDAgNC0uMDA2IDEwIDEwIDAgMCAwLTguMTYxLTkuODI2In1dLFsicGF0aCIse2Q6Ik0yMC44MDQgMTQuODY5YTkgOSAwIDAgMS0xNy42MDggMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjQiLHI6IjIifV1dfSk7dmFyIEFDLHlDZT1mKCgpPT57QUM9W1siY2lyY2xlIix7Y3g6IjE5IixjeToiMTkiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjUiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTYuNDggMy42NmExMCAxMCAwIDAgMSAxMy44NiAxMy44NiJ9XSxbInBhdGgiLHtkOiJtNi40MSA2LjQxIDExLjE4IDExLjE4In1dLFsicGF0aCIse2Q6Ik0zLjY2IDYuNDhhMTAgMTAgMCAwIDAgMTMuODYgMTMuODYifV1dfSk7dmFyIEVDLHdDZT1mKCgpPT57RUM9W1sicGF0aCIse2Q6Ik0yLjcgMTAuM2EyLjQxIDIuNDEgMCAwIDAgMCAzLjQxbDcuNTkgNy41OWEyLjQxIDIuNDEgMCAwIDAgMy40MSAwbDcuNTktNy41OWEyLjQxIDIuNDEgMCAwIDAgMC0zLjQxTDEzLjcgMi43MWEyLjQxIDIuNDEgMCAwIDAtMy40MSAweiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dXX0pO3ZhciBMNixNQ2U9ZigoKT0+e0w2PVtbInBhdGgiLHtkOiJNMi43IDEwLjNhMi40MSAyLjQxIDAgMCAwIDAgMy40MWw3LjU5IDcuNTlhMi40MSAyLjQxIDAgMCAwIDMuNDEgMGw3LjU5LTcuNTlhMi40MSAyLjQxIDAgMCAwIDAtMy40MUwxMy43IDIuNzFhMi40MSAyLjQxIDAgMCAwLTMuNDEgMFoifV0sWyJwYXRoIix7ZDoiTTkuMiA5LjJoLjAxIn1dLFsicGF0aCIse2Q6Im0xNC41IDkuNS01IDUifV0sWyJwYXRoIix7ZDoiTTE0LjcgMTQuOGguMDEifV1dfSk7dmFyIFBDLGtDZT1mKCgpPT57UEM9W1sicGF0aCIse2Q6Ik0xMiA4djgifV0sWyJwYXRoIix7ZDoiTTIuNyAxMC4zYTIuNDEgMi40MSAwIDAgMCAwIDMuNDFsNy41OSA3LjU5YTIuNDEgMi40MSAwIDAgMCAzLjQxIDBsNy41OS03LjU5YTIuNDEgMi40MSAwIDAgMCAwLTMuNDFMMTMuNyAyLjcxYTIuNDEgMi40MSAwIDAgMC0zLjQxIDB6In1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV1dfSk7dmFyIElDLFNDZT1mKCgpPT57SUM9W1sicGF0aCIse2Q6Ik0yLjcgMTAuM2EyLjQxIDIuNDEgMCAwIDAgMCAzLjQxbDcuNTkgNy41OWEyLjQxIDIuNDEgMCAwIDAgMy40MSAwbDcuNTktNy41OWEyLjQxIDIuNDEgMCAwIDAgMC0zLjQxbC03LjU5LTcuNTlhMi40MSAyLjQxIDAgMCAwLTMuNDEgMFoifV1dfSk7dmFyIE5DLHpDZT1mKCgpPT57TkM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAxMmguMDEifV1dfSk7dmFyIFJDLENDZT1mKCgpPT57UkM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xNSA5aC4wMSJ9XSxbInBhdGgiLHtkOiJNOSAxNWguMDEifV1dfSk7dmFyIE9DLF9DZT1mKCgpPT57T0M9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Ik0xNiA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE2aC4wMSJ9XV19KTt2YXIgRkMsVENlPWYoKCk9PntGQz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTE2IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDE2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTZoLjAxIn1dXX0pO3ZhciBCQyxMQ2U9ZigoKT0+e0JDPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTYgOGguMDEifV0sWyJwYXRoIix7ZDoiTTggOGguMDEifV0sWyJwYXRoIix7ZDoiTTggMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XV19KTt2YXIgSEMsJENlPWYoKCk9PntIQz1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTE2IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNiAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE2aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTggMTZoLjAxIn1dXX0pO3ZhciBxQyxEQ2U9ZigoKT0+e3FDPVtbInBhdGgiLHtkOiJNMTIgM3YxNCJ9XSxbInBhdGgiLHtkOiJNNSAxMGgxNCJ9XSxbInBhdGgiLHtkOiJNNSAyMWgxNCJ9XV19KTt2YXIgVkMsQUNlPWYoKCk9PntWQz1bWyJyZWN0Iix7d2lkdGg6IjEyIixoZWlnaHQ6IjEyIix4OiIyIix5OiIxMCIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Im0xNy45MiAxNCAzLjUtMy41YTIuMjQgMi4yNCAwIDAgMCAwLTNsLTUtNC45MmEyLjI0IDIuMjQgMCAwIDAtMyAwTDEwIDYifV0sWyJwYXRoIix7ZDoiTTYgMThoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMCAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDZoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOCA5aC4wMSJ9XV19KTt2YXIgakMsRUNlPWYoKCk9PntqQz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dXX0pO3ZhciBVQyxQQ2U9ZigoKT0+e1VDPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNNiAxMmMwLTEuNy43LTMuMiAxLjgtNC4yIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTE4IDEyYzAgMS43LS43IDMuMi0xLjggNC4yIn1dXX0pO3ZhciBXQyxJQ2U9ZigoKT0+e1dDPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjUifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XV19KTt2YXIgR0MsTkNlPWYoKCk9PntHQz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI2IixyOiIxIn1dLFsibGluZSIse3gxOiI1Iix4MjoiMTkiLHkxOiIxMiIseTI6IjEyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTgiLHI6IjEifV1dfSk7dmFyIFlDLFJDZT1mKCgpPT57WUM9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dfSk7dmFyIEtDLE9DZT1mKCgpPT57S0M9W1sicGF0aCIse2Q6Ik0xNSAyYy0xLjM1IDEuNS0yLjA5MiAzLTIuNSA0LjVMMTQgOCJ9XSxbInBhdGgiLHtkOiJtMTcgNi0yLjg5MS0yLjg5MSJ9XSxbInBhdGgiLHtkOiJNMiAxNWMzLjMzMy0zIDYuNjY3LTMgMTAtMyJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Im0yMCA5IC44OTEuODkxIn1dLFsicGF0aCIse2Q6Ik0yMiA5Yy0xLjUgMS4zNS0zIDIuMDkyLTQuNSAyLjVsLTEtMSJ9XSxbInBhdGgiLHtkOiJNMy4xMDkgMTQuMTA5IDQgMTUifV0sWyJwYXRoIix7ZDoibTYuNSAxMi41IDEgMSJ9XSxbInBhdGgiLHtkOiJtNyAxOCAyLjg5MSAyLjg5MSJ9XSxbInBhdGgiLHtkOiJNOSAyMmMxLjM1LTEuNSAyLjA5Mi0zIDIuNS00LjVMMTAgMTYifV1dfSk7dmFyIFpDLEZDZT1mKCgpPT57WkM9W1sicGF0aCIse2Q6Im0xMCAxNiAxLjUgMS41In1dLFsicGF0aCIse2Q6Im0xNCA4LTEuNS0xLjUifV0sWyJwYXRoIix7ZDoiTTE1IDJjLTEuNzk4IDEuOTk4LTIuNTE4IDMuOTk1LTIuODA3IDUuOTkzIn1dLFsicGF0aCIse2Q6Im0xNi41IDEwLjUgMSAxIn1dLFsicGF0aCIse2Q6Im0xNyA2LTIuODkxLTIuODkxIn1dLFsicGF0aCIse2Q6Ik0yIDE1YzYuNjY3LTYgMTMuMzMzIDAgMjAtNiJ9XSxbInBhdGgiLHtkOiJtMjAgOSAuODkxLjg5MSJ9XSxbInBhdGgiLHtkOiJNMy4xMDkgMTQuMTA5IDQgMTUifV0sWyJwYXRoIix7ZDoibTYuNSAxMi41IDEgMSJ9XSxbInBhdGgiLHtkOiJtNyAxOCAyLjg5MSAyLjg5MSJ9XSxbInBhdGgiLHtkOiJNOSAyMmMxLjc5OC0xLjk5OCAyLjUxOC0zLjk5NSAyLjgwNy01Ljk5MyJ9XV19KTt2YXIgWEMsQkNlPWYoKCk9PntYQz1bWyJwYXRoIix7ZDoiTTIgOGgyMCJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDE2aDEyIn1dXX0pO3ZhciBRQyxIQ2U9ZigoKT0+e1FDPVtbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjIiLHkyOiIyMiJ9XSxbInBhdGgiLHtkOiJNMTcgNUg5LjVhMy41IDMuNSAwIDAgMCAwIDdoNWEzLjUgMy41IDAgMCAxIDAgN0g2In1dXX0pO3ZhciBKQyxxQ2U9ZigoKT0+e0pDPVtbInBhdGgiLHtkOiJNMTEuMjUgMTYuMjVoMS41TDEyIDE3eiJ9XSxbInBhdGgiLHtkOiJNMTYgMTR2LjUifV0sWyJwYXRoIix7ZDoiTTQuNDIgMTEuMjQ3QTEzLjE1MiAxMy4xNTIgMCAwIDAgNCAxNC41NTZDNCAxOC43MjggNy41ODIgMjEgMTIgMjFzOC0yLjI3MiA4LTYuNDQ0YTExLjcwMiAxMS43MDIgMCAwIDAtLjQ5My0zLjMwOSJ9XSxbInBhdGgiLHtkOiJNOCAxNHYuNSJ9XSxbInBhdGgiLHtkOiJNOC41IDguNWMtLjM4NCAxLjA1LTEuMDgzIDIuMDI4LTIuMzQ0IDIuNS0xLjkzMS43MjItMy41NzYtLjI5Ny0zLjY1Ni0xLS4xMTMtLjk5NCAxLjE3Ny02LjUzIDQtNyAxLjkyMy0uMzIxIDMuNjUxLjg0NSAzLjY1MSAyLjIzNUE3LjQ5NyA3LjQ5NyAwIDAgMSAxNCA1LjI3N2MwLTEuMzkgMS44NDQtMi41OTggMy43NjctMi4yNzcgMi44MjMuNDcgNC4xMTMgNi4wMDYgNCA3LS4wOC43MDMtMS43MjUgMS43MjItMy42NTYgMS0xLjI2MS0uNDcyLTEuODU1LTEuNDUtMi4yMzktMi41In1dXX0pO3ZhciBlXyxWQ2U9ZigoKT0+e2VfPVtbInBhdGgiLHtkOiJNMjAuNSAxMGEyLjUgMi41IDAgMCAxLTIuNC0zSDE4YTIuOTUgMi45NSAwIDAgMS0yLjYtNC40IDEwIDEwIDAgMSAwIDYuMyA3LjFjLS4zLjItLjguMy0xLjIuMyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dXX0pO3ZhciB0XyxqQ2U9ZigoKT0+e3RfPVtbInBhdGgiLHtkOiJNMTAgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOCA5VjZhMiAyIDAgMCAwLTItMkg4YTIgMiAwIDAgMC0yIDJ2MTQifV0sWyJwYXRoIix7ZDoiTTIgMjBoOCJ9XSxbInBhdGgiLHtkOiJNMjAgMTd2LTJhMiAyIDAgMSAwLTQgMHYyIn1dLFsicmVjdCIse3g6IjE0Iix5OiIxNyIsd2lkdGg6IjgiLGhlaWdodDoiNSIscng6IjEifV1dfSk7dmFyIGFfLFVDZT1mKCgpPT57YV89W1sicGF0aCIse2Q6Ik0xMCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTE4IDIwVjZhMiAyIDAgMCAwLTItMkg4YTIgMiAwIDAgMC0yIDJ2MTQifV0sWyJwYXRoIix7ZDoiTTIgMjBoMjAifV1dfSk7dmFyIHJfLFdDZT1mKCgpPT57cl89W1sicGF0aCIse2Q6Ik0xMSAyMEgyIn1dLFsicGF0aCIse2Q6Ik0xMSA0LjU2MnYxNi4xNTdhMSAxIDAgMCAwIDEuMjQyLjk3TDE5IDIwVjUuNTYyYTIgMiAwIDAgMC0xLjUxNS0xLjk0bC00LTFBMiAyIDAgMCAwIDExIDQuNTYxeiJ9XSxbInBhdGgiLHtkOiJNMTEgNEg4YTIgMiAwIDAgMC0yIDJ2MTQifV0sWyJwYXRoIix7ZDoiTTE0IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMjIgMjBoLTMifV1dfSk7dmFyIHNfLEdDZT1mKCgpPT57c189W1siY2lyY2xlIix7Y3g6IjEyLjEiLGN5OiIxMi4xIixyOiIxIn1dXX0pO3ZhciBpXyxZQ2U9ZigoKT0+e2lfPVtbInBhdGgiLHtkOiJNMTIgMTVWMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCJ9XSxbInBhdGgiLHtkOiJtNyAxMCA1IDUgNS01In1dXX0pO3ZhciBvXyxLQ2U9ZigoKT0+e29fPVtbInBhdGgiLHtkOiJtMTIuOTkgNi43NCAxLjkzIDMuNDQifV0sWyJwYXRoIix7ZDoiTTE5LjEzNiAxMmExMCAxMCAwIDAgMS0xNC4yNzEgMCJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtMi4xNi0zLjg0In1dLFsicGF0aCIse2Q6Im0zIDIxIDguMDItMTQuMjYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI1IixyOiIyIn1dXX0pO3ZhciBuXyxaQ2U9ZigoKT0+e25fPVtbInBhdGgiLHtkOiJNMTAgMThhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMS0xIDFINWEzIDMgMCAwIDEtMy0zIDEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik0xMyAxMEg0YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDlhMSAxIDAgMCAxIDEgMXY2YTEgMSAwIDAgMS0xIDFsLS44MSAzLjI0MmExIDEgMCAwIDEtLjk3Ljc1OEg4In1dLFsicGF0aCIse2Q6Ik0xNCA0aDNhMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMS0xIDFoLTMifV0sWyJwYXRoIix7ZDoiTTE4IDZoNCJ9XSxbInBhdGgiLHtkOiJtNSAxMC0yIDgifV0sWyJwYXRoIix7ZDoibTcgMTggMi04In1dXX0pO3ZhciBsXyxYQ2U9ZigoKT0+e2xfPVtbInBhdGgiLHtkOiJNMTAgMTFoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCA2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggNmguMDEifV0sWyJwYXRoIix7ZDoiTTYuNSAxMy4xaC4wMSJ9XSxbInBhdGgiLHtkOiJNMjIgNWMwIDktNCAxMi02IDEycy02LTMtNi0xMmMwLTIgMi0zIDYtM3M2IDEgNiAzIn1dLFsicGF0aCIse2Q6Ik0xNy40IDkuOWMtLjguOC0yIC44LTIuOCAwIn1dLFsicGF0aCIse2Q6Ik0xMC4xIDcuMUM5IDcuMiA3LjcgNy43IDYgOC42Yy0zLjUgMi00LjcgMy45LTMuNyA1LjYgNC41IDcuOCA5LjUgOC40IDExLjIgNy40LjktLjUgMS45LTIuMSAxLjktNC43In1dLFsicGF0aCIse2Q6Ik05LjEgMTYuNWMuMy0xLjEgMS40LTEuNyAyLjQtMS40In1dXX0pO3ZhciBjXyxRQ2U9ZigoKT0+e2NfPVtbInBhdGgiLHtkOiJNMTAgMTAgNyA3In1dLFsicGF0aCIse2Q6Im0xMCAxNC0zIDMifV0sWyJwYXRoIix7ZDoibTE0IDEwIDMtMyJ9XSxbInBhdGgiLHtkOiJtMTQgMTQgMyAzIn1dLFsicGF0aCIse2Q6Ik0xNC4yMDUgNC4xMzlhNCA0IDAgMSAxIDUuNDM5IDUuODYzIn1dLFsicGF0aCIse2Q6Ik0xOS42MzcgMTRhNCA0IDAgMSAxLTUuNDMyIDUuODY4In1dLFsicGF0aCIse2Q6Ik00LjM2NyAxMGE0IDQgMCAxIDEgNS40MzgtNS44NjIifV0sWyJwYXRoIix7ZDoiTTkuNzk1IDE5Ljg2MmE0IDQgMCAxIDEtNS40MjktNS44NzMifV0sWyJyZWN0Iix7eDoiMTAiLHk6IjgiLHdpZHRoOiI0IixoZWlnaHQ6IjgiLHJ4OiIxIn1dXX0pO3ZhciBkXyxKQ2U9ZigoKT0+e2RfPVtbInBhdGgiLHtkOiJNMTIgMjJhNyA3IDAgMCAwIDctN2MwLTItMS0zLjktMy01LjVzLTMuNS00LTQtNi41Yy0uNSAyLjUtMiA0LjktNCA2LjVDNiAxMS4xIDUgMTMgNSAxNWE3IDcgMCAwIDAgNyA3eiJ9XV19KTt2YXIgdV8sZV9lPWYoKCk9Pnt1Xz1bWyJwYXRoIix7ZDoiTTE4LjcxNSAxMy4xODZDMTguMjkgMTEuODU4IDE3LjM4NCAxMC42MDcgMTYgOS41Yy0yLTEuNi0zLjUtNC00LTYuNWExMC43IDEwLjcgMCAwIDEtLjg4NCAyLjU4NiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik04Ljc5NSA4Ljc5N0ExMSAxMSAwIDAgMSA4IDkuNUM2IDExLjEgNSAxMyA1IDE1YTcgNyAwIDAgMCAxMy4yMjIgMy4yMDgifV1dfSk7dmFyIHBfLHRfZT1mKCgpPT57cF89W1sicGF0aCIse2Q6Ik03IDE2LjNjMi4yIDAgNC0xLjgzIDQtNC4wNSAwLTEuMTYtLjU3LTIuMjYtMS43MS0zLjE5UzcuMjkgNi43NSA3IDUuM2MtLjI5IDEuNDUtMS4xNCAyLjg0LTIuMjkgMy43NlMzIDExLjEgMyAxMi4yNWMwIDIuMjIgMS44IDQuMDUgNCA0LjA1eiJ9XSxbInBhdGgiLHtkOiJNMTIuNTYgNi42QTEwLjk3IDEwLjk3IDAgMCAwIDE0IDMuMDJjLjUgMi41IDIgNC45IDQgNi41czMgMy41IDMgNS41YTYuOTggNi45OCAwIDAgMS0xMS45MSA0Ljk3In1dXX0pO3ZhciBmXyxhX2U9ZigoKT0+e2ZfPVtbInBhdGgiLHtkOiJtMiAyIDggOCJ9XSxbInBhdGgiLHtkOiJtMjIgMi04IDgifV0sWyJlbGxpcHNlIix7Y3g6IjEyIixjeToiOSIscng6IjEwIixyeToiNSJ9XSxbInBhdGgiLHtkOiJNNyAxMy40djcuOSJ9XSxbInBhdGgiLHtkOiJNMTIgMTR2OCJ9XSxbInBhdGgiLHtkOiJNMTcgMTMuNHY3LjkifV0sWyJwYXRoIix7ZDoiTTIgOXY4YTEwIDUgMCAwIDAgMjAgMFY5In1dXX0pO3ZhciBoXyxyX2U9ZigoKT0+e2hfPVtbInBhdGgiLHtkOiJNMTUuNCAxNS42M2E3Ljg3NSA2IDEzNSAxIDEgNi4yMy02LjIzIDQuNSAzLjQzIDEzNSAwIDAtNi4yMyA2LjIzIn1dLFsicGF0aCIse2Q6Im04LjI5IDEyLjcxLTIuNiAyLjZhMi41IDIuNSAwIDEgMC0xLjY1IDQuNjVBMi41IDIuNSAwIDEgMCA4LjcgMTguM2wyLjU5LTIuNTkifV1dfSk7dmFyIG1fLHNfZT1mKCgpPT57bV89W1sicGF0aCIse2Q6Ik0xNy41OTYgMTIuNzY4YTIgMiAwIDEgMCAyLjgyOS0yLjgyOWwtMS43NjgtMS43NjdhMiAyIDAgMCAwIDIuODI4LTIuODI5bC0yLjgyOC0yLjgyOGEyIDIgMCAwIDAtMi44MjkgMi44MjhsLTEuNzY3LTEuNzY4YTIgMiAwIDEgMC0yLjgyOSAyLjgyOXoifV0sWyJwYXRoIix7ZDoibTIuNSAyMS41IDEuNC0xLjQifV0sWyJwYXRoIix7ZDoibTIwLjEgMy45IDEuNC0xLjQifV0sWyJwYXRoIix7ZDoiTTUuMzQzIDIxLjQ4NWEyIDIgMCAxIDAgMi44MjktMi44MjhsMS43NjcgMS43NjhhMiAyIDAgMSAwIDIuODI5LTIuODI5bC02LjM2NC02LjM2NGEyIDIgMCAxIDAtMi44MjkgMi44MjlsMS43NjggMS43NjdhMiAyIDAgMCAwLTIuODI4IDIuODI5eiJ9XSxbInBhdGgiLHtkOiJtOS42IDE0LjQgNC44LTQuOCJ9XV19KTt2YXIgZ18saV9lPWYoKCk9PntnXz1bWyJwYXRoIix7ZDoiTTYgMTguNWEzLjUgMy41IDAgMSAwIDcgMGMwLTEuNTcuOTItMi41MiAyLjA0LTMuNDYifV0sWyJwYXRoIix7ZDoiTTYgOC41YzAtLjc1LjEzLTEuNDcuMzYtMi4xNCJ9XSxbInBhdGgiLHtkOiJNOC44IDMuMTVBNi41IDYuNSAwIDAgMSAxOSA4LjVjMCAxLjYzLS40NCAyLjgxLTEuMDkgMy43NiJ9XSxbInBhdGgiLHtkOiJNMTIuNSA2QTIuNSAyLjUgMCAwIDEgMTUgOC41TTEwIDEzYTIgMiAwIDAgMCAxLjgyLTEuMTgifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIgYl8sb19lPWYoKCk9PntiXz1bWyJwYXRoIix7ZDoiTTYgOC41YTYuNSA2LjUgMCAxIDEgMTMgMGMwIDYtNiA2LTYgMTBhMy41IDMuNSAwIDEgMS03IDAifV0sWyJwYXRoIix7ZDoiTTE1IDguNWEyLjUgMi41IDAgMCAwLTUgMHYxYTIgMiAwIDEgMSAwIDQifV1dfSk7dmFyIHZfLG5fZT1mKCgpPT57dl89W1sicGF0aCIse2Q6Ik03IDMuMzRWNWEzIDMgMCAwIDAgMyAzIn1dLFsicGF0aCIse2Q6Ik0xMSAyMS45NVYxOGEyIDIgMCAwIDAtMi0yIDIgMiAwIDAgMS0yLTJ2LTFhMiAyIDAgMCAwLTItMkgyLjA1In1dLFsicGF0aCIse2Q6Ik0yMS41NCAxNUgxN2EyIDIgMCAwIDAtMiAydjQuNTQifV0sWyJwYXRoIix7ZDoiTTEyIDJhMTAgMTAgMCAxIDAgOS41NCAxMyJ9XSxbInBhdGgiLHtkOiJNMjAgNlY0YTIgMiAwIDEgMC00IDB2MiJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI1Iix4OiIxNCIseToiNiIscng6IjEifV1dfSk7dmFyICQ2LGxfZT1mKCgpPT57JDY9W1sicGF0aCIse2Q6Ik0yMS41NCAxNUgxN2EyIDIgMCAwIDAtMiAydjQuNTQifV0sWyJwYXRoIix7ZDoiTTcgMy4zNFY1YTMgMyAwIDAgMCAzIDNhMiAyIDAgMCAxIDIgMmMwIDEuMS45IDIgMiAyYTIgMiAwIDAgMCAyLTJjMC0xLjEuOS0yIDItMmgzLjE3In1dLFsicGF0aCIse2Q6Ik0xMSAyMS45NVYxOGEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMS0yLTJ2LTFhMiAyIDAgMCAwLTItMkgyLjA1In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXX0pO3ZhciB4XyxjX2U9ZigoKT0+e3hfPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMmE3IDcgMCAxIDAgMTAgMTAifV1dfSk7dmFyIHlfLGRfZT1mKCgpPT57eV89W1siY2lyY2xlIix7Y3g6IjExLjUiLGN5OiIxMi41IixyOiIzLjUifV0sWyJwYXRoIix7ZDoiTTMgOGMwLTMuNSAyLjUtNiA2LjUtNiA1IDAgNC44MyAzIDcuNSA1czUgMiA1IDZjMCA0LjUtMi41IDYuNS03IDYuNS0yLjUgMC0yLjUgMi41LTYgMi41cy03LTItNy01LjVjMC0zIDEuNS0zIDEuNS01QzMuNSAxMCAzIDkgMyA4WiJ9XV19KTt2YXIgd18sdV9lPWYoKCk9Pnt3Xz1bWyJwYXRoIix7ZDoiTTEyIDJDOCAyIDQgOCA0IDE0YTggOCAwIDAgMCAxNiAwYzAtNi00LTEyLTgtMTIifV1dfSk7dmFyIE1fLHBfZT1mKCgpPT57TV89W1sicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIwIDE0LjM0N1YxNGMwLTYtNC0xMi04LTEyLTEuMDc4IDAtMi4xNTcuNDM2LTMuMTU3IDEuMTkifV0sWyJwYXRoIix7ZDoiTTYuMjA2IDYuMjFDNC44NzEgOC40IDQgMTEuMiA0IDE0YTggOCAwIDAgMCAxNC41NjggNC41NjgifV1dfSk7dmFyIGtfLGZfZT1mKCgpPT57a189W1siZWxsaXBzZSIse2N4OiIxMiIsY3k6IjEyIixyeDoiMTAiLHJ5OiI2In1dXX0pO3ZhciBENixoX2U9ZigoKT0+e0Q2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE5IixyOiIxIn1dXX0pO3ZhciBTXyxtX2U9ZigoKT0+e1NfPVtbInBhdGgiLHtkOiJNNSAxNWE2LjUgNi41IDAgMCAxIDcgMCA2LjUgNi41IDAgMCAwIDcgMCJ9XSxbInBhdGgiLHtkOiJNNSA5YTYuNSA2LjUgMCAwIDEgNyAwIDYuNSA2LjUgMCAwIDAgNyAwIn1dXX0pO3ZhciBBNixnX2U9ZigoKT0+e0E2PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTIiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjEyIixyOiIxIn1dXX0pO3ZhciB6XyxiX2U9ZigoKT0+e3pfPVtbImxpbmUiLHt4MToiNSIseDI6IjE5Iix5MToiOSIseTI6IjkifV0sWyJsaW5lIix7eDE6IjUiLHgyOiIxOSIseTE6IjE1Iix5MjoiMTUifV0sWyJsaW5lIix7eDE6IjE5Iix4MjoiNSIseTE6IjUiLHkyOiIxOSJ9XV19KTt2YXIgQ18sdl9lPWYoKCk9PntDXz1bWyJsaW5lIix7eDE6IjUiLHgyOiIxOSIseTE6IjkiLHkyOiI5In1dLFsibGluZSIse3gxOiI1Iix4MjoiMTkiLHkxOiIxNSIseTI6IjE1In1dXX0pO3ZhciBfXyx4X2U9ZigoKT0+e19fPVtbInBhdGgiLHtkOiJNMjEgMjFIOGEyIDIgMCAwIDEtMS40Mi0uNTg3bC0zLjk5NC0zLjk5OWEyIDIgMCAwIDEgMC0yLjgyOGwxMC0xMGEyIDIgMCAwIDEgMi44MjkgMGw1Ljk5OSA2YTIgMiAwIDAgMSAwIDIuODI4TDEyLjgzNCAyMSJ9XSxbInBhdGgiLHtkOiJtNS4wODIgMTEuMDkgOC44MjggOC44MjgifV1dfSk7dmFyIFRfLHlfZT1mKCgpPT57VF89W1sicGF0aCIse2Q6Im0xNSAyMCAzLTNoMmEyIDIgMCAwIDAgMi0yVjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2OWEyIDIgMCAwIDAgMiAyaDJsMyAzeiJ9XSxbInBhdGgiLHtkOiJNNiA4djEifV0sWyJwYXRoIix7ZDoiTTEwIDh2MSJ9XSxbInBhdGgiLHtkOiJNMTQgOHYxIn1dLFsicGF0aCIse2Q6Ik0xOCA4djEifV1dfSk7dmFyIExfLHdfZT1mKCgpPT57TF89W1sicGF0aCIse2Q6Ik00IDEwaDEyIn1dLFsicGF0aCIse2Q6Ik00IDE0aDkifV0sWyJwYXRoIix7ZDoiTTE5IDZhNy43IDcuNyAwIDAgMC01LjItMkE3LjkgNy45IDAgMCAwIDYgMTJjMCA0LjQgMy41IDggNy44IDggMiAwIDMuOC0uOCA1LjItMiJ9XV19KTt2YXIgJF8sTV9lPWYoKCk9PnskXz1bWyJwYXRoIix7ZDoiTTE0IDEzaDJhMiAyIDAgMCAxIDIgMnYyYTIgMiAwIDAgMCA0IDB2LTYuOTk4YTIgMiAwIDAgMC0uNTktMS40MkwxOCA1In1dLFsicGF0aCIse2Q6Ik0xNCAyMVY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE2In1dLFsicGF0aCIse2Q6Ik0yIDIxaDEzIn1dLFsicGF0aCIse2Q6Ik0zIDdoMTEifV0sWyJwYXRoIix7ZDoibTkgMTEtMiAzaDNsLTIgMyJ9XV19KTt2YXIgRF8sa19lPWYoKCk9PntEXz1bWyJwYXRoIix7ZDoibTE1IDE1IDYgNiJ9XSxbInBhdGgiLHtkOiJtMTUgOSA2LTYifV0sWyJwYXRoIix7ZDoiTTIxIDE2djVoLTUifV0sWyJwYXRoIix7ZDoiTTIxIDhWM2gtNSJ9XSxbInBhdGgiLHtkOiJNMyAxNnY1aDUifV0sWyJwYXRoIix7ZDoibTMgMjEgNi02In1dLFsicGF0aCIse2Q6Ik0zIDhWM2g1In1dLFsicGF0aCIse2Q6Ik05IDkgMyAzIn1dXX0pO3ZhciBBXyxTX2U9ZigoKT0+e0FfPVtbInBhdGgiLHtkOiJNMTUgM2g2djYifV0sWyJwYXRoIix7ZDoiTTEwIDE0IDIxIDMifV0sWyJwYXRoIix7ZDoiTTE4IDEzdjZhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDYifV1dfSk7dmFyIEVfLHpfZT1mKCgpPT57RV89W1sicGF0aCIse2Q6Im0xNSAxOC0uNzIyLTMuMjUifV0sWyJwYXRoIix7ZDoiTTIgOGExMC42NDUgMTAuNjQ1IDAgMCAwIDIwIDAifV0sWyJwYXRoIix7ZDoibTIwIDE1LTEuNzI2LTIuMDUifV0sWyJwYXRoIix7ZDoibTQgMTUgMS43MjYtMi4wNSJ9XSxbInBhdGgiLHtkOiJtOSAxOCAuNzIyLTMuMjUifV1dfSk7dmFyIFBfLENfZT1mKCgpPT57UF89W1sicGF0aCIse2Q6Ik0xMC43MzMgNS4wNzZhMTAuNzQ0IDEwLjc0NCAwIDAgMSAxMS4yMDUgNi41NzUgMSAxIDAgMCAxIDAgLjY5NiAxMC43NDcgMTAuNzQ3IDAgMCAxLTEuNDQ0IDIuNDkifV0sWyJwYXRoIix7ZDoiTTE0LjA4NCAxNC4xNThhMyAzIDAgMCAxLTQuMjQyLTQuMjQyIn1dLFsicGF0aCIse2Q6Ik0xNy40NzkgMTcuNDk5YTEwLjc1IDEwLjc1IDAgMCAxLTE1LjQxNy01LjE1MSAxIDEgMCAwIDEgMC0uNjk2IDEwLjc1IDEwLjc1IDAgMCAxIDQuNDQ2LTUuMTQzIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIElfLF9fZT1mKCgpPT57SV89W1sicGF0aCIse2Q6Ik0yLjA2MiAxMi4zNDhhMSAxIDAgMCAxIDAtLjY5NiAxMC43NSAxMC43NSAwIDAgMSAxOS44NzYgMCAxIDEgMCAwIDEgMCAuNjk2IDEwLjc1IDEwLjc1IDAgMCAxLTE5Ljg3NiAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV1dfSk7dmFyIE5fLFRfZT1mKCgpPT57Tl89W1sicGF0aCIse2Q6Ik0xMiAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMyAxOWEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJWOC41YS41LjUgMCAwIDAtLjc2OS0uNDIybC00LjQ2MiAyLjg0NEEuNS41IDAgMCAxIDE1IDEwLjV2LTJhLjUuNSAwIDAgMC0uNzY5LS40MjJMOS43NyAxMC45MjJBLjUuNSAwIDAgMSA5IDEwLjVWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnoifV0sWyJwYXRoIix7ZDoiTTggMTZoLjAxIn1dXX0pO3ZhciBSXyxMX2U9ZigoKT0+e1JfPVtbInBhdGgiLHtkOiJNMTAuODI3IDE2LjM3OWE2LjA4MiA2LjA4MiAwIDAgMS04LjYxOC03LjAwMmw1LjQxMiAxLjQ1YTYuMDgyIDYuMDgyIDAgMCAxIDcuMDAyLTguNjE4bC0xLjQ1IDUuNDEyYTYuMDgyIDYuMDgyIDAgMCAxIDguNjE4IDcuMDAybC01LjQxMi0xLjQ1YTYuMDgyIDYuMDgyIDAgMCAxLTcuMDAyIDguNjE4bDEuNDUtNS40MTJaIn1dLFsicGF0aCIse2Q6Ik0xMiAxMnYuMDEifV1dfSk7dmFyIE9fLCRfZT1mKCgpPT57T189W1sicGF0aCIse2Q6Ik0xMiA2YTIgMiAwIDAgMSAzLjQxNC0xLjQxNGw2IDZhMiAyIDAgMCAxIDAgMi44MjhsLTYgNkEyIDIgMCAwIDEgMTIgMTh6In1dLFsicGF0aCIse2Q6Ik0yIDZhMiAyIDAgMCAxIDMuNDE0LTEuNDE0bDYgNmEyIDIgMCAwIDEgMCAyLjgyOGwtNiA2QTIgMiAwIDAgMSAyIDE4eiJ9XV19KTt2YXIgRl8sRF9lPWYoKCk9PntGXz1bWyJwYXRoIix7ZDoiTTEyLjY3IDE5YTIgMiAwIDAgMCAxLjQxNi0uNTg4bDYuMTU0LTYuMTcyYTYgNiAwIDAgMC04LjQ5LTguNDlMNS41ODYgOS45MTRBMiAyIDAgMCAwIDUgMTEuMzI4VjE4YTEgMSAwIDAgMCAxIDF6In1dLFsicGF0aCIse2Q6Ik0xNiA4IDIgMjIifV0sWyJwYXRoIix7ZDoiTTE3LjUgMTVIOSJ9XV19KTt2YXIgQl8sQV9lPWYoKCk9PntCXz1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMnY0In1dLFsicGF0aCIse2Q6Im02LjggMTUtMy41IDIifV0sWyJwYXRoIix7ZDoibTIwLjcgNy0zLjUgMiJ9XSxbInBhdGgiLHtkOiJNNi44IDkgMy4zIDcifV0sWyJwYXRoIix7ZDoibTIwLjcgMTctMy41LTIifV0sWyJwYXRoIix7ZDoibTkgMjIgMy04IDMgOCJ9XSxbInBhdGgiLHtkOiJNOCAyMmg4In1dLFsicGF0aCIse2Q6Ik0xOCAxOC43YTkgOSAwIDEgMC0xMiAwIn1dXX0pO3ZhciBIXyxFX2U9ZigoKT0+e0hfPVtbInBhdGgiLHtkOiJNNCAzIDIgNXYxNWMwIC42LjQgMSAxIDFoMmMuNiAwIDEtLjQgMS0xVjVaIn1dLFsicGF0aCIse2Q6Ik02IDhoNCJ9XSxbInBhdGgiLHtkOiJNNiAxOGg0In1dLFsicGF0aCIse2Q6Im0xMiAzLTIgMnYxNWMwIC42LjQgMSAxIDFoMmMuNiAwIDEtLjQgMS0xVjVaIn1dLFsicGF0aCIse2Q6Ik0xNCA4aDQifV0sWyJwYXRoIix7ZDoiTTE0IDE4aDQifV0sWyJwYXRoIix7ZDoibTIwIDMtMiAydjE1YzAgLjYuNCAxIDEgMWgyYy42IDAgMS0uNCAxLTFWNVoifV1dfSk7dmFyIHFfLFBfZT1mKCgpPT57cV89W1sicGF0aCIse2Q6Ik0xMy42NTkgMjJIMThhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnYxMS41In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik04IDEydi0xIn1dLFsicGF0aCIse2Q6Ik04IDE4di0yIn1dLFsicGF0aCIse2Q6Ik04IDdWNiJ9XSxbImNpcmNsZSIse2N4OiI4IixjeToiMjAiLHI6IjIifV1dfSk7dmFyIEU2LElfZT1mKCgpPT57RTY9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im04IDE4IDQtNCJ9XSxbInBhdGgiLHtkOiJNOCAxMHY4aDgifV1dfSk7dmFyIFA2LE5fZT1mKCgpPT57UDY9W1sicGF0aCIse2Q6Ik0xMyAyMmg1YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2My4zIn1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im03LjY5IDE2LjQ3OSAxLjI5IDQuODhhLjUuNSAwIDAgMS0uNjk4LjU5MWwtMS44NDMtLjg0OWExIDEgMCAwIDAtLjg3OS4wMDFsLTEuODQ2Ljg1YS41LjUgMCAwIDEtLjY5Mi0uNTkzbDEuMjktNC44OCJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMTQiLHI6IjMifV1dfSk7dmFyIFZfLFJfZT1mKCgpPT57Vl89W1sicGF0aCIse2Q6Ik0xNC41IDIySDE4YTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2My44In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMS43IDE0LjIgNyAxN2wtNC43LTIuOCJ9XSxbInBhdGgiLHtkOiJNMyAxMy4xYTIgMiAwIDAgMC0uOTk5IDEuNzZ2My4yNGEyIDIgMCAwIDAgLjk2OSAxLjc4TDYgMjEuN2EyIDIgMCAwIDAgMi4wMy4wMUwxMSAxOS45YTIgMiAwIDAgMCAxLTEuNzZWMTQuOWEyIDIgMCAwIDAtLjk3LTEuNzhMOCAxMS4zYTIgMiAwIDAgMC0yLjAzLS4wMXoifV0sWyJwYXRoIix7ZDoiTTcgMTd2NSJ9XV19KTt2YXIgSTYsT19lPWYoKCk9PntJNj1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTEwIDEyYTEgMSAwIDAgMC0xIDF2MWExIDEgMCAwIDEtMSAxIDEgMSAwIDAgMSAxIDF2MWExIDEgMCAwIDAgMSAxIn1dLFsicGF0aCIse2Q6Ik0xNCAxOGExIDEgMCAwIDAgMS0xdi0xYTEgMSAwIDAgMSAxLTEgMSAxIDAgMCAxLTEtMXYtMWExIDEgMCAwIDAtMS0xIn1dXX0pO3ZhciBONixGX2U9ZigoKT0+e042PVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAxOHYtMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTh2LTQifV0sWyJwYXRoIix7ZDoiTTE2IDE4di02In1dXX0pO3ZhciBSNixCX2U9ZigoKT0+e1I2PVtbInBhdGgiLHtkOiJNMTQgMjJoNGEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjYifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTUgMTRhMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMS0xIDEgMSAxIDAgMCAxIDEgMXYyYTEgMSAwIDAgMCAxIDEifV0sWyJwYXRoIix7ZDoiTTkgMjJhMSAxIDAgMCAwIDEtMXYtMmExIDEgMCAwIDEgMS0xIDEgMSAwIDAgMS0xLTF2LTJhMSAxIDAgMCAwLTEtMSJ9XV19KTt2YXIgTzYsSF9lPWYoKCk9PntPNj1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTggMTh2LTEifV0sWyJwYXRoIix7ZDoiTTEyIDE4di02In1dLFsicGF0aCIse2Q6Ik0xNiAxOHYtMyJ9XV19KTt2YXIgRjYscV9lPWYoKCk9PntGNj1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTE2IDEzLTMuNSAzLjUtMi0yTDggMTcifV1dfSk7dmFyIEI2LFZfZT1mKCgpPT57QjY9W1sicGF0aCIse2Q6Ik0xNS45NDEgMjJIMThhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNGwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnYzLjUxMiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNNC4wMTcgMTEuNTEyYTYgNiAwIDEgMCA4LjQ2NiA4LjQ3NSJ9XSxbInBhdGgiLHtkOiJNOSAxNmExIDEgMCAwIDEtMS0xdi00YzAtLjU1Mi40NS0xLjAwOC45OTUtLjkxN2E2IDYgMCAwIDEgNC45MjIgNC45MjJjLjA5MS41NDQtLjM2NS45OTUtLjkxNy45OTV6In1dXX0pO3ZhciBINixqX2U9ZigoKT0+e0g2PVtbInBhdGgiLHtkOiJNMTAuNSAyMkg2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djYifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTE0IDIwIDIgMiA0LTQifV1dfSk7dmFyIGpfLFVfZT1mKCgpPT57al89W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im05IDE1IDIgMiA0LTQifV1dfSk7dmFyIFVfLFdfZT1mKCgpPT57VV89W1sicGF0aCIse2Q6Ik0xNiAyMmgyYTIgMiAwIDAgMCAyLTJWOGEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTQgMkg2YTIgMiAwIDAgMC0yIDJ2Mi44NSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAxNHYyLjJsMS42IDEifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjE2IixyOiI2In1dXX0pO3ZhciBxNixHX2U9ZigoKT0+e3E2PVtbInBhdGgiLHtkOiJNNCAxMi4xNVY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMmgtMy4zNSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtNSAxNi0zIDMgMyAzIn1dLFsicGF0aCIse2Q6Im05IDIyIDMtMy0zLTMifV1dfSk7dmFyIFdfLFlfZT1mKCgpPT57V189W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMCAxMi41IDggMTVsMiAyLjUifV0sWyJwYXRoIix7ZDoibTE0IDEyLjUgMiAyLjUtMiAyLjUifV1dfSk7dmFyIFY2LEtfZT1mKCgpPT57VjY9W1sicGF0aCIse2Q6Ik0xNSA4YTEgMSAwIDAgMS0xLTFWMmEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh6In1dLFsicGF0aCIse2Q6Ik0yMCA4djEyYTIgMiAwIDAgMS0yIDJoLTQuMTgyIn1dLFsicGF0aCIse2Q6Im0zLjMwNSAxOS41My45MjMtLjM4MiJ9XSxbInBhdGgiLHtkOiJNNCAxMC41OTJWNGEyIDIgMCAwIDEgMi0yaDgifV0sWyJwYXRoIix7ZDoibTQuMjI4IDE2Ljg1Mi0uOTI0LS4zODMifV0sWyJwYXRoIix7ZDoibTUuODUyIDE1LjIyOC0uMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTUuODUyIDIwLjc3Mi0uMzgzLjkyNCJ9XSxbInBhdGgiLHtkOiJtOC4xNDggMTUuMjI4LjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im04LjUzIDIxLjY5Ni0uMzgyLS45MjQifV0sWyJwYXRoIix7ZDoibTkuNzczIDE2Ljg1Mi45MjItLjM4MyJ9XSxbInBhdGgiLHtkOiJtOS43NzMgMTkuMTQ4LjkyMi4zODMifV0sWyJjaXJjbGUiLHtjeDoiNyIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBHXyxaX2U9ZigoKT0+e0dfPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNOSAxMGg2In1dLFsicGF0aCIse2Q6Ik0xMiAxM1Y3In1dLFsicGF0aCIse2Q6Ik05IDE3aDYifV1dfSk7dmFyIFlfLFhfZT1mKCgpPT57WV89W1sicGF0aCIse2Q6Ik00IDEyVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMCAxNmgydjYifV0sWyJwYXRoIix7ZDoiTTEwIDIyaDQifV0sWyJyZWN0Iix7eDoiMiIseToiMTYiLHdpZHRoOiI0IixoZWlnaHQ6IjYiLHJ4OiIyIn1dXX0pO3ZhciBLXyxRX2U9ZigoKT0+e0tfPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTIgMTh2LTYifV0sWyJwYXRoIix7ZDoibTkgMTUgMyAzIDMtMyJ9XV19KTt2YXIgajYsSl9lPWYoKCk9PntqNj1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTEyIDl2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMTdoLjAxIn1dXX0pO3ZhciBzYyxlVGU9ZigoKT0+e3NjPVtbInBhdGgiLHtkOiJNNCA2LjgzNVY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMmgtLjM0MyJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMiAxOWEyIDIgMCAwIDEgNCAwdjFhMiAyIDAgMCAxLTQgMHYtNGE2IDYgMCAwIDEgMTIgMHY0YTIgMiAwIDAgMS00IDB2LTFhMiAyIDAgMCAxIDQgMCJ9XV19KTt2YXIgWl8sdFRlPWYoKCk9PntaXz1bWyJwYXRoIix7ZDoiTTEzIDIyaDVhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnY3In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0zLjYyIDE4LjhBMi4yNSAyLjI1IDAgMSAxIDcgMTUuODM2YTIuMjUgMi4yNSAwIDEgMSAzLjM4IDIuOTY2bC0yLjYyNiAyLjg1NmExIDEgMCAwIDEtMS41MDcgMHoifV1dfSk7dmFyIFhfLGFUZT1mKCgpPT57WF89W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiMTIiLHI6IjIifV0sWyJwYXRoIix7ZDoibTIwIDE3LTEuMjk2LTEuMjk2YTIuNDEgMi40MSAwIDAgMC0zLjQwOCAwTDkgMjIifV1dfSk7dmFyIFFfLHJUZT1mKCgpPT57UV89W1sicGF0aCIse2Q6Ik00IDExVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnYtMSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMiAxNWgxMCJ9XSxbInBhdGgiLHtkOiJtOSAxOCAzLTMtMy0zIn1dXX0pO3ZhciBVNixzVGU9ZigoKT0+e1U2PVtbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNNCAxMnY2In1dLFsicGF0aCIse2Q6Ik00IDE0aDIifV0sWyJwYXRoIix7ZDoiTTkuNjUgMjJIMThhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnY0In1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiIyMCIscjoiMiJ9XV19KTt2YXIgVzYsaVRlPWYoKCk9PntXNj1bWyJwYXRoIix7ZDoiTTQgOS44VjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyaC0zIn1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik05IDE3di0yYTIgMiAwIDAgMC00IDB2MiJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiI1Iix4OiIzIix5OiIxNyIscng6IjEifV1dfSk7dmFyIEc2LG9UZT1mKCgpPT57RzY9W1sicGF0aCIse2Q6Ik0yMCAxNFY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyIn1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xNCAxOGg2In1dXX0pO3ZhciBKXyxuVGU9ZigoKT0+e0pfPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOSAxNWg2In1dXX0pO3ZhciBlVCxsVGU9ZigoKT0+e2VUPVtbInBhdGgiLHtkOiJNMTEuNjUgMjJIMThhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnYxMC4zNSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAyMHYtN2wzIDEuNDc0In1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiIyMCIscjoiMiJ9XV19KTt2YXIgdFQsY1RlPWYoKCk9Pnt0VD1bWyJwYXRoIix7ZDoiTTQuMjI2IDIwLjkyNUEyIDIgMCAwIDAgNiAyMmgxMmEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjMuMTI3In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im01IDExLTMgMyJ9XSxbInBhdGgiLHtkOiJtNSAxNy0zLTNoMTAifV1dfSk7dmFyIFk2LGRUZT1mKCgpPT57WTY9W1sicGF0aCIse2Q6Ik0xNC4zNjQgMTMuNjM0YTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2bDQuMDEzLTQuMDA5YTEgMSAwIDAgMC0zLjAwNC0zLjAwNHoifV0sWyJwYXRoIix7ZDoiTTE0LjQ4NyA3Ljg1OEExIDEgMCAwIDEgMTQgN1YyIn1dLFsicGF0aCIse2Q6Ik0yMCAxOS42NDVWMjBhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMi41MTYgMi41MTYifV0sWyJwYXRoIix7ZDoiTTggMThoMSJ9XV19KTt2YXIgSzYsdVRlPWYoKCk9PntLNj1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTE1LjAzMyAxMy40NGEuNjQ3LjY0NyAwIDAgMSAwIDEuMTJsLTQuMDY1IDIuMzUyYS42NDUuNjQ1IDAgMCAxLS45NjgtLjU2di00LjcwNGEuNjQ1LjY0NSAwIDAgMSAuOTY3LS41NnoifV1dfSk7dmFyIFo2LHBUZT1mKCgpPT57WjY9W1sicGF0aCIse2Q6Ik0xMi42NTkgMjJIMThhMiAyIDAgMCAwIDItMlY4YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNmwtMy41ODgtMy41ODhBMi40IDIuNCAwIDAgMCAxNCAySDZhMiAyIDAgMCAwLTIgMnY5LjM0In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMC4zNzggMTIuNjIyYTEgMSAwIDAgMSAzIDMuMDAzTDguMzYgMjAuNjM3YTIgMiAwIDAgMS0uODU0LjUwNmwtMi44NjcuODM3YS41LjUgMCAwIDEtLjYyLS42MmwuODM2LTIuODY5YTIgMiAwIDAgMSAuNTA2LS44NTN6In1dXX0pO3ZhciBYNixmVGU9ZigoKT0+e1g2PVtbInBhdGgiLHtkOiJNMTEuMzUgMjJINmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHY1LjM1In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xNCAxOWg2In1dLFsicGF0aCIse2Q6Ik0xNyAxNnY2In1dXX0pO3ZhciBhVCxoVGU9ZigoKT0+e2FUPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOSAxNWg2In1dLFsicGF0aCIse2Q6Ik0xMiAxOHYtNiJ9XV19KTt2YXIgUTYsbVRlPWYoKCk9PntRNj1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSJ9XSxbInBhdGgiLHtkOiJNOS4xIDlhMyAzIDAgMCAxIDUuODIgMWMwIDItMyAzLTMgMyJ9XV19KTt2YXIgclQsZ1RlPWYoKCk9PntyVD1bWyJwYXRoIix7ZDoiTTIwIDEwVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA0bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoNC4zNSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTYgMTRhMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTYgMjJhMiAyIDAgMCAxLTItMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTRhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMjAgMjJhMiAyIDAgMCAwIDItMiJ9XV19KTt2YXIgSjYsYlRlPWYoKCk9PntKNj1bWyJwYXRoIix7ZDoiTTExLjEgMjJINmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg5IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYzLjI1In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Im0yMSAyMi0yLjg4LTIuODgifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNyIscjoiMyJ9XV19KTt2YXIgc1QsdlRlPWYoKCk9PntzVD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJjaXJjbGUiLHtjeDoiMTEuNSIsY3k6IjE0LjUiLHI6IjIuNSJ9XSxbInBhdGgiLHtkOiJNMTMuMyAxNi4zIDE1IDE4In1dXX0pO3ZhciBldSx4VGU9ZigoKT0+e2V1PVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAxNWguMDEifV0sWyJwYXRoIix7ZDoiTTExLjUgMTMuNWEyLjUgMi41IDAgMCAxIDAgMyJ9XSxbInBhdGgiLHtkOiJNMTUgMTJhNSA1IDAgMCAxIDAgNiJ9XV19KTt2YXIgaVQseVRlPWYoKCk9PntpVD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XSxbInBhdGgiLHtkOiJNMTAgMTF2MiJ9XSxbInBhdGgiLHtkOiJNOCAxN2g4In1dLFsicGF0aCIse2Q6Ik0xNCAxNnYyIn1dXX0pO3ZhciBvVCx3VGU9ZigoKT0+e29UPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAxM2gyIn1dLFsicGF0aCIse2Q6Ik0xNCAxM2gyIn1dLFsicGF0aCIse2Q6Ik04IDE3aDIifV0sWyJwYXRoIix7ZDoiTTE0IDE3aDIifV1dfSk7dmFyIG5ULE1UZT1mKCgpPT57blQ9W1sicGF0aCIse2Q6Ik00IDExVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDYuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTItMnYtM2EyIDIgMCAwIDEgMi0yaDcifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTEwIDE4IDMtMy0zLTMifV1dfSk7dmFyIGxULGtUZT1mKCgpPT57bFQ9W1sicGF0aCIse2Q6Ik0xMSAyMWExIDEgMCAwIDEtMSAxSDRhMSAxIDAgMCAxLTEtMXYtOGExIDEgMCAwIDEgMS0xIn1dLFsicGF0aCIse2Q6Ik0xNiAxNmExIDEgMCAwIDEtMSAxSDlhMSAxIDAgMCAxLTEtMVY4YTEgMSAwIDAgMSAxLTEifV0sWyJwYXRoIix7ZDoiTTIxIDZhMiAyIDAgMCAwLS41ODYtMS40MTRsLTItMkEyIDIgMCAwIDAgMTcgMmgtM2ExIDEgMCAwIDAtMSAxdjhhMSAxIDAgMCAwIDEgMWg2YTEgMSAwIDAgMCAxLTF6In1dXX0pO3ZhciBjVCxTVGU9ZigoKT0+e2NUPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtOCAxNiAyLTItMi0yIn1dLFsicGF0aCIse2Q6Ik0xMiAxOGg0In1dXX0pO3ZhciBkVCx6VGU9ZigoKT0+e2RUPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTAgOUg4In1dLFsicGF0aCIse2Q6Ik0xNiAxM0g4In1dLFsicGF0aCIse2Q6Ik0xNiAxN0g4In1dXX0pO3ZhciB0dSxDVGU9ZigoKT0+e3R1PVtbInBhdGgiLHtkOiJNMTIgMjJoNmEyIDIgMCAwIDAgMi0yVjhhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE0IDJINmEyIDIgMCAwIDAtMiAydjYifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTMgMTZ2LTEuNWEuNS41IDAgMCAxIC41LS41aDdhLjUuNSAwIDAgMSAuNS41VjE2In1dLFsicGF0aCIse2Q6Ik02IDIyaDIifV0sWyJwYXRoIix7ZDoiTTcgMTR2OCJ9XV19KTt2YXIgdVQsX1RlPWYoKCk9Pnt1VD1bWyJwYXRoIix7ZDoiTTYgMjJhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA0LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMnoifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTExIDE4aDIifV0sWyJwYXRoIix7ZDoiTTEyIDEydjYifV0sWyJwYXRoIix7ZDoiTTkgMTN2LS41YS41LjUgMCAwIDEgLjUtLjVoNWEuNS41IDAgMCAxIC41LjV2LjUifV1dfSk7dmFyIHBULFRUZT1mKCgpPT57cFQ9W1sicGF0aCIse2Q6Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6In1dLFsicGF0aCIse2Q6Ik0xNCAydjVhMSAxIDAgMCAwIDEgMWg1In1dLFsicGF0aCIse2Q6Ik0xMiAxMnY2In1dLFsicGF0aCIse2Q6Im0xNSAxNS0zLTMtMyAzIn1dXX0pO3ZhciBmVCxMVGU9ZigoKT0+e2ZUPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTYgMjJhNCA0IDAgMCAwLTggMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjE1IixyOiIzIn1dXX0pO3ZhciBoVCwkVGU9ZigoKT0+e2hUPVtbInBhdGgiLHtkOiJNNCAxMS41NVY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMmgtMS45NSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTIgMTVhNSA1IDAgMCAxIDAgNiJ9XSxbInBhdGgiLHtkOiJNOCAxNC41MDJhLjUuNSAwIDAgMC0uODI2LS4zODFsLTEuODkzIDEuNjMxYTEgMSAwIDAgMS0uNjUxLjI0M0gzLjVhLjUuNSAwIDAgMC0uNS41MDF2My4wMDZhLjUuNSAwIDAgMCAuNS41MDFoMS4xMjlhMSAxIDAgMCAxIC42NTIuMjQzbDEuODkzIDEuNjMzYS41LjUgMCAwIDAgLjgyNi0uMzh6In1dXX0pO3ZhciBhdSxEVGU9ZigoKT0+e2F1PVtbInBhdGgiLHtkOiJNNCAxMlY0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2MTJhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtMTAgMTcuODQzIDMuMDMzLTEuNzU1YS42NC42NCAwIDAgMSAuOTY3LjU2djQuNzA0YS42NS42NSAwIDAgMS0uOTY3LjU2TDEwIDIwLjE1NyJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI2Iix4OiIzIix5OiIxNiIscng6IjEifV1dfSk7dmFyIHJ1LEFUZT1mKCgpPT57cnU9W1sicGF0aCIse2Q6Ik0xMSAyMkg2YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNi43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djUifV0sWyJwYXRoIix7ZDoiTTE0IDJ2NWExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoibTE1IDE3IDUgNSJ9XSxbInBhdGgiLHtkOiJtMjAgMTctNSA1In1dXX0pO3ZhciBtVCxFVGU9ZigoKT0+e21UPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJtMTQuNSAxMi41LTUgNSJ9XSxbInBhdGgiLHtkOiJtOS41IDEyLjUgNSA1In1dXX0pO3ZhciBnVCxQVGU9ZigoKT0+e2dUPVtbInBhdGgiLHtkOiJNNiAyMmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg4YTIuNCAyLjQgMCAwIDEgMS43MDQuNzA2bDMuNTg4IDMuNTg4QTIuNCAyLjQgMCAwIDEgMjAgOHYxMmEyIDIgMCAwIDEtMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XV19KTt2YXIgYlQsSVRlPWYoKCk9PntiVD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNyAzdjE4In1dLFsicGF0aCIse2Q6Ik0zIDcuNWg0In1dLFsicGF0aCIse2Q6Ik0zIDEyaDE4In1dLFsicGF0aCIse2Q6Ik0zIDE2LjVoNCJ9XSxbInBhdGgiLHtkOiJNMTcgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMTcgNy41aDQifV0sWyJwYXRoIix7ZDoiTTE3IDE2LjVoNCJ9XV19KTt2YXIgdlQsTlRlPWYoKCk9Pnt2VD1bWyJwYXRoIix7ZDoiTTE1IDJoLTRhMiAyIDAgMCAwLTIgMnYxMWEyIDIgMCAwIDAgMiAyaDhhMiAyIDAgMCAwIDItMlY4In1dLFsicGF0aCIse2Q6Ik0xNi43MDYgMi43MDZBMi40IDIuNCAwIDAgMCAxNSAydjVhMSAxIDAgMCAwIDEgMWg1YTIuNCAyLjQgMCAwIDAtLjcwNi0xLjcwNnoifV0sWyJwYXRoIix7ZDoiTTUgN2EyIDIgMCAwIDAtMiAydjExYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMS43MzItMSJ9XV19KTt2YXIgc3UsUlRlPWYoKCk9PntzdT1bWyJwYXRoIix7ZDoiTTEyIDEwYTIgMiAwIDAgMC0yIDJjMCAxLjAyLS4xIDIuNTEtLjI2IDQifV0sWyJwYXRoIix7ZDoiTTE0IDEzLjEyYzAgMi4zOCAwIDYuMzgtMSA4Ljg4In1dLFsicGF0aCIse2Q6Ik0xNy4yOSAyMS4wMmMuMTItLjYuNDMtMi4zLjUtMy4wMiJ9XSxbInBhdGgiLHtkOiJNMiAxMmExMCAxMCAwIDAgMSAxOC02In1dLFsicGF0aCIse2Q6Ik0yIDE2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMjEuOCAxNmMuMi0yIC4xMzEtNS4zNTQgMC02In1dLFsicGF0aCIse2Q6Ik01IDE5LjVDNS41IDE4IDYgMTUgNiAxMmE2IDYgMCAwIDEgLjM0LTIifV0sWyJwYXRoIix7ZDoiTTguNjUgMjJjLjIxLS42Ni40NS0xLjMyLjU3LTIifV0sWyJwYXRoIix7ZDoiTTkgNi44YTYgNiAwIDAgMSA5IDUuMnYyIn1dXX0pO3ZhciB4VCxPVGU9ZigoKT0+e3hUPVtbInBhdGgiLHtkOiJNMTUgNi41VjNhMSAxIDAgMCAwLTEtMWgtMmExIDEgMCAwIDAtMSAxdjMuNSJ9XSxbInBhdGgiLHtkOiJNOSAxOGg4In1dLFsicGF0aCIse2Q6Ik0xOCAzaC0zIn1dLFsicGF0aCIse2Q6Ik0xMSAzYTYgNiAwIDAgMC02IDZ2MTEifV0sWyJwYXRoIix7ZDoiTTUgMTNoNCJ9XSxbInBhdGgiLHtkOiJNMTcgMTBhNCA0IDAgMCAwLTggMHYxMGEyIDIgMCAwIDAgMiAyaDRhMiAyIDAgMCAwIDItMloifV1dfSk7dmFyIHlULEZUZT1mKCgpPT57eVQ9W1sicGF0aCIse2Q6Ik0yIDE2czktMTUgMjAtNEMxMSAyMyAyIDggMiA4In1dXX0pO3ZhciB3VCxCVGU9ZigoKT0+e3dUPVtbInBhdGgiLHtkOiJNMTggMTIuNDd2LjAzbTAtLjV2LjQ3bS0uNDc1IDUuMDU2QTYuNzQ0IDYuNzQ0IDAgMCAxIDE1IDE4Yy0zLjU2IDAtNy41Ni0yLjUzLTguNS02IC4zNDgtMS4yOCAxLjExNC0yLjQzMyAyLjEyMS0zLjM4bTMuNDQ0LTIuMDg4QTguODAyIDguODAyIDAgMCAxIDE1IDZjMy41NiAwIDYuMDYgMi41NCA3IDYtLjMwOSAxLjE0LS43ODYgMi4xNzctMS40MTMgMy4wNTgifV0sWyJwYXRoIix7ZDoiTTcgMTAuNjdDNyA4IDUuNTggNS45NyAyLjczIDUuNWMtMSAxLjUtMSA1IC4yMyA2LjUtMS4yNCAxLjUtMS4yNCA1LS4yMyA2LjVDNS41OCAxOC4wMyA3IDE2IDcgMTMuMzNtNy40OC00LjM3MkE5Ljc3IDkuNzcgMCAwIDEgMTYgNi4wN20wIDExLjg2YTkuNzcgOS43NyAwIDAgMS0xLjcyOC0zLjYxOCJ9XSxbInBhdGgiLHtkOiJtMTYuMDEgMTcuOTMtLjIzIDEuNEEyIDIgMCAwIDEgMTMuOCAyMUg5LjVhNS45NiA1Ljk2IDAgMCAwIDEuNDktMy45OE04LjUzIDNoNS4yN2EyIDIgMCAwIDEgMS45OCAxLjY3bC4yMyAxLjRNMiAybDIwIDIwIn1dXX0pO3ZhciBNVCxIVGU9ZigoKT0+e01UPVtbInBhdGgiLHtkOiJNNi41IDEyYy45NC0zLjQ2IDQuOTQtNiA4LjUtNiAzLjU2IDAgNi4wNiAyLjU0IDcgNi0uOTQgMy40Ny0zLjQ0IDYtNyA2cy03LjU2LTIuNTMtOC41LTZaIn1dLFsicGF0aCIse2Q6Ik0xOCAxMnYuNSJ9XSxbInBhdGgiLHtkOiJNMTYgMTcuOTNhOS43NyA5Ljc3IDAgMCAxIDAtMTEuODYifV0sWyJwYXRoIix7ZDoiTTcgMTAuNjdDNyA4IDUuNTggNS45NyAyLjczIDUuNWMtMSAxLjUtMSA1IC4yMyA2LjUtMS4yNCAxLjUtMS4yNCA1LS4yMyA2LjVDNS41OCAxOC4wMyA3IDE2IDcgMTMuMzMifV0sWyJwYXRoIix7ZDoiTTEwLjQ2IDcuMjZDMTAuMiA1Ljg4IDkuMTcgNC4yNCA4IDNoNS44YTIgMiAwIDAgMSAxLjk4IDEuNjdsLjIzIDEuNCJ9XSxbInBhdGgiLHtkOiJtMTYuMDEgMTcuOTMtLjIzIDEuNEEyIDIgMCAwIDEgMTMuOCAyMUg5LjVhNS45NiA1Ljk2IDAgMCAwIDEuNDktMy45OCJ9XV19KTt2YXIga1QscVRlPWYoKCk9PntrVD1bWyJwYXRoIix7ZDoibTE3LjU4NiAxMS40MTQtNS45MyA1LjkzYTEgMSAwIDAgMS04LThsMy4xMzctMy4xMzdhLjcwNy43MDcgMCAwIDEgMS4yMDcuNVYxMCJ9XSxbInBhdGgiLHtkOiJNMjAuNDE0IDguNTg2IDIyIDcifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxMCIscjoiMiJ9XV19KTt2YXIgU1QsVlRlPWYoKCk9PntTVD1bWyJwYXRoIix7ZDoiTTE2IDE2Yy0zIDAtNS0yLTgtMmE2IDYgMCAwIDAtNCAxLjUyOCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik00IDIyVjQifV0sWyJwYXRoIix7ZDoiTTcuNjU2IDJIOGMzIDAgNSAyIDcuMzMzIDJxMiAwIDMuMDY3LS44QTEgMSAwIDAgMSAyMCA0djEwLjM0NyJ9XV19KTt2YXIgelQsalRlPWYoKCk9Pnt6VD1bWyJwYXRoIix7ZDoiTTQgMTFoMSJ9XSxbInBhdGgiLHtkOiJNOCAxNWEyIDIgMCAwIDEtNCAwVjNhMSAxIDAgMCAxIDEtMWguNUMxNCAyIDIwIDkgMjAgMTh2NCJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIyIn1dXX0pO3ZhciBDVCxVVGU9ZigoKT0+e0NUPVtbInBhdGgiLHtkOiJNMTggMjJWMi44YS44LjggMCAwIDAtMS4xNy0uNzFMNS40NSA3Ljc4YS44LjggMCAwIDAgMCAxLjQ0TDE4IDE1LjUifV1dfSk7dmFyIF9ULFdUZT1mKCgpPT57X1Q9W1sicGF0aCIse2Q6Ik02IDIyVjIuOGEuOC44IDAgMCAxIDEuMTctLjcxbDExLjM4IDUuNjlhLjguOCAwIDAgMSAwIDEuNDRMNiAxNS41In1dXX0pO3ZhciBUVCxHVGU9ZigoKT0+e1RUPVtbInBhdGgiLHtkOiJNNCAyMlY0YTEgMSAwIDAgMSAuNC0uOEE2IDYgMCAwIDEgOCAyYzMgMCA1IDIgNy4zMzMgMnEyIDAgMy4wNjctLjhBMSAxIDAgMCAxIDIwIDR2MTBhMSAxIDAgMCAxLS40LjhBNiA2IDAgMCAxIDE2IDE2Yy0zIDAtNS0yLTgtMmE2IDYgMCAwIDAtNCAxLjUyOCJ9XV19KTt2YXIgTFQsWVRlPWYoKCk9PntMVD1bWyJwYXRoIix7ZDoiTTEyIDNxMSA0IDQgNi41dDMgNS41YTEgMSAwIDAgMS0xNCAwIDUgNSAwIDAgMSAxLTMgMSAxIDAgMCAwIDUgMGMwLTItMS41LTMtMS41LTVxMC0yIDIuNS00In1dXX0pO3ZhciAkVCxLVGU9ZigoKT0+eyRUPVtbInBhdGgiLHtkOiJNMTEuNjUyIDZIMTgifV0sWyJwYXRoIix7ZDoiTTEyIDEzdjEifV0sWyJwYXRoIix7ZDoiTTE2IDE2djRhMiAyIDAgMCAxLTIgMmgtNGEyIDIgMCAwIDEtMi0ydi04YTQgNCAwIDAgMC0uOC0yLjRsLS42LS44QTMgMyAwIDAgMSA2IDdWNiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik03LjY0OSAySDE3YTEgMSAwIDAgMSAxIDF2NGEzIDMgMCAwIDEtLjYgMS44bC0uNi44YTQgNCAwIDAgMC0uNTUgMS4wMDcifV1dfSk7dmFyIERULFpUZT1mKCgpPT57RFQ9W1sicGF0aCIse2Q6Ik0xMiAyYzEgMyAyLjUgMy41IDMuNSA0LjVBNSA1IDAgMCAxIDE3IDEwYTUgNSAwIDEgMS0xMCAwYzAtLjMgMC0uNi4xLS45YTIgMiAwIDEgMCAzLjMtMkM4IDQuNSAxMSAyIDEyIDJaIn1dLFsicGF0aCIse2Q6Im01IDIyIDE0LTQifV0sWyJwYXRoIix7ZDoibTUgMTggMTQgNCJ9XV19KTt2YXIgQVQsWFRlPWYoKCk9PntBVD1bWyJwYXRoIix7ZDoiTTEyIDEzdjEifV0sWyJwYXRoIix7ZDoiTTE3IDJhMSAxIDAgMCAxIDEgMXY0YTMgMyAwIDAgMS0uNiAxLjhsLS42LjhBNCA0IDAgMCAwIDE2IDEydjhhMiAyIDAgMCAxLTIgMkgxMGEyIDIgMCAwIDEtMi0ydi04YTQgNCAwIDAgMC0uOC0yLjRsLS42LS44QTMgMyAwIDAgMSA2IDdWM2ExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNNiA2aDEyIn1dXX0pO3ZhciBFVCxRVGU9ZigoKT0+e0VUPVtbInBhdGgiLHtkOiJNMTAgMnYyLjM0MyJ9XSxbInBhdGgiLHtkOiJNMTQgMnY2LjM0MyJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDEtMiAySDZhMiAyIDAgMCAxLTEuNzU1LTIuOTZsNS4yMjctOS41NjMifV0sWyJwYXRoIix7ZDoiTTYuNDUzIDE1SDE1In1dLFsicGF0aCIse2Q6Ik04LjUgMmg3In1dXX0pO3ZhciBQVCxKVGU9ZigoKT0+e1BUPVtbInBhdGgiLHtkOiJNMTQgMnY2YTIgMiAwIDAgMCAuMjQ1Ljk2bDUuNTEgMTAuMDhBMiAyIDAgMCAxIDE4IDIySDZhMiAyIDAgMCAxLTEuNzU1LTIuOTZsNS41MS0xMC4wOEEyIDIgMCAwIDAgMTAgOFYyIn1dLFsicGF0aCIse2Q6Ik02LjQ1MyAxNWgxMS4wOTQifV0sWyJwYXRoIix7ZDoiTTguNSAyaDcifV1dfSk7dmFyIElULGVMZT1mKCgpPT57SVQ9W1sicGF0aCIse2Q6Ik0xMCAydjYuMjkyYTcgNyAwIDEgMCA0IDBWMiJ9XSxbInBhdGgiLHtkOiJNNSAxNWgxNCJ9XSxbInBhdGgiLHtkOiJNOC41IDJoNyJ9XV19KTt2YXIgTlQsdExlPWYoKCk9PntOVD1bWyJwYXRoIix7ZDoibTMgNyA1IDUtNSA1VjcifV0sWyJwYXRoIix7ZDoibTIxIDctNSA1IDUgNVY3In1dLFsicGF0aCIse2Q6Ik0xMiAyMHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAxNHYyIn1dLFsicGF0aCIse2Q6Ik0xMiA4djIifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XV19KTt2YXIgUlQsYUxlPWYoKCk9PntSVD1bWyJwYXRoIix7ZDoibTE3IDMtNSA1LTUtNWgxMCJ9XSxbInBhdGgiLHtkOiJtMTcgMjEtNS01LTUgNWgxMCJ9XSxbInBhdGgiLHtkOiJNNCAxMkgyIn1dLFsicGF0aCIse2Q6Ik0xMCAxMkg4In1dLFsicGF0aCIse2Q6Ik0xNiAxMmgtMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTIifV1dfSk7dmFyIE9ULHJMZT1mKCgpPT57T1Q9W1sicGF0aCIse2Q6Ik0xMiA1YTMgMyAwIDEgMSAzIDNtLTMtM2EzIDMgMCAxIDAtMyAzbTMtM3YxTTkgOGEzIDMgMCAxIDAgMyAzTTkgOGgxbTUgMGEzIDMgMCAxIDEtMyAzbTMtM2gtMW0tMiAzdi0xIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiOCIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTB2MTIifV0sWyJwYXRoIix7ZDoiTTEyIDIyYzQuMiAwIDctMS42NjcgNy01LTQuMiAwLTcgMS42NjctNyA1WiJ9XSxbInBhdGgiLHtkOiJNMTIgMjJjLTQuMiAwLTctMS42NjctNy01IDQuMiAwIDcgMS42NjcgNyA1WiJ9XV19KTt2YXIgRlQsc0xlPWYoKCk9PntGVD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dXX0pO3ZhciBCVCxpTGU9ZigoKT0+e0JUPVtbInBhdGgiLHtkOiJNMiAxMmg2In1dLFsicGF0aCIse2Q6Ik0yMiAxMmgtNiJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0xMiA4djIifV0sWyJwYXRoIix7ZDoiTTEyIDE0djIifV0sWyJwYXRoIix7ZDoiTTEyIDIwdjIifV0sWyJwYXRoIix7ZDoibTE5IDktMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtNSAxNSAzLTMtMy0zIn1dXX0pO3ZhciBIVCxvTGU9ZigoKT0+e0hUPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xMiAxNi41QTQuNSA0LjUgMCAxIDEgNy41IDEyIDQuNSA0LjUgMCAxIDEgMTIgNy41YTQuNSA0LjUgMCAxIDEgNC41IDQuNSA0LjUgNC41IDAgMSAxLTQuNSA0LjUifV0sWyJwYXRoIix7ZDoiTTEyIDcuNVY5In1dLFsicGF0aCIse2Q6Ik03LjUgMTJIOSJ9XSxbInBhdGgiLHtkOiJNMTYuNSAxMkgxNSJ9XSxbInBhdGgiLHtkOiJNMTIgMTYuNVYxNSJ9XSxbInBhdGgiLHtkOiJtOCA4IDEuODggMS44OCJ9XSxbInBhdGgiLHtkOiJNMTQuMTIgOS44OCAxNiA4In1dLFsicGF0aCIse2Q6Im04IDE2IDEuODgtMS44OCJ9XSxbInBhdGgiLHtkOiJNMTQuMTIgMTQuMTIgMTYgMTYifV1dfSk7dmFyIHFULG5MZT1mKCgpPT57cVQ9W1siY2lyY2xlIix7Y3g6IjE1IixjeToiMTkiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTIwLjkgMTkuOEEyIDIgMCAwIDAgMjIgMThWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyaDUuMSJ9XSxbInBhdGgiLHtkOiJNMTUgMTF2LTEifV0sWyJwYXRoIix7ZDoiTTE1IDE3di0yIn1dXX0pO3ZhciBWVCxsTGU9ZigoKT0+e1ZUPVtbInBhdGgiLHtkOiJNMTIgNnY4bDMtMyAzIDNWNiJ9XSxbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJ6In1dXX0pO3ZhciBqVCxjTGU9ZigoKT0+e2pUPVtbInBhdGgiLHtkOiJNMTIgMjJ2LTYifV0sWyJwYXRoIix7ZDoiTTEyIDhWMiJ9XSxbInBhdGgiLHtkOiJNNCAxMkgyIn1dLFsicGF0aCIse2Q6Ik0xMCAxMkg4In1dLFsicGF0aCIse2Q6Ik0xNiAxMmgtMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTIifV0sWyJwYXRoIix7ZDoibTE1IDE5LTMtMy0zIDMifV0sWyJwYXRoIix7ZDoibTE1IDUtMyAzLTMtMyJ9XV19KTt2YXIgVVQsZExlPWYoKCk9PntVVD1bWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWiJ9XSxbInBhdGgiLHtkOiJtOSAxMyAyIDIgNC00In1dXX0pO3ZhciBXVCx1TGU9ZigoKT0+e1dUPVtbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dLFsicGF0aCIse2Q6Ik0yIDEwaDIwIn1dXX0pO3ZhciBHVCxwTGU9ZigoKT0+e0dUPVtbInBhdGgiLHtkOiJNMTAgMTAuNSA4IDEzbDIgMi41In1dLFsicGF0aCIse2Q6Im0xNCAxMC41IDIgMi41LTIgMi41In1dLFsicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMnoifV1dfSk7dmFyIGl1LGZMZT1mKCgpPT57aXU9W1sicGF0aCIse2Q6Ik0xMC4zIDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45OGEyIDIgMCAwIDEgMS42OS45bC42NiAxLjJBMiAyIDAgMCAwIDEyIDZoOGEyIDIgMCAwIDEgMiAydjMuMyJ9XSxbInBhdGgiLHtkOiJtMTQuMzA1IDE5LjUzLjkyMy0uMzgyIn1dLFsicGF0aCIse2Q6Im0xNS4yMjggMTYuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDE1LjIyOC0uMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAyMC43NzItLjM4My45MjQifV0sWyJwYXRoIix7ZDoibTE5LjE0OCAxNS4yMjguMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE5LjUzIDIxLjY5Ni0uMzgyLS45MjQifV0sWyJwYXRoIix7ZDoibTIwLjc3MiAxNi44NTIuOTI0LS4zODMifV0sWyJwYXRoIix7ZDoibTIwLjc3MiAxOS4xNDguOTI0LjM4MyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBZVCxoTGU9ZigoKT0+e1lUPVtbInBhdGgiLHtkOiJNMTYgMTR2Mi4ybDEuNiAxIn1dLFsicGF0aCIse2Q6Ik03IDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDIwYTIgMiAwIDAgMSAyIDIifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNiIscjoiNiJ9XV19KTt2YXIgS1QsbUxlPWYoKCk9PntLVD1bWyJwYXRoIix7ZDoiTTQgMjBoMTZhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOTNhMiAyIDAgMCAxLTEuNjYtLjlsLS44Mi0xLjJBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNjMCAxLjEuOSAyIDIgMloifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMyIscjoiMSJ9XV19KTt2YXIgWlQsZ0xlPWYoKCk9PntaVD1bWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWiJ9XSxbInBhdGgiLHtkOiJNMTIgMTB2NiJ9XSxbInBhdGgiLHtkOiJtMTUgMTMtMyAzLTMtMyJ9XV19KTt2YXIgWFQsYkxlPWYoKCk9PntYVD1bWyJwYXRoIix7ZDoiTTE4IDE5YTUgNSAwIDAgMS01LTV2OCJ9XSxbInBhdGgiLHtkOiJNOSAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjUifV0sWyJjaXJjbGUiLHtjeDoiMTMiLGN5OiIxMiIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjE5IixyOiIyIn1dXX0pO3ZhciBRVCx2TGU9ZigoKT0+e1FUPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiIyIn1dLFsicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloifV0sWyJwYXRoIix7ZDoiTTE0IDEzaDMifV0sWyJwYXRoIix7ZDoiTTcgMTNoMyJ9XV19KTt2YXIgSlQseExlPWYoKCk9PntKVD1bWyJwYXRoIix7ZDoiTTEwLjYzOCAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjMuNDE3In1dLFsicGF0aCIse2Q6Ik0xNC42MiAxOC44QTIuMjUgMi4yNSAwIDEgMSAxOCAxNS44MzZhMi4yNSAyLjI1IDAgMSAxIDMuMzggMi45NjZsLTIuNjI2IDIuODU2YS45OTguOTk4IDAgMCAxLTEuNTA3IDB6In1dXX0pO3ZhciBlTCx5TGU9ZigoKT0+e2VMPVtbInBhdGgiLHtkOiJNNCAyMGgxNmEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45M2EyIDIgMCAwIDEtMS42Ni0uOWwtLjgyLTEuMkEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2MwIDEuMS45IDIgMiAyWiJ9XSxbInBhdGgiLHtkOiJNOCAxMHY0In1dLFsicGF0aCIse2Q6Ik0xMiAxMHYyIn1dLFsicGF0aCIse2Q6Ik0xNiAxMHY2In1dXX0pO3ZhciB0TCx3TGU9ZigoKT0+e3RMPVtbInBhdGgiLHtkOiJNMTMgMjBINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYxLjM2In1dLFsicGF0aCIse2Q6Ik0xOSAxMnY2In1dLFsicGF0aCIse2Q6Ik0xOSAxNGgyIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMjAiLHI6IjIifV1dfSk7dmFyIGFMLE1MZT1mKCgpPT57YUw9W1sicGF0aCIse2Q6Ik0yIDlWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0ydi0xIn1dLFsicGF0aCIse2Q6Ik0yIDEzaDEwIn1dLFsicGF0aCIse2Q6Im05IDE2IDMtMy0zLTMifV1dfSk7dmFyIHJMLGtMZT1mKCgpPT57ckw9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjUiLHg6IjE0Iix5OiIxNyIscng6IjEifV0sWyJwYXRoIix7ZDoiTTEwIDIwSDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDIwYTIgMiAwIDAgMSAyIDJ2Mi41In1dLFsicGF0aCIse2Q6Ik0yMCAxN3YtMmEyIDIgMCAxIDAtNCAwdjIifV1dfSk7dmFyIHNMLFNMZT1mKCgpPT57c0w9W1sicGF0aCIse2Q6Im02IDE0IDEuNDUtMi45QTIgMiAwIDAgMSA5LjI0IDEwSDIwYTIgMiAwIDAgMSAxLjk0IDIuNWwtMS41NSA2YTIgMiAwIDAgMS0xLjk0IDEuNUg0YTIgMiAwIDAgMS0yLTJWNWMwLTEuMS45LTIgMi0yaDMuOTNhMiAyIDAgMCAxIDEuNjYuOWwuODIgMS4yYTIgMiAwIDAgMCAxLjY2LjlIMThhMiAyIDAgMCAxIDIgMnYyIn1dLFsiY2lyY2xlIix7Y3g6IjE0IixjeToiMTUiLHI6IjEifV1dfSk7dmFyIGlMLHpMZT1mKCgpPT57aUw9W1sicGF0aCIse2Q6Im02IDE0IDEuNS0yLjlBMiAyIDAgMCAxIDkuMjQgMTBIMjBhMiAyIDAgMCAxIDEuOTQgMi41bC0xLjU0IDZhMiAyIDAgMCAxLTEuOTUgMS41SDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMy45YTIgMiAwIDAgMSAxLjY5LjlsLjgxIDEuMmEyIDIgMCAwIDAgMS42Ny45SDE4YTIgMiAwIDAgMSAyIDJ2MiJ9XV19KTt2YXIgb0wsQ0xlPWYoKCk9PntvTD1bWyJwYXRoIix7ZDoiTTkgMTNoNiJ9XSxbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dXX0pO3ZhciBuTCxfTGU9ZigoKT0+e25MPVtbInBhdGgiLHtkOiJNMiA3LjVWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0xLjUifV0sWyJwYXRoIix7ZDoiTTIgMTNoMTAifV0sWyJwYXRoIix7ZDoibTUgMTAtMyAzIDMgMyJ9XV19KTt2YXIgb3UsVExlPWYoKCk9PntvdT1bWyJwYXRoIix7ZDoiTTIgMTEuNVY1YTIgMiAwIDAgMSAyLTJoMy45Yy43IDAgMS4zLjMgMS43LjlsLjggMS4yYy40LjYgMSAuOSAxLjcuOUgyMGEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJoLTkuNSJ9XSxbInBhdGgiLHtkOiJNMTEuMzc4IDEzLjYyNmExIDEgMCAxIDAtMy4wMDQtMy4wMDRsLTUuMDEgNS4wMTJhMiAyIDAgMCAwLS41MDYuODU0bC0uODM3IDIuODdhLjUuNSAwIDAgMCAuNjIuNjJsMi44Ny0uODM3YTIgMiAwIDAgMCAuODU0LS41MDZ6In1dXX0pO3ZhciBsTCxMTGU9ZigoKT0+e2xMPVtbInBhdGgiLHtkOiJNMTIgMTB2NiJ9XSxbInBhdGgiLHtkOiJNOSAxM2g2In1dLFsicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloifV1dfSk7dmFyIGNMLCRMZT1mKCgpPT57Y0w9W1sicGF0aCIse2Q6Ik00IDIwaDE2YTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjkzYTIgMiAwIDAgMS0xLjY2LS45bC0uODItMS4yQTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYzAgMS4xLjkgMiAyIDJaIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDE1djUifV1dfSk7dmFyIGRMLERMZT1mKCgpPT57ZEw9W1siY2lyY2xlIix7Y3g6IjExLjUiLGN5OiIxMi41IixyOiIyLjUifV0sWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWiJ9XSxbInBhdGgiLHtkOiJNMTMuMyAxNC4zIDE1IDE2In1dXX0pO3ZhciB1TCxBTGU9ZigoKT0+e3VMPVtbInBhdGgiLHtkOiJNMTAuNyAyMEg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDMuOWEyIDIgMCAwIDEgMS42OS45bC44MSAxLjJhMiAyIDAgMCAwIDEuNjcuOUgyMGEyIDIgMCAwIDEgMiAydjQuMSJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtMS45LTEuOSJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE3IixyOiIzIn1dXX0pO3ZhciBwTCxFTGU9ZigoKT0+e3BMPVtbInBhdGgiLHtkOiJNMiA5LjM1VjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMnYtM2EyIDIgMCAwIDEgMi0yaDcifV0sWyJwYXRoIix7ZDoibTggMTYgMy0zLTMtMyJ9XV19KTt2YXIgZkwsUExlPWYoKCk9PntmTD1bWyJwYXRoIix7ZDoiTTIwIDEwYTEgMSAwIDAgMCAxLTFWNmExIDEgMCAwIDAtMS0xaC0yLjVhMSAxIDAgMCAxLS44LS40bC0uOS0xLjJBMSAxIDAgMCAwIDE1IDNoLTJhMSAxIDAgMCAwLTEgMXY1YTEgMSAwIDAgMCAxIDFaIn1dLFsicGF0aCIse2Q6Ik0yMCAyMWExIDEgMCAwIDAgMS0xdi0zYTEgMSAwIDAgMC0xLTFoLTIuOWExIDEgMCAwIDEtLjg4LS41NWwtLjQyLS44NWExIDEgMCAwIDAtLjkyLS42SDEzYTEgMSAwIDAgMC0xIDF2NWExIDEgMCAwIDAgMSAxWiJ9XSxbInBhdGgiLHtkOiJNMyA1YTIgMiAwIDAgMCAyIDJoMyJ9XSxbInBhdGgiLHtkOiJNMyAzdjEzYTIgMiAwIDAgMCAyIDJoMyJ9XV19KTt2YXIgaEwsSUxlPWYoKCk9PntoTD1bWyJwYXRoIix7ZDoiTTkgMjBINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgzLjlhMiAyIDAgMCAxIDEuNjkuOWwuODEgMS4yYTIgMiAwIDAgMCAxLjY3LjlIMjBhMiAyIDAgMCAxIDIgMnYuNSJ9XSxbInBhdGgiLHtkOiJNMTIgMTB2NGg0In1dLFsicGF0aCIse2Q6Im0xMiAxNCAxLjUzNS0xLjYwNWE1IDUgMCAwIDEgOCAxLjUifV0sWyJwYXRoIix7ZDoiTTIyIDIydi00aC00In1dLFsicGF0aCIse2Q6Im0yMiAxOC0xLjUzNSAxLjYwNWE1IDUgMCAwIDEtOC0xLjUifV1dfSk7dmFyIG1MLE5MZT1mKCgpPT57bUw9W1sicGF0aCIse2Q6Ik0yMCAyMGEyIDIgMCAwIDAgMi0yVjhhMiAyIDAgMCAwLTItMmgtNy45YTIgMiAwIDAgMS0xLjY5LS45TDkuNiAzLjlBMiAyIDAgMCAwIDcuOTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTNhMiAyIDAgMCAwIDIgMloifV0sWyJwYXRoIix7ZDoiTTEyIDEwdjYifV0sWyJwYXRoIix7ZDoibTkgMTMgMy0zIDMgMyJ9XV19KTt2YXIgZ0wsUkxlPWYoKCk9PntnTD1bWyJwYXRoIix7ZDoiTTIwIDIwYTIgMiAwIDAgMCAyLTJWOGEyIDIgMCAwIDAtMi0yaC03LjlhMiAyIDAgMCAxLTEuNjktLjlMOS42IDMuOUEyIDIgMCAwIDAgNy45MyAzSDRhMiAyIDAgMCAwLTIgMnYxM2EyIDIgMCAwIDAgMiAyWiJ9XSxbInBhdGgiLHtkOiJtOS41IDEwLjUgNSA1In1dLFsicGF0aCIse2Q6Im0xNC41IDEwLjUtNSA1In1dXX0pO3ZhciBiTCxPTGU9ZigoKT0+e2JMPVtbInBhdGgiLHtkOiJNMjAgMjBhMiAyIDAgMCAwIDItMlY4YTIgMiAwIDAgMC0yLTJoLTcuOWEyIDIgMCAwIDEtMS42OS0uOUw5LjYgMy45QTIgMiAwIDAgMCA3LjkzIDNINGEyIDIgMCAwIDAtMiAydjEzYTIgMiAwIDAgMCAyIDJaIn1dXX0pO3ZhciB2TCxGTGU9ZigoKT0+e3ZMPVtbInBhdGgiLHtkOiJNMjAgNWEyIDIgMCAwIDEgMiAydjdhMiAyIDAgMCAxLTIgMkg5YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDIuNWExLjUgMS41IDAgMCAxIDEuMi42bC42LjhhMS41IDEuNSAwIDAgMCAxLjIuNnoifV0sWyJwYXRoIix7ZDoiTTMgOC4yNjhhMiAyIDAgMCAwLTEgMS43MzhWMTlhMiAyIDAgMCAwIDIgMmgxMWEyIDIgMCAwIDAgMS43MzItMSJ9XV19KTt2YXIgeEwsQkxlPWYoKCk9Pnt4TD1bWyJwYXRoIix7ZDoiTTQgMTZ2LTIuMzhDNCAxMS41IDIuOTcgMTAuNSAzIDhjLjAzLTIuNzIgMS40OS02IDQuNS02QzkuMzcgMiAxMCAzLjggMTAgNS41YzAgMy4xMS0yIDUuNjYtMiA4LjY4VjE2YTIgMiAwIDEgMS00IDBaIn1dLFsicGF0aCIse2Q6Ik0yMCAyMHYtMi4zOGMwLTIuMTIgMS4wMy0zLjEyIDEtNS42Mi0uMDMtMi43Mi0xLjQ5LTYtNC41LTZDMTQuNjMgNiAxNCA3LjggMTQgOS41YzAgMy4xMSAyIDUuNjYgMiA4LjY4VjIwYTIgMiAwIDEgMCA0IDBaIn1dLFsicGF0aCIse2Q6Ik0xNiAxN2g0In1dLFsicGF0aCIse2Q6Ik00IDEzaDQifV1dfSk7dmFyIHlMLEhMZT1mKCgpPT57eUw9W1sicGF0aCIse2Q6Ik0xMiAxMkg1YTIgMiAwIDAgMC0yIDJ2NSJ9XSxbInBhdGgiLHtkOiJNMTUgMTloNyJ9XSxbInBhdGgiLHtkOiJNMTYgMTlWMiJ9XSxbInBhdGgiLHtkOiJNNiAxMlY3YTIgMiAwIDAgMSAyLTJoMi4xNzJhMiAyIDAgMCAxIDEuNDE0LjU4NmwzLjgyOCAzLjgyOEEyIDIgMCAwIDEgMTYgMTAuODI4In1dLFsicGF0aCIse2Q6Ik03IDE5aDQifV0sWyJjaXJjbGUiLHtjeDoiMTMiLGN5OiIxOSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTkiLHI6IjIifV1dfSk7dmFyIHdMLHFMZT1mKCgpPT57d0w9W1sicGF0aCIse2Q6Ik00IDE0aDYifV0sWyJwYXRoIix7ZDoiTTQgMmgxMCJ9XSxbInJlY3QiLHt4OiI0Iix5OiIxOCIsd2lkdGg6IjE2IixoZWlnaHQ6IjQiLHJ4OiIxIn1dLFsicmVjdCIse3g6IjQiLHk6IjYiLHdpZHRoOiIxNiIsaGVpZ2h0OiI0IixyeDoiMSJ9XV19KTt2YXIgTUwsVkxlPWYoKCk9PntNTD1bWyJwYXRoIix7ZDoibTE1IDE3IDUtNS01LTUifV0sWyJwYXRoIix7ZDoiTTQgMTh2LTJhNCA0IDAgMCAxIDQtNGgxMiJ9XV19KTt2YXIga0wsakxlPWYoKCk9PntrTD1bWyJsaW5lIix7eDE6IjIyIix4MjoiMiIseTE6IjYiLHkyOiI2In1dLFsibGluZSIse3gxOiIyMiIseDI6IjIiLHkxOiIxOCIseTI6IjE4In1dLFsibGluZSIse3gxOiI2Iix4MjoiNiIseTE6IjIiLHkyOiIyMiJ9XSxbImxpbmUiLHt4MToiMTgiLHgyOiIxOCIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIgU0wsVUxlPWYoKCk9PntTTD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE2IDE2cy0xLjUtMi00LTItNCAyLTQgMiJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkuMDEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNS4wMSIseTE6IjkiLHkyOiI5In1dXX0pO3ZhciB6TCxXTGU9ZigoKT0+e3pMPVtbInBhdGgiLHtkOiJNMTQgMTNoMmEyIDIgMCAwIDEgMiAydjJhMiAyIDAgMCAwIDQgMHYtNi45OThhMiAyIDAgMCAwLS41OS0xLjQyTDE4IDUifV0sWyJwYXRoIix7ZDoiTTE0IDIxVjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTYifV0sWyJwYXRoIix7ZDoiTTIgMjFoMTMifV0sWyJwYXRoIix7ZDoiTTMgOWgxMSJ9XV19KTt2YXIgQ0wsR0xlPWYoKCk9PntDTD1bWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbInJlY3QiLHt3aWR0aDoiMTAiLGhlaWdodDoiOCIseDoiNyIseToiOCIscng6IjEifV1dfSk7dmFyIF9MLFlMZT1mKCgpPT57X0w9W1sicGF0aCIse2Q6Ik0xMy4zNTQgM0gzYTEgMSAwIDAgMC0uNzQyIDEuNjdsNy4yMjUgNy45ODlBMiAyIDAgMCAxIDEwIDE0djZhMSAxIDAgMCAwIC41NTMuODk1bDIgMUExIDEgMCAwIDAgMTQgMjF2LTdhMiAyIDAgMCAxIC41MTctMS4zNDFsMS4yMTgtMS4zNDgifV0sWyJwYXRoIix7ZDoiTTE2IDZoNiJ9XSxbInBhdGgiLHtkOiJNMTkgM3Y2In1dXX0pO3ZhciBudSxLTGU9ZigoKT0+e251PVtbInBhdGgiLHtkOiJNMTIuNTMxIDNIM2ExIDEgMCAwIDAtLjc0MiAxLjY3bDcuMjI1IDcuOTg5QTIgMiAwIDAgMSAxMCAxNHY2YTEgMSAwIDAgMCAuNTUzLjg5NWwyIDFBMSAxIDAgMCAwIDE0IDIxdi03YTIgMiAwIDAgMSAuNTE3LTEuMzQxbC40MjctLjQ3MyJ9XSxbInBhdGgiLHtkOiJtMTYuNSAzLjUgNSA1In1dLFsicGF0aCIse2Q6Im0yMS41IDMuNS01IDUifV1dfSk7dmFyIFRMLFpMZT1mKCgpPT57VEw9W1sicGF0aCIse2Q6Ik0yIDd2MTAifV0sWyJwYXRoIix7ZDoiTTYgNXYxNCJ9XSxbInJlY3QiLHt3aWR0aDoiMTIiLGhlaWdodDoiMTgiLHg6IjEwIix5OiIzIixyeDoiMiJ9XV19KTt2YXIgbHUsWExlPWYoKCk9PntsdT1bWyJwYXRoIix7ZDoiTTEwIDIwYTEgMSAwIDAgMCAuNTUzLjg5NWwyIDFBMSAxIDAgMCAwIDE0IDIxdi03YTIgMiAwIDAgMSAuNTE3LTEuMzQxTDIxLjc0IDQuNjdBMSAxIDAgMCAwIDIxIDNIM2ExIDEgMCAwIDAtLjc0MiAxLjY3bDcuMjI1IDcuOTg5QTIgMiAwIDAgMSAxMCAxNHoifV1dfSk7dmFyIExMLFFMZT1mKCgpPT57TEw9W1sicGF0aCIse2Q6Ik0yIDN2MTgifV0sWyJyZWN0Iix7d2lkdGg6IjEyIixoZWlnaHQ6IjE4Iix4OiI2Iix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMjIgM3YxOCJ9XV19KTt2YXIgJEwsSkxlPWYoKCk9PnskTD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE0Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNCAyMWgxIn1dLFsicGF0aCIse2Q6Ik05IDIxaDEifV0sWyJwYXRoIix7ZDoiTTE0IDIxaDEifV0sWyJwYXRoIix7ZDoiTTE5IDIxaDEifV1dfSk7dmFyIERMLGUkZT1mKCgpPT57REw9W1sicGF0aCIse2Q6Ik03IDJoMTAifV0sWyJwYXRoIix7ZDoiTTUgNmgxNCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTIiLHg6IjMiLHk6IjEwIixyeDoiMiJ9XV19KTt2YXIgQUwsdCRlPWYoKCk9PntBTD1bWyJwYXRoIix7ZDoiTTMgMmgxOCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTIiLHg6IjMiLHk6IjYiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDIyaDE4In1dXX0pO3ZhciBFTCxhJGU9ZigoKT0+e0VMPVtbImxpbmUiLHt4MToiNiIseDI6IjEwIix5MToiMTEiLHkyOiIxMSJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjgiLHkxOiI5Iix5MjoiMTMifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUuMDEiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxOCIseDI6IjE4LjAxIix5MToiMTAiLHkyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTcuMzIgNUg2LjY4YTQgNCAwIDAgMC0zLjk3OCAzLjU5Yy0uMDA2LjA1Mi0uMDEuMTAxLS4wMTcuMTUyQzIuNjA0IDkuNDE2IDIgMTQuNDU2IDIgMTZhMyAzIDAgMCAwIDMgM2MxIDAgMS41LS41IDItMWwxLjQxNC0xLjQxNEEyIDIgMCAwIDEgOS44MjggMTZoNC4zNDRhMiAyIDAgMCAxIDEuNDE0LjU4NkwxNyAxOGMuNS41IDEgMSAyIDFhMyAzIDAgMCAwIDMtM2MwLTEuNTQ1LS42MDQtNi41ODQtLjY4NS03LjI1OC0uMDA3LS4wNS0uMDExLS4xLS4wMTctLjE1MUE0IDQgMCAwIDAgMTcuMzIgNXoifV1dfSk7dmFyIFBMLHIkZT1mKCgpPT57UEw9W1sicGF0aCIse2Q6Ik0xMS4xNDYgMTUuODU0YTEuMjA3IDEuMjA3IDAgMCAxIDEuNzA4IDBsMS41NiAxLjU2QTIgMiAwIDAgMSAxNSAxOC44MjhWMjFhMSAxIDAgMCAxLTEgMWgtNGExIDEgMCAwIDEtMS0xdi0yLjE3MmEyIDIgMCAwIDEgLjU4Ni0xLjQxNHoifV0sWyJwYXRoIix7ZDoiTTE4LjgyOCAxNWEyIDIgMCAwIDEtMS40MTQtLjU4NmwtMS41Ni0xLjU2YTEuMjA3IDEuMjA3IDAgMCAxIDAtMS43MDhsMS41Ni0xLjU2QTIgMiAwIDAgMSAxOC44MjggOUgyMWExIDEgMCAwIDEgMSAxdjRhMSAxIDAgMCAxLTEgMXoifV0sWyJwYXRoIix7ZDoiTTYuNTg2IDE0LjQxNEEyIDIgMCAwIDEgNS4xNzIgMTVIM2ExIDEgMCAwIDEtMS0xdi00YTEgMSAwIDAgMSAxLTFoMi4xNzJhMiAyIDAgMCAxIDEuNDE0LjU4NmwxLjU2IDEuNTZhMS4yMDcgMS4yMDcgMCAwIDEgMCAxLjcwOHoifV0sWyJwYXRoIix7ZDoiTTkgM2ExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDEgMXYyLjE3MmEyIDIgMCAwIDEtLjU4NiAxLjQxNGwtMS41NiAxLjU2YTEuMjA3IDEuMjA3IDAgMCAxLTEuNzA4IDBsLTEuNTYtMS41NkEyIDIgMCAwIDEgOSA1LjE3MnoifV1dfSk7dmFyIElMLHMkZT1mKCgpPT57SUw9W1sibGluZSIse3gxOiI2Iix4MjoiMTAiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiI4Iix4MjoiOCIseTE6IjEwIix5MjoiMTQifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUuMDEiLHkxOiIxMyIseTI6IjEzIn1dLFsibGluZSIse3gxOiIxOCIseDI6IjE4LjAxIix5MToiMTEiLHkyOiIxMSJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTIiLHg6IjIiLHk6IjYiLHJ4OiIyIn1dXX0pO3ZhciBOTCxpJGU9ZigoKT0+e05MPVtbInBhdGgiLHtkOiJtMTIgMTQgNC00In1dLFsicGF0aCIse2Q6Ik0zLjM0IDE5YTEwIDEwIDAgMSAxIDE3LjMyIDAifV1dfSk7dmFyIFJMLG8kZT1mKCgpPT57Ukw9W1sicGF0aCIse2Q6Im0xNCAxMy04LjM4MSA4LjM4YTEgMSAwIDAgMS0zLjAwMS0zbDguMzg0LTguMzgxIn1dLFsicGF0aCIse2Q6Im0xNiAxNiA2LTYifV0sWyJwYXRoIix7ZDoibTIxLjUgMTAuNS04LTgifV0sWyJwYXRoIix7ZDoibTggOCA2LTYifV0sWyJwYXRoIix7ZDoibTguNSA3LjUgOCA4In1dXX0pO3ZhciBPTCxuJGU9ZigoKT0+e09MPVtbInBhdGgiLHtkOiJNMTAuNSAzIDggOWw0IDEzIDQtMTMtMi41LTYifV0sWyJwYXRoIix7ZDoiTTE3IDNhMiAyIDAgMCAxIDEuNi44bDMgNGEyIDIgMCAwIDEgLjAxMyAyLjM4MmwtNy45OSAxMC45ODZhMiAyIDAgMCAxLTMuMjQ3IDBsLTcuOTktMTAuOTg2QTIgMiAwIDAgMSAyLjQgNy44bDIuOTk4LTMuOTk3QTIgMiAwIDAgMSA3IDN6In1dLFsicGF0aCIse2Q6Ik0yIDloMjAifV1dfSk7dmFyIEZMLGwkZT1mKCgpPT57Rkw9W1sicGF0aCIse2Q6Ik05IDEwaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTUgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAyYTggOCAwIDAgMC04IDh2MTJsMy0zIDIuNSAyLjVMMTIgMTlsMi41IDIuNUwxNyAxOWwzIDNWMTBhOCA4IDAgMCAwLTgtOHoifV1dfSk7dmFyIEJMLGMkZT1mKCgpPT57Qkw9W1sicGF0aCIse2Q6Ik0xMS41IDIxYTcuNSA3LjUgMCAxIDEgNy4zNS05In1dLFsicGF0aCIse2Q6Ik0xMyAxMlYzIn1dLFsicGF0aCIse2Q6Ik00IDIxaDE2In1dLFsicGF0aCIse2Q6Ik05IDEyVjMifV1dfSk7dmFyIEhMLGQkZT1mKCgpPT57SEw9W1sicGF0aCIse2Q6Ik0xNSA2YTkgOSAwIDAgMC05IDlWMyJ9XSxbInBhdGgiLHtkOiJNMjEgMThoLTYifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI2IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgcUwsdSRlPWYoKCk9PntxTD1bWyJwYXRoIix7ZDoiTTEyIDd2MTQifV0sWyJwYXRoIix7ZDoiTTIwIDExdjhhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJ2LTgifV0sWyJwYXRoIix7ZDoiTTcuNSA3YTEgMSAwIDAgMSAwLTVBNC44IDggMCAwIDEgMTIgN2E0LjggOCAwIDAgMSA0LjUtNSAxIDEgMCAwIDEgMCA1In1dLFsicmVjdCIse3g6IjMiLHk6IjciLHdpZHRoOiIxOCIsaGVpZ2h0OiI0IixyeDoiMSJ9XV19KTt2YXIgVkwscCRlPWYoKCk9PntWTD1bWyJwYXRoIix7ZDoiTTYgM3YxMiJ9XSxbInBhdGgiLHtkOiJNMTggOWEzIDMgMCAxIDAgMC02IDMgMyAwIDAgMCAwIDZ6In1dLFsicGF0aCIse2Q6Ik02IDIxYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNnoifV0sWyJwYXRoIix7ZDoiTTE1IDZhOSA5IDAgMCAwLTkgOSJ9XSxbInBhdGgiLHtkOiJNMTggMTV2NiJ9XSxbInBhdGgiLHtkOiJNMjEgMThoLTYifV1dfSk7dmFyIGpMLGYkZT1mKCgpPT57akw9W1sicGF0aCIse2Q6Ik0xNSA2YTkgOSAwIDAgMC05IDlWMyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjYiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBjdSxoJGU9ZigoKT0+e2N1PVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dLFsibGluZSIse3gxOiIzIix4MjoiOSIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMjEiLHkxOiIxMiIseTI6IjEyIn1dXX0pO3ZhciBVTCxtJGU9ZigoKT0+e1VMPVtbInBhdGgiLHtkOiJNMTIgM3Y2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTEyIDE1djYifV1dfSk7dmFyIFdMLGckZT1mKCgpPT57V0w9W1siY2lyY2xlIix7Y3g6IjUiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xMiA2aDVhMiAyIDAgMCAxIDIgMnY3In1dLFsicGF0aCIse2Q6Im0xNSA5LTMtMyAzLTMifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxOCIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTIgMThIN2EyIDIgMCAwIDEtMi0yVjkifV0sWyJwYXRoIix7ZDoibTkgMTUgMyAzLTMgMyJ9XV19KTt2YXIgR0wsYiRlPWYoKCk9PntHTD1bWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTMgNmgzYTIgMiAwIDAgMSAyIDJ2NyJ9XSxbInBhdGgiLHtkOiJNMTEgMThIOGEyIDIgMCAwIDEtMi0yVjkifV1dfSk7dmFyIFlMLHYkZT1mKCgpPT57WUw9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTgiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjYiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xOCA5djJjMCAuNi0uNCAxLTEgMUg3Yy0uNiAwLTEtLjQtMS0xVjkifV0sWyJwYXRoIix7ZDoiTTEyIDEydjMifV1dfSk7dmFyIEtMLHgkZT1mKCgpPT57S0w9W1siY2lyY2xlIix7Y3g6IjUiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik01IDl2NiJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTgiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTEyIDN2MTgifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xNiAxNS43QTkgOSAwIDAgMCAxOSA5In1dXX0pO3ZhciBaTCx5JGU9ZigoKT0+e1pMPVtbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik02IDIxVjlhOSA5IDAgMCAwIDkgOSJ9XV19KTt2YXIgWEwsdyRlPWYoKCk9PntYTD1bWyJwYXRoIix7ZDoiTTEyIDZoNGEyIDIgMCAwIDEgMiAydjcifV0sWyJwYXRoIix7ZDoiTTYgMTJ2OSJ9XSxbInBhdGgiLHtkOiJNOSAzIDMgOSJ9XSxbInBhdGgiLHtkOiJNOSA5IDMgMyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBRTCxNJGU9ZigoKT0+e1FMPVtbImNpcmNsZSIse2N4OiI1IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNNSA5djEyIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTgiLHI6IjMifV0sWyJwYXRoIix7ZDoibTE1IDktMy0zIDMtMyJ9XSxbInBhdGgiLHtkOiJNMTIgNmg1YTIgMiAwIDAgMSAyIDJ2NyJ9XV19KTt2YXIgSkwsayRlPWYoKCk9PntKTD1bWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjYiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTYgOXYxMiJ9XSxbInBhdGgiLHtkOiJtMjEgMy02IDYifV0sWyJwYXRoIix7ZDoibTIxIDktNi02In1dLFsicGF0aCIse2Q6Ik0xOCAxMS41VjE1In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTgiLHI6IjMifV1dfSk7dmFyIGUkLFMkZT1mKCgpPT57ZSQ9W1siY2lyY2xlIix7Y3g6IjUiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik01IDl2MTIifV0sWyJwYXRoIix7ZDoibTE1IDktMy0zIDMtMyJ9XSxbInBhdGgiLHtkOiJNMTIgNmg1YTIgMiAwIDAgMSAyIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMTkgMTV2NiJ9XSxbInBhdGgiLHtkOiJNMjIgMThoLTYifV1dfSk7dmFyIHQkLHokZT1mKCgpPT57dCQ9W1siY2lyY2xlIix7Y3g6IjYiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik02IDl2MTIifV0sWyJwYXRoIix7ZDoiTTEzIDZoM2EyIDIgMCAwIDEgMiAydjMifV0sWyJwYXRoIix7ZDoiTTE4IDE1djYifV0sWyJwYXRoIix7ZDoiTTIxIDE4aC02In1dXX0pO3ZhciBhJCxDJGU9ZigoKT0+e2EkPVtbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xOCA2VjUifV0sWyJwYXRoIix7ZDoiTTE4IDExdi0xIn1dLFsibGluZSIse3gxOiI2Iix4MjoiNiIseTE6IjkiLHkyOiIyMSJ9XV19KTt2YXIgciQsXyRlPWYoKCk9PntyJD1bWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiNiIscjoiMyJ9XSxbInBhdGgiLHtkOiJNMTMgNmgzYTIgMiAwIDAgMSAyIDJ2NyJ9XSxbImxpbmUiLHt4MToiNiIseDI6IjYiLHkxOiI5Iix5MjoiMjEifV1dfSk7dmFyIHMkLFQkZT1mKCgpPT57cyQ9W1sicGF0aCIse2Q6Ik01LjExNiA0LjEwNEExIDEgMCAwIDEgNi4xMSAzaDExLjc4YTEgMSAwIDAgMSAuOTk0IDEuMTA1TDE3LjE5IDIwLjIxQTIgMiAwIDAgMSAxNS4yIDIySDguOGEyIDIgMCAwIDEtMi0xLjc5eiJ9XSxbInBhdGgiLHtkOiJNNiAxMmE1IDUgMCAwIDEgNiAwIDUgNSAwIDAgMCA2IDAifV1dfSk7dmFyIGkkLEwkZT1mKCgpPT57aSQ9W1siY2lyY2xlIix7Y3g6IjYiLGN5OiIxNSIscjoiNCJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE1IixyOiI0In1dLFsicGF0aCIse2Q6Ik0xNCAxNWEyIDIgMCAwIDAtMi0yIDIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTIuNSAxMyA1IDdjLjctMS4zIDEuNC0yIDMtMiJ9XSxbInBhdGgiLHtkOiJNMjEuNSAxMyAxOSA3Yy0uNy0xLjMtMS41LTItMy0yIn1dXX0pO3ZhciBvJCwkJGU9ZigoKT0+e28kPVtbInBhdGgiLHtkOiJNMTUuNjg2IDE1QTE0LjUgMTQuNSAwIDAgMSAxMiAyMmExNC41IDE0LjUgMCAwIDEgMC0yMCAxMCAxMCAwIDEgMCA5LjU0MiAxMyJ9XSxbInBhdGgiLHtkOiJNMiAxMmg4LjUifV0sWyJwYXRoIix7ZDoiTTIwIDZWNGEyIDIgMCAxIDAtNCAwdjIifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNSIseDoiMTQiLHk6IjYiLHJ4OiIxIn1dXX0pO3ZhciBuJCxEJGU9ZigoKT0+e24kPVtbInBhdGgiLHtkOiJtMTYgMyA1IDUifV0sWyJwYXRoIix7ZDoiTTIgMTJoMjBBMTAgMTAgMCAxIDEgMTIgMmExNC41IDE0LjUgMCAwIDAgMCAyMCAxNC41IDE0LjUgMCAwIDAgNC0xMCJ9XSxbInBhdGgiLHtkOiJtMjEgMy01IDUifV1dfSk7dmFyIGwkLEEkZT1mKCgpPT57bCQ9W1sicGF0aCIse2Q6Ik0xMC4xMTQgNC40NjJBMTQuNSAxNC41IDAgMCAxIDEyIDJhMTAgMTAgMCAwIDEgOS4zMTMgMTMuNjQzIn1dLFsicGF0aCIse2Q6Ik0xNS41NTcgMTUuNTU2QTE0LjUgMTQuNSAwIDAgMSAxMiAyMiAxMCAxMCAwIDAgMSA0LjkyOSA0LjkyOSJ9XSxbInBhdGgiLHtkOiJNMTUuODkyIDEwLjIzNEExNC41IDE0LjUgMCAwIDAgMTIgMmExMCAxMCAwIDAgMC0zLjY0My42ODcifV0sWyJwYXRoIix7ZDoiTTE3LjY1NiAxMkgyMiJ9XSxbInBhdGgiLHtkOiJNMTkuMDcxIDE5LjA3MUExMCAxMCAwIDAgMSAxMiAyMiAxNC41IDE0LjUgMCAwIDEgOC40NCA4LjQ1In1dLFsicGF0aCIse2Q6Ik0yIDEyaDEwIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIGMkLEUkZT1mKCgpPT57YyQ9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dLFsicGF0aCIse2Q6Ik0xMiAyYTE0LjUgMTQuNSAwIDAgMCAwIDIwIDE0LjUgMTQuNSAwIDAgMCAwLTIwIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIwIn1dXX0pO3ZhciBkJCxQJGU9ZigoKT0+e2QkPVtbInBhdGgiLHtkOiJNMTIgMTNWMmw4IDQtOCA0In1dLFsicGF0aCIse2Q6Ik0yMC41NjEgMTAuMjIyYTkgOSAwIDEgMS0xMi41NS01LjI5In1dLFsicGF0aCIse2Q6Ik04LjAwMiA5Ljk5N2E1IDUgMCAxIDAgOC45IDIuMDIifV1dfSk7dmFyIHUkLEkkZT1mKCgpPT57dSQ9W1sicGF0aCIse2Q6Ik0yIDE3aDE4YTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDAtMi0ySDIifV0sWyJwYXRoIix7ZDoiTTIgMjFWMyJ9XSxbInBhdGgiLHtkOiJNNyAxN3YzYTEgMSAwIDAgMCAxIDFoNWExIDEgMCAwIDAgMS0xdi0zIn1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMTEiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjExIixyOiIyIn1dXX0pO3ZhciBwJCxOJGU9ZigoKT0+e3AkPVtbInBhdGgiLHtkOiJNMjEuNDIgMTAuOTIyYTEgMSAwIDAgMC0uMDE5LTEuODM4TDEyLjgzIDUuMThhMiAyIDAgMCAwLTEuNjYgMEwyLjYgOS4wOGExIDEgMCAwIDAgMCAxLjgzMmw4LjU3IDMuOTA4YTIgMiAwIDAgMCAxLjY2IDB6In1dLFsicGF0aCIse2Q6Ik0yMiAxMHY2In1dLFsicGF0aCIse2Q6Ik02IDEyLjVWMTZhNiAzIDAgMCAwIDEyIDB2LTMuNSJ9XV19KTt2YXIgZiQsUiRlPWYoKCk9PntmJD1bWyJwYXRoIix7ZDoiTTIyIDVWMmwtNS44OSA1Ljg5In1dLFsiY2lyY2xlIix7Y3g6IjE2LjYiLGN5OiIxNS44OSIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiI4LjExIixjeToiNy40IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjEyLjM1IixjeToiMTEuNjUiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTMuOTEiLGN5OiI1Ljg1IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjE4LjE1IixjeToiMTAuMDkiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiNi41NiIsY3k6IjEzLjIiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTAuOCIsY3k6IjE3LjQ0IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxOSIscjoiMyJ9XV19KTt2YXIgZHUsTyRlPWYoKCk9PntkdT1bWyJwYXRoIix7ZDoiTTEyIDN2MTdhMSAxIDAgMCAxLTEgMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2NmExIDEgMCAwIDEtMSAxSDMifV0sWyJwYXRoIix7ZDoibTE2IDE5IDIgMiA0LTQifV1dfSk7dmFyIHV1LEYkZT1mKCgpPT57dXU9W1sicGF0aCIse2Q6Ik0xMiAzdjE3YTEgMSAwIDAgMS0xIDFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjZhMSAxIDAgMCAxLTEgMUgzIn1dLFsicGF0aCIse2Q6Ik0xNiAxOWg2In1dLFsicGF0aCIse2Q6Ik0xOSAyMnYtNiJ9XV19KTt2YXIgcHUsQiRlPWYoKCk9PntwdT1bWyJwYXRoIix7ZDoiTTEyIDN2MTdhMSAxIDAgMCAxLTEgMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2NmExIDEgMCAwIDEtMSAxSDMifV0sWyJwYXRoIix7ZDoibTE2IDE2IDUgNSJ9XSxbInBhdGgiLHtkOiJtMTYgMjEgNS01In1dXX0pO3ZhciBmdSxIJGU9ZigoKT0+e2Z1PVtbInBhdGgiLHtkOiJNMTIgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxOCJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBoJCxxJGU9ZigoKT0+e2gkPVtbInBhdGgiLHtkOiJNMTUgM3YxOCJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxOCJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dfSk7dmFyIGljLFYkZT1mKCgpPT57aWM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgOWgxOCJ9XSxbInBhdGgiLHtkOiJNMyAxNWgxOCJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsicGF0aCIse2Q6Ik0xNSAzdjE4In1dXX0pO3ZhciBtJCxqJGU9ZigoKT0+e20kPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjkiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiI5IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiI5IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTUiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxNSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTUiLHI6IjEifV1dfSk7dmFyIGckLFUkZT1mKCgpPT57ZyQ9W1siY2lyY2xlIix7Y3g6IjkiLGN5OiIxMiIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiNSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiMTkiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTUiLGN5OiIxMiIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxNSIsY3k6IjUiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTUiLGN5OiIxOSIscjoiMSJ9XV19KTt2YXIgYiQsVyRlPWYoKCk9PntiJD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI1IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiNSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiNSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMTIiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjEyIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTkiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxOSIscjoiMSJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTkiLHI6IjEifV1dfSk7dmFyIHYkLEckZT1mKCgpPT57diQ9W1sicGF0aCIse2Q6Ik0zIDdWNWMwLTEuMS45LTIgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmMxLjEgMCAyIC45IDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYzAgMS4xLS45IDItMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVjLTEuMSAwLTItLjktMi0ydi0yIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjUiLHg6IjciLHk6IjciLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjUiLHg6IjEwIix5OiIxMiIscng6IjEifV1dfSk7dmFyIHgkLFkkZT1mKCgpPT57eCQ9W1sicGF0aCIse2Q6Im0xMS45IDEyLjEgNC41MTQtNC41MTQifV0sWyJwYXRoIix7ZDoiTTIwLjEgMi4zYTEgMSAwIDAgMC0xLjQgMGwtMS4xMTQgMS4xMTRBMiAyIDAgMCAwIDE3IDQuODI4djEuMzQ0YTIgMiAwIDAgMS0uNTg2IDEuNDE0QTIgMiAwIDAgMSAxNy44MjggN2gxLjM0NGEyIDIgMCAwIDAgMS40MTQtLjU4NkwyMS43IDUuM2ExIDEgMCAwIDAgMC0xLjR6In1dLFsicGF0aCIse2Q6Im02IDE2IDIgMiJ9XSxbInBhdGgiLHtkOiJNOC4yMyA5Ljg1QTMgMyAwIDAgMSAxMSA4YTUgNSAwIDAgMSA1IDUgMyAzIDAgMCAxLTEuODUgMi43N2wtLjkyLjM4QTIgMiAwIDAgMCAxMiAxOGE0IDQgMCAwIDEtNCA0IDYgNiAwIDAgMS02LTYgNCA0IDAgMCAxIDQtNCAyIDIgMCAwIDAgMS44NS0xLjIzeiJ9XV19KTt2YXIgeSQsSyRlPWYoKCk9Pnt5JD1bWyJwYXRoIix7ZDoiTTEzLjE0NCAyMS4xNDRBNy4yNzQgMTAuNDQ1IDQ1IDEgMCAyLjg1NiAxMC44NTYifV0sWyJwYXRoIix7ZDoiTTEzLjE0NCAyMS4xNDRBNy4yNzQgNC4zNjUgNDUgMCAwIDIuODU2IDEwLjg1NmE3LjI3NCA0LjM2NSA0NSAwIDAgMTAuMjg4IDEwLjI4OCJ9XSxbInBhdGgiLHtkOiJNMTYuNTY1IDEwLjQzNSAxOC42IDguNGEyLjUwMSAyLjUwMSAwIDEgMCAxLjY1LTQuNjUgMi41IDIuNSAwIDEgMC00LjY2IDEuNjZsLTIuMDI0IDIuMDI1In1dLFsicGF0aCIse2Q6Im04LjUgMTYuNS0xLTEifV1dfSk7dmFyIHckLFokZT1mKCgpPT57dyQ9W1sicGF0aCIse2Q6Ik0xMiAxNkg0YTIgMiAwIDEgMSAwLTRoMTZhMiAyIDAgMSAxIDAgNGgtNC4yNSJ9XSxbInBhdGgiLHtkOiJNNSAxMmEyIDIgMCAwIDEtMi0yIDkgNyAwIDAgMSAxOCAwIDIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTUgMTZhMiAyIDAgMCAwLTIgMiAzIDMgMCAwIDAgMyAzaDEyYTMgMyAwIDAgMCAzLTMgMiAyIDAgMCAwLTItMnEwIDAgMCAwIn1dLFsicGF0aCIse2Q6Im02LjY3IDEyIDYuMTMgNC42YTIgMiAwIDAgMCAyLjgtLjRsMy4xNS00LjIifV1dfSk7dmFyIE0kLFgkZT1mKCgpPT57TSQ9W1sicGF0aCIse2Q6Im0xNSAxMi05LjM3MyA5LjM3M2ExIDEgMCAwIDEtMy4wMDEtM0wxMiA5In1dLFsicGF0aCIse2Q6Im0xOCAxNSA0LTQifV0sWyJwYXRoIix7ZDoibTIxLjUgMTEuNS0xLjkxNC0xLjkxNEEyIDIgMCAwIDEgMTkgOC4xNzJ2LS4zNDRhMiAyIDAgMCAwLS41ODYtMS40MTRsLTEuNjU3LTEuNjU3QTYgNiAwIDAgMCAxMi41MTYgM0g5bDEuMjQzIDEuMjQzQTYgNiAwIDAgMSAxMiA4LjQ4NVYxMGwyIDJoMS4xNzJhMiAyIDAgMCAxIDEuNDE0LjU4NkwxOC41IDE0LjUifV1dfSk7dmFyIGskLFEkZT1mKCgpPT57ayQ9W1sicGF0aCIse2Q6Ik0xMSAxNWgyYTIgMiAwIDEgMCAwLTRoLTNjLS42IDAtMS4xLjItMS40LjZMMyAxNyJ9XSxbInBhdGgiLHtkOiJtNyAyMSAxLjYtMS40Yy4zLS40LjgtLjYgMS40LS42aDRjMS4xIDAgMi4xLS40IDIuOC0xLjJsNC42LTQuNGEyIDIgMCAwIDAtMi43NS0yLjkxbC00LjIgMy45In1dLFsicGF0aCIse2Q6Im0yIDE2IDYgNiJ9XSxbImNpcmNsZSIse2N4OiIxNiIsY3k6IjkiLHI6IjIuOSJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiNSIscjoiMyJ9XV19KTt2YXIgUyQsSiRlPWYoKCk9PntTJD1bWyJwYXRoIix7ZDoiTTEyLjAzNSAxNy4wMTJhMyAzIDAgMCAwLTMtM2wtLjMxMS0uMDAyYS43Mi43MiAwIDAgMS0uNTA1LTEuMjI5bDEuMTk1LTEuMTk1QTIgMiAwIDAgMSAxMC44MjggMTFIMTJhMiAyIDAgMCAwIDAtNEg5LjI0M2EzIDMgMCAwIDAtMi4xMjIuODc5bC0yLjcwNyAyLjcwN0E0LjgzIDQuODMgMCAwIDAgMyAxNGE4IDggMCAwIDAgOCA4aDJhOCA4IDAgMCAwIDgtOFY3YTIgMiAwIDEgMC00IDB2MmEyIDIgMCAxIDAgNCAwIn1dLFsicGF0aCIse2Q6Ik0xMy44ODggOS42NjJBMiAyIDAgMCAwIDE3IDhWNUEyIDIgMCAxIDAgMTMgNSJ9XSxbInBhdGgiLHtkOiJNOSA1QTIgMiAwIDEgMCA1IDVWMTAifV0sWyJwYXRoIix7ZDoiTTkgN1Y0QTIgMiAwIDEgMSAxMyA0VjcuMjY4In1dXX0pO3ZhciBodSxlRGU9ZigoKT0+e2h1PVtbInBhdGgiLHtkOiJNMTggMTEuNVY5YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnYxLjQifV0sWyJwYXRoIix7ZDoiTTE0IDEwVjhhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDAtMiAydjIifV0sWyJwYXRoIix7ZDoiTTEwIDkuOVY5YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnY1In1dLFsicGF0aCIse2Q6Ik02IDE0YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTggMTFhMiAyIDAgMSAxIDQgMHYzYTggOCAwIDAgMS04IDhoLTRhOCA4IDAgMCAxLTgtOCAyIDIgMCAxIDEgNCAwIn1dXX0pO3ZhciB6JCx0RGU9ZigoKT0+e3okPVtbInBhdGgiLHtkOiJNMTEgMTRoMmEyIDIgMCAwIDAgMC00aC0zYy0uNiAwLTEuMS4yLTEuNC42TDMgMTYifV0sWyJwYXRoIix7ZDoibTE0LjQ1IDEzLjM5IDUuMDUtNC42OTRDMjAuMTk2IDggMjEgNi44NSAyMSA1Ljc1YTIuNzUgMi43NSAwIDAgMC00Ljc5Ny0xLjgzNy4yNzYuMjc2IDAgMCAxLS40MDYgMEEyLjc1IDIuNzUgMCAwIDAgMTEgNS43NWMwIDEuMi44MDIgMi4yNDggMS41IDIuOTQ2TDE2IDExLjk1In1dLFsicGF0aCIse2Q6Im0yIDE1IDYgNiJ9XSxbInBhdGgiLHtkOiJtNyAyMCAxLjYtMS40Yy4zLS40LjgtLjYgMS40LS42aDRjMS4xIDAgMi4xLS40IDIuOC0xLjJsNC42LTQuNGExIDEgMCAwIDAtMi43NS0yLjkxIn1dXX0pO3ZhciBtdSxhRGU9ZigoKT0+e211PVtbInBhdGgiLHtkOiJNMTEgMTJoMmEyIDIgMCAxIDAgMC00aC0zYy0uNiAwLTEuMS4yLTEuNC42TDMgMTQifV0sWyJwYXRoIix7ZDoibTcgMTggMS42LTEuNGMuMy0uNC44LS42IDEuNC0uNmg0YzEuMSAwIDIuMS0uNCAyLjgtMS4ybDQuNi00LjRhMiAyIDAgMCAwLTIuNzUtMi45MWwtNC4yIDMuOSJ9XSxbInBhdGgiLHtkOiJtMiAxMyA2IDYifV1dfSk7dmFyIEMkLHJEZT1mKCgpPT57QyQ9W1sicGF0aCIse2Q6Ik0xOCAxMi41VjEwYTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnYxLjQifV0sWyJwYXRoIix7ZDoiTTE0IDExVjlhMiAyIDAgMSAwLTQgMHYyIn1dLFsicGF0aCIse2Q6Ik0xMCAxMC41VjVhMiAyIDAgMSAwLTQgMHY5In1dLFsicGF0aCIse2Q6Im03IDE1LTEuNzYtMS43NmEyIDIgMCAwIDAtMi44MyAyLjgybDMuNiAzLjZDNy41IDIxLjE0IDkuMiAyMiAxMiAyMmgyYTggOCAwIDAgMCA4LThWN2EyIDIgMCAxIDAtNCAwdjUifV1dfSk7dmFyIF8kLHNEZT1mKCgpPT57XyQ9W1sicGF0aCIse2Q6Ik0xMiAzVjIifV0sWyJwYXRoIix7ZDoibTE1LjQgMTcuNCAzLjItMi44YTIgMiAwIDEgMSAyLjggMi45bC0zLjYgMy4zYy0uNy44LTEuNyAxLjItMi44IDEuMmgtNGMtMS4xIDAtMi4xLS40LTIuOC0xLjJsLTEuMzAyLTEuNDY0QTEgMSAwIDAgMCA2LjE1MSAxOUg1In1dLFsicGF0aCIse2Q6Ik0yIDE0aDEyYTIgMiAwIDAgMSAwIDRoLTIifV0sWyJwYXRoIix7ZDoiTTQgMTBoMTYifV0sWyJwYXRoIix7ZDoiTTUgMTBhNyA3IDAgMCAxIDE0IDAifV0sWyJwYXRoIix7ZDoiTTUgMTR2NmExIDEgMCAwIDEtMSAxSDIifV1dfSk7dmFyIFQkLGlEZT1mKCgpPT57VCQ9W1sicGF0aCIse2Q6Ik0xOCAxMVY2YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTQgMTBWNGEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTAgMTAuNVY2YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnY4In1dLFsicGF0aCIse2Q6Ik0xOCA4YTIgMiAwIDEgMSA0IDB2NmE4IDggMCAwIDEtOCA4aC0yYy0yLjggMC00LjUtLjg2LTUuOTktMi4zNGwtMy42LTMuNmEyIDIgMCAwIDEgMi44My0yLjgyTDcgMTUifV1dfSk7dmFyIEwkLG9EZT1mKCgpPT57TCQ9W1sicGF0aCIse2Q6Ik0yLjA0OCAxOC41NjZBMiAyIDAgMCAwIDQgMjFoMTZhMiAyIDAgMCAwIDEuOTUyLTIuNDM0bC0yLTlBMiAyIDAgMCAwIDE4IDhINmEyIDIgMCAwIDAtMS45NTIgMS41NjZ6In1dLFsicGF0aCIse2Q6Ik04IDExVjZhNCA0IDAgMCAxIDggMHY1In1dXX0pO3ZhciAkJCxuRGU9ZigoKT0+eyQkPVtbInBhdGgiLHtkOiJtMTEgMTcgMiAyYTEgMSAwIDEgMCAzLTMifV0sWyJwYXRoIix7ZDoibTE0IDE0IDIuNSAyLjVhMSAxIDAgMSAwIDMtM2wtMy44OC0zLjg4YTMgMyAwIDAgMC00LjI0IDBsLS44OC44OGExIDEgMCAxIDEtMy0zbDIuODEtMi44MWE1Ljc5IDUuNzkgMCAwIDEgNy4wNi0uODdsLjQ3LjI4YTIgMiAwIDAgMCAxLjQyLjI1TDIxIDQifV0sWyJwYXRoIix7ZDoibTIxIDMgMSAxMWgtMiJ9XSxbInBhdGgiLHtkOiJNMyAzIDIgMTRsNi41IDYuNWExIDEgMCAxIDAgMy0zIn1dLFsicGF0aCIse2Q6Ik0zIDRoOCJ9XV19KTt2YXIgRCQsbERlPWYoKCk9PntEJD1bWyJwYXRoIix7ZDoiTTEyIDJ2OCJ9XSxbInBhdGgiLHtkOiJtMTYgNi00IDQtNC00In1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI4Iix4OiIyIix5OiIxNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTYgMThoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMCAxOGguMDEifV1dfSk7dmFyIEEkLGNEZT1mKCgpPT57QSQ9W1sicGF0aCIse2Q6Im0xNiA2LTQtNC00IDQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2OCJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiMTQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik02IDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMThoLjAxIn1dXX0pO3ZhciBFJCxkRGU9ZigoKT0+e0UkPVtbInBhdGgiLHtkOiJNMTAgMTBWNWExIDEgMCAwIDEgMS0xaDJhMSAxIDAgMCAxIDEgMXY1In1dLFsicGF0aCIse2Q6Ik0xNCA2YTYgNiAwIDAgMSA2IDZ2MyJ9XSxbInBhdGgiLHtkOiJNNCAxNXYtM2E2IDYgMCAwIDEgNi02In1dLFsicmVjdCIse3g6IjIiLHk6IjE1Iix3aWR0aDoiMjAiLGhlaWdodDoiNCIscng6IjEifV1dfSk7dmFyIFAkLHVEZT1mKCgpPT57UCQ9W1sicGF0aCIse2Q6Ik0xMCAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTIuMjEyIDExLjU3N2EyIDIgMCAwIDAtLjIxMi44OTZWMThhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi01LjUyN2EyIDIgMCAwIDAtLjIxMi0uODk2TDE4LjU1IDUuMTFBMiAyIDAgMCAwIDE2Ljc2IDRINy4yNGEyIDIgMCAwIDAtMS43OSAxLjExeiJ9XSxbInBhdGgiLHtkOiJNMjEuOTQ2IDEyLjAxM0gyLjA1NCJ9XSxbInBhdGgiLHtkOiJNNiAxNmguMDEifV1dfSk7dmFyIEkkLHBEZT1mKCgpPT57SSQ9W1sibGluZSIse3gxOiI0Iix4MjoiMjAiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiNCIseDI6IjIwIix5MToiMTUiLHkyOiIxNSJ9XSxbImxpbmUiLHt4MToiMTAiLHgyOiI4Iix5MToiMyIseTI6IjIxIn1dLFsibGluZSIse3gxOiIxNiIseDI6IjE0Iix5MToiMyIseTI6IjIxIn1dXX0pO3ZhciBOJCxmRGU9ZigoKT0+e04kPVtbInBhdGgiLHtkOiJNMTQgMThhMiAyIDAgMCAwLTQgMCJ9XSxbInBhdGgiLHtkOiJtMTkgMTEtMi4xMS02LjY1N2EyIDIgMCAwIDAtMi43NTItMS4xNDhsLTEuMjc2LjYxQTIgMiAwIDAgMSAxMiA0SDguNWEyIDIgMCAwIDAtMS45MjUgMS40NTZMNSAxMSJ9XSxbInBhdGgiLHtkOiJNMiAxMWgyMCJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE4IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgUiQsaERlPWYoKCk9PntSJD1bWyJwYXRoIix7ZDoibTUuMiA2LjIgMS40IDEuNCJ9XSxbInBhdGgiLHtkOiJNMiAxM2gyIn1dLFsicGF0aCIse2Q6Ik0yMCAxM2gyIn1dLFsicGF0aCIse2Q6Im0xNy40IDcuNiAxLjQtMS40In1dLFsicGF0aCIse2Q6Ik0yMiAxN0gyIn1dLFsicGF0aCIse2Q6Ik0yMiAyMUgyIn1dLFsicGF0aCIse2Q6Ik0xNiAxM2E0IDQgMCAwIDAtOCAwIn1dLFsicGF0aCIse2Q6Ik0xMiA1VjIuNSJ9XV19KTt2YXIgTyQsbURlPWYoKCk9PntPJD1bWyJwYXRoIix7ZDoiTTEwIDEySDYifV0sWyJwYXRoIix7ZDoiTTEwIDE1VjkifV0sWyJwYXRoIix7ZDoiTTE0IDE0LjVhLjUuNSAwIDAgMCAuNS41aDFhMi41IDIuNSAwIDAgMCAyLjUtMi41di0xQTIuNSAyLjUgMCAwIDAgMTUuNSA5aC0xYS41LjUgMCAwIDAtLjUuNXoifV0sWyJwYXRoIix7ZDoiTTYgMTVWOSJ9XSxbInJlY3QiLHt4OiIyIix5OiI1Iix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXX0pO3ZhciBGJCxnRGU9ZigoKT0+e0YkPVtbInBhdGgiLHtkOiJNMjIgOWExIDEgMCAwIDAtMS0xSDNhMSAxIDAgMCAwLTEgMXY0YTEgMSAwIDAgMCAxIDFoMWwyIDJoMTJsMi0yaDFhMSAxIDAgMCAwIDEtMVoifV0sWyJwYXRoIix7ZDoiTTcuNSAxMmg5In1dXX0pO3ZhciBCJCxiRGU9ZigoKT0+e0IkPVtbInBhdGgiLHtkOiJNNCAxMmg4In1dLFsicGF0aCIse2Q6Ik00IDE4VjYifV0sWyJwYXRoIix7ZDoiTTEyIDE4VjYifV0sWyJwYXRoIix7ZDoibTE3IDEyIDMtMnY4In1dXX0pO3ZhciBIJCx2RGU9ZigoKT0+e0gkPVtbInBhdGgiLHtkOiJNNCAxMmg4In1dLFsicGF0aCIse2Q6Ik00IDE4VjYifV0sWyJwYXRoIix7ZDoiTTEyIDE4VjYifV0sWyJwYXRoIix7ZDoiTTIxIDE4aC00YzAtNCA0LTMgNC02IDAtMS41LTItMi41LTQtMSJ9XV19KTt2YXIgcSQseERlPWYoKCk9PntxJD1bWyJwYXRoIix7ZDoiTTQgMTJoOCJ9XSxbInBhdGgiLHtkOiJNNCAxOFY2In1dLFsicGF0aCIse2Q6Ik0xMiAxOFY2In1dLFsicGF0aCIse2Q6Ik0xNy41IDEwLjVjMS43LTEgMy41IDAgMy41IDEuNWEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik0xNyAxNy41YzIgMS41IDQgLjMgNC0xLjVhMiAyIDAgMCAwLTItMiJ9XV19KTt2YXIgViQseURlPWYoKCk9PntWJD1bWyJwYXRoIix7ZDoiTTEyIDE4VjYifV0sWyJwYXRoIix7ZDoiTTE3IDEwdjNhMSAxIDAgMCAwIDEgMWgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxMHY4In1dLFsicGF0aCIse2Q6Ik00IDEyaDgifV0sWyJwYXRoIix7ZDoiTTQgMThWNiJ9XV19KTt2YXIgaiQsd0RlPWYoKCk9PntqJD1bWyJwYXRoIix7ZDoiTTQgMTJoOCJ9XSxbInBhdGgiLHtkOiJNNCAxOFY2In1dLFsicGF0aCIse2Q6Ik0xMiAxOFY2In1dLFsicGF0aCIse2Q6Ik0xNyAxM3YtM2g0In1dLFsicGF0aCIse2Q6Ik0xNyAxNy43Yy40LjIuOC4zIDEuMy4zIDEuNSAwIDIuNy0xLjEgMi43LTIuNVMxOS44IDEzIDE4LjMgMTNIMTcifV1dfSk7dmFyIFUkLE1EZT1mKCgpPT57VSQ9W1sicGF0aCIse2Q6Ik00IDEyaDgifV0sWyJwYXRoIix7ZDoiTTQgMThWNiJ9XSxbInBhdGgiLHtkOiJNMTIgMThWNiJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE2IixyOiIyIn1dLFsicGF0aCIse2Q6Ik0yMCAxMGMtMiAyLTMgMy41LTMgNiJ9XV19KTt2YXIgVyQsa0RlPWYoKCk9PntXJD1bWyJwYXRoIix7ZDoiTTYgMTJoMTIifV0sWyJwYXRoIix7ZDoiTTYgMjBWNCJ9XSxbInBhdGgiLHtkOiJNMTggMjBWNCJ9XV19KTt2YXIgRyQsU0RlPWYoKCk9PntHJD1bWyJwYXRoIix7ZDoiTTIxIDE0aC0xLjM0MyJ9XSxbInBhdGgiLHtkOiJNOS4xMjggMy40N0E5IDkgMCAwIDEgMjEgMTJ2My4zNDMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjAuNDE0IDIwLjQxNEEyIDIgMCAwIDEgMTkgMjFoLTFhMiAyIDAgMCAxLTItMnYtMyJ9XSxbInBhdGgiLHtkOiJNMyAxNGgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtN2E5IDkgMCAwIDEgMi42MzYtNi4zNjQifV1dfSk7dmFyIFkkLHpEZT1mKCgpPT57WSQ9W1sicGF0aCIse2Q6Ik0zIDExaDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi01Wm0wIDBhOSA5IDAgMSAxIDE4IDBtMCAwdjVhMiAyIDAgMCAxLTIgMmgtMWEyIDIgMCAwIDEtMi0ydi0zYTIgMiAwIDAgMSAyLTJoM1oifV0sWyJwYXRoIix7ZDoiTTIxIDE2djJhNCA0IDAgMCAxLTQgNGgtNSJ9XV19KTt2YXIgSyQsQ0RlPWYoKCk9PntLJD1bWyJwYXRoIix7ZDoiTTMgMTRoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTdhOSA5IDAgMCAxIDE4IDB2N2EyIDIgMCAwIDEtMiAyaC0xYTIgMiAwIDAgMS0yLTJ2LTNhMiAyIDAgMCAxIDItMmgzIn1dXX0pO3ZhciBaJCxfRGU9ZigoKT0+e1okPVtbInBhdGgiLHtkOiJNMTIuNDA5IDUuODI0Yy0uNzAyLjc5Mi0xLjE1IDEuNDk2LTEuNDE1IDIuMTY2bDIuMTUzIDIuMTU2YS41LjUgMCAwIDEgMCAuNzA3bC0yLjI5MyAyLjI5M2EuNS41IDAgMCAwIDAgLjcwN0wxMiAxNSJ9XSxbInBhdGgiLHtkOiJNMTMuNTA4IDIwLjMxM2EyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjVhNS41IDUuNSAwIDAgMSA5LjU5MS0zLjY3Ny42LjYgMCAwIDAgLjgxOC4wMDFBNS41IDUuNSAwIDAgMSAyMiA5LjVjMCAyLjI5LTEuNSA0LTMgNS41eiJ9XV19KTt2YXIgWCQsVERlPWYoKCk9PntYJD1bWyJwYXRoIix7ZDoiTTE5LjQxNCAxNC40MTRDMjEgMTIuODI4IDIyIDExLjUgMjIgOS41YTUuNSA1LjUgMCAwIDAtOS41OTEtMy42NzYuNi42IDAgMCAxLS44MTguMDAxQTUuNSA1LjUgMCAwIDAgMiA5LjVjMCAyLjMgMS41IDQgMyA1LjVsNS41MzUgNS4zNjJhMiAyIDAgMCAwIDIuODc5LjA1MiAyLjEyIDIuMTIgMCAwIDAtLjAwNC0zIDIuMTI0IDIuMTI0IDAgMSAwIDMtMyAyLjEyNCAyLjEyNCAwIDAgMCAzLjAwNCAwIDIgMiAwIDAgMCAwLTIuODI4bC0xLjg4MS0xLjg4MmEyLjQxIDIuNDEgMCAwIDAtMy40MDkgMGwtMS43MSAxLjcxYTIgMiAwIDAgMS0yLjgyOCAwIDIgMiAwIDAgMSAwLTIuODI4bDIuODIzLTIuNzYyIn1dXX0pO3ZhciBRJCxMRGU9ZigoKT0+e1EkPVtbInBhdGgiLHtkOiJtMTQuODc2IDE4Ljk5LTEuMzY4IDEuMzIzYTIgMiAwIDAgMS0zIC4wMTlMNSAxNWMtMS41LTEuNS0zLTMuMi0zLTUuNWE1LjUgNS41IDAgMCAxIDkuNTkxLTMuNjc2LjU2LjU2IDAgMCAwIC44MTggMEE1LjQ5IDUuNDkgMCAwIDEgMjIgOS41YTUuMiA1LjIgMCAwIDEtLjI0NCAxLjU3MiJ9XSxbInBhdGgiLHtkOiJNMTUgMTVoNiJ9XV19KTt2YXIgSiQsJERlPWYoKCk9PntKJD1bWyJwYXRoIix7ZDoiTTEwLjUgNC44OTNhNS41IDUuNSAwIDAgMSAxLjA5MS45MzEuNTYuNTYgMCAwIDAgLjgxOCAwQTUuNDkgNS40OSAwIDAgMSAyMiA5LjVjMCAxLjg3Mi0xLjAwMiAzLjM1Ni0yLjE4NyA0LjY1NSJ9XSxbInBhdGgiLHtkOiJtMTYuOTY3IDE2Ljk2Ny0zLjQ1OSAzLjM0NmEyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjVhNS41IDUuNSAwIDAgMSAyLjc0Ny00Ljc2MSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciBlRCxERGU9ZigoKT0+e2VEPVtbInBhdGgiLHtkOiJtMTQuNDc5IDE5LjM3NC0uOTcxLjkzOWEyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjVhNS41IDUuNSAwIDAgMSA5LjU5MS0zLjY3Ni41Ni41NiAwIDAgMCAuODE4IDBBNS40OSA1LjQ5IDAgMCAxIDIyIDkuNWE1LjIgNS4yIDAgMCAxLS4yMTkgMS40OSJ9XSxbInBhdGgiLHtkOiJNMTUgMTVoNiJ9XSxbInBhdGgiLHtkOiJNMTggMTJ2NiJ9XV19KTt2YXIgdEQsQURlPWYoKCk9Pnt0RD1bWyJwYXRoIix7ZDoiTTIgOS41YTUuNSA1LjUgMCAwIDEgOS41OTEtMy42NzYuNTYuNTYgMCAwIDAgLjgxOCAwQTUuNDkgNS40OSAwIDAgMSAyMiA5LjVjMCAyLjI5LTEuNSA0LTMgNS41bC01LjQ5MiA1LjMxM2EyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjUifV0sWyJwYXRoIix7ZDoiTTMuMjIgMTNIOS41bC41LTEgMiA0LjUgMi03IDEuNSAzLjVoNS4yNyJ9XV19KTt2YXIgYUQsRURlPWYoKCk9PnthRD1bWyJwYXRoIix7ZDoibTE1LjUgMTIuNSA1IDUifV0sWyJwYXRoIix7ZDoibTIwLjUgMTIuNS01IDUifV0sWyJwYXRoIix7ZDoiTTIxLjk1NSA4Ljc3NGE1LjUgNS41IDAgMCAwLTkuNTQ2LTIuOTUuNi42IDAgMCAxLS44MTggMEE1LjUgNS41IDAgMCAwIDIgOS41YzAgMi4zIDEuNSA0IDMgNS41bDUuNTA4IDUuMzMyYTIgMiAwIDAgMCAyLjU3LjM1MiJ9XV19KTt2YXIgckQsUERlPWYoKCk9PntyRD1bWyJwYXRoIix7ZDoiTTIgOS41YTUuNSA1LjUgMCAwIDEgOS41OTEtMy42NzYuNTYuNTYgMCAwIDAgLjgxOCAwQTUuNDkgNS40OSAwIDAgMSAyMiA5LjVjMCAyLjI5LTEuNSA0LTMgNS41bC01LjQ5MiA1LjMxM2EyIDIgMCAwIDEtMyAuMDE5TDUgMTVjLTEuNS0xLjUtMy0zLjItMy01LjUifV1dfSk7dmFyIHNELElEZT1mKCgpPT57c0Q9W1sicGF0aCIse2Q6Ik0xMSA4YzItMy0yLTMgMC02In1dLFsicGF0aCIse2Q6Ik0xNS41IDhjMi0zLTItMyAwLTYifV0sWyJwYXRoIix7ZDoiTTYgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik02IDE0aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMTZ2LTQifV0sWyJwYXRoIix7ZDoiTTE0IDE2di00In1dLFsicGF0aCIse2Q6Ik0xOCAxNnYtNCJ9XSxbInBhdGgiLHtkOiJNMjAgNmEyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmgzIn1dLFsicGF0aCIse2Q6Ik01IDIwdjIifV0sWyJwYXRoIix7ZDoiTTE5IDIwdjIifV1dfSk7dmFyIGlELE5EZT1mKCgpPT57aUQ9W1sicGF0aCIse2Q6Ik0xMSAxN3Y0In1dLFsicGF0aCIse2Q6Ik0xNCAzdjhhMiAyIDAgMCAwIDIgMmg1Ljg2NSJ9XSxbInBhdGgiLHtkOiJNMTcgMTd2NCJ9XSxbInBhdGgiLHtkOiJNMTggMTdhNCA0IDAgMCAwIDQtNCA4IDYgMCAwIDAtOC02IDYgNSAwIDAgMC02IDV2M2EyIDIgMCAwIDAgMiAyeiJ9XSxbInBhdGgiLHtkOiJNMiAxMHY1In1dLFsicGF0aCIse2Q6Ik02IDNoMTYifV0sWyJwYXRoIix7ZDoiTTcgMjFoMTQifV0sWyJwYXRoIix7ZDoiTTggMTNIMiJ9XV19KTt2YXIgb0QsUkRlPWYoKCk9PntvRD1bWyJwYXRoIix7ZDoiTTIxIDE2VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43M2w3IDRhMiAyIDAgMCAwIDIgMGw3LTRBMiAyIDAgMCAwIDIxIDE2eiJ9XV19KTt2YXIgbkQsT0RlPWYoKCk9PntuRD1bWyJwYXRoIix7ZDoibTkgMTEtNiA2djNoOWwzLTMifV0sWyJwYXRoIix7ZDoibTIyIDEyLTQuNiA0LjZhMiAyIDAgMCAxLTIuOCAwbC01LjItNS4yYTIgMiAwIDAgMSAwLTIuOEwxNCA0In1dXX0pO3ZhciBsRCxGRGU9ZigoKT0+e2xEPVtbInBhdGgiLHtkOiJNMyAxMmE5IDkgMCAxIDAgOS05IDkuNzUgOS43NSAwIDAgMC02Ljc0IDIuNzRMMyA4In1dLFsicGF0aCIse2Q6Ik0zIDN2NWg1In1dLFsicGF0aCIse2Q6Ik0xMiA3djVsNCAyIn1dXX0pO3ZhciBjRCxCRGU9ZigoKT0+e2NEPVtbInBhdGgiLHtkOiJNMTAuODIgMTYuMTJjMS42OS42IDMuOTEuNzkgNS4xOC44NS41NS4wMyAxLS40Mi45Ny0uOTctLjA2LTEuMjctLjI2LTMuNS0uODUtNS4xOCJ9XSxbInBhdGgiLHtkOiJNMTEuNSA2LjVjMS42NCAwIDUtLjM4IDYuNzEtMS4wNy41Mi0uMi41NS0uODIuMTItMS4xN0ExMCAxMCAwIDAgMCA0LjI2IDE4LjMzYy4zNS40My45Ni40IDEuMTctLjEyLjY5LTEuNzEgMS4wNy01LjA3IDEuMDctNi43MSAxLjM0LjQ1IDMuMS45IDQuODguNjJhLjg4Ljg4IDAgMCAwIC43My0uNzRjLjMtMi4xNC0uMTUtMy41LS42MS00Ljg4In1dLFsicGF0aCIse2Q6Ik0xNS42MiAxNi45NWMuMi44NS42MiAyLjc2LjUgNC4yOGEuNzcuNzcgMCAwIDEtLjkuNyAxNi42NCAxNi42NCAwIDAgMS00LjA4LTEuMzYifV0sWyJwYXRoIix7ZDoiTTE2LjEzIDIxLjA1YzEuNjUuNjMgMy42OC44NCA0Ljg3LjkxYS45LjkgMCAwIDAgLjk2LS45NiAxNy42OCAxNy42OCAwIDAgMC0uOS00Ljg3In1dLFsicGF0aCIse2Q6Ik0xNi45NCAxNS42MmMuODYuMiAyLjc3LjYyIDQuMjkuNWEuNzcuNzcgMCAwIDAgLjctLjkgMTYuNjQgMTYuNjQgMCAwIDAtMS4zNi00LjA4In1dLFsicGF0aCIse2Q6Ik0xNy45OSA1LjUyYTIwLjgyIDIwLjgyIDAgMCAxIDMuMTUgNC41LjguOCAwIDAgMS0uNjggMS4xM2MtMi4zMy4yLTUuMy0uMzItOC4yNy0xLjU3In1dLFsicGF0aCIse2Q6Ik00LjkzIDQuOTMgMyAzYS43LjcgMCAwIDEgMC0xIn1dLFsicGF0aCIse2Q6Ik05LjU4IDEyLjE4YzEuMjQgMi45OCAxLjc3IDUuOTUgMS41NyA4LjI4YS44LjggMCAwIDEtMS4xMy42OCAyMC44MiAyMC44MiAwIDAgMS00LjUtMy4xNSJ9XV19KTt2YXIgZEQsSERlPWYoKCk9PntkRD1bWyJwYXRoIix7ZDoiTTEwLjgyIDE2LjEyYzEuNjkuNiAzLjkxLjc5IDUuMTguODUuMjguMDEuNTMtLjA5LjctLjI3In1dLFsicGF0aCIse2Q6Ik0xMS4xNCAyMC41N2MuNTIuMjQgMi40NCAxLjEyIDQuMDggMS4zNy40Ni4wNi44Ni0uMjUuOS0uNzEuMTItMS41Mi0uMy0zLjQzLS41LTQuMjgifV0sWyJwYXRoIix7ZDoiTTE2LjEzIDIxLjA1YzEuNjUuNjMgMy42OC44NCA0Ljg3LjkxYS45LjkgMCAwIDAgLjctLjI2In1dLFsicGF0aCIse2Q6Ik0xNy45OSA1LjUyYTIwLjgzIDIwLjgzIDAgMCAxIDMuMTUgNC41LjguOCAwIDAgMS0uNjggMS4xM2MtMS4xNy4xLTIuNS4wMi0zLjktLjI1In1dLFsicGF0aCIse2Q6Ik0yMC41NyAxMS4xNGMuMjQuNTIgMS4xMiAyLjQ0IDEuMzcgNC4wOC4wNC4zLS4wOC41OS0uMzEuNzUifV0sWyJwYXRoIix7ZDoiTTQuOTMgNC45M2ExMCAxMCAwIDAgMC0uNjcgMTMuNGMuMzUuNDMuOTYuNCAxLjE3LS4xMi42OS0xLjcxIDEuMDctNS4wNyAxLjA3LTYuNzEgMS4zNC40NSAzLjEuOSA0Ljg4LjYyYS44NS44NSAwIDAgMCAuNDgtLjI0In1dLFsicGF0aCIse2Q6Ik01LjUyIDE3Ljk5YzEuMDUuOTUgMi45MSAyLjQyIDQuNSAzLjE1YS44LjggMCAwIDAgMS4xMy0uNjhjLjItMi4zNC0uMzMtNS4zLTEuNTctOC4yOCJ9XSxbInBhdGgiLHtkOiJNOC4zNSAyLjY4YTEwIDEwIDAgMCAxIDkuOTggMS41OGMuNDMuMzUuNC45Ni0uMTIgMS4xNy0xLjUuNi00LjMuOTgtNi4wNyAxLjA1In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIHVELHFEZT1mKCgpPT57dUQ9W1sicGF0aCIse2Q6Ik0xMiA3djQifV0sWyJwYXRoIix7ZDoiTTE0IDIxdi0zYTIgMiAwIDAgMC00IDB2MyJ9XSxbInBhdGgiLHtkOiJNMTQgOWgtNCJ9XSxbInBhdGgiLHtkOiJNMTggMTFoMmEyIDIgMCAwIDEgMiAydjZhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJ2LTlhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xOCAyMVY1YTIgMiAwIDAgMC0yLTJIOGEyIDIgMCAwIDAtMiAydjE2In1dXX0pO3ZhciBwRCxWRGU9ZigoKT0+e3BEPVtbInBhdGgiLHtkOiJNMTAgMjJ2LTYuNTcifV0sWyJwYXRoIix7ZDoiTTEyIDExaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgN2guMDEifV0sWyJwYXRoIix7ZDoiTTE0IDE1LjQzVjIyIn1dLFsicGF0aCIse2Q6Ik0xNSAxNmE1IDUgMCAwIDAtNiAwIn1dLFsicGF0aCIse2Q6Ik0xNiAxMWguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDdoLjAxIn1dLFsicGF0aCIse2Q6Ik04IDExaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCA3aC4wMSJ9XSxbInJlY3QiLHt4OiI0Iix5OiIyIix3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHJ4OiIyIn1dXX0pO3ZhciBmRCxqRGU9ZigoKT0+e2ZEPVtbInBhdGgiLHtkOiJNNSAyMmgxNCJ9XSxbInBhdGgiLHtkOiJNNSAyaDE0In1dLFsicGF0aCIse2Q6Ik0xNyAyMnYtNC4xNzJhMiAyIDAgMCAwLS41ODYtMS40MTRMMTIgMTJsLTQuNDE0IDQuNDE0QTIgMiAwIDAgMCA3IDE3LjgyOFYyMiJ9XSxbInBhdGgiLHtkOiJNNyAydjQuMTcyYTIgMiAwIDAgMCAuNTg2IDEuNDE0TDEyIDEybDQuNDE0LTQuNDE0QTIgMiAwIDAgMCAxNyA2LjE3MlYyIn1dXX0pO3ZhciBoRCxVRGU9ZigoKT0+e2hEPVtbInBhdGgiLHtkOiJNOC42MiAxMy44QTIuMjUgMi4yNSAwIDEgMSAxMiAxMC44MzZhMi4yNSAyLjI1IDAgMSAxIDMuMzggMi45NjZsLTIuNjI2IDIuODU2YS45OTguOTk4IDAgMCAxLTEuNTA3IDB6In1dLFsicGF0aCIse2Q6Ik0zIDEwYTIgMiAwIDAgMSAuNzA5LTEuNTI4bDctNmEyIDIgMCAwIDEgMi41ODIgMGw3IDZBMiAyIDAgMCAxIDIxIDEwdjlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ6In1dXX0pO3ZhciBtRCxXRGU9ZigoKT0+e21EPVtbInBhdGgiLHtkOiJNMTAgMTJWOC45NjQifV0sWyJwYXRoIix7ZDoiTTE0IDEyVjguOTY0In1dLFsicGF0aCIse2Q6Ik0xNSAxMmExIDEgMCAwIDEgMSAxdjJhMiAyIDAgMCAxLTIgMmgtNGEyIDIgMCAwIDEtMi0ydi0yYTEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik04LjUgMjFINWEyIDIgMCAwIDEtMi0ydi05YTIgMiAwIDAgMSAuNzA5LTEuNTI4bDctNmEyIDIgMCAwIDEgMi41ODIgMGw3IDZBMiAyIDAgMCAxIDIxIDEwdjlhMiAyIDAgMCAxLTIgMmgtNWEyIDIgMCAwIDEtMi0ydi0yIn1dXX0pO3ZhciBnRCxHRGU9ZigoKT0+e2dEPVtbInBhdGgiLHtkOiJNOS41IDEzLjg2NmE0IDQgMCAwIDEgNSAuMDEifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSJ9XSxbInBhdGgiLHtkOiJNMyAxMGEyIDIgMCAwIDEgLjcwOS0xLjUyOGw3LTZhMiAyIDAgMCAxIDIuNTgyIDBsNyA2QTIgMiAwIDAgMSAyMSAxMHY5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yeiJ9XSxbInBhdGgiLHtkOiJNNyAxMC43NTRhOCA4IDAgMCAxIDEwIDAifV1dfSk7dmFyIGJELFlEZT1mKCgpPT57YkQ9W1sicGF0aCIse2Q6Ik0xMi4zNSAyMUg1YTIgMiAwIDAgMS0yLTJ2LTlhMiAyIDAgMCAxIC43MS0xLjUzbDctNmEyIDIgMCAwIDEgMi41OCAwbDcgNkEyIDIgMCAwIDEgMjEgMTB2Mi4zNSJ9XSxbInBhdGgiLHtkOiJNMTQuOCAxMi40QTEgMSAwIDAgMCAxNCAxMmgtNGExIDEgMCAwIDAtMSAxdjgifV0sWyJwYXRoIix7ZDoiTTE1IDE4aDYifV0sWyJwYXRoIix7ZDoiTTE4IDE1djYifV1dfSk7dmFyIGd1LEtEZT1mKCgpPT57Z3U9W1sicGF0aCIse2Q6Ik0xNSAyMXYtOGExIDEgMCAwIDAtMS0xaC00YTEgMSAwIDAgMC0xIDF2OCJ9XSxbInBhdGgiLHtkOiJNMyAxMGEyIDIgMCAwIDEgLjcwOS0xLjUyOGw3LTZhMiAyIDAgMCAxIDIuNTgyIDBsNyA2QTIgMiAwIDAgMSAyMSAxMHY5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yeiJ9XV19KTt2YXIgYnUsWkRlPWYoKCk9PntidT1bWyJwYXRoIix7ZDoiTTEyIDE3YzUgMCA4LTIuNjkgOC02SDRjMCAzLjMxIDMgNiA4IDZtLTQgNGg4bS00LTN2M001LjE0IDExYTMuNSAzLjUgMCAxIDEgNi43MSAwIn1dLFsicGF0aCIse2Q6Ik0xMi4xNCAxMWEzLjUgMy41IDAgMSAxIDYuNzEgMCJ9XSxbInBhdGgiLHtkOiJNMTUuNSA2LjVhMy41IDMuNSAwIDEgMC03IDAifV1dfSk7dmFyIHZ1LFhEZT1mKCgpPT57dnU9W1sicGF0aCIse2Q6Im03IDExIDQuMDggMTAuMzVhMSAxIDAgMCAwIDEuODQgMEwxNyAxMSJ9XSxbInBhdGgiLHtkOiJNMTcgN0E1IDUgMCAwIDAgNyA3In1dLFsicGF0aCIse2Q6Ik0xNyA3YTIgMiAwIDAgMSAwIDRIN2EyIDIgMCAwIDEgMC00In1dXX0pO3ZhciB2RCxRRGU9ZigoKT0+e3ZEPVtbInBhdGgiLHtkOiJNMTMuNSA4aC0zIn1dLFsicGF0aCIse2Q6Im0xNSAyLTEgMmgzYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg3YTIgMiAwIDAgMS0yLTJWNmEyIDIgMCAwIDEgMi0yaDMifV0sWyJwYXRoIix7ZDoiTTE2Ljg5OSAyMkE1IDUgMCAwIDAgNy4xIDIyIn1dLFsicGF0aCIse2Q6Im05IDIgMyA2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTUiLHI6IjMifV1dfSk7dmFyIHhELEpEZT1mKCgpPT57eEQ9W1sicGF0aCIse2Q6Ik0xNiAxMGgyIn1dLFsicGF0aCIse2Q6Ik0xNiAxNGgyIn1dLFsicGF0aCIse2Q6Ik02LjE3IDE1YTMgMyAwIDAgMSA1LjY2IDAifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjExIixyOiIyIn1dLFsicmVjdCIse3g6IjIiLHk6IjUiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNCIscng6IjIifV1dfSk7dmFyIHlELGVBZT1mKCgpPT57eUQ9W1sicGF0aCIse2Q6Ik0xMC4zIDIxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnYxMGwtMy4xLTMuMWEyIDIgMCAwIDAtMi44MTQuMDE0TDYgMjEifV0sWyJwYXRoIix7ZDoibTE0IDE5IDMgM3YtNS41In1dLFsicGF0aCIse2Q6Im0xNyAyMiAzLTMifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjIifV1dfSk7dmFyIHdELHRBZT1mKCgpPT57d0Q9W1sicGF0aCIse2Q6Ik0yMSA5djEwYTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg3In1dLFsibGluZSIse3gxOiIxNiIseDI6IjIyIix5MToiNSIseTI6IjUifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjkiLHI6IjIifV0sWyJwYXRoIix7ZDoibTIxIDE1LTMuMDg2LTMuMDg2YTIgMiAwIDAgMC0yLjgyOCAwTDYgMjEifV1dfSk7dmFyIE1ELGFBZT1mKCgpPT57TUQ9W1sibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV0sWyJwYXRoIix7ZDoiTTEwLjQxIDEwLjQxYTIgMiAwIDEgMS0yLjgzLTIuODMifV0sWyJsaW5lIix7eDE6IjEzLjUiLHgyOiI2Iix5MToiMTMuNSIseTI6IjIxIn1dLFsibGluZSIse3gxOiIxOCIseDI6IjIxIix5MToiMTIiLHkyOiIxNSJ9XSxbInBhdGgiLHtkOiJNMy41OSAzLjU5QTEuOTkgMS45OSAwIDAgMCAzIDV2MTRhMiAyIDAgMCAwIDIgMmgxNGMuNTUgMCAxLjA1Mi0uMjIgMS40MS0uNTkifV0sWyJwYXRoIix7ZDoiTTIxIDE1VjVhMiAyIDAgMCAwLTItMkg5In1dXX0pO3ZhciBrRCxyQWU9ZigoKT0+e2tEPVtbInBhdGgiLHtkOiJNMTUgMTUuMDAzYTEgMSAwIDAgMSAxLjUxNy0uODU5bDQuOTk3IDIuOTk3YTEgMSAwIDAgMSAwIDEuNzE4bC00Ljk5NyAyLjk5N2ExIDEgMCAwIDEtMS41MTctLjg2eiJ9XSxbInBhdGgiLHtkOiJNMjEgMTIuMTdWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDYifV0sWyJwYXRoIix7ZDoibTYgMjEgNS01In1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI5IixyOiIyIn1dXX0pO3ZhciBTRCxzQWU9ZigoKT0+e1NEPVtbInBhdGgiLHtkOiJNMTYgNWg2In1dLFsicGF0aCIse2Q6Ik0xOSAydjYifV0sWyJwYXRoIix7ZDoiTTIxIDExLjVWMTlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDcuNSJ9XSxbInBhdGgiLHtkOiJtMjEgMTUtMy4wODYtMy4wODZhMiAyIDAgMCAwLTIuODI4IDBMNiAyMSJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiOSIscjoiMiJ9XV19KTt2YXIgekQsaUFlPWYoKCk9Pnt6RD1bWyJwYXRoIix7ZDoiTTEwLjMgMjFINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjEwbC0zLjEtMy4xYTIgMiAwIDAgMC0yLjgxNC4wMTRMNiAyMSJ9XSxbInBhdGgiLHtkOiJtMTQgMTkuNSAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Ik0xNyAyMnYtNS41In1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI5IixyOiIyIn1dXX0pO3ZhciBDRCxvQWU9ZigoKT0+e0NEPVtbInBhdGgiLHtkOiJNMTYgM2g1djUifV0sWyJwYXRoIix7ZDoiTTE3IDIxaDJhMiAyIDAgMCAwIDItMiJ9XSxbInBhdGgiLHtkOiJNMjEgMTJ2MyJ9XSxbInBhdGgiLHtkOiJtMjEgMy01IDUifV0sWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTIifV0sWyJwYXRoIix7ZDoibTUgMjEgNC4xNDQtNC4xNDRhMS4yMSAxLjIxIDAgMCAxIDEuNzEyIDBMMTMgMTkifV0sWyJwYXRoIix7ZDoiTTkgM2gzIn1dLFsicmVjdCIse3g6IjMiLHk6IjExIix3aWR0aDoiMTAiLGhlaWdodDoiMTAiLHJ4OiIxIn1dXX0pO3ZhciBfRCxuQWU9ZigoKT0+e19EPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiOSIscjoiMiJ9XSxbInBhdGgiLHtkOiJtMjEgMTUtMy4wODYtMy4wODZhMiAyIDAgMCAwLTIuODI4IDBMNiAyMSJ9XV19KTt2YXIgVEQsbEFlPWYoKCk9PntURD1bWyJwYXRoIix7ZDoibTIyIDExLTEuMjk2LTEuMjk2YTIuNCAyLjQgMCAwIDAtMy40MDggMEwxMSAxNiJ9XSxbInBhdGgiLHtkOiJNNCA4YTIgMiAwIDAgMC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgxMGEyIDIgMCAwIDAgMi0yIn1dLFsiY2lyY2xlIix7Y3g6IjEzIixjeToiNyIscjoiMSIsZmlsbDoiY3VycmVudENvbG9yIn1dLFsicmVjdCIse3g6IjgiLHk6IjIiLHdpZHRoOiIxNCIsaGVpZ2h0OiIxNCIscng6IjIifV1dfSk7dmFyIExELGNBZT1mKCgpPT57TEQ9W1sicGF0aCIse2Q6Ik0xMiAzdjEyIn1dLFsicGF0aCIse2Q6Im04IDExIDQgNCA0LTQifV0sWyJwYXRoIix7ZDoiTTggNUg0YTIgMiAwIDAgMC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0yVjdhMiAyIDAgMCAwLTItMmgtNCJ9XV19KTt2YXIgJEQsZEFlPWYoKCk9PnskRD1bWyJwb2x5bGluZSIse3BvaW50czoiMjIgMTIgMTYgMTIgMTQgMTUgMTAgMTUgOCAxMiAyIDEyIn1dLFsicGF0aCIse2Q6Ik01LjQ1IDUuMTEgMiAxMnY2YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNmwtMy40NS02Ljg5QTIgMiAwIDAgMCAxNi43NiA0SDcuMjRhMiAyIDAgMCAwLTEuNzkgMS4xMXoifV1dfSk7dmFyIERELHVBZT1mKCgpPT57REQ9W1sicGF0aCIse2Q6Ik02IDNoMTIifV0sWyJwYXRoIix7ZDoiTTYgOGgxMiJ9XSxbInBhdGgiLHtkOiJtNiAxMyA4LjUgOCJ9XSxbInBhdGgiLHtkOiJNNiAxM2gzIn1dLFsicGF0aCIse2Q6Ik05IDEzYzYuNjY3IDAgNi42NjctMTAgMC0xMCJ9XV19KTt2YXIgQUQscEFlPWYoKCk9PntBRD1bWyJwYXRoIix7ZDoiTTYgMTZjNSAwIDctOCAxMi04YTQgNCAwIDAgMSAwIDhjLTUgMC03LTgtMTItOGE0IDQgMCAxIDAgMCA4In1dXX0pO3ZhciBFRCxmQWU9ZigoKT0+e0VEPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZ2LTQifV0sWyJwYXRoIix7ZDoiTTEyIDhoLjAxIn1dXX0pO3ZhciBQRCxoQWU9ZigoKT0+e1BEPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDdoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNyA3aC4wMSJ9XSxbInBhdGgiLHtkOiJNNyAxN2guMDEifV0sWyJwYXRoIix7ZDoiTTE3IDE3aC4wMSJ9XV19KTt2YXIgSUQsbUFlPWYoKCk9PntJRD1bWyJsaW5lIix7eDE6IjE5Iix4MjoiMTAiLHkxOiI0Iix5MjoiNCJ9XSxbImxpbmUiLHt4MToiMTQiLHgyOiI1Iix5MToiMjAiLHkyOiIyMCJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiI5Iix5MToiNCIseTI6IjIwIn1dXX0pO3ZhciBORCxnQWU9ZigoKT0+e05EPVtbInBhdGgiLHtkOiJtMTYgMTQgNCA0LTQgNCJ9XSxbInBhdGgiLHtkOiJNMjAgMTBhOCA4IDAgMSAwLTggOGg4In1dXX0pO3ZhciBSRCxiQWU9ZigoKT0+e1JEPVtbInBhdGgiLHtkOiJNNCAxMGE4IDggMCAxIDEgOCA4SDQifV0sWyJwYXRoIix7ZDoibTggMjItNC00IDQtNCJ9XV19KTt2YXIgT0QsdkFlPWYoKCk9PntPRD1bWyJwYXRoIix7ZDoiTTEyIDkuNVYyMW0wLTExLjVMNiAzbTYgNi41TDE4IDMifV0sWyJwYXRoIix7ZDoiTTYgMTVoMTIifV0sWyJwYXRoIix7ZDoiTTYgMTFoMTIifV1dfSk7dmFyIEZELHhBZT1mKCgpPT57RkQ9W1sicGF0aCIse2Q6Ik0yMSAxN2EyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYyYTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDItMnYtMloifV0sWyJwYXRoIix7ZDoiTTYgMTV2LTIifV0sWyJwYXRoIix7ZDoiTTEyIDE1VjkifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI2IixyOiIzIn1dXX0pO3ZhciBCRCx5QWU9ZigoKT0+e0JEPVtbInBhdGgiLHtkOiJNNSAzdjE0In1dLFsicGF0aCIse2Q6Ik0xMiAzdjgifV0sWyJwYXRoIix7ZDoiTTE5IDN2MTgifV1dfSk7dmFyIEhELHdBZT1mKCgpPT57SEQ9W1sicGF0aCIse2Q6Ik0xOCAxN2ExIDEgMCAwIDAtMSAxdjFhMiAyIDAgMSAwIDItMnoifV0sWyJwYXRoIix7ZDoiTTIwLjk3IDMuNjFhLjQ1LjQ1IDAgMCAwLS41OC0uNThDMTAuMiA2LjYgNi42IDEwLjIgMy4wMyAyMC4zOWEuNDUuNDUgMCAwIDAgLjU4LjU4QzEzLjggMTcuNCAxNy40IDEzLjggMjAuOTcgMy42MSJ9XSxbInBhdGgiLHtkOiJtNi43MDcgNi43MDcgMTAuNTg2IDEwLjU4NiJ9XSxbInBhdGgiLHtkOiJNNyA1YTIgMiAwIDEgMC0yIDJoMWExIDEgMCAwIDAgMS0xeiJ9XV19KTt2YXIgcUQsTUFlPWYoKCk9PntxRD1bWyJwYXRoIix7ZDoiTTEyLjQgMi43YTIuNSAyLjUgMCAwIDEgMy40IDBsNS41IDUuNWEyLjUgMi41IDAgMCAxIDAgMy40bC0zLjcgMy43YTIuNSAyLjUgMCAwIDEtMy40IDBMOC43IDkuOGEyLjUgMi41IDAgMCAxIDAtMy40eiJ9XSxbInBhdGgiLHtkOiJtMTQgNyAzIDMifV0sWyJwYXRoIix7ZDoibTkuNCAxMC42LTYuODE0IDYuODE0QTIgMiAwIDAgMCAyIDE4LjgyOFYyMWExIDEgMCAwIDAgMSAxaDNhMSAxIDAgMCAwIDEtMXYtMWExIDEgMCAwIDEgMS0xaDFhMSAxIDAgMCAwIDEtMXYtMWExIDEgMCAwIDEgMS0xaC4xNzJhMiAyIDAgMCAwIDEuNDE0LS41ODZsLjgxNC0uODE0In1dXX0pO3ZhciBWRCxrQWU9ZigoKT0+e1ZEPVtbInBhdGgiLHtkOiJNMi41ODYgMTcuNDE0QTIgMiAwIDAgMCAyIDE4LjgyOFYyMWExIDEgMCAwIDAgMSAxaDNhMSAxIDAgMCAwIDEtMXYtMWExIDEgMCAwIDEgMS0xaDFhMSAxIDAgMCAwIDEtMXYtMWExIDEgMCAwIDEgMS0xaC4xNzJhMiAyIDAgMCAwIDEuNDE0LS41ODZsLjgxNC0uODE0YTYuNSA2LjUgMCAxIDAtNC00eiJ9XSxbImNpcmNsZSIse2N4OiIxNi41IixjeToiNy41IixyOiIuNSIsZmlsbDoiY3VycmVudENvbG9yIn1dXX0pO3ZhciBqRCxTQWU9ZigoKT0+e2pEPVtbInBhdGgiLHtkOiJtMTUuNSA3LjUgMi4zIDIuM2ExIDEgMCAwIDAgMS40IDBsMi4xLTIuMWExIDEgMCAwIDAgMC0xLjRMMTkgNCJ9XSxbInBhdGgiLHtkOiJtMjEgMi05LjYgOS42In1dLFsiY2lyY2xlIix7Y3g6IjcuNSIsY3k6IjE1LjUiLHI6IjUuNSJ9XV19KTt2YXIgVUQsekFlPWYoKCk9PntVRD1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE2Iix4OiIyIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNiA4aDQifV0sWyJwYXRoIix7ZDoiTTE0IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik0xOCA4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMiAxMmgyMCJ9XSxbInBhdGgiLHtkOiJNNiAxMnY0In1dLFsicGF0aCIse2Q6Ik0xMCAxMnY0In1dLFsicGF0aCIse2Q6Ik0xNCAxMnY0In1dLFsicGF0aCIse2Q6Ik0xOCAxMnY0In1dXX0pO3ZhciBXRCxDQWU9ZigoKT0+e1dEPVtbInBhdGgiLHtkOiJNIDIwIDQgQTIgMiAwIDAgMSAyMiA2In1dLFsicGF0aCIse2Q6Ik0gMjIgNiBMIDIyIDE2LjQxIn1dLFsicGF0aCIse2Q6Ik0gNyAxNiBMIDE2IDE2In1dLFsicGF0aCIse2Q6Ik0gOS42OSA0IEwgMjAgNCJ9XSxbInBhdGgiLHtkOiJNMTQgOGguMDEifV0sWyJwYXRoIix7ZDoiTTE4IDhoLjAxIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIwIDIwSDRhMiAyIDAgMCAxLTItMlY2YTIgMiAwIDAgMSAyLTIifV0sWyJwYXRoIix7ZDoiTTYgOGguMDEifV0sWyJwYXRoIix7ZDoiTTggMTJoLjAxIn1dXX0pO3ZhciBHRCxfQWU9ZigoKT0+e0dEPVtbInBhdGgiLHtkOiJNMTAgOGguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTQgOGguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggOGguMDEifV0sWyJwYXRoIix7ZDoiTTYgOGguMDEifV0sWyJwYXRoIix7ZDoiTTcgMTZoMTAifV0sWyJwYXRoIix7ZDoiTTggMTJoLjAxIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNiIseDoiMiIseToiNCIscng6IjIifV1dfSk7dmFyIFlELFRBZT1mKCgpPT57WUQ9W1sicGF0aCIse2Q6Ik0xMiAydjUifV0sWyJwYXRoIix7ZDoiTTE0LjgyOSAxNS45OThhMyAzIDAgMSAxLTUuNjU4IDAifV0sWyJwYXRoIix7ZDoiTTIwLjkyIDE0LjYwNkExIDEgMCAwIDEgMjAgMTZINGExIDEgMCAwIDEtLjkyLTEuMzk0bDMtN0ExIDEgMCAwIDEgNyA3aDEwYTEgMSAwIDAgMSAuOTIuNjA2eiJ9XV19KTt2YXIgS0QsTEFlPWYoKCk9PntLRD1bWyJwYXRoIix7ZDoiTTEwLjI5MyAyLjI5M2ExIDEgMCAwIDEgMS40MTQgMGwyLjUgMi41IDUuOTk0IDEuMjI3YTEgMSAwIDAgMSAuNTA2IDEuNjg3bC03IDdhMSAxIDAgMCAxLTEuNjg3LS41MDZsLTEuMjI3LTUuOTk0LTIuNS0yLjVhMSAxIDAgMCAxIDAtMS40MTR6In1dLFsicGF0aCIse2Q6Im0xNC4yMDcgNC43OTMtMy40MTQgMy40MTQifV0sWyJwYXRoIix7ZDoiTTMgMjBhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDRhMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoibTkuMDg2IDYuNS00Ljc5MyA0Ljc5M2ExIDEgMCAwIDAtLjE4IDEuMTdMNyAxOCJ9XV19KTt2YXIgWkQsJEFlPWYoKCk9PntaRD1bWyJwYXRoIix7ZDoiTTEyIDEwdjEyIn1dLFsicGF0aCIse2Q6Ik0xNy45MjkgNy42MjlBMSAxIDAgMCAxIDE3IDlIN2ExIDEgMCAwIDEtLjkyOC0xLjM3MWwyLTVBMSAxIDAgMCAxIDkgMmg2YTEgMSAwIDAgMSAuOTI4LjYyOXoifV0sWyJwYXRoIix7ZDoiTTkgMjJoNiJ9XV19KTt2YXIgWEQsREFlPWYoKCk9PntYRD1bWyJwYXRoIix7ZDoiTTE5LjkyOSAxOC42MjlBMSAxIDAgMCAxIDE5IDIwSDlhMSAxIDAgMCAxLS45MjgtMS4zNzFsMi01QTEgMSAwIDAgMSAxMSAxM2g2YTEgMSAwIDAgMSAuOTI4LjYyOXoifV0sWyJwYXRoIix7ZDoiTTYgM2EyIDIgMCAwIDEgMiAydjJhMiAyIDAgMCAxLTIgMkg1YTEgMSAwIDAgMS0xLTFWNGExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNOCA2aDRhMiAyIDAgMCAxIDIgMnY1In1dXX0pO3ZhciBRRCxBQWU9ZigoKT0+e1FEPVtbInBhdGgiLHtkOiJNMTkuOTI5IDkuNjI5QTEgMSAwIDAgMSAxOSAxMUg5YTEgMSAwIDAgMS0uOTI4LTEuMzcxbDItNUExIDEgMCAwIDEgMTEgNGg2YTEgMSAwIDAgMSAuOTI4LjYyOXoifV0sWyJwYXRoIix7ZDoiTTYgMTVhMiAyIDAgMCAxIDIgMnYyYTIgMiAwIDAgMS0yIDJINWExIDEgMCAwIDEtMS0xdi00YTEgMSAwIDAgMSAxLTF6In1dLFsicGF0aCIse2Q6Ik04IDE4aDRhMiAyIDAgMCAwIDItMnYtNSJ9XV19KTt2YXIgSkQsRUFlPWYoKCk9PntKRD1bWyJwYXRoIix7ZDoiTTEyIDEydjYifV0sWyJwYXRoIix7ZDoiTTQuMDc3IDEwLjYxNUExIDEgMCAwIDAgNSAxMmgxNGExIDEgMCAwIDAgLjkyMy0xLjM4NWwtMy4wNzctNy4zODRBMiAyIDAgMCAwIDE1IDJIOWEyIDIgMCAwIDAtMS44NDYgMS4yM1oifV0sWyJwYXRoIix7ZDoiTTggMjBhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MWExIDEgMCAwIDEtMSAxSDlhMSAxIDAgMCAxLTEtMXoifV1dfSk7dmFyIGVBLFBBZT1mKCgpPT57ZUE9W1sicGF0aCIse2Q6Im0xMiA4IDYtMy02LTN2MTAifV0sWyJwYXRoIix7ZDoibTggMTEuOTktNS41IDMuMTRhMSAxIDAgMCAwIDAgMS43NGw4LjUgNC44NmEyIDIgMCAwIDAgMiAwbDguNS00Ljg2YTEgMSAwIDAgMCAwLTEuNzRMMTYgMTIifV0sWyJwYXRoIix7ZDoibTYuNDkgMTIuODUgMTEuMDIgNi4zIn1dLFsicGF0aCIse2Q6Ik0xNy41MSAxMi44NSA2LjUgMTkuMTUifV1dfSk7dmFyIHRBLElBZT1mKCgpPT57dEE9W1sicGF0aCIse2Q6Ik0xMCAxOHYtNyJ9XSxbInBhdGgiLHtkOiJNMTEuMTIgMi4xOThhMiAyIDAgMCAxIDEuNzYuMDA2bDcuODY2IDMuODQ3Yy40NzYuMjMzLjMxLjk0OS0uMjIuOTQ5SDMuNDc0Yy0uNTMgMC0uNjk1LS43MTYtLjIyLS45NDl6In1dLFsicGF0aCIse2Q6Ik0xNCAxOHYtNyJ9XSxbInBhdGgiLHtkOiJNMTggMTh2LTcifV0sWyJwYXRoIix7ZDoiTTMgMjJoMTgifV0sWyJwYXRoIix7ZDoiTTYgMTh2LTcifV1dfSk7dmFyIGFBLE5BZT1mKCgpPT57YUE9W1sicGF0aCIse2Q6Im01IDggNiA2In1dLFsicGF0aCIse2Q6Im00IDE0IDYtNiAyLTMifV0sWyJwYXRoIix7ZDoiTTIgNWgxMiJ9XSxbInBhdGgiLHtkOiJNNyAyaDEifV0sWyJwYXRoIix7ZDoibTIyIDIyLTUtMTAtNSAxMCJ9XSxbInBhdGgiLHtkOiJNMTQgMThoNiJ9XV19KTt2YXIgckEsUkFlPWYoKCk9PntyQT1bWyJwYXRoIix7ZDoiTTIgMjBoMjAifV0sWyJwYXRoIix7ZDoibTkgMTAgMiAyIDQtNCJ9XSxbInJlY3QiLHt4OiIzIix5OiI0Iix3aWR0aDoiMTgiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciB4dSxPQWU9ZigoKT0+e3h1PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTIiLHg6IjMiLHk6IjQiLHJ4OiIyIixyeToiMiJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMjAiLHkyOiIyMCJ9XV19KTt2YXIgc0EsRkFlPWYoKCk9PntzQT1bWyJwYXRoIix7ZDoiTTE4IDVhMiAyIDAgMCAxIDIgMnY4LjUyNmEyIDIgMCAwIDAgLjIxMi44OTdsMS4wNjggMi4xMjdhMSAxIDAgMCAxLS45IDEuNDVIMy42MmExIDEgMCAwIDEtLjktMS40NWwxLjA2OC0yLjEyN0EyIDIgMCAwIDAgNCAxNS41MjZWN2EyIDIgMCAwIDEgMi0yeiJ9XSxbInBhdGgiLHtkOiJNMjAuMDU0IDE1Ljk4N0gzLjk0NiJ9XV19KTt2YXIgaUEsQkFlPWYoKCk9PntpQT1bWyJwYXRoIix7ZDoiTTcgMjJhNSA1IDAgMCAxLTItNCJ9XSxbInBhdGgiLHtkOiJNNyAxNi45M2MuOTYuNDMgMS45Ni43NCAyLjk5LjkxIn1dLFsicGF0aCIse2Q6Ik0zLjM0IDE0QTYuOCA2LjggMCAwIDEgMiAxMGMwLTQuNDIgNC40OC04IDEwLThzMTAgMy41OCAxMCA4YTcuMTkgNy4xOSAwIDAgMS0uMzMgMiJ9XSxbInBhdGgiLHtkOiJNNSAxOGEyIDIgMCAxIDAgMC00IDIgMiAwIDAgMCAwIDR6In1dLFsicGF0aCIse2Q6Ik0xNC4zMyAyMmgtLjA5YS4zNS4zNSAwIDAgMS0uMjQtLjMydi0xMGEuMzQuMzQgMCAwIDEgLjMzLS4zNGMuMDggMCAuMTUuMDMuMjEuMDhsNy4zNCA2YS4zMy4zMyAwIDAgMS0uMjEuNTloLTQuNDlsLTIuNTcgMy44NWEuMzUuMzUgMCAwIDEtLjI4LjE0eiJ9XV19KTt2YXIgb0EsSEFlPWYoKCk9PntvQT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoiTTE4IDEzYTYgNiAwIDAgMS02IDUgNiA2IDAgMCAxLTYtNWgxMloifV0sWyJsaW5lIix7eDE6IjkiLHgyOiI5LjAxIix5MToiOSIseTI6IjkifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiMTUuMDEiLHkxOiI5Iix5MjoiOSJ9XV19KTt2YXIgbkEscUFlPWYoKCk9PntuQT1bWyJwYXRoIix7ZDoiTTMuNzA0IDE0LjQ2N2ExMCA4IDAgMSAxIDMuMTE1IDIuMzc1In1dLFsicGF0aCIse2Q6Ik03IDIyYTUgNSAwIDAgMS0yLTMuOTk0In1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxNiIscjoiMiJ9XV19KTt2YXIgbEEsVkFlPWYoKCk9PntsQT1bWyJwYXRoIix7ZDoiTTEzIDEzLjc0YTIgMiAwIDAgMS0yIDBMMi41IDguODdhMSAxIDAgMCAxIDAtMS43NEwxMSAyLjI2YTIgMiAwIDAgMSAyIDBsOC41IDQuODdhMSAxIDAgMCAxIDAgMS43NHoifV0sWyJwYXRoIix7ZDoibTIwIDE0LjI4NSAxLjUuODQ1YTEgMSAwIDAgMSAwIDEuNzRMMTMgMjEuNzRhMiAyIDAgMCAxLTIgMGwtOC41LTQuODdhMSAxIDAgMCAxIDAtMS43NGwxLjUtLjg0NSJ9XV19KTt2YXIgY0EsakFlPWYoKCk9PntjQT1bWyJwYXRoIix7ZDoiTTEyLjgzIDIuMThhMiAyIDAgMCAwLTEuNjYgMEwyLjYgNi4wOGExIDEgMCAwIDAgMCAxLjgzbDguNTggMy45MWEyIDIgMCAwIDAgLjgzLjE4IDIgMiAwIDAgMCAuODMtLjE4bDguNTgtMy45YTEgMSAwIDAgMCAwLTEuODMyeiJ9XSxbInBhdGgiLHtkOiJNMTYgMTdoNiJ9XSxbInBhdGgiLHtkOiJNMi4wMDMgMTEuOTk1YTEgMSAwIDAgMCAuNTk3LjkxNWw4LjU4IDMuOTFhMiAyIDAgMCAwIC44My4xOCJ9XSxbInBhdGgiLHtkOiJNMi4wMDMgMTYuOTk1YTEgMSAwIDAgMCAuNTk3LjkxNWw4LjU4IDMuOTFhMiAyIDAgMCAwIC44My4xOCAyIDIgMCAwIDAgLjgzLS4xOGwyLjExLS45NiJ9XSxbInBhdGgiLHtkOiJNMjIuMDE4IDEyLjAwNGExIDEgMCAwIDEtLjU5OC45MTZsLS4xNzcuMDgifV1dfSk7dmFyIGRBLFVBZT1mKCgpPT57ZEE9W1sicGF0aCIse2Q6Ik0xMi44MyAyLjE4YTIgMiAwIDAgMC0xLjY2IDBMMi42IDYuMDhhMSAxIDAgMCAwIDAgMS44M2w4LjU4IDMuOTFhMiAyIDAgMCAwIC44My4xOCAyIDIgMCAwIDAgLjgzLS4xOGw4LjU4LTMuOWExIDEgMCAwIDAgMC0xLjgzMXoifV0sWyJwYXRoIix7ZDoiTTE2IDE3aDYifV0sWyJwYXRoIix7ZDoiTTE5IDE0djYifV0sWyJwYXRoIix7ZDoiTTIgMTJhMSAxIDAgMCAwIC41OC45MWw4LjYgMy45MWEyIDIgMCAwIDAgLjgyNS4xNzgifV0sWyJwYXRoIix7ZDoiTTIgMTdhMSAxIDAgMCAwIC41OC45MWw4LjYgMy45MWEyIDIgMCAwIDAgMS42NSAwbDIuMTE2LS45NjIifV1dfSk7dmFyIHVBLFdBZT1mKCgpPT57dUE9W1sicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjkiLHg6IjMiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjUiLHg6IjE0Iix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI5Iix4OiIxNCIseToiMTIiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjUiLHg6IjMiLHk6IjE2IixyeDoiMSJ9XV19KTt2YXIgeXUsR0FlPWYoKCk9Pnt5dT1bWyJwYXRoIix7ZDoiTTEyLjgzIDIuMThhMiAyIDAgMCAwLTEuNjYgMEwyLjYgNi4wOGExIDEgMCAwIDAgMCAxLjgzbDguNTggMy45MWEyIDIgMCAwIDAgMS42NiAwbDguNTgtMy45YTEgMSAwIDAgMCAwLTEuODN6In1dLFsicGF0aCIse2Q6Ik0yIDEyYTEgMSAwIDAgMCAuNTguOTFsOC42IDMuOTFhMiAyIDAgMCAwIDEuNjUgMGw4LjU4LTMuOUExIDEgMCAwIDAgMjIgMTIifV0sWyJwYXRoIix7ZDoiTTIgMTdhMSAxIDAgMCAwIC41OC45MWw4LjYgMy45MWEyIDIgMCAwIDAgMS42NSAwbDguNTgtMy45QTEgMSAwIDAgMCAyMiAxNyJ9XV19KTt2YXIgcEEsWUFlPWYoKCk9PntwQT1bWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMyIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMTQiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjE0Iix5OiIxNCIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMyIseToiMTQiLHJ4OiIxIn1dXX0pO3ZhciBmQSxLQWU9ZigoKT0+e2ZBPVtbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIzIix5OiIxNCIscng6IjEifV0sWyJwYXRoIix7ZDoiTTE0IDRoNyJ9XSxbInBhdGgiLHtkOiJNMTQgOWg3In1dLFsicGF0aCIse2Q6Ik0xNCAxNWg3In1dLFsicGF0aCIse2Q6Ik0xNCAyMGg3In1dXX0pO3ZhciBoQSxaQWU9ZigoKT0+e2hBPVtbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiNyIseDoiMTQiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjE0Iix5OiIxNCIscng6IjEifV1dfSk7dmFyIG1BLFhBZT1mKCgpPT57bUE9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiI3Iix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiOSIsaGVpZ2h0OiI3Iix4OiIzIix5OiIxNCIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjUiLGhlaWdodDoiNyIseDoiMTYiLHk6IjE0IixyeDoiMSJ9XV19KTt2YXIgZ0EsUUFlPWYoKCk9PntnQT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjciLHg6IjMiLHk6IjMiLHJ4OiIxIn1dLFsicmVjdCIse3dpZHRoOiI3IixoZWlnaHQ6IjciLHg6IjMiLHk6IjE0IixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNyIsaGVpZ2h0OiI3Iix4OiIxNCIseToiMTQiLHJ4OiIxIn1dXX0pO3ZhciBiQSxKQWU9ZigoKT0+e2JBPVtbInBhdGgiLHtkOiJNMTEgMjBBNyA3IDAgMCAxIDkuOCA2LjFDMTUuNSA1IDE3IDQuNDggMTkgMmMxIDIgMiA0LjE4IDIgOCAwIDUuNS00Ljc4IDEwLTEwIDEwWiJ9XSxbInBhdGgiLHtkOiJNMiAyMWMwLTMgMS44NS01LjM2IDUuMDgtNkM5LjUgMTQuNTIgMTIgMTMgMTMgMTIifV1dfSk7dmFyIHZBLGVFZT1mKCgpPT57dkE9W1sicGF0aCIse2Q6Ik0yIDIyYzEuMjUtLjk4NyAyLjI3LTEuOTc1IDMuOS0yLjJhNS41NiA1LjU2IDAgMCAxIDMuOCAxLjUgNCA0IDAgMCAwIDYuMTg3LTIuMzUzIDMuNSAzLjUgMCAwIDAgMy42OS01LjExNkEzLjUgMy41IDAgMCAwIDIwLjk1IDggMy41IDMuNSAwIDEgMCAxNiAzLjA1YTMuNSAzLjUgMCAwIDAtNS44MzEgMS4zNzMgMy41IDMuNSAwIDAgMC01LjExNiAzLjY5IDQgNCAwIDAgMC0yLjM0OCA2LjE1NUMzLjQ5OSAxNS40MiA0LjQwOSAxNi43MTIgNC4yIDE4LjEgMy45MjYgMTkuNzQzIDMuMDE0IDIwLjczMiAyIDIyIn1dLFsicGF0aCIse2Q6Ik0yIDIyIDE3IDcifV1dfSk7dmFyIHhBLHRFZT1mKCgpPT57eEE9W1sicGF0aCIse2Q6Ik0xNiAxMmgzYTIgMiAwIDAgMCAxLjkwMi0xLjM4bDEuMDU2LTMuMzMzQTEgMSAwIDAgMCAyMSA2SDNhMSAxIDAgMCAwLS45NTggMS4yODdsMS4wNTYgMy4zMzRBMiAyIDAgMCAwIDUgMTJoMyJ9XSxbInBhdGgiLHtkOiJNMTggNlYzYTEgMSAwIDAgMC0xLTFoLTMifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiMTIiLHg6IjgiLHk6IjEwIixyeDoiMSJ9XV19KTt2YXIgeUEsYUVlPWYoKCk9Pnt5QT1bWyJwYXRoIix7ZDoiTTcgMmExIDEgMCAwIDAtLjggMS42IDE0IDE0IDAgMCAxIDAgMTYuOEExIDEgMCAwIDAgNyAyMmgxMGExIDEgMCAwIDAgLjgtMS42IDE0IDE0IDAgMCAxIDAtMTYuOEExIDEgMCAwIDAgMTcgMnoifV1dfSk7dmFyIHdBLHJFZT1mKCgpPT57d0E9W1sicGF0aCIse2Q6Ik0xMy40MzMgMmExIDEgMCAwIDEgLjgyNC40NDggMTggMTggMCAwIDEgMCAxOS4xMDQgMSAxIDAgMCAxLS44MjQuNDQ4aC0yLjg2NmExIDEgMCAwIDEtLjgyNC0uNDQ4IDE4IDE4IDAgMCAxIDAtMTkuMTA0QTEgMSAwIDAgMSAxMC41NjcgMnoifV1dfSk7dmFyIE1BLHNFZT1mKCgpPT57TUE9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNNyAzdjE4In1dLFsicGF0aCIse2Q6Ik0yMC40IDE4LjljLjIuNS0uMSAxLjEtLjYgMS4zbC0xLjkuN2MtLjUuMi0xLjEtLjEtMS4zLS42TDExLjEgNS4xYy0uMi0uNS4xLTEuMS42LTEuM2wxLjktLjdjLjUtLjIgMS4xLjEgMS4zLjZaIn1dXX0pO3ZhciBrQSxpRWU9ZigoKT0+e2tBPVtbInBhdGgiLHtkOiJtMTYgNiA0IDE0In1dLFsicGF0aCIse2Q6Ik0xMiA2djE0In1dLFsicGF0aCIse2Q6Ik04IDh2MTIifV0sWyJwYXRoIix7ZDoiTTQgNHYxNiJ9XV19KTt2YXIgU0Esb0VlPWYoKCk9PntTQT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJwYXRoIix7ZDoibTQuOTMgNC45MyA0LjI0IDQuMjQifV0sWyJwYXRoIix7ZDoibTE0LjgzIDkuMTcgNC4yNC00LjI0In1dLFsicGF0aCIse2Q6Im0xNC44MyAxNC44MyA0LjI0IDQuMjQifV0sWyJwYXRoIix7ZDoibTkuMTcgMTQuODMtNC4yNCA0LjI0In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjQifV1dfSk7dmFyIHpBLG5FZT1mKCgpPT57ekE9W1sicGF0aCIse2Q6Ik0xNCAxMmgydjgifV0sWyJwYXRoIix7ZDoiTTE0IDIwaDQifV0sWyJwYXRoIix7ZDoiTTYgMTJoNCJ9XSxbInBhdGgiLHtkOiJNNiAyMGg0In1dLFsicGF0aCIse2Q6Ik04IDIwVjhhNCA0IDAgMCAxIDcuNDY0LTIifV1dfSk7dmFyIENBLGxFZT1mKCgpPT57Q0E9W1sicGF0aCIse2Q6Ik0xNSAxNGMuMi0xIC43LTEuNyAxLjUtMi41IDEtLjkgMS41LTIuMiAxLjUtMy41QTYgNiAwIDAgMCA2IDhjMCAxIC4yIDIuMiAxLjUgMy41LjcuNyAxLjMgMS41IDEuNSAyLjUifV0sWyJwYXRoIix7ZDoiTTkgMThoNiJ9XSxbInBhdGgiLHtkOiJNMTAgMjJoNCJ9XV19KTt2YXIgX0EsY0VlPWYoKCk9PntfQT1bWyJwYXRoIix7ZDoiTTE2LjggMTEuMmMuOC0uOSAxLjItMiAxLjItMy4yYTYgNiAwIDAgMC05LjMtNSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik02LjMgNi4zYTQuNjcgNC42NyAwIDAgMCAxLjIgNS4yYy43LjcgMS4zIDEuNSAxLjUgMi41In1dLFsicGF0aCIse2Q6Ik05IDE4aDYifV0sWyJwYXRoIix7ZDoiTTEwIDIyaDQifV1dfSk7dmFyIFRBLGRFZT1mKCgpPT57VEE9W1sicGF0aCIse2Q6Ik0gMyAxMiBMIDE1IDEyIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTIiLHI6IjMifV1dfSk7dmFyIExBLHVFZT1mKCgpPT57TEE9W1sicGF0aCIse2Q6Ik0xMSA1aDIifV0sWyJwYXRoIix7ZDoiTTE1IDEyaDYifV0sWyJwYXRoIix7ZDoiTTE5IDVoMiJ9XSxbInBhdGgiLHtkOiJNMyAxMmg2In1dLFsicGF0aCIse2Q6Ik0zIDE5aDE4In1dLFsicGF0aCIse2Q6Ik0zIDVoMiJ9XV19KTt2YXIgJEEscEVlPWYoKCk9PnskQT1bWyJwYXRoIix7ZDoiTTcgMy41YzUtMiA3IDIuNSAzIDRDMS41IDEwIDIgMTUgNSAxNmM1IDIgOS0xMCAxNC03cy41IDEzLjUtNCAxMmMtNS0yLjUuNS0xMSA2LTIifV1dfSk7dmFyIERBLGZFZT1mKCgpPT57REE9W1sicGF0aCIse2Q6Ik05IDE3SDdBNSA1IDAgMCAxIDcgNyJ9XSxbInBhdGgiLHtkOiJNMTUgN2gyYTUgNSAwIDAgMSA0IDgifV0sWyJsaW5lIix7eDE6IjgiLHgyOiIxMiIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIgQUEsaEVlPWYoKCk9PntBQT1bWyJwYXRoIix7ZDoiTTkgMTdIN0E1IDUgMCAwIDEgNyA3aDIifV0sWyJwYXRoIix7ZDoiTTE1IDdoMmE1IDUgMCAxIDEgMCAxMGgtMiJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTIiLHkyOiIxMiJ9XV19KTt2YXIgRUEsbUVlPWYoKCk9PntFQT1bWyJwYXRoIix7ZDoiTTEwIDEzYTUgNSAwIDAgMCA3LjU0LjU0bDMtM2E1IDUgMCAwIDAtNy4wNy03LjA3bC0xLjcyIDEuNzEifV0sWyJwYXRoIix7ZDoiTTE0IDExYTUgNSAwIDAgMC03LjU0LS41NGwtMyAzYTUgNSAwIDAgMCA3LjA3IDcuMDdsMS43MS0xLjcxIn1dXX0pO3ZhciBQQSxnRWU9ZigoKT0+e1BBPVtbInBhdGgiLHtkOiJNMTYgNUgzIn1dLFsicGF0aCIse2Q6Ik0xNiAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xMSAxOUgzIn1dLFsicGF0aCIse2Q6Im0xNSAxOCAyIDIgNC00In1dXX0pO3ZhciBJQSxiRWU9ZigoKT0+e0lBPVtbInBhdGgiLHtkOiJNMTMgNWg4In1dLFsicGF0aCIse2Q6Ik0xMyAxMmg4In1dLFsicGF0aCIse2Q6Ik0xMyAxOWg4In1dLFsicGF0aCIse2Q6Im0zIDE3IDIgMiA0LTQifV0sWyJwYXRoIix7ZDoibTMgNyAyIDIgNC00In1dXX0pO3ZhciBOQSx2RWU9ZigoKT0+e05BPVtbInBhdGgiLHtkOiJNMyA1aDgifV0sWyJwYXRoIix7ZDoiTTMgMTJoOCJ9XSxbInBhdGgiLHtkOiJNMyAxOWg4In1dLFsicGF0aCIse2Q6Im0xNSA1IDMgMyAzLTMifV0sWyJwYXRoIix7ZDoibTE1IDE5IDMtMyAzIDMifV1dfSk7dmFyIFJBLHhFZT1mKCgpPT57UkE9W1sicGF0aCIse2Q6Ik0zIDVoOCJ9XSxbInBhdGgiLHtkOiJNMyAxMmg4In1dLFsicGF0aCIse2Q6Ik0zIDE5aDgifV0sWyJwYXRoIix7ZDoibTE1IDggMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJtMTUgMTYgMyAzIDMtMyJ9XV19KTt2YXIgT0EseUVlPWYoKCk9PntPQT1bWyJwYXRoIix7ZDoiTTEwIDVoMTEifV0sWyJwYXRoIix7ZDoiTTEwIDEyaDExIn1dLFsicGF0aCIse2Q6Ik0xMCAxOWgxMSJ9XSxbInBhdGgiLHtkOiJtMyAxMCAzLTMtMy0zIn1dLFsicGF0aCIse2Q6Im0zIDIwIDMtMy0zLTMifV1dfSk7dmFyIEZBLHdFZT1mKCgpPT57RkE9W1sicGF0aCIse2Q6Ik0xNiA1SDMifV0sWyJwYXRoIix7ZDoiTTE2IDEySDMifV0sWyJwYXRoIix7ZDoiTTkgMTlIMyJ9XSxbInBhdGgiLHtkOiJtMTYgMTYtMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJNMjEgNXYxMmEyIDIgMCAwIDEtMiAyaC02In1dXX0pO3ZhciBCQSxNRWU9ZigoKT0+e0JBPVtbInBhdGgiLHtkOiJNMTIgNUgyIn1dLFsicGF0aCIse2Q6Ik02IDEyaDEyIn1dLFsicGF0aCIse2Q6Ik05IDE5aDYifV0sWyJwYXRoIix7ZDoiTTE2IDVoNiJ9XSxbInBhdGgiLHtkOiJNMTkgOFYyIn1dXX0pO3ZhciBIQSxrRWU9ZigoKT0+e0hBPVtbInBhdGgiLHtkOiJNMiA1aDIwIn1dLFsicGF0aCIse2Q6Ik02IDEyaDEyIn1dLFsicGF0aCIse2Q6Ik05IDE5aDYifV1dfSk7dmFyIG9jLFNFZT1mKCgpPT57b2M9W1sicGF0aCIse2Q6Ik0yMSA1SDExIn1dLFsicGF0aCIse2Q6Ik0yMSAxMkgxMSJ9XSxbInBhdGgiLHtkOiJNMjEgMTlIMTEifV0sWyJwYXRoIix7ZDoibTcgOC00IDQgNCA0In1dXX0pO3ZhciBuYyx6RWU9ZigoKT0+e25jPVtbInBhdGgiLHtkOiJNMjEgNUgxMSJ9XSxbInBhdGgiLHtkOiJNMjEgMTJIMTEifV0sWyJwYXRoIix7ZDoiTTIxIDE5SDExIn1dLFsicGF0aCIse2Q6Im0zIDggNCA0LTQgNCJ9XV19KTt2YXIgcUEsQ0VlPWYoKCk9PntxQT1bWyJwYXRoIix7ZDoiTTE2IDVIMyJ9XSxbInBhdGgiLHtkOiJNMTEgMTJIMyJ9XSxbInBhdGgiLHtkOiJNMTYgMTlIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTJoLTYifV1dfSk7dmFyIFZBLF9FZT1mKCgpPT57VkE9W1sicGF0aCIse2Q6Ik0xNiA1SDMifV0sWyJwYXRoIix7ZDoiTTExIDEySDMifV0sWyJwYXRoIix7ZDoiTTExIDE5SDMifV0sWyJwYXRoIix7ZDoiTTIxIDE2VjUifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxNiIscjoiMyJ9XV19KTt2YXIgakEsVEVlPWYoKCk9PntqQT1bWyJwYXRoIix7ZDoiTTExIDVoMTAifV0sWyJwYXRoIix7ZDoiTTExIDEyaDEwIn1dLFsicGF0aCIse2Q6Ik0xMSAxOWgxMCJ9XSxbInBhdGgiLHtkOiJNNCA0aDF2NSJ9XSxbInBhdGgiLHtkOiJNNCA5aDIifV0sWyJwYXRoIix7ZDoiTTYuNSAyMEgzLjRjMC0xIDIuNi0xLjkyNSAyLjYtMy41YTEuNSAxLjUgMCAwIDAtMi42LTEuMDIifV1dfSk7dmFyIFVBLExFZT1mKCgpPT57VUE9W1sicGF0aCIse2Q6Ik0xNiA1SDMifV0sWyJwYXRoIix7ZDoiTTExIDEySDMifV0sWyJwYXRoIix7ZDoiTTE2IDE5SDMifV0sWyJwYXRoIix7ZDoiTTE4IDl2NiJ9XSxbInBhdGgiLHtkOiJNMjEgMTJoLTYifV1dfSk7dmFyIFdBLCRFZT1mKCgpPT57V0E9W1sicGF0aCIse2Q6Ik0yMSA1SDMifV0sWyJwYXRoIix7ZDoiTTcgMTJIMyJ9XSxbInBhdGgiLHtkOiJNNyAxOUgzIn1dLFsicGF0aCIse2Q6Ik0xMiAxOGE1IDUgMCAwIDAgOS0zIDQuNSA0LjUgMCAwIDAtNC41LTQuNWMtMS4zMyAwLTIuNTQuNTQtMy40MSAxLjQxTDExIDE0In1dLFsicGF0aCIse2Q6Ik0xMSAxMHY0aDQifV1dfSk7dmFyIEdBLERFZT1mKCgpPT57R0E9W1sicGF0aCIse2Q6Ik0zIDVoNiJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxMyJ9XSxbInBhdGgiLHtkOiJNMyAxOWgxMyJ9XSxbInBhdGgiLHtkOiJtMTYgOC0zLTMgMy0zIn1dLFsicGF0aCIse2Q6Ik0yMSAxOVY3YTIgMiAwIDAgMC0yLTJoLTYifV1dfSk7dmFyIFlBLEFFZT1mKCgpPT57WUE9W1sicGF0aCIse2Q6Ik0xMyA1aDgifV0sWyJwYXRoIix7ZDoiTTEzIDEyaDgifV0sWyJwYXRoIix7ZDoiTTEzIDE5aDgifV0sWyJwYXRoIix7ZDoibTMgMTcgMiAyIDQtNCJ9XSxbInJlY3QiLHt4OiIzIix5OiI0Iix3aWR0aDoiNiIsaGVpZ2h0OiI2IixyeDoiMSJ9XV19KTt2YXIgS0EsRUVlPWYoKCk9PntLQT1bWyJwYXRoIix7ZDoiTTggNWgxMyJ9XSxbInBhdGgiLHtkOiJNMTMgMTJoOCJ9XSxbInBhdGgiLHtkOiJNMTMgMTloOCJ9XSxbInBhdGgiLHtkOiJNMyAxMGEyIDIgMCAwIDAgMiAyaDMifV0sWyJwYXRoIix7ZDoiTTMgNXYxMmEyIDIgMCAwIDAgMiAyaDMifV1dfSk7dmFyIFpBLFBFZT1mKCgpPT57WkE9W1sicGF0aCIse2Q6Ik0yMSA1SDMifV0sWyJwYXRoIix7ZDoiTTEwIDEySDMifV0sWyJwYXRoIix7ZDoiTTEwIDE5SDMifV0sWyJwYXRoIix7ZDoiTTE1IDEyLjAwM2ExIDEgMCAwIDEgMS41MTctLjg1OWw0Ljk5NyAyLjk5N2ExIDEgMCAwIDEgMCAxLjcxOGwtNC45OTcgMi45OTdhMSAxIDAgMCAxLTEuNTE3LS44NnoifV1dfSk7dmFyIFhBLElFZT1mKCgpPT57WEE9W1sicGF0aCIse2Q6Ik0xNiA1SDMifV0sWyJwYXRoIix7ZDoiTTExIDEySDMifV0sWyJwYXRoIix7ZDoiTTE2IDE5SDMifV0sWyJwYXRoIix7ZDoibTE1LjUgOS41IDUgNSJ9XSxbInBhdGgiLHtkOiJtMjAuNSA5LjUtNSA1In1dXX0pO3ZhciBRQSxORWU9ZigoKT0+e1FBPVtbInBhdGgiLHtkOiJNMyA1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMyAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTMgMTloLjAxIn1dLFsicGF0aCIse2Q6Ik04IDVoMTMifV0sWyJwYXRoIix7ZDoiTTggMTJoMTMifV0sWyJwYXRoIix7ZDoiTTggMTloMTMifV1dfSk7dmFyIHd1LFJFZT1mKCgpPT57d3U9W1sicGF0aCIse2Q6Ik0yMSAxMmE5IDkgMCAxIDEtNi4yMTktOC41NiJ9XV19KTt2YXIgSkEsT0VlPWYoKCk9PntKQT1bWyJwYXRoIix7ZDoiTTIyIDEyYTEgMSAwIDAgMS0xMCAwIDEgMSAwIDAgMC0xMCAwIn1dLFsicGF0aCIse2Q6Ik03IDIwLjdhMSAxIDAgMSAxIDUtOC43IDEgMSAwIDEgMCA1LTguNiJ9XSxbInBhdGgiLHtkOiJNNyAzLjNhMSAxIDAgMSAxIDUgOC42IDEgMSAwIDEgMCA1IDguNiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XV19KTt2YXIgZUUsRkVlPWYoKCk9PntlRT1bWyJwYXRoIix7ZDoiTTEyIDJ2NCJ9XSxbInBhdGgiLHtkOiJtMTYuMiA3LjggMi45LTIuOSJ9XSxbInBhdGgiLHtkOiJNMTggMTJoNCJ9XSxbInBhdGgiLHtkOiJtMTYuMiAxNi4yIDIuOSAyLjkifV0sWyJwYXRoIix7ZDoiTTEyIDE4djQifV0sWyJwYXRoIix7ZDoibTQuOSAxOS4xIDIuOS0yLjkifV0sWyJwYXRoIix7ZDoiTTIgMTJoNCJ9XSxbInBhdGgiLHtkOiJtNC45IDQuOSAyLjkgMi45In1dXX0pO3ZhciB0RSxCRWU9ZigoKT0+e3RFPVtbImxpbmUiLHt4MToiMiIseDI6IjUiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxOSIseDI6IjIyIix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjIiLHkyOiI1In1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMTkiLHkyOiIyMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI3In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV1dfSk7dmFyIGFFLEhFZT1mKCgpPT57YUU9W1sicGF0aCIse2Q6Ik0xMiAxOXYzIn1dLFsicGF0aCIse2Q6Ik0xMiAydjMifV0sWyJwYXRoIix7ZDoiTTE4Ljg5IDEzLjI0YTcgNyAwIDAgMC04LjEzLTguMTMifV0sWyJwYXRoIix7ZDoiTTE5IDEyaDMifV0sWyJwYXRoIix7ZDoiTTIgMTJoMyJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik03LjA1IDcuMDVhNyA3IDAgMCAwIDkuOSA5LjkifV1dfSk7dmFyIHJFLHFFZT1mKCgpPT57ckU9W1sibGluZSIse3gxOiIyIix4MjoiNSIseTE6IjEyIix5MjoiMTIifV0sWyJsaW5lIix7eDE6IjE5Iix4MjoiMjIiLHkxOiIxMiIseTI6IjEyIn1dLFsibGluZSIse3gxOiIxMiIseDI6IjEyIix5MToiMiIseTI6IjUifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIxOSIseTI6IjIyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjcifV1dfSk7dmFyIE11LFZFZT1mKCgpPT57TXU9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTYiLHI6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjEyIix4OiIzIix5OiIxMCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgMTBWN2E1IDUgMCAwIDEgOS4zMy0yLjUifV1dfSk7dmFyIHNFLGpFZT1mKCgpPT57c0U9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTYiLHI6IjEifV0sWyJyZWN0Iix7eDoiMyIseToiMTAiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgMTBWN2E1IDUgMCAwIDEgMTAgMHYzIn1dXX0pO3ZhciBrdSxVRWU9ZigoKT0+e2t1PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTEiLHg6IjMiLHk6IjExIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTcgMTFWN2E1IDUgMCAwIDEgOS45LTEifV1dfSk7dmFyIGlFLFdFZT1mKCgpPT57aUU9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxMSIseDoiMyIseToiMTEiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNNyAxMVY3YTUgNSAwIDAgMSAxMCAwdjQifV1dfSk7dmFyIG9FLEdFZT1mKCgpPT57b0U9W1sicGF0aCIse2Q6Im0xMCAxNyA1LTUtNS01In1dLFsicGF0aCIse2Q6Ik0xNSAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xNSAzaDRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAyaC00In1dXX0pO3ZhciBuRSxZRWU9ZigoKT0+e25FPVtbInBhdGgiLHtkOiJtMTYgMTcgNS01LTUtNSJ9XSxbInBhdGgiLHtkOiJNMjEgMTJIOSJ9XSxbInBhdGgiLHtkOiJNOSAyMUg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDQifV1dfSk7dmFyIGxFLEtFZT1mKCgpPT57bEU9W1sicGF0aCIse2Q6Ik0zIDVoMSJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxIn1dLFsicGF0aCIse2Q6Ik0zIDE5aDEifV0sWyJwYXRoIix7ZDoiTTggNWgxIn1dLFsicGF0aCIse2Q6Ik04IDEyaDEifV0sWyJwYXRoIix7ZDoiTTggMTloMSJ9XSxbInBhdGgiLHtkOiJNMTMgNWg4In1dLFsicGF0aCIse2Q6Ik0xMyAxMmg4In1dLFsicGF0aCIse2Q6Ik0xMyAxOWg4In1dXX0pO3ZhciBjRSxaRWU9ZigoKT0+e2NFPVtbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4In1dLFsicGF0aCIse2Q6Im0yMSAyMS00LjMtNC4zIn1dLFsicGF0aCIse2Q6Ik0xMSAxMWEyIDIgMCAwIDAgNCAwIDQgNCAwIDAgMC04IDAgNiA2IDAgMCAwIDEyIDAifV1dfSk7dmFyIGRFLFhFZT1mKCgpPT57ZEU9W1sicGF0aCIse2Q6Ik02IDIwYTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNOCAxOFY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjE0In1dLFsicGF0aCIse2Q6Ik0xMCAyMGg0In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiMjAiLHI6IjIifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjIwIixyOiIyIn1dXX0pO3ZhciB1RSxRRWU9ZigoKT0+e3VFPVtbInBhdGgiLHtkOiJNMjIgMTNWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMmMwIDEuMS45IDIgMiAyaDgifV0sWyJwYXRoIix7ZDoibTIyIDctOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDcifV0sWyJwYXRoIix7ZDoibTE2IDE5IDIgMiA0LTQifV1dfSk7dmFyIHBFLEpFZT1mKCgpPT57cEU9W1sicGF0aCIse2Q6Im0xMiAxNSA0IDQifV0sWyJwYXRoIix7ZDoiTTIuMzUyIDEwLjY0OGExLjIwNSAxLjIwNSAwIDAgMCAwIDEuNzA0bDIuMjk2IDIuMjk2YTEuMjA1IDEuMjA1IDAgMCAwIDEuNzA0IDBsNi4wMjktNi4wMjlhMSAxIDAgMSAxIDMgM2wtNi4wMjkgNi4wMjlhMS4yMDUgMS4yMDUgMCAwIDAgMCAxLjcwNGwyLjI5NiAyLjI5NmExLjIwNSAxLjIwNSAwIDAgMCAxLjcwNCAwbDYuMzY1LTYuMzY3QTEgMSAwIDAgMCA4LjcxNiA0LjI4MnoifV0sWyJwYXRoIix7ZDoibTUgOCA0IDQifV1dfSk7dmFyIGZFLGVQZT1mKCgpPT57ZkU9W1sicGF0aCIse2Q6Ik0yMiAxNVY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEyYzAgMS4xLjkgMiAyIDJoOCJ9XSxbInBhdGgiLHtkOiJtMjIgNy04Ljk3IDUuN2ExLjk0IDEuOTQgMCAwIDEtMi4wNiAwTDIgNyJ9XSxbInBhdGgiLHtkOiJNMTYgMTloNiJ9XV19KTt2YXIgaEUsdFBlPWYoKCk9PntoRT1bWyJwYXRoIix7ZDoiTTIxLjIgOC40Yy41LjM4LjguOTcuOCAxLjZ2MTBhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWMTBhMiAyIDAgMCAxIC44LTEuNmw4LTZhMiAyIDAgMCAxIDIuNCAwbDggNloifV0sWyJwYXRoIix7ZDoibTIyIDEwLTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiAxMCJ9XV19KTt2YXIgbUUsYVBlPWYoKCk9PnttRT1bWyJwYXRoIix7ZDoiTTIyIDEzVjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTJjMCAxLjEuOSAyIDIgMmg4In1dLFsicGF0aCIse2Q6Im0yMiA3LTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiA3In1dLFsicGF0aCIse2Q6Ik0xOSAxNnY2In1dLFsicGF0aCIse2Q6Ik0xNiAxOWg2In1dXX0pO3ZhciBTdSxyUGU9ZigoKT0+e1N1PVtbInBhdGgiLHtkOiJNMjIgMTAuNVY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjEyYzAgMS4xLjkgMiAyIDJoMTIuNSJ9XSxbInBhdGgiLHtkOiJtMjIgNy04Ljk3IDUuN2ExLjk0IDEuOTQgMCAwIDEtMi4wNiAwTDIgNyJ9XSxbInBhdGgiLHtkOiJNMTggMTUuMjhjLjItLjQuNS0uOC45LTFhMi4xIDIuMSAwIDAgMSAyLjYuNGMuMy40LjUuOC41IDEuMyAwIDEuMy0yIDItMiAyIn1dLFsicGF0aCIse2Q6Ik0yMCAyMnYuMDEifV1dfSk7dmFyIGdFLHNQZT1mKCgpPT57Z0U9W1sicGF0aCIse2Q6Ik0yMiAxMi41VjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTJjMCAxLjEuOSAyIDIgMmg3LjUifV0sWyJwYXRoIix7ZDoibTIyIDctOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDcifV0sWyJwYXRoIix7ZDoiTTE4IDIxYTMgMyAwIDEgMCAwLTYgMyAzIDAgMCAwIDAgNloifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XSxbInBhdGgiLHtkOiJtMjIgMjItMS41LTEuNSJ9XV19KTt2YXIgYkUsaVBlPWYoKCk9PntiRT1bWyJwYXRoIix7ZDoiTTIyIDEwLjVWNmEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMmMwIDEuMS45IDIgMiAyaDEyLjUifV0sWyJwYXRoIix7ZDoibTIyIDctOC45NyA1LjdhMS45NCAxLjk0IDAgMCAxLTIuMDYgMEwyIDcifV0sWyJwYXRoIix7ZDoiTTIwIDE0djQifV0sWyJwYXRoIix7ZDoiTTIwIDIydi4wMSJ9XV19KTt2YXIgdkUsb1BlPWYoKCk9Pnt2RT1bWyJwYXRoIix7ZDoiTTIyIDEzVjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTJjMCAxLjEuOSAyIDIgMmg5In1dLFsicGF0aCIse2Q6Im0yMiA3LTguOTcgNS43YTEuOTQgMS45NCAwIDAgMS0yLjA2IDBMMiA3In1dLFsicGF0aCIse2Q6Im0xNyAxNyA0IDQifV0sWyJwYXRoIix7ZDoibTIxIDE3LTQgNCJ9XV19KTt2YXIgeEUsblBlPWYoKCk9Pnt4RT1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjkuNUMyIDcgNCA1IDYuNSA1SDE4YzIuMiAwIDQgMS44IDQgNHY4WiJ9XSxbInBvbHlsaW5lIix7cG9pbnRzOiIxNSw5IDE4LDkgMTgsMTEifV0sWyJwYXRoIix7ZDoiTTYuNSA1QzkgNSAxMSA3IDExIDkuNVYxN2EyIDIgMCAwIDEtMiAyIn1dLFsibGluZSIse3gxOiI2Iix4MjoiNyIseTE6IjEwIix5MjoiMTAifV1dfSk7dmFyIHlFLGxQZT1mKCgpPT57eUU9W1sicGF0aCIse2Q6Im0yMiA3LTguOTkxIDUuNzI3YTIgMiAwIDAgMS0yLjAwOSAwTDIgNyJ9XSxbInJlY3QiLHt4OiIyIix5OiI0Iix3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHJ4OiIyIn1dXX0pO3ZhciB3RSxjUGU9ZigoKT0+e3dFPVtbInBhdGgiLHtkOiJNMTcgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJ2LThhMiAyIDAgMCAxIDEtMS43MzIifV0sWyJwYXRoIix7ZDoibTIyIDUuNS02LjQxOSA0LjE3OWEyIDIgMCAwIDEtMi4xNjIgMEw3IDUuNSJ9XSxbInJlY3QiLHt4OiI3Iix5OiIzIix3aWR0aDoiMTUiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciBNRSxkUGU9ZigoKT0+e01FPVtbInBhdGgiLHtkOiJtMTEgMTktMS4xMDYtLjU1MmEyIDIgMCAwIDAtMS43ODggMGwtMy42NTkgMS44M0ExIDEgMCAwIDEgMyAxOS4zODFWNi42MThhMSAxIDAgMCAxIC41NTMtLjg5NGw0LjU1My0yLjI3N2EyIDIgMCAwIDEgMS43ODggMGw0LjIxMiAyLjEwNmEyIDIgMCAwIDAgMS43ODggMGwzLjY1OS0xLjgzQTEgMSAwIDAgMSAyMSA0LjYxOVYxNCJ9XSxbInBhdGgiLHtkOiJNMTUgNS43NjRWMTQifV0sWyJwYXRoIix7ZDoiTTIxIDE4aC02In1dLFsicGF0aCIse2Q6Ik05IDMuMjM2djE1In1dXX0pO3ZhciBrRSx1UGU9ZigoKT0+e2tFPVtbInBhdGgiLHtkOiJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIn1dLFsicGF0aCIse2Q6Im05IDEwIDIgMiA0LTQifV1dfSk7dmFyIFNFLHBQZT1mKCgpPT57U0U9W1sicGF0aCIse2Q6Ik0xOS40MyAxMi45MzVjLjM1Ny0uOTY3LjU3LTEuOTU1LjU3LTIuOTM1YTggOCAwIDAgMC0xNiAwYzAgNC45OTMgNS41MzkgMTAuMTkzIDcuMzk5IDExLjc5OWExIDEgMCAwIDAgMS4yMDIgMCAzMi4xOTcgMzIuMTk3IDAgMCAwIC44MTMtLjcyOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Im0xNiAxOCAyIDIgNC00In1dXX0pO3ZhciB6RSxmUGU9ZigoKT0+e3pFPVtbInBhdGgiLHtkOiJNMTUgMjJhMSAxIDAgMCAxLTEtMXYtNGExIDEgMCAwIDEgLjQ0NS0uODMybDMtMmExIDEgMCAwIDEgMS4xMSAwbDMgMkExIDEgMCAwIDEgMjIgMTd2NGExIDEgMCAwIDEtMSAxeiJ9XSxbInBhdGgiLHtkOiJNMTggMTBhOCA4IDAgMCAwLTE2IDBjMCA0Ljk5MyA1LjUzOSAxMC4xOTMgNy4zOTkgMTEuNzk5YTEgMSAwIDAgMCAuNjAxLjIifV0sWyJwYXRoIix7ZDoiTTE4IDIydi0zIn1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiMTAiLHI6IjMifV1dfSk7dmFyIENFLGhQZT1mKCgpPT57Q0U9W1sicGF0aCIse2Q6Ik0yMCAxMGMwIDQuOTkzLTUuNTM5IDEwLjE5My03LjM5OSAxMS43OTlhMSAxIDAgMCAxLTEuMjAyIDBDOS41MzkgMjAuMTkzIDQgMTQuOTkzIDQgMTBhOCA4IDAgMCAxIDE2IDAifV0sWyJwYXRoIix7ZDoiTTkgMTBoNiJ9XV19KTt2YXIgX0UsbVBlPWYoKCk9PntfRT1bWyJwYXRoIix7ZDoiTTE4Ljk3NyAxNEMxOS42IDEyLjcwMSAyMCAxMS4zNDMgMjAgMTBhOCA4IDAgMCAwLTE2IDBjMCA0Ljk5MyA1LjUzOSAxMC4xOTMgNy4zOTkgMTEuNzk5YTEgMSAwIDAgMCAxLjIwMiAwIDMyIDMyIDAgMCAwIC44MjQtLjczOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xNiAxOGg2In1dXX0pO3ZhciBURSxnUGU9ZigoKT0+e1RFPVtbInBhdGgiLHtkOiJNMTIuNzUgNy4wOWEzIDMgMCAwIDEgMi4xNiAyLjE2In1dLFsicGF0aCIse2Q6Ik0xNy4wNzIgMTcuMDcyYy0xLjYzNCAyLjE3LTMuNTI3IDMuOTEyLTQuNDcxIDQuNzI3YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxLjQzMi00LjU2OCJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik04LjQ3NSAyLjgxOEE4IDggMCAwIDEgMjAgMTBjMCAxLjE4My0uMzEgMi4zNzctLjgxIDMuNTMzIn1dLFsicGF0aCIse2Q6Ik05LjEzIDkuMTNhMyAzIDAgMCAwIDMuNzQgMy43NCJ9XV19KTt2YXIgenUsYlBlPWYoKCk9Pnt6dT1bWyJwYXRoIix7ZDoiTTE3Ljk3IDkuMzA0QTggOCAwIDAgMCAyIDEwYzAgNC42OSA0Ljg4NyA5LjU2MiA3LjAyMiAxMS40NjgifV0sWyJwYXRoIix7ZDoiTTIxLjM3OCAxNi42MjZhMSAxIDAgMCAwLTMuMDA0LTMuMDA0bC00LjAxIDQuMDEyYTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2eiJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjEwIixyOiIzIn1dXX0pO3ZhciBMRSx2UGU9ZigoKT0+e0xFPVtbInBhdGgiLHtkOiJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIn1dLFsicGF0aCIse2Q6Ik0xMiA3djYifV0sWyJwYXRoIix7ZDoiTTkgMTBoNiJ9XV19KTt2YXIgJEUseFBlPWYoKCk9PnskRT1bWyJwYXRoIix7ZDoiTTE5LjkxNCAxMS4xMDVBNy4yOTggNy4yOTggMCAwIDAgMjAgMTBhOCA4IDAgMCAwLTE2IDBjMCA0Ljk5MyA1LjUzOSAxMC4xOTMgNy4zOTkgMTEuNzk5YTEgMSAwIDAgMCAxLjIwMiAwIDMyIDMyIDAgMCAwIC44MjQtLjczOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xNiAxOGg2In1dLFsicGF0aCIse2Q6Ik0xOSAxNXY2In1dXX0pO3ZhciBERSx5UGU9ZigoKT0+e0RFPVtbInBhdGgiLHtkOiJNIDEyLjI0OCAyMS45NjkgYSAxIDEgMCAwIDEgLTAuODQ5IC0wLjE3IEMgOS41MzkgMjAuMTkzIDQgMTQuOTkzIDQgMTAgYSA4IDggMCAwIDEgMTYgMCBDIDIwIDEwLjQyIDE5Ljk2MSAxMC44NDEgMTkuODg4IDExLjI2MiJ9XSxbInBhdGgiLHtkOiJtMjIgMjItMS44OC0xLjg4In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgQUUsd1BlPWYoKCk9PntBRT1bWyJwYXRoIix7ZDoiTTE5Ljc1MiAxMS45MDFBNy43OCA3Ljc4IDAgMCAwIDIwIDEwYTggOCAwIDAgMC0xNiAwYzAgNC45OTMgNS41MzkgMTAuMTkzIDcuMzk5IDExLjc5OWExIDEgMCAwIDAgMS4yMDIgMCAxOSAxOSAwIDAgMCAuMDktLjA3NyJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Im0yMS41IDE1LjUtNSA1In1dLFsicGF0aCIse2Q6Im0yMS41IDIwLjUtNS01In1dXX0pO3ZhciBFRSxNUGU9ZigoKT0+e0VFPVtbInBhdGgiLHtkOiJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIn1dLFsicGF0aCIse2Q6Im0xNC41IDcuNS01IDUifV0sWyJwYXRoIix7ZDoibTkuNSA3LjUgNSA1In1dXX0pO3ZhciBQRSxrUGU9ZigoKT0+e1BFPVtbInBhdGgiLHtkOiJNMjAgMTBjMCA0Ljk5My01LjUzOSAxMC4xOTMtNy4zOTkgMTEuNzk5YTEgMSAwIDAgMS0xLjIwMiAwQzkuNTM5IDIwLjE5MyA0IDE0Ljk5MyA0IDEwYTggOCAwIDAgMSAxNiAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjMifV1dfSk7dmFyIElFLFNQZT1mKCgpPT57SUU9W1sicGF0aCIse2Q6Ik0xOCA4YzAgMy42MTMtMy44NjkgNy40MjktNS4zOTMgOC43OTVhMSAxIDAgMCAxLTEuMjE0IDBDOS44NyAxNS40MjkgNiAxMS42MTMgNiA4YTYgNiAwIDAgMSAxMiAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiOCIscjoiMiJ9XSxbInBhdGgiLHtkOiJNOC43MTQgMTRoLTMuNzFhMSAxIDAgMCAwLS45NDguNjgzbC0yLjAwNCA2QTEgMSAwIDAgMCAzIDIyaDE4YTEgMSAwIDAgMCAuOTQ4LTEuMzE2bC0yLTZhMSAxIDAgMCAwLS45NDktLjY4NGgtMy43MTIifV1dfSk7dmFyIE5FLHpQZT1mKCgpPT57TkU9W1sicGF0aCIse2Q6Im0xMSAxOS0xLjEwNi0uNTUyYTIgMiAwIDAgMC0xLjc4OCAwbC0zLjY1OSAxLjgzQTEgMSAwIDAgMSAzIDE5LjM4MVY2LjYxOGExIDEgMCAwIDEgLjU1My0uODk0bDQuNTUzLTIuMjc3YTIgMiAwIDAgMSAxLjc4OCAwbDQuMjEyIDIuMTA2YTIgMiAwIDAgMCAxLjc4OCAwbDMuNjU5LTEuODNBMSAxIDAgMCAxIDIxIDQuNjE5VjEyIn1dLFsicGF0aCIse2Q6Ik0xNSA1Ljc2NFYxMiJ9XSxbInBhdGgiLHtkOiJNMTggMTV2NiJ9XSxbInBhdGgiLHtkOiJNMjEgMThoLTYifV0sWyJwYXRoIix7ZDoiTTkgMy4yMzZ2MTUifV1dfSk7dmFyIFJFLENQZT1mKCgpPT57UkU9W1sicGF0aCIse2Q6Ik0xNC4xMDYgNS41NTNhMiAyIDAgMCAwIDEuNzg4IDBsMy42NTktMS44M0ExIDEgMCAwIDEgMjEgNC42MTl2MTIuNzY0YTEgMSAwIDAgMS0uNTUzLjg5NGwtNC41NTMgMi4yNzdhMiAyIDAgMCAxLTEuNzg4IDBsLTQuMjEyLTIuMTA2YTIgMiAwIDAgMC0xLjc4OCAwbC0zLjY1OSAxLjgzQTEgMSAwIDAgMSAzIDE5LjM4MVY2LjYxOGExIDEgMCAwIDEgLjU1My0uODk0bDQuNTUzLTIuMjc3YTIgMiAwIDAgMSAxLjc4OCAweiJ9XSxbInBhdGgiLHtkOiJNMTUgNS43NjR2MTUifV0sWyJwYXRoIix7ZDoiTTkgMy4yMzZ2MTUifV1dfSk7dmFyIE9FLF9QZT1mKCgpPT57T0U9W1sicGF0aCIse2Q6Im0xNCA2IDQgNCJ9XSxbInBhdGgiLHtkOiJNMTcgM2g0djQifV0sWyJwYXRoIix7ZDoibTIxIDMtNy43NSA3Ljc1In1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiIxNSIscjoiNiJ9XV19KTt2YXIgRkUsVFBlPWYoKCk9PntGRT1bWyJwYXRoIix7ZDoiTTE2IDNoNXY1In1dLFsicGF0aCIse2Q6Im0yMSAzLTYuNzUgNi43NSJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjE0IixyOiI2In1dXX0pO3ZhciBCRSxMUGU9ZigoKT0+e0JFPVtbInBhdGgiLHtkOiJNOCAyMmg4In1dLFsicGF0aCIse2Q6Ik0xMiAxMXYxMSJ9XSxbInBhdGgiLHtkOiJtMTkgMy03IDgtNy04WiJ9XV19KTt2YXIgSEUsJFBlPWYoKCk9PntIRT1bWyJwYXRoIix7ZDoiTTE1IDNoNnY2In1dLFsicGF0aCIse2Q6Im0yMSAzLTcgNyJ9XSxbInBhdGgiLHtkOiJtMyAyMSA3LTcifV0sWyJwYXRoIix7ZDoiTTkgMjFIM3YtNiJ9XV19KTt2YXIgcUUsRFBlPWYoKCk9PntxRT1bWyJwYXRoIix7ZDoiTTggM0g1YTIgMiAwIDAgMC0yIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMjEgOFY1YTIgMiAwIDAgMC0yLTJoLTMifV0sWyJwYXRoIix7ZDoiTTMgMTZ2M2EyIDIgMCAwIDAgMiAyaDMifV0sWyJwYXRoIix7ZDoiTTE2IDIxaDNhMiAyIDAgMCAwIDItMnYtMyJ9XV19KTt2YXIgVkUsQVBlPWYoKCk9PntWRT1bWyJwYXRoIix7ZDoiTTcuMjEgMTUgMi42NiA3LjE0YTIgMiAwIDAgMSAuMTMtMi4yTDQuNCAyLjhBMiAyIDAgMCAxIDYgMmgxMmEyIDIgMCAwIDEgMS42LjhsMS42IDIuMTRhMiAyIDAgMCAxIC4xNCAyLjJMMTYuNzkgMTUifV0sWyJwYXRoIix7ZDoiTTExIDEyIDUuMTIgMi4yIn1dLFsicGF0aCIse2Q6Im0xMyAxMiA1Ljg4LTkuOCJ9XSxbInBhdGgiLHtkOiJNOCA3aDgifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNyIscjoiNSJ9XSxbInBhdGgiLHtkOiJNMTIgMTh2LTJoLS41In1dXX0pO3ZhciBqRSxFUGU9ZigoKT0+e2pFPVtbInBhdGgiLHtkOiJNMTEuNjM2IDZBMTMgMTMgMCAwIDAgMTkuNCAzLjIgMSAxIDAgMCAxIDIxIDR2MTEuMzQ0In1dLFsicGF0aCIse2Q6Ik0xNC4zNzggMTQuMzU3QTEzIDEzIDAgMCAwIDExIDE0SDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoMSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik02IDE0YTEyIDEyIDAgMCAwIDIuNCA3LjIgMiAyIDAgMCAwIDMuMi0yLjRBOCA4IDAgMCAxIDEwIDE0In1dLFsicGF0aCIse2Q6Ik04IDh2NiJ9XV19KTt2YXIgVUUsUFBlPWYoKCk9PntVRT1bWyJwYXRoIix7ZDoiTTExIDZhMTMgMTMgMCAwIDAgOC40LTIuOEExIDEgMCAwIDEgMjEgNHYxMmExIDEgMCAwIDEtMS42LjhBMTMgMTMgMCAwIDAgMTEgMTRINWEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMnoifV0sWyJwYXRoIix7ZDoiTTYgMTRhMTIgMTIgMCAwIDAgMi40IDcuMiAyIDIgMCAwIDAgMy4yLTIuNEE4IDggMCAwIDEgMTAgMTQifV0sWyJwYXRoIix7ZDoiTTggNnY4In1dXX0pO3ZhciBXRSxJUGU9ZigoKT0+e1dFPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTUiLHkyOiIxNSJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkuMDEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNS4wMSIseTE6IjkiLHkyOiI5In1dXX0pO3ZhciBHRSxOUGU9ZigoKT0+e0dFPVtbInBhdGgiLHtkOiJNMTIgMTJ2LTIifV0sWyJwYXRoIix7ZDoiTTEyIDE4di0yIn1dLFsicGF0aCIse2Q6Ik0xNiAxMnYtMiJ9XSxbInBhdGgiLHtkOiJNMTYgMTh2LTIifV0sWyJwYXRoIix7ZDoiTTIgMTFoMS41In1dLFsicGF0aCIse2Q6Ik0yMCAxOHYtMiJ9XSxbInBhdGgiLHtkOiJNMjAuNSAxMUgyMiJ9XSxbInBhdGgiLHtkOiJNNCAxOHYtMiJ9XSxbInBhdGgiLHtkOiJNOCAxMnYtMiJ9XSxbInBhdGgiLHtkOiJNOCAxOHYtMiJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMjAiLGhlaWdodDoiMTAiLHJ4OiIyIn1dXX0pO3ZhciBZRSxSUGU9ZigoKT0+e1lFPVtbInBhdGgiLHtkOiJNNCA1aDE2In1dLFsicGF0aCIse2Q6Ik00IDEyaDE2In1dLFsicGF0aCIse2Q6Ik00IDE5aDE2In1dXX0pO3ZhciBLRSxPUGU9ZigoKT0+e0tFPVtbInBhdGgiLHtkOiJtOCA2IDQtNCA0IDQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MTAuM2E0IDQgMCAwIDEtMS4xNzIgMi44NzJMNCAyMiJ9XSxbInBhdGgiLHtkOiJtMjAgMjItNS01In1dXX0pO3ZhciBaRSxGUGU9ZigoKT0+e1pFPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoibTkgMTIgMiAyIDQtNCJ9XV19KTt2YXIgWEUsQlBlPWYoKCk9PntYRT1bWyJwYXRoIix7ZDoibTEwIDktMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtMTQgMTUgMy0zLTMtMyJ9XSxbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV1dfSk7dmFyIFFFLEhQZT1mKCgpPT57UUU9W1sicGF0aCIse2Q6Ik0xMC4xIDIuMTgyYTEwIDEwIDAgMCAxIDMuOCAwIn1dLFsicGF0aCIse2Q6Ik0xMy45IDIxLjgxOGExMCAxMCAwIDAgMS0zLjggMCJ9XSxbInBhdGgiLHtkOiJNMTcuNjA5IDMuNzJhMTAgMTAgMCAwIDEgMi42OSAyLjcifV0sWyJwYXRoIix7ZDoiTTIuMTgyIDEzLjlhMTAgMTAgMCAwIDEgMC0zLjgifV0sWyJwYXRoIix7ZDoiTTIwLjI4IDE3LjYxYTEwIDEwIDAgMCAxLTIuNyAyLjY5In1dLFsicGF0aCIse2Q6Ik0yMS44MTggMTAuMWExMCAxMCAwIDAgMSAwIDMuOCJ9XSxbInBhdGgiLHtkOiJNMy43MjEgNi4zOTFhMTAgMTAgMCAwIDEgMi43LTIuNjkifV0sWyJwYXRoIix7ZDoibTYuMTYzIDIxLjExNy0yLjkwNi44NWExIDEgMCAwIDEtMS4yMzYtMS4xNjlsLjk2NS0yLjk4In1dXX0pO3ZhciBKRSxxUGU9ZigoKT0+e0pFPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoiTTcuODI4IDEzLjA3QTMgMyAwIDAgMSAxMiA4Ljc2NGEzIDMgMCAwIDEgNS4wMDQgMi4yMjQgMyAzIDAgMCAxLS44MzIgMi4wODNsLTMuNDQ3IDMuNjJhMSAxIDAgMCAxLTEuNDUtLjAwMXoifV1dfSk7dmFyIGVQLFZQZT1mKCgpPT57ZVA9W1sicGF0aCIse2Q6Ik0yLjk5MiAxNi4zNDJhMiAyIDAgMCAxIC4wOTQgMS4xNjdsLTEuMDY1IDMuMjlhMSAxIDAgMCAwIDEuMjM2IDEuMTY4bDMuNDEzLS45OThhMiAyIDAgMCAxIDEuMDk5LjA5MiAxMCAxMCAwIDEgMC00Ljc3Ny00LjcxOSJ9XSxbInBhdGgiLHtkOiJNOCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLjAxIn1dXX0pO3ZhciB0UCxqUGU9ZigoKT0+e3RQPVtbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik00LjkzIDQuOTI5YTEwIDEwIDAgMCAwLTEuOTM4IDExLjQxMiAyIDIgMCAwIDEgLjA5NCAxLjE2N2wtMS4wNjUgMy4yOWExIDEgMCAwIDAgMS4yMzYgMS4xNjhsMy40MTMtLjk5OGEyIDIgMCAwIDEgMS4wOTkuMDkyIDEwIDEwIDAgMCAwIDExLjMwMi0xLjk4OSJ9XSxbInBhdGgiLHtkOiJNOC4zNSAyLjY5QTEwIDEwIDAgMCAxIDIxLjMgMTUuNjUifV1dfSk7dmFyIGFQLFVQZT1mKCgpPT57YVA9W1sicGF0aCIse2Q6Ik0yLjk5MiAxNi4zNDJhMiAyIDAgMCAxIC4wOTQgMS4xNjdsLTEuMDY1IDMuMjlhMSAxIDAgMCAwIDEuMjM2IDEuMTY4bDMuNDEzLS45OThhMiAyIDAgMCAxIDEuMDk5LjA5MiAxMCAxMCAwIDEgMC00Ljc3Ny00LjcxOSJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dLFsicGF0aCIse2Q6Ik0xMiA4djgifV1dfSk7dmFyIEN1LFdQZT1mKCgpPT57Q3U9W1sicGF0aCIse2Q6Ik0yLjk5MiAxNi4zNDJhMiAyIDAgMCAxIC4wOTQgMS4xNjdsLTEuMDY1IDMuMjlhMSAxIDAgMCAwIDEuMjM2IDEuMTY4bDMuNDEzLS45OThhMiAyIDAgMCAxIDEuMDk5LjA5MiAxMCAxMCAwIDEgMC00Ljc3Ny00LjcxOSJ9XSxbInBhdGgiLHtkOiJNOS4wOSA5YTMgMyAwIDAgMSA1LjgzIDFjMCAyLTMgMy0zIDMifV0sWyJwYXRoIix7ZDoiTTEyIDE3aC4wMSJ9XV19KTt2YXIgclAsR1BlPWYoKCk9PntyUD1bWyJwYXRoIix7ZDoiTTIuOTkyIDE2LjM0MmEyIDIgMCAwIDEgLjA5NCAxLjE2N2wtMS4wNjUgMy4yOWExIDEgMCAwIDAgMS4yMzYgMS4xNjhsMy40MTMtLjk5OGEyIDIgMCAwIDEgMS4wOTkuMDkyIDEwIDEwIDAgMSAwLTQuNzc3LTQuNzE5In1dLFsicGF0aCIse2Q6Im0xMCAxNS0zLTMgMy0zIn1dLFsicGF0aCIse2Q6Ik03IDEyaDhhMiAyIDAgMCAxIDIgMnYxIn1dXX0pO3ZhciBzUCxZUGU9ZigoKT0+e3NQPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoiTTEyIDh2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZoLjAxIn1dXX0pO3ZhciBpUCxLUGU9ZigoKT0+e2lQPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Im05IDkgNiA2In1dXX0pO3ZhciBvUCxaUGU9ZigoKT0+e29QPVtbInBhdGgiLHtkOiJNMi45OTIgMTYuMzQyYTIgMiAwIDAgMSAuMDk0IDEuMTY3bC0xLjA2NSAzLjI5YTEgMSAwIDAgMCAxLjIzNiAxLjE2OGwzLjQxMy0uOTk4YTIgMiAwIDAgMSAxLjA5OS4wOTIgMTAgMTAgMCAxIDAtNC43NzctNC43MTkifV1dfSk7dmFyIG5QLFhQZT1mKCgpPT57blA9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoibTEwIDgtMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtMTQgMTQgMy0zLTMtMyJ9XV19KTt2YXIgbFAsUVBlPWYoKCk9PntsUD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcuNyAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoibTkgMTEgMiAyIDQtNCJ9XV19KTt2YXIgY1AsSlBlPWYoKCk9PntjUD1bWyJwYXRoIix7ZDoiTTE0IDNoMiJ9XSxbInBhdGgiLHtkOiJNMTYgMTloLTIifV0sWyJwYXRoIix7ZDoiTTIgMTJ2LTIifV0sWyJwYXRoIix7ZDoiTTIgMTZ2NS4yODZhLjcxLjcxIDAgMCAwIDEuMjEyLjUwMmwxLjE0OS0xLjE0OSJ9XSxbInBhdGgiLHtkOiJNMjAgMTlhMiAyIDAgMCAwIDItMnYtMSJ9XSxbInBhdGgiLHtkOiJNMjIgMTB2MiJ9XSxbInBhdGgiLHtkOiJNMjIgNlY1YTIgMiAwIDAgMC0yLTIifV0sWyJwYXRoIix7ZDoiTTQgM2EyIDIgMCAwIDAtMiAydjEifV0sWyJwYXRoIix7ZDoiTTggMTloMiJ9XSxbInBhdGgiLHtkOiJNOCAzaDIifV1dfSk7dmFyIGRQLGVJZT1mKCgpPT57ZFA9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTEwIDE1aDQifV0sWyJwYXRoIix7ZDoiTTEwIDloNCJ9XSxbInBhdGgiLHtkOiJNMTIgN3Y0In1dXX0pO3ZhciB1UCx0SWU9ZigoKT0+e3VQPVtbInBhdGgiLHtkOiJNMTIuNyAzSDRhMiAyIDAgMCAwLTIgMnYxNi4yODZhLjcxLjcxIDAgMCAwIDEuMjEyLjUwMmwyLjIwMi0yLjIwMkEyIDIgMCAwIDEgNi44MjggMTlIMjBhMiAyIDAgMCAwIDItMnYtNC43In1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiNiIscjoiMyJ9XV19KTt2YXIgcFAsYUllPWYoKCk9PntwUD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNNy41IDkuNWMwIC42ODcuMjY1IDEuMzgzLjY5NyAxLjg0NGwzLjAwOSAzLjI2NGExLjE0IDEuMTQgMCAwIDAgLjQwNy4zMTQgMSAxIDAgMCAwIC43ODMtLjAwNCAxLjE0IDEuMTQgMCAwIDAgLjM5OC0uMzFsMy4wMDgtMy4yNjRBMi43NyAyLjc3IDAgMCAwIDE2LjUgOS41IDIuNSAyLjUgMCAwIDAgMTIgOGEyLjUgMi41IDAgMCAwLTQuNSAxLjUifV1dfSk7dmFyIGZQLHJJZT1mKCgpPT57ZlA9W1sicGF0aCIse2Q6Ik0yMiA4LjVWNWEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxNi4yODZhLjcxLjcxIDAgMCAwIDEuMjEyLjUwMmwyLjIwMi0yLjIwMkEyIDIgMCAwIDEgNi44MjggMTlIMTAifV0sWyJwYXRoIix7ZDoiTTIwIDE1di0yYTIgMiAwIDAgMC00IDB2MiJ9XSxbInJlY3QiLHt4OiIxNCIseToiMTUiLHdpZHRoOiI4IixoZWlnaHQ6IjUiLHJ4OiIxIn1dXX0pO3ZhciBoUCxzSWU9ZigoKT0+e2hQPVtbInBhdGgiLHtkOiJNMjIgMTdhMiAyIDAgMCAxLTIgMkg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNzEuNzEgMCAwIDEgMiAyMS4yODZWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ6In1dLFsicGF0aCIse2Q6Ik0xMiAxMWguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDExaC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxMWguMDEifV1dfSk7dmFyIG1QLGlJZT1mKCgpPT57bVA9W1sicGF0aCIse2Q6Ik0xOSAxOUg2LjgyOGEyIDIgMCAwIDAtMS40MTQuNTg2bC0yLjIwMiAyLjIwMkEuNy43IDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDEuMTg0LTEuODI2In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTguNjU2IDNIMjBhMiAyIDAgMCAxIDIgMnYxMS4zNDQifV1dfSk7dmFyIGdQLG9JZT1mKCgpPT57Z1A9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTEyIDh2NiJ9XSxbInBhdGgiLHtkOiJNOSAxMWg2In1dXX0pO3ZhciBiUCxuSWU9ZigoKT0+e2JQPVtbInBhdGgiLHtkOiJNMTQgMTRhMiAyIDAgMCAwIDItMlY4aC0yIn1dLFsicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTggMTRhMiAyIDAgMCAwIDItMlY4SDgifV1dfSk7dmFyIHZQLGxJZT1mKCgpPT57dlA9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoibTEwIDgtMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTcgMTR2LTFhMiAyIDAgMCAwLTItMkg3In1dXX0pO3ZhciB4UCxjSWU9ZigoKT0+e3hQPVtbInBhdGgiLHtkOiJNMTIgM0g0YTIgMiAwIDAgMC0yIDJ2MTYuMjg2YS43MS43MSAwIDAgMCAxLjIxMi41MDJsMi4yMDItMi4yMDJBMiAyIDAgMCAxIDYuODI4IDE5SDIwYTIgMiAwIDAgMCAyLTJ2LTQifV0sWyJwYXRoIix7ZDoiTTE2IDNoNnY2In1dLFsicGF0aCIse2Q6Im0xNiA5IDYtNiJ9XV19KTt2YXIgeVAsZEllPWYoKCk9Pnt5UD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNNyAxMWgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNWg2In1dLFsicGF0aCIse2Q6Ik03IDdoOCJ9XV19KTt2YXIgd1AsdUllPWYoKCk9Pnt3UD1bWyJwYXRoIix7ZDoiTTIyIDE3YTIgMiAwIDAgMS0yIDJINi44MjhhMiAyIDAgMCAwLTEuNDE0LjU4NmwtMi4yMDIgMi4yMDJBLjcxLjcxIDAgMCAxIDIgMjEuMjg2VjVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAyeiJ9XSxbInBhdGgiLHtkOiJNMTIgMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiA3djQifV1dfSk7dmFyIE1QLHBJZT1mKCgpPT57TVA9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoibTE0LjUgOC41LTUgNSJ9XSxbInBhdGgiLHtkOiJtOS41IDguNSA1IDUifV1dfSk7dmFyIGtQLGZJZT1mKCgpPT57a1A9W1sicGF0aCIse2Q6Ik0yMiAxN2EyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDIxLjI4NlY1YTIgMiAwIDAgMSAyLTJoMTZhMiAyIDAgMCAxIDIgMnoifV1dfSk7dmFyIFNQLGhJZT1mKCgpPT57U1A9W1sicGF0aCIse2Q6Ik0xNiAxMGEyIDIgMCAwIDEtMiAySDYuODI4YTIgMiAwIDAgMC0xLjQxNC41ODZsLTIuMjAyIDIuMjAyQS43MS43MSAwIDAgMSAyIDE0LjI4NlY0YTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnoifV0sWyJwYXRoIix7ZDoiTTIwIDlhMiAyIDAgMCAxIDIgMnYxMC4yODZhLjcxLjcxIDAgMCAxLTEuMjEyLjUwMmwtMi4yMDItMi4yMDJBMiAyIDAgMCAwIDE3LjE3MiAxOUgxMGEyIDIgMCAwIDEtMi0ydi0xIn1dXX0pO3ZhciB6UCxtSWU9ZigoKT0+e3pQPVtbInBhdGgiLHtkOiJNMTIgMTEuNFY5LjEifV0sWyJwYXRoIix7ZDoibTEyIDE3IDYuNTktNi41OSJ9XSxbInBhdGgiLHtkOiJtMTUuMDUgNS43LS4yMTgtLjY5MWEzIDMgMCAwIDAtNS42NjMgMEw0LjQxOCAxOS42OTVBMSAxIDAgMCAwIDUuMzcgMjFoMTMuMjUzYTEgMSAwIDAgMCAuOTUxLTEuMzFMMTguNDUgMTYuMiJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjkiLHI6IjIifV1dfSk7dmFyIENQLGdJZT1mKCgpPT57Q1A9W1sicGF0aCIse2Q6Ik0xMiAxOXYzIn1dLFsicGF0aCIse2Q6Ik0xNSA5LjM0VjVhMyAzIDAgMCAwLTUuNjgtMS4zMyJ9XSxbInBhdGgiLHtkOiJNMTYuOTUgMTYuOTVBNyA3IDAgMCAxIDUgMTJ2LTIifV0sWyJwYXRoIix7ZDoiTTE4Ljg5IDEzLjIzQTcgNyAwIDAgMCAxOSAxMnYtMiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik05IDl2M2EzIDMgMCAwIDAgNS4xMiAyLjEyIn1dXX0pO3ZhciBfdSxiSWU9ZigoKT0+e191PVtbInBhdGgiLHtkOiJtMTEgNy42MDEtNS45OTQgOC4xOWExIDEgMCAwIDAgLjEgMS4yOThsLjgxNy44MThhMSAxIDAgMCAwIDEuMzE0LjA4N0wxNS4wOSAxMiJ9XSxbInBhdGgiLHtkOiJNMTYuNSAyMS4xNzRDMTUuNSAyMC41IDE0LjM3MiAyMCAxMyAyMGMtMi4wNTggMC0zLjkyOCAyLjM1Ni02IDItMi4wNzItLjM1Ni0yLjc3NS0zLjM2OS0xLjUtNC41In1dLFsiY2lyY2xlIix7Y3g6IjE2IixjeToiNyIscjoiNSJ9XV19KTt2YXIgX1AsdkllPWYoKCk9PntfUD1bWyJwYXRoIix7ZDoiTTEyIDE5djMifV0sWyJwYXRoIix7ZDoiTTE5IDEwdjJhNyA3IDAgMCAxLTE0IDB2LTIifV0sWyJyZWN0Iix7eDoiOSIseToiMiIsd2lkdGg6IjYiLGhlaWdodDoiMTMiLHJ4OiIzIn1dXX0pO3ZhciBUUCx4SWU9ZigoKT0+e1RQPVtbInBhdGgiLHtkOiJNMTAgMTJoNCJ9XSxbInBhdGgiLHtkOiJNMTAgMTdoNCJ9XSxbInBhdGgiLHtkOiJNMTAgN2g0In1dLFsicGF0aCIse2Q6Ik0xOCAxMmgyIn1dLFsicGF0aCIse2Q6Ik0xOCAxOGgyIn1dLFsicGF0aCIse2Q6Ik0xOCA2aDIifV0sWyJwYXRoIix7ZDoiTTQgMTJoMiJ9XSxbInBhdGgiLHtkOiJNNCAxOGgyIn1dLFsicGF0aCIse2Q6Ik00IDZoMiJ9XSxbInJlY3QiLHt4OiI2Iix5OiIyIix3aWR0aDoiMTIiLGhlaWdodDoiMjAiLHJ4OiIyIn1dXX0pO3ZhciBMUCx5SWU9ZigoKT0+e0xQPVtbInBhdGgiLHtkOiJNNiAxOGg4In1dLFsicGF0aCIse2Q6Ik0zIDIyaDE4In1dLFsicGF0aCIse2Q6Ik0xNCAyMmE3IDcgMCAxIDAgMC0xNGgtMSJ9XSxbInBhdGgiLHtkOiJNOSAxNGgyIn1dLFsicGF0aCIse2Q6Ik05IDEyYTIgMiAwIDAgMS0yLTJWNmg2djRhMiAyIDAgMCAxLTIgMloifV0sWyJwYXRoIix7ZDoiTTEyIDZWM2ExIDEgMCAwIDAtMS0xSDlhMSAxIDAgMCAwLTEgMXYzIn1dXX0pO3ZhciAkUCx3SWU9ZigoKT0+eyRQPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTUiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjciLHg6IjYiLHk6IjgiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0xOCA4djcifV0sWyJwYXRoIix7ZDoiTTYgMTl2MiJ9XSxbInBhdGgiLHtkOiJNMTggMTl2MiJ9XV19KTt2YXIgRFAsTUllPWYoKCk9PntEUD1bWyJwYXRoIix7ZDoiTTEyIDEzdjgifV0sWyJwYXRoIix7ZDoiTTEyIDN2MyJ9XSxbInBhdGgiLHtkOiJNMTguMTcyIDZhMiAyIDAgMCAxIDEuNDE0LjU4NmwyLjA2IDIuMDZhMS4yMDcgMS4yMDcgMCAwIDEgMCAxLjcwOGwtMi4wNiAyLjA2YTIgMiAwIDAgMS0xLjQxNC41ODZINGExIDEgMCAwIDEtMS0xVjdhMSAxIDAgMCAxIDEtMXoifV1dfSk7dmFyIEFQLGtJZT1mKCgpPT57QVA9W1sicGF0aCIse2Q6Ik04IDJoOCJ9XSxbInBhdGgiLHtkOiJNOSAydjEuMzQzTTE1IDJ2Mi43ODlhNCA0IDAgMCAwIC42NzIgMi4yMTlsLjY1Ni45ODRhNCA0IDAgMCAxIC42NzIgMi4yMnYxLjEzMU03LjggNy44bC0uMTI4LjE5MkE0IDQgMCAwIDAgNyAxMC4yMTJWMjBhMiAyIDAgMCAwIDIgMmg2YTIgMiAwIDAgMCAyLTJ2LTMifV0sWyJwYXRoIix7ZDoiTTcgMTVhNi40NyA2LjQ3IDAgMCAxIDUgMCA2LjQ3MiA2LjQ3MiAwIDAgMCAzLjQzNS40MzUifV0sWyJsaW5lIix7eDE6IjIiLHgyOiIyMiIseTE6IjIiLHkyOiIyMiJ9XV19KTt2YXIgRVAsU0llPWYoKCk9PntFUD1bWyJwYXRoIix7ZDoiTTggMmg4In1dLFsicGF0aCIse2Q6Ik05IDJ2Mi43ODlhNCA0IDAgMCAxLS42NzIgMi4yMTlsLS42NTYuOTg0QTQgNCAwIDAgMCA3IDEwLjIxMlYyMGEyIDIgMCAwIDAgMiAyaDZhMiAyIDAgMCAwIDItMnYtOS43ODlhNCA0IDAgMCAwLS42NzItMi4yMTlsLS42NTYtLjk4NEE0IDQgMCAwIDEgMTUgNC43ODhWMiJ9XSxbInBhdGgiLHtkOiJNNyAxNWE2LjQ3MiA2LjQ3MiAwIDAgMSA1IDAgNi40NyA2LjQ3IDAgMCAwIDUgMCJ9XV19KTt2YXIgUFAsekllPWYoKCk9PntQUD1bWyJwYXRoIix7ZDoibTE0IDEwIDctNyJ9XSxbInBhdGgiLHtkOiJNMjAgMTBoLTZWNCJ9XSxbInBhdGgiLHtkOiJtMyAyMSA3LTcifV0sWyJwYXRoIix7ZDoiTTQgMTRoNnY2In1dXX0pO3ZhciBJUCxDSWU9ZigoKT0+e0lQPVtbInBhdGgiLHtkOiJNOCAzdjNhMiAyIDAgMCAxLTIgMkgzIn1dLFsicGF0aCIse2Q6Ik0yMSA4aC0zYTIgMiAwIDAgMS0yLTJWMyJ9XSxbInBhdGgiLHtkOiJNMyAxNmgzYTIgMiAwIDAgMSAyIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMTYgMjF2LTNhMiAyIDAgMCAxIDItMmgzIn1dXX0pO3ZhciBOUCxfSWU9ZigoKT0+e05QPVtbInBhdGgiLHtkOiJNNSAxMmgxNCJ9XV19KTt2YXIgUlAsVEllPWYoKCk9PntSUD1bWyJwYXRoIix7ZDoiTTExIDYgOCA5In1dLFsicGF0aCIse2Q6Im0xNiA3LTggOCJ9XSxbInJlY3QiLHt4OiI0Iix5OiIyIix3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHJ4OiIyIn1dXX0pO3ZhciBPUCxMSWU9ZigoKT0+e09QPVtbInBhdGgiLHtkOiJNMTAgNi42IDguNiA4In1dLFsicGF0aCIse2Q6Ik0xMiAxOHY0In1dLFsicGF0aCIse2Q6Ik0xNSA3LjUgOS41IDEzIn1dLFsicGF0aCIse2Q6Ik03IDIyaDEwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTAiLHI6IjgifV1dfSk7dmFyIEZQLCRJZT1mKCgpPT57RlA9W1sicGF0aCIse2Q6Im05IDEwIDIgMiA0LTQifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dXX0pO3ZhciBCUCxESWU9ZigoKT0+e0JQPVtbInBhdGgiLHtkOiJNMTEgMTNhMyAzIDAgMSAxIDIuODMtNEgxNGEyIDIgMCAwIDEgMCA0eiJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dLFsicmVjdCIse3g6IjIiLHk6IjMiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxNCIscng6IjIifV1dfSk7dmFyIEhQLEFJZT1mKCgpPT57SFA9W1sicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Im0xNC4zMDUgNy41My45MjMtLjM4MiJ9XSxbInBhdGgiLHtkOiJtMTUuMjI4IDQuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDMuMjI4LS4zODMtLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDguNzcyLS4zODMuOTIzIn1dLFsicGF0aCIse2Q6Im0xOS4xNDggMy4yMjguMzgzLS45MjQifV0sWyJwYXRoIix7ZDoibTE5LjUzIDkuNjk2LS4zODItLjkyNCJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDQuODUyLjkyNC0uMzgzIn1dLFsicGF0aCIse2Q6Im0yMC43NzIgNy4xNDguOTI0LjM4MyJ9XSxbInBhdGgiLHtkOiJNMjIgMTN2MmEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNyJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiNiIscjoiMyJ9XV19KTt2YXIgcVAsRUllPWYoKCk9PntxUD1bWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTIyIDEyLjMwN1YxNWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoOC42OTMifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjYiLHI6IjMifV1dfSk7dmFyIFZQLFBJZT1mKCgpPT57VlA9W1sicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik0xNyAxN0g0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMS4xODQtMS44MjYifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dLFsicGF0aCIse2Q6Ik04LjY1NiAzSDIwYTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLS4yOTMgMS4wNDIifV1dfSk7dmFyIGpQLElJZT1mKCgpPT57alA9W1sicGF0aCIse2Q6Ik0xMiAxM1Y3In1dLFsicGF0aCIse2Q6Im0xNSAxMC0zIDMtMy0zIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XV19KTt2YXIgVVAsTkllPWYoKCk9PntVUD1bWyJwYXRoIix7ZDoiTTEwIDEzVjcifV0sWyJwYXRoIix7ZDoiTTE0IDEzVjcifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJNOCAyMWg4In1dXX0pO3ZhciBXUCxSSWU9ZigoKT0+e1dQPVtbInBhdGgiLHtkOiJNMTUuMDMzIDkuNDRhLjY0Ny42NDcgMCAwIDEgMCAxLjEybC00LjA2NSAyLjM1MmEuNjQ1LjY0NSAwIDAgMS0uOTY4LS41NlY3LjY0OGEuNjQ1LjY0NSAwIDAgMSAuOTY3LS41NnoifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XSxbInJlY3QiLHt4OiIyIix5OiIzIix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXX0pO3ZhciBHUCxPSWU9ZigoKT0+e0dQPVtbInBhdGgiLHtkOiJNMTggOFY2YTIgMiAwIDAgMC0yLTJINGEyIDIgMCAwIDAtMiAydjdhMiAyIDAgMCAwIDIgMmg4In1dLFsicGF0aCIse2Q6Ik0xMCAxOXYtMy45NiAzLjE1In1dLFsicGF0aCIse2Q6Ik03IDE5aDUifV0sWyJyZWN0Iix7d2lkdGg6IjYiLGhlaWdodDoiMTAiLHg6IjE2Iix5OiIxMiIscng6IjIifV1dfSk7dmFyIFlQLEZJZT1mKCgpPT57WVA9W1sicGF0aCIse2Q6Ik01LjUgMjBIOCJ9XSxbInBhdGgiLHtkOiJNMTcgOWguMDEifV0sWyJyZWN0Iix7d2lkdGg6IjEwIixoZWlnaHQ6IjE2Iix4OiIxMiIseToiNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTggNkg0YTIgMiAwIDAgMC0yIDJ2NmEyIDIgMCAwIDAgMiAyaDQifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxNSIscjoiMSJ9XV19KTt2YXIgS1AsQkllPWYoKCk9PntLUD1bWyJwYXRoIix7ZDoibTkgMTAgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJNMTIgMTNWNyJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV1dfSk7dmFyIFpQLEhJZT1mKCgpPT57WlA9W1sicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV0sWyJyZWN0Iix7eDoiMiIseToiMyIsd2lkdGg6IjIwIixoZWlnaHQ6IjE0IixyeDoiMiJ9XSxbInJlY3QiLHt4OiI5Iix5OiI3Iix3aWR0aDoiNiIsaGVpZ2h0OiI2IixyeDoiMSJ9XV19KTt2YXIgWFAscUllPWYoKCk9PntYUD1bWyJwYXRoIix7ZDoibTE0LjUgMTIuNS01LTUifV0sWyJwYXRoIix7ZDoibTkuNSAxMi41IDUtNSJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV1dfSk7dmFyIFFQLFZJZT1mKCgpPT57UVA9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiMyIscng6IjIifV0sWyJsaW5lIix7eDE6IjgiLHgyOiIxNiIseTE6IjIxIix5MjoiMjEifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiIxNyIseTI6IjIxIn1dXX0pO3ZhciBKUCxqSWU9ZigoKT0+e0pQPVtbInBhdGgiLHtkOiJNMTggNWg0In1dLFsicGF0aCIse2Q6Ik0yMCAzdjQifV0sWyJwYXRoIix7ZDoiTTIwLjk4NSAxMi40ODZhOSA5IDAgMSAxLTkuNDczLTkuNDcyYy40MDUtLjAyMi42MTcuNDYuNDAyLjgwM2E2IDYgMCAwIDAgOC4yNjggOC4yNjhjLjM0NC0uMjE1LjgyNS0uMDA0LjgwMy40MDEifV1dfSk7dmFyIGVJLFVJZT1mKCgpPT57ZUk9W1sicGF0aCIse2Q6Ik0yMC45ODUgMTIuNDg2YTkgOSAwIDEgMS05LjQ3My05LjQ3MmMuNDA1LS4wMjIuNjE3LjQ2LjQwMi44MDNhNiA2IDAgMCAwIDguMjY4IDguMjY4Yy4zNDQtLjIxNS44MjUtLjAwNC44MDMuNDAxIn1dXX0pO3ZhciB0SSxXSWU9ZigoKT0+e3RJPVtbInBhdGgiLHtkOiJtMTggMTQtMS0zIn1dLFsicGF0aCIse2Q6Im0zIDkgNiAyYTIgMiAwIDAgMSAyLTJoMmEyIDIgMCAwIDEgMS45OSAxLjgxIn1dLFsicGF0aCIse2Q6Ik04IDE3aDNhMSAxIDAgMCAwIDEtMSA2IDYgMCAwIDEgNi02IDEgMSAwIDAgMCAxLTF2LS43NUE1IDUgMCAwIDAgMTcgNSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE3IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxNyIscjoiMyJ9XV19KTt2YXIgYUksR0llPWYoKCk9PnthST1bWyJwYXRoIix7ZDoibTggMyA0IDggNS01IDUgMTVIMkw4IDN6In1dLFsicGF0aCIse2Q6Ik00LjE0IDE1LjA4YzIuNjItMS41NyA1LjI0LTEuNDMgNy44Ni40MiAyLjc0IDEuOTQgNS40OSAyIDguMjMuMTkifV1dfSk7dmFyIHJJLFlJZT1mKCgpPT57ckk9W1sicGF0aCIse2Q6Im04IDMgNCA4IDUtNSA1IDE1SDJMOCAzeiJ9XV19KTt2YXIgc0ksS0llPWYoKCk9PntzST1bWyJwYXRoIix7ZDoiTTEyIDcuMzE4VjEwIn1dLFsicGF0aCIse2Q6Ik01IDEwdjVhNyA3IDAgMCAwIDE0IDBWOWMwLTMuNTI3LTIuNjA4LTYuNTE1LTYtNyJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiNCIscjoiMiJ9XV19KTt2YXIgaUksWkllPWYoKCk9PntpST1bWyJwYXRoIix7ZDoiTTEyIDZ2LjM0MyJ9XSxbInBhdGgiLHtkOiJNMTguMjE4IDE4LjIxOEE3IDcgMCAwIDEgNSAxNVY5YTcgNyAwIDAgMSAuNzgyLTMuMjE4In1dLFsicGF0aCIse2Q6Ik0xOSAxMy4zNDNWOUE3IDcgMCAwIDAgOC41NiAyLjkwMiJ9XSxbInBhdGgiLHtkOiJNMjIgMjIgMiAyIn1dXX0pO3ZhciBvSSxYSWU9ZigoKT0+e29JPVtbInBhdGgiLHtkOiJtMTUuNTUgOC40NSA1LjEzOCAyLjA4N2EuNS41IDAgMCAxLS4wNjMuOTQ3bC02LjEyNCAxLjU4YTIgMiAwIDAgMC0xLjQzOCAxLjQzNWwtMS41NzkgNi4xMjZhLjUuNSAwIDAgMS0uOTQ3LjA2M0w4LjQ1IDE1LjU1MSJ9XSxbInBhdGgiLHtkOiJNMjIgMiAyIDIyIn1dLFsicGF0aCIse2Q6Im02LjgxNiAxMS41MjgtMi43NzktNi44NGEuNDk1LjQ5NSAwIDAgMSAuNjUxLS42NTFsNi44NCAyLjc3OSJ9XV19KTt2YXIgbkksUUllPWYoKCk9PntuST1bWyJwYXRoIix7ZDoiTTQuMDM3IDQuNjg4YS40OTUuNDk1IDAgMCAxIC42NTEtLjY1MWwxNiA2LjVhLjUuNSAwIDAgMS0uMDYzLjk0N2wtNi4xMjQgMS41OGEyIDIgMCAwIDAtMS40MzggMS40MzVsLTEuNTc5IDYuMTI2YS41LjUgMCAwIDEtLjk0Ny4wNjN6In1dXX0pO3ZhciBsSSxKSWU9ZigoKT0+e2xJPVtbInBhdGgiLHtkOiJNMi4wMzQgMi42ODFhLjQ5OC40OTggMCAwIDEgLjY0Ny0uNjQ3bDkgMy41YS41LjUgMCAwIDEtLjAzMy45NDRMOC4yMDQgNy41NDVhMSAxIDAgMCAwLS42Ni42NmwtMS4wNjYgMy40NDNhLjUuNSAwIDAgMS0uOTQ0LjAzM3oifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNiIscjoiNiJ9XSxbInBhdGgiLHtkOiJtMTEuOCAxMS44IDguNCA4LjQifV1dfSk7dmFyIGNJLGVOZT1mKCgpPT57Y0k9W1sicGF0aCIse2Q6Ik0xNCA0LjEgMTIgNiJ9XSxbInBhdGgiLHtkOiJtNS4xIDgtMi45LS44In1dLFsicGF0aCIse2Q6Im02IDEyLTEuOSAyIn1dLFsicGF0aCIse2Q6Ik03LjIgMi4yIDggNS4xIn1dLFsicGF0aCIse2Q6Ik05LjAzNyA5LjY5YS40OTguNDk4IDAgMCAxIC42NTMtLjY1M2wxMSA0LjVhLjUuNSAwIDAgMS0uMDc0Ljk0OWwtNC4zNDkgMS4wNDFhMSAxIDAgMCAwLS43NC43MzlsLTEuMDQgNC4zNWEuNS41IDAgMCAxLS45NS4wNzR6In1dXX0pO3ZhciBkSSx0TmU9ZigoKT0+e2RJPVtbInBhdGgiLHtkOiJNMTIuNTg2IDEyLjU4NiAxOSAxOSJ9XSxbInBhdGgiLHtkOiJNMy42ODggMy4wMzdhLjQ5Ny40OTcgMCAwIDAtLjY1MS42NTFsNi41IDE1Ljk5OWEuNTAxLjUwMSAwIDAgMCAuOTQ3LS4wNjJsMS41NjktNi4wODNhMiAyIDAgMCAxIDEuNDQ4LTEuNDc5bDYuMTI0LTEuNTc5YS41LjUgMCAwIDAgLjA2My0uOTQ3eiJ9XV19KTt2YXIgdUksYU5lPWYoKCk9Pnt1ST1bWyJwYXRoIix7ZDoiTTEyIDcuMzE4VjEwIn1dLFsicGF0aCIse2Q6Ik0xOSAxMHY1YTcgNyAwIDAgMS0xNCAwVjljMC0zLjUyNyAyLjYwOC02LjUxNSA2LTcifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiI0IixyOiIyIn1dXX0pO3ZhciBwSSxyTmU9ZigoKT0+e3BJPVtbInJlY3QiLHt4OiI1Iix5OiIyIix3aWR0aDoiMTQiLGhlaWdodDoiMjAiLHJ4OiI3In1dLFsicGF0aCIse2Q6Ik0xMiA2djQifV1dfSk7dmFyIFR1LHNOZT1mKCgpPT57VHU9W1sicGF0aCIse2Q6Ik01IDN2MTZoMTYifV0sWyJwYXRoIix7ZDoibTUgMTkgNi02In1dLFsicGF0aCIse2Q6Im0yIDYgMy0zIDMgMyJ9XSxbInBhdGgiLHtkOiJtMTggMTYgMyAzLTMgMyJ9XV19KTt2YXIgZkksaU5lPWYoKCk9PntmST1bWyJwYXRoIix7ZDoiTTE5IDEzdjZoLTYifV0sWyJwYXRoIix7ZDoiTTUgMTFWNWg2In1dLFsicGF0aCIse2Q6Im01IDUgMTQgMTQifV1dfSk7dmFyIGhJLG9OZT1mKCgpPT57aEk9W1sicGF0aCIse2Q6Ik0xMSAxOUg1di02In1dLFsicGF0aCIse2Q6Ik0xMyA1aDZ2NiJ9XSxbInBhdGgiLHtkOiJNMTkgNSA1IDE5In1dXX0pO3ZhciBtSSxuTmU9ZigoKT0+e21JPVtbInBhdGgiLHtkOiJNMTEgMTlINVYxMyJ9XSxbInBhdGgiLHtkOiJNMTkgNUw1IDE5In1dXX0pO3ZhciBnSSxsTmU9ZigoKT0+e2dJPVtbInBhdGgiLHtkOiJNMTkgMTNWMTlIMTMifV0sWyJwYXRoIix7ZDoiTTUgNUwxOSAxOSJ9XV19KTt2YXIgYkksY05lPWYoKCk9PntiST1bWyJwYXRoIix7ZDoiTTggMThMMTIgMjJMMTYgMTgifV0sWyJwYXRoIix7ZDoiTTEyIDJWMjIifV1dfSk7dmFyIHZJLGROZT1mKCgpPT57dkk9W1sicGF0aCIse2Q6Im0xOCA4IDQgNC00IDQifV0sWyJwYXRoIix7ZDoiTTIgMTJoMjAifV0sWyJwYXRoIix7ZDoibTYgOC00IDQgNCA0In1dXX0pO3ZhciB4SSx1TmU9ZigoKT0+e3hJPVtbInBhdGgiLHtkOiJNNiA4TDIgMTJMNiAxNiJ9XSxbInBhdGgiLHtkOiJNMiAxMkgyMiJ9XV19KTt2YXIgeUkscE5lPWYoKCk9Pnt5ST1bWyJwYXRoIix7ZDoiTTE4IDhMMjIgMTJMMTggMTYifV0sWyJwYXRoIix7ZDoiTTIgMTJIMjIifV1dfSk7dmFyIHdJLGZOZT1mKCgpPT57d0k9W1sicGF0aCIse2Q6Ik01IDExVjVIMTEifV0sWyJwYXRoIix7ZDoiTTUgNUwxOSAxOSJ9XV19KTt2YXIgTUksaE5lPWYoKCk9PntNST1bWyJwYXRoIix7ZDoiTTEzIDVIMTlWMTEifV0sWyJwYXRoIix7ZDoiTTE5IDVMNSAxOSJ9XV19KTt2YXIga0ksbU5lPWYoKCk9PntrST1bWyJwYXRoIix7ZDoiTTggNkwxMiAyTDE2IDYifV0sWyJwYXRoIix7ZDoiTTEyIDJWMjIifV1dfSk7dmFyIFNJLGdOZT1mKCgpPT57U0k9W1sicGF0aCIse2Q6Ik0xMiAydjIwIn1dLFsicGF0aCIse2Q6Im04IDE4IDQgNCA0LTQifV0sWyJwYXRoIix7ZDoibTggNiA0LTQgNCA0In1dXX0pO3ZhciB6SSxiTmU9ZigoKT0+e3pJPVtbInBhdGgiLHtkOiJNMTIgMnYyMCJ9XSxbInBhdGgiLHtkOiJtMTUgMTktMyAzLTMtMyJ9XSxbInBhdGgiLHtkOiJtMTkgOSAzIDMtMyAzIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIwIn1dLFsicGF0aCIse2Q6Im01IDktMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtOSA1IDMtMyAzIDMifV1dfSk7dmFyIENJLHZOZT1mKCgpPT57Q0k9W1siY2lyY2xlIix7Y3g6IjgiLGN5OiIxOCIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTIgMThWMmw3IDQifV1dfSk7dmFyIF9JLHhOZT1mKCgpPT57X0k9W1sicGF0aCIse2Q6Ik05IDE4VjVsMTItMnYxMyJ9XSxbInBhdGgiLHtkOiJtOSA5IDEyLTIifV0sWyJjaXJjbGUiLHtjeDoiNiIsY3k6IjE4IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTYiLHI6IjMifV1dfSk7dmFyIFRJLHlOZT1mKCgpPT57VEk9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTgiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTE2IDE4VjIifV1dfSk7dmFyIExJLHdOZT1mKCgpPT57TEk9W1sicGF0aCIse2Q6Ik05IDE4VjVsMTItMnYxMyJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMTgiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxNiIscjoiMyJ9XV19KTt2YXIgJEksTU5lPWYoKCk9PnskST1bWyJwYXRoIix7ZDoiTTkuMzEgOS4zMSA1IDIxbDctNCA3IDQtMS4xNy0zLjE3In1dLFsicGF0aCIse2Q6Ik0xNC41MyA4Ljg4IDEyIDJsLTEuMTcgMy4xNyJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dXX0pO3ZhciBESSxrTmU9ZigoKT0+e0RJPVtbInBvbHlnb24iLHtwb2ludHM6IjEyIDIgMTkgMjEgMTIgMTcgNSAyMSAxMiAyIn1dXX0pO3ZhciBBSSxTTmU9ZigoKT0+e0FJPVtbInBhdGgiLHtkOiJNOC40MyA4LjQzIDMgMTFsOCAyIDIgOCAyLjU3LTUuNDMifV0sWyJwYXRoIix7ZDoiTTE3LjM5IDExLjczIDIyIDJsLTkuNzMgNC42MSJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dXX0pO3ZhciBFSSx6TmU9ZigoKT0+e0VJPVtbInBvbHlnb24iLHtwb2ludHM6IjMgMTEgMjIgMiAxMyAyMSAxMSAxMyAzIDExIn1dXX0pO3ZhciBQSSxDTmU9ZigoKT0+e1BJPVtbInJlY3QiLHt4OiIxNiIseToiMTYiLHdpZHRoOiI2IixoZWlnaHQ6IjYiLHJ4OiIxIn1dLFsicmVjdCIse3g6IjIiLHk6IjE2Iix3aWR0aDoiNiIsaGVpZ2h0OiI2IixyeDoiMSJ9XSxbInJlY3QiLHt4OiI5Iix5OiIyIix3aWR0aDoiNiIsaGVpZ2h0OiI2IixyeDoiMSJ9XSxbInBhdGgiLHtkOiJNNSAxNnYtM2ExIDEgMCAwIDEgMS0xaDEyYTEgMSAwIDAgMSAxIDF2MyJ9XSxbInBhdGgiLHtkOiJNMTIgMTJWOCJ9XV19KTt2YXIgSUksX05lPWYoKCk9PntJST1bWyJwYXRoIix7ZDoiTTE1IDE4aC01In1dLFsicGF0aCIse2Q6Ik0xOCAxNGgtOCJ9XSxbInBhdGgiLHtkOiJNNCAyMmgxNmEyIDIgMCAwIDAgMi0yVjRhMiAyIDAgMCAwLTItMkg4YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAxLTQgMHYtOWEyIDIgMCAwIDEgMi0yaDIifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNCIseDoiMTAiLHk6IjYiLHJ4OiIxIn1dXX0pO3ZhciBOSSxUTmU9ZigoKT0+e05JPVtbInBhdGgiLHtkOiJNNiA4LjMyYTcuNDMgNy40MyAwIDAgMSAwIDcuMzYifV0sWyJwYXRoIix7ZDoiTTkuNDYgNi4yMWExMS43NiAxMS43NiAwIDAgMSAwIDExLjU4In1dLFsicGF0aCIse2Q6Ik0xMi45MSA0LjFhMTUuOTEgMTUuOTEgMCAwIDEgLjAxIDE1LjgifV0sWyJwYXRoIix7ZDoiTTE2LjM3IDJhMjAuMTYgMjAuMTYgMCAwIDEgMCAyMCJ9XV19KTt2YXIgUkksTE5lPWYoKCk9PntSST1bWyJwYXRoIix7ZDoiTTEyIDJ2MTAifV0sWyJwYXRoIix7ZDoibTguNSA0IDcgNCJ9XSxbInBhdGgiLHtkOiJtOC41IDggNy00In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTciLHI6IjUifV1dfSk7dmFyIE9JLCROZT1mKCgpPT57T0k9W1sicGF0aCIse2Q6Ik0xMy40IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtNy40In1dLFsicGF0aCIse2Q6Ik0yIDZoNCJ9XSxbInBhdGgiLHtkOiJNMiAxMGg0In1dLFsicGF0aCIse2Q6Ik0yIDE0aDQifV0sWyJwYXRoIix7ZDoiTTIgMThoNCJ9XSxbInBhdGgiLHtkOiJNMjEuMzc4IDUuNjI2YTEgMSAwIDEgMC0zLjAwNC0zLjAwNGwtNS4wMSA1LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoifV1dfSk7dmFyIEZJLEROZT1mKCgpPT57Rkk9W1sicGF0aCIse2Q6Ik0yIDZoNCJ9XSxbInBhdGgiLHtkOiJNMiAxMGg0In1dLFsicGF0aCIse2Q6Ik0yIDE0aDQifV0sWyJwYXRoIix7ZDoiTTIgMThoNCJ9XSxbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHg6IjQiLHk6IjIiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik05LjUgOGg1In1dLFsicGF0aCIse2Q6Ik05LjUgMTJIMTYifV0sWyJwYXRoIix7ZDoiTTkuNSAxNkgxNCJ9XV19KTt2YXIgQkksQU5lPWYoKCk9PntCST1bWyJwYXRoIix7ZDoiTTIgNmg0In1dLFsicGF0aCIse2Q6Ik0yIDEwaDQifV0sWyJwYXRoIix7ZDoiTTIgMTRoNCJ9XSxbInBhdGgiLHtkOiJNMiAxOGg0In1dLFsicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIyMCIseDoiNCIseToiMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE1IDJ2MjAifV0sWyJwYXRoIix7ZDoiTTE1IDdoNSJ9XSxbInBhdGgiLHtkOiJNMTUgMTJoNSJ9XSxbInBhdGgiLHtkOiJNMTUgMTdoNSJ9XV19KTt2YXIgSEksRU5lPWYoKCk9PntIST1bWyJwYXRoIix7ZDoiTTIgNmg0In1dLFsicGF0aCIse2Q6Ik0yIDEwaDQifV0sWyJwYXRoIix7ZDoiTTIgMTRoNCJ9XSxbInBhdGgiLHtkOiJNMiAxOGg0In1dLFsicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIyMCIseDoiNCIseToiMiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE2IDJ2MjAifV1dfSk7dmFyIHFJLFBOZT1mKCgpPT57cUk9W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJwYXRoIix7ZDoiTTE2IDRoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIwIDEydjIifV0sWyJwYXRoIix7ZDoiTTIwIDE4djJhMiAyIDAgMCAxLTIgMmgtMSJ9XSxbInBhdGgiLHtkOiJNMTMgMjJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjJINmEyIDIgMCAwIDEtMi0ydi0yIn1dLFsicGF0aCIse2Q6Ik00IDE0di0yIn1dLFsicGF0aCIse2Q6Ik00IDhWNmEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTggMTBoNiJ9XSxbInBhdGgiLHtkOiJNOCAxNGg4In1dLFsicGF0aCIse2Q6Ik04IDE4aDUifV1dfSk7dmFyIFZJLElOZT1mKCgpPT57Vkk9W1sicGF0aCIse2Q6Ik04IDJ2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMnY0In1dLFsicGF0aCIse2Q6Ik0xNiAydjQifV0sWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjE4Iix4OiI0Iix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOCAxMGg2In1dLFsicGF0aCIse2Q6Ik04IDE0aDgifV0sWyJwYXRoIix7ZDoiTTggMThoNSJ9XV19KTt2YXIgakksTk5lPWYoKCk9PntqST1bWyJwYXRoIix7ZDoiTTEyIDRWMiJ9XSxbInBhdGgiLHtkOiJNNSAxMHY0YTcuMDA0IDcuMDA0IDAgMCAwIDUuMjc3IDYuNzg3Yy40MTIuMTA0LjgwMi4yOTIgMS4xMDIuNTkyTDEyIDIybC42MjEtLjYyMWMuMy0uMy42OS0uNDg4IDEuMTAyLS41OTJhNy4wMSA3LjAxIDAgMCAwIDQuMTI1LTIuOTM5In1dLFsicGF0aCIse2Q6Ik0xOSAxMHYzLjM0MyJ9XSxbInBhdGgiLHtkOiJNMTIgMTJjLTEuMzQ5LS41NzMtMS45MDUtMS4wMDUtMi41LTItLjU0Ni45MDItMS4wNDggMS4zNTMtMi41IDItMS4wMTgtLjY0NC0xLjQ2LTEuMDgtMi0yLTEuMDI4LjcxLTEuNjkuOTE4LTMgMSAxLjA4MS0xLjA0OCAxLjc1Ny0yLjAzIDItMyAuMTk0LS43NzYuODQtMS41NTEgMS43OS0yLjIxbTExLjY1NCA1Ljk5N2MuODg3LS40NTcgMS4yOC0uODkxIDEuNTU2LTEuNzg3IDEuMDMyLjkxNiAxLjY4MyAxLjE1NyAzIDEtMS4yOTctMS4wMzYtMS43NTgtMi4wMy0yLTMtLjUtMi00LTQtOC00LS43NCAwLTEuNDYxLjA2OC0yLjE1LjE5MiJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dXX0pO3ZhciBVSSxSTmU9ZigoKT0+e1VJPVtbInBhdGgiLHtkOiJNMTIgNFYyIn1dLFsicGF0aCIse2Q6Ik01IDEwdjRhNy4wMDQgNy4wMDQgMCAwIDAgNS4yNzcgNi43ODdjLjQxMi4xMDQuODAyLjI5MiAxLjEwMi41OTJMMTIgMjJsLjYyMS0uNjIxYy4zLS4zLjY5LS40ODggMS4xMDItLjU5MkE3LjAwMyA3LjAwMyAwIDAgMCAxOSAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNMTIgNEM4IDQgNC41IDYgNCA4Yy0uMjQzLjk3LS45MTkgMS45NTItMiAzIDEuMzEtLjA4MiAxLjk3Mi0uMjkgMy0xIC41NC45Mi45ODIgMS4zNTYgMiAyIDEuNDUyLS42NDcgMS45NTQtMS4wOTggMi41LTIgLjU5NS45OTUgMS4xNTEgMS40MjcgMi41IDIgMS4zMS0uNjIxIDEuODYyLTEuMDU4IDIuNS0yIC42MjkuOTc3IDEuMTYyIDEuNDIzIDIuNSAyIDEuMjA5LS41NDggMS42OC0uOTY3IDItMiAxLjAzMi45MTYgMS42ODMgMS4xNTcgMyAxLTEuMjk3LTEuMDM2LTEuNzU4LTIuMDMtMi0zLS41LTItNC00LTgtNFoifV1dfSk7dmFyIEx1LE9OZT1mKCgpPT57THU9W1sicGF0aCIse2Q6Ik0xMiAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDh2NCJ9XSxbInBhdGgiLHtkOiJNMTUuMzEyIDJhMiAyIDAgMCAxIDEuNDE0LjU4Nmw0LjY4OCA0LjY4OEEyIDIgMCAwIDEgMjIgOC42ODh2Ni42MjRhMiAyIDAgMCAxLS41ODYgMS40MTRsLTQuNjg4IDQuNjg4YTIgMiAwIDAgMS0xLjQxNC41ODZIOC42ODhhMiAyIDAgMCAxLTEuNDE0LS41ODZsLTQuNjg4LTQuNjg4QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMnoifV1dfSk7dmFyIFdJLEZOZT1mKCgpPT57V0k9W1sicGF0aCIse2Q6Ik0yLjU4NiAxNi43MjZBMiAyIDAgMCAxIDIgMTUuMzEyVjguNjg4YTIgMiAwIDAgMSAuNTg2LTEuNDE0bDQuNjg4LTQuNjg4QTIgMiAwIDAgMSA4LjY4OCAyaDYuNjI0YTIgMiAwIDAgMSAxLjQxNC41ODZsNC42ODggNC42ODhBMiAyIDAgMCAxIDIyIDguNjg4djYuNjI0YTIgMiAwIDAgMS0uNTg2IDEuNDE0bC00LjY4OCA0LjY4OGEyIDIgMCAwIDEtMS40MTQuNTg2SDguNjg4YTIgMiAwIDAgMS0xLjQxNC0uNTg2eiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dXX0pO3ZhciAkdSxCTmU9ZigoKT0+eyR1PVtbInBhdGgiLHtkOiJNMTAgMTVWOSJ9XSxbInBhdGgiLHtkOiJNMTQgMTVWOSJ9XSxbInBhdGgiLHtkOiJNMi41ODYgMTYuNzI2QTIgMiAwIDAgMSAyIDE1LjMxMlY4LjY4OGEyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LjY4OC00LjY4OEEyIDIgMCAwIDEgOC42ODggMmg2LjYyNGEyIDIgMCAwIDEgMS40MTQuNTg2bDQuNjg4IDQuNjg4QTIgMiAwIDAgMSAyMiA4LjY4OHY2LjYyNGEyIDIgMCAwIDEtLjU4NiAxLjQxNGwtNC42ODggNC42ODhhMiAyIDAgMCAxLTEuNDE0LjU4Nkg4LjY4OGEyIDIgMCAwIDEtMS40MTQtLjU4NnoifV1dfSk7dmFyIEdJLEhOZT1mKCgpPT57R0k9W1sicGF0aCIse2Q6Ik0yLjU4NiAxNi43MjZBMiAyIDAgMCAxIDIgMTUuMzEyVjguNjg4YTIgMiAwIDAgMSAuNTg2LTEuNDE0bDQuNjg4LTQuNjg4QTIgMiAwIDAgMSA4LjY4OCAyaDYuNjI0YTIgMiAwIDAgMSAxLjQxNC41ODZsNC42ODggNC42ODhBMiAyIDAgMCAxIDIyIDguNjg4djYuNjI0YTIgMiAwIDAgMS0uNTg2IDEuNDE0bC00LjY4OCA0LjY4OGEyIDIgMCAwIDEtMS40MTQuNTg2SDguNjg4YTIgMiAwIDAgMS0xLjQxNC0uNTg2eiJ9XV19KTt2YXIgRHUscU5lPWYoKCk9PntEdT1bWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Ik0yLjU4NiAxNi43MjZBMiAyIDAgMCAxIDIgMTUuMzEyVjguNjg4YTIgMiAwIDAgMSAuNTg2LTEuNDE0bDQuNjg4LTQuNjg4QTIgMiAwIDAgMSA4LjY4OCAyaDYuNjI0YTIgMiAwIDAgMSAxLjQxNC41ODZsNC42ODggNC42ODhBMiAyIDAgMCAxIDIyIDguNjg4djYuNjI0YTIgMiAwIDAgMS0uNTg2IDEuNDE0bC00LjY4OCA0LjY4OGEyIDIgMCAwIDEtMS40MTQuNTg2SDguNjg4YTIgMiAwIDAgMS0xLjQxNC0uNTg2eiJ9XSxbInBhdGgiLHtkOiJtOSA5IDYgNiJ9XV19KTt2YXIgWUksVk5lPWYoKCk9PntZST1bWyJwYXRoIix7ZDoiTTMgMjBoNC41YS41LjUgMCAwIDAgLjUtLjV2LS4yODJhLjUyLjUyIDAgMCAwLS4yNDctLjQzNyA4IDggMCAxIDEgOC40OTQtLjAwMS41Mi41MiAwIDAgMC0uMjQ3LjQzOHYuMjgyYS41LjUgMCAwIDAgLjUuNUgyMSJ9XV19KTt2YXIgS0ksak5lPWYoKCk9PntLST1bWyJwYXRoIix7ZDoiTTMgM2g2bDYgMThoNiJ9XSxbInBhdGgiLHtkOiJNMTQgM2g3In1dXX0pO3ZhciBaSSxVTmU9ZigoKT0+e1pJPVtbInBhdGgiLHtkOiJNMjAuMzQxIDYuNDg0QTEwIDEwIDAgMCAxIDEwLjI2NiAyMS44NSJ9XSxbInBhdGgiLHtkOiJNMy42NTkgMTcuNTE2QTEwIDEwIDAgMCAxIDEzLjc0IDIuMTUyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiI1IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjUiLGN5OiIxOSIscjoiMiJ9XV19KTt2YXIgWEksV05lPWYoKCk9PntYST1bWyJwYXRoIix7ZDoiTTEyIDEyVjRhMSAxIDAgMCAxIDEtMWg2LjI5N2ExIDEgMCAwIDEgLjY1MSAxLjc1OWwtNC42OTYgNC4wMjUifV0sWyJwYXRoIix7ZDoibTEyIDIxLTcuNDE0LTcuNDE0QTIgMiAwIDAgMSA0IDEyLjE3MlY2LjQxNWExLjAwMiAxLjAwMiAwIDAgMSAxLjcwNy0uNzA3TDIwIDIwLjAwOSJ9XSxbInBhdGgiLHtkOiJtMTIuMjE0IDMuMzgxIDguNDE0IDE0Ljk2NmExIDEgMCAwIDEtLjE2NyAxLjE5OWwtMS4xNjggMS4xNjNhMSAxIDAgMCAxLS43MDYuMjkxSDYuMzUxYTEgMSAwIDAgMS0uNjI1LS4yMTlMMy4yNSAxOC44YTEgMSAwIDAgMSAuNjMxLTEuNzgxbDQuMTY1LjAyNyJ9XV19KTt2YXIgUUksR05lPWYoKCk9PntRST1bWyJwYXRoIix7ZDoiTTEyIDN2NiJ9XSxbInBhdGgiLHtkOiJNMTYuNzYgM2EyIDIgMCAwIDEgMS44IDEuMWwyLjIzIDQuNDc5YTIgMiAwIDAgMSAuMjEuODkxVjE5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjkuNDcyYTIgMiAwIDAgMSAuMjExLS44OTRMNS40NSA0LjFBMiAyIDAgMCAxIDcuMjQgM3oifV0sWyJwYXRoIix7ZDoiTTMuMDU0IDkuMDEzaDE3Ljg5MyJ9XV19KTt2YXIgSkksWU5lPWYoKCk9PntKST1bWyJwYXRoIix7ZDoiTTEyIDIyVjEyIn1dLFsicGF0aCIse2Q6Im0xNiAxNyAyIDIgNC00In1dLFsicGF0aCIse2Q6Ik0yMSAxMS4xMjdWOGEyIDIgMCAwIDAtMS0xLjczbC03LTRhMiAyIDAgMCAwLTIgMGwtNyA0QTIgMiAwIDAgMCAzIDh2OGEyIDIgMCAwIDAgMSAxLjcyOWw3IDRhMiAyIDAgMCAwIDIgLjAwMWwxLjMyLS43NTMifV0sWyJwYXRoIix7ZDoiTTMuMjkgNyAxMiAxMmw4LjcxLTUifV0sWyJwYXRoIix7ZDoibTcuNSA0LjI3IDguOTk3IDUuMTQ4In1dXX0pO3ZhciBlTixLTmU9ZigoKT0+e2VOPVtbInBhdGgiLHtkOiJNMTIgMjJWMTIifV0sWyJwYXRoIix7ZDoiTTE2IDE3aDYifV0sWyJwYXRoIix7ZDoiTTIxIDEzVjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43MjlsNyA0YTIgMiAwIDAgMCAyIC4wMDFsMS42NzUtLjk1NSJ9XSxbInBhdGgiLHtkOiJNMy4yOSA3IDEyIDEybDguNzEtNSJ9XSxbInBhdGgiLHtkOiJtNy41IDQuMjcgOC45OTcgNS4xNDgifV1dfSk7dmFyIHROLFpOZT1mKCgpPT57dE49W1sicGF0aCIse2Q6Ik0xMiAyMnYtOSJ9XSxbInBhdGgiLHtkOiJNMTUuMTcgMi4yMWExLjY3IDEuNjcgMCAwIDEgMS42MyAwTDIxIDQuNTdhMS45MyAxLjkzIDAgMCAxIDAgMy4zNkw4LjgyIDE0Ljc5YTEuNjU1IDEuNjU1IDAgMCAxLTEuNjQgMEwzIDEyLjQzYTEuOTMgMS45MyAwIDAgMSAwLTMuMzZ6In1dLFsicGF0aCIse2Q6Ik0yMCAxM3YzLjg3YTIuMDYgMi4wNiAwIDAgMS0xLjExIDEuODNsLTYgMy4wOGExLjkzIDEuOTMgMCAwIDEtMS43OCAwbC02LTMuMDhBMi4wNiAyLjA2IDAgMCAxIDQgMTYuODdWMTMifV0sWyJwYXRoIix7ZDoiTTIxIDEyLjQzYTEuOTMgMS45MyAwIDAgMCAwLTMuMzZMOC44MyAyLjJhMS42NCAxLjY0IDAgMCAwLTEuNjMgMEwzIDQuNTdhMS45MyAxLjkzIDAgMCAwIDAgMy4zNmwxMi4xOCA2Ljg2YTEuNjM2IDEuNjM2IDAgMCAwIDEuNjMgMHoifV1dfSk7dmFyIGFOLFhOZT1mKCgpPT57YU49W1sicGF0aCIse2Q6Ik0xMiAyMlYxMiJ9XSxbInBhdGgiLHtkOiJNMTYgMTdoNiJ9XSxbInBhdGgiLHtkOiJNMTkgMTR2NiJ9XSxbInBhdGgiLHtkOiJNMjEgMTAuNTM1VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43MjlsNyA0YTIgMiAwIDAgMCAyIC4wMDFsMS42NzUtLjk1NSJ9XSxbInBhdGgiLHtkOiJNMy4yOSA3IDEyIDEybDguNzEtNSJ9XSxbInBhdGgiLHtkOiJtNy41IDQuMjcgOC45OTcgNS4xNDgifV1dfSk7dmFyIHJOLFFOZT1mKCgpPT57ck49W1sicGF0aCIse2Q6Ik0xMiAyMlYxMiJ9XSxbInBhdGgiLHtkOiJNMjAuMjcgMTguMjcgMjIgMjAifV0sWyJwYXRoIix7ZDoiTTIxIDEwLjQ5OFY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzI5bDcgNGEyIDIgMCAwIDAgMiAuMDAxbC45OC0uNTU5In1dLFsicGF0aCIse2Q6Ik0zLjI5IDcgMTIgMTJsOC43MS01In1dLFsicGF0aCIse2Q6Im03LjUgNC4yNyA4Ljk5NyA1LjE0OCJ9XSxbImNpcmNsZSIse2N4OiIxOC41IixjeToiMTYuNSIscjoiMi41In1dXX0pO3ZhciBzTixKTmU9ZigoKT0+e3NOPVtbInBhdGgiLHtkOiJNMTEgMjEuNzNhMiAyIDAgMCAwIDIgMGw3LTRBMiAyIDAgMCAwIDIxIDE2VjhhMiAyIDAgMCAwLTEtMS43M2wtNy00YTIgMiAwIDAgMC0yIDBsLTcgNEEyIDIgMCAwIDAgMyA4djhhMiAyIDAgMCAwIDEgMS43M3oifV0sWyJwYXRoIix7ZDoiTTEyIDIyVjEyIn1dLFsicG9seWxpbmUiLHtwb2ludHM6IjMuMjkgNyAxMiAxMiAyMC43MSA3In1dLFsicGF0aCIse2Q6Im03LjUgNC4yNyA5IDUuMTUifV1dfSk7dmFyIGlOLGVSZT1mKCgpPT57aU49W1sicGF0aCIse2Q6Ik0xMiAyMlYxMiJ9XSxbInBhdGgiLHtkOiJtMTYuNSAxNC41IDUgNSJ9XSxbInBhdGgiLHtkOiJtMTYuNSAxOS41IDUtNSJ9XSxbInBhdGgiLHtkOiJNMjEgMTAuNVY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzI5bDcgNGEyIDIgMCAwIDAgMiAuMDAxbC4xMy0uMDc0In1dLFsicGF0aCIse2Q6Ik0zLjI5IDcgMTIgMTJsOC43MS01In1dLFsicGF0aCIse2Q6Im03LjUgNC4yNyA4Ljk5NyA1LjE0OCJ9XV19KTt2YXIgb04sdFJlPWYoKCk9PntvTj1bWyJwYXRoIix7ZDoiTTExIDcgNiAyIn1dLFsicGF0aCIse2Q6Ik0xOC45OTIgMTJIMi4wNDEifV0sWyJwYXRoIix7ZDoiTTIxLjE0NSAxOC4zOEEzLjM0IDMuMzQgMCAwIDEgMjAgMTYuNWEzLjMgMy4zIDAgMCAxLTEuMTQ1IDEuODhjLS41NzUuNDYtLjg1NSAxLjAyLS44NTUgMS41OTVBMiAyIDAgMCAwIDIwIDIyYTIgMiAwIDAgMCAyLTIuMDI1YzAtLjU4LS4yODUtMS4xMy0uODU1LTEuNTk1In1dLFsicGF0aCIse2Q6Im04LjUgNC41IDIuMTQ4LTIuMTQ4YTEuMjA1IDEuMjA1IDAgMCAxIDEuNzA0IDBsNy4yOTYgNy4yOTZhMS4yMDUgMS4yMDUgMCAwIDEgMCAxLjcwNGwtNy41OTIgNy41OTJhMy42MTUgMy42MTUgMCAwIDEtNS4xMTIgMGwtMy44ODgtMy44ODhhMy42MTUgMy42MTUgMCAwIDEgMC01LjExMkw1LjY3IDcuMzMifV1dfSk7dmFyIG5OLGFSZT1mKCgpPT57bk49W1sicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiI2Iix4OiIyIix5OiIyIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTAgMTZ2LTJhMiAyIDAgMCAxIDItMmg4YTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDAtMi0yaC0yIn1dLFsicmVjdCIse3dpZHRoOiI0IixoZWlnaHQ6IjYiLHg6IjgiLHk6IjE2IixyeDoiMSJ9XV19KTt2YXIgQXUsclJlPWYoKCk9PntBdT1bWyJwYXRoIix7ZDoiTTEwIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTQgMnY0In1dLFsicGF0aCIse2Q6Ik0xNyAyYTEgMSAwIDAgMSAxIDF2OUg2VjNhMSAxIDAgMCAxIDEtMXoifV0sWyJwYXRoIix7ZDoiTTYgMTJhMSAxIDAgMCAwLTEgMXYxYTIgMiAwIDAgMCAyIDJoMmExIDEgMCAwIDEgMSAxdjIuOWEyIDIgMCAxIDAgNCAwVjE3YTEgMSAwIDAgMSAxLTFoMmEyIDIgMCAwIDAgMi0ydi0xYTEgMSAwIDAgMC0xLTEifV1dfSk7dmFyIGxOLHNSZT1mKCgpPT57bE49W1sicGF0aCIse2Q6Im0xNC42MjIgMTcuODk3LTEwLjY4LTIuOTEzIn1dLFsicGF0aCIse2Q6Ik0xOC4zNzYgMi42MjJhMSAxIDAgMSAxIDMuMDAyIDMuMDAyTDE3LjM2IDkuNjQzYS41LjUgMCAwIDAgMCAuNzA3bC45NDQuOTQ0YTIuNDEgMi40MSAwIDAgMSAwIDMuNDA4bC0uOTQ0Ljk0NGEuNS41IDAgMCAxLS43MDcgMEw4LjM1NCA3LjM0OGEuNS41IDAgMCAxIDAtLjcwN2wuOTQ0LS45NDRhMi40MSAyLjQxIDAgMCAxIDMuNDA4IDBsLjk0NC45NDRhLjUuNSAwIDAgMCAuNzA3IDB6In1dLFsicGF0aCIse2Q6Ik05IDhjLTEuODA0IDIuNzEtMy45NyAzLjQ2LTYuNTgzIDMuOTQ4YS41MDcuNTA3IDAgMCAwLS4zMDIuODE5bDcuMzIgOC44ODNhMSAxIDAgMCAwIDEuMTg1LjIwNEMxMi43MzUgMjAuNDA1IDE2IDE2Ljc5MiAxNiAxNSJ9XV19KTt2YXIgY04saVJlPWYoKCk9PntjTj1bWyJwYXRoIix7ZDoiTTEyIDIyYTEgMSAwIDAgMSAwLTIwIDEwIDkgMCAwIDEgMTAgOSA1IDUgMCAwIDEtNSA1aC0yLjI1YTEuNzUgMS43NSAwIDAgMC0xLjQgMi44bC4zLjRhMS43NSAxLjc1IDAgMCAxLTEuNCAyLjh6In1dLFsiY2lyY2xlIix7Y3g6IjEzLjUiLGN5OiI2LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJjaXJjbGUiLHtjeDoiMTcuNSIsY3k6IjEwLjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJjaXJjbGUiLHtjeDoiNi41IixjeToiMTIuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbImNpcmNsZSIse2N4OiI4LjUiLGN5OiI3LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV1dfSk7dmFyIGROLG9SZT1mKCgpPT57ZE49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTVoMTgifV0sWyJwYXRoIix7ZDoibTE1IDgtMyAzLTMtMyJ9XV19KTt2YXIgdU4sblJlPWYoKCk9Pnt1Tj1bWyJwYXRoIix7ZDoiTTExLjI1IDE3LjI1aDEuNUwxMiAxOHoifV0sWyJwYXRoIix7ZDoibTE1IDEyIDIgMiJ9XSxbInBhdGgiLHtkOiJNMTggNi41YS41LjUgMCAwIDAtLjUtLjUifV0sWyJwYXRoIix7ZDoiTTIwLjY5IDkuNjdhNC41IDQuNSAwIDEgMC03LjA0LTUuNSA4LjM1IDguMzUgMCAwIDAtMy4zIDAgNC41IDQuNSAwIDEgMC03LjA0IDUuNUMyLjQ5IDExLjIgMiAxMi44OCAyIDE0LjUgMiAxOS40NyA2LjQ4IDIyIDEyIDIyczEwLTIuNTMgMTAtNy41YzAtMS42Mi0uNDgtMy4zLTEuMy00LjgzIn1dLFsicGF0aCIse2Q6Ik02IDYuNWEuNDk1LjQ5NSAwIDAgMSAuNS0uNSJ9XSxbInBhdGgiLHtkOiJtOSAxMi0yIDIifV1dfSk7dmFyIEV1LGxSZT1mKCgpPT57RXU9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE0IDE1aDEifV0sWyJwYXRoIix7ZDoiTTE5IDE1aDIifV0sWyJwYXRoIix7ZDoiTTMgMTVoMiJ9XSxbInBhdGgiLHtkOiJNOSAxNWgxIn1dXX0pO3ZhciBwTixjUmU9ZigoKT0+e3BOPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDE1aDE4In1dLFsicGF0aCIse2Q6Im05IDEwIDMtMyAzIDMifV1dfSk7dmFyIGZOLGRSZT1mKCgpPT57Zk49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgMTVoMTgifV1dfSk7dmFyIFB1LHVSZT1mKCgpPT57UHU9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgM3YxOCJ9XSxbInBhdGgiLHtkOiJtMTYgMTUtMy0zIDMtMyJ9XV19KTt2YXIgSXUscFJlPWYoKCk9PntJdT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSAxNHYxIn1dLFsicGF0aCIse2Q6Ik05IDE5djIifV0sWyJwYXRoIix7ZDoiTTkgM3YyIn1dLFsicGF0aCIse2Q6Ik05IDl2MSJ9XV19KTt2YXIgTnUsZlJlPWYoKCk9PntOdT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsicGF0aCIse2Q6Im0xNCA5IDMgMy0zIDMifV1dfSk7dmFyIGhOLGhSZT1mKCgpPT57aE49W1sicGF0aCIse2Q6Ik0xNSAxMFY5In1dLFsicGF0aCIse2Q6Ik0xNSAxNXYtMSJ9XSxbInBhdGgiLHtkOiJNMTUgMjF2LTIifV0sWyJwYXRoIix7ZDoiTTE1IDVWMyJ9XSxbInBhdGgiLHtkOiJNOSAxMFY5In1dLFsicGF0aCIse2Q6Ik05IDE1di0xIn1dLFsicGF0aCIse2Q6Ik05IDIxdi0yIn1dLFsicGF0aCIse2Q6Ik05IDVWMyJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBSdSxtUmU9ZigoKT0+e1J1PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik05IDN2MTgifV1dfSk7dmFyIG1OLGdSZT1mKCgpPT57bU49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE1IDN2MTgifV0sWyJwYXRoIix7ZDoibTggOSAzIDMtMyAzIn1dXX0pO3ZhciBPdSxiUmU9ZigoKT0+e091PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNSAxNHYxIn1dLFsicGF0aCIse2Q6Ik0xNSAxOXYyIn1dLFsicGF0aCIse2Q6Ik0xNSAzdjIifV0sWyJwYXRoIix7ZDoiTTE1IDl2MSJ9XV19KTt2YXIgZ04sdlJlPWYoKCk9PntnTj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTUgM3YxOCJ9XSxbInBhdGgiLHtkOiJtMTAgMTUtMy0zIDMtMyJ9XV19KTt2YXIgYk4seFJlPWYoKCk9PntiTj1bWyJwYXRoIix7ZDoiTTE0IDE1aDEifV0sWyJwYXRoIix7ZDoiTTE0IDloMSJ9XSxbInBhdGgiLHtkOiJNMTkgMTVoMiJ9XSxbInBhdGgiLHtkOiJNMTkgOWgyIn1dLFsicGF0aCIse2Q6Ik0zIDE1aDIifV0sWyJwYXRoIix7ZDoiTTMgOWgyIn1dLFsicGF0aCIse2Q6Ik05IDE1aDEifV0sWyJwYXRoIix7ZDoiTTkgOWgxIn1dLFsicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dfSk7dmFyIHZOLHlSZT1mKCgpPT57dk49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE1IDN2MTgifV1dfSk7dmFyIHhOLHdSZT1mKCgpPT57eE49W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgOWgxOCJ9XSxbInBhdGgiLHtkOiJtOSAxNiAzLTMgMyAzIn1dXX0pO3ZhciBGdSxNUmU9ZigoKT0+e0Z1PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNCA5aDEifV0sWyJwYXRoIix7ZDoiTTE5IDloMiJ9XSxbInBhdGgiLHtkOiJNMyA5aDIifV0sWyJwYXRoIix7ZDoiTTkgOWgxIn1dXX0pO3ZhciB5TixrUmU9ZigoKT0+e3lOPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJwYXRoIix7ZDoibTE1IDE0LTMgMy0zLTMifV1dfSk7dmFyIHdOLFNSZT1mKCgpPT57d049W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTMgOWgxOCJ9XV19KTt2YXIgTU4selJlPWYoKCk9PntNTj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSAzdjE4In1dLFsicGF0aCIse2Q6Ik05IDE1aDEyIn1dXX0pO3ZhciBrTixDUmU9ZigoKT0+e2tOPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDE1aDEyIn1dLFsicGF0aCIse2Q6Ik0xNSAzdjE4In1dXX0pO3ZhciBCdSxfUmU9ZigoKT0+e0J1PVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJwYXRoIix7ZDoiTTkgMjFWOSJ9XV19KTt2YXIgU04sVFJlPWYoKCk9PntTTj1bWyJwYXRoIix7ZDoibTE2IDYtOC40MTQgOC41ODZhMiAyIDAgMCAwIDIuODI5IDIuODI5bDguNDE0LTguNTg2YTQgNCAwIDEgMC01LjY1Ny01LjY1N2wtOC4zNzkgOC41NTFhNiA2IDAgMSAwIDguNDg1IDguNDg1bDguMzc5LTguNTUxIn1dXX0pO3ZhciB6TixMUmU9ZigoKT0+e3pOPVtbInBhdGgiLHtkOiJNOCAyMXMtNC0zLTQtOSA0LTkgNC05In1dLFsicGF0aCIse2Q6Ik0xNiAzczQgMyA0IDktNCA5LTQgOSJ9XV19KTt2YXIgQ04sJFJlPWYoKCk9PntDTj1bWyJwYXRoIix7ZDoiTTExIDE1aDIifV0sWyJwYXRoIix7ZDoiTTEyIDEydjMifV0sWyJwYXRoIix7ZDoiTTEyIDE5djMifV0sWyJwYXRoIix7ZDoiTTE1LjI4MiAxOWExIDEgMCAwIDAgLjk0OC0uNjhsMi4zNy02Ljk4OGE3IDcgMCAxIDAtMTMuMiAwbDIuMzcgNi45ODhhMSAxIDAgMCAwIC45NDguNjh6In1dLFsicGF0aCIse2Q6Ik05IDlhMyAzIDAgMSAxIDYgMCJ9XV19KTt2YXIgX04sRFJlPWYoKCk9PntfTj1bWyJyZWN0Iix7eDoiMTQiLHk6IjMiLHdpZHRoOiI1IixoZWlnaHQ6IjE4IixyeDoiMSJ9XSxbInJlY3QiLHt4OiI1Iix5OiIzIix3aWR0aDoiNSIsaGVpZ2h0OiIxOCIscng6IjEifV1dfSk7dmFyIFROLEFSZT1mKCgpPT57VE49W1sicGF0aCIse2Q6Ik01LjggMTEuMyAyIDIybDEwLjctMy43OSJ9XSxbInBhdGgiLHtkOiJNNCAzaC4wMSJ9XSxbInBhdGgiLHtkOiJNMjIgOGguMDEifV0sWyJwYXRoIix7ZDoiTTE1IDJoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMiAyMGguMDEifV0sWyJwYXRoIix7ZDoibTIyIDItMi4yNC43NWEyLjkgMi45IDAgMCAwLTEuOTYgMy4xMmMuMS44Ni0uNTcgMS42My0xLjQ1IDEuNjNoLS4zOGMtLjg2IDAtMS42LjYtMS43NiAxLjQ0TDE0IDEwIn1dLFsicGF0aCIse2Q6Im0yMiAxMy0uODItLjMzYy0uODYtLjM0LTEuODIuMi0xLjk4IDEuMTFjLS4xMS43LS43MiAxLjIyLTEuNDMgMS4yMkgxNyJ9XSxbInBhdGgiLHtkOiJtMTEgMiAuMzMuODJjLjM0Ljg2LS4yIDEuODItMS4xMSAxLjk4QzkuNTIgNC45IDkgNS41MiA5IDYuMjNWNyJ9XSxbInBhdGgiLHtkOiJNMTEgMTNjMS45MyAxLjkzIDIuODMgNC4xNyAyIDUtLjgzLjgzLTMuMDctLjA3LTUtMi0xLjkzLTEuOTMtMi44My00LjE3LTItNSAuODMtLjgzIDMuMDcuMDcgNSAyWiJ9XV19KTt2YXIgTE4sRVJlPWYoKCk9PntMTj1bWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiI0IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiOCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjE2IixyOiIyIn1dLFsicGF0aCIse2Q6Ik05IDEwYTUgNSAwIDAgMSA1IDV2My41YTMuNSAzLjUgMCAwIDEtNi44NCAxLjA0NVE2LjUyIDE3LjQ4IDQuNDYgMTYuODRBMy41IDMuNSAwIDAgMSA1LjUgMTBaIn1dXX0pO3ZhciAkTixQUmU9ZigoKT0+eyROPVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMjAiLHg6IjUiLHk6IjIiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xNSAxNGguMDEifV0sWyJwYXRoIix7ZDoiTTkgNmg2In1dLFsicGF0aCIse2Q6Ik05IDEwaDYifV1dfSk7dmFyIEh1LElSZT1mKCgpPT57SHU9W1sicGF0aCIse2Q6Ik0xMyAyMWg4In1dLFsicGF0aCIse2Q6Ik0yMS4xNzQgNi44MTJhMSAxIDAgMCAwLTMuOTg2LTMuOTg3TDMuODQyIDE2LjE3NGEyIDIgMCAwIDAtLjUuODNsLTEuMzIxIDQuMzUyYS41LjUgMCAwIDAgLjYyMy42MjJsNC4zNTMtMS4zMmEyIDIgMCAwIDAgLjgzLS40OTd6In1dXX0pO3ZhciBETixOUmU9ZigoKT0+e0ROPVtbInBhdGgiLHtkOiJtMTAgMTAtNi4xNTcgNi4xNjJhMiAyIDAgMCAwLS41LjgzM2wtMS4zMjIgNC4zNmEuNS41IDAgMCAwIC42MjIuNjI0bDQuMzU4LTEuMzIzYTIgMiAwIDAgMCAuODMtLjVMMTQgMTMuOTgyIn1dLFsicGF0aCIse2Q6Im0xMi44MjkgNy4xNzIgNC4zNTktNC4zNDZhMSAxIDAgMSAxIDMuOTg2IDMuOTg2bC00LjM1MyA0LjM1MyJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciBxdSxSUmU9ZigoKT0+e3F1PVtbInBhdGgiLHtkOiJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiJ9XV19KTt2YXIgQU4sT1JlPWYoKCk9PntBTj1bWyJwYXRoIix7ZDoiTTE1LjcwNyAyMS4yOTNhMSAxIDAgMCAxLTEuNDE0IDBsLTEuNTg2LTEuNTg2YTEgMSAwIDAgMSAwLTEuNDE0bDUuNTg2LTUuNTg2YTEgMSAwIDAgMSAxLjQxNCAwbDEuNTg2IDEuNTg2YTEgMSAwIDAgMSAwIDEuNDE0eiJ9XSxbInBhdGgiLHtkOiJtMTggMTMtMS4zNzUtNi44NzRhMSAxIDAgMCAwLS43NDYtLjc3NkwzLjIzNSAyLjAyOGExIDEgMCAwIDAtMS4yMDcgMS4yMDdMNS4zNSAxNS44NzlhMSAxIDAgMCAwIC43NzYuNzQ2TDEzIDE4In1dLFsicGF0aCIse2Q6Im0yLjMgMi4zIDcuMjg2IDcuMjg2In1dLFsiY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjIifV1dfSk7dmFyIEVOLEZSZT1mKCgpPT57RU49W1sicGF0aCIse2Q6Ik0xMyAyMWg4In1dLFsicGF0aCIse2Q6Im0xNSA1IDQgNCJ9XSxbInBhdGgiLHtkOiJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiJ9XV19KTt2YXIgUE4sQlJlPWYoKCk9PntQTj1bWyJwYXRoIix7ZDoibTEwIDEwLTYuMTU3IDYuMTYyYTIgMiAwIDAgMC0uNS44MzNsLTEuMzIyIDQuMzZhLjUuNSAwIDAgMCAuNjIyLjYyNGw0LjM1OC0xLjMyM2EyIDIgMCAwIDAgLjgzLS41TDE0IDEzLjk4MiJ9XSxbInBhdGgiLHtkOiJtMTIuODI5IDcuMTcyIDQuMzU5LTQuMzQ2YTEgMSAwIDEgMSAzLjk4NiAzLjk4NmwtNC4zNTMgNC4zNTMifV0sWyJwYXRoIix7ZDoibTE1IDUgNCA0In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIElOLEhSZT1mKCgpPT57SU49W1sicGF0aCIse2Q6Ik0yMS4xNzQgNi44MTJhMSAxIDAgMCAwLTMuOTg2LTMuOTg3TDMuODQyIDE2LjE3NGEyIDIgMCAwIDAtLjUuODNsLTEuMzIxIDQuMzUyYS41LjUgMCAwIDAgLjYyMy42MjJsNC4zNTMtMS4zMmEyIDIgMCAwIDAgLjgzLS40OTd6In1dLFsicGF0aCIse2Q6Im0xNSA1IDQgNCJ9XV19KTt2YXIgTk4scVJlPWYoKCk9PntOTj1bWyJwYXRoIix7ZDoiTTEzIDcgOC43IDIuN2EyLjQxIDIuNDEgMCAwIDAtMy40IDBMMi43IDUuM2EyLjQxIDIuNDEgMCAwIDAgMCAzLjRMNyAxMyJ9XSxbInBhdGgiLHtkOiJtOCA2IDItMiJ9XSxbInBhdGgiLHtkOiJtMTggMTYgMi0yIn1dLFsicGF0aCIse2Q6Im0xNyAxMSA0LjMgNC4zYy45NC45NC45NCAyLjQ2IDAgMy40bC0yLjYgMi42Yy0uOTQuOTQtMi40Ni45NC0zLjQgMEwxMSAxNyJ9XSxbInBhdGgiLHtkOiJNMjEuMTc0IDYuODEyYTEgMSAwIDAgMC0zLjk4Ni0zLjk4N0wzLjg0MiAxNi4xNzRhMiAyIDAgMCAwLS41LjgzbC0xLjMyMSA0LjM1MmEuNS41IDAgMCAwIC42MjMuNjIybDQuMzUzLTEuMzJhMiAyIDAgMCAwIC44My0uNDk3eiJ9XSxbInBhdGgiLHtkOiJtMTUgNSA0IDQifV1dfSk7dmFyIFJOLFZSZT1mKCgpPT57Uk49W1sicGF0aCIse2Q6Ik0xMC44MyAyLjM4YTIgMiAwIDAgMSAyLjM0IDBsOCA1Ljc0YTIgMiAwIDAgMSAuNzMgMi4yNWwtMy4wNCA5LjI2YTIgMiAwIDAgMS0xLjkgMS4zN0g3LjA0YTIgMiAwIDAgMS0xLjktMS4zN0wyLjEgMTAuMzdhMiAyIDAgMCAxIC43My0yLjI1eiJ9XV19KTt2YXIgT04salJlPWYoKCk9PntPTj1bWyJsaW5lIix7eDE6IjE5Iix4MjoiNSIseTE6IjUiLHkyOiIxOSJ9XSxbImNpcmNsZSIse2N4OiI2LjUiLGN5OiI2LjUiLHI6IjIuNSJ9XSxbImNpcmNsZSIse2N4OiIxNy41IixjeToiMTcuNSIscjoiMi41In1dXX0pO3ZhciBGTixVUmU9ZigoKT0+e0ZOPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjUiLHI6IjEifV0sWyJwYXRoIix7ZDoibTkgMjAgMy02IDMgNiJ9XSxbInBhdGgiLHtkOiJtNiA4IDYgMiA2LTIifV0sWyJwYXRoIix7ZDoiTTEyIDEwdjQifV1dfSk7dmFyIEJOLFdSZT1mKCgpPT57Qk49W1sicGF0aCIse2Q6Ik0yMCAxMUg0In1dLFsicGF0aCIse2Q6Ik0yMCA3SDQifV0sWyJwYXRoIix7ZDoiTTcgMjFWNGExIDEgMCAwIDEgMS0xaDRhMSAxIDAgMCAxIDAgMTJINyJ9XV19KTt2YXIgSE4sR1JlPWYoKCk9PntITj1bWyJwYXRoIix7ZDoiTTEzIDJhOSA5IDAgMCAxIDkgOSJ9XSxbInBhdGgiLHtkOiJNMTMgNmE1IDUgMCAwIDEgNSA1In1dLFsicGF0aCIse2Q6Ik0xMy44MzIgMTYuNTY4YTEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkExOCAxOCAwIDAgMSAyIDRhMiAyIDAgMCAxIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtLjggMS42bC0uNDY4LjM1MWExIDEgMCAwIDAtLjI5MiAxLjIzMyAxNCAxNCAwIDAgMCA2LjM5MiA2LjM4NCJ9XV19KTt2YXIgcU4sWVJlPWYoKCk9PntxTj1bWyJwYXRoIix7ZDoiTTE0IDZoOCJ9XSxbInBhdGgiLHtkOiJtMTggMiA0IDQtNCA0In1dLFsicGF0aCIse2Q6Ik0xMy44MzIgMTYuNTY4YTEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkExOCAxOCAwIDAgMSAyIDRhMiAyIDAgMCAxIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtLjggMS42bC0uNDY4LjM1MWExIDEgMCAwIDAtLjI5MiAxLjIzMyAxNCAxNCAwIDAgMCA2LjM5MiA2LjM4NCJ9XV19KTt2YXIgVk4sS1JlPWYoKCk9PntWTj1bWyJwYXRoIix7ZDoiTTE2IDJ2Nmg2In1dLFsicGF0aCIse2Q6Im0yMiAyLTYgNiJ9XSxbInBhdGgiLHtkOiJNMTMuODMyIDE2LjU2OGExIDEgMCAwIDAgMS4yMTMtLjMwM2wuMzU1LS40NjVBMiAyIDAgMCAxIDE3IDE1aDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0yIDJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgNi4zOTIgNi4zODQifV1dfSk7dmFyIGpOLFpSZT1mKCgpPT57ak49W1sicGF0aCIse2Q6Im0xNiAyIDYgNiJ9XSxbInBhdGgiLHtkOiJtMjIgMi02IDYifV0sWyJwYXRoIix7ZDoiTTEzLjgzMiAxNi41NjhhMSAxIDAgMCAwIDEuMjEzLS4zMDNsLjM1NS0uNDY1QTIgMiAwIDAgMSAxNyAxNWgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtMiAyQTE4IDE4IDAgMCAxIDIgNGEyIDIgMCAwIDEgMi0yaDNhMiAyIDAgMCAxIDIgMnYzYTIgMiAwIDAgMS0uOCAxLjZsLS40NjguMzUxYTEgMSAwIDAgMC0uMjkyIDEuMjMzIDE0IDE0IDAgMCAwIDYuMzkyIDYuMzg0In1dXX0pO3ZhciBVTixYUmU9ZigoKT0+e1VOPVtbInBhdGgiLHtkOiJNMTAuMSAxMy45YTE0IDE0IDAgMCAwIDMuNzMyIDIuNjY4IDEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMiAxOCAxOCAwIDAgMS0xMi43MjgtNS4yNzIifV0sWyJwYXRoIix7ZDoiTTIyIDIgMiAyMiJ9XSxbInBhdGgiLHtkOiJNNC43NiAxMy41ODJBMTggMTggMCAwIDEgMiA0YTIgMiAwIDAgMSAyLTJoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLS44IDEuNmwtLjQ2OC4zNTFhMSAxIDAgMCAwLS4yOTIgMS4yMzMgMTQgMTQgMCAwIDAgLjI0NC40NzMifV1dfSk7dmFyIFdOLFFSZT1mKCgpPT57V049W1sicGF0aCIse2Q6Im0xNiA4IDYtNiJ9XSxbInBhdGgiLHtkOiJNMjIgOFYyaC02In1dLFsicGF0aCIse2Q6Ik0xMy44MzIgMTYuNTY4YTEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkExOCAxOCAwIDAgMSAyIDRhMiAyIDAgMCAxIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtLjggMS42bC0uNDY4LjM1MWExIDEgMCAwIDAtLjI5MiAxLjIzMyAxNCAxNCAwIDAgMCA2LjM5MiA2LjM4NCJ9XV19KTt2YXIgR04sSlJlPWYoKCk9PntHTj1bWyJsaW5lIix7eDE6IjkiLHgyOiI5Iix5MToiNCIseTI6IjIwIn1dLFsicGF0aCIse2Q6Ik00IDdjMC0xLjcgMS4zLTMgMy0zaDEzIn1dLFsicGF0aCIse2Q6Ik0xOCAyMGMtMS43IDAtMy0xLjMtMy0zVjQifV1dfSk7dmFyIFlOLGVPZT1mKCgpPT57WU49W1sicGF0aCIse2Q6Ik0xMy44MzIgMTYuNTY4YTEgMSAwIDAgMCAxLjIxMy0uMzAzbC4zNTUtLjQ2NUEyIDIgMCAwIDEgMTcgMTVoM2EyIDIgMCAwIDEgMiAydjNhMiAyIDAgMCAxLTIgMkExOCAxOCAwIDAgMSAyIDRhMiAyIDAgMCAxIDItMmgzYTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtLjggMS42bC0uNDY4LjM1MWExIDEgMCAwIDAtLjI5MiAxLjIzMyAxNCAxNCAwIDAgMCA2LjM5MiA2LjM4NCJ9XV19KTt2YXIgS04sdE9lPWYoKCk9PntLTj1bWyJwYXRoIix7ZDoiTTE4LjUgOGMtMS40IDAtMi42LS44LTMuMi0yQTYuODcgNi44NyAwIDAgMCAyIDl2MTFhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi04LjVDMjIgOS42IDIwLjQgOCAxOC41IDgifV0sWyJwYXRoIix7ZDoiTTIgMTRoMjAifV0sWyJwYXRoIix7ZDoiTTYgMTR2NCJ9XSxbInBhdGgiLHtkOiJNMTAgMTR2NCJ9XSxbInBhdGgiLHtkOiJNMTQgMTR2NCJ9XSxbInBhdGgiLHtkOiJNMTggMTR2NCJ9XV19KTt2YXIgWk4sYU9lPWYoKCk9PntaTj1bWyJwYXRoIix7ZDoibTE0IDEzLTguMzgxIDguMzhhMSAxIDAgMCAxLTMuMDAxLTNMMTEgOS45OTkifV0sWyJwYXRoIix7ZDoiTTE1Ljk3MyA0LjAyN0ExMyAxMyAwIDAgMCA1LjkwMiAyLjM3M2MtMS4zOTguMzQyLTEuMDkyIDIuMTU4LjI3NyAyLjYwMWExOS45IDE5LjkgMCAwIDEgNS44MjIgMy4wMjQifV0sWyJwYXRoIix7ZDoiTTE2LjAwMSAxMS45OTlhMTkuOSAxOS45IDAgMCAxIDMuMDI0IDUuODI0Yy40NDQgMS4zNjkgMi4yNiAxLjY3NiAyLjYwMy4yNzhBMTMgMTMgMCAwIDAgMjAgOC4wNjkifV0sWyJwYXRoIix7ZDoiTTE4LjM1MiAzLjM1MmExLjIwNSAxLjIwNSAwIDAgMC0xLjcwNCAwbC01LjI5NiA1LjI5NmExLjIwNSAxLjIwNSAwIDAgMCAwIDEuNzA0bDIuMjk2IDIuMjk2YTEuMjA1IDEuMjA1IDAgMCAwIDEuNzA0IDBsNS4yOTYtNS4yOTZhMS4yMDUgMS4yMDUgMCAwIDAgMC0xLjcwNHoifV1dfSk7dmFyIFhOLHJPZT1mKCgpPT57WE49W1sicGF0aCIse2Q6Ik0yMSA5VjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTBjMCAxLjEuOSAyIDIgMmg0In1dLFsicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiI3Iix4OiIxMiIseToiMTMiLHJ4OiIyIn1dXX0pO3ZhciBRTixzT2U9ZigoKT0+e1FOPVtbInBhdGgiLHtkOiJNMiAxMGg2VjQifV0sWyJwYXRoIix7ZDoibTIgNCA2IDYifV0sWyJwYXRoIix7ZDoiTTIxIDEwVjdhMiAyIDAgMCAwLTItMmgtNyJ9XSxbInBhdGgiLHtkOiJNMyAxNHYyYTIgMiAwIDAgMCAyIDJoMyJ9XSxbInJlY3QiLHt4OiIxMiIseToiMTQiLHdpZHRoOiIxMCIsaGVpZ2h0OiI3IixyeDoiMSJ9XV19KTt2YXIgSk4saU9lPWYoKCk9PntKTj1bWyJwYXRoIix7ZDoiTTExIDE3aDN2MmExIDEgMCAwIDAgMSAxaDJhMSAxIDAgMCAwIDEtMXYtM2EzLjE2IDMuMTYgMCAwIDAgMi0yaDFhMSAxIDAgMCAwIDEtMXYtMmExIDEgMCAwIDAtMS0xaC0xYTUgNSAwIDAgMC0yLTRWM2E0IDQgMCAwIDAtMy4yIDEuNmwtLjMuNEgxMWE2IDYgMCAwIDAtNiA2djFhNSA1IDAgMCAwIDIgNHYzYTEgMSAwIDAgMCAxIDFoMmExIDEgMCAwIDAgMS0xeiJ9XSxbInBhdGgiLHtkOiJNMTYgMTBoLjAxIn1dLFsicGF0aCIse2Q6Ik0yIDh2MWEyIDIgMCAwIDAgMiAyaDEifV1dfSk7dmFyIGVSLG9PZT1mKCgpPT57ZVI9W1sicGF0aCIse2Q6Ik0xNCAzdjExIn1dLFsicGF0aCIse2Q6Ik0xNCA5aC0zYTMgMyAwIDAgMSAwLTZoOSJ9XSxbInBhdGgiLHtkOiJNMTggM3YxMSJ9XSxbInBhdGgiLHtkOiJNMjIgMThIMmw0LTQifV0sWyJwYXRoIix7ZDoibTYgMjItNC00In1dXX0pO3ZhciB0UixuT2U9ZigoKT0+e3RSPVtbInBhdGgiLHtkOiJNMTAgM3YxMSJ9XSxbInBhdGgiLHtkOiJNMTAgOUg3YTEgMSAwIDAgMSAwLTZoOCJ9XSxbInBhdGgiLHtkOiJNMTQgM3YxMSJ9XSxbInBhdGgiLHtkOiJtMTggMTQgNCA0SDIifV0sWyJwYXRoIix7ZDoibTIyIDE4LTQgNCJ9XV19KTt2YXIgYVIsbE9lPWYoKCk9PnthUj1bWyJwYXRoIix7ZDoiTTEzIDR2MTYifV0sWyJwYXRoIix7ZDoiTTE3IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE5IDRIOS41YTQuNSA0LjUgMCAwIDAgMCA5SDEzIn1dXX0pO3ZhciByUixjT2U9ZigoKT0+e3JSPVtbInBhdGgiLHtkOiJNMTggMTFoLTRhMSAxIDAgMCAwLTEgMXY1YTEgMSAwIDAgMCAxIDFoNCJ9XSxbInBhdGgiLHtkOiJNNiA3djEzYTIgMiAwIDAgMCAyIDJoOGEyIDIgMCAwIDAgMi0yVjcifV0sWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjUiLHg6IjQiLHk6IjIiLHJ4OiIxIn1dXX0pO3ZhciBzUixkT2U9ZigoKT0+e3NSPVtbInBhdGgiLHtkOiJNMTIgMTd2NSJ9XSxbInBhdGgiLHtkOiJNMTUgOS4zNFY3YTEgMSAwIDAgMSAxLTEgMiAyIDAgMCAwIDAtNEg3Ljg5In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTkgOXYxLjc2YTIgMiAwIDAgMS0xLjExIDEuNzlsLTEuNzguOUEyIDIgMCAwIDAgNSAxNS4yNFYxNmExIDEgMCAwIDAgMSAxaDExIn1dXX0pO3ZhciBpUix1T2U9ZigoKT0+e2lSPVtbInBhdGgiLHtkOiJtMTAuNSAyMC41IDEwLTEwYTQuOTUgNC45NSAwIDEgMC03LTdsLTEwIDEwYTQuOTUgNC45NSAwIDEgMCA3IDdaIn1dLFsicGF0aCIse2Q6Im04LjUgOC41IDcgNyJ9XV19KTt2YXIgb1IscE9lPWYoKCk9PntvUj1bWyJwYXRoIix7ZDoiTTEyIDE3djUifV0sWyJwYXRoIix7ZDoiTTkgMTAuNzZhMiAyIDAgMCAxLTEuMTEgMS43OWwtMS43OC45QTIgMiAwIDAgMCA1IDE1LjI0VjE2YTEgMSAwIDAgMCAxIDFoMTJhMSAxIDAgMCAwIDEtMXYtLjc2YTIgMiAwIDAgMC0xLjExLTEuNzlsLTEuNzgtLjlBMiAyIDAgMCAxIDE1IDEwLjc2VjdhMSAxIDAgMCAxIDEtMSAyIDIgMCAwIDAgMC00SDhhMiAyIDAgMCAwIDAgNCAxIDEgMCAwIDEgMSAxeiJ9XV19KTt2YXIgblIsZk9lPWYoKCk9PntuUj1bWyJwYXRoIix7ZDoibTEyIDktOC40MTQgOC40MTRBMiAyIDAgMCAwIDMgMTguODI4djEuMzQ0YTIgMiAwIDAgMS0uNTg2IDEuNDE0QTIgMiAwIDAgMSAzLjgyOCAyMWgxLjM0NGEyIDIgMCAwIDAgMS40MTQtLjU4NkwxNSAxMiJ9XSxbInBhdGgiLHtkOiJtMTggOSAuNC40YTEgMSAwIDEgMS0zIDNsLTMuOC0zLjhhMSAxIDAgMSAxIDMtM2wuNC40IDMuNC0zLjRhMSAxIDAgMSAxIDMgM3oifV0sWyJwYXRoIix7ZDoibTIgMjIgLjQxNC0uNDE0In1dXX0pO3ZhciBsUixoT2U9ZigoKT0+e2xSPVtbInBhdGgiLHtkOiJtMTIgMTQtMSAxIn1dLFsicGF0aCIse2Q6Im0xMy43NSAxOC4yNS0xLjI1IDEuNDIifV0sWyJwYXRoIix7ZDoiTTE3Ljc3NSA1LjY1NGExNS42OCAxNS42OCAwIDAgMC0xMi4xMjEgMTIuMTIifV0sWyJwYXRoIix7ZDoiTTE4LjggOS4zYTEgMSAwIDAgMCAyLjEgNy43In1dLFsicGF0aCIse2Q6Ik0yMS45NjQgMjAuNzMyYTEgMSAwIDAgMS0xLjIzMiAxLjIzMmwtMTgtNWExIDEgMCAwIDEtLjY5NS0xLjIzMkExOS42OCAxOS42OCAwIDAgMSAxNS43MzIgMi4wMzdhMSAxIDAgMCAxIDEuMjMyLjY5NXoifV1dfSk7dmFyIGNSLG1PZT1mKCgpPT57Y1I9W1sicGF0aCIse2Q6Ik0yIDIyaDIwIn1dLFsicGF0aCIse2Q6Ik0zLjc3IDEwLjc3IDIgOWwyLTQuNSAxLjEuNTVjLjU1LjI4LjkuODQuOSAxLjQ1cy4zNSAxLjE3LjkgMS40NUw4IDguNWwzLTYgMS4wNS41M2EyIDIgMCAwIDEgMS4wOSAxLjUybC43MiA1LjRhMiAyIDAgMCAwIDEuMDkgMS41Mmw0LjQgMi4yYy40Mi4yMi43OC41NSAxLjAxLjk2bC42IDEuMDNjLjQ5Ljg4LS4wNiAxLjk4LTEuMDYgMi4xbC0xLjE4LjE1Yy0uNDcuMDYtLjk1LS4wMi0xLjM3LS4yNEw0LjI5IDExLjE1YTIgMiAwIDAgMS0uNTItLjM4WiJ9XV19KTt2YXIgZFIsZ09lPWYoKCk9PntkUj1bWyJwYXRoIix7ZDoiTTIgMjJoMjAifV0sWyJwYXRoIix7ZDoiTTYuMzYgMTcuNCA0IDE3bC0yLTQgMS4xLS41NWEyIDIgMCAwIDEgMS44IDBsLjE3LjFhMiAyIDAgMCAwIDEuOCAwTDggMTIgNSA2bC45LS40NWEyIDIgMCAwIDEgMi4wOS4ybDQuMDIgM2EyIDIgMCAwIDAgMi4xLjJsNC4xOS0yLjA2YTIuNDEgMi40MSAwIDAgMSAxLjczLS4xN0wyMSA3YTEuNCAxLjQgMCAwIDEgLjg3IDEuOTlsLS4zOC43NmMtLjIzLjQ2LS42Ljg0LTEuMDcgMS4wOEw3LjU4IDE3LjJhMiAyIDAgMCAxLTEuMjIuMThaIn1dXX0pO3ZhciB1UixiT2U9ZigoKT0+e3VSPVtbInBhdGgiLHtkOiJNMTcuOCAxOS4yIDE2IDExbDMuNS0zLjVDMjEgNiAyMS41IDQgMjEgM2MtMS0uNS0zIDAtNC41IDEuNUwxMyA4IDQuOCA2LjJjLS41LS4xLS45LjEtMS4xLjVsLS4zLjVjLS4yLjUtLjEgMSAuMyAxLjNMOSAxMmwtMiAzSDRsLTEgMSAzIDIgMiAzIDEtMXYtM2wzLTIgMy41IDUuM2MuMy40LjguNSAxLjMuM2wuNS0uMmMuNC0uMy42LS43LjUtMS4yeiJ9XV19KTt2YXIgcFIsdk9lPWYoKCk9PntwUj1bWyJwYXRoIix7ZDoiTTUgNWEyIDIgMCAwIDEgMy4wMDgtMS43MjhsMTEuOTk3IDYuOTk4YTIgMiAwIDAgMSAuMDAzIDMuNDU4bC0xMiA3QTIgMiAwIDAgMSA1IDE5eiJ9XV19KTt2YXIgZlIseE9lPWYoKCk9PntmUj1bWyJwYXRoIix7ZDoiTTkgMnY2In1dLFsicGF0aCIse2Q6Ik0xNSAydjYifV0sWyJwYXRoIix7ZDoiTTEyIDE3djUifV0sWyJwYXRoIix7ZDoiTTUgOGgxNCJ9XSxbInBhdGgiLHtkOiJNNiAxMVY4aDEydjNhNiA2IDAgMSAxLTEyIDBaIn1dXX0pO3ZhciBWdSx5T2U9ZigoKT0+e1Z1PVtbInBhdGgiLHtkOiJNNi4zIDIwLjNhMi40IDIuNCAwIDAgMCAzLjQgMEwxMiAxOGwtNi02LTIuMyAyLjNhMi40IDIuNCAwIDAgMCAwIDMuNFoifV0sWyJwYXRoIix7ZDoibTIgMjIgMy0zIn1dLFsicGF0aCIse2Q6Ik03LjUgMTMuNSAxMCAxMSJ9XSxbInBhdGgiLHtkOiJNMTAuNSAxNi41IDEzIDE0In1dLFsicGF0aCIse2Q6Im0xOCAzLTQgNGg2bC00IDQifV1dfSk7dmFyIGhSLHdPZT1mKCgpPT57aFI9W1sicGF0aCIse2Q6Ik0xMiAyMnYtNSJ9XSxbInBhdGgiLHtkOiJNMTUgOFYyIn1dLFsicGF0aCIse2Q6Ik0xNyA4YTEgMSAwIDAgMSAxIDF2NGE0IDQgMCAwIDEtNCA0aC00YTQgNCAwIDAgMS00LTRWOWExIDEgMCAwIDEgMS0xeiJ9XSxbInBhdGgiLHtkOiJNOSA4VjIifV1dfSk7dmFyIG1SLE1PZT1mKCgpPT57bVI9W1sicGF0aCIse2Q6Ik01IDEyaDE0In1dLFsicGF0aCIse2Q6Ik0xMiA1djE0In1dXX0pO3ZhciBnUixrT2U9ZigoKT0+e2dSPVtbInBhdGgiLHtkOiJNMyAydjFjMCAxIDIgMSAyIDJTMyA2IDMgN3MyIDEgMiAyLTIgMS0yIDIgMiAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMTggNmguMDEifV0sWyJwYXRoIix7ZDoiTTYgMThoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMC44MyA4LjgzYTQgNCAwIDAgMC01LjY2LTUuNjZsLTEyIDEyYTQgNCAwIDEgMCA1LjY2IDUuNjZaIn1dLFsicGF0aCIse2Q6Ik0xOCAxMS42NlYyMmE0IDQgMCAwIDAgNC00VjYifV1dfSk7dmFyIGJSLFNPZT1mKCgpPT57YlI9W1sicGF0aCIse2Q6Ik0xMyAxN2ExIDEgMCAxIDAtMiAwbC41IDQuNWEwLjUgMC41IDAgMCAwIDEgMHoiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbInBhdGgiLHtkOiJNMTYuODUgMTguNThhOSA5IDAgMSAwLTkuNyAwIn1dLFsicGF0aCIse2Q6Ik04IDE0YTUgNSAwIDEgMSA4IDAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMSIscjoiMSIsZmlsbDoiY3VycmVudENvbG9yIn1dXX0pO3ZhciB2Uix6T2U9ZigoKT0+e3ZSPVtbInBhdGgiLHtkOiJNMjIgMTRhOCA4IDAgMCAxLTggOCJ9XSxbInBhdGgiLHtkOiJNMTggMTF2LTFhMiAyIDAgMCAwLTItMmEyIDIgMCAwIDAtMiAyIn1dLFsicGF0aCIse2Q6Ik0xNCAxMFY5YTIgMiAwIDAgMC0yLTJhMiAyIDAgMCAwLTIgMnYxIn1dLFsicGF0aCIse2Q6Ik0xMCA5LjVWNGEyIDIgMCAwIDAtMi0yYTIgMiAwIDAgMC0yIDJ2MTAifV0sWyJwYXRoIix7ZDoiTTE4IDExYTIgMiAwIDEgMSA0IDB2M2E4IDggMCAwIDEtOCA4aC0yYy0yLjggMC00LjUtLjg2LTUuOTktMi4zNGwtMy42LTMuNmEyIDIgMCAwIDEgMi44My0yLjgyTDcgMTUifV1dfSk7dmFyIHhSLENPZT1mKCgpPT57eFI9W1sicGF0aCIse2Q6Ik0xMCA0LjVWNGEyIDIgMCAwIDAtMi40MS0xLjk1NyJ9XSxbInBhdGgiLHtkOiJNMTMuOSA4LjRhMiAyIDAgMCAwLTEuMjYtMS4yOTUifV0sWyJwYXRoIix7ZDoiTTIxLjcgMTYuMkE4IDggMCAwIDAgMjIgMTR2LTNhMiAyIDAgMSAwLTQgMHYtMWEyIDIgMCAwIDAtMy42My0xLjE1OCJ9XSxbInBhdGgiLHtkOiJtNyAxNS0xLjgtMS44YTIgMiAwIDAgMC0yLjc5IDIuODZMNiAxOS43YTcuNzQgNy43NCAwIDAgMCA2IDIuM2gyYTggOCAwIDAgMCA1LjY1Ny0yLjM0MyJ9XSxbInBhdGgiLHtkOiJNNiA2djgifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgeVIsX09lPWYoKCk9Pnt5Uj1bWyJwYXRoIix7ZDoiTTE4IDhhMiAyIDAgMCAwIDAtNCAyIDIgMCAwIDAtNCAwIDIgMiAwIDAgMC00IDAgMiAyIDAgMCAwLTQgMCAyIDIgMCAwIDAgMCA0In1dLFsicGF0aCIse2Q6Ik0xMCAyMiA5IDgifV0sWyJwYXRoIix7ZDoibTE0IDIyIDEtMTQifV0sWyJwYXRoIix7ZDoiTTIwIDhjLjUgMCAuOS40LjggMWwtMi42IDEyYy0uMS41LS43IDEtMS4yIDFIN2MtLjYgMC0xLjEtLjQtMS4yLTFMMy4yIDljLS4xLS42LjMtMSAuOC0xWiJ9XV19KTt2YXIgd1IsVE9lPWYoKCk9Pnt3Uj1bWyJwYXRoIix7ZDoiTTE4LjYgMTQuNGMuOC0uOC44LTIgMC0yLjhsLTguMS04LjFhNC45NSA0Ljk1IDAgMSAwLTcuMSA3LjFsOC4xIDguMWMuOS43IDIuMS43IDIuOS0uMVoifV0sWyJwYXRoIix7ZDoibTIyIDIyLTUuNS01LjUifV1dfSk7dmFyIE1SLExPZT1mKCgpPT57TVI9W1sicGF0aCIse2Q6Ik0xOCA3YzAtNS4zMzMtOC01LjMzMy04IDAifV0sWyJwYXRoIix7ZDoiTTEwIDd2MTQifV0sWyJwYXRoIix7ZDoiTTYgMjFoMTIifV0sWyJwYXRoIix7ZDoiTTYgMTNoMTAifV1dfSk7dmFyIGtSLCRPZT1mKCgpPT57a1I9W1sicGF0aCIse2Q6Ik0xOC4zNiA2LjY0QTkgOSAwIDAgMSAyMC43NyAxNSJ9XSxbInBhdGgiLHtkOiJNNi4xNiA2LjE2YTkgOSAwIDEgMCAxMi42OCAxMi42OCJ9XSxbInBhdGgiLHtkOiJNMTIgMnY0In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV1dfSk7dmFyIFNSLERPZT1mKCgpPT57U1I9W1sicGF0aCIse2Q6Ik0xMiAydjEwIn1dLFsicGF0aCIse2Q6Ik0xOC40IDYuNmE5IDkgMCAxIDEtMTIuNzcuMDQifV1dfSk7dmFyIHpSLEFPZT1mKCgpPT57elI9W1sicGF0aCIse2Q6Ik0yIDNoMjAifV0sWyJwYXRoIix7ZDoiTTIxIDN2MTFhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWMyJ9XSxbInBhdGgiLHtkOiJtNyAyMSA1LTUgNSA1In1dXX0pO3ZhciBDUixFT2U9ZigoKT0+e0NSPVtbInBhdGgiLHtkOiJNMTIuNTMxIDIySDdhMSAxIDAgMCAxLTEtMXYtNmExIDEgMCAwIDEgMS0xaDYuMzc3In1dLFsicGF0aCIse2Q6Im0xNi41IDE2LjUgNSA1In1dLFsicGF0aCIse2Q6Im0xNi41IDIxLjUgNS01In1dLFsicGF0aCIse2Q6Ik02IDE4SDRhMiAyIDAgMCAxLTItMnYtNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2MS41In1dLFsicGF0aCIse2Q6Ik02IDlWM2ExIDEgMCAwIDEgMS0xaDEwYTEgMSAwIDAgMSAxIDF2NiJ9XV19KTt2YXIgX1IsUE9lPWYoKCk9PntfUj1bWyJwYXRoIix7ZDoiTTEzLjUgMjJIN2ExIDEgMCAwIDEtMS0xdi02YTEgMSAwIDAgMSAxLTFoMTBhMSAxIDAgMCAxIDEgMXYuNSJ9XSxbInBhdGgiLHtkOiJtMTYgMTkgMiAyIDQtNCJ9XSxbInBhdGgiLHtkOiJNNiAxOEg0YTIgMiAwIDAgMS0yLTJ2LTVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTYgOVYzYTEgMSAwIDAgMSAxLTFoMTBhMSAxIDAgMCAxIDEgMXY2In1dXX0pO3ZhciBUUixJT2U9ZigoKT0+e1RSPVtbInBhdGgiLHtkOiJNNiAxOEg0YTIgMiAwIDAgMS0yLTJ2LTVhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjVhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNiA5VjNhMSAxIDAgMCAxIDEtMWgxMGExIDEgMCAwIDEgMSAxdjYifV0sWyJyZWN0Iix7eDoiNiIseToiMTQiLHdpZHRoOiIxMiIsaGVpZ2h0OiI4IixyeDoiMSJ9XV19KTt2YXIgTFIsTk9lPWYoKCk9PntMUj1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE2Iix4OiIyIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgOXYxMSJ9XSxbInBhdGgiLHtkOiJNMiA5aDEzYTIgMiAwIDAgMSAyIDJ2OSJ9XV19KTt2YXIgJFIsUk9lPWYoKCk9PnskUj1bWyJwYXRoIix7ZDoiTTE1LjM5IDQuMzlhMSAxIDAgMCAwIDEuNjgtLjQ3NCAyLjUgMi41IDAgMSAxIDMuMDE0IDMuMDE1IDEgMSAwIDAgMC0uNDc0IDEuNjhsMS42ODMgMS42ODJhMi40MTQgMi40MTQgMCAwIDEgMCAzLjQxNEwxOS42MSAxNS4zOWExIDEgMCAwIDEtMS42OC0uNDc0IDIuNSAyLjUgMCAxIDAtMy4wMTQgMy4wMTUgMSAxIDAgMCAxIC40NzQgMS42OGwtMS42ODMgMS42ODJhMi40MTQgMi40MTQgMCAwIDEtMy40MTQgMEw4LjYxIDE5LjYxYTEgMSAwIDAgMC0xLjY4LjQ3NCAyLjUgMi41IDAgMSAxLTMuMDE0LTMuMDE1IDEgMSAwIDAgMCAuNDc0LTEuNjhsLTEuNjgzLTEuNjgyYTIuNDE0IDIuNDE0IDAgMCAxIDAtMy40MTRMNC4zOSA4LjYxYTEgMSAwIDAgMSAxLjY4LjQ3NCAyLjUgMi41IDAgMSAwIDMuMDE0LTMuMDE1IDEgMSAwIDAgMS0uNDc0LTEuNjhsMS42ODMtMS42ODJhMi40MTQgMi40MTQgMCAwIDEgMy40MTQgMHoifV1dfSk7dmFyIERSLE9PZT1mKCgpPT57RFI9W1sicGF0aCIse2Q6Ik01IDcgMyA1In1dLFsicGF0aCIse2Q6Ik05IDZWMyJ9XSxbInBhdGgiLHtkOiJtMTMgNyAyLTIifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjEzIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xMS44MyAxMkgyMGEyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJ2LTRhMiAyIDAgMCAxIDItMmgyLjE3In1dLFsicGF0aCIse2Q6Ik0xNiAxNmgyIn1dXX0pO3ZhciBBUixGT2U9ZigoKT0+e0FSPVtbInBhdGgiLHtkOiJNMi41IDE2Ljg4YTEgMSAwIDAgMS0uMzItMS40M2w5LTEzLjAyYTEgMSAwIDAgMSAxLjY0IDBsOSAxMy4wMWExIDEgMCAwIDEtLjMyIDEuNDRsLTguNTEgNC44NmEyIDIgMCAwIDEtMS45OCAwWiJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyMCJ9XV19KTt2YXIgRVIsQk9lPWYoKCk9PntFUj1bWyJwYXRoIix7ZDoiTTE2IDNhMiAyIDAgMCAwLTIgMnY2YTIgMiAwIDAgMCAyIDIgMSAxIDAgMCAxIDEgMXYxYTIgMiAwIDAgMS0yIDIgMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMCAxIDEgNiA2IDAgMCAwIDYtNlY1YTIgMiAwIDAgMC0yLTJ6In1dLFsicGF0aCIse2Q6Ik01IDNhMiAyIDAgMCAwLTIgMnY2YTIgMiAwIDAgMCAyIDIgMSAxIDAgMCAxIDEgMXYxYTIgMiAwIDAgMS0yIDIgMSAxIDAgMCAwLTEgMXYyYTEgMSAwIDAgMCAxIDEgNiA2IDAgMCAwIDYtNlY1YTIgMiAwIDAgMC0yLTJ6In1dXX0pO3ZhciBQUixIT2U9ZigoKT0+e1BSPVtbInJlY3QiLHt3aWR0aDoiNSIsaGVpZ2h0OiI1Iix4OiIzIix5OiIzIixyeDoiMSJ9XSxbInJlY3QiLHt3aWR0aDoiNSIsaGVpZ2h0OiI1Iix4OiIxNiIseToiMyIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjUiLGhlaWdodDoiNSIseDoiMyIseToiMTYiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0yMSAxNmgtM2EyIDIgMCAwIDAtMiAydjMifV0sWyJwYXRoIix7ZDoiTTIxIDIxdi4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgN3YzYTIgMiAwIDAgMS0yIDJINyJ9XSxbInBhdGgiLHtkOiJNMyAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDNoLjAxIn1dLFsicGF0aCIse2Q6Ik0xMiAxNnYuMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEyaDEifV0sWyJwYXRoIix7ZDoiTTIxIDEydi4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMjF2LTEifV1dfSk7dmFyIElSLHFPZT1mKCgpPT57SVI9W1sicGF0aCIse2Q6Ik0xOS4wNyA0LjkzQTEwIDEwIDAgMCAwIDYuOTkgMy4zNCJ9XSxbInBhdGgiLHtkOiJNNCA2aC4wMSJ9XSxbInBhdGgiLHtkOiJNMi4yOSA5LjYyQTEwIDEwIDAgMSAwIDIxLjMxIDguMzUifV0sWyJwYXRoIix7ZDoiTTE2LjI0IDcuNzZBNiA2IDAgMSAwIDguMjMgMTYuNjcifV0sWyJwYXRoIix7ZDoiTTEyIDE4aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcuOTkgMTEuNjZBNiA2IDAgMCAxIDE1Ljc3IDE2LjY3In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV0sWyJwYXRoIix7ZDoibTEzLjQxIDEwLjU5IDUuNjYtNS42NiJ9XV19KTt2YXIgTlIsVk9lPWYoKCk9PntOUj1bWyJwYXRoIix7ZDoiTTEzIDE2YTMgMyAwIDAgMSAyLjI0IDUifV0sWyJwYXRoIix7ZDoiTTE4IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggMjFoLThhNCA0IDAgMCAxLTQtNCA3IDcgMCAwIDEgNy03aC4yTDkuNiA2LjRhMSAxIDAgMSAxIDIuOC0yLjhMMTUuOCA3aC4yYzMuMyAwIDYgMi43IDYgNnYxYTIgMiAwIDAgMS0yIDJoLTFhMyAzIDAgMCAwLTMgMyJ9XSxbInBhdGgiLHtkOiJNMjAgOC41NFY0YTIgMiAwIDEgMC00IDB2MyJ9XSxbInBhdGgiLHtkOiJNNy42MTIgMTIuNTI0YTMgMyAwIDEgMC0xLjYgNC4zIn1dXX0pO3ZhciBSUixqT2U9ZigoKT0+e1JSPVtbInBhdGgiLHtkOiJNMTIgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCAxNS40NjQxYTQgNCAwIDAgMS00IDBMNy41Mjc4NiAxOS43NDU5NyBBIDEgMSAwIDAgMCA3Ljk5MzAzIDIxLjE2MjExIDEwIDEwIDAgMCAwIDE2LjAwNjk3IDIxLjE2MjExIDEgMSAwIDAgMCAxNi40NzIxNCAxOS43NDU5N3oifV0sWyJwYXRoIix7ZDoiTTE2IDEyYTQgNCAwIDAgMC0yLTMuNDY0bDIuNDcyLTQuMjgyYTEgMSAwIDAgMSAxLjQ2LS4zMDUgMTAgMTAgMCAwIDEgNC4wMDYgNi45NEExIDEgMCAwIDEgMjEgMTJ6In1dLFsicGF0aCIse2Q6Ik04IDEyYTQgNCAwIDAgMSAyLTMuNDY0TDcuNTI4IDQuMjU0YTEgMSAwIDAgMC0xLjQ2LS4zMDUgMTAgMTAgMCAwIDAtNC4wMDYgNi45NEExIDEgMCAwIDAgMyAxMnoifV1dfSk7dmFyIE9SLFVPZT1mKCgpPT57T1I9W1sicGF0aCIse2Q6Ik0zIDEyaDMuMjhhMSAxIDAgMCAxIC45NDguNjg0bDIuMjk4IDcuOTM0YS41LjUgMCAwIDAgLjk2LS4wNDRMMTMuODIgNC43NzFBMSAxIDAgMCAxIDE0Ljc5MiA0SDIxIn1dXX0pO3ZhciBGUixXT2U9ZigoKT0+e0ZSPVtbInBhdGgiLHtkOiJNMTMuNDE0IDEzLjQxNGEyIDIgMCAxIDEtMi44MjgtMi44MjgifV0sWyJwYXRoIix7ZDoiTTE2LjI0NyA3Ljc2MWE2IDYgMCAwIDEgMS43NDQgNC41NzIifV0sWyJwYXRoIix7ZDoiTTE5LjA3NSA0LjkzM2ExMCAxMCAwIDAgMSAyLjIzNCAxMC43MiJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik00LjkyNSAxOS4wNjdhMTAgMTAgMCAwIDEgMC0xNC4xMzQifV0sWyJwYXRoIix7ZDoiTTcuNzUzIDE2LjIzOWE2IDYgMCAwIDEgMC04LjQ3OCJ9XV19KTt2YXIgQlIsR09lPWYoKCk9PntCUj1bWyJwYXRoIix7ZDoiTTUgMTZ2MiJ9XSxbInBhdGgiLHtkOiJNMTkgMTZ2MiJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE4IDEyaC4wMSJ9XV19KTt2YXIgSFIsWU9lPWYoKCk9PntIUj1bWyJwYXRoIix7ZDoiTTQuOSAxNi4xQzEgMTIuMiAxIDUuOCA0LjkgMS45In1dLFsicGF0aCIse2Q6Ik03LjggNC43YTYuMTQgNi4xNCAwIDAgMC0uOCA3LjUifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI5IixyOiIyIn1dLFsicGF0aCIse2Q6Ik0xNi4yIDQuOGMyIDIgMi4yNiA1LjExLjggNy40NyJ9XSxbInBhdGgiLHtkOiJNMTkuMSAxLjlhOS45NiA5Ljk2IDAgMCAxIDAgMTQuMSJ9XSxbInBhdGgiLHtkOiJNOS41IDE4aDUifV0sWyJwYXRoIix7ZDoibTggMjIgNC0xMSA0IDExIn1dXX0pO3ZhciBxUixLT2U9ZigoKT0+e3FSPVtbInBhdGgiLHtkOiJNMTYuMjQ3IDcuNzYxYTYgNiAwIDAgMSAwIDguNDc4In1dLFsicGF0aCIse2Q6Ik0xOS4wNzUgNC45MzNhMTAgMTAgMCAwIDEgMCAxNC4xMzQifV0sWyJwYXRoIix7ZDoiTTQuOTI1IDE5LjA2N2ExMCAxMCAwIDAgMSAwLTE0LjEzNCJ9XSxbInBhdGgiLHtkOiJNNy43NTMgMTYuMjM5YTYgNiAwIDAgMSAwLTguNDc4In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dfSk7dmFyIFZSLFpPZT1mKCgpPT57VlI9W1sicGF0aCIse2Q6Ik0yMC4zNCAxNy41MmExMCAxMCAwIDEgMC0yLjgyIDIuODIifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxOSIscjoiMiJ9XSxbInBhdGgiLHtkOiJtMTMuNDEgMTMuNDEgNC4xOCA0LjE4In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dfSk7dmFyIGpSLFhPZT1mKCgpPT57alI9W1sicGF0aCIse2Q6Ik0yMiAxN2ExMCAxMCAwIDAgMC0yMCAwIn1dLFsicGF0aCIse2Q6Ik02IDE3YTYgNiAwIDAgMSAxMiAwIn1dLFsicGF0aCIse2Q6Ik0xMCAxN2EyIDIgMCAwIDEgNCAwIn1dXX0pO3ZhciBVUixRT2U9ZigoKT0+e1VSPVtbInBhdGgiLHtkOiJNMTMgMjJINGEyIDIgMCAwIDEgMC00aDEyIn1dLFsicGF0aCIse2Q6Ik0xMy4yMzYgMThhMyAzIDAgMCAwLTIuMi01In1dLFsicGF0aCIse2Q6Ik0xNiA5aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYuODIgMy45NGEzIDMgMCAxIDEgMy4yMzcgNC44NjhsMS44MTUgMi41ODdhMS41IDEuNSAwIDAgMS0xLjUgMi4xbC0yLjg3Mi0uNDUzYTMgMyAwIDAgMC0zLjUgMyJ9XSxbInBhdGgiLHtkOiJNMTcgNC45ODhhMyAzIDAgMSAwLTUuMiAyLjA1MkE3IDcgMCAwIDAgNCAxNC4wMTUgNCA0IDAgMCAwIDggMTgifV1dfSk7dmFyIFdSLEpPZT1mKCgpPT57V1I9W1sicmVjdCIse3dpZHRoOiIxMiIsaGVpZ2h0OiIyMCIseDoiNiIseToiMiIscng6IjIifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjEyIix4OiIyIix5OiI2IixyeDoiMiJ9XV19KTt2YXIgR1IsZUZlPWYoKCk9PntHUj1bWyJwYXRoIix7ZDoiTTEyIDd2MTAifV0sWyJwYXRoIix7ZDoiTTE0LjgyOCAxNC44MjlhNCA0IDAgMCAxLTUuNjU2IDAgNCA0IDAgMCAxIDAtNS42NTcgNCA0IDAgMCAxIDUuNjU2IDAifV0sWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV1dfSk7dmFyIFlSLHRGZT1mKCgpPT57WVI9W1sicGF0aCIse2Q6Ik0xNS44MjggMTQuODI5YTQgNCAwIDAgMS01LjY1NiAwIDQgNCAwIDAgMSAwLTUuNjU3IDQgNCAwIDAgMSA1LjY1NiAwIn1dLFsicGF0aCIse2Q6Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik04IDEyaDUifV1dfSk7dmFyIEtSLGFGZT1mKCgpPT57S1I9W1sicGF0aCIse2Q6Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik04IDExaDgifV0sWyJwYXRoIix7ZDoiTTggN2g4In1dLFsicGF0aCIse2Q6Ik05IDdhNCA0IDAgMCAxIDAgOEg4bDMgMiJ9XV19KTt2YXIgWlIsckZlPWYoKCk9PntaUj1bWyJwYXRoIix7ZDoiTTEwIDE3VjkuNWExIDEgMCAwIDEgNSAwIn1dLFsicGF0aCIse2Q6Ik00IDNhMSAxIDAgMCAxIDEtMSAxLjMgMS4zIDAgMCAxIC43LjJsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzNC0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTM0LjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42QTEuMyAxLjMgMCAwIDEgMTkgMmExIDEgMCAwIDEgMSAxdjE4YTEgMSAwIDAgMS0xIDEgMS4zIDEuMyAwIDAgMS0uNy0uMmwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTM0LjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzMy0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0xLjQgMGwtLjkzNC0uNmExLjMgMS4zIDAgMCAwLTEuNCAwbC0uOTMzLjZhMS4zIDEuMyAwIDAgMS0uNy4yIDEgMSAwIDAgMS0xLTF6In1dLFsicGF0aCIse2Q6Ik04IDEzaDUifV0sWyJwYXRoIix7ZDoiTTggMTdoNyJ9XV19KTt2YXIgWFIsc0ZlPWYoKCk9PntYUj1bWyJwYXRoIix7ZDoibTEyIDEwIDMtMyJ9XSxbInBhdGgiLHtkOiJNNCAzYTEgMSAwIDAgMSAxLTEgMS4zIDEuMyAwIDAgMSAuNy4ybC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzQtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzNC42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNkExLjMgMS4zIDAgMCAxIDE5IDJhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxIDEuMyAxLjMgMCAwIDEtLjctLjJsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzNC42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzQtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtLjcuMiAxIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJNOSAxMWg2In1dLFsicGF0aCIse2Q6Ik05IDE1aDYifV0sWyJwYXRoIix7ZDoibTkgNyAzIDN2NyJ9XV19KTt2YXIgUVIsaUZlPWYoKCk9PntRUj1bWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTggMTFoNWEyIDIgMCAwIDAgMC00aC0zdjEwIn1dLFsicGF0aCIse2Q6Ik04IDE1aDUifV1dfSk7dmFyIEpSLG9GZT1mKCgpPT57SlI9W1sicGF0aCIse2Q6Ik0xMyAxNkg4In1dLFsicGF0aCIse2Q6Ik0xNCA4SDgifV0sWyJwYXRoIix7ZDoiTTE2IDEySDgifV0sWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV1dfSk7dmFyIGVPLG5GZT1mKCgpPT57ZU89W1sicGF0aCIse2Q6Ik0xMCAxMWg0In1dLFsicGF0aCIse2Q6Ik0xMCAxN1Y3aDUifV0sWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV0sWyJwYXRoIix7ZDoiTTggMTVoNSJ9XV19KTt2YXIgdE8sbEZlPWYoKCk9Pnt0Tz1bWyJwYXRoIix7ZDoiTTEyIDE3VjcifV0sWyJwYXRoIix7ZDoiTTE2IDhoLTZhMiAyIDAgMCAwIDAgNGg0YTIgMiAwIDAgMSAwIDRIOCJ9XSxbInBhdGgiLHtkOiJNNCAzYTEgMSAwIDAgMSAxLTEgMS4zIDEuMyAwIDAgMSAuNy4ybC45MzMuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzQtLjZhMS4zIDEuMyAwIDAgMSAxLjQgMGwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTMzLS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzNC42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNkExLjMgMS4zIDAgMCAxIDE5IDJhMSAxIDAgMCAxIDEgMXYxOGExIDEgMCAwIDEtMSAxIDEuMyAxLjMgMCAwIDEtLjctLjJsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzNC42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzMtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtMS40IDBsLS45MzQtLjZhMS4zIDEuMyAwIDAgMC0xLjQgMGwtLjkzMy42YTEuMyAxLjMgMCAwIDEtLjcuMiAxIDEgMCAwIDEtMS0xeiJ9XV19KTt2YXIgYU8sY0ZlPWYoKCk9PnthTz1bWyJwYXRoIix7ZDoiTTEwIDd2MTBhNSA1IDAgMCAwIDUtNSJ9XSxbInBhdGgiLHtkOiJtMTQgOC02IDMifV0sWyJwYXRoIix7ZDoiTTQgM2ExIDEgMCAwIDEgMS0xIDEuMyAxLjMgMCAwIDEgLjcuMmwuOTMzLjZhMS4zIDEuMyAwIDAgMCAxLjQgMGwuOTM0LS42YTEuMyAxLjMgMCAwIDEgMS40IDBsLjkzMy42YTEuMyAxLjMgMCAwIDAgMS40IDBsLjkzMy0uNmExLjMgMS4zIDAgMCAxIDEuNCAwbC45MzQuNmExLjMgMS4zIDAgMCAwIDEuNCAwbC45MzMtLjZBMS4zIDEuMyAwIDAgMSAxOSAyYTEgMSAwIDAgMSAxIDF2MThhMSAxIDAgMCAxLTEgMSAxLjMgMS4zIDAgMCAxLS43LS4ybC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzQuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTMzLS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLTEuNCAwbC0uOTM0LS42YTEuMyAxLjMgMCAwIDAtMS40IDBsLS45MzMuNmExLjMgMS4zIDAgMCAxLS43LjIgMSAxIDAgMCAxLTEtMXoifV1dfSk7dmFyIHJPLGRGZT1mKCgpPT57ck89W1sicGF0aCIse2Q6Ik0xNCA0djE2SDNhMSAxIDAgMCAxLTEtMVY1YTEgMSAwIDAgMSAxLTF6In1dLFsiY2lyY2xlIix7Y3g6IjE0IixjeToiMTIiLHI6IjgifV1dfSk7dmFyIGp1LHVGZT1mKCgpPT57anU9W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxMiIseDoiMiIseToiNiIscng6IjIifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDEyaC4wMSJ9XV19KTt2YXIgc08scEZlPWYoKCk9PntzTz1bWyJwYXRoIix7ZDoiTTIwIDZhMiAyIDAgMCAxIDIgMnY4YTIgMiAwIDAgMS0yIDJoLTRhMiAyIDAgMCAxLTEuNi0uOGwtMS42LTIuMTNhMSAxIDAgMCAwLTEuNiAwTDkuNiAxNy4yQTIgMiAwIDAgMSA4IDE4SDRhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJ6In1dXX0pO3ZhciBpTyxmRmU9ZigoKT0+e2lPPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTIiLHg6IjIiLHk6IjYiLHJ4OiIyIn1dXX0pO3ZhciBvTyxoRmU9ZigoKT0+e29PPVtbInJlY3QiLHt3aWR0aDoiMTIiLGhlaWdodDoiMjAiLHg6IjYiLHk6IjIiLHJ4OiIyIn1dXX0pO3ZhciBuTyxtRmU9ZigoKT0+e25PPVtbInBhdGgiLHtkOiJNNyAxOUg0LjgxNWExLjgzIDEuODMgMCAwIDEtMS41Ny0uODgxIDEuNzg1IDEuNzg1IDAgMCAxLS4wMDQtMS43ODRMNy4xOTYgOS41In1dLFsicGF0aCIse2Q6Ik0xMSAxOWg4LjIwM2ExLjgzIDEuODMgMCAwIDAgMS41NTYtLjg5IDEuNzg0IDEuNzg0IDAgMCAwIDAtMS43NzVsLTEuMjI2LTIuMTIifV0sWyJwYXRoIix7ZDoibTE0IDE2LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoiTTguMjkzIDEzLjU5NiA3LjE5NiA5LjUgMy4xIDEwLjU5OCJ9XSxbInBhdGgiLHtkOiJtOS4zNDQgNS44MTEgMS4wOTMtMS44OTJBMS44MyAxLjgzIDAgMCAxIDExLjk4NSAzYTEuNzg0IDEuNzg0IDAgMCAxIDEuNTQ2Ljg4OGwzLjk0MyA2Ljg0MyJ9XSxbInBhdGgiLHtkOiJtMTMuMzc4IDkuNjMzIDQuMDk2IDEuMDk4IDEuMDk3LTQuMDk2In1dXX0pO3ZhciBsTyxnRmU9ZigoKT0+e2xPPVtbInBhdGgiLHtkOiJtMTUgMTQgNS01LTUtNSJ9XSxbInBhdGgiLHtkOiJNMjAgOUg5LjVBNS41IDUuNSAwIDAgMCA0IDE0LjVBNS41IDUuNSAwIDAgMCA5LjUgMjBIMTMifV1dfSk7dmFyIGNPLGJGZT1mKCgpPT57Y089W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTciLHI6IjEifV0sWyJwYXRoIix7ZDoiTTIxIDd2NmgtNiJ9XSxbInBhdGgiLHtkOiJNMyAxN2E5IDkgMCAwIDEgOS05IDkgOSAwIDAgMSA2IDIuM2wzIDIuNyJ9XV19KTt2YXIgZE8sdkZlPWYoKCk9PntkTz1bWyJwYXRoIix7ZDoiTTIxIDd2NmgtNiJ9XSxbInBhdGgiLHtkOiJNMyAxN2E5IDkgMCAwIDEgOS05IDkgOSAwIDAgMSA2IDIuM2wzIDIuNyJ9XV19KTt2YXIgdU8seEZlPWYoKCk9Pnt1Tz1bWyJwYXRoIix7ZDoiTTIxIDEyYTkgOSAwIDAgMC05LTkgOS43NSA5Ljc1IDAgMCAwLTYuNzQgMi43NEwzIDgifV0sWyJwYXRoIix7ZDoiTTMgM3Y1aDUifV0sWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMCAwIDkgOSA5Ljc1IDkuNzUgMCAwIDAgNi43NC0yLjc0TDIxIDE2In1dLFsicGF0aCIse2Q6Ik0xNiAxNmg1djUifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XV19KTt2YXIgcE8seUZlPWYoKCk9PntwTz1bWyJwYXRoIix7ZDoiTTIxIDEyYTkgOSAwIDAgMC05LTkgOS43NSA5Ljc1IDAgMCAwLTYuNzQgMi43NEwzIDgifV0sWyJwYXRoIix7ZDoiTTMgM3Y1aDUifV0sWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMCAwIDkgOSA5Ljc1IDkuNzUgMCAwIDAgNi43NC0yLjc0TDIxIDE2In1dLFsicGF0aCIse2Q6Ik0xNiAxNmg1djUifV1dfSk7dmFyIGZPLHdGZT1mKCgpPT57Zk89W1sicGF0aCIse2Q6Ik0yMSA4TDE4Ljc0IDUuNzRBOS43NSA5Ljc1IDAgMCAwIDEyIDNDMTEgMyAxMC4wMyAzLjE2IDkuMTMgMy40NyJ9XSxbInBhdGgiLHtkOiJNOCAxNkgzdjUifV0sWyJwYXRoIix7ZDoiTTMgMTJDMyA5LjUxIDQgNy4yNiA1LjY0IDUuNjQifV0sWyJwYXRoIix7ZDoibTMgMTYgMi4yNiAyLjI2QTkuNzUgOS43NSAwIDAgMCAxMiAyMWMyLjQ5IDAgNC43NC0xIDYuMzYtMi42NCJ9XSxbInBhdGgiLHtkOiJNMjEgMTJjMCAxLS4xNiAxLjk3LS40NyAyLjg3In1dLFsicGF0aCIse2Q6Ik0yMSAzdjVoLTUifV0sWyJwYXRoIix7ZDoiTTIyIDIyIDIgMiJ9XV19KTt2YXIgaE8sTUZlPWYoKCk9PntoTz1bWyJwYXRoIix7ZDoiTTMgMTJhOSA5IDAgMCAxIDktOSA5Ljc1IDkuNzUgMCAwIDEgNi43NCAyLjc0TDIxIDgifV0sWyJwYXRoIix7ZDoiTTIxIDN2NWgtNSJ9XSxbInBhdGgiLHtkOiJNMjEgMTJhOSA5IDAgMCAxLTkgOSA5Ljc1IDkuNzUgMCAwIDEtNi43NC0yLjc0TDMgMTYifV0sWyJwYXRoIix7ZDoiTTggMTZIM3Y1In1dXX0pO3ZhciBtTyxrRmU9ZigoKT0+e21PPVtbInBhdGgiLHtkOiJNNSA2YTQgNCAwIDAgMSA0LTRoNmE0IDQgMCAwIDEgNCA0djE0YTIgMiAwIDAgMS0yIDJIN2EyIDIgMCAwIDEtMi0yVjZaIn1dLFsicGF0aCIse2Q6Ik01IDEwaDE0In1dLFsicGF0aCIse2Q6Ik0xNSA3djYifV1dfSk7dmFyIGdPLFNGZT1mKCgpPT57Z089W1sicGF0aCIse2Q6Ik0xNyAzdjEwIn1dLFsicGF0aCIse2Q6Im0xMi42NyA1LjUgOC42NiA1In1dLFsicGF0aCIse2Q6Im0xMi42NyAxMC41IDguNjYtNSJ9XSxbInBhdGgiLHtkOiJNOSAxN2EyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYyYTIgMiAwIDAgMCAyIDJoMmEyIDIgMCAwIDAgMi0ydi0yeiJ9XV19KTt2YXIgYk8sekZlPWYoKCk9PntiTz1bWyJwYXRoIix7ZDoiTTQgN1Y0aDE2djMifV0sWyJwYXRoIix7ZDoiTTUgMjBoNiJ9XSxbInBhdGgiLHtkOiJNMTMgNCA4IDIwIn1dLFsicGF0aCIse2Q6Im0xNSAxNSA1IDUifV0sWyJwYXRoIix7ZDoibTIwIDE1LTUgNSJ9XV19KTt2YXIgdk8sQ0ZlPWYoKCk9Pnt2Tz1bWyJwYXRoIix7ZDoibTIgOSAzLTMgMyAzIn1dLFsicGF0aCIse2Q6Ik0xMyAxOEg3YTIgMiAwIDAgMS0yLTJWNiJ9XSxbInBhdGgiLHtkOiJtMjIgMTUtMyAzLTMtMyJ9XSxbInBhdGgiLHtkOiJNMTEgNmg2YTIgMiAwIDAgMSAyIDJ2MTAifV1dfSk7dmFyIHhPLF9GZT1mKCgpPT57eE89W1sicGF0aCIse2Q6Im0xNyAyIDQgNC00IDQifV0sWyJwYXRoIix7ZDoiTTMgMTF2LTFhNCA0IDAgMCAxIDQtNGgxNCJ9XSxbInBhdGgiLHtkOiJtNyAyMi00LTQgNC00In1dLFsicGF0aCIse2Q6Ik0yMSAxM3YxYTQgNCAwIDAgMS00IDRIMyJ9XSxbInBhdGgiLHtkOiJNMTEgMTBoMXY0In1dXX0pO3ZhciB5TyxURmU9ZigoKT0+e3lPPVtbInBhdGgiLHtkOiJNMTEuNjU2IDZIMjFsLTQtNCJ9XSxbInBhdGgiLHtkOiJNMTcuODk4IDE3Ljg5OEE0IDQgMCAwIDEgMTcgMThIM2w0LTQifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjEgMTN2MWE0IDQgMCAwIDEtLjE3MSAxLjE1OSJ9XSxbInBhdGgiLHtkOiJtMjEgNi00IDQifV0sWyJwYXRoIix7ZDoiTTMgMTF2LTFhNCA0IDAgMCAxIDMuMTAyLTMuODk4In1dLFsicGF0aCIse2Q6Im03IDIyLTQtNCJ9XV19KTt2YXIgd08sTEZlPWYoKCk9Pnt3Tz1bWyJwYXRoIix7ZDoibTE3IDIgNCA0LTQgNCJ9XSxbInBhdGgiLHtkOiJNMyAxMXYtMWE0IDQgMCAwIDEgNC00aDE0In1dLFsicGF0aCIse2Q6Im03IDIyLTQtNCA0LTQifV0sWyJwYXRoIix7ZDoiTTIxIDEzdjFhNCA0IDAgMCAxLTQgNEgzIn1dXX0pO3ZhciBNTywkRmU9ZigoKT0+e01PPVtbInBhdGgiLHtkOiJNMTQgMTRhMSAxIDAgMCAxIDEgMXY1YTEgMSAwIDAgMS0xIDEifV0sWyJwYXRoIix7ZDoiTTE0IDRhMSAxIDAgMCAxIDEtMSJ9XSxbInBhdGgiLHtkOiJNMTUgMTBhMSAxIDAgMCAxLTEtMSJ9XSxbInBhdGgiLHtkOiJNMTkgMTRhMSAxIDAgMCAxIDEgMXY1YTEgMSAwIDAgMS0xIDEifV0sWyJwYXRoIix7ZDoiTTIxIDRhMSAxIDAgMCAwLTEtMSJ9XSxbInBhdGgiLHtkOiJNMjEgOWExIDEgMCAwIDEtMSAxIn1dLFsicGF0aCIse2Q6Im0zIDcgMyAzIDMtMyJ9XSxbInBhdGgiLHtkOiJNNiAxMFY1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInJlY3QiLHt4OiIzIix5OiIxNCIsd2lkdGg6IjciLGhlaWdodDoiNyIscng6IjEifV1dfSk7dmFyIGtPLERGZT1mKCgpPT57a089W1sicGF0aCIse2Q6Ik0xNCA0YTEgMSAwIDAgMSAxLTEifV0sWyJwYXRoIix7ZDoiTTE1IDEwYTEgMSAwIDAgMS0xLTEifV0sWyJwYXRoIix7ZDoiTTIxIDRhMSAxIDAgMCAwLTEtMSJ9XSxbInBhdGgiLHtkOiJNMjEgOWExIDEgMCAwIDEtMSAxIn1dLFsicGF0aCIse2Q6Im0zIDcgMyAzIDMtMyJ9XSxbInBhdGgiLHtkOiJNNiAxMFY1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInJlY3QiLHt4OiIzIix5OiIxNCIsd2lkdGg6IjciLGhlaWdodDoiNyIscng6IjEifV1dfSk7dmFyIFNPLEFGZT1mKCgpPT57U089W1sicGF0aCIse2Q6Im0xMiAxNy01LTUgNS01In1dLFsicGF0aCIse2Q6Ik0yMiAxOHYtMmE0IDQgMCAwIDAtNC00SDcifV0sWyJwYXRoIix7ZDoibTcgMTctNS01IDUtNSJ9XV19KTt2YXIgek8sRUZlPWYoKCk9Pnt6Tz1bWyJwYXRoIix7ZDoiTTIwIDE4di0yYTQgNCAwIDAgMC00LTRINCJ9XSxbInBhdGgiLHtkOiJtOSAxNy01LTUgNS01In1dXX0pO3ZhciBDTyxQRmU9ZigoKT0+e0NPPVtbInBhdGgiLHtkOiJNMTIgMTEuMjJDMTEgOS45OTcgMTAgOSAxMCA4YTIgMiAwIDAgMSA0IDBjMCAxLS45OTggMi4wMDItMi4wMSAzLjIyIn1dLFsicGF0aCIse2Q6Im0xMiAxOCAyLjU3LTMuNSJ9XSxbInBhdGgiLHtkOiJNNi4yNDMgOS4wMTZhNyA3IDAgMCAxIDExLjUwNy0uMDA5In1dLFsicGF0aCIse2Q6Ik05LjM1IDE0LjUzIDEyIDExLjIyIn1dLFsicGF0aCIse2Q6Ik05LjM1IDE0LjUzQzcuNzI4IDEyLjI0NiA2IDEwLjIyMSA2IDdhNiA1IDAgMCAxIDEyIDBjLS4wMDUgMy4yMi0xLjc3OCA1LjIzNS0zLjQzIDcuNWwzLjU1NyA0LjUyN2ExIDEgMCAwIDEtLjIwMyAxLjQzbC0xLjg5NCAxLjM2YTEgMSAwIDAgMS0xLjM4NC0uMjE1TDEyIDE4bC0yLjY3OSAzLjU5M2ExIDEgMCAwIDEtMS4zOS4yMTNsLTEuODY1LTEuMzUzYTEgMSAwIDAgMS0uMjAzLTEuNDIyeiJ9XV19KTt2YXIgX08sSUZlPWYoKCk9PntfTz1bWyJwYXRoIix7ZDoiTTEyIDZhMiAyIDAgMCAwLTMuNDE0LTEuNDE0bC02IDZhMiAyIDAgMCAwIDAgMi44MjhsNiA2QTIgMiAwIDAgMCAxMiAxOHoifV0sWyJwYXRoIix7ZDoiTTIyIDZhMiAyIDAgMCAwLTMuNDE0LTEuNDE0bC02IDZhMiAyIDAgMCAwIDAgMi44MjhsNiA2QTIgMiAwIDAgMCAyMiAxOHoifV1dfSk7dmFyIFRPLE5GZT1mKCgpPT57VE89W1sicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik0xMiA1VjMifV0sWyJwYXRoIix7ZDoiTTEyIDl2MyJ9XSxbInBhdGgiLHtkOiJNMi4wNzcgMTguNDQ5QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjkyNC0yLjU1bC00LTE0QTIgMiAwIDAgMCAxNiAzSDhhMiAyIDAgMCAwLTEuOTI0IDEuNDV6In1dXX0pO3ZhciBMTyxSRmU9ZigoKT0+e0xPPVtbInBhdGgiLHtkOiJNMTIgMTV2NXMzLjAzLS41NSA0LTJjMS4wOC0xLjYyIDAtNSAwLTUifV0sWyJwYXRoIix7ZDoiTTQuNSAxNi41Yy0xLjUgMS4yNi0yIDUtMiA1czMuNzQtLjUgNS0yYy43MS0uODQuNy0yLjEzLS4wOS0yLjkxYTIuMTggMi4xOCAwIDAgMC0yLjkxLS4wOSJ9XSxbInBhdGgiLHtkOiJNOSAxMmEyMiAyMiAwIDAgMSAyLTMuOTVBMTIuODggMTIuODggMCAwIDEgMjIgMmMwIDIuNzItLjc4IDcuNS02IDExYTIyLjQgMjIuNCAwIDAgMS00IDJ6In1dLFsicGF0aCIse2Q6Ik05IDEySDRzLjU1LTMuMDMgMi00YzEuNjItMS4wOCA1IC4wNSA1IC4wNSJ9XV19KTt2YXIgJE8sT0ZlPWYoKCk9PnskTz1bWyJwYXRoIix7ZDoibTE1IDEzIDMuNzA4IDcuNDE2In1dLFsicGF0aCIse2Q6Ik0zIDE5YTE1IDE1IDAgMCAwIDE4IDAifV0sWyJwYXRoIix7ZDoibTMgMiAzLjIxIDkuNjMzQTIgMiAwIDAgMCA4LjEwOSAxM0gxOCJ9XSxbInBhdGgiLHtkOiJtOSAxMy0zLjcwOCA3LjQxNiJ9XV19KTt2YXIgRE8sRkZlPWYoKCk9PntETz1bWyJwYXRoIix7ZDoiTTYgMTlWNSJ9XSxbInBhdGgiLHtkOiJNMTAgMTlWNi44In1dLFsicGF0aCIse2Q6Ik0xNCAxOXYtNy44In1dLFsicGF0aCIse2Q6Ik0xOCA1djQifV0sWyJwYXRoIix7ZDoiTTE4IDE5di02In1dLFsicGF0aCIse2Q6Ik0yMiAxOVY5In1dLFsicGF0aCIse2Q6Ik0yIDE5VjlhNCA0IDAgMCAxIDQtNGMyIDAgNCAxLjMzIDYgNHM0IDQgNiA0YTQgNCAwIDEgMC0zLTYuNjUifV1dfSk7dmFyIEFPLEJGZT1mKCgpPT57QU89W1sicGF0aCIse2Q6Ik0xNyAxMGgtMWE0IDQgMCAxIDEgNC00di41MzQifV0sWyJwYXRoIix7ZDoiTTE3IDZoMWE0IDQgMCAwIDEgMS40MiA3Ljc0bC0yLjI5Ljg3YTYgNiAwIDAgMS01LjMzOS0xMC42OGwyLjA2OS0xLjMxIn1dLFsicGF0aCIse2Q6Ik00LjUgMTdjMi44LS41IDQuNCAwIDUuNS44czEuOCAyLjIgMi4zIDMuN2MtMiAuNC0zLjUuNC00LjgtLjMtMS4yLS42LTIuMy0xLjktMy00LjIifV0sWyJwYXRoIix7ZDoiTTkuNzcgMTJDNCAxNSAyIDIyIDIgMjIifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiI4IixyOiIyIn1dXX0pO3ZhciBVdSxIRmU9ZigoKT0+e1V1PVtbInBhdGgiLHtkOiJtMTUuMTk0IDEzLjcwNyAzLjgxNCAxLjg2LTEuODYgMy44MTQifV0sWyJwYXRoIix7ZDoiTTE2LjQ3MjE0IDcuNTI3ODYgQSA1IDEwIDAgMSAwIDEzIDIxLjc5Nzk2In1dLFsicGF0aCIse2Q6Ik0yMS43OTc5NiAxMSBBIDEwIDUgMCAxIDAgMTkgMTUuNTcwNzEifV1dfSk7dmFyIEVPLHFGZT1mKCgpPT57RU89W1sicGF0aCIse2Q6Ik0xMiA3djYifV0sWyJwYXRoIix7ZDoiTTEyIDloMiJ9XSxbInBhdGgiLHtkOiJNMyAxMmE5IDkgMCAxIDAgOS05IDkuNzQgOS43NCAwIDAgMC02Ljc0IDIuNzRMMyA4In1dLFsicGF0aCIse2Q6Ik0zIDN2NWg1In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTUiLHI6IjIifV1dfSk7dmFyIFBPLFZGZT1mKCgpPT57UE89W1sicGF0aCIse2Q6Ik0yMCA5VjdhMiAyIDAgMCAwLTItMmgtNiJ9XSxbInBhdGgiLHtkOiJtMTUgMi0zIDMgMyAzIn1dLFsicGF0aCIse2Q6Ik0yMCAxM3Y1YTIgMiAwIDAgMS0yIDJINmEyIDIgMCAwIDEtMi0yVjdhMiAyIDAgMCAxIDItMmgyIn1dXX0pO3ZhciBJTyxqRmU9ZigoKT0+e0lPPVtbInBhdGgiLHtkOiJNMyAxMmE5IDkgMCAxIDAgOS05IDkuNzUgOS43NSAwIDAgMC02Ljc0IDIuNzRMMyA4In1dLFsicGF0aCIse2Q6Ik0zIDN2NWg1In1dXX0pO3ZhciBOTyxVRmU9ZigoKT0+e05PPVtbInBhdGgiLHtkOiJNMTIgNUg2YTIgMiAwIDAgMC0yIDJ2MyJ9XSxbInBhdGgiLHtkOiJtOSA4IDMtMy0zLTMifV0sWyJwYXRoIix7ZDoiTTQgMTR2NGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWN2EyIDIgMCAwIDAtMi0yaC0yIn1dXX0pO3ZhciBSTyxXRmU9ZigoKT0+e1JPPVtbInBhdGgiLHtkOiJNMjEgMTJhOSA5IDAgMSAxLTktOWMyLjUyIDAgNC45MyAxIDYuNzQgMi43NEwyMSA4In1dLFsicGF0aCIse2Q6Ik0yMSAzdjVoLTUifV1dfSk7dmFyIE9PLEdGZT1mKCgpPT57T089W1siY2lyY2xlIix7Y3g6IjYiLGN5OiIxOSIscjoiMyJ9XSxbInBhdGgiLHtkOiJNOSAxOWg4LjVjLjQgMCAuOS0uMSAxLjMtLjIifV0sWyJwYXRoIix7ZDoiTTUuMiA1LjJBMy41IDMuNTMgMCAwIDAgNi41IDEySDEyIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTIxIDE1LjNhMy41IDMuNSAwIDAgMC0zLjMtMy4zIn1dLFsicGF0aCIse2Q6Ik0xNSA1aC00LjMifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI1IixyOiIzIn1dXX0pO3ZhciBGTyxZRmU9ZigoKT0+e0ZPPVtbImNpcmNsZSIse2N4OiI2IixjeToiMTkiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTkgMTloOC41YTMuNSAzLjUgMCAwIDAgMC03aC0xMWEzLjUgMy41IDAgMCAxIDAtN0gxNSJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjUiLHI6IjMifV1dfSk7dmFyIEJPLEtGZT1mKCgpPT57Qk89W1sicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI4Iix4OiIyIix5OiIxNCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTYuMDEgMThINiJ9XSxbInBhdGgiLHtkOiJNMTAuMDEgMThIMTAifV0sWyJwYXRoIix7ZDoiTTE1IDEwdjQifV0sWyJwYXRoIix7ZDoiTTE3Ljg0IDcuMTdhNCA0IDAgMCAwLTUuNjYgMCJ9XSxbInBhdGgiLHtkOiJNMjAuNjYgNC4zNGE4IDggMCAwIDAtMTEuMzEgMCJ9XV19KTt2YXIgV3UsWkZlPWYoKCk9PntXdT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyAxMmgxOCJ9XV19KTt2YXIgR3UsWEZlPWYoKCk9PntHdT1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMjEgOUgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxNUgzIn1dXX0pO3ZhciBITyxRRmU9ZigoKT0+e0hPPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yMSA3LjVIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTJIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTYuNUgzIn1dXX0pO3ZhciBxTyxKRmU9ZigoKT0+e3FPPVtbInBhdGgiLHtkOiJNNCAxMWE5IDkgMCAwIDEgOSA5In1dLFsicGF0aCIse2Q6Ik00IDRhMTYgMTYgMCAwIDEgMTYgMTYifV0sWyJjaXJjbGUiLHtjeDoiNSIsY3k6IjE5IixyOiIxIn1dXX0pO3ZhciBWTyxlQmU9ZigoKT0+e1ZPPVtbInBhdGgiLHtkOiJNMTAgMTV2LTMifV0sWyJwYXRoIix7ZDoiTTE0IDE1di0zIn1dLFsicGF0aCIse2Q6Ik0xOCAxNXYtMyJ9XSxbInBhdGgiLHtkOiJNMiA4VjQifV0sWyJwYXRoIix7ZDoiTTIyIDZIMiJ9XSxbInBhdGgiLHtkOiJNMjIgOFY0In1dLFsicGF0aCIse2Q6Ik02IDE1di0zIn1dLFsicmVjdCIse3g6IjIiLHk6IjEyIix3aWR0aDoiMjAiLGhlaWdodDoiOCIscng6IjIifV1dfSk7dmFyIGpPLHRCZT1mKCgpPT57ak89W1sicGF0aCIse2Q6Ik0yMS4zIDE1LjNhMi40IDIuNCAwIDAgMSAwIDMuNGwtMi42IDIuNmEyLjQgMi40IDAgMCAxLTMuNCAwTDIuNyA4LjdhMi40MSAyLjQxIDAgMCAxIDAtMy40bDIuNi0yLjZhMi40MSAyLjQxIDAgMCAxIDMuNCAwWiJ9XSxbInBhdGgiLHtkOiJtMTQuNSAxMi41IDItMiJ9XSxbInBhdGgiLHtkOiJtMTEuNSA5LjUgMi0yIn1dLFsicGF0aCIse2Q6Im04LjUgNi41IDItMiJ9XSxbInBhdGgiLHtkOiJtMTcuNSAxNS41IDItMiJ9XV19KTt2YXIgVU8sYUJlPWYoKCk9PntVTz1bWyJwYXRoIix7ZDoiTTYgMTFoOGE0IDQgMCAwIDAgMC04SDl2MTgifV0sWyJwYXRoIix7ZDoiTTYgMTVoOCJ9XV19KTt2YXIgV08sckJlPWYoKCk9PntXTz1bWyJwYXRoIix7ZDoiTTEwIDJ2MTUifV0sWyJwYXRoIix7ZDoiTTcgMjJhNCA0IDAgMCAxLTQtNCAxIDEgMCAwIDEgMS0xaDE2YTEgMSAwIDAgMSAxIDEgNCA0IDAgMCAxLTQgNHoifV0sWyJwYXRoIix7ZDoiTTkuMTU5IDIuNDZhMSAxIDAgMCAxIDEuNTIxLS4xOTNsOS45NzcgOC45OEExIDEgMCAwIDEgMjAgMTNINGExIDEgMCAwIDEtLjgyNC0xLjU2N3oifV1dfSk7dmFyIEdPLHNCZT1mKCgpPT57R089W1sicGF0aCIse2Q6Ik03IDIxaDEwIn1dLFsicGF0aCIse2Q6Ik0xMiAyMWE5IDkgMCAwIDAgOS05SDNhOSA5IDAgMCAwIDkgOVoifV0sWyJwYXRoIix7ZDoiTTExLjM4IDEyYTIuNCAyLjQgMCAwIDEtLjQtNC43NyAyLjQgMi40IDAgMCAxIDMuMi0yLjc3IDIuNCAyLjQgMCAwIDEgMy40Ny0uNjMgMi40IDIuNCAwIDAgMSAzLjM3IDMuMzcgMi40IDIuNCAwIDAgMS0xLjEgMy43IDIuNTEgMi41MSAwIDAgMSAuMDMgMS4xIn1dLFsicGF0aCIse2Q6Im0xMyAxMiA0LTQifV0sWyJwYXRoIix7ZDoiTTEwLjkgNy4yNUEzLjk5IDMuOTkgMCAwIDAgNCAxMGMwIC43My4yIDEuNDEuNTQgMiJ9XV19KTt2YXIgWU8saUJlPWYoKCk9PntZTz1bWyJwYXRoIix7ZDoibTIuMzcgMTEuMjIzIDguMzcyLTYuNzc3YTIgMiAwIDAgMSAyLjUxNiAwbDguMzcxIDYuNzc3In1dLFsicGF0aCIse2Q6Ik0yMSAxNWExIDEgMCAwIDEgMSAxdjJhMSAxIDAgMCAxLTEgMWgtNS4yNSJ9XSxbInBhdGgiLHtkOiJNMyAxNWExIDEgMCAwIDAtMSAxdjJhMSAxIDAgMCAwIDEgMWg5In1dLFsicGF0aCIse2Q6Im02LjY3IDE1IDYuMTMgNC42YTIgMiAwIDAgMCAyLjgtLjRsMy4xNS00LjIifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjQiLHg6IjIiLHk6IjExIixyeDoiMSJ9XV19KTt2YXIgS08sb0JlPWYoKCk9PntLTz1bWyJwYXRoIix7ZDoibTEzLjUgNi41LTMuMTQ4LTMuMTQ4YTEuMjA1IDEuMjA1IDAgMCAwLTEuNzA0IDBMNi4zNTIgNS42NDhhMS4yMDUgMS4yMDUgMCAwIDAgMCAxLjcwNEw5LjUgMTAuNSJ9XSxbInBhdGgiLHtkOiJNMTYuNSA3LjUgMTkgNSJ9XSxbInBhdGgiLHtkOiJtMTcuNSAxMC41IDMuMTQ4IDMuMTQ4YTEuMjA1IDEuMjA1IDAgMCAxIDAgMS43MDRsLTIuMjk2IDIuMjk2YTEuMjA1IDEuMjA1IDAgMCAxLTEuNzA0IDBMMTMuNSAxNC41In1dLFsicGF0aCIse2Q6Ik05IDIxYTYgNiAwIDAgMC02LTYifV0sWyJwYXRoIix7ZDoiTTkuMzUyIDEwLjY0OGExLjIwNSAxLjIwNSAwIDAgMCAwIDEuNzA0bDIuMjk2IDIuMjk2YTEuMjA1IDEuMjA1IDAgMCAwIDEuNzA0IDBsNC4yOTYtNC4yOTZhMS4yMDUgMS4yMDUgMCAwIDAgMC0xLjcwNGwtMi4yOTYtMi4yOTZhMS4yMDUgMS4yMDUgMCAwIDAtMS43MDQgMHoifV1dfSk7dmFyIFpPLG5CZT1mKCgpPT57Wk89W1sicGF0aCIse2Q6Ik00IDEwYTcuMzEgNy4zMSAwIDAgMCAxMCAxMFoifV0sWyJwYXRoIix7ZDoibTkgMTUgMy0zIn1dLFsicGF0aCIse2Q6Ik0xNyAxM2E2IDYgMCAwIDAtNi02In1dLFsicGF0aCIse2Q6Ik0yMSAxM0ExMCAxMCAwIDAgMCAxMSAzIn1dXX0pO3ZhciBYTyxsQmU9ZigoKT0+e1hPPVtbInBhdGgiLHtkOiJtMjAgMTkuNS01LjUgMS4yIn1dLFsicGF0aCIse2Q6Ik0xNC41IDR2MTEuMjJhMSAxIDAgMCAwIDEuMjQyLjk3TDIwIDE1LjIifV0sWyJwYXRoIix7ZDoibTIuOTc4IDE5LjM1MSA1LjU0OS0xLjM2M0EyIDIgMCAwIDAgMTAgMTZWMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTAgNCAxMy41In1dXX0pO3ZhciBRTyxjQmU9ZigoKT0+e1FPPVtbInBhdGgiLHtkOiJNMTMgMTNIOGExIDEgMCAwIDAtMSAxdjcifV0sWyJwYXRoIix7ZDoiTTE0IDhoMSJ9XSxbInBhdGgiLHtkOiJNMTcgMjF2LTQifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjAuNDEgMjAuNDFBMiAyIDAgMCAxIDE5IDIxSDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAuNTktMS40MSJ9XSxbInBhdGgiLHtkOiJNMjkuNSAxMS41czUgNSA0IDUifV0sWyJwYXRoIix7ZDoiTTkgM2g2LjJhMiAyIDAgMCAxIDEuNC42bDMuOCAzLjhhMiAyIDAgMCAxIC42IDEuNFYxNSJ9XV19KTt2YXIgSk8sZEJlPWYoKCk9PntKTz1bWyJwYXRoIix7ZDoiTTEwIDJ2M2ExIDEgMCAwIDAgMSAxaDUifV0sWyJwYXRoIix7ZDoiTTE4IDE4di02YTEgMSAwIDAgMC0xLTFoLTZhMSAxIDAgMCAwLTEgMXY2In1dLFsicGF0aCIse2Q6Ik0xOCAyMkg0YTIgMiAwIDAgMS0yLTJWNiJ9XSxbInBhdGgiLHtkOiJNOCAxOGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg5LjE3MmEyIDIgMCAwIDEgMS40MTQuNTg2bDIuODI4IDIuODI4QTIgMiAwIDAgMSAyMiA2LjgyOFYxNmEyIDIgMCAwIDEtMi4wMSAyeiJ9XV19KTt2YXIgZUYsdUJlPWYoKCk9PntlRj1bWyJwYXRoIix7ZDoiTTE1LjIgM2EyIDIgMCAwIDEgMS40LjZsMy44IDMuOGEyIDIgMCAwIDEgLjYgMS40VjE5YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMnoifV0sWyJwYXRoIix7ZDoiTTE3IDIxdi03YTEgMSAwIDAgMC0xLTFIOGExIDEgMCAwIDAtMSAxdjcifV0sWyJwYXRoIix7ZDoiTTcgM3Y0YTEgMSAwIDAgMCAxIDFoNyJ9XV19KTt2YXIgWXUscEJlPWYoKCk9PntZdT1bWyJwYXRoIix7ZDoiTTUgN3YxMWExIDEgMCAwIDAgMSAxaDExIn1dLFsicGF0aCIse2Q6Ik01LjI5MyAxOC43MDcgMTEgMTMifV0sWyJjaXJjbGUiLHtjeDoiMTkiLGN5OiIxOSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiNSIscjoiMiJ9XV19KTt2YXIgdEYsZkJlPWYoKCk9Pnt0Rj1bWyJwYXRoIix7ZDoiTTEyIDN2MTgifV0sWyJwYXRoIix7ZDoibTE5IDggMyA4YTUgNSAwIDAgMS02IDB6VjcifV0sWyJwYXRoIix7ZDoiTTMgN2gxYTE3IDE3IDAgMCAwIDgtMiAxNyAxNyAwIDAgMCA4IDJoMSJ9XSxbInBhdGgiLHtkOiJtNSA4IDMgOGE1IDUgMCAwIDEtNiAwelY3In1dLFsicGF0aCIse2Q6Ik03IDIxaDEwIn1dXX0pO3ZhciBhRixoQmU9ZigoKT0+e2FGPVtbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dLFsicGF0aCIse2Q6Ik04IDd2MTAifV0sWyJwYXRoIix7ZDoiTTEyIDd2MTAifV0sWyJwYXRoIix7ZDoiTTE3IDd2MTAifV1dfSk7dmFyIHJGLG1CZT1mKCgpPT57ckY9W1sicGF0aCIse2Q6Ik0xMiAzSDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ2LTcifV0sWyJwYXRoIix7ZDoiTTE0IDE1SDl2LTUifV0sWyJwYXRoIix7ZDoiTTE2IDNoNXY1In1dLFsicGF0aCIse2Q6Ik0yMSAzIDkgMTUifV1dfSk7dmFyIHNGLGdCZT1mKCgpPT57c0Y9W1sicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMSJ9XSxbInBhdGgiLHtkOiJNMTguOTQ0IDEyLjMzYTEgMSAwIDAgMCAwLS42NiA3LjUgNy41IDAgMCAwLTEzLjg4OCAwIDEgMSAwIDAgMCAwIC42NiA3LjUgNy41IDAgMCAwIDEzLjg4OCAwIn1dXX0pO3ZhciBpRixiQmU9ZigoKT0+e2lGPVtbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dLFsicGF0aCIse2Q6Ik04IDE0czEuNSAyIDQgMiA0LTIgNC0yIn1dLFsicGF0aCIse2Q6Ik05IDloLjAxIn1dLFsicGF0aCIse2Q6Ik0xNSA5aC4wMSJ9XV19KTt2YXIgb0YsdkJlPWYoKCk9PntvRj1bWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbInBhdGgiLHtkOiJNNy44MjggMTMuMDdBMyAzIDAgMCAxIDEyIDguNzY0YTMgMyAwIDAgMSA0LjE3MiA0LjMwNmwtMy40NDcgMy42MmExIDEgMCAwIDEtMS40NDkgMHoifV1dfSk7dmFyIG5GLHhCZT1mKCgpPT57bkY9W1sicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNyAyMUg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJwYXRoIix7ZDoiTTcgMTJoMTAifV1dfSk7dmFyIGxGLHlCZT1mKCgpPT57bEY9W1sicGF0aCIse2Q6Ik0xNyAxMnY0YTEgMSAwIDAgMS0xIDFoLTQifV0sWyJwYXRoIix7ZDoiTTE3IDNoMmEyIDIgMCAwIDEgMiAydjIifV0sWyJwYXRoIix7ZDoiTTE3IDhWNyJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik0zIDdWNWEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoiTTcgMTdoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbInJlY3QiLHt4OiI3Iix5OiI3Iix3aWR0aDoiNSIsaGVpZ2h0OiI1IixyeDoiMSJ9XV19KTt2YXIgY0Ysd0JlPWYoKCk9PntjRj1bWyJwYXRoIix7ZDoiTTMgN1Y1YTIgMiAwIDAgMSAyLTJoMiJ9XSxbInBhdGgiLHtkOiJNMTcgM2gyYTIgMiAwIDAgMSAyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMjEgMTd2MmEyIDIgMCAwIDEtMiAyaC0yIn1dLFsicGF0aCIse2Q6Ik03IDIxSDVhMiAyIDAgMCAxLTItMnYtMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dLFsicGF0aCIse2Q6Im0xNiAxNi0xLjktMS45In1dXX0pO3ZhciBkRixNQmU9ZigoKT0+e2RGPVtbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dLFsicGF0aCIse2Q6Ik03IDhoOCJ9XSxbInBhdGgiLHtkOiJNNyAxMmgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNmg2In1dXX0pO3ZhciB1RixrQmU9ZigoKT0+e3VGPVtbInBhdGgiLHtkOiJNMyA3VjVhMiAyIDAgMCAxIDItMmgyIn1dLFsicGF0aCIse2Q6Ik0xNyAzaDJhMiAyIDAgMCAxIDIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMSAxN3YyYTIgMiAwIDAgMS0yIDJoLTIifV0sWyJwYXRoIix7ZDoiTTcgMjFINWEyIDIgMCAwIDEtMi0ydi0yIn1dXX0pO3ZhciBwRixTQmU9ZigoKT0+e3BGPVtbInBhdGgiLHtkOiJNMTQgMjF2LTNhMiAyIDAgMCAwLTQgMHYzIn1dLFsicGF0aCIse2Q6Ik0xOCA0LjkzM1YyMSJ9XSxbInBhdGgiLHtkOiJtNCA2IDcuMTA2LTMuNzlhMiAyIDAgMCAxIDEuNzg4IDBMMjAgNiJ9XSxbInBhdGgiLHtkOiJtNiAxMS0zLjUyIDIuMTQ3YTEgMSAwIDAgMC0uNDguODU0VjE5YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNWExIDEgMCAwIDAtLjQ4LS44NTNMMTggMTEifV0sWyJwYXRoIix7ZDoiTTYgNC45MzNWMjEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI5IixyOiIyIn1dXX0pO3ZhciBmRix6QmU9ZigoKT0+e2ZGPVtbInBhdGgiLHtkOiJNNS40MiA5LjQyIDggMTIifV0sWyJjaXJjbGUiLHtjeDoiNCIsY3k6IjgiLHI6IjIifV0sWyJwYXRoIix7ZDoibTE0IDYtOC41OCA4LjU4In1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiIxNiIscjoiMiJ9XSxbInBhdGgiLHtkOiJNMTAuOCAxNC44IDE0IDE4In1dLFsicGF0aCIse2Q6Ik0xNiAxMmgtMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTIifV1dfSk7dmFyIGhGLENCZT1mKCgpPT57aEY9W1siY2lyY2xlIix7Y3g6IjYiLGN5OiI2IixyOiIzIn1dLFsicGF0aCIse2Q6Ik04LjEyIDguMTIgMTIgMTIifV0sWyJwYXRoIix7ZDoiTTIwIDQgOC4xMiAxNS44OCJ9XSxbImNpcmNsZSIse2N4OiI2IixjeToiMTgiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTE0LjggMTQuOCAyMCAyMCJ9XV19KTt2YXIgbUYsX0JlPWYoKCk9PnttRj1bWyJwYXRoIix7ZDoiTTIxIDRoLTMuNWwyIDExLjA1In1dLFsicGF0aCIse2Q6Ik02Ljk1IDE3aDUuMTQyYy41MjMgMCAuOTUtLjQwNiAxLjA2My0uOTE2YTYuNSA2LjUgMCAwIDEgNS4zNDUtNS4wMDkifV0sWyJjaXJjbGUiLHtjeDoiMTkuNSIsY3k6IjE3LjUiLHI6IjIuNSJ9XSxbImNpcmNsZSIse2N4OiI0LjUiLGN5OiIxNy41IixyOiIyLjUifV1dfSk7dmFyIGdGLFRCZT1mKCgpPT57Z0Y9W1sicGF0aCIse2Q6Ik0xMyAzSDRhMiAyIDAgMCAwLTIgMnYxMGEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTMifV0sWyJwYXRoIix7ZDoiTTggMjFoOCJ9XSxbInBhdGgiLHtkOiJNMTIgMTd2NCJ9XSxbInBhdGgiLHtkOiJtMjIgMy01IDUifV0sWyJwYXRoIix7ZDoibTE3IDMgNSA1In1dXX0pO3ZhciBiRixMQmU9ZigoKT0+e2JGPVtbInBhdGgiLHtkOiJNMTMgM0g0YTIgMiAwIDAgMC0yIDJ2MTBhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0zIn1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV0sWyJwYXRoIix7ZDoiTTEyIDE3djQifV0sWyJwYXRoIix7ZDoibTE3IDggNS01In1dLFsicGF0aCIse2Q6Ik0xNyAzaDV2NSJ9XV19KTt2YXIgdkYsJEJlPWYoKCk9Pnt2Rj1bWyJwYXRoIix7ZDoiTTE1IDEyaC01In1dLFsicGF0aCIse2Q6Ik0xNSA4aC01In1dLFsicGF0aCIse2Q6Ik0xOSAxN1Y1YTIgMiAwIDAgMC0yLTJINCJ9XSxbInBhdGgiLHtkOiJNOCAyMWgxMmEyIDIgMCAwIDAgMi0ydi0xYTEgMSAwIDAgMC0xLTFIMTFhMSAxIDAgMCAwLTEgMXYxYTIgMiAwIDEgMS00IDBWNWEyIDIgMCAxIDAtNCAwdjJhMSAxIDAgMCAwIDEgMWgzIn1dXX0pO3ZhciB4RixEQmU9ZigoKT0+e3hGPVtbInBhdGgiLHtkOiJNMTkgMTdWNWEyIDIgMCAwIDAtMi0ySDQifV0sWyJwYXRoIix7ZDoiTTggMjFoMTJhMiAyIDAgMCAwIDItMnYtMWExIDEgMCAwIDAtMS0xSDExYTEgMSAwIDAgMC0xIDF2MWEyIDIgMCAxIDEtNCAwVjVhMiAyIDAgMSAwLTQgMHYyYTEgMSAwIDAgMCAxIDFoMyJ9XV19KTt2YXIgeUYsQUJlPWYoKCk9Pnt5Rj1bWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiOCJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtNC4zLTQuMyJ9XSxbInBhdGgiLHtkOiJNMTEgN3Y0In1dLFsicGF0aCIse2Q6Ik0xMSAxNWguMDEifV1dfSk7dmFyIHdGLEVCZT1mKCgpPT57d0Y9W1sicGF0aCIse2Q6Im04IDExIDIgMiA0LTQifV0sWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiOCJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtNC4zLTQuMyJ9XV19KTt2YXIgTUYsUEJlPWYoKCk9PntNRj1bWyJwYXRoIix7ZDoibTEzIDEzLjUgMi0yLjUtMi0yLjUifV0sWyJwYXRoIix7ZDoibTIxIDIxLTQuMy00LjMifV0sWyJwYXRoIix7ZDoiTTkgOC41IDcgMTFsMiAyLjUifV0sWyJjaXJjbGUiLHtjeDoiMTEiLGN5OiIxMSIscjoiOCJ9XV19KTt2YXIga0YsSUJlPWYoKCk9PntrRj1bWyJwYXRoIix7ZDoibTEzLjUgOC41LTUgNSJ9XSxbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4In1dLFsicGF0aCIse2Q6Im0yMSAyMS00LjMtNC4zIn1dXX0pO3ZhciBTRixOQmU9ZigoKT0+e1NGPVtbInBhdGgiLHtkOiJtMTMuNSA4LjUtNSA1In1dLFsicGF0aCIse2Q6Im04LjUgOC41IDUgNSJ9XSxbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4In1dLFsicGF0aCIse2Q6Im0yMSAyMS00LjMtNC4zIn1dXX0pO3ZhciB6RixSQmU9ZigoKT0+e3pGPVtbInBhdGgiLHtkOiJtMjEgMjEtNC4zNC00LjM0In1dLFsiY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjgifV1dfSk7dmFyIENGLE9CZT1mKCgpPT57Q0Y9W1sicGF0aCIse2Q6Ik0xNiA1YTQgMyAwIDAgMC04IDBjMCA0IDggMyA4IDdhNCAzIDAgMCAxLTggMCJ9XSxbInBhdGgiLHtkOiJNOCAxOWE0IDMgMCAwIDAgOCAwYzAtNC04LTMtOC03YTQgMyAwIDAgMSA4IDAifV1dfSk7dmFyIEt1LEZCZT1mKCgpPT57S3U9W1sicGF0aCIse2Q6Ik0zLjcxNCAzLjA0OGEuNDk4LjQ5OCAwIDAgMC0uNjgzLjYyN2wyLjg0MyA3LjYyN2EyIDIgMCAwIDEgMCAxLjM5NmwtMi44NDIgNy42MjdhLjQ5OC40OTggMCAwIDAgLjY4Mi42MjdsMTgtOC41YS41LjUgMCAwIDAgMC0uOTA0eiJ9XSxbInBhdGgiLHtkOiJNNiAxMmgxNiJ9XV19KTt2YXIgX0YsQkJlPWYoKCk9PntfRj1bWyJyZWN0Iix7eDoiMTQiLHk6IjE0Iix3aWR0aDoiOCIsaGVpZ2h0OiI4IixyeDoiMiJ9XSxbInJlY3QiLHt4OiIyIix5OiIyIix3aWR0aDoiOCIsaGVpZ2h0OiI4IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNyAxNHYxYTIgMiAwIDAgMCAyIDJoMSJ9XSxbInBhdGgiLHtkOiJNMTQgN2gxYTIgMiAwIDAgMSAyIDJ2MSJ9XV19KTt2YXIgVEYsSEJlPWYoKCk9PntURj1bWyJwYXRoIix7ZDoiTTE0LjUzNiAyMS42ODZhLjUuNSAwIDAgMCAuOTM3LS4wMjRsNi41LTE5YS40OTYuNDk2IDAgMCAwLS42MzUtLjYzNWwtMTkgNi41YS41LjUgMCAwIDAtLjAyNC45MzdsNy45MyAzLjE4YTIgMiAwIDAgMSAxLjExMiAxLjExeiJ9XSxbInBhdGgiLHtkOiJtMjEuODU0IDIuMTQ3LTEwLjk0IDEwLjkzOSJ9XV19KTt2YXIgTEYscUJlPWYoKCk9PntMRj1bWyJwYXRoIix7ZDoibTE2IDE2LTQgNC00LTQifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTgifV0sWyJwYXRoIix7ZDoibTggOCA0LTQgNCA0In1dXX0pO3ZhciAkRixWQmU9ZigoKT0+eyRGPVtbInBhdGgiLHtkOiJNMTIgM3YxOCJ9XSxbInBhdGgiLHtkOiJtMTYgMTYgNC00LTQtNCJ9XSxbInBhdGgiLHtkOiJtOCA4LTQgNCA0IDQifV1dfSk7dmFyIERGLGpCZT1mKCgpPT57REY9W1sicGF0aCIse2Q6Im0xMC44NTIgMTQuNzcyLS4zODMuOTIzIn1dLFsicGF0aCIse2Q6Ik0xMy4xNDggMTQuNzcyYTMgMyAwIDEgMC0yLjI5Ni01LjU0NGwtLjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xMy4xNDggOS4yMjguMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTEzLjUzIDE1LjY5Ni0uMzgyLS45MjRhMyAzIDAgMSAxLTIuMjk2LTUuNTQ0In1dLFsicGF0aCIse2Q6Im0xNC43NzIgMTAuODUyLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0xNC43NzIgMTMuMTQ4LjkyMy4zODMifV0sWyJwYXRoIix7ZDoiTTQuNSAxMEg0YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2NGEyIDIgMCAwIDEtMiAyaC0uNSJ9XSxbInBhdGgiLHtkOiJNNC41IDE0SDRhMiAyIDAgMCAwLTIgMnY0YTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtNGEyIDIgMCAwIDAtMi0yaC0uNSJ9XSxbInBhdGgiLHtkOiJNNiAxOGguMDEifV0sWyJwYXRoIix7ZDoiTTYgNmguMDEifV0sWyJwYXRoIix7ZDoibTkuMjI4IDEwLjg1Mi0uOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTkuMjI4IDEzLjE0OC0uOTIzLjM4MyJ9XV19KTt2YXIgQUYsVUJlPWYoKCk9PntBRj1bWyJwYXRoIix7ZDoiTTYgMTBINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmgxNmEyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMmgtMiJ9XSxbInBhdGgiLHtkOiJNNiAxNEg0YTIgMiAwIDAgMC0yIDJ2NGEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ2LTRhMiAyIDAgMCAwLTItMmgtMiJ9XSxbInBhdGgiLHtkOiJNNiA2aC4wMSJ9XSxbInBhdGgiLHtkOiJNNiAxOGguMDEifV0sWyJwYXRoIix7ZDoibTEzIDYtNCA2aDZsLTQgNiJ9XV19KTt2YXIgRUYsV0JlPWYoKCk9PntFRj1bWyJwYXRoIix7ZDoiTTcgMmgxM2EyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMmgtNSJ9XSxbInBhdGgiLHtkOiJNMTAgMTAgMi41IDIuNUMyIDIgMiAyLjUgMiA1djNhMiAyIDAgMCAwIDIgMmg2eiJ9XSxbInBhdGgiLHtkOiJNMjIgMTd2LTFhMiAyIDAgMCAwLTItMmgtMSJ9XSxbInBhdGgiLHtkOiJNNCAxNGEyIDIgMCAwIDAtMiAydjRhMiAyIDAgMCAwIDIgMmgxNi41bDEtLjUuNS41LTgtOEg0eiJ9XSxbInBhdGgiLHtkOiJNNiAxOGguMDEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgUEYsR0JlPWYoKCk9PntQRj1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjgiLHg6IjIiLHk6IjIiLHJ4OiIyIixyeToiMiJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiOCIseDoiMiIseToiMTQiLHJ4OiIyIixyeToiMiJ9XSxbImxpbmUiLHt4MToiNiIseDI6IjYuMDEiLHkxOiI2Iix5MjoiNiJ9XSxbImxpbmUiLHt4MToiNiIseDI6IjYuMDEiLHkxOiIxOCIseTI6IjE4In1dXX0pO3ZhciBJRixZQmU9ZigoKT0+e0lGPVtbInBhdGgiLHtkOiJNMTQgMTdINSJ9XSxbInBhdGgiLHtkOiJNMTkgN2gtOSJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE3IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiI3IixyOiIzIn1dXX0pO3ZhciBORixLQmU9ZigoKT0+e05GPVtbInBhdGgiLHtkOiJNOC4zIDEwYS43LjcgMCAwIDEtLjYyNi0xLjA3OUwxMS40IDNhLjcuNyAwIDAgMSAxLjE5OC0uMDQzTDE2LjMgOC45YS43LjcgMCAwIDEtLjU3MiAxLjFaIn1dLFsicmVjdCIse3g6IjMiLHk6IjE0Iix3aWR0aDoiNyIsaGVpZ2h0OiI3IixyeDoiMSJ9XSxbImNpcmNsZSIse2N4OiIxNy41IixjeToiMTcuNSIscjoiMy41In1dXX0pO3ZhciBSRixaQmU9ZigoKT0+e1JGPVtbInBhdGgiLHtkOiJNOS42NzEgNC4xMzZhMi4zNCAyLjM0IDAgMCAxIDQuNjU5IDAgMi4zNCAyLjM0IDAgMCAwIDMuMzE5IDEuOTE1IDIuMzQgMi4zNCAwIDAgMSAyLjMzIDQuMDMzIDIuMzQgMi4zNCAwIDAgMCAwIDMuODMxIDIuMzQgMi4zNCAwIDAgMS0yLjMzIDQuMDMzIDIuMzQgMi4zNCAwIDAgMC0zLjMxOSAxLjkxNSAyLjM0IDIuMzQgMCAwIDEtNC42NTkgMCAyLjM0IDIuMzQgMCAwIDAtMy4zMi0xLjkxNSAyLjM0IDIuMzQgMCAwIDEtMi4zMy00LjAzMyAyLjM0IDIuMzQgMCAwIDAgMC0zLjgzMUEyLjM0IDIuMzQgMCAwIDEgNi4zNSA2LjA1MWEyLjM0IDIuMzQgMCAwIDAgMy4zMTktMS45MTUifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMyJ9XV19KTt2YXIgT0YsWEJlPWYoKCk9PntPRj1bWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiI1IixyOiIzIn1dLFsiY2lyY2xlIix7Y3g6IjYiLGN5OiIxMiIscjoiMyJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE5IixyOiIzIn1dLFsibGluZSIse3gxOiI4LjU5Iix4MjoiMTUuNDIiLHkxOiIxMy41MSIseTI6IjE3LjQ5In1dLFsibGluZSIse3gxOiIxNS40MSIseDI6IjguNTkiLHkxOiI2LjUxIix5MjoiMTAuNDkifV1dfSk7dmFyIEZGLFFCZT1mKCgpPT57RkY9W1sicGF0aCIse2Q6Ik0xMiAydjEzIn1dLFsicGF0aCIse2Q6Im0xNiA2LTQtNC00IDQifV0sWyJwYXRoIix7ZDoiTTQgMTJ2OGEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJ2LTgifV1dfSk7dmFyIEJGLEpCZT1mKCgpPT57QkY9W1sicGF0aCIse2Q6Ik0xNCAxMWEyIDIgMCAxIDEtNCAwIDQgNCAwIDAgMSA4IDAgNiA2IDAgMCAxLTEyIDAgOCA4IDAgMCAxIDE2IDAgMTAgMTAgMCAxIDEtMjAgMCAxMS45MyAxMS45MyAwIDAgMSAyLjQyLTcuMjIgMiAyIDAgMSAxIDMuMTYgMi40NCJ9XV19KTt2YXIgSEYsZUhlPWYoKCk9PntIRj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJsaW5lIix7eDE6IjMiLHgyOiIyMSIseTE6IjkiLHkyOiI5In1dLFsibGluZSIse3gxOiIzIix4MjoiMjEiLHkxOiIxNSIseTI6IjE1In1dLFsibGluZSIse3gxOiI5Iix4MjoiOSIseTE6IjkiLHkyOiIyMSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNSIseTE6IjkiLHkyOiIyMSJ9XV19KTt2YXIgcUYsdEhlPWYoKCk9PntxRj1bWyJwYXRoIix7ZDoiTTEyIDEyVjlhMSAxIDAgMCAwLTEtMUg5YTEgMSAwIDAgMC0xIDF2MyJ9XSxbInBhdGgiLHtkOiJNMTYgMjB2LTNhMSAxIDAgMCAwLTEtMWgtMmExIDEgMCAwIDAtMSAxdjMifV0sWyJwYXRoIix7ZDoiTTIwIDIyVjIifV0sWyJwYXRoIix7ZDoiTTQgMTJoMTYifV0sWyJwYXRoIix7ZDoiTTQgMjBoMTYifV0sWyJwYXRoIix7ZDoiTTQgMnYyMCJ9XSxbInBhdGgiLHtkOiJNNCA0aDE2In1dXX0pO3ZhciBWRixhSGU9ZigoKT0+e1ZGPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoiTTEyIDh2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMTZoLjAxIn1dXX0pO3ZhciBqRixySGU9ZigoKT0+e2pGPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoibTQuMjQzIDUuMjEgMTQuMzkgMTIuNDcyIn1dXX0pO3ZhciBVRixzSGU9ZigoKT0+e1VGPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoibTkgMTIgMiAyIDQtNCJ9XV19KTt2YXIgV0YsaUhlPWYoKCk9PntXRj1bWyJwYXRoIix7ZDoiTTExIDIyYy0zLjgwNi0xLjQ1LTctMy45NjYtNy05VjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxdjQifV0sWyJwYXRoIix7ZDoiTTE0LjkyMyAxNi41NDcgMTQgMTYuMTY0In1dLFsicGF0aCIse2Q6Im0xNC45MjMgMTguODQzLS45MjMuMzgzIn1dLFsicGF0aCIse2Q6Ik0xNi41NDcgMTQuOTIzIDE2LjE2NCAxNCJ9XSxbInBhdGgiLHtkOiJtMTYuNTQ3IDIwLjQ2Ny0uMzgzLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTguODQzIDE0LjkyMy4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTkuMjI1IDIxLjM5MS0uMzgyLS45MjQifV0sWyJwYXRoIix7ZDoibTIwLjQ2NyAxNi41NDcuOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTIwLjQ2NyAxOC44NDMuOTIzLjM4MyJ9XSxbImNpcmNsZSIse2N4OiIxNy42OTUiLGN5OiIxNy42OTUiLHI6IjMifV1dfSk7dmFyIEdGLG9IZT1mKCgpPT57R0Y9W1sicGF0aCIse2Q6Ik0yMCAxM2MwIDUtMy41IDcuNS03LjY2IDguOTVhMSAxIDAgMCAxLS42Ny0uMDFDNy41IDIwLjUgNCAxOCA0IDEzVjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxeiJ9XSxbInBhdGgiLHtkOiJNOCAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTEyIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLjAxIn1dXX0pO3ZhciBZRixuSGU9ZigoKT0+e1lGPVtbInBhdGgiLHtkOiJtMTAuOTI5IDE0LjQ2Ny0uMzgzLjkyNCJ9XSxbInBhdGgiLHtkOiJNMTAuOTI5IDguOTIzIDEwLjU0NiA4In1dLFsicGF0aCIse2Q6Ik0xMy4yMjUgOC45MjMgMTMuNjA4IDgifV0sWyJwYXRoIix7ZDoibTEzLjYwNyAxNS4zOTEtLjM4Mi0uOTI0In1dLFsicGF0aCIse2Q6Im0xNC44NDkgMTAuNTQ3LjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0xNC44NDkgMTIuODQzLjkyMy4zODMifV0sWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Im05LjMwNSAxMC41NDctLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im05LjMwNSAxMi44NDMtLjkyMy4zODMifV0sWyJjaXJjbGUiLHtjeDoiMTIuMDc3IixjeToiMTEuNjk1IixyOiIzIn1dXX0pO3ZhciBLRixsSGU9ZigoKT0+e0tGPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV0sWyJwYXRoIix7ZDoiTTEyIDIyVjIifV1dfSk7dmFyIFpGLGNIZT1mKCgpPT57WkY9W1sicGF0aCIse2Q6Ik0yMCAxM2MwIDUtMy41IDcuNS03LjY2IDguOTVhMSAxIDAgMCAxLS42Ny0uMDFDNy41IDIwLjUgNCAxOCA0IDEzVjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxeiJ9XSxbInBhdGgiLHtkOiJNOSAxMmg2In1dXX0pO3ZhciBYRixkSGU9ZigoKT0+e1hGPVtbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik01IDVhMSAxIDAgMCAwLTEgMXY3YzAgNSAzLjUgNy41IDcuNjcgOC45NGExIDEgMCAwIDAgLjY3LjAxYzIuMzUtLjgyIDQuNDgtMS45NyA1LjktMy43MSJ9XSxbInBhdGgiLHtkOiJNOS4zMDkgMy42NTJBMTIuMjUyIDEyLjI1MiAwIDAgMCAxMS4yNCAyLjI4YTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXY3YTkuNzg0IDkuNzg0IDAgMCAxLS4wOCAxLjI2NCJ9XV19KTt2YXIgUUYsdUhlPWYoKCk9PntRRj1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Ik05IDEyaDYifV0sWyJwYXRoIix7ZDoiTTEyIDl2NiJ9XV19KTt2YXIgWnUscEhlPWYoKCk9PntadT1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Ik05LjEgOWEzIDMgMCAwIDEgNS44MiAxYzAgMi0zIDMtMyAzIn1dLFsicGF0aCIse2Q6Ik0xMiAxN2guMDEifV1dfSk7dmFyIEpGLGZIZT1mKCgpPT57SkY9W1sicGF0aCIse2Q6Ik0yMCAxM2MwIDUtMy41IDcuNS03LjY2IDguOTVhMSAxIDAgMCAxLS42Ny0uMDFDNy41IDIwLjUgNCAxOCA0IDEzVjZhMSAxIDAgMCAxIDEtMWMyIDAgNC41LTEuMiA2LjI0LTIuNzJhMS4xNyAxLjE3IDAgMCAxIDEuNTIgMEMxNC41MSAzLjgxIDE3IDUgMTkgNWExIDEgMCAwIDEgMSAxeiJ9XSxbInBhdGgiLHtkOiJNNi4zNzYgMTguOTFhNiA2IDAgMCAxIDExLjI0OS4wMDMifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMSIscjoiNCJ9XV19KTt2YXIgWHUsaEhlPWYoKCk9PntYdT1bWyJwYXRoIix7ZDoiTTIwIDEzYzAgNS0zLjUgNy41LTcuNjYgOC45NWExIDEgMCAwIDEtLjY3LS4wMUM3LjUgMjAuNSA0IDE4IDQgMTNWNmExIDEgMCAwIDEgMS0xYzIgMCA0LjUtMS4yIDYuMjQtMi43MmExLjE3IDEuMTcgMCAwIDEgMS41MiAwQzE0LjUxIDMuODEgMTcgNSAxOSA1YTEgMSAwIDAgMSAxIDF6In1dLFsicGF0aCIse2Q6Im0xNC41IDkuNS01IDUifV0sWyJwYXRoIix7ZDoibTkuNSA5LjUgNSA1In1dXX0pO3ZhciBlQixtSGU9ZigoKT0+e2VCPVtbInBhdGgiLHtkOiJNMjAgMTNjMCA1LTMuNSA3LjUtNy42NiA4Ljk1YTEgMSAwIDAgMS0uNjctLjAxQzcuNSAyMC41IDQgMTggNCAxM1Y2YTEgMSAwIDAgMSAxLTFjMiAwIDQuNS0xLjIgNi4yNC0yLjcyYTEuMTcgMS4xNyAwIDAgMSAxLjUyIDBDMTQuNTEgMy44MSAxNyA1IDE5IDVhMSAxIDAgMCAxIDEgMXoifV1dfSk7dmFyIHRCLGdIZT1mKCgpPT57dEI9W1sicGF0aCIse2Q6Ik0xMiAxMC4xODlWMTQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMTkgMTNWN2EyIDIgMCAwIDAtMi0ySDdhMiAyIDAgMCAwLTIgMnY2In1dLFsicGF0aCIse2Q6Ik0xOS4zOCAyMEExMS42IDExLjYgMCAwIDAgMjEgMTRsLTguMTg4LTMuNjM5YTIgMiAwIDAgMC0xLjYyNCAwTDMgMTRhMTEuNiAxMS42IDAgMCAwIDIuODEgNy43NiJ9XSxbInBhdGgiLHtkOiJNMiAyMWMuNi41IDEuMiAxIDIuNSAxIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMXMxLjIgMSAyLjUgMWMyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDEifV1dfSk7dmFyIGFCLGJIZT1mKCgpPT57YUI9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjgifV0sWyJwYXRoIix7ZDoiTTEyIDJ2Ny41In1dLFsicGF0aCIse2Q6Im0xOSA1LTUuMjMgNS4yMyJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTcuNSJ9XSxbInBhdGgiLHtkOiJtMTkgMTktNS4yMy01LjIzIn1dLFsicGF0aCIse2Q6Ik0xMiAxNC41VjIyIn1dLFsicGF0aCIse2Q6Ik0xMC4yMyAxMy43NyA1IDE5In1dLFsicGF0aCIse2Q6Ik05LjUgMTJIMiJ9XSxbInBhdGgiLHtkOiJNMTAuMjMgMTAuMjMgNSA1In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIuNSJ9XV19KTt2YXIgckIsdkhlPWYoKCk9PntyQj1bWyJwYXRoIix7ZDoiTTIwLjM4IDMuNDYgMTYgMmE0IDQgMCAwIDEtOCAwTDMuNjIgMy40NmEyIDIgMCAwIDAtMS4zNCAyLjIzbC41OCAzLjQ3YTEgMSAwIDAgMCAuOTkuODRINnYxMGMwIDEuMS45IDIgMiAyaDhhMiAyIDAgMCAwIDItMlYxMGgyLjE1YTEgMSAwIDAgMCAuOTktLjg0bC41OC0zLjQ3YTIgMiAwIDAgMC0xLjM0LTIuMjN6In1dXX0pO3ZhciBzQix4SGU9ZigoKT0+e3NCPVtbInBhdGgiLHtkOiJNMTYgMTBhNCA0IDAgMCAxLTggMCJ9XSxbInBhdGgiLHtkOiJNMy4xMDMgNi4wMzRoMTcuNzk0In1dLFsicGF0aCIse2Q6Ik0zLjQgNS40NjdhMiAyIDAgMCAwLS40IDEuMlYyMGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJWNi42NjdhMiAyIDAgMCAwLS40LTEuMmwtMi0yLjY2N0EyIDIgMCAwIDAgMTcgMkg3YTIgMiAwIDAgMC0xLjYuOHoifV1dfSk7dmFyIGlCLHlIZT1mKCgpPT57aUI9W1sicGF0aCIse2Q6Im0xNSAxMS0xIDkifV0sWyJwYXRoIix7ZDoibTE5IDExLTQtNyJ9XSxbInBhdGgiLHtkOiJNMiAxMWgyMCJ9XSxbInBhdGgiLHtkOiJtMy41IDExIDEuNiA3LjRhMiAyIDAgMCAwIDIgMS42aDkuOGEyIDIgMCAwIDAgMi0xLjZsMS43LTcuNCJ9XSxbInBhdGgiLHtkOiJNNC41IDE1LjVoMTUifV0sWyJwYXRoIix7ZDoibTUgMTEgNC03In1dLFsicGF0aCIse2Q6Im05IDExIDEgOSJ9XV19KTt2YXIgb0Isd0hlPWYoKCk9PntvQj1bWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjIxIixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiMjEiLHI6IjEifV0sWyJwYXRoIix7ZDoiTTIuMDUgMi4wNWgybDIuNjYgMTIuNDJhMiAyIDAgMCAwIDIgMS41OGg5Ljc4YTIgMiAwIDAgMCAxLjk1LTEuNTdsMS42NS03LjQzSDUuMTIifV1dfSk7dmFyIG5CLE1IZT1mKCgpPT57bkI9W1sicGF0aCIse2Q6Ik0yMS41NiA0LjU2YTEuNSAxLjUgMCAwIDEgMCAyLjEyMmwtLjQ3LjQ3YTMgMyAwIDAgMS00LjIxMi0uMDMgMyAzIDAgMCAxIDAtNC4yNDNsLjQ0LS40NGExLjUgMS41IDAgMCAxIDIuMTIxIDB6In1dLFsicGF0aCIse2Q6Ik0zIDIyYTEgMSAwIDAgMS0xLTF2LTMuNTg2YTEgMSAwIDAgMSAuMjkzLS43MDdsMy4zNTUtMy4zNTVhMS4yMDUgMS4yMDUgMCAwIDEgMS43MDQgMGwzLjI5NiAzLjI5NmExLjIwNSAxLjIwNSAwIDAgMSAwIDEuNzA0bC0zLjM1NSAzLjM1NWExIDEgMCAwIDEtLjcwNy4yOTN6In1dLFsicGF0aCIse2Q6Im05IDE1IDcuODc5LTcuODc4In1dXX0pO3ZhciBsQixrSGU9ZigoKT0+e2xCPVtbInBhdGgiLHtkOiJtNCA0IDIuNSAyLjUifV0sWyJwYXRoIix7ZDoiTTEzLjUgNi41YTQuOTUgNC45NSAwIDAgMC03IDcifV0sWyJwYXRoIix7ZDoiTTE1IDUgNSAxNSJ9XSxbInBhdGgiLHtkOiJNMTQgMTd2LjAxIn1dLFsicGF0aCIse2Q6Ik0xMCAxNnYuMDEifV0sWyJwYXRoIix7ZDoiTTEzIDEzdi4wMSJ9XSxbInBhdGgiLHtkOiJNMTYgMTB2LjAxIn1dLFsicGF0aCIse2Q6Ik0xMSAyMHYuMDEifV0sWyJwYXRoIix7ZDoiTTE3IDE0di4wMSJ9XSxbInBhdGgiLHtkOiJNMjAgMTF2LjAxIn1dXX0pO3ZhciBjQixTSGU9ZigoKT0+e2NCPVtbInBhdGgiLHtkOiJNNCAxM1Y0YTIgMiAwIDAgMSAyLTJoOGEyLjQgMi40IDAgMCAxIDEuNzA2LjcwNmwzLjU4OCAzLjU4OEEyLjQgMi40IDAgMCAxIDIwIDh2NSJ9XSxbInBhdGgiLHtkOiJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNMTAgMjJ2LTUifV0sWyJwYXRoIix7ZDoiTTE0IDE5di0yIn1dLFsicGF0aCIse2Q6Ik0xOCAyMHYtMyJ9XSxbInBhdGgiLHtkOiJNMiAxM2gyMCJ9XSxbInBhdGgiLHtkOiJNNiAyMHYtMyJ9XV19KTt2YXIgZEIsekhlPWYoKCk9PntkQj1bWyJwYXRoIix7ZDoibTE1IDE1IDYgNm0tNi02djQuOG0wLTQuOGg0LjgifV0sWyJwYXRoIix7ZDoiTTkgMTkuOFYxNW0wIDBINC4yTTkgMTVsLTYgNiJ9XSxbInBhdGgiLHtkOiJNMTUgNC4yVjltMCAwaDQuOE0xNSA5bDYtNiJ9XSxbInBhdGgiLHtkOiJNOSA0LjJWOW0wIDBINC4yTTkgOSAzIDMifV1dfSk7dmFyIHVCLENIZT1mKCgpPT57dUI9W1sicGF0aCIse2Q6Ik0xMSAxMmguMDEifV0sWyJwYXRoIix7ZDoiTTEzIDIyYy41LS41IDEuMTItMSAyLjUtMS0xLjM4IDAtMi0uNS0yLjUtMSJ9XSxbInBhdGgiLHtkOiJNMTQgMmEzLjI4IDMuMjggMCAwIDEtMy4yMjcgMS43OThsLTYuMTctLjU2MUEyLjM4NyAyLjM4NyAwIDEgMCA0LjM4NyA4SDE1LjVhMSAxIDAgMCAxIDAgMTMgMSAxIDAgMCAwIDAtNUgxMmE3IDcgMCAwIDEtNy03VjgifV0sWyJwYXRoIix7ZDoiTTE0IDhhOC41IDguNSAwIDAgMSAwIDgifV0sWyJwYXRoIix7ZDoiTTE2IDE2YzIgMCA0LjUtNCA0LTYifV1dfSk7dmFyIHBCLF9IZT1mKCgpPT57cEI9W1sicGF0aCIse2Q6Ik0xMiAyMnYtNS4xNzJhMiAyIDAgMCAwLS41ODYtMS40MTRMOS41IDEzLjUifV0sWyJwYXRoIix7ZDoiTTE0LjUgMTQuNSAxMiAxNyJ9XSxbInBhdGgiLHtkOiJNMTcgOC44QTYgNiAwIDAgMSAxMy44IDIwSDEwQTYuNSA2LjUgMCAwIDEgNyA4YTUgNSAwIDAgMSAxMCAweiJ9XV19KTt2YXIgZkIsVEhlPWYoKCk9PntmQj1bWyJwYXRoIix7ZDoibTE4IDE0IDQgNC00IDQifV0sWyJwYXRoIix7ZDoibTE4IDIgNCA0LTQgNCJ9XSxbInBhdGgiLHtkOiJNMiAxOGgxLjk3M2E0IDQgMCAwIDAgMy4zLTEuN2w1LjQ1NC04LjZhNCA0IDAgMCAxIDMuMy0xLjdIMjIifV0sWyJwYXRoIix7ZDoiTTIgNmgxLjk3MmE0IDQgMCAwIDEgMy42IDIuMiJ9XSxbInBhdGgiLHtkOiJNMjIgMThoLTYuMDQxYTQgNCAwIDAgMS0zLjMtMS44bC0uMzU5LS40NSJ9XV19KTt2YXIgaEIsTEhlPWYoKCk9PntoQj1bWyJwYXRoIix7ZDoiTTE4IDdWNWExIDEgMCAwIDAtMS0xSDYuNWEuNS41IDAgMCAwLS40LjhsNC41IDZhMiAyIDAgMCAxIDAgMi40bC00LjUgNmEuNS41IDAgMCAwIC40LjhIMTdhMSAxIDAgMCAwIDEtMXYtMiJ9XV19KTt2YXIgbUIsJEhlPWYoKCk9PnttQj1bWyJwYXRoIix7ZDoiTTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDIwdi00In1dLFsicGF0aCIse2Q6Ik0xMiAyMHYtOCJ9XSxbInBhdGgiLHtkOiJNMTcgMjBWOCJ9XV19KTt2YXIgZ0IsREhlPWYoKCk9PntnQj1bWyJwYXRoIix7ZDoiTTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDIwdi00In1dXX0pO3ZhciBiQixBSGU9ZigoKT0+e2JCPVtbInBhdGgiLHtkOiJNMiAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTcgMjB2LTQifV0sWyJwYXRoIix7ZDoiTTEyIDIwdi04In1dXX0pO3ZhciB2QixFSGU9ZigoKT0+e3ZCPVtbInBhdGgiLHtkOiJNMiAyMGguMDEifV1dfSk7dmFyIHhCLFBIZT1mKCgpPT57eEI9W1sicGF0aCIse2Q6Ik0yIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNNyAyMHYtNCJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2LTgifV0sWyJwYXRoIix7ZDoiTTE3IDIwVjgifV0sWyJwYXRoIix7ZDoiTTIyIDR2MTYifV1dfSk7dmFyIHlCLElIZT1mKCgpPT57eUI9W1sicGF0aCIse2Q6Im0yMSAxNy0yLjE1Ni0xLjg2OEEuNS41IDAgMCAwIDE4IDE1LjV2LjVhMSAxIDAgMCAxLTEgMWgtMmExIDEgMCAwIDEtMS0xYzAtMi41NDUtMy45OTEtMy45Ny04LjUtNGExIDEgMCAwIDAgMCA1YzQuMTUzIDAgNC43NDUtMTEuMjk1IDUuNzA4LTEzLjVhMi41IDIuNSAwIDEgMSAzLjMxIDMuMjg0In1dLFsicGF0aCIse2Q6Ik0zIDIxaDE4In1dXX0pO3ZhciB3QixOSGU9ZigoKT0+e3dCPVtbInBhdGgiLHtkOiJNMTAgOUg0TDIgN2wyLTJoNiJ9XSxbInBhdGgiLHtkOiJNMTQgNWg2bDIgMi0yIDJoLTYifV0sWyJwYXRoIix7ZDoiTTEwIDIyVjRhMiAyIDAgMSAxIDQgMHYxOCJ9XSxbInBhdGgiLHtkOiJNOCAyMmg4In1dXX0pO3ZhciBNQixSSGU9ZigoKT0+e01CPVtbInBhdGgiLHtkOiJNMTIgMTN2OCJ9XSxbInBhdGgiLHtkOiJNMTIgM3YzIn1dLFsicGF0aCIse2Q6Ik0yLjM1NCAxMC4zNTRhMS4yMDcgMS4yMDcgMCAwIDEgMC0xLjcwOGwyLjA2LTIuMDZBMiAyIDAgMCAxIDUuODI4IDZoMTIuMzQ0YTIgMiAwIDAgMSAxLjQxNC41ODZsMi4wNiAyLjA2YTEuMjA3IDEuMjA3IDAgMCAxIDAgMS43MDhsLTIuMDYgMi4wNmEyIDIgMCAwIDEtMS40MTQuNTg2SDUuODI4YTIgMiAwIDAgMS0xLjQxNC0uNTg2eiJ9XV19KTt2YXIga0IsT0hlPWYoKCk9PntrQj1bWyJwYXRoIix7ZDoiTTcgMTh2LTZhNSA1IDAgMSAxIDEwIDB2NiJ9XSxbInBhdGgiLHtkOiJNNSAyMWExIDEgMCAwIDAgMSAxaDEyYTEgMSAwIDAgMCAxLTF2LTFhMiAyIDAgMCAwLTItMkg3YTIgMiAwIDAgMC0yIDJ6In1dLFsicGF0aCIse2Q6Ik0yMSAxMmgxIn1dLFsicGF0aCIse2Q6Ik0xOC41IDQuNSAxOCA1In1dLFsicGF0aCIse2Q6Ik0yIDEyaDEifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MSJ9XSxbInBhdGgiLHtkOiJtNC45MjkgNC45MjkuNzA3LjcwNyJ9XSxbInBhdGgiLHtkOiJNMTIgMTJ2NiJ9XV19KTt2YXIgU0IsRkhlPWYoKCk9PntTQj1bWyJwYXRoIix7ZDoiTTE3Ljk3MSA0LjI4NUEyIDIgMCAwIDEgMjEgNnYxMmEyIDIgMCAwIDEtMy4wMjkgMS43MTVsLTkuOTk3LTUuOTk4YTIgMiAwIDAgMS0uMDAzLTMuNDMyeiJ9XSxbInBhdGgiLHtkOiJNMyAyMFY0In1dXX0pO3ZhciB6QixCSGU9ZigoKT0+e3pCPVtbInBhdGgiLHtkOiJNMjEgNHYxNiJ9XSxbInBhdGgiLHtkOiJNNi4wMjkgNC4yODVBMiAyIDAgMCAwIDMgNnYxMmEyIDIgMCAwIDAgMy4wMjkgMS43MTVsOS45OTctNS45OThhMiAyIDAgMCAwIC4wMDMtMy40MzJ6In1dXX0pO3ZhciBDQixISGU9ZigoKT0+e0NCPVtbInBhdGgiLHtkOiJtMTIuNSAxNy0uNS0xLS41IDFoMXoifV0sWyJwYXRoIix7ZDoiTTE1IDIyYTEgMSAwIDAgMCAxLTF2LTFhMiAyIDAgMCAwIDEuNTYtMy4yNSA4IDggMCAxIDAtMTEuMTIgMEEyIDIgMCAwIDAgOCAyMHYxYTEgMSAwIDAgMCAxIDF6In1dLFsiY2lyY2xlIix7Y3g6IjE1IixjeToiMTIiLHI6IjEifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjEyIixyOiIxIn1dXX0pO3ZhciBfQixxSGU9ZigoKT0+e19CPVtbInBhdGgiLHtkOiJNMjIgMiAyIDIyIn1dXX0pO3ZhciBUQixWSGU9ZigoKT0+e1RCPVtbInBhdGgiLHtkOiJNMTAgNUgzIn1dLFsicGF0aCIse2Q6Ik0xMiAxOUgzIn1dLFsicGF0aCIse2Q6Ik0xNCAzdjQifV0sWyJwYXRoIix7ZDoiTTE2IDE3djQifV0sWyJwYXRoIix7ZDoiTTIxIDEyaC05In1dLFsicGF0aCIse2Q6Ik0yMSAxOWgtNSJ9XSxbInBhdGgiLHtkOiJNMjEgNWgtNyJ9XSxbInBhdGgiLHtkOiJNOCAxMHY0In1dLFsicGF0aCIse2Q6Ik04IDEySDMifV1dfSk7dmFyIExCLGpIZT1mKCgpPT57TEI9W1sicGF0aCIse2Q6Ik0xMSAxNi41ODZWMTlhMSAxIDAgMCAxLTEgMUgyTDE4LjM3IDMuNjNhMSAxIDAgMSAxIDMgM2wtOS42NjMgOS42NjNhMSAxIDAgMCAxLTEuNDE0IDBMOCAxNCJ9XV19KTt2YXIgUXUsVUhlPWYoKCk9PntRdT1bWyJwYXRoIix7ZDoiTTEwIDhoNCJ9XSxbInBhdGgiLHtkOiJNMTIgMjF2LTkifV0sWyJwYXRoIix7ZDoiTTEyIDhWMyJ9XSxbInBhdGgiLHtkOiJNMTcgMTZoNCJ9XSxbInBhdGgiLHtkOiJNMTkgMTJWMyJ9XSxbInBhdGgiLHtkOiJNMTkgMjF2LTUifV0sWyJwYXRoIix7ZDoiTTMgMTRoNCJ9XSxbInBhdGgiLHtkOiJNNSAxMFYzIn1dLFsicGF0aCIse2Q6Ik01IDIxdi03In1dXX0pO3ZhciAkQixXSGU9ZigoKT0+eyRCPVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMjAiLHg6IjUiLHk6IjIiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTIuNjY3IDggMTAgMTJoNGwtMi42NjcgNCJ9XV19KTt2YXIgREIsR0hlPWYoKCk9PntEQj1bWyJyZWN0Iix7d2lkdGg6IjciLGhlaWdodDoiMTIiLHg6IjIiLHk6IjYiLHJ4OiIxIn1dLFsicGF0aCIse2Q6Ik0xMyA4LjMyYTcuNDMgNy40MyAwIDAgMSAwIDcuMzYifV0sWyJwYXRoIix7ZDoiTTE2LjQ2IDYuMjFhMTEuNzYgMTEuNzYgMCAwIDEgMCAxMS41OCJ9XSxbInBhdGgiLHtkOiJNMTkuOTEgNC4xYTE1LjkxIDE1LjkxIDAgMCAxIC4wMSAxNS44In1dXX0pO3ZhciBBQixZSGU9ZigoKT0+e0FCPVtbInBhdGgiLHtkOiJNMjIgMTF2MWExMCAxMCAwIDEgMS05LTEwIn1dLFsicGF0aCIse2Q6Ik04IDE0czEuNSAyIDQgMiA0LTIgNC0yIn1dLFsibGluZSIse3gxOiI5Iix4MjoiOS4wMSIseTE6IjkiLHkyOiI5In1dLFsibGluZSIse3gxOiIxNSIseDI6IjE1LjAxIix5MToiOSIseTI6IjkifV0sWyJwYXRoIix7ZDoiTTE2IDVoNiJ9XSxbInBhdGgiLHtkOiJNMTkgMnY2In1dXX0pO3ZhciBFQixLSGU9ZigoKT0+e0VCPVtbInJlY3QiLHt3aWR0aDoiMTQiLGhlaWdodDoiMjAiLHg6IjUiLHk6IjIiLHJ4OiIyIixyeToiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMThoLjAxIn1dXX0pO3ZhciBQQixaSGU9ZigoKT0+e1BCPVtbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxMCJ9XSxbInBhdGgiLHtkOiJNOCAxNHMxLjUgMiA0IDIgNC0yIDQtMiJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjkuMDEiLHkxOiI5Iix5MjoiOSJ9XSxbImxpbmUiLHt4MToiMTUiLHgyOiIxNS4wMSIseTE6IjkiLHkyOiI5In1dXX0pO3ZhciBJQixYSGU9ZigoKT0+e0lCPVtbInBhdGgiLHtkOiJNMiAxM2E2IDYgMCAxIDAgMTIgMCA0IDQgMCAxIDAtOCAwIDIgMiAwIDAgMCA0IDAifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiIxMyIscjoiOCJ9XSxbInBhdGgiLHtkOiJNMiAyMWgxMmM0LjQgMCA4LTMuNiA4LThWN2EyIDIgMCAxIDAtNCAwdjYifV0sWyJwYXRoIix7ZDoiTTE4IDMgMTkuMSA1LjIifV0sWyJwYXRoIix7ZDoiTTIyIDMgMjAuOSA1LjIifV1dfSk7dmFyIE5CLFFIZT1mKCgpPT57TkI9W1sicGF0aCIse2Q6Im0xMCAyMC0xLjI1LTIuNUw2IDE4In1dLFsicGF0aCIse2Q6Ik0xMCA0IDguNzUgNi41IDYgNiJ9XSxbInBhdGgiLHtkOiJtMTQgMjAgMS4yNS0yLjVMMTggMTgifV0sWyJwYXRoIix7ZDoibTE0IDQgMS4yNSAyLjVMMTggNiJ9XSxbInBhdGgiLHtkOiJtMTcgMjEtMy02aC00In1dLFsicGF0aCIse2Q6Im0xNyAzLTMgNiAxLjUgMyJ9XSxbInBhdGgiLHtkOiJNMiAxMmg2LjVMMTAgOSJ9XSxbInBhdGgiLHtkOiJtMjAgMTAtMS41IDIgMS41IDIifV0sWyJwYXRoIix7ZDoiTTIyIDEyaC02LjVMMTQgMTUifV0sWyJwYXRoIix7ZDoibTQgMTAgMS41IDJMNCAxNCJ9XSxbInBhdGgiLHtkOiJtNyAyMSAzLTYtMS41LTMifV0sWyJwYXRoIix7ZDoibTcgMyAzIDZoNCJ9XV19KTt2YXIgUkIsSkhlPWYoKCk9PntSQj1bWyJwYXRoIix7ZDoiTTEwLjUgMnY0In1dLFsicGF0aCIse2Q6Ik0xNCAySDdhMiAyIDAgMCAwLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTkuMjkgMTQuNzZBNi42NyA2LjY3IDAgMCAxIDE3IDExYTYuNiA2LjYgMCAwIDEtMi4yOSAzLjc2Yy0xLjE1LjkyLTEuNzEgMi4wNC0xLjcxIDMuMTkgMCAyLjIyIDEuOCA0LjA1IDQgNC4wNXM0LTEuODMgNC00LjA1YzAtMS4xNi0uNTctMi4yNi0xLjcxLTMuMTkifV0sWyJwYXRoIix7ZDoiTTkuNjA3IDIxSDZhMiAyIDAgMCAxLTItMnYtN2EyIDIgMCAwIDEgMi0yaDdWN2ExIDEgMCAwIDAtMS0xSDlhMSAxIDAgMCAwLTEgMXYzIn1dXX0pO3ZhciBPQixlcWU9ZigoKT0+e09CPVtbInBhdGgiLHtkOiJNMjAgOVY2YTIgMiAwIDAgMC0yLTJINmEyIDIgMCAwIDAtMiAydjMifV0sWyJwYXRoIix7ZDoiTTIgMTZhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi01YTIgMiAwIDAgMC00IDB2MS41YS41LjUgMCAwIDEtLjUuNWgtMTFhLjUuNSAwIDAgMS0uNS0uNVYxMWEyIDIgMCAwIDAtNCAweiJ9XSxbInBhdGgiLHtkOiJNNCAxOHYyIn1dLFsicGF0aCIse2Q6Ik0yMCAxOHYyIn1dLFsicGF0aCIse2Q6Ik0xMiA0djkifV1dfSk7dmFyIEZCLHRxZT1mKCgpPT57RkI9W1sicGF0aCIse2Q6Ik0xMSAyaDIifV0sWyJwYXRoIix7ZDoibTE0LjI4IDE0LTQuNTYgOCJ9XSxbInBhdGgiLHtkOiJtMjEgMjItMS41NTgtNEg0LjU1OCJ9XSxbInBhdGgiLHtkOiJNMyAxMHYyIn1dLFsicGF0aCIse2Q6Ik02LjI0NSAxNS4wNEEyIDIgMCAwIDEgOCAxNGgxMmExIDEgMCAwIDEgLjg2NCAxLjUwNWwtMy4xMSA1LjQ1N0EyIDIgMCAwIDEgMTYgMjJINGExIDEgMCAwIDEtLjg2My0xLjUwNnoifV0sWyJwYXRoIix7ZDoiTTcgMmE0IDQgMCAwIDEtNCA0In1dLFsicGF0aCIse2Q6Im04LjY2IDcuNjYgMS40MSAxLjQxIn1dXX0pO3ZhciBCQixhcWU9ZigoKT0+e0JCPVtbInBhdGgiLHtkOiJNMTIgMjFhOSA5IDAgMCAwIDktOUgzYTkgOSAwIDAgMCA5IDlaIn1dLFsicGF0aCIse2Q6Ik03IDIxaDEwIn1dLFsicGF0aCIse2Q6Ik0xOS41IDEyIDIyIDYifV0sWyJwYXRoIix7ZDoiTTE2LjI1IDNjLjI3LjEuOC41My43NSAxLjM2LS4wNi44My0uOTMgMS4yLTEgMi4wMi0uMDUuNzguMzQgMS4yNC43MyAxLjYyIn1dLFsicGF0aCIse2Q6Ik0xMS4yNSAzYy4yNy4xLjguNTMuNzQgMS4zNi0uMDUuODMtLjkzIDEuMi0uOTggMi4wMi0uMDYuNzguMzMgMS4yNC43MiAxLjYyIn1dLFsicGF0aCIse2Q6Ik02LjI1IDNjLjI3LjEuOC41My43NSAxLjM2LS4wNi44My0uOTMgMS4yLTEgMi4wMi0uMDUuNzguMzQgMS4yNC43NCAxLjYyIn1dXX0pO3ZhciBIQixycWU9ZigoKT0+e0hCPVtbInBhdGgiLHtkOiJNMjIgMTd2MWMwIC41LS41IDEtMSAxSDNjLS41IDAtMS0uNS0xLTF2LTEifV1dfSk7dmFyIHFCLHNxZT1mKCgpPT57cUI9W1sicGF0aCIse2Q6Ik0xMiAxOHY0In1dLFsicGF0aCIse2Q6Ik0yIDE0LjQ5OWE1LjUgNS41IDAgMCAwIDkuNTkxIDMuNjc1LjYuNiAwIDAgMSAuODE4LjAwMUE1LjUgNS41IDAgMCAwIDIyIDE0LjVjMC0yLjI5LTEuNS00LTMtNS41bC01LjQ5Mi01LjMxMmEyIDIgMCAwIDAtMy0uMDJMNSA4Ljk5OWMtMS41IDEuNS0zIDMuMi0zIDUuNSJ9XV19KTt2YXIgVkIsaXFlPWYoKCk9PntWQj1bWyJwYXRoIix7ZDoiTTExLjAxNyAyLjgxNGExIDEgMCAwIDEgMS45NjYgMGwxLjA1MSA1LjU1OGEyIDIgMCAwIDAgMS41OTQgMS41OTRsNS41NTggMS4wNTFhMSAxIDAgMCAxIDAgMS45NjZsLTUuNTU4IDEuMDUxYTIgMiAwIDAgMC0xLjU5NCAxLjU5NGwtMS4wNTEgNS41NThhMSAxIDAgMCAxLTEuOTY2IDBsLTEuMDUxLTUuNTU4YTIgMiAwIDAgMC0xLjU5NC0xLjU5NGwtNS41NTgtMS4wNTFhMSAxIDAgMCAxIDAtMS45NjZsNS41NTgtMS4wNTFhMiAyIDAgMCAwIDEuNTk0LTEuNTk0eiJ9XV19KTt2YXIgSnUsb3FlPWYoKCk9PntKdT1bWyJwYXRoIix7ZDoiTTExLjAxNyAyLjgxNGExIDEgMCAwIDEgMS45NjYgMGwxLjA1MSA1LjU1OGEyIDIgMCAwIDAgMS41OTQgMS41OTRsNS41NTggMS4wNTFhMSAxIDAgMCAxIDAgMS45NjZsLTUuNTU4IDEuMDUxYTIgMiAwIDAgMC0xLjU5NCAxLjU5NGwtMS4wNTEgNS41NThhMSAxIDAgMCAxLTEuOTY2IDBsLTEuMDUxLTUuNTU4YTIgMiAwIDAgMC0xLjU5NC0xLjU5NGwtNS41NTgtMS4wNTFhMSAxIDAgMCAxIDAtMS45NjZsNS41NTgtMS4wNTFhMiAyIDAgMCAwIDEuNTk0LTEuNTk0eiJ9XSxbInBhdGgiLHtkOiJNMjAgMnY0In1dLFsicGF0aCIse2Q6Ik0yMiA0aC00In1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiIyMCIscjoiMiJ9XV19KTt2YXIgakIsbnFlPWYoKCk9PntqQj1bWyJyZWN0Iix7d2lkdGg6IjE2IixoZWlnaHQ6IjIwIix4OiI0Iix5OiIyIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgNmguMDEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNCIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTRoLjAxIn1dXX0pO3ZhciBVQixscWU9ZigoKT0+e1VCPVtbInBhdGgiLHtkOiJNOC44IDIwdi00LjFsMS45LjJhMi4zIDIuMyAwIDAgMCAyLjE2NC0yLjFWOC4zQTUuMzcgNS4zNyAwIDAgMCAyIDguMjVjMCAyLjguNjU2IDMuMDU0IDEgNC41NWE1Ljc3IDUuNzcgMCAwIDEgLjAyOSAyLjc1OEwyIDIwIn1dLFsicGF0aCIse2Q6Ik0xOS44IDE3LjhhNy41IDcuNSAwIDAgMCAuMDAzLTEwLjYwMyJ9XSxbInBhdGgiLHtkOiJNMTcgMTVhMy41IDMuNSAwIDAgMC0uMDI1LTQuOTc1In1dXX0pO3ZhciBXQixjcWU9ZigoKT0+e1dCPVtbInBhdGgiLHtkOiJtNiAxNiA2LTEyIDYgMTIifV0sWyJwYXRoIix7ZDoiTTggMTJoOCJ9XSxbInBhdGgiLHtkOiJtMTYgMjAgMiAyIDQtNCJ9XV19KTt2YXIgR0IsZHFlPWYoKCk9PntHQj1bWyJwYXRoIix7ZDoibTYgMTYgNi0xMiA2IDEyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJwYXRoIix7ZDoiTTQgMjFjMS4xIDAgMS4xLTEgMi4zLTFzMS4xIDEgMi4zIDFjMS4xIDAgMS4xLTEgMi4zLTEgMS4xIDAgMS4xIDEgMi4zIDEgMS4xIDAgMS4xLTEgMi4zLTEgMS4xIDAgMS4xIDEgMi4zIDEgMS4xIDAgMS4xLTEgMi4zLTEifV1dfSk7dmFyIFlCLHVxZT1mKCgpPT57WUI9W1sicGF0aCIse2Q6Ik0xMi4wMzQgMTIuNjgxYS40OTguNDk4IDAgMCAxIC42NDctLjY0N2w5IDMuNWEuNS41IDAgMCAxLS4wMzMuOTQzbC0zLjQ0NCAxLjA2OGExIDEgMCAwIDAtLjY2LjY2bC0xLjA2NyAzLjQ0M2EuNS41IDAgMCAxLS45NDMuMDMzeiJ9XSxbInBhdGgiLHtkOiJNNSAxN0ExMiAxMiAwIDAgMSAxNyA1In1dLFsiY2lyY2xlIix7Y3g6IjE5IixjeToiNSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTkiLHI6IjIifV1dfSk7dmFyIEtCLHBxZT1mKCgpPT57S0I9W1siY2lyY2xlIix7Y3g6IjE5IixjeToiNSIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI1IixjeToiMTkiLHI6IjIifV0sWyJwYXRoIix7ZDoiTTUgMTdBMTIgMTIgMCAwIDEgMTcgNSJ9XV19KTt2YXIgWkIsZnFlPWYoKCk9PntaQj1bWyJwYXRoIix7ZDoiTTE2IDNoNXY1In1dLFsicGF0aCIse2Q6Ik04IDNIM3Y1In1dLFsicGF0aCIse2Q6Ik0xMiAyMnYtOC4zYTQgNCAwIDAgMC0xLjE3Mi0yLjg3MkwzIDMifV0sWyJwYXRoIix7ZDoibTE1IDkgNi02In1dXX0pO3ZhciBYQixocWU9ZigoKT0+e1hCPVtbInBhdGgiLHtkOiJNMTcgMTMuNDQgNC40NDIgMTcuMDgyQTIgMiAwIDAgMCA0Ljk4MiAyMUgxOWEyIDIgMCAwIDAgLjU1OC0zLjkyMWwtMS4xMTUtLjMyQTIgMiAwIDAgMSAxNyAxNC44MzdWNy42NiJ9XSxbInBhdGgiLHtkOiJtNyAxMC41NiAxMi41NTgtMy42NDJBMiAyIDAgMCAwIDE5LjAxOCAzSDVhMiAyIDAgMCAwLS41NTggMy45MjFsMS4xMTUuMzJBMiAyIDAgMCAxIDcgOS4xNjN2Ny4xNzgifV1dfSk7dmFyIFFCLG1xZT1mKCgpPT57UUI9W1sicGF0aCIse2Q6Im0xNSAxMC40MiA0LjgtNS4wNyJ9XSxbInBhdGgiLHtkOiJNMTkgMThoMyJ9XSxbInBhdGgiLHtkOiJNOS41IDIyIDIxLjQxNCA5LjQxNUEyIDIgMCAwIDAgMjEuMiA2LjRsLTUuNjEtNC4yMDhBMSAxIDAgMCAwIDE0IDN2MmEyIDIgMCAwIDEtMS4zOTQgMS45MDZMOC42NzcgOC4wNTNBMSAxIDAgMCAwIDggOWMtLjE1NSA2LjM5My0yLjA4MiA5LTQgOWEyIDIgMCAwIDAgMCA0aDE0In1dXX0pO3ZhciBKQixncWU9ZigoKT0+e0pCPVtbInBhdGgiLHtkOiJNMyAzaC4wMSJ9XSxbInBhdGgiLHtkOiJNNyA1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTEgN2guMDEifV0sWyJwYXRoIix7ZDoiTTMgN2guMDEifV0sWyJwYXRoIix7ZDoiTTcgOWguMDEifV0sWyJwYXRoIix7ZDoiTTMgMTFoLjAxIn1dLFsicmVjdCIse3dpZHRoOiI0IixoZWlnaHQ6IjQiLHg6IjE1Iix5OiI1In1dLFsicGF0aCIse2Q6Im0xOSA5IDIgMnYxMGMwIC42LS40IDEtMSAxaC02Yy0uNiAwLTEtLjQtMS0xVjExbDItMiJ9XSxbInBhdGgiLHtkOiJtMTMgMTQgOC0yIn1dLFsicGF0aCIse2Q6Im0xMyAxOSA4LTIifV1dfSk7dmFyIGVILGJxZT1mKCgpPT57ZUg9W1sicGF0aCIse2Q6Ik0xNCA5LjUzNlY3YTQgNCAwIDAgMSA0LTRoMS41YS41LjUgMCAwIDEgLjUuNVY1YTQgNCAwIDAgMS00IDQgNCA0IDAgMCAwLTQgNGMwIDIgMSAzIDEgNWE1IDUgMCAwIDEtMSAzIn1dLFsicGF0aCIse2Q6Ik00IDlhNSA1IDAgMCAxIDggNCA1IDUgMCAwIDEtOC00In1dLFsicGF0aCIse2Q6Ik01IDIxaDE0In1dXX0pO3ZhciB0SCx2cWU9ZigoKT0+e3RIPVtbInBhdGgiLHtkOiJNMTUuMjk1IDE5LjU2MiAxNiAyMiJ9XSxbInBhdGgiLHtkOiJtMTcgMTYgMy43NTggMi4wOTgifV0sWyJwYXRoIix7ZDoibTE5IDEyLjUgMy4wMjYtLjU5OCJ9XSxbInBhdGgiLHtkOiJNNy42MSA2LjNhMyAzIDAgMCAwLTMuOTIgMS4zbC0xLjM4IDIuNzlhMyAzIDAgMCAwIDEuMyAzLjkxbDYuODkgMy41OTdhMSAxIDAgMCAwIDEuMzQyLS40NDdsMy4xMDYtNi4yMTFhMSAxIDAgMCAwLS40NDctMS4zNDF6In1dLFsicGF0aCIse2Q6Ik04IDlWMiJ9XV19KTt2YXIgZXAseHFlPWYoKCk9PntlcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTcgMTJoLTJsLTIgNS0yLTEwLTIgNUg3In1dXX0pO3ZhciB0cCx5cWU9ZigoKT0+e3RwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xNiA4LTggOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTZIOFY4In1dXX0pO3ZhciBhcCx3cWU9ZigoKT0+e2FwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im04IDggOCA4In1dLFsicGF0aCIse2Q6Ik0xNiA4djhIOCJ9XV19KTt2YXIgcnAsTXFlPWYoKCk9PntycD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgOHY4In1dLFsicGF0aCIse2Q6Im04IDEyIDQgNCA0LTQifV1dfSk7dmFyIHNwLGtxZT1mKCgpPT57c3A9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoibTEyIDgtNCA0IDQgNCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJIOCJ9XV19KTt2YXIgaXAsU3FlPWYoKCk9PntpcD1bWyJwYXRoIix7ZDoiTTEzIDIxaDZhMiAyIDAgMCAwIDItMlY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjYifV0sWyJwYXRoIix7ZDoibTMgMjEgOS05In1dLFsicGF0aCIse2Q6Ik05IDIxSDN2LTYifV1dfSk7dmFyIG9wLHpxZT1mKCgpPT57b3A9W1sicGF0aCIse2Q6Ik0yMSAxMVY1YTIgMiAwIDAgMC0yLTJINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoNiJ9XSxbInBhdGgiLHtkOiJtMjEgMjEtOS05In1dLFsicGF0aCIse2Q6Ik0yMSAxNXY2aC02In1dXX0pO3ZhciBucCxDcWU9ZigoKT0+e25wPVtbInBhdGgiLHtkOiJNMTMgM2g2YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTYifV0sWyJwYXRoIix7ZDoibTMgMyA5IDkifV0sWyJwYXRoIix7ZDoiTTMgOVYzaDYifV1dfSk7dmFyIGxwLF9xZT1mKCgpPT57bHA9W1sicGF0aCIse2Q6Ik0yMSAxM3Y2YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg2In1dLFsicGF0aCIse2Q6Im0yMSAzLTkgOSJ9XSxbInBhdGgiLHtkOiJNMTUgM2g2djYifV1dfSk7dmFyIGFILFRxZT1mKCgpPT57YUg9W1sicGF0aCIse2Q6Im0xMCAxNiA0LTQtNC00In1dLFsicGF0aCIse2Q6Ik0zIDEyaDExIn1dLFsicGF0aCIse2Q6Ik0zIDhWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTMifV1dfSk7dmFyIHJILExxZT1mKCgpPT57ckg9W1sicGF0aCIse2Q6Ik0xMCAxMmgxMSJ9XSxbInBhdGgiLHtkOiJtMTcgMTYgNC00LTQtNCJ9XSxbInBhdGgiLHtkOiJNMjEgNi4zNDRWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ2LTEuMzQ0In1dXX0pO3ZhciBjcCwkcWU9ZigoKT0+e2NwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJwYXRoIix7ZDoibTEyIDE2IDQtNC00LTQifV1dfSk7dmFyIGRwLERxZT1mKCgpPT57ZHA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTggMTZWOGg4In1dLFsicGF0aCIse2Q6Ik0xNiAxNiA4IDgifV1dfSk7dmFyIHVwLEFxZT1mKCgpPT57dXA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTggOGg4djgifV0sWyJwYXRoIix7ZDoibTggMTYgOC04In1dXX0pO3ZhciBwcCxFcWU9ZigoKT0+e3BwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xNiAxMi00LTQtNCA0In1dLFsicGF0aCIse2Q6Ik0xMiAxNlY4In1dXX0pO3ZhciBmcCxQcWU9ZigoKT0+e2ZwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0xMiA4djgifV0sWyJwYXRoIix7ZDoibTguNSAxNCA3LTQifV0sWyJwYXRoIix7ZDoibTguNSAxMCA3IDQifV1dfSk7dmFyIGhwLElxZT1mKCgpPT57aHA9W1sibGluZSIse3gxOiI1Iix5MToiMyIseDI6IjE5Iix5MjoiMyJ9XSxbImxpbmUiLHt4MToiMyIseTE6IjUiLHgyOiIzIix5MjoiMTkifV0sWyJsaW5lIix7eDE6IjIxIix5MToiNSIseDI6IjIxIix5MjoiMTkifV0sWyJsaW5lIix7eDE6IjkiLHkxOiIyMSIseDI6IjEwIix5MjoiMjEifV0sWyJsaW5lIix7eDE6IjE0Iix5MToiMjEiLHgyOiIxNSIseTI6IjIxIn1dLFsicGF0aCIse2Q6Ik0gMyA1IEEyIDIgMCAwIDEgNSAzIn1dLFsicGF0aCIse2Q6Ik0gMTkgMyBBMiAyIDAgMCAxIDIxIDUifV0sWyJwYXRoIix7ZDoiTSA1IDIxIEEyIDIgMCAwIDEgMyAxOSJ9XSxbInBhdGgiLHtkOiJNIDIxIDE5IEEyIDIgMCAwIDEgMTkgMjEifV0sWyJjaXJjbGUiLHtjeDoiOC41IixjeToiOC41IixyOiIxLjUifV0sWyJsaW5lIix7eDE6IjkuNTYwNjYiLHkxOiI5LjU2MDY2Iix4MjoiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTciLHkxOiIxNyIseDI6IjE0LjgyIix5MjoiMTQuODIifV0sWyJjaXJjbGUiLHtjeDoiOC41IixjeToiMTUuNSIscjoiMS41In1dLFsibGluZSIse3gxOiI5LjU2MDY2Iix5MToiMTQuNDM5MzQiLHgyOiIxNyIseTI6IjcifV1dfSk7dmFyIG1wLE5xZT1mKCgpPT57bXA9W1sicGF0aCIse2Q6Ik04IDNINWEyIDIgMCAwIDAtMiAydjE0YzAgMS4xLjkgMiAyIDJoMyJ9XSxbInBhdGgiLHtkOiJNMTYgM2gzYTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLTIgMmgtMyJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTIgMTR2MiJ9XSxbInBhdGgiLHtkOiJNMTIgOHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAydjIifV1dfSk7dmFyIGdwLFJxZT1mKCgpPT57Z3A9W1sicGF0aCIse2Q6Ik0yMSA4VjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MyJ9XSxbInBhdGgiLHtkOiJNMjEgMTZ2M2EyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtMyJ9XSxbInBhdGgiLHtkOiJNNCAxMkgyIn1dLFsicGF0aCIse2Q6Ik0xMCAxMkg4In1dLFsicGF0aCIse2Q6Ik0xNiAxMmgtMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTJoLTIifV1dfSk7dmFyIGxjLE9xZT1mKCgpPT57bGM9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTkgOGg3In1dLFsicGF0aCIse2Q6Ik04IDEyaDYifV0sWyJwYXRoIix7ZDoiTTExIDE2aDUifV1dfSk7dmFyIGJwLEZxZT1mKCgpPT57YnA9W1sicGF0aCIse2Q6Ik0yMSAxMC42NTZWMTlhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDEyLjM0NCJ9XSxbInBhdGgiLHtkOiJtOSAxMSAzIDNMMjIgNCJ9XV19KTt2YXIgdnAsQnFlPWYoKCk9Pnt2cD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJtOSAxMiAyIDIgNC00In1dXX0pO3ZhciB4cCxIcWU9ZigoKT0+e3hwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xNiAxMC00IDQtNC00In1dXX0pO3ZhciB5cCxxcWU9ZigoKT0+e3lwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xNCAxNi00LTQgNC00In1dXX0pO3ZhciB3cCxWcWU9ZigoKT0+e3dwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xMCA4IDQgNC00IDQifV1dfSk7dmFyIE1wLGpxZT1mKCgpPT57TXA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoibTggMTQgNC00IDQgNCJ9XV19KTt2YXIga3AsVXFlPWYoKCk9PntrcD1bWyJwYXRoIix7ZDoibTEwIDktMyAzIDMgMyJ9XSxbInBhdGgiLHtkOiJtMTQgMTUgMy0zLTMtMyJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBzSCxXcWU9ZigoKT0+e3NIPVtbInBhdGgiLHtkOiJNMTAgOS41IDggMTJsMiAyLjUifV0sWyJwYXRoIix7ZDoiTTE0IDIxaDEifV0sWyJwYXRoIix7ZDoibTE0IDkuNSAyIDIuNS0yIDIuNSJ9XSxbInBhdGgiLHtkOiJNNSAyMWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmgxNGEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTkgMjFoMSJ9XV19KTt2YXIgaUgsR3FlPWYoKCk9PntpSD1bWyJwYXRoIix7ZDoiTTUgMjFhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik05IDIxaDEifV0sWyJwYXRoIix7ZDoiTTE0IDIxaDEifV1dfSk7dmFyIFNwLFlxZT1mKCgpPT57U3A9W1sicGF0aCIse2Q6Ik04IDd2NyJ9XSxbInBhdGgiLHtkOiJNMTIgN3Y0In1dLFsicGF0aCIse2Q6Ik0xNiA3djkifV0sWyJwYXRoIix7ZDoiTTUgM2EyIDIgMCAwIDAtMiAyIn1dLFsicGF0aCIse2Q6Ik05IDNoMSJ9XSxbInBhdGgiLHtkOiJNMTQgM2gxIn1dLFsicGF0aCIse2Q6Ik0xOSAzYTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTIxIDl2MSJ9XSxbInBhdGgiLHtkOiJNMjEgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMjEgMTlhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNMTQgMjFoMSJ9XSxbInBhdGgiLHtkOiJNOSAyMWgxIn1dLFsicGF0aCIse2Q6Ik01IDIxYTIgMiAwIDAgMS0yLTIifV0sWyJwYXRoIix7ZDoiTTMgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMyA5djEifV1dfSk7dmFyIHpwLEtxZT1mKCgpPT57enA9W1sicGF0aCIse2Q6Ik0xMi4wMzQgMTIuNjgxYS40OTguNDk4IDAgMCAxIC42NDctLjY0N2w5IDMuNWEuNS41IDAgMCAxLS4wMzMuOTQzbC0zLjQ0NCAxLjA2OGExIDEgMCAwIDAtLjY2LjY2bC0xLjA2NyAzLjQ0M2EuNS41IDAgMCAxLS45NDMuMDMzeiJ9XSxbInBhdGgiLHtkOiJNNSAzYTIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTE5IDNhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNNSAyMWEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik05IDNoMSJ9XSxbInBhdGgiLHtkOiJNOSAyMWgyIn1dLFsicGF0aCIse2Q6Ik0xNCAzaDEifV0sWyJwYXRoIix7ZDoiTTMgOXYxIn1dLFsicGF0aCIse2Q6Ik0yMSA5djIifV0sWyJwYXRoIix7ZDoiTTMgMTR2MSJ9XV19KTt2YXIgY2MsWnFlPWYoKCk9PntjYz1bWyJwYXRoIix7ZDoiTTE0IDIxaDEifV0sWyJwYXRoIix7ZDoiTTE0IDNoMSJ9XSxbInBhdGgiLHtkOiJNMTkgM2EyIDIgMCAwIDEgMiAyIn1dLFsicGF0aCIse2Q6Ik0yMSAxNHYxIn1dLFsicGF0aCIse2Q6Ik0yMSAxOWEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik0yMSA5djEifV0sWyJwYXRoIix7ZDoiTTMgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMyA5djEifV0sWyJwYXRoIix7ZDoiTTUgMjFhMiAyIDAgMCAxLTItMiJ9XSxbInBhdGgiLHtkOiJNNSAzYTIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTcgMTJoMTAifV0sWyJwYXRoIix7ZDoiTTcgMTZoNiJ9XSxbInBhdGgiLHtkOiJNNyA4aDgifV0sWyJwYXRoIix7ZDoiTTkgMjFoMSJ9XSxbInBhdGgiLHtkOiJNOSAzaDEifV1dfSk7dmFyIG9ILFhxZT1mKCgpPT57b0g9W1sicGF0aCIse2Q6Ik0xNCAyMWgxIn1dLFsicGF0aCIse2Q6Ik0yMSAxNHYxIn1dLFsicGF0aCIse2Q6Ik0yMSAxOWEyIDIgMCAwIDEtMiAyIn1dLFsicGF0aCIse2Q6Ik0yMSA5djEifV0sWyJwYXRoIix7ZDoiTTMgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMyA1YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMyA5djEifV0sWyJwYXRoIix7ZDoiTTUgMjFhMiAyIDAgMCAxLTItMiJ9XSxbInBhdGgiLHtkOiJNOSAyMWgxIn1dXX0pO3ZhciBDcCxRcWU9ZigoKT0+e0NwPVtbInBhdGgiLHtkOiJNNSAzYTIgMiAwIDAgMC0yIDIifV0sWyJwYXRoIix7ZDoiTTE5IDNhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMjEgMTlhMiAyIDAgMCAxLTIgMiJ9XSxbInBhdGgiLHtkOiJNNSAyMWEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik05IDNoMSJ9XSxbInBhdGgiLHtkOiJNOSAyMWgxIn1dLFsicGF0aCIse2Q6Ik0xNCAzaDEifV0sWyJwYXRoIix7ZDoiTTE0IDIxaDEifV0sWyJwYXRoIix7ZDoiTTMgOXYxIn1dLFsicGF0aCIse2Q6Ik0yMSA5djEifV0sWyJwYXRoIix7ZDoiTTMgMTR2MSJ9XSxbInBhdGgiLHtkOiJNMjEgMTR2MSJ9XV19KTt2YXIgX3AsSnFlPWYoKCk9PntfcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIxIn1dXX0pO3ZhciBUcCxlVmU9ZigoKT0+e1RwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIixyeToiMiJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE2Iix5MToiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMiIseTE6IjE2Iix5MjoiMTYifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiI4Iix5MjoiOCJ9XV19KTt2YXIgTHAsdFZlPWYoKCk9PntMcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNNyAxMGgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNGgxMCJ9XV19KTt2YXIgJHAsYVZlPWYoKCk9PnskcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV0sWyJwYXRoIix7ZDoiTTkgMTdjMiAwIDIuOC0xIDIuOC0yLjhWMTBjMC0yIDEtMy4zIDMuMi0zIn1dLFsicGF0aCIse2Q6Ik05IDExLjJoNS43In1dXX0pO3ZhciBEcCxyVmU9ZigoKT0+e0RwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDd2MTAifV0sWyJwYXRoIix7ZDoiTTExIDd2MTAifV0sWyJwYXRoIix7ZDoibTE1IDcgMiAxMCJ9XV19KTt2YXIgQXAsc1ZlPWYoKCk9PntBcD1bWyJwYXRoIix7ZDoiTTggMTZWOC41YS41LjUgMCAwIDEgLjktLjNsMi43IDMuNTk5YS41LjUgMCAwIDAgLjggMGwyLjctMy42YS41LjUgMCAwIDEgLjkuM1YxNiJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBFcCxpVmU9ZigoKT0+e0VwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik04IDd2NyJ9XSxbInBhdGgiLHtkOiJNMTIgN3Y0In1dLFsicGF0aCIse2Q6Ik0xNiA3djkifV1dfSk7dmFyIFBwLG9WZT1mKCgpPT57UHA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTcgOGgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxMmgxMCJ9XSxbInBhdGgiLHtkOiJNNyAxNmgxMCJ9XV19KTt2YXIgSXAsblZlPWYoKCk9PntJcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOCAxMmg4In1dXX0pO3ZhciBOcCxsVmU9ZigoKT0+e05wPVtbInBhdGgiLHtkOiJNMTIuMDM0IDEyLjY4MWEuNDk4LjQ5OCAwIDAgMSAuNjQ3LS42NDdsOSAzLjVhLjUuNSAwIDAgMS0uMDMzLjk0M2wtMy40NDQgMS4wNjhhMSAxIDAgMCAwLS42Ni42NmwtMS4wNjcgMy40NDNhLjUuNSAwIDAgMS0uOTQzLjAzM3oifV0sWyJwYXRoIix7ZDoiTTIxIDExVjVhMiAyIDAgMCAwLTItMkg1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmg2In1dXX0pO3ZhciBScCxjVmU9ZigoKT0+e1JwPVtbInBhdGgiLHtkOiJNMy42IDMuNkEyIDIgMCAwIDEgNSAzaDE0YTIgMiAwIDAgMSAyIDJ2MTRhMiAyIDAgMCAxLS41OSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0zIDguN1YxOWEyIDIgMCAwIDAgMiAyaDEwLjMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMTMgMTNhMyAzIDAgMSAwIDAtNkg5djIifV0sWyJwYXRoIix7ZDoiTTkgMTd2LTIuMyJ9XV19KTt2YXIgT3AsZFZlPWYoKCk9PntPcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSAxN1Y3aDRhMyAzIDAgMCAxIDAgNkg5In1dXX0pO3ZhciB6MSx1VmU9ZigoKT0+e3oxPVtbInBhdGgiLHtkOiJNMTIgM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi03In1dLFsicGF0aCIse2Q6Ik0xOC4zNzUgMi42MjVhMSAxIDAgMCAxIDMgM2wtOS4wMTMgOS4wMTRhMiAyIDAgMCAxLS44NTMuNTA1bC0yLjg3My44NGEuNS41IDAgMCAxLS42Mi0uNjJsLjg0LTIuODczYTIgMiAwIDAgMSAuNTA2LS44NTJ6In1dXX0pO3ZhciBGcCxwVmU9ZigoKT0+e0ZwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Im0xNSA5LTYgNiJ9XSxbInBhdGgiLHtkOiJNOSA5aC4wMSJ9XSxbInBhdGgiLHtkOiJNMTUgMTVoLjAxIn1dXX0pO3ZhciBuSCxmVmU9ZigoKT0+e25IPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsibGluZSIse3gxOiIxMCIseDI6IjEwIix5MToiMTUiLHkyOiI5In1dLFsibGluZSIse3gxOiIxNCIseDI6IjE0Iix5MToiMTUiLHkyOiI5In1dXX0pO3ZhciBCcCxoVmU9ZigoKT0+e0JwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDdoMTAifV0sWyJwYXRoIix7ZDoiTTEwIDd2MTAifV0sWyJwYXRoIix7ZDoiTTE2IDE3YTIgMiAwIDAgMS0yLTJWNyJ9XV19KTt2YXIgSHAsbVZlPWYoKCk9PntIcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMTIgMTJIOS41YTIuNSAyLjUgMCAwIDEgMC01SDE3In1dLFsicGF0aCIse2Q6Ik0xMiA3djEwIn1dLFsicGF0aCIse2Q6Ik0xNiA3djEwIn1dXX0pO3ZhciBxcCxnVmU9ZigoKT0+e3FwPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJwYXRoIix7ZDoiTTEyIDh2OCJ9XV19KTt2YXIgVnAsYlZlPWYoKCk9PntWcD1bWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNOSA5LjAwM2ExIDEgMCAwIDEgMS41MTctLjg1OWw0Ljk5NyAyLjk5N2ExIDEgMCAwIDEgMCAxLjcxOGwtNC45OTcgMi45OTdBMSAxIDAgMCAxIDkgMTQuOTk2eiJ9XV19KTt2YXIganAsdlZlPWYoKCk9PntqcD1bWyJwYXRoIix7ZDoiTTEyIDd2NCJ9XSxbInBhdGgiLHtkOiJNNy45OTggOS4wMDNhNSA1IDAgMSAwIDgtLjAwNSJ9XSxbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dXX0pO3ZhciBsSCx4VmU9ZigoKT0+e2xIPVtbInBhdGgiLHtkOiJNNyAxMmgybDIgNSAyLTEwaDQifV0sWyJyZWN0Iix7eDoiMyIseToiMyIsd2lkdGg6IjE4IixoZWlnaHQ6IjE4IixyeDoiMiJ9XV19KTt2YXIgY0gseVZlPWYoKCk9PntjSD1bWyJwYXRoIix7ZDoiTTIxIDExYTggOCAwIDAgMC04LTgifV0sWyJwYXRoIix7ZDoiTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDQifV1dfSk7dmFyIFVwLHdWZT1mKCgpPT57VXA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTE2IDguOVY3SDhsNCA1LTQgNWg4di0xLjkifV1dfSk7dmFyIFdwLE1WZT1mKCgpPT57V3A9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJjaXJjbGUiLHtjeDoiOC41IixjeToiOC41IixyOiIxLjUifV0sWyJsaW5lIix7eDE6IjkuNTYwNjYiLHkxOiI5LjU2MDY2Iix4MjoiMTIiLHkyOiIxMiJ9XSxbImxpbmUiLHt4MToiMTciLHkxOiIxNyIseDI6IjE0LjgyIix5MjoiMTQuODIifV0sWyJjaXJjbGUiLHtjeDoiOC41IixjeToiMTUuNSIscjoiMS41In1dLFsibGluZSIse3gxOiI5LjU2MDY2Iix5MToiMTQuNDM5MzQiLHgyOiIxNyIseTI6IjcifV1dfSk7dmFyIEdwLGtWZT1mKCgpPT57R3A9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJsaW5lIix7eDE6IjkiLHgyOiIxNSIseTE6IjE1Iix5MjoiOSJ9XV19KTt2YXIgWXAsU1ZlPWYoKCk9PntZcD1bWyJwYXRoIix7ZDoiTTggMTlINWMtMSAwLTItMS0yLTJWN2MwLTEgMS0yIDItMmgzIn1dLFsicGF0aCIse2Q6Ik0xNiA1aDNjMSAwIDIgMSAyIDJ2MTBjMCAxLTEgMi0yIDJoLTMifV0sWyJsaW5lIix7eDE6IjEyIix4MjoiMTIiLHkxOiI0Iix5MjoiMjAifV1dfSk7dmFyIEtwLHpWZT1mKCgpPT57S3A9W1sicGF0aCIse2Q6Ik01IDhWNWMwLTEgMS0yIDItMmgxMGMxIDAgMiAxIDIgMnYzIn1dLFsicGF0aCIse2Q6Ik0xOSAxNnYzYzAgMS0xIDItMiAySDdjLTEgMC0yLTEtMi0ydi0zIn1dLFsibGluZSIse3gxOiI0Iix4MjoiMjAiLHkxOiIxMiIseTI6IjEyIn1dXX0pO3ZhciBkSCxDVmU9ZigoKT0+e2RIPVtbInJlY3QiLHt4OiIzIix5OiIzIix3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHJ4OiIyIn1dLFsicmVjdCIse3g6IjgiLHk6IjgiLHdpZHRoOiI4IixoZWlnaHQ6IjgiLHJ4OiIxIn1dXX0pO3ZhciB1SCxfVmU9ZigoKT0+e3VIPVtbInBhdGgiLHtkOiJNNCAxMGMtMS4xIDAtMi0uOS0yLTJWNGMwLTEuMS45LTIgMi0yaDRjMS4xIDAgMiAuOSAyIDIifV0sWyJwYXRoIix7ZDoiTTEwIDE2Yy0xLjEgMC0yLS45LTItMnYtNGMwLTEuMS45LTIgMi0yaDRjMS4xIDAgMiAuOSAyIDIifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiOCIseDoiMTQiLHk6IjE0IixyeDoiMiJ9XV19KTt2YXIgcEgsVFZlPWYoKCk9PntwSD1bWyJwYXRoIix7ZDoiTTExLjAzNSA3LjY5YTEgMSAwIDAgMSAxLjkwOS4wMjRsLjczNyAxLjQ1MmExIDEgMCAwIDAgLjczNy41MzVsMS42MzQuMjU2YTEgMSAwIDAgMSAuNTg4IDEuODA2bC0xLjE3MiAxLjE2OGExIDEgMCAwIDAtLjI4Mi44NjZsLjI1OSAxLjYxM2ExIDEgMCAwIDEtMS41NDEgMS4xMzRsLTEuNDY1LS43NWExIDEgMCAwIDAtLjkxMiAwbC0xLjQ2NS43NWExIDEgMCAwIDEtMS41MzktMS4xMzNsLjI1OC0xLjYxM2ExIDEgMCAwIDAtLjI4Mi0uODY2bC0xLjE1Ni0xLjE1M2ExIDEgMCAwIDEgLjU3Mi0xLjgyMmwxLjYzMy0uMjU2YTEgMSAwIDAgMCAuNzM3LS41MzV6In1dLFsicmVjdCIse3g6IjMiLHk6IjMiLHdpZHRoOiIxOCIsaGVpZ2h0OiIxOCIscng6IjIifV1dfSk7dmFyIGZILExWZT1mKCgpPT57Zkg9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJyZWN0Iix7eDoiOSIseToiOSIsd2lkdGg6IjYiLGhlaWdodDoiNiIscng6IjEifV1dfSk7dmFyIFpwLCRWZT1mKCgpPT57WnA9W1sicGF0aCIse2Q6Im03IDExIDItMi0yLTIifV0sWyJwYXRoIix7ZDoiTTExIDEzaDQifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiIscnk6IjIifV1dfSk7dmFyIFhwLERWZT1mKCgpPT57WHA9W1sicGF0aCIse2Q6Ik0xOCAyMWE2IDYgMCAwIDAtMTIgMCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjExIixyOiI0In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV1dfSk7dmFyIFFwLEFWZT1mKCgpPT57UXA9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIiLHJ5OiIyIn1dLFsicGF0aCIse2Q6Im0xNSA5LTYgNiJ9XSxbInBhdGgiLHtkOiJtOSA5IDYgNiJ9XV19KTt2YXIgSnAsRVZlPWYoKCk9PntKcD1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Ik03IDIxdi0yYTIgMiAwIDAgMSAyLTJoNmEyIDIgMCAwIDEgMiAydjIifV1dfSk7dmFyIGhILFBWZT1mKCgpPT57aEg9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV1dfSk7dmFyIG1ILElWZT1mKCgpPT57bUg9W1sicGF0aCIse2Q6Ik0xNiAxMnYyYTIgMiAwIDAgMS0yIDJIOWExIDEgMCAwIDAtMSAxdjNhMiAyIDAgMCAwIDIgMmgxMGEyIDIgMCAwIDAgMi0yVjEwYTIgMiAwIDAgMC0yLTJoMCJ9XSxbInBhdGgiLHtkOiJNNCAxNmEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmgxMGEyIDIgMCAwIDEgMiAydjNhMSAxIDAgMCAxLTEgMWgtNWEyIDIgMCAwIDAtMiAydjIifV1dfSk7dmFyIGdILE5WZT1mKCgpPT57Z0g9W1sicGF0aCIse2Q6Ik0xMCAyMmEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik0xNCAyYTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTE2IDIyaC0yIn1dLFsicGF0aCIse2Q6Ik0yIDEwVjgifV0sWyJwYXRoIix7ZDoiTTIgNGEyIDIgMCAwIDEgMi0yIn1dLFsicGF0aCIse2Q6Ik0yMCA4YTIgMiAwIDAgMSAyIDIifV0sWyJwYXRoIix7ZDoiTTIyIDE0djIifV0sWyJwYXRoIix7ZDoiTTIyIDIwYTIgMiAwIDAgMS0yIDIifV0sWyJwYXRoIix7ZDoiTTQgMTZhMiAyIDAgMCAxLTItMiJ9XSxbInBhdGgiLHtkOiJNOCAxMGEyIDIgMCAwIDEgMi0yaDVhMSAxIDAgMCAxIDEgMXY1YTIgMiAwIDAgMS0yIDJIOWExIDEgMCAwIDEtMS0xeiJ9XSxbInBhdGgiLHtkOiJNOCAyaDIifV1dfSk7dmFyIGJILFJWZT1mKCgpPT57Ykg9W1sicGF0aCIse2Q6Ik0xMCAyMmEyIDIgMCAwIDEtMi0yIn1dLFsicGF0aCIse2Q6Ik0xNiAyMmgtMiJ9XSxbInBhdGgiLHtkOiJNMTYgNGEyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMnYxMGEyIDIgMCAwIDAgMiAyaDNhMSAxIDAgMCAwIDEtMXYtNWEyIDIgMCAwIDEgMi0yaDVhMSAxIDAgMCAwIDEtMXoifV0sWyJwYXRoIix7ZDoiTTIwIDhhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMjIgMTR2MiJ9XSxbInBhdGgiLHtkOiJNMjIgMjBhMiAyIDAgMCAxLTIgMiJ9XV19KTt2YXIgdkgsT1ZlPWYoKCk9Pnt2SD1bWyJwYXRoIix7ZDoiTTQgMTZhMiAyIDAgMCAxLTItMlY0YTIgMiAwIDAgMSAyLTJoMTBhMiAyIDAgMCAxIDIgMnYzYTEgMSAwIDAgMCAxIDFoM2EyIDIgMCAwIDEgMiAydjEwYTIgMiAwIDAgMS0yIDJIMTBhMiAyIDAgMCAxLTItMnYtM2ExIDEgMCAwIDAtMS0xeiJ9XV19KTt2YXIgeEgsRlZlPWYoKCk9Pnt4SD1bWyJwYXRoIix7ZDoiTTEzLjc3IDMuMDQzYTM0IDM0IDAgMCAwLTMuNTQgMCJ9XSxbInBhdGgiLHtkOiJNMTMuNzcxIDIwLjk1NmEzMyAzMyAwIDAgMS0zLjU0MS4wMDEifV0sWyJwYXRoIix7ZDoiTTIwLjE4IDE3Ljc0Yy0uNTEgMS4xNS0xLjI5IDEuOTMtMi40MzkgMi40NCJ9XSxbInBhdGgiLHtkOiJNMjAuMTggNi4yNTljLS41MS0xLjE0OC0xLjI5MS0xLjkyOS0yLjQ0LTIuNDM4In1dLFsicGF0aCIse2Q6Ik0yMC45NTcgMTAuMjNhMzMgMzMgMCAwIDEgMCAzLjU0In1dLFsicGF0aCIse2Q6Ik0zLjA0MyAxMC4yM2EzNCAzNCAwIDAgMCAuMDAxIDMuNTQxIn1dLFsicGF0aCIse2Q6Ik02LjI2IDIwLjE3OWMtMS4xNS0uNTA4LTEuOTMtMS4yOS0yLjQ0LTIuNDM4In1dLFsicGF0aCIse2Q6Ik02LjI2IDMuODJjLTEuMTQ5LjUxLTEuOTMgMS4yOTEtMi40NCAyLjQ0In1dXX0pO3ZhciB5SCxCVmU9ZigoKT0+e3lIPVtbInBhdGgiLHtkOiJNMTIgM2M3LjIgMCA5IDEuOCA5IDlzLTEuOCA5LTkgOS05LTEuOC05LTkgMS44LTkgOS05In1dXX0pO3ZhciB3SCxIVmU9ZigoKT0+e3dIPVtbInBhdGgiLHtkOiJNMTUuMjM2IDIyYTMgMyAwIDAgMC0yLjItNSJ9XSxbInBhdGgiLHtkOiJNMTYgMjBhMyAzIDAgMCAxIDMtM2gxYTIgMiAwIDAgMCAyLTJ2LTJhNCA0IDAgMCAwLTQtNFY0In1dLFsicGF0aCIse2Q6Ik0xOCAxM2guMDEifV0sWyJwYXRoIix7ZDoiTTE4IDZhNCA0IDAgMCAwLTQgNCA3IDcgMCAwIDAtNyA3YzAtNSA0LTUgNC0xMC41YTQuNSA0LjUgMCAxIDAtOSAwIDIuNSAyLjUgMCAwIDAgNSAwQzcgMTAgMyAxMSAzIDE3YzAgMi44IDIuMiA1IDUgNWgxMCJ9XV19KTt2YXIgTUgscVZlPWYoKCk9PntNSD1bWyJwYXRoIix7ZDoiTTE0IDEzVjguNUMxNCA3IDE1IDcgMTUgNWEzIDMgMCAwIDAtNiAwYzAgMiAxIDIgMSAzLjVWMTMifV0sWyJwYXRoIix7ZDoiTTIwIDE1LjVhMi41IDIuNSAwIDAgMC0yLjUtMi41aC0xMUEyLjUgMi41IDAgMCAwIDQgMTUuNVYxN2ExIDEgMCAwIDAgMSAxaDE0YTEgMSAwIDAgMCAxLTF6In1dLFsicGF0aCIse2Q6Ik01IDIyaDE0In1dXX0pO3ZhciBrSCxWVmU9ZigoKT0+e2tIPVtbInBhdGgiLHtkOiJNMTIgMTguMzM4YTIuMSAyLjEgMCAwIDAtLjk4Ny4yNDRMNi4zOTYgMjEuMDFhLjUzLjUzIDAgMCAxLS43Ny0uNTZsLjg4MS01LjEzOWEyLjEyIDIuMTIgMCAwIDAtLjYxMS0xLjg3OUwyLjE2IDkuNzk1YS41My41MyAwIDAgMSAuMjk0LS45MDZsNS4xNjUtLjc1NWEyLjEyIDIuMTIgMCAwIDAgMS41OTctMS4xNmwyLjMwOS00LjY3OUEuNTMuNTMgMCAwIDEgMTIgMiJ9XV19KTt2YXIgU0gsalZlPWYoKCk9PntTSD1bWyJwYXRoIix7ZDoibTEwLjM0NCA0LjY4OCAxLjE4MS0yLjM5M2EuNTMuNTMgMCAwIDEgLjk1IDBsMi4zMSA0LjY3OWEyLjEyIDIuMTIgMCAwIDAgMS41OTUgMS4xNmw1LjE2Ni43NTZhLjUzLjUzIDAgMCAxIC4yOTQuOTA0bC0zLjIzNyAzLjE1MiJ9XSxbInBhdGgiLHtkOiJtMTcuOTQ1IDE3Ljk0NS40MyAyLjUwNWEuNTMuNTMgMCAwIDEtLjc3MS41NmwtNC42MTgtMi40MjhhMi4xMiAyLjEyIDAgMCAwLTEuOTczIDBMNi4zOTYgMjEuMDFhLjUzLjUzIDAgMCAxLS43Ny0uNTZsLjg4MS01LjEzOWEyLjEyIDIuMTIgMCAwIDAtLjYxMS0xLjg3OUwyLjE2IDkuNzk1YS41My41MyAwIDAgMSAuMjk0LS45MDZsNS4xNjUtLjc1NWE4IDggMCAwIDAgLjQtLjA5OSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dXX0pO3ZhciB6SCxVVmU9ZigoKT0+e3pIPVtbInBhdGgiLHtkOiJNMTEuNTI1IDIuMjk1YS41My41MyAwIDAgMSAuOTUgMGwyLjMxIDQuNjc5YTIuMTIzIDIuMTIzIDAgMCAwIDEuNTk1IDEuMTZsNS4xNjYuNzU2YS41My41MyAwIDAgMSAuMjk0LjkwNGwtMy43MzYgMy42MzhhMi4xMjMgMi4xMjMgMCAwIDAtLjYxMSAxLjg3OGwuODgyIDUuMTRhLjUzLjUzIDAgMCAxLS43NzEuNTZsLTQuNjE4LTIuNDI4YTIuMTIyIDIuMTIyIDAgMCAwLTEuOTczIDBMNi4zOTYgMjEuMDFhLjUzLjUzIDAgMCAxLS43Ny0uNTZsLjg4MS01LjEzOWEyLjEyMiAyLjEyMiAwIDAgMC0uNjExLTEuODc5TDIuMTYgOS43OTVhLjUzLjUzIDAgMCAxIC4yOTQtLjkwNmw1LjE2NS0uNzU1YTIuMTIyIDIuMTIyIDAgMCAwIDEuNTk3LTEuMTZ6In1dXX0pO3ZhciBDSCxXVmU9ZigoKT0+e0NIPVtbInBhdGgiLHtkOiJNMTMuOTcxIDQuMjg1QTIgMiAwIDAgMSAxNyA2djEyYTIgMiAwIDAgMS0zLjAyOSAxLjcxNWwtOS45OTctNS45OThhMiAyIDAgMCAxLS4wMDMtMy40MzJ6In1dLFsicGF0aCIse2Q6Ik0yMSAyMFY0In1dXX0pO3ZhciBfSCxHVmU9ZigoKT0+e19IPVtbInBhdGgiLHtkOiJNMTAuMDI5IDQuMjg1QTIgMiAwIDAgMCA3IDZ2MTJhMiAyIDAgMCAwIDMuMDI5IDEuNzE1bDkuOTk3LTUuOTk4YTIgMiAwIDAgMCAuMDAzLTMuNDMyeiJ9XSxbInBhdGgiLHtkOiJNMyA0djE2In1dXX0pO3ZhciBUSCxZVmU9ZigoKT0+e1RIPVtbInBhdGgiLHtkOiJNMjEgOWEyLjQgMi40IDAgMCAwLS43MDYtMS43MDZsLTMuNTg4LTMuNTg4QTIuNCAyLjQgMCAwIDAgMTUgM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0yeiJ9XSxbInBhdGgiLHtkOiJNMTUgM3Y1YTEgMSAwIDAgMCAxIDFoNSJ9XSxbInBhdGgiLHtkOiJNOCAxM2guMDEifV0sWyJwYXRoIix7ZDoiTTE2IDEzaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTAgMTZzLjggMSAyIDFjMS4zIDAgMi0xIDItMSJ9XV19KTt2YXIgTEgsS1ZlPWYoKCk9PntMSD1bWyJwYXRoIix7ZDoiTTExIDJ2MiJ9XSxbInBhdGgiLHtkOiJNNSAydjIifV0sWyJwYXRoIix7ZDoiTTUgM0g0YTIgMiAwIDAgMC0yIDJ2NGE2IDYgMCAwIDAgMTIgMFY1YTIgMiAwIDAgMC0yLTJoLTEifV0sWyJwYXRoIix7ZDoiTTggMTVhNiA2IDAgMCAwIDEyIDB2LTMifV0sWyJjaXJjbGUiLHtjeDoiMjAiLGN5OiIxMCIscjoiMiJ9XV19KTt2YXIgJEgsWlZlPWYoKCk9PnskSD1bWyJwYXRoIix7ZDoiTTIxIDlhMi40IDIuNCAwIDAgMC0uNzA2LTEuNzA2bC0zLjU4OC0zLjU4OEEyLjQgMi40IDAgMCAwIDE1IDNINWEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMTRhMiAyIDAgMCAwIDItMnoifV0sWyJwYXRoIix7ZDoiTTE1IDN2NWExIDEgMCAwIDAgMSAxaDUifV1dfSk7dmFyIERILFhWZT1mKCgpPT57REg9W1sicGF0aCIse2Q6Ik0xNSAyMXYtNWExIDEgMCAwIDAtMS0xaC00YTEgMSAwIDAgMC0xIDF2NSJ9XSxbInBhdGgiLHtkOiJNMTcuNzc0IDEwLjMxYTEuMTIgMS4xMiAwIDAgMC0xLjU0OSAwIDIuNSAyLjUgMCAwIDEtMy40NTEgMCAxLjEyIDEuMTIgMCAwIDAtMS41NDggMCAyLjUgMi41IDAgMCAxLTMuNDUyIDAgMS4xMiAxLjEyIDAgMCAwLTEuNTQ5IDAgMi41IDIuNSAwIDAgMS0zLjc3LTMuMjQ4bDIuODg5LTQuMTg0QTIgMiAwIDAgMSA3IDJoMTBhMiAyIDAgMCAxIDEuNjUzLjg3M2wyLjg5NSA0LjE5MmEyLjUgMi41IDAgMCAxLTMuNzc0IDMuMjQ0In1dLFsicGF0aCIse2Q6Ik00IDEwLjk1VjE5YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMnYtOC4wNSJ9XV19KTt2YXIgQUgsUVZlPWYoKCk9PntBSD1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjYiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiI2Iix4OiIyIix5OiIxNCIscng6IjIifV1dfSk7dmFyIEVILEpWZT1mKCgpPT57RUg9W1sicGF0aCIse2Q6Ik0xMS4yNjQgMi4yMDVBNCA0IDAgMCAwIDYuNDIgNC4yMTFsLTQgOGE0IDQgMCAwIDAgMS4zNTkgNS4xMTdsNiA0YTQgNCAwIDAgMCA0LjQzOCAwbDYtNGE0IDQgMCAwIDAgMS41NzYtNC41OTJsLTItNmE0IDQgMCAwIDAtMi41My0yLjUzeiJ9XSxbInBhdGgiLHtkOiJNMTEuOTkgMjIgMTQgMTJsNy44MjIgMy4xODQifV0sWyJwYXRoIix7ZDoiTTE0IDEyIDguNDcgMi4zMDIifV1dfSk7dmFyIFBILGVqZT1mKCgpPT57UEg9W1sicmVjdCIse3dpZHRoOiI2IixoZWlnaHQ6IjIwIix4OiI0Iix5OiIyIixyeDoiMiJ9XSxbInJlY3QiLHt3aWR0aDoiNiIsaGVpZ2h0OiIyMCIseDoiMTQiLHk6IjIiLHJ4OiIyIn1dXX0pO3ZhciBJSCx0amU9ZigoKT0+e0lIPVtbInBhdGgiLHtkOiJNMTYgNEg5YTMgMyAwIDAgMC0yLjgzIDQifV0sWyJwYXRoIix7ZDoiTTE0IDEyYTQgNCAwIDAgMSAwIDhINiJ9XSxbImxpbmUiLHt4MToiNCIseDI6IjIwIix5MToiMTIiLHkyOiIxMiJ9XV19KTt2YXIgTkgsYWplPWYoKCk9PntOSD1bWyJwYXRoIix7ZDoibTQgNSA4IDgifV0sWyJwYXRoIix7ZDoibTEyIDUtOCA4In1dLFsicGF0aCIse2Q6Ik0yMCAxOWgtNGMwLTEuNS40NC0yIDEuNS0yLjVTMjAgMTUuMzMgMjAgMTRjMC0uNDctLjE3LS45My0uNDgtMS4yOWEyLjExIDIuMTEgMCAwIDAtMi42Mi0uNDRjLS40Mi4yNC0uNzQuNjItLjkgMS4wNyJ9XV19KTt2YXIgUkgscmplPWYoKCk9PntSSD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTIgNGguMDEifV0sWyJwYXRoIix7ZDoiTTIwIDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik00IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcuNjU3IDYuMzQzaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTcuNjU3IDE3LjY1N2guMDEifV0sWyJwYXRoIix7ZDoiTTYuMzQzIDE3LjY1N2guMDEifV0sWyJwYXRoIix7ZDoiTTYuMzQzIDYuMzQzaC4wMSJ9XV19KTt2YXIgT0gsc2plPWYoKCk9PntPSD1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTIgM3YxIn1dLFsicGF0aCIse2Q6Ik0xMiAyMHYxIn1dLFsicGF0aCIse2Q6Ik0zIDEyaDEifV0sWyJwYXRoIix7ZDoiTTIwIDEyaDEifV0sWyJwYXRoIix7ZDoibTE4LjM2NCA1LjYzNi0uNzA3LjcwNyJ9XSxbInBhdGgiLHtkOiJtNi4zNDMgMTcuNjU3LS43MDcuNzA3In1dLFsicGF0aCIse2Q6Im01LjYzNiA1LjYzNi43MDcuNzA3In1dLFsicGF0aCIse2Q6Im0xNy42NTcgMTcuNjU3LjcwNy43MDcifV1dfSk7dmFyIEZILGlqZT1mKCgpPT57Rkg9W1sicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoiTTE0LjgzNyAxNi4zODVhNiA2IDAgMSAxLTcuMjIzLTcuMjIyYy42MjQtLjE0Ny45Ny42Ni43MTUgMS4yNDhhNCA0IDAgMCAwIDUuMjYgNS4yNTljLjU4OS0uMjU1IDEuMzk2LjA5IDEuMjQ4LjcxNSJ9XSxbInBhdGgiLHtkOiJNMTYgMTJhNCA0IDAgMCAwLTQtNCJ9XSxbInBhdGgiLHtkOiJtMTkgNS0xLjI1NiAxLjI1NiJ9XSxbInBhdGgiLHtkOiJNMjAgMTJoMiJ9XV19KTt2YXIgQkgsb2plPWYoKCk9PntCSD1bWyJwYXRoIix7ZDoiTTEwIDIxdi0xIn1dLFsicGF0aCIse2Q6Ik0xMCA0VjMifV0sWyJwYXRoIix7ZDoiTTEwIDlhMyAzIDAgMCAwIDAgNiJ9XSxbInBhdGgiLHtkOiJtMTQgMjAgMS4yNS0yLjVMMTggMTgifV0sWyJwYXRoIix7ZDoibTE0IDQgMS4yNSAyLjVMMTggNiJ9XSxbInBhdGgiLHtkOiJtMTcgMjEtMy02IDEuNS0zSDIyIn1dLFsicGF0aCIse2Q6Im0xNyAzLTMgNiAxLjUgMyJ9XSxbInBhdGgiLHtkOiJNMiAxMmgxIn1dLFsicGF0aCIse2Q6Im0yMCAxMC0xLjUgMiAxLjUgMiJ9XSxbInBhdGgiLHtkOiJtMy42NCAxOC4zNi43LS43In1dLFsicGF0aCIse2Q6Im00LjM0IDYuMzQtLjctLjcifV1dfSk7dmFyIEhILG5qZT1mKCgpPT57SEg9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjQifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2MiJ9XSxbInBhdGgiLHtkOiJtNC45MyA0LjkzIDEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJtMTcuNjYgMTcuNjYgMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDIifV0sWyJwYXRoIix7ZDoiTTIwIDEyaDIifV0sWyJwYXRoIix7ZDoibTYuMzQgMTcuNjYtMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Im0xOS4wNyA0LjkzLTEuNDEgMS40MSJ9XV19KTt2YXIgcUgsbGplPWYoKCk9PntxSD1bWyJwYXRoIix7ZDoiTTEyIDJ2OCJ9XSxbInBhdGgiLHtkOiJtNC45MyAxMC45MyAxLjQxIDEuNDEifV0sWyJwYXRoIix7ZDoiTTIgMThoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMThoMiJ9XSxbInBhdGgiLHtkOiJtMTkuMDcgMTAuOTMtMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0yMiAyMkgyIn1dLFsicGF0aCIse2Q6Im04IDYgNC00IDQgNCJ9XSxbInBhdGgiLHtkOiJNMTYgMThhNCA0IDAgMCAwLTggMCJ9XV19KTt2YXIgVkgsY2plPWYoKCk9PntWSD1bWyJwYXRoIix7ZDoiTTEyIDEwVjIifV0sWyJwYXRoIix7ZDoibTQuOTMgMTAuOTMgMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Ik0yIDE4aDIifV0sWyJwYXRoIix7ZDoiTTIwIDE4aDIifV0sWyJwYXRoIix7ZDoibTE5LjA3IDEwLjkzLTEuNDEgMS40MSJ9XSxbInBhdGgiLHtkOiJNMjIgMjJIMiJ9XSxbInBhdGgiLHtkOiJtMTYgNi00IDQtNC00In1dLFsicGF0aCIse2Q6Ik0xNiAxOGE0IDQgMCAwIDAtOCAwIn1dXX0pO3ZhciBqSCxkamU9ZigoKT0+e2pIPVtbInBhdGgiLHtkOiJtNCAxOSA4LTgifV0sWyJwYXRoIix7ZDoibTEyIDE5LTgtOCJ9XSxbInBhdGgiLHtkOiJNMjAgMTJoLTRjMC0xLjUuNDQyLTIgMS41LTIuNVMyMCA4LjMzNCAyMCA3LjAwMmMwLS40NzItLjE3LS45My0uNDg0LTEuMjlhMi4xMDUgMi4xMDUgMCAwIDAtMi42MTctLjQzNmMtLjQyLjIzOS0uNzM4LjYxNC0uODk5IDEuMDYifV1dfSk7dmFyIFVILHVqZT1mKCgpPT57VUg9W1sicGF0aCIse2Q6Ik0xMSAxN2E0IDQgMCAwIDEtOCAwVjVhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJaIn1dLFsicGF0aCIse2Q6Ik0xNi43IDEzSDE5YTIgMiAwIDAgMSAyIDJ2NGEyIDIgMCAwIDEtMiAySDcifV0sWyJwYXRoIix7ZDoiTSA3IDE3aC4wMSJ9XSxbInBhdGgiLHtkOiJtMTEgOCAyLjMtMi4zYTIuNCAyLjQgMCAwIDEgMy40MDQuMDA0TDE4LjYgNy42YTIuNCAyLjQgMCAwIDEgLjAyNiAzLjQzNEw5LjkgMTkuOCJ9XV19KTt2YXIgV0gscGplPWYoKCk9PntXSD1bWyJwYXRoIix7ZDoiTTEwIDIxVjNoOCJ9XSxbInBhdGgiLHtkOiJNNiAxNmg5In1dLFsicGF0aCIse2Q6Ik0xMCA5LjVoNyJ9XV19KTt2YXIgR0gsZmplPWYoKCk9PntHSD1bWyJwYXRoIix7ZDoiTTExIDE5SDRhMiAyIDAgMCAxLTItMlY3YTIgMiAwIDAgMSAyLTJoNSJ9XSxbInBhdGgiLHtkOiJNMTMgNWg3YTIgMiAwIDAgMSAyIDJ2MTBhMiAyIDAgMCAxLTIgMmgtNSJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIzIn1dLFsicGF0aCIse2Q6Im0xOCAyMi0zLTMgMy0zIn1dLFsicGF0aCIse2Q6Im02IDIgMyAzLTMgMyJ9XV19KTt2YXIgWUgsaGplPWYoKCk9PntZSD1bWyJwYXRoIix7ZDoibTExIDE5LTYtNiJ9XSxbInBhdGgiLHtkOiJtNSAyMS0yLTIifV0sWyJwYXRoIix7ZDoibTggMTYtNCA0In1dLFsicGF0aCIse2Q6Ik05LjUgMTcuNSAyMSA2VjNoLTNMNi41IDE0LjUifV1dfSk7dmFyIEtILG1qZT1mKCgpPT57S0g9W1sicG9seWxpbmUiLHtwb2ludHM6IjE0LjUgMTcuNSAzIDYgMyAzIDYgMyAxNy41IDE0LjUifV0sWyJsaW5lIix7eDE6IjEzIix4MjoiMTkiLHkxOiIxOSIseTI6IjEzIn1dLFsibGluZSIse3gxOiIxNiIseDI6IjIwIix5MToiMTYiLHkyOiIyMCJ9XSxbImxpbmUiLHt4MToiMTkiLHgyOiIyMSIseTE6IjIxIix5MjoiMTkifV0sWyJwb2x5bGluZSIse3BvaW50czoiMTQuNSA2LjUgMTggMyAyMSAzIDIxIDYgMTcuNSA5LjUifV0sWyJsaW5lIix7eDE6IjUiLHgyOiI5Iix5MToiMTQiLHkyOiIxOCJ9XSxbImxpbmUiLHt4MToiNyIseDI6IjQiLHkxOiIxNyIseTI6IjIwIn1dLFsibGluZSIse3gxOiIzIix4MjoiNSIseTE6IjE5Iix5MjoiMjEifV1dfSk7dmFyIFpILGdqZT1mKCgpPT57Wkg9W1sicGF0aCIse2Q6Im0xOCAyIDQgNCJ9XSxbInBhdGgiLHtkOiJtMTcgNyAzLTMifV0sWyJwYXRoIix7ZDoiTTE5IDkgOC43IDE5LjNjLTEgMS0yLjUgMS0zLjQgMGwtLjYtLjZjLTEtMS0xLTIuNSAwLTMuNEwxNSA1In1dLFsicGF0aCIse2Q6Im05IDExIDQgNCJ9XSxbInBhdGgiLHtkOiJtNSAxOS0zIDMifV0sWyJwYXRoIix7ZDoibTE0IDQgNiA2In1dXX0pO3ZhciBYSCxiamU9ZigoKT0+e1hIPVtbInBhdGgiLHtkOiJNOSAzSDVhMiAyIDAgMCAwLTIgMnY0bTYtNmgxMGEyIDIgMCAwIDEgMiAydjRNOSAzdjE4bTAgMGgxMGEyIDIgMCAwIDAgMi0yVjlNOSAyMUg1YTIgMiAwIDAgMS0yLTJWOW0wIDBoMTgifV1dfSk7dmFyIFFILHZqZT1mKCgpPT57UUg9W1sicGF0aCIse2Q6Ik0xMiAyMXYtNiJ9XSxbInBhdGgiLHtkOiJNMTIgOVYzIn1dLFsicGF0aCIse2Q6Ik0zIDE1aDE4In1dLFsicGF0aCIse2Q6Ik0zIDloMTgifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XV19KTt2YXIgSkgseGplPWYoKCk9PntKSD1bWyJwYXRoIix7ZDoiTTEyIDE1VjkifV0sWyJwYXRoIix7ZDoiTTMgMTVoMTgifV0sWyJwYXRoIix7ZDoiTTMgOWgxOCJ9XSxbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dXX0pO3ZhciBlcSx5amU9ZigoKT0+e2VxPVtbInBhdGgiLHtkOiJNMTQgMTR2MiJ9XSxbInBhdGgiLHtkOiJNMTQgMjB2MiJ9XSxbInBhdGgiLHtkOiJNMTQgMnYyIn1dLFsicGF0aCIse2Q6Ik0xNCA4djIifV0sWyJwYXRoIix7ZDoiTTIgMTVoOCJ9XSxbInBhdGgiLHtkOiJNMiAzaDZhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDIifV0sWyJwYXRoIix7ZDoiTTIgOWg4In1dLFsicGF0aCIse2Q6Ik0yMiAxNWgtNCJ9XSxbInBhdGgiLHtkOiJNMjIgM2gtMmEyIDIgMCAwIDAtMiAydjE0YTIgMiAwIDAgMCAyIDJoMiJ9XSxbInBhdGgiLHtkOiJNMjIgOWgtNCJ9XSxbInBhdGgiLHtkOiJNNSAzdjE4In1dXX0pO3ZhciB0cSx3amU9ZigoKT0+e3RxPVtbInBhdGgiLHtkOiJNMTYgNUgzIn1dLFsicGF0aCIse2Q6Ik0xNiAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xNiAxOUgzIn1dLFsicGF0aCIse2Q6Ik0yMSA1aC4wMSJ9XSxbInBhdGgiLHtkOiJNMjEgMTJoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMSAxOWguMDEifV1dfSk7dmFyIGFxLE1qZT1mKCgpPT57YXE9W1sicGF0aCIse2Q6Ik0xNSAzdjE4In1dLFsicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxOCIseDoiMyIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTIxIDlIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTVIMyJ9XV19KTt2YXIgcnEsa2plPWYoKCk9PntycT1bWyJwYXRoIix7ZDoiTTE0IDEwaDIifV0sWyJwYXRoIix7ZDoiTTE1IDIydi04In1dLFsicGF0aCIse2Q6Ik0xNSAydjQifV0sWyJwYXRoIix7ZDoiTTIgMTBoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTBoMiJ9XSxbInBhdGgiLHtkOiJNMyAxOWgxOCJ9XSxbInBhdGgiLHtkOiJNMyAyMnYtNmEyIDIgMTM1IDAgMSAyLTJoMTRhMiAyIDQ1IDAgMSAyIDJ2NiJ9XSxbInBhdGgiLHtkOiJNMyAydjJhMiAyIDQ1IDAgMCAyIDJoMTRhMiAyIDEzNSAwIDAgMi0yVjIifV0sWyJwYXRoIix7ZDoiTTggMTBoMiJ9XSxbInBhdGgiLHtkOiJNOSAyMnYtOCJ9XSxbInBhdGgiLHtkOiJNOSAydjQifV1dfSk7dmFyIHNxLFNqZT1mKCgpPT57c3E9W1sicmVjdCIse3dpZHRoOiIxMCIsaGVpZ2h0OiIxNCIseDoiMyIseToiOCIscng6IjIifV0sWyJwYXRoIix7ZDoiTTUgNGEyIDIgMCAwIDEgMi0yaDEyYTIgMiAwIDAgMSAyIDJ2MTZhMiAyIDAgMCAxLTIgMmgtMi40In1dLFsicGF0aCIse2Q6Ik04IDE4aC4wMSJ9XV19KTt2YXIgaXEsemplPWYoKCk9PntpcT1bWyJwYXRoIix7ZDoiTTEyIDN2MTgifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyA5aDE4In1dLFsicGF0aCIse2Q6Ik0zIDE1aDE4In1dXX0pO3ZhciBvcSxDamU9ZigoKT0+e29xPVtbInJlY3QiLHt3aWR0aDoiMTYiLGhlaWdodDoiMjAiLHg6IjQiLHk6IjIiLHJ4OiIyIixyeToiMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxMi4wMSIseTE6IjE4Iix5MjoiMTgifV1dfSk7dmFyIG5xLF9qZT1mKCgpPT57bnE9W1siY2lyY2xlIix7Y3g6IjciLGN5OiI3IixyOiI1In1dLFsiY2lyY2xlIix7Y3g6IjE3IixjeToiMTciLHI6IjUifV0sWyJwYXRoIix7ZDoiTTEyIDE3aDEwIn1dLFsicGF0aCIse2Q6Im0zLjQ2IDEwLjU0IDcuMDgtNy4wOCJ9XV19KTt2YXIgbHEsVGplPWYoKCk9PntscT1bWyJwYXRoIix7ZDoiTTEyLjU4NiAyLjU4NkEyIDIgMCAwIDAgMTEuMTcyIDJINGEyIDIgMCAwIDAtMiAydjcuMTcyYTIgMiAwIDAgMCAuNTg2IDEuNDE0bDguNzA0IDguNzA0YTIuNDI2IDIuNDI2IDAgMCAwIDMuNDIgMGw2LjU4LTYuNThhMi40MjYgMi40MjYgMCAwIDAgMC0zLjQyeiJ9XSxbImNpcmNsZSIse2N4OiI3LjUiLGN5OiI3LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV1dfSk7dmFyIGNxLExqZT1mKCgpPT57Y3E9W1sicGF0aCIse2Q6Ik0xMy4xNzIgMmEyIDIgMCAwIDEgMS40MTQuNTg2bDYuNzEgNi43MWEyLjQgMi40IDAgMCAxIDAgMy40MDhsLTQuNTkyIDQuNTkyYTIuNCAyLjQgMCAwIDEtMy40MDggMGwtNi43MS02LjcxQTIgMiAwIDAgMSA2IDkuMTcyVjNhMSAxIDAgMCAxIDEtMXoifV0sWyJwYXRoIix7ZDoiTTIgN3Y2LjE3MmEyIDIgMCAwIDAgLjU4NiAxLjQxNGw2LjcxIDYuNzFhMi40IDIuNCAwIDAgMCAzLjE5MS4xOTMifV0sWyJjaXJjbGUiLHtjeDoiMTAuNSIsY3k6IjYuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XV19KTt2YXIgZHEsJGplPWYoKCk9PntkcT1bWyJwYXRoIix7ZDoiTTQgNHYxNiJ9XV19KTt2YXIgdXEsRGplPWYoKCk9Pnt1cT1bWyJwYXRoIix7ZDoiTTQgNHYxNiJ9XSxbInBhdGgiLHtkOiJNOSA0djE2In1dXX0pO3ZhciBwcSxBamU9ZigoKT0+e3BxPVtbInBhdGgiLHtkOiJNNCA0djE2In1dLFsicGF0aCIse2Q6Ik05IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE0IDR2MTYifV1dfSk7dmFyIGZxLEVqZT1mKCgpPT57ZnE9W1sicGF0aCIse2Q6Ik00IDR2MTYifV0sWyJwYXRoIix7ZDoiTTkgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTQgNHYxNiJ9XSxbInBhdGgiLHtkOiJNMTkgNHYxNiJ9XV19KTt2YXIgaHEsUGplPWYoKCk9PntocT1bWyJjaXJjbGUiLHtjeDoiMTciLGN5OiI0IixyOiIyIn1dLFsicGF0aCIse2Q6Ik0xNS41OSA1LjQxIDUuNDEgMTUuNTkifV0sWyJjaXJjbGUiLHtjeDoiNCIsY3k6IjE3IixyOiIyIn1dLFsicGF0aCIse2Q6Ik0xMiAyMnMtNC05LTEuNS0xMS41UzIyIDEyIDIyIDEyIn1dXX0pO3ZhciBtcSxJamU9ZigoKT0+e21xPVtbInBhdGgiLHtkOiJNNCA0djE2In1dLFsicGF0aCIse2Q6Ik05IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE0IDR2MTYifV0sWyJwYXRoIix7ZDoiTTE5IDR2MTYifV0sWyJwYXRoIix7ZDoiTTIyIDYgMiAxOCJ9XV19KTt2YXIgZ3EsTmplPWYoKCk9PntncT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiMTAifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMiIscjoiNiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiIyIn1dXX0pO3ZhciBicSxSamU9ZigoKT0+e2JxPVtbInBhdGgiLHtkOiJtMTAuMDY1IDEyLjQ5My02LjE4IDEuMzE4YS45MzQuOTM0IDAgMCAxLTEuMTA4LS43MDJsLS41MzctMi4xNWExLjA3IDEuMDcgMCAwIDEgLjY5MS0xLjI2NWwxMy41MDQtNC40NCJ9XSxbInBhdGgiLHtkOiJtMTMuNTYgMTEuNzQ3IDQuMzMyLS45MjQifV0sWyJwYXRoIix7ZDoibTE2IDIxLTMuMTA1LTYuMjEifV0sWyJwYXRoIix7ZDoiTTE2LjQ4NSA1Ljk0YTIgMiAwIDAgMSAxLjQ1NS0yLjQyNWwxLjA5LS4yNzJhMSAxIDAgMCAxIDEuMjEyLjcyN2wxLjUxNSA2LjA2YTEgMSAwIDAgMS0uNzI3IDEuMjEzbC0xLjA5LjI3MmEyIDIgMCAwIDEtMi40MjUtMS40NTV6In1dLFsicGF0aCIse2Q6Im02LjE1OCA4LjYzMyAxLjExNCA0LjQ1NiJ9XSxbInBhdGgiLHtkOiJtOCAyMSAzLjEwNS02LjIxIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTMiLHI6IjIifV1dfSk7dmFyIHZxLE9qZT1mKCgpPT57dnE9W1siY2lyY2xlIix7Y3g6IjQiLGN5OiI0IixyOiIyIn1dLFsicGF0aCIse2Q6Im0xNCA1IDMtMyAzIDMifV0sWyJwYXRoIix7ZDoibTE0IDEwIDMtMyAzIDMifV0sWyJwYXRoIix7ZDoiTTE3IDE0VjIifV0sWyJwYXRoIix7ZDoiTTE3IDE0SDdsLTUgOGgyMFoifV0sWyJwYXRoIix7ZDoiTTggMTR2OCJ9XSxbInBhdGgiLHtkOiJtOSAxNCA1IDgifV1dfSk7dmFyIHhxLEZqZT1mKCgpPT57eHE9W1sicGF0aCIse2Q6Ik0zLjUgMjEgMTQgMyJ9XSxbInBhdGgiLHtkOiJNMjAuNSAyMSAxMCAzIn1dLFsicGF0aCIse2Q6Ik0xNS41IDIxIDEyIDE1bC0zLjUgNiJ9XSxbInBhdGgiLHtkOiJNMiAyMWgyMCJ9XV19KTt2YXIgeXEsQmplPWYoKCk9Pnt5cT1bWyJwYXRoIix7ZDoiTTEyIDE5aDgifV0sWyJwYXRoIix7ZDoibTQgMTcgNi02LTYtNiJ9XV19KTt2YXIgZWYsSGplPWYoKCk9PntlZj1bWyJwYXRoIix7ZDoiTTIxIDcgNi44MiAyMS4xOGEyLjgzIDIuODMgMCAwIDEtMy45OS0uMDFhMi44MyAyLjgzIDAgMCAxIDAtNEwxNyAzIn1dLFsicGF0aCIse2Q6Im0xNiAyIDYgNiJ9XSxbInBhdGgiLHtkOiJNMTIgMTZINCJ9XV19KTt2YXIgd3EscWplPWYoKCk9Pnt3cT1bWyJwYXRoIix7ZDoiTTE0LjUgMnYxNy41YzAgMS40LTEuMSAyLjUtMi41IDIuNWMtMS40IDAtMi41LTEuMS0yLjUtMi41VjIifV0sWyJwYXRoIix7ZDoiTTguNSAyaDcifV0sWyJwYXRoIix7ZDoiTTE0LjUgMTZoLTUifV1dfSk7dmFyIHRmLFZqZT1mKCgpPT57dGY9W1sicGF0aCIse2Q6Ik0yMSA1SDMifV0sWyJwYXRoIix7ZDoiTTE3IDEySDcifV0sWyJwYXRoIix7ZDoiTTE5IDE5SDUifV1dfSk7dmFyIE1xLGpqZT1mKCgpPT57TXE9W1sicGF0aCIse2Q6Ik05IDJ2MTcuNUEyLjUgMi41IDAgMCAxIDYuNSAyMkEyLjUgMi41IDAgMCAxIDQgMTkuNVYyIn1dLFsicGF0aCIse2Q6Ik0yMCAydjE3LjVhMi41IDIuNSAwIDAgMS0yLjUgMi41YTIuNSAyLjUgMCAwIDEtMi41LTIuNVYyIn1dLFsicGF0aCIse2Q6Ik0zIDJoNyJ9XSxbInBhdGgiLHtkOiJNMTQgMmg3In1dLFsicGF0aCIse2Q6Ik05IDE2SDQifV0sWyJwYXRoIix7ZDoiTTIwIDE2aC01In1dXX0pO3ZhciBhZixVamU9ZigoKT0+e2FmPVtbInBhdGgiLHtkOiJNMjEgNUgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxMkg5In1dLFsicGF0aCIse2Q6Ik0yMSAxOUg3In1dXX0pO3ZhciByZixXamU9ZigoKT0+e3JmPVtbInBhdGgiLHtkOiJNMyA1aDE4In1dLFsicGF0aCIse2Q6Ik0zIDEyaDE4In1dLFsicGF0aCIse2Q6Ik0zIDE5aDE4In1dXX0pO3ZhciBkYyxHamU9ZigoKT0+e2RjPVtbInBhdGgiLHtkOiJNMjEgNUgzIn1dLFsicGF0aCIse2Q6Ik0xNSAxMkgzIn1dLFsicGF0aCIse2Q6Ik0xNyAxOUgzIn1dXX0pO3ZhciBrcSxZamU9ZigoKT0+e2txPVtbInBhdGgiLHtkOiJNMTIgMjBoLTFhMiAyIDAgMCAxLTItMiAyIDIgMCAwIDEtMiAySDYifV0sWyJwYXRoIix7ZDoiTTEzIDhoN2EyIDIgMCAwIDEgMiAydjRhMiAyIDAgMCAxLTIgMmgtNyJ9XSxbInBhdGgiLHtkOiJNNSAxNkg0YTIgMiAwIDAgMS0yLTJ2LTRhMiAyIDAgMCAxIDItMmgxIn1dLFsicGF0aCIse2Q6Ik02IDRoMWEyIDIgMCAwIDEgMiAyIDIgMiAwIDAgMSAyLTJoMSJ9XSxbInBhdGgiLHtkOiJNOSA2djEyIn1dXX0pO3ZhciBTcSxLamU9ZigoKT0+e1NxPVtbInBhdGgiLHtkOiJNMTcgMjJoLTFhNCA0IDAgMCAxLTQtNFY2YTQgNCAwIDAgMSA0LTRoMSJ9XSxbInBhdGgiLHtkOiJNNyAyMmgxYTQgNCAwIDAgMCA0LTR2LTEifV0sWyJwYXRoIix7ZDoiTTcgMmgxYTQgNCAwIDAgMSA0IDR2MSJ9XV19KTt2YXIgc2YsWmplPWYoKCk9PntzZj1bWyJwYXRoIix7ZDoiTTE1IDVoNiJ9XSxbInBhdGgiLHtkOiJNMTUgMTJoNiJ9XSxbInBhdGgiLHtkOiJNMyAxOWgxOCJ9XSxbInBhdGgiLHtkOiJtMyAxMiAzLjU1My03LjcyNGEuNS41IDAgMCAxIC44OTQgMEwxMSAxMiJ9XSxbInBhdGgiLHtkOiJNMy45MiAxMGg2LjE2In1dXX0pO3ZhciB6cSxYamU9ZigoKT0+e3pxPVtbInBhdGgiLHtkOiJNMTcgNUgzIn1dLFsicGF0aCIse2Q6Ik0yMSAxMkg4In1dLFsicGF0aCIse2Q6Ik0yMSAxOUg4In1dLFsicGF0aCIse2Q6Ik0zIDEydjcifV1dfSk7dmFyIENxLFFqZT1mKCgpPT57Q3E9W1sicGF0aCIse2Q6Ik0yMSA1SDMifV0sWyJwYXRoIix7ZDoiTTEwIDEySDMifV0sWyJwYXRoIix7ZDoiTTEwIDE5SDMifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxNSIscjoiMyJ9XSxbInBhdGgiLHtkOiJtMjEgMTktMS45LTEuOSJ9XV19KTt2YXIgb2YsSmplPWYoKCk9PntvZj1bWyJwYXRoIix7ZDoibTE2IDE2LTMgMyAzIDMifV0sWyJwYXRoIix7ZDoiTTMgMTJoMTQuNWExIDEgMCAwIDEgMCA3SDEzIn1dLFsicGF0aCIse2Q6Ik0zIDE5aDYifV0sWyJwYXRoIix7ZDoiTTMgNWgxOCJ9XV19KTt2YXIgX3EsZVVlPWYoKCk9PntfcT1bWyJwYXRoIix7ZDoiTTIgMTBzMy0zIDMtOCJ9XSxbInBhdGgiLHtkOiJNMjIgMTBzLTMtMy0zLTgifV0sWyJwYXRoIix7ZDoiTTEwIDJjMCA0LjQtMy42IDgtOCA4In1dLFsicGF0aCIse2Q6Ik0xNCAyYzAgNC40IDMuNiA4IDggOCJ9XSxbInBhdGgiLHtkOiJNMiAxMHMyIDIgMiA1In1dLFsicGF0aCIse2Q6Ik0yMiAxMHMtMiAyLTIgNSJ9XSxbInBhdGgiLHtkOiJNOCAxNWg4In1dLFsicGF0aCIse2Q6Ik0yIDIydi0xYTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjEifV0sWyJwYXRoIix7ZDoiTTE0IDIydi0xYTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjEifV1dfSk7dmFyIFRxLHRVZT1mKCgpPT57VHE9W1sicGF0aCIse2Q6Im0xMCAyMC0xLjI1LTIuNUw2IDE4In1dLFsicGF0aCIse2Q6Ik0xMCA0IDguNzUgNi41IDYgNiJ9XSxbInBhdGgiLHtkOiJNMTAuNTg1IDE1SDEwIn1dLFsicGF0aCIse2Q6Ik0yIDEyaDYuNUwxMCA5In1dLFsicGF0aCIse2Q6Ik0yMCAxNC41NGE0IDQgMCAxIDEtNCAwVjRhMiAyIDAgMCAxIDQgMHoifV0sWyJwYXRoIix7ZDoibTQgMTAgMS41IDJMNCAxNCJ9XSxbInBhdGgiLHtkOiJtNyAyMSAzLTYtMS41LTMifV0sWyJwYXRoIix7ZDoibTcgMyAzIDZoMiJ9XV19KTt2YXIgTHEsYVVlPWYoKCk9PntMcT1bWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTIgOGE0IDQgMCAwIDAtMS42NDUgNy42NDcifV0sWyJwYXRoIix7ZDoiTTIgMTJoMiJ9XSxbInBhdGgiLHtkOiJNMjAgMTQuNTRhNCA0IDAgMSAxLTQgMFY0YTIgMiAwIDAgMSA0IDB6In1dLFsicGF0aCIse2Q6Im00LjkzIDQuOTMgMS40MSAxLjQxIn1dLFsicGF0aCIse2Q6Im02LjM0IDE3LjY2LTEuNDEgMS40MSJ9XV19KTt2YXIgJHEsclVlPWYoKCk9PnskcT1bWyJwYXRoIix7ZDoiTTE0IDR2MTAuNTRhNCA0IDAgMSAxLTQgMFY0YTIgMiAwIDAgMSA0IDBaIn1dXX0pO3ZhciBEcSxzVWU9ZigoKT0+e0RxPVtbInBhdGgiLHtkOiJNOSAxOC4xMiAxMCAxNEg0LjE3YTIgMiAwIDAgMS0xLjkyLTIuNTZsMi4zMy04QTIgMiAwIDAgMSA2LjUgMkgyMGEyIDIgMCAwIDEgMiAydjhhMiAyIDAgMCAxLTIgMmgtMi43NmEyIDIgMCAwIDAtMS43OSAxLjExTDEyIDIyYTMuMTMgMy4xMyAwIDAgMS0zLTMuODhaIn1dLFsicGF0aCIse2Q6Ik0xNyAxNFYyIn1dXX0pO3ZhciBBcSxpVWU9ZigoKT0+e0FxPVtbInBhdGgiLHtkOiJNMTUgNS44OCAxNCAxMGg1LjgzYTIgMiAwIDAgMSAxLjkyIDIuNTZsLTIuMzMgOEEyIDIgMCAwIDEgMTcuNSAyMkg0YTIgMiAwIDAgMS0yLTJ2LThhMiAyIDAgMCAxIDItMmgyLjc2YTIgMiAwIDAgMCAxLjc5LTEuMTFMMTIgMmEzLjEzIDMuMTMgMCAwIDEgMyAzLjg4WiJ9XSxbInBhdGgiLHtkOiJNNyAxMHYxMiJ9XV19KTt2YXIgRXEsb1VlPWYoKCk9PntFcT1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAwIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDAgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoibTkgMTIgMiAyIDQtNCJ9XV19KTt2YXIgUHEsblVlPWYoKCk9PntQcT1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAwIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDAgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoiTTkgMTJoNiJ9XV19KTt2YXIgSXEsbFVlPWYoKCk9PntJcT1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAxIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDEgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoiTTkgOWguMDEifV0sWyJwYXRoIix7ZDoibTE1IDktNiA2In1dLFsicGF0aCIse2Q6Ik0xNSAxNWguMDEifV1dfSk7dmFyIE5xLGNVZT1mKCgpPT57TnE9W1sicGF0aCIse2Q6Ik0yIDlhMyAzIDAgMCAxIDAgNnYyYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtMmEzIDMgMCAwIDEgMC02VjdhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJaIn1dLFsicGF0aCIse2Q6Ik05IDEyaDYifV0sWyJwYXRoIix7ZDoiTTEyIDl2NiJ9XV19KTt2YXIgUnEsZFVlPWYoKCk9PntScT1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAwIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDAgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoibTkuNSAxNC41IDUtNSJ9XV19KTt2YXIgT3EsdVVlPWYoKCk9PntPcT1bWyJwYXRoIix7ZDoiTTIgOWEzIDMgMCAwIDEgMCA2djJhMiAyIDAgMCAwIDIgMmgxNmEyIDIgMCAwIDAgMi0ydi0yYTMgMyAwIDAgMSAwLTZWN2EyIDIgMCAwIDAtMi0ySDRhMiAyIDAgMCAwLTIgMloifV0sWyJwYXRoIix7ZDoibTkuNSAxNC41IDUtNSJ9XSxbInBhdGgiLHtkOiJtOS41IDkuNSA1IDUifV1dfSk7dmFyIEZxLHBVZT1mKCgpPT57RnE9W1sicGF0aCIse2Q6Ik0yIDlhMyAzIDAgMCAxIDAgNnYyYTIgMiAwIDAgMCAyIDJoMTZhMiAyIDAgMCAwIDItMnYtMmEzIDMgMCAwIDEgMC02VjdhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJaIn1dLFsicGF0aCIse2Q6Ik0xMyA1djIifV0sWyJwYXRoIix7ZDoiTTEzIDE3djIifV0sWyJwYXRoIix7ZDoiTTEzIDExdjIifV1dfSk7dmFyIEJxLGZVZT1mKCgpPT57QnE9W1sicGF0aCIse2Q6Ik0xMC41IDE3aDEuMjI3YTIgMiAwIDAgMCAxLjM0NS0uNTJMMTggMTIifV0sWyJwYXRoIix7ZDoibTEyIDEzLjUgMy43OTQuNTA2In1dLFsicGF0aCIse2Q6Im0zLjE3MyA4LjE4IDExLTVhMiAyIDAgMCAxIDIuNjQ3Ljk5M0wxOC41NiA4In1dLFsicGF0aCIse2Q6Ik02IDEwVjgifV0sWyJwYXRoIix7ZDoiTTYgMTR2MSJ9XSxbInBhdGgiLHtkOiJNNiAxOXYyIn1dLFsicmVjdCIse3g6IjIiLHk6IjgiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxMyIscng6IjIifV1dfSk7dmFyIEhxLGhVZT1mKCgpPT57SHE9W1sicGF0aCIse2Q6Im0zLjE3MyA4LjE4IDExLTVhMiAyIDAgMCAxIDIuNjQ3Ljk5M0wxOC41NiA4In1dLFsicGF0aCIse2Q6Ik02IDEwVjgifV0sWyJwYXRoIix7ZDoiTTYgMTR2MSJ9XSxbInBhdGgiLHtkOiJNNiAxOXYyIn1dLFsicmVjdCIse3g6IjIiLHk6IjgiLHdpZHRoOiIyMCIsaGVpZ2h0OiIxMyIscng6IjIifV1dfSk7dmFyIHFxLG1VZT1mKCgpPT57cXE9W1sicGF0aCIse2Q6Ik00IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNNCAxNmguMDEifV0sWyJwYXRoIix7ZDoiTTQgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik00IDRoLjAxIn1dLFsicGF0aCIse2Q6Ik00IDhoLjAxIn1dLFsicGF0aCIse2Q6Ik05LjQxNCAxMy40MTRhMiAyIDAgMCAwIDEuNDE0LjU4NkgxOWExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMC0xLTFoLTguMTcyYTIgMiAwIDAgMC0xLjQxNC41ODZMOCAxMnoifV0sWyJwYXRoIix7ZDoiTTkuNDE0IDIxLjQxNGEyIDIgMCAwIDAgMS40MTQuNTg2SDE5YTEgMSAwIDAgMCAxLTF2LTJhMSAxIDAgMCAwLTEtMWgtOC4xNzJhMiAyIDAgMCAwLTEuNDE0LjU4Nkw4IDIweiJ9XSxbInBhdGgiLHtkOiJNOS40MTQgNS40MTRBMiAyIDAgMCAwIDEwLjgyOCA2SDE5YTEgMSAwIDAgMCAxLTFWM2ExIDEgMCAwIDAtMS0xaC04LjE3MmEyIDIgMCAwIDAtMS40MTQuNTg2TDggNHoifV1dfSk7dmFyIFZxLGdVZT1mKCgpPT57VnE9W1sicGF0aCIse2Q6Ik0xMCAyaDQifV0sWyJwYXRoIix7ZDoiTTQuNiAxMWE4IDggMCAwIDAgMS43IDguNyA4IDggMCAwIDAgOC43IDEuNyJ9XSxbInBhdGgiLHtkOiJNNy40IDcuNGE4IDggMCAwIDEgMTAuMyAxIDggOCAwIDAgMSAuOSAxMC4yIn1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoiTTEyIDEydi0yIn1dXX0pO3ZhciBqcSxiVWU9ZigoKT0+e2pxPVtbInBhdGgiLHtkOiJNMTAgMmg0In1dLFsicGF0aCIse2Q6Ik0xMiAxNHYtNCJ9XSxbInBhdGgiLHtkOiJNNCAxM2E4IDggMCAwIDEgOC03IDggOCAwIDEgMS01LjMgMTRMNCAxNy42In1dLFsicGF0aCIse2Q6Ik05IDE3SDR2NSJ9XV19KTt2YXIgVXEsdlVlPWYoKCk9PntVcT1bWyJsaW5lIix7eDE6IjEwIix4MjoiMTQiLHkxOiIyIix5MjoiMiJ9XSxbImxpbmUiLHt4MToiMTIiLHgyOiIxNSIseTE6IjE0Iix5MjoiMTEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNCIscjoiOCJ9XV19KTt2YXIgV3EseFVlPWYoKCk9PntXcT1bWyJwYXRoIix7ZDoiTTcgMTJoMTNhMSAxIDAgMCAxIDEgMSA1IDUgMCAwIDEtNSA1aC0uNTk4YS41LjUgMCAwIDAtLjQyNC43NjVsMS41NDQgMi40N2EuNS41IDAgMCAxLS40MjQuNzY1SDUuNDAyYS41LjUgMCAwIDEtLjQyNC0uNzY1TDcgMTgifV0sWyJwYXRoIix7ZDoiTTggMThhNSA1IDAgMCAxLTUtNVY0YTIgMiAwIDAgMSAyLTJoOGEyIDIgMCAwIDEgMiAydjgifV1dfSk7dmFyIEdxLHlVZT1mKCgpPT57R3E9W1siY2lyY2xlIix7Y3g6IjkiLGN5OiIxMiIscjoiMyJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHg6IjIiLHk6IjUiLHJ4OiI3In1dXX0pO3ZhciBZcSx3VWU9ZigoKT0+e1lxPVtbImNpcmNsZSIse2N4OiIxNSIsY3k6IjEyIixyOiIzIn1dLFsicmVjdCIse3dpZHRoOiIyMCIsaGVpZ2h0OiIxNCIseDoiMiIseToiNSIscng6IjcifV1dfSk7dmFyIEtxLE1VZT1mKCgpPT57S3E9W1sicGF0aCIse2Q6Ik0xMCAxNWg0In1dLFsicGF0aCIse2Q6Im0xNC44MTcgMTAuOTk1LS45NzEtMS40NSAxLjAzNC0xLjIzMmEyIDIgMCAwIDAtMi4wMjUtMy4yMzhsLTEuODIuMzY0TDkuOTEgMy44ODVhMiAyIDAgMCAwLTMuNjI1Ljc0OEw2LjE0MSA2LjU1bC0xLjcyNS40MjZhMiAyIDAgMCAwLS4xOSAzLjc1NmwuNjU3LjI3In1dLFsicGF0aCIse2Q6Im0xOC44MjIgMTAuOTk1IDIuMjYtNS4zOGExIDEgMCAwIDAtLjU1Ny0xLjMxOEwxNi45NTQgMi45YTEgMSAwIDAgMC0xLjI4MS41MzNsLS45MjQgMi4xMjIifV0sWyJwYXRoIix7ZDoiTTQgMTIuMDA2QTEgMSAwIDAgMSA0Ljk5NCAxMUgxOWExIDEgMCAwIDEgMSAxdjdhMiAyIDAgMCAxLTIgMkg2YTIgMiAwIDAgMS0yLTJ6In1dXX0pO3ZhciBacSxrVWU9ZigoKT0+e1pxPVtbInBhdGgiLHtkOiJNMTYgMTJ2NCJ9XSxbInBhdGgiLHtkOiJNMTYgNmEyIDIgMCAwIDEgMS40MTQuNTg2bDQgNEEyIDIgMCAwIDEgMjIgMTJ2N2EyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMnYtN2EyIDIgMCAwIDEgLjU4Ni0xLjQxNGw0LTRBMiAyIDAgMCAxIDggNnoifV0sWyJwYXRoIix7ZDoiTTE2IDZWNGEyIDIgMCAwIDAtMi0yaC00YTIgMiAwIDAgMC0yIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMiAxNGgyMCJ9XSxbInBhdGgiLHtkOiJNOCAxMnY0In1dXX0pO3ZhciBYcSxTVWU9ZigoKT0+e1hxPVtbImVsbGlwc2UiLHtjeDoiMTIiLGN5OiIxMSIscng6IjMiLHJ5OiIyIn1dLFsiZWxsaXBzZSIse2N4OiIxMiIsY3k6IjEyLjUiLHJ4OiIxMCIscnk6IjguNSJ9XV19KTt2YXIgUXEselVlPWYoKCk9PntRcT1bWyJwYXRoIix7ZDoiTTEyIDIwdi02In1dLFsicGF0aCIse2Q6Ik0xOS42NTYgMTRIMjIifV0sWyJwYXRoIix7ZDoiTTIgMTRoMTIifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XSxbInBhdGgiLHtkOiJNMjAgMjBINGEyIDIgMCAwIDEtMi0yVjZhMiAyIDAgMCAxIDItMiJ9XSxbInBhdGgiLHtkOiJNOS42NTYgNEgyMGEyIDIgMCAwIDEgMiAydjEwLjM0NCJ9XV19KTt2YXIgSnEsQ1VlPWYoKCk9PntKcT1bWyJwYXRoIix7ZDoiTTIxIDRIMyJ9XSxbInBhdGgiLHtkOiJNMTggOEg2In1dLFsicGF0aCIse2Q6Ik0xOSAxMkg5In1dLFsicGF0aCIse2Q6Ik0xNiAxNmgtNiJ9XSxbInBhdGgiLHtkOiJNMTEgMjBIOSJ9XV19KTt2YXIgZVYsX1VlPWYoKCk9PntlVj1bWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE2Iix4OiIyIix5OiI0IixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMiAxNGgyMCJ9XSxbInBhdGgiLHtkOiJNMTIgMjB2LTYifV1dfSk7dmFyIHRWLFRVZT1mKCgpPT57dFY9W1sicGF0aCIse2Q6Ik0yMiA3aC0yIn1dLFsicGF0aCIse2Q6Ik02LjUgM2gxMUEyLjUgMi41IDAgMCAxIDIwIDUuNVYyMGExIDEgMCAwIDEtMSAxaC05YTEgMSAwIDAgMS0xLTFWNS41YTEgMSAwIDAgMC01IDBWMTdhMSAxIDAgMCAwIDEgMWg0In1dLFsicGF0aCIse2Q6Ik05IDdIMiJ9XV19KTt2YXIgYVYsTFVlPWYoKCk9PnthVj1bWyJwYXRoIix7ZDoiTTE4LjIgMTIuMjcgMjAgNkg0bDEuOCA2LjI3YTEgMSAwIDAgMCAuOTUuNzNoMTAuNWExIDEgMCAwIDAgLjk2LS43M1oifV0sWyJwYXRoIix7ZDoiTTggMTN2OSJ9XSxbInBhdGgiLHtkOiJNMTYgMjJ2LTkifV0sWyJwYXRoIix7ZDoibTkgNiAxIDcifV0sWyJwYXRoIix7ZDoibTE1IDYtMSA3In1dLFsicGF0aCIse2Q6Ik0xMiA2VjIifV0sWyJwYXRoIix7ZDoiTTEzIDJoLTIifV1dfSk7dmFyIHJWLCRVZT1mKCgpPT57clY9W1sicmVjdCIse3dpZHRoOiIxOCIsaGVpZ2h0OiIxMiIseDoiMyIseToiOCIscng6IjEifV0sWyJwYXRoIix7ZDoiTTEwIDhWNWMwLS42LS40LTEtMS0xSDZhMSAxIDAgMCAwLTEgMXYzIn1dLFsicGF0aCIse2Q6Ik0xOSA4VjVjMC0uNi0uNC0xLTEtMWgtM2ExIDEgMCAwIDAtMSAxdjMifV1dfSk7dmFyIHNWLERVZT1mKCgpPT57c1Y9W1sicGF0aCIse2Q6Im0xMCAxMSAxMSAuOWExIDEgMCAwIDEgLjggMS4xbC0uNjY1IDQuMTU4YTEgMSAwIDAgMS0uOTg4Ljg0MkgyMCJ9XSxbInBhdGgiLHtkOiJNMTYgMThoLTUifV0sWyJwYXRoIix7ZDoiTTE4IDVhMSAxIDAgMCAwLTEgMXY1LjU3MyJ9XSxbInBhdGgiLHtkOiJNMyA0aDguMTI5YTEgMSAwIDAgMSAuOTkuODYzTDEzIDExLjI0NiJ9XSxbInBhdGgiLHtkOiJNNCAxMVY0In1dLFsicGF0aCIse2Q6Ik03IDE1aC4wMSJ9XSxbInBhdGgiLHtkOiJNOCAxMC4xVjQifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTUiLHI6IjUifV1dfSk7dmFyIGlWLEFVZT1mKCgpPT57aVY9W1sicGF0aCIse2Q6Ik0xNi4wNSAxMC45NjZhNSAyLjUgMCAwIDEtOC4xIDAifV0sWyJwYXRoIix7ZDoibTE2LjkyMyAxNC4wNDkgNC40OCAyLjA0YTEgMSAwIDAgMSAuMDAxIDEuODMxbC04LjU3NCAzLjlhMiAyIDAgMCAxLTEuNjYgMGwtOC41NzQtMy45MWExIDEgMCAwIDEgMC0xLjgzbDQuNDg0LTIuMDQifV0sWyJwYXRoIix7ZDoiTTE2Ljk0OSAxNC4xNGE1IDIuNSAwIDEgMS05LjkgMEwxMC4wNjMgMy41YTIgMiAwIDAgMSAzLjg3NCAweiJ9XSxbInBhdGgiLHtkOiJNOS4xOTQgNi41N2E1IDIuNSAwIDAgMCA1LjYxIDAifV1dfSk7dmFyIG9WLEVVZT1mKCgpPT57b1Y9W1sicGF0aCIse2Q6Ik0yIDIyVjEyYTEwIDEwIDAgMSAxIDIwIDB2MTAifV0sWyJwYXRoIix7ZDoiTTE1IDYuOHYxLjRhMyAyLjggMCAxIDEtNiAwVjYuOCJ9XSxbInBhdGgiLHtkOiJNMTAgMTVoLjAxIn1dLFsicGF0aCIse2Q6Ik0xNCAxNWguMDEifV0sWyJwYXRoIix7ZDoiTTEwIDE5YTQgNCAwIDAgMS00LTR2LTNhNiA2IDAgMSAxIDEyIDB2M2E0IDQgMCAwIDEtNCA0WiJ9XSxbInBhdGgiLHtkOiJtOSAxOS0yIDMifV0sWyJwYXRoIix7ZDoibTE1IDE5IDIgMyJ9XV19KTt2YXIgblYsUFVlPWYoKCk9PntuVj1bWyJwYXRoIix7ZDoiTTggMy4xVjdhNCA0IDAgMCAwIDggMFYzLjEifV0sWyJwYXRoIix7ZDoibTkgMTUtMS0xIn1dLFsicGF0aCIse2Q6Im0xNSAxNSAxLTEifV0sWyJwYXRoIix7ZDoiTTkgMTljLTIuOCAwLTUtMi4yLTUtNXYtNGE4IDggMCAwIDEgMTYgMHY0YzAgMi44LTIuMiA1LTUgNVoifV0sWyJwYXRoIix7ZDoibTggMTktMiAzIn1dLFsicGF0aCIse2Q6Im0xNiAxOSAyIDMifV1dfSk7dmFyIGxWLElVZT1mKCgpPT57bFY9W1sicGF0aCIse2Q6Ik0yIDE3IDE3IDIifV0sWyJwYXRoIix7ZDoibTIgMTQgOCA4In1dLFsicGF0aCIse2Q6Im01IDExIDggOCJ9XSxbInBhdGgiLHtkOiJtOCA4IDggOCJ9XSxbInBhdGgiLHtkOiJtMTEgNSA4IDgifV0sWyJwYXRoIix7ZDoibTE0IDIgOCA4In1dLFsicGF0aCIse2Q6Ik03IDIyIDIyIDcifV1dfSk7dmFyIG5mLE5VZT1mKCgpPT57bmY9W1sicmVjdCIse3dpZHRoOiIxNiIsaGVpZ2h0OiIxNiIseDoiNCIseToiMyIscng6IjIifV0sWyJwYXRoIix7ZDoiTTQgMTFoMTYifV0sWyJwYXRoIix7ZDoiTTEyIDN2OCJ9XSxbInBhdGgiLHtkOiJtOCAxOS0yIDMifV0sWyJwYXRoIix7ZDoibTE4IDIyLTItMyJ9XSxbInBhdGgiLHtkOiJNOCAxNWguMDEifV0sWyJwYXRoIix7ZDoiTTE2IDE1aC4wMSJ9XV19KTt2YXIgY1YsUlVlPWYoKCk9PntjVj1bWyJwYXRoIix7ZDoiTTEyIDE2djYifV0sWyJwYXRoIix7ZDoiTTE0IDIwaC00In1dLFsicGF0aCIse2Q6Ik0xOCAyaDR2NCJ9XSxbInBhdGgiLHtkOiJtMiAyIDcuMTcgNy4xNyJ9XSxbInBhdGgiLHtkOiJNMiA1LjM1NVYyaDMuMzU3In1dLFsicGF0aCIse2Q6Im0yMiAyLTcuMTcgNy4xNyJ9XSxbInBhdGgiLHtkOiJNOCA1IDUgOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEyIixyOiI0In1dXX0pO3ZhciBkVixPVWU9ZigoKT0+e2RWPVtbInBhdGgiLHtkOiJNMTAgMTF2NiJ9XSxbInBhdGgiLHtkOiJNMTQgMTF2NiJ9XSxbInBhdGgiLHtkOiJNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2In1dLFsicGF0aCIse2Q6Ik0zIDZoMTgifV0sWyJwYXRoIix7ZDoiTTggNlY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjIifV1dfSk7dmFyIHVWLEZVZT1mKCgpPT57dVY9W1sicGF0aCIse2Q6Ik0xOSA2djE0YTIgMiAwIDAgMS0yIDJIN2EyIDIgMCAwIDEtMi0yVjYifV0sWyJwYXRoIix7ZDoiTTMgNmgxOCJ9XSxbInBhdGgiLHtkOiJNOCA2VjRhMiAyIDAgMCAxIDItMmg0YTIgMiAwIDAgMSAyIDJ2MiJ9XV19KTt2YXIgcFYsQlVlPWYoKCk9PntwVj1bWyJwYXRoIix7ZDoiTTggMTlhNCA0IDAgMCAxLTIuMjQtNy4zMkEzLjUgMy41IDAgMCAxIDkgNi4wM1Y2YTMgMyAwIDEgMSA2IDB2LjA0YTMuNSAzLjUgMCAwIDEgMy4yNCA1LjY1QTQgNCAwIDAgMSAxNiAxOVoifV0sWyJwYXRoIix7ZDoiTTEyIDE5djMifV1dfSk7dmFyIGxmLEhVZT1mKCgpPT57bGY9W1sicGF0aCIse2Q6Ik0xMyA4YzAtMi43Ni0yLjQ2LTUtNS41LTVTMiA1LjI0IDIgOGgybDEtMSAxIDFoNCJ9XSxbInBhdGgiLHtkOiJNMTMgNy4xNEE1LjgyIDUuODIgMCAwIDEgMTYuNSA2YzMuMDQgMCA1LjUgMi4yNCA1LjUgNWgtM2wtMS0xLTEgMWgtMyJ9XSxbInBhdGgiLHtkOiJNNS44OSA5LjcxYy0yLjE1IDIuMTUtMi4zIDUuNDctLjM1IDcuNDNsNC4yNC00LjI1LjctLjcuNzEtLjcxIDIuMTItMi4xMmMtMS45NS0xLjk2LTUuMjctMS44LTcuNDIuMzUifV0sWyJwYXRoIix7ZDoiTTExIDE1LjVjLjUgMi41LS4xNyA0LjUtMSA2LjVoNGMyLTUuNS0uNS0xMi0xLTE0In1dXX0pO3ZhciBmVixxVWU9ZigoKT0+e2ZWPVtbInBhdGgiLHtkOiJtMTcgMTQgMyAzLjNhMSAxIDAgMCAxLS43IDEuN0g0LjdhMSAxIDAgMCAxLS43LTEuN0w3IDE0aC0uM2ExIDEgMCAwIDEtLjctMS43TDkgOWgtLjJBMSAxIDAgMCAxIDggNy4zTDEyIDNsNCA0LjNhMSAxIDAgMCAxLS44IDEuN0gxNWwzIDMuM2ExIDEgMCAwIDEtLjcgMS43SDE3WiJ9XSxbInBhdGgiLHtkOiJNMTIgMjJ2LTMifV1dfSk7dmFyIGhWLFZVZT1mKCgpPT57aFY9W1sicGF0aCIse2Q6Ik0xMCAxMHYuMkEzIDMgMCAwIDEgOC45IDE2SDVhMyAzIDAgMCAxLTEtNS44VjEwYTMgMyAwIDAgMSA2IDBaIn1dLFsicGF0aCIse2Q6Ik03IDE2djYifV0sWyJwYXRoIix7ZDoiTTEzIDE5djMifV0sWyJwYXRoIix7ZDoiTTEyIDE5aDguM2ExIDEgMCAwIDAgLjctMS43TDE4IDE0aC4zYTEgMSAwIDAgMCAuNy0xLjdMMTYgOWguMmExIDEgMCAwIDAgLjgtMS43TDEzIDNsLTEuNCAxLjUifV1dfSk7dmFyIG1WLGpVZT1mKCgpPT57bVY9W1sicGF0aCIse2Q6Ik0xNiAxN2g2di02In1dLFsicGF0aCIse2Q6Im0yMiAxNy04LjUtOC41LTUgNUwyIDcifV1dfSk7dmFyIGdWLFVVZT1mKCgpPT57Z1Y9W1sicGF0aCIse2Q6Ik0xNC44MjggMTQuODI4IDIxIDIxIn1dLFsicGF0aCIse2Q6Ik0yMSAxNnY1aC01In1dLFsicGF0aCIse2Q6Im0yMSAzLTkgOS00LTQtNiA2In1dLFsicGF0aCIse2Q6Ik0yMSA4VjNoLTUifV1dfSk7dmFyIGJWLFdVZT1mKCgpPT57YlY9W1sicGF0aCIse2Q6Ik0xNiA3aDZ2NiJ9XSxbInBhdGgiLHtkOiJtMjIgNy04LjUgOC41LTUtNUwyIDE3In1dXX0pO3ZhciBjZixHVWU9ZigoKT0+e2NmPVtbInBhdGgiLHtkOiJtMjEuNzMgMTgtOC0xNGEyIDIgMCAwIDAtMy40OCAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTMifV0sWyJwYXRoIix7ZDoiTTEyIDl2NCJ9XSxbInBhdGgiLHtkOiJNMTIgMTdoLjAxIn1dXX0pO3ZhciB2VixZVWU9ZigoKT0+e3ZWPVtbInBhdGgiLHtkOiJNMTAuMTcgNC4xOTNhMiAyIDAgMCAxIDMuNjY2LjAxMyJ9XSxbInBhdGgiLHtkOiJNMTQgMjFoMiJ9XSxbInBhdGgiLHtkOiJtMTUuODc0IDcuNzQzIDEgMS43MzIifV0sWyJwYXRoIix7ZDoibTE4Ljg0OSAxMi45NTIgMSAxLjczMiJ9XSxbInBhdGgiLHtkOiJNMjEuODI0IDE4LjE4YTIgMiAwIDAgMS0xLjgzNSAyLjgyNCJ9XSxbInBhdGgiLHtkOiJNNC4wMjQgMjFhMiAyIDAgMCAxLTEuODM5LTIuODM5In1dLFsicGF0aCIse2Q6Im01LjEzNiAxMi45NTItMSAxLjczMiJ9XSxbInBhdGgiLHtkOiJNOCAyMWgyIn1dLFsicGF0aCIse2Q6Im04LjEwMiA3Ljc0My0xIDEuNzMyIn1dXX0pO3ZhciB4VixLVWU9ZigoKT0+e3hWPVtbInBhdGgiLHtkOiJNMjIgMThhMiAyIDAgMCAxLTIgMkgzYy0xLjEgMC0xLjMtLjYtLjQtMS4zTDIwLjQgNC4zYy45LS43IDEuNi0uNCAxLjYuN1oifV1dfSk7dmFyIHlWLFpVZT1mKCgpPT57eVY9W1sicGF0aCIse2Q6Ik0xMy43MyA0YTIgMiAwIDAgMC0zLjQ2IDBsLTggMTRBMiAyIDAgMCAwIDQgMjFoMTZhMiAyIDAgMCAwIDEuNzMtM1oifV1dfSk7dmFyIHdWLFhVZT1mKCgpPT57d1Y9W1sicGF0aCIse2Q6Ik0xMCAxNC42NnYxLjYyNmEyIDIgMCAwIDEtLjk3NiAxLjY5NkE1IDUgMCAwIDAgNyAyMS45NzgifV0sWyJwYXRoIix7ZDoiTTE0IDE0LjY2djEuNjI2YTIgMiAwIDAgMCAuOTc2IDEuNjk2QTUgNSAwIDAgMSAxNyAyMS45NzgifV0sWyJwYXRoIix7ZDoiTTE4IDloMS41YTEgMSAwIDAgMCAwLTVIMTgifV0sWyJwYXRoIix7ZDoiTTQgMjJoMTYifV0sWyJwYXRoIix7ZDoiTTYgOWE2IDYgMCAwIDAgMTIgMFYzYTEgMSAwIDAgMC0xLTFIN2ExIDEgMCAwIDAtMSAxeiJ9XSxbInBhdGgiLHtkOiJNNiA5SDQuNWExIDEgMCAwIDEgMC01SDYifV1dfSk7dmFyIE1WLFFVZT1mKCgpPT57TVY9W1sicGF0aCIse2Q6Ik0xNCAxOVY3YTIgMiAwIDAgMC0yLTJIOSJ9XSxbInBhdGgiLHtkOiJNMTUgMTlIOSJ9XSxbInBhdGgiLHtkOiJNMTkgMTloMmExIDEgMCAwIDAgMS0xdi0zLjY1YTEgMSAwIDAgMC0uMjItLjYyTDE4LjMgOS4zOGExIDEgMCAwIDAtLjc4LS4zOEgxNCJ9XSxbInBhdGgiLHtkOiJNMiAxM3Y1YTEgMSAwIDAgMCAxIDFoMiJ9XSxbInBhdGgiLHtkOiJNNCAzIDIuMTUgNS4xNWEuNDk1LjQ5NSAwIDAgMCAuMzUuODZoMi4xNWEuNDcuNDcgMCAwIDEgLjM1Ljg2TDMgOS4wMiJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE5IixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjciLGN5OiIxOSIscjoiMiJ9XV19KTt2YXIga1YsSlVlPWYoKCk9PntrVj1bWyJwYXRoIix7ZDoiTTE0IDE4VjZhMiAyIDAgMCAwLTItMkg0YTIgMiAwIDAgMC0yIDJ2MTFhMSAxIDAgMCAwIDEgMWgyIn1dLFsicGF0aCIse2Q6Ik0xNSAxOEg5In1dLFsicGF0aCIse2Q6Ik0xOSAxOGgyYTEgMSAwIDAgMCAxLTF2LTMuNjVhMSAxIDAgMCAwLS4yMi0uNjI0bC0zLjQ4LTQuMzVBMSAxIDAgMCAwIDE3LjUyIDhIMTQifV0sWyJjaXJjbGUiLHtjeDoiMTciLGN5OiIxOCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTgiLHI6IjIifV1dfSk7dmFyIFNWLGVXZT1mKCgpPT57U1Y9W1sicGF0aCIse2Q6Ik0xNSA0IDUgOSJ9XSxbInBhdGgiLHtkOiJtMTUgOC41LTEwIDUifV0sWyJwYXRoIix7ZDoiTTE4IDEyYTkgOSAwIDAgMS05IDlWMyJ9XV19KTt2YXIgelYsdFdlPWYoKCk9Pnt6Vj1bWyJwYXRoIix7ZDoiTTEwIDEyLjAxaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggOHY0YTggOCAwIDAgMS0xLjA3IDQifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiIxMiIscjoiNCJ9XSxbInJlY3QiLHt4OiIyIix5OiI0Iix3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHJ4OiIyIn1dXX0pO3ZhciBDVixhV2U9ZigoKT0+e0NWPVtbInBhdGgiLHtkOiJtMTIgMTAgMiA0djNhMSAxIDAgMCAwIDEgMWgyYTEgMSAwIDAgMCAxLTF2LTNhOCA4IDAgMSAwLTE2IDB2M2ExIDEgMCAwIDAgMSAxaDJhMSAxIDAgMCAwIDEtMXYtM2wyLTRoNFoifV0sWyJwYXRoIix7ZDoiTTQuODIgNy45IDggMTAifV0sWyJwYXRoIix7ZDoiTTE1LjE4IDcuOSAxMiAxMCJ9XSxbInBhdGgiLHtkOiJNMTYuOTMgMTBIMjBhMiAyIDAgMCAxIDAgNEgyIn1dXX0pO3ZhciBfVixyV2U9ZigoKT0+e19WPVtbInBhdGgiLHtkOiJNMTUuMDMzIDkuNDRhLjY0Ny42NDcgMCAwIDEgMCAxLjEybC00LjA2NSAyLjM1MmEuNjQ1LjY0NSAwIDAgMS0uOTY4LS41NlY3LjY0OGEuNjQ1LjY0NSAwIDAgMSAuOTY3LS41NnoifV0sWyJwYXRoIix7ZDoiTTcgMjFoMTAifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiIzIixyeDoiMiJ9XV19KTt2YXIgZGYsc1dlPWYoKCk9PntkZj1bWyJwYXRoIix7ZDoiTTcgMjFoMTAifV0sWyJyZWN0Iix7d2lkdGg6IjIwIixoZWlnaHQ6IjE0Iix4OiIyIix5OiIzIixyeDoiMiJ9XV19KTt2YXIgVFYsaVdlPWYoKCk9PntUVj1bWyJwYXRoIix7ZDoibTE3IDItNSA1LTUtNSJ9XSxbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTUiLHg6IjIiLHk6IjciLHJ4OiIyIn1dXX0pO3ZhciBMVixvV2U9ZigoKT0+e0xWPVtbInBhdGgiLHtkOiJNMTQgMTYuNWEuNS41IDAgMCAwIC41LjVoLjVhMiAyIDAgMCAxIDAgNEg5YTIgMiAwIDAgMSAwLTRoLjVhLjUuNSAwIDAgMCAuNS0uNXYtOWEuNS41IDAgMCAwLS41LS41aC0zYS41LjUgMCAwIDAtLjUuNVY4YTIgMiAwIDAgMS00IDBWNWEyIDIgMCAwIDEgMi0yaDE2YTIgMiAwIDAgMSAyIDJ2M2EyIDIgMCAwIDEtNCAwdi0uNWEuNS41IDAgMCAwLS41LS41aC0zYS41LjUgMCAwIDAtLjUuNVoifV1dfSk7dmFyICRWLG5XZT1mKCgpPT57JFY9W1sicGF0aCIse2Q6Ik0xMiA0djE2In1dLFsicGF0aCIse2Q6Ik00IDdWNWExIDEgMCAwIDEgMS0xaDE0YTEgMSAwIDAgMSAxIDF2MiJ9XSxbInBhdGgiLHtkOiJNOSAyMGg2In1dXX0pO3ZhciBEVixsV2U9ZigoKT0+e0RWPVtbInBhdGgiLHtkOiJNMTIgMTN2N2EyIDIgMCAwIDAgNCAwIn1dLFsicGF0aCIse2Q6Ik0xMiAydjIifV0sWyJwYXRoIix7ZDoiTTE4LjY1NiAxM2gyLjMzNmExIDEgMCAwIDAgLjk3LTEuMjc0IDEwLjI4NCAxMC4yODQgMCAwIDAtMTIuMDctNy41MSJ9XSxbInBhdGgiLHtkOiJtMiAyIDIwIDIwIn1dLFsicGF0aCIse2Q6Ik01Ljk2MSA1Ljk1N2ExMC4yOCAxMC4yOCAwIDAgMC0zLjkyMiA1Ljc2OUExIDEgMCAwIDAgMyAxM2gxMCJ9XV19KTt2YXIgQVYsY1dlPWYoKCk9PntBVj1bWyJwYXRoIix7ZDoiTTEyIDEzdjdhMiAyIDAgMCAwIDQgMCJ9XSxbInBhdGgiLHtkOiJNMTIgMnYyIn1dLFsicGF0aCIse2Q6Ik0yMC45OTIgMTNhMSAxIDAgMCAwIC45Ny0xLjI3NCAxMC4yODQgMTAuMjg0IDAgMCAwLTE5LjkyMyAwQTEgMSAwIDAgMCAzIDEzeiJ9XV19KTt2YXIgRVYsZFdlPWYoKCk9PntFVj1bWyJwYXRoIix7ZDoiTTYgNHY2YTYgNiAwIDAgMCAxMiAwVjQifV0sWyJsaW5lIix7eDE6IjQiLHgyOiIyMCIseTE6IjIwIix5MjoiMjAifV1dfSk7dmFyIFBWLHVXZT1mKCgpPT57UFY9W1sicGF0aCIse2Q6Ik05IDE0IDQgOWw1LTUifV0sWyJwYXRoIix7ZDoiTTQgOWgxMC41YTUuNSA1LjUgMCAwIDEgNS41IDUuNWE1LjUgNS41IDAgMCAxLTUuNSA1LjVIMTEifV1dfSk7dmFyIElWLHBXZT1mKCgpPT57SVY9W1sicGF0aCIse2Q6Ik0yMSAxN2E5IDkgMCAwIDAtMTUtNi43TDMgMTMifV0sWyJwYXRoIix7ZDoiTTMgN3Y2aDYifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNyIscjoiMSJ9XV19KTt2YXIgTlYsZldlPWYoKCk9PntOVj1bWyJwYXRoIix7ZDoiTTMgN3Y2aDYifV0sWyJwYXRoIix7ZDoiTTIxIDE3YTkgOSAwIDAgMC05LTkgOSA5IDAgMCAwLTYgMi4zTDMgMTMifV1dfSk7dmFyIFJWLGhXZT1mKCgpPT57UlY9W1sicGF0aCIse2Q6Ik0xNiAxMmg2In1dLFsicGF0aCIse2Q6Ik04IDEySDIifV0sWyJwYXRoIix7ZDoiTTEyIDJ2MiJ9XSxbInBhdGgiLHtkOiJNMTIgOHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAxNHYyIn1dLFsicGF0aCIse2Q6Ik0xMiAyMHYyIn1dLFsicGF0aCIse2Q6Im0xOSAxNSAzLTMtMy0zIn1dLFsicGF0aCIse2Q6Im01IDktMyAzIDMgMyJ9XV19KTt2YXIgT1YsbVdlPWYoKCk9PntPVj1bWyJwYXRoIix7ZDoiTTEyIDIydi02In1dLFsicGF0aCIse2Q6Ik0xMiA4VjIifV0sWyJwYXRoIix7ZDoiTTQgMTJIMiJ9XSxbInBhdGgiLHtkOiJNMTAgMTJIOCJ9XSxbInBhdGgiLHtkOiJNMTYgMTJoLTIifV0sWyJwYXRoIix7ZDoiTTIyIDEyaC0yIn1dLFsicGF0aCIse2Q6Im0xNSAxOS0zIDMtMy0zIn1dLFsicGF0aCIse2Q6Im0xNSA1LTMtMy0zIDMifV1dfSk7dmFyIHVmLGdXZT1mKCgpPT57dWY9W1sicGF0aCIse2Q6Ik0xNCAyMXYtM2EyIDIgMCAwIDAtNCAwdjMifV0sWyJwYXRoIix7ZDoiTTE4IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNMTggMTZoLjAxIn1dLFsicGF0aCIse2Q6Ik0yMiA3YTEgMSAwIDAgMC0xLTFoLTJhMiAyIDAgMCAxLTEuMTQzLS4zNTlMMTMuMTQzIDIuMzZhMiAyIDAgMCAwLTIuMjg2LS4wMDFMNi4xNDMgNS42NEEyIDIgMCAwIDEgNSA2SDNhMSAxIDAgMCAwLTEgMXYxMmEyIDIgMCAwIDAgMiAyaDE2YTIgMiAwIDAgMCAyLTJ6In1dLFsicGF0aCIse2Q6Ik02IDEyaC4wMSJ9XSxbInBhdGgiLHtkOiJNNiAxNmguMDEifV0sWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiMiJ9XV19KTt2YXIgRlYsYldlPWYoKCk9PntGVj1bWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNiIseDoiNSIseToiNCIscng6IjEifV0sWyJyZWN0Iix7d2lkdGg6IjgiLGhlaWdodDoiNiIseDoiMTEiLHk6IjE0IixyeDoiMSJ9XV19KTt2YXIgQlYsdldlPWYoKCk9PntCVj1bWyJwYXRoIix7ZDoiTTE1IDdoMmE1IDUgMCAwIDEgMCAxMGgtMm0tNiAwSDdBNSA1IDAgMCAxIDcgN2gyIn1dXX0pO3ZhciBIVix4V2U9ZigoKT0+e0hWPVtbInBhdGgiLHtkOiJtMTkgNSAzLTMifV0sWyJwYXRoIix7ZDoibTIgMjIgMy0zIn1dLFsicGF0aCIse2Q6Ik02LjMgMjAuM2EyLjQgMi40IDAgMCAwIDMuNCAwTDEyIDE4bC02LTYtMi4zIDIuM2EyLjQgMi40IDAgMCAwIDAgMy40WiJ9XSxbInBhdGgiLHtkOiJNNy41IDEzLjUgMTAgMTEifV0sWyJwYXRoIix7ZDoiTTEwLjUgMTYuNSAxMyAxNCJ9XSxbInBhdGgiLHtkOiJtMTIgNiA2IDYgMi4zLTIuM2EyLjQgMi40IDAgMCAwIDAtMy40bC0yLjYtMi42YTIuNCAyLjQgMCAwIDAtMy40IDBaIn1dXX0pO3ZhciBxVix5V2U9ZigoKT0+e3FWPVtbInBhdGgiLHtkOiJtMTguODQgMTIuMjUgMS43Mi0xLjcxaC0uMDJhNS4wMDQgNS4wMDQgMCAwIDAtLjEyLTcuMDcgNS4wMDYgNS4wMDYgMCAwIDAtNi45NSAwbC0xLjcyIDEuNzEifV0sWyJwYXRoIix7ZDoibTUuMTcgMTEuNzUtMS43MSAxLjcxYTUuMDA0IDUuMDA0IDAgMCAwIC4xMiA3LjA3IDUuMDA2IDUuMDA2IDAgMCAwIDYuOTUgMGwxLjcxLTEuNzEifV0sWyJsaW5lIix7eDE6IjgiLHgyOiI4Iix5MToiMiIseTI6IjUifV0sWyJsaW5lIix7eDE6IjIiLHgyOiI1Iix5MToiOCIseTI6IjgifV0sWyJsaW5lIix7eDE6IjE2Iix4MjoiMTYiLHkxOiIxOSIseTI6IjIyIn1dLFsibGluZSIse3gxOiIxOSIseDI6IjIyIix5MToiMTYiLHkyOiIxNiJ9XV19KTt2YXIgVlYsd1dlPWYoKCk9PntWVj1bWyJwYXRoIix7ZDoiTTEyIDN2MTIifV0sWyJwYXRoIix7ZDoibTE3IDgtNS01LTUgNSJ9XSxbInBhdGgiLHtkOiJNMjEgMTV2NGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnYtNCJ9XV19KTt2YXIgalYsTVdlPWYoKCk9PntqVj1bWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI3IixyOiIxIn1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiIyMCIscjoiMSJ9XSxbInBhdGgiLHtkOiJNNC43IDE5LjMgMTkgNSJ9XSxbInBhdGgiLHtkOiJtMjEgMy0zIDEgMiAyWiJ9XSxbInBhdGgiLHtkOiJNOS4yNiA3LjY4IDUgMTJsMiA1In1dLFsicGF0aCIse2Q6Im0xMCAxNCA1IDIgMy41LTMuNSJ9XSxbInBhdGgiLHtkOiJtMTggMTIgMS0xIDEgMS0xIDFaIn1dXX0pO3ZhciBVVixrV2U9ZigoKT0+e1VWPVtbInBhdGgiLHtkOiJtMTYgMTEgMiAyIDQtNCJ9XSxbInBhdGgiLHtkOiJNMTYgMjF2LTJhNCA0IDAgMCAwLTQtNEg2YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiNyIscjoiNCJ9XV19KTt2YXIgV1YsU1dlPWYoKCk9PntXVj1bWyJwYXRoIix7ZDoiTTEwIDE1SDZhNCA0IDAgMCAwLTQgNHYyIn1dLFsicGF0aCIse2Q6Im0xNC4zMDUgMTYuNTMuOTIzLS4zODIifV0sWyJwYXRoIix7ZDoibTE1LjIyOCAxMy44NTItLjkyMy0uMzgzIn1dLFsicGF0aCIse2Q6Im0xNi44NTIgMTIuMjI4LS4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDE3Ljc3Mi0uMzgzLjkyNCJ9XSxbInBhdGgiLHtkOiJtMTkuMTQ4IDEyLjIyOC4zODMtLjkyMyJ9XSxbInBhdGgiLHtkOiJtMTkuNTMgMTguNjk2LS4zODItLjkyNCJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDEzLjg1Mi45MjQtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE2LjE0OC45MjQuMzgzIn1dLFsiY2lyY2xlIix7Y3g6IjE4IixjeToiMTUiLHI6IjMifV0sWyJjaXJjbGUiLHtjeDoiOSIsY3k6IjciLHI6IjQifV1dfSk7dmFyIEdWLHpXZT1mKCgpPT57R1Y9W1sicGF0aCIse2Q6Ik0yMCAxMXY2In1dLFsicGF0aCIse2Q6Ik0yMCAxM2gyIn1dLFsicGF0aCIse2Q6Ik0zIDIxdi0yYTQgNCAwIDAgMSA0LTRoNmE0IDQgMCAwIDEgMi4wNzIuNTc4In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiNyIscjoiNCJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjE5IixyOiIyIn1dXX0pO3ZhciBZVixDV2U9ZigoKT0+e1lWPVtbInBhdGgiLHtkOiJNMTkgMTZ2LTJhMiAyIDAgMCAwLTQgMHYyIn1dLFsicGF0aCIse2Q6Ik05LjUgMTVIN2E0IDQgMCAwIDAtNCA0djIifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI3IixyOiI0In1dLFsicmVjdCIse3g6IjEzIix5OiIxNiIsd2lkdGg6IjgiLGhlaWdodDoiNSIscng6Ii44OTkifV1dfSk7dmFyIEtWLF9XZT1mKCgpPT57S1Y9W1sicGF0aCIse2Q6Ik0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHYyIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI3IixyOiI0In1dLFsibGluZSIse3gxOiIyMiIseDI6IjE2Iix5MToiMTEiLHkyOiIxMSJ9XV19KTt2YXIgWlYsVFdlPWYoKCk9PntaVj1bWyJwYXRoIix7ZDoiTTExLjUgMTVIN2E0IDQgMCAwIDAtNCA0djIifV0sWyJwYXRoIix7ZDoiTTIxLjM3OCAxNi42MjZhMSAxIDAgMCAwLTMuMDA0LTMuMDA0bC00LjAxIDQuMDEyYTIgMiAwIDAgMC0uNTA2Ljg1NGwtLjgzNyAyLjg3YS41LjUgMCAwIDAgLjYyLjYybDIuODctLjgzN2EyIDIgMCAwIDAgLjg1NC0uNTA2eiJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjciLHI6IjQifV1dfSk7dmFyIFhWLExXZT1mKCgpPT57WFY9W1sicGF0aCIse2Q6Ik0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHYyIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI3IixyOiI0In1dLFsibGluZSIse3gxOiIxOSIseDI6IjE5Iix5MToiOCIseTI6IjE0In1dLFsibGluZSIse3gxOiIyMiIseDI6IjE2Iix5MToiMTEiLHkyOiIxMSJ9XV19KTt2YXIgcGYsJFdlPWYoKCk9PntwZj1bWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDEzLjI5Mi02In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJtMTYgMTkgMiAyIDQtNCJ9XV19KTt2YXIgZmYsRFdlPWYoKCk9PntmZj1bWyJwYXRoIix7ZDoibTE0LjMwNSAxOS41My45MjMtLjM4MiJ9XSxbInBhdGgiLHtkOiJtMTUuMjI4IDE2Ljg1Mi0uOTIzLS4zODMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAxNS4yMjgtLjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xNi44NTIgMjAuNzcyLS4zODMuOTI0In1dLFsicGF0aCIse2Q6Im0xOS4xNDggMTUuMjI4LjM4My0uOTIzIn1dLFsicGF0aCIse2Q6Im0xOS41MyAyMS42OTYtLjM4Mi0uOTI0In1dLFsicGF0aCIse2Q6Ik0yIDIxYTggOCAwIDAgMSAxMC40MzQtNy42MiJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE2Ljg1Mi45MjQtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMjAuNzcyIDE5LjE0OC45MjQuMzgzIn1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbImNpcmNsZSIse2N4OiIxOCIsY3k6IjE4IixyOiIzIn1dXX0pO3ZhciBRVixBV2U9ZigoKT0+e1FWPVtbInBhdGgiLHtkOiJNMTkgMTF2NiJ9XSxbInBhdGgiLHtkOiJNMTkgMTNoMiJ9XSxbInBhdGgiLHtkOiJNMiAyMWE4IDggMCAwIDEgMTIuODY4LTYuMzQ5In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbImNpcmNsZSIse2N4OiIxOSIsY3k6IjE5IixyOiIyIn1dXX0pO3ZhciBoZixFV2U9ZigoKT0+e2hmPVtbInBhdGgiLHtkOiJNMiAyMWE4IDggMCAwIDEgMTMuMjkyLTYifV0sWyJjaXJjbGUiLHtjeDoiMTAiLGN5OiI4IixyOiI1In1dLFsicGF0aCIse2Q6Ik0yMiAxOWgtNiJ9XV19KTt2YXIgSlYsUFdlPWYoKCk9PntKVj1bWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDEwLjgyMS03LjQ4NyJ9XSxbInBhdGgiLHtkOiJNMjEuMzc4IDE2LjYyNmExIDEgMCAwIDAtMy4wMDQtMy4wMDRsLTQuMDEgNC4wMTJhMiAyIDAgMCAwLS41MDYuODU0bC0uODM3IDIuODdhLjUuNSAwIDAgMCAuNjIuNjJsMi44Ny0uODM3YTIgMiAwIDAgMCAuODU0LS41MDZ6In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XV19KTt2YXIgbWYsSVdlPWYoKCk9PnttZj1bWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDEzLjI5Mi02In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJNMTkgMTZ2NiJ9XSxbInBhdGgiLHtkOiJNMjIgMTloLTYifV1dfSk7dmFyIGVqLE5XZT1mKCgpPT57ZWo9W1siY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJNMiAyMWE4IDggMCAwIDEgMTAuNDM0LTcuNjIifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XSxbInBhdGgiLHtkOiJtMjIgMjItMS45LTEuOSJ9XV19KTt2YXIgZ2YsUldlPWYoKCk9PntnZj1bWyJwYXRoIix7ZDoiTTIgMjFhOCA4IDAgMCAxIDExLjg3My03In1dLFsiY2lyY2xlIix7Y3g6IjEwIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJtMTcgMTcgNSA1In1dLFsicGF0aCIse2Q6Im0yMiAxNy01IDUifV1dfSk7dmFyIGJmLE9XZT1mKCgpPT57YmY9W1siY2lyY2xlIix7Y3g6IjEyIixjeToiOCIscjoiNSJ9XSxbInBhdGgiLHtkOiJNMjAgMjFhOCA4IDAgMCAwLTE2IDAifV1dfSk7dmFyIHRqLEZXZT1mKCgpPT57dGo9W1siY2lyY2xlIix7Y3g6IjEwIixjeToiNyIscjoiNCJ9XSxbInBhdGgiLHtkOiJNMTAuMyAxNUg3YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE3IixyOiIzIn1dLFsicGF0aCIse2Q6Im0yMSAyMS0xLjktMS45In1dXX0pO3ZhciBhaixCV2U9ZigoKT0+e2FqPVtbInBhdGgiLHtkOiJNMTYuMDUxIDEyLjYxNmExIDEgMCAwIDEgMS45MDkuMDI0bC43MzcgMS40NTJhMSAxIDAgMCAwIC43MzcuNTM1bDEuNjM0LjI1NmExIDEgMCAwIDEgLjU4OCAxLjgwNmwtMS4xNzIgMS4xNjhhMSAxIDAgMCAwLS4yODIuODY2bC4yNTkgMS42MTNhMSAxIDAgMCAxLTEuNTQxIDEuMTM0bC0xLjQ2NS0uNzVhMSAxIDAgMCAwLS45MTIgMGwtMS40NjUuNzVhMSAxIDAgMCAxLTEuNTM5LTEuMTMzbC4yNTgtMS42MTNhMSAxIDAgMCAwLS4yODItLjg2NmwtMS4xNTYtMS4xNTNhMSAxIDAgMCAxIC41NzItMS44MjJsMS42MzMtLjI1NmExIDEgMCAwIDAgLjczNy0uNTM1eiJ9XSxbInBhdGgiLHtkOiJNOCAxNUg3YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjciLHI6IjQifV1dfSk7dmFyIHJqLEhXZT1mKCgpPT57cmo9W1sicGF0aCIse2Q6Ik0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHYyIn1dLFsiY2lyY2xlIix7Y3g6IjkiLGN5OiI3IixyOiI0In1dLFsibGluZSIse3gxOiIxNyIseDI6IjIyIix5MToiOCIseTI6IjEzIn1dLFsibGluZSIse3gxOiIyMiIseDI6IjE3Iix5MToiOCIseTI6IjEzIn1dXX0pO3ZhciBzaixxV2U9ZigoKT0+e3NqPVtbInBhdGgiLHtkOiJNMTkgMjF2LTJhNCA0IDAgMCAwLTQtNEg5YTQgNCAwIDAgMC00IDR2MiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjciLHI6IjQifV1dfSk7dmFyIHZmLFZXZT1mKCgpPT57dmY9W1sicGF0aCIse2Q6Ik0xOCAyMWE4IDggMCAwIDAtMTYgMCJ9XSxbImNpcmNsZSIse2N4OiIxMCIsY3k6IjgiLHI6IjUifV0sWyJwYXRoIix7ZDoiTTIyIDIwYzAtMy4zNy0yLTYuNS00LThhNSA1IDAgMCAwLS40NS04LjMifV1dfSk7dmFyIGlqLGpXZT1mKCgpPT57aWo9W1sicGF0aCIse2Q6Ik0xNiAyMXYtMmE0IDQgMCAwIDAtNC00SDZhNCA0IDAgMCAwLTQgNHYyIn1dLFsicGF0aCIse2Q6Ik0xNiAzLjEyOGE0IDQgMCAwIDEgMCA3Ljc0NCJ9XSxbInBhdGgiLHtkOiJNMjIgMjF2LTJhNCA0IDAgMCAwLTMtMy44NyJ9XSxbImNpcmNsZSIse2N4OiI5IixjeToiNyIscjoiNCJ9XV19KTt2YXIgeGYsVVdlPWYoKCk9Pnt4Zj1bWyJwYXRoIix7ZDoibTE2IDItMi4zIDIuM2EzIDMgMCAwIDAgMCA0LjJsMS44IDEuOGEzIDMgMCAwIDAgNC4yIDBMMjIgOCJ9XSxbInBhdGgiLHtkOiJNMTUgMTUgMy4zIDMuM2E0LjIgNC4yIDAgMCAwIDAgNmw3LjMgNy4zYy43LjcgMiAuNyAyLjggMEwxNSAxNVptMCAwIDcgNyJ9XSxbInBhdGgiLHtkOiJtMi4xIDIxLjggNi40LTYuMyJ9XSxbInBhdGgiLHtkOiJtMTkgNS03IDcifV1dfSk7dmFyIHlmLFdXZT1mKCgpPT57eWY9W1sicGF0aCIse2Q6Ik0zIDJ2N2MwIDEuMS45IDIgMiAyaDRhMiAyIDAgMCAwIDItMlYyIn1dLFsicGF0aCIse2Q6Ik03IDJ2MjAifV0sWyJwYXRoIix7ZDoiTTIxIDE1VjJhNSA1IDAgMCAwLTUgNXY2YzAgMS4xLjkgMiAyIDJoM1ptMCAwdjcifV1dfSk7dmFyIG9qLEdXZT1mKCgpPT57b2o9W1sicGF0aCIse2Q6Ik0xMyA2djVhMSAxIDAgMCAwIDEgMWg2LjEwMmExIDEgMCAwIDEgLjcxMi4yOThsLjg5OC45MWExIDEgMCAwIDEgLjI4OC43MDJWMTdhMSAxIDAgMCAxLTEgMWgtMyJ9XSxbInBhdGgiLHtkOiJNNSAxOEgzYTEgMSAwIDAgMS0xLTFWOGEyIDIgMCAwIDEgMi0yaDEyYzEuMSAwIDIuMS44IDIuNCAxLjhsMS4xNzYgNC4yIn1dLFsicGF0aCIse2Q6Ik05IDE4aDUifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxOCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTgiLHI6IjIifV1dfSk7dmFyIG5qLFlXZT1mKCgpPT57bmo9W1sicGF0aCIse2Q6Ik0xMiAydjIwIn1dLFsicGF0aCIse2Q6Ik0yIDVoMjAifV0sWyJwYXRoIix7ZDoiTTMgM3YyIn1dLFsicGF0aCIse2Q6Ik03IDN2MiJ9XSxbInBhdGgiLHtkOiJNMTcgM3YyIn1dLFsicGF0aCIse2Q6Ik0yMSAzdjIifV0sWyJwYXRoIix7ZDoibTE5IDUtNyA3LTctNyJ9XV19KTt2YXIgbGosS1dlPWYoKCk9Pntsaj1bWyJwYXRoIix7ZDoiTTggMjFzLTQtMy00LTkgNC05IDQtOSJ9XSxbInBhdGgiLHtkOiJNMTYgM3M0IDMgNCA5LTQgOS00IDkifV0sWyJsaW5lIix7eDE6IjE1Iix4MjoiOSIseTE6IjkiLHkyOiIxNSJ9XSxbImxpbmUiLHt4MToiOSIseDI6IjE1Iix5MToiOSIseTI6IjE1In1dXX0pO3ZhciBjaixaV2U9ZigoKT0+e2NqPVtbInJlY3QiLHt3aWR0aDoiMTgiLGhlaWdodDoiMTgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsiY2lyY2xlIix7Y3g6IjcuNSIsY3k6IjcuNSIscjoiLjUiLGZpbGw6ImN1cnJlbnRDb2xvciJ9XSxbInBhdGgiLHtkOiJtNy45IDcuOSAyLjcgMi43In1dLFsiY2lyY2xlIix7Y3g6IjE2LjUiLGN5OiI3LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJwYXRoIix7ZDoibTEzLjQgMTAuNiAyLjctMi43In1dLFsiY2lyY2xlIix7Y3g6IjcuNSIsY3k6IjE2LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJwYXRoIix7ZDoibTcuOSAxNi4xIDIuNy0yLjcifV0sWyJjaXJjbGUiLHtjeDoiMTYuNSIsY3k6IjE2LjUiLHI6Ii41IixmaWxsOiJjdXJyZW50Q29sb3IifV0sWyJwYXRoIix7ZDoibTEzLjQgMTMuNCAyLjcgMi43In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjIifV1dfSk7dmFyIGRqLFhXZT1mKCgpPT57ZGo9W1sicGF0aCIse2Q6Ik0xOS41IDdhMjQgMjQgMCAwIDEgMCAxMCJ9XSxbInBhdGgiLHtkOiJNNC41IDdhMjQgMjQgMCAwIDAgMCAxMCJ9XSxbInBhdGgiLHtkOiJNNyAxOS41YTI0IDI0IDAgMCAwIDEwIDAifV0sWyJwYXRoIix7ZDoiTTcgNC41YTI0IDI0IDAgMCAxIDEwIDAifV0sWyJyZWN0Iix7eDoiMTciLHk6IjE3Iix3aWR0aDoiNSIsaGVpZ2h0OiI1IixyeDoiMSJ9XSxbInJlY3QiLHt4OiIxNyIseToiMiIsd2lkdGg6IjUiLGhlaWdodDoiNSIscng6IjEifV0sWyJyZWN0Iix7eDoiMiIseToiMTciLHdpZHRoOiI1IixoZWlnaHQ6IjUiLHJ4OiIxIn1dLFsicmVjdCIse3g6IjIiLHk6IjIiLHdpZHRoOiI1IixoZWlnaHQ6IjUiLHJ4OiIxIn1dXX0pO3ZhciB1aixRV2U9ZigoKT0+e3VqPVtbInBhdGgiLHtkOiJNMTYgOHE2IDAgNi02LTYgMC02IDYifV0sWyJwYXRoIix7ZDoiTTE3LjQxIDMuNTlhMTAgMTAgMCAxIDAgMyAzIn1dLFsicGF0aCIse2Q6Ik0yIDJhMjYuNiAyNi42IDAgMCAxIDEwIDIwYy45LTYuODIgMS41LTkuNSA0LTE0In1dXX0pO3ZhciBwaixKV2U9ZigoKT0+e3BqPVtbInBhdGgiLHtkOiJNMTggMTFjLTEuNSAwLTIuNS41LTMgMiJ9XSxbInBhdGgiLHtkOiJNNCA2YTIgMiAwIDAgMC0yIDJ2NGE1IDUgMCAwIDAgNSA1IDggOCAwIDAgMSA1IDIgOCA4IDAgMCAxIDUtMiA1IDUgMCAwIDAgNS01VjhhMiAyIDAgMCAwLTItMmgtM2E4IDggMCAwIDAtNSAyIDggOCAwIDAgMC01LTJ6In1dLFsicGF0aCIse2Q6Ik02IDExYzEuNSAwIDIuNS41IDMgMiJ9XV19KTt2YXIgZmosZUdlPWYoKCk9Pntmaj1bWyJwYXRoIix7ZDoiTTEwIDIwaDQifV0sWyJwYXRoIix7ZDoiTTEyIDE2djYifV0sWyJwYXRoIix7ZDoiTTE3IDJoNHY0In1dLFsicGF0aCIse2Q6Im0yMSAyLTUuNDYgNS40NiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjExIixyOiI1In1dXX0pO3ZhciBoaix0R2U9ZigoKT0+e2hqPVtbInBhdGgiLHtkOiJNMTIgMTV2NyJ9XSxbInBhdGgiLHtkOiJNOSAxOWg2In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiOSIscjoiNiJ9XV19KTt2YXIgbWosYUdlPWYoKCk9Pnttaj1bWyJwYXRoIix7ZDoibTIgOCAyIDItMiAyIDIgMi0yIDIifV0sWyJwYXRoIix7ZDoibTIyIDgtMiAyIDIgMi0yIDIgMiAyIn1dLFsicGF0aCIse2Q6Ik04IDh2MTBjMCAuNTUuNDUgMSAxIDFoNmMuNTUgMCAxLS40NSAxLTF2LTIifV0sWyJwYXRoIix7ZDoiTTE2IDEwLjM0VjZjMC0uNTUtLjQ1LTEtMS0xaC00LjM0In1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV1dfSk7dmFyIGdqLHJHZT1mKCgpPT57Z2o9W1sicGF0aCIse2Q6Im0yIDggMiAyLTIgMiAyIDItMiAyIn1dLFsicGF0aCIse2Q6Im0yMiA4LTIgMiAyIDItMiAyIDIgMiJ9XSxbInJlY3QiLHt3aWR0aDoiOCIsaGVpZ2h0OiIxNCIseDoiOCIseToiNSIscng6IjEifV1dfSk7dmFyIGJqLHNHZT1mKCgpPT57Ymo9W1sicGF0aCIse2Q6Ik0xMC42NiA2SDE0YTIgMiAwIDAgMSAyIDJ2Mi41bDUuMjQ4LTMuMDYyQS41LjUgMCAwIDEgMjIgNy44N3Y4LjE5NiJ9XSxbInBhdGgiLHtkOiJNMTYgMTZhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDIifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgdmosaUdlPWYoKCk9Pnt2aj1bWyJwYXRoIix7ZDoibTE2IDEzIDUuMjIzIDMuNDgyYS41LjUgMCAwIDAgLjc3Ny0uNDE2VjcuODdhLjUuNSAwIDAgMC0uNzUyLS40MzJMMTYgMTAuNSJ9XSxbInJlY3QiLHt4OiIyIix5OiI2Iix3aWR0aDoiMTQiLGhlaWdodDoiMTIiLHJ4OiIyIn1dXX0pO3ZhciB4aixvR2U9ZigoKT0+e3hqPVtbInJlY3QiLHt3aWR0aDoiMjAiLGhlaWdodDoiMTYiLHg6IjIiLHk6IjQiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik0yIDhoMjAifV0sWyJjaXJjbGUiLHtjeDoiOCIsY3k6IjE0IixyOiIyIn1dLFsicGF0aCIse2Q6Ik04IDEyaDgifV0sWyJjaXJjbGUiLHtjeDoiMTYiLGN5OiIxNCIscjoiMiJ9XV19KTt2YXIgeWosbkdlPWYoKCk9Pnt5aj1bWyJwYXRoIix7ZDoiTTIxIDE3djJhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTIifV0sWyJwYXRoIix7ZDoiTTIxIDdWNWEyIDIgMCAwIDAtMi0ySDVhMiAyIDAgMCAwLTIgMnYyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEifV0sWyJwYXRoIix7ZDoiTTE4Ljk0NCAxMi4zM2ExIDEgMCAwIDAgMC0uNjYgNy41IDcuNSAwIDAgMC0xMy44ODggMCAxIDEgMCAwIDAgMCAuNjYgNy41IDcuNSAwIDAgMCAxMy44ODggMCJ9XV19KTt2YXIgd2osbEdlPWYoKCk9Pnt3aj1bWyJwYXRoIix7ZDoiTTExLjEgNy4xYTE2LjU1IDE2LjU1IDAgMCAxIDEwLjkgNCJ9XSxbInBhdGgiLHtkOiJNMTIgMTJhMTIuNiAxMi42IDAgMCAxLTguNyA1In1dLFsicGF0aCIse2Q6Ik0xNi44IDEzLjZhMTYuNTUgMTYuNTUgMCAwIDEtOSA3LjUifV0sWyJwYXRoIix7ZDoiTTIwLjcgMTdhMTIuOCAxMi44IDAgMCAwLTguNy01IDEzLjMgMTMuMyAwIDAgMSAwLTEwIn1dLFsicGF0aCIse2Q6Ik02LjMgMy44YTE2LjU1IDE2LjU1IDAgMCAwIDEuOSAxMS41In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjEwIn1dXX0pO3ZhciBNaixjR2U9ZigoKT0+e01qPVtbImNpcmNsZSIse2N4OiI2IixjeToiMTIiLHI6IjQifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxMiIscjoiNCJ9XSxbImxpbmUiLHt4MToiNiIseDI6IjE4Iix5MToiMTYiLHkyOiIxNiJ9XV19KTt2YXIga2osZEdlPWYoKCk9Pntraj1bWyJwYXRoIix7ZDoiTTExIDQuNzAyYS43MDUuNzA1IDAgMCAwLTEuMjAzLS40OThMNi40MTMgNy41ODdBMS40IDEuNCAwIDAgMSA1LjQxNiA4SDNhMSAxIDAgMCAwLTEgMXY2YTEgMSAwIDAgMCAxIDFoMi40MTZhMS40IDEuNCAwIDAgMSAuOTk3LjQxM2wzLjM4MyAzLjM4NEEuNzA1LjcwNSAwIDAgMCAxMSAxOS4yOTh6In1dLFsicGF0aCIse2Q6Ik0xNiA5YTUgNSAwIDAgMSAwIDYifV1dfSk7dmFyIFNqLHVHZT1mKCgpPT57U2o9W1sicGF0aCIse2Q6Ik0xMSA0LjcwMmEuNzA1LjcwNSAwIDAgMC0xLjIwMy0uNDk4TDYuNDEzIDcuNTg3QTEuNCAxLjQgMCAwIDEgNS40MTYgOEgzYTEgMSAwIDAgMC0xIDF2NmExIDEgMCAwIDAgMSAxaDIuNDE2YTEuNCAxLjQgMCAwIDEgLjk5Ny40MTNsMy4zODMgMy4zODRBLjcwNS43MDUgMCAwIDAgMTEgMTkuMjk4eiJ9XSxbInBhdGgiLHtkOiJNMTYgOWE1IDUgMCAwIDEgMCA2In1dLFsicGF0aCIse2Q6Ik0xOS4zNjQgMTguMzY0YTkgOSAwIDAgMCAwLTEyLjcyOCJ9XV19KTt2YXIgemoscEdlPWYoKCk9Pnt6aj1bWyJwYXRoIix7ZDoiTTE2IDlhNSA1IDAgMCAxIC45NSAyLjI5MyJ9XSxbInBhdGgiLHtkOiJNMTkuMzY0IDUuNjM2YTkgOSAwIDAgMSAxLjg4OSA5Ljk2In1dLFsicGF0aCIse2Q6Im0yIDIgMjAgMjAifV0sWyJwYXRoIix7ZDoibTcgNy0uNTg3LjU4N0ExLjQgMS40IDAgMCAxIDUuNDE2IDhIM2ExIDEgMCAwIDAtMSAxdjZhMSAxIDAgMCAwIDEgMWgyLjQxNmExLjQgMS40IDAgMCAxIC45OTcuNDEzbDMuMzgzIDMuMzg0QS43MDUuNzA1IDAgMCAwIDExIDE5LjI5OFYxMSJ9XSxbInBhdGgiLHtkOiJNOS44MjggNC4xNzJBLjY4Ni42ODYgMCAwIDEgMTEgNC42NTd2LjY4NiJ9XV19KTt2YXIgQ2osZkdlPWYoKCk9PntDaj1bWyJwYXRoIix7ZDoiTTExIDQuNzAyYS43MDUuNzA1IDAgMCAwLTEuMjAzLS40OThMNi40MTMgNy41ODdBMS40IDEuNCAwIDAgMSA1LjQxNiA4SDNhMSAxIDAgMCAwLTEgMXY2YTEgMSAwIDAgMCAxIDFoMi40MTZhMS40IDEuNCAwIDAgMSAuOTk3LjQxM2wzLjM4MyAzLjM4NEEuNzA1LjcwNSAwIDAgMCAxMSAxOS4yOTh6In1dLFsibGluZSIse3gxOiIyMiIseDI6IjE2Iix5MToiOSIseTI6IjE1In1dLFsibGluZSIse3gxOiIxNiIseDI6IjIyIix5MToiOSIseTI6IjE1In1dXX0pO3ZhciBfaixoR2U9ZigoKT0+e19qPVtbInBhdGgiLHtkOiJNMTEgNC43MDJhLjcwNS43MDUgMCAwIDAtMS4yMDMtLjQ5OEw2LjQxMyA3LjU4N0ExLjQgMS40IDAgMCAxIDUuNDE2IDhIM2ExIDEgMCAwIDAtMSAxdjZhMSAxIDAgMCAwIDEgMWgyLjQxNmExLjQgMS40IDAgMCAxIC45OTcuNDEzbDMuMzgzIDMuMzg0QS43MDUuNzA1IDAgMCAwIDExIDE5LjI5OHoifV1dfSk7dmFyIFRqLG1HZT1mKCgpPT57VGo9W1sicGF0aCIse2Q6Im05IDEyIDIgMiA0LTQifV0sWyJwYXRoIix7ZDoiTTUgN2MwLTEuMS45LTIgMi0yaDEwYTIgMiAwIDAgMSAyIDJ2MTJINVY3WiJ9XSxbInBhdGgiLHtkOiJNMjIgMTlIMiJ9XV19KTt2YXIgTGosZ0dlPWYoKCk9PntMaj1bWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjE4Iix4OiIzIix5OiIzIixyeDoiMiJ9XSxbInBhdGgiLHtkOiJNMyA5YTIgMiAwIDAgMSAyLTJoMTRhMiAyIDAgMCAxIDIgMiJ9XSxbInBhdGgiLHtkOiJNMyAxMWgzYy44IDAgMS42LjMgMi4xLjlsMS4xLjljMS42IDEuNiA0LjEgMS42IDUuNyAwbDEuMS0uOWMuNS0uNSAxLjMtLjkgMi4xLS45SDIxIn1dXX0pO3ZhciB3ZixiR2U9ZigoKT0+e3dmPVtbInBhdGgiLHtkOiJNMTcgMTRoLjAxIn1dLFsicGF0aCIse2Q6Ik03IDdoMTJhMiAyIDAgMCAxIDIgMnYxMGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoMTQifV1dfSk7dmFyICRqLHZHZT1mKCgpPT57JGo9W1sicGF0aCIse2Q6Ik0xOSA3VjRhMSAxIDAgMCAwLTEtMUg1YTIgMiAwIDAgMCAwIDRoMTVhMSAxIDAgMCAxIDEgMXY0aC0zYTIgMiAwIDAgMCAwIDRoM2ExIDEgMCAwIDAgMS0xdi0yYTEgMSAwIDAgMC0xLTEifV0sWyJwYXRoIix7ZDoiTTMgNXYxNGEyIDIgMCAwIDAgMiAyaDE1YTEgMSAwIDAgMCAxLTF2LTQifV1dfSk7dmFyIERqLHhHZT1mKCgpPT57RGo9W1sicGF0aCIse2Q6Ik0xMiAxN3Y0In1dLFsicGF0aCIse2Q6Ik04IDIxaDgifV0sWyJwYXRoIix7ZDoibTkgMTcgNi4xLTYuMWEyIDIgMCAwIDEgMi44MS4wMUwyMiAxNSJ9XSxbImNpcmNsZSIse2N4OiI4IixjeToiOSIscjoiMiJ9XSxbInJlY3QiLHt4OiIyIix5OiIzIix3aWR0aDoiMjAiLGhlaWdodDoiMTQiLHJ4OiIyIn1dXX0pO3ZhciBNZix5R2U9ZigoKT0+e01mPVtbInBhdGgiLHtkOiJtMjEuNjQgMy42NC0xLjI4LTEuMjhhMS4yMSAxLjIxIDAgMCAwLTEuNzIgMEwyLjM2IDE4LjY0YTEuMjEgMS4yMSAwIDAgMCAwIDEuNzJsMS4yOCAxLjI4YTEuMiAxLjIgMCAwIDAgMS43MiAwTDIxLjY0IDUuMzZhMS4yIDEuMiAwIDAgMCAwLTEuNzIifV0sWyJwYXRoIix7ZDoibTE0IDcgMyAzIn1dLFsicGF0aCIse2Q6Ik01IDZ2NCJ9XSxbInBhdGgiLHtkOiJNMTkgMTR2NCJ9XSxbInBhdGgiLHtkOiJNMTAgMnYyIn1dLFsicGF0aCIse2Q6Ik03IDhIMyJ9XSxbInBhdGgiLHtkOiJNMjEgMTZoLTQifV0sWyJwYXRoIix7ZDoiTTExIDNIOSJ9XV19KTt2YXIgQWosd0dlPWYoKCk9PntBaj1bWyJwYXRoIix7ZDoiTTE1IDRWMiJ9XSxbInBhdGgiLHtkOiJNMTUgMTZ2LTIifV0sWyJwYXRoIix7ZDoiTTggOWgyIn1dLFsicGF0aCIse2Q6Ik0yMCA5aDIifV0sWyJwYXRoIix7ZDoiTTE3LjggMTEuOCAxOSAxMyJ9XSxbInBhdGgiLHtkOiJNMTUgOWguMDEifV0sWyJwYXRoIix7ZDoiTTE3LjggNi4yIDE5IDUifV0sWyJwYXRoIix7ZDoibTMgMjEgOS05In1dLFsicGF0aCIse2Q6Ik0xMi4yIDYuMiAxMSA1In1dXX0pO3ZhciBFaixNR2U9ZigoKT0+e0VqPVtbInBhdGgiLHtkOiJNMTggMjFWMTBhMSAxIDAgMCAwLTEtMUg3YTEgMSAwIDAgMC0xIDF2MTEifV0sWyJwYXRoIix7ZDoiTTIyIDE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDEuMTMyLTEuODAzbDcuOTUtMy45NzRhMiAyIDAgMCAxIDEuODM3IDBsNy45NDggMy45NzRBMiAyIDAgMCAxIDIyIDh6In1dLFsicGF0aCIse2Q6Ik02IDEzaDEyIn1dLFsicGF0aCIse2Q6Ik02IDE3aDEyIn1dXX0pO3ZhciBQaixrR2U9ZigoKT0+e1BqPVtbInBhdGgiLHtkOiJNMTIgMTB2Mi4ybDEuNiAxIn1dLFsicGF0aCIse2Q6Im0xNi4xMyA3LjY2LS44MS00LjA1YTIgMiAwIDAgMC0yLTEuNjFoLTIuNjhhMiAyIDAgMCAwLTIgMS42MWwtLjc4IDQuMDUifV0sWyJwYXRoIix7ZDoibTcuODggMTYuMzYuOCA0YTIgMiAwIDAgMCAyIDEuNjFoMi43MmEyIDIgMCAwIDAgMi0xLjYxbC44MS00LjA1In1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiMTIiLHI6IjYifV1dfSk7dmFyIElqLFNHZT1mKCgpPT57SWo9W1sicGF0aCIse2Q6Ik0zIDZoMyJ9XSxbInBhdGgiLHtkOiJNMTcgNmguMDEifV0sWyJyZWN0Iix7d2lkdGg6IjE4IixoZWlnaHQ6IjIwIix4OiIzIix5OiIyIixyeDoiMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEzIixyOiI1In1dLFsicGF0aCIse2Q6Ik0xMiAxOGEyLjUgMi41IDAgMCAwIDAtNSAyLjUgMi41IDAgMCAxIDAtNSJ9XV19KTt2YXIgTmosekdlPWYoKCk9PntOaj1bWyJwYXRoIix7ZDoiTTEyIDEwTDEyIDIifV0sWyJwYXRoIix7ZDoiTTE2IDZMMTIgMTBMOCA2In1dLFsicGF0aCIse2Q6Ik0yIDE1QzIuNiAxNS41IDMuMiAxNiA0LjUgMTZDNyAxNiA3IDE0IDkuNSAxNEMxMi4xIDE0IDExLjkgMTYgMTQuNSAxNkMxNyAxNiAxNyAxNCAxOS41IDE0QzIwLjggMTQgMjEuNCAxNC41IDIyIDE1In1dLFsicGF0aCIse2Q6Ik0yIDIxQzIuNiAyMS41IDMuMiAyMiA0LjUgMjJDNyAyMiA3IDIwIDkuNSAyMEMxMi4xIDIwIDExLjkgMjIgMTQuNSAyMkMxNyAyMiAxNyAyMCAxOS41IDIwQzIwLjggMjAgMjEuNCAyMC41IDIyIDIxIn1dXX0pO3ZhciBSaixDR2U9ZigoKT0+e1JqPVtbInBhdGgiLHtkOiJNMTIgMnY4In1dLFsicGF0aCIse2Q6Ik0yIDE1Yy42LjUgMS4yIDEgMi41IDEgMi41IDAgMi41LTIgNS0yIDIuNiAwIDIuNCAyIDUgMiAyLjUgMCAyLjUtMiA1LTIgMS4zIDAgMS45LjUgMi41IDEifV0sWyJwYXRoIix7ZDoiTTIgMjFjLjYuNSAxLjIgMSAyLjUgMSAyLjUgMCAyLjUtMiA1LTIgMi42IDAgMi40IDIgNSAyIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSJ9XSxbInBhdGgiLHtkOiJtOCA2IDQtNCA0IDQifV1dfSk7dmFyIGtmLF9HZT1mKCgpPT57a2Y9W1sicGF0aCIse2Q6Ik0yIDEycTIuNSAyIDUgMHQ1IDAgNSAwIDUgMCJ9XSxbInBhdGgiLHtkOiJNMiAxOXEyLjUgMiA1IDB0NSAwIDUgMCA1IDAifV0sWyJwYXRoIix7ZDoiTTIgNXEyLjUgMiA1IDB0NSAwIDUgMCA1IDAifV1dfSk7dmFyIE9qLFRHZT1mKCgpPT57T2o9W1sicGF0aCIse2Q6Ik0xOSA1YTIgMiAwIDAgMC0yIDJ2MTEifV0sWyJwYXRoIix7ZDoiTTIgMThjLjYuNSAxLjIgMSAyLjUgMSAyLjUgMCAyLjUtMiA1LTIgMi42IDAgMi40IDIgNSAyIDIuNSAwIDIuNS0yIDUtMiAxLjMgMCAxLjkuNSAyLjUgMSJ9XSxbInBhdGgiLHtkOiJNNyAxM2gxMCJ9XSxbInBhdGgiLHtkOiJNNyA5aDEwIn1dLFsicGF0aCIse2Q6Ik05IDVhMiAyIDAgMCAwLTIgMnYxMSJ9XV19KTt2YXIgRmosTEdlPWYoKCk9PntGaj1bWyJwYXRoIix7ZDoiTTEyIDJxMiAyLjUgMCA1dDAgNSAwIDUgMCA1In1dLFsicGF0aCIse2Q6Ik0xOSAycTIgMi41IDAgNXQwIDUgMCA1IDAgNSJ9XSxbInBhdGgiLHtkOiJNNSAycTIgMi41IDAgNXQwIDUgMCA1IDAgNSJ9XV19KTt2YXIgQmosJEdlPWYoKCk9PntCaj1bWyJwYXRoIix7ZDoibTEwLjU4NiA1LjQxNC01LjE3MiA1LjE3MiJ9XSxbInBhdGgiLHtkOiJtMTguNTg2IDEzLjQxNC01LjE3MiA1LjE3MiJ9XSxbInBhdGgiLHtkOiJNNiAxMmgxMiJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjIwIixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNCIscjoiMiJ9XSxbImNpcmNsZSIse2N4OiIyMCIsY3k6IjEyIixyOiIyIn1dLFsiY2lyY2xlIix7Y3g6IjQiLGN5OiIxMiIscjoiMiJ9XV19KTt2YXIgSGosREdlPWYoKCk9PntIaj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxMCIscjoiOCJ9XSxbImNpcmNsZSIse2N4OiIxMiIsY3k6IjEwIixyOiIzIn1dLFsicGF0aCIse2Q6Ik03IDIyaDEwIn1dLFsicGF0aCIse2Q6Ik0xMiAyMnYtNCJ9XV19KTt2YXIgcWosQUdlPWYoKCk9Pntxaj1bWyJwYXRoIix7ZDoiTTE3IDE3aC01Yy0xLjA5LS4wMi0xLjk0LjkyLTIuNSAxLjlBMyAzIDAgMSAxIDIuNTcgMTUifV0sWyJwYXRoIix7ZDoiTTkgMy40YTQgNCAwIDAgMSA2LjUyLjY2In1dLFsicGF0aCIse2Q6Im02IDE3IDMuMS01LjhhMi41IDIuNSAwIDAgMCAuMDU3LTIuMDUifV0sWyJwYXRoIix7ZDoiTTIwLjMgMjAuM2E0IDQgMCAwIDEtMi4zLjcifV0sWyJwYXRoIix7ZDoiTTE4LjYgMTNhNCA0IDAgMCAxIDMuMzU3IDMuNDE0In1dLFsicGF0aCIse2Q6Im0xMiA2IC42IDEifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgVmosRUdlPWYoKCk9PntWaj1bWyJwYXRoIix7ZDoiTTE4IDE2Ljk4aC01Ljk5Yy0xLjEgMC0xLjk1Ljk0LTIuNDggMS45QTQgNCAwIDAgMSAyIDE3Yy4wMS0uNy4yLTEuNC41Ny0yIn1dLFsicGF0aCIse2Q6Im02IDE3IDMuMTMtNS43OGMuNTMtLjk3LjEtMi4xOC0uNS0zLjFhNCA0IDAgMSAxIDYuODktNC4wNiJ9XSxbInBhdGgiLHtkOiJtMTIgNiAzLjEzIDUuNzNDMTUuNjYgMTIuNyAxNi45IDEzIDE4IDEzYTQgNCAwIDAgMSAwIDgifV1dfSk7dmFyIGpqLFBHZT1mKCgpPT57amo9W1sicGF0aCIse2Q6Ik02LjUgOGEyIDIgMCAwIDAtMS45MDYgMS40NkwyLjEgMTguNUEyIDIgMCAwIDAgNCAyMWgxNmEyIDIgMCAwIDAgMS45MjUtMi41NEwxOS40IDkuNUEyIDIgMCAwIDAgMTcuNDggOHoifV0sWyJwYXRoIix7ZDoiTTcuOTk5IDE1YTIuNSAyLjUgMCAwIDEgNCAwIDIuNSAyLjUgMCAwIDAgNCAwIn1dLFsiY2lyY2xlIix7Y3g6IjEyIixjeToiNSIscjoiMyJ9XV19KTt2YXIgVWosSUdlPWYoKCk9PntVaj1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiI1IixyOiIzIn1dLFsicGF0aCIse2Q6Ik02LjUgOGEyIDIgMCAwIDAtMS45MDUgMS40NkwyLjEgMTguNUEyIDIgMCAwIDAgNCAyMWgxNmEyIDIgMCAwIDAgMS45MjUtMi41NEwxOS40IDkuNUEyIDIgMCAwIDAgMTcuNDggOFoifV1dfSk7dmFyIFdqLE5HZT1mKCgpPT57V2o9W1sicGF0aCIse2Q6Im0yIDIyIDEwLTEwIn1dLFsicGF0aCIse2Q6Im0xNiA4LTEuMTcgMS4xNyJ9XSxbInBhdGgiLHtkOiJNMy40NyAxMi41MyA1IDExbDEuNTMgMS41M2EzLjUgMy41IDAgMCAxIDAgNC45NEw1IDE5bC0xLjUzLTEuNTNhMy41IDMuNSAwIDAgMSAwLTQuOTRaIn1dLFsicGF0aCIse2Q6Im04IDgtLjUzLjUzYTMuNSAzLjUgMCAwIDAgMCA0Ljk0TDkgMTVsMS41My0xLjUzYy41NS0uNTUuODgtMS4yNS45OC0xLjk3In1dLFsicGF0aCIse2Q6Ik0xMC45MSA1LjI2Yy4xNS0uMjYuMzQtLjUxLjU2LS43M0wxMyAzbDEuNTMgMS41M2EzLjUgMy41IDAgMCAxIC4yOCA0LjYyIn1dLFsicGF0aCIse2Q6Ik0yMCAyaDJ2MmE0IDQgMCAwIDEtNCA0aC0yVjZhNCA0IDAgMCAxIDQtNFoifV0sWyJwYXRoIix7ZDoiTTExLjQ3IDE3LjQ3IDEzIDE5bC0xLjUzIDEuNTNhMy41IDMuNSAwIDAgMS00Ljk0IDBMNSAxOWwxLjUzLTEuNTNhMy41IDMuNSAwIDAgMSA0Ljk0IDBaIn1dLFsicGF0aCIse2Q6Im0xNiAxNi0uNTMuNTNhMy41IDMuNSAwIDAgMS00Ljk0IDBMOSAxNWwxLjUzLTEuNTNhMy40OSAzLjQ5IDAgMCAxIDEuOTctLjk4In1dLFsicGF0aCIse2Q6Ik0xOC43NCAxMy4wOWMuMjYtLjE1LjUxLS4zNC43My0uNTZMMjEgMTFsLTEuNTMtMS41M2EzLjUgMy41IDAgMCAwLTQuNjItLjI4In1dLFsibGluZSIse3gxOiIyIix4MjoiMjIiLHkxOiIyIix5MjoiMjIifV1dfSk7dmFyIEdqLFJHZT1mKCgpPT57R2o9W1sicGF0aCIse2Q6Ik0yIDIyIDE2IDgifV0sWyJwYXRoIix7ZDoiTTMuNDcgMTIuNTMgNSAxMWwxLjUzIDEuNTNhMy41IDMuNSAwIDAgMSAwIDQuOTRMNSAxOWwtMS41My0xLjUzYTMuNSAzLjUgMCAwIDEgMC00Ljk0WiJ9XSxbInBhdGgiLHtkOiJNNy40NyA4LjUzIDkgN2wxLjUzIDEuNTNhMy41IDMuNSAwIDAgMSAwIDQuOTRMOSAxNWwtMS41My0xLjUzYTMuNSAzLjUgMCAwIDEgMC00Ljk0WiJ9XSxbInBhdGgiLHtkOiJNMTEuNDcgNC41MyAxMyAzbDEuNTMgMS41M2EzLjUgMy41IDAgMCAxIDAgNC45NEwxMyAxMWwtMS41My0xLjUzYTMuNSAzLjUgMCAwIDEgMC00Ljk0WiJ9XSxbInBhdGgiLHtkOiJNMjAgMmgydjJhNCA0IDAgMCAxLTQgNGgtMlY2YTQgNCAwIDAgMSA0LTRaIn1dLFsicGF0aCIse2Q6Ik0xMS40NyAxNy40NyAxMyAxOWwtMS41MyAxLjUzYTMuNSAzLjUgMCAwIDEtNC45NCAwTDUgMTlsMS41My0xLjUzYTMuNSAzLjUgMCAwIDEgNC45NCAwWiJ9XSxbInBhdGgiLHtkOiJNMTUuNDcgMTMuNDcgMTcgMTVsLTEuNTMgMS41M2EzLjUgMy41IDAgMCAxLTQuOTQgMEw5IDE1bDEuNTMtMS41M2EzLjUgMy41IDAgMCAxIDQuOTQgMFoifV0sWyJwYXRoIix7ZDoiTTE5LjQ3IDkuNDcgMjEgMTFsLTEuNTMgMS41M2EzLjUgMy41IDAgMCAxLTQuOTQgMEwxMyAxMWwxLjUzLTEuNTNhMy41IDMuNSAwIDAgMSA0Ljk0IDBaIn1dXX0pO3ZhciBZaixPR2U9ZigoKT0+e1lqPVtbImNpcmNsZSIse2N4OiI3IixjeToiMTIiLHI6IjMifV0sWyJwYXRoIix7ZDoiTTEwIDl2NiJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjEyIixyOiIzIn1dLFsicGF0aCIse2Q6Ik0xNCA3djgifV0sWyJwYXRoIix7ZDoiTTIyIDE3djFjMCAuNS0uNSAxLTEgMUgzYy0uNSAwLTEtLjUtMS0xdi0xIn1dXX0pO3ZhciBLaixGR2U9ZigoKT0+e0tqPVtbInBhdGgiLHtkOiJtMTQuMzA1IDE5LjUzLjkyMy0uMzgyIn1dLFsicGF0aCIse2Q6Im0xNS4yMjggMTYuODUyLS45MjMtLjM4MyJ9XSxbInBhdGgiLHtkOiJtMTYuODUyIDE1LjIyOC0uMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE2Ljg1MiAyMC43NzItLjM4My45MjQifV0sWyJwYXRoIix7ZDoibTE5LjE0OCAxNS4yMjguMzgzLS45MjMifV0sWyJwYXRoIix7ZDoibTE5LjUzIDIxLjY5Ni0uMzgyLS45MjQifV0sWyJwYXRoIix7ZDoiTTIgNy44MmExNSAxNSAwIDAgMSAyMCAwIn1dLFsicGF0aCIse2Q6Im0yMC43NzIgMTYuODUyLjkyNC0uMzgzIn1dLFsicGF0aCIse2Q6Im0yMC43NzIgMTkuMTQ4LjkyNC4zODMifV0sWyJwYXRoIix7ZDoiTTUgMTEuODU4YTEwIDEwIDAgMCAxIDExLjUtMS43ODUifV0sWyJwYXRoIix7ZDoiTTguNSAxNS40MjlhNSA1IDAgMCAxIDIuNDEzLTEuMzEifV0sWyJjaXJjbGUiLHtjeDoiMTgiLGN5OiIxOCIscjoiMyJ9XV19KTt2YXIgWmosQkdlPWYoKCk9Pntaaj1bWyJwYXRoIix7ZDoiTTEyIDIwaC4wMSJ9XSxbInBhdGgiLHtkOiJNNSAxMi44NTlhMTAgMTAgMCAwIDEgMTQgMCJ9XSxbInBhdGgiLHtkOiJNOC41IDE2LjQyOWE1IDUgMCAwIDEgNyAwIn1dXX0pO3ZhciBYaixIR2U9ZigoKT0+e1hqPVtbInBhdGgiLHtkOiJNMTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik04LjUgMTYuNDI5YTUgNSAwIDAgMSA3IDAifV1dfSk7dmFyIFFqLHFHZT1mKCgpPT57UWo9W1sicGF0aCIse2Q6Ik0xMiAyMGguMDEifV0sWyJwYXRoIix7ZDoiTTguNSAxNi40MjlhNSA1IDAgMCAxIDcgMCJ9XSxbInBhdGgiLHtkOiJNNSAxMi44NTlhMTAgMTAgMCAwIDEgNS4xNy0yLjY5In1dLFsicGF0aCIse2Q6Ik0xOSAxMi44NTlhMTAgMTAgMCAwIDAtMi4wMDctMS41MjMifV0sWyJwYXRoIix7ZDoiTTIgOC44MmExNSAxNSAwIDAgMSA0LjE3Ny0yLjY0MyJ9XSxbInBhdGgiLHtkOiJNMjIgOC44MmExNSAxNSAwIDAgMC0xMS4yODgtMy43NjQifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgSmosVkdlPWYoKCk9PntKaj1bWyJwYXRoIix7ZDoiTTIgOC44MmExNSAxNSAwIDAgMSAyMCAwIn1dLFsicGF0aCIse2Q6Ik0yMS4zNzggMTYuNjI2YTEgMSAwIDAgMC0zLjAwNC0zLjAwNGwtNC4wMSA0LjAxMmEyIDIgMCAwIDAtLjUwNi44NTRsLS44MzcgMi44N2EuNS41IDAgMCAwIC42Mi42MmwyLjg3LS44MzdhMiAyIDAgMCAwIC44NTQtLjUwNnoifV0sWyJwYXRoIix7ZDoiTTUgMTIuODU5YTEwIDEwIDAgMCAxIDEwLjUtMi4yMjIifV0sWyJwYXRoIix7ZDoiTTguNSAxNi40MjlhNSA1IDAgMCAxIDMtMS40MDYifV1dfSk7dmFyIGVVLGpHZT1mKCgpPT57ZVU9W1sicGF0aCIse2Q6Ik0xMS45NjUgMTAuMTA1djRMMTMuNSAxMi41YTUgNSAwIDAgMSA4IDEuNSJ9XSxbInBhdGgiLHtkOiJNMTEuOTY1IDE0LjEwNWg0In1dLFsicGF0aCIse2Q6Ik0xNy45NjUgMTguMTA1aDRMMjAuNDMgMTkuNzFhNSA1IDAgMCAxLTgtMS41In1dLFsicGF0aCIse2Q6Ik0yIDguODJhMTUgMTUgMCAwIDEgMjAgMCJ9XSxbInBhdGgiLHtkOiJNMjEuOTY1IDIyLjEwNXYtNCJ9XSxbInBhdGgiLHtkOiJNNSAxMi44NmExMCAxMCAwIDAgMSAzLTIuMDMyIn1dLFsicGF0aCIse2Q6Ik04LjUgMTYuNDI5aC4wMSJ9XV19KTt2YXIgdFUsVUdlPWYoKCk9Pnt0VT1bWyJwYXRoIix7ZDoiTTEyIDIwaC4wMSJ9XV19KTt2YXIgYVUsV0dlPWYoKCk9PnthVT1bWyJwYXRoIix7ZDoiTTEwIDJ2OCJ9XSxbInBhdGgiLHtkOiJNMTIuOCAyMS42QTIgMiAwIDEgMCAxNCAxOEgyIn1dLFsicGF0aCIse2Q6Ik0xNy41IDEwYTIuNSAyLjUgMCAxIDEgMiA0SDIifV0sWyJwYXRoIix7ZDoibTYgNiA0IDQgNC00In1dXX0pO3ZhciByVSxHR2U9ZigoKT0+e3JVPVtbInBhdGgiLHtkOiJNMTIgMjBoLjAxIn1dLFsicGF0aCIse2Q6Ik0yIDguODJhMTUgMTUgMCAwIDEgMjAgMCJ9XSxbInBhdGgiLHtkOiJNNSAxMi44NTlhMTAgMTAgMCAwIDEgMTQgMCJ9XSxbInBhdGgiLHtkOiJNOC41IDE2LjQyOWE1IDUgMCAwIDEgNyAwIn1dXX0pO3ZhciBzVSxZR2U9ZigoKT0+e3NVPVtbInBhdGgiLHtkOiJNMTIuOCAxOS42QTIgMiAwIDEgMCAxNCAxNkgyIn1dLFsicGF0aCIse2Q6Ik0xNy41IDhhMi41IDIuNSAwIDEgMSAyIDRIMiJ9XSxbInBhdGgiLHtkOiJNOS44IDQuNEEyIDIgMCAxIDEgMTEgOEgyIn1dXX0pO3ZhciBpVSxLR2U9ZigoKT0+e2lVPVtbInBhdGgiLHtkOiJNOCAyMmg4In1dLFsicGF0aCIse2Q6Ik03IDEwaDNtNyAwaC0xLjM0MyJ9XSxbInBhdGgiLHtkOiJNMTIgMTV2NyJ9XSxbInBhdGgiLHtkOiJNNy4zMDcgNy4zMDdBMTIuMzMgMTIuMzMgMCAwIDAgNyAxMGE1IDUgMCAwIDAgNy4zOTEgNC4zOTFNOC42MzggMi45ODFDOC43NSAyLjY2OCA4Ljg3MiAyLjM0IDkgMmg2YzEuNSA0IDIgNiAyIDggMCAuNDA3LS4wNS44MDktLjE0NSAxLjE5OCJ9XSxbImxpbmUiLHt4MToiMiIseDI6IjIyIix5MToiMiIseTI6IjIyIn1dXX0pO3ZhciBvVSxaR2U9ZigoKT0+e29VPVtbInBhdGgiLHtkOiJtMTkgMTItMS41IDMifV0sWyJwYXRoIix7ZDoiTTE5LjYzIDE4LjgxIDIyIDIwIn1dLFsicGF0aCIse2Q6Ik02LjQ3IDguMjNhMS42OCAxLjY4IDAgMCAxIDIuNDQgMS45M2wtLjY0IDIuMDhhNi43NiA2Ljc2IDAgMCAwIDEwLjE2IDcuNjdsLjQyLS4yN2ExIDEgMCAxIDAtMi43My00LjIxbC0uNDIuMjdhMS43NiAxLjc2IDAgMCAxLTIuNjMtMS45OWwuNjQtMi4wOEE2LjY2IDYuNjYgMCAwIDAgMy45NCAzLjlsLS43LjRhMSAxIDAgMSAwIDIuNTUgNC4zNHoifV1dfSk7dmFyIG5VLFhHZT1mKCgpPT57blU9W1sicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjgiLHg6IjMiLHk6IjMiLHJ4OiIyIn1dLFsicGF0aCIse2Q6Ik03IDExdjRhMiAyIDAgMCAwIDIgMmg0In1dLFsicmVjdCIse3dpZHRoOiI4IixoZWlnaHQ6IjgiLHg6IjEzIix5OiIxMyIscng6IjIifV1dfSk7dmFyIGxVLFFHZT1mKCgpPT57bFU9W1sicGF0aCIse2Q6Ik04IDIyaDgifV0sWyJwYXRoIix7ZDoiTTcgMTBoMTAifV0sWyJwYXRoIix7ZDoiTTEyIDE1djcifV0sWyJwYXRoIix7ZDoiTTEyIDE1YTUgNSAwIDAgMCA1LTVjMC0yLS41LTQtMi04SDljLTEuNSA0LTIgNi0yIDhhNSA1IDAgMCAwIDUgNVoifV1dfSk7dmFyIGNVLEpHZT1mKCgpPT57Y1U9W1sicGF0aCIse2Q6Ik0xNC43IDYuM2ExIDEgMCAwIDAgMCAxLjRsMS42IDEuNmExIDEgMCAwIDAgMS40IDBsMy4xMDYtMy4xMDVjLjMyLS4zMjIuODYzLS4yMi45ODMuMjE4YTYgNiAwIDAgMS04LjI1OSA3LjA1N2wtNy45MSA3LjkxYTEgMSAwIDAgMS0yLjk5OS0zbDcuOTEtNy45MWE2IDYgMCAwIDEgNy4wNTctOC4yNTljLjQzOC4xMi41NC42NjIuMjE5Ljk4NHoifV1dfSk7dmFyIGRVLGVZZT1mKCgpPT57ZFU9W1sicGF0aCIse2Q6Ik0xOCA0SDYifV0sWyJwYXRoIix7ZDoiTTE4IDggNiAyMCJ9XSxbInBhdGgiLHtkOiJtNiA4IDEyIDEyIn1dXX0pO3ZhciB1VSx0WWU9ZigoKT0+e3VVPVtbInBhdGgiLHtkOiJNMTggNiA2IDE4In1dLFsicGF0aCIse2Q6Im02IDYgMTIgMTIifV1dfSk7dmFyIHBVLGFZZT1mKCgpPT57cFU9W1sicGF0aCIse2Q6Ik0xMC41MTMgNC44NTYgMTMuMTIgMi4xN2EuNS41IDAgMCAxIC44Ni40NmwtMS4zNzcgNC4zMTcifV0sWyJwYXRoIix7ZDoiTTE1LjY1NiAxMEgyMGExIDEgMCAwIDEgLjc4IDEuNjNsLTEuNzIgMS43NzMifV0sWyJwYXRoIix7ZDoiTTE2LjI3MyAxNi4yNzMgMTAuODggMjEuODNhLjUuNSAwIDAgMS0uODYtLjQ2bDEuOTItNi4wMkExIDEgMCAwIDAgMTEgMTRINGExIDEgMCAwIDEtLjc4LTEuNjNsNC41MDctNC42NDMifV0sWyJwYXRoIix7ZDoibTIgMiAyMCAyMCJ9XV19KTt2YXIgZlUsclllPWYoKCk9PntmVT1bWyJwYXRoIix7ZDoiTTQgMTRhMSAxIDAgMCAxLS43OC0xLjYzbDkuOS0xMC4yYS41LjUgMCAwIDEgLjg2LjQ2bC0xLjkyIDYuMDJBMSAxIDAgMCAwIDEzIDEwaDdhMSAxIDAgMCAxIC43OCAxLjYzbC05LjkgMTAuMmEuNS41IDAgMCAxLS44Ni0uNDZsMS45Mi02LjAyQTEgMSAwIDAgMCAxMSAxNHoifV1dfSk7dmFyIGhVLHNZZT1mKCgpPT57aFU9W1sicGF0aCIse2Q6Im0yIDEwIDIuNDU2LTMuNjg0YS43LjcgMCAwIDEgMS4xMDYtLjAxM2wyLjM5IDMuNDEzYS43LjcgMCAwIDAgMS4wOTYtLjAwMWwyLjQwMi0zLjQzMmEuNy43IDAgMCAxIDEuMDk4IDBsMi40MDIgMy40MzJhLjcuNyAwIDAgMCAxLjA5OCAwbDIuMzg5LTMuNDEzYS43LjcgMCAwIDEgMS4xMDYuMDEzTDIyIDEwIn1dLFsicGF0aCIse2Q6Im0yIDE4LjAwMiAyLjQ1Ni0zLjY4NGEuNy43IDAgMCAxIDEuMTA2LS4wMTNsMi4zOSAzLjQxM2EuNy43IDAgMCAwIDEuMDk3IDBsMi40MDItMy40MzJhLjcuNyAwIDAgMSAxLjA5OCAwbDIuNDAyIDMuNDMyYS43LjcgMCAwIDAgMS4wOTggMGwyLjM4OS0zLjQxM2EuNy43IDAgMCAxIDEuMTA2LjAxM0wyMiAxOC4wMDIifV1dfSk7dmFyIG1VLGlZZT1mKCgpPT57bVU9W1sicGF0aCIse2Q6Ik0xMiA3LjVhNC41IDQuNSAwIDEgMSA1IDQuNSJ9XSxbInBhdGgiLHtkOiJNNyAxMmE0LjUgNC41IDAgMSAxIDUtNC41VjIxIn1dXX0pO3ZhciBnVSxvWWU9ZigoKT0+e2dVPVtbInBhdGgiLHtkOiJNMjEgMTQuNUE5IDYuNSAwIDAgMSA1LjUgMTkifV0sWyJwYXRoIix7ZDoiTTMgOS41QTkgNi41IDAgMCAxIDE4LjUgNSJ9XSxbImNpcmNsZSIse2N4OiIxNy41IixjeToiMTQuNSIscjoiMy41In1dLFsiY2lyY2xlIix7Y3g6IjYuNSIsY3k6IjkuNSIscjoiMy41In1dXX0pO3ZhciBiVSxuWWU9ZigoKT0+e2JVPVtbInBhdGgiLHtkOiJNMTEgMjFhMyAzIDAgMCAwIDMtM1Y2LjVhMSAxIDAgMCAwLTcgMCJ9XSxbInBhdGgiLHtkOiJNNyAxOVY2YTMgMyAwIDAgMC0zLTNoMCJ9XSxbImNpcmNsZSIse2N4OiIxNyIsY3k6IjE3IixyOiIzIn1dXX0pO3ZhciB2VSxsWWU9ZigoKT0+e3ZVPVtbInBhdGgiLHtkOiJNMTYgNC41MjV2MTQuOTQ4In1dLFsicGF0aCIse2Q6Ik0yMCAzQTE3IDE3IDAgMCAxIDQgMyJ9XSxbInBhdGgiLHtkOiJNNCAyMWExNyAxNyAwIDAgMSAxNiAwIn1dLFsicGF0aCIse2Q6Ik04IDQuNTI1djE0Ljk0OCJ9XV19KTt2YXIgeFUsY1llPWYoKCk9Pnt4VT1bWyJwYXRoIix7ZDoiTTEwIDE2YzAtNC0zLTQuNS0zLThhNSA1IDAgMCAxIDEwIDBjMCAzLjQ2Ni0zIDYuMTk2LTMgMTBhMyAzIDAgMCAwIDYgMCJ9XSxbImNpcmNsZSIse2N4OiI3IixjeToiMTYiLHI6IjMifV1dfSk7dmFyIHlVLGRZZT1mKCgpPT57eVU9W1sicGF0aCIse2Q6Ik0zIDE2aDYuODU3Yy4xNjItLjAxMi4xOS0uMzIzLjAzOC0uMzhhNiA2IDAgMSAxIDQuMjEyIDBjLS4xNTMuMDU3LS4xMjUuMzY4LjAzOC4zOEgyMSJ9XSxbInBhdGgiLHtkOiJNMyAyMGgxOCJ9XV19KTt2YXIgd1UsdVllPWYoKCk9Pnt3VT1bWyJwYXRoIix7ZDoiTTMgMTBBNi4wNiA2LjA2IDAgMCAxIDEyIDEwIEE2LjA2IDYuMDYgMCAwIDAgMjEgMTAifV0sWyJwYXRoIix7ZDoiTTYgM3YxMmE2IDYgMCAwIDAgMTIgMFYzIn1dXX0pO3ZhciBNVSxwWWU9ZigoKT0+e01VPVtbInBhdGgiLHtkOiJNMTkgMjFhMTUgMTUgMCAwIDEgMC0xOCJ9XSxbInBhdGgiLHtkOiJNMjAgMTJINCJ9XSxbInBhdGgiLHtkOiJNNSAzYTE1IDE1IDAgMCAxIDAgMTgifV1dfSk7dmFyIGtVLGZZZT1mKCgpPT57a1U9W1sicGF0aCIse2Q6Ik0xMCAxOVY1LjVhMSAxIDAgMCAxIDUgMFYxN2EyIDIgMCAwIDAgMiAyaDVsLTMtMyJ9XSxbInBhdGgiLHtkOiJtMjIgMTktMyAzIn1dLFsicGF0aCIse2Q6Ik01IDE5VjUuNWExIDEgMCAwIDEgNSAwIn1dLFsicGF0aCIse2Q6Ik01IDUuNUEyLjUgMi41IDAgMCAwIDIuNSAzIn1dXX0pO3ZhciBTVSxoWWU9ZigoKT0+e1NVPVtbInBhdGgiLHtkOiJNMTUgM2g2djYifV0sWyJwYXRoIix7ZDoiTTIxIDMgMyAyMSJ9XSxbInBhdGgiLHtkOiJtOSA5IDYgNiJ9XV19KTt2YXIgelUsbVllPWYoKCk9Pnt6VT1bWyJjaXJjbGUiLHtjeDoiMTIiLGN5OiIxNSIscjoiNiJ9XSxbInBhdGgiLHtkOiJNMTggM0E2IDYgMCAwIDEgNiAzIn1dXX0pO3ZhciBDVSxnWWU9ZigoKT0+e0NVPVtbInBhdGgiLHtkOiJNMTEgNS41YTEgMSAwIDAgMSA1IDBWMTZhNSA1IDAgMCAwIDUgNSJ9XSxbInBhdGgiLHtkOiJNMTYgMTEuNWExIDEgMCAwIDEgNSAwVjE2YTUgNSAwIDAgMS01IDUifV0sWyJwYXRoIix7ZDoiTTYgMTlWNmEzIDMgMCAwIDAtMy0zaDAifV0sWyJwYXRoIix7ZDoiTTYgNS41YTEgMSAwIDAgMSA1IDBWMTkifV1dfSk7dmFyIF9VLGJZZT1mKCgpPT57X1U9W1siY2lyY2xlIix7Y3g6IjExIixjeToiMTEiLHI6IjgifV0sWyJsaW5lIix7eDE6IjIxIix4MjoiMTYuNjUiLHkxOiIyMSIseTI6IjE2LjY1In1dLFsibGluZSIse3gxOiIxMSIseDI6IjExIix5MToiOCIseTI6IjE0In1dLFsibGluZSIse3gxOiI4Iix4MjoiMTQiLHkxOiIxMSIseTI6IjExIn1dXX0pO3ZhciBUVSx2WWU9ZigoKT0+e1RVPVtbImNpcmNsZSIse2N4OiIxMSIsY3k6IjExIixyOiI4In1dLFsibGluZSIse3gxOiIyMSIseDI6IjE2LjY1Iix5MToiMjEiLHkyOiIxNi42NSJ9XSxbImxpbmUiLHt4MToiOCIseDI6IjE0Iix5MToiMTEiLHkyOiIxMSJ9XV19KTt2YXIgU2Y9e307bHQoU2Yse0FBcnJvd0Rvd246KCk9PnZ2LEFBcnJvd1VwOigpPT54dixBTGFyZ2VTbWFsbDooKT0+eXYsQWNjZXNzaWJpbGl0eTooKT0+d3YsQWN0aXZpdHk6KCk9Pk12LEFjdGl2aXR5U3F1YXJlOigpPT5lcCxBaXJWZW50OigpPT5rdixBaXJwbGF5OigpPT5TdixBbGFybUNoZWNrOigpPT5tZCxBbGFybUNsb2NrOigpPT5DdixBbGFybUNsb2NrQ2hlY2s6KCk9Pm1kLEFsYXJtQ2xvY2tNaW51czooKT0+Z2QsQWxhcm1DbG9ja09mZjooKT0+enYsQWxhcm1DbG9ja1BsdXM6KCk9PmJkLEFsYXJtTWludXM6KCk9PmdkLEFsYXJtUGx1czooKT0+YmQsQWxhcm1TbW9rZTooKT0+X3YsQWxidW06KCk9PlR2LEFsZXJ0Q2lyY2xlOigpPT5VZCxBbGVydE9jdGFnb246KCk9Pkx1LEFsZXJ0VHJpYW5nbGU6KCk9PmNmLEFsaWduQ2VudGVyOigpPT50ZixBbGlnbkNlbnRlckhvcml6b250YWw6KCk9Pkx2LEFsaWduQ2VudGVyVmVydGljYWw6KCk9PiR2LEFsaWduRW5kSG9yaXpvbnRhbDooKT0+RHYsQWxpZ25FbmRWZXJ0aWNhbDooKT0+RXYsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZUNlbnRlcjooKT0+QXYsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZUVuZDooKT0+UHYsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZVN0YXJ0OigpPT5JdixBbGlnbkhvcml6b250YWxKdXN0aWZ5Q2VudGVyOigpPT5OdixBbGlnbkhvcml6b250YWxKdXN0aWZ5RW5kOigpPT5SdixBbGlnbkhvcml6b250YWxKdXN0aWZ5U3RhcnQ6KCk9Pk92LEFsaWduSG9yaXpvbnRhbFNwYWNlQXJvdW5kOigpPT5GdixBbGlnbkhvcml6b250YWxTcGFjZUJldHdlZW46KCk9PnF2LEFsaWduSnVzdGlmeTooKT0+cmYsQWxpZ25MZWZ0OigpPT5kYyxBbGlnblJpZ2h0OigpPT5hZixBbGlnblN0YXJ0SG9yaXpvbnRhbDooKT0+QnYsQWxpZ25TdGFydFZlcnRpY2FsOigpPT5IdixBbGlnblZlcnRpY2FsRGlzdHJpYnV0ZUNlbnRlcjooKT0+VnYsQWxpZ25WZXJ0aWNhbERpc3RyaWJ1dGVFbmQ6KCk9Pmp2LEFsaWduVmVydGljYWxEaXN0cmlidXRlU3RhcnQ6KCk9PlV2LEFsaWduVmVydGljYWxKdXN0aWZ5Q2VudGVyOigpPT5XdixBbGlnblZlcnRpY2FsSnVzdGlmeUVuZDooKT0+R3YsQWxpZ25WZXJ0aWNhbEp1c3RpZnlTdGFydDooKT0+WXYsQWxpZ25WZXJ0aWNhbFNwYWNlQXJvdW5kOigpPT5LdixBbGlnblZlcnRpY2FsU3BhY2VCZXR3ZWVuOigpPT5adixBbWJ1bGFuY2U6KCk9Plh2LEFtcGVyc2FuZDooKT0+SnYsQW1wZXJzYW5kczooKT0+UXYsQW1waG9yYTooKT0+ZXgsQW5jaG9yOigpPT50eCxBbmdyeTooKT0+YXgsQW5ub3llZDooKT0+cngsQW50ZW5uYTooKT0+c3gsQW52aWw6KCk9Pml4LEFwZXJ0dXJlOigpPT5veCxBcHBXaW5kb3c6KCk9Pmx4LEFwcFdpbmRvd01hYzooKT0+bngsQXBwbGU6KCk9PmR4LEFyY2hpdmU6KCk9PmZ4LEFyY2hpdmVSZXN0b3JlOigpPT5jeCxBcmNoaXZlWDooKT0+dXgsQXJlYUNoYXJ0OigpPT5BZCxBcm1jaGFpcjooKT0+cHgsQXJyb3dCaWdEb3duOigpPT5teCxBcnJvd0JpZ0Rvd25EYXNoOigpPT5oeCxBcnJvd0JpZ0xlZnQ6KCk9Pmd4LEFycm93QmlnTGVmdERhc2g6KCk9PmJ4LEFycm93QmlnUmlnaHQ6KCk9Pnh4LEFycm93QmlnUmlnaHREYXNoOigpPT52eCxBcnJvd0JpZ1VwOigpPT53eCxBcnJvd0JpZ1VwRGFzaDooKT0+eXgsQXJyb3dEb3duOigpPT5EeCxBcnJvd0Rvd24wMTooKT0+TXgsQXJyb3dEb3duMTA6KCk9Pmt4LEFycm93RG93bkFaOigpPT52ZCxBcnJvd0Rvd25BejooKT0+dmQsQXJyb3dEb3duQ2lyY2xlOigpPT5XZCxBcnJvd0Rvd25Gcm9tTGluZTooKT0+U3gsQXJyb3dEb3duTGVmdDooKT0+engsQXJyb3dEb3duTGVmdEZyb21DaXJjbGU6KCk9PllkLEFycm93RG93bkxlZnRGcm9tU3F1YXJlOigpPT5pcCxBcnJvd0Rvd25MZWZ0U3F1YXJlOigpPT50cCxBcnJvd0Rvd25OYXJyb3dXaWRlOigpPT5DeCxBcnJvd0Rvd25SaWdodDooKT0+X3gsQXJyb3dEb3duUmlnaHRGcm9tQ2lyY2xlOigpPT5LZCxBcnJvd0Rvd25SaWdodEZyb21TcXVhcmU6KCk9Pm9wLEFycm93RG93blJpZ2h0U3F1YXJlOigpPT5hcCxBcnJvd0Rvd25TcXVhcmU6KCk9PnJwLEFycm93RG93blRvRG90OigpPT5UeCxBcnJvd0Rvd25Ub0xpbmU6KCk9PiR4LEFycm93RG93blVwOigpPT5MeCxBcnJvd0Rvd25XaWRlTmFycm93OigpPT54ZCxBcnJvd0Rvd25aQTooKT0+eWQsQXJyb3dEb3duWmE6KCk9PnlkLEFycm93TGVmdDooKT0+TngsQXJyb3dMZWZ0Q2lyY2xlOigpPT5HZCxBcnJvd0xlZnRGcm9tTGluZTooKT0+QXgsQXJyb3dMZWZ0UmlnaHQ6KCk9PkV4LEFycm93TGVmdFNxdWFyZTooKT0+c3AsQXJyb3dMZWZ0VG9MaW5lOigpPT5QeCxBcnJvd1JpZ2h0OigpPT5GeCxBcnJvd1JpZ2h0Q2lyY2xlOigpPT5RZCxBcnJvd1JpZ2h0RnJvbUxpbmU6KCk9Pkl4LEFycm93UmlnaHRMZWZ0OigpPT5SeCxBcnJvd1JpZ2h0U3F1YXJlOigpPT5jcCxBcnJvd1JpZ2h0VG9MaW5lOigpPT5PeCxBcnJvd1VwOigpPT5LeCxBcnJvd1VwMDE6KCk9Pkh4LEFycm93VXAxMDooKT0+QngsQXJyb3dVcEFaOigpPT53ZCxBcnJvd1VwQXo6KCk9PndkLEFycm93VXBDaXJjbGU6KCk9PkpkLEFycm93VXBEb3duOigpPT5xeCxBcnJvd1VwRnJvbURvdDooKT0+VngsQXJyb3dVcEZyb21MaW5lOigpPT5qeCxBcnJvd1VwTGVmdDooKT0+VXgsQXJyb3dVcExlZnRGcm9tQ2lyY2xlOigpPT5aZCxBcnJvd1VwTGVmdEZyb21TcXVhcmU6KCk9Pm5wLEFycm93VXBMZWZ0U3F1YXJlOigpPT5kcCxBcnJvd1VwTmFycm93V2lkZTooKT0+TWQsQXJyb3dVcFJpZ2h0OigpPT5XeCxBcnJvd1VwUmlnaHRGcm9tQ2lyY2xlOigpPT5YZCxBcnJvd1VwUmlnaHRGcm9tU3F1YXJlOigpPT5scCxBcnJvd1VwUmlnaHRTcXVhcmU6KCk9PnVwLEFycm93VXBTcXVhcmU6KCk9PnBwLEFycm93VXBUb0xpbmU6KCk9Pll4LEFycm93VXBXaWRlTmFycm93OigpPT5HeCxBcnJvd1VwWkE6KCk9PmtkLEFycm93VXBaYTooKT0+a2QsQXJyb3dzVXBGcm9tTGluZTooKT0+WHgsQXN0ZXJpc2s6KCk9Plp4LEFzdGVyaXNrU3F1YXJlOigpPT5mcCxBc3Ryb2lkOigpPT5ReCxBdFNpZ246KCk9Pkp4LEF0b206KCk9PmV5LEF1ZGlvTGluZXM6KCk9PnR5LEF1ZGlvV2F2ZWZvcm06KCk9PmF5LEF3YXJkOigpPT5yeSxBeGU6KCk9PnN5LEF4aXMzRDooKT0+U2QsQXhpczNkOigpPT5TZCxCYWJ5OigpPT5peSxCYWNrcGFjazooKT0+b3ksQmFkZ2U6KCk9Pk15LEJhZGdlQWxlcnQ6KCk9Pm55LEJhZGdlQ2VudDooKT0+bHksQmFkZ2VDaGVjazooKT0+emQsQmFkZ2VEb2xsYXJTaWduOigpPT5jeSxCYWRnZUV1cm86KCk9PmR5LEJhZGdlSGVscDooKT0+Q2QsQmFkZ2VJbmRpYW5SdXBlZTooKT0+dXksQmFkZ2VJbmZvOigpPT5weSxCYWRnZUphcGFuZXNlWWVuOigpPT5meSxCYWRnZU1pbnVzOigpPT5oeSxCYWRnZVBlcmNlbnQ6KCk9Pm15LEJhZGdlUGx1czooKT0+Z3ksQmFkZ2VQb3VuZFN0ZXJsaW5nOigpPT5ieSxCYWRnZVF1ZXN0aW9uTWFyazooKT0+Q2QsQmFkZ2VSdXNzaWFuUnVibGU6KCk9Pnh5LEJhZGdlU3dpc3NGcmFuYzooKT0+dnksQmFkZ2VUdXJraXNoTGlyYTooKT0+eXksQmFkZ2VYOigpPT53eSxCYWdnYWdlQ2xhaW06KCk9Pmt5LEJhbGxvb246KCk9Pnp5LEJhbjooKT0+U3ksQmFuYW5hOigpPT5DeSxCYW5kYWdlOigpPT5feSxCYW5rbm90ZTooKT0+RHksQmFua25vdGVBcnJvd0Rvd246KCk9Pkx5LEJhbmtub3RlQXJyb3dVcDooKT0+VHksQmFua25vdGVYOigpPT4keSxCYXJDaGFydDooKT0+QmQsQmFyQ2hhcnQyOigpPT5IZCxCYXJDaGFydDM6KCk9Pk9kLEJhckNoYXJ0NDooKT0+UmQsQmFyQ2hhcnRCaWc6KCk9Pk5kLEJhckNoYXJ0SG9yaXpvbnRhbDooKT0+UGQsQmFyQ2hhcnRIb3Jpem9udGFsQmlnOigpPT5FZCxCYXJjb2RlOigpPT5BeSxCYXJyZWw6KCk9PkV5LEJhc2VsaW5lOigpPT5QeSxCYXRoOigpPT5JeSxCYXR0ZXJ5OigpPT5xeSxCYXR0ZXJ5Q2hhcmdpbmc6KCk9Pk55LEJhdHRlcnlGdWxsOigpPT5SeSxCYXR0ZXJ5TG93OigpPT5PeSxCYXR0ZXJ5TWVkaXVtOigpPT5GeSxCYXR0ZXJ5UGx1czooKT0+QnksQmF0dGVyeVdhcm5pbmc6KCk9Pkh5LEJlYWtlcjooKT0+anksQmVhbjooKT0+V3ksQmVhbk9mZjooKT0+VnksQmVkOigpPT5LeSxCZWREb3VibGU6KCk9PlV5LEJlZFNpbmdsZTooKT0+R3ksQmVlZjooKT0+WnksQmVlZk9mZjooKT0+WXksQmVlcjooKT0+UXksQmVlck9mZjooKT0+WHksQmVsbDooKT0+b3csQmVsbENoZWNrOigpPT5KeSxCZWxsRG90OigpPT5ldyxCZWxsRWxlY3RyaWM6KCk9PnR3LEJlbGxNaW51czooKT0+cncsQmVsbE9mZjooKT0+YXcsQmVsbFBsdXM6KCk9PnN3LEJlbGxSaW5nOigpPT5pdyxCZXR3ZWVuSG9yaXpvbmFsRW5kOigpPT5fZCxCZXR3ZWVuSG9yaXpvbmFsU3RhcnQ6KCk9PlRkLEJldHdlZW5Ib3Jpem9udGFsRW5kOigpPT5fZCxCZXR3ZWVuSG9yaXpvbnRhbFN0YXJ0OigpPT5UZCxCZXR3ZWVuVmVydGljYWxFbmQ6KCk9Pm53LEJldHdlZW5WZXJ0aWNhbFN0YXJ0OigpPT5sdyxCaWNlcHNGbGV4ZWQ6KCk9PmN3LEJpa2U6KCk9PmR3LEJpbmFyeTooKT0+dXcsQmlub2N1bGFyczooKT0+cHcsQmlvaGF6YXJkOigpPT5mdyxCaXJkOigpPT5odyxCaXJkaG91c2U6KCk9Pm13LEJpdGNvaW46KCk9Pmd3LEJsZW5kOigpPT5idyxCbGluZHM6KCk9PnZ3LEJsb2NrczooKT0+eHcsQmx1ZXRvb3RoOigpPT5NdyxCbHVldG9vdGhDb25uZWN0ZWQ6KCk9Pnl3LEJsdWV0b290aE9mZjooKT0+d3csQmx1ZXRvb3RoU2VhcmNoaW5nOigpPT5rdyxCb2xkOigpPT5TdyxCb2x0OigpPT5DdyxCb21iOigpPT56dyxCb25lOigpPT5fdyxCb29rOigpPT5RdyxCb29rQTooKT0+VHcsQm9va0FsZXJ0OigpPT5MdyxCb29rQXVkaW86KCk9PiR3LEJvb2tDaGVjazooKT0+RHcsQm9va0NvcHk6KCk9PkF3LEJvb2tEYXNoZWQ6KCk9PkxkLEJvb2tEb3duOigpPT5FdyxCb29rSGVhZHBob25lczooKT0+UHcsQm9va0hlYXJ0OigpPT5JdyxCb29rSW1hZ2U6KCk9Pk53LEJvb2tLZXk6KCk9PlJ3LEJvb2tMb2NrOigpPT5GdyxCb29rTWFya2VkOigpPT5PdyxCb29rTWludXM6KCk9PkJ3LEJvb2tPcGVuOigpPT5qdyxCb29rT3BlbkNoZWNrOigpPT5IdyxCb29rT3BlblRleHQ6KCk9PnF3LEJvb2tQbHVzOigpPT5VdyxCb29rU2VhcmNoOigpPT5WdyxCb29rVGVtcGxhdGU6KCk9PkxkLEJvb2tUZXh0OigpPT5XdyxCb29rVHlwZTooKT0+S3csQm9va1VwOigpPT5ZdyxCb29rVXAyOigpPT5HdyxCb29rVXNlcjooKT0+WncsQm9va1g6KCk9Plh3LEJvb2ttYXJrOigpPT5zTSxCb29rbWFya0NoZWNrOigpPT5KdyxCb29rbWFya01pbnVzOigpPT5lTSxCb29rbWFya09mZjooKT0+dE0sQm9va21hcmtQbHVzOigpPT5hTSxCb29rbWFya1g6KCk9PnJNLEJvb21Cb3g6KCk9PmlNLEJvdDooKT0+bE0sQm90TWVzc2FnZVNxdWFyZTooKT0+b00sQm90T2ZmOigpPT5uTSxCb3R0bGVXaW5lOigpPT5kTSxCb3dBcnJvdzooKT0+Y00sQm94OigpPT51TSxCb3hTZWxlY3Q6KCk9PkNwLEJveGVzOigpPT5wTSxCcmFjZXM6KCk9PiRkLEJyYWNrZXRzOigpPT5mTSxCcmFpbjooKT0+Yk0sQnJhaW5DaXJjdWl0OigpPT5oTSxCcmFpbkNvZzooKT0+bU0sQnJpY2tXYWxsOigpPT54TSxCcmlja1dhbGxGaXJlOigpPT5nTSxCcmlja1dhbGxTaGllbGQ6KCk9PnZNLEJyaWVmY2FzZTooKT0+a00sQnJpZWZjYXNlQnVzaW5lc3M6KCk9PnlNLEJyaWVmY2FzZUNvbnZleW9yQmVsdDooKT0+d00sQnJpZWZjYXNlTWVkaWNhbDooKT0+TU0sQnJpbmdUb0Zyb250OigpPT5TTSxCcnVzaDooKT0+Q00sQnJ1c2hDbGVhbmluZzooKT0+ek0sQnViYmxlczooKT0+VE0sQnVnOigpPT4kTSxCdWdPZmY6KCk9Pl9NLEJ1Z1BsYXk6KCk9PkxNLEJ1aWxkaW5nOigpPT5ETSxCdWlsZGluZzI6KCk9PkFNLEJ1czooKT0+UE0sQnVzRnJvbnQ6KCk9PkVNLENhYmxlOigpPT5JTSxDYWJsZUNhcjooKT0+Tk0sQ2FrZTooKT0+T00sQ2FrZVNsaWNlOigpPT5STSxDYWxjdWxhdG9yOigpPT5CTSxDYWxlbmRhcjooKT0+b2ssQ2FsZW5kYXIxOigpPT5GTSxDYWxlbmRhckFycm93RG93bjooKT0+SE0sQ2FsZW5kYXJBcnJvd1VwOigpPT5xTSxDYWxlbmRhckNoZWNrOigpPT5qTSxDYWxlbmRhckNoZWNrMjooKT0+Vk0sQ2FsZW5kYXJDbG9jazooKT0+VU0sQ2FsZW5kYXJDb2c6KCk9PldNLENhbGVuZGFyRGF5czooKT0+R00sQ2FsZW5kYXJGb2xkOigpPT5ZTSxDYWxlbmRhckhlYXJ0OigpPT5aTSxDYWxlbmRhck1pbnVzOigpPT5RTSxDYWxlbmRhck1pbnVzMjooKT0+S00sQ2FsZW5kYXJPZmY6KCk9PlhNLENhbGVuZGFyUGx1czooKT0+dGssQ2FsZW5kYXJQbHVzMjooKT0+Sk0sQ2FsZW5kYXJSYW5nZTooKT0+ZWssQ2FsZW5kYXJTZWFyY2g6KCk9PmFrLENhbGVuZGFyU3luYzooKT0+cmssQ2FsZW5kYXJYOigpPT5payxDYWxlbmRhclgyOigpPT5zayxDYWxlbmRhcnM6KCk9Pm5rLENhbWVyYTooKT0+Y2ssQ2FtZXJhT2ZmOigpPT5sayxDYW5kbGVzdGlja0NoYXJ0OigpPT5JZCxDYW5keTooKT0+dWssQ2FuZHlDYW5lOigpPT5kayxDYW5keU9mZjooKT0+cGssQ2FubmFiaXM6KCk9PmhrLENhbm5hYmlzT2ZmOigpPT5mayxDYXB0aW9uczooKT0+RGQsQ2FwdGlvbnNPZmY6KCk9Pm1rLENhcjooKT0+YmssQ2FyRnJvbnQ6KCk9PmdrLENhclRheGlGcm9udDooKT0+dmssQ2FyYXZhbjooKT0+eGssQ2FyZFNpbTooKT0+eWssQ2Fycm90OigpPT53ayxDYXNlTG93ZXI6KCk9Pk1rLENhc2VTZW5zaXRpdmU6KCk9PmtrLENhc2VVcHBlcjooKT0+U2ssQ2Fzc2V0dGVUYXBlOigpPT56ayxDYXN0OigpPT5DayxDYXN0bGU6KCk9Pl9rLENhdDooKT0+VGssQ2N0djooKT0+JGssQ2N0dk9mZjooKT0+TGssQ2hhcnRBcmVhOigpPT5BZCxDaGFydEJhcjooKT0+UGQsQ2hhcnRCYXJCaWc6KCk9PkVkLENoYXJ0QmFyRGVjcmVhc2luZzooKT0+RGssQ2hhcnRCYXJJbmNyZWFzaW5nOigpPT5BayxDaGFydEJhclN0YWNrZWQ6KCk9PkVrLENoYXJ0Q2FuZGxlc3RpY2s6KCk9PklkLENoYXJ0Q29sdW1uOigpPT5PZCxDaGFydENvbHVtbkJpZzooKT0+TmQsQ2hhcnRDb2x1bW5EZWNyZWFzaW5nOigpPT5QayxDaGFydENvbHVtbkluY3JlYXNpbmc6KCk9PlJkLENoYXJ0Q29sdW1uU3RhY2tlZDooKT0+SWssQ2hhcnRHYW50dDooKT0+TmssQ2hhcnRMaW5lOigpPT5GZCxDaGFydE5ldHdvcms6KCk9PlJrLENoYXJ0Tm9BeGVzQ29sdW1uOigpPT5IZCxDaGFydE5vQXhlc0NvbHVtbkRlY3JlYXNpbmc6KCk9Pk9rLENoYXJ0Tm9BeGVzQ29sdW1uSW5jcmVhc2luZzooKT0+QmQsQ2hhcnROb0F4ZXNDb21iaW5lZDooKT0+RmssQ2hhcnROb0F4ZXNHYW50dDooKT0+cWQsQ2hhcnRQaWU6KCk9PlZkLENoYXJ0U2NhdHRlcjooKT0+amQsQ2hhcnRTcGxpbmU6KCk9PkJrLENoZWNrOigpPT5WayxDaGVja0NoZWNrOigpPT5IayxDaGVja0NpcmNsZTooKT0+ZTYsQ2hlY2tDaXJjbGUyOigpPT50NixDaGVja0xpbmU6KCk9PnFrLENoZWNrU3F1YXJlOigpPT5icCxDaGVja1NxdWFyZTI6KCk9PnZwLENoZWZIYXQ6KCk9PmprLENoZXJyeTooKT0+VWssQ2hlc3NCaXNob3A6KCk9PkdrLENoZXNzS2luZzooKT0+V2ssQ2hlc3NLbmlnaHQ6KCk9PllrLENoZXNzUGF3bjooKT0+S2ssQ2hlc3NRdWVlbjooKT0+UWssQ2hlc3NSb29rOigpPT5aayxDaGV2cm9uRG93bjooKT0+WGssQ2hldnJvbkRvd25DaXJjbGU6KCk9PnI2LENoZXZyb25Eb3duU3F1YXJlOigpPT54cCxDaGV2cm9uRmlyc3Q6KCk9PkprLENoZXZyb25MYXN0OigpPT5lUyxDaGV2cm9uTGVmdDooKT0+dFMsQ2hldnJvbkxlZnRDaXJjbGU6KCk9PmE2LENoZXZyb25MZWZ0U3F1YXJlOigpPT55cCxDaGV2cm9uUmlnaHQ6KCk9PmFTLENoZXZyb25SaWdodENpcmNsZTooKT0+czYsQ2hldnJvblJpZ2h0U3F1YXJlOigpPT53cCxDaGV2cm9uVXA6KCk9PnJTLENoZXZyb25VcENpcmNsZTooKT0+aTYsQ2hldnJvblVwU3F1YXJlOigpPT5NcCxDaGV2cm9uc0Rvd246KCk9PmlTLENoZXZyb25zRG93blVwOigpPT5zUyxDaGV2cm9uc0xlZnQ6KCk9PmxTLENoZXZyb25zTGVmdFJpZ2h0OigpPT5uUyxDaGV2cm9uc0xlZnRSaWdodEVsbGlwc2lzOigpPT5vUyxDaGV2cm9uc1JpZ2h0OigpPT5kUyxDaGV2cm9uc1JpZ2h0TGVmdDooKT0+Y1MsQ2hldnJvbnNVcDooKT0+dVMsQ2hldnJvbnNVcERvd246KCk9PnBTLENodXJjaDooKT0+ZlMsQ2lnYXJldHRlOigpPT5tUyxDaWdhcmV0dGVPZmY6KCk9PmhTLENpcmNsZTooKT0+JFMsQ2lyY2xlQWxlcnQ6KCk9PlVkLENpcmNsZUFycm93RG93bjooKT0+V2QsQ2lyY2xlQXJyb3dMZWZ0OigpPT5HZCxDaXJjbGVBcnJvd091dERvd25MZWZ0OigpPT5ZZCxDaXJjbGVBcnJvd091dERvd25SaWdodDooKT0+S2QsQ2lyY2xlQXJyb3dPdXRVcExlZnQ6KCk9PlpkLENpcmNsZUFycm93T3V0VXBSaWdodDooKT0+WGQsQ2lyY2xlQXJyb3dSaWdodDooKT0+UWQsQ2lyY2xlQXJyb3dVcDooKT0+SmQsQ2lyY2xlQ2hlY2s6KCk9PnQ2LENpcmNsZUNoZWNrQmlnOigpPT5lNixDaXJjbGVDaGV2cm9uRG93bjooKT0+cjYsQ2lyY2xlQ2hldnJvbkxlZnQ6KCk9PmE2LENpcmNsZUNoZXZyb25SaWdodDooKT0+czYsQ2lyY2xlQ2hldnJvblVwOigpPT5pNixDaXJjbGVEYXNoZWQ6KCk9PmdTLENpcmNsZURpdmlkZTooKT0+bzYsQ2lyY2xlRG9sbGFyU2lnbjooKT0+YlMsQ2lyY2xlRG90OigpPT55UyxDaXJjbGVEb3REYXNoZWQ6KCk9PnZTLENpcmNsZUVsbGlwc2lzOigpPT54UyxDaXJjbGVFcXVhbDooKT0+d1MsQ2lyY2xlRmFkaW5nQXJyb3dVcDooKT0+TVMsQ2lyY2xlRmFkaW5nUGx1czooKT0+a1MsQ2lyY2xlR2F1Z2U6KCk9Pm42LENpcmNsZUhlbHA6KCk9PmFjLENpcmNsZU1pbnVzOigpPT5sNixDaXJjbGVPZmY6KCk9PlNTLENpcmNsZVBhcmtpbmc6KCk9PmQ2LENpcmNsZVBhcmtpbmdPZmY6KCk9PmM2LENpcmNsZVBhdXNlOigpPT51NixDaXJjbGVQZXJjZW50OigpPT5wNixDaXJjbGVQaWxlOigpPT56UyxDaXJjbGVQbGF5OigpPT5mNixDaXJjbGVQbHVzOigpPT5oNixDaXJjbGVQb3VuZFN0ZXJsaW5nOigpPT5DUyxDaXJjbGVQb3dlcjooKT0+bTYsQ2lyY2xlUXVlc3Rpb25NYXJrOigpPT5hYyxDaXJjbGVTbGFzaDooKT0+X1MsQ2lyY2xlU2xhc2gyOigpPT5nNixDaXJjbGVTbGFzaGVkOigpPT5nNixDaXJjbGVTbWFsbDooKT0+VFMsQ2lyY2xlU3RhcjooKT0+TFMsQ2lyY2xlU3RvcDooKT0+YjYsQ2lyY2xlVXNlcjooKT0+eDYsQ2lyY2xlVXNlclJvdW5kOigpPT52NixDaXJjbGVYOigpPT55NixDaXJjdWl0Qm9hcmQ6KCk9PkRTLENpdHJ1czooKT0+QVMsQ2xhcHBlcmJvYXJkOigpPT5FUyxDbGlwYm9hcmQ6KCk9PmpTLENsaXBib2FyZENoZWNrOigpPT5QUyxDbGlwYm9hcmRDbG9jazooKT0+SVMsQ2xpcGJvYXJkQ29weTooKT0+TlMsQ2xpcGJvYXJkRWRpdDooKT0+TTYsQ2xpcGJvYXJkTGlzdDooKT0+UlMsQ2xpcGJvYXJkTWludXM6KCk9Pk9TLENsaXBib2FyZFBhc3RlOigpPT5GUyxDbGlwYm9hcmRQZW46KCk9Pk02LENsaXBib2FyZFBlbkxpbmU6KCk9Pnc2LENsaXBib2FyZFBsdXM6KCk9PkJTLENsaXBib2FyZFNpZ25hdHVyZTooKT0+dzYsQ2xpcGJvYXJkVHlwZTooKT0+SFMsQ2xpcGJvYXJkWDooKT0+cVMsQ2xvY2s6KCk9Pmx6LENsb2NrMTooKT0+VlMsQ2xvY2sxMDooKT0+VVMsQ2xvY2sxMTooKT0+V1MsQ2xvY2sxMjooKT0+R1MsQ2xvY2syOigpPT5ZUyxDbG9jazM6KCk9PktTLENsb2NrNDooKT0+WlMsQ2xvY2s1OigpPT5YUyxDbG9jazY6KCk9PlFTLENsb2NrNzooKT0+ZXosQ2xvY2s4OigpPT5KUyxDbG9jazk6KCk9PnR6LENsb2NrQWxlcnQ6KCk9PmF6LENsb2NrQXJyb3dEb3duOigpPT5yeixDbG9ja0Fycm93VXA6KCk9PnN6LENsb2NrQ2hlY2s6KCk9Pml6LENsb2NrRmFkaW5nOigpPT5veixDbG9ja1BsdXM6KCk9Pm56LENsb3NlZENhcHRpb246KCk9PmN6LENsb3VkOigpPT5feixDbG91ZEFsZXJ0OigpPT5keixDbG91ZEJhY2t1cDooKT0+dXosQ2xvdWRDaGVjazooKT0+cHosQ2xvdWRDb2c6KCk9PmZ6LENsb3VkRG93bmxvYWQ6KCk9Pms2LENsb3VkRHJpenpsZTooKT0+aHosQ2xvdWRGb2c6KCk9Pmd6LENsb3VkSGFpbDooKT0+bXosQ2xvdWRMaWdodG5pbmc6KCk9PmJ6LENsb3VkTW9vbjooKT0+eHosQ2xvdWRNb29uUmFpbjooKT0+dnosQ2xvdWRPZmY6KCk9Pnd6LENsb3VkUmFpbjooKT0+TXosQ2xvdWRSYWluV2luZDooKT0+eXosQ2xvdWRTbm93OigpPT5reixDbG91ZFN1bjooKT0+Q3osQ2xvdWRTdW5SYWluOigpPT5TeixDbG91ZFN5bmM6KCk9Pnp6LENsb3VkVXBsb2FkOigpPT5TNixDbG91ZHk6KCk9PlR6LENsb3ZlcjooKT0+THosQ2x1YjooKT0+JHosQ29kZTooKT0+RHosQ29kZTI6KCk9Pno2LENvZGVTcXVhcmU6KCk9PmtwLENvZGVYbWw6KCk9Pno2LENvZmZlZTooKT0+QXosQ29nOigpPT5FeixDb2luczooKT0+UHosQ29sdW1uczooKT0+QzYsQ29sdW1uczI6KCk9PkM2LENvbHVtbnMzOigpPT5fNixDb2x1bW5zM0NvZzooKT0+cmMsQ29sdW1uczQ6KCk9Pkl6LENvbHVtbnNTZXR0aW5nczooKT0+cmMsQ29tYmluZTooKT0+TnosQ29tbWFuZDooKT0+UnosQ29tcGFzczooKT0+T3osQ29tcG9uZW50OigpPT5GeixDb21wdXRlcjooKT0+QnosQ29uY2llcmdlQmVsbDooKT0+SHosQ29uZTooKT0+cXosQ29uc3RydWN0aW9uOigpPT5WeixDb250YWN0OigpPT5qeixDb250YWN0MjooKT0+VDYsQ29udGFjdFJvdW5kOigpPT5UNixDb250YWluZXI6KCk9PlV6LENvbnRyYXN0OigpPT5XeixDb29raWU6KCk9Pkd6LENvb2tpbmdQb3Q6KCk9Pll6LENvcHk6KCk9PmVDLENvcHlDaGVjazooKT0+S3osQ29weU1pbnVzOigpPT5aeixDb3B5UGx1czooKT0+WHosQ29weVNsYXNoOigpPT5ReixDb3B5WDooKT0+SnosQ29weWxlZnQ6KCk9PnRDLENvcHlyaWdodDooKT0+YUMsQ29ybmVyRG93bkxlZnQ6KCk9PnJDLENvcm5lckRvd25SaWdodDooKT0+c0MsQ29ybmVyTGVmdERvd246KCk9PmlDLENvcm5lckxlZnRVcDooKT0+b0MsQ29ybmVyUmlnaHREb3duOigpPT5uQyxDb3JuZXJSaWdodFVwOigpPT5sQyxDb3JuZXJVcExlZnQ6KCk9PmNDLENvcm5lclVwUmlnaHQ6KCk9PmRDLENwdTooKT0+dUMsQ3JlYXRpdmVDb21tb25zOigpPT5wQyxDcmVkaXRDYXJkOigpPT5mQyxDcm9pc3NhbnQ6KCk9PmhDLENyb3A6KCk9Pm1DLENyb3NzOigpPT5nQyxDcm9zc2hhaXI6KCk9PmJDLENyb3duOigpPT52QyxDdWJvaWQ6KCk9PnhDLEN1cFNvZGE6KCk9PnlDLEN1cmx5QnJhY2VzOigpPT4kZCxDdXJyZW5jeTooKT0+d0MsQ3lsaW5kZXI6KCk9Pk1DLERhbTooKT0+a0MsRGF0YWJhc2U6KCk9Pl9DLERhdGFiYXNlQmFja3VwOigpPT5TQyxEYXRhYmFzZVNlYXJjaDooKT0+Q0MsRGF0YWJhc2VaYXA6KCk9PnpDLERlY2ltYWxzQXJyb3dMZWZ0OigpPT5UQyxEZWNpbWFsc0Fycm93UmlnaHQ6KCk9PkxDLERlbGV0ZTooKT0+JEMsRGVzc2VydDooKT0+REMsRGlhbWV0ZXI6KCk9PkFDLERpYW1vbmQ6KCk9PklDLERpYW1vbmRNaW51czooKT0+RUMsRGlhbW9uZFBlcmNlbnQ6KCk9Pkw2LERpYW1vbmRQbHVzOigpPT5QQyxEaWNlMTooKT0+TkMsRGljZTI6KCk9PlJDLERpY2UzOigpPT5PQyxEaWNlNDooKT0+RkMsRGljZTU6KCk9PkJDLERpY2U2OigpPT5IQyxEaWNlczooKT0+VkMsRGlmZjooKT0+cUMsRGlzYzooKT0+WUMsRGlzYzI6KCk9PmpDLERpc2MzOigpPT5VQyxEaXNjQWxidW06KCk9PldDLERpdmlkZTooKT0+R0MsRGl2aWRlQ2lyY2xlOigpPT5vNixEaXZpZGVTcXVhcmU6KCk9PlRwLERuYTooKT0+WkMsRG5hT2ZmOigpPT5LQyxEb2NrOigpPT5YQyxEb2c6KCk9PkpDLERvbGxhclNpZ246KCk9PlFDLERvbnV0OigpPT5lXyxEb29yQ2xvc2VkOigpPT5hXyxEb29yQ2xvc2VkTG9ja2VkOigpPT50XyxEb29yT3BlbjooKT0+cl8sRG90OigpPT5zXyxEb3RTcXVhcmU6KCk9Pl9wLERvd25sb2FkOigpPT5pXyxEb3dubG9hZENsb3VkOigpPT5rNixEcmFmdGluZ0NvbXBhc3M6KCk9Pm9fLERyYW1hOigpPT5sXyxEcmlsbDooKT0+bl8sRHJvbmU6KCk9PmNfLERyb3BsZXQ6KCk9PmRfLERyb3BsZXRPZmY6KCk9PnVfLERyb3BsZXRzOigpPT5wXyxEcnVtOigpPT5mXyxEcnVtc3RpY2s6KCk9PmhfLER1bWJiZWxsOigpPT5tXyxFYXI6KCk9PmJfLEVhck9mZjooKT0+Z18sRWFydGg6KCk9PiQ2LEVhcnRoTG9jazooKT0+dl8sRWNsaXBzZTooKT0+eF8sRWRpdDooKT0+ejEsRWRpdDI6KCk9PnF1LEVkaXQzOigpPT5IdSxFZ2c6KCk9PndfLEVnZ0ZyaWVkOigpPT55XyxFZ2dPZmY6KCk9Pk1fLEVsbGlwc2U6KCk9PmtfLEVsbGlwc2lzOigpPT5BNixFbGxpcHNpc1ZlcnRpY2FsOigpPT5ENixFcXVhbDooKT0+Q18sRXF1YWxBcHByb3hpbWF0ZWx5OigpPT5TXyxFcXVhbE5vdDooKT0+el8sRXF1YWxTcXVhcmU6KCk9PkxwLEVyYXNlcjooKT0+X18sRXRoZXJuZXRQb3J0OigpPT5UXyxFdXJvOigpPT5MXyxFdkNoYXJnZXI6KCk9PiRfLEV4cGFuZDooKT0+RF8sRXh0ZXJuYWxMaW5rOigpPT5BXyxFeWU6KCk9PklfLEV5ZUNsb3NlZDooKT0+RV8sRXllT2ZmOigpPT5QXyxGYWN0b3J5OigpPT5OXyxGYW46KCk9PlJfLEZhc3RGb3J3YXJkOigpPT5PXyxGZWF0aGVyOigpPT5GXyxGZW5jZTooKT0+SF8sRmVycmlzV2hlZWw6KCk9PkJfLEZpbGU6KCk9PmdULEZpbGVBcmNoaXZlOigpPT5xXyxGaWxlQXVkaW86KCk9PnNjLEZpbGVBdWRpbzI6KCk9PnNjLEZpbGVBeGlzM0Q6KCk9PkU2LEZpbGVBeGlzM2Q6KCk9PkU2LEZpbGVCYWRnZTooKT0+UDYsRmlsZUJhZGdlMjooKT0+UDYsRmlsZUJhckNoYXJ0OigpPT5ONixGaWxlQmFyQ2hhcnQyOigpPT5PNixGaWxlQm94OigpPT5WXyxGaWxlQnJhY2VzOigpPT5JNixGaWxlQnJhY2VzQ29ybmVyOigpPT5SNixGaWxlQ2hhcnRDb2x1bW46KCk9Pk82LEZpbGVDaGFydENvbHVtbkluY3JlYXNpbmc6KCk9Pk42LEZpbGVDaGFydExpbmU6KCk9PkY2LEZpbGVDaGFydFBpZTooKT0+QjYsRmlsZUNoZWNrOigpPT5qXyxGaWxlQ2hlY2syOigpPT5INixGaWxlQ2hlY2tDb3JuZXI6KCk9Pkg2LEZpbGVDbG9jazooKT0+VV8sRmlsZUNvZGU6KCk9PldfLEZpbGVDb2RlMjooKT0+cTYsRmlsZUNvZGVDb3JuZXI6KCk9PnE2LEZpbGVDb2c6KCk9PlY2LEZpbGVDb2cyOigpPT5WNixGaWxlRGlmZjooKT0+R18sRmlsZURpZ2l0OigpPT5ZXyxGaWxlRG93bjooKT0+S18sRmlsZUVkaXQ6KCk9Plo2LEZpbGVFeGNsYW1hdGlvblBvaW50OigpPT5qNixGaWxlSGVhZHBob25lOigpPT5zYyxGaWxlSGVhcnQ6KCk9PlpfLEZpbGVJbWFnZTooKT0+WF8sRmlsZUlucHV0OigpPT5RXyxGaWxlSnNvbjooKT0+STYsRmlsZUpzb24yOigpPT5SNixGaWxlS2V5OigpPT5VNixGaWxlS2V5MjooKT0+VTYsRmlsZUxpbmVDaGFydDooKT0+RjYsRmlsZUxvY2s6KCk9Plc2LEZpbGVMb2NrMjooKT0+VzYsRmlsZU1pbnVzOigpPT5KXyxGaWxlTWludXMyOigpPT5HNixGaWxlTWludXNDb3JuZXI6KCk9Pkc2LEZpbGVNdXNpYzooKT0+ZVQsRmlsZU91dHB1dDooKT0+dFQsRmlsZVBlbjooKT0+WjYsRmlsZVBlbkxpbmU6KCk9Plk2LEZpbGVQaWVDaGFydDooKT0+QjYsRmlsZVBsYXk6KCk9Pks2LEZpbGVQbHVzOigpPT5hVCxGaWxlUGx1czI6KCk9Plg2LEZpbGVQbHVzQ29ybmVyOigpPT5YNixGaWxlUXVlc3Rpb246KCk9PlE2LEZpbGVRdWVzdGlvbk1hcms6KCk9PlE2LEZpbGVTY2FuOigpPT5yVCxGaWxlU2VhcmNoOigpPT5zVCxGaWxlU2VhcmNoMjooKT0+SjYsRmlsZVNlYXJjaENvcm5lcjooKT0+SjYsRmlsZVNpZ25hbDooKT0+ZXUsRmlsZVNpZ25hdHVyZTooKT0+WTYsRmlsZVNsaWRlcnM6KCk9PmlULEZpbGVTcHJlYWRzaGVldDooKT0+b1QsRmlsZVN0YWNrOigpPT5sVCxGaWxlU3ltbGluazooKT0+blQsRmlsZVRlcm1pbmFsOigpPT5jVCxGaWxlVGV4dDooKT0+ZFQsRmlsZVR5cGU6KCk9PnVULEZpbGVUeXBlMjooKT0+dHUsRmlsZVR5cGVDb3JuZXI6KCk9PnR1LEZpbGVVcDooKT0+cFQsRmlsZVVzZXI6KCk9PmZULEZpbGVWaWRlbzooKT0+SzYsRmlsZVZpZGVvMjooKT0+YXUsRmlsZVZpZGVvQ2FtZXJhOigpPT5hdSxGaWxlVm9sdW1lOigpPT5oVCxGaWxlVm9sdW1lMjooKT0+ZXUsRmlsZVdhcm5pbmc6KCk9Pmo2LEZpbGVYOigpPT5tVCxGaWxlWDI6KCk9PnJ1LEZpbGVYQ29ybmVyOigpPT5ydSxGaWxlczooKT0+dlQsRmlsbTooKT0+YlQsRmlsdGVyOigpPT5sdSxGaWx0ZXJYOigpPT5udSxGaW5nZXJwcmludDooKT0+c3UsRmluZ2VycHJpbnRQYXR0ZXJuOigpPT5zdSxGaXJlRXh0aW5ndWlzaGVyOigpPT54VCxGaXNoOigpPT5NVCxGaXNoT2ZmOigpPT53VCxGaXNoU3ltYm9sOigpPT55VCxGaXNoaW5nSG9vazooKT0+a1QsRmlzaGluZ1JvZDooKT0+elQsRmxhZzooKT0+VFQsRmxhZ09mZjooKT0+U1QsRmxhZ1RyaWFuZ2xlTGVmdDooKT0+Q1QsRmxhZ1RyaWFuZ2xlUmlnaHQ6KCk9Pl9ULEZsYW1lOigpPT5MVCxGbGFtZUtpbmRsaW5nOigpPT5EVCxGbGFzaGxpZ2h0OigpPT5BVCxGbGFzaGxpZ2h0T2ZmOigpPT4kVCxGbGFza0NvbmljYWw6KCk9PlBULEZsYXNrQ29uaWNhbE9mZjooKT0+RVQsRmxhc2tSb3VuZDooKT0+SVQsRmxpcEhvcml6b250YWw6KCk9Pm1wLEZsaXBIb3Jpem9udGFsMjooKT0+TlQsRmxpcFZlcnRpY2FsOigpPT5ncCxGbGlwVmVydGljYWwyOigpPT5SVCxGbG93ZXI6KCk9PkhULEZsb3dlcjI6KCk9Pk9ULEZvY3VzOigpPT5GVCxGb2xkSG9yaXpvbnRhbDooKT0+QlQsRm9sZFZlcnRpY2FsOigpPT5qVCxGb2xkZXI6KCk9PmJMLEZvbGRlckFyY2hpdmU6KCk9PnFULEZvbGRlckJvb2ttYXJrOigpPT5WVCxGb2xkZXJDaGVjazooKT0+VVQsRm9sZGVyQ2xvY2s6KCk9PllULEZvbGRlckNsb3NlZDooKT0+V1QsRm9sZGVyQ29kZTooKT0+R1QsRm9sZGVyQ29nOigpPT5pdSxGb2xkZXJDb2cyOigpPT5pdSxGb2xkZXJEb3Q6KCk9PktULEZvbGRlckRvd246KCk9PlpULEZvbGRlckVkaXQ6KCk9Pm91LEZvbGRlckdpdDooKT0+UVQsRm9sZGVyR2l0MjooKT0+WFQsRm9sZGVySGVhcnQ6KCk9PkpULEZvbGRlcklucHV0OigpPT5hTCxGb2xkZXJLYW5iYW46KCk9PmVMLEZvbGRlcktleTooKT0+dEwsRm9sZGVyTG9jazooKT0+ckwsRm9sZGVyTWludXM6KCk9Pm9MLEZvbGRlck9wZW46KCk9PmlMLEZvbGRlck9wZW5Eb3Q6KCk9PnNMLEZvbGRlck91dHB1dDooKT0+bkwsRm9sZGVyUGVuOigpPT5vdSxGb2xkZXJQbHVzOigpPT5sTCxGb2xkZXJSb290OigpPT5jTCxGb2xkZXJTZWFyY2g6KCk9PnVMLEZvbGRlclNlYXJjaDI6KCk9PmRMLEZvbGRlclN5bWxpbms6KCk9PnBMLEZvbGRlclN5bmM6KCk9PmhMLEZvbGRlclRyZWU6KCk9PmZMLEZvbGRlclVwOigpPT5tTCxGb2xkZXJYOigpPT5nTCxGb2xkZXJzOigpPT52TCxGb290cHJpbnRzOigpPT54TCxGb3JrS25pZmU6KCk9PnlmLEZvcmtLbmlmZUNyb3NzZWQ6KCk9PnhmLEZvcmtsaWZ0OigpPT55TCxGb3JtOigpPT53TCxGb3JtSW5wdXQ6KCk9Pmp1LEZvcndhcmQ6KCk9Pk1MLEZyYW1lOigpPT5rTCxGcm93bjooKT0+U0wsRnVlbDooKT0+ekwsRnVsbHNjcmVlbjooKT0+Q0wsRnVuY3Rpb25TcXVhcmU6KCk9PiRwLEZ1bm5lbDooKT0+bHUsRnVubmVsUGx1czooKT0+X0wsRnVubmVsWDooKT0+bnUsR2FsbGVyeUhvcml6b250YWw6KCk9PkxMLEdhbGxlcnlIb3Jpem9udGFsRW5kOigpPT5UTCxHYWxsZXJ5VGh1bWJuYWlsczooKT0+JEwsR2FsbGVyeVZlcnRpY2FsOigpPT5BTCxHYWxsZXJ5VmVydGljYWxFbmQ6KCk9PkRMLEdhbWVwYWQ6KCk9PklMLEdhbWVwYWQyOigpPT5FTCxHYW1lcGFkRGlyZWN0aW9uYWw6KCk9PlBMLEdhbnR0Q2hhcnQ6KCk9PnFkLEdhbnR0Q2hhcnRTcXVhcmU6KCk9PmxjLEdhdWdlOigpPT5OTCxHYXVnZUNpcmNsZTooKT0+bjYsR2F2ZWw6KCk9PlJMLEdlbTooKT0+T0wsR2VvcmdpYW5MYXJpOigpPT5CTCxHaG9zdDooKT0+RkwsR2lmdDooKT0+cUwsR2l0QnJhbmNoOigpPT5qTCxHaXRCcmFuY2hNaW51czooKT0+SEwsR2l0QnJhbmNoUGx1czooKT0+VkwsR2l0Q29tbWl0OigpPT5jdSxHaXRDb21taXRIb3Jpem9udGFsOigpPT5jdSxHaXRDb21taXRWZXJ0aWNhbDooKT0+VUwsR2l0Q29tcGFyZTooKT0+R0wsR2l0Q29tcGFyZUFycm93czooKT0+V0wsR2l0Rm9yazooKT0+WUwsR2l0R3JhcGg6KCk9PktMLEdpdE1lcmdlOigpPT5aTCxHaXRNZXJnZUNvbmZsaWN0OigpPT5YTCxHaXRQdWxsUmVxdWVzdDooKT0+ciQsR2l0UHVsbFJlcXVlc3RBcnJvdzooKT0+UUwsR2l0UHVsbFJlcXVlc3RDbG9zZWQ6KCk9PkpMLEdpdFB1bGxSZXF1ZXN0Q3JlYXRlOigpPT50JCxHaXRQdWxsUmVxdWVzdENyZWF0ZUFycm93OigpPT5lJCxHaXRQdWxsUmVxdWVzdERyYWZ0OigpPT5hJCxHbGFzc1dhdGVyOigpPT5zJCxHbGFzc2VzOigpPT5pJCxHbG9iZTooKT0+YyQsR2xvYmUyOigpPT4kNixHbG9iZUxvY2s6KCk9Pm8kLEdsb2JlT2ZmOigpPT5sJCxHbG9iZVg6KCk9Pm4kLEdvYWw6KCk9PmQkLEdwdTooKT0+dSQsR3JhYjooKT0+aHUsR3JhZHVhdGlvbkNhcDooKT0+cCQsR3JhcGU6KCk9PmYkLEdyaWQ6KCk9PmljLEdyaWQyWDI6KCk9PmZ1LEdyaWQyWDJDaGVjazooKT0+ZHUsR3JpZDJYMlBsdXM6KCk9PnV1LEdyaWQyWDJYOigpPT5wdSxHcmlkMngyOigpPT5mdSxHcmlkMngyQ2hlY2s6KCk9PmR1LEdyaWQyeDJQbHVzOigpPT51dSxHcmlkMngyWDooKT0+cHUsR3JpZDNYMzooKT0+aWMsR3JpZDN4MjooKT0+aCQsR3JpZDN4MzooKT0+aWMsR3JpcDooKT0+YiQsR3JpcEhvcml6b250YWw6KCk9Pm0kLEdyaXBWZXJ0aWNhbDooKT0+ZyQsR3JvdXA6KCk9PnYkLEd1aXRhcjooKT0+eCQsSGFtOigpPT55JCxIYW1idXJnZXI6KCk9PnckLEhhbW1lcjooKT0+TSQsSGFuZDooKT0+VCQsSGFuZENvaW5zOigpPT5rJCxIYW5kRmlzdDooKT0+UyQsSGFuZEdyYWI6KCk9Pmh1LEhhbmRIZWFydDooKT0+eiQsSGFuZEhlbHBpbmc6KCk9Pm11LEhhbmRNZXRhbDooKT0+QyQsSGFuZFBsYXR0ZXI6KCk9Pl8kLEhhbmRiYWc6KCk9PkwkLEhhbmRzaGFrZTooKT0+JCQsSGFyZERyaXZlOigpPT5QJCxIYXJkRHJpdmVEb3dubG9hZDooKT0+RCQsSGFyZERyaXZlVXBsb2FkOigpPT5BJCxIYXJkSGF0OigpPT5FJCxIYXNoOigpPT5JJCxIYXRHbGFzc2VzOigpPT5OJCxIYXplOigpPT5SJCxIZDooKT0+TyQsSGRtaVBvcnQ6KCk9PkYkLEhlYWRpbmc6KCk9PlckLEhlYWRpbmcxOigpPT5CJCxIZWFkaW5nMjooKT0+SCQsSGVhZGluZzM6KCk9PnEkLEhlYWRpbmc0OigpPT5WJCxIZWFkaW5nNTooKT0+aiQsSGVhZGluZzY6KCk9PlUkLEhlYWRwaG9uZU9mZjooKT0+RyQsSGVhZHBob25lczooKT0+SyQsSGVhZHNldDooKT0+WSQsSGVhcnQ6KCk9PnJELEhlYXJ0Q3JhY2s6KCk9PlokLEhlYXJ0SGFuZHNoYWtlOigpPT5YJCxIZWFydE1pbnVzOigpPT5RJCxIZWFydE9mZjooKT0+SiQsSGVhcnRQbHVzOigpPT5lRCxIZWFydFB1bHNlOigpPT50RCxIZWFydFg6KCk9PmFELEhlYXRlcjooKT0+c0QsSGVsaWNvcHRlcjooKT0+aUQsSGVscENpcmNsZTooKT0+YWMsSGVscGluZ0hhbmQ6KCk9Pm11LEhleGFnb246KCk9Pm9ELEhpZ2hsaWdodGVyOigpPT5uRCxIaXN0b3J5OigpPT5sRCxIb21lOigpPT5ndSxIb3A6KCk9PmNELEhvcE9mZjooKT0+ZEQsSG9zcGl0YWw6KCk9PnVELEhvdGVsOigpPT5wRCxIb3VyZ2xhc3M6KCk9PmZELEhvdXNlOigpPT5ndSxIb3VzZUhlYXJ0OigpPT5oRCxIb3VzZVBsdWc6KCk9Pm1ELEhvdXNlUGx1czooKT0+YkQsSG91c2VXaWZpOigpPT5nRCxJY2VDcmVhbTooKT0+dnUsSWNlQ3JlYW0yOigpPT5idSxJY2VDcmVhbUJvd2w6KCk9PmJ1LEljZUNyZWFtQ29uZTooKT0+dnUsSWRDYXJkOigpPT54RCxJZENhcmRMYW55YXJkOigpPT52RCxJbWFnZTooKT0+X0QsSW1hZ2VEb3duOigpPT55RCxJbWFnZU1pbnVzOigpPT53RCxJbWFnZU9mZjooKT0+TUQsSW1hZ2VQbGF5OigpPT5rRCxJbWFnZVBsdXM6KCk9PlNELEltYWdlVXA6KCk9PnpELEltYWdlVXBzY2FsZTooKT0+Q0QsSW1hZ2VzOigpPT5URCxJbXBvcnQ6KCk9PkxELEluYm94OigpPT4kRCxJbmRlbnQ6KCk9Pm5jLEluZGVudERlY3JlYXNlOigpPT5vYyxJbmRlbnRJbmNyZWFzZTooKT0+bmMsSW5kaWFuUnVwZWU6KCk9PkRELEluZmluaXR5OigpPT5BRCxJbmZvOigpPT5FRCxJbnNwZWN0OigpPT5OcCxJbnNwZWN0aW9uUGFuZWw6KCk9PlBELEl0YWxpYzooKT0+SUQsSXRlcmF0aW9uQ2N3OigpPT5ORCxJdGVyYXRpb25DdzooKT0+UkQsSmFwYW5lc2VZZW46KCk9Pk9ELEpveXN0aWNrOigpPT5GRCxLYW5iYW46KCk9PkJELEthbmJhblNxdWFyZTooKT0+RXAsS2FuYmFuU3F1YXJlRGFzaGVkOigpPT5TcCxLYXlhazooKT0+SEQsS2V5OigpPT5qRCxLZXlSb3VuZDooKT0+VkQsS2V5U3F1YXJlOigpPT5xRCxLZXlib2FyZDooKT0+R0QsS2V5Ym9hcmRNdXNpYzooKT0+VUQsS2V5Ym9hcmRPZmY6KCk9PldELExhbXA6KCk9PkpELExhbXBDZWlsaW5nOigpPT5ZRCxMYW1wRGVzazooKT0+S0QsTGFtcEZsb29yOigpPT5aRCxMYW1wV2FsbERvd246KCk9PlhELExhbXBXYWxsVXA6KCk9PlFELExhbmRQbG90OigpPT5lQSxMYW5kbWFyazooKT0+dEEsTGFuZ3VhZ2VzOigpPT5hQSxMYXB0b3A6KCk9PnNBLExhcHRvcDI6KCk9Pnh1LExhcHRvcE1pbmltYWw6KCk9Pnh1LExhcHRvcE1pbmltYWxDaGVjazooKT0+ckEsTGFzc286KCk9Pm5BLExhc3NvU2VsZWN0OigpPT5pQSxMYXVnaDooKT0+b0EsTGF5ZXJzOigpPT55dSxMYXllcnMyOigpPT5sQSxMYXllcnMzOigpPT55dSxMYXllcnNNaW51czooKT0+Y0EsTGF5ZXJzUGx1czooKT0+ZEEsTGF5b3V0OigpPT5CdSxMYXlvdXREYXNoYm9hcmQ6KCk9PnVBLExheW91dEdyaWQ6KCk9PnBBLExheW91dExpc3Q6KCk9PmZBLExheW91dFBhbmVsTGVmdDooKT0+aEEsTGF5b3V0UGFuZWxUb3A6KCk9PmdBLExheW91dFRlbXBsYXRlOigpPT5tQSxMZWFmOigpPT5iQSxMZWFmeUdyZWVuOigpPT52QSxMZWN0ZXJuOigpPT54QSxMZW5zQ29uY2F2ZTooKT0+eUEsTGVuc0NvbnZleDooKT0+d0EsTGV0dGVyVGV4dDooKT0+c2YsTGlicmFyeTooKT0+a0EsTGlicmFyeUJpZzooKT0+TUEsTGlicmFyeVNxdWFyZTooKT0+RHAsTGlmZUJ1b3k6KCk9PlNBLExpZ2F0dXJlOigpPT56QSxMaWdodGJ1bGI6KCk9PkNBLExpZ2h0YnVsYk9mZjooKT0+X0EsTGluZUNoYXJ0OigpPT5GZCxMaW5lRG90UmlnaHRIb3Jpem9udGFsOigpPT5UQSxMaW5lU3F1aWdnbGU6KCk9PiRBLExpbmVTdHlsZTooKT0+TEEsTGluazooKT0+RUEsTGluazI6KCk9PkFBLExpbmsyT2ZmOigpPT5EQSxMaXN0OigpPT5RQSxMaXN0Q2hlY2s6KCk9PlBBLExpc3RDaGVja3M6KCk9PklBLExpc3RDaGV2cm9uc0Rvd25VcDooKT0+TkEsTGlzdENoZXZyb25zVXBEb3duOigpPT5SQSxMaXN0Q29sbGFwc2U6KCk9Pk9BLExpc3RFbmQ6KCk9PkZBLExpc3RGaWx0ZXI6KCk9PkhBLExpc3RGaWx0ZXJQbHVzOigpPT5CQSxMaXN0SW5kZW50RGVjcmVhc2U6KCk9Pm9jLExpc3RJbmRlbnRJbmNyZWFzZTooKT0+bmMsTGlzdE1pbnVzOigpPT5xQSxMaXN0TXVzaWM6KCk9PlZBLExpc3RPcmRlcmVkOigpPT5qQSxMaXN0UGx1czooKT0+VUEsTGlzdFJlc3RhcnQ6KCk9PldBLExpc3RTdGFydDooKT0+R0EsTGlzdFRvZG86KCk9PllBLExpc3RUcmVlOigpPT5LQSxMaXN0VmlkZW86KCk9PlpBLExpc3RYOigpPT5YQSxMb2FkZXI6KCk9PmVFLExvYWRlcjI6KCk9Pnd1LExvYWRlckNpcmNsZTooKT0+d3UsTG9hZGVyUGlud2hlZWw6KCk9PkpBLExvY2F0ZTooKT0+ckUsTG9jYXRlRml4ZWQ6KCk9PnRFLExvY2F0ZU9mZjooKT0+YUUsTG9jYXRpb25FZGl0OigpPT56dSxMb2NrOigpPT5pRSxMb2NrS2V5aG9sZTooKT0+c0UsTG9ja0tleWhvbGVPcGVuOigpPT5NdSxMb2NrT3BlbjooKT0+a3UsTG9nSW46KCk9Pm9FLExvZ091dDooKT0+bkUsTG9nczooKT0+bEUsTG9sbGlwb3A6KCk9PmNFLEx1Z2dhZ2U6KCk9PmRFLE1TcXVhcmU6KCk9PkFwLE1hZ25ldDooKT0+cEUsTWFpbDooKT0+eUUsTWFpbENoZWNrOigpPT51RSxNYWlsTWludXM6KCk9PmZFLE1haWxPcGVuOigpPT5oRSxNYWlsUGx1czooKT0+bUUsTWFpbFF1ZXN0aW9uOigpPT5TdSxNYWlsUXVlc3Rpb25NYXJrOigpPT5TdSxNYWlsU2VhcmNoOigpPT5nRSxNYWlsV2FybmluZzooKT0+YkUsTWFpbFg6KCk9PnZFLE1haWxib3g6KCk9PnhFLE1haWxzOigpPT53RSxNYXA6KCk9PlJFLE1hcE1pbnVzOigpPT5NRSxNYXBQaW46KCk9PlBFLE1hcFBpbkNoZWNrOigpPT5TRSxNYXBQaW5DaGVja0luc2lkZTooKT0+a0UsTWFwUGluSG91c2U6KCk9PnpFLE1hcFBpbk1pbnVzOigpPT5fRSxNYXBQaW5NaW51c0luc2lkZTooKT0+Q0UsTWFwUGluT2ZmOigpPT5URSxNYXBQaW5QZW46KCk9Pnp1LE1hcFBpblBsdXM6KCk9PiRFLE1hcFBpblBsdXNJbnNpZGU6KCk9PkxFLE1hcFBpblNlYXJjaDooKT0+REUsTWFwUGluWDooKT0+QUUsTWFwUGluWEluc2lkZTooKT0+RUUsTWFwUGlubmVkOigpPT5JRSxNYXBQbHVzOigpPT5ORSxNYXJzOigpPT5GRSxNYXJzU3Ryb2tlOigpPT5PRSxNYXJ0aW5pOigpPT5CRSxNYXhpbWl6ZTooKT0+cUUsTWF4aW1pemUyOigpPT5IRSxNZWRhbDooKT0+VkUsTWVnYXBob25lOigpPT5VRSxNZWdhcGhvbmVPZmY6KCk9PmpFLE1laDooKT0+V0UsTWVtb3J5U3RpY2s6KCk9PkdFLE1lbnU6KCk9PllFLE1lbnVTcXVhcmU6KCk9PlBwLE1lcmdlOigpPT5LRSxNZXNzYWdlQ2lyY2xlOigpPT5vUCxNZXNzYWdlQ2lyY2xlQ2hlY2s6KCk9PlpFLE1lc3NhZ2VDaXJjbGVDb2RlOigpPT5YRSxNZXNzYWdlQ2lyY2xlRGFzaGVkOigpPT5RRSxNZXNzYWdlQ2lyY2xlSGVhcnQ6KCk9PkpFLE1lc3NhZ2VDaXJjbGVNb3JlOigpPT5lUCxNZXNzYWdlQ2lyY2xlT2ZmOigpPT50UCxNZXNzYWdlQ2lyY2xlUGx1czooKT0+YVAsTWVzc2FnZUNpcmNsZVF1ZXN0aW9uOigpPT5DdSxNZXNzYWdlQ2lyY2xlUXVlc3Rpb25NYXJrOigpPT5DdSxNZXNzYWdlQ2lyY2xlUmVwbHk6KCk9PnJQLE1lc3NhZ2VDaXJjbGVXYXJuaW5nOigpPT5zUCxNZXNzYWdlQ2lyY2xlWDooKT0+aVAsTWVzc2FnZVNxdWFyZTooKT0+a1AsTWVzc2FnZVNxdWFyZUNoZWNrOigpPT5sUCxNZXNzYWdlU3F1YXJlQ29kZTooKT0+blAsTWVzc2FnZVNxdWFyZURhc2hlZDooKT0+Y1AsTWVzc2FnZVNxdWFyZURpZmY6KCk9PmRQLE1lc3NhZ2VTcXVhcmVEb3Q6KCk9PnVQLE1lc3NhZ2VTcXVhcmVIZWFydDooKT0+cFAsTWVzc2FnZVNxdWFyZUxvY2s6KCk9PmZQLE1lc3NhZ2VTcXVhcmVNb3JlOigpPT5oUCxNZXNzYWdlU3F1YXJlT2ZmOigpPT5tUCxNZXNzYWdlU3F1YXJlUGx1czooKT0+Z1AsTWVzc2FnZVNxdWFyZVF1b3RlOigpPT5iUCxNZXNzYWdlU3F1YXJlUmVwbHk6KCk9PnZQLE1lc3NhZ2VTcXVhcmVTaGFyZTooKT0+eFAsTWVzc2FnZVNxdWFyZVRleHQ6KCk9PnlQLE1lc3NhZ2VTcXVhcmVXYXJuaW5nOigpPT53UCxNZXNzYWdlU3F1YXJlWDooKT0+TVAsTWVzc2FnZXNTcXVhcmU6KCk9PlNQLE1ldHJvbm9tZTooKT0+elAsTWljOigpPT5fUCxNaWMyOigpPT5fdSxNaWNPZmY6KCk9PkNQLE1pY1ZvY2FsOigpPT5fdSxNaWNyb2NoaXA6KCk9PlRQLE1pY3Jvc2NvcGU6KCk9PkxQLE1pY3Jvd2F2ZTooKT0+JFAsTWlsZXN0b25lOigpPT5EUCxNaWxrOigpPT5FUCxNaWxrT2ZmOigpPT5BUCxNaW5pbWl6ZTooKT0+SVAsTWluaW1pemUyOigpPT5QUCxNaW51czooKT0+TlAsTWludXNDaXJjbGU6KCk9Pmw2LE1pbnVzU3F1YXJlOigpPT5JcCxNaXJyb3JSZWN0YW5ndWxhcjooKT0+UlAsTWlycm9yUm91bmQ6KCk9Pk9QLE1vbml0b3I6KCk9PlFQLE1vbml0b3JDaGVjazooKT0+RlAsTW9uaXRvckNsb3VkOigpPT5CUCxNb25pdG9yQ29nOigpPT5IUCxNb25pdG9yRG90OigpPT5xUCxNb25pdG9yRG93bjooKT0+alAsTW9uaXRvck9mZjooKT0+VlAsTW9uaXRvclBhdXNlOigpPT5VUCxNb25pdG9yUGxheTooKT0+V1AsTW9uaXRvclNtYXJ0cGhvbmU6KCk9PkdQLE1vbml0b3JTcGVha2VyOigpPT5ZUCxNb25pdG9yU3RvcDooKT0+WlAsTW9uaXRvclVwOigpPT5LUCxNb25pdG9yWDooKT0+WFAsTW9vbjooKT0+ZUksTW9vblN0YXI6KCk9PkpQLE1vcmVIb3Jpem9udGFsOigpPT5BNixNb3JlVmVydGljYWw6KCk9PkQ2LE1vdG9yYmlrZTooKT0+dEksTW91bnRhaW46KCk9PnJJLE1vdW50YWluU25vdzooKT0+YUksTW91c2U6KCk9PnBJLE1vdXNlTGVmdDooKT0+c0ksTW91c2VPZmY6KCk9PmlJLE1vdXNlUG9pbnRlcjooKT0+ZEksTW91c2VQb2ludGVyMjooKT0+bkksTW91c2VQb2ludGVyMk9mZjooKT0+b0ksTW91c2VQb2ludGVyQmFuOigpPT5sSSxNb3VzZVBvaW50ZXJDbGljazooKT0+Y0ksTW91c2VQb2ludGVyU3F1YXJlRGFzaGVkOigpPT56cCxNb3VzZVJpZ2h0OigpPT51SSxNb3ZlOigpPT56SSxNb3ZlM0Q6KCk9PlR1LE1vdmUzZDooKT0+VHUsTW92ZURpYWdvbmFsOigpPT5oSSxNb3ZlRGlhZ29uYWwyOigpPT5mSSxNb3ZlRG93bjooKT0+YkksTW92ZURvd25MZWZ0OigpPT5tSSxNb3ZlRG93blJpZ2h0OigpPT5nSSxNb3ZlSG9yaXpvbnRhbDooKT0+dkksTW92ZUxlZnQ6KCk9PnhJLE1vdmVSaWdodDooKT0+eUksTW92ZVVwOigpPT5rSSxNb3ZlVXBMZWZ0OigpPT53SSxNb3ZlVXBSaWdodDooKT0+TUksTW92ZVZlcnRpY2FsOigpPT5TSSxNdXNpYzooKT0+TEksTXVzaWMyOigpPT5DSSxNdXNpYzM6KCk9PlRJLE11c2ljNDooKT0+X0ksTmF2aWdhdGlvbjooKT0+RUksTmF2aWdhdGlvbjI6KCk9PkRJLE5hdmlnYXRpb24yT2ZmOigpPT4kSSxOYXZpZ2F0aW9uT2ZmOigpPT5BSSxOZXR3b3JrOigpPT5QSSxOZXdzcGFwZXI6KCk9PklJLE5mYzooKT0+TkksTm9uQmluYXJ5OigpPT5SSSxOb3RlYm9vazooKT0+SEksTm90ZWJvb2tQZW46KCk9Pk9JLE5vdGVib29rVGFiczooKT0+QkksTm90ZWJvb2tUZXh0OigpPT5GSSxOb3RlcGFkVGV4dDooKT0+VkksTm90ZXBhZFRleHREYXNoZWQ6KCk9PnFJLE51dDooKT0+VUksTnV0T2ZmOigpPT5qSSxPY3RhZ29uOigpPT5HSSxPY3RhZ29uQWxlcnQ6KCk9Pkx1LE9jdGFnb25NaW51czooKT0+V0ksT2N0YWdvblBhdXNlOigpPT4kdSxPY3RhZ29uWDooKT0+RHUsT21lZ2E6KCk9PllJLE9wdGlvbjooKT0+S0ksT3JiaXQ6KCk9PlpJLE9yaWdhbWk6KCk9PlhJLE91dGRlbnQ6KCk9Pm9jLFBhY2thZ2U6KCk9PnNOLFBhY2thZ2UyOigpPT5RSSxQYWNrYWdlQ2hlY2s6KCk9PkpJLFBhY2thZ2VNaW51czooKT0+ZU4sUGFja2FnZU9wZW46KCk9PnROLFBhY2thZ2VQbHVzOigpPT5hTixQYWNrYWdlU2VhcmNoOigpPT5yTixQYWNrYWdlWDooKT0+aU4sUGFpbnRCdWNrZXQ6KCk9Pm9OLFBhaW50Um9sbGVyOigpPT5uTixQYWludGJydXNoOigpPT5sTixQYWludGJydXNoMjooKT0+QXUsUGFpbnRicnVzaFZlcnRpY2FsOigpPT5BdSxQYWxldHRlOigpPT5jTixQYWxtdHJlZTooKT0+bGYsUGFuZGE6KCk9PnVOLFBhbmVsQm90dG9tOigpPT5mTixQYW5lbEJvdHRvbUNsb3NlOigpPT5kTixQYW5lbEJvdHRvbURhc2hlZDooKT0+RXUsUGFuZWxCb3R0b21JbmFjdGl2ZTooKT0+RXUsUGFuZWxCb3R0b21PcGVuOigpPT5wTixQYW5lbExlZnQ6KCk9PlJ1LFBhbmVsTGVmdENsb3NlOigpPT5QdSxQYW5lbExlZnREYXNoZWQ6KCk9Pkl1LFBhbmVsTGVmdEluYWN0aXZlOigpPT5JdSxQYW5lbExlZnRPcGVuOigpPT5OdSxQYW5lbExlZnRSaWdodERhc2hlZDooKT0+aE4sUGFuZWxSaWdodDooKT0+dk4sUGFuZWxSaWdodENsb3NlOigpPT5tTixQYW5lbFJpZ2h0RGFzaGVkOigpPT5PdSxQYW5lbFJpZ2h0SW5hY3RpdmU6KCk9Pk91LFBhbmVsUmlnaHRPcGVuOigpPT5nTixQYW5lbFRvcDooKT0+d04sUGFuZWxUb3BCb3R0b21EYXNoZWQ6KCk9PmJOLFBhbmVsVG9wQ2xvc2U6KCk9PnhOLFBhbmVsVG9wRGFzaGVkOigpPT5GdSxQYW5lbFRvcEluYWN0aXZlOigpPT5GdSxQYW5lbFRvcE9wZW46KCk9PnlOLFBhbmVsc0xlZnRCb3R0b206KCk9Pk1OLFBhbmVsc0xlZnRSaWdodDooKT0+XzYsUGFuZWxzUmlnaHRCb3R0b206KCk9PmtOLFBhbmVsc1RvcEJvdHRvbTooKT0+R3UsUGFuZWxzVG9wTGVmdDooKT0+QnUsUGFwZXJjbGlwOigpPT5TTixQYXJlbnRoZXNlczooKT0+ek4sUGFya2luZ0NpcmNsZTooKT0+ZDYsUGFya2luZ0NpcmNsZU9mZjooKT0+YzYsUGFya2luZ01ldGVyOigpPT5DTixQYXJraW5nU3F1YXJlOigpPT5PcCxQYXJraW5nU3F1YXJlT2ZmOigpPT5ScCxQYXJ0eVBvcHBlcjooKT0+VE4sUGF1c2U6KCk9Pl9OLFBhdXNlQ2lyY2xlOigpPT51NixQYXVzZU9jdGFnb246KCk9PiR1LFBhd1ByaW50OigpPT5MTixQY0Nhc2U6KCk9PiROLFBlbjooKT0+cXUsUGVuQm94OigpPT56MSxQZW5MaW5lOigpPT5IdSxQZW5PZmY6KCk9PkROLFBlblNxdWFyZTooKT0+ejEsUGVuVG9vbDooKT0+QU4sUGVuY2lsOigpPT5JTixQZW5jaWxMaW5lOigpPT5FTixQZW5jaWxPZmY6KCk9PlBOLFBlbmNpbFJ1bGVyOigpPT5OTixQZW50YWdvbjooKT0+Uk4sUGVyY2VudDooKT0+T04sUGVyY2VudENpcmNsZTooKT0+cDYsUGVyY2VudERpYW1vbmQ6KCk9Pkw2LFBlcmNlbnRTcXVhcmU6KCk9PkZwLFBlcnNvblN0YW5kaW5nOigpPT5GTixQaGlsaXBwaW5lUGVzbzooKT0+Qk4sUGhvbmU6KCk9PllOLFBob25lQ2FsbDooKT0+SE4sUGhvbmVGb3J3YXJkZWQ6KCk9PnFOLFBob25lSW5jb21pbmc6KCk9PlZOLFBob25lTWlzc2VkOigpPT5qTixQaG9uZU9mZjooKT0+VU4sUGhvbmVPdXRnb2luZzooKT0+V04sUGk6KCk9PkdOLFBpU3F1YXJlOigpPT5CcCxQaWFubzooKT0+S04sUGlja2F4ZTooKT0+Wk4sUGljdHVyZUluUGljdHVyZTooKT0+UU4sUGljdHVyZUluUGljdHVyZTI6KCk9PlhOLFBpZUNoYXJ0OigpPT5WZCxQaWdneUJhbms6KCk9PkpOLFBpbGNyb3c6KCk9PmFSLFBpbGNyb3dMZWZ0OigpPT5lUixQaWxjcm93UmlnaHQ6KCk9PnRSLFBpbGNyb3dTcXVhcmU6KCk9PkhwLFBpbGw6KCk9PmlSLFBpbGxCb3R0bGU6KCk9PnJSLFBpbjooKT0+b1IsUGluT2ZmOigpPT5zUixQaXBldHRlOigpPT5uUixQaXp6YTooKT0+bFIsUGxhbmU6KCk9PnVSLFBsYW5lTGFuZGluZzooKT0+Y1IsUGxhbmVUYWtlb2ZmOigpPT5kUixQbGF5OigpPT5wUixQbGF5Q2lyY2xlOigpPT5mNixQbGF5U3F1YXJlOigpPT5WcCxQbHVnOigpPT5oUixQbHVnMjooKT0+ZlIsUGx1Z1phcDooKT0+VnUsUGx1Z1phcDI6KCk9PlZ1LFBsdXM6KCk9Pm1SLFBsdXNDaXJjbGU6KCk9Pmg2LFBsdXNTcXVhcmU6KCk9PnFwLFBvY2tldEtuaWZlOigpPT5nUixQb2RjYXN0OigpPT5iUixQb2ludGVyOigpPT52UixQb2ludGVyT2ZmOigpPT54UixQb3Bjb3JuOigpPT55UixQb3BzaWNsZTooKT0+d1IsUG91bmRTdGVybGluZzooKT0+TVIsUG93ZXI6KCk9PlNSLFBvd2VyQ2lyY2xlOigpPT5tNixQb3dlck9mZjooKT0+a1IsUG93ZXJTcXVhcmU6KCk9PmpwLFByZXNlbnRhdGlvbjooKT0+elIsUHJpbnRlcjooKT0+VFIsUHJpbnRlckNoZWNrOigpPT5fUixQcmludGVyWDooKT0+Q1IsUHJvamVjdG9yOigpPT5EUixQcm9wb3J0aW9uczooKT0+TFIsUHV6emxlOigpPT4kUixQeXJhbWlkOigpPT5BUixRckNvZGU6KCk9PlBSLFF1b3RlOigpPT5FUixSYWJiaXQ6KCk9Pk5SLFJhZGFyOigpPT5JUixSYWRpYXRpb246KCk9PlJSLFJhZGljYWw6KCk9Pk9SLFJhZGlvOigpPT5xUixSYWRpb09mZjooKT0+RlIsUmFkaW9SZWNlaXZlcjooKT0+QlIsUmFkaW9Ub3dlcjooKT0+SFIsUmFkaXVzOigpPT5WUixSYWluYm93OigpPT5qUixSYXQ6KCk9PlVSLFJhdGlvOigpPT5XUixSZWNlaXB0OigpPT50TyxSZWNlaXB0Q2VudDooKT0+R1IsUmVjZWlwdEV1cm86KCk9PllSLFJlY2VpcHRJbmRpYW5SdXBlZTooKT0+S1IsUmVjZWlwdEphcGFuZXNlWWVuOigpPT5YUixSZWNlaXB0UG91bmRTdGVybGluZzooKT0+WlIsUmVjZWlwdFJ1c3NpYW5SdWJsZTooKT0+UVIsUmVjZWlwdFN3aXNzRnJhbmM6KCk9PmVPLFJlY2VpcHRUZXh0OigpPT5KUixSZWNlaXB0VHVya2lzaExpcmE6KCk9PmFPLFJlY3RhbmdsZUNpcmNsZTooKT0+ck8sUmVjdGFuZ2xlRWxsaXBzaXM6KCk9Pmp1LFJlY3RhbmdsZUdvZ2dsZXM6KCk9PnNPLFJlY3RhbmdsZUhvcml6b250YWw6KCk9PmlPLFJlY3RhbmdsZVZlcnRpY2FsOigpPT5vTyxSZWN5Y2xlOigpPT5uTyxSZWRvOigpPT5kTyxSZWRvMjooKT0+bE8sUmVkb0RvdDooKT0+Y08sUmVmcmVzaENjdzooKT0+cE8sUmVmcmVzaENjd0RvdDooKT0+dU8sUmVmcmVzaEN3OigpPT5oTyxSZWZyZXNoQ3dPZmY6KCk9PmZPLFJlZnJpZ2VyYXRvcjooKT0+bU8sUmVnZXg6KCk9PmdPLFJlbW92ZUZvcm1hdHRpbmc6KCk9PmJPLFJlcGVhdDooKT0+d08sUmVwZWF0MTooKT0+eE8sUmVwZWF0MjooKT0+dk8sUmVwZWF0T2ZmOigpPT55TyxSZXBsYWNlOigpPT5rTyxSZXBsYWNlQWxsOigpPT5NTyxSZXBseTooKT0+ek8sUmVwbHlBbGw6KCk9PlNPLFJld2luZDooKT0+X08sUmliYm9uOigpPT5DTyxSb2FkOigpPT5UTyxSb2NrZXQ6KCk9PkxPLFJvY2tpbmdDaGFpcjooKT0+JE8sUm9sbGVyQ29hc3RlcjooKT0+RE8sUm9zZTooKT0+QU8sUm90YXRlM0Q6KCk9PlV1LFJvdGF0ZTNkOigpPT5VdSxSb3RhdGVDY3c6KCk9PklPLFJvdGF0ZUNjd0tleTooKT0+RU8sUm90YXRlQ2N3U3F1YXJlOigpPT5QTyxSb3RhdGVDdzooKT0+Uk8sUm90YXRlQ3dTcXVhcmU6KCk9Pk5PLFJvdXRlOigpPT5GTyxSb3V0ZU9mZjooKT0+T08sUm91dGVyOigpPT5CTyxSb3dzOigpPT5XdSxSb3dzMjooKT0+V3UsUm93czM6KCk9Pkd1LFJvd3M0OigpPT5ITyxSc3M6KCk9PnFPLFJ1bGVyOigpPT5qTyxSdWxlckRpbWVuc2lvbkxpbmU6KCk9PlZPLFJ1c3NpYW5SdWJsZTooKT0+VU8sU2FpbGJvYXQ6KCk9PldPLFNhbGFkOigpPT5HTyxTYW5kd2ljaDooKT0+WU8sU2F0ZWxsaXRlOigpPT5LTyxTYXRlbGxpdGVEaXNoOigpPT5aTyxTYXVkaVJpeWFsOigpPT5YTyxTYXZlOigpPT5lRixTYXZlQWxsOigpPT5KTyxTYXZlT2ZmOigpPT5RTyxTY2FsZTooKT0+dEYsU2NhbGUzRDooKT0+WXUsU2NhbGUzZDooKT0+WXUsU2NhbGluZzooKT0+ckYsU2NhbjooKT0+dUYsU2NhbkJhcmNvZGU6KCk9PmFGLFNjYW5FeWU6KCk9PnNGLFNjYW5GYWNlOigpPT5pRixTY2FuSGVhcnQ6KCk9Pm9GLFNjYW5MaW5lOigpPT5uRixTY2FuUXJDb2RlOigpPT5sRixTY2FuU2VhcmNoOigpPT5jRixTY2FuVGV4dDooKT0+ZEYsU2NhdHRlckNoYXJ0OigpPT5qZCxTY2hvb2w6KCk9PnBGLFNjaG9vbDI6KCk9PnVmLFNjaXNzb3JzOigpPT5oRixTY2lzc29yc0xpbmVEYXNoZWQ6KCk9PmZGLFNjaXNzb3JzU3F1YXJlOigpPT5XcCxTY2lzc29yc1NxdWFyZURhc2hlZEJvdHRvbTooKT0+aHAsU2Nvb3RlcjooKT0+bUYsU2NyZWVuU2hhcmU6KCk9PmJGLFNjcmVlblNoYXJlT2ZmOigpPT5nRixTY3JvbGw6KCk9PnhGLFNjcm9sbFRleHQ6KCk9PnZGLFNlYXJjaDooKT0+ekYsU2VhcmNoQWxlcnQ6KCk9PnlGLFNlYXJjaENoZWNrOigpPT53RixTZWFyY2hDb2RlOigpPT5NRixTZWFyY2hTbGFzaDooKT0+a0YsU2VhcmNoWDooKT0+U0YsU2VjdGlvbjooKT0+Q0YsU2VuZDooKT0+VEYsU2VuZEhvcml6b25hbDooKT0+S3UsU2VuZEhvcml6b250YWw6KCk9Pkt1LFNlbmRUb0JhY2s6KCk9Pl9GLFNlcGFyYXRvckhvcml6b250YWw6KCk9PkxGLFNlcGFyYXRvclZlcnRpY2FsOigpPT4kRixTZXJ2ZXI6KCk9PlBGLFNlcnZlckNvZzooKT0+REYsU2VydmVyQ3Jhc2g6KCk9PkFGLFNlcnZlck9mZjooKT0+RUYsU2V0dGluZ3M6KCk9PlJGLFNldHRpbmdzMjooKT0+SUYsU2hhcGVzOigpPT5ORixTaGFyZTooKT0+RkYsU2hhcmUyOigpPT5PRixTaGVldDooKT0+SEYsU2hlbGw6KCk9PkJGLFNoZWx2aW5nVW5pdDooKT0+cUYsU2hpZWxkOigpPT5lQixTaGllbGRBbGVydDooKT0+VkYsU2hpZWxkQmFuOigpPT5qRixTaGllbGRDaGVjazooKT0+VUYsU2hpZWxkQ2xvc2U6KCk9Plh1LFNoaWVsZENvZzooKT0+WUYsU2hpZWxkQ29nQ29ybmVyOigpPT5XRixTaGllbGRFbGxpcHNpczooKT0+R0YsU2hpZWxkSGFsZjooKT0+S0YsU2hpZWxkTWludXM6KCk9PlpGLFNoaWVsZE9mZjooKT0+WEYsU2hpZWxkUGx1czooKT0+UUYsU2hpZWxkUXVlc3Rpb246KCk9Plp1LFNoaWVsZFF1ZXN0aW9uTWFyazooKT0+WnUsU2hpZWxkVXNlcjooKT0+SkYsU2hpZWxkWDooKT0+WHUsU2hpcDooKT0+dEIsU2hpcFdoZWVsOigpPT5hQixTaGlydDooKT0+ckIsU2hvcHBpbmdCYWc6KCk9PnNCLFNob3BwaW5nQmFza2V0OigpPT5pQixTaG9wcGluZ0NhcnQ6KCk9Pm9CLFNob3ZlbDooKT0+bkIsU2hvd2VySGVhZDooKT0+bEIsU2hyZWRkZXI6KCk9PmNCLFNocmltcDooKT0+dUIsU2hyaW5rOigpPT5kQixTaHJ1YjooKT0+cEIsU2h1ZmZsZTooKT0+ZkIsU2lkZWJhcjooKT0+UnUsU2lkZWJhckNsb3NlOigpPT5QdSxTaWRlYmFyT3BlbjooKT0+TnUsU2lnbWE6KCk9PmhCLFNpZ21hU3F1YXJlOigpPT5VcCxTaWduYWw6KCk9PnhCLFNpZ25hbEhpZ2g6KCk9Pm1CLFNpZ25hbExvdzooKT0+Z0IsU2lnbmFsTWVkaXVtOigpPT5iQixTaWduYWxaZXJvOigpPT52QixTaWduYXR1cmU6KCk9PnlCLFNpZ25wb3N0OigpPT5NQixTaWducG9zdEJpZzooKT0+d0IsU2lyZW46KCk9PmtCLFNraXBCYWNrOigpPT5TQixTa2lwRm9yd2FyZDooKT0+ekIsU2t1bGw6KCk9PkNCLFNsYXNoOigpPT5fQixTbGFzaFNxdWFyZTooKT0+R3AsU2xpY2U6KCk9PkxCLFNsaWRlcnM6KCk9PlF1LFNsaWRlcnNIb3Jpem9udGFsOigpPT5UQixTbGlkZXJzVmVydGljYWw6KCk9PlF1LFNtYXJ0cGhvbmU6KCk9PkVCLFNtYXJ0cGhvbmVDaGFyZ2luZzooKT0+JEIsU21hcnRwaG9uZU5mYzooKT0+REIsU21pbGU6KCk9PlBCLFNtaWxlUGx1czooKT0+QUIsU25haWw6KCk9PklCLFNub3dmbGFrZTooKT0+TkIsU29hcERpc3BlbnNlckRyb3BsZXQ6KCk9PlJCLFNvZmE6KCk9Pk9CLFNvbGFyUGFuZWw6KCk9PkZCLFNvcnRBc2M6KCk9Pk1kLFNvcnREZXNjOigpPT54ZCxTb3VwOigpPT5CQixTcGFjZTooKT0+SEIsU3BhZGU6KCk9PnFCLFNwYXJrbGU6KCk9PlZCLFNwYXJrbGVzOigpPT5KdSxTcGVha2VyOigpPT5qQixTcGVlY2g6KCk9PlVCLFNwZWxsQ2hlY2s6KCk9PldCLFNwZWxsQ2hlY2syOigpPT5HQixTcGxpbmU6KCk9PktCLFNwbGluZVBvaW50ZXI6KCk9PllCLFNwbGl0OigpPT5aQixTcGxpdFNxdWFyZUhvcml6b250YWw6KCk9PllwLFNwbGl0U3F1YXJlVmVydGljYWw6KCk9PktwLFNwb29sOigpPT5YQixTcG9ydFNob2U6KCk9PlFCLFNwb3RsaWdodDooKT0+dEgsU3ByYXlDYW46KCk9PkpCLFNwcm91dDooKT0+ZUgsU3F1YXJlOigpPT5oSCxTcXVhcmVBY3Rpdml0eTooKT0+ZXAsU3F1YXJlQXJyb3dEb3duOigpPT5ycCxTcXVhcmVBcnJvd0Rvd25MZWZ0OigpPT50cCxTcXVhcmVBcnJvd0Rvd25SaWdodDooKT0+YXAsU3F1YXJlQXJyb3dMZWZ0OigpPT5zcCxTcXVhcmVBcnJvd091dERvd25MZWZ0OigpPT5pcCxTcXVhcmVBcnJvd091dERvd25SaWdodDooKT0+b3AsU3F1YXJlQXJyb3dPdXRVcExlZnQ6KCk9Pm5wLFNxdWFyZUFycm93T3V0VXBSaWdodDooKT0+bHAsU3F1YXJlQXJyb3dSaWdodDooKT0+Y3AsU3F1YXJlQXJyb3dSaWdodEVudGVyOigpPT5hSCxTcXVhcmVBcnJvd1JpZ2h0RXhpdDooKT0+ckgsU3F1YXJlQXJyb3dVcDooKT0+cHAsU3F1YXJlQXJyb3dVcExlZnQ6KCk9PmRwLFNxdWFyZUFycm93VXBSaWdodDooKT0+dXAsU3F1YXJlQXN0ZXJpc2s6KCk9PmZwLFNxdWFyZUJvdHRvbURhc2hlZFNjaXNzb3JzOigpPT5ocCxTcXVhcmVDZW50ZXJsaW5lRGFzaGVkSG9yaXpvbnRhbDooKT0+bXAsU3F1YXJlQ2VudGVybGluZURhc2hlZFZlcnRpY2FsOigpPT5ncCxTcXVhcmVDaGFydEdhbnR0OigpPT5sYyxTcXVhcmVDaGVjazooKT0+dnAsU3F1YXJlQ2hlY2tCaWc6KCk9PmJwLFNxdWFyZUNoZXZyb25Eb3duOigpPT54cCxTcXVhcmVDaGV2cm9uTGVmdDooKT0+eXAsU3F1YXJlQ2hldnJvblJpZ2h0OigpPT53cCxTcXVhcmVDaGV2cm9uVXA6KCk9Pk1wLFNxdWFyZUNvZGU6KCk9PmtwLFNxdWFyZURhc2hlZDooKT0+Q3AsU3F1YXJlRGFzaGVkQm90dG9tOigpPT5pSCxTcXVhcmVEYXNoZWRCb3R0b21Db2RlOigpPT5zSCxTcXVhcmVEYXNoZWRLYW5iYW46KCk9PlNwLFNxdWFyZURhc2hlZE1vdXNlUG9pbnRlcjooKT0+enAsU3F1YXJlRGFzaGVkVGV4dDooKT0+Y2MsU3F1YXJlRGFzaGVkVG9wU29saWQ6KCk9Pm9ILFNxdWFyZURpdmlkZTooKT0+VHAsU3F1YXJlRG90OigpPT5fcCxTcXVhcmVFcXVhbDooKT0+THAsU3F1YXJlRnVuY3Rpb246KCk9PiRwLFNxdWFyZUdhbnR0Q2hhcnQ6KCk9PmxjLFNxdWFyZUthbmJhbjooKT0+RXAsU3F1YXJlTGlicmFyeTooKT0+RHAsU3F1YXJlTTooKT0+QXAsU3F1YXJlTWVudTooKT0+UHAsU3F1YXJlTWludXM6KCk9PklwLFNxdWFyZU1vdXNlUG9pbnRlcjooKT0+TnAsU3F1YXJlUGFya2luZzooKT0+T3AsU3F1YXJlUGFya2luZ09mZjooKT0+UnAsU3F1YXJlUGF1c2U6KCk9Pm5ILFNxdWFyZVBlbjooKT0+ejEsU3F1YXJlUGVyY2VudDooKT0+RnAsU3F1YXJlUGk6KCk9PkJwLFNxdWFyZVBpbGNyb3c6KCk9PkhwLFNxdWFyZVBsYXk6KCk9PlZwLFNxdWFyZVBsdXM6KCk9PnFwLFNxdWFyZVBvd2VyOigpPT5qcCxTcXVhcmVSYWRpY2FsOigpPT5sSCxTcXVhcmVSb3VuZENvcm5lcjooKT0+Y0gsU3F1YXJlU2Npc3NvcnM6KCk9PldwLFNxdWFyZVNpZ21hOigpPT5VcCxTcXVhcmVTbGFzaDooKT0+R3AsU3F1YXJlU3BsaXRIb3Jpem9udGFsOigpPT5ZcCxTcXVhcmVTcGxpdFZlcnRpY2FsOigpPT5LcCxTcXVhcmVTcXVhcmU6KCk9PmRILFNxdWFyZVN0YWNrOigpPT51SCxTcXVhcmVTdGFyOigpPT5wSCxTcXVhcmVTdG9wOigpPT5mSCxTcXVhcmVUZXJtaW5hbDooKT0+WnAsU3F1YXJlVXNlcjooKT0+SnAsU3F1YXJlVXNlclJvdW5kOigpPT5YcCxTcXVhcmVYOigpPT5RcCxTcXVhcmVzRXhjbHVkZTooKT0+bUgsU3F1YXJlc0ludGVyc2VjdDooKT0+Z0gsU3F1YXJlc1N1YnRyYWN0OigpPT5iSCxTcXVhcmVzVW5pdGU6KCk9PnZILFNxdWlyY2xlOigpPT55SCxTcXVpcmNsZURhc2hlZDooKT0+eEgsU3F1aXJyZWw6KCk9PndILFN0YW1wOigpPT5NSCxTdGFyOigpPT56SCxTdGFySGFsZjooKT0+a0gsU3Rhck9mZjooKT0+U0gsU3RhcnM6KCk9Pkp1LFN0ZXBCYWNrOigpPT5DSCxTdGVwRm9yd2FyZDooKT0+X0gsU3RldGhvc2NvcGU6KCk9PkxILFN0aWNrZXI6KCk9PlRILFN0aWNreU5vdGU6KCk9PiRILFN0b25lOigpPT5FSCxTdG9wQ2lyY2xlOigpPT5iNixTdG9yZTooKT0+REgsU3RyZXRjaEhvcml6b250YWw6KCk9PkFILFN0cmV0Y2hWZXJ0aWNhbDooKT0+UEgsU3RyaWtldGhyb3VnaDooKT0+SUgsU3Vic2NyaXB0OigpPT5OSCxTdWJ0aXRsZXM6KCk9PkRkLFN1bjooKT0+SEgsU3VuRGltOigpPT5SSCxTdW5NZWRpdW06KCk9Pk9ILFN1bk1vb246KCk9PkZILFN1blNub3c6KCk9PkJILFN1bnJpc2U6KCk9PnFILFN1bnNldDooKT0+VkgsU3VwZXJzY3JpcHQ6KCk9PmpILFN3YXRjaEJvb2s6KCk9PlVILFN3aXNzRnJhbmM6KCk9PldILFN3aXRjaENhbWVyYTooKT0+R0gsU3dvcmQ6KCk9PllILFN3b3JkczooKT0+S0gsU3lyaW5nZTooKT0+WkgsVGFibGU6KCk9PmlxLFRhYmxlMjooKT0+WEgsVGFibGVDZWxsc01lcmdlOigpPT5RSCxUYWJsZUNlbGxzU3BsaXQ6KCk9PkpILFRhYmxlQ29sdW1uc1NwbGl0OigpPT5lcSxUYWJsZUNvbmZpZzooKT0+cmMsVGFibGVPZkNvbnRlbnRzOigpPT50cSxUYWJsZVByb3BlcnRpZXM6KCk9PmFxLFRhYmxlUm93c1NwbGl0OigpPT5ycSxUYWJsZXQ6KCk9Pm9xLFRhYmxldFNtYXJ0cGhvbmU6KCk9PnNxLFRhYmxldHM6KCk9Pm5xLFRhZzooKT0+bHEsVGFnczooKT0+Y3EsVGFsbHkxOigpPT5kcSxUYWxseTI6KCk9PnVxLFRhbGx5MzooKT0+cHEsVGFsbHk0OigpPT5mcSxUYWxseTU6KCk9Pm1xLFRhbmdlbnQ6KCk9PmhxLFRhcmdldDooKT0+Z3EsVGVsZXNjb3BlOigpPT5icSxUZW50OigpPT54cSxUZW50VHJlZTooKT0+dnEsVGVybWluYWw6KCk9PnlxLFRlcm1pbmFsU3F1YXJlOigpPT5acCxUZXN0VHViZTooKT0+d3EsVGVzdFR1YmUyOigpPT5lZixUZXN0VHViZURpYWdvbmFsOigpPT5lZixUZXN0VHViZXM6KCk9Pk1xLFRleHQ6KCk9PmRjLFRleHRBbGlnbkNlbnRlcjooKT0+dGYsVGV4dEFsaWduRW5kOigpPT5hZixUZXh0QWxpZ25KdXN0aWZ5OigpPT5yZixUZXh0QWxpZ25TdGFydDooKT0+ZGMsVGV4dEN1cnNvcjooKT0+U3EsVGV4dEN1cnNvcklucHV0OigpPT5rcSxUZXh0SW5pdGlhbDooKT0+c2YsVGV4dFF1b3RlOigpPT56cSxUZXh0U2VhcmNoOigpPT5DcSxUZXh0U2VsZWN0OigpPT5jYyxUZXh0U2VsZWN0aW9uOigpPT5jYyxUZXh0V3JhcDooKT0+b2YsVGhlYXRlcjooKT0+X3EsVGhlcm1vbWV0ZXI6KCk9PiRxLFRoZXJtb21ldGVyU25vd2ZsYWtlOigpPT5UcSxUaGVybW9tZXRlclN1bjooKT0+THEsVGh1bWJzRG93bjooKT0+RHEsVGh1bWJzVXA6KCk9PkFxLFRpY2tldDooKT0+RnEsVGlja2V0Q2hlY2s6KCk9PkVxLFRpY2tldE1pbnVzOigpPT5QcSxUaWNrZXRQZXJjZW50OigpPT5JcSxUaWNrZXRQbHVzOigpPT5OcSxUaWNrZXRTbGFzaDooKT0+UnEsVGlja2V0WDooKT0+T3EsVGlja2V0czooKT0+SHEsVGlja2V0c1BsYW5lOigpPT5CcSxUaW1lbGluZTooKT0+cXEsVGltZXI6KCk9PlVxLFRpbWVyT2ZmOigpPT5WcSxUaW1lclJlc2V0OigpPT5qcSxUb2dnbGVMZWZ0OigpPT5HcSxUb2dnbGVSaWdodDooKT0+WXEsVG9pbGV0OigpPT5XcSxUb29sQ2FzZTooKT0+S3EsVG9vbGJveDooKT0+WnEsVG9ybmFkbzooKT0+SnEsVG9ydXM6KCk9PlhxLFRvdWNocGFkOigpPT5lVixUb3VjaHBhZE9mZjooKT0+UXEsVG93ZWxSYWNrOigpPT50VixUb3dlckNvbnRyb2w6KCk9PmFWLFRveUJyaWNrOigpPT5yVixUcmFjdG9yOigpPT5zVixUcmFmZmljQ29uZTooKT0+aVYsVHJhaW46KCk9Pm5mLFRyYWluRnJvbnQ6KCk9Pm5WLFRyYWluRnJvbnRUdW5uZWw6KCk9Pm9WLFRyYWluVHJhY2s6KCk9PmxWLFRyYW1Gcm9udDooKT0+bmYsVHJhbnNnZW5kZXI6KCk9PmNWLFRyYXNoOigpPT51VixUcmFzaDI6KCk9PmRWLFRyZWVEZWNpZHVvdXM6KCk9PnBWLFRyZWVQYWxtOigpPT5sZixUcmVlUGluZTooKT0+ZlYsVHJlZXM6KCk9PmhWLFRyZW5kaW5nRG93bjooKT0+bVYsVHJlbmRpbmdVcDooKT0+YlYsVHJlbmRpbmdVcERvd246KCk9PmdWLFRyaWFuZ2xlOigpPT55VixUcmlhbmdsZUFsZXJ0OigpPT5jZixUcmlhbmdsZURhc2hlZDooKT0+dlYsVHJpYW5nbGVSaWdodDooKT0+eFYsVHJvcGh5OigpPT53VixUcnVjazooKT0+a1YsVHJ1Y2tFbGVjdHJpYzooKT0+TVYsVHVya2lzaExpcmE6KCk9PlNWLFR1cm50YWJsZTooKT0+elYsVHVydGxlOigpPT5DVixUdjooKT0+VFYsVHYyOigpPT5kZixUdk1pbmltYWw6KCk9PmRmLFR2TWluaW1hbFBsYXk6KCk9Pl9WLFR5cGU6KCk9PiRWLFR5cGVPdXRsaW5lOigpPT5MVixVbWJyZWxsYTooKT0+QVYsVW1icmVsbGFPZmY6KCk9PkRWLFVuZGVybGluZTooKT0+RVYsVW5kbzooKT0+TlYsVW5kbzI6KCk9PlBWLFVuZG9Eb3Q6KCk9PklWLFVuZm9sZEhvcml6b250YWw6KCk9PlJWLFVuZm9sZFZlcnRpY2FsOigpPT5PVixVbmdyb3VwOigpPT5GVixVbml2ZXJzaXR5OigpPT51ZixVbmxpbms6KCk9PnFWLFVubGluazI6KCk9PkJWLFVubG9jazooKT0+a3UsVW5sb2NrS2V5aG9sZTooKT0+TXUsVW5wbHVnOigpPT5IVixVcGxvYWQ6KCk9PlZWLFVwbG9hZENsb3VkOigpPT5TNixVc2I6KCk9PmpWLFVzZXI6KCk9PnNqLFVzZXIyOigpPT5iZixVc2VyQ2hlY2s6KCk9PlVWLFVzZXJDaGVjazI6KCk9PnBmLFVzZXJDaXJjbGU6KCk9Png2LFVzZXJDaXJjbGUyOigpPT52NixVc2VyQ29nOigpPT5XVixVc2VyQ29nMjooKT0+ZmYsVXNlcktleTooKT0+R1YsVXNlckxvY2s6KCk9PllWLFVzZXJNaW51czooKT0+S1YsVXNlck1pbnVzMjooKT0+aGYsVXNlclBlbjooKT0+WlYsVXNlclBsdXM6KCk9PlhWLFVzZXJQbHVzMjooKT0+bWYsVXNlclJvdW5kOigpPT5iZixVc2VyUm91bmRDaGVjazooKT0+cGYsVXNlclJvdW5kQ29nOigpPT5mZixVc2VyUm91bmRLZXk6KCk9PlFWLFVzZXJSb3VuZE1pbnVzOigpPT5oZixVc2VyUm91bmRQZW46KCk9PkpWLFVzZXJSb3VuZFBsdXM6KCk9Pm1mLFVzZXJSb3VuZFNlYXJjaDooKT0+ZWosVXNlclJvdW5kWDooKT0+Z2YsVXNlclNlYXJjaDooKT0+dGosVXNlclNxdWFyZTooKT0+SnAsVXNlclNxdWFyZTI6KCk9PlhwLFVzZXJTdGFyOigpPT5haixVc2VyWDooKT0+cmosVXNlclgyOigpPT5nZixVc2VyczooKT0+aWosVXNlcnMyOigpPT52ZixVc2Vyc1JvdW5kOigpPT52ZixVdGVuc2lsczooKT0+eWYsVXRlbnNpbHNDcm9zc2VkOigpPT54ZixVdGlsaXR5UG9sZTooKT0+bmosVmFuOigpPT5vaixWYXJpYWJsZTooKT0+bGosVmF1bHQ6KCk9PmNqLFZlY3RvclNxdWFyZTooKT0+ZGosVmVnYW46KCk9PnVqLFZlbmV0aWFuTWFzazooKT0+cGosVmVudXM6KCk9PmhqLFZlbnVzQW5kTWFyczooKT0+ZmosVmVyaWZpZWQ6KCk9PnpkLFZpYnJhdGU6KCk9PmdqLFZpYnJhdGVPZmY6KCk9Pm1qLFZpZGVvOigpPT52aixWaWRlb09mZjooKT0+YmosVmlkZW90YXBlOigpPT54aixWaWV3OigpPT55aixWb2ljZW1haWw6KCk9Pk1qLFZvbGxleWJhbGw6KCk9PndqLFZvbHVtZTooKT0+X2osVm9sdW1lMTooKT0+a2osVm9sdW1lMjooKT0+U2osVm9sdW1lT2ZmOigpPT56aixWb2x1bWVYOigpPT5DaixWb3RlOigpPT5UaixXYWxsZXQ6KCk9PiRqLFdhbGxldDI6KCk9PndmLFdhbGxldENhcmRzOigpPT5MaixXYWxsZXRNaW5pbWFsOigpPT53ZixXYWxscGFwZXI6KCk9PkRqLFdhbmQ6KCk9PkFqLFdhbmQyOigpPT5NZixXYW5kU3BhcmtsZXM6KCk9Pk1mLFdhcmVob3VzZTooKT0+RWosV2FzaGluZ01hY2hpbmU6KCk9PklqLFdhdGNoOigpPT5QaixXYXZlczooKT0+a2YsV2F2ZXNBcnJvd0Rvd246KCk9Pk5qLFdhdmVzQXJyb3dVcDooKT0+UmosV2F2ZXNIb3Jpem9udGFsOigpPT5rZixXYXZlc0xhZGRlcjooKT0+T2osV2F2ZXNWZXJ0aWNhbDooKT0+RmosV2F5cG9pbnRzOigpPT5CaixXZWJjYW06KCk9PkhqLFdlYmhvb2s6KCk9PlZqLFdlYmhvb2tPZmY6KCk9PnFqLFdlaWdodDooKT0+VWosV2VpZ2h0VGlsZGU6KCk9PmpqLFdoZWF0OigpPT5HaixXaGVhdE9mZjooKT0+V2osV2hvbGVXb3JkOigpPT5ZaixXaWZpOigpPT5yVSxXaWZpQ29nOigpPT5LaixXaWZpSGlnaDooKT0+WmosV2lmaUxvdzooKT0+WGosV2lmaU9mZjooKT0+UWosV2lmaVBlbjooKT0+SmosV2lmaVN5bmM6KCk9PmVVLFdpZmlaZXJvOigpPT50VSxXaW5kOigpPT5zVSxXaW5kQXJyb3dEb3duOigpPT5hVSxXaW5lOigpPT5sVSxXaW5lT2ZmOigpPT5pVSxXb3JrZmxvdzooKT0+blUsV29ybTooKT0+b1UsV3JhcFRleHQ6KCk9Pm9mLFdyZW5jaDooKT0+Y1UsWDooKT0+dVUsWENpcmNsZTooKT0+eTYsWExpbmVUb3A6KCk9PmRVLFhPY3RhZ29uOigpPT5EdSxYU3F1YXJlOigpPT5RcCxaYXA6KCk9PmZVLFphcE9mZjooKT0+cFUsWm9kaWFjQXF1YXJpdXM6KCk9PmhVLFpvZGlhY0FyaWVzOigpPT5tVSxab2RpYWNDYW5jZXI6KCk9PmdVLFpvZGlhY0NhcHJpY29ybjooKT0+YlUsWm9kaWFjR2VtaW5pOigpPT52VSxab2RpYWNMZW86KCk9PnhVLFpvZGlhY0xpYnJhOigpPT55VSxab2RpYWNPcGhpdWNodXM6KCk9PndVLFpvZGlhY1Bpc2NlczooKT0+TVUsWm9kaWFjU2FnaXR0YXJpdXM6KCk9PlNVLFpvZGlhY1Njb3JwaW86KCk9PmtVLFpvZGlhY1RhdXJ1czooKT0+elUsWm9kaWFjVmlyZ286KCk9PkNVLFpvb21JbjooKT0+X1UsWm9vbU91dDooKT0+VFV9KTt2YXIgTXJhPWYoKCk9PntqZ2UoKTtVZ2UoKTtXZ2UoKTtHZ2UoKTtZZ2UoKTtLZ2UoKTtaZ2UoKTtYZ2UoKTtRZ2UoKTtKZ2UoKTtlYmUoKTt0YmUoKTthYmUoKTtyYmUoKTtzYmUoKTtpYmUoKTtvYmUoKTtuYmUoKTtsYmUoKTtjYmUoKTtkYmUoKTt1YmUoKTtwYmUoKTtmYmUoKTtoYmUoKTttYmUoKTtnYmUoKTtiYmUoKTt2YmUoKTt4YmUoKTt5YmUoKTt3YmUoKTtNYmUoKTtrYmUoKTtTYmUoKTt6YmUoKTtDYmUoKTtfYmUoKTtUYmUoKTtMYmUoKTskYmUoKTtEYmUoKTtBYmUoKTtFYmUoKTtQYmUoKTtJYmUoKTtOYmUoKTtSYmUoKTtPYmUoKTtGYmUoKTtCYmUoKTtIYmUoKTtxYmUoKTtWYmUoKTtqYmUoKTtVYmUoKTtXYmUoKTtHYmUoKTtZYmUoKTtLYmUoKTtaYmUoKTtYYmUoKTtRYmUoKTtKYmUoKTtldmUoKTt0dmUoKTthdmUoKTtydmUoKTtzdmUoKTtpdmUoKTtvdmUoKTtudmUoKTtsdmUoKTtjdmUoKTtkdmUoKTt1dmUoKTtwdmUoKTtmdmUoKTtodmUoKTttdmUoKTtndmUoKTtidmUoKTt2dmUoKTt4dmUoKTt5dmUoKTt3dmUoKTtNdmUoKTtrdmUoKTtTdmUoKTt6dmUoKTtDdmUoKTtfdmUoKTtUdmUoKTtMdmUoKTskdmUoKTtEdmUoKTtBdmUoKTtFdmUoKTtQdmUoKTtJdmUoKTtOdmUoKTtSdmUoKTtPdmUoKTtGdmUoKTtCdmUoKTtIdmUoKTtxdmUoKTtWdmUoKTtqdmUoKTtVdmUoKTtXdmUoKTtHdmUoKTtZdmUoKTtLdmUoKTtadmUoKTtYdmUoKTtRdmUoKTtKdmUoKTtleGUoKTt0eGUoKTtheGUoKTtyeGUoKTtzeGUoKTtpeGUoKTtveGUoKTtueGUoKTtseGUoKTtjeGUoKTtkeGUoKTt1eGUoKTtweGUoKTtmeGUoKTtoeGUoKTtteGUoKTtneGUoKTtieGUoKTt2eGUoKTt4eGUoKTt5eGUoKTt3eGUoKTtNeGUoKTtreGUoKTtTeGUoKTt6eGUoKTtDeGUoKTtfeGUoKTtUeGUoKTtMeGUoKTskeGUoKTtEeGUoKTtBeGUoKTtFeGUoKTtQeGUoKTtJeGUoKTtOeGUoKTtSeGUoKTtPeGUoKTtGeGUoKTtCeGUoKTtIeGUoKTtxeGUoKTtWeGUoKTtqeGUoKTtVeGUoKTtXeGUoKTtHeGUoKTtZeGUoKTtLeGUoKTtaeGUoKTtYeGUoKTtReGUoKTtKeGUoKTtleWUoKTt0eWUoKTtheWUoKTtyeWUoKTtzeWUoKTtpeWUoKTtveWUoKTtueWUoKTtseWUoKTtjeWUoKTtkeWUoKTt1eWUoKTtweWUoKTtmeWUoKTtoeWUoKTtteWUoKTtneWUoKTtieWUoKTt2eWUoKTt4eWUoKTt5eWUoKTt3eWUoKTtNeWUoKTtreWUoKTtTeWUoKTt6eWUoKTtDeWUoKTtfeWUoKTtUeWUoKTtMeWUoKTskeWUoKTtEeWUoKTtBeWUoKTtFeWUoKTtQeWUoKTtJeWUoKTtOeWUoKTtSeWUoKTtPeWUoKTtGeWUoKTtCeWUoKTtIeWUoKTtxeWUoKTtWeWUoKTtqeWUoKTtVeWUoKTtXeWUoKTtHeWUoKTtZeWUoKTtLeWUoKTtaeWUoKTtYeWUoKTtReWUoKTtKeWUoKTtld2UoKTt0d2UoKTthd2UoKTtyd2UoKTtzd2UoKTtpd2UoKTtvd2UoKTtud2UoKTtsd2UoKTtjd2UoKTtkd2UoKTt1d2UoKTtwd2UoKTtmd2UoKTtod2UoKTttd2UoKTtnd2UoKTtid2UoKTt2d2UoKTt4d2UoKTt5d2UoKTt3d2UoKTtNd2UoKTtrd2UoKTtTd2UoKTt6d2UoKTtDd2UoKTtfd2UoKTtUd2UoKTtMd2UoKTskd2UoKTtEd2UoKTtBd2UoKTtFd2UoKTtQd2UoKTtJd2UoKTtOd2UoKTtSd2UoKTtPd2UoKTtGd2UoKTtCd2UoKTtId2UoKTtxd2UoKTtWd2UoKTtqd2UoKTtVd2UoKTtXd2UoKTtHd2UoKTtZd2UoKTtLd2UoKTtad2UoKTtYd2UoKTtRd2UoKTtKd2UoKTtlTWUoKTt0TWUoKTthTWUoKTtyTWUoKTtzTWUoKTtpTWUoKTtvTWUoKTtuTWUoKTtsTWUoKTtjTWUoKTtkTWUoKTt1TWUoKTtwTWUoKTtmTWUoKTtoTWUoKTttTWUoKTtnTWUoKTtiTWUoKTt2TWUoKTt4TWUoKTt5TWUoKTt3TWUoKTtNTWUoKTtrTWUoKTtTTWUoKTt6TWUoKTtDTWUoKTtfTWUoKTtUTWUoKTtMTWUoKTskTWUoKTtETWUoKTtBTWUoKTtFTWUoKTtQTWUoKTtJTWUoKTtOTWUoKTtSTWUoKTtPTWUoKTtGTWUoKTtCTWUoKTtITWUoKTtxTWUoKTtWTWUoKTtqTWUoKTtVTWUoKTtXTWUoKTtHTWUoKTtZTWUoKTtLTWUoKTtaTWUoKTtYTWUoKTtRTWUoKTtKTWUoKTtla2UoKTt0a2UoKTtha2UoKTtya2UoKTtza2UoKTtpa2UoKTtva2UoKTtua2UoKTtsa2UoKTtja2UoKTtka2UoKTt1a2UoKTtwa2UoKTtma2UoKTtoa2UoKTtta2UoKTtna2UoKTtia2UoKTt2a2UoKTt4a2UoKTt5a2UoKTt3a2UoKTtNa2UoKTtra2UoKTtTa2UoKTt6a2UoKTtDa2UoKTtfa2UoKTtUa2UoKTtMa2UoKTska2UoKTtEa2UoKTtBa2UoKTtFa2UoKTtQa2UoKTtJa2UoKTtOa2UoKTtSa2UoKTtPa2UoKTtGa2UoKTtCa2UoKTtIa2UoKTtxa2UoKTtWa2UoKTtqa2UoKTtVa2UoKTtXa2UoKTtHa2UoKTtZa2UoKTtLa2UoKTtaa2UoKTtYa2UoKTtRa2UoKTtKa2UoKTtlU2UoKTt0U2UoKTthU2UoKTtyU2UoKTtzU2UoKTtpU2UoKTtvU2UoKTtuU2UoKTtsU2UoKTtjU2UoKTtkU2UoKTt1U2UoKTtwU2UoKTtmU2UoKTtoU2UoKTttU2UoKTtnU2UoKTtiU2UoKTt2U2UoKTt4U2UoKTt5U2UoKTt3U2UoKTtNU2UoKTtrU2UoKTtTU2UoKTt6U2UoKTtDU2UoKTtfU2UoKTtUU2UoKTtMU2UoKTskU2UoKTtEU2UoKTtBU2UoKTtFU2UoKTtQU2UoKTtJU2UoKTtOU2UoKTtSU2UoKTtPU2UoKTtGU2UoKTtCU2UoKTtIU2UoKTtxU2UoKTtWU2UoKTtqU2UoKTtVU2UoKTtXU2UoKTtHU2UoKTtZU2UoKTtLU2UoKTtaU2UoKTtYU2UoKTtRU2UoKTtKU2UoKTtlemUoKTt0emUoKTthemUoKTtyemUoKTtzemUoKTtpemUoKTtvemUoKTtuemUoKTtsemUoKTtjemUoKTtkemUoKTt1emUoKTtwemUoKTtmemUoKTtoemUoKTttemUoKTtnemUoKTtiemUoKTt2emUoKTt4emUoKTt5emUoKTt3emUoKTtNemUoKTtremUoKTtTemUoKTt6emUoKTtDemUoKTtfemUoKTtUemUoKTtMemUoKTskemUoKTtEemUoKTtBemUoKTtFemUoKTtQemUoKTtJemUoKTtOemUoKTtSemUoKTtPemUoKTtGemUoKTtCemUoKTtIemUoKTtxemUoKTtWemUoKTtqemUoKTtVemUoKTtXemUoKTtHemUoKTtZemUoKTtLemUoKTtaemUoKTtYemUoKTtRemUoKTtKemUoKTtlQ2UoKTt0Q2UoKTthQ2UoKTtyQ2UoKTtzQ2UoKTtpQ2UoKTtvQ2UoKTtuQ2UoKTtsQ2UoKTtjQ2UoKTtkQ2UoKTt1Q2UoKTtwQ2UoKTtmQ2UoKTtoQ2UoKTttQ2UoKTtnQ2UoKTtiQ2UoKTt2Q2UoKTt4Q2UoKTt5Q2UoKTt3Q2UoKTtNQ2UoKTtrQ2UoKTtTQ2UoKTt6Q2UoKTtDQ2UoKTtfQ2UoKTtUQ2UoKTtMQ2UoKTskQ2UoKTtEQ2UoKTtBQ2UoKTtFQ2UoKTtQQ2UoKTtJQ2UoKTtOQ2UoKTtSQ2UoKTtPQ2UoKTtGQ2UoKTtCQ2UoKTtIQ2UoKTtxQ2UoKTtWQ2UoKTtqQ2UoKTtVQ2UoKTtXQ2UoKTtHQ2UoKTtZQ2UoKTtLQ2UoKTtaQ2UoKTtYQ2UoKTtRQ2UoKTtKQ2UoKTtlX2UoKTt0X2UoKTthX2UoKTtyX2UoKTtzX2UoKTtpX2UoKTtvX2UoKTtuX2UoKTtsX2UoKTtjX2UoKTtkX2UoKTt1X2UoKTtwX2UoKTtmX2UoKTtoX2UoKTttX2UoKTtnX2UoKTtiX2UoKTt2X2UoKTt4X2UoKTt5X2UoKTt3X2UoKTtNX2UoKTtrX2UoKTtTX2UoKTt6X2UoKTtDX2UoKTtfX2UoKTtUX2UoKTtMX2UoKTskX2UoKTtEX2UoKTtBX2UoKTtFX2UoKTtQX2UoKTtJX2UoKTtOX2UoKTtSX2UoKTtPX2UoKTtGX2UoKTtCX2UoKTtIX2UoKTtxX2UoKTtWX2UoKTtqX2UoKTtVX2UoKTtXX2UoKTtHX2UoKTtZX2UoKTtLX2UoKTtaX2UoKTtYX2UoKTtRX2UoKTtKX2UoKTtlVGUoKTt0VGUoKTthVGUoKTtyVGUoKTtzVGUoKTtpVGUoKTtvVGUoKTtuVGUoKTtsVGUoKTtjVGUoKTtkVGUoKTt1VGUoKTtwVGUoKTtmVGUoKTtoVGUoKTttVGUoKTtnVGUoKTtiVGUoKTt2VGUoKTt4VGUoKTt5VGUoKTt3VGUoKTtNVGUoKTtrVGUoKTtTVGUoKTt6VGUoKTtDVGUoKTtfVGUoKTtUVGUoKTtMVGUoKTskVGUoKTtEVGUoKTtBVGUoKTtFVGUoKTtQVGUoKTtJVGUoKTtOVGUoKTtSVGUoKTtPVGUoKTtGVGUoKTtCVGUoKTtIVGUoKTtxVGUoKTtWVGUoKTtqVGUoKTtVVGUoKTtXVGUoKTtHVGUoKTtZVGUoKTtLVGUoKTtaVGUoKTtYVGUoKTtRVGUoKTtKVGUoKTtlTGUoKTt0TGUoKTthTGUoKTtyTGUoKTtzTGUoKTtpTGUoKTtvTGUoKTtuTGUoKTtsTGUoKTtjTGUoKTtkTGUoKTt1TGUoKTtwTGUoKTtmTGUoKTtoTGUoKTttTGUoKTtnTGUoKTtiTGUoKTt2TGUoKTt4TGUoKTt5TGUoKTt3TGUoKTtNTGUoKTtrTGUoKTtTTGUoKTt6TGUoKTtDTGUoKTtfTGUoKTtUTGUoKTtMTGUoKTskTGUoKTtETGUoKTtBTGUoKTtFTGUoKTtQTGUoKTtJTGUoKTtOTGUoKTtSTGUoKTtPTGUoKTtGTGUoKTtCTGUoKTtITGUoKTtxTGUoKTtWTGUoKTtqTGUoKTtVTGUoKTtXTGUoKTtHTGUoKTtZTGUoKTtLTGUoKTtaTGUoKTtYTGUoKTtRTGUoKTtKTGUoKTtlJGUoKTt0JGUoKTthJGUoKTtyJGUoKTtzJGUoKTtpJGUoKTtvJGUoKTtuJGUoKTtsJGUoKTtjJGUoKTtkJGUoKTt1JGUoKTtwJGUoKTtmJGUoKTtoJGUoKTttJGUoKTtnJGUoKTtiJGUoKTt2JGUoKTt4JGUoKTt5JGUoKTt3JGUoKTtNJGUoKTtrJGUoKTtTJGUoKTt6JGUoKTtDJGUoKTtfJGUoKTtUJGUoKTtMJGUoKTskJGUoKTtEJGUoKTtBJGUoKTtFJGUoKTtQJGUoKTtJJGUoKTtOJGUoKTtSJGUoKTtPJGUoKTtGJGUoKTtCJGUoKTtIJGUoKTtxJGUoKTtWJGUoKTtqJGUoKTtVJGUoKTtXJGUoKTtHJGUoKTtZJGUoKTtLJGUoKTtaJGUoKTtYJGUoKTtRJGUoKTtKJGUoKTtlRGUoKTt0RGUoKTthRGUoKTtyRGUoKTtzRGUoKTtpRGUoKTtvRGUoKTtuRGUoKTtsRGUoKTtjRGUoKTtkRGUoKTt1RGUoKTtwRGUoKTtmRGUoKTtoRGUoKTttRGUoKTtnRGUoKTtiRGUoKTt2RGUoKTt4RGUoKTt5RGUoKTt3RGUoKTtNRGUoKTtrRGUoKTtTRGUoKTt6RGUoKTtDRGUoKTtfRGUoKTtURGUoKTtMRGUoKTskRGUoKTtERGUoKTtBRGUoKTtFRGUoKTtQRGUoKTtJRGUoKTtORGUoKTtSRGUoKTtPRGUoKTtGRGUoKTtCRGUoKTtIRGUoKTtxRGUoKTtWRGUoKTtqRGUoKTtVRGUoKTtXRGUoKTtHRGUoKTtZRGUoKTtLRGUoKTtaRGUoKTtYRGUoKTtRRGUoKTtKRGUoKTtlQWUoKTt0QWUoKTthQWUoKTtyQWUoKTtzQWUoKTtpQWUoKTtvQWUoKTtuQWUoKTtsQWUoKTtjQWUoKTtkQWUoKTt1QWUoKTtwQWUoKTtmQWUoKTtoQWUoKTttQWUoKTtnQWUoKTtiQWUoKTt2QWUoKTt4QWUoKTt5QWUoKTt3QWUoKTtNQWUoKTtrQWUoKTtTQWUoKTt6QWUoKTtDQWUoKTtfQWUoKTtUQWUoKTtMQWUoKTskQWUoKTtEQWUoKTtBQWUoKTtFQWUoKTtQQWUoKTtJQWUoKTtOQWUoKTtSQWUoKTtPQWUoKTtGQWUoKTtCQWUoKTtIQWUoKTtxQWUoKTtWQWUoKTtqQWUoKTtVQWUoKTtXQWUoKTtHQWUoKTtZQWUoKTtLQWUoKTtaQWUoKTtYQWUoKTtRQWUoKTtKQWUoKTtlRWUoKTt0RWUoKTthRWUoKTtyRWUoKTtzRWUoKTtpRWUoKTtvRWUoKTtuRWUoKTtsRWUoKTtjRWUoKTtkRWUoKTt1RWUoKTtwRWUoKTtmRWUoKTtoRWUoKTttRWUoKTtnRWUoKTtiRWUoKTt2RWUoKTt4RWUoKTt5RWUoKTt3RWUoKTtNRWUoKTtrRWUoKTtTRWUoKTt6RWUoKTtDRWUoKTtfRWUoKTtURWUoKTtMRWUoKTskRWUoKTtERWUoKTtBRWUoKTtFRWUoKTtQRWUoKTtJRWUoKTtORWUoKTtSRWUoKTtPRWUoKTtGRWUoKTtCRWUoKTtIRWUoKTtxRWUoKTtWRWUoKTtqRWUoKTtVRWUoKTtXRWUoKTtHRWUoKTtZRWUoKTtLRWUoKTtaRWUoKTtYRWUoKTtRRWUoKTtKRWUoKTtlUGUoKTt0UGUoKTthUGUoKTtyUGUoKTtzUGUoKTtpUGUoKTtvUGUoKTtuUGUoKTtsUGUoKTtjUGUoKTtkUGUoKTt1UGUoKTtwUGUoKTtmUGUoKTtoUGUoKTttUGUoKTtnUGUoKTtiUGUoKTt2UGUoKTt4UGUoKTt5UGUoKTt3UGUoKTtNUGUoKTtrUGUoKTtTUGUoKTt6UGUoKTtDUGUoKTtfUGUoKTtUUGUoKTtMUGUoKTskUGUoKTtEUGUoKTtBUGUoKTtFUGUoKTtQUGUoKTtJUGUoKTtOUGUoKTtSUGUoKTtPUGUoKTtGUGUoKTtCUGUoKTtIUGUoKTtxUGUoKTtWUGUoKTtqUGUoKTtVUGUoKTtXUGUoKTtHUGUoKTtZUGUoKTtLUGUoKTtaUGUoKTtYUGUoKTtRUGUoKTtKUGUoKTtlSWUoKTt0SWUoKTthSWUoKTtySWUoKTtzSWUoKTtpSWUoKTtvSWUoKTtuSWUoKTtsSWUoKTtjSWUoKTtkSWUoKTt1SWUoKTtwSWUoKTtmSWUoKTtoSWUoKTttSWUoKTtnSWUoKTtiSWUoKTt2SWUoKTt4SWUoKTt5SWUoKTt3SWUoKTtNSWUoKTtrSWUoKTtTSWUoKTt6SWUoKTtDSWUoKTtfSWUoKTtUSWUoKTtMSWUoKTskSWUoKTtESWUoKTtBSWUoKTtFSWUoKTtQSWUoKTtJSWUoKTtOSWUoKTtSSWUoKTtPSWUoKTtGSWUoKTtCSWUoKTtISWUoKTtxSWUoKTtWSWUoKTtqSWUoKTtVSWUoKTtXSWUoKTtHSWUoKTtZSWUoKTtLSWUoKTtaSWUoKTtYSWUoKTtRSWUoKTtKSWUoKTtlTmUoKTt0TmUoKTthTmUoKTtyTmUoKTtzTmUoKTtpTmUoKTtvTmUoKTtuTmUoKTtsTmUoKTtjTmUoKTtkTmUoKTt1TmUoKTtwTmUoKTtmTmUoKTtoTmUoKTttTmUoKTtnTmUoKTtiTmUoKTt2TmUoKTt4TmUoKTt5TmUoKTt3TmUoKTtNTmUoKTtrTmUoKTtTTmUoKTt6TmUoKTtDTmUoKTtfTmUoKTtUTmUoKTtMTmUoKTskTmUoKTtETmUoKTtBTmUoKTtFTmUoKTtQTmUoKTtJTmUoKTtOTmUoKTtSTmUoKTtPTmUoKTtGTmUoKTtCTmUoKTtITmUoKTtxTmUoKTtWTmUoKTtqTmUoKTtVTmUoKTtXTmUoKTtHTmUoKTtZTmUoKTtLTmUoKTtaTmUoKTtYTmUoKTtRTmUoKTtKTmUoKTtlUmUoKTt0UmUoKTthUmUoKTtyUmUoKTtzUmUoKTtpUmUoKTtvUmUoKTtuUmUoKTtsUmUoKTtjUmUoKTtkUmUoKTt1UmUoKTtwUmUoKTtmUmUoKTtoUmUoKTttUmUoKTtnUmUoKTtiUmUoKTt2UmUoKTt4UmUoKTt5UmUoKTt3UmUoKTtNUmUoKTtrUmUoKTtTUmUoKTt6UmUoKTtDUmUoKTtfUmUoKTtUUmUoKTtMUmUoKTskUmUoKTtEUmUoKTtBUmUoKTtFUmUoKTtQUmUoKTtJUmUoKTtOUmUoKTtSUmUoKTtPUmUoKTtGUmUoKTtCUmUoKTtIUmUoKTtxUmUoKTtWUmUoKTtqUmUoKTtVUmUoKTtXUmUoKTtHUmUoKTtZUmUoKTtLUmUoKTtaUmUoKTtYUmUoKTtRUmUoKTtKUmUoKTtlT2UoKTt0T2UoKTthT2UoKTtyT2UoKTtzT2UoKTtpT2UoKTtvT2UoKTtuT2UoKTtsT2UoKTtjT2UoKTtkT2UoKTt1T2UoKTtwT2UoKTtmT2UoKTtoT2UoKTttT2UoKTtnT2UoKTtiT2UoKTt2T2UoKTt4T2UoKTt5T2UoKTt3T2UoKTtNT2UoKTtrT2UoKTtTT2UoKTt6T2UoKTtDT2UoKTtfT2UoKTtUT2UoKTtMT2UoKTskT2UoKTtET2UoKTtBT2UoKTtFT2UoKTtQT2UoKTtJT2UoKTtOT2UoKTtST2UoKTtPT2UoKTtGT2UoKTtCT2UoKTtIT2UoKTtxT2UoKTtWT2UoKTtqT2UoKTtVT2UoKTtXT2UoKTtHT2UoKTtZT2UoKTtLT2UoKTtaT2UoKTtYT2UoKTtRT2UoKTtKT2UoKTtlRmUoKTt0RmUoKTthRmUoKTtyRmUoKTtzRmUoKTtpRmUoKTtvRmUoKTtuRmUoKTtsRmUoKTtjRmUoKTtkRmUoKTt1RmUoKTtwRmUoKTtmRmUoKTtoRmUoKTttRmUoKTtnRmUoKTtiRmUoKTt2RmUoKTt4RmUoKTt5RmUoKTt3RmUoKTtNRmUoKTtrRmUoKTtTRmUoKTt6RmUoKTtDRmUoKTtfRmUoKTtURmUoKTtMRmUoKTskRmUoKTtERmUoKTtBRmUoKTtFRmUoKTtQRmUoKTtJRmUoKTtORmUoKTtSRmUoKTtPRmUoKTtGRmUoKTtCRmUoKTtIRmUoKTtxRmUoKTtWRmUoKTtqRmUoKTtVRmUoKTtXRmUoKTtHRmUoKTtZRmUoKTtLRmUoKTtaRmUoKTtYRmUoKTtRRmUoKTtKRmUoKTtlQmUoKTt0QmUoKTthQmUoKTtyQmUoKTtzQmUoKTtpQmUoKTtvQmUoKTtuQmUoKTtsQmUoKTtjQmUoKTtkQmUoKTt1QmUoKTtwQmUoKTtmQmUoKTtoQmUoKTttQmUoKTtnQmUoKTtiQmUoKTt2QmUoKTt4QmUoKTt5QmUoKTt3QmUoKTtNQmUoKTtrQmUoKTtTQmUoKTt6QmUoKTtDQmUoKTtfQmUoKTtUQmUoKTtMQmUoKTskQmUoKTtEQmUoKTtBQmUoKTtFQmUoKTtQQmUoKTtJQmUoKTtOQmUoKTtSQmUoKTtPQmUoKTtGQmUoKTtCQmUoKTtIQmUoKTtxQmUoKTtWQmUoKTtqQmUoKTtVQmUoKTtXQmUoKTtHQmUoKTtZQmUoKTtLQmUoKTtaQmUoKTtYQmUoKTtRQmUoKTtKQmUoKTtlSGUoKTt0SGUoKTthSGUoKTtySGUoKTtzSGUoKTtpSGUoKTtvSGUoKTtuSGUoKTtsSGUoKTtjSGUoKTtkSGUoKTt1SGUoKTtwSGUoKTtmSGUoKTtoSGUoKTttSGUoKTtnSGUoKTtiSGUoKTt2SGUoKTt4SGUoKTt5SGUoKTt3SGUoKTtNSGUoKTtrSGUoKTtTSGUoKTt6SGUoKTtDSGUoKTtfSGUoKTtUSGUoKTtMSGUoKTskSGUoKTtESGUoKTtBSGUoKTtFSGUoKTtQSGUoKTtJSGUoKTtOSGUoKTtSSGUoKTtPSGUoKTtGSGUoKTtCSGUoKTtISGUoKTtxSGUoKTtWSGUoKTtqSGUoKTtVSGUoKTtXSGUoKTtHSGUoKTtZSGUoKTtLSGUoKTtaSGUoKTtYSGUoKTtRSGUoKTtKSGUoKTtlcWUoKTt0cWUoKTthcWUoKTtycWUoKTtzcWUoKTtpcWUoKTtvcWUoKTtucWUoKTtscWUoKTtjcWUoKTtkcWUoKTt1cWUoKTtwcWUoKTtmcWUoKTtocWUoKTttcWUoKTtncWUoKTticWUoKTt2cWUoKTt4cWUoKTt5cWUoKTt3cWUoKTtNcWUoKTtrcWUoKTtTcWUoKTt6cWUoKTtDcWUoKTtfcWUoKTtUcWUoKTtMcWUoKTskcWUoKTtEcWUoKTtBcWUoKTtFcWUoKTtQcWUoKTtJcWUoKTtOcWUoKTtScWUoKTtPcWUoKTtGcWUoKTtCcWUoKTtIcWUoKTtxcWUoKTtWcWUoKTtqcWUoKTtVcWUoKTtXcWUoKTtHcWUoKTtZcWUoKTtLcWUoKTtacWUoKTtYcWUoKTtRcWUoKTtKcWUoKTtlVmUoKTt0VmUoKTthVmUoKTtyVmUoKTtzVmUoKTtpVmUoKTtvVmUoKTtuVmUoKTtsVmUoKTtjVmUoKTtkVmUoKTt1VmUoKTtwVmUoKTtmVmUoKTtoVmUoKTttVmUoKTtnVmUoKTtiVmUoKTt2VmUoKTt4VmUoKTt5VmUoKTt3VmUoKTtNVmUoKTtrVmUoKTtTVmUoKTt6VmUoKTtDVmUoKTtfVmUoKTtUVmUoKTtMVmUoKTskVmUoKTtEVmUoKTtBVmUoKTtFVmUoKTtQVmUoKTtJVmUoKTtOVmUoKTtSVmUoKTtPVmUoKTtGVmUoKTtCVmUoKTtIVmUoKTtxVmUoKTtWVmUoKTtqVmUoKTtVVmUoKTtXVmUoKTtHVmUoKTtZVmUoKTtLVmUoKTtaVmUoKTtYVmUoKTtRVmUoKTtKVmUoKTtlamUoKTt0amUoKTthamUoKTtyamUoKTtzamUoKTtpamUoKTtvamUoKTtuamUoKTtsamUoKTtjamUoKTtkamUoKTt1amUoKTtwamUoKTtmamUoKTtoamUoKTttamUoKTtnamUoKTtiamUoKTt2amUoKTt4amUoKTt5amUoKTt3amUoKTtNamUoKTtramUoKTtTamUoKTt6amUoKTtDamUoKTtfamUoKTtUamUoKTtMamUoKTskamUoKTtEamUoKTtBamUoKTtFamUoKTtQamUoKTtJamUoKTtOamUoKTtSamUoKTtPamUoKTtGamUoKTtCamUoKTtIamUoKTtxamUoKTtWamUoKTtqamUoKTtVamUoKTtXamUoKTtHamUoKTtZamUoKTtLamUoKTtaamUoKTtYamUoKTtRamUoKTtKamUoKTtlVWUoKTt0VWUoKTthVWUoKTtyVWUoKTtzVWUoKTtpVWUoKTtvVWUoKTtuVWUoKTtsVWUoKTtjVWUoKTtkVWUoKTt1VWUoKTtwVWUoKTtmVWUoKTtoVWUoKTttVWUoKTtnVWUoKTtiVWUoKTt2VWUoKTt4VWUoKTt5VWUoKTt3VWUoKTtNVWUoKTtrVWUoKTtTVWUoKTt6VWUoKTtDVWUoKTtfVWUoKTtUVWUoKTtMVWUoKTskVWUoKTtEVWUoKTtBVWUoKTtFVWUoKTtQVWUoKTtJVWUoKTtOVWUoKTtSVWUoKTtPVWUoKTtGVWUoKTtCVWUoKTtIVWUoKTtxVWUoKTtWVWUoKTtqVWUoKTtVVWUoKTtXVWUoKTtHVWUoKTtZVWUoKTtLVWUoKTtaVWUoKTtYVWUoKTtRVWUoKTtKVWUoKTtlV2UoKTt0V2UoKTthV2UoKTtyV2UoKTtzV2UoKTtpV2UoKTtvV2UoKTtuV2UoKTtsV2UoKTtjV2UoKTtkV2UoKTt1V2UoKTtwV2UoKTtmV2UoKTtoV2UoKTttV2UoKTtnV2UoKTtiV2UoKTt2V2UoKTt4V2UoKTt5V2UoKTt3V2UoKTtNV2UoKTtrV2UoKTtTV2UoKTt6V2UoKTtDV2UoKTtfV2UoKTtUV2UoKTtMV2UoKTskV2UoKTtEV2UoKTtBV2UoKTtFV2UoKTtQV2UoKTtJV2UoKTtOV2UoKTtSV2UoKTtPV2UoKTtGV2UoKTtCV2UoKTtIV2UoKTtxV2UoKTtWV2UoKTtqV2UoKTtVV2UoKTtXV2UoKTtHV2UoKTtZV2UoKTtLV2UoKTtaV2UoKTtYV2UoKTtRV2UoKTtKV2UoKTtlR2UoKTt0R2UoKTthR2UoKTtyR2UoKTtzR2UoKTtpR2UoKTtvR2UoKTtuR2UoKTtsR2UoKTtjR2UoKTtkR2UoKTt1R2UoKTtwR2UoKTtmR2UoKTtoR2UoKTttR2UoKTtnR2UoKTtiR2UoKTt2R2UoKTt4R2UoKTt5R2UoKTt3R2UoKTtNR2UoKTtrR2UoKTtTR2UoKTt6R2UoKTtDR2UoKTtfR2UoKTtUR2UoKTtMR2UoKTskR2UoKTtER2UoKTtBR2UoKTtFR2UoKTtQR2UoKTtJR2UoKTtOR2UoKTtSR2UoKTtPR2UoKTtGR2UoKTtCR2UoKTtIR2UoKTtxR2UoKTtWR2UoKTtqR2UoKTtVR2UoKTtXR2UoKTtHR2UoKTtZR2UoKTtLR2UoKTtaR2UoKTtYR2UoKTtRR2UoKTtKR2UoKTtlWWUoKTt0WWUoKTthWWUoKTtyWWUoKTtzWWUoKTtpWWUoKTtvWWUoKTtuWWUoKTtsWWUoKTtjWWUoKTtkWWUoKTt1WWUoKTtwWWUoKTtmWWUoKTtoWWUoKTttWWUoKTtnWWUoKTtiWWUoKTt2WWUoKTt9KTt2YXIgSDI9e307bHQoSDIse0FBcnJvd0Rvd246KCk9PnZ2LEFBcnJvd1VwOigpPT54dixBTGFyZ2VTbWFsbDooKT0+eXYsQWNjZXNzaWJpbGl0eTooKT0+d3YsQWN0aXZpdHk6KCk9Pk12LEFjdGl2aXR5U3F1YXJlOigpPT5lcCxBaXJWZW50OigpPT5rdixBaXJwbGF5OigpPT5TdixBbGFybUNoZWNrOigpPT5tZCxBbGFybUNsb2NrOigpPT5DdixBbGFybUNsb2NrQ2hlY2s6KCk9Pm1kLEFsYXJtQ2xvY2tNaW51czooKT0+Z2QsQWxhcm1DbG9ja09mZjooKT0+enYsQWxhcm1DbG9ja1BsdXM6KCk9PmJkLEFsYXJtTWludXM6KCk9PmdkLEFsYXJtUGx1czooKT0+YmQsQWxhcm1TbW9rZTooKT0+X3YsQWxidW06KCk9PlR2LEFsZXJ0Q2lyY2xlOigpPT5VZCxBbGVydE9jdGFnb246KCk9Pkx1LEFsZXJ0VHJpYW5nbGU6KCk9PmNmLEFsaWduQ2VudGVyOigpPT50ZixBbGlnbkNlbnRlckhvcml6b250YWw6KCk9Pkx2LEFsaWduQ2VudGVyVmVydGljYWw6KCk9PiR2LEFsaWduRW5kSG9yaXpvbnRhbDooKT0+RHYsQWxpZ25FbmRWZXJ0aWNhbDooKT0+RXYsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZUNlbnRlcjooKT0+QXYsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZUVuZDooKT0+UHYsQWxpZ25Ib3Jpem9udGFsRGlzdHJpYnV0ZVN0YXJ0OigpPT5JdixBbGlnbkhvcml6b250YWxKdXN0aWZ5Q2VudGVyOigpPT5OdixBbGlnbkhvcml6b250YWxKdXN0aWZ5RW5kOigpPT5SdixBbGlnbkhvcml6b250YWxKdXN0aWZ5U3RhcnQ6KCk9Pk92LEFsaWduSG9yaXpvbnRhbFNwYWNlQXJvdW5kOigpPT5GdixBbGlnbkhvcml6b250YWxTcGFjZUJldHdlZW46KCk9PnF2LEFsaWduSnVzdGlmeTooKT0+cmYsQWxpZ25MZWZ0OigpPT5kYyxBbGlnblJpZ2h0OigpPT5hZixBbGlnblN0YXJ0SG9yaXpvbnRhbDooKT0+QnYsQWxpZ25TdGFydFZlcnRpY2FsOigpPT5IdixBbGlnblZlcnRpY2FsRGlzdHJpYnV0ZUNlbnRlcjooKT0+VnYsQWxpZ25WZXJ0aWNhbERpc3RyaWJ1dGVFbmQ6KCk9Pmp2LEFsaWduVmVydGljYWxEaXN0cmlidXRlU3RhcnQ6KCk9PlV2LEFsaWduVmVydGljYWxKdXN0aWZ5Q2VudGVyOigpPT5XdixBbGlnblZlcnRpY2FsSnVzdGlmeUVuZDooKT0+R3YsQWxpZ25WZXJ0aWNhbEp1c3RpZnlTdGFydDooKT0+WXYsQWxpZ25WZXJ0aWNhbFNwYWNlQXJvdW5kOigpPT5LdixBbGlnblZlcnRpY2FsU3BhY2VCZXR3ZWVuOigpPT5adixBbWJ1bGFuY2U6KCk9Plh2LEFtcGVyc2FuZDooKT0+SnYsQW1wZXJzYW5kczooKT0+UXYsQW1waG9yYTooKT0+ZXgsQW5jaG9yOigpPT50eCxBbmdyeTooKT0+YXgsQW5ub3llZDooKT0+cngsQW50ZW5uYTooKT0+c3gsQW52aWw6KCk9Pml4LEFwZXJ0dXJlOigpPT5veCxBcHBXaW5kb3c6KCk9Pmx4LEFwcFdpbmRvd01hYzooKT0+bngsQXBwbGU6KCk9PmR4LEFyY2hpdmU6KCk9PmZ4LEFyY2hpdmVSZXN0b3JlOigpPT5jeCxBcmNoaXZlWDooKT0+dXgsQXJlYUNoYXJ0OigpPT5BZCxBcm1jaGFpcjooKT0+cHgsQXJyb3dCaWdEb3duOigpPT5teCxBcnJvd0JpZ0Rvd25EYXNoOigpPT5oeCxBcnJvd0JpZ0xlZnQ6KCk9Pmd4LEFycm93QmlnTGVmdERhc2g6KCk9PmJ4LEFycm93QmlnUmlnaHQ6KCk9Pnh4LEFycm93QmlnUmlnaHREYXNoOigpPT52eCxBcnJvd0JpZ1VwOigpPT53eCxBcnJvd0JpZ1VwRGFzaDooKT0+eXgsQXJyb3dEb3duOigpPT5EeCxBcnJvd0Rvd24wMTooKT0+TXgsQXJyb3dEb3duMTA6KCk9Pmt4LEFycm93RG93bkFaOigpPT52ZCxBcnJvd0Rvd25BejooKT0+dmQsQXJyb3dEb3duQ2lyY2xlOigpPT5XZCxBcnJvd0Rvd25Gcm9tTGluZTooKT0+U3gsQXJyb3dEb3duTGVmdDooKT0+engsQXJyb3dEb3duTGVmdEZyb21DaXJjbGU6KCk9PllkLEFycm93RG93bkxlZnRGcm9tU3F1YXJlOigpPT5pcCxBcnJvd0Rvd25MZWZ0U3F1YXJlOigpPT50cCxBcnJvd0Rvd25OYXJyb3dXaWRlOigpPT5DeCxBcnJvd0Rvd25SaWdodDooKT0+X3gsQXJyb3dEb3duUmlnaHRGcm9tQ2lyY2xlOigpPT5LZCxBcnJvd0Rvd25SaWdodEZyb21TcXVhcmU6KCk9Pm9wLEFycm93RG93blJpZ2h0U3F1YXJlOigpPT5hcCxBcnJvd0Rvd25TcXVhcmU6KCk9PnJwLEFycm93RG93blRvRG90OigpPT5UeCxBcnJvd0Rvd25Ub0xpbmU6KCk9PiR4LEFycm93RG93blVwOigpPT5MeCxBcnJvd0Rvd25XaWRlTmFycm93OigpPT54ZCxBcnJvd0Rvd25aQTooKT0+eWQsQXJyb3dEb3duWmE6KCk9PnlkLEFycm93TGVmdDooKT0+TngsQXJyb3dMZWZ0Q2lyY2xlOigpPT5HZCxBcnJvd0xlZnRGcm9tTGluZTooKT0+QXgsQXJyb3dMZWZ0UmlnaHQ6KCk9PkV4LEFycm93TGVmdFNxdWFyZTooKT0+c3AsQXJyb3dMZWZ0VG9MaW5lOigpPT5QeCxBcnJvd1JpZ2h0OigpPT5GeCxBcnJvd1JpZ2h0Q2lyY2xlOigpPT5RZCxBcnJvd1JpZ2h0RnJvbUxpbmU6KCk9Pkl4LEFycm93UmlnaHRMZWZ0OigpPT5SeCxBcnJvd1JpZ2h0U3F1YXJlOigpPT5jcCxBcnJvd1JpZ2h0VG9MaW5lOigpPT5PeCxBcnJvd1VwOigpPT5LeCxBcnJvd1VwMDE6KCk9Pkh4LEFycm93VXAxMDooKT0+QngsQXJyb3dVcEFaOigpPT53ZCxBcnJvd1VwQXo6KCk9PndkLEFycm93VXBDaXJjbGU6KCk9PkpkLEFycm93VXBEb3duOigpPT5xeCxBcnJvd1VwRnJvbURvdDooKT0+VngsQXJyb3dVcEZyb21MaW5lOigpPT5qeCxBcnJvd1VwTGVmdDooKT0+VXgsQXJyb3dVcExlZnRGcm9tQ2lyY2xlOigpPT5aZCxBcnJvd1VwTGVmdEZyb21TcXVhcmU6KCk9Pm5wLEFycm93VXBMZWZ0U3F1YXJlOigpPT5kcCxBcnJvd1VwTmFycm93V2lkZTooKT0+TWQsQXJyb3dVcFJpZ2h0OigpPT5XeCxBcnJvd1VwUmlnaHRGcm9tQ2lyY2xlOigpPT5YZCxBcnJvd1VwUmlnaHRGcm9tU3F1YXJlOigpPT5scCxBcnJvd1VwUmlnaHRTcXVhcmU6KCk9PnVwLEFycm93VXBTcXVhcmU6KCk9PnBwLEFycm93VXBUb0xpbmU6KCk9Pll4LEFycm93VXBXaWRlTmFycm93OigpPT5HeCxBcnJvd1VwWkE6KCk9PmtkLEFycm93VXBaYTooKT0+a2QsQXJyb3dzVXBGcm9tTGluZTooKT0+WHgsQXN0ZXJpc2s6KCk9Plp4LEFzdGVyaXNrU3F1YXJlOigpPT5mcCxBc3Ryb2lkOigpPT5ReCxBdFNpZ246KCk9Pkp4LEF0b206KCk9PmV5LEF1ZGlvTGluZXM6KCk9PnR5LEF1ZGlvV2F2ZWZvcm06KCk9PmF5LEF3YXJkOigpPT5yeSxBeGU6KCk9PnN5LEF4aXMzRDooKT0+U2QsQXhpczNkOigpPT5TZCxCYWJ5OigpPT5peSxCYWNrcGFjazooKT0+b3ksQmFkZ2U6KCk9Pk15LEJhZGdlQWxlcnQ6KCk9Pm55LEJhZGdlQ2VudDooKT0+bHksQmFkZ2VDaGVjazooKT0+emQsQmFkZ2VEb2xsYXJTaWduOigpPT5jeSxCYWRnZUV1cm86KCk9PmR5LEJhZGdlSGVscDooKT0+Q2QsQmFkZ2VJbmRpYW5SdXBlZTooKT0+dXksQmFkZ2VJbmZvOigpPT5weSxCYWRnZUphcGFuZXNlWWVuOigpPT5meSxCYWRnZU1pbnVzOigpPT5oeSxCYWRnZVBlcmNlbnQ6KCk9Pm15LEJhZGdlUGx1czooKT0+Z3ksQmFkZ2VQb3VuZFN0ZXJsaW5nOigpPT5ieSxCYWRnZVF1ZXN0aW9uTWFyazooKT0+Q2QsQmFkZ2VSdXNzaWFuUnVibGU6KCk9Pnh5LEJhZGdlU3dpc3NGcmFuYzooKT0+dnksQmFkZ2VUdXJraXNoTGlyYTooKT0+eXksQmFkZ2VYOigpPT53eSxCYWdnYWdlQ2xhaW06KCk9Pmt5LEJhbGxvb246KCk9Pnp5LEJhbjooKT0+U3ksQmFuYW5hOigpPT5DeSxCYW5kYWdlOigpPT5feSxCYW5rbm90ZTooKT0+RHksQmFua25vdGVBcnJvd0Rvd246KCk9Pkx5LEJhbmtub3RlQXJyb3dVcDooKT0+VHksQmFua25vdGVYOigpPT4keSxCYXJDaGFydDooKT0+QmQsQmFyQ2hhcnQyOigpPT5IZCxCYXJDaGFydDM6KCk9Pk9kLEJhckNoYXJ0NDooKT0+UmQsQmFyQ2hhcnRCaWc6KCk9Pk5kLEJhckNoYXJ0SG9yaXpvbnRhbDooKT0+UGQsQmFyQ2hhcnRIb3Jpem9udGFsQmlnOigpPT5FZCxCYXJjb2RlOigpPT5BeSxCYXJyZWw6KCk9PkV5LEJhc2VsaW5lOigpPT5QeSxCYXRoOigpPT5JeSxCYXR0ZXJ5OigpPT5xeSxCYXR0ZXJ5Q2hhcmdpbmc6KCk9Pk55LEJhdHRlcnlGdWxsOigpPT5SeSxCYXR0ZXJ5TG93OigpPT5PeSxCYXR0ZXJ5TWVkaXVtOigpPT5GeSxCYXR0ZXJ5UGx1czooKT0+QnksQmF0dGVyeVdhcm5pbmc6KCk9Pkh5LEJlYWtlcjooKT0+anksQmVhbjooKT0+V3ksQmVhbk9mZjooKT0+VnksQmVkOigpPT5LeSxCZWREb3VibGU6KCk9PlV5LEJlZFNpbmdsZTooKT0+R3ksQmVlZjooKT0+WnksQmVlZk9mZjooKT0+WXksQmVlcjooKT0+UXksQmVlck9mZjooKT0+WHksQmVsbDooKT0+b3csQmVsbENoZWNrOigpPT5KeSxCZWxsRG90OigpPT5ldyxCZWxsRWxlY3RyaWM6KCk9PnR3LEJlbGxNaW51czooKT0+cncsQmVsbE9mZjooKT0+YXcsQmVsbFBsdXM6KCk9PnN3LEJlbGxSaW5nOigpPT5pdyxCZXR3ZWVuSG9yaXpvbmFsRW5kOigpPT5fZCxCZXR3ZWVuSG9yaXpvbmFsU3RhcnQ6KCk9PlRkLEJldHdlZW5Ib3Jpem9udGFsRW5kOigpPT5fZCxCZXR3ZWVuSG9yaXpvbnRhbFN0YXJ0OigpPT5UZCxCZXR3ZWVuVmVydGljYWxFbmQ6KCk9Pm53LEJldHdlZW5WZXJ0aWNhbFN0YXJ0OigpPT5sdyxCaWNlcHNGbGV4ZWQ6KCk9PmN3LEJpa2U6KCk9PmR3LEJpbmFyeTooKT0+dXcsQmlub2N1bGFyczooKT0+cHcsQmlvaGF6YXJkOigpPT5mdyxCaXJkOigpPT5odyxCaXJkaG91c2U6KCk9Pm13LEJpdGNvaW46KCk9Pmd3LEJsZW5kOigpPT5idyxCbGluZHM6KCk9PnZ3LEJsb2NrczooKT0+eHcsQmx1ZXRvb3RoOigpPT5NdyxCbHVldG9vdGhDb25uZWN0ZWQ6KCk9Pnl3LEJsdWV0b290aE9mZjooKT0+d3csQmx1ZXRvb3RoU2VhcmNoaW5nOigpPT5rdyxCb2xkOigpPT5TdyxCb2x0OigpPT5DdyxCb21iOigpPT56dyxCb25lOigpPT5fdyxCb29rOigpPT5RdyxCb29rQTooKT0+VHcsQm9va0FsZXJ0OigpPT5MdyxCb29rQXVkaW86KCk9PiR3LEJvb2tDaGVjazooKT0+RHcsQm9va0NvcHk6KCk9PkF3LEJvb2tEYXNoZWQ6KCk9PkxkLEJvb2tEb3duOigpPT5FdyxCb29rSGVhZHBob25lczooKT0+UHcsQm9va0hlYXJ0OigpPT5JdyxCb29rSW1hZ2U6KCk9Pk53LEJvb2tLZXk6KCk9PlJ3LEJvb2tMb2NrOigpPT5GdyxCb29rTWFya2VkOigpPT5PdyxCb29rTWludXM6KCk9PkJ3LEJvb2tPcGVuOigpPT5qdyxCb29rT3BlbkNoZWNrOigpPT5IdyxCb29rT3BlblRleHQ6KCk9PnF3LEJvb2tQbHVzOigpPT5VdyxCb29rU2VhcmNoOigpPT5WdyxCb29rVGVtcGxhdGU6KCk9PkxkLEJvb2tUZXh0OigpPT5XdyxCb29rVHlwZTooKT0+S3csQm9va1VwOigpPT5ZdyxCb29rVXAyOigpPT5HdyxCb29rVXNlcjooKT0+WncsQm9va1g6KCk9Plh3LEJvb2ttYXJrOigpPT5zTSxCb29rbWFya0NoZWNrOigpPT5KdyxCb29rbWFya01pbnVzOigpPT5lTSxCb29rbWFya09mZjooKT0+dE0sQm9va21hcmtQbHVzOigpPT5hTSxCb29rbWFya1g6KCk9PnJNLEJvb21Cb3g6KCk9PmlNLEJvdDooKT0+bE0sQm90TWVzc2FnZVNxdWFyZTooKT0+b00sQm90T2ZmOigpPT5uTSxCb3R0bGVXaW5lOigpPT5kTSxCb3dBcnJvdzooKT0+Y00sQm94OigpPT51TSxCb3hTZWxlY3Q6KCk9PkNwLEJveGVzOigpPT5wTSxCcmFjZXM6KCk9PiRkLEJyYWNrZXRzOigpPT5mTSxCcmFpbjooKT0+Yk0sQnJhaW5DaXJjdWl0OigpPT5oTSxCcmFpbkNvZzooKT0+bU0sQnJpY2tXYWxsOigpPT54TSxCcmlja1dhbGxGaXJlOigpPT5nTSxCcmlja1dhbGxTaGllbGQ6KCk9PnZNLEJyaWVmY2FzZTooKT0+a00sQnJpZWZjYXNlQnVzaW5lc3M6KCk9PnlNLEJyaWVmY2FzZUNvbnZleW9yQmVsdDooKT0+d00sQnJpZWZjYXNlTWVkaWNhbDooKT0+TU0sQnJpbmdUb0Zyb250OigpPT5TTSxCcnVzaDooKT0+Q00sQnJ1c2hDbGVhbmluZzooKT0+ek0sQnViYmxlczooKT0+VE0sQnVnOigpPT4kTSxCdWdPZmY6KCk9Pl9NLEJ1Z1BsYXk6KCk9PkxNLEJ1aWxkaW5nOigpPT5ETSxCdWlsZGluZzI6KCk9PkFNLEJ1czooKT0+UE0sQnVzRnJvbnQ6KCk9PkVNLENhYmxlOigpPT5JTSxDYWJsZUNhcjooKT0+Tk0sQ2FrZTooKT0+T00sQ2FrZVNsaWNlOigpPT5STSxDYWxjdWxhdG9yOigpPT5CTSxDYWxlbmRhcjooKT0+b2ssQ2FsZW5kYXIxOigpPT5GTSxDYWxlbmRhckFycm93RG93bjooKT0+SE0sQ2FsZW5kYXJBcnJvd1VwOigpPT5xTSxDYWxlbmRhckNoZWNrOigpPT5qTSxDYWxlbmRhckNoZWNrMjooKT0+Vk0sQ2FsZW5kYXJDbG9jazooKT0+VU0sQ2FsZW5kYXJDb2c6KCk9PldNLENhbGVuZGFyRGF5czooKT0+R00sQ2FsZW5kYXJGb2xkOigpPT5ZTSxDYWxlbmRhckhlYXJ0OigpPT5aTSxDYWxlbmRhck1pbnVzOigpPT5RTSxDYWxlbmRhck1pbnVzMjooKT0+S00sQ2FsZW5kYXJPZmY6KCk9PlhNLENhbGVuZGFyUGx1czooKT0+dGssQ2FsZW5kYXJQbHVzMjooKT0+Sk0sQ2FsZW5kYXJSYW5nZTooKT0+ZWssQ2FsZW5kYXJTZWFyY2g6KCk9PmFrLENhbGVuZGFyU3luYzooKT0+cmssQ2FsZW5kYXJYOigpPT5payxDYWxlbmRhclgyOigpPT5zayxDYWxlbmRhcnM6KCk9Pm5rLENhbWVyYTooKT0+Y2ssQ2FtZXJhT2ZmOigpPT5sayxDYW5kbGVzdGlja0NoYXJ0OigpPT5JZCxDYW5keTooKT0+dWssQ2FuZHlDYW5lOigpPT5kayxDYW5keU9mZjooKT0+cGssQ2FubmFiaXM6KCk9PmhrLENhbm5hYmlzT2ZmOigpPT5mayxDYXB0aW9uczooKT0+RGQsQ2FwdGlvbnNPZmY6KCk9Pm1rLENhcjooKT0+YmssQ2FyRnJvbnQ6KCk9PmdrLENhclRheGlGcm9udDooKT0+dmssQ2FyYXZhbjooKT0+eGssQ2FyZFNpbTooKT0+eWssQ2Fycm90OigpPT53ayxDYXNlTG93ZXI6KCk9Pk1rLENhc2VTZW5zaXRpdmU6KCk9PmtrLENhc2VVcHBlcjooKT0+U2ssQ2Fzc2V0dGVUYXBlOigpPT56ayxDYXN0OigpPT5DayxDYXN0bGU6KCk9Pl9rLENhdDooKT0+VGssQ2N0djooKT0+JGssQ2N0dk9mZjooKT0+TGssQ2hhcnRBcmVhOigpPT5BZCxDaGFydEJhcjooKT0+UGQsQ2hhcnRCYXJCaWc6KCk9PkVkLENoYXJ0QmFyRGVjcmVhc2luZzooKT0+RGssQ2hhcnRCYXJJbmNyZWFzaW5nOigpPT5BayxDaGFydEJhclN0YWNrZWQ6KCk9PkVrLENoYXJ0Q2FuZGxlc3RpY2s6KCk9PklkLENoYXJ0Q29sdW1uOigpPT5PZCxDaGFydENvbHVtbkJpZzooKT0+TmQsQ2hhcnRDb2x1bW5EZWNyZWFzaW5nOigpPT5QayxDaGFydENvbHVtbkluY3JlYXNpbmc6KCk9PlJkLENoYXJ0Q29sdW1uU3RhY2tlZDooKT0+SWssQ2hhcnRHYW50dDooKT0+TmssQ2hhcnRMaW5lOigpPT5GZCxDaGFydE5ldHdvcms6KCk9PlJrLENoYXJ0Tm9BeGVzQ29sdW1uOigpPT5IZCxDaGFydE5vQXhlc0NvbHVtbkRlY3JlYXNpbmc6KCk9Pk9rLENoYXJ0Tm9BeGVzQ29sdW1uSW5jcmVhc2luZzooKT0+QmQsQ2hhcnROb0F4ZXNDb21iaW5lZDooKT0+RmssQ2hhcnROb0F4ZXNHYW50dDooKT0+cWQsQ2hhcnRQaWU6KCk9PlZkLENoYXJ0U2NhdHRlcjooKT0+amQsQ2hhcnRTcGxpbmU6KCk9PkJrLENoZWNrOigpPT5WayxDaGVja0NoZWNrOigpPT5IayxDaGVja0NpcmNsZTooKT0+ZTYsQ2hlY2tDaXJjbGUyOigpPT50NixDaGVja0xpbmU6KCk9PnFrLENoZWNrU3F1YXJlOigpPT5icCxDaGVja1NxdWFyZTI6KCk9PnZwLENoZWZIYXQ6KCk9PmprLENoZXJyeTooKT0+VWssQ2hlc3NCaXNob3A6KCk9PkdrLENoZXNzS2luZzooKT0+V2ssQ2hlc3NLbmlnaHQ6KCk9PllrLENoZXNzUGF3bjooKT0+S2ssQ2hlc3NRdWVlbjooKT0+UWssQ2hlc3NSb29rOigpPT5aayxDaGV2cm9uRG93bjooKT0+WGssQ2hldnJvbkRvd25DaXJjbGU6KCk9PnI2LENoZXZyb25Eb3duU3F1YXJlOigpPT54cCxDaGV2cm9uRmlyc3Q6KCk9PkprLENoZXZyb25MYXN0OigpPT5lUyxDaGV2cm9uTGVmdDooKT0+dFMsQ2hldnJvbkxlZnRDaXJjbGU6KCk9PmE2LENoZXZyb25MZWZ0U3F1YXJlOigpPT55cCxDaGV2cm9uUmlnaHQ6KCk9PmFTLENoZXZyb25SaWdodENpcmNsZTooKT0+czYsQ2hldnJvblJpZ2h0U3F1YXJlOigpPT53cCxDaGV2cm9uVXA6KCk9PnJTLENoZXZyb25VcENpcmNsZTooKT0+aTYsQ2hldnJvblVwU3F1YXJlOigpPT5NcCxDaGV2cm9uc0Rvd246KCk9PmlTLENoZXZyb25zRG93blVwOigpPT5zUyxDaGV2cm9uc0xlZnQ6KCk9PmxTLENoZXZyb25zTGVmdFJpZ2h0OigpPT5uUyxDaGV2cm9uc0xlZnRSaWdodEVsbGlwc2lzOigpPT5vUyxDaGV2cm9uc1JpZ2h0OigpPT5kUyxDaGV2cm9uc1JpZ2h0TGVmdDooKT0+Y1MsQ2hldnJvbnNVcDooKT0+dVMsQ2hldnJvbnNVcERvd246KCk9PnBTLENodXJjaDooKT0+ZlMsQ2lnYXJldHRlOigpPT5tUyxDaWdhcmV0dGVPZmY6KCk9PmhTLENpcmNsZTooKT0+JFMsQ2lyY2xlQWxlcnQ6KCk9PlVkLENpcmNsZUFycm93RG93bjooKT0+V2QsQ2lyY2xlQXJyb3dMZWZ0OigpPT5HZCxDaXJjbGVBcnJvd091dERvd25MZWZ0OigpPT5ZZCxDaXJjbGVBcnJvd091dERvd25SaWdodDooKT0+S2QsQ2lyY2xlQXJyb3dPdXRVcExlZnQ6KCk9PlpkLENpcmNsZUFycm93T3V0VXBSaWdodDooKT0+WGQsQ2lyY2xlQXJyb3dSaWdodDooKT0+UWQsQ2lyY2xlQXJyb3dVcDooKT0+SmQsQ2lyY2xlQ2hlY2s6KCk9PnQ2LENpcmNsZUNoZWNrQmlnOigpPT5lNixDaXJjbGVDaGV2cm9uRG93bjooKT0+cjYsQ2lyY2xlQ2hldnJvbkxlZnQ6KCk9PmE2LENpcmNsZUNoZXZyb25SaWdodDooKT0+czYsQ2lyY2xlQ2hldnJvblVwOigpPT5pNixDaXJjbGVEYXNoZWQ6KCk9PmdTLENpcmNsZURpdmlkZTooKT0+bzYsQ2lyY2xlRG9sbGFyU2lnbjooKT0+YlMsQ2lyY2xlRG90OigpPT55UyxDaXJjbGVEb3REYXNoZWQ6KCk9PnZTLENpcmNsZUVsbGlwc2lzOigpPT54UyxDaXJjbGVFcXVhbDooKT0+d1MsQ2lyY2xlRmFkaW5nQXJyb3dVcDooKT0+TVMsQ2lyY2xlRmFkaW5nUGx1czooKT0+a1MsQ2lyY2xlR2F1Z2U6KCk9Pm42LENpcmNsZUhlbHA6KCk9PmFjLENpcmNsZU1pbnVzOigpPT5sNixDaXJjbGVPZmY6KCk9PlNTLENpcmNsZVBhcmtpbmc6KCk9PmQ2LENpcmNsZVBhcmtpbmdPZmY6KCk9PmM2LENpcmNsZVBhdXNlOigpPT51NixDaXJjbGVQZXJjZW50OigpPT5wNixDaXJjbGVQaWxlOigpPT56UyxDaXJjbGVQbGF5OigpPT5mNixDaXJjbGVQbHVzOigpPT5oNixDaXJjbGVQb3VuZFN0ZXJsaW5nOigpPT5DUyxDaXJjbGVQb3dlcjooKT0+bTYsQ2lyY2xlUXVlc3Rpb25NYXJrOigpPT5hYyxDaXJjbGVTbGFzaDooKT0+X1MsQ2lyY2xlU2xhc2gyOigpPT5nNixDaXJjbGVTbGFzaGVkOigpPT5nNixDaXJjbGVTbWFsbDooKT0+VFMsQ2lyY2xlU3RhcjooKT0+TFMsQ2lyY2xlU3RvcDooKT0+YjYsQ2lyY2xlVXNlcjooKT0+eDYsQ2lyY2xlVXNlclJvdW5kOigpPT52NixDaXJjbGVYOigpPT55NixDaXJjdWl0Qm9hcmQ6KCk9PkRTLENpdHJ1czooKT0+QVMsQ2xhcHBlcmJvYXJkOigpPT5FUyxDbGlwYm9hcmQ6KCk9PmpTLENsaXBib2FyZENoZWNrOigpPT5QUyxDbGlwYm9hcmRDbG9jazooKT0+SVMsQ2xpcGJvYXJkQ29weTooKT0+TlMsQ2xpcGJvYXJkRWRpdDooKT0+TTYsQ2xpcGJvYXJkTGlzdDooKT0+UlMsQ2xpcGJvYXJkTWludXM6KCk9Pk9TLENsaXBib2FyZFBhc3RlOigpPT5GUyxDbGlwYm9hcmRQZW46KCk9Pk02LENsaXBib2FyZFBlbkxpbmU6KCk9Pnc2LENsaXBib2FyZFBsdXM6KCk9PkJTLENsaXBib2FyZFNpZ25hdHVyZTooKT0+dzYsQ2xpcGJvYXJkVHlwZTooKT0+SFMsQ2xpcGJvYXJkWDooKT0+cVMsQ2xvY2s6KCk9Pmx6LENsb2NrMTooKT0+VlMsQ2xvY2sxMDooKT0+VVMsQ2xvY2sxMTooKT0+V1MsQ2xvY2sxMjooKT0+R1MsQ2xvY2syOigpPT5ZUyxDbG9jazM6KCk9PktTLENsb2NrNDooKT0+WlMsQ2xvY2s1OigpPT5YUyxDbG9jazY6KCk9PlFTLENsb2NrNzooKT0+ZXosQ2xvY2s4OigpPT5KUyxDbG9jazk6KCk9PnR6LENsb2NrQWxlcnQ6KCk9PmF6LENsb2NrQXJyb3dEb3duOigpPT5yeixDbG9ja0Fycm93VXA6KCk9PnN6LENsb2NrQ2hlY2s6KCk9Pml6LENsb2NrRmFkaW5nOigpPT5veixDbG9ja1BsdXM6KCk9Pm56LENsb3NlZENhcHRpb246KCk9PmN6LENsb3VkOigpPT5feixDbG91ZEFsZXJ0OigpPT5keixDbG91ZEJhY2t1cDooKT0+dXosQ2xvdWRDaGVjazooKT0+cHosQ2xvdWRDb2c6KCk9PmZ6LENsb3VkRG93bmxvYWQ6KCk9Pms2LENsb3VkRHJpenpsZTooKT0+aHosQ2xvdWRGb2c6KCk9Pmd6LENsb3VkSGFpbDooKT0+bXosQ2xvdWRMaWdodG5pbmc6KCk9PmJ6LENsb3VkTW9vbjooKT0+eHosQ2xvdWRNb29uUmFpbjooKT0+dnosQ2xvdWRPZmY6KCk9Pnd6LENsb3VkUmFpbjooKT0+TXosQ2xvdWRSYWluV2luZDooKT0+eXosQ2xvdWRTbm93OigpPT5reixDbG91ZFN1bjooKT0+Q3osQ2xvdWRTdW5SYWluOigpPT5TeixDbG91ZFN5bmM6KCk9Pnp6LENsb3VkVXBsb2FkOigpPT5TNixDbG91ZHk6KCk9PlR6LENsb3ZlcjooKT0+THosQ2x1YjooKT0+JHosQ29kZTooKT0+RHosQ29kZTI6KCk9Pno2LENvZGVTcXVhcmU6KCk9PmtwLENvZGVYbWw6KCk9Pno2LENvZmZlZTooKT0+QXosQ29nOigpPT5FeixDb2luczooKT0+UHosQ29sdW1uczooKT0+QzYsQ29sdW1uczI6KCk9PkM2LENvbHVtbnMzOigpPT5fNixDb2x1bW5zM0NvZzooKT0+cmMsQ29sdW1uczQ6KCk9Pkl6LENvbHVtbnNTZXR0aW5nczooKT0+cmMsQ29tYmluZTooKT0+TnosQ29tbWFuZDooKT0+UnosQ29tcGFzczooKT0+T3osQ29tcG9uZW50OigpPT5GeixDb21wdXRlcjooKT0+QnosQ29uY2llcmdlQmVsbDooKT0+SHosQ29uZTooKT0+cXosQ29uc3RydWN0aW9uOigpPT5WeixDb250YWN0OigpPT5qeixDb250YWN0MjooKT0+VDYsQ29udGFjdFJvdW5kOigpPT5UNixDb250YWluZXI6KCk9PlV6LENvbnRyYXN0OigpPT5XeixDb29raWU6KCk9Pkd6LENvb2tpbmdQb3Q6KCk9Pll6LENvcHk6KCk9PmVDLENvcHlDaGVjazooKT0+S3osQ29weU1pbnVzOigpPT5aeixDb3B5UGx1czooKT0+WHosQ29weVNsYXNoOigpPT5ReixDb3B5WDooKT0+SnosQ29weWxlZnQ6KCk9PnRDLENvcHlyaWdodDooKT0+YUMsQ29ybmVyRG93bkxlZnQ6KCk9PnJDLENvcm5lckRvd25SaWdodDooKT0+c0MsQ29ybmVyTGVmdERvd246KCk9PmlDLENvcm5lckxlZnRVcDooKT0+b0MsQ29ybmVyUmlnaHREb3duOigpPT5uQyxDb3JuZXJSaWdodFVwOigpPT5sQyxDb3JuZXJVcExlZnQ6KCk9PmNDLENvcm5lclVwUmlnaHQ6KCk9PmRDLENwdTooKT0+dUMsQ3JlYXRpdmVDb21tb25zOigpPT5wQyxDcmVkaXRDYXJkOigpPT5mQyxDcm9pc3NhbnQ6KCk9PmhDLENyb3A6KCk9Pm1DLENyb3NzOigpPT5nQyxDcm9zc2hhaXI6KCk9PmJDLENyb3duOigpPT52QyxDdWJvaWQ6KCk9PnhDLEN1cFNvZGE6KCk9PnlDLEN1cmx5QnJhY2VzOigpPT4kZCxDdXJyZW5jeTooKT0+d0MsQ3lsaW5kZXI6KCk9Pk1DLERhbTooKT0+a0MsRGF0YWJhc2U6KCk9Pl9DLERhdGFiYXNlQmFja3VwOigpPT5TQyxEYXRhYmFzZVNlYXJjaDooKT0+Q0MsRGF0YWJhc2VaYXA6KCk9PnpDLERlY2ltYWxzQXJyb3dMZWZ0OigpPT5UQyxEZWNpbWFsc0Fycm93UmlnaHQ6KCk9PkxDLERlbGV0ZTooKT0+JEMsRGVzc2VydDooKT0+REMsRGlhbWV0ZXI6KCk9PkFDLERpYW1vbmQ6KCk9PklDLERpYW1vbmRNaW51czooKT0+RUMsRGlhbW9uZFBlcmNlbnQ6KCk9Pkw2LERpYW1vbmRQbHVzOigpPT5QQyxEaWNlMTooKT0+TkMsRGljZTI6KCk9PlJDLERpY2UzOigpPT5PQyxEaWNlNDooKT0+RkMsRGljZTU6KCk9PkJDLERpY2U2OigpPT5IQyxEaWNlczooKT0+VkMsRGlmZjooKT0+cUMsRGlzYzooKT0+WUMsRGlzYzI6KCk9PmpDLERpc2MzOigpPT5VQyxEaXNjQWxidW06KCk9PldDLERpdmlkZTooKT0+R0MsRGl2aWRlQ2lyY2xlOigpPT5vNixEaXZpZGVTcXVhcmU6KCk9PlRwLERuYTooKT0+WkMsRG5hT2ZmOigpPT5LQyxEb2NrOigpPT5YQyxEb2c6KCk9PkpDLERvbGxhclNpZ246KCk9PlFDLERvbnV0OigpPT5lXyxEb29yQ2xvc2VkOigpPT5hXyxEb29yQ2xvc2VkTG9ja2VkOigpPT50XyxEb29yT3BlbjooKT0+cl8sRG90OigpPT5zXyxEb3RTcXVhcmU6KCk9Pl9wLERvd25sb2FkOigpPT5pXyxEb3dubG9hZENsb3VkOigpPT5rNixEcmFmdGluZ0NvbXBhc3M6KCk9Pm9fLERyYW1hOigpPT5sXyxEcmlsbDooKT0+bl8sRHJvbmU6KCk9PmNfLERyb3BsZXQ6KCk9PmRfLERyb3BsZXRPZmY6KCk9PnVfLERyb3BsZXRzOigpPT5wXyxEcnVtOigpPT5mXyxEcnVtc3RpY2s6KCk9PmhfLER1bWJiZWxsOigpPT5tXyxFYXI6KCk9PmJfLEVhck9mZjooKT0+Z18sRWFydGg6KCk9PiQ2LEVhcnRoTG9jazooKT0+dl8sRWNsaXBzZTooKT0+eF8sRWRpdDooKT0+ejEsRWRpdDI6KCk9PnF1LEVkaXQzOigpPT5IdSxFZ2c6KCk9PndfLEVnZ0ZyaWVkOigpPT55XyxFZ2dPZmY6KCk9Pk1fLEVsbGlwc2U6KCk9PmtfLEVsbGlwc2lzOigpPT5BNixFbGxpcHNpc1ZlcnRpY2FsOigpPT5ENixFcXVhbDooKT0+Q18sRXF1YWxBcHByb3hpbWF0ZWx5OigpPT5TXyxFcXVhbE5vdDooKT0+el8sRXF1YWxTcXVhcmU6KCk9PkxwLEVyYXNlcjooKT0+X18sRXRoZXJuZXRQb3J0OigpPT5UXyxFdXJvOigpPT5MXyxFdkNoYXJnZXI6KCk9PiRfLEV4cGFuZDooKT0+RF8sRXh0ZXJuYWxMaW5rOigpPT5BXyxFeWU6KCk9PklfLEV5ZUNsb3NlZDooKT0+RV8sRXllT2ZmOigpPT5QXyxGYWN0b3J5OigpPT5OXyxGYW46KCk9PlJfLEZhc3RGb3J3YXJkOigpPT5PXyxGZWF0aGVyOigpPT5GXyxGZW5jZTooKT0+SF8sRmVycmlzV2hlZWw6KCk9PkJfLEZpbGU6KCk9PmdULEZpbGVBcmNoaXZlOigpPT5xXyxGaWxlQXVkaW86KCk9PnNjLEZpbGVBdWRpbzI6KCk9PnNjLEZpbGVBeGlzM0Q6KCk9PkU2LEZpbGVBeGlzM2Q6KCk9PkU2LEZpbGVCYWRnZTooKT0+UDYsRmlsZUJhZGdlMjooKT0+UDYsRmlsZUJhckNoYXJ0OigpPT5ONixGaWxlQmFyQ2hhcnQyOigpPT5PNixGaWxlQm94OigpPT5WXyxGaWxlQnJhY2VzOigpPT5JNixGaWxlQnJhY2VzQ29ybmVyOigpPT5SNixGaWxlQ2hhcnRDb2x1bW46KCk9Pk82LEZpbGVDaGFydENvbHVtbkluY3JlYXNpbmc6KCk9Pk42LEZpbGVDaGFydExpbmU6KCk9PkY2LEZpbGVDaGFydFBpZTooKT0+QjYsRmlsZUNoZWNrOigpPT5qXyxGaWxlQ2hlY2syOigpPT5INixGaWxlQ2hlY2tDb3JuZXI6KCk9Pkg2LEZpbGVDbG9jazooKT0+VV8sRmlsZUNvZGU6KCk9PldfLEZpbGVDb2RlMjooKT0+cTYsRmlsZUNvZGVDb3JuZXI6KCk9PnE2LEZpbGVDb2c6KCk9PlY2LEZpbGVDb2cyOigpPT5WNixGaWxlRGlmZjooKT0+R18sRmlsZURpZ2l0OigpPT5ZXyxGaWxlRG93bjooKT0+S18sRmlsZUVkaXQ6KCk9Plo2LEZpbGVFeGNsYW1hdGlvblBvaW50OigpPT5qNixGaWxlSGVhZHBob25lOigpPT5zYyxGaWxlSGVhcnQ6KCk9PlpfLEZpbGVJbWFnZTooKT0+WF8sRmlsZUlucHV0OigpPT5RXyxGaWxlSnNvbjooKT0+STYsRmlsZUpzb24yOigpPT5SNixGaWxlS2V5OigpPT5VNixGaWxlS2V5MjooKT0+VTYsRmlsZUxpbmVDaGFydDooKT0+RjYsRmlsZUxvY2s6KCk9Plc2LEZpbGVMb2NrMjooKT0+VzYsRmlsZU1pbnVzOigpPT5KXyxGaWxlTWludXMyOigpPT5HNixGaWxlTWludXNDb3JuZXI6KCk9Pkc2LEZpbGVNdXNpYzooKT0+ZVQsRmlsZU91dHB1dDooKT0+dFQsRmlsZVBlbjooKT0+WjYsRmlsZVBlbkxpbmU6KCk9Plk2LEZpbGVQaWVDaGFydDooKT0+QjYsRmlsZVBsYXk6KCk9Pks2LEZpbGVQbHVzOigpPT5hVCxGaWxlUGx1czI6KCk9Plg2LEZpbGVQbHVzQ29ybmVyOigpPT5YNixGaWxlUXVlc3Rpb246KCk9PlE2LEZpbGVRdWVzdGlvbk1hcms6KCk9PlE2LEZpbGVTY2FuOigpPT5yVCxGaWxlU2VhcmNoOigpPT5zVCxGaWxlU2VhcmNoMjooKT0+SjYsRmlsZVNlYXJjaENvcm5lcjooKT0+SjYsRmlsZVNpZ25hbDooKT0+ZXUsRmlsZVNpZ25hdHVyZTooKT0+WTYsRmlsZVNsaWRlcnM6KCk9PmlULEZpbGVTcHJlYWRzaGVldDooKT0+b1QsRmlsZVN0YWNrOigpPT5sVCxGaWxlU3ltbGluazooKT0+blQsRmlsZVRlcm1pbmFsOigpPT5jVCxGaWxlVGV4dDooKT0+ZFQsRmlsZVR5cGU6KCk9PnVULEZpbGVUeXBlMjooKT0+dHUsRmlsZVR5cGVDb3JuZXI6KCk9PnR1LEZpbGVVcDooKT0+cFQsRmlsZVVzZXI6KCk9PmZULEZpbGVWaWRlbzooKT0+SzYsRmlsZVZpZGVvMjooKT0+YXUsRmlsZVZpZGVvQ2FtZXJhOigpPT5hdSxGaWxlVm9sdW1lOigpPT5oVCxGaWxlVm9sdW1lMjooKT0+ZXUsRmlsZVdhcm5pbmc6KCk9Pmo2LEZpbGVYOigpPT5tVCxGaWxlWDI6KCk9PnJ1LEZpbGVYQ29ybmVyOigpPT5ydSxGaWxlczooKT0+dlQsRmlsbTooKT0+YlQsRmlsdGVyOigpPT5sdSxGaWx0ZXJYOigpPT5udSxGaW5nZXJwcmludDooKT0+c3UsRmluZ2VycHJpbnRQYXR0ZXJuOigpPT5zdSxGaXJlRXh0aW5ndWlzaGVyOigpPT54VCxGaXNoOigpPT5NVCxGaXNoT2ZmOigpPT53VCxGaXNoU3ltYm9sOigpPT55VCxGaXNoaW5nSG9vazooKT0+a1QsRmlzaGluZ1JvZDooKT0+elQsRmxhZzooKT0+VFQsRmxhZ09mZjooKT0+U1QsRmxhZ1RyaWFuZ2xlTGVmdDooKT0+Q1QsRmxhZ1RyaWFuZ2xlUmlnaHQ6KCk9Pl9ULEZsYW1lOigpPT5MVCxGbGFtZUtpbmRsaW5nOigpPT5EVCxGbGFzaGxpZ2h0OigpPT5BVCxGbGFzaGxpZ2h0T2ZmOigpPT4kVCxGbGFza0NvbmljYWw6KCk9PlBULEZsYXNrQ29uaWNhbE9mZjooKT0+RVQsRmxhc2tSb3VuZDooKT0+SVQsRmxpcEhvcml6b250YWw6KCk9Pm1wLEZsaXBIb3Jpem9udGFsMjooKT0+TlQsRmxpcFZlcnRpY2FsOigpPT5ncCxGbGlwVmVydGljYWwyOigpPT5SVCxGbG93ZXI6KCk9PkhULEZsb3dlcjI6KCk9Pk9ULEZvY3VzOigpPT5GVCxGb2xkSG9yaXpvbnRhbDooKT0+QlQsRm9sZFZlcnRpY2FsOigpPT5qVCxGb2xkZXI6KCk9PmJMLEZvbGRlckFyY2hpdmU6KCk9PnFULEZvbGRlckJvb2ttYXJrOigpPT5WVCxGb2xkZXJDaGVjazooKT0+VVQsRm9sZGVyQ2xvY2s6KCk9PllULEZvbGRlckNsb3NlZDooKT0+V1QsRm9sZGVyQ29kZTooKT0+R1QsRm9sZGVyQ29nOigpPT5pdSxGb2xkZXJDb2cyOigpPT5pdSxGb2xkZXJEb3Q6KCk9PktULEZvbGRlckRvd246KCk9PlpULEZvbGRlckVkaXQ6KCk9Pm91LEZvbGRlckdpdDooKT0+UVQsRm9sZGVyR2l0MjooKT0+WFQsRm9sZGVySGVhcnQ6KCk9PkpULEZvbGRlcklucHV0OigpPT5hTCxGb2xkZXJLYW5iYW46KCk9PmVMLEZvbGRlcktleTooKT0+dEwsRm9sZGVyTG9jazooKT0+ckwsRm9sZGVyTWludXM6KCk9Pm9MLEZvbGRlck9wZW46KCk9PmlMLEZvbGRlck9wZW5Eb3Q6KCk9PnNMLEZvbGRlck91dHB1dDooKT0+bkwsRm9sZGVyUGVuOigpPT5vdSxGb2xkZXJQbHVzOigpPT5sTCxGb2xkZXJSb290OigpPT5jTCxGb2xkZXJTZWFyY2g6KCk9PnVMLEZvbGRlclNlYXJjaDI6KCk9PmRMLEZvbGRlclN5bWxpbms6KCk9PnBMLEZvbGRlclN5bmM6KCk9PmhMLEZvbGRlclRyZWU6KCk9PmZMLEZvbGRlclVwOigpPT5tTCxGb2xkZXJYOigpPT5nTCxGb2xkZXJzOigpPT52TCxGb290cHJpbnRzOigpPT54TCxGb3JrS25pZmU6KCk9PnlmLEZvcmtLbmlmZUNyb3NzZWQ6KCk9PnhmLEZvcmtsaWZ0OigpPT55TCxGb3JtOigpPT53TCxGb3JtSW5wdXQ6KCk9Pmp1LEZvcndhcmQ6KCk9Pk1MLEZyYW1lOigpPT5rTCxGcm93bjooKT0+U0wsRnVlbDooKT0+ekwsRnVsbHNjcmVlbjooKT0+Q0wsRnVuY3Rpb25TcXVhcmU6KCk9PiRwLEZ1bm5lbDooKT0+bHUsRnVubmVsUGx1czooKT0+X0wsRnVubmVsWDooKT0+bnUsR2FsbGVyeUhvcml6b250YWw6KCk9PkxMLEdhbGxlcnlIb3Jpem9udGFsRW5kOigpPT5UTCxHYWxsZXJ5VGh1bWJuYWlsczooKT0+JEwsR2FsbGVyeVZlcnRpY2FsOigpPT5BTCxHYWxsZXJ5VmVydGljYWxFbmQ6KCk9PkRMLEdhbWVwYWQ6KCk9PklMLEdhbWVwYWQyOigpPT5FTCxHYW1lcGFkRGlyZWN0aW9uYWw6KCk9PlBMLEdhbnR0Q2hhcnQ6KCk9PnFkLEdhbnR0Q2hhcnRTcXVhcmU6KCk9PmxjLEdhdWdlOigpPT5OTCxHYXVnZUNpcmNsZTooKT0+bjYsR2F2ZWw6KCk9PlJMLEdlbTooKT0+T0wsR2VvcmdpYW5MYXJpOigpPT5CTCxHaG9zdDooKT0+RkwsR2lmdDooKT0+cUwsR2l0QnJhbmNoOigpPT5qTCxHaXRCcmFuY2hNaW51czooKT0+SEwsR2l0QnJhbmNoUGx1czooKT0+VkwsR2l0Q29tbWl0OigpPT5jdSxHaXRDb21taXRIb3Jpem9udGFsOigpPT5jdSxHaXRDb21taXRWZXJ0aWNhbDooKT0+VUwsR2l0Q29tcGFyZTooKT0+R0wsR2l0Q29tcGFyZUFycm93czooKT0+V0wsR2l0Rm9yazooKT0+WUwsR2l0R3JhcGg6KCk9PktMLEdpdE1lcmdlOigpPT5aTCxHaXRNZXJnZUNvbmZsaWN0OigpPT5YTCxHaXRQdWxsUmVxdWVzdDooKT0+ciQsR2l0UHVsbFJlcXVlc3RBcnJvdzooKT0+UUwsR2l0UHVsbFJlcXVlc3RDbG9zZWQ6KCk9PkpMLEdpdFB1bGxSZXF1ZXN0Q3JlYXRlOigpPT50JCxHaXRQdWxsUmVxdWVzdENyZWF0ZUFycm93OigpPT5lJCxHaXRQdWxsUmVxdWVzdERyYWZ0OigpPT5hJCxHbGFzc1dhdGVyOigpPT5zJCxHbGFzc2VzOigpPT5pJCxHbG9iZTooKT0+YyQsR2xvYmUyOigpPT4kNixHbG9iZUxvY2s6KCk9Pm8kLEdsb2JlT2ZmOigpPT5sJCxHbG9iZVg6KCk9Pm4kLEdvYWw6KCk9PmQkLEdwdTooKT0+dSQsR3JhYjooKT0+aHUsR3JhZHVhdGlvbkNhcDooKT0+cCQsR3JhcGU6KCk9PmYkLEdyaWQ6KCk9PmljLEdyaWQyWDI6KCk9PmZ1LEdyaWQyWDJDaGVjazooKT0+ZHUsR3JpZDJYMlBsdXM6KCk9PnV1LEdyaWQyWDJYOigpPT5wdSxHcmlkMngyOigpPT5mdSxHcmlkMngyQ2hlY2s6KCk9PmR1LEdyaWQyeDJQbHVzOigpPT51dSxHcmlkMngyWDooKT0+cHUsR3JpZDNYMzooKT0+aWMsR3JpZDN4MjooKT0+aCQsR3JpZDN4MzooKT0+aWMsR3JpcDooKT0+YiQsR3JpcEhvcml6b250YWw6KCk9Pm0kLEdyaXBWZXJ0aWNhbDooKT0+ZyQsR3JvdXA6KCk9PnYkLEd1aXRhcjooKT0+eCQsSGFtOigpPT55JCxIYW1idXJnZXI6KCk9PnckLEhhbW1lcjooKT0+TSQsSGFuZDooKT0+VCQsSGFuZENvaW5zOigpPT5rJCxIYW5kRmlzdDooKT0+UyQsSGFuZEdyYWI6KCk9Pmh1LEhhbmRIZWFydDooKT0+eiQsSGFuZEhlbHBpbmc6KCk9Pm11LEhhbmRNZXRhbDooKT0+QyQsSGFuZFBsYXR0ZXI6KCk9Pl8kLEhhbmRiYWc6KCk9PkwkLEhhbmRzaGFrZTooKT0+JCQsSGFyZERyaXZlOigpPT5QJCxIYXJkRHJpdmVEb3dubG9hZDooKT0+RCQsSGFyZERyaXZlVXBsb2FkOigpPT5BJCxIYXJkSGF0OigpPT5FJCxIYXNoOigpPT5JJCxIYXRHbGFzc2VzOigpPT5OJCxIYXplOigpPT5SJCxIZDooKT0+TyQsSGRtaVBvcnQ6KCk9PkYkLEhlYWRpbmc6KCk9PlckLEhlYWRpbmcxOigpPT5CJCxIZWFkaW5nMjooKT0+SCQsSGVhZGluZzM6KCk9PnEkLEhlYWRpbmc0OigpPT5WJCxIZWFkaW5nNTooKT0+aiQsSGVhZGluZzY6KCk9PlUkLEhlYWRwaG9uZU9mZjooKT0+RyQsSGVhZHBob25lczooKT0+SyQsSGVhZHNldDooKT0+WSQsSGVhcnQ6KCk9PnJELEhlYXJ0Q3JhY2s6KCk9PlokLEhlYXJ0SGFuZHNoYWtlOigpPT5YJCxIZWFydE1pbnVzOigpPT5RJCxIZWFydE9mZjooKT0+SiQsSGVhcnRQbHVzOigpPT5lRCxIZWFydFB1bHNlOigpPT50RCxIZWFydFg6KCk9PmFELEhlYXRlcjooKT0+c0QsSGVsaWNvcHRlcjooKT0+aUQsSGVscENpcmNsZTooKT0+YWMsSGVscGluZ0hhbmQ6KCk9Pm11LEhleGFnb246KCk9Pm9ELEhpZ2hsaWdodGVyOigpPT5uRCxIaXN0b3J5OigpPT5sRCxIb21lOigpPT5ndSxIb3A6KCk9PmNELEhvcE9mZjooKT0+ZEQsSG9zcGl0YWw6KCk9PnVELEhvdGVsOigpPT5wRCxIb3VyZ2xhc3M6KCk9PmZELEhvdXNlOigpPT5ndSxIb3VzZUhlYXJ0OigpPT5oRCxIb3VzZVBsdWc6KCk9Pm1ELEhvdXNlUGx1czooKT0+YkQsSG91c2VXaWZpOigpPT5nRCxJY2VDcmVhbTooKT0+dnUsSWNlQ3JlYW0yOigpPT5idSxJY2VDcmVhbUJvd2w6KCk9PmJ1LEljZUNyZWFtQ29uZTooKT0+dnUsSWRDYXJkOigpPT54RCxJZENhcmRMYW55YXJkOigpPT52RCxJbWFnZTooKT0+X0QsSW1hZ2VEb3duOigpPT55RCxJbWFnZU1pbnVzOigpPT53RCxJbWFnZU9mZjooKT0+TUQsSW1hZ2VQbGF5OigpPT5rRCxJbWFnZVBsdXM6KCk9PlNELEltYWdlVXA6KCk9PnpELEltYWdlVXBzY2FsZTooKT0+Q0QsSW1hZ2VzOigpPT5URCxJbXBvcnQ6KCk9PkxELEluYm94OigpPT4kRCxJbmRlbnQ6KCk9Pm5jLEluZGVudERlY3JlYXNlOigpPT5vYyxJbmRlbnRJbmNyZWFzZTooKT0+bmMsSW5kaWFuUnVwZWU6KCk9PkRELEluZmluaXR5OigpPT5BRCxJbmZvOigpPT5FRCxJbnNwZWN0OigpPT5OcCxJbnNwZWN0aW9uUGFuZWw6KCk9PlBELEl0YWxpYzooKT0+SUQsSXRlcmF0aW9uQ2N3OigpPT5ORCxJdGVyYXRpb25DdzooKT0+UkQsSmFwYW5lc2VZZW46KCk9Pk9ELEpveXN0aWNrOigpPT5GRCxLYW5iYW46KCk9PkJELEthbmJhblNxdWFyZTooKT0+RXAsS2FuYmFuU3F1YXJlRGFzaGVkOigpPT5TcCxLYXlhazooKT0+SEQsS2V5OigpPT5qRCxLZXlSb3VuZDooKT0+VkQsS2V5U3F1YXJlOigpPT5xRCxLZXlib2FyZDooKT0+R0QsS2V5Ym9hcmRNdXNpYzooKT0+VUQsS2V5Ym9hcmRPZmY6KCk9PldELExhbXA6KCk9PkpELExhbXBDZWlsaW5nOigpPT5ZRCxMYW1wRGVzazooKT0+S0QsTGFtcEZsb29yOigpPT5aRCxMYW1wV2FsbERvd246KCk9PlhELExhbXBXYWxsVXA6KCk9PlFELExhbmRQbG90OigpPT5lQSxMYW5kbWFyazooKT0+dEEsTGFuZ3VhZ2VzOigpPT5hQSxMYXB0b3A6KCk9PnNBLExhcHRvcDI6KCk9Pnh1LExhcHRvcE1pbmltYWw6KCk9Pnh1LExhcHRvcE1pbmltYWxDaGVjazooKT0+ckEsTGFzc286KCk9Pm5BLExhc3NvU2VsZWN0OigpPT5pQSxMYXVnaDooKT0+b0EsTGF5ZXJzOigpPT55dSxMYXllcnMyOigpPT5sQSxMYXllcnMzOigpPT55dSxMYXllcnNNaW51czooKT0+Y0EsTGF5ZXJzUGx1czooKT0+ZEEsTGF5b3V0OigpPT5CdSxMYXlvdXREYXNoYm9hcmQ6KCk9PnVBLExheW91dEdyaWQ6KCk9PnBBLExheW91dExpc3Q6KCk9PmZBLExheW91dFBhbmVsTGVmdDooKT0+aEEsTGF5b3V0UGFuZWxUb3A6KCk9PmdBLExheW91dFRlbXBsYXRlOigpPT5tQSxMZWFmOigpPT5iQSxMZWFmeUdyZWVuOigpPT52QSxMZWN0ZXJuOigpPT54QSxMZW5zQ29uY2F2ZTooKT0+eUEsTGVuc0NvbnZleDooKT0+d0EsTGV0dGVyVGV4dDooKT0+c2YsTGlicmFyeTooKT0+a0EsTGlicmFyeUJpZzooKT0+TUEsTGlicmFyeVNxdWFyZTooKT0+RHAsTGlmZUJ1b3k6KCk9PlNBLExpZ2F0dXJlOigpPT56QSxMaWdodGJ1bGI6KCk9PkNBLExpZ2h0YnVsYk9mZjooKT0+X0EsTGluZUNoYXJ0OigpPT5GZCxMaW5lRG90UmlnaHRIb3Jpem9udGFsOigpPT5UQSxMaW5lU3F1aWdnbGU6KCk9PiRBLExpbmVTdHlsZTooKT0+TEEsTGluazooKT0+RUEsTGluazI6KCk9PkFBLExpbmsyT2ZmOigpPT5EQSxMaXN0OigpPT5RQSxMaXN0Q2hlY2s6KCk9PlBBLExpc3RDaGVja3M6KCk9PklBLExpc3RDaGV2cm9uc0Rvd25VcDooKT0+TkEsTGlzdENoZXZyb25zVXBEb3duOigpPT5SQSxMaXN0Q29sbGFwc2U6KCk9Pk9BLExpc3RFbmQ6KCk9PkZBLExpc3RGaWx0ZXI6KCk9PkhBLExpc3RGaWx0ZXJQbHVzOigpPT5CQSxMaXN0SW5kZW50RGVjcmVhc2U6KCk9Pm9jLExpc3RJbmRlbnRJbmNyZWFzZTooKT0+bmMsTGlzdE1pbnVzOigpPT5xQSxMaXN0TXVzaWM6KCk9PlZBLExpc3RPcmRlcmVkOigpPT5qQSxMaXN0UGx1czooKT0+VUEsTGlzdFJlc3RhcnQ6KCk9PldBLExpc3RTdGFydDooKT0+R0EsTGlzdFRvZG86KCk9PllBLExpc3RUcmVlOigpPT5LQSxMaXN0VmlkZW86KCk9PlpBLExpc3RYOigpPT5YQSxMb2FkZXI6KCk9PmVFLExvYWRlcjI6KCk9Pnd1LExvYWRlckNpcmNsZTooKT0+d3UsTG9hZGVyUGlud2hlZWw6KCk9PkpBLExvY2F0ZTooKT0+ckUsTG9jYXRlRml4ZWQ6KCk9PnRFLExvY2F0ZU9mZjooKT0+YUUsTG9jYXRpb25FZGl0OigpPT56dSxMb2NrOigpPT5pRSxMb2NrS2V5aG9sZTooKT0+c0UsTG9ja0tleWhvbGVPcGVuOigpPT5NdSxMb2NrT3BlbjooKT0+a3UsTG9nSW46KCk9Pm9FLExvZ091dDooKT0+bkUsTG9nczooKT0+bEUsTG9sbGlwb3A6KCk9PmNFLEx1Z2dhZ2U6KCk9PmRFLE1TcXVhcmU6KCk9PkFwLE1hZ25ldDooKT0+cEUsTWFpbDooKT0+eUUsTWFpbENoZWNrOigpPT51RSxNYWlsTWludXM6KCk9PmZFLE1haWxPcGVuOigpPT5oRSxNYWlsUGx1czooKT0+bUUsTWFpbFF1ZXN0aW9uOigpPT5TdSxNYWlsUXVlc3Rpb25NYXJrOigpPT5TdSxNYWlsU2VhcmNoOigpPT5nRSxNYWlsV2FybmluZzooKT0+YkUsTWFpbFg6KCk9PnZFLE1haWxib3g6KCk9PnhFLE1haWxzOigpPT53RSxNYXA6KCk9PlJFLE1hcE1pbnVzOigpPT5NRSxNYXBQaW46KCk9PlBFLE1hcFBpbkNoZWNrOigpPT5TRSxNYXBQaW5DaGVja0luc2lkZTooKT0+a0UsTWFwUGluSG91c2U6KCk9PnpFLE1hcFBpbk1pbnVzOigpPT5fRSxNYXBQaW5NaW51c0luc2lkZTooKT0+Q0UsTWFwUGluT2ZmOigpPT5URSxNYXBQaW5QZW46KCk9Pnp1LE1hcFBpblBsdXM6KCk9PiRFLE1hcFBpblBsdXNJbnNpZGU6KCk9PkxFLE1hcFBpblNlYXJjaDooKT0+REUsTWFwUGluWDooKT0+QUUsTWFwUGluWEluc2lkZTooKT0+RUUsTWFwUGlubmVkOigpPT5JRSxNYXBQbHVzOigpPT5ORSxNYXJzOigpPT5GRSxNYXJzU3Ryb2tlOigpPT5PRSxNYXJ0aW5pOigpPT5CRSxNYXhpbWl6ZTooKT0+cUUsTWF4aW1pemUyOigpPT5IRSxNZWRhbDooKT0+VkUsTWVnYXBob25lOigpPT5VRSxNZWdhcGhvbmVPZmY6KCk9PmpFLE1laDooKT0+V0UsTWVtb3J5U3RpY2s6KCk9PkdFLE1lbnU6KCk9PllFLE1lbnVTcXVhcmU6KCk9PlBwLE1lcmdlOigpPT5LRSxNZXNzYWdlQ2lyY2xlOigpPT5vUCxNZXNzYWdlQ2lyY2xlQ2hlY2s6KCk9PlpFLE1lc3NhZ2VDaXJjbGVDb2RlOigpPT5YRSxNZXNzYWdlQ2lyY2xlRGFzaGVkOigpPT5RRSxNZXNzYWdlQ2lyY2xlSGVhcnQ6KCk9PkpFLE1lc3NhZ2VDaXJjbGVNb3JlOigpPT5lUCxNZXNzYWdlQ2lyY2xlT2ZmOigpPT50UCxNZXNzYWdlQ2lyY2xlUGx1czooKT0+YVAsTWVzc2FnZUNpcmNsZVF1ZXN0aW9uOigpPT5DdSxNZXNzYWdlQ2lyY2xlUXVlc3Rpb25NYXJrOigpPT5DdSxNZXNzYWdlQ2lyY2xlUmVwbHk6KCk9PnJQLE1lc3NhZ2VDaXJjbGVXYXJuaW5nOigpPT5zUCxNZXNzYWdlQ2lyY2xlWDooKT0+aVAsTWVzc2FnZVNxdWFyZTooKT0+a1AsTWVzc2FnZVNxdWFyZUNoZWNrOigpPT5sUCxNZXNzYWdlU3F1YXJlQ29kZTooKT0+blAsTWVzc2FnZVNxdWFyZURhc2hlZDooKT0+Y1AsTWVzc2FnZVNxdWFyZURpZmY6KCk9PmRQLE1lc3NhZ2VTcXVhcmVEb3Q6KCk9PnVQLE1lc3NhZ2VTcXVhcmVIZWFydDooKT0+cFAsTWVzc2FnZVNxdWFyZUxvY2s6KCk9PmZQLE1lc3NhZ2VTcXVhcmVNb3JlOigpPT5oUCxNZXNzYWdlU3F1YXJlT2ZmOigpPT5tUCxNZXNzYWdlU3F1YXJlUGx1czooKT0+Z1AsTWVzc2FnZVNxdWFyZVF1b3RlOigpPT5iUCxNZXNzYWdlU3F1YXJlUmVwbHk6KCk9PnZQLE1lc3NhZ2VTcXVhcmVTaGFyZTooKT0+eFAsTWVzc2FnZVNxdWFyZVRleHQ6KCk9PnlQLE1lc3NhZ2VTcXVhcmVXYXJuaW5nOigpPT53UCxNZXNzYWdlU3F1YXJlWDooKT0+TVAsTWVzc2FnZXNTcXVhcmU6KCk9PlNQLE1ldHJvbm9tZTooKT0+elAsTWljOigpPT5fUCxNaWMyOigpPT5fdSxNaWNPZmY6KCk9PkNQLE1pY1ZvY2FsOigpPT5fdSxNaWNyb2NoaXA6KCk9PlRQLE1pY3Jvc2NvcGU6KCk9PkxQLE1pY3Jvd2F2ZTooKT0+JFAsTWlsZXN0b25lOigpPT5EUCxNaWxrOigpPT5FUCxNaWxrT2ZmOigpPT5BUCxNaW5pbWl6ZTooKT0+SVAsTWluaW1pemUyOigpPT5QUCxNaW51czooKT0+TlAsTWludXNDaXJjbGU6KCk9Pmw2LE1pbnVzU3F1YXJlOigpPT5JcCxNaXJyb3JSZWN0YW5ndWxhcjooKT0+UlAsTWlycm9yUm91bmQ6KCk9Pk9QLE1vbml0b3I6KCk9PlFQLE1vbml0b3JDaGVjazooKT0+RlAsTW9uaXRvckNsb3VkOigpPT5CUCxNb25pdG9yQ29nOigpPT5IUCxNb25pdG9yRG90OigpPT5xUCxNb25pdG9yRG93bjooKT0+alAsTW9uaXRvck9mZjooKT0+VlAsTW9uaXRvclBhdXNlOigpPT5VUCxNb25pdG9yUGxheTooKT0+V1AsTW9uaXRvclNtYXJ0cGhvbmU6KCk9PkdQLE1vbml0b3JTcGVha2VyOigpPT5ZUCxNb25pdG9yU3RvcDooKT0+WlAsTW9uaXRvclVwOigpPT5LUCxNb25pdG9yWDooKT0+WFAsTW9vbjooKT0+ZUksTW9vblN0YXI6KCk9PkpQLE1vcmVIb3Jpem9udGFsOigpPT5BNixNb3JlVmVydGljYWw6KCk9PkQ2LE1vdG9yYmlrZTooKT0+dEksTW91bnRhaW46KCk9PnJJLE1vdW50YWluU25vdzooKT0+YUksTW91c2U6KCk9PnBJLE1vdXNlTGVmdDooKT0+c0ksTW91c2VPZmY6KCk9PmlJLE1vdXNlUG9pbnRlcjooKT0+ZEksTW91c2VQb2ludGVyMjooKT0+bkksTW91c2VQb2ludGVyMk9mZjooKT0+b0ksTW91c2VQb2ludGVyQmFuOigpPT5sSSxNb3VzZVBvaW50ZXJDbGljazooKT0+Y0ksTW91c2VQb2ludGVyU3F1YXJlRGFzaGVkOigpPT56cCxNb3VzZVJpZ2h0OigpPT51SSxNb3ZlOigpPT56SSxNb3ZlM0Q6KCk9PlR1LE1vdmUzZDooKT0+VHUsTW92ZURpYWdvbmFsOigpPT5oSSxNb3ZlRGlhZ29uYWwyOigpPT5mSSxNb3ZlRG93bjooKT0+YkksTW92ZURvd25MZWZ0OigpPT5tSSxNb3ZlRG93blJpZ2h0OigpPT5nSSxNb3ZlSG9yaXpvbnRhbDooKT0+dkksTW92ZUxlZnQ6KCk9PnhJLE1vdmVSaWdodDooKT0+eUksTW92ZVVwOigpPT5rSSxNb3ZlVXBMZWZ0OigpPT53SSxNb3ZlVXBSaWdodDooKT0+TUksTW92ZVZlcnRpY2FsOigpPT5TSSxNdXNpYzooKT0+TEksTXVzaWMyOigpPT5DSSxNdXNpYzM6KCk9PlRJLE11c2ljNDooKT0+X0ksTmF2aWdhdGlvbjooKT0+RUksTmF2aWdhdGlvbjI6KCk9PkRJLE5hdmlnYXRpb24yT2ZmOigpPT4kSSxOYXZpZ2F0aW9uT2ZmOigpPT5BSSxOZXR3b3JrOigpPT5QSSxOZXdzcGFwZXI6KCk9PklJLE5mYzooKT0+TkksTm9uQmluYXJ5OigpPT5SSSxOb3RlYm9vazooKT0+SEksTm90ZWJvb2tQZW46KCk9Pk9JLE5vdGVib29rVGFiczooKT0+QkksTm90ZWJvb2tUZXh0OigpPT5GSSxOb3RlcGFkVGV4dDooKT0+VkksTm90ZXBhZFRleHREYXNoZWQ6KCk9PnFJLE51dDooKT0+VUksTnV0T2ZmOigpPT5qSSxPY3RhZ29uOigpPT5HSSxPY3RhZ29uQWxlcnQ6KCk9Pkx1LE9jdGFnb25NaW51czooKT0+V0ksT2N0YWdvblBhdXNlOigpPT4kdSxPY3RhZ29uWDooKT0+RHUsT21lZ2E6KCk9PllJLE9wdGlvbjooKT0+S0ksT3JiaXQ6KCk9PlpJLE9yaWdhbWk6KCk9PlhJLE91dGRlbnQ6KCk9Pm9jLFBhY2thZ2U6KCk9PnNOLFBhY2thZ2UyOigpPT5RSSxQYWNrYWdlQ2hlY2s6KCk9PkpJLFBhY2thZ2VNaW51czooKT0+ZU4sUGFja2FnZU9wZW46KCk9PnROLFBhY2thZ2VQbHVzOigpPT5hTixQYWNrYWdlU2VhcmNoOigpPT5yTixQYWNrYWdlWDooKT0+aU4sUGFpbnRCdWNrZXQ6KCk9Pm9OLFBhaW50Um9sbGVyOigpPT5uTixQYWludGJydXNoOigpPT5sTixQYWludGJydXNoMjooKT0+QXUsUGFpbnRicnVzaFZlcnRpY2FsOigpPT5BdSxQYWxldHRlOigpPT5jTixQYWxtdHJlZTooKT0+bGYsUGFuZGE6KCk9PnVOLFBhbmVsQm90dG9tOigpPT5mTixQYW5lbEJvdHRvbUNsb3NlOigpPT5kTixQYW5lbEJvdHRvbURhc2hlZDooKT0+RXUsUGFuZWxCb3R0b21JbmFjdGl2ZTooKT0+RXUsUGFuZWxCb3R0b21PcGVuOigpPT5wTixQYW5lbExlZnQ6KCk9PlJ1LFBhbmVsTGVmdENsb3NlOigpPT5QdSxQYW5lbExlZnREYXNoZWQ6KCk9Pkl1LFBhbmVsTGVmdEluYWN0aXZlOigpPT5JdSxQYW5lbExlZnRPcGVuOigpPT5OdSxQYW5lbExlZnRSaWdodERhc2hlZDooKT0+aE4sUGFuZWxSaWdodDooKT0+dk4sUGFuZWxSaWdodENsb3NlOigpPT5tTixQYW5lbFJpZ2h0RGFzaGVkOigpPT5PdSxQYW5lbFJpZ2h0SW5hY3RpdmU6KCk9Pk91LFBhbmVsUmlnaHRPcGVuOigpPT5nTixQYW5lbFRvcDooKT0+d04sUGFuZWxUb3BCb3R0b21EYXNoZWQ6KCk9PmJOLFBhbmVsVG9wQ2xvc2U6KCk9PnhOLFBhbmVsVG9wRGFzaGVkOigpPT5GdSxQYW5lbFRvcEluYWN0aXZlOigpPT5GdSxQYW5lbFRvcE9wZW46KCk9PnlOLFBhbmVsc0xlZnRCb3R0b206KCk9Pk1OLFBhbmVsc0xlZnRSaWdodDooKT0+XzYsUGFuZWxzUmlnaHRCb3R0b206KCk9PmtOLFBhbmVsc1RvcEJvdHRvbTooKT0+R3UsUGFuZWxzVG9wTGVmdDooKT0+QnUsUGFwZXJjbGlwOigpPT5TTixQYXJlbnRoZXNlczooKT0+ek4sUGFya2luZ0NpcmNsZTooKT0+ZDYsUGFya2luZ0NpcmNsZU9mZjooKT0+YzYsUGFya2luZ01ldGVyOigpPT5DTixQYXJraW5nU3F1YXJlOigpPT5PcCxQYXJraW5nU3F1YXJlT2ZmOigpPT5ScCxQYXJ0eVBvcHBlcjooKT0+VE4sUGF1c2U6KCk9Pl9OLFBhdXNlQ2lyY2xlOigpPT51NixQYXVzZU9jdGFnb246KCk9PiR1LFBhd1ByaW50OigpPT5MTixQY0Nhc2U6KCk9PiROLFBlbjooKT0+cXUsUGVuQm94OigpPT56MSxQZW5MaW5lOigpPT5IdSxQZW5PZmY6KCk9PkROLFBlblNxdWFyZTooKT0+ejEsUGVuVG9vbDooKT0+QU4sUGVuY2lsOigpPT5JTixQZW5jaWxMaW5lOigpPT5FTixQZW5jaWxPZmY6KCk9PlBOLFBlbmNpbFJ1bGVyOigpPT5OTixQZW50YWdvbjooKT0+Uk4sUGVyY2VudDooKT0+T04sUGVyY2VudENpcmNsZTooKT0+cDYsUGVyY2VudERpYW1vbmQ6KCk9Pkw2LFBlcmNlbnRTcXVhcmU6KCk9PkZwLFBlcnNvblN0YW5kaW5nOigpPT5GTixQaGlsaXBwaW5lUGVzbzooKT0+Qk4sUGhvbmU6KCk9PllOLFBob25lQ2FsbDooKT0+SE4sUGhvbmVGb3J3YXJkZWQ6KCk9PnFOLFBob25lSW5jb21pbmc6KCk9PlZOLFBob25lTWlzc2VkOigpPT5qTixQaG9uZU9mZjooKT0+VU4sUGhvbmVPdXRnb2luZzooKT0+V04sUGk6KCk9PkdOLFBpU3F1YXJlOigpPT5CcCxQaWFubzooKT0+S04sUGlja2F4ZTooKT0+Wk4sUGljdHVyZUluUGljdHVyZTooKT0+UU4sUGljdHVyZUluUGljdHVyZTI6KCk9PlhOLFBpZUNoYXJ0OigpPT5WZCxQaWdneUJhbms6KCk9PkpOLFBpbGNyb3c6KCk9PmFSLFBpbGNyb3dMZWZ0OigpPT5lUixQaWxjcm93UmlnaHQ6KCk9PnRSLFBpbGNyb3dTcXVhcmU6KCk9PkhwLFBpbGw6KCk9PmlSLFBpbGxCb3R0bGU6KCk9PnJSLFBpbjooKT0+b1IsUGluT2ZmOigpPT5zUixQaXBldHRlOigpPT5uUixQaXp6YTooKT0+bFIsUGxhbmU6KCk9PnVSLFBsYW5lTGFuZGluZzooKT0+Y1IsUGxhbmVUYWtlb2ZmOigpPT5kUixQbGF5OigpPT5wUixQbGF5Q2lyY2xlOigpPT5mNixQbGF5U3F1YXJlOigpPT5WcCxQbHVnOigpPT5oUixQbHVnMjooKT0+ZlIsUGx1Z1phcDooKT0+VnUsUGx1Z1phcDI6KCk9PlZ1LFBsdXM6KCk9Pm1SLFBsdXNDaXJjbGU6KCk9Pmg2LFBsdXNTcXVhcmU6KCk9PnFwLFBvY2tldEtuaWZlOigpPT5nUixQb2RjYXN0OigpPT5iUixQb2ludGVyOigpPT52UixQb2ludGVyT2ZmOigpPT54UixQb3Bjb3JuOigpPT55UixQb3BzaWNsZTooKT0+d1IsUG91bmRTdGVybGluZzooKT0+TVIsUG93ZXI6KCk9PlNSLFBvd2VyQ2lyY2xlOigpPT5tNixQb3dlck9mZjooKT0+a1IsUG93ZXJTcXVhcmU6KCk9PmpwLFByZXNlbnRhdGlvbjooKT0+elIsUHJpbnRlcjooKT0+VFIsUHJpbnRlckNoZWNrOigpPT5fUixQcmludGVyWDooKT0+Q1IsUHJvamVjdG9yOigpPT5EUixQcm9wb3J0aW9uczooKT0+TFIsUHV6emxlOigpPT4kUixQeXJhbWlkOigpPT5BUixRckNvZGU6KCk9PlBSLFF1b3RlOigpPT5FUixSYWJiaXQ6KCk9Pk5SLFJhZGFyOigpPT5JUixSYWRpYXRpb246KCk9PlJSLFJhZGljYWw6KCk9Pk9SLFJhZGlvOigpPT5xUixSYWRpb09mZjooKT0+RlIsUmFkaW9SZWNlaXZlcjooKT0+QlIsUmFkaW9Ub3dlcjooKT0+SFIsUmFkaXVzOigpPT5WUixSYWluYm93OigpPT5qUixSYXQ6KCk9PlVSLFJhdGlvOigpPT5XUixSZWNlaXB0OigpPT50TyxSZWNlaXB0Q2VudDooKT0+R1IsUmVjZWlwdEV1cm86KCk9PllSLFJlY2VpcHRJbmRpYW5SdXBlZTooKT0+S1IsUmVjZWlwdEphcGFuZXNlWWVuOigpPT5YUixSZWNlaXB0UG91bmRTdGVybGluZzooKT0+WlIsUmVjZWlwdFJ1c3NpYW5SdWJsZTooKT0+UVIsUmVjZWlwdFN3aXNzRnJhbmM6KCk9PmVPLFJlY2VpcHRUZXh0OigpPT5KUixSZWNlaXB0VHVya2lzaExpcmE6KCk9PmFPLFJlY3RhbmdsZUNpcmNsZTooKT0+ck8sUmVjdGFuZ2xlRWxsaXBzaXM6KCk9Pmp1LFJlY3RhbmdsZUdvZ2dsZXM6KCk9PnNPLFJlY3RhbmdsZUhvcml6b250YWw6KCk9PmlPLFJlY3RhbmdsZVZlcnRpY2FsOigpPT5vTyxSZWN5Y2xlOigpPT5uTyxSZWRvOigpPT5kTyxSZWRvMjooKT0+bE8sUmVkb0RvdDooKT0+Y08sUmVmcmVzaENjdzooKT0+cE8sUmVmcmVzaENjd0RvdDooKT0+dU8sUmVmcmVzaEN3OigpPT5oTyxSZWZyZXNoQ3dPZmY6KCk9PmZPLFJlZnJpZ2VyYXRvcjooKT0+bU8sUmVnZXg6KCk9PmdPLFJlbW92ZUZvcm1hdHRpbmc6KCk9PmJPLFJlcGVhdDooKT0+d08sUmVwZWF0MTooKT0+eE8sUmVwZWF0MjooKT0+dk8sUmVwZWF0T2ZmOigpPT55TyxSZXBsYWNlOigpPT5rTyxSZXBsYWNlQWxsOigpPT5NTyxSZXBseTooKT0+ek8sUmVwbHlBbGw6KCk9PlNPLFJld2luZDooKT0+X08sUmliYm9uOigpPT5DTyxSb2FkOigpPT5UTyxSb2NrZXQ6KCk9PkxPLFJvY2tpbmdDaGFpcjooKT0+JE8sUm9sbGVyQ29hc3RlcjooKT0+RE8sUm9zZTooKT0+QU8sUm90YXRlM0Q6KCk9PlV1LFJvdGF0ZTNkOigpPT5VdSxSb3RhdGVDY3c6KCk9PklPLFJvdGF0ZUNjd0tleTooKT0+RU8sUm90YXRlQ2N3U3F1YXJlOigpPT5QTyxSb3RhdGVDdzooKT0+Uk8sUm90YXRlQ3dTcXVhcmU6KCk9Pk5PLFJvdXRlOigpPT5GTyxSb3V0ZU9mZjooKT0+T08sUm91dGVyOigpPT5CTyxSb3dzOigpPT5XdSxSb3dzMjooKT0+V3UsUm93czM6KCk9Pkd1LFJvd3M0OigpPT5ITyxSc3M6KCk9PnFPLFJ1bGVyOigpPT5qTyxSdWxlckRpbWVuc2lvbkxpbmU6KCk9PlZPLFJ1c3NpYW5SdWJsZTooKT0+VU8sU2FpbGJvYXQ6KCk9PldPLFNhbGFkOigpPT5HTyxTYW5kd2ljaDooKT0+WU8sU2F0ZWxsaXRlOigpPT5LTyxTYXRlbGxpdGVEaXNoOigpPT5aTyxTYXVkaVJpeWFsOigpPT5YTyxTYXZlOigpPT5lRixTYXZlQWxsOigpPT5KTyxTYXZlT2ZmOigpPT5RTyxTY2FsZTooKT0+dEYsU2NhbGUzRDooKT0+WXUsU2NhbGUzZDooKT0+WXUsU2NhbGluZzooKT0+ckYsU2NhbjooKT0+dUYsU2NhbkJhcmNvZGU6KCk9PmFGLFNjYW5FeWU6KCk9PnNGLFNjYW5GYWNlOigpPT5pRixTY2FuSGVhcnQ6KCk9Pm9GLFNjYW5MaW5lOigpPT5uRixTY2FuUXJDb2RlOigpPT5sRixTY2FuU2VhcmNoOigpPT5jRixTY2FuVGV4dDooKT0+ZEYsU2NhdHRlckNoYXJ0OigpPT5qZCxTY2hvb2w6KCk9PnBGLFNjaG9vbDI6KCk9PnVmLFNjaXNzb3JzOigpPT5oRixTY2lzc29yc0xpbmVEYXNoZWQ6KCk9PmZGLFNjaXNzb3JzU3F1YXJlOigpPT5XcCxTY2lzc29yc1NxdWFyZURhc2hlZEJvdHRvbTooKT0+aHAsU2Nvb3RlcjooKT0+bUYsU2NyZWVuU2hhcmU6KCk9PmJGLFNjcmVlblNoYXJlT2ZmOigpPT5nRixTY3JvbGw6KCk9PnhGLFNjcm9sbFRleHQ6KCk9PnZGLFNlYXJjaDooKT0+ekYsU2VhcmNoQWxlcnQ6KCk9PnlGLFNlYXJjaENoZWNrOigpPT53RixTZWFyY2hDb2RlOigpPT5NRixTZWFyY2hTbGFzaDooKT0+a0YsU2VhcmNoWDooKT0+U0YsU2VjdGlvbjooKT0+Q0YsU2VuZDooKT0+VEYsU2VuZEhvcml6b25hbDooKT0+S3UsU2VuZEhvcml6b250YWw6KCk9Pkt1LFNlbmRUb0JhY2s6KCk9Pl9GLFNlcGFyYXRvckhvcml6b250YWw6KCk9PkxGLFNlcGFyYXRvclZlcnRpY2FsOigpPT4kRixTZXJ2ZXI6KCk9PlBGLFNlcnZlckNvZzooKT0+REYsU2VydmVyQ3Jhc2g6KCk9PkFGLFNlcnZlck9mZjooKT0+RUYsU2V0dGluZ3M6KCk9PlJGLFNldHRpbmdzMjooKT0+SUYsU2hhcGVzOigpPT5ORixTaGFyZTooKT0+RkYsU2hhcmUyOigpPT5PRixTaGVldDooKT0+SEYsU2hlbGw6KCk9PkJGLFNoZWx2aW5nVW5pdDooKT0+cUYsU2hpZWxkOigpPT5lQixTaGllbGRBbGVydDooKT0+VkYsU2hpZWxkQmFuOigpPT5qRixTaGllbGRDaGVjazooKT0+VUYsU2hpZWxkQ2xvc2U6KCk9Plh1LFNoaWVsZENvZzooKT0+WUYsU2hpZWxkQ29nQ29ybmVyOigpPT5XRixTaGllbGRFbGxpcHNpczooKT0+R0YsU2hpZWxkSGFsZjooKT0+S0YsU2hpZWxkTWludXM6KCk9PlpGLFNoaWVsZE9mZjooKT0+WEYsU2hpZWxkUGx1czooKT0+UUYsU2hpZWxkUXVlc3Rpb246KCk9Plp1LFNoaWVsZFF1ZXN0aW9uTWFyazooKT0+WnUsU2hpZWxkVXNlcjooKT0+SkYsU2hpZWxkWDooKT0+WHUsU2hpcDooKT0+dEIsU2hpcFdoZWVsOigpPT5hQixTaGlydDooKT0+ckIsU2hvcHBpbmdCYWc6KCk9PnNCLFNob3BwaW5nQmFza2V0OigpPT5pQixTaG9wcGluZ0NhcnQ6KCk9Pm9CLFNob3ZlbDooKT0+bkIsU2hvd2VySGVhZDooKT0+bEIsU2hyZWRkZXI6KCk9PmNCLFNocmltcDooKT0+dUIsU2hyaW5rOigpPT5kQixTaHJ1YjooKT0+cEIsU2h1ZmZsZTooKT0+ZkIsU2lkZWJhcjooKT0+UnUsU2lkZWJhckNsb3NlOigpPT5QdSxTaWRlYmFyT3BlbjooKT0+TnUsU2lnbWE6KCk9PmhCLFNpZ21hU3F1YXJlOigpPT5VcCxTaWduYWw6KCk9PnhCLFNpZ25hbEhpZ2g6KCk9Pm1CLFNpZ25hbExvdzooKT0+Z0IsU2lnbmFsTWVkaXVtOigpPT5iQixTaWduYWxaZXJvOigpPT52QixTaWduYXR1cmU6KCk9PnlCLFNpZ25wb3N0OigpPT5NQixTaWducG9zdEJpZzooKT0+d0IsU2lyZW46KCk9PmtCLFNraXBCYWNrOigpPT5TQixTa2lwRm9yd2FyZDooKT0+ekIsU2t1bGw6KCk9PkNCLFNsYXNoOigpPT5fQixTbGFzaFNxdWFyZTooKT0+R3AsU2xpY2U6KCk9PkxCLFNsaWRlcnM6KCk9PlF1LFNsaWRlcnNIb3Jpem9udGFsOigpPT5UQixTbGlkZXJzVmVydGljYWw6KCk9PlF1LFNtYXJ0cGhvbmU6KCk9PkVCLFNtYXJ0cGhvbmVDaGFyZ2luZzooKT0+JEIsU21hcnRwaG9uZU5mYzooKT0+REIsU21pbGU6KCk9PlBCLFNtaWxlUGx1czooKT0+QUIsU25haWw6KCk9PklCLFNub3dmbGFrZTooKT0+TkIsU29hcERpc3BlbnNlckRyb3BsZXQ6KCk9PlJCLFNvZmE6KCk9Pk9CLFNvbGFyUGFuZWw6KCk9PkZCLFNvcnRBc2M6KCk9Pk1kLFNvcnREZXNjOigpPT54ZCxTb3VwOigpPT5CQixTcGFjZTooKT0+SEIsU3BhZGU6KCk9PnFCLFNwYXJrbGU6KCk9PlZCLFNwYXJrbGVzOigpPT5KdSxTcGVha2VyOigpPT5qQixTcGVlY2g6KCk9PlVCLFNwZWxsQ2hlY2s6KCk9PldCLFNwZWxsQ2hlY2syOigpPT5HQixTcGxpbmU6KCk9PktCLFNwbGluZVBvaW50ZXI6KCk9PllCLFNwbGl0OigpPT5aQixTcGxpdFNxdWFyZUhvcml6b250YWw6KCk9PllwLFNwbGl0U3F1YXJlVmVydGljYWw6KCk9PktwLFNwb29sOigpPT5YQixTcG9ydFNob2U6KCk9PlFCLFNwb3RsaWdodDooKT0+dEgsU3ByYXlDYW46KCk9PkpCLFNwcm91dDooKT0+ZUgsU3F1YXJlOigpPT5oSCxTcXVhcmVBY3Rpdml0eTooKT0+ZXAsU3F1YXJlQXJyb3dEb3duOigpPT5ycCxTcXVhcmVBcnJvd0Rvd25MZWZ0OigpPT50cCxTcXVhcmVBcnJvd0Rvd25SaWdodDooKT0+YXAsU3F1YXJlQXJyb3dMZWZ0OigpPT5zcCxTcXVhcmVBcnJvd091dERvd25MZWZ0OigpPT5pcCxTcXVhcmVBcnJvd091dERvd25SaWdodDooKT0+b3AsU3F1YXJlQXJyb3dPdXRVcExlZnQ6KCk9Pm5wLFNxdWFyZUFycm93T3V0VXBSaWdodDooKT0+bHAsU3F1YXJlQXJyb3dSaWdodDooKT0+Y3AsU3F1YXJlQXJyb3dSaWdodEVudGVyOigpPT5hSCxTcXVhcmVBcnJvd1JpZ2h0RXhpdDooKT0+ckgsU3F1YXJlQXJyb3dVcDooKT0+cHAsU3F1YXJlQXJyb3dVcExlZnQ6KCk9PmRwLFNxdWFyZUFycm93VXBSaWdodDooKT0+dXAsU3F1YXJlQXN0ZXJpc2s6KCk9PmZwLFNxdWFyZUJvdHRvbURhc2hlZFNjaXNzb3JzOigpPT5ocCxTcXVhcmVDZW50ZXJsaW5lRGFzaGVkSG9yaXpvbnRhbDooKT0+bXAsU3F1YXJlQ2VudGVybGluZURhc2hlZFZlcnRpY2FsOigpPT5ncCxTcXVhcmVDaGFydEdhbnR0OigpPT5sYyxTcXVhcmVDaGVjazooKT0+dnAsU3F1YXJlQ2hlY2tCaWc6KCk9PmJwLFNxdWFyZUNoZXZyb25Eb3duOigpPT54cCxTcXVhcmVDaGV2cm9uTGVmdDooKT0+eXAsU3F1YXJlQ2hldnJvblJpZ2h0OigpPT53cCxTcXVhcmVDaGV2cm9uVXA6KCk9Pk1wLFNxdWFyZUNvZGU6KCk9PmtwLFNxdWFyZURhc2hlZDooKT0+Q3AsU3F1YXJlRGFzaGVkQm90dG9tOigpPT5pSCxTcXVhcmVEYXNoZWRCb3R0b21Db2RlOigpPT5zSCxTcXVhcmVEYXNoZWRLYW5iYW46KCk9PlNwLFNxdWFyZURhc2hlZE1vdXNlUG9pbnRlcjooKT0+enAsU3F1YXJlRGFzaGVkVGV4dDooKT0+Y2MsU3F1YXJlRGFzaGVkVG9wU29saWQ6KCk9Pm9ILFNxdWFyZURpdmlkZTooKT0+VHAsU3F1YXJlRG90OigpPT5fcCxTcXVhcmVFcXVhbDooKT0+THAsU3F1YXJlRnVuY3Rpb246KCk9PiRwLFNxdWFyZUdhbnR0Q2hhcnQ6KCk9PmxjLFNxdWFyZUthbmJhbjooKT0+RXAsU3F1YXJlTGlicmFyeTooKT0+RHAsU3F1YXJlTTooKT0+QXAsU3F1YXJlTWVudTooKT0+UHAsU3F1YXJlTWludXM6KCk9PklwLFNxdWFyZU1vdXNlUG9pbnRlcjooKT0+TnAsU3F1YXJlUGFya2luZzooKT0+T3AsU3F1YXJlUGFya2luZ09mZjooKT0+UnAsU3F1YXJlUGF1c2U6KCk9Pm5ILFNxdWFyZVBlbjooKT0+ejEsU3F1YXJlUGVyY2VudDooKT0+RnAsU3F1YXJlUGk6KCk9PkJwLFNxdWFyZVBpbGNyb3c6KCk9PkhwLFNxdWFyZVBsYXk6KCk9PlZwLFNxdWFyZVBsdXM6KCk9PnFwLFNxdWFyZVBvd2VyOigpPT5qcCxTcXVhcmVSYWRpY2FsOigpPT5sSCxTcXVhcmVSb3VuZENvcm5lcjooKT0+Y0gsU3F1YXJlU2Npc3NvcnM6KCk9PldwLFNxdWFyZVNpZ21hOigpPT5VcCxTcXVhcmVTbGFzaDooKT0+R3AsU3F1YXJlU3BsaXRIb3Jpem9udGFsOigpPT5ZcCxTcXVhcmVTcGxpdFZlcnRpY2FsOigpPT5LcCxTcXVhcmVTcXVhcmU6KCk9PmRILFNxdWFyZVN0YWNrOigpPT51SCxTcXVhcmVTdGFyOigpPT5wSCxTcXVhcmVTdG9wOigpPT5mSCxTcXVhcmVUZXJtaW5hbDooKT0+WnAsU3F1YXJlVXNlcjooKT0+SnAsU3F1YXJlVXNlclJvdW5kOigpPT5YcCxTcXVhcmVYOigpPT5RcCxTcXVhcmVzRXhjbHVkZTooKT0+bUgsU3F1YXJlc0ludGVyc2VjdDooKT0+Z0gsU3F1YXJlc1N1YnRyYWN0OigpPT5iSCxTcXVhcmVzVW5pdGU6KCk9PnZILFNxdWlyY2xlOigpPT55SCxTcXVpcmNsZURhc2hlZDooKT0+eEgsU3F1aXJyZWw6KCk9PndILFN0YW1wOigpPT5NSCxTdGFyOigpPT56SCxTdGFySGFsZjooKT0+a0gsU3Rhck9mZjooKT0+U0gsU3RhcnM6KCk9Pkp1LFN0ZXBCYWNrOigpPT5DSCxTdGVwRm9yd2FyZDooKT0+X0gsU3RldGhvc2NvcGU6KCk9PkxILFN0aWNrZXI6KCk9PlRILFN0aWNreU5vdGU6KCk9PiRILFN0b25lOigpPT5FSCxTdG9wQ2lyY2xlOigpPT5iNixTdG9yZTooKT0+REgsU3RyZXRjaEhvcml6b250YWw6KCk9PkFILFN0cmV0Y2hWZXJ0aWNhbDooKT0+UEgsU3RyaWtldGhyb3VnaDooKT0+SUgsU3Vic2NyaXB0OigpPT5OSCxTdWJ0aXRsZXM6KCk9PkRkLFN1bjooKT0+SEgsU3VuRGltOigpPT5SSCxTdW5NZWRpdW06KCk9Pk9ILFN1bk1vb246KCk9PkZILFN1blNub3c6KCk9PkJILFN1bnJpc2U6KCk9PnFILFN1bnNldDooKT0+VkgsU3VwZXJzY3JpcHQ6KCk9PmpILFN3YXRjaEJvb2s6KCk9PlVILFN3aXNzRnJhbmM6KCk9PldILFN3aXRjaENhbWVyYTooKT0+R0gsU3dvcmQ6KCk9PllILFN3b3JkczooKT0+S0gsU3lyaW5nZTooKT0+WkgsVGFibGU6KCk9PmlxLFRhYmxlMjooKT0+WEgsVGFibGVDZWxsc01lcmdlOigpPT5RSCxUYWJsZUNlbGxzU3BsaXQ6KCk9PkpILFRhYmxlQ29sdW1uc1NwbGl0OigpPT5lcSxUYWJsZUNvbmZpZzooKT0+cmMsVGFibGVPZkNvbnRlbnRzOigpPT50cSxUYWJsZVByb3BlcnRpZXM6KCk9PmFxLFRhYmxlUm93c1NwbGl0OigpPT5ycSxUYWJsZXQ6KCk9Pm9xLFRhYmxldFNtYXJ0cGhvbmU6KCk9PnNxLFRhYmxldHM6KCk9Pm5xLFRhZzooKT0+bHEsVGFnczooKT0+Y3EsVGFsbHkxOigpPT5kcSxUYWxseTI6KCk9PnVxLFRhbGx5MzooKT0+cHEsVGFsbHk0OigpPT5mcSxUYWxseTU6KCk9Pm1xLFRhbmdlbnQ6KCk9PmhxLFRhcmdldDooKT0+Z3EsVGVsZXNjb3BlOigpPT5icSxUZW50OigpPT54cSxUZW50VHJlZTooKT0+dnEsVGVybWluYWw6KCk9PnlxLFRlcm1pbmFsU3F1YXJlOigpPT5acCxUZXN0VHViZTooKT0+d3EsVGVzdFR1YmUyOigpPT5lZixUZXN0VHViZURpYWdvbmFsOigpPT5lZixUZXN0VHViZXM6KCk9Pk1xLFRleHQ6KCk9PmRjLFRleHRBbGlnbkNlbnRlcjooKT0+dGYsVGV4dEFsaWduRW5kOigpPT5hZixUZXh0QWxpZ25KdXN0aWZ5OigpPT5yZixUZXh0QWxpZ25TdGFydDooKT0+ZGMsVGV4dEN1cnNvcjooKT0+U3EsVGV4dEN1cnNvcklucHV0OigpPT5rcSxUZXh0SW5pdGlhbDooKT0+c2YsVGV4dFF1b3RlOigpPT56cSxUZXh0U2VhcmNoOigpPT5DcSxUZXh0U2VsZWN0OigpPT5jYyxUZXh0U2VsZWN0aW9uOigpPT5jYyxUZXh0V3JhcDooKT0+b2YsVGhlYXRlcjooKT0+X3EsVGhlcm1vbWV0ZXI6KCk9PiRxLFRoZXJtb21ldGVyU25vd2ZsYWtlOigpPT5UcSxUaGVybW9tZXRlclN1bjooKT0+THEsVGh1bWJzRG93bjooKT0+RHEsVGh1bWJzVXA6KCk9PkFxLFRpY2tldDooKT0+RnEsVGlja2V0Q2hlY2s6KCk9PkVxLFRpY2tldE1pbnVzOigpPT5QcSxUaWNrZXRQZXJjZW50OigpPT5JcSxUaWNrZXRQbHVzOigpPT5OcSxUaWNrZXRTbGFzaDooKT0+UnEsVGlja2V0WDooKT0+T3EsVGlja2V0czooKT0+SHEsVGlja2V0c1BsYW5lOigpPT5CcSxUaW1lbGluZTooKT0+cXEsVGltZXI6KCk9PlVxLFRpbWVyT2ZmOigpPT5WcSxUaW1lclJlc2V0OigpPT5qcSxUb2dnbGVMZWZ0OigpPT5HcSxUb2dnbGVSaWdodDooKT0+WXEsVG9pbGV0OigpPT5XcSxUb29sQ2FzZTooKT0+S3EsVG9vbGJveDooKT0+WnEsVG9ybmFkbzooKT0+SnEsVG9ydXM6KCk9PlhxLFRvdWNocGFkOigpPT5lVixUb3VjaHBhZE9mZjooKT0+UXEsVG93ZWxSYWNrOigpPT50VixUb3dlckNvbnRyb2w6KCk9PmFWLFRveUJyaWNrOigpPT5yVixUcmFjdG9yOigpPT5zVixUcmFmZmljQ29uZTooKT0+aVYsVHJhaW46KCk9Pm5mLFRyYWluRnJvbnQ6KCk9Pm5WLFRyYWluRnJvbnRUdW5uZWw6KCk9Pm9WLFRyYWluVHJhY2s6KCk9PmxWLFRyYW1Gcm9udDooKT0+bmYsVHJhbnNnZW5kZXI6KCk9PmNWLFRyYXNoOigpPT51VixUcmFzaDI6KCk9PmRWLFRyZWVEZWNpZHVvdXM6KCk9PnBWLFRyZWVQYWxtOigpPT5sZixUcmVlUGluZTooKT0+ZlYsVHJlZXM6KCk9PmhWLFRyZW5kaW5nRG93bjooKT0+bVYsVHJlbmRpbmdVcDooKT0+YlYsVHJlbmRpbmdVcERvd246KCk9PmdWLFRyaWFuZ2xlOigpPT55VixUcmlhbmdsZUFsZXJ0OigpPT5jZixUcmlhbmdsZURhc2hlZDooKT0+dlYsVHJpYW5nbGVSaWdodDooKT0+eFYsVHJvcGh5OigpPT53VixUcnVjazooKT0+a1YsVHJ1Y2tFbGVjdHJpYzooKT0+TVYsVHVya2lzaExpcmE6KCk9PlNWLFR1cm50YWJsZTooKT0+elYsVHVydGxlOigpPT5DVixUdjooKT0+VFYsVHYyOigpPT5kZixUdk1pbmltYWw6KCk9PmRmLFR2TWluaW1hbFBsYXk6KCk9Pl9WLFR5cGU6KCk9PiRWLFR5cGVPdXRsaW5lOigpPT5MVixVbWJyZWxsYTooKT0+QVYsVW1icmVsbGFPZmY6KCk9PkRWLFVuZGVybGluZTooKT0+RVYsVW5kbzooKT0+TlYsVW5kbzI6KCk9PlBWLFVuZG9Eb3Q6KCk9PklWLFVuZm9sZEhvcml6b250YWw6KCk9PlJWLFVuZm9sZFZlcnRpY2FsOigpPT5PVixVbmdyb3VwOigpPT5GVixVbml2ZXJzaXR5OigpPT51ZixVbmxpbms6KCk9PnFWLFVubGluazI6KCk9PkJWLFVubG9jazooKT0+a3UsVW5sb2NrS2V5aG9sZTooKT0+TXUsVW5wbHVnOigpPT5IVixVcGxvYWQ6KCk9PlZWLFVwbG9hZENsb3VkOigpPT5TNixVc2I6KCk9PmpWLFVzZXI6KCk9PnNqLFVzZXIyOigpPT5iZixVc2VyQ2hlY2s6KCk9PlVWLFVzZXJDaGVjazI6KCk9PnBmLFVzZXJDaXJjbGU6KCk9Png2LFVzZXJDaXJjbGUyOigpPT52NixVc2VyQ29nOigpPT5XVixVc2VyQ29nMjooKT0+ZmYsVXNlcktleTooKT0+R1YsVXNlckxvY2s6KCk9PllWLFVzZXJNaW51czooKT0+S1YsVXNlck1pbnVzMjooKT0+aGYsVXNlclBlbjooKT0+WlYsVXNlclBsdXM6KCk9PlhWLFVzZXJQbHVzMjooKT0+bWYsVXNlclJvdW5kOigpPT5iZixVc2VyUm91bmRDaGVjazooKT0+cGYsVXNlclJvdW5kQ29nOigpPT5mZixVc2VyUm91bmRLZXk6KCk9PlFWLFVzZXJSb3VuZE1pbnVzOigpPT5oZixVc2VyUm91bmRQZW46KCk9PkpWLFVzZXJSb3VuZFBsdXM6KCk9Pm1mLFVzZXJSb3VuZFNlYXJjaDooKT0+ZWosVXNlclJvdW5kWDooKT0+Z2YsVXNlclNlYXJjaDooKT0+dGosVXNlclNxdWFyZTooKT0+SnAsVXNlclNxdWFyZTI6KCk9PlhwLFVzZXJTdGFyOigpPT5haixVc2VyWDooKT0+cmosVXNlclgyOigpPT5nZixVc2VyczooKT0+aWosVXNlcnMyOigpPT52ZixVc2Vyc1JvdW5kOigpPT52ZixVdGVuc2lsczooKT0+eWYsVXRlbnNpbHNDcm9zc2VkOigpPT54ZixVdGlsaXR5UG9sZTooKT0+bmosVmFuOigpPT5vaixWYXJpYWJsZTooKT0+bGosVmF1bHQ6KCk9PmNqLFZlY3RvclNxdWFyZTooKT0+ZGosVmVnYW46KCk9PnVqLFZlbmV0aWFuTWFzazooKT0+cGosVmVudXM6KCk9PmhqLFZlbnVzQW5kTWFyczooKT0+ZmosVmVyaWZpZWQ6KCk9PnpkLFZpYnJhdGU6KCk9PmdqLFZpYnJhdGVPZmY6KCk9Pm1qLFZpZGVvOigpPT52aixWaWRlb09mZjooKT0+YmosVmlkZW90YXBlOigpPT54aixWaWV3OigpPT55aixWb2ljZW1haWw6KCk9Pk1qLFZvbGxleWJhbGw6KCk9PndqLFZvbHVtZTooKT0+X2osVm9sdW1lMTooKT0+a2osVm9sdW1lMjooKT0+U2osVm9sdW1lT2ZmOigpPT56aixWb2x1bWVYOigpPT5DaixWb3RlOigpPT5UaixXYWxsZXQ6KCk9PiRqLFdhbGxldDI6KCk9PndmLFdhbGxldENhcmRzOigpPT5MaixXYWxsZXRNaW5pbWFsOigpPT53ZixXYWxscGFwZXI6KCk9PkRqLFdhbmQ6KCk9PkFqLFdhbmQyOigpPT5NZixXYW5kU3BhcmtsZXM6KCk9Pk1mLFdhcmVob3VzZTooKT0+RWosV2FzaGluZ01hY2hpbmU6KCk9PklqLFdhdGNoOigpPT5QaixXYXZlczooKT0+a2YsV2F2ZXNBcnJvd0Rvd246KCk9Pk5qLFdhdmVzQXJyb3dVcDooKT0+UmosV2F2ZXNIb3Jpem9udGFsOigpPT5rZixXYXZlc0xhZGRlcjooKT0+T2osV2F2ZXNWZXJ0aWNhbDooKT0+RmosV2F5cG9pbnRzOigpPT5CaixXZWJjYW06KCk9PkhqLFdlYmhvb2s6KCk9PlZqLFdlYmhvb2tPZmY6KCk9PnFqLFdlaWdodDooKT0+VWosV2VpZ2h0VGlsZGU6KCk9PmpqLFdoZWF0OigpPT5HaixXaGVhdE9mZjooKT0+V2osV2hvbGVXb3JkOigpPT5ZaixXaWZpOigpPT5yVSxXaWZpQ29nOigpPT5LaixXaWZpSGlnaDooKT0+WmosV2lmaUxvdzooKT0+WGosV2lmaU9mZjooKT0+UWosV2lmaVBlbjooKT0+SmosV2lmaVN5bmM6KCk9PmVVLFdpZmlaZXJvOigpPT50VSxXaW5kOigpPT5zVSxXaW5kQXJyb3dEb3duOigpPT5hVSxXaW5lOigpPT5sVSxXaW5lT2ZmOigpPT5pVSxXb3JrZmxvdzooKT0+blUsV29ybTooKT0+b1UsV3JhcFRleHQ6KCk9Pm9mLFdyZW5jaDooKT0+Y1UsWDooKT0+dVUsWENpcmNsZTooKT0+eTYsWExpbmVUb3A6KCk9PmRVLFhPY3RhZ29uOigpPT5EdSxYU3F1YXJlOigpPT5RcCxaYXA6KCk9PmZVLFphcE9mZjooKT0+cFUsWm9kaWFjQXF1YXJpdXM6KCk9PmhVLFpvZGlhY0FyaWVzOigpPT5tVSxab2RpYWNDYW5jZXI6KCk9PmdVLFpvZGlhY0NhcHJpY29ybjooKT0+YlUsWm9kaWFjR2VtaW5pOigpPT52VSxab2RpYWNMZW86KCk9PnhVLFpvZGlhY0xpYnJhOigpPT55VSxab2RpYWNPcGhpdWNodXM6KCk9PndVLFpvZGlhY1Bpc2NlczooKT0+TVUsWm9kaWFjU2FnaXR0YXJpdXM6KCk9PlNVLFpvZGlhY1Njb3JwaW86KCk9PmtVLFpvZGlhY1RhdXJ1czooKT0+elUsWm9kaWFjVmlyZ286KCk9PkNVLFpvb21JbjooKT0+X1UsWm9vbU91dDooKT0+VFUsY3JlYXRlRWxlbWVudDooKT0+aTQsY3JlYXRlSWNvbnM6KCk9PnhZZSxpY29uczooKT0+U2Z9KTt2YXIgeFllLFV0ZT1mKCgpPT57d3JhKCk7TXJhKCk7T2dlKCk7amdlKCk7VWdlKCk7V2dlKCk7R2dlKCk7WWdlKCk7S2dlKCk7WmdlKCk7WGdlKCk7UWdlKCk7SmdlKCk7ZWJlKCk7dGJlKCk7YWJlKCk7cmJlKCk7c2JlKCk7aWJlKCk7b2JlKCk7bmJlKCk7bGJlKCk7Y2JlKCk7ZGJlKCk7dWJlKCk7cGJlKCk7ZmJlKCk7aGJlKCk7bWJlKCk7Z2JlKCk7YmJlKCk7dmJlKCk7eGJlKCk7eWJlKCk7d2JlKCk7TWJlKCk7a2JlKCk7U2JlKCk7emJlKCk7Q2JlKCk7X2JlKCk7VGJlKCk7TGJlKCk7JGJlKCk7RGJlKCk7QWJlKCk7RWJlKCk7UGJlKCk7SWJlKCk7TmJlKCk7UmJlKCk7T2JlKCk7RmJlKCk7QmJlKCk7SGJlKCk7cWJlKCk7VmJlKCk7amJlKCk7VWJlKCk7V2JlKCk7R2JlKCk7WWJlKCk7S2JlKCk7WmJlKCk7WGJlKCk7UWJlKCk7SmJlKCk7ZXZlKCk7dHZlKCk7YXZlKCk7cnZlKCk7c3ZlKCk7aXZlKCk7b3ZlKCk7bnZlKCk7bHZlKCk7Y3ZlKCk7ZHZlKCk7dXZlKCk7cHZlKCk7ZnZlKCk7aHZlKCk7bXZlKCk7Z3ZlKCk7YnZlKCk7dnZlKCk7eHZlKCk7eXZlKCk7d3ZlKCk7TXZlKCk7a3ZlKCk7U3ZlKCk7enZlKCk7Q3ZlKCk7X3ZlKCk7VHZlKCk7THZlKCk7JHZlKCk7RHZlKCk7QXZlKCk7RXZlKCk7UHZlKCk7SXZlKCk7TnZlKCk7UnZlKCk7T3ZlKCk7RnZlKCk7QnZlKCk7SHZlKCk7cXZlKCk7VnZlKCk7anZlKCk7VXZlKCk7V3ZlKCk7R3ZlKCk7WXZlKCk7S3ZlKCk7WnZlKCk7WHZlKCk7UXZlKCk7SnZlKCk7ZXhlKCk7dHhlKCk7YXhlKCk7cnhlKCk7c3hlKCk7aXhlKCk7b3hlKCk7bnhlKCk7bHhlKCk7Y3hlKCk7ZHhlKCk7dXhlKCk7cHhlKCk7ZnhlKCk7aHhlKCk7bXhlKCk7Z3hlKCk7YnhlKCk7dnhlKCk7eHhlKCk7eXhlKCk7d3hlKCk7TXhlKCk7a3hlKCk7U3hlKCk7enhlKCk7Q3hlKCk7X3hlKCk7VHhlKCk7THhlKCk7JHhlKCk7RHhlKCk7QXhlKCk7RXhlKCk7UHhlKCk7SXhlKCk7TnhlKCk7UnhlKCk7T3hlKCk7RnhlKCk7QnhlKCk7SHhlKCk7cXhlKCk7VnhlKCk7anhlKCk7VXhlKCk7V3hlKCk7R3hlKCk7WXhlKCk7S3hlKCk7WnhlKCk7WHhlKCk7UXhlKCk7SnhlKCk7ZXllKCk7dHllKCk7YXllKCk7cnllKCk7c3llKCk7aXllKCk7b3llKCk7bnllKCk7bHllKCk7Y3llKCk7ZHllKCk7dXllKCk7cHllKCk7ZnllKCk7aHllKCk7bXllKCk7Z3llKCk7YnllKCk7dnllKCk7eHllKCk7eXllKCk7d3llKCk7TXllKCk7a3llKCk7U3llKCk7enllKCk7Q3llKCk7X3llKCk7VHllKCk7THllKCk7JHllKCk7RHllKCk7QXllKCk7RXllKCk7UHllKCk7SXllKCk7TnllKCk7UnllKCk7T3llKCk7RnllKCk7QnllKCk7SHllKCk7cXllKCk7VnllKCk7anllKCk7VXllKCk7V3llKCk7R3llKCk7WXllKCk7S3llKCk7WnllKCk7WHllKCk7UXllKCk7SnllKCk7ZXdlKCk7dHdlKCk7YXdlKCk7cndlKCk7c3dlKCk7aXdlKCk7b3dlKCk7bndlKCk7bHdlKCk7Y3dlKCk7ZHdlKCk7dXdlKCk7cHdlKCk7ZndlKCk7aHdlKCk7bXdlKCk7Z3dlKCk7YndlKCk7dndlKCk7eHdlKCk7eXdlKCk7d3dlKCk7TXdlKCk7a3dlKCk7U3dlKCk7endlKCk7Q3dlKCk7X3dlKCk7VHdlKCk7THdlKCk7JHdlKCk7RHdlKCk7QXdlKCk7RXdlKCk7UHdlKCk7SXdlKCk7TndlKCk7UndlKCk7T3dlKCk7RndlKCk7QndlKCk7SHdlKCk7cXdlKCk7VndlKCk7andlKCk7VXdlKCk7V3dlKCk7R3dlKCk7WXdlKCk7S3dlKCk7WndlKCk7WHdlKCk7UXdlKCk7SndlKCk7ZU1lKCk7dE1lKCk7YU1lKCk7ck1lKCk7c01lKCk7aU1lKCk7b01lKCk7bk1lKCk7bE1lKCk7Y01lKCk7ZE1lKCk7dU1lKCk7cE1lKCk7Zk1lKCk7aE1lKCk7bU1lKCk7Z01lKCk7Yk1lKCk7dk1lKCk7eE1lKCk7eU1lKCk7d01lKCk7TU1lKCk7a01lKCk7U01lKCk7ek1lKCk7Q01lKCk7X01lKCk7VE1lKCk7TE1lKCk7JE1lKCk7RE1lKCk7QU1lKCk7RU1lKCk7UE1lKCk7SU1lKCk7Tk1lKCk7Uk1lKCk7T01lKCk7Rk1lKCk7Qk1lKCk7SE1lKCk7cU1lKCk7Vk1lKCk7ak1lKCk7VU1lKCk7V01lKCk7R01lKCk7WU1lKCk7S01lKCk7Wk1lKCk7WE1lKCk7UU1lKCk7Sk1lKCk7ZWtlKCk7dGtlKCk7YWtlKCk7cmtlKCk7c2tlKCk7aWtlKCk7b2tlKCk7bmtlKCk7bGtlKCk7Y2tlKCk7ZGtlKCk7dWtlKCk7cGtlKCk7ZmtlKCk7aGtlKCk7bWtlKCk7Z2tlKCk7YmtlKCk7dmtlKCk7eGtlKCk7eWtlKCk7d2tlKCk7TWtlKCk7a2tlKCk7U2tlKCk7emtlKCk7Q2tlKCk7X2tlKCk7VGtlKCk7TGtlKCk7JGtlKCk7RGtlKCk7QWtlKCk7RWtlKCk7UGtlKCk7SWtlKCk7TmtlKCk7UmtlKCk7T2tlKCk7RmtlKCk7QmtlKCk7SGtlKCk7cWtlKCk7VmtlKCk7amtlKCk7VWtlKCk7V2tlKCk7R2tlKCk7WWtlKCk7S2tlKCk7WmtlKCk7WGtlKCk7UWtlKCk7SmtlKCk7ZVNlKCk7dFNlKCk7YVNlKCk7clNlKCk7c1NlKCk7aVNlKCk7b1NlKCk7blNlKCk7bFNlKCk7Y1NlKCk7ZFNlKCk7dVNlKCk7cFNlKCk7ZlNlKCk7aFNlKCk7bVNlKCk7Z1NlKCk7YlNlKCk7dlNlKCk7eFNlKCk7eVNlKCk7d1NlKCk7TVNlKCk7a1NlKCk7U1NlKCk7elNlKCk7Q1NlKCk7X1NlKCk7VFNlKCk7TFNlKCk7JFNlKCk7RFNlKCk7QVNlKCk7RVNlKCk7UFNlKCk7SVNlKCk7TlNlKCk7UlNlKCk7T1NlKCk7RlNlKCk7QlNlKCk7SFNlKCk7cVNlKCk7VlNlKCk7alNlKCk7VVNlKCk7V1NlKCk7R1NlKCk7WVNlKCk7S1NlKCk7WlNlKCk7WFNlKCk7UVNlKCk7SlNlKCk7ZXplKCk7dHplKCk7YXplKCk7cnplKCk7c3plKCk7aXplKCk7b3plKCk7bnplKCk7bHplKCk7Y3plKCk7ZHplKCk7dXplKCk7cHplKCk7ZnplKCk7aHplKCk7bXplKCk7Z3plKCk7YnplKCk7dnplKCk7eHplKCk7eXplKCk7d3plKCk7TXplKCk7a3plKCk7U3plKCk7enplKCk7Q3plKCk7X3plKCk7VHplKCk7THplKCk7JHplKCk7RHplKCk7QXplKCk7RXplKCk7UHplKCk7SXplKCk7TnplKCk7UnplKCk7T3plKCk7RnplKCk7QnplKCk7SHplKCk7cXplKCk7VnplKCk7anplKCk7VXplKCk7V3plKCk7R3plKCk7WXplKCk7S3plKCk7WnplKCk7WHplKCk7UXplKCk7SnplKCk7ZUNlKCk7dENlKCk7YUNlKCk7ckNlKCk7c0NlKCk7aUNlKCk7b0NlKCk7bkNlKCk7bENlKCk7Y0NlKCk7ZENlKCk7dUNlKCk7cENlKCk7ZkNlKCk7aENlKCk7bUNlKCk7Z0NlKCk7YkNlKCk7dkNlKCk7eENlKCk7eUNlKCk7d0NlKCk7TUNlKCk7a0NlKCk7U0NlKCk7ekNlKCk7Q0NlKCk7X0NlKCk7VENlKCk7TENlKCk7JENlKCk7RENlKCk7QUNlKCk7RUNlKCk7UENlKCk7SUNlKCk7TkNlKCk7UkNlKCk7T0NlKCk7RkNlKCk7QkNlKCk7SENlKCk7cUNlKCk7VkNlKCk7akNlKCk7VUNlKCk7V0NlKCk7R0NlKCk7WUNlKCk7S0NlKCk7WkNlKCk7WENlKCk7UUNlKCk7SkNlKCk7ZV9lKCk7dF9lKCk7YV9lKCk7cl9lKCk7c19lKCk7aV9lKCk7b19lKCk7bl9lKCk7bF9lKCk7Y19lKCk7ZF9lKCk7dV9lKCk7cF9lKCk7Zl9lKCk7aF9lKCk7bV9lKCk7Z19lKCk7Yl9lKCk7dl9lKCk7eF9lKCk7eV9lKCk7d19lKCk7TV9lKCk7a19lKCk7U19lKCk7el9lKCk7Q19lKCk7X19lKCk7VF9lKCk7TF9lKCk7JF9lKCk7RF9lKCk7QV9lKCk7RV9lKCk7UF9lKCk7SV9lKCk7Tl9lKCk7Ul9lKCk7T19lKCk7Rl9lKCk7Ql9lKCk7SF9lKCk7cV9lKCk7Vl9lKCk7al9lKCk7VV9lKCk7V19lKCk7R19lKCk7WV9lKCk7S19lKCk7Wl9lKCk7WF9lKCk7UV9lKCk7Sl9lKCk7ZVRlKCk7dFRlKCk7YVRlKCk7clRlKCk7c1RlKCk7aVRlKCk7b1RlKCk7blRlKCk7bFRlKCk7Y1RlKCk7ZFRlKCk7dVRlKCk7cFRlKCk7ZlRlKCk7aFRlKCk7bVRlKCk7Z1RlKCk7YlRlKCk7dlRlKCk7eFRlKCk7eVRlKCk7d1RlKCk7TVRlKCk7a1RlKCk7U1RlKCk7elRlKCk7Q1RlKCk7X1RlKCk7VFRlKCk7TFRlKCk7JFRlKCk7RFRlKCk7QVRlKCk7RVRlKCk7UFRlKCk7SVRlKCk7TlRlKCk7UlRlKCk7T1RlKCk7RlRlKCk7QlRlKCk7SFRlKCk7cVRlKCk7VlRlKCk7alRlKCk7VVRlKCk7V1RlKCk7R1RlKCk7WVRlKCk7S1RlKCk7WlRlKCk7WFRlKCk7UVRlKCk7SlRlKCk7ZUxlKCk7dExlKCk7YUxlKCk7ckxlKCk7c0xlKCk7aUxlKCk7b0xlKCk7bkxlKCk7bExlKCk7Y0xlKCk7ZExlKCk7dUxlKCk7cExlKCk7ZkxlKCk7aExlKCk7bUxlKCk7Z0xlKCk7YkxlKCk7dkxlKCk7eExlKCk7eUxlKCk7d0xlKCk7TUxlKCk7a0xlKCk7U0xlKCk7ekxlKCk7Q0xlKCk7X0xlKCk7VExlKCk7TExlKCk7JExlKCk7RExlKCk7QUxlKCk7RUxlKCk7UExlKCk7SUxlKCk7TkxlKCk7UkxlKCk7T0xlKCk7RkxlKCk7QkxlKCk7SExlKCk7cUxlKCk7VkxlKCk7akxlKCk7VUxlKCk7V0xlKCk7R0xlKCk7WUxlKCk7S0xlKCk7WkxlKCk7WExlKCk7UUxlKCk7SkxlKCk7ZSRlKCk7dCRlKCk7YSRlKCk7ciRlKCk7cyRlKCk7aSRlKCk7byRlKCk7biRlKCk7bCRlKCk7YyRlKCk7ZCRlKCk7dSRlKCk7cCRlKCk7ZiRlKCk7aCRlKCk7bSRlKCk7ZyRlKCk7YiRlKCk7diRlKCk7eCRlKCk7eSRlKCk7dyRlKCk7TSRlKCk7ayRlKCk7UyRlKCk7eiRlKCk7QyRlKCk7XyRlKCk7VCRlKCk7TCRlKCk7JCRlKCk7RCRlKCk7QSRlKCk7RSRlKCk7UCRlKCk7SSRlKCk7TiRlKCk7UiRlKCk7TyRlKCk7RiRlKCk7QiRlKCk7SCRlKCk7cSRlKCk7ViRlKCk7aiRlKCk7VSRlKCk7VyRlKCk7RyRlKCk7WSRlKCk7SyRlKCk7WiRlKCk7WCRlKCk7USRlKCk7SiRlKCk7ZURlKCk7dERlKCk7YURlKCk7ckRlKCk7c0RlKCk7aURlKCk7b0RlKCk7bkRlKCk7bERlKCk7Y0RlKCk7ZERlKCk7dURlKCk7cERlKCk7ZkRlKCk7aERlKCk7bURlKCk7Z0RlKCk7YkRlKCk7dkRlKCk7eERlKCk7eURlKCk7d0RlKCk7TURlKCk7a0RlKCk7U0RlKCk7ekRlKCk7Q0RlKCk7X0RlKCk7VERlKCk7TERlKCk7JERlKCk7RERlKCk7QURlKCk7RURlKCk7UERlKCk7SURlKCk7TkRlKCk7UkRlKCk7T0RlKCk7RkRlKCk7QkRlKCk7SERlKCk7cURlKCk7VkRlKCk7akRlKCk7VURlKCk7V0RlKCk7R0RlKCk7WURlKCk7S0RlKCk7WkRlKCk7WERlKCk7UURlKCk7SkRlKCk7ZUFlKCk7dEFlKCk7YUFlKCk7ckFlKCk7c0FlKCk7aUFlKCk7b0FlKCk7bkFlKCk7bEFlKCk7Y0FlKCk7ZEFlKCk7dUFlKCk7cEFlKCk7ZkFlKCk7aEFlKCk7bUFlKCk7Z0FlKCk7YkFlKCk7dkFlKCk7eEFlKCk7eUFlKCk7d0FlKCk7TUFlKCk7a0FlKCk7U0FlKCk7ekFlKCk7Q0FlKCk7X0FlKCk7VEFlKCk7TEFlKCk7JEFlKCk7REFlKCk7QUFlKCk7RUFlKCk7UEFlKCk7SUFlKCk7TkFlKCk7UkFlKCk7T0FlKCk7RkFlKCk7QkFlKCk7SEFlKCk7cUFlKCk7VkFlKCk7akFlKCk7VUFlKCk7V0FlKCk7R0FlKCk7WUFlKCk7S0FlKCk7WkFlKCk7WEFlKCk7UUFlKCk7SkFlKCk7ZUVlKCk7dEVlKCk7YUVlKCk7ckVlKCk7c0VlKCk7aUVlKCk7b0VlKCk7bkVlKCk7bEVlKCk7Y0VlKCk7ZEVlKCk7dUVlKCk7cEVlKCk7ZkVlKCk7aEVlKCk7bUVlKCk7Z0VlKCk7YkVlKCk7dkVlKCk7eEVlKCk7eUVlKCk7d0VlKCk7TUVlKCk7a0VlKCk7U0VlKCk7ekVlKCk7Q0VlKCk7X0VlKCk7VEVlKCk7TEVlKCk7JEVlKCk7REVlKCk7QUVlKCk7RUVlKCk7UEVlKCk7SUVlKCk7TkVlKCk7UkVlKCk7T0VlKCk7RkVlKCk7QkVlKCk7SEVlKCk7cUVlKCk7VkVlKCk7akVlKCk7VUVlKCk7V0VlKCk7R0VlKCk7WUVlKCk7S0VlKCk7WkVlKCk7WEVlKCk7UUVlKCk7SkVlKCk7ZVBlKCk7dFBlKCk7YVBlKCk7clBlKCk7c1BlKCk7aVBlKCk7b1BlKCk7blBlKCk7bFBlKCk7Y1BlKCk7ZFBlKCk7dVBlKCk7cFBlKCk7ZlBlKCk7aFBlKCk7bVBlKCk7Z1BlKCk7YlBlKCk7dlBlKCk7eFBlKCk7eVBlKCk7d1BlKCk7TVBlKCk7a1BlKCk7U1BlKCk7elBlKCk7Q1BlKCk7X1BlKCk7VFBlKCk7TFBlKCk7JFBlKCk7RFBlKCk7QVBlKCk7RVBlKCk7UFBlKCk7SVBlKCk7TlBlKCk7UlBlKCk7T1BlKCk7RlBlKCk7QlBlKCk7SFBlKCk7cVBlKCk7VlBlKCk7alBlKCk7VVBlKCk7V1BlKCk7R1BlKCk7WVBlKCk7S1BlKCk7WlBlKCk7WFBlKCk7UVBlKCk7SlBlKCk7ZUllKCk7dEllKCk7YUllKCk7ckllKCk7c0llKCk7aUllKCk7b0llKCk7bkllKCk7bEllKCk7Y0llKCk7ZEllKCk7dUllKCk7cEllKCk7ZkllKCk7aEllKCk7bUllKCk7Z0llKCk7YkllKCk7dkllKCk7eEllKCk7eUllKCk7d0llKCk7TUllKCk7a0llKCk7U0llKCk7ekllKCk7Q0llKCk7X0llKCk7VEllKCk7TEllKCk7JEllKCk7REllKCk7QUllKCk7RUllKCk7UEllKCk7SUllKCk7TkllKCk7UkllKCk7T0llKCk7RkllKCk7QkllKCk7SEllKCk7cUllKCk7VkllKCk7akllKCk7VUllKCk7V0llKCk7R0llKCk7WUllKCk7S0llKCk7WkllKCk7WEllKCk7UUllKCk7SkllKCk7ZU5lKCk7dE5lKCk7YU5lKCk7ck5lKCk7c05lKCk7aU5lKCk7b05lKCk7bk5lKCk7bE5lKCk7Y05lKCk7ZE5lKCk7dU5lKCk7cE5lKCk7Zk5lKCk7aE5lKCk7bU5lKCk7Z05lKCk7Yk5lKCk7dk5lKCk7eE5lKCk7eU5lKCk7d05lKCk7TU5lKCk7a05lKCk7U05lKCk7ek5lKCk7Q05lKCk7X05lKCk7VE5lKCk7TE5lKCk7JE5lKCk7RE5lKCk7QU5lKCk7RU5lKCk7UE5lKCk7SU5lKCk7Tk5lKCk7Uk5lKCk7T05lKCk7Rk5lKCk7Qk5lKCk7SE5lKCk7cU5lKCk7Vk5lKCk7ak5lKCk7VU5lKCk7V05lKCk7R05lKCk7WU5lKCk7S05lKCk7Wk5lKCk7WE5lKCk7UU5lKCk7Sk5lKCk7ZVJlKCk7dFJlKCk7YVJlKCk7clJlKCk7c1JlKCk7aVJlKCk7b1JlKCk7blJlKCk7bFJlKCk7Y1JlKCk7ZFJlKCk7dVJlKCk7cFJlKCk7ZlJlKCk7aFJlKCk7bVJlKCk7Z1JlKCk7YlJlKCk7dlJlKCk7eFJlKCk7eVJlKCk7d1JlKCk7TVJlKCk7a1JlKCk7U1JlKCk7elJlKCk7Q1JlKCk7X1JlKCk7VFJlKCk7TFJlKCk7JFJlKCk7RFJlKCk7QVJlKCk7RVJlKCk7UFJlKCk7SVJlKCk7TlJlKCk7UlJlKCk7T1JlKCk7RlJlKCk7QlJlKCk7SFJlKCk7cVJlKCk7VlJlKCk7alJlKCk7VVJlKCk7V1JlKCk7R1JlKCk7WVJlKCk7S1JlKCk7WlJlKCk7WFJlKCk7UVJlKCk7SlJlKCk7ZU9lKCk7dE9lKCk7YU9lKCk7ck9lKCk7c09lKCk7aU9lKCk7b09lKCk7bk9lKCk7bE9lKCk7Y09lKCk7ZE9lKCk7dU9lKCk7cE9lKCk7Zk9lKCk7aE9lKCk7bU9lKCk7Z09lKCk7Yk9lKCk7dk9lKCk7eE9lKCk7eU9lKCk7d09lKCk7TU9lKCk7a09lKCk7U09lKCk7ek9lKCk7Q09lKCk7X09lKCk7VE9lKCk7TE9lKCk7JE9lKCk7RE9lKCk7QU9lKCk7RU9lKCk7UE9lKCk7SU9lKCk7Tk9lKCk7Uk9lKCk7T09lKCk7Rk9lKCk7Qk9lKCk7SE9lKCk7cU9lKCk7Vk9lKCk7ak9lKCk7VU9lKCk7V09lKCk7R09lKCk7WU9lKCk7S09lKCk7Wk9lKCk7WE9lKCk7UU9lKCk7Sk9lKCk7ZUZlKCk7dEZlKCk7YUZlKCk7ckZlKCk7c0ZlKCk7aUZlKCk7b0ZlKCk7bkZlKCk7bEZlKCk7Y0ZlKCk7ZEZlKCk7dUZlKCk7cEZlKCk7ZkZlKCk7aEZlKCk7bUZlKCk7Z0ZlKCk7YkZlKCk7dkZlKCk7eEZlKCk7eUZlKCk7d0ZlKCk7TUZlKCk7a0ZlKCk7U0ZlKCk7ekZlKCk7Q0ZlKCk7X0ZlKCk7VEZlKCk7TEZlKCk7JEZlKCk7REZlKCk7QUZlKCk7RUZlKCk7UEZlKCk7SUZlKCk7TkZlKCk7UkZlKCk7T0ZlKCk7RkZlKCk7QkZlKCk7SEZlKCk7cUZlKCk7VkZlKCk7akZlKCk7VUZlKCk7V0ZlKCk7R0ZlKCk7WUZlKCk7S0ZlKCk7WkZlKCk7WEZlKCk7UUZlKCk7SkZlKCk7ZUJlKCk7dEJlKCk7YUJlKCk7ckJlKCk7c0JlKCk7aUJlKCk7b0JlKCk7bkJlKCk7bEJlKCk7Y0JlKCk7ZEJlKCk7dUJlKCk7cEJlKCk7ZkJlKCk7aEJlKCk7bUJlKCk7Z0JlKCk7YkJlKCk7dkJlKCk7eEJlKCk7eUJlKCk7d0JlKCk7TUJlKCk7a0JlKCk7U0JlKCk7ekJlKCk7Q0JlKCk7X0JlKCk7VEJlKCk7TEJlKCk7JEJlKCk7REJlKCk7QUJlKCk7RUJlKCk7UEJlKCk7SUJlKCk7TkJlKCk7UkJlKCk7T0JlKCk7RkJlKCk7QkJlKCk7SEJlKCk7cUJlKCk7VkJlKCk7akJlKCk7VUJlKCk7V0JlKCk7R0JlKCk7WUJlKCk7S0JlKCk7WkJlKCk7WEJlKCk7UUJlKCk7SkJlKCk7ZUhlKCk7dEhlKCk7YUhlKCk7ckhlKCk7c0hlKCk7aUhlKCk7b0hlKCk7bkhlKCk7bEhlKCk7Y0hlKCk7ZEhlKCk7dUhlKCk7cEhlKCk7ZkhlKCk7aEhlKCk7bUhlKCk7Z0hlKCk7YkhlKCk7dkhlKCk7eEhlKCk7eUhlKCk7d0hlKCk7TUhlKCk7a0hlKCk7U0hlKCk7ekhlKCk7Q0hlKCk7X0hlKCk7VEhlKCk7TEhlKCk7JEhlKCk7REhlKCk7QUhlKCk7RUhlKCk7UEhlKCk7SUhlKCk7TkhlKCk7UkhlKCk7T0hlKCk7RkhlKCk7QkhlKCk7SEhlKCk7cUhlKCk7VkhlKCk7akhlKCk7VUhlKCk7V0hlKCk7R0hlKCk7WUhlKCk7S0hlKCk7WkhlKCk7WEhlKCk7UUhlKCk7SkhlKCk7ZXFlKCk7dHFlKCk7YXFlKCk7cnFlKCk7c3FlKCk7aXFlKCk7b3FlKCk7bnFlKCk7bHFlKCk7Y3FlKCk7ZHFlKCk7dXFlKCk7cHFlKCk7ZnFlKCk7aHFlKCk7bXFlKCk7Z3FlKCk7YnFlKCk7dnFlKCk7eHFlKCk7eXFlKCk7d3FlKCk7TXFlKCk7a3FlKCk7U3FlKCk7enFlKCk7Q3FlKCk7X3FlKCk7VHFlKCk7THFlKCk7JHFlKCk7RHFlKCk7QXFlKCk7RXFlKCk7UHFlKCk7SXFlKCk7TnFlKCk7UnFlKCk7T3FlKCk7RnFlKCk7QnFlKCk7SHFlKCk7cXFlKCk7VnFlKCk7anFlKCk7VXFlKCk7V3FlKCk7R3FlKCk7WXFlKCk7S3FlKCk7WnFlKCk7WHFlKCk7UXFlKCk7SnFlKCk7ZVZlKCk7dFZlKCk7YVZlKCk7clZlKCk7c1ZlKCk7aVZlKCk7b1ZlKCk7blZlKCk7bFZlKCk7Y1ZlKCk7ZFZlKCk7dVZlKCk7cFZlKCk7ZlZlKCk7aFZlKCk7bVZlKCk7Z1ZlKCk7YlZlKCk7dlZlKCk7eFZlKCk7eVZlKCk7d1ZlKCk7TVZlKCk7a1ZlKCk7U1ZlKCk7elZlKCk7Q1ZlKCk7X1ZlKCk7VFZlKCk7TFZlKCk7JFZlKCk7RFZlKCk7QVZlKCk7RVZlKCk7UFZlKCk7SVZlKCk7TlZlKCk7UlZlKCk7T1ZlKCk7RlZlKCk7QlZlKCk7SFZlKCk7cVZlKCk7VlZlKCk7alZlKCk7VVZlKCk7V1ZlKCk7R1ZlKCk7WVZlKCk7S1ZlKCk7WlZlKCk7WFZlKCk7UVZlKCk7SlZlKCk7ZWplKCk7dGplKCk7YWplKCk7cmplKCk7c2plKCk7aWplKCk7b2plKCk7bmplKCk7bGplKCk7Y2plKCk7ZGplKCk7dWplKCk7cGplKCk7ZmplKCk7aGplKCk7bWplKCk7Z2plKCk7YmplKCk7dmplKCk7eGplKCk7eWplKCk7d2plKCk7TWplKCk7a2plKCk7U2plKCk7emplKCk7Q2plKCk7X2plKCk7VGplKCk7TGplKCk7JGplKCk7RGplKCk7QWplKCk7RWplKCk7UGplKCk7SWplKCk7TmplKCk7UmplKCk7T2plKCk7RmplKCk7QmplKCk7SGplKCk7cWplKCk7VmplKCk7amplKCk7VWplKCk7V2plKCk7R2plKCk7WWplKCk7S2plKCk7WmplKCk7WGplKCk7UWplKCk7SmplKCk7ZVVlKCk7dFVlKCk7YVVlKCk7clVlKCk7c1VlKCk7aVVlKCk7b1VlKCk7blVlKCk7bFVlKCk7Y1VlKCk7ZFVlKCk7dVVlKCk7cFVlKCk7ZlVlKCk7aFVlKCk7bVVlKCk7Z1VlKCk7YlVlKCk7dlVlKCk7eFVlKCk7eVVlKCk7d1VlKCk7TVVlKCk7a1VlKCk7U1VlKCk7elVlKCk7Q1VlKCk7X1VlKCk7VFVlKCk7TFVlKCk7JFVlKCk7RFVlKCk7QVVlKCk7RVVlKCk7UFVlKCk7SVVlKCk7TlVlKCk7UlVlKCk7T1VlKCk7RlVlKCk7QlVlKCk7SFVlKCk7cVVlKCk7VlVlKCk7alVlKCk7VVVlKCk7V1VlKCk7R1VlKCk7WVVlKCk7S1VlKCk7WlVlKCk7WFVlKCk7UVVlKCk7SlVlKCk7ZVdlKCk7dFdlKCk7YVdlKCk7cldlKCk7c1dlKCk7aVdlKCk7b1dlKCk7bldlKCk7bFdlKCk7Y1dlKCk7ZFdlKCk7dVdlKCk7cFdlKCk7ZldlKCk7aFdlKCk7bVdlKCk7Z1dlKCk7YldlKCk7dldlKCk7eFdlKCk7eVdlKCk7d1dlKCk7TVdlKCk7a1dlKCk7U1dlKCk7eldlKCk7Q1dlKCk7X1dlKCk7VFdlKCk7TFdlKCk7JFdlKCk7RFdlKCk7QVdlKCk7RVdlKCk7UFdlKCk7SVdlKCk7TldlKCk7UldlKCk7T1dlKCk7RldlKCk7QldlKCk7SFdlKCk7cVdlKCk7VldlKCk7aldlKCk7VVdlKCk7V1dlKCk7R1dlKCk7WVdlKCk7S1dlKCk7WldlKCk7WFdlKCk7UVdlKCk7SldlKCk7ZUdlKCk7dEdlKCk7YUdlKCk7ckdlKCk7c0dlKCk7aUdlKCk7b0dlKCk7bkdlKCk7bEdlKCk7Y0dlKCk7ZEdlKCk7dUdlKCk7cEdlKCk7ZkdlKCk7aEdlKCk7bUdlKCk7Z0dlKCk7YkdlKCk7dkdlKCk7eEdlKCk7eUdlKCk7d0dlKCk7TUdlKCk7a0dlKCk7U0dlKCk7ekdlKCk7Q0dlKCk7X0dlKCk7VEdlKCk7TEdlKCk7JEdlKCk7REdlKCk7QUdlKCk7RUdlKCk7UEdlKCk7SUdlKCk7TkdlKCk7UkdlKCk7T0dlKCk7RkdlKCk7QkdlKCk7SEdlKCk7cUdlKCk7VkdlKCk7akdlKCk7VUdlKCk7V0dlKCk7R0dlKCk7WUdlKCk7S0dlKCk7WkdlKCk7WEdlKCk7UUdlKCk7SkdlKCk7ZVllKCk7dFllKCk7YVllKCk7clllKCk7c1llKCk7aVllKCk7b1llKCk7blllKCk7bFllKCk7Y1llKCk7ZFllKCk7dVllKCk7cFllKCk7ZlllKCk7aFllKCk7bVllKCk7Z1llKCk7YlllKCk7dlllKCk7eFllPXMoKHtpY29uczphPXt9LG5hbWVBdHRyOmU9ImRhdGEtbHVjaWRlIixhdHRyczp0PXt9LHJvb3Q6cj1kb2N1bWVudCxpblRlbXBsYXRlczppfT17fSk9PntpZighT2JqZWN0LnZhbHVlcyhhKS5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKGBQbGVhc2UgcHJvdmlkZSBhbiBpY29ucyBvYmplY3QuCklmIHlvdSB3YW50IHRvIHVzZSBhbGwgdGhlIGljb25zIHlvdSBjYW4gaW1wb3J0IGl0IGxpa2U6CiBcYGltcG9ydCB7IGNyZWF0ZUljb25zLCBpY29ucyB9IGZyb20gJ2x1Y2lkZSc7Cmx1Y2lkZS5jcmVhdGVJY29ucyh7aWNvbnN9KTtcYGApO2lmKHR5cGVvZiByPiJ1Iil0aHJvdyBuZXcgRXJyb3IoImBjcmVhdGVJY29ucygpYCBvbmx5IHdvcmtzIGluIGEgYnJvd3NlciBlbnZpcm9ubWVudC4iKTtpZihBcnJheS5mcm9tKHIucXVlcnlTZWxlY3RvckFsbChgWyR7ZX1dYCkpLmZvckVhY2gobj0+anRlKG4se25hbWVBdHRyOmUsaWNvbnM6YSxhdHRyczp0fSkpLGkmJkFycmF5LmZyb20oci5xdWVyeVNlbGVjdG9yQWxsKCJ0ZW1wbGF0ZSIpKS5mb3JFYWNoKGw9PnhZZSh7aWNvbnM6YSxuYW1lQXR0cjplLGF0dHJzOnQscm9vdDpsLmNvbnRlbnQsaW5UZW1wbGF0ZXM6aX0pKSxlPT09ImRhdGEtbHVjaWRlIil7bGV0IG49ci5xdWVyeVNlbGVjdG9yQWxsKCJbaWNvbi1uYW1lXSIpO24ubGVuZ3RoPjAmJihjb25zb2xlLndhcm4oIltMdWNpZGVdIFNvbWUgaWNvbnMgd2VyZSBmb3VuZCB3aXRoIHRoZSBub3cgZGVwcmVjYXRlZCBpY29uLW5hbWUgYXR0cmlidXRlLiBUaGVzZSB3aWxsIHN0aWxsIGJlIHJlcGxhY2VkIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgYnV0IHdpbGwgbm8gbG9uZ2VyIGJlIHN1cHBvcnRlZCBpbiB2MS4wIGFuZCB5b3Ugc2hvdWxkIHN3aXRjaCB0byBkYXRhLWx1Y2lkZSIpLEFycmF5LmZyb20obikuZm9yRWFjaChsPT5qdGUobCx7bmFtZUF0dHI6Imljb24tbmFtZSIsaWNvbnM6YSxhdHRyczp0fSkpKX19LCJjcmVhdGVJY29ucyIpfSk7dmFyIGtyYSxTcmE9ZigoKT0+e2xlKCk7dmEoKTtVdGUoKTtrcmE9cygoKT0+e2xldCBhPU9iamVjdC5rZXlzKFd0ZS5mYSk7Y29uc29sZS5sb2coIkZpcnN0IGZldyBMdWNpZGUga2V5czoiLE9iamVjdC5rZXlzKEgyKS5zbGljZSgwLDUpKTtsZXQgZT1PYmplY3Qua2V5cyhIMikuZmlsdGVyKG89PntsZXQgbj1vWzBdPT09b1swXS50b1VwcGVyQ2FzZSgpJiZvWzBdIT09b1swXS50b0xvd2VyQ2FzZSgpLGw9dHlwZW9mIEgyW29dPT0iZnVuY3Rpb24iLGQ9IVsiY3JlYXRlRWxlbWVudCIsImNyZWF0ZUljb25zIiwiZGVmYXVsdCJdLmluY2x1ZGVzKG8pO3JldHVybiBsJiZuJiZkfSkubWFwKG89Pm8uY2hhckF0KDApLnRvTG93ZXJDYXNlKCkrby5zbGljZSgxKSk7aWYoY29uc29sZS5sb2coYEZvdW5kICR7ZS5sZW5ndGh9IEx1Y2lkZSBpY29uc2ApLGUubGVuZ3RoPT09MCYmKGNvbnNvbGUubG9nKCJUcnlpbmcgYWx0ZXJuYXRpdmUgYXBwcm9hY2ggdG8gZmluZCBMdWNpZGUgaWNvbnMiKSxTZikpe2xldCBvPVNmfHx7fTtlLnB1c2goLi4uT2JqZWN0LmtleXMobykpLGNvbnNvbGUubG9nKGBGb3VuZCAke2UubGVuZ3RofSBpY29ucyB2aWEgYWx0ZXJuYXRpdmUgbWV0aG9kYCl9bGV0IHQ9cygoKT0+e2xldCBvPWEubWFwKGM9PmBmYToke2N9YCksbj1lLm1hcChjPT5gbHVjaWRlOiR7Y31gKSxsPVsuLi5vLC4uLm5dLGQ9bC5qb2luKGAKYCk7bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoZCkudGhlbigoKT0+e2xldCBwPXdpbmRvdy5ldmVudC5jdXJyZW50VGFyZ2V0LHU9cC50ZXh0Q29udGVudDtwLnRleHRDb250ZW50PWBcdTI3MTMgQ29waWVkICR7bC5sZW5ndGh9IGljb24gbmFtZXMhYCxzZXRUaW1lb3V0KCgpPT57cC50ZXh0Q29udGVudD11fSwyZTMpfSl9LCJjb3B5QWxsSWNvbk5hbWVzIikscj1zKG89PntsZXQgbj1vLnRhcmdldC52YWx1ZS50b0xvd2VyQ2FzZSgpLnRyaW0oKSxsPW8udGFyZ2V0LmNsb3Nlc3QoIi5kZW1vQ29udGFpbmVyIik7bC5xdWVyeVNlbGVjdG9yQWxsKCIuaWNvbkNvbnRhaW5lciIpLmZvckVhY2goYz0+e2xldCBwPWMuZ2V0QXR0cmlidXRlKCJkYXRhLW5hbWUiKTtuPT09IiJ8fHAmJnAuaW5jbHVkZXMobik/Yy5jbGFzc0xpc3QucmVtb3ZlKCJoaWRkZW4iKTpjLmNsYXNzTGlzdC5hZGQoImhpZGRlbiIpfSksbC5xdWVyeVNlbGVjdG9yQWxsKCIuc2VjdGlvbi1jb250YWluZXIiKS5mb3JFYWNoKGM9PntsZXQgcD1jLnF1ZXJ5U2VsZWN0b3JBbGwoIi5pY29uQ29udGFpbmVyOm5vdCguaGlkZGVuKSIpLmxlbmd0aCx1PWMucXVlcnlTZWxlY3RvcigiLmljb24tY291bnQiKTtpZih1KXtsZXQgbT1jLmNsYXNzTGlzdC5jb250YWlucygiZmEtc2VjdGlvbiIpP2EubGVuZ3RoOmUubGVuZ3RoO3UudGV4dENvbnRlbnQ9cD09PW0/YCR7bX0gaWNvbnNgOmAke3B9IG9mICR7bX0gaWNvbnNgfX0pfSwic2VhcmNoSWNvbnMiKSxpPXMoKG8sbik9PntsZXQgbD1gJHtufToke299YDtuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChsKS50aGVuKCgpPT57bGV0IHA9d2luZG93LmV2ZW50LmN1cnJlbnRUYXJnZXQucXVlcnlTZWxlY3RvcigiLmNvcHktdG9vbHRpcCIpO3AmJihwLnRleHRDb250ZW50PSJDb3BpZWQhIixzZXRUaW1lb3V0KCgpPT57cC50ZXh0Q29udGVudD0iQ2xpY2sgdG8gY29weSJ9LDJlMykpfSl9LCJjb3B5SWNvbk5hbWUiKTtyZXR1cm4gd2AKICA8c3R5bGU+CiAgICAuZGVtb0NvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIGJhY2tncm91bmQ6ICMxMTExMTE7CiAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIGZvbnQtc2l6ZTogMzBweDsKICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgIlNlZ29lIFVJIiwgUm9ib3RvLCBPeHlnZW4tU2FucywgVWJ1bnR1LCBDYW50YXJlbGwsICJIZWx2ZXRpY2EgTmV1ZSIsIHNhbnMtc2VyaWY7CiAgICB9CiAgICAKICAgIC5zZWFyY2gtY29udGFpbmVyIHsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGdhcDogMTBweDsKICAgIH0KICAgIAogICAgI2ljb25TZWFyY2ggewogICAgICBmbGV4OiAxOwogICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIGJhY2tncm91bmQ6ICMyMjI7CiAgICAgIGNvbG9yOiAjZmZmOwogICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzOwogICAgfQogICAgCiAgICAjaWNvblNlYXJjaDpmb2N1cyB7CiAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIGJvcmRlci1jb2xvcjogI2U0MDAyYjsKICAgIH0KICAgIAogICAgLmNvcHktYWxsLWJ1dHRvbiB7CiAgICAgIHBhZGRpbmc6IDEycHggMjBweDsKICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICBib3JkZXI6IG5vbmU7CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgYmFja2dyb3VuZDogI2U0MDAyYjsKICAgICAgY29sb3I6ICNmZmY7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICB9CiAgICAKICAgIC5jb3B5LWFsbC1idXR0b246aG92ZXIgewogICAgICBiYWNrZ3JvdW5kOiAjYzQwMDFiOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7CiAgICB9CiAgICAKICAgIC5jb3B5LWFsbC1idXR0b246YWN0aXZlIHsKICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgfQogICAgCiAgICBkZWVzLWljb24gewogICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICBjb2xvcjogI2ZmZmZmZjsKICAgIH0KCiAgICAuaWNvbkNvbnRhaW5lciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIHBhZGRpbmc6IDIwcHggMTZweCAwcHggMTZweDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMzMzMzMzsKICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4OwogICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yczsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CiAgICAKICAgIC5pY29uQ29udGFpbmVyOmhvdmVyIHsKICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjsKICAgIH0KCiAgICAuaWNvbk5hbWUgewogICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgY29sb3I6ICNjY2M7CiAgICAgIGJhY2tncm91bmQ6ICMzMzMzMzM7CiAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICBtYXJnaW4tbGVmdDogLTE2cHg7CiAgICAgIG1hcmdpbi1yaWdodDogLTE2cHg7CiAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICBtYXgtd2lkdGg6IDEyMHB4OwogICAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDsKICAgIH0KCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICBtYXJnaW46IDIwcHggMDsKICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7CiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzMzMzMzOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICB9CiAgICAKICAgIC5hcGktbm90ZSB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICNlNDAwMmI7CiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNDAwMmI7CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgYmFja2dyb3VuZDogcmdiYSgyMjgsIDAsIDQzLCAwLjEpOwogICAgfQogICAgCiAgICAuaWNvbi1jb3VudCB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICM4ODg7CiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICAgIGJhY2tncm91bmQ6ICMyMjI7CiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OwogICAgICBib3JkZXItcmFkaXVzOiAyMHB4OwogICAgfQogICAgCiAgICAuaWNvbnMtZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgd2lkdGg6IDEwMCU7CiAgICB9CiAgICAKICAgIC5zZWN0aW9uLWNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgfQogICAgCiAgICAuY29weS10b29sdGlwIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBiYWNrZ3JvdW5kOiAjMzMzOwogICAgICBjb2xvcjogd2hpdGU7CiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgdG9wOiAtMzBweDsKICAgICAgb3BhY2l0eTogMDsKICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIH0KICAgIAogICAgLmljb25Db250YWluZXI6aG92ZXIgLmNvcHktdG9vbHRpcCB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICB9CgogICAgLmljb25Db250YWluZXI6aG92ZXIgZGVlcy1pY29uIHsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogICAgfQogICAgCiAgICAuaGlkZGVuIHsKICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogICAgfQogIDwvc3R5bGU+CiAgCiAgPGRpdiBjbGFzcz0iZGVtb0NvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtY29udGFpbmVyIj4KICAgICAgPGlucHV0IHR5cGU9InRleHQiIGlkPSJpY29uU2VhcmNoIiBwbGFjZWhvbGRlcj0iU2VhcmNoIGljb25zLi4uIiBAaW5wdXQ9JHtyfT4KICAgICAgPGJ1dHRvbiBjbGFzcz0iY29weS1hbGwtYnV0dG9uIiBAY2xpY2s9JHt0fT7wn5OLIENvcHkgQWxsIEljb24gTmFtZXM8L2J1dHRvbj4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJhcGktbm90ZSI+CiAgICAgIE5ldyBBUEk6IFVzZSA8Y29kZT5pY29uPSJmYTppY29uTmFtZSI8L2NvZGU+IG9yIDxjb2RlPmljb249Imx1Y2lkZTppY29uTmFtZSI8L2NvZGU+IGluc3RlYWQgb2YgPGNvZGU+aWNvbkZBPC9jb2RlPi4gCiAgICAgIENsaWNrIGFueSBpY29uIHRvIGNvcHkgaXRzIG5ldyBmb3JtYXQgdG8gY2xpcGJvYXJkLgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGFpbmVyIGZhLXNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICBGb250QXdlc29tZSBJY29ucwogICAgICAgIDxzcGFuIGNsYXNzPSJpY29uLWNvdW50Ij4ke2EubGVuZ3RofSBpY29uczwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9Imljb25zLWdyaWQiPgogICAgICAgICR7YS5tYXAobz0+e2xldCBuPWBmYToke299YDtyZXR1cm4gd2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uQ29udGFpbmVyIGZhLWljb24iIGRhdGEtbmFtZT0ke28udG9Mb3dlckNhc2UoKX0gQGNsaWNrPSR7KCk9PmkobywiZmEiKX0+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7bn0gaWNvblNpemU9IjI0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb25OYW1lIj5mYToke299PC9kaXY+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29weS10b29sdGlwIj5DbGljayB0byBjb3B5PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgfSl9CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250YWluZXIgbHVjaWRlLXNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICBMdWNpZGUgSWNvbnMKICAgICAgICA8c3BhbiBjbGFzcz0iaWNvbi1jb3VudCI+JHtlLmxlbmd0aH0gaWNvbnM8L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpY29ucy1ncmlkIj4KICAgICAgICAke2UubWFwKG89PntsZXQgbj1gbHVjaWRlOiR7b31gO3JldHVybiB3YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb25Db250YWluZXIgbHVjaWRlLWljb24iIGRhdGEtbmFtZT0ke28udG9Mb3dlckNhc2UoKX0gQGNsaWNrPSR7KCk9PmkobywibHVjaWRlIil9PgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke259IGljb25TaXplPSIyNCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uTmFtZSI+bHVjaWRlOiR7b308L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb3B5LXRvb2x0aXAiPkNsaWNrIHRvIGNvcHk8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGB9KX0KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KICBgfSwiZGVtb0Z1bmMiKX0pO2Z1bmN0aW9uIGMkYSgpe3JtLnNpemU+enJhJiZBcnJheS5mcm9tKHJtLmtleXMoKSkuc2xpY2UoMCx6cmEvNSkuZm9yRWFjaChlPT5ybS5kZWxldGUoZSkpfXZhciBhbSxDMSxsJGEsV3RlLHJtLHpyYSxDcmEsdmE9ZigoKT0+e2xlKCk7SnQoKTtRZSgpO2VndCgpO2lDdCgpO1NMdCgpO2hyYSgpO1NyYSgpO1V0ZSgpO1V0ZSgpO2FtPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxDMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sbCRhPXthcnJvd1JpZ2h0OlJ0ZSxhcnJvd1VwUmlnaHRGcm9tU3F1YXJlOmZ2LGJlbGw6enRlLGJ1ZzpCdGUsYnVpbGRpbmc6UHRlLGNhcmV0TGVmdDpUdGUsY2FyZXRSaWdodDpTdGUsY2hlY2s6TnRlLGNpcmNsZUluZm86bXYsY2lyY2xlQ2hlY2s6UmIsY2lyY2xlQ2hlY2tTb2xpZDpjdixjaXJjbGVYbWFyazpLOCxjaXJjbGVYbWFya1NvbGlkOmVtLGNsb2NrUm90YXRlTGVmdDpkdixjb3B5OkNlZSxjb3B5U29saWQ6SHRlLGRlc2t0b3A6aHYsZXllOl90ZSxleWVTbGFzaDpxdGUsZmlsZUludm9pY2U6T3RlLGZpbGVJbnZvaWNlRG9sbGVyOkZ0ZSxnZWFyOm52LGdyaXA6dG0sbWFnbmlmeWluZ0dsYXNzOnN2LG1lc3NhZ2U6SWIsbWVzc2FnZVNvbGlkOmF2LG1vbmV5Q2hlY2tEb2xsYXI6cHYsbXVnSG90OlZ0ZSxtaW51czp0dixuZXR3b3JrV2lyZWQ6QXRlLHBhcGVyY2xpcDpJdGUscGFzdGU6UGIscGFzdGVTb2xpZDpldixwZW5Ub1NxdWFyZTppdixwbHVzOnV2LHJlY2VpcHQ6THRlLHJzczpydixzaGFyZTpvdixzdW46emVlLHN1blNvbGlkOkR0ZSx0ZXJtaW5hbDpFdGUsdHJhc2g6Z3YsdHJhc2hTb2xpZDpndix0cmFzaENhbjpOYix0cmFzaENhblNvbGlkOmx2LHVzZXJzOiR0ZSx3YWxsZXQ6Q3RlLHhtYXJrOnM0LGZhY2Vib29rOnBlZSxnb29nbGU6ZGVlLGluc3RhZ3JhbTptZWUsbGlua2VkaW46dWVlLG1lZGl1bTpEYixzbGFjazpmZWUsdGlrdG9rOmhlZSx0d2l0dGVyOmdlZX0sV3RlPXtmYTpsJGF9LHJtPW5ldyBNYXAsenJhPTUwMDtzKGMkYSwibGltaXRDYWNoZVNpemUiKTtDcmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWljb24iKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXTt2YXIgTj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0ljb24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZyxjb252ZXJ0ZXI6e2Zyb21BdHRyaWJ1dGU6cyh6PT56LCJmcm9tQXR0cmlidXRlIiksdG9BdHRyaWJ1dGU6cyh6PT56LCJ0b0F0dHJpYnV0ZSIpfX0pXSxkPVskKHt0eXBlOlN0cmluZyxjb252ZXJ0ZXI6e2Zyb21BdHRyaWJ1dGU6cyh6PT56LCJmcm9tQXR0cmlidXRlIiksdG9BdHRyaWJ1dGU6cyh6PT56LCJ0b0F0dHJpYnV0ZSIpfX0pXSx1PVskKHt0eXBlOk51bWJlcn0pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOk51bWJlcn0pXSxhbSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imljb25GQSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iaWNvbkZBImluIHosImhhcyIpLGdldDpzKHo9PnouaWNvbkZBLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouaWNvbkZBPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSxhbSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imljb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Imljb24iaW4geiwiaGFzIiksZ2V0OnMoej0+ei5pY29uLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouaWNvbj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGMscCksYW0odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpY29uU2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iaWNvblNpemUiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5pY29uU2l6ZSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6Lmljb25TaXplPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbSx2KSxhbSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbG9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJjb2xvciJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmNvbG9yLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouY29sb3I9T30sInNldCIpfSxtZXRhZGF0YTpffSxiLGcpLGFtKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3Ryb2tlV2lkdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InN0cm9rZVdpZHRoImluIHosImhhcyIpLGdldDpzKHo9Pnouc3Ryb2tlV2lkdGgsImdldCIpLHNldDpzKCh6LE8pPT57ei5zdHJva2VXaWR0aD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksYW0obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz1rcmE7c3RhdGljIGRlbW9Hcm91cHM9WyJVdGlsaXR5Il07I2U9QzEodGhpcyxuLHZvaWQgMCk7Z2V0IGljb25GQSgpe3JldHVybiB0aGlzLiNlfXNldCBpY29uRkEoXyl7dGhpcy4jZT1ffSN0PShDMSh0aGlzLGwpLEMxKHRoaXMsYyx2b2lkIDApKTtnZXQgaWNvbigpe3JldHVybiB0aGlzLiN0fXNldCBpY29uKF8pe3RoaXMuI3Q9X30jYT0oQzEodGhpcyxwKSxDMSh0aGlzLG0sdm9pZCAwKSk7Z2V0IGljb25TaXplKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGljb25TaXplKF8pe3RoaXMuI2E9X30jcj0oQzEodGhpcyx2KSxDMSh0aGlzLGIsImN1cnJlbnRDb2xvciIpKTtnZXQgY29sb3IoKXtyZXR1cm4gdGhpcy4jcn1zZXQgY29sb3IoXyl7dGhpcy4jcj1ffSNzPShDMSh0aGlzLGcpLEMxKHRoaXMsaywyKSk7Z2V0IHN0cm9rZVdpZHRoKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHN0cm9rZVdpZHRoKF8pe3RoaXMuI3M9X31sYXN0SWNvbj0oQzEodGhpcyxDKSxudWxsKTtsYXN0SWNvblNpemU9bnVsbDtsYXN0Q29sb3I9bnVsbDtsYXN0U3Ryb2tlV2lkdGg9bnVsbDtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdHIuc2V0dXAoKX1nZXRFZmZlY3RpdmVJY29uKCl7cmV0dXJuIHRoaXMuaWNvbj90aGlzLmljb246dGhpcy5pY29uRkE/dGhpcy5pY29uRkEuc3RhcnRzV2l0aCgibHVjaWRlOiIpP3RoaXMuaWNvbkZBOmBmYToke3RoaXMuaWNvbkZBfWA6bnVsbH1wYXJzZUljb25TdHJpbmcoXyl7bGV0IHo9Xy50b0xvd2VyQ2FzZSgpO3JldHVybiB6LnN0YXJ0c1dpdGgoImZhOiIpP3t0eXBlOiJmYSIsbmFtZTpfLnN1YnN0cmluZygzKX06ei5zdGFydHNXaXRoKCJsdWNpZGU6Iik/e3R5cGU6Imx1Y2lkZSIsbmFtZTpfLnN1YnN0cmluZyg3KX06e3R5cGU6Imx1Y2lkZSIsbmFtZTpffX1yZW5kZXJMdWNpZGVJY29uKF8pe2xldCB6PWBsdWNpZGU6JHtffToke3RoaXMuaWNvblNpemV9OiR7dGhpcy5jb2xvcn06JHt0aGlzLnN0cm9rZVdpZHRofWA7aWYocm0uaGFzKHopKXJldHVybiBybS5nZXQoeil8fCIiO3RyeXtsZXQgTz1fLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK18uc2xpY2UoMSk7aWYoIUgyW09dKXJldHVybiBjb25zb2xlLndhcm4oYEx1Y2lkZSBpY29uICcke099JyBub3QgZm91bmQgaW4gbHVjaWRlSWNvbnMgb2JqZWN0YCksIiI7bGV0IFQ9aTQoSDJbT10se2NvbG9yOnRoaXMuY29sb3Isc2l6ZTp0aGlzLmljb25TaXplLHN0cm9rZVdpZHRoOnRoaXMuc3Ryb2tlV2lkdGh9KTtpZighVClyZXR1cm4gY29uc29sZS53YXJuKGBjcmVhdGVFbGVtZW50IHJldHVybmVkIGVtcHR5IHJlc3VsdCBmb3IgJHtPfWApLCIiO2xldCBFPVQub3V0ZXJIVE1MO3JldHVybiBybS5zZXQoeixFKSxjJGEoKSxFfWNhdGNoKE8pe3JldHVybiBjb25zb2xlLmVycm9yKGBFcnJvciByZW5kZXJpbmcgTHVjaWRlIGljb24gJHtffTpgLE8pLGA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IiR7dGhpcy5pY29uU2l6ZX0iIGhlaWdodD0iJHt0aGlzLmljb25TaXplfSIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9IiR7dGhpcy5jb2xvcn0iIHN0cm9rZS13aWR0aD0iJHt0aGlzLnN0cm9rZVdpZHRofSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgICAgICA8dGV4dCB4PSI1MCUiIHk9IjUwJSIgZm9udC1zaXplPSI2IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIiBkb21pbmFudC1iYXNlbGluZT0ibWlkZGxlIiBmaWxsPSIke3RoaXMuY29sb3J9Ij4ke199PC90ZXh0PgogICAgICA8L3N2Zz5gfX1zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLyogSW1wcm92ZSByZW5kZXJpbmcgcGVyZm9ybWFuY2UgKi8KICAgICAgI2ljb25Db250YWluZXIgc3ZnIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsgLyogSGVscHMgd2l0aCBhbmltYXRpb25zICovCiAgICAgICAgY29udGFpbjogc3RyaWN0OyAvKiBQZXJmb3JtYW5jZSBvcHRpbWl6YXRpb24gKi8KICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgICR7dHIuc3R5bGVzfQogICAgICA8c3R5bGU+CiAgICAgICAgI2ljb25Db250YWluZXIgewogICAgICAgICAgd2lkdGg6ICR7dGhpcy5pY29uU2l6ZX1weDsKICAgICAgICAgIGhlaWdodDogJHt0aGlzLmljb25TaXplfXB4OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBpZD0iaWNvbkNvbnRhaW5lciI+PC9kaXY+CiAgICBgfXVwZGF0ZWQoKXt0aGlzLmljb25TaXplfHwodGhpcy5pY29uU2l6ZT1wYXJzZUludChnbG9iYWxUaGlzLmdldENvbXB1dGVkU3R5bGUodGhpcykuZm9udFNpemUucmVwbGFjZSgvXEQvZywiIikpKTtsZXQgXz10aGlzLmdldEVmZmVjdGl2ZUljb24oKTtpZih0aGlzLmxhc3RJY29uPT09XyYmdGhpcy5sYXN0SWNvblNpemU9PT10aGlzLmljb25TaXplJiZ0aGlzLmxhc3RDb2xvcj09PXRoaXMuY29sb3ImJnRoaXMubGFzdFN0cm9rZVdpZHRoPT09dGhpcy5zdHJva2VXaWR0aClyZXR1cm47dGhpcy5sYXN0SWNvbj1fLHRoaXMubGFzdEljb25TaXplPXRoaXMuaWNvblNpemUsdGhpcy5sYXN0Q29sb3I9dGhpcy5jb2xvcix0aGlzLmxhc3RTdHJva2VXaWR0aD10aGlzLnN0cm9rZVdpZHRoO2xldCB6PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiI2ljb25Db250YWluZXIiKTtpZighKCF6fHwhXykpdHJ5e2xldHt0eXBlOk8sbmFtZTpUfT10aGlzLnBhcnNlSWNvblN0cmluZyhfKTtpZihPPT09Imx1Y2lkZSIpe3ouaW5uZXJIVE1MPSIiO3RyeXtsZXQgRT1ULmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK1Quc2xpY2UoMSk7aWYoSDJbRV0pe2xldCBCPWk0KEgyW0VdLHtjb2xvcjp0aGlzLmNvbG9yLHNpemU6dGhpcy5pY29uU2l6ZSxzdHJva2VXaWR0aDp0aGlzLnN0cm9rZVdpZHRofSk7aWYoQil7ei5hcHBlbmRDaGlsZChCKTtyZXR1cm59fXRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGNyZWF0ZSBlbGVtZW50IGZvciAke0V9YCl9Y2F0Y2goRSl7Y29uc29sZS5lcnJvcigiRXJyb3IgcmVuZGVyaW5nIEx1Y2lkZSBpY29uOiIsRSk7bGV0IEI9dGhpcy5yZW5kZXJMdWNpZGVJY29uKFQpO0ImJih6LmlubmVySFRNTD1CKX19ZWxzZXtsZXQgRT1XdGUuZmFbVF07aWYoRSl7bGV0IEI9U3VlKEUpLmh0bWxbMF07ei5pbm5lckhUTUw9Qn1lbHNlIGNvbnNvbGUud2FybihgRm9udEF3ZXNvbWUgaWNvbiBub3QgZm91bmQ6ICR7VH1gKX19Y2F0Y2goTyl7Y29uc29sZS5lcnJvcihgRXJyb3IgdXBkYXRpbmcgaWNvbiAke199OmAsTyl9fWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmxhc3RJY29uPW51bGwsdGhpcy5sYXN0SWNvblNpemU9bnVsbCx0aGlzLmxhc3RDb2xvcj1udWxsLHRoaXMubGFzdFN0cm9rZVdpZHRoPW51bGx9c3RhdGlje0MxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBfcmEseVllLGVhLFlyPWYoKCk9PntWcygpO3g3dCgpO2xlKCk7SnQoKTt3MSgpO2ppKCk7dmEoKTtRZSgpO19yYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0seVllPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxlYT0oKCk9PntsZXQgYT1baWUoImRlZXMtY29udGV4dG1lbnUiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0NvbnRleHRtZW51Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxfcmEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51SXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+Im1lbnVJdGVtcyJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLm1lbnVJdGVtcywiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLm1lbnVJdGVtcz11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksX3JhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89djd0O3N0YXRpYyBkZW1vR3JvdXBzPVsiT3ZlcmxheSJdO3N0YXRpYyBjb250ZXh0TWVudURlYWN0aXZhdGVkPSExO3N0YXRpYyBhY2N1bXVsYXRlZE1lbnVJdGVtcz1bXTtzdGF0aWMgaW5pdGlhbGl6ZUdsb2JhbExpc3RlbmVyKCl7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY29udGV4dG1lbnUiLGM9PntpZih0aGlzLmNvbnRleHRNZW51RGVhY3RpdmF0ZWQpcmV0dXJuO2MucHJldmVudERlZmF1bHQoKSxkLmFjY3VtdWxhdGVkTWVudUl0ZW1zPVtdO2xldCBwPWMuY29tcG9zZWRQYXRoKCk7Zm9yKGxldCB1IG9mIHApaWYodS5nZXRDb250ZXh0TWVudUl0ZW1zKXtsZXQgbT11LmdldENvbnRleHRNZW51SXRlbXMoKTttJiZtLmxlbmd0aD4wJiYoZC5hY2N1bXVsYXRlZE1lbnVJdGVtcy5sZW5ndGg+MCYmZC5hY2N1bXVsYXRlZE1lbnVJdGVtcy5wdXNoKHtkaXZpZGVyOiEwfSksZC5hY2N1bXVsYXRlZE1lbnVJdGVtcy5wdXNoKC4uLm0pKX1kLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKGMsZC5hY2N1bXVsYXRlZE1lbnVJdGVtcyl9KX1zdGF0aWMgYXN5bmMgb3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoYyxwKXtpZih0aGlzLmNvbnRleHRNZW51RGVhY3RpdmF0ZWQpcmV0dXJuO2MucHJldmVudERlZmF1bHQoKSxjLnN0b3BQcm9wYWdhdGlvbigpO2xldCB1PW5ldyBkO3Uuc3R5bGUucG9zaXRpb249ImZpeGVkIix1LnN0eWxlLnpJbmRleD1TdHJpbmcoTHMub3ZlcmxheS5jb250ZXh0TWVudSksdS5zdHlsZS5vcGFjaXR5PSIwIix1LnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMC45NSkgdHJhbnNsYXRlWSgtMTBweCkiLHUubWVudUl0ZW1zPXAsdS53aW5kb3dMYXllcj1hd2FpdCBqcy5jcmVhdGVBbmRTaG93KCksdS53aW5kb3dMYXllci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXN5bmMgeT0+e3kudGFyZ2V0LmNsb3Nlc3QoImRlZXMtY29udGV4dG1lbnUiKXx8YXdhaXQgdS5kZXN0cm95KCl9KSxkb2N1bWVudC5ib2R5LmFwcGVuZCh1KSxhd2FpdCBCdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDApO2xldCBtPXUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdj13aW5kb3cuaW5uZXJXaWR0aCx4PXdpbmRvdy5pbm5lckhlaWdodCxiPWMuY2xpZW50WSxnPWMuY2xpZW50WDtnK20ud2lkdGg+diYmKGc9di1tLndpZHRoLTEwKSxiK20uaGVpZ2h0PngmJihiPXgtbS5oZWlnaHQtMTApLGc8MTAmJihnPTEwKSxiPDEwJiYoYj0xMCksdS5zdHlsZS50b3A9YCR7Yn1weGAsdS5zdHlsZS5sZWZ0PWAke2d9cHhgLHUuc3R5bGUudHJhbnNmb3JtT3JpZ2luPSJ0b3AgbGVmdCIsYXdhaXQgQnQuc21hcnRkZWxheS5kZWxheUZvcigwKSx1LnN0eWxlLm9wYWNpdHk9IjEiLHUuc3R5bGUudHJhbnNmb3JtPSJzY2FsZSgxKSB0cmFuc2xhdGVZKDApIn0jZT15WWUodGhpcyxuLFtdKTtnZXQgbWVudUl0ZW1zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IG1lbnVJdGVtcyhjKXt0aGlzLiNlPWN9d2luZG93TGF5ZXI9eVllKHRoaXMsbCk7c3VibWVudT1udWxsO3N1Ym1lbnVUaW1lb3V0PW51bGw7cGFyZW50TWVudT1udWxsO2lzRGVzdHJveWluZz0hMTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy50YWJJbmRleD0wfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzLCB0cmFuc2Zvcm0gMC4yczsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICAubWFpbmJveCB7CiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsKICAgICAgICBtYXgtd2lkdGg6IDI4MHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2UwZTBlMCIsIiMyMDIwMjAiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJveC1zaGFkb3c6ICR7aC5iZFRoZW1lKCIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSkiLCIwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zKSIpfTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzMzIiwiI2NjYyIpfTsKICAgICAgfQoKICAgICAgLm1lbnVpdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xczsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5tZW51aXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICB9CiAgICAgIAogICAgICAubWVudWl0ZW0uaGFzLXN1Ym1lbnU6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAn4oC6JzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDhweDsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAubWVudWl0ZW06YWN0aXZlOm5vdCguaGFzLXN1Ym1lbnUpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA4KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMikiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tZW51aXRlbS5kaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tZW51aXRlbSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgIH0KCiAgICAgIC5tZW51aXRlbS10ZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAubWVudWl0ZW0tc2hvcnRjdXQgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5OTkiLCIjNjY2Iil9OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQoKICAgICAgLm1lbnUtZGl2aWRlciB7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlMGUwZTAiLCIjMjAyMDIwIil9OwogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtYWluYm94Ij4KICAgICAgICAke3RoaXMubWVudUl0ZW1zLm1hcChjPT57aWYoImRpdmlkZXIiaW4gYyYmYy5kaXZpZGVyKXJldHVybiB3YDxkaXYgY2xhc3M9Im1lbnUtZGl2aWRlciI+PC9kaXY+YDtsZXQgcD1jLHU9cC5zdWJtZW51JiZwLnN1Ym1lbnUubGVuZ3RoPjA7cmV0dXJuIHdgCiAgICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgICAgY2xhc3M9Im1lbnVpdGVtICR7cC5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSAke3U/Imhhcy1zdWJtZW51IjoiIn0iIAogICAgICAgICAgICAgIEBjbGljaz0keygpPT4hcC5kaXNhYmxlZCYmIXUmJnRoaXMuaGFuZGxlQ2xpY2socCl9CiAgICAgICAgICAgICAgQG1vdXNlZW50ZXI9JHsoKT0+dGhpcy5oYW5kbGVNZW51SXRlbUhvdmVyKHAsdSl9CiAgICAgICAgICAgICAgQG1vdXNlbGVhdmU9JHsoKT0+dGhpcy5oYW5kbGVNZW51SXRlbUxlYXZlKCl9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICAke3AuaWNvbk5hbWU/d2AKICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7cC5pY29uTmFtZX0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1lbnVpdGVtLXRleHQiPiR7cC5uYW1lfTwvc3Bhbj4KICAgICAgICAgICAgICAke3Auc2hvcnRjdXQmJiF1P3dgCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWVudWl0ZW0tc2hvcnRjdXQiPiR7cC5zaG9ydGN1dH08L3NwYW4+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfSl9CiAgICAgICAgJHt0aGlzLm1lbnVJdGVtcy5sZW5ndGg9PT0wP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lbnVpdGVtIiBAY2xpY2s9JHsoKT0+e2QuY29udGV4dE1lbnVEZWFjdGl2YXRlZD0hMCx0aGlzLmRlc3Ryb3koKX19PgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249Imx1Y2lkZTp4Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWVudWl0ZW0tdGV4dCI+QWxsb3cgbmF0aXZlIGNvbnRleHQ8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6d2BgfQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy5mb2N1cygpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5oYW5kbGVLZXlkb3duKX1oYW5kbGVLZXlkb3duPXMoYz0+e2xldCBwPUFycmF5LmZyb20odGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGwoIi5tZW51aXRlbTpub3QoLmRpc2FibGVkKSIpKSx1PXAuZmluZEluZGV4KG09Pm0ubWF0Y2hlcygiOmhvdmVyIikpO3N3aXRjaChjLmtleSl7Y2FzZSJBcnJvd0Rvd24iOmMucHJldmVudERlZmF1bHQoKTtsZXQgbT11KzE8cC5sZW5ndGg/dSsxOjA7cFttXS5kaXNwYXRjaEV2ZW50KG5ldyBNb3VzZUV2ZW50KCJtb3VzZWVudGVyIikpO2JyZWFrO2Nhc2UiQXJyb3dVcCI6Yy5wcmV2ZW50RGVmYXVsdCgpO2xldCB2PXUtMT49MD91LTE6cC5sZW5ndGgtMTtwW3ZdLmRpc3BhdGNoRXZlbnQobmV3IE1vdXNlRXZlbnQoIm1vdXNlZW50ZXIiKSk7YnJlYWs7Y2FzZSJFbnRlciI6Yy5wcmV2ZW50RGVmYXVsdCgpLHU+PTAmJnBbdV0uY2xpY2soKTticmVhaztjYXNlIkVzY2FwZSI6Yy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZGVzdHJveSgpO2JyZWFrfX0sImhhbmRsZUtleWRvd24iKTthc3luYyBoYW5kbGVDbGljayhjKXtjLmFjdGlvbigpLGF3YWl0IHRoaXMuZGVzdHJveUFsbCgpfWFzeW5jIGhhbmRsZU1lbnVJdGVtSG92ZXIoYyxwKXt0aGlzLnN1Ym1lbnVUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuc3VibWVudVRpbWVvdXQpLHRoaXMuc3VibWVudVRpbWVvdXQ9bnVsbCksdGhpcy5zdWJtZW51JiZhd2FpdCB0aGlzLmhpZGVTdWJtZW51KCkscCYmYy5zdWJtZW51JiYodGhpcy5zdWJtZW51VGltZW91dD1zZXRUaW1lb3V0KCgpPT57dGhpcy5zaG93U3VibWVudShjKX0sMjAwKSl9aGFuZGxlTWVudUl0ZW1MZWF2ZSgpe3RoaXMuc3VibWVudVRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLnN1Ym1lbnVUaW1lb3V0KSx0aGlzLnN1Ym1lbnVUaW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLnN1Ym1lbnUmJiF0aGlzLnN1Ym1lbnUubWF0Y2hlcygiOmhvdmVyIikmJnRoaXMuaGlkZVN1Ym1lbnUoKX0sMzAwKX1hc3luYyBzaG93U3VibWVudShjKXtpZighYy5zdWJtZW51fHxjLnN1Ym1lbnUubGVuZ3RoPT09MClyZXR1cm47bGV0IHU9QXJyYXkuZnJvbSh0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvckFsbCgiLm1lbnVpdGVtIikpLmZpbmQoaz0+ay5xdWVyeVNlbGVjdG9yKCIubWVudWl0ZW0tdGV4dCIpPy50ZXh0Q29udGVudD09PWMubmFtZSk7aWYoIXUpcmV0dXJuO3RoaXMuc3VibWVudT1uZXcgZCx0aGlzLnN1Ym1lbnUubWVudUl0ZW1zPWMuc3VibWVudSx0aGlzLnN1Ym1lbnUucGFyZW50TWVudT10aGlzLHRoaXMuc3VibWVudS5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiLHRoaXMuc3VibWVudS5zdHlsZS56SW5kZXg9U3RyaW5nKHBhcnNlSW50KHRoaXMuc3R5bGUuekluZGV4KSsxKSx0aGlzLnN1Ym1lbnUuc3R5bGUub3BhY2l0eT0iMCIsdGhpcy5zdWJtZW51LnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMC45NSkiLGRvY3VtZW50LmJvZHkuYXBwZW5kKHRoaXMuc3VibWVudSksYXdhaXQgQnQuc21hcnRkZWxheS5kZWxheUZvcigwKTtsZXQgbT11LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHY9dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSx4PXRoaXMuc3VibWVudS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxiPXdpbmRvdy5pbm5lcldpZHRoLGc9di5yaWdodC00LHk9bS50b3A7Zyt4LndpZHRoPmItMTAmJihnPXYubGVmdC14LndpZHRoKzQpLHkreC5oZWlnaHQ+d2luZG93LmlubmVySGVpZ2h0LTEwJiYoeT13aW5kb3cuaW5uZXJIZWlnaHQteC5oZWlnaHQtMTApLHRoaXMuc3VibWVudS5zdHlsZS5sZWZ0PWAke2d9cHhgLHRoaXMuc3VibWVudS5zdHlsZS50b3A9YCR7eX1weGAsYXdhaXQgQnQuc21hcnRkZWxheS5kZWxheUZvcigwKSx0aGlzLnN1Ym1lbnUuc3R5bGUub3BhY2l0eT0iMSIsdGhpcy5zdWJtZW51LnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMSkiLHRoaXMuc3VibWVudS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIiwoKT0+e3RoaXMuc3VibWVudVRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5zdWJtZW51VGltZW91dCksdGhpcy5zdWJtZW51VGltZW91dD1udWxsKX0pLHRoaXMuc3VibWVudS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwoKT0+e3RoaXMuaGFuZGxlTWVudUl0ZW1MZWF2ZSgpfSl9YXN5bmMgaGlkZVN1Ym1lbnUoKXt0aGlzLnN1Ym1lbnUmJihhd2FpdCB0aGlzLnN1Ym1lbnUuZGVzdHJveSgpLHRoaXMuc3VibWVudT1udWxsKX1hc3luYyBkZXN0cm95KCl7dGhpcy5pc0Rlc3Ryb3lpbmd8fCh0aGlzLmlzRGVzdHJveWluZz0hMCx0aGlzLnN1Ym1lbnVUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuc3VibWVudVRpbWVvdXQpLHRoaXMuc3VibWVudVRpbWVvdXQ9bnVsbCksdGhpcy5zdWJtZW51JiYoYXdhaXQgdGhpcy5zdWJtZW51LmRlc3Ryb3koKSx0aGlzLnN1Ym1lbnU9bnVsbCksdGhpcy53aW5kb3dMYXllciYmIXRoaXMucGFyZW50TWVudSYmdGhpcy53aW5kb3dMYXllci5kZXN0cm95KCksdGhpcy5zdHlsZS5vcGFjaXR5PSIwIix0aGlzLnN0eWxlLnRyYW5zZm9ybT0ic2NhbGUoMC45NSkgdHJhbnNsYXRlWSgtMTBweCkiLGF3YWl0IEJ0LnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMTAwKSx0aGlzLnBhcmVudEVsZW1lbnQmJnRoaXMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzKSl9YXN5bmMgZGVzdHJveUFsbCgpe2xldCBjPXRoaXM7Zm9yKDtjLnBhcmVudE1lbnU7KWM9Yy5wYXJlbnRNZW51O2F3YWl0IGMuZGVzdHJveSgpfXN0YXRpY3t5WWUocix0KX19O3JldHVybiBkPXJ9KSgpO2VhLmluaXRpYWxpemVHbG9iYWxMaXN0ZW5lcigpfSk7dmFyIFRyYSx3WWUsZCRhLExyYT1mKCgpPT57bGUoKTtUcmE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHdZZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sZCRhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1kZW1vd3JhcHBlciIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzRGVtb1dyYXBwZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHthdHRyaWJ1dGU6ITF9KV0sVHJhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicnVuQWZ0ZXJSZW5kZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+InJ1bkFmdGVyUmVuZGVyImluIHAsImhhcyIpLGdldDpzKHA9PnAucnVuQWZ0ZXJSZW5kZXIsImdldCIpLHNldDpzKChwLHUpPT57cC5ydW5BZnRlclJlbmRlcj11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksVHJhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9I2U9d1llKHRoaXMsbix2b2lkIDApO2dldCBydW5BZnRlclJlbmRlcigpe3JldHVybiB0aGlzLiNlfXNldCBydW5BZnRlclJlbmRlcihjKXt0aGlzLiNlPWN9c3RhdGljIHN0eWxlcz1bUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHNsb3Q+PC9zbG90PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXtpZihhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLGF3YWl0IG5ldyBQcm9taXNlKGM9PnNldFRpbWVvdXQoYyw1MCkpLHRoaXMuY2hpbGRyZW4ubGVuZ3RoPjAmJnRoaXMucnVuQWZ0ZXJSZW5kZXIpdHJ5e2F3YWl0IHRoaXMucnVuQWZ0ZXJSZW5kZXIodGhpcyl9Y2F0Y2goYyl7Y29uc29sZS5lcnJvcigiRXJyb3IgaW4gcnVuQWZ0ZXJSZW5kZXI6IixjKX19Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHdZZSh0aGlzLGwpfXN0YXRpY3t3WWUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIElhPWYoKCk9PntMcmEoKX0pO3ZhciAkcmEsRHJhPWYoKCk9PntsZSgpO0lhKCk7JHJhPXMoKCk9PntsZXQgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkZWVzLWFwcHVpLWFjdGl2aXR5bG9nIik7cmV0dXJuIHNldFRpbWVvdXQoKCk9PnthLmFkZE1hbnkoW3t0eXBlOiJsb2dpbiIsdXNlcjoiSm9obiBEb2UiLG1lc3NhZ2U6ImxvZ2dlZCBpbiBmcm9tIENocm9tZSBvbiBtYWNPUyJ9LHt0eXBlOiJjcmVhdGUiLHVzZXI6IkpvaG4gRG9lIixtZXNzYWdlOidjcmVhdGVkIGEgbmV3IHByb2plY3QgIkZyb250ZW5kIEFwcCInfSx7dHlwZToidXBkYXRlIix1c2VyOiJKYW5lIFNtaXRoIixtZXNzYWdlOiJ1cGRhdGVkIEFQSSBkb2N1bWVudGF0aW9uIn0se3R5cGU6InZpZXciLHVzZXI6IkpvaG4gRG9lIixtZXNzYWdlOiJ2aWV3ZWQgZGFzaGJvYXJkIGFuYWx5dGljcyJ9LHt0eXBlOiJkZWxldGUiLHVzZXI6IkFkbWluIixtZXNzYWdlOiJyZW1vdmVkIGRlcHJlY2F0ZWQgZW5kcG9pbnQifSx7dHlwZToiY3VzdG9tIix1c2VyOiJTeXN0ZW0iLG1lc3NhZ2U6InNjaGVkdWxlZCBiYWNrdXAgY29tcGxldGVkIixpY29uTmFtZToibHVjaWRlOmRhdGFiYXNlIn0se3R5cGU6ImxvZ291dCIsdXNlcjoiQWxpY2UgQnJvd24iLG1lc3NhZ2U6ImxvZ2dlZCBvdXQifSx7dHlwZToiY3JlYXRlIix1c2VyOiJKYW5lIFNtaXRoIixtZXNzYWdlOiJjcmVhdGVkIGludm9pY2UgIzEyMzQifV0pLGEuZW50cmllcyQuc3Vic2NyaWJlKGU9Pntjb25zb2xlLmxvZygiQWN0aXZpdHkgbG9nIHVwZGF0ZWQ6IixlLmxlbmd0aCwiZW50cmllcyIpfSl9LDEwMCksd2AKICAgIDxkZWVzLWRlbW93cmFwcGVyPgogICAgICA8c3R5bGU+CiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBoZWlnaHQ6IDYwMHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMDkwOTBiIil9OwogICAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgICAke2F9CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIEd0ZSx6ZixBcmEsTVllPWYoKCk9PntsZSgpO0p0KCk7WXIoKTt2YSgpO0RyYSgpO1FlKCk7R3RlPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx6Zj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sQXJhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1hcHB1aS1hY3Rpdml0eWxvZyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQXBwdWlBY3Rpdml0eWxvZyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSx1PVtLKCldLEd0ZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVudHJpZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImVudHJpZXMiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5lbnRyaWVzLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuZW50cmllcz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksR3RlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VhcmNoUXVlcnkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InNlYXJjaFF1ZXJ5ImluIGcsImhhcyIpLGdldDpzKGc9Pmcuc2VhcmNoUXVlcnksImdldCIpLHNldDpzKChnLHkpPT57Zy5zZWFyY2hRdWVyeT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGMscCksR3RlKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsdGVyQ3JpdGVyaWEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImZpbHRlckNyaXRlcmlhImluIGcsImhhcyIpLGdldDpzKGc9PmcuZmlsdGVyQ3JpdGVyaWEsImdldCIpLHNldDpzKChnLHkpPT57Zy5maWx0ZXJDcml0ZXJpYT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG0sdiksR3RlKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsdCkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW89JHJhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9emYodGhpcyxuLFtdKTtnZXQgZW50cmllcygpe3JldHVybiB0aGlzLiNlfXNldCBlbnRyaWVzKGIpe3RoaXMuI2U9Yn0jdD0oemYodGhpcyxsKSx6Zih0aGlzLGMsIiIpKTtnZXQgc2VhcmNoUXVlcnkoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VhcmNoUXVlcnkoYil7dGhpcy4jdD1ifSNhPSh6Zih0aGlzLHApLHpmKHRoaXMsbSx7fSkpO2dldCBmaWx0ZXJDcml0ZXJpYSgpe3JldHVybiB0aGlzLiNhfXNldCBmaWx0ZXJDcml0ZXJpYShiKXt0aGlzLiNhPWJ9ZW50cmllcyQ9KHpmKHRoaXMsdiksbmV3IEJ0LnNtYXJ0cngucnhqcy5TdWJqZWN0KTtzdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIC8qIENTUyBWYXJpYWJsZXMgYWxpZ25lZCB3aXRoIHNlY29uZGFyeSBtZW51ICovCiAgICAgICAgLS1hY3Rpdml0eWxvZy1iZzogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICAgIC0tYWN0aXZpdHlsb2ctZmc6ICR7aC5iZFRoZW1lKCIjNTI1MjUyIiwiI2EzYTNhMyIpfTsKICAgICAgICAtLWFjdGl2aXR5bG9nLWZnLW11dGVkOiAke2guYmRUaGVtZSgiIzczNzM3MyIsIiM3MzczNzMiKX07CiAgICAgICAgLS1hY3Rpdml0eWxvZy1mZy1hY3RpdmU6ICR7aC5iZFRoZW1lKCIjMGEwYTBhIiwiI2ZhZmFmYSIpfTsKICAgICAgICAtLWFjdGl2aXR5bG9nLWJvcmRlcjogJHtoLmJkVGhlbWUoIiNlNWU1ZTUiLCIjMWExYTFhIil9OwogICAgICAgIC0tYWN0aXZpdHlsb2ctaG92ZXI6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDQpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSIpfTsKICAgICAgICAtLWFjdGl2aXR5bG9nLWFjY2VudDogJHtoLmJkVGhlbWUoIiM3ODcxNmMiLCIjYjVhOTlhIil9OwoKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmcpOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWN0aXZpdHlsb2ctYmcpOwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWFjdGl2aXR5bG9nLWJvcmRlcik7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgbGVmdDogMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMjgwcHg7CiAgICAgIH0KCiAgICAgIC8qIEhlYWRlciB3aXRoIHN0cmVhbWluZyBpbmRpY2F0b3IgKi8KICAgICAgLnRvcGJhciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMHB4OwogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAwcHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1hY3Rpdml0eWxvZy1iZyk7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWFjdGl2aXR5bG9nLWJvcmRlcik7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudG9wYmFyIC5oZWFkaW5nIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctYWN0aXZlKTsKICAgICAgfQoKICAgICAgLmxpdmUtaW5kaWNhdG9yIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpdml0eWxvZy1mZy1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC5saXZlLWluZGljYXRvciAuZG90IHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMjJjNTVlIiwiIzIyYzU1ZSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYW5pbWF0aW9uOiBwdWxzZSAycyBlYXNlLWluLW91dCBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBwdWxzZSB7CiAgICAgICAgMCUsIDEwMCUgeyBvcGFjaXR5OiAwLjU7IHRyYW5zZm9ybTogc2NhbGUoMC45KTsgfQogICAgICAgIDUwJSB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfQogICAgICB9CgogICAgICAvKiBBY3Rpdml0eSBjb250YWluZXIgKi8KICAgICAgLmFjdGl2aXR5Q29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA0OHB4OwogICAgICAgIGJvdHRvbTogNDhweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOwogICAgICAgIHNjcm9sbGJhci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkNGQ0ZDQiLCIjMzMzMzMzIil9IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuYWN0aXZpdHlDb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICB9CgogICAgICAuYWN0aXZpdHlDb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5Q29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkNGQ0ZDQiLCIjMzMzMzMzIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5Q29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNhM2EzYTMiLCIjNTI1MjUyIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNDBweCAxNnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpdml0eWxvZy1mZy1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC8qIERhdGUgc2VwYXJhdG9yIC0gd2FybSB0YXVwZSBzdHlsaW5nICovCiAgICAgIC5kYXRlLXNlcGFyYXRvciB7CiAgICAgICAgcGFkZGluZzogMTJweCAxMnB4IDZweDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctYWNjZW50KTsKICAgICAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgICAgIHRvcDogMDsKICAgICAgICB6LWluZGV4OiAxOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWFjdGl2aXR5bG9nLWJnKTsKICAgICAgfQoKICAgICAgLyogQWN0aXZpdHkgZW50cnkgLSBtb2Rlcm4gc3RhY2tlZCBsYXlvdXQgKi8KICAgICAgLmFjdGl2aXR5ZW50cnkgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBtYXJnaW46IDJweCA0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBsaW5lLWhlaWdodDogMS40OwogICAgICAgIGFuaW1hdGlvbjogZmFkZUluIDAuMnMgZWFzZS1vdXQ7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgZmFkZUluIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAuYWN0aXZpdHllbnRyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWN0aXZpdHlsb2ctaG92ZXIpOwogICAgICB9CgogICAgICAuYWN0aXZpdHktaWNvbiB7CiAgICAgICAgd2lkdGg6IDI4cHg7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA0KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctbXV0ZWQpOwogICAgICAgIG1hcmdpbi10b3A6IDFweDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24ubG9naW4gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjA4KSIsInJnYmEoMzQsIDE5NywgOTQsIDAuMTIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiM0YWRlODAiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1pY29uLmxvZ291dCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMjM5LCA2OCwgNjgsIDAuMDgpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24udmlldyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjA4KSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEyKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuYWN0aXZpdHktaWNvbi5jcmVhdGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDE2OCwgODUsIDI0NywgMC4wOCkiLCJyZ2JhKDE2OCwgODUsIDI0NywgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOTMzM2VhIiwiI2MwODRmYyIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24udXBkYXRlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyNTEsIDE0NiwgNjAsIDAuMDgpIiwicmdiYSgyNTEsIDE0NiwgNjAsIDAuMTIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2VhNTgwYyIsIiNmYjkyM2MiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1pY29uLmRlbGV0ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMjM5LCA2OCwgNjgsIDAuMDgpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWljb24uY3VzdG9tIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgxMDAsIDExNiwgMTM5LCAwLjA4KSIsInJnYmEoMTAwLCAxMTYsIDEzOSwgMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNDc1NTY5IiwiIzk0YTNiOCIpfTsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAuYWN0aXZpdHktdXNlciB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnLWFjdGl2ZSk7CiAgICAgIH0KCiAgICAgIC5hY3Rpdml0eS1zZXBhcmF0b3IgewogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpdml0eWxvZy1mZy1tdXRlZCk7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICB9CgogICAgICAudGltZXN0YW1wIHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctbXV0ZWQpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBNb25vJywgbW9ub3NwYWNlOwogICAgICB9CgogICAgICAuYWN0aXZpdHktbWVzc2FnZSB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnKTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwogICAgICB9CgogICAgICAvKiBTZWFyY2ggYm94IC0gcmVmaW5lZCBzdHlsaW5nICovCiAgICAgIC5zZWFyY2hib3ggewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDBweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYWN0aXZpdHlsb2ctYmcpOwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1hY3Rpdml0eWxvZy1ib3JkZXIpOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pY29uIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMTBweDsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnLW11dGVkKTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnNlYXJjaGJveCBpbnB1dCB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGl2aXR5bG9nLWZnLWFjdGl2ZSk7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMykiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDQpIil9OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA4KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wOCkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweCAwIDM0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zZWFyY2hib3ggaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmctbXV0ZWQpOwogICAgICB9CgogICAgICAuc2VhcmNoYm94IGlucHV0OmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xNSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDIpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA2KSIpfTsKICAgICAgfQoKICAgICAgLnNlYXJjaC13cmFwcGVyOmhhcyhpbnB1dDpmb2N1cykgLnNlYXJjaC1pY29uIHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aXZpdHlsb2ctZmcpOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgYj10aGlzLmdldEZpbHRlcmVkRW50cmllcygpLGc9dGhpcy5ncm91cEVudHJpZXNCeURhdGUoYik7cmV0dXJuIHdgCiAgICAgICR7dHIuc3R5bGVzfQogICAgICA8c3R5bGU+PC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idG9wYmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmciPkFjdGl2aXR5IExvZzwvZGl2PgogICAgICAgICAgJHtiLmxlbmd0aD4wP3dgPGRpdiBjbGFzcz0ibGl2ZS1pbmRpY2F0b3IiPjxzcGFuIGNsYXNzPSJkb3QiPjwvc3Bhbj5MaXZlPC9kaXY+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpdml0eUNvbnRhaW5lciI+CiAgICAgICAgICAke2IubGVuZ3RoPT09MD93YDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBhY3Rpdml0eSBlbnRyaWVzPC9kaXY+YDpnLm1hcCh5PT53YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkYXRlLXNlcGFyYXRvciI+JHt5LmxhYmVsfTwvZGl2PgogICAgICAgICAgICAgICAgICAke3kuZW50cmllcy5tYXAoaz0+dGhpcy5yZW5kZXJBY3Rpdml0eUVudHJ5KGspKX0KICAgICAgICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaGJveCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtd3JhcHBlciI+CiAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9InNlYXJjaC1pY29uIiAuaWNvbj0keyJsdWNpZGU6c2VhcmNoIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IlNlYXJjaCBhY3Rpdml0aWVzLCB1c2Vycy4uLiIKICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLnNlYXJjaFF1ZXJ5fQogICAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlU2VhcmNoSW5wdXR9CiAgICAgICAgICAgIC8+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckFjdGl2aXR5RW50cnkoYil7bGV0IGc9Yi50aW1lc3RhbXB8fG5ldyBEYXRlLHk9dGhpcy5mb3JtYXRUaW1lKGcpLGs9Yi5pY29uTmFtZXx8dGhpcy5nZXRJY29uRm9yVHlwZShiLnR5cGUpO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImFjdGl2aXR5ZW50cnkiCiAgICAgICAgQGNvbnRleHRtZW51PSR7Qz0+dGhpcy5oYW5kbGVDb250ZXh0TWVudShDLGIpfQogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0iYWN0aXZpdHktaWNvbiAke2IudHlwZX0iPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke2t9PjwvZGVlcy1pY29uPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImFjdGl2aXR5LWNvbnRlbnQiPgogICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aXZpdHktaGVhZGVyIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFjdGl2aXR5LXVzZXIiPiR7Yi51c2VyfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImFjdGl2aXR5LXNlcGFyYXRvciI+wrc8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aW1lc3RhbXAiPiR7eX08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGl2aXR5LW1lc3NhZ2UiPiR7Yi5tZXNzYWdlfTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YWRkKGIpe2xldCBnPXsuLi5iLGlkOmIuaWR8fHRoaXMuZ2VuZXJhdGVJZCgpLHRpbWVzdGFtcDpiLnRpbWVzdGFtcHx8bmV3IERhdGV9O3RoaXMuZW50cmllcz1bZywuLi50aGlzLmVudHJpZXNdLHRoaXMuZW50cmllcyQubmV4dCh0aGlzLmVudHJpZXMpfWFkZE1hbnkoYil7bGV0IGc9Yi5tYXAoeT0+KHsuLi55LGlkOnkuaWR8fHRoaXMuZ2VuZXJhdGVJZCgpLHRpbWVzdGFtcDp5LnRpbWVzdGFtcHx8bmV3IERhdGV9KSk7dGhpcy5lbnRyaWVzPVsuLi5nLnJldmVyc2UoKSwuLi50aGlzLmVudHJpZXNdLHRoaXMuZW50cmllcyQubmV4dCh0aGlzLmVudHJpZXMpfWNsZWFyKCl7dGhpcy5lbnRyaWVzPVtdLHRoaXMuZW50cmllcyQubmV4dCh0aGlzLmVudHJpZXMpfWdldEVudHJpZXMoKXtyZXR1cm5bLi4udGhpcy5lbnRyaWVzXX1maWx0ZXIoYil7cmV0dXJuIHRoaXMuZW50cmllcy5maWx0ZXIoZz0+IShiLnVzZXImJmcudXNlciE9PWIudXNlcnx8Yi50eXBlJiZnLnR5cGUhPT1iLnR5cGUpKX1zZWFyY2goYil7bGV0IGc9Yi50b0xvd2VyQ2FzZSgpO3JldHVybiB0aGlzLmVudHJpZXMuZmlsdGVyKHk9PnkubWVzc2FnZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGcpfHx5LnVzZXIudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhnKSl9Z2VuZXJhdGVJZCgpe3JldHVybmBhY3Rpdml0eS0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsOSl9YH1nZXRGaWx0ZXJlZEVudHJpZXMoKXtsZXQgYj10aGlzLmVudHJpZXM7aWYodGhpcy5zZWFyY2hRdWVyeSl7bGV0IGc9dGhpcy5zZWFyY2hRdWVyeS50b0xvd2VyQ2FzZSgpO2I9Yi5maWx0ZXIoeT0+eS5tZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZyl8fHkudXNlci50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGcpKX1yZXR1cm4odGhpcy5maWx0ZXJDcml0ZXJpYS51c2VyfHx0aGlzLmZpbHRlckNyaXRlcmlhLnR5cGUpJiYoYj1iLmZpbHRlcihnPT4hKHRoaXMuZmlsdGVyQ3JpdGVyaWEudXNlciYmZy51c2VyIT09dGhpcy5maWx0ZXJDcml0ZXJpYS51c2VyfHx0aGlzLmZpbHRlckNyaXRlcmlhLnR5cGUmJmcudHlwZSE9PXRoaXMuZmlsdGVyQ3JpdGVyaWEudHlwZSkpKSxifWdyb3VwRW50cmllc0J5RGF0ZShiKXtsZXQgZz1uZXcgTWFwLHk9bmV3IERhdGUsaz1uZXcgRGF0ZSh5KTtrLnNldERhdGUoay5nZXREYXRlKCktMSk7Zm9yKGxldCBDIG9mIGIpe2xldCBOPUMudGltZXN0YW1wfHxuZXcgRGF0ZSxfO3RoaXMuaXNTYW1lRGF5KE4seSk/Xz0iVG9kYXkiOnRoaXMuaXNTYW1lRGF5KE4sayk/Xz0iWWVzdGVyZGF5IjpfPU4udG9Mb2NhbGVEYXRlU3RyaW5nKCJlbi1VUyIse21vbnRoOiJzaG9ydCIsZGF5OiJudW1lcmljIix5ZWFyOk4uZ2V0RnVsbFllYXIoKSE9PXkuZ2V0RnVsbFllYXIoKT8ibnVtZXJpYyI6dm9pZCAwfSksZy5oYXMoXyl8fGcuc2V0KF8sW10pLGcuZ2V0KF8pLnB1c2goQyl9cmV0dXJuIEFycmF5LmZyb20oZy5lbnRyaWVzKCkpLm1hcCgoW0MsTl0pPT4oe2xhYmVsOkMsZW50cmllczpOfSkpfWlzU2FtZURheShiLGcpe3JldHVybiBiLmdldEZ1bGxZZWFyKCk9PT1nLmdldEZ1bGxZZWFyKCkmJmIuZ2V0TW9udGgoKT09PWcuZ2V0TW9udGgoKSYmYi5nZXREYXRlKCk9PT1nLmdldERhdGUoKX1mb3JtYXRUaW1lKGIpe3JldHVybiBiLnRvTG9jYWxlVGltZVN0cmluZygiZW4tVVMiLHtob3VyOiIyLWRpZ2l0IixtaW51dGU6IjItZGlnaXQiLGhvdXIxMjohMX0pfWdldEljb25Gb3JUeXBlKGIpe2xldCBnPXtsb2dpbjoibHVjaWRlOmxvZ0luIixsb2dvdXQ6Imx1Y2lkZTpsb2dPdXQiLHZpZXc6Imx1Y2lkZTpleWUiLGNyZWF0ZToibHVjaWRlOnBsdXMiLHVwZGF0ZToibHVjaWRlOmVkaXQiLGRlbGV0ZToibHVjaWRlOnRyYXNoMiIsY3VzdG9tOiJsdWNpZGU6YWN0aXZpdHkifTtyZXR1cm4gZ1tiXXx8Zy5jdXN0b219aGFuZGxlU2VhcmNoSW5wdXQoYil7bGV0IGc9Yi50YXJnZXQ7dGhpcy5zZWFyY2hRdWVyeT1nLnZhbHVlfWhhbmRsZUNvbnRleHRNZW51KGIsZyl7Yi5wcmV2ZW50RGVmYXVsdCgpLGVhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKGIsW3tuYW1lOiJDb3B5IGFjdGl2aXR5IixpY29uTmFtZToibHVjaWRlOmNvcHkiLGFjdGlvbjpzKGFzeW5jKCk9Pnthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChgJHtnLnVzZXJ9ICR7Zy5tZXNzYWdlfWApfSwiYWN0aW9uIil9LHtuYW1lOiJGaWx0ZXIgYnkgdXNlciIsaWNvbk5hbWU6Imx1Y2lkZTp1c2VyIixhY3Rpb246cyhhc3luYygpPT57dGhpcy5maWx0ZXJDcml0ZXJpYT17dXNlcjpnLnVzZXJ9fSwiYWN0aW9uIil9LHtuYW1lOiJGaWx0ZXIgYnkgdHlwZSIsaWNvbk5hbWU6Imx1Y2lkZTpmaWx0ZXIiLGFjdGlvbjpzKGFzeW5jKCk9Pnt0aGlzLmZpbHRlckNyaXRlcmlhPXt0eXBlOmcudHlwZX19LCJhY3Rpb24iKX0se25hbWU6IkNsZWFyIGZpbHRlcnMiLGljb25OYW1lOiJsdWNpZGU6eCIsYWN0aW9uOnMoYXN5bmMoKT0+e3RoaXMuZmlsdGVyQ3JpdGVyaWE9e30sdGhpcy5zZWFyY2hRdWVyeT0iIn0sImFjdGlvbiIpfV0pfXN0YXRpY3t6ZihyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgRXJhPWYoKCk9PntNWWUoKX0pO3ZhciBQcmE9ZigoKT0+e30pO3ZhciBJcmE9ZigoKT0+e1ZzKCl9KTt2YXIgTnJhPWYoKCk9Pnt9KTt2YXIgUnJhPWYoKCk9Pnt9KTt2YXIgT3JhPWYoKCk9Pnt9KTt2YXIgbzQ9ZigoKT0+e1ByYSgpO0lyYSgpO05yYSgpO1JyYSgpO09yYSgpfSk7dmFyIEZyYSxCcmE9ZigoKT0+e2xlKCk7SWEoKTtrWWUoKTtGcmE9cygoKT0+e2xldCBhPVt7bmFtZToiRmlsZSIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJOZXcgRmlsZSIsc2hvcnRjdXQ6IkNtZCtOIixpY29uTmFtZToiZmlsZS1wbHVzIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiTmV3IGZpbGUiKSwiYWN0aW9uIil9LHtuYW1lOiJPcGVuLi4uIixzaG9ydGN1dDoiQ21kK08iLGljb25OYW1lOiJmb2xkZXItb3BlbiIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIk9wZW4iKSwiYWN0aW9uIil9LHtuYW1lOiJPcGVuIFJlY2VudCIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJwcm9qZWN0LWFscGhhLnRzIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiByZWNlbnQgMSIpLCJhY3Rpb24iKX0se25hbWU6ImNvbmZpZy5qc29uIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiByZWNlbnQgMiIpLCJhY3Rpb24iKX0se25hbWU6InJlYWRtZS5tZCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIk9wZW4gcmVjZW50IDMiKSwiYWN0aW9uIil9XX0se2RpdmlkZXI6ITB9LHtuYW1lOiJTYXZlIixzaG9ydGN1dDoiQ21kK1MiLGljb25OYW1lOiJzYXZlIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiU2F2ZSIpLCJhY3Rpb24iKX0se25hbWU6IlNhdmUgQXMuLi4iLHNob3J0Y3V0OiJDbWQrU2hpZnQrUyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNhdmUgYXMiKSwiYWN0aW9uIiksZGlzYWJsZWQ6ITB9LHtkaXZpZGVyOiEwfSx7bmFtZToiRXhpdCIsc2hvcnRjdXQ6IkNtZCtRIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRXhpdCIpLCJhY3Rpb24iKX1dfSx7bmFtZToiRWRpdCIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJVbmRvIixzaG9ydGN1dDoiQ21kK1oiLGljb25OYW1lOiJ1bmRvIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiVW5kbyIpLCJhY3Rpb24iKX0se25hbWU6IlJlZG8iLHNob3J0Y3V0OiJDbWQrU2hpZnQrWiIsaWNvbk5hbWU6InJlZG8iLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJSZWRvIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkN1dCIsc2hvcnRjdXQ6IkNtZCtYIixpY29uTmFtZToic2Npc3NvcnMiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJDdXQiKSwiYWN0aW9uIil9LHtuYW1lOiJDb3B5IixzaG9ydGN1dDoiQ21kK0MiLGljb25OYW1lOiJjb3B5IixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQ29weSIpLCJhY3Rpb24iKX0se25hbWU6IlBhc3RlIixzaG9ydGN1dDoiQ21kK1YiLGljb25OYW1lOiJjbGlwYm9hcmQiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJQYXN0ZSIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJGaW5kIixzaG9ydGN1dDoiQ21kK0YiLGljb25OYW1lOiJzZWFyY2giLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJGaW5kIiksImFjdGlvbiIpfSx7bmFtZToiUmVwbGFjZSIsc2hvcnRjdXQ6IkNtZCtIIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiUmVwbGFjZSIpLCJhY3Rpb24iKX1dfSx7bmFtZToiVmlldyIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJUb2dnbGUgRnVsbHNjcmVlbiIsc2hvcnRjdXQ6IkYxMSIsaWNvbk5hbWU6ImV4cGFuZCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkZ1bGxzY3JlZW4iKSwiYWN0aW9uIil9LHtuYW1lOiJab29tIEluIixzaG9ydGN1dDoiQ21kKysiLGljb25OYW1lOiJ6b29tLWluIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiWm9vbSBpbiIpLCJhY3Rpb24iKX0se25hbWU6Ilpvb20gT3V0IixzaG9ydGN1dDoiQ21kKy0iLGljb25OYW1lOiJ6b29tLW91dCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlpvb20gb3V0IiksImFjdGlvbiIpfSx7bmFtZToiUmVzZXQgWm9vbSIsc2hvcnRjdXQ6IkNtZCswIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiUmVzZXQgem9vbSIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJUb2dnbGUgU2lkZWJhciIsc2hvcnRjdXQ6IkNtZCtCIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiVG9nZ2xlIHNpZGViYXIiKSwiYWN0aW9uIil9LHtuYW1lOiJUb2dnbGUgVGVybWluYWwiLHNob3J0Y3V0OiJDbWQrSiIsaWNvbk5hbWU6InRlcm1pbmFsIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiVG9nZ2xlIHRlcm1pbmFsIiksImFjdGlvbiIpfV19LHtuYW1lOiJIZWxwIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IkRvY3VtZW50YXRpb24iLGljb25OYW1lOiJib29rIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRG9jdW1lbnRhdGlvbiIpLCJhY3Rpb24iKX0se25hbWU6IlJlbGVhc2UgTm90ZXMiLGljb25OYW1lOiJmaWxlLXRleHQiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJSZWxlYXNlIG5vdGVzIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IlJlcG9ydCBJc3N1ZSIsaWNvbk5hbWU6ImJ1ZyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlJlcG9ydCBpc3N1ZSIpLCJhY3Rpb24iKX0se25hbWU6IkFib3V0IixpY29uTmFtZToiaW5mbyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkFib3V0IiksImFjdGlvbiIpfV19XTtyZXR1cm4gd2AKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGU9PntsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIiNhcHBiYXIiKSxyPWUucXVlcnlTZWxlY3RvckFsbCgiLnN0YXR1cy10b2dnbGUgZGVlcy1idXR0b24iKTtyWzBdLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3QudXNlcj17Li4udC51c2VyLHN0YXR1czoib25saW5lIn19KSxyWzFdLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3QudXNlcj17Li4udC51c2VyLHN0YXR1czoiYnVzeSJ9fSksclsyXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pnt0LnVzZXI9ey4uLnQudXNlcixzdGF0dXM6ImF3YXkifX0pLHJbM10uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dC51c2VyPXsuLi50LnVzZXIsc3RhdHVzOiJvZmZsaW5lIn19KSxlLnF1ZXJ5U2VsZWN0b3IoIi53aW5kb3ctY29udHJvbHMtdG9nZ2xlIGRlZXMtYnV0dG9uIikuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57dC5zaG93V2luZG93Q29udHJvbHM9IXQuc2hvd1dpbmRvd0NvbnRyb2xzfSk7bGV0IG89ZS5xdWVyeVNlbGVjdG9yQWxsKCIuYnJlYWRjcnVtYi10b2dnbGUgZGVlcy1idXR0b24iKTtvWzBdLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3QuYnJlYWRjcnVtYnM9IkhvbWUgPiBEb2N1bWVudHMgPiBQcm9qZWN0cyA+IE15QXBwID4gc3JjID4gaW5kZXgudHMifSksb1sxXS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pnt0LmJyZWFkY3J1bWJzPSJEYXNoYm9hcmQifSl9fT4KICAgICAgPHN0eWxlPgogICAgICAgICR7UWAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgaGVpZ2h0OiA2MDBweDsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgYmFja2dyb3VuZDogIzFhMWExYTsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29udGVudCB7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgIGNvbG9yOiAjY2NjOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY29udHJvbHMgewogICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jb250cm9sLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jb250cm9sLWdyb3VwIGxhYmVsIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGNvbG9yOiAjODg4OwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtYXBwdWktYXBwYmFyCiAgICAgICAgaWQ9ImFwcGJhciIKICAgICAgICAubWVudUl0ZW1zPSR7YX0KICAgICAgICAuYnJlYWRjcnVtYnM9JHsiUHJvamVjdCA+IHNyYyA+IGNvbXBvbmVudHMgPiBBcHBCYXIudHMifQogICAgICAgIC5icmVhZGNydW1iU2VwYXJhdG9yPSR7IiA+ICJ9CiAgICAgICAgLnNob3dXaW5kb3dDb250cm9scz0keyEwfQogICAgICAgIC5zaG93U2VhcmNoPSR7ITB9CiAgICAgICAgLnRoZW1lPSR7ImRhcmsifQogICAgICAgIC51c2VyPSR7e25hbWU6IkpvaG4gRG9lIixzdGF0dXM6Im9ubGluZSJ9fQogICAgICAgIEBtZW51LXNlbGVjdD0ke2U9PmNvbnNvbGUubG9nKCJNZW51IHNlbGVjdGVkOiIsZS5kZXRhaWwuaXRlbSl9CiAgICAgICAgQGJyZWFkY3J1bWItbmF2aWdhdGU9JHtlPT5jb25zb2xlLmxvZygiQnJlYWRjcnVtYiBjbGlja2VkOiIsZS5kZXRhaWwpfQogICAgICAgIEBzZWFyY2gtY2xpY2s9JHsoKT0+Y29uc29sZS5sb2coIlNlYXJjaCBjbGlja2VkIil9CiAgICAgICAgQHVzZXItbWVudS1vcGVuPSR7KCk9PmNvbnNvbGUubG9nKCJVc2VyIG1lbnUgY2xpY2tlZCIpfQogICAgICA+PC9kZWVzLWFwcHVpLWFwcGJhcj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgogICAgICAgIDxoMj5BcHAgQmFyIERlbW88L2gyPgogICAgICAgIDxwPlRoaXMgZGVtbyBzaG93cyB2YXJpb3VzIGZlYXR1cmVzIG9mIHRoZSBhcHAgYmFyIGNvbXBvbmVudDo8L3A+CiAgICAgICAgPHVsPgogICAgICAgICAgPGxpPkR5bmFtaWMgbWVudSBpdGVtcyB3aXRoIGljb25zLCBzaG9ydGN1dHMsIGFuZCBzdWJtZW51czwvbGk+CiAgICAgICAgICA8bGk+QnJlYWRjcnVtYiBuYXZpZ2F0aW9uPC9saT4KICAgICAgICAgIDxsaT5Vc2VyIGFjY291bnQgc2VjdGlvbiB3aXRoIHN0YXR1cyBpbmRpY2F0b3I8L2xpPgogICAgICAgICAgPGxpPlNlYXJjaCBpY29uPC9saT4KICAgICAgICAgIDxsaT5XaW5kb3cgY29udHJvbHMgKHBsYXRmb3JtLXNwZWNpZmljKTwvbGk+CiAgICAgICAgICA8bGk+RGFyay9saWdodCB0aGVtZSBzdXBwb3J0PC9saT4KICAgICAgICAgIDxsaT5LZXlib2FyZCBuYXZpZ2F0aW9uIChUYWIsIEVudGVyLCBFc2NhcGUpPC9saT4KICAgICAgICAgIDxsaT5DdXN0b20gZXZlbnRzIGZvciBhbGwgaW50ZXJhY3Rpb25zPC9saT4KICAgICAgICA8L3VsPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9sLWdyb3VwIj4KICAgICAgICAgIDxsYWJlbD5UaGVtZTwvbGFiZWw+CiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgY2xhc3M9InRoZW1lLXRvZ2dsZSI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5EYXJrPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkxpZ2h0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ncm91cCI+CiAgICAgICAgICA8bGFiZWw+VXNlciBTdGF0dXM8L2xhYmVsPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGNsYXNzPSJzdGF0dXMtdG9nZ2xlIj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPk9ubGluZTwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5CdXN5PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkF3YXk8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+T2ZmbGluZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wtZ3JvdXAiPgogICAgICAgICAgPGxhYmVsPldpbmRvdyBDb250cm9sczwvbGFiZWw+CiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgY2xhc3M9IndpbmRvdy1jb250cm9scy10b2dnbGUiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+VG9nZ2xlPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbC1ncm91cCI+CiAgICAgICAgICA8bGFiZWw+QnJlYWRjcnVtYnM8L2xhYmVsPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGNsYXNzPSJicmVhZGNydW1iLXRvZ2dsZSI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5Mb25nIFBhdGg8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+U2hvcnQgUGF0aDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIEhyYSxxcmE9ZigoKT0+e2xlKCk7SHJhPVtoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIC8qIENTUyBWYXJpYWJsZXMgZm9yIHRoZW1pbmcgKi8KICAgICAgICAtLWFwcGJhci1oZWlnaHQ6IDQwcHg7CiAgICAgICAgLS1hcHBiYXItZm9udC1zaXplOiAxMnB4OwogICAgICAgIAogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IHZhcigtLWFwcGJhci1oZWlnaHQpOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXByaW1hcnkpOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMDAwMDgwIiwiI2ZmZmZmZjgwIil9OwogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tYXBwYmFyLWZvbnQtc2l6ZSk7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87CiAgICAgICAgLXdlYmtpdC1hcHAtcmVnaW9uOiBkcmFnOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAubWVudXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbSB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDBweCAxMnB4OwogICAgICAgIG1hcmdpbjogOHB4IDBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgLXdlYmtpdC1hcHAtcmVnaW9uOiBuby1kcmFnOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAvKiBPcHRpb25hbDogU3R5bGUgZm9yIG1lbnUgaXRlbXMgd2l0aCBpY29ucyAobm90IHR5cGljYWxseSB1c2VkIGZvciB0b3AtbGV2ZWwgaXRlbXMpICovCiAgICAgIC5tZW51SXRlbSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMwMDAwMDAxMCIsIiNmZmZmZmYyMCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZmZmZmZmIil9OwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzAwMDAwMDIwIiwiI2ZmZmZmZjMwIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbVtkaXNhYmxlZF0gewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAubWVudUl0ZW06Zm9jdXMtdmlzaWJsZSB7CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7aC5iZFRoZW1lKCIjMDAwMDAwODAiLCIjZmZmZmZmODAiKX07CiAgICAgIH0KCgogICAgICAvKiBEcm9wZG93biBzdHlsZXMgKi8KICAgICAgLmRyb3Bkb3duIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXByaW1hcnkpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBib3gtc2hhZG93OiAke2guYmRUaGVtZSgiMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpIiwiMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycywgdHJhbnNmb3JtIDAuMnM7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi5vcGVuIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLWl0ZW0gewogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzOwogICAgICB9CgogICAgICAuZHJvcGRvd24taXRlbTpob3ZlciwKICAgICAgLmRyb3Bkb3duLWl0ZW0uZm9jdXNlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMwMDAwMDAxMCIsIiNmZmZmZmYyMCIpfTsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLWRpdmlkZXIgewogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi1pdGVtW2Rpc2FibGVkXSB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi1pdGVtIC5zaG9ydGN1dCB7CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgfQoKICAgICAgLyogQnJlYWRjcnVtYnMgKi8KICAgICAgLmJyZWFkY3J1bWJzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5icmVhZGNydW1iLWl0ZW0gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMDAwMDgwIiwiI2ZmZmZmZjgwIil9OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzOwogICAgICB9CgogICAgICAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZmZmZmZmIil9OwogICAgICB9CgogICAgICAuYnJlYWRjcnVtYi1zZXBhcmF0b3IgewogICAgICAgIG1hcmdpbjogMCA4cHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAvKiBBY2NvdW50IHNlY3Rpb24gKi8KICAgICAgLmFjY291bnQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaWNvbiB7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaWNvbjpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLnVzZXItaW5mbyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnM7CiAgICAgIH0KCiAgICAgIC51c2VyLWluZm86aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMDAwMDAwMTAiLCIjZmZmZmZmMjAiKX07CiAgICAgIH0KCiAgICAgIC51c2VyLWF2YXRhciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAyNHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMwMDAwMDAyMCIsIiNmZmZmZmYzMCIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOwogICAgICB9CgogICAgICAudXNlci1hdmF0YXIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICB9CgogICAgICAudXNlci1zdGF0dXMgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IC0ycHg7CiAgICAgICAgcmlnaHQ6IC0ycHg7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzLm9ubGluZSB7CiAgICAgICAgYmFja2dyb3VuZDogIzRjYWY1MDsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzLm9mZmxpbmUgewogICAgICAgIGJhY2tncm91bmQ6ICM3NTc1NzU7CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cy5idXN5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjQ0MzM2OwogICAgICB9CgogICAgICAudXNlci1zdGF0dXMuYXdheSB7CiAgICAgICAgYmFja2dyb3VuZDogI2ZmOTgwMDsKICAgICAgfQoKICAgICAgLyogQWN0aXZpdHkgbG9nIHRvZ2dsZSBidXR0b24gKi8KICAgICAgLmFjdGl2aXR5LXRvZ2dsZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMnB4OwogICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIC13ZWJraXQtYXBwLXJlZ2lvbjogbm8tZHJhZzsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDA2MCIsIiNmZmZmZmY2MCIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjEpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuYWN0aXZpdHktdG9nZ2xlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzAwMDAwMDEwIiwiI2ZmZmZmZjE1Iil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmFjdGl2aXR5LXRvZ2dsZS5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMDAwMDAwMTUiLCIjZmZmZmZmMjAiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDAwMDAwIiwiI2ZmZmZmZiIpfTsKICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuYWN0aXZpdHktdG9nZ2xlIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICAuYWN0aXZpdHktYmFkZ2UgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW4tbGVmdDogNHB4OwogICAgICAgIG1pbi13aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMCA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiM1MjUyNTIiLCIjNTI1MjUyIil9OwogICAgICAgIGNvbG9yOiAjZmFmYWZhOwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIH0KICAgIGBdfSk7dmFyIFZyYSxqcmE9ZigoKT0+e2xlKCk7VnJhPXMoYT0+d2AKICAgICAgICA8ZGl2IGNsYXNzPSJtZW51cyI+CiAgICAgICAgICAke2Euc2hvd1dpbmRvd0NvbnRyb2xzP3dgPGRlZXMtd2luZG93Y29udHJvbHM+PC9kZWVzLXdpbmRvd2NvbnRyb2xzPmA6IiJ9CiAgICAgICAgICAke2EucmVuZGVyTWVudUl0ZW1zKCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYnJlYWRjcnVtYnMiPgogICAgICAgICAgJHthLnJlbmRlckJyZWFkY3J1bWJzKCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYWNjb3VudCI+CiAgICAgICAgICAke2EucmVuZGVyQWNjb3VudFNlY3Rpb24oKX0KICAgICAgICA8L2Rpdj4KICAgICAgYCwicmVuZGVyQXBwdWlBcHBiYXIiKX0pO3ZhciBTWWUsTFUsVXJhLHpZZT1mKCgpPT57bGUoKTtRZSgpO1NZZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sTFU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFVyYT0oKCk9PntsZXQgYT1baWUoImRlZXMtd2luZG93Y29udHJvbHMiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1dpbmRvd0NvbnRyb2xzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7cmVmbGVjdDohMH0pXSxkPVskKHtyZWZsZWN0OiEwfSldLFNZZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InR5cGUiaW4gdiwiaGFzIiksZ2V0OnModj0+di50eXBlLCJnZXQiKSxzZXQ6cygodix4KT0+e3YudHlwZT14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksU1llKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InBvc2l0aW9uImluIHYsImhhcyIpLGdldDpzKHY9PnYucG9zaXRpb24sImdldCIpLHNldDpzKCh2LHgpPT57di5wb3NpdGlvbj14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksU1llKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89cygoKT0+d2A8ZGVlcy13aW5kb3djb250cm9scz48L2RlZXMtd2luZG93Y29udHJvbHM+YCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiVXRpbGl0eSJdOyNlPUxVKHRoaXMsbiwibWFjIik7Z2V0IHR5cGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdHlwZShtKXt0aGlzLiNlPW19I3Q9KExVKHRoaXMsbCksTFUodGhpcyxjLCJsZWZ0IikpO2dldCBwb3NpdGlvbigpe3JldHVybiB0aGlzLiN0fXNldCBwb3NpdGlvbihtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7CiAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDsKICAgICAgfQoKICAgICAgLndpbmRvd0NvbnRyb2xzIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLndpbmRvd0NvbnRyb2xzIGRpdiB7CiAgICAgICAgd2lkdGg6IDEycHg7CiAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgbWFyZ2luOiAwcHg7CiAgICAgICAgcGFkZGluZzogMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICMyMjIyMjI7CiAgICAgIH0KCiAgICAgIC53aW5kb3dDb250cm9scyBkaXYuY2xvc2UgewogICAgICAgIGJhY2tncm91bmQ6ICNmZjVmNTc7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OwogICAgICB9CgogICAgICAud2luZG93Q29udHJvbHMgZGl2LnRvRG9jayB7CiAgICAgICAgYmFja2dyb3VuZDogI2ZmYmQyZTsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7CiAgICAgIH0KCiAgICAgIC53aW5kb3dDb250cm9scyBkaXYubWluTWF4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMjdjOTNmOwogICAgICB9CgogICAgICAud2luZG93Q29udHJvbHMgZGl2OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLnR5cGU9PT0ibWFjIiYmdGhpcy5wb3NpdGlvbj09PSJsZWZ0Inx8KHRoaXMudHlwZT09PSJsaW51eCJ8fHRoaXMudHlwZT09PSJ3aW5kb3dzIikmJnRoaXMucG9zaXRpb249PT0icmlnaHQiP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9IndpbmRvd0NvbnRyb2xzIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjbG9zZSI+PC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9Eb2NrIj48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtaW5NYXgiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6d2BgfQogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksTFUodGhpcyxwKX1zdGF0aWN7TFUocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyICRVLHVjLFdyYSxDWWU9ZigoKT0+e1ZzKCk7amkoKTtsZSgpO1FlKCk7JFU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHVjPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxXcmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWFwcHVpLXByb2ZpbGVkcm9wZG93biIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQXBwdWlQcm9maWxlRHJvcGRvd24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgaz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOkFycmF5fSldLHU9WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLCRVKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidXNlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4idXNlciJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnVzZXIsImdldCIpLHNldDpzKChDLE4pPT57Qy51c2VyPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSwkVSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1lbnVJdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ibWVudUl0ZW1zImluIEMsImhhcyIpLGdldDpzKEM9PkMubWVudUl0ZW1zLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MubWVudUl0ZW1zPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYyxwKSwkVSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzT3BlbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iaXNPcGVuImluIEMsImhhcyIpLGdldDpzKEM9PkMuaXNPcGVuLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuaXNPcGVuPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbSx2KSwkVSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJwb3NpdGlvbiJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnBvc2l0aW9uLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MucG9zaXRpb249Tn0sInNldCIpfSxtZXRhZGF0YTprfSxiLGcpLCRVKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmt9LG51bGwsdCkseT1yPWUudmFsdWUsayYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTprfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkZWVzLWFwcHVpLXByb2ZpbGVkcm9wZG93bgogICAgICAudXNlcj0ke3tuYW1lOiJKb2huIERvZSIsZW1haWw6ImpvaG4uZG9lQGV4YW1wbGUuY29tIixhdmF0YXI6Imh0dHBzOi8vcmFuZG9tdXNlci5tZS9hcGkvcG9ydHJhaXRzL21lbi8xLmpwZyIsc3RhdHVzOiJvbmxpbmUifX0KICAgICAgLm1lbnVJdGVtcz0ke1t7bmFtZToiUHJvZmlsZSBTZXR0aW5ncyIsaWNvbk5hbWU6InVzZXIiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJQcm9maWxlIiksImFjdGlvbiIpfSx7bmFtZToiQWNjb3VudCIsaWNvbk5hbWU6InNldHRpbmdzIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQWNjb3VudCIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJIZWxwICYgU3VwcG9ydCIsaWNvbk5hbWU6ImhlbHBDaXJjbGUiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJIZWxwIiksImFjdGlvbiIpfSx7bmFtZToiS2V5Ym9hcmQgU2hvcnRjdXRzIixpY29uTmFtZToia2V5Ym9hcmQiLHNob3J0Y3V0OiJDbWQrSyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNob3J0Y3V0cyIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJTaWduIE91dCIsaWNvbk5hbWU6ImxvZ091dCIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNpZ24gb3V0IiksImFjdGlvbiIpfV19CiAgICAgIC5pc09wZW49JHshMH0KICAgID48L2RlZXMtYXBwdWktcHJvZmlsZWRyb3Bkb3duPgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdOyNlPXVjKHRoaXMsbix2b2lkIDApO2dldCB1c2VyKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHVzZXIoayl7dGhpcy4jZT1rfSN0PSh1Yyh0aGlzLGwpLHVjKHRoaXMsYyxbXSkpO2dldCBtZW51SXRlbXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbWVudUl0ZW1zKGspe3RoaXMuI3Q9a30jYT0odWModGhpcyxwKSx1Yyh0aGlzLG0sITEpKTtnZXQgaXNPcGVuKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGlzT3BlbihrKXt0aGlzLiNhPWt9I3I9KHVjKHRoaXMsdiksdWModGhpcyxiLCJ0b3AtcmlnaHQiKSk7Z2V0IHBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHBvc2l0aW9uKGspe3RoaXMuI3I9a31zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbWluLXdpZHRoOiAyMjBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwMDAwMDAiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlMGUwZTAiLCIjMjAyMDIwIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBib3gtc2hhZG93OiAke2guYmRUaGVtZSgiMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpIiwiMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgICAgICAgei1pbmRleDogJHtMcy5vdmVybGF5LmRyb3Bkb3dufTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSkgdHJhbnNsYXRlWSgtMTBweCk7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzLCB0cmFuc2Zvcm0gMC4yczsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2lzb3Blbl0pIC5kcm9wZG93biB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIC5iYWNrZHJvcCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogUG9zaXRpb24gdmFyaWFudHMgKi8KICAgICAgLmRyb3Bkb3duLnRvcC1yaWdodCB7CiAgICAgICAgdG9wOiAxMDAlOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgfQoKICAgICAgLmRyb3Bkb3duLnRvcC1sZWZ0IHsKICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi5ib3R0b20tcmlnaHQgewogICAgICAgIGJvdHRvbTogMTAwJTsKICAgICAgICByaWdodDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC5kcm9wZG93bi5ib3R0b20tbGVmdCB7CiAgICAgICAgYm90dG9tOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAvKiBVc2VyIHNlY3Rpb24gKi8KICAgICAgLnVzZXItc2VjdGlvbiB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlMGUwZTAiLCIjMjAyMDIwIil9OwogICAgICB9CgogICAgICAudXNlci1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICB9CgogICAgICAudXNlci1hdmF0YXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjBmMGYwIiwiIzFhMWExYSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNjY2IiwiIzk5OSIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAudXNlci1hdmF0YXIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICB3aWR0aDogMTBweDsKICAgICAgICBoZWlnaHQ6IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzLm9ubGluZSB7CiAgICAgICAgYmFja2dyb3VuZDogIzRjYWY1MDsKICAgICAgfQoKICAgICAgLnVzZXItc3RhdHVzLm9mZmxpbmUgewogICAgICAgIGJhY2tncm91bmQ6ICM3NTc1NzU7CiAgICAgIH0KCiAgICAgIC51c2VyLXN0YXR1cy5idXN5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjQ0MzM2OwogICAgICB9CgogICAgICAudXNlci1zdGF0dXMuYXdheSB7CiAgICAgICAgYmFja2dyb3VuZDogI2ZmOTgwMDsKICAgICAgfQoKICAgICAgLnVzZXItZGV0YWlscyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC51c2VyLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMCIsIiNmZmYiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAudXNlci1lbWFpbCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzY2NiIsIiM5OTkiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLyogTWVudSBzZWN0aW9uICovCiAgICAgIC5tZW51LXNlY3Rpb24gewogICAgICAgIHBhZGRpbmc6IDRweCAwOwogICAgICB9CgogICAgICAubWVudS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xczsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzMzMiLCIjY2NjIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLm1lbnUtaXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICB9CgogICAgICAubWVudS1pdGVtOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpIil9OwogICAgICB9CgogICAgICAubWVudS1pdGVtIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgfQoKICAgICAgLm1lbnUtaXRlbS10ZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAubWVudS1zaG9ydGN1dCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzk5OSIsIiM2NjYiKX07CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAubWVudS1kaXZpZGVyIHsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2UwZTBlMCIsIiMyMDIwMjAiKX07CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgfQoKICAgICAgLyogQmFja2Ryb3AgZm9yIG1vYmlsZSAqLwogICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAuYmFja2Ryb3AgewogICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgdG9wOiAwOwogICAgICAgICAgbGVmdDogMDsKICAgICAgICAgIHJpZ2h0OiAwOwogICAgICAgICAgYm90dG9tOiAwOwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgICAgICAgei1pbmRleDogJHtMcy5iYWNrZHJvcC5kcm9wZG93bn07CiAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzOwogICAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICB9CgogICAgICAgIDpob3N0KFtpc29wZW5dKSAuYmFja2Ryb3AgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgfQoKICAgICAgICAuZHJvcGRvd24gewogICAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgICByaWdodDogYXV0bzsKICAgICAgICAgIGJvdHRvbTogYXV0bzsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHNjYWxlKDAuOTUpOwogICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMzJweCk7CiAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMzJweCk7CiAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsKICAgICAgICB9CgogICAgICAgIDpob3N0KFtpc29wZW5dKSAuZHJvcGRvd24gewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7CiAgICAgICAgfQogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iYmFja2Ryb3AiIEBjbGljaz0keygpPT50aGlzLmNsb3NlKCl9PjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJkcm9wZG93biAke3RoaXMucG9zaXRpb259Ij4KICAgICAgICAke3RoaXMudXNlcj93YAogICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1pbmZvIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1c2VyLWF2YXRhciI+CiAgICAgICAgICAgICAgICAke3RoaXMudXNlci5hdmF0YXI/d2A8aW1nIHNyYz0iJHt0aGlzLnVzZXIuYXZhdGFyfSIgYWx0PSIke3RoaXMudXNlci5uYW1lfSI+YDp0aGlzLmdldEluaXRpYWxzKHRoaXMudXNlci5uYW1lKX0KICAgICAgICAgICAgICAgICR7dGhpcy51c2VyLnN0YXR1cz93YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ1c2VyLXN0YXR1cyAke3RoaXMudXNlci5zdGF0dXN9Ij48L2Rpdj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1kZXRhaWxzIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InVzZXItbmFtZSI+JHt0aGlzLnVzZXIubmFtZX08L2Rpdj4KICAgICAgICAgICAgICAgICR7dGhpcy51c2VyLmVtYWlsP3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InVzZXItZW1haWwiPiR7dGhpcy51c2VyLmVtYWlsfTwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im1lbnUtc2VjdGlvbiI+CiAgICAgICAgICAke3RoaXMubWVudUl0ZW1zLm1hcChrPT50aGlzLnJlbmRlck1lbnVJdGVtKGspKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlck1lbnVJdGVtKGspe2lmKCJkaXZpZGVyImluIGsmJmsuZGl2aWRlcilyZXR1cm4gd2A8ZGl2IGNsYXNzPSJtZW51LWRpdmlkZXIiPjwvZGl2PmA7bGV0IEM9aztyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibWVudS1pdGVtIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVNZW51Q2xpY2soQyl9PgogICAgICAgICR7Qy5pY29uTmFtZT93YAogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHtgbHVjaWRlOiR7Qy5pY29uTmFtZX1gfSI+PC9kZWVzLWljb24+CiAgICAgICAgYDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0ibWVudS1pdGVtLXRleHQiPiR7Qy5uYW1lfTwvc3Bhbj4KICAgICAgICAke0Muc2hvcnRjdXQ/d2AKICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZW51LXNob3J0Y3V0Ij4ke0Muc2hvcnRjdXR9PC9zcGFuPgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1nZXRJbml0aWFscyhrKXtyZXR1cm4gay5zcGxpdCgiICIpLm1hcChDPT5DWzBdKS5qb2luKCIiKS50b1VwcGVyQ2FzZSgpLnNsaWNlKDAsMil9YXN5bmMgaGFuZGxlTWVudUNsaWNrKGspe2F3YWl0IGsuYWN0aW9uKCksdGhpcy5jbG9zZSgpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm1lbnUtc2VsZWN0Iix7ZGV0YWlsOntpdGVtOmt9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9b3Blbigpe3RoaXMuaXNPcGVuPSEwfWNsb3NlKCl7dGhpcy5pc09wZW49ITF9dG9nZ2xlKCl7dGhpcy5pc09wZW49IXRoaXMuaXNPcGVufWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmhhbmRsZU91dHNpZGVDbGljaz10aGlzLmhhbmRsZU91dHNpZGVDbGljay5iaW5kKHRoaXMpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZU91dHNpZGVDbGljayl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZU91dHNpZGVDbGljayl9aGFuZGxlT3V0c2lkZUNsaWNrKGspe2lmKHRoaXMuaXNPcGVuJiYhdGhpcy5jb250YWlucyhrLnRhcmdldCkpe2xldCBDPXRoaXMucGFyZW50RWxlbWVudDtpZihDJiZDLmNvbnRhaW5zKGsudGFyZ2V0KSlyZXR1cm47dGhpcy5jbG9zZSgpfX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdWModGhpcyxnKX1zdGF0aWN7dWMocix0KX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIFRpLE5hLEdyYSxrWWU9ZigoKT0+e2xlKCk7SnQoKTtvNCgpO1ZzKCk7QnJhKCk7cXJhKCk7anJhKCk7dmEoKTt6WWUoKTtDWWUoKTtUaT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sTmE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEdyYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYXBwdWktYXBwYmFyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W10sQixNPVtdLFM9W10sUCxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFgsSj1bXSxaPVtdLGdlLGFlPVtdLHJlPVtdO3ZhciB5ZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0FwcHVpQmFyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFY9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0seT1bJCh7dHlwZTpPYmplY3R9KV0sTj1bJCh7dHlwZTpBcnJheX0pXSxPPVskKHt0eXBlOkJvb2xlYW59KV0sQj1bJCh7dHlwZTpCb29sZWFufSldLFA9WyQoe3R5cGU6TnVtYmVyfSldLFc9WyQoe3R5cGU6Qm9vbGVhbn0pXSxoZT1bSygpXSxtZT1bSygpXSxjZT1bSygpXSxYPVtLKCldLGdlPVtLKCldLFRpKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVudUl0ZW1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJtZW51SXRlbXMiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5tZW51SXRlbXMsImdldCIpLHNldDpzKChILG9lKT0+e0gubWVudUl0ZW1zPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LG4sbCksVGkodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJicmVhZGNydW1icyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iYnJlYWRjcnVtYnMiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5icmVhZGNydW1icywiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5icmVhZGNydW1icz1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxjLHApLFRpKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYnJlYWRjcnVtYlNlcGFyYXRvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iYnJlYWRjcnVtYlNlcGFyYXRvciJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmJyZWFkY3J1bWJTZXBhcmF0b3IsImdldCIpLHNldDpzKChILG9lKT0+e0guYnJlYWRjcnVtYlNlcGFyYXRvcj1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxtLHYpLFRpKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1dpbmRvd0NvbnRyb2xzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJzaG93V2luZG93Q29udHJvbHMiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5zaG93V2luZG93Q29udHJvbHMsImdldCIpLHNldDpzKChILG9lKT0+e0guc2hvd1dpbmRvd0NvbnRyb2xzPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGIsZyksVGkodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ1c2VyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJ1c2VyImluIEgsImhhcyIpLGdldDpzKEg9PkgudXNlciwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC51c2VyPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGssQyksVGkodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwcm9maWxlTWVudUl0ZW1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJwcm9maWxlTWVudUl0ZW1zImluIEgsImhhcyIpLGdldDpzKEg9PkgucHJvZmlsZU1lbnVJdGVtcywiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5wcm9maWxlTWVudUl0ZW1zPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LF8seiksVGkodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93U2VhcmNoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJzaG93U2VhcmNoImluIEgsImhhcyIpLGdldDpzKEg9Pkguc2hvd1NlYXJjaCwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5zaG93U2VhcmNoPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LFQsRSksVGkodGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93QWN0aXZpdHlMb2dUb2dnbGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+InNob3dBY3Rpdml0eUxvZ1RvZ2dsZSJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILnNob3dBY3Rpdml0eUxvZ1RvZ2dsZSwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5zaG93QWN0aXZpdHlMb2dUb2dnbGU9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sTSxTKSxUaSh0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2aXR5TG9nQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImFjdGl2aXR5TG9nQ291bnQiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5hY3Rpdml0eUxvZ0NvdW50LCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmFjdGl2aXR5TG9nQ291bnQ9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sQSxGKSxUaSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2aXR5TG9nQWN0aXZlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJhY3Rpdml0eUxvZ0FjdGl2ZSJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmFjdGl2aXR5TG9nQWN0aXZlLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmFjdGl2aXR5TG9nQWN0aXZlPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGosRyksVGkodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZlTWVudSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iYWN0aXZlTWVudSJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmFjdGl2ZU1lbnUsImdldCIpLHNldDpzKChILG9lKT0+e0guYWN0aXZlTWVudT1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxSLFUpLFRpKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9wZW5Ecm9wZG93bnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+Im9wZW5Ecm9wZG93bnMiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5vcGVuRHJvcGRvd25zLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILm9wZW5Ecm9wZG93bnM9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sSSxxKSxUaSh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmb2N1c2VkSXRlbSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iZm9jdXNlZEl0ZW0iaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5mb2N1c2VkSXRlbSwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5mb2N1c2VkSXRlbT1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSx1ZSxZKSxUaSh0aGlzLG51bGwsWCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZvY3VzZWREcm9wZG93bkl0ZW0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImZvY3VzZWREcm9wZG93bkl0ZW0iaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5mb2N1c2VkRHJvcGRvd25JdGVtLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmZvY3VzZWREcm9wZG93bkl0ZW09b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sSixaKSxUaSh0aGlzLG51bGwsZ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc1Byb2ZpbGVEcm9wZG93bk9wZW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImlzUHJvZmlsZURyb3Bkb3duT3BlbiJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmlzUHJvZmlsZURyb3Bkb3duT3BlbiwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5pc1Byb2ZpbGVEcm9wZG93bk9wZW49b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sYWUscmUpLFRpKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlZ9LG51bGwsdCkseWU9cj1lLnZhbHVlLFYmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Vn0pfXN0YXRpYyBkZW1vPUZyYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdOyNlPU5hKHRoaXMsbixbXSk7Z2V0IG1lbnVJdGVtcygpe3JldHVybiB0aGlzLiNlfXNldCBtZW51SXRlbXMoVil7dGhpcy4jZT1WfSN0PShOYSh0aGlzLGwpLE5hKHRoaXMsYywiIikpO2dldCBicmVhZGNydW1icygpe3JldHVybiB0aGlzLiN0fXNldCBicmVhZGNydW1icyhWKXt0aGlzLiN0PVZ9I2E9KE5hKHRoaXMscCksTmEodGhpcyxtLCIgPiAiKSk7Z2V0IGJyZWFkY3J1bWJTZXBhcmF0b3IoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYnJlYWRjcnVtYlNlcGFyYXRvcihWKXt0aGlzLiNhPVZ9I3I9KE5hKHRoaXMsdiksTmEodGhpcyxiLCEwKSk7Z2V0IHNob3dXaW5kb3dDb250cm9scygpe3JldHVybiB0aGlzLiNyfXNldCBzaG93V2luZG93Q29udHJvbHMoVil7dGhpcy4jcj1WfSNzPShOYSh0aGlzLGcpLE5hKHRoaXMsayx2b2lkIDApKTtnZXQgdXNlcigpe3JldHVybiB0aGlzLiNzfXNldCB1c2VyKFYpe3RoaXMuI3M9Vn0jaT0oTmEodGhpcyxDKSxOYSh0aGlzLF8sW10pKTtnZXQgcHJvZmlsZU1lbnVJdGVtcygpe3JldHVybiB0aGlzLiNpfXNldCBwcm9maWxlTWVudUl0ZW1zKFYpe3RoaXMuI2k9Vn0jbz0oTmEodGhpcyx6KSxOYSh0aGlzLFQsITEpKTtnZXQgc2hvd1NlYXJjaCgpe3JldHVybiB0aGlzLiNvfXNldCBzaG93U2VhcmNoKFYpe3RoaXMuI289Vn0jbj0oTmEodGhpcyxFKSxOYSh0aGlzLE0sITEpKTtnZXQgc2hvd0FjdGl2aXR5TG9nVG9nZ2xlKCl7cmV0dXJuIHRoaXMuI259c2V0IHNob3dBY3Rpdml0eUxvZ1RvZ2dsZShWKXt0aGlzLiNuPVZ9I2w9KE5hKHRoaXMsUyksTmEodGhpcyxBLDApKTtnZXQgYWN0aXZpdHlMb2dDb3VudCgpe3JldHVybiB0aGlzLiNsfXNldCBhY3Rpdml0eUxvZ0NvdW50KFYpe3RoaXMuI2w9Vn0jYz0oTmEodGhpcyxGKSxOYSh0aGlzLGosITEpKTtnZXQgYWN0aXZpdHlMb2dBY3RpdmUoKXtyZXR1cm4gdGhpcy4jY31zZXQgYWN0aXZpdHlMb2dBY3RpdmUoVil7dGhpcy4jYz1WfSNkPShOYSh0aGlzLEcpLE5hKHRoaXMsUixudWxsKSk7Z2V0IGFjdGl2ZU1lbnUoKXtyZXR1cm4gdGhpcy4jZH1zZXQgYWN0aXZlTWVudShWKXt0aGlzLiNkPVZ9I3U9KE5hKHRoaXMsVSksTmEodGhpcyxJLG5ldyBTZXQpKTtnZXQgb3BlbkRyb3Bkb3ducygpe3JldHVybiB0aGlzLiN1fXNldCBvcGVuRHJvcGRvd25zKFYpe3RoaXMuI3U9Vn0jcD0oTmEodGhpcyxxKSxOYSh0aGlzLHVlLG51bGwpKTtnZXQgZm9jdXNlZEl0ZW0oKXtyZXR1cm4gdGhpcy4jcH1zZXQgZm9jdXNlZEl0ZW0oVil7dGhpcy4jcD1WfSNmPShOYSh0aGlzLFkpLE5hKHRoaXMsSiwtMSkpO2dldCBmb2N1c2VkRHJvcGRvd25JdGVtKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IGZvY3VzZWREcm9wZG93bkl0ZW0oVil7dGhpcy4jZj1WfSNoPShOYSh0aGlzLFopLE5hKHRoaXMsYWUsITEpKTtnZXQgaXNQcm9maWxlRHJvcGRvd25PcGVuKCl7cmV0dXJuIHRoaXMuI2h9c2V0IGlzUHJvZmlsZURyb3Bkb3duT3BlbihWKXt0aGlzLiNoPVZ9c3RhdGljIHN0eWxlcz1IcmE7cmVuZGVyKCl7cmV0dXJuIFZyYSh0aGlzKX1yZW5kZXJNZW51SXRlbXMoKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLm1lbnVJdGVtcy5tYXAoKFYsSCk9PnRoaXMucmVuZGVyTWVudUl0ZW0oVixgbWVudS0ke0h9YCkpfQogICAgYH1yZW5kZXJNZW51SXRlbShWLEgpe2lmKCJkaXZpZGVyImluIFYmJlYuZGl2aWRlcilyZXR1cm4gd2A8ZGl2IGNsYXNzPSJkcm9wZG93bi1kaXZpZGVyIj48L2Rpdj5gO2xldCBvZT1WLHNlPXRoaXMuYWN0aXZlTWVudT09PUgsdGU9b2Uuc3VibWVudSYmb2Uuc3VibWVudS5sZW5ndGg+MDtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJtZW51SXRlbSAke3NlPyJhY3RpdmUiOiIifSIKICAgICAgICA/ZGlzYWJsZWQ9JHtvZS5kaXNhYmxlZH0KICAgICAgICB0YWJpbmRleD0iJHtvZS5kaXNhYmxlZD8tMTowfSIKICAgICAgICBkYXRhLWl0ZW0taWQ9IiR7SH0iCiAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlTWVudUNsaWNrKG9lLEgpfQogICAgICAgIEBrZXlkb3duPSR7emU9PnRoaXMuaGFuZGxlTWVudUtleWRvd24oemUsb2UsSCl9CiAgICAgICAgcm9sZT0ibWVudWl0ZW0iCiAgICAgICAgYXJpYS1oYXNwb3B1cD0iJHt0ZX0iCiAgICAgICAgYXJpYS1leHBhbmRlZD0iJHtzZX0iCiAgICAgID4KICAgICAgICAke29lLmljb25OYW1lP3dgPGRlZXMtaWNvbiAuaWNvbj0iJHtgbHVjaWRlOiR7b2UuaWNvbk5hbWV9YH0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgJHtvZS5uYW1lfQogICAgICAgICR7dGU/dGhpcy5yZW5kZXJEcm9wZG93bihvZS5zdWJtZW51LEgsc2UpOiIifQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRHJvcGRvd24oVixILG9lKXtyZXR1cm4gd2AKICAgICAgPGRpdiAKICAgICAgICBjbGFzcz0iZHJvcGRvd24gJHtvZT8ib3BlbiI6IiJ9IiAKICAgICAgICBAY2xpY2s9JHtzZT0+c2Uuc3RvcFByb3BhZ2F0aW9uKCl9CiAgICAgICAgQGtleWRvd249JHtzZT0+dGhpcy5oYW5kbGVEcm9wZG93bktleWRvd24oc2UsVixIKX0KICAgICAgICB0YWJpbmRleD0iJHtvZT8wOi0xfSIKICAgICAgICByb2xlPSJtZW51IgogICAgICA+CiAgICAgICAgJHtWLm1hcCgoc2UsdGUpPT50aGlzLnJlbmRlckRyb3Bkb3duSXRlbShzZSxgJHtIfS0ke3RlfWApKX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckRyb3Bkb3duSXRlbShWLEgpe2lmKCJkaXZpZGVyImluIFYmJlYuZGl2aWRlcilyZXR1cm4gd2A8ZGl2IGNsYXNzPSJkcm9wZG93bi1kaXZpZGVyIj48L2Rpdj5gO2xldCBvZT1WLHNlPXBhcnNlSW50KEguc3BsaXQoIi0iKS5wb3AoKXx8IjAiKSx0ZT10aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09PT1zZTtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJkcm9wZG93bi1pdGVtICR7dGU/ImZvY3VzZWQiOiIifSIKICAgICAgICA/ZGlzYWJsZWQ9JHtvZS5kaXNhYmxlZH0KICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEcm9wZG93bkl0ZW1DbGljayhvZSl9CiAgICAgICAgQG1vdXNlZW50ZXI9JHsoKT0+dGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPXNlfQogICAgICAgIHJvbGU9Im1lbnVpdGVtIgogICAgICAgIHRhYmluZGV4PSIke29lLmRpc2FibGVkPy0xOjB9IgogICAgICA+CiAgICAgICAgJHtvZS5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249IiR7YGx1Y2lkZToke29lLmljb25OYW1lfWB9Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgIDxzcGFuPiR7b2UubmFtZX08L3NwYW4+CiAgICAgICAgJHtvZS5zaG9ydGN1dD93YDxzcGFuIGNsYXNzPSJzaG9ydGN1dCI+JHtvZS5zaG9ydGN1dH08L3NwYW4+YDoiIn0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckJyZWFkY3J1bWJzKCl7aWYoIXRoaXMuYnJlYWRjcnVtYnMpcmV0dXJuIHdgYDtsZXQgVj10aGlzLmJyZWFkY3J1bWJzLnNwbGl0KHRoaXMuYnJlYWRjcnVtYlNlcGFyYXRvcik7cmV0dXJuIHdgCiAgICAgICR7Vi5tYXAoKEgsb2UpPT53YAogICAgICAgICR7b2U+MD93YDxzcGFuIGNsYXNzPSJicmVhZGNydW1iLXNlcGFyYXRvciI+JHt0aGlzLmJyZWFkY3J1bWJTZXBhcmF0b3J9PC9zcGFuPmA6IiJ9CiAgICAgICAgPHNwYW4gCiAgICAgICAgICBjbGFzcz0iYnJlYWRjcnVtYi1pdGVtIiAKICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUJyZWFkY3J1bWJDbGljayhILG9lKX0KICAgICAgICA+CiAgICAgICAgICAke0h9CiAgICAgICAgPC9zcGFuPgogICAgICBgKX0KICAgIGB9cmVuZGVyQWNjb3VudFNlY3Rpb24oKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLnNob3dTZWFyY2g/d2AKICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICBjbGFzcz0ic2VhcmNoLWljb24iCiAgICAgICAgICAuaWNvbj0keyJsdWNpZGU6c2VhcmNoIn0KICAgICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlU2VhcmNoQ2xpY2t9CiAgICAgICAgPjwvZGVlcy1pY29uPgogICAgICBgOiIifQogICAgICAke3RoaXMudXNlcj93YAogICAgICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiByZWxhdGl2ZTsiPgogICAgICAgICAgPGRpdiBjbGFzcz0idXNlci1pbmZvIiBAY2xpY2s9JHt0aGlzLmhhbmRsZVVzZXJDbGlja30+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InVzZXItYXZhdGFyIj4KICAgICAgICAgICAgICAke3RoaXMudXNlci5hdmF0YXI/d2A8aW1nIHNyYz0iJHt0aGlzLnVzZXIuYXZhdGFyfSIgYWx0PSIke3RoaXMudXNlci5uYW1lfSI+YDp3YCR7dGhpcy51c2VyLm5hbWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9YH0KICAgICAgICAgICAgICAke3RoaXMudXNlci5zdGF0dXM/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InVzZXItc3RhdHVzICR7dGhpcy51c2VyLnN0YXR1c30iPjwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8c3Bhbj4ke3RoaXMudXNlci5uYW1lfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRlZXMtYXBwdWktcHJvZmlsZWRyb3Bkb3duCiAgICAgICAgICAgIC51c2VyPSR7dGhpcy51c2VyfQogICAgICAgICAgICAubWVudUl0ZW1zPSR7dGhpcy5wcm9maWxlTWVudUl0ZW1zfQogICAgICAgICAgICAuaXNPcGVuPSR7dGhpcy5pc1Byb2ZpbGVEcm9wZG93bk9wZW59CiAgICAgICAgICAgIC5wb3NpdGlvbj0keyJ0b3AtcmlnaHQifQogICAgICAgICAgICBAbWVudS1zZWxlY3Q9JHtWPT50aGlzLmhhbmRsZVByb2ZpbGVNZW51U2VsZWN0KFYpfQogICAgICAgICAgPjwvZGVlcy1hcHB1aS1wcm9maWxlZHJvcGRvd24+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CiAgICAgICR7dGhpcy5zaG93QWN0aXZpdHlMb2dUb2dnbGU/d2AKICAgICAgICA8ZGl2CiAgICAgICAgICBjbGFzcz0iYWN0aXZpdHktdG9nZ2xlICR7dGhpcy5hY3Rpdml0eUxvZ0FjdGl2ZT8iYWN0aXZlIjoiIn0iCiAgICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZUFjdGl2aXR5VG9nZ2xlfQogICAgICAgICAgdGl0bGU9IkFjdGl2aXR5IExvZyIKICAgICAgICA+CiAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTphY3Rpdml0eSJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgJHt0aGlzLmFjdGl2aXR5TG9nQ291bnQ+MD93YAogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWN0aXZpdHktYmFkZ2UiPiR7dGhpcy5hY3Rpdml0eUxvZ0NvdW50Pjk5PyI5OSsiOnRoaXMuYWN0aXZpdHlMb2dDb3VudH08L3NwYW4+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgYH1oYW5kbGVNZW51Q2xpY2soVixIKXtWLmRpc2FibGVkfHwoVi5zdWJtZW51JiZWLnN1Ym1lbnUubGVuZ3RoPjA/dGhpcy5hY3RpdmVNZW51PT09SD90aGlzLmFjdGl2ZU1lbnU9bnVsbDp0aGlzLmFjdGl2ZU1lbnU9SDoodGhpcy5hY3RpdmVNZW51PW51bGwsVi5hY3Rpb24mJlYuYWN0aW9uKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibWVudS1zZWxlY3QiLHtkZXRhaWw6e2l0ZW06Vn0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSkpfWhhbmRsZURyb3Bkb3duSXRlbUNsaWNrKFYpe1YuZGlzYWJsZWR8fCh0aGlzLmFjdGl2ZU1lbnU9bnVsbCxWLmFjdGlvbiYmVi5hY3Rpb24oKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJtZW51LXNlbGVjdCIse2RldGFpbDp7aXRlbTpWfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX1oYW5kbGVNZW51S2V5ZG93bihWLEgsb2Upe3N3aXRjaChWLmtleSl7Y2FzZSJFbnRlciI6Y2FzZSIgIjpWLnByZXZlbnREZWZhdWx0KCksdGhpcy5oYW5kbGVNZW51Q2xpY2soSCxvZSk7YnJlYWs7Y2FzZSJBcnJvd0Rvd24iOmlmKEguc3VibWVudSYmdGhpcy5hY3RpdmVNZW51PT09b2Upe1YucHJldmVudERlZmF1bHQoKSx0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09MDtsZXQgc2U9dGhpcy5maW5kTmV4dFZhbGlkSXRlbShILnN1Ym1lbnUsLTEsMSk7c2UhPT0tMSYmKHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT1zZSxzZXRUaW1lb3V0KCgpPT57bGV0IHRlPXRoaXMucmVuZGVyUm9vdC5xdWVyeVNlbGVjdG9yKCIuZHJvcGRvd24ub3BlbiIpO3RlJiZ0ZS5mb2N1cygpfSwwKSl9YnJlYWs7Y2FzZSJFc2NhcGUiOnRoaXMuYWN0aXZlTWVudT1udWxsLHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT0tMTticmVhaztjYXNlIlRhYiI6dGhpcy5hY3RpdmVNZW51PT09b2UmJih0aGlzLmFjdGl2ZU1lbnU9bnVsbCx0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09LTEpO2JyZWFrO2Nhc2UiQXJyb3dSaWdodCI6Vi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZm9jdXNOZXh0TWVudUl0ZW0ob2UsMSk7YnJlYWs7Y2FzZSJBcnJvd0xlZnQiOlYucHJldmVudERlZmF1bHQoKSx0aGlzLmZvY3VzTmV4dE1lbnVJdGVtKG9lLC0xKTticmVha319aGFuZGxlQnJlYWRjcnVtYkNsaWNrKFYsSCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYnJlYWRjcnVtYi1uYXZpZ2F0ZSIse2RldGFpbDp7YnJlYWRjcnVtYjpWLGluZGV4Okh9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlU2VhcmNoQ2xpY2soKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWFyY2gtY2xpY2siLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUFjdGl2aXR5VG9nZ2xlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYWN0aXZpdHktdG9nZ2xlIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVVc2VyQ2xpY2soKXt0aGlzLmlzUHJvZmlsZURyb3Bkb3duT3Blbj0hdGhpcy5pc1Byb2ZpbGVEcm9wZG93bk9wZW4sdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidXNlci1tZW51LW9wZW4iLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVByb2ZpbGVNZW51U2VsZWN0KFYpe3RoaXMuaXNQcm9maWxlRHJvcGRvd25PcGVuPSExLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInByb2ZpbGUtbWVudS1zZWxlY3QiLHtkZXRhaWw6Vi5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsdGhpcy5oYW5kbGVHbG9iYWxDbGljayksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLHRoaXMuaGFuZGxlRG9jdW1lbnRDbGljayl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsaWNrIix0aGlzLmhhbmRsZURvY3VtZW50Q2xpY2spfWhhbmRsZUdsb2JhbENsaWNrPShOYSh0aGlzLHJlKSxWPT57Vi5zdG9wUHJvcGFnYXRpb24oKX0pO2hhbmRsZURvY3VtZW50Q2xpY2s9cygoKT0+e3RoaXMuYWN0aXZlTWVudT1udWxsLHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT0tMX0sImhhbmRsZURvY3VtZW50Q2xpY2siKTtoYW5kbGVEcm9wZG93bktleWRvd24oVixILG9lKXtsZXQgc2U9SC5maWx0ZXIodGU9PiEoImRpdmlkZXIiaW4gdGUmJnRlLmRpdmlkZXIpKTtzd2l0Y2goVi5rZXkpe2Nhc2UiQXJyb3dEb3duIjpWLnByZXZlbnREZWZhdWx0KCk7bGV0IHRlPXRoaXMuZmluZE5leHRWYWxpZEl0ZW0oSCx0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW0sMSk7dGUhPT0tMSYmKHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT10ZSk7YnJlYWs7Y2FzZSJBcnJvd1VwIjpWLnByZXZlbnREZWZhdWx0KCk7bGV0IHplPXRoaXMuZmluZE5leHRWYWxpZEl0ZW0oSCx0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW0sLTEpO3plIT09LTEmJih0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09emUpO2JyZWFrO2Nhc2UiRW50ZXIiOmlmKFYucHJldmVudERlZmF1bHQoKSx0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW0hPT0tMSl7bGV0ICRlPXNlW3RoaXMuZm9jdXNlZERyb3Bkb3duSXRlbV07JGUmJiJhY3Rpb24iaW4gJGUmJiEkZS5kaXNhYmxlZCYmdGhpcy5oYW5kbGVEcm9wZG93bkl0ZW1DbGljaygkZSl9YnJlYWs7Y2FzZSJIb21lIjpWLnByZXZlbnREZWZhdWx0KCk7bGV0IE9lPXRoaXMuZmluZE5leHRWYWxpZEl0ZW0oSCwtMSwxKTtPZSE9PS0xJiYodGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPU9lKTticmVhaztjYXNlIkVuZCI6Vi5wcmV2ZW50RGVmYXVsdCgpO2xldCBxZT10aGlzLmZpbmROZXh0VmFsaWRJdGVtKEgsSC5sZW5ndGgsLTEpO3FlIT09LTEmJih0aGlzLmZvY3VzZWREcm9wZG93bkl0ZW09cWUpO2JyZWFrO2Nhc2UiRXNjYXBlIjpWLnByZXZlbnREZWZhdWx0KCksdGhpcy5hY3RpdmVNZW51PW51bGwsdGhpcy5mb2N1c2VkRHJvcGRvd25JdGVtPS0xO2xldCBjdD10aGlzLnJlbmRlclJvb3QucXVlcnlTZWxlY3RvcigiLm1lbnVJdGVtLmFjdGl2ZSIpO2N0JiZjdC5mb2N1cygpO2JyZWFrfX1maW5kTmV4dFZhbGlkSXRlbShWLEgsb2Upe2xldCBzZT1IK29lO2Zvcig7c2U+PTAmJnNlPFYubGVuZ3RoOyl7bGV0IHRlPVZbc2VdO2lmKCEoImRpdmlkZXIiaW4gdGUmJnRlLmRpdmlkZXIpJiYhKCJkaXNhYmxlZCJpbiB0ZSYmdGUuZGlzYWJsZWQpKXJldHVybiBzZTtzZSs9b2V9cmV0dXJuLTF9Zm9jdXNOZXh0TWVudUl0ZW0oVixIKXtsZXQgb2U9QXJyYXkuZnJvbSh0aGlzLnJlbmRlclJvb3QucXVlcnlTZWxlY3RvckFsbCgiLm1lbnVJdGVtIikpLHNlPW9lLmZpbmRJbmRleChPZT0+T2UuZ2V0QXR0cmlidXRlKCJkYXRhLWl0ZW0taWQiKT09PVYpO2lmKHNlPT09LTEpcmV0dXJuO2xldCB0ZT1zZStIO3RlPDA/dGU9b2UubGVuZ3RoLTE6dGU+PW9lLmxlbmd0aCYmKHRlPTApO2xldCB6ZT0wO2Zvcig7emU8b2UubGVuZ3RoOyl7bGV0IE9lPW9lW3RlXTtpZighT2UuaGFzQXR0cmlidXRlKCJkaXNhYmxlZCIpKXtPZS5mb2N1cygpLHRoaXMuYWN0aXZlTWVudSYmKHRoaXMuYWN0aXZlTWVudT1udWxsLHRoaXMuZm9jdXNlZERyb3Bkb3duSXRlbT0tMSk7YnJlYWt9dGU9KHRlK0grb2UubGVuZ3RoKSVvZS5sZW5ndGgsemUrK319c3RhdGlje05hKHIsdCl9fTtyZXR1cm4geWU9cn0pKCl9KTt2YXIgX1llPWYoKCk9PntrWWUoKX0pO3ZhciBZcmEsS3JhLFpyYT1mKCgpPT57bGUoKTtJYSgpO0tyYT1zKCgpPT53KFlyYXx8KFlyYT1xNShbYAogICAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICAgIDxzdHlsZT4KICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgYmFja2dyb3VuZDogIzFhMWExYTsKICAgICAgICB9CgogICAgICAgIC5kZW1vLXNlY3Rpb24gewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICB9CgogICAgICAgIC5kZW1vLWxhYmVsIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgIGNvbG9yOiAjNzM3MzczOwogICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICB9CgogICAgICAgIC5kZW1vLWJvdHRvbWJhci13cmFwcGVyIHsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGhzbCgwIDAlIDIwJSk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWxhYmVsIj5Cb3R0b20gYmFyIHdpdGggc3RhdHVzIHdpZGdldHMgYW5kIGFjdGlvbnM8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tYm90dG9tYmFyLXdyYXBwZXIiPgogICAgICAgICAgICA8ZGVlcy1hcHB1aS1ib3R0b21iYXIKICAgICAgICAgICAgICBpZD0iZGVtby1ib3R0b21iYXIiCiAgICAgICAgICAgID48L2RlZXMtYXBwdWktYm90dG9tYmFyPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWxhYmVsIj5Db250cm9sczwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZ2FwOiA4cHg7IGZsZXgtd3JhcDogd3JhcDsiPgogICAgICAgICAgICA8YnV0dG9uIG9uY2xpY2s9ImFkZFN1Y2Nlc3NXaWRnZXQoKSI+QWRkIFN1Y2Nlc3MgV2lkZ2V0PC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0iYWRkV2FybmluZ1dpZGdldCgpIj5BZGQgV2FybmluZyBXaWRnZXQ8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJhZGRFcnJvcldpZGdldCgpIj5BZGQgRXJyb3IgV2lkZ2V0PC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0iYWRkTG9hZGluZ1dpZGdldCgpIj5BZGQgTG9hZGluZyBXaWRnZXQ8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJhZGRSaWdodFdpZGdldCgpIj5BZGQgUmlnaHQgV2lkZ2V0PC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gb25jbGljaz0iYWRkQWN0aW9uKCkiPkFkZCBBY3Rpb248L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBvbmNsaWNrPSJjbGVhckFsbCgpIj5DbGVhciBBbGw8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgPHNjcmlwdCB0eXBlPSJtb2R1bGUiPgogICAgICAgIGNvbnN0IGJvdHRvbWJhciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdkZW1vLWJvdHRvbWJhcicpOwoKICAgICAgICAvLyBXYWl0IGZvciBjb21wb25lbnQgdG8gaW5pdGlhbGl6ZQogICAgICAgIGF3YWl0IGJvdHRvbWJhci51cGRhdGVDb21wbGV0ZTsKCiAgICAgICAgLy8gQWRkIGluaXRpYWwgd2lkZ2V0cwogICAgICAgIGJvdHRvbWJhci5hZGRXaWRnZXQoewogICAgICAgICAgaWQ6ICdzdGF0dXMnLAogICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6YWN0aXZpdHknLAogICAgICAgICAgbGFiZWw6ICdTeXN0ZW0gT25saW5lJywKICAgICAgICAgIHN0YXR1czogJ3N1Y2Nlc3MnLAogICAgICAgICAgdG9vbHRpcDogJ0FsbCBzeXN0ZW1zIG9wZXJhdGlvbmFsJywKICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGNvbnNvbGUubG9nKCdTdGF0dXMgY2xpY2tlZCcpLAogICAgICAgICAgY29udGV4dE1lbnVJdGVtczogWwogICAgICAgICAgICB7IG5hbWU6ICdWaWV3IERldGFpbHMnLCBpY29uTmFtZTogJ2x1Y2lkZTppbmZvJywgYWN0aW9uOiAoKSA9PiBhbGVydCgnU3lzdGVtIGRldGFpbHMnKSB9LAogICAgICAgICAgICB7IGRpdmlkZXI6IHRydWUgfSwKICAgICAgICAgICAgeyBuYW1lOiAnUmVmcmVzaCBTdGF0dXMnLCBpY29uTmFtZTogJ2x1Y2lkZTpyZWZyZXNoQ3cnLCBhY3Rpb246ICgpID0+IGFsZXJ0KCdSZWZyZXNoaW5nLi4uJykgfSwKICAgICAgICAgIF0sCiAgICAgICAgfSk7CgogICAgICAgIGJvdHRvbWJhci5hZGRXaWRnZXQoewogICAgICAgICAgaWQ6ICdub3RpZmljYXRpb25zJywKICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOmJlbGwnLAogICAgICAgICAgbGFiZWw6ICczIG5vdGlmaWNhdGlvbnMnLAogICAgICAgICAgc3RhdHVzOiAnd2FybmluZycsCiAgICAgICAgICB0b29sdGlwOiAnWW91IGhhdmUgdW5yZWFkIG5vdGlmaWNhdGlvbnMnLAogICAgICAgICAgb25DbGljazogKCkgPT4gY29uc29sZS5sb2coJ05vdGlmaWNhdGlvbnMgY2xpY2tlZCcpLAogICAgICAgIH0pOwoKICAgICAgICBib3R0b21iYXIuYWRkV2lkZ2V0KHsKICAgICAgICAgIGlkOiAndmVyc2lvbicsCiAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTpnaXRCcmFuY2gnLAogICAgICAgICAgbGFiZWw6ICd2MS4yLjMnLAogICAgICAgICAgdG9vbHRpcDogJ0N1cnJlbnQgdmVyc2lvbicsCiAgICAgICAgICBwb3NpdGlvbjogJ3JpZ2h0JywKICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGNvbnNvbGUubG9nKCdWZXJzaW9uIGNsaWNrZWQnKSwKICAgICAgICB9KTsKCiAgICAgICAgLy8gQWRkIGluaXRpYWwgYWN0aW9ucwogICAgICAgIGJvdHRvbWJhci5hZGRBY3Rpb24oewogICAgICAgICAgaWQ6ICdzZXR0aW5ncycsCiAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTpzZXR0aW5ncycsCiAgICAgICAgICB0b29sdGlwOiAnU2V0dGluZ3MnLAogICAgICAgICAgcG9zaXRpb246ICdyaWdodCcsCiAgICAgICAgICBvbkNsaWNrOiAoKSA9PiBhbGVydCgnU2V0dGluZ3MgY2xpY2tlZCcpLAogICAgICAgIH0pOwoKICAgICAgICBib3R0b21iYXIuYWRkQWN0aW9uKHsKICAgICAgICAgIGlkOiAnaGVscCcsCiAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTpoZWxwQ2lyY2xlJywKICAgICAgICAgIHRvb2x0aXA6ICdIZWxwJywKICAgICAgICAgIHBvc2l0aW9uOiAncmlnaHQnLAogICAgICAgICAgb25DbGljazogKCkgPT4gYWxlcnQoJ0hlbHAgY2xpY2tlZCcpLAogICAgICAgIH0pOwoKICAgICAgICAvLyBEZW1vIGNvbnRyb2wgZnVuY3Rpb25zCiAgICAgICAgbGV0IHdpZGdldENvdW50ZXIgPSAwOwogICAgICAgIGxldCBhY3Rpb25Db3VudGVyID0gMDsKCiAgICAgICAgd2luZG93LmFkZFN1Y2Nlc3NXaWRnZXQgPSAoKSA9PiB7CiAgICAgICAgICB3aWRnZXRDb3VudGVyKys7CiAgICAgICAgICBib3R0b21iYXIuYWRkV2lkZ2V0KHsKICAgICAgICAgICAgaWQ6ICdzdWNjZXNzLScgKyB3aWRnZXRDb3VudGVyLAogICAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTpjaGVja0NpcmNsZScsCiAgICAgICAgICAgIGxhYmVsOiAnU3VjY2VzcyAnICsgd2lkZ2V0Q291bnRlciwKICAgICAgICAgICAgc3RhdHVzOiAnc3VjY2VzcycsCiAgICAgICAgICAgIHRvb2x0aXA6ICdTdWNjZXNzIHdpZGdldCcsCiAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGJvdHRvbWJhci5yZW1vdmVXaWRnZXQoJ3N1Y2Nlc3MtJyArIHdpZGdldENvdW50ZXIpLAogICAgICAgICAgfSk7CiAgICAgICAgfTsKCiAgICAgICAgd2luZG93LmFkZFdhcm5pbmdXaWRnZXQgPSAoKSA9PiB7CiAgICAgICAgICB3aWRnZXRDb3VudGVyKys7CiAgICAgICAgICBib3R0b21iYXIuYWRkV2lkZ2V0KHsKICAgICAgICAgICAgaWQ6ICd3YXJuaW5nLScgKyB3aWRnZXRDb3VudGVyLAogICAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTphbGVydFRyaWFuZ2xlJywKICAgICAgICAgICAgbGFiZWw6ICdXYXJuaW5nICcgKyB3aWRnZXRDb3VudGVyLAogICAgICAgICAgICBzdGF0dXM6ICd3YXJuaW5nJywKICAgICAgICAgICAgdG9vbHRpcDogJ1dhcm5pbmcgd2lkZ2V0JywKICAgICAgICAgICAgb25DbGljazogKCkgPT4gYm90dG9tYmFyLnJlbW92ZVdpZGdldCgnd2FybmluZy0nICsgd2lkZ2V0Q291bnRlciksCiAgICAgICAgICB9KTsKICAgICAgICB9OwoKICAgICAgICB3aW5kb3cuYWRkRXJyb3JXaWRnZXQgPSAoKSA9PiB7CiAgICAgICAgICB3aWRnZXRDb3VudGVyKys7CiAgICAgICAgICBib3R0b21iYXIuYWRkV2lkZ2V0KHsKICAgICAgICAgICAgaWQ6ICdlcnJvci0nICsgd2lkZ2V0Q291bnRlciwKICAgICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6eENpcmNsZScsCiAgICAgICAgICAgIGxhYmVsOiAnRXJyb3IgJyArIHdpZGdldENvdW50ZXIsCiAgICAgICAgICAgIHN0YXR1czogJ2Vycm9yJywKICAgICAgICAgICAgdG9vbHRpcDogJ0Vycm9yIHdpZGdldCcsCiAgICAgICAgICAgIG9uQ2xpY2s6ICgpID0+IGJvdHRvbWJhci5yZW1vdmVXaWRnZXQoJ2Vycm9yLScgKyB3aWRnZXRDb3VudGVyKSwKICAgICAgICAgIH0pOwogICAgICAgIH07CgogICAgICAgIHdpbmRvdy5hZGRMb2FkaW5nV2lkZ2V0ID0gKCkgPT4gewogICAgICAgICAgd2lkZ2V0Q291bnRlcisrOwogICAgICAgICAgY29uc3QgaWQgPSAnbG9hZGluZy0nICsgd2lkZ2V0Q291bnRlcjsKICAgICAgICAgIGJvdHRvbWJhci5hZGRXaWRnZXQoewogICAgICAgICAgICBpZDogaWQsCiAgICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOmxvYWRlcjInLAogICAgICAgICAgICBsYWJlbDogJ0xvYWRpbmcuLi4nLAogICAgICAgICAgICBzdGF0dXM6ICdhY3RpdmUnLAogICAgICAgICAgICBsb2FkaW5nOiB0cnVlLAogICAgICAgICAgICB0b29sdGlwOiAnTG9hZGluZyBpbiBwcm9ncmVzcycsCiAgICAgICAgICB9KTsKCiAgICAgICAgICAvLyBTaW11bGF0ZSBjb21wbGV0aW9uIGFmdGVyIDMgc2Vjb25kcwogICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7CiAgICAgICAgICAgIGJvdHRvbWJhci51cGRhdGVXaWRnZXQoaWQsIHsKICAgICAgICAgICAgICBpY29uTmFtZTogJ2x1Y2lkZTpjaGVjaycsCiAgICAgICAgICAgICAgbGFiZWw6ICdEb25lIScsCiAgICAgICAgICAgICAgc3RhdHVzOiAnc3VjY2VzcycsCiAgICAgICAgICAgICAgbG9hZGluZzogZmFsc2UsCiAgICAgICAgICAgIH0pOwogICAgICAgICAgfSwgMzAwMCk7CiAgICAgICAgfTsKCiAgICAgICAgd2luZG93LmFkZFJpZ2h0V2lkZ2V0ID0gKCkgPT4gewogICAgICAgICAgd2lkZ2V0Q291bnRlcisrOwogICAgICAgICAgYm90dG9tYmFyLmFkZFdpZGdldCh7CiAgICAgICAgICAgIGlkOiAncmlnaHQtJyArIHdpZGdldENvdW50ZXIsCiAgICAgICAgICAgIGljb25OYW1lOiAnbHVjaWRlOmluZm8nLAogICAgICAgICAgICBsYWJlbDogJ1JpZ2h0ICcgKyB3aWRnZXRDb3VudGVyLAogICAgICAgICAgICBwb3NpdGlvbjogJ3JpZ2h0JywKICAgICAgICAgICAgb25DbGljazogKCkgPT4gYm90dG9tYmFyLnJlbW92ZVdpZGdldCgncmlnaHQtJyArIHdpZGdldENvdW50ZXIpLAogICAgICAgICAgfSk7CiAgICAgICAgfTsKCiAgICAgICAgd2luZG93LmFkZEFjdGlvbiA9ICgpID0+IHsKICAgICAgICAgIGFjdGlvbkNvdW50ZXIrKzsKICAgICAgICAgIGJvdHRvbWJhci5hZGRBY3Rpb24oewogICAgICAgICAgICBpZDogJ2FjdGlvbi0nICsgYWN0aW9uQ291bnRlciwKICAgICAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6emFwJywKICAgICAgICAgICAgdG9vbHRpcDogJ0FjdGlvbiAnICsgYWN0aW9uQ291bnRlciwKICAgICAgICAgICAgb25DbGljazogKCkgPT4gewogICAgICAgICAgICAgIGFsZXJ0KCdBY3Rpb24gJyArIGFjdGlvbkNvdW50ZXIgKyAnIGNsaWNrZWQnKTsKICAgICAgICAgICAgICBib3R0b21iYXIucmVtb3ZlQWN0aW9uKCdhY3Rpb24tJyArIGFjdGlvbkNvdW50ZXIpOwogICAgICAgICAgICB9LAogICAgICAgICAgfSk7CiAgICAgICAgfTsKCiAgICAgICAgd2luZG93LmNsZWFyQWxsID0gKCkgPT4gewogICAgICAgICAgYm90dG9tYmFyLmNsZWFyV2lkZ2V0cygpOwogICAgICAgICAgYm90dG9tYmFyLmNsZWFyQWN0aW9ucygpOwogICAgICAgICAgd2lkZ2V0Q291bnRlciA9IDA7CiAgICAgICAgICBhY3Rpb25Db3VudGVyID0gMDsKICAgICAgICB9OwogICAgICA8XC9zY3JpcHQ+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYF0pKSksImRlbW9GdW5jIil9KTt2YXIgVFllLERVLFhyYSxMWWU9ZigoKT0+e2xlKCk7UWUoKTt2YSgpO1lyKCk7WnJhKCk7VFllPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxEVT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sWHJhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1hcHB1aS1ib3R0b21iYXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0FwcHVpQm90dG9tYmFyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxkPVtLKCldLFRZZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndpZGdldHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+IndpZGdldHMiaW4gdiwiaGFzIiksZ2V0OnModj0+di53aWRnZXRzLCJnZXQiKSxzZXQ6cygodix4KT0+e3Yud2lkZ2V0cz14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksVFllKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iYWN0aW9ucyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmFjdGlvbnMsImdldCIpLHNldDpzKCh2LHgpPT57di5hY3Rpb25zPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxUWWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1LcmE7c3RhdGljIGRlbW9Hcm91cHM9WyJBcHAgVUkiXTsjZT1EVSh0aGlzLG4sW10pO2dldCB3aWRnZXRzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHdpZGdldHMobSl7dGhpcy4jZT1tfSN0PShEVSh0aGlzLGwpLERVKHRoaXMsYyxbXSkpO2dldCBhY3Rpb25zKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGFjdGlvbnMobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAuYm90dG9tLWJhciB7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXRlcnRpYXJ5KTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CgogICAgICAud2lkZ2V0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogMnB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAud2lkZ2V0OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC53aWRnZXQgZGVlcy1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLndpZGdldC1zZXBhcmF0b3IgewogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICAgICAgbWFyZ2luOiAwIDRweDsKICAgICAgfQoKICAgICAgLyogU3RhdHVzIGNvbG9ycyBtYXRjaGluZyBkZWVzLXdvcmtzcGFjZS1ib3R0b21iYXIgKi8KICAgICAgLndpZGdldC5hY3RpdmUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDQ1JSkiLCJoc2woMjEwIDEwMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldC5zdWNjZXNzIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIgNzAlIDM1JSkiLCJoc2woMTQyIDcwJSA1MCUpIil9OwogICAgICB9CgogICAgICAud2lkZ2V0Lndhcm5pbmcgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDM4IDkyJSA0NSUpIiwiaHNsKDM4IDkyJSA1NSUpIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LmVycm9yIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcwJSA1MCUpIiwiaHNsKDAgNzAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgZnJvbSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9CiAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgIH0KCiAgICAgIC5zcGlubmluZyB7CiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDFzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgLnNwYWNlciB7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGlzYWJsZWQ6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgbT10aGlzLndpZGdldHMuZmlsdGVyKGc9PmcucG9zaXRpb24hPT0icmlnaHQiKS5zb3J0KChnLHkpPT4oZy5vcmRlcnx8MCktKHkub3JkZXJ8fDApKSx2PXRoaXMud2lkZ2V0cy5maWx0ZXIoZz0+Zy5wb3NpdGlvbj09PSJyaWdodCIpLnNvcnQoKGcseSk9PihnLm9yZGVyfHwwKS0oeS5vcmRlcnx8MCkpLHg9dGhpcy5hY3Rpb25zLmZpbHRlcihnPT5nLnBvc2l0aW9uPT09ImxlZnQiKSxiPXRoaXMuYWN0aW9ucy5maWx0ZXIoZz0+Zy5wb3NpdGlvbiE9PSJsZWZ0Iik7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbS1iYXIiPgogICAgICAgIDwhLS0gTGVmdCBhY3Rpb25zIC0tPgogICAgICAgICR7eC5tYXAoZz0+dGhpcy5yZW5kZXJBY3Rpb24oZykpfQoKICAgICAgICA8IS0tIExlZnQgd2lkZ2V0cyAtLT4KICAgICAgICAke20ubWFwKChnLHkpPT53YAogICAgICAgICAgJHt5PjB8fHgubGVuZ3RoPjA/d2A8ZGl2IGNsYXNzPSJ3aWRnZXQtc2VwYXJhdG9yIj48L2Rpdj5gOiIifQogICAgICAgICAgJHt0aGlzLnJlbmRlcldpZGdldChnKX0KICAgICAgICBgKX0KCiAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KCiAgICAgICAgPCEtLSBSaWdodCB3aWRnZXRzIC0tPgogICAgICAgICR7di5tYXAoKGcseSk9PndgCiAgICAgICAgICAke3RoaXMucmVuZGVyV2lkZ2V0KGcpfQogICAgICAgICAgJHt5PHYubGVuZ3RoLTF8fGIubGVuZ3RoPjA/d2A8ZGl2IGNsYXNzPSJ3aWRnZXQtc2VwYXJhdG9yIj48L2Rpdj5gOiIifQogICAgICAgIGApfQoKICAgICAgICA8IS0tIFJpZ2h0IGFjdGlvbnMgLS0+CiAgICAgICAgJHtiLm1hcChnPT50aGlzLnJlbmRlckFjdGlvbihnKSl9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJXaWRnZXQobSl7bGV0IHY9bS5zdGF0dXMmJm0uc3RhdHVzIT09ImlkbGUiP20uc3RhdHVzOiIiLHg9bS5pY29uTmFtZT9tLmljb25OYW1lLnN0YXJ0c1dpdGgoImx1Y2lkZToiKT9tLmljb25OYW1lOmBsdWNpZGU6JHttLmljb25OYW1lfWA6IiI7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0id2lkZ2V0ICR7dn0iCiAgICAgICAgdGl0bGU9IiR7bS50b29sdGlwfHwiIn0iCiAgICAgICAgQGNsaWNrPSR7KCk9Pm0ub25DbGljaz8uKCl9CiAgICAgICAgQGNvbnRleHRtZW51PSR7Yj0+dGhpcy5oYW5kbGVXaWRnZXRDb250ZXh0TWVudShiLG0pfQogICAgICA+CiAgICAgICAgJHt4P3dgCiAgICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICAgIC5pY29uPSR7eH0KICAgICAgICAgICAgaWNvblNpemU9IjEyIgogICAgICAgICAgICBjbGFzcz0iJHttLmxvYWRpbmc/InNwaW5uaW5nIjoiIn0iCiAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgYDoiIn0KICAgICAgICAke20ubGFiZWw/d2A8c3Bhbj4ke20ubGFiZWx9PC9zcGFuPmA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJBY3Rpb24obSl7bGV0IHY9bS5pY29uTmFtZS5zdGFydHNXaXRoKCJsdWNpZGU6Iik/bS5pY29uTmFtZTpgbHVjaWRlOiR7bS5pY29uTmFtZX1gO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImFjdGlvbi1idXR0b24gJHttLmRpc2FibGVkPyJkaXNhYmxlZCI6IiJ9IgogICAgICAgIHRpdGxlPSIke20udG9vbHRpcHx8IiJ9IgogICAgICAgIEBjbGljaz0keygpPT4hbS5kaXNhYmxlZCYmbS5vbkNsaWNrPy4oKX0KICAgICAgPgogICAgICAgIDxkZWVzLWljb24KICAgICAgICAgIC5pY29uPSR7dn0KICAgICAgICAgIGljb25TaXplPSIxMiIKICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBoYW5kbGVXaWRnZXRDb250ZXh0TWVudShtLHYpe2lmKCF2LmNvbnRleHRNZW51SXRlbXN8fHYuY29udGV4dE1lbnVJdGVtcy5sZW5ndGg9PT0wKXJldHVybjttLnByZXZlbnREZWZhdWx0KCk7bGV0IHg9W107Zm9yKGxldCBiIG9mIHYuY29udGV4dE1lbnVJdGVtcyliLmRpdmlkZXI/eC5wdXNoKHtkaXZpZGVyOiEwfSk6eC5wdXNoKHtuYW1lOmIubmFtZSxpY29uTmFtZTpiLmljb25OYW1lLGFjdGlvbjpzKGFzeW5jKCk9Pnthd2FpdCBiLmFjdGlvbigpfSwiYWN0aW9uIiksZGlzYWJsZWQ6Yi5kaXNhYmxlZH0pO2F3YWl0IGVhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKG0seCl9YWRkV2lkZ2V0KG0pe3RoaXMud2lkZ2V0cz10aGlzLndpZGdldHMuZmlsdGVyKHY9PnYuaWQhPT1tLmlkKSx0aGlzLndpZGdldHM9Wy4uLnRoaXMud2lkZ2V0cyxtXX11cGRhdGVXaWRnZXQobSx2KXt0aGlzLndpZGdldHM9dGhpcy53aWRnZXRzLm1hcCh4PT54LmlkPT09bT97Li4ueCwuLi52fTp4KX1yZW1vdmVXaWRnZXQobSl7dGhpcy53aWRnZXRzPXRoaXMud2lkZ2V0cy5maWx0ZXIodj0+di5pZCE9PW0pfWdldFdpZGdldChtKXtyZXR1cm4gdGhpcy53aWRnZXRzLmZpbmQodj0+di5pZD09PW0pfWNsZWFyV2lkZ2V0cygpe3RoaXMud2lkZ2V0cz1bXX1hZGRBY3Rpb24obSl7dGhpcy5hY3Rpb25zPXRoaXMuYWN0aW9ucy5maWx0ZXIodj0+di5pZCE9PW0uaWQpLHRoaXMuYWN0aW9ucz1bLi4udGhpcy5hY3Rpb25zLG1dfXJlbW92ZUFjdGlvbihtKXt0aGlzLmFjdGlvbnM9dGhpcy5hY3Rpb25zLmZpbHRlcih2PT52LmlkIT09bSl9Y2xlYXJBY3Rpb25zKCl7dGhpcy5hY3Rpb25zPVtdfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxEVSh0aGlzLHApfXN0YXRpY3tEVShyLHQpfX07cmV0dXJuIHU9cn0pKCl9KTt2YXIgUXJhPWYoKCk9PntMWWUoKX0pO3ZhciBKcmEsZXNhPWYoKCk9PntsZSgpO0pyYT1zKCgpPT53YAogIDxzdHlsZT4KICAgICR7UWAKICAgICAgLmRlbW8tYmFja2dyb3VuZCB7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDUlKSIpfTsKICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgbWFyZ2luOiAzMnB4IDAgMTZweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KICAgICAgCiAgICAgIC5zZWN0aW9uLXRpdGxlOmZpcnN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICB9CiAgICAgIAogICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQogICAgICAKICAgICAgLmdyaWQtM2NvbCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQogICAgICAKICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk2OHB4KSB7CiAgICAgICAgLmdyaWQtM2NvbCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkLWxheW91dCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIGNvZGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgcGFkZGluZzogMnB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgCiAgPGRpdiBjbGFzcz0iZGVtby1iYWNrZ3JvdW5kIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5EZWZhdWx0IFBhbmVsczwvaDI+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiUGFuZWwgQ29tcG9uZW50In0gLnN1YnRpdGxlPSR7IlRoZSBkZWZhdWx0IHBhbmVsIHZhcmlhbnQgd2l0aCBzaGFkY24taW5zcGlyZWQgc3R5bGluZyJ9PgogICAgICAgIDxwPlRoZSBwYW5lbCBjb21wb25lbnQgYXV0b21hdGljYWxseSBmb2xsb3dzIHRoZSB0aGVtZSBhbmQgcHJvdmlkZXMgY29uc2lzdGVudCBzdHlsaW5nIGZvciBncm91cGVkIGNvbnRlbnQuPC9wPgogICAgICAgIDxwPkl0J3MgcGVyZmVjdCBmb3IgY3JlYXRpbmcgc2VjdGlvbnMgaW4geW91ciBhcHBsaWNhdGlvbiB3aXRoIHByb3BlciBzcGFjaW5nIGFuZCBib3JkZXJzLjwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1sYXlvdXQiPgogICAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGZWF0dXJlIE92ZXJ2aWV3In0gLnN1YnRpdGxlPSR7IktleSBjYXBhYmlsaXRpZXMifT4KICAgICAgICAgIDxwPkdyaWQgbGF5b3V0cyB3b3JrIGdyZWF0IHdpdGggcGFuZWxzIGZvciBjcmVhdGluZyBkYXNoYm9hcmRzIGFuZCBmZWF0dXJlIHNlY3Rpb25zLjwvcD4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5MZWFybiBNb3JlPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgICAgCiAgICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlF1aWNrIEFjdGlvbnMifSAuc3VidGl0bGU9JHsiQ29tbW9uIHRhc2tzIn0+CiAgICAgICAgICA8cD5FYWNoIHBhbmVsIG1haW50YWlucyBjb25zaXN0ZW50IHNwYWNpbmcgYW5kIHN0eWxpbmcgYWNyb3NzIHlvdXIgYXBwbGljYXRpb24uPC9wPgogICAgICAgICAgPGRlZXMtYnV0dG9uPkdldCBTdGFydGVkPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5QYW5lbCBWYXJpYW50czwvaDI+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiRGVmYXVsdCBWYXJpYW50In0gLnZhcmlhbnQ9JHsiZGVmYXVsdCJ9PgogICAgICAgIDxwPlRoZSBkZWZhdWx0IHZhcmlhbnQgaGFzIGEgd2hpdGUgYmFja2dyb3VuZCwgc3VidGxlIGJvcmRlciwgYW5kIG1pbmltYWwgc2hhZG93LiBJdCdzIHRoZSBzdGFuZGFyZCBjaG9pY2UgZm9yIG1vc3QgY29udGVudC48L3A+CiAgICAgICAgPHA+VXNlIDxjb2RlPnZhcmlhbnQ9ImRlZmF1bHQiPC9jb2RlPiBvciBvbWl0IHRoZSB2YXJpYW50IHByb3BlcnR5LjwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ik91dGxpbmUgVmFyaWFudCJ9IC5zdWJ0aXRsZT0keyJUcmFuc3BhcmVudCBiYWNrZ3JvdW5kIHdpdGggYm9yZGVyIn0gLnZhcmlhbnQ9JHsib3V0bGluZSJ9PgogICAgICAgIDxwPlRoZSBvdXRsaW5lIHZhcmlhbnQgcmVtb3ZlcyB0aGUgYmFja2dyb3VuZCBjb2xvciBhbmQgc2hhZG93LCBrZWVwaW5nIG9ubHkgdGhlIGJvcmRlci48L3A+CiAgICAgICAgPHA+VXNlIDxjb2RlPnZhcmlhbnQ9Im91dGxpbmUiPC9jb2RlPiBmb3IgYSBsaWdodGVyIHZpc3VhbCB3ZWlnaHQuPC9wPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiR2hvc3QgVmFyaWFudCJ9IC5zdWJ0aXRsZT0keyJNaW5pbWFsIHN0eWxpbmcgZm9yIHN1YnRsZSBzZWN0aW9ucyJ9IC52YXJpYW50PSR7Imdob3N0In0+CiAgICAgICAgPHA+VGhlIGdob3N0IHZhcmlhbnQgaGFzIG5vIGJvcmRlciBvciBiYWNrZ3JvdW5kIGJ5IGRlZmF1bHQsIG9ubHkgc2hvd2luZyBhIHN1YnRsZSBiYWNrZ3JvdW5kIG9uIGhvdmVyLjwvcD4KICAgICAgICA8cD5Vc2UgPGNvZGU+dmFyaWFudD0iZ2hvc3QiPC9jb2RlPiBmb3IgdGhlIG1vc3QgbWluaW1hbCBhcHBlYXJhbmNlLjwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5QYW5lbCBTaXplczwvaDI+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJncmlkLTNjb2wiPgogICAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJTbWFsbCBQYW5lbCJ9IC5zaXplPSR7InNtIn0+CiAgICAgICAgICA8cD5Db21wYWN0IHBhZGRpbmcgZm9yIGRlbnNlIGxheW91dHMuPC9wPgogICAgICAgICAgPHA+VXNlIDxjb2RlPnNpemU9InNtIjwvY29kZT48L3A+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAgIAogICAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJNZWRpdW0gUGFuZWwifSAuc2l6ZT0keyJtZCJ9PgogICAgICAgICAgPHA+RGVmYXVsdCBzaXplIHdpdGggYmFsYW5jZWQgc3BhY2luZy48L3A+CiAgICAgICAgICA8cD5Vc2UgPGNvZGU+c2l6ZT0ibWQiPC9jb2RlPiBvciBvbWl0LjwvcD4KICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgICAgCiAgICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkxhcmdlIFBhbmVsIn0gLnNpemU9JHsibGcifT4KICAgICAgICAgIDxwPkdlbmVyb3VzIHBhZGRpbmcgZm9yIHByb21pbmVudCBzZWN0aW9ucy48L3A+CiAgICAgICAgICA8cD5Vc2UgPGNvZGU+c2l6ZT0ibGciPC9jb2RlPjwvcD4KICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Db21wbGV4IEV4YW1wbGVzPC9oMj4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGb3JtIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiUGFuZWxzIHdvcmsgZ3JlYXQgZm9yIG9yZ2FuaXppbmcgZm9ybSBzZWN0aW9ucyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJQcm9qZWN0IE5hbWUifSAucmVxdWlyZWQ9JHshMH0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJEZXNjcmlwdGlvbiJ9IC5pbnB1dFR5cGU9JHsidGV4dGFyZWEifT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duIAogICAgICAgICAgICAubGFiZWw9JHsiQ2F0ZWdvcnkifSAKICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiV2ViIERldmVsb3BtZW50IixrZXk6IndlYiJ9LHtvcHRpb246Ik1vYmlsZSBBcHAiLGtleToibW9iaWxlIn0se29wdGlvbjoiRGVza3RvcCBTb2Z0d2FyZSIsa2V5OiJkZXNrdG9wIn1dfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PkNyZWF0ZSBQcm9qZWN0PC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiTmVzdGVkIFBhbmVscyJ9IC5zdWJ0aXRsZT0keyJQYW5lbHMgY2FuIGJlIG5lc3RlZCBmb3IgaGllcmFyY2hpY2FsIG9yZ2FuaXphdGlvbiJ9PgogICAgICAgIDxwPllvdSBjYW4gbmVzdCBwYW5lbHMgdG8gY3JlYXRlIG1vcmUgY29tcGxleCBsYXlvdXRzOjwvcD4KICAgICAgICAKICAgICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiTmVzdGVkIFBhbmVsIDEifSAudmFyaWFudD0keyJvdXRsaW5lIn0gLnNpemU9JHsic20ifT4KICAgICAgICAgIDxwPlRoaXMgaXMgYSBuZXN0ZWQgcGFuZWwgd2l0aCBvdXRsaW5lIHZhcmlhbnQgYW5kIHNtYWxsIHNpemUuPC9wPgogICAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgICAKICAgICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiTmVzdGVkIFBhbmVsIDIifSAudmFyaWFudD0keyJnaG9zdCJ9IC5zaXplPSR7InNtIn0+CiAgICAgICAgICA8cD5UaGlzIGlzIGFub3RoZXIgbmVzdGVkIHBhbmVsIHdpdGggZ2hvc3QgdmFyaWFudC48L3A+CiAgICAgICAgPC9kZWVzLXBhbmVsPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlVudGl0bGVkIFBhbmVsczwvaDI+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbD4KICAgICAgICA8cD5QYW5lbHMgd29yayBncmVhdCBldmVuIHdpdGhvdXQgYSB0aXRsZSBmb3Igc2ltcGxlIGNvbnRlbnQgZ3JvdXBpbmcuPC9wPgogICAgICAgIDxwPlRoZXkgcHJvdmlkZSB2aXN1YWwgc2VwYXJhdGlvbiBhbmQgY29uc2lzdGVudCBwYWRkaW5nIHRocm91Z2hvdXQgeW91ciBpbnRlcmZhY2UuPC9wPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJncmlkLWxheW91dCI+CiAgICAgICAgPGRlZXMtcGFuZWwgLnZhcmlhbnQ9JHsib3V0bGluZSJ9PgogICAgICAgICAgPGg0IHN0eWxlPSJtYXJnaW4tdG9wOiAwOyI+Q3VzdG9tIENvbnRlbnQ8L2g0PgogICAgICAgICAgPHA+WW91IGNhbiBhZGQgeW91ciBvd24gaGVhZGluZ3MgYW5kIHN0cnVjdHVyZSB3aXRoaW4gdW50aXRsZWQgcGFuZWxzLjwvcD4KICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgICAgCiAgICAgICAgPGRlZXMtcGFuZWwgLnZhcmlhbnQ9JHsiZ2hvc3QifT4KICAgICAgICAgIDxoNCBzdHlsZT0ibWFyZ2luLXRvcDogMDsiPk1pbmltYWwgU3R5bGU8L2g0PgogICAgICAgICAgPHA+R2hvc3QgcGFuZWxzIHdpdGhvdXQgdGl0bGVzIGNyZWF0ZSB2ZXJ5IHN1YnRsZSBjb250ZW50IHNlY3Rpb25zLjwvcD4KICAgICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgdSRhLHAkYSwkWWUsWXRlLHBhLENmLGYkYSxoJGEsdHNhLG0kYSxnJGEsZkVpLGhFaSx1cz1mKCgpPT57bGUoKTt1JGE9IkdlaXN0IFNhbnMiLHAkYT0iSW50ZWwgT25lIE1vbm8iLCRZZT1gJyR7dSRhfScsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsICdPeHlnZW4nLCAnVWJ1bnR1JywgJ0NhbnRhcmVsbCcsICdGaXJhIFNhbnMnLCAnRHJvaWQgU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWZgLFl0ZT1gJyR7cCRhfScsICdTRiBNb25vJywgJ01vbmFjbycsICdJbmNvbnNvbGF0YScsICdGaXJhIENvZGUnLCAnRmlyYSBNb25vJywgJ0Ryb2lkIFNhbnMgTW9ubycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZWAscGE9b2EoJFllKSxDZj1vYShZdGUpLGYkYT0iQ2FsIFNhbnMiLGgkYT1gJyR7ZiRhfScsICR7JFllfWAsdHNhPW9hKGgkYSksbSRhPSJSb2JvdG8gU2xhYiIsZyRhPWAnJHttJGF9JywgR2VvcmdpYSwgc2VyaWZgLGZFaT1vYShnJGEpLGhFaT1vYShgCiAgZm9udC1mYW1pbHk6ICR7JFllfTsKICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOwogIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2N2MTEnLCAndG51bScsICdjdjA1JyAxOwpgKX0pO3ZhciBzbSxfMSxhc2EsVXM9ZigoKT0+e2xlKCk7ZXNhKCk7dXMoKTtRZSgpO3NtPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxfMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sYXNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1wYW5lbCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzUGFuZWwiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHthdHRyaWJ1dGU6ITF9KV0sc20odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aXRsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4idGl0bGUiaW4geiwiaGFzIiksZ2V0OnMoej0+ei50aXRsZSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnRpdGxlPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSxzbSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN1YnRpdGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzdWJ0aXRsZSJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnN1YnRpdGxlLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc3VidGl0bGU9T30sInNldCIpfSxtZXRhZGF0YTpffSxjLHApLHNtKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFyaWFudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4idmFyaWFudCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnZhcmlhbnQsImdldCIpLHNldDpzKCh6LE8pPT57ei52YXJpYW50PU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbSx2KSxzbSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNpemUiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5zaXplLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2l6ZT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZyksc20odGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJydW5BZnRlclJlbmRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4icnVuQWZ0ZXJSZW5kZXIiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5ydW5BZnRlclJlbmRlciwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnJ1bkFmdGVyUmVuZGVyPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sayxDKSxzbShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpffSxudWxsLHQpLE49cj1lLnZhbHVlLF8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6X30pfXN0YXRpYyBkZW1vPUpyYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCJdOyNlPV8xKHRoaXMsbiwiIik7Z2V0IHRpdGxlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRpdGxlKF8pe3RoaXMuI2U9X30jdD0oXzEodGhpcyxsKSxfMSh0aGlzLGMsIiIpKTtnZXQgc3VidGl0bGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc3VidGl0bGUoXyl7dGhpcy4jdD1ffSNhPShfMSh0aGlzLHApLF8xKHRoaXMsbSwiZGVmYXVsdCIpKTtnZXQgdmFyaWFudCgpe3JldHVybiB0aGlzLiNhfXNldCB2YXJpYW50KF8pe3RoaXMuI2E9X30jcj0oXzEodGhpcyx2KSxfMSh0aGlzLGIsIm1kIikpO2dldCBzaXplKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHNpemUoXyl7dGhpcy4jcj1ffSNzPShfMSh0aGlzLGcpLF8xKHRoaXMsayx2b2lkIDApKTtnZXQgcnVuQWZ0ZXJSZW5kZXIoKXtyZXR1cm4gdGhpcy4jc31zZXQgcnVuQWZ0ZXJSZW5kZXIoXyl7dGhpcy4jcz1ffXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgLyogVmFyaWFudDogZGVmYXVsdCAqLwogICAgICA6aG9zdChbdmFyaWFudD0iZGVmYXVsdCJdKSB7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgaHNsKDAgMCUgMCUgLyAwLjA1KTsKICAgICAgfQoKICAgICAgLyogVmFyaWFudDogb3V0bGluZSAqLwogICAgICA6aG9zdChbdmFyaWFudD0ib3V0bGluZSJdKSB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgICAgfQoKICAgICAgLyogVmFyaWFudDogZ2hvc3QgKi8KICAgICAgOmhvc3QoW3ZhcmlhbnQ9Imdob3N0Il0pIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OwogICAgICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgfQoKICAgICAgLyogU2l6ZSB2YXJpYXRpb25zICovCiAgICAgIDpob3N0KFtzaXplPSJzbSJdKSB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgfQoKICAgICAgOmhvc3QoW3NpemU9ImxnIl0pIHsKICAgICAgICBwYWRkaW5nOiAzMnB4OwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuaGVhZGVyOmVtcHR5IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgIH0KCiAgICAgIC8qIFRpdGxlIHNpemUgdmFyaWF0aW9ucyAqLwogICAgICA6aG9zdChbc2l6ZT0ic20iXSkgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtzaXplPSJsZyJdKSAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgfQoKICAgICAgLnN1YnRpdGxlIHsKICAgICAgICBtYXJnaW46IDRweCAwIDAgMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwNmVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgIH0KCiAgICAgIC8qIFN1YnRpdGxlIHNpemUgdmFyaWF0aW9ucyAqLwogICAgICA6aG9zdChbc2l6ZT0ic20iXSkgLnN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtzaXplPSJsZyJdKSAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBtYXJnaW4tdG9wOiA2cHg7CiAgICAgIH0KCiAgICAgIC5jb250ZW50IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgMjYuNyUpIiwiaHNsKDIxNy45IDEwLjYlIDg0LjklKSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgfQoKICAgICAgLyogQ29udGVudCBzaXplIHZhcmlhdGlvbnMgKi8KICAgICAgOmhvc3QoW3NpemU9InNtIl0pIC5jb250ZW50IHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtzaXplPSJsZyJdKSAuY29udGVudCB7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICB9CgogICAgICAvKiBSZW1vdmUgbWFyZ2lucyBmcm9tIGZpcnN0IGFuZCBsYXN0IGNoaWxkcmVuICovCiAgICAgIC5jb250ZW50IDo6c2xvdHRlZCgqOmZpcnN0LWNoaWxkKSB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgfQoKICAgICAgLmNvbnRlbnQgOjpzbG90dGVkKCo6bGFzdC1jaGlsZCkgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC8qIEludGVyYWN0aXZlIHN0YXRlcyBmb3IgZGVmYXVsdCB2YXJpYW50ICovCiAgICAgIDpob3N0KFt2YXJpYW50PSJkZWZhdWx0Il06aG92ZXIpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggNnB4IC0xcHggaHNsKDAgMCUgMCUgLyAwLjEpLCAwIDJweCA0cHggLTJweCBoc2woMCAwJSAwJSAvIDAuMSk7CiAgICAgIH0KCiAgICAgIC8qIEludGVyYWN0aXZlIHN0YXRlcyBmb3Igb3V0bGluZSB2YXJpYW50ICovCiAgICAgIDpob3N0KFt2YXJpYW50PSJvdXRsaW5lIl06aG92ZXIpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk4JSkiLCJoc2woMCAwJSA3LjglKSIpfTsKICAgICAgfQoKICAgICAgLyogSW50ZXJhY3RpdmUgc3RhdGVzIGZvciBnaG9zdCB2YXJpYW50ICovCiAgICAgIDpob3N0KFt2YXJpYW50PSJnaG9zdCJdOmhvdmVyKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgfQoKICAgICAgLyogRm9jdXMgc3RhdGVzICovCiAgICAgIDpob3N0KDpmb2N1cy13aXRoaW4pIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4xKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC8qIE5lc3RlZCBwYW5lbHMgc3BhY2luZyAqLwogICAgICA6OnNsb3R0ZWQoZGVlcy1wYW5lbCkgewogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgIH0KCiAgICAgIDo6c2xvdHRlZChkZWVzLXBhbmVsOmZpcnN0LWNoaWxkKSB7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgJHt0aGlzLnRpdGxlP3dgPGgzIGNsYXNzPSJ0aXRsZSI+JHt0aGlzLnRpdGxlfTwvaDM+YDoiIn0KICAgICAgICAke3RoaXMuc3VidGl0bGU/d2A8cCBjbGFzcz0ic3VidGl0bGUiPiR7dGhpcy5zdWJ0aXRsZX08L3A+YDoiIn0KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgogICAgICAgIDxzbG90Pjwvc2xvdD4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe3RoaXMucnVuQWZ0ZXJSZW5kZXImJmF3YWl0IHRoaXMucnVuQWZ0ZXJSZW5kZXIodGhpcyl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLF8xKHRoaXMsQyl9c3RhdGlje18xKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciByc2EsRFllLHNzYSxpc2E9ZigoKT0+e2xlKCk7SWEoKTtVcygpO0RZZT1zKGE9PkFycmF5LmZyb20oe2xlbmd0aDphfSwoZSx0KT0+KHtpZDp0LHVzYWdlOk1hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxMDApLGxhYmVsOmAke3R9YH0pKSwiZ2VuZXJhdGVDcHVDb3JlcyIpLHNzYT1zKCgpPT53KHJzYXx8KHJzYT1xNShbYAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICBgLGAKICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLXN0YXRzZ3JpZAogICAgICAgICAgLnRpbGVzPWAsYAogICAgICAgICAgLmdyaWRBY3Rpb25zPWAsYAogICAgICAgICAgLm1pblRpbGVXaWR0aD1gLGAKICAgICAgICAgIC5nYXA9YCxgCiAgICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CiAgICAgICAgCiAgICAgICAgPGRpdiBpZD0iYWN0aW9uLW91dHB1dCIgc3R5bGU9Im1hcmdpbi10b3A6IDE2cHg7IHBhZGRpbmc6IDEycHg7IGJhY2tncm91bmQ6IGAsIjsgYm9yZGVyLXJhZGl1czogNnB4OyBmb250LXNpemU6IDE0cHg7IGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7IGNvbG9yOiAiLGA7Ij4KICAgICAgICAgIDxlbT5DbGljayBvbiB0aWxlIGFjdGlvbnMgb3IgZ3JpZCBhY3Rpb25zIHRvIHNlZSB0aGUgcmVzdWx0Li4uPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLXN0YXRzZ3JpZAogICAgICAgICAgLnRpbGVzPWAsYAogICAgICAgICAgLm1pblRpbGVXaWR0aD1gLGAKICAgICAgICAgIC5nYXA9YCxgCiAgICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1jb25maWciPgogICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25maWctdGl0bGUiPkNvbmZpZ3VyYXRpb24gT3B0aW9uczwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25maWctZGVzY3JpcHRpb24iPgogICAgICAgICAgICAgIEVhY2ggdGlsZSB0eXBlIHN1cHBvcnRzIGRpZmZlcmVudCBwcm9wZXJ0aWVzOgogICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luOiA4cHggMDsgcGFkZGluZy1sZWZ0OiAyMHB4OyI+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5OdW1iZXI6PC9zdHJvbmc+IHZhbHVlLCB1bml0LCBjb2xvciwgZGVzY3JpcHRpb248L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+R2F1Z2U6PC9zdHJvbmc+IHZhbHVlLCB1bml0LCBnYXVnZU9wdGlvbnMgKG1pbiwgbWF4LCB0aHJlc2hvbGRzKTwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5QZXJjZW50YWdlOjwvc3Ryb25nPiB2YWx1ZSAoMC0xMDApLCBjb2xvciwgZGVzY3JpcHRpb248L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+VHJlbmQ6PC9zdHJvbmc+IHZhbHVlLCB1bml0LCB0cmVuZERhdGEgYXJyYXksIGRlc2NyaXB0aW9uPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPlRleHQ6PC9zdHJvbmc+IHZhbHVlIChzdHJpbmcpLCBjb2xvciwgZGVzY3JpcHRpb248L2xpPgogICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbjogMCAwIDE2cHggMDsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogNjAwOyI+Q29tcGFjdCBMYXlvdXQgKDE4MHB4IHRpbGVzKTwvaDQ+CiAgICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgICAudGlsZXM9YCxgCiAgICAgICAgICAubWluVGlsZVdpZHRoPWAsYAogICAgICAgICAgLmdhcD1gLGAKICAgICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KICAgICAgICAKICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbjogMjRweCAwIDE2cHggMDsgZm9udC1zaXplOiAxNnB4OyBmb250LXdlaWdodDogNjAwOyI+U3BhY2lvdXMgTGF5b3V0ICgzMjBweCB0aWxlcyk8L2g0PgogICAgICAgIDxkZWVzLXN0YXRzZ3JpZAogICAgICAgICAgLnRpbGVzPWAsYAogICAgICAgICAgLm1pblRpbGVXaWR0aD1gLGAKICAgICAgICAgIC5nYXA9YCxgCiAgICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1zdGF0c2dyaWQKICAgICAgICAgIGlkPSJjcHUtY29yZXMtZ3JpZCIKICAgICAgICAgIC50aWxlcz1gLGAKICAgICAgICAgIC5ncmlkQWN0aW9ucz1gLGAKICAgICAgICAgIC5taW5UaWxlV2lkdGg9YCxgCiAgICAgICAgICAuZ2FwPWAsYAogICAgICAgID48L2RlZXMtc3RhdHNncmlkPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgICBpZD0iaW50ZXJhY3RpdmUtZ3JpZCIKICAgICAgICAgIC50aWxlcz1gLGAKICAgICAgICAgIC5ncmlkQWN0aW9ucz1gLGAKICAgICAgICAgIC5taW5UaWxlV2lkdGg9YCxgCiAgICAgICAgICAuZ2FwPWAsYAogICAgICAgID48L2RlZXMtc3RhdHNncmlkPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1ibG9jayI+YCxgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1zdGF0c2dyaWQKICAgICAgICAgIC50aWxlcz1gLGAKICAgICAgICAgIC5taW5UaWxlV2lkdGg9YCxgCiAgICAgICAgICAuZ2FwPWAsYAogICAgICAgID48L2RlZXMtc3RhdHNncmlkPgoKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWNvbmZpZyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25maWctc2VjdGlvbiI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy10aXRsZSI+UGFydGl0aW9uIFRpbGUgUHJvcGVydGllczwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25maWctZGVzY3JpcHRpb24iPgogICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luOiA4cHggMDsgcGFkZGluZy1sZWZ0OiAyMHB4OyI+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5wYXJ0aXRpb25EYXRhLnVzZWQ6PC9zdHJvbmc+IFVzZWQgc3BhY2UgaW4gYnl0ZXMgKGF1dG8tZm9ybWF0dGVkKTwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5wYXJ0aXRpb25EYXRhLnRvdGFsOjwvc3Ryb25nPiBUb3RhbCBjYXBhY2l0eSBpbiBieXRlczwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5wYXJ0aXRpb25EYXRhLmZpbGVzeXN0ZW06PC9zdHJvbmc+IEZpbGVzeXN0ZW0gdHlwZSAoZXh0NCwgeGZzLCBudGZzKTwvbGk+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5wYXJ0aXRpb25EYXRhLm1vdW50UG9pbnQ6PC9zdHJvbmc+IE1vdW50IHBvaW50IHBhdGggKG9wdGlvbmFsKTwvbGk+CiAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICBDb2xvciB0aHJlc2hvbGRzOiBOb3JtYWwgKCZsdDs3NSUpLCBXYXJuaW5nICg3NS05MCUpLCBDcml0aWNhbCAoJmd0OzkwJSkKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbmZpZy1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLXRpdGxlIj5EaXNrIFRpbGUgUHJvcGVydGllczwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb25maWctZGVzY3JpcHRpb24iPgogICAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luOiA4cHggMDsgcGFkZGluZy1sZWZ0OiAyMHB4OyI+CiAgICAgICAgICAgICAgICA8bGk+PHN0cm9uZz5kaXNrRGF0YS5jYXBhY2l0eTo8L3N0cm9uZz4gVG90YWwgY2FwYWNpdHkgaW4gYnl0ZXM8L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+ZGlza0RhdGEubW9kZWw6PC9zdHJvbmc+IERpc2sgbW9kZWwgbmFtZSAob3B0aW9uYWwpPC9saT4KICAgICAgICAgICAgICAgIDxsaT48c3Ryb25nPmRpc2tEYXRhLnR5cGU6PC9zdHJvbmc+IERpc2sgdHlwZTogJ3NzZCcsICdoZGQnLCBvciAnbnZtZSc8L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+ZGlza0RhdGEuaW9wczo8L3N0cm9uZz4gUmVhZC93cml0ZSBJT1BTIChvcHRpb25hbCk8L2xpPgogICAgICAgICAgICAgICAgPGxpPjxzdHJvbmc+ZGlza0RhdGEuaGVhbHRoOjwvc3Ryb25nPiBIZWFsdGggcGVyY2VudGFnZSAwLTEwMCAob3B0aW9uYWwpPC9saT4KICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgIEhlYWx0aCB0aHJlc2hvbGRzOiBHb29kICg3MC0xMDAlKSwgV2FybmluZyAoMzAtNzAlKSwgQ3JpdGljYWwgKCZsdDszMCUpCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgoKICAgIDxzY3JpcHQ+CiAgICAgIC8vIENsZWFudXAgbGl2ZSB1cGRhdGVzIG9uIHBhZ2UgdW5sb2FkCiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmV1bmxvYWQnLCAoKSA9PiB7CiAgICAgICAgaWYgKCh3aW5kb3cgYXMgYW55KS5saXZlVXBkYXRlSW50ZXJ2YWwpIHsKICAgICAgICAgIGNsZWFySW50ZXJ2YWwoKHdpbmRvdyBhcyBhbnkpLmxpdmVVcGRhdGVJbnRlcnZhbCk7CiAgICAgICAgfQogICAgICB9KTsKICAgIDxcL3NjcmlwdD4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYF0pKSxRYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDE0MDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAudGlsZS1jb25maWcgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzAwcHgsIDFmcikpOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmNvbmZpZy1zZWN0aW9uIHsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jb25maWctdGl0bGUgewogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jb25maWctZGVzY3JpcHRpb24gewogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jb2RlLWJsb2NrIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlOwogICAgICAgIH0KICAgICAgYCwiMS4gQ29tcHJlaGVuc2l2ZSBEYXNoYm9hcmQiLCJGdWxsLWZlYXR1cmVkIHN0YXRzIGdyaWQgd2l0aCB2YXJpb3VzIHRpbGUgdHlwZXMsIGFjdGlvbnMsIGFuZCBMdWNpZGUgaWNvbnMiLFt7aWQ6InJldmVudWUiLHRpdGxlOiJUb3RhbCBSZXZlbnVlIix2YWx1ZToxMjU0MjAsdW5pdDoiJCIsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6ZG9sbGFyLXNpZ24iLGRlc2NyaXB0aW9uOiIrMTIuNSUgZnJvbSBsYXN0IG1vbnRoIixhY3Rpb25zOlt7bmFtZToiVmlldyBEZXRhaWxzIixpY29uTmFtZToibHVjaWRlOnRyZW5kaW5nLXVwIixhY3Rpb246cyhhc3luYygpPT57bGV0IGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FjdGlvbi1vdXRwdXQiKTthJiYoYS50ZXh0Q29udGVudD0iVmlld2luZyByZXZlbnVlIGRldGFpbHM6ICQxMjUsNDIwICgrMTIuNSUpIil9LCJhY3Rpb24iKX0se25hbWU6IkV4cG9ydCBEYXRhIixpY29uTmFtZToibHVjaWRlOmRvd25sb2FkIixhY3Rpb246cyhhc3luYygpPT57bGV0IGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FjdGlvbi1vdXRwdXQiKTthJiYoYS50ZXh0Q29udGVudD0iRXhwb3J0aW5nIHJldmVudWUgZGF0YSB0byBDU1YuLi4iKX0sImFjdGlvbiIpfV19LHtpZDoidXNlcnMiLHRpdGxlOiJBY3RpdmUgVXNlcnMiLHZhbHVlOjM4NDcsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6dXNlcnMiLGRlc2NyaXB0aW9uOiIzMjQgbmV3IHRoaXMgd2VlayIsYWN0aW9uczpbe25hbWU6IlZpZXcgVXNlciBMaXN0IixpY29uTmFtZToibHVjaWRlOmxpc3QiLGFjdGlvbjpzKGFzeW5jKCk9PntsZXQgYT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjYWN0aW9uLW91dHB1dCIpO2EmJihhLnRleHRDb250ZW50PSJPcGVuaW5nIHVzZXIgbGlzdC4uLiIpfSwiYWN0aW9uIil9XX0se2lkOiJjcHUiLHRpdGxlOiJDUFUgVXNhZ2UiLHZhbHVlOjczLHVuaXQ6IiUiLHR5cGU6ImdhdWdlIixpY29uOiJsdWNpZGU6Y3B1IixnYXVnZU9wdGlvbnM6e21pbjowLG1heDoxMDAsdGhyZXNob2xkczpbe3ZhbHVlOjAsY29sb3I6ImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkifSx7dmFsdWU6NjAsY29sb3I6ImhzbCg0NS40IDkzLjQlIDQ3LjUlKSJ9LHt2YWx1ZTo4MCxjb2xvcjoiaHNsKDAgODQuMiUgNjAuMiUpIn1dfX0se2lkOiJzdG9yYWdlIix0aXRsZToiU3RvcmFnZSBVc2VkIix2YWx1ZTo2NSx0eXBlOiJwZXJjZW50YWdlIixpY29uOiJsdWNpZGU6aGFyZC1kcml2ZSIsZGVzY3JpcHRpb246IjY1MCBHQiBvZiAxIFRCIn0se2lkOiJsYXRlbmN5Iix0aXRsZToiUmVzcG9uc2UgVGltZSIsdmFsdWU6MTQyLHVuaXQ6Im1zIix0eXBlOiJ0cmVuZCIsaWNvbjoibHVjaWRlOmFjdGl2aXR5Iix0cmVuZERhdGE6WzE1MCwxNDUsMTQ4LDE0MiwxMzgsMTQwLDEzNSwxNDUsMTQyXSxkZXNjcmlwdGlvbjoiUDk1In0se2lkOiJ1cHRpbWUiLHRpdGxlOiJTeXN0ZW0gVXB0aW1lIix2YWx1ZToiOTkuOTUlIix0eXBlOiJ0ZXh0IixpY29uOiJsdWNpZGU6Y2hlY2stY2lyY2xlIixjb2xvcjoiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsZGVzY3JpcHRpb246Ikxhc3QgMzAgZGF5cyJ9XSxbe25hbWU6IlJlZnJlc2giLGljb25OYW1lOiJsdWNpZGU6cmVmcmVzaC1jdyIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRlZXMtc3RhdHNncmlkIik7YSYmKGEuc3R5bGUub3BhY2l0eT0iMC41IixzZXRUaW1lb3V0KCgpPT57YS5zdHlsZS5vcGFjaXR5PSIxIn0sMzAwKSl9LCJhY3Rpb24iKX0se25hbWU6IkV4cG9ydCIsaWNvbk5hbWU6Imx1Y2lkZTpzaGFyZSIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNhY3Rpb24tb3V0cHV0Iik7YSYmKGEudGV4dENvbnRlbnQ9IkV4cG9ydGluZyBkYXNoYm9hcmQgcmVwb3J0Li4uIil9LCJhY3Rpb24iKX0se25hbWU6IlNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOnNldHRpbmdzIixhY3Rpb246cyhhc3luYygpPT57bGV0IGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FjdGlvbi1vdXRwdXQiKTthJiYoYS50ZXh0Q29udGVudD0iT3BlbmluZyBkYXNoYm9hcmQgc2V0dGluZ3MuLi4iKX0sImFjdGlvbiIpfV0sMjUwLDE2LGguYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKSxoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIiksIjIuIFRpbGUgVHlwZXMiLCJEaWZmZXJlbnQgdmlzdWFsaXphdGlvbiB0eXBlcyBhdmFpbGFibGUgaW4gdGhlIHN0YXRzIGdyaWQiLFt7aWQ6Im51bWJlci1leGFtcGxlIix0aXRsZToiTnVtYmVyIFRpbGUiLHZhbHVlOjQyMTk1LHVuaXQ6IiQiLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOmhhc2giLGRlc2NyaXB0aW9uOiJTaW1wbGUgbnVtZXJpYyBkaXNwbGF5In0se2lkOiJnYXVnZS1leGFtcGxlIix0aXRsZToiR2F1Z2UgVGlsZSIsdmFsdWU6NjgsdW5pdDoiJSIsdHlwZToiZ2F1Z2UiLGljb246Imx1Y2lkZTpnYXVnZSIsZ2F1Z2VPcHRpb25zOnttaW46MCxtYXg6MTAwLHRocmVzaG9sZHM6W3t2YWx1ZTowLGNvbG9yOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIn0se3ZhbHVlOjUwLGNvbG9yOiJoc2woNDUuNCA5My40JSA0Ny41JSkifSx7dmFsdWU6ODAsY29sb3I6ImhzbCgwIDg0LjIlIDYwLjIlKSJ9XX19LHtpZDoicGVyY2VudGFnZS1leGFtcGxlIix0aXRsZToiUGVyY2VudGFnZSBUaWxlIix2YWx1ZTo3OCx0eXBlOiJwZXJjZW50YWdlIixpY29uOiJsdWNpZGU6cGVyY2VudCIsZGVzY3JpcHRpb246IlByb2dyZXNzIGJhciB2aXN1YWxpemF0aW9uIn0se2lkOiJ0cmVuZC1leGFtcGxlIix0aXRsZToiVHJlbmQgVGlsZSIsdmFsdWU6ODkyLHVuaXQ6Im9wcy9zIix0eXBlOiJ0cmVuZCIsaWNvbjoibHVjaWRlOnRyZW5kaW5nLXVwIix0cmVuZERhdGE6WzcyMCw3NTAsNzgwLDc5NSw4MTAsODM1LDg1MCw4NjUsODgwLDg5Ml0sZGVzY3JpcHRpb246ImF2ZyJ9LHtpZDoidGV4dC1leGFtcGxlIix0aXRsZToiVGV4dCBUaWxlIix2YWx1ZToiT3BlcmF0aW9uYWwiLHR5cGU6InRleHQiLGljb246Imx1Y2lkZTppbmZvIixjb2xvcjoiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsZGVzY3JpcHRpb246IlN0YXR1cyBkaXNwbGF5In1dLDI4MCwxNiwiMy4gR3JpZCBDb25maWd1cmF0aW9ucyIsIkRpZmZlcmVudCBsYXlvdXQgb3B0aW9ucyBhbmQgcmVzcG9uc2l2ZSBiZWhhdmlvciIsW3tpZDoiMSIsdGl0bGU6Ik9yZGVycyIsdmFsdWU6MTU2LHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOnNob3BwaW5nLWNhcnQifSx7aWQ6IjIiLHRpdGxlOiJSZXZlbnVlIix2YWx1ZTo4NDIwLHVuaXQ6IiQiLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOmRvbGxhci1zaWduIn0se2lkOiIzIix0aXRsZToiVXNlcnMiLHZhbHVlOjQyMyx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTp1c2VycyJ9LHtpZDoiNCIsdGl0bGU6Ikdyb3d0aCIsdmFsdWU6MTIuNSx1bml0OiIlIix0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTp0cmVuZGluZy11cCIsY29sb3I6ImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkifV0sMTgwLDEyLFt7aWQ6InNwYWNpb3VzMSIsdGl0bGU6Ik1vbnRobHkgUmV2ZW51ZSIsdmFsdWU6MTg0NTAwLHVuaXQ6IiQiLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOmNyZWRpdC1jYXJkIixkZXNjcmlwdGlvbjoiVG90YWwgcmV2ZW51ZSB0aGlzIG1vbnRoIn0se2lkOiJzcGFjaW91czIiLHRpdGxlOiJDdXN0b21lciBTYXRpc2ZhY3Rpb24iLHZhbHVlOjk0LHR5cGU6InBlcmNlbnRhZ2UiLGljb246Imx1Y2lkZTpzbWlsZSIsZGVzY3JpcHRpb246IkJhc2VkIG9uIDEsMjM0IHJldmlld3MifSx7aWQ6InNwYWNpb3VzMyIsdGl0bGU6IlNlcnZlciBSZXNwb25zZSIsdmFsdWU6OTgsdW5pdDoibXMiLHR5cGU6InRyZW5kIixpY29uOiJsdWNpZGU6c2VydmVyIix0cmVuZERhdGE6WzEwNSwxMDIsMTAwLDk5LDk4LDk4LDk3LDk4XSxkZXNjcmlwdGlvbjoiYXZnIHJlc3BvbnNlIHRpbWUifV0sMzIwLDIwLCI0LiBDUFUgQ29yZXMgVmlzdWFsaXphdGlvbiIsIlZlcnRpY2FsIGJhciB2aXN1YWxpemF0aW9uIGZvciBtdWx0aS1jb3JlIENQVSB1c2FnZSB3aXRoIGNvbHVtbiBzcGFubmluZyIsW3tpZDoiY3B1LWNvcmVzLTgiLHRpdGxlOiJDUFUgQ29yZXMgKDgtY29yZSkiLHZhbHVlOjAsdHlwZToiY3B1Q29yZXMiLGljb246Imx1Y2lkZTpjcHUiLGNvbHVtblNwYW46Mixjb3Jlc0RhdGE6RFllKDgpLGRlc2NyaXB0aW9uOiJJbnRlbCBpNyAtIDggY29yZXMifSx7aWQ6Im1lbW9yeSIsdGl0bGU6Ik1lbW9yeSBVc2FnZSIsdmFsdWU6NjgsdHlwZToicGVyY2VudGFnZSIsaWNvbjoibHVjaWRlOmRhdGFiYXNlIixkZXNjcmlwdGlvbjoiMTMuNiBHQiBvZiAyMCBHQiJ9LHtpZDoiY3B1LWNvcmVzLTE2Iix0aXRsZToiQ1BVIENvcmVzICgxNi1jb3JlKSIsdmFsdWU6MCx0eXBlOiJjcHVDb3JlcyIsaWNvbjoibHVjaWRlOmNwdSIsY29sdW1uU3BhbjoyLGNvcmVzRGF0YTpEWWUoMTYpLGRlc2NyaXB0aW9uOiJBTUQgUnl6ZW4gOSAtIDE2IGNvcmVzIn0se2lkOiJuZXR3b3JrIix0aXRsZToiTmV0d29yayBJL08iLHZhbHVlOjI0NSx1bml0OiJNQi9zIix0eXBlOiJ0cmVuZCIsaWNvbjoibHVjaWRlOm5ldHdvcmsiLHRyZW5kRGF0YTpbMjAwLDIyMCwyMzUsMjQwLDIzOCwyNDVdLGRlc2NyaXB0aW9uOiJ0aHJvdWdocHV0In0se2lkOiJjcHUtY29yZXMtMzIiLHRpdGxlOiJTZXJ2ZXIgQ1BVICgzMi1jb3JlKSIsdmFsdWU6MCx0eXBlOiJjcHVDb3JlcyIsaWNvbjoibHVjaWRlOnNlcnZlciIsY29sdW1uU3BhbjozLGNvcmVzRGF0YTpEWWUoMzIpLGRlc2NyaXB0aW9uOiJBTUQgRVBZQyAtIDMyIGNvcmVzIn0se2lkOiJkaXNrIix0aXRsZToiRGlzayBVc2FnZSIsdmFsdWU6NDIsdHlwZToicGVyY2VudGFnZSIsaWNvbjoibHVjaWRlOmhhcmQtZHJpdmUiLGRlc2NyaXB0aW9uOiI0MjAgR0Igb2YgMSBUQiJ9XSxbe25hbWU6IlJhbmRvbWl6ZSIsaWNvbk5hbWU6Imx1Y2lkZTpzaHVmZmxlIixhY3Rpb246cyhhc3luYygpPT57bGV0IGE9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NwdS1jb3Jlcy1ncmlkIik7aWYoIWEpcmV0dXJuO2xldCBlPWEudGlsZXMubWFwKHQ9PnQudHlwZT09PSJjcHVDb3JlcyImJnQuY29yZXNEYXRhP3suLi50LGNvcmVzRGF0YTp0LmNvcmVzRGF0YS5tYXAocj0+KHsuLi5yLHVzYWdlOk1hdGgucm91bmQoTWF0aC5yYW5kb20oKSoxMDApfSkpfTp0KTthLnRpbGVzPWV9LCJhY3Rpb24iKX1dLDI1MCwxNiwiNS4gSW50ZXJhY3RpdmUgRmVhdHVyZXMiLCJUaWxlcyB3aXRoIGFjdGlvbnMgYW5kIHJlYWwtdGltZSB1cGRhdGVzIixbe2lkOiJsaXZlLWNwdSIsdGl0bGU6IkxpdmUgQ1BVIix2YWx1ZTo0NSx1bml0OiIlIix0eXBlOiJnYXVnZSIsaWNvbjoibHVjaWRlOmNwdSIsZ2F1Z2VPcHRpb25zOnttaW46MCxtYXg6MTAwLHRocmVzaG9sZHM6W3t2YWx1ZTowLGNvbG9yOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIn0se3ZhbHVlOjYwLGNvbG9yOiJoc2woNDUuNCA5My40JSA0Ny41JSkifSx7dmFsdWU6ODAsY29sb3I6ImhzbCgwIDg0LjIlIDYwLjIlKSJ9XX19LHtpZDoibGl2ZS1yZXF1ZXN0cyIsdGl0bGU6IlJlcXVlc3RzL3NlYyIsdmFsdWU6ODkyLHR5cGU6InRyZW5kIixpY29uOiJsdWNpZGU6YWN0aXZpdHkiLHRyZW5kRGF0YTpbODUwLDg2MCw4NzAsODgwLDg4NSw4OTAsODkyXX0se2lkOiJsaXZlLW1lbW9yeSIsdGl0bGU6Ik1lbW9yeSBVc2FnZSIsdmFsdWU6NjIsdHlwZToicGVyY2VudGFnZSIsaWNvbjoibHVjaWRlOmRhdGFiYXNlIn0se2lkOiJjb3VudGVyIix0aXRsZToiRXZlbnQgQ291bnRlciIsdmFsdWU6MCx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTp6YXAiLGFjdGlvbnM6W3tuYW1lOiJJbmNyZW1lbnQiLGljb25OYW1lOiJsdWNpZGU6cGx1cyIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNpbnRlcmFjdGl2ZS1ncmlkIik7aWYoIWEpcmV0dXJuO2xldCBlPWEudGlsZXMuZmluZCh0PT50LmlkPT09ImNvdW50ZXIiKTtlLnZhbHVlPXR5cGVvZiBlLnZhbHVlPT0ibnVtYmVyIj9lLnZhbHVlKzE6MSxhLnRpbGVzPVsuLi5hLnRpbGVzXX0sImFjdGlvbiIpfSx7bmFtZToiUmVzZXQiLGljb25OYW1lOiJsdWNpZGU6cm90YXRlLWNjdyIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNpbnRlcmFjdGl2ZS1ncmlkIik7aWYoIWEpcmV0dXJuO2xldCBlPWEudGlsZXMuZmluZCh0PT50LmlkPT09ImNvdW50ZXIiKTtlLnZhbHVlPTAsYS50aWxlcz1bLi4uYS50aWxlc119LCJhY3Rpb24iKX1dfV0sW3tuYW1lOiJTdGFydCBMaXZlIFVwZGF0ZXMiLGljb25OYW1lOiJsdWNpZGU6cGxheSIsYWN0aW9uOnMoYXN5bmMgZnVuY3Rpb24oKXt3aW5kb3cubGl2ZVVwZGF0ZUludGVydmFsPyhjbGVhckludGVydmFsKHdpbmRvdy5saXZlVXBkYXRlSW50ZXJ2YWwpLHdpbmRvdy5saXZlVXBkYXRlSW50ZXJ2YWw9bnVsbCx0aGlzLm5hbWU9IlN0YXJ0IExpdmUgVXBkYXRlcyIsdGhpcy5pY29uTmFtZT0ibHVjaWRlOnBsYXkiKTood2luZG93LmxpdmVVcGRhdGVJbnRlcnZhbD1zZXRJbnRlcnZhbCgoKT0+e2xldCBhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNpbnRlcmFjdGl2ZS1ncmlkIik7aWYoYSl7bGV0IGU9Wy4uLmEudGlsZXNdLHQ9ZS5maW5kKG49Pm4uaWQ9PT0ibGl2ZS1jcHUiKTt0LnZhbHVlPU1hdGgubWF4KDAsTWF0aC5taW4oMTAwLHQudmFsdWUrKE1hdGgucmFuZG9tKCkqMjAtMTApKSk7bGV0IHI9ZS5maW5kKG49Pm4uaWQ9PT0ibGl2ZS1yZXF1ZXN0cyIpLGk9ci52YWx1ZStNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqNTAtMjUpO3IudmFsdWU9TWF0aC5tYXgoODAwLGkpLHIudHJlbmREYXRhPVsuLi5yLnRyZW5kRGF0YS5zbGljZSgxKSxyLnZhbHVlXTtsZXQgbz1lLmZpbmQobj0+bi5pZD09PSJsaXZlLW1lbW9yeSIpO28udmFsdWU9TWF0aC5tYXgoMCxNYXRoLm1pbigxMDAsby52YWx1ZSsoTWF0aC5yYW5kb20oKSoxMC01KSkpLGEudGlsZXM9ZX19LDFlMyksdGhpcy5uYW1lPSJTdG9wIExpdmUgVXBkYXRlcyIsdGhpcy5pY29uTmFtZT0ibHVjaWRlOnBhdXNlIil9LCJhY3Rpb24iKX1dLDI1MCwxNiwiNi4gQ29kZSBFeGFtcGxlIiwiSG93IHRvIGltcGxlbWVudCBhIHN0YXRzIGdyaWQgd2l0aCBUeXBlU2NyaXB0IixgY29uc3QgdGlsZXM6IElTdGF0c1RpbGVbXSA9IFsKICB7CiAgICBpZDogJ3JldmVudWUnLAogICAgdGl0bGU6ICdUb3RhbCBSZXZlbnVlJywKICAgIHZhbHVlOiAxMjU0MjAsCiAgICB1bml0OiAnJCcsCiAgICB0eXBlOiAnbnVtYmVyJywKICAgIGljb246ICdsdWNpZGU6ZG9sbGFyLXNpZ24nLAogICAgZGVzY3JpcHRpb246ICcrMTIuNSUgZnJvbSBsYXN0IG1vbnRoJywKICAgIGFjdGlvbnM6IFsKICAgICAgewogICAgICAgIG5hbWU6ICdWaWV3IERldGFpbHMnLAogICAgICAgIGljb25OYW1lOiAnbHVjaWRlOnRyZW5kaW5nLXVwJywKICAgICAgICBhY3Rpb246IGFzeW5jICgpID0+IHsKICAgICAgICAgIGNvbnNvbGUubG9nKCdWaWV3IHJldmVudWUgZGV0YWlscycpOwogICAgICAgIH0KICAgICAgfQogICAgXQogIH0sCiAgewogICAgaWQ6ICdjcHUnLAogICAgdGl0bGU6ICdDUFUgVXNhZ2UnLAogICAgdmFsdWU6IDczLAogICAgdW5pdDogJyUnLAogICAgdHlwZTogJ2dhdWdlJywKICAgIGljb246ICdsdWNpZGU6Y3B1JywKICAgIGdhdWdlT3B0aW9uczogewogICAgICBtaW46IDAsCiAgICAgIG1heDogMTAwLAogICAgICB0aHJlc2hvbGRzOiBbCiAgICAgICAgeyB2YWx1ZTogMCwgY29sb3I6ICdoc2woMTQyLjEgNzYuMiUgMzYuMyUpJyB9LAogICAgICAgIHsgdmFsdWU6IDYwLCBjb2xvcjogJ2hzbCg0NS40IDkzLjQlIDQ3LjUlKScgfSwKICAgICAgICB7IHZhbHVlOiA4MCwgY29sb3I6ICdoc2woMCA4NC4yJSA2MC4yJSknIH0KICAgICAgXQogICAgfQogIH0KXTsKCi8vIFJlbmRlciB0aGUgc3RhdHMgZ3JpZApodG1sXGAKICA8ZGVlcy1zdGF0c2dyaWQKICAgIC50aWxlcz1cJHt0aWxlc30KICAgIC5taW5UaWxlV2lkdGg9XCR7MjUwfQogICAgLmdhcD1cJHsxNn0KICAgIC5ncmlkQWN0aW9ucz1cJHtbCiAgICAgIHsKICAgICAgICBuYW1lOiAnUmVmcmVzaCcsCiAgICAgICAgaWNvbk5hbWU6ICdsdWNpZGU6cmVmcmVzaC1jdycsCiAgICAgICAgYWN0aW9uOiBhc3luYyAoKSA9PiBjb25zb2xlLmxvZygnUmVmcmVzaCcpCiAgICAgIH0KICAgIF19CiAgPjwvZGVlcy1zdGF0c2dyaWQ+ClxgO2AsIjcuIERpc2sgJiBTdG9yYWdlIFRpbGVzIiwiUGFydGl0aW9uIGFuZCBwaHlzaWNhbCBkaXNrIHZpc3VhbGl6YXRpb24gdGlsZXMiLFt7aWQ6InJvb3QtcGFydGl0aW9uIix0aXRsZToiUm9vdCBQYXJ0aXRpb24iLHZhbHVlOjAsdHlwZToicGFydGl0aW9uIixpY29uOiJsdWNpZGU6Zm9sZGVyLXJvb3QiLHBhcnRpdGlvbkRhdGE6e3VzZWQ6Njk4MzQxNDI1MTUyLHRvdGFsOjEwNzM3NDE4MjRlMyxmaWxlc3lzdGVtOiJleHQ0Iixtb3VudFBvaW50OiIvIn19LHtpZDoiaG9tZS1wYXJ0aXRpb24iLHRpdGxlOiJIb21lIFBhcnRpdGlvbiIsdmFsdWU6MCx0eXBlOiJwYXJ0aXRpb24iLGljb246Imx1Y2lkZTpob21lIixwYXJ0aXRpb25EYXRhOnt1c2VkOjIxNDc0ODM2NDgwMCx0b3RhbDo1MzY4NzA5MTJlMyxmaWxlc3lzdGVtOiJleHQ0Iixtb3VudFBvaW50OiIvaG9tZSJ9fSx7aWQ6ImRhdGEtcGFydGl0aW9uIix0aXRsZToiRGF0YSBQYXJ0aXRpb24iLHZhbHVlOjAsdHlwZToicGFydGl0aW9uIixpY29uOiJsdWNpZGU6ZGF0YWJhc2UiLHBhcnRpdGlvbkRhdGE6e3VzZWQ6MTkzMjczNTI4MzIwMCx0b3RhbDoyMTQ3NDgzNjQ4ZTMsZmlsZXN5c3RlbToieGZzIixtb3VudFBvaW50OiIvZGF0YSJ9fSx7aWQ6Im52bWUtc3NkIix0aXRsZToiUHJpbWFyeSBOVk1lIix2YWx1ZTowLHR5cGU6ImRpc2siLGljb246Imx1Y2lkZTpoYXJkLWRyaXZlIixjb2x1bW5TcGFuOjIsZGlza0RhdGE6e2NhcGFjaXR5OjJlMTIsbW9kZWw6IlNhbXN1bmcgOTkwIFBybyIsdHlwZToibnZtZSIsaW9wczp7cmVhZDo3NDUwLHdyaXRlOjY5MDB9LGhlYWx0aDo5OH19LHtpZDoic2F0YS1zc2QiLHRpdGxlOiJTZWNvbmRhcnkgU1NEIix2YWx1ZTowLHR5cGU6ImRpc2siLGljb246Imx1Y2lkZTpoYXJkLWRyaXZlIixkaXNrRGF0YTp7Y2FwYWNpdHk6MWUxMixtb2RlbDoiQ3J1Y2lhbCBNWDUwMCIsdHlwZToic3NkIixpb3BzOntyZWFkOjU2MCx3cml0ZTo1MTB9LGhlYWx0aDo4NX19LHtpZDoiaGRkLXN0b3JhZ2UiLHRpdGxlOiJCYWNrdXAgSEREIix2YWx1ZTowLHR5cGU6ImRpc2siLGljb246Imx1Y2lkZTphcmNoaXZlIixkaXNrRGF0YTp7Y2FwYWNpdHk6OGUxMixtb2RlbDoiU2VhZ2F0ZSBJcm9uV29sZiIsdHlwZToiaGRkIixpb3BzOntyZWFkOjIxMCx3cml0ZToxOTV9LGhlYWx0aDo0Mn19XSwyODAsMTYpLCJkZW1vRnVuYyIpfSk7dmFyIG40LExpLHd0LFNyPWYoKCk9PntsZSgpO0p0KCk7bjQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LExpPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx3dD0oKCk9PntsZXQgYT1wZSxlLHQ9W10scj1bXSxpLG89W10sbj1bXSxsLGQ9W10sYz1bXSxwLHU9W10sbT1bXSx2LHg9W10sYj1bXSxnLHk9W10saz1bXSxDLE49W10sXz1bXSx6LE89W10sVD1bXTtyZXR1cm4gY2xhc3MgZXh0ZW5kcyBhe3N0YXRpY3tzKHRoaXMsIkRlZXNJbnB1dEJhc2UiKX1zdGF0aWN7bGV0IEI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoYVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7ZT1bJCh7dHlwZTpTdHJpbmd9KV0saT1bJCh7dHlwZTpTdHJpbmd9KV0sbD1bJCh7dHlwZTpTdHJpbmd9KV0scD1bJCh7dHlwZTpTdHJpbmd9KV0sdj1bJCh7dHlwZTpCb29sZWFufSldLGc9WyQoe3R5cGU6Qm9vbGVhbn0pXSxDPVskKHt0eXBlOlN0cmluZ30pXSx6PVskKHt0eXBlOlN0cmluZ30pXSxuNCh0aGlzLG51bGwsZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxheW91dE1vZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTT0+ImxheW91dE1vZGUiaW4gTSwiaGFzIiksZ2V0OnMoTT0+TS5sYXlvdXRNb2RlLCJnZXQiKSxzZXQ6cygoTSxTKT0+e00ubGF5b3V0TW9kZT1TfSwic2V0Iil9LG1ldGFkYXRhOkJ9LHQsciksbjQodGhpcyxudWxsLGkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbFBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKE09PiJsYWJlbFBvc2l0aW9uImluIE0sImhhcyIpLGdldDpzKE09Pk0ubGFiZWxQb3NpdGlvbiwiZ2V0Iiksc2V0OnMoKE0sUyk9PntNLmxhYmVsUG9zaXRpb249U30sInNldCIpfSxtZXRhZGF0YTpCfSxvLG4pLG40KHRoaXMsbnVsbCxsLHtraW5kOiJhY2Nlc3NvciIsbmFtZToia2V5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKE09PiJrZXkiaW4gTSwiaGFzIiksZ2V0OnMoTT0+TS5rZXksImdldCIpLHNldDpzKChNLFMpPT57TS5rZXk9U30sInNldCIpfSxtZXRhZGF0YTpCfSxkLGMpLG40KHRoaXMsbnVsbCxwLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTT0+ImxhYmVsImluIE0sImhhcyIpLGdldDpzKE09Pk0ubGFiZWwsImdldCIpLHNldDpzKChNLFMpPT57TS5sYWJlbD1TfSwic2V0Iil9LG1ldGFkYXRhOkJ9LHUsbSksbjQodGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXF1aXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhNPT4icmVxdWlyZWQiaW4gTSwiaGFzIiksZ2V0OnMoTT0+TS5yZXF1aXJlZCwiZ2V0Iiksc2V0OnMoKE0sUyk9PntNLnJlcXVpcmVkPVN9LCJzZXQiKX0sbWV0YWRhdGE6Qn0seCxiKSxuNCh0aGlzLG51bGwsZyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpc2FibGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKE09PiJkaXNhYmxlZCJpbiBNLCJoYXMiKSxnZXQ6cyhNPT5NLmRpc2FibGVkLCJnZXQiKSxzZXQ6cygoTSxTKT0+e00uZGlzYWJsZWQ9U30sInNldCIpfSxtZXRhZGF0YTpCfSx5LGspLG40KHRoaXMsbnVsbCxDLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5mb1RleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTT0+ImluZm9UZXh0ImluIE0sImhhcyIpLGdldDpzKE09Pk0uaW5mb1RleHQsImdldCIpLHNldDpzKChNLFMpPT57TS5pbmZvVGV4dD1TfSwic2V0Iil9LG1ldGFkYXRhOkJ9LE4sXyksbjQodGhpcyxudWxsLHose2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkZXNjcmlwdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhNPT4iZGVzY3JpcHRpb24iaW4gTSwiaGFzIiksZ2V0OnMoTT0+TS5kZXNjcmlwdGlvbiwiZ2V0Iiksc2V0OnMoKE0sUyk9PntNLmRlc2NyaXB0aW9uPVN9LCJzZXQiKX0sbWV0YWRhdGE6Qn0sTyxUKSxCJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkJ9KX0jZT1MaSh0aGlzLHQsImF1dG8iKTtnZXQgbGF5b3V0TW9kZSgpe3JldHVybiB0aGlzLiNlfXNldCBsYXlvdXRNb2RlKEIpe3RoaXMuI2U9Qn0jdD0oTGkodGhpcyxyKSxMaSh0aGlzLG8sInRvcCIpKTtnZXQgbGFiZWxQb3NpdGlvbigpe3JldHVybiB0aGlzLiN0fXNldCBsYWJlbFBvc2l0aW9uKEIpe3RoaXMuI3Q9Qn0jYT0oTGkodGhpcyxuKSxMaSh0aGlzLGQsdm9pZCAwKSk7Z2V0IGtleSgpe3JldHVybiB0aGlzLiNhfXNldCBrZXkoQil7dGhpcy4jYT1CfSNyPShMaSh0aGlzLGMpLExpKHRoaXMsdSx2b2lkIDApKTtnZXQgbGFiZWwoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbGFiZWwoQil7dGhpcy4jcj1CfSNzPShMaSh0aGlzLG0pLExpKHRoaXMseCwhMSkpO2dldCByZXF1aXJlZCgpe3JldHVybiB0aGlzLiNzfXNldCByZXF1aXJlZChCKXt0aGlzLiNzPUJ9I2k9KExpKHRoaXMsYiksTGkodGhpcyx5LCExKSk7Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGRpc2FibGVkKEIpe3RoaXMuI2k9Qn0jbz0oTGkodGhpcyxrKSxMaSh0aGlzLE4sdm9pZCAwKSk7Z2V0IGluZm9UZXh0KCl7cmV0dXJuIHRoaXMuI299c2V0IGluZm9UZXh0KEIpe3RoaXMuI289Qn0jbj0oTGkodGhpcyxfKSxMaSh0aGlzLE8sdm9pZCAwKSk7Z2V0IGRlc2NyaXB0aW9uKCl7cmV0dXJuIHRoaXMuI259c2V0IGRlc2NyaXB0aW9uKEIpe3RoaXMuI249Qn1zdGF0aWMgZ2V0IGJhc2VTdHlsZXMoKXtyZXR1cm5bUWAKICAgICAgICAvKiBDU1MgVmFyaWFibGVzIGZvciBjb25zaXN0ZW50IHNwYWNpbmcgKi8KICAgICAgICA6aG9zdCB7CiAgICAgICAgICAtLWRlZXMtaW5wdXQtc3BhY2luZy11bml0OiA4cHg7CiAgICAgICAgICAtLWRlZXMtaW5wdXQtbGFiZWwtZ2FwOiB2YXIoLS1kZWVzLWlucHV0LXNwYWNpbmctdW5pdCk7IC8qIDhweCAqLwogICAgICAgIH0KCiAgICAgICAgLyogRGVmYXVsdCBibG9jayBkaXNwbGF5IHdpdGggbm8gbWFyZ2lucyAtIHNwYWNpbmcgaXMgY29udGFpbmVyLWRyaXZlbiAqLwogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIH0KCiAgICAgICAgLyogSG9yaXpvbnRhbCBsYXlvdXQgbW9kZSAtIGFjdGl2YXRlZCBieSBhdHRyaWJ1dGUgKi8KICAgICAgICA6aG9zdChbbGF5b3V0LW1vZGU9Imhvcml6b250YWwiXSkgewogICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLyogTGFiZWwgcG9zaXRpb24gdmFyaWF0aW9ucyAqLwogICAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0ibGVmdCJdKSAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjsKICAgICAgICAgIGdhcDogdmFyKC0tZGVlcy1pbnB1dC1sYWJlbC1nYXApOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0icmlnaHQiXSkgLmlucHV0LXdyYXBwZXIgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87CiAgICAgICAgICBnYXA6IHZhcigtLWRlZXMtaW5wdXQtbGFiZWwtZ2FwKTsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICA6aG9zdChbbGFiZWwtcG9zaXRpb249InRvcCJdKSAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB9CgogICAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0ibm9uZSJdKSBkZWVzLWxhYmVsIHsKICAgICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAvKiBEZXNjcmlwdGlvbiB0ZXh0IGJlbG93IGlucHV0ICovCiAgICAgICAgLmRlc2NyaXB0aW9uVGV4dCB7CiAgICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBsaW5lLWhlaWdodDogMS40OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgfQogICAgICBgXX1jaGFuZ2VTdWJqZWN0PShMaSh0aGlzLFQpLG5ldyBCdC5zbWFydHJ4LnJ4anMuU3ViamVjdCk7YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuZGV0ZWN0TGF5b3V0TW9kZSgpfWRldGVjdExheW91dE1vZGUoKXtpZih0aGlzLmxheW91dE1vZGUhPT0iYXV0byIpe3RoaXMuc2V0QXR0cmlidXRlKCJsYXlvdXQtbW9kZSIsdGhpcy5sYXlvdXRNb2RlKTtyZXR1cm59bGV0IEI9dGhpcy5jbG9zZXN0KCJkZWVzLWZvcm0iKTtCJiZCLmhhc0F0dHJpYnV0ZSgiaG9yaXpvbnRhbC1sYXlvdXQiKT90aGlzLnNldEF0dHJpYnV0ZSgibGF5b3V0LW1vZGUiLCJob3Jpem9udGFsIik6dGhpcy5zZXRBdHRyaWJ1dGUoImxheW91dC1tb2RlIiwidmVydGljYWwiKX11cGRhdGVkKEIpe3N1cGVyLnVwZGF0ZWQoQiksQi5oYXMoImxheW91dE1vZGUiKSYmdGhpcy5kZXRlY3RMYXlvdXRNb2RlKCksQi5oYXMoImxhYmVsUG9zaXRpb24iKSYmdGhpcy5zZXRBdHRyaWJ1dGUoImxhYmVsLXBvc2l0aW9uIix0aGlzLmxhYmVsUG9zaXRpb24pfWFzeW5jIGZyZWV6ZSgpe3RoaXMuZGlzYWJsZWQ9ITB9YXN5bmMgdW5mcmVlemUoKXt0aGlzLmRpc2FibGVkPSExfXJlbmRlckRlc2NyaXB0aW9uKCl7cmV0dXJuIHRoaXMuZGVzY3JpcHRpb24/d2A8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvblRleHQiPiR7dGhpcy5kZXNjcmlwdGlvbn08L2Rpdj5gOiIifX19KSgpfSk7dmFyIG9zYSxuc2E9ZigoKT0+e2xlKCk7SWEoKTtVcygpO19mKCk7b3NhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC1jaGVja2JveCIpLHQ9YS5xdWVyeVNlbGVjdG9yKCIjc2VsZWN0LWFsbC1idG4iKSxyPWEucXVlcnlTZWxlY3RvcigiI2NsZWFyLWFsbC1idG4iKTt0JiZyJiYodC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLmZvckVhY2goaT0+eyFpLmRpc2FibGVkJiZpLmtleT8uc3RhcnRzV2l0aCgiZmVhdHVyZSIpJiYoaS52YWx1ZT0hMCl9KX0pLHIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ZS5mb3JFYWNoKGk9PnshaS5kaXNhYmxlZCYmaS5rZXk/LnN0YXJ0c1dpdGgoImZlYXR1cmUiKSYmKGkudmFsdWU9ITEpfSl9KSl9fT4KICAgIDxzdHlsZT4KICAgICAgJHtRYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY2hlY2tib3gtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5ob3Jpem9udGFsLWNoZWNrYm94ZXMgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmludGVyYWN0aXZlLXNlY3Rpb24gewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5vdXRwdXQtdGV4dCB7CiAgICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTAgNDAlIDgwJSkiKX07CiAgICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTglKSIsImhzbCgyMTUgMjAuMiUgMTEuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgbWluLWhlaWdodDogMjRweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmZvcm0tc2VjdGlvbiB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmJ1dHRvbi1ncm91cCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZmVhdHVyZS1saXN0IHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgQ2hlY2tib3hlcyJ9IC5zdWJ0aXRsZT0keyJTaW1wbGUgY2hlY2tib3ggZXhhbXBsZXMgd2l0aCB2YXJpb3VzIGxhYmVscyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAubGFiZWw9JHsiSSBhZ3JlZSB0byB0aGUgVGVybXMgYW5kIENvbmRpdGlvbnMifQogICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgLmtleT0keyJ0ZXJtcyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgoKICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgIC5sYWJlbD0keyJTdWJzY3JpYmUgdG8gbmV3c2xldHRlciJ9CiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAua2V5PSR7Im5ld3NsZXR0ZXIifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAubGFiZWw9JHsiRW5hYmxlIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlJlY2VpdmUgZW1haWwgdXBkYXRlcyBhYm91dCB5b3VyIGFjY291bnQifQogICAgICAgICAgICAua2V5PSR7Im5vdGlmaWNhdGlvbnMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkNoZWNrYm94IFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgY2hlY2tib3ggc3RhdGVzIGFuZCBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAubGFiZWw9JHsiRGVmYXVsdCBzdGF0ZSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAubGFiZWw9JHsiQ2hlY2tlZCBzdGF0ZSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAubGFiZWw9JHsiRGlzYWJsZWQgdW5jaGVja2VkIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAubGFiZWw9JHsiRGlzYWJsZWQgY2hlY2tlZCJ9CiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgLmxhYmVsPSR7IlJlcXVpcmVkIGNoZWNrYm94In0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5rZXk9JHsicmVxdWlyZWQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ikhvcml6b250YWwgTGF5b3V0In0gLnN1YnRpdGxlPSR7IkNoZWNrYm94ZXMgYXJyYW5nZWQgaG9yaXpvbnRhbGx5IGZvciBjb21wYWN0IGZvcm1zIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkaXYgY2xhc3M9Imhvcml6b250YWwtY2hlY2tib3hlcyI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgLmxhYmVsPSR7Ik9wdGlvbiBBIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgICAua2V5PSR7Im9wdGlvbkEifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgICAubGFiZWw9JHsiT3B0aW9uIEIifQogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC5rZXk9JHsib3B0aW9uQiJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAgIC5sYWJlbD0keyJPcHRpb24gQyJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgICAgLmtleT0keyJvcHRpb25DIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgLmxhYmVsPSR7Ik9wdGlvbiBEIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgICAua2V5PSR7Im9wdGlvbkQifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGZWF0dXJlIFNlbGVjdGlvbiBFeGFtcGxlIn0gLnN1YnRpdGxlPSR7IkNvbW1vbiB1c2UgY2FzZSBmb3IgZmVhdHVyZSB0b2dnbGVzIHdpdGggYmF0Y2ggb3BlcmF0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gaWQ9InNlbGVjdC1hbGwtYnRuIiB0eXBlPSJzZWNvbmRhcnkiPlNlbGVjdCBBbGw8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIGlkPSJjbGVhci1hbGwtYnRuIiB0eXBlPSJzZWNvbmRhcnkiPkNsZWFyIEFsbDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1saXN0Ij4KICAgICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgLmxhYmVsPSR7IkRhcmsgTW9kZSBTdXBwb3J0In0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAua2V5PSR7ImZlYXR1cmUxIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgLmxhYmVsPSR7IkVtYWlsIE5vdGlmaWNhdGlvbnMifQogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5rZXk9JHsiZmVhdHVyZTIifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgICAubGFiZWw9JHsiVHdvLUZhY3RvciBBdXRoZW50aWNhdGlvbiJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmtleT0keyJmZWF0dXJlMyJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAgIC5sYWJlbD0keyJBUEkgQWNjZXNzIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAua2V5PSR7ImZlYXR1cmU0In0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgLmxhYmVsPSR7IkFkdmFuY2VkIEFuYWx5dGljcyJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmtleT0keyJmZWF0dXJlNSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlByaXZhY3kgU2V0dGluZ3MgRXhhbXBsZSJ9IC5zdWJ0aXRsZT0keyJDaGVja2JveGVzIGluIGEgdHlwaWNhbCBmb3JtIGNvbnRleHQifT4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXNlY3Rpb24iPgogICAgICAgICAgPGg0IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Qcml2YWN5IFByZWZlcmVuY2VzPC9oND4KCiAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAgIC5sYWJlbD0keyJTaGFyZSBhbmFseXRpY3MgZGF0YSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkhlbHAgdXMgaW1wcm92ZSBieSBzaGFyaW5nIGFub255bW91cyB1c2FnZSBkYXRhIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgICAgLmxhYmVsPSR7IlBlcnNvbmFsaXplZCByZWNvbW1lbmRhdGlvbnMifQogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJHZXQgc3VnZ2VzdGlvbnMgYmFzZWQgb24geW91ciBhY3Rpdml0eSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAgIC5sYWJlbD0keyJNYXJrZXRpbmcgY29tbXVuaWNhdGlvbnMifQogICAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJSZWNlaXZlIHByb21vdGlvbmFsIGVtYWlscyBhbmQgc3BlY2lhbCBvZmZlcnMifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgICAubGFiZWw9JHsiVGhpcmQtcGFydHkgaW50ZWdyYXRpb25zIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWxsb3cgYXBwcm92ZWQgcGFydG5lcnMgdG8gYWNjZXNzIHlvdXIgZGF0YSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkludGVyYWN0aXZlIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiQ2xpY2sgY2hlY2tib3hlcyB0byBzZWUgdmFsdWUgY2hhbmdlcyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICAubGFiZWw9JHsiRmVhdHVyZSB0b2dnbGUifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgQGNoYW5nZVN1YmplY3Q9JHthPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NoZWNrYm94LW91dHB1dCIpO2lmKGUmJmEuZGV0YWlsKXtsZXQgdD1hLmRldGFpbC5nZXRWYWx1ZSgpO2UudGV4dENvbnRlbnQ9YEZlYXR1cmUgaXMgJHt0PyJlbmFibGVkIjoiZGlzYWJsZWQifWB9fX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgLmxhYmVsPSR7IkRlYnVnIG1vZGUifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgQGNoYW5nZVN1YmplY3Q9JHthPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2RlYnVnLW91dHB1dCIpO2lmKGUmJmEuZGV0YWlsKXtsZXQgdD1hLmRldGFpbC5nZXRWYWx1ZSgpO2UudGV4dENvbnRlbnQ9YERlYnVnIG1vZGU6ICR7dD8iT04iOiJPRkYifWB9fX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgPC9kZWVzLWZvcm0+CgogICAgICAgIDxkaXYgY2xhc3M9ImludGVyYWN0aXZlLXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBpZD0iY2hlY2tib3gtb3V0cHV0IiBjbGFzcz0ib3V0cHV0LXRleHQiPkZlYXR1cmUgaXMgZGlzYWJsZWQ8L2Rpdj4KICAgICAgICAgIDxkaXYgaWQ9ImRlYnVnLW91dHB1dCIgY2xhc3M9Im91dHB1dC10ZXh0IiBzdHlsZT0ibWFyZ2luLXRvcDogOHB4OyI+RGVidWcgbW9kZTogT0ZGPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBBWWUsQVUsS3RlLFp0ZT1mKCgpPT57bGUoKTtTcigpO25zYSgpO3VzKCk7UWUoKTtBWWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEFVPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxLdGU9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LWNoZWNrYm94IildLGUsdD1bXSxyLGk9d3QsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNJbnB1dENoZWNrYm94Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpCb29sZWFufSldLGQ9WyQoe3R5cGU6Qm9vbGVhbn0pXSxBWWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4idmFsdWUiaW4gdiwiaGFzIiksZ2V0OnModj0+di52YWx1ZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnZhbHVlPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxBWWUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbmRldGVybWluYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJpbmRldGVybWluYXRlImluIHYsImhhcyIpLGdldDpzKHY9PnYuaW5kZXRlcm1pbmF0ZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LmluZGV0ZXJtaW5hdGU9eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLEFZZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPW9zYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9QVUodGhpcyxuLCExKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUobSl7dGhpcy4jZT1tfSN0PShBVSh0aGlzLGwpLEFVKHRoaXMsYywhMSkpO2dldCBpbmRldGVybWluYXRlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGluZGV0ZXJtaW5hdGUobSl7dGhpcy4jdD1tfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxBVSh0aGlzLHApLHRoaXMubGFiZWxQb3NpdGlvbj0icmlnaHQifXN0YXRpYyBzdHlsZXM9W0VlLC4uLnd0LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgICAqIHsKICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgfQoKICAgICAgICA6aG9zdCB7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgICAgfQoKICAgICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLmNoZWNrYm94IHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGhlaWdodDogMThweDsKICAgICAgICAgIHdpZHRoOiAxOHB4OwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICAgIG1hcmdpbi10b3A6IDFweDsKICAgICAgICB9CgogICAgICAgIC5tYWluY29udGFpbmVyOmhvdmVyIC5jaGVja2JveCB7CiAgICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tib3guc2VsZWN0ZWQgewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tib3g6Zm9jdXMtdmlzaWJsZSB7CiAgICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xKSIpfTsKICAgICAgICB9CgogICAgICAgIC8qIENoZWNrbWFyayB1c2luZyBMdWNpZGUgaWNvbiBzdHlsZSAqLwogICAgICAgIC5jaGVja2JveCAuY2hlY2ttYXJrIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIHRvcDogNTAlOwogICAgICAgICAgbGVmdDogNTAlOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlOwogICAgICAgIH0KCiAgICAgICAgLmNoZWNrYm94LnNlbGVjdGVkIC5jaGVja21hcmsgewogICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB9CgogICAgICAgIC5jaGVja2JveCAuY2hlY2ttYXJrIHN2ZyB7CiAgICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICAgIHN0cm9rZTogd2hpdGU7CiAgICAgICAgICBzdHJva2Utd2lkdGg6IDM7CiAgICAgICAgfQoKICAgICAgICAvKiBEaXNhYmxlZCBzdGF0ZSAqLwogICAgICAgIC5tYWluY29udGFpbmVyLmRpc2FibGVkIHsKICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tib3guZGlzYWJsZWQgewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICB9CgogICAgICAgIC8qIExhYmVsICovCiAgICAgICAgLmxhYmVsLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMnB4OwogICAgICAgICAgZmxleDogMTsKICAgICAgICB9CgogICAgICAgIC5jaGVja2JveC1sYWJlbCB7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIH0KCiAgICAgICAgLm1haW5jb250YWluZXI6aG92ZXIgLmNoZWNrYm94LWxhYmVsIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICB9CgogICAgICAgIC5tYWluY29udGFpbmVyLmRpc2FibGVkOmhvdmVyIC5jaGVja2JveC1sYWJlbCB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgIH0KCiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciAke3RoaXMuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0iIEBjbGljaz0iJHt0aGlzLnRvZ2dsZVNlbGVjdGVkfSI+CiAgICAgICAgICA8ZGl2IAogICAgICAgICAgICBjbGFzcz0iY2hlY2tib3ggJHt0aGlzLnZhbHVlPyJzZWxlY3RlZCI6IiJ9ICR7dGhpcy5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIgCiAgICAgICAgICAgIHRhYmluZGV4PSIke3RoaXMuZGlzYWJsZWQ/Ii0xIjoiMCJ9IgogICAgICAgICAgICBAa2V5ZG93bj0iJHt0aGlzLmhhbmRsZUtleWRvd259IgogICAgICAgICAgPgogICAgICAgICAgICAke3RoaXMudmFsdWU/d2AKICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNoZWNrbWFyayI+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjAgNkw5IDE3TDQgMTIiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgYDp0aGlzLmluZGV0ZXJtaW5hdGU/d2AKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2hlY2ttYXJrIj4KICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNSAxMkgxOSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgogICAgICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICBgOndgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtY29udGFpbmVyIj4KICAgICAgICAgICAgJHt0aGlzLmxhYmVsP3dgPGRpdiBjbGFzcz0iY2hlY2tib3gtbGFiZWwiPiR7dGhpcy5sYWJlbH08L2Rpdj5gOiIifQogICAgICAgICAgICAke3RoaXMucmVuZGVyRGVzY3JpcHRpb24oKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgdG9nZ2xlU2VsZWN0ZWQoKXt0aGlzLmRpc2FibGVkfHwodGhpcy52YWx1ZT0hdGhpcy52YWx1ZSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJuZXdWYWx1ZSIse2RldGFpbDp0aGlzLnZhbHVlLGJ1YmJsZXM6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUobSl7dGhpcy52YWx1ZT1tfWZvY3VzKCl7bGV0IG09dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jaGVja2JveCIpO20mJm0uZm9jdXMoKX1oYW5kbGVLZXlkb3duKG0peyhtLmtleT09PSIgInx8bS5rZXk9PT0iRW50ZXIiKSYmKG0ucHJldmVudERlZmF1bHQoKSx0aGlzLnRvZ2dsZVNlbGVjdGVkKCkpfXN0YXRpY3tBVShyLHQpfX07cmV0dXJuIHU9cn0pKCl9KTt2YXIgaW09e307bHQoaW0se2JyaWdodDooKT0+YzQsZGFyazooKT0+bDR9KTt2YXIgbDQsYzQsVDE9ZigoKT0+e2w0PXtibHVlOiIjMDA1MGI5IixibHVlQWN0aXZlOiIjMDA2OWYyIixibHVlTXV0ZWQ6IiMwMTI0NTIiLHRleHQ6IiNmZmZmZmYifSxjND17Ymx1ZToiIzAwNTBiOSIsYmx1ZUFjdGl2ZToiIzAwNjlmMiIsYmx1ZU11dGVkOiIjMDA2OWYyIix0ZXh0OiIjMzMzMzMzIn19KTt2YXIgbHNhLGNzYT1mKCgpPT57bGUoKTtwYygpO2xzYT1zKCgpPT53YAogIDxzdHlsZT4KICAgICR7UWAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLXNlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjhmOWZhIiwiIzFhMWExYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2UwZTBlMCIsIiMzMzMiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLXNlY3Rpb24gaDMgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzMzMiLCIjZmZmIil9OwogICAgICB9CiAgICAgIAogICAgICAuZGVtby1zZWN0aW9uIHAgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzY2NiIsIiM5OTkiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTUwcHgsIDFmcikpOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5IZWFkZXIgQnV0dG9uczwvaDM+CiAgICAgIDxwPk1vZGFscyBjYW4gaGF2ZSBvcHRpb25hbCBoZWFkZXIgYnV0dG9ucyBmb3IgaGVscCBhbmQgY2xvc2luZy48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJXaXRoIEhlbHAgQnV0dG9uIixzaG93SGVscEJ1dHRvbjohMCxvbkhlbHA6cyhhc3luYygpPT57YXdhaXQgd2EuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiSGVscCIsd2lkdGg6InNtYWxsIixzaG93Q2xvc2VCdXR0b246ITAsc2hvd0hlbHBCdXR0b246ITEsY29udGVudDp3YAogICAgICAgICAgICAgICAgICA8cD5UaGlzIGlzIHRoZSBoZWxwIGNvbnRlbnQgZm9yIHRoZSBtb2RhbC48L3A+CiAgICAgICAgICAgICAgICAgIDxwPllvdSBjYW4gcHJvdmlkZSBjb250ZXh0LXNwZWNpZmljIGhlbHAgaGVyZS48L3A+CiAgICAgICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiR290IGl0IixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfSwib25IZWxwIiksY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlRoaXMgbW9kYWwgaGFzIGEgaGVscCBidXR0b24gaW4gdGhlIGhlYWRlci4gQ2xpY2sgaXQgdG8gc2VlIGhlbHAgY29udGVudC48L3A+CiAgICAgICAgICAgICAgPHA+VGhlIGNsb3NlIGJ1dHRvbiBpcyBhbHNvIHZpc2libGUgYnkgZGVmYXVsdC48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJPSyIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PldpdGggSGVscCBCdXR0b248L2RlZXMtYnV0dG9uPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e3dhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6Ik5vIENsb3NlIEJ1dHRvbiIsc2hvd0Nsb3NlQnV0dG9uOiExLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIGhhcyBubyBjbG9zZSBidXR0b24gaW4gdGhlIGhlYWRlci48L3A+CiAgICAgICAgICAgICAgPHA+WW91IG11c3QgdXNlIHRoZSBhY3Rpb24gYnV0dG9ucyBvciBjbGljayBvdXRzaWRlIHRvIGNsb3NlIGl0LjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNsb3NlIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+Tm8gQ2xvc2UgQnV0dG9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJCb3RoIEJ1dHRvbnMiLHNob3dIZWxwQnV0dG9uOiEwLHNob3dDbG9zZUJ1dHRvbjohMCxvbkhlbHA6cygoKT0+YWxlcnQoIkhlbHAgY2xpY2tlZCEiKSwib25IZWxwIiksY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlRoaXMgbW9kYWwgaGFzIGJvdGggaGVscCBhbmQgY2xvc2UgYnV0dG9ucy48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJEb25lIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+Qm90aCBCdXR0b25zPC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJDbGVhbiBIZWFkZXIiLHNob3dDbG9zZUJ1dHRvbjohMSxzaG93SGVscEJ1dHRvbjohMSxjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCBoYXMgYSBjbGVhbiBoZWFkZXIgd2l0aCBubyBidXR0b25zLjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNsb3NlIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+Q2xlYW4gSGVhZGVyPC9kZWVzLWJ1dHRvbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPk1vZGFsIFdpZHRoIFZhcmlhdGlvbnM8L2gzPgogICAgICA8cD5Nb2RhbHMgY2FuIGhhdmUgZGlmZmVyZW50IHdpZHRoczogc21hbGwsIG1lZGl1bSwgbGFyZ2UsIGZ1bGxzY3JlZW4sIG9yIGN1c3RvbSBwaXhlbCB2YWx1ZXMuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57d2EuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiU21hbGwgTW9kYWwiLHdpZHRoOiJzbWFsbCIsY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlRoaXMgaXMgYSBzbWFsbCBtb2RhbCB3aXRoIGEgd2lkdGggb2YgMzgwcHguIFBlcmZlY3QgZm9yIHNpbXBsZSBjb25maXJtYXRpb25zIG9yIGJyaWVmIG1lc3NhZ2VzLjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNhbmNlbCIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfSx7bmFtZToiT0siLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5TbWFsbCBNb2RhbDwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57d2EuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiTWVkaXVtIE1vZGFsIChEZWZhdWx0KSIsd2lkdGg6Im1lZGl1bSIsY29udGVudDp3YAogICAgICAgICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJVc2VybmFtZSJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiRW1haWwifSAuaW5wdXRUeXBlPSR7ImVtYWlsIn0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJQYXNzd29yZCJ9IC5pbnB1dFR5cGU9JHsicGFzc3dvcmQifT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNhbmNlbCIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfSx7bmFtZToiU2lnbiBVcCIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19Pk1lZGl1bSBNb2RhbDwvZGVlcy1idXR0b24+CiAgICAgICAgCiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57d2EuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiTGFyZ2UgTW9kYWwiLHdpZHRoOiJsYXJnZSIsY29udGVudDp3YAogICAgICAgICAgICAgIDxoND5XaWRlIENvbnRlbnQgQXJlYTwvaDQ+CiAgICAgICAgICAgICAgPHA+VGhpcyBsYXJnZSBtb2RhbCBpcyA4MDBweCB3aWRlIGFuZCBwZXJmZWN0IGZvciBkaXNwbGF5aW5nIG1vcmUgY29tcGxleCBjb250ZW50IGxpa2UgZm9ybXMgd2l0aCBtdWx0aXBsZSBjb2x1bW5zLCB0YWJsZXMsIG9yIGRldGFpbGVkIGluZm9ybWF0aW9uLjwvcD4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogMTZweDsgbWFyZ2luLXRvcDogMTZweDsiPgogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiRmlyc3QgTmFtZSJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiTGFzdCBOYW1lIn0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJDb21wYW55In0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJQb3NpdGlvbiJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9LHtuYW1lOiJTYXZlIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+TGFyZ2UgTW9kYWw8L2RlZXMtYnV0dG9uPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e3dhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IkZ1bGxzY3JlZW4gRWRpdG9yIix3aWR0aDoiZnVsbHNjcmVlbiIsc2hvd0hlbHBCdXR0b246ITAsb25IZWxwOnMoYXN5bmMoKT0+e2FsZXJ0KCJJbiBhIHJlYWwgYXBwLCB0aGlzIHdvdWxkIHNob3cgZWRpdG9yIGRvY3VtZW50YXRpb24iKX0sIm9uSGVscCIpLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8aDQ+RnVsbHNjcmVlbiBFeHBlcmllbmNlIHdpdGggSGVhZGVyIENvbnRyb2xzPC9oND4KICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIHRha2VzIHVwIGFsbW9zdCB0aGUgZW50aXJlIHZpZXdwb3J0IHdpdGggYSAyMHB4IG1hcmdpbiBvbiBhbGwgc2lkZXMuIFRoZSBoZWFkZXIgYnV0dG9ucyBhcmUgcGFydGljdWxhcmx5IHVzZWZ1bCBpbiBmdWxsc2NyZWVuIG1vZGUuPC9wPgogICAgICAgICAgICAgIDxwPlRoZSBjb250ZW50IGFyZWEgY2FuIGJlIGFzIHRhbGwgYXMgbmVlZGVkIGFuZCB3aWxsIHNjcm9sbCBpZiBuZWNlc3NhcnkuPC9wPgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImhlaWdodDogMjAwcHg7IGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjBmMGYwIiwiIzJhMmEyYSIpfTsgYm9yZGVyLXJhZGl1czogOHB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgbWFyZ2luLXRvcDogMTZweDsiPgogICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAke2guYmRUaGVtZSgiIzk5OSIsIiM2NjYiKX0iPkxhcmdlIGNvbnRlbnQgYXJlYTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IlNhdmUiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX0se25hbWU6IkNhbmNlbCIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PkZ1bGxzY3JlZW4gTW9kYWw8L2RlZXMtYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+Q3VzdG9tIFdpZHRoICYgQ29uc3RyYWludHM8L2gzPgogICAgICA8cD5Zb3UgY2FuIGFsc28gc2V0IGN1c3RvbSBwaXhlbCB3aWR0aHMgYW5kIG1pbi9tYXggY29uc3RyYWludHMuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0keygpPT57d2EuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiQ3VzdG9tIFdpZHRoICg3MDBweCkiLHdpZHRoOjcwMCxjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCBoYXMgYSBjdXN0b20gd2lkdGggb2YgZXhhY3RseSA3MDAgcGl4ZWxzLjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNsb3NlIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+Q3VzdG9tIDcwMHB4PC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJXaXRoIE1heCBXaWR0aCIsd2lkdGg6ImxhcmdlIixtYXhXaWR0aDo2MDAsY29udGVudDp3YAogICAgICAgICAgICAgIDxwPlRoaXMgbW9kYWwgaXMgc2V0IHRvICdsYXJnZScgYnV0IGNvbnN0cmFpbmVkIGJ5IGEgbWF4V2lkdGggb2YgNjAwcHguPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiR290IGl0IixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9XX0pfX0+TWF4IFdpZHRoIDYwMHB4PC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJXaXRoIE1pbiBXaWR0aCIsd2lkdGg6MzAwLG1pbldpZHRoOjQwMCxjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+VGhpcyBtb2RhbCB3aWR0aCBpcyBzZXQgdG8gMzAwcHggYnV0IGhhcyBhIG1pbldpZHRoIG9mIDQwMHB4LCBzbyBpdCB3aWxsIGJlIDQwMHB4IHdpZGUuPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiT0siLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5NaW4gV2lkdGggNDAwcHg8L2RlZXMtYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+QnV0dG9uIFZhcmlhdGlvbnM8L2gzPgogICAgICA8cD5Nb2RhbHMgY2FuIGhhdmUgZGlmZmVyZW50IGJ1dHRvbiBjb25maWd1cmF0aW9ucyB3aXRoIHByb3BlciBzcGFjaW5nLjwvcD4KICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e3dhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6Ik11bHRpcGxlIEFjdGlvbnMiLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIGRlbW9uc3RyYXRlcyBtdWx0aXBsZSBidXR0b25zIHdpdGggcHJvcGVyIHNwYWNpbmcgYmV0d2VlbiB0aGVtLjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkRlbGV0ZSIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfSx7bmFtZToiQ2FuY2VsIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9LHtuYW1lOiJTYXZlIENoYW5nZXMiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5UaHJlZSBCdXR0b25zPC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJTaW5nbGUgQWN0aW9uIixjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+U29tZXRpbWVzIHlvdSBqdXN0IG5lZWQgb25lIGJ1dHRvbi48L3A+CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJBY2tub3dsZWRnZSIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PlNpbmdsZSBCdXR0b248L2RlZXMtYnV0dG9uPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e3dhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6Ik5vIEFjdGlvbnMiLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8cD5UaGlzIG1vZGFsIGhhcyBubyBib3R0b20gYnV0dG9ucy4gVXNlIHRoZSBYIGJ1dHRvbiBvciBjbGljayBvdXRzaWRlIHRvIGNsb3NlLjwvcD4KICAgICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsgY29sb3I6ICR7aC5iZFRoZW1lKCIjNjY2IiwiIzk5OSIpfTsiPlRoaXMgaXMgdXNlZnVsIGZvciBpbmZvcm1hdGlvbmFsIG1vZGFscyB0aGF0IGRvbid0IHJlcXVpcmUgdXNlciBhY3Rpb24uPC9wPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOltdfSl9fT5ObyBCdXR0b25zPC9kZWVzLWJ1dHRvbj4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJMb25nIEJ1dHRvbiBMYWJlbHMiLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8cD5UZXN0aW5nIGJ1dHRvbiBsYXlvdXQgd2l0aCBsb25nZXIgbGFiZWxzLjwvcD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkRpc2NhcmQgQWxsIENoYW5nZXMiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX0se25hbWU6IlNhdmUgYW5kIENvbnRpbnVlIEVkaXRpbmciLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5Mb25nIExhYmVsczwvZGVlcy1idXR0b24+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5SZXNwb25zaXZlIEJlaGF2aW9yPC9oMz4KICAgICAgPHA+QWxsIG1vZGFscyBhdXRvbWF0aWNhbGx5IGJlY29tZSBmdWxsLXdpZHRoIG9uIG1vYmlsZSBkZXZpY2VzICg8IDc2OHB4IHZpZXdwb3J0IHdpZHRoKSBmb3IgYmV0dGVyIHVzYWJpbGl0eS48L3A+CiAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e3dhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IlJlc3BvbnNpdmUgTW9kYWwiLHdpZHRoOiJsYXJnZSIsc2hvd0hlbHBCdXR0b246ITAsb25IZWxwOnMoKCk9PmNvbnNvbGUubG9nKCJIZWxwIHJlcXVlc3RlZCBmb3IgcmVzcG9uc2l2ZSBtb2RhbCIpLCJvbkhlbHAiKSxjb250ZW50OndgCiAgICAgICAgICAgIDxwPlJlc2l6ZSB5b3VyIGJyb3dzZXIgd2luZG93IHRvIHNlZSBob3cgdGhpcyBtb2RhbCBhZGFwdHMuIE9uIG1vYmlsZSB2aWV3cG9ydHMsIGl0IHdpbGwgYXV0b21hdGljYWxseSB0YWtlIHRoZSBmdWxsIHdpZHRoIG1pbnVzIG1hcmdpbnMuPC9wPgogICAgICAgICAgICA8cD5UaGUgaGVhZGVyIGJ1dHRvbnMgcmVtYWluIGFjY2Vzc2libGUgYXQgYWxsIHZpZXdwb3J0IHNpemVzLjwvcD4KICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDbG9zZSIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PlRlc3QgUmVzcG9uc2l2ZTwvZGVlcy1idXR0b24+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+U2Nyb2xsYWJsZSBDb250ZW50PC9oMz4KICAgICAgPHA+V2hlbiBjb250ZW50IGV4Y2VlZHMgdGhlIG1vZGFsJ3MgbWF4LWhlaWdodCAoPGNvZGU+Y2FsYygxMDB2aCAtIDgwcHgpPC9jb2RlPiksIHRoZSB0aWxlIGNhcHMgYXQgdGhhdCBoZWlnaHQgYW5kIHRoZSBjb250ZW50IGFyZWEgc2Nyb2xscyBpbnNpZGUuIFRoZSBoZWFkaW5nIGFuZCBib3R0b20gYnV0dG9ucyBzdGF5IHBpbm5lZC48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJMb25nIEFydGljbGUiLHdpZHRoOiJtZWRpdW0iLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbi10b3A6IDA7Ij5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldDwvaDQ+CiAgICAgICAgICAgICAgJHtBcnJheS5mcm9tKHtsZW5ndGg6NDB9LChhLGUpPT53YAogICAgICAgICAgICAgICAgPHA+CiAgICAgICAgICAgICAgICAgIDxzdHJvbmc+wqcgJHtlKzF9Ljwvc3Ryb25nPgogICAgICAgICAgICAgICAgICBMb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTZWQgZG8KICAgICAgICAgICAgICAgICAgZWl1c21vZCB0ZW1wb3IgaW5jaWRpZHVudCB1dCBsYWJvcmUgZXQgZG9sb3JlIG1hZ25hIGFsaXF1YS4gVXQKICAgICAgICAgICAgICAgICAgZW5pbSBhZCBtaW5pbSB2ZW5pYW0sIHF1aXMgbm9zdHJ1ZCBleGVyY2l0YXRpb24gdWxsYW1jbyBsYWJvcmlzCiAgICAgICAgICAgICAgICAgIG5pc2kgdXQgYWxpcXVpcCBleCBlYSBjb21tb2RvIGNvbnNlcXVhdC4gRHVpcyBhdXRlIGlydXJlIGRvbG9yCiAgICAgICAgICAgICAgICAgIGluIHJlcHJlaGVuZGVyaXQgaW4gdm9sdXB0YXRlIHZlbGl0IGVzc2UgY2lsbHVtIGRvbG9yZSBldSBmdWdpYXQKICAgICAgICAgICAgICAgICAgbnVsbGEgcGFyaWF0dXIuIEV4Y2VwdGV1ciBzaW50IG9jY2FlY2F0IGN1cGlkYXRhdCBub24gcHJvaWRlbnQsCiAgICAgICAgICAgICAgICAgIHN1bnQgaW4gY3VscGEgcXVpIG9mZmljaWEgZGVzZXJ1bnQgbW9sbGl0IGFuaW0gaWQgZXN0IGxhYm9ydW0uCiAgICAgICAgICAgICAgICA8L3A+CiAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDYW5jZWwiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX0se25hbWU6IkFjY2VwdCIsYWN0aW9uOnMoYXN5bmMgYT0+YS5kZXN0cm95KCksImFjdGlvbiIpfV19KX19PkxvbmcgQXJ0aWNsZTwvZGVlcy1idXR0b24+CgogICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHsoKT0+e3dhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IkxvbmcgTGlzdCIsd2lkdGg6InNtYWxsIixjb250ZW50OndgCiAgICAgICAgICAgICAgPHA+U2VsZWN0ZWQgaXRlbXM6PC9wPgogICAgICAgICAgICAgIDx1bCBzdHlsZT0icGFkZGluZy1sZWZ0OiAyMHB4OyBtYXJnaW46IDA7Ij4KICAgICAgICAgICAgICAgICR7QXJyYXkuZnJvbSh7bGVuZ3RoOjgwfSwoYSxlKT0+d2AKICAgICAgICAgICAgICAgICAgPGxpIHN0eWxlPSJwYWRkaW5nOiA0cHggMDsiPkl0ZW0gJHtlKzF9IOKAlCBvcHRpb24gbGFiZWw8L2xpPgogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkRvbmUiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5Mb25nIExpc3Q8L2RlZXMtYnV0dG9uPgoKICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJUYWxsIEZvcm0iLHdpZHRoOiJtZWRpdW0iLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICAgICAgJHtBcnJheS5mcm9tKHtsZW5ndGg6MjV9LChhLGUpPT53YAogICAgICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0ke2BGaWVsZCAke2UrMX1gfT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgIDwvZGVlcy1mb3JtPgogICAgICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246cyhhc3luYyBhPT5hLmRlc3Ryb3koKSwiYWN0aW9uIil9LHtuYW1lOiJTdWJtaXQiLGFjdGlvbjpzKGFzeW5jIGE9PmEuZGVzdHJveSgpLCJhY3Rpb24iKX1dfSl9fT5UYWxsIEZvcm08L2RlZXMtYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIGRzYSx1c2E9ZigoKT0+e2xlKCk7S3IoKTtkc2E9cygoKT0+d2AKICAgIDxkZWVzLWRlbW93cmFwcGVyPgogICAgICA8c3R5bGU+CiAgICAgICAgJHtRYAogICAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgfQogICAgICAgICAgLnRpbGUtZGVtby1jb250ZW50IHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUlKSIsImhzbCgwIDAlIDU1JSkiKX07CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIH0KICAgICAgICAgIC5mb290ZXItc3RhdHMgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICB9CiAgICAgICAgICAuZm9vdGVyLXN0YXRzIC5zdGF0IHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuZm9vdGVyLXN0YXRzIC5zdGF0IHN0cm9uZyB7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgICB9CiAgICAgICAgYH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iZGVtb0JveCI+CiAgICAgICAgPGRlZXMtdGlsZSBoZWFkaW5nPSJTaW1wbGUgVGlsZSIgc3R5bGU9ImhlaWdodDogMjAwcHg7Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtZGVtby1jb250ZW50Ij5Db250ZW50IGFyZWEgd2l0aCByb3VuZGVkIGNvcm5lcnM8L2Rpdj4KICAgICAgICA8L2RlZXMtdGlsZT4KCiAgICAgICAgPGRlZXMtdGlsZSBoZWFkaW5nPSJUaWxlIHdpdGggRm9vdGVyIiBzdHlsZT0iaGVpZ2h0OiAyMDBweDsiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1kZW1vLWNvbnRlbnQiPkNvbnRlbnQgZ29lcyBoZXJlPC9kaXY+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImZvb3Rlci1zdGF0cyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0Ij5sYXRlc3QgPHN0cm9uZz40Mjwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXQiPm1pbiA8c3Ryb25nPjEyPC9zdHJvbmc+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdCI+bWF4IDxzdHJvbmc+ODc8L3N0cm9uZz48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0Ij5hdmcgPHN0cm9uZz40NS4zPC9zdHJvbmc+PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLXRpbGU+CgogICAgICAgIDxkZWVzLXRpbGUgc3R5bGU9ImhlaWdodDogMjAwcHg7Ij4KICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBzdHlsZT0iZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtnYXA6MTJweDt3aWR0aDoxMDAlOyI+CiAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDo1MDA7Ij5DdXN0b20gSGVhZGVyPC9zcGFuPgogICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IlNlYXJjaC4uLiIgc3R5bGU9ImZsZXg6MTttYXgtd2lkdGg6MjAwcHg7cGFkZGluZzoycHggOHB4O2JvcmRlcjoxcHggc29saWQ7Ym9yZGVyLXJhZGl1czo0cHg7Zm9udC1zaXplOjEycHg7YmFja2dyb3VuZDp0cmFuc3BhcmVudDtjb2xvcjppbmhlcml0O2JvcmRlci1jb2xvcjppbmhlcml0OyI+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtZGVtby1jb250ZW50Ij5DdXN0b20gaGVhZGVyIHNsb3Qgd2l0aCBzZWFyY2ggaW5wdXQ8L2Rpdj4KICAgICAgICA8L2RlZXMtdGlsZT4KICAgICAgPC9kaXY+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYCwiZGVtb0Z1bmMiKX0pO3ZhciBYdGUsVGYscHNhLEtyPWYoKCk9PntsZSgpO3VzYSgpO3VzKCk7UWUoKTtYdGU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFRmPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxwc2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLXRpbGUiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1RpbGUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLHU9W0soKV0sWHRlKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGVhZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iaGVhZGluZyJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmhlYWRpbmcsImdldCIpLHNldDpzKChnLHkpPT57Zy5oZWFkaW5nPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbixsKSxYdGUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvdmVyc2Nyb2xsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJvdmVyc2Nyb2xsImluIGcsImhhcyIpLGdldDpzKGc9Pmcub3ZlcnNjcm9sbCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLm92ZXJzY3JvbGw9eX0sInNldCIpfSxtZXRhZGF0YTpifSxjLHApLFh0ZSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imhhc0Zvb3RlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iaGFzRm9vdGVyImluIGcsImhhcyIpLGdldDpzKGc9PmcuaGFzRm9vdGVyLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuaGFzRm9vdGVyPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSxYdGUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz1kc2E7c3RhdGljIGRlbW9Hcm91cHM9WyJMYXlvdXQiXTsjZT1UZih0aGlzLG4sIiIpO2dldCBoZWFkaW5nKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGhlYWRpbmcoYil7dGhpcy4jZT1ifSN0PShUZih0aGlzLGwpLFRmKHRoaXMsYywiYXV0byIpKTtnZXQgb3ZlcnNjcm9sbCgpe3JldHVybiB0aGlzLiN0fXNldCBvdmVyc2Nyb2xsKGIpe3RoaXMuI3Q9Yn0jYT0oVGYodGhpcyxwKSxUZih0aGlzLG0sITEpKTtnZXQgaGFzRm9vdGVyKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGhhc0Zvb3RlcihiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC8qIC0tLSBUaGUgZnJhbWUgLS0tICovCiAgICAgIC50aWxlLW91dGVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CgogICAgICAvKiAtLS0gSGVhZGVyOiBiYXJlIGNvbnRhaW5lciwgb25seSB0aGUgZGVmYXVsdCBoZWFkaW5nIGdldHMgc3R5bGVkIC0tLSAqLwogICAgICAudGlsZS1oZWFkZXIgewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAudGlsZS1oZWFkaW5nIHsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgfQoKICAgICAgLyogLS0tIENvbnRlbnQ6IHRoZSByb3VuZGVkIGluc2V0IC0tLQogICAgICAgICBVc2VzIG92ZXJmbG93LXk6IGF1dG8gc28gdGhhdCB3aGVuIGEgY29uc3VtZXIgKGUuZy4gZGVlcy1tb2RhbCkgY2FwcwogICAgICAgICB0aGUgdGlsZSB3aXRoIG1heC1oZWlnaHQsIGxvbmcgY29udGVudCBzY3JvbGxzIGluc2lkZSB0aGUgdGlsZQogICAgICAgICBpbnN0ZWFkIG9mIGJlaW5nIGNsaXBwZWQuIEZvciBjb25zdW1lcnMgd2l0aG91dCBtYXgtaGVpZ2h0CiAgICAgICAgIChlLmcuIGRlZXMtc3RlcHBlciksIHRoZSB0aWxlIGdyb3dzIHdpdGggY29udGVudCBhbmQgdGhlIHNjcm9sbAogICAgICAgICBuZXZlciBhY3RpdmF0ZXMuIEhvcml6b250YWwgb3ZlcmZsb3cgc3RheXMgY2xpcHBlZCB0byBwcmVzZXJ2ZSB0aGUKICAgICAgICAgcm91bmRlZCBjb3JuZXJzLiAqLwogICAgICAudGlsZS1jb250ZW50IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgc2Nyb2xsYmFyLXdpZHRoOiB0aGluOwogICAgICAgIHNjcm9sbGJhci1jb2xvcjogdmFyKC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWIpIHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICA6aG9zdChbb3ZlcnNjcm9sbD0iY29udGFpbiJdKSAudGlsZS1jb250ZW50IHsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICB9CgogICAgICAudGlsZS1jb250ZW50Lm5vLWZvb3RlciB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOwogICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOwogICAgICB9CgogICAgICAvKiAtLS0gRm9vdGVyOiBiYXJlIGNvbnRhaW5lciwgY29uc3VtZXIgc3R5bGVzIHRoZSBzbG90dGVkIGNvbnRlbnQgLS0tICovCiAgICAgIC50aWxlLWZvb3RlciB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC50aWxlLWZvb3Rlci5oaWRkZW4gewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJ0aWxlLW91dGVyIiBwYXJ0PSJvdXRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1oZWFkZXIiIHBhcnQ9ImhlYWRlciI+CiAgICAgICAgICA8c2xvdCBuYW1lPSJoZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWhlYWRpbmciPiR7dGhpcy5oZWFkaW5nfTwvZGl2PgogICAgICAgICAgPC9zbG90PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtY29udGVudCAke3RoaXMuaGFzRm9vdGVyPyIiOiJuby1mb290ZXIifSIgcGFydD0iY29udGVudCI+CiAgICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1mb290ZXIgJHt0aGlzLmhhc0Zvb3Rlcj8iIjoiaGlkZGVuIn0iIHBhcnQ9ImZvb3RlciI+CiAgICAgICAgICA8c2xvdCBuYW1lPSJmb290ZXIiIEBzbG90Y2hhbmdlPSR7dGhpcy5vbkZvb3RlclNsb3RDaGFuZ2V9Pjwvc2xvdD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfW9uRm9vdGVyU2xvdENoYW5nZShiKXtsZXQgZz1iLnRhcmdldDt0aGlzLmhhc0Zvb3Rlcj1nLmFzc2lnbmVkTm9kZXMoe2ZsYXR0ZW46ITB9KS5sZW5ndGg+MH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksVGYodGhpcyx2KX1zdGF0aWN7VGYocix0KX19O3JldHVybiB4PXJ9KSgpfSk7dmFyIFhvLGZyLHdhLHBjPWYoKCk9PntUMSgpO1ZzKCk7amkoKTt1cygpO2NzYSgpO2xlKCk7SnQoKTt3MSgpO3ZhKCk7S3IoKTtRZSgpO1hvPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxmcj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sd2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLW1vZGFsIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W10sQixNPVtdLFM9W10sUCxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXTt2YXIgY2U9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNNb2RhbCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCB1ZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVtLKHt9KV0sdT1bSyh7fSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6TnVtYmVyfSldLE49WyQoe3R5cGU6TnVtYmVyfSldLE89WyQoe3R5cGU6Qm9vbGVhbn0pXSxCPVskKHt0eXBlOkJvb2xlYW59KV0sUD1bJCh7YXR0cmlidXRlOiExfSldLFc9WyQoe3R5cGU6Qm9vbGVhbn0pXSxoZT1bJCh7dHlwZTpOdW1iZXJ9KV0sbWU9W0soKV0sWG8odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoZWFkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJoZWFkaW5nImluIFksImhhcyIpLGdldDpzKFk9PlkuaGVhZGluZywiZ2V0Iiksc2V0OnMoKFksWCk9PntZLmhlYWRpbmc9WH0sInNldCIpfSxtZXRhZGF0YTp1ZX0sbixsKSxYbyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRlbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+ImNvbnRlbnQiaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5jb250ZW50LCJnZXQiKSxzZXQ6cygoWSxYKT0+e1kuY29udGVudD1YfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxjLHApLFhvKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVudU9wdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+Im1lbnVPcHRpb25zImluIFksImhhcyIpLGdldDpzKFk9PlkubWVudU9wdGlvbnMsImdldCIpLHNldDpzKChZLFgpPT57WS5tZW51T3B0aW9ucz1YfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxtLHYpLFhvKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToid2lkdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+IndpZHRoImluIFksImhhcyIpLGdldDpzKFk9Plkud2lkdGgsImdldCIpLHNldDpzKChZLFgpPT57WS53aWR0aD1YfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxiLGcpLFhvKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4V2lkdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+Im1heFdpZHRoImluIFksImhhcyIpLGdldDpzKFk9PlkubWF4V2lkdGgsImdldCIpLHNldDpzKChZLFgpPT57WS5tYXhXaWR0aD1YfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxrLEMpLFhvKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWluV2lkdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+Im1pbldpZHRoImluIFksImhhcyIpLGdldDpzKFk9PlkubWluV2lkdGgsImdldCIpLHNldDpzKChZLFgpPT57WS5taW5XaWR0aD1YfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxfLHopLFhvKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0Nsb3NlQnV0dG9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJzaG93Q2xvc2VCdXR0b24iaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5zaG93Q2xvc2VCdXR0b24sImdldCIpLHNldDpzKChZLFgpPT57WS5zaG93Q2xvc2VCdXR0b249WH0sInNldCIpfSxtZXRhZGF0YTp1ZX0sVCxFKSxYbyh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dIZWxwQnV0dG9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJzaG93SGVscEJ1dHRvbiJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLnNob3dIZWxwQnV0dG9uLCJnZXQiKSxzZXQ6cygoWSxYKT0+e1kuc2hvd0hlbHBCdXR0b249WH0sInNldCIpfSxtZXRhZGF0YTp1ZX0sTSxTKSxYbyh0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9uSGVscCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4ib25IZWxwImluIFksImhhcyIpLGdldDpzKFk9Plkub25IZWxwLCJnZXQiKSxzZXQ6cygoWSxYKT0+e1kub25IZWxwPVh9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LEEsRiksWG8odGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb2JpbGVGdWxsc2NyZWVuIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJtb2JpbGVGdWxsc2NyZWVuImluIFksImhhcyIpLGdldDpzKFk9PlkubW9iaWxlRnVsbHNjcmVlbiwiZ2V0Iiksc2V0OnMoKFksWCk9PntZLm1vYmlsZUZ1bGxzY3JlZW49WH0sInNldCIpfSxtZXRhZGF0YTp1ZX0saixHKSxYbyh0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50UGFkZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4iY29udGVudFBhZGRpbmciaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5jb250ZW50UGFkZGluZywiZ2V0Iiksc2V0OnMoKFksWCk9PntZLmNvbnRlbnRQYWRkaW5nPVh9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LFIsVSksWG8odGhpcyxudWxsLG1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW9kYWxaSW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+Im1vZGFsWkluZGV4ImluIFksImhhcyIpLGdldDpzKFk9PlkubW9kYWxaSW5kZXgsImdldCIpLHNldDpzKChZLFgpPT57WS5tb2RhbFpJbmRleD1YfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxJLHEpLFhvKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOnVlfSxudWxsLHQpLGNlPXI9ZS52YWx1ZSx1ZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp1ZX0pfXN0YXRpYyBkZW1vPWxzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk92ZXJsYXkiXTtzdGF0aWMgYXN5bmMgY3JlYXRlQW5kU2hvdyh1ZSl7bGV0IFk9ZG9jdW1lbnQuYm9keSxYPW5ldyBjZTtyZXR1cm4gWC5oZWFkaW5nPXVlLmhlYWRpbmcsWC5jb250ZW50PXVlLmNvbnRlbnQsWC5tZW51T3B0aW9ucz11ZS5tZW51T3B0aW9ucyx1ZS53aWR0aCYmKFgud2lkdGg9dWUud2lkdGgpLHVlLm1heFdpZHRoJiYoWC5tYXhXaWR0aD11ZS5tYXhXaWR0aCksdWUubWluV2lkdGgmJihYLm1pbldpZHRoPXVlLm1pbldpZHRoKSx1ZS5zaG93Q2xvc2VCdXR0b24hPT12b2lkIDAmJihYLnNob3dDbG9zZUJ1dHRvbj11ZS5zaG93Q2xvc2VCdXR0b24pLHVlLnNob3dIZWxwQnV0dG9uIT09dm9pZCAwJiYoWC5zaG93SGVscEJ1dHRvbj11ZS5zaG93SGVscEJ1dHRvbiksdWUub25IZWxwJiYoWC5vbkhlbHA9dWUub25IZWxwKSx1ZS5tb2JpbGVGdWxsc2NyZWVuIT09dm9pZCAwJiYoWC5tb2JpbGVGdWxsc2NyZWVuPXVlLm1vYmlsZUZ1bGxzY3JlZW4pLHVlLmNvbnRlbnRQYWRkaW5nIT09dm9pZCAwJiYoWC5jb250ZW50UGFkZGluZz11ZS5jb250ZW50UGFkZGluZyksWC53aW5kb3dMYXllcj1hd2FpdCBqcy5jcmVhdGVBbmRTaG93KHtibHVyOiEwfSksWC53aW5kb3dMYXllci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXN5bmMoKT0+e2F3YWl0IFguZGVzdHJveSgpfSksWS5hcHBlbmQoWC53aW5kb3dMYXllciksWS5hcHBlbmQoWCksWC5tb2RhbFpJbmRleD1adC5nZXROZXh0WkluZGV4KCksWnQucmVnaXN0ZXIoWCxYLm1vZGFsWkluZGV4KSxYfSNlPWZyKHRoaXMsbiwiIik7Z2V0IGhlYWRpbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaGVhZGluZyh1ZSl7dGhpcy4jZT11ZX0jdD0oZnIodGhpcyxsKSxmcih0aGlzLGMsdm9pZCAwKSk7Z2V0IGNvbnRlbnQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY29udGVudCh1ZSl7dGhpcy4jdD11ZX0jYT0oZnIodGhpcyxwKSxmcih0aGlzLG0sW10pKTtnZXQgbWVudU9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbWVudU9wdGlvbnModWUpe3RoaXMuI2E9dWV9I3I9KGZyKHRoaXMsdiksZnIodGhpcyxiLCJtZWRpdW0iKSk7Z2V0IHdpZHRoKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHdpZHRoKHVlKXt0aGlzLiNyPXVlfSNzPShmcih0aGlzLGcpLGZyKHRoaXMsayx2b2lkIDApKTtnZXQgbWF4V2lkdGgoKXtyZXR1cm4gdGhpcy4jc31zZXQgbWF4V2lkdGgodWUpe3RoaXMuI3M9dWV9I2k9KGZyKHRoaXMsQyksZnIodGhpcyxfLHZvaWQgMCkpO2dldCBtaW5XaWR0aCgpe3JldHVybiB0aGlzLiNpfXNldCBtaW5XaWR0aCh1ZSl7dGhpcy4jaT11ZX0jbz0oZnIodGhpcyx6KSxmcih0aGlzLFQsITApKTtnZXQgc2hvd0Nsb3NlQnV0dG9uKCl7cmV0dXJuIHRoaXMuI299c2V0IHNob3dDbG9zZUJ1dHRvbih1ZSl7dGhpcy4jbz11ZX0jbj0oZnIodGhpcyxFKSxmcih0aGlzLE0sITEpKTtnZXQgc2hvd0hlbHBCdXR0b24oKXtyZXR1cm4gdGhpcy4jbn1zZXQgc2hvd0hlbHBCdXR0b24odWUpe3RoaXMuI249dWV9I2w9KGZyKHRoaXMsUyksZnIodGhpcyxBLHZvaWQgMCkpO2dldCBvbkhlbHAoKXtyZXR1cm4gdGhpcy4jbH1zZXQgb25IZWxwKHVlKXt0aGlzLiNsPXVlfSNjPShmcih0aGlzLEYpLGZyKHRoaXMsaiwhMSkpO2dldCBtb2JpbGVGdWxsc2NyZWVuKCl7cmV0dXJuIHRoaXMuI2N9c2V0IG1vYmlsZUZ1bGxzY3JlZW4odWUpe3RoaXMuI2M9dWV9I2Q9KGZyKHRoaXMsRyksZnIodGhpcyxSLDE2KSk7Z2V0IGNvbnRlbnRQYWRkaW5nKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGNvbnRlbnRQYWRkaW5nKHVlKXt0aGlzLiNkPXVlfSN1PShmcih0aGlzLFUpLGZyKHRoaXMsSSwxZTMpKTtnZXQgbW9kYWxaSW5kZXgoKXtyZXR1cm4gdGhpcy4jdX1zZXQgbW9kYWxaSW5kZXgodWUpe3RoaXMuI3U9dWV9Y29uc3RydWN0b3IoKXtzdXBlcigpfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KICAgICAgLm1vZGFsQ29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDBweDsKICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgd2lkdGg6IDEwMHZ3OwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CiAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KSBzY2FsZSgwLjk4KTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4OwogICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA4MHB4KTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAuMTYsIDEsIDAuMywgMSksIG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICAgIG1hcmdpbjogNDBweDsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICB9CgogICAgICBkZWVzLXRpbGU6OnBhcnQob3V0ZXIpIHsKICAgICAgICBib3gtc2hhZG93OgogICAgICAgICAgMCAwIDAgMXB4ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDMpIiwiaHNsKDAgMCUgMTAwJSAvIDAuMDMpIil9LAogICAgICAgICAgMCA4cHggNDBweCAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjEyKSIsImhzbCgwIDAlIDAlIC8gMC41KSIpfSwKICAgICAgICAgIDAgMnB4IDhweCAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjA2KSIsImhzbCgwIDAlIDAlIC8gMC4yNSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFdpZHRoIHZhcmlhdGlvbnMgKi8KICAgICAgZGVlcy10aWxlLndpZHRoLXNtYWxsIHsKICAgICAgICB3aWR0aDogMzgwcHg7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS53aWR0aC1tZWRpdW0gewogICAgICAgIHdpZHRoOiA1NjBweDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlLndpZHRoLWxhcmdlIHsKICAgICAgICB3aWR0aDogODAwcHg7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS53aWR0aC1mdWxsc2NyZWVuIHsKICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDQwcHgpOwogICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDQwcHgpOwogICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0MHB4KTsKICAgICAgfQoKICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgZGVlcy10aWxlIHsKICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gNDBweCkgIWltcG9ydGFudDsKICAgICAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OwogICAgICAgIH0KCiAgICAgICAgLm1vZGFsQ29udGFpbmVyIHsKICAgICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgfQoKICAgICAgICBkZWVzLXRpbGUgewogICAgICAgICAgbWFyZ2luOiAxMHB4OwogICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDIwcHgpOwogICAgICAgIH0KCiAgICAgICAgZGVlcy10aWxlLm1vYmlsZS1mdWxsc2NyZWVuIHsKICAgICAgICAgIHdpZHRoOiAxMDB2dyAhaW1wb3J0YW50OwogICAgICAgICAgaGVpZ2h0OiAxMDB2aCAhaW1wb3J0YW50OwogICAgICAgICAgbWF4LWhlaWdodDogMTAwdmggIWltcG9ydGFudDsKICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICB9CgogICAgICAgIGRlZXMtdGlsZS5tb2JpbGUtZnVsbHNjcmVlbjo6cGFydChvdXRlcikgewogICAgICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS5zaG93IHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTsKICAgICAgfQoKICAgICAgZGVlcy10aWxlLnNob3cucHJlZGVzdHJveSB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KSBzY2FsZSgwLjk4KTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZS1pbiwgb3BhY2l0eSAwLjE1cyBlYXNlLWluOwogICAgICB9CgogICAgICAuaGVhZGluZyB7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDhweCAwIDE2cHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuaGVhZGluZyAuaGVhZGluZy10ZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIC5oZWFkZXItYnV0dG9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIC5oZWFkZXItYnV0dG9uIHsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIC5oZWFkZXItYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIC5oZWFkZXItYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkwJSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICB9CgogICAgICAuaGVhZGluZyAuaGVhZGVyLWJ1dHRvbiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbjpmaXJzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b246YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTIlKSIsImhzbCgwIDAlIDEzJSkiKX07CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24ucHJpbWFyeSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uLnByaW1hcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjA4KSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSAvIDAuMDgpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDUwJSkiLCJoc2woMjEzLjEgOTMuOSUgNzUlKSIpfTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbi5wcmltYXJ5OmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMTIpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4xMikiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCB1ZT10eXBlb2YgdGhpcy53aWR0aD09InN0cmluZyI/YHdpZHRoLSR7dGhpcy53aWR0aH1gOiIiLFk9dHlwZW9mIHRoaXMud2lkdGg9PSJudW1iZXIiP2Ake3RoaXMud2lkdGh9cHhgOiIiLFg9dGhpcy5tYXhXaWR0aD9gJHt0aGlzLm1heFdpZHRofXB4YDoiIixKPXRoaXMubWluV2lkdGg/YCR7dGhpcy5taW5XaWR0aH1weGA6IiIsWj10aGlzLm1vYmlsZUZ1bGxzY3JlZW4/Im1vYmlsZS1mdWxsc2NyZWVuIjoiIjtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgICR7WT9gZGVlcy10aWxlIHsgd2lkdGg6ICR7WX07IH1gOiIifQogICAgICAgICR7WD9gZGVlcy10aWxlIHsgbWF4LXdpZHRoOiAke1h9OyB9YDoiIn0KICAgICAgICAke0o/YGRlZXMtdGlsZSB7IG1pbi13aWR0aDogJHtKfTsgfWA6IiJ9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9Im1vZGFsQ29udGFpbmVyIiBAY2xpY2s9JHt0aGlzLmhhbmRsZU91dHNpZGVDbGlja30gc3R5bGU9InotaW5kZXg6ICR7dGhpcy5tb2RhbFpJbmRleH0iPgogICAgICAgIDxkZWVzLXRpbGUgY2xhc3M9IiR7dWV9ICR7Wn0iIC5vdmVyc2Nyb2xsPSR7ImNvbnRhaW4ifT4KICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iaGVhZGluZyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmctdGV4dCI+JHt0aGlzLmhlYWRpbmd9PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1idXR0b25zIj4KICAgICAgICAgICAgICAke3RoaXMuc2hvd0hlbHBCdXR0b24/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1idXR0b24iIEBjbGljaz0ke3RoaXMuaGFuZGxlSGVscH0gdGl0bGU9IkhlbHAiPgogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpoZWxwQ2lyY2xlIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICR7dGhpcy5zaG93Q2xvc2VCdXR0b24/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmRlc3Ryb3koKX0gdGl0bGU9IkNsb3NlIj4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6eCJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiIHN0eWxlPSJwYWRkaW5nOiAke3RoaXMuY29udGVudFBhZGRpbmd9cHg7Ij4ke3RoaXMuY29udGVudH08L2Rpdj4KICAgICAgICAgICR7dGhpcy5tZW51T3B0aW9ucy5sZW5ndGg+MD93YAogICAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImJvdHRvbUJ1dHRvbnMiPgogICAgICAgICAgICAgICR7dGhpcy5tZW51T3B0aW9ucy5tYXAoKGdlLGFlKT0+d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYm90dG9tQnV0dG9uICR7YWU9PT10aGlzLm1lbnVPcHRpb25zLmxlbmd0aC0xPyJwcmltYXJ5IjoiIn0gJHtnZS5uYW1lPT09Ik9LIj8ib2siOiIifSIgQGNsaWNrPSR7KCk9PntnZS5hY3Rpb24odGhpcyl9fT4ke2dlLm5hbWV9PC9kaXY+CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGVlcy10aWxlPgogICAgICA8L2Rpdj4KICAgIGB9d2luZG93TGF5ZXI9ZnIodGhpcyxxKTthc3luYyBmaXJzdFVwZGF0ZWQodWUpe3N1cGVyLmZpcnN0VXBkYXRlZCh1ZSksYXdhaXQoYXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UpLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMzApLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLXRpbGUiKS5jbGFzc0xpc3QuYWRkKCJzaG93Iil9YXN5bmMgaGFuZGxlT3V0c2lkZUNsaWNrKHVlKXt1ZS5zdG9wUHJvcGFnYXRpb24oKTtsZXQgWT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm1vZGFsQ29udGFpbmVyIik7dWUudGFyZ2V0PT09WSYmYXdhaXQgdGhpcy5kZXN0cm95KCl9YXN5bmMgZGVzdHJveSgpe2xldCB1ZT1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTt0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy10aWxlIikuY2xhc3NMaXN0LmFkZCgicHJlZGVzdHJveSIpLGF3YWl0IHVlLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMjAwKSxkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRoaXMpLGF3YWl0IHRoaXMud2luZG93TGF5ZXIuZGVzdHJveSgpLFp0LnVucmVnaXN0ZXIodGhpcyl9YXN5bmMgaGFuZGxlSGVscCgpe3RoaXMub25IZWxwJiZhd2FpdCB0aGlzLm9uSGVscCgpfXN0YXRpY3tmcihyLHQpfX07cmV0dXJuIGNlPXJ9KSgpfSk7dmFyIGZzYSxoc2E9ZigoKT0+e2xlKCk7ZnNhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgJHtRYAogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBtYXgtd2lkdGg6IDgwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CgogICAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y4ZjlmYSIsIiMxYTFhMWEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlMGUwZTAiLCIjMzMzIil9OwogICAgICB9CgogICAgICAuZGVtby1zZWN0aW9uIGgzIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzMzIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLmRlbW8tc2VjdGlvbiBwIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2NjYiLCIjOTk5Iil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAubGFiZWwtZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQoKICAgICAgLmxhYmVsLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICAubGFiZWwtcm93IC5hbm5vdGF0aW9uIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM4ODgiLCIjNjY2Iil9OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG1pbi13aWR0aDogMjAwcHg7CiAgICAgIH0KICAgIGB9CiAgPC9zdHlsZT4KCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkJhc2ljIExhYmVsPC9oMz4KICAgICAgPHA+QSBzaW1wbGUgdGV4dCBsYWJlbCB3aXRoIG5vIGFkZGl0aW9uYWwgaW5kaWNhdG9ycy48L3A+CiAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLWdyaWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLXJvdyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iYW5ub3RhdGlvbiI+bGFiZWw9IlVzZXJuYW1lIjwvc3Bhbj4KICAgICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0keyJVc2VybmFtZSJ9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1yb3ciPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImFubm90YXRpb24iPmxhYmVsPSJFbWFpbCBBZGRyZXNzIjwvc3Bhbj4KICAgICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0keyJFbWFpbCBBZGRyZXNzIn0+PC9kZWVzLWxhYmVsPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5SZXF1aXJlZCBJbmRpY2F0b3I8L2gzPgogICAgICA8cD5XaGVuIDxjb2RlPnJlcXVpcmVkPC9jb2RlPiBpcyBzZXQsIGEgcmVkIGFzdGVyaXNrIGFwcGVhcnMgYWZ0ZXIgdGhlIGxhYmVsIHRleHQuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1ncmlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1yb3ciPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImFubm90YXRpb24iPnJlcXVpcmVkPSR7Int0cnVlfSJ9PC9zcGFuPgogICAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7IkZ1bGwgTmFtZSJ9IC5yZXF1aXJlZD0keyEwfT48L2RlZXMtbGFiZWw+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtcm93Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbm5vdGF0aW9uIj5yZXF1aXJlZD0keyJ7ZmFsc2V9In0gKGRlZmF1bHQpPC9zcGFuPgogICAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7Ik5pY2tuYW1lIn0gLnJlcXVpcmVkPSR7ITF9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+SW5mbyBUZXh0IChJbmZvIEljb24pPC9oMz4KICAgICAgPHA+V2hlbiA8Y29kZT5pbmZvVGV4dDwvY29kZT4gaXMgc2V0LCBhbiBpbmZvIGljb24gYXBwZWFycyBuZXh0IHRvIHRoZSBsYWJlbC4gSG92ZXIgb3ZlciBpdCB0byBzZWUgdGhlIHRvb2x0aXAuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1ncmlkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1yb3ciPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImFubm90YXRpb24iPmluZm9UZXh0PSIuLi4iPC9zcGFuPgogICAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7IkFQSSBLZXkifSAuaW5mb1RleHQ9JHsiWW91ciBBUEkga2V5IGNhbiBiZSBmb3VuZCBpbiB0aGUgZGV2ZWxvcGVyIHNldHRpbmdzIGRhc2hib2FyZC4ifT48L2RlZXMtbGFiZWw+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtcm93Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbm5vdGF0aW9uIj5zaG9ydCBpbmZvVGV4dDwvc3Bhbj4KICAgICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0keyJSZWdpb24ifSAuaW5mb1RleHQ9JHsiU2VsZWN0IHlvdXIgbmVhcmVzdCBkYXRhY2VudGVyLiJ9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+UmVxdWlyZWQgKyBJbmZvIFRleHQ8L2gzPgogICAgICA8cD5Cb3RoIGluZGljYXRvcnMgY2FuIGJlIGNvbWJpbmVkLiBUaGUgYXN0ZXJpc2sgYXBwZWFycyBmaXJzdCwgdGhlbiB0aGUgaW5mbyBpY29uLjwvcD4KICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtZ3JpZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtcm93Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJhbm5vdGF0aW9uIj5yZXF1aXJlZCArIGluZm9UZXh0PC9zcGFuPgogICAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7IlBhc3N3b3JkIn0gLnJlcXVpcmVkPSR7ITB9IC5pbmZvVGV4dD0keyJNdXN0IGJlIGF0IGxlYXN0IDggY2hhcmFjdGVycyB3aXRoIG9uZSB1cHBlcmNhc2UgbGV0dGVyIGFuZCBvbmUgbnVtYmVyLiJ9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbC1yb3ciPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImFubm90YXRpb24iPnJlcXVpcmVkICsgaW5mb1RleHQ8L3NwYW4+CiAgICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHsiRW1haWwgQWRkcmVzcyJ9IC5yZXF1aXJlZD0keyEwfSAuaW5mb1RleHQ9JHsiV2Ugd2lsbCBzZW5kIGEgdmVyaWZpY2F0aW9uIGxpbmsgdG8gdGhpcyBhZGRyZXNzLiJ9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+RW1wdHkgTGFiZWw8L2gzPgogICAgICA8cD5XaGVuIDxjb2RlPmxhYmVsPC9jb2RlPiBpcyBlbXB0eSBvciBub3Qgc2V0LCBub3RoaW5nIGlzIHJlbmRlcmVkLiBUaGUgZWxlbWVudCBiZWxvdyBoYXMgbm8gbGFiZWwgdGV4dDo8L3A+CiAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLWdyaWQiPgogICAgICAgIDxkaXYgY2xhc3M9ImxhYmVsLXJvdyI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iYW5ub3RhdGlvbiI+bGFiZWw9IiIgKGVtcHR5KTwvc3Bhbj4KICAgICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0keyIifT48L2RlZXMtbGFiZWw+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgUXRlLExmLG1zYSxvbT1mKCgpPT57VnMoKTtUMSgpO2xlKCk7aHNhKCk7UWUoKTtRdGU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LExmPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxtc2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLWxhYmVsIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNMYWJlbCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sZD1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSx1PVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxRdGUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ibGFiZWwiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5sYWJlbCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmxhYmVsPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbixsKSxRdGUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbmZvVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iaW5mb1RleHQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5pbmZvVGV4dCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmluZm9UZXh0PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSxRdGUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXF1aXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4icmVxdWlyZWQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5yZXF1aXJlZCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnJlcXVpcmVkPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSxRdGUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz1mc2E7c3RhdGljIGRlbW9Hcm91cHM9WyJMYXlvdXQiLCJJbnB1dCJdOyNlPUxmKHRoaXMsbiwiIik7Z2V0IGxhYmVsKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGxhYmVsKGIpe3RoaXMuI2U9Yn0jdD0oTGYodGhpcyxsKSxMZih0aGlzLGMsdm9pZCAwKSk7Z2V0IGluZm9UZXh0KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGluZm9UZXh0KGIpe3RoaXMuI3Q9Yn0jYT0oTGYodGhpcyxwKSxMZih0aGlzLG0sITEpKTtnZXQgcmVxdWlyZWQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgcmVxdWlyZWQoYil7dGhpcy4jYT1ifXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5sYWJlbCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLnJlcXVpcmVkIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlKSIsImhzbCgwIDcyLjIlIDUwLjYlKSIpfTsKICAgICAgICBtYXJnaW4tbGVmdDogMnB4OwogICAgICB9CgogICAgICAuZGVzY3JpcHRpb24taWNvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgbWFyZ2luOiAtNnB4IDAgLTZweCAycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5kZXNjcmlwdGlvbi1pY29uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjA2KSIsImhzbCgwIDAlIDEwMCUgLyAwLjA4KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDI1JSkiLCJoc2woMCAwJSA4MCUpIil9OwogICAgICB9CgogICAgICAuZGVzY3JpcHRpb24taWNvbiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgICR7dGhpcy5sYWJlbD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYWJlbCI+CiAgICAgICAgICAgICAgJHt0aGlzLmxhYmVsfQogICAgICAgICAgICAgICR7dGhpcy5yZXF1aXJlZD93YDxzcGFuIGNsYXNzPSJyZXF1aXJlZCI+Kjwvc3Bhbj5gOiIifQogICAgICAgICAgICAgICR7dGhpcy5pbmZvVGV4dD93YAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRlc2NyaXB0aW9uLWljb24iPgogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6aW5mbyJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkZWVzLXNwZWVjaGJ1YmJsZSAudGV4dD0ke3RoaXMuaW5mb1RleHR9PjwvZGVlcy1zcGVlY2hidWJibGU+CiAgICAgICAgICAgICAgICAgIGA6d2BgfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6d2BgfQogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksTGYodGhpcyx2KX1zdGF0aWN7TGYocix0KX19O3JldHVybiB4PXJ9KSgpfSk7dmFyIEp0ZSxFWWU9ZigoKT0+e0p0ZT0iMC41NS4xIn0pO3ZhciBubSxMMSxnc2EsJGY9ZigoKT0+e2xlKCk7SnQoKTtFWWUoKTtRZSgpO25tPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxMMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sZ3NhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy13b3Jrc3BhY2UtbW9uYWNvIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNXb3Jrc3BhY2VNb25hY28iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOk9iamVjdH0pXSx5PVskKHt0eXBlOkJvb2xlYW59KV0sbm0odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJjb250ZW50ImluIHosImhhcyIpLGdldDpzKHo9PnouY29udGVudCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmNvbnRlbnQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxuLGwpLG5tKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFuZ3VhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Imxhbmd1YWdlImluIHosImhhcyIpLGdldDpzKHo9PnoubGFuZ3VhZ2UsImdldCIpLHNldDpzKCh6LE8pPT57ei5sYW5ndWFnZT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGMscCksbm0odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxlUGF0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iZmlsZVBhdGgiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5maWxlUGF0aCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmZpbGVQYXRoPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbSx2KSxubSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbnRlbnRTdWJqZWN0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJjb250ZW50U3ViamVjdCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmNvbnRlbnRTdWJqZWN0LCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouY29udGVudFN1YmplY3Q9T30sInNldCIpfSxtZXRhZGF0YTpffSxiLGcpLG5tKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToid29yZFdyYXAiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+IndvcmRXcmFwImluIHosImhhcyIpLGdldDpzKHo9Pnoud29yZFdyYXAsImdldCIpLHNldDpzKCh6LE8pPT57ei53b3JkV3JhcD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksbm0obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz1zKCgpPT53YDxkZWVzLXdvcmtzcGFjZS1tb25hY28+PC9kZWVzLXdvcmtzcGFjZS1tb25hY28+YCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiV29ya3NwYWNlIl07c3RhdGljIG1vbmFjb0RlZmVycmVkO2VkaXRvckRlZmVycmVkPUJ0LnNtYXJ0cHJvbWlzZS5kZWZlcigpOyNlPUwxKHRoaXMsbixgZnVuY3Rpb24gaGVsbG8oKSB7CglhbGVydCgnSGVsbG8gd29ybGQhJyk7Cn1gKTtnZXQgY29udGVudCgpe3JldHVybiB0aGlzLiNlfXNldCBjb250ZW50KF8pe3RoaXMuI2U9X30jdD0oTDEodGhpcyxsKSxMMSh0aGlzLGMsInR5cGVzY3JpcHQiKSk7Z2V0IGxhbmd1YWdlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGxhbmd1YWdlKF8pe3RoaXMuI3Q9X30jYT0oTDEodGhpcyxwKSxMMSh0aGlzLG0sIiIpKTtnZXQgZmlsZVBhdGgoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZmlsZVBhdGgoXyl7dGhpcy4jYT1ffSNyPShMMSh0aGlzLHYpLEwxKHRoaXMsYixuZXcgQnQuc21hcnRyeC5yeGpzLlN1YmplY3QpKTtnZXQgY29udGVudFN1YmplY3QoKXtyZXR1cm4gdGhpcy4jcn1zZXQgY29udGVudFN1YmplY3QoXyl7dGhpcy4jcj1ffSNzPShMMSh0aGlzLGcpLEwxKHRoaXMsaywib2ZmIikpO2dldCB3b3JkV3JhcCgpe3JldHVybiB0aGlzLiNzfXNldCB3b3JkV3JhcChfKXt0aGlzLiNzPV99bW9uYWNvVGhlbWVTdWJzY3JpcHRpb249KEwxKHRoaXMsQyksbnVsbCk7aXNVcGRhdGluZ0Zyb21FeHRlcm5hbD0hMTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksQ2kuc2V0dXBEb21Ub29scygpfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLm1haW5ib3ggewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICNjb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtYWluYm94Ij4KICAgICAgICA8ZGl2IGlkPSJjb250YWluZXIiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKF8pe3N1cGVyLmZpcnN0VXBkYXRlZChfKTtsZXQgej10aGlzLnNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoImNvbnRhaW5lciIpLE89YGh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbW9uYWNvLWVkaXRvckAke0p0ZX1gO2lmKCFOLm1vbmFjb0RlZmVycmVkKXtOLm1vbmFjb0RlZmVycmVkPUJ0LnNtYXJ0cHJvbWlzZS5kZWZlcigpO2xldCBNPWAke099L21pbi92cy9sb2FkZXIuanNgLFM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7Uy5zcmM9TSxTLm9ubG9hZD0oKT0+e04ubW9uYWNvRGVmZXJyZWQucmVzb2x2ZSgpfSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKFMpfWF3YWl0IE4ubW9uYWNvRGVmZXJyZWQucHJvbWlzZSx3aW5kb3cucmVxdWlyZS5jb25maWcoe3BhdGhzOnt2czpgJHtPfS9taW4vdnNgfX0pLHdpbmRvdy5yZXF1aXJlKFsidnMvZWRpdG9yL2VkaXRvci5tYWluIl0sYXN5bmMoKT0+e2xldCBNPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLFA9TS50aGVtZU1hbmFnZXIuZ29CcmlnaHRCb29sZWFuPyJ2cyI6InZzLWRhcmsiLEE9d2luZG93Lm1vbmFjbyxGPW51bGw7aWYodGhpcy5maWxlUGF0aCl7bGV0IGo9QS5VcmkucGFyc2UoYGZpbGU6Ly8ke3RoaXMuZmlsZVBhdGh9YCk7Rj1BLmVkaXRvci5nZXRNb2RlbChqKSxGP0Yuc2V0VmFsdWUodGhpcy5jb250ZW50KTpGPUEuZWRpdG9yLmNyZWF0ZU1vZGVsKHRoaXMuY29udGVudCx0aGlzLmxhbmd1YWdlLGopfWxldCBXPUEuZWRpdG9yLmNyZWF0ZSh6LHttb2RlbDpGfHx2b2lkIDAsdmFsdWU6Rj92b2lkIDA6dGhpcy5jb250ZW50LGxhbmd1YWdlOkY/dm9pZCAwOnRoaXMubGFuZ3VhZ2UsdGhlbWU6UCx1c2VTaGFkb3dET006ITAsZm9udFNpemU6MTYsYXV0b21hdGljTGF5b3V0OiEwLHdvcmRXcmFwOnRoaXMud29yZFdyYXAsaG92ZXI6e2VuYWJsZWQ6ITAsZGVsYXk6MzAwLHN0aWNreTohMCxhYm92ZTohMX19KTt0aGlzLm1vbmFjb1RoZW1lU3Vic2NyaXB0aW9uPU0udGhlbWVNYW5hZ2VyLnRoZW1lT2JzZXJ2YWJsZS5zdWJzY3JpYmUoaj0+e2xldCBHPWo/InZzIjoidnMtZGFyayI7Vy51cGRhdGVPcHRpb25zKHt0aGVtZTpHfSl9KSx0aGlzLmVkaXRvckRlZmVycmVkLnJlc29sdmUoVyl9KTtsZXQgVD1hd2FpdChhd2FpdCBmZXRjaChgJHtPfS9taW4vdnMvZWRpdG9yL2VkaXRvci5tYWluLmNzc2ApKS50ZXh0KCksRT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO0UudGV4dENvbnRlbnQ9VCx0aGlzLnNoYWRvd1Jvb3QuYXBwZW5kKEUpO2xldCBCPWF3YWl0IHRoaXMuZWRpdG9yRGVmZXJyZWQucHJvbWlzZTtCLm9uRGlkQ2hhbmdlTW9kZWxDb250ZW50KGFzeW5jIE09PntpZih0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWwpcmV0dXJuO2xldCBTPUIuZ2V0VmFsdWUoKTt0aGlzLmNvbnRlbnRTdWJqZWN0Lm5leHQoUyksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29udGVudC1jaGFuZ2UiLHtkZXRhaWw6UyxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfSksdGhpcy5jb250ZW50U3ViamVjdC5uZXh0KEIuZ2V0VmFsdWUoKSl9YXN5bmMgdXBkYXRlZChfKXtzdXBlci51cGRhdGVkKF8pO2xldCB6PXdpbmRvdy5tb25hY287aWYoeil7aWYoXy5oYXMoImZpbGVQYXRoIikmJnRoaXMuZmlsZVBhdGgpe2xldCBPPWF3YWl0IHRoaXMuZWRpdG9yRGVmZXJyZWQucHJvbWlzZSxUPXouVXJpLnBhcnNlKGBmaWxlOi8vJHt0aGlzLmZpbGVQYXRofWApLEU9ei5lZGl0b3IuZ2V0TW9kZWwoVCk7RT9FLmdldFZhbHVlKCkhPT10aGlzLmNvbnRlbnQmJih0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWw9ITAsRS5zZXRWYWx1ZSh0aGlzLmNvbnRlbnQpLHRoaXMuaXNVcGRhdGluZ0Zyb21FeHRlcm5hbD0hMSk6RT16LmVkaXRvci5jcmVhdGVNb2RlbCh0aGlzLmNvbnRlbnQsdGhpcy5sYW5ndWFnZSxUKSxPLmdldE1vZGVsKCk/LnVyaS50b1N0cmluZygpIT09VC50b1N0cmluZygpJiZPLnNldE1vZGVsKEUpO3JldHVybn1pZihfLmhhcygiY29udGVudCIpKXtsZXQgTz1hd2FpdCB0aGlzLmVkaXRvckRlZmVycmVkLnByb21pc2U7Ty5nZXRWYWx1ZSgpIT09dGhpcy5jb250ZW50JiYodGhpcy5pc1VwZGF0aW5nRnJvbUV4dGVybmFsPSEwLE8uc2V0VmFsdWUodGhpcy5jb250ZW50KSx0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWw9ITEpfWlmKF8uaGFzKCJsYW5ndWFnZSIpKXtsZXQgVD0oYXdhaXQgdGhpcy5lZGl0b3JEZWZlcnJlZC5wcm9taXNlKS5nZXRNb2RlbCgpO1QmJnouZWRpdG9yLnNldE1vZGVsTGFuZ3VhZ2UoVCx0aGlzLmxhbmd1YWdlKX19fWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLm1vbmFjb1RoZW1lU3Vic2NyaXB0aW9uJiYodGhpcy5tb25hY29UaGVtZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMubW9uYWNvVGhlbWVTdWJzY3JpcHRpb249bnVsbCl9YXN5bmMgc2V0Q29udGVudEV4dGVybmFsKF8sej0hMCl7bGV0IE89YXdhaXQgdGhpcy5lZGl0b3JEZWZlcnJlZC5wcm9taXNlO2lmKE8uZ2V0VmFsdWUoKT09PV8pcmV0dXJuO2xldCBFPXo/Ty5nZXRQb3NpdGlvbigpOm51bGwsQj16P08uZ2V0U2VsZWN0aW9ucygpOm51bGwsTT16P08uZ2V0U2Nyb2xsVG9wKCk6MCxTPXo/Ty5nZXRTY3JvbGxMZWZ0KCk6MDtpZih0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWw9ITAsTy5zZXRWYWx1ZShfKSx0aGlzLmlzVXBkYXRpbmdGcm9tRXh0ZXJuYWw9ITEseil7aWYoRSl7bGV0IFA9Ty5nZXRNb2RlbCgpLEE9UD8uZ2V0TGluZUNvdW50KCl8fDEsRj1NYXRoLm1pbihFLmxpbmVOdW1iZXIsQSksVz1QPy5nZXRMaW5lTWF4Q29sdW1uKEYpfHwxLGo9TWF0aC5taW4oRS5jb2x1bW4sVyk7Ty5zZXRQb3NpdGlvbih7bGluZU51bWJlcjpGLGNvbHVtbjpqfSl9aWYoQiYmQi5sZW5ndGg+MCl0cnl7Ty5zZXRTZWxlY3Rpb25zKEIpfWNhdGNoe31PLnNldFNjcm9sbFBvc2l0aW9uKHtzY3JvbGxUb3A6TSxzY3JvbGxMZWZ0OlN9KX19c3RhdGlje0wxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBxMiwkcyxEZixlYWUsUFllPWYoKCk9PntTcigpO2xlKCk7UWUoKTtwYygpO3ZhKCk7b20oKTtLcigpOyRmKCk7JGYoKTtxMj1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sJHM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LERmPVt7a2V5OiJ0eXBlc2NyaXB0IixsYWJlbDoiVHlwZVNjcmlwdCJ9LHtrZXk6ImphdmFzY3JpcHQiLGxhYmVsOiJKYXZhU2NyaXB0In0se2tleToianNvbiIsbGFiZWw6IkpTT04ifSx7a2V5OiJodG1sIixsYWJlbDoiSFRNTCJ9LHtrZXk6ImNzcyIsbGFiZWw6IkNTUyJ9LHtrZXk6InNjc3MiLGxhYmVsOiJTQ1NTIn0se2tleToibWFya2Rvd24iLGxhYmVsOiJNYXJrZG93biJ9LHtrZXk6InlhbWwiLGxhYmVsOiJZQU1MIn0se2tleToieG1sIixsYWJlbDoiWE1MIn0se2tleToic3FsIixsYWJlbDoiU1FMIn0se2tleToicHl0aG9uIixsYWJlbDoiUHl0aG9uIn0se2tleToiamF2YSIsbGFiZWw6IkphdmEifSx7a2V5OiJjc2hhcnAiLGxhYmVsOiJDIyJ9LHtrZXk6ImNwcCIsbGFiZWw6IkMrKyJ9LHtrZXk6ImdvIixsYWJlbDoiR28ifSx7a2V5OiJydXN0IixsYWJlbDoiUnVzdCJ9LHtrZXk6InNoZWxsIixsYWJlbDoiU2hlbGwifSx7a2V5OiJwbGFpbnRleHQiLGxhYmVsOiJQbGFpbiBUZXh0In1dLGVhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtY29kZSIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdLFAsQT1bXSxGPVtdO3ZhciBXPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRDb2RlIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGo9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpTdHJpbmd9KV0seD1bJCh7dHlwZTpTdHJpbmd9KV0seT1bJCh7dHlwZTpCb29sZWFufSldLE49W0soKV0sTz1bSygpXSxCPVtLKCldLFA9W0soKV0scTIodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4idmFsdWUiaW4gRywiaGFzIiksZ2V0OnMoRz0+Ry52YWx1ZSwiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry52YWx1ZT1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxuLGwpLHEyKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFuZ3VhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+Imxhbmd1YWdlImluIEcsImhhcyIpLGdldDpzKEc9PkcubGFuZ3VhZ2UsImdldCIpLHNldDpzKChHLGhlKT0+e0cubGFuZ3VhZ2U9aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sYyxwKSxxMih0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4iaGVpZ2h0ImluIEcsImhhcyIpLGdldDpzKEc9PkcuaGVpZ2h0LCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLmhlaWdodD1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxtLHYpLHEyKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToid29yZFdyYXAiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+IndvcmRXcmFwImluIEcsImhhcyIpLGdldDpzKEc9Pkcud29yZFdyYXAsImdldCIpLHNldDpzKChHLGhlKT0+e0cud29yZFdyYXA9aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sYixnKSxxMih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dMaW5lTnVtYmVycyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4ic2hvd0xpbmVOdW1iZXJzImluIEcsImhhcyIpLGdldDpzKEc9Pkcuc2hvd0xpbmVOdW1iZXJzLCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLnNob3dMaW5lTnVtYmVycz1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxrLEMpLHEyKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNMYW5ndWFnZURyb3Bkb3duT3BlbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4iaXNMYW5ndWFnZURyb3Bkb3duT3BlbiJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLmlzTGFuZ3VhZ2VEcm9wZG93bk9wZW4sImdldCIpLHNldDpzKChHLGhlKT0+e0cuaXNMYW5ndWFnZURyb3Bkb3duT3Blbj1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxfLHopLHEyKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29weVN1Y2Nlc3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+ImNvcHlTdWNjZXNzImluIEcsImhhcyIpLGdldDpzKEc9PkcuY29weVN1Y2Nlc3MsImdldCIpLHNldDpzKChHLGhlKT0+e0cuY29weVN1Y2Nlc3M9aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sVCxFKSxxMih0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxpbmVDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4ibGluZUNvdW50ImluIEcsImhhcyIpLGdldDpzKEc9PkcubGluZUNvdW50LCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLmxpbmVDb3VudD1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxNLFMpLHEyKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3Vyc29yUG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+ImN1cnNvclBvc2l0aW9uImluIEcsImhhcyIpLGdldDpzKEc9PkcuY3Vyc29yUG9zaXRpb24sImdldCIpLHNldDpzKChHLGhlKT0+e0cuY3Vyc29yUG9zaXRpb249aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sQSxGKSxxMihudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpqfSxudWxsLHQpLFc9cj1lLnZhbHVlLGomJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6an0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGVlcy1pbnB1dC1jb2RlCiAgICAgIGxhYmVsPSJUeXBlU2NyaXB0IENvZGUiCiAgICAgIGtleT0iY29kZSIKICAgICAgbGFuZ3VhZ2U9InR5cGVzY3JpcHQiCiAgICAgIGhlaWdodD0iMzAwcHgiCiAgICAgIC52YWx1ZT0ke2Bjb25zdCBncmVldGluZzogc3RyaW5nID0gIkhlbGxvIFdvcmxkIjsKY29uc29sZS5sb2coZ3JlZXRpbmcpO2B9CiAgICA+PC9kZWVzLWlucHV0LWNvZGU+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiLCJXb3Jrc3BhY2UiXTsjZT0kcyh0aGlzLG4sIiIpO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNlfXNldCB2YWx1ZShqKXt0aGlzLiNlPWp9I3Q9KCRzKHRoaXMsbCksJHModGhpcyxjLCJ0eXBlc2NyaXB0IikpO2dldCBsYW5ndWFnZSgpe3JldHVybiB0aGlzLiN0fXNldCBsYW5ndWFnZShqKXt0aGlzLiN0PWp9I2E9KCRzKHRoaXMscCksJHModGhpcyxtLCIyMDBweCIpKTtnZXQgaGVpZ2h0KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGhlaWdodChqKXt0aGlzLiNhPWp9I3I9KCRzKHRoaXMsdiksJHModGhpcyxiLCJvZmYiKSk7Z2V0IHdvcmRXcmFwKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHdvcmRXcmFwKGope3RoaXMuI3I9an0jcz0oJHModGhpcyxnKSwkcyh0aGlzLGssITApKTtnZXQgc2hvd0xpbmVOdW1iZXJzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNob3dMaW5lTnVtYmVycyhqKXt0aGlzLiNzPWp9I2k9KCRzKHRoaXMsQyksJHModGhpcyxfLCExKSk7Z2V0IGlzTGFuZ3VhZ2VEcm9wZG93bk9wZW4oKXtyZXR1cm4gdGhpcy4jaX1zZXQgaXNMYW5ndWFnZURyb3Bkb3duT3BlbihqKXt0aGlzLiNpPWp9I289KCRzKHRoaXMseiksJHModGhpcyxULCExKSk7Z2V0IGNvcHlTdWNjZXNzKCl7cmV0dXJuIHRoaXMuI299c2V0IGNvcHlTdWNjZXNzKGope3RoaXMuI289an0jbj0oJHModGhpcyxFKSwkcyh0aGlzLE0sMCkpO2dldCBsaW5lQ291bnQoKXtyZXR1cm4gdGhpcy4jbn1zZXQgbGluZUNvdW50KGope3RoaXMuI249an0jbD0oJHModGhpcyxTKSwkcyh0aGlzLEEse2xpbmU6MSxjb2x1bW46MX0pKTtnZXQgY3Vyc29yUG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jbH1zZXQgY3Vyc29yUG9zaXRpb24oail7dGhpcy4jbD1qfWVkaXRvckVsZW1lbnQ9KCRzKHRoaXMsRiksbnVsbCk7c3RhdGljIHN0eWxlcz1bRWUsLi4ud3QuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICB9CgogICAgICAuaW5wdXQtd3JhcHBlciwKICAgICAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSJ0b3AiXSkgLmlucHV0LXdyYXBwZXIsCiAgICAgIDpob3N0KFtsYWJlbC1wb3NpdGlvbj0ibGVmdCJdKSAuaW5wdXQtd3JhcHBlciwKICAgICAgOmhvc3QoW2xhYmVsLXBvc2l0aW9uPSJyaWdodCJdKSAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC50b29sYmFyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAudG9vbGJhci1sZWZ0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLXJpZ2h0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5sYW5ndWFnZS1zZWxlY3RvciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAubGFuZ3VhZ2UtYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmxhbmd1YWdlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgIH0KCiAgICAgIC5sYW5ndWFnZS1kcm9wZG93biB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMTAwJTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXByaW1hcnkpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgICAgei1pbmRleDogMTAwOwogICAgICAgIG1heC1oZWlnaHQ6IDI1MHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgbWluLXdpZHRoOiAxNDBweDsKICAgICAgfQoKICAgICAgLmxhbmd1YWdlLW9wdGlvbiB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAubGFuZ3VhZ2Utb3B0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgfQoKICAgICAgLmxhbmd1YWdlLW9wdGlvbi5zZWxlY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1hY3RpdmUpOwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b24uYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjdGl2ZSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b24uc3VjY2VzcyB7CiAgICAgICAgY29sb3I6IGhzbCgxNDIuMSA3Ni4yJSAzNi4zJSk7CiAgICAgIH0KCiAgICAgIC5lZGl0b3Itd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGluc2V0OiAwOwogICAgICB9CgogICAgICBkZWVzLXdvcmtzcGFjZS1tb25hY28gewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLyogTWF0Y2ggTW9uYWNvIGJhY2tncm91bmQgdG8gdGlsZSAqLwogICAgICBkZWVzLXdvcmtzcGFjZS1tb25hY286OnBhcnQoY29udGFpbmVyKSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItZGl2aWRlciB7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgbWFyZ2luOiAwIDRweDsKICAgICAgfQoKICAgICAgLyogRm9vdGVyICovCiAgICAgIC5lZGl0b3ItZm9vdGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5mb290ZXItbGVmdCwKICAgICAgLmZvb3Rlci1yaWdodCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmZvb3Rlci1zZXBhcmF0b3IgewogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAuY29kZS1jb250YWluZXIgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IGo9RGYuZmluZChHPT5HLmtleT09PXRoaXMubGFuZ3VhZ2UpfHxEZlswXTtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGhlaWdodDogJHt0aGlzLmhlaWdodH07CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuaW5mb1RleHQ9JHt0aGlzLmluZm9UZXh0fSAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRlZXMtdGlsZT4KICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0idG9vbGJhciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItbGVmdCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibGFuZ3VhZ2Utc2VsZWN0b3IiPgogICAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgICBjbGFzcz0ibGFuZ3VhZ2UtYnV0dG9uIgogICAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLnRvZ2dsZUxhbmd1YWdlRHJvcGRvd259CiAgICAgICAgICAgICAgICAgIEBibHVyPSR7dGhpcy5oYW5kbGVMYW5ndWFnZUJsdXJ9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICR7ai5sYWJlbH0KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Q2hldnJvbkRvd24ifSBpY29uU2l6ZT0iMTQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAke3RoaXMuaXNMYW5ndWFnZURyb3Bkb3duT3Blbj93YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5ndWFnZS1kcm9wZG93biI+CiAgICAgICAgICAgICAgICAgICAgJHtEZi5tYXAoRz0+d2AKICAgICAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9Imxhbmd1YWdlLW9wdGlvbiAke0cua2V5PT09dGhpcy5sYW5ndWFnZT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgICAgICAgICAgICAgQG1vdXNlZG93bj0ke2hlPT50aGlzLnNlbGVjdExhbmd1YWdlKGhlLEcua2V5KX0KICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgJHtHLmxhYmVsfQogICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItcmlnaHQiPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiAke3RoaXMud29yZFdyYXA9PT0ib24iPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICAgIHRpdGxlPSJXb3JkIFdyYXAiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLnRvZ2dsZVdvcmRXcmFwfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOldyYXBUZXh0In0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24gJHt0aGlzLnNob3dMaW5lTnVtYmVycz8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICB0aXRsZT0iTGluZSBOdW1iZXJzIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy50b2dnbGVMaW5lTnVtYmVyc30KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpIYXNoIn0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWRpdmlkZXIiPjwvZGl2PgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiAke3RoaXMuY29weVN1Y2Nlc3M/InN1Y2Nlc3MiOiIifSIKICAgICAgICAgICAgICAgIHRpdGxlPSJDb3B5IENvZGUiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmNvcHlDb2RlfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHt0aGlzLmNvcHlTdWNjZXNzPyJsdWNpZGU6Q2hlY2siOiJsdWNpZGU6Q29weSJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgdGl0bGU9IkV4cGFuZCIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMub3BlbkZ1bGxzY3JlZW59CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6TWF4aW1pemUyIn0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImVkaXRvci13cmFwcGVyIj4KICAgICAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1vbmFjbwogICAgICAgICAgICAgIC5jb250ZW50PSR7dGhpcy52YWx1ZX0KICAgICAgICAgICAgICAubGFuZ3VhZ2U9JHt0aGlzLmxhbmd1YWdlfQogICAgICAgICAgICAgIC53b3JkV3JhcD0ke3RoaXMud29yZFdyYXB9CiAgICAgICAgICAgICAgQGNvbnRlbnQtY2hhbmdlPSR7dGhpcy5oYW5kbGVDb250ZW50Q2hhbmdlfQogICAgICAgICAgICA+PC9kZWVzLXdvcmtzcGFjZS1tb25hY28+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iZWRpdG9yLWZvb3RlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1sZWZ0Ij4KICAgICAgICAgICAgICA8c3Bhbj5MbiAke3RoaXMuY3Vyc29yUG9zaXRpb24ubGluZX0sIENvbCAke3RoaXMuY3Vyc29yUG9zaXRpb24uY29sdW1ufTwvc3Bhbj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXItc2VwYXJhdG9yIj48L2Rpdj4KICAgICAgICAgICAgICA8c3Bhbj4ke3RoaXMubGluZUNvdW50fSBsaW5lJHt0aGlzLmxpbmVDb3VudCE9PTE/InMiOiIifTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1yaWdodCI+CiAgICAgICAgICAgICAgPHNwYW4+JHsoRGYuZmluZChHPT5HLmtleT09PXRoaXMubGFuZ3VhZ2UpfHxEZlswXSkubGFiZWx9PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGVlcy10aWxlPgogICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7aWYodGhpcy5lZGl0b3JFbGVtZW50PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy13b3Jrc3BhY2UtbW9uYWNvIiksdGhpcy5lZGl0b3JFbGVtZW50KXt0aGlzLmVkaXRvckVsZW1lbnQuY29udGVudFN1YmplY3Quc3Vic2NyaWJlKFU9Pnt0aGlzLnZhbHVlIT09VSYmKHRoaXMudmFsdWU9VSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSl9KTtsZXQgaj1hd2FpdCB0aGlzLmVkaXRvckVsZW1lbnQuZWRpdG9yRGVmZXJyZWQucHJvbWlzZSxHPWouZ2V0TW9kZWwoKTtHJiYodGhpcy5saW5lQ291bnQ9Ry5nZXRMaW5lQ291bnQoKSxHLm9uRGlkQ2hhbmdlQ29udGVudCgoKT0+e3RoaXMubGluZUNvdW50PUcuZ2V0TGluZUNvdW50KCl9KSksai5vbkRpZENoYW5nZUN1cnNvclBvc2l0aW9uKFU9Pnt0aGlzLmN1cnNvclBvc2l0aW9uPXtsaW5lOlUucG9zaXRpb24ubGluZU51bWJlcixjb2x1bW46VS5wb3NpdGlvbi5jb2x1bW59fSk7bGV0IGhlPWF3YWl0IHRoaXMuZWRpdG9yRWxlbWVudC5kb210b29sc1Byb21pc2UsUj1zKFU9PntsZXQgbWU9VT8iI2ZmZmZmZiI6IiMwYTBhMGEiO2oudXBkYXRlT3B0aW9ucyh7fSksd2luZG93Lm1vbmFjbz8uZWRpdG9yPy5kZWZpbmVUaGVtZT8uKCJkZWVzLWxpZ2h0Iix7YmFzZToidnMiLGluaGVyaXQ6ITAscnVsZXM6W10sY29sb3JzOnsiZWRpdG9yLmJhY2tncm91bmQiOm1lfX0pLHdpbmRvdy5tb25hY28/LmVkaXRvcj8uZGVmaW5lVGhlbWU/LigiZGVlcy1kYXJrIix7YmFzZToidnMtZGFyayIsaW5oZXJpdDohMCxydWxlczpbXSxjb2xvcnM6eyJlZGl0b3IuYmFja2dyb3VuZCI6bWV9fSksai51cGRhdGVPcHRpb25zKHt0aGVtZTpVPyJkZWVzLWxpZ2h0IjoiZGVlcy1kYXJrIn0pfSwidXBkYXRlRWRpdG9yQmciKTtSKGhlLnRoZW1lTWFuYWdlci5nb0JyaWdodEJvb2xlYW4pLGhlLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKFU9PntSKFUpfSl9fXRvZ2dsZUxhbmd1YWdlRHJvcGRvd24oKXt0aGlzLmlzTGFuZ3VhZ2VEcm9wZG93bk9wZW49IXRoaXMuaXNMYW5ndWFnZURyb3Bkb3duT3Blbn1oYW5kbGVMYW5ndWFnZUJsdXIoKXtzZXRUaW1lb3V0KCgpPT57dGhpcy5pc0xhbmd1YWdlRHJvcGRvd25PcGVuPSExfSwxNTApfWFzeW5jIHNlbGVjdExhbmd1YWdlKGosRyl7aWYoai5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubGFuZ3VhZ2U9Ryx0aGlzLmlzTGFuZ3VhZ2VEcm9wZG93bk9wZW49ITEsdGhpcy5lZGl0b3JFbGVtZW50KXt0aGlzLmVkaXRvckVsZW1lbnQubGFuZ3VhZ2U9RztsZXQgUj0oYXdhaXQgdGhpcy5lZGl0b3JFbGVtZW50LmVkaXRvckRlZmVycmVkLnByb21pc2UpLmdldE1vZGVsKCk7UiYmd2luZG93Lm1vbmFjby5lZGl0b3Iuc2V0TW9kZWxMYW5ndWFnZShSLEcpfX10b2dnbGVXb3JkV3JhcCgpe3RoaXMud29yZFdyYXA9dGhpcy53b3JkV3JhcD09PSJvbiI/Im9mZiI6Im9uIix0aGlzLnVwZGF0ZUVkaXRvck9wdGlvbigid29yZFdyYXAiLHRoaXMud29yZFdyYXApfXRvZ2dsZUxpbmVOdW1iZXJzKCl7dGhpcy5zaG93TGluZU51bWJlcnM9IXRoaXMuc2hvd0xpbmVOdW1iZXJzLHRoaXMudXBkYXRlRWRpdG9yT3B0aW9uKCJsaW5lTnVtYmVycyIsdGhpcy5zaG93TGluZU51bWJlcnM/Im9uIjoib2ZmIil9YXN5bmMgdXBkYXRlRWRpdG9yT3B0aW9uKGosRyl7dGhpcy5lZGl0b3JFbGVtZW50JiYoYXdhaXQgdGhpcy5lZGl0b3JFbGVtZW50LmVkaXRvckRlZmVycmVkLnByb21pc2UpLnVwZGF0ZU9wdGlvbnMoe1tqXTpHfSl9YXN5bmMgY29weUNvZGUoKXt0cnl7YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGhpcy52YWx1ZSksdGhpcy5jb3B5U3VjY2Vzcz0hMCxzZXRUaW1lb3V0KCgpPT57dGhpcy5jb3B5U3VjY2Vzcz0hMX0sMmUzKX1jYXRjaChqKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY29weSBjb2RlOiIsail9fWhhbmRsZUNvbnRlbnRDaGFuZ2Uoail7bGV0IEc9ai5kZXRhaWw7dGhpcy52YWx1ZSE9PUcmJih0aGlzLnZhbHVlPUcsdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpfWFzeW5jIG9wZW5GdWxsc2NyZWVuKCl7bGV0IGo9dGhpcy52YWx1ZSxHPW51bGwsaGU9dGhpcy5sYW5ndWFnZSxSPXRoaXMud29yZFdyYXAsVT10aGlzLnNob3dMaW5lTnVtYmVycyxtZT0hMSxJPSExLHE9cygoKT0+e2xldCBhZT1EZi5maW5kKHJlPT5yZS5rZXk9PT1oZSk7cmV0dXJuIGFlP2FlLmxhYmVsOiJUeXBlU2NyaXB0In0sImdldExhbmd1YWdlTGFiZWwiKSxjZT1zKGFlPT57bGV0IHJlPWFlLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5tb2RhbC10b29sYmFyIik7aWYoIXJlKXJldHVybjtsZXQgeWU9cmUucXVlcnlTZWxlY3RvcigiLmxhbmd1YWdlLWJ1dHRvbiBzcGFuIik7eWUmJih5ZS50ZXh0Q29udGVudD1xKCkpO2xldCBWPXJlLnF1ZXJ5U2VsZWN0b3IoIi53cmFwLWJ0biIpO1YmJlYuY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixSPT09Im9uIik7bGV0IEg9cmUucXVlcnlTZWxlY3RvcigiLmxpbmVzLWJ0biIpO0gmJkguY2xhc3NMaXN0LnRvZ2dsZSgiYWN0aXZlIixVKTtsZXQgb2U9cmUucXVlcnlTZWxlY3RvcigiLmNvcHktYnRuIiksc2U9b2U/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtaWNvbiIpO29lJiZzZSYmKG9lLmNsYXNzTGlzdC50b2dnbGUoInN1Y2Nlc3MiLEkpLHNlLmljb249ST8ibHVjaWRlOkNoZWNrIjoibHVjaWRlOkNvcHkiKTtsZXQgdGU9cmUucXVlcnlTZWxlY3RvcigiLmxhbmd1YWdlLWRyb3Bkb3duIik7dGUmJih0ZS5zdHlsZS5kaXNwbGF5PW1lPyJibG9jayI6Im5vbmUiKX0sInVwZGF0ZVRvb2xiYXJVSSIpLHVlPXMoYWU9PntsZXQgcmU9YWUuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLm1vZGFsLWZvb3RlciIpO2lmKCFyZSlyZXR1cm47bGV0IHllPXJlLnF1ZXJ5U2VsZWN0b3IoIi5mb290ZXItY3Vyc29yIiksVj1yZS5xdWVyeVNlbGVjdG9yKCIuZm9vdGVyLWxpbmVzIiksSD1yZS5xdWVyeVNlbGVjdG9yKCIuZm9vdGVyLWxhbmciKTt5ZSYmKHllLnRleHRDb250ZW50PWBMbiAke1l9LCBDb2wgJHtYfWApLFYmJihWLnRleHRDb250ZW50PWAke0p9IGxpbmUke0ohPT0xPyJzIjoiIn1gKSxIJiYoSC50ZXh0Q29udGVudD1xKCkpfSwidXBkYXRlRm9vdGVyVUkiKSxZPTEsWD0xLEo9ai5zcGxpdChgCmApLmxlbmd0aCxaPWF3YWl0IHdhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6dGhpcy5sYWJlbHx8IkNvZGUgRWRpdG9yIix3aWR0aDoiZnVsbHNjcmVlbiIsY29udGVudFBhZGRpbmc6MCxjb250ZW50OndgCiAgICAgICAgPHN0eWxlPgogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC50b29sYmFyLWxlZnQgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC50b29sYmFyLXJpZ2h0IHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2Utc2VsZWN0b3IgewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2UtYnV0dG9uIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAyMCUpIil9OwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2UtYnV0dG9uOmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLmxhbmd1YWdlLWRyb3Bkb3duIHsKICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgICB0b3A6IDEwMCU7CiAgICAgICAgICAgIGxlZnQ6IDA7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgICAgICAgIHotaW5kZXg6IDEwMDsKICAgICAgICAgICAgbWF4LWhlaWdodDogMjUwcHg7CiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgICAgIG1pbi13aWR0aDogMTQwcHg7CiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2Utb3B0aW9uIHsKICAgICAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAubGFuZ3VhZ2Utb3B0aW9uOmhvdmVyIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLmxhbmd1YWdlLW9wdGlvbi5zZWxlY3RlZCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5MCUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC50b29sYmFyLWJ1dHRvbiB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NSUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAudG9vbGJhci1idXR0b246aG92ZXIgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTAlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtdG9vbGJhciAudG9vbGJhci1idXR0b24uYWN0aXZlIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAyMCUpIil9OwogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLXRvb2xiYXIgLnRvb2xiYXItYnV0dG9uLnN1Y2Nlc3MgewogICAgICAgICAgICBjb2xvcjogaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC10b29sYmFyIC50b29sYmFyLWRpdmlkZXIgewogICAgICAgICAgICB3aWR0aDogMXB4OwogICAgICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICAgICAgbWFyZ2luOiAwIDRweDsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC1lZGl0b3Itd3JhcHBlciB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjAwcHgpOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIH0KICAgICAgICAgIC5tb2RhbC1mb290ZXIgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUlKSIsImhzbCgwIDAlIDU1JSkiKX07CiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgfQogICAgICAgICAgLm1vZGFsLWZvb3RlciAuZm9vdGVyLWxlZnQsCiAgICAgICAgICAubW9kYWwtZm9vdGVyIC5mb290ZXItcmlnaHQgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICB9CiAgICAgICAgICAubW9kYWwtZm9vdGVyIC5mb290ZXItc2VwYXJhdG9yIHsKICAgICAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgICB9CiAgICAgICAgPC9zdHlsZT4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC10b29sYmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItbGVmdCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imxhbmd1YWdlLXNlbGVjdG9yIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJsYW5ndWFnZS1idXR0b24iPgogICAgICAgICAgICAgICAgPHNwYW4+JHtxKCl9PC9zcGFuPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Q2hldnJvbkRvd24ifSBpY29uU2l6ZT0iMTQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imxhbmd1YWdlLWRyb3Bkb3duIj4KICAgICAgICAgICAgICAgICR7RGYubWFwKGFlPT53YAogICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9Imxhbmd1YWdlLW9wdGlvbiAke2FlLmtleT09PWhlPyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgICAgICAgICAgIGRhdGEtbGFuZz0iJHthZS5rZXl9IgogICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgJHthZS5sYWJlbH0KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItcmlnaHQiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiB3cmFwLWJ0biAke1I9PT0ib24iPyJhY3RpdmUiOiIifSIgdGl0bGU9IldvcmQgV3JhcCI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6V3JhcFRleHQifSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24gbGluZXMtYnRuICR7VT8iYWN0aXZlIjoiIn0iIHRpdGxlPSJMaW5lIE51bWJlcnMiPgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOkhhc2gifSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1kaXZpZGVyIj48L2Rpdj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24gY29weS1idG4iIHRpdGxlPSJDb3B5IENvZGUiPgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOkNvcHkifSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWVkaXRvci13cmFwcGVyIj4KICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tb25hY28KICAgICAgICAgICAgLmNvbnRlbnQ9JHtqfQogICAgICAgICAgICAubGFuZ3VhZ2U9JHtoZX0KICAgICAgICAgICAgLndvcmRXcmFwPSR7Un0KICAgICAgICAgID48L2RlZXMtd29ya3NwYWNlLW1vbmFjbz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtb2RhbC1mb290ZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyLWxlZnQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyLWN1cnNvciI+TG4gJHtZfSwgQ29sICR7WH08L3NwYW4+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1zZXBhcmF0b3IiPjwvZGl2PgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9vdGVyLWxpbmVzIj4ke0p9IGxpbmUke0ohPT0xPyJzIjoiIn08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1yaWdodCI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb290ZXItbGFuZyI+JHtxKCl9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDYW5jZWwiLGFjdGlvbjpzKGFzeW5jIGFlPT57YXdhaXQgYWUuZGVzdHJveSgpfSwiYWN0aW9uIil9LHtuYW1lOiJTYXZlICYgQ2xvc2UiLGFjdGlvbjpzKGFzeW5jIGFlPT57aWYoRz1hZS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKSxHKXtsZXQgeWU9KGF3YWl0IEcuZWRpdG9yRGVmZXJyZWQucHJvbWlzZSkuZ2V0VmFsdWUoKTt0aGlzLnNldFZhbHVlKHllKX1hd2FpdCBhZS5kZXN0cm95KCl9LCJhY3Rpb24iKX1dfSk7aWYoYXdhaXQgbmV3IFByb21pc2UoYWU9PnNldFRpbWVvdXQoYWUsMTAwKSksRz1aLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1vbmFjbyIpLEcpe2xldCBhZT1hd2FpdCBHLmVkaXRvckRlZmVycmVkLnByb21pc2UscmU9YXdhaXQgRy5kb210b29sc1Byb21pc2UseWU9cyhIPT57bGV0IG9lPUg/IiNmZmZmZmYiOiIjMGEwYTBhIjt3aW5kb3cubW9uYWNvPy5lZGl0b3I/LmRlZmluZVRoZW1lPy4oImRlZXMtbGlnaHQiLHtiYXNlOiJ2cyIsaW5oZXJpdDohMCxydWxlczpbXSxjb2xvcnM6eyJlZGl0b3IuYmFja2dyb3VuZCI6b2V9fSksd2luZG93Lm1vbmFjbz8uZWRpdG9yPy5kZWZpbmVUaGVtZT8uKCJkZWVzLWRhcmsiLHtiYXNlOiJ2cy1kYXJrIixpbmhlcml0OiEwLHJ1bGVzOltdLGNvbG9yczp7ImVkaXRvci5iYWNrZ3JvdW5kIjpvZX19KSxhZS51cGRhdGVPcHRpb25zKHt0aGVtZTpIPyJkZWVzLWxpZ2h0IjoiZGVlcy1kYXJrIn0pfSwiYXBwbHlNb2RhbFRoZW1lIik7eWUocmUudGhlbWVNYW5hZ2VyLmdvQnJpZ2h0Qm9vbGVhbikscmUudGhlbWVNYW5hZ2VyLnRoZW1lT2JzZXJ2YWJsZS5zdWJzY3JpYmUoSD0+e3llKEgpfSksYWUub25EaWRDaGFuZ2VDdXJzb3JQb3NpdGlvbihIPT57WT1ILnBvc2l0aW9uLmxpbmVOdW1iZXIsWD1ILnBvc2l0aW9uLmNvbHVtbix1ZShaKX0pO2xldCBWPWFlLmdldE1vZGVsKCk7ViYmKEo9Vi5nZXRMaW5lQ291bnQoKSx1ZShaKSxWLm9uRGlkQ2hhbmdlQ29udGVudCgoKT0+e0o9Vi5nZXRMaW5lQ291bnQoKSx1ZShaKX0pKX1sZXQgZ2U9Wi5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIubW9kYWwtdG9vbGJhciIpO2lmKGdlKXtsZXQgYWU9Z2UucXVlcnlTZWxlY3RvcigiLmxhbmd1YWdlLWJ1dHRvbiIpO2FlPy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PnttZT0hbWUsY2UoWil9KTtsZXQgcmU9Z2UucXVlcnlTZWxlY3RvckFsbCgiLmxhbmd1YWdlLW9wdGlvbiIpO3JlLmZvckVhY2gob2U9PntvZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsYXN5bmMoKT0+e2xldCBzZT1vZS5kYXRhc2V0Lmxhbmc7aWYoc2UmJkcpe2hlPXNlLG1lPSExO2xldCB6ZT0oYXdhaXQgRy5lZGl0b3JEZWZlcnJlZC5wcm9taXNlKS5nZXRNb2RlbCgpO3plJiZ3aW5kb3cubW9uYWNvLmVkaXRvci5zZXRNb2RlbExhbmd1YWdlKHplLHNlKSxyZS5mb3JFYWNoKE9lPT5PZS5jbGFzc0xpc3QucmVtb3ZlKCJzZWxlY3RlZCIpKSxvZS5jbGFzc0xpc3QuYWRkKCJzZWxlY3RlZCIpLGNlKFopLHVlKFopfX0pfSksZ2UucXVlcnlTZWxlY3RvcigiLndyYXAtYnRuIik/LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixhc3luYygpPT57Uj1SPT09Im9uIj8ib2ZmIjoib24iLEcmJihhd2FpdCBHLmVkaXRvckRlZmVycmVkLnByb21pc2UpLnVwZGF0ZU9wdGlvbnMoe3dvcmRXcmFwOlJ9KSxjZShaKX0pLGdlLnF1ZXJ5U2VsZWN0b3IoIi5saW5lcy1idG4iKT8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGFzeW5jKCk9PntVPSFVLEcmJihhd2FpdCBHLmVkaXRvckRlZmVycmVkLnByb21pc2UpLnVwZGF0ZU9wdGlvbnMoe2xpbmVOdW1iZXJzOlU/Im9uIjoib2ZmIn0pLGNlKFopfSksZ2UucXVlcnlTZWxlY3RvcigiLmNvcHktYnRuIik/LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixhc3luYygpPT57aWYoRyl7bGV0IHNlPShhd2FpdCBHLmVkaXRvckRlZmVycmVkLnByb21pc2UpLmdldFZhbHVlKCk7dHJ5e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHNlKSxJPSEwLGNlKFopLHNldFRpbWVvdXQoKCk9PntJPSExLGNlKFopfSwyZTMpfWNhdGNoKHRlKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gY29weSBjb2RlOiIsdGUpfX19KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsb2U9PnttZSYmIWFlPy5jb250YWlucyhvZS50YXJnZXQpJiYobWU9ITEsY2UoWikpfSx7b25jZTohMH0pfX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKGope3RoaXMudmFsdWU9aix0aGlzLmVkaXRvckVsZW1lbnQmJih0aGlzLmVkaXRvckVsZW1lbnQuY29udGVudD1qLHRoaXMuZWRpdG9yRWxlbWVudC5lZGl0b3JEZWZlcnJlZC5wcm9taXNlLnRoZW4oRz0+e0cuZ2V0VmFsdWUoKSE9PWomJkcuc2V0VmFsdWUoail9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9c3RhdGljeyRzKHIsdCl9fTtyZXR1cm4gVz1yfSkoKX0pO3ZhciBic2EsdnNhPWYoKCk9PntsZSgpO0lhKCk7VXMoKTtJWWUoKTtic2E9cygoKT0+d2AKICA8c3R5bGU+CiAgICAke1FgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLW91dHB1dCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTA1LCAyNDIsIDAuMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICB9CiAgICAgIAogICAgICAuZGF0ZS1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kYXRlcGlja2VyIik7ZSYmZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCh0PT57Y29uc29sZS5sb2coIkJhc2ljIGRhdGUgc2VsZWN0ZWQ6Iix0LnRhcmdldC52YWx1ZSl9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIERhdGUgUGlja2VyIn0gLnN1YnRpdGxlPSR7IlNpbXBsZSBkYXRlIHNlbGVjdGlvbiB3aXRob3V0IHRpbWUifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iU2VsZWN0IERhdGUiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iQ2hvb3NlIGEgZGF0ZSBmcm9tIHRoZSBjYWxlbmRhciIKICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LWRhdGVwaWNrZXJbbGFiZWw9IkV2ZW50IERhdGUgJiBUaW1lIl0nKSx0PWEucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC1kYXRlcGlja2VyW2xhYmVsPSJBcHBvaW50bWVudCJdJyk7ZSYmZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChyPT57bGV0IGk9ci50YXJnZXQudmFsdWU7Y29uc29sZS5sb2coIjI0aCBmb3JtYXQgZGF0ZXRpbWU6IixpKX0pKSx0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsKHI9PntsZXQgaT1yLnRhcmdldC52YWx1ZTtjb25zb2xlLmxvZygiMTJoIGZvcm1hdCBkYXRldGltZToiLGkpfSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJEYXRlIGFuZCBUaW1lIFNlbGVjdGlvbiJ9IC5zdWJ0aXRsZT0keyJEYXRlIHBpY2tlcnMgd2l0aCB0aW1lIHNlbGVjdGlvbiBpbiBkaWZmZXJlbnQgZm9ybWF0cyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJFdmVudCBEYXRlICYgVGltZSIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJTZWxlY3QgYm90aCBkYXRlIGFuZCB0aW1lICgyNC1ob3VyIGZvcm1hdCkiCiAgICAgICAgICAuZW5hYmxlVGltZT0keyEwfQogICAgICAgICAgdGltZUZvcm1hdD0iMjRoIgogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iQXBwb2ludG1lbnQiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iRGF0ZSBhbmQgdGltZSB3aXRoIEFNL1BNIHNlbGVjdG9yICgxNS1taW51dGUgaW5jcmVtZW50cykiCiAgICAgICAgICAuZW5hYmxlVGltZT0keyEwfQogICAgICAgICAgdGltZUZvcm1hdD0iMTJoIgogICAgICAgICAgLm1pbnV0ZUluY3JlbWVudD0kezE1fQogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PnthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpLmZvckVhY2godD0+e3QuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwocj0+e2xldCBpPXIudGFyZ2V0O2NvbnNvbGUubG9nKGAke2kubGFiZWx9IHZhbHVlOmAsaS52YWx1ZSk7bGV0IG89aS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZGF0ZS1pbnB1dCIpO28mJmNvbnNvbGUubG9nKGAke2kubGFiZWx9IGZvcm1hdHRlZDpgLG8udmFsdWUpfSkpfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlRpbWV6b25lIFN1cHBvcnQifSAuc3VidGl0bGU9JHsiRGF0ZSBhbmQgdGltZSBzZWxlY3Rpb24gd2l0aCB0aW1lem9uZSBhd2FyZW5lc3MifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iTWVldGluZyBUaW1lICh3aXRoIFRpbWV6b25lKSIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJTZWxlY3QgYSBkYXRlL3RpbWUgYW5kIHRpbWV6b25lIGZvciB0aGUgbWVldGluZyIKICAgICAgICAgIC5lbmFibGVUaW1lPSR7ITB9CiAgICAgICAgICAuZW5hYmxlVGltZXpvbmU9JHshMH0KICAgICAgICAgIHRpbWVGb3JtYXQ9IjI0aCIKICAgICAgICAgIHRpbWV6b25lPSJBbWVyaWNhL05ld19Zb3JrIgogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iR2xvYmFsIEV2ZW50IFNjaGVkdWxlIgogICAgICAgICAgZGVzY3JpcHRpb249IlNjaGVkdWxlIGFuIGV2ZW50IGFjcm9zcyBkaWZmZXJlbnQgdGltZXpvbmVzIgogICAgICAgICAgLmVuYWJsZVRpbWU9JHshMH0KICAgICAgICAgIC5lbmFibGVUaW1lem9uZT0keyEwfQogICAgICAgICAgdGltZUZvcm1hdD0iMTJoIgogICAgICAgICAgdGltZXpvbmU9IkV1cm9wZS9Mb25kb24iCiAgICAgICAgICAubWludXRlSW5jcmVtZW50PSR7MzB9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kYXRlcGlja2VyIik7ZSYmZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCh0PT57bGV0IHI9dC50YXJnZXQudmFsdWU7aWYocil7bGV0IGk9bmV3IERhdGUociksbz1uZXcgRGF0ZSxuPU1hdGguZmxvb3IoKGkuZ2V0VGltZSgpLW8uZ2V0VGltZSgpKS8oMWUzKjYwKjYwKjI0KSk7Y29uc29sZS5sb2coYFNlbGVjdGVkIGRhdGUgaXMgJHtufSBkYXlzIGZyb20gdG9kYXlgKX19KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkRhdGUgUmFuZ2UgQ29uc3RyYWludHMifSAuc3VidGl0bGU9JHsiTGltaXQgc2VsZWN0YWJsZSBkYXRlcyB3aXRoIG1pbiBhbmQgbWF4IHZhbHVlcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJGdXR1cmUgRGF0ZSBPbmx5IgogICAgICAgICAgZGVzY3JpcHRpb249IkNhbiBvbmx5IHNlbGVjdCBkYXRlcyBmcm9tIHRvZGF5IHRvIDkwIGRheXMgaW4gdGhlIGZ1dHVyZSIKICAgICAgICAgIC5taW5EYXRlPSR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfQogICAgICAgICAgLm1heERhdGU9JHtuZXcgRGF0ZShEYXRlLm5vdygpKzIxNjAqNjAqNjAqMWUzKS50b0lTT1N0cmluZygpfQogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT17IkREL01NL1lZWVkiOiJFdXJvcGVhbiIsIk1NL0REL1lZWVkiOiJVUyIsIllZWVktTU0tREQiOiJJU08ifTthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpLmZvckVhY2gocj0+e3IuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwoaT0+e2xldCBvPWkudGFyZ2V0LG49by5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZGF0ZS1pbnB1dCIpO24mJmNvbnNvbGUubG9nKGAke28ubGFiZWx9IGZvcm1hdDpgLG4udmFsdWUpfSkpfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkRhdGUgRm9ybWF0cyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgZGF0ZSBkaXNwbGF5IGZvcm1hdHMgZm9yIHZhcmlvdXMgcmVnaW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImRhdGUtZ3JvdXAiPgogICAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgICBsYWJlbD0iRXVyb3BlYW4gRm9ybWF0IgogICAgICAgICAgICBkYXRlRm9ybWF0PSJERC9NTS9ZWVlZIgogICAgICAgICAgICAudmFsdWU9JHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgICAgbGFiZWw9IlVTIEZvcm1hdCIKICAgICAgICAgICAgZGF0ZUZvcm1hdD0iTU0vREQvWVlZWSIKICAgICAgICAgICAgLnZhbHVlPSR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICAgIGxhYmVsPSJJU08gRm9ybWF0IgogICAgICAgICAgICBkYXRlRm9ybWF0PSJZWVlZLU1NLUREIgogICAgICAgICAgICAudmFsdWU9JHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWRhdGVwaWNrZXJbcmVxdWlyZWRdIik7ZSYmZS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e2UuZ2V0VmFsdWUoKXx8Y29uc29sZS5sb2coIlJlcXVpcmVkIGRhdGUgZmllbGQgaXMgZW1wdHkiKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGb3JtIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJSZXF1aXJlZCBhbmQgZGlzYWJsZWQgc3RhdGVzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgbGFiZWw9IkJpcnRoIERhdGUiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iVGhpcyBmaWVsZCBpcyByZXF1aXJlZCIKICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgcGxhY2Vob2xkZXI9IlNlbGVjdCB5b3VyIGJpcnRoIGRhdGUiCiAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJEaXNhYmxlZCBEYXRlIgogICAgICAgICAgZGVzY3JpcHRpb249IlRoaXMgZmllbGQgY2Fubm90IGJlIGVkaXRlZCIKICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgLnZhbHVlPSR7bmV3IERhdGUoKS50b0lTT1N0cmluZygpfQogICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtZGF0ZXBpY2tlcltsYWJlbD0iVVMgQ2FsZW5kYXIiXScpLHQ9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LWRhdGVwaWNrZXJbbGFiZWw9IkVVIENhbGVuZGFyIl0nKTtlJiZjb25zb2xlLmxvZygiVVMgQ2FsZW5kYXIgc3RhcnRzIG9uIFN1bmRheSAoMCkiKSx0JiZjb25zb2xlLmxvZygiRVUgQ2FsZW5kYXIgc3RhcnRzIG9uIE1vbmRheSAoMSkiKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQ2FsZW5kYXIgQ3VzdG9taXphdGlvbiJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgd2VlayBzdGFydCBkYXlzIGZvciB2YXJpb3VzIHJlZ2lvbnMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJkYXRlLWdyb3VwIj4KICAgICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgICAgbGFiZWw9IlVTIENhbGVuZGFyIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iV2VlayBzdGFydHMgb24gU3VuZGF5IgogICAgICAgICAgICAud2Vla1N0YXJ0c09uPSR7MH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZGF0ZXBpY2tlcj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgICBsYWJlbD0iRVUgQ2FsZW5kYXIiCiAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJXZWVrIHN0YXJ0cyBvbiBNb25kYXkiCiAgICAgICAgICAgIC53ZWVrU3RhcnRzT249JHsxfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kYXRlcGlja2VyPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPXMoKCk9PntsZXQgcj1bXSxpPW5ldyBEYXRlLG89aS5nZXRGdWxsWWVhcigpLG49aS5nZXRNb250aCgpLGw9bmV3IERhdGUobyxuLDEpO2Zvcig7bC5nZXRNb250aCgpPT09bjspKGwuZ2V0RGF5KCk9PT0wfHxsLmdldERheSgpPT09NikmJnIucHVzaChuZXcgRGF0ZShsKS50b0lTT1N0cmluZygpKSxsLnNldERhdGUobC5nZXREYXRlKCkrMSk7cmV0dXJuIHJ9LCJnZW5lcmF0ZVdlZWtlbmRzIiksdD1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpO3QmJih0LmRpc2FibGVkRGF0ZXM9ZSgpLGNvbnNvbGUubG9nKCJEaXNhYmxlZCB3ZWVrZW5kIGRhdGVzIGZvciBjdXJyZW50IG1vbnRoIikpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJEaXNhYmxlZCBEYXRlcyJ9IC5zdWJ0aXRsZT0keyJDYWxlbmRhciB3aXRoIHNwZWNpZmljIGRhdGVzIGRpc2FibGVkICh3ZWVrZW5kcyBpbiBjdXJyZW50IG1vbnRoKSJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRhdGVwaWNrZXIKICAgICAgICAgIGxhYmVsPSJBdmFpbGFiaWxpdHkgQ2FsZW5kYXIiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iV2Vla2VuZHMgYXJlIGRpc2FibGVkIGZvciB0aGUgY3VycmVudCBtb250aCIKICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9bmV3IERhdGUsdD1lLmdldE1vbnRoKCkscj1lLmdldEZ1bGxZZWFyKCksaT1be2RhdGU6YCR7cn0tJHsodCsxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0tJHtlLmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gLHRpdGxlOiJUZWFtIE1lZXRpbmciLHR5cGU6ImluZm8iLGNvdW50OjJ9LHtkYXRlOmAke3J9LSR7KHQrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9LSR7KGUuZ2V0RGF0ZSgpKzEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWAsdGl0bGU6IlByb2plY3QgRGVhZGxpbmUiLHR5cGU6Indhcm5pbmcifSx7ZGF0ZTpgJHtyfS0keyh0KzEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfS0keyhlLmdldERhdGUoKSsyKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gLHRpdGxlOiJSZWxlYXNlIERheSIsdHlwZToic3VjY2VzcyJ9LHtkYXRlOmAke3J9LSR7KHQrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9LSR7KGUuZ2V0RGF0ZSgpKzUpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWAsdGl0bGU6IlVyZ2VudCBGaXggUmVxdWlyZWQiLHR5cGU6ImVycm9yIn0se2RhdGU6YCR7cn0tJHsodCsxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0tJHsoZS5nZXREYXRlKCkrNykudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YCx0aXRsZToiTXVsdGlwbGUgRXZlbnRzIFRvZGF5Iix0eXBlOiJpbmZvIixjb3VudDo1fSx7ZGF0ZTpgJHtyfS0keyh0KzIpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfS0xNWAsdGl0bGU6IkZ1dHVyZSBQbGFubmluZyBTZXNzaW9uIix0eXBlOiJpbmZvIn1dLG89YS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LWRhdGVwaWNrZXIiKTtvJiYoby5ldmVudHM9aSxjb25zb2xlLmxvZygiQ2FsZW5kYXIgZXZlbnRzIGxvYWRlZDoiLGkpKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQ2FsZW5kYXIgd2l0aCBFdmVudHMifSAuc3VidGl0bGU9JHsiVmlzdWFsIGZlZWRiYWNrIGZvciBzY2hlZHVsZWQgZXZlbnRzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgbGFiZWw9IkV2ZW50IENhbGVuZGFyIgogICAgICAgICAgZGVzY3JpcHRpb249IkRheXMgd2l0aCBjb2xvcmVkIGRvdHMgaGF2ZSBldmVudHMuIEhvdmVyIHRvIHNlZSBkZXRhaWxzLiIKICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1vdXRwdXQiIHN0eWxlPSJtYXJnaW4tdG9wOiAxNnB4OyI+CiAgICAgICAgICA8c3Ryb25nPkV2ZW50IExlZ2VuZDo8L3N0cm9uZz48YnI+CiAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICMwOTY5ZGE7Ij7il48gSW5mbzwvc3Bhbj4gfCAKICAgICAgICAgIDxzcGFuIHN0eWxlPSJjb2xvcjogI2QyOTkyMjsiPuKXjyBXYXJuaW5nPC9zcGFuPiB8IAogICAgICAgICAgPHNwYW4gc3R5bGU9ImNvbG9yOiAjMmVhMDQzOyI+4pePIFN1Y2Nlc3M8L3NwYW4+IHwgCiAgICAgICAgICA8c3BhbiBzdHlsZT0iY29sb3I6ICNjZjIyMmU7Ij7il48gRXJyb3I8L3NwYW4+PGJyPgogICAgICAgICAgPGVtPkRheXMgd2l0aCBtb3JlIHRoYW4gMyBldmVudHMgc2hvdyBhIGNvdW50IGJhZGdlPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpLHQ9YS5xdWVyeVNlbGVjdG9yKCIjZXZlbnQtb3V0cHV0Iik7ZSYmdCYmKGUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwocj0+e2xldCBpPXIudGFyZ2V0LG89aS52YWx1ZTtpZihvKXtsZXQgbj1uZXcgRGF0ZShvKSxkPWkuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmRhdGUtaW5wdXQiKT8udmFsdWV8fCJOL0EiO3QuaW5uZXJIVE1MPWAKICAgICAgICAgICAgICA8c3Ryb25nPkV2ZW50IHRyaWdnZXJlZCE8L3N0cm9uZz48YnI+CiAgICAgICAgICAgICAgSVNPIFZhbHVlOiAke299PGJyPgogICAgICAgICAgICAgIEZvcm1hdHRlZDogJHtkfTxicj4KICAgICAgICAgICAgICBEYXRlIG9iamVjdDogJHtuLnRvTG9jYWxlU3RyaW5nKCl9CiAgICAgICAgICAgIGB9ZWxzZSB0LmlubmVySFRNTD0iPGVtPkRhdGUgY2xlYXJlZDwvZW0+In0pKSxlLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57Y29uc29sZS5sb2coIkRhdGVwaWNrZXIgbG9zdCBmb2N1cyIpfSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJFdmVudCBIYW5kbGluZyJ9IC5zdWJ0aXRsZT0keyJJbnRlcmFjdGl2ZSBkZW1vbnN0cmF0aW9uIG9mIGNoYW5nZSBldmVudHMifT4KICAgICAgICA8ZGVlcy1pbnB1dC1kYXRlcGlja2VyCiAgICAgICAgICBsYWJlbD0iRXZlbnQgRGVtbyIKICAgICAgICAgIGRlc2NyaXB0aW9uPSJTZWxlY3QgYSBkYXRlIHRvIHNlZSB0aGUgZXZlbnQgZGV0YWlscyIKICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+CiAgICAgICAgCiAgICAgICAgPGRpdiBpZD0iZXZlbnQtb3V0cHV0IiBjbGFzcz0iZGVtby1vdXRwdXQiPgogICAgICAgICAgPGVtPlNlbGVjdCBhIGRhdGUgdG8gc2VlIGV2ZW50IGRldGFpbHMuLi48L2VtPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgeHNhLHlzYT1mKCgpPT57bGUoKTtTcigpO3hzYT1bLi4ud3QuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmlucHV0LWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuZGF0ZS1pbnB1dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjI0IDcxLjQlIDQuMSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjI0IDcxLjQlIDQuMSUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICB9CgogICAgICAuZGF0ZS1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAuZGF0ZS1pbnB1dDpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgfQoKICAgICAgLmRhdGUtaW5wdXQ6Zm9jdXMsCiAgICAgIC5kYXRlLWlucHV0Lm9wZW4gewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSAxMS4yJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICAgIG91dGxpbmU6IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjI0IDcxLjQlIDQuMSUpIil9LAogICAgICAgICAgICAgICAgICAgIDAgMCAwIDRweCAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDExLjIlIC8gMC4xKSIsImhzbCgyMTAgMjAlIDk4JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5kYXRlLWlucHV0OmRpc2FibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMTUgMjcuOSUgMTYuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAuaWNvbi1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5pY29uLWNvbnRhaW5lciA+ICogewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICAuY2FsZW5kYXItaWNvbiB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIwIDguOSUgNDYuMSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAuY2xlYXItYnV0dG9uIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuY2xlYXItYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMTUgMjcuOSUgMTYuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyNCA3MS40JSA0LjElKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgIH0KICAgIGBdfSk7dmFyIHdzYSxNc2E9ZigoKT0+e2xlKCk7d3NhPXMoYT0+d2AKICAgICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0ke2EubGFiZWx9IC5pbmZvVGV4dD0ke2EuaW5mb1RleHR9IC5yZXF1aXJlZD0ke2EucmVxdWlyZWR9PjwvZGVlcy1sYWJlbD4KICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWNvbnRhaW5lciI+CiAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgY2xhc3M9ImRhdGUtaW5wdXQgJHthLmlzT3BlbmVkPyJvcGVuIjoiIn0iCiAgICAgICAgICAgICAgLnZhbHVlPSR7YS5mb3JtYXREYXRlKGEudmFsdWUpfQogICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0ke2EucGxhY2Vob2xkZXJ9CiAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7YS5kaXNhYmxlZH0KICAgICAgICAgICAgICBAY2xpY2s9JHthLnRvZ2dsZUNhbGVuZGFyfQogICAgICAgICAgICAgIEBrZXlkb3duPSR7YS5oYW5kbGVLZXlkb3dufQogICAgICAgICAgICAgIEBpbnB1dD0ke2EuaGFuZGxlTWFudWFsSW5wdXR9CiAgICAgICAgICAgICAgQGJsdXI9JHthLmhhbmRsZUlucHV0Qmx1cn0KICAgICAgICAgICAgICBzdHlsZT0icGFkZGluZy1yaWdodDogJHthLnZhbHVlPyI2NHB4IjoiNDBweCJ9IgogICAgICAgICAgICAvPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgJHthLnZhbHVlJiYhYS5kaXNhYmxlZD93YAogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY2xlYXItYnV0dG9uIiBAY2xpY2s9JHthLmNsZWFyVmFsdWV9IHRpdGxlPSJDbGVhciI+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOngiIGljb25TaXplPSIxNCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9ImNhbGVuZGFyLWljb24iIGljb249Imx1Y2lkZTpjYWxlbmRhciIgaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7YS5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICAgIDwvZGl2PgogICAgICBgLCJyZW5kZXJEYXRlcGlja2VyIil9KTt2YXIgcHMscmEsdGFlLE5ZZT1mKCgpPT57bGUoKTtKdCgpO2ppKCk7UWUoKTt3MSgpO3ZhKCk7cHM9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHJhPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx0YWU9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LWRhdGVwaWNrZXItcG9wdXAiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sWCxKPVtdLFo9W10sZ2UsYWU9W10scmU9W10seWUsVj1bXSxIPVtdLG9lLHNlPVtdLHRlPVtdLHplLE9lPVtdLHFlPVtdLGN0LCRlPVtdLENlPVtdO3ZhciBNZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0RGF0ZXBpY2tlclBvcHVwIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGRlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe2F0dHJpYnV0ZTohMX0pXSxkPVskKHthdHRyaWJ1dGU6ITF9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6TnVtYmVyfSldLE49WyQoe3R5cGU6TnVtYmVyfSldLE89WyQoe3R5cGU6U3RyaW5nfSldLEI9WyQoe3R5cGU6U3RyaW5nfSldLFA9WyQoe3R5cGU6QXJyYXl9KV0sVz1bJCh7dHlwZTpCb29sZWFufSldLGhlPVskKHt0eXBlOlN0cmluZ30pXSxtZT1bJCh7dHlwZTpBcnJheX0pXSxjZT1bJCh7dHlwZTpCb29sZWFufSldLFg9W0soKV0sZ2U9W0soKV0seWU9W0soKV0sb2U9W0soKV0semU9W0soKV0sY3Q9W0soKV0scHModGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0cmlnZ2VyUmVjdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+InRyaWdnZXJSZWN0ImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUudHJpZ2dlclJlY3QsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS50cmlnZ2VyUmVjdD1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0sbixsKSxwcyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im93bmVyQ29tcG9uZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHZlPT4ib3duZXJDb21wb25lbnQiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5vd25lckNvbXBvbmVudCwiZ2V0Iiksc2V0OnMoKHZlLEFlKT0+e3ZlLm93bmVyQ29tcG9uZW50PUFlfSwic2V0Iil9LG1ldGFkYXRhOmRlfSxjLHApLHBzKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW5hYmxlVGltZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+ImVuYWJsZVRpbWUiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5lbmFibGVUaW1lLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUuZW5hYmxlVGltZT1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0sbSx2KSxwcyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpbWVGb3JtYXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJ0aW1lRm9ybWF0ImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUudGltZUZvcm1hdCwiZ2V0Iiksc2V0OnMoKHZlLEFlKT0+e3ZlLnRpbWVGb3JtYXQ9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LGIsZykscHModGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtaW51dGVJbmNyZW1lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJtaW51dGVJbmNyZW1lbnQiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5taW51dGVJbmNyZW1lbnQsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS5taW51dGVJbmNyZW1lbnQ9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LGssQykscHModGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3ZWVrU3RhcnRzT24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJ3ZWVrU3RhcnRzT24iaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS53ZWVrU3RhcnRzT24sImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS53ZWVrU3RhcnRzT249QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LF8seikscHModGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtaW5EYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHZlPT4ibWluRGF0ZSJpbiB2ZSwiaGFzIiksZ2V0OnModmU9PnZlLm1pbkRhdGUsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS5taW5EYXRlPUFlfSwic2V0Iil9LG1ldGFkYXRhOmRlfSxULEUpLHBzKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4RGF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+Im1heERhdGUiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5tYXhEYXRlLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUubWF4RGF0ZT1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0sTSxTKSxwcyh0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpc2FibGVkRGF0ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJkaXNhYmxlZERhdGVzImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUuZGlzYWJsZWREYXRlcywiZ2V0Iiksc2V0OnMoKHZlLEFlKT0+e3ZlLmRpc2FibGVkRGF0ZXM9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LEEsRikscHModGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVUaW1lem9uZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+ImVuYWJsZVRpbWV6b25lImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUuZW5hYmxlVGltZXpvbmUsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS5lbmFibGVUaW1lem9uZT1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0saixHKSxwcyh0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aW1lem9uZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+InRpbWV6b25lImluIHZlLCJoYXMiKSxnZXQ6cyh2ZT0+dmUudGltZXpvbmUsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS50aW1lem9uZT1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0sUixVKSxwcyh0aGlzLG51bGwsbWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJldmVudHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJldmVudHMiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5ldmVudHMsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS5ldmVudHM9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LEkscSkscHModGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3BlbnNUb1RvcCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+Im9wZW5zVG9Ub3AiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5vcGVuc1RvVG9wLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUub3BlbnNUb1RvcD1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0sdWUsWSkscHModGhpcyxudWxsLFgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZERhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJzZWxlY3RlZERhdGUiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5zZWxlY3RlZERhdGUsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS5zZWxlY3RlZERhdGU9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LEosWikscHModGhpcyxudWxsLGdlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmlld0RhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJ2aWV3RGF0ZSJpbiB2ZSwiaGFzIiksZ2V0OnModmU9PnZlLnZpZXdEYXRlLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUudmlld0RhdGU9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LGFlLHJlKSxwcyh0aGlzLG51bGwseWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZEhvdXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJzZWxlY3RlZEhvdXIiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS5zZWxlY3RlZEhvdXIsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS5zZWxlY3RlZEhvdXI9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LFYsSCkscHModGhpcyxudWxsLG9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRNaW51dGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModmU9PiJzZWxlY3RlZE1pbnV0ZSJpbiB2ZSwiaGFzIiksZ2V0OnModmU9PnZlLnNlbGVjdGVkTWludXRlLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUuc2VsZWN0ZWRNaW51dGU9QWV9LCJzZXQiKX0sbWV0YWRhdGE6ZGV9LHNlLHRlKSxwcyh0aGlzLG51bGwsemUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51WkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHZlPT4ibWVudVpJbmRleCJpbiB2ZSwiaGFzIiksZ2V0OnModmU9PnZlLm1lbnVaSW5kZXgsImdldCIpLHNldDpzKCh2ZSxBZSk9Pnt2ZS5tZW51WkluZGV4PUFlfSwic2V0Iil9LG1ldGFkYXRhOmRlfSxPZSxxZSkscHModGhpcyxudWxsLGN0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2ZT0+InZpc2libGUiaW4gdmUsImhhcyIpLGdldDpzKHZlPT52ZS52aXNpYmxlLCJnZXQiKSxzZXQ6cygodmUsQWUpPT57dmUudmlzaWJsZT1BZX0sInNldCIpfSxtZXRhZGF0YTpkZX0sJGUsQ2UpLHBzKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmRlfSxudWxsLHQpLE1lPXI9ZS52YWx1ZSxkZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpkZX0pfSNlPXJhKHRoaXMsbixudWxsKTtnZXQgdHJpZ2dlclJlY3QoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdHJpZ2dlclJlY3QoZGUpe3RoaXMuI2U9ZGV9I3Q9KHJhKHRoaXMsbCkscmEodGhpcyxjLG51bGwpKTtnZXQgb3duZXJDb21wb25lbnQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgb3duZXJDb21wb25lbnQoZGUpe3RoaXMuI3Q9ZGV9I2E9KHJhKHRoaXMscCkscmEodGhpcyxtLCExKSk7Z2V0IGVuYWJsZVRpbWUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZW5hYmxlVGltZShkZSl7dGhpcy4jYT1kZX0jcj0ocmEodGhpcyx2KSxyYSh0aGlzLGIsIjI0aCIpKTtnZXQgdGltZUZvcm1hdCgpe3JldHVybiB0aGlzLiNyfXNldCB0aW1lRm9ybWF0KGRlKXt0aGlzLiNyPWRlfSNzPShyYSh0aGlzLGcpLHJhKHRoaXMsaywxKSk7Z2V0IG1pbnV0ZUluY3JlbWVudCgpe3JldHVybiB0aGlzLiNzfXNldCBtaW51dGVJbmNyZW1lbnQoZGUpe3RoaXMuI3M9ZGV9I2k9KHJhKHRoaXMsQykscmEodGhpcyxfLDEpKTtnZXQgd2Vla1N0YXJ0c09uKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHdlZWtTdGFydHNPbihkZSl7dGhpcy4jaT1kZX0jbz0ocmEodGhpcyx6KSxyYSh0aGlzLFQsIiIpKTtnZXQgbWluRGF0ZSgpe3JldHVybiB0aGlzLiNvfXNldCBtaW5EYXRlKGRlKXt0aGlzLiNvPWRlfSNuPShyYSh0aGlzLEUpLHJhKHRoaXMsTSwiIikpO2dldCBtYXhEYXRlKCl7cmV0dXJuIHRoaXMuI259c2V0IG1heERhdGUoZGUpe3RoaXMuI249ZGV9I2w9KHJhKHRoaXMsUykscmEodGhpcyxBLFtdKSk7Z2V0IGRpc2FibGVkRGF0ZXMoKXtyZXR1cm4gdGhpcy4jbH1zZXQgZGlzYWJsZWREYXRlcyhkZSl7dGhpcy4jbD1kZX0jYz0ocmEodGhpcyxGKSxyYSh0aGlzLGosITEpKTtnZXQgZW5hYmxlVGltZXpvbmUoKXtyZXR1cm4gdGhpcy4jY31zZXQgZW5hYmxlVGltZXpvbmUoZGUpe3RoaXMuI2M9ZGV9I2Q9KHJhKHRoaXMsRykscmEodGhpcyxSLEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZSkpO2dldCB0aW1lem9uZSgpe3JldHVybiB0aGlzLiNkfXNldCB0aW1lem9uZShkZSl7dGhpcy4jZD1kZX0jdT0ocmEodGhpcyxVKSxyYSh0aGlzLEksW10pKTtnZXQgZXZlbnRzKCl7cmV0dXJuIHRoaXMuI3V9c2V0IGV2ZW50cyhkZSl7dGhpcy4jdT1kZX0jcD0ocmEodGhpcyxxKSxyYSh0aGlzLHVlLCExKSk7Z2V0IG9wZW5zVG9Ub3AoKXtyZXR1cm4gdGhpcy4jcH1zZXQgb3BlbnNUb1RvcChkZSl7dGhpcy4jcD1kZX0jZj0ocmEodGhpcyxZKSxyYSh0aGlzLEosbnVsbCkpO2dldCBzZWxlY3RlZERhdGUoKXtyZXR1cm4gdGhpcy4jZn1zZXQgc2VsZWN0ZWREYXRlKGRlKXt0aGlzLiNmPWRlfSNoPShyYSh0aGlzLFopLHJhKHRoaXMsYWUsbmV3IERhdGUpKTtnZXQgdmlld0RhdGUoKXtyZXR1cm4gdGhpcy4jaH1zZXQgdmlld0RhdGUoZGUpe3RoaXMuI2g9ZGV9I209KHJhKHRoaXMscmUpLHJhKHRoaXMsViwwKSk7Z2V0IHNlbGVjdGVkSG91cigpe3JldHVybiB0aGlzLiNtfXNldCBzZWxlY3RlZEhvdXIoZGUpe3RoaXMuI209ZGV9I2c9KHJhKHRoaXMsSCkscmEodGhpcyxzZSwwKSk7Z2V0IHNlbGVjdGVkTWludXRlKCl7cmV0dXJuIHRoaXMuI2d9c2V0IHNlbGVjdGVkTWludXRlKGRlKXt0aGlzLiNnPWRlfSNiPShyYSh0aGlzLHRlKSxyYSh0aGlzLE9lLDFlMykpO2dldCBtZW51WkluZGV4KCl7cmV0dXJuIHRoaXMuI2J9c2V0IG1lbnVaSW5kZXgoZGUpe3RoaXMuI2I9ZGV9I3Y9KHJhKHRoaXMscWUpLHJhKHRoaXMsJGUsITEpKTtnZXQgdmlzaWJsZSgpe3JldHVybiB0aGlzLiN2fXNldCB2aXNpYmxlKGRlKXt0aGlzLiN2PWRlfXdpbmRvd0xheWVyPShyYSh0aGlzLENlKSxudWxsKTtpc0Rlc3Ryb3lpbmc9ITE7c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgaGVpZ2h0OiAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAqIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuY2FsZW5kYXItcG9wdXAgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00cHgpOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMjQgNzEuNCUgNC4xJSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICAgIGJveC1zaGFkb3c6ICR7aC5iZFRoZW1lKCIwIDEwcHggMTVweCAtM3B4IGhzbCgwIDAlIDAlIC8gMC4xKSwgMCA0cHggNnB4IC00cHggaHNsKDAgMCUgMCUgLyAwLjEpIiwiMCAxMHB4IDE1cHggLTNweCBoc2woMCAwJSAwJSAvIDAuMiksIDAgNHB4IDZweCAtNHB4IGhzbCgwIDAlIDAlIC8gMC4yKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBtaW4td2lkdGg6IDI4MHB4OwogICAgICB9CgogICAgICAuY2FsZW5kYXItcG9wdXAudG9wIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNHB4KTsKICAgICAgfQoKICAgICAgLmNhbGVuZGFyLXBvcHVwLnNob3cgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAvKiBDYWxlbmRhciBIZWFkZXIgKi8KICAgICAgLmNhbGVuZGFyLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAubW9udGgteWVhci1kaXNwbGF5IHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjQgNzEuNCUgNC4xJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CgogICAgICAubmF2LWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDI4cHg7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICB9CgogICAgICAubmF2LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjQgNzEuNCUgNC4xJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICB9CgogICAgICAvKiBXZWVrZGF5IGhlYWRlcnMgKi8KICAgICAgLndlZWtkYXlzIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDcsIDFmcik7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICAud2Vla2RheSB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIHBhZGRpbmc6IDAgMCA4cHggMDsKICAgICAgfQoKICAgICAgLyogRGF5cyBncmlkICovCiAgICAgIC5kYXlzLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNywgMWZyKTsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLmRheSB7CiAgICAgICAgYXNwZWN0LXJhdGlvOiAxOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyNCA3MS40JSA0LjElKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIHdpZHRoOiAzNnB4OwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5kYXk6aG92ZXI6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIxNSAyNy45JSAxNi45JSkiKX07CiAgICAgIH0KCiAgICAgIC5kYXkub3RoZXItbW9udGggewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLmRheS50b2RheSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuZGF5LnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDExLjIlKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIyMi4yIDQ3LjQlIDExLjIlKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuZGF5LmRpc2FibGVkIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjAgOC45JSA0Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIG9wYWNpdHk6IDAuMzsKICAgICAgfQoKICAgICAgLyogRXZlbnQgaW5kaWNhdG9ycyAqLwogICAgICAuZXZlbnQtaW5kaWNhdG9yIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiA0cHg7CiAgICAgICAgbGVmdDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAuZXZlbnQtZG90IHsKICAgICAgICB3aWR0aDogNHB4OwogICAgICAgIGhlaWdodDogNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAuZXZlbnQtZG90LmluZm8geyBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMSA3MCUgNTIlKSIsImhzbCgyMTEgNzAlIDYyJSkiKX07IH0KICAgICAgLmV2ZW50LWRvdC53YXJuaW5nIHsgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCg0NSA5MCUgNDUlKSIsImhzbCg0NSA5MCUgNTUlKSIpfTsgfQogICAgICAuZXZlbnQtZG90LnN1Y2Nlc3MgeyBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDE0MiA2OSUgNDUlKSIsImhzbCgxNDIgNjklIDU1JSkiKX07IH0KICAgICAgLmV2ZW50LWRvdC5lcnJvciB7IGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MiUgNTElKSIsImhzbCgwIDcyJSA2MSUpIil9OyB9CgogICAgICAuZXZlbnQtY291bnQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDJweDsKICAgICAgICByaWdodDogMnB4OwogICAgICAgIG1pbi13aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMCA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDcyJSA1MSUpIiwiaHNsKDAgNzIlIDYxJSkiKX07CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5ldmVudC10b29sdGlwIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgKyA4cHgpOwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAwJSkiKX07CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgIH0KCiAgICAgIC5kYXkuaGFzLWV2ZW50OmhvdmVyIC5ldmVudC10b29sdGlwIHsgb3BhY2l0eTogMTsgfQoKICAgICAgLyogVGltZSBzZWxlY3RvciAqLwogICAgICAudGltZS1zZWxlY3RvciB7CiAgICAgICAgbWFyZ2luLXRvcDogMTJweDsKICAgICAgICBwYWRkaW5nLXRvcDogMTJweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICB9CgogICAgICAudGltZS1zZWxlY3Rvci10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAudGltZS1pbnB1dHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLnRpbWUtaW5wdXQgewogICAgICAgIHdpZHRoOiA2NXB4OwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMjQgNzEuNCUgNC4xJSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjI0IDcxLjQlIDQuMSUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICB9CgogICAgICAudGltZS1pbnB1dDpmb2N1cyB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgMTEuMiUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSAxMS4yJSAvIDAuMSkiLCJoc2woMjEwIDIwJSA5OCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAudGltZS1zZXBhcmF0b3IgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAuYW0tcG0tc2VsZWN0b3IgeyBkaXNwbGF5OiBmbGV4OyBnYXA6IDRweDsgbWFyZ2luLWxlZnQ6IDhweDsgfQoKICAgICAgLmFtLXBtLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMjQgNzEuNCUgNC4xJSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAuYW0tcG0tYnV0dG9uLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDExLjIlKSIsImhzbCgyMTAgMjAlIDk4JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDIwJSA5OCUpIiwiaHNsKDIyMi4yIDQ3LjQlIDExLjIlKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgMTEuMiUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgLmFtLXBtLWJ1dHRvbjpob3Zlcjpub3QoLnNlbGVjdGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMjAlIDk4JSkiLCJoc2woMjE1IDI3LjklIDE2LjklKSIpfTsKICAgICAgfQoKICAgICAgLyogVGltZXpvbmUgc2VsZWN0b3IgKi8KICAgICAgLnRpbWV6b25lLXNlbGVjdG9yIHsKICAgICAgICBtYXJnaW4tdG9wOiAxMnB4OwogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTcuMiAzMi42JSAxNy41JSkiKX07CiAgICAgIH0KCiAgICAgIC50aW1lem9uZS1zZWxlY3Rvci10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMCA4LjklIDQ2LjElKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICB9CgogICAgICAudGltZXpvbmUtc2VsZWN0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE3LjIgMzIuNiUgMTcuNSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMjQgNzEuNCUgNC4xJSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjI0IDcxLjQlIDQuMSUpIiwiaHNsKDIxMCAyMCUgOTglKSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC8qIEFjdGlvbiBidXR0b25zICovCiAgICAgIC5jYWxlbmRhci1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAudG9kYXktYnV0dG9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjI0IDcxLjQlIDQuMSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNy4yIDMyLjYlIDE3LjUlKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjQgNzEuNCUgNC4xJSkiLCJoc2woMjEwIDIwJSA5OCUpIil9OwogICAgICB9CgogICAgICAudG9kYXktYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCAyMCUgOTglKSIsImhzbCgyMTUgMjcuOSUgMTYuOSUpIil9OwogICAgICB9CgogICAgICAuY2xlYXItYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIwIDguOSUgNDYuMSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC5jbGVhci1hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUgLyAwLjEpIiwiaHNsKDAgNjIuOCUgMzAuNiUgLyAwLjEpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUpIiwiaHNsKDAgNjIuOCUgMzAuNiUpIil9OwogICAgICB9CiAgICBgXTtzdGF0aWMgTU9OVEhfTkFNRVM9WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdO3N0YXRpYyBUSU1FWk9ORVM9W3t2YWx1ZToiVVRDIixsYWJlbDoiVVRDIChDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZSkifSx7dmFsdWU6IkFtZXJpY2EvTmV3X1lvcmsiLGxhYmVsOiJFYXN0ZXJuIFRpbWUgKFVTICYgQ2FuYWRhKSJ9LHt2YWx1ZToiQW1lcmljYS9DaGljYWdvIixsYWJlbDoiQ2VudHJhbCBUaW1lIChVUyAmIENhbmFkYSkifSx7dmFsdWU6IkFtZXJpY2EvRGVudmVyIixsYWJlbDoiTW91bnRhaW4gVGltZSAoVVMgJiBDYW5hZGEpIn0se3ZhbHVlOiJBbWVyaWNhL0xvc19BbmdlbGVzIixsYWJlbDoiUGFjaWZpYyBUaW1lIChVUyAmIENhbmFkYSkifSx7dmFsdWU6IkV1cm9wZS9Mb25kb24iLGxhYmVsOiJMb25kb24ifSx7dmFsdWU6IkV1cm9wZS9QYXJpcyIsbGFiZWw6IlBhcmlzIn0se3ZhbHVlOiJFdXJvcGUvQmVybGluIixsYWJlbDoiQmVybGluIn0se3ZhbHVlOiJFdXJvcGUvTW9zY293IixsYWJlbDoiTW9zY293In0se3ZhbHVlOiJBc2lhL0R1YmFpIixsYWJlbDoiRHViYWkifSx7dmFsdWU6IkFzaWEvS29sa2F0YSIsbGFiZWw6IkluZGlhIFN0YW5kYXJkIFRpbWUifSx7dmFsdWU6IkFzaWEvU2hhbmdoYWkiLGxhYmVsOiJDaGluYSBTdGFuZGFyZCBUaW1lIn0se3ZhbHVlOiJBc2lhL1Rva3lvIixsYWJlbDoiVG9reW8ifSx7dmFsdWU6IkF1c3RyYWxpYS9TeWRuZXkiLGxhYmVsOiJTeWRuZXkifSx7dmFsdWU6IlBhY2lmaWMvQXVja2xhbmQiLGxhYmVsOiJBdWNrbGFuZCJ9XTtyZW5kZXIoKXtpZighdGhpcy50cmlnZ2VyUmVjdClyZXR1cm4gd2BgO2xldCBkZT10aGlzLmNvbXB1dGVQb3NpdGlvblN0eWxlKCksdmU9dGhpcy53ZWVrU3RhcnRzT249PT0xP1siTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIiwiU3UiXTpbIlN1IiwiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIl0sQWU9dGhpcy5nZXREYXlzSW5Nb250aCgpLEtlPXRoaXMuc2VsZWN0ZWRIb3VyPDEyO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImNhbGVuZGFyLXBvcHVwICR7dGhpcy52aXNpYmxlPyJzaG93IjoiIn0gJHt0aGlzLm9wZW5zVG9Ub3A/InRvcCI6ImJvdHRvbSJ9IgogICAgICAgIHN0eWxlPSIke2RlfTsgei1pbmRleDogJHt0aGlzLm1lbnVaSW5kZXh9OyIKICAgICAgPgogICAgICAgIDxkaXYgY2xhc3M9ImNhbGVuZGFyLWhlYWRlciI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJuYXYtYnV0dG9uIiBAY2xpY2s9JHt0aGlzLnByZXZpb3VzTW9udGh9PgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpjaGV2cm9uTGVmdCIgaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPGRpdiBjbGFzcz0ibW9udGgteWVhci1kaXNwbGF5Ij4KICAgICAgICAgICAgJHtNZS5NT05USF9OQU1FU1t0aGlzLnZpZXdEYXRlLmdldE1vbnRoKCldfSAke3RoaXMudmlld0RhdGUuZ2V0RnVsbFllYXIoKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0ibmF2LWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5uZXh0TW9udGh9PgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpjaGV2cm9uUmlnaHQiIGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0id2Vla2RheXMiPgogICAgICAgICAgJHt2ZS5tYXAobnQ9PndgPGRpdiBjbGFzcz0id2Vla2RheSI+JHtudH08L2Rpdj5gKX0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iZGF5cy1ncmlkIj4KICAgICAgICAgICR7QWUubWFwKG50PT57bGV0IFN0PXRoaXMuaXNUb2RheShudCksVGU9dGhpcy5pc1NlbGVjdGVkKG50KSx3ZT1udC5nZXRNb250aCgpIT09dGhpcy52aWV3RGF0ZS5nZXRNb250aCgpLFJlPXRoaXMuaXNEYXlEaXNhYmxlZChudCksZmU9dGhpcy5nZXRFdmVudHNGb3JEYXRlKG50KSxiZT1mZS5sZW5ndGg+MCxQZT1mZS5yZWR1Y2UoKHB0LG10KT0+cHQrKG10LmNvdW50fHwxKSwwKTtyZXR1cm4gd2AKICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICBjbGFzcz0iZGF5ICR7d2U/Im90aGVyLW1vbnRoIjoiIn0gJHtTdD8idG9kYXkiOiIifSAke1RlPyJzZWxlY3RlZCI6IiJ9ICR7UmU/ImRpc2FibGVkIjoiIn0gJHtiZT8iaGFzLWV2ZW50IjoiIn0iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+IVJlJiZ0aGlzLmhhbmRsZVNlbGVjdERhdGUobnQpfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICR7bnQuZ2V0RGF0ZSgpfQogICAgICAgICAgICAgICAgJHtiZT93YAogICAgICAgICAgICAgICAgICAke1BlPjM/d2AKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJldmVudC1jb3VudCI+JHtQZX08L2Rpdj4KICAgICAgICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImV2ZW50LWluZGljYXRvciI+CiAgICAgICAgICAgICAgICAgICAgICAke2ZlLnNsaWNlKDAsMykubWFwKHB0PT53YAogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJldmVudC1kb3QgJHtwdC50eXBlfHwiaW5mbyJ9Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICBgfQogICAgICAgICAgICAgICAgICAke2ZlWzBdLnRpdGxlP3dgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXZlbnQtdG9vbHRpcCI+CiAgICAgICAgICAgICAgICAgICAgICAke2ZlWzBdLnRpdGxlfQogICAgICAgICAgICAgICAgICAgICAgJHtQZT4xP3dgICgrJHtQZS0xfSBtb3JlKWA6IiJ9CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgfSl9CiAgICAgICAgPC9kaXY+CgogICAgICAgICR7dGhpcy5lbmFibGVUaW1lP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lLXNlbGVjdG9yIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGltZS1zZWxlY3Rvci10aXRsZSI+VGltZTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lLWlucHV0cyI+CiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9Im51bWJlciIgY2xhc3M9InRpbWUtaW5wdXQiCiAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLnRpbWVGb3JtYXQ9PT0iMTJoIj8odGhpcy5zZWxlY3RlZEhvdXI9PT0wPzEyOnRoaXMuc2VsZWN0ZWRIb3VyPjEyP3RoaXMuc2VsZWN0ZWRIb3VyLTEyOnRoaXMuc2VsZWN0ZWRIb3VyKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKTp0aGlzLnNlbGVjdGVkSG91ci50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlSG91cklucHV0fQogICAgICAgICAgICAgICAgbWluPSIke3RoaXMudGltZUZvcm1hdD09PSIxMmgiPzE6MH0iCiAgICAgICAgICAgICAgICBtYXg9IiR7dGhpcy50aW1lRm9ybWF0PT09IjEyaCI/MTI6MjN9IgogICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpbWUtc2VwYXJhdG9yIj46PC9zcGFuPgogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIGNsYXNzPSJ0aW1lLWlucHV0IgogICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5zZWxlY3RlZE1pbnV0ZS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlTWludXRlSW5wdXR9CiAgICAgICAgICAgICAgICBtaW49IjAiIG1heD0iNTkiIHN0ZXA9IiR7dGhpcy5taW51dGVJbmNyZW1lbnR8fDF9IgogICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgJHt0aGlzLnRpbWVGb3JtYXQ9PT0iMTJoIj93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW0tcG0tc2VsZWN0b3IiPgogICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhbS1wbS1idXR0b24gJHtLZT8ic2VsZWN0ZWQiOiIifSIgQGNsaWNrPSR7KCk9PnRoaXMuc2V0QU1QTSgiYW0iKX0+QU08L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYW0tcG0tYnV0dG9uICR7S2U/IiI6InNlbGVjdGVkIn0iIEBjbGljaz0keygpPT50aGlzLnNldEFNUE0oInBtIil9PlBNPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgICR7dGhpcy5lbmFibGVUaW1lem9uZT93YAogICAgICAgICAgPGRpdiBjbGFzcz0idGltZXpvbmUtc2VsZWN0b3IiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aW1lem9uZS1zZWxlY3Rvci10aXRsZSI+VGltZXpvbmU8L2Rpdj4KICAgICAgICAgICAgPHNlbGVjdCBjbGFzcz0idGltZXpvbmUtc2VsZWN0IiAudmFsdWU9JHt0aGlzLnRpbWV6b25lfSBAY2hhbmdlPSR7dGhpcy5oYW5kbGVUaW1lem9uZUNoYW5nZX0+CiAgICAgICAgICAgICAgJHtNZS5USU1FWk9ORVMubWFwKG50PT53YAogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iJHtudC52YWx1ZX0iID9zZWxlY3RlZD0ke250LnZhbHVlPT09dGhpcy50aW1lem9uZX0+JHtudC5sYWJlbH08L29wdGlvbj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICA8ZGl2IGNsYXNzPSJjYWxlbmRhci1hY3Rpb25zIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gdG9kYXktYnV0dG9uIiBAY2xpY2s9JHt0aGlzLmhhbmRsZVNlbGVjdFRvZGF5fT5Ub2RheTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBjbGVhci1hY3Rpb24tYnV0dG9uIiBAY2xpY2s9JHt0aGlzLmhhbmRsZUNsZWFyfT5DbGVhcjwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Y29tcHV0ZVBvc2l0aW9uU3R5bGUoKXtsZXQgZGU9dGhpcy50cmlnZ2VyUmVjdCx2ZT1kZS5sZWZ0O2lmKHRoaXMub3BlbnNUb1RvcCl7bGV0IEFlPXdpbmRvdy5pbm5lckhlaWdodC1kZS50b3ArNDtyZXR1cm5gbGVmdDogJHt2ZX1weDsgYm90dG9tOiAke0FlfXB4OyB0b3A6IGF1dG9gfWVsc2V7bGV0IEFlPWRlLmJvdHRvbSs0O3JldHVybmBsZWZ0OiAke3ZlfXB4OyB0b3A6ICR7QWV9cHhgfX1nZXREYXlzSW5Nb250aCgpe2xldCBkZT10aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCksdmU9dGhpcy52aWV3RGF0ZS5nZXRNb250aCgpLEFlPW5ldyBEYXRlKGRlLHZlLDEpLEtlPW5ldyBEYXRlKGRlLHZlKzEsMCksbnQ9W10sU3Q9dGhpcy53ZWVrU3RhcnRzT249PT0xP0FlLmdldERheSgpPT09MD82OkFlLmdldERheSgpLTE6QWUuZ2V0RGF5KCk7Zm9yKGxldCB3ZT1TdDt3ZT4wO3dlLS0pbnQucHVzaChuZXcgRGF0ZShkZSx2ZSwxLXdlKSk7Zm9yKGxldCB3ZT0xO3dlPD1LZS5nZXREYXRlKCk7d2UrKyludC5wdXNoKG5ldyBEYXRlKGRlLHZlLHdlKSk7bGV0IFRlPTQyLW50Lmxlbmd0aDtmb3IobGV0IHdlPTE7d2U8PVRlO3dlKyspbnQucHVzaChuZXcgRGF0ZShkZSx2ZSsxLHdlKSk7cmV0dXJuIG50fWlzVG9kYXkoZGUpe2xldCB2ZT1uZXcgRGF0ZTtyZXR1cm4gZGUuZ2V0RGF0ZSgpPT09dmUuZ2V0RGF0ZSgpJiZkZS5nZXRNb250aCgpPT09dmUuZ2V0TW9udGgoKSYmZGUuZ2V0RnVsbFllYXIoKT09PXZlLmdldEZ1bGxZZWFyKCl9aXNTZWxlY3RlZChkZSl7cmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlP2RlLmdldERhdGUoKT09PXRoaXMuc2VsZWN0ZWREYXRlLmdldERhdGUoKSYmZGUuZ2V0TW9udGgoKT09PXRoaXMuc2VsZWN0ZWREYXRlLmdldE1vbnRoKCkmJmRlLmdldEZ1bGxZZWFyKCk9PT10aGlzLnNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpOiExfWlzRGF5RGlzYWJsZWQoZGUpe2lmKHRoaXMubWluRGF0ZSl7bGV0IHZlPW5ldyBEYXRlKHRoaXMubWluRGF0ZSk7aWYoZGU8dmUpcmV0dXJuITB9aWYodGhpcy5tYXhEYXRlKXtsZXQgdmU9bmV3IERhdGUodGhpcy5tYXhEYXRlKTtpZihkZT52ZSlyZXR1cm4hMH1yZXR1cm4gdGhpcy5kaXNhYmxlZERhdGVzPy5sZW5ndGg/dGhpcy5kaXNhYmxlZERhdGVzLnNvbWUodmU9Pnt0cnl7bGV0IEFlPW5ldyBEYXRlKHZlKTtyZXR1cm4gZGUuZ2V0RGF0ZSgpPT09QWUuZ2V0RGF0ZSgpJiZkZS5nZXRNb250aCgpPT09QWUuZ2V0TW9udGgoKSYmZGUuZ2V0RnVsbFllYXIoKT09PUFlLmdldEZ1bGxZZWFyKCl9Y2F0Y2h7cmV0dXJuITF9fSk6ITF9Z2V0RXZlbnRzRm9yRGF0ZShkZSl7aWYoIXRoaXMuZXZlbnRzPy5sZW5ndGgpcmV0dXJuW107bGV0IHZlPWAke2RlLmdldEZ1bGxZZWFyKCl9LSR7KGRlLmdldE1vbnRoKCkrMSkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9LSR7ZGUuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWA7cmV0dXJuIHRoaXMuZXZlbnRzLmZpbHRlcihBZT0+QWUuZGF0ZT09PXZlKX1wcmV2aW91c01vbnRoKCl7dGhpcy52aWV3RGF0ZT1uZXcgRGF0ZSh0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCksdGhpcy52aWV3RGF0ZS5nZXRNb250aCgpLTEsMSl9bmV4dE1vbnRoKCl7dGhpcy52aWV3RGF0ZT1uZXcgRGF0ZSh0aGlzLnZpZXdEYXRlLmdldEZ1bGxZZWFyKCksdGhpcy52aWV3RGF0ZS5nZXRNb250aCgpKzEsMSl9aGFuZGxlU2VsZWN0RGF0ZShkZSl7dGhpcy5zZWxlY3RlZERhdGU9bmV3IERhdGUoZGUuZ2V0RnVsbFllYXIoKSxkZS5nZXRNb250aCgpLGRlLmdldERhdGUoKSx0aGlzLnNlbGVjdGVkSG91cix0aGlzLnNlbGVjdGVkTWludXRlKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkYXRlLXNlbGVjdGVkIix7ZGV0YWlsOnRoaXMuc2VsZWN0ZWREYXRlfSkpLHRoaXMuZW5hYmxlVGltZXx8dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2xvc2UtcmVxdWVzdCIpKX1oYW5kbGVTZWxlY3RUb2RheSgpe2xldCBkZT1uZXcgRGF0ZTt0aGlzLnNlbGVjdGVkRGF0ZT1kZSx0aGlzLnZpZXdEYXRlPW5ldyBEYXRlKGRlKSx0aGlzLnNlbGVjdGVkSG91cj1kZS5nZXRIb3VycygpLHRoaXMuc2VsZWN0ZWRNaW51dGU9ZGUuZ2V0TWludXRlcygpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRhdGUtc2VsZWN0ZWQiLHtkZXRhaWw6dGhpcy5zZWxlY3RlZERhdGV9KSksdGhpcy5lbmFibGVUaW1lfHx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjbG9zZS1yZXF1ZXN0IikpfWhhbmRsZUNsZWFyKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGF0ZS1jbGVhcmVkIikpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNsb3NlLXJlcXVlc3QiKSl9aGFuZGxlSG91cklucHV0PXMoZGU9PntsZXQgdmU9ZGUudGFyZ2V0LEFlPXBhcnNlSW50KHZlLnZhbHVlKXx8MDt0aGlzLnRpbWVGb3JtYXQ9PT0iMTJoIj8oQWU9TWF0aC5tYXgoMSxNYXRoLm1pbigxMixBZSkpLHRoaXMuc2VsZWN0ZWRIb3VyPj0xMiYmQWUhPT0xMj90aGlzLnNlbGVjdGVkSG91cj1BZSsxMjp0aGlzLnNlbGVjdGVkSG91cjwxMiYmQWU9PT0xMj90aGlzLnNlbGVjdGVkSG91cj0wOnRoaXMuc2VsZWN0ZWRIb3VyPUFlKTp0aGlzLnNlbGVjdGVkSG91cj1NYXRoLm1heCgwLE1hdGgubWluKDIzLEFlKSksdGhpcy5lbWl0VGltZVVwZGF0ZSgpfSwiaGFuZGxlSG91cklucHV0Iik7aGFuZGxlTWludXRlSW5wdXQ9cyhkZT0+e2xldCB2ZT1kZS50YXJnZXQsQWU9cGFyc2VJbnQodmUudmFsdWUpfHwwO0FlPU1hdGgubWF4KDAsTWF0aC5taW4oNTksQWUpKSx0aGlzLm1pbnV0ZUluY3JlbWVudD4xJiYoQWU9TWF0aC5yb3VuZChBZS90aGlzLm1pbnV0ZUluY3JlbWVudCkqdGhpcy5taW51dGVJbmNyZW1lbnQpLHRoaXMuc2VsZWN0ZWRNaW51dGU9QWUsdGhpcy5lbWl0VGltZVVwZGF0ZSgpfSwiaGFuZGxlTWludXRlSW5wdXQiKTtzZXRBTVBNKGRlKXtkZT09PSJhbSImJnRoaXMuc2VsZWN0ZWRIb3VyPj0xMj90aGlzLnNlbGVjdGVkSG91ci09MTI6ZGU9PT0icG0iJiZ0aGlzLnNlbGVjdGVkSG91cjwxMiYmKHRoaXMuc2VsZWN0ZWRIb3VyKz0xMiksdGhpcy5lbWl0VGltZVVwZGF0ZSgpfWhhbmRsZVRpbWV6b25lQ2hhbmdlPXMoZGU9Pnt0aGlzLnRpbWV6b25lPWRlLnRhcmdldC52YWx1ZSx0aGlzLmVtaXRUaW1lVXBkYXRlKCl9LCJoYW5kbGVUaW1lem9uZUNoYW5nZSIpO2VtaXRUaW1lVXBkYXRlKCl7dGhpcy5zZWxlY3RlZERhdGUmJih0aGlzLnNlbGVjdGVkRGF0ZT1uZXcgRGF0ZSh0aGlzLnNlbGVjdGVkRGF0ZS5nZXRGdWxsWWVhcigpLHRoaXMuc2VsZWN0ZWREYXRlLmdldE1vbnRoKCksdGhpcy5zZWxlY3RlZERhdGUuZ2V0RGF0ZSgpLHRoaXMuc2VsZWN0ZWRIb3VyLHRoaXMuc2VsZWN0ZWRNaW51dGUpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRhdGUtc2VsZWN0ZWQiLHtkZXRhaWw6dGhpcy5zZWxlY3RlZERhdGV9KSkpfWFzeW5jIHNob3coKXt0aGlzLndpbmRvd0xheWVyPWF3YWl0IGpzLmNyZWF0ZUFuZFNob3coKSx0aGlzLndpbmRvd0xheWVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNsb3NlLXJlcXVlc3QiKSl9KSx0aGlzLm1lbnVaSW5kZXg9WnQuZ2V0TmV4dFpJbmRleCgpLFp0LnJlZ2lzdGVyKHRoaXMsdGhpcy5tZW51WkluZGV4KSx0aGlzLnN0eWxlLnpJbmRleD10aGlzLm1lbnVaSW5kZXgudG9TdHJpbmcoKSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRoaXMpLGF3YWl0IEJ0LnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCksdGhpcy52aXNpYmxlPSEwLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuaGFuZGxlU2Nyb2xsT3JSZXNpemUse2NhcHR1cmU6ITAscGFzc2l2ZTohMH0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuaGFuZGxlU2Nyb2xsT3JSZXNpemUse3Bhc3NpdmU6ITB9KX1hc3luYyBoaWRlKCl7dGhpcy5pc0Rlc3Ryb3lpbmd8fCh0aGlzLmlzRGVzdHJveWluZz0hMCx3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLmhhbmRsZVNjcm9sbE9yUmVzaXplLHtjYXB0dXJlOiEwfSksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5oYW5kbGVTY3JvbGxPclJlc2l6ZSksWnQudW5yZWdpc3Rlcih0aGlzKSx0aGlzLndpbmRvd0xheWVyJiYodGhpcy53aW5kb3dMYXllci5kZXN0cm95KCksdGhpcy53aW5kb3dMYXllcj1udWxsKSx0aGlzLnZpc2libGU9ITEsYXdhaXQgQnQuc21hcnRkZWxheS5kZWxheUZvcigxNTApLHRoaXMucGFyZW50RWxlbWVudCYmdGhpcy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMpLHRoaXMuaXNEZXN0cm95aW5nPSExKX1oYW5kbGVTY3JvbGxPclJlc2l6ZT1zKCgpPT57dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicmVwb3NpdGlvbi1yZXF1ZXN0IikpfSwiaGFuZGxlU2Nyb2xsT3JSZXNpemUiKTthc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5oYW5kbGVTY3JvbGxPclJlc2l6ZSx7Y2FwdHVyZTohMH0pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuaGFuZGxlU2Nyb2xsT3JSZXNpemUpLFp0LnVucmVnaXN0ZXIodGhpcyl9c3RhdGlje3JhKHIsdCl9fTtyZXR1cm4gTWU9cn0pKCl9KTt2YXIgRHMseGEsYWFlLElZZT1mKCgpPT57bGUoKTtTcigpO3ZzYSgpO3lzYSgpO01zYSgpO05ZZSgpO3ZhKCk7b20oKTtEcz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0seGE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGFhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtZGF0ZXBpY2tlciIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdLFAsQT1bXSxGPVtdLFcsaj1bXSxHPVtdLGhlLFI9W10sVT1bXSxtZSxJPVtdLHE9W10sY2UsdWU9W10sWT1bXSxYLEo9W10sWj1bXSxnZSxhZT1bXSxyZT1bXSx5ZSxWPVtdLEg9W10sb2Usc2U9W10sdGU9W10semUsT2U9W10scWU9W107dmFyIGN0PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXREYXRlcGlja2VyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0ICRlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6Qm9vbGVhbn0pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOk51bWJlcn0pXSx5PVskKHt0eXBlOlN0cmluZ30pXSxOPVskKHt0eXBlOlN0cmluZ30pXSxPPVskKHt0eXBlOlN0cmluZ30pXSxCPVskKHt0eXBlOkFycmF5fSldLFA9WyQoe3R5cGU6TnVtYmVyfSldLFc9WyQoe3R5cGU6U3RyaW5nfSldLGhlPVskKHt0eXBlOkJvb2xlYW59KV0sbWU9WyQoe3R5cGU6U3RyaW5nfSldLGNlPVskKHt0eXBlOkFycmF5fSldLFg9W0soKV0sZ2U9W0soKV0seWU9W0soKV0sb2U9W0soKV0semU9W0soKV0sRHModGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+InZhbHVlImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2UudmFsdWUsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS52YWx1ZT1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sbixsKSxEcyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVuYWJsZVRpbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQ2U9PiJlbmFibGVUaW1lImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2UuZW5hYmxlVGltZSwiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLmVuYWJsZVRpbWU9TWV9LCJzZXQiKX0sbWV0YWRhdGE6JGV9LGMscCksRHModGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aW1lRm9ybWF0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKENlPT4idGltZUZvcm1hdCJpbiBDZSwiaGFzIiksZ2V0OnMoQ2U9PkNlLnRpbWVGb3JtYXQsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS50aW1lRm9ybWF0PU1lfSwic2V0Iil9LG1ldGFkYXRhOiRlfSxtLHYpLERzKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWludXRlSW5jcmVtZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKENlPT4ibWludXRlSW5jcmVtZW50ImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2UubWludXRlSW5jcmVtZW50LCJnZXQiKSxzZXQ6cygoQ2UsTWUpPT57Q2UubWludXRlSW5jcmVtZW50PU1lfSwic2V0Iil9LG1ldGFkYXRhOiRlfSxiLGcpLERzKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0ZUZvcm1hdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+ImRhdGVGb3JtYXQiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS5kYXRlRm9ybWF0LCJnZXQiKSxzZXQ6cygoQ2UsTWUpPT57Q2UuZGF0ZUZvcm1hdD1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sayxDKSxEcyh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1pbkRhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQ2U9PiJtaW5EYXRlImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2UubWluRGF0ZSwiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLm1pbkRhdGU9TWV9LCJzZXQiKX0sbWV0YWRhdGE6JGV9LF8seiksRHModGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXhEYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKENlPT4ibWF4RGF0ZSJpbiBDZSwiaGFzIiksZ2V0OnMoQ2U9PkNlLm1heERhdGUsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS5tYXhEYXRlPU1lfSwic2V0Iil9LG1ldGFkYXRhOiRlfSxULEUpLERzKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGlzYWJsZWREYXRlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+ImRpc2FibGVkRGF0ZXMiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS5kaXNhYmxlZERhdGVzLCJnZXQiKSxzZXQ6cygoQ2UsTWUpPT57Q2UuZGlzYWJsZWREYXRlcz1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sTSxTKSxEcyh0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndlZWtTdGFydHNPbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+IndlZWtTdGFydHNPbiJpbiBDZSwiaGFzIiksZ2V0OnMoQ2U9PkNlLndlZWtTdGFydHNPbiwiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLndlZWtTdGFydHNPbj1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sQSxGKSxEcyh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKENlPT4icGxhY2Vob2xkZXIiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS5wbGFjZWhvbGRlciwiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLnBsYWNlaG9sZGVyPU1lfSwic2V0Iil9LG1ldGFkYXRhOiRlfSxqLEcpLERzKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVuYWJsZVRpbWV6b25lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKENlPT4iZW5hYmxlVGltZXpvbmUiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS5lbmFibGVUaW1lem9uZSwiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLmVuYWJsZVRpbWV6b25lPU1lfSwic2V0Iil9LG1ldGFkYXRhOiRlfSxSLFUpLERzKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpbWV6b25lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKENlPT4idGltZXpvbmUiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS50aW1lem9uZSwiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLnRpbWV6b25lPU1lfSwic2V0Iil9LG1ldGFkYXRhOiRlfSxJLHEpLERzKHRoaXMsbnVsbCxjZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV2ZW50cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+ImV2ZW50cyJpbiBDZSwiaGFzIiksZ2V0OnMoQ2U9PkNlLmV2ZW50cywiZ2V0Iiksc2V0OnMoKENlLE1lKT0+e0NlLmV2ZW50cz1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sdWUsWSksRHModGhpcyxudWxsLFgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc09wZW5lZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+ImlzT3BlbmVkImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2UuaXNPcGVuZWQsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS5pc09wZW5lZD1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sSixaKSxEcyh0aGlzLG51bGwsZ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZERhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQ2U9PiJzZWxlY3RlZERhdGUiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS5zZWxlY3RlZERhdGUsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS5zZWxlY3RlZERhdGU9TWV9LCJzZXQiKX0sbWV0YWRhdGE6JGV9LGFlLHJlKSxEcyh0aGlzLG51bGwseWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aWV3RGF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+InZpZXdEYXRlImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2Uudmlld0RhdGUsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS52aWV3RGF0ZT1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sVixIKSxEcyh0aGlzLG51bGwsb2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZEhvdXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQ2U9PiJzZWxlY3RlZEhvdXIiaW4gQ2UsImhhcyIpLGdldDpzKENlPT5DZS5zZWxlY3RlZEhvdXIsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS5zZWxlY3RlZEhvdXI9TWV9LCJzZXQiKX0sbWV0YWRhdGE6JGV9LHNlLHRlKSxEcyh0aGlzLG51bGwsemUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZE1pbnV0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDZT0+InNlbGVjdGVkTWludXRlImluIENlLCJoYXMiKSxnZXQ6cyhDZT0+Q2Uuc2VsZWN0ZWRNaW51dGUsImdldCIpLHNldDpzKChDZSxNZSk9PntDZS5zZWxlY3RlZE1pbnV0ZT1NZX0sInNldCIpfSxtZXRhZGF0YTokZX0sT2UscWUpLERzKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOiRlfSxudWxsLHQpLGN0PXI9ZS52YWx1ZSwkZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTokZX0pfXN0YXRpYyBkZW1vPWJzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9eGEodGhpcyxuLCIiKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoJGUpe3RoaXMuI2U9JGV9I3Q9KHhhKHRoaXMsbCkseGEodGhpcyxjLCExKSk7Z2V0IGVuYWJsZVRpbWUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgZW5hYmxlVGltZSgkZSl7dGhpcy4jdD0kZX0jYT0oeGEodGhpcyxwKSx4YSh0aGlzLG0sIjI0aCIpKTtnZXQgdGltZUZvcm1hdCgpe3JldHVybiB0aGlzLiNhfXNldCB0aW1lRm9ybWF0KCRlKXt0aGlzLiNhPSRlfSNyPSh4YSh0aGlzLHYpLHhhKHRoaXMsYiwxKSk7Z2V0IG1pbnV0ZUluY3JlbWVudCgpe3JldHVybiB0aGlzLiNyfXNldCBtaW51dGVJbmNyZW1lbnQoJGUpe3RoaXMuI3I9JGV9I3M9KHhhKHRoaXMsZykseGEodGhpcyxrLCJZWVlZLU1NLUREIikpO2dldCBkYXRlRm9ybWF0KCl7cmV0dXJuIHRoaXMuI3N9c2V0IGRhdGVGb3JtYXQoJGUpe3RoaXMuI3M9JGV9I2k9KHhhKHRoaXMsQykseGEodGhpcyxfLCIiKSk7Z2V0IG1pbkRhdGUoKXtyZXR1cm4gdGhpcy4jaX1zZXQgbWluRGF0ZSgkZSl7dGhpcy4jaT0kZX0jbz0oeGEodGhpcyx6KSx4YSh0aGlzLFQsIiIpKTtnZXQgbWF4RGF0ZSgpe3JldHVybiB0aGlzLiNvfXNldCBtYXhEYXRlKCRlKXt0aGlzLiNvPSRlfSNuPSh4YSh0aGlzLEUpLHhhKHRoaXMsTSxbXSkpO2dldCBkaXNhYmxlZERhdGVzKCl7cmV0dXJuIHRoaXMuI259c2V0IGRpc2FibGVkRGF0ZXMoJGUpe3RoaXMuI249JGV9I2w9KHhhKHRoaXMsUykseGEodGhpcyxBLDEpKTtnZXQgd2Vla1N0YXJ0c09uKCl7cmV0dXJuIHRoaXMuI2x9c2V0IHdlZWtTdGFydHNPbigkZSl7dGhpcy4jbD0kZX0jYz0oeGEodGhpcyxGKSx4YSh0aGlzLGosIllZWVktTU0tREQiKSk7Z2V0IHBsYWNlaG9sZGVyKCl7cmV0dXJuIHRoaXMuI2N9c2V0IHBsYWNlaG9sZGVyKCRlKXt0aGlzLiNjPSRlfSNkPSh4YSh0aGlzLEcpLHhhKHRoaXMsUiwhMSkpO2dldCBlbmFibGVUaW1lem9uZSgpe3JldHVybiB0aGlzLiNkfXNldCBlbmFibGVUaW1lem9uZSgkZSl7dGhpcy4jZD0kZX0jdT0oeGEodGhpcyxVKSx4YSh0aGlzLEksSW50bC5EYXRlVGltZUZvcm1hdCgpLnJlc29sdmVkT3B0aW9ucygpLnRpbWVab25lKSk7Z2V0IHRpbWV6b25lKCl7cmV0dXJuIHRoaXMuI3V9c2V0IHRpbWV6b25lKCRlKXt0aGlzLiN1PSRlfSNwPSh4YSh0aGlzLHEpLHhhKHRoaXMsdWUsW10pKTtnZXQgZXZlbnRzKCl7cmV0dXJuIHRoaXMuI3B9c2V0IGV2ZW50cygkZSl7dGhpcy4jcD0kZX0jZj0oeGEodGhpcyxZKSx4YSh0aGlzLEosITEpKTtnZXQgaXNPcGVuZWQoKXtyZXR1cm4gdGhpcy4jZn1zZXQgaXNPcGVuZWQoJGUpe3RoaXMuI2Y9JGV9I2g9KHhhKHRoaXMsWikseGEodGhpcyxhZSxudWxsKSk7Z2V0IHNlbGVjdGVkRGF0ZSgpe3JldHVybiB0aGlzLiNofXNldCBzZWxlY3RlZERhdGUoJGUpe3RoaXMuI2g9JGV9I209KHhhKHRoaXMscmUpLHhhKHRoaXMsVixuZXcgRGF0ZSkpO2dldCB2aWV3RGF0ZSgpe3JldHVybiB0aGlzLiNtfXNldCB2aWV3RGF0ZSgkZSl7dGhpcy4jbT0kZX0jZz0oeGEodGhpcyxIKSx4YSh0aGlzLHNlLDApKTtnZXQgc2VsZWN0ZWRIb3VyKCl7cmV0dXJuIHRoaXMuI2d9c2V0IHNlbGVjdGVkSG91cigkZSl7dGhpcy4jZz0kZX0jYj0oeGEodGhpcyx0ZSkseGEodGhpcyxPZSwwKSk7Z2V0IHNlbGVjdGVkTWludXRlKCl7cmV0dXJuIHRoaXMuI2J9c2V0IHNlbGVjdGVkTWludXRlKCRlKXt0aGlzLiNiPSRlfXBvcHVwSW5zdGFuY2U9KHhhKHRoaXMscWUpLG51bGwpO3N0YXRpYyBzdHlsZXM9eHNhO3JlbmRlcigpe3JldHVybiB3c2EodGhpcyl9YXN5bmMgZmlyc3RVcGRhdGVkKCl7aWYodGhpcy52YWx1ZXx8KHRoaXMudmFsdWU9IiIpLHRoaXMudmFsdWUpdHJ5e2xldCAkZT1uZXcgRGF0ZSh0aGlzLnZhbHVlKTtpc05hTigkZS5nZXRUaW1lKCkpfHwodGhpcy5zZWxlY3RlZERhdGU9JGUsdGhpcy52aWV3RGF0ZT1uZXcgRGF0ZSgkZSksdGhpcy5zZWxlY3RlZEhvdXI9JGUuZ2V0SG91cnMoKSx0aGlzLnNlbGVjdGVkTWludXRlPSRlLmdldE1pbnV0ZXMoKSl9Y2F0Y2h7fWVsc2V7bGV0ICRlPW5ldyBEYXRlO3RoaXMudmlld0RhdGU9bmV3IERhdGUoJGUpLHRoaXMuc2VsZWN0ZWRIb3VyPSRlLmdldEhvdXJzKCksdGhpcy5zZWxlY3RlZE1pbnV0ZT0wfX1mb3JtYXREYXRlKCRlKXtpZighJGUpcmV0dXJuIiI7dHJ5e2xldCBDZT1uZXcgRGF0ZSgkZSk7aWYoaXNOYU4oQ2UuZ2V0VGltZSgpKSlyZXR1cm4iIjtsZXQgTWU9dGhpcy5kYXRlRm9ybWF0LGRlPUNlLmdldERhdGUoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKSx2ZT0oQ2UuZ2V0TW9udGgoKSsxKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKSxBZT1DZS5nZXRGdWxsWWVhcigpLnRvU3RyaW5nKCk7aWYoTWU9TWUucmVwbGFjZSgiWVlZWSIsQWUpLE1lPU1lLnJlcGxhY2UoIllZIixBZS5zbGljZSgtMikpLE1lPU1lLnJlcGxhY2UoIk1NIix2ZSksTWU9TWUucmVwbGFjZSgiREQiLGRlKSx0aGlzLmVuYWJsZVRpbWUpe2xldCBLZT1DZS5nZXRIb3VycygpLG50PUtlPT09MD8xMjpLZT4xMj9LZS0xMjpLZSxTdD1DZS5nZXRNaW51dGVzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIiksVGU9S2U+PTEyPyJQTSI6IkFNIjt0aGlzLnRpbWVGb3JtYXQ9PT0iMTJoIj9NZSs9YCAke250fToke1N0fSAke1RlfWA6TWUrPWAgJHtLZS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX06JHtTdH1gfWlmKHRoaXMuZW5hYmxlVGltZXpvbmUpe2xldCBTdD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCgiZW4tVVMiLHt0aW1lWm9uZU5hbWU6InNob3J0Iix0aW1lWm9uZTp0aGlzLnRpbWV6b25lfSkuZm9ybWF0VG9QYXJ0cyhDZSkuZmluZChUZT0+VGUudHlwZT09PSJ0aW1lWm9uZU5hbWUiKTtTdCYmKE1lKz1gICR7U3QudmFsdWV9YCl9cmV0dXJuIE1lfWNhdGNoe3JldHVybiIifX1hc3luYyB0b2dnbGVDYWxlbmRhcigpe2lmKHRoaXMuZGlzYWJsZWQpcmV0dXJuO2lmKHRoaXMuaXNPcGVuZWQpe3RoaXMuY2xvc2VQb3B1cCgpO3JldHVybn10aGlzLmlzT3BlbmVkPSEwO2xldCBDZT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmlucHV0LWNvbnRhaW5lciIpLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLE1lPXdpbmRvdy5pbm5lckhlaWdodC1DZS5ib3R0b20sZGU9Q2UudG9wLHZlPU1lPDQwMCYmZGU+TWU7dGhpcy5wb3B1cEluc3RhbmNlfHwodGhpcy5wb3B1cEluc3RhbmNlPW5ldyB0YWUpLHRoaXMucG9wdXBJbnN0YW5jZS50cmlnZ2VyUmVjdD1DZSx0aGlzLnBvcHVwSW5zdGFuY2Uub3duZXJDb21wb25lbnQ9dGhpcyx0aGlzLnBvcHVwSW5zdGFuY2Uub3BlbnNUb1RvcD12ZSx0aGlzLnBvcHVwSW5zdGFuY2UuZW5hYmxlVGltZT10aGlzLmVuYWJsZVRpbWUsdGhpcy5wb3B1cEluc3RhbmNlLnRpbWVGb3JtYXQ9dGhpcy50aW1lRm9ybWF0LHRoaXMucG9wdXBJbnN0YW5jZS5taW51dGVJbmNyZW1lbnQ9dGhpcy5taW51dGVJbmNyZW1lbnQsdGhpcy5wb3B1cEluc3RhbmNlLndlZWtTdGFydHNPbj10aGlzLndlZWtTdGFydHNPbix0aGlzLnBvcHVwSW5zdGFuY2UubWluRGF0ZT10aGlzLm1pbkRhdGUsdGhpcy5wb3B1cEluc3RhbmNlLm1heERhdGU9dGhpcy5tYXhEYXRlLHRoaXMucG9wdXBJbnN0YW5jZS5kaXNhYmxlZERhdGVzPXRoaXMuZGlzYWJsZWREYXRlcyx0aGlzLnBvcHVwSW5zdGFuY2UuZW5hYmxlVGltZXpvbmU9dGhpcy5lbmFibGVUaW1lem9uZSx0aGlzLnBvcHVwSW5zdGFuY2UudGltZXpvbmU9dGhpcy50aW1lem9uZSx0aGlzLnBvcHVwSW5zdGFuY2UuZXZlbnRzPXRoaXMuZXZlbnRzLHRoaXMucG9wdXBJbnN0YW5jZS5zZWxlY3RlZERhdGU9dGhpcy5zZWxlY3RlZERhdGUsdGhpcy5wb3B1cEluc3RhbmNlLnZpZXdEYXRlPW5ldyBEYXRlKHRoaXMudmlld0RhdGUpLHRoaXMucG9wdXBJbnN0YW5jZS5zZWxlY3RlZEhvdXI9dGhpcy5zZWxlY3RlZEhvdXIsdGhpcy5wb3B1cEluc3RhbmNlLnNlbGVjdGVkTWludXRlPXRoaXMuc2VsZWN0ZWRNaW51dGUsdGhpcy5wb3B1cEluc3RhbmNlLmFkZEV2ZW50TGlzdGVuZXIoImRhdGUtc2VsZWN0ZWQiLHRoaXMuaGFuZGxlRGF0ZVNlbGVjdGVkKSx0aGlzLnBvcHVwSW5zdGFuY2UuYWRkRXZlbnRMaXN0ZW5lcigiZGF0ZS1jbGVhcmVkIix0aGlzLmhhbmRsZURhdGVDbGVhcmVkKSx0aGlzLnBvcHVwSW5zdGFuY2UuYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UtcmVxdWVzdCIsdGhpcy5oYW5kbGVDbG9zZVJlcXVlc3QpLHRoaXMucG9wdXBJbnN0YW5jZS5hZGRFdmVudExpc3RlbmVyKCJyZXBvc2l0aW9uLXJlcXVlc3QiLHRoaXMuaGFuZGxlUmVwb3NpdGlvblJlcXVlc3QpLGF3YWl0IHRoaXMucG9wdXBJbnN0YW5jZS5zaG93KCl9Y2xvc2VQb3B1cCgpe3RoaXMuaXNPcGVuZWQ9ITEsdGhpcy5wb3B1cEluc3RhbmNlJiYodGhpcy5wb3B1cEluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRhdGUtc2VsZWN0ZWQiLHRoaXMuaGFuZGxlRGF0ZVNlbGVjdGVkKSx0aGlzLnBvcHVwSW5zdGFuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZGF0ZS1jbGVhcmVkIix0aGlzLmhhbmRsZURhdGVDbGVhcmVkKSx0aGlzLnBvcHVwSW5zdGFuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xvc2UtcmVxdWVzdCIsdGhpcy5oYW5kbGVDbG9zZVJlcXVlc3QpLHRoaXMucG9wdXBJbnN0YW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXBvc2l0aW9uLXJlcXVlc3QiLHRoaXMuaGFuZGxlUmVwb3NpdGlvblJlcXVlc3QpLHRoaXMucG9wdXBJbnN0YW5jZS5oaWRlKCkpfWhhbmRsZURhdGVTZWxlY3RlZD1zKCRlPT57bGV0IENlPSRlLmRldGFpbDt0aGlzLnNlbGVjdGVkRGF0ZT1DZSx0aGlzLnNlbGVjdGVkSG91cj1DZS5nZXRIb3VycygpLHRoaXMuc2VsZWN0ZWRNaW51dGU9Q2UuZ2V0TWludXRlcygpLHRoaXMudmlld0RhdGU9bmV3IERhdGUoQ2UpLHRoaXMudmFsdWU9dGhpcy5mb3JtYXRWYWx1ZVdpdGhUaW1lem9uZShDZSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9LCJoYW5kbGVEYXRlU2VsZWN0ZWQiKTtoYW5kbGVEYXRlQ2xlYXJlZD1zKCgpPT57dGhpcy52YWx1ZT0iIix0aGlzLnNlbGVjdGVkRGF0ZT1udWxsLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfSwiaGFuZGxlRGF0ZUNsZWFyZWQiKTtoYW5kbGVDbG9zZVJlcXVlc3Q9cygoKT0+e3RoaXMuY2xvc2VQb3B1cCgpfSwiaGFuZGxlQ2xvc2VSZXF1ZXN0Iik7aGFuZGxlUmVwb3NpdGlvblJlcXVlc3Q9cygoKT0+e2lmKCF0aGlzLnBvcHVwSW5zdGFuY2V8fCF0aGlzLmlzT3BlbmVkKXJldHVybjtsZXQgJGU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5pbnB1dC1jb250YWluZXIiKTtpZighJGUpcmV0dXJuO2xldCBDZT0kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihDZS5ib3R0b208MHx8Q2UudG9wPndpbmRvdy5pbm5lckhlaWdodCl7dGhpcy5jbG9zZVBvcHVwKCk7cmV0dXJufWxldCBNZT13aW5kb3cuaW5uZXJIZWlnaHQtQ2UuYm90dG9tLGRlPUNlLnRvcDt0aGlzLnBvcHVwSW5zdGFuY2Uub3BlbnNUb1RvcD1NZTw0MDAmJmRlPk1lLHRoaXMucG9wdXBJbnN0YW5jZS50cmlnZ2VyUmVjdD1DZX0sImhhbmRsZVJlcG9zaXRpb25SZXF1ZXN0Iik7aGFuZGxlS2V5ZG93bigkZSl7JGUua2V5PT09IkVudGVyInx8JGUua2V5PT09IiAiPygkZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMudG9nZ2xlQ2FsZW5kYXIoKSk6JGUua2V5PT09IkVzY2FwZSImJnRoaXMuaXNPcGVuZWQmJigkZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY2xvc2VQb3B1cCgpKX1jbGVhclZhbHVlKCRlKXskZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnZhbHVlPSIiLHRoaXMuc2VsZWN0ZWREYXRlPW51bGwsdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9aGFuZGxlTWFudWFsSW5wdXQoJGUpe2xldCBNZT0kZS50YXJnZXQudmFsdWUudHJpbSgpO2lmKCFNZSl7dGhpcy52YWx1ZT0iIix0aGlzLnNlbGVjdGVkRGF0ZT1udWxsO3JldHVybn1sZXQgZGU9dGhpcy5wYXJzZU1hbnVhbERhdGUoTWUpO2RlJiYhaXNOYU4oZGUuZ2V0VGltZSgpKSYmKHRoaXMudmFsdWU9ZGUudG9JU09TdHJpbmcoKSx0aGlzLnNlbGVjdGVkRGF0ZT1kZSx0aGlzLnZpZXdEYXRlPW5ldyBEYXRlKGRlKSx0aGlzLnNlbGVjdGVkSG91cj1kZS5nZXRIb3VycygpLHRoaXMuc2VsZWN0ZWRNaW51dGU9ZGUuZ2V0TWludXRlcygpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX1oYW5kbGVJbnB1dEJsdXIoJGUpe2xldCBDZT0kZS50YXJnZXQsTWU9Q2UudmFsdWUudHJpbSgpO2lmKCFNZSl7dGhpcy52YWx1ZT0iIix0aGlzLnNlbGVjdGVkRGF0ZT1udWxsLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpO3JldHVybn1sZXQgZGU9dGhpcy5wYXJzZU1hbnVhbERhdGUoTWUpO2RlJiYhaXNOYU4oZGUuZ2V0VGltZSgpKT8odGhpcy52YWx1ZT1kZS50b0lTT1N0cmluZygpLHRoaXMuc2VsZWN0ZWREYXRlPWRlLHRoaXMudmlld0RhdGU9bmV3IERhdGUoZGUpLHRoaXMuc2VsZWN0ZWRIb3VyPWRlLmdldEhvdXJzKCksdGhpcy5zZWxlY3RlZE1pbnV0ZT1kZS5nZXRNaW51dGVzKCksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksQ2UudmFsdWU9dGhpcy5mb3JtYXREYXRlKHRoaXMudmFsdWUpKTpDZS52YWx1ZT10aGlzLmZvcm1hdERhdGUodGhpcy52YWx1ZSl9cGFyc2VNYW51YWxEYXRlKCRlKXtpZighJGUpcmV0dXJuIG51bGw7bGV0IENlPSRlLnNwbGl0KCIgIiksTWU9Q2VbMF0sZGU9Q2VbMV18fCIiLHZlPW51bGwsQWU9TWUubWF0Y2goL14oXGR7NH0pLShcZHsxLDJ9KS0oXGR7MSwyfSkkLyk7aWYoQWUpe2xldFtLZSxudCxTdCxUZV09QWU7dmU9bmV3IERhdGUocGFyc2VJbnQobnQpLHBhcnNlSW50KFN0KS0xLHBhcnNlSW50KFRlKSl9aWYoIXZlKXtsZXQgS2U9TWUubWF0Y2goL14oXGR7MSwyfSlcLihcZHsxLDJ9KVwuKFxkezR9KSQvKTtpZihLZSl7bGV0W250LFN0LFRlLHdlXT1LZTt2ZT1uZXcgRGF0ZShwYXJzZUludCh3ZSkscGFyc2VJbnQoVGUpLTEscGFyc2VJbnQoU3QpKX19aWYoIXZlKXtsZXQgS2U9TWUubWF0Y2goL14oXGR7MSwyfSlcLyhcZHsxLDJ9KVwvKFxkezR9KSQvKTtpZihLZSl7bGV0W250LFN0LFRlLHdlXT1LZTt2ZT1uZXcgRGF0ZShwYXJzZUludCh3ZSkscGFyc2VJbnQoU3QpLTEscGFyc2VJbnQoVGUpKX19aWYoIXZlfHxpc05hTih2ZS5nZXRUaW1lKCkpKXJldHVybiBudWxsO2lmKGRlKXtsZXQgS2U9ZGUubWF0Y2goL14oXGR7MSwyfSk6KFxkezJ9KSQvKTtpZihLZSl7bGV0W250LFN0LFRlXT1LZTt2ZS5zZXRIb3VycyhwYXJzZUludChTdCkpLHZlLnNldE1pbnV0ZXMocGFyc2VJbnQoVGUpKX19ZWxzZSBpZighdGhpcy5lbmFibGVUaW1lKXtsZXQgS2U9bmV3IERhdGU7dmUuc2V0SG91cnMoS2UuZ2V0SG91cnMoKSksdmUuc2V0TWludXRlcyhLZS5nZXRNaW51dGVzKCkpLHZlLnNldFNlY29uZHMoMCksdmUuc2V0TWlsbGlzZWNvbmRzKDApfXJldHVybiB2ZX1mb3JtYXRWYWx1ZVdpdGhUaW1lem9uZSgkZSl7aWYoIXRoaXMuZW5hYmxlVGltZXpvbmUpcmV0dXJuICRlLnRvSVNPU3RyaW5nKCk7bGV0IE1lPW5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KCJlbi1VUyIse3llYXI6Im51bWVyaWMiLG1vbnRoOiIyLWRpZ2l0IixkYXk6IjItZGlnaXQiLGhvdXI6IjItZGlnaXQiLG1pbnV0ZToiMi1kaWdpdCIsc2Vjb25kOiIyLWRpZ2l0Iixob3VyMTI6ITEsdGltZVpvbmU6dGhpcy50aW1lem9uZSx0aW1lWm9uZU5hbWU6InNob3J0In0pLmZvcm1hdFRvUGFydHMoJGUpLGRlPXt9O01lLmZvckVhY2goS2U9PntkZVtLZS50eXBlXT1LZS52YWx1ZX0pO2xldCB2ZT1gJHtkZS55ZWFyfS0ke2RlLm1vbnRofS0ke2RlLmRheX1UJHtkZS5ob3VyfToke2RlLm1pbnV0ZX06JHtkZS5zZWNvbmR9YCxBZT10aGlzLmdldFRpbWV6b25lT2Zmc2V0KCRlLHRoaXMudGltZXpvbmUpO3JldHVybmAke3ZlfSR7QWV9YH1nZXRUaW1lem9uZU9mZnNldCgkZSxDZSl7bGV0IE1lPW5ldyBEYXRlKCRlLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse3RpbWVab25lOkNlfSkpLGRlPW5ldyBEYXRlKCRlLnRvTG9jYWxlU3RyaW5nKCJlbi1VUyIse3RpbWVab25lOiJVVEMifSkpLHZlPShNZS5nZXRUaW1lKCktZGUuZ2V0VGltZSgpKS8oMWUzKjYwKSxBZT1NYXRoLmZsb29yKE1hdGguYWJzKHZlKS82MCksS2U9TWF0aC5hYnModmUpJTYwO3JldHVybmAke3ZlPj0wPyIrIjoiLSJ9JHtBZS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX06JHtLZS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoJGUpe2lmKHRoaXMudmFsdWU9JGUsJGUpdHJ5e2xldCBDZT1uZXcgRGF0ZSgkZSk7aXNOYU4oQ2UuZ2V0VGltZSgpKXx8KHRoaXMuc2VsZWN0ZWREYXRlPUNlLHRoaXMudmlld0RhdGU9bmV3IERhdGUoQ2UpLHRoaXMuc2VsZWN0ZWRIb3VyPUNlLmdldEhvdXJzKCksdGhpcy5zZWxlY3RlZE1pbnV0ZT1DZS5nZXRNaW51dGVzKCkpfWNhdGNoe319YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMucG9wdXBJbnN0YW5jZSYmKHRoaXMucG9wdXBJbnN0YW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKCJkYXRlLXNlbGVjdGVkIix0aGlzLmhhbmRsZURhdGVTZWxlY3RlZCksdGhpcy5wb3B1cEluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImRhdGUtY2xlYXJlZCIsdGhpcy5oYW5kbGVEYXRlQ2xlYXJlZCksdGhpcy5wb3B1cEluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsb3NlLXJlcXVlc3QiLHRoaXMuaGFuZGxlQ2xvc2VSZXF1ZXN0KSx0aGlzLnBvcHVwSW5zdGFuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVwb3NpdGlvbi1yZXF1ZXN0Iix0aGlzLmhhbmRsZVJlcG9zaXRpb25SZXF1ZXN0KSx0aGlzLnBvcHVwSW5zdGFuY2UuaGlkZSgpLHRoaXMucG9wdXBJbnN0YW5jZT1udWxsKX1zdGF0aWN7eGEocix0KX19O3JldHVybiBjdD1yfSkoKX0pO3ZhciByYWU9ZigoKT0+e0lZZSgpO05ZZSgpfSk7dmFyIGtzYSxTc2E9ZigoKT0+e2xlKCk7SWEoKTtVcygpO2tzYT1zKCgpPT53YAogIDxzdHlsZT4KICAgICR7UWAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWwgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQogICAgICAKICAgICAgLmhvcml6b250YWwtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICAgIAogICAgICAuZ3JpZC1sYXlvdXQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQogICAgICAKICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KICAgICAgfQogICAgICAKICAgICAgLmludGVyYWN0aXZlLXNlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICB9CiAgICAgIAogICAgICAub3V0cHV0LXRleHQgewogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjEwIDQwJSA4MCUpIil9OwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTglKSIsImhzbCgyMTUgMjAuMiUgMTEuOCUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBtaW4taGVpZ2h0OiAyNHB4OwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2EucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC10ZXh0IikuZm9yRWFjaChyPT57ci5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2VTdWJqZWN0IiwoaT0+e2NvbnNvbGUubG9nKGBJbnB1dCAiJHtyLmxhYmVsfSIgY2hhbmdlZCB0bzpgLHIuZ2V0VmFsdWUoKSl9KSksci5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e2NvbnNvbGUubG9nKGBJbnB1dCAiJHtyLmxhYmVsfSIgbG9zdCBmb2N1c2ApfSl9KSxhLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtdGV4dFtrZXk9InBhc3N3b3JkIl0nKSYmY29uc29sZS5sb2coIlBhc3N3b3JkIGlucHV0IGluY2x1ZGVzIHZpc2liaWxpdHkgdG9nZ2xlIil9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIFRleHQgSW5wdXRzIn0gLnN1YnRpdGxlPSR7IlN0YW5kYXJkIHRleHQgaW5wdXRzIHdpdGggbGFiZWxzIGFuZCBkZXNjcmlwdGlvbnMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiVXNlcm5hbWUifQogICAgICAgICAgICAudmFsdWU9JHsiam9obmRvZSJ9CiAgICAgICAgICAgIC5rZXk9JHsidXNlcm5hbWUifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiWW91ciB1c2VybmFtZSB3aWxsIGJlIHZpc2libGUgdG8gb3RoZXIgdXNlcnMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IkVtYWlsIEFkZHJlc3MifQogICAgICAgICAgICAudmFsdWU9JHsiam9obkBleGFtcGxlLmNvbSJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJXZSB3aWxsIG5ldmVyIHNoYXJlIHlvdXIgZW1haWwgd2l0aCBhbnlvbmUifQogICAgICAgICAgICAua2V5PSR7ImVtYWlsIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJQYXNzd29yZCJ9CiAgICAgICAgICAgIC5pc1Bhc3N3b3JkQm9vbD0keyEwfQogICAgICAgICAgICAudmFsdWU9JHsic2VjcmV0MTIzIn0KICAgICAgICAgICAgLmtleT0keyJwYXNzd29yZCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2EucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC10ZXh0IikuZm9yRWFjaChpPT57bGV0IG89d2luZG93LmdldENvbXB1dGVkU3R5bGUoaSk7Y29uc29sZS5sb2coYEhvcml6b250YWwgaW5wdXQgIiR7aS5sYWJlbH0iIGRpc3BsYXk6YCxvLmRpc3BsYXkpfSk7bGV0IHQ9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LXRleHRba2V5PSJmaXJzdE5hbWUiXScpLHI9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LXRleHRba2V5PSJsYXN0TmFtZSJdJyk7aWYodCYmcil7bGV0IGk9cygoKT0+e2xldCBvPXQuZ2V0VmFsdWUoKSxuPXIuZ2V0VmFsdWUoKTtjb25zb2xlLmxvZyhgRnVsbCBuYW1lOiAke299ICR7bn1gKX0sInVwZGF0ZUZ1bGxOYW1lIik7dC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2VTdWJqZWN0IixpKSxyLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZVN1YmplY3QiLGkpfX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiSG9yaXpvbnRhbCBMYXlvdXQifSAuc3VidGl0bGU9JHsiTXVsdGlwbGUgaW5wdXRzIGFycmFuZ2VkIGhvcml6b250YWxseSBmb3IgY29tcGFjdCBmb3JtcyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWdyb3VwIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAgIC5sYWJlbD0keyJGaXJzdCBOYW1lIn0KICAgICAgICAgICAgICAudmFsdWU9JHsiSm9obiJ9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgICAgLmtleT0keyJmaXJzdE5hbWUifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgICAgLmxhYmVsPSR7Ikxhc3QgTmFtZSJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7IkRvZSJ9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgICAgLmtleT0keyJsYXN0TmFtZSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgICAubGFiZWw9JHsiQWdlIn0KICAgICAgICAgICAgICAudmFsdWU9JHsiMjgifQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC5rZXk9JHsiYWdlIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2EucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1pbnB1dC10ZXh0IikuZm9yRWFjaChyPT57bGV0IGk9ci5sYWJlbFBvc2l0aW9uO2NvbnNvbGUubG9nKGBJbnB1dCAiJHtyLmxhYmVsfSIgaGFzIGxhYmVsIHBvc2l0aW9uOiAke2l9YCl9KTtsZXQgdD1hLnF1ZXJ5U2VsZWN0b3JBbGwoJ2RlZXMtaW5wdXQtdGV4dFtsYWJlbFBvc2l0aW9uPSJsZWZ0Il0nKTt0Lmxlbmd0aD4wJiZjb25zb2xlLmxvZyhgJHt0Lmxlbmd0aH0gaW5wdXRzIGhhdmUgbGVmdC1hbGlnbmVkIGxhYmVscyBmb3IgaW5saW5lIGxheW91dGApfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJMYWJlbCBQb3NpdGlvbnMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IGxhYmVsIHBvc2l0aW9uaW5nIG9wdGlvbnMgZm9yIHZhcmlvdXMgbGF5b3V0cyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJMYWJlbCBvbiBUb3AgKERlZmF1bHQpIn0KICAgICAgICAgICAgLnZhbHVlPSR7IlN0YW5kYXJkIGxheW91dCJ9CiAgICAgICAgICAgIC5sYWJlbFBvc2l0aW9uPSR7InRvcCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiTGFiZWwgb24gTGVmdCJ9CiAgICAgICAgICAgIC52YWx1ZT0keyJJbmxpbmUgbGFiZWwifQogICAgICAgICAgICAubGFiZWxQb3NpdGlvbj0keyJsZWZ0In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWxheW91dCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJDaXR5In0KICAgICAgICAgICAgLnZhbHVlPSR7Ik5ldyBZb3JrIn0KICAgICAgICAgICAgLmxhYmVsUG9zaXRpb249JHsibGVmdCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiWklQIENvZGUifQogICAgICAgICAgICAudmFsdWU9JHsiMTAwMDEifQogICAgICAgICAgICAubGFiZWxQb3NpdGlvbj0keyJsZWZ0In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlZhbGlkYXRpb24gJiBTdGF0ZXMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IHZhbGlkYXRpb24gc3RhdGVzIGFuZCBpbnB1dCBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJSZXF1aXJlZCBGaWVsZCJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAua2V5PSR7InJlcXVpcmVkRmllbGQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2FibGVkIEZpZWxkIn0KICAgICAgICAgICAgLnZhbHVlPSR7IkNhbm5vdCBlZGl0IHRoaXMifQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJFbWFpbCB3aXRoIFZhbGlkYXRpb24ifQogICAgICAgICAgICAudmFsdWU9JHsiaW52YWxpZEAifQogICAgICAgICAgICAudmFsaWRhdGlvbkZ1bmN0aW9uPSR7YT0+L15bXlxzQF0rQFteXHNAXStcLlteXHNAXSskLy50ZXN0KGEpP3t2YWxpZDohMCxtZXNzYWdlOiJFbWFpbCBhZGRyZXNzIGlzIHZhbGlkIn06e3ZhbGlkOiExLG1lc3NhZ2U6IlBsZWFzZSBlbnRlciBhIHZhbGlkIGVtYWlsIGFkZHJlc3MifX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWlucHV0LXRleHRbaXNQYXNzd29yZEJvb2xdIikuZm9yRWFjaCh0PT57bGV0IHI9dCxpPXMoKCk9PntsZXQgbz1yLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImlucHV0Iik7byYmY29uc29sZS5sb2coYFBhc3N3b3JkIGZpZWxkICIke3IubGFiZWx9IiB0eXBlOmAsby50eXBlKX0sImNoZWNrVG9nZ2xlIik7aWYoci5zaGFkb3dSb290KXtsZXQgbz1uZXcgTXV0YXRpb25PYnNlcnZlcihpKSxuPXIuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpO24mJm8ub2JzZXJ2ZShuLHthdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbInR5cGUiXX0pfX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJBZHZhbmNlZCBGZWF0dXJlcyJ9IC5zdWJ0aXRsZT0keyJQYXNzd29yZCB2aXNpYmlsaXR5IHRvZ2dsZSBhbmQgb3RoZXIgYWR2YW5jZWQgZmVhdHVyZXMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiUGFzc3dvcmQgd2l0aCBUb2dnbGUifQogICAgICAgICAgICAuaXNQYXNzd29yZEJvb2w9JHshMH0KICAgICAgICAgICAgLnZhbHVlPSR7Im15U2VjdXJlUGFzc3dvcmQxMjMifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiQ2xpY2sgdGhlIGV5ZSBpY29uIHRvIHNob3cvaGlkZSBwYXNzd29yZCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsiQVBJIEtleSJ9CiAgICAgICAgICAgIC5pc1Bhc3N3b3JkQm9vbD0keyEwfQogICAgICAgICAgICAudmFsdWU9JHsic2stMTIzNDU2Nzg5MGFiY2RlZiJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJLZWVwIHRoaXMga2V5IHNlY3VyZSBhbmQgbmV2ZXIgc2hhcmUgaXQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtdGV4dCIpLHQ9YS5xdWVyeVNlbGVjdG9yKCIjdGV4dC1pbnB1dC1vdXRwdXQiKTtlJiZ0JiZlLmNoYW5nZVN1YmplY3Quc3Vic2NyaWJlKCgpPT57dC50ZXh0Q29udGVudD1gQ3VycmVudCB2YWx1ZTogIiR7ZS5nZXRWYWx1ZSgpfSJgfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkludGVyYWN0aXZlIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiVHJ5IHR5cGluZyBpbiB0aGUgaW5wdXQgdG8gc2VlIHJlYWwtdGltZSB2YWx1ZSBjaGFuZ2VzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgLmxhYmVsPSR7IkR5bmFtaWMgSW5wdXQifQogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IlR5cGUgc29tZXRoaW5nIGhlcmUuLi4ifQogICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgPGRpdiBjbGFzcz0iaW50ZXJhY3RpdmUtc2VjdGlvbiI+CiAgICAgICAgICA8ZGl2IGlkPSJ0ZXh0LWlucHV0LW91dHB1dCIgY2xhc3M9Im91dHB1dC10ZXh0Ij5DdXJyZW50IHZhbHVlOiAiIjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgZmMsSnMsc2FlLGQ0PWYoKCk9PntUMSgpO1NyKCk7U3NhKCk7dXMoKTtsZSgpO1FlKCk7WXIoKTtmYz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sSnM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHNhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtdGV4dCIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdO3ZhciBQPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRUZXh0Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IEE9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxkPVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSx1PVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSx4PVskKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLHk9WyQoe3JlZmxlY3Q6ITB9KV0sTj1bJCh7YXR0cmlidXRlOiExfSldLE89WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLEI9WyQoe2F0dHJpYnV0ZTohMX0pXSxmYyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJ2YWx1ZSJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnZhbHVlLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YudmFsdWU9V30sInNldCIpfSxtZXRhZGF0YTpBfSxuLGwpLGZjKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNQYXNzd29yZEJvb2wiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+ImlzUGFzc3dvcmRCb29sImluIEYsImhhcyIpLGdldDpzKEY9PkYuaXNQYXNzd29yZEJvb2wsImdldCIpLHNldDpzKChGLFcpPT57Ri5pc1Bhc3N3b3JkQm9vbD1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LGMscCksZmModGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93UGFzc3dvcmRCb29sIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJzaG93UGFzc3dvcmRCb29sImluIEYsImhhcyIpLGdldDpzKEY9PkYuc2hvd1Bhc3N3b3JkQm9vbCwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnNob3dQYXNzd29yZEJvb2w9V30sInNldCIpfSxtZXRhZGF0YTpBfSxtLHYpLGZjKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsaWRhdGlvblN0YXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJ2YWxpZGF0aW9uU3RhdGUiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri52YWxpZGF0aW9uU3RhdGUsImdldCIpLHNldDpzKChGLFcpPT57Ri52YWxpZGF0aW9uU3RhdGU9V30sInNldCIpfSxtZXRhZGF0YTpBfSxiLGcpLGZjKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsaWRhdGlvblRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+InZhbGlkYXRpb25UZXh0ImluIEYsImhhcyIpLGdldDpzKEY9PkYudmFsaWRhdGlvblRleHQsImdldCIpLHNldDpzKChGLFcpPT57Ri52YWxpZGF0aW9uVGV4dD1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LGssQyksZmModGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZGF0aW9uRnVuY3Rpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+InZhbGlkYXRpb25GdW5jdGlvbiJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnZhbGlkYXRpb25GdW5jdGlvbiwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnZhbGlkYXRpb25GdW5jdGlvbj1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LF8seiksZmModGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aW50ZWdyYXRlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4idmludGVncmF0ZWQiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri52aW50ZWdyYXRlZCwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnZpbnRlZ3JhdGVkPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sVCxFKSxmYyh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbGlkQ29uZmlybWVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJ2YWxpZENvbmZpcm1lZCJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnZhbGlkQ29uZmlybWVkLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YudmFsaWRDb25maXJtZWQ9V30sInNldCIpfSxtZXRhZGF0YTpBfSxNLFMpLGZjKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOkF9LG51bGwsdCksUD1yPWUudmFsdWUsQSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpBfSl9c3RhdGljIGRlbW89a3NhO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1Kcyh0aGlzLG4sIiIpO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNlfXNldCB2YWx1ZShBKXt0aGlzLiNlPUF9I3Q9KEpzKHRoaXMsbCksSnModGhpcyxjLCExKSk7Z2V0IGlzUGFzc3dvcmRCb29sKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGlzUGFzc3dvcmRCb29sKEEpe3RoaXMuI3Q9QX0jYT0oSnModGhpcyxwKSxKcyh0aGlzLG0sITEpKTtnZXQgc2hvd1Bhc3N3b3JkQm9vbCgpe3JldHVybiB0aGlzLiNhfXNldCBzaG93UGFzc3dvcmRCb29sKEEpe3RoaXMuI2E9QX0jcj0oSnModGhpcyx2KSxKcyh0aGlzLGIsdm9pZCAwKSk7Z2V0IHZhbGlkYXRpb25TdGF0ZSgpe3JldHVybiB0aGlzLiNyfXNldCB2YWxpZGF0aW9uU3RhdGUoQSl7dGhpcy4jcj1BfSNzPShKcyh0aGlzLGcpLEpzKHRoaXMsaywiIikpO2dldCB2YWxpZGF0aW9uVGV4dCgpe3JldHVybiB0aGlzLiNzfXNldCB2YWxpZGF0aW9uVGV4dChBKXt0aGlzLiNzPUF9I2k9KEpzKHRoaXMsQyksSnModGhpcyxfLHZvaWQgMCkpO2dldCB2YWxpZGF0aW9uRnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4jaX1zZXQgdmFsaWRhdGlvbkZ1bmN0aW9uKEEpe3RoaXMuI2k9QX0jbz0oSnModGhpcyx6KSxKcyh0aGlzLFQsITEpKTtnZXQgdmludGVncmF0ZWQoKXtyZXR1cm4gdGhpcy4jb31zZXQgdmludGVncmF0ZWQoQSl7dGhpcy4jbz1BfSNuPShKcyh0aGlzLEUpLEpzKHRoaXMsTSwhMSkpO2dldCB2YWxpZENvbmZpcm1lZCgpe3JldHVybiB0aGlzLiNufXNldCB2YWxpZENvbmZpcm1lZChBKXt0aGlzLiNuPUF9dmFsaWRUaW1lb3V0PUpzKHRoaXMsUyk7c3RhdGljIHN0eWxlcz1bRWUsLi4ud3QuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgKiB7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgOmhvc3QgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB6LWluZGV4OiBhdXRvOwogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICBpbnB1dCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBsaW5lLWhlaWdodDogNDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGN1cnNvcjogdGV4dDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDMuOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KDpmb2N1cykgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6Zm9jdXMgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklIC8gMC4wNSkiLCJoc2woMCAwJSA5OCUgLyAwLjA1KSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6ZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAvKiBQYXNzd29yZCB0b2dnbGUgYnV0dG9uICovCiAgICAgIC5zaG93UGFzc3dvcmQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogMXB4OwogICAgICAgIHRvcDogMjBweDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAzOHB4OwogICAgICAgIGhlaWdodDogMzhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMCA1cHggNXB4IDA7CiAgICAgIH0KCiAgICAgIC5zaG93UGFzc3dvcmQ6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTMuOSUpIil9OwogICAgICB9CgogICAgICAvKiBWYWxpZCBjaGVja21hcmsgaWNvbiAqLwogICAgICAudmFsaWRJY29uIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDEwcHg7CiAgICAgICAgdG9wOiAyMHB4OwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICB9CgogICAgICAudmFsaWRJY29uLnNob3cgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC52YWxpZEljb24gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIH0KCiAgICAgIC8qIFZhbGlkYXRpb24gc3R5bGVzICovCiAgICAgIC52YWxpZGF0aW9uQ29udGFpbmVyIHsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAudmFsaWRhdGlvbkNvbnRhaW5lci5pbnZhbGlkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgODQuMiUgNjAuMiUgLyAwLjEpIiwiaHNsKDAgNzIuMiUgNTAuNiUgLyAwLjEpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgODQuMiUgNjAuMiUpIiwiaHNsKDAgNzIuMiUgNTAuNiUpIil9OwogICAgICB9CgogICAgICAudmFsaWRhdGlvbkNvbnRhaW5lci53YXJuIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDI1IDk1JSA1MyUgLyAwLjEpIiwiaHNsKDI1IDk1JSA2MyUgLyAwLjEpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDI1IDk1JSA1MyUpIiwiaHNsKDI1IDk1JSA2MyUpIil9OwogICAgICB9CgogICAgICAudmFsaWRhdGlvbkNvbnRhaW5lci52YWxpZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSAvIDAuMSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUgLyAwLjEpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiKX07CiAgICAgIH0KCiAgICAgIC8qIEVycm9yIHN0YXRlIGZvciBpbnB1dCAqLwogICAgICA6aG9zdChbdmFsaWRhdGlvbnN0YXRlPSJpbnZhbGlkIl0pIGlucHV0IHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSkiLCJoc2woMCA3Mi4yJSA1MC42JSkiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KFt2YWxpZGF0aW9uc3RhdGU9ImludmFsaWQiXSkgaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlKSIsImhzbCgwIDcyLjIlIDUwLjYlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoImhzbCgwIDg0LjIlIDYwLjIlIC8gMC4wNSkiLCJoc2woMCA3Mi4yJSA1MC42JSAvIDAuMDUpIil9OwogICAgICB9CgogICAgICAvKiBXYXJuaW5nIHN0YXRlIGZvciBpbnB1dCAqLwogICAgICA6aG9zdChbdmFsaWRhdGlvbnN0YXRlPSJ3YXJuIl0pIGlucHV0IHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjUgOTUlIDUzJSkiLCJoc2woMjUgOTUlIDYzJSkiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KFt2YWxpZGF0aW9uc3RhdGU9Indhcm4iXSkgaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlKSIsImhzbCgyNSA5NSUgNjMlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlIC8gMC4wNSkiLCJoc2woMjUgOTUlIDYzJSAvIDAuMDUpIil9OwogICAgICB9CgogICAgICAvKiBWYWxpZCBzdGF0ZSBmb3IgaW5wdXQgKi8KICAgICAgOmhvc3QoW3ZhbGlkYXRpb25zdGF0ZT0idmFsaWQiXSkgaW5wdXQgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbdmFsaWRhdGlvbnN0YXRlPSJ2YWxpZCJdKSBpbnB1dDpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUgLyAwLjA1KSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMDUpIil9OwogICAgICB9CgogICAgICAvKiBWaXN1YWxseSBpbnRlZ3JhdGVkIG1vZGU6IHNoZWQgY2hyb21lIHRvIGJsZW5kIGludG8gYSBob3N0IGNvbXBvbmVudAogICAgICAgICAoZS5nLiBhIGRlZXMtdGFibGUgY2VsbCBpbiBlZGl0IG1vZGUpLiAqLwogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSBkZWVzLWxhYmVsLAogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSAudmFsaWRhdGlvbkNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICB9CiAgICAgIDpob3N0KFt2aW50ZWdyYXRlZF0pIGlucHV0IHsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3gtc2hhZG93OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IG5vbmU7CiAgICAgIH0KICAgICAgOmhvc3QoW3ZpbnRlZ3JhdGVkXSkgaW5wdXQ6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KDpmb2N1cyksCiAgICAgIDpob3N0KFt2aW50ZWdyYXRlZF0pIGlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSAuc2hvd1Bhc3N3b3JkIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIGlucHV0IHsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAke3RoaXMuaXNQYXNzd29yZEJvb2w/Q2Y6ImluaGVyaXQifTsKICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAke3RoaXMuaXNQYXNzd29yZEJvb2w/IjAuNXB4Ijoibm9ybWFsIn07CiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAke3RoaXMuaXNQYXNzd29yZEJvb2w/IjQ4cHgiOnRoaXMudmFsaWRDb25maXJtZWQ/IjQwcHgiOiIxMnB4In07CiAgICAgICAgfQogICAgICAgICR7dGhpcy52YWxpZGF0aW9uVGV4dCYmIXRoaXMudmFsaWRDb25maXJtZWQ/UWAKICAgICAgICAgICAgICAudmFsaWRhdGlvbkNvbnRhaW5lciB7CiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgYDpRYAogICAgICAgICAgICAgIC52YWxpZGF0aW9uQ29udGFpbmVyIHsKICAgICAgICAgICAgICAgIGhlaWdodDogMDsKICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsKICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTRweCk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgICBgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuaW5mb1RleHQ9JHt0aGlzLmluZm9UZXh0fSAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciI+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0iJHt0aGlzLmlzUGFzc3dvcmRCb29sJiYhdGhpcy5zaG93UGFzc3dvcmRCb29sPyJwYXNzd29yZCI6InRleHQifSIKICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy52YWx1ZX0KICAgICAgICAgICAgQGlucHV0PSIke3RoaXMudXBkYXRlVmFsdWV9IgogICAgICAgICAgICAuZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfQogICAgICAgICAgICBwbGFjZWhvbGRlcj0iJHt0aGlzLmxhYmVsPyIiOiJFbnRlciB0ZXh0Li4uIn0iCiAgICAgICAgICAvPgogICAgICAgICAgJHt0aGlzLmlzUGFzc3dvcmRCb29sP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG93UGFzc3dvcmQiIEBjbGljaz0ke3RoaXMudG9nZ2xlUGFzc3dvcmRWaWV3fT4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke3RoaXMuc2hvd1Bhc3N3b3JkQm9vbD8ibHVjaWRlOkV5ZSI6Imx1Y2lkZTpFeWVPZmYifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6d2BgfQogICAgICAgICAgPGRpdiBjbGFzcz0idmFsaWRJY29uICR7dGhpcy52YWxpZENvbmZpcm1lZD8ic2hvdyI6IiJ9Ij4KICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Q2hlY2sifT48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHt0aGlzLnZhbGlkYXRpb25UZXh0P3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2YWxpZGF0aW9uQ29udGFpbmVyICR7dGhpcy52YWxpZGF0aW9uU3RhdGV8fCJpbnZhbGlkIn0iPgogICAgICAgICAgICAgICAgICAke3RoaXMudmFsaWRhdGlvblRleHR9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOndgPGRpdiBjbGFzcz0idmFsaWRhdGlvbkNvbnRhaW5lciI+PC9kaXY+YH0KICAgICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Zmlyc3RVcGRhdGVkKCl7aWYodGhpcy52YWxpZGF0aW9uRnVuY3Rpb24mJnRoaXMudmFsdWUpe2xldCBBPXRoaXMudmFsaWRhdGlvbkZ1bmN0aW9uKHRoaXMudmFsdWUpO3RoaXMudmFsaWRhdGlvblN0YXRlPUEudmFsaWQ/InZhbGlkIjoiaW52YWxpZCIsdGhpcy52YWxpZGF0aW9uVGV4dD1BLm1lc3NhZ2V8fCIiLEEudmFsaWQmJih0aGlzLnZhbGlkQ29uZmlybWVkPSExLHRoaXMudmFsaWRUaW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLnZhbGlkQ29uZmlybWVkPSEwLHRoaXMudmFsaWRhdGlvblN0YXRlPXZvaWQgMH0sNTAwKSl9fWFzeW5jIHVwZGF0ZVZhbHVlKEEpe2xldCBGPUEudGFyZ2V0O2lmKHRoaXMudmFsdWU9Ri52YWx1ZSx0aGlzLnZhbGlkYXRpb25GdW5jdGlvbil7bGV0IFc9dGhpcy52YWxpZGF0aW9uRnVuY3Rpb24odGhpcy52YWx1ZSk7dGhpcy52YWxpZGF0aW9uU3RhdGU9Vy52YWxpZD8idmFsaWQiOiJpbnZhbGlkIix0aGlzLnZhbGlkYXRpb25UZXh0PVcubWVzc2FnZXx8IiIsVy52YWxpZD8odGhpcy52YWxpZENvbmZpcm1lZD0hMSxjbGVhclRpbWVvdXQodGhpcy52YWxpZFRpbWVvdXQpLHRoaXMudmFsaWRUaW1lb3V0PXNldFRpbWVvdXQoKCk9Pnt0aGlzLnZhbGlkQ29uZmlybWVkPSEwLHRoaXMudmFsaWRhdGlvblN0YXRlPXZvaWQgMH0sNTAwKSk6KGNsZWFyVGltZW91dCh0aGlzLnZhbGlkVGltZW91dCksdGhpcy52YWxpZENvbmZpcm1lZD0hMSl9dGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9Z2V0Q29udGV4dE1lbnVJdGVtcygpe2xldCBBPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJpbnB1dCIpLEY9QS5zZWxlY3Rpb25TdGFydCE9PUEuc2VsZWN0aW9uRW5kO3JldHVyblt7bmFtZToiQ3V0IixpY29uTmFtZToibHVjaWRlOlNjaXNzb3JzIixzaG9ydGN1dDoiQ21kK1giLGRpc2FibGVkOiFGLGFjdGlvbjpzKGFzeW5jKCk9PntsZXQgVz10aGlzLnZhbHVlLnN1YnN0cmluZyhBLnNlbGVjdGlvblN0YXJ0LEEuc2VsZWN0aW9uRW5kKTthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChXKTtsZXQgaj1BLnNlbGVjdGlvblN0YXJ0O3RoaXMudmFsdWU9dGhpcy52YWx1ZS5zdWJzdHJpbmcoMCxqKSt0aGlzLnZhbHVlLnN1YnN0cmluZyhBLnNlbGVjdGlvbkVuZCksQS52YWx1ZT10aGlzLnZhbHVlLEEuc2V0U2VsZWN0aW9uUmFuZ2UoaixqKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX0sImFjdGlvbiIpfSx7bmFtZToiQ29weSIsaWNvbk5hbWU6Imx1Y2lkZTpDb3B5IixzaG9ydGN1dDoiQ21kK0MiLGRpc2FibGVkOiFGLGFjdGlvbjpzKGFzeW5jKCk9PntsZXQgVz10aGlzLnZhbHVlLnN1YnN0cmluZyhBLnNlbGVjdGlvblN0YXJ0LEEuc2VsZWN0aW9uRW5kKTthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChXKX0sImFjdGlvbiIpfSx7bmFtZToiUGFzdGUiLGljb25OYW1lOiJsdWNpZGU6Q2xpcGJvYXJkUGFzdGUiLHNob3J0Y3V0OiJDbWQrViIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBXPWF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQucmVhZFRleHQoKSxqPUEuc2VsZWN0aW9uU3RhcnQsRz1BLnNlbGVjdGlvbkVuZDt0aGlzLnZhbHVlPXRoaXMudmFsdWUuc3Vic3RyaW5nKDAsaikrVyt0aGlzLnZhbHVlLnN1YnN0cmluZyhHKSxBLnZhbHVlPXRoaXMudmFsdWUsQS5zZXRTZWxlY3Rpb25SYW5nZShqK1cubGVuZ3RoLGorVy5sZW5ndGgpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiU2VsZWN0IEFsbCIsaWNvbk5hbWU6Imx1Y2lkZTpUZXh0Q3Vyc29ySW5wdXQiLHNob3J0Y3V0OiJDbWQrQSIsYWN0aW9uOnMoYXN5bmMoKT0+e0Euc2VsZWN0KCl9LCJhY3Rpb24iKX1dfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoQSl7dGhpcy52YWx1ZT1BfWFzeW5jIHRvZ2dsZVBhc3N3b3JkVmlldygpe3RoaXMuc2hvd1Bhc3N3b3JkQm9vbD0hdGhpcy5zaG93UGFzc3dvcmRCb29sfWFzeW5jIGZvY3VzKCl7dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikuZm9jdXMoKX1hc3luYyBibHVyKCl7dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikuYmx1cigpfXN0YXRpY3tKcyhyLHQpfX07cmV0dXJuIFA9cn0pKCl9KTt2YXIgenNhLENzYT1mKCgpPT57bGUoKTtJYSgpO1VzKCk7enNhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7UWAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnByb2R1Y3QtZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjgwcHgsIDFmcikpOwogICAgICAgICAgZ2FwOiAyMHB4OwogICAgICAgIH0KCiAgICAgICAgLmNhcnQtc3VtbWFyeSB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAyMS44JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgfQoKICAgICAgICAuY2FydC1zdW1tYXJ5LXRpdGxlIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIH0KCiAgICAgICAgLmNhcnQtaXRlbSB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTcuOSAxMC42JSA3NC45JSkiKX07CiAgICAgICAgfQoKICAgICAgICAuY2FydC10b3RhbCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIHBhZGRpbmctdG9wOiAxNnB4OwogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICB9CgogICAgICAgIC5zZWxlY3RlZC1wcm9kdWN0cyB7CiAgICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTcuOSAxMC42JSA3NC45JSkiKX07CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgUHJvZHVjdCBDYXJkcyJ9IC5zdWJ0aXRsZT0keyJTaW1wbGUgcHJvZHVjdCBkaXNwbGF5IHdpdGggdmFyaW91cyBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiV2lyZWxlc3MgQmx1ZXRvb3RoIEhlYWRwaG9uZXMiLGNhdGVnb3J5OiJBdWRpbyIsZGVzY3JpcHRpb246IlByZW1pdW0gc291bmQgcXVhbGl0eSB3aXRoIGFjdGl2ZSBub2lzZSBjYW5jZWxsYXRpb24iLHByaWNlOjE0OS45OSxvcmlnaW5hbFByaWNlOjE5OS45OSxpY29uTmFtZToibHVjaWRlOmhlYWRwaG9uZXMifX0KICAgICAgICAgICAgLnF1YW50aXR5PSR7MX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CgogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IlNtYXJ0IFdhdGNoIFNlcmllcyA3IixjYXRlZ29yeToiV2VhcmFibGVzIixkZXNjcmlwdGlvbjoiVHJhY2sgeW91ciBmaXRuZXNzIGFuZCBzdGF5IGNvbm5lY3RlZCBvbiB0aGUgZ28iLHByaWNlOjM5OSxpY29uTmFtZToibHVjaWRlOndhdGNoIn19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezF9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgoKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJVU0ItQyBIdWIiLGNhdGVnb3J5OiJBY2Nlc3NvcmllcyIscHJpY2U6NDkuOTksaWNvbk5hbWU6Imx1Y2lkZTp1c2IiLGluU3RvY2s6ITF9fQogICAgICAgICAgICAucXVhbnRpdHk9JHswfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkludGVyYWN0aXZlIFNob3BwaW5nIENhcnQifSAuc3VidGl0bGU9JHsiUHJvZHVjdCBjYXJkcyB3aXRoIGR5bmFtaWMgY2FydCBjYWxjdWxhdGlvbiJ9IC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1be2lkOiJsYXB0b3AiLGVsZW1lbnQ6bnVsbCxkYXRhOntuYW1lOidNYWNCb29rIFBybyAxNCInLGNhdGVnb3J5OiJDb21wdXRlcnMiLGRlc2NyaXB0aW9uOiJNMyBQcm8gY2hpcCB3aXRoIDE4R0IgUkFNIixwcmljZToxOTk5LG9yaWdpbmFsUHJpY2U6MjE5OSxpY29uTmFtZToibHVjaWRlOmxhcHRvcCJ9fSx7aWQ6ImlwYWQiLGVsZW1lbnQ6bnVsbCxkYXRhOntuYW1lOiJpUGFkIEFpciIsY2F0ZWdvcnk6IlRhYmxldHMiLGRlc2NyaXB0aW9uOicxMC45IiBMaXF1aWQgUmV0aW5hIGRpc3BsYXknLHByaWNlOjU5OSxpY29uTmFtZToibHVjaWRlOnRhYmxldCJ9fSx7aWQ6ImtleWJvYXJkIixlbGVtZW50Om51bGwsZGF0YTp7bmFtZToiTWFnaWMgS2V5Ym9hcmQiLGNhdGVnb3J5OiJBY2Nlc3NvcmllcyIsZGVzY3JpcHRpb246IldpcmVsZXNzIGtleWJvYXJkIHdpdGggVG91Y2ggSUQiLHByaWNlOjE0OSxpY29uTmFtZToibHVjaWRlOmtleWJvYXJkIn19XSx0PXMoKCk9PntsZXQgcj0wLGk9W107ZS5mb3JFYWNoKG49PntsZXQgbD1hLnF1ZXJ5U2VsZWN0b3IoYCMke24uaWR9YCk7aWYobCYmbC5xdWFudGl0eT4wKXtsZXQgZD1uLmRhdGEucHJpY2UqbC5xdWFudGl0eTtyKz1kLGkucHVzaChgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJ0LWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3Bhbj4ke24uZGF0YS5uYW1lfSAoJHtsLnF1YW50aXR5fSk8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuPiQke2QudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgKX19KTtsZXQgbz1hLnF1ZXJ5U2VsZWN0b3IoIiNpbnRlcmFjdGl2ZS1jYXJ0LXN1bW1hcnkiKTtvJiYoby5pbm5lckhUTUw9YAogICAgICAgICAgICAgICR7aS5qb2luKCIiKX0KICAgICAgICAgICAgICAke2kubGVuZ3RoPT09MD8nPGRpdiBjbGFzcz0iY2FydC1pdGVtIiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogIzk5OTsiPllvdXIgY2FydCBpcyBlbXB0eTwvZGl2Pic6IiJ9CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FydC10b3RhbCI+CiAgICAgICAgICAgICAgICA8c3Bhbj5Ub3RhbDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuPiQke3IudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfSwidXBkYXRlQ2FydFN1bW1hcnkiKTtzZXRUaW1lb3V0KHQsMTAwKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQiKS5mb3JFYWNoKHI9PntyLmFkZEV2ZW50TGlzdGVuZXIoInF1YW50aXR5Q2hhbmdlIix0KX0pfX0+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ncmlkIj4KICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIGlkPSJsYXB0b3AiCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOidNYWNCb29rIFBybyAxNCInLGNhdGVnb3J5OiJDb21wdXRlcnMiLGRlc2NyaXB0aW9uOiJNMyBQcm8gY2hpcCB3aXRoIDE4R0IgUkFNIixwcmljZToxOTk5LG9yaWdpbmFsUHJpY2U6MjE5OSxpY29uTmFtZToibHVjaWRlOmxhcHRvcCJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHsxfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICBpZD0iaXBhZCIKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6ImlQYWQgQWlyIixjYXRlZ29yeToiVGFibGV0cyIsZGVzY3JpcHRpb246JzEwLjkiIExpcXVpZCBSZXRpbmEgZGlzcGxheScscHJpY2U6NTk5LGljb25OYW1lOiJsdWNpZGU6dGFibGV0In19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezB9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgoKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIGlkPSJrZXlib2FyZCIKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6Ik1hZ2ljIEtleWJvYXJkIixjYXRlZ29yeToiQWNjZXNzb3JpZXMiLGRlc2NyaXB0aW9uOiJXaXJlbGVzcyBrZXlib2FyZCB3aXRoIFRvdWNoIElEIixwcmljZToxNDksaWNvbk5hbWU6Imx1Y2lkZTprZXlib2FyZCJ9fQogICAgICAgICAgICAucXVhbnRpdHk9JHsyfQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iY2FydC1zdW1tYXJ5Ij4KICAgICAgICAgIDxoMyBjbGFzcz0iY2FydC1zdW1tYXJ5LXRpdGxlIj5TaG9wcGluZyBDYXJ0PC9oMz4KICAgICAgICAgIDxkaXYgaWQ9ImludGVyYWN0aXZlLWNhcnQtc3VtbWFyeSI+CiAgICAgICAgICAgIDwhLS0gRHluYW1pY2FsbHkgdXBkYXRlZCAtLT4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiU2VsZWN0YWJsZSBQcm9kdWN0IENhcmRzIn0gLnN1YnRpdGxlPSR7IkNsaWNrIGNhcmRzIG9yIGNoZWNrYm94ZXMgdG8gc2VsZWN0IHByb2R1Y3RzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdC1ncmlkIj4KICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJTb255IEFscGhhIDcgSVYiLGNhdGVnb3J5OiJDYW1lcmFzIixkZXNjcmlwdGlvbjoiRnVsbC1mcmFtZSBtaXJyb3JsZXNzIGNhbWVyYSIscHJpY2U6MjQ5OCxpY29uTmFtZToibHVjaWRlOmNhbWVyYSJ9fQogICAgICAgICAgICAuc2VsZWN0YWJsZT0keyEwfQogICAgICAgICAgICAuc2hvd1F1YW50aXR5U2VsZWN0b3I9JHshMX0KICAgICAgICAgICAgQHNlbGVjdGlvbkNoYW5nZT0ke2E9PntsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjc2VsZWN0aW9uLW91dHB1dCIpO2lmKGUpe2xldCB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmRbc2VsZWN0YWJsZV0iKSxyPVtdO3QuZm9yRWFjaChpPT57aS5zZWxlY3RlZCYmci5wdXNoKGkucHJvZHVjdERhdGEubmFtZSl9KSxlLnRleHRDb250ZW50PXIubGVuZ3RoPjA/YFNlbGVjdGVkOiAke3Iuam9pbigiLCAiKX1gOiJObyBwcm9kdWN0cyBzZWxlY3RlZCJ9fX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CgogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IkRKSSBNaW5pIDMgUHJvIixjYXRlZ29yeToiRHJvbmVzIixkZXNjcmlwdGlvbjoiTGlnaHR3ZWlnaHQgZHJvbmUgd2l0aCA0SyBjYW1lcmEiLHByaWNlOjc1OSxpY29uTmFtZToibHVjaWRlOnBsYW5lIn19CiAgICAgICAgICAgIC5zZWxlY3RhYmxlPSR7ITB9CiAgICAgICAgICAgIC5zaG93UXVhbnRpdHlTZWxlY3Rvcj0keyExfQogICAgICAgICAgICBAc2VsZWN0aW9uQ2hhbmdlPSR7YT0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNzZWxlY3Rpb24tb3V0cHV0Iik7aWYoZSl7bGV0IHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZFtzZWxlY3RhYmxlXSIpLHI9W107dC5mb3JFYWNoKGk9PntpLnNlbGVjdGVkJiZyLnB1c2goaS5wcm9kdWN0RGF0YS5uYW1lKX0pLGUudGV4dENvbnRlbnQ9ci5sZW5ndGg+MD9gU2VsZWN0ZWQ6ICR7ci5qb2luKCIsICIpfWA6Ik5vIHByb2R1Y3RzIHNlbGVjdGVkIn19fQogICAgICAgICAgPjwvZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZD4KCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiR29Qcm8gSEVSTzEyIixjYXRlZ29yeToiQWN0aW9uIENhbWVyYXMiLGRlc2NyaXB0aW9uOiI1LjNLIHZpZGVvIHdpdGggSHlwZXJTbW9vdGggNi4wIixwcmljZTozOTksb3JpZ2luYWxQcmljZTo0NDksaWNvbk5hbWU6Imx1Y2lkZTp2aWRlbyJ9fQogICAgICAgICAgICAuc2VsZWN0YWJsZT0keyEwfQogICAgICAgICAgICAuc2hvd1F1YW50aXR5U2VsZWN0b3I9JHshMX0KICAgICAgICAgICAgQHNlbGVjdGlvbkNoYW5nZT0ke2E9PntsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjc2VsZWN0aW9uLW91dHB1dCIpO2lmKGUpe2xldCB0PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmRbc2VsZWN0YWJsZV0iKSxyPVtdO3QuZm9yRWFjaChpPT57aS5zZWxlY3RlZCYmci5wdXNoKGkucHJvZHVjdERhdGEubmFtZSl9KSxlLnRleHRDb250ZW50PXIubGVuZ3RoPjA/YFNlbGVjdGVkOiAke3Iuam9pbigiLCAiKX1gOiJObyBwcm9kdWN0cyBzZWxlY3RlZCJ9fX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ic2VsZWN0ZWQtcHJvZHVjdHMiIGlkPSJzZWxlY3Rpb24tb3V0cHV0IiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsiPgogICAgICAgICAgTm8gcHJvZHVjdHMgc2VsZWN0ZWQKICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlByb2R1Y3QgVmFyaWF0aW9ucyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgc3RhdGVzIGFuZCBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiTGltaXRlZCBFZGl0aW9uIFNuZWFrZXJzIixjYXRlZ29yeToiRm9vdHdlYXIiLGRlc2NyaXB0aW9uOiJFeGNsdXNpdmUgY29sb3J3YXkgLSBPbmx5IDUwMCBwYWlycyIscHJpY2U6Mjk5LGljb25OYW1lOiJsdWNpZGU6Zm9vdHByaW50cyIsaW5TdG9jazohMSxzdG9ja1RleHQ6IlNvbGQgT3V0In19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezB9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgoKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJNaW5pbWFsaXN0IFdhbGxldCIscHJpY2U6MzkuOTksaWNvbk5hbWU6Imx1Y2lkZTp3YWxsZXQifX0KICAgICAgICAgICAgLnF1YW50aXR5PSR7MX0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CgogICAgICAgICAgPGRlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IlByZW1pdW0gQ29mZmVlIEJlYW5zIixjYXRlZ29yeToiRm9vZCAmIEJldmVyYWdlIixkZXNjcmlwdGlvbjoiU2luZ2xlIG9yaWdpbiwgbWVkaXVtIHJvYXN0IixwcmljZToxOC41LGljb25OYW1lOiJsdWNpZGU6Y29mZmVlIixjdXJyZW5jeToiXHUyMEFDIn19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezJ9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgbG0sJDEsX3NhLFJZZT1mKCgpPT57bGUoKTtDc2EoKTtRZSgpO0tyKCk7bG09ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LCQxPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxfc2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTaG9wcGluZ1Byb2R1Y3RjYXJkIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sZD1bJCh7dHlwZTpOdW1iZXJ9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSx5PVskKHt0eXBlOkJvb2xlYW59KV0sbG0odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwcm9kdWN0RGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4icHJvZHVjdERhdGEiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5wcm9kdWN0RGF0YSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnByb2R1Y3REYXRhPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSxsbSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InF1YW50aXR5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJxdWFudGl0eSJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnF1YW50aXR5LCJnZXQiKSxzZXQ6cygoeixPKT0+e3oucXVhbnRpdHk9T30sInNldCIpfSxtZXRhZGF0YTpffSxjLHApLGxtKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1F1YW50aXR5U2VsZWN0b3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNob3dRdWFudGl0eVNlbGVjdG9yImluIHosImhhcyIpLGdldDpzKHo9Pnouc2hvd1F1YW50aXR5U2VsZWN0b3IsImdldCIpLHNldDpzKCh6LE8pPT57ei5zaG93UXVhbnRpdHlTZWxlY3Rvcj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdiksbG0odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RhYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzZWxlY3RhYmxlImluIHosImhhcyIpLGdldDpzKHo9Pnouc2VsZWN0YWJsZSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNlbGVjdGFibGU9T30sInNldCIpfSxtZXRhZGF0YTpffSxiLGcpLGxtKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNlbGVjdGVkImluIHosImhhcyIpLGdldDpzKHo9Pnouc2VsZWN0ZWQsImdldCIpLHNldDpzKCh6LE8pPT57ei5zZWxlY3RlZD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksbG0obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz16c2E7c3RhdGljIGRlbW9Hcm91cHM9WyJTaW1wbGUiXTsjZT0kMSh0aGlzLG4se25hbWU6IlByb2R1Y3QgTmFtZSIscHJpY2U6MH0pO2dldCBwcm9kdWN0RGF0YSgpe3JldHVybiB0aGlzLiNlfXNldCBwcm9kdWN0RGF0YShfKXt0aGlzLiNlPV99I3Q9KCQxKHRoaXMsbCksJDEodGhpcyxjLDApKTtnZXQgcXVhbnRpdHkoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcXVhbnRpdHkoXyl7dGhpcy4jdD1ffSNhPSgkMSh0aGlzLHApLCQxKHRoaXMsbSwhMCkpO2dldCBzaG93UXVhbnRpdHlTZWxlY3Rvcigpe3JldHVybiB0aGlzLiNhfXNldCBzaG93UXVhbnRpdHlTZWxlY3RvcihfKXt0aGlzLiNhPV99I3I9KCQxKHRoaXMsdiksJDEodGhpcyxiLCExKSk7Z2V0IHNlbGVjdGFibGUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2VsZWN0YWJsZShfKXt0aGlzLiNyPV99I3M9KCQxKHRoaXMsZyksJDEodGhpcyxrLCExKSk7Z2V0IHNlbGVjdGVkKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNlbGVjdGVkKF8pe3RoaXMuI3M9X31zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICBkZWVzLXRpbGUgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgZGVlcy10aWxlOmhvdmVyOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpOwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IGhzbCgwIDAlIDAlIC8gMC4xKSwgMCAycHggNHB4IC0ycHggaHNsKDAgMCUgMCUgLyAwLjEpOwogICAgICB9CgogICAgICBkZWVzLXRpbGUuc2VsZWN0YWJsZSB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICBkZWVzLXRpbGUuc2VsZWN0ZWQ6OnBhcnQob3V0ZXIpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAucHJvZHVjdC1pbWFnZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxODBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucHJvZHVjdC1pbWFnZSBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgfQoKICAgICAgLnByb2R1Y3QtaW1hZ2UgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDQ4cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDIwLjIlIDY1LjElKSIsImhzbCgyMTUgMjAuMiUgMzUuMSUpIil9OwogICAgICB9CgogICAgICAuc2VsZWN0aW9uLWNoZWNrYm94IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAxMnB4OwogICAgICAgIHJpZ2h0OiAxMnB4OwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDMwJSA2LjglKSIpfTsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNSAyMC4yJSA2NS4xJSkiLCJoc2woMjE1IDIwLjIlIDM1LjElKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAuc2VsZWN0aW9uLWNoZWNrYm94LmNoZWNrZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgfQoKICAgICAgLnNlbGVjdGlvbi1jaGVja2JveCBkZWVzLWljb24gewogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zZWxlY3Rpb24tY2hlY2tib3guY2hlY2tlZCBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgfQoKICAgICAgLnByb2R1Y3QtaGVhZGVyLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAucHJvZHVjdC1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAucHJvZHVjdC1jYXRlZ29yeSB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5wcm9kdWN0LWJvZHkgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5wcm9kdWN0LWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZmxleDogMTsKICAgICAgfQogICAgICAKICAgICAgLnByb2R1Y3QtZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KICAgICAgCiAgICAgIC5wcm9kdWN0LWZvb3RlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5wcm9kdWN0LXByaWNlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIC5wcmljZS1jdXJyZW50IHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAucHJpY2Utb3JpZ2luYWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsKICAgICAgfQoKICAgICAgLnN0b2NrLXN0YXR1cyB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICB9CgogICAgICAuc3RvY2stc3RhdHVzLmluLXN0b2NrIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiLCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIil9OwogICAgICB9CgogICAgICAuc3RvY2stc3RhdHVzLm91dC1vZi1zdG9jayB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSkiLCJoc2woMCA2Mi44JSAzMC42JSkiKX07CiAgICAgIH0KCiAgICAgIC5zdG9jay1zdGF0dXMgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldHtuYW1lOl8sY2F0ZWdvcnk6eixkZXNjcmlwdGlvbjpPLHByaWNlOlQsb3JpZ2luYWxQcmljZTpFLGN1cnJlbmN5OkI9IiQiLGluU3RvY2s6TT0hMCxzdG9ja1RleHQ6Uz1NPyJJbiBTdG9jayI6Ik91dCBvZiBTdG9jayIsaW1hZ2VVcmw6UCxpY29uTmFtZTpBPSJsdWNpZGU6cGFja2FnZSJ9PXRoaXMucHJvZHVjdERhdGEsRj1zKFc9PmAke0J9JHtXLnRvRml4ZWQoMil9YCwiZm9ybWF0UHJpY2UiKTtyZXR1cm4gd2AKICAgICAgPGRlZXMtdGlsZQogICAgICAgIGNsYXNzPSIke3RoaXMuc2VsZWN0YWJsZT8ic2VsZWN0YWJsZSI6IiJ9ICR7dGhpcy5zZWxlY3RlZD8ic2VsZWN0ZWQiOiIifSIKICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZUNhcmRDbGlja30KICAgICAgPgogICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0icHJvZHVjdC1oZWFkZXItYmFyIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcm9kdWN0LW5hbWUiPiR7X308L3NwYW4+CiAgICAgICAgICAke3o/d2A8c3BhbiBjbGFzcz0icHJvZHVjdC1jYXRlZ29yeSI+JHt6fTwvc3Bhbj5gOiIifQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtYm9keSI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LWltYWdlIj4KICAgICAgICAgICAgJHtQP3dgCiAgICAgICAgICAgICAgPGltZyBzcmM9IiR7UH0iIGFsdD0iJHtffSI+CiAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7QX0+PC9kZWVzLWljb24+CiAgICAgICAgICAgIGB9CiAgICAgICAgICAgICR7dGhpcy5zZWxlY3RhYmxlP3dgCiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9InNlbGVjdGlvbi1jaGVja2JveCAke3RoaXMuc2VsZWN0ZWQ/ImNoZWNrZWQiOiIifSIKICAgICAgICAgICAgICAgIEBjbGljaz0ke1c9PntXLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuaGFuZGxlU2VsZWN0aW9uVG9nZ2xlKCl9fQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmNoZWNrIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtY29udGVudCI+CiAgICAgICAgICAgICR7Tz93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2R1Y3QtZGVzY3JpcHRpb24iPiR7T308L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RvY2stc3RhdHVzICR7TT8iaW4tc3RvY2siOiJvdXQtb2Ytc3RvY2sifSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke00/Imx1Y2lkZTpjaGVjay1jaXJjbGUiOiJsdWNpZGU6eC1jaXJjbGUifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAke1N9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJwcm9kdWN0LWZvb3RlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0LXByaWNlIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByaWNlLWN1cnJlbnQiPiR7RihUKX08L3NwYW4+CiAgICAgICAgICAgICR7RSYmRT5UP3dgCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByaWNlLW9yaWdpbmFsIj4ke0YoRSl9PC9zcGFuPgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAke3RoaXMuc2hvd1F1YW50aXR5U2VsZWN0b3I/d2AKICAgICAgICAgICAgPGRlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3RvcgogICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMucXVhbnRpdHl9CiAgICAgICAgICAgICAgQGNoYW5nZVN1YmplY3Q9JHtXPT57dGhpcy5xdWFudGl0eT1XLmRldGFpbC5nZXRWYWx1ZSgpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInF1YW50aXR5Q2hhbmdlIix7ZGV0YWlsOntxdWFudGl0eTp0aGlzLnF1YW50aXR5LHByb2R1Y3REYXRhOnRoaXMucHJvZHVjdERhdGF9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9fQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3I+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9aGFuZGxlQ2FyZENsaWNrKCl7dGhpcy5zZWxlY3RhYmxlJiYodGhpcy5zZWxlY3RlZD0hdGhpcy5zZWxlY3RlZCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWxlY3Rpb25DaGFuZ2UiLHtkZXRhaWw6e3NlbGVjdGVkOnRoaXMuc2VsZWN0ZWQscHJvZHVjdERhdGE6dGhpcy5wcm9kdWN0RGF0YX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSl9aGFuZGxlU2VsZWN0aW9uVG9nZ2xlKCl7dGhpcy5zZWxlY3RlZD0hdGhpcy5zZWxlY3RlZCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWxlY3Rpb25DaGFuZ2UiLHtkZXRhaWw6e3NlbGVjdGVkOnRoaXMuc2VsZWN0ZWQscHJvZHVjdERhdGE6dGhpcy5wcm9kdWN0RGF0YX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksJDEodGhpcyxDKX1zdGF0aWN7JDEocix0KX19O3JldHVybiBOPXJ9KSgpfSk7dmFyIFRzYSxMc2E9ZigoKT0+e2xlKCk7UlllKCk7VHNhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7UWAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnNob3BwaW5nLWdyaWQgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI4MHB4LCAxZnIpKTsKICAgICAgICAgIGdhcDogMjBweDsKICAgICAgICB9CgogICAgICAgIC5jYXJ0LXN1bW1hcnkgewogICAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgMjEuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIH0KCiAgICAgICAgLmNhcnQtc3VtbWFyeS10aXRsZSB7CiAgICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICB9CgogICAgICAgIC5jYXJ0LWl0ZW0gewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjE3LjkgMTAuNiUgNzQuOSUpIil9OwogICAgICAgIH0KCiAgICAgICAgLmNhcnQtdG90YWwgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBwYWRkaW5nLXRvcDogMTZweDsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgUXVhbnRpdHkgU2VsZWN0b3IifSAuc3VidGl0bGU9JHsiU2ltcGxlIHF1YW50aXR5IGlucHV0IHdpdGggaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3IKICAgICAgICAgICAgLmxhYmVsPSR7IlF1YW50aXR5In0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IlNlbGVjdCB0aGUgZGVzaXJlZCBxdWFudGl0eSJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJNaW5pbXVtIG9yZGVyIHF1YW50aXR5IGlzIDEgaXRlbSJ9CiAgICAgICAgICAgIC52YWx1ZT0kezF9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3I+CgogICAgICAgICAgPGRlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3RvcgogICAgICAgICAgICAubGFiZWw9JHsiSXRlbXMgaW4gQ2FydCJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJBZGp1c3QgdGhlIHF1YW50aXR5IG9mIGl0ZW1zIn0KICAgICAgICAgICAgLnZhbHVlPSR7M30KICAgICAgICAgID48L2RlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3Rvcj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlNob3BwaW5nIENhcnQifSAuc3VidGl0bGU9JHsiTW9kZXJuIGUtY29tbWVyY2UgcHJvZHVjdCBjYXJkcyB3aXRoIGludGVyYWN0aXZlIHF1YW50aXR5IHNlbGVjdG9ycyJ9IC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1zKCgpPT57bGV0IHQ9YS5xdWVyeVNlbGVjdG9yKCIjaGVhZHBob25lcy1xdHkiKSxyPWEucXVlcnlTZWxlY3RvcigiI21vdXNlLXF0eSIpLGk9YS5xdWVyeVNlbGVjdG9yKCIja2V5Ym9hcmQtcXR5Iiksbz10Py5xdWFudGl0eXx8MCxuPXI/LnF1YW50aXR5fHwwLGw9aT8ucXVhbnRpdHl8fDAsZD0zNDkuOTkqbyxjPTk5Ljk5Km4scD03OS45OSpsLHU9ZCtjK3AsbT1hLnF1ZXJ5U2VsZWN0b3IoIiNjYXJ0LXN1bW1hcnktY29udGVudCIpO20mJihtLmlubmVySFRNTD1gCiAgICAgICAgICAgICAgJHtvPjA/YDxkaXYgY2xhc3M9ImNhcnQtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3Bhbj5Tb255IFdILTEwMDBYTTUgKCR7b30pPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4+JCR7ZC50b0ZpeGVkKDIpfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj5gOiIifQogICAgICAgICAgICAgICR7bj4wP2A8ZGl2IGNsYXNzPSJjYXJ0LWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4+TG9naXRlY2ggTVggTWFzdGVyIDNTICgke259KTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuPiQke2MudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+YDoiIn0KICAgICAgICAgICAgICAke2w+MD9gPGRpdiBjbGFzcz0iY2FydC1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuPktleWNocm9uIEsyICgke2x9KTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuPiQke3AudG9GaXhlZCgyKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+YDoiIn0KICAgICAgICAgICAgICAke3U9PT0wPyc8ZGl2IGNsYXNzPSJjYXJ0LWl0ZW0iIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7IGNvbG9yOiAjOTk5OyI+WW91ciBjYXJ0IGlzIGVtcHR5PC9kaXY+JzoiIn0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJ0LXRvdGFsIj4KICAgICAgICAgICAgICAgIDxzcGFuPlRvdGFsPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4+JCR7dS50b0ZpeGVkKDIpfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCl9LCJ1cGRhdGVDYXJ0U3VtbWFyeSIpO3NldFRpbWVvdXQoZSwxMDApLGEucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZCIpLmZvckVhY2godD0+e3QuYWRkRXZlbnRMaXN0ZW5lcigicXVhbnRpdHlDaGFuZ2UiLGUpfSl9fT4KICAgICAgICA8ZGl2IGNsYXNzPSJzaG9wcGluZy1ncmlkIj4KICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIGlkPSJoZWFkcGhvbmVzLXF0eSIKICAgICAgICAgICAgLnByb2R1Y3REYXRhPSR7e25hbWU6IlNvbnkgV0gtMTAwMFhNNSBXaXJlbGVzcyBIZWFkcGhvbmVzIixjYXRlZ29yeToiQXVkaW8iLGRlc2NyaXB0aW9uOiJJbmR1c3RyeS1sZWFkaW5nIG5vaXNlIGNhbmNlbGluZyB3aXRoIEF1dG8gTkMgT3B0aW1pemVyIixwcmljZTozNDkuOTksb3JpZ2luYWxQcmljZTozOTkuOTksaWNvbk5hbWU6Imx1Y2lkZTpoZWFkcGhvbmVzIn19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezF9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1zaG9wcGluZy1wcm9kdWN0Y2FyZAogICAgICAgICAgICBpZD0ibW91c2UtcXR5IgogICAgICAgICAgICAucHJvZHVjdERhdGE9JHt7bmFtZToiTG9naXRlY2ggTVggTWFzdGVyIDNTIixjYXRlZ29yeToiQWNjZXNzb3JpZXMiLGRlc2NyaXB0aW9uOiJQZXJmb3JtYW5jZSB3aXJlbGVzcyBtb3VzZSB3aXRoIHVsdHJhLWZhc3Qgc2Nyb2xsaW5nIixwcmljZTo5OS45OSxpY29uTmFtZToibHVjaWRlOm1vdXNlLXBvaW50ZXIifX0KICAgICAgICAgICAgLnF1YW50aXR5PSR7Mn0KICAgICAgICAgID48L2RlZXMtc2hvcHBpbmctcHJvZHVjdGNhcmQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkCiAgICAgICAgICAgIGlkPSJrZXlib2FyZC1xdHkiCiAgICAgICAgICAgIC5wcm9kdWN0RGF0YT0ke3tuYW1lOiJLZXljaHJvbiBLMiBXaXJlbGVzcyBNZWNoYW5pY2FsIEtleWJvYXJkIixjYXRlZ29yeToiS2V5Ym9hcmRzIixkZXNjcmlwdGlvbjoiQ29tcGFjdCA3NSUgbGF5b3V0IHdpdGggaG90LXN3YXBwYWJsZSBzd2l0Y2hlcyIscHJpY2U6NzkuOTksb3JpZ2luYWxQcmljZTo5NC45OSxpY29uTmFtZToibHVjaWRlOmtleWJvYXJkIn19CiAgICAgICAgICAgIC5xdWFudGl0eT0kezF9CiAgICAgICAgICA+PC9kZWVzLXNob3BwaW5nLXByb2R1Y3RjYXJkPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJjYXJ0LXN1bW1hcnkiPgogICAgICAgICAgPGgzIGNsYXNzPSJjYXJ0LXN1bW1hcnktdGl0bGUiPk9yZGVyIFN1bW1hcnk8L2gzPgogICAgICAgICAgPGRpdiBpZD0iY2FydC1zdW1tYXJ5LWNvbnRlbnQiPgogICAgICAgICAgICA8IS0tIENvbnRlbnQgd2lsbCBiZSBkeW5hbWljYWxseSB1cGRhdGVkIC0tPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJSZXF1aXJlZCAmIERpc2FibGVkIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgc3RhdGVzIGZvciB2YWxpZGF0aW9uIGFuZCByZXN0cmljdGlvbnMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3RvcgogICAgICAgICAgICAubGFiZWw9JHsiTnVtYmVyIG9mIExpY2Vuc2VzIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IlNlbGVjdCBob3cgbWFueSBsaWNlbnNlcyB5b3UgbmVlZCJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAudmFsdWU9JHsxfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1xdWFudGl0eXNlbGVjdG9yPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3IKICAgICAgICAgICAgLmxhYmVsPSR7IkZpeGVkIFF1YW50aXR5In0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IlRoaXMgcXVhbnRpdHkgY2Fubm90IGJlIGNoYW5nZWQifQogICAgICAgICAgICAuZGlzYWJsZWQ9JHshMH0KICAgICAgICAgICAgLnZhbHVlPSR7NX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcXVhbnRpdHlzZWxlY3Rvcj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7Ik9yZGVyIEZvcm0ifSAuc3VidGl0bGU9JHsiQ29tcGxldGUgb3JkZXIgZm9ybSB3aXRoIHF1YW50aXR5IHNlbGVjdGlvbiJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJDdXN0b21lciBOYW1lIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IlByb2R1Y3QifQogICAgICAgICAgICAub3B0aW9ucz0ke1siQmFzaWMgUGxhbiIsIlBybyBQbGFuIiwiRW50ZXJwcmlzZSBQbGFuIl19CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIDxkZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3IKICAgICAgICAgICAgLmxhYmVsPSR7IlF1YW50aXR5In0KICAgICAgICAgICAgLmluZm9UZXh0PSR7Ik51bWJlciBvZiBsaWNlbnNlcyJ9CiAgICAgICAgICAgIC52YWx1ZT0kezF9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3I+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD0keyJTcGVjaWFsIEluc3RydWN0aW9ucyJ9CiAgICAgICAgICAgIC5pbnB1dFR5cGU9JHsidGV4dGFyZWEifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgJHNhLE9ZZSxpYWUsRlllPWYoKCk9PntsZSgpO0p0KCk7U3IoKTtMc2EoKTtRZSgpOyRzYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sT1llPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxpYWU9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LXF1YW50aXR5c2VsZWN0b3IiKV0sZSx0PVtdLHIsaT13dCxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0UXVhbnRpdHlTZWxlY3RvciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6TnVtYmVyfSldLCRzYSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJ2YWx1ZSJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLnZhbHVlLCJnZXQiKSxzZXQ6cygocCx1KT0+e3AudmFsdWU9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLCRzYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPVRzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9T1llKHRoaXMsbiwxKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W0VlLC4uLnd0LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgICA6aG9zdCB7CiAgICAgICAgICB3aWR0aDogYXV0bzsKICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIH0KCiAgICAgICAgLnF1YW50aXR5LWNvbnRhaW5lciB7CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgICAgcGFkZGluZzogMDsKICAgICAgICAgIG1pbi13aWR0aDogMTIwcHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnF1YW50aXR5LWNvbnRhaW5lci5kaXNhYmxlZCB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAucXVhbnRpdHktY29udGFpbmVyOmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgICB9CgogICAgICAgIC5xdWFudGl0eS1jb250YWluZXI6Zm9jdXMtd2l0aGluIHsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xKSIpfTsKICAgICAgICB9CgogICAgICAgIC5zZWxlY3RvciB7CiAgICAgICAgICBmbGV4OiAwIDAgNDBweDsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB9CgogICAgICAgIC5zZWxlY3Rvcjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIH0KCiAgICAgICAgLnNlbGVjdG9yOmFjdGl2ZSB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTElKSIsImhzbCgwIDAlIDExJSkiKX07CiAgICAgICAgfQoKICAgICAgICAuc2VsZWN0b3IubWludXMgewogICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICB9CgogICAgICAgIC5zZWxlY3Rvci5wbHVzIHsKICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICB9CgogICAgICAgIC5xdWFudGl0eSB7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA2ZW07CiAgICAgICAgfQoKICAgICAgICAvKiBLZXlib2FyZCBuYXZpZ2F0aW9uIGZvY3VzIHN0eWxlcyAqLwogICAgICAgIC5zZWxlY3Rvcjpmb2N1cyB7CiAgICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgei1pbmRleDogMTsKICAgICAgICB9CgogICAgICAgIC8qIE1pbiB2YWx1ZSBzdGF0ZSAqLwogICAgICAgIC5xdWFudGl0eS1jb250YWluZXJbZGF0YS1taW49InRydWUiXSAuc2VsZWN0b3IubWludXMgewogICAgICAgICAgb3BhY2l0eTogMC4zOwogICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICB9CgogICAgICAgIC5xdWFudGl0eS1jb250YWluZXJbZGF0YS1taW49InRydWUiXSAuc2VsZWN0b3IubWludXM6aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB9CgogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgICR7dGhpcy5sYWJlbD93YDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx9IC5pbmZvVGV4dD0ke3RoaXMuaW5mb1RleHR9IC5yZXF1aXJlZD0ke3RoaXMucmVxdWlyZWR9PjwvZGVlcy1sYWJlbD5gOiIifQogICAgICAgIDxkaXYgCiAgICAgICAgICBjbGFzcz0icXVhbnRpdHktY29udGFpbmVyICR7dGhpcy5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIKICAgICAgICAgIGRhdGEtbWluPSIke3RoaXMudmFsdWU8PTB9IgogICAgICAgID4KICAgICAgICAgIDxkaXYgCiAgICAgICAgICAgIGNsYXNzPSJzZWxlY3RvciBtaW51cyIgCiAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+e3RoaXMuZGVjcmVhc2UoKX19IgogICAgICAgICAgICB0YWJpbmRleD0iJHt0aGlzLmRpc2FibGVkPyItMSI6IjAifSIKICAgICAgICAgICAgQGtleWRvd249IiR7Yz0+eyhjLmtleT09PSJFbnRlciJ8fGMua2V5PT09IiAiKSYmKGMucHJldmVudERlZmF1bHQoKSx0aGlzLmRlY3JlYXNlKCkpfX0iCiAgICAgICAgICAgIHJvbGU9ImJ1dHRvbiIKICAgICAgICAgICAgYXJpYS1sYWJlbD0iRGVjcmVhc2UgcXVhbnRpdHkiCiAgICAgICAgICA+4oiSPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJxdWFudGl0eSIgYXJpYS1saXZlPSJwb2xpdGUiIGFyaWEtYXRvbWljPSJ0cnVlIj4ke3RoaXMudmFsdWV9PC9kaXY+CiAgICAgICAgICA8ZGl2IAogICAgICAgICAgICBjbGFzcz0ic2VsZWN0b3IgcGx1cyIgCiAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+e3RoaXMuaW5jcmVhc2UoKX19IgogICAgICAgICAgICB0YWJpbmRleD0iJHt0aGlzLmRpc2FibGVkPyItMSI6IjAifSIKICAgICAgICAgICAgQGtleWRvd249IiR7Yz0+eyhjLmtleT09PSJFbnRlciJ8fGMua2V5PT09IiAiKSYmKGMucHJldmVudERlZmF1bHQoKSx0aGlzLmluY3JlYXNlKCkpfX0iCiAgICAgICAgICAgIHJvbGU9ImJ1dHRvbiIKICAgICAgICAgICAgYXJpYS1sYWJlbD0iSW5jcmVhc2UgcXVhbnRpdHkiCiAgICAgICAgICA+KzwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICA8L2Rpdj4KICAgIGB9aW5jcmVhc2UoKXt0aGlzLmRpc2FibGVkfHwodGhpcy52YWx1ZSsrLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX1kZWNyZWFzZSgpeyF0aGlzLmRpc2FibGVkJiZ0aGlzLnZhbHVlPjAmJih0aGlzLnZhbHVlLS0sdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoYyl7dGhpcy52YWx1ZT1jfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxPWWUodGhpcyxsKX1zdGF0aWN7T1llKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBEc2EsQXNhPWYoKCk9PntsZSgpO0lhKCk7VXMoKTtEc2E9cygoKT0+d2AKICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgIDxzdHlsZT4KICAgICAgJHtRYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZGVtby1ncmlkIHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDMwMHB4LCAxZnIpKTsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnJlc3VsdC1kaXNwbGF5IHsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAxMDUsIDI0MiwgMC4xKTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMS4gQmFzaWMgUmFkaW8gR3JvdXBzIn0gLnN1YnRpdGxlPSR7IlNpbXBsZSBzdHJpbmcgb3B0aW9ucyBmb3IgY29tbW9uIHVzZSBjYXNlcyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWdyaWQiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgICAgLmxhYmVsPSR7IlN1YnNjcmlwdGlvbiBQbGFuIn0KICAgICAgICAgICAgICAub3B0aW9ucz0ke1siQmFzaWMgLSAkOS9tb250aCIsIlBybyAtICQyOS9tb250aCIsIkVudGVycHJpc2UgLSAkOTkvbW9udGgiXX0KICAgICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiUHJvIC0gJDI5L21vbnRoIn0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQ2hvb3NlIHlvdXIgc3Vic2NyaXB0aW9uIHRpZXIifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1yYWRpb2dyb3VwCiAgICAgICAgICAgICAgLmxhYmVsPSR7IlByaW9yaXR5IExldmVsIn0KICAgICAgICAgICAgICAub3B0aW9ucz0ke1siSGlnaCIsIk1lZGl1bSIsIkxvdyJdfQogICAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJNZWRpdW0ifQogICAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjIuIEhvcml6b250YWwgTGF5b3V0In0gLnN1YnRpdGxlPSR7IlJhZGlvIGdyb3VwcyB3aXRoIGhvcml6b250YWwgYXJyYW5nZW1lbnQifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAubGFiZWw9JHsiRG8geW91IGFncmVlIHdpdGggdGhlIHRlcm1zPyJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJZZXMiLCJObyIsIk1heWJlIl19CiAgICAgICAgICAgIC5kaXJlY3Rpb249JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJZZXMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IkV4cGVyaWVuY2UgTGV2ZWwifQogICAgICAgICAgICAub3B0aW9ucz0ke1siQmVnaW5uZXIiLCJJbnRlcm1lZGlhdGUiLCJFeHBlcnQiXX0KICAgICAgICAgICAgLmRpcmVjdGlvbj0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkludGVybWVkaWF0ZSJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJTZWxlY3QgeW91ciBleHBlcmllbmNlIGxldmVsIHdpdGggd2ViIGRldmVsb3BtZW50In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjMuIEFkdmFuY2VkIE9wdGlvbnMifSAuc3VidGl0bGU9JHsiVXNpbmcgb2JqZWN0IGZvcm1hdCB3aXRoIGtleXMgYW5kIHBheWxvYWRzIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgaWQ9ImFkdmFuY2VkLXJhZGlvIgogICAgICAgICAgLmxhYmVsPSR7IlNlbGVjdCBSZWdpb24ifQogICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiVW5pdGVkIFN0YXRlcyAoVVMgRWFzdCkiLGtleToidXMtZWFzdCIscGF5bG9hZDp7cmVnaW9uOiJ1cy1lYXN0LTEiLGxhdGVuY3k6MjB9fSx7b3B0aW9uOiJFdXJvcGUgKEZyYW5rZnVydCkiLGtleToiZXUtY2VudHJhbCIscGF5bG9hZDp7cmVnaW9uOiJldS1jZW50cmFsLTEiLGxhdGVuY3k6NTB9fSx7b3B0aW9uOiJBc2lhIFBhY2lmaWMgKFNpbmdhcG9yZSkiLGtleToiYXAtc291dGhlYXN0IixwYXlsb2FkOntyZWdpb246ImFwLXNvdXRoZWFzdC0xIixsYXRlbmN5OjEyMH19XX0KICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJldS1jZW50cmFsIn0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJDaG9vc2UgdGhlIGNsb3Nlc3QgcmVnaW9uIGZvciBvcHRpbWFsIHBlcmZvcm1hbmNlIn0KICAgICAgICAgIEBjaGFuZ2U9JHthPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3JlZ2lvbi1yZXN1bHQiKTtlJiYoZS50ZXh0Q29udGVudD0iU2VsZWN0ZWQ6ICIrSlNPTi5zdHJpbmdpZnkoYS5kZXRhaWwudmFsdWUsbnVsbCwyKSl9fQogICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICA8ZGl2IGlkPSJyZWdpb24tcmVzdWx0IiBjbGFzcz0icmVzdWx0LWRpc3BsYXkiPlNlbGVjdGVkOiB7ICJyZWdpb24iOiAiZXUtY2VudHJhbC0xIiwgImxhdGVuY3kiOiA1MCB9PC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI0LiBTdXJ2ZXkgRXhhbXBsZSJ9IC5zdWJ0aXRsZT0keyJNdWx0aXBsZSByYWRpbyBncm91cHMgZm9yIHN1cnZleXMgYW5kIGZvcm1zIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tZ3JpZCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgICAubGFiZWw9JHsiSG93IHNhdGlzZmllZCBhcmUgeW91PyJ9CiAgICAgICAgICAgICAgLm9wdGlvbnM9JHtbIlZlcnkgU2F0aXNmaWVkIiwiU2F0aXNmaWVkIiwiTmV1dHJhbCIsIkRpc3NhdGlzZmllZCIsIlZlcnkgRGlzc2F0aXNmaWVkIl19CiAgICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IlNhdGlzZmllZCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgICAubGFiZWw9JHsiV291bGQgeW91IHJlY29tbWVuZCB1cz8ifQogICAgICAgICAgICAgIC5vcHRpb25zPSR7WyJEZWZpbml0ZWx5IiwiUHJvYmFibHkiLCJOb3QgU3VyZSIsIlByb2JhYmx5IE5vdCIsIkRlZmluaXRlbHkgTm90Il19CiAgICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IlByb2JhYmx5In0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI1LiBTdGF0ZXMgJiBWYWxpZGF0aW9uIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCBzdGF0ZXMgYW5kIHZhbGlkYXRpb24gZXhhbXBsZXMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1ncmlkIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAgIC5sYWJlbD0keyJSZXF1aXJlZCBTZWxlY3Rpb24ifQogICAgICAgICAgICAgIC5vcHRpb25zPSR7WyJPcHRpb24gQSIsIk9wdGlvbiBCIiwiT3B0aW9uIEMiXX0KICAgICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiVGhpcyBmaWVsZCBpcyByZXF1aXJlZCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgICAubGFiZWw9JHsiRGlzYWJsZWQgU3RhdGUifQogICAgICAgICAgICAgIC5vcHRpb25zPSR7WyJEaXNhYmxlZCBPcHRpb24gMSIsIkRpc2FibGVkIE9wdGlvbiAyIiwiRGlzYWJsZWQgT3B0aW9uIDMiXX0KICAgICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiRGlzYWJsZWQgT3B0aW9uIDIifQogICAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjYuIFNldHRpbmdzIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiQ29tbW9uIHBhdHRlcm5zIGluIGFwcGxpY2F0aW9uIHNldHRpbmdzIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IlRoZW1lIFByZWZlcmVuY2UifQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJMaWdodCBUaGVtZSIsa2V5OiJsaWdodCIscGF5bG9hZDoibGlnaHQifSx7b3B0aW9uOiJEYXJrIFRoZW1lIixrZXk6ImRhcmsiLHBheWxvYWQ6ImRhcmsifSx7b3B0aW9uOiJTeXN0ZW0gRGVmYXVsdCIsa2V5OiJzeXN0ZW0iLHBheWxvYWQ6ImF1dG8ifV19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJkYXJrIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkNob29zZSBob3cgdGhlIGFwcGxpY2F0aW9uIHNob3VsZCBhcHBlYXIifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7Ik5vdGlmaWNhdGlvbiBGcmVxdWVuY3kifQogICAgICAgICAgICAub3B0aW9ucz0ke1siQWxsIE5vdGlmaWNhdGlvbnMiLCJJbXBvcnRhbnQgT25seSIsIk5vbmUiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkltcG9ydGFudCBPbmx5In0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkNvbnRyb2wgaG93IG9mdGVuIHlvdSByZWNlaXZlIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7Ikxhbmd1YWdlIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkVuZ2xpc2giLCJHZXJtYW4iLCJGcmVuY2giLCJTcGFuaXNoIiwiSmFwYW5lc2UiXX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkVuZ2xpc2gifQogICAgICAgICAgICAuZGlyZWN0aW9uPSR7Imhvcml6b250YWwifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yYWRpb2dyb3VwPgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNy4gRm9ybSBJbnRlZ3JhdGlvbiJ9IC5zdWJ0aXRsZT0keyJXb3JrcyBzZWFtbGVzc2x5IHdpdGggZGVlcy1mb3JtIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlByb2R1Y3QgTmFtZSJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAua2V5PSR7InByb2R1Y3ROYW1lIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAubGFiZWw9JHsiUHJvZHVjdCBDYXRlZ29yeSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJFbGVjdHJvbmljcyIsIkNsb3RoaW5nIiwiQm9va3MiLCJIb21lICYgR2FyZGVuIiwiU3BvcnRzIl19CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAua2V5PSR7ImNhdGVnb3J5In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcmFkaW9ncm91cAogICAgICAgICAgICAubGFiZWw9JHsiQ29uZGl0aW9uIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIk5ldyIsIkxpa2UgTmV3IiwiR29vZCIsIkZhaXIiLCJQb29yIl19CiAgICAgICAgICAgIC5kaXJlY3Rpb249JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5rZXk9JHsiY29uZGl0aW9uIn0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7Ik5ldyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJhZGlvZ3JvdXA+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IlNoaXBwaW5nIFNwZWVkIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiU3RhbmRhcmQgKDUtNyBkYXlzKSIsa2V5OiJzdGFuZGFyZCIscGF5bG9hZDp7ZGF5czo3LHByaWNlOjB9fSx7b3B0aW9uOiJFeHByZXNzICgyLTMgZGF5cykiLGtleToiZXhwcmVzcyIscGF5bG9hZDp7ZGF5czozLHByaWNlOjEwfX0se29wdGlvbjoiT3Zlcm5pZ2h0IixrZXk6Im92ZXJuaWdodCIscGF5bG9hZDp7ZGF5czoxLHByaWNlOjI1fX1dfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsic3RhbmRhcmQifQogICAgICAgICAgICAua2V5PSR7InNoaXBwaW5nIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgLnRleHQ9JHsiU3VibWl0IFByb2R1Y3QifT48L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBFVSxoYyxvYWUsbmFlPWYoKCk9PntsZSgpO1NyKCk7QXNhKCk7UWUoKTtFVT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0saGM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LG9hZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtcmFkaW9ncm91cCIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRSYWRpb2dyb3VwIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGs9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKCldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sRVUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcHRpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJvcHRpb25zImluIEMsImhhcyIpLGdldDpzKEM9PkMub3B0aW9ucywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLm9wdGlvbnM9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxuLGwpLEVVKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRPcHRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+InNlbGVjdGVkT3B0aW9uImluIEMsImhhcyIpLGdldDpzKEM9PkMuc2VsZWN0ZWRPcHRpb24sImdldCIpLHNldDpzKChDLE4pPT57Qy5zZWxlY3RlZE9wdGlvbj1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGMscCksRVUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXJlY3Rpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImRpcmVjdGlvbiJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmRpcmVjdGlvbiwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmRpcmVjdGlvbj1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG0sdiksRVUodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZGF0aW9uU3RhdGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+InZhbGlkYXRpb25TdGF0ZSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnZhbGlkYXRpb25TdGF0ZSwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLnZhbGlkYXRpb25TdGF0ZT1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGIsZyksRVUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6a30sbnVsbCx0KSx5PXI9ZS52YWx1ZSxrJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KX1zdGF0aWMgZGVtbz1Ec2E7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPWhjKHRoaXMsbixbXSk7Z2V0IG9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgb3B0aW9ucyhrKXt0aGlzLiNlPWt9I3Q9KGhjKHRoaXMsbCksaGModGhpcyxjLCIiKSk7Z2V0IHNlbGVjdGVkT3B0aW9uKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkT3B0aW9uKGspe3RoaXMuI3Q9a30jYT0oaGModGhpcyxwKSxoYyh0aGlzLG0sInZlcnRpY2FsIikpO2dldCBkaXJlY3Rpb24oKXtyZXR1cm4gdGhpcy4jYX1zZXQgZGlyZWN0aW9uKGspe3RoaXMuI2E9a30jcj0oaGModGhpcyx2KSxoYyh0aGlzLGIsbnVsbCkpO2dldCB2YWxpZGF0aW9uU3RhdGUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdmFsaWRhdGlvblN0YXRlKGspe3RoaXMuI3I9a31nZXQgdmFsdWUoKXtsZXQgaz10aGlzLmdldE9wdGlvbkJ5S2V5KHRoaXMuc2VsZWN0ZWRPcHRpb24pO3JldHVybiB0eXBlb2Ygaz09Im9iamVjdCImJmsucGF5bG9hZCE9PXZvaWQgMD9rLnBheWxvYWQ6dGhpcy5zZWxlY3RlZE9wdGlvbn1zZXQgdmFsdWUoayl7aWYodHlwZW9mIGs9PSJzdHJpbmciKXRoaXMuc2VsZWN0ZWRPcHRpb249aztlbHNle2xldCBDPXRoaXMub3B0aW9ucy5maW5kKE49PnR5cGVvZiBOPT0ib2JqZWN0IiYmTi5wYXlsb2FkPT09ayk7QyYmdHlwZW9mIEM9PSJvYmplY3QiJiYodGhpcy5zZWxlY3RlZE9wdGlvbj1DLmtleSl9fXN0YXRpYyBzdHlsZXM9W0VlLC4uLnd0LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgICogewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lci5ob3Jpem9udGFsIHsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5yYWRpby1vcHRpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgcGFkZGluZzogNnB4IDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIuaG9yaXpvbnRhbCAucmFkaW8tb3B0aW9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMjBweCA2cHggMDsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbjpob3ZlciAucmFkaW8tY2lyY2xlIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDIwLjIlIDY1LjElKSIsImhzbCgyMTUgMjAuMiUgMzUuMSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbjpob3ZlciAucmFkaW8tbGFiZWwgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgIH0KCiAgICAgIC5yYWRpby1jaXJjbGUgewogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTUgMjAuMiUgNjUuMSUpIiwiaHNsKDIxNSAyMC4yJSAzNS4xJSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIxNSAzMCUgNi44JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAucmFkaW8tb3B0aW9uLnNlbGVjdGVkIC5yYWRpby1jaXJjbGUgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbi5zZWxlY3RlZCAucmFkaW8tY2lyY2xlOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMTUgMzAlIDYuOCUpIil9OwogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgLnJhZGlvLW9wdGlvbi5zZWxlY3RlZCAucmFkaW8tY2lyY2xlOjphZnRlciB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgfQoKICAgICAgLnJhZGlvLWNpcmNsZTpmb2N1cy12aXNpYmxlIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDMwJSAzLjklKSIpfSwKICAgICAgICAgICAgICAgICAgICAwIDAgMCA0cHggJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICB9CgogICAgICAucmFkaW8tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjE3LjkgMTAuNiUgNzQuOSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA2ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5yYWRpby1vcHRpb24uc2VsZWN0ZWQgLnJhZGlvLWxhYmVsIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAucmFkaW8tb3B0aW9uIHsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnJhZGlvLW9wdGlvbjpob3ZlciAucmFkaW8tY2lyY2xlIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDIwLjIlIDY1LjElKSIsImhzbCgyMTUgMjAuMiUgMzUuMSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMTUgMzAlIDYuOCUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSAucmFkaW8tb3B0aW9uOmhvdmVyIC5yYWRpby1sYWJlbCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTcuOSAxMC42JSA3NC45JSkiKX07CiAgICAgIH0KCiAgICAgIC5sYWJlbC10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAwNmVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICB9CgogICAgICAvKiBWYWxpZGF0aW9uIHN0eWxlcyAqLwogICAgICA6aG9zdChbdmFsaWRhdGlvblN0YXRlPSJpbnZhbGlkIl0pIC5yYWRpby1jaXJjbGUgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlKSIsImhzbCgwIDYyLjglIDMwLjYlKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoW3ZhbGlkYXRpb25TdGF0ZT0iaW52YWxpZCJdKSAucmFkaW8tb3B0aW9uLnNlbGVjdGVkIC5yYWRpby1jaXJjbGUgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlKSIsImhzbCgwIDYyLjglIDMwLjYlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUpIiwiaHNsKDAgNjIuOCUgMzAuNiUpIil9OwogICAgICB9CgogICAgICA6aG9zdChbdmFsaWRhdGlvblN0YXRlPSJ2YWxpZCJdKSAucmFkaW8tb3B0aW9uLnNlbGVjdGVkIC5yYWRpby1jaXJjbGUgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiLCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIiwiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoW3ZhbGlkYXRpb25TdGF0ZT0id2FybiJdKSAucmFkaW8tb3B0aW9uLnNlbGVjdGVkIC5yYWRpby1jaXJjbGUgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCg0NS40IDkzLjQlIDQ3LjUlKSIsImhzbCg0NS40IDkzLjQlIDQ3LjUlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDQ1LjQgOTMuNCUgNDcuNSUpIiwiaHNsKDQ1LjQgOTMuNCUgNDcuNSUpIil9OwogICAgICB9CgogICAgICAvKiBPdmVycmlkZSBiYXNlIGdyaWQgbGF5b3V0IGZvciByYWRpb2dyb3VwIHRvIHByZXZlbnQgbGFyZ2UgZ2FwcyAqLwogICAgICA6aG9zdChbbGFiZWwtcG9zaXRpb249ImxlZnQiXSkgLmlucHV0LXdyYXBwZXIgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvOwogICAgICB9CgogICAgICA6aG9zdChbbGFiZWwtcG9zaXRpb249InJpZ2h0Il0pIC5pbnB1dC13cmFwcGVyIHsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0bzsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgICR7dGhpcy5sYWJlbD93YDxkaXYgY2xhc3M9ImxhYmVsLXRleHQiPiR7dGhpcy5sYWJlbH08L2Rpdj5gOiIifQogICAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIgJHt0aGlzLmRpcmVjdGlvbn0iPgogICAgICAgICAgJHt0aGlzLm9wdGlvbnMubWFwKGs9PntsZXQgQz10aGlzLmdldE9wdGlvbktleShrKSxOPXRoaXMuZ2V0T3B0aW9uTGFiZWwoayksXz10aGlzLnNlbGVjdGVkT3B0aW9uPT09QztyZXR1cm4gd2AKICAgICAgICAgICAgICA8ZGl2IAogICAgICAgICAgICAgICAgY2xhc3M9InJhZGlvLW9wdGlvbiAke18/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgICAgICBAY2xpY2s9IiR7KCk9PnRoaXMuc2VsZWN0T3B0aW9uKEMpfSIKICAgICAgICAgICAgICAgIEBrZXlkb3duPSIke3o9PnRoaXMuaGFuZGxlS2V5ZG93bih6LEMpfSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGl2IAogICAgICAgICAgICAgICAgICBjbGFzcz0icmFkaW8tY2lyY2xlIiAKICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9IiR7dGhpcy5kaXNhYmxlZD8iLTEiOiIwIn0iCiAgICAgICAgICAgICAgICAgIHJvbGU9InJhZGlvIgogICAgICAgICAgICAgICAgICBhcmlhLWNoZWNrZWQ9IiR7X30iCiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9IiR7Tn0iCiAgICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpby1sYWJlbCI+JHtOfTwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgfSl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgIDwvZGl2PgogICAgYH1nZXRPcHRpb25LZXkoayl7cmV0dXJuIHR5cGVvZiBrPT0ic3RyaW5nIj9rOmsua2V5fWdldE9wdGlvbkxhYmVsKGspe3JldHVybiB0eXBlb2Ygaz09InN0cmluZyI/azprLm9wdGlvbn1nZXRPcHRpb25CeUtleShrKXtyZXR1cm4gdGhpcy5vcHRpb25zLmZpbmQoQz0+dGhpcy5nZXRPcHRpb25LZXkoQyk9PT1rKX1zZWxlY3RPcHRpb24oayl7aWYodGhpcy5kaXNhYmxlZClyZXR1cm47bGV0IEM9dGhpcy5zZWxlY3RlZE9wdGlvbjt0aGlzLnNlbGVjdGVkT3B0aW9uPWssQyE9PWsmJih0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjaGFuZ2UiLHtkZXRhaWw6e3ZhbHVlOnRoaXMudmFsdWV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiaW5wdXQiLHtkZXRhaWw6e3ZhbHVlOnRoaXMudmFsdWV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcykpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoayl7dGhpcy52YWx1ZT1rfWFzeW5jIHZhbGlkYXRlKCl7cmV0dXJuIHRoaXMucmVxdWlyZWQmJiF0aGlzLnNlbGVjdGVkT3B0aW9uPyh0aGlzLnZhbGlkYXRpb25TdGF0ZT0iaW52YWxpZCIsITEpOih0aGlzLnZhbGlkYXRpb25TdGF0ZT0idmFsaWQiLCEwKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXtpZighdGhpcy5zZWxlY3RlZE9wdGlvbiYmdGhpcy5vcHRpb25zLmxlbmd0aD4wJiYhdGhpcy5yZXF1aXJlZCl7bGV0IGs9dGhpcy5vcHRpb25zWzBdO3RoaXMuc2VsZWN0ZWRPcHRpb249dGhpcy5nZXRPcHRpb25LZXkoayl9fWhhbmRsZUtleWRvd24oayxDKXt0aGlzLmRpc2FibGVkfHwoay5rZXk9PT0iICJ8fGsua2V5PT09IkVudGVyIj8oay5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2VsZWN0T3B0aW9uKEMpKTprLmtleT09PSJBcnJvd0Rvd24ifHxrLmtleT09PSJBcnJvd1JpZ2h0Ij8oay5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZm9jdXNOZXh0T3B0aW9uKCkpOihrLmtleT09PSJBcnJvd1VwInx8ay5rZXk9PT0iQXJyb3dMZWZ0IikmJihrLnByZXZlbnREZWZhdWx0KCksdGhpcy5mb2N1c1ByZXZpb3VzT3B0aW9uKCkpKX1mb2N1c05leHRPcHRpb24oKXtsZXQgaz1BcnJheS5mcm9tKHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCIucmFkaW8tY2lyY2xlIikpLE49KGsuZmluZEluZGV4KF89Pl89PT10aGlzLnNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudCkrMSklay5sZW5ndGg7a1tOXS5mb2N1cygpfWZvY3VzUHJldmlvdXNPcHRpb24oKXtsZXQgaz1BcnJheS5mcm9tKHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCIucmFkaW8tY2lyY2xlIikpLEM9ay5maW5kSW5kZXgoXz0+Xz09PXRoaXMuc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50KSxOPUM8PTA/ay5sZW5ndGgtMTpDLTE7a1tOXS5mb2N1cygpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxoYyh0aGlzLGcpfXN0YXRpY3toYyhyLHQpfX07cmV0dXJuIHk9cn0pKCl9KTt2YXIgRXNhLFBzYT1mKCgpPT57bGUoKTtFc2E9cygoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDI0cHg7CiAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICB9CiAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAxMnB4OwogICAgfQogICAgLmRlbW8tc2VjdGlvbiBoMyB7CiAgICAgIG1hcmdpbjogMCAwIDhweCAwOwogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGNvbG9yOiAjODg4OwogICAgfQogICAgLmRlbW8tcm93IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZ2FwOiAxMnB4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+QmFzaWMgVXNhZ2U8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXJvdyI+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+U3VibWl0IEZvcm08L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgdGV4dD0iV2l0aCBUZXh0IFByb3BlcnR5Ij48L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPldpdGggSWNvbnMgKGluaGVyaXRlZCBmcm9tIERlZXNCdXR0b24pPC9oMz4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1yb3ciPgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IGljb249Imx1Y2lkZTpzZW5kIj5TdWJtaXQ8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgaWNvbj0ibHVjaWRlOnNhdmUiIGljb25Qb3NpdGlvbj0ibGVmdCI+U2F2ZSBGb3JtPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IGljb249Imx1Y2lkZTphcnJvdy1yaWdodCIgaWNvblBvc2l0aW9uPSJyaWdodCI+Q29udGludWU8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkJ1dHRvbiBUeXBlczwvaDM+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCB0eXBlPSJoaWdobGlnaHRlZCIgaWNvbj0ibHVjaWRlOnNlbmQiPkhpZ2hsaWdodGVkPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IHR5cGU9Im5vcm1hbCIgaWNvbj0ibHVjaWRlOnNlbmQiPk5vcm1hbDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCB0eXBlPSJkaXNjcmVldCIgaWNvbj0ibHVjaWRlOnNlbmQiPkRpc2NyZWV0PC9kZWVzLWZvcm0tc3VibWl0PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5TaXplczwvaDM+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBzaXplPSJzbWFsbCIgaWNvbj0ibHVjaWRlOnNlbmQiPlNtYWxsPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IHNpemU9Im5vcm1hbCIgaWNvbj0ibHVjaWRlOnNlbmQiPk5vcm1hbDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBzaXplPSJsYXJnZSIgaWNvbj0ibHVjaWRlOnNlbmQiPkxhcmdlPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5TdGF0ZXM8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXJvdyI+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgc3RhdHVzPSJub3JtYWwiIGljb249Imx1Y2lkZTpzZW5kIj5Ob3JtYWw8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgc3RhdHVzPSJwZW5kaW5nIiBpY29uPSJsdWNpZGU6c2VuZCI+UGVuZGluZzwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBzdGF0dXM9InN1Y2Nlc3MiIGljb249Imx1Y2lkZTpjaGVjayI+U3VjY2VzczwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCBzdGF0dXM9ImVycm9yIiBpY29uPSJsdWNpZGU6eCI+RXJyb3I8L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgZGlzYWJsZWQgaWNvbj0ibHVjaWRlOnNlbmQiPkRpc2FibGVkPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5JbiBhIEZvcm0gQ29udGV4dDwvaDM+CiAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBsYWJlbD0iTmFtZSIga2V5PSJuYW1lIj48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGxhYmVsPSJFbWFpbCIga2V5PSJlbWFpbCI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQgaWNvbj0ibHVjaWRlOnNlbmQiIHR5cGU9ImhpZ2hsaWdodGVkIj5TdWJtaXQgRm9ybTwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgPC9kZWVzLWZvcm0+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciB1NCxVaSxsYWUsQWY9ZigoKT0+e1BzYSgpO2xlKCk7UWUoKTt1ND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sVWk9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGxhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtZm9ybS1zdWJtaXQiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXTt2YXIgQj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0Zvcm1TdWJtaXQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLHk9WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sTj1bJCh7dHlwZTpTdHJpbmd9KV0sTz1bJCh7dHlwZTpTdHJpbmd9KV0sdTQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXNhYmxlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iZGlzYWJsZWQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5kaXNhYmxlZCwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmRpc2FibGVkPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbixsKSx1NCh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InRleHQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy50ZXh0LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MudGV4dD1QfSwic2V0Iil9LG1ldGFkYXRhOk19LGMscCksdTQodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InN0YXR1cyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnN0YXR1cywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnN0YXR1cz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG0sdiksdTQodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0eXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ0eXBlImluIFMsImhhcyIpLGdldDpzKFM9PlMudHlwZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnR5cGU9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLHU0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic2l6ZSJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnNpemUsImdldCIpLHNldDpzKChTLFApPT57Uy5zaXplPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSx1NCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imljb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+Imljb24iaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5pY29uLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuaWNvbj1QfSwic2V0Iil9LG1ldGFkYXRhOk19LF8seiksdTQodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpY29uUG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+Imljb25Qb3NpdGlvbiJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmljb25Qb3NpdGlvbiwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmljb25Qb3NpdGlvbj1QfSwic2V0Iil9LG1ldGFkYXRhOk19LFQsRSksdTQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCx0KSxCPXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1Fc2E7c3RhdGljIGRlbW9Hcm91cHM9WyJGb3JtIiwiQnV0dG9uIl07I2U9VWkodGhpcyxuLCExKTtnZXQgZGlzYWJsZWQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZGlzYWJsZWQoTSl7dGhpcy4jZT1NfSN0PShVaSh0aGlzLGwpLFVpKHRoaXMsYyx2b2lkIDApKTtnZXQgdGV4dCgpe3JldHVybiB0aGlzLiN0fXNldCB0ZXh0KE0pe3RoaXMuI3Q9TX0jYT0oVWkodGhpcyxwKSxVaSh0aGlzLG0sIm5vcm1hbCIpKTtnZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHN0YXR1cyhNKXt0aGlzLiNhPU19I3I9KFVpKHRoaXMsdiksVWkodGhpcyxiLCJkZWZhdWx0IikpO2dldCB0eXBlKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHR5cGUoTSl7dGhpcy4jcj1NfSNzPShVaSh0aGlzLGcpLFVpKHRoaXMsaywiZGVmYXVsdCIpKTtnZXQgc2l6ZSgpe3JldHVybiB0aGlzLiNzfXNldCBzaXplKE0pe3RoaXMuI3M9TX0jaT0oVWkodGhpcyxDKSxVaSh0aGlzLF8sdm9pZCAwKSk7Z2V0IGljb24oKXtyZXR1cm4gdGhpcy4jaX1zZXQgaWNvbihNKXt0aGlzLiNpPU19I289KFVpKHRoaXMseiksVWkodGhpcyxULCJsZWZ0IikpO2dldCBpY29uUG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jb31zZXQgaWNvblBvc2l0aW9uKE0pe3RoaXMuI289TX1jb25zdHJ1Y3Rvcigpe3N1cGVyKCksVWkodGhpcyxFKX1zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQogICAgICBkZWVzLWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGVlcy1idXR0b24KICAgICAgICAuc3RhdHVzPSR7dGhpcy5zdGF0dXN9CiAgICAgICAgLnR5cGU9JHt0aGlzLnR5cGV9CiAgICAgICAgLnNpemU9JHt0aGlzLnNpemV9CiAgICAgICAgLmljb249JHt0aGlzLmljb259CiAgICAgICAgLmljb25Qb3NpdGlvbj0ke3RoaXMuaWNvblBvc2l0aW9ufQogICAgICAgIC50ZXh0PSR7dGhpcy50ZXh0fQogICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgQGNsaWNrZWQ9JHt0aGlzLnN1Ym1pdH0KICAgICAgPjwvZGVlcy1idXR0b24+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2lmKCF0aGlzLnRleHQpe2xldCBNPXRoaXMudGV4dENvbnRlbnQ/LnRyaW0oKTtNJiYodGhpcy50ZXh0PU0pfX1hc3luYyBzdWJtaXQoKXtpZih0aGlzLmRpc2FibGVkKXJldHVybjtsZXQgTT10aGlzLmNsb3Nlc3QoImRlZXMtZm9ybSIpO00mJk0uZ2F0aGVyQW5kRGlzcGF0Y2gmJk0uZ2F0aGVyQW5kRGlzcGF0Y2goKX1hc3luYyBmb2N1cygpe2xldCBNPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO3RoaXMuZGlzYWJsZWR8fChhd2FpdCBNLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCksdGhpcy5zdWJtaXQoKSl9c3RhdGlje1VpKHIsdCl9fTtyZXR1cm4gQj1yfSkoKX0pO3ZhciBJc2EsTnNhPWYoKCk9PntsZSgpO0lhKCk7VXMoKTtjbSgpO0FmKCk7SXNhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgJHtRYAogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgfQogICAgICAKICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQogICAgICAKICAgICAgZGVlcy1wYW5lbDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CiAgICAgIAogICAgICAuaG9yaXpvbnRhbC1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KICAgICAgCiAgICAgIC5zcGFjZXIgewogICAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiAjOTk5OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtaW5wdXQtZHJvcGRvd25bbGFiZWw9IlNlbGVjdCBDb3VudHJ5Il0nKSx0PWEucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC1kcm9wZG93bltsYWJlbD0iU2VsZWN0IFJvbGUiXScpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0ZWRPcHRpb24iLChyPT57Y29uc29sZS5sb2coIkNvdW50cnkgc2VsZWN0ZWQ6IixyLmRldGFpbCl9KSksdCYmdC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RlZE9wdGlvbiIsKHI9Pntjb25zb2xlLmxvZygiUm9sZSBzZWxlY3RlZDoiLHIuZGV0YWlsKX0pKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMS4gQmFzaWMgRHJvcGRvd25zIn0gLnN1YnRpdGxlPSR7IlN0YW5kYXJkIGRyb3Bkb3duIHdpdGggc2VhcmNoIGZ1bmN0aW9uYWxpdHkgYW5kIHZhcmlvdXMgb3B0aW9ucyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAubGFiZWw9JHsiU2VsZWN0IENvdW50cnkifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQ2hvb3NlIHRoZSBjb3VudHJ5IHdoZXJlIHlvdXIgYnVzaW5lc3MgaXMgcmVnaXN0ZXJlZCJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IlVuaXRlZCBTdGF0ZXMiLGtleToidXMifSx7b3B0aW9uOiJDYW5hZGEiLGtleToiY2EifSx7b3B0aW9uOiJHZXJtYW55IixrZXk6ImRlIn0se29wdGlvbjoiRnJhbmNlIixrZXk6ImZyIn0se29wdGlvbjoiVW5pdGVkIEtpbmdkb20iLGtleToidWsifSx7b3B0aW9uOiJBdXN0cmFsaWEiLGtleToiYXUifSx7b3B0aW9uOiJKYXBhbiIsa2V5OiJqcCJ9LHtvcHRpb246IkJyYXppbCIsa2V5OiJiciJ9XX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7e29wdGlvbjoiVW5pdGVkIFN0YXRlcyIsa2V5OiJ1cyJ9fQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAubGFiZWw9JHsiU2VsZWN0IFJvbGUifQogICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJBZG1pbmlzdHJhdG9yIixrZXk6ImFkbWluIn0se29wdGlvbjoiRWRpdG9yIixrZXk6ImVkaXRvciJ9LHtvcHRpb246IlZpZXdlciIsa2V5OiJ2aWV3ZXIifSx7b3B0aW9uOiJHdWVzdCIsa2V5OiJndWVzdCJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kcm9wZG93biIpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0ZWRPcHRpb24iLCh0PT57Y29uc29sZS5sb2coYFByaW9yaXR5IGNoYW5nZWQgdG86ICR7dC5kZXRhaWwub3B0aW9ufWApfSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIyLiBXaXRob3V0IFNlYXJjaCJ9IC5zdWJ0aXRsZT0keyJEcm9wZG93biB3aXRoIHNlYXJjaCBmdW5jdGlvbmFsaXR5IGRpc2FibGVkIGZvciBzaW1wbGVyIHNlbGVjdGlvbiJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAubGFiZWw9JHsiUHJpb3JpdHkgTGV2ZWwifQogICAgICAgICAgLmVuYWJsZVNlYXJjaD0keyExfQogICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiSGlnaCIsa2V5OiJoaWdoIn0se29wdGlvbjoiTWVkaXVtIixrZXk6Im1lZGl1bSJ9LHtvcHRpb246IkxvdyIsa2V5OiJsb3cifV19CiAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHt7b3B0aW9uOiJNZWRpdW0iLGtleToibWVkaXVtIn19CiAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWlucHV0LWRyb3Bkb3duIikuZm9yRWFjaCh0PT57dC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3RlZE9wdGlvbiIsKHI9PntsZXQgaT10LmdldEF0dHJpYnV0ZSgibGFiZWwiKTtjb25zb2xlLmxvZyhgJHtpfTogJHtyLmRldGFpbC5vcHRpb259YCl9KSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMy4gSG9yaXpvbnRhbCBMYXlvdXQifSAuc3VidGl0bGU9JHsiTXVsdGlwbGUgZHJvcGRvd25zIGluIGEgaG9yaXpvbnRhbCBsYXlvdXQgZm9yIGNvbXBhY3QgZm9ybXMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ncm91cCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkRlcGFydG1lbnQifQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkVuZ2luZWVyaW5nIixrZXk6ImVuZyJ9LHtvcHRpb246IkRlc2lnbiIsa2V5OiJkZXNpZ24ifSx7b3B0aW9uOiJNYXJrZXRpbmciLGtleToibWFya2V0aW5nIn0se29wdGlvbjoiU2FsZXMiLGtleToic2FsZXMifV19CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAgIC5sYWJlbD0keyJUZWFtIFNpemUifQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC5lbmFibGVTZWFyY2g9JHshMX0KICAgICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiIxLTUiLGtleToic21hbGwifSx7b3B0aW9uOiI2LTIwIixrZXk6Im1lZGl1bSJ9LHtvcHRpb246IjIxLTUwIixrZXk6ImxhcmdlIn0se29wdGlvbjoiNTArIixrZXk6InhsYXJnZSJ9XX0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkxvY2F0aW9uIn0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgICAub3B0aW9ucz0ke1t7b3B0aW9uOiJSZW1vdGUiLGtleToicmVtb3RlIn0se29wdGlvbjoiT24tc2l0ZSIsa2V5OiJvbnNpdGUifSx7b3B0aW9uOiJIeWJyaWQiLGtleToiaHlicmlkIn1dfQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kcm9wZG93bltyZXF1aXJlZF0iKTtlJiZlLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57Y29uc29sZS5sb2coIlJlcXVpcmVkIGRyb3Bkb3duIGxvc3QgZm9jdXMiKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI0LiBTdGF0ZXMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IHN0YXRlcyBhbmQgY29uZmlndXJhdGlvbnMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IlJlcXVpcmVkIEZpZWxkIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246Ik9wdGlvbiBBIixrZXk6ImEifSx7b3B0aW9uOiJPcHRpb24gQiIsa2V5OiJiIn0se29wdGlvbjoiT3B0aW9uIEMiLGtleToiYyJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CgogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2FibGVkIERyb3Bkb3duIn0KICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkNhbm5vdCBTZWxlY3QiLGtleToiZGlzYWJsZWQifV19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0ke3tvcHRpb246IkNhbm5vdCBTZWxlY3QiLGtleToiZGlzYWJsZWQifX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRpdiBjbGFzcz0ic3BhY2VyIj4KICAgICAgKFNwYWNlciB0byB0ZXN0IGRyb3Bkb3duIHBvc2l0aW9uaW5nKQogICAgPC9kaXY+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZHJvcGRvd24iKTtlJiZlLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGVkT3B0aW9uIiwodD0+e2NvbnNvbGUubG9nKCJCb3R0b20gZHJvcGRvd24gc2VsZWN0ZWQ6Iix0LmRldGFpbCl9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjUuIEJvdHRvbSBQb3NpdGlvbmluZyJ9IC5zdWJ0aXRsZT0keyJEcm9wZG93biB0aGF0IG9wZW5zIHVwd2FyZCB3aGVuIG5lYXIgYm90dG9tIG9mIHZpZXdwb3J0In0+CiAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgIC5sYWJlbD0keyJPcGVucyBVcHdhcmQifQogICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiRmlyc3QgT3B0aW9uIixrZXk6ImZpcnN0In0se29wdGlvbjoiU2Vjb25kIE9wdGlvbiIsa2V5OiJzZWNvbmQifSx7b3B0aW9uOiJUaGlyZCBPcHRpb24iLGtleToidGhpcmQifSx7b3B0aW9uOiJGb3VydGggT3B0aW9uIixrZXk6ImZvdXJ0aCJ9LHtvcHRpb246IkZpZnRoIE9wdGlvbiIsa2V5OiJmaWZ0aCJ9XX0KICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1kcm9wZG93biIpLHQ9YS5xdWVyeVNlbGVjdG9yKCIjc2VsZWN0aW9uLW91dHB1dCIpO2UmJnQmJih0LmlubmVySFRNTD0iPGVtPlNlbGVjdCBhIHByb2R1Y3QgdG8gc2VlIGRldGFpbHMuLi48L2VtPiIsZS5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChyPT57ci5kZXRhaWwudmFsdWUmJih0LmlubmVySFRNTD1gCiAgICAgICAgICAgICAgPHN0cm9uZz5TZWxlY3RlZDo8L3N0cm9uZz4gJHtyLmRldGFpbC52YWx1ZS5vcHRpb259PGJyPgogICAgICAgICAgICAgIDxzdHJvbmc+S2V5Ojwvc3Ryb25nPiAke3IuZGV0YWlsLnZhbHVlLmtleX08YnI+CiAgICAgICAgICAgICAgPHN0cm9uZz5QcmljZTo8L3N0cm9uZz4gJCR7ci5kZXRhaWwudmFsdWUucGF5bG9hZD8ucHJpY2V8fCJOL0EifTxicj4KICAgICAgICAgICAgICA8c3Ryb25nPkZlYXR1cmVzOjwvc3Ryb25nPiAke3IuZGV0YWlsLnZhbHVlLnBheWxvYWQ/LmZlYXR1cmVzPy5qb2luKCIsICIpfHwiTi9BIn0KICAgICAgICAgICAgYCl9KSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI2LiBFdmVudCBIYW5kbGluZyAmIFBheWxvYWQifSAuc3VidGl0bGU9JHsiRHJvcGRvd24gd2l0aCBwYXlsb2FkIGRhdGEgYW5kIGNoYW5nZSBldmVudCBoYW5kbGluZyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAubGFiZWw9JHsiU2VsZWN0IFByb2R1Y3QifQogICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiQmFzaWMgUGxhbiIsa2V5OiJiYXNpYyIscGF5bG9hZDp7cHJpY2U6OS45OSxmZWF0dXJlczpbIkZlYXR1cmUgQSJdfX0se29wdGlvbjoiUHJvIFBsYW4iLGtleToicHJvIixwYXlsb2FkOntwcmljZToxOS45OSxmZWF0dXJlczpbIkZlYXR1cmUgQSIsIkZlYXR1cmUgQiJdfX0se29wdGlvbjoiRW50ZXJwcmlzZSBQbGFuIixrZXk6ImVudGVycHJpc2UiLHBheWxvYWQ6e3ByaWNlOjQ5Ljk5LGZlYXR1cmVzOlsiRmVhdHVyZSBBIiwiRmVhdHVyZSBCIiwiRmVhdHVyZSBDIl19fV19CiAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAKICAgICAgICA8ZGl2IGlkPSJzZWxlY3Rpb24tb3V0cHV0IiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsgcGFkZGluZzogMTJweDsgYmFja2dyb3VuZDogcmdiYSgwLCAxMDUsIDI0MiwgMC4xKTsgYm9yZGVyLXJhZGl1czogNHB4OyBmb250LXNpemU6IDE0cHg7Ij48L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpLHQ9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LWRyb3Bkb3duW2tleT0icHJvamVjdFR5cGUiXScpLHI9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWlucHV0LWRyb3Bkb3duW2tleT0iZnJhbWV3b3JrIl0nKTtlJiZlLmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIiwoaT0+e2NvbnNvbGUubG9nKCJGb3JtIHN1Ym1pdHRlZCB3aXRoIGRhdGE6IixpLmRldGFpbC5kYXRhKX0pKSx0JiZyJiZ0LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGVkT3B0aW9uIiwoaT0+e2xldCBvPWkuZGV0YWlsLmtleTtjb25zb2xlLmxvZyhgUHJvamVjdCB0eXBlIGNoYW5nZWQgdG86ICR7b31gKX0pKX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNy4gRm9ybSBJbnRlZ3JhdGlvbiJ9IC5zdWJ0aXRsZT0keyJEcm9wZG93biB3b3JraW5nIHdpdGhpbiBhIGZvcm0gd2l0aCB2YWxpZGF0aW9uIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgIC5sYWJlbD0keyJQcm9qZWN0IFR5cGUifQogICAgICAgICAgICAua2V5PSR7InByb2plY3RUeXBlIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IldlYiBBcHBsaWNhdGlvbiIsa2V5OiJ3ZWIifSx7b3B0aW9uOiJNb2JpbGUgQXBwbGljYXRpb24iLGtleToibW9iaWxlIn0se29wdGlvbjoiRGVza3RvcCBBcHBsaWNhdGlvbiIsa2V5OiJkZXNrdG9wIn0se29wdGlvbjoiQVBJIFNlcnZpY2UiLGtleToiYXBpIn1dfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgLmxhYmVsPSR7IkRldmVsb3BtZW50IEZyYW1ld29yayJ9CiAgICAgICAgICAgIC5rZXk9JHsiZnJhbWV3b3JrIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IlJlYWN0IixrZXk6InJlYWN0IixwYXlsb2FkOnt0eXBlOiJ3ZWIifX0se29wdGlvbjoiVnVlLmpzIixrZXk6InZ1ZSIscGF5bG9hZDp7dHlwZToid2ViIn19LHtvcHRpb246IkFuZ3VsYXIiLGtleToiYW5ndWxhciIscGF5bG9hZDp7dHlwZToid2ViIn19LHtvcHRpb246IlJlYWN0IE5hdGl2ZSIsa2V5OiJyZWFjdC1uYXRpdmUiLHBheWxvYWQ6e3R5cGU6Im1vYmlsZSJ9fSx7b3B0aW9uOiJGbHV0dGVyIixrZXk6ImZsdXR0ZXIiLHBheWxvYWQ6e3R5cGU6Im1vYmlsZSJ9fSx7b3B0aW9uOiJFbGVjdHJvbiIsa2V5OiJlbGVjdHJvbiIscGF5bG9hZDp7dHlwZToiZGVza3RvcCJ9fV19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCAudGV4dD0keyJDcmVhdGUgUHJvamVjdCJ9PjwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIEQxLFpyLGNhZSxCWWU9ZigoKT0+e2xlKCk7SnQoKTtqaSgpO3VzKCk7UWUoKTt3MSgpO0QxPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxacj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sY2FlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC1kcm9wZG93bi1wb3B1cCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdLFAsQT1bXSxGPVtdLFcsaj1bXSxHPVtdO3ZhciBoZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0RHJvcGRvd25Qb3B1cCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBSPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpCb29sZWFufSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHthdHRyaWJ1dGU6ITF9KV0seT1bJCh7YXR0cmlidXRlOiExfSldLE49W0soKV0sTz1bSygpXSxCPVtLKCldLFA9W0soKV0sVz1bSygpXSxEMSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9wdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+Im9wdGlvbnMiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5vcHRpb25zLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLm9wdGlvbnM9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sbixsKSxEMSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVuYWJsZVNlYXJjaCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iZW5hYmxlU2VhcmNoImluIFUsImhhcyIpLGdldDpzKFU9PlUuZW5hYmxlU2VhcmNoLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmVuYWJsZVNlYXJjaD1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxjLHApLEQxKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3BlbnNUb1RvcCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4ib3BlbnNUb1RvcCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLm9wZW5zVG9Ub3AsImdldCIpLHNldDpzKChVLG1lKT0+e1Uub3BlbnNUb1RvcD1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxtLHYpLEQxKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidHJpZ2dlclJlY3QiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InRyaWdnZXJSZWN0ImluIFUsImhhcyIpLGdldDpzKFU9PlUudHJpZ2dlclJlY3QsImdldCIpLHNldDpzKChVLG1lKT0+e1UudHJpZ2dlclJlY3Q9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sYixnKSxEMSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im93bmVyQ29tcG9uZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJvd25lckNvbXBvbmVudCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLm93bmVyQ29tcG9uZW50LCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLm93bmVyQ29tcG9uZW50PW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGssQyksRDEodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWx0ZXJlZE9wdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImZpbHRlcmVkT3B0aW9ucyJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmZpbHRlcmVkT3B0aW9ucywiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5maWx0ZXJlZE9wdGlvbnM9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sXyx6KSxEMSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhpZ2hsaWdodGVkSW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImhpZ2hsaWdodGVkSW5kZXgiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5oaWdobGlnaHRlZEluZGV4LCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmhpZ2hsaWdodGVkSW5kZXg9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sVCxFKSxEMSh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlYXJjaFZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJzZWFyY2hWYWx1ZSJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnNlYXJjaFZhbHVlLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnNlYXJjaFZhbHVlPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LE0sUyksRDEodGhpcyxudWxsLFAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51WkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJtZW51WkluZGV4ImluIFUsImhhcyIpLGdldDpzKFU9PlUubWVudVpJbmRleCwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5tZW51WkluZGV4PW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LEEsRiksRDEodGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJ2aXNpYmxlImluIFUsImhhcyIpLGdldDpzKFU9PlUudmlzaWJsZSwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS52aXNpYmxlPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGosRyksRDEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Un0sbnVsbCx0KSxoZT1yPWUudmFsdWUsUiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpSfSl9I2U9WnIodGhpcyxuLFtdKTtnZXQgb3B0aW9ucygpe3JldHVybiB0aGlzLiNlfXNldCBvcHRpb25zKFIpe3RoaXMuI2U9Un0jdD0oWnIodGhpcyxsKSxacih0aGlzLGMsITApKTtnZXQgZW5hYmxlU2VhcmNoKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGVuYWJsZVNlYXJjaChSKXt0aGlzLiN0PVJ9I2E9KFpyKHRoaXMscCksWnIodGhpcyxtLCExKSk7Z2V0IG9wZW5zVG9Ub3AoKXtyZXR1cm4gdGhpcy4jYX1zZXQgb3BlbnNUb1RvcChSKXt0aGlzLiNhPVJ9I3I9KFpyKHRoaXMsdiksWnIodGhpcyxiLG51bGwpKTtnZXQgdHJpZ2dlclJlY3QoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdHJpZ2dlclJlY3QoUil7dGhpcy4jcj1SfSNzPShacih0aGlzLGcpLFpyKHRoaXMsayxudWxsKSk7Z2V0IG93bmVyQ29tcG9uZW50KCl7cmV0dXJuIHRoaXMuI3N9c2V0IG93bmVyQ29tcG9uZW50KFIpe3RoaXMuI3M9Un0jaT0oWnIodGhpcyxDKSxacih0aGlzLF8sW10pKTtnZXQgZmlsdGVyZWRPcHRpb25zKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGZpbHRlcmVkT3B0aW9ucyhSKXt0aGlzLiNpPVJ9I289KFpyKHRoaXMseiksWnIodGhpcyxULDApKTtnZXQgaGlnaGxpZ2h0ZWRJbmRleCgpe3JldHVybiB0aGlzLiNvfXNldCBoaWdobGlnaHRlZEluZGV4KFIpe3RoaXMuI289Un0jbj0oWnIodGhpcyxFKSxacih0aGlzLE0sIiIpKTtnZXQgc2VhcmNoVmFsdWUoKXtyZXR1cm4gdGhpcy4jbn1zZXQgc2VhcmNoVmFsdWUoUil7dGhpcy4jbj1SfSNsPShacih0aGlzLFMpLFpyKHRoaXMsQSwxZTMpKTtnZXQgbWVudVpJbmRleCgpe3JldHVybiB0aGlzLiNsfXNldCBtZW51WkluZGV4KFIpe3RoaXMuI2w9Un0jYz0oWnIodGhpcyxGKSxacih0aGlzLGosITEpKTtnZXQgdmlzaWJsZSgpe3JldHVybiB0aGlzLiNjfXNldCB2aXNpYmxlKFIpe3RoaXMuI2M9Un13aW5kb3dMYXllcj0oWnIodGhpcyxHKSxudWxsKTtpc0Rlc3Ryb3lpbmc9ITE7c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgaGVpZ2h0OiAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICAqIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuc2VsZWN0aW9uQm94IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybSwgb3BhY2l0eTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtOHB4KSBzY2FsZSgwLjk4KTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IGhzbCgwIDAlIDAlIC8gMC4xKSwgMCAycHggNHB4IC0ycHggaHNsKDAgMCUgMCUgLyAwLjEpOwogICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7CiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5zZWxlY3Rpb25Cb3gudG9wIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoOHB4KSBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLnNlbGVjdGlvbkJveC5zaG93IHsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLm9wdGlvbnMtY29udGFpbmVyIHsKICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgfQoKICAgICAgLm9wdGlvbiB7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbjogMnB4IDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICAub3B0aW9uLmhpZ2hsaWdodGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CgogICAgICAub3B0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQoKICAgICAgLm5vLW9wdGlvbnMgewogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgLnNlYXJjaCB7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQoKICAgICAgLnNlYXJjaCBpbnB1dCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuc2VhcmNoIGlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA2My45JSkiLCJoc2woMCAwJSA0NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC5zZWFyY2ggaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICB9CgogICAgICAub3B0aW9ucy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICB9CgogICAgICAub3B0aW9ucy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLm9wdGlvbnMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg5LjglKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KCiAgICAgIC5vcHRpb25zLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2lmKCF0aGlzLnRyaWdnZXJSZWN0KXJldHVybiB3YGA7bGV0IFI9dGhpcy5jb21wdXRlUG9zaXRpb25TdHlsZSgpO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9InNlbGVjdGlvbkJveCAke3RoaXMudmlzaWJsZT8ic2hvdyI6IiJ9ICR7dGhpcy5vcGVuc1RvVG9wPyJ0b3AiOiJib3R0b20ifSIKICAgICAgICBzdHlsZT0iJHtSfTsgei1pbmRleDogJHt0aGlzLm1lbnVaSW5kZXh9OyIKICAgICAgPgogICAgICAgICR7dGhpcy5lbmFibGVTZWFyY2g/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2giPgogICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJTZWFyY2ggb3B0aW9ucy4uLiIKICAgICAgICAgICAgICAgICAgLnZhbHVlPSIke3RoaXMuc2VhcmNoVmFsdWV9IgogICAgICAgICAgICAgICAgICBAaW5wdXQ9IiR7dGhpcy5oYW5kbGVTZWFyY2h9IgogICAgICAgICAgICAgICAgICBAY2xpY2s9IiR7VT0+VS5zdG9wUHJvcGFnYXRpb24oKX0iCiAgICAgICAgICAgICAgICAgIEBrZXlkb3duPSIke3RoaXMuaGFuZGxlU2VhcmNoS2V5ZG93bn0iCiAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOm51bGx9CiAgICAgICAgPGRpdiBjbGFzcz0ib3B0aW9ucy1jb250YWluZXIiPgogICAgICAgICAgJHt0aGlzLmZpbHRlcmVkT3B0aW9ucy5sZW5ndGg9PT0wP3dgPGRpdiBjbGFzcz0ibm8tb3B0aW9ucyI+Tm8gb3B0aW9ucyBmb3VuZDwvZGl2PmA6dGhpcy5maWx0ZXJlZE9wdGlvbnMubWFwKChVLG1lKT0+e2xldCBJPXRoaXMuaGlnaGxpZ2h0ZWRJbmRleD09PW1lO3JldHVybiB3YAogICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9Im9wdGlvbiAke0k/ImhpZ2hsaWdodGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSIkeygpPT50aGlzLnNlbGVjdE9wdGlvbihVKX0iCiAgICAgICAgICAgICAgICAgICAgQG1vdXNlZW50ZXI9IiR7KCk9PnRoaXMuaGlnaGxpZ2h0ZWRJbmRleD1tZX0iCiAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAke1Uub3B0aW9ufQogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGB9KX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWNvbXB1dGVQb3NpdGlvblN0eWxlKCl7bGV0IFI9dGhpcy50cmlnZ2VyUmVjdCxVPVIubGVmdCxtZT1SLndpZHRoO2lmKHRoaXMub3BlbnNUb1RvcCl7bGV0IEk9d2luZG93LmlubmVySGVpZ2h0LVIudG9wKzQ7cmV0dXJuYGxlZnQ6ICR7VX1weDsgd2lkdGg6ICR7bWV9cHg7IGJvdHRvbTogJHtJfXB4OyB0b3A6IGF1dG9gfWVsc2V7bGV0IEk9Ui5ib3R0b20rNDtyZXR1cm5gbGVmdDogJHtVfXB4OyB3aWR0aDogJHttZX1weDsgdG9wOiAke0l9cHhgfX1hc3luYyBzaG93KCl7dGhpcy5maWx0ZXJlZE9wdGlvbnM9dGhpcy5vcHRpb25zLHRoaXMuaGlnaGxpZ2h0ZWRJbmRleD0wLHRoaXMuc2VhcmNoVmFsdWU9IiIsdGhpcy53aW5kb3dMYXllcj1hd2FpdCBqcy5jcmVhdGVBbmRTaG93KCksdGhpcy53aW5kb3dMYXllci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjbG9zZS1yZXF1ZXN0IikpfSksdGhpcy5tZW51WkluZGV4PVp0LmdldE5leHRaSW5kZXgoKSxadC5yZWdpc3Rlcih0aGlzLHRoaXMubWVudVpJbmRleCksdGhpcy5zdHlsZS56SW5kZXg9dGhpcy5tZW51WkluZGV4LnRvU3RyaW5nKCksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzKSxhd2FpdCBCdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLHRoaXMudmlzaWJsZT0hMCx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIix0aGlzLmhhbmRsZVNjcm9sbE9yUmVzaXplLHtjYXB0dXJlOiEwLHBhc3NpdmU6ITB9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLmhhbmRsZVNjcm9sbE9yUmVzaXplLHtwYXNzaXZlOiEwfSl9YXN5bmMgaGlkZSgpe3RoaXMuaXNEZXN0cm95aW5nfHwodGhpcy5pc0Rlc3Ryb3lpbmc9ITAsd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5oYW5kbGVTY3JvbGxPclJlc2l6ZSx7Y2FwdHVyZTohMH0pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuaGFuZGxlU2Nyb2xsT3JSZXNpemUpLFp0LnVucmVnaXN0ZXIodGhpcyksdGhpcy5zZWFyY2hWYWx1ZT0iIix0aGlzLmZpbHRlcmVkT3B0aW9ucz10aGlzLm9wdGlvbnMsdGhpcy5oaWdobGlnaHRlZEluZGV4PTAsdGhpcy53aW5kb3dMYXllciYmKHRoaXMud2luZG93TGF5ZXIuZGVzdHJveSgpLHRoaXMud2luZG93TGF5ZXI9bnVsbCksdGhpcy52aXNpYmxlPSExLGF3YWl0IEJ0LnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMTUwKSx0aGlzLnBhcmVudEVsZW1lbnQmJnRoaXMucGFyZW50RWxlbWVudC5yZW1vdmVDaGlsZCh0aGlzKSx0aGlzLmlzRGVzdHJveWluZz0hMSl9YXN5bmMgZm9jdXNTZWFyY2hJbnB1dCgpe2F3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7bGV0IFI9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zZWFyY2ggaW5wdXQiKTtSJiZSLmZvY3VzKCl9dXBkYXRlT3B0aW9ucyhSKXtpZih0aGlzLm9wdGlvbnM9Uix0aGlzLnNlYXJjaFZhbHVlKXtsZXQgVT10aGlzLnNlYXJjaFZhbHVlLnRvTG93ZXJDYXNlKCk7dGhpcy5maWx0ZXJlZE9wdGlvbnM9dGhpcy5vcHRpb25zLmZpbHRlcihtZT0+bWUub3B0aW9uLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoVSkpfWVsc2UgdGhpcy5maWx0ZXJlZE9wdGlvbnM9dGhpcy5vcHRpb25zO3RoaXMuaGlnaGxpZ2h0ZWRJbmRleD0wfXNlbGVjdE9wdGlvbihSKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJvcHRpb24tc2VsZWN0ZWQiLHtkZXRhaWw6Un0pKX1oYW5kbGVTZWFyY2g9cyhSPT57bGV0IFU9Ui50YXJnZXQudmFsdWU7dGhpcy5zZWFyY2hWYWx1ZT1VO2xldCBtZT1VLnRvTG93ZXJDYXNlKCk7dGhpcy5maWx0ZXJlZE9wdGlvbnM9dGhpcy5vcHRpb25zLmZpbHRlcihJPT5JLm9wdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKG1lKSksdGhpcy5oaWdobGlnaHRlZEluZGV4PTB9LCJoYW5kbGVTZWFyY2giKTtoYW5kbGVTZWFyY2hLZXlkb3duPXMoUj0+e2xldCBVPVIua2V5LG1lPXRoaXMuZmlsdGVyZWRPcHRpb25zLmxlbmd0aC0xO1U9PT0iQXJyb3dEb3duIj8oUi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGlnaGxpZ2h0ZWRJbmRleD10aGlzLmhpZ2hsaWdodGVkSW5kZXgrMT5tZT8wOnRoaXMuaGlnaGxpZ2h0ZWRJbmRleCsxKTpVPT09IkFycm93VXAiPyhSLnByZXZlbnREZWZhdWx0KCksdGhpcy5oaWdobGlnaHRlZEluZGV4PXRoaXMuaGlnaGxpZ2h0ZWRJbmRleC0xPDA/bWU6dGhpcy5oaWdobGlnaHRlZEluZGV4LTEpOlU9PT0iRW50ZXIiPyhSLnByZXZlbnREZWZhdWx0KCksdGhpcy5maWx0ZXJlZE9wdGlvbnNbdGhpcy5oaWdobGlnaHRlZEluZGV4XSYmdGhpcy5zZWxlY3RPcHRpb24odGhpcy5maWx0ZXJlZE9wdGlvbnNbdGhpcy5oaWdobGlnaHRlZEluZGV4XSkpOlU9PT0iRXNjYXBlIiYmKFIucHJldmVudERlZmF1bHQoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjbG9zZS1yZXF1ZXN0IikpKX0sImhhbmRsZVNlYXJjaEtleWRvd24iKTtoYW5kbGVTY3JvbGxPclJlc2l6ZT1zKCgpPT57dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicmVwb3NpdGlvbi1yZXF1ZXN0IikpfSwiaGFuZGxlU2Nyb2xsT3JSZXNpemUiKTthc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5oYW5kbGVTY3JvbGxPclJlc2l6ZSx7Y2FwdHVyZTohMH0pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLHRoaXMuaGFuZGxlU2Nyb2xsT3JSZXNpemUpLFp0LnVucmVnaXN0ZXIodGhpcyl9c3RhdGlje1pyKHIsdCl9fTtyZXR1cm4gaGU9cn0pKCl9KTt2YXIgZG0sQTEsZGFlLHVhZT1mKCgpPT57bGUoKTtOc2EoKTtTcigpO3VzKCk7UWUoKTtCWWUoKTtkbT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sQTE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGRhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtZHJvcGRvd24iKV0sZSx0PVtdLHIsaT13dCxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXTt2YXIgTj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0RHJvcGRvd24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKCldLGQ9WyQoKV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHg9WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLHk9W0soKV0sZG0odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcHRpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJvcHRpb25zImluIHosImhhcyIpLGdldDpzKHo9Pnoub3B0aW9ucywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6Lm9wdGlvbnM9T30sInNldCIpfSxtZXRhZGF0YTpffSxuLGwpLGRtKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRPcHRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNlbGVjdGVkT3B0aW9uImluIHosImhhcyIpLGdldDpzKHo9Pnouc2VsZWN0ZWRPcHRpb24sImdldCIpLHNldDpzKCh6LE8pPT57ei5zZWxlY3RlZE9wdGlvbj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGMscCksZG0odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVTZWFyY2giLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImVuYWJsZVNlYXJjaCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmVuYWJsZVNlYXJjaCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmVuYWJsZVNlYXJjaD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdiksZG0odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aW50ZWdyYXRlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4idmludGVncmF0ZWQiaW4geiwiaGFzIiksZ2V0OnMoej0+ei52aW50ZWdyYXRlZCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnZpbnRlZ3JhdGVkPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYixnKSxkbSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzT3BlbmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJpc09wZW5lZCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmlzT3BlbmVkLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouaXNPcGVuZWQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLGRtKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89SXNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1BMSh0aGlzLG4sW10pO2dldCBvcHRpb25zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IG9wdGlvbnMoXyl7dGhpcy4jZT1ffSN0PShBMSh0aGlzLGwpLEExKHRoaXMsYyxudWxsKSk7Z2V0IHNlbGVjdGVkT3B0aW9uKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkT3B0aW9uKF8pe3RoaXMuI3Q9X31nZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy5zZWxlY3RlZE9wdGlvbn1zZXQgdmFsdWUoXyl7dGhpcy5zZWxlY3RlZE9wdGlvbj1ffSNhPShBMSh0aGlzLHApLEExKHRoaXMsbSwhMCkpO2dldCBlbmFibGVTZWFyY2goKXtyZXR1cm4gdGhpcy4jYX1zZXQgZW5hYmxlU2VhcmNoKF8pe3RoaXMuI2E9X30jcj0oQTEodGhpcyx2KSxBMSh0aGlzLGIsITEpKTtnZXQgdmludGVncmF0ZWQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdmludGVncmF0ZWQoXyl7dGhpcy4jcj1ffSNzPShBMSh0aGlzLGcpLEExKHRoaXMsaywhMSkpO2dldCBpc09wZW5lZCgpe3JldHVybiB0aGlzLiNzfXNldCBpc09wZW5lZChfKXt0aGlzLiNzPV99cG9wdXBJbnN0YW5jZT0oQTEodGhpcyxDKSxudWxsKTtzdGF0aWMgc3R5bGVzPVtFZSwuLi53dC5iYXNlU3R5bGVzLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICAqIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuc2VsZWN0ZWRCb3ggewogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7CiAgICAgICAgcGFkZGluZzogMCA0MHB4IDAgMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5zZWxlY3RlZEJveDpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMjAuOSUpIil9OwogICAgICB9CgogICAgICAuc2VsZWN0ZWRCb3g6Zm9jdXMtdmlzaWJsZSB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuMSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAuc2VsZWN0ZWRCb3guZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAvKiBEcm9wZG93biBhcnJvdyAqLwogICAgICAuc2VsZWN0ZWRCb3g6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDEycHg7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIGhlaWdodDogMDsKICAgICAgICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUuMSUpIiwiaHNsKDAgMCUgNjMuOSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuc2VsZWN0ZWRCb3gub3Blbjo6YWZ0ZXIgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTsKICAgICAgfQoKICAgICAgLyogVmlzdWFsbHkgaW50ZWdyYXRlZCBtb2RlOiBzaGVkIGNocm9tZSB0byBibGVuZCBpbnRvIGEgaG9zdCBjb21wb25lbnQKICAgICAgICAgKGUuZy4gYSBkZWVzLXRhYmxlIGNlbGwgaW4gZWRpdCBtb2RlKS4gKi8KICAgICAgOmhvc3QoW3ZpbnRlZ3JhdGVkXSkgZGVlcy1sYWJlbCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICB9CiAgICAgIDpob3N0KFt2aW50ZWdyYXRlZF0pIC5zZWxlY3RlZEJveCB7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4OwogICAgICAgIHBhZGRpbmc6IDAgMzJweCAwIDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiAwOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJveC1zaGFkb3c6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTsKICAgICAgfQogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSAuc2VsZWN0ZWRCb3g6aG92ZXI6bm90KC5kaXNhYmxlZCksCiAgICAgIDpob3N0KFt2aW50ZWdyYXRlZF0pIC5zZWxlY3RlZEJveDpmb2N1cy12aXNpYmxlIHsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQogICAgICA6aG9zdChbdmludGVncmF0ZWRdKSAuc2VsZWN0ZWRCb3g6OmFmdGVyIHsKICAgICAgICByaWdodDogMTJweDsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICA8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAuaW5mb1RleHQ9JHt0aGlzLmluZm9UZXh0fSAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIGNsYXNzPSJzZWxlY3RlZEJveCAke3RoaXMuaXNPcGVuZWQ/Im9wZW4iOiIifSAke3RoaXMuZGlzYWJsZWQ/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+IXRoaXMuZGlzYWJsZWQmJnRoaXMudG9nZ2xlU2VsZWN0aW9uQm94KCl9IgogICAgICAgICAgICB0YWJpbmRleD0iJHt0aGlzLmRpc2FibGVkPyItMSI6IjAifSIKICAgICAgICAgICAgQGtleWRvd249IiR7dGhpcy5oYW5kbGVTZWxlY3RlZEJveEtleWRvd259IgogICAgICAgICAgPgogICAgICAgICAgICAke3RoaXMuc2VsZWN0ZWRPcHRpb24/Lm9wdGlvbnx8IlNlbGVjdCBhbiBvcHRpb24ifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgIDwvZGl2PgogICAgYH1maXJzdFVwZGF0ZWQoKXt0aGlzLnNlbGVjdGVkT3B0aW9uPXRoaXMuc2VsZWN0ZWRPcHRpb258fG51bGx9dXBkYXRlZChfKXtzdXBlci51cGRhdGVkKF8pLF8uaGFzKCJvcHRpb25zIikmJnRoaXMucG9wdXBJbnN0YW5jZSYmdGhpcy5pc09wZW5lZCYmdGhpcy5wb3B1cEluc3RhbmNlLnVwZGF0ZU9wdGlvbnModGhpcy5vcHRpb25zKX1hc3luYyB1cGRhdGVTZWxlY3Rpb24oXyl7dGhpcy5zZWxlY3RlZE9wdGlvbj1fLHRoaXMuY2xvc2VQb3B1cCgpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlbGVjdGVkT3B0aW9uIix7ZGV0YWlsOl8sYnViYmxlczohMH0pKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX1hc3luYyB0b2dnbGVTZWxlY3Rpb25Cb3goKXtpZih0aGlzLmlzT3BlbmVkKXt0aGlzLmNsb3NlUG9wdXAoKTtyZXR1cm59dGhpcy5pc09wZW5lZD0hMDtsZXQgej10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnNlbGVjdGVkQm94IikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksTz13aW5kb3cuaW5uZXJIZWlnaHQtei5ib3R0b20sVD16LnRvcCxFPU88MzAwJiZUPk87dGhpcy5wb3B1cEluc3RhbmNlfHwodGhpcy5wb3B1cEluc3RhbmNlPW5ldyBjYWUpLHRoaXMucG9wdXBJbnN0YW5jZS5vcHRpb25zPXRoaXMub3B0aW9ucyx0aGlzLnBvcHVwSW5zdGFuY2UuZW5hYmxlU2VhcmNoPXRoaXMuZW5hYmxlU2VhcmNoLHRoaXMucG9wdXBJbnN0YW5jZS5vcGVuc1RvVG9wPUUsdGhpcy5wb3B1cEluc3RhbmNlLnRyaWdnZXJSZWN0PXosdGhpcy5wb3B1cEluc3RhbmNlLm93bmVyQ29tcG9uZW50PXRoaXMsdGhpcy5wb3B1cEluc3RhbmNlLmFkZEV2ZW50TGlzdGVuZXIoIm9wdGlvbi1zZWxlY3RlZCIsdGhpcy5oYW5kbGVPcHRpb25TZWxlY3RlZCksdGhpcy5wb3B1cEluc3RhbmNlLmFkZEV2ZW50TGlzdGVuZXIoImNsb3NlLXJlcXVlc3QiLHRoaXMuaGFuZGxlQ2xvc2VSZXF1ZXN0KSx0aGlzLnBvcHVwSW5zdGFuY2UuYWRkRXZlbnRMaXN0ZW5lcigicmVwb3NpdGlvbi1yZXF1ZXN0Iix0aGlzLmhhbmRsZVJlcG9zaXRpb25SZXF1ZXN0KSxhd2FpdCB0aGlzLnBvcHVwSW5zdGFuY2Uuc2hvdygpLHRoaXMuZW5hYmxlU2VhcmNoJiZhd2FpdCB0aGlzLnBvcHVwSW5zdGFuY2UuZm9jdXNTZWFyY2hJbnB1dCgpfWNsb3NlUG9wdXAoKXt0aGlzLmlzT3BlbmVkPSExLHRoaXMucG9wdXBJbnN0YW5jZSYmKHRoaXMucG9wdXBJbnN0YW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKCJvcHRpb24tc2VsZWN0ZWQiLHRoaXMuaGFuZGxlT3B0aW9uU2VsZWN0ZWQpLHRoaXMucG9wdXBJbnN0YW5jZS5yZW1vdmVFdmVudExpc3RlbmVyKCJjbG9zZS1yZXF1ZXN0Iix0aGlzLmhhbmRsZUNsb3NlUmVxdWVzdCksdGhpcy5wb3B1cEluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlcG9zaXRpb24tcmVxdWVzdCIsdGhpcy5oYW5kbGVSZXBvc2l0aW9uUmVxdWVzdCksdGhpcy5wb3B1cEluc3RhbmNlLmhpZGUoKSl9aGFuZGxlT3B0aW9uU2VsZWN0ZWQ9cyhfPT57bGV0IHo9Xy5kZXRhaWw7dGhpcy51cGRhdGVTZWxlY3Rpb24oeil9LCJoYW5kbGVPcHRpb25TZWxlY3RlZCIpO2hhbmRsZUNsb3NlUmVxdWVzdD1zKCgpPT57dGhpcy5jbG9zZVBvcHVwKCl9LCJoYW5kbGVDbG9zZVJlcXVlc3QiKTtoYW5kbGVSZXBvc2l0aW9uUmVxdWVzdD1zKCgpPT57aWYoIXRoaXMucG9wdXBJbnN0YW5jZXx8IXRoaXMuaXNPcGVuZWQpcmV0dXJuO2xldCBfPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc2VsZWN0ZWRCb3giKTtpZighXylyZXR1cm47bGV0IHo9Xy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZih6LmJvdHRvbTwwfHx6LnRvcD53aW5kb3cuaW5uZXJIZWlnaHQpe3RoaXMuY2xvc2VQb3B1cCgpO3JldHVybn1sZXQgTz13aW5kb3cuaW5uZXJIZWlnaHQtei5ib3R0b20sVD16LnRvcDt0aGlzLnBvcHVwSW5zdGFuY2Uub3BlbnNUb1RvcD1PPDMwMCYmVD5PLHRoaXMucG9wdXBJbnN0YW5jZS50cmlnZ2VyUmVjdD16fSwiaGFuZGxlUmVwb3NpdGlvblJlcXVlc3QiKTtoYW5kbGVTZWxlY3RlZEJveEtleWRvd24oXyl7dGhpcy5kaXNhYmxlZHx8KF8ua2V5PT09IkVudGVyInx8Xy5rZXk9PT0iICI/KF8ucHJldmVudERlZmF1bHQoKSx0aGlzLnRvZ2dsZVNlbGVjdGlvbkJveCgpKTpfLmtleT09PSJBcnJvd0Rvd24ifHxfLmtleT09PSJBcnJvd1VwIj8oXy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaXNPcGVuZWR8fHRoaXMudG9nZ2xlU2VsZWN0aW9uQm94KCkpOl8ua2V5PT09IkVzY2FwZSImJihfLnByZXZlbnREZWZhdWx0KCksdGhpcy5pc09wZW5lZCYmdGhpcy5jbG9zZVBvcHVwKCkpKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnNlbGVjdGVkT3B0aW9ufXNldFZhbHVlKF8pe3RoaXMuc2VsZWN0ZWRPcHRpb249X31hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5wb3B1cEluc3RhbmNlJiYodGhpcy5wb3B1cEluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoIm9wdGlvbi1zZWxlY3RlZCIsdGhpcy5oYW5kbGVPcHRpb25TZWxlY3RlZCksdGhpcy5wb3B1cEluc3RhbmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNsb3NlLXJlcXVlc3QiLHRoaXMuaGFuZGxlQ2xvc2VSZXF1ZXN0KSx0aGlzLnBvcHVwSW5zdGFuY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVwb3NpdGlvbi1yZXF1ZXN0Iix0aGlzLmhhbmRsZVJlcG9zaXRpb25SZXF1ZXN0KSx0aGlzLnBvcHVwSW5zdGFuY2UuaGlkZSgpLHRoaXMucG9wdXBJbnN0YW5jZT1udWxsKX1zdGF0aWN7QTEocix0KX19O3JldHVybiBOPXJ9KSgpfSk7dmFyIFJzYSxPc2E9ZigoKT0+e2xlKCk7SFllKCk7VXMoKTtSc2E9cygoKT0+d2AKICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgIDxzdHlsZT4KICAgICAgJHtRYAogICAgICAgIC5kZW1vLXNoZWxsIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAzMnB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTE2MHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQoKICAgICAgICAuZGVtby1ncmlkIHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgfQoKICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogOTYwcHgpIHsKICAgICAgICAgIC5kZW1vLWdyaWQtLXR3byB7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsKICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIC5kZW1vLXN0YWNrIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAxOHB4OwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tbm90ZSB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNyA5MSUgOTAlKSIsImhzbCgyMTUgMjAlIDI2JSkiKX07CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMyAxMDAlIDk3JSkiLCJoc2woMjE1IDIwJSAxMiUpIil9OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDI1JSAzMiUpIiwiaHNsKDIxNSAyMCUgODIlKSIpfTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU1OwogICAgICAgIH0KCiAgICAgICAgLmRlbW8tbm90ZSBzdHJvbmcgewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3IDkxJSA0NSUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNoZWxsIj4KICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiTW9kZXJuIGZpbGUgdXBsb2FkZXIifQogICAgICAgIC5zdWJ0aXRsZT0keyJTaGFkY24taW5zcGlyZWQgbGF5b3V0IHdpdGggZHJhZyAmIGRyb3AsIHByZXZpZXdzIGFuZCB2YWxpZGF0aW9uIn0KICAgICAgPgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLWdyaWQgZGVtby1ncmlkLS10d28iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXN0YWNrIj4KICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC1maWxldXBsb2FkCiAgICAgICAgICAgICAgICAubGFiZWw9JHsiQXR0YWNobWVudHMifQogICAgICAgICAgICAgICAgLmluZm9UZXh0PSR7IlVwbG9hZCBzdXBwb3J0aW5nIGRvY3VtZW50cyBmb3IgeW91ciByZXF1ZXN0In0KICAgICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJBY2NlcHRlZCBmb3JtYXRzOiBpbWFnZXMsIFBERiwgYW5kIFpJUCBhcmNoaXZlcyB1cCB0byAxME1CIn0KICAgICAgICAgICAgICAgIC5hY2NlcHQ9JHsiaW1hZ2UvKiwucGRmLC56aXAifQogICAgICAgICAgICAgICAgLm1heFNpemU9JHsxMCoxMDI0KjEwMjR9CiAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1maWxldXBsb2FkPgoKICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC1maWxldXBsb2FkCiAgICAgICAgICAgICAgICAubGFiZWw9JHsiQnJhbmQgYXNzZXRzIn0KICAgICAgICAgICAgICAgIC5pbmZvVGV4dD0keyJVcGxvYWQgaGlnaC1yZXNvbHV0aW9uIGltYWdlcnkgKEpQRy9QTkcpIn0KICAgICAgICAgICAgICAgIC5hY2NlcHQ9JHsiaW1hZ2UvanBlZyxpbWFnZS9wbmcifQogICAgICAgICAgICAgICAgLm11bHRpcGxlPSR7ITF9CiAgICAgICAgICAgICAgICAubWF4U2l6ZT0kezUqMTAyNCoxMDI0fQogICAgICAgICAgICAgICAgLmJ1dHRvblRleHQ9JHsiU2VsZWN0IGNvdmVyIGltYWdlIn0KICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWZpbGV1cGxvYWQ+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1zdGFjayI+CiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtZmlsZXVwbG9hZAogICAgICAgICAgICAgICAgLmxhYmVsPSR7IkF1ZGlvIHVwbG9hZHMifQogICAgICAgICAgICAgICAgLmluZm9UZXh0PSR7IlNoYXJlIHBvZGNhc3QgZHJhZnRzIChNUDMvV0FWLCBtYXggMjVNQiBlYWNoKSJ9CiAgICAgICAgICAgICAgICAuYWNjZXB0PSR7ImF1ZGlvLyoifQogICAgICAgICAgICAgICAgLm1heFNpemU9JHsyNSoxMDI0KjEwMjR9CiAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1maWxldXBsb2FkPgoKICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC1maWxldXBsb2FkCiAgICAgICAgICAgICAgICAubGFiZWw9JHsiRGlzYWJsZWQgZXhhbXBsZSJ9CiAgICAgICAgICAgICAgICAuaW5mb1RleHQ9JHsiVXBsb2FkZXIgaXMgZGlzYWJsZWQgd2hpbGUgbW9kZXJhdGlvbiBpcyBwZW5kaW5nIn0KICAgICAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZmlsZXVwbG9hZD4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiRm9ybSBpbnRlZ3JhdGlvbiJ9CiAgICAgICAgLnN1YnRpdGxlPSR7IkNvbWJpbmUgZmlsZSB1cGxvYWRzIHdpdGggdGhlIHJlc3Qgb2YgdGhlIERFRVMgZm9ybSBlY29zeXN0ZW0ifQogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1ncmlkIj4KICAgICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAgICAgLmxhYmVsPSR7IlByb2plY3QgbmFtZSJ9CiAgICAgICAgICAgICAgICAuaW5mb1RleHQ9JHsiSG93IHNob3VsZCB3ZSByZWZlciB0byB0aGlzIHByb2plY3QgaW50ZXJuYWxseT8ifQogICAgICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgICAgICAua2V5PSR7InByb2plY3ROYW1lIn0KICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CgogICAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgICAgIC5sYWJlbD0keyJDb250YWN0IGVtYWlsIn0KICAgICAgICAgICAgICAgIC5pbnB1dFR5cGU9JHsiZW1haWwifQogICAgICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgICAgICAua2V5PSR7ImNvbnRhY3RFbWFpbCJ9CiAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC1maWxldXBsb2FkCiAgICAgICAgICAgICAgICAubGFiZWw9JHsiU3RhdGVtZW50IG9mIHdvcmsifQogICAgICAgICAgICAgICAgLmluZm9UZXh0PSR7IlVwbG9hZCBhIHNpZ25lZCBzdGF0ZW1lbnQgb2Ygd29yayAoUERGLCBtYXggMTVNQikifQogICAgICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgICAgICAuYWNjZXB0PSR7ImFwcGxpY2F0aW9uL3BkZiJ9CiAgICAgICAgICAgICAgICAubWF4U2l6ZT0kezE1KjEwMjQqMTAyNH0KICAgICAgICAgICAgICAgIC5tdWx0aXBsZT0keyExfQogICAgICAgICAgICAgICAgLmtleT0keyJzb3cifQogICAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZmlsZXVwbG9hZD4KCiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtZmlsZXVwbG9hZAogICAgICAgICAgICAgICAgLmxhYmVsPSR7IkNyZWF0aXZlIHJlZmVyZW5jZXMifQogICAgICAgICAgICAgICAgLmluZm9UZXh0PSR7Ik9wdGlvbmFsLiBVcGxvYWQgdXAgdG8gZml2ZSB2aXN1YWwgcmVmZXJlbmNlcyJ9CiAgICAgICAgICAgICAgICAuYWNjZXB0PSR7ImltYWdlLyoifQogICAgICAgICAgICAgICAgLm1heEZpbGVzPSR7NX0KICAgICAgICAgICAgICAgIC5tYXhTaXplPSR7OCoxMDI0KjEwMjR9CiAgICAgICAgICAgICAgICAua2V5PSR7InJlZmVyZW5jZXMifQogICAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZmlsZXVwbG9hZD4KCiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAgICAgLmxhYmVsPSR7Ik5vdGVzIn0KICAgICAgICAgICAgICAgIC5pbmZvVGV4dD0keyJBZGQgb3B0aW9uYWwgY29udGV4dCBmb3IgcmV2aWV3ZXJzIn0KICAgICAgICAgICAgICAgIC5pbnB1dFR5cGU9JHsidGV4dGFyZWEifQogICAgICAgICAgICAgICAgLmtleT0keyJub3RlcyJ9CiAgICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgoKICAgICAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdCAudGV4dD0keyJTdWJtaXQgYnJpZWZpbmcifT48L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgICA8L2RlZXMtZm9ybT4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLW5vdGUiPgogICAgICAgICAgICA8c3Ryb25nPkdvb2QgdG8ga25vdzo8L3N0cm9uZz4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgIDxsaT5EcmFnICYgZHJvcCBoaWdobGlnaHRzIHRoZSBkcm9wem9uZSBhbmQgc3VwcG9ydHMga2V5Ym9hcmQgYWN0aXZhdGlvbi48L2xpPgogICAgICAgICAgICAgIDxsaT5BY2NlcHRlZCBmaWxlIHR5cGVzIGFyZSBzdW1tYXJpc2VkIGF1dG9tYXRpY2FsbHkgZnJvbSB0aGUgPGNvZGU+YWNjZXB0PC9jb2RlPiBhdHRyaWJ1dGUuPC9saT4KICAgICAgICAgICAgICA8bGk+SW1hZ2UgdXBsb2FkcyBzaG93IGxpdmUgcHJldmlld3MgZ2VuZXJhdGVkIHZpYSA8Y29kZT5VUkwuY3JlYXRlT2JqZWN0VVJMPC9jb2RlPi48L2xpPgogICAgICAgICAgICAgIDxsaT5GaWxlIHNpemUgYW5kIGZpbGUtY291bnQgbGltaXRzIHN1cmZhY2UgaW5saW5lIHZhbGlkYXRpb24gbWVzc2FnZXMuPC9saT4KICAgICAgICAgICAgICA8bGk+VGhlIGNvbXBvbmVudCBzdGF5cyBjb21wYXRpYmxlIHdpdGggPGNvZGU+ZGVlcy1mb3JtPC9jb2RlPiB2YWx1ZSBhY2Nlc3NvcnMuPC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgRnNhLEJzYT1mKCgpPT57bGUoKTtTcigpO1FlKCk7RnNhPVtFZSwuLi53dC5iYXNlU3R5bGVzLGguZGVmYXVsdFN0eWxlcyxRYAogICAgOmhvc3QgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgfQoKICAgIC5pbnB1dC13cmFwcGVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAxMnB4OwogICAgfQoKICAgIC8qIOKUgOKUgCBUaWxlIGludGVncmF0aW9uIOKUgOKUgCAqLwogICAgZGVlcy10aWxlIHsKICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgfQoKICAgIGRlZXMtdGlsZTpob3Zlcjo6cGFydChvdXRlcikgewogICAgICBib3JkZXItY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICB9CgogICAgZGVlcy10aWxlLmRyYWdvdmVyOjpwYXJ0KG91dGVyKSB7CiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZGVlcy1jb2xvci1hY2NlbnQtcHJpbWFyeSk7CiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2guYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlIC8gMC4xNSkiLCJoc2woMjEzIDkzJSA2OCUgLyAwLjE1KSIpfTsKICAgIH0KCiAgICA6aG9zdChbZGlzYWJsZWRdKSBkZWVzLXRpbGUgewogICAgICBvcGFjaXR5OiAwLjY7CiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgfQoKICAgIC8qIOKUgOKUgCBIZWFkZXIgc2xvdDogc2xlZWsgdG9vbGJhciDilIDilIAgKi8KICAgIC5kcm9wem9uZS1oZWFkZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBnYXA6IDhweDsKICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICB9CgogICAgLmRyb3B6b25lLWhlYWRlciBkZWVzLWljb24gewogICAgICB3aWR0aDogMTRweDsKICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgIH0KCiAgICAuZHJvcHpvbmUtbG9hZGVyIHsKICAgICAgd2lkdGg6IDE0cHg7CiAgICAgIGhlaWdodDogMTRweDsKICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMtZnVsbCk7CiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCJyZ2JhKDE1LCAyMywgNDIsIDAuMTUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSIpfTsKICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tZGVlcy1jb2xvci1hY2NlbnQtcHJpbWFyeSk7CiAgICAgIGFuaW1hdGlvbjogbG9hZGVyLXNwaW4gMC42cyBsaW5lYXIgaW5maW5pdGU7CiAgICB9CgogICAgLmRyb3B6b25lLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgIH0KCiAgICAuZHJvcHpvbmUtYnJvd3NlIHsKICAgICAgYXBwZWFyYW5jZTogbm9uZTsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICBwYWRkaW5nOiAwOwogICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci1hY2NlbnQtcHJpbWFyeSk7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIH0KCiAgICAuZHJvcHpvbmUtYnJvd3NlOmhvdmVyIHsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICB9CgogICAgLmRyb3B6b25lLWJyb3dzZTpkaXNhYmxlZCB7CiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIG9wYWNpdHk6IDAuNTsKICAgIH0KCiAgICAvKiDilIDilIAgQ29udGVudCBzbG90OiBmaWxlIGxpc3QgaW4gcm91bmRlZCBpbnNldCDilIDilIAgKi8KICAgIC5maWxlLWxpc3QtZW1wdHkgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgZ2FwOiA4cHg7CiAgICAgIHBhZGRpbmc6IDI0cHggMTZweDsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIH0KCiAgICAuZmlsZS1saXN0LWVtcHR5IGRlZXMtaWNvbiB7CiAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgb3BhY2l0eTogMC40OwogICAgfQoKICAgIC5maWxlLWxpc3QgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgfQoKICAgIC5maWxlLWxpc3QtaGVhZGVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgIH0KCiAgICAuZmlsZS1saXN0LWNsZWFyIHsKICAgICAgYXBwZWFyYW5jZTogbm9uZTsKICAgICAgYm9yZGVyOiBub25lOwogICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci1hY2NlbnQtcHJpbWFyeSk7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBwYWRkaW5nOiAwOwogICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgIH0KCiAgICAuZmlsZS1saXN0LWNsZWFyOmhvdmVyIHsKICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICB9CgogICAgLmZpbGUtcm93IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiAxMnB4OwogICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCB2YXIoLS1kZWVzLXRyYW5zaXRpb24tZmFzdCkgZWFzZTsKICAgIH0KCiAgICAuZmlsZS1yb3c6aG92ZXIgewogICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXJvdy1ob3Zlcik7CiAgICB9CgogICAgLmZpbGUtdGh1bWIgewogICAgICB3aWR0aDogMzJweDsKICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1kZWVzLXJhZGl1cy1zbSk7CiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctdGVydGlhcnkpOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgZmxleC1zaHJpbms6IDA7CiAgICB9CgogICAgLmZpbGUtdGh1bWIgZGVlcy1pY29uIHsKICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHdpZHRoOiAxNnB4OwogICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICBmbGV4LXNocmluazogMDsKICAgIH0KCiAgICAudGh1bWItaW1hZ2UgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIH0KCiAgICAuZmlsZS1tZXRhIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAycHg7CiAgICAgIG1pbi13aWR0aDogMDsKICAgIH0KCiAgICAuZmlsZS1uYW1lIHsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgIH0KCiAgICAuZmlsZS1kZXRhaWxzIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgZ2FwOiA4cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgIH0KCiAgICAuZmlsZS1zaXplIHsKICAgICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsKICAgIH0KCiAgICAuZmlsZS10eXBlIHsKICAgICAgcGFkZGluZzogMXB4IDZweDsKICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMtZnVsbCk7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIH0KCiAgICAuZmlsZS1hY3Rpb25zIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICB9CgogICAgLnJlbW92ZS1idXR0b24gewogICAgICB3aWR0aDogMjRweDsKICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1kZWVzLXJhZGl1cy14cyk7CiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICBib3JkZXI6IG5vbmU7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgdmFyKC0tZGVlcy10cmFuc2l0aW9uLWZhc3QpIGVhc2UsCiAgICAgICAgICAgICAgICAgIGNvbG9yIHZhcigtLWRlZXMtdHJhbnNpdGlvbi1mYXN0KSBlYXNlOwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgIH0KCiAgICAucmVtb3ZlLWJ1dHRvbjpob3ZlciB7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MiUgNTAlIC8gMC4wOCkiLCJoc2woMCA2MiUgMzIlIC8gMC4xNSkiKX07CiAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWFjY2VudC1lcnJvcik7CiAgICB9CgogICAgLnJlbW92ZS1idXR0b246YWN0aXZlIHsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk2KTsKICAgIH0KCiAgICAucmVtb3ZlLWJ1dHRvbiBkZWVzLWljb24gewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDE0cHg7CiAgICAgIGhlaWdodDogMTRweDsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgZmxleC1zaHJpbms6IDA7CiAgICB9CgogICAgLyog4pSA4pSAIEZvb3RlciBzbG90OiBtZXRhIGNoaXBzIOKUgOKUgCAqLwogICAgLmRyb3B6b25lLWZvb3RlciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgZ2FwOiA2cHg7CiAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgfQoKICAgIC5tZXRhLWNoaXAgewogICAgICBmb250LXNpemU6IDExcHg7CiAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWRlZXMtcmFkaXVzLWZ1bGwpOwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy10ZXJ0aWFyeSk7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICB9CgogICAgLyog4pSA4pSAIFZhbGlkYXRpb24g4pSA4pSAICovCiAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci1hY2NlbnQtZXJyb3IpOwogICAgICBsaW5lLWhlaWdodDogMS41OwogICAgfQoKICAgIEBrZXlmcmFtZXMgbG9hZGVyLXNwaW4gewogICAgICB0byB7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgfQogICAgfQogIGBdfSk7dmFyIFYyLEFzLHBhZSxIWWU9ZigoKT0+e1NyKCk7T3NhKCk7QnNhKCk7dmEoKTtvbSgpO0tyKCk7bGUoKTtWMj1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sQXM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHBhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtZmlsZXVwbG9hZCIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdLFAsQT1bXSxGPVtdO3ZhciBXPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRGaWxldXBsb2FkIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGo9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7YXR0cmlidXRlOiExfSldLGQ9W0soKV0sdT1bSygpXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOlN0cmluZ30pXSxOPVskKHt0eXBlOkJvb2xlYW59KV0sTz1bJCh7dHlwZTpOdW1iZXJ9KV0sQj1bJCh7dHlwZTpOdW1iZXJ9KV0sUD1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxWMih0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJ2YWx1ZSJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLnZhbHVlLCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLnZhbHVlPWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LG4sbCksVjIodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4ic3RhdGUiaW4gRywiaGFzIiksZ2V0OnMoRz0+Ry5zdGF0ZSwiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry5zdGF0ZT1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxjLHApLFYyKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNMb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJpc0xvYWRpbmciaW4gRywiaGFzIiksZ2V0OnMoRz0+Ry5pc0xvYWRpbmcsImdldCIpLHNldDpzKChHLGhlKT0+e0cuaXNMb2FkaW5nPWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LG0sdiksVjIodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJidXR0b25UZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJidXR0b25UZXh0ImluIEcsImhhcyIpLGdldDpzKEc9PkcuYnV0dG9uVGV4dCwiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry5idXR0b25UZXh0PWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LGIsZyksVjIodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY2NlcHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRz0+ImFjY2VwdCJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLmFjY2VwdCwiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry5hY2NlcHQ9aGV9LCJzZXQiKX0sbWV0YWRhdGE6an0sayxDKSxWMih0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im11bHRpcGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJtdWx0aXBsZSJpbiBHLCJoYXMiKSxnZXQ6cyhHPT5HLm11bHRpcGxlLCJnZXQiKSxzZXQ6cygoRyxoZSk9PntHLm11bHRpcGxlPWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LF8seiksVjIodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXhTaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJtYXhTaXplImluIEcsImhhcyIpLGdldDpzKEc9PkcubWF4U2l6ZSwiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry5tYXhTaXplPWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LFQsRSksVjIodGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXhGaWxlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhHPT4ibWF4RmlsZXMiaW4gRywiaGFzIiksZ2V0OnMoRz0+Ry5tYXhGaWxlcywiZ2V0Iiksc2V0OnMoKEcsaGUpPT57Ry5tYXhGaWxlcz1oZX0sInNldCIpfSxtZXRhZGF0YTpqfSxNLFMpLFYyKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsaWRhdGlvblN0YXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEc9PiJ2YWxpZGF0aW9uU3RhdGUiaW4gRywiaGFzIiksZ2V0OnMoRz0+Ry52YWxpZGF0aW9uU3RhdGUsImdldCIpLHNldDpzKChHLGhlKT0+e0cudmFsaWRhdGlvblN0YXRlPWhlfSwic2V0Iil9LG1ldGFkYXRhOmp9LEEsRiksVjIobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6an0sbnVsbCx0KSxXPXI9ZS52YWx1ZSxqJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmp9KX1zdGF0aWMgZGVtbz1Sc2E7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPUFzKHRoaXMsbixbXSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKGope3RoaXMuI2U9an0jdD0oQXModGhpcyxsKSxBcyh0aGlzLGMsImlkbGUiKSk7Z2V0IHN0YXRlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHN0YXRlKGope3RoaXMuI3Q9an0jYT0oQXModGhpcyxwKSxBcyh0aGlzLG0sITEpKTtnZXQgaXNMb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGlzTG9hZGluZyhqKXt0aGlzLiNhPWp9I3I9KEFzKHRoaXMsdiksQXModGhpcyxiLCJTZWxlY3QgZmlsZXMiKSk7Z2V0IGJ1dHRvblRleHQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgYnV0dG9uVGV4dChqKXt0aGlzLiNyPWp9I3M9KEFzKHRoaXMsZyksQXModGhpcyxrLCIiKSk7Z2V0IGFjY2VwdCgpe3JldHVybiB0aGlzLiNzfXNldCBhY2NlcHQoail7dGhpcy4jcz1qfSNpPShBcyh0aGlzLEMpLEFzKHRoaXMsXywhMCkpO2dldCBtdWx0aXBsZSgpe3JldHVybiB0aGlzLiNpfXNldCBtdWx0aXBsZShqKXt0aGlzLiNpPWp9I289KEFzKHRoaXMseiksQXModGhpcyxULDApKTtnZXQgbWF4U2l6ZSgpe3JldHVybiB0aGlzLiNvfXNldCBtYXhTaXplKGope3RoaXMuI289an0jbj0oQXModGhpcyxFKSxBcyh0aGlzLE0sMCkpO2dldCBtYXhGaWxlcygpe3JldHVybiB0aGlzLiNufXNldCBtYXhGaWxlcyhqKXt0aGlzLiNuPWp9I2w9KEFzKHRoaXMsUyksQXModGhpcyxBLG51bGwpKTtnZXQgdmFsaWRhdGlvblN0YXRlKCl7cmV0dXJuIHRoaXMuI2x9c2V0IHZhbGlkYXRpb25TdGF0ZShqKXt0aGlzLiNsPWp9I2M9KEFzKHRoaXMsRiksIiIpO2dldCB2YWxpZGF0aW9uTWVzc2FnZSgpe3JldHVybiB0aGlzLiNjfXNldCB2YWxpZGF0aW9uTWVzc2FnZShqKXt0aGlzLiNjPWp9cHJldmlld1VybE1hcD1uZXcgV2Vha01hcDtkcm9wQXJlYT1udWxsO3N0YXRpYyBzdHlsZXM9RnNhO3JlbmRlcigpe2xldCBqPXRoaXMuZ2V0QWNjZXB0ZWRTdW1tYXJ5KCksRz1bdGhpcy5tdWx0aXBsZT8iTXVsdGlwbGUgZmlsZXMgc3VwcG9ydGVkIjoiU2luZ2xlIGZpbGUgb25seSIsdGhpcy5tYXhTaXplPjA/YE1heCAke3RoaXMuZm9ybWF0RmlsZVNpemUodGhpcy5tYXhTaXplKX1gOiJObyBzaXplIGxpbWl0Il07cmV0dXJuIGomJkcucHVzaChgQWNjZXB0cyAke2p9YCksd2AKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRlZXMtbGFiZWwKICAgICAgICAgIC5sYWJlbD0ke3RoaXMubGFiZWx9CiAgICAgICAgICAuaW5mb1RleHQ9JHt0aGlzLmluZm9UZXh0fQogICAgICAgICAgLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0KICAgICAgICA+PC9kZWVzLWxhYmVsPgogICAgICAgIDxkZWVzLXRpbGUKICAgICAgICAgIGNsYXNzPSIke3RoaXMuc3RhdGU9PT0iZHJhZ092ZXIiPyJkcmFnb3ZlciI6IiJ9IgogICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVEcm9wem9uZUNsaWNrfQogICAgICAgICAgQGtleWRvd249JHt0aGlzLmhhbmRsZURyb3B6b25lS2V5ZG93bn0KICAgICAgICAgIHRhYmluZGV4PSR7dGhpcy5kaXNhYmxlZD8tMTowfQogICAgICAgICAgYXJpYS1kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgICBhcmlhLWxhYmVsPSR7YFNlbGVjdCBmaWxlcyR7aj9gICgke2p9KWA6IiJ9YH0KICAgICAgICA+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgY2xhc3M9ImZpbGUtaW5wdXQiCiAgICAgICAgICAgIHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IG9wYWNpdHk6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lOyB3aWR0aDogMXB4OyBoZWlnaHQ6IDFweDsgdG9wOiAwOyBsZWZ0OiAwOyBvdmVyZmxvdzogaGlkZGVuOyIKICAgICAgICAgICAgdHlwZT0iZmlsZSIKICAgICAgICAgICAgP211bHRpcGxlPSR7dGhpcy5tdWx0aXBsZX0KICAgICAgICAgICAgYWNjZXB0PSR7dGhpcy5hY2NlcHR8fCIifQogICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfQogICAgICAgICAgICBAY2hhbmdlPSR7dGhpcy5oYW5kbGVGaWxlSW5wdXRDaGFuZ2V9CiAgICAgICAgICAgIHRhYmluZGV4PSItMSIKICAgICAgICAgIC8+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImRyb3B6b25lLWhlYWRlciI+CiAgICAgICAgICAgICR7dGhpcy5pc0xvYWRpbmc/d2A8c3BhbiBjbGFzcz0iZHJvcHpvbmUtbG9hZGVyIiBhcmlhLWhpZGRlbj0idHJ1ZSI+PC9zcGFuPmA6d2A8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpVcGxvYWQiPjwvZGVlcy1pY29uPmB9CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkcm9wem9uZS10aXRsZSI+RHJvcCBmaWxlcyBoZXJlIG9yPC9zcGFuPgogICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgdHlwZT0iYnV0dG9uIgogICAgICAgICAgICAgIGNsYXNzPSJkcm9wem9uZS1icm93c2UiCiAgICAgICAgICAgICAgQGNsaWNrPSR7aGU9PntoZS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLm9wZW5GaWxlU2VsZWN0b3IoKX19CiAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgICAgPmJyb3dzZTwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAke3RoaXMucmVuZGVyRmlsZUxpc3QoKX0KICAgICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iZHJvcHpvbmUtZm9vdGVyIj4KICAgICAgICAgICAgJHtHLm1hcChoZT0+d2A8c3BhbiBjbGFzcz0ibWV0YS1jaGlwIj4ke2hlfTwvc3Bhbj5gKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGVlcy10aWxlPgogICAgICAgICR7dGhpcy52YWxpZGF0aW9uTWVzc2FnZT93YDxkaXYgY2xhc3M9InZhbGlkYXRpb24tbWVzc2FnZSIgYXJpYS1saXZlPSJwb2xpdGUiPiR7dGhpcy52YWxpZGF0aW9uTWVzc2FnZX08L2Rpdj5gOndgYH0KICAgICAgICAke3RoaXMucmVuZGVyRGVzY3JpcHRpb24oKX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckZpbGVMaXN0KCl7cmV0dXJuIHRoaXMudmFsdWUubGVuZ3RoPT09MD93YAogICAgICAgIDxkaXYgY2xhc3M9ImZpbGUtbGlzdC1lbXB0eSI+CiAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpGaWxlU3RhY2siPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+Tm8gZmlsZXMgc2VsZWN0ZWQ8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgPGRpdiBjbGFzcz0iZmlsZS1saXN0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWxpc3QtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuPiR7dGhpcy52YWx1ZS5sZW5ndGh9IGZpbGUke3RoaXMudmFsdWUubGVuZ3RoPT09MT8iIjoicyJ9IHNlbGVjdGVkPC9zcGFuPgogICAgICAgICAgPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSJmaWxlLWxpc3QtY2xlYXIiIEBjbGljaz0ke3RoaXMuaGFuZGxlQ2xlYXJBbGx9PkNsZWFyICR7dGhpcy52YWx1ZS5sZW5ndGg+MT8iYWxsIjoiIn08L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMudmFsdWUubWFwKGo9PnRoaXMucmVuZGVyRmlsZVJvdyhqKSl9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJGaWxlUm93KGope2xldCBHPXRoaXMuZ2V0RmlsZVR5cGUoaiksaGU9dGhpcy5jYW5TaG93UHJldmlldyhqKT90aGlzLmdldFByZXZpZXdVcmwoaik6bnVsbDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZmlsZS1yb3cgJHtHfS1maWxlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLXRodW1iIiBhcmlhLWhpZGRlbj0idHJ1ZSI+CiAgICAgICAgICAke2hlP3dgPGltZyBjbGFzcz0idGh1bWItaW1hZ2UiIHNyYz0ke2hlfSBhbHQ9JHtgUHJldmlldyBvZiAke2oubmFtZX1gfT5gOndgPGRlZXMtaWNvbiBpY29uPSR7dGhpcy5nZXRGaWxlSWNvbihqKX0+PC9kZWVzLWljb24+YH0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLW1ldGEiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1uYW1lIiB0aXRsZT0ke2oubmFtZX0+JHtqLm5hbWV9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWRldGFpbHMiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmlsZS1zaXplIj4ke3RoaXMuZm9ybWF0RmlsZVNpemUoai5zaXplKX08L3NwYW4+CiAgICAgICAgICAgICR7RyE9PSJmaWxlIj93YDxzcGFuIGNsYXNzPSJmaWxlLXR5cGUiPiR7R308L3NwYW4+YDp3YGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWFjdGlvbnMiPgogICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICB0eXBlPSJidXR0b24iCiAgICAgICAgICAgIGNsYXNzPSJyZW1vdmUtYnV0dG9uIgogICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5yZW1vdmVGaWxlKGopfQogICAgICAgICAgICBhcmlhLWxhYmVsPSR7YFJlbW92ZSAke2oubmFtZX1gfQogICAgICAgICAgPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpYIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlRmlsZUlucHV0Q2hhbmdlPXMoYXN5bmMgaj0+e3RoaXMuaXNMb2FkaW5nPSExO2xldCBHPWoudGFyZ2V0LGhlPUFycmF5LmZyb20oRy5maWxlcz8/W10pO2hlLmxlbmd0aD4wJiZhd2FpdCB0aGlzLmFkZEZpbGVzKGhlKSxHLnZhbHVlPSIifSwiaGFuZGxlRmlsZUlucHV0Q2hhbmdlIik7aGFuZGxlRHJvcHpvbmVDbGljaz1zKGo9Pnt0aGlzLmRpc2FibGVkfHxqLnRhcmdldC5jbG9zZXN0KCIuZmlsZS1saXN0LCAuZHJvcHpvbmUtaGVhZGVyLCAuZHJvcHpvbmUtZm9vdGVyIil8fHRoaXMub3BlbkZpbGVTZWxlY3RvcigpfSwiaGFuZGxlRHJvcHpvbmVDbGljayIpO2hhbmRsZURyb3B6b25lS2V5ZG93bj1zKGo9Pnt0aGlzLmRpc2FibGVkfHwoai5rZXk9PT0iRW50ZXIifHxqLmtleT09PSIgIikmJihqLnByZXZlbnREZWZhdWx0KCksdGhpcy5vcGVuRmlsZVNlbGVjdG9yKCkpfSwiaGFuZGxlRHJvcHpvbmVLZXlkb3duIik7aGFuZGxlQ2xlYXJBbGw9cyhqPT57ai5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY2xlYXJBbGwoKX0sImhhbmRsZUNsZWFyQWxsIik7aGFuZGxlRHJhZ0V2ZW50PXMoYXN5bmMgaj0+e2lmKGoucHJldmVudERlZmF1bHQoKSxqLnN0b3BQcm9wYWdhdGlvbigpLCF0aGlzLmRpc2FibGVkKXtpZihqLnR5cGU9PT0iZHJhZ2VudGVyInx8ai50eXBlPT09ImRyYWdvdmVyIil7ai5kYXRhVHJhbnNmZXImJihqLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PSJjb3B5IiksdGhpcy5zdGF0ZT0iZHJhZ092ZXIiO3JldHVybn1pZihqLnR5cGU9PT0iZHJhZ2xlYXZlIil7aWYoIXRoaXMuZHJvcEFyZWEpe3RoaXMuc3RhdGU9ImlkbGUiO3JldHVybn1sZXQgRz10aGlzLmRyb3BBcmVhLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHtjbGllbnRYOmhlPTAsY2xpZW50WTpSPTB9PWo7KGhlPD1HLmxlZnR8fGhlPj1HLnJpZ2h0fHxSPD1HLnRvcHx8Uj49Ry5ib3R0b20pJiYodGhpcy5zdGF0ZT0iaWRsZSIpO3JldHVybn1pZihqLnR5cGU9PT0iZHJvcCIpe3RoaXMuc3RhdGU9ImlkbGUiO2xldCBHPUFycmF5LmZyb20oai5kYXRhVHJhbnNmZXI/LmZpbGVzPz9bXSk7Ry5sZW5ndGg+MCYmYXdhaXQgdGhpcy5hZGRGaWxlcyhHKX19fSwiaGFuZGxlRHJhZ0V2ZW50Iik7YXR0YWNoRHJvcExpc3RlbmVycygpe3RoaXMuZHJvcEFyZWEmJlsiZHJhZ2VudGVyIiwiZHJhZ292ZXIiLCJkcmFnbGVhdmUiLCJkcm9wIl0uZm9yRWFjaChqPT57dGhpcy5kcm9wQXJlYS5hZGRFdmVudExpc3RlbmVyKGosdGhpcy5oYW5kbGVEcmFnRXZlbnQpfSl9ZGV0YWNoRHJvcExpc3RlbmVycygpe3RoaXMuZHJvcEFyZWEmJlsiZHJhZ2VudGVyIiwiZHJhZ292ZXIiLCJkcmFnbGVhdmUiLCJkcm9wIl0uZm9yRWFjaChqPT57dGhpcy5kcm9wQXJlYS5yZW1vdmVFdmVudExpc3RlbmVyKGosdGhpcy5oYW5kbGVEcmFnRXZlbnQpfSl9cmViaW5kSW50ZXJhY3RpdmVFbGVtZW50cygpe2xldCBqPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy10aWxlIik7aiE9PXRoaXMuZHJvcEFyZWEmJih0aGlzLmRldGFjaERyb3BMaXN0ZW5lcnMoKSx0aGlzLmRyb3BBcmVhPWosdGhpcy5hdHRhY2hEcm9wTGlzdGVuZXJzKCkpfWZvcm1hdEZpbGVTaXplKGope2xldCBHPVsiQnl0ZXMiLCJLQiIsIk1CIiwiR0IiXTtpZihqPT09MClyZXR1cm4iMCBCeXRlcyI7bGV0IGhlPU1hdGgubWluKE1hdGguZmxvb3IoTWF0aC5sb2coaikvTWF0aC5sb2coMTAyNCkpLEcubGVuZ3RoLTEpLFI9ai9NYXRoLnBvdygxMDI0LGhlKTtyZXR1cm5gJHtNYXRoLnJvdW5kKFIqMTAwKS8xMDB9ICR7R1toZV19YH1nZXRGaWxlVHlwZShqKXtsZXQgRz1qLnR5cGUudG9Mb3dlckNhc2UoKTtyZXR1cm4gRy5zdGFydHNXaXRoKCJpbWFnZS8iKT8iaW1hZ2UiOkc9PT0iYXBwbGljYXRpb24vcGRmIj8icGRmIjpHLmluY2x1ZGVzKCJ3b3JkIil8fEcuaW5jbHVkZXMoImRvY3VtZW50Iik/ImRvYyI6Ry5pbmNsdWRlcygic2hlZXQiKXx8Ry5pbmNsdWRlcygiZXhjZWwiKT8ic3ByZWFkc2hlZXQiOkcuaW5jbHVkZXMoInByZXNlbnRhdGlvbiIpfHxHLmluY2x1ZGVzKCJwb3dlcnBvaW50Iik/InByZXNlbnRhdGlvbiI6Ry5zdGFydHNXaXRoKCJ2aWRlby8iKT8idmlkZW8iOkcuc3RhcnRzV2l0aCgiYXVkaW8vIik/ImF1ZGlvIjpHLmluY2x1ZGVzKCJ6aXAiKXx8Ry5pbmNsdWRlcygiY29tcHJlc3NlZCIpPyJhcmNoaXZlIjoiZmlsZSJ9Z2V0RmlsZUljb24oail7bGV0IEc9dGhpcy5nZXRGaWxlVHlwZShqKTtyZXR1cm57aW1hZ2U6Imx1Y2lkZTpGaWxlSW1hZ2UiLHBkZjoibHVjaWRlOkZpbGVUZXh0Iixkb2M6Imx1Y2lkZTpGaWxlVGV4dCIsc3ByZWFkc2hlZXQ6Imx1Y2lkZTpGaWxlU3ByZWFkc2hlZXQiLHByZXNlbnRhdGlvbjoibHVjaWRlOkZpbGVCYXJDaGFydCIsdmlkZW86Imx1Y2lkZTpGaWxlVmlkZW8iLGF1ZGlvOiJsdWNpZGU6RmlsZUF1ZGlvIixhcmNoaXZlOiJsdWNpZGU6RmlsZUFyY2hpdmUiLGZpbGU6Imx1Y2lkZTpGaWxlIn1bR10/PyJsdWNpZGU6RmlsZSJ9Y2FuU2hvd1ByZXZpZXcoail7cmV0dXJuIGoudHlwZS5zdGFydHNXaXRoKCJpbWFnZS8iKSYmai5zaXplPDUqMTAyNCoxMDI0fXZhbGlkYXRlRmlsZShqKXtpZih0aGlzLm1heFNpemU+MCYmai5zaXplPnRoaXMubWF4U2l6ZSlyZXR1cm4gdGhpcy52YWxpZGF0aW9uTWVzc2FnZT1gRmlsZSAiJHtqLm5hbWV9IiBleGNlZWRzIHRoZSBtYXhpbXVtIHNpemUgb2YgJHt0aGlzLmZvcm1hdEZpbGVTaXplKHRoaXMubWF4U2l6ZSl9YCx0aGlzLnZhbGlkYXRpb25TdGF0ZT0iaW52YWxpZCIsITE7aWYodGhpcy5hY2NlcHQpe2xldCBHPXRoaXMuYWNjZXB0LnNwbGl0KCIsIikubWFwKGhlPT5oZS50cmltKCkpLmZpbHRlcihoZT0+aGUubGVuZ3RoPjApO2lmKEcubGVuZ3RoPjApe2xldCBoZT0hMTtmb3IobGV0IFIgb2YgRylpZihSLnN0YXJ0c1dpdGgoIi4iKSl7aWYoai5uYW1lLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoUi50b0xvd2VyQ2FzZSgpKSl7aGU9ITA7YnJlYWt9fWVsc2UgaWYoUi5lbmRzV2l0aCgiLyoiKSl7bGV0IFU9Ui5zbGljZSgwLC0yKTtpZihqLnR5cGUuc3RhcnRzV2l0aChVKSl7aGU9ITA7YnJlYWt9fWVsc2UgaWYoai50eXBlPT09Uil7aGU9ITA7YnJlYWt9aWYoIWhlKXJldHVybiB0aGlzLnZhbGlkYXRpb25NZXNzYWdlPWBGaWxlIHR5cGUgbm90IGFjY2VwdGVkLiBBbGxvd2VkOiAke0cuam9pbigiLCAiKX1gLHRoaXMudmFsaWRhdGlvblN0YXRlPSJpbnZhbGlkIiwhMX19cmV0dXJuITB9Z2V0UHJldmlld1VybChqKXtsZXQgRz10aGlzLnByZXZpZXdVcmxNYXAuZ2V0KGopO3JldHVybiBHfHwoRz1VUkwuY3JlYXRlT2JqZWN0VVJMKGopLHRoaXMucHJldmlld1VybE1hcC5zZXQoaixHKSksR31yZWxlYXNlUHJldmlldyhqKXtsZXQgRz10aGlzLnByZXZpZXdVcmxNYXAuZ2V0KGopO0cmJihVUkwucmV2b2tlT2JqZWN0VVJMKEcpLHRoaXMucHJldmlld1VybE1hcC5kZWxldGUoaikpfWdldEFjY2VwdGVkU3VtbWFyeSgpe2lmKCF0aGlzLmFjY2VwdClyZXR1cm4gbnVsbDtsZXQgaj1BcnJheS5mcm9tKG5ldyBTZXQodGhpcy5hY2NlcHQuc3BsaXQoIiwiKS5tYXAoRz0+Ry50cmltKCkpLmZpbHRlcihHPT5HLmxlbmd0aD4wKS5tYXAoRz0+dGhpcy5mb3JtYXRBY2NlcHRUb2tlbihHKSkpKS5maWx0ZXIoQm9vbGVhbik7cmV0dXJuIGoubGVuZ3RoPT09MD9udWxsOmoubGVuZ3RoPT09MT9qWzBdOmoubGVuZ3RoPT09Mj9gJHtqWzBdfSwgJHtqWzFdfWA6YCR7ai5zbGljZSgwLDIpLmpvaW4oIiwgIil9XHUyMDI2YH1mb3JtYXRBY2NlcHRUb2tlbihqKXtpZihqPT09IiovKiIpcmV0dXJuIkFsbCBmaWxlcyI7aWYoai5lbmRzV2l0aCgiLyoiKSl7bGV0IFI9ai5zcGxpdCgiLyIpWzBdO3JldHVybiBSP2Ake1IuY2hhckF0KDApLnRvVXBwZXJDYXNlKCl9JHtSLnNsaWNlKDEpfSBmaWxlc2A6IkFsbCBmaWxlcyJ9cmV0dXJuIGouc3RhcnRzV2l0aCgiLiIpP2ouc2xpY2UoMSkudG9VcHBlckNhc2UoKTpqLmluY2x1ZGVzKCJwZGYiKT8iUERGIjpqLmluY2x1ZGVzKCJ6aXAiKT8iWklQIjpqLmluY2x1ZGVzKCJqc29uIik/IkpTT04iOmouaW5jbHVkZXMoIm1zd29yZCIpPyJET0MiOmouaW5jbHVkZXMoIndvcmRwcm9jZXNzaW5nbWwiKT8iRE9DWCI6ai5pbmNsdWRlcygiZXhjZWwiKT8iWExTIjpqLmluY2x1ZGVzKCJwcmVzZW50YXRpb24iKT8iUFBUIjooai5zcGxpdCgiLyIpLnBvcCgpPz9qKS50b1VwcGVyQ2FzZSgpfWF0dGFjaExpZmVjeWNsZUxpc3RlbmVycygpe3RoaXMucmViaW5kSW50ZXJhY3RpdmVFbGVtZW50cygpfWZpcnN0VXBkYXRlZChqKXtzdXBlci5maXJzdFVwZGF0ZWQoaiksdGhpcy5hdHRhY2hMaWZlY3ljbGVMaXN0ZW5lcnMoKX11cGRhdGVkKGope3N1cGVyLnVwZGF0ZWQoaiksai5oYXMoInZhbHVlIikmJnRoaXMudmFsaWRhdGUoKSx0aGlzLnJlYmluZEludGVyYWN0aXZlRWxlbWVudHMoKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe3RoaXMuZGV0YWNoRHJvcExpc3RlbmVycygpLHRoaXMudmFsdWUuZm9yRWFjaChqPT50aGlzLnJlbGVhc2VQcmV2aWV3KGopKSx0aGlzLnByZXZpZXdVcmxNYXA9bmV3IFdlYWtNYXAsYXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKX1hc3luYyBvcGVuRmlsZVNlbGVjdG9yKCl7aWYodGhpcy5kaXNhYmxlZHx8dGhpcy5pc0xvYWRpbmcpcmV0dXJuO3RoaXMuaXNMb2FkaW5nPSEwO2xldCBqPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmZpbGUtaW5wdXQiKTtpZighail7dGhpcy5pc0xvYWRpbmc9ITE7cmV0dXJufWxldCBHPXMoKCk9PntzZXRUaW1lb3V0KCgpPT57KCFqLmZpbGVzfHxqLmZpbGVzLmxlbmd0aD09PTApJiYodGhpcy5pc0xvYWRpbmc9ITEpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsRyl9LDMwMCl9LCJoYW5kbGVGb2N1cyIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsRyksai5jbGljaygpfXJlbW92ZUZpbGUoail7bGV0IEc9dGhpcy52YWx1ZS5pbmRleE9mKGopO0c+LTEmJih0aGlzLnJlbGVhc2VQcmV2aWV3KGopLHRoaXMudmFsdWUuc3BsaWNlKEcsMSksdGhpcy5yZXF1ZXN0VXBkYXRlKCJ2YWx1ZSIpLHRoaXMudmFsaWRhdGUoKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSl9Y2xlYXJBbGwoKXtsZXQgaj1bLi4udGhpcy52YWx1ZV07dGhpcy52YWx1ZT1bXSxqLmZvckVhY2goRz0+dGhpcy5yZWxlYXNlUHJldmlldyhHKSksdGhpcy5yZXF1ZXN0VXBkYXRlKCJ2YWx1ZSIpLHRoaXMudmFsaWRhdGUoKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSx0aGlzLmJ1dHRvblRleHQ9IlNlbGVjdCBmaWxlcyJ9YXN5bmMgdXBkYXRlVmFsdWUoail7bGV0IEc9ai50YXJnZXQ7dGhpcy52YWx1ZT1BcnJheS5mcm9tKEcuZmlsZXM/P1tdKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKX1zZXRWYWx1ZShqKXt0aGlzLnZhbHVlLmZvckVhY2goRz0+dGhpcy5yZWxlYXNlUHJldmlldyhHKSksdGhpcy52YWx1ZT1qLGoubGVuZ3RoPjA/dGhpcy5idXR0b25UZXh0PXRoaXMubXVsdGlwbGU/IkFkZCBtb3JlIGZpbGVzIjoiUmVwbGFjZSBmaWxlIjp0aGlzLmJ1dHRvblRleHQ9IlNlbGVjdCBmaWxlcyIsdGhpcy5yZXF1ZXN0VXBkYXRlKCJ2YWx1ZSIpLHRoaXMudmFsaWRhdGUoKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfWFzeW5jIGFkZEZpbGVzKGope2xldCBHPVtdO2ZvcihsZXQgaGUgb2Ygail0aGlzLnZhbGlkYXRlRmlsZShoZSkmJkcucHVzaChoZSk7aWYoRy5sZW5ndGg9PT0wKXt0aGlzLmlzTG9hZGluZz0hMTtyZXR1cm59aWYodGhpcy5tYXhGaWxlcz4wJiZ0aGlzLnZhbHVlLmxlbmd0aCtHLmxlbmd0aD50aGlzLm1heEZpbGVzKXtsZXQgUj10aGlzLm1heEZpbGVzLXRoaXMudmFsdWUubGVuZ3RoO2lmKFI8PTApe3RoaXMudmFsaWRhdGlvbk1lc3NhZ2U9YE1heGltdW0gJHt0aGlzLm1heEZpbGVzfSBmaWxlcyBhbGxvd2VkYCx0aGlzLnZhbGlkYXRpb25TdGF0ZT0iaW52YWxpZCIsdGhpcy5pc0xvYWRpbmc9ITE7cmV0dXJufUcuc3BsaWNlKFIpLHRoaXMudmFsaWRhdGlvbk1lc3NhZ2U9YE9ubHkgJHtSfSBtb3JlIGZpbGUocykgY2FuIGJlIGFkZGVkYCx0aGlzLnZhbGlkYXRpb25TdGF0ZT0id2FybiJ9IXRoaXMubXVsdGlwbGUmJkcubGVuZ3RoPjA/KHRoaXMudmFsdWUuZm9yRWFjaChoZT0+dGhpcy5yZWxlYXNlUHJldmlldyhoZSkpLHRoaXMudmFsdWU9W0dbMF1dKTp0aGlzLnZhbHVlLnB1c2goLi4uRyksdGhpcy52YWxpZGF0aW9uTWVzc2FnZT0iIix0aGlzLnZhbGlkYXRpb25TdGF0ZT1udWxsLHRoaXMucmVxdWVzdFVwZGF0ZSgidmFsdWUiKSxhd2FpdCB0aGlzLnZhbGlkYXRlKCksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksdGhpcy5pc0xvYWRpbmc9ITEsdGhpcy52YWx1ZS5sZW5ndGg+MD90aGlzLmJ1dHRvblRleHQ9dGhpcy5tdWx0aXBsZT8iQWRkIG1vcmUgZmlsZXMiOiJSZXBsYWNlIGZpbGUiOnRoaXMuYnV0dG9uVGV4dD0iU2VsZWN0IGZpbGVzIn1hc3luYyB2YWxpZGF0ZSgpe2lmKHRoaXMudmFsaWRhdGlvbk1lc3NhZ2U9IiIsdGhpcy5yZXF1aXJlZCYmdGhpcy52YWx1ZS5sZW5ndGg9PT0wKXJldHVybiB0aGlzLnZhbGlkYXRpb25TdGF0ZT0iaW52YWxpZCIsdGhpcy52YWxpZGF0aW9uTWVzc2FnZT0iUGxlYXNlIHNlbGVjdCBhdCBsZWFzdCBvbmUgZmlsZSIsITE7Zm9yKGxldCBqIG9mIHRoaXMudmFsdWUpaWYoIXRoaXMudmFsaWRhdGVGaWxlKGopKXJldHVybiExO3JldHVybiB0aGlzLnZhbGlkYXRpb25TdGF0ZT10aGlzLnZhbHVlLmxlbmd0aD4wPyJ2YWxpZCI6bnVsbCwhMH1zdGF0aWN7QXMocix0KX19O3JldHVybiBXPXJ9KSgpfSk7dmFyIHFZZT1mKCgpPT57SFllKCl9KTtmdW5jdGlvbiBoYWUoYSxlPXthbGxvd1FSSUJBTjohMH0pe2lmKGE9PW51bGwpcmV0dXJuITE7bGV0IHQ9bmV3IFJlZ0V4cCgiXlswLTldezJ9JCIsIiIpLHI9YS5zbGljZSgwLDIpLGk9JG5bcl07cmV0dXJuIGk9PT12b2lkIDB8fGkuYmJhbl9yZWdleHA9PT12b2lkIDB8fGkuYmJhbl9yZWdleHA9PT1udWxsfHxpLmNoYXJzPT09dm9pZCAwPyExOmkuY2hhcnM9PT1hLmxlbmd0aCYmdC50ZXN0KGEuc2xpY2UoMiw0KSkmJmIkYShhLnNsaWNlKDQpLHIpJiZxc2EoYSkmJihlLmFsbG93UVJJQkFOfHwhSHNhKGEpKX1mdW5jdGlvbiBJUmkoYSxlPXthbGxvd1FSSUJBTjohMH0pe2xldCB0PXtlcnJvckNvZGVzOltdLHZhbGlkOiEwfTtpZihhIT1udWxsJiZhIT09IiIpe2xldCByPSRuW2Euc2xpY2UoMCwyKV07aWYoIXJ8fCEoci5iYmFuX3JlZ2V4cHx8ci5jaGFycykpcmV0dXJuIHQudmFsaWQ9ITEsdC5lcnJvckNvZGVzLnB1c2goRTEuTm9JQkFOQ291bnRyeSksdDtyJiZyLmNoYXJzJiZyLmNoYXJzIT09YS5sZW5ndGgmJih0LnZhbGlkPSExLHQuZXJyb3JDb2Rlcy5wdXNoKEUxLldyb25nQkJBTkxlbmd0aCkpLHImJnIuYmJhbl9yZWdleHAmJiFWWWUoYS5zbGljZSg0KSxyLmJiYW5fcmVnZXhwKSYmKHQudmFsaWQ9ITEsdC5lcnJvckNvZGVzLnB1c2goRTEuV3JvbmdCQkFORm9ybWF0KSksciYmci5iYmFuX3ZhbGlkYXRpb25fZnVuYyYmIXIuYmJhbl92YWxpZGF0aW9uX2Z1bmMoYS5zbGljZSg0KSkmJih0LnZhbGlkPSExLHQuZXJyb3JDb2Rlcy5wdXNoKEUxLldyb25nQWNjb3VudEJhbmtCcmFuY2hDaGVja3N1bSkpLG5ldyBSZWdFeHAoIl5bMC05XXsyfSQiLCIiKS50ZXN0KGEuc2xpY2UoMiw0KSl8fCh0LnZhbGlkPSExLHQuZXJyb3JDb2Rlcy5wdXNoKEUxLkNoZWNrc3VtTm90TnVtYmVyKSksKHQuZXJyb3JDb2Rlcy5pbmRleE9mKEUxLldyb25nQkJBTkZvcm1hdCkhPT0tMXx8IXFzYShhKSkmJih0LnZhbGlkPSExLHQuZXJyb3JDb2Rlcy5wdXNoKEUxLldyb25nSUJBTkNoZWNrc3VtKSksIWUuYWxsb3dRUklCQU4mJkhzYShhKSYmKHQudmFsaWQ9ITEsdC5lcnJvckNvZGVzLnB1c2goRTEuUVJJQkFOTm90QWxsb3dlZCkpfWVsc2UgdC52YWxpZD0hMSx0LmVycm9yQ29kZXMucHVzaChFMS5Ob0lCQU5Qcm92aWRlZCk7cmV0dXJuIHR9ZnVuY3Rpb24gYiRhKGEsZSl7aWYoYT09bnVsbHx8ZT09PXZvaWQgMHx8ZT09PW51bGwpcmV0dXJuITE7bGV0IHQ9JG5bZV07cmV0dXJuIHQ9PW51bGx8fHQuYmJhbl9yZWdleHA9PT12b2lkIDB8fHQuYmJhbl9yZWdleHA9PT1udWxsfHx0LmNoYXJzPT09dm9pZCAwfHx0LmNoYXJzPT09bnVsbD8hMTp0LmNoYXJzLTQ9PT1hLmxlbmd0aCYmVlllKGEsdC5iYmFuX3JlZ2V4cCk/dC5iYmFuX3ZhbGlkYXRpb25fZnVuYz90LmJiYW5fdmFsaWRhdGlvbl9mdW5jKGEucmVwbGFjZSgvW1xzLl0rL2csIiIpKTohMDohMX1mdW5jdGlvbiBOUmkoYSl7aWYoYSE9bnVsbCl7bGV0IGU9JG5bYV07aWYoZSE9PXZvaWQgMClyZXR1cm4gZS5TRVBBP2UuU0VQQTohMX1yZXR1cm4hMX1mdW5jdGlvbiBIc2EoYSl7aWYoYT09bnVsbClyZXR1cm4hMTtsZXQgZT1hLnNsaWNlKDAsMik7cmV0dXJuWyJMSSIsIkNIIl0uaW5jbHVkZXMoZSk/bmV3IFJlZ0V4cCgiXjNbMC0xXXsxfVswLTldezN9JCIsIiIpLnRlc3QoYS5zbGljZSg0LDkpKTohMX1mdW5jdGlvbiBSUmkoYSl7bGV0IGU9alllKGEuYmJhbil8fCIiO2lmKGEuY291bnRyeUNvZGU9PT1udWxsfHxhLmNvdW50cnlDb2RlPT09dm9pZCAwKXJldHVybiBudWxsO2xldCB0PSRuW2EuY291bnRyeUNvZGVdO2lmKGUhPT0iIiYmdCE9PXZvaWQgMCYmdC5jaGFycyYmdC5jaGFycyE9PW51bGwmJnQuY2hhcnM9PT1lLmxlbmd0aCs0JiZ0LmJiYW5fcmVnZXhwJiZ0LmJiYW5fcmVnZXhwIT09bnVsbCYmVlllKGUsdC5iYmFuX3JlZ2V4cCkpe2xldCByPXYkYShhLmNvdW50cnlDb2RlKyIwMCIrZSk7cmV0dXJuIGEuY291bnRyeUNvZGUrKCIwIisoOTgtcikpLnNsaWNlKC0yKStlfXJldHVybiBudWxsfWZ1bmN0aW9uIE9SaShhKXtsZXQgZT17fSx0PWpZZShhKTtpZihlLmliYW49dHx8YSx0JiZoYWUodCkpe2UuYmJhbj10LnNsaWNlKDQpLGUuY291bnRyeUNvZGU9dC5zbGljZSgwLDIpLGUudmFsaWQ9ITA7bGV0IHI9JG5bZS5jb3VudHJ5Q29kZV07aWYoci5hY2NvdW50X2luZGVudGlmaWVyKXtsZXQgaT1yLmFjY291bnRfaW5kZW50aWZpZXIuc3BsaXQoIi0iKSxvPXBhcnNlSW50KGlbMF0pLG49cGFyc2VJbnQoaVsxXSk7ZS5hY2NvdW50TnVtYmVyPWUuaWJhbi5zbGljZShvLG4rMSl9aWYoci5iYW5rX2lkZW50aWZpZXIpe2xldCBpPXIuYmFua19pZGVudGlmaWVyLnNwbGl0KCItIiksbz1wYXJzZUludChpWzBdKSxuPXBhcnNlSW50KGlbMV0pO2UuYmFua0lkZW50aWZpZXI9ZS5iYmFuLnNsaWNlKG8sbisxKX1pZihyLmJyYW5jaF9pbmRlbnRpZmllcil7bGV0IGk9ci5icmFuY2hfaW5kZW50aWZpZXIuc3BsaXQoIi0iKSxvPXBhcnNlSW50KGlbMF0pLG49cGFyc2VJbnQoaVsxXSk7ZS5icmFuY2hJZGVudGlmaWVyPWUuYmJhbi5zbGljZShvLG4rMSl9fWVsc2UgZS52YWxpZD0hMTtyZXR1cm4gZX1mdW5jdGlvbiBWWWUoYSxlKXtyZXR1cm4gbmV3IFJlZ0V4cChlLCIiKS50ZXN0KGEpfWZ1bmN0aW9uIGpZZShhKXtyZXR1cm4gdHlwZW9mIGEhPSJzdHJpbmciP251bGw6YS5yZXBsYWNlKC9bLVwgXS9nLCIiKS50b1VwcGVyQ2FzZSgpfWZ1bmN0aW9uIFVZZShhLGUpe2lmKHR5cGVvZiBhIT0ic3RyaW5nIilyZXR1cm4gbnVsbDtlPT1udWxsJiYoZT0iICIpO2xldCB0PWpZZShhKTtyZXR1cm4gdD09PW51bGw/bnVsbDp0LnJlcGxhY2UoLyguezR9KSg/ISQpL2csIiQxIitlKX1mdW5jdGlvbiBxc2EoYSl7bGV0IGU9YS5zbGljZSgwLDIpLHQ9cGFyc2VJbnQoYS5zbGljZSgyLDQpLDEwKSxyPWEuc2xpY2UoNCksaT1Wc2EoYCR7cn0ke2V9MDBgKTtyZXR1cm4gOTgtZmFlKGkpPT09dH1mdW5jdGlvbiBWc2EoYSl7cmV0dXJuIGEuc3BsaXQoIiIpLm1hcChlPT57bGV0IHQ9ZS5jaGFyQ29kZUF0KDApO3JldHVybiB0Pj02NT8odC01NSkudG9TdHJpbmcoKTplfSkuam9pbigiIil9ZnVuY3Rpb24gdiRhKGEpe3JldHVybiBmYWUoVnNhKGEuc2xpY2UoNCkrYS5zbGljZSgwLDQpKSl9ZnVuY3Rpb24gRlJpKCl7bGV0IGE9e307Zm9yKGxldCBlIGluICRuKXtsZXQgdD0kbltlXTthW2VdPXtjaGFyczp0LmNoYXJzfHxudWxsLGJiYW5fcmVnZXhwOnQuYmJhbl9yZWdleHB8fG51bGwsSUJBTlJlZ2lzdHJ5OnQuSUJBTlJlZ2lzdHJ5fHwhMSxTRVBBOnQuU0VQQXx8ITF9fXJldHVybiBhfWZ1bmN0aW9uIHgkYShhKXtpZighYSlyZXR1cm4hMTtsZXQgZT1uZXcgUmVnRXhwKCJeW2EtekEtWl17Nn1bYS16QS1aMC05XXsyfShbYS16QS1aMC05XXszfSk/JCIsIiIpLHQ9JG5bYS50b1VwcGVyQ2FzZSgpLnNsaWNlKDQsNildO3JldHVybiBlLnRlc3QoYSkmJnQhPT12b2lkIDB9ZnVuY3Rpb24gQlJpKGEpe2xldCBlPXtlcnJvckNvZGVzOltdLHZhbGlkOiEwfTtyZXR1cm4gYSE9bnVsbCYmYSE9PSIiPyRuW2EudG9VcHBlckNhc2UoKS5zbGljZSg0LDYpXT09PXZvaWQgMD8oZS52YWxpZD0hMSxlLmVycm9yQ29kZXMucHVzaChQVS5Ob0JJQ0NvdW50cnkpKTpuZXcgUmVnRXhwKCJeW2EtekEtWl17Nn1bYS16QS1aMC05XXsyfShbYS16QS1aMC05XXszfSk/JCIsIiIpLnRlc3QoYSl8fChlLnZhbGlkPSExLGUuZXJyb3JDb2Rlcy5wdXNoKFBVLldyb25nQklDRm9ybWF0KSk6KGUudmFsaWQ9ITEsZS5lcnJvckNvZGVzLnB1c2goUFUuTm9CSUNQcm92aWRlZCkpLGV9ZnVuY3Rpb24gSFJpKGEpe2xldCBlPXt9LHQ9YS50b1VwcGVyQ2FzZSgpO3JldHVybiB4JGEodCk/KGUuYmFua0NvZGU9dC5zbGljZSgwLDQpLGUuY291bnRyeUNvZGU9dC5zbGljZSg0LDYpLGUubG9jYXRpb25Db2RlPXQuc2xpY2UoNiw4KSxlLnRlc3RCSUM9ZS5sb2NhdGlvbkNvZGVbMV09PT0iMCIsZS5icmFuY2hDb2RlPXQubGVuZ3RoPjg/dC5zbGljZSg4KTpudWxsLGUudmFsaWQ9ITApOmUudmFsaWQ9ITEsZX12YXIgRTEsUFUseSRhLHckYSxmYWUsdW0sTSRhLGskYSxqc2EsUyRhLFVzYSx6JGEsV3NhLEMkYSxxUmksJG4sR3NhPWYoKCk9PnsidXNlIHN0cmljdCI7cyhoYWUsImlzVmFsaWRJQkFOIik7KGZ1bmN0aW9uKGEpe2FbYS5Ob0lCQU5Qcm92aWRlZD0wXT0iTm9JQkFOUHJvdmlkZWQiLGFbYS5Ob0lCQU5Db3VudHJ5PTFdPSJOb0lCQU5Db3VudHJ5IixhW2EuV3JvbmdCQkFOTGVuZ3RoPTJdPSJXcm9uZ0JCQU5MZW5ndGgiLGFbYS5Xcm9uZ0JCQU5Gb3JtYXQ9M109Ildyb25nQkJBTkZvcm1hdCIsYVthLkNoZWNrc3VtTm90TnVtYmVyPTRdPSJDaGVja3N1bU5vdE51bWJlciIsYVthLldyb25nSUJBTkNoZWNrc3VtPTVdPSJXcm9uZ0lCQU5DaGVja3N1bSIsYVthLldyb25nQWNjb3VudEJhbmtCcmFuY2hDaGVja3N1bT02XT0iV3JvbmdBY2NvdW50QmFua0JyYW5jaENoZWNrc3VtIixhW2EuUVJJQkFOTm90QWxsb3dlZD03XT0iUVJJQkFOTm90QWxsb3dlZCJ9KShFMXx8KEUxPXt9KSk7cyhJUmksInZhbGlkYXRlSUJBTiIpO3MoYiRhLCJpc1ZhbGlkQkJBTiIpO3MoTlJpLCJpc1NFUEFDb3VudHJ5Iik7cyhIc2EsImlzUVJJQkFOIik7cyhSUmksImNvbXBvc2VJQkFOIik7cyhPUmksImV4dHJhY3RJQkFOIik7cyhWWWUsImNoZWNrRm9ybWF0QkJBTiIpO3MoalllLCJlbGVjdHJvbmljRm9ybWF0SUJBTiIpO3MoVVllLCJmcmllbmRseUZvcm1hdElCQU4iKTtzKHFzYSwiaXNWYWxpZElCQU5DaGVja3N1bSIpO3MoVnNhLCJyZXBsYWNlQ2hhcmF0ZXJXaXRoQ29kZSIpO3ModiRhLCJtb2Q5NzEwSWJhbiIpO3MoRlJpLCJnZXRDb3VudHJ5U3BlY2lmaWNhdGlvbnMiKTtzKHgkYSwiaXNWYWxpZEJJQyIpOyhmdW5jdGlvbihhKXthW2EuTm9CSUNQcm92aWRlZD0wXT0iTm9CSUNQcm92aWRlZCIsYVthLk5vQklDQ291bnRyeT0xXT0iTm9CSUNDb3VudHJ5IixhW2EuV3JvbmdCSUNGb3JtYXQ9Ml09Ildyb25nQklDRm9ybWF0In0pKFBVfHwoUFU9e30pKTtzKEJSaSwidmFsaWRhdGVCSUMiKTtzKEhSaSwiZXh0cmFjdEJJQyIpO3kkYT1zKGE9PntsZXQgZT1bNSw0LDMsMiw3LDYsNSw0LDMsMl0sdD1hLnJlcGxhY2UoL1tccy5dKy9nLCIiKSxyPXBhcnNlSW50KHQuY2hhckF0KDEwKSwxMCksaT10LnN1YnN0cmluZygwLDEwKSxvPTA7Zm9yKGxldCBsPTA7bDwxMDtsKyspbys9cGFyc2VJbnQoaS5jaGFyQXQobCksMTApKmVbbF07bGV0IG49byUxMTtyZXR1cm4gcj09PShuPT09MD8wOjExLW4pfSwiY2hlY2tOb3J3YXlCQkFOIiksdyRhPXMoYT0+e2xldCBlPWEucmVwbGFjZSgvW1xzLl0rL2csIiIpLHQ9cGFyc2VJbnQoZS5zdWJzdHJpbmcoMCxlLmxlbmd0aC0yKSwxMCkscj1wYXJzZUludChlLnN1YnN0cmluZyhlLmxlbmd0aC0yLGUubGVuZ3RoKSwxMCk7cmV0dXJuKHQlOTc9PT0wPzk3OnQlOTcpPT09cn0sImNoZWNrQmVsZ2lhbkJCQU4iKSxmYWU9cyhhPT57Zm9yKDthLmxlbmd0aD4yOyl7bGV0IGU9YS5zbGljZSgwLDYpLHQ9cGFyc2VJbnQoZSwxMCk7aWYoaXNOYU4odCkpcmV0dXJuIE5hTjthPXQlOTcrYS5zbGljZShlLmxlbmd0aCl9cmV0dXJuIHBhcnNlSW50KGEsMTApJTk3fSwibW9kOTcxMCIpLHVtPXMoYT0+e2xldCBlPWEucmVwbGFjZSgvW1xzLl0rL2csIiIpO3JldHVybiBmYWUoZSk9PT0xfSwiY2hlY2tNb2Q5NzEwQkJBTiIpLE0kYT1zKGE9PntsZXQgZT1bMyw5LDcsMSwzLDksN10sdD1wYXJzZUludChhLmNoYXJBdCg3KSwxMCkscj1hLnN1YnN0cmluZygwLDcpLGk9MDtmb3IobGV0IG49MDtuPDc7bisrKWkrPXBhcnNlSW50KHIuY2hhckF0KG4pLDEwKSplW25dO2xldCBvPWklMTA7cmV0dXJuIHQ9PT0obz09PTA/MDoxMC1vKX0sImNoZWNrUG9sYW5kQkJBTiIpLGskYT1zKGE9PntsZXQgZT1bNCw4LDUsMTAsOSw3LDMsNl0sdD1bMSwyLDQsOCw1LDEwLDksNywzLDZdLHI9cGFyc2VJbnQoYS5jaGFyQXQoOCksMTApLGk9cGFyc2VJbnQoYS5jaGFyQXQoOSksMTApLG89YS5zdWJzdHJpbmcoMCw4KSxuPWEuc3Vic3RyaW5nKDEwLDIwKSxsPTA7Zm9yKGxldCBjPTA7Yzw4O2MrKylsKz1wYXJzZUludChvLmNoYXJBdChjKSwxMCkqZVtjXTtsZXQgZD1sJTExO2lmKHIhPT0oZD09PTA/MDpkPT09MT8xOjExLWQpKXJldHVybiExO2w9MDtmb3IobGV0IGM9MDtjPDEwO2MrKylsKz1wYXJzZUludChuLmNoYXJBdChjKSwxMCkqdFtjXTtyZXR1cm4gZD1sJTExLGk9PT0oZD09PTA/MDpkPT09MT8xOjExLWQpfSwiY2hlY2tTcGFpbkJCQU4iKSxqc2E9cygoYSxlKT0+e2xldCB0PTEwO2ZvcihsZXQgcj0wO3I8YS5sZW5ndGg7cisrKXQrPXBhcnNlSW50KGEuY2hhckF0KHIpLDEwKSx0JTEwIT09MCYmKHQ9dCUxMCksdD10KjIsdD10JTExO3JldHVybiBlPT09KDExLXQ9PT0xMD8wOjExLXQpfSwiY2hlY2tNb2QxMTEwIiksUyRhPXMoYT0+e2xldCBlPXBhcnNlSW50KGEuY2hhckF0KDYpLDEwKSx0PXBhcnNlSW50KGEuY2hhckF0KDE2KSwxMCkscj1hLnN1YnN0cmluZygwLDYpLGk9YS5zdWJzdHJpbmcoNywxNik7cmV0dXJuIGpzYShyLGUpJiZqc2EoaSx0KX0sImNoZWNrQ3JvYXRpYW5CQkFOIiksVXNhPXMoYT0+e2xldCBlPVsxMCw1LDgsNCwyLDFdLHQ9WzYsMyw3LDksMTAsNSw4LDQsMiwxXSxyPXBhcnNlSW50KGEuY2hhckF0KDkpLDEwKSxpPXBhcnNlSW50KGEuY2hhckF0KDE5KSwxMCksbz1hLnN1YnN0cmluZyg0LDkpLG49YS5zdWJzdHJpbmcoMTAsMTkpLGw9MDtmb3IobGV0IGM9MDtjPG8ubGVuZ3RoO2MrKylsKz1wYXJzZUludChvLmNoYXJBdChjKSwxMCkqZVtjXTtsZXQgZD1sJTExO2lmKHIhPT0oZD09PTA/MDpkPT09MT8xOjExLWQpKXJldHVybiExO2w9MDtmb3IobGV0IGM9MDtjPG4ubGVuZ3RoO2MrKylsKz1wYXJzZUludChuLmNoYXJBdChjKSwxMCkqdFtjXTtyZXR1cm4gZD1sJTExLGk9PT0oZD09PTA/MDpkPT09MT8xOjExLWQpfSwiY2hlY2tDemVjaEFuZFNsb3Zha0JCQU4iKSx6JGE9cyhhPT57bGV0IGU9WzcsMSwzLDcsMSwzLDcsMSwzLDcsMSwzLDddLHQ9cGFyc2VJbnQoYS5jaGFyQXQoMTUpLDEwKSxyPWEuc3Vic3RyaW5nKDIsMTUpLGk9MDtmb3IobGV0IG49MDtuPHIubGVuZ3RoO24rKylpKz1wYXJzZUludChyLmNoYXJBdChuKSwxMCkqZVtuXTtsZXQgbz1pJTEwO3JldHVybiB0PT09KG89PT0wPzA6MTAtbyl9LCJjaGVja0VzdG9uaWFuQkJBTiIpLFdzYT1zKGE9PntsZXQgZT1hLnJlcGxhY2UoL1tccy5dKy9nLCIiKSx0PUFycmF5LmZyb20oZSk7Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDtpKyspe2xldCBvPXRbaV0uY2hhckNvZGVBdCgwKTtpZihvPj02NSlzd2l0Y2gobyl7Y2FzZSA2NTpjYXNlIDc0OnRbaV09IjEiO2JyZWFrO2Nhc2UgNjY6Y2FzZSA3NTpjYXNlIDgzOnRbaV09IjIiO2JyZWFrO2Nhc2UgNjc6Y2FzZSA3NjpjYXNlIDg0OnRbaV09IjMiO2JyZWFrO2Nhc2UgNjg6Y2FzZSA3NzpjYXNlIDg1OnRbaV09IjQiO2JyZWFrO2Nhc2UgNjk6Y2FzZSA3ODpjYXNlIDg2OnRbaV09IjUiO2JyZWFrO2Nhc2UgNzA6Y2FzZSA3OTpjYXNlIDg3OnRbaV09IjYiO2JyZWFrO2Nhc2UgNzE6Y2FzZSA4MDpjYXNlIDg4OnRbaV09IjciO2JyZWFrO2Nhc2UgNzI6Y2FzZSA4MTpjYXNlIDg5OnRbaV09IjgiO2JyZWFrO2Nhc2UgNzM6Y2FzZSA4MjpjYXNlIDkwOnRbaV09IjkiO2JyZWFrfX1yZXR1cm4gZmFlKHQuam9pbigiIikpPT09MH0sImNoZWNrRnJlbmNoQkJBTiIpLEMkYT1zKGE9PntsZXQgZT1bOSw3LDMsMSw5LDcsMywxLDksNywzLDEsOSw3LDNdLHQ9cGFyc2VJbnQoYS5jaGFyQXQoNyksMTApLHI9YS5zdWJzdHJpbmcoMCw3KSxpPTA7Zm9yKGxldCBuPTA7bjxyLmxlbmd0aDtuKyspaSs9cGFyc2VJbnQoci5jaGFyQXQobiksMTApKmVbbl07bGV0IG89aSUxMDtpZih0IT09KG89PT0wPzA6MTAtbykpcmV0dXJuITE7aWYoaT0wLGEuZW5kc1dpdGgoIjAwMDAwMDAwIikpe2xldCBuPWEuc3Vic3RyaW5nKDgsMTUpLGw9cGFyc2VJbnQoYS5jaGFyQXQoMTUpLDEwKTtmb3IobGV0IGM9MDtjPG4ubGVuZ3RoO2MrKylpKz1wYXJzZUludChuLmNoYXJBdChjKSwxMCkqZVtjXTtsZXQgZD1pJTEwO3JldHVybiBsPT09KGQ9PT0wPzA6MTAtZCl9ZWxzZXtsZXQgbj1hLnN1YnN0cmluZyg4LDIzKSxsPXBhcnNlSW50KGEuY2hhckF0KDIzKSwxMCk7Zm9yKGxldCBjPTA7YzxuLmxlbmd0aDtjKyspaSs9cGFyc2VJbnQobi5jaGFyQXQoYyksMTApKmVbY107bGV0IGQ9aSUxMDtyZXR1cm4gbD09PShkPT09MD8wOjEwLWQpfX0sImNoZWNrSHVuZ2FyaWFuQkJBTiIpLHFSaT1zKChhLGUpPT50eXBlb2YgJG5bYV0+InUiPyExOigkblthXS5iYmFuX3ZhbGlkYXRpb25fZnVuYz1lLCEwKSwic2V0Q291bnRyeUJCQU5WYWxpZGF0aW9uIiksJG49e0FEOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXlswLTldezh9W0EtWjAtOV17MTJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTciLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIxMi0yMyJ9LEFFOntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXlswLTldezN9WzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiI3LTIzIn0sQUY6e30sQUc6e30sQUk6e30sQUw6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeWzAtOV17OH1bQS1aMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIzLTciLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiIxMi0yOCJ9LEFNOnt9LEFPOntjaGFyczoyNSxiYmFuX3JlZ2V4cDoiXlswLTldezIxfSQifSxBUTp7fSxBUjp7fSxBUzp7fSxBVDp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtNCJ9LEFVOnt9LEFXOnt9LEFYOntjaGFyczoxOCxiYmFuX3JlZ2V4cDoiXlswLTldezE0fSQiLElCQU5SZWdpc3RyeTohMH0sQVo6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsyMH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMjgifSxCQTp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzp1bSxJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIzLTUiLGJhbmtfaWRlbnRpZmllcjoiMC0yIn0sQkI6e30sQkQ6e30sQkU6e2NoYXJzOjE2LGJiYW5fcmVnZXhwOiJeWzAtOV17MTJ9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6dyRhLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiIwLTE2In0sQkY6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17Mn1bMC05XXsyMn0kIn0sQkc6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXs2fVtBLVowLTldezh9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTciLGJhbmtfaWRlbnRpZmllcjoiMC0zIn0sQkg6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsxNH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjIifSxCSTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIixicmFuY2hfaW5kZW50aWZpZXI6IjUtOSIsYmFua19pZGVudGlmaWVyOiIwLTQiLGFjY291bnRfaW5kZW50aWZpZXI6IjE0LTI3In0sQko6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17Mn1bMC05XXsyMn0kIn0sQkw6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIn0sQk06e30sQk46e30sQk86e30sQlE6e30sQlI6e2NoYXJzOjI5LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9W0EtWl17MX1bQS1aMC05XXsxfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjgtMTIiLGJhbmtfaWRlbnRpZmllcjoiMC03IixhY2NvdW50X2luZGVudGlmaWVyOiIxNy0yOSJ9LEJTOnt9LEJUOnt9LEJWOnt9LEJXOnt9LEJZOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17NH1bQS1aMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMifSxCWjp7fSxDQTp7fSxDQzp7fSxDRDp7fSxDRjp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIn0sQ0c6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LENIOntjaGFyczoyMSxiYmFuX3JlZ2V4cDoiXlswLTldezV9W0EtWjAtOV17MTJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTQifSxDSTp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aXXsxfVswLTldezIzfSQifSxDSzp7fSxDTDp7fSxDTTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIn0sQ046e30sQ086e30sQ1I6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeWzAtOV17MTh9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTIyIn0sQ1U6e30sQ1Y6e2NoYXJzOjI1LGJiYW5fcmVnZXhwOiJeWzAtOV17MjF9JCJ9LENXOnt9LENYOnt9LENZOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXlswLTldezh9W0EtWjAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIzLTciLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiIxMi0yOCJ9LENaOntjaGFyczoyNCxiYmFuX3JlZ2V4cDoiXlswLTldezIwfSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOlVzYSxJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyJ9LERFOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXlswLTldezE4fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC03IixhY2NvdW50X2luZGVudGlmaWVyOiIxMi0yMiJ9LERKOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezIzfSQiLGJyYW5jaF9pbmRlbnRpZmllcjoiNS05IixiYW5rX2lkZW50aWZpZXI6IjAtNCIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTQtMjcifSxESzp7Y2hhcnM6MTgsYmJhbl9yZWdleHA6Il5bMC05XXsxNH0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiNC0xOCJ9LERNOnt9LERPOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTI4In0sRFo6e2NoYXJzOjI2LGJiYW5fcmVnZXhwOiJeWzAtOV17MjJ9JCJ9LEVDOnt9LEVFOntjaGFyczoyMCxiYmFuX3JlZ2V4cDoiXlswLTldezE2fSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOnokYSxJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMSIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yMCJ9LEVHOntjaGFyczoyOSxiYmFuX3JlZ2V4cDoiXlswLTldezI1fSIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC03IixiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTctMjkifSxFSDp7fSxFUjp7fSxFUzp7Y2hhcnM6MjQsYmJhbl92YWxpZGF0aW9uX2Z1bmM6ayRhLGJiYW5fcmVnZXhwOiJeWzAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTciLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIxNC0yNCJ9LEVUOnt9LEZJOntjaGFyczoxOCxiYmFuX3JlZ2V4cDoiXlswLTldezE0fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiIwLTAifSxGSjp7fSxGSzp7Y2hhcnM6MTgsYmJhbl9yZWdleHA6Il5bQS1aXXsyfVswLTldezEyfSQiLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiI2LTE4In0sRk06e30sRk86e2NoYXJzOjE4LGJiYW5fcmVnZXhwOiJeWzAtOV17MTR9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI0LTE4In0sRlI6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpXc2EsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTQiLGJyYW5jaF9pbmRlbnRpZmllcjoiNS05IixhY2NvdW50X2luZGVudGlmaWVyOiIxNC0yNCJ9LEdBOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezIzfSQifSxHQjp7Y2hhcnM6MjIsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVswLTldezE0fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC05IixiYW5rX2lkZW50aWZpZXI6IjAtMyJ9LEdEOnt9LEdFOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXltBLVowLTldezJ9WzAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiI2LTIyIn0sR0Y6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LEdHOnt9LEdIOnt9LEdJOntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXltBLVpdezR9W0EtWjAtOV17MTV9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjMifSxHTDp7Y2hhcnM6MTgsYmJhbl9yZWdleHA6Il5bMC05XXsxNH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMTgifSxHTTp7fSxHTjp7fSxHUDp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sR1E6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LEdSOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezd9W0EtWjAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIzLTYiLGJhbmtfaWRlbnRpZmllcjoiMC0yIixhY2NvdW50X2luZGVudGlmaWVyOiI3LTI3In0sR1M6e30sR1Q6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17MjR9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTI4In0sR1U6e30sR1c6e2NoYXJzOjI1LGJiYW5fcmVnZXhwOiJeW0EtWl17Mn1bMC05XXsxOX0kIn0sR1k6e30sSEs6e30sSE06e30sSE46e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXsyMH0kIn0sSFI6e2NoYXJzOjIxLGJiYW5fcmVnZXhwOiJeWzAtOV17MTd9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6UyRhLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC02In0sSFQ6e30sSFU6e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeWzAtOV17MjR9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6QyRhLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy02IixiYW5rX2lkZW50aWZpZXI6IjAtMiJ9LElEOnt9LElFOntjaGFyczoyMixiYmFuX3JlZ2V4cDoiXltBLVowLTldezR9WzAtOV17MTR9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI0LTkiLGJhbmtfaWRlbnRpZmllcjoiMC0zIn0sSUw6e2NoYXJzOjIzLGJiYW5fcmVnZXhwOiJeWzAtOV17MTl9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy01IixiYW5rX2lkZW50aWZpZXI6IjAtMiJ9LElNOnt9LElOOnt9LElPOnt9LElROntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MTV9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC02IixiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTEtMjMifSxJUjp7Y2hhcnM6MjYsYmJhbl9yZWdleHA6Il5bMC05XXsyMn0kIn0sSVM6e2NoYXJzOjI2LGJiYW5fcmVnZXhwOiJeWzAtOV17MjJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIyLTMiLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiI4LTI1In0sSVQ6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeW0EtWl17MX1bMC05XXsxMH1bQS1aMC05XXsxMn0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjYtMTAiLGJhbmtfaWRlbnRpZmllcjoiMS01IixhY2NvdW50X2luZGVudGlmaWVyOiI0LTI3In0sSkU6e30sSk06e30sSk86e2NoYXJzOjMwLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXs0fVtBLVowLTldezE4fSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtNyIsYmFua19pZGVudGlmaWVyOiI0LTcifSxKUDp7fSxLRTp7fSxLRzp7fSxLSDp7fSxLSTp7fSxLTTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIn0sS046e30sS1A6e30sS1I6e30sS1c6e2NoYXJzOjMwLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bQS1aMC05XXsyMn0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjIwLTMwIn0sS1k6e30sS1o6e2NoYXJzOjIwLGJiYW5fcmVnZXhwOiJeWzAtOV17M31bQS1aMC05XXsxM30kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTIiLGFjY291bnRfaW5kZW50aWZpZXI6IjAtMjAifSxMQTp7fSxMQjp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bMC05XXs0fVtBLVowLTldezIwfSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTQtMjgifSxMQzp7Y2hhcnM6MzIsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVtBLVowLTldezI0fSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0zMiJ9LExJOntjaGFyczoyMSxiYmFuX3JlZ2V4cDoiXlswLTldezV9W0EtWjAtOV17MTJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTQifSxMSzp7fSxMUjp7fSxMUzp7fSxMVDp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtNCJ9LExVOntjaGFyczoyMCxiYmFuX3JlZ2V4cDoiXlswLTldezN9W0EtWjAtOV17MTN9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTIifSxMVjp7Y2hhcnM6MjEsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVtBLVowLTldezEzfSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIwLTIxIn0sTFk6e2NoYXJzOjI1LGJiYW5fcmVnZXhwOiJeWzAtOV17MjF9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMy01IixiYW5rX2lkZW50aWZpZXI6IjAtMiIsYWNjb3VudF9pbmRlbnRpZmllcjoiMTAtMjUifSxNQTp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bMC05XXsyNH0kIn0sTUM6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpXc2EsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI1LTkiLGJhbmtfaWRlbnRpZmllcjoiMC00In0sTUQ6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17Mn1bQS1aMC05XXsxOH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTEiLGFjY291bnRfaW5kZW50aWZpZXI6IjYtMjQifSxNRTp7Y2hhcnM6MjIsYmJhbl9yZWdleHA6Il5bMC05XXsxOH0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzp1bSxJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTIiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMjIifSxNRjp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sTUc6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCJ9LE1IOnt9LE1LOntjaGFyczoxOSxiYmFuX3JlZ2V4cDoiXlswLTldezN9W0EtWjAtOV17MTB9WzAtOV17Mn0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzp1bSxJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTIifSxNTDp7Y2hhcnM6MjgsYmJhbl9yZWdleHA6Il5bQS1aMC05XXsyfVswLTldezIyfSQifSxNTTp7fSxNTjp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjAifSxNTzp7fSxNUDp7fSxNUTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sTVI6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MjN9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNS05IixiYW5rX2lkZW50aWZpZXI6IjAtNCIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yNiJ9LE1TOnt9LE1UOntjaGFyczozMSxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17NX1bQS1aMC05XXsxOH0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtOCIsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjE1LTMxIn0sTVU6e2NoYXJzOjMwLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXsxOX1bQS1aXXszfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjYtNyIsYmFua19pZGVudGlmaWVyOiIwLTUiLGFjY291bnRfaW5kZW50aWZpZXI6IjAtMzAifSxNVjp7fSxNVzp7fSxNWDp7fSxNWTp7fSxNWjp7Y2hhcnM6MjUsYmJhbl9yZWdleHA6Il5bMC05XXsyMX0kIn0sTkE6e30sTkM6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LE5FOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezJ9WzAtOV17MjJ9JCJ9LE5GOnt9LE5HOnt9LE5JOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MjB9JCIsYmFua19pZGVudGlmaWVyOiIwLTMiLElCQU5SZWdpc3RyeTohMCxhY2NvdW50X2luZGVudGlmaWVyOiI4LTI4In0sTkw6e2NoYXJzOjE4LGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXsxMH0kIixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0xOCJ9LE5POntjaGFyczoxNSxiYmFuX3JlZ2V4cDoiXlswLTldezExfSQiLGJiYW5fdmFsaWRhdGlvbl9mdW5jOnkkYSxJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiNC0xNSJ9LE5QOnt9LE5SOnt9LE5VOnt9LE5aOnt9LE9NOntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXlswLTldezN9W0EtWjAtOV17MTZ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITEsYmFua19pZGVudGlmaWVyOiIwLTIifSxQQTp7fSxQRTp7fSxQRjp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sUEc6e30sUEg6e30sUEs6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17NH1bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMifSxQTDp7Y2hhcnM6MjgsYmJhbl92YWxpZGF0aW9uX2Z1bmM6TSRhLGJiYW5fcmVnZXhwOiJeWzAtOV17MjR9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIwLTciLGFjY291bnRfaW5kZW50aWZpZXI6IjItMjgifSxQTTp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sUE46e30sUFI6e30sUFM6e2NoYXJzOjI5LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17NH1bMC05XXsyMX0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjE3LTI5In0sUFQ6e2NoYXJzOjI1LGJiYW5fcmVnZXhwOiJeWzAtOV17MjF9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6dW0sSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTMifSxQVzp7fSxQWTp7fSxRQTp7Y2hhcnM6MjksYmJhbl9yZWdleHA6Il5bQS1aXXs0fVtBLVowLTldezIxfSQiLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yOSJ9LFJFOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCIsSUJBTlJlZ2lzdHJ5OiEwfSxSTzp7Y2hhcnM6MjQsYmJhbl9yZWdleHA6Il5bQS1aXXs0fVtBLVowLTldezE2fSQiLElCQU5SZWdpc3RyeTohMCxTRVBBOiEwLGJhbmtfaWRlbnRpZmllcjoiMC0zIixhY2NvdW50X2luZGVudGlmaWVyOiIwLTI0In0sUlM6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeWzAtOV17MTh9JCIsYmJhbl92YWxpZGF0aW9uX2Z1bmM6dW0sSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0yIn0sUlU6e2NoYXJzOjMzLGJiYW5fcmVnZXhwOiJeWzAtOV17MTR9W0EtWjAtOV17MTV9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiOS0xMyIsYmFua19pZGVudGlmaWVyOiIwLTgiLGFjY291bnRfaW5kZW50aWZpZXI6IjEzLTMzIn0sUlc6e30sU0E6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeWzAtOV17Mn1bQS1aMC05XXsxOH0kIixJQkFOUmVnaXN0cnk6ITAsYmFua19pZGVudGlmaWVyOiIwLTEiLGFjY291bnRfaW5kZW50aWZpZXI6IjEyLTI0In0sU0I6e30sU0M6e2NoYXJzOjMxLGJiYW5fcmVnZXhwOiJeW0EtWl17NH1bMC05XXsyMH1bQS1aXXszfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjYtNyIsYmFua19pZGVudGlmaWVyOiIwLTUiLGFjY291bnRfaW5kZW50aWZpZXI6IjEyLTI4In0sU0Q6e2NoYXJzOjE4LGJiYW5fcmVnZXhwOiJeWzAtOV17MTR9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJhbmtfaWRlbnRpZmllcjoiMC0xIixhY2NvdW50X2luZGVudGlmaWVyOiI2LTE4In0sU0U6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeWzAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYmFua19pZGVudGlmaWVyOiIwLTIifSxTRzp7fSxTSDp7fSxTSTp7Y2hhcnM6MTksYmJhbl9yZWdleHA6Il5bMC05XXsxNX0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzp1bSxJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjItNCIsYmFua19pZGVudGlmaWVyOiIwLTEiLGFjY291bnRfaW5kZW50aWZpZXI6IjktMTYifSxTSjp7fSxTSzp7Y2hhcnM6MjQsYmJhbl9yZWdleHA6Il5bMC05XXsyMH0kIixiYmFuX3ZhbGlkYXRpb25fZnVuYzpVc2EsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITB9LFNMOnt9LFNNOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXltBLVpdezF9WzAtOV17MTB9W0EtWjAtOV17MTJ9JCIsSUJBTlJlZ2lzdHJ5OiEwLFNFUEE6ITAsYnJhbmNoX2luZGVudGlmaWVyOiI2LTEwIn0sU046e2NoYXJzOjI4LGJiYW5fcmVnZXhwOiJeW0EtWl17Mn1bMC05XXsyMn0kIn0sU086e2NoYXJzOjIzLGJiYW5fcmVnZXhwOiJeWzAtOV17MTl9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiNC02IixhY2NvdW50X2luZGVudGlmaWVyOiIxMS0yMyJ9LFNSOnt9LFNTOnt9LFNUOntjaGFyczoyNSxiYmFuX3JlZ2V4cDoiXlswLTldezIxfSQiLElCQU5SZWdpc3RyeTohMCxicmFuY2hfaW5kZW50aWZpZXI6IjQtNyJ9LFNWOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezR9WzAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLGFjY291bnRfaW5kZW50aWZpZXI6IjgtMjgifSxTWDp7fSxTWTp7fSxTWjp7fSxUQzp7fSxURDp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsyM30kIn0sVEY6e2NoYXJzOjI3LGJiYW5fcmVnZXhwOiJeWzAtOV17MTB9W0EtWjAtOV17MTF9WzAtOV17Mn0kIixJQkFOUmVnaXN0cnk6ITB9LFRHOntjaGFyczoyOCxiYmFuX3JlZ2V4cDoiXltBLVpdezJ9WzAtOV17MjJ9JCJ9LFRIOnt9LFRKOnt9LFRLOnt9LFRMOntjaGFyczoyMyxiYmFuX3JlZ2V4cDoiXlswLTldezE5fSQiLElCQU5SZWdpc3RyeTohMCxhY2NvdW50X2luZGVudGlmaWVyOiI0LTIzIn0sVE06e30sVE46e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeWzAtOV17MjB9JCIsSUJBTlJlZ2lzdHJ5OiEwLGJyYW5jaF9pbmRlbnRpZmllcjoiMi00IixhY2NvdW50X2luZGVudGlmaWVyOiI0LTI0In0sVE86e30sVFI6e2NoYXJzOjI2LGJiYW5fcmVnZXhwOiJeWzAtOV17NX1bQS1aMC05XXsxN30kIixJQkFOUmVnaXN0cnk6ITB9LFRUOnt9LFRWOnt9LFRXOnt9LFRaOnt9LFVBOntjaGFyczoyOSxiYmFuX3JlZ2V4cDoiXlswLTldezZ9W0EtWjAtOV17MTl9JCIsSUJBTlJlZ2lzdHJ5OiEwLGFjY291bnRfaW5kZW50aWZpZXI6IjE1LTI5In0sVUc6e30sVU06e30sVVM6e30sVVk6e30sVVo6e30sVkE6e2NoYXJzOjIyLGJiYW5fcmVnZXhwOiJeWzAtOV17MTh9IixJQkFOUmVnaXN0cnk6ITAsU0VQQTohMCxhY2NvdW50X2luZGVudGlmaWVyOiI3LTIyIn0sVkM6e30sVkU6e30sVkc6e2NoYXJzOjI0LGJiYW5fcmVnZXhwOiJeW0EtWjAtOV17NH1bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYWNjb3VudF9pbmRlbnRpZmllcjoiOC0yNCJ9LFZJOnt9LFZOOnt9LFZVOnt9LFdGOntjaGFyczoyNyxiYmFuX3JlZ2V4cDoiXlswLTldezEwfVtBLVowLTldezExfVswLTldezJ9JCIsSUJBTlJlZ2lzdHJ5OiEwfSxXUzp7fSxYSzp7Y2hhcnM6MjAsYmJhbl9yZWdleHA6Il5bMC05XXsxNn0kIixJQkFOUmVnaXN0cnk6ITAsYnJhbmNoX2luZGVudGlmaWVyOiIyLTMiLGFjY291bnRfaW5kZW50aWZpZXI6IjQtMjAifSxZRTp7Y2hhcnM6MzAsYmJhbl9yZWdleHA6IltBLVpdezR9WzAtOV17NH1bMC05QS1aXXsxOH0iLElCQU5SZWdpc3RyeTohMCxiYW5rX2lkZW50aWZpZXI6IjAtMyIsYnJhbmNoX2luZGVudGlmaWVyOiI0LTcifSxZVDp7Y2hhcnM6MjcsYmJhbl9yZWdleHA6Il5bMC05XXsxMH1bQS1aMC05XXsxMX1bMC05XXsyfSQiLElCQU5SZWdpc3RyeTohMH0sWkE6e30sWk06e30sWlc6e319fSk7dmFyIFlzYSxLc2E9ZigoKT0+e2xlKCk7WXNhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7UWAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnBheW1lbnQtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFzaWMgSUJBTiBJbnB1dCJ9IC5zdWJ0aXRsZT0keyJJbnRlcm5hdGlvbmFsIEJhbmsgQWNjb3VudCBOdW1iZXIgd2l0aCBhdXRvbWF0aWMgZm9ybWF0dGluZyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1pYmFuCiAgICAgICAgICAgIC5sYWJlbD0keyJCYW5rIEFjY291bnQgSUJBTiJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJFbnRlciB5b3VyIEludGVybmF0aW9uYWwgQmFuayBBY2NvdW50IE51bWJlciJ9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJZb3VyIElCQU4gY2FuIGJlIGZvdW5kIG9uIHlvdXIgYmFuayBzdGF0ZW1lbnQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1pYmFuPgoKICAgICAgICAgIDxkZWVzLWlucHV0LWliYW4KICAgICAgICAgICAgLmxhYmVsPSR7IlZlcmlmaWVkIElCQU4ifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiVGhpcyBJQkFOIGhhcyBiZWVuIHZlcmlmaWVkIn0KICAgICAgICAgICAgLnZhbHVlPSR7IkRFODkzNzA0MDA0NDA1MzIwMTMwMDAifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1pYmFuPgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiUGF5bWVudCBJbmZvcm1hdGlvbiJ9IC5zdWJ0aXRsZT0keyJJQkFOIGlucHV0IHdpdGggaG9yaXpvbnRhbCBsYXlvdXQgZm9yIHBheW1lbnQgZm9ybXMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRpdiBjbGFzcz0icGF5bWVudC1ncm91cCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgICAubGFiZWw9JHsiQWNjb3VudCBIb2xkZXIifQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC52YWx1ZT0keyJKb2huIERvZSJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWliYW4KICAgICAgICAgICAgICAubGFiZWw9JHsiSUJBTiJ9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7IkdCODJXRVNUMTIzNDU2OTg3NjU0MzIifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWliYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlZhbGlkYXRpb24gJiBTdGF0ZXMifSAuc3VidGl0bGU9JHsiUmVxdWlyZWQgZmllbGRzIGFuZCBkaXNhYmxlZCBzdGF0ZXMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtaWJhbgogICAgICAgICAgICAubGFiZWw9JHsiUGF5bWVudCBBY2NvdW50In0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IlJlcXVpcmVkIGZvciBwcm9jZXNzaW5nIHBheW1lbnRzIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWliYW4+CgogICAgICAgICAgPGRlZXMtaW5wdXQtaWJhbgogICAgICAgICAgICAubGFiZWw9JHsiTG9ja2VkIElCQU4ifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiVGhpcyBJQkFOIGNhbm5vdCBiZSBjaGFuZ2VkIn0KICAgICAgICAgICAgLnZhbHVlPSR7IkZSMTQyMDA0MTAxMDA1MDUwMDAxM00wMjYwNiJ9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1pYmFuPgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQmFuayBUcmFuc2ZlciBGb3JtIn0gLnN1YnRpdGxlPSR7IkNvbXBsZXRlIGZvcm0gZXhhbXBsZSB3aXRoIElCQU4gdmFsaWRhdGlvbiJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJSZWNpcGllbnQgTmFtZSJ9IC5yZXF1aXJlZD0keyEwfT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LWliYW4gLmxhYmVsPSR7IlJlY2lwaWVudCBJQkFOIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC1pYmFuPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAubGFiZWw9JHsiVHJhbnNmZXIgUmVmZXJlbmNlIn0gLmluZm9UZXh0PSR7Ik9wdGlvbmFsIHJlZmVyZW5jZSBmb3IgdGhlIHRyYW5zZmVyIn0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJBbW91bnQifSAuaW5wdXRUeXBlPSR7Im51bWJlciJ9IC5yZXF1aXJlZD0keyEwfT48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgLCJkZW1vRnVuYyIpfSk7dmFyIG1hZSxFZixnYWUsV1llPWYoKCk9PntsZSgpO0p0KCk7U3IoKTtHc2EoKTtLc2EoKTtRZSgpO21hZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sRWY9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGdhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtaWJhbiIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRJYmFuIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxkPVtLKCldLHU9WyQoe3R5cGU6U3RyaW5nfSldLG1hZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVudGVyZWRTdHJpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImVudGVyZWRTdHJpbmciaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5lbnRlcmVkU3RyaW5nLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuZW50ZXJlZFN0cmluZz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksbWFlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW50ZXJlZEliYW5Jc1ZhbGlkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJlbnRlcmVkSWJhbklzVmFsaWQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5lbnRlcmVkSWJhbklzVmFsaWQsImdldCIpLHNldDpzKChnLHkpPT57Zy5lbnRlcmVkSWJhbklzVmFsaWQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxjLHApLG1hZSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJ2YWx1ZSJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnZhbHVlLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cudmFsdWU9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLG1hZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPVlzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9RWYodGhpcyxuLCIiKTtnZXQgZW50ZXJlZFN0cmluZygpe3JldHVybiB0aGlzLiNlfXNldCBlbnRlcmVkU3RyaW5nKGIpe3RoaXMuI2U9Yn0jdD0oRWYodGhpcyxsKSxFZih0aGlzLGMsITEpKTtnZXQgZW50ZXJlZEliYW5Jc1ZhbGlkKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGVudGVyZWRJYmFuSXNWYWxpZChiKXt0aGlzLiN0PWJ9I2E9KEVmKHRoaXMscCksRWYodGhpcyxtLCIiKSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHZhbHVlKGIpe3RoaXMuI2E9Yn1zdGF0aWMgc3R5bGVzPVtFZSwuLi53dC5iYXNlU3R5bGVzLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICAvKiBJQkFOIGlucHV0IHNwZWNpZmljIHN0eWxlcyBjYW4gZ28gaGVyZSAqLwogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx8fCJJQkFOIn0gLmluZm9UZXh0PSR7dGhpcy5pbmZvVGV4dH0+PC9kZWVzLWxhYmVsPgogICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgIC52YWx1ZT0ke3RoaXMudmFsdWV9CiAgICAgICAgICAuZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfQogICAgICAgICAgLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJERTg5IDM3MDQgMDA0NCAwNTMyIDAxMzAgMDAifQogICAgICAgICAgLnZhbGlkYXRpb25GdW5jdGlvbj0ke2I9PntsZXQgZz1iLnJlcGxhY2UoLyAvZywiIik7cmV0dXJuIGcubGVuZ3RoPT09MD97dmFsaWQ6ITAsbWVzc2FnZToiIn06aGFlKGcpP3t2YWxpZDohMCxtZXNzYWdlOiJJQkFOIGlzIHZhbGlkIn06e3ZhbGlkOiExLG1lc3NhZ2U6IlBsZWFzZSBlbnRlciBhIHZhbGlkIElCQU4ifX19CiAgICAgICAgICBAaW5wdXQ9JHtiPT57dGhpcy52YWxpZGF0ZUliYW4oYil9fQogICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAke3RoaXMucmVuZGVyRGVzY3JpcHRpb24oKX0KICAgICAgPC9kaXY+CiAgICBgfWZpcnN0VXBkYXRlZChiKXtzdXBlci5maXJzdFVwZGF0ZWQoYik7bGV0IGc9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtdGV4dCIpO2cmJmcuY2hhbmdlU3ViamVjdCYmZy5jaGFuZ2VTdWJqZWN0LnN1YnNjcmliZSgoKT0+e3RoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfSl9YXN5bmMgdmFsaWRhdGVJYmFuKGIpe2xldCBnPWIudGFyZ2V0LHk9Zz8udmFsdWU7eT15fHwiIix0aGlzLmVudGVyZWRTdHJpbmchPT15JiYodGhpcy5lbnRlcmVkU3RyaW5nPVVZZSh5KXx8IiIsZyYmKGcudmFsdWU9dGhpcy5lbnRlcmVkU3RyaW5nLHRoaXMudmFsdWU9dGhpcy5lbnRlcmVkU3RyaW5nLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKSksdGhpcy5lbnRlcmVkSWJhbklzVmFsaWQ9aGFlKHRoaXMuZW50ZXJlZFN0cmluZy5yZXBsYWNlKC8gL2csIiIpKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnZhbHVlfXNldFZhbHVlKGIpe3RoaXMudmFsdWU9Yix0aGlzLmVudGVyZWRTdHJpbmc9VVllKGIpfHwiIn1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksRWYodGhpcyx2KX1zdGF0aWN7RWYocix0KX19O3JldHVybiB4PXJ9KSgpfSk7dmFyIFpzYSxYc2E9ZigoKT0+e2xlKCk7WnNhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7UWAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDMycHg7CiAgICAgICAgICBwYWRkaW5nOiA0OHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOGY5ZmEiLCIjMGEwYTBhIil9OwogICAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zZWN0aW9uIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE4MTgxYiIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnNlY3Rpb24tZGVzY3JpcHRpb24gewogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5zZXR0aW5ncy1ncmlkIHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgICAgLnNldHRpbmdzLWdyaWQgewogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIGB9CiAgICA8L3N0eWxlPgogICAgCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPk11bHRpLU9wdGlvbiBUb2dnbGU8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5TZWxlY3QgZnJvbSBtdWx0aXBsZSBvcHRpb25zIHdpdGggYSBzbW9vdGggc2xpZGluZyBpbmRpY2F0b3IgYW5pbWF0aW9uLjwvZGl2PgoKICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkRpc3BsYXkgTW9kZSJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJDaG9vc2UgaG93IGNvbnRlbnQgaXMgZGlzcGxheWVkIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRoaXMgc2V0dGluZyBhZmZlY3RzIGhvdyBpdGVtcyBhcHBlYXIgb24geW91ciBkYXNoYm9hcmQifQogICAgICAgICAgICAub3B0aW9ucz0ke1siTGlzdCBWaWV3IiwiR3JpZCBWaWV3IiwiQ29tcGFjdCJdfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiR3JpZCBWaWV3In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IlQtU2hpcnQgU2l6ZSJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJTZWxlY3QgeW91ciBwcmVmZXJyZWQgc2l6ZSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJYUyIsIlMiLCJNIiwiTCIsIlhMIiwiWFhMIl19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJNIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Qm9vbGVhbiBUb2dnbGU8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5TaW1wbGUgb24vb2ZmIHN3aXRjaGVzIHdpdGggY3VzdG9taXphYmxlIGxhYmVscyBmb3IgY2xlYXJlciBjb250ZXh0LjwvZGl2PgoKICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7Ik5vdGlmaWNhdGlvbnMifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiRW5hYmxlIG9yIGRpc2FibGUgcHVzaCBub3RpZmljYXRpb25zIn0KICAgICAgICAgICAgLnR5cGU9JHsiYm9vbGVhbiJ9CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJ0cnVlIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IlRoZW1lIE1vZGUifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiU3dpdGNoIGJldHdlZW4gbGlnaHQgYW5kIGRhcmsgdGhlbWUifQogICAgICAgICAgICAudHlwZT0keyJib29sZWFuIn0KICAgICAgICAgICAgLmJvb2xlYW5UcnVlTmFtZT0keyJEYXJrIn0KICAgICAgICAgICAgLmJvb2xlYW5GYWxzZU5hbWU9JHsiTGlnaHQifQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiRGFyayJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlNldHRpbmdzIEdyaWQ8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5Db25maWd1cmF0aW9uIG9wdGlvbnMgYXJyYW5nZWQgaW4gYSByZXNwb25zaXZlIGdyaWQgbGF5b3V0LjwvZGl2PgoKICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3MtZ3JpZCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkF1dG8tU2F2ZSJ9CiAgICAgICAgICAgICAgLnR5cGU9JHsiYm9vbGVhbiJ9CiAgICAgICAgICAgICAgLmJvb2xlYW5UcnVlTmFtZT0keyJFbmFibGVkIn0KICAgICAgICAgICAgICAuYm9vbGVhbkZhbHNlTmFtZT0keyJEaXNhYmxlZCJ9CiAgICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkVuYWJsZWQifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiTGFuZ3VhZ2UifQogICAgICAgICAgICAgIC5vcHRpb25zPSR7WyJFbmdsaXNoIiwiR2VybWFuIiwiRnJlbmNoIiwiU3BhbmlzaCJdfQogICAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJFbmdsaXNoIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IlF1YWxpdHkifQogICAgICAgICAgICAgIC5vcHRpb25zPSR7WyJMb3ciLCJNZWRpdW0iLCJIaWdoIiwiVWx0cmEiXX0KICAgICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiSGlnaCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJQcml2YWN5In0KICAgICAgICAgICAgICAudHlwZT0keyJib29sZWFuIn0KICAgICAgICAgICAgICAuYm9vbGVhblRydWVOYW1lPSR7IlByaXZhdGUifQogICAgICAgICAgICAgIC5ib29sZWFuRmFsc2VOYW1lPSR7IlB1YmxpYyJ9CiAgICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IlByaXZhdGUifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+U3RhdGVzICYgRm9ybSBJbnRlZ3JhdGlvbjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkV4YW1wbGVzIG9mIGRpc2FibGVkIHN0YXRlcyBhbmQgaW50ZWdyYXRpb24gd2l0aGluIGZvcm1zLjwvZGl2PgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LW11bHRpdG9nZ2xlCiAgICAgICAgICAubGFiZWw9JHsiQWNjb3VudCBUeXBlIn0KICAgICAgICAgIC5pbmZvVGV4dD0keyJUaGlzIHNldHRpbmcgaXMgbG9ja2VkIn0KICAgICAgICAgIC5vcHRpb25zPSR7WyJGcmVlIiwiUHJvIiwiRW50ZXJwcmlzZSJdfQogICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7IkVudGVycHJpc2UifQogICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICAKICAgICAgICA8YnI+PGJyPgogICAgICAgIAogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJQcm9qZWN0IE5hbWUifSAucmVxdWlyZWQ9JHshMH0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiVmlzaWJpbGl0eSJ9CiAgICAgICAgICAgIC50eXBlPSR7ImJvb2xlYW4ifQogICAgICAgICAgICAuYm9vbGVhblRydWVOYW1lPSR7IlB1YmxpYyJ9CiAgICAgICAgICAgIC5ib29sZWFuRmFsc2VOYW1lPSR7IlByaXZhdGUifQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiUHJpdmF0ZSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkxpY2Vuc2UifQogICAgICAgICAgICAub3B0aW9ucz0ke1siTUlUIiwiQXBhY2hlIDIuMCIsIkdQTCB2MyIsIlByb3ByaWV0YXJ5Il19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJNSVQifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgUGYsUW8sYmFlLEdZZT1mKCgpPT57bGUoKTtTcigpO1QxKCk7WHNhKCk7UWUoKTtQZj1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sUW89ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGJhZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtbXVsdGl0b2dnbGUiKV0sZSx0PVtdLHIsaT13dCxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXTt2YXIgTz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0TXVsdGl0b2dnbGUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgVD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKCldLGQ9WyQoKV0sdT1bJCgpXSx4PVskKHt0eXBlOkFycmF5fSldLHk9WyQoKV0sTj1bJCh7dHlwZTpCb29sZWFufSldLFBmKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4idHlwZSJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLnR5cGUsImdldCIpLHNldDpzKChFLEIpPT57RS50eXBlPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sbixsKSxQZih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJvb2xlYW5UcnVlTmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4iYm9vbGVhblRydWVOYW1lImluIEUsImhhcyIpLGdldDpzKEU9PkUuYm9vbGVhblRydWVOYW1lLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UuYm9vbGVhblRydWVOYW1lPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYyxwKSxQZih0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJvb2xlYW5GYWxzZU5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+ImJvb2xlYW5GYWxzZU5hbWUiaW4gRSwiaGFzIiksZ2V0OnMoRT0+RS5ib29sZWFuRmFsc2VOYW1lLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UuYm9vbGVhbkZhbHNlTmFtZT1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG0sdiksUGYodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcHRpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJvcHRpb25zImluIEUsImhhcyIpLGdldDpzKEU9PkUub3B0aW9ucywiZ2V0Iiksc2V0OnMoKEUsQik9PntFLm9wdGlvbnM9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxiLGcpLFBmKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRPcHRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+InNlbGVjdGVkT3B0aW9uImluIEUsImhhcyIpLGdldDpzKEU9PkUuc2VsZWN0ZWRPcHRpb24sImdldCIpLHNldDpzKChFLEIpPT57RS5zZWxlY3RlZE9wdGlvbj1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGssQyksUGYodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJib29sVmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+ImJvb2xWYWx1ZSJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLmJvb2xWYWx1ZSwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLmJvb2xWYWx1ZT1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LF8seiksUGYobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6VH0sbnVsbCx0KSxPPXI9ZS52YWx1ZSxUJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOlR9KX1zdGF0aWMgZGVtbz1ac2E7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPVFvKHRoaXMsbiwibXVsdGkiKTtnZXQgdHlwZSgpe3JldHVybiB0aGlzLiNlfXNldCB0eXBlKFQpe3RoaXMuI2U9VH0jdD0oUW8odGhpcyxsKSxRbyh0aGlzLGMsInRydWUiKSk7Z2V0IGJvb2xlYW5UcnVlTmFtZSgpe3JldHVybiB0aGlzLiN0fXNldCBib29sZWFuVHJ1ZU5hbWUoVCl7dGhpcy4jdD1UfSNhPShRbyh0aGlzLHApLFFvKHRoaXMsbSwiZmFsc2UiKSk7Z2V0IGJvb2xlYW5GYWxzZU5hbWUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYm9vbGVhbkZhbHNlTmFtZShUKXt0aGlzLiNhPVR9I3I9KFFvKHRoaXMsdiksUW8odGhpcyxiLFtdKSk7Z2V0IG9wdGlvbnMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgb3B0aW9ucyhUKXt0aGlzLiNyPVR9I3M9KFFvKHRoaXMsZyksUW8odGhpcyxrLCIiKSk7Z2V0IHNlbGVjdGVkT3B0aW9uKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNlbGVjdGVkT3B0aW9uKFQpe3RoaXMuI3M9VH0jaT0oUW8odGhpcyxDKSxRbyh0aGlzLF8sITEpKTtnZXQgYm9vbFZhbHVlKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGJvb2xWYWx1ZShUKXt0aGlzLiNpPVR9Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMudHlwZT09PSJib29sZWFuIj90aGlzLnNlbGVjdGVkT3B0aW9uPT09dGhpcy5ib29sZWFuVHJ1ZU5hbWU6dGhpcy5zZWxlY3RlZE9wdGlvbn1zZXQgdmFsdWUoVCl7dGhpcy50eXBlPT09ImJvb2xlYW4iJiZ0eXBlb2YgVD09ImJvb2xlYW4iP3RoaXMuc2VsZWN0ZWRPcHRpb249VD90aGlzLmJvb2xlYW5UcnVlTmFtZTp0aGlzLmJvb2xlYW5GYWxzZU5hbWU6dGhpcy5zZWxlY3RlZE9wdGlvbj1ULHRoaXMucmVxdWVzdFVwZGF0ZSgpLHRoaXMuaGFzVXBkYXRlZCYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5zZXRJbmRpY2F0b3IoKX0pfXN0YXRpYyBzdHlsZXM9W0VlLC4uLnd0LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAuc2VsZWN0aW9ucyB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICBwYWRkaW5nOiA0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7CiAgICAgIH0KCiAgICAgIC5vcHRpb24gewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBwYWRkaW5nOiA4cHggMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycyBlYXNlOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgei1pbmRleDogMjsKICAgICAgfQoKICAgICAgLm9wdGlvbjpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2U0ZTRlNyIpfTsKICAgICAgfQoKICAgICAgLm9wdGlvbi5zZWxlY3RlZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmluZGljYXRvciB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA4cHgpOwogICAgICAgIHRvcDogNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgfQogICAgICAKICAgICAgLmluZGljYXRvci5uby10cmFuc2l0aW9uIHsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbZGlzYWJsZWRdKSAuc2VsZWN0aW9ucyB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC5vcHRpb24gewogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIC5pbmRpY2F0b3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDExMywgMTEzLCAxMjIsIDAuMTUpIiwicmdiYSgxMTMsIDExMywgMTIyLCAwLjE1KSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx9IC5pbmZvVGV4dD0ke3RoaXMuaW5mb1RleHR9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8ZGl2IGNsYXNzPSJtYWluYm94Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlbGVjdGlvbnMiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaW5kaWNhdG9yIj48L2Rpdj4KICAgICAgICAgICR7dGhpcy5vcHRpb25zLm1hcChUPT53YDxkaXYgY2xhc3M9Im9wdGlvbiAke1Q9PT10aGlzLnNlbGVjdGVkT3B0aW9uPyJzZWxlY3RlZCI6IiJ9IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTZWxlY3Rpb24oVCl9PgogICAgICAgICAgICAgICAgJHtUfQogICAgICAgICAgICAgIDwvZGl2PiBgKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMudHlwZT09PSJib29sZWFuIiYmdGhpcy5vcHRpb25zLmxlbmd0aD09PTAmJih0aGlzLm9wdGlvbnM9W3RoaXMuYm9vbGVhblRydWVOYW1lfHwidHJ1ZSIsdGhpcy5ib29sZWFuRmFsc2VOYW1lfHwiZmFsc2UiXSx0aGlzLnNlbGVjdGVkT3B0aW9ufHwodGhpcy5zZWxlY3RlZE9wdGlvbj10aGlzLmJvb2xlYW5GYWxzZU5hbWV8fCJmYWxzZSIpKSwhdGhpcy5zZWxlY3RlZE9wdGlvbiYmdGhpcy5vcHRpb25zLmxlbmd0aD4wJiYodGhpcy5zZWxlY3RlZE9wdGlvbj10aGlzLm9wdGlvbnNbMF0pfWFzeW5jIGZpcnN0VXBkYXRlZChUKXtzdXBlci5maXJzdFVwZGF0ZWQoVCksdGhpcy50eXBlPT09ImJvb2xlYW4iJiYodGhpcy5vcHRpb25zPVt0aGlzLmJvb2xlYW5UcnVlTmFtZXx8InRydWUiLHRoaXMuYm9vbGVhbkZhbHNlTmFtZXx8ImZhbHNlIl0pLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsZG9jdW1lbnQuZm9udHMmJmF3YWl0IGRvY3VtZW50LmZvbnRzLnJlYWR5LGF3YWl0IG5ldyBQcm9taXNlKEU9PnJlcXVlc3RBbmltYXRpb25GcmFtZShFKSksdGhpcy5zZXRJbmRpY2F0b3IoKX1hc3luYyBoYW5kbGVTZWxlY3Rpb24oVCl7dGhpcy5kaXNhYmxlZHx8KHRoaXMuc2VsZWN0ZWRPcHRpb249VCx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMuc2V0SW5kaWNhdG9yKCkpfWluZGljYXRvckluaXRpYWxpemVkPShRbyh0aGlzLHopLCExKTthc3luYyBzZXRJbmRpY2F0b3IoKXtsZXQgVD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmluZGljYXRvciIpLEU9dGhpcy5vcHRpb25zLmluZGV4T2YodGhpcy5zZWxlY3RlZE9wdGlvbik7aWYoRT09PS0xfHwhVCl7VCYmKFQuc3R5bGUub3BhY2l0eT0iMCIpO3JldHVybn1sZXQgQj10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcihgLm9wdGlvbjpudGgtY2hpbGQoJHtFKzJ9KWApO1QmJkImJih0aGlzLmluZGljYXRvckluaXRpYWxpemVkfHwoVC5jbGFzc0xpc3QuYWRkKCJuby10cmFuc2l0aW9uIiksdGhpcy5pbmRpY2F0b3JJbml0aWFsaXplZD0hMCxzZXRUaW1lb3V0KCgpPT57VC5jbGFzc0xpc3QucmVtb3ZlKCJuby10cmFuc2l0aW9uIil9LDUwKSksVC5zdHlsZS53aWR0aD1gJHtCLmNsaWVudFdpZHRofXB4YCxULnN0eWxlLmxlZnQ9YCR7Qi5vZmZzZXRMZWZ0fXB4YCxULnN0eWxlLm9wYWNpdHk9IjEiKX1nZXRWYWx1ZSgpe3JldHVybiB0aGlzLnR5cGU9PT0iYm9vbGVhbiI/dGhpcy5zZWxlY3RlZE9wdGlvbj09PXRoaXMuYm9vbGVhblRydWVOYW1lOnRoaXMuc2VsZWN0ZWRPcHRpb259c2V0VmFsdWUoVCl7dGhpcy50eXBlPT09ImJvb2xlYW4iJiZ0eXBlb2YgVD09ImJvb2xlYW4iP3RoaXMuc2VsZWN0ZWRPcHRpb249VD90aGlzLmJvb2xlYW5UcnVlTmFtZXx8InRydWUiOnRoaXMuYm9vbGVhbkZhbHNlTmFtZXx8ImZhbHNlIjp0aGlzLnNlbGVjdGVkT3B0aW9uPVQsdGhpcy5yZXF1ZXN0VXBkYXRlKCksdGhpcy5oYXNVcGRhdGVkJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLnNldEluZGljYXRvcigpfSl9c3RhdGlje1FvKHIsdCl9fTtyZXR1cm4gTz1yfSkoKX0pO3ZhciBRc2EsSnNhPWYoKCk9PntsZSgpO1FzYT1zKCgpPT53YAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICAke1FgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5ob3Jpem9udGFsLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIFBob25lIElucHV0In0gLnN1YnRpdGxlPSR7IkF1dG9tYXRpYyBmb3JtYXR0aW5nIGZvciBwaG9uZSBudW1iZXJzIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXBob25lCiAgICAgICAgICAgIC5sYWJlbD0keyJQaG9uZSBOdW1iZXIifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiRW50ZXIgeW91ciBwaG9uZSBudW1iZXIgd2l0aCBjb3VudHJ5IGNvZGUifQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiSW5jbHVkZSBjb3VudHJ5IGNvZGUgZm9yIGludGVybmF0aW9uYWwgbnVtYmVycyJ9CiAgICAgICAgICAgIC52YWx1ZT0keyI1NTUxMjM0NTY3In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcGhvbmU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUKICAgICAgICAgICAgLmxhYmVsPSR7IkNvbnRhY3QgUGhvbmUifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiUmVxdWlyZWQgZm9yIGFjY291bnQgdmVyaWZpY2F0aW9uIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyIrMSAoNTU1KSAwMDAtMDAwMCJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXBob25lPgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiSG9yaXpvbnRhbCBMYXlvdXQifSAuc3VidGl0bGU9JHsiUGhvbmUgaW5wdXRzIGFycmFuZ2VkIGhvcml6b250YWxseSJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWdyb3VwIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUKICAgICAgICAgICAgICAubGFiZWw9JHsiTW9iaWxlIn0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgICAudmFsdWU9JHsiNDE1NTU1MTIzNCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtcGhvbmU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC1waG9uZQogICAgICAgICAgICAgIC5sYWJlbD0keyJPZmZpY2UifQogICAgICAgICAgICAgIC5sYXlvdXRNb2RlPSR7Imhvcml6b250YWwifQogICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyIrMSAoODAwKSA1NTUtMDAwMCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtcGhvbmU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkludGVybmF0aW9uYWwgTnVtYmVycyJ9IC5zdWJ0aXRsZT0keyJTdXBwb3J0cyBmb3JtYXR0aW5nIGZvciBudW1iZXJzIHdpdGggY291bnRyeSBjb2RlcyJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1waG9uZQogICAgICAgICAgICAubGFiZWw9JHsiSW50ZXJuYXRpb25hbCBDb250YWN0In0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IkF1dG9tYXRpY2FsbHkgZm9ybWF0cyBpbnRlcm5hdGlvbmFsIG51bWJlcnMifQogICAgICAgICAgICAudmFsdWU9JHsiNDQxMjM0NTY3ODkwIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcGhvbmU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUKICAgICAgICAgICAgLmxhYmVsPSR7IkVtZXJnZW5jeSBDb250YWN0In0KICAgICAgICAgICAgLnZhbHVlPSR7IjkxMSJ9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1waG9uZT4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkZvcm0gSW50ZWdyYXRpb24ifSAuc3VidGl0bGU9JHsiUGhvbmUgaW5wdXQgYXMgcGFydCBvZiBhIGNvbnRhY3QgZm9ybSJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IC5sYWJlbD0keyJGdWxsIE5hbWUifSAucmVxdWlyZWQ9JHshMH0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1waG9uZSAubGFiZWw9JHsiUGhvbmUgTnVtYmVyIn0gLnJlcXVpcmVkPSR7ITB9PjwvZGVlcy1pbnB1dC1waG9uZT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IkVtYWlsIn0gLmlucHV0VHlwZT0keyJlbWFpbCJ9PjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgdmFlLElmLHhhZSxZWWU9ZigoKT0+e2xlKCk7SnQoKTtTcigpO0pzYSgpO1FlKCk7dmFlPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxJZj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0seGFlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC1waG9uZSIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRQaG9uZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpTdHJpbmd9KV0sdmFlKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZm9ybWF0dGVkUGhvbmUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImZvcm1hdHRlZFBob25lImluIGcsImhhcyIpLGdldDpzKGc9PmcuZm9ybWF0dGVkUGhvbmUsImdldCIpLHNldDpzKChnLHkpPT57Zy5mb3JtYXR0ZWRQaG9uZT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksdmFlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InZhbHVlImluIGcsImhhcyIpLGdldDpzKGc9PmcudmFsdWUsImdldCIpLHNldDpzKChnLHkpPT57Zy52YWx1ZT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGMscCksdmFlKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGxhY2Vob2xkZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InBsYWNlaG9sZGVyImluIGcsImhhcyIpLGdldDpzKGc9PmcucGxhY2Vob2xkZXIsImdldCIpLHNldDpzKChnLHkpPT57Zy5wbGFjZWhvbGRlcj15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG0sdiksdmFlKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsdCkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9c3RhdGljIGRlbW89UXNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1JZih0aGlzLG4sIiIpO2dldCBmb3JtYXR0ZWRQaG9uZSgpe3JldHVybiB0aGlzLiNlfXNldCBmb3JtYXR0ZWRQaG9uZShiKXt0aGlzLiNlPWJ9I3Q9KElmKHRoaXMsbCksSWYodGhpcyxjLCIiKSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHZhbHVlKGIpe3RoaXMuI3Q9Yn0jYT0oSWYodGhpcyxwKSxJZih0aGlzLG0sIisxICg1NTUpIDEyMy00NTY3IikpO2dldCBwbGFjZWhvbGRlcigpe3JldHVybiB0aGlzLiNhfXNldCBwbGFjZWhvbGRlcihiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1bRWUsLi4ud3QuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgLyogUGhvbmUgaW5wdXQgc3BlY2lmaWMgc3R5bGVzIGNhbiBnbyBoZXJlICovCiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7dGhpcy5sYWJlbH0gLmluZm9UZXh0PSR7dGhpcy5pbmZvVGV4dH0+PC9kZWVzLWxhYmVsPgogICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgIC52YWx1ZT0ke3RoaXMuZm9ybWF0dGVkUGhvbmV9CiAgICAgICAgICAuZGlzYWJsZWQ9JHt0aGlzLmRpc2FibGVkfQogICAgICAgICAgLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0ke3RoaXMucGxhY2Vob2xkZXJ9CiAgICAgICAgICBAaW5wdXQ9JHtiPT50aGlzLmhhbmRsZVBob25lSW5wdXQoYil9CiAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICA8L2Rpdj4KICAgIGB9Zmlyc3RVcGRhdGVkKGIpe3N1cGVyLmZpcnN0VXBkYXRlZChiKSx0aGlzLnZhbHVlJiYodGhpcy5mb3JtYXR0ZWRQaG9uZT10aGlzLmZvcm1hdFBob25lTnVtYmVyKHRoaXMudmFsdWUpKTtsZXQgZz10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC10ZXh0Iik7ZyYmZy5jaGFuZ2VTdWJqZWN0JiZnLmNoYW5nZVN1YmplY3Quc3Vic2NyaWJlKCgpPT57dGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9KX1oYW5kbGVQaG9uZUlucHV0KGIpe2xldCBnPWIudGFyZ2V0LHk9dGhpcy5jbGVhblBob25lTnVtYmVyKGcudmFsdWUpLGs9dGhpcy5mb3JtYXRQaG9uZU51bWJlcih5KTtpZihnLnZhbHVlIT09ayl7bGV0IEM9Zy5zZWxlY3Rpb25TdGFydHx8MDtnLnZhbHVlPWs7bGV0IE49dGhpcy5jYWxjdWxhdGVDdXJzb3JQb3NpdGlvbih5LGssQyk7Zy5zZXRTZWxlY3Rpb25SYW5nZShOLE4pfXRoaXMuZm9ybWF0dGVkUGhvbmU9ayx0aGlzLnZhbHVlPXksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9Y2xlYW5QaG9uZU51bWJlcihiKXtyZXR1cm4gYi5yZXBsYWNlKC9cRC9nLCIiKX1mb3JtYXRQaG9uZU51bWJlcihiKXtsZXQgZz10aGlzLmNsZWFuUGhvbmVOdW1iZXIoYik7cmV0dXJuIGcubGVuZ3RoPT09MD8iIjpnLmxlbmd0aDw9Mz9nOmcubGVuZ3RoPD02P2AoJHtnLnNsaWNlKDAsMyl9KSAke2cuc2xpY2UoMyl9YDpnLmxlbmd0aDw9MTA/YCgke2cuc2xpY2UoMCwzKX0pICR7Zy5zbGljZSgzLDYpfS0ke2cuc2xpY2UoNil9YDpgKyR7Zy5zbGljZSgwLGcubGVuZ3RoLTEwKX0gKCR7Zy5zbGljZSgtMTAsLTcpfSkgJHtnLnNsaWNlKC03LC00KX0tJHtnLnNsaWNlKC00KX1gfWNhbGN1bGF0ZUN1cnNvclBvc2l0aW9uKGIsZyx5KXtsZXQgaz0wO2ZvcihsZXQgQz0wO0M8eSYmQzxnLmxlbmd0aDtDKyspL1xkLy50ZXN0KGdbQ10pfHxrKys7cmV0dXJuIE1hdGgubWluKHkrayxnLmxlbmd0aCl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZShiKXt0aGlzLnZhbHVlPWIsdGhpcy5mb3JtYXR0ZWRQaG9uZT10aGlzLmZvcm1hdFBob25lTnVtYmVyKGIpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxJZih0aGlzLHYpfXN0YXRpY3tJZihyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgZWlhLHRpYT1mKCgpPT57bGUoKTtJYSgpO1VzKCk7ZWlhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiI3RvZ2dsZS1hbGwtb24iKSx0PWEucXVlcnlTZWxlY3RvcigiI3RvZ2dsZS1hbGwtb2ZmIikscj1hLnF1ZXJ5U2VsZWN0b3JBbGwoIi5mZWF0dXJlLXRvZ2dsZXMgZGVlcy1pbnB1dC10b2dnbGUiKTtlJiZ0JiYoZS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntyLmZvckVhY2goaT0+e2xldCBvPWk7IW8uZGlzYWJsZWQmJiFvLnJlcXVpcmVkJiYoby52YWx1ZT0hMCl9KX0pLHQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ci5mb3JFYWNoKGk9PntsZXQgbz1pOyFvLmRpc2FibGVkJiYhby5yZXF1aXJlZCYmKG8udmFsdWU9ITEpfSl9KSl9fT4KICAgIDxzdHlsZT4KICAgICAgJHtRYAogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KCiAgICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KCiAgICAgICAgZGVlcy1wYW5lbDpsYXN0LWNoaWxkIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgICAgfQoKICAgICAgICAudG9nZ2xlLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLmhvcml6b250YWwtdG9nZ2xlcyB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZ2FwOiAzMnB4OwogICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIH0KCiAgICAgICAgLmludGVyYWN0aXZlLXNlY3Rpb24gewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAub3V0cHV0LXRleHQgewogICAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyNi43JSkiLCJoc2woMjEwIDQwJSA4MCUpIil9OwogICAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk4JSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDI0cHg7CiAgICAgICAgfQoKICAgICAgICAuc2V0dGluZ3Mtc2VjdGlvbiB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIH0KCiAgICAgICAgLmJ1dHRvbi1ncm91cCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLmZlYXR1cmUtdG9nZ2xlcyB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxMS44JSkiKX07CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICB9CgogICAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICB9CgogICAgICAgIC5kcmFnLWhpbnQgewogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJCYXNpYyBUb2dnbGUifSAuc3VidGl0bGU9JHsiU2ltcGxlIG9uL29mZiB0b2dnbGUgc3dpdGNoIHdpdGggZHJhZyBzdXBwb3J0In0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiRW5hYmxlIGZlYXR1cmUifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgLmtleT0keyJiYXNpYyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkFjdGl2ZSB0b2dnbGUifQogICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgLmtleT0keyJhY3RpdmUifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJXaXRoIGRlc2NyaXB0aW9uIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJUaGlzIHRvZ2dsZSBoYXMgYWRkaXRpb25hbCBoZWxwZXIgdGV4dCBleHBsYWluaW5nIGl0cyBwdXJwb3NlIn0KICAgICAgICAgICAgLmtleT0keyJ3aXRoRGVzYyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICA8cCBjbGFzcz0iZHJhZy1oaW50Ij5UaXA6IFlvdSBjYW4gZHJhZyB0aGUgdG9nZ2xlIGtub2IgdG8gc3dpdGNoIHN0YXRlczwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlRvZ2dsZSBTdGF0ZXMifSAuc3VidGl0bGU9JHsiRGlmZmVyZW50IHRvZ2dsZSBzdGF0ZXMgYW5kIGNvbmZpZ3VyYXRpb25zIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiRGVmYXVsdCAob2ZmKSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJFbmFibGVkIChvbikifQogICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiRGlzYWJsZWQgKG9mZikifQogICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IkRpc2FibGVkIChvbikifQogICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgLmxhYmVsPSR7IlJlcXVpcmVkIChhbHdheXMgb24pIn0KICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiVGhpcyB0b2dnbGUgY2Fubm90IGJlIHR1cm5lZCBvZmYifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJIb3Jpem9udGFsIExheW91dCJ9IC5zdWJ0aXRsZT0keyJUb2dnbGVzIGFycmFuZ2VkIGhvcml6b250YWxseSBmb3IgY29tcGFjdCBpbnRlcmZhY2VzIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkaXYgY2xhc3M9Imhvcml6b250YWwtdG9nZ2xlcyI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJXaUZpIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiQmx1ZXRvb3RoIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiR1BTIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiTkZDIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlNldHRpbmdzIEV4YW1wbGUifSAuc3VidGl0bGU9JHsiVG9nZ2xlcyBpbiBhIHR5cGljYWwgc2V0dGluZ3MgY29udGV4dCJ9PgogICAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24iPgogICAgICAgICAgPGg0IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Ob3RpZmljYXRpb24gU2V0dGluZ3M8L2g0PgoKICAgICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJQdXNoIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJSZWNlaXZlIHB1c2ggbm90aWZpY2F0aW9ucyBvbiB5b3VyIGRldmljZSJ9CiAgICAgICAgICAgICAgLmtleT0keyJwdXNoIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiRW1haWwgbm90aWZpY2F0aW9ucyJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkdldCBpbXBvcnRhbnQgdXBkYXRlcyB2aWEgZW1haWwifQogICAgICAgICAgICAgIC5rZXk9JHsiZW1haWwifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJTb3VuZCJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITF9CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlBsYXkgYSBzb3VuZCBmb3Igbm90aWZpY2F0aW9ucyJ9CiAgICAgICAgICAgICAgLmtleT0keyJzb3VuZCJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IlZpYnJhdGlvbiJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlZpYnJhdGUgZm9yIG5vdGlmaWNhdGlvbnMifQogICAgICAgICAgICAgIC5rZXk9JHsidmlicmF0aW9uIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CiAgICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkZlYXR1cmUgVG9nZ2xlcyJ9IC5zdWJ0aXRsZT0keyJCYXRjaCBvcGVyYXRpb25zIG9uIG11bHRpcGxlIHRvZ2dsZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIGlkPSJ0b2dnbGUtYWxsLW9uIiB0eXBlPSJzZWNvbmRhcnkiPkVuYWJsZSBBbGw8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIGlkPSJ0b2dnbGUtYWxsLW9mZiIgdHlwZT0ic2Vjb25kYXJ5Ij5EaXNhYmxlIEFsbDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtdG9nZ2xlcyI+CiAgICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiRGFyayBNb2RlIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAua2V5PSR7ImRhcmtNb2RlIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiQXV0by1zYXZlIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMH0KICAgICAgICAgICAgICAua2V5PSR7ImF1dG9TYXZlIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10b2dnbGUKICAgICAgICAgICAgICAubGFiZWw9JHsiU3BlbGwgY2hlY2sifQogICAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICAgIC5rZXk9JHsic3BlbGxDaGVjayJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdG9nZ2xlPgoKICAgICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgICAgLmxhYmVsPSR7IkRldmVsb3BlciBtb2RlIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAua2V5PSR7ImRldk1vZGUifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAgIC5sYWJlbD0keyJCZXRhIGZlYXR1cmVzIn0KICAgICAgICAgICAgICAudmFsdWU9JHshMX0KICAgICAgICAgICAgICAua2V5PSR7ImJldGEifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRvZ2dsZT4KICAgICAgICAgIDwvZGVlcy1mb3JtPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiSW50ZXJhY3RpdmUgRXhhbXBsZSJ9IC5zdWJ0aXRsZT0keyJUb2dnbGUgdG8gc2VlIHZhbHVlIGNoYW5nZXMgaW4gcmVhbC10aW1lIn0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsiQWlycGxhbmUgbW9kZSJ9CiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICBAbmV3VmFsdWU9JHthPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2FpcnBsYW5lLW91dHB1dCIpO2UmJihlLnRleHRDb250ZW50PWBBaXJwbGFuZSBtb2RlOiAke2EuZGV0YWlsPyJPTiI6Ik9GRiJ9YCl9fQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdG9nZ2xlCiAgICAgICAgICAgIC5sYWJlbD0keyJEbyBub3QgZGlzdHVyYiJ9CiAgICAgICAgICAgIC52YWx1ZT0keyExfQogICAgICAgICAgICBAbmV3VmFsdWU9JHthPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2RuZC1vdXRwdXQiKTtlJiYoZS50ZXh0Q29udGVudD1gRG8gbm90IGRpc3R1cmI6ICR7YS5kZXRhaWw/IkVOQUJMRUQiOiJESVNBQkxFRCJ9YCl9fQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10b2dnbGU+CiAgICAgICAgPC9kZWVzLWZvcm0+CgogICAgICAgIDxkaXYgY2xhc3M9ImludGVyYWN0aXZlLXNlY3Rpb24iPgogICAgICAgICAgPGRpdiBpZD0iYWlycGxhbmUtb3V0cHV0IiBjbGFzcz0ib3V0cHV0LXRleHQiPkFpcnBsYW5lIG1vZGU6IE9GRjwvZGl2PgogICAgICAgICAgPGRpdiBpZD0iZG5kLW91dHB1dCIgY2xhc3M9Im91dHB1dC10ZXh0IiBzdHlsZT0ibWFyZ2luLXRvcDogOHB4OyI+RG8gbm90IGRpc3R1cmI6IERJU0FCTEVEPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBhaWEsS1llLHlhZSxaWWU9ZigoKT0+e2xlKCk7SnQoKTtTcigpO3RpYSgpO3VzKCk7UWUoKTthaWE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEtZZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0seWFlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC10b2dnbGUiKV0sZSx0PVtdLHIsaT13dCxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0lucHV0VG9nZ2xlIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0sYWlhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+InZhbHVlImluIHAsImhhcyIpLGdldDpzKHA9PnAudmFsdWUsImdldCIpLHNldDpzKChwLHUpPT57cC52YWx1ZT11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksYWlhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89ZWlhO3N0YXRpYyBkZW1vR3JvdXBzPVsiSW5wdXQiXTsjZT1LWWUodGhpcyxuLCExKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoYyl7dGhpcy4jZT1jfWN1cnJlbnRYPShLWWUodGhpcyxsKSwwKTtpc0RyYWdnaW5nPSExO2hhc0RyYWdnZWQ9ITE7c3RhcnRYPTA7dHJhY2tXaWR0aD0zNjt0cmFja0hlaWdodD0yMDtrbm9iU2l6ZT0xNDtwYWRkaW5nPTI7bWF4VHJhdmVsPTE2O2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmxhYmVsUG9zaXRpb249InJpZ2h0In1zdGF0aWMgc3R5bGVzPVtFZSwuLi53dC5iYXNlU3R5bGVzLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICAqIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtdHJhY2sgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgd2lkdGg6IDM2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgbWFyZ2luLXRvcDogMXB4OwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lcjpob3ZlciAudG9nZ2xlLXRyYWNrIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KCiAgICAgIDpob3N0KFt2YWx1ZV0pIC50b2dnbGUtdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS10cmFjazpmb2N1cy12aXNpYmxlIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4xKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC50b2dnbGUta25vYiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMnB4OwogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDYzLjklKSIsImhzbCgwIDAlIDQ1LjElKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuMTVzIGVhc2UsIGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICB0b3VjaC1hY3Rpb246IG5vbmU7CiAgICAgIH0KCiAgICAgIC50b2dnbGUta25vYi5kcmFnZ2luZyB7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICA6aG9zdChbdmFsdWVdKSAudG9nZ2xlLWtub2IgewogICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgICB9CgogICAgICAvKiBEaXNhYmxlZCBzdGF0ZSAqLwogICAgICAubWFpbmNvbnRhaW5lci5kaXNhYmxlZCB7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtdHJhY2suZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICB9CgogICAgICAvKiBSZXF1aXJlZCBzdGF0ZSAobG9ja2VkIG9uKSAqLwogICAgICA6aG9zdChbcmVxdWlyZWRdW3ZhbHVlXSkgLnRvZ2dsZS10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA2MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNDkuOCUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA2MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNDkuOCUpIil9OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIDpob3N0KFtyZXF1aXJlZF1bdmFsdWVdKSAudG9nZ2xlLWtub2IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgNzAlKSIpfTsKICAgICAgfQoKICAgICAgLyogTGFiZWwgKi8KICAgICAgLmxhYmVsLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXI6aG92ZXIgLnRvZ2dsZS1sYWJlbCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lci5kaXNhYmxlZDpob3ZlciAudG9nZ2xlLWxhYmVsIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICB9CgogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIgJHt0aGlzLmRpc2FibGVkPyJkaXNhYmxlZCI6IiJ9IiBAY2xpY2s9IiR7dGhpcy5oYW5kbGVDbGlja30iPgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0idG9nZ2xlLXRyYWNrICR7dGhpcy5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIKICAgICAgICAgICAgdGFiaW5kZXg9IiR7dGhpcy5kaXNhYmxlZD8iLTEiOiIwIn0iCiAgICAgICAgICAgIEBrZXlkb3duPSIke3RoaXMuaGFuZGxlS2V5ZG93bn0iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBjbGFzcz0idG9nZ2xlLWtub2IiCiAgICAgICAgICAgICAgc3R5bGU9ImxlZnQ6ICR7dGhpcy5wYWRkaW5nK3RoaXMuY3VycmVudFh9cHg7IgogICAgICAgICAgICAgIEBwb2ludGVyZG93bj0iJHt0aGlzLm9uUG9pbnRlckRvd259IgogICAgICAgICAgICAgIEBwb2ludGVybW92ZT0iJHt0aGlzLm9uUG9pbnRlck1vdmV9IgogICAgICAgICAgICAgIEBwb2ludGVydXA9IiR7dGhpcy5vblBvaW50ZXJVcH0iCiAgICAgICAgICAgICAgQHBvaW50ZXJjYW5jZWw9IiR7dGhpcy5vblBvaW50ZXJVcH0iCiAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibGFiZWwtY29udGFpbmVyIj4KICAgICAgICAgICAgJHt0aGlzLmxhYmVsP3dgPGRpdiBjbGFzcz0idG9nZ2xlLWxhYmVsIj4ke3RoaXMubGFiZWx9PC9kaXY+YDoiIn0KICAgICAgICAgICAgJHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZChjKXthd2FpdCBzdXBlci5maXJzdFVwZGF0ZWQoYyksdGhpcy5yZXF1aXJlZCYmIXRoaXMudmFsdWUmJih0aGlzLnZhbHVlPSEwKSx0aGlzLmN1cnJlbnRYPXRoaXMudmFsdWU/dGhpcy5tYXhUcmF2ZWw6MCx0aGlzLnJlcXVlc3RVcGRhdGUoKX1hc3luYyBoYW5kbGVDbGljayhjKXtpZih0aGlzLmlzRHJhZ2dpbmd8fHRoaXMuaGFzRHJhZ2dlZCl7Yy5zdG9wUHJvcGFnYXRpb24oKSxjLnByZXZlbnREZWZhdWx0KCk7cmV0dXJufWlmKCF0aGlzLmRpc2FibGVkKXtpZih0aGlzLnJlcXVpcmVkKXt0aGlzLmN1cnJlbnRYPXRoaXMubWF4VHJhdmVsLHRoaXMucmVxdWVzdFVwZGF0ZSgpLGF3YWl0IG5ldyBQcm9taXNlKHA9PnNldFRpbWVvdXQocCwxMCkpLHRoaXMuY3VycmVudFg9dGhpcy5tYXhUcmF2ZWwtMyx0aGlzLnJlcXVlc3RVcGRhdGUoKSxhd2FpdCBCdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDE1MCksdGhpcy5jdXJyZW50WD10aGlzLm1heFRyYXZlbCx0aGlzLnJlcXVlc3RVcGRhdGUoKTtyZXR1cm59Yy5zdG9wUHJvcGFnYXRpb24oKSxjLnByZXZlbnREZWZhdWx0KCksdGhpcy52YWx1ZT0hdGhpcy52YWx1ZSx0aGlzLmN1cnJlbnRYPXRoaXMudmFsdWU/dGhpcy5tYXhUcmF2ZWw6MCx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJuZXdWYWx1ZSIse2RldGFpbDp0aGlzLnZhbHVlLGJ1YmJsZXM6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksQnQuc21hcnRkZWxheS5kZWxheUZvcigwKS50aGVuKCgpPT57dGhpcy5oYXNEcmFnZ2VkPSExfSl9fW9uUG9pbnRlckRvd24oYyl7dGhpcy5yZXF1aXJlZHx8dGhpcy5kaXNhYmxlZHx8KHRoaXMuaXNEcmFnZ2luZz0hMCx0aGlzLnN0YXJ0WD1jLmNsaWVudFgtdGhpcy5jdXJyZW50WCxjLnRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShjLnBvaW50ZXJJZCkpfW9uUG9pbnRlck1vdmUoYyl7aWYoIXRoaXMuaXNEcmFnZ2luZylyZXR1cm47bGV0IHA9Yy5jbGllbnRYLXRoaXMuc3RhcnRYO3RoaXMuaGFzRHJhZ2dlZD0hMDtsZXQgdT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50b2dnbGUta25vYiIpO3UmJnUuY2xhc3NMaXN0LmFkZCgiZHJhZ2dpbmciKSx0aGlzLmN1cnJlbnRYPU1hdGgubWF4KDAsTWF0aC5taW4ocCx0aGlzLm1heFRyYXZlbCkpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfW9uUG9pbnRlclVwKGMpe2lmKCF0aGlzLmlzRHJhZ2dpbmd8fChjLnRhcmdldC5yZWxlYXNlUG9pbnRlckNhcHR1cmUoYy5wb2ludGVySWQpLHRoaXMuaXNEcmFnZ2luZz0hMSwhdGhpcy5oYXNEcmFnZ2VkKSlyZXR1cm47bGV0IHA9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudG9nZ2xlLWtub2IiKTtwJiZwLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIik7bGV0IHU9dGhpcy5tYXhUcmF2ZWwvMjt0aGlzLnZhbHVlPXRoaXMuY3VycmVudFg+dSx0aGlzLmN1cnJlbnRYPXRoaXMudmFsdWU/dGhpcy5tYXhUcmF2ZWw6MCx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJuZXdWYWx1ZSIse2RldGFpbDp0aGlzLnZhbHVlLGJ1YmJsZXM6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyksQnQuc21hcnRkZWxheS5kZWxheUZvcigwKS50aGVuKCgpPT57dGhpcy5oYXNEcmFnZ2VkPSExfSl9dXBkYXRlZChjKXtzdXBlci51cGRhdGVkKGMpLGMuaGFzKCJ2YWx1ZSIpJiYhdGhpcy5pc0RyYWdnaW5nJiYhdGhpcy5oYXNEcmFnZ2VkJiYodGhpcy5jdXJyZW50WD10aGlzLnZhbHVlP3RoaXMubWF4VHJhdmVsOjAsdGhpcy5yZXF1ZXN0VXBkYXRlKCkpfWhhbmRsZUtleWRvd24oYyl7KGMua2V5PT09IiAifHxjLmtleT09PSJFbnRlciIpJiYoYy5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGFuZGxlQ2xpY2soYykpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoYyl7dGhpcy52YWx1ZT1jfWZvY3VzKCl7bGV0IGM9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIudG9nZ2xlLXRyYWNrIik7YyYmYy5mb2N1cygpfXN0YXRpY3tLWWUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIHJpYSxzaWE9ZigoKT0+e2xlKCk7cmlhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7UWAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmhvcml6b250YWwtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuaW5mby1ib3ggewogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTNmMmZkOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgY29sb3I6ICMxOTc2ZDI7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAgIC5pbmZvLWJveCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMxZTNhNWY7CiAgICAgICAgICAgIGNvbG9yOiAjOTBjYWY5OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CiAgICAKICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IkJhc2ljIFR5cGUgTGlzdCJ9IC5zdWJ0aXRsZT0keyJBZGQgYW5kIHJlbW92ZSBpdGVtcyBmcm9tIGEgbGlzdCJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10eXBlbGlzdAogICAgICAgICAgICAubGFiZWw9JHsiVGFncyJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJBZGQgdGFncyBieSB0eXBpbmcgYW5kIHByZXNzaW5nIEVudGVyIn0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRhZ3MgaGVscCBjYXRlZ29yaXplIGFuZCBmaWx0ZXIgeW91ciBjb250ZW50In0KICAgICAgICAgICAgLnZhbHVlPSR7WyJqYXZhc2NyaXB0IiwidHlwZXNjcmlwdCIsIndlYi1jb21wb25lbnRzIl19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXR5cGVsaXN0PgoKICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgIC5sYWJlbD0keyJUZWFtIE1lbWJlcnMifQogICAgICAgICAgICAuaW5mb1RleHQ9JHsiQWRkIGVtYWlsIGFkZHJlc3NlcyBvZiB0ZWFtIG1lbWJlcnMifQogICAgICAgICAgICAudmFsdWU9JHtbImFsaWNlQGV4YW1wbGUuY29tIiwiYm9iQGV4YW1wbGUuY29tIl19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXR5cGVsaXN0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiU2tpbGxzICYgS2V5d29yZHMifSAuc3VidGl0bGU9JHsiTWFuYWdlIGxpc3RzIG9mIHNraWxscyBhbmQga2V5d29yZHMifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgLmxhYmVsPSR7IllvdXIgU2tpbGxzIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7Ikxpc3QgeW91ciBwcm9mZXNzaW9uYWwgc2tpbGxzIn0KICAgICAgICAgICAgLnZhbHVlPSR7WyJIVE1MIiwiQ1NTIiwiSmF2YVNjcmlwdCIsIk5vZGUuanMiLCJSZWFjdCJdfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWdyb3VwIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgICAubGFiZWw9JHsiQ2F0ZWdvcmllcyJ9CiAgICAgICAgICAgICAgLmxheW91dE1vZGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgICAgLnZhbHVlPSR7WyJUZWNobm9sb2d5IiwiRGVzaWduIiwiQnVzaW5lc3MiXX0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgICAgLmxhYmVsPSR7IktleXdvcmRzIn0KICAgICAgICAgICAgICAubGF5b3V0TW9kZT0keyJob3Jpem9udGFsIn0KICAgICAgICAgICAgICAudmFsdWU9JHtbImlubm92YXRpb24iLCJzdGFydHVwIiwiZ3Jvd3RoIl19CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtdHlwZWxpc3Q+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlJlcXVpcmVkICYgRGlzYWJsZWQgU3RhdGVzIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCBpbnB1dCBzdGF0ZXMgZm9yIHZhbGlkYXRpb24ifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgLmxhYmVsPSR7IlByb2plY3QgRGVwZW5kZW5jaWVzIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7Ikxpc3QgYWxsIHJlcXVpcmVkIG5wbSBwYWNrYWdlcyJ9CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAudmFsdWU9JHtbIkBkZXNpZ24uZXN0YXRlL2RlZXMtZWxlbWVudCIsIkBkZXNpZ24uZXN0YXRlL2RlZXMtZG9tdG9vbHMiXX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdHlwZWxpc3Q+CgogICAgICAgICAgPGRlZXMtaW5wdXQtdHlwZWxpc3QKICAgICAgICAgICAgLmxhYmVsPSR7IlN5c3RlbSBUYWdzIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IlRoZXNlIHRhZ3MgYXJlIG1hbmFnZWQgYnkgdGhlIHN5c3RlbSJ9CiAgICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgICAudmFsdWU9JHtbInN5c3RlbSIsInByb3RlY3RlZCIsInJlYWRvbmx5Il19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXR5cGVsaXN0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiQXJ0aWNsZSBQdWJsaXNoaW5nIEZvcm0ifSAuc3VidGl0bGU9JHsiQ29tcGxldGUgZm9ybSB3aXRoIHRhZyBtYW5hZ2VtZW50In0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgLmxhYmVsPSR7IkFydGljbGUgVGl0bGUifSAucmVxdWlyZWQ9JHshMH0+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAubGFiZWw9JHsiU3VtbWFyeSJ9IAogICAgICAgICAgICAuaW5wdXRUeXBlPSR7InRleHRhcmVhIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IkJyaWVmIGRlc2NyaXB0aW9uIG9mIHRoZSBhcnRpY2xlIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgIC5sYWJlbD0keyJUYWdzIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IkFkZCByZWxldmFudCB0YWdzIGZvciBiZXR0ZXIgZGlzY292ZXJhYmlsaXR5In0KICAgICAgICAgICAgLnZhbHVlPSR7WyJ0dXRvcmlhbCIsIndlYi1kZXZlbG9wbWVudCJdfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10eXBlbGlzdD4KICAgICAgICAgIDxkZWVzLWlucHV0LXR5cGVsaXN0CiAgICAgICAgICAgIC5sYWJlbD0keyJDby1BdXRob3JzIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IkFkZCBlbWFpbCBhZGRyZXNzZXMgb2YgY28tYXV0aG9ycyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXR5cGVsaXN0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImluZm8tYm94Ij4KICAgICAgICAgIDxzdHJvbmc+VGlwOjwvc3Ryb25nPiBUeXBlIGEgdmFsdWUgYW5kIHByZXNzIEVudGVyIHRvIGFkZCBpdCB0byB0aGUgbGlzdC4gQ2xpY2sgb24gYW55IGl0ZW0gdG8gcmVtb3ZlIGl0LgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2Rpdj4KICA8L2RlZXMtZGVtb3dyYXBwZXI+CmAsImRlbW9GdW5jIil9KTt2YXIgWFllLElVLHdhZSxRWWU9ZigoKT0+e2xlKCk7SnQoKTtTcigpO3NpYSgpO1FlKCk7WFllPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxJVT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sd2FlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC10eXBlbGlzdCIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRUeXBlbGlzdCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bSygpXSxYWWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4idmFsdWUiaW4gdiwiaGFzIiksZ2V0OnModj0+di52YWx1ZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnZhbHVlPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxYWWUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbnB1dFZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJpbnB1dFZhbHVlImluIHYsImhhcyIpLGdldDpzKHY9PnYuaW5wdXRWYWx1ZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LmlucHV0VmFsdWU9eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLFhZZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPXJpYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9SVUodGhpcyxuLFtdKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUobSl7dGhpcy4jZT1tfSN0PShJVSh0aGlzLGwpLElVKHRoaXMsYywiIikpO2dldCBpbnB1dFZhbHVlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGlucHV0VmFsdWUobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W0VlLC4uLnd0LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzMzMiLCIjZmZmIil9OwogICAgICB9CiAgICAgIC5tYWluYm94IHsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMjIyMjIyIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYm9yZGVyLXRvcDogJHtoLmJkVGhlbWUoIjFweCBzb2xpZCAjQ0NDIiwiMXB4IHNvbGlkICNmZmZmZmYxMCIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAke2guYmRUaGVtZSgiMXB4IHNvbGlkICNDQ0MiLCIxcHggc29saWQgIzIyMiIpfTsKICAgICAgICBib3JkZXItcmlnaHQ6ICR7aC5iZFRoZW1lKCIxcHggc29saWQgI0NDQyIsIjFweCBzb2xpZCAjZmZmZmZmMTAiKX07CiAgICAgICAgYm9yZGVyLWxlZnQ6ICR7aC5iZFRoZW1lKCIxcHggc29saWQgI0NDQyIsIjFweCBzb2xpZCAjZmZmZmZmMTAiKX07CiAgICAgICAgYm94LXNoYWRvdzogJHtoLmJkVGhlbWUoIjBweCAxcHggNHB4IHJnYmEoMCwwLDAsMC4zKSIsIm5vbmUiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CiAgICAgIAogICAgICAubWFpbmJveDpob3ZlciB7CiAgICAgICAgZmlsdGVyOiAke2guYmRUaGVtZSgiYnJpZ2h0bmVzcygwLjk4KSIsImJyaWdodG5lc3MoMS4wNSkiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYWluYm94OmZvY3VzLXdpdGhpbiB7CiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCIjMDA2OWYyIiwiIzAwODRmZiIpfTsKICAgICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsKICAgICAgfQoKICAgICAgLnRhZ3MgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAubm90YWdzIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOTk5IiwiIzY2NiIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CgogICAgICBpbnB1dCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y1ZjVmNSIsIiMxODE4MTgiKX07CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgICAgcGFkZGluZzogMHB4IDE2cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBsaW5lLWhlaWdodDogMzJweDsKICAgICAgICBoZWlnaHQ6IDBweDsKICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4yczsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlMGUwZTAiLCIjMzMzIil9OwogICAgICB9CgogICAgICBpbnB1dDpmb2N1cyB7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzFhMWExYSIpfTsKICAgICAgfQogICAgICAKICAgICAgaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5OTkiLCIjNjY2Iil9OwogICAgICB9CgogICAgICAudGFnIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlOGY1ZTkiLCIjMmQzYTJkIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzJlN2QzMiIsIiM4MWM3ODQiKX07CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbjogM3B4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjYzhlNmM5IiwiIzFiNWUyMCIpfTsKICAgICAgfQogICAgICAKICAgICAgLnRhZzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNjOGU2YzkiLCIjM2Q0ZjNkIil9OwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTsKICAgICAgfQoKICAgICAgLnRhZyAucmVtb3ZlIHsKICAgICAgICBtYXJnaW4tbGVmdDogOHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzOwogICAgICB9CgogICAgICAudGFnIC5yZW1vdmU6aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYzYyODI4IiwiI2VmNTM1MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogRGlzYWJsZWQgc3RhdGUgKi8KICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLm1haW5ib3ggewogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbZGlzYWJsZWRdKSAudGFncyB7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnRhZyB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtkaXNhYmxlZF0pIGlucHV0IHsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjBmMGYwIiwiIzFhMWExYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgIDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx9IC5pbmZvVGV4dD0ke3RoaXMuaW5mb1RleHR9PjwvZGVlcy1sYWJlbD4KICAgICAgICA8ZGl2IGNsYXNzPSJtYWluYm94Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InRhZ3MiIEBjbGljaz0keygpPT57dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImlucHV0IikuZm9jdXMoKX19PgogICAgICAgICAgICAke3RoaXMudmFsdWUubGVuZ3RoPT09MD93YDxkaXYgY2xhc3M9Im5vdGFncyI+Tm8gdGFncyB5ZXQ8L2Rpdj5gOnRoaXMudmFsdWUubWFwKG09PndgCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhZyI+CiAgICAgICAgICAgICAgICAgICAgICAke219CiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVtb3ZlIiBAY2xpY2s9JHt2PT57di5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnJlbW92ZVRhZyhtKX19PsOXPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICBwbGFjZWhvbGRlcj0iVHlwZSwgcHJlc3MgRW50ZXIgdG8gYWRkIGl0Li4uIgogICAgICAgICAgICAudmFsdWU9JHt0aGlzLmlucHV0VmFsdWV9CiAgICAgICAgICAgIEBpbnB1dD0ke209Pnt0aGlzLmlucHV0VmFsdWU9bS50YXJnZXQudmFsdWV9fQogICAgICAgICAgICBAa2V5ZG93bj0ke209PnttLmtleT09PSJFbnRlciImJnRoaXMuaW5wdXRWYWx1ZS50cmltKCkmJihtLnByZXZlbnREZWZhdWx0KCksdGhpcy5hZGRUYWcodGhpcy5pbnB1dFZhbHVlLnRyaW0oKSkpfX0KICAgICAgICAgICAgLmRpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgIC8+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgIDwvZGl2PgogICAgYH1hZGRUYWcobSl7dGhpcy52YWx1ZS5pbmNsdWRlcyhtKXx8KHRoaXMudmFsdWU9Wy4uLnRoaXMudmFsdWUsbV0sdGhpcy5pbnB1dFZhbHVlPSIiLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpKX1yZW1vdmVUYWcobSl7dGhpcy52YWx1ZT10aGlzLnZhbHVlLmZpbHRlcih2PT52IT09bSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZShtKXt0aGlzLnZhbHVlPW19Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLElVKHRoaXMscCl9c3RhdGlje0lVKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBpaWEsb2lhLG5pYT1mKCgpPT57bGUoKTtJYSgpO1VzKCk7b2lhPXMoKCk9PncoaWlhfHwoaWlhPXE1KFtgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgIGAsYAogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtaW5wdXQtdGFncwogICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgLnBsYWNlaG9sZGVyPWAsYAogICAgICAgICAgLnZhbHVlPWAsYAogICAgICAgICAgLmRlc2NyaXB0aW9uPWAsYAogICAgICAgID48L2RlZXMtaW5wdXQtdGFncz4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLWlucHV0LXRhZ3MKICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgIC5zdWdnZXN0aW9ucz1gLGAKICAgICAgICAgIC52YWx1ZT1gLGAKICAgICAgICAgIC5kZXNjcmlwdGlvbj1gLGAKICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1sYXlvdXQiPgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgICAgICAubWF4VGFncz1gLGAKICAgICAgICAgICAgICAudmFsdWU9YCxgCiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPWAsYAogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CgogICAgICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgICAgICAubWF4VGFncz1gLGAKICAgICAgICAgICAgICAuc3VnZ2VzdGlvbnM9YCxgCiAgICAgICAgICAgICAgLnZhbHVlPWAsYAogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj1gLGAKICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAubGFiZWw9YCxgCiAgICAgICAgICAucGxhY2Vob2xkZXI9YCxgCiAgICAgICAgICAucmVxdWlyZWQ9YCxgCiAgICAgICAgICAuZGVzY3JpcHRpb249YCxgCiAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9YCwiIC5zdWJ0aXRsZT0iLGA+CiAgICAgICAgPGRlZXMtaW5wdXQtdGFncwogICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgLnZhbHVlPWAsYAogICAgICAgICAgLmRpc2FibGVkPWAsYAogICAgICAgICAgLmRlc2NyaXB0aW9uPWAsYAogICAgICAgID48L2RlZXMtaW5wdXQtdGFncz4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPWAsIiAuc3VidGl0bGU9IixgPgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgICAgLnBsYWNlaG9sZGVyPWAsYAogICAgICAgICAgICAucmVxdWlyZWQ9YCxgCiAgICAgICAgICAgIC5rZXk9YCxgCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQtbGF5b3V0Ij4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGFncwogICAgICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgICAgICAucGxhY2Vob2xkZXI9YCxgCiAgICAgICAgICAgICAgLnJlcXVpcmVkPWAsYAogICAgICAgICAgICAgIC5rZXk9YCxgCiAgICAgICAgICAgICAgLnN1Z2dlc3Rpb25zPWAsYAogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXRhZ3M+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgICAgICAua2V5PWAsYAogICAgICAgICAgICAgIC5tYXhUYWdzPWAsYAogICAgICAgICAgICAgIC5zdWdnZXN0aW9ucz1gLGAKICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPWAsYAogICAgICAgICAgICAuaW5wdXRUeXBlPWAsYAogICAgICAgICAgICAucGxhY2Vob2xkZXI9YCxgCiAgICAgICAgICAgIC5rZXk9YCxgCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IC50ZXh0PWAsYD48L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT1gLCIgLnN1YnRpdGxlPSIsYD4KICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICBpZD0iaW50ZXJhY3RpdmUtdGFncyIKICAgICAgICAgIC5sYWJlbD1gLGAKICAgICAgICAgIC5wbGFjZWhvbGRlcj1gLGAKICAgICAgICAgIC5zdWdnZXN0aW9ucz1gLGAKICAgICAgICAgIEBjaGFuZ2U9YCxgCiAgICAgICAgPjwvZGVlcy1pbnB1dC10YWdzPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9InRhZy1wcmV2aWV3IiBpZD0idGFncy1wcmV2aWV3Ij4KICAgICAgICAgIDxlbSBzdHlsZT0iY29sb3I6ICM5OTk7Ij5ObyB0YWdzIGFkZGVkIHlldC4uLjwvZW0+CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ib3V0cHV0LXByZXZpZXciIGlkPSJ0YWdzLWpzb24iPgogICAgICAgICAgPGVtPkpTT04gb3V0cHV0IHdpbGwgYXBwZWFyIGhlcmUuLi48L2VtPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAvLyBVcGRhdGUgSlNPTiBwcmV2aWV3CiAgICAgICAgICBjb25zdCB0YWdzSW5wdXQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjaW50ZXJhY3RpdmUtdGFncycpOwogICAgICAgICAgdGFnc0lucHV0Py5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoZSkgPT4gewogICAgICAgICAgICBjb25zdCBqc29uUHJldmlldyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN0YWdzLWpzb24nKTsKICAgICAgICAgICAgaWYgKGpzb25QcmV2aWV3KSB7CiAgICAgICAgICAgICAganNvblByZXZpZXcudGV4dENvbnRlbnQgPSBKU09OLnN0cmluZ2lmeShlLmRldGFpbC52YWx1ZSwgbnVsbCwgMik7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOwogICAgICAgIDxcL3NjcmlwdD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgXSkpLFFgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWwgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbDpsYXN0LWNoaWxkIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5ncmlkLWxheW91dCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAgIC5ncmlkLWxheW91dCB7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAub3V0cHV0LXByZXZpZXcgewogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjNmNGY2OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgY29sb3I6ICMzNzQxNTE7CiAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDsKICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAgIC5vdXRwdXQtcHJldmlldyB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyYzJjMmM7CiAgICAgICAgICAgIGNvbG9yOiAjZTRlNGU3OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAudGFnLXByZXZpZXcgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICNmOWZhZmI7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBtaW4taGVpZ2h0OiA0MHB4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgICAgLnRhZy1wcmV2aWV3IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzFmMjkzNzsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLnRhZy1wcmV2aWV3LWl0ZW0gewogICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgICAgcGFkZGluZzogNHB4IDEycHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZTBlN2ZmOwogICAgICAgICAgY29sb3I6ICM0MzM4Y2E7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgICAudGFnLXByZXZpZXctaXRlbSB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzMTJlODE7CiAgICAgICAgICAgIGNvbG9yOiAjYzdkMmZlOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgYCwiMS4gQmFzaWMgVGFncyBJbnB1dCIsIlNpbXBsZSB0YWcgaW5wdXQgd2l0aCBjb21tb24gcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzIiwiUHJvZ3JhbW1pbmcgTGFuZ3VhZ2VzIiwiQWRkIGEgbGFuZ3VhZ2UuLi4iLFsiSmF2YVNjcmlwdCIsIlR5cGVTY3JpcHQiLCJQeXRob24iLCJHbyJdLCJQcmVzcyBFbnRlciBvciBjb21tYSB0byBhZGQgdGFncyIsIjIuIFRhZ3Mgd2l0aCBTdWdnZXN0aW9ucyIsIkF1dG8tY29tcGxldGUgc3VnZ2VzdGlvbnMgZm9yIGZhc3RlciBpbnB1dCIsIlRlY2ggU3RhY2siLCJUeXBlIHRvIHNlZSBzdWdnZXN0aW9ucy4uLiIsWyJSZWFjdCIsIlZ1ZSIsIkFuZ3VsYXIiLCJTdmVsdGUiLCJMaXQiLCJOZXh0LmpzIiwiTnV4dCIsIlN2ZWx0ZUtpdCIsIk5vZGUuanMiLCJEZW5vIiwiQnVuIiwiRXhwcmVzcyIsIkZhc3RpZnkiLCJOZXN0LmpzIiwiS29hIiwiTW9uZ29EQiIsIlBvc3RncmVTUUwiLCJSZWRpcyIsIk15U1FMIiwiU1FMaXRlIiwiQ2Fzc2FuZHJhIiwiRG9ja2VyIiwiS3ViZXJuZXRlcyIsIkFXUyIsIkF6dXJlIiwiR0NQIiwiVmVyY2VsIiwiTmV0bGlmeSJdLFsiUmVhY3QiLCJOb2RlLmpzIiwiUG9zdGdyZVNRTCIsIkRvY2tlciJdLCJTdGFydCB0eXBpbmcgdG8gc2VlIHN1Z2dlc3Rpb25zIGZyb20gcG9wdWxhciB0ZWNobm9sb2dpZXMiLCIzLiBMaW1pdGVkIFRhZ3MiLCJSZXN0cmljdCB0aGUgbnVtYmVyIG9mIHRhZ3MgdXNlcnMgY2FuIGFkZCIsIlRvcCAzIFNraWxscyIsIkFkZCB1cCB0byAzIHNraWxscy4uLiIsMyxbIkRlc2lnbiIsIkRldmVsb3BtZW50Il0sIk1heGltdW0gMyB0YWdzIGFsbG93ZWQiLCJDYXRlZ29yaWVzIChNYXggNSkiLCJTZWxlY3QgY2F0ZWdvcmllcy4uLiIsNSxbIkJsb2ciLCJUdXRvcmlhbCIsIk5ld3MiLCJSZXZpZXciLCJHdWlkZSIsIkNhc2UgU3R1ZHkiLCJJbnRlcnZpZXciXSxbIlR1dG9yaWFsIiwiR3VpZGUiXSwiQ2hvb3NlIHVwIHRvIDUgY2F0ZWdvcmllcyIsIjQuIFJlcXVpcmVkICYgVmFsaWRhdGlvbiIsIlRhZ3MgaW5wdXQgd2l0aCB2YWxpZGF0aW9uIHJlcXVpcmVtZW50cyIsIlByb2plY3QgVGFncyIsIkFkZCBhdCBsZWFzdCBvbmUgdGFnLi4uIiwhMCwiVGhpcyBmaWVsZCBpcyByZXF1aXJlZCAtIGFkZCBhdCBsZWFzdCBvbmUgdGFnIiwiNS4gRGlzYWJsZWQgU3RhdGUiLCJSZWFkLW9ubHkgdGFncyBkaXNwbGF5IiwiU3lzdGVtIFRhZ3MiLFsiU3lzdGVtIiwiUHJvdGVjdGVkIiwiUmVhZC1Pbmx5IiwiQXJjaGl2ZSJdLCEwLCJUaGVzZSB0YWdzIGNhbm5vdCBiZSBtb2RpZmllZCIsIjYuIEZvcm0gSW50ZWdyYXRpb24iLCJUYWdzIGlucHV0IHdvcmtpbmcgd2l0aGluIGEgZm9ybSBjb250ZXh0IiwiUHJvamVjdCBOYW1lIiwiTXkgQXdlc29tZSBQcm9qZWN0IiwhMCwibmFtZSIsIlRlY2hub2xvZ2llcyBVc2VkIiwiQWRkIHRlY2hub2xvZ2llcy4uLiIsITAsInRlY2hub2xvZ2llcyIsWyJUeXBlU2NyaXB0IiwiSmF2YVNjcmlwdCIsIlB5dGhvbiIsIkdvIiwiUnVzdCIsIlJlYWN0IiwiVnVlIiwiQW5ndWxhciIsIlN2ZWx0ZSIsIk5vZGUuanMiLCJEZW5vIiwiRXhwcmVzcyIsIkZhc3RBUEkiXSwiUHJvamVjdCBUYWdzIiwiQWRkIGRlc2NyaXB0aXZlIHRhZ3MuLi4iLCJ0YWdzIiwxMCxbImZyb250ZW5kIiwiYmFja2VuZCIsImZ1bGxzdGFjayIsIm1vYmlsZSIsImRlc2t0b3AiLCJ3ZWIiLCJhcGkiLCJkYXRhYmFzZSIsImRldm9wcyIsInVpL3V4Iiwib3BlbnNvdXJjZSIsInNhYXMiLCJlbnRlcnByaXNlIiwic3RhcnR1cCJdLCJEZXNjcmlwdGlvbiIsInRleHRhcmVhIiwiRGVzY3JpYmUgeW91ciBwcm9qZWN0Li4uIiwiZGVzY3JpcHRpb24iLCJDcmVhdGUgUHJvamVjdCIsIjcuIEludGVyYWN0aXZlIERlbW8iLCJBZGQgdGFncyBhbmQgc2VlIHRoZW0gY29sbGVjdGVkIGluIHJlYWwtdGltZSIsIllvdXIgSW50ZXJlc3RzIiwiVHlwZSB5b3VyIGludGVyZXN0cy4uLiIsWyJNdXNpYyIsIk1vdmllcyIsIkJvb2tzIiwiVHJhdmVsIiwiUGhvdG9ncmFwaHkiLCJDb29raW5nIiwiR2FtaW5nIiwiU3BvcnRzIiwiQXJ0IiwiVGVjaG5vbG9neSIsIkZhc2hpb24iLCJGaXRuZXNzIiwiTmF0dXJlIiwiU2NpZW5jZSIsIkhpc3RvcnkiXSxhPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI3RhZ3MtcHJldmlldyIpLHQ9YS5kZXRhaWwudmFsdWU7ZSYmKHQubGVuZ3RoPT09MD9lLmlubmVySFRNTD0nPGVtIHN0eWxlPSJjb2xvcjogIzk5OTsiPk5vIHRhZ3MgYWRkZWQgeWV0Li4uPC9lbT4nOmUuaW5uZXJIVE1MPXQubWFwKHI9PmA8c3BhbiBjbGFzcz0idGFnLXByZXZpZXctaXRlbSI+JHtyfTwvc3Bhbj5gKS5qb2luKCIiKSl9KSwiZGVtb0Z1bmMiKX0pO3ZhciBtYyxlaSxNYWUsSlllPWYoKCk9PntsZSgpO1NyKCk7dmEoKTtuaWEoKTtRZSgpO21jPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxlaT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sTWFlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC10YWdzIildLGUsdD1bXSxyLGk9d3QsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W10sQixNPVtdLFM9W107dmFyIFA9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNJbnB1dFRhZ3MiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgQT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6TnVtYmVyfSldLHg9WyQoe3R5cGU6QXJyYXl9KV0seT1bSygpXSxOPVtLKCldLE89W0soKV0sQj1bJCh7dHlwZTpTdHJpbmd9KV0sbWModGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4idmFsdWUiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri52YWx1ZSwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnZhbHVlPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sbixsKSxtYyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJwbGFjZWhvbGRlciJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnBsYWNlaG9sZGVyLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YucGxhY2Vob2xkZXI9V30sInNldCIpfSxtZXRhZGF0YTpBfSxjLHApLG1jKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4VGFncyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4ibWF4VGFncyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLm1heFRhZ3MsImdldCIpLHNldDpzKChGLFcpPT57Ri5tYXhUYWdzPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sbSx2KSxtYyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN1Z2dlc3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJzdWdnZXN0aW9ucyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnN1Z2dlc3Rpb25zLCJnZXQiKSxzZXQ6cygoRixXKT0+e0Yuc3VnZ2VzdGlvbnM9V30sInNldCIpfSxtZXRhZGF0YTpBfSxiLGcpLG1jKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5wdXRWYWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4iaW5wdXRWYWx1ZSJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLmlucHV0VmFsdWUsImdldCIpLHNldDpzKChGLFcpPT57Ri5pbnB1dFZhbHVlPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sayxDKSxtYyh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dTdWdnZXN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4ic2hvd1N1Z2dlc3Rpb25zImluIEYsImhhcyIpLGdldDpzKEY9PkYuc2hvd1N1Z2dlc3Rpb25zLCJnZXQiKSxzZXQ6cygoRixXKT0+e0Yuc2hvd1N1Z2dlc3Rpb25zPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sXyx6KSxtYyh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJoaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleCJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4LCJnZXQiKSxzZXQ6cygoRixXKT0+e0YuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXg9V30sInNldCIpfSxtZXRhZGF0YTpBfSxULEUpLG1jKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsaWRhdGlvblRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+InZhbGlkYXRpb25UZXh0ImluIEYsImhhcyIpLGdldDpzKEY9PkYudmFsaWRhdGlvblRleHQsImdldCIpLHNldDpzKChGLFcpPT57Ri52YWxpZGF0aW9uVGV4dD1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LE0sUyksbWMobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6QX0sbnVsbCx0KSxQPXI9ZS52YWx1ZSxBJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkF9KX1zdGF0aWMgZGVtbz1vaWE7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPWVpKHRoaXMsbixbXSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKEEpe3RoaXMuI2U9QX0jdD0oZWkodGhpcyxsKSxlaSh0aGlzLGMsIkFkZCB0YWdzLi4uIikpO2dldCBwbGFjZWhvbGRlcigpe3JldHVybiB0aGlzLiN0fXNldCBwbGFjZWhvbGRlcihBKXt0aGlzLiN0PUF9I2E9KGVpKHRoaXMscCksZWkodGhpcyxtLDApKTtnZXQgbWF4VGFncygpe3JldHVybiB0aGlzLiNhfXNldCBtYXhUYWdzKEEpe3RoaXMuI2E9QX0jcj0oZWkodGhpcyx2KSxlaSh0aGlzLGIsW10pKTtnZXQgc3VnZ2VzdGlvbnMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc3VnZ2VzdGlvbnMoQSl7dGhpcy4jcj1BfSNzPShlaSh0aGlzLGcpLGVpKHRoaXMsaywiIikpO2dldCBpbnB1dFZhbHVlKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGlucHV0VmFsdWUoQSl7dGhpcy4jcz1BfSNpPShlaSh0aGlzLEMpLGVpKHRoaXMsXywhMSkpO2dldCBzaG93U3VnZ2VzdGlvbnMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgc2hvd1N1Z2dlc3Rpb25zKEEpe3RoaXMuI2k9QX0jbz0oZWkodGhpcyx6KSxlaSh0aGlzLFQsLTEpKTtnZXQgaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXgoKXtyZXR1cm4gdGhpcy4jb31zZXQgaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXgoQSl7dGhpcy4jbz1BfSNuPShlaSh0aGlzLEUpLGVpKHRoaXMsTSwiIikpO2dldCB2YWxpZGF0aW9uVGV4dCgpe3JldHVybiB0aGlzLiNufXNldCB2YWxpZGF0aW9uVGV4dChBKXt0aGlzLiNuPUF9c3RhdGljIHN0eWxlcz1bRWUsLi4ud3QuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdSb2JvdG8nLCBzYW5zLXNlcmlmOwogICAgICB9CgogICAgICAuaW5wdXQtd3JhcHBlciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC50YWdzLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgICBtaW4taGVpZ2h0OiA0MHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGN1cnNvcjogdGV4dDsKICAgICAgfQoKICAgICAgLnRhZ3MtY29udGFpbmVyOmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA3OS44JSkiLCJoc2woMCAwJSAyMC45JSkiKX07CiAgICAgIH0KCiAgICAgIC50YWdzLWNvbnRhaW5lcjpmb2N1cy13aXRoaW4gewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4xKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC50YWdzLWNvbnRhaW5lci5kaXNhYmxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC50YWcgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNSAyMC4yJSA2NS4xJSAvIDAuMikiLCJoc2woMjE1IDIwLjIlIDM1LjElIC8gMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgMjYuNyUpIiwiaHNsKDIxNy45IDEwLjYlIDc0LjklKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNSAyMC4yJSA2NS4xJSAvIDAuMykiLCJoc2woMjE1IDIwLjIlIDM1LjElIC8gMC4zKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgYW5pbWF0aW9uOiB0YWdBcHBlYXIgMC4xNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyB0YWdBcHBlYXIgewogICAgICAgIGZyb20gewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnRhZy1yZW1vdmUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA0Ni43JSkiLCJoc2woMjE3LjkgMTAuNiUgNTQuOSUpIil9OwogICAgICB9CgogICAgICAudGFnLXJlbW92ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wOCkiLCJoc2woMCAwJSAxMDAlIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDI2LjclKSIsImhzbCgyMTcuOSAxMC42JSA3NC45JSkiKX07CiAgICAgIH0KCiAgICAgIC50YWctcmVtb3ZlIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgICAgaGVpZ2h0OiAxMHB4OwogICAgICB9CgogICAgICAudGFnLWlucHV0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMTIwcHg7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICBwYWRkaW5nOiAycHggNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OwogICAgICB9CgogICAgICAudGFnLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA2My45JSkiLCJoc2woMCAwJSA0NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC50YWctaW5wdXQ6ZGlzYWJsZWQgewogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC8qIFN1Z2dlc3Rpb25zIGRyb3Bkb3duICovCiAgICAgIC5zdWdnZXN0aW9ucy1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLnN1Z2dlc3Rpb25zLWRyb3Bkb3duIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAxMDAlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OS44JSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IGhzbCgwIDAlIDAlIC8gMC4xKSwgMCAycHggNHB4IC0ycHggaHNsKDAgMCUgMCUgLyAwLjEpOwogICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgei1pbmRleDogMTAwMDsKICAgICAgfQoKICAgICAgLnN1Z2dlc3Rpb24gewogICAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgfQoKICAgICAgLnN1Z2dlc3Rpb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgIH0KCiAgICAgIC5zdWdnZXN0aW9uLmhpZ2hsaWdodGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CgogICAgICAvKiBWYWxpZGF0aW9uIHN0eWxlcyAqLwogICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlKSIsImhzbCgwIDYyLjglIDMwLjYlKSIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWFyZ2luLXRvcDogNnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgIH0KCiAgICAgIC8qIFNjcm9sbGJhciBzdHlsaW5nICovCiAgICAgIC5zdWdnZXN0aW9ucy1kcm9wZG93bjo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgIH0KCiAgICAgIC5zdWdnZXN0aW9ucy1kcm9wZG93bjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAuc3VnZ2VzdGlvbnMtZHJvcGRvd246Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQoKICAgICAgLnN1Z2dlc3Rpb25zLWRyb3Bkb3duOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDc5LjglKSIsImhzbCgwIDAlIDIwLjklKSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IEE9dGhpcy5zdWdnZXN0aW9ucy5maWx0ZXIoRj0+IXRoaXMudmFsdWUuaW5jbHVkZXMoRikmJkYudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLmlucHV0VmFsdWUudG9Mb3dlckNhc2UoKSkpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJpbnB1dC13cmFwcGVyIj4KICAgICAgICAke3RoaXMubGFiZWw/d2A8ZGVlcy1sYWJlbCAubGFiZWw9JHt0aGlzLmxhYmVsfSAucmVxdWlyZWQ9JHt0aGlzLnJlcXVpcmVkfT48L2RlZXMtbGFiZWw+YDoiIn0KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJzdWdnZXN0aW9ucy1jb250YWluZXIiPgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0idGFncy1jb250YWluZXIgJHt0aGlzLmRpc2FibGVkPyJkaXNhYmxlZCI6IiJ9IgogICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZUNvbnRhaW5lckNsaWNrfQogICAgICAgICAgPgogICAgICAgICAgICAke3RoaXMudmFsdWUubWFwKEY9PndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFnIj4KICAgICAgICAgICAgICAgIDxzcGFuPiR7Rn08L3NwYW4+CiAgICAgICAgICAgICAgICAke3RoaXMuZGlzYWJsZWQ/IiI6d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFnLXJlbW92ZSIgQGNsaWNrPSR7Vz0+dGhpcy5yZW1vdmVUYWcoVyxGKX0+CiAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6eCJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfQogICAgICAgICAgICAKICAgICAgICAgICAgJHshdGhpcy5kaXNhYmxlZCYmKCF0aGlzLm1heFRhZ3N8fHRoaXMudmFsdWUubGVuZ3RoPHRoaXMubWF4VGFncyk/d2AKICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICBjbGFzcz0idGFnLWlucHV0IgogICAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7dGhpcy5wbGFjZWhvbGRlcn0KICAgICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuaW5wdXRWYWx1ZX0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlSW5wdXR9CiAgICAgICAgICAgICAgICBAa2V5ZG93bj0ke3RoaXMuaGFuZGxlS2V5RG93bn0KICAgICAgICAgICAgICAgIEBmb2N1cz0ke3RoaXMuaGFuZGxlRm9jdXN9CiAgICAgICAgICAgICAgICBAYmx1cj0ke3RoaXMuaGFuZGxlQmx1cn0KICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuZGlzYWJsZWR9CiAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICR7dGhpcy5zaG93U3VnZ2VzdGlvbnMmJkEubGVuZ3RoPjA/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VnZ2VzdGlvbnMtZHJvcGRvd24iPgogICAgICAgICAgICAgICR7QS5tYXAoKEYsVyk9PndgCiAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJzdWdnZXN0aW9uICR7Vz09PXRoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXg/ImhpZ2hsaWdodGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgIEBtb3VzZWRvd249JHtqPT57ai5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuYWRkVGFnKEYpfX0KICAgICAgICAgICAgICAgICAgQG1vdXNlZW50ZXI9JHsoKT0+dGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleD1XfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAke0Z9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgoKICAgICAgICAke3RoaXMudmFsaWRhdGlvblRleHQ/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InZhbGlkYXRpb24tbWVzc2FnZSI+JHt0aGlzLnZhbGlkYXRpb25UZXh0fTwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgICAgCiAgICAgICAgJHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVDb250YWluZXJDbGljayhBKXtpZih0aGlzLmRpc2FibGVkKXJldHVybjtsZXQgRj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWctaW5wdXQiKTtGJiZBLnRhcmdldCE9PUYmJkYuZm9jdXMoKX1oYW5kbGVJbnB1dChBKXtsZXQgRj1BLnRhcmdldDtpZih0aGlzLmlucHV0VmFsdWU9Ri52YWx1ZSx0aGlzLmlucHV0VmFsdWUuaW5jbHVkZXMoIiwiKXx8dGhpcy5pbnB1dFZhbHVlLmluY2x1ZGVzKCI7Iikpe2xldCBXPXRoaXMuaW5wdXRWYWx1ZS5yZXBsYWNlKC9bLDtdL2csIiIpLnRyaW0oKTtXJiZ0aGlzLmFkZFRhZyhXKX19aGFuZGxlS2V5RG93bihBKXtsZXQgRj1BLnRhcmdldDtpZihBLmtleT09PSJFbnRlciIpaWYoQS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXg+PTAmJnRoaXMuc2hvd1N1Z2dlc3Rpb25zKXtsZXQgVz10aGlzLnN1Z2dlc3Rpb25zLmZpbHRlcihqPT4hdGhpcy52YWx1ZS5pbmNsdWRlcyhqKSYmai50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuaW5wdXRWYWx1ZS50b0xvd2VyQ2FzZSgpKSk7V1t0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4XSYmdGhpcy5hZGRUYWcoV1t0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4XSl9ZWxzZSB0aGlzLmlucHV0VmFsdWUudHJpbSgpJiZ0aGlzLmFkZFRhZyh0aGlzLmlucHV0VmFsdWUudHJpbSgpKTtlbHNlIGlmKEEua2V5PT09IkJhY2tzcGFjZSImJiF0aGlzLmlucHV0VmFsdWUmJnRoaXMudmFsdWUubGVuZ3RoPjApdGhpcy5yZW1vdmVUYWcoQSx0aGlzLnZhbHVlW3RoaXMudmFsdWUubGVuZ3RoLTFdKTtlbHNlIGlmKEEua2V5PT09IkFycm93RG93biImJnRoaXMuc2hvd1N1Z2dlc3Rpb25zKXtBLnByZXZlbnREZWZhdWx0KCk7bGV0IFc9dGhpcy5zdWdnZXN0aW9ucy5maWx0ZXIoaj0+IXRoaXMudmFsdWUuaW5jbHVkZXMoaikmJmoudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0aGlzLmlucHV0VmFsdWUudG9Mb3dlckNhc2UoKSkpLmxlbmd0aDt0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4PU1hdGgubWluKHRoaXMuaGlnaGxpZ2h0ZWRTdWdnZXN0aW9uSW5kZXgrMSxXLTEpfWVsc2UgQS5rZXk9PT0iQXJyb3dVcCImJnRoaXMuc2hvd1N1Z2dlc3Rpb25zPyhBLnByZXZlbnREZWZhdWx0KCksdGhpcy5oaWdobGlnaHRlZFN1Z2dlc3Rpb25JbmRleD1NYXRoLm1heCh0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4LTEsMCkpOkEua2V5PT09IkVzY2FwZSImJih0aGlzLnNob3dTdWdnZXN0aW9ucz0hMSx0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4PS0xKX1oYW5kbGVGb2N1cygpe3RoaXMuc3VnZ2VzdGlvbnMubGVuZ3RoPjAmJih0aGlzLnNob3dTdWdnZXN0aW9ucz0hMCl9aGFuZGxlQmx1cigpe3NldFRpbWVvdXQoKCk9Pnt0aGlzLnNob3dTdWdnZXN0aW9ucz0hMSx0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4PS0xfSwyMDApfWFkZFRhZyhBKXtpZighQXx8dGhpcy52YWx1ZS5pbmNsdWRlcyhBKXx8dGhpcy5tYXhUYWdzJiZ0aGlzLnZhbHVlLmxlbmd0aD49dGhpcy5tYXhUYWdzKXJldHVybjt0aGlzLnZhbHVlPVsuLi50aGlzLnZhbHVlLEFdLHRoaXMuaW5wdXRWYWx1ZT0iIix0aGlzLnNob3dTdWdnZXN0aW9ucz0hMSx0aGlzLmhpZ2hsaWdodGVkU3VnZ2VzdGlvbkluZGV4PS0xO2xldCBGPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnRhZy1pbnB1dCIpO0YmJihGLnZhbHVlPSIiKSx0aGlzLmVtaXRDaGFuZ2UoKX1yZW1vdmVUYWcoQSxGKXtBLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMudmFsdWU9dGhpcy52YWx1ZS5maWx0ZXIoVz0+VyE9PUYpLHRoaXMuZW1pdENoYW5nZSgpfWVtaXRDaGFuZ2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjaGFuZ2UiLHtkZXRhaWw6e3ZhbHVlOnRoaXMudmFsdWV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZShBKXt0aGlzLnZhbHVlPUF8fFtdfWFzeW5jIHZhbGlkYXRlKCl7cmV0dXJuIHRoaXMucmVxdWlyZWQmJighdGhpcy52YWx1ZXx8dGhpcy52YWx1ZS5sZW5ndGg9PT0wKT8odGhpcy52YWxpZGF0aW9uVGV4dD0iQXQgbGVhc3Qgb25lIHRhZyBpcyByZXF1aXJlZCIsITEpOih0aGlzLnZhbGlkYXRpb25UZXh0PSIiLCEwKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksZWkodGhpcyxTKX1zdGF0aWN7ZWkocix0KX19O3JldHVybiBQPXJ9KSgpfSk7dmFyIGxpYSxjaWE9ZigoKT0+e2xlKCk7SWEoKTtVcygpO2NtKCk7ZDQoKTtBZigpO2xpYT1zKCgpPT53YAogIDxkZWVzLWRlbW93cmFwcGVyPgogICAgPHN0eWxlPgogICAgICAke1FgCiAgICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIGRlZXMtcGFuZWwgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbDpsYXN0LWNoaWxkIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5ncmlkLWxheW91dCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAgIC5ncmlkLWxheW91dCB7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAub3V0cHV0LXByZXZpZXcgewogICAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjNmNGY2OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgY29sb3I6ICMzNzQxNTE7CiAgICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgICAgICBtYXgtaGVpZ2h0OiAyMDBweDsKICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAgIC5vdXRwdXQtcHJldmlldyB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyYzJjMmM7CiAgICAgICAgICAgIGNvbG9yOiAjZTRlNGU3OwogICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZmVhdHVyZS1ub3RlIHsKICAgICAgICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgICAgYmFja2dyb3VuZDogI2VmZjZmZjsKICAgICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzNiODJmNjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGNvbG9yOiAjMWU0MGFmOwogICAgICAgIH0KICAgICAgICAKICAgICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgICAuZmVhdHVyZS1ub3RlIHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzFlM2E1ZjsKICAgICAgICAgICAgY29sb3I6ICM5M2M1ZmQ7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMS4gQmFzaWMgTGlzdCBJbnB1dCJ9IC5zdWJ0aXRsZT0keyJTaW1wbGUgbGlzdCBtYW5hZ2VtZW50IHdpdGggYWRkLCBlZGl0LCBhbmQgZGVsZXRlIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgLmxhYmVsPSR7IlNob3BwaW5nIExpc3QifQogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCBpdGVtIHRvIHlvdXIgbGlzdC4uLiJ9CiAgICAgICAgICAudmFsdWU9JHtbIk1pbGsiLCJCcmVhZCIsIkVnZ3MiLCJDaGVlc2UiXX0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJEb3VibGUtY2xpY2sgdG8gZWRpdCBpdGVtcywgb3IgdXNlIHRoZSBlZGl0IGJ1dHRvbiJ9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtbm90ZSI+CiAgICAgICAgICDwn5KhIERvdWJsZS1jbGljayBhbnkgaXRlbSB0byBxdWlja2x5IGVkaXQgaXQgaW5saW5lCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIyLiBTb3J0YWJsZSBMaXN0In0gLnN1YnRpdGxlPSR7IkRyYWcgYW5kIGRyb3AgdG8gcmVvcmRlciBpdGVtcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIC5sYWJlbD0keyJUYXNrIFByaW9yaXR5In0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBZGQgYSB0YXNrLi4uIn0KICAgICAgICAgIC5zb3J0YWJsZT0keyEwfQogICAgICAgICAgLnZhbHVlPSR7WyJSZXZpZXcgcHVsbCByZXF1ZXN0cyIsIkZpeCBjcml0aWNhbCBidWciLCJVcGRhdGUgZG9jdW1lbnRhdGlvbiIsIkRlcGxveSB0byBwcm9kdWN0aW9uIiwiVGVhbSBzdGFuZHVwIG1lZXRpbmciXX0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJEcmFnIGl0ZW1zIHVzaW5nIHRoZSBoYW5kbGUgdG8gcmVvcmRlciB0aGVtIn0KICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ub3RlIj4KICAgICAgICAgIPCflIQgRHJhZyB0aGUgZ3JpcCBoYW5kbGUgdG8gcmVvcmRlciB0YXNrcyBieSBwcmlvcml0eQogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMy4gVmFsaWRhdGlvbiAmIENvbnN0cmFpbnRzIn0gLnN1YnRpdGxlPSR7Ikxpc3RzIHdpdGggbWluaW11bS9tYXhpbXVtIGl0ZW1zIGFuZCBkdXBsaWNhdGUgcHJldmVudGlvbiJ9PgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWxheW91dCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgICAgICAubGFiZWw9JHsiVGVhbSBNZW1iZXJzIChNaW4gMiwgTWF4IDUpIn0KICAgICAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiQWRkIHRlYW0gbWVtYmVyLi4uIn0KICAgICAgICAgICAgICAubWluSXRlbXM9JHsyfQogICAgICAgICAgICAgIC5tYXhJdGVtcz0kezV9CiAgICAgICAgICAgICAgLnZhbHVlPSR7WyJBbGljZSIsIkJvYiJdfQogICAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJBZGQgMi01IHRlYW0gbWVtYmVycyJ9CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KCiAgICAgICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgICAgICAubGFiZWw9JHsiVW5pcXVlIFRhZ3MgKE5vIER1cGxpY2F0ZXMpIn0KICAgICAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiQWRkIHVuaXF1ZSB0YWcuLi4ifQogICAgICAgICAgICAgIC5hbGxvd0R1cGxpY2F0ZXM9JHshMX0KICAgICAgICAgICAgICAudmFsdWU9JHtbImZyb250ZW5kIiwiYmFja2VuZCIsImRhdGFiYXNlIl19CiAgICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IkR1cGxpY2F0ZSBpdGVtcyBhcmUgbm90IGFsbG93ZWQifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjQuIERlbGV0ZSBDb25maXJtYXRpb24ifSAuc3VidGl0bGU9JHsiUmVxdWlyZSBjb25maXJtYXRpb24gYmVmb3JlIGRlbGV0aW5nIGl0ZW1zIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgLmxhYmVsPSR7IkltcG9ydGFudCBEb2N1bWVudHMifQogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCBkb2N1bWVudCBuYW1lLi4uIn0KICAgICAgICAgIC5jb25maXJtRGVsZXRlPSR7ITB9CiAgICAgICAgICAudmFsdWU9JHtbIkNvbnRyYWN0XzIwMjQucGRmIiwiRmluYW5jaWFsX1JlcG9ydF9RMy54bHN4IiwiUHJvamVjdF9Qcm9wb3NhbC5kb2N4IiwiTWVldGluZ19Ob3Rlcy50eHQiXX0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJEZWxldGlvbiByZXF1aXJlcyBjb25maXJtYXRpb24gZm9yIHNhZmV0eSJ9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNS4gRGlzYWJsZWQgU3RhdGUifSAuc3VidGl0bGU9JHsiUmVhZC1vbmx5IGxpc3QgZGlzcGxheSJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIC5sYWJlbD0keyJTeXN0ZW0gRGVmYXVsdHMifQogICAgICAgICAgLnZhbHVlPSR7WyJEZWZhdWx0IFNldHRpbmcgMSIsIkRlZmF1bHQgU2V0dGluZyAyIiwiRGVmYXVsdCBTZXR0aW5nIDMiXX0KICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlRoZXNlIGl0ZW1zIGNhbm5vdCBiZSBtb2RpZmllZCJ9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNi4gRm9ybSBJbnRlZ3JhdGlvbiJ9IC5zdWJ0aXRsZT0keyJMaXN0IGlucHV0IHdvcmtpbmcgd2l0aGluIGEgZm9ybSBjb250ZXh0In0+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7IlJlY2lwZSBOYW1lIn0KICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7Ik15IEFtYXppbmcgUmVjaXBlIn0KICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICAgIC5rZXk9JHsibmFtZSJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkaXYgY2xhc3M9ImdyaWQtbGF5b3V0Ij4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgICAgIC5sYWJlbD0keyJJbmdyZWRpZW50cyJ9CiAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCBpbmdyZWRpZW50Li4uIn0KICAgICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgICAubWluSXRlbXM9JHszfQogICAgICAgICAgICAgIC5rZXk9JHsiaW5ncmVkaWVudHMifQogICAgICAgICAgICAgIC5zb3J0YWJsZT0keyEwfQogICAgICAgICAgICAgIC52YWx1ZT0ke1siMiBjdXBzIGZsb3VyIiwiMSBjdXAgc3VnYXIiLCIzIGVnZ3MiXX0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWRkIGF0IGxlYXN0IDMgaW5ncmVkaWVudHMifQogICAgICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CiAgICAgICAgICAgIAogICAgICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAgICAgLmxhYmVsPSR7Ikluc3RydWN0aW9ucyJ9CiAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCBpbnN0cnVjdGlvbiBzdGVwLi4uIn0KICAgICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAgICAubWluSXRlbXM9JHsyfQogICAgICAgICAgICAgIC5rZXk9JHsiaW5zdHJ1Y3Rpb25zIn0KICAgICAgICAgICAgICAuc29ydGFibGU9JHshMH0KICAgICAgICAgICAgICAudmFsdWU9JHtbIlByZWhlYXQgb3ZlbiB0byAzNTBceEIwRiIsIk1peCBkcnkgaW5ncmVkaWVudHMiXX0KICAgICAgICAgICAgICAuZGVzY3JpcHRpb249JHsiQWRkIGNvb2tpbmcgaW5zdHJ1Y3Rpb25zIGluIG9yZGVyIn0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQKICAgICAgICAgICAgLmxhYmVsPSR7Ik5vdGVzIn0KICAgICAgICAgICAgLmlucHV0VHlwZT0keyJ0ZXh0YXJlYSJ9CiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBbnkgc3BlY2lhbCBub3RlcyBvciB0aXBzLi4uIn0KICAgICAgICAgICAgLmtleT0keyJub3RlcyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0IC50ZXh0PSR7IlNhdmUgUmVjaXBlIn0+PC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNy4gSW50ZXJhY3RpdmUgRGVtbyJ9IC5zdWJ0aXRsZT0keyJCdWlsZCB5b3VyIG93biBmZWF0dXJlIGxpc3QgYW5kIHNlZSB0aGUgZGF0YSJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIGlkPSJpbnRlcmFjdGl2ZS1saXN0IgogICAgICAgICAgLmxhYmVsPSR7IlByb2R1Y3QgRmVhdHVyZXMifQogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IkFkZCBhIGZlYXR1cmUuLi4ifQogICAgICAgICAgLnNvcnRhYmxlPSR7ITB9CiAgICAgICAgICAuY29uZmlybURlbGV0ZT0keyExfQogICAgICAgICAgLmFsbG93RHVwbGljYXRlcz0keyExfQogICAgICAgICAgLm1heEl0ZW1zPSR7MTB9CiAgICAgICAgICBAY2hhbmdlPSR7YT0+e2xldCBlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNsaXN0LWpzb24iKTtpZihlKXtsZXQgdD17aXRlbXM6YS5kZXRhaWwudmFsdWUsY291bnQ6YS5kZXRhaWwudmFsdWUubGVuZ3RoLHRpbWVzdGFtcDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9O2UudGV4dENvbnRlbnQ9SlNPTi5zdHJpbmdpZnkodCxudWxsLDIpfX19CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im91dHB1dC1wcmV2aWV3IiBpZD0ibGlzdC1qc29uIj4KICAgICAgICAgIHsKICAgICAgICAgICAgIml0ZW1zIjogW10sCiAgICAgICAgICAgICJjb3VudCI6IDAsCiAgICAgICAgICAgICJ0aW1lc3RhbXAiOiAiJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9IgogICAgICAgICAgfQogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtbm90ZSI+CiAgICAgICAgICDinKggQWRkLCBlZGl0LCByZW1vdmUsIGFuZCByZW9yZGVyIGl0ZW1zIHRvIHNlZSB0aGUgSlNPTiBvdXRwdXQgdXBkYXRlIGluIHJlYWwtdGltZQogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiOC4gQWR2YW5jZWQgQ29uZmlndXJhdGlvbiJ9IC5zdWJ0aXRsZT0keyJDb21iaW5lIGFsbCBmZWF0dXJlcyBmb3IgY29tcGxleCB1c2UgY2FzZXMifT4KICAgICAgICA8ZGVlcy1pbnB1dC1saXN0CiAgICAgICAgICAubGFiZWw9JHsiUHJvamVjdCBNaWxlc3RvbmVzIn0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJBZGQgbWlsZXN0b25lLi4uIn0KICAgICAgICAgIC52YWx1ZT0ke1siUHJvamVjdCBLaWNrb2ZmIC0gV2VlayAxIiwiUmVxdWlyZW1lbnRzIEdhdGhlcmluZyAtIFdlZWsgMi0zIiwiRGVzaWduIFBoYXNlIC0gV2VlayA0LTYiLCJEZXZlbG9wbWVudCBTcHJpbnQgMSAtIFdlZWsgNy05IiwiVGVzdGluZyAmIFFBIC0gV2VlayAxMC0xMSIsIkRlcGxveW1lbnQgLSBXZWVrIDEyIl19CiAgICAgICAgICAuc29ydGFibGU9JHshMH0KICAgICAgICAgIC5jb25maXJtRGVsZXRlPSR7ITB9CiAgICAgICAgICAuYWxsb3dEdXBsaWNhdGVzPSR7ITF9CiAgICAgICAgICAubWluSXRlbXM9JHszfQogICAgICAgICAgLm1heEl0ZW1zPSR7MTJ9CiAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJNYW5hZ2UgcHJvamVjdCBtaWxlc3RvbmVzICgzLTEyIGl0ZW1zLCBzb3J0YWJsZSwgbm8gZHVwbGljYXRlcykifQogICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjkuIENhbmRpZGF0ZXMgd2l0aCBUYWIgQ29tcGxldGlvbiJ9IC5zdWJ0aXRsZT0keyJUZXJtaW5hbC1zdHlsZSBhdXRvY29tcGxldGUgXHUyMDE0IFRhYiBhY2NlcHRzLCBTaGlmdCtUYWIgY3ljbGVzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1sYXlvdXQiPgogICAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgICBpZD0iY2FuZGlkYXRlLWxpc3QiCiAgICAgICAgICAgIC5sYWJlbD0keyJBc3NpZ24gVGVhbSBNZW1iZXJzIn0KICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IlR5cGUgYSBuYW1lLi4uIChUYWIgdG8gY29tcGxldGUpIn0KICAgICAgICAgICAgLmNhbmRpZGF0ZXM9JHtbe3ZpZXdLZXk6IkFsaWNlIFNtaXRoIixwYXlsb2FkOntpZDoxLHJvbGU6IkVuZ2luZWVyIixkZXBhcnRtZW50OiJGcm9udGVuZCJ9fSx7dmlld0tleToiQm9iIEpvaG5zb24iLHBheWxvYWQ6e2lkOjIscm9sZToiRGVzaWduZXIiLGRlcGFydG1lbnQ6IlVYIn19LHt2aWV3S2V5OiJDYXJvbCBXaWxsaWFtcyIscGF5bG9hZDp7aWQ6Myxyb2xlOiJQcm9kdWN0IE1hbmFnZXIiLGRlcGFydG1lbnQ6IlByb2R1Y3QifX0se3ZpZXdLZXk6IkRhdmlkIEJyb3duIixwYXlsb2FkOntpZDo0LHJvbGU6IkVuZ2luZWVyIixkZXBhcnRtZW50OiJCYWNrZW5kIn19LHt2aWV3S2V5OiJFdmUgRGF2aXMiLHBheWxvYWQ6e2lkOjUscm9sZToiUUEgRW5naW5lZXIiLGRlcGFydG1lbnQ6IlF1YWxpdHkifX0se3ZpZXdLZXk6IkZyYW5rIE1pbGxlciIscGF5bG9hZDp7aWQ6Nixyb2xlOiJEZXZPcHMiLGRlcGFydG1lbnQ6IkluZnJhc3RydWN0dXJlIn19LHt2aWV3S2V5OiJHcmFjZSBXaWxzb24iLHBheWxvYWQ6e2lkOjcscm9sZToiRGVzaWduZXIiLGRlcGFydG1lbnQ6IlVYIn19LHt2aWV3S2V5OiJIZW5yeSBNb29yZSIscGF5bG9hZDp7aWQ6OCxyb2xlOiJFbmdpbmVlciIsZGVwYXJ0bWVudDoiRnJvbnRlbmQifX1dfQogICAgICAgICAgICAudmFsdWU9JHtbIkFsaWNlIFNtaXRoIiwiQ2Fyb2wgV2lsbGlhbXMiXX0KICAgICAgICAgICAgLm1heEl0ZW1zPSR7NX0KICAgICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlR5cGUgdG8gc2VlIGdob3N0IGNvbXBsZXRpb24uIFRhYiB0byBhY2NlcHQsIFNoaWZ0K1RhYiB0byBjeWNsZSwgRW50ZXIgdG8gYWRkLiJ9CiAgICAgICAgICAgIEBjaGFuZ2U9JHthPT57bGV0IGU9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiI2NhbmRpZGF0ZS1qc29uIik7aWYoZSl7bGV0IHI9YS50YXJnZXQuZ2V0QWRkZWRDYW5kaWRhdGVzKCk7ZS50ZXh0Q29udGVudD1KU09OLnN0cmluZ2lmeShyLG51bGwsMil9fX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KCiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA1MDA7IG1hcmdpbi1ib3R0b206IDhweDsgY29sb3I6IGluaGVyaXQ7Ij5TZWxlY3RlZCBDYW5kaWRhdGVzICh3aXRoIHBheWxvYWRzKTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdXRwdXQtcHJldmlldyIgaWQ9ImNhbmRpZGF0ZS1qc29uIj5bXTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLW5vdGUiPgogICAgICAgICAgICAgIFRyeSB0eXBpbmcgIkQiIOKAlCBnaG9zdCB0ZXh0IHNob3dzICJhdmlkIEJyb3duIi4gUHJlc3MgU2hpZnQrVGFiIHRvIGN5Y2xlIHRvIG90aGVyIEQtbWF0Y2hlcy4gVGFiIGFjY2VwdHMsIEVudGVyIGFkZHMuCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIxMC4gVGVjaG5vbG9neSBTdGFjayJ9IC5zdWJ0aXRsZT0keyJMYXJnZXIgY2FuZGlkYXRlIHBvb2wgd2l0aCBTaGlmdCtUYWIgY3ljbGluZyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIC5sYWJlbD0keyJTZWxlY3QgVGVjaG5vbG9naWVzIn0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJUeXBlIHRvIGF1dG9jb21wbGV0ZS4uLiJ9CiAgICAgICAgICAuY2FuZGlkYXRlcz0ke1t7dmlld0tleToiVHlwZVNjcmlwdCIscGF5bG9hZDp7Y2F0ZWdvcnk6Imxhbmd1YWdlIn19LHt2aWV3S2V5OiJSZWFjdCIscGF5bG9hZDp7Y2F0ZWdvcnk6ImZyYW1ld29yayJ9fSx7dmlld0tleToiVnVlLmpzIixwYXlsb2FkOntjYXRlZ29yeToiZnJhbWV3b3JrIn19LHt2aWV3S2V5OiJBbmd1bGFyIixwYXlsb2FkOntjYXRlZ29yeToiZnJhbWV3b3JrIn19LHt2aWV3S2V5OiJOb2RlLmpzIixwYXlsb2FkOntjYXRlZ29yeToicnVudGltZSJ9fSx7dmlld0tleToiRGVubyIscGF5bG9hZDp7Y2F0ZWdvcnk6InJ1bnRpbWUifX0se3ZpZXdLZXk6IkRvY2tlciIscGF5bG9hZDp7Y2F0ZWdvcnk6ImRldm9wcyJ9fSx7dmlld0tleToiUG9zdGdyZVNRTCIscGF5bG9hZDp7Y2F0ZWdvcnk6ImRhdGFiYXNlIn19LHt2aWV3S2V5OiJNb25nb0RCIixwYXlsb2FkOntjYXRlZ29yeToiZGF0YWJhc2UifX0se3ZpZXdLZXk6IlJlZGlzIixwYXlsb2FkOntjYXRlZ29yeToiZGF0YWJhc2UifX0se3ZpZXdLZXk6Ikt1YmVybmV0ZXMiLHBheWxvYWQ6e2NhdGVnb3J5OiJkZXZvcHMifX1dfQogICAgICAgICAgLmRlc2NyaXB0aW9uPSR7J1RyeSAiRCIgXHUyMDE0IGN5Y2xlcyB0aHJvdWdoIERlbm8vRG9ja2VyLiAiUiIgXHUyMDE0IGN5Y2xlcyB0aHJvdWdoIFJlYWN0L1JlZGlzLid9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1saXN0PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMTEuIEZyZWVmb3JtICsgQ2FuZGlkYXRlcyJ9IC5zdWJ0aXRsZT0keyJBbGxvdyBhZGRpbmcgaXRlbXMgbm90IGluIHRoZSBjYW5kaWRhdGUgbGlzdCAoc2hvd24gd2l0aCBhIHF1ZXN0aW9uIG1hcmspIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtbGlzdAogICAgICAgICAgLmxhYmVsPSR7IlRhZ3MifQogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IlR5cGUgYSB0YWcuLi4gKGZyZWVmb3JtIGFsbG93ZWQpIn0KICAgICAgICAgIC5hbGxvd0ZyZWVmb3JtPSR7ITB9CiAgICAgICAgICAuY2FuZGlkYXRlcz0ke1t7dmlld0tleToiYnVnIixwYXlsb2FkOntjb2xvcjoicmVkIn19LHt2aWV3S2V5OiJmZWF0dXJlIixwYXlsb2FkOntjb2xvcjoiYmx1ZSJ9fSx7dmlld0tleToiZG9jcyIscGF5bG9hZDp7Y29sb3I6ImdyZWVuIn19LHt2aWV3S2V5OiJyZWZhY3RvciIscGF5bG9hZDp7Y29sb3I6InB1cnBsZSJ9fSx7dmlld0tleToicGVyZm9ybWFuY2UiLHBheWxvYWQ6e2NvbG9yOiJvcmFuZ2UifX0se3ZpZXdLZXk6InNlY3VyaXR5IixwYXlsb2FkOntjb2xvcjoicmVkIn19XX0KICAgICAgICAgIC52YWx1ZT0ke1siYnVnIiwibXktY3VzdG9tLXRhZyIsImZlYXR1cmUiXX0KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJLbm93biB0YWdzIGdldCBhIGNoZWNrbWFyaywgY3VzdG9tIHRhZ3MgZ2V0IGEgcXVlc3Rpb24gbWFyay4gVGFiIHRvIGNvbXBsZXRlLCBFbnRlciB0byBhZGQgZnJlZWZvcm0uIn0KICAgICAgICA+PC9kZWVzLWlucHV0LWxpc3Q+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIxMi4gRW1wdHkgU3RhdGUifSAuc3VidGl0bGU9JHsiSG93IHRoZSBjb21wb25lbnQgbG9va3Mgd2l0aCBubyBpdGVtcyJ9PgogICAgICAgIDxkZWVzLWlucHV0LWxpc3QKICAgICAgICAgIC5sYWJlbD0keyJZb3VyIElkZWFzIn0KICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJTaGFyZSB5b3VyIGlkZWFzLi4uIn0KICAgICAgICAgIC52YWx1ZT0ke1tdfQogICAgICAgICAgLmRlc2NyaXB0aW9uPSR7IlN0YXJ0IGFkZGluZyBpdGVtcyB0byBidWlsZCB5b3VyIGxpc3QifQogICAgICAgID48L2RlZXMtaW5wdXQtbGlzdD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kaXY+CiAgPC9kZWVzLWRlbW93cmFwcGVyPgpgLCJkZW1vRnVuYyIpfSk7dmFyIEZyLFd0LGthZSxlS2U9ZigoKT0+e2xlKCk7U3IoKTt2YSgpO0tyKCk7Y2lhKCk7UWUoKTtGcj1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sV3Q9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGthZT0oKCk9PntsZXQgYT1baWUoImRlZXMtaW5wdXQtbGlzdCIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdLFAsQT1bXSxGPVtdLFcsaj1bXSxHPVtdLGhlLFI9W10sVT1bXSxtZSxJPVtdLHE9W10sY2UsdWU9W10sWT1bXSxYLEo9W10sWj1bXSxnZSxhZT1bXSxyZT1bXSx5ZSxWPVtdLEg9W10sb2Usc2U9W10sdGU9W10semUsT2U9W10scWU9W10sY3QsJGU9W10sQ2U9W10sTWUsZGU9W10sdmU9W10sQWUsS2U9W10sbnQ9W107dmFyIFN0PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRMaXN0Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFRlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpOdW1iZXJ9KV0seD1bJCh7dHlwZTpOdW1iZXJ9KV0seT1bJCh7dHlwZTpCb29sZWFufSldLE49WyQoe3R5cGU6Qm9vbGVhbn0pXSxPPVskKHt0eXBlOkJvb2xlYW59KV0sQj1bJCh7dHlwZTpBcnJheX0pXSxQPVskKHt0eXBlOkJvb2xlYW59KV0sVz1bJCh7dHlwZTpTdHJpbmd9KV0saGU9W0soKV0sbWU9W0soKV0sY2U9W0soKV0sWD1bSygpXSxnZT1bSygpXSx5ZT1bSygpXSxvZT1bSygpXSx6ZT1bSygpXSxjdD1bSygpXSxNZT1bSygpXSxBZT1bSygpXSxGcih0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4idmFsdWUiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS52YWx1ZSwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLnZhbHVlPVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxuLGwpLEZyKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGxhY2Vob2xkZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJwbGFjZWhvbGRlciJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLnBsYWNlaG9sZGVyLCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UucGxhY2Vob2xkZXI9UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LGMscCksRnIodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXhJdGVtcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+Im1heEl0ZW1zImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UubWF4SXRlbXMsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS5tYXhJdGVtcz1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sbSx2KSxGcih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1pbkl0ZW1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4ibWluSXRlbXMiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5taW5JdGVtcywiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLm1pbkl0ZW1zPVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxiLGcpLEZyKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWxsb3dEdXBsaWNhdGVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4iYWxsb3dEdXBsaWNhdGVzImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UuYWxsb3dEdXBsaWNhdGVzLCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UuYWxsb3dEdXBsaWNhdGVzPVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxrLEMpLEZyKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic29ydGFibGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJzb3J0YWJsZSJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLnNvcnRhYmxlLCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2Uuc29ydGFibGU9UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LF8seiksRnIodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb25maXJtRGVsZXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4iY29uZmlybURlbGV0ZSJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmNvbmZpcm1EZWxldGUsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS5jb25maXJtRGVsZXRlPVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxULEUpLEZyKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2FuZGlkYXRlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+ImNhbmRpZGF0ZXMiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5jYW5kaWRhdGVzLCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UuY2FuZGlkYXRlcz1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sTSxTKSxGcih0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFsbG93RnJlZWZvcm0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJhbGxvd0ZyZWVmb3JtImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UuYWxsb3dGcmVlZm9ybSwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLmFsbG93RnJlZWZvcm09UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LEEsRiksRnIodGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZGF0aW9uVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+InZhbGlkYXRpb25UZXh0ImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UudmFsaWRhdGlvblRleHQsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS52YWxpZGF0aW9uVGV4dD1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0saixHKSxGcih0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbnB1dFZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4iaW5wdXRWYWx1ZSJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmlucHV0VmFsdWUsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS5pbnB1dFZhbHVlPVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxSLFUpLEZyKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imdob3N0VGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+Imdob3N0VGV4dCJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmdob3N0VGV4dCwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLmdob3N0VGV4dD1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sSSxxKSxGcih0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50Q2FuZGlkYXRlSW5kZXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMod2U9PiJjdXJyZW50Q2FuZGlkYXRlSW5kZXgiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5jdXJyZW50Q2FuZGlkYXRlSW5kZXgsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS5jdXJyZW50Q2FuZGlkYXRlSW5kZXg9UmV9LCJzZXQiKX0sbWV0YWRhdGE6VGV9LHVlLFkpLEZyKHRoaXMsbnVsbCxYLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZWRpdGluZ0luZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4iZWRpdGluZ0luZGV4ImluIHdlLCJoYXMiKSxnZXQ6cyh3ZT0+d2UuZWRpdGluZ0luZGV4LCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UuZWRpdGluZ0luZGV4PVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxKLFopLEZyKHRoaXMsbnVsbCxnZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVkaXRpbmdWYWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+ImVkaXRpbmdWYWx1ZSJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmVkaXRpbmdWYWx1ZSwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLmVkaXRpbmdWYWx1ZT1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sYWUscmUpLEZyKHRoaXMsbnVsbCx5ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdnZWRJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+ImRyYWdnZWRJbmRleCJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmRyYWdnZWRJbmRleCwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLmRyYWdnZWRJbmRleD1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sVixIKSxGcih0aGlzLG51bGwsb2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkcmFnT3ZlckluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4iZHJhZ092ZXJJbmRleCJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmRyYWdPdmVySW5kZXgsImdldCIpLHNldDpzKCh3ZSxSZSk9Pnt3ZS5kcmFnT3ZlckluZGV4PVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxzZSx0ZSksRnIodGhpcyxudWxsLHplLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHJhZ1N0YXJ0WSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+ImRyYWdTdGFydFkiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5kcmFnU3RhcnRZLCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UuZHJhZ1N0YXJ0WT1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sT2UscWUpLEZyKHRoaXMsbnVsbCxjdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdDdXJyZW50WSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+ImRyYWdDdXJyZW50WSJpbiB3ZSwiaGFzIiksZ2V0OnMod2U9PndlLmRyYWdDdXJyZW50WSwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLmRyYWdDdXJyZW50WT1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sJGUsQ2UpLEZyKHRoaXMsbnVsbCxNZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhcmdldEluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHdlPT4idGFyZ2V0SW5kZXgiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS50YXJnZXRJbmRleCwiZ2V0Iiksc2V0OnMoKHdlLFJlKT0+e3dlLnRhcmdldEluZGV4PVJlfSwic2V0Iil9LG1ldGFkYXRhOlRlfSxkZSx2ZSksRnIodGhpcyxudWxsLEFlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXRlbUhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh3ZT0+Iml0ZW1IZWlnaHQiaW4gd2UsImhhcyIpLGdldDpzKHdlPT53ZS5pdGVtSGVpZ2h0LCJnZXQiKSxzZXQ6cygod2UsUmUpPT57d2UuaXRlbUhlaWdodD1SZX0sInNldCIpfSxtZXRhZGF0YTpUZX0sS2UsbnQpLEZyKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlRlfSxudWxsLHQpLFN0PXI9ZS52YWx1ZSxUZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpUZX0pfXN0YXRpYyBkZW1vPWxpYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9V3QodGhpcyxuLFtdKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoVGUpe3RoaXMuI2U9VGV9I3Q9KFd0KHRoaXMsbCksV3QodGhpcyxjLCJBZGQgbmV3IGl0ZW0uLi4iKSk7Z2V0IHBsYWNlaG9sZGVyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBsYWNlaG9sZGVyKFRlKXt0aGlzLiN0PVRlfSNhPShXdCh0aGlzLHApLFd0KHRoaXMsbSwwKSk7Z2V0IG1heEl0ZW1zKCl7cmV0dXJuIHRoaXMuI2F9c2V0IG1heEl0ZW1zKFRlKXt0aGlzLiNhPVRlfSNyPShXdCh0aGlzLHYpLFd0KHRoaXMsYiwwKSk7Z2V0IG1pbkl0ZW1zKCl7cmV0dXJuIHRoaXMuI3J9c2V0IG1pbkl0ZW1zKFRlKXt0aGlzLiNyPVRlfSNzPShXdCh0aGlzLGcpLFd0KHRoaXMsaywhMSkpO2dldCBhbGxvd0R1cGxpY2F0ZXMoKXtyZXR1cm4gdGhpcy4jc31zZXQgYWxsb3dEdXBsaWNhdGVzKFRlKXt0aGlzLiNzPVRlfSNpPShXdCh0aGlzLEMpLFd0KHRoaXMsXywhMSkpO2dldCBzb3J0YWJsZSgpe3JldHVybiB0aGlzLiNpfXNldCBzb3J0YWJsZShUZSl7dGhpcy4jaT1UZX0jbz0oV3QodGhpcyx6KSxXdCh0aGlzLFQsITEpKTtnZXQgY29uZmlybURlbGV0ZSgpe3JldHVybiB0aGlzLiNvfXNldCBjb25maXJtRGVsZXRlKFRlKXt0aGlzLiNvPVRlfSNuPShXdCh0aGlzLEUpLFd0KHRoaXMsTSxbXSkpO2dldCBjYW5kaWRhdGVzKCl7cmV0dXJuIHRoaXMuI259c2V0IGNhbmRpZGF0ZXMoVGUpe3RoaXMuI249VGV9I2w9KFd0KHRoaXMsUyksV3QodGhpcyxBLCExKSk7Z2V0IGFsbG93RnJlZWZvcm0oKXtyZXR1cm4gdGhpcy4jbH1zZXQgYWxsb3dGcmVlZm9ybShUZSl7dGhpcy4jbD1UZX0jYz0oV3QodGhpcyxGKSxXdCh0aGlzLGosIiIpKTtnZXQgdmFsaWRhdGlvblRleHQoKXtyZXR1cm4gdGhpcy4jY31zZXQgdmFsaWRhdGlvblRleHQoVGUpe3RoaXMuI2M9VGV9YWRkZWRDYW5kaWRhdGVzTWFwPShXdCh0aGlzLEcpLG5ldyBNYXApO21hdGNoaW5nQ2FuZGlkYXRlcz1bXTsjZD1XdCh0aGlzLFIsIiIpO2dldCBpbnB1dFZhbHVlKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGlucHV0VmFsdWUoVGUpe3RoaXMuI2Q9VGV9I3U9KFd0KHRoaXMsVSksV3QodGhpcyxJLCIiKSk7Z2V0IGdob3N0VGV4dCgpe3JldHVybiB0aGlzLiN1fXNldCBnaG9zdFRleHQoVGUpe3RoaXMuI3U9VGV9I3A9KFd0KHRoaXMscSksV3QodGhpcyx1ZSwtMSkpO2dldCBjdXJyZW50Q2FuZGlkYXRlSW5kZXgoKXtyZXR1cm4gdGhpcy4jcH1zZXQgY3VycmVudENhbmRpZGF0ZUluZGV4KFRlKXt0aGlzLiNwPVRlfSNmPShXdCh0aGlzLFkpLFd0KHRoaXMsSiwtMSkpO2dldCBlZGl0aW5nSW5kZXgoKXtyZXR1cm4gdGhpcy4jZn1zZXQgZWRpdGluZ0luZGV4KFRlKXt0aGlzLiNmPVRlfSNoPShXdCh0aGlzLFopLFd0KHRoaXMsYWUsIiIpKTtnZXQgZWRpdGluZ1ZhbHVlKCl7cmV0dXJuIHRoaXMuI2h9c2V0IGVkaXRpbmdWYWx1ZShUZSl7dGhpcy4jaD1UZX0jbT0oV3QodGhpcyxyZSksV3QodGhpcyxWLC0xKSk7Z2V0IGRyYWdnZWRJbmRleCgpe3JldHVybiB0aGlzLiNtfXNldCBkcmFnZ2VkSW5kZXgoVGUpe3RoaXMuI209VGV9I2c9KFd0KHRoaXMsSCksV3QodGhpcyxzZSwtMSkpO2dldCBkcmFnT3ZlckluZGV4KCl7cmV0dXJuIHRoaXMuI2d9c2V0IGRyYWdPdmVySW5kZXgoVGUpe3RoaXMuI2c9VGV9I2I9KFd0KHRoaXMsdGUpLFd0KHRoaXMsT2UsMCkpO2dldCBkcmFnU3RhcnRZKCl7cmV0dXJuIHRoaXMuI2J9c2V0IGRyYWdTdGFydFkoVGUpe3RoaXMuI2I9VGV9I3Y9KFd0KHRoaXMscWUpLFd0KHRoaXMsJGUsMCkpO2dldCBkcmFnQ3VycmVudFkoKXtyZXR1cm4gdGhpcy4jdn1zZXQgZHJhZ0N1cnJlbnRZKFRlKXt0aGlzLiN2PVRlfSN4PShXdCh0aGlzLENlKSxXdCh0aGlzLGRlLC0xKSk7Z2V0IHRhcmdldEluZGV4KCl7cmV0dXJuIHRoaXMuI3h9c2V0IHRhcmdldEluZGV4KFRlKXt0aGlzLiN4PVRlfSN5PShXdCh0aGlzLHZlKSxXdCh0aGlzLEtlLDApKTtnZXQgaXRlbUhlaWdodCgpe3JldHVybiB0aGlzLiN5fXNldCBpdGVtSGVpZ2h0KFRlKXt0aGlzLiN5PVRlfWJvdW5kSGFuZGxlR2xvYmFsRHJhZ092ZXI9KFd0KHRoaXMsbnQpLG51bGwpO2JvdW5kSGFuZGxlR2xvYmFsRHJhZ0VuZD1udWxsO29yaWdpbmFsSXRlbVJlY3RzPVtdO3N0YXRpYyBzdHlsZXM9W0VlLC4uLnd0LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgc2Fucy1zZXJpZjsKICAgICAgfQoKICAgICAgLmlucHV0LXdyYXBwZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICBkZWVzLXRpbGU6aG92ZXI6OnBhcnQob3V0ZXIpIHsKICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZTpmb2N1cy13aXRoaW46OnBhcnQob3V0ZXIpIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuMSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjEpIil9OwogICAgICB9CgogICAgICA6aG9zdChbZGlzYWJsZWRdKSBkZWVzLXRpbGUgewogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAubGlzdC1pdGVtcyB7CiAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgfQoKICAgICAgLmxpc3QtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJhY2tncm91bmQgMC4xNXMgZWFzZSwgYm94LXNoYWRvdyAwLjE1cyBlYXNlOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAubGlzdC1pdGVtOmxhc3Qtb2YtdHlwZSB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmxpc3QtaXRlbXM6bm90KC5pcy1kcmFnZ2luZykgLmxpc3QtaXRlbTpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1yb3ctaG92ZXIpOwogICAgICB9CgogICAgICAvKiBEcmFnZ2luZyBpdGVtIC0gZm9sbG93cyBjdXJzb3IgKi8KICAgICAgLmxpc3QtaXRlbS5kcmFnZ2luZyB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHotaW5kZXg6IDEwMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTglKSIsImhzbCgyMTUgMjAuMiUgMTIlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMTUpIiwicmdiYSgwLCAwLCAwLCAwLjQpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMTVzIGVhc2UsIGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLyogSXRlbXMgdGhhdCBuZWVkIHRvIG1vdmUgdXAgdG8gbWFrZSBzcGFjZSAqLwogICAgICAubGlzdC1pdGVtLm1vdmUtdXAgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKC0xICogdmFyKC0taXRlbS1oZWlnaHQsIDQ4cHgpKSk7CiAgICAgIH0KCiAgICAgIC8qIEl0ZW1zIHRoYXQgbmVlZCB0byBtb3ZlIGRvd24gdG8gbWFrZSBzcGFjZSAqLwogICAgICAubGlzdC1pdGVtLm1vdmUtZG93biB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLWl0ZW0taGVpZ2h0LCA0OHB4KSk7CiAgICAgIH0KCgogICAgICAuY2FuZGlkYXRlLWNoZWNrIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIpfTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmNhbmRpZGF0ZS11bmtub3duIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woNDUgOTMlIDQ3JSkiLCJoc2woNDUgOTMlIDU4JSkiKX07CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5pdGVtLWJ1bGxldCB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLmRyYWctaGFuZGxlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgY3Vyc29yOiBtb3ZlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5kcmFnLWhhbmRsZTpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgIH0KCiAgICAgIC5kcmFnLWhhbmRsZSBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQoKICAgICAgLml0ZW0tY29udGVudCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAuaXRlbS10ZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDsKICAgICAgfQoKICAgICAgLml0ZW0tZWRpdC1pbnB1dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwYWRkaW5nOiAzcHggNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQoKICAgICAgLml0ZW0tYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAyNHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NS4xJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zYXZlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zYXZlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlIC8gMC4xKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmNhbmNlbCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3Mi4yJSA1MC42JSkiLCJoc2woMCA2Mi44JSA1MC42JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmNhbmNlbDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4xKSIsImhzbCgwIDYyLjglIDUwLjYlIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGVsZXRlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlKSIsImhzbCgwIDYyLjglIDUwLjYlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGVsZXRlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgNzIuMiUgNTAuNiUgLyAwLjEpIiwiaHNsKDAgNjIuOCUgNTAuNiUgLyAwLjEpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxM3B4OwogICAgICAgIGhlaWdodDogMTNweDsKICAgICAgfQoKICAgICAgLmFkZC1pdGVtLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgfQoKICAgICAgLmFkZC1pbnB1dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLmFkZC1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICB9CgogICAgICAuYWRkLWlucHV0OmRpc2FibGVkIHsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLmFkZC1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0NS4xJSkiLCJoc2woMCAwJSA2My45JSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQoKICAgICAgLmFkZC1idXR0b246ZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuMzsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDE2cHggMTBweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA2My45JSkiLCJoc2woMCAwJSA0NS4xJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAudmFsaWRhdGlvbi1tZXNzYWdlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlKSIsImhzbCgwIDYyLjglIDMwLjYlKSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgIH0KCiAgICAgIC8qIFNjcm9sbGJhciBzdHlsaW5nICovCiAgICAgIC5saXN0LWl0ZW1zOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgfQoKICAgICAgLmxpc3QtaXRlbXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmxpc3QtaXRlbXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODkuOCUpIiwiaHNsKDAgMCUgMjQuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQoKICAgICAgLmxpc3QtaXRlbXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNzkuOCUpIiwiaHNsKDAgMCUgMzQuOSUpIil9OwogICAgICB9CgogICAgICAvKiBEaXNhYmxlIHRyYW5zaXRpb25zIGR1cmluZyBkcm9wIHRvIHByZXZlbnQgZmxhc2ggKi8KICAgICAgLmxpc3QtaXRlbXMuZHJvcHBpbmcgLmxpc3QtaXRlbSB7CiAgICAgICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAvKiDilIDilIAgVGVybWluYWwtc3R5bGUgaW5saW5lIGF1dG9jb21wbGV0ZSDilIDilIAgKi8KICAgICAgLmF1dG9jb21wbGV0ZS13cmFwcGVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmdob3N0LXRleHQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuZ2hvc3QtdHlwZWQgewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmdob3N0LWNvbXBsZXRpb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUpIiwiaHNsKDAgMCUgNDUuMSUpIil9OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXdyYXBwZXIiPgogICAgICAgICR7dGhpcy5sYWJlbD93YDxkZWVzLWxhYmVsIC5sYWJlbD0ke3RoaXMubGFiZWx9IC5yZXF1aXJlZD0ke3RoaXMucmVxdWlyZWR9PjwvZGVlcy1sYWJlbD5gOiIifQogICAgICAgIAogICAgICAgIDxkZWVzLXRpbGUgLmhlYWRpbmc9IiR7dGhpcy52YWx1ZS5sZW5ndGh9IGl0ZW0ke3RoaXMudmFsdWUubGVuZ3RoIT09MT8icyI6IiJ9Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9Imxpc3QtaXRlbXMiPgogICAgICAgICAgICAke3RoaXMudmFsdWUubGVuZ3RoPjA/dGhpcy52YWx1ZS5tYXAoKFRlLHdlKT0+d2AKICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICBjbGFzcz0ibGlzdC1pdGVtICR7dGhpcy5kcmFnZ2VkSW5kZXg9PT13ZT8iZHJhZ2dpbmciOiIifSIKICAgICAgICAgICAgICAgIGRyYWdnYWJsZT0iJHt0aGlzLnNvcnRhYmxlJiYhdGhpcy5kaXNhYmxlZH0iCiAgICAgICAgICAgICAgICBAZHJhZ3N0YXJ0PSR7UmU9PnRoaXMuaGFuZGxlRHJhZ1N0YXJ0KFJlLHdlKX0KICAgICAgICAgICAgICAgIEBkcmFnZW5kPSR7dGhpcy5oYW5kbGVEcmFnRW5kfQogICAgICAgICAgICAgICAgQGRyYWdvdmVyPSR7UmU9PnRoaXMuaGFuZGxlRHJhZ092ZXIoUmUsd2UpfQogICAgICAgICAgICAgICAgQGRyb3A9JHtSZT0+dGhpcy5oYW5kbGVEcm9wKFJlLHdlKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke3RoaXMuc29ydGFibGUmJiF0aGlzLmRpc2FibGVkP3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRyYWctaGFuZGxlIj4KICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpncmlwVmVydGljYWwifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQoKICAgICAgICAgICAgICAgICR7dGhpcy5jYW5kaWRhdGVzLmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgICAgICR7dGhpcy5jYW5kaWRhdGVzLnNvbWUoUmU9PlJlLnZpZXdLZXk9PT1UZSk/d2AKICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJjYW5kaWRhdGUtY2hlY2siIC5pY29uPSR7Imx1Y2lkZTpjaGVjayJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0iY2FuZGlkYXRlLXVua25vd24iIC5pY29uPSR7Imx1Y2lkZTpoZWxwQ2lyY2xlIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICAgICAgICBgOiF0aGlzLnNvcnRhYmxlfHx0aGlzLmRpc2FibGVkP3dgCiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9Iml0ZW0tYnVsbGV0IiAuaWNvbj0keyJsdWNpZGU6ZG90In0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICBgOiIifQoKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0tY29udGVudCI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5lZGl0aW5nSW5kZXg9PT13ZT93YAogICAgICAgICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJpdGVtLWVkaXQtaW5wdXQiCiAgICAgICAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLmVkaXRpbmdWYWx1ZX0KICAgICAgICAgICAgICAgICAgICAgIEBpbnB1dD0ke1JlPT50aGlzLmVkaXRpbmdWYWx1ZT1SZS50YXJnZXQudmFsdWV9CiAgICAgICAgICAgICAgICAgICAgICBAa2V5ZG93bj0ke1JlPT50aGlzLmhhbmRsZUVkaXRLZXlEb3duKFJlLHdlKX0KICAgICAgICAgICAgICAgICAgICAgIEBibHVyPSR7KCk9PnRoaXMuc2F2ZUVkaXQod2UpfQogICAgICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtLXRleHQiIEBkYmxjbGljaz0keygpPT4hdGhpcy5kaXNhYmxlZCYmdGhpcy5zdGFydEVkaXQod2UpfT4KICAgICAgICAgICAgICAgICAgICAgICR7VGV9CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbS1hY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgJHt0aGlzLmVkaXRpbmdJbmRleD09PXdlP3dgCiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBzYXZlIiBAY2xpY2s9JHsoKT0+dGhpcy5zYXZlRWRpdCh3ZSl9PgogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Y2hlY2sifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIGNhbmNlbCIgQGNsaWNrPSR7KCk9PnRoaXMuY2FuY2VsRWRpdCgpfT4KICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOngifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgICAgICAgICR7dGhpcy5kaXNhYmxlZD8iIjp3YAogICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuc3RhcnRFZGl0KHdlKX0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOnBlbmNpbCJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIGRlbGV0ZSIgQGNsaWNrPSR7KCk9PnRoaXMucmVtb3ZlSXRlbSh3ZSl9PgogICAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp0cmFzaDIifT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCk6d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICAgICAgICBObyBpdGVtcyBhZGRlZCB5ZXQKICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgCiAgICAgICAgICAkeyF0aGlzLmRpc2FibGVkJiYoIXRoaXMubWF4SXRlbXN8fHRoaXMudmFsdWUubGVuZ3RoPHRoaXMubWF4SXRlbXMpP3dgCiAgICAgICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iYWRkLWl0ZW0tY29udGFpbmVyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhdXRvY29tcGxldGUtd3JhcHBlciI+CiAgICAgICAgICAgICAgICAke3RoaXMuZ2hvc3RUZXh0P3dgCiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJnaG9zdC10ZXh0Ij4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ2hvc3QtdHlwZWQiPiR7dGhpcy5pbnB1dFZhbHVlfTwvc3Bhbj48c3BhbiBjbGFzcz0iZ2hvc3QtY29tcGxldGlvbiI+JHt0aGlzLmdob3N0VGV4dH08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgICAgY2xhc3M9ImFkZC1pbnB1dCIKICAgICAgICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7dGhpcy5wbGFjZWhvbGRlcn0KICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5pbnB1dFZhbHVlfQogICAgICAgICAgICAgICAgICBAaW5wdXQ9JHt0aGlzLmhhbmRsZUlucHV0fQogICAgICAgICAgICAgICAgICBAa2V5ZG93bj0ke3RoaXMuaGFuZGxlQWRkS2V5RG93bn0KICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZH0KICAgICAgICAgICAgICAgIC8+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9ImFkZC1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmFkZEl0ZW19CiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHshdGhpcy5pbnB1dFZhbHVlLnRyaW0oKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpwbHVzIn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2RlZXMtdGlsZT4KCiAgICAgICAgJHt0aGlzLnZhbGlkYXRpb25UZXh0P3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2YWxpZGF0aW9uLW1lc3NhZ2UiPiR7dGhpcy52YWxpZGF0aW9uVGV4dH08L2Rpdj4KICAgICAgICBgOiIifQogICAgICAgIAogICAgICAgICR7dGhpcy5yZW5kZXJEZXNjcmlwdGlvbigpfQogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlSW5wdXQoVGUpe3RoaXMuaW5wdXRWYWx1ZT1UZS50YXJnZXQudmFsdWUsdGhpcy51cGRhdGVHaG9zdFRleHQoKX11cGRhdGVHaG9zdFRleHQoKXtpZih0aGlzLmNhbmRpZGF0ZXMubGVuZ3RoPT09MHx8IXRoaXMuaW5wdXRWYWx1ZSl7dGhpcy5naG9zdFRleHQ9IiIsdGhpcy5jdXJyZW50Q2FuZGlkYXRlSW5kZXg9LTEsdGhpcy5tYXRjaGluZ0NhbmRpZGF0ZXM9W107cmV0dXJufWxldCBUZT10aGlzLmlucHV0VmFsdWUudG9Mb3dlckNhc2UoKTt0aGlzLm1hdGNoaW5nQ2FuZGlkYXRlcz10aGlzLmNhbmRpZGF0ZXMuZmlsdGVyKHdlPT50aGlzLnZhbHVlLmluY2x1ZGVzKHdlLnZpZXdLZXkpPyExOndlLnZpZXdLZXkudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKFRlKSkuc29ydCgod2UsUmUpPT53ZS52aWV3S2V5Lmxlbmd0aC1SZS52aWV3S2V5Lmxlbmd0aCksdGhpcy5tYXRjaGluZ0NhbmRpZGF0ZXMubGVuZ3RoPjA/KHRoaXMuY3VycmVudENhbmRpZGF0ZUluZGV4PTAsdGhpcy5naG9zdFRleHQ9dGhpcy5tYXRjaGluZ0NhbmRpZGF0ZXNbMF0udmlld0tleS5zbGljZSh0aGlzLmlucHV0VmFsdWUubGVuZ3RoKSk6KHRoaXMuY3VycmVudENhbmRpZGF0ZUluZGV4PS0xLHRoaXMuZ2hvc3RUZXh0PSIiKX1oYW5kbGVBZGRLZXlEb3duKFRlKXtpZihUZS5rZXk9PT0iVGFiIiYmdGhpcy5jYW5kaWRhdGVzLmxlbmd0aD4wJiZ0aGlzLmlucHV0VmFsdWUpe2lmKFRlLnByZXZlbnREZWZhdWx0KCksVGUuc2hpZnRLZXkmJnRoaXMubWF0Y2hpbmdDYW5kaWRhdGVzLmxlbmd0aD4wKXt0aGlzLmN1cnJlbnRDYW5kaWRhdGVJbmRleD0odGhpcy5jdXJyZW50Q2FuZGlkYXRlSW5kZXgrMSkldGhpcy5tYXRjaGluZ0NhbmRpZGF0ZXMubGVuZ3RoO2xldCB3ZT10aGlzLm1hdGNoaW5nQ2FuZGlkYXRlc1t0aGlzLmN1cnJlbnRDYW5kaWRhdGVJbmRleF07dGhpcy5naG9zdFRleHQ9d2Uudmlld0tleS5zbGljZSh0aGlzLmlucHV0VmFsdWUubGVuZ3RoKX1lbHNlIGlmKCFUZS5zaGlmdEtleSYmdGhpcy5naG9zdFRleHQmJnRoaXMubWF0Y2hpbmdDYW5kaWRhdGVzLmxlbmd0aD4wKXtsZXQgd2U9dGhpcy5tYXRjaGluZ0NhbmRpZGF0ZXNbdGhpcy5jdXJyZW50Q2FuZGlkYXRlSW5kZXhdO3RoaXMuaW5wdXRWYWx1ZT13ZS52aWV3S2V5LHRoaXMuZ2hvc3RUZXh0PSIiO2xldCBSZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5hZGQtaW5wdXQiKTtSZSYmKFJlLnZhbHVlPXdlLnZpZXdLZXkpfXJldHVybn1pZihUZS5rZXk9PT0iRXNjYXBlIiYmdGhpcy5naG9zdFRleHQpe1RlLnByZXZlbnREZWZhdWx0KCksdGhpcy5naG9zdFRleHQ9IiIsdGhpcy5jdXJyZW50Q2FuZGlkYXRlSW5kZXg9LTEsdGhpcy5tYXRjaGluZ0NhbmRpZGF0ZXM9W107cmV0dXJufWlmKFRlLmtleT09PSJFbnRlciImJnRoaXMuaW5wdXRWYWx1ZS50cmltKCkpe2lmKFRlLnByZXZlbnREZWZhdWx0KCksdGhpcy5jYW5kaWRhdGVzLmxlbmd0aD4wKXtsZXQgd2U9dGhpcy5jYW5kaWRhdGVzLmZpbmQoUmU9PlJlLnZpZXdLZXkudG9Mb3dlckNhc2UoKT09PXRoaXMuaW5wdXRWYWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKSk7d2U/dGhpcy5zZWxlY3RDYW5kaWRhdGUod2UpOnRoaXMuYWxsb3dGcmVlZm9ybSYmKHRoaXMuZ2hvc3RUZXh0PSIiLHRoaXMuY3VycmVudENhbmRpZGF0ZUluZGV4PS0xLHRoaXMubWF0Y2hpbmdDYW5kaWRhdGVzPVtdLHRoaXMuYWRkSXRlbSgpKTtyZXR1cm59dGhpcy5hZGRJdGVtKCl9fWhhbmRsZUVkaXRLZXlEb3duKFRlLHdlKXtUZS5rZXk9PT0iRW50ZXIiPyhUZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2F2ZUVkaXQod2UpKTpUZS5rZXk9PT0iRXNjYXBlIiYmKFRlLnByZXZlbnREZWZhdWx0KCksdGhpcy5jYW5jZWxFZGl0KCkpfXNlbGVjdENhbmRpZGF0ZShUZSl7aWYodGhpcy5tYXhJdGVtcyYmdGhpcy52YWx1ZS5sZW5ndGg+PXRoaXMubWF4SXRlbXMpe3RoaXMudmFsaWRhdGlvblRleHQ9YE1heGltdW0gJHt0aGlzLm1heEl0ZW1zfSBpdGVtcyBhbGxvd2VkYCxzZXRUaW1lb3V0KCgpPT50aGlzLnZhbGlkYXRpb25UZXh0PSIiLDNlMyk7cmV0dXJufWlmKCF0aGlzLmFsbG93RHVwbGljYXRlcyYmdGhpcy52YWx1ZS5pbmNsdWRlcyhUZS52aWV3S2V5KSl7dGhpcy52YWxpZGF0aW9uVGV4dD0iVGhpcyBpdGVtIGFscmVhZHkgZXhpc3RzIGluIHRoZSBsaXN0IixzZXRUaW1lb3V0KCgpPT50aGlzLnZhbGlkYXRpb25UZXh0PSIiLDNlMyk7cmV0dXJufXRoaXMuYWRkZWRDYW5kaWRhdGVzTWFwLnNldChUZS52aWV3S2V5LFRlKSx0aGlzLnZhbHVlPVsuLi50aGlzLnZhbHVlLFRlLnZpZXdLZXldLHRoaXMuaW5wdXRWYWx1ZT0iIix0aGlzLmdob3N0VGV4dD0iIix0aGlzLmN1cnJlbnRDYW5kaWRhdGVJbmRleD0tMSx0aGlzLm1hdGNoaW5nQ2FuZGlkYXRlcz1bXSx0aGlzLnZhbGlkYXRpb25UZXh0PSIiLHRoaXMuZW1pdENoYW5nZSgpLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+e2xldCB3ZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5hZGQtaW5wdXQiKTt3ZSYmKHdlLnZhbHVlPSIiLHdlLmZvY3VzKCkpfSl9Z2V0Q2FuZGlkYXRlRm9ySXRlbShUZSl7cmV0dXJuIHRoaXMuYWRkZWRDYW5kaWRhdGVzTWFwLmdldChUZSl9Z2V0QWRkZWRDYW5kaWRhdGVzKCl7cmV0dXJuIHRoaXMudmFsdWUubWFwKFRlPT50aGlzLmFkZGVkQ2FuZGlkYXRlc01hcC5nZXQoVGUpKS5maWx0ZXIoVGU9PlRlIT09dm9pZCAwKX1hZGRJdGVtKCl7bGV0IFRlPXRoaXMuaW5wdXRWYWx1ZS50cmltKCk7aWYoVGUpe2lmKCF0aGlzLmFsbG93RHVwbGljYXRlcyYmdGhpcy52YWx1ZS5pbmNsdWRlcyhUZSkpe3RoaXMudmFsaWRhdGlvblRleHQ9IlRoaXMgaXRlbSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgbGlzdCIsc2V0VGltZW91dCgoKT0+dGhpcy52YWxpZGF0aW9uVGV4dD0iIiwzZTMpO3JldHVybn1pZih0aGlzLm1heEl0ZW1zJiZ0aGlzLnZhbHVlLmxlbmd0aD49dGhpcy5tYXhJdGVtcyl7dGhpcy52YWxpZGF0aW9uVGV4dD1gTWF4aW11bSAke3RoaXMubWF4SXRlbXN9IGl0ZW1zIGFsbG93ZWRgLHNldFRpbWVvdXQoKCk9PnRoaXMudmFsaWRhdGlvblRleHQ9IiIsM2UzKTtyZXR1cm59dGhpcy52YWx1ZT1bLi4udGhpcy52YWx1ZSxUZV0sdGhpcy5pbnB1dFZhbHVlPSIiLHRoaXMudmFsaWRhdGlvblRleHQ9IiIsdGhpcy5lbWl0Q2hhbmdlKCksdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT57bGV0IHdlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmFkZC1pbnB1dCIpO3dlJiYod2UudmFsdWU9IiIsd2UuZm9jdXMoKSl9KX19c3RhcnRFZGl0KFRlKXt0aGlzLmVkaXRpbmdJbmRleD1UZSx0aGlzLmVkaXRpbmdWYWx1ZT10aGlzLnZhbHVlW1RlXSx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PntsZXQgd2U9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuaXRlbS1lZGl0LWlucHV0Iik7d2UmJih3ZS5mb2N1cygpLHdlLnNlbGVjdCgpKX0pfXNhdmVFZGl0KFRlKXtsZXQgd2U9dGhpcy5lZGl0aW5nVmFsdWUudHJpbSgpO2lmKCF3ZSl7dGhpcy5jYW5jZWxFZGl0KCk7cmV0dXJufWlmKCF0aGlzLmFsbG93RHVwbGljYXRlcyYmd2UhPT10aGlzLnZhbHVlW1RlXSYmdGhpcy52YWx1ZS5pbmNsdWRlcyh3ZSkpe3RoaXMudmFsaWRhdGlvblRleHQ9IlRoaXMgaXRlbSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgbGlzdCIsc2V0VGltZW91dCgoKT0+dGhpcy52YWxpZGF0aW9uVGV4dD0iIiwzZTMpO3JldHVybn1sZXQgUmU9Wy4uLnRoaXMudmFsdWVdO1JlW1RlXT13ZSx0aGlzLnZhbHVlPVJlLHRoaXMuZWRpdGluZ0luZGV4PS0xLHRoaXMuZWRpdGluZ1ZhbHVlPSIiLHRoaXMudmFsaWRhdGlvblRleHQ9IiIsdGhpcy5lbWl0Q2hhbmdlKCl9Y2FuY2VsRWRpdCgpe3RoaXMuZWRpdGluZ0luZGV4PS0xLHRoaXMuZWRpdGluZ1ZhbHVlPSIifWFzeW5jIHJlbW92ZUl0ZW0oVGUpe2lmKHRoaXMuY29uZmlybURlbGV0ZSYmIWF3YWl0IHRoaXMuc2hvd0NvbmZpcm1EaWFsb2coYERlbGV0ZSAiJHt0aGlzLnZhbHVlW1RlXX0iP2ApKXJldHVybjtsZXQgd2U9dGhpcy52YWx1ZVtUZV07dGhpcy5hZGRlZENhbmRpZGF0ZXNNYXAuZGVsZXRlKHdlKSx0aGlzLnZhbHVlPXRoaXMudmFsdWUuZmlsdGVyKChSZSxmZSk9PmZlIT09VGUpLHRoaXMuZW1pdENoYW5nZSgpfWFzeW5jIHNob3dDb25maXJtRGlhbG9nKFRlKXtyZXR1cm4gY29uZmlybShUZSl9aGFuZGxlRHJhZ1N0YXJ0KFRlLHdlKXtpZighdGhpcy5zb3J0YWJsZXx8dGhpcy5kaXNhYmxlZClyZXR1cm47dGhpcy5kcmFnZ2VkSW5kZXg9d2UsdGhpcy50YXJnZXRJbmRleD13ZSxUZS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZD0ibW92ZSIsVGUuZGF0YVRyYW5zZmVyLnNldERhdGEoInRleHQvcGxhaW4iLHdlLnRvU3RyaW5nKCkpO2xldCBSZT1uZXcgSW1hZ2U7UmUuc3JjPSJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhBUUFCQUlBQUFBVUVCQUFBQUN3QUFBQUFBUUFCQUFBQ0FrUUJBRHM9IixUZS5kYXRhVHJhbnNmZXIuc2V0RHJhZ0ltYWdlKFJlLDAsMCksdGhpcy5kcmFnU3RhcnRZPVRlLmNsaWVudFksdGhpcy5kcmFnQ3VycmVudFk9VGUuY2xpZW50WTtsZXQgZmU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIubGlzdC1pdGVtcyIpLGJlPUFycmF5LmZyb20oZmU/LnF1ZXJ5U2VsZWN0b3JBbGwoIi5saXN0LWl0ZW0iKXx8W10pO2JlW3dlXSYmKHRoaXMuaXRlbUhlaWdodD1iZVt3ZV0ub2Zmc2V0SGVpZ2h0KSx0aGlzLm9yaWdpbmFsSXRlbVJlY3RzPWJlLm1hcChQZT0+UGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpLGZlPy5jbGFzc0xpc3QuYWRkKCJpcy1kcmFnZ2luZyIpLHRoaXMuYm91bmRIYW5kbGVHbG9iYWxEcmFnT3Zlcj10aGlzLmhhbmRsZUdsb2JhbERyYWdPdmVyLmJpbmQodGhpcyksdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdFbmQ9dGhpcy5oYW5kbGVHbG9iYWxEcmFnRW5kLmJpbmQodGhpcyksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLHRoaXMuYm91bmRIYW5kbGVHbG9iYWxEcmFnT3ZlciksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2VuZCIsdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdFbmQpfWhhbmRsZUdsb2JhbERyYWdPdmVyKFRlKXtpZihUZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZHJhZ2dlZEluZGV4PT09LTEpcmV0dXJuO3RoaXMuZHJhZ0N1cnJlbnRZPVRlLmNsaWVudFk7bGV0IHdlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmxpc3QtaXRlbXMiKTtpZighd2UpcmV0dXJuO2xldCBSZT1BcnJheS5mcm9tKHdlLnF1ZXJ5U2VsZWN0b3JBbGwoIi5saXN0LWl0ZW0iKSksZmU9UmVbdGhpcy5kcmFnZ2VkSW5kZXhdO2lmKCFmZSlyZXR1cm47bGV0IGJlPXRoaXMuZHJhZ0N1cnJlbnRZLXRoaXMuZHJhZ1N0YXJ0WTtmZS5zdHlsZS50cmFuc2Zvcm09YHRyYW5zbGF0ZVkoJHtiZX1weClgO2xldCBQZT10aGlzLm9yaWdpbmFsSXRlbVJlY3RzW3RoaXMuZHJhZ2dlZEluZGV4XTtpZighUGUpcmV0dXJuO2xldCBwdD1QZS50b3ArUGUuaGVpZ2h0LzIrYmUsbXQ9dGhpcy5kcmFnZ2VkSW5kZXg7Zm9yKGxldCBOdD0wO050PFJlLmxlbmd0aDtOdCsrKXtpZihOdD09PXRoaXMuZHJhZ2dlZEluZGV4KWNvbnRpbnVlO2xldCBYYT10aGlzLm9yaWdpbmFsSXRlbVJlY3RzW050XTtpZighWGEpY29udGludWU7bGV0IEphPVhhLnRvcCtYYS5oZWlnaHQvMjtpZihSZVtOdF0uY2xhc3NMaXN0LmNvbnRhaW5zKCJtb3ZlLXVwIik/SmEtPXRoaXMuaXRlbUhlaWdodDpSZVtOdF0uY2xhc3NMaXN0LmNvbnRhaW5zKCJtb3ZlLWRvd24iKSYmKEphKz10aGlzLml0ZW1IZWlnaHQpLHB0PEphJiZOdDx0aGlzLmRyYWdnZWRJbmRleCl7bXQ9TnQ7YnJlYWt9ZWxzZSBwdD5KYSYmTnQ+dGhpcy5kcmFnZ2VkSW5kZXgmJihtdD1OdCl9bXQhPT10aGlzLnRhcmdldEluZGV4JiYodGhpcy50YXJnZXRJbmRleD1tdCx0aGlzLnVwZGF0ZUl0ZW1Qb3NpdGlvbnMoUmUpKX11cGRhdGVJdGVtUG9zaXRpb25zKFRlKXtsZXQgd2U9dGhpcy5kcmFnZ2VkSW5kZXgsUmU9dGhpcy50YXJnZXRJbmRleCxmZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5saXN0LWl0ZW1zIik7ZmUmJmZlLnN0eWxlLnNldFByb3BlcnR5KCItLWl0ZW0taGVpZ2h0IixgJHt0aGlzLml0ZW1IZWlnaHR9cHhgKSxUZS5mb3JFYWNoKChiZSxQZSk9PntQZSE9PXdlJiYoYmUuY2xhc3NMaXN0LnJlbW92ZSgibW92ZS11cCIsIm1vdmUtZG93biIpLGJlLnN0eWxlLnNldFByb3BlcnR5KCItLWl0ZW0taGVpZ2h0IixgJHt0aGlzLml0ZW1IZWlnaHR9cHhgKSx3ZTxSZT9QZT53ZSYmUGU8PVJlJiZiZS5jbGFzc0xpc3QuYWRkKCJtb3ZlLXVwIik6d2U+UmUmJlBlPj1SZSYmUGU8d2UmJmJlLmNsYXNzTGlzdC5hZGQoIm1vdmUtZG93biIpKX0pfWhhbmRsZUdsb2JhbERyYWdFbmQoKXt0aGlzLmJvdW5kSGFuZGxlR2xvYmFsRHJhZ092ZXImJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJkcmFnb3ZlciIsdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdPdmVyKSx0aGlzLmJvdW5kSGFuZGxlR2xvYmFsRHJhZ092ZXI9bnVsbCksdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdFbmQmJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJkcmFnZW5kIix0aGlzLmJvdW5kSGFuZGxlR2xvYmFsRHJhZ0VuZCksdGhpcy5ib3VuZEhhbmRsZUdsb2JhbERyYWdFbmQ9bnVsbCk7bGV0IFRlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmxpc3QtaXRlbXMiKSx3ZT1UZT8ucXVlcnlTZWxlY3RvckFsbCgiLmxpc3QtaXRlbSIpLFJlPXdlPy5bdGhpcy5kcmFnZ2VkSW5kZXhdO2lmKHRoaXMuZHJhZ2dlZEluZGV4PT09LTF8fHRoaXMudGFyZ2V0SW5kZXg9PT0tMXx8dGhpcy5kcmFnZ2VkSW5kZXg9PT10aGlzLnRhcmdldEluZGV4KXtpZihSZSYmdGhpcy5kcmFnZ2VkSW5kZXghPT0tMSl7UmUuc3R5bGUudHJhbnNpdGlvbj0idHJhbnNmb3JtIDAuMTVzIGVhc2UiLFJlLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgwKSI7bGV0IE50PSExLFhhPXMoKCk9PntOdHx8KE50PSEwLFJlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLFhhKSx0aGlzLmNsZWFudXBEcmFnU3RhdGUoVGUsd2UpKX0sIm9uUmV0dXJuIik7UmUuYWRkRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsWGEse29uY2U6ITB9KSxzZXRUaW1lb3V0KFhhLDIwMCl9ZWxzZSB0aGlzLmNsZWFudXBEcmFnU3RhdGUoVGUsd2UpO3JldHVybn1sZXQgZmU9dGhpcy5vcmlnaW5hbEl0ZW1SZWN0c1t0aGlzLmRyYWdnZWRJbmRleF0sYmU9dGhpcy5vcmlnaW5hbEl0ZW1SZWN0c1t0aGlzLnRhcmdldEluZGV4XTtpZighZmV8fCFiZXx8IVJlKXt0aGlzLmNsZWFudXBEcmFnU3RhdGUoVGUsd2UpO3JldHVybn1sZXQgUGU7dGhpcy50YXJnZXRJbmRleD50aGlzLmRyYWdnZWRJbmRleD9QZT1iZS5ib3R0b20tZmUuYm90dG9tOlBlPWJlLnRvcC1mZS50b3AsUmUuc3R5bGUudHJhbnNpdGlvbj0idHJhbnNmb3JtIDAuMTVzIGVhc2UiLFJlLnN0eWxlLnRyYW5zZm9ybT1gdHJhbnNsYXRlWSgke1BlfXB4KWA7bGV0IHB0PSExLG10PXMoKCk9PntpZihwdClyZXR1cm47cHQ9ITAsUmUucmVtb3ZlRXZlbnRMaXN0ZW5lcigidHJhbnNpdGlvbmVuZCIsbXQpLFRlPy5jbGFzc0xpc3QuYWRkKCJkcm9wcGluZyIpLFRlPy5vZmZzZXRIZWlnaHQsd2U/LmZvckVhY2goSmE9PntKYS5jbGFzc0xpc3QucmVtb3ZlKCJtb3ZlLXVwIiwibW92ZS1kb3duIiwiZHJhZ2dpbmciKSxKYS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgidHJhbnNmb3JtIiksSmEuc3R5bGUucmVtb3ZlUHJvcGVydHkoInRyYW5zaXRpb24iKX0pO2xldCBOdD1bLi4udGhpcy52YWx1ZV0sW1hhXT1OdC5zcGxpY2UodGhpcy5kcmFnZ2VkSW5kZXgsMSk7TnQuc3BsaWNlKHRoaXMudGFyZ2V0SW5kZXgsMCxYYSksdGhpcy52YWx1ZT1OdCx0aGlzLmVtaXRDaGFuZ2UoKSx0aGlzLmRyYWdnZWRJbmRleD0tMSx0aGlzLmRyYWdPdmVySW5kZXg9LTEsdGhpcy50YXJnZXRJbmRleD0tMSx0aGlzLmRyYWdTdGFydFk9MCx0aGlzLmRyYWdDdXJyZW50WT0wLHRoaXMub3JpZ2luYWxJdGVtUmVjdHM9W10sdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT57bGV0IEphPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvckFsbCgiLmxpc3QtaXRlbSIpO0phPy5mb3JFYWNoKHZzPT57dnMuc3R5bGUudHJhbnNpdGlvbj0ibm9uZSJ9KSx0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5saXN0LWl0ZW1zIik/Lm9mZnNldEhlaWdodCxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntKYT8uZm9yRWFjaCh2cz0+e3ZzLnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ0cmFuc2l0aW9uIil9KSxUZT8uY2xhc3NMaXN0LnJlbW92ZSgiZHJvcHBpbmciLCJpcy1kcmFnZ2luZyIpfSl9KX0sIm9uVHJhbnNpdGlvbkVuZCIpO1JlLmFkZEV2ZW50TGlzdGVuZXIoInRyYW5zaXRpb25lbmQiLG10LHtvbmNlOiEwfSksc2V0VGltZW91dChtdCwyMDApfWNsZWFudXBEcmFnU3RhdGUoVGUsd2Upe1RlPy5jbGFzc0xpc3QuYWRkKCJkcm9wcGluZyIpLFRlPy5vZmZzZXRIZWlnaHQsd2U/LmZvckVhY2goUmU9PntSZS5jbGFzc0xpc3QucmVtb3ZlKCJtb3ZlLXVwIiwibW92ZS1kb3duIiwiZHJhZ2dpbmciKSxSZS5zdHlsZS5yZW1vdmVQcm9wZXJ0eSgidHJhbnNmb3JtIiksUmUuc3R5bGUucmVtb3ZlUHJvcGVydHkoInRyYW5zaXRpb24iKX0pLHRoaXMuZHJhZ2dlZEluZGV4PS0xLHRoaXMuZHJhZ092ZXJJbmRleD0tMSx0aGlzLnRhcmdldEluZGV4PS0xLHRoaXMuZHJhZ1N0YXJ0WT0wLHRoaXMuZHJhZ0N1cnJlbnRZPTAsdGhpcy5vcmlnaW5hbEl0ZW1SZWN0cz1bXSx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PntsZXQgUmU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCIubGlzdC1pdGVtIik7UmU/LmZvckVhY2goZmU9PntmZS5zdHlsZS50cmFuc2l0aW9uPSJub25lIn0pLHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmxpc3QtaXRlbXMiKT8ub2Zmc2V0SGVpZ2h0LHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e1JlPy5mb3JFYWNoKGZlPT57ZmUuc3R5bGUucmVtb3ZlUHJvcGVydHkoInRyYW5zaXRpb24iKX0pLFRlPy5jbGFzc0xpc3QucmVtb3ZlKCJkcm9wcGluZyIsImlzLWRyYWdnaW5nIil9KX0pfWhhbmRsZURyYWdFbmQoKXt0aGlzLmhhbmRsZUdsb2JhbERyYWdFbmQoKX1oYW5kbGVEcmFnT3ZlcihUZSx3ZSl7IXRoaXMuc29ydGFibGV8fHRoaXMuZGlzYWJsZWR8fChUZS5wcmV2ZW50RGVmYXVsdCgpLFRlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PSJtb3ZlIil9aGFuZGxlRHJhZ0xlYXZlKCl7fWhhbmRsZURyb3AoVGUsd2UpeyF0aGlzLnNvcnRhYmxlfHx0aGlzLmRpc2FibGVkfHxUZS5wcmV2ZW50RGVmYXVsdCgpfWVtaXRDaGFuZ2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjaGFuZ2UiLHtkZXRhaWw6e3ZhbHVlOnRoaXMudmFsdWV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9Z2V0VmFsdWUoKXtyZXR1cm4gdGhpcy52YWx1ZX1zZXRWYWx1ZShUZSl7dGhpcy52YWx1ZT1UZXx8W119YXN5bmMgdmFsaWRhdGUoKXtyZXR1cm4gdGhpcy5yZXF1aXJlZCYmKCF0aGlzLnZhbHVlfHx0aGlzLnZhbHVlLmxlbmd0aD09PTApPyh0aGlzLnZhbGlkYXRpb25UZXh0PSJBdCBsZWFzdCBvbmUgaXRlbSBpcyByZXF1aXJlZCIsITEpOnRoaXMubWluSXRlbXMmJnRoaXMudmFsdWUubGVuZ3RoPHRoaXMubWluSXRlbXM/KHRoaXMudmFsaWRhdGlvblRleHQ9YEF0IGxlYXN0ICR7dGhpcy5taW5JdGVtc30gaXRlbXMgcmVxdWlyZWRgLCExKToodGhpcy52YWxpZGF0aW9uVGV4dD0iIiwhMCl9c3RhdGlje1d0KHIsdCl9fTtyZXR1cm4gU3Q9cn0pKCl9KTt2YXIgVCRhLEwkYSwkJGEsRCRhLEEkYSxFJGEsUCRhLGRpYSx1aWE9ZigoKT0+e2xlKCk7SWEoKTtVcygpO1QkYT1zKCgpPT57bGV0IGE9RGF0ZS5ub3coKTtyZXR1cm5be2lkOmB0aXRsZS0ke2F9YCx0eXBlOiJoZWFkaW5nLTEiLGNvbnRlbnQ6IlN5c3RlbSBQZXJmb3JtYW5jZSBSZXBvcnQifSx7aWQ6YGRhdGUtJHthKzF9YCx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6YEdlbmVyYXRlZCBvbjogJHtuZXcgRGF0ZSgpLnRvTG9jYWxlU3RyaW5nKCl9YH0se2lkOmBzdW1tYXJ5LWhlYWRpbmctJHthKzJ9YCx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6IkV4ZWN1dGl2ZSBTdW1tYXJ5In0se2lkOmBzdW1tYXJ5LSR7YSszfWAsdHlwZToicGFyYWdyYXBoIixjb250ZW50OiJUaGlzIHJlcG9ydCBwcm92aWRlcyBhbiBhbmFseXNpcyBvZiBzeXN0ZW0gcGVyZm9ybWFuY2UgbWV0cmljcyBvdmVyIHRoZSBsYXN0IDMwIGRheXMuIn0se2lkOmBtZXRyaWNzLWhlYWRpbmctJHthKzR9YCx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6IktleSBNZXRyaWNzIn0se2lkOmBtZXRyaWNzLWxpc3QtJHthKzV9YCx0eXBlOiJsaXN0Iixjb250ZW50OmBBdmVyYWdlIHJlc3BvbnNlIHRpbWU6IDEyNG1zClVwdGltZTogOTkuOTclCkNQVSB1dGlsaXphdGlvbjogNDUlCk1lbW9yeSB1c2FnZTogMi4zR0IgLyA4R0JgLG1ldGFkYXRhOntsaXN0VHlwZToiYnVsbGV0In19LHtpZDpgYW5hbHlzaXMtaGVhZGluZy0ke2ErNn1gLHR5cGU6ImhlYWRpbmctMiIsY29udGVudDoiUGVyZm9ybWFuY2UgQW5hbHlzaXMifSx7aWQ6YGFuYWx5c2lzLXF1b3RlLSR7YSs3fWAsdHlwZToicXVvdGUiLGNvbnRlbnQ6IlN5c3RlbSBwZXJmb3JtYW5jZSByZW1haW5zIHdpdGhpbiBhY2NlcHRhYmxlIHBhcmFtZXRlcnMgd2l0aCByb29tIGZvciBvcHRpbWl6YXRpb24gaW4gbWVtb3J5IG1hbmFnZW1lbnQuIn0se2lkOmBjb2RlLWhlYWRpbmctJHthKzh9YCx0eXBlOiJoZWFkaW5nLTMiLGNvbnRlbnQ6IlNhbXBsZSBRdWVyeSBQZXJmb3JtYW5jZSJ9LHtpZDpgY29kZS1ibG9jay0ke2ErOX1gLHR5cGU6ImNvZGUiLGNvbnRlbnQ6YFNFTEVDVCBBVkcocmVzcG9uc2VfdGltZSkgYXMgYXZnX3RpbWUsCiAgICAgICBDT1VOVCgqKSBhcyB0b3RhbF9yZXF1ZXN0cywKICAgICAgIERBVEUoY3JlYXRlZF9hdCkgYXMgZGF0ZQpGUk9NIHBlcmZvcm1hbmNlX2xvZ3MKV0hFUkUgY3JlYXRlZF9hdCA+PSBOT1coKSAtIElOVEVSVkFMIDMwIERBWQpHUk9VUCBCWSBEQVRFKGNyZWF0ZWRfYXQpCk9SREVSIEJZIGRhdGUgREVTQztgLG1ldGFkYXRhOntsYW5ndWFnZToic3FsIn19LHtpZDpgZGl2aWRlci0ke2ErMTB9YCx0eXBlOiJkaXZpZGVyIixjb250ZW50OiIifSx7aWQ6YGZvb3Rlci0ke2ErMTF9YCx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6IlJlcG9ydCBnZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBTeXN0ZW0gTW9uaXRvciB2Mi41LjAifV19LCJnZW5lcmF0ZVJlcG9ydEJsb2NrcyIpLEwkYT1zKCgpPT57bGV0IGE9RGF0ZS5ub3coKTtyZXR1cm5be2lkOmByZWNpcGUtdGl0bGUtJHthfWAsdHlwZToiaGVhZGluZy0xIixjb250ZW50OiJDbGFzc2ljIE1hcmdoZXJpdGEgUGl6emEifSx7aWQ6YHJlY2lwZS1pbnRyby0ke2ErMX1gLHR5cGU6InBhcmFncmFwaCIsY29udGVudDoiQSB0cmFkaXRpb25hbCBJdGFsaWFuIHBpenphIHdpdGggZnJlc2ggYmFzaWwsIG1venphcmVsbGEsIGFuZCB0b21hdG8gc2F1Y2UuIn0se2lkOmBpbmdyZWRpZW50cy1oZWFkaW5nLSR7YSsyfWAsdHlwZToiaGVhZGluZy0yIixjb250ZW50OiJcdXsxRjM1NX0gSW5ncmVkaWVudHMifSx7aWQ6YGRvdWdoLWhlYWRpbmctJHthKzN9YCx0eXBlOiJoZWFkaW5nLTMiLGNvbnRlbnQ6IkZvciB0aGUgRG91Z2g6In0se2lkOmBkb3VnaC1saXN0LSR7YSs0fWAsdHlwZToibGlzdCIsY29udGVudDpgNTAwZyB0aXBvICIwMCIgZmxvdXIKMzI1bWwgd2FybSB3YXRlcgoxMGcgc2FsdAo3ZyBhY3RpdmUgZHJ5IHllYXN0CjIgdGJzcCBvbGl2ZSBvaWxgLG1ldGFkYXRhOntsaXN0VHlwZToiYnVsbGV0In19LHtpZDpgdG9wcGluZ3MtaGVhZGluZy0ke2ErNX1gLHR5cGU6ImhlYWRpbmctMyIsY29udGVudDoiRm9yIHRoZSBUb3BwaW5nczoifSx7aWQ6YHRvcHBpbmdzLWxpc3QtJHthKzZ9YCx0eXBlOiJsaXN0Iixjb250ZW50OmA0MDBnIGNhbm5lZCBTYW4gTWFyemFubyB0b21hdG9lcwoyNTBnIGZyZXNoIG1venphcmVsbGEKRnJlc2ggYmFzaWwgbGVhdmVzCkV4dHJhIHZpcmdpbiBvbGl2ZSBvaWwKU2FsdCBhbmQgcGVwcGVyIHRvIHRhc3RlYCxtZXRhZGF0YTp7bGlzdFR5cGU6ImJ1bGxldCJ9fSx7aWQ6YGluc3RydWN0aW9ucy1oZWFkaW5nLSR7YSs3fWAsdHlwZToiaGVhZGluZy0yIixjb250ZW50OiJcdXsxRjQ2OH1cdTIwMERcdXsxRjM3M30gSW5zdHJ1Y3Rpb25zIn0se2lkOmBzdGVwcy1saXN0LSR7YSs4fWAsdHlwZToibGlzdCIsY29udGVudDpgRGlzc29sdmUgeWVhc3QgaW4gd2FybSB3YXRlciBhbmQgbGV0IHN0YW5kIGZvciA1IG1pbnV0ZXMKTWl4IGZsb3VyIGFuZCBzYWx0LCBjcmVhdGUgYSB3ZWxsIGluIGNlbnRlcgpBZGQgeWVhc3QgbWl4dHVyZSBhbmQgb2xpdmUgb2lsCktuZWFkIGZvciAxMCBtaW51dGVzIHVudGlsIHNtb290aApMZXQgcmlzZSBmb3IgMS0yIGhvdXJzIHVudGlsIGRvdWJsZWQKUHVuY2ggZG93biBhbmQgZGl2aWRlIGludG8gcG9ydGlvbnMKUm9sbCBvdXQgZWFjaCBwb3J0aW9uIHRvIDEyLWluY2ggY2lyY2xlcwpUb3Agd2l0aCBjcnVzaGVkIHRvbWF0b2VzLCBtb3p6YXJlbGxhLCBhbmQgYmFzaWwKQmFrZSBhdCA0NzVceEIwRiAoMjQ1XHhCMEMpIGZvciAxMC0xMiBtaW51dGVzYCxtZXRhZGF0YTp7bGlzdFR5cGU6Im9yZGVyZWQifX0se2lkOmB0aXAtJHthKzl9YCx0eXBlOiJxdW90ZSIsY29udGVudDoiUHJvIHRpcDogRm9yIGFuIGF1dGhlbnRpYyB0YXN0ZSwgdXNlIGEgcGl6emEgc3RvbmUgYW5kIHByZWhlYXQgaXQgaW4gdGhlIG92ZW4gZm9yIGF0IGxlYXN0IDMwIG1pbnV0ZXMgYmVmb3JlIGJha2luZy4ifSx7aWQ6YGRpdmlkZXItJHthKzEwfWAsdHlwZToiZGl2aWRlciIsY29udGVudDoiIn0se2lkOmBzZXJ2aW5ncy0ke2ErMTF9YCx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6IlNlcnZpbmdzOiA0IHBpenphcyB8IFByZXAgdGltZTogMiBob3VycyB8IENvb2sgdGltZTogMTIgbWludXRlcyJ9XX0sImdlbmVyYXRlUmVjaXBlQmxvY2tzIiksJCRhPXMoYT0+e2xldCBlPXt9O3JldHVybiBlLmJhc2ljPWEucXVlcnlTZWxlY3RvcigiI2VkaXRvci1iYXNpYyIpLGUuYXJ0aWNsZT1hLnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItYXJ0aWNsZSIpLGUuZHJhZ0Ryb3A9YS5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLWRyYWdkcm9wIiksZS50dXRvcmlhbD1hLnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItdHV0b3JpYWwiKSxlLm1lZXRpbmc9YS5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLW1lZXRpbmciKSxlLnJlY2lwZT1hLnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItcmVjaXBlIiksZS50ZWNobmljYWw9YS5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLXRlY2huaWNhbCIpLGUuZm9ybUludGVncmF0aW9uPWEucXVlcnlTZWxlY3RvcigiI2VkaXRvci1mb3JtLWludGVncmF0aW9uIiksZS5wcm9ncmFtbWF0aWM9YS5xdWVyeVNlbGVjdG9yKCIjZWRpdG9yLXByb2dyYW1tYXRpYyIpLGUuZXhwb3J0RGVtbz1hLnF1ZXJ5U2VsZWN0b3IoIiNlZGl0b3ItZXhwb3J0IiksZX0sImluaXRpYWxpemVFZGl0b3JzIiksRCRhPXMoKGEsZSk9PntsZXQgdD1hLnF1ZXJ5U2VsZWN0b3IoIiNidG4tZ2VuZXJhdGUtcmVwb3J0Iikscj1hLnF1ZXJ5U2VsZWN0b3IoIiNidG4tZ2VuZXJhdGUtcmVjaXBlIiksaT1hLnF1ZXJ5U2VsZWN0b3IoIiNidG4tY2xlYXItZWRpdG9yIik7dCYmdC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLmltcG9ydEJsb2NrcyhUJGEoKSl9KSxyJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2UuaW1wb3J0QmxvY2tzKEwkYSgpKX0pLGkmJmkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ZS5pbXBvcnRCbG9ja3MoW10pfSl9LCJzZXR1cFByb2dyYW1tYXRpY0RlbW8iKSxBJGE9cygoYSxlKT0+e2xldCB0PWEucXVlcnlTZWxlY3RvcigiI2J0bi1leHBvcnQtYmxvY2tzIikscj1hLnF1ZXJ5U2VsZWN0b3IoIiNidG4tZXhwb3J0LWh0bWwiKSxpPWEucXVlcnlTZWxlY3RvcigiI2J0bi1leHBvcnQtbWFya2Rvd24iKSxvPWEucXVlcnlTZWxlY3RvcigiI2J0bi1zYXZlLXN0YXRlIiksbj1hLnF1ZXJ5U2VsZWN0b3IoIiNidG4tcmVzdG9yZS1zdGF0ZSIpLGw9bnVsbDt0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2xldCBkPWUuZXhwb3J0QmxvY2tzKCk7Y29uc29sZS5sb2coIkV4cG9ydGVkIGJsb2NrczoiLGQpLGFsZXJ0KGBFeHBvcnRlZCAke2QubGVuZ3RofSBibG9ja3MgdG8gY29uc29sZS4gQ2hlY2sgZGV2ZWxvcGVyIHRvb2xzLmApfSksciYmci5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntsZXQgZD1lLmV4cG9ydEFzSHRtbCgpO2NvbnNvbGUubG9nKCJIVE1MIEV4cG9ydDoiLGQpLGFsZXJ0KCJIVE1MIGV4cG9ydGVkIHRvIGNvbnNvbGUuIENoZWNrIGRldmVsb3BlciB0b29scy4iKX0pLGkmJmkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57bGV0IGQ9ZS5leHBvcnRBc01hcmtkb3duKCk7Y29uc29sZS5sb2coIk1hcmtkb3duIEV4cG9ydDoiLGQpLGFsZXJ0KCJNYXJrZG93biBleHBvcnRlZCB0byBjb25zb2xlLiBDaGVjayBkZXZlbG9wZXIgdG9vbHMuIil9KSxvJiZvLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2w9ZS5leHBvcnRTdGF0ZSgpLGNvbnNvbGUubG9nKCJTYXZlZCBzdGF0ZToiLGwpLGFsZXJ0KCJFZGl0b3Igc3RhdGUgc2F2ZWQhIil9KSxuJiZuLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2w/KGUuaW1wb3J0U3RhdGUobCksYWxlcnQoIkVkaXRvciBzdGF0ZSByZXN0b3JlZCEiKSk6YWxlcnQoIk5vIHNhdmVkIHN0YXRlIGZvdW5kLiBTYXZlIHN0YXRlIGZpcnN0ISIpfSl9LCJzZXR1cEV4cG9ydERlbW8iKSxFJGE9cygoYSxlLHQpPT57bGV0IHI9YS5xdWVyeVNlbGVjdG9yKCIjYnRuLXNob3ctaHRtbC1vdXRwdXQiKSxpPWEucXVlcnlTZWxlY3RvcigiI291dHB1dC1wcmV2aWV3LWh0bWwiKTtyJiZpJiZlJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e2kudGV4dENvbnRlbnQ9ZS5nZXRWYWx1ZSgpLGkuY2xhc3NMaXN0LmFkZCgidmlzaWJsZSIpfSk7bGV0IG89YS5xdWVyeVNlbGVjdG9yKCIjYnRuLXNob3ctbWFya2Rvd24tb3V0cHV0Iiksbj1hLnF1ZXJ5U2VsZWN0b3IoIiNvdXRwdXQtcHJldmlldy1tYXJrZG93biIpO28mJm4mJnQmJm8uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57bi50ZXh0Q29udGVudD10LmdldFZhbHVlKCksbi5jbGFzc0xpc3QuYWRkKCJ2aXNpYmxlIil9KX0sInNldHVwT3V0cHV0Rm9ybWF0RGVtbyIpLFAkYT1zKGE9PnthLmFydGljbGUmJnNldFRpbWVvdXQoKCk9PntsZXQgZT1be2lkOiJpbnRyby1oZWFkaW5nLSIrRGF0ZS5ub3coKSx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6IkludHJvZHVjdGlvbiB0byBNb2Rlcm4gV2ViIERldmVsb3BtZW50In0se2lkOiJpbnRyby1wYXJhLSIrRGF0ZS5ub3coKSx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6Ik1vZGVybiB3ZWIgZGV2ZWxvcG1lbnQgaGFzIGV2b2x2ZWQgc2lnbmlmaWNhbnRseSBvdmVyIHRoZSBwYXN0IGRlY2FkZS4gSW4gdGhpcyBhcnRpY2xlLCB3ZSdsbCBleHBsb3JlIHRoZSBrZXkgdGVjaG5vbG9naWVzIGFuZCBiZXN0IHByYWN0aWNlcyB0aGF0IGRlZmluZSB3ZWIgZGV2ZWxvcG1lbnQgaW4gMjAyNC4ifSx7aWQ6InRlY2gtaGVhZGluZy0iK0RhdGUubm93KCksdHlwZToiaGVhZGluZy0zIixjb250ZW50OiJLZXkgVGVjaG5vbG9naWVzIn0se2lkOiJ0ZWNoLWxpc3QtIitEYXRlLm5vdygpLHR5cGU6Imxpc3QiLGNvbnRlbnQ6YFR5cGVTY3JpcHQgLSBUeXBlLXNhZmUgSmF2YVNjcmlwdCBkZXZlbG9wbWVudApXZWIgQ29tcG9uZW50cyAtIE5hdGl2ZSBjb21wb25lbnQgbW9kZWwKRVMgTW9kdWxlcyAtIE1vZGVybiBtb2R1bGUgc3lzdGVtCldlYkFzc2VtYmx5IC0gSGlnaC1wZXJmb3JtYW5jZSBjb21wdXRpbmdgLG1ldGFkYXRhOntsaXN0VHlwZToib3JkZXJlZCJ9fSx7aWQ6InF1b3RlLSIrRGF0ZS5ub3coKSx0eXBlOiJxdW90ZSIsY29udGVudDoiVGhlIGJlc3Qgd2F5IHRvIHByZWRpY3QgdGhlIGZ1dHVyZSBpcyB0byBpbnZlbnQgaXQuIC0gQWxhbiBLYXkifSx7aWQ6ImV4YW1wbGUtaGVhZGluZy0iK0RhdGUubm93KCksdHlwZToiaGVhZGluZy0zIixjb250ZW50OiJDb2RlIEV4YW1wbGUifSx7aWQ6ImNvZGUtZXhhbXBsZS0iK0RhdGUubm93KCksdHlwZToiY29kZSIsY29udGVudDpgY2xhc3MgTW9kZXJuV2ViQXBwIGV4dGVuZHMgSFRNTEVsZW1lbnQgewogIGNvbnN0cnVjdG9yKCkgewogICAgc3VwZXIoKTsKICAgIHRoaXMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pOwogIH0KICAKICBjb25uZWN0ZWRDYWxsYmFjaygpIHsKICAgIHRoaXMucmVuZGVyKCk7CiAgfQp9YCxtZXRhZGF0YTp7bGFuZ3VhZ2U6ImphdmFzY3JpcHQifX1dO2EuYXJ0aWNsZS5pbXBvcnRCbG9ja3MoZSl9LDUwMCksYS5kcmFnRHJvcCYmc2V0VGltZW91dCgoKT0+e2xldCBlPVt7aWQ6ImRyYWctdGl0bGUtIitEYXRlLm5vdygpLHR5cGU6ImhlYWRpbmctMSIsY29udGVudDoiRHJhZyAmIERyb3AgRGVtbyJ9LHtpZDoiZHJhZy1pbnRyby0iK0RhdGUubm93KCksdHlwZToicGFyYWdyYXBoIixjb250ZW50OiJUaGlzIGVkaXRvciBkZW1vbnN0cmF0ZXMgZHJhZyBhbmQgZHJvcCBmdW5jdGlvbmFsaXR5LiBUcnkgZHJhZ2dpbmcgdGhlc2UgYmxvY2tzIGFyb3VuZCEifSx7aWQ6ImRyYWctaGVhZGluZy0iK0RhdGUubm93KCksdHlwZToiaGVhZGluZy0yIixjb250ZW50OiJIb3cgSXQgV29ya3MifSx7aWQ6ImRyYWctbGlzdC0iK0RhdGUubm93KCksdHlwZToibGlzdCIsY29udGVudDpgSG92ZXIgb3ZlciBhbnkgYmxvY2sgdG8gc2VlIHRoZSBkcmFnIGhhbmRsZQpDbGljayBhbmQgaG9sZCB0aGUgaGFuZGxlIHRvIHN0YXJ0IGRyYWdnaW5nCkRyYWcgdG8gcmVvcmRlciBibG9ja3MKUmVsZWFzZSB0byBkcm9wIGluIHRoZSBuZXcgcG9zaXRpb25gLG1ldGFkYXRhOntsaXN0VHlwZToib3JkZXJlZCJ9fSx7aWQ6ImRyYWctcXVvdGUtIitEYXRlLm5vdygpLHR5cGU6InF1b3RlIixjb250ZW50OiJUaGUgZHJhZyBhbmQgZHJvcCBmZWF0dXJlIG1ha2VzIGl0IGVhc3kgdG8gcmVvcmdhbml6ZSB5b3VyIGNvbnRlbnQgd2l0aG91dCBjdXR0aW5nIGFuZCBwYXN0aW5nLiJ9LHtpZDoiZHJhZy1kaXZpZGVyLSIrRGF0ZS5ub3coKSx0eXBlOiJkaXZpZGVyIixjb250ZW50OiIifSx7aWQ6ImRyYWctZm9vdGVyLSIrRGF0ZS5ub3coKSx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6Ik5vdGU6IERpdmlkZXIgYmxvY2tzIGNhbm5vdCBiZSBkcmFnZ2VkLCBidXQgb3RoZXIgYmxvY2tzIGNhbiBiZSBtb3ZlZCBhcm91bmQgdGhlbS4ifV07YS5kcmFnRHJvcC5pbXBvcnRCbG9ja3MoZSl9LDYwMCl9LCJwb3B1bGF0ZUluaXRpYWxDb250ZW50IiksZGlhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2F3YWl0IG5ldyBQcm9taXNlKHQ9PnNldFRpbWVvdXQodCw1MDApKTtsZXQgZT0kJGEoYSk7ZS5wcm9ncmFtbWF0aWMmJkQkYShhLGUucHJvZ3JhbW1hdGljKSxlLmV4cG9ydERlbW8mJkEkYShhLGUuZXhwb3J0RGVtbyksRSRhKGEsZS5tZWV0aW5nLGUucmVjaXBlKSxQJGEoZSksY29uc29sZS5sb2coIldZU0lXWUcgRGVtbyBpbml0aWFsaXplZCB3aXRoIGVkaXRvcnM6IixPYmplY3Qua2V5cyhlKSl9fT4KICA8c3R5bGU+CiAgICAke1FgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMzJweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OwogICAgICB9CiAgICAgIAogICAgICAucGFuZWwtZGVzY3JpcHRpb24gewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICBjb2xvcjogIzY2NjsKICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgfQogICAgICAKICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgIC5wYW5lbC1kZXNjcmlwdGlvbiB7CiAgICAgICAgICBjb2xvcjogIzk5OTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5mZWF0dXJlLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5mZWF0dXJlLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBjb2xvcjogIzU1NTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5mZWF0dXJlLWljb24gewogICAgICAgIGNvbG9yOiAjMDA2NmNjOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAuZmVhdHVyZS1pdGVtIHsKICAgICAgICAgIGNvbG9yOiAjYWFhOwogICAgICAgIH0KICAgICAgICAuZmVhdHVyZS1pY29uIHsKICAgICAgICAgIGNvbG9yOiAjNGQ5NGZmOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnNob3J0Y3V0cy1ib3ggewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTAyLCAyMDQsIDAuMDUpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMTAyLCAyMDQsIDAuMik7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgfQoKICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgIC5zaG9ydGN1dHMtYm94IHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNzcsIDE0OCwgMjU1LCAwLjEpOwogICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDc3LCAxNDgsIDI1NSwgMC4zKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5zaG9ydGN1dHMtdGl0bGUgewogICAgICAgIG1hcmdpbjogMCAwIDEycHggMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogIzAwNjZjYzsKICAgICAgfQoKICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgIC5zaG9ydGN1dHMtdGl0bGUgewogICAgICAgICAgY29sb3I6ICM0ZDk0ZmY7CiAgICAgICAgfQogICAgICB9CgogICAgICAuc2hvcnRjdXRzLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTgwcHgsIDFmcikpOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuc2hvcnRjdXQtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogIzU1NTsKICAgICAgfQoKICAgICAgLnNob3J0Y3V0LWtleSB7CiAgICAgICAgYmFja2dyb3VuZDogI2YwZjBmMDsKICAgICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogIzMzMzsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgLnNob3J0Y3V0LWl0ZW0gewogICAgICAgICAgY29sb3I6ICNiYmI7CiAgICAgICAgfQogICAgICAgIC5zaG9ydGN1dC1rZXkgewogICAgICAgICAgYmFja2dyb3VuZDogIzMzMzsKICAgICAgICAgIGNvbG9yOiAjZGRkOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLm91dHB1dC1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMzIwcHgsIDFmcikpOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgICB9CgogICAgICAub3V0cHV0LWNhcmQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5vdXRwdXQtYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICB9CgogICAgICAub3V0cHV0LXByZXZpZXcgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxNSwgMjMsIDQyLCAwLjA0KTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LCAjMGYxNzJhKTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE1LCAyMywgNDIsIDAuMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgTW9ubycsICdGaXJhIENvZGUnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIG1heC1oZWlnaHQ6IDI4MHB4OwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICB9CgogICAgICA6aG9zdChbdGhlbWU9J2RhcmsnXSkgLm91dHB1dC1wcmV2aWV3IHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1MCwgMjUwLCAyNTAsIDAuMDYpOwogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTAsIDI1MCwgMjUwLCAwLjE1KTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LCAjZjRmNGY1KTsKICAgICAgfQoKICAgICAgLm91dHB1dC1wcmV2aWV3LnZpc2libGUgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHsKICAgICAgICAub3V0cHV0LWdyaWQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgfQogICAgICB9CiAgICAgIAogICAgICAudGlwcy1ib3ggewogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjBmOGZmOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgfQogICAgICAKICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgIC50aXBzLWJveCB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDc3LCAxNDgsIDI1NSwgMC4xKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIC50aXBzLWJveCBzdHJvbmcgewogICAgICAgIGNvbG9yOiAjMDA2NmNjOwogICAgICB9CiAgICAgIAogICAgICBAbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKSB7CiAgICAgICAgLnRpcHMtYm94IHN0cm9uZyB7CiAgICAgICAgICBjb2xvcjogIzRkOTRmZjsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIC50aXBzLWxpc3QgewogICAgICAgIG1hcmdpbjogOHB4IDAgMCAwOwogICAgICAgIHBhZGRpbmctbGVmdDogMjRweDsKICAgICAgfQogICAgICAKICAgICAgLnRpcHMtbGlzdCBsaSB7CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZThlOGU4OwogICAgICAgIGJvcmRlci1jb2xvcjogI2NjYzsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDFweCk7CiAgICAgIH0KICAgICAgCiAgICAgIEBtZWRpYSAocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIHsKICAgICAgICAuZGVtby1idXR0b24gewogICAgICAgICAgYmFja2dyb3VuZDogIzMzMzsKICAgICAgICAgIGJvcmRlci1jb2xvcjogIzU1NTsKICAgICAgICAgIGNvbG9yOiAjZGRkOwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuZGVtby1idXR0b246aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogIzQ0NDsKICAgICAgICAgIGJvcmRlci1jb2xvcjogIzY2NjsKICAgICAgICB9CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjUwcHgsIDFmcikpOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICAuZXhwb3J0LWluZm8tY2FyZCB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLmJsb2NrcyB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAxMDIsIDIwNCwgMC4xKTsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQuaHRtbCB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg3NiwgMTc1LCA4MCwgMC4xKTsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQubWFya2Rvd24gewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAxNTIsIDAsIDAuMSk7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLnN0YXRlIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE1NiwgMzksIDE3NiwgMC4xKTsKICAgICAgfQogICAgICAKICAgICAgLmV4cG9ydC1pbmZvLWNhcmQgc3Ryb25nIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLmJsb2NrcyBzdHJvbmcgewogICAgICAgIGNvbG9yOiAjMDA2NmNjOwogICAgICB9CiAgICAgIAogICAgICAuZXhwb3J0LWluZm8tY2FyZC5odG1sIHN0cm9uZyB7CiAgICAgICAgY29sb3I6ICM0Q0FGNTA7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLm1hcmtkb3duIHN0cm9uZyB7CiAgICAgICAgY29sb3I6ICNGRjk4MDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkLnN0YXRlIHN0cm9uZyB7CiAgICAgICAgY29sb3I6ICM5QzI3QjA7CiAgICAgIH0KICAgICAgCiAgICAgIC5leHBvcnQtaW5mby1jYXJkIHAgewogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMS4gXHV7MUY2ODB9IE1vZGVybiBXWVNJV1lHIEVkaXRvciJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBBIHBvd2VyZnVsIGJsb2NrLWJhc2VkIGVkaXRvciB3aXRoIHNsYXNoIGNvbW1hbmRzLCBrZXlib2FyZCBzaG9ydGN1dHMsIGFuZCBtdWx0aXBsZSBvdXRwdXQgZm9ybWF0cy4gCiAgICAgICAgICBQZXJmZWN0IGZvciBjb250ZW50IGNyZWF0aW9uLCBibG9nIHBvc3RzLCBkb2N1bWVudGF0aW9uLCBhbmQgbW9yZS4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1ncmlkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPuKckzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+U2xhc2ggY29tbWFuZHMgKC8pPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWl0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj7inJM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPktleWJvYXJkIHNob3J0Y3V0czwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+4pyTPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj5CbG9jay1iYXNlZCBlZGl0aW5nPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmZWF0dXJlLWl0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj7inJM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPkRyYWcgJiBkcm9wIHJlb3JkZXJpbmc8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZlYXR1cmUtaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPuKckzwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+SFRNTCAmIE1hcmtkb3duIG91dHB1dDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+4pyTPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj5EYXJrIG1vZGUgc3VwcG9ydDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmVhdHVyZS1pdGVtIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+4pyTPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj5Nb2JpbGUgcmVzcG9uc2l2ZTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcgCiAgICAgICAgICBpZD0iZWRpdG9yLWJhc2ljIgogICAgICAgICAgbGFiZWw9IlJpY2ggVGV4dCBFZGl0b3IiIAogICAgICAgICAgZGVzY3JpcHRpb249IlN0YXJ0IHR5cGluZyBvciB1c2UgJy8nIHRvIGluc2VydCBkaWZmZXJlbnQgYmxvY2sgdHlwZXMiCiAgICAgICAgICBvdXRwdXRGb3JtYXQ9Imh0bWwiCiAgICAgICAgPjwvZGVlcy1pbnB1dC13eXNpd3lnPgoKICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dHMtYm94Ij4KICAgICAgICAgIDxoNCBjbGFzcz0ic2hvcnRjdXRzLXRpdGxlIj7ijKjvuI8gS2V5Ym9hcmQgU2hvcnRjdXRzPC9oND4KICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0cy1ncmlkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+Lzwvc3Bhbj4gU2xhc2ggY29tbWFuZHMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPiM8L3NwYW4+IEhlYWRpbmcgMQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+IyM8L3NwYW4+IEhlYWRpbmcgMgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+IyMjPC9zcGFuPiBIZWFkaW5nIDMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPj48L3NwYW4+IFF1b3RlCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dC1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2hvcnRjdXQta2V5Ij5cYFxgXGA8L3NwYW4+IENvZGUgYmxvY2sKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNob3J0Y3V0LWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPio8L3NwYW4+IG9yIDxzcGFuIGNsYXNzPSJzaG9ydGN1dC1rZXkiPi08L3NwYW4+IEJ1bGxldCBsaXN0CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaG9ydGN1dC1pdGVtIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2hvcnRjdXQta2V5Ij4xLjwvc3Bhbj4gTnVtYmVyZWQgbGlzdAogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hvcnRjdXQtaXRlbSI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNob3J0Y3V0LWtleSI+LS0tPC9zcGFuPiBEaXZpZGVyCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIyLiBcdXsxRjRERH0gQmxvZyBQb3N0IEV4YW1wbGUifT4KICAgICAgICA8cCBjbGFzcz0icGFuZWwtZGVzY3JpcHRpb24iPgogICAgICAgICAgUGVyZmVjdCBmb3IgY3JlYXRpbmcgcmljaCBjb250ZW50IHdpdGggbXVsdGlwbGUgYmxvY2sgdHlwZXMuIAogICAgICAgICAgVGhlIGVkaXRvciBwcmVzZXJ2ZXMgZm9ybWF0dGluZyBhbmQgcHJvdmlkZXMgYSBjbGVhbiBlZGl0aW5nIGV4cGVyaWVuY2UuCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcgCiAgICAgICAgICBpZD0iZWRpdG9yLWFydGljbGUiCiAgICAgICAgICBsYWJlbD0iQmxvZyBQb3N0IENvbnRlbnQiIAogICAgICAgICAgZGVzY3JpcHRpb249IldyaXRlIHlvdXIgYXJ0aWNsZSB1c2luZyB2YXJpb3VzIGZvcm1hdHRpbmcgb3B0aW9ucyIKICAgICAgICAgIG91dHB1dEZvcm1hdD0iaHRtbCIKICAgICAgICA+PC9kZWVzLWlucHV0LXd5c2l3eWc+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIzLiBcdXsxRjUwMH0gRHJhZyAmIERyb3AgUmVvcmRlcmluZyJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBFYXNpbHkgcmVhcnJhbmdlIHlvdXIgY29udGVudCBibG9ja3MgYnkgZHJhZ2dpbmcgdGhlbS4gCiAgICAgICAgICBIb3ZlciBvdmVyIGFueSBibG9jayB0byByZXZlYWwgdGhlIGRyYWcgaGFuZGxlIG9uIHRoZSBsZWZ0IHNpZGUuCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcgCiAgICAgICAgICBpZD0iZWRpdG9yLWRyYWdkcm9wIgogICAgICAgICAgbGFiZWw9IkRyYWcgJiBEcm9wIERlbW8iIAogICAgICAgICAgZGVzY3JpcHRpb249IlRyeSBkcmFnZ2luZyBibG9ja3MgdG8gcmVvcmRlciB0aGVtIC0gaG92ZXIgdG8gc2VlIGRyYWcgaGFuZGxlcyIKICAgICAgICA+PC9kZWVzLWlucHV0LXd5c2l3eWc+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0idGlwcy1ib3giPgogICAgICAgICAgPHN0cm9uZz7wn5KhIFRpcHM6PC9zdHJvbmc+CiAgICAgICAgICA8dWwgY2xhc3M9InRpcHMtbGlzdCI+CiAgICAgICAgICAgIDxsaT5Ib3ZlciBvdmVyIGFueSBibG9jayB0byBzZWUgdGhlIGRyYWcgaGFuZGxlICjii67ii64pIG9uIHRoZSBsZWZ0PC9saT4KICAgICAgICAgICAgPGxpPkNsaWNrIGFuZCBob2xkIHRoZSBkcmFnIGhhbmRsZSB0byBzdGFydCBkcmFnZ2luZzwvbGk+CiAgICAgICAgICAgIDxsaT5CbHVlIGluZGljYXRvcnMgc2hvdyB3aGVyZSB0aGUgYmxvY2sgd2lsbCBiZSBkcm9wcGVkPC9saT4KICAgICAgICAgICAgPGxpPkRpdmlkZXIgYmxvY2tzIGNhbm5vdCBiZSBkcmFnZ2VkPC9saT4KICAgICAgICAgICAgPGxpPlRoZSBlZGl0b3IgbWFpbnRhaW5zIGZvY3VzIG9uIHRoZSBtb3ZlZCBibG9jayBhZnRlciBkcm9wcGluZzwvbGk+CiAgICAgICAgICA8L3VsPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNC4gXHV7MUY0REF9IFR1dG9yaWFsICYgRG9jdW1lbnRhdGlvbiJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDcmVhdGUgY29tcHJlaGVuc2l2ZSB0dXRvcmlhbHMgYW5kIGRvY3VtZW50YXRpb24gd2l0aCBjb2RlIGV4YW1wbGVzLCBsaXN0cywgYW5kIHN0cnVjdHVyZWQgY29udGVudC4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZyAKICAgICAgICAgIGlkPSJlZGl0b3ItdHV0b3JpYWwiCiAgICAgICAgICBsYWJlbD0iR2l0IFR1dG9yaWFsIiAKICAgICAgICAgIGRlc2NyaXB0aW9uPSJTdGVwLWJ5LXN0ZXAgZ3VpZGUgd2l0aCBjb21tYW5kcyBhbmQgZXhwbGFuYXRpb25zIgogICAgICAgICAgb3V0cHV0Rm9ybWF0PSJtYXJrZG93biIKICAgICAgICAgIHZhbHVlPSIjIEdpdCBUdXRvcmlhbCBmb3IgQmVnaW5uZXJzCgpHaXQgaXMgYSBkaXN0cmlidXRlZCB2ZXJzaW9uIGNvbnRyb2wgc3lzdGVtIHRoYXQgaGVscHMgeW91IHRyYWNrIGNoYW5nZXMgaW4geW91ciBjb2RlIG92ZXIgdGltZS4gVGhpcyB0dXRvcmlhbCB3aWxsIGd1aWRlIHlvdSB0aHJvdWdoIHRoZSBiYXNpY3MuCgojIyBQcmVyZXF1aXNpdGVzCgpCZWZvcmUgc3RhcnRpbmcsIGVuc3VyZSB5b3UgaGF2ZToKCi0gR2l0IGluc3RhbGxlZCBvbiB5b3VyIHN5c3RlbQotIEEgdGV4dCBlZGl0b3Igb3IgSURFCi0gQmFzaWMgY29tbWFuZCBsaW5lIGtub3dsZWRnZQoKIyMgR2V0dGluZyBTdGFydGVkCgojIyMgMS4gQ29uZmlndXJlIEdpdAoKRmlyc3QsIHNldCB1cCB5b3VyIGlkZW50aXR5OgoKXGBcYFxgYmFzaApnaXQgY29uZmlnIC0tZ2xvYmFsIHVzZXIubmFtZSAmcXVvdDtZb3VyIE5hbWUmcXVvdDsKZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2VyLmVtYWlsICZxdW90O3lvdXIuZW1haWxAZXhhbXBsZS5jb20mcXVvdDsKXGBcYFxgCgojIyMgMi4gSW5pdGlhbGl6ZSBhIFJlcG9zaXRvcnkKCkNyZWF0ZSBhIG5ldyBHaXQgcmVwb3NpdG9yeToKClxgXGBcYGJhc2gKbWtkaXIgbXktcHJvamVjdApjZCBteS1wcm9qZWN0CmdpdCBpbml0ClxgXGBcYAoKIyMjIDMuIEJhc2ljIEdpdCBXb3JrZmxvdwoKIyMjIyBBZGRpbmcgRmlsZXMKCkNyZWF0ZSBhIGZpbGUgYW5kIGFkZCBpdCB0byBzdGFnaW5nOgoKXGBcYFxgYmFzaAplY2hvICZxdW90OyMgTXkgUHJvamVjdCZxdW90OyA+IFJFQURNRS5tZApnaXQgYWRkIFJFQURNRS5tZApcYFxgXGAKCiMjIyMgQ29tbWl0dGluZyBDaGFuZ2VzCgpcYFxgXGBiYXNoCmdpdCBjb21taXQgLW0gJnF1b3Q7SW5pdGlhbCBjb21taXQmcXVvdDsKXGBcYFxgCgo+ICoqQmVzdCBQcmFjdGljZToqKiBXcml0ZSBjbGVhciwgZGVzY3JpcHRpdmUgY29tbWl0IG1lc3NhZ2VzIHRoYXQgZXhwbGFpbiB3aGF0IGNoYW5nZXMgd2VyZSBtYWRlIGFuZCB3aHkuCgojIyMgNC4gV29ya2luZyB3aXRoIEJyYW5jaGVzCgpCcmFuY2hlcyBhbGxvdyB5b3UgdG8gd29yayBvbiBmZWF0dXJlcyBpbmRlcGVuZGVudGx5OgoKXGBcYFxgYmFzaAojIENyZWF0ZSBhbmQgc3dpdGNoIHRvIGEgbmV3IGJyYW5jaApnaXQgY2hlY2tvdXQgLWIgZmVhdHVyZS1icmFuY2gKCiMgTWFrZSBjaGFuZ2VzIGFuZCBjb21taXQKZ2l0IGFkZCAuCmdpdCBjb21taXQgLW0gJnF1b3Q7QWRkIG5ldyBmZWF0dXJlJnF1b3Q7CgojIFN3aXRjaCBiYWNrIHRvIG1haW4KZ2l0IGNoZWNrb3V0IG1haW4KCiMgTWVyZ2UgdGhlIGZlYXR1cmUKZ2l0IG1lcmdlIGZlYXR1cmUtYnJhbmNoClxgXGBcYAoKLS0tCgojIyBDb21tb24gQ29tbWFuZHMgUmVmZXJlbmNlCgp8IENvbW1hbmQgfCBEZXNjcmlwdGlvbiB8CnwtLS0tLS0tLS18LS0tLS0tLS0tLS0tLXwKfCBcYGdpdCBzdGF0dXNcYCB8IENoZWNrIHJlcG9zaXRvcnkgc3RhdHVzIHwKfCBcYGdpdCBsb2dcYCB8IFZpZXcgY29tbWl0IGhpc3RvcnkgfAp8IFxgZ2l0IGRpZmZcYCB8IFNob3cgY2hhbmdlcyB8CnwgXGBnaXQgcHVsbFxgIHwgRmV0Y2ggYW5kIG1lcmdlIGNoYW5nZXMgfAp8IFxgZ2l0IHB1c2hcYCB8IFVwbG9hZCBjaGFuZ2VzIHRvIHJlbW90ZSB8CgojIyBOZXh0IFN0ZXBzCgoxLiBMZWFybiBhYm91dCByZW1vdGUgcmVwb3NpdG9yaWVzCjIuIEV4cGxvcmUgYWR2YW5jZWQgR2l0IGZlYXR1cmVzCjMuIFByYWN0aWNlIHdpdGggcmVhbCBwcm9qZWN0cwo0LiBDb250cmlidXRlIHRvIG9wZW4gc291cmNlCgoqKkhhcHB5IGNvZGluZyEqKiDwn5qAIgogICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjUuIFx1ezFGNTA0fSBPdXRwdXQgRm9ybWF0cyJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDaG9vc2UgYmV0d2VlbiBIVE1MIGFuZCBNYXJrZG93biBvdXRwdXQgZm9ybWF0cyBkZXBlbmRpbmcgb24geW91ciBuZWVkcy4gCiAgICAgICAgICBQZXJmZWN0IGZvciBzdGF0aWMgc2l0ZSBnZW5lcmF0b3JzLCBkb2N1bWVudGF0aW9uIHN5c3RlbXMsIG9yIGFueSBjb250ZW50IG1hbmFnZW1lbnQgd29ya2Zsb3cuCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im91dHB1dC1ncmlkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im91dHB1dC1jYXJkIj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZyAKICAgICAgICAgICAgICBpZD0iZWRpdG9yLW1lZXRpbmciCiAgICAgICAgICAgICAgbGFiZWw9Ik1lZXRpbmcgTm90ZXMiIAogICAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJTdHJ1Y3R1cmVkIG1lZXRpbmcgZG9jdW1lbnRhdGlvbiIKICAgICAgICAgICAgICBvdXRwdXRGb3JtYXQ9Imh0bWwiCiAgICAgICAgICAgICAgdmFsdWU9IjxoMj5RNCBQbGFubmluZyBNZWV0aW5nPC9oMj48cD48c3Ryb25nPkRhdGU6PC9zdHJvbmc+IERlY2VtYmVyIDE1LCAyMDI0PGJyPjxzdHJvbmc+QXR0ZW5kZWVzOjwvc3Ryb25nPiBQcm9kdWN0IFRlYW0sIEVuZ2luZWVyaW5nLCBEZXNpZ248L3A+PGgzPkFnZW5kYSBJdGVtczwvaDM+PG9sPjxsaT5SZXZpZXcgUTMgYWNoaWV2ZW1lbnRzPC9saT48bGk+U2V0IFE0IG9iamVjdGl2ZXM8L2xpPjxsaT5SZXNvdXJjZSBhbGxvY2F0aW9uPC9saT48bGk+VGltZWxpbmUgZGlzY3Vzc2lvbjwvbGk+PC9vbD48aDM+S2V5IERlY2lzaW9uczwvaDM+PHVsPjxsaT5MYXVuY2ggbmV3IGRhc2hib2FyZCBmZWF0dXJlIGJ5IGVuZCBvZiBKYW51YXJ5PC9saT48bGk+SW5jcmVhc2UgZW5naW5lZXJpbmcgdGVhbSBieSAyIGRldmVsb3BlcnM8L2xpPjxsaT5JbXBsZW1lbnQgd2Vla2x5IGRlc2lnbiByZXZpZXdzPC9saT48L3VsPjxibG9ja3F1b3RlPiZxdW90O0ZvY3VzIG9uIHVzZXIgZXhwZXJpZW5jZSBpbXByb3ZlbWVudHMgYmFzZWQgb24gUTMgZmVlZGJhY2smcXVvdDsgLSBQcm9kdWN0IE1hbmFnZXI8L2Jsb2NrcXVvdGU+PGgzPkFjdGlvbiBJdGVtczwvaDM+PHVsPjxsaT5TYXJhaDogQ3JlYXRlIGRldGFpbGVkIHByb2plY3QgdGltZWxpbmU8L2xpPjxsaT5NaWtlOiBEcmFmdCB0ZWNobmljYWwgcmVxdWlyZW1lbnRzPC9saT48bGk+TGlzYTogU2NoZWR1bGUgdXNlciByZXNlYXJjaCBzZXNzaW9uczwvbGk+PC91bD48aHI+PHA+TmV4dCBtZWV0aW5nOiBKYW51YXJ5IDUsIDIwMjU8L3A+IgogICAgICAgICAgICA+PC9kZWVzLWlucHV0LXd5c2l3eWc+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im91dHB1dC1hY3Rpb25zIj4KICAgICAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tc2hvdy1odG1sLW91dHB1dCIgY2xhc3M9ImRlbW8tYnV0dG9uIj5TaG93IEhUTUwgT3V0cHV0PC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8cHJlIGlkPSJvdXRwdXQtcHJldmlldy1odG1sIiBjbGFzcz0ib3V0cHV0LXByZXZpZXciIGFyaWEtbGl2ZT0icG9saXRlIj48L3ByZT4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJvdXRwdXQtY2FyZCI+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcgCiAgICAgICAgICAgICAgaWQ9ImVkaXRvci1yZWNpcGUiCiAgICAgICAgICAgICAgbGFiZWw9IlJlY2lwZSBCbG9nIFBvc3QiIAogICAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJGb29kIGJsb2cgd2l0aCBtaXhlZCBjb250ZW50IgogICAgICAgICAgICAgIG91dHB1dEZvcm1hdD0ibWFya2Rvd24iCiAgICAgICAgICAgICAgdmFsdWU9IiMgVWx0aW1hdGUgQ2hvY29sYXRlIENoaXAgQ29va2llcwoKVGhlcmUncyBub3RoaW5nIHF1aXRlIGxpa2UgdGhlIHNtZWxsIG9mIGZyZXNobHkgYmFrZWQgY2hvY29sYXRlIGNoaXAgY29va2llcy4gVGhpcyByZWNpcGUgaGFzIGJlZW4gcGVyZmVjdGVkIG92ZXIgeWVhcnMgb2YgdGVzdGluZyEKCiMjIEluZ3JlZGllbnRzCgotIDLCvCBjdXBzIGFsbC1wdXJwb3NlIGZsb3VyCi0gMSB0c3AgYmFraW5nIHNvZGEKLSAxIHRzcCBzYWx0Ci0gMSBjdXAgYnV0dGVyLCBzb2Z0ZW5lZAotIMK+IGN1cCBncmFudWxhdGVkIHN1Z2FyCi0gwr4gY3VwIHBhY2tlZCBicm93biBzdWdhcgotIDIgbGFyZ2UgZWdncwotIDIgdHNwIHZhbmlsbGEgZXh0cmFjdAotIDIgY3VwcyBjaG9jb2xhdGUgY2hpcHMKCiMjIEluc3RydWN0aW9ucwoKIyMjIFN0ZXAgMTogUHJlcGFyYXRpb24KClByZWhlYXQgeW91ciBvdmVuIHRvICoqMzc1wrBGICgxOTDCsEMpKiouIFRoaXMgdGVtcGVyYXR1cmUgaXMgY3J1Y2lhbCBmb3IgYWNoaWV2aW5nIHRoZSBwZXJmZWN0IHRleHR1cmUuCgojIyMgU3RlcCAyOiBNaXggRHJ5IEluZ3JlZGllbnRzCgpJbiBhIG1lZGl1bSBib3dsLCB3aGlzayB0b2dldGhlcjoKCjEuIEZsb3VyCjIuIEJha2luZyBzb2RhCjMuIFNhbHQKCiMjIyBTdGVwIDM6IENyZWFtIEJ1dHRlciBhbmQgU3VnYXJzCgpcYFxgXGAKQ3JlYW0gYnV0dGVyIGFuZCBzdWdhcnMgZm9yIDMtNCBtaW51dGVzCnVudGlsIGxpZ2h0IGFuZCBmbHVmZnkKXGBcYFxgCgo+ICoqUHJvIHRpcDoqKiBSb29tIHRlbXBlcmF0dXJlIGluZ3JlZGllbnRzIG1peCBiZXR0ZXIgYW5kIGNyZWF0ZSBhIG1vcmUgdW5pZm9ybSBkb3VnaC4KCiMjIyBTdGVwIDQ6IEFkZCBXZXQgSW5ncmVkaWVudHMKCkJlYXQgaW4gZWdncyBvbmUgYXQgYSB0aW1lLCB0aGVuIGFkZCB2YW5pbGxhIGV4dHJhY3QuCgojIyMgU3RlcCA1OiBDb21iaW5lIGFuZCBCYWtlCgpHcmFkdWFsbHkgYmxlbmQgaW4gZmxvdXIgbWl4dHVyZSwgdGhlbiBzdGlyIGluIGNob2NvbGF0ZSBjaGlwcy4gRHJvcCByb3VuZGVkIHRhYmxlc3Bvb25zIG9udG8gdW5ncmVhc2VkIGNvb2tpZSBzaGVldHMuCgotLS0KCioqQmFraW5nIHRpbWU6KiogOS0xMSBtaW51dGVzIG9yIHVudGlsIGdvbGRlbiBicm93bgoKKipZaWVsZDoqKiBBYm91dCA1IGRvemVuIGNvb2tpZXMiCiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3V0cHV0LWFjdGlvbnMiPgogICAgICAgICAgICAgIDxidXR0b24gaWQ9ImJ0bi1zaG93LW1hcmtkb3duLW91dHB1dCIgY2xhc3M9ImRlbW8tYnV0dG9uIj5TaG93IE1hcmtkb3duIE91dHB1dDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPHByZSBpZD0ib3V0cHV0LXByZXZpZXctbWFya2Rvd24iIGNsYXNzPSJvdXRwdXQtcHJldmlldyIgYXJpYS1saXZlPSJwb2xpdGUiPjwvcHJlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI2LiBcdXsxRjNBOH0gQWR2YW5jZWQgRWRpdGluZyJ9PgogICAgICAgIDxwIGNsYXNzPSJwYW5lbC1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDcmVhdGUgY29tcGxleCBkb2N1bWVudHMgd2l0aCBtaXhlZCBjb250ZW50IHR5cGVzLiBUaGUgZWRpdG9yIGhhbmRsZXMgYWxsIGZvcm1hdHRpbmcgc2VhbWxlc3NseS4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZyAKICAgICAgICAgIGlkPSJlZGl0b3ItdGVjaG5pY2FsIgogICAgICAgICAgbGFiZWw9IlRlY2huaWNhbCBEb2N1bWVudGF0aW9uIiAKICAgICAgICAgIGRlc2NyaXB0aW9uPSJDcmVhdGUgdGVjaG5pY2FsIGRvY3Mgd2l0aCBjb2RlIGV4YW1wbGVzIGFuZCBzdHJ1Y3R1cmVkIGNvbnRlbnQiCiAgICAgICAgICB2YWx1ZT0iPGgxPkFQSSBEb2N1bWVudGF0aW9uPC9oMT48cD5XZWxjb21lIHRvIG91ciBBUEkgZG9jdW1lbnRhdGlvbi4gQmVsb3cgeW91J2xsIGZpbmQgZXhhbXBsZXMgb2YgaG93IHRvIHVzZSBvdXIgZW5kcG9pbnRzLjwvcD48aDI+QXV0aGVudGljYXRpb248L2gyPjxwPkFsbCBBUEkgcmVxdWVzdHMgcmVxdWlyZSBhdXRoZW50aWNhdGlvbiB1c2luZyBhbiBBUEkga2V5OjwvcD48cHJlPjxjb2RlPkF1dGhvcml6YXRpb246IEJlYXJlciBZT1VSX0FQSV9LRVk8L2NvZGU+PC9wcmU+PGgyPkVuZHBvaW50czwvaDI+PGgzPkdFVCAvdXNlcnM8L2gzPjxwPlJldHJpZXZlIGEgbGlzdCBvZiB1c2VycyBmcm9tIHRoZSBzeXN0ZW0uPC9wPjxwcmU+PGNvZGU+Y3VybCAtWCBHRVQgaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vdXNlcnMgXFwKICAtSCAmcXVvdDtBdXRob3JpemF0aW9uOiBCZWFyZXIgWU9VUl9BUElfS0VZJnF1b3Q7PC9jb2RlPjwvcHJlPjxibG9ja3F1b3RlPk5vdGU6IFJhdGUgbGltaXRpbmcgYXBwbGllcyB0byBhbGwgZW5kcG9pbnRzLiBZb3UgY2FuIG1ha2UgdXAgdG8gMTAwIHJlcXVlc3RzIHBlciBtaW51dGUuPC9ibG9ja3F1b3RlPjxoMz5QT1NUIC91c2VyczwvaDM+PHA+Q3JlYXRlIGEgbmV3IHVzZXIgaW4gdGhlIHN5c3RlbS48L3A+PHByZT48Y29kZT57CiAgJnF1b3Q7bmFtZSZxdW90OzogJnF1b3Q7Sm9obiBEb2UmcXVvdDssCiAgJnF1b3Q7ZW1haWwmcXVvdDs6ICZxdW90O2pvaG5AZXhhbXBsZS5jb20mcXVvdDssCiAgJnF1b3Q7cm9sZSZxdW90OzogJnF1b3Q7dXNlciZxdW90Owp9PC9jb2RlPjwvcHJlPjxocj48cD5Gb3IgbW9yZSBpbmZvcm1hdGlvbiwgcGxlYXNlIHJlZmVyIHRvIG91ciBjb21wbGV0ZSBkb2N1bWVudGF0aW9uLjwvcD4iCiAgICAgICAgICBvdXRwdXRGb3JtYXQ9Imh0bWwiCiAgICAgICAgPjwvZGVlcy1pbnB1dC13eXNpd3lnPgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNy4gXHUyNjk5XHVGRTBGIEZvcm0gSW50ZWdyYXRpb24ifT4KICAgICAgICA8cCBjbGFzcz0icGFuZWwtZGVzY3JpcHRpb24iPgogICAgICAgICAgU2VhbWxlc3NseSBpbnRlZ3JhdGVzIHdpdGggZGVlcy1mb3JtIGZvciBjb21wbGV0ZSBmb3JtIHNvbHV0aW9ucy4gCiAgICAgICAgICBBbGwgc3RhbmRhcmQgZm9ybSBmZWF0dXJlcyBsaWtlIHZhbGlkYXRpb24sIHJlcXVpcmVkIGZpZWxkcywgYW5kIGRhdGEgYmluZGluZyB3b3JrIG91dCBvZiB0aGUgYm94LgogICAgICAgIDwvcD4KICAgICAgICAKICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCAKICAgICAgICAgICAgbGFiZWw9IkFydGljbGUgVGl0bGUiIAogICAgICAgICAgICByZXF1aXJlZD0idHJ1ZSIKICAgICAgICAgICAgdmFsdWU9IkhvdyB0byBCdWlsZCBNb2Rlcm4gV2ViIEFwcGxpY2F0aW9ucyIKICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtd3lzaXd5ZyAKICAgICAgICAgICAgaWQ9ImVkaXRvci1mb3JtLWludGVncmF0aW9uIgogICAgICAgICAgICBsYWJlbD0iQXJ0aWNsZSBDb250ZW50IiAKICAgICAgICAgICAgZGVzY3JpcHRpb249IldyaXRlIHlvdXIgYXJ0aWNsZSBjb250ZW50IGhlcmUiCiAgICAgICAgICAgIHJlcXVpcmVkPSJ0cnVlIgogICAgICAgICAgICBvdXRwdXRGb3JtYXQ9Im1hcmtkb3duIgogICAgICAgICAgPjwvZGVlcy1pbnB1dC13eXNpd3lnPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10YWdzCiAgICAgICAgICAgIGxhYmVsPSJUYWdzIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iQWRkIHJlbGV2YW50IHRhZ3MgZm9yIHlvdXIgYXJ0aWNsZSIKICAgICAgICAgID48L2RlZXMtaW5wdXQtdGFncz4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjguIFx1ezFGOUU5fSBQcm9ncmFtbWF0aWMgQmxvY2sgQ3JlYXRpb24ifT4KICAgICAgICA8cCBjbGFzcz0icGFuZWwtZGVzY3JpcHRpb24iPgogICAgICAgICAgQ3JlYXRlIGNvbnRlbnQgcHJvZ3JhbW1hdGljYWxseSB1c2luZyB0aGUgYmxvY2sgQVBJIGZvciBkeW5hbWljIGRvY3VtZW50IGdlbmVyYXRpb24uCiAgICAgICAgPC9wPgogICAgICAgIAogICAgICAgIDxkZWVzLWlucHV0LXd5c2l3eWcKICAgICAgICAgIGlkPSJlZGl0b3ItcHJvZ3JhbW1hdGljIgogICAgICAgICAgbGFiZWw9IlByb2dyYW1tYXRpY2FsbHkgR2VuZXJhdGVkIENvbnRlbnQiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iVGhpcyBjb250ZW50IHdhcyBjcmVhdGVkIHVzaW5nIHRoZSBpbXBvcnRCbG9ja3MgQVBJIgogICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWdlbmVyYXRlLXJlcG9ydCIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgR2VuZXJhdGUgUmVwb3J0CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWdlbmVyYXRlLXJlY2lwZSIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgR2VuZXJhdGUgUmVjaXBlCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWNsZWFyLWVkaXRvciIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgQ2xlYXIgRWRpdG9yCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjkuIFx1ezFGNEU0fSBFeHBvcnQvSW1wb3J0IEZlYXR1cmVzIn0+CiAgICAgICAgPHAgY2xhc3M9InBhbmVsLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIFRoZSBXWVNJV1lHIGVkaXRvciBwcm92aWRlcyBtdWx0aXBsZSBleHBvcnQgZm9ybWF0cyBhbmQgbG9zc2xlc3Mgc2F2ZS9yZXN0b3JlIGNhcGFiaWxpdGllcyBmb3IgbWF4aW11bSBmbGV4aWJpbGl0eS4KICAgICAgICA8L3A+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0iZXhwb3J0LWluZm8tZ3JpZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJleHBvcnQtaW5mby1jYXJkIGJsb2NrcyI+CiAgICAgICAgICAgIDxzdHJvbmc+TG9zc2xlc3MgQmxvY2tzPC9zdHJvbmc+CiAgICAgICAgICAgIDxwPkV4cG9ydCBhbmQgaW1wb3J0IHJhdyBibG9jayBzdHJ1Y3R1cmUgZm9yIHBlcmZlY3Qgcm91bmQtdHJpcCBlZGl0aW5nPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJleHBvcnQtaW5mby1jYXJkIGh0bWwiPgogICAgICAgICAgICA8c3Ryb25nPkhUTUwgRXhwb3J0PC9zdHJvbmc+CiAgICAgICAgICAgIDxwPkdldCBjbGVhbiwgc2VtYW50aWMgSFRNTCByZWdhcmRsZXNzIG9mIG91dHB1dCBmb3JtYXQgc2V0dGluZzwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZXhwb3J0LWluZm8tY2FyZCBtYXJrZG93biI+CiAgICAgICAgICAgIDxzdHJvbmc+TWFya2Rvd24gRXhwb3J0PC9zdHJvbmc+CiAgICAgICAgICAgIDxwPkV4cG9ydCBhcyBNYXJrZG93biBmb3IgZG9jcywgUkVBRE1FcywgYW5kIHN0YXRpYyBzaXRlczwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZXhwb3J0LWluZm8tY2FyZCBzdGF0ZSI+CiAgICAgICAgICAgIDxzdHJvbmc+U3RhdGUgTWFuYWdlbWVudDwvc3Ryb25nPgogICAgICAgICAgICA8cD5TYXZlIGFuZCByZXN0b3JlIGNvbXBsZXRlIGVkaXRvciBzdGF0ZSBpbmNsdWRpbmcgc2V0dGluZ3M8L3A+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGVlcy1pbnB1dC13eXNpd3lnCiAgICAgICAgICBpZD0iZWRpdG9yLWV4cG9ydCIKICAgICAgICAgIGxhYmVsPSJFeHBvcnQgRGVtbyBFZGl0b3IiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iVHJ5IHRoZSBleHBvcnQgYnV0dG9ucyBiZWxvdyB0byBzZWUgZGlmZmVyZW50IG91dHB1dCBmb3JtYXRzIgogICAgICAgICAgdmFsdWU9IjxoMT5Tb2Z0d2FyZSBSZWxlYXNlIE5vdGVzPC9oMT48cD48c3Ryb25nPlZlcnNpb24gMi41LjA8L3N0cm9uZz4gLSBSZWxlYXNlZCBEZWNlbWJlciAxNSwgMjAyNDwvcD48aDI+8J+OiSBOZXcgRmVhdHVyZXM8L2gyPjx1bD48bGk+QWRkZWQgZGFyayBtb2RlIHN1cHBvcnQgYWNyb3NzIGFsbCBjb21wb25lbnRzPC9saT48bGk+SW1wbGVtZW50ZWQgcmVhbC10aW1lIGNvbGxhYm9yYXRpb24gZmVhdHVyZXM8L2xpPjxsaT5OZXcgZGFzaGJvYXJkIGFuYWx5dGljcyB3aWRnZXRzPC9saT48bGk+RXhwb3J0IGZ1bmN0aW9uYWxpdHkgZm9yIGFsbCByZXBvcnQgdHlwZXM8L2xpPjwvdWw+PGgyPvCfkJsgQnVnIEZpeGVzPC9oMj48dWw+PGxpPkZpeGVkIG1lbW9yeSBsZWFrIGluIGRhdGEgcHJvY2Vzc2luZyBtb2R1bGU8L2xpPjxsaT5SZXNvbHZlZCBhdXRoZW50aWNhdGlvbiB0aW1lb3V0IGlzc3VlczwvbGk+PGxpPkNvcnJlY3RlZCB0aW1lem9uZSBoYW5kbGluZyBpbiBzY2hlZHVsZWQgdGFza3M8L2xpPjwvdWw+PGgyPuKaoSBQZXJmb3JtYW5jZSBJbXByb3ZlbWVudHM8L2gyPjxibG9ja3F1b3RlPlBhZ2UgbG9hZCB0aW1lcyByZWR1Y2VkIGJ5IDQwJSB0aHJvdWdoIGxhenkgbG9hZGluZyBhbmQgY29kZSBzcGxpdHRpbmc8L2Jsb2NrcXVvdGU+PGgyPvCflKcgVGVjaG5pY2FsIERldGFpbHM8L2gyPjxwcmU+PGNvZGU+Ly8gTmV3IEFQSSBlbmRwb2ludCBmb3IgYmF0Y2ggb3BlcmF0aW9ucwpQT1NUIC9hcGkvdjIvYmF0Y2gKewogICZxdW90O29wZXJhdGlvbnMmcXVvdDs6IFsKICAgIHsgJnF1b3Q7bWV0aG9kJnF1b3Q7OiAmcXVvdDtHRVQmcXVvdDssICZxdW90O3BhdGgmcXVvdDs6ICZxdW90Oy91c2Vycy8xMjMmcXVvdDsgfSwKICAgIHsgJnF1b3Q7bWV0aG9kJnF1b3Q7OiAmcXVvdDtQVVQmcXVvdDssICZxdW90O3BhdGgmcXVvdDs6ICZxdW90Oy9zZXR0aW5ncyZxdW90OywgJnF1b3Q7Ym9keSZxdW90Ozogey4uLn0gfQogIF0KfTwvY29kZT48L3ByZT48aDI+8J+SoSBNaWdyYXRpb24gR3VpZGU8L2gyPjxvbD48bGk+VXBkYXRlIHlvdXIgZGVwZW5kZW5jaWVzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbnM8L2xpPjxsaT5SdW4gZGF0YWJhc2UgbWlncmF0aW9uczogPGNvZGU+bnBtIHJ1biBtaWdyYXRlPC9jb2RlPjwvbGk+PGxpPkNsZWFyIGNhY2hlOiA8Y29kZT5ucG0gcnVuIGNhY2hlOmNsZWFyPC9jb2RlPjwvbGk+PGxpPlJlc3RhcnQgYWxsIHNlcnZpY2VzPC9saT48L29sPjxocj48cD5Gb3IgcXVlc3Rpb25zIG9yIGlzc3VlcywgcGxlYXNlIGNvbnRhY3QgdGhlIGRldmVsb3BtZW50IHRlYW0gb3IgZmlsZSBhIHRpY2tldCBpbiBvdXIgaXNzdWUgdHJhY2tlci48L3A+IgogICAgICAgID48L2RlZXMtaW5wdXQtd3lzaXd5Zz4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWV4cG9ydC1ibG9ja3MiIGNsYXNzPSJkZW1vLWJ1dHRvbiI+CiAgICAgICAgICAgIEV4cG9ydCBCbG9ja3MKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tZXhwb3J0LWh0bWwiIGNsYXNzPSJkZW1vLWJ1dHRvbiI+CiAgICAgICAgICAgIEV4cG9ydCBhcyBIVE1MCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLWV4cG9ydC1tYXJrZG93biIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgRXhwb3J0IGFzIE1hcmtkb3duCiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGJ1dHRvbiBpZD0iYnRuLXNhdmUtc3RhdGUiIGNsYXNzPSJkZW1vLWJ1dHRvbiI+CiAgICAgICAgICAgIFNhdmUgU3RhdGUKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8YnV0dG9uIGlkPSJidG4tcmVzdG9yZS1zdGF0ZSIgY2xhc3M9ImRlbW8tYnV0dG9uIj4KICAgICAgICAgICAgUmVzdG9yZSBTdGF0ZQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciAkbz1mKCgpPT57fSk7dmFyIFhyLE5mPWYoKCk9PnskbygpO1hyPWNsYXNze3N0YXRpY3tzKHRoaXMsIld5c2l3eWdTaG9ydGN1dHMiKX1zdGF0aWMgSEVBRElOR19QQVRURVJOUz1be3BhdHRlcm46L14jW1xzXHUwMEEwXSQvLHR5cGU6ImhlYWRpbmctMSJ9LHtwYXR0ZXJuOi9eIyNbXHNcdTAwQTBdJC8sdHlwZToiaGVhZGluZy0yIn0se3BhdHRlcm46L14jIyNbXHNcdTAwQTBdJC8sdHlwZToiaGVhZGluZy0zIn1dO3N0YXRpYyBMSVNUX1BBVFRFUk5TPVt7cGF0dGVybjovXlsqLV1bXHNcdTAwQTBdJC8sdHlwZToiYnVsbGV0In0se3BhdHRlcm46L14oXGQrKVwuW1xzXHUwMEEwXSQvLHR5cGU6Im9yZGVyZWQifSx7cGF0dGVybjovXihcZCspXClbXHNcdTAwQTBdJC8sdHlwZToib3JkZXJlZCJ9XTtzdGF0aWMgUVVPVEVfUEFUVEVSTj0vXj5bXHNcdTAwQTBdJC87c3RhdGljIENPREVfUEFUVEVSTj0vXmBgYCQvO3N0YXRpYyBESVZJREVSX1BBVFRFUk5TPVsiLS0tIiwiKioqIiwiX19fIl07c3RhdGljIGNoZWNrSGVhZGluZ1Nob3J0Y3V0KGUpe2ZvcihsZXR7cGF0dGVybjp0LHR5cGU6cn1vZiB0aGlzLkhFQURJTkdfUEFUVEVSTlMpaWYodC50ZXN0KGUpKXJldHVybnt0eXBlOnJ9O3JldHVybiBudWxsfXN0YXRpYyBjaGVja0xpc3RTaG9ydGN1dChlKXtmb3IobGV0e3BhdHRlcm46dCx0eXBlOnJ9b2YgdGhpcy5MSVNUX1BBVFRFUk5TKWlmKHQudGVzdChlKSlyZXR1cm57dHlwZToibGlzdCIsbGlzdFR5cGU6cn07cmV0dXJuIG51bGx9c3RhdGljIGNoZWNrUXVvdGVTaG9ydGN1dChlKXtyZXR1cm4gdGhpcy5RVU9URV9QQVRURVJOLnRlc3QoZSl9c3RhdGljIGNoZWNrQ29kZVNob3J0Y3V0KGUpe3JldHVybiB0aGlzLkNPREVfUEFUVEVSTi50ZXN0KGUpfXN0YXRpYyBjaGVja0RpdmlkZXJTaG9ydGN1dChlKXtyZXR1cm4gdGhpcy5ESVZJREVSX1BBVFRFUk5TLmluY2x1ZGVzKGUpfXN0YXRpYyBnZXRTbGFzaE1lbnVJdGVtcygpe3JldHVyblt7dHlwZToicGFyYWdyYXBoIixsYWJlbDoiUGFyYWdyYXBoIixpY29uOiJsdWNpZGU6cGlsY3JvdyJ9LHt0eXBlOiJoZWFkaW5nLTEiLGxhYmVsOiJIZWFkaW5nIDEiLGljb246Imx1Y2lkZTpoZWFkaW5nMSJ9LHt0eXBlOiJoZWFkaW5nLTIiLGxhYmVsOiJIZWFkaW5nIDIiLGljb246Imx1Y2lkZTpoZWFkaW5nMiJ9LHt0eXBlOiJoZWFkaW5nLTMiLGxhYmVsOiJIZWFkaW5nIDMiLGljb246Imx1Y2lkZTpoZWFkaW5nMyJ9LHt0eXBlOiJxdW90ZSIsbGFiZWw6IlF1b3RlIixpY29uOiJsdWNpZGU6cXVvdGUifSx7dHlwZToiY29kZSIsbGFiZWw6IkNvZGUgQmxvY2siLGljb246Imx1Y2lkZTpmaWxlQ29kZSJ9LHt0eXBlOiJsaXN0IixsYWJlbDoiQnVsbGV0IExpc3QiLGljb246Imx1Y2lkZTpsaXN0In0se3R5cGU6ImltYWdlIixsYWJlbDoiSW1hZ2UiLGljb246Imx1Y2lkZTppbWFnZSJ9LHt0eXBlOiJkaXZpZGVyIixsYWJlbDoiRGl2aWRlciIsaWNvbjoibHVjaWRlOm1pbnVzIn0se3R5cGU6InlvdXR1YmUiLGxhYmVsOiJZb3VUdWJlIixpY29uOiJsdWNpZGU6eW91dHViZSJ9LHt0eXBlOiJtYXJrZG93biIsbGFiZWw6Ik1hcmtkb3duIixpY29uOiJsdWNpZGU6ZmlsZVRleHQifSx7dHlwZToiaHRtbCIsbGFiZWw6IkhUTUwiLGljb246Imx1Y2lkZTpjb2RlIn0se3R5cGU6ImF0dGFjaG1lbnQiLGxhYmVsOiJGaWxlIEF0dGFjaG1lbnQiLGljb246Imx1Y2lkZTpwYXBlcmNsaXAifV19c3RhdGljIGdlbmVyYXRlQmxvY2tJZCgpe3JldHVybmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YH19fSk7dmFyIHBtLFAxLFNhZSx0S2U9ZigoKT0+e2xlKCk7amkoKTt2YSgpOyRvKCk7TmYoKTtRZSgpO3BtPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxQMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sU2FlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1zbGFzaC1tZW51IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTbGFzaE1lbnUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVtLKCldLGQ9W0soKV0sdT1bSygpXSx4PVtLKCldLHk9W0soKV0scG0odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJ2aXNpYmxlImluIHosImhhcyIpLGdldDpzKHo9PnoudmlzaWJsZSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnZpc2libGU9T30sInNldCIpfSxtZXRhZGF0YTpffSxuLGwpLHBtKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InBvc2l0aW9uImluIHosImhhcyIpLGdldDpzKHo9PnoucG9zaXRpb24sImdldCIpLHNldDpzKCh6LE8pPT57ei5wb3NpdGlvbj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGMscCkscG0odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWx0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImZpbHRlciJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmZpbHRlciwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmZpbHRlcj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdikscG0odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZEluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzZWxlY3RlZEluZGV4ImluIHosImhhcyIpLGdldDpzKHo9Pnouc2VsZWN0ZWRJbmRleCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNlbGVjdGVkSW5kZXg9T30sInNldCIpfSxtZXRhZGF0YTpffSxiLGcpLHBtKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVudVpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4ibWVudVpJbmRleCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56Lm1lbnVaSW5kZXgsImdldCIpLHNldDpzKCh6LE8pPT57ei5tZW51WkluZGV4PU99LCJzZXQiKX0sbWV0YWRhdGE6X30sayxDKSxwbShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpffSxudWxsLHQpLE49cj1lLnZhbHVlLF8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6X30pfXN0YXRpYyBpbnN0YW5jZTtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4gTi5pbnN0YW5jZXx8KE4uaW5zdGFuY2U9bmV3IE4sZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChOLmluc3RhbmNlKSksTi5pbnN0YW5jZX0jZT1QMSh0aGlzLG4sITEpO2dldCB2aXNpYmxlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZpc2libGUoXyl7dGhpcy4jZT1ffSN0PShQMSh0aGlzLGwpLFAxKHRoaXMsYyx7eDowLHk6MH0pKTtnZXQgcG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgcG9zaXRpb24oXyl7dGhpcy4jdD1ffSNhPShQMSh0aGlzLHApLFAxKHRoaXMsbSwiIikpO2dldCBmaWx0ZXIoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZmlsdGVyKF8pe3RoaXMuI2E9X30jcj0oUDEodGhpcyx2KSxQMSh0aGlzLGIsMCkpO2dldCBzZWxlY3RlZEluZGV4KCl7cmV0dXJuIHRoaXMuI3J9c2V0IHNlbGVjdGVkSW5kZXgoXyl7dGhpcy4jcj1ffSNzPShQMSh0aGlzLGcpLFAxKHRoaXMsaywxZTMpKTtnZXQgbWVudVpJbmRleCgpe3JldHVybiB0aGlzLiNzfXNldCBtZW51WkluZGV4KF8pe3RoaXMuI3M9X31jYWxsYmFjaz0oUDEodGhpcyxDKSxudWxsKTtzdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogMDsKICAgICAgICBoZWlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC5zbGFzaC1tZW51IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNik7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICAgIG1pbi13aWR0aDogMjIwcHg7CiAgICAgICAgbWF4LWhlaWdodDogMzAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBhbmltYXRpb246IGZhZGVJblNjYWxlIDAuMTVzIGVhc2Utb3V0OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGZhZGVJblNjYWxlIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpIHRyYW5zbGF0ZVkoLTJweCk7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAuc2xhc2gtbWVudS1pdGVtIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTBweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5zbGFzaC1tZW51LWl0ZW06aG92ZXIsCiAgICAgIC5zbGFzaC1tZW51LWl0ZW0uc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc2xhc2gtbWVudS1pdGVtIC5pY29uIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5zbGFzaC1tZW51LWl0ZW06aG92ZXIgLmljb24sCiAgICAgIC5zbGFzaC1tZW51LWl0ZW0uc2VsZWN0ZWQgLmljb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2lmKCF0aGlzLnZpc2libGUpcmV0dXJuIHdgYDt0aGlzLnN0eWxlLnpJbmRleD10aGlzLm1lbnVaSW5kZXgudG9TdHJpbmcoKTtsZXQgXz10aGlzLmdldEZpbHRlcmVkTWVudUl0ZW1zKCk7cmV0dXJuIHdgCiAgICAgIDxkaXYgCiAgICAgICAgY2xhc3M9InNsYXNoLW1lbnUiIAogICAgICAgIHN0eWxlPSJsZWZ0OiAke3RoaXMucG9zaXRpb24ueH1weDsgdG9wOiAke3RoaXMucG9zaXRpb24ueX1weDsiCiAgICAgICAgdGFiaW5kZXg9Ii0xIgogICAgICAgIGRhdGEtbWVudS10eXBlPSJzbGFzaCIKICAgICAgPgogICAgICAgICR7Xy5tYXAoKHosTyk9PndgCiAgICAgICAgICA8ZGl2IAogICAgICAgICAgICBjbGFzcz0ic2xhc2gtbWVudS1pdGVtICR7Tz09PXRoaXMuc2VsZWN0ZWRJbmRleD8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgZGF0YS1pdGVtLXR5cGU9IiR7ei50eXBlfSIKICAgICAgICAgICAgZGF0YS1pdGVtLWluZGV4PSIke099IgogICAgICAgICAgPgogICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJpY29uIiAuaWNvbj0iJHt6Lmljb259IiBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8c3Bhbj4ke3oubGFiZWx9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCl9CiAgICAgIDwvZGl2PgogICAgYH1nZXRGaWx0ZXJlZE1lbnVJdGVtcygpe3JldHVybiBYci5nZXRTbGFzaE1lbnVJdGVtcygpLmZpbHRlcih6PT50aGlzLmZpbHRlcj09PSIifHx6LmxhYmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5maWx0ZXIudG9Mb3dlckNhc2UoKSkpfXNlbGVjdEl0ZW0oXyl7dGhpcy5jYWxsYmFjayYmdGhpcy5jYWxsYmFjayhfKSx0aGlzLmhpZGUoKX1zaG93KF8seil7dGhpcy5wb3NpdGlvbj1fLHRoaXMuY2FsbGJhY2s9eix0aGlzLmZpbHRlcj0iIix0aGlzLnNlbGVjdGVkSW5kZXg9MCx0aGlzLm1lbnVaSW5kZXg9WnQuZ2V0TmV4dFpJbmRleCgpLFp0LnJlZ2lzdGVyKHRoaXMsdGhpcy5tZW51WkluZGV4KSx0aGlzLnN0eWxlLnpJbmRleD10aGlzLm1lbnVaSW5kZXgudG9TdHJpbmcoKSx0aGlzLnZpc2libGU9ITB9aGlkZSgpe3RoaXMudmlzaWJsZT0hMSx0aGlzLmNhbGxiYWNrPW51bGwsdGhpcy5maWx0ZXI9IiIsdGhpcy5zZWxlY3RlZEluZGV4PTAsWnQudW5yZWdpc3Rlcih0aGlzKX11cGRhdGVGaWx0ZXIoXyl7dGhpcy5maWx0ZXI9Xyx0aGlzLnNlbGVjdGVkSW5kZXg9MH1uYXZpZ2F0ZShfKXtsZXQgej10aGlzLmdldEZpbHRlcmVkTWVudUl0ZW1zKCk7Xz09PSJkb3duIj90aGlzLnNlbGVjdGVkSW5kZXg9KHRoaXMuc2VsZWN0ZWRJbmRleCsxKSV6Lmxlbmd0aDp0aGlzLnNlbGVjdGVkSW5kZXg9dGhpcy5zZWxlY3RlZEluZGV4PT09MD96Lmxlbmd0aC0xOnRoaXMuc2VsZWN0ZWRJbmRleC0xfXNlbGVjdEN1cnJlbnQoKXtsZXQgXz10aGlzLmdldEZpbHRlcmVkTWVudUl0ZW1zKCk7X1t0aGlzLnNlbGVjdGVkSW5kZXhdJiZ0aGlzLnNlbGVjdEl0ZW0oX1t0aGlzLnNlbGVjdGVkSW5kZXhdLnR5cGUpfWZpcnN0VXBkYXRlZCgpe3RoaXMuc2hhZG93Um9vdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLF89PntsZXQgej1fLE89dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuc2xhc2gtbWVudSIpO08mJk8uY29udGFpbnMoei50YXJnZXQpJiYoei5wcmV2ZW50RGVmYXVsdCgpLHouc3RvcFByb3BhZ2F0aW9uKCkpfSksdGhpcy5zaGFkb3dSb290LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixfPT57bGV0IHo9XyxUPXoudGFyZ2V0LmNsb3Nlc3QoIi5zbGFzaC1tZW51LWl0ZW0iKTtpZihUKXt6LnByZXZlbnREZWZhdWx0KCksei5zdG9wUHJvcGFnYXRpb24oKTtsZXQgRT1ULmdldEF0dHJpYnV0ZSgiZGF0YS1pdGVtLXR5cGUiKTtFJiZ0aGlzLnNlbGVjdEl0ZW0oRSl9fSksdGhpcy5zaGFkb3dSb290LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLF89PntsZXQgVD1fLnRhcmdldC5jbG9zZXN0KCIuc2xhc2gtbWVudS1pdGVtIik7aWYoVCl7bGV0IEU9cGFyc2VJbnQoVC5nZXRBdHRyaWJ1dGUoImRhdGEtaXRlbS1pbmRleCIpfHwiMCIsMTApO3RoaXMuc2VsZWN0ZWRJbmRleD1FfX0sITApLHRoaXMuc2hhZG93Um9vdC5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsXz0+e2xldCB6PV8sTz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5zbGFzaC1tZW51Iik7TyYmTy5jb250YWlucyh6LnRhcmdldCkmJih6LnByZXZlbnREZWZhdWx0KCksei5zdG9wUHJvcGFnYXRpb24oKSl9LCEwKX1zdGF0aWN7UDEocix0KX19O3JldHVybiBOPXJ9KSgpfSk7dmFyIHJ0LGoyPWYoKCk9PntydD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXeXNpd3lnU2VsZWN0aW9uIil9c3RhdGljIGdldFNlbGVjdGlvbkluZm8oLi4uZSl7bGV0IHQ9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKGNvbnNvbGUubG9nKCJXeXNpd3lnU2VsZWN0aW9uLmdldFNlbGVjdGlvbkluZm8gLSBzZWxlY3Rpb246Iix0LCJyYW5nZUNvdW50OiIsdD8ucmFuZ2VDb3VudCksIXQpcmV0dXJuIG51bGw7aWYoImdldENvbXBvc2VkUmFuZ2VzImluIHQmJnR5cGVvZiB0LmdldENvbXBvc2VkUmFuZ2VzPT0iZnVuY3Rpb24iKXtjb25zb2xlLmxvZygiVXNpbmcgZ2V0Q29tcG9zZWRSYW5nZXMgd2l0aCIsZS5sZW5ndGgsInNoYWRvdyByb290cyIpO3RyeXtsZXQgcj10LmdldENvbXBvc2VkUmFuZ2VzKHtzaGFkb3dSb290czplfSk7aWYoY29uc29sZS5sb2coImdldENvbXBvc2VkUmFuZ2VzIHJldHVybmVkIixyLmxlbmd0aCwicmFuZ2VzIiksci5sZW5ndGg+MCl7bGV0IGk9clswXTtyZXR1cm57c3RhcnRDb250YWluZXI6aS5zdGFydENvbnRhaW5lcixzdGFydE9mZnNldDppLnN0YXJ0T2Zmc2V0LGVuZENvbnRhaW5lcjppLmVuZENvbnRhaW5lcixlbmRPZmZzZXQ6aS5lbmRPZmZzZXQsY29sbGFwc2VkOmkuY29sbGFwc2VkfX19Y2F0Y2gocil7Y29uc29sZS53YXJuKCJnZXRDb21wb3NlZFJhbmdlcyBmYWlsZWQsIGZhbGxpbmcgYmFjayB0byBnZXRSYW5nZUF0OiIscil9fWVsc2UgY29uc29sZS5sb2coImdldENvbXBvc2VkUmFuZ2VzIG5vdCBhdmFpbGFibGUsIHVzaW5nIGZhbGxiYWNrIik7aWYodC5yYW5nZUNvdW50PjApe2xldCByPXQuZ2V0UmFuZ2VBdCgwKTtyZXR1cm57c3RhcnRDb250YWluZXI6ci5zdGFydENvbnRhaW5lcixzdGFydE9mZnNldDpyLnN0YXJ0T2Zmc2V0LGVuZENvbnRhaW5lcjpyLmVuZENvbnRhaW5lcixlbmRPZmZzZXQ6ci5lbmRPZmZzZXQsY29sbGFwc2VkOnIuY29sbGFwc2VkfX1yZXR1cm4gbnVsbH1zdGF0aWMgaXNTZWxlY3Rpb25JbkVsZW1lbnQoZSx0KXtsZXQgcj10P3RoaXMuZ2V0U2VsZWN0aW9uSW5mbyh0KTp0aGlzLmdldFNlbGVjdGlvbkluZm8oKTtyZXR1cm4gcj9lLmNvbnRhaW5zKHIuc3RhcnRDb250YWluZXIpfHxlLmNvbnRhaW5zKHIuZW5kQ29udGFpbmVyKTohMX1zdGF0aWMgZ2V0U2VsZWN0ZWRUZXh0KCl7bGV0IGU9d2luZG93LmdldFNlbGVjdGlvbigpO3JldHVybiBlP2UudG9TdHJpbmcoKToiIn1zdGF0aWMgY3JlYXRlUmFuZ2VGcm9tSW5mbyhlKXtsZXQgdD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiB0LnNldFN0YXJ0KGUuc3RhcnRDb250YWluZXIsZS5zdGFydE9mZnNldCksdC5zZXRFbmQoZS5lbmRDb250YWluZXIsZS5lbmRPZmZzZXQpLHR9c3RhdGljIHNldFNlbGVjdGlvbkZyb21SYW5nZShlKXtsZXQgdD13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7dCYmKHQucmVtb3ZlQWxsUmFuZ2VzKCksdC5hZGRSYW5nZShlKSl9c3RhdGljIGdldEN1cnNvclBvc2l0aW9uSW5FbGVtZW50KGUsLi4udCl7bGV0IHI9dC5sZW5ndGg+MD90aGlzLmdldFNlbGVjdGlvbkluZm8oLi4udCk6dGhpcy5nZXRTZWxlY3Rpb25JbmZvKCk7aWYoIXJ8fCFyLmNvbGxhcHNlZClyZXR1cm4gbnVsbDt0cnl7bGV0IGk9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtpZihpLnNlbGVjdE5vZGVDb250ZW50cyhlKSx0aGlzLmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKGUsci5zdGFydENvbnRhaW5lcikpcmV0dXJuIGkuc2V0RW5kKHIuc3RhcnRDb250YWluZXIsci5zdGFydE9mZnNldCksaS50b1N0cmluZygpLmxlbmd0aDt7bGV0IG49ZS50ZXh0Q29udGVudHx8IiIsbD1yLnN0YXJ0Q29udGFpbmVyLnRleHRDb250ZW50fHwiIjtyZXR1cm4gci5zdGFydE9mZnNldD09PTA/MDpyLnN0YXJ0T2Zmc2V0PT09bC5sZW5ndGg/bi5sZW5ndGg6KGNvbnNvbGUud2FybigiU2VsZWN0aW9uIGNvbnRhaW5lciBub3Qgd2l0aGluIGVsZW1lbnQsIHVzaW5nIHRleHQgbWF0Y2hpbmcgZmFsbGJhY2siKSxyLnN0YXJ0T2Zmc2V0KX19Y2F0Y2goaSl7cmV0dXJuIGNvbnNvbGUud2FybigiRmFpbGVkIHRvIGdldCBjdXJzb3IgcG9zaXRpb246IixpKSxudWxsfX1zdGF0aWMgZ2V0Q3Vyc29yUG9zaXRpb25Gcm9tUG9pbnQoZSx0LHIsLi4uaSl7aWYoImNhcmV0UG9zaXRpb25Gcm9tUG9pbnQiaW4gZG9jdW1lbnQmJmRvY3VtZW50LmNhcmV0UG9zaXRpb25Gcm9tUG9pbnQpe2xldCBvPW51bGw7dHJ5e289ZG9jdW1lbnQuY2FyZXRQb3NpdGlvbkZyb21Qb2ludChlLHQsLi4uaSl9Y2F0Y2h7bz1kb2N1bWVudC5jYXJldFBvc2l0aW9uRnJvbVBvaW50KGUsdCl9aWYobyYmci5jb250YWlucyhvLm9mZnNldE5vZGUpKXJldHVybiB0aGlzLmdldE9mZnNldEluRWxlbWVudChvLm9mZnNldE5vZGUsby5vZmZzZXQscil9aWYoImNhcmV0UmFuZ2VGcm9tUG9pbnQiaW4gZG9jdW1lbnQpe2xldCBvPWRvY3VtZW50LmNhcmV0UmFuZ2VGcm9tUG9pbnQoZSx0KTtpZihvJiZyLmNvbnRhaW5zKG8uc3RhcnRDb250YWluZXIpKXJldHVybiB0aGlzLmdldE9mZnNldEluRWxlbWVudChvLnN0YXJ0Q29udGFpbmVyLG8uc3RhcnRPZmZzZXQscil9cmV0dXJuIG51bGx9c3RhdGljIGdldE9mZnNldEluRWxlbWVudChlLHQscil7bGV0IGk9MCxvPSExLG49ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihyLE5vZGVGaWx0ZXIuU0hPV19URVhULG51bGwpLGw7Zm9yKDtsPW4ubmV4dE5vZGUoKTspaWYobD09PWUpe2krPXQsbz0hMDticmVha31lbHNlIGkrPWwudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MDtyZXR1cm4gbz9pOjB9c3RhdGljIHNldEN1cnNvclBvc2l0aW9uKGUsdCl7bGV0IHI9ZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihlLE5vZGVGaWx0ZXIuU0hPV19URVhULG51bGwpLGk9MCxvPW51bGwsbj0wO2Zvcig7ci5uZXh0Tm9kZSgpOyl7bGV0IGw9ci5jdXJyZW50Tm9kZSxkPWwudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MDtpZihpK2Q+PXQpe289bCxuPXQtaTticmVha31pKz1kfWlmKG8pe2xldCBsPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7bC5zZXRTdGFydChvLG4pLGwuY29sbGFwc2UoITApLHRoaXMuc2V0U2VsZWN0aW9uRnJvbVJhbmdlKGwpfX1zdGF0aWMgY29udGFpbnNBY3Jvc3NTaGFkb3dET00oZSx0KXtpZighZXx8IXQpcmV0dXJuITE7bGV0IHI9dDtmb3IoO3I7KXtpZihyPT09ZSlyZXR1cm4hMDtpZihyLm5vZGVUeXBlPT09Tm9kZS5ET0NVTUVOVF9GUkFHTUVOVF9OT0RFJiZyLmhvc3Qpe2xldCBpPXI7aWYoaS5jb250YWlucyhlKSlyZXR1cm4hMTtyPWkuaG9zdH1lbHNlIHI9ci5wYXJlbnROb2RlfXJldHVybiExfX19KTt2YXIgZ2MsYUtlPWYoKCk9PntsZSgpO2oyKCk7Z2M9Y2xhc3N7c3RhdGlje3ModGhpcywiV3lzaXd5Z0Zvcm1hdHRpbmciKX1zdGF0aWMgZm9ybWF0QnV0dG9ucz1be2NvbW1hbmQ6ImJvbGQiLGljb246IkIiLGxhYmVsOiJCb2xkIixzaG9ydGN1dDoiXHUyMzE4QiJ9LHtjb21tYW5kOiJpdGFsaWMiLGljb246IkkiLGxhYmVsOiJJdGFsaWMiLHNob3J0Y3V0OiJcdTIzMThJIn0se2NvbW1hbmQ6InVuZGVybGluZSIsaWNvbjoiVSIsbGFiZWw6IlVuZGVybGluZSIsc2hvcnRjdXQ6Ilx1MjMxOFUifSx7Y29tbWFuZDoic3RyaWtlVGhyb3VnaCIsaWNvbjoiU1x1MDMzNiIsbGFiZWw6IlN0cmlrZXRocm91Z2gifSx7Y29tbWFuZDoiY29kZSIsaWNvbjoieyB9IixsYWJlbDoiSW5saW5lIENvZGUifSx7Y29tbWFuZDoibGluayIsaWNvbjoiXHV7MUY1MTd9IixsYWJlbDoiTGluayIsc2hvcnRjdXQ6Ilx1MjMxOEsifV07c3RhdGljIHJlbmRlckZvcm1hdHRpbmdNZW51KGUsdCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgCiAgICAgICAgY2xhc3M9ImZvcm1hdHRpbmctbWVudSIgCiAgICAgICAgc3R5bGU9InRvcDogJHtlLnl9cHg7IGxlZnQ6ICR7ZS54fXB4OyIKICAgICAgICBAbW91c2Vkb3duPSIke3I9PntyLnByZXZlbnREZWZhdWx0KCksci5zdG9wUHJvcGFnYXRpb24oKX19IgogICAgICAgIEBjbGljaz0iJHtyPT5yLnN0b3BQcm9wYWdhdGlvbigpfSIKICAgICAgPgogICAgICAgICR7dGhpcy5mb3JtYXRCdXR0b25zLm1hcChyPT53YAogICAgICAgICAgPGJ1dHRvbiAKICAgICAgICAgICAgY2xhc3M9ImZvcm1hdC1idXR0b24gJHtyLmNvbW1hbmR9IgogICAgICAgICAgICBAY2xpY2s9IiR7KCk9PnQoci5jb21tYW5kKX0iCiAgICAgICAgICAgIHRpdGxlPSIke3IubGFiZWx9JHtyLnNob3J0Y3V0P2AgKCR7ci5zaG9ydGN1dH0pYDoiIn0iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSIke3IuY29tbWFuZD09PSJjb2RlIj8iY29kZS1pY29uIjoiIn0iPiR7ci5pY29ufTwvc3Bhbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIGApfQogICAgICA8L2Rpdj4KICAgIGB9c3RhdGljIGFwcGx5Rm9ybWF0KGUsdCxyLGkpe2xldCBvO2lmKHIpbz1yO2Vsc2V7bGV0IG49d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFufHxuLnJhbmdlQ291bnQ9PT0wKXJldHVybiExO289bi5nZXRSYW5nZUF0KDApfXN3aXRjaChlKXtjYXNlImJvbGQiOnRoaXMud3JhcFNlbGVjdGlvbihvLCJzdHJvbmciKTticmVhaztjYXNlIml0YWxpYyI6dGhpcy53cmFwU2VsZWN0aW9uKG8sImVtIik7YnJlYWs7Y2FzZSJ1bmRlcmxpbmUiOnRoaXMud3JhcFNlbGVjdGlvbihvLCJ1Iik7YnJlYWs7Y2FzZSJzdHJpa2VUaHJvdWdoIjp0aGlzLndyYXBTZWxlY3Rpb24obywicyIpO2JyZWFrO2Nhc2UiY29kZSI6dGhpcy53cmFwU2VsZWN0aW9uKG8sImNvZGUiKTticmVhaztjYXNlImxpbmsiOmlmKCF0KXJldHVybiExO3RoaXMud3JhcFNlbGVjdGlvbldpdGhMaW5rKG8sdCk7YnJlYWt9aWYoaSYmaS5sZW5ndGg+MClydC5zZXRTZWxlY3Rpb25Gcm9tUmFuZ2Uobyk7ZWxzZXtsZXQgbj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7biYmKG4ucmVtb3ZlQWxsUmFuZ2VzKCksbi5hZGRSYW5nZShvKSl9cmV0dXJuITB9c3RhdGljIHdyYXBTZWxlY3Rpb24oZSx0KXtsZXQgcj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIXIpcmV0dXJuO2lmKHRoaXMuc2VsZWN0aW9uQ29udGFpbnNUYWcoZSx0KSl0aGlzLnJlbW92ZVRhZ0Zyb21TZWxlY3Rpb24oZSx0KTtlbHNle2xldCBvPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCk7dHJ5e2xldCBuPWUuZXh0cmFjdENvbnRlbnRzKCk7by5hcHBlbmRDaGlsZChuKSxlLmluc2VydE5vZGUobyksZS5zZWxlY3ROb2RlQ29udGVudHMobyksci5yZW1vdmVBbGxSYW5nZXMoKSxyLmFkZFJhbmdlKGUpfWNhdGNoKG4pe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byB3cmFwIHNlbGVjdGlvbjoiLG4pfX19c3RhdGljIHNlbGVjdGlvbkNvbnRhaW5zVGFnKGUsdCl7bGV0IHI9ZS5zdGFydENvbnRhaW5lcjtmb3IoO3ImJnIhPT1lLmNvbW1vbkFuY2VzdG9yQ29udGFpbmVyLm93bmVyRG9jdW1lbnQ7KXtpZihyLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUmJnIudGFnTmFtZS50b0xvd2VyQ2FzZSgpPT09dClyZXR1cm4hMDtyPXIucGFyZW50Tm9kZX1mb3Iocj1lLmVuZENvbnRhaW5lcjtyJiZyIT09ZS5jb21tb25BbmNlc3RvckNvbnRhaW5lci5vd25lckRvY3VtZW50Oyl7aWYoci5ub2RlVHlwZT09PU5vZGUuRUxFTUVOVF9OT0RFJiZyLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PXQpcmV0dXJuITA7cj1yLnBhcmVudE5vZGV9bGV0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iiksbz1lLmNsb25lQ29udGVudHMoKTtyZXR1cm4gaS5hcHBlbmRDaGlsZChvKSxpLmdldEVsZW1lbnRzQnlUYWdOYW1lKHQpLmxlbmd0aD4wfXN0YXRpYyByZW1vdmVUYWdGcm9tU2VsZWN0aW9uKGUsdCl7bGV0IHI9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFyKXJldHVybjtsZXQgaT1lLmNsb25lUmFuZ2UoKSxvPWUuc3RhcnRDb250YWluZXIsbj1udWxsO2Zvcig7byYmbyE9PWUuY29tbW9uQW5jZXN0b3JDb250YWluZXIub3duZXJEb2N1bWVudDspe2lmKG8ubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmby50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT10KXtuPW87YnJlYWt9bz1vLnBhcmVudE5vZGV9bGV0IGw9ZS5lbmRDb250YWluZXIsZD1udWxsO2Zvcig7bCYmbCE9PWUuY29tbW9uQW5jZXN0b3JDb250YWluZXIub3duZXJEb2N1bWVudDspe2lmKGwubm9kZVR5cGU9PT1Ob2RlLkVMRU1FTlRfTk9ERSYmbC50YWdOYW1lLnRvTG93ZXJDYXNlKCk9PT10KXtkPWw7YnJlYWt9bD1sLnBhcmVudE5vZGV9biYmaS5zZXRTdGFydEJlZm9yZShuKSxkJiZpLnNldEVuZEFmdGVyKGQpO2xldCBjPWkuZXh0cmFjdENvbnRlbnRzKCkscD10aGlzLnJlbW92ZVRhZ3NGcm9tRnJhZ21lbnQoYyx0KTtpLmluc2VydE5vZGUocCk7bGV0IHU9W10sbT1kb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKHAsTm9kZUZpbHRlci5TSE9XX1RFWFQsbnVsbCksdjtmb3IoO3Y9bS5uZXh0Tm9kZSgpOyl1LnB1c2godik7aWYodS5sZW5ndGg+MCl7bGV0IHg9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTt4LnNldFN0YXJ0KHVbMF0sMCkseC5zZXRFbmQodVt1Lmxlbmd0aC0xXSx1W3UubGVuZ3RoLTFdLnRleHRDb250ZW50Py5sZW5ndGh8fDApLHIucmVtb3ZlQWxsUmFuZ2VzKCksci5hZGRSYW5nZSh4KX19c3RhdGljIHJlbW92ZVRhZ3NGcm9tRnJhZ21lbnQoZSx0KXtsZXQgcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyLmFwcGVuZENoaWxkKGUpO2xldCBpPXIuZ2V0RWxlbWVudHNCeVRhZ05hbWUodCk7QXJyYXkuZnJvbShpKS5mb3JFYWNoKGw9PntsZXQgZD1sLnBhcmVudE5vZGU7aWYoZCl7Zm9yKDtsLmZpcnN0Q2hpbGQ7KWQuaW5zZXJ0QmVmb3JlKGwuZmlyc3RDaGlsZCxsKTtkLnJlbW92ZUNoaWxkKGwpfX0pO2xldCBuPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtmb3IoO3IuZmlyc3RDaGlsZDspbi5hcHBlbmRDaGlsZChyLmZpcnN0Q2hpbGQpO3JldHVybiBufXN0YXRpYyB3cmFwU2VsZWN0aW9uV2l0aExpbmsoZSx0KXtsZXQgcj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIXIpcmV0dXJuO3RoaXMuc2VsZWN0aW9uQ29udGFpbnNUYWcoZSwiYSIpJiYodGhpcy5yZW1vdmVUYWdGcm9tU2VsZWN0aW9uKGUsImEiKSxyLnJhbmdlQ291bnQ+MCYmKGU9ci5nZXRSYW5nZUF0KDApKSk7bGV0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO2kuaHJlZj10LGkudGFyZ2V0PSJfYmxhbmsiLGkucmVsPSJub29wZW5lciBub3JlZmVycmVyIjt0cnl7bGV0IG89ZS5leHRyYWN0Q29udGVudHMoKTtpLmFwcGVuZENoaWxkKG8pLGUuaW5zZXJ0Tm9kZShpKSxlLnNlbGVjdE5vZGVDb250ZW50cyhpKSxyLnJlbW92ZUFsbFJhbmdlcygpLHIuYWRkUmFuZ2UoZSl9Y2F0Y2gobyl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBsaW5rOiIsbyl9fXN0YXRpYyBnZXRTZWxlY3Rpb25Db29yZGluYXRlcyguLi5lKXtsZXQgdD1ydC5nZXRTZWxlY3Rpb25JbmZvKC4uLmUpO2lmKGNvbnNvbGUubG9nKCJnZXRTZWxlY3Rpb25Db29yZGluYXRlcyAtIHNlbGVjdGlvbkluZm86Iix0KSwhdClyZXR1cm4gY29uc29sZS5sb2coIk5vIHNlbGVjdGlvbiBpbmZvIGF2YWlsYWJsZSIpLG51bGw7bGV0IGk9cnQuY3JlYXRlUmFuZ2VGcm9tSW5mbyh0KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihjb25zb2xlLmxvZygiUmFuZ2UgcmVjdDoiLGkpLGkud2lkdGg9PT0wJiZpLmhlaWdodD09PTApe2lmKGNvbnNvbGUubG9nKCJSZWN0IHdpZHRoIGFuZCBoZWlnaHQgYXJlIDAsIHRyeWluZyBkaWZmZXJlbnQgYXBwcm9hY2giKSwiY2FyZXRQb3NpdGlvbkZyb21Qb2ludCJpbiBkb2N1bWVudCl7bGV0IG49d2luZG93LmdldFNlbGVjdGlvbigpO2lmKG4mJm4ucmFuZ2VDb3VudD4wKXtsZXQgbD1uLmdldFJhbmdlQXQoMCksZD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7ZC50ZXh0Q29udGVudD0iXHUyMDBCIixsLmluc2VydE5vZGUoZCk7bGV0IGM9ZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtpZihkLnJlbW92ZSgpLGMud2lkdGg+MHx8Yy5oZWlnaHQ+MCl7bGV0IHA9e3g6Yy5sZWZ0LHk6TWF0aC5tYXgoNDUsYy50b3AtNDUpfTtyZXR1cm4gY29uc29sZS5sb2coIlVzZWQgc3BhbiB0cmljayBmb3IgY29vcmRzOiIscCkscH19fXJldHVybiBudWxsfWxldCBvPXt4OmkubGVmdCtpLndpZHRoLzIseTpNYXRoLm1heCg0NSxpLnRvcC00NSl9O3JldHVybiBjb25zb2xlLmxvZygiUmV0dXJuaW5nIGNvb3JkczoiLG8pLG99fX0pO3ZhciB6YWUsUmYsQ2FlLHJLZT1mKCgpPT57bGUoKTtqaSgpO2FLZSgpO1FlKCk7emFlPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxSZj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sQ2FlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1mb3JtYXR0aW5nLW1lbnUiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0Zvcm1hdHRpbmdNZW51Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxkPVtLKCldLHU9W0soKV0semFlKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4idmlzaWJsZSJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnZpc2libGUsImdldCIpLHNldDpzKChnLHkpPT57Zy52aXNpYmxlPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbixsKSx6YWUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwb3NpdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4icG9zaXRpb24iaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5wb3NpdGlvbiwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnBvc2l0aW9uPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSx6YWUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZW51WkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJtZW51WkluZGV4ImluIGcsImhhcyIpLGdldDpzKGc9PmcubWVudVpJbmRleCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLm1lbnVaSW5kZXg9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLHphZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBpbnN0YW5jZTtzdGF0aWMgZ2V0SW5zdGFuY2UoKXtyZXR1cm4geC5pbnN0YW5jZXx8KHguaW5zdGFuY2U9bmV3IHgsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh4Lmluc3RhbmNlKSkseC5pbnN0YW5jZX0jZT1SZih0aGlzLG4sITEpO2dldCB2aXNpYmxlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZpc2libGUoYil7dGhpcy4jZT1ifSN0PShSZih0aGlzLGwpLFJmKHRoaXMsYyx7eDowLHk6MH0pKTtnZXQgcG9zaXRpb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgcG9zaXRpb24oYil7dGhpcy4jdD1ifSNhPShSZih0aGlzLHApLFJmKHRoaXMsbSwxZTMpKTtnZXQgbWVudVpJbmRleCgpe3JldHVybiB0aGlzLiNhfXNldCBtZW51WkluZGV4KGIpe3RoaXMuI2E9Yn1jYWxsYmFjaz0oUmYodGhpcyx2KSxudWxsKTtzdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogMDsKICAgICAgICBoZWlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC5mb3JtYXR0aW5nLW1lbnUgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMyNjI2MjYiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlMGUwZTAiLCIjNDA0MDQwIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCAxNnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAycHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgYW5pbWF0aW9uOiBmYWRlSW5TY2FsZSAwLjE1cyBlYXNlLW91dDsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBmYWRlSW5TY2FsZSB7CiAgICAgICAgZnJvbSB7CiAgICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KSB0cmFuc2xhdGVZKDVweCk7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAuZm9ybWF0LWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZTBlMGUwIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmZvcm1hdC1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjBmMGYwIiwiIzMzMzMzMyIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDY2Y2MiLCIjNGQ5NGZmIil9OwogICAgICB9CgogICAgICAuZm9ybWF0LWJ1dHRvbjphY3RpdmUgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7CiAgICAgIH0KCiAgICAgIC5mb3JtYXQtYnV0dG9uLmJvbGQgewogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgIH0KCiAgICAgIC5mb3JtYXQtYnV0dG9uLml0YWxpYyB7CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CgogICAgICAuZm9ybWF0LWJ1dHRvbi51bmRlcmxpbmUgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAuZm9ybWF0LWJ1dHRvbiAuY29kZS1pY29uIHsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLnZpc2libGU/KHRoaXMuc3R5bGUuekluZGV4PXRoaXMubWVudVpJbmRleC50b1N0cmluZygpLHdgCiAgICAgIDxkaXYgCiAgICAgICAgY2xhc3M9ImZvcm1hdHRpbmctbWVudSIgCiAgICAgICAgc3R5bGU9ImxlZnQ6ICR7dGhpcy5wb3NpdGlvbi54fXB4OyB0b3A6ICR7dGhpcy5wb3NpdGlvbi55fXB4OyIKICAgICAgICB0YWJpbmRleD0iLTEiCiAgICAgICAgZGF0YS1tZW51LXR5cGU9ImZvcm1hdHRpbmciCiAgICAgID4KICAgICAgICAke2djLmZvcm1hdEJ1dHRvbnMubWFwKGI9PndgCiAgICAgICAgICA8YnV0dG9uIAogICAgICAgICAgICBjbGFzcz0iZm9ybWF0LWJ1dHRvbiAke2IuY29tbWFuZH0iCiAgICAgICAgICAgIGRhdGEtY29tbWFuZD0iJHtiLmNvbW1hbmR9IgogICAgICAgICAgICB0aXRsZT0iJHtiLmxhYmVsfSR7Yi5zaG9ydGN1dD9gICgke2Iuc2hvcnRjdXR9KWA6IiJ9IgogICAgICAgICAgPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iJHtiLmNvbW1hbmQ9PT0iY29kZSI/ImNvZGUtaWNvbiI6IiJ9Ij4ke2IuaWNvbn08L3NwYW4+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICBgKX0KICAgICAgPC9kaXY+CiAgICBgKTp3YGB9YXBwbHlGb3JtYXQoYil7dGhpcy5jYWxsYmFjayYmdGhpcy5jYWxsYmFjayhiKSxiPT09ImxpbmsiJiZ0aGlzLmhpZGUoKX1zaG93KGIsZyl7Y29uc29sZS5sb2coIkZvcm1hdHRpbmdNZW51LnNob3cgY2FsbGVkOiIse3Bvc2l0aW9uOmIsdmlzaWJsZTp0aGlzLnZpc2libGV9KSx0aGlzLnBvc2l0aW9uPWIsdGhpcy5jYWxsYmFjaz1nLHRoaXMubWVudVpJbmRleD1adC5nZXROZXh0WkluZGV4KCksWnQucmVnaXN0ZXIodGhpcyx0aGlzLm1lbnVaSW5kZXgpLHRoaXMuc3R5bGUuekluZGV4PXRoaXMubWVudVpJbmRleC50b1N0cmluZygpLHRoaXMudmlzaWJsZT0hMH1oaWRlKCl7dGhpcy52aXNpYmxlPSExLHRoaXMuY2FsbGJhY2s9bnVsbCxadC51bnJlZ2lzdGVyKHRoaXMpfXVwZGF0ZVBvc2l0aW9uKGIpe3RoaXMucG9zaXRpb249Yn1maXJzdFVwZGF0ZWQoKXt0aGlzLnNoYWRvd1Jvb3QuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixiPT57bGV0IGc9Yix5PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmZvcm1hdHRpbmctbWVudSIpO3kmJnkuY29udGFpbnMoZy50YXJnZXQpJiYoZy5wcmV2ZW50RGVmYXVsdCgpLGcuc3RvcFByb3BhZ2F0aW9uKCkpfSksdGhpcy5zaGFkb3dSb290LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixiPT57bGV0IGc9YixrPWcudGFyZ2V0LmNsb3Nlc3QoIi5mb3JtYXQtYnV0dG9uIik7aWYoayl7Zy5wcmV2ZW50RGVmYXVsdCgpLGcuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IEM9ay5nZXRBdHRyaWJ1dGUoImRhdGEtY29tbWFuZCIpO0MmJnRoaXMuYXBwbHlGb3JtYXQoQyl9fSksdGhpcy5zaGFkb3dSb290LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixiPT57bGV0IGc9Yix5PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmZvcm1hdHRpbmctbWVudSIpO3kmJnkuY29udGFpbnMoZy50YXJnZXQpJiYoZy5wcmV2ZW50RGVmYXVsdCgpLGcuc3RvcFByb3BhZ2F0aW9uKCkpfSwhMCl9c3RhdGlje1JmKHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBmbT1mKCgpPT57bGUoKTskbygpO3RLZSgpO3JLZSgpfSk7dmFyIE5VLF9hZT1mKCgpPT57TlU9WyJKYXZhU2NyaXB0IiwiVHlwZVNjcmlwdCIsIlB5dGhvbiIsIkphdmEiLCJDKysiLCJDIyIsIkdvIiwiUnVzdCIsIkhUTUwiLCJDU1MiLCJTUUwiLCJTaGVsbCIsIkpTT04iLCJZQU1MIiwiTWFya2Rvd24iLCJQbGFpbiBUZXh0Il19KTt2YXIgc0tlLHBpYT1mKCgpPT57bGUoKTtzS2U9UWAKICA6aG9zdCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB9CgogIC53eXNpd3lnLWNvbnRhaW5lciB7CiAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICBtaW4taGVpZ2h0OiAyMDBweDsKICAgIHBhZGRpbmc6IDI0cHg7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICB9CgogIC53eXNpd3lnLWNvbnRhaW5lcjpob3ZlciB7CiAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDFkNWRiIiwiIzNmM2Y0NiIpfTsKICB9CgogIC53eXNpd3lnLWNvbnRhaW5lcjpmb2N1cy13aXRoaW4gewogICAgb3V0bGluZTogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgb3V0bGluZS1vZmZzZXQ6IDJweDsKICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX0sIDAgMCAwIDRweCAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuNSkiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC41KSIpfTsKICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogIH0KCiAgLyogVmlzdWFsIGhpbnQgZm9yIHRleHQgc2VsZWN0aW9uICovCiAgLmVkaXRvci1jb250ZW50OmhvdmVyIHsKICAgIGN1cnNvcjogdGV4dDsKICB9CgogIC5lZGl0b3ItY29udGVudCB7CiAgICBvdXRsaW5lOiBub25lOwogICAgbWluLWhlaWdodDogMTYwcHg7CiAgICBtYXJnaW46IDAgLThweDsKICAgIHBhZGRpbmc6IDAgOHB4OwogIH0KCiAgLmJsb2NrIHsKICAgIG1hcmdpbjogMDsKICAgIHBhZGRpbmc6IDRweCAwOwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICBtaW4taGVpZ2h0OiAxLjZlbTsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAvKiBGaXJzdCBhbmQgbGFzdCBibG9ja3MgZG9uJ3QgbmVlZCBleHRyYSBzcGFjaW5nICovCiAgLmJsb2NrLXdyYXBwZXI6Zmlyc3QtY2hpbGQgLmJsb2NrIHsKICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsKICB9CgogIC5ibG9jay13cmFwcGVyOmxhc3QtY2hpbGQgLmJsb2NrIHsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQoKICAuYmxvY2suc2VsZWN0ZWQgewogICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjA1KSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjA1KSIpfTsKICAgIG91dGxpbmU6IDJweCBzb2xpZCAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgbWFyZ2luLWxlZnQ6IC04cHg7CiAgICBtYXJnaW4tcmlnaHQ6IC04cHg7CiAgICBwYWRkaW5nLWxlZnQ6IDhweDsKICAgIHBhZGRpbmctcmlnaHQ6IDhweDsKICB9CgogIC5ibG9ja1tjb250ZW50ZWRpdGFibGVdIHsKICAgIG91dGxpbmU6IG5vbmU7CiAgfQoKICAuYmxvY2sucGFyYWdyYXBoIHsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICBmb250LXdlaWdodDogNDAwOwogIH0KCiAgLmJsb2NrLnBhcmFncmFwaDplbXB0eTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJUeXBlICcvJyBmb3IgY29tbWFuZHMuLi4iOwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgfQoKICAuYmxvY2suaGVhZGluZy0xIHsKICAgIGZvbnQtc2l6ZTogMzJweDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4yOwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICB9CgogIC5ibG9jay5oZWFkaW5nLTE6ZW1wdHk6OmJlZm9yZSB7CiAgICBjb250ZW50OiAiSGVhZGluZyAxIjsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGZvbnQtc2l6ZTogMzJweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICBmb250LXdlaWdodDogNzAwOwogIH0KCiAgLmJsb2NrLmhlYWRpbmctMiB7CiAgICBmb250LXNpemU6IDI0cHg7CiAgICBmb250LXdlaWdodDogNjAwOwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAuYmxvY2suaGVhZGluZy0yOmVtcHR5OjpiZWZvcmUgewogICAgY29udGVudDogIkhlYWRpbmcgMiI7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICBmb250LXNpemU6IDI0cHg7CiAgICBsaW5lLWhlaWdodDogMS4zOwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICB9CgogIC5ibG9jay5oZWFkaW5nLTMgewogICAgZm9udC1zaXplOiAyMHB4OwogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogIH0KCiAgLmJsb2NrLmhlYWRpbmctMzplbXB0eTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJIZWFkaW5nIDMiOwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgZm9udC1zaXplOiAyMHB4OwogICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgfQoKICAuYmxvY2sucXVvdGUgewogICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7CiAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgbWFyZ2luLWxlZnQ6IDA7CiAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICBsaW5lLWhlaWdodDogMS42OwogIH0KCiAgLmJsb2NrLnF1b3RlOmVtcHR5OjpiZWZvcmUgewogICAgY29udGVudDogIlF1b3RlIjsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICBmb250LXdlaWdodDogNDAwOwogICAgZm9udC1zdHlsZTogaXRhbGljOwogIH0KCiAgLmNvZGUtYmxvY2stY29udGFpbmVyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG1hcmdpbjogMjBweCAwOwogIH0KCiAgLmNvZGUtbGFuZ3VhZ2UgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgdG9wOiAwOwogICAgcmlnaHQ6IDA7CiAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgcGFkZGluZzogNHB4IDEycHg7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBib3JkZXItcmFkaXVzOiAwIDRweCAwIDRweDsKICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7CiAgICB6LWluZGV4OiAxOwogIH0KCiAgLmJsb2NrLmNvZGUgewogICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgcGFkZGluZzogMTZweDsKICAgIHBhZGRpbmctdG9wOiAzMnB4OyAvKiBNYWtlIHJvb20gZm9yIGxhbmd1YWdlIGluZGljYXRvciAqLwogICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgJ01vbmFjbycsICdJbmNvbnNvbGF0YScsICdGaXJhIENvZGUnLCBtb25vc3BhY2U7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBsaW5lLWhlaWdodDogMS41OwogICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIG92ZXJmbG93LXg6IGF1dG87CiAgfQoKICAuYmxvY2suY29kZTplbXB0eTo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICIvLyBDb2RlIGJsb2NrIjsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgfQoKICAuYmxvY2subGlzdCB7CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgfQoKICAuYmxvY2subGlzdCB1bCwKICAuYmxvY2subGlzdCBvbCB7CiAgICBtYXJnaW46IDA7CiAgICBwYWRkaW5nOiAwIDAgMCAyNHB4OwogICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTsKICB9CgogIC5ibG9jay5saXN0IHVsIHsKICAgIGxpc3Qtc3R5bGU6IGRpc2M7CiAgfQoKICAuYmxvY2subGlzdCBvbCB7CiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsOwogIH0KCiAgLmJsb2NrLmxpc3QgbGkgewogICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgbGluZS1oZWlnaHQ6IDEuNjsKICB9CgogIC5ibG9jay5saXN0IGxpOmxhc3QtY2hpbGQgewogICAgbWFyZ2luLWJvdHRvbTogMDsKICB9CgogIC5ibG9jay5kaXZpZGVyIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIHBhZGRpbmc6IDIwcHggMDsKICAgIGN1cnNvcjogZGVmYXVsdDsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogIH0KCiAgLmJsb2NrLmRpdmlkZXIgaHIgewogICAgYm9yZGVyOiBub25lOwogICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgIG1hcmdpbjogMDsKICB9CgogIC5zbGFzaC1tZW51IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDYpOwogICAgcGFkZGluZzogNHB4OwogICAgei1pbmRleDogMTAwMDsKICAgIG1pbi13aWR0aDogMjIwcHg7CiAgICBtYXgtaGVpZ2h0OiAzMDBweDsKICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgIHVzZXItc2VsZWN0OiBub25lOwogIH0KCiAgLnNsYXNoLW1lbnUtaXRlbSB7CiAgICBwYWRkaW5nOiA4cHggMTBweDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDEycHg7CiAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgZm9udC1zaXplOiAxNHB4OwogIH0KCiAgLnNsYXNoLW1lbnUtaXRlbTpob3ZlciwKICAuc2xhc2gtbWVudS1pdGVtLnNlbGVjdGVkIHsKICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAuc2xhc2gtbWVudS1pdGVtIC5pY29uIHsKICAgIHdpZHRoOiAyNHB4OwogICAgaGVpZ2h0OiAyNHB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGZvbnQtc2l6ZTogMTZweDsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICBmb250LXdlaWdodDogNjAwOwogIH0KCiAgLnNsYXNoLW1lbnUtaXRlbTpob3ZlciAuaWNvbiwKICAuc2xhc2gtbWVudS1pdGVtLnNlbGVjdGVkIC5pY29uIHsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgfQoKICAudG9vbGJhciB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICB0b3A6IC00MHB4OwogICAgbGVmdDogMDsKICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDYpOwogICAgcGFkZGluZzogNHB4OwogICAgZGlzcGxheTogbm9uZTsKICAgIGdhcDogNHB4OwogICAgei1pbmRleDogMTAwMDsKICB9CgogIC50b29sYmFyLnZpc2libGUgewogICAgZGlzcGxheTogZmxleDsKICB9CgogIC50b29sYmFyLWJ1dHRvbiB7CiAgICB3aWR0aDogMzJweDsKICAgIGhlaWdodDogMzJweDsKICAgIGJvcmRlcjogbm9uZTsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgY3Vyc29yOiBwb2ludGVyOwogICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICB9CgogIC50b29sYmFyLWJ1dHRvbjpob3ZlciB7CiAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogIH0KCiAgLyogRHJhZyBhbmQgRHJvcCBTdHlsZXMgKi8KICAuYmxvY2std3JhcHBlciB7CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlLCBvcGFjaXR5IDAuMnMgZWFzZTsKICB9CgogIC8qIEVuc3VyZSBwcm9wZXIgc3BhY2luZyBjb250ZXh0IGZvciBibG9ja3MgKi8KICAuYmxvY2std3JhcHBlciArIC5ibG9jay13cmFwcGVyIC5ibG9jayB7CiAgICBtYXJnaW4tdG9wOiAxNnB4OwogIH0KCiAgLyogT3ZlcnJpZGUgZm9yIGhlYWRpbmdzIGZvbGxvd2luZyBvdGhlciBibG9ja3MgKi8KICAuYmxvY2std3JhcHBlciArIC5ibG9jay13cmFwcGVyIC5ibG9jay5oZWFkaW5nLTEsCiAgLmJsb2NrLXdyYXBwZXIgKyAuYmxvY2std3JhcHBlciAuYmxvY2suaGVhZGluZy0yLAogIC5ibG9jay13cmFwcGVyICsgLmJsb2NrLXdyYXBwZXIgLmJsb2NrLmhlYWRpbmctMyB7CiAgICBtYXJnaW4tdG9wOiAyNHB4OwogIH0KCiAgLyogQ29kZSBhbmQgcXVvdGUgYmxvY2tzIG5lZWQgY29uc2lzdGVudCBzcGFjaW5nICovCiAgLmJsb2NrLXdyYXBwZXIgKyAuYmxvY2std3JhcHBlciAuYmxvY2suY29kZSwKICAuYmxvY2std3JhcHBlciArIC5ibG9jay13cmFwcGVyIC5ibG9jay5xdW90ZSB7CiAgICBtYXJnaW4tdG9wOiAyMHB4OwogIH0KCiAgLmRyYWctaGFuZGxlIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IC0yOHB4OwogICAgdG9wOiA1MCU7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICB3aWR0aDogMjRweDsKICAgIGhlaWdodDogMjRweDsKICAgIGN1cnNvcjogZ3JhYjsKICAgIG9wYWNpdHk6IDA7CiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogIH0KCiAgLmRyYWctaGFuZGxlOjpiZWZvcmUgewogICAgY29udGVudDogIuKLruKLriI7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBsZXR0ZXItc3BhY2luZzogLTJweDsKICB9CgogIC5ibG9jay13cmFwcGVyOmhvdmVyIC5kcmFnLWhhbmRsZSB7CiAgICBvcGFjaXR5OiAxOwogIH0KCiAgLmRyYWctaGFuZGxlOmhvdmVyIHsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgfQoKICAuZHJhZy1oYW5kbGU6YWN0aXZlIHsKICAgIGN1cnNvcjogZ3JhYmJpbmc7CiAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgfQoKICAuYmxvY2std3JhcHBlci5kcmFnZ2luZyB7CiAgICBvcGFjaXR5OiAwLjg7CiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHotaW5kZXg6IDIwMDE7CiAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgfQoKCiAgLyogQmxvY2tzIHRoYXQgc2hvdWxkIG1vdmUgb3V0IG9mIHRoZSB3YXkgKi8KICAuYmxvY2std3JhcHBlci5tb3ZlLWRvd24gewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHZhcigtLWRyYWctb2Zmc2V0LCAwcHgpKTsKICB9CgogIC5ibG9jay13cmFwcGVyLm1vdmUtdXAgewogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKGNhbGMoLTEgKiB2YXIoLS1kcmFnLW9mZnNldCwgMHB4KSkpOwogIH0KCiAgLyogRHJvcCBpbmRpY2F0b3IgKi8KICAuZHJvcC1pbmRpY2F0b3IgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgbGVmdDogMDsKICAgIHJpZ2h0OiAwOwogICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjA1KSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjA1KSIpfTsKICAgIGJvcmRlcjogMnB4IGRhc2hlZCAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycyBlYXNlLCBoZWlnaHQgMC4ycyBlYXNlOwogICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICB6LWluZGV4OiAxOTk5OwogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICB9CgogIC8qIFJlbW92ZSBvbGQgZHJhZy1vdmVyIHN0eWxlcyAqLwogIC5ibG9jay13cmFwcGVyLmRyYWctb3Zlci1iZWZvcmUsCiAgLmJsb2NrLXdyYXBwZXIuZHJhZy1vdmVyLWFmdGVyIHsKICAgIC8qIE5vIGxvbmdlciBuZWVkZWQsIHVzaW5nIGRyb3AgaW5kaWNhdG9yIGluc3RlYWQgKi8KICB9CgogIC5lZGl0b3ItY29udGVudC5kcmFnZ2luZyAqIHsKICAgIHVzZXItc2VsZWN0OiBub25lOwogIH0KCiAgLyogQmxvY2sgU2V0dGluZ3MgQnV0dG9uIC0gUmVtb3ZlZCBpbiBmYXZvciBvZiBjb250ZXh0IG1lbnUgKi8KCiAgLyogVGV4dCBTZWxlY3Rpb24gU3R5bGVzICovCiAgLmJsb2NrIDo6c2VsZWN0aW9uIHsKICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgY29sb3I6IGluaGVyaXQ7CiAgfQoKICAvKiBGb3JtYXR0aW5nIE1lbnUgKi8KICAuZm9ybWF0dGluZy1tZW51IHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMDYpOwogICAgcGFkZGluZzogNHB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogMnB4OwogICAgei1pbmRleDogMTAwMTsKICAgIGFuaW1hdGlvbjogZmFkZUluU2NhbGUgMC4xNXMgZWFzZS1vdXQ7CiAgfQoKICBAa2V5ZnJhbWVzIGZhZGVJblNjYWxlIHsKICAgIGZyb20gewogICAgICBvcGFjaXR5OiAwOwogICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTgpIHRyYW5zbGF0ZVkoMnB4KTsKICAgIH0KICAgIHRvIHsKICAgICAgb3BhY2l0eTogMTsKICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKSB0cmFuc2xhdGVZKDApOwogICAgfQogIH0KCiAgLmZvcm1hdC1idXR0b24gewogICAgd2lkdGg6IDMycHg7CiAgICBoZWlnaHQ6IDMycHg7CiAgICBib3JkZXI6IG5vbmU7CiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICBmb250LXdlaWdodDogNjAwOwogICAgZm9udC1zaXplOiAxNHB4OwogICAgcG9zaXRpb246IHJlbGF0aXZlOwogIH0KCiAgLmZvcm1hdC1idXR0b246aG92ZXIgewogICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICB9CgogIC5mb3JtYXQtYnV0dG9uOmFjdGl2ZSB7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpOwogIH0KCiAgLmZvcm1hdC1idXR0b24uYm9sZCB7CiAgICBmb250LXdlaWdodDogNzAwOwogIH0KCiAgLmZvcm1hdC1idXR0b24uaXRhbGljIHsKICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICB9CgogIC5mb3JtYXQtYnV0dG9uLnVuZGVybGluZSB7CiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICB9CgogIC5mb3JtYXQtYnV0dG9uIC5jb2RlLWljb24gewogICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgJ01vbmFjbycsICdJbmNvbnNvbGF0YScsICdGaXJhIENvZGUnLCBtb25vc3BhY2U7CiAgICBmb250LXNpemU6IDEycHg7CiAgfQoKICAvKiBBcHBsaWVkIGZvcm1hdCBzdHlsZXMgaW4gY29udGVudCAqLwogIC5ibG9jayBzdHJvbmcsCiAgLmJsb2NrIGIgewogICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAuYmxvY2sgZW0sCiAgLmJsb2NrIGkgewogICAgZm9udC1zdHlsZTogaXRhbGljOwogIH0KCiAgLmJsb2NrIHUgewogICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgfQoKICAuYmxvY2sgc3RyaWtlLAogIC5ibG9jayBzIHsKICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOwogICAgb3BhY2l0eTogMC43OwogIH0KCiAgLmJsb2NrIGNvZGUgewogICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgcGFkZGluZzogMnB4IDZweDsKICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgZm9udC1zaXplOiAwLjllbTsKICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgfQoKICAuYmxvY2sgYSB7CiAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMTVzIGVhc2U7CiAgfQoKICAuYmxvY2sgYTpob3ZlciB7CiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgfQpgfSk7dmFyIERuLGlLZT1mKCgpPT57JG8oKTtEbj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXeXNpd3lnQ29udmVydGVycyIpfXN0YXRpYyBlc2NhcGVIdG1sKGUpe2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LnRleHRDb250ZW50PWUsdC5pbm5lckhUTUx9c3RhdGljIGZvcm1hdEZpbGVTaXplKGUpe2lmKGU9PT0wKXJldHVybiIwIEJ5dGVzIjtsZXQgdD0xMDI0LHI9WyJCeXRlcyIsIktCIiwiTUIiLCJHQiJdLGk9TWF0aC5mbG9vcihNYXRoLmxvZyhlKS9NYXRoLmxvZyh0KSk7cmV0dXJuIHBhcnNlRmxvYXQoKGUvTWF0aC5wb3codCxpKSkudG9GaXhlZCgyKSkrIiAiK3JbaV19c3RhdGljIGdldEh0bWxPdXRwdXQoZSl7cmV0dXJuIGUubWFwKHQ9PntsZXQgcj10LmNvbnRlbnQuaW5jbHVkZXMoIjwiKSYmdC5jb250ZW50LmluY2x1ZGVzKCI+Iik/dC5jb250ZW50OnRoaXMuZXNjYXBlSHRtbCh0LmNvbnRlbnQpO3N3aXRjaCh0LnR5cGUpe2Nhc2UicGFyYWdyYXBoIjpyZXR1cm4gdC5jb250ZW50P2A8cD4ke3J9PC9wPmA6IiI7Y2FzZSJoZWFkaW5nLTEiOnJldHVybmA8aDE+JHtyfTwvaDE+YDtjYXNlImhlYWRpbmctMiI6cmV0dXJuYDxoMj4ke3J9PC9oMj5gO2Nhc2UiaGVhZGluZy0zIjpyZXR1cm5gPGgzPiR7cn08L2gzPmA7Y2FzZSJxdW90ZSI6cmV0dXJuYDxibG9ja3F1b3RlPiR7cn08L2Jsb2NrcXVvdGU+YDtjYXNlImNvZGUiOnJldHVybmA8cHJlPjxjb2RlPiR7dGhpcy5lc2NhcGVIdG1sKHQuY29udGVudCl9PC9jb2RlPjwvcHJlPmA7Y2FzZSJsaXN0IjpsZXQgaT10LmNvbnRlbnQuc3BsaXQoYApgKS5maWx0ZXIoZD0+ZC50cmltKCkpO2lmKGkubGVuZ3RoPjApe2xldCBkPXQubWV0YWRhdGE/Lmxpc3RUeXBlPT09Im9yZGVyZWQiPyJvbCI6InVsIjtyZXR1cm5gPCR7ZH0+JHtpLm1hcChjPT5gPGxpPiR7Y308L2xpPmApLmpvaW4oIiIpfTwvJHtkfT5gfXJldHVybiIiO2Nhc2UiZGl2aWRlciI6cmV0dXJuIjxocj4iO2Nhc2UiaW1hZ2UiOmxldCBvPXQubWV0YWRhdGE/LnVybDtpZihvKXtsZXQgZD10aGlzLmVzY2FwZUh0bWwodC5jb250ZW50fHwiSW1hZ2UiKTtyZXR1cm5gPGltZyBzcmM9IiR7b30iIGFsdD0iJHtkfSIgLz5gfXJldHVybiIiO2Nhc2UieW91dHViZSI6bGV0IG49dC5tZXRhZGF0YT8udmlkZW9JZDtyZXR1cm4gbj9gPGlmcmFtZSB3aWR0aD0iNTYwIiBoZWlnaHQ9IjMxNSIgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8ke259IiBmcmFtZWJvcmRlcj0iMCIgYWxsb3c9ImFjY2VsZXJvbWV0ZXI7IGF1dG9wbGF5OyBjbGlwYm9hcmQtd3JpdGU7IGVuY3J5cHRlZC1tZWRpYTsgZ3lyb3Njb3BlOyBwaWN0dXJlLWluLXBpY3R1cmUiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT5gOiIiO2Nhc2UibWFya2Rvd24iOnJldHVybmA8ZGl2IGNsYXNzPSJtYXJrZG93bi1jb250ZW50Ij4ke3RoaXMuZXNjYXBlSHRtbCh0LmNvbnRlbnQpfTwvZGl2PmA7Y2FzZSJodG1sIjpyZXR1cm4gdC5jb250ZW50O2Nhc2UiYXR0YWNobWVudCI6bGV0IGw9dC5tZXRhZGF0YT8uZmlsZXN8fFtdO3JldHVybiBsLmxlbmd0aD4wP2A8ZGl2IGNsYXNzPSJhdHRhY2htZW50cyI+JHtsLm1hcChkPT5gPGRpdiBjbGFzcz0iYXR0YWNobWVudC1pdGVtIiBkYXRhLWZpbGUtaWQ9IiR7ZC5pZH0iPgogICAgICAgICAgICAgICAgPGEgaHJlZj0iJHtkLmRhdGF9IiBkb3dubG9hZD0iJHtkLm5hbWV9Ij4ke3RoaXMuZXNjYXBlSHRtbChkLm5hbWUpfTwvYT4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWxlLXNpemUiPigke3RoaXMuZm9ybWF0RmlsZVNpemUoZC5zaXplKX0pPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PmApLmpvaW4oIiIpfTwvZGl2PmA6IiI7ZGVmYXVsdDpyZXR1cm5gPHA+JHtyfTwvcD5gfX0pLmZpbHRlcih0PT50IT09IiIpLmpvaW4oYApgKX1zdGF0aWMgZ2V0TWFya2Rvd25PdXRwdXQoZSl7cmV0dXJuIGUubWFwKHQ9Pntzd2l0Y2godC50eXBlKXtjYXNlInBhcmFncmFwaCI6cmV0dXJuIHQuY29udGVudDtjYXNlImhlYWRpbmctMSI6cmV0dXJuYCMgJHt0LmNvbnRlbnR9YDtjYXNlImhlYWRpbmctMiI6cmV0dXJuYCMjICR7dC5jb250ZW50fWA7Y2FzZSJoZWFkaW5nLTMiOnJldHVybmAjIyMgJHt0LmNvbnRlbnR9YDtjYXNlInF1b3RlIjpyZXR1cm5gPiAke3QuY29udGVudH1gO2Nhc2UiY29kZSI6cmV0dXJuYFxgXGBcYAoke3QuY29udGVudH0KXGBcYFxgYDtjYXNlImxpc3QiOmxldCByPXQuY29udGVudC5zcGxpdChgCmApLmZpbHRlcihjPT5jLnRyaW0oKSk7cmV0dXJuIHQubWV0YWRhdGE/Lmxpc3RUeXBlPT09Im9yZGVyZWQiP3IubWFwKChjLHApPT5gJHtwKzF9LiAke2N9YCkuam9pbihgCmApOnIubWFwKGM9PmAtICR7Y31gKS5qb2luKGAKYCk7Y2FzZSJkaXZpZGVyIjpyZXR1cm4iLS0tIjtjYXNlImltYWdlIjpsZXQgaT10Lm1ldGFkYXRhPy51cmwsbz10LmNvbnRlbnR8fCJJbWFnZSI7cmV0dXJuIGk/YCFbJHtvfV0oJHtpfSlgOiIiO2Nhc2UieW91dHViZSI6bGV0IG49dC5tZXRhZGF0YT8udmlkZW9JZCxsPXQubWV0YWRhdGE/LnVybHx8KG4/YGh0dHBzOi8veW91dHViZS5jb20vd2F0Y2g/dj0ke259YDoiIik7cmV0dXJuIGw/YFtZb3VUdWJlIFZpZGVvXSgke2x9KWA6IiI7Y2FzZSJtYXJrZG93biI6cmV0dXJuIHQuY29udGVudDtjYXNlImh0bWwiOnJldHVybmA8IS0tIEhUTUwgQmxvY2sKJHt0LmNvbnRlbnR9Ci0tPmA7Y2FzZSJhdHRhY2htZW50IjpsZXQgZD10Lm1ldGFkYXRhPy5maWxlc3x8W107cmV0dXJuIGQubGVuZ3RoPjA/ZC5tYXAoYz0+YC0gWyR7Yy5uYW1lfV0oJHtjLmRhdGF9KWApLmpvaW4oYApgKToiIjtkZWZhdWx0OnJldHVybiB0LmNvbnRlbnR9fSkuZmlsdGVyKHQ9PnQhPT0iIikuam9pbihgCgpgKX1zdGF0aWMgcGFyc2VIdG1sVG9CbG9ja3MoZSl7bGV0IHI9bmV3IERPTVBhcnNlcigpLnBhcnNlRnJvbVN0cmluZyhlLCJ0ZXh0L2h0bWwiKSxpPVtdLG89cyhuPT57aWYobi5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFJiZuLnRleHRDb250ZW50Py50cmltKCkpaS5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToicGFyYWdyYXBoIixjb250ZW50Om4udGV4dENvbnRlbnQudHJpbSgpfSk7ZWxzZSBpZihuLm5vZGVUeXBlPT09Tm9kZS5FTEVNRU5UX05PREUpe2xldCBsPW4sZD1sLnRhZ05hbWUudG9Mb3dlckNhc2UoKTtzd2l0Y2goZCl7Y2FzZSJwIjppLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6bC5pbm5lckhUTUx8fCIifSk7YnJlYWs7Y2FzZSJoMSI6aS5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToiaGVhZGluZy0xIixjb250ZW50OmwuaW5uZXJIVE1MfHwiIn0pO2JyZWFrO2Nhc2UiaDIiOmkucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImhlYWRpbmctMiIsY29udGVudDpsLmlubmVySFRNTHx8IiJ9KTticmVhaztjYXNlImgzIjppLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJoZWFkaW5nLTMiLGNvbnRlbnQ6bC5pbm5lckhUTUx8fCIifSk7YnJlYWs7Y2FzZSJibG9ja3F1b3RlIjppLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJxdW90ZSIsY29udGVudDpsLmlubmVySFRNTHx8IiJ9KTticmVhaztjYXNlInByZSI6Y2FzZSJjb2RlIjppLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJjb2RlIixjb250ZW50OmwudGV4dENvbnRlbnR8fCIifSk7YnJlYWs7Y2FzZSJ1bCI6Y2FzZSJvbCI6bGV0IHA9QXJyYXkuZnJvbShsLnF1ZXJ5U2VsZWN0b3JBbGwoImxpIikpLm1hcChtPT5tLmlubmVySFRNTHx8IiIpLmpvaW4oYApgKTtpLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJsaXN0Iixjb250ZW50OnAsbWV0YWRhdGE6e2xpc3RUeXBlOmQ9PT0ib2wiPyJvcmRlcmVkIjoiYnVsbGV0In19KTticmVhaztjYXNlImhyIjppLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJkaXZpZGVyIixjb250ZW50OiIgIn0pO2JyZWFrO2Nhc2UiaW1nIjpsZXQgdT1sO2kucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImltYWdlIixjb250ZW50OnUuYWx0fHwiIixtZXRhZGF0YTp7dXJsOnUuc3JjfX0pO2JyZWFrO2RlZmF1bHQ6bC5jaGlsZE5vZGVzLmZvckVhY2gobT0+byhtKSl9fX0sInByb2Nlc3NOb2RlIik7cmV0dXJuIHIuYm9keS5jaGlsZE5vZGVzLmZvckVhY2gobj0+byhuKSksaX1zdGF0aWMgcGFyc2VNYXJrZG93blRvQmxvY2tzKGUpe2xldCB0PWUuc3BsaXQoYApgKSxyPVtdLGk9W107Zm9yKGxldCBvPTA7bzx0Lmxlbmd0aDtvKyspe2xldCBuPXRbb107aWYobi5zdGFydHNXaXRoKCIjICIpKXIucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImhlYWRpbmctMSIsY29udGVudDpuLnN1YnN0cmluZygyKX0pO2Vsc2UgaWYobi5zdGFydHNXaXRoKCIjIyAiKSlyLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJoZWFkaW5nLTIiLGNvbnRlbnQ6bi5zdWJzdHJpbmcoMyl9KTtlbHNlIGlmKG4uc3RhcnRzV2l0aCgiIyMjICIpKXIucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImhlYWRpbmctMyIsY29udGVudDpuLnN1YnN0cmluZyg0KX0pO2Vsc2UgaWYobi5zdGFydHNXaXRoKCI+ICIpKXIucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6InF1b3RlIixjb250ZW50Om4uc3Vic3RyaW5nKDIpfSk7ZWxzZSBpZihuLnN0YXJ0c1dpdGgoImBgYCIpKXtsZXQgbD1bXTtmb3IobysrO288dC5sZW5ndGgmJiF0W29dLnN0YXJ0c1dpdGgoImBgYCIpOylsLnB1c2godFtvXSksbysrO3IucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImNvZGUiLGNvbnRlbnQ6bC5qb2luKGAKYCl9KX1lbHNlIGlmKG4ubWF0Y2goL14oXCp8LSkgLykpaS5wdXNoKG4uc3Vic3RyaW5nKDIpKSwobz09PXQubGVuZ3RoLTF8fCF0W28rMV0ubWF0Y2goL14oXCp8LSkgLykpJiYoci5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToibGlzdCIsY29udGVudDppLmpvaW4oYApgKSxtZXRhZGF0YTp7bGlzdFR5cGU6ImJ1bGxldCJ9fSksaT1bXSk7ZWxzZSBpZihuLm1hdGNoKC9eXGQrXC4gLykpaS5wdXNoKG4ucmVwbGFjZSgvXlxkK1wuIC8sIiIpKSwobz09PXQubGVuZ3RoLTF8fCF0W28rMV0ubWF0Y2goL15cZCtcLiAvKSkmJihyLnB1c2goe2lkOmBibG9jay0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsOSl9YCx0eXBlOiJsaXN0Iixjb250ZW50Omkuam9pbihgCmApLG1ldGFkYXRhOntsaXN0VHlwZToib3JkZXJlZCJ9fSksaT1bXSk7ZWxzZSBpZihuPT09Ii0tLSJ8fG49PT0iKioqInx8bj09PSJfX18iKXIucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6ImRpdmlkZXIiLGNvbnRlbnQ6IiAifSk7ZWxzZSBpZihuLm1hdGNoKC9eIVxbKFteXF1dKilcXVwoKFteXCldKylcKSQvKSl7bGV0IGw9bi5tYXRjaCgvXiFcWyhbXlxdXSopXF1cKChbXlwpXSspXCkkLyk7bCYmci5wdXNoKHtpZDpgYmxvY2stJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDkpfWAsdHlwZToiaW1hZ2UiLGNvbnRlbnQ6bFsxXXx8IiIsbWV0YWRhdGE6e3VybDpsWzJdfX0pfWVsc2Ugbi50cmltKCkmJnIucHVzaCh7aWQ6YGJsb2NrLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KX1gLHR5cGU6InBhcmFncmFwaCIsY29udGVudDpufSl9cmV0dXJuIHJ9fX0pO3ZhciB0aSxiYz1mKCgpPT57bGUoKTskbygpO2lLZSgpO3RpPWNsYXNze3N0YXRpY3tzKHRoaXMsIld5c2l3eWdCbG9ja3MiKX1zdGF0aWMgcmVuZGVyTGlzdENvbnRlbnQoZSx0KXtsZXQgcj1lLnNwbGl0KGAKYCkuZmlsdGVyKG89Pm8udHJpbSgpKTtpZihyLmxlbmd0aD09PTApcmV0dXJuIiI7bGV0IGk9dD8ubGlzdFR5cGU9PT0ib3JkZXJlZCI/Im9sIjoidWwiO3JldHVybmA8JHtpfT4ke3IubWFwKG89PmA8bGk+JHtvfTwvbGk+YCkuam9pbigiIil9PC8ke2l9PmB9c3RhdGljIHJlbmRlckJsb2NrKGUsdCxyKXtpZihlLnR5cGU9PT0iZGl2aWRlciIpcmV0dXJuIHdgCiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9ImJsb2NrIGRpdmlkZXIiCiAgICAgICAgICBkYXRhLWJsb2NrLWlkPSIke2UuaWR9IgogICAgICAgID4KICAgICAgICAgIDxocj4KICAgICAgICA8L2Rpdj4KICAgICAgYDtpZihlLnR5cGU9PT0ibGlzdCIpcmV0dXJuIHdgCiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9ImJsb2NrIGxpc3QgJHt0PyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICAgIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIKICAgICAgICAgIEBpbnB1dD0iJHtyLm9uSW5wdXR9IgogICAgICAgICAgQGtleWRvd249IiR7ci5vbktleURvd259IgogICAgICAgICAgQGZvY3VzPSIke3Iub25Gb2N1c30iCiAgICAgICAgICBAYmx1cj0iJHtyLm9uQmx1cn0iCiAgICAgICAgICBAY29tcG9zaXRpb25zdGFydD0iJHtyLm9uQ29tcG9zaXRpb25TdGFydH0iCiAgICAgICAgICBAY29tcG9zaXRpb25lbmQ9IiR7ci5vbkNvbXBvc2l0aW9uRW5kfSIKICAgICAgICAgIEBtb3VzZXVwPSIke289Pntjb25zb2xlLmxvZygiQmxvY2sgbW91c2V1cCBldmVudCBmaXJlZCIpLHIub25Nb3VzZVVwJiZyLm9uTW91c2VVcChvKX19IgogICAgICAgICAgLmlubmVySFRNTD0iJHt0aGlzLnJlbmRlckxpc3RDb250ZW50KGUuY29udGVudCxlLm1ldGFkYXRhKX0iCiAgICAgICAgPjwvZGl2PgogICAgICBgO2lmKGUudHlwZT09PSJjb2RlIil7bGV0IG89ZS5tZXRhZGF0YT8ubGFuZ3VhZ2V8fCJwbGFpbiB0ZXh0IjtyZXR1cm4gd2AKICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWJsb2NrLWNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWxhbmd1YWdlIj4ke299PC9kaXY+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIGNsYXNzPSJibG9jayAke2UudHlwZX0gJHt0PyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgICBjb250ZW50ZWRpdGFibGU9InRydWUiCiAgICAgICAgICAgIEBpbnB1dD0iJHtyLm9uSW5wdXR9IgogICAgICAgICAgICBAa2V5ZG93bj0iJHtyLm9uS2V5RG93bn0iCiAgICAgICAgICAgIEBmb2N1cz0iJHtyLm9uRm9jdXN9IgogICAgICAgICAgICBAYmx1cj0iJHtyLm9uQmx1cn0iCiAgICAgICAgICAgIEBjb21wb3NpdGlvbnN0YXJ0PSIke3Iub25Db21wb3NpdGlvblN0YXJ0fSIKICAgICAgICAgICAgQGNvbXBvc2l0aW9uZW5kPSIke3Iub25Db21wb3NpdGlvbkVuZH0iCiAgICAgICAgICAgIEBtb3VzZXVwPSIke249Pntjb25zb2xlLmxvZygiQmxvY2sgbW91c2V1cCBldmVudCBmaXJlZCIpLHIub25Nb3VzZVVwJiZyLm9uTW91c2VVcChuKX19IgogICAgICAgICAgICAudGV4dENvbnRlbnQ9IiR7ZS5jb250ZW50fHwiIn0iCiAgICAgICAgICA+PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGB9cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iYmxvY2sgJHtlLnR5cGV9ICR7dD8ic2VsZWN0ZWQiOiIifSIKICAgICAgICBjb250ZW50ZWRpdGFibGU9InRydWUiCiAgICAgICAgQGlucHV0PSIke3Iub25JbnB1dH0iCiAgICAgICAgQGtleWRvd249IiR7ci5vbktleURvd259IgogICAgICAgIEBmb2N1cz0iJHtyLm9uRm9jdXN9IgogICAgICAgIEBibHVyPSIke3Iub25CbHVyfSIKICAgICAgICBAY29tcG9zaXRpb25zdGFydD0iJHtyLm9uQ29tcG9zaXRpb25TdGFydH0iCiAgICAgICAgQGNvbXBvc2l0aW9uZW5kPSIke3Iub25Db21wb3NpdGlvbkVuZH0iCiAgICAgICAgQG1vdXNldXA9IiR7bz0+e2NvbnNvbGUubG9nKCJCbG9jayBtb3VzZXVwIGV2ZW50IGZpcmVkIiksci5vbk1vdXNlVXAmJnIub25Nb3VzZVVwKG8pfX0iCiAgICAgICAgLmlubmVySFRNTD0iJHtlLmNvbnRlbnR8fCIifSIKICAgICAgPjwvZGl2PgogICAgYH1zdGF0aWMgc2V0Q3Vyc29yVG9FbmQoZSl7bGV0IHQ9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCF0KXJldHVybjtsZXQgcj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO2lmKGUuY2hpbGROb2Rlcy5sZW5ndGg9PT0wKXtsZXQgaT1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiXHUyMDBCIik7ZS5hcHBlbmRDaGlsZChpKSxyLnNldFN0YXJ0KGksMSksci5jb2xsYXBzZSghMCl9ZWxzZXtsZXQgaT10aGlzLmdldExhc3ROb2RlKGUpO2kubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERT9yLnNldFN0YXJ0KGksaS50ZXh0Q29udGVudD8ubGVuZ3RofHwwKTpyLnNldFN0YXJ0QWZ0ZXIoaSksci5jb2xsYXBzZSghMCl9dC5yZW1vdmVBbGxSYW5nZXMoKSx0LmFkZFJhbmdlKHIpLGUudGV4dENvbnRlbnQ9PT0iXHUyMDBCIiYmKGUudGV4dENvbnRlbnQ9IiIpfXN0YXRpYyBzZXRDdXJzb3JUb1N0YXJ0KGUpe2xldCB0PXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighdClyZXR1cm47bGV0IHI9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtpZihlLmNoaWxkTm9kZXMubGVuZ3RoPT09MClyLnNldFN0YXJ0KGUsMCksci5jb2xsYXBzZSghMCk7ZWxzZXtsZXQgaT10aGlzLmdldEZpcnN0Tm9kZShlKTtpLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREU/ci5zZXRTdGFydChpLDApOnIuc2V0U3RhcnRCZWZvcmUoaSksci5jb2xsYXBzZSghMCl9dC5yZW1vdmVBbGxSYW5nZXMoKSx0LmFkZFJhbmdlKHIpfXN0YXRpYyBnZXRMYXN0Tm9kZShlKXtpZihlLmNoaWxkTm9kZXMubGVuZ3RoPT09MClyZXR1cm4gZTtsZXQgdD1lLmNoaWxkTm9kZXNbZS5jaGlsZE5vZGVzLmxlbmd0aC0xXTtyZXR1cm4gdC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFfHx0LmNoaWxkTm9kZXMubGVuZ3RoPT09MD90OnRoaXMuZ2V0TGFzdE5vZGUodCl9c3RhdGljIGdldEZpcnN0Tm9kZShlKXtpZihlLmNoaWxkTm9kZXMubGVuZ3RoPT09MClyZXR1cm4gZTtsZXQgdD1lLmNoaWxkTm9kZXNbMF07cmV0dXJuIHQubm9kZVR5cGU9PT1Ob2RlLlRFWFRfTk9ERXx8dC5jaGlsZE5vZGVzLmxlbmd0aD09PTA/dDp0aGlzLmdldEZpcnN0Tm9kZSh0KX1zdGF0aWMgZm9jdXNMaXN0SXRlbShlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoImxpIik7aWYodCl7dC5mb2N1cygpO2xldCByPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCksaT13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7ci5zZWxlY3ROb2RlQ29udGVudHModCksci5jb2xsYXBzZSghMCksaS5yZW1vdmVBbGxSYW5nZXMoKSxpLmFkZFJhbmdlKHIpfX19fSk7dmFyIFJVLG9LZT1mKCgpPT57JG8oKTtmbSgpO05mKCk7YmMoKTtSVT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXeXNpd3lnQmxvY2tPcGVyYXRpb25zIil9Y29tcG9uZW50O2NvbnN0cnVjdG9yKGUpe3RoaXMuY29tcG9uZW50PWV9Y3JlYXRlQmxvY2soZT0icGFyYWdyYXBoIix0PSIiLHIpe3JldHVybntpZDpYci5nZW5lcmF0ZUJsb2NrSWQoKSx0eXBlOmUsY29udGVudDp0LC4uLnImJnttZXRhZGF0YTpyfX19YXN5bmMgaW5zZXJ0QmxvY2tBZnRlcihlLHQscj0hMCl7bGV0IGk9dGhpcy5jb21wb25lbnQuYmxvY2tzLG89aS5maW5kSW5kZXgobj0+bi5pZD09PWUuaWQpO2lmKHRoaXMuY29tcG9uZW50LmJsb2Nrcz1bLi4uaS5zbGljZSgwLG8rMSksdCwuLi5pLnNsaWNlKG8rMSldLHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYpe2xldCBuPXRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7ZS5pZH0iXWApO2lmKG4pe2xldCBsPXRoaXMuY29tcG9uZW50LmNyZWF0ZUJsb2NrRWxlbWVudCh0KTtuLmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJlbmQiLGwpfX10aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpLHImJnQudHlwZSE9PSJkaXZpZGVyIiYmKGF3YWl0IG5ldyBQcm9taXNlKG49PnNldFRpbWVvdXQobiwwKSksYXdhaXQgdGhpcy5mb2N1c0Jsb2NrKHQuaWQsInN0YXJ0IikpfXJlbW92ZUJsb2NrKGUpe2lmKHRoaXMuY29tcG9uZW50LnNhdmVUb0hpc3RvcnkoITEpLHRoaXMuY29tcG9uZW50LmJsb2Nrcz10aGlzLmNvbXBvbmVudC5ibG9ja3MuZmlsdGVyKHQ9PnQuaWQhPT1lKSx0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmKXtsZXQgdD10aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke2V9Il1gKTt0JiZ0LnJlbW92ZSgpfXRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCl9ZmluZEJsb2NrKGUpe3JldHVybiB0aGlzLmNvbXBvbmVudC5ibG9ja3MuZmluZCh0PT50LmlkPT09ZSl9Z2V0QmxvY2tJbmRleChlKXtyZXR1cm4gdGhpcy5jb21wb25lbnQuYmxvY2tzLmZpbmRJbmRleCh0PT50LmlkPT09ZSl9YXN5bmMgZm9jdXNCbG9jayhlLHQ9InN0YXJ0Iil7bGV0IHI9dGhpcy5jb21wb25lbnQuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtlfSJdYCk7aWYocil7bGV0IGk9ci5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpJiYoYXdhaXQgbmV3IFByb21pc2Uobz0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKG8pKSxpLmZvY3VzV2l0aEN1cnNvcih0KSl9fXVwZGF0ZUJsb2NrQ29udGVudChlLHQpe2xldCByPXRoaXMuZmluZEJsb2NrKGUpO3ImJihyLmNvbnRlbnQ9dCx0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpKX10cmFuc2Zvcm1CbG9jayhlLHQscil7bGV0IGk9dGhpcy5maW5kQmxvY2soZSk7aSYmKHRoaXMuY29tcG9uZW50LnNhdmVUb0hpc3RvcnkoITEpLGkudHlwZT10LGkuY29udGVudD0iIixyJiYoaS5tZXRhZGF0YT1yKSx0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLmNvbXBvbmVudC51cGRhdGVCbG9ja0VsZW1lbnQoZSksdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKSl9bW92ZUJsb2NrKGUsdCl7bGV0IHI9Wy4uLnRoaXMuY29tcG9uZW50LmJsb2Nrc10saT10aGlzLmdldEJsb2NrSW5kZXgoZSk7aWYoaT09PS0xfHx0PDB8fHQ+PXIubGVuZ3RoKXJldHVybjtsZXRbb109ci5zcGxpY2UoaSwxKTtyLnNwbGljZSh0LDAsbyksdGhpcy5jb21wb25lbnQuYmxvY2tzPXIsdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKX1nZXRQcmV2aW91c0Jsb2NrKGUpe2xldCB0PXRoaXMuZ2V0QmxvY2tJbmRleChlKTtyZXR1cm4gdD4wP3RoaXMuY29tcG9uZW50LmJsb2Nrc1t0LTFdOm51bGx9Z2V0TmV4dEJsb2NrKGUpe2xldCB0PXRoaXMuZ2V0QmxvY2tJbmRleChlKTtyZXR1cm4gdDx0aGlzLmNvbXBvbmVudC5ibG9ja3MubGVuZ3RoLTE/dGhpcy5jb21wb25lbnQuYmxvY2tzW3QrMV06bnVsbH19fSk7dmFyIGhyLEpvPWYoKCk9Pntocj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJCYXNlQmxvY2tIYW5kbGVyIil9c2V0dXAoZSx0LHIpe31nZXRTdHlsZXMoKXtyZXR1cm4iIn19fSk7dmFyIFZhLGZpYT1mKCgpPT57VmE9Y2xhc3N7c3RhdGlje3ModGhpcywiQmxvY2tSZWdpc3RyeSIpfXN0YXRpYyBoYW5kbGVycz1uZXcgTWFwO3N0YXRpYyByZWdpc3RlcihlLHQpe3RoaXMuaGFuZGxlcnMuc2V0KGUsdCl9c3RhdGljIGdldEhhbmRsZXIoZSl7cmV0dXJuIHRoaXMuaGFuZGxlcnMuZ2V0KGUpfXN0YXRpYyBnZXRBbGxUeXBlcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuaGFuZGxlcnMua2V5cygpKX19fSk7dmFyIGhpYT1mKCgpPT57fSk7dmFyIE9VLG1pYT1mKCgpPT57Sm8oKTtsZSgpO2JjKCk7ajIoKTtPVT1jbGFzcyBleHRlbmRzIGhye3N0YXRpY3tzKHRoaXMsIlBhcmFncmFwaEJsb2NrSGFuZGxlciIpfXR5cGU9InBhcmFncmFwaCI7bGFzdEtub3duQ3Vyc29yUG9zaXRpb249MDtsYXN0U2VsZWN0ZWRUZXh0PSIiO3NlbGVjdGlvbkhhbmRsZXI9bnVsbDtyZW5kZXIoZSx0KXtsZXQgcj10PyIgc2VsZWN0ZWQiOiIiLGk9dGhpcy5nZXRQbGFjZWhvbGRlcigpO3JldHVybmAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJibG9jayBwYXJhZ3JhcGgke3J9IgogICAgICAgIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIKICAgICAgICBkYXRhLXBsYWNlaG9sZGVyPSIke2l9IgogICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgZGF0YS1ibG9jay10eXBlPSIke2UudHlwZX0iCiAgICAgID48L2Rpdj4KICAgIGB9c2V0dXAoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnBhcmFncmFwaCIpO2lmKCFpKXtjb25zb2xlLmVycm9yKCJQYXJhZ3JhcGhCbG9ja0hhbmRsZXIuc2V0dXA6IE5vIHBhcmFncmFwaCBibG9jayBlbGVtZW50IGZvdW5kIik7cmV0dXJufXQuY29udGVudCYmIWkuaW5uZXJIVE1MJiYoaS5pbm5lckhUTUw9dC5jb250ZW50KSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixvPT57ci5vbklucHV0KG8pO2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixvPT57bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249biksci5vbktleURvd24obyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+e3Iub25Gb2N1cygpfSksaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e3Iub25CbHVyKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uc3RhcnQiLCgpPT57ci5vbkNvbXBvc2l0aW9uU3RhcnQoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25lbmQiLCgpPT57ci5vbkNvbXBvc2l0aW9uRW5kKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLG89PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKSxyLm9uTW91c2VVcD8uKG8pfSksaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbz0+e3NldFRpbWVvdXQoKCk9PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKX0sMCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIixvPT57bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249bil9KSx0aGlzLnNldHVwU2VsZWN0aW9uSGFuZGxlcihlLGksdCl9c2V0dXBTZWxlY3Rpb25IYW5kbGVyKGUsdCxyKXtsZXQgaT1zKCgpPT57bGV0IG49d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFufHxuLnJhbmdlQ291bnQ9PT0wKXJldHVybjtsZXQgbD1uLnRvU3RyaW5nKCk7aWYobC5sZW5ndGg9PT0wKXt0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUse3RleHQ6IiIsYmxvY2tJZDpyLmlkLGhhc1NlbGVjdGlvbjohMX0pKTtyZXR1cm59bGV0IGQ9dC5nZXRSb290Tm9kZSgpLmhvc3QscD1kPy5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCx1PWQ/LnNoYWRvd1Jvb3QsbT1bXTtwJiZtLnB1c2gocCksdSYmbS5wdXNoKHUpO2xldCB2PXJ0LmdldFNlbGVjdGlvbkluZm8oLi4ubSk7aWYoIXYpcmV0dXJuO2xldCB4PXJ0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHQsdi5zdGFydENvbnRhaW5lciksYj1ydC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTSh0LHYuZW5kQ29udGFpbmVyKTtpZih4fHxiKXtpZihsIT09dGhpcy5sYXN0U2VsZWN0ZWRUZXh0KXt0aGlzLmxhc3RTZWxlY3RlZFRleHQ9bDtsZXQgZz1ydC5jcmVhdGVSYW5nZUZyb21JbmZvKHYpLHk9Zy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSx7dGV4dDpsLnRyaW0oKSxibG9ja0lkOnIuaWQscmFuZ2U6ZyxyZWN0OnksaGFzU2VsZWN0aW9uOiEwfSl9fWVsc2UgdGhpcy5sYXN0U2VsZWN0ZWRUZXh0JiYodGhpcy5sYXN0U2VsZWN0ZWRUZXh0PSIiLHRoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHt0ZXh0OiIiLGJsb2NrSWQ6ci5pZCxoYXNTZWxlY3Rpb246ITF9KSl9LCJjaGVja1NlbGVjdGlvbiIpO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsaSksdGhpcy5zZWxlY3Rpb25IYW5kbGVyPWk7bGV0IG89ZS5jbG9zZXN0KCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZihvKXtsZXQgbj1vLmRpc2Nvbm5lY3RlZENhbGxiYWNrLGw9dGhpcztvLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWFzeW5jIGZ1bmN0aW9uKCl7bC5zZWxlY3Rpb25IYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixsLnNlbGVjdGlvbkhhbmRsZXIpLGwuc2VsZWN0aW9uSGFuZGxlcj1udWxsKSxuJiZhd2FpdCBuLmNhbGwobyl9fX1kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUsdCl7bGV0IHI9bmV3IEN1c3RvbUV2ZW50KCJibG9jay10ZXh0LXNlbGVjdGVkIix7ZGV0YWlsOnQsYnViYmxlczohMCxjb21wb3NlZDohMH0pO2UuZGlzcGF0Y2hFdmVudChyKX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIFBhcmFncmFwaCBzcGVjaWZpYyBzdHlsZXMgKi8KICAgICAgLmJsb2NrLnBhcmFncmFwaCB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgfQogICAgYH1nZXRQbGFjZWhvbGRlcigpe3JldHVybiJUeXBlICcvJyBmb3IgY29tbWFuZHMuLi4ifWdldExhc3RUZXh0Tm9kZShlKXtpZihlLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpcmV0dXJuIGU7Zm9yKGxldCB0PWUuY2hpbGROb2Rlcy5sZW5ndGgtMTt0Pj0wO3QtLSl7bGV0IHI9dGhpcy5nZXRMYXN0VGV4dE5vZGUoZS5jaGlsZE5vZGVzW3RdKTtpZihyKXJldHVybiByfXJldHVybiBudWxsfWdldEN1cnNvclBvc2l0aW9uKGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucGFyYWdyYXBoIik7aWYoIXIpcmV0dXJuIG51bGw7bGV0IG49dD8uY29tcG9uZW50Py5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxsPXQ/LnNoYWRvd1Jvb3QsZD1bXTtuJiZkLnB1c2gobiksbCYmZC5wdXNoKGwpO2xldCBjPXJ0LmdldFNlbGVjdGlvbkluZm8oLi4uZCk7aWYoIWN8fCFydC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShyLGMuc3RhcnRDb250YWluZXIpKXJldHVybiBudWxsO2xldCBwPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIHAuc2VsZWN0Tm9kZUNvbnRlbnRzKHIpLHAuc2V0RW5kKGMuc3RhcnRDb250YWluZXIsYy5zdGFydE9mZnNldCkscC50b1N0cmluZygpLmxlbmd0aH1nZXRDb250ZW50KGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucGFyYWdyYXBoIik7cmV0dXJuIHImJnIuaW5uZXJIVE1MfHwiIn1zZXRDb250ZW50KGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5wYXJhZ3JhcGgiKTtpZighaSlyZXR1cm47bGV0IG89ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWl8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PWk7aS5pbm5lckhUTUw9dCxvJiZpLmZvY3VzKCl9c2V0Q3Vyc29yVG9TdGFydChlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnBhcmFncmFwaCIpO3ImJnRpLnNldEN1cnNvclRvU3RhcnQocil9c2V0Q3Vyc29yVG9FbmQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5wYXJhZ3JhcGgiKTtyJiZ0aS5zZXRDdXJzb3JUb0VuZChyKX1mb2N1cyhlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnBhcmFncmFwaCIpO3ImJihyLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fHIuc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIiksci5mb2N1cygpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1yJiZlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQhPT1yJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57ci5mb2N1cygpfSkpfWZvY3VzV2l0aEN1cnNvcihlLHQ9ImVuZCIscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucGFyYWdyYXBoIik7aWYoIWkpcmV0dXJuO2lmKGkuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8aS5zZXRBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIsInRydWUiKSx0PT09ImVuZCImJmkudGV4dENvbnRlbnQmJmkudGV4dENvbnRlbnQubGVuZ3RoPjApe2xldCBuPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihuKXtsZXQgbD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLGQ9dGhpcy5nZXRMYXN0VGV4dE5vZGUoaSl8fGk7ZC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFPyhsLnNldFN0YXJ0KGQsZC50ZXh0Q29udGVudD8ubGVuZ3RofHwwKSxsLnNldEVuZChkLGQudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MCkpOihsLnNlbGVjdE5vZGVDb250ZW50cyhkKSxsLmNvbGxhcHNlKCExKSksbi5yZW1vdmVBbGxSYW5nZXMoKSxuLmFkZFJhbmdlKGwpfX1pLmZvY3VzKCk7bGV0IG89cygoKT0+e3Q9PT0ic3RhcnQiP3RoaXMuc2V0Q3Vyc29yVG9TdGFydChlLHIpOnQ9PT0iZW5kIiYmKCFpLnRleHRDb250ZW50fHxpLnRleHRDb250ZW50Lmxlbmd0aD09PTApP3RoaXMuc2V0Q3Vyc29yVG9FbmQoZSxyKTp0eXBlb2YgdD09Im51bWJlciImJnJ0LnNldEN1cnNvclBvc2l0aW9uKGksdCl9LCJzZXRDdXJzb3IiKTtkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8ZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aT9vKCk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pP28oKTpzZXRUaW1lb3V0KCgpPT57KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pKSYmbygpfSwxMCl9KX1nZXRTcGxpdENvbnRlbnQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5wYXJhZ3JhcGgiKTtpZighcilyZXR1cm4gbnVsbDtsZXQgbj10Py5jb21wb25lbnQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LGw9dD8uc2hhZG93Um9vdCxkPVtdO24mJmQucHVzaChuKSxsJiZkLnB1c2gobCk7bGV0IGM9cnQuZ2V0U2VsZWN0aW9uSW5mbyguLi5kKTtpZighYyl7aWYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiE9PW51bGwpe2xldCBrPXIudGV4dENvbnRlbnR8fCIiLEM9TWF0aC5taW4odGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbixrLmxlbmd0aCk7cmV0dXJue2JlZm9yZTprLnN1YnN0cmluZygwLEMpLGFmdGVyOmsuc3Vic3RyaW5nKEMpfX1yZXR1cm4gbnVsbH1pZighcnQuY29udGFpbnNBY3Jvc3NTaGFkb3dET00ocixjLnN0YXJ0Q29udGFpbmVyKSl7aWYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiE9PW51bGwpe2xldCBrPXIudGV4dENvbnRlbnR8fCIiLEM9TWF0aC5taW4odGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbixrLmxlbmd0aCk7cmV0dXJue2JlZm9yZTprLnN1YnN0cmluZygwLEMpLGFmdGVyOmsuc3Vic3RyaW5nKEMpfX1yZXR1cm4gbnVsbH1sZXQgcD10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUsdCk7aWYocD09PW51bGx8fHA9PT0wKXJldHVybntiZWZvcmU6IiIsYWZ0ZXI6ci5pbm5lckhUTUx9O2xldCB1PWRvY3VtZW50LmNyZWF0ZVJhbmdlKCksbT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3Uuc2V0U3RhcnQociwwKSx1LnNldEVuZChjLnN0YXJ0Q29udGFpbmVyLGMuc3RhcnRPZmZzZXQpLG0uc2V0U3RhcnQoYy5zdGFydENvbnRhaW5lcixjLnN0YXJ0T2Zmc2V0KSxtLnNldEVuZChyLHIuY2hpbGROb2Rlcy5sZW5ndGgpO2xldCB2PXUuY2xvbmVDb250ZW50cygpLHg9bS5jbG9uZUNvbnRlbnRzKCksYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmFwcGVuZENoaWxkKHYpO2xldCBnPWIuaW5uZXJIVE1MO2IuaW5uZXJIVE1MPSIiLGIuYXBwZW5kQ2hpbGQoeCk7bGV0IHk9Yi5pbm5lckhUTUw7cmV0dXJue2JlZm9yZTpnLGFmdGVyOnl9fX19KTt2YXIgT2YsZ2lhPWYoKCk9PntKbygpO2xlKCk7YmMoKTtqMigpO09mPWNsYXNzIGV4dGVuZHMgaHJ7c3RhdGlje3ModGhpcywiSGVhZGluZ0Jsb2NrSGFuZGxlciIpfXR5cGU7bGV2ZWw7bGFzdEtub3duQ3Vyc29yUG9zaXRpb249MDtsYXN0U2VsZWN0ZWRUZXh0PSIiO3NlbGVjdGlvbkhhbmRsZXI9bnVsbDtjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMudHlwZT1lLHRoaXMubGV2ZWw9cGFyc2VJbnQoZS5zcGxpdCgiLSIpWzFdKX1yZW5kZXIoZSx0KXtsZXQgcj10PyIgc2VsZWN0ZWQiOiIiLGk9dGhpcy5nZXRQbGFjZWhvbGRlcigpO3JldHVybmAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJibG9jayBoZWFkaW5nLSR7dGhpcy5sZXZlbH0ke3J9IgogICAgICAgIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIKICAgICAgICBkYXRhLXBsYWNlaG9sZGVyPSIke2l9IgogICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgZGF0YS1ibG9jay10eXBlPSIke2UudHlwZX0iCiAgICAgID48L2Rpdj4KICAgIGB9c2V0dXAoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcihgLmJsb2NrLmhlYWRpbmctJHt0aGlzLmxldmVsfWApO2lmKCFpKXtjb25zb2xlLmVycm9yKCJIZWFkaW5nQmxvY2tIYW5kbGVyLnNldHVwOiBObyBoZWFkaW5nIGJsb2NrIGVsZW1lbnQgZm91bmQiKTtyZXR1cm59dC5jb250ZW50JiYhaS5pbm5lckhUTUwmJihpLmlubmVySFRNTD10LmNvbnRlbnQpLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLG89PntyLm9uSW5wdXQobyk7bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249bil9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG89PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKSxyLm9uS2V5RG93bihvKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57ci5vbkZvY3VzKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57ci5vbkJsdXIoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsKCk9PntyLm9uQ29tcG9zaXRpb25TdGFydCgpfSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsKCk9PntyLm9uQ29tcG9zaXRpb25FbmQoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsbz0+e2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pLHIub25Nb3VzZVVwPy4obyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixvPT57c2V0VGltZW91dCgoKT0+e2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pfSwwKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLG89PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKX0pLHRoaXMuc2V0dXBTZWxlY3Rpb25IYW5kbGVyKGUsaSx0KX1zZXR1cFNlbGVjdGlvbkhhbmRsZXIoZSx0LHIpe2xldCBpPXMoKCk9PntsZXQgbj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIW58fG4ucmFuZ2VDb3VudD09PTApcmV0dXJuO2xldCBsPW4udG9TdHJpbmcoKTtpZihsLmxlbmd0aD09PTApe3RoaXMubGFzdFNlbGVjdGVkVGV4dCYmKHRoaXMubGFzdFNlbGVjdGVkVGV4dD0iIix0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSx7dGV4dDoiIixibG9ja0lkOnIuaWQsaGFzU2VsZWN0aW9uOiExfSkpO3JldHVybn1sZXQgZD10LmdldFJvb3ROb2RlKCkuaG9zdCxwPWQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LHU9ZD8uc2hhZG93Um9vdCxtPVtdO3AmJm0ucHVzaChwKSx1JiZtLnB1c2godSk7bGV0IHY9cnQuZ2V0U2VsZWN0aW9uSW5mbyguLi5tKTtpZighdilyZXR1cm47bGV0IHg9cnQuY29udGFpbnNBY3Jvc3NTaGFkb3dET00odCx2LnN0YXJ0Q29udGFpbmVyKSxiPXJ0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHQsdi5lbmRDb250YWluZXIpO2lmKHh8fGIpe2lmKGwhPT10aGlzLmxhc3RTZWxlY3RlZFRleHQpe3RoaXMubGFzdFNlbGVjdGVkVGV4dD1sO2xldCBnPXJ0LmNyZWF0ZVJhbmdlRnJvbUluZm8odikseT1nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHt0ZXh0OmwudHJpbSgpLGJsb2NrSWQ6ci5pZCxyYW5nZTpnLHJlY3Q6eSxoYXNTZWxlY3Rpb246ITB9KX19ZWxzZSB0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUse3RleHQ6IiIsYmxvY2tJZDpyLmlkLGhhc1NlbGVjdGlvbjohMX0pKX0sImNoZWNrU2VsZWN0aW9uIik7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixpKSx0aGlzLnNlbGVjdGlvbkhhbmRsZXI9aTtsZXQgbz10LmdldFJvb3ROb2RlKCkuaG9zdDtpZihvKXtsZXQgbj1vLmRpc2Nvbm5lY3RlZENhbGxiYWNrLGw9dGhpcztvLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWFzeW5jIGZ1bmN0aW9uKCl7bC5zZWxlY3Rpb25IYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixsLnNlbGVjdGlvbkhhbmRsZXIpLGwuc2VsZWN0aW9uSGFuZGxlcj1udWxsKSxuJiZhd2FpdCBuLmNhbGwobyl9fX1kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUsdCl7bGV0IHI9bmV3IEN1c3RvbUV2ZW50KCJibG9jay10ZXh0LXNlbGVjdGVkIix7ZGV0YWlsOnQsYnViYmxlczohMCxjb21wb3NlZDohMH0pO2UuZGlzcGF0Y2hFdmVudChyKX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC5ibG9jay5oZWFkaW5nLTEgewogICAgICAgIGZvbnQtc2l6ZTogMzJweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICAgICAgbWFyZ2luOiAyNHB4IDAgOHB4IDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDAwMDAwIiwiI2ZmZmZmZiIpfTsKICAgICAgfQoKICAgICAgLmJsb2NrLmhlYWRpbmctMiB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgICBtYXJnaW46IDIwcHggMCA2cHggMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZmZmZmZmIil9OwogICAgICB9CgogICAgICAuYmxvY2suaGVhZGluZy0zIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBsaW5lLWhlaWdodDogMS40OwogICAgICAgIG1hcmdpbjogMTZweCAwIDRweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgIH0KICAgIGB9Z2V0UGxhY2Vob2xkZXIoKXtzd2l0Y2godGhpcy5sZXZlbCl7Y2FzZSAxOnJldHVybiJIZWFkaW5nIDEiO2Nhc2UgMjpyZXR1cm4iSGVhZGluZyAyIjtjYXNlIDM6cmV0dXJuIkhlYWRpbmcgMyI7ZGVmYXVsdDpyZXR1cm4iSGVhZGluZyJ9fWdldExhc3RUZXh0Tm9kZShlKXtpZihlLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpcmV0dXJuIGU7Zm9yKGxldCB0PWUuY2hpbGROb2Rlcy5sZW5ndGgtMTt0Pj0wO3QtLSl7bGV0IHI9dGhpcy5nZXRMYXN0VGV4dE5vZGUoZS5jaGlsZE5vZGVzW3RdKTtpZihyKXJldHVybiByfXJldHVybiBudWxsfWdldEN1cnNvclBvc2l0aW9uKGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKGAuYmxvY2suaGVhZGluZy0ke3RoaXMubGV2ZWx9YCk7aWYoIXIpcmV0dXJuIG51bGw7bGV0IG49dD8uY29tcG9uZW50Py5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxsPXQ/LnNoYWRvd1Jvb3QsZD1bXTtuJiZkLnB1c2gobiksbCYmZC5wdXNoKGwpO2xldCBjPXJ0LmdldFNlbGVjdGlvbkluZm8oLi4uZCk7aWYoIWN8fCFydC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShyLGMuc3RhcnRDb250YWluZXIpKXJldHVybiBudWxsO2xldCBwPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIHAuc2VsZWN0Tm9kZUNvbnRlbnRzKHIpLHAuc2V0RW5kKGMuc3RhcnRDb250YWluZXIsYy5zdGFydE9mZnNldCkscC50b1N0cmluZygpLmxlbmd0aH1nZXRDb250ZW50KGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKGAuYmxvY2suaGVhZGluZy0ke3RoaXMubGV2ZWx9YCk7cmV0dXJuIHImJnIuaW5uZXJIVE1MfHwiIn1zZXRDb250ZW50KGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoYC5ibG9jay5oZWFkaW5nLSR7dGhpcy5sZXZlbH1gKTtpZighaSlyZXR1cm47bGV0IG89ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWl8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PWk7aS5pbm5lckhUTUw9dCxvJiZpLmZvY3VzKCl9c2V0Q3Vyc29yVG9TdGFydChlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcihgLmJsb2NrLmhlYWRpbmctJHt0aGlzLmxldmVsfWApO3ImJnRpLnNldEN1cnNvclRvU3RhcnQocil9c2V0Q3Vyc29yVG9FbmQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoYC5ibG9jay5oZWFkaW5nLSR7dGhpcy5sZXZlbH1gKTtyJiZ0aS5zZXRDdXJzb3JUb0VuZChyKX1mb2N1cyhlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcihgLmJsb2NrLmhlYWRpbmctJHt0aGlzLmxldmVsfWApO3ImJihyLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fHIuc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIiksci5mb2N1cygpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1yJiZlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQhPT1yJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57ci5mb2N1cygpfSkpfWZvY3VzV2l0aEN1cnNvcihlLHQ9ImVuZCIscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKGAuYmxvY2suaGVhZGluZy0ke3RoaXMubGV2ZWx9YCk7aWYoIWkpcmV0dXJuO2lmKGkuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8aS5zZXRBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIsInRydWUiKSx0PT09ImVuZCImJmkudGV4dENvbnRlbnQmJmkudGV4dENvbnRlbnQubGVuZ3RoPjApe2xldCBuPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihuKXtsZXQgbD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLGQ9dGhpcy5nZXRMYXN0VGV4dE5vZGUoaSl8fGk7ZC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFPyhsLnNldFN0YXJ0KGQsZC50ZXh0Q29udGVudD8ubGVuZ3RofHwwKSxsLnNldEVuZChkLGQudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MCkpOihsLnNlbGVjdE5vZGVDb250ZW50cyhkKSxsLmNvbGxhcHNlKCExKSksbi5yZW1vdmVBbGxSYW5nZXMoKSxuLmFkZFJhbmdlKGwpfX1pLmZvY3VzKCk7bGV0IG89cygoKT0+e3Q9PT0ic3RhcnQiP3RoaXMuc2V0Q3Vyc29yVG9TdGFydChlLHIpOnQ9PT0iZW5kIiYmKCFpLnRleHRDb250ZW50fHxpLnRleHRDb250ZW50Lmxlbmd0aD09PTApP3RoaXMuc2V0Q3Vyc29yVG9FbmQoZSxyKTp0eXBlb2YgdD09Im51bWJlciImJnJ0LnNldEN1cnNvclBvc2l0aW9uKGksdCl9LCJzZXRDdXJzb3IiKTtkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aXx8ZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50PT09aT9vKCk6UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pP28oKTpzZXRUaW1lb3V0KCgpPT57KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pKSYmbygpfSwxMCl9KX1nZXRTcGxpdENvbnRlbnQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoYC5ibG9jay5oZWFkaW5nLSR7dGhpcy5sZXZlbH1gKTtpZighcilyZXR1cm4gbnVsbDtsZXQgbj10Py5jb21wb25lbnQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LGw9dD8uc2hhZG93Um9vdCxkPVtdO24mJmQucHVzaChuKSxsJiZkLnB1c2gobCk7bGV0IGM9cnQuZ2V0U2VsZWN0aW9uSW5mbyguLi5kKTtpZighYyl7aWYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiE9PW51bGwpe2xldCBrPXIudGV4dENvbnRlbnR8fCIiLEM9TWF0aC5taW4odGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbixrLmxlbmd0aCk7cmV0dXJue2JlZm9yZTprLnN1YnN0cmluZygwLEMpLGFmdGVyOmsuc3Vic3RyaW5nKEMpfX1yZXR1cm4gbnVsbH1pZighcnQuY29udGFpbnNBY3Jvc3NTaGFkb3dET00ocixjLnN0YXJ0Q29udGFpbmVyKSl7aWYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiE9PW51bGwpe2xldCBrPXIudGV4dENvbnRlbnR8fCIiLEM9TWF0aC5taW4odGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbixrLmxlbmd0aCk7cmV0dXJue2JlZm9yZTprLnN1YnN0cmluZygwLEMpLGFmdGVyOmsuc3Vic3RyaW5nKEMpfX1yZXR1cm4gbnVsbH1sZXQgcD10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUsdCk7aWYocD09PW51bGx8fHA9PT0wKXJldHVybntiZWZvcmU6IiIsYWZ0ZXI6ci5pbm5lckhUTUx9O2xldCB1PWRvY3VtZW50LmNyZWF0ZVJhbmdlKCksbT1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3Uuc2V0U3RhcnQociwwKSx1LnNldEVuZChjLnN0YXJ0Q29udGFpbmVyLGMuc3RhcnRPZmZzZXQpLG0uc2V0U3RhcnQoYy5zdGFydENvbnRhaW5lcixjLnN0YXJ0T2Zmc2V0KSxtLnNldEVuZChyLHIuY2hpbGROb2Rlcy5sZW5ndGgpO2xldCB2PXUuY2xvbmVDb250ZW50cygpLHg9bS5jbG9uZUNvbnRlbnRzKCksYj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtiLmFwcGVuZENoaWxkKHYpO2xldCBnPWIuaW5uZXJIVE1MO2IuaW5uZXJIVE1MPSIiLGIuYXBwZW5kQ2hpbGQoeCk7bGV0IHk9Yi5pbm5lckhUTUw7cmV0dXJue2JlZm9yZTpnLGFmdGVyOnl9fX19KTt2YXIgRlUsYmlhPWYoKCk9PntKbygpO2xlKCk7YmMoKTtqMigpO0ZVPWNsYXNzIGV4dGVuZHMgaHJ7c3RhdGlje3ModGhpcywiUXVvdGVCbG9ja0hhbmRsZXIiKX10eXBlPSJxdW90ZSI7bGFzdEtub3duQ3Vyc29yUG9zaXRpb249MDtsYXN0U2VsZWN0ZWRUZXh0PSIiO3NlbGVjdGlvbkhhbmRsZXI9bnVsbDtyZW5kZXIoZSx0KXtsZXQgcj10PyIgc2VsZWN0ZWQiOiIiLGk9dGhpcy5nZXRQbGFjZWhvbGRlcigpO3JldHVybmAKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJibG9jayBxdW90ZSR7cn0iCiAgICAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogICAgICAgIGRhdGEtcGxhY2Vob2xkZXI9IiR7aX0iCiAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICBkYXRhLWJsb2NrLXR5cGU9IiR7ZS50eXBlfSIKICAgICAgPjwvZGl2PgogICAgYH1zZXR1cChlLHQscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtpZighaSl7Y29uc29sZS5lcnJvcigiUXVvdGVCbG9ja0hhbmRsZXIuc2V0dXA6IE5vIHF1b3RlIGJsb2NrIGVsZW1lbnQgZm91bmQiKTtyZXR1cm59dC5jb250ZW50JiYhaS5pbm5lckhUTUwmJihpLmlubmVySFRNTD10LmNvbnRlbnQpLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLG89PntyLm9uSW5wdXQobyk7bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249bil9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG89PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKSxyLm9uS2V5RG93bihvKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57ci5vbkZvY3VzKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57ci5vbkJsdXIoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsKCk9PntyLm9uQ29tcG9zaXRpb25TdGFydCgpfSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsKCk9PntyLm9uQ29tcG9zaXRpb25FbmQoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsbz0+e2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pLHIub25Nb3VzZVVwPy4obyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixvPT57c2V0VGltZW91dCgoKT0+e2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pfSwwKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLG89PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKX0pLHRoaXMuc2V0dXBTZWxlY3Rpb25IYW5kbGVyKGUsaSx0KX1zZXR1cFNlbGVjdGlvbkhhbmRsZXIoZSx0LHIpe2xldCBpPXMoKCk9PntsZXQgbj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIW58fG4ucmFuZ2VDb3VudD09PTApcmV0dXJuO2xldCBsPW4udG9TdHJpbmcoKTtpZihsLmxlbmd0aD09PTApe3RoaXMubGFzdFNlbGVjdGVkVGV4dCYmKHRoaXMubGFzdFNlbGVjdGVkVGV4dD0iIix0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSx7dGV4dDoiIixibG9ja0lkOnIuaWQsaGFzU2VsZWN0aW9uOiExfSkpO3JldHVybn1sZXQgZD10LmdldFJvb3ROb2RlKCkuaG9zdCxwPWQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LHU9ZD8uc2hhZG93Um9vdCxtPVtdO3AmJm0ucHVzaChwKSx1JiZtLnB1c2godSk7bGV0IHY9cnQuZ2V0U2VsZWN0aW9uSW5mbyguLi5tKTtpZighdilyZXR1cm47bGV0IHg9cnQuY29udGFpbnNBY3Jvc3NTaGFkb3dET00odCx2LnN0YXJ0Q29udGFpbmVyKSxiPXJ0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHQsdi5lbmRDb250YWluZXIpO2lmKHh8fGIpe2lmKGwhPT10aGlzLmxhc3RTZWxlY3RlZFRleHQpe3RoaXMubGFzdFNlbGVjdGVkVGV4dD1sO2xldCBnPXJ0LmNyZWF0ZVJhbmdlRnJvbUluZm8odikseT1nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHt0ZXh0OmwudHJpbSgpLGJsb2NrSWQ6ci5pZCxyYW5nZTpnLHJlY3Q6eSxoYXNTZWxlY3Rpb246ITB9KX19ZWxzZSB0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUse3RleHQ6IiIsYmxvY2tJZDpyLmlkLGhhc1NlbGVjdGlvbjohMX0pKX0sImNoZWNrU2VsZWN0aW9uIik7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixpKSx0aGlzLnNlbGVjdGlvbkhhbmRsZXI9aTtsZXQgbz10LmdldFJvb3ROb2RlKCkuaG9zdDtpZihvKXtsZXQgbj1vLmRpc2Nvbm5lY3RlZENhbGxiYWNrLGw9dGhpcztvLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWFzeW5jIGZ1bmN0aW9uKCl7bC5zZWxlY3Rpb25IYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixsLnNlbGVjdGlvbkhhbmRsZXIpLGwuc2VsZWN0aW9uSGFuZGxlcj1udWxsKSxuJiZhd2FpdCBuLmNhbGwobyl9fX1kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUsdCl7bGV0IHI9bmV3IEN1c3RvbUV2ZW50KCJibG9jay10ZXh0LXNlbGVjdGVkIix7ZGV0YWlsOnQsYnViYmxlczohMCxjb21wb3NlZDohMH0pO2UuZGlzcGF0Y2hFdmVudChyKX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIFF1b3RlIHNwZWNpZmljIHN0eWxlcyAqLwogICAgICAuYmxvY2sucXVvdGUgewogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJHtoLmJkVGhlbWUoIiMwMDY2Y2MiLCIjNGQ5NGZmIil9OwogICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM1NTUiLCIjYjBiMGIwIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIG1hcmdpbjogMTZweCAwOwogICAgICB9CiAgICBgfWdldFBsYWNlaG9sZGVyKCl7cmV0dXJuIkFkZCBhIHF1b3RlLi4uIn1nZXRDdXJzb3JQb3NpdGlvbihlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnF1b3RlIik7aWYoIXIpcmV0dXJuIG51bGw7bGV0IG49dD8uY29tcG9uZW50Py5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKT8uc2hhZG93Um9vdCxsPXQ/LnNoYWRvd1Jvb3QsZD1bXTtuJiZkLnB1c2gobiksbCYmZC5wdXNoKGwpO2xldCBjPXJ0LmdldFNlbGVjdGlvbkluZm8oLi4uZCk7aWYoIWN8fCFydC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShyLGMuc3RhcnRDb250YWluZXIpKXJldHVybiBudWxsO2xldCBwPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7cmV0dXJuIHAuc2VsZWN0Tm9kZUNvbnRlbnRzKHIpLHAuc2V0RW5kKGMuc3RhcnRDb250YWluZXIsYy5zdGFydE9mZnNldCkscC50b1N0cmluZygpLmxlbmd0aH1nZXRDb250ZW50KGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtyZXR1cm4gciYmci5pbm5lckhUTUx8fCIifXNldENvbnRlbnQoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnF1b3RlIik7aWYoIWkpcmV0dXJuO2xldCBvPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pO2kuaW5uZXJIVE1MPXQsbyYmaS5mb2N1cygpfXNldEN1cnNvclRvU3RhcnQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5xdW90ZSIpO3ImJnRpLnNldEN1cnNvclRvU3RhcnQocil9c2V0Q3Vyc29yVG9FbmQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5xdW90ZSIpO3ImJnRpLnNldEN1cnNvclRvRW5kKHIpfWZvY3VzKGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2sucXVvdGUiKTtyJiYoci5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxyLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLHIuZm9jdXMoKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ciYmZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50IT09ciYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3IuZm9jdXMoKX0pKX1mb2N1c1dpdGhDdXJzb3IoZSx0PSJlbmQiLHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLnF1b3RlIik7aWYoIWkpcmV0dXJuO2kuaGFzQXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiKXx8aS5zZXRBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIsInRydWUiKSxpLmZvY3VzKCk7bGV0IG89cygoKT0+e3Q9PT0ic3RhcnQiP3RoaXMuc2V0Q3Vyc29yVG9TdGFydChlLHIpOnQ9PT0iZW5kIj90aGlzLnNldEN1cnNvclRvRW5kKGUscik6dHlwZW9mIHQ9PSJudW1iZXIiJiZydC5zZXRDdXJzb3JQb3NpdGlvbihpLHQpfSwic2V0Q3Vyc29yIik7ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWl8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PWk/bygpOlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnsoZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWl8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PWkpJiZvKCl9KX1nZXRTcGxpdENvbnRlbnQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5xdW90ZSIpO2lmKCFyKXJldHVybiBudWxsO2xldCBuPXQ/LmNvbXBvbmVudD8uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIik/LnNoYWRvd1Jvb3QsbD10Py5zaGFkb3dSb290LGQ9W107biYmZC5wdXNoKG4pLGwmJmQucHVzaChsKTtsZXQgYz1ydC5nZXRTZWxlY3Rpb25JbmZvKC4uLmQpO2lmKCFjKXtpZih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uIT09bnVsbCl7bGV0IGs9ci50ZXh0Q29udGVudHx8IiIsQz1NYXRoLm1pbih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uLGsubGVuZ3RoKTtyZXR1cm57YmVmb3JlOmsuc3Vic3RyaW5nKDAsQyksYWZ0ZXI6ay5zdWJzdHJpbmcoQyl9fXJldHVybiBudWxsfWlmKCFydC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShyLGMuc3RhcnRDb250YWluZXIpKXtpZih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uIT09bnVsbCl7bGV0IGs9ci50ZXh0Q29udGVudHx8IiIsQz1NYXRoLm1pbih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uLGsubGVuZ3RoKTtyZXR1cm57YmVmb3JlOmsuc3Vic3RyaW5nKDAsQyksYWZ0ZXI6ay5zdWJzdHJpbmcoQyl9fXJldHVybiBudWxsfWxldCBwPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSx0KTtpZihwPT09bnVsbHx8cD09PTApcmV0dXJue2JlZm9yZToiIixhZnRlcjpyLmlubmVySFRNTH07bGV0IHU9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxtPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7dS5zZXRTdGFydChyLDApLHUuc2V0RW5kKGMuc3RhcnRDb250YWluZXIsYy5zdGFydE9mZnNldCksbS5zZXRTdGFydChjLnN0YXJ0Q29udGFpbmVyLGMuc3RhcnRPZmZzZXQpLG0uc2V0RW5kKHIsci5jaGlsZE5vZGVzLmxlbmd0aCk7bGV0IHY9dS5jbG9uZUNvbnRlbnRzKCkseD1tLmNsb25lQ29udGVudHMoKSxiPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2IuYXBwZW5kQ2hpbGQodik7bGV0IGc9Yi5pbm5lckhUTUw7Yi5pbm5lckhUTUw9IiIsYi5hcHBlbmRDaGlsZCh4KTtsZXQgeT1iLmlubmVySFRNTDtyZXR1cm57YmVmb3JlOmcsYWZ0ZXI6eX19fX0pO2Z1bmN0aW9uICRpKGEpe3RoaXMuY29udGVudD1hfXZhciBuS2UsdmlhPWYoKCk9PntzKCRpLCJPcmRlcmVkTWFwIiksJGkucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjokaSxmaW5kOnMoZnVuY3Rpb24oYSl7Zm9yKHZhciBlPTA7ZTx0aGlzLmNvbnRlbnQubGVuZ3RoO2UrPTIpaWYodGhpcy5jb250ZW50W2VdPT09YSlyZXR1cm4gZTtyZXR1cm4tMX0sImZpbmQiKSxnZXQ6cyhmdW5jdGlvbihhKXt2YXIgZT10aGlzLmZpbmQoYSk7cmV0dXJuIGU9PS0xP3ZvaWQgMDp0aGlzLmNvbnRlbnRbZSsxXX0sImdldCIpLHVwZGF0ZTpzKGZ1bmN0aW9uKGEsZSx0KXt2YXIgcj10JiZ0IT1hP3RoaXMucmVtb3ZlKHQpOnRoaXMsaT1yLmZpbmQoYSksbz1yLmNvbnRlbnQuc2xpY2UoKTtyZXR1cm4gaT09LTE/by5wdXNoKHR8fGEsZSk6KG9baSsxXT1lLHQmJihvW2ldPXQpKSxuZXcgJGkobyl9LCJ1cGRhdGUiKSxyZW1vdmU6cyhmdW5jdGlvbihhKXt2YXIgZT10aGlzLmZpbmQoYSk7aWYoZT09LTEpcmV0dXJuIHRoaXM7dmFyIHQ9dGhpcy5jb250ZW50LnNsaWNlKCk7cmV0dXJuIHQuc3BsaWNlKGUsMiksbmV3ICRpKHQpfSwicmVtb3ZlIiksYWRkVG9TdGFydDpzKGZ1bmN0aW9uKGEsZSl7cmV0dXJuIG5ldyAkaShbYSxlXS5jb25jYXQodGhpcy5yZW1vdmUoYSkuY29udGVudCkpfSwiYWRkVG9TdGFydCIpLGFkZFRvRW5kOnMoZnVuY3Rpb24oYSxlKXt2YXIgdD10aGlzLnJlbW92ZShhKS5jb250ZW50LnNsaWNlKCk7cmV0dXJuIHQucHVzaChhLGUpLG5ldyAkaSh0KX0sImFkZFRvRW5kIiksYWRkQmVmb3JlOnMoZnVuY3Rpb24oYSxlLHQpe3ZhciByPXRoaXMucmVtb3ZlKGUpLGk9ci5jb250ZW50LnNsaWNlKCksbz1yLmZpbmQoYSk7cmV0dXJuIGkuc3BsaWNlKG89PS0xP2kubGVuZ3RoOm8sMCxlLHQpLG5ldyAkaShpKX0sImFkZEJlZm9yZSIpLGZvckVhY2g6cyhmdW5jdGlvbihhKXtmb3IodmFyIGU9MDtlPHRoaXMuY29udGVudC5sZW5ndGg7ZSs9MilhKHRoaXMuY29udGVudFtlXSx0aGlzLmNvbnRlbnRbZSsxXSl9LCJmb3JFYWNoIikscHJlcGVuZDpzKGZ1bmN0aW9uKGEpe3JldHVybiBhPSRpLmZyb20oYSksYS5zaXplP25ldyAkaShhLmNvbnRlbnQuY29uY2F0KHRoaXMuc3VidHJhY3QoYSkuY29udGVudCkpOnRoaXN9LCJwcmVwZW5kIiksYXBwZW5kOnMoZnVuY3Rpb24oYSl7cmV0dXJuIGE9JGkuZnJvbShhKSxhLnNpemU/bmV3ICRpKHRoaXMuc3VidHJhY3QoYSkuY29udGVudC5jb25jYXQoYS5jb250ZW50KSk6dGhpc30sImFwcGVuZCIpLHN1YnRyYWN0OnMoZnVuY3Rpb24oYSl7dmFyIGU9dGhpczthPSRpLmZyb20oYSk7Zm9yKHZhciB0PTA7dDxhLmNvbnRlbnQubGVuZ3RoO3QrPTIpZT1lLnJlbW92ZShhLmNvbnRlbnRbdF0pO3JldHVybiBlfSwic3VidHJhY3QiKSx0b09iamVjdDpzKGZ1bmN0aW9uKCl7dmFyIGE9e307cmV0dXJuIHRoaXMuZm9yRWFjaChmdW5jdGlvbihlLHQpe2FbZV09dH0pLGF9LCJ0b09iamVjdCIpLGdldCBzaXplKCl7cmV0dXJuIHRoaXMuY29udGVudC5sZW5ndGg+PjF9fSwkaS5mcm9tPWZ1bmN0aW9uKGEpe2lmKGEgaW5zdGFuY2VvZiAkaSlyZXR1cm4gYTt2YXIgZT1bXTtpZihhKWZvcih2YXIgdCBpbiBhKWUucHVzaCh0LGFbdF0pO3JldHVybiBuZXcgJGkoZSl9O25LZT0kaX0pO2Z1bmN0aW9uIHhpYShhLGUsdCl7Zm9yKGxldCByPTA7O3IrKyl7aWYocj09YS5jaGlsZENvdW50fHxyPT1lLmNoaWxkQ291bnQpcmV0dXJuIGEuY2hpbGRDb3VudD09ZS5jaGlsZENvdW50P251bGw6dDtsZXQgaT1hLmNoaWxkKHIpLG89ZS5jaGlsZChyKTtpZihpPT1vKXt0Kz1pLm5vZGVTaXplO2NvbnRpbnVlfWlmKCFpLnNhbWVNYXJrdXAobykpcmV0dXJuIHQ7aWYoaS5pc1RleHQmJmkudGV4dCE9by50ZXh0KXtmb3IobGV0IG49MDtpLnRleHRbbl09PW8udGV4dFtuXTtuKyspdCsrO3JldHVybiB0fWlmKGkuY29udGVudC5zaXplfHxvLmNvbnRlbnQuc2l6ZSl7bGV0IG49eGlhKGkuY29udGVudCxvLmNvbnRlbnQsdCsxKTtpZihuIT1udWxsKXJldHVybiBufXQrPWkubm9kZVNpemV9fWZ1bmN0aW9uIHlpYShhLGUsdCxyKXtmb3IobGV0IGk9YS5jaGlsZENvdW50LG89ZS5jaGlsZENvdW50Ozspe2lmKGk9PTB8fG89PTApcmV0dXJuIGk9PW8/bnVsbDp7YTp0LGI6cn07bGV0IG49YS5jaGlsZCgtLWkpLGw9ZS5jaGlsZCgtLW8pLGQ9bi5ub2RlU2l6ZTtpZihuPT1sKXt0LT1kLHItPWQ7Y29udGludWV9aWYoIW4uc2FtZU1hcmt1cChsKSlyZXR1cm57YTp0LGI6cn07aWYobi5pc1RleHQmJm4udGV4dCE9bC50ZXh0KXtsZXQgYz0wLHA9TWF0aC5taW4obi50ZXh0Lmxlbmd0aCxsLnRleHQubGVuZ3RoKTtmb3IoO2M8cCYmbi50ZXh0W24udGV4dC5sZW5ndGgtYy0xXT09bC50ZXh0W2wudGV4dC5sZW5ndGgtYy0xXTspYysrLHQtLSxyLS07cmV0dXJue2E6dCxiOnJ9fWlmKG4uY29udGVudC5zaXplfHxsLmNvbnRlbnQuc2l6ZSl7bGV0IGM9eWlhKG4uY29udGVudCxsLmNvbnRlbnQsdC0xLHItMSk7aWYoYylyZXR1cm4gY310LT1kLHItPWR9fWZ1bmN0aW9uIFRhZShhLGUpe3JldHVybiBsS2UuaW5kZXg9YSxsS2Uub2Zmc2V0PWUsbEtlfWZ1bmN0aW9uIExhZShhLGUpe2lmKGE9PT1lKXJldHVybiEwO2lmKCEoYSYmdHlwZW9mIGE9PSJvYmplY3QiKXx8IShlJiZ0eXBlb2YgZT09Im9iamVjdCIpKXJldHVybiExO2xldCB0PUFycmF5LmlzQXJyYXkoYSk7aWYoQXJyYXkuaXNBcnJheShlKSE9dClyZXR1cm4hMTtpZih0KXtpZihhLmxlbmd0aCE9ZS5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCByPTA7cjxhLmxlbmd0aDtyKyspaWYoIUxhZShhW3JdLGVbcl0pKXJldHVybiExfWVsc2V7Zm9yKGxldCByIGluIGEpaWYoIShyIGluIGUpfHwhTGFlKGFbcl0sZVtyXSkpcmV0dXJuITE7Zm9yKGxldCByIGluIGUpaWYoIShyIGluIGEpKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIHdpYShhLGUsdCl7bGV0e2luZGV4OnIsb2Zmc2V0Oml9PWEuZmluZEluZGV4KGUpLG89YS5tYXliZUNoaWxkKHIpLHtpbmRleDpuLG9mZnNldDpsfT1hLmZpbmRJbmRleCh0KTtpZihpPT1lfHxvLmlzVGV4dCl7aWYobCE9dCYmIWEuY2hpbGQobikuaXNUZXh0KXRocm93IG5ldyBSYW5nZUVycm9yKCJSZW1vdmluZyBub24tZmxhdCByYW5nZSIpO3JldHVybiBhLmN1dCgwLGUpLmFwcGVuZChhLmN1dCh0KSl9aWYociE9bil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiUmVtb3Zpbmcgbm9uLWZsYXQgcmFuZ2UiKTtyZXR1cm4gYS5yZXBsYWNlQ2hpbGQocixvLmNvcHkod2lhKG8uY29udGVudCxlLWktMSx0LWktMSkpKX1mdW5jdGlvbiBNaWEoYSxlLHQscil7bGV0e2luZGV4Omksb2Zmc2V0Om99PWEuZmluZEluZGV4KGUpLG49YS5tYXliZUNoaWxkKGkpO2lmKG89PWV8fG4uaXNUZXh0KXJldHVybiByJiYhci5jYW5SZXBsYWNlKGksaSx0KT9udWxsOmEuY3V0KDAsZSkuYXBwZW5kKHQpLmFwcGVuZChhLmN1dChlKSk7bGV0IGw9TWlhKG4uY29udGVudCxlLW8tMSx0LG4pO3JldHVybiBsJiZhLnJlcGxhY2VDaGlsZChpLG4uY29weShsKSl9ZnVuY3Rpb24gSSRhKGEsZSx0KXtpZih0Lm9wZW5TdGFydD5hLmRlcHRoKXRocm93IG5ldyBmNCgiSW5zZXJ0ZWQgY29udGVudCBkZWVwZXIgdGhhbiBpbnNlcnRpb24gcG9zaXRpb24iKTtpZihhLmRlcHRoLXQub3BlblN0YXJ0IT1lLmRlcHRoLXQub3BlbkVuZCl0aHJvdyBuZXcgZjQoIkluY29uc2lzdGVudCBvcGVuIGRlcHRocyIpO3JldHVybiBraWEoYSxlLHQsMCl9ZnVuY3Rpb24ga2lhKGEsZSx0LHIpe2xldCBpPWEuaW5kZXgociksbz1hLm5vZGUocik7aWYoaT09ZS5pbmRleChyKSYmcjxhLmRlcHRoLXQub3BlblN0YXJ0KXtsZXQgbj1raWEoYSxlLHQscisxKTtyZXR1cm4gby5jb3B5KG8uY29udGVudC5yZXBsYWNlQ2hpbGQoaSxuKSl9ZWxzZSBpZih0LmNvbnRlbnQuc2l6ZSlpZighdC5vcGVuU3RhcnQmJiF0Lm9wZW5FbmQmJmEuZGVwdGg9PXImJmUuZGVwdGg9PXIpe2xldCBuPWEucGFyZW50LGw9bi5jb250ZW50O3JldHVybiBCZihuLGwuY3V0KDAsYS5wYXJlbnRPZmZzZXQpLmFwcGVuZCh0LmNvbnRlbnQpLmFwcGVuZChsLmN1dChlLnBhcmVudE9mZnNldCkpKX1lbHNle2xldHtzdGFydDpuLGVuZDpsfT1OJGEodCxhKTtyZXR1cm4gQmYobyx6aWEoYSxuLGwsZSxyKSl9ZWxzZSByZXR1cm4gQmYobywkYWUoYSxlLHIpKX1mdW5jdGlvbiBTaWEoYSxlKXtpZighZS50eXBlLmNvbXBhdGlibGVDb250ZW50KGEudHlwZSkpdGhyb3cgbmV3IGY0KCJDYW5ub3Qgam9pbiAiK2UudHlwZS5uYW1lKyIgb250byAiK2EudHlwZS5uYW1lKX1mdW5jdGlvbiBjS2UoYSxlLHQpe2xldCByPWEubm9kZSh0KTtyZXR1cm4gU2lhKHIsZS5ub2RlKHQpKSxyfWZ1bmN0aW9uIEZmKGEsZSl7bGV0IHQ9ZS5sZW5ndGgtMTt0Pj0wJiZhLmlzVGV4dCYmYS5zYW1lTWFya3VwKGVbdF0pP2VbdF09YS53aXRoVGV4dChlW3RdLnRleHQrYS50ZXh0KTplLnB1c2goYSl9ZnVuY3Rpb24gQlUoYSxlLHQscil7bGV0IGk9KGV8fGEpLm5vZGUodCksbz0wLG49ZT9lLmluZGV4KHQpOmkuY2hpbGRDb3VudDthJiYobz1hLmluZGV4KHQpLGEuZGVwdGg+dD9vKys6YS50ZXh0T2Zmc2V0JiYoRmYoYS5ub2RlQWZ0ZXIsciksbysrKSk7Zm9yKGxldCBsPW87bDxuO2wrKylGZihpLmNoaWxkKGwpLHIpO2UmJmUuZGVwdGg9PXQmJmUudGV4dE9mZnNldCYmRmYoZS5ub2RlQmVmb3JlLHIpfWZ1bmN0aW9uIEJmKGEsZSl7cmV0dXJuIGEudHlwZS5jaGVja0NvbnRlbnQoZSksYS5jb3B5KGUpfWZ1bmN0aW9uIHppYShhLGUsdCxyLGkpe2xldCBvPWEuZGVwdGg+aSYmY0tlKGEsZSxpKzEpLG49ci5kZXB0aD5pJiZjS2UodCxyLGkrMSksbD1bXTtyZXR1cm4gQlUobnVsbCxhLGksbCksbyYmbiYmZS5pbmRleChpKT09dC5pbmRleChpKT8oU2lhKG8sbiksRmYoQmYobyx6aWEoYSxlLHQscixpKzEpKSxsKSk6KG8mJkZmKEJmKG8sJGFlKGEsZSxpKzEpKSxsKSxCVShlLHQsaSxsKSxuJiZGZihCZihuLCRhZSh0LHIsaSsxKSksbCkpLEJVKHIsbnVsbCxpLGwpLG5ldyBWZShsKX1mdW5jdGlvbiAkYWUoYSxlLHQpe2xldCByPVtdO2lmKEJVKG51bGwsYSx0LHIpLGEuZGVwdGg+dCl7bGV0IGk9Y0tlKGEsZSx0KzEpO0ZmKEJmKGksJGFlKGEsZSx0KzEpKSxyKX1yZXR1cm4gQlUoZSxudWxsLHQsciksbmV3IFZlKHIpfWZ1bmN0aW9uIE4kYShhLGUpe2xldCB0PWUuZGVwdGgtYS5vcGVuU3RhcnQsaT1lLm5vZGUodCkuY29weShhLmNvbnRlbnQpO2ZvcihsZXQgbz10LTE7bz49MDtvLS0paT1lLm5vZGUobykuY29weShWZS5mcm9tKGkpKTtyZXR1cm57c3RhcnQ6aS5yZXNvbHZlTm9DYWNoZShhLm9wZW5TdGFydCt0KSxlbmQ6aS5yZXNvbHZlTm9DYWNoZShpLmNvbnRlbnQuc2l6ZS1hLm9wZW5FbmQtdCl9fWZ1bmN0aW9uIF9pYShhLGUpe2ZvcihsZXQgdD1hLmxlbmd0aC0xO3Q+PTA7dC0tKWU9YVt0XS50eXBlLm5hbWUrIigiK2UrIikiO3JldHVybiBlfWZ1bmN0aW9uIFRpYShhKXtsZXQgZT1bXTtkbyBlLnB1c2goRiRhKGEpKTt3aGlsZShhLmVhdCgifCIpKTtyZXR1cm4gZS5sZW5ndGg9PTE/ZVswXTp7dHlwZToiY2hvaWNlIixleHByczplfX1mdW5jdGlvbiBGJGEoYSl7bGV0IGU9W107ZG8gZS5wdXNoKEIkYShhKSk7d2hpbGUoYS5uZXh0JiZhLm5leHQhPSIpIiYmYS5uZXh0IT0ifCIpO3JldHVybiBlLmxlbmd0aD09MT9lWzBdOnt0eXBlOiJzZXEiLGV4cHJzOmV9fWZ1bmN0aW9uIEIkYShhKXtsZXQgZT1WJGEoYSk7Zm9yKDs7KWlmKGEuZWF0KCIrIikpZT17dHlwZToicGx1cyIsZXhwcjplfTtlbHNlIGlmKGEuZWF0KCIqIikpZT17dHlwZToic3RhciIsZXhwcjplfTtlbHNlIGlmKGEuZWF0KCI/IikpZT17dHlwZToib3B0IixleHByOmV9O2Vsc2UgaWYoYS5lYXQoInsiKSllPUgkYShhLGUpO2Vsc2UgYnJlYWs7cmV0dXJuIGV9ZnVuY3Rpb24gTGlhKGEpey9cRC8udGVzdChhLm5leHQpJiZhLmVycigiRXhwZWN0ZWQgbnVtYmVyLCBnb3QgJyIrYS5uZXh0KyInIik7bGV0IGU9TnVtYmVyKGEubmV4dCk7cmV0dXJuIGEucG9zKyssZX1mdW5jdGlvbiBIJGEoYSxlKXtsZXQgdD1MaWEoYSkscj10O3JldHVybiBhLmVhdCgiLCIpJiYoYS5uZXh0IT0ifSI/cj1MaWEoYSk6cj0tMSksYS5lYXQoIn0iKXx8YS5lcnIoIlVuY2xvc2VkIGJyYWNlZCByYW5nZSIpLHt0eXBlOiJyYW5nZSIsbWluOnQsbWF4OnIsZXhwcjplfX1mdW5jdGlvbiBxJGEoYSxlKXtsZXQgdD1hLm5vZGVUeXBlcyxyPXRbZV07aWYocilyZXR1cm5bcl07bGV0IGk9W107Zm9yKGxldCBvIGluIHQpe2xldCBuPXRbb107bi5pc0luR3JvdXAoZSkmJmkucHVzaChuKX1yZXR1cm4gaS5sZW5ndGg9PTAmJmEuZXJyKCJObyBub2RlIHR5cGUgb3IgZ3JvdXAgJyIrZSsiJyBmb3VuZCIpLGl9ZnVuY3Rpb24gViRhKGEpe2lmKGEuZWF0KCIoIikpe2xldCBlPVRpYShhKTtyZXR1cm4gYS5lYXQoIikiKXx8YS5lcnIoIk1pc3NpbmcgY2xvc2luZyBwYXJlbiIpLGV9ZWxzZSBpZigvXFcvLnRlc3QoYS5uZXh0KSlhLmVycigiVW5leHBlY3RlZCB0b2tlbiAnIithLm5leHQrIiciKTtlbHNle2xldCBlPXEkYShhLGEubmV4dCkubWFwKHQ9PihhLmlubGluZT09bnVsbD9hLmlubGluZT10LmlzSW5saW5lOmEuaW5saW5lIT10LmlzSW5saW5lJiZhLmVycigiTWl4aW5nIGlubGluZSBhbmQgYmxvY2sgY29udGVudCIpLHt0eXBlOiJuYW1lIix2YWx1ZTp0fSkpO3JldHVybiBhLnBvcysrLGUubGVuZ3RoPT0xP2VbMF06e3R5cGU6ImNob2ljZSIsZXhwcnM6ZX19fWZ1bmN0aW9uIGokYShhKXtsZXQgZT1bW11dO3JldHVybiBpKG8oYSwwKSx0KCkpLGU7ZnVuY3Rpb24gdCgpe3JldHVybiBlLnB1c2goW10pLTF9cyh0LCJub2RlIik7ZnVuY3Rpb24gcihuLGwsZCl7bGV0IGM9e3Rlcm06ZCx0bzpsfTtyZXR1cm4gZVtuXS5wdXNoKGMpLGN9cyhyLCJlZGdlIik7ZnVuY3Rpb24gaShuLGwpe24uZm9yRWFjaChkPT5kLnRvPWwpfXMoaSwiY29ubmVjdCIpO2Z1bmN0aW9uIG8obixsKXtpZihuLnR5cGU9PSJjaG9pY2UiKXJldHVybiBuLmV4cHJzLnJlZHVjZSgoZCxjKT0+ZC5jb25jYXQobyhjLGwpKSxbXSk7aWYobi50eXBlPT0ic2VxIilmb3IobGV0IGQ9MDs7ZCsrKXtsZXQgYz1vKG4uZXhwcnNbZF0sbCk7aWYoZD09bi5leHBycy5sZW5ndGgtMSlyZXR1cm4gYztpKGMsbD10KCkpfWVsc2UgaWYobi50eXBlPT0ic3RhciIpe2xldCBkPXQoKTtyZXR1cm4gcihsLGQpLGkobyhuLmV4cHIsZCksZCksW3IoZCldfWVsc2UgaWYobi50eXBlPT0icGx1cyIpe2xldCBkPXQoKTtyZXR1cm4gaShvKG4uZXhwcixsKSxkKSxpKG8obi5leHByLGQpLGQpLFtyKGQpXX1lbHNle2lmKG4udHlwZT09Im9wdCIpcmV0dXJuW3IobCldLmNvbmNhdChvKG4uZXhwcixsKSk7aWYobi50eXBlPT0icmFuZ2UiKXtsZXQgZD1sO2ZvcihsZXQgYz0wO2M8bi5taW47YysrKXtsZXQgcD10KCk7aShvKG4uZXhwcixkKSxwKSxkPXB9aWYobi5tYXg9PS0xKWkobyhuLmV4cHIsZCksZCk7ZWxzZSBmb3IobGV0IGM9bi5taW47YzxuLm1heDtjKyspe2xldCBwPXQoKTtyKGQscCksaShvKG4uZXhwcixkKSxwKSxkPXB9cmV0dXJuW3IoZCldfWVsc2V7aWYobi50eXBlPT0ibmFtZSIpcmV0dXJuW3IobCx2b2lkIDAsbi52YWx1ZSldO3Rocm93IG5ldyBFcnJvcigiVW5rbm93biBleHByIHR5cGUiKX19fXMobywiY29tcGlsZSIpfWZ1bmN0aW9uICRpYShhLGUpe3JldHVybiBlLWF9ZnVuY3Rpb24gRGlhKGEsZSl7bGV0IHQ9W107cmV0dXJuIHIoZSksdC5zb3J0KCRpYSk7ZnVuY3Rpb24gcihpKXtsZXQgbz1hW2ldO2lmKG8ubGVuZ3RoPT0xJiYhb1swXS50ZXJtKXJldHVybiByKG9bMF0udG8pO3QucHVzaChpKTtmb3IobGV0IG49MDtuPG8ubGVuZ3RoO24rKyl7bGV0e3Rlcm06bCx0bzpkfT1vW25dOyFsJiZ0LmluZGV4T2YoZCk9PS0xJiZyKGQpfX1zKHIsInNjYW4iKX1mdW5jdGlvbiBVJGEoYSl7bGV0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gdChEaWEoYSwwKSk7ZnVuY3Rpb24gdChyKXtsZXQgaT1bXTtyLmZvckVhY2gobj0+e2Fbbl0uZm9yRWFjaCgoe3Rlcm06bCx0bzpkfSk9PntpZighbClyZXR1cm47bGV0IGM7Zm9yKGxldCBwPTA7cDxpLmxlbmd0aDtwKyspaVtwXVswXT09bCYmKGM9aVtwXVsxXSk7RGlhKGEsZCkuZm9yRWFjaChwPT57Y3x8aS5wdXNoKFtsLGM9W11dKSxjLmluZGV4T2YocCk9PS0xJiZjLnB1c2gocCl9KX0pfSk7bGV0IG89ZVtyLmpvaW4oIiwiKV09bmV3IHA0KHIuaW5kZXhPZihhLmxlbmd0aC0xKT4tMSk7Zm9yKGxldCBuPTA7bjxpLmxlbmd0aDtuKyspe2xldCBsPWlbbl1bMV0uc29ydCgkaWEpO28ubmV4dC5wdXNoKHt0eXBlOmlbbl1bMF0sbmV4dDplW2wuam9pbigiLCIpXXx8dChsKX0pfXJldHVybiBvfX1mdW5jdGlvbiBXJGEoYSxlKXtmb3IobGV0IHQ9MCxyPVthXTt0PHIubGVuZ3RoO3QrKyl7bGV0IGk9clt0XSxvPSFpLnZhbGlkRW5kLG49W107Zm9yKGxldCBsPTA7bDxpLm5leHQubGVuZ3RoO2wrKyl7bGV0e3R5cGU6ZCxuZXh0OmN9PWkubmV4dFtsXTtuLnB1c2goZC5uYW1lKSxvJiYhKGQuaXNUZXh0fHxkLmhhc1JlcXVpcmVkQXR0cnMoKSkmJihvPSExKSxyLmluZGV4T2YoYyk9PS0xJiZyLnB1c2goYyl9byYmZS5lcnIoIk9ubHkgbm9uLWdlbmVyYXRhYmxlIG5vZGVzICgiK24uam9pbigiLCAiKSsiKSBpbiBhIHJlcXVpcmVkIHBvc2l0aW9uIChzZWUgaHR0cHM6Ly9wcm9zZW1pcnJvci5uZXQvZG9jcy9ndWlkZS8jZ2VuZXJhdGFibGUpIil9fWZ1bmN0aW9uIEFpYShhKXtsZXQgZT1PYmplY3QuY3JlYXRlKG51bGwpO2ZvcihsZXQgdCBpbiBhKXtsZXQgcj1hW3RdO2lmKCFyLmhhc0RlZmF1bHQpcmV0dXJuIG51bGw7ZVt0XT1yLmRlZmF1bHR9cmV0dXJuIGV9ZnVuY3Rpb24gRWlhKGEsZSl7bGV0IHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IobGV0IHIgaW4gYSl7bGV0IGk9ZSYmZVtyXTtpZihpPT09dm9pZCAwKXtsZXQgbz1hW3JdO2lmKG8uaGFzRGVmYXVsdClpPW8uZGVmYXVsdDtlbHNlIHRocm93IG5ldyBSYW5nZUVycm9yKCJObyB2YWx1ZSBzdXBwbGllZCBmb3IgYXR0cmlidXRlICIrcil9dFtyXT1pfXJldHVybiB0fWZ1bmN0aW9uIFBpYShhLGUsdCxyKXtmb3IobGV0IGkgaW4gZSlpZighKGkgaW4gYSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFVuc3VwcG9ydGVkIGF0dHJpYnV0ZSAke2l9IGZvciAke3R9IG9mIHR5cGUgJHtpfWApO2ZvcihsZXQgaSBpbiBhKXtsZXQgbz1hW2ldO28udmFsaWRhdGUmJm8udmFsaWRhdGUoZVtpXSl9fWZ1bmN0aW9uIElpYShhLGUpe2xldCB0PU9iamVjdC5jcmVhdGUobnVsbCk7aWYoZSlmb3IobGV0IHIgaW4gZSl0W3JdPW5ldyBmS2UoYSxyLGVbcl0pO3JldHVybiB0fWZ1bmN0aW9uIEckYShhLGUsdCl7bGV0IHI9dC5zcGxpdCgifCIpO3JldHVybiBpPT57bGV0IG89aT09PW51bGw/Im51bGwiOnR5cGVvZiBpO2lmKHIuaW5kZXhPZihvKTwwKXRocm93IG5ldyBSYW5nZUVycm9yKGBFeHBlY3RlZCB2YWx1ZSBvZiB0eXBlICR7cn0gZm9yIGF0dHJpYnV0ZSAke2V9IG9uIHR5cGUgJHthfSwgZ290ICR7b31gKX19ZnVuY3Rpb24gTmlhKGEsZSl7bGV0IHQ9W107Zm9yKGxldCByPTA7cjxlLmxlbmd0aDtyKyspe2xldCBpPWVbcl0sbz1hLm1hcmtzW2ldLG49bztpZihvKXQucHVzaChvKTtlbHNlIGZvcihsZXQgbCBpbiBhLm1hcmtzKXtsZXQgZD1hLm1hcmtzW2xdOyhpPT0iXyJ8fGQuc3BlYy5ncm91cCYmZC5zcGVjLmdyb3VwLnNwbGl0KCIgIikuaW5kZXhPZihpKT4tMSkmJnQucHVzaChuPWQpfWlmKCFuKXRocm93IG5ldyBTeW50YXhFcnJvcigiVW5rbm93biBtYXJrIHR5cGU6ICciK2Vbcl0rIiciKX1yZXR1cm4gdH1mdW5jdGlvbiBZJGEoYSl7cmV0dXJuIGEudGFnIT1udWxsfWZ1bmN0aW9uIEskYShhKXtyZXR1cm4gYS5zdHlsZSE9bnVsbH1mdW5jdGlvbiBGaWEoYSxlLHQpe3JldHVybiBlIT1udWxsPyhlP1ZVOjApfChlPT09ImZ1bGwiP2hLZTowKTphJiZhLndoaXRlc3BhY2U9PSJwcmUiP1ZVfGhLZTp0Jn5qVX1mdW5jdGlvbiBYJGEoYSl7Zm9yKGxldCBlPWEuZmlyc3RDaGlsZCx0PW51bGw7ZTtlPWUubmV4dFNpYmxpbmcpe2xldCByPWUubm9kZVR5cGU9PTE/ZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpOm51bGw7ciYmT2lhLmhhc093blByb3BlcnR5KHIpJiZ0Pyh0LmFwcGVuZENoaWxkKGUpLGU9dCk6cj09ImxpIj90PWU6ciYmKHQ9bnVsbCl9fWZ1bmN0aW9uIFEkYShhLGUpe3JldHVybihhLm1hdGNoZXN8fGEubXNNYXRjaGVzU2VsZWN0b3J8fGEud2Via2l0TWF0Y2hlc1NlbGVjdG9yfHxhLm1vek1hdGNoZXNTZWxlY3RvcikuY2FsbChhLGUpfWZ1bmN0aW9uIEJpYShhKXtsZXQgZT17fTtmb3IobGV0IHQgaW4gYSllW3RdPWFbdF07cmV0dXJuIGV9ZnVuY3Rpb24gSGlhKGEsZSl7bGV0IHQ9ZS5zY2hlbWEubm9kZXM7Zm9yKGxldCByIGluIHQpe2xldCBpPXRbcl07aWYoIWkuYWxsb3dzTWFya1R5cGUoYSkpY29udGludWU7bGV0IG89W10sbj1zKGw9PntvLnB1c2gobCk7Zm9yKGxldCBkPTA7ZDxsLmVkZ2VDb3VudDtkKyspe2xldHt0eXBlOmMsbmV4dDpwfT1sLmVkZ2UoZCk7aWYoYz09ZXx8by5pbmRleE9mKHApPDAmJm4ocCkpcmV0dXJuITB9fSwic2NhbiIpO2lmKG4oaS5jb250ZW50TWF0Y2gpKXJldHVybiEwfX1mdW5jdGlvbiBxaWEoYSl7bGV0IGU9e307Zm9yKGxldCB0IGluIGEpe2xldCByPWFbdF0uc3BlYy50b0RPTTtyJiYoZVt0XT1yKX1yZXR1cm4gZX1mdW5jdGlvbiBtS2UoYSl7cmV0dXJuIGEuZG9jdW1lbnR8fHdpbmRvdy5kb2N1bWVudH1mdW5jdGlvbiBKJGEoYSl7bGV0IGU9VmlhLmdldChhKTtyZXR1cm4gZT09PXZvaWQgMCYmVmlhLnNldChhLGU9ZURhKGEpKSxlfWZ1bmN0aW9uIGVEYShhKXtsZXQgZT1udWxsO2Z1bmN0aW9uIHQocil7aWYociYmdHlwZW9mIHI9PSJvYmplY3QiKWlmKEFycmF5LmlzQXJyYXkocikpaWYodHlwZW9mIHJbMF09PSJzdHJpbmciKWV8fChlPVtdKSxlLnB1c2gocik7ZWxzZSBmb3IobGV0IGk9MDtpPHIubGVuZ3RoO2krKyl0KHJbaV0pO2Vsc2UgZm9yKGxldCBpIGluIHIpdChyW2ldKX1yZXR1cm4gcyh0LCJzY2FuIiksdChhKSxlfWZ1bmN0aW9uIEFhZShhLGUsdCxyKXtpZih0eXBlb2YgZT09InN0cmluZyIpcmV0dXJue2RvbTphLmNyZWF0ZVRleHROb2RlKGUpfTtpZihlLm5vZGVUeXBlIT1udWxsKXJldHVybntkb206ZX07aWYoZS5kb20mJmUuZG9tLm5vZGVUeXBlIT1udWxsKXJldHVybiBlO2xldCBpPWVbMF0sbztpZih0eXBlb2YgaSE9InN0cmluZyIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgYXJyYXkgcGFzc2VkIHRvIHJlbmRlclNwZWMiKTtpZihyJiYobz1KJGEocikpJiZvLmluZGV4T2YoZSk+LTEpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlVzaW5nIGFuIGFycmF5IGZyb20gYW4gYXR0cmlidXRlIG9iamVjdCBhcyBhIERPTSBzcGVjLiBUaGlzIG1heSBiZSBhbiBhdHRlbXB0ZWQgY3Jvc3Mgc2l0ZSBzY3JpcHRpbmcgYXR0YWNrLiIpO2xldCBuPWkuaW5kZXhPZigiICIpO24+MCYmKHQ9aS5zbGljZSgwLG4pLGk9aS5zbGljZShuKzEpKTtsZXQgbCxkPXQ/YS5jcmVhdGVFbGVtZW50TlModCxpKTphLmNyZWF0ZUVsZW1lbnQoaSksYz1lWzFdLHA9MTtpZihjJiZ0eXBlb2YgYz09Im9iamVjdCImJmMubm9kZVR5cGU9PW51bGwmJiFBcnJheS5pc0FycmF5KGMpKXtwPTI7Zm9yKGxldCB1IGluIGMpaWYoY1t1XSE9bnVsbCl7bGV0IG09dS5pbmRleE9mKCIgIik7bT4wP2Quc2V0QXR0cmlidXRlTlModS5zbGljZSgwLG0pLHUuc2xpY2UobSsxKSxjW3VdKTp1PT0ic3R5bGUiJiZkLnN0eWxlP2Quc3R5bGUuY3NzVGV4dD1jW3VdOmQuc2V0QXR0cmlidXRlKHUsY1t1XSl9fWZvcihsZXQgdT1wO3U8ZS5sZW5ndGg7dSsrKXtsZXQgbT1lW3VdO2lmKG09PT0wKXtpZih1PGUubGVuZ3RoLTF8fHU+cCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ29udGVudCBob2xlIG11c3QgYmUgdGhlIG9ubHkgY2hpbGQgb2YgaXRzIHBhcmVudCBub2RlIik7cmV0dXJue2RvbTpkLGNvbnRlbnRET006ZH19ZWxzZXtsZXR7ZG9tOnYsY29udGVudERPTTp4fT1BYWUoYSxtLHQscik7aWYoZC5hcHBlbmRDaGlsZCh2KSx4KXtpZihsKXRocm93IG5ldyBSYW5nZUVycm9yKCJNdWx0aXBsZSBjb250ZW50IGhvbGVzIik7bD14fX19cmV0dXJue2RvbTpkLGNvbnRlbnRET006bH19dmFyIFZlLGxLZSwkYSxmNCxzdCxIVSxkS2UsUiRhLENpYSxoNCxPJGEsV2ksdUtlLHA0LHBLZSxxVSxmS2UsbW0sZ20sSTEsUmlhLFokYSxPaWEsVlUsaEtlLGpVLGhtLERhZSxVMixWaWEsbTQ9ZigoKT0+e3ZpYSgpO3MoeGlhLCJmaW5kRGlmZlN0YXJ0Iik7cyh5aWEsImZpbmREaWZmRW5kIik7VmU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJGcmFnbWVudCIpfWNvbnN0cnVjdG9yKGUsdCl7aWYodGhpcy5jb250ZW50PWUsdGhpcy5zaXplPXR8fDAsdD09bnVsbClmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKyl0aGlzLnNpemUrPWVbcl0ubm9kZVNpemV9bm9kZXNCZXR3ZWVuKGUsdCxyLGk9MCxvKXtmb3IobGV0IG49MCxsPTA7bDx0O24rKyl7bGV0IGQ9dGhpcy5jb250ZW50W25dLGM9bCtkLm5vZGVTaXplO2lmKGM+ZSYmcihkLGkrbCxvfHxudWxsLG4pIT09ITEmJmQuY29udGVudC5zaXplKXtsZXQgcD1sKzE7ZC5ub2Rlc0JldHdlZW4oTWF0aC5tYXgoMCxlLXApLE1hdGgubWluKGQuY29udGVudC5zaXplLHQtcCkscixpK3ApfWw9Y319ZGVzY2VuZGFudHMoZSl7dGhpcy5ub2Rlc0JldHdlZW4oMCx0aGlzLnNpemUsZSl9dGV4dEJldHdlZW4oZSx0LHIsaSl7bGV0IG89IiIsbj0hMDtyZXR1cm4gdGhpcy5ub2Rlc0JldHdlZW4oZSx0LChsLGQpPT57bGV0IGM9bC5pc1RleHQ/bC50ZXh0LnNsaWNlKE1hdGgubWF4KGUsZCktZCx0LWQpOmwuaXNMZWFmP2k/dHlwZW9mIGk9PSJmdW5jdGlvbiI/aShsKTppOmwudHlwZS5zcGVjLmxlYWZUZXh0P2wudHlwZS5zcGVjLmxlYWZUZXh0KGwpOiIiOiIiO2wuaXNCbG9jayYmKGwuaXNMZWFmJiZjfHxsLmlzVGV4dGJsb2NrKSYmciYmKG4/bj0hMTpvKz1yKSxvKz1jfSwwKSxvfWFwcGVuZChlKXtpZighZS5zaXplKXJldHVybiB0aGlzO2lmKCF0aGlzLnNpemUpcmV0dXJuIGU7bGV0IHQ9dGhpcy5sYXN0Q2hpbGQscj1lLmZpcnN0Q2hpbGQsaT10aGlzLmNvbnRlbnQuc2xpY2UoKSxvPTA7Zm9yKHQuaXNUZXh0JiZ0LnNhbWVNYXJrdXAocikmJihpW2kubGVuZ3RoLTFdPXQud2l0aFRleHQodC50ZXh0K3IudGV4dCksbz0xKTtvPGUuY29udGVudC5sZW5ndGg7bysrKWkucHVzaChlLmNvbnRlbnRbb10pO3JldHVybiBuZXcgYShpLHRoaXMuc2l6ZStlLnNpemUpfWN1dChlLHQ9dGhpcy5zaXplKXtpZihlPT0wJiZ0PT10aGlzLnNpemUpcmV0dXJuIHRoaXM7bGV0IHI9W10saT0wO2lmKHQ+ZSlmb3IobGV0IG89MCxuPTA7bjx0O28rKyl7bGV0IGw9dGhpcy5jb250ZW50W29dLGQ9bitsLm5vZGVTaXplO2Q+ZSYmKChuPGV8fGQ+dCkmJihsLmlzVGV4dD9sPWwuY3V0KE1hdGgubWF4KDAsZS1uKSxNYXRoLm1pbihsLnRleHQubGVuZ3RoLHQtbikpOmw9bC5jdXQoTWF0aC5tYXgoMCxlLW4tMSksTWF0aC5taW4obC5jb250ZW50LnNpemUsdC1uLTEpKSksci5wdXNoKGwpLGkrPWwubm9kZVNpemUpLG49ZH1yZXR1cm4gbmV3IGEocixpKX1jdXRCeUluZGV4KGUsdCl7cmV0dXJuIGU9PXQ/YS5lbXB0eTplPT0wJiZ0PT10aGlzLmNvbnRlbnQubGVuZ3RoP3RoaXM6bmV3IGEodGhpcy5jb250ZW50LnNsaWNlKGUsdCkpfXJlcGxhY2VDaGlsZChlLHQpe2xldCByPXRoaXMuY29udGVudFtlXTtpZihyPT10KXJldHVybiB0aGlzO2xldCBpPXRoaXMuY29udGVudC5zbGljZSgpLG89dGhpcy5zaXplK3Qubm9kZVNpemUtci5ub2RlU2l6ZTtyZXR1cm4gaVtlXT10LG5ldyBhKGksbyl9YWRkVG9TdGFydChlKXtyZXR1cm4gbmV3IGEoW2VdLmNvbmNhdCh0aGlzLmNvbnRlbnQpLHRoaXMuc2l6ZStlLm5vZGVTaXplKX1hZGRUb0VuZChlKXtyZXR1cm4gbmV3IGEodGhpcy5jb250ZW50LmNvbmNhdChlKSx0aGlzLnNpemUrZS5ub2RlU2l6ZSl9ZXEoZSl7aWYodGhpcy5jb250ZW50Lmxlbmd0aCE9ZS5jb250ZW50Lmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHQ9MDt0PHRoaXMuY29udGVudC5sZW5ndGg7dCsrKWlmKCF0aGlzLmNvbnRlbnRbdF0uZXEoZS5jb250ZW50W3RdKSlyZXR1cm4hMTtyZXR1cm4hMH1nZXQgZmlyc3RDaGlsZCgpe3JldHVybiB0aGlzLmNvbnRlbnQubGVuZ3RoP3RoaXMuY29udGVudFswXTpudWxsfWdldCBsYXN0Q2hpbGQoKXtyZXR1cm4gdGhpcy5jb250ZW50Lmxlbmd0aD90aGlzLmNvbnRlbnRbdGhpcy5jb250ZW50Lmxlbmd0aC0xXTpudWxsfWdldCBjaGlsZENvdW50KCl7cmV0dXJuIHRoaXMuY29udGVudC5sZW5ndGh9Y2hpbGQoZSl7bGV0IHQ9dGhpcy5jb250ZW50W2VdO2lmKCF0KXRocm93IG5ldyBSYW5nZUVycm9yKCJJbmRleCAiK2UrIiBvdXQgb2YgcmFuZ2UgZm9yICIrdGhpcyk7cmV0dXJuIHR9bWF5YmVDaGlsZChlKXtyZXR1cm4gdGhpcy5jb250ZW50W2VdfHxudWxsfWZvckVhY2goZSl7Zm9yKGxldCB0PTAscj0wO3Q8dGhpcy5jb250ZW50Lmxlbmd0aDt0Kyspe2xldCBpPXRoaXMuY29udGVudFt0XTtlKGkscix0KSxyKz1pLm5vZGVTaXplfX1maW5kRGlmZlN0YXJ0KGUsdD0wKXtyZXR1cm4geGlhKHRoaXMsZSx0KX1maW5kRGlmZkVuZChlLHQ9dGhpcy5zaXplLHI9ZS5zaXplKXtyZXR1cm4geWlhKHRoaXMsZSx0LHIpfWZpbmRJbmRleChlKXtpZihlPT0wKXJldHVybiBUYWUoMCxlKTtpZihlPT10aGlzLnNpemUpcmV0dXJuIFRhZSh0aGlzLmNvbnRlbnQubGVuZ3RoLGUpO2lmKGU+dGhpcy5zaXplfHxlPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFBvc2l0aW9uICR7ZX0gb3V0c2lkZSBvZiBmcmFnbWVudCAoJHt0aGlzfSlgKTtmb3IobGV0IHQ9MCxyPTA7O3QrKyl7bGV0IGk9dGhpcy5jaGlsZCh0KSxvPXIraS5ub2RlU2l6ZTtpZihvPj1lKXJldHVybiBvPT1lP1RhZSh0KzEsbyk6VGFlKHQscik7cj1vfX10b1N0cmluZygpe3JldHVybiI8Iit0aGlzLnRvU3RyaW5nSW5uZXIoKSsiPiJ9dG9TdHJpbmdJbm5lcigpe3JldHVybiB0aGlzLmNvbnRlbnQuam9pbigiLCAiKX10b0pTT04oKXtyZXR1cm4gdGhpcy5jb250ZW50Lmxlbmd0aD90aGlzLmNvbnRlbnQubWFwKGU9PmUudG9KU09OKCkpOm51bGx9c3RhdGljIGZyb21KU09OKGUsdCl7aWYoIXQpcmV0dXJuIGEuZW1wdHk7aWYoIUFycmF5LmlzQXJyYXkodCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIEZyYWdtZW50LmZyb21KU09OIik7cmV0dXJuIG5ldyBhKHQubWFwKGUubm9kZUZyb21KU09OKSl9c3RhdGljIGZyb21BcnJheShlKXtpZighZS5sZW5ndGgpcmV0dXJuIGEuZW1wdHk7bGV0IHQscj0wO2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7aSsrKXtsZXQgbz1lW2ldO3IrPW8ubm9kZVNpemUsaSYmby5pc1RleHQmJmVbaS0xXS5zYW1lTWFya3VwKG8pPyh0fHwodD1lLnNsaWNlKDAsaSkpLHRbdC5sZW5ndGgtMV09by53aXRoVGV4dCh0W3QubGVuZ3RoLTFdLnRleHQrby50ZXh0KSk6dCYmdC5wdXNoKG8pfXJldHVybiBuZXcgYSh0fHxlLHIpfXN0YXRpYyBmcm9tKGUpe2lmKCFlKXJldHVybiBhLmVtcHR5O2lmKGUgaW5zdGFuY2VvZiBhKXJldHVybiBlO2lmKEFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIHRoaXMuZnJvbUFycmF5KGUpO2lmKGUuYXR0cnMpcmV0dXJuIG5ldyBhKFtlXSxlLm5vZGVTaXplKTt0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ2FuIG5vdCBjb252ZXJ0ICIrZSsiIHRvIGEgRnJhZ21lbnQiKyhlLm5vZGVzQmV0d2Vlbj8iIChsb29rcyBsaWtlIG11bHRpcGxlIHZlcnNpb25zIG9mIHByb3NlbWlycm9yLW1vZGVsIHdlcmUgbG9hZGVkKSI6IiIpKX19O1ZlLmVtcHR5PW5ldyBWZShbXSwwKTtsS2U9e2luZGV4OjAsb2Zmc2V0OjB9O3MoVGFlLCJyZXRJbmRleCIpO3MoTGFlLCJjb21wYXJlRGVlcCIpOyRhPWNsYXNzIGF7c3RhdGlje3ModGhpcywiTWFyayIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy50eXBlPWUsdGhpcy5hdHRycz10fWFkZFRvU2V0KGUpe2xldCB0LHI9ITE7Zm9yKGxldCBpPTA7aTxlLmxlbmd0aDtpKyspe2xldCBvPWVbaV07aWYodGhpcy5lcShvKSlyZXR1cm4gZTtpZih0aGlzLnR5cGUuZXhjbHVkZXMoby50eXBlKSl0fHwodD1lLnNsaWNlKDAsaSkpO2Vsc2V7aWYoby50eXBlLmV4Y2x1ZGVzKHRoaXMudHlwZSkpcmV0dXJuIGU7IXImJm8udHlwZS5yYW5rPnRoaXMudHlwZS5yYW5rJiYodHx8KHQ9ZS5zbGljZSgwLGkpKSx0LnB1c2godGhpcykscj0hMCksdCYmdC5wdXNoKG8pfX1yZXR1cm4gdHx8KHQ9ZS5zbGljZSgpKSxyfHx0LnB1c2godGhpcyksdH1yZW1vdmVGcm9tU2V0KGUpe2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWlmKHRoaXMuZXEoZVt0XSkpcmV0dXJuIGUuc2xpY2UoMCx0KS5jb25jYXQoZS5zbGljZSh0KzEpKTtyZXR1cm4gZX1pc0luU2V0KGUpe2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWlmKHRoaXMuZXEoZVt0XSkpcmV0dXJuITA7cmV0dXJuITF9ZXEoZSl7cmV0dXJuIHRoaXM9PWV8fHRoaXMudHlwZT09ZS50eXBlJiZMYWUodGhpcy5hdHRycyxlLmF0dHJzKX10b0pTT04oKXtsZXQgZT17dHlwZTp0aGlzLnR5cGUubmFtZX07Zm9yKGxldCB0IGluIHRoaXMuYXR0cnMpe2UuYXR0cnM9dGhpcy5hdHRyczticmVha31yZXR1cm4gZX1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZighdCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgTWFyay5mcm9tSlNPTiIpO2xldCByPWUubWFya3NbdC50eXBlXTtpZighcil0aHJvdyBuZXcgUmFuZ2VFcnJvcihgVGhlcmUgaXMgbm8gbWFyayB0eXBlICR7dC50eXBlfSBpbiB0aGlzIHNjaGVtYWApO2xldCBpPXIuY3JlYXRlKHQuYXR0cnMpO3JldHVybiByLmNoZWNrQXR0cnMoaS5hdHRycyksaX1zdGF0aWMgc2FtZVNldChlLHQpe2lmKGU9PXQpcmV0dXJuITA7aWYoZS5sZW5ndGghPXQubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cisrKWlmKCFlW3JdLmVxKHRbcl0pKXJldHVybiExO3JldHVybiEwfXN0YXRpYyBzZXRGcm9tKGUpe2lmKCFlfHxBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aD09MClyZXR1cm4gYS5ub25lO2lmKGUgaW5zdGFuY2VvZiBhKXJldHVybltlXTtsZXQgdD1lLnNsaWNlKCk7cmV0dXJuIHQuc29ydCgocixpKT0+ci50eXBlLnJhbmstaS50eXBlLnJhbmspLHR9fTskYS5ub25lPVtdO2Y0PWNsYXNzIGV4dGVuZHMgRXJyb3J7c3RhdGlje3ModGhpcywiUmVwbGFjZUVycm9yIil9fSxzdD1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlNsaWNlIil9Y29uc3RydWN0b3IoZSx0LHIpe3RoaXMuY29udGVudD1lLHRoaXMub3BlblN0YXJ0PXQsdGhpcy5vcGVuRW5kPXJ9Z2V0IHNpemUoKXtyZXR1cm4gdGhpcy5jb250ZW50LnNpemUtdGhpcy5vcGVuU3RhcnQtdGhpcy5vcGVuRW5kfWluc2VydEF0KGUsdCl7bGV0IHI9TWlhKHRoaXMuY29udGVudCxlK3RoaXMub3BlblN0YXJ0LHQpO3JldHVybiByJiZuZXcgYShyLHRoaXMub3BlblN0YXJ0LHRoaXMub3BlbkVuZCl9cmVtb3ZlQmV0d2VlbihlLHQpe3JldHVybiBuZXcgYSh3aWEodGhpcy5jb250ZW50LGUrdGhpcy5vcGVuU3RhcnQsdCt0aGlzLm9wZW5TdGFydCksdGhpcy5vcGVuU3RhcnQsdGhpcy5vcGVuRW5kKX1lcShlKXtyZXR1cm4gdGhpcy5jb250ZW50LmVxKGUuY29udGVudCkmJnRoaXMub3BlblN0YXJ0PT1lLm9wZW5TdGFydCYmdGhpcy5vcGVuRW5kPT1lLm9wZW5FbmR9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5jb250ZW50KyIoIit0aGlzLm9wZW5TdGFydCsiLCIrdGhpcy5vcGVuRW5kKyIpIn10b0pTT04oKXtpZighdGhpcy5jb250ZW50LnNpemUpcmV0dXJuIG51bGw7bGV0IGU9e2NvbnRlbnQ6dGhpcy5jb250ZW50LnRvSlNPTigpfTtyZXR1cm4gdGhpcy5vcGVuU3RhcnQ+MCYmKGUub3BlblN0YXJ0PXRoaXMub3BlblN0YXJ0KSx0aGlzLm9wZW5FbmQ+MCYmKGUub3BlbkVuZD10aGlzLm9wZW5FbmQpLGV9c3RhdGljIGZyb21KU09OKGUsdCl7aWYoIXQpcmV0dXJuIGEuZW1wdHk7bGV0IHI9dC5vcGVuU3RhcnR8fDAsaT10Lm9wZW5FbmR8fDA7aWYodHlwZW9mIHIhPSJudW1iZXIifHx0eXBlb2YgaSE9Im51bWJlciIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIFNsaWNlLmZyb21KU09OIik7cmV0dXJuIG5ldyBhKFZlLmZyb21KU09OKGUsdC5jb250ZW50KSxyLGkpfXN0YXRpYyBtYXhPcGVuKGUsdD0hMCl7bGV0IHI9MCxpPTA7Zm9yKGxldCBvPWUuZmlyc3RDaGlsZDtvJiYhby5pc0xlYWYmJih0fHwhby50eXBlLnNwZWMuaXNvbGF0aW5nKTtvPW8uZmlyc3RDaGlsZClyKys7Zm9yKGxldCBvPWUubGFzdENoaWxkO28mJiFvLmlzTGVhZiYmKHR8fCFvLnR5cGUuc3BlYy5pc29sYXRpbmcpO289by5sYXN0Q2hpbGQpaSsrO3JldHVybiBuZXcgYShlLHIsaSl9fTtzdC5lbXB0eT1uZXcgc3QoVmUuZW1wdHksMCwwKTtzKHdpYSwicmVtb3ZlUmFuZ2UiKTtzKE1pYSwiaW5zZXJ0SW50byIpO3MoSSRhLCJyZXBsYWNlIik7cyhraWEsInJlcGxhY2VPdXRlciIpO3MoU2lhLCJjaGVja0pvaW4iKTtzKGNLZSwiam9pbmFibGUiKTtzKEZmLCJhZGROb2RlIik7cyhCVSwiYWRkUmFuZ2UiKTtzKEJmLCJjbG9zZSIpO3MoemlhLCJyZXBsYWNlVGhyZWVXYXkiKTtzKCRhZSwicmVwbGFjZVR3b1dheSIpO3MoTiRhLCJwcmVwYXJlU2xpY2VGb3JSZXBsYWNlIik7SFU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJSZXNvbHZlZFBvcyIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLnBvcz1lLHRoaXMucGF0aD10LHRoaXMucGFyZW50T2Zmc2V0PXIsdGhpcy5kZXB0aD10Lmxlbmd0aC8zLTF9cmVzb2x2ZURlcHRoKGUpe3JldHVybiBlPT1udWxsP3RoaXMuZGVwdGg6ZTwwP3RoaXMuZGVwdGgrZTplfWdldCBwYXJlbnQoKXtyZXR1cm4gdGhpcy5ub2RlKHRoaXMuZGVwdGgpfWdldCBkb2MoKXtyZXR1cm4gdGhpcy5ub2RlKDApfW5vZGUoZSl7cmV0dXJuIHRoaXMucGF0aFt0aGlzLnJlc29sdmVEZXB0aChlKSozXX1pbmRleChlKXtyZXR1cm4gdGhpcy5wYXRoW3RoaXMucmVzb2x2ZURlcHRoKGUpKjMrMV19aW5kZXhBZnRlcihlKXtyZXR1cm4gZT10aGlzLnJlc29sdmVEZXB0aChlKSx0aGlzLmluZGV4KGUpKyhlPT10aGlzLmRlcHRoJiYhdGhpcy50ZXh0T2Zmc2V0PzA6MSl9c3RhcnQoZSl7cmV0dXJuIGU9dGhpcy5yZXNvbHZlRGVwdGgoZSksZT09MD8wOnRoaXMucGF0aFtlKjMtMV0rMX1lbmQoZSl7cmV0dXJuIGU9dGhpcy5yZXNvbHZlRGVwdGgoZSksdGhpcy5zdGFydChlKSt0aGlzLm5vZGUoZSkuY29udGVudC5zaXplfWJlZm9yZShlKXtpZihlPXRoaXMucmVzb2x2ZURlcHRoKGUpLCFlKXRocm93IG5ldyBSYW5nZUVycm9yKCJUaGVyZSBpcyBubyBwb3NpdGlvbiBiZWZvcmUgdGhlIHRvcC1sZXZlbCBub2RlIik7cmV0dXJuIGU9PXRoaXMuZGVwdGgrMT90aGlzLnBvczp0aGlzLnBhdGhbZSozLTFdfWFmdGVyKGUpe2lmKGU9dGhpcy5yZXNvbHZlRGVwdGgoZSksIWUpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlRoZXJlIGlzIG5vIHBvc2l0aW9uIGFmdGVyIHRoZSB0b3AtbGV2ZWwgbm9kZSIpO3JldHVybiBlPT10aGlzLmRlcHRoKzE/dGhpcy5wb3M6dGhpcy5wYXRoW2UqMy0xXSt0aGlzLnBhdGhbZSozXS5ub2RlU2l6ZX1nZXQgdGV4dE9mZnNldCgpe3JldHVybiB0aGlzLnBvcy10aGlzLnBhdGhbdGhpcy5wYXRoLmxlbmd0aC0xXX1nZXQgbm9kZUFmdGVyKCl7bGV0IGU9dGhpcy5wYXJlbnQsdD10aGlzLmluZGV4KHRoaXMuZGVwdGgpO2lmKHQ9PWUuY2hpbGRDb3VudClyZXR1cm4gbnVsbDtsZXQgcj10aGlzLnBvcy10aGlzLnBhdGhbdGhpcy5wYXRoLmxlbmd0aC0xXSxpPWUuY2hpbGQodCk7cmV0dXJuIHI/ZS5jaGlsZCh0KS5jdXQocik6aX1nZXQgbm9kZUJlZm9yZSgpe2xldCBlPXRoaXMuaW5kZXgodGhpcy5kZXB0aCksdD10aGlzLnBvcy10aGlzLnBhdGhbdGhpcy5wYXRoLmxlbmd0aC0xXTtyZXR1cm4gdD90aGlzLnBhcmVudC5jaGlsZChlKS5jdXQoMCx0KTplPT0wP251bGw6dGhpcy5wYXJlbnQuY2hpbGQoZS0xKX1wb3NBdEluZGV4KGUsdCl7dD10aGlzLnJlc29sdmVEZXB0aCh0KTtsZXQgcj10aGlzLnBhdGhbdCozXSxpPXQ9PTA/MDp0aGlzLnBhdGhbdCozLTFdKzE7Zm9yKGxldCBvPTA7bzxlO28rKylpKz1yLmNoaWxkKG8pLm5vZGVTaXplO3JldHVybiBpfW1hcmtzKCl7bGV0IGU9dGhpcy5wYXJlbnQsdD10aGlzLmluZGV4KCk7aWYoZS5jb250ZW50LnNpemU9PTApcmV0dXJuICRhLm5vbmU7aWYodGhpcy50ZXh0T2Zmc2V0KXJldHVybiBlLmNoaWxkKHQpLm1hcmtzO2xldCByPWUubWF5YmVDaGlsZCh0LTEpLGk9ZS5tYXliZUNoaWxkKHQpO2lmKCFyKXtsZXQgbD1yO3I9aSxpPWx9bGV0IG89ci5tYXJrcztmb3IodmFyIG49MDtuPG8ubGVuZ3RoO24rKylvW25dLnR5cGUuc3BlYy5pbmNsdXNpdmU9PT0hMSYmKCFpfHwhb1tuXS5pc0luU2V0KGkubWFya3MpKSYmKG89b1tuLS1dLnJlbW92ZUZyb21TZXQobykpO3JldHVybiBvfW1hcmtzQWNyb3NzKGUpe2xldCB0PXRoaXMucGFyZW50Lm1heWJlQ2hpbGQodGhpcy5pbmRleCgpKTtpZighdHx8IXQuaXNJbmxpbmUpcmV0dXJuIG51bGw7bGV0IHI9dC5tYXJrcyxpPWUucGFyZW50Lm1heWJlQ2hpbGQoZS5pbmRleCgpKTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylyW29dLnR5cGUuc3BlYy5pbmNsdXNpdmU9PT0hMSYmKCFpfHwhcltvXS5pc0luU2V0KGkubWFya3MpKSYmKHI9cltvLS1dLnJlbW92ZUZyb21TZXQocikpO3JldHVybiByfXNoYXJlZERlcHRoKGUpe2ZvcihsZXQgdD10aGlzLmRlcHRoO3Q+MDt0LS0paWYodGhpcy5zdGFydCh0KTw9ZSYmdGhpcy5lbmQodCk+PWUpcmV0dXJuIHQ7cmV0dXJuIDB9YmxvY2tSYW5nZShlPXRoaXMsdCl7aWYoZS5wb3M8dGhpcy5wb3MpcmV0dXJuIGUuYmxvY2tSYW5nZSh0aGlzKTtmb3IobGV0IHI9dGhpcy5kZXB0aC0odGhpcy5wYXJlbnQuaW5saW5lQ29udGVudHx8dGhpcy5wb3M9PWUucG9zPzE6MCk7cj49MDtyLS0paWYoZS5wb3M8PXRoaXMuZW5kKHIpJiYoIXR8fHQodGhpcy5ub2RlKHIpKSkpcmV0dXJuIG5ldyBoNCh0aGlzLGUscik7cmV0dXJuIG51bGx9c2FtZVBhcmVudChlKXtyZXR1cm4gdGhpcy5wb3MtdGhpcy5wYXJlbnRPZmZzZXQ9PWUucG9zLWUucGFyZW50T2Zmc2V0fW1heChlKXtyZXR1cm4gZS5wb3M+dGhpcy5wb3M/ZTp0aGlzfW1pbihlKXtyZXR1cm4gZS5wb3M8dGhpcy5wb3M/ZTp0aGlzfXRvU3RyaW5nKCl7bGV0IGU9IiI7Zm9yKGxldCB0PTE7dDw9dGhpcy5kZXB0aDt0KyspZSs9KGU/Ii8iOiIiKSt0aGlzLm5vZGUodCkudHlwZS5uYW1lKyJfIit0aGlzLmluZGV4KHQtMSk7cmV0dXJuIGUrIjoiK3RoaXMucGFyZW50T2Zmc2V0fXN0YXRpYyByZXNvbHZlKGUsdCl7aWYoISh0Pj0wJiZ0PD1lLmNvbnRlbnQuc2l6ZSkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlBvc2l0aW9uICIrdCsiIG91dCBvZiByYW5nZSIpO2xldCByPVtdLGk9MCxvPXQ7Zm9yKGxldCBuPWU7Oyl7bGV0e2luZGV4Omwsb2Zmc2V0OmR9PW4uY29udGVudC5maW5kSW5kZXgobyksYz1vLWQ7aWYoci5wdXNoKG4sbCxpK2QpLCFjfHwobj1uLmNoaWxkKGwpLG4uaXNUZXh0KSlicmVhaztvPWMtMSxpKz1kKzF9cmV0dXJuIG5ldyBhKHQscixvKX1zdGF0aWMgcmVzb2x2ZUNhY2hlZChlLHQpe2xldCByPUNpYS5nZXQoZSk7aWYocilmb3IobGV0IG89MDtvPHIuZWx0cy5sZW5ndGg7bysrKXtsZXQgbj1yLmVsdHNbb107aWYobi5wb3M9PXQpcmV0dXJuIG59ZWxzZSBDaWEuc2V0KGUscj1uZXcgZEtlKTtsZXQgaT1yLmVsdHNbci5pXT1hLnJlc29sdmUoZSx0KTtyZXR1cm4gci5pPShyLmkrMSklUiRhLGl9fSxkS2U9Y2xhc3N7c3RhdGlje3ModGhpcywiUmVzb2x2ZUNhY2hlIil9Y29uc3RydWN0b3IoKXt0aGlzLmVsdHM9W10sdGhpcy5pPTB9fSxSJGE9MTIsQ2lhPW5ldyBXZWFrTWFwLGg0PWNsYXNze3N0YXRpY3tzKHRoaXMsIk5vZGVSYW5nZSIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLiRmcm9tPWUsdGhpcy4kdG89dCx0aGlzLmRlcHRoPXJ9Z2V0IHN0YXJ0KCl7cmV0dXJuIHRoaXMuJGZyb20uYmVmb3JlKHRoaXMuZGVwdGgrMSl9Z2V0IGVuZCgpe3JldHVybiB0aGlzLiR0by5hZnRlcih0aGlzLmRlcHRoKzEpfWdldCBwYXJlbnQoKXtyZXR1cm4gdGhpcy4kZnJvbS5ub2RlKHRoaXMuZGVwdGgpfWdldCBzdGFydEluZGV4KCl7cmV0dXJuIHRoaXMuJGZyb20uaW5kZXgodGhpcy5kZXB0aCl9Z2V0IGVuZEluZGV4KCl7cmV0dXJuIHRoaXMuJHRvLmluZGV4QWZ0ZXIodGhpcy5kZXB0aCl9fSxPJGE9T2JqZWN0LmNyZWF0ZShudWxsKSxXaT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIk5vZGUiKX1jb25zdHJ1Y3RvcihlLHQscixpPSRhLm5vbmUpe3RoaXMudHlwZT1lLHRoaXMuYXR0cnM9dCx0aGlzLm1hcmtzPWksdGhpcy5jb250ZW50PXJ8fFZlLmVtcHR5fWdldCBjaGlsZHJlbigpe3JldHVybiB0aGlzLmNvbnRlbnQuY29udGVudH1nZXQgbm9kZVNpemUoKXtyZXR1cm4gdGhpcy5pc0xlYWY/MToyK3RoaXMuY29udGVudC5zaXplfWdldCBjaGlsZENvdW50KCl7cmV0dXJuIHRoaXMuY29udGVudC5jaGlsZENvdW50fWNoaWxkKGUpe3JldHVybiB0aGlzLmNvbnRlbnQuY2hpbGQoZSl9bWF5YmVDaGlsZChlKXtyZXR1cm4gdGhpcy5jb250ZW50Lm1heWJlQ2hpbGQoZSl9Zm9yRWFjaChlKXt0aGlzLmNvbnRlbnQuZm9yRWFjaChlKX1ub2Rlc0JldHdlZW4oZSx0LHIsaT0wKXt0aGlzLmNvbnRlbnQubm9kZXNCZXR3ZWVuKGUsdCxyLGksdGhpcyl9ZGVzY2VuZGFudHMoZSl7dGhpcy5ub2Rlc0JldHdlZW4oMCx0aGlzLmNvbnRlbnQuc2l6ZSxlKX1nZXQgdGV4dENvbnRlbnQoKXtyZXR1cm4gdGhpcy5pc0xlYWYmJnRoaXMudHlwZS5zcGVjLmxlYWZUZXh0P3RoaXMudHlwZS5zcGVjLmxlYWZUZXh0KHRoaXMpOnRoaXMudGV4dEJldHdlZW4oMCx0aGlzLmNvbnRlbnQuc2l6ZSwiIil9dGV4dEJldHdlZW4oZSx0LHIsaSl7cmV0dXJuIHRoaXMuY29udGVudC50ZXh0QmV0d2VlbihlLHQscixpKX1nZXQgZmlyc3RDaGlsZCgpe3JldHVybiB0aGlzLmNvbnRlbnQuZmlyc3RDaGlsZH1nZXQgbGFzdENoaWxkKCl7cmV0dXJuIHRoaXMuY29udGVudC5sYXN0Q2hpbGR9ZXEoZSl7cmV0dXJuIHRoaXM9PWV8fHRoaXMuc2FtZU1hcmt1cChlKSYmdGhpcy5jb250ZW50LmVxKGUuY29udGVudCl9c2FtZU1hcmt1cChlKXtyZXR1cm4gdGhpcy5oYXNNYXJrdXAoZS50eXBlLGUuYXR0cnMsZS5tYXJrcyl9aGFzTWFya3VwKGUsdCxyKXtyZXR1cm4gdGhpcy50eXBlPT1lJiZMYWUodGhpcy5hdHRycyx0fHxlLmRlZmF1bHRBdHRyc3x8TyRhKSYmJGEuc2FtZVNldCh0aGlzLm1hcmtzLHJ8fCRhLm5vbmUpfWNvcHkoZT1udWxsKXtyZXR1cm4gZT09dGhpcy5jb250ZW50P3RoaXM6bmV3IGEodGhpcy50eXBlLHRoaXMuYXR0cnMsZSx0aGlzLm1hcmtzKX1tYXJrKGUpe3JldHVybiBlPT10aGlzLm1hcmtzP3RoaXM6bmV3IGEodGhpcy50eXBlLHRoaXMuYXR0cnMsdGhpcy5jb250ZW50LGUpfWN1dChlLHQ9dGhpcy5jb250ZW50LnNpemUpe3JldHVybiBlPT0wJiZ0PT10aGlzLmNvbnRlbnQuc2l6ZT90aGlzOnRoaXMuY29weSh0aGlzLmNvbnRlbnQuY3V0KGUsdCkpfXNsaWNlKGUsdD10aGlzLmNvbnRlbnQuc2l6ZSxyPSExKXtpZihlPT10KXJldHVybiBzdC5lbXB0eTtsZXQgaT10aGlzLnJlc29sdmUoZSksbz10aGlzLnJlc29sdmUodCksbj1yPzA6aS5zaGFyZWREZXB0aCh0KSxsPWkuc3RhcnQobiksYz1pLm5vZGUobikuY29udGVudC5jdXQoaS5wb3MtbCxvLnBvcy1sKTtyZXR1cm4gbmV3IHN0KGMsaS5kZXB0aC1uLG8uZGVwdGgtbil9cmVwbGFjZShlLHQscil7cmV0dXJuIEkkYSh0aGlzLnJlc29sdmUoZSksdGhpcy5yZXNvbHZlKHQpLHIpfW5vZGVBdChlKXtmb3IobGV0IHQ9dGhpczs7KXtsZXR7aW5kZXg6cixvZmZzZXQ6aX09dC5jb250ZW50LmZpbmRJbmRleChlKTtpZih0PXQubWF5YmVDaGlsZChyKSwhdClyZXR1cm4gbnVsbDtpZihpPT1lfHx0LmlzVGV4dClyZXR1cm4gdDtlLT1pKzF9fWNoaWxkQWZ0ZXIoZSl7bGV0e2luZGV4OnQsb2Zmc2V0OnJ9PXRoaXMuY29udGVudC5maW5kSW5kZXgoZSk7cmV0dXJue25vZGU6dGhpcy5jb250ZW50Lm1heWJlQ2hpbGQodCksaW5kZXg6dCxvZmZzZXQ6cn19Y2hpbGRCZWZvcmUoZSl7aWYoZT09MClyZXR1cm57bm9kZTpudWxsLGluZGV4OjAsb2Zmc2V0OjB9O2xldHtpbmRleDp0LG9mZnNldDpyfT10aGlzLmNvbnRlbnQuZmluZEluZGV4KGUpO2lmKHI8ZSlyZXR1cm57bm9kZTp0aGlzLmNvbnRlbnQuY2hpbGQodCksaW5kZXg6dCxvZmZzZXQ6cn07bGV0IGk9dGhpcy5jb250ZW50LmNoaWxkKHQtMSk7cmV0dXJue25vZGU6aSxpbmRleDp0LTEsb2Zmc2V0OnItaS5ub2RlU2l6ZX19cmVzb2x2ZShlKXtyZXR1cm4gSFUucmVzb2x2ZUNhY2hlZCh0aGlzLGUpfXJlc29sdmVOb0NhY2hlKGUpe3JldHVybiBIVS5yZXNvbHZlKHRoaXMsZSl9cmFuZ2VIYXNNYXJrKGUsdCxyKXtsZXQgaT0hMTtyZXR1cm4gdD5lJiZ0aGlzLm5vZGVzQmV0d2VlbihlLHQsbz0+KHIuaXNJblNldChvLm1hcmtzKSYmKGk9ITApLCFpKSksaX1nZXQgaXNCbG9jaygpe3JldHVybiB0aGlzLnR5cGUuaXNCbG9ja31nZXQgaXNUZXh0YmxvY2soKXtyZXR1cm4gdGhpcy50eXBlLmlzVGV4dGJsb2NrfWdldCBpbmxpbmVDb250ZW50KCl7cmV0dXJuIHRoaXMudHlwZS5pbmxpbmVDb250ZW50fWdldCBpc0lubGluZSgpe3JldHVybiB0aGlzLnR5cGUuaXNJbmxpbmV9Z2V0IGlzVGV4dCgpe3JldHVybiB0aGlzLnR5cGUuaXNUZXh0fWdldCBpc0xlYWYoKXtyZXR1cm4gdGhpcy50eXBlLmlzTGVhZn1nZXQgaXNBdG9tKCl7cmV0dXJuIHRoaXMudHlwZS5pc0F0b219dG9TdHJpbmcoKXtpZih0aGlzLnR5cGUuc3BlYy50b0RlYnVnU3RyaW5nKXJldHVybiB0aGlzLnR5cGUuc3BlYy50b0RlYnVnU3RyaW5nKHRoaXMpO2xldCBlPXRoaXMudHlwZS5uYW1lO3JldHVybiB0aGlzLmNvbnRlbnQuc2l6ZSYmKGUrPSIoIit0aGlzLmNvbnRlbnQudG9TdHJpbmdJbm5lcigpKyIpIiksX2lhKHRoaXMubWFya3MsZSl9Y29udGVudE1hdGNoQXQoZSl7bGV0IHQ9dGhpcy50eXBlLmNvbnRlbnRNYXRjaC5tYXRjaEZyYWdtZW50KHRoaXMuY29udGVudCwwLGUpO2lmKCF0KXRocm93IG5ldyBFcnJvcigiQ2FsbGVkIGNvbnRlbnRNYXRjaEF0IG9uIGEgbm9kZSB3aXRoIGludmFsaWQgY29udGVudCIpO3JldHVybiB0fWNhblJlcGxhY2UoZSx0LHI9VmUuZW1wdHksaT0wLG89ci5jaGlsZENvdW50KXtsZXQgbj10aGlzLmNvbnRlbnRNYXRjaEF0KGUpLm1hdGNoRnJhZ21lbnQocixpLG8pLGw9biYmbi5tYXRjaEZyYWdtZW50KHRoaXMuY29udGVudCx0KTtpZighbHx8IWwudmFsaWRFbmQpcmV0dXJuITE7Zm9yKGxldCBkPWk7ZDxvO2QrKylpZighdGhpcy50eXBlLmFsbG93c01hcmtzKHIuY2hpbGQoZCkubWFya3MpKXJldHVybiExO3JldHVybiEwfWNhblJlcGxhY2VXaXRoKGUsdCxyLGkpe2lmKGkmJiF0aGlzLnR5cGUuYWxsb3dzTWFya3MoaSkpcmV0dXJuITE7bGV0IG89dGhpcy5jb250ZW50TWF0Y2hBdChlKS5tYXRjaFR5cGUociksbj1vJiZvLm1hdGNoRnJhZ21lbnQodGhpcy5jb250ZW50LHQpO3JldHVybiBuP24udmFsaWRFbmQ6ITF9Y2FuQXBwZW5kKGUpe3JldHVybiBlLmNvbnRlbnQuc2l6ZT90aGlzLmNhblJlcGxhY2UodGhpcy5jaGlsZENvdW50LHRoaXMuY2hpbGRDb3VudCxlLmNvbnRlbnQpOnRoaXMudHlwZS5jb21wYXRpYmxlQ29udGVudChlLnR5cGUpfWNoZWNrKCl7dGhpcy50eXBlLmNoZWNrQ29udGVudCh0aGlzLmNvbnRlbnQpLHRoaXMudHlwZS5jaGVja0F0dHJzKHRoaXMuYXR0cnMpO2xldCBlPSRhLm5vbmU7Zm9yKGxldCB0PTA7dDx0aGlzLm1hcmtzLmxlbmd0aDt0Kyspe2xldCByPXRoaXMubWFya3NbdF07ci50eXBlLmNoZWNrQXR0cnMoci5hdHRycyksZT1yLmFkZFRvU2V0KGUpfWlmKCEkYS5zYW1lU2V0KGUsdGhpcy5tYXJrcykpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYEludmFsaWQgY29sbGVjdGlvbiBvZiBtYXJrcyBmb3Igbm9kZSAke3RoaXMudHlwZS5uYW1lfTogJHt0aGlzLm1hcmtzLm1hcCh0PT50LnR5cGUubmFtZSl9YCk7dGhpcy5jb250ZW50LmZvckVhY2godD0+dC5jaGVjaygpKX10b0pTT04oKXtsZXQgZT17dHlwZTp0aGlzLnR5cGUubmFtZX07Zm9yKGxldCB0IGluIHRoaXMuYXR0cnMpe2UuYXR0cnM9dGhpcy5hdHRyczticmVha31yZXR1cm4gdGhpcy5jb250ZW50LnNpemUmJihlLmNvbnRlbnQ9dGhpcy5jb250ZW50LnRvSlNPTigpKSx0aGlzLm1hcmtzLmxlbmd0aCYmKGUubWFya3M9dGhpcy5tYXJrcy5tYXAodD0+dC50b0pTT04oKSkpLGV9c3RhdGljIGZyb21KU09OKGUsdCl7aWYoIXQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIE5vZGUuZnJvbUpTT04iKTtsZXQgcjtpZih0Lm1hcmtzKXtpZighQXJyYXkuaXNBcnJheSh0Lm1hcmtzKSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBtYXJrIGRhdGEgZm9yIE5vZGUuZnJvbUpTT04iKTtyPXQubWFya3MubWFwKGUubWFya0Zyb21KU09OKX1pZih0LnR5cGU9PSJ0ZXh0Iil7aWYodHlwZW9mIHQudGV4dCE9InN0cmluZyIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgdGV4dCBub2RlIGluIEpTT04iKTtyZXR1cm4gZS50ZXh0KHQudGV4dCxyKX1sZXQgaT1WZS5mcm9tSlNPTihlLHQuY29udGVudCksbz1lLm5vZGVUeXBlKHQudHlwZSkuY3JlYXRlKHQuYXR0cnMsaSxyKTtyZXR1cm4gby50eXBlLmNoZWNrQXR0cnMoby5hdHRycyksb319O1dpLnByb3RvdHlwZS50ZXh0PXZvaWQgMDt1S2U9Y2xhc3MgYSBleHRlbmRzIFdpe3N0YXRpY3tzKHRoaXMsIlRleHROb2RlIil9Y29uc3RydWN0b3IoZSx0LHIsaSl7aWYoc3VwZXIoZSx0LG51bGwsaSksIXIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkVtcHR5IHRleHQgbm9kZXMgYXJlIG5vdCBhbGxvd2VkIik7dGhpcy50ZXh0PXJ9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy50eXBlLnNwZWMudG9EZWJ1Z1N0cmluZz90aGlzLnR5cGUuc3BlYy50b0RlYnVnU3RyaW5nKHRoaXMpOl9pYSh0aGlzLm1hcmtzLEpTT04uc3RyaW5naWZ5KHRoaXMudGV4dCkpfWdldCB0ZXh0Q29udGVudCgpe3JldHVybiB0aGlzLnRleHR9dGV4dEJldHdlZW4oZSx0KXtyZXR1cm4gdGhpcy50ZXh0LnNsaWNlKGUsdCl9Z2V0IG5vZGVTaXplKCl7cmV0dXJuIHRoaXMudGV4dC5sZW5ndGh9bWFyayhlKXtyZXR1cm4gZT09dGhpcy5tYXJrcz90aGlzOm5ldyBhKHRoaXMudHlwZSx0aGlzLmF0dHJzLHRoaXMudGV4dCxlKX13aXRoVGV4dChlKXtyZXR1cm4gZT09dGhpcy50ZXh0P3RoaXM6bmV3IGEodGhpcy50eXBlLHRoaXMuYXR0cnMsZSx0aGlzLm1hcmtzKX1jdXQoZT0wLHQ9dGhpcy50ZXh0Lmxlbmd0aCl7cmV0dXJuIGU9PTAmJnQ9PXRoaXMudGV4dC5sZW5ndGg/dGhpczp0aGlzLndpdGhUZXh0KHRoaXMudGV4dC5zbGljZShlLHQpKX1lcShlKXtyZXR1cm4gdGhpcy5zYW1lTWFya3VwKGUpJiZ0aGlzLnRleHQ9PWUudGV4dH10b0pTT04oKXtsZXQgZT1zdXBlci50b0pTT04oKTtyZXR1cm4gZS50ZXh0PXRoaXMudGV4dCxlfX07cyhfaWEsIndyYXBNYXJrcyIpO3A0PWNsYXNzIGF7c3RhdGlje3ModGhpcywiQ29udGVudE1hdGNoIil9Y29uc3RydWN0b3IoZSl7dGhpcy52YWxpZEVuZD1lLHRoaXMubmV4dD1bXSx0aGlzLndyYXBDYWNoZT1bXX1zdGF0aWMgcGFyc2UoZSx0KXtsZXQgcj1uZXcgcEtlKGUsdCk7aWYoci5uZXh0PT1udWxsKXJldHVybiBhLmVtcHR5O2xldCBpPVRpYShyKTtyLm5leHQmJnIuZXJyKCJVbmV4cGVjdGVkIHRyYWlsaW5nIHRleHQiKTtsZXQgbz1VJGEoaiRhKGkpKTtyZXR1cm4gVyRhKG8sciksb31tYXRjaFR5cGUoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLm5leHQubGVuZ3RoO3QrKylpZih0aGlzLm5leHRbdF0udHlwZT09ZSlyZXR1cm4gdGhpcy5uZXh0W3RdLm5leHQ7cmV0dXJuIG51bGx9bWF0Y2hGcmFnbWVudChlLHQ9MCxyPWUuY2hpbGRDb3VudCl7bGV0IGk9dGhpcztmb3IobGV0IG89dDtpJiZvPHI7bysrKWk9aS5tYXRjaFR5cGUoZS5jaGlsZChvKS50eXBlKTtyZXR1cm4gaX1nZXQgaW5saW5lQ29udGVudCgpe3JldHVybiB0aGlzLm5leHQubGVuZ3RoIT0wJiZ0aGlzLm5leHRbMF0udHlwZS5pc0lubGluZX1nZXQgZGVmYXVsdFR5cGUoKXtmb3IobGV0IGU9MDtlPHRoaXMubmV4dC5sZW5ndGg7ZSsrKXtsZXR7dHlwZTp0fT10aGlzLm5leHRbZV07aWYoISh0LmlzVGV4dHx8dC5oYXNSZXF1aXJlZEF0dHJzKCkpKXJldHVybiB0fXJldHVybiBudWxsfWNvbXBhdGlibGUoZSl7Zm9yKGxldCB0PTA7dDx0aGlzLm5leHQubGVuZ3RoO3QrKylmb3IobGV0IHI9MDtyPGUubmV4dC5sZW5ndGg7cisrKWlmKHRoaXMubmV4dFt0XS50eXBlPT1lLm5leHRbcl0udHlwZSlyZXR1cm4hMDtyZXR1cm4hMX1maWxsQmVmb3JlKGUsdD0hMSxyPTApe2xldCBpPVt0aGlzXTtmdW5jdGlvbiBvKG4sbCl7bGV0IGQ9bi5tYXRjaEZyYWdtZW50KGUscik7aWYoZCYmKCF0fHxkLnZhbGlkRW5kKSlyZXR1cm4gVmUuZnJvbShsLm1hcChjPT5jLmNyZWF0ZUFuZEZpbGwoKSkpO2ZvcihsZXQgYz0wO2M8bi5uZXh0Lmxlbmd0aDtjKyspe2xldHt0eXBlOnAsbmV4dDp1fT1uLm5leHRbY107aWYoIShwLmlzVGV4dHx8cC5oYXNSZXF1aXJlZEF0dHJzKCkpJiZpLmluZGV4T2YodSk9PS0xKXtpLnB1c2godSk7bGV0IG09byh1LGwuY29uY2F0KHApKTtpZihtKXJldHVybiBtfX1yZXR1cm4gbnVsbH1yZXR1cm4gcyhvLCJzZWFyY2giKSxvKHRoaXMsW10pfWZpbmRXcmFwcGluZyhlKXtmb3IobGV0IHI9MDtyPHRoaXMud3JhcENhY2hlLmxlbmd0aDtyKz0yKWlmKHRoaXMud3JhcENhY2hlW3JdPT1lKXJldHVybiB0aGlzLndyYXBDYWNoZVtyKzFdO2xldCB0PXRoaXMuY29tcHV0ZVdyYXBwaW5nKGUpO3JldHVybiB0aGlzLndyYXBDYWNoZS5wdXNoKGUsdCksdH1jb21wdXRlV3JhcHBpbmcoZSl7bGV0IHQ9T2JqZWN0LmNyZWF0ZShudWxsKSxyPVt7bWF0Y2g6dGhpcyx0eXBlOm51bGwsdmlhOm51bGx9XTtmb3IoO3IubGVuZ3RoOyl7bGV0IGk9ci5zaGlmdCgpLG89aS5tYXRjaDtpZihvLm1hdGNoVHlwZShlKSl7bGV0IG49W107Zm9yKGxldCBsPWk7bC50eXBlO2w9bC52aWEpbi5wdXNoKGwudHlwZSk7cmV0dXJuIG4ucmV2ZXJzZSgpfWZvcihsZXQgbj0wO248by5uZXh0Lmxlbmd0aDtuKyspe2xldHt0eXBlOmwsbmV4dDpkfT1vLm5leHRbbl07IWwuaXNMZWFmJiYhbC5oYXNSZXF1aXJlZEF0dHJzKCkmJiEobC5uYW1lIGluIHQpJiYoIWkudHlwZXx8ZC52YWxpZEVuZCkmJihyLnB1c2goe21hdGNoOmwuY29udGVudE1hdGNoLHR5cGU6bCx2aWE6aX0pLHRbbC5uYW1lXT0hMCl9fXJldHVybiBudWxsfWdldCBlZGdlQ291bnQoKXtyZXR1cm4gdGhpcy5uZXh0Lmxlbmd0aH1lZGdlKGUpe2lmKGU+PXRoaXMubmV4dC5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYFRoZXJlJ3Mgbm8gJHtlfXRoIGVkZ2UgaW4gdGhpcyBjb250ZW50IG1hdGNoYCk7cmV0dXJuIHRoaXMubmV4dFtlXX10b1N0cmluZygpe2xldCBlPVtdO2Z1bmN0aW9uIHQocil7ZS5wdXNoKHIpO2ZvcihsZXQgaT0wO2k8ci5uZXh0Lmxlbmd0aDtpKyspZS5pbmRleE9mKHIubmV4dFtpXS5uZXh0KT09LTEmJnQoci5uZXh0W2ldLm5leHQpfXJldHVybiBzKHQsInNjYW4iKSx0KHRoaXMpLGUubWFwKChyLGkpPT57bGV0IG89aSsoci52YWxpZEVuZD8iKiI6IiAiKSsiICI7Zm9yKGxldCBuPTA7bjxyLm5leHQubGVuZ3RoO24rKylvKz0obj8iLCAiOiIiKStyLm5leHRbbl0udHlwZS5uYW1lKyItPiIrZS5pbmRleE9mKHIubmV4dFtuXS5uZXh0KTtyZXR1cm4gb30pLmpvaW4oYApgKX19O3A0LmVtcHR5PW5ldyBwNCghMCk7cEtlPWNsYXNze3N0YXRpY3tzKHRoaXMsIlRva2VuU3RyZWFtIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnN0cmluZz1lLHRoaXMubm9kZVR5cGVzPXQsdGhpcy5pbmxpbmU9bnVsbCx0aGlzLnBvcz0wLHRoaXMudG9rZW5zPWUuc3BsaXQoL1xzKig/PVxifFxXfCQpLyksdGhpcy50b2tlbnNbdGhpcy50b2tlbnMubGVuZ3RoLTFdPT0iIiYmdGhpcy50b2tlbnMucG9wKCksdGhpcy50b2tlbnNbMF09PSIiJiZ0aGlzLnRva2Vucy5zaGlmdCgpfWdldCBuZXh0KCl7cmV0dXJuIHRoaXMudG9rZW5zW3RoaXMucG9zXX1lYXQoZSl7cmV0dXJuIHRoaXMubmV4dD09ZSYmKHRoaXMucG9zKyt8fCEwKX1lcnIoZSl7dGhyb3cgbmV3IFN5bnRheEVycm9yKGUrIiAoaW4gY29udGVudCBleHByZXNzaW9uICciK3RoaXMuc3RyaW5nKyInKSIpfX07cyhUaWEsInBhcnNlRXhwciIpO3MoRiRhLCJwYXJzZUV4cHJTZXEiKTtzKEIkYSwicGFyc2VFeHByU3Vic2NyaXB0Iik7cyhMaWEsInBhcnNlTnVtIik7cyhIJGEsInBhcnNlRXhwclJhbmdlIik7cyhxJGEsInJlc29sdmVOYW1lIik7cyhWJGEsInBhcnNlRXhwckF0b20iKTtzKGokYSwibmZhIik7cygkaWEsImNtcCIpO3MoRGlhLCJudWxsRnJvbSIpO3MoVSRhLCJkZmEiKTtzKFckYSwiY2hlY2tGb3JEZWFkRW5kcyIpO3MoQWlhLCJkZWZhdWx0QXR0cnMiKTtzKEVpYSwiY29tcHV0ZUF0dHJzIik7cyhQaWEsImNoZWNrQXR0cnMiKTtzKElpYSwiaW5pdEF0dHJzIik7cVU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJOb2RlVHlwZSIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLm5hbWU9ZSx0aGlzLnNjaGVtYT10LHRoaXMuc3BlYz1yLHRoaXMubWFya1NldD1udWxsLHRoaXMuZ3JvdXBzPXIuZ3JvdXA/ci5ncm91cC5zcGxpdCgiICIpOltdLHRoaXMuYXR0cnM9SWlhKGUsci5hdHRycyksdGhpcy5kZWZhdWx0QXR0cnM9QWlhKHRoaXMuYXR0cnMpLHRoaXMuY29udGVudE1hdGNoPW51bGwsdGhpcy5pbmxpbmVDb250ZW50PW51bGwsdGhpcy5pc0Jsb2NrPSEoci5pbmxpbmV8fGU9PSJ0ZXh0IiksdGhpcy5pc1RleHQ9ZT09InRleHQifWdldCBpc0lubGluZSgpe3JldHVybiF0aGlzLmlzQmxvY2t9Z2V0IGlzVGV4dGJsb2NrKCl7cmV0dXJuIHRoaXMuaXNCbG9jayYmdGhpcy5pbmxpbmVDb250ZW50fWdldCBpc0xlYWYoKXtyZXR1cm4gdGhpcy5jb250ZW50TWF0Y2g9PXA0LmVtcHR5fWdldCBpc0F0b20oKXtyZXR1cm4gdGhpcy5pc0xlYWZ8fCEhdGhpcy5zcGVjLmF0b219aXNJbkdyb3VwKGUpe3JldHVybiB0aGlzLmdyb3Vwcy5pbmRleE9mKGUpPi0xfWdldCB3aGl0ZXNwYWNlKCl7cmV0dXJuIHRoaXMuc3BlYy53aGl0ZXNwYWNlfHwodGhpcy5zcGVjLmNvZGU/InByZSI6Im5vcm1hbCIpfWhhc1JlcXVpcmVkQXR0cnMoKXtmb3IobGV0IGUgaW4gdGhpcy5hdHRycylpZih0aGlzLmF0dHJzW2VdLmlzUmVxdWlyZWQpcmV0dXJuITA7cmV0dXJuITF9Y29tcGF0aWJsZUNvbnRlbnQoZSl7cmV0dXJuIHRoaXM9PWV8fHRoaXMuY29udGVudE1hdGNoLmNvbXBhdGlibGUoZS5jb250ZW50TWF0Y2gpfWNvbXB1dGVBdHRycyhlKXtyZXR1cm4hZSYmdGhpcy5kZWZhdWx0QXR0cnM/dGhpcy5kZWZhdWx0QXR0cnM6RWlhKHRoaXMuYXR0cnMsZSl9Y3JlYXRlKGU9bnVsbCx0LHIpe2lmKHRoaXMuaXNUZXh0KXRocm93IG5ldyBFcnJvcigiTm9kZVR5cGUuY3JlYXRlIGNhbid0IGNvbnN0cnVjdCB0ZXh0IG5vZGVzIik7cmV0dXJuIG5ldyBXaSh0aGlzLHRoaXMuY29tcHV0ZUF0dHJzKGUpLFZlLmZyb20odCksJGEuc2V0RnJvbShyKSl9Y3JlYXRlQ2hlY2tlZChlPW51bGwsdCxyKXtyZXR1cm4gdD1WZS5mcm9tKHQpLHRoaXMuY2hlY2tDb250ZW50KHQpLG5ldyBXaSh0aGlzLHRoaXMuY29tcHV0ZUF0dHJzKGUpLHQsJGEuc2V0RnJvbShyKSl9Y3JlYXRlQW5kRmlsbChlPW51bGwsdCxyKXtpZihlPXRoaXMuY29tcHV0ZUF0dHJzKGUpLHQ9VmUuZnJvbSh0KSx0LnNpemUpe2xldCBuPXRoaXMuY29udGVudE1hdGNoLmZpbGxCZWZvcmUodCk7aWYoIW4pcmV0dXJuIG51bGw7dD1uLmFwcGVuZCh0KX1sZXQgaT10aGlzLmNvbnRlbnRNYXRjaC5tYXRjaEZyYWdtZW50KHQpLG89aSYmaS5maWxsQmVmb3JlKFZlLmVtcHR5LCEwKTtyZXR1cm4gbz9uZXcgV2kodGhpcyxlLHQuYXBwZW5kKG8pLCRhLnNldEZyb20ocikpOm51bGx9dmFsaWRDb250ZW50KGUpe2xldCB0PXRoaXMuY29udGVudE1hdGNoLm1hdGNoRnJhZ21lbnQoZSk7aWYoIXR8fCF0LnZhbGlkRW5kKXJldHVybiExO2ZvcihsZXQgcj0wO3I8ZS5jaGlsZENvdW50O3IrKylpZighdGhpcy5hbGxvd3NNYXJrcyhlLmNoaWxkKHIpLm1hcmtzKSlyZXR1cm4hMTtyZXR1cm4hMH1jaGVja0NvbnRlbnQoZSl7aWYoIXRoaXMudmFsaWRDb250ZW50KGUpKXRocm93IG5ldyBSYW5nZUVycm9yKGBJbnZhbGlkIGNvbnRlbnQgZm9yIG5vZGUgJHt0aGlzLm5hbWV9OiAke2UudG9TdHJpbmcoKS5zbGljZSgwLDUwKX1gKX1jaGVja0F0dHJzKGUpe1BpYSh0aGlzLmF0dHJzLGUsIm5vZGUiLHRoaXMubmFtZSl9YWxsb3dzTWFya1R5cGUoZSl7cmV0dXJuIHRoaXMubWFya1NldD09bnVsbHx8dGhpcy5tYXJrU2V0LmluZGV4T2YoZSk+LTF9YWxsb3dzTWFya3MoZSl7aWYodGhpcy5tYXJrU2V0PT1udWxsKXJldHVybiEwO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKWlmKCF0aGlzLmFsbG93c01hcmtUeXBlKGVbdF0udHlwZSkpcmV0dXJuITE7cmV0dXJuITB9YWxsb3dlZE1hcmtzKGUpe2lmKHRoaXMubWFya1NldD09bnVsbClyZXR1cm4gZTtsZXQgdDtmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKyl0aGlzLmFsbG93c01hcmtUeXBlKGVbcl0udHlwZSk/dCYmdC5wdXNoKGVbcl0pOnR8fCh0PWUuc2xpY2UoMCxyKSk7cmV0dXJuIHQ/dC5sZW5ndGg/dDokYS5ub25lOmV9c3RhdGljIGNvbXBpbGUoZSx0KXtsZXQgcj1PYmplY3QuY3JlYXRlKG51bGwpO2UuZm9yRWFjaCgobyxuKT0+cltvXT1uZXcgYShvLHQsbikpO2xldCBpPXQuc3BlYy50b3BOb2RlfHwiZG9jIjtpZighcltpXSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiU2NoZW1hIGlzIG1pc3NpbmcgaXRzIHRvcCBub2RlIHR5cGUgKCciK2krIicpIik7aWYoIXIudGV4dCl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRXZlcnkgc2NoZW1hIG5lZWRzIGEgJ3RleHQnIHR5cGUiKTtmb3IobGV0IG8gaW4gci50ZXh0LmF0dHJzKXRocm93IG5ldyBSYW5nZUVycm9yKCJUaGUgdGV4dCBub2RlIHR5cGUgc2hvdWxkIG5vdCBoYXZlIGF0dHJpYnV0ZXMiKTtyZXR1cm4gcn19O3MoRyRhLCJ2YWxpZGF0ZVR5cGUiKTtmS2U9Y2xhc3N7c3RhdGlje3ModGhpcywiQXR0cmlidXRlIil9Y29uc3RydWN0b3IoZSx0LHIpe3RoaXMuaGFzRGVmYXVsdD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwociwiZGVmYXVsdCIpLHRoaXMuZGVmYXVsdD1yLmRlZmF1bHQsdGhpcy52YWxpZGF0ZT10eXBlb2Ygci52YWxpZGF0ZT09InN0cmluZyI/RyRhKGUsdCxyLnZhbGlkYXRlKTpyLnZhbGlkYXRlfWdldCBpc1JlcXVpcmVkKCl7cmV0dXJuIXRoaXMuaGFzRGVmYXVsdH19LG1tPWNsYXNzIGF7c3RhdGlje3ModGhpcywiTWFya1R5cGUiKX1jb25zdHJ1Y3RvcihlLHQscixpKXt0aGlzLm5hbWU9ZSx0aGlzLnJhbms9dCx0aGlzLnNjaGVtYT1yLHRoaXMuc3BlYz1pLHRoaXMuYXR0cnM9SWlhKGUsaS5hdHRycyksdGhpcy5leGNsdWRlZD1udWxsO2xldCBvPUFpYSh0aGlzLmF0dHJzKTt0aGlzLmluc3RhbmNlPW8/bmV3ICRhKHRoaXMsbyk6bnVsbH1jcmVhdGUoZT1udWxsKXtyZXR1cm4hZSYmdGhpcy5pbnN0YW5jZT90aGlzLmluc3RhbmNlOm5ldyAkYSh0aGlzLEVpYSh0aGlzLmF0dHJzLGUpKX1zdGF0aWMgY29tcGlsZShlLHQpe2xldCByPU9iamVjdC5jcmVhdGUobnVsbCksaT0wO3JldHVybiBlLmZvckVhY2goKG8sbik9PnJbb109bmV3IGEobyxpKyssdCxuKSkscn1yZW1vdmVGcm9tU2V0KGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKWVbdF0udHlwZT09dGhpcyYmKGU9ZS5zbGljZSgwLHQpLmNvbmNhdChlLnNsaWNlKHQrMSkpLHQtLSk7cmV0dXJuIGV9aXNJblNldChlKXtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKylpZihlW3RdLnR5cGU9PXRoaXMpcmV0dXJuIGVbdF19Y2hlY2tBdHRycyhlKXtQaWEodGhpcy5hdHRycyxlLCJtYXJrIix0aGlzLm5hbWUpfWV4Y2x1ZGVzKGUpe3JldHVybiB0aGlzLmV4Y2x1ZGVkLmluZGV4T2YoZSk+LTF9fSxnbT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTY2hlbWEiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmxpbmVicmVha1JlcGxhY2VtZW50PW51bGwsdGhpcy5jYWNoZWQ9T2JqZWN0LmNyZWF0ZShudWxsKTtsZXQgdD10aGlzLnNwZWM9e307Zm9yKGxldCBpIGluIGUpdFtpXT1lW2ldO3Qubm9kZXM9bktlLmZyb20oZS5ub2RlcyksdC5tYXJrcz1uS2UuZnJvbShlLm1hcmtzfHx7fSksdGhpcy5ub2Rlcz1xVS5jb21waWxlKHRoaXMuc3BlYy5ub2Rlcyx0aGlzKSx0aGlzLm1hcmtzPW1tLmNvbXBpbGUodGhpcy5zcGVjLm1hcmtzLHRoaXMpO2xldCByPU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGxldCBpIGluIHRoaXMubm9kZXMpe2lmKGkgaW4gdGhpcy5tYXJrcyl0aHJvdyBuZXcgUmFuZ2VFcnJvcihpKyIgY2FuIG5vdCBiZSBib3RoIGEgbm9kZSBhbmQgYSBtYXJrIik7bGV0IG89dGhpcy5ub2Rlc1tpXSxuPW8uc3BlYy5jb250ZW50fHwiIixsPW8uc3BlYy5tYXJrcztpZihvLmNvbnRlbnRNYXRjaD1yW25dfHwocltuXT1wNC5wYXJzZShuLHRoaXMubm9kZXMpKSxvLmlubGluZUNvbnRlbnQ9by5jb250ZW50TWF0Y2guaW5saW5lQ29udGVudCxvLnNwZWMubGluZWJyZWFrUmVwbGFjZW1lbnQpe2lmKHRoaXMubGluZWJyZWFrUmVwbGFjZW1lbnQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk11bHRpcGxlIGxpbmVicmVhayBub2RlcyBkZWZpbmVkIik7aWYoIW8uaXNJbmxpbmV8fCFvLmlzTGVhZil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiTGluZWJyZWFrIHJlcGxhY2VtZW50IG5vZGVzIG11c3QgYmUgaW5saW5lIGxlYWYgbm9kZXMiKTt0aGlzLmxpbmVicmVha1JlcGxhY2VtZW50PW99by5tYXJrU2V0PWw9PSJfIj9udWxsOmw/TmlhKHRoaXMsbC5zcGxpdCgiICIpKTpsPT0iInx8IW8uaW5saW5lQ29udGVudD9bXTpudWxsfWZvcihsZXQgaSBpbiB0aGlzLm1hcmtzKXtsZXQgbz10aGlzLm1hcmtzW2ldLG49by5zcGVjLmV4Y2x1ZGVzO28uZXhjbHVkZWQ9bj09bnVsbD9bb106bj09IiI/W106TmlhKHRoaXMsbi5zcGxpdCgiICIpKX10aGlzLm5vZGVGcm9tSlNPTj1pPT5XaS5mcm9tSlNPTih0aGlzLGkpLHRoaXMubWFya0Zyb21KU09OPWk9PiRhLmZyb21KU09OKHRoaXMsaSksdGhpcy50b3BOb2RlVHlwZT10aGlzLm5vZGVzW3RoaXMuc3BlYy50b3BOb2RlfHwiZG9jIl0sdGhpcy5jYWNoZWQud3JhcHBpbmdzPU9iamVjdC5jcmVhdGUobnVsbCl9bm9kZShlLHQ9bnVsbCxyLGkpe2lmKHR5cGVvZiBlPT0ic3RyaW5nIillPXRoaXMubm9kZVR5cGUoZSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgcVUpe2lmKGUuc2NoZW1hIT10aGlzKXRocm93IG5ldyBSYW5nZUVycm9yKCJOb2RlIHR5cGUgZnJvbSBkaWZmZXJlbnQgc2NoZW1hIHVzZWQgKCIrZS5uYW1lKyIpIil9ZWxzZSB0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBub2RlIHR5cGU6ICIrZSk7cmV0dXJuIGUuY3JlYXRlQ2hlY2tlZCh0LHIsaSl9dGV4dChlLHQpe2xldCByPXRoaXMubm9kZXMudGV4dDtyZXR1cm4gbmV3IHVLZShyLHIuZGVmYXVsdEF0dHJzLGUsJGEuc2V0RnJvbSh0KSl9bWFyayhlLHQpe3JldHVybiB0eXBlb2YgZT09InN0cmluZyImJihlPXRoaXMubWFya3NbZV0pLGUuY3JlYXRlKHQpfW5vZGVUeXBlKGUpe2xldCB0PXRoaXMubm9kZXNbZV07aWYoIXQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlVua25vd24gbm9kZSB0eXBlOiAiK2UpO3JldHVybiB0fX07cyhOaWEsImdhdGhlck1hcmtzIik7cyhZJGEsImlzVGFnUnVsZSIpO3MoSyRhLCJpc1N0eWxlUnVsZSIpO0kxPWNsYXNzIGF7c3RhdGlje3ModGhpcywiRE9NUGFyc2VyIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnNjaGVtYT1lLHRoaXMucnVsZXM9dCx0aGlzLnRhZ3M9W10sdGhpcy5zdHlsZXM9W107bGV0IHI9dGhpcy5tYXRjaGVkU3R5bGVzPVtdO3QuZm9yRWFjaChpPT57aWYoWSRhKGkpKXRoaXMudGFncy5wdXNoKGkpO2Vsc2UgaWYoSyRhKGkpKXtsZXQgbz0vW149XSovLmV4ZWMoaS5zdHlsZSlbMF07ci5pbmRleE9mKG8pPDAmJnIucHVzaChvKSx0aGlzLnN0eWxlcy5wdXNoKGkpfX0pLHRoaXMubm9ybWFsaXplTGlzdHM9IXRoaXMudGFncy5zb21lKGk9PntpZighL14odWx8b2wpXGIvLnRlc3QoaS50YWcpfHwhaS5ub2RlKXJldHVybiExO2xldCBvPWUubm9kZXNbaS5ub2RlXTtyZXR1cm4gby5jb250ZW50TWF0Y2gubWF0Y2hUeXBlKG8pfSl9cGFyc2UoZSx0PXt9KXtsZXQgcj1uZXcgRGFlKHRoaXMsdCwhMSk7cmV0dXJuIHIuYWRkQWxsKGUsJGEubm9uZSx0LmZyb20sdC50byksci5maW5pc2goKX1wYXJzZVNsaWNlKGUsdD17fSl7bGV0IHI9bmV3IERhZSh0aGlzLHQsITApO3JldHVybiByLmFkZEFsbChlLCRhLm5vbmUsdC5mcm9tLHQudG8pLHN0Lm1heE9wZW4oci5maW5pc2goKSl9bWF0Y2hUYWcoZSx0LHIpe2ZvcihsZXQgaT1yP3RoaXMudGFncy5pbmRleE9mKHIpKzE6MDtpPHRoaXMudGFncy5sZW5ndGg7aSsrKXtsZXQgbz10aGlzLnRhZ3NbaV07aWYoUSRhKGUsby50YWcpJiYoby5uYW1lc3BhY2U9PT12b2lkIDB8fGUubmFtZXNwYWNlVVJJPT1vLm5hbWVzcGFjZSkmJighby5jb250ZXh0fHx0Lm1hdGNoZXNDb250ZXh0KG8uY29udGV4dCkpKXtpZihvLmdldEF0dHJzKXtsZXQgbj1vLmdldEF0dHJzKGUpO2lmKG49PT0hMSljb250aW51ZTtvLmF0dHJzPW58fHZvaWQgMH1yZXR1cm4gb319fW1hdGNoU3R5bGUoZSx0LHIsaSl7Zm9yKGxldCBvPWk/dGhpcy5zdHlsZXMuaW5kZXhPZihpKSsxOjA7bzx0aGlzLnN0eWxlcy5sZW5ndGg7bysrKXtsZXQgbj10aGlzLnN0eWxlc1tvXSxsPW4uc3R5bGU7aWYoIShsLmluZGV4T2YoZSkhPTB8fG4uY29udGV4dCYmIXIubWF0Y2hlc0NvbnRleHQobi5jb250ZXh0KXx8bC5sZW5ndGg+ZS5sZW5ndGgmJihsLmNoYXJDb2RlQXQoZS5sZW5ndGgpIT02MXx8bC5zbGljZShlLmxlbmd0aCsxKSE9dCkpKXtpZihuLmdldEF0dHJzKXtsZXQgZD1uLmdldEF0dHJzKHQpO2lmKGQ9PT0hMSljb250aW51ZTtuLmF0dHJzPWR8fHZvaWQgMH1yZXR1cm4gbn19fXN0YXRpYyBzY2hlbWFSdWxlcyhlKXtsZXQgdD1bXTtmdW5jdGlvbiByKGkpe2xldCBvPWkucHJpb3JpdHk9PW51bGw/NTA6aS5wcmlvcml0eSxuPTA7Zm9yKDtuPHQubGVuZ3RoO24rKyl7bGV0IGw9dFtuXTtpZigobC5wcmlvcml0eT09bnVsbD81MDpsLnByaW9yaXR5KTxvKWJyZWFrfXQuc3BsaWNlKG4sMCxpKX1zKHIsImluc2VydCIpO2ZvcihsZXQgaSBpbiBlLm1hcmtzKXtsZXQgbz1lLm1hcmtzW2ldLnNwZWMucGFyc2VET007byYmby5mb3JFYWNoKG49PntyKG49QmlhKG4pKSxuLm1hcmt8fG4uaWdub3JlfHxuLmNsZWFyTWFya3x8KG4ubWFyaz1pKX0pfWZvcihsZXQgaSBpbiBlLm5vZGVzKXtsZXQgbz1lLm5vZGVzW2ldLnNwZWMucGFyc2VET007byYmby5mb3JFYWNoKG49PntyKG49QmlhKG4pKSxuLm5vZGV8fG4uaWdub3JlfHxuLm1hcmt8fChuLm5vZGU9aSl9KX1yZXR1cm4gdH1zdGF0aWMgZnJvbVNjaGVtYShlKXtyZXR1cm4gZS5jYWNoZWQuZG9tUGFyc2VyfHwoZS5jYWNoZWQuZG9tUGFyc2VyPW5ldyBhKGUsYS5zY2hlbWFSdWxlcyhlKSkpfX0sUmlhPXthZGRyZXNzOiEwLGFydGljbGU6ITAsYXNpZGU6ITAsYmxvY2txdW90ZTohMCxjYW52YXM6ITAsZGQ6ITAsZGl2OiEwLGRsOiEwLGZpZWxkc2V0OiEwLGZpZ2NhcHRpb246ITAsZmlndXJlOiEwLGZvb3RlcjohMCxmb3JtOiEwLGgxOiEwLGgyOiEwLGgzOiEwLGg0OiEwLGg1OiEwLGg2OiEwLGhlYWRlcjohMCxoZ3JvdXA6ITAsaHI6ITAsbGk6ITAsbm9zY3JpcHQ6ITAsb2w6ITAsb3V0cHV0OiEwLHA6ITAscHJlOiEwLHNlY3Rpb246ITAsdGFibGU6ITAsdGZvb3Q6ITAsdWw6ITB9LFokYT17aGVhZDohMCxub3NjcmlwdDohMCxvYmplY3Q6ITAsc2NyaXB0OiEwLHN0eWxlOiEwLHRpdGxlOiEwfSxPaWE9e29sOiEwLHVsOiEwfSxWVT0xLGhLZT0yLGpVPTQ7cyhGaWEsIndzT3B0aW9uc0ZvciIpO2htPWNsYXNze3N0YXRpY3tzKHRoaXMsIk5vZGVDb250ZXh0Iil9Y29uc3RydWN0b3IoZSx0LHIsaSxvLG4pe3RoaXMudHlwZT1lLHRoaXMuYXR0cnM9dCx0aGlzLm1hcmtzPXIsdGhpcy5zb2xpZD1pLHRoaXMub3B0aW9ucz1uLHRoaXMuY29udGVudD1bXSx0aGlzLmFjdGl2ZU1hcmtzPSRhLm5vbmUsdGhpcy5tYXRjaD1vfHwobiZqVT9udWxsOmUuY29udGVudE1hdGNoKX1maW5kV3JhcHBpbmcoZSl7aWYoIXRoaXMubWF0Y2gpe2lmKCF0aGlzLnR5cGUpcmV0dXJuW107bGV0IHQ9dGhpcy50eXBlLmNvbnRlbnRNYXRjaC5maWxsQmVmb3JlKFZlLmZyb20oZSkpO2lmKHQpdGhpcy5tYXRjaD10aGlzLnR5cGUuY29udGVudE1hdGNoLm1hdGNoRnJhZ21lbnQodCk7ZWxzZXtsZXQgcj10aGlzLnR5cGUuY29udGVudE1hdGNoLGk7cmV0dXJuKGk9ci5maW5kV3JhcHBpbmcoZS50eXBlKSk/KHRoaXMubWF0Y2g9cixpKTpudWxsfX1yZXR1cm4gdGhpcy5tYXRjaC5maW5kV3JhcHBpbmcoZS50eXBlKX1maW5pc2goZSl7aWYoISh0aGlzLm9wdGlvbnMmVlUpKXtsZXQgcj10aGlzLmNvbnRlbnRbdGhpcy5jb250ZW50Lmxlbmd0aC0xXSxpO2lmKHImJnIuaXNUZXh0JiYoaT0vWyBcdFxyXG5cdTAwMGNdKyQvLmV4ZWMoci50ZXh0KSkpe2xldCBvPXI7ci50ZXh0Lmxlbmd0aD09aVswXS5sZW5ndGg/dGhpcy5jb250ZW50LnBvcCgpOnRoaXMuY29udGVudFt0aGlzLmNvbnRlbnQubGVuZ3RoLTFdPW8ud2l0aFRleHQoby50ZXh0LnNsaWNlKDAsby50ZXh0Lmxlbmd0aC1pWzBdLmxlbmd0aCkpfX1sZXQgdD1WZS5mcm9tKHRoaXMuY29udGVudCk7cmV0dXJuIWUmJnRoaXMubWF0Y2gmJih0PXQuYXBwZW5kKHRoaXMubWF0Y2guZmlsbEJlZm9yZShWZS5lbXB0eSwhMCkpKSx0aGlzLnR5cGU/dGhpcy50eXBlLmNyZWF0ZSh0aGlzLmF0dHJzLHQsdGhpcy5tYXJrcyk6dH1pbmxpbmVDb250ZXh0KGUpe3JldHVybiB0aGlzLnR5cGU/dGhpcy50eXBlLmlubGluZUNvbnRlbnQ6dGhpcy5jb250ZW50Lmxlbmd0aD90aGlzLmNvbnRlbnRbMF0uaXNJbmxpbmU6ZS5wYXJlbnROb2RlJiYhUmlhLmhhc093blByb3BlcnR5KGUucGFyZW50Tm9kZS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpKX19LERhZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJQYXJzZUNvbnRleHQiKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy5wYXJzZXI9ZSx0aGlzLm9wdGlvbnM9dCx0aGlzLmlzT3Blbj1yLHRoaXMub3Blbj0wLHRoaXMubG9jYWxQcmVzZXJ2ZVdTPSExO2xldCBpPXQudG9wTm9kZSxvLG49RmlhKG51bGwsdC5wcmVzZXJ2ZVdoaXRlc3BhY2UsMCl8KHI/alU6MCk7aT9vPW5ldyBobShpLnR5cGUsaS5hdHRycywkYS5ub25lLCEwLHQudG9wTWF0Y2h8fGkudHlwZS5jb250ZW50TWF0Y2gsbik6cj9vPW5ldyBobShudWxsLG51bGwsJGEubm9uZSwhMCxudWxsLG4pOm89bmV3IGhtKGUuc2NoZW1hLnRvcE5vZGVUeXBlLG51bGwsJGEubm9uZSwhMCxudWxsLG4pLHRoaXMubm9kZXM9W29dLHRoaXMuZmluZD10LmZpbmRQb3NpdGlvbnMsdGhpcy5uZWVkc0Jsb2NrPSExfWdldCB0b3AoKXtyZXR1cm4gdGhpcy5ub2Rlc1t0aGlzLm9wZW5dfWFkZERPTShlLHQpe2Uubm9kZVR5cGU9PTM/dGhpcy5hZGRUZXh0Tm9kZShlLHQpOmUubm9kZVR5cGU9PTEmJnRoaXMuYWRkRWxlbWVudChlLHQpfWFkZFRleHROb2RlKGUsdCl7bGV0IHI9ZS5ub2RlVmFsdWUsaT10aGlzLnRvcCxvPWkub3B0aW9ucyZoS2U/ImZ1bGwiOnRoaXMubG9jYWxQcmVzZXJ2ZVdTfHwoaS5vcHRpb25zJlZVKT4wLHtzY2hlbWE6bn09dGhpcy5wYXJzZXI7aWYobz09PSJmdWxsInx8aS5pbmxpbmVDb250ZXh0KGUpfHwvW14gXHRcclxuXHUwMDBjXS8udGVzdChyKSl7aWYobylpZihvPT09ImZ1bGwiKXI9ci5yZXBsYWNlKC9cclxuPy9nLGAKYCk7ZWxzZSBpZihuLmxpbmVicmVha1JlcGxhY2VtZW50JiYvW1xyXG5dLy50ZXN0KHIpJiZ0aGlzLnRvcC5maW5kV3JhcHBpbmcobi5saW5lYnJlYWtSZXBsYWNlbWVudC5jcmVhdGUoKSkpe2xldCBsPXIuc3BsaXQoL1xyP1xufFxyLyk7Zm9yKGxldCBkPTA7ZDxsLmxlbmd0aDtkKyspZCYmdGhpcy5pbnNlcnROb2RlKG4ubGluZWJyZWFrUmVwbGFjZW1lbnQuY3JlYXRlKCksdCwhMCksbFtkXSYmdGhpcy5pbnNlcnROb2RlKG4udGV4dChsW2RdKSx0LCEvXFMvLnRlc3QobFtkXSkpO3I9IiJ9ZWxzZSByPXIucmVwbGFjZSgvXHI/XG58XHIvZywiICIpO2Vsc2UgaWYocj1yLnJlcGxhY2UoL1sgXHRcclxuXHUwMDBjXSsvZywiICIpLC9eWyBcdFxyXG5cdTAwMGNdLy50ZXN0KHIpJiZ0aGlzLm9wZW49PXRoaXMubm9kZXMubGVuZ3RoLTEpe2xldCBsPWkuY29udGVudFtpLmNvbnRlbnQubGVuZ3RoLTFdLGQ9ZS5wcmV2aW91c1NpYmxpbmc7KCFsfHxkJiZkLm5vZGVOYW1lPT0iQlIifHxsLmlzVGV4dCYmL1sgXHRcclxuXHUwMDBjXSQvLnRlc3QobC50ZXh0KSkmJihyPXIuc2xpY2UoMSkpfXImJnRoaXMuaW5zZXJ0Tm9kZShuLnRleHQociksdCwhL1xTLy50ZXN0KHIpKSx0aGlzLmZpbmRJblRleHQoZSl9ZWxzZSB0aGlzLmZpbmRJbnNpZGUoZSl9YWRkRWxlbWVudChlLHQscil7bGV0IGk9dGhpcy5sb2NhbFByZXNlcnZlV1Msbz10aGlzLnRvcDsoZS50YWdOYW1lPT0iUFJFInx8L3ByZS8udGVzdChlLnN0eWxlJiZlLnN0eWxlLndoaXRlU3BhY2UpKSYmKHRoaXMubG9jYWxQcmVzZXJ2ZVdTPSEwKTtsZXQgbj1lLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksbDtPaWEuaGFzT3duUHJvcGVydHkobikmJnRoaXMucGFyc2VyLm5vcm1hbGl6ZUxpc3RzJiZYJGEoZSk7bGV0IGQ9dGhpcy5vcHRpb25zLnJ1bGVGcm9tTm9kZSYmdGhpcy5vcHRpb25zLnJ1bGVGcm9tTm9kZShlKXx8KGw9dGhpcy5wYXJzZXIubWF0Y2hUYWcoZSx0aGlzLHIpKTtlOmlmKGQ/ZC5pZ25vcmU6WiRhLmhhc093blByb3BlcnR5KG4pKXRoaXMuZmluZEluc2lkZShlKSx0aGlzLmlnbm9yZUZhbGxiYWNrKGUsdCk7ZWxzZSBpZighZHx8ZC5za2lwfHxkLmNsb3NlUGFyZW50KXtkJiZkLmNsb3NlUGFyZW50P3RoaXMub3Blbj1NYXRoLm1heCgwLHRoaXMub3Blbi0xKTpkJiZkLnNraXAubm9kZVR5cGUmJihlPWQuc2tpcCk7bGV0IGMscD10aGlzLm5lZWRzQmxvY2s7aWYoUmlhLmhhc093blByb3BlcnR5KG4pKW8uY29udGVudC5sZW5ndGgmJm8uY29udGVudFswXS5pc0lubGluZSYmdGhpcy5vcGVuJiYodGhpcy5vcGVuLS0sbz10aGlzLnRvcCksYz0hMCxvLnR5cGV8fCh0aGlzLm5lZWRzQmxvY2s9ITApO2Vsc2UgaWYoIWUuZmlyc3RDaGlsZCl7dGhpcy5sZWFmRmFsbGJhY2soZSx0KTticmVhayBlfWxldCB1PWQmJmQuc2tpcD90OnRoaXMucmVhZFN0eWxlcyhlLHQpO3UmJnRoaXMuYWRkQWxsKGUsdSksYyYmdGhpcy5zeW5jKG8pLHRoaXMubmVlZHNCbG9jaz1wfWVsc2V7bGV0IGM9dGhpcy5yZWFkU3R5bGVzKGUsdCk7YyYmdGhpcy5hZGRFbGVtZW50QnlSdWxlKGUsZCxjLGQuY29uc3VtaW5nPT09ITE/bDp2b2lkIDApfXRoaXMubG9jYWxQcmVzZXJ2ZVdTPWl9bGVhZkZhbGxiYWNrKGUsdCl7ZS5ub2RlTmFtZT09IkJSIiYmdGhpcy50b3AudHlwZSYmdGhpcy50b3AudHlwZS5pbmxpbmVDb250ZW50JiZ0aGlzLmFkZFRleHROb2RlKGUub3duZXJEb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShgCmApLHQpfWlnbm9yZUZhbGxiYWNrKGUsdCl7ZS5ub2RlTmFtZT09IkJSIiYmKCF0aGlzLnRvcC50eXBlfHwhdGhpcy50b3AudHlwZS5pbmxpbmVDb250ZW50KSYmdGhpcy5maW5kUGxhY2UodGhpcy5wYXJzZXIuc2NoZW1hLnRleHQoIi0iKSx0LCEwKX1yZWFkU3R5bGVzKGUsdCl7bGV0IHI9ZS5zdHlsZTtpZihyJiZyLmxlbmd0aClmb3IobGV0IGk9MDtpPHRoaXMucGFyc2VyLm1hdGNoZWRTdHlsZXMubGVuZ3RoO2krKyl7bGV0IG89dGhpcy5wYXJzZXIubWF0Y2hlZFN0eWxlc1tpXSxuPXIuZ2V0UHJvcGVydHlWYWx1ZShvKTtpZihuKWZvcihsZXQgbD12b2lkIDA7Oyl7bGV0IGQ9dGhpcy5wYXJzZXIubWF0Y2hTdHlsZShvLG4sdGhpcyxsKTtpZighZClicmVhaztpZihkLmlnbm9yZSlyZXR1cm4gbnVsbDtpZihkLmNsZWFyTWFyaz90PXQuZmlsdGVyKGM9PiFkLmNsZWFyTWFyayhjKSk6dD10LmNvbmNhdCh0aGlzLnBhcnNlci5zY2hlbWEubWFya3NbZC5tYXJrXS5jcmVhdGUoZC5hdHRycykpLGQuY29uc3VtaW5nPT09ITEpbD1kO2Vsc2UgYnJlYWt9fXJldHVybiB0fWFkZEVsZW1lbnRCeVJ1bGUoZSx0LHIsaSl7bGV0IG8sbjtpZih0Lm5vZGUpaWYobj10aGlzLnBhcnNlci5zY2hlbWEubm9kZXNbdC5ub2RlXSxuLmlzTGVhZil0aGlzLmluc2VydE5vZGUobi5jcmVhdGUodC5hdHRycykscixlLm5vZGVOYW1lPT0iQlIiKXx8dGhpcy5sZWFmRmFsbGJhY2soZSxyKTtlbHNle2xldCBkPXRoaXMuZW50ZXIobix0LmF0dHJzfHxudWxsLHIsdC5wcmVzZXJ2ZVdoaXRlc3BhY2UpO2QmJihvPSEwLHI9ZCl9ZWxzZXtsZXQgZD10aGlzLnBhcnNlci5zY2hlbWEubWFya3NbdC5tYXJrXTtyPXIuY29uY2F0KGQuY3JlYXRlKHQuYXR0cnMpKX1sZXQgbD10aGlzLnRvcDtpZihuJiZuLmlzTGVhZil0aGlzLmZpbmRJbnNpZGUoZSk7ZWxzZSBpZihpKXRoaXMuYWRkRWxlbWVudChlLHIsaSk7ZWxzZSBpZih0LmdldENvbnRlbnQpdGhpcy5maW5kSW5zaWRlKGUpLHQuZ2V0Q29udGVudChlLHRoaXMucGFyc2VyLnNjaGVtYSkuZm9yRWFjaChkPT50aGlzLmluc2VydE5vZGUoZCxyLCExKSk7ZWxzZXtsZXQgZD1lO3R5cGVvZiB0LmNvbnRlbnRFbGVtZW50PT0ic3RyaW5nIj9kPWUucXVlcnlTZWxlY3Rvcih0LmNvbnRlbnRFbGVtZW50KTp0eXBlb2YgdC5jb250ZW50RWxlbWVudD09ImZ1bmN0aW9uIj9kPXQuY29udGVudEVsZW1lbnQoZSk6dC5jb250ZW50RWxlbWVudCYmKGQ9dC5jb250ZW50RWxlbWVudCksdGhpcy5maW5kQXJvdW5kKGUsZCwhMCksdGhpcy5hZGRBbGwoZCxyKSx0aGlzLmZpbmRBcm91bmQoZSxkLCExKX1vJiZ0aGlzLnN5bmMobCkmJnRoaXMub3Blbi0tfWFkZEFsbChlLHQscixpKXtsZXQgbz1yfHwwO2ZvcihsZXQgbj1yP2UuY2hpbGROb2Rlc1tyXTplLmZpcnN0Q2hpbGQsbD1pPT1udWxsP251bGw6ZS5jaGlsZE5vZGVzW2ldO24hPWw7bj1uLm5leHRTaWJsaW5nLCsrbyl0aGlzLmZpbmRBdFBvaW50KGUsbyksdGhpcy5hZGRET00obix0KTt0aGlzLmZpbmRBdFBvaW50KGUsbyl9ZmluZFBsYWNlKGUsdCxyKXtsZXQgaSxvO2ZvcihsZXQgbj10aGlzLm9wZW4sbD0wO24+PTA7bi0tKXtsZXQgZD10aGlzLm5vZGVzW25dLGM9ZC5maW5kV3JhcHBpbmcoZSk7aWYoYyYmKCFpfHxpLmxlbmd0aD5jLmxlbmd0aCtsKSYmKGk9YyxvPWQsIWMubGVuZ3RoKSlicmVhaztpZihkLnNvbGlkKXtpZihyKWJyZWFrO2wrPTJ9fWlmKCFpKXJldHVybiBudWxsO3RoaXMuc3luYyhvKTtmb3IobGV0IG49MDtuPGkubGVuZ3RoO24rKyl0PXRoaXMuZW50ZXJJbm5lcihpW25dLG51bGwsdCwhMSk7cmV0dXJuIHR9aW5zZXJ0Tm9kZShlLHQscil7aWYoZS5pc0lubGluZSYmdGhpcy5uZWVkc0Jsb2NrJiYhdGhpcy50b3AudHlwZSl7bGV0IG89dGhpcy50ZXh0YmxvY2tGcm9tQ29udGV4dCgpO28mJih0PXRoaXMuZW50ZXJJbm5lcihvLG51bGwsdCkpfWxldCBpPXRoaXMuZmluZFBsYWNlKGUsdCxyKTtpZihpKXt0aGlzLmNsb3NlRXh0cmEoKTtsZXQgbz10aGlzLnRvcDtvLm1hdGNoJiYoby5tYXRjaD1vLm1hdGNoLm1hdGNoVHlwZShlLnR5cGUpKTtsZXQgbj0kYS5ub25lO2ZvcihsZXQgbCBvZiBpLmNvbmNhdChlLm1hcmtzKSkoby50eXBlP28udHlwZS5hbGxvd3NNYXJrVHlwZShsLnR5cGUpOkhpYShsLnR5cGUsZS50eXBlKSkmJihuPWwuYWRkVG9TZXQobikpO3JldHVybiBvLmNvbnRlbnQucHVzaChlLm1hcmsobikpLCEwfXJldHVybiExfWVudGVyKGUsdCxyLGkpe2xldCBvPXRoaXMuZmluZFBsYWNlKGUuY3JlYXRlKHQpLHIsITEpO3JldHVybiBvJiYobz10aGlzLmVudGVySW5uZXIoZSx0LHIsITAsaSkpLG99ZW50ZXJJbm5lcihlLHQscixpPSExLG8pe3RoaXMuY2xvc2VFeHRyYSgpO2xldCBuPXRoaXMudG9wO24ubWF0Y2g9bi5tYXRjaCYmbi5tYXRjaC5tYXRjaFR5cGUoZSk7bGV0IGw9RmlhKGUsbyxuLm9wdGlvbnMpO24ub3B0aW9ucyZqVSYmbi5jb250ZW50Lmxlbmd0aD09MCYmKGx8PWpVKTtsZXQgZD0kYS5ub25lO3JldHVybiByPXIuZmlsdGVyKGM9PihuLnR5cGU/bi50eXBlLmFsbG93c01hcmtUeXBlKGMudHlwZSk6SGlhKGMudHlwZSxlKSk/KGQ9Yy5hZGRUb1NldChkKSwhMSk6ITApLHRoaXMubm9kZXMucHVzaChuZXcgaG0oZSx0LGQsaSxudWxsLGwpKSx0aGlzLm9wZW4rKyxyfWNsb3NlRXh0cmEoZT0hMSl7bGV0IHQ9dGhpcy5ub2Rlcy5sZW5ndGgtMTtpZih0PnRoaXMub3Blbil7Zm9yKDt0PnRoaXMub3Blbjt0LS0pdGhpcy5ub2Rlc1t0LTFdLmNvbnRlbnQucHVzaCh0aGlzLm5vZGVzW3RdLmZpbmlzaChlKSk7dGhpcy5ub2Rlcy5sZW5ndGg9dGhpcy5vcGVuKzF9fWZpbmlzaCgpe3JldHVybiB0aGlzLm9wZW49MCx0aGlzLmNsb3NlRXh0cmEodGhpcy5pc09wZW4pLHRoaXMubm9kZXNbMF0uZmluaXNoKCEhKHRoaXMuaXNPcGVufHx0aGlzLm9wdGlvbnMudG9wT3BlbikpfXN5bmMoZSl7Zm9yKGxldCB0PXRoaXMub3Blbjt0Pj0wO3QtLSl7aWYodGhpcy5ub2Rlc1t0XT09ZSlyZXR1cm4gdGhpcy5vcGVuPXQsITA7dGhpcy5sb2NhbFByZXNlcnZlV1MmJih0aGlzLm5vZGVzW3RdLm9wdGlvbnN8PVZVKX1yZXR1cm4hMX1nZXQgY3VycmVudFBvcygpe3RoaXMuY2xvc2VFeHRyYSgpO2xldCBlPTA7Zm9yKGxldCB0PXRoaXMub3Blbjt0Pj0wO3QtLSl7bGV0IHI9dGhpcy5ub2Rlc1t0XS5jb250ZW50O2ZvcihsZXQgaT1yLmxlbmd0aC0xO2k+PTA7aS0tKWUrPXJbaV0ubm9kZVNpemU7dCYmZSsrfXJldHVybiBlfWZpbmRBdFBvaW50KGUsdCl7aWYodGhpcy5maW5kKWZvcihsZXQgcj0wO3I8dGhpcy5maW5kLmxlbmd0aDtyKyspdGhpcy5maW5kW3JdLm5vZGU9PWUmJnRoaXMuZmluZFtyXS5vZmZzZXQ9PXQmJih0aGlzLmZpbmRbcl0ucG9zPXRoaXMuY3VycmVudFBvcyl9ZmluZEluc2lkZShlKXtpZih0aGlzLmZpbmQpZm9yKGxldCB0PTA7dDx0aGlzLmZpbmQubGVuZ3RoO3QrKyl0aGlzLmZpbmRbdF0ucG9zPT1udWxsJiZlLm5vZGVUeXBlPT0xJiZlLmNvbnRhaW5zKHRoaXMuZmluZFt0XS5ub2RlKSYmKHRoaXMuZmluZFt0XS5wb3M9dGhpcy5jdXJyZW50UG9zKX1maW5kQXJvdW5kKGUsdCxyKXtpZihlIT10JiZ0aGlzLmZpbmQpZm9yKGxldCBpPTA7aTx0aGlzLmZpbmQubGVuZ3RoO2krKyl0aGlzLmZpbmRbaV0ucG9zPT1udWxsJiZlLm5vZGVUeXBlPT0xJiZlLmNvbnRhaW5zKHRoaXMuZmluZFtpXS5ub2RlKSYmdC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzLmZpbmRbaV0ubm9kZSkmKHI/Mjo0KSYmKHRoaXMuZmluZFtpXS5wb3M9dGhpcy5jdXJyZW50UG9zKX1maW5kSW5UZXh0KGUpe2lmKHRoaXMuZmluZClmb3IobGV0IHQ9MDt0PHRoaXMuZmluZC5sZW5ndGg7dCsrKXRoaXMuZmluZFt0XS5ub2RlPT1lJiYodGhpcy5maW5kW3RdLnBvcz10aGlzLmN1cnJlbnRQb3MtKGUubm9kZVZhbHVlLmxlbmd0aC10aGlzLmZpbmRbdF0ub2Zmc2V0KSl9bWF0Y2hlc0NvbnRleHQoZSl7aWYoZS5pbmRleE9mKCJ8Iik+LTEpcmV0dXJuIGUuc3BsaXQoL1xzKlx8XHMqLykuc29tZSh0aGlzLm1hdGNoZXNDb250ZXh0LHRoaXMpO2xldCB0PWUuc3BsaXQoIi8iKSxyPXRoaXMub3B0aW9ucy5jb250ZXh0LGk9IXRoaXMuaXNPcGVuJiYoIXJ8fHIucGFyZW50LnR5cGU9PXRoaXMubm9kZXNbMF0udHlwZSksbz0tKHI/ci5kZXB0aCsxOjApKyhpPzA6MSksbj1zKChsLGQpPT57Zm9yKDtsPj0wO2wtLSl7bGV0IGM9dFtsXTtpZihjPT0iIil7aWYobD09dC5sZW5ndGgtMXx8bD09MCljb250aW51ZTtmb3IoO2Q+PW87ZC0tKWlmKG4obC0xLGQpKXJldHVybiEwO3JldHVybiExfWVsc2V7bGV0IHA9ZD4wfHxkPT0wJiZpP3RoaXMubm9kZXNbZF0udHlwZTpyJiZkPj1vP3Iubm9kZShkLW8pLnR5cGU6bnVsbDtpZighcHx8cC5uYW1lIT1jJiYhcC5pc0luR3JvdXAoYykpcmV0dXJuITE7ZC0tfX1yZXR1cm4hMH0sIm1hdGNoIik7cmV0dXJuIG4odC5sZW5ndGgtMSx0aGlzLm9wZW4pfXRleHRibG9ja0Zyb21Db250ZXh0KCl7bGV0IGU9dGhpcy5vcHRpb25zLmNvbnRleHQ7aWYoZSlmb3IobGV0IHQ9ZS5kZXB0aDt0Pj0wO3QtLSl7bGV0IHI9ZS5ub2RlKHQpLmNvbnRlbnRNYXRjaEF0KGUuaW5kZXhBZnRlcih0KSkuZGVmYXVsdFR5cGU7aWYociYmci5pc1RleHRibG9jayYmci5kZWZhdWx0QXR0cnMpcmV0dXJuIHJ9Zm9yKGxldCB0IGluIHRoaXMucGFyc2VyLnNjaGVtYS5ub2Rlcyl7bGV0IHI9dGhpcy5wYXJzZXIuc2NoZW1hLm5vZGVzW3RdO2lmKHIuaXNUZXh0YmxvY2smJnIuZGVmYXVsdEF0dHJzKXJldHVybiByfX19O3MoWCRhLCJub3JtYWxpemVMaXN0Iik7cyhRJGEsIm1hdGNoZXMiKTtzKEJpYSwiY29weSIpO3MoSGlhLCJtYXJrTWF5QXBwbHkiKTtVMj1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkRPTVNlcmlhbGl6ZXIiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMubm9kZXM9ZSx0aGlzLm1hcmtzPXR9c2VyaWFsaXplRnJhZ21lbnQoZSx0PXt9LHIpe3J8fChyPW1LZSh0KS5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCkpO2xldCBpPXIsbz1bXTtyZXR1cm4gZS5mb3JFYWNoKG49PntpZihvLmxlbmd0aHx8bi5tYXJrcy5sZW5ndGgpe2xldCBsPTAsZD0wO2Zvcig7bDxvLmxlbmd0aCYmZDxuLm1hcmtzLmxlbmd0aDspe2xldCBjPW4ubWFya3NbZF07aWYoIXRoaXMubWFya3NbYy50eXBlLm5hbWVdKXtkKys7Y29udGludWV9aWYoIWMuZXEob1tsXVswXSl8fGMudHlwZS5zcGVjLnNwYW5uaW5nPT09ITEpYnJlYWs7bCsrLGQrK31mb3IoO2w8by5sZW5ndGg7KWk9by5wb3AoKVsxXTtmb3IoO2Q8bi5tYXJrcy5sZW5ndGg7KXtsZXQgYz1uLm1hcmtzW2QrK10scD10aGlzLnNlcmlhbGl6ZU1hcmsoYyxuLmlzSW5saW5lLHQpO3AmJihvLnB1c2goW2MsaV0pLGkuYXBwZW5kQ2hpbGQocC5kb20pLGk9cC5jb250ZW50RE9NfHxwLmRvbSl9fWkuYXBwZW5kQ2hpbGQodGhpcy5zZXJpYWxpemVOb2RlSW5uZXIobix0KSl9KSxyfXNlcmlhbGl6ZU5vZGVJbm5lcihlLHQpe2xldHtkb206cixjb250ZW50RE9NOml9PUFhZShtS2UodCksdGhpcy5ub2Rlc1tlLnR5cGUubmFtZV0oZSksbnVsbCxlLmF0dHJzKTtpZihpKXtpZihlLmlzTGVhZil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiQ29udGVudCBob2xlIG5vdCBhbGxvd2VkIGluIGEgbGVhZiBub2RlIHNwZWMiKTt0aGlzLnNlcmlhbGl6ZUZyYWdtZW50KGUuY29udGVudCx0LGkpfXJldHVybiByfXNlcmlhbGl6ZU5vZGUoZSx0PXt9KXtsZXQgcj10aGlzLnNlcmlhbGl6ZU5vZGVJbm5lcihlLHQpO2ZvcihsZXQgaT1lLm1hcmtzLmxlbmd0aC0xO2k+PTA7aS0tKXtsZXQgbz10aGlzLnNlcmlhbGl6ZU1hcmsoZS5tYXJrc1tpXSxlLmlzSW5saW5lLHQpO28mJigoby5jb250ZW50RE9NfHxvLmRvbSkuYXBwZW5kQ2hpbGQocikscj1vLmRvbSl9cmV0dXJuIHJ9c2VyaWFsaXplTWFyayhlLHQscj17fSl7bGV0IGk9dGhpcy5tYXJrc1tlLnR5cGUubmFtZV07cmV0dXJuIGkmJkFhZShtS2UociksaShlLHQpLG51bGwsZS5hdHRycyl9c3RhdGljIHJlbmRlclNwZWMoZSx0LHI9bnVsbCxpKXtyZXR1cm4gQWFlKGUsdCxyLGkpfXN0YXRpYyBmcm9tU2NoZW1hKGUpe3JldHVybiBlLmNhY2hlZC5kb21TZXJpYWxpemVyfHwoZS5jYWNoZWQuZG9tU2VyaWFsaXplcj1uZXcgYSh0aGlzLm5vZGVzRnJvbVNjaGVtYShlKSx0aGlzLm1hcmtzRnJvbVNjaGVtYShlKSkpfXN0YXRpYyBub2Rlc0Zyb21TY2hlbWEoZSl7bGV0IHQ9cWlhKGUubm9kZXMpO3JldHVybiB0LnRleHR8fCh0LnRleHQ9cj0+ci50ZXh0KSx0fXN0YXRpYyBtYXJrc0Zyb21TY2hlbWEoZSl7cmV0dXJuIHFpYShlLm1hcmtzKX19O3MocWlhLCJnYXRoZXJUb0RPTSIpO3MobUtlLCJkb2MiKTtWaWE9bmV3IFdlYWtNYXA7cyhKJGEsInN1c3BpY2lvdXNBdHRyaWJ1dGVzIik7cyhlRGEsInN1c3BpY2lvdXNBdHRyaWJ1dGVzSW5uZXIiKTtzKEFhZSwicmVuZGVyU3BlYyIpfSk7ZnVuY3Rpb24gdERhKGEsZSl7cmV0dXJuIGErZSpVaWF9ZnVuY3Rpb24gV2lhKGEpe3JldHVybiBhJmppYX1mdW5jdGlvbiBhRGEoYSl7cmV0dXJuKGEtKGEmamlhKSkvVWlhfWZ1bmN0aW9uIGJLZShhLGUsdCl7bGV0IHI9W107Zm9yKGxldCBpPTA7aTxhLmNoaWxkQ291bnQ7aSsrKXtsZXQgbz1hLmNoaWxkKGkpO28uY29udGVudC5zaXplJiYobz1vLmNvcHkoYktlKG8uY29udGVudCxlLG8pKSksby5pc0lubGluZSYmKG89ZShvLHQsaSkpLHIucHVzaChvKX1yZXR1cm4gVmUuZnJvbUFycmF5KHIpfWZ1bmN0aW9uIHZLZShhLGUsdCl7bGV0IHI9YS5yZXNvbHZlKGUpLGk9dC1lLG89ci5kZXB0aDtmb3IoO2k+MCYmbz4wJiZyLmluZGV4QWZ0ZXIobyk9PXIubm9kZShvKS5jaGlsZENvdW50OylvLS0saS0tO2lmKGk+MCl7bGV0IG49ci5ub2RlKG8pLm1heWJlQ2hpbGQoci5pbmRleEFmdGVyKG8pKTtmb3IoO2k+MDspe2lmKCFufHxuLmlzTGVhZilyZXR1cm4hMDtuPW4uZmlyc3RDaGlsZCxpLS19fXJldHVybiExfWZ1bmN0aW9uIHJEYShhLGUsdCxyKXtsZXQgaT1bXSxvPVtdLG4sbDthLmRvYy5ub2Rlc0JldHdlZW4oZSx0LChkLGMscCk9PntpZighZC5pc0lubGluZSlyZXR1cm47bGV0IHU9ZC5tYXJrcztpZighci5pc0luU2V0KHUpJiZwLnR5cGUuYWxsb3dzTWFya1R5cGUoci50eXBlKSl7bGV0IG09TWF0aC5tYXgoYyxlKSx2PU1hdGgubWluKGMrZC5ub2RlU2l6ZSx0KSx4PXIuYWRkVG9TZXQodSk7Zm9yKGxldCBiPTA7Yjx1Lmxlbmd0aDtiKyspdVtiXS5pc0luU2V0KHgpfHwobiYmbi50bz09bSYmbi5tYXJrLmVxKHVbYl0pP24udG89djppLnB1c2gobj1uZXcgZzQobSx2LHVbYl0pKSk7bCYmbC50bz09bT9sLnRvPXY6by5wdXNoKGw9bmV3IHZtKG0sdixyKSl9fSksaS5mb3JFYWNoKGQ9PmEuc3RlcChkKSksby5mb3JFYWNoKGQ9PmEuc3RlcChkKSl9ZnVuY3Rpb24gc0RhKGEsZSx0LHIpe2xldCBpPVtdLG89MDthLmRvYy5ub2Rlc0JldHdlZW4oZSx0LChuLGwpPT57aWYoIW4uaXNJbmxpbmUpcmV0dXJuO28rKztsZXQgZD1udWxsO2lmKHIgaW5zdGFuY2VvZiBtbSl7bGV0IGM9bi5tYXJrcyxwO2Zvcig7cD1yLmlzSW5TZXQoYyk7KShkfHwoZD1bXSkpLnB1c2gocCksYz1wLnJlbW92ZUZyb21TZXQoYyl9ZWxzZSByP3IuaXNJblNldChuLm1hcmtzKSYmKGQ9W3JdKTpkPW4ubWFya3M7aWYoZCYmZC5sZW5ndGgpe2xldCBjPU1hdGgubWluKGwrbi5ub2RlU2l6ZSx0KTtmb3IobGV0IHA9MDtwPGQubGVuZ3RoO3ArKyl7bGV0IHU9ZFtwXSxtO2ZvcihsZXQgdj0wO3Y8aS5sZW5ndGg7disrKXtsZXQgeD1pW3ZdO3guc3RlcD09by0xJiZ1LmVxKGlbdl0uc3R5bGUpJiYobT14KX1tPyhtLnRvPWMsbS5zdGVwPW8pOmkucHVzaCh7c3R5bGU6dSxmcm9tOk1hdGgubWF4KGwsZSksdG86YyxzdGVwOm99KX19fSksaS5mb3JFYWNoKG49PmEuc3RlcChuZXcgZzQobi5mcm9tLG4udG8sbi5zdHlsZSkpKX1mdW5jdGlvbiB4S2UoYSxlLHQscj10LmNvbnRlbnRNYXRjaCxpPSEwKXtsZXQgbz1hLmRvYy5ub2RlQXQoZSksbj1bXSxsPWUrMTtmb3IobGV0IGQ9MDtkPG8uY2hpbGRDb3VudDtkKyspe2xldCBjPW8uY2hpbGQoZCkscD1sK2Mubm9kZVNpemUsdT1yLm1hdGNoVHlwZShjLnR5cGUpO2lmKCF1KW4ucHVzaChuZXcgR3MobCxwLHN0LmVtcHR5KSk7ZWxzZXtyPXU7Zm9yKGxldCBtPTA7bTxjLm1hcmtzLmxlbmd0aDttKyspdC5hbGxvd3NNYXJrVHlwZShjLm1hcmtzW21dLnR5cGUpfHxhLnN0ZXAobmV3IGc0KGwscCxjLm1hcmtzW21dKSk7aWYoaSYmYy5pc1RleHQmJnQud2hpdGVzcGFjZSE9InByZSIpe2xldCBtLHY9L1xyP1xufFxyL2cseDtmb3IoO209di5leGVjKGMudGV4dCk7KXh8fCh4PW5ldyBzdChWZS5mcm9tKHQuc2NoZW1hLnRleHQoIiAiLHQuYWxsb3dlZE1hcmtzKGMubWFya3MpKSksMCwwKSksbi5wdXNoKG5ldyBHcyhsK20uaW5kZXgsbCttLmluZGV4K21bMF0ubGVuZ3RoLHgpKX19bD1wfWlmKCFyLnZhbGlkRW5kKXtsZXQgZD1yLmZpbGxCZWZvcmUoVmUuZW1wdHksITApO2EucmVwbGFjZShsLGwsbmV3IHN0KGQsMCwwKSl9Zm9yKGxldCBkPW4ubGVuZ3RoLTE7ZD49MDtkLS0pYS5zdGVwKG5bZF0pfWZ1bmN0aW9uIGlEYShhLGUsdCl7cmV0dXJuKGU9PTB8fGEuY2FuUmVwbGFjZShlLGEuY2hpbGRDb3VudCkpJiYodD09YS5jaGlsZENvdW50fHxhLmNhblJlcGxhY2UoMCx0KSl9ZnVuY3Rpb24gRzIoYSl7bGV0IHQ9YS5wYXJlbnQuY29udGVudC5jdXRCeUluZGV4KGEuc3RhcnRJbmRleCxhLmVuZEluZGV4KTtmb3IobGV0IHI9YS5kZXB0aCxpPTAsbz0wOzstLXIpe2xldCBuPWEuJGZyb20ubm9kZShyKSxsPWEuJGZyb20uaW5kZXgocikraSxkPWEuJHRvLmluZGV4QWZ0ZXIociktbztpZihyPGEuZGVwdGgmJm4uY2FuUmVwbGFjZShsLGQsdCkpcmV0dXJuIHI7aWYocj09MHx8bi50eXBlLnNwZWMuaXNvbGF0aW5nfHwhaURhKG4sbCxkKSlicmVhaztsJiYoaT0xKSxkPG4uY2hpbGRDb3VudCYmKG89MSl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gb0RhKGEsZSx0KXtsZXR7JGZyb206ciwkdG86aSxkZXB0aDpvfT1lLG49ci5iZWZvcmUobysxKSxsPWkuYWZ0ZXIobysxKSxkPW4sYz1sLHA9VmUuZW1wdHksdT0wO2ZvcihsZXQgeD1vLGI9ITE7eD50O3gtLSlifHxyLmluZGV4KHgpPjA/KGI9ITAscD1WZS5mcm9tKHIubm9kZSh4KS5jb3B5KHApKSx1KyspOmQtLTtsZXQgbT1WZS5lbXB0eSx2PTA7Zm9yKGxldCB4PW8sYj0hMTt4PnQ7eC0tKWJ8fGkuYWZ0ZXIoeCsxKTxpLmVuZCh4KT8oYj0hMCxtPVZlLmZyb20oaS5ub2RlKHgpLmNvcHkobSkpLHYrKyk6YysrO2Euc3RlcChuZXcgUXIoZCxjLG4sbCxuZXcgc3QocC5hcHBlbmQobSksdSx2KSxwLnNpemUtdSwhMCkpfWZ1bmN0aW9uIGpmKGEsZSx0PW51bGwscj1hKXtsZXQgaT1uRGEoYSxlKSxvPWkmJmxEYShyLGUpO3JldHVybiBvP2kubWFwKFppYSkuY29uY2F0KHt0eXBlOmUsYXR0cnM6dH0pLmNvbmNhdChvLm1hcChaaWEpKTpudWxsfWZ1bmN0aW9uIFppYShhKXtyZXR1cm57dHlwZTphLGF0dHJzOm51bGx9fWZ1bmN0aW9uIG5EYShhLGUpe2xldHtwYXJlbnQ6dCxzdGFydEluZGV4OnIsZW5kSW5kZXg6aX09YSxvPXQuY29udGVudE1hdGNoQXQocikuZmluZFdyYXBwaW5nKGUpO2lmKCFvKXJldHVybiBudWxsO2xldCBuPW8ubGVuZ3RoP29bMF06ZTtyZXR1cm4gdC5jYW5SZXBsYWNlV2l0aChyLGksbik/bzpudWxsfWZ1bmN0aW9uIGxEYShhLGUpe2xldHtwYXJlbnQ6dCxzdGFydEluZGV4OnIsZW5kSW5kZXg6aX09YSxvPXQuY2hpbGQociksbj1lLmNvbnRlbnRNYXRjaC5maW5kV3JhcHBpbmcoby50eXBlKTtpZighbilyZXR1cm4gbnVsbDtsZXQgZD0obi5sZW5ndGg/bltuLmxlbmd0aC0xXTplKS5jb250ZW50TWF0Y2g7Zm9yKGxldCBjPXI7ZCYmYzxpO2MrKylkPWQubWF0Y2hUeXBlKHQuY2hpbGQoYykudHlwZSk7cmV0dXJuIWR8fCFkLnZhbGlkRW5kP251bGw6bn1mdW5jdGlvbiBjRGEoYSxlLHQpe2xldCByPVZlLmVtcHR5O2ZvcihsZXQgbj10Lmxlbmd0aC0xO24+PTA7bi0tKXtpZihyLnNpemUpe2xldCBsPXRbbl0udHlwZS5jb250ZW50TWF0Y2gubWF0Y2hGcmFnbWVudChyKTtpZighbHx8IWwudmFsaWRFbmQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIldyYXBwZXIgdHlwZSBnaXZlbiB0byBUcmFuc2Zvcm0ud3JhcCBkb2VzIG5vdCBmb3JtIHZhbGlkIGNvbnRlbnQgb2YgaXRzIHBhcmVudCB3cmFwcGVyIil9cj1WZS5mcm9tKHRbbl0udHlwZS5jcmVhdGUodFtuXS5hdHRycyxyKSl9bGV0IGk9ZS5zdGFydCxvPWUuZW5kO2Euc3RlcChuZXcgUXIoaSxvLGksbyxuZXcgc3QociwwLDApLHQubGVuZ3RoLCEwKSl9ZnVuY3Rpb24gZERhKGEsZSx0LHIsaSl7aWYoIXIuaXNUZXh0YmxvY2spdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlR5cGUgZ2l2ZW4gdG8gc2V0QmxvY2tUeXBlIHNob3VsZCBiZSBhIHRleHRibG9jayIpO2xldCBvPWEuc3RlcHMubGVuZ3RoO2EuZG9jLm5vZGVzQmV0d2VlbihlLHQsKG4sbCk9PntsZXQgZD10eXBlb2YgaT09ImZ1bmN0aW9uIj9pKG4pOmk7aWYobi5pc1RleHRibG9jayYmIW4uaGFzTWFya3VwKHIsZCkmJnVEYShhLmRvYyxhLm1hcHBpbmcuc2xpY2UobykubWFwKGwpLHIpKXtsZXQgYz1udWxsO2lmKHIuc2NoZW1hLmxpbmVicmVha1JlcGxhY2VtZW50KXtsZXQgdj1yLndoaXRlc3BhY2U9PSJwcmUiLHg9ISFyLmNvbnRlbnRNYXRjaC5tYXRjaFR5cGUoci5zY2hlbWEubGluZWJyZWFrUmVwbGFjZW1lbnQpO3YmJiF4P2M9ITE6IXYmJngmJihjPSEwKX1jPT09ITEmJlFpYShhLG4sbCxvKSx4S2UoYSxhLm1hcHBpbmcuc2xpY2UobykubWFwKGwsMSkscix2b2lkIDAsYz09PW51bGwpO2xldCBwPWEubWFwcGluZy5zbGljZShvKSx1PXAubWFwKGwsMSksbT1wLm1hcChsK24ubm9kZVNpemUsMSk7cmV0dXJuIGEuc3RlcChuZXcgUXIodSxtLHUrMSxtLTEsbmV3IHN0KFZlLmZyb20oci5jcmVhdGUoZCxudWxsLG4ubWFya3MpKSwwLDApLDEsITApKSxjPT09ITAmJlhpYShhLG4sbCxvKSwhMX19KX1mdW5jdGlvbiBYaWEoYSxlLHQscil7ZS5mb3JFYWNoKChpLG8pPT57aWYoaS5pc1RleHQpe2xldCBuLGw9L1xyP1xufFxyL2c7Zm9yKDtuPWwuZXhlYyhpLnRleHQpOyl7bGV0IGQ9YS5tYXBwaW5nLnNsaWNlKHIpLm1hcCh0KzErbytuLmluZGV4KTthLnJlcGxhY2VXaXRoKGQsZCsxLGUudHlwZS5zY2hlbWEubGluZWJyZWFrUmVwbGFjZW1lbnQuY3JlYXRlKCkpfX19KX1mdW5jdGlvbiBRaWEoYSxlLHQscil7ZS5mb3JFYWNoKChpLG8pPT57aWYoaS50eXBlPT1pLnR5cGUuc2NoZW1hLmxpbmVicmVha1JlcGxhY2VtZW50KXtsZXQgbj1hLm1hcHBpbmcuc2xpY2UocikubWFwKHQrMStvKTthLnJlcGxhY2VXaXRoKG4sbisxLGUudHlwZS5zY2hlbWEudGV4dChgCmApKX19KX1mdW5jdGlvbiB1RGEoYSxlLHQpe2xldCByPWEucmVzb2x2ZShlKSxpPXIuaW5kZXgoKTtyZXR1cm4gci5wYXJlbnQuY2FuUmVwbGFjZVdpdGgoaSxpKzEsdCl9ZnVuY3Rpb24gcERhKGEsZSx0LHIsaSl7bGV0IG89YS5kb2Mubm9kZUF0KGUpO2lmKCFvKXRocm93IG5ldyBSYW5nZUVycm9yKCJObyBub2RlIGF0IGdpdmVuIHBvc2l0aW9uIik7dHx8KHQ9by50eXBlKTtsZXQgbj10LmNyZWF0ZShyLG51bGwsaXx8by5tYXJrcyk7aWYoby5pc0xlYWYpcmV0dXJuIGEucmVwbGFjZVdpdGgoZSxlK28ubm9kZVNpemUsbik7aWYoIXQudmFsaWRDb250ZW50KG8uY29udGVudCkpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgY29udGVudCBmb3Igbm9kZSB0eXBlICIrdC5uYW1lKTthLnN0ZXAobmV3IFFyKGUsZStvLm5vZGVTaXplLGUrMSxlK28ubm9kZVNpemUtMSxuZXcgc3QoVmUuZnJvbShuKSwwLDApLDEsITApKX1mdW5jdGlvbiBEbyhhLGUsdD0xLHIpe2xldCBpPWEucmVzb2x2ZShlKSxvPWkuZGVwdGgtdCxuPXImJnJbci5sZW5ndGgtMV18fGkucGFyZW50O2lmKG88MHx8aS5wYXJlbnQudHlwZS5zcGVjLmlzb2xhdGluZ3x8IWkucGFyZW50LmNhblJlcGxhY2UoaS5pbmRleCgpLGkucGFyZW50LmNoaWxkQ291bnQpfHwhbi50eXBlLnZhbGlkQ29udGVudChpLnBhcmVudC5jb250ZW50LmN1dEJ5SW5kZXgoaS5pbmRleCgpLGkucGFyZW50LmNoaWxkQ291bnQpKSlyZXR1cm4hMTtmb3IobGV0IGM9aS5kZXB0aC0xLHA9dC0yO2M+bztjLS0scC0tKXtsZXQgdT1pLm5vZGUoYyksbT1pLmluZGV4KGMpO2lmKHUudHlwZS5zcGVjLmlzb2xhdGluZylyZXR1cm4hMTtsZXQgdj11LmNvbnRlbnQuY3V0QnlJbmRleChtLHUuY2hpbGRDb3VudCkseD1yJiZyW3ArMV07eCYmKHY9di5yZXBsYWNlQ2hpbGQoMCx4LnR5cGUuY3JlYXRlKHguYXR0cnMpKSk7bGV0IGI9ciYmcltwXXx8dTtpZighdS5jYW5SZXBsYWNlKG0rMSx1LmNoaWxkQ291bnQpfHwhYi50eXBlLnZhbGlkQ29udGVudCh2KSlyZXR1cm4hMX1sZXQgbD1pLmluZGV4QWZ0ZXIobyksZD1yJiZyWzBdO3JldHVybiBpLm5vZGUobykuY2FuUmVwbGFjZVdpdGgobCxsLGQ/ZC50eXBlOmkubm9kZShvKzEpLnR5cGUpfWZ1bmN0aW9uIGZEYShhLGUsdD0xLHIpe2xldCBpPWEuZG9jLnJlc29sdmUoZSksbz1WZS5lbXB0eSxuPVZlLmVtcHR5O2ZvcihsZXQgbD1pLmRlcHRoLGQ9aS5kZXB0aC10LGM9dC0xO2w+ZDtsLS0sYy0tKXtvPVZlLmZyb20oaS5ub2RlKGwpLmNvcHkobykpO2xldCBwPXImJnJbY107bj1WZS5mcm9tKHA/cC50eXBlLmNyZWF0ZShwLmF0dHJzLG4pOmkubm9kZShsKS5jb3B5KG4pKX1hLnN0ZXAobmV3IEdzKGUsZSxuZXcgc3Qoby5hcHBlbmQobiksdCx0KSwhMCkpfWZ1bmN0aW9uIGVuKGEsZSl7bGV0IHQ9YS5yZXNvbHZlKGUpLHI9dC5pbmRleCgpO3JldHVybiBKaWEodC5ub2RlQmVmb3JlLHQubm9kZUFmdGVyKSYmdC5wYXJlbnQuY2FuUmVwbGFjZShyLHIrMSl9ZnVuY3Rpb24gaERhKGEsZSl7ZS5jb250ZW50LnNpemV8fGEudHlwZS5jb21wYXRpYmxlQ29udGVudChlLnR5cGUpO2xldCB0PWEuY29udGVudE1hdGNoQXQoYS5jaGlsZENvdW50KSx7bGluZWJyZWFrUmVwbGFjZW1lbnQ6cn09YS50eXBlLnNjaGVtYTtmb3IobGV0IGk9MDtpPGUuY2hpbGRDb3VudDtpKyspe2xldCBvPWUuY2hpbGQoaSksbj1vLnR5cGU9PXI/YS50eXBlLnNjaGVtYS5ub2Rlcy50ZXh0Om8udHlwZTtpZih0PXQubWF0Y2hUeXBlKG4pLCF0fHwhYS50eXBlLmFsbG93c01hcmtzKG8ubWFya3MpKXJldHVybiExfXJldHVybiB0LnZhbGlkRW5kfWZ1bmN0aW9uIEppYShhLGUpe3JldHVybiEhKGEmJmUmJiFhLmlzTGVhZiYmaERhKGEsZSkpfWZ1bmN0aW9uIFVmKGEsZSx0PS0xKXtsZXQgcj1hLnJlc29sdmUoZSk7Zm9yKGxldCBpPXIuZGVwdGg7O2ktLSl7bGV0IG8sbixsPXIuaW5kZXgoaSk7aWYoaT09ci5kZXB0aD8obz1yLm5vZGVCZWZvcmUsbj1yLm5vZGVBZnRlcik6dD4wPyhvPXIubm9kZShpKzEpLGwrKyxuPXIubm9kZShpKS5tYXliZUNoaWxkKGwpKToobz1yLm5vZGUoaSkubWF5YmVDaGlsZChsLTEpLG49ci5ub2RlKGkrMSkpLG8mJiFvLmlzVGV4dGJsb2NrJiZKaWEobyxuKSYmci5ub2RlKGkpLmNhblJlcGxhY2UobCxsKzEpKXJldHVybiBlO2lmKGk9PTApYnJlYWs7ZT10PDA/ci5iZWZvcmUoaSk6ci5hZnRlcihpKX19ZnVuY3Rpb24gbURhKGEsZSx0KXtsZXQgcj1udWxsLHtsaW5lYnJlYWtSZXBsYWNlbWVudDppfT1hLmRvYy50eXBlLnNjaGVtYSxvPWEuZG9jLnJlc29sdmUoZS10KSxuPW8ubm9kZSgpLnR5cGU7aWYoaSYmbi5pbmxpbmVDb250ZW50KXtsZXQgcD1uLndoaXRlc3BhY2U9PSJwcmUiLHU9ISFuLmNvbnRlbnRNYXRjaC5tYXRjaFR5cGUoaSk7cCYmIXU/cj0hMTohcCYmdSYmKHI9ITApfWxldCBsPWEuc3RlcHMubGVuZ3RoO2lmKHI9PT0hMSl7bGV0IHA9YS5kb2MucmVzb2x2ZShlK3QpO1FpYShhLHAubm9kZSgpLHAuYmVmb3JlKCksbCl9bi5pbmxpbmVDb250ZW50JiZ4S2UoYSxlK3QtMSxuLG8ubm9kZSgpLmNvbnRlbnRNYXRjaEF0KG8uaW5kZXgoKSkscj09bnVsbCk7bGV0IGQ9YS5tYXBwaW5nLnNsaWNlKGwpLGM9ZC5tYXAoZS10KTtpZihhLnN0ZXAobmV3IEdzKGMsZC5tYXAoZSt0LC0xKSxzdC5lbXB0eSwhMCkpLHI9PT0hMCl7bGV0IHA9YS5kb2MucmVzb2x2ZShjKTtYaWEoYSxwLm5vZGUoKSxwLmJlZm9yZSgpLGEuc3RlcHMubGVuZ3RoKX1yZXR1cm4gYX1mdW5jdGlvbiBlb2EoYSxlLHQpe2xldCByPWEucmVzb2x2ZShlKTtpZihyLnBhcmVudC5jYW5SZXBsYWNlV2l0aChyLmluZGV4KCksci5pbmRleCgpLHQpKXJldHVybiBlO2lmKHIucGFyZW50T2Zmc2V0PT0wKWZvcihsZXQgaT1yLmRlcHRoLTE7aT49MDtpLS0pe2xldCBvPXIuaW5kZXgoaSk7aWYoci5ub2RlKGkpLmNhblJlcGxhY2VXaXRoKG8sbyx0KSlyZXR1cm4gci5iZWZvcmUoaSsxKTtpZihvPjApcmV0dXJuIG51bGx9aWYoci5wYXJlbnRPZmZzZXQ9PXIucGFyZW50LmNvbnRlbnQuc2l6ZSlmb3IobGV0IGk9ci5kZXB0aC0xO2k+PTA7aS0tKXtsZXQgbz1yLmluZGV4QWZ0ZXIoaSk7aWYoci5ub2RlKGkpLmNhblJlcGxhY2VXaXRoKG8sbyx0KSlyZXR1cm4gci5hZnRlcihpKzEpO2lmKG88ci5ub2RlKGkpLmNoaWxkQ291bnQpcmV0dXJuIG51bGx9cmV0dXJuIG51bGx9ZnVuY3Rpb24gS1UoYSxlLHQpe2xldCByPWEucmVzb2x2ZShlKTtpZighdC5jb250ZW50LnNpemUpcmV0dXJuIGU7bGV0IGk9dC5jb250ZW50O2ZvcihsZXQgbz0wO288dC5vcGVuU3RhcnQ7bysrKWk9aS5maXJzdENoaWxkLmNvbnRlbnQ7Zm9yKGxldCBvPTE7bzw9KHQub3BlblN0YXJ0PT0wJiZ0LnNpemU/MjoxKTtvKyspZm9yKGxldCBuPXIuZGVwdGg7bj49MDtuLS0pe2xldCBsPW49PXIuZGVwdGg/MDpyLnBvczw9KHIuc3RhcnQobisxKStyLmVuZChuKzEpKS8yPy0xOjEsZD1yLmluZGV4KG4pKyhsPjA/MTowKSxjPXIubm9kZShuKSxwPSExO2lmKG89PTEpcD1jLmNhblJlcGxhY2UoZCxkLGkpO2Vsc2V7bGV0IHU9Yy5jb250ZW50TWF0Y2hBdChkKS5maW5kV3JhcHBpbmcoaS5maXJzdENoaWxkLnR5cGUpO3A9dSYmYy5jYW5SZXBsYWNlV2l0aChkLGQsdVswXSl9aWYocClyZXR1cm4gbD09MD9yLnBvczpsPDA/ci5iZWZvcmUobisxKTpyLmFmdGVyKG4rMSl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gd20oYSxlLHQ9ZSxyPXN0LmVtcHR5KXtpZihlPT10JiYhci5zaXplKXJldHVybiBudWxsO2xldCBpPWEucmVzb2x2ZShlKSxvPWEucmVzb2x2ZSh0KTtyZXR1cm4gdG9hKGksbyxyKT9uZXcgR3MoZSx0LHIpOm5ldyB5S2UoaSxvLHIpLmZpdCgpfWZ1bmN0aW9uIHRvYShhLGUsdCl7cmV0dXJuIXQub3BlblN0YXJ0JiYhdC5vcGVuRW5kJiZhLnN0YXJ0KCk9PWUuc3RhcnQoKSYmYS5wYXJlbnQuY2FuUmVwbGFjZShhLmluZGV4KCksZS5pbmRleCgpLHQuY29udGVudCl9ZnVuY3Rpb24gVVUoYSxlLHQpe3JldHVybiBlPT0wP2EuY3V0QnlJbmRleCh0LGEuY2hpbGRDb3VudCk6YS5yZXBsYWNlQ2hpbGQoMCxhLmZpcnN0Q2hpbGQuY29weShVVShhLmZpcnN0Q2hpbGQuY29udGVudCxlLTEsdCkpKX1mdW5jdGlvbiBXVShhLGUsdCl7cmV0dXJuIGU9PTA/YS5hcHBlbmQodCk6YS5yZXBsYWNlQ2hpbGQoYS5jaGlsZENvdW50LTEsYS5sYXN0Q2hpbGQuY29weShXVShhLmxhc3RDaGlsZC5jb250ZW50LGUtMSx0KSkpfWZ1bmN0aW9uIHdLZShhLGUpe2ZvcihsZXQgdD0wO3Q8ZTt0KyspYT1hLmZpcnN0Q2hpbGQuY29udGVudDtyZXR1cm4gYX1mdW5jdGlvbiBhb2EoYSxlLHQpe2lmKGU8PTApcmV0dXJuIGE7bGV0IHI9YS5jb250ZW50O3JldHVybiBlPjEmJihyPXIucmVwbGFjZUNoaWxkKDAsYW9hKHIuZmlyc3RDaGlsZCxlLTEsci5jaGlsZENvdW50PT0xP3QtMTowKSkpLGU+MCYmKHI9YS50eXBlLmNvbnRlbnRNYXRjaC5maWxsQmVmb3JlKHIpLmFwcGVuZChyKSx0PD0wJiYocj1yLmFwcGVuZChhLnR5cGUuY29udGVudE1hdGNoLm1hdGNoRnJhZ21lbnQocikuZmlsbEJlZm9yZShWZS5lbXB0eSwhMCkpKSksYS5jb3B5KHIpfWZ1bmN0aW9uIE1LZShhLGUsdCxyLGkpe2xldCBvPWEubm9kZShlKSxuPWk/YS5pbmRleEFmdGVyKGUpOmEuaW5kZXgoZSk7aWYobj09by5jaGlsZENvdW50JiYhdC5jb21wYXRpYmxlQ29udGVudChvLnR5cGUpKXJldHVybiBudWxsO2xldCBsPXIuZmlsbEJlZm9yZShvLmNvbnRlbnQsITAsbik7cmV0dXJuIGwmJiFnRGEodCxvLmNvbnRlbnQsbik/bDpudWxsfWZ1bmN0aW9uIGdEYShhLGUsdCl7Zm9yKGxldCByPXQ7cjxlLmNoaWxkQ291bnQ7cisrKWlmKCFhLmFsbG93c01hcmtzKGUuY2hpbGQocikubWFya3MpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGJEYShhKXtyZXR1cm4gYS5zcGVjLmRlZmluaW5nfHxhLnNwZWMuZGVmaW5pbmdGb3JDb250ZW50fWZ1bmN0aW9uIHZEYShhLGUsdCxyKXtpZighci5zaXplKXJldHVybiBhLmRlbGV0ZVJhbmdlKGUsdCk7bGV0IGk9YS5kb2MucmVzb2x2ZShlKSxvPWEuZG9jLnJlc29sdmUodCk7aWYodG9hKGksbyxyKSlyZXR1cm4gYS5zdGVwKG5ldyBHcyhlLHQscikpO2xldCBuPXNvYShpLG8pO25bbi5sZW5ndGgtMV09PTAmJm4ucG9wKCk7bGV0IGw9LShpLmRlcHRoKzEpO24udW5zaGlmdChsKTtmb3IobGV0IG09aS5kZXB0aCx2PWkucG9zLTE7bT4wO20tLSx2LS0pe2xldCB4PWkubm9kZShtKS50eXBlLnNwZWM7aWYoeC5kZWZpbmluZ3x8eC5kZWZpbmluZ0FzQ29udGV4dHx8eC5pc29sYXRpbmcpYnJlYWs7bi5pbmRleE9mKG0pPi0xP2w9bTppLmJlZm9yZShtKT09diYmbi5zcGxpY2UoMSwwLC1tKX1sZXQgZD1uLmluZGV4T2YobCksYz1bXSxwPXIub3BlblN0YXJ0O2ZvcihsZXQgbT1yLmNvbnRlbnQsdj0wOzt2Kyspe2xldCB4PW0uZmlyc3RDaGlsZDtpZihjLnB1c2goeCksdj09ci5vcGVuU3RhcnQpYnJlYWs7bT14LmNvbnRlbnR9Zm9yKGxldCBtPXAtMTttPj0wO20tLSl7bGV0IHY9Y1ttXSx4PWJEYSh2LnR5cGUpO2lmKHgmJiF2LnNhbWVNYXJrdXAoaS5ub2RlKE1hdGguYWJzKGwpLTEpKSlwPW07ZWxzZSBpZih4fHwhdi50eXBlLmlzVGV4dGJsb2NrKWJyZWFrfWZvcihsZXQgbT1yLm9wZW5TdGFydDttPj0wO20tLSl7bGV0IHY9KG0rcCsxKSUoci5vcGVuU3RhcnQrMSkseD1jW3ZdO2lmKHgpZm9yKGxldCBiPTA7YjxuLmxlbmd0aDtiKyspe2xldCBnPW5bKGIrZCklbi5sZW5ndGhdLHk9ITA7ZzwwJiYoeT0hMSxnPS1nKTtsZXQgaz1pLm5vZGUoZy0xKSxDPWkuaW5kZXgoZy0xKTtpZihrLmNhblJlcGxhY2VXaXRoKEMsQyx4LnR5cGUseC5tYXJrcykpcmV0dXJuIGEucmVwbGFjZShpLmJlZm9yZShnKSx5P28uYWZ0ZXIoZyk6dCxuZXcgc3Qocm9hKHIuY29udGVudCwwLHIub3BlblN0YXJ0LHYpLHYsci5vcGVuRW5kKSl9fWxldCB1PWEuc3RlcHMubGVuZ3RoO2ZvcihsZXQgbT1uLmxlbmd0aC0xO20+PTAmJihhLnJlcGxhY2UoZSx0LHIpLCEoYS5zdGVwcy5sZW5ndGg+dSkpO20tLSl7bGV0IHY9blttXTt2PDB8fChlPWkuYmVmb3JlKHYpLHQ9by5hZnRlcih2KSl9fWZ1bmN0aW9uIHJvYShhLGUsdCxyLGkpe2lmKGU8dCl7bGV0IG89YS5maXJzdENoaWxkO2E9YS5yZXBsYWNlQ2hpbGQoMCxvLmNvcHkocm9hKG8uY29udGVudCxlKzEsdCxyLG8pKSl9aWYoZT5yKXtsZXQgbz1pLmNvbnRlbnRNYXRjaEF0KDApLG49by5maWxsQmVmb3JlKGEpLmFwcGVuZChhKTthPW4uYXBwZW5kKG8ubWF0Y2hGcmFnbWVudChuKS5maWxsQmVmb3JlKFZlLmVtcHR5LCEwKSl9cmV0dXJuIGF9ZnVuY3Rpb24geERhKGEsZSx0LHIpe2lmKCFyLmlzSW5saW5lJiZlPT10JiZhLmRvYy5yZXNvbHZlKGUpLnBhcmVudC5jb250ZW50LnNpemUpe2xldCBpPWVvYShhLmRvYyxlLHIudHlwZSk7aSE9bnVsbCYmKGU9dD1pKX1hLnJlcGxhY2VSYW5nZShlLHQsbmV3IHN0KFZlLmZyb20ociksMCwwKSl9ZnVuY3Rpb24geURhKGEsZSx0KXtsZXQgcj1hLmRvYy5yZXNvbHZlKGUpLGk9YS5kb2MucmVzb2x2ZSh0KTtpZihyLnBhcmVudC5pc1RleHRibG9jayYmaS5wYXJlbnQuaXNUZXh0YmxvY2smJnIuc3RhcnQoKSE9aS5zdGFydCgpJiZyLnBhcmVudE9mZnNldD09MCYmaS5wYXJlbnRPZmZzZXQ9PTApe2xldCBuPXIuc2hhcmVkRGVwdGgodCksbD0hMTtmb3IobGV0IGQ9ci5kZXB0aDtkPm47ZC0tKXIubm9kZShkKS50eXBlLnNwZWMuaXNvbGF0aW5nJiYobD0hMCk7Zm9yKGxldCBkPWkuZGVwdGg7ZD5uO2QtLSlpLm5vZGUoZCkudHlwZS5zcGVjLmlzb2xhdGluZyYmKGw9ITApO2lmKCFsKXtmb3IobGV0IGQ9ci5kZXB0aDtkPjAmJmU9PXIuc3RhcnQoZCk7ZC0tKWU9ci5iZWZvcmUoZCk7Zm9yKGxldCBkPWkuZGVwdGg7ZD4wJiZ0PT1pLnN0YXJ0KGQpO2QtLSl0PWkuYmVmb3JlKGQpO3I9YS5kb2MucmVzb2x2ZShlKSxpPWEuZG9jLnJlc29sdmUodCl9fWxldCBvPXNvYShyLGkpO2ZvcihsZXQgbj0wO248by5sZW5ndGg7bisrKXtsZXQgbD1vW25dLGQ9bj09by5sZW5ndGgtMTtpZihkJiZsPT0wfHxyLm5vZGUobCkudHlwZS5jb250ZW50TWF0Y2gudmFsaWRFbmQpcmV0dXJuIGEuZGVsZXRlKHIuc3RhcnQobCksaS5lbmQobCkpO2lmKGw+MCYmKGR8fHIubm9kZShsLTEpLmNhblJlcGxhY2Uoci5pbmRleChsLTEpLGkuaW5kZXhBZnRlcihsLTEpKSkpcmV0dXJuIGEuZGVsZXRlKHIuYmVmb3JlKGwpLGkuYWZ0ZXIobCkpfWZvcihsZXQgbj0xO248PXIuZGVwdGgmJm48PWkuZGVwdGg7bisrKWlmKGUtci5zdGFydChuKT09ci5kZXB0aC1uJiZ0PnIuZW5kKG4pJiZpLmVuZChuKS10IT1pLmRlcHRoLW4mJnIuc3RhcnQobi0xKT09aS5zdGFydChuLTEpJiZyLm5vZGUobi0xKS5jYW5SZXBsYWNlKHIuaW5kZXgobi0xKSxpLmluZGV4KG4tMSkpKXJldHVybiBhLmRlbGV0ZShyLmJlZm9yZShuKSx0KTthLmRlbGV0ZShlLHQpfWZ1bmN0aW9uIHNvYShhLGUpe2xldCB0PVtdLHI9TWF0aC5taW4oYS5kZXB0aCxlLmRlcHRoKTtmb3IobGV0IGk9cjtpPj0wO2ktLSl7bGV0IG89YS5zdGFydChpKTtpZihvPGEucG9zLShhLmRlcHRoLWkpfHxlLmVuZChpKT5lLnBvcysoZS5kZXB0aC1pKXx8YS5ub2RlKGkpLnR5cGUuc3BlYy5pc29sYXRpbmd8fGUubm9kZShpKS50eXBlLnNwZWMuaXNvbGF0aW5nKWJyZWFrOyhvPT1lLnN0YXJ0KGkpfHxpPT1hLmRlcHRoJiZpPT1lLmRlcHRoJiZhLnBhcmVudC5pbmxpbmVDb250ZW50JiZlLnBhcmVudC5pbmxpbmVDb250ZW50JiZpJiZlLnN0YXJ0KGktMSk9PW8tMSkmJnQucHVzaChpKX1yZXR1cm4gdH12YXIgamlhLFVpYSxHaWEsWWlhLEVhZSxLaWEsYm0sVzIseW0sZ0tlLEVzLFdzLHZtLGc0LHhtLEhmLEdzLFFyLHlLZSxHVSxZVSxxZixWZixiND1mKCgpPT57bTQoKTtqaWE9NjU1MzUsVWlhPU1hdGgucG93KDIsMTYpO3ModERhLCJtYWtlUmVjb3ZlciIpO3MoV2lhLCJyZWNvdmVySW5kZXgiKTtzKGFEYSwicmVjb3Zlck9mZnNldCIpO0dpYT0xLFlpYT0yLEVhZT00LEtpYT04LGJtPWNsYXNze3N0YXRpY3tzKHRoaXMsIk1hcFJlc3VsdCIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLnBvcz1lLHRoaXMuZGVsSW5mbz10LHRoaXMucmVjb3Zlcj1yfWdldCBkZWxldGVkKCl7cmV0dXJuKHRoaXMuZGVsSW5mbyZLaWEpPjB9Z2V0IGRlbGV0ZWRCZWZvcmUoKXtyZXR1cm4odGhpcy5kZWxJbmZvJihHaWF8RWFlKSk+MH1nZXQgZGVsZXRlZEFmdGVyKCl7cmV0dXJuKHRoaXMuZGVsSW5mbyYoWWlhfEVhZSkpPjB9Z2V0IGRlbGV0ZWRBY3Jvc3MoKXtyZXR1cm4odGhpcy5kZWxJbmZvJkVhZSk+MH19LFcyPWNsYXNzIGF7c3RhdGlje3ModGhpcywiU3RlcE1hcCIpfWNvbnN0cnVjdG9yKGUsdD0hMSl7aWYodGhpcy5yYW5nZXM9ZSx0aGlzLmludmVydGVkPXQsIWUubGVuZ3RoJiZhLmVtcHR5KXJldHVybiBhLmVtcHR5fXJlY292ZXIoZSl7bGV0IHQ9MCxyPVdpYShlKTtpZighdGhpcy5pbnZlcnRlZClmb3IobGV0IGk9MDtpPHI7aSsrKXQrPXRoaXMucmFuZ2VzW2kqMysyXS10aGlzLnJhbmdlc1tpKjMrMV07cmV0dXJuIHRoaXMucmFuZ2VzW3IqM10rdCthRGEoZSl9bWFwUmVzdWx0KGUsdD0xKXtyZXR1cm4gdGhpcy5fbWFwKGUsdCwhMSl9bWFwKGUsdD0xKXtyZXR1cm4gdGhpcy5fbWFwKGUsdCwhMCl9X21hcChlLHQscil7bGV0IGk9MCxvPXRoaXMuaW52ZXJ0ZWQ/MjoxLG49dGhpcy5pbnZlcnRlZD8xOjI7Zm9yKGxldCBsPTA7bDx0aGlzLnJhbmdlcy5sZW5ndGg7bCs9Myl7bGV0IGQ9dGhpcy5yYW5nZXNbbF0tKHRoaXMuaW52ZXJ0ZWQ/aTowKTtpZihkPmUpYnJlYWs7bGV0IGM9dGhpcy5yYW5nZXNbbCtvXSxwPXRoaXMucmFuZ2VzW2wrbl0sdT1kK2M7aWYoZTw9dSl7bGV0IG09Yz9lPT1kPy0xOmU9PXU/MTp0OnQsdj1kK2krKG08MD8wOnApO2lmKHIpcmV0dXJuIHY7bGV0IHg9ZT09KHQ8MD9kOnUpP251bGw6dERhKGwvMyxlLWQpLGI9ZT09ZD9ZaWE6ZT09dT9HaWE6RWFlO3JldHVybih0PDA/ZSE9ZDplIT11KSYmKGJ8PUtpYSksbmV3IGJtKHYsYix4KX1pKz1wLWN9cmV0dXJuIHI/ZStpOm5ldyBibShlK2ksMCxudWxsKX10b3VjaGVzKGUsdCl7bGV0IHI9MCxpPVdpYSh0KSxvPXRoaXMuaW52ZXJ0ZWQ/MjoxLG49dGhpcy5pbnZlcnRlZD8xOjI7Zm9yKGxldCBsPTA7bDx0aGlzLnJhbmdlcy5sZW5ndGg7bCs9Myl7bGV0IGQ9dGhpcy5yYW5nZXNbbF0tKHRoaXMuaW52ZXJ0ZWQ/cjowKTtpZihkPmUpYnJlYWs7bGV0IGM9dGhpcy5yYW5nZXNbbCtvXSxwPWQrYztpZihlPD1wJiZsPT1pKjMpcmV0dXJuITA7cis9dGhpcy5yYW5nZXNbbCtuXS1jfXJldHVybiExfWZvckVhY2goZSl7bGV0IHQ9dGhpcy5pbnZlcnRlZD8yOjEscj10aGlzLmludmVydGVkPzE6Mjtmb3IobGV0IGk9MCxvPTA7aTx0aGlzLnJhbmdlcy5sZW5ndGg7aSs9Myl7bGV0IG49dGhpcy5yYW5nZXNbaV0sbD1uLSh0aGlzLmludmVydGVkP286MCksZD1uKyh0aGlzLmludmVydGVkPzA6byksYz10aGlzLnJhbmdlc1tpK3RdLHA9dGhpcy5yYW5nZXNbaStyXTtlKGwsbCtjLGQsZCtwKSxvKz1wLWN9fWludmVydCgpe3JldHVybiBuZXcgYSh0aGlzLnJhbmdlcywhdGhpcy5pbnZlcnRlZCl9dG9TdHJpbmcoKXtyZXR1cm4odGhpcy5pbnZlcnRlZD8iLSI6IiIpK0pTT04uc3RyaW5naWZ5KHRoaXMucmFuZ2VzKX1zdGF0aWMgb2Zmc2V0KGUpe3JldHVybiBlPT0wP2EuZW1wdHk6bmV3IGEoZTwwP1swLC1lLDBdOlswLDAsZV0pfX07VzIuZW1wdHk9bmV3IFcyKFtdKTt5bT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIk1hcHBpbmciKX1jb25zdHJ1Y3RvcihlLHQscj0wLGk9ZT9lLmxlbmd0aDowKXt0aGlzLm1pcnJvcj10LHRoaXMuZnJvbT1yLHRoaXMudG89aSx0aGlzLl9tYXBzPWV8fFtdLHRoaXMub3duRGF0YT0hKGV8fHQpfWdldCBtYXBzKCl7cmV0dXJuIHRoaXMuX21hcHN9c2xpY2UoZT0wLHQ9dGhpcy5tYXBzLmxlbmd0aCl7cmV0dXJuIG5ldyBhKHRoaXMuX21hcHMsdGhpcy5taXJyb3IsZSx0KX1hcHBlbmRNYXAoZSx0KXt0aGlzLm93bkRhdGF8fCh0aGlzLl9tYXBzPXRoaXMuX21hcHMuc2xpY2UoKSx0aGlzLm1pcnJvcj10aGlzLm1pcnJvciYmdGhpcy5taXJyb3Iuc2xpY2UoKSx0aGlzLm93bkRhdGE9ITApLHRoaXMudG89dGhpcy5fbWFwcy5wdXNoKGUpLHQhPW51bGwmJnRoaXMuc2V0TWlycm9yKHRoaXMuX21hcHMubGVuZ3RoLTEsdCl9YXBwZW5kTWFwcGluZyhlKXtmb3IobGV0IHQ9MCxyPXRoaXMuX21hcHMubGVuZ3RoO3Q8ZS5fbWFwcy5sZW5ndGg7dCsrKXtsZXQgaT1lLmdldE1pcnJvcih0KTt0aGlzLmFwcGVuZE1hcChlLl9tYXBzW3RdLGkhPW51bGwmJmk8dD9yK2k6dm9pZCAwKX19Z2V0TWlycm9yKGUpe2lmKHRoaXMubWlycm9yKXtmb3IobGV0IHQ9MDt0PHRoaXMubWlycm9yLmxlbmd0aDt0KyspaWYodGhpcy5taXJyb3JbdF09PWUpcmV0dXJuIHRoaXMubWlycm9yW3QrKHQlMj8tMToxKV19fXNldE1pcnJvcihlLHQpe3RoaXMubWlycm9yfHwodGhpcy5taXJyb3I9W10pLHRoaXMubWlycm9yLnB1c2goZSx0KX1hcHBlbmRNYXBwaW5nSW52ZXJ0ZWQoZSl7Zm9yKGxldCB0PWUubWFwcy5sZW5ndGgtMSxyPXRoaXMuX21hcHMubGVuZ3RoK2UuX21hcHMubGVuZ3RoO3Q+PTA7dC0tKXtsZXQgaT1lLmdldE1pcnJvcih0KTt0aGlzLmFwcGVuZE1hcChlLl9tYXBzW3RdLmludmVydCgpLGkhPW51bGwmJmk+dD9yLWktMTp2b2lkIDApfX1pbnZlcnQoKXtsZXQgZT1uZXcgYTtyZXR1cm4gZS5hcHBlbmRNYXBwaW5nSW52ZXJ0ZWQodGhpcyksZX1tYXAoZSx0PTEpe2lmKHRoaXMubWlycm9yKXJldHVybiB0aGlzLl9tYXAoZSx0LCEwKTtmb3IobGV0IHI9dGhpcy5mcm9tO3I8dGhpcy50bztyKyspZT10aGlzLl9tYXBzW3JdLm1hcChlLHQpO3JldHVybiBlfW1hcFJlc3VsdChlLHQ9MSl7cmV0dXJuIHRoaXMuX21hcChlLHQsITEpfV9tYXAoZSx0LHIpe2xldCBpPTA7Zm9yKGxldCBvPXRoaXMuZnJvbTtvPHRoaXMudG87bysrKXtsZXQgbj10aGlzLl9tYXBzW29dLGw9bi5tYXBSZXN1bHQoZSx0KTtpZihsLnJlY292ZXIhPW51bGwpe2xldCBkPXRoaXMuZ2V0TWlycm9yKG8pO2lmKGQhPW51bGwmJmQ+byYmZDx0aGlzLnRvKXtvPWQsZT10aGlzLl9tYXBzW2RdLnJlY292ZXIobC5yZWNvdmVyKTtjb250aW51ZX19aXw9bC5kZWxJbmZvLGU9bC5wb3N9cmV0dXJuIHI/ZTpuZXcgYm0oZSxpLG51bGwpfX0sZ0tlPU9iamVjdC5jcmVhdGUobnVsbCksRXM9Y2xhc3N7c3RhdGlje3ModGhpcywiU3RlcCIpfWdldE1hcCgpe3JldHVybiBXMi5lbXB0eX1tZXJnZShlKXtyZXR1cm4gbnVsbH1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZighdHx8IXQuc3RlcFR5cGUpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIFN0ZXAuZnJvbUpTT04iKTtsZXQgcj1nS2VbdC5zdGVwVHlwZV07aWYoIXIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYE5vIHN0ZXAgdHlwZSAke3Quc3RlcFR5cGV9IGRlZmluZWRgKTtyZXR1cm4gci5mcm9tSlNPTihlLHQpfXN0YXRpYyBqc29uSUQoZSx0KXtpZihlIGluIGdLZSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiRHVwbGljYXRlIHVzZSBvZiBzdGVwIEpTT04gSUQgIitlKTtyZXR1cm4gZ0tlW2VdPXQsdC5wcm90b3R5cGUuanNvbklEPWUsdH19LFdzPWNsYXNzIGF7c3RhdGlje3ModGhpcywiU3RlcFJlc3VsdCIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5kb2M9ZSx0aGlzLmZhaWxlZD10fXN0YXRpYyBvayhlKXtyZXR1cm4gbmV3IGEoZSxudWxsKX1zdGF0aWMgZmFpbChlKXtyZXR1cm4gbmV3IGEobnVsbCxlKX1zdGF0aWMgZnJvbVJlcGxhY2UoZSx0LHIsaSl7dHJ5e3JldHVybiBhLm9rKGUucmVwbGFjZSh0LHIsaSkpfWNhdGNoKG8pe2lmKG8gaW5zdGFuY2VvZiBmNClyZXR1cm4gYS5mYWlsKG8ubWVzc2FnZSk7dGhyb3cgb319fTtzKGJLZSwibWFwRnJhZ21lbnQiKTt2bT1jbGFzcyBhIGV4dGVuZHMgRXN7c3RhdGlje3ModGhpcywiQWRkTWFya1N0ZXAiKX1jb25zdHJ1Y3RvcihlLHQscil7c3VwZXIoKSx0aGlzLmZyb209ZSx0aGlzLnRvPXQsdGhpcy5tYXJrPXJ9YXBwbHkoZSl7bGV0IHQ9ZS5zbGljZSh0aGlzLmZyb20sdGhpcy50bykscj1lLnJlc29sdmUodGhpcy5mcm9tKSxpPXIubm9kZShyLnNoYXJlZERlcHRoKHRoaXMudG8pKSxvPW5ldyBzdChiS2UodC5jb250ZW50LChuLGwpPT4hbi5pc0F0b218fCFsLnR5cGUuYWxsb3dzTWFya1R5cGUodGhpcy5tYXJrLnR5cGUpP246bi5tYXJrKHRoaXMubWFyay5hZGRUb1NldChuLm1hcmtzKSksaSksdC5vcGVuU3RhcnQsdC5vcGVuRW5kKTtyZXR1cm4gV3MuZnJvbVJlcGxhY2UoZSx0aGlzLmZyb20sdGhpcy50byxvKX1pbnZlcnQoKXtyZXR1cm4gbmV3IGc0KHRoaXMuZnJvbSx0aGlzLnRvLHRoaXMubWFyayl9bWFwKGUpe2xldCB0PWUubWFwUmVzdWx0KHRoaXMuZnJvbSwxKSxyPWUubWFwUmVzdWx0KHRoaXMudG8sLTEpO3JldHVybiB0LmRlbGV0ZWQmJnIuZGVsZXRlZHx8dC5wb3M+PXIucG9zP251bGw6bmV3IGEodC5wb3Msci5wb3MsdGhpcy5tYXJrKX1tZXJnZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIGEmJmUubWFyay5lcSh0aGlzLm1hcmspJiZ0aGlzLmZyb208PWUudG8mJnRoaXMudG8+PWUuZnJvbT9uZXcgYShNYXRoLm1pbih0aGlzLmZyb20sZS5mcm9tKSxNYXRoLm1heCh0aGlzLnRvLGUudG8pLHRoaXMubWFyayk6bnVsbH10b0pTT04oKXtyZXR1cm57c3RlcFR5cGU6ImFkZE1hcmsiLG1hcms6dGhpcy5tYXJrLnRvSlNPTigpLGZyb206dGhpcy5mcm9tLHRvOnRoaXMudG99fXN0YXRpYyBmcm9tSlNPTihlLHQpe2lmKHR5cGVvZiB0LmZyb20hPSJudW1iZXIifHx0eXBlb2YgdC50byE9Im51bWJlciIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIEFkZE1hcmtTdGVwLmZyb21KU09OIik7cmV0dXJuIG5ldyBhKHQuZnJvbSx0LnRvLGUubWFya0Zyb21KU09OKHQubWFyaykpfX07RXMuanNvbklEKCJhZGRNYXJrIix2bSk7ZzQ9Y2xhc3MgYSBleHRlbmRzIEVze3N0YXRpY3tzKHRoaXMsIlJlbW92ZU1hcmtTdGVwIil9Y29uc3RydWN0b3IoZSx0LHIpe3N1cGVyKCksdGhpcy5mcm9tPWUsdGhpcy50bz10LHRoaXMubWFyaz1yfWFwcGx5KGUpe2xldCB0PWUuc2xpY2UodGhpcy5mcm9tLHRoaXMudG8pLHI9bmV3IHN0KGJLZSh0LmNvbnRlbnQsaT0+aS5tYXJrKHRoaXMubWFyay5yZW1vdmVGcm9tU2V0KGkubWFya3MpKSxlKSx0Lm9wZW5TdGFydCx0Lm9wZW5FbmQpO3JldHVybiBXcy5mcm9tUmVwbGFjZShlLHRoaXMuZnJvbSx0aGlzLnRvLHIpfWludmVydCgpe3JldHVybiBuZXcgdm0odGhpcy5mcm9tLHRoaXMudG8sdGhpcy5tYXJrKX1tYXAoZSl7bGV0IHQ9ZS5tYXBSZXN1bHQodGhpcy5mcm9tLDEpLHI9ZS5tYXBSZXN1bHQodGhpcy50bywtMSk7cmV0dXJuIHQuZGVsZXRlZCYmci5kZWxldGVkfHx0LnBvcz49ci5wb3M/bnVsbDpuZXcgYSh0LnBvcyxyLnBvcyx0aGlzLm1hcmspfW1lcmdlKGUpe3JldHVybiBlIGluc3RhbmNlb2YgYSYmZS5tYXJrLmVxKHRoaXMubWFyaykmJnRoaXMuZnJvbTw9ZS50byYmdGhpcy50bz49ZS5mcm9tP25ldyBhKE1hdGgubWluKHRoaXMuZnJvbSxlLmZyb20pLE1hdGgubWF4KHRoaXMudG8sZS50byksdGhpcy5tYXJrKTpudWxsfXRvSlNPTigpe3JldHVybntzdGVwVHlwZToicmVtb3ZlTWFyayIsbWFyazp0aGlzLm1hcmsudG9KU09OKCksZnJvbTp0aGlzLmZyb20sdG86dGhpcy50b319c3RhdGljIGZyb21KU09OKGUsdCl7aWYodHlwZW9mIHQuZnJvbSE9Im51bWJlciJ8fHR5cGVvZiB0LnRvIT0ibnVtYmVyIil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgUmVtb3ZlTWFya1N0ZXAuZnJvbUpTT04iKTtyZXR1cm4gbmV3IGEodC5mcm9tLHQudG8sZS5tYXJrRnJvbUpTT04odC5tYXJrKSl9fTtFcy5qc29uSUQoInJlbW92ZU1hcmsiLGc0KTt4bT1jbGFzcyBhIGV4dGVuZHMgRXN7c3RhdGlje3ModGhpcywiQWRkTm9kZU1hcmtTdGVwIil9Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHRoaXMucG9zPWUsdGhpcy5tYXJrPXR9YXBwbHkoZSl7bGV0IHQ9ZS5ub2RlQXQodGhpcy5wb3MpO2lmKCF0KXJldHVybiBXcy5mYWlsKCJObyBub2RlIGF0IG1hcmsgc3RlcCdzIHBvc2l0aW9uIik7bGV0IHI9dC50eXBlLmNyZWF0ZSh0LmF0dHJzLG51bGwsdGhpcy5tYXJrLmFkZFRvU2V0KHQubWFya3MpKTtyZXR1cm4gV3MuZnJvbVJlcGxhY2UoZSx0aGlzLnBvcyx0aGlzLnBvcysxLG5ldyBzdChWZS5mcm9tKHIpLDAsdC5pc0xlYWY/MDoxKSl9aW52ZXJ0KGUpe2xldCB0PWUubm9kZUF0KHRoaXMucG9zKTtpZih0KXtsZXQgcj10aGlzLm1hcmsuYWRkVG9TZXQodC5tYXJrcyk7aWYoci5sZW5ndGg9PXQubWFya3MubGVuZ3RoKXtmb3IobGV0IGk9MDtpPHQubWFya3MubGVuZ3RoO2krKylpZighdC5tYXJrc1tpXS5pc0luU2V0KHIpKXJldHVybiBuZXcgYSh0aGlzLnBvcyx0Lm1hcmtzW2ldKTtyZXR1cm4gbmV3IGEodGhpcy5wb3MsdGhpcy5tYXJrKX19cmV0dXJuIG5ldyBIZih0aGlzLnBvcyx0aGlzLm1hcmspfW1hcChlKXtsZXQgdD1lLm1hcFJlc3VsdCh0aGlzLnBvcywxKTtyZXR1cm4gdC5kZWxldGVkQWZ0ZXI/bnVsbDpuZXcgYSh0LnBvcyx0aGlzLm1hcmspfXRvSlNPTigpe3JldHVybntzdGVwVHlwZToiYWRkTm9kZU1hcmsiLHBvczp0aGlzLnBvcyxtYXJrOnRoaXMubWFyay50b0pTT04oKX19c3RhdGljIGZyb21KU09OKGUsdCl7aWYodHlwZW9mIHQucG9zIT0ibnVtYmVyIil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgQWRkTm9kZU1hcmtTdGVwLmZyb21KU09OIik7cmV0dXJuIG5ldyBhKHQucG9zLGUubWFya0Zyb21KU09OKHQubWFyaykpfX07RXMuanNvbklEKCJhZGROb2RlTWFyayIseG0pO0hmPWNsYXNzIGEgZXh0ZW5kcyBFc3tzdGF0aWN7cyh0aGlzLCJSZW1vdmVOb2RlTWFya1N0ZXAiKX1jb25zdHJ1Y3RvcihlLHQpe3N1cGVyKCksdGhpcy5wb3M9ZSx0aGlzLm1hcms9dH1hcHBseShlKXtsZXQgdD1lLm5vZGVBdCh0aGlzLnBvcyk7aWYoIXQpcmV0dXJuIFdzLmZhaWwoIk5vIG5vZGUgYXQgbWFyayBzdGVwJ3MgcG9zaXRpb24iKTtsZXQgcj10LnR5cGUuY3JlYXRlKHQuYXR0cnMsbnVsbCx0aGlzLm1hcmsucmVtb3ZlRnJvbVNldCh0Lm1hcmtzKSk7cmV0dXJuIFdzLmZyb21SZXBsYWNlKGUsdGhpcy5wb3MsdGhpcy5wb3MrMSxuZXcgc3QoVmUuZnJvbShyKSwwLHQuaXNMZWFmPzA6MSkpfWludmVydChlKXtsZXQgdD1lLm5vZGVBdCh0aGlzLnBvcyk7cmV0dXJuIXR8fCF0aGlzLm1hcmsuaXNJblNldCh0Lm1hcmtzKT90aGlzOm5ldyB4bSh0aGlzLnBvcyx0aGlzLm1hcmspfW1hcChlKXtsZXQgdD1lLm1hcFJlc3VsdCh0aGlzLnBvcywxKTtyZXR1cm4gdC5kZWxldGVkQWZ0ZXI/bnVsbDpuZXcgYSh0LnBvcyx0aGlzLm1hcmspfXRvSlNPTigpe3JldHVybntzdGVwVHlwZToicmVtb3ZlTm9kZU1hcmsiLHBvczp0aGlzLnBvcyxtYXJrOnRoaXMubWFyay50b0pTT04oKX19c3RhdGljIGZyb21KU09OKGUsdCl7aWYodHlwZW9mIHQucG9zIT0ibnVtYmVyIil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgUmVtb3ZlTm9kZU1hcmtTdGVwLmZyb21KU09OIik7cmV0dXJuIG5ldyBhKHQucG9zLGUubWFya0Zyb21KU09OKHQubWFyaykpfX07RXMuanNvbklEKCJyZW1vdmVOb2RlTWFyayIsSGYpO0dzPWNsYXNzIGEgZXh0ZW5kcyBFc3tzdGF0aWN7cyh0aGlzLCJSZXBsYWNlU3RlcCIpfWNvbnN0cnVjdG9yKGUsdCxyLGk9ITEpe3N1cGVyKCksdGhpcy5mcm9tPWUsdGhpcy50bz10LHRoaXMuc2xpY2U9cix0aGlzLnN0cnVjdHVyZT1pfWFwcGx5KGUpe3JldHVybiB0aGlzLnN0cnVjdHVyZSYmdktlKGUsdGhpcy5mcm9tLHRoaXMudG8pP1dzLmZhaWwoIlN0cnVjdHVyZSByZXBsYWNlIHdvdWxkIG92ZXJ3cml0ZSBjb250ZW50Iik6V3MuZnJvbVJlcGxhY2UoZSx0aGlzLmZyb20sdGhpcy50byx0aGlzLnNsaWNlKX1nZXRNYXAoKXtyZXR1cm4gbmV3IFcyKFt0aGlzLmZyb20sdGhpcy50by10aGlzLmZyb20sdGhpcy5zbGljZS5zaXplXSl9aW52ZXJ0KGUpe3JldHVybiBuZXcgYSh0aGlzLmZyb20sdGhpcy5mcm9tK3RoaXMuc2xpY2Uuc2l6ZSxlLnNsaWNlKHRoaXMuZnJvbSx0aGlzLnRvKSl9bWFwKGUpe2xldCB0PWUubWFwUmVzdWx0KHRoaXMudG8sLTEpLHI9dGhpcy5mcm9tPT10aGlzLnRvJiZhLk1BUF9CSUFTPDA/dDplLm1hcFJlc3VsdCh0aGlzLmZyb20sMSk7cmV0dXJuIHIuZGVsZXRlZEFjcm9zcyYmdC5kZWxldGVkQWNyb3NzP251bGw6bmV3IGEoci5wb3MsTWF0aC5tYXgoci5wb3MsdC5wb3MpLHRoaXMuc2xpY2UsdGhpcy5zdHJ1Y3R1cmUpfW1lcmdlKGUpe2lmKCEoZSBpbnN0YW5jZW9mIGEpfHxlLnN0cnVjdHVyZXx8dGhpcy5zdHJ1Y3R1cmUpcmV0dXJuIG51bGw7aWYodGhpcy5mcm9tK3RoaXMuc2xpY2Uuc2l6ZT09ZS5mcm9tJiYhdGhpcy5zbGljZS5vcGVuRW5kJiYhZS5zbGljZS5vcGVuU3RhcnQpe2xldCB0PXRoaXMuc2xpY2Uuc2l6ZStlLnNsaWNlLnNpemU9PTA/c3QuZW1wdHk6bmV3IHN0KHRoaXMuc2xpY2UuY29udGVudC5hcHBlbmQoZS5zbGljZS5jb250ZW50KSx0aGlzLnNsaWNlLm9wZW5TdGFydCxlLnNsaWNlLm9wZW5FbmQpO3JldHVybiBuZXcgYSh0aGlzLmZyb20sdGhpcy50bysoZS50by1lLmZyb20pLHQsdGhpcy5zdHJ1Y3R1cmUpfWVsc2UgaWYoZS50bz09dGhpcy5mcm9tJiYhdGhpcy5zbGljZS5vcGVuU3RhcnQmJiFlLnNsaWNlLm9wZW5FbmQpe2xldCB0PXRoaXMuc2xpY2Uuc2l6ZStlLnNsaWNlLnNpemU9PTA/c3QuZW1wdHk6bmV3IHN0KGUuc2xpY2UuY29udGVudC5hcHBlbmQodGhpcy5zbGljZS5jb250ZW50KSxlLnNsaWNlLm9wZW5TdGFydCx0aGlzLnNsaWNlLm9wZW5FbmQpO3JldHVybiBuZXcgYShlLmZyb20sdGhpcy50byx0LHRoaXMuc3RydWN0dXJlKX1lbHNlIHJldHVybiBudWxsfXRvSlNPTigpe2xldCBlPXtzdGVwVHlwZToicmVwbGFjZSIsZnJvbTp0aGlzLmZyb20sdG86dGhpcy50b307cmV0dXJuIHRoaXMuc2xpY2Uuc2l6ZSYmKGUuc2xpY2U9dGhpcy5zbGljZS50b0pTT04oKSksdGhpcy5zdHJ1Y3R1cmUmJihlLnN0cnVjdHVyZT0hMCksZX1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZih0eXBlb2YgdC5mcm9tIT0ibnVtYmVyInx8dHlwZW9mIHQudG8hPSJudW1iZXIiKXRocm93IG5ldyBSYW5nZUVycm9yKCJJbnZhbGlkIGlucHV0IGZvciBSZXBsYWNlU3RlcC5mcm9tSlNPTiIpO3JldHVybiBuZXcgYSh0LmZyb20sdC50byxzdC5mcm9tSlNPTihlLHQuc2xpY2UpLCEhdC5zdHJ1Y3R1cmUpfX07R3MuTUFQX0JJQVM9MSxFcy5qc29uSUQoInJlcGxhY2UiLEdzKTtRcj1jbGFzcyBhIGV4dGVuZHMgRXN7c3RhdGlje3ModGhpcywiUmVwbGFjZUFyb3VuZFN0ZXAiKX1jb25zdHJ1Y3RvcihlLHQscixpLG8sbixsPSExKXtzdXBlcigpLHRoaXMuZnJvbT1lLHRoaXMudG89dCx0aGlzLmdhcEZyb209cix0aGlzLmdhcFRvPWksdGhpcy5zbGljZT1vLHRoaXMuaW5zZXJ0PW4sdGhpcy5zdHJ1Y3R1cmU9bH1hcHBseShlKXtpZih0aGlzLnN0cnVjdHVyZSYmKHZLZShlLHRoaXMuZnJvbSx0aGlzLmdhcEZyb20pfHx2S2UoZSx0aGlzLmdhcFRvLHRoaXMudG8pKSlyZXR1cm4gV3MuZmFpbCgiU3RydWN0dXJlIGdhcC1yZXBsYWNlIHdvdWxkIG92ZXJ3cml0ZSBjb250ZW50Iik7bGV0IHQ9ZS5zbGljZSh0aGlzLmdhcEZyb20sdGhpcy5nYXBUbyk7aWYodC5vcGVuU3RhcnR8fHQub3BlbkVuZClyZXR1cm4gV3MuZmFpbCgiR2FwIGlzIG5vdCBhIGZsYXQgcmFuZ2UiKTtsZXQgcj10aGlzLnNsaWNlLmluc2VydEF0KHRoaXMuaW5zZXJ0LHQuY29udGVudCk7cmV0dXJuIHI/V3MuZnJvbVJlcGxhY2UoZSx0aGlzLmZyb20sdGhpcy50byxyKTpXcy5mYWlsKCJDb250ZW50IGRvZXMgbm90IGZpdCBpbiBnYXAiKX1nZXRNYXAoKXtyZXR1cm4gbmV3IFcyKFt0aGlzLmZyb20sdGhpcy5nYXBGcm9tLXRoaXMuZnJvbSx0aGlzLmluc2VydCx0aGlzLmdhcFRvLHRoaXMudG8tdGhpcy5nYXBUbyx0aGlzLnNsaWNlLnNpemUtdGhpcy5pbnNlcnRdKX1pbnZlcnQoZSl7bGV0IHQ9dGhpcy5nYXBUby10aGlzLmdhcEZyb207cmV0dXJuIG5ldyBhKHRoaXMuZnJvbSx0aGlzLmZyb20rdGhpcy5zbGljZS5zaXplK3QsdGhpcy5mcm9tK3RoaXMuaW5zZXJ0LHRoaXMuZnJvbSt0aGlzLmluc2VydCt0LGUuc2xpY2UodGhpcy5mcm9tLHRoaXMudG8pLnJlbW92ZUJldHdlZW4odGhpcy5nYXBGcm9tLXRoaXMuZnJvbSx0aGlzLmdhcFRvLXRoaXMuZnJvbSksdGhpcy5nYXBGcm9tLXRoaXMuZnJvbSx0aGlzLnN0cnVjdHVyZSl9bWFwKGUpe2xldCB0PWUubWFwUmVzdWx0KHRoaXMuZnJvbSwxKSxyPWUubWFwUmVzdWx0KHRoaXMudG8sLTEpLGk9dGhpcy5mcm9tPT10aGlzLmdhcEZyb20/dC5wb3M6ZS5tYXAodGhpcy5nYXBGcm9tLC0xKSxvPXRoaXMudG89PXRoaXMuZ2FwVG8/ci5wb3M6ZS5tYXAodGhpcy5nYXBUbywxKTtyZXR1cm4gdC5kZWxldGVkQWNyb3NzJiZyLmRlbGV0ZWRBY3Jvc3N8fGk8dC5wb3N8fG8+ci5wb3M/bnVsbDpuZXcgYSh0LnBvcyxyLnBvcyxpLG8sdGhpcy5zbGljZSx0aGlzLmluc2VydCx0aGlzLnN0cnVjdHVyZSl9dG9KU09OKCl7bGV0IGU9e3N0ZXBUeXBlOiJyZXBsYWNlQXJvdW5kIixmcm9tOnRoaXMuZnJvbSx0bzp0aGlzLnRvLGdhcEZyb206dGhpcy5nYXBGcm9tLGdhcFRvOnRoaXMuZ2FwVG8saW5zZXJ0OnRoaXMuaW5zZXJ0fTtyZXR1cm4gdGhpcy5zbGljZS5zaXplJiYoZS5zbGljZT10aGlzLnNsaWNlLnRvSlNPTigpKSx0aGlzLnN0cnVjdHVyZSYmKGUuc3RydWN0dXJlPSEwKSxlfXN0YXRpYyBmcm9tSlNPTihlLHQpe2lmKHR5cGVvZiB0LmZyb20hPSJudW1iZXIifHx0eXBlb2YgdC50byE9Im51bWJlciJ8fHR5cGVvZiB0LmdhcEZyb20hPSJudW1iZXIifHx0eXBlb2YgdC5nYXBUbyE9Im51bWJlciJ8fHR5cGVvZiB0Lmluc2VydCE9Im51bWJlciIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIFJlcGxhY2VBcm91bmRTdGVwLmZyb21KU09OIik7cmV0dXJuIG5ldyBhKHQuZnJvbSx0LnRvLHQuZ2FwRnJvbSx0LmdhcFRvLHN0LmZyb21KU09OKGUsdC5zbGljZSksdC5pbnNlcnQsISF0LnN0cnVjdHVyZSl9fTtFcy5qc29uSUQoInJlcGxhY2VBcm91bmQiLFFyKTtzKHZLZSwiY29udGVudEJldHdlZW4iKTtzKHJEYSwiYWRkTWFyayIpO3Moc0RhLCJyZW1vdmVNYXJrIik7cyh4S2UsImNsZWFySW5jb21wYXRpYmxlIik7cyhpRGEsImNhbkN1dCIpO3MoRzIsImxpZnRUYXJnZXQiKTtzKG9EYSwibGlmdCIpO3MoamYsImZpbmRXcmFwcGluZyIpO3MoWmlhLCJ3aXRoQXR0cnMiKTtzKG5EYSwiZmluZFdyYXBwaW5nT3V0c2lkZSIpO3MobERhLCJmaW5kV3JhcHBpbmdJbnNpZGUiKTtzKGNEYSwid3JhcCIpO3MoZERhLCJzZXRCbG9ja1R5cGUiKTtzKFhpYSwicmVwbGFjZU5ld2xpbmVzIik7cyhRaWEsInJlcGxhY2VMaW5lYnJlYWtzIik7cyh1RGEsImNhbkNoYW5nZVR5cGUiKTtzKHBEYSwic2V0Tm9kZU1hcmt1cCIpO3MoRG8sImNhblNwbGl0Iik7cyhmRGEsInNwbGl0Iik7cyhlbiwiY2FuSm9pbiIpO3MoaERhLCJjYW5BcHBlbmRXaXRoU3Vic3RpdHV0ZWRMaW5lYnJlYWtzIik7cyhKaWEsImpvaW5hYmxlIik7cyhVZiwiam9pblBvaW50Iik7cyhtRGEsImpvaW4iKTtzKGVvYSwiaW5zZXJ0UG9pbnQiKTtzKEtVLCJkcm9wUG9pbnQiKTtzKHdtLCJyZXBsYWNlU3RlcCIpO3ModG9hLCJmaXRzVHJpdmlhbGx5Iik7eUtlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkZpdHRlciIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLiRmcm9tPWUsdGhpcy4kdG89dCx0aGlzLnVucGxhY2VkPXIsdGhpcy5mcm9udGllcj1bXSx0aGlzLnBsYWNlZD1WZS5lbXB0eTtmb3IobGV0IGk9MDtpPD1lLmRlcHRoO2krKyl7bGV0IG89ZS5ub2RlKGkpO3RoaXMuZnJvbnRpZXIucHVzaCh7dHlwZTpvLnR5cGUsbWF0Y2g6by5jb250ZW50TWF0Y2hBdChlLmluZGV4QWZ0ZXIoaSkpfSl9Zm9yKGxldCBpPWUuZGVwdGg7aT4wO2ktLSl0aGlzLnBsYWNlZD1WZS5mcm9tKGUubm9kZShpKS5jb3B5KHRoaXMucGxhY2VkKSl9Z2V0IGRlcHRoKCl7cmV0dXJuIHRoaXMuZnJvbnRpZXIubGVuZ3RoLTF9Zml0KCl7Zm9yKDt0aGlzLnVucGxhY2VkLnNpemU7KXtsZXQgYz10aGlzLmZpbmRGaXR0YWJsZSgpO2M/dGhpcy5wbGFjZU5vZGVzKGMpOnRoaXMub3Blbk1vcmUoKXx8dGhpcy5kcm9wTm9kZSgpfWxldCBlPXRoaXMubXVzdE1vdmVJbmxpbmUoKSx0PXRoaXMucGxhY2VkLnNpemUtdGhpcy5kZXB0aC10aGlzLiRmcm9tLmRlcHRoLHI9dGhpcy4kZnJvbSxpPXRoaXMuY2xvc2UoZTwwP3RoaXMuJHRvOnIuZG9jLnJlc29sdmUoZSkpO2lmKCFpKXJldHVybiBudWxsO2xldCBvPXRoaXMucGxhY2VkLG49ci5kZXB0aCxsPWkuZGVwdGg7Zm9yKDtuJiZsJiZvLmNoaWxkQ291bnQ9PTE7KW89by5maXJzdENoaWxkLmNvbnRlbnQsbi0tLGwtLTtsZXQgZD1uZXcgc3QobyxuLGwpO3JldHVybiBlPi0xP25ldyBRcihyLnBvcyxlLHRoaXMuJHRvLnBvcyx0aGlzLiR0by5lbmQoKSxkLHQpOmQuc2l6ZXx8ci5wb3MhPXRoaXMuJHRvLnBvcz9uZXcgR3Moci5wb3MsaS5wb3MsZCk6bnVsbH1maW5kRml0dGFibGUoKXtsZXQgZT10aGlzLnVucGxhY2VkLm9wZW5TdGFydDtmb3IobGV0IHQ9dGhpcy51bnBsYWNlZC5jb250ZW50LHI9MCxpPXRoaXMudW5wbGFjZWQub3BlbkVuZDtyPGU7cisrKXtsZXQgbz10LmZpcnN0Q2hpbGQ7aWYodC5jaGlsZENvdW50PjEmJihpPTApLG8udHlwZS5zcGVjLmlzb2xhdGluZyYmaTw9cil7ZT1yO2JyZWFrfXQ9by5jb250ZW50fWZvcihsZXQgdD0xO3Q8PTI7dCsrKWZvcihsZXQgcj10PT0xP2U6dGhpcy51bnBsYWNlZC5vcGVuU3RhcnQ7cj49MDtyLS0pe2xldCBpLG89bnVsbDtyPyhvPXdLZSh0aGlzLnVucGxhY2VkLmNvbnRlbnQsci0xKS5maXJzdENoaWxkLGk9by5jb250ZW50KTppPXRoaXMudW5wbGFjZWQuY29udGVudDtsZXQgbj1pLmZpcnN0Q2hpbGQ7Zm9yKGxldCBsPXRoaXMuZGVwdGg7bD49MDtsLS0pe2xldHt0eXBlOmQsbWF0Y2g6Y309dGhpcy5mcm9udGllcltsXSxwLHU9bnVsbDtpZih0PT0xJiYobj9jLm1hdGNoVHlwZShuLnR5cGUpfHwodT1jLmZpbGxCZWZvcmUoVmUuZnJvbShuKSwhMSkpOm8mJmQuY29tcGF0aWJsZUNvbnRlbnQoby50eXBlKSkpcmV0dXJue3NsaWNlRGVwdGg6cixmcm9udGllckRlcHRoOmwscGFyZW50Om8saW5qZWN0OnV9O2lmKHQ9PTImJm4mJihwPWMuZmluZFdyYXBwaW5nKG4udHlwZSkpKXJldHVybntzbGljZURlcHRoOnIsZnJvbnRpZXJEZXB0aDpsLHBhcmVudDpvLHdyYXA6cH07aWYobyYmYy5tYXRjaFR5cGUoby50eXBlKSlicmVha319fW9wZW5Nb3JlKCl7bGV0e2NvbnRlbnQ6ZSxvcGVuU3RhcnQ6dCxvcGVuRW5kOnJ9PXRoaXMudW5wbGFjZWQsaT13S2UoZSx0KTtyZXR1cm4haS5jaGlsZENvdW50fHxpLmZpcnN0Q2hpbGQuaXNMZWFmPyExOih0aGlzLnVucGxhY2VkPW5ldyBzdChlLHQrMSxNYXRoLm1heChyLGkuc2l6ZSt0Pj1lLnNpemUtcj90KzE6MCkpLCEwKX1kcm9wTm9kZSgpe2xldHtjb250ZW50OmUsb3BlblN0YXJ0OnQsb3BlbkVuZDpyfT10aGlzLnVucGxhY2VkLGk9d0tlKGUsdCk7aWYoaS5jaGlsZENvdW50PD0xJiZ0PjApe2xldCBvPWUuc2l6ZS10PD10K2kuc2l6ZTt0aGlzLnVucGxhY2VkPW5ldyBzdChVVShlLHQtMSwxKSx0LTEsbz90LTE6cil9ZWxzZSB0aGlzLnVucGxhY2VkPW5ldyBzdChVVShlLHQsMSksdCxyKX1wbGFjZU5vZGVzKHtzbGljZURlcHRoOmUsZnJvbnRpZXJEZXB0aDp0LHBhcmVudDpyLGluamVjdDppLHdyYXA6b30pe2Zvcig7dGhpcy5kZXB0aD50Oyl0aGlzLmNsb3NlRnJvbnRpZXJOb2RlKCk7aWYobylmb3IobGV0IGI9MDtiPG8ubGVuZ3RoO2IrKyl0aGlzLm9wZW5Gcm9udGllck5vZGUob1tiXSk7bGV0IG49dGhpcy51bnBsYWNlZCxsPXI/ci5jb250ZW50Om4uY29udGVudCxkPW4ub3BlblN0YXJ0LWUsYz0wLHA9W10se21hdGNoOnUsdHlwZTptfT10aGlzLmZyb250aWVyW3RdO2lmKGkpe2ZvcihsZXQgYj0wO2I8aS5jaGlsZENvdW50O2IrKylwLnB1c2goaS5jaGlsZChiKSk7dT11Lm1hdGNoRnJhZ21lbnQoaSl9bGV0IHY9bC5zaXplK2UtKG4uY29udGVudC5zaXplLW4ub3BlbkVuZCk7Zm9yKDtjPGwuY2hpbGRDb3VudDspe2xldCBiPWwuY2hpbGQoYyksZz11Lm1hdGNoVHlwZShiLnR5cGUpO2lmKCFnKWJyZWFrO2MrKywoYz4xfHxkPT0wfHxiLmNvbnRlbnQuc2l6ZSkmJih1PWcscC5wdXNoKGFvYShiLm1hcmsobS5hbGxvd2VkTWFya3MoYi5tYXJrcykpLGM9PTE/ZDowLGM9PWwuY2hpbGRDb3VudD92Oi0xKSkpfWxldCB4PWM9PWwuY2hpbGRDb3VudDt4fHwodj0tMSksdGhpcy5wbGFjZWQ9V1UodGhpcy5wbGFjZWQsdCxWZS5mcm9tKHApKSx0aGlzLmZyb250aWVyW3RdLm1hdGNoPXUseCYmdjwwJiZyJiZyLnR5cGU9PXRoaXMuZnJvbnRpZXJbdGhpcy5kZXB0aF0udHlwZSYmdGhpcy5mcm9udGllci5sZW5ndGg+MSYmdGhpcy5jbG9zZUZyb250aWVyTm9kZSgpO2ZvcihsZXQgYj0wLGc9bDtiPHY7YisrKXtsZXQgeT1nLmxhc3RDaGlsZDt0aGlzLmZyb250aWVyLnB1c2goe3R5cGU6eS50eXBlLG1hdGNoOnkuY29udGVudE1hdGNoQXQoeS5jaGlsZENvdW50KX0pLGc9eS5jb250ZW50fXRoaXMudW5wbGFjZWQ9eD9lPT0wP3N0LmVtcHR5Om5ldyBzdChVVShuLmNvbnRlbnQsZS0xLDEpLGUtMSx2PDA/bi5vcGVuRW5kOmUtMSk6bmV3IHN0KFVVKG4uY29udGVudCxlLGMpLG4ub3BlblN0YXJ0LG4ub3BlbkVuZCl9bXVzdE1vdmVJbmxpbmUoKXtpZighdGhpcy4kdG8ucGFyZW50LmlzVGV4dGJsb2NrKXJldHVybi0xO2xldCBlPXRoaXMuZnJvbnRpZXJbdGhpcy5kZXB0aF0sdDtpZighZS50eXBlLmlzVGV4dGJsb2NrfHwhTUtlKHRoaXMuJHRvLHRoaXMuJHRvLmRlcHRoLGUudHlwZSxlLm1hdGNoLCExKXx8dGhpcy4kdG8uZGVwdGg9PXRoaXMuZGVwdGgmJih0PXRoaXMuZmluZENsb3NlTGV2ZWwodGhpcy4kdG8pKSYmdC5kZXB0aD09dGhpcy5kZXB0aClyZXR1cm4tMTtsZXR7ZGVwdGg6cn09dGhpcy4kdG8saT10aGlzLiR0by5hZnRlcihyKTtmb3IoO3I+MSYmaT09dGhpcy4kdG8uZW5kKC0tcik7KSsraTtyZXR1cm4gaX1maW5kQ2xvc2VMZXZlbChlKXtlOmZvcihsZXQgdD1NYXRoLm1pbih0aGlzLmRlcHRoLGUuZGVwdGgpO3Q+PTA7dC0tKXtsZXR7bWF0Y2g6cix0eXBlOml9PXRoaXMuZnJvbnRpZXJbdF0sbz10PGUuZGVwdGgmJmUuZW5kKHQrMSk9PWUucG9zKyhlLmRlcHRoLSh0KzEpKSxuPU1LZShlLHQsaSxyLG8pO2lmKG4pe2ZvcihsZXQgbD10LTE7bD49MDtsLS0pe2xldHttYXRjaDpkLHR5cGU6Y309dGhpcy5mcm9udGllcltsXSxwPU1LZShlLGwsYyxkLCEwKTtpZighcHx8cC5jaGlsZENvdW50KWNvbnRpbnVlIGV9cmV0dXJue2RlcHRoOnQsZml0Om4sbW92ZTpvP2UuZG9jLnJlc29sdmUoZS5hZnRlcih0KzEpKTplfX19fWNsb3NlKGUpe2xldCB0PXRoaXMuZmluZENsb3NlTGV2ZWwoZSk7aWYoIXQpcmV0dXJuIG51bGw7Zm9yKDt0aGlzLmRlcHRoPnQuZGVwdGg7KXRoaXMuY2xvc2VGcm9udGllck5vZGUoKTt0LmZpdC5jaGlsZENvdW50JiYodGhpcy5wbGFjZWQ9V1UodGhpcy5wbGFjZWQsdC5kZXB0aCx0LmZpdCkpLGU9dC5tb3ZlO2ZvcihsZXQgcj10LmRlcHRoKzE7cjw9ZS5kZXB0aDtyKyspe2xldCBpPWUubm9kZShyKSxvPWkudHlwZS5jb250ZW50TWF0Y2guZmlsbEJlZm9yZShpLmNvbnRlbnQsITAsZS5pbmRleChyKSk7dGhpcy5vcGVuRnJvbnRpZXJOb2RlKGkudHlwZSxpLmF0dHJzLG8pfXJldHVybiBlfW9wZW5Gcm9udGllck5vZGUoZSx0PW51bGwscil7bGV0IGk9dGhpcy5mcm9udGllclt0aGlzLmRlcHRoXTtpLm1hdGNoPWkubWF0Y2gubWF0Y2hUeXBlKGUpLHRoaXMucGxhY2VkPVdVKHRoaXMucGxhY2VkLHRoaXMuZGVwdGgsVmUuZnJvbShlLmNyZWF0ZSh0LHIpKSksdGhpcy5mcm9udGllci5wdXNoKHt0eXBlOmUsbWF0Y2g6ZS5jb250ZW50TWF0Y2h9KX1jbG9zZUZyb250aWVyTm9kZSgpe2xldCB0PXRoaXMuZnJvbnRpZXIucG9wKCkubWF0Y2guZmlsbEJlZm9yZShWZS5lbXB0eSwhMCk7dC5jaGlsZENvdW50JiYodGhpcy5wbGFjZWQ9V1UodGhpcy5wbGFjZWQsdGhpcy5mcm9udGllci5sZW5ndGgsdCkpfX07cyhVVSwiZHJvcEZyb21GcmFnbWVudCIpO3MoV1UsImFkZFRvRnJhZ21lbnQiKTtzKHdLZSwiY29udGVudEF0Iik7cyhhb2EsImNsb3NlTm9kZVN0YXJ0Iik7cyhNS2UsImNvbnRlbnRBZnRlckZpdHMiKTtzKGdEYSwiaW52YWxpZE1hcmtzIik7cyhiRGEsImRlZmluZXNDb250ZW50Iik7cyh2RGEsInJlcGxhY2VSYW5nZSIpO3Mocm9hLCJjbG9zZUZyYWdtZW50Iik7cyh4RGEsInJlcGxhY2VSYW5nZVdpdGgiKTtzKHlEYSwiZGVsZXRlUmFuZ2UiKTtzKHNvYSwiY292ZXJlZERlcHRocyIpO0dVPWNsYXNzIGEgZXh0ZW5kcyBFc3tzdGF0aWN7cyh0aGlzLCJBdHRyU3RlcCIpfWNvbnN0cnVjdG9yKGUsdCxyKXtzdXBlcigpLHRoaXMucG9zPWUsdGhpcy5hdHRyPXQsdGhpcy52YWx1ZT1yfWFwcGx5KGUpe2xldCB0PWUubm9kZUF0KHRoaXMucG9zKTtpZighdClyZXR1cm4gV3MuZmFpbCgiTm8gbm9kZSBhdCBhdHRyaWJ1dGUgc3RlcCdzIHBvc2l0aW9uIik7bGV0IHI9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IobGV0IG8gaW4gdC5hdHRycylyW29dPXQuYXR0cnNbb107clt0aGlzLmF0dHJdPXRoaXMudmFsdWU7bGV0IGk9dC50eXBlLmNyZWF0ZShyLG51bGwsdC5tYXJrcyk7cmV0dXJuIFdzLmZyb21SZXBsYWNlKGUsdGhpcy5wb3MsdGhpcy5wb3MrMSxuZXcgc3QoVmUuZnJvbShpKSwwLHQuaXNMZWFmPzA6MSkpfWdldE1hcCgpe3JldHVybiBXMi5lbXB0eX1pbnZlcnQoZSl7cmV0dXJuIG5ldyBhKHRoaXMucG9zLHRoaXMuYXR0cixlLm5vZGVBdCh0aGlzLnBvcykuYXR0cnNbdGhpcy5hdHRyXSl9bWFwKGUpe2xldCB0PWUubWFwUmVzdWx0KHRoaXMucG9zLDEpO3JldHVybiB0LmRlbGV0ZWRBZnRlcj9udWxsOm5ldyBhKHQucG9zLHRoaXMuYXR0cix0aGlzLnZhbHVlKX10b0pTT04oKXtyZXR1cm57c3RlcFR5cGU6ImF0dHIiLHBvczp0aGlzLnBvcyxhdHRyOnRoaXMuYXR0cix2YWx1ZTp0aGlzLnZhbHVlfX1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZih0eXBlb2YgdC5wb3MhPSJudW1iZXIifHx0eXBlb2YgdC5hdHRyIT0ic3RyaW5nIil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgQXR0clN0ZXAuZnJvbUpTT04iKTtyZXR1cm4gbmV3IGEodC5wb3MsdC5hdHRyLHQudmFsdWUpfX07RXMuanNvbklEKCJhdHRyIixHVSk7WVU9Y2xhc3MgYSBleHRlbmRzIEVze3N0YXRpY3tzKHRoaXMsIkRvY0F0dHJTdGVwIil9Y29uc3RydWN0b3IoZSx0KXtzdXBlcigpLHRoaXMuYXR0cj1lLHRoaXMudmFsdWU9dH1hcHBseShlKXtsZXQgdD1PYmplY3QuY3JlYXRlKG51bGwpO2ZvcihsZXQgaSBpbiBlLmF0dHJzKXRbaV09ZS5hdHRyc1tpXTt0W3RoaXMuYXR0cl09dGhpcy52YWx1ZTtsZXQgcj1lLnR5cGUuY3JlYXRlKHQsZS5jb250ZW50LGUubWFya3MpO3JldHVybiBXcy5vayhyKX1nZXRNYXAoKXtyZXR1cm4gVzIuZW1wdHl9aW52ZXJ0KGUpe3JldHVybiBuZXcgYSh0aGlzLmF0dHIsZS5hdHRyc1t0aGlzLmF0dHJdKX1tYXAoZSl7cmV0dXJuIHRoaXN9dG9KU09OKCl7cmV0dXJue3N0ZXBUeXBlOiJkb2NBdHRyIixhdHRyOnRoaXMuYXR0cix2YWx1ZTp0aGlzLnZhbHVlfX1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZih0eXBlb2YgdC5hdHRyIT0ic3RyaW5nIil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgRG9jQXR0clN0ZXAuZnJvbUpTT04iKTtyZXR1cm4gbmV3IGEodC5hdHRyLHQudmFsdWUpfX07RXMuanNvbklEKCJkb2NBdHRyIixZVSk7cWY9Y2xhc3MgZXh0ZW5kcyBFcnJvcntzdGF0aWN7cyh0aGlzLCJUcmFuc2Zvcm1FcnJvciIpfX07cWY9cyhmdW5jdGlvbiBhKGUpe2xldCB0PUVycm9yLmNhbGwodGhpcyxlKTtyZXR1cm4gdC5fX3Byb3RvX189YS5wcm90b3R5cGUsdH0sIlRyYW5zZm9ybUVycm9yIikscWYucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKSxxZi5wcm90b3R5cGUuY29uc3RydWN0b3I9cWYscWYucHJvdG90eXBlLm5hbWU9IlRyYW5zZm9ybUVycm9yIjtWZj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUcmFuc2Zvcm0iKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmRvYz1lLHRoaXMuc3RlcHM9W10sdGhpcy5kb2NzPVtdLHRoaXMubWFwcGluZz1uZXcgeW19Z2V0IGJlZm9yZSgpe3JldHVybiB0aGlzLmRvY3MubGVuZ3RoP3RoaXMuZG9jc1swXTp0aGlzLmRvY31zdGVwKGUpe2xldCB0PXRoaXMubWF5YmVTdGVwKGUpO2lmKHQuZmFpbGVkKXRocm93IG5ldyBxZih0LmZhaWxlZCk7cmV0dXJuIHRoaXN9bWF5YmVTdGVwKGUpe2xldCB0PWUuYXBwbHkodGhpcy5kb2MpO3JldHVybiB0LmZhaWxlZHx8dGhpcy5hZGRTdGVwKGUsdC5kb2MpLHR9Z2V0IGRvY0NoYW5nZWQoKXtyZXR1cm4gdGhpcy5zdGVwcy5sZW5ndGg+MH1jaGFuZ2VkUmFuZ2UoKXtsZXQgZT0xZTksdD0tMWU5O2ZvcihsZXQgcj0wO3I8dGhpcy5tYXBwaW5nLm1hcHMubGVuZ3RoO3IrKyl7bGV0IGk9dGhpcy5tYXBwaW5nLm1hcHNbcl07ciYmKGU9aS5tYXAoZSwxKSx0PWkubWFwKHQsLTEpKSxpLmZvckVhY2goKG8sbixsLGQpPT57ZT1NYXRoLm1pbihlLGwpLHQ9TWF0aC5tYXgodCxkKX0pfXJldHVybiBlPT0xZTk/bnVsbDp7ZnJvbTplLHRvOnR9fWFkZFN0ZXAoZSx0KXt0aGlzLmRvY3MucHVzaCh0aGlzLmRvYyksdGhpcy5zdGVwcy5wdXNoKGUpLHRoaXMubWFwcGluZy5hcHBlbmRNYXAoZS5nZXRNYXAoKSksdGhpcy5kb2M9dH1yZXBsYWNlKGUsdD1lLHI9c3QuZW1wdHkpe2xldCBpPXdtKHRoaXMuZG9jLGUsdCxyKTtyZXR1cm4gaSYmdGhpcy5zdGVwKGkpLHRoaXN9cmVwbGFjZVdpdGgoZSx0LHIpe3JldHVybiB0aGlzLnJlcGxhY2UoZSx0LG5ldyBzdChWZS5mcm9tKHIpLDAsMCkpfWRlbGV0ZShlLHQpe3JldHVybiB0aGlzLnJlcGxhY2UoZSx0LHN0LmVtcHR5KX1pbnNlcnQoZSx0KXtyZXR1cm4gdGhpcy5yZXBsYWNlV2l0aChlLGUsdCl9cmVwbGFjZVJhbmdlKGUsdCxyKXtyZXR1cm4gdkRhKHRoaXMsZSx0LHIpLHRoaXN9cmVwbGFjZVJhbmdlV2l0aChlLHQscil7cmV0dXJuIHhEYSh0aGlzLGUsdCxyKSx0aGlzfWRlbGV0ZVJhbmdlKGUsdCl7cmV0dXJuIHlEYSh0aGlzLGUsdCksdGhpc31saWZ0KGUsdCl7cmV0dXJuIG9EYSh0aGlzLGUsdCksdGhpc31qb2luKGUsdD0xKXtyZXR1cm4gbURhKHRoaXMsZSx0KSx0aGlzfXdyYXAoZSx0KXtyZXR1cm4gY0RhKHRoaXMsZSx0KSx0aGlzfXNldEJsb2NrVHlwZShlLHQ9ZSxyLGk9bnVsbCl7cmV0dXJuIGREYSh0aGlzLGUsdCxyLGkpLHRoaXN9c2V0Tm9kZU1hcmt1cChlLHQscj1udWxsLGkpe3JldHVybiBwRGEodGhpcyxlLHQscixpKSx0aGlzfXNldE5vZGVBdHRyaWJ1dGUoZSx0LHIpe3JldHVybiB0aGlzLnN0ZXAobmV3IEdVKGUsdCxyKSksdGhpc31zZXREb2NBdHRyaWJ1dGUoZSx0KXtyZXR1cm4gdGhpcy5zdGVwKG5ldyBZVShlLHQpKSx0aGlzfWFkZE5vZGVNYXJrKGUsdCl7cmV0dXJuIHRoaXMuc3RlcChuZXcgeG0oZSx0KSksdGhpc31yZW1vdmVOb2RlTWFyayhlLHQpe2xldCByPXRoaXMuZG9jLm5vZGVBdChlKTtpZighcil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiTm8gbm9kZSBhdCBwb3NpdGlvbiAiK2UpO2lmKHQgaW5zdGFuY2VvZiAkYSl0LmlzSW5TZXQoci5tYXJrcykmJnRoaXMuc3RlcChuZXcgSGYoZSx0KSk7ZWxzZXtsZXQgaT1yLm1hcmtzLG8sbj1bXTtmb3IoO289dC5pc0luU2V0KGkpOyluLnB1c2gobmV3IEhmKGUsbykpLGk9by5yZW1vdmVGcm9tU2V0KGkpO2ZvcihsZXQgbD1uLmxlbmd0aC0xO2w+PTA7bC0tKXRoaXMuc3RlcChuW2xdKX1yZXR1cm4gdGhpc31zcGxpdChlLHQ9MSxyKXtyZXR1cm4gZkRhKHRoaXMsZSx0LHIpLHRoaXN9YWRkTWFyayhlLHQscil7cmV0dXJuIHJEYSh0aGlzLGUsdCxyKSx0aGlzfXJlbW92ZU1hcmsoZSx0LHIpe3JldHVybiBzRGEodGhpcyxlLHQsciksdGhpc31jbGVhckluY29tcGF0aWJsZShlLHQscil7cmV0dXJuIHhLZSh0aGlzLGUsdCxyKSx0aGlzfX19KTtmdW5jdGlvbiBvb2EoYSl7IWlvYSYmIWEucGFyZW50LmlubGluZUNvbnRlbnQmJihpb2E9ITAsY29uc29sZS53YXJuKCJUZXh0U2VsZWN0aW9uIGVuZHBvaW50IG5vdCBwb2ludGluZyBpbnRvIGEgbm9kZSB3aXRoIGlubGluZSBjb250ZW50ICgiK2EucGFyZW50LnR5cGUubmFtZSsiKSIpKX1mdW5jdGlvbiBNbShhLGUsdCxyLGksbz0hMSl7aWYoZS5pbmxpbmVDb250ZW50KXJldHVybiBSdC5jcmVhdGUoYSx0KTtmb3IobGV0IG49ci0oaT4wPzA6MSk7aT4wP248ZS5jaGlsZENvdW50Om4+PTA7bis9aSl7bGV0IGw9ZS5jaGlsZChuKTtpZihsLmlzQXRvbSl7aWYoIW8mJk10LmlzU2VsZWN0YWJsZShsKSlyZXR1cm4gTXQuY3JlYXRlKGEsdC0oaTwwP2wubm9kZVNpemU6MCkpfWVsc2V7bGV0IGQ9TW0oYSxsLHQraSxpPDA/bC5jaGlsZENvdW50OjAsaSxvKTtpZihkKXJldHVybiBkfXQrPWwubm9kZVNpemUqaX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBub2EoYSxlLHQpe2xldCByPWEuc3RlcHMubGVuZ3RoLTE7aWYocjxlKXJldHVybjtsZXQgaT1hLnN0ZXBzW3JdO2lmKCEoaSBpbnN0YW5jZW9mIEdzfHxpIGluc3RhbmNlb2YgUXIpKXJldHVybjtsZXQgbz1hLm1hcHBpbmcubWFwc1tyXSxuO28uZm9yRWFjaCgobCxkLGMscCk9PntuPT1udWxsJiYobj1wKX0pLGEuc2V0U2VsZWN0aW9uKEl0Lm5lYXIoYS5kb2MucmVzb2x2ZShuKSx0KSl9ZnVuY3Rpb24gZG9hKGEsZSl7cmV0dXJuIWV8fCFhP2E6YS5iaW5kKGUpfWZ1bmN0aW9uIHVvYShhLGUsdCl7Zm9yKGxldCByIGluIGEpe2xldCBpPWFbcl07aSBpbnN0YW5jZW9mIEZ1bmN0aW9uP2k9aS5iaW5kKGUpOnI9PSJoYW5kbGVET01FdmVudHMiJiYoaT11b2EoaSxlLHt9KSksdFtyXT1pfXJldHVybiB0fWZ1bmN0aW9uIHBvYShhKXtyZXR1cm4gYSBpbiB6S2U/YSsiJCIrICsrektlW2FdOih6S2VbYV09MCxhKyIkIil9dmFyIGtLZSxJdCxHZixpb2EsUnQsUGFlLE10LFNLZSxEaSx3RGEsbG9hLElhZSxjb2EsTmFlLFdmLE1EYSxaVSxYVSxhcix6S2UsZnMsdmM9ZigoKT0+e200KCk7YjQoKTtrS2U9T2JqZWN0LmNyZWF0ZShudWxsKSxJdD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTZWxlY3Rpb24iKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy4kYW5jaG9yPWUsdGhpcy4kaGVhZD10LHRoaXMucmFuZ2VzPXJ8fFtuZXcgR2YoZS5taW4odCksZS5tYXgodCkpXX1nZXQgYW5jaG9yKCl7cmV0dXJuIHRoaXMuJGFuY2hvci5wb3N9Z2V0IGhlYWQoKXtyZXR1cm4gdGhpcy4kaGVhZC5wb3N9Z2V0IGZyb20oKXtyZXR1cm4gdGhpcy4kZnJvbS5wb3N9Z2V0IHRvKCl7cmV0dXJuIHRoaXMuJHRvLnBvc31nZXQgJGZyb20oKXtyZXR1cm4gdGhpcy5yYW5nZXNbMF0uJGZyb219Z2V0ICR0bygpe3JldHVybiB0aGlzLnJhbmdlc1swXS4kdG99Z2V0IGVtcHR5KCl7bGV0IGU9dGhpcy5yYW5nZXM7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspaWYoZVt0XS4kZnJvbS5wb3MhPWVbdF0uJHRvLnBvcylyZXR1cm4hMTtyZXR1cm4hMH1jb250ZW50KCl7cmV0dXJuIHRoaXMuJGZyb20uZG9jLnNsaWNlKHRoaXMuZnJvbSx0aGlzLnRvLCEwKX1yZXBsYWNlKGUsdD1zdC5lbXB0eSl7bGV0IHI9dC5jb250ZW50Lmxhc3RDaGlsZCxpPW51bGw7Zm9yKGxldCBsPTA7bDx0Lm9wZW5FbmQ7bCsrKWk9cixyPXIubGFzdENoaWxkO2xldCBvPWUuc3RlcHMubGVuZ3RoLG49dGhpcy5yYW5nZXM7Zm9yKGxldCBsPTA7bDxuLmxlbmd0aDtsKyspe2xldHskZnJvbTpkLCR0bzpjfT1uW2xdLHA9ZS5tYXBwaW5nLnNsaWNlKG8pO2UucmVwbGFjZVJhbmdlKHAubWFwKGQucG9zKSxwLm1hcChjLnBvcyksbD9zdC5lbXB0eTp0KSxsPT0wJiZub2EoZSxvLChyP3IuaXNJbmxpbmU6aSYmaS5pc1RleHRibG9jayk/LTE6MSl9fXJlcGxhY2VXaXRoKGUsdCl7bGV0IHI9ZS5zdGVwcy5sZW5ndGgsaT10aGlzLnJhbmdlcztmb3IobGV0IG89MDtvPGkubGVuZ3RoO28rKyl7bGV0eyRmcm9tOm4sJHRvOmx9PWlbb10sZD1lLm1hcHBpbmcuc2xpY2UociksYz1kLm1hcChuLnBvcykscD1kLm1hcChsLnBvcyk7bz9lLmRlbGV0ZVJhbmdlKGMscCk6KGUucmVwbGFjZVJhbmdlV2l0aChjLHAsdCksbm9hKGUscix0LmlzSW5saW5lPy0xOjEpKX19c3RhdGljIGZpbmRGcm9tKGUsdCxyPSExKXtsZXQgaT1lLnBhcmVudC5pbmxpbmVDb250ZW50P25ldyBSdChlKTpNbShlLm5vZGUoMCksZS5wYXJlbnQsZS5wb3MsZS5pbmRleCgpLHQscik7aWYoaSlyZXR1cm4gaTtmb3IobGV0IG89ZS5kZXB0aC0xO28+PTA7by0tKXtsZXQgbj10PDA/TW0oZS5ub2RlKDApLGUubm9kZShvKSxlLmJlZm9yZShvKzEpLGUuaW5kZXgobyksdCxyKTpNbShlLm5vZGUoMCksZS5ub2RlKG8pLGUuYWZ0ZXIobysxKSxlLmluZGV4KG8pKzEsdCxyKTtpZihuKXJldHVybiBufXJldHVybiBudWxsfXN0YXRpYyBuZWFyKGUsdD0xKXtyZXR1cm4gdGhpcy5maW5kRnJvbShlLHQpfHx0aGlzLmZpbmRGcm9tKGUsLXQpfHxuZXcgRGkoZS5ub2RlKDApKX1zdGF0aWMgYXRTdGFydChlKXtyZXR1cm4gTW0oZSxlLDAsMCwxKXx8bmV3IERpKGUpfXN0YXRpYyBhdEVuZChlKXtyZXR1cm4gTW0oZSxlLGUuY29udGVudC5zaXplLGUuY2hpbGRDb3VudCwtMSl8fG5ldyBEaShlKX1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZighdHx8IXQudHlwZSl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgU2VsZWN0aW9uLmZyb21KU09OIik7bGV0IHI9a0tlW3QudHlwZV07aWYoIXIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoYE5vIHNlbGVjdGlvbiB0eXBlICR7dC50eXBlfSBkZWZpbmVkYCk7cmV0dXJuIHIuZnJvbUpTT04oZSx0KX1zdGF0aWMganNvbklEKGUsdCl7aWYoZSBpbiBrS2UpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkR1cGxpY2F0ZSB1c2Ugb2Ygc2VsZWN0aW9uIEpTT04gSUQgIitlKTtyZXR1cm4ga0tlW2VdPXQsdC5wcm90b3R5cGUuanNvbklEPWUsdH1nZXRCb29rbWFyaygpe3JldHVybiBSdC5iZXR3ZWVuKHRoaXMuJGFuY2hvcix0aGlzLiRoZWFkKS5nZXRCb29rbWFyaygpfX07SXQucHJvdG90eXBlLnZpc2libGU9ITA7R2Y9Y2xhc3N7c3RhdGlje3ModGhpcywiU2VsZWN0aW9uUmFuZ2UiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuJGZyb209ZSx0aGlzLiR0bz10fX0saW9hPSExO3Mob29hLCJjaGVja1RleHRTZWxlY3Rpb24iKTtSdD1jbGFzcyBhIGV4dGVuZHMgSXR7c3RhdGlje3ModGhpcywiVGV4dFNlbGVjdGlvbiIpfWNvbnN0cnVjdG9yKGUsdD1lKXtvb2EoZSksb29hKHQpLHN1cGVyKGUsdCl9Z2V0ICRjdXJzb3IoKXtyZXR1cm4gdGhpcy4kYW5jaG9yLnBvcz09dGhpcy4kaGVhZC5wb3M/dGhpcy4kaGVhZDpudWxsfW1hcChlLHQpe2xldCByPWUucmVzb2x2ZSh0Lm1hcCh0aGlzLmhlYWQpKTtpZighci5wYXJlbnQuaW5saW5lQ29udGVudClyZXR1cm4gSXQubmVhcihyKTtsZXQgaT1lLnJlc29sdmUodC5tYXAodGhpcy5hbmNob3IpKTtyZXR1cm4gbmV3IGEoaS5wYXJlbnQuaW5saW5lQ29udGVudD9pOnIscil9cmVwbGFjZShlLHQ9c3QuZW1wdHkpe2lmKHN1cGVyLnJlcGxhY2UoZSx0KSx0PT1zdC5lbXB0eSl7bGV0IHI9dGhpcy4kZnJvbS5tYXJrc0Fjcm9zcyh0aGlzLiR0byk7ciYmZS5lbnN1cmVNYXJrcyhyKX19ZXEoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBhJiZlLmFuY2hvcj09dGhpcy5hbmNob3ImJmUuaGVhZD09dGhpcy5oZWFkfWdldEJvb2ttYXJrKCl7cmV0dXJuIG5ldyBQYWUodGhpcy5hbmNob3IsdGhpcy5oZWFkKX10b0pTT04oKXtyZXR1cm57dHlwZToidGV4dCIsYW5jaG9yOnRoaXMuYW5jaG9yLGhlYWQ6dGhpcy5oZWFkfX1zdGF0aWMgZnJvbUpTT04oZSx0KXtpZih0eXBlb2YgdC5hbmNob3IhPSJudW1iZXIifHx0eXBlb2YgdC5oZWFkIT0ibnVtYmVyIil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgVGV4dFNlbGVjdGlvbi5mcm9tSlNPTiIpO3JldHVybiBuZXcgYShlLnJlc29sdmUodC5hbmNob3IpLGUucmVzb2x2ZSh0LmhlYWQpKX1zdGF0aWMgY3JlYXRlKGUsdCxyPXQpe2xldCBpPWUucmVzb2x2ZSh0KTtyZXR1cm4gbmV3IHRoaXMoaSxyPT10P2k6ZS5yZXNvbHZlKHIpKX1zdGF0aWMgYmV0d2VlbihlLHQscil7bGV0IGk9ZS5wb3MtdC5wb3M7aWYoKCFyfHxpKSYmKHI9aT49MD8xOi0xKSwhdC5wYXJlbnQuaW5saW5lQ29udGVudCl7bGV0IG89SXQuZmluZEZyb20odCxyLCEwKXx8SXQuZmluZEZyb20odCwtciwhMCk7aWYobyl0PW8uJGhlYWQ7ZWxzZSByZXR1cm4gSXQubmVhcih0LHIpfXJldHVybiBlLnBhcmVudC5pbmxpbmVDb250ZW50fHwoaT09MD9lPXQ6KGU9KEl0LmZpbmRGcm9tKGUsLXIsITApfHxJdC5maW5kRnJvbShlLHIsITApKS4kYW5jaG9yLGUucG9zPHQucG9zIT1pPDAmJihlPXQpKSksbmV3IGEoZSx0KX19O0l0Lmpzb25JRCgidGV4dCIsUnQpO1BhZT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlRleHRCb29rbWFyayIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5hbmNob3I9ZSx0aGlzLmhlYWQ9dH1tYXAoZSl7cmV0dXJuIG5ldyBhKGUubWFwKHRoaXMuYW5jaG9yKSxlLm1hcCh0aGlzLmhlYWQpKX1yZXNvbHZlKGUpe3JldHVybiBSdC5iZXR3ZWVuKGUucmVzb2x2ZSh0aGlzLmFuY2hvciksZS5yZXNvbHZlKHRoaXMuaGVhZCkpfX0sTXQ9Y2xhc3MgYSBleHRlbmRzIEl0e3N0YXRpY3tzKHRoaXMsIk5vZGVTZWxlY3Rpb24iKX1jb25zdHJ1Y3RvcihlKXtsZXQgdD1lLm5vZGVBZnRlcixyPWUubm9kZSgwKS5yZXNvbHZlKGUucG9zK3Qubm9kZVNpemUpO3N1cGVyKGUsciksdGhpcy5ub2RlPXR9bWFwKGUsdCl7bGV0e2RlbGV0ZWQ6cixwb3M6aX09dC5tYXBSZXN1bHQodGhpcy5hbmNob3IpLG89ZS5yZXNvbHZlKGkpO3JldHVybiByP0l0Lm5lYXIobyk6bmV3IGEobyl9Y29udGVudCgpe3JldHVybiBuZXcgc3QoVmUuZnJvbSh0aGlzLm5vZGUpLDAsMCl9ZXEoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBhJiZlLmFuY2hvcj09dGhpcy5hbmNob3J9dG9KU09OKCl7cmV0dXJue3R5cGU6Im5vZGUiLGFuY2hvcjp0aGlzLmFuY2hvcn19Z2V0Qm9va21hcmsoKXtyZXR1cm4gbmV3IFNLZSh0aGlzLmFuY2hvcil9c3RhdGljIGZyb21KU09OKGUsdCl7aWYodHlwZW9mIHQuYW5jaG9yIT0ibnVtYmVyIil0aHJvdyBuZXcgUmFuZ2VFcnJvcigiSW52YWxpZCBpbnB1dCBmb3IgTm9kZVNlbGVjdGlvbi5mcm9tSlNPTiIpO3JldHVybiBuZXcgYShlLnJlc29sdmUodC5hbmNob3IpKX1zdGF0aWMgY3JlYXRlKGUsdCl7cmV0dXJuIG5ldyBhKGUucmVzb2x2ZSh0KSl9c3RhdGljIGlzU2VsZWN0YWJsZShlKXtyZXR1cm4hZS5pc1RleHQmJmUudHlwZS5zcGVjLnNlbGVjdGFibGUhPT0hMX19O010LnByb3RvdHlwZS52aXNpYmxlPSExLEl0Lmpzb25JRCgibm9kZSIsTXQpO1NLZT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIk5vZGVCb29rbWFyayIpfWNvbnN0cnVjdG9yKGUpe3RoaXMuYW5jaG9yPWV9bWFwKGUpe2xldHtkZWxldGVkOnQscG9zOnJ9PWUubWFwUmVzdWx0KHRoaXMuYW5jaG9yKTtyZXR1cm4gdD9uZXcgUGFlKHIscik6bmV3IGEocil9cmVzb2x2ZShlKXtsZXQgdD1lLnJlc29sdmUodGhpcy5hbmNob3IpLHI9dC5ub2RlQWZ0ZXI7cmV0dXJuIHImJk10LmlzU2VsZWN0YWJsZShyKT9uZXcgTXQodCk6SXQubmVhcih0KX19LERpPWNsYXNzIGEgZXh0ZW5kcyBJdHtzdGF0aWN7cyh0aGlzLCJBbGxTZWxlY3Rpb24iKX1jb25zdHJ1Y3RvcihlKXtzdXBlcihlLnJlc29sdmUoMCksZS5yZXNvbHZlKGUuY29udGVudC5zaXplKSl9cmVwbGFjZShlLHQ9c3QuZW1wdHkpe2lmKHQ9PXN0LmVtcHR5KXtlLmRlbGV0ZSgwLGUuZG9jLmNvbnRlbnQuc2l6ZSk7bGV0IHI9SXQuYXRTdGFydChlLmRvYyk7ci5lcShlLnNlbGVjdGlvbil8fGUuc2V0U2VsZWN0aW9uKHIpfWVsc2Ugc3VwZXIucmVwbGFjZShlLHQpfXRvSlNPTigpe3JldHVybnt0eXBlOiJhbGwifX1zdGF0aWMgZnJvbUpTT04oZSl7cmV0dXJuIG5ldyBhKGUpfW1hcChlKXtyZXR1cm4gbmV3IGEoZSl9ZXEoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBhfWdldEJvb2ttYXJrKCl7cmV0dXJuIHdEYX19O0l0Lmpzb25JRCgiYWxsIixEaSk7d0RhPXttYXAoKXtyZXR1cm4gdGhpc30scmVzb2x2ZShhKXtyZXR1cm4gbmV3IERpKGEpfX07cyhNbSwiZmluZFNlbGVjdGlvbkluIik7cyhub2EsInNlbGVjdGlvblRvSW5zZXJ0aW9uRW5kIik7bG9hPTEsSWFlPTIsY29hPTQsTmFlPWNsYXNzIGV4dGVuZHMgVmZ7c3RhdGlje3ModGhpcywiVHJhbnNhY3Rpb24iKX1jb25zdHJ1Y3RvcihlKXtzdXBlcihlLmRvYyksdGhpcy5jdXJTZWxlY3Rpb25Gb3I9MCx0aGlzLnVwZGF0ZWQ9MCx0aGlzLm1ldGE9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLnRpbWU9RGF0ZS5ub3coKSx0aGlzLmN1clNlbGVjdGlvbj1lLnNlbGVjdGlvbix0aGlzLnN0b3JlZE1hcmtzPWUuc3RvcmVkTWFya3N9Z2V0IHNlbGVjdGlvbigpe3JldHVybiB0aGlzLmN1clNlbGVjdGlvbkZvcjx0aGlzLnN0ZXBzLmxlbmd0aCYmKHRoaXMuY3VyU2VsZWN0aW9uPXRoaXMuY3VyU2VsZWN0aW9uLm1hcCh0aGlzLmRvYyx0aGlzLm1hcHBpbmcuc2xpY2UodGhpcy5jdXJTZWxlY3Rpb25Gb3IpKSx0aGlzLmN1clNlbGVjdGlvbkZvcj10aGlzLnN0ZXBzLmxlbmd0aCksdGhpcy5jdXJTZWxlY3Rpb259c2V0U2VsZWN0aW9uKGUpe2lmKGUuJGZyb20uZG9jIT10aGlzLmRvYyl0aHJvdyBuZXcgUmFuZ2VFcnJvcigiU2VsZWN0aW9uIHBhc3NlZCB0byBzZXRTZWxlY3Rpb24gbXVzdCBwb2ludCBhdCB0aGUgY3VycmVudCBkb2N1bWVudCIpO3JldHVybiB0aGlzLmN1clNlbGVjdGlvbj1lLHRoaXMuY3VyU2VsZWN0aW9uRm9yPXRoaXMuc3RlcHMubGVuZ3RoLHRoaXMudXBkYXRlZD0odGhpcy51cGRhdGVkfGxvYSkmfklhZSx0aGlzLnN0b3JlZE1hcmtzPW51bGwsdGhpc31nZXQgc2VsZWN0aW9uU2V0KCl7cmV0dXJuKHRoaXMudXBkYXRlZCZsb2EpPjB9c2V0U3RvcmVkTWFya3MoZSl7cmV0dXJuIHRoaXMuc3RvcmVkTWFya3M9ZSx0aGlzLnVwZGF0ZWR8PUlhZSx0aGlzfWVuc3VyZU1hcmtzKGUpe3JldHVybiAkYS5zYW1lU2V0KHRoaXMuc3RvcmVkTWFya3N8fHRoaXMuc2VsZWN0aW9uLiRmcm9tLm1hcmtzKCksZSl8fHRoaXMuc2V0U3RvcmVkTWFya3MoZSksdGhpc31hZGRTdG9yZWRNYXJrKGUpe3JldHVybiB0aGlzLmVuc3VyZU1hcmtzKGUuYWRkVG9TZXQodGhpcy5zdG9yZWRNYXJrc3x8dGhpcy5zZWxlY3Rpb24uJGhlYWQubWFya3MoKSkpfXJlbW92ZVN0b3JlZE1hcmsoZSl7cmV0dXJuIHRoaXMuZW5zdXJlTWFya3MoZS5yZW1vdmVGcm9tU2V0KHRoaXMuc3RvcmVkTWFya3N8fHRoaXMuc2VsZWN0aW9uLiRoZWFkLm1hcmtzKCkpKX1nZXQgc3RvcmVkTWFya3NTZXQoKXtyZXR1cm4odGhpcy51cGRhdGVkJklhZSk+MH1hZGRTdGVwKGUsdCl7c3VwZXIuYWRkU3RlcChlLHQpLHRoaXMudXBkYXRlZD10aGlzLnVwZGF0ZWQmfklhZSx0aGlzLnN0b3JlZE1hcmtzPW51bGx9c2V0VGltZShlKXtyZXR1cm4gdGhpcy50aW1lPWUsdGhpc31yZXBsYWNlU2VsZWN0aW9uKGUpe3JldHVybiB0aGlzLnNlbGVjdGlvbi5yZXBsYWNlKHRoaXMsZSksdGhpc31yZXBsYWNlU2VsZWN0aW9uV2l0aChlLHQ9ITApe2xldCByPXRoaXMuc2VsZWN0aW9uO3JldHVybiB0JiYoZT1lLm1hcmsodGhpcy5zdG9yZWRNYXJrc3x8KHIuZW1wdHk/ci4kZnJvbS5tYXJrcygpOnIuJGZyb20ubWFya3NBY3Jvc3Moci4kdG8pfHwkYS5ub25lKSkpLHIucmVwbGFjZVdpdGgodGhpcyxlKSx0aGlzfWRlbGV0ZVNlbGVjdGlvbigpe3JldHVybiB0aGlzLnNlbGVjdGlvbi5yZXBsYWNlKHRoaXMpLHRoaXN9aW5zZXJ0VGV4dChlLHQscil7bGV0IGk9dGhpcy5kb2MudHlwZS5zY2hlbWE7aWYodD09bnVsbClyZXR1cm4gZT90aGlzLnJlcGxhY2VTZWxlY3Rpb25XaXRoKGkudGV4dChlKSwhMCk6dGhpcy5kZWxldGVTZWxlY3Rpb24oKTt7aWYocj09bnVsbCYmKHI9dCksIWUpcmV0dXJuIHRoaXMuZGVsZXRlUmFuZ2UodCxyKTtsZXQgbz10aGlzLnN0b3JlZE1hcmtzO2lmKCFvKXtsZXQgbj10aGlzLmRvYy5yZXNvbHZlKHQpO289cj09dD9uLm1hcmtzKCk6bi5tYXJrc0Fjcm9zcyh0aGlzLmRvYy5yZXNvbHZlKHIpKX1yZXR1cm4gdGhpcy5yZXBsYWNlUmFuZ2VXaXRoKHQscixpLnRleHQoZSxvKSksIXRoaXMuc2VsZWN0aW9uLmVtcHR5JiZ0aGlzLnNlbGVjdGlvbi50bz09dCtlLmxlbmd0aCYmdGhpcy5zZXRTZWxlY3Rpb24oSXQubmVhcih0aGlzLnNlbGVjdGlvbi4kdG8pKSx0aGlzfX1zZXRNZXRhKGUsdCl7cmV0dXJuIHRoaXMubWV0YVt0eXBlb2YgZT09InN0cmluZyI/ZTplLmtleV09dCx0aGlzfWdldE1ldGEoZSl7cmV0dXJuIHRoaXMubWV0YVt0eXBlb2YgZT09InN0cmluZyI/ZTplLmtleV19Z2V0IGlzR2VuZXJpYygpe2ZvcihsZXQgZSBpbiB0aGlzLm1ldGEpcmV0dXJuITE7cmV0dXJuITB9c2Nyb2xsSW50b1ZpZXcoKXtyZXR1cm4gdGhpcy51cGRhdGVkfD1jb2EsdGhpc31nZXQgc2Nyb2xsZWRJbnRvVmlldygpe3JldHVybih0aGlzLnVwZGF0ZWQmY29hKT4wfX07cyhkb2EsImJpbmQiKTtXZj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJGaWVsZERlc2MiKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy5uYW1lPWUsdGhpcy5pbml0PWRvYSh0LmluaXQsciksdGhpcy5hcHBseT1kb2EodC5hcHBseSxyKX19LE1EYT1bbmV3IFdmKCJkb2MiLHtpbml0KGEpe3JldHVybiBhLmRvY3x8YS5zY2hlbWEudG9wTm9kZVR5cGUuY3JlYXRlQW5kRmlsbCgpfSxhcHBseShhKXtyZXR1cm4gYS5kb2N9fSksbmV3IFdmKCJzZWxlY3Rpb24iLHtpbml0KGEsZSl7cmV0dXJuIGEuc2VsZWN0aW9ufHxJdC5hdFN0YXJ0KGUuZG9jKX0sYXBwbHkoYSl7cmV0dXJuIGEuc2VsZWN0aW9ufX0pLG5ldyBXZigic3RvcmVkTWFya3MiLHtpbml0KGEpe3JldHVybiBhLnN0b3JlZE1hcmtzfHxudWxsfSxhcHBseShhLGUsdCxyKXtyZXR1cm4gci5zZWxlY3Rpb24uJGN1cnNvcj9hLnN0b3JlZE1hcmtzOm51bGx9fSksbmV3IFdmKCJzY3JvbGxUb1NlbGVjdGlvbiIse2luaXQoKXtyZXR1cm4gMH0sYXBwbHkoYSxlKXtyZXR1cm4gYS5zY3JvbGxlZEludG9WaWV3P2UrMTplfX0pXSxaVT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJDb25maWd1cmF0aW9uIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnNjaGVtYT1lLHRoaXMucGx1Z2lucz1bXSx0aGlzLnBsdWdpbnNCeUtleT1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuZmllbGRzPU1EYS5zbGljZSgpLHQmJnQuZm9yRWFjaChyPT57aWYodGhpcy5wbHVnaW5zQnlLZXlbci5rZXldKXRocm93IG5ldyBSYW5nZUVycm9yKCJBZGRpbmcgZGlmZmVyZW50IGluc3RhbmNlcyBvZiBhIGtleWVkIHBsdWdpbiAoIityLmtleSsiKSIpO3RoaXMucGx1Z2lucy5wdXNoKHIpLHRoaXMucGx1Z2luc0J5S2V5W3Iua2V5XT1yLHIuc3BlYy5zdGF0ZSYmdGhpcy5maWVsZHMucHVzaChuZXcgV2Yoci5rZXksci5zcGVjLnN0YXRlLHIpKX0pfX0sWFU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJFZGl0b3JTdGF0ZSIpfWNvbnN0cnVjdG9yKGUpe3RoaXMuY29uZmlnPWV9Z2V0IHNjaGVtYSgpe3JldHVybiB0aGlzLmNvbmZpZy5zY2hlbWF9Z2V0IHBsdWdpbnMoKXtyZXR1cm4gdGhpcy5jb25maWcucGx1Z2luc31hcHBseShlKXtyZXR1cm4gdGhpcy5hcHBseVRyYW5zYWN0aW9uKGUpLnN0YXRlfWZpbHRlclRyYW5zYWN0aW9uKGUsdD0tMSl7Zm9yKGxldCByPTA7cjx0aGlzLmNvbmZpZy5wbHVnaW5zLmxlbmd0aDtyKyspaWYociE9dCl7bGV0IGk9dGhpcy5jb25maWcucGx1Z2luc1tyXTtpZihpLnNwZWMuZmlsdGVyVHJhbnNhY3Rpb24mJiFpLnNwZWMuZmlsdGVyVHJhbnNhY3Rpb24uY2FsbChpLGUsdGhpcykpcmV0dXJuITF9cmV0dXJuITB9YXBwbHlUcmFuc2FjdGlvbihlKXtpZighdGhpcy5maWx0ZXJUcmFuc2FjdGlvbihlKSlyZXR1cm57c3RhdGU6dGhpcyx0cmFuc2FjdGlvbnM6W119O2xldCB0PVtlXSxyPXRoaXMuYXBwbHlJbm5lcihlKSxpPW51bGw7Zm9yKDs7KXtsZXQgbz0hMTtmb3IobGV0IG49MDtuPHRoaXMuY29uZmlnLnBsdWdpbnMubGVuZ3RoO24rKyl7bGV0IGw9dGhpcy5jb25maWcucGx1Z2luc1tuXTtpZihsLnNwZWMuYXBwZW5kVHJhbnNhY3Rpb24pe2xldCBkPWk/aVtuXS5uOjAsYz1pP2lbbl0uc3RhdGU6dGhpcyxwPWQ8dC5sZW5ndGgmJmwuc3BlYy5hcHBlbmRUcmFuc2FjdGlvbi5jYWxsKGwsZD90LnNsaWNlKGQpOnQsYyxyKTtpZihwJiZyLmZpbHRlclRyYW5zYWN0aW9uKHAsbikpe2lmKHAuc2V0TWV0YSgiYXBwZW5kZWRUcmFuc2FjdGlvbiIsZSksIWkpe2k9W107Zm9yKGxldCB1PTA7dTx0aGlzLmNvbmZpZy5wbHVnaW5zLmxlbmd0aDt1KyspaS5wdXNoKHU8bj97c3RhdGU6cixuOnQubGVuZ3RofTp7c3RhdGU6dGhpcyxuOjB9KX10LnB1c2gocCkscj1yLmFwcGx5SW5uZXIocCksbz0hMH1pJiYoaVtuXT17c3RhdGU6cixuOnQubGVuZ3RofSl9fWlmKCFvKXJldHVybntzdGF0ZTpyLHRyYW5zYWN0aW9uczp0fX19YXBwbHlJbm5lcihlKXtpZighZS5iZWZvcmUuZXEodGhpcy5kb2MpKXRocm93IG5ldyBSYW5nZUVycm9yKCJBcHBseWluZyBhIG1pc21hdGNoZWQgdHJhbnNhY3Rpb24iKTtsZXQgdD1uZXcgYSh0aGlzLmNvbmZpZykscj10aGlzLmNvbmZpZy5maWVsZHM7Zm9yKGxldCBpPTA7aTxyLmxlbmd0aDtpKyspe2xldCBvPXJbaV07dFtvLm5hbWVdPW8uYXBwbHkoZSx0aGlzW28ubmFtZV0sdGhpcyx0KX1yZXR1cm4gdH1nZXQgdHIoKXtyZXR1cm4gbmV3IE5hZSh0aGlzKX1zdGF0aWMgY3JlYXRlKGUpe2xldCB0PW5ldyBaVShlLmRvYz9lLmRvYy50eXBlLnNjaGVtYTplLnNjaGVtYSxlLnBsdWdpbnMpLHI9bmV3IGEodCk7Zm9yKGxldCBpPTA7aTx0LmZpZWxkcy5sZW5ndGg7aSsrKXJbdC5maWVsZHNbaV0ubmFtZV09dC5maWVsZHNbaV0uaW5pdChlLHIpO3JldHVybiByfXJlY29uZmlndXJlKGUpe2xldCB0PW5ldyBaVSh0aGlzLnNjaGVtYSxlLnBsdWdpbnMpLHI9dC5maWVsZHMsaT1uZXcgYSh0KTtmb3IobGV0IG89MDtvPHIubGVuZ3RoO28rKyl7bGV0IG49cltvXS5uYW1lO2lbbl09dGhpcy5oYXNPd25Qcm9wZXJ0eShuKT90aGlzW25dOnJbb10uaW5pdChlLGkpfXJldHVybiBpfXRvSlNPTihlKXtsZXQgdD17ZG9jOnRoaXMuZG9jLnRvSlNPTigpLHNlbGVjdGlvbjp0aGlzLnNlbGVjdGlvbi50b0pTT04oKX07aWYodGhpcy5zdG9yZWRNYXJrcyYmKHQuc3RvcmVkTWFya3M9dGhpcy5zdG9yZWRNYXJrcy5tYXAocj0+ci50b0pTT04oKSkpLGUmJnR5cGVvZiBlPT0ib2JqZWN0Iilmb3IobGV0IHIgaW4gZSl7aWYocj09ImRvYyJ8fHI9PSJzZWxlY3Rpb24iKXRocm93IG5ldyBSYW5nZUVycm9yKCJUaGUgSlNPTiBmaWVsZHMgYGRvY2AgYW5kIGBzZWxlY3Rpb25gIGFyZSByZXNlcnZlZCIpO2xldCBpPWVbcl0sbz1pLnNwZWMuc3RhdGU7byYmby50b0pTT04mJih0W3JdPW8udG9KU09OLmNhbGwoaSx0aGlzW2kua2V5XSkpfXJldHVybiB0fXN0YXRpYyBmcm9tSlNPTihlLHQscil7aWYoIXQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIEVkaXRvclN0YXRlLmZyb21KU09OIik7aWYoIWUuc2NoZW1hKXRocm93IG5ldyBSYW5nZUVycm9yKCJSZXF1aXJlZCBjb25maWcgZmllbGQgJ3NjaGVtYScgbWlzc2luZyIpO2xldCBpPW5ldyBaVShlLnNjaGVtYSxlLnBsdWdpbnMpLG89bmV3IGEoaSk7cmV0dXJuIGkuZmllbGRzLmZvckVhY2gobj0+e2lmKG4ubmFtZT09ImRvYyIpby5kb2M9V2kuZnJvbUpTT04oZS5zY2hlbWEsdC5kb2MpO2Vsc2UgaWYobi5uYW1lPT0ic2VsZWN0aW9uIilvLnNlbGVjdGlvbj1JdC5mcm9tSlNPTihvLmRvYyx0LnNlbGVjdGlvbik7ZWxzZSBpZihuLm5hbWU9PSJzdG9yZWRNYXJrcyIpdC5zdG9yZWRNYXJrcyYmKG8uc3RvcmVkTWFya3M9dC5zdG9yZWRNYXJrcy5tYXAoZS5zY2hlbWEubWFya0Zyb21KU09OKSk7ZWxzZXtpZihyKWZvcihsZXQgbCBpbiByKXtsZXQgZD1yW2xdLGM9ZC5zcGVjLnN0YXRlO2lmKGQua2V5PT1uLm5hbWUmJmMmJmMuZnJvbUpTT04mJk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGwpKXtvW24ubmFtZV09Yy5mcm9tSlNPTi5jYWxsKGQsZSx0W2xdLG8pO3JldHVybn19b1tuLm5hbWVdPW4uaW5pdChlLG8pfX0pLG99fTtzKHVvYSwiYmluZFByb3BzIik7YXI9Y2xhc3N7c3RhdGlje3ModGhpcywiUGx1Z2luIil9Y29uc3RydWN0b3IoZSl7dGhpcy5zcGVjPWUsdGhpcy5wcm9wcz17fSxlLnByb3BzJiZ1b2EoZS5wcm9wcyx0aGlzLHRoaXMucHJvcHMpLHRoaXMua2V5PWUua2V5P2Uua2V5LmtleTpwb2EoInBsdWdpbiIpfWdldFN0YXRlKGUpe3JldHVybiBlW3RoaXMua2V5XX19LHpLZT1PYmplY3QuY3JlYXRlKG51bGwpO3MocG9hLCJjcmVhdGVLZXkiKTtmcz1jbGFzc3tzdGF0aWN7cyh0aGlzLCJQbHVnaW5LZXkiKX1jb25zdHJ1Y3RvcihlPSJrZXkiKXt0aGlzLmtleT1wb2EoZSl9Z2V0KGUpe3JldHVybiBlLmNvbmZpZy5wbHVnaW5zQnlLZXlbdGhpcy5rZXldfWdldFN0YXRlKGUpe3JldHVybiBlW3RoaXMua2V5XX19fSk7dmFyIFFVPWYoKCk9Pnt2YygpfSk7ZnVuY3Rpb24gZm9hKGEsZSx0LHIsaSl7Zm9yKHZhciBvOzspe2lmKGE9PXQmJmU9PXIpcmV0dXJuITA7aWYoZT09KGk8MD8wOkFuKGEpKSl7bGV0IG49YS5wYXJlbnROb2RlO2lmKCFufHxuLm5vZGVUeXBlIT0xfHxKVShhKXx8U0RhLnRlc3QoYS5ub2RlTmFtZSl8fGEuY29udGVudEVkaXRhYmxlPT0iZmFsc2UiKXJldHVybiExO2U9YWkoYSkrKGk8MD8wOjEpLGE9bn1lbHNlIGlmKGEubm9kZVR5cGU9PTEpe2xldCBuPWEuY2hpbGROb2Rlc1tlKyhpPDA/LTE6MCldO2lmKG4ubm9kZVR5cGU9PTEmJm4uY29udGVudEVkaXRhYmxlPT0iZmFsc2UiKWlmKCEoKG89bi5wbVZpZXdEZXNjKT09PW51bGx8fG89PT12b2lkIDApJiZvLmlnbm9yZUZvclNlbGVjdGlvbillKz1pO2Vsc2UgcmV0dXJuITE7ZWxzZSBhPW4sZT1pPDA/QW4oYSk6MH1lbHNlIHJldHVybiExfX1mdW5jdGlvbiBBbihhKXtyZXR1cm4gYS5ub2RlVHlwZT09Mz9hLm5vZGVWYWx1ZS5sZW5ndGg6YS5jaGlsZE5vZGVzLmxlbmd0aH1mdW5jdGlvbiB6RGEoYSxlKXtmb3IoOzspe2lmKGEubm9kZVR5cGU9PTMmJmUpcmV0dXJuIGE7aWYoYS5ub2RlVHlwZT09MSYmZT4wKXtpZihhLmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIilyZXR1cm4gbnVsbDthPWEuY2hpbGROb2Rlc1tlLTFdLGU9QW4oYSl9ZWxzZSBpZihhLnBhcmVudE5vZGUmJiFKVShhKSllPWFpKGEpLGE9YS5wYXJlbnROb2RlO2Vsc2UgcmV0dXJuIG51bGx9fWZ1bmN0aW9uIENEYShhLGUpe2Zvcig7Oyl7aWYoYS5ub2RlVHlwZT09MyYmZTxhLm5vZGVWYWx1ZS5sZW5ndGgpcmV0dXJuIGE7aWYoYS5ub2RlVHlwZT09MSYmZTxhLmNoaWxkTm9kZXMubGVuZ3RoKXtpZihhLmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIilyZXR1cm4gbnVsbDthPWEuY2hpbGROb2Rlc1tlXSxlPTB9ZWxzZSBpZihhLnBhcmVudE5vZGUmJiFKVShhKSllPWFpKGEpKzEsYT1hLnBhcmVudE5vZGU7ZWxzZSByZXR1cm4gbnVsbH19ZnVuY3Rpb24gX0RhKGEsZSx0KXtmb3IobGV0IHI9ZT09MCxpPWU9PUFuKGEpO3J8fGk7KXtpZihhPT10KXJldHVybiEwO2xldCBvPWFpKGEpO2lmKGE9YS5wYXJlbnROb2RlLCFhKXJldHVybiExO3I9ciYmbz09MCxpPWkmJm89PUFuKGEpfX1mdW5jdGlvbiBKVShhKXtsZXQgZTtmb3IobGV0IHQ9YTt0JiYhKGU9dC5wbVZpZXdEZXNjKTt0PXQucGFyZW50Tm9kZSk7cmV0dXJuIGUmJmUubm9kZSYmZS5ub2RlLmlzQmxvY2smJihlLmRvbT09YXx8ZS5jb250ZW50RE9NPT1hKX1mdW5jdGlvbiBLZihhLGUpe2xldCB0PWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpO3JldHVybiB0LmluaXRFdmVudCgia2V5ZG93biIsITAsITApLHQua2V5Q29kZT1hLHQua2V5PXQuY29kZT1lLHR9ZnVuY3Rpb24gVERhKGEpe2xldCBlPWEuYWN0aXZlRWxlbWVudDtmb3IoO2UmJmUuc2hhZG93Um9vdDspZT1lLnNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudDtyZXR1cm4gZX1mdW5jdGlvbiBMRGEoYSxlLHQpe2lmKGEuY2FyZXRQb3NpdGlvbkZyb21Qb2ludCl0cnl7bGV0IHI9YS5jYXJldFBvc2l0aW9uRnJvbVBvaW50KGUsdCk7aWYocilyZXR1cm57bm9kZTpyLm9mZnNldE5vZGUsb2Zmc2V0Ok1hdGgubWluKEFuKHIub2Zmc2V0Tm9kZSksci5vZmZzZXQpfX1jYXRjaHt9aWYoYS5jYXJldFJhbmdlRnJvbVBvaW50KXtsZXQgcj1hLmNhcmV0UmFuZ2VGcm9tUG9pbnQoZSx0KTtpZihyKXJldHVybntub2RlOnIuc3RhcnRDb250YWluZXIsb2Zmc2V0Ok1hdGgubWluKEFuKHIuc3RhcnRDb250YWluZXIpLHIuc3RhcnRPZmZzZXQpfX19ZnVuY3Rpb24gRERhKGEpe2xldCBlPWEuZGVmYXVsdFZpZXcmJmEuZGVmYXVsdFZpZXcudmlzdWFsVmlld3BvcnQ7cmV0dXJuIGU/e2xlZnQ6MCxyaWdodDplLndpZHRoLHRvcDowLGJvdHRvbTplLmhlaWdodH06e2xlZnQ6MCxyaWdodDphLmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCx0b3A6MCxib3R0b206YS5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0fX1mdW5jdGlvbiB3YyhhLGUpe3JldHVybiB0eXBlb2YgYT09Im51bWJlciI/YTphW2VdfWZ1bmN0aW9uIEFEYShhKXtsZXQgZT1hLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQ9ZS53aWR0aC9hLm9mZnNldFdpZHRofHwxLHI9ZS5oZWlnaHQvYS5vZmZzZXRIZWlnaHR8fDE7cmV0dXJue2xlZnQ6ZS5sZWZ0LHJpZ2h0OmUubGVmdCthLmNsaWVudFdpZHRoKnQsdG9wOmUudG9wLGJvdHRvbTplLnRvcCthLmNsaWVudEhlaWdodCpyfX1mdW5jdGlvbiB2b2EoYSxlLHQpe2xldCByPWEuc29tZVByb3AoInNjcm9sbFRocmVzaG9sZCIpfHwwLGk9YS5zb21lUHJvcCgic2Nyb2xsTWFyZ2luIil8fDUsbz1hLmRvbS5vd25lckRvY3VtZW50O2ZvcihsZXQgbj10fHxhLmRvbTtuOyl7aWYobi5ub2RlVHlwZSE9MSl7bj1rbShuKTtjb250aW51ZX1sZXQgbD1uLGQ9bD09by5ib2R5LGM9ZD9ERGEobyk6QURhKGwpLHA9MCx1PTA7aWYoZS50b3A8Yy50b3Ard2MociwidG9wIik/dT0tKGMudG9wLWUudG9wK3djKGksInRvcCIpKTplLmJvdHRvbT5jLmJvdHRvbS13YyhyLCJib3R0b20iKSYmKHU9ZS5ib3R0b20tZS50b3A+Yy5ib3R0b20tYy50b3A/ZS50b3Ard2MoaSwidG9wIiktYy50b3A6ZS5ib3R0b20tYy5ib3R0b20rd2MoaSwiYm90dG9tIikpLGUubGVmdDxjLmxlZnQrd2MociwibGVmdCIpP3A9LShjLmxlZnQtZS5sZWZ0K3djKGksImxlZnQiKSk6ZS5yaWdodD5jLnJpZ2h0LXdjKHIsInJpZ2h0IikmJihwPWUucmlnaHQtYy5yaWdodCt3YyhpLCJyaWdodCIpKSxwfHx1KWlmKGQpby5kZWZhdWx0Vmlldy5zY3JvbGxCeShwLHUpO2Vsc2V7bGV0IHY9bC5zY3JvbGxMZWZ0LHg9bC5zY3JvbGxUb3A7dSYmKGwuc2Nyb2xsVG9wKz11KSxwJiYobC5zY3JvbGxMZWZ0Kz1wKTtsZXQgYj1sLnNjcm9sbExlZnQtdixnPWwuc2Nyb2xsVG9wLXg7ZT17bGVmdDplLmxlZnQtYix0b3A6ZS50b3AtZyxyaWdodDplLnJpZ2h0LWIsYm90dG9tOmUuYm90dG9tLWd9fWxldCBtPWQ/ImZpeGVkIjpnZXRDb21wdXRlZFN0eWxlKG4pLnBvc2l0aW9uO2lmKC9eKGZpeGVkfHN0aWNreSkkLy50ZXN0KG0pKWJyZWFrO249bT09ImFic29sdXRlIj9uLm9mZnNldFBhcmVudDprbShuKX19ZnVuY3Rpb24gRURhKGEpe2xldCBlPWEuZG9tLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHQ9TWF0aC5tYXgoMCxlLnRvcCkscixpO2ZvcihsZXQgbz0oZS5sZWZ0K2UucmlnaHQpLzIsbj10KzE7bjxNYXRoLm1pbihpbm5lckhlaWdodCxlLmJvdHRvbSk7bis9NSl7bGV0IGw9YS5yb290LmVsZW1lbnRGcm9tUG9pbnQobyxuKTtpZighbHx8bD09YS5kb218fCFhLmRvbS5jb250YWlucyhsKSljb250aW51ZTtsZXQgZD1sLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGQudG9wPj10LTIwKXtyPWwsaT1kLnRvcDticmVha319cmV0dXJue3JlZkRPTTpyLHJlZlRvcDppLHN0YWNrOnhvYShhLmRvbSl9fWZ1bmN0aW9uIHhvYShhKXtsZXQgZT1bXSx0PWEub3duZXJEb2N1bWVudDtmb3IobGV0IHI9YTtyJiYoZS5wdXNoKHtkb206cix0b3A6ci5zY3JvbGxUb3AsbGVmdDpyLnNjcm9sbExlZnR9KSxhIT10KTtyPWttKHIpKTtyZXR1cm4gZX1mdW5jdGlvbiBQRGEoe3JlZkRPTTphLHJlZlRvcDplLHN0YWNrOnR9KXtsZXQgcj1hP2EuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wOjA7eW9hKHQscj09MD8wOnItZSl9ZnVuY3Rpb24geW9hKGEsZSl7Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0Kyspe2xldHtkb206cix0b3A6aSxsZWZ0Om99PWFbdF07ci5zY3JvbGxUb3AhPWkrZSYmKHIuc2Nyb2xsVG9wPWkrZSksci5zY3JvbGxMZWZ0IT1vJiYoci5zY3JvbGxMZWZ0PW8pfX1mdW5jdGlvbiBJRGEoYSl7aWYoYS5zZXRBY3RpdmUpcmV0dXJuIGEuc2V0QWN0aXZlKCk7aWYoem0pcmV0dXJuIGEuZm9jdXMoem0pO2xldCBlPXhvYShhKTthLmZvY3VzKHptPT1udWxsP3tnZXQgcHJldmVudFNjcm9sbCgpe3JldHVybiB6bT17cHJldmVudFNjcm9sbDohMH0sITB9fTp2b2lkIDApLHptfHwoem09ITEseW9hKGUsMCkpfWZ1bmN0aW9uIHdvYShhLGUpe2xldCB0LHI9MmU4LGksbz0wLG49ZS50b3AsbD1lLnRvcCxkLGM7Zm9yKGxldCBwPWEuZmlyc3RDaGlsZCx1PTA7cDtwPXAubmV4dFNpYmxpbmcsdSsrKXtsZXQgbTtpZihwLm5vZGVUeXBlPT0xKW09cC5nZXRDbGllbnRSZWN0cygpO2Vsc2UgaWYocC5ub2RlVHlwZT09MyltPXhjKHApLmdldENsaWVudFJlY3RzKCk7ZWxzZSBjb250aW51ZTtmb3IobGV0IHY9MDt2PG0ubGVuZ3RoO3YrKyl7bGV0IHg9bVt2XTtpZih4LnRvcDw9biYmeC5ib3R0b20+PWwpe249TWF0aC5tYXgoeC5ib3R0b20sbiksbD1NYXRoLm1pbih4LnRvcCxsKTtsZXQgYj14LmxlZnQ+ZS5sZWZ0P3gubGVmdC1lLmxlZnQ6eC5yaWdodDxlLmxlZnQ/ZS5sZWZ0LXgucmlnaHQ6MDtpZihiPHIpe3Q9cCxyPWIsaT1iJiZ0Lm5vZGVUeXBlPT0zP3tsZWZ0OngucmlnaHQ8ZS5sZWZ0P3gucmlnaHQ6eC5sZWZ0LHRvcDplLnRvcH06ZSxwLm5vZGVUeXBlPT0xJiZiJiYobz11KyhlLmxlZnQ+PSh4LmxlZnQreC5yaWdodCkvMj8xOjApKTtjb250aW51ZX19ZWxzZSB4LnRvcD5lLnRvcCYmIWQmJngubGVmdDw9ZS5sZWZ0JiZ4LnJpZ2h0Pj1lLmxlZnQmJihkPXAsYz17bGVmdDpNYXRoLm1heCh4LmxlZnQsTWF0aC5taW4oeC5yaWdodCxlLmxlZnQpKSx0b3A6eC50b3B9KTshdCYmKGUubGVmdD49eC5yaWdodCYmZS50b3A+PXgudG9wfHxlLmxlZnQ+PXgubGVmdCYmZS50b3A+PXguYm90dG9tKSYmKG89dSsxKX19cmV0dXJuIXQmJmQmJih0PWQsaT1jLHI9MCksdCYmdC5ub2RlVHlwZT09Mz9ORGEodCxpKTohdHx8ciYmdC5ub2RlVHlwZT09MT97bm9kZTphLG9mZnNldDpvfTp3b2EodCxpKX1mdW5jdGlvbiBORGEoYSxlKXtsZXQgdD1hLm5vZGVWYWx1ZS5sZW5ndGgscj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLGk7Zm9yKGxldCBvPTA7bzx0O28rKyl7ci5zZXRFbmQoYSxvKzEpLHIuc2V0U3RhcnQoYSxvKTtsZXQgbj15NChyLDEpO2lmKG4udG9wIT1uLmJvdHRvbSYmJEtlKGUsbikpe2k9e25vZGU6YSxvZmZzZXQ6bysoZS5sZWZ0Pj0obi5sZWZ0K24ucmlnaHQpLzI/MTowKX07YnJlYWt9fXJldHVybiByLmRldGFjaCgpLGl8fHtub2RlOmEsb2Zmc2V0OjB9fWZ1bmN0aW9uICRLZShhLGUpe3JldHVybiBhLmxlZnQ+PWUubGVmdC0xJiZhLmxlZnQ8PWUucmlnaHQrMSYmYS50b3A+PWUudG9wLTEmJmEudG9wPD1lLmJvdHRvbSsxfWZ1bmN0aW9uIFJEYShhLGUpe2xldCB0PWEucGFyZW50Tm9kZTtyZXR1cm4gdCYmL15saSQvaS50ZXN0KHQubm9kZU5hbWUpJiZlLmxlZnQ8YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5sZWZ0P3Q6YX1mdW5jdGlvbiBPRGEoYSxlLHQpe2xldHtub2RlOnIsb2Zmc2V0Oml9PXdvYShlLHQpLG89LTE7aWYoci5ub2RlVHlwZT09MSYmIXIuZmlyc3RDaGlsZCl7bGV0IG49ci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtvPW4ubGVmdCE9bi5yaWdodCYmdC5sZWZ0PihuLmxlZnQrbi5yaWdodCkvMj8xOi0xfXJldHVybiBhLmRvY1ZpZXcucG9zRnJvbURPTShyLGksbyl9ZnVuY3Rpb24gRkRhKGEsZSx0LHIpe2xldCBpPS0xO2ZvcihsZXQgbz1lLG49ITE7byE9YS5kb207KXtsZXQgbD1hLmRvY1ZpZXcubmVhcmVzdERlc2MobywhMCksZDtpZighbClyZXR1cm4gbnVsbDtpZihsLmRvbS5ub2RlVHlwZT09MSYmKGwubm9kZS5pc0Jsb2NrJiZsLnBhcmVudHx8IWwuY29udGVudERPTSkmJigoZD1sLmRvbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSkud2lkdGh8fGQuaGVpZ2h0KSYmKGwubm9kZS5pc0Jsb2NrJiZsLnBhcmVudCYmIS9eVChSfEJPRFl8SEVBRHxGT09UKSQvLnRlc3QobC5kb20ubm9kZU5hbWUpJiYoIW4mJmQubGVmdD5yLmxlZnR8fGQudG9wPnIudG9wP2k9bC5wb3NCZWZvcmU6KCFuJiZkLnJpZ2h0PHIubGVmdHx8ZC5ib3R0b208ci50b3ApJiYoaT1sLnBvc0FmdGVyKSxuPSEwKSwhbC5jb250ZW50RE9NJiZpPDAmJiFsLm5vZGUuaXNUZXh0KSlyZXR1cm4obC5ub2RlLmlzQmxvY2s/ci50b3A8KGQudG9wK2QuYm90dG9tKS8yOnIubGVmdDwoZC5sZWZ0K2QucmlnaHQpLzIpP2wucG9zQmVmb3JlOmwucG9zQWZ0ZXI7bz1sLmRvbS5wYXJlbnROb2RlfXJldHVybiBpPi0xP2k6YS5kb2NWaWV3LnBvc0Zyb21ET00oZSx0LC0xKX1mdW5jdGlvbiBNb2EoYSxlLHQpe2xldCByPWEuY2hpbGROb2Rlcy5sZW5ndGg7aWYociYmdC50b3A8dC5ib3R0b20pZm9yKGxldCBpPU1hdGgubWF4KDAsTWF0aC5taW4oci0xLE1hdGguZmxvb3IociooZS50b3AtdC50b3ApLyh0LmJvdHRvbS10LnRvcCkpLTIpKSxvPWk7Oyl7bGV0IG49YS5jaGlsZE5vZGVzW29dO2lmKG4ubm9kZVR5cGU9PTEpe2xldCBsPW4uZ2V0Q2xpZW50UmVjdHMoKTtmb3IobGV0IGQ9MDtkPGwubGVuZ3RoO2QrKyl7bGV0IGM9bFtkXTtpZigkS2UoZSxjKSlyZXR1cm4gTW9hKG4sZSxjKX19aWYoKG89KG8rMSklcik9PWkpYnJlYWt9cmV0dXJuIGF9ZnVuY3Rpb24gQkRhKGEsZSl7bGV0IHQ9YS5kb20ub3duZXJEb2N1bWVudCxyLGk9MCxvPUxEYSh0LGUubGVmdCxlLnRvcCk7byYmKHtub2RlOnIsb2Zmc2V0Oml9PW8pO2xldCBuPShhLnJvb3QuZWxlbWVudEZyb21Qb2ludD9hLnJvb3Q6dCkuZWxlbWVudEZyb21Qb2ludChlLmxlZnQsZS50b3ApLGw7aWYoIW58fCFhLmRvbS5jb250YWlucyhuLm5vZGVUeXBlIT0xP24ucGFyZW50Tm9kZTpuKSl7bGV0IGM9YS5kb20uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoISRLZShlLGMpfHwobj1Nb2EoYS5kb20sZSxjKSwhbikpcmV0dXJuIG51bGx9aWYoQWkpZm9yKGxldCBjPW47ciYmYztjPWttKGMpKWMuZHJhZ2dhYmxlJiYocj12b2lkIDApO2lmKG49UkRhKG4sZSkscil7aWYoRW4mJnIubm9kZVR5cGU9PTEmJihpPU1hdGgubWluKGksci5jaGlsZE5vZGVzLmxlbmd0aCksaTxyLmNoaWxkTm9kZXMubGVuZ3RoKSl7bGV0IHA9ci5jaGlsZE5vZGVzW2ldLHU7cC5ub2RlTmFtZT09IklNRyImJih1PXAuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkpLnJpZ2h0PD1lLmxlZnQmJnUuYm90dG9tPmUudG9wJiZpKyt9bGV0IGM7ZVcmJmkmJnIubm9kZVR5cGU9PTEmJihjPXIuY2hpbGROb2Rlc1tpLTFdKS5ub2RlVHlwZT09MSYmYy5jb250ZW50RWRpdGFibGU9PSJmYWxzZSImJmMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wPj1lLnRvcCYmaS0tLHI9PWEuZG9tJiZpPT1yLmNoaWxkTm9kZXMubGVuZ3RoLTEmJnIubGFzdENoaWxkLm5vZGVUeXBlPT0xJiZlLnRvcD5yLmxhc3RDaGlsZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20/bD1hLnN0YXRlLmRvYy5jb250ZW50LnNpemU6KGk9PTB8fHIubm9kZVR5cGUhPTF8fHIuY2hpbGROb2Rlc1tpLTFdLm5vZGVOYW1lIT0iQlIiKSYmKGw9RkRhKGEscixpLGUpKX1sPT1udWxsJiYobD1PRGEoYSxuLGUpKTtsZXQgZD1hLmRvY1ZpZXcubmVhcmVzdERlc2MobiwhMCk7cmV0dXJue3BvczpsLGluc2lkZTpkP2QucG9zQXRTdGFydC1kLmJvcmRlcjotMX19ZnVuY3Rpb24ga29hKGEpe3JldHVybiBhLnRvcDxhLmJvdHRvbXx8YS5sZWZ0PGEucmlnaHR9ZnVuY3Rpb24geTQoYSxlKXtsZXQgdD1hLmdldENsaWVudFJlY3RzKCk7aWYodC5sZW5ndGgpe2xldCByPXRbZTwwPzA6dC5sZW5ndGgtMV07aWYoa29hKHIpKXJldHVybiByfXJldHVybiBBcnJheS5wcm90b3R5cGUuZmluZC5jYWxsKHQsa29hKXx8YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1mdW5jdGlvbiBTb2EoYSxlLHQpe2xldHtub2RlOnIsb2Zmc2V0OmksYXRvbTpvfT1hLmRvY1ZpZXcuZG9tRnJvbVBvcyhlLHQ8MD8tMToxKSxuPWVXfHxFbjtpZihyLm5vZGVUeXBlPT0zKWlmKG4mJihIRGEudGVzdChyLm5vZGVWYWx1ZSl8fCh0PDA/IWk6aT09ci5ub2RlVmFsdWUubGVuZ3RoKSkpe2xldCBkPXk0KHhjKHIsaSxpKSx0KTtpZihFbiYmaSYmL1xzLy50ZXN0KHIubm9kZVZhbHVlW2ktMV0pJiZpPHIubm9kZVZhbHVlLmxlbmd0aCl7bGV0IGM9eTQoeGMocixpLTEsaS0xKSwtMSk7aWYoYy50b3A9PWQudG9wKXtsZXQgcD15NCh4YyhyLGksaSsxKSwtMSk7aWYocC50b3AhPWQudG9wKXJldHVybiB0VyhwLHAubGVmdDxjLmxlZnQpfX1yZXR1cm4gZH1lbHNle2xldCBkPWksYz1pLHA9dDwwPzE6LTE7cmV0dXJuIHQ8MCYmIWk/KGMrKyxwPS0xKTp0Pj0wJiZpPT1yLm5vZGVWYWx1ZS5sZW5ndGg/KGQtLSxwPTEpOnQ8MD9kLS06YysrLHRXKHk0KHhjKHIsZCxjKSxwKSxwPDApfWlmKCFhLnN0YXRlLmRvYy5yZXNvbHZlKGUtKG98fDApKS5wYXJlbnQuaW5saW5lQ29udGVudCl7aWYobz09bnVsbCYmaSYmKHQ8MHx8aT09QW4ocikpKXtsZXQgZD1yLmNoaWxkTm9kZXNbaS0xXTtpZihkLm5vZGVUeXBlPT0xKXJldHVybiBES2UoZC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSwhMSl9aWYobz09bnVsbCYmaTxBbihyKSl7bGV0IGQ9ci5jaGlsZE5vZGVzW2ldO2lmKGQubm9kZVR5cGU9PTEpcmV0dXJuIERLZShkLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLCEwKX1yZXR1cm4gREtlKHIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdD49MCl9aWYobz09bnVsbCYmaSYmKHQ8MHx8aT09QW4ocikpKXtsZXQgZD1yLmNoaWxkTm9kZXNbaS0xXSxjPWQubm9kZVR5cGU9PTM/eGMoZCxBbihkKS0obj8wOjEpKTpkLm5vZGVUeXBlPT0xJiYoZC5ub2RlTmFtZSE9IkJSInx8IWQubmV4dFNpYmxpbmcpP2Q6bnVsbDtpZihjKXJldHVybiB0Vyh5NChjLDEpLCExKX1pZihvPT1udWxsJiZpPEFuKHIpKXtsZXQgZD1yLmNoaWxkTm9kZXNbaV07Zm9yKDtkLnBtVmlld0Rlc2MmJmQucG1WaWV3RGVzYy5pZ25vcmVGb3JDb29yZHM7KWQ9ZC5uZXh0U2libGluZztsZXQgYz1kP2Qubm9kZVR5cGU9PTM/eGMoZCwwLG4/MDoxKTpkLm5vZGVUeXBlPT0xP2Q6bnVsbDpudWxsO2lmKGMpcmV0dXJuIHRXKHk0KGMsLTEpLCEwKX1yZXR1cm4gdFcoeTQoci5ub2RlVHlwZT09Mz94YyhyKTpyLC10KSx0Pj0wKX1mdW5jdGlvbiB0VyhhLGUpe2lmKGEud2lkdGg9PTApcmV0dXJuIGE7bGV0IHQ9ZT9hLmxlZnQ6YS5yaWdodDtyZXR1cm57dG9wOmEudG9wLGJvdHRvbTphLmJvdHRvbSxsZWZ0OnQscmlnaHQ6dH19ZnVuY3Rpb24gREtlKGEsZSl7aWYoYS5oZWlnaHQ9PTApcmV0dXJuIGE7bGV0IHQ9ZT9hLnRvcDphLmJvdHRvbTtyZXR1cm57dG9wOnQsYm90dG9tOnQsbGVmdDphLmxlZnQscmlnaHQ6YS5yaWdodH19ZnVuY3Rpb24gem9hKGEsZSx0KXtsZXQgcj1hLnN0YXRlLGk9YS5yb290LmFjdGl2ZUVsZW1lbnQ7ciE9ZSYmYS51cGRhdGVTdGF0ZShlKSxpIT1hLmRvbSYmYS5mb2N1cygpO3RyeXtyZXR1cm4gdCgpfWZpbmFsbHl7ciE9ZSYmYS51cGRhdGVTdGF0ZShyKSxpIT1hLmRvbSYmaSYmaS5mb2N1cygpfX1mdW5jdGlvbiBxRGEoYSxlLHQpe2xldCByPWUuc2VsZWN0aW9uLGk9dD09InVwIj9yLiRmcm9tOnIuJHRvO3JldHVybiB6b2EoYSxlLCgpPT57bGV0e25vZGU6b309YS5kb2NWaWV3LmRvbUZyb21Qb3MoaS5wb3MsdD09InVwIj8tMToxKTtmb3IoOzspe2xldCBsPWEuZG9jVmlldy5uZWFyZXN0RGVzYyhvLCEwKTtpZighbClicmVhaztpZihsLm5vZGUuaXNCbG9jayl7bz1sLmNvbnRlbnRET018fGwuZG9tO2JyZWFrfW89bC5kb20ucGFyZW50Tm9kZX1sZXQgbj1Tb2EoYSxpLnBvcywxKTtmb3IobGV0IGw9by5maXJzdENoaWxkO2w7bD1sLm5leHRTaWJsaW5nKXtsZXQgZDtpZihsLm5vZGVUeXBlPT0xKWQ9bC5nZXRDbGllbnRSZWN0cygpO2Vsc2UgaWYobC5ub2RlVHlwZT09MylkPXhjKGwsMCxsLm5vZGVWYWx1ZS5sZW5ndGgpLmdldENsaWVudFJlY3RzKCk7ZWxzZSBjb250aW51ZTtmb3IobGV0IGM9MDtjPGQubGVuZ3RoO2MrKyl7bGV0IHA9ZFtjXTtpZihwLmJvdHRvbT5wLnRvcCsxJiYodD09InVwIj9uLnRvcC1wLnRvcD4ocC5ib3R0b20tbi50b3ApKjI6cC5ib3R0b20tbi5ib3R0b20+KG4uYm90dG9tLXAudG9wKSoyKSlyZXR1cm4hMX19cmV0dXJuITB9KX1mdW5jdGlvbiBqRGEoYSxlLHQpe2xldHskaGVhZDpyfT1lLnNlbGVjdGlvbjtpZighci5wYXJlbnQuaXNUZXh0YmxvY2spcmV0dXJuITE7bGV0IGk9ci5wYXJlbnRPZmZzZXQsbz0haSxuPWk9PXIucGFyZW50LmNvbnRlbnQuc2l6ZSxsPWEuZG9tU2VsZWN0aW9uKCk7cmV0dXJuIGw/IVZEYS50ZXN0KHIucGFyZW50LnRleHRDb250ZW50KXx8IWwubW9kaWZ5P3Q9PSJsZWZ0Inx8dD09ImJhY2t3YXJkIj9vOm46em9hKGEsZSwoKT0+e2xldHtmb2N1c05vZGU6ZCxmb2N1c09mZnNldDpjLGFuY2hvck5vZGU6cCxhbmNob3JPZmZzZXQ6dX09YS5kb21TZWxlY3Rpb25SYW5nZSgpLG09bC5jYXJldEJpZGlMZXZlbDtsLm1vZGlmeSgibW92ZSIsdCwiY2hhcmFjdGVyIik7bGV0IHY9ci5kZXB0aD9hLmRvY1ZpZXcuZG9tQWZ0ZXJQb3Moci5iZWZvcmUoKSk6YS5kb20se2ZvY3VzTm9kZTp4LGZvY3VzT2Zmc2V0OmJ9PWEuZG9tU2VsZWN0aW9uUmFuZ2UoKSxnPXgmJiF2LmNvbnRhaW5zKHgubm9kZVR5cGU9PTE/eDp4LnBhcmVudE5vZGUpfHxkPT14JiZjPT1iO3RyeXtsLmNvbGxhcHNlKHAsdSksZCYmKGQhPXB8fGMhPXUpJiZsLmV4dGVuZCYmbC5leHRlbmQoZCxjKX1jYXRjaHt9cmV0dXJuIG0hPW51bGwmJihsLmNhcmV0QmlkaUxldmVsPW0pLGd9KTpyLnBvcz09ci5zdGFydCgpfHxyLnBvcz09ci5lbmQoKX1mdW5jdGlvbiBVRGEoYSxlLHQpe3JldHVybiBDb2E9PWUmJl9vYT09dD9Ub2E6KENvYT1lLF9vYT10LFRvYT10PT0idXAifHx0PT0iZG93biI/cURhKGEsZSx0KTpqRGEoYSxlLHQpKX1mdW5jdGlvbiAkb2EoYSxlLHQscixpKXtFb2EocixlLGEpO2xldCBvPW5ldyB3NCh2b2lkIDAsYSxlLHQscixyLHIsaSwwKTtyZXR1cm4gby5jb250ZW50RE9NJiZvLnVwZGF0ZUNoaWxkcmVuKGksMCksb31mdW5jdGlvbiBEb2EoYSxlLHQpe2xldCByPWEuZmlyc3RDaGlsZCxpPSExO2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7bysrKXtsZXQgbj1lW29dLGw9bi5kb207aWYobC5wYXJlbnROb2RlPT1hKXtmb3IoO2whPXI7KXI9UG9hKHIpLGk9ITA7cj1yLm5leHRTaWJsaW5nfWVsc2UgaT0hMCxhLmluc2VydEJlZm9yZShsLHIpO2lmKG4gaW5zdGFuY2VvZiBDbSl7bGV0IGQ9cj9yLnByZXZpb3VzU2libGluZzphLmxhc3RDaGlsZDtEb2Eobi5jb250ZW50RE9NLG4uY2hpbGRyZW4sdCkscj1kP2QubmV4dFNpYmxpbmc6YS5maXJzdENoaWxkfX1mb3IoO3I7KXI9UG9hKHIpLGk9ITA7aSYmdC50cmFja1dyaXRlcz09YSYmKHQudHJhY2tXcml0ZXM9bnVsbCl9ZnVuY3Rpb24gUEtlKGEsZSx0KXtpZihhLmxlbmd0aD09MClyZXR1cm4gUWY7bGV0IHI9dD9RZlswXTpuZXcgYVcsaT1bcl07Zm9yKGxldCBvPTA7bzxhLmxlbmd0aDtvKyspe2xldCBuPWFbb10udHlwZS5hdHRycztpZihuKXtuLm5vZGVOYW1lJiZpLnB1c2gocj1uZXcgYVcobi5ub2RlTmFtZSkpO2ZvcihsZXQgbCBpbiBuKXtsZXQgZD1uW2xdO2QhPW51bGwmJih0JiZpLmxlbmd0aD09MSYmaS5wdXNoKHI9bmV3IGFXKGUuaXNJbmxpbmU/InNwYW4iOiJkaXYiKSksbD09ImNsYXNzIj9yLmNsYXNzPShyLmNsYXNzP3IuY2xhc3MrIiAiOiIiKStkOmw9PSJzdHlsZSI/ci5zdHlsZT0oci5zdHlsZT9yLnN0eWxlKyI7IjoiIikrZDpsIT0ibm9kZU5hbWUiJiYocltsXT1kKSl9fX1yZXR1cm4gaX1mdW5jdGlvbiBBb2EoYSxlLHQscil7aWYodD09UWYmJnI9PVFmKXJldHVybiBlO2xldCBpPWU7Zm9yKGxldCBvPTA7bzxyLmxlbmd0aDtvKyspe2xldCBuPXJbb10sbD10W29dO2lmKG8pe2xldCBkO2wmJmwubm9kZU5hbWU9PW4ubm9kZU5hbWUmJmkhPWEmJihkPWkucGFyZW50Tm9kZSkmJmQubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09bi5ub2RlTmFtZXx8KGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChuLm5vZGVOYW1lKSxkLnBtSXNEZWNvPSEwLGQuYXBwZW5kQ2hpbGQoaSksbD1RZlswXSksaT1kfVdEYShpLGx8fFFmWzBdLG4pfXJldHVybiBpfWZ1bmN0aW9uIFdEYShhLGUsdCl7Zm9yKGxldCByIGluIGUpciE9ImNsYXNzIiYmciE9InN0eWxlIiYmciE9Im5vZGVOYW1lIiYmIShyIGluIHQpJiZhLnJlbW92ZUF0dHJpYnV0ZShyKTtmb3IobGV0IHIgaW4gdClyIT0iY2xhc3MiJiZyIT0ic3R5bGUiJiZyIT0ibm9kZU5hbWUiJiZ0W3JdIT1lW3JdJiZhLnNldEF0dHJpYnV0ZShyLHRbcl0pO2lmKGUuY2xhc3MhPXQuY2xhc3Mpe2xldCByPWUuY2xhc3M/ZS5jbGFzcy5zcGxpdCgiICIpLmZpbHRlcihCb29sZWFuKTpbXSxpPXQuY2xhc3M/dC5jbGFzcy5zcGxpdCgiICIpLmZpbHRlcihCb29sZWFuKTpbXTtmb3IobGV0IG89MDtvPHIubGVuZ3RoO28rKylpLmluZGV4T2YocltvXSk9PS0xJiZhLmNsYXNzTGlzdC5yZW1vdmUocltvXSk7Zm9yKGxldCBvPTA7bzxpLmxlbmd0aDtvKyspci5pbmRleE9mKGlbb10pPT0tMSYmYS5jbGFzc0xpc3QuYWRkKGlbb10pO2EuY2xhc3NMaXN0Lmxlbmd0aD09MCYmYS5yZW1vdmVBdHRyaWJ1dGUoImNsYXNzIil9aWYoZS5zdHlsZSE9dC5zdHlsZSl7aWYoZS5zdHlsZSl7bGV0IHI9L1xzKihbXHdcLVx4YTEtXHVmZmZmXSspXHMqOig/OiIoPzpcXC58W14iXSkqInwnKD86XFwufFteJ10pKid8XCguKj9cKXxbXjtdKSovZyxpO2Zvcig7aT1yLmV4ZWMoZS5zdHlsZSk7KWEuc3R5bGUucmVtb3ZlUHJvcGVydHkoaVsxXSl9dC5zdHlsZSYmKGEuc3R5bGUuY3NzVGV4dCs9dC5zdHlsZSl9fWZ1bmN0aW9uIEVvYShhLGUsdCl7cmV0dXJuIEFvYShhLGEsUWYsUEtlKGUsdCxhLm5vZGVUeXBlIT0xKSl9ZnVuY3Rpb24gSGFlKGEsZSl7aWYoYS5sZW5ndGghPWUubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgdD0wO3Q8YS5sZW5ndGg7dCsrKWlmKCFhW3RdLnR5cGUuZXEoZVt0XS50eXBlKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBQb2EoYSl7bGV0IGU9YS5uZXh0U2libGluZztyZXR1cm4gYS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGEpLGV9ZnVuY3Rpb24gR0RhKGEsZSl7bGV0IHQ9ZSxyPXQuY2hpbGRyZW4ubGVuZ3RoLGk9YS5jaGlsZENvdW50LG89bmV3IE1hcCxuPVtdO2U6Zm9yKDtpPjA7KXtsZXQgbDtmb3IoOzspaWYocil7bGV0IGM9dC5jaGlsZHJlbltyLTFdO2lmKGMgaW5zdGFuY2VvZiBDbSl0PWMscj1jLmNoaWxkcmVuLmxlbmd0aDtlbHNle2w9YyxyLS07YnJlYWt9fWVsc2V7aWYodD09ZSlicmVhayBlO3I9dC5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0KSx0PXQucGFyZW50fWxldCBkPWwubm9kZTtpZihkKXtpZihkIT1hLmNoaWxkKGktMSkpYnJlYWs7LS1pLG8uc2V0KGwsaSksbi5wdXNoKGwpfX1yZXR1cm57aW5kZXg6aSxtYXRjaGVkOm8sbWF0Y2hlczpuLnJldmVyc2UoKX19ZnVuY3Rpb24gWURhKGEsZSl7cmV0dXJuIGEudHlwZS5zaWRlLWUudHlwZS5zaWRlfWZ1bmN0aW9uIEtEYShhLGUsdCxyKXtsZXQgaT1lLmxvY2FscyhhKSxvPTA7aWYoaS5sZW5ndGg9PTApe2ZvcihsZXQgYz0wO2M8YS5jaGlsZENvdW50O2MrKyl7bGV0IHA9YS5jaGlsZChjKTtyKHAsaSxlLmZvckNoaWxkKG8scCksYyksbys9cC5ub2RlU2l6ZX1yZXR1cm59bGV0IG49MCxsPVtdLGQ9bnVsbDtmb3IobGV0IGM9MDs7KXtsZXQgcCx1O2Zvcig7bjxpLmxlbmd0aCYmaVtuXS50bz09bzspe2xldCBnPWlbbisrXTtnLndpZGdldCYmKHA/KHV8fCh1PVtwXSkpLnB1c2goZyk6cD1nKX1pZihwKWlmKHUpe3Uuc29ydChZRGEpO2ZvcihsZXQgZz0wO2c8dS5sZW5ndGg7ZysrKXQodVtnXSxjLCEhZCl9ZWxzZSB0KHAsYywhIWQpO2xldCBtLHY7aWYoZCl2PS0xLG09ZCxkPW51bGw7ZWxzZSBpZihjPGEuY2hpbGRDb3VudCl2PWMsbT1hLmNoaWxkKGMrKyk7ZWxzZSBicmVhaztmb3IobGV0IGc9MDtnPGwubGVuZ3RoO2crKylsW2ddLnRvPD1vJiZsLnNwbGljZShnLS0sMSk7Zm9yKDtuPGkubGVuZ3RoJiZpW25dLmZyb208PW8mJmlbbl0udG8+bzspbC5wdXNoKGlbbisrXSk7bGV0IHg9byttLm5vZGVTaXplO2lmKG0uaXNUZXh0KXtsZXQgZz14O248aS5sZW5ndGgmJmlbbl0uZnJvbTxnJiYoZz1pW25dLmZyb20pO2ZvcihsZXQgeT0wO3k8bC5sZW5ndGg7eSsrKWxbeV0udG88ZyYmKGc9bFt5XS50byk7Zzx4JiYoZD1tLmN1dChnLW8pLG09bS5jdXQoMCxnLW8pLHg9Zyx2PS0xKX1lbHNlIGZvcig7bjxpLmxlbmd0aCYmaVtuXS50bzx4OyluKys7bGV0IGI9bS5pc0lubGluZSYmIW0uaXNMZWFmP2wuZmlsdGVyKGc9PiFnLmlubGluZSk6bC5zbGljZSgpO3IobSxiLGUuZm9yQ2hpbGQobyxtKSx2KSxvPXh9fWZ1bmN0aW9uIFpEYShhKXtpZihhLm5vZGVOYW1lPT0iVUwifHxhLm5vZGVOYW1lPT0iT0wiKXtsZXQgZT1hLnN0eWxlLmNzc1RleHQ7YS5zdHlsZS5jc3NUZXh0PWUrIjsgbGlzdC1zdHlsZTogc3F1YXJlICFpbXBvcnRhbnQiLHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGEpLmxpc3RTdHlsZSxhLnN0eWxlLmNzc1RleHQ9ZX19ZnVuY3Rpb24gWERhKGEsZSx0LHIpe2ZvcihsZXQgaT0wLG89MDtpPGEuY2hpbGRDb3VudCYmbzw9cjspe2xldCBuPWEuY2hpbGQoaSsrKSxsPW87aWYobys9bi5ub2RlU2l6ZSwhbi5pc1RleHQpY29udGludWU7bGV0IGQ9bi50ZXh0O2Zvcig7aTxhLmNoaWxkQ291bnQ7KXtsZXQgYz1hLmNoaWxkKGkrKyk7aWYobys9Yy5ub2RlU2l6ZSwhYy5pc1RleHQpYnJlYWs7ZCs9Yy50ZXh0fWlmKG8+PXQpe2lmKG8+PXImJmQuc2xpY2Uoci1lLmxlbmd0aC1sLHItbCk9PWUpcmV0dXJuIHItZS5sZW5ndGg7bGV0IGM9bDxyP2QubGFzdEluZGV4T2YoZSxyLWwtMSk6LTE7aWYoYz49MCYmYytlLmxlbmd0aCtsPj10KXJldHVybiBsK2M7aWYodD09ciYmZC5sZW5ndGg+PXIrZS5sZW5ndGgtbCYmZC5zbGljZShyLWwsci1sK2UubGVuZ3RoKT09ZSlyZXR1cm4gcn19cmV0dXJuLTF9ZnVuY3Rpb24gTktlKGEsZSx0LHIsaSl7bGV0IG89W107Zm9yKGxldCBuPTAsbD0wO248YS5sZW5ndGg7bisrKXtsZXQgZD1hW25dLGM9bCxwPWwrPWQuc2l6ZTtjPj10fHxwPD1lP28ucHVzaChkKTooYzxlJiZvLnB1c2goZC5zbGljZSgwLGUtYyxyKSksaSYmKG8ucHVzaChpKSxpPXZvaWQgMCkscD50JiZvLnB1c2goZC5zbGljZSh0LWMsZC5zaXplLHIpKSl9cmV0dXJuIG99ZnVuY3Rpb24gUktlKGEsZT1udWxsKXtsZXQgdD1hLmRvbVNlbGVjdGlvblJhbmdlKCkscj1hLnN0YXRlLmRvYztpZighdC5mb2N1c05vZGUpcmV0dXJuIG51bGw7bGV0IGk9YS5kb2NWaWV3Lm5lYXJlc3REZXNjKHQuZm9jdXNOb2RlKSxvPWkmJmkuc2l6ZT09MCxuPWEuZG9jVmlldy5wb3NGcm9tRE9NKHQuZm9jdXNOb2RlLHQuZm9jdXNPZmZzZXQsMSk7aWYobjwwKXJldHVybiBudWxsO2xldCBsPXIucmVzb2x2ZShuKSxkLGM7aWYoUmFlKHQpKXtmb3IoZD1uO2kmJiFpLm5vZGU7KWk9aS5wYXJlbnQ7bGV0IHU9aS5ub2RlO2lmKGkmJnUuaXNBdG9tJiZNdC5pc1NlbGVjdGFibGUodSkmJmkucGFyZW50JiYhKHUuaXNJbmxpbmUmJl9EYSh0LmZvY3VzTm9kZSx0LmZvY3VzT2Zmc2V0LGkuZG9tKSkpe2xldCBtPWkucG9zQmVmb3JlO2M9bmV3IE10KG49PW0/bDpyLnJlc29sdmUobSkpfX1lbHNle2lmKHQgaW5zdGFuY2VvZiBhLmRvbS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3LlNlbGVjdGlvbiYmdC5yYW5nZUNvdW50PjEpe2xldCB1PW4sbT1uO2ZvcihsZXQgdj0wO3Y8dC5yYW5nZUNvdW50O3YrKyl7bGV0IHg9dC5nZXRSYW5nZUF0KHYpO3U9TWF0aC5taW4odSxhLmRvY1ZpZXcucG9zRnJvbURPTSh4LnN0YXJ0Q29udGFpbmVyLHguc3RhcnRPZmZzZXQsMSkpLG09TWF0aC5tYXgobSxhLmRvY1ZpZXcucG9zRnJvbURPTSh4LmVuZENvbnRhaW5lcix4LmVuZE9mZnNldCwtMSkpfWlmKHU8MClyZXR1cm4gbnVsbDtbZCxuXT1tPT1hLnN0YXRlLnNlbGVjdGlvbi5hbmNob3I/W20sdV06W3UsbV0sbD1yLnJlc29sdmUobil9ZWxzZSBkPWEuZG9jVmlldy5wb3NGcm9tRE9NKHQuYW5jaG9yTm9kZSx0LmFuY2hvck9mZnNldCwxKTtpZihkPDApcmV0dXJuIG51bGx9bGV0IHA9ci5yZXNvbHZlKGQpO2lmKCFjKXtsZXQgdT1lPT0icG9pbnRlciJ8fGEuc3RhdGUuc2VsZWN0aW9uLmhlYWQ8bC5wb3MmJiFvPzE6LTE7Yz1GS2UoYSxwLGwsdSl9cmV0dXJuIGN9ZnVuY3Rpb24gSW9hKGEpe3JldHVybiBhLmVkaXRhYmxlP2EuaGFzRm9jdXMoKTpxb2EoYSkmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuY29udGFpbnMoYS5kb20pfWZ1bmN0aW9uIE1jKGEsZT0hMSl7bGV0IHQ9YS5zdGF0ZS5zZWxlY3Rpb247aWYoRm9hKGEsdCksISFJb2EoYSkpe2lmKCFlJiZhLmlucHV0Lm1vdXNlRG93biYmYS5pbnB1dC5tb3VzZURvd24uYWxsb3dEZWZhdWx0JiZyaSl7bGV0IHI9YS5kb21TZWxlY3Rpb25SYW5nZSgpLGk9YS5kb21PYnNlcnZlci5jdXJyZW50U2VsZWN0aW9uO2lmKHIuYW5jaG9yTm9kZSYmaS5hbmNob3JOb2RlJiZZZihyLmFuY2hvck5vZGUsci5hbmNob3JPZmZzZXQsaS5hbmNob3JOb2RlLGkuYW5jaG9yT2Zmc2V0KSl7YS5pbnB1dC5tb3VzZURvd24uZGVsYXllZFNlbGVjdGlvblN5bmM9ITAsYS5kb21PYnNlcnZlci5zZXRDdXJTZWxlY3Rpb24oKTtyZXR1cm59fWlmKGEuZG9tT2JzZXJ2ZXIuZGlzY29ubmVjdFNlbGVjdGlvbigpLGEuY3Vyc29yV3JhcHBlcilKRGEoYSk7ZWxzZXtsZXR7YW5jaG9yOnIsaGVhZDppfT10LG8sbjtOb2EmJiEodCBpbnN0YW5jZW9mIFJ0KSYmKHQuJGZyb20ucGFyZW50LmlubGluZUNvbnRlbnR8fChvPVJvYShhLHQuZnJvbSkpLCF0LmVtcHR5JiYhdC4kZnJvbS5wYXJlbnQuaW5saW5lQ29udGVudCYmKG49Um9hKGEsdC50bykpKSxhLmRvY1ZpZXcuc2V0U2VsZWN0aW9uKHIsaSxhLGUpLE5vYSYmKG8mJk9vYShvKSxuJiZPb2EobikpLHQudmlzaWJsZT9hLmRvbS5jbGFzc0xpc3QucmVtb3ZlKCJQcm9zZU1pcnJvci1oaWRlc2VsZWN0aW9uIik6KGEuZG9tLmNsYXNzTGlzdC5hZGQoIlByb3NlTWlycm9yLWhpZGVzZWxlY3Rpb24iKSwib25zZWxlY3Rpb25jaGFuZ2UiaW4gZG9jdW1lbnQmJlFEYShhKSl9YS5kb21PYnNlcnZlci5zZXRDdXJTZWxlY3Rpb24oKSxhLmRvbU9ic2VydmVyLmNvbm5lY3RTZWxlY3Rpb24oKX19ZnVuY3Rpb24gUm9hKGEsZSl7bGV0e25vZGU6dCxvZmZzZXQ6cn09YS5kb2NWaWV3LmRvbUZyb21Qb3MoZSwwKSxpPXI8dC5jaGlsZE5vZGVzLmxlbmd0aD90LmNoaWxkTm9kZXNbcl06bnVsbCxvPXI/dC5jaGlsZE5vZGVzW3ItMV06bnVsbDtpZihBaSYmaSYmaS5jb250ZW50RWRpdGFibGU9PSJmYWxzZSIpcmV0dXJuIE9LZShpKTtpZigoIWl8fGkuY29udGVudEVkaXRhYmxlPT0iZmFsc2UiKSYmKCFvfHxvLmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIikpe2lmKGkpcmV0dXJuIE9LZShpKTtpZihvKXJldHVybiBPS2Uobyl9fWZ1bmN0aW9uIE9LZShhKXtyZXR1cm4gYS5jb250ZW50RWRpdGFibGU9InRydWUiLEFpJiZhLmRyYWdnYWJsZSYmKGEuZHJhZ2dhYmxlPSExLGEud2FzRHJhZ2dhYmxlPSEwKSxhfWZ1bmN0aW9uIE9vYShhKXthLmNvbnRlbnRFZGl0YWJsZT0iZmFsc2UiLGEud2FzRHJhZ2dhYmxlJiYoYS5kcmFnZ2FibGU9ITAsYS53YXNEcmFnZ2FibGU9bnVsbCl9ZnVuY3Rpb24gUURhKGEpe2xldCBlPWEuZG9tLm93bmVyRG9jdW1lbnQ7ZS5yZW1vdmVFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLGEuaW5wdXQuaGlkZVNlbGVjdGlvbkd1YXJkKTtsZXQgdD1hLmRvbVNlbGVjdGlvblJhbmdlKCkscj10LmFuY2hvck5vZGUsaT10LmFuY2hvck9mZnNldDtlLmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsYS5pbnB1dC5oaWRlU2VsZWN0aW9uR3VhcmQ9KCk9PnsodC5hbmNob3JOb2RlIT1yfHx0LmFuY2hvck9mZnNldCE9aSkmJihlLnJlbW92ZUV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsYS5pbnB1dC5oaWRlU2VsZWN0aW9uR3VhcmQpLHNldFRpbWVvdXQoKCk9PnsoIUlvYShhKXx8YS5zdGF0ZS5zZWxlY3Rpb24udmlzaWJsZSkmJmEuZG9tLmNsYXNzTGlzdC5yZW1vdmUoIlByb3NlTWlycm9yLWhpZGVzZWxlY3Rpb24iKX0sMjApKX0pfWZ1bmN0aW9uIEpEYShhKXtsZXQgZT1hLmRvbVNlbGVjdGlvbigpO2lmKCFlKXJldHVybjtsZXQgdD1hLmN1cnNvcldyYXBwZXIuZG9tLHI9dC5ub2RlTmFtZT09IklNRyI7cj9lLmNvbGxhcHNlKHQucGFyZW50Tm9kZSxhaSh0KSsxKTplLmNvbGxhcHNlKHQsMCksIXImJiFhLnN0YXRlLnNlbGVjdGlvbi52aXNpYmxlJiZBbyYmeDQ8PTExJiYodC5kaXNhYmxlZD0hMCx0LmRpc2FibGVkPSExKX1mdW5jdGlvbiBGb2EoYSxlKXtpZihlIGluc3RhbmNlb2YgTXQpe2xldCB0PWEuZG9jVmlldy5kZXNjQXQoZS5mcm9tKTt0IT1hLmxhc3RTZWxlY3RlZFZpZXdEZXNjJiYoQm9hKGEpLHQmJnQuc2VsZWN0Tm9kZSgpLGEubGFzdFNlbGVjdGVkVmlld0Rlc2M9dCl9ZWxzZSBCb2EoYSl9ZnVuY3Rpb24gQm9hKGEpe2EubGFzdFNlbGVjdGVkVmlld0Rlc2MmJihhLmxhc3RTZWxlY3RlZFZpZXdEZXNjLnBhcmVudCYmYS5sYXN0U2VsZWN0ZWRWaWV3RGVzYy5kZXNlbGVjdE5vZGUoKSxhLmxhc3RTZWxlY3RlZFZpZXdEZXNjPXZvaWQgMCl9ZnVuY3Rpb24gRktlKGEsZSx0LHIpe3JldHVybiBhLnNvbWVQcm9wKCJjcmVhdGVTZWxlY3Rpb25CZXR3ZWVuIixpPT5pKGEsZSx0KSl8fFJ0LmJldHdlZW4oZSx0LHIpfWZ1bmN0aW9uIEhvYShhKXtyZXR1cm4gYS5lZGl0YWJsZSYmIWEuaGFzRm9jdXMoKT8hMTpxb2EoYSl9ZnVuY3Rpb24gcW9hKGEpe2xldCBlPWEuZG9tU2VsZWN0aW9uUmFuZ2UoKTtpZighZS5hbmNob3JOb2RlKXJldHVybiExO3RyeXtyZXR1cm4gYS5kb20uY29udGFpbnMoZS5hbmNob3JOb2RlLm5vZGVUeXBlPT0zP2UuYW5jaG9yTm9kZS5wYXJlbnROb2RlOmUuYW5jaG9yTm9kZSkmJihhLmVkaXRhYmxlfHxhLmRvbS5jb250YWlucyhlLmZvY3VzTm9kZS5ub2RlVHlwZT09Mz9lLmZvY3VzTm9kZS5wYXJlbnROb2RlOmUuZm9jdXNOb2RlKSl9Y2F0Y2h7cmV0dXJuITF9fWZ1bmN0aW9uIGVBYShhKXtsZXQgZT1hLmRvY1ZpZXcuZG9tRnJvbVBvcyhhLnN0YXRlLnNlbGVjdGlvbi5hbmNob3IsMCksdD1hLmRvbVNlbGVjdGlvblJhbmdlKCk7cmV0dXJuIFlmKGUubm9kZSxlLm9mZnNldCx0LmFuY2hvck5vZGUsdC5hbmNob3JPZmZzZXQpfWZ1bmN0aW9uIEJLZShhLGUpe2xldHskYW5jaG9yOnQsJGhlYWQ6cn09YS5zZWxlY3Rpb24saT1lPjA/dC5tYXgocik6dC5taW4ociksbz1pLnBhcmVudC5pbmxpbmVDb250ZW50P2kuZGVwdGg/YS5kb2MucmVzb2x2ZShlPjA/aS5hZnRlcigpOmkuYmVmb3JlKCkpOm51bGw6aTtyZXR1cm4gbyYmSXQuZmluZEZyb20obyxlKX1mdW5jdGlvbiBNNChhLGUpe3JldHVybiBhLmRpc3BhdGNoKGEuc3RhdGUudHIuc2V0U2VsZWN0aW9uKGUpLnNjcm9sbEludG9WaWV3KCkpLCEwfWZ1bmN0aW9uIFZvYShhLGUsdCl7bGV0IHI9YS5zdGF0ZS5zZWxlY3Rpb247aWYociBpbnN0YW5jZW9mIFJ0KWlmKHQuaW5kZXhPZigicyIpPi0xKXtsZXR7JGhlYWQ6aX09cixvPWkudGV4dE9mZnNldD9udWxsOmU8MD9pLm5vZGVCZWZvcmU6aS5ub2RlQWZ0ZXI7aWYoIW98fG8uaXNUZXh0fHwhby5pc0xlYWYpcmV0dXJuITE7bGV0IG49YS5zdGF0ZS5kb2MucmVzb2x2ZShpLnBvcytvLm5vZGVTaXplKihlPDA/LTE6MSkpO3JldHVybiBNNChhLG5ldyBSdChyLiRhbmNob3IsbikpfWVsc2UgaWYoci5lbXB0eSl7aWYoYS5lbmRPZlRleHRibG9jayhlPjA/ImZvcndhcmQiOiJiYWNrd2FyZCIpKXtsZXQgaT1CS2UoYS5zdGF0ZSxlKTtyZXR1cm4gaSYmaSBpbnN0YW5jZW9mIE10P000KGEsaSk6ITF9ZWxzZSBpZighKFBuJiZ0LmluZGV4T2YoIm0iKT4tMSkpe2xldCBpPXIuJGhlYWQsbz1pLnRleHRPZmZzZXQ/bnVsbDplPDA/aS5ub2RlQmVmb3JlOmkubm9kZUFmdGVyLG47aWYoIW98fG8uaXNUZXh0KXJldHVybiExO2xldCBsPWU8MD9pLnBvcy1vLm5vZGVTaXplOmkucG9zO3JldHVybiBvLmlzQXRvbXx8KG49YS5kb2NWaWV3LmRlc2NBdChsKSkmJiFuLmNvbnRlbnRET00/TXQuaXNTZWxlY3RhYmxlKG8pP000KGEsbmV3IE10KGU8MD9hLnN0YXRlLmRvYy5yZXNvbHZlKGkucG9zLW8ubm9kZVNpemUpOmkpKTplVz9NNChhLG5ldyBSdChhLnN0YXRlLmRvYy5yZXNvbHZlKGU8MD9sOmwrby5ub2RlU2l6ZSkpKTohMTohMX19ZWxzZSByZXR1cm4hMTtlbHNle2lmKHIgaW5zdGFuY2VvZiBNdCYmci5ub2RlLmlzSW5saW5lKXJldHVybiBNNChhLG5ldyBSdChlPjA/ci4kdG86ci4kZnJvbSkpO3tsZXQgaT1CS2UoYS5zdGF0ZSxlKTtyZXR1cm4gaT9NNChhLGkpOiExfX19ZnVuY3Rpb24gcWFlKGEpe3JldHVybiBhLm5vZGVUeXBlPT0zP2Eubm9kZVZhbHVlLmxlbmd0aDphLmNoaWxkTm9kZXMubGVuZ3RofWZ1bmN0aW9uIHJXKGEsZSl7bGV0IHQ9YS5wbVZpZXdEZXNjO3JldHVybiB0JiZ0LnNpemU9PTAmJihlPDB8fGEubmV4dFNpYmxpbmd8fGEubm9kZU5hbWUhPSJCUiIpfWZ1bmN0aW9uIF9tKGEsZSl7cmV0dXJuIGU8MD90QWEoYSk6YUFhKGEpfWZ1bmN0aW9uIHRBYShhKXtsZXQgZT1hLmRvbVNlbGVjdGlvblJhbmdlKCksdD1lLmZvY3VzTm9kZSxyPWUuZm9jdXNPZmZzZXQ7aWYoIXQpcmV0dXJuO2xldCBpLG8sbj0hMTtmb3IoRW4mJnQubm9kZVR5cGU9PTEmJnI8cWFlKHQpJiZyVyh0LmNoaWxkTm9kZXNbcl0sLTEpJiYobj0hMCk7OylpZihyPjApe2lmKHQubm9kZVR5cGUhPTEpYnJlYWs7e2xldCBsPXQuY2hpbGROb2Rlc1tyLTFdO2lmKHJXKGwsLTEpKWk9dCxvPS0tcjtlbHNlIGlmKGwubm9kZVR5cGU9PTMpdD1sLHI9dC5ub2RlVmFsdWUubGVuZ3RoO2Vsc2UgYnJlYWt9fWVsc2V7aWYoam9hKHQpKWJyZWFrO3tsZXQgbD10LnByZXZpb3VzU2libGluZztmb3IoO2wmJnJXKGwsLTEpOylpPXQucGFyZW50Tm9kZSxvPWFpKGwpLGw9bC5wcmV2aW91c1NpYmxpbmc7aWYobCl0PWwscj1xYWUodCk7ZWxzZXtpZih0PXQucGFyZW50Tm9kZSx0PT1hLmRvbSlicmVhaztyPTB9fX1uP0hLZShhLHQscik6aSYmSEtlKGEsaSxvKX1mdW5jdGlvbiBhQWEoYSl7bGV0IGU9YS5kb21TZWxlY3Rpb25SYW5nZSgpLHQ9ZS5mb2N1c05vZGUscj1lLmZvY3VzT2Zmc2V0O2lmKCF0KXJldHVybjtsZXQgaT1xYWUodCksbyxuO2Zvcig7OylpZihyPGkpe2lmKHQubm9kZVR5cGUhPTEpYnJlYWs7bGV0IGw9dC5jaGlsZE5vZGVzW3JdO2lmKHJXKGwsMSkpbz10LG49KytyO2Vsc2UgYnJlYWt9ZWxzZXtpZihqb2EodCkpYnJlYWs7e2xldCBsPXQubmV4dFNpYmxpbmc7Zm9yKDtsJiZyVyhsLDEpOylvPWwucGFyZW50Tm9kZSxuPWFpKGwpKzEsbD1sLm5leHRTaWJsaW5nO2lmKGwpdD1sLHI9MCxpPXFhZSh0KTtlbHNle2lmKHQ9dC5wYXJlbnROb2RlLHQ9PWEuZG9tKWJyZWFrO3I9aT0wfX19byYmSEtlKGEsbyxuKX1mdW5jdGlvbiBqb2EoYSl7bGV0IGU9YS5wbVZpZXdEZXNjO3JldHVybiBlJiZlLm5vZGUmJmUubm9kZS5pc0Jsb2NrfWZ1bmN0aW9uIHJBYShhLGUpe2Zvcig7YSYmZT09YS5jaGlsZE5vZGVzLmxlbmd0aCYmIUpVKGEpOyllPWFpKGEpKzEsYT1hLnBhcmVudE5vZGU7Zm9yKDthJiZlPGEuY2hpbGROb2Rlcy5sZW5ndGg7KXtsZXQgdD1hLmNoaWxkTm9kZXNbZV07aWYodC5ub2RlVHlwZT09MylyZXR1cm4gdDtpZih0Lm5vZGVUeXBlPT0xJiZ0LmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIilicmVhazthPXQsZT0wfX1mdW5jdGlvbiBzQWEoYSxlKXtmb3IoO2EmJiFlJiYhSlUoYSk7KWU9YWkoYSksYT1hLnBhcmVudE5vZGU7Zm9yKDthJiZlOyl7bGV0IHQ9YS5jaGlsZE5vZGVzW2UtMV07aWYodC5ub2RlVHlwZT09MylyZXR1cm4gdDtpZih0Lm5vZGVUeXBlPT0xJiZ0LmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIilicmVhazthPXQsZT1hLmNoaWxkTm9kZXMubGVuZ3RofX1mdW5jdGlvbiBIS2UoYSxlLHQpe2lmKGUubm9kZVR5cGUhPTMpe2xldCBvLG47KG49ckFhKGUsdCkpPyhlPW4sdD0wKToobz1zQWEoZSx0KSkmJihlPW8sdD1vLm5vZGVWYWx1ZS5sZW5ndGgpfWxldCByPWEuZG9tU2VsZWN0aW9uKCk7aWYoIXIpcmV0dXJuO2lmKFJhZShyKSl7bGV0IG89ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtvLnNldEVuZChlLHQpLG8uc2V0U3RhcnQoZSx0KSxyLnJlbW92ZUFsbFJhbmdlcygpLHIuYWRkUmFuZ2Uobyl9ZWxzZSByLmV4dGVuZCYmci5leHRlbmQoZSx0KTthLmRvbU9ic2VydmVyLnNldEN1clNlbGVjdGlvbigpO2xldHtzdGF0ZTppfT1hO3NldFRpbWVvdXQoKCk9PnthLnN0YXRlPT1pJiZNYyhhKX0sNTApfWZ1bmN0aW9uIFVvYShhLGUpe2xldCB0PWEuc3RhdGUuZG9jLnJlc29sdmUoZSk7aWYoIShyaXx8Ym9hKSYmdC5wYXJlbnQuaW5saW5lQ29udGVudCl7bGV0IGk9YS5jb29yZHNBdFBvcyhlKTtpZihlPnQuc3RhcnQoKSl7bGV0IG89YS5jb29yZHNBdFBvcyhlLTEpLG49KG8udG9wK28uYm90dG9tKS8yO2lmKG4+aS50b3AmJm48aS5ib3R0b20mJk1hdGguYWJzKG8ubGVmdC1pLmxlZnQpPjEpcmV0dXJuIG8ubGVmdDxpLmxlZnQ/Imx0ciI6InJ0bCJ9aWYoZTx0LmVuZCgpKXtsZXQgbz1hLmNvb3Jkc0F0UG9zKGUrMSksbj0oby50b3Arby5ib3R0b20pLzI7aWYobj5pLnRvcCYmbjxpLmJvdHRvbSYmTWF0aC5hYnMoby5sZWZ0LWkubGVmdCk+MSlyZXR1cm4gby5sZWZ0PmkubGVmdD8ibHRyIjoicnRsIn19cmV0dXJuIGdldENvbXB1dGVkU3R5bGUoYS5kb20pLmRpcmVjdGlvbj09InJ0bCI/InJ0bCI6Imx0ciJ9ZnVuY3Rpb24gV29hKGEsZSx0KXtsZXQgcj1hLnN0YXRlLnNlbGVjdGlvbjtpZihyIGluc3RhbmNlb2YgUnQmJiFyLmVtcHR5fHx0LmluZGV4T2YoInMiKT4tMXx8UG4mJnQuaW5kZXhPZigibSIpPi0xKXJldHVybiExO2xldHskZnJvbTppLCR0bzpvfT1yO2lmKCFpLnBhcmVudC5pbmxpbmVDb250ZW50fHxhLmVuZE9mVGV4dGJsb2NrKGU8MD8idXAiOiJkb3duIikpe2xldCBuPUJLZShhLnN0YXRlLGUpO2lmKG4mJm4gaW5zdGFuY2VvZiBNdClyZXR1cm4gTTQoYSxuKX1pZighaS5wYXJlbnQuaW5saW5lQ29udGVudCl7bGV0IG49ZTwwP2k6byxsPXIgaW5zdGFuY2VvZiBEaT9JdC5uZWFyKG4sZSk6SXQuZmluZEZyb20obixlKTtyZXR1cm4gbD9NNChhLGwpOiExfXJldHVybiExfWZ1bmN0aW9uIEdvYShhLGUpe2lmKCEoYS5zdGF0ZS5zZWxlY3Rpb24gaW5zdGFuY2VvZiBSdCkpcmV0dXJuITA7bGV0eyRoZWFkOnQsJGFuY2hvcjpyLGVtcHR5Oml9PWEuc3RhdGUuc2VsZWN0aW9uO2lmKCF0LnNhbWVQYXJlbnQocikpcmV0dXJuITA7aWYoIWkpcmV0dXJuITE7aWYoYS5lbmRPZlRleHRibG9jayhlPjA/ImZvcndhcmQiOiJiYWNrd2FyZCIpKXJldHVybiEwO2xldCBvPSF0LnRleHRPZmZzZXQmJihlPDA/dC5ub2RlQmVmb3JlOnQubm9kZUFmdGVyKTtpZihvJiYhby5pc1RleHQpe2xldCBuPWEuc3RhdGUudHI7cmV0dXJuIGU8MD9uLmRlbGV0ZSh0LnBvcy1vLm5vZGVTaXplLHQucG9zKTpuLmRlbGV0ZSh0LnBvcyx0LnBvcytvLm5vZGVTaXplKSxhLmRpc3BhdGNoKG4pLCEwfXJldHVybiExfWZ1bmN0aW9uIFlvYShhLGUsdCl7YS5kb21PYnNlcnZlci5zdG9wKCksZS5jb250ZW50RWRpdGFibGU9dCxhLmRvbU9ic2VydmVyLnN0YXJ0KCl9ZnVuY3Rpb24gaUFhKGEpe2lmKCFBaXx8YS5zdGF0ZS5zZWxlY3Rpb24uJGhlYWQucGFyZW50T2Zmc2V0PjApcmV0dXJuITE7bGV0e2ZvY3VzTm9kZTplLGZvY3VzT2Zmc2V0OnR9PWEuZG9tU2VsZWN0aW9uUmFuZ2UoKTtpZihlJiZlLm5vZGVUeXBlPT0xJiZ0PT0wJiZlLmZpcnN0Q2hpbGQmJmUuZmlyc3RDaGlsZC5jb250ZW50RWRpdGFibGU9PSJmYWxzZSIpe2xldCByPWUuZmlyc3RDaGlsZDtZb2EoYSxyLCJ0cnVlIiksc2V0VGltZW91dCgoKT0+WW9hKGEsciwiZmFsc2UiKSwyMCl9cmV0dXJuITF9ZnVuY3Rpb24gb0FhKGEpe2xldCBlPSIiO3JldHVybiBhLmN0cmxLZXkmJihlKz0iYyIpLGEubWV0YUtleSYmKGUrPSJtIiksYS5hbHRLZXkmJihlKz0iYSIpLGEuc2hpZnRLZXkmJihlKz0icyIpLGV9ZnVuY3Rpb24gbkFhKGEsZSl7bGV0IHQ9ZS5rZXlDb2RlLHI9b0FhKGUpO2lmKHQ9PTh8fFBuJiZ0PT03MiYmcj09ImMiKXJldHVybiBHb2EoYSwtMSl8fF9tKGEsLTEpO2lmKHQ9PTQ2JiYhZS5zaGlmdEtleXx8UG4mJnQ9PTY4JiZyPT0iYyIpcmV0dXJuIEdvYShhLDEpfHxfbShhLDEpO2lmKHQ9PTEzfHx0PT0yNylyZXR1cm4hMDtpZih0PT0zN3x8UG4mJnQ9PTY2JiZyPT0iYyIpe2xldCBpPXQ9PTM3P1VvYShhLGEuc3RhdGUuc2VsZWN0aW9uLmZyb20pPT0ibHRyIj8tMToxOi0xO3JldHVybiBWb2EoYSxpLHIpfHxfbShhLGkpfWVsc2UgaWYodD09Mzl8fFBuJiZ0PT03MCYmcj09ImMiKXtsZXQgaT10PT0zOT9Vb2EoYSxhLnN0YXRlLnNlbGVjdGlvbi5mcm9tKT09Imx0ciI/MTotMToxO3JldHVybiBWb2EoYSxpLHIpfHxfbShhLGkpfWVsc2V7aWYodD09Mzh8fFBuJiZ0PT04MCYmcj09ImMiKXJldHVybiBXb2EoYSwtMSxyKXx8X20oYSwtMSk7aWYodD09NDB8fFBuJiZ0PT03OCYmcj09ImMiKXJldHVybiBpQWEoYSl8fFdvYShhLDEscil8fF9tKGEsMSk7aWYocj09KFBuPyJtIjoiYyIpJiYodD09NjZ8fHQ9PTczfHx0PT04OXx8dD09OTApKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIHFLZShhLGUpe2Euc29tZVByb3AoInRyYW5zZm9ybUNvcGllZCIsdj0+e2U9dihlLGEpfSk7bGV0IHQ9W10se2NvbnRlbnQ6cixvcGVuU3RhcnQ6aSxvcGVuRW5kOm99PWU7Zm9yKDtpPjEmJm8+MSYmci5jaGlsZENvdW50PT0xJiZyLmZpcnN0Q2hpbGQuY2hpbGRDb3VudD09MTspe2ktLSxvLS07bGV0IHY9ci5maXJzdENoaWxkO3QucHVzaCh2LnR5cGUubmFtZSx2LmF0dHJzIT12LnR5cGUuZGVmYXVsdEF0dHJzP3YuYXR0cnM6bnVsbCkscj12LmNvbnRlbnR9bGV0IG49YS5zb21lUHJvcCgiY2xpcGJvYXJkU2VyaWFsaXplciIpfHxVMi5mcm9tU2NoZW1hKGEuc3RhdGUuc2NoZW1hKSxsPXRuYSgpLGQ9bC5jcmVhdGVFbGVtZW50KCJkaXYiKTtkLmFwcGVuZENoaWxkKG4uc2VyaWFsaXplRnJhZ21lbnQocix7ZG9jdW1lbnQ6bH0pKTtsZXQgYz1kLmZpcnN0Q2hpbGQscCx1PTA7Zm9yKDtjJiZjLm5vZGVUeXBlPT0xJiYocD1Kb2FbYy5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpXSk7KXtmb3IobGV0IHY9cC5sZW5ndGgtMTt2Pj0wO3YtLSl7bGV0IHg9bC5jcmVhdGVFbGVtZW50KHBbdl0pO2Zvcig7ZC5maXJzdENoaWxkOyl4LmFwcGVuZENoaWxkKGQuZmlyc3RDaGlsZCk7ZC5hcHBlbmRDaGlsZCh4KSx1Kyt9Yz1kLmZpcnN0Q2hpbGR9YyYmYy5ub2RlVHlwZT09MSYmYy5zZXRBdHRyaWJ1dGUoImRhdGEtcG0tc2xpY2UiLGAke2l9ICR7b30ke3U/YCAtJHt1fWA6IiJ9ICR7SlNPTi5zdHJpbmdpZnkodCl9YCk7bGV0IG09YS5zb21lUHJvcCgiY2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXIiLHY9PnYoZSxhKSl8fGUuY29udGVudC50ZXh0QmV0d2VlbigwLGUuY29udGVudC5zaXplLGAKCmApO3JldHVybntkb206ZCx0ZXh0Om0sc2xpY2U6ZX19ZnVuY3Rpb24gVktlKGEsZSx0LHIsaSl7bGV0IG89aS5wYXJlbnQudHlwZS5zcGVjLmNvZGUsbixsO2lmKCF0JiYhZSlyZXR1cm4gbnVsbDtsZXQgZD0hIWUmJihyfHxvfHwhdCk7aWYoZCl7aWYoYS5zb21lUHJvcCgidHJhbnNmb3JtUGFzdGVkVGV4dCIsbT0+e2U9bShlLG98fHIsYSl9KSxvKXJldHVybiBsPW5ldyBzdChWZS5mcm9tKGEuc3RhdGUuc2NoZW1hLnRleHQoZS5yZXBsYWNlKC9cclxuPy9nLGAKYCkpKSwwLDApLGEuc29tZVByb3AoInRyYW5zZm9ybVBhc3RlZCIsbT0+e2w9bShsLGEsITApfSksbDtsZXQgdT1hLnNvbWVQcm9wKCJjbGlwYm9hcmRUZXh0UGFyc2VyIixtPT5tKGUsaSxyLGEpKTtpZih1KWw9dTtlbHNle2xldCBtPWkubWFya3MoKSx7c2NoZW1hOnZ9PWEuc3RhdGUseD1VMi5mcm9tU2NoZW1hKHYpO249ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksZS5zcGxpdCgvKD86XHJcbj98XG4pKy8pLmZvckVhY2goYj0+e2xldCBnPW4uYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpKTtiJiZnLmFwcGVuZENoaWxkKHguc2VyaWFsaXplTm9kZSh2LnRleHQoYixtKSkpfSl9fWVsc2UgYS5zb21lUHJvcCgidHJhbnNmb3JtUGFzdGVkSFRNTCIsdT0+e3Q9dSh0LGEpfSksbj11QWEodCksZVcmJnBBYShuKTtsZXQgYz1uJiZuLnF1ZXJ5U2VsZWN0b3IoIltkYXRhLXBtLXNsaWNlXSIpLHA9YyYmL14oXGQrKSAoXGQrKSg/OiAtKFxkKykpPyAoLiopLy5leGVjKGMuZ2V0QXR0cmlidXRlKCJkYXRhLXBtLXNsaWNlIil8fCIiKTtpZihwJiZwWzNdKWZvcihsZXQgdT0rcFszXTt1PjA7dS0tKXtsZXQgbT1uLmZpcnN0Q2hpbGQ7Zm9yKDttJiZtLm5vZGVUeXBlIT0xOyltPW0ubmV4dFNpYmxpbmc7aWYoIW0pYnJlYWs7bj1tfWlmKGx8fChsPShhLnNvbWVQcm9wKCJjbGlwYm9hcmRQYXJzZXIiKXx8YS5zb21lUHJvcCgiZG9tUGFyc2VyIil8fEkxLmZyb21TY2hlbWEoYS5zdGF0ZS5zY2hlbWEpKS5wYXJzZVNsaWNlKG4se3ByZXNlcnZlV2hpdGVzcGFjZTohIShkfHxwKSxjb250ZXh0OmkscnVsZUZyb21Ob2RlKG0pe3JldHVybiBtLm5vZGVOYW1lPT0iQlIiJiYhbS5uZXh0U2libGluZyYmbS5wYXJlbnROb2RlJiYhbEFhLnRlc3QobS5wYXJlbnROb2RlLm5vZGVOYW1lKT97aWdub3JlOiEwfTpudWxsfX0pKSxwKWw9ZkFhKFFvYShsLCtwWzFdLCtwWzJdKSxwWzRdKTtlbHNlIGlmKGw9c3QubWF4T3BlbihjQWEobC5jb250ZW50LGkpLCEwKSxsLm9wZW5TdGFydHx8bC5vcGVuRW5kKXtsZXQgdT0wLG09MDtmb3IobGV0IHY9bC5jb250ZW50LmZpcnN0Q2hpbGQ7dTxsLm9wZW5TdGFydCYmIXYudHlwZS5zcGVjLmlzb2xhdGluZzt1Kyssdj12LmZpcnN0Q2hpbGQpO2ZvcihsZXQgdj1sLmNvbnRlbnQubGFzdENoaWxkO208bC5vcGVuRW5kJiYhdi50eXBlLnNwZWMuaXNvbGF0aW5nO20rKyx2PXYubGFzdENoaWxkKTtsPVFvYShsLHUsbSl9cmV0dXJuIGEuc29tZVByb3AoInRyYW5zZm9ybVBhc3RlZCIsdT0+e2w9dShsLGEsZCl9KSxsfWZ1bmN0aW9uIGNBYShhLGUpe2lmKGEuY2hpbGRDb3VudDwyKXJldHVybiBhO2ZvcihsZXQgdD1lLmRlcHRoO3Q+PTA7dC0tKXtsZXQgaT1lLm5vZGUodCkuY29udGVudE1hdGNoQXQoZS5pbmRleCh0KSksbyxuPVtdO2lmKGEuZm9yRWFjaChsPT57aWYoIW4pcmV0dXJuO2xldCBkPWkuZmluZFdyYXBwaW5nKGwudHlwZSksYztpZighZClyZXR1cm4gbj1udWxsO2lmKGM9bi5sZW5ndGgmJm8ubGVuZ3RoJiZab2EoZCxvLGwsbltuLmxlbmd0aC0xXSwwKSluW24ubGVuZ3RoLTFdPWM7ZWxzZXtuLmxlbmd0aCYmKG5bbi5sZW5ndGgtMV09WG9hKG5bbi5sZW5ndGgtMV0sby5sZW5ndGgpKTtsZXQgcD1Lb2EobCxkKTtuLnB1c2gocCksaT1pLm1hdGNoVHlwZShwLnR5cGUpLG89ZH19KSxuKXJldHVybiBWZS5mcm9tKG4pfXJldHVybiBhfWZ1bmN0aW9uIEtvYShhLGUsdD0wKXtmb3IobGV0IHI9ZS5sZW5ndGgtMTtyPj10O3ItLSlhPWVbcl0uY3JlYXRlKG51bGwsVmUuZnJvbShhKSk7cmV0dXJuIGF9ZnVuY3Rpb24gWm9hKGEsZSx0LHIsaSl7aWYoaTxhLmxlbmd0aCYmaTxlLmxlbmd0aCYmYVtpXT09ZVtpXSl7bGV0IG89Wm9hKGEsZSx0LHIubGFzdENoaWxkLGkrMSk7aWYobylyZXR1cm4gci5jb3B5KHIuY29udGVudC5yZXBsYWNlQ2hpbGQoci5jaGlsZENvdW50LTEsbykpO2lmKHIuY29udGVudE1hdGNoQXQoci5jaGlsZENvdW50KS5tYXRjaFR5cGUoaT09YS5sZW5ndGgtMT90LnR5cGU6YVtpKzFdKSlyZXR1cm4gci5jb3B5KHIuY29udGVudC5hcHBlbmQoVmUuZnJvbShLb2EodCxhLGkrMSkpKSl9fWZ1bmN0aW9uIFhvYShhLGUpe2lmKGU9PTApcmV0dXJuIGE7bGV0IHQ9YS5jb250ZW50LnJlcGxhY2VDaGlsZChhLmNoaWxkQ291bnQtMSxYb2EoYS5sYXN0Q2hpbGQsZS0xKSkscj1hLmNvbnRlbnRNYXRjaEF0KGEuY2hpbGRDb3VudCkuZmlsbEJlZm9yZShWZS5lbXB0eSwhMCk7cmV0dXJuIGEuY29weSh0LmFwcGVuZChyKSl9ZnVuY3Rpb24gaktlKGEsZSx0LHIsaSxvKXtsZXQgbj1lPDA/YS5maXJzdENoaWxkOmEubGFzdENoaWxkLGw9bi5jb250ZW50O3JldHVybiBhLmNoaWxkQ291bnQ+MSYmKG89MCksaTxyLTEmJihsPWpLZShsLGUsdCxyLGkrMSxvKSksaT49dCYmKGw9ZTwwP24uY29udGVudE1hdGNoQXQoMCkuZmlsbEJlZm9yZShsLG88PWkpLmFwcGVuZChsKTpsLmFwcGVuZChuLmNvbnRlbnRNYXRjaEF0KG4uY2hpbGRDb3VudCkuZmlsbEJlZm9yZShWZS5lbXB0eSwhMCkpKSxhLnJlcGxhY2VDaGlsZChlPDA/MDphLmNoaWxkQ291bnQtMSxuLmNvcHkobCkpfWZ1bmN0aW9uIFFvYShhLGUsdCl7cmV0dXJuIGU8YS5vcGVuU3RhcnQmJihhPW5ldyBzdChqS2UoYS5jb250ZW50LC0xLGUsYS5vcGVuU3RhcnQsMCxhLm9wZW5FbmQpLGUsYS5vcGVuRW5kKSksdDxhLm9wZW5FbmQmJihhPW5ldyBzdChqS2UoYS5jb250ZW50LDEsdCxhLm9wZW5FbmQsMCwwKSxhLm9wZW5TdGFydCx0KSksYX1mdW5jdGlvbiB0bmEoKXtyZXR1cm4gZW5hfHwoZW5hPWRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgidGl0bGUiKSl9ZnVuY3Rpb24gZEFhKGEpe2xldCBlPXdpbmRvdy50cnVzdGVkVHlwZXM7cmV0dXJuIGU/KFVLZXx8KFVLZT1lLmRlZmF1bHRQb2xpY3l8fGUuY3JlYXRlUG9saWN5KCJQcm9zZU1pcnJvckNsaXBib2FyZCIse2NyZWF0ZUhUTUw6cyh0PT50LCJjcmVhdGVIVE1MIil9KSksVUtlLmNyZWF0ZUhUTUwoYSkpOmF9ZnVuY3Rpb24gdUFhKGEpe2xldCBlPS9eKFxzKjxtZXRhIFtePl0qPikqLy5leGVjKGEpO2UmJihhPWEuc2xpY2UoZVswXS5sZW5ndGgpKTtsZXQgdD10bmEoKS5jcmVhdGVFbGVtZW50KCJkaXYiKSxyPS88KFthLXpdW14+XHNdKykvaS5leGVjKGEpLGk7aWYoKGk9ciYmSm9hW3JbMV0udG9Mb3dlckNhc2UoKV0pJiYoYT1pLm1hcChvPT4iPCIrbysiPiIpLmpvaW4oIiIpK2EraS5tYXAobz0+IjwvIitvKyI+IikucmV2ZXJzZSgpLmpvaW4oIiIpKSx0LmlubmVySFRNTD1kQWEoYSksaSlmb3IobGV0IG89MDtvPGkubGVuZ3RoO28rKyl0PXQucXVlcnlTZWxlY3RvcihpW29dKXx8dDtyZXR1cm4gdH1mdW5jdGlvbiBwQWEoYSl7bGV0IGU9YS5xdWVyeVNlbGVjdG9yQWxsKHJpPyJzcGFuOm5vdChbY2xhc3NdKTpub3QoW3N0eWxlXSkiOiJzcGFuLkFwcGxlLWNvbnZlcnRlZC1zcGFjZSIpO2ZvcihsZXQgdD0wO3Q8ZS5sZW5ndGg7dCsrKXtsZXQgcj1lW3RdO3IuY2hpbGROb2Rlcy5sZW5ndGg9PTEmJnIudGV4dENvbnRlbnQ9PSJceEEwIiYmci5wYXJlbnROb2RlJiZyLnBhcmVudE5vZGUucmVwbGFjZUNoaWxkKGEub3duZXJEb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiICIpLHIpfX1mdW5jdGlvbiBmQWEoYSxlKXtpZighYS5zaXplKXJldHVybiBhO2xldCB0PWEuY29udGVudC5maXJzdENoaWxkLnR5cGUuc2NoZW1hLHI7dHJ5e3I9SlNPTi5wYXJzZShlKX1jYXRjaHtyZXR1cm4gYX1sZXR7Y29udGVudDppLG9wZW5TdGFydDpvLG9wZW5FbmQ6bn09YTtmb3IobGV0IGw9ci5sZW5ndGgtMjtsPj0wO2wtPTIpe2xldCBkPXQubm9kZXNbcltsXV07aWYoIWR8fGQuaGFzUmVxdWlyZWRBdHRycygpKWJyZWFrO2k9VmUuZnJvbShkLmNyZWF0ZShyW2wrMV0saSkpLG8rKyxuKyt9cmV0dXJuIG5ldyBzdChpLG8sbil9ZnVuY3Rpb24gbUFhKGEpe2ZvcihsZXQgZSBpbiBHaSl7bGV0IHQ9R2lbZV07YS5kb20uYWRkRXZlbnRMaXN0ZW5lcihlLGEuaW5wdXQuZXZlbnRIYW5kbGVyc1tlXT1yPT57YkFhKGEscikmJiFZS2UoYSxyKSYmKGEuZWRpdGFibGV8fCEoci50eXBlIGluIFlpKSkmJnQoYSxyKX0saEFhW2VdP3twYXNzaXZlOiEwfTp2b2lkIDApfUFpJiZhLmRvbS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKCk9Pm51bGwpLEdLZShhKX1mdW5jdGlvbiBrNChhLGUpe2EuaW5wdXQubGFzdFNlbGVjdGlvbk9yaWdpbj1lLGEuaW5wdXQubGFzdFNlbGVjdGlvblRpbWU9RGF0ZS5ub3coKX1mdW5jdGlvbiBnQWEoYSl7YS5kb21PYnNlcnZlci5zdG9wKCk7Zm9yKGxldCBlIGluIGEuaW5wdXQuZXZlbnRIYW5kbGVycylhLmRvbS5yZW1vdmVFdmVudExpc3RlbmVyKGUsYS5pbnB1dC5ldmVudEhhbmRsZXJzW2VdKTtjbGVhclRpbWVvdXQoYS5pbnB1dC5jb21wb3NpbmdUaW1lb3V0KSxjbGVhclRpbWVvdXQoYS5pbnB1dC5sYXN0SU9TRW50ZXJGYWxsYmFja1RpbWVvdXQpfWZ1bmN0aW9uIEdLZShhKXthLnNvbWVQcm9wKCJoYW5kbGVET01FdmVudHMiLGU9Pntmb3IobGV0IHQgaW4gZSlhLmlucHV0LmV2ZW50SGFuZGxlcnNbdF18fGEuZG9tLmFkZEV2ZW50TGlzdGVuZXIodCxhLmlucHV0LmV2ZW50SGFuZGxlcnNbdF09cj0+WUtlKGEscikpfSl9ZnVuY3Rpb24gWUtlKGEsZSl7cmV0dXJuIGEuc29tZVByb3AoImhhbmRsZURPTUV2ZW50cyIsdD0+e2xldCByPXRbZS50eXBlXTtyZXR1cm4gcj9yKGEsZSl8fGUuZGVmYXVsdFByZXZlbnRlZDohMX0pfWZ1bmN0aW9uIGJBYShhLGUpe2lmKCFlLmJ1YmJsZXMpcmV0dXJuITA7aWYoZS5kZWZhdWx0UHJldmVudGVkKXJldHVybiExO2ZvcihsZXQgdD1lLnRhcmdldDt0IT1hLmRvbTt0PXQucGFyZW50Tm9kZSlpZighdHx8dC5ub2RlVHlwZT09MTF8fHQucG1WaWV3RGVzYyYmdC5wbVZpZXdEZXNjLnN0b3BFdmVudChlKSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiB2QWEoYSxlKXshWUtlKGEsZSkmJkdpW2UudHlwZV0mJihhLmVkaXRhYmxlfHwhKGUudHlwZSBpbiBZaSkpJiZHaVtlLnR5cGVdKGEsZSl9ZnVuY3Rpb24gVmFlKGEpe3JldHVybntsZWZ0OmEuY2xpZW50WCx0b3A6YS5jbGllbnRZfX1mdW5jdGlvbiB4QWEoYSxlKXtsZXQgdD1lLngtYS5jbGllbnRYLHI9ZS55LWEuY2xpZW50WTtyZXR1cm4gdCp0K3IqcjwxMDB9ZnVuY3Rpb24gS0tlKGEsZSx0LHIsaSl7aWYocj09LTEpcmV0dXJuITE7bGV0IG89YS5zdGF0ZS5kb2MucmVzb2x2ZShyKTtmb3IobGV0IG49by5kZXB0aCsxO24+MDtuLS0paWYoYS5zb21lUHJvcChlLGw9Pm4+by5kZXB0aD9sKGEsdCxvLm5vZGVBZnRlcixvLmJlZm9yZShuKSxpLCEwKTpsKGEsdCxvLm5vZGUobiksby5iZWZvcmUobiksaSwhMSkpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIFRtKGEsZSx0KXtpZihhLmZvY3VzZWR8fGEuZm9jdXMoKSxhLnN0YXRlLnNlbGVjdGlvbi5lcShlKSlyZXR1cm47bGV0IHI9YS5zdGF0ZS50ci5zZXRTZWxlY3Rpb24oZSk7dD09InBvaW50ZXIiJiZyLnNldE1ldGEoInBvaW50ZXIiLCEwKSxhLmRpc3BhdGNoKHIpfWZ1bmN0aW9uIHlBYShhLGUpe2lmKGU9PS0xKXJldHVybiExO2xldCB0PWEuc3RhdGUuZG9jLnJlc29sdmUoZSkscj10Lm5vZGVBZnRlcjtyZXR1cm4gciYmci5pc0F0b20mJk10LmlzU2VsZWN0YWJsZShyKT8oVG0oYSxuZXcgTXQodCksInBvaW50ZXIiKSwhMCk6ITF9ZnVuY3Rpb24gd0FhKGEsZSl7aWYoZT09LTEpcmV0dXJuITE7bGV0IHQ9YS5zdGF0ZS5zZWxlY3Rpb24scixpO3QgaW5zdGFuY2VvZiBNdCYmKHI9dC5ub2RlKTtsZXQgbz1hLnN0YXRlLmRvYy5yZXNvbHZlKGUpO2ZvcihsZXQgbj1vLmRlcHRoKzE7bj4wO24tLSl7bGV0IGw9bj5vLmRlcHRoP28ubm9kZUFmdGVyOm8ubm9kZShuKTtpZihNdC5pc1NlbGVjdGFibGUobCkpe3ImJnQuJGZyb20uZGVwdGg+MCYmbj49dC4kZnJvbS5kZXB0aCYmby5iZWZvcmUodC4kZnJvbS5kZXB0aCsxKT09dC4kZnJvbS5wb3M/aT1vLmJlZm9yZSh0LiRmcm9tLmRlcHRoKTppPW8uYmVmb3JlKG4pO2JyZWFrfX1yZXR1cm4gaSE9bnVsbD8oVG0oYSxNdC5jcmVhdGUoYS5zdGF0ZS5kb2MsaSksInBvaW50ZXIiKSwhMCk6ITF9ZnVuY3Rpb24gTUFhKGEsZSx0LHIsaSl7cmV0dXJuIEtLZShhLCJoYW5kbGVDbGlja09uIixlLHQscil8fGEuc29tZVByb3AoImhhbmRsZUNsaWNrIixvPT5vKGEsZSxyKSl8fChpP3dBYShhLHQpOnlBYShhLHQpKX1mdW5jdGlvbiBrQWEoYSxlLHQscil7cmV0dXJuIEtLZShhLCJoYW5kbGVEb3VibGVDbGlja09uIixlLHQscil8fGEuc29tZVByb3AoImhhbmRsZURvdWJsZUNsaWNrIixpPT5pKGEsZSxyKSl9ZnVuY3Rpb24gU0FhKGEsZSx0LHIpe3JldHVybiBLS2UoYSwiaGFuZGxlVHJpcGxlQ2xpY2tPbiIsZSx0LHIpfHxhLnNvbWVQcm9wKCJoYW5kbGVUcmlwbGVDbGljayIsaT0+aShhLGUscikpfHx6QWEoYSx0LHIpfWZ1bmN0aW9uIHpBYShhLGUsdCl7aWYodC5idXR0b24hPTApcmV0dXJuITE7bGV0IHI9YS5zdGF0ZS5kb2M7aWYoZT09LTEpcmV0dXJuIHIuaW5saW5lQ29udGVudD8oVG0oYSxSdC5jcmVhdGUociwwLHIuY29udGVudC5zaXplKSwicG9pbnRlciIpLCEwKTohMTtsZXQgaT1yLnJlc29sdmUoZSk7Zm9yKGxldCBvPWkuZGVwdGgrMTtvPjA7by0tKXtsZXQgbj1vPmkuZGVwdGg/aS5ub2RlQWZ0ZXI6aS5ub2RlKG8pLGw9aS5iZWZvcmUobyk7aWYobi5pbmxpbmVDb250ZW50KVRtKGEsUnQuY3JlYXRlKHIsbCsxLGwrMStuLmNvbnRlbnQuc2l6ZSksInBvaW50ZXIiKTtlbHNlIGlmKE10LmlzU2VsZWN0YWJsZShuKSlUbShhLE10LmNyZWF0ZShyLGwpLCJwb2ludGVyIik7ZWxzZSBjb250aW51ZTtyZXR1cm4hMH19ZnVuY3Rpb24gWktlKGEpe3JldHVybiBzVyhhKX1mdW5jdGlvbiBybmEoYSxlKXtyZXR1cm4gYS5jb21wb3Npbmc/ITA6QWkmJk1hdGguYWJzKGUudGltZVN0YW1wLWEuaW5wdXQuY29tcG9zaXRpb25FbmRlZEF0KTw1MDA/KGEuaW5wdXQuY29tcG9zaXRpb25FbmRlZEF0PS0yZTgsITApOiExfWZ1bmN0aW9uIF9BYShhKXtsZXR7Zm9jdXNOb2RlOmUsZm9jdXNPZmZzZXQ6dH09YS5kb21TZWxlY3Rpb25SYW5nZSgpO2lmKCFlfHxlLm5vZGVUeXBlIT0xfHx0Pj1lLmNoaWxkTm9kZXMubGVuZ3RoKXJldHVybiExO2xldCByPWUuY2hpbGROb2Rlc1t0XTtyZXR1cm4gci5ub2RlVHlwZT09MSYmci5jb250ZW50RWRpdGFibGU9PSJmYWxzZSJ9ZnVuY3Rpb24gc25hKGEsZSl7Y2xlYXJUaW1lb3V0KGEuaW5wdXQuY29tcG9zaW5nVGltZW91dCksZT4tMSYmKGEuaW5wdXQuY29tcG9zaW5nVGltZW91dD1zZXRUaW1lb3V0KCgpPT5zVyhhKSxlKSl9ZnVuY3Rpb24gaW5hKGEpe2ZvcihhLmNvbXBvc2luZyYmKGEuaW5wdXQuY29tcG9zaW5nPSExLGEuaW5wdXQuY29tcG9zaXRpb25FbmRlZEF0PUxBYSgpKTthLmlucHV0LmNvbXBvc2l0aW9uTm9kZXMubGVuZ3RoPjA7KWEuaW5wdXQuY29tcG9zaXRpb25Ob2Rlcy5wb3AoKS5tYXJrUGFyZW50c0RpcnR5KCl9ZnVuY3Rpb24gVEFhKGEpe2xldCBlPWEuZG9tU2VsZWN0aW9uUmFuZ2UoKTtpZighZS5mb2N1c05vZGUpcmV0dXJuIG51bGw7bGV0IHQ9ekRhKGUuZm9jdXNOb2RlLGUuZm9jdXNPZmZzZXQpLHI9Q0RhKGUuZm9jdXNOb2RlLGUuZm9jdXNPZmZzZXQpO2lmKHQmJnImJnQhPXIpe2xldCBpPXIucG1WaWV3RGVzYyxvPWEuZG9tT2JzZXJ2ZXIubGFzdENoYW5nZWRUZXh0Tm9kZTtpZih0PT1vfHxyPT1vKXJldHVybiBvO2lmKCFpfHwhaS5pc1RleHQoci5ub2RlVmFsdWUpKXJldHVybiByO2lmKGEuaW5wdXQuY29tcG9zaXRpb25Ob2RlPT1yKXtsZXQgbj10LnBtVmlld0Rlc2M7aWYoISghbnx8IW4uaXNUZXh0KHQubm9kZVZhbHVlKSkpcmV0dXJuIHJ9fXJldHVybiB0fHxyfWZ1bmN0aW9uIExBYSgpe2xldCBhPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJFdmVudCIpO3JldHVybiBhLmluaXRFdmVudCgiZXZlbnQiLCEwLCEwKSxhLnRpbWVTdGFtcH1mdW5jdGlvbiBzVyhhLGU9ITEpe2lmKCEoeWMmJmEuZG9tT2JzZXJ2ZXIuZmx1c2hpbmdTb29uPj0wKSl7aWYoYS5kb21PYnNlcnZlci5mb3JjZUZsdXNoKCksaW5hKGEpLGV8fGEuZG9jVmlldyYmYS5kb2NWaWV3LmRpcnR5KXtsZXQgdD1SS2UoYSkscj1hLnN0YXRlLnNlbGVjdGlvbjtyZXR1cm4gdCYmIXQuZXEocik/YS5kaXNwYXRjaChhLnN0YXRlLnRyLnNldFNlbGVjdGlvbih0KSk6KGEubWFya0N1cnNvcnx8ZSkmJiFyLiRmcm9tLm5vZGUoci4kZnJvbS5zaGFyZWREZXB0aChyLnRvKSkuaW5saW5lQ29udGVudD9hLmRpc3BhdGNoKGEuc3RhdGUudHIuZGVsZXRlU2VsZWN0aW9uKCkpOmEudXBkYXRlU3RhdGUoYS5zdGF0ZSksITB9cmV0dXJuITF9fWZ1bmN0aW9uICRBYShhLGUpe2lmKCFhLmRvbS5wYXJlbnROb2RlKXJldHVybjtsZXQgdD1hLmRvbS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKTt0LmFwcGVuZENoaWxkKGUpLHQuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246IGZpeGVkOyBsZWZ0OiAtMTAwMDBweDsgdG9wOiAxMHB4IjtsZXQgcj1nZXRTZWxlY3Rpb24oKSxpPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7aS5zZWxlY3ROb2RlQ29udGVudHMoZSksYS5kb20uYmx1cigpLHIucmVtb3ZlQWxsUmFuZ2VzKCksci5hZGRSYW5nZShpKSxzZXRUaW1lb3V0KCgpPT57dC5wYXJlbnROb2RlJiZ0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodCksYS5mb2N1cygpfSw1MCl9ZnVuY3Rpb24gREFhKGEpe3JldHVybiBhLm9wZW5TdGFydD09MCYmYS5vcGVuRW5kPT0wJiZhLmNvbnRlbnQuY2hpbGRDb3VudD09MT9hLmNvbnRlbnQuZmlyc3RDaGlsZDpudWxsfWZ1bmN0aW9uIEFBYShhLGUpe2lmKCFhLmRvbS5wYXJlbnROb2RlKXJldHVybjtsZXQgdD1hLmlucHV0LnNoaWZ0S2V5fHxhLnN0YXRlLnNlbGVjdGlvbi4kZnJvbS5wYXJlbnQudHlwZS5zcGVjLmNvZGUscj1hLmRvbS5wYXJlbnROb2RlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodD8idGV4dGFyZWEiOiJkaXYiKSk7dHx8KHIuY29udGVudEVkaXRhYmxlPSJ0cnVlIiksci5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjogZml4ZWQ7IGxlZnQ6IC0xMDAwMHB4OyB0b3A6IDEwcHgiLHIuZm9jdXMoKTtsZXQgaT1hLmlucHV0LnNoaWZ0S2V5JiZhLmlucHV0Lmxhc3RLZXlDb2RlIT00NTtzZXRUaW1lb3V0KCgpPT57YS5mb2N1cygpLHIucGFyZW50Tm9kZSYmci5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHIpLHQ/b1coYSxyLnZhbHVlLG51bGwsaSxlKTpvVyhhLHIudGV4dENvbnRlbnQsci5pbm5lckhUTUwsaSxlKX0sNTApfWZ1bmN0aW9uIG9XKGEsZSx0LHIsaSl7bGV0IG89VktlKGEsZSx0LHIsYS5zdGF0ZS5zZWxlY3Rpb24uJGZyb20pO2lmKGEuc29tZVByb3AoImhhbmRsZVBhc3RlIixkPT5kKGEsaSxvfHxzdC5lbXB0eSkpKXJldHVybiEwO2lmKCFvKXJldHVybiExO2xldCBuPURBYShvKSxsPW4/YS5zdGF0ZS50ci5yZXBsYWNlU2VsZWN0aW9uV2l0aChuLHIpOmEuc3RhdGUudHIucmVwbGFjZVNlbGVjdGlvbihvKTtyZXR1cm4gYS5kaXNwYXRjaChsLnNjcm9sbEludG9WaWV3KCkuc2V0TWV0YSgicGFzdGUiLCEwKS5zZXRNZXRhKCJ1aUV2ZW50IiwicGFzdGUiKSksITB9ZnVuY3Rpb24gb25hKGEpe2xldCBlPWEuZ2V0RGF0YSgidGV4dC9wbGFpbiIpfHxhLmdldERhdGEoIlRleHQiKTtpZihlKXJldHVybiBlO2xldCB0PWEuZ2V0RGF0YSgidGV4dC91cmktbGlzdCIpO3JldHVybiB0P3QucmVwbGFjZSgvXHI/XG4vZywiICIpOiIifWZ1bmN0aW9uIG5uYShhLGUpe2xldCB0O3JldHVybiBhLnNvbWVQcm9wKCJkcmFnQ29waWVzIixyPT57dD10fHxyKGUpfSksdCE9bnVsbD8hdDohZVtFQWFdfWZ1bmN0aW9uIFBBYShhLGUsdCl7aWYoIWUuZGF0YVRyYW5zZmVyKXJldHVybjtsZXQgcj1hLnBvc0F0Q29vcmRzKFZhZShlKSk7aWYoIXIpcmV0dXJuO2xldCBpPWEuc3RhdGUuZG9jLnJlc29sdmUoci5wb3MpLG89dCYmdC5zbGljZTtvP2Euc29tZVByb3AoInRyYW5zZm9ybVBhc3RlZCIsdj0+e289dihvLGEsITEpfSk6bz1WS2UoYSxvbmEoZS5kYXRhVHJhbnNmZXIpLGlXP251bGw6ZS5kYXRhVHJhbnNmZXIuZ2V0RGF0YSgidGV4dC9odG1sIiksITEsaSk7bGV0IG49ISEodCYmbm5hKGEsZSkpO2lmKGEuc29tZVByb3AoImhhbmRsZURyb3AiLHY9PnYoYSxlLG98fHN0LmVtcHR5LG4pKSl7ZS5wcmV2ZW50RGVmYXVsdCgpO3JldHVybn1pZighbylyZXR1cm47ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBsPW8/S1UoYS5zdGF0ZS5kb2MsaS5wb3Msbyk6aS5wb3M7bD09bnVsbCYmKGw9aS5wb3MpO2xldCBkPWEuc3RhdGUudHI7aWYobil7bGV0e25vZGU6dn09dDt2P3YucmVwbGFjZShkKTpkLmRlbGV0ZVNlbGVjdGlvbigpfWxldCBjPWQubWFwcGluZy5tYXAobCkscD1vLm9wZW5TdGFydD09MCYmby5vcGVuRW5kPT0wJiZvLmNvbnRlbnQuY2hpbGRDb3VudD09MSx1PWQuZG9jO2lmKHA/ZC5yZXBsYWNlUmFuZ2VXaXRoKGMsYyxvLmNvbnRlbnQuZmlyc3RDaGlsZCk6ZC5yZXBsYWNlUmFuZ2UoYyxjLG8pLGQuZG9jLmVxKHUpKXJldHVybjtsZXQgbT1kLmRvYy5yZXNvbHZlKGMpO2lmKHAmJk10LmlzU2VsZWN0YWJsZShvLmNvbnRlbnQuZmlyc3RDaGlsZCkmJm0ubm9kZUFmdGVyJiZtLm5vZGVBZnRlci5zYW1lTWFya3VwKG8uY29udGVudC5maXJzdENoaWxkKSlkLnNldFNlbGVjdGlvbihuZXcgTXQobSkpO2Vsc2V7bGV0IHY9ZC5tYXBwaW5nLm1hcChsKTtkLm1hcHBpbmcubWFwc1tkLm1hcHBpbmcubWFwcy5sZW5ndGgtMV0uZm9yRWFjaCgoeCxiLGcseSk9PnY9eSksZC5zZXRTZWxlY3Rpb24oRktlKGEsbSxkLmRvYy5yZXNvbHZlKHYpKSl9YS5mb2N1cygpLGEuZGlzcGF0Y2goZC5zZXRNZXRhKCJ1aUV2ZW50IiwiZHJvcCIpKX1mdW5jdGlvbiBuVyhhLGUpe2lmKGE9PWUpcmV0dXJuITA7Zm9yKGxldCB0IGluIGEpaWYoYVt0XSE9PWVbdF0pcmV0dXJuITE7Zm9yKGxldCB0IGluIGUpaWYoISh0IGluIGEpKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIElBYShhLGUsdCxyLGksbyxuKXtsZXQgbD1hLnNsaWNlKCk7Zm9yKGxldCBjPTAscD1vO2M8dC5tYXBzLmxlbmd0aDtjKyspe2xldCB1PTA7dC5tYXBzW2NdLmZvckVhY2goKG0sdix4LGIpPT57bGV0IGc9Yi14LSh2LW0pO2ZvcihsZXQgeT0wO3k8bC5sZW5ndGg7eSs9Myl7bGV0IGs9bFt5KzFdO2lmKGs8MHx8bT5rK3AtdSljb250aW51ZTtsZXQgQz1sW3ldK3AtdTt2Pj1DP2xbeSsxXT1tPD1DPy0yOi0xOm0+PXAmJmcmJihsW3ldKz1nLGxbeSsxXSs9Zyl9dSs9Z30pLHA9dC5tYXBzW2NdLm1hcChwLC0xKX1sZXQgZD0hMTtmb3IobGV0IGM9MDtjPGwubGVuZ3RoO2MrPTMpaWYobFtjKzFdPDApe2lmKGxbYysxXT09LTIpe2Q9ITAsbFtjKzFdPS0xO2NvbnRpbnVlfWxldCBwPXQubWFwKGFbY10rbyksdT1wLWk7aWYodTwwfHx1Pj1yLmNvbnRlbnQuc2l6ZSl7ZD0hMDtjb250aW51ZX1sZXQgbT10Lm1hcChhW2MrMV0rbywtMSksdj1tLWkse2luZGV4Ongsb2Zmc2V0OmJ9PXIuY29udGVudC5maW5kSW5kZXgodSksZz1yLm1heWJlQ2hpbGQoeCk7aWYoZyYmYj09dSYmYitnLm5vZGVTaXplPT12KXtsZXQgeT1sW2MrMl0ubWFwSW5uZXIodCxnLHArMSxhW2NdK28rMSxuKTt5IT1FaT8obFtjXT11LGxbYysxXT12LGxbYysyXT15KToobFtjKzFdPS0yLGQ9ITApfWVsc2UgZD0hMH1pZihkKXtsZXQgYz1OQWEobCxhLGUsdCxpLG8sbikscD1HYWUoYyxyLDAsbik7ZT1wLmxvY2FsO2ZvcihsZXQgdT0wO3U8bC5sZW5ndGg7dSs9MylsW3UrMV08MCYmKGwuc3BsaWNlKHUsMyksdS09Myk7Zm9yKGxldCB1PTAsbT0wO3U8cC5jaGlsZHJlbi5sZW5ndGg7dSs9Myl7bGV0IHY9cC5jaGlsZHJlblt1XTtmb3IoO208bC5sZW5ndGgmJmxbbV08djspbSs9MztsLnNwbGljZShtLDAscC5jaGlsZHJlblt1XSxwLmNoaWxkcmVuW3UrMV0scC5jaGlsZHJlblt1KzJdKX19cmV0dXJuIG5ldyBLaShlLnNvcnQodDUpLGwpfWZ1bmN0aW9uIGxuYShhLGUpe2lmKCFlfHwhYS5sZW5ndGgpcmV0dXJuIGE7bGV0IHQ9W107Zm9yKGxldCByPTA7cjxhLmxlbmd0aDtyKyspe2xldCBpPWFbcl07dC5wdXNoKG5ldyBOMShpLmZyb20rZSxpLnRvK2UsaS50eXBlKSl9cmV0dXJuIHR9ZnVuY3Rpb24gTkFhKGEsZSx0LHIsaSxvLG4pe2Z1bmN0aW9uIGwoZCxjKXtmb3IobGV0IHA9MDtwPGQubG9jYWwubGVuZ3RoO3ArKyl7bGV0IHU9ZC5sb2NhbFtwXS5tYXAocixpLGMpO3U/dC5wdXNoKHUpOm4ub25SZW1vdmUmJm4ub25SZW1vdmUoZC5sb2NhbFtwXS5zcGVjKX1mb3IobGV0IHA9MDtwPGQuY2hpbGRyZW4ubGVuZ3RoO3ArPTMpbChkLmNoaWxkcmVuW3ArMl0sZC5jaGlsZHJlbltwXStjKzEpfXMobCwiZ2F0aGVyIik7Zm9yKGxldCBkPTA7ZDxhLmxlbmd0aDtkKz0zKWFbZCsxXT09LTEmJmwoYVtkKzJdLGVbZF0rbysxKTtyZXR1cm4gdH1mdW5jdGlvbiBjbmEoYSxlLHQpe2lmKGUuaXNMZWFmKXJldHVybiBudWxsO2xldCByPXQrZS5ub2RlU2l6ZSxpPW51bGw7Zm9yKGxldCBvPTAsbjtvPGEubGVuZ3RoO28rKykobj1hW29dKSYmbi5mcm9tPnQmJm4udG88ciYmKChpfHwoaT1bXSkpLnB1c2gobiksYVtvXT1udWxsKTtyZXR1cm4gaX1mdW5jdGlvbiBkbmEoYSl7bGV0IGU9W107Zm9yKGxldCB0PTA7dDxhLmxlbmd0aDt0KyspYVt0XSE9bnVsbCYmZS5wdXNoKGFbdF0pO3JldHVybiBlfWZ1bmN0aW9uIEdhZShhLGUsdCxyKXtsZXQgaT1bXSxvPSExO2UuZm9yRWFjaCgobCxkKT0+e2xldCBjPWNuYShhLGwsZCt0KTtpZihjKXtvPSEwO2xldCBwPUdhZShjLGwsdCtkKzEscik7cCE9RWkmJmkucHVzaChkLGQrbC5ub2RlU2l6ZSxwKX19KTtsZXQgbj1sbmEobz9kbmEoYSk6YSwtdCkuc29ydCh0NSk7Zm9yKGxldCBsPTA7bDxuLmxlbmd0aDtsKyspbltsXS50eXBlLnZhbGlkKGUsbltsXSl8fChyLm9uUmVtb3ZlJiZyLm9uUmVtb3ZlKG5bbF0uc3BlYyksbi5zcGxpY2UobC0tLDEpKTtyZXR1cm4gbi5sZW5ndGh8fGkubGVuZ3RoP25ldyBLaShuLGkpOkVpfWZ1bmN0aW9uIHQ1KGEsZSl7cmV0dXJuIGEuZnJvbS1lLmZyb218fGEudG8tZS50b31mdW5jdGlvbiBKS2UoYSl7bGV0IGU9YTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoLTE7dCsrKXtsZXQgcj1lW3RdO2lmKHIuZnJvbSE9ci50bylmb3IobGV0IGk9dCsxO2k8ZS5sZW5ndGg7aSsrKXtsZXQgbz1lW2ldO2lmKG8uZnJvbT09ci5mcm9tKXtvLnRvIT1yLnRvJiYoZT09YSYmKGU9YS5zbGljZSgpKSxlW2ldPW8uY29weShvLmZyb20sci50byksdW5hKGUsaSsxLG8uY29weShyLnRvLG8udG8pKSk7Y29udGludWV9ZWxzZXtvLmZyb208ci50byYmKGU9PWEmJihlPWEuc2xpY2UoKSksZVt0XT1yLmNvcHkoci5mcm9tLG8uZnJvbSksdW5hKGUsaSxyLmNvcHkoby5mcm9tLHIudG8pKSk7YnJlYWt9fX1yZXR1cm4gZX1mdW5jdGlvbiB1bmEoYSxlLHQpe2Zvcig7ZTxhLmxlbmd0aCYmdDUodCxhW2VdKT4wOyllKys7YS5zcGxpY2UoZSwwLHQpfWZ1bmN0aW9uIGVaZShhKXtsZXQgZT1bXTtyZXR1cm4gYS5zb21lUHJvcCgiZGVjb3JhdGlvbnMiLHQ9PntsZXQgcj10KGEuc3RhdGUpO3ImJnIhPUVpJiZlLnB1c2gocil9KSxhLmN1cnNvcldyYXBwZXImJmUucHVzaChLaS5jcmVhdGUoYS5zdGF0ZS5kb2MsW2EuY3Vyc29yV3JhcHBlci5kZWNvXSkpLFdhZS5mcm9tKGUpfWZ1bmN0aW9uIEZBYShhKXtpZighcG5hLmhhcyhhKSYmKHBuYS5zZXQoYSxudWxsKSxbIm5vcm1hbCIsIm5vd3JhcCIsInByZS1saW5lIl0uaW5kZXhPZihnZXRDb21wdXRlZFN0eWxlKGEuZG9tKS53aGl0ZVNwYWNlKSE9PS0xKSl7aWYoYS5yZXF1aXJlc0dlY2tvSGFja05vZGU9RW4sZm5hKXJldHVybjtjb25zb2xlLndhcm4oIlByb3NlTWlycm9yIGV4cGVjdHMgdGhlIENTUyB3aGl0ZS1zcGFjZSBwcm9wZXJ0eSB0byBiZSBzZXQsIHByZWZlcmFibHkgdG8gJ3ByZS13cmFwJy4gSXQgaXMgcmVjb21tZW5kZWQgdG8gbG9hZCBzdHlsZS9wcm9zZW1pcnJvci5jc3MgZnJvbSB0aGUgcHJvc2VtaXJyb3ItdmlldyBwYWNrYWdlLiIpLGZuYT0hMH19ZnVuY3Rpb24gaG5hKGEsZSl7bGV0IHQ9ZS5zdGFydENvbnRhaW5lcixyPWUuc3RhcnRPZmZzZXQsaT1lLmVuZENvbnRhaW5lcixvPWUuZW5kT2Zmc2V0LG49YS5kb21BdFBvcyhhLnN0YXRlLnNlbGVjdGlvbi5hbmNob3IpO3JldHVybiBZZihuLm5vZGUsbi5vZmZzZXQsaSxvKSYmKFt0LHIsaSxvXT1baSxvLHQscl0pLHthbmNob3JOb2RlOnQsYW5jaG9yT2Zmc2V0OnIsZm9jdXNOb2RlOmksZm9jdXNPZmZzZXQ6b319ZnVuY3Rpb24gQkFhKGEsZSl7aWYoZS5nZXRDb21wb3NlZFJhbmdlcyl7bGV0IGk9ZS5nZXRDb21wb3NlZFJhbmdlcyhhLnJvb3QpWzBdO2lmKGkpcmV0dXJuIGhuYShhLGkpfWxldCB0O2Z1bmN0aW9uIHIoaSl7aS5wcmV2ZW50RGVmYXVsdCgpLGkuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdD1pLmdldFRhcmdldFJhbmdlcygpWzBdfXJldHVybiBzKHIsInJlYWQiKSxhLmRvbS5hZGRFdmVudExpc3RlbmVyKCJiZWZvcmVpbnB1dCIsciwhMCksZG9jdW1lbnQuZXhlY0NvbW1hbmQoImluZGVudCIpLGEuZG9tLnJlbW92ZUV2ZW50TGlzdGVuZXIoImJlZm9yZWlucHV0IixyLCEwKSx0P2huYShhLHQpOm51bGx9ZnVuY3Rpb24gSEFhKGEsZSl7Zm9yKGxldCB0PWUucGFyZW50Tm9kZTt0JiZ0IT1hLmRvbTt0PXQucGFyZW50Tm9kZSl7bGV0IHI9YS5kb2NWaWV3Lm5lYXJlc3REZXNjKHQsITApO2lmKHImJnIubm9kZS5pc0Jsb2NrKXJldHVybiB0fXJldHVybiBudWxsfWZ1bmN0aW9uIHFBYShhLGUpe3ZhciB0O2xldHtmb2N1c05vZGU6cixmb2N1c09mZnNldDppfT1hLmRvbVNlbGVjdGlvblJhbmdlKCk7Zm9yKGxldCBvIG9mIGUpaWYoKCh0PW8ucGFyZW50Tm9kZSk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0Lm5vZGVOYW1lKT09IlRSIil7bGV0IG49by5uZXh0U2libGluZztmb3IoO24mJm4ubm9kZU5hbWUhPSJURCImJm4ubm9kZU5hbWUhPSJUSCI7KW49bi5uZXh0U2libGluZztpZihuKXtsZXQgbD1uO2Zvcig7Oyl7bGV0IGQ9bC5maXJzdENoaWxkO2lmKCFkfHxkLm5vZGVUeXBlIT0xfHxkLmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlInx8L14oQlJ8SU1HKSQvLnRlc3QoZC5ub2RlTmFtZSkpYnJlYWs7bD1kfWwuaW5zZXJ0QmVmb3JlKG8sbC5maXJzdENoaWxkKSxyPT1vJiZhLmRvbVNlbGVjdGlvbigpLmNvbGxhcHNlKG8saSl9ZWxzZSBvLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobyl9fWZ1bmN0aW9uIFZBYShhLGUsdCl7bGV0e25vZGU6cixmcm9tT2Zmc2V0OmksdG9PZmZzZXQ6byxmcm9tOm4sdG86bH09YS5kb2NWaWV3LnBhcnNlUmFuZ2UoZSx0KSxkPWEuZG9tU2VsZWN0aW9uUmFuZ2UoKSxjLHA9ZC5hbmNob3JOb2RlO2lmKHAmJmEuZG9tLmNvbnRhaW5zKHAubm9kZVR5cGU9PTE/cDpwLnBhcmVudE5vZGUpJiYoYz1be25vZGU6cCxvZmZzZXQ6ZC5hbmNob3JPZmZzZXR9XSxSYWUoZCl8fGMucHVzaCh7bm9kZTpkLmZvY3VzTm9kZSxvZmZzZXQ6ZC5mb2N1c09mZnNldH0pKSxyaSYmYS5pbnB1dC5sYXN0S2V5Q29kZT09PTgpZm9yKGxldCBnPW87Zz5pO2ctLSl7bGV0IHk9ci5jaGlsZE5vZGVzW2ctMV0saz15LnBtVmlld0Rlc2M7aWYoeS5ub2RlTmFtZT09IkJSIiYmIWspe289ZzticmVha31pZigha3x8ay5zaXplKWJyZWFrfWxldCB1PWEuc3RhdGUuZG9jLG09YS5zb21lUHJvcCgiZG9tUGFyc2VyIil8fEkxLmZyb21TY2hlbWEoYS5zdGF0ZS5zY2hlbWEpLHY9dS5yZXNvbHZlKG4pLHg9bnVsbCxiPW0ucGFyc2Uocix7dG9wTm9kZTp2LnBhcmVudCx0b3BNYXRjaDp2LnBhcmVudC5jb250ZW50TWF0Y2hBdCh2LmluZGV4KCkpLHRvcE9wZW46ITAsZnJvbTppLHRvOm8scHJlc2VydmVXaGl0ZXNwYWNlOnYucGFyZW50LnR5cGUud2hpdGVzcGFjZT09InByZSI/ImZ1bGwiOiEwLGZpbmRQb3NpdGlvbnM6YyxydWxlRnJvbU5vZGU6akFhLGNvbnRleHQ6dn0pO2lmKGMmJmNbMF0ucG9zIT1udWxsKXtsZXQgZz1jWzBdLnBvcyx5PWNbMV0mJmNbMV0ucG9zO3k9PW51bGwmJih5PWcpLHg9e2FuY2hvcjpnK24saGVhZDp5K259fXJldHVybntkb2M6YixzZWw6eCxmcm9tOm4sdG86bH19ZnVuY3Rpb24gakFhKGEpe2xldCBlPWEucG1WaWV3RGVzYztpZihlKXJldHVybiBlLnBhcnNlUnVsZSgpO2lmKGEubm9kZU5hbWU9PSJCUiImJmEucGFyZW50Tm9kZSl7aWYoQWkmJi9eKHVsfG9sKSQvaS50ZXN0KGEucGFyZW50Tm9kZS5ub2RlTmFtZSkpe2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIikpLHtza2lwOnR9fWVsc2UgaWYoYS5wYXJlbnROb2RlLmxhc3RDaGlsZD09YXx8QWkmJi9eKHRyfHRhYmxlKSQvaS50ZXN0KGEucGFyZW50Tm9kZS5ub2RlTmFtZSkpcmV0dXJue2lnbm9yZTohMH19ZWxzZSBpZihhLm5vZGVOYW1lPT0iSU1HIiYmYS5nZXRBdHRyaWJ1dGUoIm1hcmstcGxhY2Vob2xkZXIiKSlyZXR1cm57aWdub3JlOiEwfTtyZXR1cm4gbnVsbH1mdW5jdGlvbiBXQWEoYSxlLHQscixpKXtsZXQgbz1hLmlucHV0LmNvbXBvc2l0aW9uUGVuZGluZ0NoYW5nZXN8fChhLmNvbXBvc2luZz9hLmlucHV0LmNvbXBvc2l0aW9uSUQ6MCk7aWYoYS5pbnB1dC5jb21wb3NpdGlvblBlbmRpbmdDaGFuZ2VzPTAsZTwwKXtsZXQgTz1hLmlucHV0Lmxhc3RTZWxlY3Rpb25UaW1lPkRhdGUubm93KCktNTA/YS5pbnB1dC5sYXN0U2VsZWN0aW9uT3JpZ2luOm51bGwsVD1SS2UoYSxPKTtpZihUJiYhYS5zdGF0ZS5zZWxlY3Rpb24uZXEoVCkpe2lmKHJpJiZ5YyYmYS5pbnB1dC5sYXN0S2V5Q29kZT09PTEzJiZEYXRlLm5vdygpLTEwMDxhLmlucHV0Lmxhc3RLZXlDb2RlVGltZSYmYS5zb21lUHJvcCgiaGFuZGxlS2V5RG93biIsQj0+QihhLEtmKDEzLCJFbnRlciIpKSkpcmV0dXJuO2xldCBFPWEuc3RhdGUudHIuc2V0U2VsZWN0aW9uKFQpO089PSJwb2ludGVyIj9FLnNldE1ldGEoInBvaW50ZXIiLCEwKTpPPT0ia2V5IiYmRS5zY3JvbGxJbnRvVmlldygpLG8mJkUuc2V0TWV0YSgiY29tcG9zaXRpb24iLG8pLGEuZGlzcGF0Y2goRSl9cmV0dXJufWxldCBuPWEuc3RhdGUuZG9jLnJlc29sdmUoZSksbD1uLnNoYXJlZERlcHRoKHQpO2U9bi5iZWZvcmUobCsxKSx0PWEuc3RhdGUuZG9jLnJlc29sdmUodCkuYWZ0ZXIobCsxKTtsZXQgZD1hLnN0YXRlLnNlbGVjdGlvbixjPVZBYShhLGUsdCkscD1hLnN0YXRlLmRvYyx1PXAuc2xpY2UoYy5mcm9tLGMudG8pLG0sdjthLmlucHV0Lmxhc3RLZXlDb2RlPT09OCYmRGF0ZS5ub3coKS0xMDA8YS5pbnB1dC5sYXN0S2V5Q29kZVRpbWU/KG09YS5zdGF0ZS5zZWxlY3Rpb24udG8sdj0iZW5kIik6KG09YS5zdGF0ZS5zZWxlY3Rpb24uZnJvbSx2PSJzdGFydCIpLGEuaW5wdXQubGFzdEtleUNvZGU9bnVsbDtsZXQgeD1LQWEodS5jb250ZW50LGMuZG9jLmNvbnRlbnQsYy5mcm9tLG0sdik7aWYoeCYmYS5pbnB1dC5kb21DaGFuZ2VDb3VudCsrLChTbSYmYS5pbnB1dC5sYXN0SU9TRW50ZXI+RGF0ZS5ub3coKS0yMjV8fHljKSYmaS5zb21lKE89Pk8ubm9kZVR5cGU9PTEmJiFVQWEudGVzdChPLm5vZGVOYW1lKSkmJigheHx8eC5lbmRBPj14LmVuZEIpJiZhLnNvbWVQcm9wKCJoYW5kbGVLZXlEb3duIixPPT5PKGEsS2YoMTMsIkVudGVyIikpKSl7YS5pbnB1dC5sYXN0SU9TRW50ZXI9MDtyZXR1cm59aWYoIXgpaWYociYmZCBpbnN0YW5jZW9mIFJ0JiYhZC5lbXB0eSYmZC4kaGVhZC5zYW1lUGFyZW50KGQuJGFuY2hvcikmJiFhLmNvbXBvc2luZyYmIShjLnNlbCYmYy5zZWwuYW5jaG9yIT1jLnNlbC5oZWFkKSl4PXtzdGFydDpkLmZyb20sZW5kQTpkLnRvLGVuZEI6ZC50b307ZWxzZXtpZihjLnNlbCl7bGV0IE89bW5hKGEsYS5zdGF0ZS5kb2MsYy5zZWwpO2lmKE8mJiFPLmVxKGEuc3RhdGUuc2VsZWN0aW9uKSl7bGV0IFQ9YS5zdGF0ZS50ci5zZXRTZWxlY3Rpb24oTyk7byYmVC5zZXRNZXRhKCJjb21wb3NpdGlvbiIsbyksYS5kaXNwYXRjaChUKX19cmV0dXJufWEuc3RhdGUuc2VsZWN0aW9uLmZyb208YS5zdGF0ZS5zZWxlY3Rpb24udG8mJnguc3RhcnQ9PXguZW5kQiYmYS5zdGF0ZS5zZWxlY3Rpb24gaW5zdGFuY2VvZiBSdCYmKHguc3RhcnQ+YS5zdGF0ZS5zZWxlY3Rpb24uZnJvbSYmeC5zdGFydDw9YS5zdGF0ZS5zZWxlY3Rpb24uZnJvbSsyJiZhLnN0YXRlLnNlbGVjdGlvbi5mcm9tPj1jLmZyb20/eC5zdGFydD1hLnN0YXRlLnNlbGVjdGlvbi5mcm9tOnguZW5kQTxhLnN0YXRlLnNlbGVjdGlvbi50byYmeC5lbmRBPj1hLnN0YXRlLnNlbGVjdGlvbi50by0yJiZhLnN0YXRlLnNlbGVjdGlvbi50bzw9Yy50byYmKHguZW5kQis9YS5zdGF0ZS5zZWxlY3Rpb24udG8teC5lbmRBLHguZW5kQT1hLnN0YXRlLnNlbGVjdGlvbi50bykpLEFvJiZ4NDw9MTEmJnguZW5kQj09eC5zdGFydCsxJiZ4LmVuZEE9PXguc3RhcnQmJnguc3RhcnQ+Yy5mcm9tJiZjLmRvYy50ZXh0QmV0d2Vlbih4LnN0YXJ0LWMuZnJvbS0xLHguc3RhcnQtYy5mcm9tKzEpPT0iIFx4QTAiJiYoeC5zdGFydC0tLHguZW5kQS0tLHguZW5kQi0tKTtsZXQgYj1jLmRvYy5yZXNvbHZlTm9DYWNoZSh4LnN0YXJ0LWMuZnJvbSksZz1jLmRvYy5yZXNvbHZlTm9DYWNoZSh4LmVuZEItYy5mcm9tKSx5PXAucmVzb2x2ZSh4LnN0YXJ0KSxrPWIuc2FtZVBhcmVudChnKSYmYi5wYXJlbnQuaW5saW5lQ29udGVudCYmeS5lbmQoKT49eC5lbmRBO2lmKChTbSYmYS5pbnB1dC5sYXN0SU9TRW50ZXI+RGF0ZS5ub3coKS0yMjUmJigha3x8aS5zb21lKE89Pk8ubm9kZU5hbWU9PSJESVYifHxPLm5vZGVOYW1lPT0iUCIpKXx8IWsmJmIucG9zPGMuZG9jLmNvbnRlbnQuc2l6ZSYmKCFiLnNhbWVQYXJlbnQoZyl8fCFiLnBhcmVudC5pbmxpbmVDb250ZW50KSYmYi5wb3M8Zy5wb3MmJiEvXFMvLnRlc3QoYy5kb2MudGV4dEJldHdlZW4oYi5wb3MsZy5wb3MsIiIsIiIpKSkmJmEuc29tZVByb3AoImhhbmRsZUtleURvd24iLE89Pk8oYSxLZigxMywiRW50ZXIiKSkpKXthLmlucHV0Lmxhc3RJT1NFbnRlcj0wO3JldHVybn1pZihhLnN0YXRlLnNlbGVjdGlvbi5hbmNob3I+eC5zdGFydCYmWUFhKHAseC5zdGFydCx4LmVuZEEsYixnKSYmYS5zb21lUHJvcCgiaGFuZGxlS2V5RG93biIsTz0+TyhhLEtmKDgsIkJhY2tzcGFjZSIpKSkpe3ljJiZyaSYmYS5kb21PYnNlcnZlci5zdXBwcmVzc1NlbGVjdGlvblVwZGF0ZXMoKTtyZXR1cm59cmkmJnguZW5kQj09eC5zdGFydCYmKGEuaW5wdXQubGFzdENocm9tZURlbGV0ZT1EYXRlLm5vdygpKSx5YyYmIWsmJmIuc3RhcnQoKSE9Zy5zdGFydCgpJiZnLnBhcmVudE9mZnNldD09MCYmYi5kZXB0aD09Zy5kZXB0aCYmYy5zZWwmJmMuc2VsLmFuY2hvcj09Yy5zZWwuaGVhZCYmYy5zZWwuaGVhZD09eC5lbmRBJiYoeC5lbmRCLT0yLGc9Yy5kb2MucmVzb2x2ZU5vQ2FjaGUoeC5lbmRCLWMuZnJvbSksc2V0VGltZW91dCgoKT0+e2Euc29tZVByb3AoImhhbmRsZUtleURvd24iLGZ1bmN0aW9uKE8pe3JldHVybiBPKGEsS2YoMTMsIkVudGVyIikpfSl9LDIwKSk7bGV0IEM9eC5zdGFydCxOPXguZW5kQSxfPXMoTz0+e2xldCBUPU98fGEuc3RhdGUudHIucmVwbGFjZShDLE4sYy5kb2Muc2xpY2UoeC5zdGFydC1jLmZyb20seC5lbmRCLWMuZnJvbSkpO2lmKGMuc2VsKXtsZXQgRT1tbmEoYSxULmRvYyxjLnNlbCk7RSYmIShyaSYmYS5jb21wb3NpbmcmJkUuZW1wdHkmJih4LnN0YXJ0IT14LmVuZEJ8fGEuaW5wdXQubGFzdENocm9tZURlbGV0ZTxEYXRlLm5vdygpLTEwMCkmJihFLmhlYWQ9PUN8fEUuaGVhZD09VC5tYXBwaW5nLm1hcChOKS0xKXx8QW8mJkUuZW1wdHkmJkUuaGVhZD09QykmJlQuc2V0U2VsZWN0aW9uKEUpfXJldHVybiBvJiZULnNldE1ldGEoImNvbXBvc2l0aW9uIixvKSxULnNjcm9sbEludG9WaWV3KCl9LCJta1RyIiksejtpZihrKWlmKGIucG9zPT1nLnBvcyl7QW8mJng0PD0xMSYmYi5wYXJlbnRPZmZzZXQ9PTAmJihhLmRvbU9ic2VydmVyLnN1cHByZXNzU2VsZWN0aW9uVXBkYXRlcygpLHNldFRpbWVvdXQoKCk9Pk1jKGEpLDIwKSk7bGV0IE89XyhhLnN0YXRlLnRyLmRlbGV0ZShDLE4pKSxUPXAucmVzb2x2ZSh4LnN0YXJ0KS5tYXJrc0Fjcm9zcyhwLnJlc29sdmUoeC5lbmRBKSk7VCYmTy5lbnN1cmVNYXJrcyhUKSxhLmRpc3BhdGNoKE8pfWVsc2UgaWYoeC5lbmRBPT14LmVuZEImJih6PUdBYShiLnBhcmVudC5jb250ZW50LmN1dChiLnBhcmVudE9mZnNldCxnLnBhcmVudE9mZnNldCkseS5wYXJlbnQuY29udGVudC5jdXQoeS5wYXJlbnRPZmZzZXQseC5lbmRBLXkuc3RhcnQoKSkpKSl7bGV0IE89XyhhLnN0YXRlLnRyKTt6LnR5cGU9PSJhZGQiP08uYWRkTWFyayhDLE4sei5tYXJrKTpPLnJlbW92ZU1hcmsoQyxOLHoubWFyayksYS5kaXNwYXRjaChPKX1lbHNlIGlmKGIucGFyZW50LmNoaWxkKGIuaW5kZXgoKSkuaXNUZXh0JiZiLmluZGV4KCk9PWcuaW5kZXgoKS0oZy50ZXh0T2Zmc2V0PzA6MSkpe2xldCBPPWIucGFyZW50LnRleHRCZXR3ZWVuKGIucGFyZW50T2Zmc2V0LGcucGFyZW50T2Zmc2V0KSxUPXMoKCk9Pl8oYS5zdGF0ZS50ci5pbnNlcnRUZXh0KE8sQyxOKSksImRlZmx0Iik7YS5zb21lUHJvcCgiaGFuZGxlVGV4dElucHV0IixFPT5FKGEsQyxOLE8sVCkpfHxhLmRpc3BhdGNoKFQoKSl9ZWxzZSBhLmRpc3BhdGNoKF8oKSk7ZWxzZSBhLmRpc3BhdGNoKF8oKSl9ZnVuY3Rpb24gbW5hKGEsZSx0KXtyZXR1cm4gTWF0aC5tYXgodC5hbmNob3IsdC5oZWFkKT5lLmNvbnRlbnQuc2l6ZT9udWxsOkZLZShhLGUucmVzb2x2ZSh0LmFuY2hvciksZS5yZXNvbHZlKHQuaGVhZCkpfWZ1bmN0aW9uIEdBYShhLGUpe2xldCB0PWEuZmlyc3RDaGlsZC5tYXJrcyxyPWUuZmlyc3RDaGlsZC5tYXJrcyxpPXQsbz1yLG4sbCxkO2ZvcihsZXQgcD0wO3A8ci5sZW5ndGg7cCsrKWk9cltwXS5yZW1vdmVGcm9tU2V0KGkpO2ZvcihsZXQgcD0wO3A8dC5sZW5ndGg7cCsrKW89dFtwXS5yZW1vdmVGcm9tU2V0KG8pO2lmKGkubGVuZ3RoPT0xJiZvLmxlbmd0aD09MClsPWlbMF0sbj0iYWRkIixkPXMocD0+cC5tYXJrKGwuYWRkVG9TZXQocC5tYXJrcykpLCJ1cGRhdGUiKTtlbHNlIGlmKGkubGVuZ3RoPT0wJiZvLmxlbmd0aD09MSlsPW9bMF0sbj0icmVtb3ZlIixkPXMocD0+cC5tYXJrKGwucmVtb3ZlRnJvbVNldChwLm1hcmtzKSksInVwZGF0ZSIpO2Vsc2UgcmV0dXJuIG51bGw7bGV0IGM9W107Zm9yKGxldCBwPTA7cDxlLmNoaWxkQ291bnQ7cCsrKWMucHVzaChkKGUuY2hpbGQocCkpKTtpZihWZS5mcm9tKGMpLmVxKGEpKXJldHVybnttYXJrOmwsdHlwZTpufX1mdW5jdGlvbiBZQWEoYSxlLHQscixpKXtpZih0LWU8PWkucG9zLXIucG9zfHxyWmUociwhMCwhMSk8aS5wb3MpcmV0dXJuITE7bGV0IG89YS5yZXNvbHZlKGUpO2lmKCFyLnBhcmVudC5pc1RleHRibG9jayl7bGV0IGw9by5ub2RlQWZ0ZXI7cmV0dXJuIGwhPW51bGwmJnQ9PWUrbC5ub2RlU2l6ZX1pZihvLnBhcmVudE9mZnNldDxvLnBhcmVudC5jb250ZW50LnNpemV8fCFvLnBhcmVudC5pc1RleHRibG9jaylyZXR1cm4hMTtsZXQgbj1hLnJlc29sdmUoclplKG8sITAsITApKTtyZXR1cm4hbi5wYXJlbnQuaXNUZXh0YmxvY2t8fG4ucG9zPnR8fHJaZShuLCEwLCExKTx0PyExOnIucGFyZW50LmNvbnRlbnQuY3V0KHIucGFyZW50T2Zmc2V0KS5lcShuLnBhcmVudC5jb250ZW50KX1mdW5jdGlvbiByWmUoYSxlLHQpe2xldCByPWEuZGVwdGgsaT1lP2EuZW5kKCk6YS5wb3M7Zm9yKDtyPjAmJihlfHxhLmluZGV4QWZ0ZXIocik9PWEubm9kZShyKS5jaGlsZENvdW50KTspci0tLGkrKyxlPSExO2lmKHQpe2xldCBvPWEubm9kZShyKS5tYXliZUNoaWxkKGEuaW5kZXhBZnRlcihyKSk7Zm9yKDtvJiYhby5pc0xlYWY7KW89by5maXJzdENoaWxkLGkrK31yZXR1cm4gaX1mdW5jdGlvbiBLQWEoYSxlLHQscixpKXtsZXQgbz1hLmZpbmREaWZmU3RhcnQoZSx0KTtpZihvPT1udWxsKXJldHVybiBudWxsO2xldHthOm4sYjpsfT1hLmZpbmREaWZmRW5kKGUsdCthLnNpemUsdCtlLnNpemUpO2lmKGk9PSJlbmQiKXtsZXQgZD1NYXRoLm1heCgwLG8tTWF0aC5taW4obixsKSk7ci09bitkLW99aWYobjxvJiZhLnNpemU8ZS5zaXplKXtsZXQgZD1yPD1vJiZyPj1uP28tcjowO28tPWQsbyYmbzxlLnNpemUmJmduYShlLnRleHRCZXR3ZWVuKG8tMSxvKzEpKSYmKG8rPWQ/MTotMSksbD1vKyhsLW4pLG49b31lbHNlIGlmKGw8byl7bGV0IGQ9cjw9byYmcj49bD9vLXI6MDtvLT1kLG8mJm88YS5zaXplJiZnbmEoYS50ZXh0QmV0d2VlbihvLTEsbysxKSkmJihvKz1kPzE6LTEpLG49bysobi1sKSxsPW99cmV0dXJue3N0YXJ0Om8sZW5kQTpuLGVuZEI6bH19ZnVuY3Rpb24gZ25hKGEpe2lmKGEubGVuZ3RoIT0yKXJldHVybiExO2xldCBlPWEuY2hhckNvZGVBdCgwKSx0PWEuY2hhckNvZGVBdCgxKTtyZXR1cm4gZT49NTYzMjAmJmU8PTU3MzQzJiZ0Pj01NTI5NiYmdDw9NTYzMTl9ZnVuY3Rpb24gYm5hKGEpe2xldCBlPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIGUuY2xhc3M9IlByb3NlTWlycm9yIixlLmNvbnRlbnRlZGl0YWJsZT1TdHJpbmcoYS5lZGl0YWJsZSksYS5zb21lUHJvcCgiYXR0cmlidXRlcyIsdD0+e2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iJiYodD10KGEuc3RhdGUpKSx0KWZvcihsZXQgciBpbiB0KXI9PSJjbGFzcyI/ZS5jbGFzcys9IiAiK3Rbcl06cj09InN0eWxlIj9lLnN0eWxlPShlLnN0eWxlP2Uuc3R5bGUrIjsiOiIiKSt0W3JdOiFlW3JdJiZyIT0iY29udGVudGVkaXRhYmxlIiYmciE9Im5vZGVOYW1lIiYmKGVbcl09U3RyaW5nKHRbcl0pKX0pLGUudHJhbnNsYXRlfHwoZS50cmFuc2xhdGU9Im5vIiksW04xLm5vZGUoMCxhLnN0YXRlLmRvYy5jb250ZW50LnNpemUsZSldfWZ1bmN0aW9uIHZuYShhKXtpZihhLm1hcmtDdXJzb3Ipe2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpO2UuY2xhc3NOYW1lPSJQcm9zZU1pcnJvci1zZXBhcmF0b3IiLGUuc2V0QXR0cmlidXRlKCJtYXJrLXBsYWNlaG9sZGVyIiwidHJ1ZSIpLGUuc2V0QXR0cmlidXRlKCJhbHQiLCIiKSxhLmN1cnNvcldyYXBwZXI9e2RvbTplLGRlY286TjEud2lkZ2V0KGEuc3RhdGUuc2VsZWN0aW9uLmZyb20sZSx7cmF3OiEwLG1hcmtzOmEubWFya0N1cnNvcn0pfX1lbHNlIGEuY3Vyc29yV3JhcHBlcj1udWxsfWZ1bmN0aW9uIHhuYShhKXtyZXR1cm4hYS5zb21lUHJvcCgiZWRpdGFibGUiLGU9PmUoYS5zdGF0ZSk9PT0hMSl9ZnVuY3Rpb24gUUFhKGEsZSl7bGV0IHQ9TWF0aC5taW4oYS4kYW5jaG9yLnNoYXJlZERlcHRoKGEuaGVhZCksZS4kYW5jaG9yLnNoYXJlZERlcHRoKGUuaGVhZCkpO3JldHVybiBhLiRhbmNob3Iuc3RhcnQodCkhPWUuJGFuY2hvci5zdGFydCh0KX1mdW5jdGlvbiB5bmEoYSl7bGV0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiB0KHIpe2ZvcihsZXQgaSBpbiByKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLGkpfHwoZVtpXT1yW2ldKX1yZXR1cm4gcyh0LCJhZGQiKSxhLnNvbWVQcm9wKCJub2RlVmlld3MiLHQpLGEuc29tZVByb3AoIm1hcmtWaWV3cyIsdCksZX1mdW5jdGlvbiBKQWEoYSxlKXtsZXQgdD0wLHI9MDtmb3IobGV0IGkgaW4gYSl7aWYoYVtpXSE9ZVtpXSlyZXR1cm4hMDt0Kyt9Zm9yKGxldCBpIGluIGUpcisrO3JldHVybiB0IT1yfWZ1bmN0aW9uIHduYShhKXtpZihhLnNwZWMuc3RhdGV8fGEuc3BlYy5maWx0ZXJUcmFuc2FjdGlvbnx8YS5zcGVjLmFwcGVuZFRyYW5zYWN0aW9uKXRocm93IG5ldyBSYW5nZUVycm9yKCJQbHVnaW5zIHBhc3NlZCBkaXJlY3RseSB0byB0aGUgdmlldyBtdXN0IG5vdCBoYXZlIGEgc3RhdGUgY29tcG9uZW50Iil9dmFyIGFpLGttLENLZSx4YyxrRGEsWWYsU0RhLFJhZSxZMixob2EsdjQsX0tlLG1vYSxUS2UsQW8seDQsRW4sTEtlLHJpLGdvYSxBaSxTbSxQbixib2EseWMsZVcsJERhLHptLEhEYSxWRGEsQ29hLF9vYSxUb2EsSW4sTG9hLFpmLEsyLFhmLE9hZSxBS2UsQ20sdzQsRmFlLEJhZSxFS2UsYVcsUWYsSUtlLE5vYSxsQWEsSm9hLGVuYSxVS2UsR2ksWWksaEFhLFdLZSxhbmEsWEtlLENBYSxpVyxqYWUsRUFhLFVhZSxKZixRS2UsTjEsTG0sZTUsS2ksRWksV2FlLFJBYSxPQWEsdFplLGFaZSxwbmEsZm5hLFVBYSxaQWEsWEFhLCRtLHNaZT1mKCgpPT57dmMoKTttNCgpO2I0KCk7YWk9cyhmdW5jdGlvbihhKXtmb3IodmFyIGU9MDs7ZSsrKWlmKGE9YS5wcmV2aW91c1NpYmxpbmcsIWEpcmV0dXJuIGV9LCJkb21JbmRleCIpLGttPXMoZnVuY3Rpb24oYSl7bGV0IGU9YS5hc3NpZ25lZFNsb3R8fGEucGFyZW50Tm9kZTtyZXR1cm4gZSYmZS5ub2RlVHlwZT09MTE/ZS5ob3N0OmV9LCJwYXJlbnROb2RlIiksQ0tlPW51bGwseGM9cyhmdW5jdGlvbihhLGUsdCl7bGV0IHI9Q0tlfHwoQ0tlPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCkpO3JldHVybiByLnNldEVuZChhLHQ/P2Eubm9kZVZhbHVlLmxlbmd0aCksci5zZXRTdGFydChhLGV8fDApLHJ9LCJ0ZXh0UmFuZ2UiKSxrRGE9cyhmdW5jdGlvbigpe0NLZT1udWxsfSwiY2xlYXJSZXVzZWRSYW5nZSIpLFlmPXMoZnVuY3Rpb24oYSxlLHQscil7cmV0dXJuIHQmJihmb2EoYSxlLHQsciwtMSl8fGZvYShhLGUsdCxyLDEpKX0sImlzRXF1aXZhbGVudFBvc2l0aW9uIiksU0RhPS9eKGltZ3xicnxpbnB1dHx0ZXh0YXJlYXxocikkL2k7cyhmb2EsInNjYW5Gb3IiKTtzKEFuLCJub2RlU2l6ZSIpO3MoekRhLCJ0ZXh0Tm9kZUJlZm9yZSQxIik7cyhDRGEsInRleHROb2RlQWZ0ZXIkMSIpO3MoX0RhLCJpc09uRWRnZSIpO3MoSlUsImhhc0Jsb2NrRGVzYyIpO1JhZT1zKGZ1bmN0aW9uKGEpe3JldHVybiBhLmZvY3VzTm9kZSYmWWYoYS5mb2N1c05vZGUsYS5mb2N1c09mZnNldCxhLmFuY2hvck5vZGUsYS5hbmNob3JPZmZzZXQpfSwic2VsZWN0aW9uQ29sbGFwc2VkIik7cyhLZiwia2V5RXZlbnQiKTtzKFREYSwiZGVlcEFjdGl2ZUVsZW1lbnQiKTtzKExEYSwiY2FyZXRGcm9tUG9pbnQiKTtZMj10eXBlb2YgbmF2aWdhdG9yPCJ1Ij9uYXZpZ2F0b3I6bnVsbCxob2E9dHlwZW9mIGRvY3VtZW50PCJ1Ij9kb2N1bWVudDpudWxsLHY0PVkyJiZZMi51c2VyQWdlbnR8fCIiLF9LZT0vRWRnZVwvKFxkKykvLmV4ZWModjQpLG1vYT0vTVNJRSBcZC8uZXhlYyh2NCksVEtlPS9UcmlkZW50XC8oPzpbNy05XXxcZHsyLH0pXC4uKnJ2OihcZCspLy5leGVjKHY0KSxBbz0hIShtb2F8fFRLZXx8X0tlKSx4ND1tb2E/ZG9jdW1lbnQuZG9jdW1lbnRNb2RlOlRLZT8rVEtlWzFdOl9LZT8rX0tlWzFdOjAsRW49IUFvJiYvZ2Vja29cLyhcZCspL2kudGVzdCh2NCk7RW4mJisoL0ZpcmVmb3hcLyhcZCspLy5leGVjKHY0KXx8WzAsMF0pWzFdO0xLZT0hQW8mJi9DaHJvbWVcLyhcZCspLy5leGVjKHY0KSxyaT0hIUxLZSxnb2E9TEtlPytMS2VbMV06MCxBaT0hQW8mJiEhWTImJi9BcHBsZSBDb21wdXRlci8udGVzdChZMi52ZW5kb3IpLFNtPUFpJiYoL01vYmlsZVwvXHcrLy50ZXN0KHY0KXx8ISFZMiYmWTIubWF4VG91Y2hQb2ludHM+MiksUG49U218fChZMj8vTWFjLy50ZXN0KFkyLnBsYXRmb3JtKTohMSksYm9hPVkyPy9XaW4vLnRlc3QoWTIucGxhdGZvcm0pOiExLHljPS9BbmRyb2lkIFxkLy50ZXN0KHY0KSxlVz0hIWhvYSYmIndlYmtpdEZvbnRTbW9vdGhpbmciaW4gaG9hLmRvY3VtZW50RWxlbWVudC5zdHlsZSwkRGE9ZVc/KygvXGJBcHBsZVdlYktpdFwvKFxkKykvLmV4ZWMobmF2aWdhdG9yLnVzZXJBZ2VudCl8fFswLDBdKVsxXTowO3MoRERhLCJ3aW5kb3dSZWN0Iik7cyh3YywiZ2V0U2lkZSIpO3MoQURhLCJjbGllbnRSZWN0Iik7cyh2b2EsInNjcm9sbFJlY3RJbnRvVmlldyIpO3MoRURhLCJzdG9yZVNjcm9sbFBvcyIpO3MoeG9hLCJzY3JvbGxTdGFjayIpO3MoUERhLCJyZXNldFNjcm9sbFBvcyIpO3MoeW9hLCJyZXN0b3JlU2Nyb2xsU3RhY2siKTt6bT1udWxsO3MoSURhLCJmb2N1c1ByZXZlbnRTY3JvbGwiKTtzKHdvYSwiZmluZE9mZnNldEluTm9kZSIpO3MoTkRhLCJmaW5kT2Zmc2V0SW5UZXh0Iik7cygkS2UsImluUmVjdCIpO3MoUkRhLCJ0YXJnZXRLbHVkZ2UiKTtzKE9EYSwicG9zRnJvbUVsZW1lbnQiKTtzKEZEYSwicG9zRnJvbUNhcmV0Iik7cyhNb2EsImVsZW1lbnRGcm9tUG9pbnQiKTtzKEJEYSwicG9zQXRDb29yZHMiKTtzKGtvYSwibm9uWmVybyIpO3MoeTQsInNpbmdsZVJlY3QiKTtIRGE9L1tcdTA1OTAtXHUwNWY0XHUwNjAwLVx1MDZmZlx1MDcwMC1cdTA4YWNdLztzKFNvYSwiY29vcmRzQXRQb3MiKTtzKHRXLCJmbGF0dGVuViIpO3MoREtlLCJmbGF0dGVuSCIpO3Moem9hLCJ3aXRoRmx1c2hlZFN0YXRlIik7cyhxRGEsImVuZE9mVGV4dGJsb2NrVmVydGljYWwiKTtWRGE9L1tcdTA1OTAtXHUwOGFjXS87cyhqRGEsImVuZE9mVGV4dGJsb2NrSG9yaXpvbnRhbCIpO0NvYT1udWxsLF9vYT1udWxsLFRvYT0hMTtzKFVEYSwiZW5kT2ZUZXh0YmxvY2siKTtJbj0wLExvYT0xLFpmPTIsSzI9MyxYZj1jbGFzc3tzdGF0aWN7cyh0aGlzLCJWaWV3RGVzYyIpfWNvbnN0cnVjdG9yKGUsdCxyLGkpe3RoaXMucGFyZW50PWUsdGhpcy5jaGlsZHJlbj10LHRoaXMuZG9tPXIsdGhpcy5jb250ZW50RE9NPWksdGhpcy5kaXJ0eT1JbixyLnBtVmlld0Rlc2M9dGhpc31tYXRjaGVzV2lkZ2V0KGUpe3JldHVybiExfW1hdGNoZXNNYXJrKGUpe3JldHVybiExfW1hdGNoZXNOb2RlKGUsdCxyKXtyZXR1cm4hMX1tYXRjaGVzSGFjayhlKXtyZXR1cm4hMX1wYXJzZVJ1bGUoKXtyZXR1cm4gbnVsbH1zdG9wRXZlbnQoZSl7cmV0dXJuITF9Z2V0IHNpemUoKXtsZXQgZT0wO2ZvcihsZXQgdD0wO3Q8dGhpcy5jaGlsZHJlbi5sZW5ndGg7dCsrKWUrPXRoaXMuY2hpbGRyZW5bdF0uc2l6ZTtyZXR1cm4gZX1nZXQgYm9yZGVyKCl7cmV0dXJuIDB9ZGVzdHJveSgpe3RoaXMucGFyZW50PXZvaWQgMCx0aGlzLmRvbS5wbVZpZXdEZXNjPT10aGlzJiYodGhpcy5kb20ucG1WaWV3RGVzYz12b2lkIDApO2ZvcihsZXQgZT0wO2U8dGhpcy5jaGlsZHJlbi5sZW5ndGg7ZSsrKXRoaXMuY2hpbGRyZW5bZV0uZGVzdHJveSgpfXBvc0JlZm9yZUNoaWxkKGUpe2ZvcihsZXQgdD0wLHI9dGhpcy5wb3NBdFN0YXJ0Ozt0Kyspe2xldCBpPXRoaXMuY2hpbGRyZW5bdF07aWYoaT09ZSlyZXR1cm4gcjtyKz1pLnNpemV9fWdldCBwb3NCZWZvcmUoKXtyZXR1cm4gdGhpcy5wYXJlbnQucG9zQmVmb3JlQ2hpbGQodGhpcyl9Z2V0IHBvc0F0U3RhcnQoKXtyZXR1cm4gdGhpcy5wYXJlbnQ/dGhpcy5wYXJlbnQucG9zQmVmb3JlQ2hpbGQodGhpcykrdGhpcy5ib3JkZXI6MH1nZXQgcG9zQWZ0ZXIoKXtyZXR1cm4gdGhpcy5wb3NCZWZvcmUrdGhpcy5zaXplfWdldCBwb3NBdEVuZCgpe3JldHVybiB0aGlzLnBvc0F0U3RhcnQrdGhpcy5zaXplLTIqdGhpcy5ib3JkZXJ9bG9jYWxQb3NGcm9tRE9NKGUsdCxyKXtpZih0aGlzLmNvbnRlbnRET00mJnRoaXMuY29udGVudERPTS5jb250YWlucyhlLm5vZGVUeXBlPT0xP2U6ZS5wYXJlbnROb2RlKSlpZihyPDApe2xldCBvLG47aWYoZT09dGhpcy5jb250ZW50RE9NKW89ZS5jaGlsZE5vZGVzW3QtMV07ZWxzZXtmb3IoO2UucGFyZW50Tm9kZSE9dGhpcy5jb250ZW50RE9NOyllPWUucGFyZW50Tm9kZTtvPWUucHJldmlvdXNTaWJsaW5nfWZvcig7byYmISgobj1vLnBtVmlld0Rlc2MpJiZuLnBhcmVudD09dGhpcyk7KW89by5wcmV2aW91c1NpYmxpbmc7cmV0dXJuIG8/dGhpcy5wb3NCZWZvcmVDaGlsZChuKStuLnNpemU6dGhpcy5wb3NBdFN0YXJ0fWVsc2V7bGV0IG8sbjtpZihlPT10aGlzLmNvbnRlbnRET00pbz1lLmNoaWxkTm9kZXNbdF07ZWxzZXtmb3IoO2UucGFyZW50Tm9kZSE9dGhpcy5jb250ZW50RE9NOyllPWUucGFyZW50Tm9kZTtvPWUubmV4dFNpYmxpbmd9Zm9yKDtvJiYhKChuPW8ucG1WaWV3RGVzYykmJm4ucGFyZW50PT10aGlzKTspbz1vLm5leHRTaWJsaW5nO3JldHVybiBvP3RoaXMucG9zQmVmb3JlQ2hpbGQobik6dGhpcy5wb3NBdEVuZH1sZXQgaTtpZihlPT10aGlzLmRvbSYmdGhpcy5jb250ZW50RE9NKWk9dD5haSh0aGlzLmNvbnRlbnRET00pO2Vsc2UgaWYodGhpcy5jb250ZW50RE9NJiZ0aGlzLmNvbnRlbnRET00hPXRoaXMuZG9tJiZ0aGlzLmRvbS5jb250YWlucyh0aGlzLmNvbnRlbnRET00pKWk9ZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbih0aGlzLmNvbnRlbnRET00pJjI7ZWxzZSBpZih0aGlzLmRvbS5maXJzdENoaWxkKXtpZih0PT0wKWZvcihsZXQgbz1lOztvPW8ucGFyZW50Tm9kZSl7aWYobz09dGhpcy5kb20pe2k9ITE7YnJlYWt9aWYoby5wcmV2aW91c1NpYmxpbmcpYnJlYWt9aWYoaT09bnVsbCYmdD09ZS5jaGlsZE5vZGVzLmxlbmd0aClmb3IobGV0IG89ZTs7bz1vLnBhcmVudE5vZGUpe2lmKG89PXRoaXMuZG9tKXtpPSEwO2JyZWFrfWlmKG8ubmV4dFNpYmxpbmcpYnJlYWt9fXJldHVybiBpPz9yPjA/dGhpcy5wb3NBdEVuZDp0aGlzLnBvc0F0U3RhcnR9bmVhcmVzdERlc2MoZSx0PSExKXtmb3IobGV0IHI9ITAsaT1lO2k7aT1pLnBhcmVudE5vZGUpe2xldCBvPXRoaXMuZ2V0RGVzYyhpKSxuO2lmKG8mJighdHx8by5ub2RlKSlpZihyJiYobj1vLm5vZGVET00pJiYhKG4ubm9kZVR5cGU9PTE/bi5jb250YWlucyhlLm5vZGVUeXBlPT0xP2U6ZS5wYXJlbnROb2RlKTpuPT1lKSlyPSExO2Vsc2UgcmV0dXJuIG99fWdldERlc2MoZSl7bGV0IHQ9ZS5wbVZpZXdEZXNjO2ZvcihsZXQgcj10O3I7cj1yLnBhcmVudClpZihyPT10aGlzKXJldHVybiB0fXBvc0Zyb21ET00oZSx0LHIpe2ZvcihsZXQgaT1lO2k7aT1pLnBhcmVudE5vZGUpe2xldCBvPXRoaXMuZ2V0RGVzYyhpKTtpZihvKXJldHVybiBvLmxvY2FsUG9zRnJvbURPTShlLHQscil9cmV0dXJuLTF9ZGVzY0F0KGUpe2ZvcihsZXQgdD0wLHI9MDt0PHRoaXMuY2hpbGRyZW4ubGVuZ3RoO3QrKyl7bGV0IGk9dGhpcy5jaGlsZHJlblt0XSxvPXIraS5zaXplO2lmKHI9PWUmJm8hPXIpe2Zvcig7IWkuYm9yZGVyJiZpLmNoaWxkcmVuLmxlbmd0aDspZm9yKGxldCBuPTA7bjxpLmNoaWxkcmVuLmxlbmd0aDtuKyspe2xldCBsPWkuY2hpbGRyZW5bbl07aWYobC5zaXplKXtpPWw7YnJlYWt9fXJldHVybiBpfWlmKGU8bylyZXR1cm4gaS5kZXNjQXQoZS1yLWkuYm9yZGVyKTtyPW99fWRvbUZyb21Qb3MoZSx0KXtpZighdGhpcy5jb250ZW50RE9NKXJldHVybntub2RlOnRoaXMuZG9tLG9mZnNldDowLGF0b206ZSsxfTtsZXQgcj0wLGk9MDtmb3IobGV0IG89MDtyPHRoaXMuY2hpbGRyZW4ubGVuZ3RoO3IrKyl7bGV0IG49dGhpcy5jaGlsZHJlbltyXSxsPW8rbi5zaXplO2lmKGw+ZXx8biBpbnN0YW5jZW9mIEJhZSl7aT1lLW87YnJlYWt9bz1sfWlmKGkpcmV0dXJuIHRoaXMuY2hpbGRyZW5bcl0uZG9tRnJvbVBvcyhpLXRoaXMuY2hpbGRyZW5bcl0uYm9yZGVyLHQpO2ZvcihsZXQgbztyJiYhKG89dGhpcy5jaGlsZHJlbltyLTFdKS5zaXplJiZvIGluc3RhbmNlb2YgT2FlJiZvLnNpZGU+PTA7ci0tKTtpZih0PD0wKXtsZXQgbyxuPSEwO2Zvcig7bz1yP3RoaXMuY2hpbGRyZW5bci0xXTpudWxsLCEoIW98fG8uZG9tLnBhcmVudE5vZGU9PXRoaXMuY29udGVudERPTSk7ci0tLG49ITEpO3JldHVybiBvJiZ0JiZuJiYhby5ib3JkZXImJiFvLmRvbUF0b20/by5kb21Gcm9tUG9zKG8uc2l6ZSx0KTp7bm9kZTp0aGlzLmNvbnRlbnRET00sb2Zmc2V0Om8/YWkoby5kb20pKzE6MH19ZWxzZXtsZXQgbyxuPSEwO2Zvcig7bz1yPHRoaXMuY2hpbGRyZW4ubGVuZ3RoP3RoaXMuY2hpbGRyZW5bcl06bnVsbCwhKCFvfHxvLmRvbS5wYXJlbnROb2RlPT10aGlzLmNvbnRlbnRET00pO3IrKyxuPSExKTtyZXR1cm4gbyYmbiYmIW8uYm9yZGVyJiYhby5kb21BdG9tP28uZG9tRnJvbVBvcygwLHQpOntub2RlOnRoaXMuY29udGVudERPTSxvZmZzZXQ6bz9haShvLmRvbSk6dGhpcy5jb250ZW50RE9NLmNoaWxkTm9kZXMubGVuZ3RofX19cGFyc2VSYW5nZShlLHQscj0wKXtpZih0aGlzLmNoaWxkcmVuLmxlbmd0aD09MClyZXR1cm57bm9kZTp0aGlzLmNvbnRlbnRET00sZnJvbTplLHRvOnQsZnJvbU9mZnNldDowLHRvT2Zmc2V0OnRoaXMuY29udGVudERPTS5jaGlsZE5vZGVzLmxlbmd0aH07bGV0IGk9LTEsbz0tMTtmb3IobGV0IG49cixsPTA7O2wrKyl7bGV0IGQ9dGhpcy5jaGlsZHJlbltsXSxjPW4rZC5zaXplO2lmKGk9PS0xJiZlPD1jKXtsZXQgcD1uK2QuYm9yZGVyO2lmKGU+PXAmJnQ8PWMtZC5ib3JkZXImJmQubm9kZSYmZC5jb250ZW50RE9NJiZ0aGlzLmNvbnRlbnRET00uY29udGFpbnMoZC5jb250ZW50RE9NKSlyZXR1cm4gZC5wYXJzZVJhbmdlKGUsdCxwKTtlPW47Zm9yKGxldCB1PWw7dT4wO3UtLSl7bGV0IG09dGhpcy5jaGlsZHJlblt1LTFdO2lmKG0uc2l6ZSYmbS5kb20ucGFyZW50Tm9kZT09dGhpcy5jb250ZW50RE9NJiYhbS5lbXB0eUNoaWxkQXQoMSkpe2k9YWkobS5kb20pKzE7YnJlYWt9ZS09bS5zaXplfWk9PS0xJiYoaT0wKX1pZihpPi0xJiYoYz50fHxsPT10aGlzLmNoaWxkcmVuLmxlbmd0aC0xKSl7dD1jO2ZvcihsZXQgcD1sKzE7cDx0aGlzLmNoaWxkcmVuLmxlbmd0aDtwKyspe2xldCB1PXRoaXMuY2hpbGRyZW5bcF07aWYodS5zaXplJiZ1LmRvbS5wYXJlbnROb2RlPT10aGlzLmNvbnRlbnRET00mJiF1LmVtcHR5Q2hpbGRBdCgtMSkpe289YWkodS5kb20pO2JyZWFrfXQrPXUuc2l6ZX1vPT0tMSYmKG89dGhpcy5jb250ZW50RE9NLmNoaWxkTm9kZXMubGVuZ3RoKTticmVha31uPWN9cmV0dXJue25vZGU6dGhpcy5jb250ZW50RE9NLGZyb206ZSx0bzp0LGZyb21PZmZzZXQ6aSx0b09mZnNldDpvfX1lbXB0eUNoaWxkQXQoZSl7aWYodGhpcy5ib3JkZXJ8fCF0aGlzLmNvbnRlbnRET018fCF0aGlzLmNoaWxkcmVuLmxlbmd0aClyZXR1cm4hMTtsZXQgdD10aGlzLmNoaWxkcmVuW2U8MD8wOnRoaXMuY2hpbGRyZW4ubGVuZ3RoLTFdO3JldHVybiB0LnNpemU9PTB8fHQuZW1wdHlDaGlsZEF0KGUpfWRvbUFmdGVyUG9zKGUpe2xldHtub2RlOnQsb2Zmc2V0OnJ9PXRoaXMuZG9tRnJvbVBvcyhlLDApO2lmKHQubm9kZVR5cGUhPTF8fHI9PXQuY2hpbGROb2Rlcy5sZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIk5vIG5vZGUgYWZ0ZXIgcG9zICIrZSk7cmV0dXJuIHQuY2hpbGROb2Rlc1tyXX1zZXRTZWxlY3Rpb24oZSx0LHIsaT0hMSl7bGV0IG89TWF0aC5taW4oZSx0KSxuPU1hdGgubWF4KGUsdCk7Zm9yKGxldCB2PTAseD0wO3Y8dGhpcy5jaGlsZHJlbi5sZW5ndGg7disrKXtsZXQgYj10aGlzLmNoaWxkcmVuW3ZdLGc9eCtiLnNpemU7aWYobz54JiZuPGcpcmV0dXJuIGIuc2V0U2VsZWN0aW9uKGUteC1iLmJvcmRlcix0LXgtYi5ib3JkZXIscixpKTt4PWd9bGV0IGw9dGhpcy5kb21Gcm9tUG9zKGUsZT8tMToxKSxkPXQ9PWU/bDp0aGlzLmRvbUZyb21Qb3ModCx0Py0xOjEpLGM9ci5yb290LmdldFNlbGVjdGlvbigpLHA9ci5kb21TZWxlY3Rpb25SYW5nZSgpLHU9ITE7aWYoKEVufHxBaSkmJmU9PXQpe2xldHtub2RlOnYsb2Zmc2V0Onh9PWw7aWYodi5ub2RlVHlwZT09Myl7aWYodT0hISh4JiZ2Lm5vZGVWYWx1ZVt4LTFdPT1gCmApLHUmJng9PXYubm9kZVZhbHVlLmxlbmd0aClmb3IobGV0IGI9dixnO2I7Yj1iLnBhcmVudE5vZGUpe2lmKGc9Yi5uZXh0U2libGluZyl7Zy5ub2RlTmFtZT09IkJSIiYmKGw9ZD17bm9kZTpnLnBhcmVudE5vZGUsb2Zmc2V0OmFpKGcpKzF9KTticmVha31sZXQgeT1iLnBtVmlld0Rlc2M7aWYoeSYmeS5ub2RlJiZ5Lm5vZGUuaXNCbG9jaylicmVha319ZWxzZXtsZXQgYj12LmNoaWxkTm9kZXNbeC0xXTt1PWImJihiLm5vZGVOYW1lPT0iQlIifHxiLmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIil9fWlmKEVuJiZwLmZvY3VzTm9kZSYmcC5mb2N1c05vZGUhPWQubm9kZSYmcC5mb2N1c05vZGUubm9kZVR5cGU9PTEpe2xldCB2PXAuZm9jdXNOb2RlLmNoaWxkTm9kZXNbcC5mb2N1c09mZnNldF07diYmdi5jb250ZW50RWRpdGFibGU9PSJmYWxzZSImJihpPSEwKX1pZighKGl8fHUmJkFpKSYmWWYobC5ub2RlLGwub2Zmc2V0LHAuYW5jaG9yTm9kZSxwLmFuY2hvck9mZnNldCkmJllmKGQubm9kZSxkLm9mZnNldCxwLmZvY3VzTm9kZSxwLmZvY3VzT2Zmc2V0KSlyZXR1cm47bGV0IG09ITE7aWYoKGMuZXh0ZW5kfHxlPT10KSYmISh1JiZFbikpe2MuY29sbGFwc2UobC5ub2RlLGwub2Zmc2V0KTt0cnl7ZSE9dCYmYy5leHRlbmQoZC5ub2RlLGQub2Zmc2V0KSxtPSEwfWNhdGNoe319aWYoIW0pe2lmKGU+dCl7bGV0IHg9bDtsPWQsZD14fWxldCB2PWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7di5zZXRFbmQoZC5ub2RlLGQub2Zmc2V0KSx2LnNldFN0YXJ0KGwubm9kZSxsLm9mZnNldCksYy5yZW1vdmVBbGxSYW5nZXMoKSxjLmFkZFJhbmdlKHYpfX1pZ25vcmVNdXRhdGlvbihlKXtyZXR1cm4hdGhpcy5jb250ZW50RE9NJiZlLnR5cGUhPSJzZWxlY3Rpb24ifWdldCBjb250ZW50TG9zdCgpe3JldHVybiB0aGlzLmNvbnRlbnRET00mJnRoaXMuY29udGVudERPTSE9dGhpcy5kb20mJiF0aGlzLmRvbS5jb250YWlucyh0aGlzLmNvbnRlbnRET00pfW1hcmtEaXJ0eShlLHQpe2ZvcihsZXQgcj0wLGk9MDtpPHRoaXMuY2hpbGRyZW4ubGVuZ3RoO2krKyl7bGV0IG89dGhpcy5jaGlsZHJlbltpXSxuPXIrby5zaXplO2lmKHI9PW4/ZTw9biYmdD49cjplPG4mJnQ+cil7bGV0IGw9citvLmJvcmRlcixkPW4tby5ib3JkZXI7aWYoZT49bCYmdDw9ZCl7dGhpcy5kaXJ0eT1lPT1yfHx0PT1uP1pmOkxvYSxlPT1sJiZ0PT1kJiYoby5jb250ZW50TG9zdHx8by5kb20ucGFyZW50Tm9kZSE9dGhpcy5jb250ZW50RE9NKT9vLmRpcnR5PUsyOm8ubWFya0RpcnR5KGUtbCx0LWwpO3JldHVybn1lbHNlIG8uZGlydHk9by5kb209PW8uY29udGVudERPTSYmby5kb20ucGFyZW50Tm9kZT09dGhpcy5jb250ZW50RE9NJiYhby5jaGlsZHJlbi5sZW5ndGg/WmY6SzJ9cj1ufXRoaXMuZGlydHk9WmZ9bWFya1BhcmVudHNEaXJ0eSgpe2xldCBlPTE7Zm9yKGxldCB0PXRoaXMucGFyZW50O3Q7dD10LnBhcmVudCxlKyspe2xldCByPWU9PTE/WmY6TG9hO3QuZGlydHk8ciYmKHQuZGlydHk9cil9fWdldCBkb21BdG9tKCl7cmV0dXJuITF9Z2V0IGlnbm9yZUZvckNvb3Jkcygpe3JldHVybiExfWdldCBpZ25vcmVGb3JTZWxlY3Rpb24oKXtyZXR1cm4hMX1pc1RleHQoZSl7cmV0dXJuITF9fSxPYWU9Y2xhc3MgZXh0ZW5kcyBYZntzdGF0aWN7cyh0aGlzLCJXaWRnZXRWaWV3RGVzYyIpfWNvbnN0cnVjdG9yKGUsdCxyLGkpe2xldCBvLG49dC50eXBlLnRvRE9NO2lmKHR5cGVvZiBuPT0iZnVuY3Rpb24iJiYobj1uKHIsKCk9PntpZighbylyZXR1cm4gaTtpZihvLnBhcmVudClyZXR1cm4gby5wYXJlbnQucG9zQmVmb3JlQ2hpbGQobyl9KSksIXQudHlwZS5zcGVjLnJhdyl7aWYobi5ub2RlVHlwZSE9MSl7bGV0IGw9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3BhbiIpO2wuYXBwZW5kQ2hpbGQobiksbj1sfW4uY29udGVudEVkaXRhYmxlPSJmYWxzZSIsbi5jbGFzc0xpc3QuYWRkKCJQcm9zZU1pcnJvci13aWRnZXQiKX1zdXBlcihlLFtdLG4sbnVsbCksdGhpcy53aWRnZXQ9dCx0aGlzLndpZGdldD10LG89dGhpc31tYXRjaGVzV2lkZ2V0KGUpe3JldHVybiB0aGlzLmRpcnR5PT1JbiYmZS50eXBlLmVxKHRoaXMud2lkZ2V0LnR5cGUpfXBhcnNlUnVsZSgpe3JldHVybntpZ25vcmU6ITB9fXN0b3BFdmVudChlKXtsZXQgdD10aGlzLndpZGdldC5zcGVjLnN0b3BFdmVudDtyZXR1cm4gdD90KGUpOiExfWlnbm9yZU11dGF0aW9uKGUpe3JldHVybiBlLnR5cGUhPSJzZWxlY3Rpb24ifHx0aGlzLndpZGdldC5zcGVjLmlnbm9yZVNlbGVjdGlvbn1kZXN0cm95KCl7dGhpcy53aWRnZXQudHlwZS5kZXN0cm95KHRoaXMuZG9tKSxzdXBlci5kZXN0cm95KCl9Z2V0IGRvbUF0b20oKXtyZXR1cm4hMH1nZXQgaWdub3JlRm9yU2VsZWN0aW9uKCl7cmV0dXJuISF0aGlzLndpZGdldC50eXBlLnNwZWMucmVsYXhlZFNpZGV9Z2V0IHNpZGUoKXtyZXR1cm4gdGhpcy53aWRnZXQudHlwZS5zaWRlfX0sQUtlPWNsYXNzIGV4dGVuZHMgWGZ7c3RhdGlje3ModGhpcywiQ29tcG9zaXRpb25WaWV3RGVzYyIpfWNvbnN0cnVjdG9yKGUsdCxyLGkpe3N1cGVyKGUsW10sdCxudWxsKSx0aGlzLnRleHRET009cix0aGlzLnRleHQ9aX1nZXQgc2l6ZSgpe3JldHVybiB0aGlzLnRleHQubGVuZ3RofWxvY2FsUG9zRnJvbURPTShlLHQpe3JldHVybiBlIT10aGlzLnRleHRET00/dGhpcy5wb3NBdFN0YXJ0Kyh0P3RoaXMuc2l6ZTowKTp0aGlzLnBvc0F0U3RhcnQrdH1kb21Gcm9tUG9zKGUpe3JldHVybntub2RlOnRoaXMudGV4dERPTSxvZmZzZXQ6ZX19aWdub3JlTXV0YXRpb24oZSl7cmV0dXJuIGUudHlwZT09PSJjaGFyYWN0ZXJEYXRhIiYmZS50YXJnZXQubm9kZVZhbHVlPT1lLm9sZFZhbHVlfX0sQ209Y2xhc3MgYSBleHRlbmRzIFhme3N0YXRpY3tzKHRoaXMsIk1hcmtWaWV3RGVzYyIpfWNvbnN0cnVjdG9yKGUsdCxyLGksbyl7c3VwZXIoZSxbXSxyLGkpLHRoaXMubWFyaz10LHRoaXMuc3BlYz1vfXN0YXRpYyBjcmVhdGUoZSx0LHIsaSl7bGV0IG89aS5ub2RlVmlld3NbdC50eXBlLm5hbWVdLG49byYmbyh0LGkscik7cmV0dXJuKCFufHwhbi5kb20pJiYobj1VMi5yZW5kZXJTcGVjKGRvY3VtZW50LHQudHlwZS5zcGVjLnRvRE9NKHQsciksbnVsbCx0LmF0dHJzKSksbmV3IGEoZSx0LG4uZG9tLG4uY29udGVudERPTXx8bi5kb20sbil9cGFyc2VSdWxlKCl7cmV0dXJuIHRoaXMuZGlydHkmSzJ8fHRoaXMubWFyay50eXBlLnNwZWMucmVwYXJzZUluVmlldz9udWxsOnttYXJrOnRoaXMubWFyay50eXBlLm5hbWUsYXR0cnM6dGhpcy5tYXJrLmF0dHJzLGNvbnRlbnRFbGVtZW50OnRoaXMuY29udGVudERPTX19bWF0Y2hlc01hcmsoZSl7cmV0dXJuIHRoaXMuZGlydHkhPUsyJiZ0aGlzLm1hcmsuZXEoZSl9bWFya0RpcnR5KGUsdCl7aWYoc3VwZXIubWFya0RpcnR5KGUsdCksdGhpcy5kaXJ0eSE9SW4pe2xldCByPXRoaXMucGFyZW50O2Zvcig7IXIubm9kZTspcj1yLnBhcmVudDtyLmRpcnR5PHRoaXMuZGlydHkmJihyLmRpcnR5PXRoaXMuZGlydHkpLHRoaXMuZGlydHk9SW59fXNsaWNlKGUsdCxyKXtsZXQgaT1hLmNyZWF0ZSh0aGlzLnBhcmVudCx0aGlzLm1hcmssITAsciksbz10aGlzLmNoaWxkcmVuLG49dGhpcy5zaXplO3Q8biYmKG89TktlKG8sdCxuLHIpKSxlPjAmJihvPU5LZShvLDAsZSxyKSk7Zm9yKGxldCBsPTA7bDxvLmxlbmd0aDtsKyspb1tsXS5wYXJlbnQ9aTtyZXR1cm4gaS5jaGlsZHJlbj1vLGl9aWdub3JlTXV0YXRpb24oZSl7cmV0dXJuIHRoaXMuc3BlYy5pZ25vcmVNdXRhdGlvbj90aGlzLnNwZWMuaWdub3JlTXV0YXRpb24oZSk6c3VwZXIuaWdub3JlTXV0YXRpb24oZSl9ZGVzdHJveSgpe3RoaXMuc3BlYy5kZXN0cm95JiZ0aGlzLnNwZWMuZGVzdHJveSgpLHN1cGVyLmRlc3Ryb3koKX19LHc0PWNsYXNzIGEgZXh0ZW5kcyBYZntzdGF0aWN7cyh0aGlzLCJOb2RlVmlld0Rlc2MiKX1jb25zdHJ1Y3RvcihlLHQscixpLG8sbixsLGQsYyl7c3VwZXIoZSxbXSxvLG4pLHRoaXMubm9kZT10LHRoaXMub3V0ZXJEZWNvPXIsdGhpcy5pbm5lckRlY289aSx0aGlzLm5vZGVET009bH1zdGF0aWMgY3JlYXRlKGUsdCxyLGksbyxuKXtsZXQgbD1vLm5vZGVWaWV3c1t0LnR5cGUubmFtZV0sZCxjPWwmJmwodCxvLCgpPT57aWYoIWQpcmV0dXJuIG47aWYoZC5wYXJlbnQpcmV0dXJuIGQucGFyZW50LnBvc0JlZm9yZUNoaWxkKGQpfSxyLGkpLHA9YyYmYy5kb20sdT1jJiZjLmNvbnRlbnRET007aWYodC5pc1RleHQpe2lmKCFwKXA9ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUodC50ZXh0KTtlbHNlIGlmKHAubm9kZVR5cGUhPTMpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIlRleHQgbXVzdCBiZSByZW5kZXJlZCBhcyBhIERPTSB0ZXh0IG5vZGUiKX1lbHNlIHB8fCh7ZG9tOnAsY29udGVudERPTTp1fT1VMi5yZW5kZXJTcGVjKGRvY3VtZW50LHQudHlwZS5zcGVjLnRvRE9NKHQpLG51bGwsdC5hdHRycykpOyF1JiYhdC5pc1RleHQmJnAubm9kZU5hbWUhPSJCUiImJihwLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fChwLmNvbnRlbnRFZGl0YWJsZT0iZmFsc2UiKSx0LnR5cGUuc3BlYy5kcmFnZ2FibGUmJihwLmRyYWdnYWJsZT0hMCkpO2xldCBtPXA7cmV0dXJuIHA9RW9hKHAscix0KSxjP2Q9bmV3IEVLZShlLHQscixpLHAsdXx8bnVsbCxtLGMsbyxuKzEpOnQuaXNUZXh0P25ldyBGYWUoZSx0LHIsaSxwLG0sbyk6bmV3IGEoZSx0LHIsaSxwLHV8fG51bGwsbSxvLG4rMSl9cGFyc2VSdWxlKCl7aWYodGhpcy5ub2RlLnR5cGUuc3BlYy5yZXBhcnNlSW5WaWV3KXJldHVybiBudWxsO2xldCBlPXtub2RlOnRoaXMubm9kZS50eXBlLm5hbWUsYXR0cnM6dGhpcy5ub2RlLmF0dHJzfTtpZih0aGlzLm5vZGUudHlwZS53aGl0ZXNwYWNlPT0icHJlIiYmKGUucHJlc2VydmVXaGl0ZXNwYWNlPSJmdWxsIiksIXRoaXMuY29udGVudERPTSllLmdldENvbnRlbnQ9KCk9PnRoaXMubm9kZS5jb250ZW50O2Vsc2UgaWYoIXRoaXMuY29udGVudExvc3QpZS5jb250ZW50RWxlbWVudD10aGlzLmNvbnRlbnRET007ZWxzZXtmb3IobGV0IHQ9dGhpcy5jaGlsZHJlbi5sZW5ndGgtMTt0Pj0wO3QtLSl7bGV0IHI9dGhpcy5jaGlsZHJlblt0XTtpZih0aGlzLmRvbS5jb250YWlucyhyLmRvbS5wYXJlbnROb2RlKSl7ZS5jb250ZW50RWxlbWVudD1yLmRvbS5wYXJlbnROb2RlO2JyZWFrfX1lLmNvbnRlbnRFbGVtZW50fHwoZS5nZXRDb250ZW50PSgpPT5WZS5lbXB0eSl9cmV0dXJuIGV9bWF0Y2hlc05vZGUoZSx0LHIpe3JldHVybiB0aGlzLmRpcnR5PT1JbiYmZS5lcSh0aGlzLm5vZGUpJiZIYWUodCx0aGlzLm91dGVyRGVjbykmJnIuZXEodGhpcy5pbm5lckRlY28pfWdldCBzaXplKCl7cmV0dXJuIHRoaXMubm9kZS5ub2RlU2l6ZX1nZXQgYm9yZGVyKCl7cmV0dXJuIHRoaXMubm9kZS5pc0xlYWY/MDoxfXVwZGF0ZUNoaWxkcmVuKGUsdCl7bGV0IHI9dGhpcy5ub2RlLmlubGluZUNvbnRlbnQsaT10LG89ZS5jb21wb3Npbmc/dGhpcy5sb2NhbENvbXBvc2l0aW9uSW5mbyhlLHQpOm51bGwsbj1vJiZvLnBvcz4tMT9vOm51bGwsbD1vJiZvLnBvczwwLGQ9bmV3IElLZSh0aGlzLG4mJm4ubm9kZSxlKTtLRGEodGhpcy5ub2RlLHRoaXMuaW5uZXJEZWNvLChjLHAsdSk9PntjLnNwZWMubWFya3M/ZC5zeW5jVG9NYXJrcyhjLnNwZWMubWFya3MscixlLHApOmMudHlwZS5zaWRlPj0wJiYhdSYmZC5zeW5jVG9NYXJrcyhwPT10aGlzLm5vZGUuY2hpbGRDb3VudD8kYS5ub25lOnRoaXMubm9kZS5jaGlsZChwKS5tYXJrcyxyLGUscCksZC5wbGFjZVdpZGdldChjLGUsaSl9LChjLHAsdSxtKT0+e2Quc3luY1RvTWFya3MoYy5tYXJrcyxyLGUsbSk7bGV0IHY7ZC5maW5kTm9kZU1hdGNoKGMscCx1LG0pfHxsJiZlLnN0YXRlLnNlbGVjdGlvbi5mcm9tPmkmJmUuc3RhdGUuc2VsZWN0aW9uLnRvPGkrYy5ub2RlU2l6ZSYmKHY9ZC5maW5kSW5kZXhXaXRoQ2hpbGQoby5ub2RlKSk+LTEmJmQudXBkYXRlTm9kZUF0KGMscCx1LHYsZSl8fGQudXBkYXRlTmV4dE5vZGUoYyxwLHUsZSxtLGkpfHxkLmFkZE5vZGUoYyxwLHUsZSxpKSxpKz1jLm5vZGVTaXplfSksZC5zeW5jVG9NYXJrcyhbXSxyLGUsMCksdGhpcy5ub2RlLmlzVGV4dGJsb2NrJiZkLmFkZFRleHRibG9ja0hhY2tzKCksZC5kZXN0cm95UmVzdCgpLChkLmNoYW5nZWR8fHRoaXMuZGlydHk9PVpmKSYmKG4mJnRoaXMucHJvdGVjdExvY2FsQ29tcG9zaXRpb24oZSxuKSxEb2EodGhpcy5jb250ZW50RE9NLHRoaXMuY2hpbGRyZW4sZSksU20mJlpEYSh0aGlzLmRvbSkpfWxvY2FsQ29tcG9zaXRpb25JbmZvKGUsdCl7bGV0e2Zyb206cix0bzppfT1lLnN0YXRlLnNlbGVjdGlvbjtpZighKGUuc3RhdGUuc2VsZWN0aW9uIGluc3RhbmNlb2YgUnQpfHxyPHR8fGk+dCt0aGlzLm5vZGUuY29udGVudC5zaXplKXJldHVybiBudWxsO2xldCBvPWUuaW5wdXQuY29tcG9zaXRpb25Ob2RlO2lmKCFvfHwhdGhpcy5kb20uY29udGFpbnMoby5wYXJlbnROb2RlKSlyZXR1cm4gbnVsbDtpZih0aGlzLm5vZGUuaW5saW5lQ29udGVudCl7bGV0IG49by5ub2RlVmFsdWUsbD1YRGEodGhpcy5ub2RlLmNvbnRlbnQsbixyLXQsaS10KTtyZXR1cm4gbDwwP251bGw6e25vZGU6byxwb3M6bCx0ZXh0Om59fWVsc2UgcmV0dXJue25vZGU6byxwb3M6LTEsdGV4dDoiIn19cHJvdGVjdExvY2FsQ29tcG9zaXRpb24oZSx7bm9kZTp0LHBvczpyLHRleHQ6aX0pe2lmKHRoaXMuZ2V0RGVzYyh0KSlyZXR1cm47bGV0IG89dDtmb3IoO28ucGFyZW50Tm9kZSE9dGhpcy5jb250ZW50RE9NO289by5wYXJlbnROb2RlKXtmb3IoO28ucHJldmlvdXNTaWJsaW5nOylvLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoby5wcmV2aW91c1NpYmxpbmcpO2Zvcig7by5uZXh0U2libGluZzspby5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG8ubmV4dFNpYmxpbmcpO28ucG1WaWV3RGVzYyYmKG8ucG1WaWV3RGVzYz12b2lkIDApfWxldCBuPW5ldyBBS2UodGhpcyxvLHQsaSk7ZS5pbnB1dC5jb21wb3NpdGlvbk5vZGVzLnB1c2gobiksdGhpcy5jaGlsZHJlbj1OS2UodGhpcy5jaGlsZHJlbixyLHIraS5sZW5ndGgsZSxuKX11cGRhdGUoZSx0LHIsaSl7cmV0dXJuIHRoaXMuZGlydHk9PUsyfHwhZS5zYW1lTWFya3VwKHRoaXMubm9kZSk/ITE6KHRoaXMudXBkYXRlSW5uZXIoZSx0LHIsaSksITApfXVwZGF0ZUlubmVyKGUsdCxyLGkpe3RoaXMudXBkYXRlT3V0ZXJEZWNvKHQpLHRoaXMubm9kZT1lLHRoaXMuaW5uZXJEZWNvPXIsdGhpcy5jb250ZW50RE9NJiZ0aGlzLnVwZGF0ZUNoaWxkcmVuKGksdGhpcy5wb3NBdFN0YXJ0KSx0aGlzLmRpcnR5PUlufXVwZGF0ZU91dGVyRGVjbyhlKXtpZihIYWUoZSx0aGlzLm91dGVyRGVjbykpcmV0dXJuO2xldCB0PXRoaXMubm9kZURPTS5ub2RlVHlwZSE9MSxyPXRoaXMuZG9tO3RoaXMuZG9tPUFvYSh0aGlzLmRvbSx0aGlzLm5vZGVET00sUEtlKHRoaXMub3V0ZXJEZWNvLHRoaXMubm9kZSx0KSxQS2UoZSx0aGlzLm5vZGUsdCkpLHRoaXMuZG9tIT1yJiYoci5wbVZpZXdEZXNjPXZvaWQgMCx0aGlzLmRvbS5wbVZpZXdEZXNjPXRoaXMpLHRoaXMub3V0ZXJEZWNvPWV9c2VsZWN0Tm9kZSgpe3RoaXMubm9kZURPTS5ub2RlVHlwZT09MSYmKHRoaXMubm9kZURPTS5jbGFzc0xpc3QuYWRkKCJQcm9zZU1pcnJvci1zZWxlY3RlZG5vZGUiKSwodGhpcy5jb250ZW50RE9NfHwhdGhpcy5ub2RlLnR5cGUuc3BlYy5kcmFnZ2FibGUpJiYodGhpcy5ub2RlRE9NLmRyYWdnYWJsZT0hMCkpfWRlc2VsZWN0Tm9kZSgpe3RoaXMubm9kZURPTS5ub2RlVHlwZT09MSYmKHRoaXMubm9kZURPTS5jbGFzc0xpc3QucmVtb3ZlKCJQcm9zZU1pcnJvci1zZWxlY3RlZG5vZGUiKSwodGhpcy5jb250ZW50RE9NfHwhdGhpcy5ub2RlLnR5cGUuc3BlYy5kcmFnZ2FibGUpJiZ0aGlzLm5vZGVET00ucmVtb3ZlQXR0cmlidXRlKCJkcmFnZ2FibGUiKSl9Z2V0IGRvbUF0b20oKXtyZXR1cm4gdGhpcy5ub2RlLmlzQXRvbX19O3MoJG9hLCJkb2NWaWV3RGVzYyIpO0ZhZT1jbGFzcyBhIGV4dGVuZHMgdzR7c3RhdGlje3ModGhpcywiVGV4dFZpZXdEZXNjIil9Y29uc3RydWN0b3IoZSx0LHIsaSxvLG4sbCl7c3VwZXIoZSx0LHIsaSxvLG51bGwsbixsLDApfXBhcnNlUnVsZSgpe2xldCBlPXRoaXMubm9kZURPTS5wYXJlbnROb2RlO2Zvcig7ZSYmZSE9dGhpcy5kb20mJiFlLnBtSXNEZWNvOyllPWUucGFyZW50Tm9kZTtyZXR1cm57c2tpcDplfHwhMH19dXBkYXRlKGUsdCxyLGkpe3JldHVybiB0aGlzLmRpcnR5PT1LMnx8dGhpcy5kaXJ0eSE9SW4mJiF0aGlzLmluUGFyZW50KCl8fCFlLnNhbWVNYXJrdXAodGhpcy5ub2RlKT8hMToodGhpcy51cGRhdGVPdXRlckRlY28odCksKHRoaXMuZGlydHkhPUlufHxlLnRleHQhPXRoaXMubm9kZS50ZXh0KSYmZS50ZXh0IT10aGlzLm5vZGVET00ubm9kZVZhbHVlJiYodGhpcy5ub2RlRE9NLm5vZGVWYWx1ZT1lLnRleHQsaS50cmFja1dyaXRlcz09dGhpcy5ub2RlRE9NJiYoaS50cmFja1dyaXRlcz1udWxsKSksdGhpcy5ub2RlPWUsdGhpcy5kaXJ0eT1JbiwhMCl9aW5QYXJlbnQoKXtsZXQgZT10aGlzLnBhcmVudC5jb250ZW50RE9NO2ZvcihsZXQgdD10aGlzLm5vZGVET007dDt0PXQucGFyZW50Tm9kZSlpZih0PT1lKXJldHVybiEwO3JldHVybiExfWRvbUZyb21Qb3MoZSl7cmV0dXJue25vZGU6dGhpcy5ub2RlRE9NLG9mZnNldDplfX1sb2NhbFBvc0Zyb21ET00oZSx0LHIpe3JldHVybiBlPT10aGlzLm5vZGVET00/dGhpcy5wb3NBdFN0YXJ0K01hdGgubWluKHQsdGhpcy5ub2RlLnRleHQubGVuZ3RoKTpzdXBlci5sb2NhbFBvc0Zyb21ET00oZSx0LHIpfWlnbm9yZU11dGF0aW9uKGUpe3JldHVybiBlLnR5cGUhPSJjaGFyYWN0ZXJEYXRhIiYmZS50eXBlIT0ic2VsZWN0aW9uIn1zbGljZShlLHQscil7bGV0IGk9dGhpcy5ub2RlLmN1dChlLHQpLG89ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoaS50ZXh0KTtyZXR1cm4gbmV3IGEodGhpcy5wYXJlbnQsaSx0aGlzLm91dGVyRGVjbyx0aGlzLmlubmVyRGVjbyxvLG8scil9bWFya0RpcnR5KGUsdCl7c3VwZXIubWFya0RpcnR5KGUsdCksdGhpcy5kb20hPXRoaXMubm9kZURPTSYmKGU9PTB8fHQ9PXRoaXMubm9kZURPTS5ub2RlVmFsdWUubGVuZ3RoKSYmKHRoaXMuZGlydHk9SzIpfWdldCBkb21BdG9tKCl7cmV0dXJuITF9aXNUZXh0KGUpe3JldHVybiB0aGlzLm5vZGUudGV4dD09ZX19LEJhZT1jbGFzcyBleHRlbmRzIFhme3N0YXRpY3tzKHRoaXMsIlRyYWlsaW5nSGFja1ZpZXdEZXNjIil9cGFyc2VSdWxlKCl7cmV0dXJue2lnbm9yZTohMH19bWF0Y2hlc0hhY2soZSl7cmV0dXJuIHRoaXMuZGlydHk9PUluJiZ0aGlzLmRvbS5ub2RlTmFtZT09ZX1nZXQgZG9tQXRvbSgpe3JldHVybiEwfWdldCBpZ25vcmVGb3JDb29yZHMoKXtyZXR1cm4gdGhpcy5kb20ubm9kZU5hbWU9PSJJTUcifX0sRUtlPWNsYXNzIGV4dGVuZHMgdzR7c3RhdGlje3ModGhpcywiQ3VzdG9tTm9kZVZpZXdEZXNjIil9Y29uc3RydWN0b3IoZSx0LHIsaSxvLG4sbCxkLGMscCl7c3VwZXIoZSx0LHIsaSxvLG4sbCxjLHApLHRoaXMuc3BlYz1kfXVwZGF0ZShlLHQscixpKXtpZih0aGlzLmRpcnR5PT1LMilyZXR1cm4hMTtpZih0aGlzLnNwZWMudXBkYXRlJiYodGhpcy5ub2RlLnR5cGU9PWUudHlwZXx8dGhpcy5zcGVjLm11bHRpVHlwZSkpe2xldCBvPXRoaXMuc3BlYy51cGRhdGUoZSx0LHIpO3JldHVybiBvJiZ0aGlzLnVwZGF0ZUlubmVyKGUsdCxyLGkpLG99ZWxzZSByZXR1cm4hdGhpcy5jb250ZW50RE9NJiYhZS5pc0xlYWY/ITE6c3VwZXIudXBkYXRlKGUsdCxyLGkpfXNlbGVjdE5vZGUoKXt0aGlzLnNwZWMuc2VsZWN0Tm9kZT90aGlzLnNwZWMuc2VsZWN0Tm9kZSgpOnN1cGVyLnNlbGVjdE5vZGUoKX1kZXNlbGVjdE5vZGUoKXt0aGlzLnNwZWMuZGVzZWxlY3ROb2RlP3RoaXMuc3BlYy5kZXNlbGVjdE5vZGUoKTpzdXBlci5kZXNlbGVjdE5vZGUoKX1zZXRTZWxlY3Rpb24oZSx0LHIsaSl7dGhpcy5zcGVjLnNldFNlbGVjdGlvbj90aGlzLnNwZWMuc2V0U2VsZWN0aW9uKGUsdCxyLnJvb3QpOnN1cGVyLnNldFNlbGVjdGlvbihlLHQscixpKX1kZXN0cm95KCl7dGhpcy5zcGVjLmRlc3Ryb3kmJnRoaXMuc3BlYy5kZXN0cm95KCksc3VwZXIuZGVzdHJveSgpfXN0b3BFdmVudChlKXtyZXR1cm4gdGhpcy5zcGVjLnN0b3BFdmVudD90aGlzLnNwZWMuc3RvcEV2ZW50KGUpOiExfWlnbm9yZU11dGF0aW9uKGUpe3JldHVybiB0aGlzLnNwZWMuaWdub3JlTXV0YXRpb24/dGhpcy5zcGVjLmlnbm9yZU11dGF0aW9uKGUpOnN1cGVyLmlnbm9yZU11dGF0aW9uKGUpfX07cyhEb2EsInJlbmRlckRlc2NzIik7YVc9cyhmdW5jdGlvbihhKXthJiYodGhpcy5ub2RlTmFtZT1hKX0sIk91dGVyRGVjb0xldmVsIik7YVcucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobnVsbCk7UWY9W25ldyBhV107cyhQS2UsImNvbXB1dGVPdXRlckRlY28iKTtzKEFvYSwicGF0Y2hPdXRlckRlY28iKTtzKFdEYSwicGF0Y2hBdHRyaWJ1dGVzIik7cyhFb2EsImFwcGx5T3V0ZXJEZWNvIik7cyhIYWUsInNhbWVPdXRlckRlY28iKTtzKFBvYSwicm0iKTtJS2U9Y2xhc3N7c3RhdGlje3ModGhpcywiVmlld1RyZWVVcGRhdGVyIil9Y29uc3RydWN0b3IoZSx0LHIpe3RoaXMubG9jaz10LHRoaXMudmlldz1yLHRoaXMuaW5kZXg9MCx0aGlzLnN0YWNrPVtdLHRoaXMuY2hhbmdlZD0hMSx0aGlzLnRvcD1lLHRoaXMucHJlTWF0Y2g9R0RhKGUubm9kZS5jb250ZW50LGUpfWRlc3Ryb3lCZXR3ZWVuKGUsdCl7aWYoZSE9dCl7Zm9yKGxldCByPWU7cjx0O3IrKyl0aGlzLnRvcC5jaGlsZHJlbltyXS5kZXN0cm95KCk7dGhpcy50b3AuY2hpbGRyZW4uc3BsaWNlKGUsdC1lKSx0aGlzLmNoYW5nZWQ9ITB9fWRlc3Ryb3lSZXN0KCl7dGhpcy5kZXN0cm95QmV0d2Vlbih0aGlzLmluZGV4LHRoaXMudG9wLmNoaWxkcmVuLmxlbmd0aCl9c3luY1RvTWFya3MoZSx0LHIsaSl7bGV0IG89MCxuPXRoaXMuc3RhY2subGVuZ3RoPj4xLGw9TWF0aC5taW4obixlLmxlbmd0aCk7Zm9yKDtvPGwmJihvPT1uLTE/dGhpcy50b3A6dGhpcy5zdGFja1tvKzE8PDFdKS5tYXRjaGVzTWFyayhlW29dKSYmZVtvXS50eXBlLnNwZWMuc3Bhbm5pbmchPT0hMTspbysrO2Zvcig7bzxuOyl0aGlzLmRlc3Ryb3lSZXN0KCksdGhpcy50b3AuZGlydHk9SW4sdGhpcy5pbmRleD10aGlzLnN0YWNrLnBvcCgpLHRoaXMudG9wPXRoaXMuc3RhY2sucG9wKCksbi0tO2Zvcig7bjxlLmxlbmd0aDspe3RoaXMuc3RhY2sucHVzaCh0aGlzLnRvcCx0aGlzLmluZGV4KzEpO2xldCBkPS0xLGM9dGhpcy50b3AuY2hpbGRyZW4ubGVuZ3RoO2k8dGhpcy5wcmVNYXRjaC5pbmRleCYmKGM9TWF0aC5taW4odGhpcy5pbmRleCszLGMpKTtmb3IobGV0IHA9dGhpcy5pbmRleDtwPGM7cCsrKXtsZXQgdT10aGlzLnRvcC5jaGlsZHJlbltwXTtpZih1Lm1hdGNoZXNNYXJrKGVbbl0pJiYhdGhpcy5pc0xvY2tlZCh1LmRvbSkpe2Q9cDticmVha319aWYoZD4tMSlkPnRoaXMuaW5kZXgmJih0aGlzLmNoYW5nZWQ9ITAsdGhpcy5kZXN0cm95QmV0d2Vlbih0aGlzLmluZGV4LGQpKSx0aGlzLnRvcD10aGlzLnRvcC5jaGlsZHJlblt0aGlzLmluZGV4XTtlbHNle2xldCBwPUNtLmNyZWF0ZSh0aGlzLnRvcCxlW25dLHQscik7dGhpcy50b3AuY2hpbGRyZW4uc3BsaWNlKHRoaXMuaW5kZXgsMCxwKSx0aGlzLnRvcD1wLHRoaXMuY2hhbmdlZD0hMH10aGlzLmluZGV4PTAsbisrfX1maW5kTm9kZU1hdGNoKGUsdCxyLGkpe2xldCBvPS0xLG47aWYoaT49dGhpcy5wcmVNYXRjaC5pbmRleCYmKG49dGhpcy5wcmVNYXRjaC5tYXRjaGVzW2ktdGhpcy5wcmVNYXRjaC5pbmRleF0pLnBhcmVudD09dGhpcy50b3AmJm4ubWF0Y2hlc05vZGUoZSx0LHIpKW89dGhpcy50b3AuY2hpbGRyZW4uaW5kZXhPZihuLHRoaXMuaW5kZXgpO2Vsc2UgZm9yKGxldCBsPXRoaXMuaW5kZXgsZD1NYXRoLm1pbih0aGlzLnRvcC5jaGlsZHJlbi5sZW5ndGgsbCs1KTtsPGQ7bCsrKXtsZXQgYz10aGlzLnRvcC5jaGlsZHJlbltsXTtpZihjLm1hdGNoZXNOb2RlKGUsdCxyKSYmIXRoaXMucHJlTWF0Y2gubWF0Y2hlZC5oYXMoYykpe289bDticmVha319cmV0dXJuIG88MD8hMToodGhpcy5kZXN0cm95QmV0d2Vlbih0aGlzLmluZGV4LG8pLHRoaXMuaW5kZXgrKywhMCl9dXBkYXRlTm9kZUF0KGUsdCxyLGksbyl7bGV0IG49dGhpcy50b3AuY2hpbGRyZW5baV07cmV0dXJuIG4uZGlydHk9PUsyJiZuLmRvbT09bi5jb250ZW50RE9NJiYobi5kaXJ0eT1aZiksbi51cGRhdGUoZSx0LHIsbyk/KHRoaXMuZGVzdHJveUJldHdlZW4odGhpcy5pbmRleCxpKSx0aGlzLmluZGV4KyssITApOiExfWZpbmRJbmRleFdpdGhDaGlsZChlKXtmb3IoOzspe2xldCB0PWUucGFyZW50Tm9kZTtpZighdClyZXR1cm4tMTtpZih0PT10aGlzLnRvcC5jb250ZW50RE9NKXtsZXQgcj1lLnBtVmlld0Rlc2M7aWYocil7Zm9yKGxldCBpPXRoaXMuaW5kZXg7aTx0aGlzLnRvcC5jaGlsZHJlbi5sZW5ndGg7aSsrKWlmKHRoaXMudG9wLmNoaWxkcmVuW2ldPT1yKXJldHVybiBpfXJldHVybi0xfWU9dH19dXBkYXRlTmV4dE5vZGUoZSx0LHIsaSxvLG4pe2ZvcihsZXQgbD10aGlzLmluZGV4O2w8dGhpcy50b3AuY2hpbGRyZW4ubGVuZ3RoO2wrKyl7bGV0IGQ9dGhpcy50b3AuY2hpbGRyZW5bbF07aWYoZCBpbnN0YW5jZW9mIHc0KXtsZXQgYz10aGlzLnByZU1hdGNoLm1hdGNoZWQuZ2V0KGQpO2lmKGMhPW51bGwmJmMhPW8pcmV0dXJuITE7bGV0IHA9ZC5kb20sdSxtPXRoaXMuaXNMb2NrZWQocCkmJiEoZS5pc1RleHQmJmQubm9kZSYmZC5ub2RlLmlzVGV4dCYmZC5ub2RlRE9NLm5vZGVWYWx1ZT09ZS50ZXh0JiZkLmRpcnR5IT1LMiYmSGFlKHQsZC5vdXRlckRlY28pKTtpZighbSYmZC51cGRhdGUoZSx0LHIsaSkpcmV0dXJuIHRoaXMuZGVzdHJveUJldHdlZW4odGhpcy5pbmRleCxsKSxkLmRvbSE9cCYmKHRoaXMuY2hhbmdlZD0hMCksdGhpcy5pbmRleCsrLCEwO2lmKCFtJiYodT10aGlzLnJlY3JlYXRlV3JhcHBlcihkLGUsdCxyLGksbikpKXJldHVybiB0aGlzLmRlc3Ryb3lCZXR3ZWVuKHRoaXMuaW5kZXgsbCksdGhpcy50b3AuY2hpbGRyZW5bdGhpcy5pbmRleF09dSx1LmNvbnRlbnRET00mJih1LmRpcnR5PVpmLHUudXBkYXRlQ2hpbGRyZW4oaSxuKzEpLHUuZGlydHk9SW4pLHRoaXMuY2hhbmdlZD0hMCx0aGlzLmluZGV4KyssITA7YnJlYWt9fXJldHVybiExfXJlY3JlYXRlV3JhcHBlcihlLHQscixpLG8sbil7aWYoZS5kaXJ0eXx8dC5pc0F0b218fCFlLmNoaWxkcmVuLmxlbmd0aHx8IWUubm9kZS5jb250ZW50LmVxKHQuY29udGVudCl8fCFIYWUocixlLm91dGVyRGVjbyl8fCFpLmVxKGUuaW5uZXJEZWNvKSlyZXR1cm4gbnVsbDtsZXQgbD13NC5jcmVhdGUodGhpcy50b3AsdCxyLGksbyxuKTtpZihsLmNvbnRlbnRET00pe2wuY2hpbGRyZW49ZS5jaGlsZHJlbixlLmNoaWxkcmVuPVtdO2ZvcihsZXQgZCBvZiBsLmNoaWxkcmVuKWQucGFyZW50PWx9cmV0dXJuIGUuZGVzdHJveSgpLGx9YWRkTm9kZShlLHQscixpLG8pe2xldCBuPXc0LmNyZWF0ZSh0aGlzLnRvcCxlLHQscixpLG8pO24uY29udGVudERPTSYmbi51cGRhdGVDaGlsZHJlbihpLG8rMSksdGhpcy50b3AuY2hpbGRyZW4uc3BsaWNlKHRoaXMuaW5kZXgrKywwLG4pLHRoaXMuY2hhbmdlZD0hMH1wbGFjZVdpZGdldChlLHQscil7bGV0IGk9dGhpcy5pbmRleDx0aGlzLnRvcC5jaGlsZHJlbi5sZW5ndGg/dGhpcy50b3AuY2hpbGRyZW5bdGhpcy5pbmRleF06bnVsbDtpZihpJiZpLm1hdGNoZXNXaWRnZXQoZSkmJihlPT1pLndpZGdldHx8IWkud2lkZ2V0LnR5cGUudG9ET00ucGFyZW50Tm9kZSkpdGhpcy5pbmRleCsrO2Vsc2V7bGV0IG89bmV3IE9hZSh0aGlzLnRvcCxlLHQscik7dGhpcy50b3AuY2hpbGRyZW4uc3BsaWNlKHRoaXMuaW5kZXgrKywwLG8pLHRoaXMuY2hhbmdlZD0hMH19YWRkVGV4dGJsb2NrSGFja3MoKXtsZXQgZT10aGlzLnRvcC5jaGlsZHJlblt0aGlzLmluZGV4LTFdLHQ9dGhpcy50b3A7Zm9yKDtlIGluc3RhbmNlb2YgQ207KXQ9ZSxlPXQuY2hpbGRyZW5bdC5jaGlsZHJlbi5sZW5ndGgtMV07KCFlfHwhKGUgaW5zdGFuY2VvZiBGYWUpfHwvXG4kLy50ZXN0KGUubm9kZS50ZXh0KXx8dGhpcy52aWV3LnJlcXVpcmVzR2Vja29IYWNrTm9kZSYmL1xzJC8udGVzdChlLm5vZGUudGV4dCkpJiYoKEFpfHxyaSkmJmUmJmUuZG9tLmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIiYmdGhpcy5hZGRIYWNrTm9kZSgiSU1HIix0KSx0aGlzLmFkZEhhY2tOb2RlKCJCUiIsdGhpcy50b3ApKX1hZGRIYWNrTm9kZShlLHQpe2lmKHQ9PXRoaXMudG9wJiZ0aGlzLmluZGV4PHQuY2hpbGRyZW4ubGVuZ3RoJiZ0LmNoaWxkcmVuW3RoaXMuaW5kZXhdLm1hdGNoZXNIYWNrKGUpKXRoaXMuaW5kZXgrKztlbHNle2xldCByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZSk7ZT09IklNRyImJihyLmNsYXNzTmFtZT0iUHJvc2VNaXJyb3Itc2VwYXJhdG9yIixyLmFsdD0iIiksZT09IkJSIiYmKHIuY2xhc3NOYW1lPSJQcm9zZU1pcnJvci10cmFpbGluZ0JyZWFrIik7bGV0IGk9bmV3IEJhZSh0aGlzLnRvcCxbXSxyLG51bGwpO3QhPXRoaXMudG9wP3QuY2hpbGRyZW4ucHVzaChpKTp0LmNoaWxkcmVuLnNwbGljZSh0aGlzLmluZGV4KyssMCxpKSx0aGlzLmNoYW5nZWQ9ITB9fWlzTG9ja2VkKGUpe3JldHVybiB0aGlzLmxvY2smJihlPT10aGlzLmxvY2t8fGUubm9kZVR5cGU9PTEmJmUuY29udGFpbnModGhpcy5sb2NrLnBhcmVudE5vZGUpKX19O3MoR0RhLCJwcmVNYXRjaCIpO3MoWURhLCJjb21wYXJlU2lkZSIpO3MoS0RhLCJpdGVyRGVjbyIpO3MoWkRhLCJpb3NIYWNrcyIpO3MoWERhLCJmaW5kVGV4dEluRnJhZ21lbnQiKTtzKE5LZSwicmVwbGFjZU5vZGVzIik7cyhSS2UsInNlbGVjdGlvbkZyb21ET00iKTtzKElvYSwiZWRpdG9yT3duc1NlbGVjdGlvbiIpO3MoTWMsInNlbGVjdGlvblRvRE9NIik7Tm9hPUFpfHxyaSYmZ29hPDYzO3MoUm9hLCJ0ZW1wb3JhcmlseUVkaXRhYmxlTmVhciIpO3MoT0tlLCJzZXRFZGl0YWJsZSIpO3MoT29hLCJyZXNldEVkaXRhYmxlIik7cyhRRGEsInJlbW92ZUNsYXNzT25TZWxlY3Rpb25DaGFuZ2UiKTtzKEpEYSwic2VsZWN0Q3Vyc29yV3JhcHBlciIpO3MoRm9hLCJzeW5jTm9kZVNlbGVjdGlvbiIpO3MoQm9hLCJjbGVhck5vZGVTZWxlY3Rpb24iKTtzKEZLZSwic2VsZWN0aW9uQmV0d2VlbiIpO3MoSG9hLCJoYXNGb2N1c0FuZFNlbGVjdGlvbiIpO3MocW9hLCJoYXNTZWxlY3Rpb24iKTtzKGVBYSwiYW5jaG9ySW5SaWdodFBsYWNlIik7cyhCS2UsIm1vdmVTZWxlY3Rpb25CbG9jayIpO3MoTTQsImFwcGx5Iik7cyhWb2EsInNlbGVjdEhvcml6b250YWxseSIpO3MocWFlLCJub2RlTGVuIik7cyhyVywiaXNJZ25vcmFibGUiKTtzKF9tLCJza2lwSWdub3JlZE5vZGVzIik7cyh0QWEsInNraXBJZ25vcmVkTm9kZXNCZWZvcmUiKTtzKGFBYSwic2tpcElnbm9yZWROb2Rlc0FmdGVyIik7cyhqb2EsImlzQmxvY2tOb2RlIik7cyhyQWEsInRleHROb2RlQWZ0ZXIiKTtzKHNBYSwidGV4dE5vZGVCZWZvcmUiKTtzKEhLZSwic2V0U2VsRm9jdXMiKTtzKFVvYSwiZmluZERpcmVjdGlvbiIpO3MoV29hLCJzZWxlY3RWZXJ0aWNhbGx5Iik7cyhHb2EsInN0b3BOYXRpdmVIb3Jpem9udGFsRGVsZXRlIik7cyhZb2EsInN3aXRjaEVkaXRhYmxlIik7cyhpQWEsInNhZmFyaURvd25BcnJvd0J1ZyIpO3Mob0FhLCJnZXRNb2RzIik7cyhuQWEsImNhcHR1cmVLZXlEb3duIik7cyhxS2UsInNlcmlhbGl6ZUZvckNsaXBib2FyZCIpO3MoVktlLCJwYXJzZUZyb21DbGlwYm9hcmQiKTtsQWE9L14oYXxhYmJyfGFjcm9ueW18YnxjaXRlfGNvZGV8ZGVsfGVtfGl8aW5zfGtiZHxsYWJlbHxvdXRwdXR8cXxydWJ5fHN8c2FtcHxzcGFufHN0cm9uZ3xzdWJ8c3VwfHRpbWV8dXx0dHx2YXIpJC9pO3MoY0FhLCJub3JtYWxpemVTaWJsaW5ncyIpO3MoS29hLCJ3aXRoV3JhcHBlcnMiKTtzKFpvYSwiYWRkVG9TaWJsaW5nIik7cyhYb2EsImNsb3NlUmlnaHQiKTtzKGpLZSwiY2xvc2VSYW5nZSIpO3MoUW9hLCJjbG9zZVNsaWNlIik7Sm9hPXt0aGVhZDpbInRhYmxlIl0sdGJvZHk6WyJ0YWJsZSJdLHRmb290OlsidGFibGUiXSxjYXB0aW9uOlsidGFibGUiXSxjb2xncm91cDpbInRhYmxlIl0sY29sOlsidGFibGUiLCJjb2xncm91cCJdLHRyOlsidGFibGUiLCJ0Ym9keSJdLHRkOlsidGFibGUiLCJ0Ym9keSIsInRyIl0sdGg6WyJ0YWJsZSIsInRib2R5IiwidHIiXX0sZW5hPW51bGw7cyh0bmEsImRldGFjaGVkRG9jIik7VUtlPW51bGw7cyhkQWEsIm1heWJlV3JhcFRydXN0ZWQiKTtzKHVBYSwicmVhZEhUTUwiKTtzKHBBYSwicmVzdG9yZVJlcGxhY2VkU3BhY2VzIik7cyhmQWEsImFkZENvbnRleHQiKTtHaT17fSxZaT17fSxoQWE9e3RvdWNoc3RhcnQ6ITAsdG91Y2htb3ZlOiEwfSxXS2U9Y2xhc3N7c3RhdGlje3ModGhpcywiSW5wdXRTdGF0ZSIpfWNvbnN0cnVjdG9yKCl7dGhpcy5zaGlmdEtleT0hMSx0aGlzLm1vdXNlRG93bj1udWxsLHRoaXMubGFzdEtleUNvZGU9bnVsbCx0aGlzLmxhc3RLZXlDb2RlVGltZT0wLHRoaXMubGFzdENsaWNrPXt0aW1lOjAseDowLHk6MCx0eXBlOiIiLGJ1dHRvbjowfSx0aGlzLmxhc3RTZWxlY3Rpb25PcmlnaW49bnVsbCx0aGlzLmxhc3RTZWxlY3Rpb25UaW1lPTAsdGhpcy5sYXN0SU9TRW50ZXI9MCx0aGlzLmxhc3RJT1NFbnRlckZhbGxiYWNrVGltZW91dD0tMSx0aGlzLmxhc3RGb2N1cz0wLHRoaXMubGFzdFRvdWNoPTAsdGhpcy5sYXN0Q2hyb21lRGVsZXRlPTAsdGhpcy5jb21wb3Npbmc9ITEsdGhpcy5jb21wb3NpdGlvbk5vZGU9bnVsbCx0aGlzLmNvbXBvc2luZ1RpbWVvdXQ9LTEsdGhpcy5jb21wb3NpdGlvbk5vZGVzPVtdLHRoaXMuY29tcG9zaXRpb25FbmRlZEF0PS0yZTgsdGhpcy5jb21wb3NpdGlvbklEPTEsdGhpcy5iYWRTYWZhcmlDb21wb3NpdGlvbj0hMSx0aGlzLmNvbXBvc2l0aW9uUGVuZGluZ0NoYW5nZXM9MCx0aGlzLmRvbUNoYW5nZUNvdW50PTAsdGhpcy5ldmVudEhhbmRsZXJzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5oaWRlU2VsZWN0aW9uR3VhcmQ9bnVsbH19O3MobUFhLCJpbml0SW5wdXQiKTtzKGs0LCJzZXRTZWxlY3Rpb25PcmlnaW4iKTtzKGdBYSwiZGVzdHJveUlucHV0Iik7cyhHS2UsImVuc3VyZUxpc3RlbmVycyIpO3MoWUtlLCJydW5DdXN0b21IYW5kbGVyIik7cyhiQWEsImV2ZW50QmVsb25nc1RvVmlldyIpO3ModkFhLCJkaXNwYXRjaEV2ZW50IiksWWkua2V5ZG93bj0oYSxlKT0+e2xldCB0PWU7aWYoYS5pbnB1dC5zaGlmdEtleT10LmtleUNvZGU9PTE2fHx0LnNoaWZ0S2V5LCFybmEoYSx0KSYmKGEuaW5wdXQubGFzdEtleUNvZGU9dC5rZXlDb2RlLGEuaW5wdXQubGFzdEtleUNvZGVUaW1lPURhdGUubm93KCksISh5YyYmcmkmJnQua2V5Q29kZT09MTMpKSlpZih0LmtleUNvZGUhPTIyOSYmYS5kb21PYnNlcnZlci5mb3JjZUZsdXNoKCksU20mJnQua2V5Q29kZT09MTMmJiF0LmN0cmxLZXkmJiF0LmFsdEtleSYmIXQubWV0YUtleSl7bGV0IHI9RGF0ZS5ub3coKTthLmlucHV0Lmxhc3RJT1NFbnRlcj1yLGEuaW5wdXQubGFzdElPU0VudGVyRmFsbGJhY2tUaW1lb3V0PXNldFRpbWVvdXQoKCk9PnthLmlucHV0Lmxhc3RJT1NFbnRlcj09ciYmKGEuc29tZVByb3AoImhhbmRsZUtleURvd24iLGk9PmkoYSxLZigxMywiRW50ZXIiKSkpLGEuaW5wdXQubGFzdElPU0VudGVyPTApfSwyMDApfWVsc2UgYS5zb21lUHJvcCgiaGFuZGxlS2V5RG93biIscj0+cihhLHQpKXx8bkFhKGEsdCk/dC5wcmV2ZW50RGVmYXVsdCgpOms0KGEsImtleSIpfSxZaS5rZXl1cD0oYSxlKT0+e2Uua2V5Q29kZT09MTYmJihhLmlucHV0LnNoaWZ0S2V5PSExKX0sWWkua2V5cHJlc3M9KGEsZSk9PntsZXQgdD1lO2lmKHJuYShhLHQpfHwhdC5jaGFyQ29kZXx8dC5jdHJsS2V5JiYhdC5hbHRLZXl8fFBuJiZ0Lm1ldGFLZXkpcmV0dXJuO2lmKGEuc29tZVByb3AoImhhbmRsZUtleVByZXNzIixpPT5pKGEsdCkpKXt0LnByZXZlbnREZWZhdWx0KCk7cmV0dXJufWxldCByPWEuc3RhdGUuc2VsZWN0aW9uO2lmKCEociBpbnN0YW5jZW9mIFJ0KXx8IXIuJGZyb20uc2FtZVBhcmVudChyLiR0bykpe2xldCBpPVN0cmluZy5mcm9tQ2hhckNvZGUodC5jaGFyQ29kZSksbz1zKCgpPT5hLnN0YXRlLnRyLmluc2VydFRleHQoaSkuc2Nyb2xsSW50b1ZpZXcoKSwiZGVmbHQiKTshL1tcclxuXS8udGVzdChpKSYmIWEuc29tZVByb3AoImhhbmRsZVRleHRJbnB1dCIsbj0+bihhLHIuJGZyb20ucG9zLHIuJHRvLnBvcyxpLG8pKSYmYS5kaXNwYXRjaChvKCkpLHQucHJldmVudERlZmF1bHQoKX19O3MoVmFlLCJldmVudENvb3JkcyIpO3MoeEFhLCJpc05lYXIiKTtzKEtLZSwicnVuSGFuZGxlck9uQ29udGV4dCIpO3MoVG0sInVwZGF0ZVNlbGVjdGlvbiIpO3MoeUFhLCJzZWxlY3RDbGlja2VkTGVhZiIpO3Mod0FhLCJzZWxlY3RDbGlja2VkTm9kZSIpO3MoTUFhLCJoYW5kbGVTaW5nbGVDbGljayIpO3Moa0FhLCJoYW5kbGVEb3VibGVDbGljayIpO3MoU0FhLCJoYW5kbGVUcmlwbGVDbGljayIpO3MoekFhLCJkZWZhdWx0VHJpcGxlQ2xpY2siKTtzKFpLZSwiZm9yY2VET01GbHVzaCIpO2FuYT1Qbj8ibWV0YUtleSI6ImN0cmxLZXkiO0dpLm1vdXNlZG93bj0oYSxlKT0+e2xldCB0PWU7YS5pbnB1dC5zaGlmdEtleT10LnNoaWZ0S2V5O2xldCByPVpLZShhKSxpPURhdGUubm93KCksbz0ic2luZ2xlQ2xpY2siO2ktYS5pbnB1dC5sYXN0Q2xpY2sudGltZTw1MDAmJnhBYSh0LGEuaW5wdXQubGFzdENsaWNrKSYmIXRbYW5hXSYmYS5pbnB1dC5sYXN0Q2xpY2suYnV0dG9uPT10LmJ1dHRvbiYmKGEuaW5wdXQubGFzdENsaWNrLnR5cGU9PSJzaW5nbGVDbGljayI/bz0iZG91YmxlQ2xpY2siOmEuaW5wdXQubGFzdENsaWNrLnR5cGU9PSJkb3VibGVDbGljayImJihvPSJ0cmlwbGVDbGljayIpKSxhLmlucHV0Lmxhc3RDbGljaz17dGltZTppLHg6dC5jbGllbnRYLHk6dC5jbGllbnRZLHR5cGU6byxidXR0b246dC5idXR0b259O2xldCBuPWEucG9zQXRDb29yZHMoVmFlKHQpKTtuJiYobz09InNpbmdsZUNsaWNrIj8oYS5pbnB1dC5tb3VzZURvd24mJmEuaW5wdXQubW91c2VEb3duLmRvbmUoKSxhLmlucHV0Lm1vdXNlRG93bj1uZXcgWEtlKGEsbix0LCEhcikpOihvPT0iZG91YmxlQ2xpY2siP2tBYTpTQWEpKGEsbi5wb3Msbi5pbnNpZGUsdCk/dC5wcmV2ZW50RGVmYXVsdCgpOms0KGEsInBvaW50ZXIiKSl9O1hLZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJNb3VzZURvd24iKX1jb25zdHJ1Y3RvcihlLHQscixpKXt0aGlzLnZpZXc9ZSx0aGlzLnBvcz10LHRoaXMuZXZlbnQ9cix0aGlzLmZsdXNoZWQ9aSx0aGlzLmRlbGF5ZWRTZWxlY3Rpb25TeW5jPSExLHRoaXMubWlnaHREcmFnPW51bGwsdGhpcy5zdGFydERvYz1lLnN0YXRlLmRvYyx0aGlzLnNlbGVjdE5vZGU9ISFyW2FuYV0sdGhpcy5hbGxvd0RlZmF1bHQ9ci5zaGlmdEtleTtsZXQgbyxuO2lmKHQuaW5zaWRlPi0xKW89ZS5zdGF0ZS5kb2Mubm9kZUF0KHQuaW5zaWRlKSxuPXQuaW5zaWRlO2Vsc2V7bGV0IHA9ZS5zdGF0ZS5kb2MucmVzb2x2ZSh0LnBvcyk7bz1wLnBhcmVudCxuPXAuZGVwdGg/cC5iZWZvcmUoKTowfWxldCBsPWk/bnVsbDpyLnRhcmdldCxkPWw/ZS5kb2NWaWV3Lm5lYXJlc3REZXNjKGwsITApOm51bGw7dGhpcy50YXJnZXQ9ZCYmZC5ub2RlRE9NLm5vZGVUeXBlPT0xP2Qubm9kZURPTTpudWxsO2xldHtzZWxlY3Rpb246Y309ZS5zdGF0ZTtyLmJ1dHRvbj09MCYmKG8udHlwZS5zcGVjLmRyYWdnYWJsZSYmby50eXBlLnNwZWMuc2VsZWN0YWJsZSE9PSExfHxjIGluc3RhbmNlb2YgTXQmJmMuZnJvbTw9biYmYy50bz5uKSYmKHRoaXMubWlnaHREcmFnPXtub2RlOm8scG9zOm4sYWRkQXR0cjohISh0aGlzLnRhcmdldCYmIXRoaXMudGFyZ2V0LmRyYWdnYWJsZSksc2V0VW5lZGl0YWJsZTohISh0aGlzLnRhcmdldCYmRW4mJiF0aGlzLnRhcmdldC5oYXNBdHRyaWJ1dGUoImNvbnRlbnRFZGl0YWJsZSIpKX0pLHRoaXMudGFyZ2V0JiZ0aGlzLm1pZ2h0RHJhZyYmKHRoaXMubWlnaHREcmFnLmFkZEF0dHJ8fHRoaXMubWlnaHREcmFnLnNldFVuZWRpdGFibGUpJiYodGhpcy52aWV3LmRvbU9ic2VydmVyLnN0b3AoKSx0aGlzLm1pZ2h0RHJhZy5hZGRBdHRyJiYodGhpcy50YXJnZXQuZHJhZ2dhYmxlPSEwKSx0aGlzLm1pZ2h0RHJhZy5zZXRVbmVkaXRhYmxlJiZzZXRUaW1lb3V0KCgpPT57dGhpcy52aWV3LmlucHV0Lm1vdXNlRG93bj09dGhpcyYmdGhpcy50YXJnZXQuc2V0QXR0cmlidXRlKCJjb250ZW50RWRpdGFibGUiLCJmYWxzZSIpfSwyMCksdGhpcy52aWV3LmRvbU9ic2VydmVyLnN0YXJ0KCkpLGUucm9vdC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLnVwPXRoaXMudXAuYmluZCh0aGlzKSksZS5yb290LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5tb3ZlPXRoaXMubW92ZS5iaW5kKHRoaXMpKSxrNChlLCJwb2ludGVyIil9ZG9uZSgpe3RoaXMudmlldy5yb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMudXApLHRoaXMudmlldy5yb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5tb3ZlKSx0aGlzLm1pZ2h0RHJhZyYmdGhpcy50YXJnZXQmJih0aGlzLnZpZXcuZG9tT2JzZXJ2ZXIuc3RvcCgpLHRoaXMubWlnaHREcmFnLmFkZEF0dHImJnRoaXMudGFyZ2V0LnJlbW92ZUF0dHJpYnV0ZSgiZHJhZ2dhYmxlIiksdGhpcy5taWdodERyYWcuc2V0VW5lZGl0YWJsZSYmdGhpcy50YXJnZXQucmVtb3ZlQXR0cmlidXRlKCJjb250ZW50RWRpdGFibGUiKSx0aGlzLnZpZXcuZG9tT2JzZXJ2ZXIuc3RhcnQoKSksdGhpcy5kZWxheWVkU2VsZWN0aW9uU3luYyYmc2V0VGltZW91dCgoKT0+TWModGhpcy52aWV3KSksdGhpcy52aWV3LmlucHV0Lm1vdXNlRG93bj1udWxsfXVwKGUpe2lmKHRoaXMuZG9uZSgpLCF0aGlzLnZpZXcuZG9tLmNvbnRhaW5zKGUudGFyZ2V0KSlyZXR1cm47bGV0IHQ9dGhpcy5wb3M7dGhpcy52aWV3LnN0YXRlLmRvYyE9dGhpcy5zdGFydERvYyYmKHQ9dGhpcy52aWV3LnBvc0F0Q29vcmRzKFZhZShlKSkpLHRoaXMudXBkYXRlQWxsb3dEZWZhdWx0KGUpLHRoaXMuYWxsb3dEZWZhdWx0fHwhdD9rNCh0aGlzLnZpZXcsInBvaW50ZXIiKTpNQWEodGhpcy52aWV3LHQucG9zLHQuaW5zaWRlLGUsdGhpcy5zZWxlY3ROb2RlKT9lLnByZXZlbnREZWZhdWx0KCk6ZS5idXR0b249PTAmJih0aGlzLmZsdXNoZWR8fEFpJiZ0aGlzLm1pZ2h0RHJhZyYmIXRoaXMubWlnaHREcmFnLm5vZGUuaXNBdG9tfHxyaSYmIXRoaXMudmlldy5zdGF0ZS5zZWxlY3Rpb24udmlzaWJsZSYmTWF0aC5taW4oTWF0aC5hYnModC5wb3MtdGhpcy52aWV3LnN0YXRlLnNlbGVjdGlvbi5mcm9tKSxNYXRoLmFicyh0LnBvcy10aGlzLnZpZXcuc3RhdGUuc2VsZWN0aW9uLnRvKSk8PTIpPyhUbSh0aGlzLnZpZXcsSXQubmVhcih0aGlzLnZpZXcuc3RhdGUuZG9jLnJlc29sdmUodC5wb3MpKSwicG9pbnRlciIpLGUucHJldmVudERlZmF1bHQoKSk6azQodGhpcy52aWV3LCJwb2ludGVyIil9bW92ZShlKXt0aGlzLnVwZGF0ZUFsbG93RGVmYXVsdChlKSxrNCh0aGlzLnZpZXcsInBvaW50ZXIiKSxlLmJ1dHRvbnM9PTAmJnRoaXMuZG9uZSgpfXVwZGF0ZUFsbG93RGVmYXVsdChlKXshdGhpcy5hbGxvd0RlZmF1bHQmJihNYXRoLmFicyh0aGlzLmV2ZW50LngtZS5jbGllbnRYKT40fHxNYXRoLmFicyh0aGlzLmV2ZW50LnktZS5jbGllbnRZKT40KSYmKHRoaXMuYWxsb3dEZWZhdWx0PSEwKX19O0dpLnRvdWNoc3RhcnQ9YT0+e2EuaW5wdXQubGFzdFRvdWNoPURhdGUubm93KCksWktlKGEpLGs0KGEsInBvaW50ZXIiKX0sR2kudG91Y2htb3ZlPWE9PnthLmlucHV0Lmxhc3RUb3VjaD1EYXRlLm5vdygpLGs0KGEsInBvaW50ZXIiKX0sR2kuY29udGV4dG1lbnU9YT0+WktlKGEpO3Mocm5hLCJpbk9yTmVhckNvbXBvc2l0aW9uIik7Q0FhPXljPzVlMzotMTtZaS5jb21wb3NpdGlvbnN0YXJ0PVlpLmNvbXBvc2l0aW9udXBkYXRlPWE9PntpZighYS5jb21wb3Npbmcpe2EuZG9tT2JzZXJ2ZXIuZmx1c2goKTtsZXR7c3RhdGU6ZX09YSx0PWUuc2VsZWN0aW9uLiR0bztpZihlLnNlbGVjdGlvbiBpbnN0YW5jZW9mIFJ0JiYoZS5zdG9yZWRNYXJrc3x8IXQudGV4dE9mZnNldCYmdC5wYXJlbnRPZmZzZXQmJnQubm9kZUJlZm9yZS5tYXJrcy5zb21lKHI9PnIudHlwZS5zcGVjLmluY2x1c2l2ZT09PSExKXx8cmkmJmJvYSYmX0FhKGEpKSlhLm1hcmtDdXJzb3I9YS5zdGF0ZS5zdG9yZWRNYXJrc3x8dC5tYXJrcygpLHNXKGEsITApLGEubWFya0N1cnNvcj1udWxsO2Vsc2UgaWYoc1coYSwhZS5zZWxlY3Rpb24uZW1wdHkpLEVuJiZlLnNlbGVjdGlvbi5lbXB0eSYmdC5wYXJlbnRPZmZzZXQmJiF0LnRleHRPZmZzZXQmJnQubm9kZUJlZm9yZS5tYXJrcy5sZW5ndGgpe2xldCByPWEuZG9tU2VsZWN0aW9uUmFuZ2UoKTtmb3IobGV0IGk9ci5mb2N1c05vZGUsbz1yLmZvY3VzT2Zmc2V0O2kmJmkubm9kZVR5cGU9PTEmJm8hPTA7KXtsZXQgbj1vPDA/aS5sYXN0Q2hpbGQ6aS5jaGlsZE5vZGVzW28tMV07aWYoIW4pYnJlYWs7aWYobi5ub2RlVHlwZT09Myl7bGV0IGw9YS5kb21TZWxlY3Rpb24oKTtsJiZsLmNvbGxhcHNlKG4sbi5ub2RlVmFsdWUubGVuZ3RoKTticmVha31lbHNlIGk9bixvPS0xfX1hLmlucHV0LmNvbXBvc2luZz0hMH1zbmEoYSxDQWEpfTtzKF9BYSwic2VsZWN0aW9uQmVmb3JlVW5lZGl0YWJsZSIpLFlpLmNvbXBvc2l0aW9uZW5kPShhLGUpPT57YS5jb21wb3NpbmcmJihhLmlucHV0LmNvbXBvc2luZz0hMSxhLmlucHV0LmNvbXBvc2l0aW9uRW5kZWRBdD1lLnRpbWVTdGFtcCxhLmlucHV0LmNvbXBvc2l0aW9uUGVuZGluZ0NoYW5nZXM9YS5kb21PYnNlcnZlci5wZW5kaW5nUmVjb3JkcygpLmxlbmd0aD9hLmlucHV0LmNvbXBvc2l0aW9uSUQ6MCxhLmlucHV0LmNvbXBvc2l0aW9uTm9kZT1udWxsLGEuaW5wdXQuYmFkU2FmYXJpQ29tcG9zaXRpb24/YS5kb21PYnNlcnZlci5mb3JjZUZsdXNoKCk6YS5pbnB1dC5jb21wb3NpdGlvblBlbmRpbmdDaGFuZ2VzJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5hLmRvbU9ic2VydmVyLmZsdXNoKCkpLGEuaW5wdXQuY29tcG9zaXRpb25JRCsrLHNuYShhLDIwKSl9O3Moc25hLCJzY2hlZHVsZUNvbXBvc2VFbmQiKTtzKGluYSwiY2xlYXJDb21wb3NpdGlvbiIpO3MoVEFhLCJmaW5kQ29tcG9zaXRpb25Ob2RlIik7cyhMQWEsInRpbWVzdGFtcEZyb21DdXN0b21FdmVudCIpO3Moc1csImVuZENvbXBvc2l0aW9uIik7cygkQWEsImNhcHR1cmVDb3B5Iik7aVc9QW8mJng0PDE1fHxTbSYmJERhPDYwNDtHaS5jb3B5PVlpLmN1dD0oYSxlKT0+e2xldCB0PWUscj1hLnN0YXRlLnNlbGVjdGlvbixpPXQudHlwZT09ImN1dCI7aWYoci5lbXB0eSlyZXR1cm47bGV0IG89aVc/bnVsbDp0LmNsaXBib2FyZERhdGEsbj1yLmNvbnRlbnQoKSx7ZG9tOmwsdGV4dDpkfT1xS2UoYSxuKTtvPyh0LnByZXZlbnREZWZhdWx0KCksby5jbGVhckRhdGEoKSxvLnNldERhdGEoInRleHQvaHRtbCIsbC5pbm5lckhUTUwpLG8uc2V0RGF0YSgidGV4dC9wbGFpbiIsZCkpOiRBYShhLGwpLGkmJmEuZGlzcGF0Y2goYS5zdGF0ZS50ci5kZWxldGVTZWxlY3Rpb24oKS5zY3JvbGxJbnRvVmlldygpLnNldE1ldGEoInVpRXZlbnQiLCJjdXQiKSl9O3MoREFhLCJzbGljZVNpbmdsZU5vZGUiKTtzKEFBYSwiY2FwdHVyZVBhc3RlIik7cyhvVywiZG9QYXN0ZSIpO3Mob25hLCJnZXRUZXh0IiksWWkucGFzdGU9KGEsZSk9PntsZXQgdD1lO2lmKGEuY29tcG9zaW5nJiYheWMpcmV0dXJuO2xldCByPWlXP251bGw6dC5jbGlwYm9hcmREYXRhLGk9YS5pbnB1dC5zaGlmdEtleSYmYS5pbnB1dC5sYXN0S2V5Q29kZSE9NDU7ciYmb1coYSxvbmEociksci5nZXREYXRhKCJ0ZXh0L2h0bWwiKSxpLHQpP3QucHJldmVudERlZmF1bHQoKTpBQWEoYSx0KX07amFlPWNsYXNze3N0YXRpY3tzKHRoaXMsIkRyYWdnaW5nIil9Y29uc3RydWN0b3IoZSx0LHIpe3RoaXMuc2xpY2U9ZSx0aGlzLm1vdmU9dCx0aGlzLm5vZGU9cn19LEVBYT1Qbj8iYWx0S2V5IjoiY3RybEtleSI7cyhubmEsImRyYWdNb3ZlcyIpLEdpLmRyYWdzdGFydD0oYSxlKT0+e2xldCB0PWUscj1hLmlucHV0Lm1vdXNlRG93bjtpZihyJiZyLmRvbmUoKSwhdC5kYXRhVHJhbnNmZXIpcmV0dXJuO2xldCBpPWEuc3RhdGUuc2VsZWN0aW9uLG89aS5lbXB0eT9udWxsOmEucG9zQXRDb29yZHMoVmFlKHQpKSxuO2lmKCEobyYmby5wb3M+PWkuZnJvbSYmby5wb3M8PShpIGluc3RhbmNlb2YgTXQ/aS50by0xOmkudG8pKSl7aWYociYmci5taWdodERyYWcpbj1NdC5jcmVhdGUoYS5zdGF0ZS5kb2Msci5taWdodERyYWcucG9zKTtlbHNlIGlmKHQudGFyZ2V0JiZ0LnRhcmdldC5ub2RlVHlwZT09MSl7bGV0IHU9YS5kb2NWaWV3Lm5lYXJlc3REZXNjKHQudGFyZ2V0LCEwKTt1JiZ1Lm5vZGUudHlwZS5zcGVjLmRyYWdnYWJsZSYmdSE9YS5kb2NWaWV3JiYobj1NdC5jcmVhdGUoYS5zdGF0ZS5kb2MsdS5wb3NCZWZvcmUpKX19bGV0IGw9KG58fGEuc3RhdGUuc2VsZWN0aW9uKS5jb250ZW50KCkse2RvbTpkLHRleHQ6YyxzbGljZTpwfT1xS2UoYSxsKTsoIXQuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aHx8IXJpfHxnb2E+MTIwKSYmdC5kYXRhVHJhbnNmZXIuY2xlYXJEYXRhKCksdC5kYXRhVHJhbnNmZXIuc2V0RGF0YShpVz8iVGV4dCI6InRleHQvaHRtbCIsZC5pbm5lckhUTUwpLHQuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQ9ImNvcHlNb3ZlIixpV3x8dC5kYXRhVHJhbnNmZXIuc2V0RGF0YSgidGV4dC9wbGFpbiIsYyksYS5kcmFnZ2luZz1uZXcgamFlKHAsbm5hKGEsdCksbil9LEdpLmRyYWdlbmQ9YT0+e2xldCBlPWEuZHJhZ2dpbmc7d2luZG93LnNldFRpbWVvdXQoKCk9PnthLmRyYWdnaW5nPT1lJiYoYS5kcmFnZ2luZz1udWxsKX0sNTApfSxZaS5kcmFnb3Zlcj1ZaS5kcmFnZW50ZXI9KGEsZSk9PmUucHJldmVudERlZmF1bHQoKSxZaS5kcm9wPShhLGUpPT57dHJ5e1BBYShhLGUsYS5kcmFnZ2luZyl9ZmluYWxseXthLmRyYWdnaW5nPW51bGx9fTtzKFBBYSwiaGFuZGxlRHJvcCIpLEdpLmZvY3VzPWE9PnthLmlucHV0Lmxhc3RGb2N1cz1EYXRlLm5vdygpLGEuZm9jdXNlZHx8KGEuZG9tT2JzZXJ2ZXIuc3RvcCgpLGEuZG9tLmNsYXNzTGlzdC5hZGQoIlByb3NlTWlycm9yLWZvY3VzZWQiKSxhLmRvbU9ic2VydmVyLnN0YXJ0KCksYS5mb2N1c2VkPSEwLHNldFRpbWVvdXQoKCk9PnthLmRvY1ZpZXcmJmEuaGFzRm9jdXMoKSYmIWEuZG9tT2JzZXJ2ZXIuY3VycmVudFNlbGVjdGlvbi5lcShhLmRvbVNlbGVjdGlvblJhbmdlKCkpJiZNYyhhKX0sMjApKX0sR2kuYmx1cj0oYSxlKT0+e2xldCB0PWU7YS5mb2N1c2VkJiYoYS5kb21PYnNlcnZlci5zdG9wKCksYS5kb20uY2xhc3NMaXN0LnJlbW92ZSgiUHJvc2VNaXJyb3ItZm9jdXNlZCIpLGEuZG9tT2JzZXJ2ZXIuc3RhcnQoKSx0LnJlbGF0ZWRUYXJnZXQmJmEuZG9tLmNvbnRhaW5zKHQucmVsYXRlZFRhcmdldCkmJmEuZG9tT2JzZXJ2ZXIuY3VycmVudFNlbGVjdGlvbi5jbGVhcigpLGEuZm9jdXNlZD0hMSl9LEdpLmJlZm9yZWlucHV0PShhLGUpPT57aWYocmkmJnljJiZlLmlucHV0VHlwZT09ImRlbGV0ZUNvbnRlbnRCYWNrd2FyZCIpe2EuZG9tT2JzZXJ2ZXIuZmx1c2hTb29uKCk7bGV0e2RvbUNoYW5nZUNvdW50OnJ9PWEuaW5wdXQ7c2V0VGltZW91dCgoKT0+e2lmKGEuaW5wdXQuZG9tQ2hhbmdlQ291bnQhPXJ8fChhLmRvbS5ibHVyKCksYS5mb2N1cygpLGEuc29tZVByb3AoImhhbmRsZUtleURvd24iLG89Pm8oYSxLZig4LCJCYWNrc3BhY2UiKSkpKSlyZXR1cm47bGV0eyRjdXJzb3I6aX09YS5zdGF0ZS5zZWxlY3Rpb247aSYmaS5wb3M+MCYmYS5kaXNwYXRjaChhLnN0YXRlLnRyLmRlbGV0ZShpLnBvcy0xLGkucG9zKS5zY3JvbGxJbnRvVmlldygpKX0sNTApfX07Zm9yKGxldCBhIGluIFlpKUdpW2FdPVlpW2FdO3MoblcsImNvbXBhcmVPYmpzIik7VWFlPWNsYXNzIGF7c3RhdGlje3ModGhpcywiV2lkZ2V0VHlwZSIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy50b0RPTT1lLHRoaXMuc3BlYz10fHxlNSx0aGlzLnNpZGU9dGhpcy5zcGVjLnNpZGV8fDB9bWFwKGUsdCxyLGkpe2xldHtwb3M6byxkZWxldGVkOm59PWUubWFwUmVzdWx0KHQuZnJvbStpLHRoaXMuc2lkZTwwPy0xOjEpO3JldHVybiBuP251bGw6bmV3IE4xKG8tcixvLXIsdGhpcyl9dmFsaWQoKXtyZXR1cm4hMH1lcShlKXtyZXR1cm4gdGhpcz09ZXx8ZSBpbnN0YW5jZW9mIGEmJih0aGlzLnNwZWMua2V5JiZ0aGlzLnNwZWMua2V5PT1lLnNwZWMua2V5fHx0aGlzLnRvRE9NPT1lLnRvRE9NJiZuVyh0aGlzLnNwZWMsZS5zcGVjKSl9ZGVzdHJveShlKXt0aGlzLnNwZWMuZGVzdHJveSYmdGhpcy5zcGVjLmRlc3Ryb3koZSl9fSxKZj1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIklubGluZVR5cGUiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuYXR0cnM9ZSx0aGlzLnNwZWM9dHx8ZTV9bWFwKGUsdCxyLGkpe2xldCBvPWUubWFwKHQuZnJvbStpLHRoaXMuc3BlYy5pbmNsdXNpdmVTdGFydD8tMToxKS1yLG49ZS5tYXAodC50bytpLHRoaXMuc3BlYy5pbmNsdXNpdmVFbmQ/MTotMSktcjtyZXR1cm4gbz49bj9udWxsOm5ldyBOMShvLG4sdGhpcyl9dmFsaWQoZSx0KXtyZXR1cm4gdC5mcm9tPHQudG99ZXEoZSl7cmV0dXJuIHRoaXM9PWV8fGUgaW5zdGFuY2VvZiBhJiZuVyh0aGlzLmF0dHJzLGUuYXR0cnMpJiZuVyh0aGlzLnNwZWMsZS5zcGVjKX1zdGF0aWMgaXMoZSl7cmV0dXJuIGUudHlwZSBpbnN0YW5jZW9mIGF9ZGVzdHJveSgpe319LFFLZT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIk5vZGVUeXBlIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLmF0dHJzPWUsdGhpcy5zcGVjPXR8fGU1fW1hcChlLHQscixpKXtsZXQgbz1lLm1hcFJlc3VsdCh0LmZyb20raSwxKTtpZihvLmRlbGV0ZWQpcmV0dXJuIG51bGw7bGV0IG49ZS5tYXBSZXN1bHQodC50bytpLC0xKTtyZXR1cm4gbi5kZWxldGVkfHxuLnBvczw9by5wb3M/bnVsbDpuZXcgTjEoby5wb3MtcixuLnBvcy1yLHRoaXMpfXZhbGlkKGUsdCl7bGV0e2luZGV4OnIsb2Zmc2V0Oml9PWUuY29udGVudC5maW5kSW5kZXgodC5mcm9tKSxvO3JldHVybiBpPT10LmZyb20mJiEobz1lLmNoaWxkKHIpKS5pc1RleHQmJmkrby5ub2RlU2l6ZT09dC50b31lcShlKXtyZXR1cm4gdGhpcz09ZXx8ZSBpbnN0YW5jZW9mIGEmJm5XKHRoaXMuYXR0cnMsZS5hdHRycykmJm5XKHRoaXMuc3BlYyxlLnNwZWMpfWRlc3Ryb3koKXt9fSxOMT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkRlY29yYXRpb24iKX1jb25zdHJ1Y3RvcihlLHQscil7dGhpcy5mcm9tPWUsdGhpcy50bz10LHRoaXMudHlwZT1yfWNvcHkoZSx0KXtyZXR1cm4gbmV3IGEoZSx0LHRoaXMudHlwZSl9ZXEoZSx0PTApe3JldHVybiB0aGlzLnR5cGUuZXEoZS50eXBlKSYmdGhpcy5mcm9tK3Q9PWUuZnJvbSYmdGhpcy50byt0PT1lLnRvfW1hcChlLHQscil7cmV0dXJuIHRoaXMudHlwZS5tYXAoZSx0aGlzLHQscil9c3RhdGljIHdpZGdldChlLHQscil7cmV0dXJuIG5ldyBhKGUsZSxuZXcgVWFlKHQscikpfXN0YXRpYyBpbmxpbmUoZSx0LHIsaSl7cmV0dXJuIG5ldyBhKGUsdCxuZXcgSmYocixpKSl9c3RhdGljIG5vZGUoZSx0LHIsaSl7cmV0dXJuIG5ldyBhKGUsdCxuZXcgUUtlKHIsaSkpfWdldCBzcGVjKCl7cmV0dXJuIHRoaXMudHlwZS5zcGVjfWdldCBpbmxpbmUoKXtyZXR1cm4gdGhpcy50eXBlIGluc3RhbmNlb2YgSmZ9Z2V0IHdpZGdldCgpe3JldHVybiB0aGlzLnR5cGUgaW5zdGFuY2VvZiBVYWV9fSxMbT1bXSxlNT17fSxLaT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkRlY29yYXRpb25TZXQiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMubG9jYWw9ZS5sZW5ndGg/ZTpMbSx0aGlzLmNoaWxkcmVuPXQubGVuZ3RoP3Q6TG19c3RhdGljIGNyZWF0ZShlLHQpe3JldHVybiB0Lmxlbmd0aD9HYWUodCxlLDAsZTUpOkVpfWZpbmQoZSx0LHIpe2xldCBpPVtdO3JldHVybiB0aGlzLmZpbmRJbm5lcihlPz8wLHQ/PzFlOSxpLDAsciksaX1maW5kSW5uZXIoZSx0LHIsaSxvKXtmb3IobGV0IG49MDtuPHRoaXMubG9jYWwubGVuZ3RoO24rKyl7bGV0IGw9dGhpcy5sb2NhbFtuXTtsLmZyb208PXQmJmwudG8+PWUmJighb3x8byhsLnNwZWMpKSYmci5wdXNoKGwuY29weShsLmZyb20raSxsLnRvK2kpKX1mb3IobGV0IG49MDtuPHRoaXMuY2hpbGRyZW4ubGVuZ3RoO24rPTMpaWYodGhpcy5jaGlsZHJlbltuXTx0JiZ0aGlzLmNoaWxkcmVuW24rMV0+ZSl7bGV0IGw9dGhpcy5jaGlsZHJlbltuXSsxO3RoaXMuY2hpbGRyZW5bbisyXS5maW5kSW5uZXIoZS1sLHQtbCxyLGkrbCxvKX19bWFwKGUsdCxyKXtyZXR1cm4gdGhpcz09RWl8fGUubWFwcy5sZW5ndGg9PTA/dGhpczp0aGlzLm1hcElubmVyKGUsdCwwLDAscnx8ZTUpfW1hcElubmVyKGUsdCxyLGksbyl7bGV0IG47Zm9yKGxldCBsPTA7bDx0aGlzLmxvY2FsLmxlbmd0aDtsKyspe2xldCBkPXRoaXMubG9jYWxbbF0ubWFwKGUscixpKTtkJiZkLnR5cGUudmFsaWQodCxkKT8obnx8KG49W10pKS5wdXNoKGQpOm8ub25SZW1vdmUmJm8ub25SZW1vdmUodGhpcy5sb2NhbFtsXS5zcGVjKX1yZXR1cm4gdGhpcy5jaGlsZHJlbi5sZW5ndGg/SUFhKHRoaXMuY2hpbGRyZW4sbnx8W10sZSx0LHIsaSxvKTpuP25ldyBhKG4uc29ydCh0NSksTG0pOkVpfWFkZChlLHQpe3JldHVybiB0Lmxlbmd0aD90aGlzPT1FaT9hLmNyZWF0ZShlLHQpOnRoaXMuYWRkSW5uZXIoZSx0LDApOnRoaXN9YWRkSW5uZXIoZSx0LHIpe2xldCBpLG89MDtlLmZvckVhY2goKGwsZCk9PntsZXQgYz1kK3IscDtpZihwPWNuYSh0LGwsYykpe2ZvcihpfHwoaT10aGlzLmNoaWxkcmVuLnNsaWNlKCkpO288aS5sZW5ndGgmJmlbb108ZDspbys9MztpW29dPT1kP2lbbysyXT1pW28rMl0uYWRkSW5uZXIobCxwLGMrMSk6aS5zcGxpY2UobywwLGQsZCtsLm5vZGVTaXplLEdhZShwLGwsYysxLGU1KSksbys9M319KTtsZXQgbj1sbmEobz9kbmEodCk6dCwtcik7Zm9yKGxldCBsPTA7bDxuLmxlbmd0aDtsKyspbltsXS50eXBlLnZhbGlkKGUsbltsXSl8fG4uc3BsaWNlKGwtLSwxKTtyZXR1cm4gbmV3IGEobi5sZW5ndGg/dGhpcy5sb2NhbC5jb25jYXQobikuc29ydCh0NSk6dGhpcy5sb2NhbCxpfHx0aGlzLmNoaWxkcmVuKX1yZW1vdmUoZSl7cmV0dXJuIGUubGVuZ3RoPT0wfHx0aGlzPT1FaT90aGlzOnRoaXMucmVtb3ZlSW5uZXIoZSwwKX1yZW1vdmVJbm5lcihlLHQpe2xldCByPXRoaXMuY2hpbGRyZW4saT10aGlzLmxvY2FsO2ZvcihsZXQgbz0wO288ci5sZW5ndGg7bys9Myl7bGV0IG4sbD1yW29dK3QsZD1yW28rMV0rdDtmb3IobGV0IHA9MCx1O3A8ZS5sZW5ndGg7cCsrKSh1PWVbcF0pJiZ1LmZyb20+bCYmdS50bzxkJiYoZVtwXT1udWxsLChufHwobj1bXSkpLnB1c2godSkpO2lmKCFuKWNvbnRpbnVlO3I9PXRoaXMuY2hpbGRyZW4mJihyPXRoaXMuY2hpbGRyZW4uc2xpY2UoKSk7bGV0IGM9cltvKzJdLnJlbW92ZUlubmVyKG4sbCsxKTtjIT1FaT9yW28rMl09Yzooci5zcGxpY2UobywzKSxvLT0zKX1pZihpLmxlbmd0aCl7Zm9yKGxldCBvPTAsbjtvPGUubGVuZ3RoO28rKylpZihuPWVbb10pZm9yKGxldCBsPTA7bDxpLmxlbmd0aDtsKyspaVtsXS5lcShuLHQpJiYoaT09dGhpcy5sb2NhbCYmKGk9dGhpcy5sb2NhbC5zbGljZSgpKSxpLnNwbGljZShsLS0sMSkpfXJldHVybiByPT10aGlzLmNoaWxkcmVuJiZpPT10aGlzLmxvY2FsP3RoaXM6aS5sZW5ndGh8fHIubGVuZ3RoP25ldyBhKGkscik6RWl9Zm9yQ2hpbGQoZSx0KXtpZih0aGlzPT1FaSlyZXR1cm4gdGhpcztpZih0LmlzTGVhZilyZXR1cm4gYS5lbXB0eTtsZXQgcixpO2ZvcihsZXQgbD0wO2w8dGhpcy5jaGlsZHJlbi5sZW5ndGg7bCs9MylpZih0aGlzLmNoaWxkcmVuW2xdPj1lKXt0aGlzLmNoaWxkcmVuW2xdPT1lJiYocj10aGlzLmNoaWxkcmVuW2wrMl0pO2JyZWFrfWxldCBvPWUrMSxuPW8rdC5jb250ZW50LnNpemU7Zm9yKGxldCBsPTA7bDx0aGlzLmxvY2FsLmxlbmd0aDtsKyspe2xldCBkPXRoaXMubG9jYWxbbF07aWYoZC5mcm9tPG4mJmQudG8+byYmZC50eXBlIGluc3RhbmNlb2YgSmYpe2xldCBjPU1hdGgubWF4KG8sZC5mcm9tKS1vLHA9TWF0aC5taW4obixkLnRvKS1vO2M8cCYmKGl8fChpPVtdKSkucHVzaChkLmNvcHkoYyxwKSl9fWlmKGkpe2xldCBsPW5ldyBhKGkuc29ydCh0NSksTG0pO3JldHVybiByP25ldyBXYWUoW2wscl0pOmx9cmV0dXJuIHJ8fEVpfWVxKGUpe2lmKHRoaXM9PWUpcmV0dXJuITA7aWYoIShlIGluc3RhbmNlb2YgYSl8fHRoaXMubG9jYWwubGVuZ3RoIT1lLmxvY2FsLmxlbmd0aHx8dGhpcy5jaGlsZHJlbi5sZW5ndGghPWUuY2hpbGRyZW4ubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgdD0wO3Q8dGhpcy5sb2NhbC5sZW5ndGg7dCsrKWlmKCF0aGlzLmxvY2FsW3RdLmVxKGUubG9jYWxbdF0pKXJldHVybiExO2ZvcihsZXQgdD0wO3Q8dGhpcy5jaGlsZHJlbi5sZW5ndGg7dCs9MylpZih0aGlzLmNoaWxkcmVuW3RdIT1lLmNoaWxkcmVuW3RdfHx0aGlzLmNoaWxkcmVuW3QrMV0hPWUuY2hpbGRyZW5bdCsxXXx8IXRoaXMuY2hpbGRyZW5bdCsyXS5lcShlLmNoaWxkcmVuW3QrMl0pKXJldHVybiExO3JldHVybiEwfWxvY2FscyhlKXtyZXR1cm4gSktlKHRoaXMubG9jYWxzSW5uZXIoZSkpfWxvY2Fsc0lubmVyKGUpe2lmKHRoaXM9PUVpKXJldHVybiBMbTtpZihlLmlubGluZUNvbnRlbnR8fCF0aGlzLmxvY2FsLnNvbWUoSmYuaXMpKXJldHVybiB0aGlzLmxvY2FsO2xldCB0PVtdO2ZvcihsZXQgcj0wO3I8dGhpcy5sb2NhbC5sZW5ndGg7cisrKXRoaXMubG9jYWxbcl0udHlwZSBpbnN0YW5jZW9mIEpmfHx0LnB1c2godGhpcy5sb2NhbFtyXSk7cmV0dXJuIHR9Zm9yRWFjaFNldChlKXtlKHRoaXMpfX07S2kuZW1wdHk9bmV3IEtpKFtdLFtdKSxLaS5yZW1vdmVPdmVybGFwPUpLZTtFaT1LaS5lbXB0eSxXYWU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJEZWNvcmF0aW9uR3JvdXAiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLm1lbWJlcnM9ZX1tYXAoZSx0KXtsZXQgcj10aGlzLm1lbWJlcnMubWFwKGk9PmkubWFwKGUsdCxlNSkpO3JldHVybiBhLmZyb20ocil9Zm9yQ2hpbGQoZSx0KXtpZih0LmlzTGVhZilyZXR1cm4gS2kuZW1wdHk7bGV0IHI9W107Zm9yKGxldCBpPTA7aTx0aGlzLm1lbWJlcnMubGVuZ3RoO2krKyl7bGV0IG89dGhpcy5tZW1iZXJzW2ldLmZvckNoaWxkKGUsdCk7byE9RWkmJihvIGluc3RhbmNlb2YgYT9yPXIuY29uY2F0KG8ubWVtYmVycyk6ci5wdXNoKG8pKX1yZXR1cm4gYS5mcm9tKHIpfWVxKGUpe2lmKCEoZSBpbnN0YW5jZW9mIGEpfHxlLm1lbWJlcnMubGVuZ3RoIT10aGlzLm1lbWJlcnMubGVuZ3RoKXJldHVybiExO2ZvcihsZXQgdD0wO3Q8dGhpcy5tZW1iZXJzLmxlbmd0aDt0KyspaWYoIXRoaXMubWVtYmVyc1t0XS5lcShlLm1lbWJlcnNbdF0pKXJldHVybiExO3JldHVybiEwfWxvY2FscyhlKXtsZXQgdCxyPSEwO2ZvcihsZXQgaT0wO2k8dGhpcy5tZW1iZXJzLmxlbmd0aDtpKyspe2xldCBvPXRoaXMubWVtYmVyc1tpXS5sb2NhbHNJbm5lcihlKTtpZihvLmxlbmd0aClpZighdCl0PW87ZWxzZXtyJiYodD10LnNsaWNlKCkscj0hMSk7Zm9yKGxldCBuPTA7bjxvLmxlbmd0aDtuKyspdC5wdXNoKG9bbl0pfX1yZXR1cm4gdD9KS2Uocj90OnQuc29ydCh0NSkpOkxtfXN0YXRpYyBmcm9tKGUpe3N3aXRjaChlLmxlbmd0aCl7Y2FzZSAwOnJldHVybiBFaTtjYXNlIDE6cmV0dXJuIGVbMF07ZGVmYXVsdDpyZXR1cm4gbmV3IGEoZS5ldmVyeSh0PT50IGluc3RhbmNlb2YgS2kpP2U6ZS5yZWR1Y2UoKHQscik9PnQuY29uY2F0KHIgaW5zdGFuY2VvZiBLaT9yOnIubWVtYmVycyksW10pKX19Zm9yRWFjaFNldChlKXtmb3IobGV0IHQ9MDt0PHRoaXMubWVtYmVycy5sZW5ndGg7dCsrKXRoaXMubWVtYmVyc1t0XS5mb3JFYWNoU2V0KGUpfX07cyhJQWEsIm1hcENoaWxkcmVuIik7cyhsbmEsIm1vdmVTcGFucyIpO3MoTkFhLCJtYXBBbmRHYXRoZXJSZW1haW5pbmdEZWNvcmF0aW9ucyIpO3MoY25hLCJ0YWtlU3BhbnNGb3JOb2RlIik7cyhkbmEsIndpdGhvdXROdWxscyIpO3MoR2FlLCJidWlsZFRyZWUiKTtzKHQ1LCJieVBvcyIpO3MoSktlLCJyZW1vdmVPdmVybGFwIik7cyh1bmEsImluc2VydEFoZWFkIik7cyhlWmUsInZpZXdEZWNvcmF0aW9ucyIpO1JBYT17Y2hpbGRMaXN0OiEwLGNoYXJhY3RlckRhdGE6ITAsY2hhcmFjdGVyRGF0YU9sZFZhbHVlOiEwLGF0dHJpYnV0ZXM6ITAsYXR0cmlidXRlT2xkVmFsdWU6ITAsc3VidHJlZTohMH0sT0FhPUFvJiZ4NDw9MTEsdFplPWNsYXNze3N0YXRpY3tzKHRoaXMsIlNlbGVjdGlvblN0YXRlIil9Y29uc3RydWN0b3IoKXt0aGlzLmFuY2hvck5vZGU9bnVsbCx0aGlzLmFuY2hvck9mZnNldD0wLHRoaXMuZm9jdXNOb2RlPW51bGwsdGhpcy5mb2N1c09mZnNldD0wfXNldChlKXt0aGlzLmFuY2hvck5vZGU9ZS5hbmNob3JOb2RlLHRoaXMuYW5jaG9yT2Zmc2V0PWUuYW5jaG9yT2Zmc2V0LHRoaXMuZm9jdXNOb2RlPWUuZm9jdXNOb2RlLHRoaXMuZm9jdXNPZmZzZXQ9ZS5mb2N1c09mZnNldH1jbGVhcigpe3RoaXMuYW5jaG9yTm9kZT10aGlzLmZvY3VzTm9kZT1udWxsfWVxKGUpe3JldHVybiBlLmFuY2hvck5vZGU9PXRoaXMuYW5jaG9yTm9kZSYmZS5hbmNob3JPZmZzZXQ9PXRoaXMuYW5jaG9yT2Zmc2V0JiZlLmZvY3VzTm9kZT09dGhpcy5mb2N1c05vZGUmJmUuZm9jdXNPZmZzZXQ9PXRoaXMuZm9jdXNPZmZzZXR9fSxhWmU9Y2xhc3N7c3RhdGlje3ModGhpcywiRE9NT2JzZXJ2ZXIiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMudmlldz1lLHRoaXMuaGFuZGxlRE9NQ2hhbmdlPXQsdGhpcy5xdWV1ZT1bXSx0aGlzLmZsdXNoaW5nU29vbj0tMSx0aGlzLm9ic2VydmVyPW51bGwsdGhpcy5jdXJyZW50U2VsZWN0aW9uPW5ldyB0WmUsdGhpcy5vbkNoYXJEYXRhPW51bGwsdGhpcy5zdXBwcmVzc2luZ1NlbGVjdGlvblVwZGF0ZXM9ITEsdGhpcy5sYXN0Q2hhbmdlZFRleHROb2RlPW51bGwsdGhpcy5vYnNlcnZlcj13aW5kb3cuTXV0YXRpb25PYnNlcnZlciYmbmV3IHdpbmRvdy5NdXRhdGlvbk9ic2VydmVyKHI9Pntmb3IobGV0IGk9MDtpPHIubGVuZ3RoO2krKyl0aGlzLnF1ZXVlLnB1c2gocltpXSk7QW8mJng0PD0xMSYmci5zb21lKGk9PmkudHlwZT09ImNoaWxkTGlzdCImJmkucmVtb3ZlZE5vZGVzLmxlbmd0aHx8aS50eXBlPT0iY2hhcmFjdGVyRGF0YSImJmkub2xkVmFsdWUubGVuZ3RoPmkudGFyZ2V0Lm5vZGVWYWx1ZS5sZW5ndGgpP3RoaXMuZmx1c2hTb29uKCk6QWkmJmUuY29tcG9zaW5nJiZyLnNvbWUoaT0+aS50eXBlPT0iY2hpbGRMaXN0IiYmaS50YXJnZXQubm9kZU5hbWU9PSJUUiIpPyhlLmlucHV0LmJhZFNhZmFyaUNvbXBvc2l0aW9uPSEwLHRoaXMuZmx1c2hTb29uKCkpOnRoaXMuZmx1c2goKX0pLE9BYSYmKHRoaXMub25DaGFyRGF0YT1yPT57dGhpcy5xdWV1ZS5wdXNoKHt0YXJnZXQ6ci50YXJnZXQsdHlwZToiY2hhcmFjdGVyRGF0YSIsb2xkVmFsdWU6ci5wcmV2VmFsdWV9KSx0aGlzLmZsdXNoU29vbigpfSksdGhpcy5vblNlbGVjdGlvbkNoYW5nZT10aGlzLm9uU2VsZWN0aW9uQ2hhbmdlLmJpbmQodGhpcyl9Zmx1c2hTb29uKCl7dGhpcy5mbHVzaGluZ1Nvb248MCYmKHRoaXMuZmx1c2hpbmdTb29uPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57dGhpcy5mbHVzaGluZ1Nvb249LTEsdGhpcy5mbHVzaCgpfSwyMCkpfWZvcmNlRmx1c2goKXt0aGlzLmZsdXNoaW5nU29vbj4tMSYmKHdpbmRvdy5jbGVhclRpbWVvdXQodGhpcy5mbHVzaGluZ1Nvb24pLHRoaXMuZmx1c2hpbmdTb29uPS0xLHRoaXMuZmx1c2goKSl9c3RhcnQoKXt0aGlzLm9ic2VydmVyJiYodGhpcy5vYnNlcnZlci50YWtlUmVjb3JkcygpLHRoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLnZpZXcuZG9tLFJBYSkpLHRoaXMub25DaGFyRGF0YSYmdGhpcy52aWV3LmRvbS5hZGRFdmVudExpc3RlbmVyKCJET01DaGFyYWN0ZXJEYXRhTW9kaWZpZWQiLHRoaXMub25DaGFyRGF0YSksdGhpcy5jb25uZWN0U2VsZWN0aW9uKCl9c3RvcCgpe2lmKHRoaXMub2JzZXJ2ZXIpe2xldCBlPXRoaXMub2JzZXJ2ZXIudGFrZVJlY29yZHMoKTtpZihlLmxlbmd0aCl7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspdGhpcy5xdWV1ZS5wdXNoKGVbdF0pO3dpbmRvdy5zZXRUaW1lb3V0KCgpPT50aGlzLmZsdXNoKCksMjApfXRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpfXRoaXMub25DaGFyRGF0YSYmdGhpcy52aWV3LmRvbS5yZW1vdmVFdmVudExpc3RlbmVyKCJET01DaGFyYWN0ZXJEYXRhTW9kaWZpZWQiLHRoaXMub25DaGFyRGF0YSksdGhpcy5kaXNjb25uZWN0U2VsZWN0aW9uKCl9Y29ubmVjdFNlbGVjdGlvbigpe3RoaXMudmlldy5kb20ub3duZXJEb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLHRoaXMub25TZWxlY3Rpb25DaGFuZ2UpfWRpc2Nvbm5lY3RTZWxlY3Rpb24oKXt0aGlzLnZpZXcuZG9tLm93bmVyRG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIix0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlKX1zdXBwcmVzc1NlbGVjdGlvblVwZGF0ZXMoKXt0aGlzLnN1cHByZXNzaW5nU2VsZWN0aW9uVXBkYXRlcz0hMCxzZXRUaW1lb3V0KCgpPT50aGlzLnN1cHByZXNzaW5nU2VsZWN0aW9uVXBkYXRlcz0hMSw1MCl9b25TZWxlY3Rpb25DaGFuZ2UoKXtpZihIb2EodGhpcy52aWV3KSl7aWYodGhpcy5zdXBwcmVzc2luZ1NlbGVjdGlvblVwZGF0ZXMpcmV0dXJuIE1jKHRoaXMudmlldyk7aWYoQW8mJng0PD0xMSYmIXRoaXMudmlldy5zdGF0ZS5zZWxlY3Rpb24uZW1wdHkpe2xldCBlPXRoaXMudmlldy5kb21TZWxlY3Rpb25SYW5nZSgpO2lmKGUuZm9jdXNOb2RlJiZZZihlLmZvY3VzTm9kZSxlLmZvY3VzT2Zmc2V0LGUuYW5jaG9yTm9kZSxlLmFuY2hvck9mZnNldCkpcmV0dXJuIHRoaXMuZmx1c2hTb29uKCl9dGhpcy5mbHVzaCgpfX1zZXRDdXJTZWxlY3Rpb24oKXt0aGlzLmN1cnJlbnRTZWxlY3Rpb24uc2V0KHRoaXMudmlldy5kb21TZWxlY3Rpb25SYW5nZSgpKX1pZ25vcmVTZWxlY3Rpb25DaGFuZ2UoZSl7aWYoIWUuZm9jdXNOb2RlKXJldHVybiEwO2xldCB0PW5ldyBTZXQscjtmb3IobGV0IG89ZS5mb2N1c05vZGU7bztvPWttKG8pKXQuYWRkKG8pO2ZvcihsZXQgbz1lLmFuY2hvck5vZGU7bztvPWttKG8pKWlmKHQuaGFzKG8pKXtyPW87YnJlYWt9bGV0IGk9ciYmdGhpcy52aWV3LmRvY1ZpZXcubmVhcmVzdERlc2Mocik7aWYoaSYmaS5pZ25vcmVNdXRhdGlvbih7dHlwZToic2VsZWN0aW9uIix0YXJnZXQ6ci5ub2RlVHlwZT09Mz9yLnBhcmVudE5vZGU6cn0pKXJldHVybiB0aGlzLnNldEN1clNlbGVjdGlvbigpLCEwfXBlbmRpbmdSZWNvcmRzKCl7aWYodGhpcy5vYnNlcnZlcilmb3IobGV0IGUgb2YgdGhpcy5vYnNlcnZlci50YWtlUmVjb3JkcygpKXRoaXMucXVldWUucHVzaChlKTtyZXR1cm4gdGhpcy5xdWV1ZX1mbHVzaCgpe2xldHt2aWV3OmV9PXRoaXM7aWYoIWUuZG9jVmlld3x8dGhpcy5mbHVzaGluZ1Nvb24+LTEpcmV0dXJuO2xldCB0PXRoaXMucGVuZGluZ1JlY29yZHMoKTt0Lmxlbmd0aCYmKHRoaXMucXVldWU9W10pO2xldCByPWUuZG9tU2VsZWN0aW9uUmFuZ2UoKSxpPSF0aGlzLnN1cHByZXNzaW5nU2VsZWN0aW9uVXBkYXRlcyYmIXRoaXMuY3VycmVudFNlbGVjdGlvbi5lcShyKSYmSG9hKGUpJiYhdGhpcy5pZ25vcmVTZWxlY3Rpb25DaGFuZ2Uociksbz0tMSxuPS0xLGw9ITEsZD1bXTtpZihlLmVkaXRhYmxlKWZvcihsZXQgcD0wO3A8dC5sZW5ndGg7cCsrKXtsZXQgdT10aGlzLnJlZ2lzdGVyTXV0YXRpb24odFtwXSxkKTt1JiYobz1vPDA/dS5mcm9tOk1hdGgubWluKHUuZnJvbSxvKSxuPW48MD91LnRvOk1hdGgubWF4KHUudG8sbiksdS50eXBlT3ZlciYmKGw9ITApKX1pZihkLnNvbWUocD0+cC5ub2RlTmFtZT09IkJSIikmJihlLmlucHV0Lmxhc3RLZXlDb2RlPT04fHxlLmlucHV0Lmxhc3RLZXlDb2RlPT00Nikpe2ZvcihsZXQgcCBvZiBkKWlmKHAubm9kZU5hbWU9PSJCUiImJnAucGFyZW50Tm9kZSl7bGV0IHU9cC5uZXh0U2libGluZztmb3IoO3UmJnUubm9kZVR5cGU9PTE7KXtpZih1LmNvbnRlbnRFZGl0YWJsZT09ImZhbHNlIil7cC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHApO2JyZWFrfXU9dS5maXJzdENoaWxkfX19ZWxzZSBpZihFbiYmZC5sZW5ndGgpe2xldCBwPWQuZmlsdGVyKHU9PnUubm9kZU5hbWU9PSJCUiIpO2lmKHAubGVuZ3RoPT0yKXtsZXRbdSxtXT1wO3UucGFyZW50Tm9kZSYmdS5wYXJlbnROb2RlLnBhcmVudE5vZGU9PW0ucGFyZW50Tm9kZT9tLnJlbW92ZSgpOnUucmVtb3ZlKCl9ZWxzZXtsZXR7Zm9jdXNOb2RlOnV9PXRoaXMuY3VycmVudFNlbGVjdGlvbjtmb3IobGV0IG0gb2YgcCl7bGV0IHY9bS5wYXJlbnROb2RlO3YmJnYubm9kZU5hbWU9PSJMSSImJighdXx8SEFhKGUsdSkhPXYpJiZtLnJlbW92ZSgpfX19bGV0IGM9bnVsbDtvPDAmJmkmJmUuaW5wdXQubGFzdEZvY3VzPkRhdGUubm93KCktMjAwJiZNYXRoLm1heChlLmlucHV0Lmxhc3RUb3VjaCxlLmlucHV0Lmxhc3RDbGljay50aW1lKTxEYXRlLm5vdygpLTMwMCYmUmFlKHIpJiYoYz1SS2UoZSkpJiZjLmVxKEl0Lm5lYXIoZS5zdGF0ZS5kb2MucmVzb2x2ZSgwKSwxKSk/KGUuaW5wdXQubGFzdEZvY3VzPTAsTWMoZSksdGhpcy5jdXJyZW50U2VsZWN0aW9uLnNldChyKSxlLnNjcm9sbFRvU2VsZWN0aW9uKCkpOihvPi0xfHxpKSYmKG8+LTEmJihlLmRvY1ZpZXcubWFya0RpcnR5KG8sbiksRkFhKGUpKSxlLmlucHV0LmJhZFNhZmFyaUNvbXBvc2l0aW9uJiYoZS5pbnB1dC5iYWRTYWZhcmlDb21wb3NpdGlvbj0hMSxxQWEoZSxkKSksdGhpcy5oYW5kbGVET01DaGFuZ2UobyxuLGwsZCksZS5kb2NWaWV3JiZlLmRvY1ZpZXcuZGlydHk/ZS51cGRhdGVTdGF0ZShlLnN0YXRlKTp0aGlzLmN1cnJlbnRTZWxlY3Rpb24uZXEocil8fE1jKGUpLHRoaXMuY3VycmVudFNlbGVjdGlvbi5zZXQocikpfXJlZ2lzdGVyTXV0YXRpb24oZSx0KXtpZih0LmluZGV4T2YoZS50YXJnZXQpPi0xKXJldHVybiBudWxsO2xldCByPXRoaXMudmlldy5kb2NWaWV3Lm5lYXJlc3REZXNjKGUudGFyZ2V0KTtpZihlLnR5cGU9PSJhdHRyaWJ1dGVzIiYmKHI9PXRoaXMudmlldy5kb2NWaWV3fHxlLmF0dHJpYnV0ZU5hbWU9PSJjb250ZW50ZWRpdGFibGUifHxlLmF0dHJpYnV0ZU5hbWU9PSJzdHlsZSImJiFlLm9sZFZhbHVlJiYhZS50YXJnZXQuZ2V0QXR0cmlidXRlKCJzdHlsZSIpKXx8IXJ8fHIuaWdub3JlTXV0YXRpb24oZSkpcmV0dXJuIG51bGw7aWYoZS50eXBlPT0iY2hpbGRMaXN0Iil7Zm9yKGxldCBwPTA7cDxlLmFkZGVkTm9kZXMubGVuZ3RoO3ArKyl7bGV0IHU9ZS5hZGRlZE5vZGVzW3BdO3QucHVzaCh1KSx1Lm5vZGVUeXBlPT0zJiYodGhpcy5sYXN0Q2hhbmdlZFRleHROb2RlPXUpfWlmKHIuY29udGVudERPTSYmci5jb250ZW50RE9NIT1yLmRvbSYmIXIuY29udGVudERPTS5jb250YWlucyhlLnRhcmdldCkpcmV0dXJue2Zyb206ci5wb3NCZWZvcmUsdG86ci5wb3NBZnRlcn07bGV0IGk9ZS5wcmV2aW91c1NpYmxpbmcsbz1lLm5leHRTaWJsaW5nO2lmKEFvJiZ4NDw9MTEmJmUuYWRkZWROb2Rlcy5sZW5ndGgpZm9yKGxldCBwPTA7cDxlLmFkZGVkTm9kZXMubGVuZ3RoO3ArKyl7bGV0e3ByZXZpb3VzU2libGluZzp1LG5leHRTaWJsaW5nOm19PWUuYWRkZWROb2Rlc1twXTsoIXV8fEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZS5hZGRlZE5vZGVzLHUpPDApJiYoaT11KSwoIW18fEFycmF5LnByb3RvdHlwZS5pbmRleE9mLmNhbGwoZS5hZGRlZE5vZGVzLG0pPDApJiYobz1tKX1sZXQgbj1pJiZpLnBhcmVudE5vZGU9PWUudGFyZ2V0P2FpKGkpKzE6MCxsPXIubG9jYWxQb3NGcm9tRE9NKGUudGFyZ2V0LG4sLTEpLGQ9byYmby5wYXJlbnROb2RlPT1lLnRhcmdldD9haShvKTplLnRhcmdldC5jaGlsZE5vZGVzLmxlbmd0aCxjPXIubG9jYWxQb3NGcm9tRE9NKGUudGFyZ2V0LGQsMSk7cmV0dXJue2Zyb206bCx0bzpjfX1lbHNlIHJldHVybiBlLnR5cGU9PSJhdHRyaWJ1dGVzIj97ZnJvbTpyLnBvc0F0U3RhcnQtci5ib3JkZXIsdG86ci5wb3NBdEVuZCtyLmJvcmRlcn06KHRoaXMubGFzdENoYW5nZWRUZXh0Tm9kZT1lLnRhcmdldCx7ZnJvbTpyLnBvc0F0U3RhcnQsdG86ci5wb3NBdEVuZCx0eXBlT3ZlcjplLnRhcmdldC5ub2RlVmFsdWU9PWUub2xkVmFsdWV9KX19LHBuYT1uZXcgV2Vha01hcCxmbmE9ITE7cyhGQWEsImNoZWNrQ1NTIik7cyhobmEsInJhbmdlVG9TZWxlY3Rpb25SYW5nZSIpO3MoQkFhLCJzYWZhcmlTaGFkb3dTZWxlY3Rpb25SYW5nZSIpO3MoSEFhLCJibG9ja1BhcmVudCIpO3MocUFhLCJmaXhVcEJhZFNhZmFyaUNvbXBvc2l0aW9uIik7cyhWQWEsInBhcnNlQmV0d2VlbiIpO3MoakFhLCJydWxlRnJvbU5vZGUiKTtVQWE9L14oYXxhYmJyfGFjcm9ueW18YnxiZFtpb118YmlnfGJyfGJ1dHRvbnxjaXRlfGNvZGV8ZGF0YShsaXN0KT98ZGVsfGRmbnxlbXxpfGltZ3xpbnN8a2JkfGxhYmVsfG1hcHxtYXJrfG1ldGVyfG91dHB1dHxxfHJ1Ynl8c3xzYW1wfHNtYWxsfHNwYW58c3Ryb25nfHN1W2JwXXx0aW1lfHV8dHR8dmFyKSQvaTtzKFdBYSwicmVhZERPTUNoYW5nZSIpO3MobW5hLCJyZXNvbHZlU2VsZWN0aW9uIik7cyhHQWEsImlzTWFya0NoYW5nZSIpO3MoWUFhLCJsb29rc0xpa2VCYWNrc3BhY2UiKTtzKHJaZSwic2tpcENsb3NpbmdBbmRPcGVuaW5nIik7cyhLQWEsImZpbmREaWZmIik7cyhnbmEsImlzU3Vycm9nYXRlUGFpciIpO1pBYT1WS2UsWEFhPXNXLCRtPWNsYXNze3N0YXRpY3tzKHRoaXMsIkVkaXRvclZpZXciKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMuX3Jvb3Q9bnVsbCx0aGlzLmZvY3VzZWQ9ITEsdGhpcy50cmFja1dyaXRlcz1udWxsLHRoaXMubW91bnRlZD0hMSx0aGlzLm1hcmtDdXJzb3I9bnVsbCx0aGlzLmN1cnNvcldyYXBwZXI9bnVsbCx0aGlzLmxhc3RTZWxlY3RlZFZpZXdEZXNjPXZvaWQgMCx0aGlzLmlucHV0PW5ldyBXS2UsdGhpcy5wcmV2RGlyZWN0UGx1Z2lucz1bXSx0aGlzLnBsdWdpblZpZXdzPVtdLHRoaXMucmVxdWlyZXNHZWNrb0hhY2tOb2RlPSExLHRoaXMuZHJhZ2dpbmc9bnVsbCx0aGlzLl9wcm9wcz10LHRoaXMuc3RhdGU9dC5zdGF0ZSx0aGlzLmRpcmVjdFBsdWdpbnM9dC5wbHVnaW5zfHxbXSx0aGlzLmRpcmVjdFBsdWdpbnMuZm9yRWFjaCh3bmEpLHRoaXMuZGlzcGF0Y2g9dGhpcy5kaXNwYXRjaC5iaW5kKHRoaXMpLHRoaXMuZG9tPWUmJmUubW91bnR8fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGUmJihlLmFwcGVuZENoaWxkP2UuYXBwZW5kQ2hpbGQodGhpcy5kb20pOnR5cGVvZiBlPT0iZnVuY3Rpb24iP2UodGhpcy5kb20pOmUubW91bnQmJih0aGlzLm1vdW50ZWQ9ITApKSx0aGlzLmVkaXRhYmxlPXhuYSh0aGlzKSx2bmEodGhpcyksdGhpcy5ub2RlVmlld3M9eW5hKHRoaXMpLHRoaXMuZG9jVmlldz0kb2EodGhpcy5zdGF0ZS5kb2MsYm5hKHRoaXMpLGVaZSh0aGlzKSx0aGlzLmRvbSx0aGlzKSx0aGlzLmRvbU9ic2VydmVyPW5ldyBhWmUodGhpcywocixpLG8sbik9PldBYSh0aGlzLHIsaSxvLG4pKSx0aGlzLmRvbU9ic2VydmVyLnN0YXJ0KCksbUFhKHRoaXMpLHRoaXMudXBkYXRlUGx1Z2luVmlld3MoKX1nZXQgY29tcG9zaW5nKCl7cmV0dXJuIHRoaXMuaW5wdXQuY29tcG9zaW5nfWdldCBwcm9wcygpe2lmKHRoaXMuX3Byb3BzLnN0YXRlIT10aGlzLnN0YXRlKXtsZXQgZT10aGlzLl9wcm9wczt0aGlzLl9wcm9wcz17fTtmb3IobGV0IHQgaW4gZSl0aGlzLl9wcm9wc1t0XT1lW3RdO3RoaXMuX3Byb3BzLnN0YXRlPXRoaXMuc3RhdGV9cmV0dXJuIHRoaXMuX3Byb3BzfXVwZGF0ZShlKXtlLmhhbmRsZURPTUV2ZW50cyE9dGhpcy5fcHJvcHMuaGFuZGxlRE9NRXZlbnRzJiZHS2UodGhpcyk7bGV0IHQ9dGhpcy5fcHJvcHM7dGhpcy5fcHJvcHM9ZSxlLnBsdWdpbnMmJihlLnBsdWdpbnMuZm9yRWFjaCh3bmEpLHRoaXMuZGlyZWN0UGx1Z2lucz1lLnBsdWdpbnMpLHRoaXMudXBkYXRlU3RhdGVJbm5lcihlLnN0YXRlLHQpfXNldFByb3BzKGUpe2xldCB0PXt9O2ZvcihsZXQgciBpbiB0aGlzLl9wcm9wcyl0W3JdPXRoaXMuX3Byb3BzW3JdO3Quc3RhdGU9dGhpcy5zdGF0ZTtmb3IobGV0IHIgaW4gZSl0W3JdPWVbcl07dGhpcy51cGRhdGUodCl9dXBkYXRlU3RhdGUoZSl7dGhpcy51cGRhdGVTdGF0ZUlubmVyKGUsdGhpcy5fcHJvcHMpfXVwZGF0ZVN0YXRlSW5uZXIoZSx0KXt2YXIgcjtsZXQgaT10aGlzLnN0YXRlLG89ITEsbj0hMTtlLnN0b3JlZE1hcmtzJiZ0aGlzLmNvbXBvc2luZyYmKGluYSh0aGlzKSxuPSEwKSx0aGlzLnN0YXRlPWU7bGV0IGw9aS5wbHVnaW5zIT1lLnBsdWdpbnN8fHRoaXMuX3Byb3BzLnBsdWdpbnMhPXQucGx1Z2lucztpZihsfHx0aGlzLl9wcm9wcy5wbHVnaW5zIT10LnBsdWdpbnN8fHRoaXMuX3Byb3BzLm5vZGVWaWV3cyE9dC5ub2RlVmlld3Mpe2xldCB2PXluYSh0aGlzKTtKQWEodix0aGlzLm5vZGVWaWV3cykmJih0aGlzLm5vZGVWaWV3cz12LG89ITApfShsfHx0LmhhbmRsZURPTUV2ZW50cyE9dGhpcy5fcHJvcHMuaGFuZGxlRE9NRXZlbnRzKSYmR0tlKHRoaXMpLHRoaXMuZWRpdGFibGU9eG5hKHRoaXMpLHZuYSh0aGlzKTtsZXQgZD1lWmUodGhpcyksYz1ibmEodGhpcykscD1pLnBsdWdpbnMhPWUucGx1Z2lucyYmIWkuZG9jLmVxKGUuZG9jKT8icmVzZXQiOmUuc2Nyb2xsVG9TZWxlY3Rpb24+aS5zY3JvbGxUb1NlbGVjdGlvbj8idG8gc2VsZWN0aW9uIjoicHJlc2VydmUiLHU9b3x8IXRoaXMuZG9jVmlldy5tYXRjaGVzTm9kZShlLmRvYyxjLGQpOyh1fHwhZS5zZWxlY3Rpb24uZXEoaS5zZWxlY3Rpb24pKSYmKG49ITApO2xldCBtPXA9PSJwcmVzZXJ2ZSImJm4mJnRoaXMuZG9tLnN0eWxlLm92ZXJmbG93QW5jaG9yPT1udWxsJiZFRGEodGhpcyk7aWYobil7dGhpcy5kb21PYnNlcnZlci5zdG9wKCk7bGV0IHY9dSYmKEFvfHxyaSkmJiF0aGlzLmNvbXBvc2luZyYmIWkuc2VsZWN0aW9uLmVtcHR5JiYhZS5zZWxlY3Rpb24uZW1wdHkmJlFBYShpLnNlbGVjdGlvbixlLnNlbGVjdGlvbik7aWYodSl7bGV0IHg9cmk/dGhpcy50cmFja1dyaXRlcz10aGlzLmRvbVNlbGVjdGlvblJhbmdlKCkuZm9jdXNOb2RlOm51bGw7dGhpcy5jb21wb3NpbmcmJih0aGlzLmlucHV0LmNvbXBvc2l0aW9uTm9kZT1UQWEodGhpcykpLChvfHwhdGhpcy5kb2NWaWV3LnVwZGF0ZShlLmRvYyxjLGQsdGhpcykpJiYodGhpcy5kb2NWaWV3LnVwZGF0ZU91dGVyRGVjbyhjKSx0aGlzLmRvY1ZpZXcuZGVzdHJveSgpLHRoaXMuZG9jVmlldz0kb2EoZS5kb2MsYyxkLHRoaXMuZG9tLHRoaXMpKSx4JiYoIXRoaXMudHJhY2tXcml0ZXN8fCF0aGlzLmRvbS5jb250YWlucyh0aGlzLnRyYWNrV3JpdGVzKSkmJih2PSEwKX12fHwhKHRoaXMuaW5wdXQubW91c2VEb3duJiZ0aGlzLmRvbU9ic2VydmVyLmN1cnJlbnRTZWxlY3Rpb24uZXEodGhpcy5kb21TZWxlY3Rpb25SYW5nZSgpKSYmZUFhKHRoaXMpKT9NYyh0aGlzLHYpOihGb2EodGhpcyxlLnNlbGVjdGlvbiksdGhpcy5kb21PYnNlcnZlci5zZXRDdXJTZWxlY3Rpb24oKSksdGhpcy5kb21PYnNlcnZlci5zdGFydCgpfXRoaXMudXBkYXRlUGx1Z2luVmlld3MoaSksISgocj10aGlzLmRyYWdnaW5nKT09PW51bGx8fHI9PT12b2lkIDApJiZyLm5vZGUmJiFpLmRvYy5lcShlLmRvYykmJnRoaXMudXBkYXRlRHJhZ2dlZE5vZGUodGhpcy5kcmFnZ2luZyxpKSxwPT0icmVzZXQiP3RoaXMuZG9tLnNjcm9sbFRvcD0wOnA9PSJ0byBzZWxlY3Rpb24iP3RoaXMuc2Nyb2xsVG9TZWxlY3Rpb24oKTptJiZQRGEobSl9c2Nyb2xsVG9TZWxlY3Rpb24oKXtsZXQgZT10aGlzLmRvbVNlbGVjdGlvblJhbmdlKCkuZm9jdXNOb2RlO2lmKCEoIWV8fCF0aGlzLmRvbS5jb250YWlucyhlLm5vZGVUeXBlPT0xP2U6ZS5wYXJlbnROb2RlKSkpe2lmKCF0aGlzLnNvbWVQcm9wKCJoYW5kbGVTY3JvbGxUb1NlbGVjdGlvbiIsdD0+dCh0aGlzKSkpaWYodGhpcy5zdGF0ZS5zZWxlY3Rpb24gaW5zdGFuY2VvZiBNdCl7bGV0IHQ9dGhpcy5kb2NWaWV3LmRvbUFmdGVyUG9zKHRoaXMuc3RhdGUuc2VsZWN0aW9uLmZyb20pO3Qubm9kZVR5cGU9PTEmJnZvYSh0aGlzLHQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZSl9ZWxzZSB2b2EodGhpcyx0aGlzLmNvb3Jkc0F0UG9zKHRoaXMuc3RhdGUuc2VsZWN0aW9uLmhlYWQsMSksZSl9fWRlc3Ryb3lQbHVnaW5WaWV3cygpe2xldCBlO2Zvcig7ZT10aGlzLnBsdWdpblZpZXdzLnBvcCgpOyllLmRlc3Ryb3kmJmUuZGVzdHJveSgpfXVwZGF0ZVBsdWdpblZpZXdzKGUpe2lmKCFlfHxlLnBsdWdpbnMhPXRoaXMuc3RhdGUucGx1Z2luc3x8dGhpcy5kaXJlY3RQbHVnaW5zIT10aGlzLnByZXZEaXJlY3RQbHVnaW5zKXt0aGlzLnByZXZEaXJlY3RQbHVnaW5zPXRoaXMuZGlyZWN0UGx1Z2lucyx0aGlzLmRlc3Ryb3lQbHVnaW5WaWV3cygpO2ZvcihsZXQgdD0wO3Q8dGhpcy5kaXJlY3RQbHVnaW5zLmxlbmd0aDt0Kyspe2xldCByPXRoaXMuZGlyZWN0UGx1Z2luc1t0XTtyLnNwZWMudmlldyYmdGhpcy5wbHVnaW5WaWV3cy5wdXNoKHIuc3BlYy52aWV3KHRoaXMpKX1mb3IobGV0IHQ9MDt0PHRoaXMuc3RhdGUucGx1Z2lucy5sZW5ndGg7dCsrKXtsZXQgcj10aGlzLnN0YXRlLnBsdWdpbnNbdF07ci5zcGVjLnZpZXcmJnRoaXMucGx1Z2luVmlld3MucHVzaChyLnNwZWMudmlldyh0aGlzKSl9fWVsc2UgZm9yKGxldCB0PTA7dDx0aGlzLnBsdWdpblZpZXdzLmxlbmd0aDt0Kyspe2xldCByPXRoaXMucGx1Z2luVmlld3NbdF07ci51cGRhdGUmJnIudXBkYXRlKHRoaXMsZSl9fXVwZGF0ZURyYWdnZWROb2RlKGUsdCl7bGV0IHI9ZS5ub2RlLGk9LTE7aWYoci5mcm9tPHRoaXMuc3RhdGUuZG9jLmNvbnRlbnQuc2l6ZSYmdGhpcy5zdGF0ZS5kb2Mubm9kZUF0KHIuZnJvbSk9PXIubm9kZSlpPXIuZnJvbTtlbHNle2xldCBvPXIuZnJvbSsodGhpcy5zdGF0ZS5kb2MuY29udGVudC5zaXplLXQuZG9jLmNvbnRlbnQuc2l6ZSk7KG8+MCYmbzx0aGlzLnN0YXRlLmRvYy5jb250ZW50LnNpemUmJnRoaXMuc3RhdGUuZG9jLm5vZGVBdChvKSk9PXIubm9kZSYmKGk9byl9dGhpcy5kcmFnZ2luZz1uZXcgamFlKGUuc2xpY2UsZS5tb3ZlLGk8MD92b2lkIDA6TXQuY3JlYXRlKHRoaXMuc3RhdGUuZG9jLGkpKX1zb21lUHJvcChlLHQpe2xldCByPXRoaXMuX3Byb3BzJiZ0aGlzLl9wcm9wc1tlXSxpO2lmKHIhPW51bGwmJihpPXQ/dChyKTpyKSlyZXR1cm4gaTtmb3IobGV0IG49MDtuPHRoaXMuZGlyZWN0UGx1Z2lucy5sZW5ndGg7bisrKXtsZXQgbD10aGlzLmRpcmVjdFBsdWdpbnNbbl0ucHJvcHNbZV07aWYobCE9bnVsbCYmKGk9dD90KGwpOmwpKXJldHVybiBpfWxldCBvPXRoaXMuc3RhdGUucGx1Z2lucztpZihvKWZvcihsZXQgbj0wO248by5sZW5ndGg7bisrKXtsZXQgbD1vW25dLnByb3BzW2VdO2lmKGwhPW51bGwmJihpPXQ/dChsKTpsKSlyZXR1cm4gaX19aGFzRm9jdXMoKXtpZihBbyl7bGV0IGU9dGhpcy5yb290LmFjdGl2ZUVsZW1lbnQ7aWYoZT09dGhpcy5kb20pcmV0dXJuITA7aWYoIWV8fCF0aGlzLmRvbS5jb250YWlucyhlKSlyZXR1cm4hMTtmb3IoO2UmJnRoaXMuZG9tIT1lJiZ0aGlzLmRvbS5jb250YWlucyhlKTspe2lmKGUuY29udGVudEVkaXRhYmxlPT0iZmFsc2UiKXJldHVybiExO2U9ZS5wYXJlbnRFbGVtZW50fXJldHVybiEwfXJldHVybiB0aGlzLnJvb3QuYWN0aXZlRWxlbWVudD09dGhpcy5kb219Zm9jdXMoKXt0aGlzLmRvbU9ic2VydmVyLnN0b3AoKSx0aGlzLmVkaXRhYmxlJiZJRGEodGhpcy5kb20pLE1jKHRoaXMpLHRoaXMuZG9tT2JzZXJ2ZXIuc3RhcnQoKX1nZXQgcm9vdCgpe2xldCBlPXRoaXMuX3Jvb3Q7aWYoZT09bnVsbCl7Zm9yKGxldCB0PXRoaXMuZG9tLnBhcmVudE5vZGU7dDt0PXQucGFyZW50Tm9kZSlpZih0Lm5vZGVUeXBlPT05fHx0Lm5vZGVUeXBlPT0xMSYmdC5ob3N0KXJldHVybiB0LmdldFNlbGVjdGlvbnx8KE9iamVjdC5nZXRQcm90b3R5cGVPZih0KS5nZXRTZWxlY3Rpb249KCk9PnQub3duZXJEb2N1bWVudC5nZXRTZWxlY3Rpb24oKSksdGhpcy5fcm9vdD10fXJldHVybiBlfHxkb2N1bWVudH11cGRhdGVSb290KCl7dGhpcy5fcm9vdD1udWxsfXBvc0F0Q29vcmRzKGUpe3JldHVybiBCRGEodGhpcyxlKX1jb29yZHNBdFBvcyhlLHQ9MSl7cmV0dXJuIFNvYSh0aGlzLGUsdCl9ZG9tQXRQb3MoZSx0PTApe3JldHVybiB0aGlzLmRvY1ZpZXcuZG9tRnJvbVBvcyhlLHQpfW5vZGVET00oZSl7bGV0IHQ9dGhpcy5kb2NWaWV3LmRlc2NBdChlKTtyZXR1cm4gdD90Lm5vZGVET006bnVsbH1wb3NBdERPTShlLHQscj0tMSl7bGV0IGk9dGhpcy5kb2NWaWV3LnBvc0Zyb21ET00oZSx0LHIpO2lmKGk9PW51bGwpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkRPTSBwb3NpdGlvbiBub3QgaW5zaWRlIHRoZSBlZGl0b3IiKTtyZXR1cm4gaX1lbmRPZlRleHRibG9jayhlLHQpe3JldHVybiBVRGEodGhpcyx0fHx0aGlzLnN0YXRlLGUpfXBhc3RlSFRNTChlLHQpe3JldHVybiBvVyh0aGlzLCIiLGUsITEsdHx8bmV3IENsaXBib2FyZEV2ZW50KCJwYXN0ZSIpKX1wYXN0ZVRleHQoZSx0KXtyZXR1cm4gb1codGhpcyxlLG51bGwsITAsdHx8bmV3IENsaXBib2FyZEV2ZW50KCJwYXN0ZSIpKX1zZXJpYWxpemVGb3JDbGlwYm9hcmQoZSl7cmV0dXJuIHFLZSh0aGlzLGUpfWRlc3Ryb3koKXt0aGlzLmRvY1ZpZXcmJihnQWEodGhpcyksdGhpcy5kZXN0cm95UGx1Z2luVmlld3MoKSx0aGlzLm1vdW50ZWQ/KHRoaXMuZG9jVmlldy51cGRhdGUodGhpcy5zdGF0ZS5kb2MsW10sZVplKHRoaXMpLHRoaXMpLHRoaXMuZG9tLnRleHRDb250ZW50PSIiKTp0aGlzLmRvbS5wYXJlbnROb2RlJiZ0aGlzLmRvbS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZG9tKSx0aGlzLmRvY1ZpZXcuZGVzdHJveSgpLHRoaXMuZG9jVmlldz1udWxsLGtEYSgpKX1nZXQgaXNEZXN0cm95ZWQoKXtyZXR1cm4gdGhpcy5kb2NWaWV3PT1udWxsfWRpc3BhdGNoRXZlbnQoZSl7cmV0dXJuIHZBYSh0aGlzLGUpfWRvbVNlbGVjdGlvblJhbmdlKCl7bGV0IGU9dGhpcy5kb21TZWxlY3Rpb24oKTtyZXR1cm4gZT9BaSYmdGhpcy5yb290Lm5vZGVUeXBlPT09MTEmJlREYSh0aGlzLmRvbS5vd25lckRvY3VtZW50KT09dGhpcy5kb20mJkJBYSh0aGlzLGUpfHxlOntmb2N1c05vZGU6bnVsbCxmb2N1c09mZnNldDowLGFuY2hvck5vZGU6bnVsbCxhbmNob3JPZmZzZXQ6MH19ZG9tU2VsZWN0aW9uKCl7cmV0dXJuIHRoaXMucm9vdC5nZXRTZWxlY3Rpb24oKX19OyRtLnByb3RvdHlwZS5kaXNwYXRjaD1mdW5jdGlvbihhKXtsZXQgZT10aGlzLl9wcm9wcy5kaXNwYXRjaFRyYW5zYWN0aW9uO2U/ZS5jYWxsKHRoaXMsYSk6dGhpcy51cGRhdGVTdGF0ZSh0aGlzLnN0YXRlLmFwcGx5KGEpKX07cyhibmEsImNvbXB1dGVEb2NEZWNvIik7cyh2bmEsInVwZGF0ZUN1cnNvcldyYXBwZXIiKTtzKHhuYSwiZ2V0RWRpdGFibGUiKTtzKFFBYSwic2VsZWN0aW9uQ29udGV4dENoYW5nZWQiKTtzKHluYSwiYnVpbGROb2RlVmlld3MiKTtzKEpBYSwiY2hhbmdlZE5vZGVWaWV3cyIpO3Mod25hLCJjaGVja1N0YXRlQ29tcG9uZW50Iil9KTt2YXIgTW5hPWYoKCk9PntzWmUoKX0pO2Z1bmN0aW9uIGtuYShhKXt2YXIgZT1lRWEmJmEubWV0YUtleSYmYS5zaGlmdEtleSYmIWEuY3RybEtleSYmIWEuYWx0S2V5fHx0RWEmJmEuc2hpZnRLZXkmJmEua2V5JiZhLmtleS5sZW5ndGg9PTF8fGEua2V5PT0iVW5pZGVudGlmaWVkIix0PSFlJiZhLmtleXx8KGEuc2hpZnRLZXk/WWFlOmtjKVthLmtleUNvZGVdfHxhLmtleXx8IlVuaWRlbnRpZmllZCI7cmV0dXJuIHQ9PSJFc2MiJiYodD0iRXNjYXBlIiksdD09IkRlbCImJih0PSJEZWxldGUiKSx0PT0iTGVmdCImJih0PSJBcnJvd0xlZnQiKSx0PT0iVXAiJiYodD0iQXJyb3dVcCIpLHQ9PSJSaWdodCImJih0PSJBcnJvd1JpZ2h0IiksdD09IkRvd24iJiYodD0iQXJyb3dEb3duIiksdH12YXIga2MsWWFlLGVFYSx0RWEsaHMsS2FlLFNuYT1mKCgpPT57a2M9ezg6IkJhY2tzcGFjZSIsOToiVGFiIiwxMDoiRW50ZXIiLDEyOiJOdW1Mb2NrIiwxMzoiRW50ZXIiLDE2OiJTaGlmdCIsMTc6IkNvbnRyb2wiLDE4OiJBbHQiLDIwOiJDYXBzTG9jayIsMjc6IkVzY2FwZSIsMzI6IiAiLDMzOiJQYWdlVXAiLDM0OiJQYWdlRG93biIsMzU6IkVuZCIsMzY6IkhvbWUiLDM3OiJBcnJvd0xlZnQiLDM4OiJBcnJvd1VwIiwzOToiQXJyb3dSaWdodCIsNDA6IkFycm93RG93biIsNDQ6IlByaW50U2NyZWVuIiw0NToiSW5zZXJ0Iiw0NjoiRGVsZXRlIiw1OToiOyIsNjE6Ij0iLDkxOiJNZXRhIiw5MjoiTWV0YSIsMTA2OiIqIiwxMDc6IisiLDEwODoiLCIsMTA5OiItIiwxMTA6Ii4iLDExMToiLyIsMTQ0OiJOdW1Mb2NrIiwxNDU6IlNjcm9sbExvY2siLDE2MDoiU2hpZnQiLDE2MToiU2hpZnQiLDE2MjoiQ29udHJvbCIsMTYzOiJDb250cm9sIiwxNjQ6IkFsdCIsMTY1OiJBbHQiLDE3MzoiLSIsMTg2OiI7IiwxODc6Ij0iLDE4ODoiLCIsMTg5OiItIiwxOTA6Ii4iLDE5MToiLyIsMTkyOiJgIiwyMTk6IlsiLDIyMDoiXFwiLDIyMToiXSIsMjIyOiInIn0sWWFlPXs0ODoiKSIsNDk6IiEiLDUwOiJAIiw1MToiIyIsNTI6IiQiLDUzOiIlIiw1NDoiXiIsNTU6IiYiLDU2OiIqIiw1NzoiKCIsNTk6IjoiLDYxOiIrIiwxNzM6Il8iLDE4NjoiOiIsMTg3OiIrIiwxODg6IjwiLDE4OToiXyIsMTkwOiI+IiwxOTE6Ij8iLDE5MjoifiIsMjE5OiJ7IiwyMjA6InwiLDIyMToifSIsMjIyOiciJ30sZUVhPXR5cGVvZiBuYXZpZ2F0b3I8InUiJiYvTWFjLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksdEVhPXR5cGVvZiBuYXZpZ2F0b3I8InUiJiYvTVNJRSBcZHxUcmlkZW50XC8oPzpbNy05XXxcZHsyLH0pXC4uKnJ2OihcZCspLy5leGVjKG5hdmlnYXRvci51c2VyQWdlbnQpO2Zvcihocz0wO2hzPDEwO2hzKyspa2NbNDgraHNdPWtjWzk2K2hzXT1TdHJpbmcoaHMpO2Zvcihocz0xO2hzPD0yNDtocysrKWtjW2hzKzExMV09IkYiK2hzO2Zvcihocz02NTtoczw9OTA7aHMrKylrY1toc109U3RyaW5nLmZyb21DaGFyQ29kZShocyszMiksWWFlW2hzXT1TdHJpbmcuZnJvbUNoYXJDb2RlKGhzKTtmb3IoS2FlIGluIGtjKVlhZS5oYXNPd25Qcm9wZXJ0eShLYWUpfHwoWWFlW0thZV09a2NbS2FlXSk7cyhrbmEsImtleU5hbWUiKX0pO2Z1bmN0aW9uIHNFYShhKXtsZXQgZT1hLnNwbGl0KC8tKD8hJCkvKSx0PWVbZS5sZW5ndGgtMV07dD09IlNwYWNlIiYmKHQ9IiAiKTtsZXQgcixpLG8sbjtmb3IobGV0IGw9MDtsPGUubGVuZ3RoLTE7bCsrKXtsZXQgZD1lW2xdO2lmKC9eKGNtZHxtZXRhfG0pJC9pLnRlc3QoZCkpbj0hMDtlbHNlIGlmKC9eYShsdCk/JC9pLnRlc3QoZCkpcj0hMDtlbHNlIGlmKC9eKGN8Y3RybHxjb250cm9sKSQvaS50ZXN0KGQpKWk9ITA7ZWxzZSBpZigvXnMoaGlmdCk/JC9pLnRlc3QoZCkpbz0hMDtlbHNlIGlmKC9ebW9kJC9pLnRlc3QoZCkpYUVhP249ITA6aT0hMDtlbHNlIHRocm93IG5ldyBFcnJvcigiVW5yZWNvZ25pemVkIG1vZGlmaWVyIG5hbWU6ICIrZCl9cmV0dXJuIHImJih0PSJBbHQtIit0KSxpJiYodD0iQ3RybC0iK3QpLG4mJih0PSJNZXRhLSIrdCksbyYmKHQ9IlNoaWZ0LSIrdCksdH1mdW5jdGlvbiBpRWEoYSl7bGV0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtmb3IobGV0IHQgaW4gYSllW3NFYSh0KV09YVt0XTtyZXR1cm4gZX1mdW5jdGlvbiBpWmUoYSxlLHQ9ITApe3JldHVybiBlLmFsdEtleSYmKGE9IkFsdC0iK2EpLGUuY3RybEtleSYmKGE9IkN0cmwtIithKSxlLm1ldGFLZXkmJihhPSJNZXRhLSIrYSksdCYmZS5zaGlmdEtleSYmKGE9IlNoaWZ0LSIrYSksYX1mdW5jdGlvbiBvWmUoYSl7cmV0dXJuIG5ldyBhcih7cHJvcHM6e2hhbmRsZUtleURvd246WmFlKGEpfX0pfWZ1bmN0aW9uIFphZShhKXtsZXQgZT1pRWEoYSk7cmV0dXJuIGZ1bmN0aW9uKHQscil7bGV0IGk9a25hKHIpLG8sbj1lW2laZShpLHIpXTtpZihuJiZuKHQuc3RhdGUsdC5kaXNwYXRjaCx0KSlyZXR1cm4hMDtpZihpLmxlbmd0aD09MSYmaSE9IiAiKXtpZihyLnNoaWZ0S2V5KXtsZXQgbD1lW2laZShpLHIsITEpXTtpZihsJiZsKHQuc3RhdGUsdC5kaXNwYXRjaCx0KSlyZXR1cm4hMH1pZigoci5hbHRLZXl8fHIubWV0YUtleXx8ci5jdHJsS2V5KSYmIShyRWEmJnIuY3RybEtleSYmci5hbHRLZXkpJiYobz1rY1tyLmtleUNvZGVdKSYmbyE9aSl7bGV0IGw9ZVtpWmUobyxyKV07aWYobCYmbCh0LnN0YXRlLHQuZGlzcGF0Y2gsdCkpcmV0dXJuITB9fXJldHVybiExfX12YXIgYUVhLHJFYSxuWmU9ZigoKT0+e1NuYSgpO3ZjKCk7YUVhPXR5cGVvZiBuYXZpZ2F0b3I8InUiJiYvTWFjfGlQKGhvbmV8W29hXWQpLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSksckVhPXR5cGVvZiBuYXZpZ2F0b3I8InUiJiYvV2luLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSk7cyhzRWEsIm5vcm1hbGl6ZUtleU5hbWUiKTtzKGlFYSwibm9ybWFsaXplIik7cyhpWmUsIm1vZGlmaWVycyIpO3Mob1plLCJrZXltYXAiKTtzKFphZSwia2V5ZG93bkhhbmRsZXIiKX0pO3ZhciB6bmE9ZigoKT0+e25aZSgpfSk7dmFyIENuYT1mKCgpPT57bTQoKX0pO3ZhciBfbmE9ZigoKT0+e2I0KCl9KTtmdW5jdGlvbiBUbmEoYSxlKXtsZXR7JGN1cnNvcjp0fT1hLnNlbGVjdGlvbjtyZXR1cm4hdHx8KGU/IWUuZW5kT2ZUZXh0YmxvY2soImJhY2t3YXJkIixhKTp0LnBhcmVudE9mZnNldD4wKT9udWxsOnR9ZnVuY3Rpb24gTG5hKGEsZSx0KXtsZXQgcj1lLm5vZGVCZWZvcmUsaT1yLG89ZS5wb3MtMTtmb3IoOyFpLmlzVGV4dGJsb2NrO28tLSl7aWYoaS50eXBlLnNwZWMuaXNvbGF0aW5nKXJldHVybiExO2xldCBwPWkubGFzdENoaWxkO2lmKCFwKXJldHVybiExO2k9cH1sZXQgbj1lLm5vZGVBZnRlcixsPW4sZD1lLnBvcysxO2Zvcig7IWwuaXNUZXh0YmxvY2s7ZCsrKXtpZihsLnR5cGUuc3BlYy5pc29sYXRpbmcpcmV0dXJuITE7bGV0IHA9bC5maXJzdENoaWxkO2lmKCFwKXJldHVybiExO2w9cH1sZXQgYz13bShhLmRvYyxvLGQsc3QuZW1wdHkpO2lmKCFjfHxjLmZyb20hPW98fGMgaW5zdGFuY2VvZiBHcyYmYy5zbGljZS5zaXplPj1kLW8pcmV0dXJuITE7aWYodCl7bGV0IHA9YS50ci5zdGVwKGMpO3Auc2V0U2VsZWN0aW9uKFJ0LmNyZWF0ZShwLmRvYyxvKSksdChwLnNjcm9sbEludG9WaWV3KCkpfXJldHVybiEwfWZ1bmN0aW9uIERtKGEsZSx0PSExKXtmb3IobGV0IHI9YTtyO3I9ZT09InN0YXJ0Ij9yLmZpcnN0Q2hpbGQ6ci5sYXN0Q2hpbGQpe2lmKHIuaXNUZXh0YmxvY2spcmV0dXJuITA7aWYodCYmci5jaGlsZENvdW50IT0xKXJldHVybiExfXJldHVybiExfWZ1bmN0aW9uIGxaZShhKXtpZighYS5wYXJlbnQudHlwZS5zcGVjLmlzb2xhdGluZylmb3IobGV0IGU9YS5kZXB0aC0xO2U+PTA7ZS0tKXtpZihhLmluZGV4KGUpPjApcmV0dXJuIGEuZG9jLnJlc29sdmUoYS5iZWZvcmUoZSsxKSk7aWYoYS5ub2RlKGUpLnR5cGUuc3BlYy5pc29sYXRpbmcpYnJlYWt9cmV0dXJuIG51bGx9ZnVuY3Rpb24gJG5hKGEsZSl7bGV0eyRjdXJzb3I6dH09YS5zZWxlY3Rpb247cmV0dXJuIXR8fChlPyFlLmVuZE9mVGV4dGJsb2NrKCJmb3J3YXJkIixhKTp0LnBhcmVudE9mZnNldDx0LnBhcmVudC5jb250ZW50LnNpemUpP251bGw6dH1mdW5jdGlvbiBjWmUoYSl7aWYoIWEucGFyZW50LnR5cGUuc3BlYy5pc29sYXRpbmcpZm9yKGxldCBlPWEuZGVwdGgtMTtlPj0wO2UtLSl7bGV0IHQ9YS5ub2RlKGUpO2lmKGEuaW5kZXgoZSkrMTx0LmNoaWxkQ291bnQpcmV0dXJuIGEuZG9jLnJlc29sdmUoYS5hZnRlcihlKzEpKTtpZih0LnR5cGUuc3BlYy5pc29sYXRpbmcpYnJlYWt9cmV0dXJuIG51bGx9ZnVuY3Rpb24gZFplKGEpe2ZvcihsZXQgZT0wO2U8YS5lZGdlQ291bnQ7ZSsrKXtsZXR7dHlwZTp0fT1hLmVkZ2UoZSk7aWYodC5pc1RleHRibG9jayYmIXQuaGFzUmVxdWlyZWRBdHRycygpKXJldHVybiB0fXJldHVybiBudWxsfWZ1bmN0aW9uIERuYShhKXtyZXR1cm4oZSx0KT0+e2xldHskZnJvbTpyLCR0bzppfT1lLnNlbGVjdGlvbjtpZihlLnNlbGVjdGlvbiBpbnN0YW5jZW9mIE10JiZlLnNlbGVjdGlvbi5ub2RlLmlzQmxvY2spcmV0dXJuIXIucGFyZW50T2Zmc2V0fHwhRG8oZS5kb2Msci5wb3MpPyExOih0JiZ0KGUudHIuc3BsaXQoci5wb3MpLnNjcm9sbEludG9WaWV3KCkpLCEwKTtpZighci5kZXB0aClyZXR1cm4hMTtsZXQgbz1bXSxuLGwsZD0hMSxjPSExO2ZvcihsZXQgdj1yLmRlcHRoOzt2LS0paWYoci5ub2RlKHYpLmlzQmxvY2spe2Q9ci5lbmQodik9PXIucG9zKyhyLmRlcHRoLXYpLGM9ci5zdGFydCh2KT09ci5wb3MtKHIuZGVwdGgtdiksbD1kWmUoci5ub2RlKHYtMSkuY29udGVudE1hdGNoQXQoci5pbmRleEFmdGVyKHYtMSkpKTtsZXQgYj1hJiZhKGkucGFyZW50LGQscik7by51bnNoaWZ0KGJ8fChkJiZsP3t0eXBlOmx9Om51bGwpKSxuPXY7YnJlYWt9ZWxzZXtpZih2PT0xKXJldHVybiExO28udW5zaGlmdChudWxsKX1sZXQgcD1lLnRyOyhlLnNlbGVjdGlvbiBpbnN0YW5jZW9mIFJ0fHxlLnNlbGVjdGlvbiBpbnN0YW5jZW9mIERpKSYmcC5kZWxldGVTZWxlY3Rpb24oKTtsZXQgdT1wLm1hcHBpbmcubWFwKHIucG9zKSxtPURvKHAuZG9jLHUsby5sZW5ndGgsbyk7aWYobXx8KG9bMF09bD97dHlwZTpsfTpudWxsLG09RG8ocC5kb2MsdSxvLmxlbmd0aCxvKSksIW0pcmV0dXJuITE7aWYocC5zcGxpdCh1LG8ubGVuZ3RoLG8pLCFkJiZjJiZyLm5vZGUobikudHlwZSE9bCl7bGV0IHY9cC5tYXBwaW5nLm1hcChyLmJlZm9yZShuKSkseD1wLmRvYy5yZXNvbHZlKHYpO2wmJnIubm9kZShuLTEpLmNhblJlcGxhY2VXaXRoKHguaW5kZXgoKSx4LmluZGV4KCkrMSxsKSYmcC5zZXROb2RlTWFya3VwKHAubWFwcGluZy5tYXAoci5iZWZvcmUobikpLGwpfXJldHVybiB0JiZ0KHAuc2Nyb2xsSW50b1ZpZXcoKSksITB9fWZ1bmN0aW9uIG5FYShhLGUsdCl7bGV0IHI9ZS5ub2RlQmVmb3JlLGk9ZS5ub2RlQWZ0ZXIsbz1lLmluZGV4KCk7cmV0dXJuIXJ8fCFpfHwhci50eXBlLmNvbXBhdGlibGVDb250ZW50KGkudHlwZSk/ITE6IXIuY29udGVudC5zaXplJiZlLnBhcmVudC5jYW5SZXBsYWNlKG8tMSxvKT8odCYmdChhLnRyLmRlbGV0ZShlLnBvcy1yLm5vZGVTaXplLGUucG9zKS5zY3JvbGxJbnRvVmlldygpKSwhMCk6IWUucGFyZW50LmNhblJlcGxhY2UobyxvKzEpfHwhKGkuaXNUZXh0YmxvY2t8fGVuKGEuZG9jLGUucG9zKSk/ITE6KHQmJnQoYS50ci5qb2luKGUucG9zKS5zY3JvbGxJbnRvVmlldygpKSwhMCl9ZnVuY3Rpb24gRW5hKGEsZSx0LHIpe2xldCBpPWUubm9kZUJlZm9yZSxvPWUubm9kZUFmdGVyLG4sbCxkPWkudHlwZS5zcGVjLmlzb2xhdGluZ3x8by50eXBlLnNwZWMuaXNvbGF0aW5nO2lmKCFkJiZuRWEoYSxlLHQpKXJldHVybiEwO2xldCBjPSFkJiZlLnBhcmVudC5jYW5SZXBsYWNlKGUuaW5kZXgoKSxlLmluZGV4KCkrMSk7aWYoYyYmKG49KGw9aS5jb250ZW50TWF0Y2hBdChpLmNoaWxkQ291bnQpKS5maW5kV3JhcHBpbmcoby50eXBlKSkmJmwubWF0Y2hUeXBlKG5bMF18fG8udHlwZSkudmFsaWRFbmQpe2lmKHQpe2xldCB2PWUucG9zK28ubm9kZVNpemUseD1WZS5lbXB0eTtmb3IobGV0IHk9bi5sZW5ndGgtMTt5Pj0wO3ktLSl4PVZlLmZyb20oblt5XS5jcmVhdGUobnVsbCx4KSk7eD1WZS5mcm9tKGkuY29weSh4KSk7bGV0IGI9YS50ci5zdGVwKG5ldyBRcihlLnBvcy0xLHYsZS5wb3MsdixuZXcgc3QoeCwxLDApLG4ubGVuZ3RoLCEwKSksZz1iLmRvYy5yZXNvbHZlKHYrMipuLmxlbmd0aCk7Zy5ub2RlQWZ0ZXImJmcubm9kZUFmdGVyLnR5cGU9PWkudHlwZSYmZW4oYi5kb2MsZy5wb3MpJiZiLmpvaW4oZy5wb3MpLHQoYi5zY3JvbGxJbnRvVmlldygpKX1yZXR1cm4hMH1sZXQgcD1vLnR5cGUuc3BlYy5pc29sYXRpbmd8fHI+MCYmZD9udWxsOkl0LmZpbmRGcm9tKGUsMSksdT1wJiZwLiRmcm9tLmJsb2NrUmFuZ2UocC4kdG8pLG09dSYmRzIodSk7aWYobSE9bnVsbCYmbT49ZS5kZXB0aClyZXR1cm4gdCYmdChhLnRyLmxpZnQodSxtKS5zY3JvbGxJbnRvVmlldygpKSwhMDtpZihjJiZEbShvLCJzdGFydCIsITApJiZEbShpLCJlbmQiKSl7bGV0IHY9aSx4PVtdO2Zvcig7eC5wdXNoKHYpLCF2LmlzVGV4dGJsb2NrOyl2PXYubGFzdENoaWxkO2xldCBiPW8sZz0xO2Zvcig7IWIuaXNUZXh0YmxvY2s7Yj1iLmZpcnN0Q2hpbGQpZysrO2lmKHYuY2FuUmVwbGFjZSh2LmNoaWxkQ291bnQsdi5jaGlsZENvdW50LGIuY29udGVudCkpe2lmKHQpe2xldCB5PVZlLmVtcHR5O2ZvcihsZXQgQz14Lmxlbmd0aC0xO0M+PTA7Qy0tKXk9VmUuZnJvbSh4W0NdLmNvcHkoeSkpO2xldCBrPWEudHIuc3RlcChuZXcgUXIoZS5wb3MteC5sZW5ndGgsZS5wb3Mrby5ub2RlU2l6ZSxlLnBvcytnLGUucG9zK28ubm9kZVNpemUtZyxuZXcgc3QoeSx4Lmxlbmd0aCwwKSwwLCEwKSk7dChrLnNjcm9sbEludG9WaWV3KCkpfXJldHVybiEwfX1yZXR1cm4hMX1mdW5jdGlvbiBQbmEoYSl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7bGV0IHI9ZS5zZWxlY3Rpb24saT1hPDA/ci4kZnJvbTpyLiR0byxvPWkuZGVwdGg7Zm9yKDtpLm5vZGUobykuaXNJbmxpbmU7KXtpZighbylyZXR1cm4hMTtvLS19cmV0dXJuIGkubm9kZShvKS5pc1RleHRibG9jaz8odCYmdChlLnRyLnNldFNlbGVjdGlvbihSdC5jcmVhdGUoZS5kb2MsYTwwP2kuc3RhcnQobyk6aS5lbmQobykpKSksITApOiExfX1mdW5jdGlvbiB5WmUoYSxlPW51bGwpe3JldHVybiBmdW5jdGlvbih0LHIpe2xldHskZnJvbTppLCR0bzpvfT10LnNlbGVjdGlvbixuPWkuYmxvY2tSYW5nZShvKSxsPW4mJmpmKG4sYSxlKTtyZXR1cm4gbD8ociYmcih0LnRyLndyYXAobixsKS5zY3JvbGxJbnRvVmlldygpKSwhMCk6ITF9fWZ1bmN0aW9uIGxyZShhLGU9bnVsbCl7cmV0dXJuIGZ1bmN0aW9uKHQscil7bGV0IGk9ITE7Zm9yKGxldCBvPTA7bzx0LnNlbGVjdGlvbi5yYW5nZXMubGVuZ3RoJiYhaTtvKyspe2xldHskZnJvbTp7cG9zOm59LCR0bzp7cG9zOmx9fT10LnNlbGVjdGlvbi5yYW5nZXNbb107dC5kb2Mubm9kZXNCZXR3ZWVuKG4sbCwoZCxjKT0+e2lmKGkpcmV0dXJuITE7aWYoISghZC5pc1RleHRibG9ja3x8ZC5oYXNNYXJrdXAoYSxlKSkpaWYoZC50eXBlPT1hKWk9ITA7ZWxzZXtsZXQgcD10LmRvYy5yZXNvbHZlKGMpLHU9cC5pbmRleCgpO2k9cC5wYXJlbnQuY2FuUmVwbGFjZVdpdGgodSx1KzEsYSl9fSl9aWYoIWkpcmV0dXJuITE7aWYocil7bGV0IG89dC50cjtmb3IobGV0IG49MDtuPHQuc2VsZWN0aW9uLnJhbmdlcy5sZW5ndGg7bisrKXtsZXR7JGZyb206e3BvczpsfSwkdG86e3BvczpkfX09dC5zZWxlY3Rpb24ucmFuZ2VzW25dO28uc2V0QmxvY2tUeXBlKGwsZCxhLGUpfXIoby5zY3JvbGxJbnRvVmlldygpKX1yZXR1cm4hMH19ZnVuY3Rpb24gbEVhKGEsZSx0LHIpe2ZvcihsZXQgaT0wO2k8ZS5sZW5ndGg7aSsrKXtsZXR7JGZyb206bywkdG86bn09ZVtpXSxsPW8uZGVwdGg9PTA/YS5pbmxpbmVDb250ZW50JiZhLnR5cGUuYWxsb3dzTWFya1R5cGUodCk6ITE7aWYoYS5ub2Rlc0JldHdlZW4oby5wb3Msbi5wb3MsKGQsYyk9PntpZihsfHwhciYmZC5pc0F0b20mJmQuaXNJbmxpbmUmJmM+PW8ucG9zJiZjK2Qubm9kZVNpemU8PW4ucG9zKXJldHVybiExO2w9ZC5pbmxpbmVDb250ZW50JiZkLnR5cGUuYWxsb3dzTWFya1R5cGUodCl9KSxsKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIGNFYShhKXtsZXQgZT1bXTtmb3IobGV0IHQ9MDt0PGEubGVuZ3RoO3QrKyl7bGV0eyRmcm9tOnIsJHRvOml9PWFbdF07ci5kb2Mubm9kZXNCZXR3ZWVuKHIucG9zLGkucG9zLChvLG4pPT57aWYoby5pc0F0b20mJm8uY29udGVudC5zaXplJiZvLmlzSW5saW5lJiZuPj1yLnBvcyYmbitvLm5vZGVTaXplPD1pLnBvcylyZXR1cm4gbisxPnIucG9zJiZlLnB1c2gobmV3IEdmKHIsci5kb2MucmVzb2x2ZShuKzEpKSkscj1yLmRvYy5yZXNvbHZlKG4rMStvLmNvbnRlbnQuc2l6ZSksITF9KSxyLnBvczxpLnBvcyYmZS5wdXNoKG5ldyBHZihyLGkpKX1yZXR1cm4gZX1mdW5jdGlvbiBkRWEoYSxlPW51bGwsdCl7bGV0IHI9KHQmJnQucmVtb3ZlV2hlblByZXNlbnQpIT09ITEsaT0odCYmdC5lbnRlcklubGluZUF0b21zKSE9PSExLG89ISh0JiZ0LmluY2x1ZGVXaGl0ZXNwYWNlKTtyZXR1cm4gZnVuY3Rpb24obixsKXtsZXR7ZW1wdHk6ZCwkY3Vyc29yOmMscmFuZ2VzOnB9PW4uc2VsZWN0aW9uO2lmKGQmJiFjfHwhbEVhKG4uZG9jLHAsYSxpKSlyZXR1cm4hMTtpZihsKWlmKGMpYS5pc0luU2V0KG4uc3RvcmVkTWFya3N8fGMubWFya3MoKSk/bChuLnRyLnJlbW92ZVN0b3JlZE1hcmsoYSkpOmwobi50ci5hZGRTdG9yZWRNYXJrKGEuY3JlYXRlKGUpKSk7ZWxzZXtsZXQgdSxtPW4udHI7aXx8KHA9Y0VhKHApKSxyP3U9IXAuc29tZSh2PT5uLmRvYy5yYW5nZUhhc01hcmsodi4kZnJvbS5wb3Msdi4kdG8ucG9zLGEpKTp1PSFwLmV2ZXJ5KHY9PntsZXQgeD0hMTtyZXR1cm4gbS5kb2Mubm9kZXNCZXR3ZWVuKHYuJGZyb20ucG9zLHYuJHRvLnBvcywoYixnLHkpPT57aWYoeClyZXR1cm4hMTt4PSFhLmlzSW5TZXQoYi5tYXJrcykmJiEheSYmeS50eXBlLmFsbG93c01hcmtUeXBlKGEpJiYhKGIuaXNUZXh0JiYvXlxzKiQvLnRlc3QoYi50ZXh0QmV0d2VlbihNYXRoLm1heCgwLHYuJGZyb20ucG9zLWcpLE1hdGgubWluKGIubm9kZVNpemUsdi4kdG8ucG9zLWcpKSkpfSksIXh9KTtmb3IobGV0IHY9MDt2PHAubGVuZ3RoO3YrKyl7bGV0eyRmcm9tOngsJHRvOmJ9PXBbdl07aWYoIXUpbS5yZW1vdmVNYXJrKHgucG9zLGIucG9zLGEpO2Vsc2V7bGV0IGc9eC5wb3MseT1iLnBvcyxrPXgubm9kZUFmdGVyLEM9Yi5ub2RlQmVmb3JlLE49byYmayYmay5pc1RleHQ/L15ccyovLmV4ZWMoay50ZXh0KVswXS5sZW5ndGg6MCxfPW8mJkMmJkMuaXNUZXh0Py9ccyokLy5leGVjKEMudGV4dClbMF0ubGVuZ3RoOjA7ZytOPHkmJihnKz1OLHktPV8pLG0uYWRkTWFyayhnLHksYS5jcmVhdGUoZSkpfX1sKG0uc2Nyb2xsSW50b1ZpZXcoKSl9cmV0dXJuITB9fWZ1bmN0aW9uIHVFYShhLGUpe3JldHVybiB0PT57aWYoIXQuaXNHZW5lcmljKXJldHVybiBhKHQpO2xldCByPVtdO2ZvcihsZXQgbz0wO288dC5tYXBwaW5nLm1hcHMubGVuZ3RoO28rKyl7bGV0IG49dC5tYXBwaW5nLm1hcHNbb107Zm9yKGxldCBsPTA7bDxyLmxlbmd0aDtsKyspcltsXT1uLm1hcChyW2xdKTtuLmZvckVhY2goKGwsZCxjLHApPT5yLnB1c2goYyxwKSl9bGV0IGk9W107Zm9yKGxldCBvPTA7bzxyLmxlbmd0aDtvKz0yKXtsZXQgbj1yW29dLGw9cltvKzFdLGQ9dC5kb2MucmVzb2x2ZShuKSxjPWQuc2hhcmVkRGVwdGgobCkscD1kLm5vZGUoYyk7Zm9yKGxldCB1PWQuaW5kZXhBZnRlcihjKSxtPWQuYWZ0ZXIoYysxKTttPD1sOysrdSl7bGV0IHY9cC5tYXliZUNoaWxkKHUpO2lmKCF2KWJyZWFrO2lmKHUmJmkuaW5kZXhPZihtKT09LTEpe2xldCB4PXAuY2hpbGQodS0xKTt4LnR5cGU9PXYudHlwZSYmZSh4LHYpJiZpLnB1c2gobSl9bSs9di5ub2RlU2l6ZX19aS5zb3J0KChvLG4pPT5vLW4pO2ZvcihsZXQgbz1pLmxlbmd0aC0xO28+PTA7by0tKWVuKHQuZG9jLGlbb10pJiZ0LmpvaW4oaVtvXSk7YSh0KX19ZnVuY3Rpb24gcEVhKGEsZSl7bGV0IHQ9QXJyYXkuaXNBcnJheShlKT9yPT5lLmluZGV4T2Yoci50eXBlLm5hbWUpPi0xOmU7cmV0dXJuKHIsaSxvKT0+YShyLGkmJnVFYShpLHQpLG8pfWZ1bmN0aW9uIFhhZSguLi5hKXtyZXR1cm4gZnVuY3Rpb24oZSx0LHIpe2ZvcihsZXQgaT0wO2k8YS5sZW5ndGg7aSsrKWlmKGFbaV0oZSx0LHIpKXJldHVybiEwO3JldHVybiExfX12YXIgbFcsUWFlLGhaZSxtWmUsSmFlLGVyZSx0cmUsZ1plLGJaZSx2WmUsYXJlLHJyZSxzcmUsaXJlLHVaZSxvRWEseFplLEFuYSxvcmUsbnJlLHBaZSxJbmEsWjIsZlplLGZFYSxoRWEsTm5hPWYoKCk9PntiNCgpO200KCk7dmMoKTtsVz1zKChhLGUpPT5hLnNlbGVjdGlvbi5lbXB0eT8hMTooZSYmZShhLnRyLmRlbGV0ZVNlbGVjdGlvbigpLnNjcm9sbEludG9WaWV3KCkpLCEwKSwiZGVsZXRlU2VsZWN0aW9uIik7cyhUbmEsImF0QmxvY2tTdGFydCIpO1FhZT1zKChhLGUsdCk9PntsZXQgcj1UbmEoYSx0KTtpZighcilyZXR1cm4hMTtsZXQgaT1sWmUocik7aWYoIWkpe2xldCBuPXIuYmxvY2tSYW5nZSgpLGw9biYmRzIobik7cmV0dXJuIGw9PW51bGw/ITE6KGUmJmUoYS50ci5saWZ0KG4sbCkuc2Nyb2xsSW50b1ZpZXcoKSksITApfWxldCBvPWkubm9kZUJlZm9yZTtpZihFbmEoYSxpLGUsLTEpKXJldHVybiEwO2lmKHIucGFyZW50LmNvbnRlbnQuc2l6ZT09MCYmKERtKG8sImVuZCIpfHxNdC5pc1NlbGVjdGFibGUobykpKWZvcihsZXQgbj1yLmRlcHRoOztuLS0pe2xldCBsPXdtKGEuZG9jLHIuYmVmb3JlKG4pLHIuYWZ0ZXIobiksc3QuZW1wdHkpO2lmKGwmJmwuc2xpY2Uuc2l6ZTxsLnRvLWwuZnJvbSl7aWYoZSl7bGV0IGQ9YS50ci5zdGVwKGwpO2Quc2V0U2VsZWN0aW9uKERtKG8sImVuZCIpP0l0LmZpbmRGcm9tKGQuZG9jLnJlc29sdmUoZC5tYXBwaW5nLm1hcChpLnBvcywtMSkpLC0xKTpNdC5jcmVhdGUoZC5kb2MsaS5wb3Mtby5ub2RlU2l6ZSkpLGUoZC5zY3JvbGxJbnRvVmlldygpKX1yZXR1cm4hMH1pZihuPT0xfHxyLm5vZGUobi0xKS5jaGlsZENvdW50PjEpYnJlYWt9cmV0dXJuIG8uaXNBdG9tJiZpLmRlcHRoPT1yLmRlcHRoLTE/KGUmJmUoYS50ci5kZWxldGUoaS5wb3Mtby5ub2RlU2l6ZSxpLnBvcykuc2Nyb2xsSW50b1ZpZXcoKSksITApOiExfSwiam9pbkJhY2t3YXJkIiksaFplPXMoKGEsZSx0KT0+e2xldCByPVRuYShhLHQpO2lmKCFyKXJldHVybiExO2xldCBpPWxaZShyKTtyZXR1cm4gaT9MbmEoYSxpLGUpOiExfSwiam9pblRleHRibG9ja0JhY2t3YXJkIiksbVplPXMoKGEsZSx0KT0+e2xldCByPSRuYShhLHQpO2lmKCFyKXJldHVybiExO2xldCBpPWNaZShyKTtyZXR1cm4gaT9MbmEoYSxpLGUpOiExfSwiam9pblRleHRibG9ja0ZvcndhcmQiKTtzKExuYSwiam9pblRleHRibG9ja3NBcm91bmQiKTtzKERtLCJ0ZXh0YmxvY2tBdCIpO0phZT1zKChhLGUsdCk9PntsZXR7JGhlYWQ6cixlbXB0eTppfT1hLnNlbGVjdGlvbixvPXI7aWYoIWkpcmV0dXJuITE7aWYoci5wYXJlbnQuaXNUZXh0YmxvY2spe2lmKHQ/IXQuZW5kT2ZUZXh0YmxvY2soImJhY2t3YXJkIixhKTpyLnBhcmVudE9mZnNldD4wKXJldHVybiExO289bFplKHIpfWxldCBuPW8mJm8ubm9kZUJlZm9yZTtyZXR1cm4hbnx8IU10LmlzU2VsZWN0YWJsZShuKT8hMTooZSYmZShhLnRyLnNldFNlbGVjdGlvbihNdC5jcmVhdGUoYS5kb2Msby5wb3Mtbi5ub2RlU2l6ZSkpLnNjcm9sbEludG9WaWV3KCkpLCEwKX0sInNlbGVjdE5vZGVCYWNrd2FyZCIpO3MobFplLCJmaW5kQ3V0QmVmb3JlIik7cygkbmEsImF0QmxvY2tFbmQiKTtlcmU9cygoYSxlLHQpPT57bGV0IHI9JG5hKGEsdCk7aWYoIXIpcmV0dXJuITE7bGV0IGk9Y1plKHIpO2lmKCFpKXJldHVybiExO2xldCBvPWkubm9kZUFmdGVyO2lmKEVuYShhLGksZSwxKSlyZXR1cm4hMDtpZihyLnBhcmVudC5jb250ZW50LnNpemU9PTAmJihEbShvLCJzdGFydCIpfHxNdC5pc1NlbGVjdGFibGUobykpKXtsZXQgbj13bShhLmRvYyxyLmJlZm9yZSgpLHIuYWZ0ZXIoKSxzdC5lbXB0eSk7aWYobiYmbi5zbGljZS5zaXplPG4udG8tbi5mcm9tKXtpZihlKXtsZXQgbD1hLnRyLnN0ZXAobik7bC5zZXRTZWxlY3Rpb24oRG0obywic3RhcnQiKT9JdC5maW5kRnJvbShsLmRvYy5yZXNvbHZlKGwubWFwcGluZy5tYXAoaS5wb3MpKSwxKTpNdC5jcmVhdGUobC5kb2MsbC5tYXBwaW5nLm1hcChpLnBvcykpKSxlKGwuc2Nyb2xsSW50b1ZpZXcoKSl9cmV0dXJuITB9fXJldHVybiBvLmlzQXRvbSYmaS5kZXB0aD09ci5kZXB0aC0xPyhlJiZlKGEudHIuZGVsZXRlKGkucG9zLGkucG9zK28ubm9kZVNpemUpLnNjcm9sbEludG9WaWV3KCkpLCEwKTohMX0sImpvaW5Gb3J3YXJkIiksdHJlPXMoKGEsZSx0KT0+e2xldHskaGVhZDpyLGVtcHR5Oml9PWEuc2VsZWN0aW9uLG89cjtpZighaSlyZXR1cm4hMTtpZihyLnBhcmVudC5pc1RleHRibG9jayl7aWYodD8hdC5lbmRPZlRleHRibG9jaygiZm9yd2FyZCIsYSk6ci5wYXJlbnRPZmZzZXQ8ci5wYXJlbnQuY29udGVudC5zaXplKXJldHVybiExO289Y1plKHIpfWxldCBuPW8mJm8ubm9kZUFmdGVyO3JldHVybiFufHwhTXQuaXNTZWxlY3RhYmxlKG4pPyExOihlJiZlKGEudHIuc2V0U2VsZWN0aW9uKE10LmNyZWF0ZShhLmRvYyxvLnBvcykpLnNjcm9sbEludG9WaWV3KCkpLCEwKX0sInNlbGVjdE5vZGVGb3J3YXJkIik7cyhjWmUsImZpbmRDdXRBZnRlciIpO2daZT1zKChhLGUpPT57bGV0IHQ9YS5zZWxlY3Rpb24scj10IGluc3RhbmNlb2YgTXQsaTtpZihyKXtpZih0Lm5vZGUuaXNUZXh0YmxvY2t8fCFlbihhLmRvYyx0LmZyb20pKXJldHVybiExO2k9dC5mcm9tfWVsc2UgaWYoaT1VZihhLmRvYyx0LmZyb20sLTEpLGk9PW51bGwpcmV0dXJuITE7aWYoZSl7bGV0IG89YS50ci5qb2luKGkpO3ImJm8uc2V0U2VsZWN0aW9uKE10LmNyZWF0ZShvLmRvYyxpLWEuZG9jLnJlc29sdmUoaSkubm9kZUJlZm9yZS5ub2RlU2l6ZSkpLGUoby5zY3JvbGxJbnRvVmlldygpKX1yZXR1cm4hMH0sImpvaW5VcCIpLGJaZT1zKChhLGUpPT57bGV0IHQ9YS5zZWxlY3Rpb24scjtpZih0IGluc3RhbmNlb2YgTXQpe2lmKHQubm9kZS5pc1RleHRibG9ja3x8IWVuKGEuZG9jLHQudG8pKXJldHVybiExO3I9dC50b31lbHNlIGlmKHI9VWYoYS5kb2MsdC50bywxKSxyPT1udWxsKXJldHVybiExO3JldHVybiBlJiZlKGEudHIuam9pbihyKS5zY3JvbGxJbnRvVmlldygpKSwhMH0sImpvaW5Eb3duIiksdlplPXMoKGEsZSk9PntsZXR7JGZyb206dCwkdG86cn09YS5zZWxlY3Rpb24saT10LmJsb2NrUmFuZ2Uociksbz1pJiZHMihpKTtyZXR1cm4gbz09bnVsbD8hMTooZSYmZShhLnRyLmxpZnQoaSxvKS5zY3JvbGxJbnRvVmlldygpKSwhMCl9LCJsaWZ0IiksYXJlPXMoKGEsZSk9PntsZXR7JGhlYWQ6dCwkYW5jaG9yOnJ9PWEuc2VsZWN0aW9uO3JldHVybiF0LnBhcmVudC50eXBlLnNwZWMuY29kZXx8IXQuc2FtZVBhcmVudChyKT8hMTooZSYmZShhLnRyLmluc2VydFRleHQoYApgKS5zY3JvbGxJbnRvVmlldygpKSwhMCl9LCJuZXdsaW5lSW5Db2RlIik7cyhkWmUsImRlZmF1bHRCbG9ja0F0Iik7cnJlPXMoKGEsZSk9PntsZXR7JGhlYWQ6dCwkYW5jaG9yOnJ9PWEuc2VsZWN0aW9uO2lmKCF0LnBhcmVudC50eXBlLnNwZWMuY29kZXx8IXQuc2FtZVBhcmVudChyKSlyZXR1cm4hMTtsZXQgaT10Lm5vZGUoLTEpLG89dC5pbmRleEFmdGVyKC0xKSxuPWRaZShpLmNvbnRlbnRNYXRjaEF0KG8pKTtpZighbnx8IWkuY2FuUmVwbGFjZVdpdGgobyxvLG4pKXJldHVybiExO2lmKGUpe2xldCBsPXQuYWZ0ZXIoKSxkPWEudHIucmVwbGFjZVdpdGgobCxsLG4uY3JlYXRlQW5kRmlsbCgpKTtkLnNldFNlbGVjdGlvbihJdC5uZWFyKGQuZG9jLnJlc29sdmUobCksMSkpLGUoZC5zY3JvbGxJbnRvVmlldygpKX1yZXR1cm4hMH0sImV4aXRDb2RlIiksc3JlPXMoKGEsZSk9PntsZXQgdD1hLnNlbGVjdGlvbix7JGZyb206ciwkdG86aX09dDtpZih0IGluc3RhbmNlb2YgRGl8fHIucGFyZW50LmlubGluZUNvbnRlbnR8fGkucGFyZW50LmlubGluZUNvbnRlbnQpcmV0dXJuITE7bGV0IG89ZFplKGkucGFyZW50LmNvbnRlbnRNYXRjaEF0KGkuaW5kZXhBZnRlcigpKSk7aWYoIW98fCFvLmlzVGV4dGJsb2NrKXJldHVybiExO2lmKGUpe2xldCBuPSghci5wYXJlbnRPZmZzZXQmJmkuaW5kZXgoKTxpLnBhcmVudC5jaGlsZENvdW50P3I6aSkucG9zLGw9YS50ci5pbnNlcnQobixvLmNyZWF0ZUFuZEZpbGwoKSk7bC5zZXRTZWxlY3Rpb24oUnQuY3JlYXRlKGwuZG9jLG4rMSkpLGUobC5zY3JvbGxJbnRvVmlldygpKX1yZXR1cm4hMH0sImNyZWF0ZVBhcmFncmFwaE5lYXIiKSxpcmU9cygoYSxlKT0+e2xldHskY3Vyc29yOnR9PWEuc2VsZWN0aW9uO2lmKCF0fHx0LnBhcmVudC5jb250ZW50LnNpemUpcmV0dXJuITE7aWYodC5kZXB0aD4xJiZ0LmFmdGVyKCkhPXQuZW5kKC0xKSl7bGV0IG89dC5iZWZvcmUoKTtpZihEbyhhLmRvYyxvKSlyZXR1cm4gZSYmZShhLnRyLnNwbGl0KG8pLnNjcm9sbEludG9WaWV3KCkpLCEwfWxldCByPXQuYmxvY2tSYW5nZSgpLGk9ciYmRzIocik7cmV0dXJuIGk9PW51bGw/ITE6KGUmJmUoYS50ci5saWZ0KHIsaSkuc2Nyb2xsSW50b1ZpZXcoKSksITApfSwibGlmdEVtcHR5QmxvY2siKTtzKERuYSwic3BsaXRCbG9ja0FzIik7dVplPURuYSgpLG9FYT1zKChhLGUpPT51WmUoYSxlJiYodD0+e2xldCByPWEuc3RvcmVkTWFya3N8fGEuc2VsZWN0aW9uLiR0by5wYXJlbnRPZmZzZXQmJmEuc2VsZWN0aW9uLiRmcm9tLm1hcmtzKCk7ciYmdC5lbnN1cmVNYXJrcyhyKSxlKHQpfSkpLCJzcGxpdEJsb2NrS2VlcE1hcmtzIikseFplPXMoKGEsZSk9PntsZXR7JGZyb206dCx0bzpyfT1hLnNlbGVjdGlvbixpLG89dC5zaGFyZWREZXB0aChyKTtyZXR1cm4gbz09MD8hMTooaT10LmJlZm9yZShvKSxlJiZlKGEudHIuc2V0U2VsZWN0aW9uKE10LmNyZWF0ZShhLmRvYyxpKSkpLCEwKX0sInNlbGVjdFBhcmVudE5vZGUiKSxBbmE9cygoYSxlKT0+KGUmJmUoYS50ci5zZXRTZWxlY3Rpb24obmV3IERpKGEuZG9jKSkpLCEwKSwic2VsZWN0QWxsIik7cyhuRWEsImpvaW5NYXliZUNsZWFyIik7cyhFbmEsImRlbGV0ZUJhcnJpZXIiKTtzKFBuYSwic2VsZWN0VGV4dGJsb2NrU2lkZSIpO29yZT1QbmEoLTEpLG5yZT1QbmEoMSk7cyh5WmUsIndyYXBJbiIpO3MobHJlLCJzZXRCbG9ja1R5cGUiKTtzKGxFYSwibWFya0FwcGxpZXMiKTtzKGNFYSwicmVtb3ZlSW5saW5lQXRvbXMiKTtzKGRFYSwidG9nZ2xlTWFyayIpO3ModUVhLCJ3cmFwRGlzcGF0Y2hGb3JKb2luIik7cyhwRWEsImF1dG9Kb2luIik7cyhYYWUsImNoYWluQ29tbWFuZHMiKTtwWmU9WGFlKGxXLFFhZSxKYWUpLEluYT1YYWUobFcsZXJlLHRyZSksWjI9e0VudGVyOlhhZShhcmUsc3JlLGlyZSx1WmUpLCJNb2QtRW50ZXIiOnJyZSxCYWNrc3BhY2U6cFplLCJNb2QtQmFja3NwYWNlIjpwWmUsIlNoaWZ0LUJhY2tzcGFjZSI6cFplLERlbGV0ZTpJbmEsIk1vZC1EZWxldGUiOkluYSwiTW9kLWEiOkFuYX0sZlplPXsiQ3RybC1oIjpaMi5CYWNrc3BhY2UsIkFsdC1CYWNrc3BhY2UiOloyWyJNb2QtQmFja3NwYWNlIl0sIkN0cmwtZCI6WjIuRGVsZXRlLCJDdHJsLUFsdC1CYWNrc3BhY2UiOloyWyJNb2QtRGVsZXRlIl0sIkFsdC1EZWxldGUiOloyWyJNb2QtRGVsZXRlIl0sIkFsdC1kIjpaMlsiTW9kLURlbGV0ZSJdLCJDdHJsLWEiOm9yZSwiQ3RybC1lIjpucmV9O2ZvcihsZXQgYSBpbiBaMilmWmVbYV09WjJbYV07ZkVhPXR5cGVvZiBuYXZpZ2F0b3I8InUiPy9NYWN8aVAoaG9uZXxbb2FdZCkvLnRlc3QobmF2aWdhdG9yLnBsYXRmb3JtKTp0eXBlb2Ygb3M8InUiJiZvcy5wbGF0Zm9ybT9vcy5wbGF0Zm9ybSgpPT0iZGFyd2luIjohMSxoRWE9ZkVhP2ZaZTpaMn0pO3ZhciBSbmE9ZigoKT0+e05uYSgpfSk7ZnVuY3Rpb24gd1plKGEsZSl7bGV0IHQ9e307Zm9yKGxldCByIGluIGEpdFtyXT1hW3JdO2ZvcihsZXQgciBpbiBlKXRbcl09ZVtyXTtyZXR1cm4gdH1mdW5jdGlvbiB2RWEoYSxlLHQpe3JldHVybiBhLmFwcGVuZCh7b3JkZXJlZF9saXN0OndaZShPbmEse2NvbnRlbnQ6Imxpc3RfaXRlbSsiLGdyb3VwOnR9KSxidWxsZXRfbGlzdDp3WmUoRm5hLHtjb250ZW50OiJsaXN0X2l0ZW0rIixncm91cDp0fSksbGlzdF9pdGVtOndaZShCbmEse2NvbnRlbnQ6ZX0pfSl9ZnVuY3Rpb24gTVplKGEsZT1udWxsKXtyZXR1cm4gZnVuY3Rpb24odCxyKXtsZXR7JGZyb206aSwkdG86b309dC5zZWxlY3Rpb24sbj1pLmJsb2NrUmFuZ2Uobyk7aWYoIW4pcmV0dXJuITE7bGV0IGw9cj90LnRyOm51bGw7cmV0dXJuIEhuYShsLG4sYSxlKT8ociYmcihsLnNjcm9sbEludG9WaWV3KCkpLCEwKTohMX19ZnVuY3Rpb24gSG5hKGEsZSx0LHI9bnVsbCl7bGV0IGk9ITEsbz1lLG49ZS4kZnJvbS5kb2M7aWYoZS5kZXB0aD49MiYmZS4kZnJvbS5ub2RlKGUuZGVwdGgtMSkudHlwZS5jb21wYXRpYmxlQ29udGVudCh0KSYmZS5zdGFydEluZGV4PT0wKXtpZihlLiRmcm9tLmluZGV4KGUuZGVwdGgtMSk9PTApcmV0dXJuITE7bGV0IGQ9bi5yZXNvbHZlKGUuc3RhcnQtMik7bz1uZXcgaDQoZCxkLGUuZGVwdGgpLGUuZW5kSW5kZXg8ZS5wYXJlbnQuY2hpbGRDb3VudCYmKGU9bmV3IGg0KGUuJGZyb20sbi5yZXNvbHZlKGUuJHRvLmVuZChlLmRlcHRoKSksZS5kZXB0aCkpLGk9ITB9bGV0IGw9amYobyx0LHIsZSk7cmV0dXJuIGw/KGEmJnhFYShhLGUsbCxpLHQpLCEwKTohMX1mdW5jdGlvbiB4RWEoYSxlLHQscixpKXtsZXQgbz1WZS5lbXB0eTtmb3IobGV0IHA9dC5sZW5ndGgtMTtwPj0wO3AtLSlvPVZlLmZyb20odFtwXS50eXBlLmNyZWF0ZSh0W3BdLmF0dHJzLG8pKTthLnN0ZXAobmV3IFFyKGUuc3RhcnQtKHI/MjowKSxlLmVuZCxlLnN0YXJ0LGUuZW5kLG5ldyBzdChvLDAsMCksdC5sZW5ndGgsITApKTtsZXQgbj0wO2ZvcihsZXQgcD0wO3A8dC5sZW5ndGg7cCsrKXRbcF0udHlwZT09aSYmKG49cCsxKTtsZXQgbD10Lmxlbmd0aC1uLGQ9ZS5zdGFydCt0Lmxlbmd0aC0ocj8yOjApLGM9ZS5wYXJlbnQ7Zm9yKGxldCBwPWUuc3RhcnRJbmRleCx1PWUuZW5kSW5kZXgsbT0hMDtwPHU7cCsrLG09ITEpIW0mJkRvKGEuZG9jLGQsbCkmJihhLnNwbGl0KGQsbCksZCs9MipsKSxkKz1jLmNoaWxkKHApLm5vZGVTaXplO3JldHVybiBhfWZ1bmN0aW9uIHFuYShhLGUpe3JldHVybiBmdW5jdGlvbih0LHIpe2xldHskZnJvbTppLCR0bzpvLG5vZGU6bn09dC5zZWxlY3Rpb247aWYobiYmbi5pc0Jsb2NrfHxpLmRlcHRoPDJ8fCFpLnNhbWVQYXJlbnQobykpcmV0dXJuITE7bGV0IGw9aS5ub2RlKC0xKTtpZihsLnR5cGUhPWEpcmV0dXJuITE7aWYoaS5wYXJlbnQuY29udGVudC5zaXplPT0wJiZpLm5vZGUoLTEpLmNoaWxkQ291bnQ9PWkuaW5kZXhBZnRlcigtMSkpe2lmKGkuZGVwdGg9PTN8fGkubm9kZSgtMykudHlwZSE9YXx8aS5pbmRleCgtMikhPWkubm9kZSgtMikuY2hpbGRDb3VudC0xKXJldHVybiExO2lmKHIpe2xldCB1PVZlLmVtcHR5LG09aS5pbmRleCgtMSk/MTppLmluZGV4KC0yKT8yOjM7Zm9yKGxldCB5PWkuZGVwdGgtbTt5Pj1pLmRlcHRoLTM7eS0tKXU9VmUuZnJvbShpLm5vZGUoeSkuY29weSh1KSk7bGV0IHY9aS5pbmRleEFmdGVyKC0xKTxpLm5vZGUoLTIpLmNoaWxkQ291bnQ/MTppLmluZGV4QWZ0ZXIoLTIpPGkubm9kZSgtMykuY2hpbGRDb3VudD8yOjM7dT11LmFwcGVuZChWZS5mcm9tKGEuY3JlYXRlQW5kRmlsbCgpKSk7bGV0IHg9aS5iZWZvcmUoaS5kZXB0aC0obS0xKSksYj10LnRyLnJlcGxhY2UoeCxpLmFmdGVyKC12KSxuZXcgc3QodSw0LW0sMCkpLGc9LTE7Yi5kb2Mubm9kZXNCZXR3ZWVuKHgsYi5kb2MuY29udGVudC5zaXplLCh5LGspPT57aWYoZz4tMSlyZXR1cm4hMTt5LmlzVGV4dGJsb2NrJiZ5LmNvbnRlbnQuc2l6ZT09MCYmKGc9aysxKX0pLGc+LTEmJmIuc2V0U2VsZWN0aW9uKEl0Lm5lYXIoYi5kb2MucmVzb2x2ZShnKSkpLHIoYi5zY3JvbGxJbnRvVmlldygpKX1yZXR1cm4hMH1sZXQgZD1vLnBvcz09aS5lbmQoKT9sLmNvbnRlbnRNYXRjaEF0KDApLmRlZmF1bHRUeXBlOm51bGwsYz10LnRyLmRlbGV0ZShpLnBvcyxvLnBvcykscD1kP1tlP3t0eXBlOmEsYXR0cnM6ZX06bnVsbCx7dHlwZTpkfV06dm9pZCAwO3JldHVybiBEbyhjLmRvYyxpLnBvcywyLHApPyhyJiZyKGMuc3BsaXQoaS5wb3MsMixwKS5zY3JvbGxJbnRvVmlldygpKSwhMCk6ITF9fWZ1bmN0aW9uIHlFYShhLGUpe2xldCB0PXFuYShhLGUpO3JldHVybihyLGkpPT50KHIsaSYmKG89PntsZXQgbj1yLnN0b3JlZE1hcmtzfHxyLnNlbGVjdGlvbi4kdG8ucGFyZW50T2Zmc2V0JiZyLnNlbGVjdGlvbi4kZnJvbS5tYXJrcygpO24mJm8uZW5zdXJlTWFya3MobiksaShvKX0pKX1mdW5jdGlvbiBrWmUoYSl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7bGV0eyRmcm9tOnIsJHRvOml9PWUuc2VsZWN0aW9uLG89ci5ibG9ja1JhbmdlKGksbj0+bi5jaGlsZENvdW50PjAmJm4uZmlyc3RDaGlsZC50eXBlPT1hKTtyZXR1cm4gbz90P3Iubm9kZShvLmRlcHRoLTEpLnR5cGU9PWE/d0VhKGUsdCxhLG8pOk1FYShlLHQsbyk6ITA6ITF9fWZ1bmN0aW9uIHdFYShhLGUsdCxyKXtsZXQgaT1hLnRyLG89ci5lbmQsbj1yLiR0by5lbmQoci5kZXB0aCk7bzxuJiYoaS5zdGVwKG5ldyBRcihvLTEsbixvLG4sbmV3IHN0KFZlLmZyb20odC5jcmVhdGUobnVsbCxyLnBhcmVudC5jb3B5KCkpKSwxLDApLDEsITApKSxyPW5ldyBoNChpLmRvYy5yZXNvbHZlKHIuJGZyb20ucG9zKSxpLmRvYy5yZXNvbHZlKG4pLHIuZGVwdGgpKTtsZXQgbD1HMihyKTtpZihsPT1udWxsKXJldHVybiExO2kubGlmdChyLGwpO2xldCBkPWkuZG9jLnJlc29sdmUoaS5tYXBwaW5nLm1hcChvLC0xKS0xKTtyZXR1cm4gZW4oaS5kb2MsZC5wb3MpJiZkLm5vZGVCZWZvcmUudHlwZT09ZC5ub2RlQWZ0ZXIudHlwZSYmaS5qb2luKGQucG9zKSxlKGkuc2Nyb2xsSW50b1ZpZXcoKSksITB9ZnVuY3Rpb24gTUVhKGEsZSx0KXtsZXQgcj1hLnRyLGk9dC5wYXJlbnQ7Zm9yKGxldCB2PXQuZW5kLHg9dC5lbmRJbmRleC0xLGI9dC5zdGFydEluZGV4O3g+Yjt4LS0pdi09aS5jaGlsZCh4KS5ub2RlU2l6ZSxyLmRlbGV0ZSh2LTEsdisxKTtsZXQgbz1yLmRvYy5yZXNvbHZlKHQuc3RhcnQpLG49by5ub2RlQWZ0ZXI7aWYoci5tYXBwaW5nLm1hcCh0LmVuZCkhPXQuc3RhcnQrby5ub2RlQWZ0ZXIubm9kZVNpemUpcmV0dXJuITE7bGV0IGw9dC5zdGFydEluZGV4PT0wLGQ9dC5lbmRJbmRleD09aS5jaGlsZENvdW50LGM9by5ub2RlKC0xKSxwPW8uaW5kZXgoLTEpO2lmKCFjLmNhblJlcGxhY2UocCsobD8wOjEpLHArMSxuLmNvbnRlbnQuYXBwZW5kKGQ/VmUuZW1wdHk6VmUuZnJvbShpKSkpKXJldHVybiExO2xldCB1PW8ucG9zLG09dStuLm5vZGVTaXplO3JldHVybiByLnN0ZXAobmV3IFFyKHUtKGw/MTowKSxtKyhkPzE6MCksdSsxLG0tMSxuZXcgc3QoKGw/VmUuZW1wdHk6VmUuZnJvbShpLmNvcHkoVmUuZW1wdHkpKSkuYXBwZW5kKGQ/VmUuZW1wdHk6VmUuZnJvbShpLmNvcHkoVmUuZW1wdHkpKSksbD8wOjEsZD8wOjEpLGw/MDoxKSksZShyLnNjcm9sbEludG9WaWV3KCkpLCEwfWZ1bmN0aW9uIFNaZShhKXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtsZXR7JGZyb206ciwkdG86aX09ZS5zZWxlY3Rpb24sbz1yLmJsb2NrUmFuZ2UoaSxjPT5jLmNoaWxkQ291bnQ+MCYmYy5maXJzdENoaWxkLnR5cGU9PWEpO2lmKCFvKXJldHVybiExO2xldCBuPW8uc3RhcnRJbmRleDtpZihuPT0wKXJldHVybiExO2xldCBsPW8ucGFyZW50LGQ9bC5jaGlsZChuLTEpO2lmKGQudHlwZSE9YSlyZXR1cm4hMTtpZih0KXtsZXQgYz1kLmxhc3RDaGlsZCYmZC5sYXN0Q2hpbGQudHlwZT09bC50eXBlLHA9VmUuZnJvbShjP2EuY3JlYXRlKCk6bnVsbCksdT1uZXcgc3QoVmUuZnJvbShhLmNyZWF0ZShudWxsLFZlLmZyb20obC50eXBlLmNyZWF0ZShudWxsLHApKSkpLGM/MzoxLDApLG09by5zdGFydCx2PW8uZW5kO3QoZS50ci5zdGVwKG5ldyBRcihtLShjPzM6MSksdixtLHYsdSwxLCEwKSkuc2Nyb2xsSW50b1ZpZXcoKSl9cmV0dXJuITB9fXZhciBtRWEsZ0VhLGJFYSxPbmEsRm5hLEJuYSxWbmE9ZigoKT0+e2I0KCk7bTQoKTt2YygpO21FYT1bIm9sIiwwXSxnRWE9WyJ1bCIsMF0sYkVhPVsibGkiLDBdLE9uYT17YXR0cnM6e29yZGVyOntkZWZhdWx0OjEsdmFsaWRhdGU6Im51bWJlciJ9fSxwYXJzZURPTTpbe3RhZzoib2wiLGdldEF0dHJzKGEpe3JldHVybntvcmRlcjphLmhhc0F0dHJpYnV0ZSgic3RhcnQiKT8rYS5nZXRBdHRyaWJ1dGUoInN0YXJ0Iik6MX19fV0sdG9ET00oYSl7cmV0dXJuIGEuYXR0cnMub3JkZXI9PTE/bUVhOlsib2wiLHtzdGFydDphLmF0dHJzLm9yZGVyfSwwXX19LEZuYT17cGFyc2VET006W3t0YWc6InVsIn1dLHRvRE9NKCl7cmV0dXJuIGdFYX19LEJuYT17cGFyc2VET006W3t0YWc6ImxpIn1dLHRvRE9NKCl7cmV0dXJuIGJFYX0sZGVmaW5pbmc6ITB9O3Mod1plLCJhZGQiKTtzKHZFYSwiYWRkTGlzdE5vZGVzIik7cyhNWmUsIndyYXBJbkxpc3QiKTtzKEhuYSwid3JhcFJhbmdlSW5MaXN0Iik7cyh4RWEsImRvV3JhcEluTGlzdCIpO3MocW5hLCJzcGxpdExpc3RJdGVtIik7cyh5RWEsInNwbGl0TGlzdEl0ZW1LZWVwTWFya3MiKTtzKGtaZSwibGlmdExpc3RJdGVtIik7cyh3RWEsImxpZnRUb091dGVyTGlzdCIpO3MoTUVhLCJsaWZ0T3V0T2ZMaXN0Iik7cyhTWmUsInNpbmtMaXN0SXRlbSIpfSk7dmFyIGpuYT1mKCgpPT57Vm5hKCl9KTt2YXIgeTFhPXt9O2x0KHkxYSx7Q29tbWFuZE1hbmFnZXI6KCk9PlM0LEVkaXRvcjooKT0+enJlLEV4dGVuc2lvbjooKT0+d3IsSW5wdXRSdWxlOigpPT5TYyxNYXJrOigpPT5zaSxOb2RlOigpPT5vcixOb2RlUG9zOigpPT52VyxOb2RlVmlldzooKT0+Q3JlLFBhc3RlUnVsZTooKT0+YTUsVHJhY2tlcjooKT0+X3JlLGNhbGxPclJldHVybjooKT0+VnQsY2FuSW5zZXJ0Tm9kZTooKT0+RXJlLGNvbWJpbmVUcmFuc2FjdGlvblN0ZXBzOigpPT5UcmUsY3JlYXRlQ2hhaW5hYmxlU3RhdGU6KCk9PkFtLGNyZWF0ZURvY3VtZW50OigpPT5oVyxjcmVhdGVOb2RlRnJvbUNvbnRlbnQ6KCk9Pmk1LGNyZWF0ZVN0eWxlVGFnOigpPT5qWmUsZGVmYXVsdEJsb2NrQXQ6KCk9Pk9aZSxkZWxldGVQcm9wczooKT0+d3JlLGVsZW1lbnRGcm9tU3RyaW5nOigpPT5zNSxlc2NhcGVGb3JSZWdFeDooKT0+ZzFhLGV4dGVuc2lvbnM6KCk9Pm0xYSxmaW5kQ2hpbGRyZW46KCk9Pm8xYSxmaW5kQ2hpbGRyZW5JblJhbmdlOigpPT5McmUsZmluZER1cGxpY2F0ZXM6KCk9PklaZSxmaW5kUGFyZW50Tm9kZTooKT0+Rm0sZmluZFBhcmVudE5vZGVDbG9zZXN0VG9Qb3M6KCk9PkZaZSxmcm9tU3RyaW5nOigpPT4kWmUsZ2VuZXJhdGVIVE1MOigpPT5uMWEsZ2VuZXJhdGVKU09OOigpPT5sMWEsZ2VuZXJhdGVUZXh0OigpPT5jMWEsZ2V0QXR0cmlidXRlczooKT0+eFcsZ2V0QXR0cmlidXRlc0Zyb21FeHRlbnNpb25zOigpPT5wcmUsZ2V0Q2hhbmdlZFJhbmdlczooKT0+JHJlLGdldERlYnVnSlNPTjooKT0+cVplLGdldEV4dGVuc2lvbkZpZWxkOigpPT51dCxnZXRIVE1MRnJvbUZyYWdtZW50OigpPT5QbSxnZXRNYXJrQXR0cmlidXRlczooKT0+TXJlLGdldE1hcmtSYW5nZTooKT0+ZlcsZ2V0TWFya1R5cGU6KCk9PlgyLGdldE1hcmtzQmV0d2VlbjooKT0+SG0sZ2V0Tm9kZUF0UG9zaXRpb246KCk9PmQxYSxnZXROb2RlQXR0cmlidXRlczooKT0+QlplLGdldE5vZGVUeXBlOigpPT5tcyxnZXRSZW5kZXJlZEF0dHJpYnV0ZXM6KCk9PmNXLGdldFNjaGVtYTooKT0+bVcsZ2V0U2NoZW1hQnlSZXNvbHZlZEV4dGVuc2lvbnM6KCk9Pm1yZSxnZXRTY2hlbWFUeXBlQnlOYW1lOigpPT5kVyxnZXRTY2hlbWFUeXBlTmFtZUJ5TmFtZTooKT0+T20sZ2V0U3BsaXR0ZWRBdHRyaWJ1dGVzOigpPT5CbSxnZXRUZXh0OigpPT5rcmUsZ2V0VGV4dEJldHdlZW46KCk9PmJyZSxnZXRUZXh0Q29udGVudEZyb21Ob2RlczooKT0+RFplLGdldFRleHRTZXJpYWxpemVyc0Zyb21TY2hlbWE6KCk9PnBXLGluamVjdEV4dGVuc2lvbkF0dHJpYnV0ZXNUb1BhcnNlUnVsZTooKT0+aHJlLGlucHV0UnVsZXNQbHVnaW46KCk9PkFaZSxpc0FjdGl2ZTooKT0+VlplLGlzQXRFbmRPZk5vZGU6KCk9PnUxYSxpc0F0U3RhcnRPZk5vZGU6KCk9PnAxYSxpc0VtcHR5T2JqZWN0OigpPT5MWmUsaXNFeHRlbnNpb25SdWxlc0VuYWJsZWQ6KCk9PmdyZSxpc0Z1bmN0aW9uOigpPT5mcmUsaXNMaXN0OigpPT5TcmUsaXNNYWNPUzooKT0+eXJlLGlzTWFya0FjdGl2ZTooKT0+Z1csaXNOb2RlQWN0aXZlOigpPT5vNSxpc05vZGVFbXB0eTooKT0+YlcsaXNOb2RlU2VsZWN0aW9uOigpPT5EcmUsaXNOdW1iZXI6KCk9PkVaZSxpc1BsYWluT2JqZWN0OigpPT5JbSxpc1JlZ0V4cDooKT0+dVcsaXNTYWZhcmk6KCk9Pk5aZSxpc1N0cmluZzooKT0+YjFhLGlzVGV4dFNlbGVjdGlvbjooKT0+dnJlLGlzaU9TOigpPT5yNSxtYXJrSW5wdXRSdWxlOigpPT5ObixtYXJrUGFzdGVSdWxlOigpPT5FbyxtZXJnZUF0dHJpYnV0ZXM6KCk9PlNhLG1lcmdlRGVlcDooKT0+Tm0sbWluTWF4OigpPT5SMSxub2RlSW5wdXRSdWxlOigpPT5BcmUsbm9kZVBhc3RlUnVsZTooKT0+djFhLG9iamVjdEluY2x1ZGVzOigpPT5SbSxwYXN0ZVJ1bGVzUGx1Z2luOigpPT5QWmUscG9zVG9ET01SZWN0OigpPT5mMWEscmVtb3ZlRHVwbGljYXRlczooKT0+SFplLHJlc29sdmVGb2N1c1Bvc2l0aW9uOigpPT54cmUscmV3cml0ZVVua25vd25Db250ZW50OigpPT5oMWEsc2VsZWN0aW9uVG9JbnNlcnRpb25FbmQ6KCk9PlJaZSxzcGxpdEV4dGVuc2lvbnM6KCk9PkVtLHRleHRJbnB1dFJ1bGU6KCk9Pm1yLHRleHRQYXN0ZVJ1bGU6KCk9PngxYSx0ZXh0YmxvY2tUeXBlSW5wdXRSdWxlOigpPT5uNSx3cmFwcGluZ0lucHV0UnVsZTooKT0+UTJ9KTtmdW5jdGlvbiBBbShhKXtsZXR7c3RhdGU6ZSx0cmFuc2FjdGlvbjp0fT1hLHtzZWxlY3Rpb246cn09dCx7ZG9jOml9PXQse3N0b3JlZE1hcmtzOm99PXQ7cmV0dXJuey4uLmUsYXBwbHk6ZS5hcHBseS5iaW5kKGUpLGFwcGx5VHJhbnNhY3Rpb246ZS5hcHBseVRyYW5zYWN0aW9uLmJpbmQoZSkscGx1Z2luczplLnBsdWdpbnMsc2NoZW1hOmUuc2NoZW1hLHJlY29uZmlndXJlOmUucmVjb25maWd1cmUuYmluZChlKSx0b0pTT046ZS50b0pTT04uYmluZChlKSxnZXQgc3RvcmVkTWFya3MoKXtyZXR1cm4gb30sZ2V0IHNlbGVjdGlvbigpe3JldHVybiByfSxnZXQgZG9jKCl7cmV0dXJuIGl9LGdldCB0cigpe3JldHVybiByPXQuc2VsZWN0aW9uLGk9dC5kb2Msbz10LnN0b3JlZE1hcmtzLHR9fX1mdW5jdGlvbiB1dChhLGUsdCl7cmV0dXJuIGEuY29uZmlnW2VdPT09dm9pZCAwJiZhLnBhcmVudD91dChhLnBhcmVudCxlLHQpOnR5cGVvZiBhLmNvbmZpZ1tlXT09ImZ1bmN0aW9uIj9hLmNvbmZpZ1tlXS5iaW5kKHsuLi50LHBhcmVudDphLnBhcmVudD91dChhLnBhcmVudCxlLHQpOm51bGx9KTphLmNvbmZpZ1tlXX1mdW5jdGlvbiBFbShhKXtsZXQgZT1hLmZpbHRlcihpPT5pLnR5cGU9PT0iZXh0ZW5zaW9uIiksdD1hLmZpbHRlcihpPT5pLnR5cGU9PT0ibm9kZSIpLHI9YS5maWx0ZXIoaT0+aS50eXBlPT09Im1hcmsiKTtyZXR1cm57YmFzZUV4dGVuc2lvbnM6ZSxub2RlRXh0ZW5zaW9uczp0LG1hcmtFeHRlbnNpb25zOnJ9fWZ1bmN0aW9uIHByZShhKXtsZXQgZT1bXSx7bm9kZUV4dGVuc2lvbnM6dCxtYXJrRXh0ZW5zaW9uczpyfT1FbShhKSxpPVsuLi50LC4uLnJdLG89e2RlZmF1bHQ6bnVsbCxyZW5kZXJlZDohMCxyZW5kZXJIVE1MOm51bGwscGFyc2VIVE1MOm51bGwsa2VlcE9uU3BsaXQ6ITAsaXNSZXF1aXJlZDohMX07cmV0dXJuIGEuZm9yRWFjaChuPT57bGV0IGw9e25hbWU6bi5uYW1lLG9wdGlvbnM6bi5vcHRpb25zLHN0b3JhZ2U6bi5zdG9yYWdlLGV4dGVuc2lvbnM6aX0sZD11dChuLCJhZGRHbG9iYWxBdHRyaWJ1dGVzIixsKTtpZighZClyZXR1cm47ZCgpLmZvckVhY2gocD0+e3AudHlwZXMuZm9yRWFjaCh1PT57T2JqZWN0LmVudHJpZXMocC5hdHRyaWJ1dGVzKS5mb3JFYWNoKChbbSx2XSk9PntlLnB1c2goe3R5cGU6dSxuYW1lOm0sYXR0cmlidXRlOnsuLi5vLC4uLnZ9fSl9KX0pfSl9KSxpLmZvckVhY2gobj0+e2xldCBsPXtuYW1lOm4ubmFtZSxvcHRpb25zOm4ub3B0aW9ucyxzdG9yYWdlOm4uc3RvcmFnZX0sZD11dChuLCJhZGRBdHRyaWJ1dGVzIixsKTtpZighZClyZXR1cm47bGV0IGM9ZCgpO09iamVjdC5lbnRyaWVzKGMpLmZvckVhY2goKFtwLHVdKT0+e2xldCBtPXsuLi5vLC4uLnV9O3R5cGVvZiBtPy5kZWZhdWx0PT0iZnVuY3Rpb24iJiYobS5kZWZhdWx0PW0uZGVmYXVsdCgpKSxtPy5pc1JlcXVpcmVkJiZtPy5kZWZhdWx0PT09dm9pZCAwJiZkZWxldGUgbS5kZWZhdWx0LGUucHVzaCh7dHlwZTpuLm5hbWUsbmFtZTpwLGF0dHJpYnV0ZTptfSl9KX0pLGV9ZnVuY3Rpb24gbXMoYSxlKXtpZih0eXBlb2YgYT09InN0cmluZyIpe2lmKCFlLm5vZGVzW2FdKXRocm93IEVycm9yKGBUaGVyZSBpcyBubyBub2RlIHR5cGUgbmFtZWQgJyR7YX0nLiBNYXliZSB5b3UgZm9yZ290IHRvIGFkZCB0aGUgZXh0ZW5zaW9uP2ApO3JldHVybiBlLm5vZGVzW2FdfXJldHVybiBhfWZ1bmN0aW9uIFNhKC4uLmEpe3JldHVybiBhLmZpbHRlcihlPT4hIWUpLnJlZHVjZSgoZSx0KT0+e2xldCByPXsuLi5lfTtyZXR1cm4gT2JqZWN0LmVudHJpZXModCkuZm9yRWFjaCgoW2ksb10pPT57aWYoIXJbaV0pe3JbaV09bztyZXR1cm59aWYoaT09PSJjbGFzcyIpe2xldCBsPW8/U3RyaW5nKG8pLnNwbGl0KCIgIik6W10sZD1yW2ldP3JbaV0uc3BsaXQoIiAiKTpbXSxjPWwuZmlsdGVyKHA9PiFkLmluY2x1ZGVzKHApKTtyW2ldPVsuLi5kLC4uLmNdLmpvaW4oIiAiKX1lbHNlIGlmKGk9PT0ic3R5bGUiKXtsZXQgbD1vP28uc3BsaXQoIjsiKS5tYXAocD0+cC50cmltKCkpLmZpbHRlcihCb29sZWFuKTpbXSxkPXJbaV0/cltpXS5zcGxpdCgiOyIpLm1hcChwPT5wLnRyaW0oKSkuZmlsdGVyKEJvb2xlYW4pOltdLGM9bmV3IE1hcDtkLmZvckVhY2gocD0+e2xldFt1LG1dPXAuc3BsaXQoIjoiKS5tYXAodj0+di50cmltKCkpO2Muc2V0KHUsbSl9KSxsLmZvckVhY2gocD0+e2xldFt1LG1dPXAuc3BsaXQoIjoiKS5tYXAodj0+di50cmltKCkpO2Muc2V0KHUsbSl9KSxyW2ldPUFycmF5LmZyb20oYy5lbnRyaWVzKCkpLm1hcCgoW3AsdV0pPT5gJHtwfTogJHt1fWApLmpvaW4oIjsgIil9ZWxzZSByW2ldPW99KSxyfSx7fSl9ZnVuY3Rpb24gY1coYSxlKXtyZXR1cm4gZS5maWx0ZXIodD0+dC50eXBlPT09YS50eXBlLm5hbWUpLmZpbHRlcih0PT50LmF0dHJpYnV0ZS5yZW5kZXJlZCkubWFwKHQ9PnQuYXR0cmlidXRlLnJlbmRlckhUTUw/dC5hdHRyaWJ1dGUucmVuZGVySFRNTChhLmF0dHJzKXx8e306e1t0Lm5hbWVdOmEuYXR0cnNbdC5uYW1lXX0pLnJlZHVjZSgodCxyKT0+U2EodCxyKSx7fSl9ZnVuY3Rpb24gZnJlKGEpe3JldHVybiB0eXBlb2YgYT09ImZ1bmN0aW9uIn1mdW5jdGlvbiBWdChhLGU9dm9pZCAwLC4uLnQpe3JldHVybiBmcmUoYSk/ZT9hLmJpbmQoZSkoLi4udCk6YSguLi50KTphfWZ1bmN0aW9uIExaZShhPXt9KXtyZXR1cm4gT2JqZWN0LmtleXMoYSkubGVuZ3RoPT09MCYmYS5jb25zdHJ1Y3Rvcj09PU9iamVjdH1mdW5jdGlvbiAkWmUoYSl7cmV0dXJuIHR5cGVvZiBhIT0ic3RyaW5nIj9hOmEubWF0Y2goL15bKy1dPyg/OlxkKlwuKT9cZCskLyk/TnVtYmVyKGEpOmE9PT0idHJ1ZSI/ITA6YT09PSJmYWxzZSI/ITE6YX1mdW5jdGlvbiBocmUoYSxlKXtyZXR1cm4ic3R5bGUiaW4gYT9hOnsuLi5hLGdldEF0dHJzOnModD0+e2xldCByPWEuZ2V0QXR0cnM/YS5nZXRBdHRycyh0KTphLmF0dHJzO2lmKHI9PT0hMSlyZXR1cm4hMTtsZXQgaT1lLnJlZHVjZSgobyxuKT0+e2xldCBsPW4uYXR0cmlidXRlLnBhcnNlSFRNTD9uLmF0dHJpYnV0ZS5wYXJzZUhUTUwodCk6JFplKHQuZ2V0QXR0cmlidXRlKG4ubmFtZSkpO3JldHVybiBsPT1udWxsP286ey4uLm8sW24ubmFtZV06bH19LHt9KTtyZXR1cm57Li4uciwuLi5pfX0sImdldEF0dHJzIil9fWZ1bmN0aW9uIFVuYShhKXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGEpLmZpbHRlcigoW2UsdF0pPT5lPT09ImF0dHJzIiYmTFplKHQpPyExOnQhPW51bGwpKX1mdW5jdGlvbiBtcmUoYSxlKXt2YXIgdDtsZXQgcj1wcmUoYSkse25vZGVFeHRlbnNpb25zOmksbWFya0V4dGVuc2lvbnM6b309RW0oYSksbj0odD1pLmZpbmQoYz0+dXQoYywidG9wTm9kZSIpKSk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0Lm5hbWUsbD1PYmplY3QuZnJvbUVudHJpZXMoaS5tYXAoYz0+e2xldCBwPXIuZmlsdGVyKHk9PnkudHlwZT09PWMubmFtZSksdT17bmFtZTpjLm5hbWUsb3B0aW9uczpjLm9wdGlvbnMsc3RvcmFnZTpjLnN0b3JhZ2UsZWRpdG9yOmV9LG09YS5yZWR1Y2UoKHksayk9PntsZXQgQz11dChrLCJleHRlbmROb2RlU2NoZW1hIix1KTtyZXR1cm57Li4ueSwuLi5DP0MoYyk6e319fSx7fSksdj1VbmEoey4uLm0sY29udGVudDpWdCh1dChjLCJjb250ZW50Iix1KSksbWFya3M6VnQodXQoYywibWFya3MiLHUpKSxncm91cDpWdCh1dChjLCJncm91cCIsdSkpLGlubGluZTpWdCh1dChjLCJpbmxpbmUiLHUpKSxhdG9tOlZ0KHV0KGMsImF0b20iLHUpKSxzZWxlY3RhYmxlOlZ0KHV0KGMsInNlbGVjdGFibGUiLHUpKSxkcmFnZ2FibGU6VnQodXQoYywiZHJhZ2dhYmxlIix1KSksY29kZTpWdCh1dChjLCJjb2RlIix1KSksd2hpdGVzcGFjZTpWdCh1dChjLCJ3aGl0ZXNwYWNlIix1KSksbGluZWJyZWFrUmVwbGFjZW1lbnQ6VnQodXQoYywibGluZWJyZWFrUmVwbGFjZW1lbnQiLHUpKSxkZWZpbmluZzpWdCh1dChjLCJkZWZpbmluZyIsdSkpLGlzb2xhdGluZzpWdCh1dChjLCJpc29sYXRpbmciLHUpKSxhdHRyczpPYmplY3QuZnJvbUVudHJpZXMocC5tYXAoeT0+e3ZhciBrO3JldHVyblt5Lm5hbWUse2RlZmF1bHQ6KGs9eT8uYXR0cmlidXRlKT09PW51bGx8fGs9PT12b2lkIDA/dm9pZCAwOmsuZGVmYXVsdH1dfSkpfSkseD1WdCh1dChjLCJwYXJzZUhUTUwiLHUpKTt4JiYodi5wYXJzZURPTT14Lm1hcCh5PT5ocmUoeSxwKSkpO2xldCBiPXV0KGMsInJlbmRlckhUTUwiLHUpO2ImJih2LnRvRE9NPXk9PmIoe25vZGU6eSxIVE1MQXR0cmlidXRlczpjVyh5LHApfSkpO2xldCBnPXV0KGMsInJlbmRlclRleHQiLHUpO3JldHVybiBnJiYodi50b1RleHQ9ZyksW2MubmFtZSx2XX0pKSxkPU9iamVjdC5mcm9tRW50cmllcyhvLm1hcChjPT57bGV0IHA9ci5maWx0ZXIoZz0+Zy50eXBlPT09Yy5uYW1lKSx1PXtuYW1lOmMubmFtZSxvcHRpb25zOmMub3B0aW9ucyxzdG9yYWdlOmMuc3RvcmFnZSxlZGl0b3I6ZX0sbT1hLnJlZHVjZSgoZyx5KT0+e2xldCBrPXV0KHksImV4dGVuZE1hcmtTY2hlbWEiLHUpO3JldHVybnsuLi5nLC4uLms/ayhjKTp7fX19LHt9KSx2PVVuYSh7Li4ubSxpbmNsdXNpdmU6VnQodXQoYywiaW5jbHVzaXZlIix1KSksZXhjbHVkZXM6VnQodXQoYywiZXhjbHVkZXMiLHUpKSxncm91cDpWdCh1dChjLCJncm91cCIsdSkpLHNwYW5uaW5nOlZ0KHV0KGMsInNwYW5uaW5nIix1KSksY29kZTpWdCh1dChjLCJjb2RlIix1KSksYXR0cnM6T2JqZWN0LmZyb21FbnRyaWVzKHAubWFwKGc9Pnt2YXIgeTtyZXR1cm5bZy5uYW1lLHtkZWZhdWx0Oih5PWc/LmF0dHJpYnV0ZSk9PT1udWxsfHx5PT09dm9pZCAwP3ZvaWQgMDp5LmRlZmF1bHR9XX0pKX0pLHg9VnQodXQoYywicGFyc2VIVE1MIix1KSk7eCYmKHYucGFyc2VET009eC5tYXAoZz0+aHJlKGcscCkpKTtsZXQgYj11dChjLCJyZW5kZXJIVE1MIix1KTtyZXR1cm4gYiYmKHYudG9ET009Zz0+Yih7bWFyazpnLEhUTUxBdHRyaWJ1dGVzOmNXKGcscCl9KSksW2MubmFtZSx2XX0pKTtyZXR1cm4gbmV3IGdtKHt0b3BOb2RlOm4sbm9kZXM6bCxtYXJrczpkfSl9ZnVuY3Rpb24gZFcoYSxlKXtyZXR1cm4gZS5ub2Rlc1thXXx8ZS5tYXJrc1thXXx8bnVsbH1mdW5jdGlvbiBncmUoYSxlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLnNvbWUodD0+KHR5cGVvZiB0PT0ic3RyaW5nIj90OnQubmFtZSk9PT1hLm5hbWUpOmV9ZnVuY3Rpb24gUG0oYSxlKXtsZXQgdD1VMi5mcm9tU2NoZW1hKGUpLnNlcmlhbGl6ZUZyYWdtZW50KGEpLGk9ZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCkuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGkuYXBwZW5kQ2hpbGQodCksaS5pbm5lckhUTUx9ZnVuY3Rpb24gdVcoYSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKT09PSJbb2JqZWN0IFJlZ0V4cF0ifWZ1bmN0aW9uIGNyZShhKXt2YXIgZTtsZXR7ZWRpdG9yOnQsZnJvbTpyLHRvOmksdGV4dDpvLHJ1bGVzOm4scGx1Z2luOmx9PWEse3ZpZXc6ZH09dDtpZihkLmNvbXBvc2luZylyZXR1cm4hMTtsZXQgYz1kLnN0YXRlLmRvYy5yZXNvbHZlKHIpO2lmKGMucGFyZW50LnR5cGUuc3BlYy5jb2RlfHwhKChlPWMubm9kZUJlZm9yZXx8Yy5ub2RlQWZ0ZXIpPT09bnVsbHx8ZT09PXZvaWQgMCkmJmUubWFya3MuZmluZChtPT5tLnR5cGUuc3BlYy5jb2RlKSlyZXR1cm4hMTtsZXQgcD0hMSx1PURaZShjKStvO3JldHVybiBuLmZvckVhY2gobT0+e2lmKHApcmV0dXJuO2xldCB2PWtFYSh1LG0uZmluZCk7aWYoIXYpcmV0dXJuO2xldCB4PWQuc3RhdGUudHIsYj1BbSh7c3RhdGU6ZC5zdGF0ZSx0cmFuc2FjdGlvbjp4fSksZz17ZnJvbTpyLSh2WzBdLmxlbmd0aC1vLmxlbmd0aCksdG86aX0se2NvbW1hbmRzOnksY2hhaW46ayxjYW46Q309bmV3IFM0KHtlZGl0b3I6dCxzdGF0ZTpifSk7bS5oYW5kbGVyKHtzdGF0ZTpiLHJhbmdlOmcsbWF0Y2g6dixjb21tYW5kczp5LGNoYWluOmssY2FuOkN9KT09PW51bGx8fCF4LnN0ZXBzLmxlbmd0aHx8KHguc2V0TWV0YShsLHt0cmFuc2Zvcm06eCxmcm9tOnIsdG86aSx0ZXh0Om99KSxkLmRpc3BhdGNoKHgpLHA9ITApfSkscH1mdW5jdGlvbiBBWmUoYSl7bGV0e2VkaXRvcjplLHJ1bGVzOnR9PWEscj1uZXcgYXIoe3N0YXRlOntpbml0KCl7cmV0dXJuIG51bGx9LGFwcGx5KGksbyxuKXtsZXQgbD1pLmdldE1ldGEocik7aWYobClyZXR1cm4gbDtsZXQgZD1pLmdldE1ldGEoImFwcGx5SW5wdXRSdWxlcyIpO3JldHVybiBkJiZzZXRUaW1lb3V0KCgpPT57bGV0e3RleHQ6cH09ZDt0eXBlb2YgcD09InN0cmluZyI/cD1wOnA9UG0oVmUuZnJvbShwKSxuLnNjaGVtYSk7bGV0e2Zyb206dX09ZCxtPXUrcC5sZW5ndGg7Y3JlKHtlZGl0b3I6ZSxmcm9tOnUsdG86bSx0ZXh0OnAscnVsZXM6dCxwbHVnaW46cn0pfSksaS5zZWxlY3Rpb25TZXR8fGkuZG9jQ2hhbmdlZD9udWxsOm99fSxwcm9wczp7aGFuZGxlVGV4dElucHV0KGksbyxuLGwpe3JldHVybiBjcmUoe2VkaXRvcjplLGZyb206byx0bzpuLHRleHQ6bCxydWxlczp0LHBsdWdpbjpyfSl9LGhhbmRsZURPTUV2ZW50czp7Y29tcG9zaXRpb25lbmQ6cyhpPT4oc2V0VGltZW91dCgoKT0+e2xldHskY3Vyc29yOm99PWkuc3RhdGUuc2VsZWN0aW9uO28mJmNyZSh7ZWRpdG9yOmUsZnJvbTpvLnBvcyx0bzpvLnBvcyx0ZXh0OiIiLHJ1bGVzOnQscGx1Z2luOnJ9KX0pLCExKSwiY29tcG9zaXRpb25lbmQiKX0saGFuZGxlS2V5RG93bihpLG8pe2lmKG8ua2V5IT09IkVudGVyIilyZXR1cm4hMTtsZXR7JGN1cnNvcjpufT1pLnN0YXRlLnNlbGVjdGlvbjtyZXR1cm4gbj9jcmUoe2VkaXRvcjplLGZyb206bi5wb3MsdG86bi5wb3MsdGV4dDpgCmAscnVsZXM6dCxwbHVnaW46cn0pOiExfX0saXNJbnB1dFJ1bGVzOiEwfSk7cmV0dXJuIHJ9ZnVuY3Rpb24gU0VhKGEpe3JldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSkuc2xpY2UoOCwtMSl9ZnVuY3Rpb24gSW0oYSl7cmV0dXJuIFNFYShhKSE9PSJPYmplY3QiPyExOmEuY29uc3RydWN0b3I9PT1PYmplY3QmJk9iamVjdC5nZXRQcm90b3R5cGVPZihhKT09PU9iamVjdC5wcm90b3R5cGV9ZnVuY3Rpb24gTm0oYSxlKXtsZXQgdD17Li4uYX07cmV0dXJuIEltKGEpJiZJbShlKSYmT2JqZWN0LmtleXMoZSkuZm9yRWFjaChyPT57SW0oZVtyXSkmJkltKGFbcl0pP3Rbcl09Tm0oYVtyXSxlW3JdKTp0W3JdPWVbcl19KSx0fWZ1bmN0aW9uIEVaZShhKXtyZXR1cm4gdHlwZW9mIGE9PSJudW1iZXIifWZ1bmN0aW9uIENFYShhKXtsZXR7ZWRpdG9yOmUsc3RhdGU6dCxmcm9tOnIsdG86aSxydWxlOm8scGFzdGVFdmVudDpuLGRyb3BFdmVudDpsfT1hLHtjb21tYW5kczpkLGNoYWluOmMsY2FuOnB9PW5ldyBTNCh7ZWRpdG9yOmUsc3RhdGU6dH0pLHU9W107cmV0dXJuIHQuZG9jLm5vZGVzQmV0d2VlbihyLGksKHYseCk9PntpZighdi5pc1RleHRibG9ja3x8di50eXBlLnNwZWMuY29kZSlyZXR1cm47bGV0IGI9TWF0aC5tYXgocix4KSxnPU1hdGgubWluKGkseCt2LmNvbnRlbnQuc2l6ZSkseT12LnRleHRCZXR3ZWVuKGIteCxnLXgsdm9pZCAwLCJcdUZGRkMiKTt6RWEoeSxvLmZpbmQsbikuZm9yRWFjaChDPT57aWYoQy5pbmRleD09PXZvaWQgMClyZXR1cm47bGV0IE49YitDLmluZGV4KzEsXz1OK0NbMF0ubGVuZ3RoLHo9e2Zyb206dC50ci5tYXBwaW5nLm1hcChOKSx0bzp0LnRyLm1hcHBpbmcubWFwKF8pfSxPPW8uaGFuZGxlcih7c3RhdGU6dCxyYW5nZTp6LG1hdGNoOkMsY29tbWFuZHM6ZCxjaGFpbjpjLGNhbjpwLHBhc3RlRXZlbnQ6bixkcm9wRXZlbnQ6bH0pO3UucHVzaChPKX0pfSksdS5ldmVyeSh2PT52IT09bnVsbCl9ZnVuY3Rpb24gUFplKGEpe2xldHtlZGl0b3I6ZSxydWxlczp0fT1hLHI9bnVsbCxpPSExLG89ITEsbj10eXBlb2YgQ2xpcGJvYXJkRXZlbnQ8InUiP25ldyBDbGlwYm9hcmRFdmVudCgicGFzdGUiKTpudWxsLGw7dHJ5e2w9dHlwZW9mIERyYWdFdmVudDwidSI/bmV3IERyYWdFdmVudCgiZHJvcCIpOm51bGx9Y2F0Y2h7bD1udWxsfWxldCBkPXMoKHtzdGF0ZTpwLGZyb206dSx0bzptLHJ1bGU6dixwYXN0ZUV2dDp4fSk9PntsZXQgYj1wLnRyLGc9QW0oe3N0YXRlOnAsdHJhbnNhY3Rpb246Yn0pO2lmKCEoIUNFYSh7ZWRpdG9yOmUsc3RhdGU6Zyxmcm9tOk1hdGgubWF4KHUtMSwwKSx0bzptLmItMSxydWxlOnYscGFzdGVFdmVudDp4LGRyb3BFdmVudDpsfSl8fCFiLnN0ZXBzLmxlbmd0aCkpe3RyeXtsPXR5cGVvZiBEcmFnRXZlbnQ8InUiP25ldyBEcmFnRXZlbnQoImRyb3AiKTpudWxsfWNhdGNoe2w9bnVsbH1yZXR1cm4gbj10eXBlb2YgQ2xpcGJvYXJkRXZlbnQ8InUiP25ldyBDbGlwYm9hcmRFdmVudCgicGFzdGUiKTpudWxsLGJ9fSwicHJvY2Vzc0V2ZW50Iik7cmV0dXJuIHQubWFwKHA9Pm5ldyBhcih7dmlldyh1KXtsZXQgbT1zKHg9Pnt2YXIgYjtyPSEoKGI9dS5kb20ucGFyZW50RWxlbWVudCk9PT1udWxsfHxiPT09dm9pZCAwKSYmYi5jb250YWlucyh4LnRhcmdldCk/dS5kb20ucGFyZW50RWxlbWVudDpudWxsLHImJihkcmU9ZSl9LCJoYW5kbGVEcmFnc3RhcnQiKSx2PXMoKCk9PntkcmUmJihkcmU9bnVsbCl9LCJoYW5kbGVEcmFnZW5kIik7cmV0dXJuIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJkcmFnc3RhcnQiLG0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJkcmFnZW5kIix2KSx7ZGVzdHJveSgpe3dpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJkcmFnc3RhcnQiLG0pLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJkcmFnZW5kIix2KX19fSxwcm9wczp7aGFuZGxlRE9NRXZlbnRzOntkcm9wOnMoKHUsbSk9PntpZihvPXI9PT11LmRvbS5wYXJlbnRFbGVtZW50LGw9bSwhbyl7bGV0IHY9ZHJlO3Y/LmlzRWRpdGFibGUmJnNldFRpbWVvdXQoKCk9PntsZXQgeD12LnN0YXRlLnNlbGVjdGlvbjt4JiZ2LmNvbW1hbmRzLmRlbGV0ZVJhbmdlKHtmcm9tOnguZnJvbSx0bzp4LnRvfSl9LDEwKX1yZXR1cm4hMX0sImRyb3AiKSxwYXN0ZTpzKCh1LG0pPT57dmFyIHY7bGV0IHg9KHY9bS5jbGlwYm9hcmREYXRhKT09PW51bGx8fHY9PT12b2lkIDA/dm9pZCAwOnYuZ2V0RGF0YSgidGV4dC9odG1sIik7cmV0dXJuIG49bSxpPSEheD8uaW5jbHVkZXMoImRhdGEtcG0tc2xpY2UiKSwhMX0sInBhc3RlIil9fSxhcHBlbmRUcmFuc2FjdGlvbjpzKCh1LG0sdik9PntsZXQgeD11WzBdLGI9eC5nZXRNZXRhKCJ1aUV2ZW50Iik9PT0icGFzdGUiJiYhaSxnPXguZ2V0TWV0YSgidWlFdmVudCIpPT09ImRyb3AiJiYhbyx5PXguZ2V0TWV0YSgiYXBwbHlQYXN0ZVJ1bGVzIiksaz0hIXk7aWYoIWImJiFnJiYhaylyZXR1cm47aWYoayl7bGV0e3RleHQ6X309eTt0eXBlb2YgXz09InN0cmluZyI/Xz1fOl89UG0oVmUuZnJvbShfKSx2LnNjaGVtYSk7bGV0e2Zyb206en09eSxPPXorXy5sZW5ndGgsVD1fRWEoXyk7cmV0dXJuIGQoe3J1bGU6cCxzdGF0ZTp2LGZyb206eix0bzp7YjpPfSxwYXN0ZUV2dDpUfSl9bGV0IEM9bS5kb2MuY29udGVudC5maW5kRGlmZlN0YXJ0KHYuZG9jLmNvbnRlbnQpLE49bS5kb2MuY29udGVudC5maW5kRGlmZkVuZCh2LmRvYy5jb250ZW50KTtpZighKCFFWmUoQyl8fCFOfHxDPT09Ti5iKSlyZXR1cm4gZCh7cnVsZTpwLHN0YXRlOnYsZnJvbTpDLHRvOk4scGFzdGVFdnQ6bn0pfSwiYXBwZW5kVHJhbnNhY3Rpb24iKX0pKX1mdW5jdGlvbiBJWmUoYSl7bGV0IGU9YS5maWx0ZXIoKHQscik9PmEuaW5kZXhPZih0KSE9PXIpO3JldHVybiBBcnJheS5mcm9tKG5ldyBTZXQoZSkpfWZ1bmN0aW9uIGJyZShhLGUsdCl7bGV0e2Zyb206cix0bzppfT1lLHtibG9ja1NlcGFyYXRvcjpvPWAKCmAsdGV4dFNlcmlhbGl6ZXJzOm49e319PXR8fHt9LGw9IiI7cmV0dXJuIGEubm9kZXNCZXR3ZWVuKHIsaSwoZCxjLHAsdSk9Pnt2YXIgbTtkLmlzQmxvY2smJmM+ciYmKGwrPW8pO2xldCB2PW4/LltkLnR5cGUubmFtZV07aWYodilyZXR1cm4gcCYmKGwrPXYoe25vZGU6ZCxwb3M6YyxwYXJlbnQ6cCxpbmRleDp1LHJhbmdlOmV9KSksITE7ZC5pc1RleHQmJihsKz0obT1kPy50ZXh0KT09PW51bGx8fG09PT12b2lkIDA/dm9pZCAwOm0uc2xpY2UoTWF0aC5tYXgocixjKS1jLGktYykpfSksbH1mdW5jdGlvbiBwVyhhKXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKGEubm9kZXMpLmZpbHRlcigoWyxlXSk9PmUuc3BlYy50b1RleHQpLm1hcCgoW2UsdF0pPT5bZSx0LnNwZWMudG9UZXh0XSkpfWZ1bmN0aW9uIFJtKGEsZSx0PXtzdHJpY3Q6ITB9KXtsZXQgcj1PYmplY3Qua2V5cyhlKTtyZXR1cm4gci5sZW5ndGg/ci5ldmVyeShpPT50LnN0cmljdD9lW2ldPT09YVtpXTp1VyhlW2ldKT9lW2ldLnRlc3QoYVtpXSk6ZVtpXT09PWFbaV0pOiEwfWZ1bmN0aW9uIEduYShhLGUsdD17fSl7cmV0dXJuIGEuZmluZChyPT5yLnR5cGU9PT1lJiZSbShPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmtleXModCkubWFwKGk9PltpLHIuYXR0cnNbaV1dKSksdCkpfWZ1bmN0aW9uIFluYShhLGUsdD17fSl7cmV0dXJuISFHbmEoYSxlLHQpfWZ1bmN0aW9uIGZXKGEsZSx0KXt2YXIgcjtpZighYXx8IWUpcmV0dXJuO2xldCBpPWEucGFyZW50LmNoaWxkQWZ0ZXIoYS5wYXJlbnRPZmZzZXQpO2lmKCghaS5ub2RlfHwhaS5ub2RlLm1hcmtzLnNvbWUocD0+cC50eXBlPT09ZSkpJiYoaT1hLnBhcmVudC5jaGlsZEJlZm9yZShhLnBhcmVudE9mZnNldCkpLCFpLm5vZGV8fCFpLm5vZGUubWFya3Muc29tZShwPT5wLnR5cGU9PT1lKXx8KHQ9dHx8KChyPWkubm9kZS5tYXJrc1swXSk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyLmF0dHJzKSwhR25hKFsuLi5pLm5vZGUubWFya3NdLGUsdCkpKXJldHVybjtsZXQgbj1pLmluZGV4LGw9YS5zdGFydCgpK2kub2Zmc2V0LGQ9bisxLGM9bCtpLm5vZGUubm9kZVNpemU7Zm9yKDtuPjAmJlluYShbLi4uYS5wYXJlbnQuY2hpbGQobi0xKS5tYXJrc10sZSx0KTspbi09MSxsLT1hLnBhcmVudC5jaGlsZChuKS5ub2RlU2l6ZTtmb3IoO2Q8YS5wYXJlbnQuY2hpbGRDb3VudCYmWW5hKFsuLi5hLnBhcmVudC5jaGlsZChkKS5tYXJrc10sZSx0KTspYys9YS5wYXJlbnQuY2hpbGQoZCkubm9kZVNpemUsZCs9MTtyZXR1cm57ZnJvbTpsLHRvOmN9fWZ1bmN0aW9uIFgyKGEsZSl7aWYodHlwZW9mIGE9PSJzdHJpbmciKXtpZighZS5tYXJrc1thXSl0aHJvdyBFcnJvcihgVGhlcmUgaXMgbm8gbWFyayB0eXBlIG5hbWVkICcke2F9Jy4gTWF5YmUgeW91IGZvcmdvdCB0byBhZGQgdGhlIGV4dGVuc2lvbj9gKTtyZXR1cm4gZS5tYXJrc1thXX1yZXR1cm4gYX1mdW5jdGlvbiB2cmUoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBSdH1mdW5jdGlvbiBSMShhPTAsZT0wLHQ9MCl7cmV0dXJuIE1hdGgubWluKE1hdGgubWF4KGEsZSksdCl9ZnVuY3Rpb24geHJlKGEsZT1udWxsKXtpZighZSlyZXR1cm4gbnVsbDtsZXQgdD1JdC5hdFN0YXJ0KGEpLHI9SXQuYXRFbmQoYSk7aWYoZT09PSJzdGFydCJ8fGU9PT0hMClyZXR1cm4gdDtpZihlPT09ImVuZCIpcmV0dXJuIHI7bGV0IGk9dC5mcm9tLG89ci50bztyZXR1cm4gZT09PSJhbGwiP1J0LmNyZWF0ZShhLFIxKDAsaSxvKSxSMShhLmNvbnRlbnQuc2l6ZSxpLG8pKTpSdC5jcmVhdGUoYSxSMShlLGksbyksUjEoZSxpLG8pKX1mdW5jdGlvbiBDWmUoKXtyZXR1cm4gbmF2aWdhdG9yLnBsYXRmb3JtPT09IkFuZHJvaWQifHwvYW5kcm9pZC9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCl9ZnVuY3Rpb24gcjUoKXtyZXR1cm5bImlQYWQgU2ltdWxhdG9yIiwiaVBob25lIFNpbXVsYXRvciIsImlQb2QgU2ltdWxhdG9yIiwiaVBhZCIsImlQaG9uZSIsImlQb2QiXS5pbmNsdWRlcyhuYXZpZ2F0b3IucGxhdGZvcm0pfHxuYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKCJNYWMiKSYmIm9udG91Y2hlbmQiaW4gZG9jdW1lbnR9ZnVuY3Rpb24gTlplKCl7cmV0dXJuIHR5cGVvZiBuYXZpZ2F0b3I8InUiPy9eKCg/IWNocm9tZXxhbmRyb2lkKS4pKnNhZmFyaS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk6ITF9ZnVuY3Rpb24gczUoYSl7bGV0IGU9YDxib2R5PiR7YX08L2JvZHk+YCx0PW5ldyB3aW5kb3cuRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGUsInRleHQvaHRtbCIpLmJvZHk7cmV0dXJuIEtuYSh0KX1mdW5jdGlvbiBpNShhLGUsdCl7aWYoYSBpbnN0YW5jZW9mIFdpfHxhIGluc3RhbmNlb2YgVmUpcmV0dXJuIGE7dD17c2xpY2U6ITAscGFyc2VPcHRpb25zOnt9LC4uLnR9O2xldCByPXR5cGVvZiBhPT0ib2JqZWN0IiYmYSE9PW51bGwsaT10eXBlb2YgYT09InN0cmluZyI7aWYocil0cnl7aWYoQXJyYXkuaXNBcnJheShhKSYmYS5sZW5ndGg+MClyZXR1cm4gVmUuZnJvbUFycmF5KGEubWFwKGw9PmUubm9kZUZyb21KU09OKGwpKSk7bGV0IG49ZS5ub2RlRnJvbUpTT04oYSk7cmV0dXJuIHQuZXJyb3JPbkludmFsaWRDb250ZW50JiZuLmNoZWNrKCksbn1jYXRjaChvKXtpZih0LmVycm9yT25JbnZhbGlkQ29udGVudCl0aHJvdyBuZXcgRXJyb3IoIlt0aXB0YXAgZXJyb3JdOiBJbnZhbGlkIEpTT04gY29udGVudCIse2NhdXNlOm99KTtyZXR1cm4gY29uc29sZS53YXJuKCJbdGlwdGFwIHdhcm5dOiBJbnZhbGlkIGNvbnRlbnQuIiwiUGFzc2VkIHZhbHVlOiIsYSwiRXJyb3I6IixvKSxpNSgiIixlLHQpfWlmKGkpe2lmKHQuZXJyb3JPbkludmFsaWRDb250ZW50KXtsZXQgbj0hMSxsPSIiLGQ9bmV3IGdtKHt0b3BOb2RlOmUuc3BlYy50b3BOb2RlLG1hcmtzOmUuc3BlYy5tYXJrcyxub2RlczplLnNwZWMubm9kZXMuYXBwZW5kKHtfX3RpcHRhcF9fcHJpdmF0ZV9fdW5rbm93bl9fY2F0Y2hfX2FsbF9fbm9kZTp7Y29udGVudDoiaW5saW5lKiIsZ3JvdXA6ImJsb2NrIixwYXJzZURPTTpbe3RhZzoiKiIsZ2V0QXR0cnM6cyhjPT4obj0hMCxsPXR5cGVvZiBjPT0ic3RyaW5nIj9jOmMub3V0ZXJIVE1MLG51bGwpLCJnZXRBdHRycyIpfV19fSl9KTtpZih0LnNsaWNlP0kxLmZyb21TY2hlbWEoZCkucGFyc2VTbGljZShzNShhKSx0LnBhcnNlT3B0aW9ucyk6STEuZnJvbVNjaGVtYShkKS5wYXJzZShzNShhKSx0LnBhcnNlT3B0aW9ucyksdC5lcnJvck9uSW52YWxpZENvbnRlbnQmJm4pdGhyb3cgbmV3IEVycm9yKCJbdGlwdGFwIGVycm9yXTogSW52YWxpZCBIVE1MIGNvbnRlbnQiLHtjYXVzZTpuZXcgRXJyb3IoYEludmFsaWQgZWxlbWVudCBmb3VuZDogJHtsfWApfSl9bGV0IG89STEuZnJvbVNjaGVtYShlKTtyZXR1cm4gdC5zbGljZT9vLnBhcnNlU2xpY2UoczUoYSksdC5wYXJzZU9wdGlvbnMpLmNvbnRlbnQ6by5wYXJzZShzNShhKSx0LnBhcnNlT3B0aW9ucyl9cmV0dXJuIGk1KCIiLGUsdCl9ZnVuY3Rpb24gUlplKGEsZSx0KXtsZXQgcj1hLnN0ZXBzLmxlbmd0aC0xO2lmKHI8ZSlyZXR1cm47bGV0IGk9YS5zdGVwc1tyXTtpZighKGkgaW5zdGFuY2VvZiBHc3x8aSBpbnN0YW5jZW9mIFFyKSlyZXR1cm47bGV0IG89YS5tYXBwaW5nLm1hcHNbcl0sbj0wO28uZm9yRWFjaCgobCxkLGMscCk9PntuPT09MCYmKG49cCl9KSxhLnNldFNlbGVjdGlvbihJdC5uZWFyKGEuZG9jLnJlc29sdmUobiksdCkpfWZ1bmN0aW9uIHlyZSgpe3JldHVybiB0eXBlb2YgbmF2aWdhdG9yPCJ1Ij8vTWFjLy50ZXN0KG5hdmlnYXRvci5wbGF0Zm9ybSk6ITF9ZnVuY3Rpb24gdFBhKGEpe2xldCBlPWEuc3BsaXQoLy0oPyEkKS8pLHQ9ZVtlLmxlbmd0aC0xXTt0PT09IlNwYWNlIiYmKHQ9IiAiKTtsZXQgcixpLG8sbjtmb3IobGV0IGw9MDtsPGUubGVuZ3RoLTE7bCs9MSl7bGV0IGQ9ZVtsXTtpZigvXihjbWR8bWV0YXxtKSQvaS50ZXN0KGQpKW49ITA7ZWxzZSBpZigvXmEobHQpPyQvaS50ZXN0KGQpKXI9ITA7ZWxzZSBpZigvXihjfGN0cmx8Y29udHJvbCkkL2kudGVzdChkKSlpPSEwO2Vsc2UgaWYoL15zKGhpZnQpPyQvaS50ZXN0KGQpKW89ITA7ZWxzZSBpZigvXm1vZCQvaS50ZXN0KGQpKXI1KCl8fHlyZSgpP249ITA6aT0hMDtlbHNlIHRocm93IG5ldyBFcnJvcihgVW5yZWNvZ25pemVkIG1vZGlmaWVyIG5hbWU6ICR7ZH1gKX1yZXR1cm4gciYmKHQ9YEFsdC0ke3R9YCksaSYmKHQ9YEN0cmwtJHt0fWApLG4mJih0PWBNZXRhLSR7dH1gKSxvJiYodD1gU2hpZnQtJHt0fWApLHR9ZnVuY3Rpb24gbzUoYSxlLHQ9e30pe2xldHtmcm9tOnIsdG86aSxlbXB0eTpvfT1hLnNlbGVjdGlvbixuPWU/bXMoZSxhLnNjaGVtYSk6bnVsbCxsPVtdO2EuZG9jLm5vZGVzQmV0d2VlbihyLGksKHUsbSk9PntpZih1LmlzVGV4dClyZXR1cm47bGV0IHY9TWF0aC5tYXgocixtKSx4PU1hdGgubWluKGksbSt1Lm5vZGVTaXplKTtsLnB1c2goe25vZGU6dSxmcm9tOnYsdG86eH0pfSk7bGV0IGQ9aS1yLGM9bC5maWx0ZXIodT0+bj9uLm5hbWU9PT11Lm5vZGUudHlwZS5uYW1lOiEwKS5maWx0ZXIodT0+Um0odS5ub2RlLmF0dHJzLHQse3N0cmljdDohMX0pKTtyZXR1cm4gbz8hIWMubGVuZ3RoOmMucmVkdWNlKCh1LG0pPT51K20udG8tbS5mcm9tLDApPj1kfWZ1bmN0aW9uIE9tKGEsZSl7cmV0dXJuIGUubm9kZXNbYV0/Im5vZGUiOmUubWFya3NbYV0/Im1hcmsiOm51bGx9ZnVuY3Rpb24gd3JlKGEsZSl7bGV0IHQ9dHlwZW9mIGU9PSJzdHJpbmciP1tlXTplO3JldHVybiBPYmplY3Qua2V5cyhhKS5yZWR1Y2UoKHIsaSk9Pih0LmluY2x1ZGVzKGkpfHwocltpXT1hW2ldKSxyKSx7fSl9ZnVuY3Rpb24gaFcoYSxlLHQ9e30scj17fSl7cmV0dXJuIGk1KGEsZSx7c2xpY2U6ITEscGFyc2VPcHRpb25zOnQsZXJyb3JPbkludmFsaWRDb250ZW50OnIuZXJyb3JPbkludmFsaWRDb250ZW50fSl9ZnVuY3Rpb24gTXJlKGEsZSl7bGV0IHQ9WDIoZSxhLnNjaGVtYSkse2Zyb206cix0bzppLGVtcHR5Om99PWEuc2VsZWN0aW9uLG49W107bz8oYS5zdG9yZWRNYXJrcyYmbi5wdXNoKC4uLmEuc3RvcmVkTWFya3MpLG4ucHVzaCguLi5hLnNlbGVjdGlvbi4kaGVhZC5tYXJrcygpKSk6YS5kb2Mubm9kZXNCZXR3ZWVuKHIsaSxkPT57bi5wdXNoKC4uLmQubWFya3MpfSk7bGV0IGw9bi5maW5kKGQ9PmQudHlwZS5uYW1lPT09dC5uYW1lKTtyZXR1cm4gbD97Li4ubC5hdHRyc306e319ZnVuY3Rpb24gVHJlKGEsZSl7bGV0IHQ9bmV3IFZmKGEpO3JldHVybiBlLmZvckVhY2gocj0+e3Iuc3RlcHMuZm9yRWFjaChpPT57dC5zdGVwKGkpfSl9KSx0fWZ1bmN0aW9uIE9aZShhKXtmb3IobGV0IGU9MDtlPGEuZWRnZUNvdW50O2UrPTEpe2xldHt0eXBlOnR9PWEuZWRnZShlKTtpZih0LmlzVGV4dGJsb2NrJiYhdC5oYXNSZXF1aXJlZEF0dHJzKCkpcmV0dXJuIHR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gbzFhKGEsZSl7bGV0IHQ9W107cmV0dXJuIGEuZGVzY2VuZGFudHMoKHIsaSk9PntlKHIpJiZ0LnB1c2goe25vZGU6cixwb3M6aX0pfSksdH1mdW5jdGlvbiBMcmUoYSxlLHQpe2xldCByPVtdO3JldHVybiBhLm5vZGVzQmV0d2VlbihlLmZyb20sZS50bywoaSxvKT0+e3QoaSkmJnIucHVzaCh7bm9kZTppLHBvczpvfSl9KSxyfWZ1bmN0aW9uIEZaZShhLGUpe2ZvcihsZXQgdD1hLmRlcHRoO3Q+MDt0LT0xKXtsZXQgcj1hLm5vZGUodCk7aWYoZShyKSlyZXR1cm57cG9zOnQ+MD9hLmJlZm9yZSh0KTowLHN0YXJ0OmEuc3RhcnQodCksZGVwdGg6dCxub2RlOnJ9fX1mdW5jdGlvbiBGbShhKXtyZXR1cm4gZT0+RlplKGUuJGZyb20sYSl9ZnVuY3Rpb24gbVcoYSxlKXtsZXQgdD11cmUucmVzb2x2ZShhKTtyZXR1cm4gbXJlKHQsZSl9ZnVuY3Rpb24gbjFhKGEsZSl7bGV0IHQ9bVcoZSkscj1XaS5mcm9tSlNPTih0LGEpO3JldHVybiBQbShyLmNvbnRlbnQsdCl9ZnVuY3Rpb24gbDFhKGEsZSl7bGV0IHQ9bVcoZSkscj1zNShhKTtyZXR1cm4gSTEuZnJvbVNjaGVtYSh0KS5wYXJzZShyKS50b0pTT04oKX1mdW5jdGlvbiBrcmUoYSxlKXtsZXQgdD17ZnJvbTowLHRvOmEuY29udGVudC5zaXplfTtyZXR1cm4gYnJlKGEsdCxlKX1mdW5jdGlvbiBjMWEoYSxlLHQpe2xldHtibG9ja1NlcGFyYXRvcjpyPWAKCmAsdGV4dFNlcmlhbGl6ZXJzOmk9e319PXR8fHt9LG89bVcoZSksbj1XaS5mcm9tSlNPTihvLGEpO3JldHVybiBrcmUobix7YmxvY2tTZXBhcmF0b3I6cix0ZXh0U2VyaWFsaXplcnM6ey4uLnBXKG8pLC4uLml9fSl9ZnVuY3Rpb24gQlplKGEsZSl7bGV0IHQ9bXMoZSxhLnNjaGVtYSkse2Zyb206cix0bzppfT1hLnNlbGVjdGlvbixvPVtdO2EuZG9jLm5vZGVzQmV0d2VlbihyLGksbD0+e28ucHVzaChsKX0pO2xldCBuPW8ucmV2ZXJzZSgpLmZpbmQobD0+bC50eXBlLm5hbWU9PT10Lm5hbWUpO3JldHVybiBuP3suLi5uLmF0dHJzfTp7fX1mdW5jdGlvbiB4VyhhLGUpe2xldCB0PU9tKHR5cGVvZiBlPT0ic3RyaW5nIj9lOmUubmFtZSxhLnNjaGVtYSk7cmV0dXJuIHQ9PT0ibm9kZSI/QlplKGEsZSk6dD09PSJtYXJrIj9NcmUoYSxlKTp7fX1mdW5jdGlvbiBIWmUoYSxlPUpTT04uc3RyaW5naWZ5KXtsZXQgdD17fTtyZXR1cm4gYS5maWx0ZXIocj0+e2xldCBpPWUocik7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGkpPyExOnRbaV09ITB9KX1mdW5jdGlvbiBnUGEoYSl7bGV0IGU9SFplKGEpO3JldHVybiBlLmxlbmd0aD09PTE/ZTplLmZpbHRlcigodCxyKT0+IWUuZmlsdGVyKChvLG4pPT5uIT09cikuc29tZShvPT50Lm9sZFJhbmdlLmZyb20+PW8ub2xkUmFuZ2UuZnJvbSYmdC5vbGRSYW5nZS50bzw9by5vbGRSYW5nZS50byYmdC5uZXdSYW5nZS5mcm9tPj1vLm5ld1JhbmdlLmZyb20mJnQubmV3UmFuZ2UudG88PW8ubmV3UmFuZ2UudG8pKX1mdW5jdGlvbiAkcmUoYSl7bGV0e21hcHBpbmc6ZSxzdGVwczp0fT1hLHI9W107cmV0dXJuIGUubWFwcy5mb3JFYWNoKChpLG8pPT57bGV0IG49W107aWYoaS5yYW5nZXMubGVuZ3RoKWkuZm9yRWFjaCgobCxkKT0+e24ucHVzaCh7ZnJvbTpsLHRvOmR9KX0pO2Vsc2V7bGV0e2Zyb206bCx0bzpkfT10W29dO2lmKGw9PT12b2lkIDB8fGQ9PT12b2lkIDApcmV0dXJuO24ucHVzaCh7ZnJvbTpsLHRvOmR9KX1uLmZvckVhY2goKHtmcm9tOmwsdG86ZH0pPT57bGV0IGM9ZS5zbGljZShvKS5tYXAobCwtMSkscD1lLnNsaWNlKG8pLm1hcChkKSx1PWUuaW52ZXJ0KCkubWFwKGMsLTEpLG09ZS5pbnZlcnQoKS5tYXAocCk7ci5wdXNoKHtvbGRSYW5nZTp7ZnJvbTp1LHRvOm19LG5ld1JhbmdlOntmcm9tOmMsdG86cH19KX0pfSksZ1BhKHIpfWZ1bmN0aW9uIHFaZShhLGU9MCl7bGV0IHI9YS50eXBlPT09YS50eXBlLnNjaGVtYS50b3BOb2RlVHlwZT8wOjEsaT1lLG89aSthLm5vZGVTaXplLG49YS5tYXJrcy5tYXAoYz0+e2xldCBwPXt0eXBlOmMudHlwZS5uYW1lfTtyZXR1cm4gT2JqZWN0LmtleXMoYy5hdHRycykubGVuZ3RoJiYocC5hdHRycz17Li4uYy5hdHRyc30pLHB9KSxsPXsuLi5hLmF0dHJzfSxkPXt0eXBlOmEudHlwZS5uYW1lLGZyb206aSx0bzpvfTtyZXR1cm4gT2JqZWN0LmtleXMobCkubGVuZ3RoJiYoZC5hdHRycz1sKSxuLmxlbmd0aCYmKGQubWFya3M9biksYS5jb250ZW50LmNoaWxkQ291bnQmJihkLmNvbnRlbnQ9W10sYS5mb3JFYWNoKChjLHApPT57dmFyIHU7KHU9ZC5jb250ZW50KT09PW51bGx8fHU9PT12b2lkIDB8fHUucHVzaChxWmUoYyxlK3ArcikpfSkpLGEudGV4dCYmKGQudGV4dD1hLnRleHQpLGR9ZnVuY3Rpb24gSG0oYSxlLHQpe2xldCByPVtdO3JldHVybiBhPT09ZT90LnJlc29sdmUoYSkubWFya3MoKS5mb3JFYWNoKGk9PntsZXQgbz10LnJlc29sdmUoYSksbj1mVyhvLGkudHlwZSk7biYmci5wdXNoKHttYXJrOmksLi4ubn0pfSk6dC5ub2Rlc0JldHdlZW4oYSxlLChpLG8pPT57IWl8fGk/Lm5vZGVTaXplPT09dm9pZCAwfHxyLnB1c2goLi4uaS5tYXJrcy5tYXAobj0+KHtmcm9tOm8sdG86bytpLm5vZGVTaXplLG1hcms6bn0pKSl9KSxyfWZ1bmN0aW9uIEJtKGEsZSx0KXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHQpLmZpbHRlcigoW3JdKT0+e2xldCBpPWEuZmluZChvPT5vLnR5cGU9PT1lJiZvLm5hbWU9PT1yKTtyZXR1cm4gaT9pLmF0dHJpYnV0ZS5rZWVwT25TcGxpdDohMX0pKX1mdW5jdGlvbiBnVyhhLGUsdD17fSl7bGV0e2VtcHR5OnIscmFuZ2VzOml9PWEuc2VsZWN0aW9uLG89ZT9YMihlLGEuc2NoZW1hKTpudWxsO2lmKHIpcmV0dXJuISEoYS5zdG9yZWRNYXJrc3x8YS5zZWxlY3Rpb24uJGZyb20ubWFya3MoKSkuZmlsdGVyKHU9Pm8/by5uYW1lPT09dS50eXBlLm5hbWU6ITApLmZpbmQodT0+Um0odS5hdHRycyx0LHtzdHJpY3Q6ITF9KSk7bGV0IG49MCxsPVtdO2lmKGkuZm9yRWFjaCgoeyRmcm9tOnUsJHRvOm19KT0+e2xldCB2PXUucG9zLHg9bS5wb3M7YS5kb2Mubm9kZXNCZXR3ZWVuKHYseCwoYixnKT0+e2lmKCFiLmlzVGV4dCYmIWIubWFya3MubGVuZ3RoKXJldHVybjtsZXQgeT1NYXRoLm1heCh2LGcpLGs9TWF0aC5taW4oeCxnK2Iubm9kZVNpemUpLEM9ay15O24rPUMsbC5wdXNoKC4uLmIubWFya3MubWFwKE49Pih7bWFyazpOLGZyb206eSx0bzprfSkpKX0pfSksbj09PTApcmV0dXJuITE7bGV0IGQ9bC5maWx0ZXIodT0+bz9vLm5hbWU9PT11Lm1hcmsudHlwZS5uYW1lOiEwKS5maWx0ZXIodT0+Um0odS5tYXJrLmF0dHJzLHQse3N0cmljdDohMX0pKS5yZWR1Y2UoKHUsbSk9PnUrbS50by1tLmZyb20sMCksYz1sLmZpbHRlcih1PT5vP3UubWFyay50eXBlIT09byYmdS5tYXJrLnR5cGUuZXhjbHVkZXMobyk6ITApLnJlZHVjZSgodSxtKT0+dSttLnRvLW0uZnJvbSwwKTtyZXR1cm4oZD4wP2QrYzpkKT49bn1mdW5jdGlvbiBWWmUoYSxlLHQ9e30pe2lmKCFlKXJldHVybiBvNShhLG51bGwsdCl8fGdXKGEsbnVsbCx0KTtsZXQgcj1PbShlLGEuc2NoZW1hKTtyZXR1cm4gcj09PSJub2RlIj9vNShhLGUsdCk6cj09PSJtYXJrIj9nVyhhLGUsdCk6ITF9ZnVuY3Rpb24gU3JlKGEsZSl7bGV0e25vZGVFeHRlbnNpb25zOnR9PUVtKGUpLHI9dC5maW5kKG49Pm4ubmFtZT09PWEpO2lmKCFyKXJldHVybiExO2xldCBpPXtuYW1lOnIubmFtZSxvcHRpb25zOnIub3B0aW9ucyxzdG9yYWdlOnIuc3RvcmFnZX0sbz1WdCh1dChyLCJncm91cCIsaSkpO3JldHVybiB0eXBlb2YgbyE9InN0cmluZyI/ITE6by5zcGxpdCgiICIpLmluY2x1ZGVzKCJsaXN0Iil9ZnVuY3Rpb24gYlcoYSx7Y2hlY2tDaGlsZHJlbjplPSEwLGlnbm9yZVdoaXRlc3BhY2U6dD0hMX09e30pe3ZhciByO2lmKHQpe2lmKGEudHlwZS5uYW1lPT09ImhhcmRCcmVhayIpcmV0dXJuITA7aWYoYS5pc1RleHQpcmV0dXJuL15ccyokL20udGVzdCgocj1hLnRleHQpIT09bnVsbCYmciE9PXZvaWQgMD9yOiIiKX1pZihhLmlzVGV4dClyZXR1cm4hYS50ZXh0O2lmKGEuaXNBdG9tfHxhLmlzTGVhZilyZXR1cm4hMTtpZihhLmNvbnRlbnQuY2hpbGRDb3VudD09PTApcmV0dXJuITA7aWYoZSl7bGV0IGk9ITA7cmV0dXJuIGEuY29udGVudC5mb3JFYWNoKG89PntpIT09ITEmJihiVyhvLHtpZ25vcmVXaGl0ZXNwYWNlOnQsY2hlY2tDaGlsZHJlbjplfSl8fChpPSExKSl9KSxpfXJldHVybiExfWZ1bmN0aW9uIERyZShhKXtyZXR1cm4gYSBpbnN0YW5jZW9mIE10fWZ1bmN0aW9uIGYxYShhLGUsdCl7bGV0IGk9YS5zdGF0ZS5kb2MuY29udGVudC5zaXplLG89UjEoZSwwLGkpLG49UjEodCwwLGkpLGw9YS5jb29yZHNBdFBvcyhvKSxkPWEuY29vcmRzQXRQb3MobiwtMSksYz1NYXRoLm1pbihsLnRvcCxkLnRvcCkscD1NYXRoLm1heChsLmJvdHRvbSxkLmJvdHRvbSksdT1NYXRoLm1pbihsLmxlZnQsZC5sZWZ0KSxtPU1hdGgubWF4KGwucmlnaHQsZC5yaWdodCksdj1tLXUseD1wLWMseT17dG9wOmMsYm90dG9tOnAsbGVmdDp1LHJpZ2h0Om0sd2lkdGg6dixoZWlnaHQ6eCx4OnUseTpjfTtyZXR1cm57Li4ueSx0b0pTT046cygoKT0+eSwidG9KU09OIil9fWZ1bmN0aW9uIFpuYSh7anNvbjphLHZhbGlkTWFya3M6ZSx2YWxpZE5vZGVzOnQsb3B0aW9uczpyLHJld3JpdHRlbkNvbnRlbnQ6aT1bXX0pe3JldHVybiBhLm1hcmtzJiZBcnJheS5pc0FycmF5KGEubWFya3MpJiYoYS5tYXJrcz1hLm1hcmtzLmZpbHRlcihvPT57bGV0IG49dHlwZW9mIG89PSJzdHJpbmciP286by50eXBlO3JldHVybiBlLmhhcyhuKT8hMDooaS5wdXNoKHtvcmlnaW5hbDpKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG8pKSx1bnN1cHBvcnRlZDpufSksITEpfSkpLGEuY29udGVudCYmQXJyYXkuaXNBcnJheShhLmNvbnRlbnQpJiYoYS5jb250ZW50PWEuY29udGVudC5tYXAobz0+Wm5hKHtqc29uOm8sdmFsaWRNYXJrczplLHZhbGlkTm9kZXM6dCxvcHRpb25zOnIscmV3cml0dGVuQ29udGVudDppfSkuanNvbikuZmlsdGVyKG89Pm8hPW51bGwpKSxhLnR5cGUmJiF0LmhhcyhhLnR5cGUpPyhpLnB1c2goe29yaWdpbmFsOkpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYSkpLHVuc3VwcG9ydGVkOmEudHlwZX0pLGEuY29udGVudCYmQXJyYXkuaXNBcnJheShhLmNvbnRlbnQpJiZyPy5mYWxsYmFja1RvUGFyYWdyYXBoIT09ITE/KGEudHlwZT0icGFyYWdyYXBoIix7anNvbjphLHJld3JpdHRlbkNvbnRlbnQ6aX0pOntqc29uOm51bGwscmV3cml0dGVuQ29udGVudDppfSk6e2pzb246YSxyZXdyaXR0ZW5Db250ZW50Oml9fWZ1bmN0aW9uIGgxYShhLGUsdCl7cmV0dXJuIFpuYSh7anNvbjphLHZhbGlkTm9kZXM6bmV3IFNldChPYmplY3Qua2V5cyhlLm5vZGVzKSksdmFsaWRNYXJrczpuZXcgU2V0KE9iamVjdC5rZXlzKGUubWFya3MpKSxvcHRpb25zOnR9KX1mdW5jdGlvbiBiUGEoYSxlLHQpe3ZhciByO2xldHtzZWxlY3Rpb246aX09ZSxvPW51bGw7aWYodnJlKGkpJiYobz1pLiRjdXJzb3IpLG8pe2xldCBsPShyPWEuc3RvcmVkTWFya3MpIT09bnVsbCYmciE9PXZvaWQgMD9yOm8ubWFya3MoKTtyZXR1cm4hIXQuaXNJblNldChsKXx8IWwuc29tZShkPT5kLnR5cGUuZXhjbHVkZXModCkpfWxldHtyYW5nZXM6bn09aTtyZXR1cm4gbi5zb21lKCh7JGZyb206bCwkdG86ZH0pPT57bGV0IGM9bC5kZXB0aD09PTA/YS5kb2MuaW5saW5lQ29udGVudCYmYS5kb2MudHlwZS5hbGxvd3NNYXJrVHlwZSh0KTohMTtyZXR1cm4gYS5kb2Mubm9kZXNCZXR3ZWVuKGwucG9zLGQucG9zLChwLHUsbSk9PntpZihjKXJldHVybiExO2lmKHAuaXNJbmxpbmUpe2xldCB2PSFtfHxtLnR5cGUuYWxsb3dzTWFya1R5cGUodCkseD0hIXQuaXNJblNldChwLm1hcmtzKXx8IXAubWFya3Muc29tZShiPT5iLnR5cGUuZXhjbHVkZXModCkpO2M9diYmeH1yZXR1cm4hY30pLGN9KX1mdW5jdGlvbiBYbmEoYSxlKXtsZXQgdD1hLnN0b3JlZE1hcmtzfHxhLnNlbGVjdGlvbi4kdG8ucGFyZW50T2Zmc2V0JiZhLnNlbGVjdGlvbi4kZnJvbS5tYXJrcygpO2lmKHQpe2xldCByPXQuZmlsdGVyKGk9PmU/LmluY2x1ZGVzKGkudHlwZS5uYW1lKSk7YS50ci5lbnN1cmVNYXJrcyhyKX19ZnVuY3Rpb24galplKGEsZSx0KXtsZXQgcj1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGBzdHlsZVtkYXRhLXRpcHRhcC1zdHlsZSR7dD9gLSR7dH1gOiIifV1gKTtpZihyIT09bnVsbClyZXR1cm4gcjtsZXQgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiBlJiZpLnNldEF0dHJpYnV0ZSgibm9uY2UiLGUpLGkuc2V0QXR0cmlidXRlKGBkYXRhLXRpcHRhcC1zdHlsZSR7dD9gLSR7dH1gOiIifWAsIiIpLGkuaW5uZXJIVE1MPWEsZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXS5hcHBlbmRDaGlsZChpKSxpfWZ1bmN0aW9uIE5uKGEpe3JldHVybiBuZXcgU2Moe2ZpbmQ6YS5maW5kLGhhbmRsZXI6cygoe3N0YXRlOmUscmFuZ2U6dCxtYXRjaDpyfSk9PntsZXQgaT1WdChhLmdldEF0dHJpYnV0ZXMsdm9pZCAwLHIpO2lmKGk9PT0hMXx8aT09PW51bGwpcmV0dXJuIG51bGw7bGV0e3RyOm99PWUsbj1yW3IubGVuZ3RoLTFdLGw9clswXTtpZihuKXtsZXQgZD1sLnNlYXJjaCgvXFMvKSxjPXQuZnJvbStsLmluZGV4T2YobikscD1jK24ubGVuZ3RoO2lmKEhtKHQuZnJvbSx0LnRvLGUuZG9jKS5maWx0ZXIodj0+di5tYXJrLnR5cGUuZXhjbHVkZWQuZmluZChiPT5iPT09YS50eXBlJiZiIT09di5tYXJrLnR5cGUpKS5maWx0ZXIodj0+di50bz5jKS5sZW5ndGgpcmV0dXJuIG51bGw7cDx0LnRvJiZvLmRlbGV0ZShwLHQudG8pLGM+dC5mcm9tJiZvLmRlbGV0ZSh0LmZyb20rZCxjKTtsZXQgbT10LmZyb20rZCtuLmxlbmd0aDtvLmFkZE1hcmsodC5mcm9tK2QsbSxhLnR5cGUuY3JlYXRlKGl8fHt9KSksby5yZW1vdmVTdG9yZWRNYXJrKGEudHlwZSl9fSwiaGFuZGxlciIpfSl9ZnVuY3Rpb24gQXJlKGEpe3JldHVybiBuZXcgU2Moe2ZpbmQ6YS5maW5kLGhhbmRsZXI6cygoe3N0YXRlOmUscmFuZ2U6dCxtYXRjaDpyfSk9PntsZXQgaT1WdChhLmdldEF0dHJpYnV0ZXMsdm9pZCAwLHIpfHx7fSx7dHI6b309ZSxuPXQuZnJvbSxsPXQudG8sZD1hLnR5cGUuY3JlYXRlKGkpO2lmKHJbMV0pe2xldCBjPXJbMF0ubGFzdEluZGV4T2YoclsxXSkscD1uK2M7cD5sP3A9bDpsPXArclsxXS5sZW5ndGg7bGV0IHU9clswXVtyWzBdLmxlbmd0aC0xXTtvLmluc2VydFRleHQodSxuK3JbMF0ubGVuZ3RoLTEpLG8ucmVwbGFjZVdpdGgocCxsLGQpfWVsc2UgaWYoclswXSl7bGV0IGM9YS50eXBlLmlzSW5saW5lP246bi0xO28uaW5zZXJ0KGMsYS50eXBlLmNyZWF0ZShpKSkuZGVsZXRlKG8ubWFwcGluZy5tYXAobiksby5tYXBwaW5nLm1hcChsKSl9by5zY3JvbGxJbnRvVmlldygpfSwiaGFuZGxlciIpfSl9ZnVuY3Rpb24gbjUoYSl7cmV0dXJuIG5ldyBTYyh7ZmluZDphLmZpbmQsaGFuZGxlcjpzKCh7c3RhdGU6ZSxyYW5nZTp0LG1hdGNoOnJ9KT0+e2xldCBpPWUuZG9jLnJlc29sdmUodC5mcm9tKSxvPVZ0KGEuZ2V0QXR0cmlidXRlcyx2b2lkIDAscil8fHt9O2lmKCFpLm5vZGUoLTEpLmNhblJlcGxhY2VXaXRoKGkuaW5kZXgoLTEpLGkuaW5kZXhBZnRlcigtMSksYS50eXBlKSlyZXR1cm4gbnVsbDtlLnRyLmRlbGV0ZSh0LmZyb20sdC50bykuc2V0QmxvY2tUeXBlKHQuZnJvbSx0LmZyb20sYS50eXBlLG8pfSwiaGFuZGxlciIpfSl9ZnVuY3Rpb24gbXIoYSl7cmV0dXJuIG5ldyBTYyh7ZmluZDphLmZpbmQsaGFuZGxlcjpzKCh7c3RhdGU6ZSxyYW5nZTp0LG1hdGNoOnJ9KT0+e2xldCBpPWEucmVwbGFjZSxvPXQuZnJvbSxuPXQudG87aWYoclsxXSl7bGV0IGw9clswXS5sYXN0SW5kZXhPZihyWzFdKTtpKz1yWzBdLnNsaWNlKGwrclsxXS5sZW5ndGgpLG8rPWw7bGV0IGQ9by1uO2Q+MCYmKGk9clswXS5zbGljZShsLWQsbCkraSxvPW4pfWUudHIuaW5zZXJ0VGV4dChpLG8sbil9LCJoYW5kbGVyIil9KX1mdW5jdGlvbiBRMihhKXtyZXR1cm4gbmV3IFNjKHtmaW5kOmEuZmluZCxoYW5kbGVyOnMoKHtzdGF0ZTplLHJhbmdlOnQsbWF0Y2g6cixjaGFpbjppfSk9PntsZXQgbz1WdChhLmdldEF0dHJpYnV0ZXMsdm9pZCAwLHIpfHx7fSxuPWUudHIuZGVsZXRlKHQuZnJvbSx0LnRvKSxkPW4uZG9jLnJlc29sdmUodC5mcm9tKS5ibG9ja1JhbmdlKCksYz1kJiZqZihkLGEudHlwZSxvKTtpZighYylyZXR1cm4gbnVsbDtpZihuLndyYXAoZCxjKSxhLmtlZXBNYXJrcyYmYS5lZGl0b3Ipe2xldHtzZWxlY3Rpb246dSxzdG9yZWRNYXJrczptfT1lLHtzcGxpdHRhYmxlTWFya3M6dn09YS5lZGl0b3IuZXh0ZW5zaW9uTWFuYWdlcix4PW18fHUuJHRvLnBhcmVudE9mZnNldCYmdS4kZnJvbS5tYXJrcygpO2lmKHgpe2xldCBiPXguZmlsdGVyKGc9PnYuaW5jbHVkZXMoZy50eXBlLm5hbWUpKTtuLmVuc3VyZU1hcmtzKGIpfX1pZihhLmtlZXBBdHRyaWJ1dGVzKXtsZXQgdT1hLnR5cGUubmFtZT09PSJidWxsZXRMaXN0Inx8YS50eXBlLm5hbWU9PT0ib3JkZXJlZExpc3QiPyJsaXN0SXRlbSI6InRhc2tMaXN0IjtpKCkudXBkYXRlQXR0cmlidXRlcyh1LG8pLnJ1bigpfWxldCBwPW4uZG9jLnJlc29sdmUodC5mcm9tLTEpLm5vZGVCZWZvcmU7cCYmcC50eXBlPT09YS50eXBlJiZlbihuLmRvYyx0LmZyb20tMSkmJighYS5qb2luUHJlZGljYXRlfHxhLmpvaW5QcmVkaWNhdGUocixwKSkmJm4uam9pbih0LmZyb20tMSl9LCJoYW5kbGVyIil9KX1mdW5jdGlvbiBFbyhhKXtyZXR1cm4gbmV3IGE1KHtmaW5kOmEuZmluZCxoYW5kbGVyOnMoKHtzdGF0ZTplLHJhbmdlOnQsbWF0Y2g6cixwYXN0ZUV2ZW50Oml9KT0+e2xldCBvPVZ0KGEuZ2V0QXR0cmlidXRlcyx2b2lkIDAscixpKTtpZihvPT09ITF8fG89PT1udWxsKXJldHVybiBudWxsO2xldHt0cjpufT1lLGw9cltyLmxlbmd0aC0xXSxkPXJbMF0sYz10LnRvO2lmKGwpe2xldCBwPWQuc2VhcmNoKC9cUy8pLHU9dC5mcm9tK2QuaW5kZXhPZihsKSxtPXUrbC5sZW5ndGg7aWYoSG0odC5mcm9tLHQudG8sZS5kb2MpLmZpbHRlcih4PT54Lm1hcmsudHlwZS5leGNsdWRlZC5maW5kKGc9Pmc9PT1hLnR5cGUmJmchPT14Lm1hcmsudHlwZSkpLmZpbHRlcih4PT54LnRvPnUpLmxlbmd0aClyZXR1cm4gbnVsbDttPHQudG8mJm4uZGVsZXRlKG0sdC50byksdT50LmZyb20mJm4uZGVsZXRlKHQuZnJvbStwLHUpLGM9dC5mcm9tK3ArbC5sZW5ndGgsbi5hZGRNYXJrKHQuZnJvbStwLGMsYS50eXBlLmNyZWF0ZShvfHx7fSkpLG4ucmVtb3ZlU3RvcmVkTWFyayhhLnR5cGUpfX0sImhhbmRsZXIiKX0pfWZ1bmN0aW9uIEVyZShhLGUpe2xldHtzZWxlY3Rpb246dH09YSx7JGZyb206cn09dDtpZih0IGluc3RhbmNlb2YgTXQpe2xldCBvPXIuaW5kZXgoKTtyZXR1cm4gci5wYXJlbnQuY2FuUmVwbGFjZVdpdGgobyxvKzEsZSl9bGV0IGk9ci5kZXB0aDtmb3IoO2k+PTA7KXtsZXQgbz1yLmluZGV4KGkpO2lmKHIubm9kZShpKS5jb250ZW50TWF0Y2hBdChvKS5tYXRjaFR5cGUoZSkpcmV0dXJuITA7aS09MX1yZXR1cm4hMX1mdW5jdGlvbiBnMWEoYSl7cmV0dXJuIGEucmVwbGFjZSgvWy0vXFxeJCorPy4oKXxbXF17fV0vZywiXFwkJiIpfWZ1bmN0aW9uIGIxYShhKXtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmcifWZ1bmN0aW9uIHYxYShhKXtyZXR1cm4gbmV3IGE1KHtmaW5kOmEuZmluZCxoYW5kbGVyKHttYXRjaDplLGNoYWluOnQscmFuZ2U6cixwYXN0ZUV2ZW50Oml9KXtsZXQgbz1WdChhLmdldEF0dHJpYnV0ZXMsdm9pZCAwLGUsaSksbj1WdChhLmdldENvbnRlbnQsdm9pZCAwLG8pO2lmKG89PT0hMXx8bz09PW51bGwpcmV0dXJuIG51bGw7bGV0IGw9e3R5cGU6YS50eXBlLm5hbWUsYXR0cnM6b307biYmKGwuY29udGVudD1uKSxlLmlucHV0JiZ0KCkuZGVsZXRlUmFuZ2UocikuaW5zZXJ0Q29udGVudEF0KHIuZnJvbSxsKX19KX1mdW5jdGlvbiB4MWEoYSl7cmV0dXJuIG5ldyBhNSh7ZmluZDphLmZpbmQsaGFuZGxlcjpzKCh7c3RhdGU6ZSxyYW5nZTp0LG1hdGNoOnJ9KT0+e2xldCBpPWEucmVwbGFjZSxvPXQuZnJvbSxuPXQudG87aWYoclsxXSl7bGV0IGw9clswXS5sYXN0SW5kZXhPZihyWzFdKTtpKz1yWzBdLnNsaWNlKGwrclsxXS5sZW5ndGgpLG8rPWw7bGV0IGQ9by1uO2Q+MCYmKGk9clswXS5zbGljZShsLWQsbCkraSxvPW4pfWUudHIuaW5zZXJ0VGV4dChpLG8sbil9LCJoYW5kbGVyIil9KX12YXIgUzQselplLERaZSxTYyxrRWEsc2ksYTUsekVhLGRyZSxfRWEsdXJlLHdyLFduYSxURWEsTEVhLCRFYSxERWEsQUVhLEVFYSxQRWEsSUVhLE5FYSxSRWEsT0VhLEZFYSxCRWEsSEVhLHFFYSxWRWEsakVhLEtuYSxVRWEsV0VhLEdFYSxZRWEsS0VhLFpFYSxYRWEsUUVhLEpFYSxlUGEsYVBhLHJQYSxzUGEsaVBhLG9QYSxuUGEsbFBhLGNQYSxkUGEsdVBhLHBQYSxmUGEsaFBhLG1QYSxkMWEsdTFhLHAxYSx2UGEseFBhLHlQYSx3UGEsTVBhLGtQYSxTUGEselBhLF9aZSxUWmUsQ1BhLF9QYSxUUGEsTFBhLCRQYSxEUGEsQVBhLEVQYSxQUGEsSVBhLE5QYSxRbmEsSm5hLGUxYSx0MWEsYTFhLHIxYSxzMWEsaTFhLG0xYSx2VyxSUGEsenJlLG9yLENyZSxfcmUsZ3I9ZigoKT0+e1FVKCk7TW5hKCk7em5hKCk7Q25hKCk7X25hKCk7Um5hKCk7am5hKCk7cyhBbSwiY3JlYXRlQ2hhaW5hYmxlU3RhdGUiKTtTND1jbGFzc3tzdGF0aWN7cyh0aGlzLCJDb21tYW5kTWFuYWdlciIpfWNvbnN0cnVjdG9yKGUpe3RoaXMuZWRpdG9yPWUuZWRpdG9yLHRoaXMucmF3Q29tbWFuZHM9dGhpcy5lZGl0b3IuZXh0ZW5zaW9uTWFuYWdlci5jb21tYW5kcyx0aGlzLmN1c3RvbVN0YXRlPWUuc3RhdGV9Z2V0IGhhc0N1c3RvbVN0YXRlKCl7cmV0dXJuISF0aGlzLmN1c3RvbVN0YXRlfWdldCBzdGF0ZSgpe3JldHVybiB0aGlzLmN1c3RvbVN0YXRlfHx0aGlzLmVkaXRvci5zdGF0ZX1nZXQgY29tbWFuZHMoKXtsZXR7cmF3Q29tbWFuZHM6ZSxlZGl0b3I6dCxzdGF0ZTpyfT10aGlzLHt2aWV3Oml9PXQse3RyOm99PXIsbj10aGlzLmJ1aWxkUHJvcHMobyk7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhlKS5tYXAoKFtsLGRdKT0+W2wscygoLi4ucCk9PntsZXQgdT1kKC4uLnApKG4pO3JldHVybiFvLmdldE1ldGEoInByZXZlbnREaXNwYXRjaCIpJiYhdGhpcy5oYXNDdXN0b21TdGF0ZSYmaS5kaXNwYXRjaChvKSx1fSwibWV0aG9kIildKSl9Z2V0IGNoYWluKCl7cmV0dXJuKCk9PnRoaXMuY3JlYXRlQ2hhaW4oKX1nZXQgY2FuKCl7cmV0dXJuKCk9PnRoaXMuY3JlYXRlQ2FuKCl9Y3JlYXRlQ2hhaW4oZSx0PSEwKXtsZXR7cmF3Q29tbWFuZHM6cixlZGl0b3I6aSxzdGF0ZTpvfT10aGlzLHt2aWV3Om59PWksbD1bXSxkPSEhZSxjPWV8fG8udHIscD1zKCgpPT4oIWQmJnQmJiFjLmdldE1ldGEoInByZXZlbnREaXNwYXRjaCIpJiYhdGhpcy5oYXNDdXN0b21TdGF0ZSYmbi5kaXNwYXRjaChjKSxsLmV2ZXJ5KG09Pm09PT0hMCkpLCJydW4iKSx1PXsuLi5PYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMocikubWFwKChbbSx2XSk9PlttLHMoKC4uLmIpPT57bGV0IGc9dGhpcy5idWlsZFByb3BzKGMsdCkseT12KC4uLmIpKGcpO3JldHVybiBsLnB1c2goeSksdX0sImNoYWluZWRDb21tYW5kIildKSkscnVuOnB9O3JldHVybiB1fWNyZWF0ZUNhbihlKXtsZXR7cmF3Q29tbWFuZHM6dCxzdGF0ZTpyfT10aGlzLGk9ITEsbz1lfHxyLnRyLG49dGhpcy5idWlsZFByb3BzKG8saSk7cmV0dXJuey4uLk9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyh0KS5tYXAoKFtkLGNdKT0+W2QsKC4uLnApPT5jKC4uLnApKHsuLi5uLGRpc3BhdGNoOnZvaWQgMH0pXSkpLGNoYWluOnMoKCk9PnRoaXMuY3JlYXRlQ2hhaW4obyxpKSwiY2hhaW4iKX19YnVpbGRQcm9wcyhlLHQ9ITApe2xldHtyYXdDb21tYW5kczpyLGVkaXRvcjppLHN0YXRlOm99PXRoaXMse3ZpZXc6bn09aSxsPXt0cjplLGVkaXRvcjppLHZpZXc6bixzdGF0ZTpBbSh7c3RhdGU6byx0cmFuc2FjdGlvbjplfSksZGlzcGF0Y2g6dD8oKT0+e306dm9pZCAwLGNoYWluOnMoKCk9PnRoaXMuY3JlYXRlQ2hhaW4oZSx0KSwiY2hhaW4iKSxjYW46cygoKT0+dGhpcy5jcmVhdGVDYW4oZSksImNhbiIpLGdldCBjb21tYW5kcygpe3JldHVybiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMocikubWFwKChbZCxjXSk9PltkLCguLi5wKT0+YyguLi5wKShsKV0pKX19O3JldHVybiBsfX0selplPWNsYXNze3N0YXRpY3tzKHRoaXMsIkV2ZW50RW1pdHRlciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5jYWxsYmFja3M9e319b24oZSx0KXtyZXR1cm4gdGhpcy5jYWxsYmFja3NbZV18fCh0aGlzLmNhbGxiYWNrc1tlXT1bXSksdGhpcy5jYWxsYmFja3NbZV0ucHVzaCh0KSx0aGlzfWVtaXQoZSwuLi50KXtsZXQgcj10aGlzLmNhbGxiYWNrc1tlXTtyZXR1cm4gciYmci5mb3JFYWNoKGk9PmkuYXBwbHkodGhpcyx0KSksdGhpc31vZmYoZSx0KXtsZXQgcj10aGlzLmNhbGxiYWNrc1tlXTtyZXR1cm4gciYmKHQ/dGhpcy5jYWxsYmFja3NbZV09ci5maWx0ZXIoaT0+aSE9PXQpOmRlbGV0ZSB0aGlzLmNhbGxiYWNrc1tlXSksdGhpc31vbmNlKGUsdCl7bGV0IHI9cygoLi4uaSk9Pnt0aGlzLm9mZihlLHIpLHQuYXBwbHkodGhpcyxpKX0sIm9uY2VGbiIpO3JldHVybiB0aGlzLm9uKGUscil9cmVtb3ZlQWxsTGlzdGVuZXJzKCl7dGhpcy5jYWxsYmFja3M9e319fTtzKHV0LCJnZXRFeHRlbnNpb25GaWVsZCIpO3MoRW0sInNwbGl0RXh0ZW5zaW9ucyIpO3MocHJlLCJnZXRBdHRyaWJ1dGVzRnJvbUV4dGVuc2lvbnMiKTtzKG1zLCJnZXROb2RlVHlwZSIpO3MoU2EsIm1lcmdlQXR0cmlidXRlcyIpO3MoY1csImdldFJlbmRlcmVkQXR0cmlidXRlcyIpO3MoZnJlLCJpc0Z1bmN0aW9uIik7cyhWdCwiY2FsbE9yUmV0dXJuIik7cyhMWmUsImlzRW1wdHlPYmplY3QiKTtzKCRaZSwiZnJvbVN0cmluZyIpO3MoaHJlLCJpbmplY3RFeHRlbnNpb25BdHRyaWJ1dGVzVG9QYXJzZVJ1bGUiKTtzKFVuYSwiY2xlYW5VcFNjaGVtYUl0ZW0iKTtzKG1yZSwiZ2V0U2NoZW1hQnlSZXNvbHZlZEV4dGVuc2lvbnMiKTtzKGRXLCJnZXRTY2hlbWFUeXBlQnlOYW1lIik7cyhncmUsImlzRXh0ZW5zaW9uUnVsZXNFbmFibGVkIik7cyhQbSwiZ2V0SFRNTEZyb21GcmFnbWVudCIpO0RaZT1zKChhLGU9NTAwKT0+e2xldCB0PSIiLHI9YS5wYXJlbnRPZmZzZXQ7cmV0dXJuIGEucGFyZW50Lm5vZGVzQmV0d2VlbihNYXRoLm1heCgwLHItZSksciwoaSxvLG4sbCk9Pnt2YXIgZCxjO2xldCBwPSgoYz0oZD1pLnR5cGUuc3BlYykudG9UZXh0KT09PW51bGx8fGM9PT12b2lkIDA/dm9pZCAwOmMuY2FsbChkLHtub2RlOmkscG9zOm8scGFyZW50Om4saW5kZXg6bH0pKXx8aS50ZXh0Q29udGVudHx8IiVsZWFmJSI7dCs9aS5pc0F0b20mJiFpLmlzVGV4dD9wOnAuc2xpY2UoMCxNYXRoLm1heCgwLHItbykpfSksdH0sImdldFRleHRDb250ZW50RnJvbU5vZGVzIik7cyh1VywiaXNSZWdFeHAiKTtTYz1jbGFzc3tzdGF0aWN7cyh0aGlzLCJJbnB1dFJ1bGUiKX1jb25zdHJ1Y3RvcihlKXt0aGlzLmZpbmQ9ZS5maW5kLHRoaXMuaGFuZGxlcj1lLmhhbmRsZXJ9fSxrRWE9cygoYSxlKT0+e2lmKHVXKGUpKXJldHVybiBlLmV4ZWMoYSk7bGV0IHQ9ZShhKTtpZighdClyZXR1cm4gbnVsbDtsZXQgcj1bdC50ZXh0XTtyZXR1cm4gci5pbmRleD10LmluZGV4LHIuaW5wdXQ9YSxyLmRhdGE9dC5kYXRhLHQucmVwbGFjZVdpdGgmJih0LnRleHQuaW5jbHVkZXModC5yZXBsYWNlV2l0aCl8fGNvbnNvbGUud2FybignW3RpcHRhcCB3YXJuXTogImlucHV0UnVsZU1hdGNoLnJlcGxhY2VXaXRoIiBtdXN0IGJlIHBhcnQgb2YgImlucHV0UnVsZU1hdGNoLnRleHQiLicpLHIucHVzaCh0LnJlcGxhY2VXaXRoKSkscn0sImlucHV0UnVsZU1hdGNoZXJIYW5kbGVyIik7cyhjcmUsInJ1biQxIik7cyhBWmUsImlucHV0UnVsZXNQbHVnaW4iKTtzKFNFYSwiZ2V0VHlwZSIpO3MoSW0sImlzUGxhaW5PYmplY3QiKTtzKE5tLCJtZXJnZURlZXAiKTtzaT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIk1hcmsiKX1jb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9Im1hcmsiLHRoaXMubmFtZT0ibWFyayIsdGhpcy5wYXJlbnQ9bnVsbCx0aGlzLmNoaWxkPW51bGwsdGhpcy5jb25maWc9e25hbWU6dGhpcy5uYW1lLGRlZmF1bHRPcHRpb25zOnt9fSx0aGlzLmNvbmZpZz17Li4udGhpcy5jb25maWcsLi4uZX0sdGhpcy5uYW1lPXRoaXMuY29uZmlnLm5hbWUsZS5kZWZhdWx0T3B0aW9ucyYmT2JqZWN0LmtleXMoZS5kZWZhdWx0T3B0aW9ucykubGVuZ3RoPjAmJmNvbnNvbGUud2FybihgW3RpcHRhcCB3YXJuXTogQlJFQUtJTkcgQ0hBTkdFOiAiZGVmYXVsdE9wdGlvbnMiIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgImFkZE9wdGlvbnMiIGluc3RlYWQuIEZvdW5kIGluIGV4dGVuc2lvbjogIiR7dGhpcy5uYW1lfSIuYCksdGhpcy5vcHRpb25zPXRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zLHRoaXMuY29uZmlnLmFkZE9wdGlvbnMmJih0aGlzLm9wdGlvbnM9VnQodXQodGhpcywiYWRkT3B0aW9ucyIse25hbWU6dGhpcy5uYW1lfSkpKSx0aGlzLnN0b3JhZ2U9VnQodXQodGhpcywiYWRkU3RvcmFnZSIse25hbWU6dGhpcy5uYW1lLG9wdGlvbnM6dGhpcy5vcHRpb25zfSkpfHx7fX1zdGF0aWMgY3JlYXRlKGU9e30pe3JldHVybiBuZXcgYShlKX1jb25maWd1cmUoZT17fSl7bGV0IHQ9dGhpcy5leHRlbmQoey4uLnRoaXMuY29uZmlnLGFkZE9wdGlvbnM6cygoKT0+Tm0odGhpcy5vcHRpb25zLGUpLCJhZGRPcHRpb25zIil9KTtyZXR1cm4gdC5uYW1lPXRoaXMubmFtZSx0LnBhcmVudD10aGlzLnBhcmVudCx0fWV4dGVuZChlPXt9KXtsZXQgdD1uZXcgYShlKTtyZXR1cm4gdC5wYXJlbnQ9dGhpcyx0aGlzLmNoaWxkPXQsdC5uYW1lPWUubmFtZT9lLm5hbWU6dC5wYXJlbnQubmFtZSxlLmRlZmF1bHRPcHRpb25zJiZPYmplY3Qua2V5cyhlLmRlZmF1bHRPcHRpb25zKS5sZW5ndGg+MCYmY29uc29sZS53YXJuKGBbdGlwdGFwIHdhcm5dOiBCUkVBS0lORyBDSEFOR0U6ICJkZWZhdWx0T3B0aW9ucyIgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSAiYWRkT3B0aW9ucyIgaW5zdGVhZC4gRm91bmQgaW4gZXh0ZW5zaW9uOiAiJHt0Lm5hbWV9Ii5gKSx0Lm9wdGlvbnM9VnQodXQodCwiYWRkT3B0aW9ucyIse25hbWU6dC5uYW1lfSkpLHQuc3RvcmFnZT1WdCh1dCh0LCJhZGRTdG9yYWdlIix7bmFtZTp0Lm5hbWUsb3B0aW9uczp0Lm9wdGlvbnN9KSksdH1zdGF0aWMgaGFuZGxlRXhpdCh7ZWRpdG9yOmUsbWFyazp0fSl7bGV0e3RyOnJ9PWUuc3RhdGUsaT1lLnN0YXRlLnNlbGVjdGlvbi4kZnJvbTtpZihpLnBvcz09PWkuZW5kKCkpe2xldCBuPWkubWFya3MoKTtpZighISFuLmZpbmQoYz0+Yz8udHlwZS5uYW1lPT09dC5uYW1lKSlyZXR1cm4hMTtsZXQgZD1uLmZpbmQoYz0+Yz8udHlwZS5uYW1lPT09dC5uYW1lKTtyZXR1cm4gZCYmci5yZW1vdmVTdG9yZWRNYXJrKGQpLHIuaW5zZXJ0VGV4dCgiICIsaS5wb3MpLGUudmlldy5kaXNwYXRjaChyKSwhMH1yZXR1cm4hMX19O3MoRVplLCJpc051bWJlciIpO2E1PWNsYXNze3N0YXRpY3tzKHRoaXMsIlBhc3RlUnVsZSIpfWNvbnN0cnVjdG9yKGUpe3RoaXMuZmluZD1lLmZpbmQsdGhpcy5oYW5kbGVyPWUuaGFuZGxlcn19LHpFYT1zKChhLGUsdCk9PntpZih1VyhlKSlyZXR1cm5bLi4uYS5tYXRjaEFsbChlKV07bGV0IHI9ZShhLHQpO3JldHVybiByP3IubWFwKGk9PntsZXQgbz1baS50ZXh0XTtyZXR1cm4gby5pbmRleD1pLmluZGV4LG8uaW5wdXQ9YSxvLmRhdGE9aS5kYXRhLGkucmVwbGFjZVdpdGgmJihpLnRleHQuaW5jbHVkZXMoaS5yZXBsYWNlV2l0aCl8fGNvbnNvbGUud2FybignW3RpcHRhcCB3YXJuXTogInBhc3RlUnVsZU1hdGNoLnJlcGxhY2VXaXRoIiBtdXN0IGJlIHBhcnQgb2YgInBhc3RlUnVsZU1hdGNoLnRleHQiLicpLG8ucHVzaChpLnJlcGxhY2VXaXRoKSksb30pOltdfSwicGFzdGVSdWxlTWF0Y2hlckhhbmRsZXIiKTtzKENFYSwicnVuIik7ZHJlPW51bGwsX0VhPXMoYT0+e3ZhciBlO2xldCB0PW5ldyBDbGlwYm9hcmRFdmVudCgicGFzdGUiLHtjbGlwYm9hcmREYXRhOm5ldyBEYXRhVHJhbnNmZXJ9KTtyZXR1cm4oZT10LmNsaXBib2FyZERhdGEpPT09bnVsbHx8ZT09PXZvaWQgMHx8ZS5zZXREYXRhKCJ0ZXh0L2h0bWwiLGEpLHR9LCJjcmVhdGVDbGlwYm9hcmRQYXN0ZUV2ZW50Iik7cyhQWmUsInBhc3RlUnVsZXNQbHVnaW4iKTtzKElaZSwiZmluZER1cGxpY2F0ZXMiKTt1cmU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJFeHRlbnNpb25NYW5hZ2VyIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnNwbGl0dGFibGVNYXJrcz1bXSx0aGlzLmVkaXRvcj10LHRoaXMuZXh0ZW5zaW9ucz1hLnJlc29sdmUoZSksdGhpcy5zY2hlbWE9bXJlKHRoaXMuZXh0ZW5zaW9ucyx0KSx0aGlzLnNldHVwRXh0ZW5zaW9ucygpfXN0YXRpYyByZXNvbHZlKGUpe2xldCB0PWEuc29ydChhLmZsYXR0ZW4oZSkpLHI9SVplKHQubWFwKGk9PmkubmFtZSkpO3JldHVybiByLmxlbmd0aCYmY29uc29sZS53YXJuKGBbdGlwdGFwIHdhcm5dOiBEdXBsaWNhdGUgZXh0ZW5zaW9uIG5hbWVzIGZvdW5kOiBbJHtyLm1hcChpPT5gJyR7aX0nYCkuam9pbigiLCAiKX1dLiBUaGlzIGNhbiBsZWFkIHRvIGlzc3Vlcy5gKSx0fXN0YXRpYyBmbGF0dGVuKGUpe3JldHVybiBlLm1hcCh0PT57bGV0IHI9e25hbWU6dC5uYW1lLG9wdGlvbnM6dC5vcHRpb25zLHN0b3JhZ2U6dC5zdG9yYWdlfSxpPXV0KHQsImFkZEV4dGVuc2lvbnMiLHIpO3JldHVybiBpP1t0LC4uLnRoaXMuZmxhdHRlbihpKCkpXTp0fSkuZmxhdCgxMCl9c3RhdGljIHNvcnQoZSl7cmV0dXJuIGUuc29ydCgocixpKT0+e2xldCBvPXV0KHIsInByaW9yaXR5Iil8fDEwMCxuPXV0KGksInByaW9yaXR5Iil8fDEwMDtyZXR1cm4gbz5uPy0xOm88bj8xOjB9KX1nZXQgY29tbWFuZHMoKXtyZXR1cm4gdGhpcy5leHRlbnNpb25zLnJlZHVjZSgoZSx0KT0+e2xldCByPXtuYW1lOnQubmFtZSxvcHRpb25zOnQub3B0aW9ucyxzdG9yYWdlOnQuc3RvcmFnZSxlZGl0b3I6dGhpcy5lZGl0b3IsdHlwZTpkVyh0Lm5hbWUsdGhpcy5zY2hlbWEpfSxpPXV0KHQsImFkZENvbW1hbmRzIixyKTtyZXR1cm4gaT97Li4uZSwuLi5pKCl9OmV9LHt9KX1nZXQgcGx1Z2lucygpe2xldHtlZGl0b3I6ZX09dGhpcyx0PWEuc29ydChbLi4udGhpcy5leHRlbnNpb25zXS5yZXZlcnNlKCkpLHI9W10saT1bXSxvPXQubWFwKG49PntsZXQgbD17bmFtZTpuLm5hbWUsb3B0aW9uczpuLm9wdGlvbnMsc3RvcmFnZTpuLnN0b3JhZ2UsZWRpdG9yOmUsdHlwZTpkVyhuLm5hbWUsdGhpcy5zY2hlbWEpfSxkPVtdLGM9dXQobiwiYWRkS2V5Ym9hcmRTaG9ydGN1dHMiLGwpLHA9e307aWYobi50eXBlPT09Im1hcmsiJiZ1dChuLCJleGl0YWJsZSIsbCkmJihwLkFycm93UmlnaHQ9KCk9PnNpLmhhbmRsZUV4aXQoe2VkaXRvcjplLG1hcms6bn0pKSxjKXtsZXQgYj1PYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoYygpKS5tYXAoKFtnLHldKT0+W2csKCk9Pnkoe2VkaXRvcjplfSldKSk7cD17Li4ucCwuLi5ifX1sZXQgdT1vWmUocCk7ZC5wdXNoKHUpO2xldCBtPXV0KG4sImFkZElucHV0UnVsZXMiLGwpO2dyZShuLGUub3B0aW9ucy5lbmFibGVJbnB1dFJ1bGVzKSYmbSYmci5wdXNoKC4uLm0oKSk7bGV0IHY9dXQobiwiYWRkUGFzdGVSdWxlcyIsbCk7Z3JlKG4sZS5vcHRpb25zLmVuYWJsZVBhc3RlUnVsZXMpJiZ2JiZpLnB1c2goLi4udigpKTtsZXQgeD11dChuLCJhZGRQcm9zZU1pcnJvclBsdWdpbnMiLGwpO2lmKHgpe2xldCBiPXgoKTtkLnB1c2goLi4uYil9cmV0dXJuIGR9KS5mbGF0KCk7cmV0dXJuW0FaZSh7ZWRpdG9yOmUscnVsZXM6cn0pLC4uLlBaZSh7ZWRpdG9yOmUscnVsZXM6aX0pLC4uLm9dfWdldCBhdHRyaWJ1dGVzKCl7cmV0dXJuIHByZSh0aGlzLmV4dGVuc2lvbnMpfWdldCBub2RlVmlld3MoKXtsZXR7ZWRpdG9yOmV9PXRoaXMse25vZGVFeHRlbnNpb25zOnR9PUVtKHRoaXMuZXh0ZW5zaW9ucyk7cmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyh0LmZpbHRlcihyPT4hIXV0KHIsImFkZE5vZGVWaWV3IikpLm1hcChyPT57bGV0IGk9dGhpcy5hdHRyaWJ1dGVzLmZpbHRlcihkPT5kLnR5cGU9PT1yLm5hbWUpLG89e25hbWU6ci5uYW1lLG9wdGlvbnM6ci5vcHRpb25zLHN0b3JhZ2U6ci5zdG9yYWdlLGVkaXRvcjplLHR5cGU6bXMoci5uYW1lLHRoaXMuc2NoZW1hKX0sbj11dChyLCJhZGROb2RlVmlldyIsbyk7aWYoIW4pcmV0dXJuW107bGV0IGw9cygoZCxjLHAsdSxtKT0+e2xldCB2PWNXKGQsaSk7cmV0dXJuIG4oKSh7bm9kZTpkLHZpZXc6YyxnZXRQb3M6cCxkZWNvcmF0aW9uczp1LGlubmVyRGVjb3JhdGlvbnM6bSxlZGl0b3I6ZSxleHRlbnNpb246cixIVE1MQXR0cmlidXRlczp2fSl9LCJub2RldmlldyIpO3JldHVybltyLm5hbWUsbF19KSl9c2V0dXBFeHRlbnNpb25zKCl7dGhpcy5leHRlbnNpb25zLmZvckVhY2goZT0+e3ZhciB0O3RoaXMuZWRpdG9yLmV4dGVuc2lvblN0b3JhZ2VbZS5uYW1lXT1lLnN0b3JhZ2U7bGV0IHI9e25hbWU6ZS5uYW1lLG9wdGlvbnM6ZS5vcHRpb25zLHN0b3JhZ2U6ZS5zdG9yYWdlLGVkaXRvcjp0aGlzLmVkaXRvcix0eXBlOmRXKGUubmFtZSx0aGlzLnNjaGVtYSl9O2UudHlwZT09PSJtYXJrIiYmKCEoKHQ9VnQodXQoZSwia2VlcE9uU3BsaXQiLHIpKSkhPT1udWxsJiZ0IT09dm9pZCAwKXx8dCkmJnRoaXMuc3BsaXR0YWJsZU1hcmtzLnB1c2goZS5uYW1lKTtsZXQgaT11dChlLCJvbkJlZm9yZUNyZWF0ZSIsciksbz11dChlLCJvbkNyZWF0ZSIsciksbj11dChlLCJvblVwZGF0ZSIsciksbD11dChlLCJvblNlbGVjdGlvblVwZGF0ZSIsciksZD11dChlLCJvblRyYW5zYWN0aW9uIixyKSxjPXV0KGUsIm9uRm9jdXMiLHIpLHA9dXQoZSwib25CbHVyIixyKSx1PXV0KGUsIm9uRGVzdHJveSIscik7aSYmdGhpcy5lZGl0b3Iub24oImJlZm9yZUNyZWF0ZSIsaSksbyYmdGhpcy5lZGl0b3Iub24oImNyZWF0ZSIsbyksbiYmdGhpcy5lZGl0b3Iub24oInVwZGF0ZSIsbiksbCYmdGhpcy5lZGl0b3Iub24oInNlbGVjdGlvblVwZGF0ZSIsbCksZCYmdGhpcy5lZGl0b3Iub24oInRyYW5zYWN0aW9uIixkKSxjJiZ0aGlzLmVkaXRvci5vbigiZm9jdXMiLGMpLHAmJnRoaXMuZWRpdG9yLm9uKCJibHVyIixwKSx1JiZ0aGlzLmVkaXRvci5vbigiZGVzdHJveSIsdSl9KX19LHdyPWNsYXNzIGF7c3RhdGlje3ModGhpcywiRXh0ZW5zaW9uIil9Y29uc3RydWN0b3IoZT17fSl7dGhpcy50eXBlPSJleHRlbnNpb24iLHRoaXMubmFtZT0iZXh0ZW5zaW9uIix0aGlzLnBhcmVudD1udWxsLHRoaXMuY2hpbGQ9bnVsbCx0aGlzLmNvbmZpZz17bmFtZTp0aGlzLm5hbWUsZGVmYXVsdE9wdGlvbnM6e319LHRoaXMuY29uZmlnPXsuLi50aGlzLmNvbmZpZywuLi5lfSx0aGlzLm5hbWU9dGhpcy5jb25maWcubmFtZSxlLmRlZmF1bHRPcHRpb25zJiZPYmplY3Qua2V5cyhlLmRlZmF1bHRPcHRpb25zKS5sZW5ndGg+MCYmY29uc29sZS53YXJuKGBbdGlwdGFwIHdhcm5dOiBCUkVBS0lORyBDSEFOR0U6ICJkZWZhdWx0T3B0aW9ucyIgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSAiYWRkT3B0aW9ucyIgaW5zdGVhZC4gRm91bmQgaW4gZXh0ZW5zaW9uOiAiJHt0aGlzLm5hbWV9Ii5gKSx0aGlzLm9wdGlvbnM9dGhpcy5jb25maWcuZGVmYXVsdE9wdGlvbnMsdGhpcy5jb25maWcuYWRkT3B0aW9ucyYmKHRoaXMub3B0aW9ucz1WdCh1dCh0aGlzLCJhZGRPcHRpb25zIix7bmFtZTp0aGlzLm5hbWV9KSkpLHRoaXMuc3RvcmFnZT1WdCh1dCh0aGlzLCJhZGRTdG9yYWdlIix7bmFtZTp0aGlzLm5hbWUsb3B0aW9uczp0aGlzLm9wdGlvbnN9KSl8fHt9fXN0YXRpYyBjcmVhdGUoZT17fSl7cmV0dXJuIG5ldyBhKGUpfWNvbmZpZ3VyZShlPXt9KXtsZXQgdD10aGlzLmV4dGVuZCh7Li4udGhpcy5jb25maWcsYWRkT3B0aW9uczpzKCgpPT5ObSh0aGlzLm9wdGlvbnMsZSksImFkZE9wdGlvbnMiKX0pO3JldHVybiB0Lm5hbWU9dGhpcy5uYW1lLHQucGFyZW50PXRoaXMucGFyZW50LHR9ZXh0ZW5kKGU9e30pe2xldCB0PW5ldyBhKHsuLi50aGlzLmNvbmZpZywuLi5lfSk7cmV0dXJuIHQucGFyZW50PXRoaXMsdGhpcy5jaGlsZD10LHQubmFtZT1lLm5hbWU/ZS5uYW1lOnQucGFyZW50Lm5hbWUsZS5kZWZhdWx0T3B0aW9ucyYmT2JqZWN0LmtleXMoZS5kZWZhdWx0T3B0aW9ucykubGVuZ3RoPjAmJmNvbnNvbGUud2FybihgW3RpcHRhcCB3YXJuXTogQlJFQUtJTkcgQ0hBTkdFOiAiZGVmYXVsdE9wdGlvbnMiIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgImFkZE9wdGlvbnMiIGluc3RlYWQuIEZvdW5kIGluIGV4dGVuc2lvbjogIiR7dC5uYW1lfSIuYCksdC5vcHRpb25zPVZ0KHV0KHQsImFkZE9wdGlvbnMiLHtuYW1lOnQubmFtZX0pKSx0LnN0b3JhZ2U9VnQodXQodCwiYWRkU3RvcmFnZSIse25hbWU6dC5uYW1lLG9wdGlvbnM6dC5vcHRpb25zfSkpLHR9fTtzKGJyZSwiZ2V0VGV4dEJldHdlZW4iKTtzKHBXLCJnZXRUZXh0U2VyaWFsaXplcnNGcm9tU2NoZW1hIik7V25hPXdyLmNyZWF0ZSh7bmFtZToiY2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXIiLGFkZE9wdGlvbnMoKXtyZXR1cm57YmxvY2tTZXBhcmF0b3I6dm9pZCAwfX0sYWRkUHJvc2VNaXJyb3JQbHVnaW5zKCl7cmV0dXJuW25ldyBhcih7a2V5Om5ldyBmcygiY2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXIiKSxwcm9wczp7Y2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXI6cygoKT0+e2xldHtlZGl0b3I6YX09dGhpcyx7c3RhdGU6ZSxzY2hlbWE6dH09YSx7ZG9jOnIsc2VsZWN0aW9uOml9PWUse3JhbmdlczpvfT1pLG49TWF0aC5taW4oLi4uby5tYXAocD0+cC4kZnJvbS5wb3MpKSxsPU1hdGgubWF4KC4uLm8ubWFwKHA9PnAuJHRvLnBvcykpLGQ9cFcodCk7cmV0dXJuIGJyZShyLHtmcm9tOm4sdG86bH0sey4uLnRoaXMub3B0aW9ucy5ibG9ja1NlcGFyYXRvciE9PXZvaWQgMD97YmxvY2tTZXBhcmF0b3I6dGhpcy5vcHRpb25zLmJsb2NrU2VwYXJhdG9yfTp7fSx0ZXh0U2VyaWFsaXplcnM6ZH0pfSwiY2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXIiKX19KV19fSksVEVhPXMoKCk9Pih7ZWRpdG9yOmEsdmlldzplfSk9PihyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt2YXIgdDthLmlzRGVzdHJveWVkfHwoZS5kb20uYmx1cigpLCh0PXdpbmRvdz8uZ2V0U2VsZWN0aW9uKCkpPT09bnVsbHx8dD09PXZvaWQgMHx8dC5yZW1vdmVBbGxSYW5nZXMoKSl9KSwhMCksImJsdXIiKSxMRWE9cygoYT0hMSk9Pih7Y29tbWFuZHM6ZX0pPT5lLnNldENvbnRlbnQoIiIsYSksImNsZWFyQ29udGVudCIpLCRFYT1zKCgpPT4oe3N0YXRlOmEsdHI6ZSxkaXNwYXRjaDp0fSk9PntsZXR7c2VsZWN0aW9uOnJ9PWUse3JhbmdlczppfT1yO3JldHVybiB0JiZpLmZvckVhY2goKHskZnJvbTpvLCR0bzpufSk9PnthLmRvYy5ub2Rlc0JldHdlZW4oby5wb3Msbi5wb3MsKGwsZCk9PntpZihsLnR5cGUuaXNUZXh0KXJldHVybjtsZXR7ZG9jOmMsbWFwcGluZzpwfT1lLHU9Yy5yZXNvbHZlKHAubWFwKGQpKSxtPWMucmVzb2x2ZShwLm1hcChkK2wubm9kZVNpemUpKSx2PXUuYmxvY2tSYW5nZShtKTtpZighdilyZXR1cm47bGV0IHg9RzIodik7aWYobC50eXBlLmlzVGV4dGJsb2NrKXtsZXR7ZGVmYXVsdFR5cGU6Yn09dS5wYXJlbnQuY29udGVudE1hdGNoQXQodS5pbmRleCgpKTtlLnNldE5vZGVNYXJrdXAodi5zdGFydCxiKX0oeHx8eD09PTApJiZlLmxpZnQodix4KX0pfSksITB9LCJjbGVhck5vZGVzIiksREVhPXMoYT0+ZT0+YShlKSwiY29tbWFuZCIpLEFFYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5zcmUoYSxlKSwiY3JlYXRlUGFyYWdyYXBoTmVhciIpLEVFYT1zKChhLGUpPT4oe2VkaXRvcjp0LHRyOnJ9KT0+e2xldHtzdGF0ZTppfT10LG89aS5kb2Muc2xpY2UoYS5mcm9tLGEudG8pO3IuZGVsZXRlUmFuZ2UoYS5mcm9tLGEudG8pO2xldCBuPXIubWFwcGluZy5tYXAoZSk7cmV0dXJuIHIuaW5zZXJ0KG4sby5jb250ZW50KSxyLnNldFNlbGVjdGlvbihuZXcgUnQoci5kb2MucmVzb2x2ZShNYXRoLm1heChuLTEsMCkpKSksITB9LCJjdXQiKSxQRWE9cygoKT0+KHt0cjphLGRpc3BhdGNoOmV9KT0+e2xldHtzZWxlY3Rpb246dH09YSxyPXQuJGFuY2hvci5ub2RlKCk7aWYoci5jb250ZW50LnNpemU+MClyZXR1cm4hMTtsZXQgaT1hLnNlbGVjdGlvbi4kYW5jaG9yO2ZvcihsZXQgbz1pLmRlcHRoO28+MDtvLT0xKWlmKGkubm9kZShvKS50eXBlPT09ci50eXBlKXtpZihlKXtsZXQgbD1pLmJlZm9yZShvKSxkPWkuYWZ0ZXIobyk7YS5kZWxldGUobCxkKS5zY3JvbGxJbnRvVmlldygpfXJldHVybiEwfXJldHVybiExfSwiZGVsZXRlQ3VycmVudE5vZGUiKSxJRWE9cyhhPT4oe3RyOmUsc3RhdGU6dCxkaXNwYXRjaDpyfSk9PntsZXQgaT1tcyhhLHQuc2NoZW1hKSxvPWUuc2VsZWN0aW9uLiRhbmNob3I7Zm9yKGxldCBuPW8uZGVwdGg7bj4wO24tPTEpaWYoby5ub2RlKG4pLnR5cGU9PT1pKXtpZihyKXtsZXQgZD1vLmJlZm9yZShuKSxjPW8uYWZ0ZXIobik7ZS5kZWxldGUoZCxjKS5zY3JvbGxJbnRvVmlldygpfXJldHVybiEwfXJldHVybiExfSwiZGVsZXRlTm9kZSIpLE5FYT1zKGE9Pih7dHI6ZSxkaXNwYXRjaDp0fSk9PntsZXR7ZnJvbTpyLHRvOml9PWE7cmV0dXJuIHQmJmUuZGVsZXRlKHIsaSksITB9LCJkZWxldGVSYW5nZSIpLFJFYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5sVyhhLGUpLCJkZWxldGVTZWxlY3Rpb24iKSxPRWE9cygoKT0+KHtjb21tYW5kczphfSk9PmEua2V5Ym9hcmRTaG9ydGN1dCgiRW50ZXIiKSwiZW50ZXIiKSxGRWE9cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmV9KT0+cnJlKGEsZSksImV4aXRDb2RlIik7cyhSbSwib2JqZWN0SW5jbHVkZXMiKTtzKEduYSwiZmluZE1hcmtJblNldCIpO3MoWW5hLCJpc01hcmtJblNldCIpO3MoZlcsImdldE1hcmtSYW5nZSIpO3MoWDIsImdldE1hcmtUeXBlIik7QkVhPXMoKGEsZT17fSk9Pih7dHI6dCxzdGF0ZTpyLGRpc3BhdGNoOml9KT0+e2xldCBvPVgyKGEsci5zY2hlbWEpLHtkb2M6bixzZWxlY3Rpb246bH09dCx7JGZyb206ZCxmcm9tOmMsdG86cH09bDtpZihpKXtsZXQgdT1mVyhkLG8sZSk7aWYodSYmdS5mcm9tPD1jJiZ1LnRvPj1wKXtsZXQgbT1SdC5jcmVhdGUobix1LmZyb20sdS50byk7dC5zZXRTZWxlY3Rpb24obSl9fXJldHVybiEwfSwiZXh0ZW5kTWFya1JhbmdlIiksSEVhPXMoYT0+ZT0+e2xldCB0PXR5cGVvZiBhPT0iZnVuY3Rpb24iP2EoZSk6YTtmb3IobGV0IHI9MDtyPHQubGVuZ3RoO3IrPTEpaWYodFtyXShlKSlyZXR1cm4hMDtyZXR1cm4hMX0sImZpcnN0Iik7cyh2cmUsImlzVGV4dFNlbGVjdGlvbiIpO3MoUjEsIm1pbk1heCIpO3MoeHJlLCJyZXNvbHZlRm9jdXNQb3NpdGlvbiIpO3MoQ1plLCJpc0FuZHJvaWQiKTtzKHI1LCJpc2lPUyIpO3MoTlplLCJpc1NhZmFyaSIpO3FFYT1zKChhPW51bGwsZT17fSk9Pih7ZWRpdG9yOnQsdmlldzpyLHRyOmksZGlzcGF0Y2g6b30pPT57ZT17c2Nyb2xsSW50b1ZpZXc6ITAsLi4uZX07bGV0IG49cygoKT0+eyhyNSgpfHxDWmUoKSkmJnIuZG9tLmZvY3VzKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dC5pc0Rlc3Ryb3llZHx8KHIuZm9jdXMoKSxOWmUoKSYmIXI1KCkmJiFDWmUoKSYmci5kb20uZm9jdXMoe3ByZXZlbnRTY3JvbGw6ITB9KSl9KX0sImRlbGF5ZWRGb2N1cyIpO2lmKHIuaGFzRm9jdXMoKSYmYT09PW51bGx8fGE9PT0hMSlyZXR1cm4hMDtpZihvJiZhPT09bnVsbCYmIXZyZSh0LnN0YXRlLnNlbGVjdGlvbikpcmV0dXJuIG4oKSwhMDtsZXQgbD14cmUoaS5kb2MsYSl8fHQuc3RhdGUuc2VsZWN0aW9uLGQ9dC5zdGF0ZS5zZWxlY3Rpb24uZXEobCk7cmV0dXJuIG8mJihkfHxpLnNldFNlbGVjdGlvbihsKSxkJiZpLnN0b3JlZE1hcmtzJiZpLnNldFN0b3JlZE1hcmtzKGkuc3RvcmVkTWFya3MpLG4oKSksITB9LCJmb2N1cyIpLFZFYT1zKChhLGUpPT50PT5hLmV2ZXJ5KChyLGkpPT5lKHIsey4uLnQsaW5kZXg6aX0pKSwiZm9yRWFjaCIpLGpFYT1zKChhLGUpPT4oe3RyOnQsY29tbWFuZHM6cn0pPT5yLmluc2VydENvbnRlbnRBdCh7ZnJvbTp0LnNlbGVjdGlvbi5mcm9tLHRvOnQuc2VsZWN0aW9uLnRvfSxhLGUpLCJpbnNlcnRDb250ZW50IiksS25hPXMoYT0+e2xldCBlPWEuY2hpbGROb2Rlcztmb3IobGV0IHQ9ZS5sZW5ndGgtMTt0Pj0wO3QtPTEpe2xldCByPWVbdF07ci5ub2RlVHlwZT09PTMmJnIubm9kZVZhbHVlJiYvXihcblxzXHN8XG4pJC8udGVzdChyLm5vZGVWYWx1ZSk/YS5yZW1vdmVDaGlsZChyKTpyLm5vZGVUeXBlPT09MSYmS25hKHIpfXJldHVybiBhfSwicmVtb3ZlV2hpdGVzcGFjZXMiKTtzKHM1LCJlbGVtZW50RnJvbVN0cmluZyIpO3MoaTUsImNyZWF0ZU5vZGVGcm9tQ29udGVudCIpO3MoUlplLCJzZWxlY3Rpb25Ub0luc2VydGlvbkVuZCIpO1VFYT1zKGE9PiEoInR5cGUiaW4gYSksImlzRnJhZ21lbnQiKSxXRWE9cygoYSxlLHQpPT4oe3RyOnIsZGlzcGF0Y2g6aSxlZGl0b3I6b30pPT57dmFyIG47aWYoaSl7dD17cGFyc2VPcHRpb25zOm8ub3B0aW9ucy5wYXJzZU9wdGlvbnMsdXBkYXRlU2VsZWN0aW9uOiEwLGFwcGx5SW5wdXRSdWxlczohMSxhcHBseVBhc3RlUnVsZXM6ITEsLi4udH07bGV0IGwsZD1zKGc9PntvLmVtaXQoImNvbnRlbnRFcnJvciIse2VkaXRvcjpvLGVycm9yOmcsZGlzYWJsZUNvbGxhYm9yYXRpb246cygoKT0+e28uc3RvcmFnZS5jb2xsYWJvcmF0aW9uJiYoby5zdG9yYWdlLmNvbGxhYm9yYXRpb24uaXNEaXNhYmxlZD0hMCl9LCJkaXNhYmxlQ29sbGFib3JhdGlvbiIpfSl9LCJlbWl0Q29udGVudEVycm9yIiksYz17cHJlc2VydmVXaGl0ZXNwYWNlOiJmdWxsIiwuLi50LnBhcnNlT3B0aW9uc307aWYoIXQuZXJyb3JPbkludmFsaWRDb250ZW50JiYhby5vcHRpb25zLmVuYWJsZUNvbnRlbnRDaGVjayYmby5vcHRpb25zLmVtaXRDb250ZW50RXJyb3IpdHJ5e2k1KGUsby5zY2hlbWEse3BhcnNlT3B0aW9uczpjLGVycm9yT25JbnZhbGlkQ29udGVudDohMH0pfWNhdGNoKGcpe2QoZyl9dHJ5e2w9aTUoZSxvLnNjaGVtYSx7cGFyc2VPcHRpb25zOmMsZXJyb3JPbkludmFsaWRDb250ZW50OihuPXQuZXJyb3JPbkludmFsaWRDb250ZW50KSE9PW51bGwmJm4hPT12b2lkIDA/bjpvLm9wdGlvbnMuZW5hYmxlQ29udGVudENoZWNrfSl9Y2F0Y2goZyl7cmV0dXJuIGQoZyksITF9bGV0e2Zyb206cCx0bzp1fT10eXBlb2YgYT09Im51bWJlciI/e2Zyb206YSx0bzphfTp7ZnJvbTphLmZyb20sdG86YS50b30sbT0hMCx2PSEwO2lmKChVRWEobCk/bDpbbF0pLmZvckVhY2goZz0+e2cuY2hlY2soKSxtPW0/Zy5pc1RleHQmJmcubWFya3MubGVuZ3RoPT09MDohMSx2PXY/Zy5pc0Jsb2NrOiExfSkscD09PXUmJnYpe2xldHtwYXJlbnQ6Z309ci5kb2MucmVzb2x2ZShwKTtnLmlzVGV4dGJsb2NrJiYhZy50eXBlLnNwZWMuY29kZSYmIWcuY2hpbGRDb3VudCYmKHAtPTEsdSs9MSl9bGV0IGI7aWYobSl7aWYoQXJyYXkuaXNBcnJheShlKSliPWUubWFwKGc9PmcudGV4dHx8IiIpLmpvaW4oIiIpO2Vsc2UgaWYoZSBpbnN0YW5jZW9mIFZlKXtsZXQgZz0iIjtlLmZvckVhY2goeT0+e3kudGV4dCYmKGcrPXkudGV4dCl9KSxiPWd9ZWxzZSB0eXBlb2YgZT09Im9iamVjdCImJmUmJmUudGV4dD9iPWUudGV4dDpiPWU7ci5pbnNlcnRUZXh0KGIscCx1KX1lbHNlIGI9bCxyLnJlcGxhY2VXaXRoKHAsdSxiKTt0LnVwZGF0ZVNlbGVjdGlvbiYmUlplKHIsci5zdGVwcy5sZW5ndGgtMSwtMSksdC5hcHBseUlucHV0UnVsZXMmJnIuc2V0TWV0YSgiYXBwbHlJbnB1dFJ1bGVzIix7ZnJvbTpwLHRleHQ6Yn0pLHQuYXBwbHlQYXN0ZVJ1bGVzJiZyLnNldE1ldGEoImFwcGx5UGFzdGVSdWxlcyIse2Zyb206cCx0ZXh0OmJ9KX1yZXR1cm4hMH0sImluc2VydENvbnRlbnRBdCIpLEdFYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5nWmUoYSxlKSwiam9pblVwIiksWUVhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PmJaZShhLGUpLCJqb2luRG93biIpLEtFYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5RYWUoYSxlKSwiam9pbkJhY2t3YXJkIiksWkVhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PmVyZShhLGUpLCJqb2luRm9yd2FyZCIpLFhFYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZSx0cjp0fSk9Pnt0cnl7bGV0IHI9VWYoYS5kb2MsYS5zZWxlY3Rpb24uJGZyb20ucG9zLC0xKTtyZXR1cm4gcj09bnVsbD8hMToodC5qb2luKHIsMiksZSYmZSh0KSwhMCl9Y2F0Y2h7cmV0dXJuITF9fSwiam9pbkl0ZW1CYWNrd2FyZCIpLFFFYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZSx0cjp0fSk9Pnt0cnl7bGV0IHI9VWYoYS5kb2MsYS5zZWxlY3Rpb24uJGZyb20ucG9zLDEpO3JldHVybiByPT1udWxsPyExOih0LmpvaW4ociwyKSxlJiZlKHQpLCEwKX1jYXRjaHtyZXR1cm4hMX19LCJqb2luSXRlbUZvcndhcmQiKSxKRWE9cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmV9KT0+aFplKGEsZSksImpvaW5UZXh0YmxvY2tCYWNrd2FyZCIpLGVQYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5tWmUoYSxlKSwiam9pblRleHRibG9ja0ZvcndhcmQiKTtzKHlyZSwiaXNNYWNPUyIpO3ModFBhLCJub3JtYWxpemVLZXlOYW1lIik7YVBhPXMoYT0+KHtlZGl0b3I6ZSx2aWV3OnQsdHI6cixkaXNwYXRjaDppfSk9PntsZXQgbz10UGEoYSkuc3BsaXQoLy0oPyEkKS8pLG49by5maW5kKGM9PiFbIkFsdCIsIkN0cmwiLCJNZXRhIiwiU2hpZnQiXS5pbmNsdWRlcyhjKSksbD1uZXcgS2V5Ym9hcmRFdmVudCgia2V5ZG93biIse2tleTpuPT09IlNwYWNlIj8iICI6bixhbHRLZXk6by5pbmNsdWRlcygiQWx0IiksY3RybEtleTpvLmluY2x1ZGVzKCJDdHJsIiksbWV0YUtleTpvLmluY2x1ZGVzKCJNZXRhIiksc2hpZnRLZXk6by5pbmNsdWRlcygiU2hpZnQiKSxidWJibGVzOiEwLGNhbmNlbGFibGU6ITB9KSxkPWUuY2FwdHVyZVRyYW5zYWN0aW9uKCgpPT57dC5zb21lUHJvcCgiaGFuZGxlS2V5RG93biIsYz0+Yyh0LGwpKX0pO3JldHVybiBkPy5zdGVwcy5mb3JFYWNoKGM9PntsZXQgcD1jLm1hcChyLm1hcHBpbmcpO3AmJmkmJnIubWF5YmVTdGVwKHApfSksITB9LCJrZXlib2FyZFNob3J0Y3V0Iik7cyhvNSwiaXNOb2RlQWN0aXZlIik7clBhPXMoKGEsZT17fSk9Pih7c3RhdGU6dCxkaXNwYXRjaDpyfSk9PntsZXQgaT1tcyhhLHQuc2NoZW1hKTtyZXR1cm4gbzUodCxpLGUpP3ZaZSh0LHIpOiExfSwibGlmdCIpLHNQYT1zKCgpPT4oe3N0YXRlOmEsZGlzcGF0Y2g6ZX0pPT5pcmUoYSxlKSwibGlmdEVtcHR5QmxvY2siKSxpUGE9cyhhPT4oe3N0YXRlOmUsZGlzcGF0Y2g6dH0pPT57bGV0IHI9bXMoYSxlLnNjaGVtYSk7cmV0dXJuIGtaZShyKShlLHQpfSwibGlmdExpc3RJdGVtIiksb1BhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PmFyZShhLGUpLCJuZXdsaW5lSW5Db2RlIik7cyhPbSwiZ2V0U2NoZW1hVHlwZU5hbWVCeU5hbWUiKTtzKHdyZSwiZGVsZXRlUHJvcHMiKTtuUGE9cygoYSxlKT0+KHt0cjp0LHN0YXRlOnIsZGlzcGF0Y2g6aX0pPT57bGV0IG89bnVsbCxuPW51bGwsbD1PbSh0eXBlb2YgYT09InN0cmluZyI/YTphLm5hbWUsci5zY2hlbWEpO3JldHVybiBsPyhsPT09Im5vZGUiJiYobz1tcyhhLHIuc2NoZW1hKSksbD09PSJtYXJrIiYmKG49WDIoYSxyLnNjaGVtYSkpLGkmJnQuc2VsZWN0aW9uLnJhbmdlcy5mb3JFYWNoKGQ9PntyLmRvYy5ub2Rlc0JldHdlZW4oZC4kZnJvbS5wb3MsZC4kdG8ucG9zLChjLHApPT57byYmbz09PWMudHlwZSYmdC5zZXROb2RlTWFya3VwKHAsdm9pZCAwLHdyZShjLmF0dHJzLGUpKSxuJiZjLm1hcmtzLmxlbmd0aCYmYy5tYXJrcy5mb3JFYWNoKHU9PntuPT09dS50eXBlJiZ0LmFkZE1hcmsocCxwK2Mubm9kZVNpemUsbi5jcmVhdGUod3JlKHUuYXR0cnMsZSkpKX0pfSl9KSwhMCk6ITF9LCJyZXNldEF0dHJpYnV0ZXMiKSxsUGE9cygoKT0+KHt0cjphLGRpc3BhdGNoOmV9KT0+KGUmJmEuc2Nyb2xsSW50b1ZpZXcoKSwhMCksInNjcm9sbEludG9WaWV3IiksY1BhPXMoKCk9Pih7dHI6YSxkaXNwYXRjaDplfSk9PntpZihlKXtsZXQgdD1uZXcgRGkoYS5kb2MpO2Euc2V0U2VsZWN0aW9uKHQpfXJldHVybiEwfSwic2VsZWN0QWxsIiksZFBhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PkphZShhLGUpLCJzZWxlY3ROb2RlQmFja3dhcmQiKSx1UGE9cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmV9KT0+dHJlKGEsZSksInNlbGVjdE5vZGVGb3J3YXJkIikscFBhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PnhaZShhLGUpLCJzZWxlY3RQYXJlbnROb2RlIiksZlBhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9Pm5yZShhLGUpLCJzZWxlY3RUZXh0YmxvY2tFbmQiKSxoUGE9cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmV9KT0+b3JlKGEsZSksInNlbGVjdFRleHRibG9ja1N0YXJ0Iik7cyhoVywiY3JlYXRlRG9jdW1lbnQiKTttUGE9cygoYSxlPSExLHQ9e30scj17fSk9Pih7ZWRpdG9yOmksdHI6byxkaXNwYXRjaDpuLGNvbW1hbmRzOmx9KT0+e3ZhciBkLGM7bGV0e2RvYzpwfT1vO2lmKHQucHJlc2VydmVXaGl0ZXNwYWNlIT09ImZ1bGwiKXtsZXQgdT1oVyhhLGkuc2NoZW1hLHQse2Vycm9yT25JbnZhbGlkQ29udGVudDooZD1yLmVycm9yT25JbnZhbGlkQ29udGVudCkhPT1udWxsJiZkIT09dm9pZCAwP2Q6aS5vcHRpb25zLmVuYWJsZUNvbnRlbnRDaGVja30pO3JldHVybiBuJiZvLnJlcGxhY2VXaXRoKDAscC5jb250ZW50LnNpemUsdSkuc2V0TWV0YSgicHJldmVudFVwZGF0ZSIsIWUpLCEwfXJldHVybiBuJiZvLnNldE1ldGEoInByZXZlbnRVcGRhdGUiLCFlKSxsLmluc2VydENvbnRlbnRBdCh7ZnJvbTowLHRvOnAuY29udGVudC5zaXplfSxhLHtwYXJzZU9wdGlvbnM6dCxlcnJvck9uSW52YWxpZENvbnRlbnQ6KGM9ci5lcnJvck9uSW52YWxpZENvbnRlbnQpIT09bnVsbCYmYyE9PXZvaWQgMD9jOmkub3B0aW9ucy5lbmFibGVDb250ZW50Q2hlY2t9KX0sInNldENvbnRlbnQiKTtzKE1yZSwiZ2V0TWFya0F0dHJpYnV0ZXMiKTtzKFRyZSwiY29tYmluZVRyYW5zYWN0aW9uU3RlcHMiKTtzKE9aZSwiZGVmYXVsdEJsb2NrQXQiKTtzKG8xYSwiZmluZENoaWxkcmVuIik7cyhMcmUsImZpbmRDaGlsZHJlbkluUmFuZ2UiKTtzKEZaZSwiZmluZFBhcmVudE5vZGVDbG9zZXN0VG9Qb3MiKTtzKEZtLCJmaW5kUGFyZW50Tm9kZSIpO3MobVcsImdldFNjaGVtYSIpO3MobjFhLCJnZW5lcmF0ZUhUTUwiKTtzKGwxYSwiZ2VuZXJhdGVKU09OIik7cyhrcmUsImdldFRleHQiKTtzKGMxYSwiZ2VuZXJhdGVUZXh0Iik7cyhCWmUsImdldE5vZGVBdHRyaWJ1dGVzIik7cyh4VywiZ2V0QXR0cmlidXRlcyIpO3MoSFplLCJyZW1vdmVEdXBsaWNhdGVzIik7cyhnUGEsInNpbXBsaWZ5Q2hhbmdlZFJhbmdlcyIpO3MoJHJlLCJnZXRDaGFuZ2VkUmFuZ2VzIik7cyhxWmUsImdldERlYnVnSlNPTiIpO3MoSG0sImdldE1hcmtzQmV0d2VlbiIpO2QxYT1zKChhLGUsdCxyPTIwKT0+e2xldCBpPWEuZG9jLnJlc29sdmUodCksbz1yLG49bnVsbDtmb3IoO28+MCYmbj09PW51bGw7KXtsZXQgbD1pLm5vZGUobyk7bD8udHlwZS5uYW1lPT09ZT9uPWw6by09MX1yZXR1cm5bbixvXX0sImdldE5vZGVBdFBvc2l0aW9uIik7cyhCbSwiZ2V0U3BsaXR0ZWRBdHRyaWJ1dGVzIik7cyhnVywiaXNNYXJrQWN0aXZlIik7cyhWWmUsImlzQWN0aXZlIik7dTFhPXMoKGEsZSk9PntsZXR7JGZyb206dCwkdG86ciwkYW5jaG9yOml9PWEuc2VsZWN0aW9uO2lmKGUpe2xldCBvPUZtKGw9PmwudHlwZS5uYW1lPT09ZSkoYS5zZWxlY3Rpb24pO2lmKCFvKXJldHVybiExO2xldCBuPWEuZG9jLnJlc29sdmUoby5wb3MrMSk7cmV0dXJuIGkucG9zKzE9PT1uLmVuZCgpfXJldHVybiEoci5wYXJlbnRPZmZzZXQ8ci5wYXJlbnQubm9kZVNpemUtMnx8dC5wb3MhPT1yLnBvcyl9LCJpc0F0RW5kT2ZOb2RlIikscDFhPXMoYT0+e2xldHskZnJvbTplLCR0bzp0fT1hLnNlbGVjdGlvbjtyZXR1cm4hKGUucGFyZW50T2Zmc2V0PjB8fGUucG9zIT09dC5wb3MpfSwiaXNBdFN0YXJ0T2ZOb2RlIik7cyhTcmUsImlzTGlzdCIpO3MoYlcsImlzTm9kZUVtcHR5Iik7cyhEcmUsImlzTm9kZVNlbGVjdGlvbiIpO3MoZjFhLCJwb3NUb0RPTVJlY3QiKTtzKFpuYSwicmV3cml0ZVVua25vd25Db250ZW50SW5uZXIiKTtzKGgxYSwicmV3cml0ZVVua25vd25Db250ZW50Iik7cyhiUGEsImNhblNldE1hcmsiKTt2UGE9cygoYSxlPXt9KT0+KHt0cjp0LHN0YXRlOnIsZGlzcGF0Y2g6aX0pPT57bGV0e3NlbGVjdGlvbjpvfT10LHtlbXB0eTpuLHJhbmdlczpsfT1vLGQ9WDIoYSxyLnNjaGVtYSk7aWYoaSlpZihuKXtsZXQgYz1NcmUocixkKTt0LmFkZFN0b3JlZE1hcmsoZC5jcmVhdGUoey4uLmMsLi4uZX0pKX1lbHNlIGwuZm9yRWFjaChjPT57bGV0IHA9Yy4kZnJvbS5wb3MsdT1jLiR0by5wb3M7ci5kb2Mubm9kZXNCZXR3ZWVuKHAsdSwobSx2KT0+e2xldCB4PU1hdGgubWF4KHYscCksYj1NYXRoLm1pbih2K20ubm9kZVNpemUsdSk7bS5tYXJrcy5maW5kKHk9PnkudHlwZT09PWQpP20ubWFya3MuZm9yRWFjaCh5PT57ZD09PXkudHlwZSYmdC5hZGRNYXJrKHgsYixkLmNyZWF0ZSh7Li4ueS5hdHRycywuLi5lfSkpfSk6dC5hZGRNYXJrKHgsYixkLmNyZWF0ZShlKSl9KX0pO3JldHVybiBiUGEocix0LGQpfSwic2V0TWFyayIpLHhQYT1zKChhLGUpPT4oe3RyOnR9KT0+KHQuc2V0TWV0YShhLGUpLCEwKSwic2V0TWV0YSIpLHlQYT1zKChhLGU9e30pPT4oe3N0YXRlOnQsZGlzcGF0Y2g6cixjaGFpbjppfSk9PntsZXQgbz1tcyhhLHQuc2NoZW1hKSxuO3JldHVybiB0LnNlbGVjdGlvbi4kYW5jaG9yLnNhbWVQYXJlbnQodC5zZWxlY3Rpb24uJGhlYWQpJiYobj10LnNlbGVjdGlvbi4kYW5jaG9yLnBhcmVudC5hdHRycyksby5pc1RleHRibG9jaz9pKCkuY29tbWFuZCgoe2NvbW1hbmRzOmx9KT0+bHJlKG8sey4uLm4sLi4uZX0pKHQpPyEwOmwuY2xlYXJOb2RlcygpKS5jb21tYW5kKCh7c3RhdGU6bH0pPT5scmUobyx7Li4ubiwuLi5lfSkobCxyKSkucnVuKCk6KGNvbnNvbGUud2FybignW3RpcHRhcCB3YXJuXTogQ3VycmVudGx5ICJzZXROb2RlKCkiIG9ubHkgc3VwcG9ydHMgdGV4dCBibG9jayBub2Rlcy4nKSwhMSl9LCJzZXROb2RlIiksd1BhPXMoYT0+KHt0cjplLGRpc3BhdGNoOnR9KT0+e2lmKHQpe2xldHtkb2M6cn09ZSxpPVIxKGEsMCxyLmNvbnRlbnQuc2l6ZSksbz1NdC5jcmVhdGUocixpKTtlLnNldFNlbGVjdGlvbihvKX1yZXR1cm4hMH0sInNldE5vZGVTZWxlY3Rpb24iKSxNUGE9cyhhPT4oe3RyOmUsZGlzcGF0Y2g6dH0pPT57aWYodCl7bGV0e2RvYzpyfT1lLHtmcm9tOmksdG86b309dHlwZW9mIGE9PSJudW1iZXIiP3tmcm9tOmEsdG86YX06YSxuPVJ0LmF0U3RhcnQocikuZnJvbSxsPVJ0LmF0RW5kKHIpLnRvLGQ9UjEoaSxuLGwpLGM9UjEobyxuLGwpLHA9UnQuY3JlYXRlKHIsZCxjKTtlLnNldFNlbGVjdGlvbihwKX1yZXR1cm4hMH0sInNldFRleHRTZWxlY3Rpb24iKSxrUGE9cyhhPT4oe3N0YXRlOmUsZGlzcGF0Y2g6dH0pPT57bGV0IHI9bXMoYSxlLnNjaGVtYSk7cmV0dXJuIFNaZShyKShlLHQpfSwic2lua0xpc3RJdGVtIik7cyhYbmEsImVuc3VyZU1hcmtzIik7U1BhPXMoKHtrZWVwTWFya3M6YT0hMH09e30pPT4oe3RyOmUsc3RhdGU6dCxkaXNwYXRjaDpyLGVkaXRvcjppfSk9PntsZXR7c2VsZWN0aW9uOm8sZG9jOm59PWUseyRmcm9tOmwsJHRvOmR9PW8sYz1pLmV4dGVuc2lvbk1hbmFnZXIuYXR0cmlidXRlcyxwPUJtKGMsbC5ub2RlKCkudHlwZS5uYW1lLGwubm9kZSgpLmF0dHJzKTtpZihvIGluc3RhbmNlb2YgTXQmJm8ubm9kZS5pc0Jsb2NrKXJldHVybiFsLnBhcmVudE9mZnNldHx8IURvKG4sbC5wb3MpPyExOihyJiYoYSYmWG5hKHQsaS5leHRlbnNpb25NYW5hZ2VyLnNwbGl0dGFibGVNYXJrcyksZS5zcGxpdChsLnBvcykuc2Nyb2xsSW50b1ZpZXcoKSksITApO2lmKCFsLnBhcmVudC5pc0Jsb2NrKXJldHVybiExO2xldCB1PWQucGFyZW50T2Zmc2V0PT09ZC5wYXJlbnQuY29udGVudC5zaXplLG09bC5kZXB0aD09PTA/dm9pZCAwOk9aZShsLm5vZGUoLTEpLmNvbnRlbnRNYXRjaEF0KGwuaW5kZXhBZnRlcigtMSkpKSx2PXUmJm0/W3t0eXBlOm0sYXR0cnM6cH1dOnZvaWQgMCx4PURvKGUuZG9jLGUubWFwcGluZy5tYXAobC5wb3MpLDEsdik7aWYoIXYmJiF4JiZEbyhlLmRvYyxlLm1hcHBpbmcubWFwKGwucG9zKSwxLG0/W3t0eXBlOm19XTp2b2lkIDApJiYoeD0hMCx2PW0/W3t0eXBlOm0sYXR0cnM6cH1dOnZvaWQgMCkscil7aWYoeCYmKG8gaW5zdGFuY2VvZiBSdCYmZS5kZWxldGVTZWxlY3Rpb24oKSxlLnNwbGl0KGUubWFwcGluZy5tYXAobC5wb3MpLDEsdiksbSYmIXUmJiFsLnBhcmVudE9mZnNldCYmbC5wYXJlbnQudHlwZSE9PW0pKXtsZXQgYj1lLm1hcHBpbmcubWFwKGwuYmVmb3JlKCkpLGc9ZS5kb2MucmVzb2x2ZShiKTtsLm5vZGUoLTEpLmNhblJlcGxhY2VXaXRoKGcuaW5kZXgoKSxnLmluZGV4KCkrMSxtKSYmZS5zZXROb2RlTWFya3VwKGUubWFwcGluZy5tYXAobC5iZWZvcmUoKSksbSl9YSYmWG5hKHQsaS5leHRlbnNpb25NYW5hZ2VyLnNwbGl0dGFibGVNYXJrcyksZS5zY3JvbGxJbnRvVmlldygpfXJldHVybiB4fSwic3BsaXRCbG9jayIpLHpQYT1zKChhLGU9e30pPT4oe3RyOnQsc3RhdGU6cixkaXNwYXRjaDppLGVkaXRvcjpvfSk9Pnt2YXIgbjtsZXQgbD1tcyhhLHIuc2NoZW1hKSx7JGZyb206ZCwkdG86Y309ci5zZWxlY3Rpb24scD1yLnNlbGVjdGlvbi5ub2RlO2lmKHAmJnAuaXNCbG9ja3x8ZC5kZXB0aDwyfHwhZC5zYW1lUGFyZW50KGMpKXJldHVybiExO2xldCB1PWQubm9kZSgtMSk7aWYodS50eXBlIT09bClyZXR1cm4hMTtsZXQgbT1vLmV4dGVuc2lvbk1hbmFnZXIuYXR0cmlidXRlcztpZihkLnBhcmVudC5jb250ZW50LnNpemU9PT0wJiZkLm5vZGUoLTEpLmNoaWxkQ291bnQ9PT1kLmluZGV4QWZ0ZXIoLTEpKXtpZihkLmRlcHRoPT09Mnx8ZC5ub2RlKC0zKS50eXBlIT09bHx8ZC5pbmRleCgtMikhPT1kLm5vZGUoLTIpLmNoaWxkQ291bnQtMSlyZXR1cm4hMTtpZihpKXtsZXQgeT1WZS5lbXB0eSxrPWQuaW5kZXgoLTEpPzE6ZC5pbmRleCgtMik/MjozO2ZvcihsZXQgVD1kLmRlcHRoLWs7VD49ZC5kZXB0aC0zO1QtPTEpeT1WZS5mcm9tKGQubm9kZShUKS5jb3B5KHkpKTtsZXQgQz1kLmluZGV4QWZ0ZXIoLTEpPGQubm9kZSgtMikuY2hpbGRDb3VudD8xOmQuaW5kZXhBZnRlcigtMik8ZC5ub2RlKC0zKS5jaGlsZENvdW50PzI6MyxOPXsuLi5CbShtLGQubm9kZSgpLnR5cGUubmFtZSxkLm5vZGUoKS5hdHRycyksLi4uZX0sXz0oKG49bC5jb250ZW50TWF0Y2guZGVmYXVsdFR5cGUpPT09bnVsbHx8bj09PXZvaWQgMD92b2lkIDA6bi5jcmVhdGVBbmRGaWxsKE4pKXx8dm9pZCAwO3k9eS5hcHBlbmQoVmUuZnJvbShsLmNyZWF0ZUFuZEZpbGwobnVsbCxfKXx8dm9pZCAwKSk7bGV0IHo9ZC5iZWZvcmUoZC5kZXB0aC0oay0xKSk7dC5yZXBsYWNlKHosZC5hZnRlcigtQyksbmV3IHN0KHksNC1rLDApKTtsZXQgTz0tMTt0LmRvYy5ub2Rlc0JldHdlZW4oeix0LmRvYy5jb250ZW50LnNpemUsKFQsRSk9PntpZihPPi0xKXJldHVybiExO1QuaXNUZXh0YmxvY2smJlQuY29udGVudC5zaXplPT09MCYmKE89RSsxKX0pLE8+LTEmJnQuc2V0U2VsZWN0aW9uKFJ0Lm5lYXIodC5kb2MucmVzb2x2ZShPKSkpLHQuc2Nyb2xsSW50b1ZpZXcoKX1yZXR1cm4hMH1sZXQgdj1jLnBvcz09PWQuZW5kKCk/dS5jb250ZW50TWF0Y2hBdCgwKS5kZWZhdWx0VHlwZTpudWxsLHg9ey4uLkJtKG0sdS50eXBlLm5hbWUsdS5hdHRycyksLi4uZX0sYj17Li4uQm0obSxkLm5vZGUoKS50eXBlLm5hbWUsZC5ub2RlKCkuYXR0cnMpLC4uLmV9O3QuZGVsZXRlKGQucG9zLGMucG9zKTtsZXQgZz12P1t7dHlwZTpsLGF0dHJzOnh9LHt0eXBlOnYsYXR0cnM6Yn1dOlt7dHlwZTpsLGF0dHJzOnh9XTtpZighRG8odC5kb2MsZC5wb3MsMikpcmV0dXJuITE7aWYoaSl7bGV0e3NlbGVjdGlvbjp5LHN0b3JlZE1hcmtzOmt9PXIse3NwbGl0dGFibGVNYXJrczpDfT1vLmV4dGVuc2lvbk1hbmFnZXIsTj1rfHx5LiR0by5wYXJlbnRPZmZzZXQmJnkuJGZyb20ubWFya3MoKTtpZih0LnNwbGl0KGQucG9zLDIsZykuc2Nyb2xsSW50b1ZpZXcoKSwhTnx8IWkpcmV0dXJuITA7bGV0IF89Ti5maWx0ZXIoej0+Qy5pbmNsdWRlcyh6LnR5cGUubmFtZSkpO3QuZW5zdXJlTWFya3MoXyl9cmV0dXJuITB9LCJzcGxpdExpc3RJdGVtIiksX1plPXMoKGEsZSk9PntsZXQgdD1GbShuPT5uLnR5cGU9PT1lKShhLnNlbGVjdGlvbik7aWYoIXQpcmV0dXJuITA7bGV0IHI9YS5kb2MucmVzb2x2ZShNYXRoLm1heCgwLHQucG9zLTEpKS5iZWZvcmUodC5kZXB0aCk7aWYocj09PXZvaWQgMClyZXR1cm4hMDtsZXQgaT1hLmRvYy5ub2RlQXQocik7cmV0dXJuIHQubm9kZS50eXBlPT09aT8udHlwZSYmZW4oYS5kb2MsdC5wb3MpJiZhLmpvaW4odC5wb3MpLCEwfSwiam9pbkxpc3RCYWNrd2FyZHMiKSxUWmU9cygoYSxlKT0+e2xldCB0PUZtKG49Pm4udHlwZT09PWUpKGEuc2VsZWN0aW9uKTtpZighdClyZXR1cm4hMDtsZXQgcj1hLmRvYy5yZXNvbHZlKHQuc3RhcnQpLmFmdGVyKHQuZGVwdGgpO2lmKHI9PT12b2lkIDApcmV0dXJuITA7bGV0IGk9YS5kb2Mubm9kZUF0KHIpO3JldHVybiB0Lm5vZGUudHlwZT09PWk/LnR5cGUmJmVuKGEuZG9jLHIpJiZhLmpvaW4ociksITB9LCJqb2luTGlzdEZvcndhcmRzIiksQ1BhPXMoKGEsZSx0LHI9e30pPT4oe2VkaXRvcjppLHRyOm8sc3RhdGU6bixkaXNwYXRjaDpsLGNoYWluOmQsY29tbWFuZHM6YyxjYW46cH0pPT57bGV0e2V4dGVuc2lvbnM6dSxzcGxpdHRhYmxlTWFya3M6bX09aS5leHRlbnNpb25NYW5hZ2VyLHY9bXMoYSxuLnNjaGVtYSkseD1tcyhlLG4uc2NoZW1hKSx7c2VsZWN0aW9uOmIsc3RvcmVkTWFya3M6Z309bix7JGZyb206eSwkdG86a309YixDPXkuYmxvY2tSYW5nZShrKSxOPWd8fGIuJHRvLnBhcmVudE9mZnNldCYmYi4kZnJvbS5tYXJrcygpO2lmKCFDKXJldHVybiExO2xldCBfPUZtKHo9PlNyZSh6LnR5cGUubmFtZSx1KSkoYik7aWYoQy5kZXB0aD49MSYmXyYmQy5kZXB0aC1fLmRlcHRoPD0xKXtpZihfLm5vZGUudHlwZT09PXYpcmV0dXJuIGMubGlmdExpc3RJdGVtKHgpO2lmKFNyZShfLm5vZGUudHlwZS5uYW1lLHUpJiZ2LnZhbGlkQ29udGVudChfLm5vZGUuY29udGVudCkmJmwpcmV0dXJuIGQoKS5jb21tYW5kKCgpPT4oby5zZXROb2RlTWFya3VwKF8ucG9zLHYpLCEwKSkuY29tbWFuZCgoKT0+X1plKG8sdikpLmNvbW1hbmQoKCk9PlRaZShvLHYpKS5ydW4oKX1yZXR1cm4hdHx8IU58fCFsP2QoKS5jb21tYW5kKCgpPT5wKCkud3JhcEluTGlzdCh2LHIpPyEwOmMuY2xlYXJOb2RlcygpKS53cmFwSW5MaXN0KHYscikuY29tbWFuZCgoKT0+X1plKG8sdikpLmNvbW1hbmQoKCk9PlRaZShvLHYpKS5ydW4oKTpkKCkuY29tbWFuZCgoKT0+e2xldCB6PXAoKS53cmFwSW5MaXN0KHYsciksTz1OLmZpbHRlcihUPT5tLmluY2x1ZGVzKFQudHlwZS5uYW1lKSk7cmV0dXJuIG8uZW5zdXJlTWFya3MoTyksej8hMDpjLmNsZWFyTm9kZXMoKX0pLndyYXBJbkxpc3QodixyKS5jb21tYW5kKCgpPT5fWmUobyx2KSkuY29tbWFuZCgoKT0+VFplKG8sdikpLnJ1bigpfSwidG9nZ2xlTGlzdCIpLF9QYT1zKChhLGU9e30sdD17fSk9Pih7c3RhdGU6cixjb21tYW5kczppfSk9PntsZXR7ZXh0ZW5kRW1wdHlNYXJrUmFuZ2U6bz0hMX09dCxuPVgyKGEsci5zY2hlbWEpO3JldHVybiBnVyhyLG4sZSk/aS51bnNldE1hcmsobix7ZXh0ZW5kRW1wdHlNYXJrUmFuZ2U6b30pOmkuc2V0TWFyayhuLGUpfSwidG9nZ2xlTWFyayIpLFRQYT1zKChhLGUsdD17fSk9Pih7c3RhdGU6cixjb21tYW5kczppfSk9PntsZXQgbz1tcyhhLHIuc2NoZW1hKSxuPW1zKGUsci5zY2hlbWEpLGw9bzUocixvLHQpLGQ7cmV0dXJuIHIuc2VsZWN0aW9uLiRhbmNob3Iuc2FtZVBhcmVudChyLnNlbGVjdGlvbi4kaGVhZCkmJihkPXIuc2VsZWN0aW9uLiRhbmNob3IucGFyZW50LmF0dHJzKSxsP2kuc2V0Tm9kZShuLGQpOmkuc2V0Tm9kZShvLHsuLi5kLC4uLnR9KX0sInRvZ2dsZU5vZGUiKSxMUGE9cygoYSxlPXt9KT0+KHtzdGF0ZTp0LGNvbW1hbmRzOnJ9KT0+e2xldCBpPW1zKGEsdC5zY2hlbWEpO3JldHVybiBvNSh0LGksZSk/ci5saWZ0KGkpOnIud3JhcEluKGksZSl9LCJ0b2dnbGVXcmFwIiksJFBhPXMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PntsZXQgdD1hLnBsdWdpbnM7Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKz0xKXtsZXQgaT10W3JdLG87aWYoaS5zcGVjLmlzSW5wdXRSdWxlcyYmKG89aS5nZXRTdGF0ZShhKSkpe2lmKGUpe2xldCBuPWEudHIsbD1vLnRyYW5zZm9ybTtmb3IobGV0IGQ9bC5zdGVwcy5sZW5ndGgtMTtkPj0wO2QtPTEpbi5zdGVwKGwuc3RlcHNbZF0uaW52ZXJ0KGwuZG9jc1tkXSkpO2lmKG8udGV4dCl7bGV0IGQ9bi5kb2MucmVzb2x2ZShvLmZyb20pLm1hcmtzKCk7bi5yZXBsYWNlV2l0aChvLmZyb20sby50byxhLnNjaGVtYS50ZXh0KG8udGV4dCxkKSl9ZWxzZSBuLmRlbGV0ZShvLmZyb20sby50byl9cmV0dXJuITB9fXJldHVybiExfSwidW5kb0lucHV0UnVsZSIpLERQYT1zKCgpPT4oe3RyOmEsZGlzcGF0Y2g6ZX0pPT57bGV0e3NlbGVjdGlvbjp0fT1hLHtlbXB0eTpyLHJhbmdlczppfT10O3JldHVybiByfHxlJiZpLmZvckVhY2gobz0+e2EucmVtb3ZlTWFyayhvLiRmcm9tLnBvcyxvLiR0by5wb3MpfSksITB9LCJ1bnNldEFsbE1hcmtzIiksQVBhPXMoKGEsZT17fSk9Pih7dHI6dCxzdGF0ZTpyLGRpc3BhdGNoOml9KT0+e3ZhciBvO2xldHtleHRlbmRFbXB0eU1hcmtSYW5nZTpuPSExfT1lLHtzZWxlY3Rpb246bH09dCxkPVgyKGEsci5zY2hlbWEpLHskZnJvbTpjLGVtcHR5OnAscmFuZ2VzOnV9PWw7aWYoIWkpcmV0dXJuITA7aWYocCYmbil7bGV0e2Zyb206bSx0bzp2fT1sLHg9KG89Yy5tYXJrcygpLmZpbmQoZz0+Zy50eXBlPT09ZCkpPT09bnVsbHx8bz09PXZvaWQgMD92b2lkIDA6by5hdHRycyxiPWZXKGMsZCx4KTtiJiYobT1iLmZyb20sdj1iLnRvKSx0LnJlbW92ZU1hcmsobSx2LGQpfWVsc2UgdS5mb3JFYWNoKG09Pnt0LnJlbW92ZU1hcmsobS4kZnJvbS5wb3MsbS4kdG8ucG9zLGQpfSk7cmV0dXJuIHQucmVtb3ZlU3RvcmVkTWFyayhkKSwhMH0sInVuc2V0TWFyayIpLEVQYT1zKChhLGU9e30pPT4oe3RyOnQsc3RhdGU6cixkaXNwYXRjaDppfSk9PntsZXQgbz1udWxsLG49bnVsbCxsPU9tKHR5cGVvZiBhPT0ic3RyaW5nIj9hOmEubmFtZSxyLnNjaGVtYSk7cmV0dXJuIGw/KGw9PT0ibm9kZSImJihvPW1zKGEsci5zY2hlbWEpKSxsPT09Im1hcmsiJiYobj1YMihhLHIuc2NoZW1hKSksaSYmdC5zZWxlY3Rpb24ucmFuZ2VzLmZvckVhY2goZD0+e2xldCBjPWQuJGZyb20ucG9zLHA9ZC4kdG8ucG9zLHUsbSx2LHg7dC5zZWxlY3Rpb24uZW1wdHk/ci5kb2Mubm9kZXNCZXR3ZWVuKGMscCwoYixnKT0+e28mJm89PT1iLnR5cGUmJih2PU1hdGgubWF4KGcsYykseD1NYXRoLm1pbihnK2Iubm9kZVNpemUscCksdT1nLG09Yil9KTpyLmRvYy5ub2Rlc0JldHdlZW4oYyxwLChiLGcpPT57ZzxjJiZvJiZvPT09Yi50eXBlJiYodj1NYXRoLm1heChnLGMpLHg9TWF0aC5taW4oZytiLm5vZGVTaXplLHApLHU9ZyxtPWIpLGc+PWMmJmc8PXAmJihvJiZvPT09Yi50eXBlJiZ0LnNldE5vZGVNYXJrdXAoZyx2b2lkIDAsey4uLmIuYXR0cnMsLi4uZX0pLG4mJmIubWFya3MubGVuZ3RoJiZiLm1hcmtzLmZvckVhY2goeT0+e2lmKG49PT15LnR5cGUpe2xldCBrPU1hdGgubWF4KGcsYyksQz1NYXRoLm1pbihnK2Iubm9kZVNpemUscCk7dC5hZGRNYXJrKGssQyxuLmNyZWF0ZSh7Li4ueS5hdHRycywuLi5lfSkpfX0pKX0pLG0mJih1IT09dm9pZCAwJiZ0LnNldE5vZGVNYXJrdXAodSx2b2lkIDAsey4uLm0uYXR0cnMsLi4uZX0pLG4mJm0ubWFya3MubGVuZ3RoJiZtLm1hcmtzLmZvckVhY2goYj0+e249PT1iLnR5cGUmJnQuYWRkTWFyayh2LHgsbi5jcmVhdGUoey4uLmIuYXR0cnMsLi4uZX0pKX0pKX0pLCEwKTohMX0sInVwZGF0ZUF0dHJpYnV0ZXMiKSxQUGE9cygoYSxlPXt9KT0+KHtzdGF0ZTp0LGRpc3BhdGNoOnJ9KT0+e2xldCBpPW1zKGEsdC5zY2hlbWEpO3JldHVybiB5WmUoaSxlKSh0LHIpfSwid3JhcEluIiksSVBhPXMoKGEsZT17fSk9Pih7c3RhdGU6dCxkaXNwYXRjaDpyfSk9PntsZXQgaT1tcyhhLHQuc2NoZW1hKTtyZXR1cm4gTVplKGksZSkodCxyKX0sIndyYXBJbkxpc3QiKSxOUGE9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsYmx1cjpURWEsY2xlYXJDb250ZW50OkxFYSxjbGVhck5vZGVzOiRFYSxjb21tYW5kOkRFYSxjcmVhdGVQYXJhZ3JhcGhOZWFyOkFFYSxjdXQ6RUVhLGRlbGV0ZUN1cnJlbnROb2RlOlBFYSxkZWxldGVOb2RlOklFYSxkZWxldGVSYW5nZTpORWEsZGVsZXRlU2VsZWN0aW9uOlJFYSxlbnRlcjpPRWEsZXhpdENvZGU6RkVhLGV4dGVuZE1hcmtSYW5nZTpCRWEsZmlyc3Q6SEVhLGZvY3VzOnFFYSxmb3JFYWNoOlZFYSxpbnNlcnRDb250ZW50OmpFYSxpbnNlcnRDb250ZW50QXQ6V0VhLGpvaW5CYWNrd2FyZDpLRWEsam9pbkRvd246WUVhLGpvaW5Gb3J3YXJkOlpFYSxqb2luSXRlbUJhY2t3YXJkOlhFYSxqb2luSXRlbUZvcndhcmQ6UUVhLGpvaW5UZXh0YmxvY2tCYWNrd2FyZDpKRWEsam9pblRleHRibG9ja0ZvcndhcmQ6ZVBhLGpvaW5VcDpHRWEsa2V5Ym9hcmRTaG9ydGN1dDphUGEsbGlmdDpyUGEsbGlmdEVtcHR5QmxvY2s6c1BhLGxpZnRMaXN0SXRlbTppUGEsbmV3bGluZUluQ29kZTpvUGEscmVzZXRBdHRyaWJ1dGVzOm5QYSxzY3JvbGxJbnRvVmlldzpsUGEsc2VsZWN0QWxsOmNQYSxzZWxlY3ROb2RlQmFja3dhcmQ6ZFBhLHNlbGVjdE5vZGVGb3J3YXJkOnVQYSxzZWxlY3RQYXJlbnROb2RlOnBQYSxzZWxlY3RUZXh0YmxvY2tFbmQ6ZlBhLHNlbGVjdFRleHRibG9ja1N0YXJ0OmhQYSxzZXRDb250ZW50Om1QYSxzZXRNYXJrOnZQYSxzZXRNZXRhOnhQYSxzZXROb2RlOnlQYSxzZXROb2RlU2VsZWN0aW9uOndQYSxzZXRUZXh0U2VsZWN0aW9uOk1QYSxzaW5rTGlzdEl0ZW06a1BhLHNwbGl0QmxvY2s6U1BhLHNwbGl0TGlzdEl0ZW06elBhLHRvZ2dsZUxpc3Q6Q1BhLHRvZ2dsZU1hcms6X1BhLHRvZ2dsZU5vZGU6VFBhLHRvZ2dsZVdyYXA6TFBhLHVuZG9JbnB1dFJ1bGU6JFBhLHVuc2V0QWxsTWFya3M6RFBhLHVuc2V0TWFyazpBUGEsdXBkYXRlQXR0cmlidXRlczpFUGEsd3JhcEluOlBQYSx3cmFwSW5MaXN0OklQYX0pLFFuYT13ci5jcmVhdGUoe25hbWU6ImNvbW1hbmRzIixhZGRDb21tYW5kcygpe3JldHVybnsuLi5OUGF9fX0pLEpuYT13ci5jcmVhdGUoe25hbWU6ImRyb3AiLGFkZFByb3NlTWlycm9yUGx1Z2lucygpe3JldHVybltuZXcgYXIoe2tleTpuZXcgZnMoInRpcHRhcERyb3AiKSxwcm9wczp7aGFuZGxlRHJvcDpzKChhLGUsdCxyKT0+e3RoaXMuZWRpdG9yLmVtaXQoImRyb3AiLHtlZGl0b3I6dGhpcy5lZGl0b3IsZXZlbnQ6ZSxzbGljZTp0LG1vdmVkOnJ9KX0sImhhbmRsZURyb3AiKX19KV19fSksZTFhPXdyLmNyZWF0ZSh7bmFtZToiZWRpdGFibGUiLGFkZFByb3NlTWlycm9yUGx1Z2lucygpe3JldHVybltuZXcgYXIoe2tleTpuZXcgZnMoImVkaXRhYmxlIikscHJvcHM6e2VkaXRhYmxlOnMoKCk9PnRoaXMuZWRpdG9yLm9wdGlvbnMuZWRpdGFibGUsImVkaXRhYmxlIil9fSldfX0pLHQxYT1uZXcgZnMoImZvY3VzRXZlbnRzIiksYTFhPXdyLmNyZWF0ZSh7bmFtZToiZm9jdXNFdmVudHMiLGFkZFByb3NlTWlycm9yUGx1Z2lucygpe2xldHtlZGl0b3I6YX09dGhpcztyZXR1cm5bbmV3IGFyKHtrZXk6dDFhLHByb3BzOntoYW5kbGVET01FdmVudHM6e2ZvY3VzOnMoKGUsdCk9PnthLmlzRm9jdXNlZD0hMDtsZXQgcj1hLnN0YXRlLnRyLnNldE1ldGEoImZvY3VzIix7ZXZlbnQ6dH0pLnNldE1ldGEoImFkZFRvSGlzdG9yeSIsITEpO3JldHVybiBlLmRpc3BhdGNoKHIpLCExfSwiZm9jdXMiKSxibHVyOnMoKGUsdCk9PnthLmlzRm9jdXNlZD0hMTtsZXQgcj1hLnN0YXRlLnRyLnNldE1ldGEoImJsdXIiLHtldmVudDp0fSkuc2V0TWV0YSgiYWRkVG9IaXN0b3J5IiwhMSk7cmV0dXJuIGUuZGlzcGF0Y2gociksITF9LCJibHVyIil9fX0pXX19KSxyMWE9d3IuY3JlYXRlKHtuYW1lOiJrZXltYXAiLGFkZEtleWJvYXJkU2hvcnRjdXRzKCl7bGV0IGE9cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMuZmlyc3QoKHtjb21tYW5kczpufSk9PlsoKT0+bi51bmRvSW5wdXRSdWxlKCksKCk9Pm4uY29tbWFuZCgoe3RyOmx9KT0+e2xldHtzZWxlY3Rpb246ZCxkb2M6Y309bCx7ZW1wdHk6cCwkYW5jaG9yOnV9PWQse3BvczptLHBhcmVudDp2fT11LHg9dS5wYXJlbnQuaXNUZXh0YmxvY2smJm0+MD9sLmRvYy5yZXNvbHZlKG0tMSk6dSxiPXgucGFyZW50LnR5cGUuc3BlYy5pc29sYXRpbmcsZz11LnBvcy11LnBhcmVudE9mZnNldCx5PWImJngucGFyZW50LmNoaWxkQ291bnQ9PT0xP2c9PT11LnBvczpJdC5hdFN0YXJ0KGMpLmZyb209PT1tO3JldHVybiFwfHwhdi50eXBlLmlzVGV4dGJsb2NrfHx2LnRleHRDb250ZW50Lmxlbmd0aHx8IXl8fHkmJnUucGFyZW50LnR5cGUubmFtZT09PSJwYXJhZ3JhcGgiPyExOm4uY2xlYXJOb2RlcygpfSksKCk9Pm4uZGVsZXRlU2VsZWN0aW9uKCksKCk9Pm4uam9pbkJhY2t3YXJkKCksKCk9Pm4uc2VsZWN0Tm9kZUJhY2t3YXJkKCldKSwiaGFuZGxlQmFja3NwYWNlIiksZT1zKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5maXJzdCgoe2NvbW1hbmRzOm59KT0+WygpPT5uLmRlbGV0ZVNlbGVjdGlvbigpLCgpPT5uLmRlbGV0ZUN1cnJlbnROb2RlKCksKCk9Pm4uam9pbkZvcndhcmQoKSwoKT0+bi5zZWxlY3ROb2RlRm9yd2FyZCgpXSksImhhbmRsZURlbGV0ZSIpLHI9e0VudGVyOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLmZpcnN0KCh7Y29tbWFuZHM6bn0pPT5bKCk9Pm4ubmV3bGluZUluQ29kZSgpLCgpPT5uLmNyZWF0ZVBhcmFncmFwaE5lYXIoKSwoKT0+bi5saWZ0RW1wdHlCbG9jaygpLCgpPT5uLnNwbGl0QmxvY2soKV0pLCJoYW5kbGVFbnRlciIpLCJNb2QtRW50ZXIiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLmV4aXRDb2RlKCksIk1vZC1FbnRlciIpLEJhY2tzcGFjZTphLCJNb2QtQmFja3NwYWNlIjphLCJTaGlmdC1CYWNrc3BhY2UiOmEsRGVsZXRlOmUsIk1vZC1EZWxldGUiOmUsIk1vZC1hIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5zZWxlY3RBbGwoKSwiTW9kLWEiKX0saT17Li4ucn0sbz17Li4uciwiQ3RybC1oIjphLCJBbHQtQmFja3NwYWNlIjphLCJDdHJsLWQiOmUsIkN0cmwtQWx0LUJhY2tzcGFjZSI6ZSwiQWx0LURlbGV0ZSI6ZSwiQWx0LWQiOmUsIkN0cmwtYSI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMuc2VsZWN0VGV4dGJsb2NrU3RhcnQoKSwiQ3RybC1hIiksIkN0cmwtZSI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMuc2VsZWN0VGV4dGJsb2NrRW5kKCksIkN0cmwtZSIpfTtyZXR1cm4gcjUoKXx8eXJlKCk/bzppfSxhZGRQcm9zZU1pcnJvclBsdWdpbnMoKXtyZXR1cm5bbmV3IGFyKHtrZXk6bmV3IGZzKCJjbGVhckRvY3VtZW50IiksYXBwZW5kVHJhbnNhY3Rpb246cygoYSxlLHQpPT57aWYoYS5zb21lKGI9PmIuZ2V0TWV0YSgiY29tcG9zaXRpb24iKSkpcmV0dXJuO2xldCByPWEuc29tZShiPT5iLmRvY0NoYW5nZWQpJiYhZS5kb2MuZXEodC5kb2MpLGk9YS5zb21lKGI9PmIuZ2V0TWV0YSgicHJldmVudENsZWFyRG9jdW1lbnQiKSk7aWYoIXJ8fGkpcmV0dXJuO2xldHtlbXB0eTpvLGZyb206bix0bzpsfT1lLnNlbGVjdGlvbixkPUl0LmF0U3RhcnQoZS5kb2MpLmZyb20sYz1JdC5hdEVuZChlLmRvYykudG87aWYob3x8IShuPT09ZCYmbD09PWMpfHwhYlcodC5kb2MpKXJldHVybjtsZXQgbT10LnRyLHY9QW0oe3N0YXRlOnQsdHJhbnNhY3Rpb246bX0pLHtjb21tYW5kczp4fT1uZXcgUzQoe2VkaXRvcjp0aGlzLmVkaXRvcixzdGF0ZTp2fSk7aWYoeC5jbGVhck5vZGVzKCksISFtLnN0ZXBzLmxlbmd0aClyZXR1cm4gbX0sImFwcGVuZFRyYW5zYWN0aW9uIil9KV19fSksczFhPXdyLmNyZWF0ZSh7bmFtZToicGFzdGUiLGFkZFByb3NlTWlycm9yUGx1Z2lucygpe3JldHVybltuZXcgYXIoe2tleTpuZXcgZnMoInRpcHRhcFBhc3RlIikscHJvcHM6e2hhbmRsZVBhc3RlOnMoKGEsZSx0KT0+e3RoaXMuZWRpdG9yLmVtaXQoInBhc3RlIix7ZWRpdG9yOnRoaXMuZWRpdG9yLGV2ZW50OmUsc2xpY2U6dH0pfSwiaGFuZGxlUGFzdGUiKX19KV19fSksaTFhPXdyLmNyZWF0ZSh7bmFtZToidGFiaW5kZXgiLGFkZFByb3NlTWlycm9yUGx1Z2lucygpe3JldHVybltuZXcgYXIoe2tleTpuZXcgZnMoInRhYmluZGV4IikscHJvcHM6e2F0dHJpYnV0ZXM6cygoKT0+dGhpcy5lZGl0b3IuaXNFZGl0YWJsZT97dGFiaW5kZXg6IjAifTp7fSwiYXR0cmlidXRlcyIpfX0pXX19KSxtMWE9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsQ2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXI6V25hLENvbW1hbmRzOlFuYSxEcm9wOkpuYSxFZGl0YWJsZTplMWEsRm9jdXNFdmVudHM6YTFhLEtleW1hcDpyMWEsUGFzdGU6czFhLFRhYmluZGV4OmkxYSxmb2N1c0V2ZW50c1BsdWdpbktleTp0MWF9KSx2Vz1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIk5vZGVQb3MiKX1nZXQgbmFtZSgpe3JldHVybiB0aGlzLm5vZGUudHlwZS5uYW1lfWNvbnN0cnVjdG9yKGUsdCxyPSExLGk9bnVsbCl7dGhpcy5jdXJyZW50Tm9kZT1udWxsLHRoaXMuYWN0dWFsRGVwdGg9bnVsbCx0aGlzLmlzQmxvY2s9cix0aGlzLnJlc29sdmVkUG9zPWUsdGhpcy5lZGl0b3I9dCx0aGlzLmN1cnJlbnROb2RlPWl9Z2V0IG5vZGUoKXtyZXR1cm4gdGhpcy5jdXJyZW50Tm9kZXx8dGhpcy5yZXNvbHZlZFBvcy5ub2RlKCl9Z2V0IGVsZW1lbnQoKXtyZXR1cm4gdGhpcy5lZGl0b3Iudmlldy5kb21BdFBvcyh0aGlzLnBvcykubm9kZX1nZXQgZGVwdGgoKXt2YXIgZTtyZXR1cm4oZT10aGlzLmFjdHVhbERlcHRoKSE9PW51bGwmJmUhPT12b2lkIDA/ZTp0aGlzLnJlc29sdmVkUG9zLmRlcHRofWdldCBwb3MoKXtyZXR1cm4gdGhpcy5yZXNvbHZlZFBvcy5wb3N9Z2V0IGNvbnRlbnQoKXtyZXR1cm4gdGhpcy5ub2RlLmNvbnRlbnR9c2V0IGNvbnRlbnQoZSl7bGV0IHQ9dGhpcy5mcm9tLHI9dGhpcy50bztpZih0aGlzLmlzQmxvY2spe2lmKHRoaXMuY29udGVudC5zaXplPT09MCl7Y29uc29sZS5lcnJvcihgWW91IGNhblx1MjAxOXQgc2V0IGNvbnRlbnQgb24gYSBibG9jayBub2RlLiBUcmllZCB0byBzZXQgY29udGVudCBvbiAke3RoaXMubmFtZX0gYXQgJHt0aGlzLnBvc31gKTtyZXR1cm59dD10aGlzLmZyb20rMSxyPXRoaXMudG8tMX10aGlzLmVkaXRvci5jb21tYW5kcy5pbnNlcnRDb250ZW50QXQoe2Zyb206dCx0bzpyfSxlKX1nZXQgYXR0cmlidXRlcygpe3JldHVybiB0aGlzLm5vZGUuYXR0cnN9Z2V0IHRleHRDb250ZW50KCl7cmV0dXJuIHRoaXMubm9kZS50ZXh0Q29udGVudH1nZXQgc2l6ZSgpe3JldHVybiB0aGlzLm5vZGUubm9kZVNpemV9Z2V0IGZyb20oKXtyZXR1cm4gdGhpcy5pc0Jsb2NrP3RoaXMucG9zOnRoaXMucmVzb2x2ZWRQb3Muc3RhcnQodGhpcy5yZXNvbHZlZFBvcy5kZXB0aCl9Z2V0IHJhbmdlKCl7cmV0dXJue2Zyb206dGhpcy5mcm9tLHRvOnRoaXMudG99fWdldCB0bygpe3JldHVybiB0aGlzLmlzQmxvY2s/dGhpcy5wb3MrdGhpcy5zaXplOnRoaXMucmVzb2x2ZWRQb3MuZW5kKHRoaXMucmVzb2x2ZWRQb3MuZGVwdGgpKyh0aGlzLm5vZGUuaXNUZXh0PzA6MSl9Z2V0IHBhcmVudCgpe2lmKHRoaXMuZGVwdGg9PT0wKXJldHVybiBudWxsO2xldCBlPXRoaXMucmVzb2x2ZWRQb3Muc3RhcnQodGhpcy5yZXNvbHZlZFBvcy5kZXB0aC0xKSx0PXRoaXMucmVzb2x2ZWRQb3MuZG9jLnJlc29sdmUoZSk7cmV0dXJuIG5ldyBhKHQsdGhpcy5lZGl0b3IpfWdldCBiZWZvcmUoKXtsZXQgZT10aGlzLnJlc29sdmVkUG9zLmRvYy5yZXNvbHZlKHRoaXMuZnJvbS0odGhpcy5pc0Jsb2NrPzE6MikpO3JldHVybiBlLmRlcHRoIT09dGhpcy5kZXB0aCYmKGU9dGhpcy5yZXNvbHZlZFBvcy5kb2MucmVzb2x2ZSh0aGlzLmZyb20tMykpLG5ldyBhKGUsdGhpcy5lZGl0b3IpfWdldCBhZnRlcigpe2xldCBlPXRoaXMucmVzb2x2ZWRQb3MuZG9jLnJlc29sdmUodGhpcy50bysodGhpcy5pc0Jsb2NrPzI6MSkpO3JldHVybiBlLmRlcHRoIT09dGhpcy5kZXB0aCYmKGU9dGhpcy5yZXNvbHZlZFBvcy5kb2MucmVzb2x2ZSh0aGlzLnRvKzMpKSxuZXcgYShlLHRoaXMuZWRpdG9yKX1nZXQgY2hpbGRyZW4oKXtsZXQgZT1bXTtyZXR1cm4gdGhpcy5ub2RlLmNvbnRlbnQuZm9yRWFjaCgodCxyKT0+e2xldCBpPXQuaXNCbG9jayYmIXQuaXNUZXh0YmxvY2ssbz10LmlzQXRvbSYmIXQuaXNUZXh0LG49dGhpcy5wb3Mrcisobz8wOjEpO2lmKG48MHx8bj50aGlzLnJlc29sdmVkUG9zLmRvYy5ub2RlU2l6ZS0yKXJldHVybjtsZXQgbD10aGlzLnJlc29sdmVkUG9zLmRvYy5yZXNvbHZlKG4pO2lmKCFpJiZsLmRlcHRoPD10aGlzLmRlcHRoKXJldHVybjtsZXQgZD1uZXcgYShsLHRoaXMuZWRpdG9yLGksaT90Om51bGwpO2kmJihkLmFjdHVhbERlcHRoPXRoaXMuZGVwdGgrMSksZS5wdXNoKG5ldyBhKGwsdGhpcy5lZGl0b3IsaSxpP3Q6bnVsbCkpfSksZX1nZXQgZmlyc3RDaGlsZCgpe3JldHVybiB0aGlzLmNoaWxkcmVuWzBdfHxudWxsfWdldCBsYXN0Q2hpbGQoKXtsZXQgZT10aGlzLmNoaWxkcmVuO3JldHVybiBlW2UubGVuZ3RoLTFdfHxudWxsfWNsb3Nlc3QoZSx0PXt9KXtsZXQgcj1udWxsLGk9dGhpcy5wYXJlbnQ7Zm9yKDtpJiYhcjspe2lmKGkubm9kZS50eXBlLm5hbWU9PT1lKWlmKE9iamVjdC5rZXlzKHQpLmxlbmd0aD4wKXtsZXQgbz1pLm5vZGUuYXR0cnMsbj1PYmplY3Qua2V5cyh0KTtmb3IobGV0IGw9MDtsPG4ubGVuZ3RoO2wrPTEpe2xldCBkPW5bbF07aWYob1tkXSE9PXRbZF0pYnJlYWt9fWVsc2Ugcj1pO2k9aS5wYXJlbnR9cmV0dXJuIHJ9cXVlcnlTZWxlY3RvcihlLHQ9e30pe3JldHVybiB0aGlzLnF1ZXJ5U2VsZWN0b3JBbGwoZSx0LCEwKVswXXx8bnVsbH1xdWVyeVNlbGVjdG9yQWxsKGUsdD17fSxyPSExKXtsZXQgaT1bXTtpZighdGhpcy5jaGlsZHJlbnx8dGhpcy5jaGlsZHJlbi5sZW5ndGg9PT0wKXJldHVybiBpO2xldCBvPU9iamVjdC5rZXlzKHQpO3JldHVybiB0aGlzLmNoaWxkcmVuLmZvckVhY2gobj0+e3ImJmkubGVuZ3RoPjB8fChuLm5vZGUudHlwZS5uYW1lPT09ZSYmby5ldmVyeShkPT50W2RdPT09bi5ub2RlLmF0dHJzW2RdKSYmaS5wdXNoKG4pLCEociYmaS5sZW5ndGg+MCkmJihpPWkuY29uY2F0KG4ucXVlcnlTZWxlY3RvckFsbChlLHQscikpKSl9KSxpfXNldEF0dHJpYnV0ZShlKXtsZXR7dHI6dH09dGhpcy5lZGl0b3Iuc3RhdGU7dC5zZXROb2RlTWFya3VwKHRoaXMuZnJvbSx2b2lkIDAsey4uLnRoaXMubm9kZS5hdHRycywuLi5lfSksdGhpcy5lZGl0b3Iudmlldy5kaXNwYXRjaCh0KX19LFJQYT1gLlByb3NlTWlycm9yIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KCi5Qcm9zZU1pcnJvciB7CiAgd29yZC13cmFwOiBicmVhay13b3JkOwogIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICB3aGl0ZS1zcGFjZTogYnJlYWstc3BhY2VzOwogIC13ZWJraXQtZm9udC12YXJpYW50LWxpZ2F0dXJlczogbm9uZTsKICBmb250LXZhcmlhbnQtbGlnYXR1cmVzOiBub25lOwogIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogImxpZ2EiIDA7IC8qIHRoZSBhYm92ZSBkb2Vzbid0IHNlZW0gdG8gd29yayBpbiBFZGdlICovCn0KCi5Qcm9zZU1pcnJvciBbY29udGVudGVkaXRhYmxlPSJmYWxzZSJdIHsKICB3aGl0ZS1zcGFjZTogbm9ybWFsOwp9CgouUHJvc2VNaXJyb3IgW2NvbnRlbnRlZGl0YWJsZT0iZmFsc2UiXSBbY29udGVudGVkaXRhYmxlPSJ0cnVlIl0gewogIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKfQoKLlByb3NlTWlycm9yIHByZSB7CiAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwp9CgppbWcuUHJvc2VNaXJyb3Itc2VwYXJhdG9yIHsKICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsKICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsKICBtYXJnaW46IDAgIWltcG9ydGFudDsKICB3aWR0aDogMCAhaW1wb3J0YW50OwogIGhlaWdodDogMCAhaW1wb3J0YW50Owp9CgouUHJvc2VNaXJyb3ItZ2FwY3Vyc29yIHsKICBkaXNwbGF5OiBub25lOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBtYXJnaW46IDA7Cn0KCi5Qcm9zZU1pcnJvci1nYXBjdXJzb3I6YWZ0ZXIgewogIGNvbnRlbnQ6ICIiOwogIGRpc3BsYXk6IGJsb2NrOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IC0ycHg7CiAgd2lkdGg6IDIwcHg7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGJsYWNrOwogIGFuaW1hdGlvbjogUHJvc2VNaXJyb3ItY3Vyc29yLWJsaW5rIDEuMXMgc3RlcHMoMiwgc3RhcnQpIGluZmluaXRlOwp9CgpAa2V5ZnJhbWVzIFByb3NlTWlycm9yLWN1cnNvci1ibGluayB7CiAgdG8gewogICAgdmlzaWJpbGl0eTogaGlkZGVuOwogIH0KfQoKLlByb3NlTWlycm9yLWhpZGVzZWxlY3Rpb24gKjo6c2VsZWN0aW9uIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKfQoKLlByb3NlTWlycm9yLWhpZGVzZWxlY3Rpb24gKjo6LW1vei1zZWxlY3Rpb24gewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owp9CgouUHJvc2VNaXJyb3ItaGlkZXNlbGVjdGlvbiAqIHsKICBjYXJldC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KCi5Qcm9zZU1pcnJvci1mb2N1c2VkIC5Qcm9zZU1pcnJvci1nYXBjdXJzb3IgewogIGRpc3BsYXk6IGJsb2NrOwp9CgoudGlwcHktYm94W2RhdGEtYW5pbWF0aW9uPWZhZGVdW2RhdGEtc3RhdGU9aGlkZGVuXSB7CiAgb3BhY2l0eTogMAp9YDtzKGpaZSwiY3JlYXRlU3R5bGVUYWciKTt6cmU9Y2xhc3MgZXh0ZW5kcyB6WmV7c3RhdGlje3ModGhpcywiRWRpdG9yIil9Y29uc3RydWN0b3IoZT17fSl7c3VwZXIoKSx0aGlzLmlzRm9jdXNlZD0hMSx0aGlzLmlzSW5pdGlhbGl6ZWQ9ITEsdGhpcy5leHRlbnNpb25TdG9yYWdlPXt9LHRoaXMub3B0aW9ucz17ZWxlbWVudDpkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSxjb250ZW50OiIiLGluamVjdENTUzohMCxpbmplY3ROb25jZTp2b2lkIDAsZXh0ZW5zaW9uczpbXSxhdXRvZm9jdXM6ITEsZWRpdGFibGU6ITAsZWRpdG9yUHJvcHM6e30scGFyc2VPcHRpb25zOnt9LGNvcmVFeHRlbnNpb25PcHRpb25zOnt9LGVuYWJsZUlucHV0UnVsZXM6ITAsZW5hYmxlUGFzdGVSdWxlczohMCxlbmFibGVDb3JlRXh0ZW5zaW9uczohMCxlbmFibGVDb250ZW50Q2hlY2s6ITEsZW1pdENvbnRlbnRFcnJvcjohMSxvbkJlZm9yZUNyZWF0ZTpzKCgpPT5udWxsLCJvbkJlZm9yZUNyZWF0ZSIpLG9uQ3JlYXRlOnMoKCk9Pm51bGwsIm9uQ3JlYXRlIiksb25VcGRhdGU6cygoKT0+bnVsbCwib25VcGRhdGUiKSxvblNlbGVjdGlvblVwZGF0ZTpzKCgpPT5udWxsLCJvblNlbGVjdGlvblVwZGF0ZSIpLG9uVHJhbnNhY3Rpb246cygoKT0+bnVsbCwib25UcmFuc2FjdGlvbiIpLG9uRm9jdXM6cygoKT0+bnVsbCwib25Gb2N1cyIpLG9uQmx1cjpzKCgpPT5udWxsLCJvbkJsdXIiKSxvbkRlc3Ryb3k6cygoKT0+bnVsbCwib25EZXN0cm95Iiksb25Db250ZW50RXJyb3I6cygoe2Vycm9yOnR9KT0+e3Rocm93IHR9LCJvbkNvbnRlbnRFcnJvciIpLG9uUGFzdGU6cygoKT0+bnVsbCwib25QYXN0ZSIpLG9uRHJvcDpzKCgpPT5udWxsLCJvbkRyb3AiKX0sdGhpcy5pc0NhcHR1cmluZ1RyYW5zYWN0aW9uPSExLHRoaXMuY2FwdHVyZWRUcmFuc2FjdGlvbj1udWxsLHRoaXMuc2V0T3B0aW9ucyhlKSx0aGlzLmNyZWF0ZUV4dGVuc2lvbk1hbmFnZXIoKSx0aGlzLmNyZWF0ZUNvbW1hbmRNYW5hZ2VyKCksdGhpcy5jcmVhdGVTY2hlbWEoKSx0aGlzLm9uKCJiZWZvcmVDcmVhdGUiLHRoaXMub3B0aW9ucy5vbkJlZm9yZUNyZWF0ZSksdGhpcy5lbWl0KCJiZWZvcmVDcmVhdGUiLHtlZGl0b3I6dGhpc30pLHRoaXMub24oImNvbnRlbnRFcnJvciIsdGhpcy5vcHRpb25zLm9uQ29udGVudEVycm9yKSx0aGlzLmNyZWF0ZVZpZXcoKSx0aGlzLmluamVjdENTUygpLHRoaXMub24oImNyZWF0ZSIsdGhpcy5vcHRpb25zLm9uQ3JlYXRlKSx0aGlzLm9uKCJ1cGRhdGUiLHRoaXMub3B0aW9ucy5vblVwZGF0ZSksdGhpcy5vbigic2VsZWN0aW9uVXBkYXRlIix0aGlzLm9wdGlvbnMub25TZWxlY3Rpb25VcGRhdGUpLHRoaXMub24oInRyYW5zYWN0aW9uIix0aGlzLm9wdGlvbnMub25UcmFuc2FjdGlvbiksdGhpcy5vbigiZm9jdXMiLHRoaXMub3B0aW9ucy5vbkZvY3VzKSx0aGlzLm9uKCJibHVyIix0aGlzLm9wdGlvbnMub25CbHVyKSx0aGlzLm9uKCJkZXN0cm95Iix0aGlzLm9wdGlvbnMub25EZXN0cm95KSx0aGlzLm9uKCJkcm9wIiwoe2V2ZW50OnQsc2xpY2U6cixtb3ZlZDppfSk9PnRoaXMub3B0aW9ucy5vbkRyb3AodCxyLGkpKSx0aGlzLm9uKCJwYXN0ZSIsKHtldmVudDp0LHNsaWNlOnJ9KT0+dGhpcy5vcHRpb25zLm9uUGFzdGUodCxyKSksd2luZG93LnNldFRpbWVvdXQoKCk9Pnt0aGlzLmlzRGVzdHJveWVkfHwodGhpcy5jb21tYW5kcy5mb2N1cyh0aGlzLm9wdGlvbnMuYXV0b2ZvY3VzKSx0aGlzLmVtaXQoImNyZWF0ZSIse2VkaXRvcjp0aGlzfSksdGhpcy5pc0luaXRpYWxpemVkPSEwKX0sMCl9Z2V0IHN0b3JhZ2UoKXtyZXR1cm4gdGhpcy5leHRlbnNpb25TdG9yYWdlfWdldCBjb21tYW5kcygpe3JldHVybiB0aGlzLmNvbW1hbmRNYW5hZ2VyLmNvbW1hbmRzfWNoYWluKCl7cmV0dXJuIHRoaXMuY29tbWFuZE1hbmFnZXIuY2hhaW4oKX1jYW4oKXtyZXR1cm4gdGhpcy5jb21tYW5kTWFuYWdlci5jYW4oKX1pbmplY3RDU1MoKXt0aGlzLm9wdGlvbnMuaW5qZWN0Q1NTJiZkb2N1bWVudCYmKHRoaXMuY3NzPWpaZShSUGEsdGhpcy5vcHRpb25zLmluamVjdE5vbmNlKSl9c2V0T3B0aW9ucyhlPXt9KXt0aGlzLm9wdGlvbnM9ey4uLnRoaXMub3B0aW9ucywuLi5lfSwhKCF0aGlzLnZpZXd8fCF0aGlzLnN0YXRlfHx0aGlzLmlzRGVzdHJveWVkKSYmKHRoaXMub3B0aW9ucy5lZGl0b3JQcm9wcyYmdGhpcy52aWV3LnNldFByb3BzKHRoaXMub3B0aW9ucy5lZGl0b3JQcm9wcyksdGhpcy52aWV3LnVwZGF0ZVN0YXRlKHRoaXMuc3RhdGUpKX1zZXRFZGl0YWJsZShlLHQ9ITApe3RoaXMuc2V0T3B0aW9ucyh7ZWRpdGFibGU6ZX0pLHQmJnRoaXMuZW1pdCgidXBkYXRlIix7ZWRpdG9yOnRoaXMsdHJhbnNhY3Rpb246dGhpcy5zdGF0ZS50cn0pfWdldCBpc0VkaXRhYmxlKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5lZGl0YWJsZSYmdGhpcy52aWV3JiZ0aGlzLnZpZXcuZWRpdGFibGV9Z2V0IHN0YXRlKCl7cmV0dXJuIHRoaXMudmlldy5zdGF0ZX1yZWdpc3RlclBsdWdpbihlLHQpe2xldCByPWZyZSh0KT90KGUsWy4uLnRoaXMuc3RhdGUucGx1Z2luc10pOlsuLi50aGlzLnN0YXRlLnBsdWdpbnMsZV0saT10aGlzLnN0YXRlLnJlY29uZmlndXJlKHtwbHVnaW5zOnJ9KTtyZXR1cm4gdGhpcy52aWV3LnVwZGF0ZVN0YXRlKGkpLGl9dW5yZWdpc3RlclBsdWdpbihlKXtpZih0aGlzLmlzRGVzdHJveWVkKXJldHVybjtsZXQgdD10aGlzLnN0YXRlLnBsdWdpbnMscj10O2lmKFtdLmNvbmNhdChlKS5mb3JFYWNoKG89PntsZXQgbj10eXBlb2Ygbz09InN0cmluZyI/YCR7b30kYDpvLmtleTtyPXIuZmlsdGVyKGw9PiFsLmtleS5zdGFydHNXaXRoKG4pKX0pLHQubGVuZ3RoPT09ci5sZW5ndGgpcmV0dXJuO2xldCBpPXRoaXMuc3RhdGUucmVjb25maWd1cmUoe3BsdWdpbnM6cn0pO3JldHVybiB0aGlzLnZpZXcudXBkYXRlU3RhdGUoaSksaX1jcmVhdGVFeHRlbnNpb25NYW5hZ2VyKCl7dmFyIGUsdDtsZXQgaT1bLi4udGhpcy5vcHRpb25zLmVuYWJsZUNvcmVFeHRlbnNpb25zP1tlMWEsV25hLmNvbmZpZ3VyZSh7YmxvY2tTZXBhcmF0b3I6KHQ9KGU9dGhpcy5vcHRpb25zLmNvcmVFeHRlbnNpb25PcHRpb25zKT09PW51bGx8fGU9PT12b2lkIDA/dm9pZCAwOmUuY2xpcGJvYXJkVGV4dFNlcmlhbGl6ZXIpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5ibG9ja1NlcGFyYXRvcn0pLFFuYSxhMWEscjFhLGkxYSxKbmEsczFhXS5maWx0ZXIobz0+dHlwZW9mIHRoaXMub3B0aW9ucy5lbmFibGVDb3JlRXh0ZW5zaW9ucz09Im9iamVjdCI/dGhpcy5vcHRpb25zLmVuYWJsZUNvcmVFeHRlbnNpb25zW28ubmFtZV0hPT0hMTohMCk6W10sLi4udGhpcy5vcHRpb25zLmV4dGVuc2lvbnNdLmZpbHRlcihvPT5bImV4dGVuc2lvbiIsIm5vZGUiLCJtYXJrIl0uaW5jbHVkZXMobz8udHlwZSkpO3RoaXMuZXh0ZW5zaW9uTWFuYWdlcj1uZXcgdXJlKGksdGhpcyl9Y3JlYXRlQ29tbWFuZE1hbmFnZXIoKXt0aGlzLmNvbW1hbmRNYW5hZ2VyPW5ldyBTNCh7ZWRpdG9yOnRoaXN9KX1jcmVhdGVTY2hlbWEoKXt0aGlzLnNjaGVtYT10aGlzLmV4dGVuc2lvbk1hbmFnZXIuc2NoZW1hfWNyZWF0ZVZpZXcoKXt2YXIgZTtsZXQgdDt0cnl7dD1oVyh0aGlzLm9wdGlvbnMuY29udGVudCx0aGlzLnNjaGVtYSx0aGlzLm9wdGlvbnMucGFyc2VPcHRpb25zLHtlcnJvck9uSW52YWxpZENvbnRlbnQ6dGhpcy5vcHRpb25zLmVuYWJsZUNvbnRlbnRDaGVja30pfWNhdGNoKG4pe2lmKCEobiBpbnN0YW5jZW9mIEVycm9yKXx8IVsiW3RpcHRhcCBlcnJvcl06IEludmFsaWQgSlNPTiBjb250ZW50IiwiW3RpcHRhcCBlcnJvcl06IEludmFsaWQgSFRNTCBjb250ZW50Il0uaW5jbHVkZXMobi5tZXNzYWdlKSl0aHJvdyBuO3RoaXMuZW1pdCgiY29udGVudEVycm9yIix7ZWRpdG9yOnRoaXMsZXJyb3I6bixkaXNhYmxlQ29sbGFib3JhdGlvbjpzKCgpPT57dGhpcy5zdG9yYWdlLmNvbGxhYm9yYXRpb24mJih0aGlzLnN0b3JhZ2UuY29sbGFib3JhdGlvbi5pc0Rpc2FibGVkPSEwKSx0aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucz10aGlzLm9wdGlvbnMuZXh0ZW5zaW9ucy5maWx0ZXIobD0+bC5uYW1lIT09ImNvbGxhYm9yYXRpb24iKSx0aGlzLmNyZWF0ZUV4dGVuc2lvbk1hbmFnZXIoKX0sImRpc2FibGVDb2xsYWJvcmF0aW9uIil9KSx0PWhXKHRoaXMub3B0aW9ucy5jb250ZW50LHRoaXMuc2NoZW1hLHRoaXMub3B0aW9ucy5wYXJzZU9wdGlvbnMse2Vycm9yT25JbnZhbGlkQ29udGVudDohMX0pfWxldCByPXhyZSh0LHRoaXMub3B0aW9ucy5hdXRvZm9jdXMpO3RoaXMudmlldz1uZXcgJG0odGhpcy5vcHRpb25zLmVsZW1lbnQsey4uLnRoaXMub3B0aW9ucy5lZGl0b3JQcm9wcyxhdHRyaWJ1dGVzOntyb2xlOiJ0ZXh0Ym94IiwuLi4oZT10aGlzLm9wdGlvbnMuZWRpdG9yUHJvcHMpPT09bnVsbHx8ZT09PXZvaWQgMD92b2lkIDA6ZS5hdHRyaWJ1dGVzfSxkaXNwYXRjaFRyYW5zYWN0aW9uOnRoaXMuZGlzcGF0Y2hUcmFuc2FjdGlvbi5iaW5kKHRoaXMpLHN0YXRlOlhVLmNyZWF0ZSh7ZG9jOnQsc2VsZWN0aW9uOnJ8fHZvaWQgMH0pfSk7bGV0IGk9dGhpcy5zdGF0ZS5yZWNvbmZpZ3VyZSh7cGx1Z2luczp0aGlzLmV4dGVuc2lvbk1hbmFnZXIucGx1Z2luc30pO3RoaXMudmlldy51cGRhdGVTdGF0ZShpKSx0aGlzLmNyZWF0ZU5vZGVWaWV3cygpLHRoaXMucHJlcGVuZENsYXNzKCk7bGV0IG89dGhpcy52aWV3LmRvbTtvLmVkaXRvcj10aGlzfWNyZWF0ZU5vZGVWaWV3cygpe3RoaXMudmlldy5pc0Rlc3Ryb3llZHx8dGhpcy52aWV3LnNldFByb3BzKHtub2RlVmlld3M6dGhpcy5leHRlbnNpb25NYW5hZ2VyLm5vZGVWaWV3c30pfXByZXBlbmRDbGFzcygpe3RoaXMudmlldy5kb20uY2xhc3NOYW1lPWB0aXB0YXAgJHt0aGlzLnZpZXcuZG9tLmNsYXNzTmFtZX1gfWNhcHR1cmVUcmFuc2FjdGlvbihlKXt0aGlzLmlzQ2FwdHVyaW5nVHJhbnNhY3Rpb249ITAsZSgpLHRoaXMuaXNDYXB0dXJpbmdUcmFuc2FjdGlvbj0hMTtsZXQgdD10aGlzLmNhcHR1cmVkVHJhbnNhY3Rpb247cmV0dXJuIHRoaXMuY2FwdHVyZWRUcmFuc2FjdGlvbj1udWxsLHR9ZGlzcGF0Y2hUcmFuc2FjdGlvbihlKXtpZih0aGlzLnZpZXcuaXNEZXN0cm95ZWQpcmV0dXJuO2lmKHRoaXMuaXNDYXB0dXJpbmdUcmFuc2FjdGlvbil7aWYoIXRoaXMuY2FwdHVyZWRUcmFuc2FjdGlvbil7dGhpcy5jYXB0dXJlZFRyYW5zYWN0aW9uPWU7cmV0dXJufWUuc3RlcHMuZm9yRWFjaChuPT57dmFyIGw7cmV0dXJuKGw9dGhpcy5jYXB0dXJlZFRyYW5zYWN0aW9uKT09PW51bGx8fGw9PT12b2lkIDA/dm9pZCAwOmwuc3RlcChuKX0pO3JldHVybn1sZXQgdD10aGlzLnN0YXRlLmFwcGx5KGUpLHI9IXRoaXMuc3RhdGUuc2VsZWN0aW9uLmVxKHQuc2VsZWN0aW9uKTt0aGlzLmVtaXQoImJlZm9yZVRyYW5zYWN0aW9uIix7ZWRpdG9yOnRoaXMsdHJhbnNhY3Rpb246ZSxuZXh0U3RhdGU6dH0pLHRoaXMudmlldy51cGRhdGVTdGF0ZSh0KSx0aGlzLmVtaXQoInRyYW5zYWN0aW9uIix7ZWRpdG9yOnRoaXMsdHJhbnNhY3Rpb246ZX0pLHImJnRoaXMuZW1pdCgic2VsZWN0aW9uVXBkYXRlIix7ZWRpdG9yOnRoaXMsdHJhbnNhY3Rpb246ZX0pO2xldCBpPWUuZ2V0TWV0YSgiZm9jdXMiKSxvPWUuZ2V0TWV0YSgiYmx1ciIpO2kmJnRoaXMuZW1pdCgiZm9jdXMiLHtlZGl0b3I6dGhpcyxldmVudDppLmV2ZW50LHRyYW5zYWN0aW9uOmV9KSxvJiZ0aGlzLmVtaXQoImJsdXIiLHtlZGl0b3I6dGhpcyxldmVudDpvLmV2ZW50LHRyYW5zYWN0aW9uOmV9KSwhKCFlLmRvY0NoYW5nZWR8fGUuZ2V0TWV0YSgicHJldmVudFVwZGF0ZSIpKSYmdGhpcy5lbWl0KCJ1cGRhdGUiLHtlZGl0b3I6dGhpcyx0cmFuc2FjdGlvbjplfSl9Z2V0QXR0cmlidXRlcyhlKXtyZXR1cm4geFcodGhpcy5zdGF0ZSxlKX1pc0FjdGl2ZShlLHQpe2xldCByPXR5cGVvZiBlPT0ic3RyaW5nIj9lOm51bGwsaT10eXBlb2YgZT09InN0cmluZyI/dDplO3JldHVybiBWWmUodGhpcy5zdGF0ZSxyLGkpfWdldEpTT04oKXtyZXR1cm4gdGhpcy5zdGF0ZS5kb2MudG9KU09OKCl9Z2V0SFRNTCgpe3JldHVybiBQbSh0aGlzLnN0YXRlLmRvYy5jb250ZW50LHRoaXMuc2NoZW1hKX1nZXRUZXh0KGUpe2xldHtibG9ja1NlcGFyYXRvcjp0PWAKCmAsdGV4dFNlcmlhbGl6ZXJzOnI9e319PWV8fHt9O3JldHVybiBrcmUodGhpcy5zdGF0ZS5kb2Mse2Jsb2NrU2VwYXJhdG9yOnQsdGV4dFNlcmlhbGl6ZXJzOnsuLi5wVyh0aGlzLnNjaGVtYSksLi4ucn19KX1nZXQgaXNFbXB0eSgpe3JldHVybiBiVyh0aGlzLnN0YXRlLmRvYyl9Z2V0Q2hhcmFjdGVyQ291bnQoKXtyZXR1cm4gY29uc29sZS53YXJuKCdbdGlwdGFwIHdhcm5dOiAiZWRpdG9yLmdldENoYXJhY3RlckNvdW50KCkiIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgImVkaXRvci5zdG9yYWdlLmNoYXJhY3RlckNvdW50LmNoYXJhY3RlcnMoKSIgaW5zdGVhZC4nKSx0aGlzLnN0YXRlLmRvYy5jb250ZW50LnNpemUtMn1kZXN0cm95KCl7aWYodGhpcy5lbWl0KCJkZXN0cm95IiksdGhpcy52aWV3KXtsZXQgZT10aGlzLnZpZXcuZG9tO2UmJmUuZWRpdG9yJiZkZWxldGUgZS5lZGl0b3IsdGhpcy52aWV3LmRlc3Ryb3koKX10aGlzLnJlbW92ZUFsbExpc3RlbmVycygpfWdldCBpc0Rlc3Ryb3llZCgpe3ZhciBlO3JldHVybiEoISgoZT10aGlzLnZpZXcpPT09bnVsbHx8ZT09PXZvaWQgMCkmJmUuZG9jVmlldyl9JG5vZGUoZSx0KXt2YXIgcjtyZXR1cm4oKHI9dGhpcy4kZG9jKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIucXVlcnlTZWxlY3RvcihlLHQpKXx8bnVsbH0kbm9kZXMoZSx0KXt2YXIgcjtyZXR1cm4oKHI9dGhpcy4kZG9jKT09PW51bGx8fHI9PT12b2lkIDA/dm9pZCAwOnIucXVlcnlTZWxlY3RvckFsbChlLHQpKXx8bnVsbH0kcG9zKGUpe2xldCB0PXRoaXMuc3RhdGUuZG9jLnJlc29sdmUoZSk7cmV0dXJuIG5ldyB2Vyh0LHRoaXMpfWdldCAkZG9jKCl7cmV0dXJuIHRoaXMuJHBvcygwKX19O3MoTm4sIm1hcmtJbnB1dFJ1bGUiKTtzKEFyZSwibm9kZUlucHV0UnVsZSIpO3MobjUsInRleHRibG9ja1R5cGVJbnB1dFJ1bGUiKTtzKG1yLCJ0ZXh0SW5wdXRSdWxlIik7cyhRMiwid3JhcHBpbmdJbnB1dFJ1bGUiKTtvcj1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIk5vZGUiKX1jb25zdHJ1Y3RvcihlPXt9KXt0aGlzLnR5cGU9Im5vZGUiLHRoaXMubmFtZT0ibm9kZSIsdGhpcy5wYXJlbnQ9bnVsbCx0aGlzLmNoaWxkPW51bGwsdGhpcy5jb25maWc9e25hbWU6dGhpcy5uYW1lLGRlZmF1bHRPcHRpb25zOnt9fSx0aGlzLmNvbmZpZz17Li4udGhpcy5jb25maWcsLi4uZX0sdGhpcy5uYW1lPXRoaXMuY29uZmlnLm5hbWUsZS5kZWZhdWx0T3B0aW9ucyYmT2JqZWN0LmtleXMoZS5kZWZhdWx0T3B0aW9ucykubGVuZ3RoPjAmJmNvbnNvbGUud2FybihgW3RpcHRhcCB3YXJuXTogQlJFQUtJTkcgQ0hBTkdFOiAiZGVmYXVsdE9wdGlvbnMiIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgImFkZE9wdGlvbnMiIGluc3RlYWQuIEZvdW5kIGluIGV4dGVuc2lvbjogIiR7dGhpcy5uYW1lfSIuYCksdGhpcy5vcHRpb25zPXRoaXMuY29uZmlnLmRlZmF1bHRPcHRpb25zLHRoaXMuY29uZmlnLmFkZE9wdGlvbnMmJih0aGlzLm9wdGlvbnM9VnQodXQodGhpcywiYWRkT3B0aW9ucyIse25hbWU6dGhpcy5uYW1lfSkpKSx0aGlzLnN0b3JhZ2U9VnQodXQodGhpcywiYWRkU3RvcmFnZSIse25hbWU6dGhpcy5uYW1lLG9wdGlvbnM6dGhpcy5vcHRpb25zfSkpfHx7fX1zdGF0aWMgY3JlYXRlKGU9e30pe3JldHVybiBuZXcgYShlKX1jb25maWd1cmUoZT17fSl7bGV0IHQ9dGhpcy5leHRlbmQoey4uLnRoaXMuY29uZmlnLGFkZE9wdGlvbnM6cygoKT0+Tm0odGhpcy5vcHRpb25zLGUpLCJhZGRPcHRpb25zIil9KTtyZXR1cm4gdC5uYW1lPXRoaXMubmFtZSx0LnBhcmVudD10aGlzLnBhcmVudCx0fWV4dGVuZChlPXt9KXtsZXQgdD1uZXcgYShlKTtyZXR1cm4gdC5wYXJlbnQ9dGhpcyx0aGlzLmNoaWxkPXQsdC5uYW1lPWUubmFtZT9lLm5hbWU6dC5wYXJlbnQubmFtZSxlLmRlZmF1bHRPcHRpb25zJiZPYmplY3Qua2V5cyhlLmRlZmF1bHRPcHRpb25zKS5sZW5ndGg+MCYmY29uc29sZS53YXJuKGBbdGlwdGFwIHdhcm5dOiBCUkVBS0lORyBDSEFOR0U6ICJkZWZhdWx0T3B0aW9ucyIgaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSAiYWRkT3B0aW9ucyIgaW5zdGVhZC4gRm91bmQgaW4gZXh0ZW5zaW9uOiAiJHt0Lm5hbWV9Ii5gKSx0Lm9wdGlvbnM9VnQodXQodCwiYWRkT3B0aW9ucyIse25hbWU6dC5uYW1lfSkpLHQuc3RvcmFnZT1WdCh1dCh0LCJhZGRTdG9yYWdlIix7bmFtZTp0Lm5hbWUsb3B0aW9uczp0Lm9wdGlvbnN9KSksdH19LENyZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJOb2RlVmlldyIpfWNvbnN0cnVjdG9yKGUsdCxyKXt0aGlzLmlzRHJhZ2dpbmc9ITEsdGhpcy5jb21wb25lbnQ9ZSx0aGlzLmVkaXRvcj10LmVkaXRvcix0aGlzLm9wdGlvbnM9e3N0b3BFdmVudDpudWxsLGlnbm9yZU11dGF0aW9uOm51bGwsLi4ucn0sdGhpcy5leHRlbnNpb249dC5leHRlbnNpb24sdGhpcy5ub2RlPXQubm9kZSx0aGlzLmRlY29yYXRpb25zPXQuZGVjb3JhdGlvbnMsdGhpcy5pbm5lckRlY29yYXRpb25zPXQuaW5uZXJEZWNvcmF0aW9ucyx0aGlzLnZpZXc9dC52aWV3LHRoaXMuSFRNTEF0dHJpYnV0ZXM9dC5IVE1MQXR0cmlidXRlcyx0aGlzLmdldFBvcz10LmdldFBvcyx0aGlzLm1vdW50KCl9bW91bnQoKXt9Z2V0IGRvbSgpe3JldHVybiB0aGlzLmVkaXRvci52aWV3LmRvbX1nZXQgY29udGVudERPTSgpe3JldHVybiBudWxsfW9uRHJhZ1N0YXJ0KGUpe3ZhciB0LHIsaSxvLG4sbCxkO2xldHt2aWV3OmN9PXRoaXMuZWRpdG9yLHA9ZS50YXJnZXQsdT1wLm5vZGVUeXBlPT09Mz8odD1wLnBhcmVudEVsZW1lbnQpPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC5jbG9zZXN0KCJbZGF0YS1kcmFnLWhhbmRsZV0iKTpwLmNsb3Nlc3QoIltkYXRhLWRyYWctaGFuZGxlXSIpO2lmKCF0aGlzLmRvbXx8ISgocj10aGlzLmNvbnRlbnRET00pPT09bnVsbHx8cj09PXZvaWQgMCkmJnIuY29udGFpbnMocCl8fCF1KXJldHVybjtsZXQgbT0wLHY9MDtpZih0aGlzLmRvbSE9PXUpe2xldCBrPXRoaXMuZG9tLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEM9dS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxOPShpPWUub2Zmc2V0WCkhPT1udWxsJiZpIT09dm9pZCAwP2k6KG89ZS5uYXRpdmVFdmVudCk9PT1udWxsfHxvPT09dm9pZCAwP3ZvaWQgMDpvLm9mZnNldFgsXz0obj1lLm9mZnNldFkpIT09bnVsbCYmbiE9PXZvaWQgMD9uOihsPWUubmF0aXZlRXZlbnQpPT09bnVsbHx8bD09PXZvaWQgMD92b2lkIDA6bC5vZmZzZXRZO209Qy54LWsueCtOLHY9Qy55LWsueStffWxldCB4PXRoaXMuZG9tLmNsb25lTm9kZSghMCk7KGQ9ZS5kYXRhVHJhbnNmZXIpPT09bnVsbHx8ZD09PXZvaWQgMHx8ZC5zZXREcmFnSW1hZ2UoeCxtLHYpO2xldCBiPXRoaXMuZ2V0UG9zKCk7aWYodHlwZW9mIGIhPSJudW1iZXIiKXJldHVybjtsZXQgZz1NdC5jcmVhdGUoYy5zdGF0ZS5kb2MsYikseT1jLnN0YXRlLnRyLnNldFNlbGVjdGlvbihnKTtjLmRpc3BhdGNoKHkpfXN0b3BFdmVudChlKXt2YXIgdDtpZighdGhpcy5kb20pcmV0dXJuITE7aWYodHlwZW9mIHRoaXMub3B0aW9ucy5zdG9wRXZlbnQ9PSJmdW5jdGlvbiIpcmV0dXJuIHRoaXMub3B0aW9ucy5zdG9wRXZlbnQoe2V2ZW50OmV9KTtsZXQgcj1lLnRhcmdldDtpZighKHRoaXMuZG9tLmNvbnRhaW5zKHIpJiYhKCEoKHQ9dGhpcy5jb250ZW50RE9NKT09PW51bGx8fHQ9PT12b2lkIDApJiZ0LmNvbnRhaW5zKHIpKSkpcmV0dXJuITE7bGV0IG89ZS50eXBlLnN0YXJ0c1dpdGgoImRyYWciKSxuPWUudHlwZT09PSJkcm9wIjtpZigoWyJJTlBVVCIsIkJVVFRPTiIsIlNFTEVDVCIsIlRFWFRBUkVBIl0uaW5jbHVkZXMoci50YWdOYW1lKXx8ci5pc0NvbnRlbnRFZGl0YWJsZSkmJiFuJiYhbylyZXR1cm4hMDtsZXR7aXNFZGl0YWJsZTpkfT10aGlzLmVkaXRvcix7aXNEcmFnZ2luZzpjfT10aGlzLHA9ISF0aGlzLm5vZGUudHlwZS5zcGVjLmRyYWdnYWJsZSx1PU10LmlzU2VsZWN0YWJsZSh0aGlzLm5vZGUpLG09ZS50eXBlPT09ImNvcHkiLHY9ZS50eXBlPT09InBhc3RlIix4PWUudHlwZT09PSJjdXQiLGI9ZS50eXBlPT09Im1vdXNlZG93biI7aWYoIXAmJnUmJm8mJmUudGFyZ2V0PT09dGhpcy5kb20mJmUucHJldmVudERlZmF1bHQoKSxwJiZvJiYhYyYmZS50YXJnZXQ9PT10aGlzLmRvbSlyZXR1cm4gZS5wcmV2ZW50RGVmYXVsdCgpLCExO2lmKHAmJmQmJiFjJiZiKXtsZXQgZz1yLmNsb3Nlc3QoIltkYXRhLWRyYWctaGFuZGxlXSIpO2cmJih0aGlzLmRvbT09PWd8fHRoaXMuZG9tLmNvbnRhaW5zKGcpKSYmKHRoaXMuaXNEcmFnZ2luZz0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJkcmFnZW5kIiwoKT0+e3RoaXMuaXNEcmFnZ2luZz0hMX0se29uY2U6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJkcm9wIiwoKT0+e3RoaXMuaXNEcmFnZ2luZz0hMX0se29uY2U6ITB9KSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIiwoKT0+e3RoaXMuaXNEcmFnZ2luZz0hMX0se29uY2U6ITB9KSl9cmV0dXJuIShjfHxufHxtfHx2fHx4fHxiJiZ1KX1pZ25vcmVNdXRhdGlvbihlKXtyZXR1cm4hdGhpcy5kb218fCF0aGlzLmNvbnRlbnRET00/ITA6dHlwZW9mIHRoaXMub3B0aW9ucy5pZ25vcmVNdXRhdGlvbj09ImZ1bmN0aW9uIj90aGlzLm9wdGlvbnMuaWdub3JlTXV0YXRpb24oe211dGF0aW9uOmV9KTp0aGlzLm5vZGUuaXNMZWFmfHx0aGlzLm5vZGUuaXNBdG9tPyEwOmUudHlwZT09PSJzZWxlY3Rpb24ifHx0aGlzLmRvbS5jb250YWlucyhlLnRhcmdldCkmJmUudHlwZT09PSJjaGlsZExpc3QiJiYocjUoKXx8Q1plKCkpJiZ0aGlzLmVkaXRvci5pc0ZvY3VzZWQmJlsuLi5BcnJheS5mcm9tKGUuYWRkZWROb2RlcyksLi4uQXJyYXkuZnJvbShlLnJlbW92ZWROb2RlcyldLmV2ZXJ5KHI9PnIuaXNDb250ZW50RWRpdGFibGUpPyExOnRoaXMuY29udGVudERPTT09PWUudGFyZ2V0JiZlLnR5cGU9PT0iYXR0cmlidXRlcyI/ITA6IXRoaXMuY29udGVudERPTS5jb250YWlucyhlLnRhcmdldCl9dXBkYXRlQXR0cmlidXRlcyhlKXt0aGlzLmVkaXRvci5jb21tYW5kcy5jb21tYW5kKCh7dHI6dH0pPT57bGV0IHI9dGhpcy5nZXRQb3MoKTtyZXR1cm4gdHlwZW9mIHIhPSJudW1iZXIiPyExOih0LnNldE5vZGVNYXJrdXAocix2b2lkIDAsey4uLnRoaXMubm9kZS5hdHRycywuLi5lfSksITApfSl9ZGVsZXRlTm9kZSgpe2xldCBlPXRoaXMuZ2V0UG9zKCk7aWYodHlwZW9mIGUhPSJudW1iZXIiKXJldHVybjtsZXQgdD1lK3RoaXMubm9kZS5ub2RlU2l6ZTt0aGlzLmVkaXRvci5jb21tYW5kcy5kZWxldGVSYW5nZSh7ZnJvbTplLHRvOnR9KX19O3MoRW8sIm1hcmtQYXN0ZVJ1bGUiKTtzKEVyZSwiY2FuSW5zZXJ0Tm9kZSIpO3MoZzFhLCJlc2NhcGVGb3JSZWdFeCIpO3MoYjFhLCJpc1N0cmluZyIpO3ModjFhLCJub2RlUGFzdGVSdWxlIik7cyh4MWEsInRleHRQYXN0ZVJ1bGUiKTtfcmU9Y2xhc3N7c3RhdGlje3ModGhpcywiVHJhY2tlciIpfWNvbnN0cnVjdG9yKGUpe3RoaXMudHJhbnNhY3Rpb249ZSx0aGlzLmN1cnJlbnRTdGVwPXRoaXMudHJhbnNhY3Rpb24uc3RlcHMubGVuZ3RofW1hcChlKXtsZXQgdD0hMTtyZXR1cm57cG9zaXRpb246dGhpcy50cmFuc2FjdGlvbi5zdGVwcy5zbGljZSh0aGlzLmN1cnJlbnRTdGVwKS5yZWR1Y2UoKGksbyk9PntsZXQgbj1vLmdldE1hcCgpLm1hcFJlc3VsdChpKTtyZXR1cm4gbi5kZWxldGVkJiYodD0hMCksbi5wb3N9LGUpLGRlbGV0ZWQ6dH19fX0pO3ZhciB3MWEsUHJlLE0xYT1mKCgpPT57Z3IoKTt3MWE9L15ccyo+XHMkLyxQcmU9b3IuY3JlYXRlKHtuYW1lOiJibG9ja3F1b3RlIixhZGRPcHRpb25zKCl7cmV0dXJue0hUTUxBdHRyaWJ1dGVzOnt9fX0sY29udGVudDoiYmxvY2srIixncm91cDoiYmxvY2siLGRlZmluaW5nOiEwLHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJibG9ja3F1b3RlIn1dfSxyZW5kZXJIVE1MKHtIVE1MQXR0cmlidXRlczphfSl7cmV0dXJuWyJibG9ja3F1b3RlIixTYSh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsYSksMF19LGFkZENvbW1hbmRzKCl7cmV0dXJue3NldEJsb2NrcXVvdGU6cygoKT0+KHtjb21tYW5kczphfSk9PmEud3JhcEluKHRoaXMubmFtZSksInNldEJsb2NrcXVvdGUiKSx0b2dnbGVCbG9ja3F1b3RlOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnRvZ2dsZVdyYXAodGhpcy5uYW1lKSwidG9nZ2xlQmxvY2txdW90ZSIpLHVuc2V0QmxvY2txdW90ZTpzKCgpPT4oe2NvbW1hbmRzOmF9KT0+YS5saWZ0KHRoaXMubmFtZSksInVuc2V0QmxvY2txdW90ZSIpfX0sYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKXtyZXR1cm57Ik1vZC1TaGlmdC1iIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVCbG9ja3F1b3RlKCksIk1vZC1TaGlmdC1iIil9fSxhZGRJbnB1dFJ1bGVzKCl7cmV0dXJuW1EyKHtmaW5kOncxYSx0eXBlOnRoaXMudHlwZX0pXX19KX0pO3ZhciBrMWEsUzFhLHoxYSxDMWEsSXJlLF8xYT1mKCgpPT57Z3IoKTtrMWE9Lyg/Ol58XHMpKFwqXCooPyFccytcKlwqKSgoPzpbXipdKykpXCpcKig/IVxzK1wqXCopKSQvLFMxYT0vKD86XnxccykoXCpcKig/IVxzK1wqXCopKCg/OlteKl0rKSlcKlwqKD8hXHMrXCpcKikpL2csejFhPS8oPzpefFxzKShfXyg/IVxzK19fKSgoPzpbXl9dKykpX18oPyFccytfXykpJC8sQzFhPS8oPzpefFxzKShfXyg/IVxzK19fKSgoPzpbXl9dKykpX18oPyFccytfXykpL2csSXJlPXNpLmNyZWF0ZSh7bmFtZToiYm9sZCIsYWRkT3B0aW9ucygpe3JldHVybntIVE1MQXR0cmlidXRlczp7fX19LHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJzdHJvbmcifSx7dGFnOiJiIixnZXRBdHRyczpzKGE9PmEuc3R5bGUuZm9udFdlaWdodCE9PSJub3JtYWwiJiZudWxsLCJnZXRBdHRycyIpfSx7c3R5bGU6ImZvbnQtd2VpZ2h0PTQwMCIsY2xlYXJNYXJrOnMoYT0+YS50eXBlLm5hbWU9PT10aGlzLm5hbWUsImNsZWFyTWFyayIpfSx7c3R5bGU6ImZvbnQtd2VpZ2h0IixnZXRBdHRyczpzKGE9Pi9eKGJvbGQoZXIpP3xbNS05XVxkezIsfSkkLy50ZXN0KGEpJiZudWxsLCJnZXRBdHRycyIpfV19LHJlbmRlckhUTUwoe0hUTUxBdHRyaWJ1dGVzOmF9KXtyZXR1cm5bInN0cm9uZyIsU2EodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLGEpLDBdfSxhZGRDb21tYW5kcygpe3JldHVybntzZXRCb2xkOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnNldE1hcmsodGhpcy5uYW1lKSwic2V0Qm9sZCIpLHRvZ2dsZUJvbGQ6cygoKT0+KHtjb21tYW5kczphfSk9PmEudG9nZ2xlTWFyayh0aGlzLm5hbWUpLCJ0b2dnbGVCb2xkIiksdW5zZXRCb2xkOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnVuc2V0TWFyayh0aGlzLm5hbWUpLCJ1bnNldEJvbGQiKX19LGFkZEtleWJvYXJkU2hvcnRjdXRzKCl7cmV0dXJueyJNb2QtYiI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlQm9sZCgpLCJNb2QtYiIpLCJNb2QtQiI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlQm9sZCgpLCJNb2QtQiIpfX0sYWRkSW5wdXRSdWxlcygpe3JldHVybltObih7ZmluZDprMWEsdHlwZTp0aGlzLnR5cGV9KSxObih7ZmluZDp6MWEsdHlwZTp0aGlzLnR5cGV9KV19LGFkZFBhc3RlUnVsZXMoKXtyZXR1cm5bRW8oe2ZpbmQ6UzFhLHR5cGU6dGhpcy50eXBlfSksRW8oe2ZpbmQ6QzFhLHR5cGU6dGhpcy50eXBlfSldfX0pfSk7dmFyIE9QYSxUMWEsVVplLE5yZSxMMWE9ZigoKT0+e2dyKCk7T1BhPSJsaXN0SXRlbSIsVDFhPSJ0ZXh0U3R5bGUiLFVaZT0vXlxzKihbLSsqXSlccyQvLE5yZT1vci5jcmVhdGUoe25hbWU6ImJ1bGxldExpc3QiLGFkZE9wdGlvbnMoKXtyZXR1cm57aXRlbVR5cGVOYW1lOiJsaXN0SXRlbSIsSFRNTEF0dHJpYnV0ZXM6e30sa2VlcE1hcmtzOiExLGtlZXBBdHRyaWJ1dGVzOiExfX0sZ3JvdXA6ImJsb2NrIGxpc3QiLGNvbnRlbnQoKXtyZXR1cm5gJHt0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lfStgfSxwYXJzZUhUTUwoKXtyZXR1cm5be3RhZzoidWwifV19LHJlbmRlckhUTUwoe0hUTUxBdHRyaWJ1dGVzOmF9KXtyZXR1cm5bInVsIixTYSh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsYSksMF19LGFkZENvbW1hbmRzKCl7cmV0dXJue3RvZ2dsZUJ1bGxldExpc3Q6cygoKT0+KHtjb21tYW5kczphLGNoYWluOmV9KT0+dGhpcy5vcHRpb25zLmtlZXBBdHRyaWJ1dGVzP2UoKS50b2dnbGVMaXN0KHRoaXMubmFtZSx0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lLHRoaXMub3B0aW9ucy5rZWVwTWFya3MpLnVwZGF0ZUF0dHJpYnV0ZXMoT1BhLHRoaXMuZWRpdG9yLmdldEF0dHJpYnV0ZXMoVDFhKSkucnVuKCk6YS50b2dnbGVMaXN0KHRoaXMubmFtZSx0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lLHRoaXMub3B0aW9ucy5rZWVwTWFya3MpLCJ0b2dnbGVCdWxsZXRMaXN0Iil9fSxhZGRLZXlib2FyZFNob3J0Y3V0cygpe3JldHVybnsiTW9kLVNoaWZ0LTgiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZUJ1bGxldExpc3QoKSwiTW9kLVNoaWZ0LTgiKX19LGFkZElucHV0UnVsZXMoKXtsZXQgYT1RMih7ZmluZDpVWmUsdHlwZTp0aGlzLnR5cGV9KTtyZXR1cm4odGhpcy5vcHRpb25zLmtlZXBNYXJrc3x8dGhpcy5vcHRpb25zLmtlZXBBdHRyaWJ1dGVzKSYmKGE9UTIoe2ZpbmQ6VVplLHR5cGU6dGhpcy50eXBlLGtlZXBNYXJrczp0aGlzLm9wdGlvbnMua2VlcE1hcmtzLGtlZXBBdHRyaWJ1dGVzOnRoaXMub3B0aW9ucy5rZWVwQXR0cmlidXRlcyxnZXRBdHRyaWJ1dGVzOnMoKCk9PnRoaXMuZWRpdG9yLmdldEF0dHJpYnV0ZXMoVDFhKSwiZ2V0QXR0cmlidXRlcyIpLGVkaXRvcjp0aGlzLmVkaXRvcn0pKSxbYV19fSl9KTt2YXIgJDFhLEQxYSxScmUsQTFhPWYoKCk9PntncigpOyQxYT0vKF58W15gXSlgKFteYF0rKWAoPyFgKS8sRDFhPS8oXnxbXmBdKWAoW15gXSspYCg/IWApL2csUnJlPXNpLmNyZWF0ZSh7bmFtZToiY29kZSIsYWRkT3B0aW9ucygpe3JldHVybntIVE1MQXR0cmlidXRlczp7fX19LGV4Y2x1ZGVzOiJfIixjb2RlOiEwLGV4aXRhYmxlOiEwLHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJjb2RlIn1dfSxyZW5kZXJIVE1MKHtIVE1MQXR0cmlidXRlczphfSl7cmV0dXJuWyJjb2RlIixTYSh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsYSksMF19LGFkZENvbW1hbmRzKCl7cmV0dXJue3NldENvZGU6cygoKT0+KHtjb21tYW5kczphfSk9PmEuc2V0TWFyayh0aGlzLm5hbWUpLCJzZXRDb2RlIiksdG9nZ2xlQ29kZTpzKCgpPT4oe2NvbW1hbmRzOmF9KT0+YS50b2dnbGVNYXJrKHRoaXMubmFtZSksInRvZ2dsZUNvZGUiKSx1bnNldENvZGU6cygoKT0+KHtjb21tYW5kczphfSk9PmEudW5zZXRNYXJrKHRoaXMubmFtZSksInVuc2V0Q29kZSIpfX0sYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKXtyZXR1cm57Ik1vZC1lIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVDb2RlKCksIk1vZC1lIil9fSxhZGRJbnB1dFJ1bGVzKCl7cmV0dXJuW05uKHtmaW5kOiQxYSx0eXBlOnRoaXMudHlwZX0pXX0sYWRkUGFzdGVSdWxlcygpe3JldHVybltFbyh7ZmluZDpEMWEsdHlwZTp0aGlzLnR5cGV9KV19fSl9KTt2YXIgRTFhLFAxYSxPcmUsSTFhPWYoKCk9PntncigpO1FVKCk7RTFhPS9eYGBgKFthLXpdKyk/W1xzXG5dJC8sUDFhPS9efn5+KFthLXpdKyk/W1xzXG5dJC8sT3JlPW9yLmNyZWF0ZSh7bmFtZToiY29kZUJsb2NrIixhZGRPcHRpb25zKCl7cmV0dXJue2xhbmd1YWdlQ2xhc3NQcmVmaXg6Imxhbmd1YWdlLSIsZXhpdE9uVHJpcGxlRW50ZXI6ITAsZXhpdE9uQXJyb3dEb3duOiEwLGRlZmF1bHRMYW5ndWFnZTpudWxsLEhUTUxBdHRyaWJ1dGVzOnt9fX0sY29udGVudDoidGV4dCoiLG1hcmtzOiIiLGdyb3VwOiJibG9jayIsY29kZTohMCxkZWZpbmluZzohMCxhZGRBdHRyaWJ1dGVzKCl7cmV0dXJue2xhbmd1YWdlOntkZWZhdWx0OnRoaXMub3B0aW9ucy5kZWZhdWx0TGFuZ3VhZ2UscGFyc2VIVE1MOnMoYT0+e3ZhciBlO2xldHtsYW5ndWFnZUNsYXNzUHJlZml4OnR9PXRoaXMub3B0aW9ucyxvPVsuLi4oKGU9YS5maXJzdEVsZW1lbnRDaGlsZCk9PT1udWxsfHxlPT09dm9pZCAwP3ZvaWQgMDplLmNsYXNzTGlzdCl8fFtdXS5maWx0ZXIobj0+bi5zdGFydHNXaXRoKHQpKS5tYXAobj0+bi5yZXBsYWNlKHQsIiIpKVswXTtyZXR1cm4gb3x8bnVsbH0sInBhcnNlSFRNTCIpLHJlbmRlcmVkOiExfX19LHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJwcmUiLHByZXNlcnZlV2hpdGVzcGFjZToiZnVsbCJ9XX0scmVuZGVySFRNTCh7bm9kZTphLEhUTUxBdHRyaWJ1dGVzOmV9KXtyZXR1cm5bInByZSIsU2EodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLGUpLFsiY29kZSIse2NsYXNzOmEuYXR0cnMubGFuZ3VhZ2U/dGhpcy5vcHRpb25zLmxhbmd1YWdlQ2xhc3NQcmVmaXgrYS5hdHRycy5sYW5ndWFnZTpudWxsfSwwXV19LGFkZENvbW1hbmRzKCl7cmV0dXJue3NldENvZGVCbG9jazpzKGE9Pih7Y29tbWFuZHM6ZX0pPT5lLnNldE5vZGUodGhpcy5uYW1lLGEpLCJzZXRDb2RlQmxvY2siKSx0b2dnbGVDb2RlQmxvY2s6cyhhPT4oe2NvbW1hbmRzOmV9KT0+ZS50b2dnbGVOb2RlKHRoaXMubmFtZSwicGFyYWdyYXBoIixhKSwidG9nZ2xlQ29kZUJsb2NrIil9fSxhZGRLZXlib2FyZFNob3J0Y3V0cygpe3JldHVybnsiTW9kLUFsdC1jIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVDb2RlQmxvY2soKSwiTW9kLUFsdC1jIiksQmFja3NwYWNlOnMoKCk9PntsZXR7ZW1wdHk6YSwkYW5jaG9yOmV9PXRoaXMuZWRpdG9yLnN0YXRlLnNlbGVjdGlvbix0PWUucG9zPT09MTtyZXR1cm4hYXx8ZS5wYXJlbnQudHlwZS5uYW1lIT09dGhpcy5uYW1lPyExOnR8fCFlLnBhcmVudC50ZXh0Q29udGVudC5sZW5ndGg/dGhpcy5lZGl0b3IuY29tbWFuZHMuY2xlYXJOb2RlcygpOiExfSwiQmFja3NwYWNlIiksRW50ZXI6cygoe2VkaXRvcjphfSk9PntpZighdGhpcy5vcHRpb25zLmV4aXRPblRyaXBsZUVudGVyKXJldHVybiExO2xldHtzdGF0ZTplfT1hLHtzZWxlY3Rpb246dH09ZSx7JGZyb206cixlbXB0eTppfT10O2lmKCFpfHxyLnBhcmVudC50eXBlIT09dGhpcy50eXBlKXJldHVybiExO2xldCBvPXIucGFyZW50T2Zmc2V0PT09ci5wYXJlbnQubm9kZVNpemUtMixuPXIucGFyZW50LnRleHRDb250ZW50LmVuZHNXaXRoKGAKCmApO3JldHVybiFvfHwhbj8hMTphLmNoYWluKCkuY29tbWFuZCgoe3RyOmx9KT0+KGwuZGVsZXRlKHIucG9zLTIsci5wb3MpLCEwKSkuZXhpdENvZGUoKS5ydW4oKX0sIkVudGVyIiksQXJyb3dEb3duOnMoKHtlZGl0b3I6YX0pPT57aWYoIXRoaXMub3B0aW9ucy5leGl0T25BcnJvd0Rvd24pcmV0dXJuITE7bGV0e3N0YXRlOmV9PWEse3NlbGVjdGlvbjp0LGRvYzpyfT1lLHskZnJvbTppLGVtcHR5Om99PXQ7aWYoIW98fGkucGFyZW50LnR5cGUhPT10aGlzLnR5cGV8fCEoaS5wYXJlbnRPZmZzZXQ9PT1pLnBhcmVudC5ub2RlU2l6ZS0yKSlyZXR1cm4hMTtsZXQgbD1pLmFmdGVyKCk7cmV0dXJuIGw9PT12b2lkIDA/ITE6ci5ub2RlQXQobCk/YS5jb21tYW5kcy5jb21tYW5kKCh7dHI6Y30pPT4oYy5zZXRTZWxlY3Rpb24oSXQubmVhcihyLnJlc29sdmUobCkpKSwhMCkpOmEuY29tbWFuZHMuZXhpdENvZGUoKX0sIkFycm93RG93biIpfX0sYWRkSW5wdXRSdWxlcygpe3JldHVybltuNSh7ZmluZDpFMWEsdHlwZTp0aGlzLnR5cGUsZ2V0QXR0cmlidXRlczpzKGE9Pih7bGFuZ3VhZ2U6YVsxXX0pLCJnZXRBdHRyaWJ1dGVzIil9KSxuNSh7ZmluZDpQMWEsdHlwZTp0aGlzLnR5cGUsZ2V0QXR0cmlidXRlczpzKGE9Pih7bGFuZ3VhZ2U6YVsxXX0pLCJnZXRBdHRyaWJ1dGVzIil9KV19LGFkZFByb3NlTWlycm9yUGx1Z2lucygpe3JldHVybltuZXcgYXIoe2tleTpuZXcgZnMoImNvZGVCbG9ja1ZTQ29kZUhhbmRsZXIiKSxwcm9wczp7aGFuZGxlUGFzdGU6cygoYSxlKT0+e2lmKCFlLmNsaXBib2FyZERhdGF8fHRoaXMuZWRpdG9yLmlzQWN0aXZlKHRoaXMudHlwZS5uYW1lKSlyZXR1cm4hMTtsZXQgdD1lLmNsaXBib2FyZERhdGEuZ2V0RGF0YSgidGV4dC9wbGFpbiIpLHI9ZS5jbGlwYm9hcmREYXRhLmdldERhdGEoInZzY29kZS1lZGl0b3ItZGF0YSIpLGk9cj9KU09OLnBhcnNlKHIpOnZvaWQgMCxvPWk/Lm1vZGU7aWYoIXR8fCFvKXJldHVybiExO2xldHt0cjpuLHNjaGVtYTpsfT1hLnN0YXRlLGQ9bC50ZXh0KHQucmVwbGFjZSgvXHJcbj8vZyxgCmApKTtyZXR1cm4gbi5yZXBsYWNlU2VsZWN0aW9uV2l0aCh0aGlzLnR5cGUuY3JlYXRlKHtsYW5ndWFnZTpvfSxkKSksbi5zZWxlY3Rpb24uJGZyb20ucGFyZW50LnR5cGUhPT10aGlzLnR5cGUmJm4uc2V0U2VsZWN0aW9uKFJ0Lm5lYXIobi5kb2MucmVzb2x2ZShNYXRoLm1heCgwLG4uc2VsZWN0aW9uLmZyb20tMikpKSksbi5zZXRNZXRhKCJwYXN0ZSIsITApLGEuZGlzcGF0Y2gobiksITB9LCJoYW5kbGVQYXN0ZSIpfX0pXX19KX0pO3ZhciBGcmUsTjFhPWYoKCk9PntncigpO0ZyZT1vci5jcmVhdGUoe25hbWU6ImRvYyIsdG9wTm9kZTohMCxjb250ZW50OiJibG9jaysifSl9KTtmdW5jdGlvbiBHWmUoYT17fSl7cmV0dXJuIG5ldyBhcih7dmlldyhlKXtyZXR1cm4gbmV3IFdaZShlLGEpfX0pfXZhciBXWmUsUjFhPWYoKCk9Pnt2YygpO2I0KCk7cyhHWmUsImRyb3BDdXJzb3IiKTtXWmU9Y2xhc3N7c3RhdGlje3ModGhpcywiRHJvcEN1cnNvclZpZXciKX1jb25zdHJ1Y3RvcihlLHQpe3ZhciByO3RoaXMuZWRpdG9yVmlldz1lLHRoaXMuY3Vyc29yUG9zPW51bGwsdGhpcy5lbGVtZW50PW51bGwsdGhpcy50aW1lb3V0PS0xLHRoaXMud2lkdGg9KHI9dC53aWR0aCkhPT1udWxsJiZyIT09dm9pZCAwP3I6MSx0aGlzLmNvbG9yPXQuY29sb3I9PT0hMT92b2lkIDA6dC5jb2xvcnx8ImJsYWNrIix0aGlzLmNsYXNzPXQuY2xhc3MsdGhpcy5oYW5kbGVycz1bImRyYWdvdmVyIiwiZHJhZ2VuZCIsImRyb3AiLCJkcmFnbGVhdmUiXS5tYXAoaT0+e2xldCBvPXMobj0+e3RoaXNbaV0obil9LCJoYW5kbGVyIik7cmV0dXJuIGUuZG9tLmFkZEV2ZW50TGlzdGVuZXIoaSxvKSx7bmFtZTppLGhhbmRsZXI6b319KX1kZXN0cm95KCl7dGhpcy5oYW5kbGVycy5mb3JFYWNoKCh7bmFtZTplLGhhbmRsZXI6dH0pPT50aGlzLmVkaXRvclZpZXcuZG9tLnJlbW92ZUV2ZW50TGlzdGVuZXIoZSx0KSl9dXBkYXRlKGUsdCl7dGhpcy5jdXJzb3JQb3MhPW51bGwmJnQuZG9jIT1lLnN0YXRlLmRvYyYmKHRoaXMuY3Vyc29yUG9zPmUuc3RhdGUuZG9jLmNvbnRlbnQuc2l6ZT90aGlzLnNldEN1cnNvcihudWxsKTp0aGlzLnVwZGF0ZU92ZXJsYXkoKSl9c2V0Q3Vyc29yKGUpe2UhPXRoaXMuY3Vyc29yUG9zJiYodGhpcy5jdXJzb3JQb3M9ZSxlPT1udWxsPyh0aGlzLmVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnQpLHRoaXMuZWxlbWVudD1udWxsKTp0aGlzLnVwZGF0ZU92ZXJsYXkoKSl9dXBkYXRlT3ZlcmxheSgpe2xldCBlPXRoaXMuZWRpdG9yVmlldy5zdGF0ZS5kb2MucmVzb2x2ZSh0aGlzLmN1cnNvclBvcyksdD0hZS5wYXJlbnQuaW5saW5lQ29udGVudCxyLGk9dGhpcy5lZGl0b3JWaWV3LmRvbSxvPWkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbj1vLndpZHRoL2kub2Zmc2V0V2lkdGgsbD1vLmhlaWdodC9pLm9mZnNldEhlaWdodDtpZih0KXtsZXQgdT1lLm5vZGVCZWZvcmUsbT1lLm5vZGVBZnRlcjtpZih1fHxtKXtsZXQgdj10aGlzLmVkaXRvclZpZXcubm9kZURPTSh0aGlzLmN1cnNvclBvcy0odT91Lm5vZGVTaXplOjApKTtpZih2KXtsZXQgeD12LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGI9dT94LmJvdHRvbTp4LnRvcDt1JiZtJiYoYj0oYit0aGlzLmVkaXRvclZpZXcubm9kZURPTSh0aGlzLmN1cnNvclBvcykuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wKS8yKTtsZXQgZz10aGlzLndpZHRoLzIqbDtyPXtsZWZ0OngubGVmdCxyaWdodDp4LnJpZ2h0LHRvcDpiLWcsYm90dG9tOmIrZ319fX1pZighcil7bGV0IHU9dGhpcy5lZGl0b3JWaWV3LmNvb3Jkc0F0UG9zKHRoaXMuY3Vyc29yUG9zKSxtPXRoaXMud2lkdGgvMipuO3I9e2xlZnQ6dS5sZWZ0LW0scmlnaHQ6dS5sZWZ0K20sdG9wOnUudG9wLGJvdHRvbTp1LmJvdHRvbX19bGV0IGQ9dGhpcy5lZGl0b3JWaWV3LmRvbS5vZmZzZXRQYXJlbnQ7dGhpcy5lbGVtZW50fHwodGhpcy5lbGVtZW50PWQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikpLHRoaXMuY2xhc3MmJih0aGlzLmVsZW1lbnQuY2xhc3NOYW1lPXRoaXMuY2xhc3MpLHRoaXMuZWxlbWVudC5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjogYWJzb2x1dGU7IHotaW5kZXg6IDUwOyBwb2ludGVyLWV2ZW50czogbm9uZTsiLHRoaXMuY29sb3ImJih0aGlzLmVsZW1lbnQuc3R5bGUuYmFja2dyb3VuZENvbG9yPXRoaXMuY29sb3IpKSx0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnRvZ2dsZSgicHJvc2VtaXJyb3ItZHJvcGN1cnNvci1ibG9jayIsdCksdGhpcy5lbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoInByb3NlbWlycm9yLWRyb3BjdXJzb3ItaW5saW5lIiwhdCk7bGV0IGMscDtpZighZHx8ZD09ZG9jdW1lbnQuYm9keSYmZ2V0Q29tcHV0ZWRTdHlsZShkKS5wb3NpdGlvbj09InN0YXRpYyIpYz0tcGFnZVhPZmZzZXQscD0tcGFnZVlPZmZzZXQ7ZWxzZXtsZXQgdT1kLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG09dS53aWR0aC9kLm9mZnNldFdpZHRoLHY9dS5oZWlnaHQvZC5vZmZzZXRIZWlnaHQ7Yz11LmxlZnQtZC5zY3JvbGxMZWZ0Km0scD11LnRvcC1kLnNjcm9sbFRvcCp2fXRoaXMuZWxlbWVudC5zdHlsZS5sZWZ0PShyLmxlZnQtYykvbisicHgiLHRoaXMuZWxlbWVudC5zdHlsZS50b3A9KHIudG9wLXApL2wrInB4Iix0aGlzLmVsZW1lbnQuc3R5bGUud2lkdGg9KHIucmlnaHQtci5sZWZ0KS9uKyJweCIsdGhpcy5lbGVtZW50LnN0eWxlLmhlaWdodD0oci5ib3R0b20tci50b3ApL2wrInB4In1zY2hlZHVsZVJlbW92YWwoZSl7Y2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCksdGhpcy50aW1lb3V0PXNldFRpbWVvdXQoKCk9PnRoaXMuc2V0Q3Vyc29yKG51bGwpLGUpfWRyYWdvdmVyKGUpe2lmKCF0aGlzLmVkaXRvclZpZXcuZWRpdGFibGUpcmV0dXJuO2xldCB0PXRoaXMuZWRpdG9yVmlldy5wb3NBdENvb3Jkcyh7bGVmdDplLmNsaWVudFgsdG9wOmUuY2xpZW50WX0pLHI9dCYmdC5pbnNpZGU+PTAmJnRoaXMuZWRpdG9yVmlldy5zdGF0ZS5kb2Mubm9kZUF0KHQuaW5zaWRlKSxpPXImJnIudHlwZS5zcGVjLmRpc2FibGVEcm9wQ3Vyc29yLG89dHlwZW9mIGk9PSJmdW5jdGlvbiI/aSh0aGlzLmVkaXRvclZpZXcsdCxlKTppO2lmKHQmJiFvKXtsZXQgbj10LnBvcztpZih0aGlzLmVkaXRvclZpZXcuZHJhZ2dpbmcmJnRoaXMuZWRpdG9yVmlldy5kcmFnZ2luZy5zbGljZSl7bGV0IGw9S1UodGhpcy5lZGl0b3JWaWV3LnN0YXRlLmRvYyxuLHRoaXMuZWRpdG9yVmlldy5kcmFnZ2luZy5zbGljZSk7bCE9bnVsbCYmKG49bCl9dGhpcy5zZXRDdXJzb3IobiksdGhpcy5zY2hlZHVsZVJlbW92YWwoNWUzKX19ZHJhZ2VuZCgpe3RoaXMuc2NoZWR1bGVSZW1vdmFsKDIwKX1kcm9wKCl7dGhpcy5zY2hlZHVsZVJlbW92YWwoMjApfWRyYWdsZWF2ZShlKXt0aGlzLmVkaXRvclZpZXcuZG9tLmNvbnRhaW5zKGUucmVsYXRlZFRhcmdldCl8fHRoaXMuc2V0Q3Vyc29yKG51bGwpfX19KTt2YXIgTzFhPWYoKCk9PntSMWEoKX0pO3ZhciBCcmUsRjFhPWYoKCk9PntncigpO08xYSgpO0JyZT13ci5jcmVhdGUoe25hbWU6ImRyb3BDdXJzb3IiLGFkZE9wdGlvbnMoKXtyZXR1cm57Y29sb3I6ImN1cnJlbnRDb2xvciIsd2lkdGg6MSxjbGFzczp2b2lkIDB9fSxhZGRQcm9zZU1pcnJvclBsdWdpbnMoKXtyZXR1cm5bR1plKHRoaXMub3B0aW9ucyldfX0pfSk7ZnVuY3Rpb24gQjFhKGEpe3JldHVybiBhLmlzQXRvbXx8YS5zcGVjLmlzb2xhdGluZ3x8YS5zcGVjLmNyZWF0ZUdhcEN1cnNvcn1mdW5jdGlvbiBGUGEoYSl7Zm9yKGxldCBlPWEuZGVwdGg7ZT49MDtlLS0pe2xldCB0PWEuaW5kZXgoZSkscj1hLm5vZGUoZSk7aWYodD09MCl7aWYoci50eXBlLnNwZWMuaXNvbGF0aW5nKXJldHVybiEwO2NvbnRpbnVlfWZvcihsZXQgaT1yLmNoaWxkKHQtMSk7O2k9aS5sYXN0Q2hpbGQpe2lmKGkuY2hpbGRDb3VudD09MCYmIWkuaW5saW5lQ29udGVudHx8QjFhKGkudHlwZSkpcmV0dXJuITA7aWYoaS5pbmxpbmVDb250ZW50KXJldHVybiExfX1yZXR1cm4hMH1mdW5jdGlvbiBCUGEoYSl7Zm9yKGxldCBlPWEuZGVwdGg7ZT49MDtlLS0pe2xldCB0PWEuaW5kZXhBZnRlcihlKSxyPWEubm9kZShlKTtpZih0PT1yLmNoaWxkQ291bnQpe2lmKHIudHlwZS5zcGVjLmlzb2xhdGluZylyZXR1cm4hMDtjb250aW51ZX1mb3IobGV0IGk9ci5jaGlsZCh0KTs7aT1pLmZpcnN0Q2hpbGQpe2lmKGkuY2hpbGRDb3VudD09MCYmIWkuaW5saW5lQ29udGVudHx8QjFhKGkudHlwZSkpcmV0dXJuITA7aWYoaS5pbmxpbmVDb250ZW50KXJldHVybiExfX1yZXR1cm4hMH1mdW5jdGlvbiBLWmUoKXtyZXR1cm4gbmV3IGFyKHtwcm9wczp7ZGVjb3JhdGlvbnM6alBhLGNyZWF0ZVNlbGVjdGlvbkJldHdlZW4oYSxlLHQpe3JldHVybiBlLnBvcz09dC5wb3MmJmlpLnZhbGlkKHQpP25ldyBpaSh0KTpudWxsfSxoYW5kbGVDbGljazpxUGEsaGFuZGxlS2V5RG93bjpIUGEsaGFuZGxlRE9NRXZlbnRzOntiZWZvcmVpbnB1dDpWUGF9fX0pfWZ1bmN0aW9uIEhyZShhLGUpe2xldCB0PWE9PSJ2ZXJ0Ij9lPjA/ImRvd24iOiJ1cCI6ZT4wPyJyaWdodCI6ImxlZnQiO3JldHVybiBmdW5jdGlvbihyLGksbyl7bGV0IG49ci5zZWxlY3Rpb24sbD1lPjA/bi4kdG86bi4kZnJvbSxkPW4uZW1wdHk7aWYobiBpbnN0YW5jZW9mIFJ0KXtpZighby5lbmRPZlRleHRibG9jayh0KXx8bC5kZXB0aD09MClyZXR1cm4hMTtkPSExLGw9ci5kb2MucmVzb2x2ZShlPjA/bC5hZnRlcigpOmwuYmVmb3JlKCkpfWxldCBjPWlpLmZpbmRHYXBDdXJzb3JGcm9tKGwsZSxkKTtyZXR1cm4gYz8oaSYmaShyLnRyLnNldFNlbGVjdGlvbihuZXcgaWkoYykpKSwhMCk6ITF9fWZ1bmN0aW9uIHFQYShhLGUsdCl7aWYoIWF8fCFhLmVkaXRhYmxlKXJldHVybiExO2xldCByPWEuc3RhdGUuZG9jLnJlc29sdmUoZSk7aWYoIWlpLnZhbGlkKHIpKXJldHVybiExO2xldCBpPWEucG9zQXRDb29yZHMoe2xlZnQ6dC5jbGllbnRYLHRvcDp0LmNsaWVudFl9KTtyZXR1cm4gaSYmaS5pbnNpZGU+LTEmJk10LmlzU2VsZWN0YWJsZShhLnN0YXRlLmRvYy5ub2RlQXQoaS5pbnNpZGUpKT8hMTooYS5kaXNwYXRjaChhLnN0YXRlLnRyLnNldFNlbGVjdGlvbihuZXcgaWkocikpKSwhMCl9ZnVuY3Rpb24gVlBhKGEsZSl7aWYoZS5pbnB1dFR5cGUhPSJpbnNlcnRDb21wb3NpdGlvblRleHQifHwhKGEuc3RhdGUuc2VsZWN0aW9uIGluc3RhbmNlb2YgaWkpKXJldHVybiExO2xldHskZnJvbTp0fT1hLnN0YXRlLnNlbGVjdGlvbixyPXQucGFyZW50LmNvbnRlbnRNYXRjaEF0KHQuaW5kZXgoKSkuZmluZFdyYXBwaW5nKGEuc3RhdGUuc2NoZW1hLm5vZGVzLnRleHQpO2lmKCFyKXJldHVybiExO2xldCBpPVZlLmVtcHR5O2ZvcihsZXQgbj1yLmxlbmd0aC0xO24+PTA7bi0tKWk9VmUuZnJvbShyW25dLmNyZWF0ZUFuZEZpbGwobnVsbCxpKSk7bGV0IG89YS5zdGF0ZS50ci5yZXBsYWNlKHQucG9zLHQucG9zLG5ldyBzdChpLDAsMCkpO3JldHVybiBvLnNldFNlbGVjdGlvbihSdC5uZWFyKG8uZG9jLnJlc29sdmUodC5wb3MrMSkpKSxhLmRpc3BhdGNoKG8pLCExfWZ1bmN0aW9uIGpQYShhKXtpZighKGEuc2VsZWN0aW9uIGluc3RhbmNlb2YgaWkpKXJldHVybiBudWxsO2xldCBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBlLmNsYXNzTmFtZT0iUHJvc2VNaXJyb3ItZ2FwY3Vyc29yIixLaS5jcmVhdGUoYS5kb2MsW04xLndpZGdldChhLnNlbGVjdGlvbi5oZWFkLGUse2tleToiZ2FwY3Vyc29yIn0pXSl9dmFyIGlpLFlaZSxIUGEsSDFhPWYoKCk9PntuWmUoKTt2YygpO200KCk7c1plKCk7aWk9Y2xhc3MgYSBleHRlbmRzIEl0e3N0YXRpY3tzKHRoaXMsIkdhcEN1cnNvciIpfWNvbnN0cnVjdG9yKGUpe3N1cGVyKGUsZSl9bWFwKGUsdCl7bGV0IHI9ZS5yZXNvbHZlKHQubWFwKHRoaXMuaGVhZCkpO3JldHVybiBhLnZhbGlkKHIpP25ldyBhKHIpOkl0Lm5lYXIocil9Y29udGVudCgpe3JldHVybiBzdC5lbXB0eX1lcShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIGEmJmUuaGVhZD09dGhpcy5oZWFkfXRvSlNPTigpe3JldHVybnt0eXBlOiJnYXBjdXJzb3IiLHBvczp0aGlzLmhlYWR9fXN0YXRpYyBmcm9tSlNPTihlLHQpe2lmKHR5cGVvZiB0LnBvcyE9Im51bWJlciIpdGhyb3cgbmV3IFJhbmdlRXJyb3IoIkludmFsaWQgaW5wdXQgZm9yIEdhcEN1cnNvci5mcm9tSlNPTiIpO3JldHVybiBuZXcgYShlLnJlc29sdmUodC5wb3MpKX1nZXRCb29rbWFyaygpe3JldHVybiBuZXcgWVplKHRoaXMuYW5jaG9yKX1zdGF0aWMgdmFsaWQoZSl7bGV0IHQ9ZS5wYXJlbnQ7aWYodC5pbmxpbmVDb250ZW50fHwhRlBhKGUpfHwhQlBhKGUpKXJldHVybiExO2xldCByPXQudHlwZS5zcGVjLmFsbG93R2FwQ3Vyc29yO2lmKHIhPW51bGwpcmV0dXJuIHI7bGV0IGk9dC5jb250ZW50TWF0Y2hBdChlLmluZGV4KCkpLmRlZmF1bHRUeXBlO3JldHVybiBpJiZpLmlzVGV4dGJsb2NrfXN0YXRpYyBmaW5kR2FwQ3Vyc29yRnJvbShlLHQscj0hMSl7ZTpmb3IoOzspe2lmKCFyJiZhLnZhbGlkKGUpKXJldHVybiBlO2xldCBpPWUucG9zLG89bnVsbDtmb3IobGV0IG49ZS5kZXB0aDs7bi0tKXtsZXQgbD1lLm5vZGUobik7aWYodD4wP2UuaW5kZXhBZnRlcihuKTxsLmNoaWxkQ291bnQ6ZS5pbmRleChuKT4wKXtvPWwuY2hpbGQodD4wP2UuaW5kZXhBZnRlcihuKTplLmluZGV4KG4pLTEpO2JyZWFrfWVsc2UgaWYobj09MClyZXR1cm4gbnVsbDtpKz10O2xldCBkPWUuZG9jLnJlc29sdmUoaSk7aWYoYS52YWxpZChkKSlyZXR1cm4gZH1mb3IoOzspe2xldCBuPXQ+MD9vLmZpcnN0Q2hpbGQ6by5sYXN0Q2hpbGQ7aWYoIW4pe2lmKG8uaXNBdG9tJiYhby5pc1RleHQmJiFNdC5pc1NlbGVjdGFibGUobykpe2U9ZS5kb2MucmVzb2x2ZShpK28ubm9kZVNpemUqdCkscj0hMTtjb250aW51ZSBlfWJyZWFrfW89bixpKz10O2xldCBsPWUuZG9jLnJlc29sdmUoaSk7aWYoYS52YWxpZChsKSlyZXR1cm4gbH1yZXR1cm4gbnVsbH19fTtpaS5wcm90b3R5cGUudmlzaWJsZT0hMSxpaS5maW5kRnJvbT1paS5maW5kR2FwQ3Vyc29yRnJvbSxJdC5qc29uSUQoImdhcGN1cnNvciIsaWkpO1laZT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkdhcEJvb2ttYXJrIil9Y29uc3RydWN0b3IoZSl7dGhpcy5wb3M9ZX1tYXAoZSl7cmV0dXJuIG5ldyBhKGUubWFwKHRoaXMucG9zKSl9cmVzb2x2ZShlKXtsZXQgdD1lLnJlc29sdmUodGhpcy5wb3MpO3JldHVybiBpaS52YWxpZCh0KT9uZXcgaWkodCk6SXQubmVhcih0KX19O3MoQjFhLCJuZWVkc0dhcCIpO3MoRlBhLCJjbG9zZWRCZWZvcmUiKTtzKEJQYSwiY2xvc2VkQWZ0ZXIiKTtzKEtaZSwiZ2FwQ3Vyc29yIik7SFBhPVphZSh7QXJyb3dMZWZ0OkhyZSgiaG9yaXoiLC0xKSxBcnJvd1JpZ2h0OkhyZSgiaG9yaXoiLDEpLEFycm93VXA6SHJlKCJ2ZXJ0IiwtMSksQXJyb3dEb3duOkhyZSgidmVydCIsMSl9KTtzKEhyZSwiYXJyb3ciKTtzKHFQYSwiaGFuZGxlQ2xpY2siKTtzKFZQYSwiYmVmb3JlaW5wdXQiKTtzKGpQYSwiZHJhd0dhcEN1cnNvciIpfSk7dmFyIHExYT1mKCgpPT57SDFhKCl9KTt2YXIgcXJlLFYxYT1mKCgpPT57Z3IoKTtxMWEoKTtxcmU9d3IuY3JlYXRlKHtuYW1lOiJnYXBDdXJzb3IiLGFkZFByb3NlTWlycm9yUGx1Z2lucygpe3JldHVybltLWmUoKV19LGV4dGVuZE5vZGVTY2hlbWEoYSl7dmFyIGU7bGV0IHQ9e25hbWU6YS5uYW1lLG9wdGlvbnM6YS5vcHRpb25zLHN0b3JhZ2U6YS5zdG9yYWdlfTtyZXR1cm57YWxsb3dHYXBDdXJzb3I6KGU9VnQodXQoYSwiYWxsb3dHYXBDdXJzb3IiLHQpKSkhPT1udWxsJiZlIT09dm9pZCAwP2U6bnVsbH19fSl9KTt2YXIgVnJlLGoxYT1mKCgpPT57Z3IoKTtWcmU9b3IuY3JlYXRlKHtuYW1lOiJoYXJkQnJlYWsiLGFkZE9wdGlvbnMoKXtyZXR1cm57a2VlcE1hcmtzOiEwLEhUTUxBdHRyaWJ1dGVzOnt9fX0saW5saW5lOiEwLGdyb3VwOiJpbmxpbmUiLHNlbGVjdGFibGU6ITEsbGluZWJyZWFrUmVwbGFjZW1lbnQ6ITAscGFyc2VIVE1MKCl7cmV0dXJuW3t0YWc6ImJyIn1dfSxyZW5kZXJIVE1MKHtIVE1MQXR0cmlidXRlczphfSl7cmV0dXJuWyJiciIsU2EodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLGEpXX0scmVuZGVyVGV4dCgpe3JldHVybmAKYH0sYWRkQ29tbWFuZHMoKXtyZXR1cm57c2V0SGFyZEJyZWFrOnMoKCk9Pih7Y29tbWFuZHM6YSxjaGFpbjplLHN0YXRlOnQsZWRpdG9yOnJ9KT0+YS5maXJzdChbKCk9PmEuZXhpdENvZGUoKSwoKT0+YS5jb21tYW5kKCgpPT57bGV0e3NlbGVjdGlvbjppLHN0b3JlZE1hcmtzOm99PXQ7aWYoaS4kZnJvbS5wYXJlbnQudHlwZS5zcGVjLmlzb2xhdGluZylyZXR1cm4hMTtsZXR7a2VlcE1hcmtzOm59PXRoaXMub3B0aW9ucyx7c3BsaXR0YWJsZU1hcmtzOmx9PXIuZXh0ZW5zaW9uTWFuYWdlcixkPW98fGkuJHRvLnBhcmVudE9mZnNldCYmaS4kZnJvbS5tYXJrcygpO3JldHVybiBlKCkuaW5zZXJ0Q29udGVudCh7dHlwZTp0aGlzLm5hbWV9KS5jb21tYW5kKCh7dHI6YyxkaXNwYXRjaDpwfSk9PntpZihwJiZkJiZuKXtsZXQgdT1kLmZpbHRlcihtPT5sLmluY2x1ZGVzKG0udHlwZS5uYW1lKSk7Yy5lbnN1cmVNYXJrcyh1KX1yZXR1cm4hMH0pLnJ1bigpfSldKSwic2V0SGFyZEJyZWFrIil9fSxhZGRLZXlib2FyZFNob3J0Y3V0cygpe3JldHVybnsiTW9kLUVudGVyIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5zZXRIYXJkQnJlYWsoKSwiTW9kLUVudGVyIiksIlNoaWZ0LUVudGVyIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5zZXRIYXJkQnJlYWsoKSwiU2hpZnQtRW50ZXIiKX19fSl9KTt2YXIganJlLFUxYT1mKCgpPT57Z3IoKTtqcmU9b3IuY3JlYXRlKHtuYW1lOiJoZWFkaW5nIixhZGRPcHRpb25zKCl7cmV0dXJue2xldmVsczpbMSwyLDMsNCw1LDZdLEhUTUxBdHRyaWJ1dGVzOnt9fX0sY29udGVudDoiaW5saW5lKiIsZ3JvdXA6ImJsb2NrIixkZWZpbmluZzohMCxhZGRBdHRyaWJ1dGVzKCl7cmV0dXJue2xldmVsOntkZWZhdWx0OjEscmVuZGVyZWQ6ITF9fX0scGFyc2VIVE1MKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5sZXZlbHMubWFwKGE9Pih7dGFnOmBoJHthfWAsYXR0cnM6e2xldmVsOmF9fSkpfSxyZW5kZXJIVE1MKHtub2RlOmEsSFRNTEF0dHJpYnV0ZXM6ZX0pe3JldHVybltgaCR7dGhpcy5vcHRpb25zLmxldmVscy5pbmNsdWRlcyhhLmF0dHJzLmxldmVsKT9hLmF0dHJzLmxldmVsOnRoaXMub3B0aW9ucy5sZXZlbHNbMF19YCxTYSh0aGlzLm9wdGlvbnMuSFRNTEF0dHJpYnV0ZXMsZSksMF19LGFkZENvbW1hbmRzKCl7cmV0dXJue3NldEhlYWRpbmc6cyhhPT4oe2NvbW1hbmRzOmV9KT0+dGhpcy5vcHRpb25zLmxldmVscy5pbmNsdWRlcyhhLmxldmVsKT9lLnNldE5vZGUodGhpcy5uYW1lLGEpOiExLCJzZXRIZWFkaW5nIiksdG9nZ2xlSGVhZGluZzpzKGE9Pih7Y29tbWFuZHM6ZX0pPT50aGlzLm9wdGlvbnMubGV2ZWxzLmluY2x1ZGVzKGEubGV2ZWwpP2UudG9nZ2xlTm9kZSh0aGlzLm5hbWUsInBhcmFncmFwaCIsYSk6ITEsInRvZ2dsZUhlYWRpbmciKX19LGFkZEtleWJvYXJkU2hvcnRjdXRzKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5sZXZlbHMucmVkdWNlKChhLGUpPT4oey4uLmEsW2BNb2QtQWx0LSR7ZX1gXTooKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlSGVhZGluZyh7bGV2ZWw6ZX0pfSkse30pfSxhZGRJbnB1dFJ1bGVzKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5sZXZlbHMubWFwKGE9Pm41KHtmaW5kOm5ldyBSZWdFeHAoYF4oI3ske01hdGgubWluKC4uLnRoaXMub3B0aW9ucy5sZXZlbHMpfSwke2F9fSlcXHMkYCksdHlwZTp0aGlzLnR5cGUsZ2V0QXR0cmlidXRlczp7bGV2ZWw6YX19KSl9fSl9KTt2YXIgVXJlLG9pLFcxYSxVUGEsWlplLEcxYT1mKCgpPT57VXJlPTIwMCxvaT1zKGZ1bmN0aW9uKCl7fSwiUm9wZVNlcXVlbmNlIik7b2kucHJvdG90eXBlLmFwcGVuZD1zKGZ1bmN0aW9uKGUpe3JldHVybiBlLmxlbmd0aD8oZT1vaS5mcm9tKGUpLCF0aGlzLmxlbmd0aCYmZXx8ZS5sZW5ndGg8VXJlJiZ0aGlzLmxlYWZBcHBlbmQoZSl8fHRoaXMubGVuZ3RoPFVyZSYmZS5sZWFmUHJlcGVuZCh0aGlzKXx8dGhpcy5hcHBlbmRJbm5lcihlKSk6dGhpc30sImFwcGVuZCIpLG9pLnByb3RvdHlwZS5wcmVwZW5kPXMoZnVuY3Rpb24oZSl7cmV0dXJuIGUubGVuZ3RoP29pLmZyb20oZSkuYXBwZW5kKHRoaXMpOnRoaXN9LCJwcmVwZW5kIiksb2kucHJvdG90eXBlLmFwcGVuZElubmVyPXMoZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBVUGEodGhpcyxlKX0sImFwcGVuZElubmVyIiksb2kucHJvdG90eXBlLnNsaWNlPXMoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT09PXZvaWQgMCYmKGU9MCksdD09PXZvaWQgMCYmKHQ9dGhpcy5sZW5ndGgpLGU+PXQ/b2kuZW1wdHk6dGhpcy5zbGljZUlubmVyKE1hdGgubWF4KDAsZSksTWF0aC5taW4odGhpcy5sZW5ndGgsdCkpfSwic2xpY2UiKSxvaS5wcm90b3R5cGUuZ2V0PXMoZnVuY3Rpb24oZSl7aWYoIShlPDB8fGU+PXRoaXMubGVuZ3RoKSlyZXR1cm4gdGhpcy5nZXRJbm5lcihlKX0sImdldCIpLG9pLnByb3RvdHlwZS5mb3JFYWNoPXMoZnVuY3Rpb24oZSx0LHIpe3Q9PT12b2lkIDAmJih0PTApLHI9PT12b2lkIDAmJihyPXRoaXMubGVuZ3RoKSx0PD1yP3RoaXMuZm9yRWFjaElubmVyKGUsdCxyLDApOnRoaXMuZm9yRWFjaEludmVydGVkSW5uZXIoZSx0LHIsMCl9LCJmb3JFYWNoIiksb2kucHJvdG90eXBlLm1hcD1zKGZ1bmN0aW9uKGUsdCxyKXt0PT09dm9pZCAwJiYodD0wKSxyPT09dm9pZCAwJiYocj10aGlzLmxlbmd0aCk7dmFyIGk9W107cmV0dXJuIHRoaXMuZm9yRWFjaChmdW5jdGlvbihvLG4pe3JldHVybiBpLnB1c2goZShvLG4pKX0sdCxyKSxpfSwibWFwIiksb2kuZnJvbT1zKGZ1bmN0aW9uKGUpe3JldHVybiBlIGluc3RhbmNlb2Ygb2k/ZTplJiZlLmxlbmd0aD9uZXcgVzFhKGUpOm9pLmVtcHR5fSwiZnJvbSIpO1cxYT0oZnVuY3Rpb24oYSl7ZnVuY3Rpb24gZShyKXthLmNhbGwodGhpcyksdGhpcy52YWx1ZXM9cn1zKGUsIkxlYWYiKSxhJiYoZS5fX3Byb3RvX189YSksZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShhJiZhLnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZTt2YXIgdD17bGVuZ3RoOntjb25maWd1cmFibGU6ITB9LGRlcHRoOntjb25maWd1cmFibGU6ITB9fTtyZXR1cm4gZS5wcm90b3R5cGUuZmxhdHRlbj1zKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzfSwiZmxhdHRlbiIpLGUucHJvdG90eXBlLnNsaWNlSW5uZXI9cyhmdW5jdGlvbihpLG8pe3JldHVybiBpPT0wJiZvPT10aGlzLmxlbmd0aD90aGlzOm5ldyBlKHRoaXMudmFsdWVzLnNsaWNlKGksbykpfSwic2xpY2VJbm5lciIpLGUucHJvdG90eXBlLmdldElubmVyPXMoZnVuY3Rpb24oaSl7cmV0dXJuIHRoaXMudmFsdWVzW2ldfSwiZ2V0SW5uZXIiKSxlLnByb3RvdHlwZS5mb3JFYWNoSW5uZXI9cyhmdW5jdGlvbihpLG8sbixsKXtmb3IodmFyIGQ9bztkPG47ZCsrKWlmKGkodGhpcy52YWx1ZXNbZF0sbCtkKT09PSExKXJldHVybiExfSwiZm9yRWFjaElubmVyIiksZS5wcm90b3R5cGUuZm9yRWFjaEludmVydGVkSW5uZXI9cyhmdW5jdGlvbihpLG8sbixsKXtmb3IodmFyIGQ9by0xO2Q+PW47ZC0tKWlmKGkodGhpcy52YWx1ZXNbZF0sbCtkKT09PSExKXJldHVybiExfSwiZm9yRWFjaEludmVydGVkSW5uZXIiKSxlLnByb3RvdHlwZS5sZWFmQXBwZW5kPXMoZnVuY3Rpb24oaSl7aWYodGhpcy5sZW5ndGgraS5sZW5ndGg8PVVyZSlyZXR1cm4gbmV3IGUodGhpcy52YWx1ZXMuY29uY2F0KGkuZmxhdHRlbigpKSl9LCJsZWFmQXBwZW5kIiksZS5wcm90b3R5cGUubGVhZlByZXBlbmQ9cyhmdW5jdGlvbihpKXtpZih0aGlzLmxlbmd0aCtpLmxlbmd0aDw9VXJlKXJldHVybiBuZXcgZShpLmZsYXR0ZW4oKS5jb25jYXQodGhpcy52YWx1ZXMpKX0sImxlYWZQcmVwZW5kIiksdC5sZW5ndGguZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWVzLmxlbmd0aH0sdC5kZXB0aC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gMH0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZS5wcm90b3R5cGUsdCksZX0pKG9pKTtvaS5lbXB0eT1uZXcgVzFhKFtdKTtVUGE9KGZ1bmN0aW9uKGEpe2Z1bmN0aW9uIGUodCxyKXthLmNhbGwodGhpcyksdGhpcy5sZWZ0PXQsdGhpcy5yaWdodD1yLHRoaXMubGVuZ3RoPXQubGVuZ3RoK3IubGVuZ3RoLHRoaXMuZGVwdGg9TWF0aC5tYXgodC5kZXB0aCxyLmRlcHRoKSsxfXJldHVybiBzKGUsIkFwcGVuZCIpLGEmJihlLl9fcHJvdG9fXz1hKSxlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGEmJmEucHJvdG90eXBlKSxlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lLGUucHJvdG90eXBlLmZsYXR0ZW49cyhmdW5jdGlvbigpe3JldHVybiB0aGlzLmxlZnQuZmxhdHRlbigpLmNvbmNhdCh0aGlzLnJpZ2h0LmZsYXR0ZW4oKSl9LCJmbGF0dGVuIiksZS5wcm90b3R5cGUuZ2V0SW5uZXI9cyhmdW5jdGlvbihyKXtyZXR1cm4gcjx0aGlzLmxlZnQubGVuZ3RoP3RoaXMubGVmdC5nZXQocik6dGhpcy5yaWdodC5nZXQoci10aGlzLmxlZnQubGVuZ3RoKX0sImdldElubmVyIiksZS5wcm90b3R5cGUuZm9yRWFjaElubmVyPXMoZnVuY3Rpb24ocixpLG8sbil7dmFyIGw9dGhpcy5sZWZ0Lmxlbmd0aDtpZihpPGwmJnRoaXMubGVmdC5mb3JFYWNoSW5uZXIocixpLE1hdGgubWluKG8sbCksbik9PT0hMXx8bz5sJiZ0aGlzLnJpZ2h0LmZvckVhY2hJbm5lcihyLE1hdGgubWF4KGktbCwwKSxNYXRoLm1pbih0aGlzLmxlbmd0aCxvKS1sLG4rbCk9PT0hMSlyZXR1cm4hMX0sImZvckVhY2hJbm5lciIpLGUucHJvdG90eXBlLmZvckVhY2hJbnZlcnRlZElubmVyPXMoZnVuY3Rpb24ocixpLG8sbil7dmFyIGw9dGhpcy5sZWZ0Lmxlbmd0aDtpZihpPmwmJnRoaXMucmlnaHQuZm9yRWFjaEludmVydGVkSW5uZXIocixpLWwsTWF0aC5tYXgobyxsKS1sLG4rbCk9PT0hMXx8bzxsJiZ0aGlzLmxlZnQuZm9yRWFjaEludmVydGVkSW5uZXIocixNYXRoLm1pbihpLGwpLG8sbik9PT0hMSlyZXR1cm4hMX0sImZvckVhY2hJbnZlcnRlZElubmVyIiksZS5wcm90b3R5cGUuc2xpY2VJbm5lcj1zKGZ1bmN0aW9uKHIsaSl7aWYocj09MCYmaT09dGhpcy5sZW5ndGgpcmV0dXJuIHRoaXM7dmFyIG89dGhpcy5sZWZ0Lmxlbmd0aDtyZXR1cm4gaTw9bz90aGlzLmxlZnQuc2xpY2UocixpKTpyPj1vP3RoaXMucmlnaHQuc2xpY2Uoci1vLGktbyk6dGhpcy5sZWZ0LnNsaWNlKHIsbykuYXBwZW5kKHRoaXMucmlnaHQuc2xpY2UoMCxpLW8pKX0sInNsaWNlSW5uZXIiKSxlLnByb3RvdHlwZS5sZWFmQXBwZW5kPXMoZnVuY3Rpb24ocil7dmFyIGk9dGhpcy5yaWdodC5sZWFmQXBwZW5kKHIpO2lmKGkpcmV0dXJuIG5ldyBlKHRoaXMubGVmdCxpKX0sImxlYWZBcHBlbmQiKSxlLnByb3RvdHlwZS5sZWFmUHJlcGVuZD1zKGZ1bmN0aW9uKHIpe3ZhciBpPXRoaXMubGVmdC5sZWFmUHJlcGVuZChyKTtpZihpKXJldHVybiBuZXcgZShpLHRoaXMucmlnaHQpfSwibGVhZlByZXBlbmQiKSxlLnByb3RvdHlwZS5hcHBlbmRJbm5lcj1zKGZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLmxlZnQuZGVwdGg+PU1hdGgubWF4KHRoaXMucmlnaHQuZGVwdGgsci5kZXB0aCkrMT9uZXcgZSh0aGlzLmxlZnQsbmV3IGUodGhpcy5yaWdodCxyKSk6bmV3IGUodGhpcyxyKX0sImFwcGVuZElubmVyIiksZX0pKG9pKSxaWmU9b2l9KTtmdW5jdGlvbiBHUGEoYSxlKXtsZXQgdDtyZXR1cm4gYS5mb3JFYWNoKChyLGkpPT57aWYoci5zZWxlY3Rpb24mJmUtLT09MClyZXR1cm4gdD1pLCExfSksYS5zbGljZSh0KX1mdW5jdGlvbiBLUGEoYSxlLHQscil7bGV0IGk9dC5nZXRNZXRhKHRsKSxvO2lmKGkpcmV0dXJuIGkuaGlzdG9yeVN0YXRlO3QuZ2V0TWV0YShaMWEpJiYoYT1uZXcgZWwoYS5kb25lLGEudW5kb25lLG51bGwsMCwtMSkpO2xldCBuPXQuZ2V0TWV0YSgiYXBwZW5kZWRUcmFuc2FjdGlvbiIpO2lmKHQuc3RlcHMubGVuZ3RoPT0wKXJldHVybiBhO2lmKG4mJm4uZ2V0TWV0YSh0bCkpcmV0dXJuIG4uZ2V0TWV0YSh0bCkucmVkbz9uZXcgZWwoYS5kb25lLmFkZFRyYW5zZm9ybSh0LHZvaWQgMCxyLFdyZShlKSksYS51bmRvbmUsWTFhKHQubWFwcGluZy5tYXBzKSxhLnByZXZUaW1lLGEucHJldkNvbXBvc2l0aW9uKTpuZXcgZWwoYS5kb25lLGEudW5kb25lLmFkZFRyYW5zZm9ybSh0LHZvaWQgMCxyLFdyZShlKSksbnVsbCxhLnByZXZUaW1lLGEucHJldkNvbXBvc2l0aW9uKTtpZih0LmdldE1ldGEoImFkZFRvSGlzdG9yeSIpIT09ITEmJiEobiYmbi5nZXRNZXRhKCJhZGRUb0hpc3RvcnkiKT09PSExKSl7bGV0IGw9dC5nZXRNZXRhKCJjb21wb3NpdGlvbiIpLGQ9YS5wcmV2VGltZT09MHx8IW4mJmEucHJldkNvbXBvc2l0aW9uIT1sJiYoYS5wcmV2VGltZTwodC50aW1lfHwwKS1yLm5ld0dyb3VwRGVsYXl8fCFaUGEodCxhLnByZXZSYW5nZXMpKSxjPW4/WFplKGEucHJldlJhbmdlcyx0Lm1hcHBpbmcpOlkxYSh0Lm1hcHBpbmcubWFwcyk7cmV0dXJuIG5ldyBlbChhLmRvbmUuYWRkVHJhbnNmb3JtKHQsZD9lLnNlbGVjdGlvbi5nZXRCb29rbWFyaygpOnZvaWQgMCxyLFdyZShlKSksbDUuZW1wdHksYyx0LnRpbWUsbD8/YS5wcmV2Q29tcG9zaXRpb24pfWVsc2UgcmV0dXJuKG89dC5nZXRNZXRhKCJyZWJhc2VkIikpP25ldyBlbChhLmRvbmUucmViYXNlZCh0LG8pLGEudW5kb25lLnJlYmFzZWQodCxvKSxYWmUoYS5wcmV2UmFuZ2VzLHQubWFwcGluZyksYS5wcmV2VGltZSxhLnByZXZDb21wb3NpdGlvbik6bmV3IGVsKGEuZG9uZS5hZGRNYXBzKHQubWFwcGluZy5tYXBzKSxhLnVuZG9uZS5hZGRNYXBzKHQubWFwcGluZy5tYXBzKSxYWmUoYS5wcmV2UmFuZ2VzLHQubWFwcGluZyksYS5wcmV2VGltZSxhLnByZXZDb21wb3NpdGlvbil9ZnVuY3Rpb24gWlBhKGEsZSl7aWYoIWUpcmV0dXJuITE7aWYoIWEuZG9jQ2hhbmdlZClyZXR1cm4hMDtsZXQgdD0hMTtyZXR1cm4gYS5tYXBwaW5nLm1hcHNbMF0uZm9yRWFjaCgocixpKT0+e2ZvcihsZXQgbz0wO288ZS5sZW5ndGg7bys9MilyPD1lW28rMV0mJmk+PWVbb10mJih0PSEwKX0pLHR9ZnVuY3Rpb24gWTFhKGEpe2xldCBlPVtdO2ZvcihsZXQgdD1hLmxlbmd0aC0xO3Q+PTAmJmUubGVuZ3RoPT0wO3QtLSlhW3RdLmZvckVhY2goKHIsaSxvLG4pPT5lLnB1c2gobyxuKSk7cmV0dXJuIGV9ZnVuY3Rpb24gWFplKGEsZSl7aWYoIWEpcmV0dXJuIG51bGw7bGV0IHQ9W107Zm9yKGxldCByPTA7cjxhLmxlbmd0aDtyKz0yKXtsZXQgaT1lLm1hcChhW3JdLDEpLG89ZS5tYXAoYVtyKzFdLC0xKTtpPD1vJiZ0LnB1c2goaSxvKX1yZXR1cm4gdH1mdW5jdGlvbiBYUGEoYSxlLHQpe2xldCByPVdyZShlKSxpPXRsLmdldChlKS5zcGVjLmNvbmZpZyxvPSh0P2EudW5kb25lOmEuZG9uZSkucG9wRXZlbnQoZSxyKTtpZighbylyZXR1cm4gbnVsbDtsZXQgbj1vLnNlbGVjdGlvbi5yZXNvbHZlKG8udHJhbnNmb3JtLmRvYyksbD0odD9hLmRvbmU6YS51bmRvbmUpLmFkZFRyYW5zZm9ybShvLnRyYW5zZm9ybSxlLnNlbGVjdGlvbi5nZXRCb29rbWFyaygpLGksciksZD1uZXcgZWwodD9sOm8ucmVtYWluaW5nLHQ/by5yZW1haW5pbmc6bCxudWxsLDAsLTEpO3JldHVybiBvLnRyYW5zZm9ybS5zZXRTZWxlY3Rpb24obikuc2V0TWV0YSh0bCx7cmVkbzp0LGhpc3RvcnlTdGF0ZTpkfSl9ZnVuY3Rpb24gV3JlKGEpe2xldCBlPWEucGx1Z2lucztpZihLMWEhPWUpe1FaZT0hMSxLMWE9ZTtmb3IobGV0IHQ9MDt0PGUubGVuZ3RoO3QrKylpZihlW3RdLnNwZWMuaGlzdG9yeVByZXNlcnZlSXRlbXMpe1FaZT0hMDticmVha319cmV0dXJuIFFaZX1mdW5jdGlvbiBRUGEoYSl7cmV0dXJuIGEuc2V0TWV0YShaMWEsITApfWZ1bmN0aW9uIEpaZShhPXt9KXtyZXR1cm4gYT17ZGVwdGg6YS5kZXB0aHx8MTAwLG5ld0dyb3VwRGVsYXk6YS5uZXdHcm91cERlbGF5fHw1MDB9LG5ldyBhcih7a2V5OnRsLHN0YXRlOntpbml0KCl7cmV0dXJuIG5ldyBlbChsNS5lbXB0eSxsNS5lbXB0eSxudWxsLDAsLTEpfSxhcHBseShlLHQscil7cmV0dXJuIEtQYSh0LHIsZSxhKX19LGNvbmZpZzphLHByb3BzOntoYW5kbGVET01FdmVudHM6e2JlZm9yZWlucHV0KGUsdCl7bGV0IHI9dC5pbnB1dFR5cGUsaT1yPT0iaGlzdG9yeVVuZG8iP1lyZTpyPT0iaGlzdG9yeVJlZG8iP0tyZTpudWxsO3JldHVybiFpfHwhZS5lZGl0YWJsZT8hMToodC5wcmV2ZW50RGVmYXVsdCgpLGkoZS5zdGF0ZSxlLmRpc3BhdGNoKSl9fX19KX1mdW5jdGlvbiBHcmUoYSxlKXtyZXR1cm4odCxyKT0+e2xldCBpPXRsLmdldFN0YXRlKHQpO2lmKCFpfHwoYT9pLnVuZG9uZTppLmRvbmUpLmV2ZW50Q291bnQ9PTApcmV0dXJuITE7aWYocil7bGV0IG89WFBhKGksdCxhKTtvJiZyKGU/by5zY3JvbGxJbnRvVmlldygpOm8pfXJldHVybiEwfX1mdW5jdGlvbiB0SWEoYSl7bGV0IGU9dGwuZ2V0U3RhdGUoYSk7cmV0dXJuIGU/ZS5kb25lLmV2ZW50Q291bnQ6MH1mdW5jdGlvbiBhSWEoYSl7bGV0IGU9dGwuZ2V0U3RhdGUoYSk7cmV0dXJuIGU/ZS51bmRvbmUuZXZlbnRDb3VudDowfWZ1bmN0aW9uIHJJYShhKXtyZXR1cm4gYS5nZXRNZXRhKHRsKSE9bnVsbH12YXIgV1BhLGw1LEoyLGVsLFlQYSxRWmUsSzFhLHRsLFoxYSxZcmUsS3JlLEpQYSxlSWEsWDFhPWYoKCk9PntHMWEoKTtiNCgpO3ZjKCk7V1BhPTUwMCxsNT1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkJyYW5jaCIpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5pdGVtcz1lLHRoaXMuZXZlbnRDb3VudD10fXBvcEV2ZW50KGUsdCl7aWYodGhpcy5ldmVudENvdW50PT0wKXJldHVybiBudWxsO2xldCByPXRoaXMuaXRlbXMubGVuZ3RoO2Zvcig7O3ItLSlpZih0aGlzLml0ZW1zLmdldChyLTEpLnNlbGVjdGlvbil7LS1yO2JyZWFrfWxldCBpLG87dCYmKGk9dGhpcy5yZW1hcHBpbmcocix0aGlzLml0ZW1zLmxlbmd0aCksbz1pLm1hcHMubGVuZ3RoKTtsZXQgbj1lLnRyLGwsZCxjPVtdLHA9W107cmV0dXJuIHRoaXMuaXRlbXMuZm9yRWFjaCgodSxtKT0+e2lmKCF1LnN0ZXApe2l8fChpPXRoaXMucmVtYXBwaW5nKHIsbSsxKSxvPWkubWFwcy5sZW5ndGgpLG8tLSxwLnB1c2godSk7cmV0dXJufWlmKGkpe3AucHVzaChuZXcgSjIodS5tYXApKTtsZXQgdj11LnN0ZXAubWFwKGkuc2xpY2UobykpLHg7diYmbi5tYXliZVN0ZXAodikuZG9jJiYoeD1uLm1hcHBpbmcubWFwc1tuLm1hcHBpbmcubWFwcy5sZW5ndGgtMV0sYy5wdXNoKG5ldyBKMih4LHZvaWQgMCx2b2lkIDAsYy5sZW5ndGgrcC5sZW5ndGgpKSksby0tLHgmJmkuYXBwZW5kTWFwKHgsbyl9ZWxzZSBuLm1heWJlU3RlcCh1LnN0ZXApO2lmKHUuc2VsZWN0aW9uKXJldHVybiBsPWk/dS5zZWxlY3Rpb24ubWFwKGkuc2xpY2UobykpOnUuc2VsZWN0aW9uLGQ9bmV3IGEodGhpcy5pdGVtcy5zbGljZSgwLHIpLmFwcGVuZChwLnJldmVyc2UoKS5jb25jYXQoYykpLHRoaXMuZXZlbnRDb3VudC0xKSwhMX0sdGhpcy5pdGVtcy5sZW5ndGgsMCkse3JlbWFpbmluZzpkLHRyYW5zZm9ybTpuLHNlbGVjdGlvbjpsfX1hZGRUcmFuc2Zvcm0oZSx0LHIsaSl7bGV0IG89W10sbj10aGlzLmV2ZW50Q291bnQsbD10aGlzLml0ZW1zLGQ9IWkmJmwubGVuZ3RoP2wuZ2V0KGwubGVuZ3RoLTEpOm51bGw7Zm9yKGxldCBwPTA7cDxlLnN0ZXBzLmxlbmd0aDtwKyspe2xldCB1PWUuc3RlcHNbcF0uaW52ZXJ0KGUuZG9jc1twXSksbT1uZXcgSjIoZS5tYXBwaW5nLm1hcHNbcF0sdSx0KSx2Oyh2PWQmJmQubWVyZ2UobSkpJiYobT12LHA/by5wb3AoKTpsPWwuc2xpY2UoMCxsLmxlbmd0aC0xKSksby5wdXNoKG0pLHQmJihuKyssdD12b2lkIDApLGl8fChkPW0pfWxldCBjPW4tci5kZXB0aDtyZXR1cm4gYz5ZUGEmJihsPUdQYShsLGMpLG4tPWMpLG5ldyBhKGwuYXBwZW5kKG8pLG4pfXJlbWFwcGluZyhlLHQpe2xldCByPW5ldyB5bTtyZXR1cm4gdGhpcy5pdGVtcy5mb3JFYWNoKChpLG8pPT57bGV0IG49aS5taXJyb3JPZmZzZXQhPW51bGwmJm8taS5taXJyb3JPZmZzZXQ+PWU/ci5tYXBzLmxlbmd0aC1pLm1pcnJvck9mZnNldDp2b2lkIDA7ci5hcHBlbmRNYXAoaS5tYXAsbil9LGUsdCkscn1hZGRNYXBzKGUpe3JldHVybiB0aGlzLmV2ZW50Q291bnQ9PTA/dGhpczpuZXcgYSh0aGlzLml0ZW1zLmFwcGVuZChlLm1hcCh0PT5uZXcgSjIodCkpKSx0aGlzLmV2ZW50Q291bnQpfXJlYmFzZWQoZSx0KXtpZighdGhpcy5ldmVudENvdW50KXJldHVybiB0aGlzO2xldCByPVtdLGk9TWF0aC5tYXgoMCx0aGlzLml0ZW1zLmxlbmd0aC10KSxvPWUubWFwcGluZyxuPWUuc3RlcHMubGVuZ3RoLGw9dGhpcy5ldmVudENvdW50O3RoaXMuaXRlbXMuZm9yRWFjaChtPT57bS5zZWxlY3Rpb24mJmwtLX0saSk7bGV0IGQ9dDt0aGlzLml0ZW1zLmZvckVhY2gobT0+e2xldCB2PW8uZ2V0TWlycm9yKC0tZCk7aWYodj09bnVsbClyZXR1cm47bj1NYXRoLm1pbihuLHYpO2xldCB4PW8ubWFwc1t2XTtpZihtLnN0ZXApe2xldCBiPWUuc3RlcHNbdl0uaW52ZXJ0KGUuZG9jc1t2XSksZz1tLnNlbGVjdGlvbiYmbS5zZWxlY3Rpb24ubWFwKG8uc2xpY2UoZCsxLHYpKTtnJiZsKyssci5wdXNoKG5ldyBKMih4LGIsZykpfWVsc2Ugci5wdXNoKG5ldyBKMih4KSl9LGkpO2xldCBjPVtdO2ZvcihsZXQgbT10O208bjttKyspYy5wdXNoKG5ldyBKMihvLm1hcHNbbV0pKTtsZXQgcD10aGlzLml0ZW1zLnNsaWNlKDAsaSkuYXBwZW5kKGMpLmFwcGVuZChyKSx1PW5ldyBhKHAsbCk7cmV0dXJuIHUuZW1wdHlJdGVtQ291bnQoKT5XUGEmJih1PXUuY29tcHJlc3ModGhpcy5pdGVtcy5sZW5ndGgtci5sZW5ndGgpKSx1fWVtcHR5SXRlbUNvdW50KCl7bGV0IGU9MDtyZXR1cm4gdGhpcy5pdGVtcy5mb3JFYWNoKHQ9Pnt0LnN0ZXB8fGUrK30pLGV9Y29tcHJlc3MoZT10aGlzLml0ZW1zLmxlbmd0aCl7bGV0IHQ9dGhpcy5yZW1hcHBpbmcoMCxlKSxyPXQubWFwcy5sZW5ndGgsaT1bXSxvPTA7cmV0dXJuIHRoaXMuaXRlbXMuZm9yRWFjaCgobixsKT0+e2lmKGw+PWUpaS5wdXNoKG4pLG4uc2VsZWN0aW9uJiZvKys7ZWxzZSBpZihuLnN0ZXApe2xldCBkPW4uc3RlcC5tYXAodC5zbGljZShyKSksYz1kJiZkLmdldE1hcCgpO2lmKHItLSxjJiZ0LmFwcGVuZE1hcChjLHIpLGQpe2xldCBwPW4uc2VsZWN0aW9uJiZuLnNlbGVjdGlvbi5tYXAodC5zbGljZShyKSk7cCYmbysrO2xldCB1PW5ldyBKMihjLmludmVydCgpLGQscCksbSx2PWkubGVuZ3RoLTE7KG09aS5sZW5ndGgmJmlbdl0ubWVyZ2UodSkpP2lbdl09bTppLnB1c2godSl9fWVsc2Ugbi5tYXAmJnItLX0sdGhpcy5pdGVtcy5sZW5ndGgsMCksbmV3IGEoWlplLmZyb20oaS5yZXZlcnNlKCkpLG8pfX07bDUuZW1wdHk9bmV3IGw1KFpaZS5lbXB0eSwwKTtzKEdQYSwiY3V0T2ZmRXZlbnRzIik7SjI9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJJdGVtIil9Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy5tYXA9ZSx0aGlzLnN0ZXA9dCx0aGlzLnNlbGVjdGlvbj1yLHRoaXMubWlycm9yT2Zmc2V0PWl9bWVyZ2UoZSl7aWYodGhpcy5zdGVwJiZlLnN0ZXAmJiFlLnNlbGVjdGlvbil7bGV0IHQ9ZS5zdGVwLm1lcmdlKHRoaXMuc3RlcCk7aWYodClyZXR1cm4gbmV3IGEodC5nZXRNYXAoKS5pbnZlcnQoKSx0LHRoaXMuc2VsZWN0aW9uKX19fSxlbD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJIaXN0b3J5U3RhdGUiKX1jb25zdHJ1Y3RvcihlLHQscixpLG8pe3RoaXMuZG9uZT1lLHRoaXMudW5kb25lPXQsdGhpcy5wcmV2UmFuZ2VzPXIsdGhpcy5wcmV2VGltZT1pLHRoaXMucHJldkNvbXBvc2l0aW9uPW99fSxZUGE9MjA7cyhLUGEsImFwcGx5VHJhbnNhY3Rpb24iKTtzKFpQYSwiaXNBZGphY2VudFRvIik7cyhZMWEsInJhbmdlc0ZvciIpO3MoWFplLCJtYXBSYW5nZXMiKTtzKFhQYSwiaGlzdFRyYW5zYWN0aW9uIik7UVplPSExLEsxYT1udWxsO3MoV3JlLCJtdXN0UHJlc2VydmVJdGVtcyIpO3MoUVBhLCJjbG9zZUhpc3RvcnkiKTt0bD1uZXcgZnMoImhpc3RvcnkiKSxaMWE9bmV3IGZzKCJjbG9zZUhpc3RvcnkiKTtzKEpaZSwiaGlzdG9yeSIpO3MoR3JlLCJidWlsZENvbW1hbmQiKTtZcmU9R3JlKCExLCEwKSxLcmU9R3JlKCEwLCEwKSxKUGE9R3JlKCExLCExKSxlSWE9R3JlKCEwLCExKTtzKHRJYSwidW5kb0RlcHRoIik7cyhhSWEsInJlZG9EZXB0aCIpO3MocklhLCJpc0hpc3RvcnlUcmFuc2FjdGlvbiIpfSk7dmFyIFExYT1mKCgpPT57WDFhKCl9KTt2YXIgWnJlLEoxYT1mKCgpPT57Z3IoKTtRMWEoKTtacmU9d3IuY3JlYXRlKHtuYW1lOiJoaXN0b3J5IixhZGRPcHRpb25zKCl7cmV0dXJue2RlcHRoOjEwMCxuZXdHcm91cERlbGF5OjUwMH19LGFkZENvbW1hbmRzKCl7cmV0dXJue3VuZG86cygoKT0+KHtzdGF0ZTphLGRpc3BhdGNoOmV9KT0+WXJlKGEsZSksInVuZG8iKSxyZWRvOnMoKCk9Pih7c3RhdGU6YSxkaXNwYXRjaDplfSk9PktyZShhLGUpLCJyZWRvIil9fSxhZGRQcm9zZU1pcnJvclBsdWdpbnMoKXtyZXR1cm5bSlplKHRoaXMub3B0aW9ucyldfSxhZGRLZXlib2FyZFNob3J0Y3V0cygpe3JldHVybnsiTW9kLXoiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnVuZG8oKSwiTW9kLXoiKSwiU2hpZnQtTW9kLXoiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnJlZG8oKSwiU2hpZnQtTW9kLXoiKSwiTW9kLXkiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnJlZG8oKSwiTW9kLXkiKSwiTW9kLVx1MDQ0RiI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudW5kbygpLCJNb2QtXHUwNDRGIiksIlNoaWZ0LU1vZC1cdTA0NEYiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnJlZG8oKSwiU2hpZnQtTW9kLVx1MDQ0RiIpfX19KX0pO3ZhciBYcmUsZTJhPWYoKCk9PntncigpO1FVKCk7WHJlPW9yLmNyZWF0ZSh7bmFtZToiaG9yaXpvbnRhbFJ1bGUiLGFkZE9wdGlvbnMoKXtyZXR1cm57SFRNTEF0dHJpYnV0ZXM6e319fSxncm91cDoiYmxvY2siLHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJociJ9XX0scmVuZGVySFRNTCh7SFRNTEF0dHJpYnV0ZXM6YX0pe3JldHVyblsiaHIiLFNhKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxhKV19LGFkZENvbW1hbmRzKCl7cmV0dXJue3NldEhvcml6b250YWxSdWxlOnMoKCk9Pih7Y2hhaW46YSxzdGF0ZTplfSk9PntpZighRXJlKGUsZS5zY2hlbWEubm9kZXNbdGhpcy5uYW1lXSkpcmV0dXJuITE7bGV0e3NlbGVjdGlvbjp0fT1lLHskZnJvbTpyLCR0bzppfT10LG89YSgpO3JldHVybiByLnBhcmVudE9mZnNldD09PTA/by5pbnNlcnRDb250ZW50QXQoe2Zyb206TWF0aC5tYXgoci5wb3MtMSwwKSx0bzppLnBvc30se3R5cGU6dGhpcy5uYW1lfSk6RHJlKHQpP28uaW5zZXJ0Q29udGVudEF0KGkucG9zLHt0eXBlOnRoaXMubmFtZX0pOm8uaW5zZXJ0Q29udGVudCh7dHlwZTp0aGlzLm5hbWV9KSxvLmNvbW1hbmQoKHt0cjpuLGRpc3BhdGNoOmx9KT0+e3ZhciBkO2lmKGwpe2xldHskdG86Y309bi5zZWxlY3Rpb24scD1jLmVuZCgpO2lmKGMubm9kZUFmdGVyKWMubm9kZUFmdGVyLmlzVGV4dGJsb2NrP24uc2V0U2VsZWN0aW9uKFJ0LmNyZWF0ZShuLmRvYyxjLnBvcysxKSk6Yy5ub2RlQWZ0ZXIuaXNCbG9jaz9uLnNldFNlbGVjdGlvbihNdC5jcmVhdGUobi5kb2MsYy5wb3MpKTpuLnNldFNlbGVjdGlvbihSdC5jcmVhdGUobi5kb2MsYy5wb3MpKTtlbHNle2xldCB1PShkPWMucGFyZW50LnR5cGUuY29udGVudE1hdGNoLmRlZmF1bHRUeXBlKT09PW51bGx8fGQ9PT12b2lkIDA/dm9pZCAwOmQuY3JlYXRlKCk7dSYmKG4uaW5zZXJ0KHAsdSksbi5zZXRTZWxlY3Rpb24oUnQuY3JlYXRlKG4uZG9jLHArMSkpKX1uLnNjcm9sbEludG9WaWV3KCl9cmV0dXJuITB9KS5ydW4oKX0sInNldEhvcml6b250YWxSdWxlIil9fSxhZGRJbnB1dFJ1bGVzKCl7cmV0dXJuW0FyZSh7ZmluZDovXig/Oi0tLXzigJQtfF9fX1xzfFwqXCpcKlxzKSQvLHR5cGU6dGhpcy50eXBlfSldfX0pfSk7dmFyIHQyYSxhMmEscjJhLHMyYSxRcmUsaTJhPWYoKCk9PntncigpO3QyYT0vKD86XnxccykoXCooPyFccytcKikoKD86W14qXSspKVwqKD8hXHMrXCopKSQvLGEyYT0vKD86XnxccykoXCooPyFccytcKikoKD86W14qXSspKVwqKD8hXHMrXCopKS9nLHIyYT0vKD86XnxccykoXyg/IVxzK18pKCg/OlteX10rKSlfKD8hXHMrXykpJC8sczJhPS8oPzpefFxzKShfKD8hXHMrXykoKD86W15fXSspKV8oPyFccytfKSkvZyxRcmU9c2kuY3JlYXRlKHtuYW1lOiJpdGFsaWMiLGFkZE9wdGlvbnMoKXtyZXR1cm57SFRNTEF0dHJpYnV0ZXM6e319fSxwYXJzZUhUTUwoKXtyZXR1cm5be3RhZzoiZW0ifSx7dGFnOiJpIixnZXRBdHRyczpzKGE9PmEuc3R5bGUuZm9udFN0eWxlIT09Im5vcm1hbCImJm51bGwsImdldEF0dHJzIil9LHtzdHlsZToiZm9udC1zdHlsZT1ub3JtYWwiLGNsZWFyTWFyazpzKGE9PmEudHlwZS5uYW1lPT09dGhpcy5uYW1lLCJjbGVhck1hcmsiKX0se3N0eWxlOiJmb250LXN0eWxlPWl0YWxpYyJ9XX0scmVuZGVySFRNTCh7SFRNTEF0dHJpYnV0ZXM6YX0pe3JldHVyblsiZW0iLFNhKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxhKSwwXX0sYWRkQ29tbWFuZHMoKXtyZXR1cm57c2V0SXRhbGljOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnNldE1hcmsodGhpcy5uYW1lKSwic2V0SXRhbGljIiksdG9nZ2xlSXRhbGljOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnRvZ2dsZU1hcmsodGhpcy5uYW1lKSwidG9nZ2xlSXRhbGljIiksdW5zZXRJdGFsaWM6cygoKT0+KHtjb21tYW5kczphfSk9PmEudW5zZXRNYXJrKHRoaXMubmFtZSksInVuc2V0SXRhbGljIil9fSxhZGRLZXlib2FyZFNob3J0Y3V0cygpe3JldHVybnsiTW9kLWkiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZUl0YWxpYygpLCJNb2QtaSIpLCJNb2QtSSI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlSXRhbGljKCksIk1vZC1JIil9fSxhZGRJbnB1dFJ1bGVzKCl7cmV0dXJuW05uKHtmaW5kOnQyYSx0eXBlOnRoaXMudHlwZX0pLE5uKHtmaW5kOnIyYSx0eXBlOnRoaXMudHlwZX0pXX0sYWRkUGFzdGVSdWxlcygpe3JldHVybltFbyh7ZmluZDphMmEsdHlwZTp0aGlzLnR5cGV9KSxFbyh7ZmluZDpzMmEsdHlwZTp0aGlzLnR5cGV9KV19fSl9KTt2YXIgSnJlLG8yYT1mKCgpPT57Z3IoKTtKcmU9b3IuY3JlYXRlKHtuYW1lOiJsaXN0SXRlbSIsYWRkT3B0aW9ucygpe3JldHVybntIVE1MQXR0cmlidXRlczp7fSxidWxsZXRMaXN0VHlwZU5hbWU6ImJ1bGxldExpc3QiLG9yZGVyZWRMaXN0VHlwZU5hbWU6Im9yZGVyZWRMaXN0In19LGNvbnRlbnQ6InBhcmFncmFwaCBibG9jayoiLGRlZmluaW5nOiEwLHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJsaSJ9XX0scmVuZGVySFRNTCh7SFRNTEF0dHJpYnV0ZXM6YX0pe3JldHVyblsibGkiLFNhKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxhKSwwXX0sYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKXtyZXR1cm57RW50ZXI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMuc3BsaXRMaXN0SXRlbSh0aGlzLm5hbWUpLCJFbnRlciIpLFRhYjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5zaW5rTGlzdEl0ZW0odGhpcy5uYW1lKSwiVGFiIiksIlNoaWZ0LVRhYiI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMubGlmdExpc3RJdGVtKHRoaXMubmFtZSksIlNoaWZ0LVRhYiIpfX19KX0pO3ZhciBzSWEsbjJhLGVYZSxlc2UsbDJhPWYoKCk9PntncigpO3NJYT0ibGlzdEl0ZW0iLG4yYT0idGV4dFN0eWxlIixlWGU9L14oXGQrKVwuXHMkLyxlc2U9b3IuY3JlYXRlKHtuYW1lOiJvcmRlcmVkTGlzdCIsYWRkT3B0aW9ucygpe3JldHVybntpdGVtVHlwZU5hbWU6Imxpc3RJdGVtIixIVE1MQXR0cmlidXRlczp7fSxrZWVwTWFya3M6ITEsa2VlcEF0dHJpYnV0ZXM6ITF9fSxncm91cDoiYmxvY2sgbGlzdCIsY29udGVudCgpe3JldHVybmAke3RoaXMub3B0aW9ucy5pdGVtVHlwZU5hbWV9K2B9LGFkZEF0dHJpYnV0ZXMoKXtyZXR1cm57c3RhcnQ6e2RlZmF1bHQ6MSxwYXJzZUhUTUw6cyhhPT5hLmhhc0F0dHJpYnV0ZSgic3RhcnQiKT9wYXJzZUludChhLmdldEF0dHJpYnV0ZSgic3RhcnQiKXx8IiIsMTApOjEsInBhcnNlSFRNTCIpfSx0eXBlOntkZWZhdWx0Om51bGwscGFyc2VIVE1MOnMoYT0+YS5nZXRBdHRyaWJ1dGUoInR5cGUiKSwicGFyc2VIVE1MIil9fX0scGFyc2VIVE1MKCl7cmV0dXJuW3t0YWc6Im9sIn1dfSxyZW5kZXJIVE1MKHtIVE1MQXR0cmlidXRlczphfSl7bGV0e3N0YXJ0OmUsLi4udH09YTtyZXR1cm4gZT09PTE/WyJvbCIsU2EodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLHQpLDBdOlsib2wiLFNhKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxhKSwwXX0sYWRkQ29tbWFuZHMoKXtyZXR1cm57dG9nZ2xlT3JkZXJlZExpc3Q6cygoKT0+KHtjb21tYW5kczphLGNoYWluOmV9KT0+dGhpcy5vcHRpb25zLmtlZXBBdHRyaWJ1dGVzP2UoKS50b2dnbGVMaXN0KHRoaXMubmFtZSx0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lLHRoaXMub3B0aW9ucy5rZWVwTWFya3MpLnVwZGF0ZUF0dHJpYnV0ZXMoc0lhLHRoaXMuZWRpdG9yLmdldEF0dHJpYnV0ZXMobjJhKSkucnVuKCk6YS50b2dnbGVMaXN0KHRoaXMubmFtZSx0aGlzLm9wdGlvbnMuaXRlbVR5cGVOYW1lLHRoaXMub3B0aW9ucy5rZWVwTWFya3MpLCJ0b2dnbGVPcmRlcmVkTGlzdCIpfX0sYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKXtyZXR1cm57Ik1vZC1TaGlmdC03IjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVPcmRlcmVkTGlzdCgpLCJNb2QtU2hpZnQtNyIpfX0sYWRkSW5wdXRSdWxlcygpe2xldCBhPVEyKHtmaW5kOmVYZSx0eXBlOnRoaXMudHlwZSxnZXRBdHRyaWJ1dGVzOnMoZT0+KHtzdGFydDorZVsxXX0pLCJnZXRBdHRyaWJ1dGVzIiksam9pblByZWRpY2F0ZTpzKChlLHQpPT50LmNoaWxkQ291bnQrdC5hdHRycy5zdGFydD09PStlWzFdLCJqb2luUHJlZGljYXRlIil9KTtyZXR1cm4odGhpcy5vcHRpb25zLmtlZXBNYXJrc3x8dGhpcy5vcHRpb25zLmtlZXBBdHRyaWJ1dGVzKSYmKGE9UTIoe2ZpbmQ6ZVhlLHR5cGU6dGhpcy50eXBlLGtlZXBNYXJrczp0aGlzLm9wdGlvbnMua2VlcE1hcmtzLGtlZXBBdHRyaWJ1dGVzOnRoaXMub3B0aW9ucy5rZWVwQXR0cmlidXRlcyxnZXRBdHRyaWJ1dGVzOnMoZT0+KHtzdGFydDorZVsxXSwuLi50aGlzLmVkaXRvci5nZXRBdHRyaWJ1dGVzKG4yYSl9KSwiZ2V0QXR0cmlidXRlcyIpLGpvaW5QcmVkaWNhdGU6cygoZSx0KT0+dC5jaGlsZENvdW50K3QuYXR0cnMuc3RhcnQ9PT0rZVsxXSwiam9pblByZWRpY2F0ZSIpLGVkaXRvcjp0aGlzLmVkaXRvcn0pKSxbYV19fSl9KTt2YXIgdHNlLGMyYT1mKCgpPT57Z3IoKTt0c2U9b3IuY3JlYXRlKHtuYW1lOiJwYXJhZ3JhcGgiLHByaW9yaXR5OjFlMyxhZGRPcHRpb25zKCl7cmV0dXJue0hUTUxBdHRyaWJ1dGVzOnt9fX0sZ3JvdXA6ImJsb2NrIixjb250ZW50OiJpbmxpbmUqIixwYXJzZUhUTUwoKXtyZXR1cm5be3RhZzoicCJ9XX0scmVuZGVySFRNTCh7SFRNTEF0dHJpYnV0ZXM6YX0pe3JldHVyblsicCIsU2EodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLGEpLDBdfSxhZGRDb21tYW5kcygpe3JldHVybntzZXRQYXJhZ3JhcGg6cygoKT0+KHtjb21tYW5kczphfSk9PmEuc2V0Tm9kZSh0aGlzLm5hbWUpLCJzZXRQYXJhZ3JhcGgiKX19LGFkZEtleWJvYXJkU2hvcnRjdXRzKCl7cmV0dXJueyJNb2QtQWx0LTAiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnNldFBhcmFncmFwaCgpLCJNb2QtQWx0LTAiKX19fSl9KTt2YXIgZDJhLHUyYSxhc2UscDJhPWYoKCk9PntncigpO2QyYT0vKD86Xnxccykofn4oPyFccyt+fikoKD86W15+XSspKX5+KD8hXHMrfn4pKSQvLHUyYT0vKD86Xnxccykofn4oPyFccyt+fikoKD86W15+XSspKX5+KD8hXHMrfn4pKS9nLGFzZT1zaS5jcmVhdGUoe25hbWU6InN0cmlrZSIsYWRkT3B0aW9ucygpe3JldHVybntIVE1MQXR0cmlidXRlczp7fX19LHBhcnNlSFRNTCgpe3JldHVyblt7dGFnOiJzIn0se3RhZzoiZGVsIn0se3RhZzoic3RyaWtlIn0se3N0eWxlOiJ0ZXh0LWRlY29yYXRpb24iLGNvbnN1bWluZzohMSxnZXRBdHRyczpzKGE9PmEuaW5jbHVkZXMoImxpbmUtdGhyb3VnaCIpP3t9OiExLCJnZXRBdHRycyIpfV19LHJlbmRlckhUTUwoe0hUTUxBdHRyaWJ1dGVzOmF9KXtyZXR1cm5bInMiLFNhKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxhKSwwXX0sYWRkQ29tbWFuZHMoKXtyZXR1cm57c2V0U3RyaWtlOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnNldE1hcmsodGhpcy5uYW1lKSwic2V0U3RyaWtlIiksdG9nZ2xlU3RyaWtlOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT5hLnRvZ2dsZU1hcmsodGhpcy5uYW1lKSwidG9nZ2xlU3RyaWtlIiksdW5zZXRTdHJpa2U6cygoKT0+KHtjb21tYW5kczphfSk9PmEudW5zZXRNYXJrKHRoaXMubmFtZSksInVuc2V0U3RyaWtlIil9fSxhZGRLZXlib2FyZFNob3J0Y3V0cygpe3JldHVybnsiTW9kLVNoaWZ0LXMiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnRvZ2dsZVN0cmlrZSgpLCJNb2QtU2hpZnQtcyIpfX0sYWRkSW5wdXRSdWxlcygpe3JldHVybltObih7ZmluZDpkMmEsdHlwZTp0aGlzLnR5cGV9KV19LGFkZFBhc3RlUnVsZXMoKXtyZXR1cm5bRW8oe2ZpbmQ6dTJhLHR5cGU6dGhpcy50eXBlfSldfX0pfSk7dmFyIHJzZSxmMmE9ZigoKT0+e2dyKCk7cnNlPW9yLmNyZWF0ZSh7bmFtZToidGV4dCIsZ3JvdXA6ImlubGluZSJ9KX0pO3ZhciBoMmE9e307bHQoaDJhLHtTdGFydGVyS2l0OigpPT50WGUsZGVmYXVsdDooKT0+dFhlfSk7dmFyIHRYZSxtMmE9ZigoKT0+e2dyKCk7TTFhKCk7XzFhKCk7TDFhKCk7QTFhKCk7STFhKCk7TjFhKCk7RjFhKCk7VjFhKCk7ajFhKCk7VTFhKCk7SjFhKCk7ZTJhKCk7aTJhKCk7bzJhKCk7bDJhKCk7YzJhKCk7cDJhKCk7ZjJhKCk7dFhlPXdyLmNyZWF0ZSh7bmFtZToic3RhcnRlcktpdCIsYWRkRXh0ZW5zaW9ucygpe2xldCBhPVtdO3JldHVybiB0aGlzLm9wdGlvbnMuYm9sZCE9PSExJiZhLnB1c2goSXJlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuYm9sZCkpLHRoaXMub3B0aW9ucy5ibG9ja3F1b3RlIT09ITEmJmEucHVzaChQcmUuY29uZmlndXJlKHRoaXMub3B0aW9ucy5ibG9ja3F1b3RlKSksdGhpcy5vcHRpb25zLmJ1bGxldExpc3QhPT0hMSYmYS5wdXNoKE5yZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmJ1bGxldExpc3QpKSx0aGlzLm9wdGlvbnMuY29kZSE9PSExJiZhLnB1c2goUnJlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuY29kZSkpLHRoaXMub3B0aW9ucy5jb2RlQmxvY2shPT0hMSYmYS5wdXNoKE9yZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmNvZGVCbG9jaykpLHRoaXMub3B0aW9ucy5kb2N1bWVudCE9PSExJiZhLnB1c2goRnJlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuZG9jdW1lbnQpKSx0aGlzLm9wdGlvbnMuZHJvcGN1cnNvciE9PSExJiZhLnB1c2goQnJlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuZHJvcGN1cnNvcikpLHRoaXMub3B0aW9ucy5nYXBjdXJzb3IhPT0hMSYmYS5wdXNoKHFyZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmdhcGN1cnNvcikpLHRoaXMub3B0aW9ucy5oYXJkQnJlYWshPT0hMSYmYS5wdXNoKFZyZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmhhcmRCcmVhaykpLHRoaXMub3B0aW9ucy5oZWFkaW5nIT09ITEmJmEucHVzaChqcmUuY29uZmlndXJlKHRoaXMub3B0aW9ucy5oZWFkaW5nKSksdGhpcy5vcHRpb25zLmhpc3RvcnkhPT0hMSYmYS5wdXNoKFpyZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmhpc3RvcnkpKSx0aGlzLm9wdGlvbnMuaG9yaXpvbnRhbFJ1bGUhPT0hMSYmYS5wdXNoKFhyZS5jb25maWd1cmUodGhpcy5vcHRpb25zLmhvcml6b250YWxSdWxlKSksdGhpcy5vcHRpb25zLml0YWxpYyE9PSExJiZhLnB1c2goUXJlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMuaXRhbGljKSksdGhpcy5vcHRpb25zLmxpc3RJdGVtIT09ITEmJmEucHVzaChKcmUuY29uZmlndXJlKHRoaXMub3B0aW9ucy5saXN0SXRlbSkpLHRoaXMub3B0aW9ucy5vcmRlcmVkTGlzdCE9PSExJiZhLnB1c2goZXNlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMub3JkZXJlZExpc3QpKSx0aGlzLm9wdGlvbnMucGFyYWdyYXBoIT09ITEmJmEucHVzaCh0c2UuY29uZmlndXJlKHRoaXMub3B0aW9ucy5wYXJhZ3JhcGgpKSx0aGlzLm9wdGlvbnMuc3RyaWtlIT09ITEmJmEucHVzaChhc2UuY29uZmlndXJlKHRoaXMub3B0aW9ucy5zdHJpa2UpKSx0aGlzLm9wdGlvbnMudGV4dCE9PSExJiZhLnB1c2gocnNlLmNvbmZpZ3VyZSh0aGlzLm9wdGlvbnMudGV4dCkpLGF9fSl9KTt2YXIgZzJhPXt9O2x0KGcyYSx7VW5kZXJsaW5lOigpPT5hWGUsZGVmYXVsdDooKT0+YVhlfSk7dmFyIGFYZSxiMmE9ZigoKT0+e2dyKCk7YVhlPXNpLmNyZWF0ZSh7bmFtZToidW5kZXJsaW5lIixhZGRPcHRpb25zKCl7cmV0dXJue0hUTUxBdHRyaWJ1dGVzOnt9fX0scGFyc2VIVE1MKCl7cmV0dXJuW3t0YWc6InUifSx7c3R5bGU6InRleHQtZGVjb3JhdGlvbiIsY29uc3VtaW5nOiExLGdldEF0dHJzOnMoYT0+YS5pbmNsdWRlcygidW5kZXJsaW5lIik/e306ITEsImdldEF0dHJzIil9XX0scmVuZGVySFRNTCh7SFRNTEF0dHJpYnV0ZXM6YX0pe3JldHVyblsidSIsU2EodGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLGEpLDBdfSxhZGRDb21tYW5kcygpe3JldHVybntzZXRVbmRlcmxpbmU6cygoKT0+KHtjb21tYW5kczphfSk9PmEuc2V0TWFyayh0aGlzLm5hbWUpLCJzZXRVbmRlcmxpbmUiKSx0b2dnbGVVbmRlcmxpbmU6cygoKT0+KHtjb21tYW5kczphfSk9PmEudG9nZ2xlTWFyayh0aGlzLm5hbWUpLCJ0b2dnbGVVbmRlcmxpbmUiKSx1bnNldFVuZGVybGluZTpzKCgpPT4oe2NvbW1hbmRzOmF9KT0+YS51bnNldE1hcmsodGhpcy5uYW1lKSwidW5zZXRVbmRlcmxpbmUiKX19LGFkZEtleWJvYXJkU2hvcnRjdXRzKCl7cmV0dXJueyJNb2QtdSI6cygoKT0+dGhpcy5lZGl0b3IuY29tbWFuZHMudG9nZ2xlVW5kZXJsaW5lKCksIk1vZC11IiksIk1vZC1VIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy50b2dnbGVVbmRlcmxpbmUoKSwiTW9kLVUiKX19fSl9KTt2YXIgdjJhPXt9O2x0KHYyYSx7VGV4dEFsaWduOigpPT5yWGUsZGVmYXVsdDooKT0+clhlfSk7dmFyIHJYZSx4MmE9ZigoKT0+e2dyKCk7clhlPXdyLmNyZWF0ZSh7bmFtZToidGV4dEFsaWduIixhZGRPcHRpb25zKCl7cmV0dXJue3R5cGVzOltdLGFsaWdubWVudHM6WyJsZWZ0IiwiY2VudGVyIiwicmlnaHQiLCJqdXN0aWZ5Il0sZGVmYXVsdEFsaWdubWVudDpudWxsfX0sYWRkR2xvYmFsQXR0cmlidXRlcygpe3JldHVyblt7dHlwZXM6dGhpcy5vcHRpb25zLnR5cGVzLGF0dHJpYnV0ZXM6e3RleHRBbGlnbjp7ZGVmYXVsdDp0aGlzLm9wdGlvbnMuZGVmYXVsdEFsaWdubWVudCxwYXJzZUhUTUw6cyhhPT57bGV0IGU9YS5zdHlsZS50ZXh0QWxpZ247cmV0dXJuIHRoaXMub3B0aW9ucy5hbGlnbm1lbnRzLmluY2x1ZGVzKGUpP2U6dGhpcy5vcHRpb25zLmRlZmF1bHRBbGlnbm1lbnR9LCJwYXJzZUhUTUwiKSxyZW5kZXJIVE1MOnMoYT0+YS50ZXh0QWxpZ24/e3N0eWxlOmB0ZXh0LWFsaWduOiAke2EudGV4dEFsaWdufWB9Ont9LCJyZW5kZXJIVE1MIil9fX1dfSxhZGRDb21tYW5kcygpe3JldHVybntzZXRUZXh0QWxpZ246cyhhPT4oe2NvbW1hbmRzOmV9KT0+dGhpcy5vcHRpb25zLmFsaWdubWVudHMuaW5jbHVkZXMoYSk/dGhpcy5vcHRpb25zLnR5cGVzLm1hcCh0PT5lLnVwZGF0ZUF0dHJpYnV0ZXModCx7dGV4dEFsaWduOmF9KSkuZXZlcnkodD0+dCk6ITEsInNldFRleHRBbGlnbiIpLHVuc2V0VGV4dEFsaWduOnMoKCk9Pih7Y29tbWFuZHM6YX0pPT50aGlzLm9wdGlvbnMudHlwZXMubWFwKGU9PmEucmVzZXRBdHRyaWJ1dGVzKGUsInRleHRBbGlnbiIpKS5ldmVyeShlPT5lKSwidW5zZXRUZXh0QWxpZ24iKSx0b2dnbGVUZXh0QWxpZ246cyhhPT4oe2VkaXRvcjplLGNvbW1hbmRzOnR9KT0+dGhpcy5vcHRpb25zLmFsaWdubWVudHMuaW5jbHVkZXMoYSk/ZS5pc0FjdGl2ZSh7dGV4dEFsaWduOmF9KT90LnVuc2V0VGV4dEFsaWduKCk6dC5zZXRUZXh0QWxpZ24oYSk6ITEsInRvZ2dsZVRleHRBbGlnbiIpfX0sYWRkS2V5Ym9hcmRTaG9ydGN1dHMoKXtyZXR1cm57Ik1vZC1TaGlmdC1sIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5zZXRUZXh0QWxpZ24oImxlZnQiKSwiTW9kLVNoaWZ0LWwiKSwiTW9kLVNoaWZ0LWUiOnMoKCk9PnRoaXMuZWRpdG9yLmNvbW1hbmRzLnNldFRleHRBbGlnbigiY2VudGVyIiksIk1vZC1TaGlmdC1lIiksIk1vZC1TaGlmdC1yIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5zZXRUZXh0QWxpZ24oInJpZ2h0IiksIk1vZC1TaGlmdC1yIiksIk1vZC1TaGlmdC1qIjpzKCgpPT50aGlzLmVkaXRvci5jb21tYW5kcy5zZXRUZXh0QWxpZ24oImp1c3RpZnkiKSwiTW9kLVNoaWZ0LWoiKX19fSl9KTtmdW5jdGlvbiBjSWEoYSxlKXtyZXR1cm4gYSBpbiBlfHwoZVthXT1bXSksZVthXX1mdW5jdGlvbiBjNShhLGUsdCl7ZVtzWGVdJiYoZVt5V109ITAsZVt3V109ITApLGVbaVhlXSYmKGVbeVddPSEwLGVbb1hlXT0hMCksZVt5V10mJihlW3dXXT0hMCksZVtvWGVdJiYoZVt3V109ITApLGVbd1ddJiYoZVtuWGVdPSEwKSxlW3kyYV0mJihlW25YZV09ITApO2ZvcihsZXQgciBpbiBlKXtsZXQgaT1jSWEocix0KTtpLmluZGV4T2YoYSk8MCYmaS5wdXNoKGEpfX1mdW5jdGlvbiBkSWEoYSxlKXtsZXQgdD17fTtmb3IobGV0IHIgaW4gZSllW3JdLmluZGV4T2YoYSk+PTAmJih0W3JdPSEwKTtyZXR1cm4gdH1mdW5jdGlvbiBaaShhPW51bGwpe3RoaXMuaj17fSx0aGlzLmpyPVtdLHRoaXMuamQ9bnVsbCx0aGlzLnQ9YX1mdW5jdGlvbiBtSWEoYT1bXSl7bGV0IGU9e307WmkuZ3JvdXBzPWU7bGV0IHQ9bmV3IFppO1BzZT09bnVsbCYmKFBzZT0kMmEoaUlhKSksSXNlPT1udWxsJiYoSXNlPSQyYShvSWEpKSxZZSh0LCInIix5c2UpLFllKHQsInsiLGtXKSxZZSh0LCJ9IixTVyksWWUodCwiWyIsaXNlKSxZZSh0LCJdIixvc2UpLFllKHQsIigiLG5zZSksWWUodCwiKSIsbHNlKSxZZSh0LCI8Iixjc2UpLFllKHQsIj4iLGRzZSksWWUodCwiXHVGRjA4Iix1c2UpLFllKHQsIlx1RkYwOSIscHNlKSxZZSh0LCJcdTMwMEMiLGZzZSksWWUodCwiXHUzMDBEIixoc2UpLFllKHQsIlx1MzAwRSIsbXNlKSxZZSh0LCJcdTMwMEYiLGdzZSksWWUodCwiXHVGRjFDIixic2UpLFllKHQsIlx1RkYxRSIsdnNlKSxZZSh0LCImIix4c2UpLFllKHQsIioiLHdzZSksWWUodCwiQCIsejQpLFllKHQsImAiLGtzZSksWWUodCwiXiIsU3NlKSxZZSh0LCI6IixDNCksWWUodCwiLCIsbVhlKSxZZSh0LCIkIix6c2UpLFllKHQsIi4iLGFsKSxZZSh0LCI9IixDc2UpLFllKHQsIiEiLGdYZSksWWUodCwiLSIsUm4pLFllKHQsIiUiLHpXKSxZZSh0LCJ8Iixfc2UpLFllKHQsIisiLFRzZSksWWUodCwiIyIsTHNlKSxZZSh0LCI/IixDVyksWWUodCwnIicsYlhlKSxZZSh0LCIvIixybCksWWUodCwiOyIsdlhlKSxZZSh0LCJ+IixfVyksWWUodCwiXyIsJHNlKSxZZSh0LCJcXCIsTXNlKSxZZSh0LCJcdTMwRkIiLFMyYSk7bGV0IHI9QnIodCxpbCxwWGUse1tzWGVdOiEwfSk7QnIocixpbCxyKTtsZXQgaT1CcihyLHNsLE0yYSx7W3lXXTohMH0pLG89QnIocixWbSxrMmEse1t3V106ITB9KSxuPUJyKHQsc2wsemMse1tpWGVdOiEwfSk7QnIobixpbCxpKSxCcihuLHNsLG4pLEJyKGksaWwsaSksQnIoaSxzbCxpKTtsZXQgbD1Ccih0LFZtLGNYZSx7W29YZV06ITB9KTtCcihsLHNsKSxCcihsLGlsLG8pLEJyKGwsVm0sbCksQnIobyxpbCxvKSxCcihvLHNsKSxCcihvLFZtLG8pO2xldCBkPVllKHQseFhlLGhYZSx7W2xYZV06ITB9KSxjPVllKHQsXzJhLGZYZSx7W2xYZV06ITB9KSxwPUJyKHQsRXNlLGZYZSx7W2xYZV06ITB9KTtZZSh0LHlYZSxwKSxZZShjLHhYZSxkKSxZZShjLHlYZSxwKSxCcihjLEVzZSxwKSxZZShwLF8yYSksWWUocCx4WGUpLEJyKHAsRXNlLHApLFllKHAseVhlLHApO2xldCB1PUJyKHQsQXNlLHoyYSx7W3kyYV06ITB9KTtZZSh1LCIjIiksQnIodSxBc2UsdSksWWUodSxmSWEsdSk7bGV0IG09WWUodSxoSWEpO1llKG0sIiMiKSxCcihtLEFzZSx1KTtsZXQgdj1bW3NsLG5dLFtpbCxpXV0seD1bW3NsLG51bGxdLFtWbSxsXSxbaWwsb11dO2ZvcihsZXQgYj0wO2I8UHNlLmxlbmd0aDtiKyspXzQodCxQc2VbYl0sZFhlLHpjLHYpO2ZvcihsZXQgYj0wO2I8SXNlLmxlbmd0aDtiKyspXzQodCxJc2VbYl0sdVhlLGNYZSx4KTtjNShkWGUse3RsZDohMCxhc2NpaTohMH0sZSksYzUodVhlLHt1dGxkOiEwLGFscGhhOiEwfSxlKSxfNCh0LCJmaWxlIixzc2UsemMsdiksXzQodCwibWFpbHRvIixzc2UsemMsdiksXzQodCwiaHR0cCIscW0semMsdiksXzQodCwiaHR0cHMiLHFtLHpjLHYpLF80KHQsImZ0cCIscW0semMsdiksXzQodCwiZnRwcyIscW0semMsdiksYzUoc3NlLHtzY2hlbWU6ITAsYXNjaWk6ITB9LGUpLGM1KHFtLHtzbGFzaHNjaGVtZTohMCxhc2NpaTohMH0sZSksYT1hLnNvcnQoKGIsZyk9PmJbMF0+Z1swXT8xOi0xKTtmb3IobGV0IGI9MDtiPGEubGVuZ3RoO2IrKyl7bGV0IGc9YVtiXVswXSxrPWFbYl1bMV0/e1tuSWFdOiEwfTp7W2xJYV06ITB9O2cuaW5kZXhPZigiLSIpPj0wP2tbblhlXT0hMDpzbC50ZXN0KGcpP2lsLnRlc3QoZyk/a1t5V109ITA6a1tpWGVdPSEwOmtbc1hlXT0hMCx3MmEodCxnLGcsayl9cmV0dXJuIHcyYSh0LCJsb2NhbGhvc3QiLE1XLHthc2NpaTohMH0pLHQuamQ9bmV3IFppKERzZSkse3N0YXJ0OnQsdG9rZW5zOk9iamVjdC5hc3NpZ24oe2dyb3VwczplfSxDMmEpfX1mdW5jdGlvbiBUMmEoYSxlKXtsZXQgdD1MMmEoZS5yZXBsYWNlKC9bQS1aXS9nLGw9PmwudG9Mb3dlckNhc2UoKSkpLHI9dC5sZW5ndGgsaT1bXSxvPTAsbj0wO2Zvcig7bjxyOyl7bGV0IGw9YSxkPW51bGwsYz0wLHA9bnVsbCx1PS0xLG09LTE7Zm9yKDtuPHImJihkPWwuZ28odFtuXSkpOylsPWQsbC5hY2NlcHRzKCk/KHU9MCxtPTAscD1sKTp1Pj0wJiYodSs9dFtuXS5sZW5ndGgsbSsrKSxjKz10W25dLmxlbmd0aCxvKz10W25dLmxlbmd0aCxuKys7by09dSxuLT1tLGMtPXUsaS5wdXNoKHt0OnAudCx2OmUuc2xpY2Uoby1jLG8pLHM6by1jLGU6b30pfXJldHVybiBpfWZ1bmN0aW9uIEwyYShhKXtsZXQgZT1bXSx0PWEubGVuZ3RoLHI9MDtmb3IoO3I8dDspe2xldCBpPWEuY2hhckNvZGVBdChyKSxvLG49aTw1NTI5Nnx8aT41NjMxOXx8cisxPT09dHx8KG89YS5jaGFyQ29kZUF0KHIrMSkpPDU2MzIwfHxvPjU3MzQzP2Fbcl06YS5zbGljZShyLHIrMik7ZS5wdXNoKG4pLHIrPW4ubGVuZ3RofXJldHVybiBlfWZ1bmN0aW9uIF80KGEsZSx0LHIsaSl7bGV0IG8sbj1lLmxlbmd0aDtmb3IobGV0IGw9MDtsPG4tMTtsKyspe2xldCBkPWVbbF07YS5qW2RdP289YS5qW2RdOihvPW5ldyBaaShyKSxvLmpyPWkuc2xpY2UoKSxhLmpbZF09byksYT1vfXJldHVybiBvPW5ldyBaaSh0KSxvLmpyPWkuc2xpY2UoKSxhLmpbZVtuLTFdXT1vLG99ZnVuY3Rpb24gJDJhKGEpe2xldCBlPVtdLHQ9W10scj0wLGk9IjAxMjM0NTY3ODkiO2Zvcig7cjxhLmxlbmd0aDspe2xldCBvPTA7Zm9yKDtpLmluZGV4T2YoYVtyK29dKT49MDspbysrO2lmKG8+MCl7ZS5wdXNoKHQuam9pbigiIikpO2ZvcihsZXQgbj1wYXJzZUludChhLnN1YnN0cmluZyhyLHIrbyksMTApO24+MDtuLS0pdC5wb3AoKTtyKz1vfWVsc2UgdC5wdXNoKGFbcl0pLHIrK31yZXR1cm4gZX1mdW5jdGlvbiBUVyhhLGU9bnVsbCl7bGV0IHQ9T2JqZWN0LmFzc2lnbih7fSxqbSk7YSYmKHQ9T2JqZWN0LmFzc2lnbih0LGEgaW5zdGFuY2VvZiBUVz9hLm86YSkpO2xldCByPXQuaWdub3JlVGFncyxpPVtdO2ZvcihsZXQgbz0wO288ci5sZW5ndGg7bysrKWkucHVzaChyW29dLnRvVXBwZXJDYXNlKCkpO3RoaXMubz10LGUmJih0aGlzLmRlZmF1bHRSZW5kZXI9ZSksdGhpcy5pZ25vcmVUYWdzPWl9ZnVuY3Rpb24gRDJhKGEpe3JldHVybiBhfWZ1bmN0aW9uIExXKGEsZSl7dGhpcy50PSJ0b2tlbiIsdGhpcy52PWEsdGhpcy50az1lfWZ1bmN0aW9uIFVtKGEsZSl7Y2xhc3MgdCBleHRlbmRzIExXe3N0YXRpY3tzKHRoaXMsIlRva2VuIil9Y29uc3RydWN0b3IoaSxvKXtzdXBlcihpLG8pLHRoaXMudD1hfX1mb3IobGV0IHIgaW4gZSl0LnByb3RvdHlwZVtyXT1lW3JdO3JldHVybiB0LnQ9YSx0fWZ1bmN0aW9uIGJJYSh7Z3JvdXBzOmF9KXtsZXQgZT1hLmRvbWFpbi5jb25jYXQoW3hzZSx3c2UsejQsTXNlLGtzZSxTc2UsenNlLENzZSxSbixwWGUselcsX3NlLFRzZSxMc2UscmwsRHNlLF9XLCRzZV0pLHQ9W3lzZSxDNCxtWGUsYWwsZ1hlLHpXLENXLGJYZSx2WGUsY3NlLGRzZSxrVyxTVyxvc2UsaXNlLG5zZSxsc2UsdXNlLHBzZSxmc2UsaHNlLG1zZSxnc2UsYnNlLHZzZV0scj1beHNlLHlzZSx3c2UsTXNlLGtzZSxTc2UsenNlLENzZSxSbixrVyxTVyx6Vyxfc2UsVHNlLExzZSxDVyxybCxEc2UsX1csJHNlXSxpPU9uKCksbz1ZZShpLF9XKTt0YShvLHIsbyksdGEobyxhLmRvbWFpbixvKTtsZXQgbj1PbigpLGw9T24oKSxkPU9uKCk7dGEoaSxhLmRvbWFpbixuKSx0YShpLGEuc2NoZW1lLGwpLHRhKGksYS5zbGFzaHNjaGVtZSxkKSx0YShuLHIsbyksdGEobixhLmRvbWFpbixuKTtsZXQgYz1ZZShuLHo0KTtZZShvLHo0LGMpLFllKGwsejQsYyksWWUoZCx6NCxjKTtsZXQgcD1ZZShvLGFsKTt0YShwLHIsbyksdGEocCxhLmRvbWFpbixvKTtsZXQgdT1PbigpO3RhKGMsYS5kb21haW4sdSksdGEodSxhLmRvbWFpbix1KTtsZXQgbT1ZZSh1LGFsKTt0YShtLGEuZG9tYWluLHUpO2xldCB2PU9uKHdYZSk7dGEobSxhLnRsZCx2KSx0YShtLGEudXRsZCx2KSxZZShjLE1XLHYpO2xldCB4PVllKHUsUm4pO1llKHgsUm4seCksdGEoeCxhLmRvbWFpbix1KSx0YSh2LGEuZG9tYWluLHUpLFllKHYsYWwsbSksWWUodixSbix4KTtsZXQgYj1ZZSh2LEM0KTt0YShiLGEubnVtZXJpYyx3WGUpO2xldCBnPVllKG4sUm4pLHk9WWUobixhbCk7WWUoZyxSbixnKSx0YShnLGEuZG9tYWluLG4pLHRhKHkscixvKSx0YSh5LGEuZG9tYWluLG4pO2xldCBrPU9uKCRXKTt0YSh5LGEudGxkLGspLHRhKHksYS51dGxkLGspLHRhKGssYS5kb21haW4sbiksdGEoayxyLG8pLFllKGssYWwseSksWWUoayxSbixnKSxZZShrLHo0LGMpO2xldCBDPVllKGssQzQpLE49T24oJFcpO3RhKEMsYS5udW1lcmljLE4pO2xldCBfPU9uKCRXKSx6PU9uKCk7dGEoXyxlLF8pLHRhKF8sdCx6KSx0YSh6LGUsXyksdGEoeix0LHopLFllKGsscmwsXyksWWUoTixybCxfKTtsZXQgTz1ZZShsLEM0KSxUPVllKGQsQzQpLEU9WWUoVCxybCksQj1ZZShFLHJsKTt0YShsLGEuZG9tYWluLG4pLFllKGwsYWwseSksWWUobCxSbixnKSx0YShkLGEuZG9tYWluLG4pLFllKGQsYWwseSksWWUoZCxSbixnKSx0YShPLGEuZG9tYWluLF8pLFllKE8scmwsXyksWWUoTyxDVyxfKSx0YShCLGEuZG9tYWluLF8pLHRhKEIsZSxfKSxZZShCLHJsLF8pO2xldCBNPVtba1csU1ddLFtpc2Usb3NlXSxbbnNlLGxzZV0sW2NzZSxkc2VdLFt1c2UscHNlXSxbZnNlLGhzZV0sW21zZSxnc2VdLFtic2UsdnNlXV07Zm9yKGxldCBTPTA7UzxNLmxlbmd0aDtTKyspe2xldFtQLEFdPU1bU10sRj1ZZShfLFApO1llKHosUCxGKSxZZShGLEEsXyk7bGV0IFc9T24oJFcpO3RhKEYsZSxXKTtsZXQgaj1PbigpO3RhKEYsdCksdGEoVyxlLFcpLHRhKFcsdCxqKSx0YShqLGUsVyksdGEoaix0LGopLFllKFcsQSxfKSxZZShqLEEsXyl9cmV0dXJuIFllKGksTVcsayksWWUoaSxoWGUsQTJhKSx7c3RhcnQ6aSx0b2tlbnM6QzJhfX1mdW5jdGlvbiB2SWEoYSxlLHQpe2xldCByPXQubGVuZ3RoLGk9MCxvPVtdLG49W107Zm9yKDtpPHI7KXtsZXQgbD1hLGQ9bnVsbCxjPW51bGwscD0wLHU9bnVsbCxtPS0xO2Zvcig7aTxyJiYhKGQ9bC5nbyh0W2ldLnQpKTspbi5wdXNoKHRbaSsrXSk7Zm9yKDtpPHImJihjPWR8fGwuZ28odFtpXS50KSk7KWQ9bnVsbCxsPWMsbC5hY2NlcHRzKCk/KG09MCx1PWwpOm0+PTAmJm0rKyxpKysscCsrO2lmKG08MClpLT1wLGk8ciYmKG4ucHVzaCh0W2ldKSxpKyspO2Vsc2V7bi5sZW5ndGg+MCYmKG8ucHVzaChrWGUoTVhlLGUsbikpLG49W10pLGktPW0scC09bTtsZXQgdj11LnQseD10LnNsaWNlKGktcCxpKTtvLnB1c2goa1hlKHYsZSx4KSl9fXJldHVybiBuLmxlbmd0aD4wJiZvLnB1c2goa1hlKE1YZSxlLG4pKSxvfWZ1bmN0aW9uIGtYZShhLGUsdCl7bGV0IHI9dFswXS5zLGk9dFt0Lmxlbmd0aC0xXS5lLG89ZS5zbGljZShyLGkpO3JldHVybiBuZXcgYShvLHQpfWZ1bmN0aW9uIHpYZSgpe3JldHVybiBaaS5ncm91cHM9e30semEuc2Nhbm5lcj1udWxsLHphLnBhcnNlcj1udWxsLHphLnRva2VuUXVldWU9W10semEucGx1Z2luUXVldWU9W10semEuY3VzdG9tU2NoZW1lcz1bXSx6YS5pbml0aWFsaXplZD0hMSx6YX1mdW5jdGlvbiB4SWEoYSxlKXtpZih0eXBlb2YgZSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgRXJyb3IoYGxpbmtpZnlqczogSW52YWxpZCB0b2tlbiBwbHVnaW4gJHtlfSAoZXhwZWN0cyBmdW5jdGlvbilgKTtmb3IobGV0IHQ9MDt0PHphLnRva2VuUXVldWUubGVuZ3RoO3QrKylpZihhPT09emEudG9rZW5RdWV1ZVt0XVswXSl7RFcoYGxpbmtpZnlqczogdG9rZW4gcGx1Z2luICIke2F9IiBhbHJlYWR5IHJlZ2lzdGVyZWQgLSB3aWxsIGJlIG92ZXJ3cml0dGVuYCksemEudG9rZW5RdWV1ZVt0XT1bYSxlXTtyZXR1cm59emEudG9rZW5RdWV1ZS5wdXNoKFthLGVdKSx6YS5pbml0aWFsaXplZCYmRFcoYGxpbmtpZnlqczogYWxyZWFkeSBpbml0aWFsaXplZCAtIHdpbGwgbm90IHJlZ2lzdGVyIHRva2VuIHBsdWdpbiAiJHthfSIgJHtTWGV9YCl9ZnVuY3Rpb24geUlhKGEsZSl7aWYodHlwZW9mIGUhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IEVycm9yKGBsaW5raWZ5anM6IEludmFsaWQgcGx1Z2luICR7ZX0gKGV4cGVjdHMgZnVuY3Rpb24pYCk7Zm9yKGxldCB0PTA7dDx6YS5wbHVnaW5RdWV1ZS5sZW5ndGg7dCsrKWlmKGE9PT16YS5wbHVnaW5RdWV1ZVt0XVswXSl7RFcoYGxpbmtpZnlqczogcGx1Z2luICIke2F9IiBhbHJlYWR5IHJlZ2lzdGVyZWQgLSB3aWxsIGJlIG92ZXJ3cml0dGVuYCksemEucGx1Z2luUXVldWVbdF09W2EsZV07cmV0dXJufXphLnBsdWdpblF1ZXVlLnB1c2goW2EsZV0pLHphLmluaXRpYWxpemVkJiZEVyhgbGlua2lmeWpzOiBhbHJlYWR5IGluaXRpYWxpemVkIC0gd2lsbCBub3QgcmVnaXN0ZXIgcGx1Z2luICIke2F9IiAke1NYZX1gKX1mdW5jdGlvbiBOc2UoYSxlPSExKXtpZih6YS5pbml0aWFsaXplZCYmRFcoYGxpbmtpZnlqczogYWxyZWFkeSBpbml0aWFsaXplZCAtIHdpbGwgbm90IHJlZ2lzdGVyIGN1c3RvbSBzY2hlbWUgIiR7YX0iICR7U1hlfWApLCEvXlswLTlhLXpdKygtWzAtOWEtel0rKSokLy50ZXN0KGEpKXRocm93IG5ldyBFcnJvcihgbGlua2lmeWpzOiBpbmNvcnJlY3Qgc2NoZW1lIGZvcm1hdC4KMS4gTXVzdCBvbmx5IGNvbnRhaW4gZGlnaXRzLCBsb3dlcmNhc2UgQVNDSUkgbGV0dGVycyBvciAiLSIKMi4gQ2Fubm90IHN0YXJ0IG9yIGVuZCB3aXRoICItIgozLiAiLSIgY2Fubm90IHJlcGVhdGApO3phLmN1c3RvbVNjaGVtZXMucHVzaChbYSxlXSl9ZnVuY3Rpb24gUDJhKCl7emEuc2Nhbm5lcj1tSWEoemEuY3VzdG9tU2NoZW1lcyk7Zm9yKGxldCBhPTA7YTx6YS50b2tlblF1ZXVlLmxlbmd0aDthKyspemEudG9rZW5RdWV1ZVthXVsxXSh7c2Nhbm5lcjp6YS5zY2FubmVyfSk7emEucGFyc2VyPWJJYSh6YS5zY2FubmVyLnRva2Vucyk7Zm9yKGxldCBhPTA7YTx6YS5wbHVnaW5RdWV1ZS5sZW5ndGg7YSsrKXphLnBsdWdpblF1ZXVlW2FdWzFdKHtzY2FubmVyOnphLnNjYW5uZXIscGFyc2VyOnphLnBhcnNlcn0pO3JldHVybiB6YS5pbml0aWFsaXplZD0hMCx6YX1mdW5jdGlvbiBXbShhKXtyZXR1cm4gemEuaW5pdGlhbGl6ZWR8fFAyYSgpLHZJYSh6YS5wYXJzZXIuc3RhcnQsYSxUMmEoemEuc2Nhbm5lci5zdGFydCxhKSl9ZnVuY3Rpb24gUnNlKGEsZT1udWxsLHQ9bnVsbCl7aWYoZSYmdHlwZW9mIGU9PSJvYmplY3QiKXtpZih0KXRocm93IEVycm9yKGBsaW5raWZ5anM6IEludmFsaWQgbGluayB0eXBlICR7ZX07IG11c3QgYmUgYSBzdHJpbmdgKTt0PWUsZT1udWxsfWxldCByPW5ldyBUVyh0KSxpPVdtKGEpLG89W107Zm9yKGxldCBuPTA7bjxpLmxlbmd0aDtuKyspe2xldCBsPWlbbl07bC5pc0xpbmsmJighZXx8bC50PT09ZSkmJnIuY2hlY2sobCkmJm8ucHVzaChsLnRvRm9ybWF0dGVkT2JqZWN0KHIpKX1yZXR1cm4gb31mdW5jdGlvbiB3SWEoYSxlPW51bGwpe2xldCB0PVdtKGEpO3JldHVybiB0Lmxlbmd0aD09PTEmJnRbMF0uaXNMaW5rJiYoIWV8fHRbMF0udD09PWUpfXZhciBpSWEsb0lhLHNYZSxpWGUsb1hlLHlXLHdXLG5YZSx5MmEsbklhLGxJYSxsWGUsdGEsQnIsdzJhLFllLHpjLGNYZSxNMmEsazJhLE1XLGRYZSx1WGUsc3NlLHFtLHBYZSxmWGUsaFhlLGtXLFNXLGlzZSxvc2UsbnNlLGxzZSxjc2UsZHNlLHVzZSxwc2UsZnNlLGhzZSxtc2UsZ3NlLGJzZSx2c2UseHNlLHlzZSx3c2UsejQsTXNlLGtzZSxTc2UsQzQsbVhlLHpzZSxhbCxDc2UsZ1hlLFJuLHpXLF9zZSxUc2UsTHNlLENXLGJYZSxTMmEsdlhlLHJsLF9XLCRzZSx6MmEsRHNlLEMyYSxzbCxWbSxBc2UsdUlhLGlsLEVzZSxwSWEsXzJhLHhYZSxmSWEsaElhLHlYZSxQc2UsSXNlLGptLGdJYSx3WGUsTVhlLEEyYSwkVyxFMmEsT24sRFcsU1hlLHphLEkyYT1mKCgpPT57aUlhPSJhYWExcnAzYmIwb3R0M3ZpZTRjMWxlMm9nYWRvNXVkaGFiaTdjMGFkZW15NWNlbnR1cmU2b3VudGFudDBzOW8xdG9yNGQwczF1bHQ0ZTBnMXJvMnRuYTRmMGwxcmljYTVnMGFraGFuNWVuY3k1aTBnMXJidXMzZm9yY2U1dGVsNWtkbjNsMGliYWJhNHBheTRsZmluYW56NnN0YXRlNXkyc2FjZTN0b201bTBhem9uNGVyaWNhbmV4cHJlc3M3ZmFtaWx5MTF4MmZhbTNpY2Ezc3RlcmRhbThuYWx5dGljczdkcm9pZDVxdWFuNHoybzBsMnBhcnRtZW50czhwMGxlNHEwdWFyZWxsZThyMGFiMW1jbzRjaGkzbXkycGEydDBlM3MwZGEyaWEyc29jaWF0ZXM5dDBobGV0YTV0b3JuZXk3dTBjdGlvbjVkaTBibGUzbzNzcG9zdDV0aG9yM28wczR3MHMyeDBhMnowdXJlNWJhMGJ5MmlkdTNuYW1leDRkMWsycjBjZWxvbmE1bGF5Y2FyZDRzNWVmb290NWdhaW5zNnNlYmFsbDVrZXRiYWxsOHVoYXVzNXllcm41YjBjMXQxdmEzY2cxbjJkMWUwYXRzMnV0eTRlcjJybGluNHN0MGJ1eTV0MmYxZzFoMGFydGk1aTBibGUzZDFrZTJuZzBvM28xejJqMWxhY2swZnJpZGF5OW9ja2J1c3RlcjhnMW9tYmVyZzd1ZTNtMHMxdzJuMHBwYXJpYmFzOW8wYXRzM2VocmluZ2VyOGZhMm0xbmQybzBrMGluZzVzY2gydGlrMm9uNHQxdXRpcXVlNngycjBhZGVzY282aWRnZXN0b25lOW9hZHdheTVrZXIzdGhlcjV1c3NlbHM3czF0MXVpbGQwZXJzNnNpbmVzczZ5MXp6M3YxdzF5MXowaDNjYTBiMWZlMmwwbDF2aW5rbGVpbjltMGVyYTNwMm5vbjNwZXRvd241aXRhbDBvbmU4cjBhdmFuNGRzMmUwZXIwczRzMnNhMWUxaDFpbm80dDBlcmluZzVob2xpYzdiYTFuMXJlM2MxZDFlbnRlcjRvMXJuM2YwYTFkMmcxaDBhbmVsMm5lbDRyaXR5NHNlMnQyZWFwM2ludGFpNXJpc3RtYXM2b21lNHVyY2g1aTBwcmlhbmk2cmNsZTRzY28zdGFkZWw0aTBjMnkzazFsMGFpbXM0ZWFuaW5nNmljazJuaWMxcXVlNm90aGluZzV1ZDN1YjBtZWQ2bTFuMW8wYWNoM2RlczNmZmVlNGxsZWdlNG9nbmU1bTBtYmFuazR1bml0eTZwYW55MnJlM3V0ZXI1c2VjNG5kb3Mzc3RydWN0aW9uOHVsdGluZzd0YWN0M3JhY3RvcnM5b2tpbmc0bDFwMnJzaWNhNXVudHJ5NHBvbjBzNHJzZXM2cGEycjBlZGl0MGNhcmQ0dW5pb245aWNrZXQ1b3duM3MxdWlzZTBzNnUwaXNpbmVsbGE5djF3MXgxeTBtcnUzb3UzejJkYWQxbmNlM3RhMWUxaW5nM3N1bjR5MmNsazNkczJlMGFsMGVyMnMzZ3JlZTRsaXZlcnk1bDFvaXR0ZTV0YTNtb2NyYXQ2bnRhbDJpc3Q1c2kwZ240djJobDJpYW1vbmRzNmV0MmdpdGFsNXJlY3Qwb3J5N3Njb3VudDN2ZXI1aDJ5MmoxazFtMW5wMm8wY3MxdG9yNGcxbWFpbnM1dDF3bmxvYWQ3cml2ZTR0djJ1YmFpM25sb3A0cG9udDRyYmFuNXZhZzJyMnoyZWFydGgzdDJjMG8yZGVrYTN1MGNhdGlvbjhlMWcxbWFpbDNlcmNrNW5lcmd5NGdpbmVlcjBpbmc5dGVycHJpc2VzMTBwc29uNHF1aXBtZW50OHIwaWNzc29uNm5pM3MwcTF0YXRlNXQxdTByb3Zpc2lvbjhzMnZlbnRzNXhjaGFuZ2U2cGVydDNvc2VkNHJlc3M1dHJhc3BhY2UxMGZhZ2UyaWwxcndpbmRzNnRoM21pbHk0bjBzMnJtMGVyczVzaGlvbjR0M2VkZXgzZWRiYWNrNnJyYXJpM2VybzZpMGRlbGl0eTVvMmxtMm5hbDFuY2UxaWFsN3JlMHN0b25lNm1kYWxlNnNoMGluZzV0MG5lc3M2ajFrMWxpY2tyM2dodHM0cjJvcmlzdDR3ZXJzNXkybTFvMG8wZDF0YmFsbDZyZDFleDJzYWxlNHVtM3VuZGF0aW9uOHgycjBlZTFzZW5pdXM3bDFvZ2FuczRudGllcjd0cjJ1aml0c3U1bjBkMnJuaXR1cmU3dGJvbDV5aTNnYTBsMGxlcnkzbzF1cDRtZTBzM3AxcmRlbjR5MmIwaXozZDBuMmUwYTFudDBpbmc1b3JnZTVmMWcwZWUzaDFpMGZ0MHMzdmVzMmluZzVsMGFzczNlMW9iYWwybzRtMGFpbDNiaDJvMXgybjFvZGFkZHk1bGQwcG9pbnQ2ZjJvMGR5ZWFyNWcwbGU0cDF0MXYycDFxMXIwYWluZ2VyNXBoaWNzNXRpczRlZW4zaXBlM29jZXJ5NHVwNHMxdDF1MGNjaTNnZTJpZGUydGFyczVydTN3MXkyaGFpcjJtYnVyZzVuZ291dDV1czNibzJkZmMwYmFuazdlYWx0aDBjYXJlOGxwMXNpbmtpNnJlMW1lczVpcGhvcDRzYW1pdHN1N3RhY2hpNXYyazB0Mm0xbjFvY2tleTRsZGluZ3M1aWRheTVtZWRlcG90NWdvb2RzNXMwZW5zZTduZGEzcnNlM3NwaXRhbDV0MGluZzV0MGVsczNtYWlsNXVzZTN3MnIxc2JjM3QxdTBnaGVzNXlhdHQzdW5kYWk3aWJtMmNiYzJlMXUyZDFlMGVlM2ZtMmthbm80bDFtMGFtYXQ0ZGIybW8wYmlsaWVuOW4wYzFkdXN0cmllczhmaW5pdGk1bzJnMWsxc3RpdHV0ZTZ1cmFuY2U0ZTR0MGVybmF0aW9uYWwxMHVpdDR2ZXN0bWVudHMxMG8xcGlyYW5nYTdxMXIwaXNoNHMwbWFpbGk1dDBhbmJ1bDd0MGF1MnYzamFndWFyNHZhM2NiMmUwZXAydHp0M3dlbHJ5NmlvMmxsMm0wcDJuajJvMGJzMXVyZzR0MXkycDBtb3JnYW42cnMzdWVnb3M0bmlwZXI3a2F1ZmVuNWRkaTNlMHJyeWhvdGVsczZwcm9wZXJ0aWVzMTRmaDJnMWgxaTBhMWRzMm0xbmRsZTR0Y2hlbjV3aTNtMW4xb2VsbjNtYXRzdTVzaGVyNXAwbWcybjJyMGQxZWQzdW9rZ3JvdXA4dzF5MG90bzR6MmxhMGNhaXhhNW1ib3JnaGluaThlcjNuZDByb3ZlcjZ4ZXNzNXNhbGxlNXQwaW5vM3JvYmU1dzB5ZXI1YjFjMWRzMmVhc2UzY2xlcmM1ZnJhazRnYWwybzJ4dXM0Z2J0M2kwZGwyZmUwaW5zdXJhbmNlOXN0eWxlN2dodGluZzZrZTJsbHkzbWl0ZWQ0bzJuY29sbjRrMnZlMWluZzVrMWxjMXAyb2FuMHMzY2tlcjN1czNsMW5kb240dHRlMW8zdmUzcGwwZmluYW5jaWFsMTFyMXMxdDBkMGEzdTBuZGJlY2s2eGUxdXJ5NXYxeTJtYTBkcmlkNGlmMXNvbjRrZXVwNG4wYWdlbWVudDdnbzNwMXJrZXQwaW5nM3M0cmlvdHQ1c2hhbGxzN3R0ZWw1YmEyYzBraW5zZXk3ZDFlMGQwaWEzZXQybGJvdXJuZTdtZTFvcmlhbDZuMHUycmNrbXNkN2cxaDFpYW1pM2Nyb3NvZnQ3bDFuaTF0MnQwc3ViaXNoaTlrMWwwYjFzMm0wYTJuMW8wYmkwbGU0ZGEyZTFpMW0xbmFzaDNleTJzdGVyNXJtb24zdGdhZ2U2c2NvdzR0bzByY3ljbGVzOXYwaWU0cDFxMXIxczBkMnQwbjFyMnUwc2V1bTNpYzR2MXcxeDF5MXoybmEwYjFnb3lhNG1lMnZ5M2JhMmMxZTBjMXQwYmFuazRmbGl4NHdvcms1dXN0YXI1dzBzMnh0MGRpcmVjdDd1czRmMGwyZzBvMmhrMmkwY28ya2Uxb24zbmphM3NzYW4xeTVsMW8wa2lhM3J0b240dzBydXozdHY0cDFyMGExdzJ0dDJ1MXljMnoyb2JpMXNlcnZlcjdmZmljZTVraW5hd2E2bGF5YW4wZ3JvdXA5bG8zbTBlZ2E0bmUxZzFsMGluZTVvbzJwZW4zcmFjbGUzbmdlNGcwYW5pYzVpZ2luczZzYWthNHRzdWthNHQydmgzcGEwZ2UybmFzb25pYzdyaXMyczF0bmVyczRzMXkzeTJjY3czZTB0MmYwaXplcjVnMWgwYXJtYWN5NmQxaWxpcHM1b25lMnRvMGdyYXBoeTZzNHlzaW81aWNzMXRldDJ1cmVzNmQxbjBnMWsyb25lZXI1enphNGsxbDBhY2UyeTBzdGF0aW9uOXVtYmluZzVzM20xbjBjMm9obDJrZXIzbGl0aWU1cm4yc3QzcjBheGkzZXNzM2ltZTNvMGQwdWN0aW9uczhmMWdyZXNzaXZlOG1vMnBlcnRpZXMzeTV0ZWN0aW9uOHUwZGVudGlhbDlzMXQxdWIydzBjMnkycWExcG9uM3VlYmVjM3N0NXJhY2luZzRkaW80ZTBhZDFsZXN0YXRlNnRvcjJ5NGNpcGVzNWQwc3RvbmU1dW1icmVsbGE5aGFiM2lzZTBuM3QybGlhbmNlNm4wdDBhbHM1cGFpcjNvcnQzdWJsaWNhbjhzdDBhdXJhbnQ4dmlldzBzNXhyb3RoNmljaDBhcmRsaTZvaDNsMW8xcDJvMGNrczNkZW8zZ2VyczRvbTNzMHZwM3UwZ2J5M2hyMm4ydzBlMnl1a3l1NnNhMGFybGFuZDZmZTB0eTRrdXJhNGxlMW9uM21zY2x1YjR1bmc1bmR2aWswY29yb21hbnQxMm9maTRwMXJsMnMxdmUyeG8zYjBpMXMyYzBiMWhhZWZmbGVyN21pZHQ0b2xhcnNoaXBzOG9sM3VsZTN3YXJ6NWllbmNlNW90M2QxZTBhcmNoM3QyY3VyZTFpdHk2ZWsybGVjdDRuZXIzcnZpY2VzNnZlbjN3MXgweTNmcjJnMWgwYW5ncmlsYTZycDNlbGwzaWExa3NoYTVvZXMycDBwaW5nNXVqaTN3M2kwbGsybmExZ2xlczV0ZTNqMWswaTBuMnkwcGU0bDBpbmc0bTBhcnQzaWxlNG4wY2YzbzBjY2VyM2lhbDRmdGJhbms0d2FyZTZodTJsYXIydXRpb25zN25nMXkyeTJwYTBjZTNvcnQydDNyMGwyczF0MGFkYTJwbGVzNHIxdGViYW5rNGZhcm03YzBncm91cDZvY2tob2xtNnJhZ2UzZTNyZWFtNHVkaW8yeTN5bGU0dTBja3MzcHBsaWVzM3kyb3J0NXJmMWdlcnk1enVraTV2MXdhdGNoNGlzczR4MXkwZG5leTRzdGVtczZ6MnRhYjFpcGVpNGxrMm9iYW80cmdldDR0YW1vdG9yczZyMnRvbzR4MGkzYzBpMmQwazJlYW0yY2gwbm9sb2d5OGwxbWFzZWs1bm5pczR2YTNmMWcxaDBkMWVhdGVyMnJlNmlhYTJja2V0czVlbmRhNHBzMnJlczJvbDRqMG1heHg0eDJrMG1heHg1bDFtMGFsbDRuMW8wZGF5M2t5bzNvbHMzcDFyYXkzc2hpYmE1dGFsM3VyczN3bjJ5b3RhM3MzcjBhZGUxaW5nNGluaW5nNXZlbDBlcnMwaW5zdXJhbmNlMTZ1c3QzdjJ0MXViZTJpMW5lczNzaHU0djBzMncxejJ1YTFiYW5rM3MyZzFrMW5pY29tM3ZlcnNpdHk4bzJvbDJwczJzMXkxejJ2YTBjYXRpb25zN25hMWd1YXJkN2MxZTBnYXMzbnR1cmVzNnJpc2lnbjVtXHhGNmdlbnNiZXJhdGVyMnVuZzE0c2ljaGVydW5nMTB0MmcxaTBhamVzNGRlbzNnMWtpbmc0bGxhczRuMXAxcmdpbjRzYTFpb240dmExbzNsYWFuZGVyZW45bjFvZGthM2x2bzN0ZTFpbmczbzJ5YWdlNXUyd2FsZXMybWFydDR0ZXI0bmcwZ291NXRjaDBlczZlYXRoZXIwY2hhbm5lbDEyYmNhbTNlcjJzaXRlNWQwZGluZzVpYm8ycjNmMWhvc3dobzZpZW4ya2kybGxpYW1oaWxsOW4wZG93czRlMW5lcnM2bWUyb2x0ZXJza2x1d2VyMTFvZHNpZGU2cmswczJsZDN3MnMxdGMxZjN4Ym94M2Vyb3g0aWh1YW40bjJ4eDJ5ejN5YWNodHM0aG9vM21heHVuNW5kZXg1ZTFvZG9iYXNoaTdnYTJrb2hhbWE2dTB0dWJlNnQxdW4zemEwcHBvczRyYTNlcm8zaXAybTFvbmUzdWVyaWNoNncyIixvSWE9Ilx1MDNCNVx1MDNCQjFcdTAzQzUyXHUwNDMxXHUwNDMzMVx1MDQzNVx1MDQzQjNcdTA0MzRcdTA0MzVcdTA0NDJcdTA0Mzg0XHUwNDM1XHUwNDRFMlx1MDQzQVx1MDQzMFx1MDQ0Mlx1MDQzRVx1MDQzQlx1MDQzOFx1MDQzQTZcdTA0M0VcdTA0M0MzXHUwNDNDXHUwNDNBXHUwNDM0Mlx1MDQzRVx1MDQzRDFcdTA0NDFcdTA0M0FcdTA0MzJcdTA0MzA2XHUwNDNFXHUwNDNEXHUwNDNCXHUwNDMwXHUwNDM5XHUwNDNENVx1MDQ0MFx1MDQzMzNcdTA0NDBcdTA0NDNcdTA0NDEyXHUwNDQ0Mlx1MDQ0MVx1MDQzMFx1MDQzOVx1MDQ0MjNcdTA0NDBcdTA0MzEzXHUwNDQzXHUwNDNBXHUwNDQwM1x1MDQ5Qlx1MDQzMFx1MDQzNzNcdTA1NzBcdTA1NjFcdTA1NzUzXHUwNUQ5XHUwNUU5XHUwNUU4XHUwNUQwXHUwNURDNVx1MDVFN1x1MDVENVx1MDVERDNcdTA2MjdcdTA2MjhcdTA2NDhcdTA2MzhcdTA2MjhcdTA2NEE1XHUwNjMxXHUwNjI3XHUwNjQ1XHUwNjQzXHUwNjQ4NVx1MDY0NFx1MDYyN1x1MDYzMVx1MDYyRlx1MDY0NjRcdTA2MjhcdTA2MkRcdTA2MzFcdTA2NEFcdTA2NDY1XHUwNjJDXHUwNjMyXHUwNjI3XHUwNjI2XHUwNjMxNVx1MDYzM1x1MDYzOVx1MDY0OFx1MDYyRlx1MDY0QVx1MDYyOTZcdTA2MzlcdTA2NDRcdTA2NEFcdTA2MjdcdTA2NDY1XHUwNjQ1XHUwNjNBXHUwNjMxXHUwNjI4NVx1MDY0NVx1MDYyN1x1MDYzMVx1MDYyN1x1MDYyQTVcdTA2Q0NcdTA2MzFcdTA2MjdcdTA2NDY1XHUwNjI4XHUwNjI3XHUwNjMxXHUwNjJBMlx1MDYzMlx1MDYyN1x1MDYzMTRcdTA2NEFcdTA2MkFcdTA2NDMzXHUwNkJFXHUwNjI3XHUwNjMxXHUwNjJBNVx1MDYyQVx1MDY0OFx1MDY0Nlx1MDYzMzRcdTA2MzNcdTA2NDhcdTA2MkZcdTA2MjdcdTA2NDYzXHUwNjMxXHUwNjRBXHUwNjI5NVx1MDYzNFx1MDYyOFx1MDY0M1x1MDYyOTRcdTA2MzlcdTA2MzFcdTA2MjdcdTA2NDIyXHUwNjI4Mlx1MDY0NVx1MDYyN1x1MDY0NjRcdTA2NDFcdTA2NDRcdTA2MzNcdTA2MzdcdTA2NEFcdTA2NDY2XHUwNjQyXHUwNjM3XHUwNjMxM1x1MDY0M1x1MDYyN1x1MDYyQlx1MDY0OFx1MDY0NFx1MDY0QVx1MDY0MzZcdTA2NDhcdTA2NDUzXHUwNjQ1XHUwNjM1XHUwNjMxMlx1MDY0NFx1MDY0QVx1MDYzM1x1MDY0QVx1MDYyNzVcdTA2NDhcdTA2MzFcdTA2NEFcdTA2MkFcdTA2MjdcdTA2NDZcdTA2NEFcdTA2Mjc3XHUwNjQyXHUwNjM5NFx1MDY0N1x1MDY0NVx1MDYzMVx1MDYyN1x1MDY0NzVcdTA2N0VcdTA2MjdcdTA2QTlcdTA2MzNcdTA2MkFcdTA2MjdcdTA2NDY3XHUwNjgwXHUwNjI3XHUwNjMxXHUwNjJBNFx1MDkxNVx1MDk0OVx1MDkyRTNcdTA5MjhcdTA5NDdcdTA5MUYzXHUwOTJEXHUwOTNFXHUwOTMwXHUwOTI0MFx1MDkyRVx1MDk0RDNcdTA5NEJcdTA5MjQ1XHUwOTM4XHUwOTAyXHUwOTE3XHUwOTIwXHUwOTI4NVx1MDlBQ1x1MDlCRVx1MDk4Mlx1MDlCMlx1MDlCRTVcdTA5QURcdTA5QkVcdTA5QjBcdTA5QTQyXHUwOUYwXHUwOUE0NFx1MEEyRFx1MEEzRVx1MEEzMFx1MEEyNDRcdTBBQURcdTBBQkVcdTBBQjBcdTBBQTQ0XHUwQjJEXHUwQjNFXHUwQjMwXHUwQjI0NFx1MEI4N1x1MEJBOFx1MEJDRFx1MEJBNFx1MEJCRlx1MEJBRlx1MEJCRTZcdTBCQjJcdTBCOTlcdTBCQ0RcdTBCOTVcdTBCQzg2XHUwQjlBXHUwQkJGXHUwQjk5XHUwQkNEXHUwQjk1XHUwQkFBXHUwQkNEXHUwQkFBXHUwQkMyXHUwQkIwXHUwQkNEMTFcdTBDMkRcdTBDM0VcdTBDMzBcdTBDMjRcdTBDNEQ1XHUwQ0FEXHUwQ0JFXHUwQ0IwXHUwQ0E0NFx1MEQyRFx1MEQzRVx1MEQzMFx1MEQyNFx1MEQwMjVcdTBEQkRcdTBEODJcdTBEOUFcdTBEQ0Y0XHUwRTA0XHUwRTJEXHUwRTIxM1x1MEU0NFx1MEUxN1x1MEUyMjNcdTBFQTVcdTBFQjJcdTBFQTczXHUxMEQyXHUxMEQ0Mlx1MzA3Rlx1MzA5M1x1MzA2QTNcdTMwQTJcdTMwREVcdTMwQkVcdTMwRjM0XHUzMEFGXHUzMEU5XHUzMEE2XHUzMEM5NFx1MzBCMFx1MzBGQ1x1MzBCMFx1MzBFQjRcdTMwQjNcdTMwRTAyXHUzMEI5XHUzMEM4XHUzMEEyM1x1MzBCQlx1MzBGQ1x1MzBFQjNcdTMwRDVcdTMwQTFcdTMwQzNcdTMwQjdcdTMwRTdcdTMwRjM2XHUzMEREXHUzMEE0XHUzMEYzXHUzMEM4NFx1NEUxNlx1NzU0QzJcdTRFMkRcdTRGRTExXHU1NkZEMVx1NTcwQjFcdTY1ODdcdTdGNTEzXHU0RTlBXHU5QTZDXHU5MDBBM1x1NEYwMVx1NEUxQTJcdTRGNUJcdTVDNzEyXHU0RkUxXHU2MDZGMlx1NTA2NVx1NUVCNzJcdTUxNkJcdTUzNjYyXHU1MTZDXHU1M0Y4MVx1NzZDQTJcdTUzRjBcdTZFN0UxXHU3MDYzMlx1NTU0Nlx1NTdDRTFcdTVFOTcxXHU2ODA3Mlx1NTYwOVx1OTFDQzBcdTU5MjdcdTkxNTJcdTVFOTc1XHU1NzI4XHU3RUJGMlx1NTkyN1x1NjJGRjJcdTU5MjlcdTRFM0JcdTY1NTkzXHU1QTMxXHU0RTUwMlx1NUJCNlx1OTZGQjJcdTVFN0ZcdTRFMUMyXHU1RkFFXHU1MzVBMlx1NjE0OFx1NTU4NDJcdTYyMTFcdTcyMzFcdTRGNjAzXHU2MjRCXHU2NzNBMlx1NjJEQlx1ODA1ODJcdTY1M0ZcdTUyQTExXHU1RTlDMlx1NjVCMFx1NTJBMFx1NTc2MTJcdTk1RkIyXHU2NUY2XHU1QzFBMlx1NjZGOFx1N0M0RDJcdTY3M0FcdTY3ODQyXHU2REUxXHU5QTZDXHU5NTIxM1x1NkUzOFx1NjIwRjJcdTZGQjNcdTk1ODAyXHU3MEI5XHU3NzBCMlx1NzlGQlx1NTJBODJcdTdFQzRcdTdFQzdcdTY3M0FcdTY3ODQ0XHU3RjUxXHU1NzQwMVx1NUU5NzFcdTdBRDkxXHU3RURDMlx1ODA1NFx1OTAxQTJcdThDMzdcdTZCNEMyXHU4RDJEXHU3MjY5Mlx1OTAxQVx1OENBOTJcdTk2QzZcdTU2RTIyXHU5NkZCXHU4QTBBXHU3NkM4XHU3OUQxNFx1OThERVx1NTIyOVx1NkQ2NjNcdTk4REZcdTU0QzEyXHU5OTEwXHU1Mzg1Mlx1OTk5OVx1NjgzQ1x1OTFDQ1x1NjJDOTNcdTZFMkYyXHVCMkY3XHVCMTM3MVx1Q0VGNDJcdUMwQkNcdUMxMzEyXHVENTVDXHVBRDZEMiIsc1hlPSJudW1lcmljIixpWGU9ImFzY2lpIixvWGU9ImFscGhhIix5Vz0iYXNjaWludW1lcmljIix3Vz0iYWxwaGFudW1lcmljIixuWGU9ImRvbWFpbiIseTJhPSJlbW9qaSIsbklhPSJzY2hlbWUiLGxJYT0ic2xhc2hzY2hlbWUiLGxYZT0id2hpdGVzcGFjZSI7cyhjSWEsInJlZ2lzdGVyR3JvdXAiKTtzKGM1LCJhZGRUb0dyb3VwcyIpO3MoZElhLCJmbGFnc0ZvclRva2VuIik7cyhaaSwiU3RhdGUiKSxaaS5ncm91cHM9e30sWmkucHJvdG90eXBlPXthY2NlcHRzKCl7cmV0dXJuISF0aGlzLnR9LGdvKGEpe2xldCBlPXRoaXMsdD1lLmpbYV07aWYodClyZXR1cm4gdDtmb3IobGV0IHI9MDtyPGUuanIubGVuZ3RoO3IrKyl7bGV0IGk9ZS5qcltyXVswXSxvPWUuanJbcl1bMV07aWYobyYmaS50ZXN0KGEpKXJldHVybiBvfXJldHVybiBlLmpkfSxoYXMoYSxlPSExKXtyZXR1cm4gZT9hIGluIHRoaXMuajohIXRoaXMuZ28oYSl9LHRhKGEsZSx0LHIpe2ZvcihsZXQgaT0wO2k8YS5sZW5ndGg7aSsrKXRoaXMudHQoYVtpXSxlLHQscil9LHRyKGEsZSx0LHIpe3I9cnx8WmkuZ3JvdXBzO2xldCBpO3JldHVybiBlJiZlLmo/aT1lOihpPW5ldyBaaShlKSx0JiZyJiZjNShlLHQscikpLHRoaXMuanIucHVzaChbYSxpXSksaX0sdHMoYSxlLHQscil7bGV0IGk9dGhpcyxvPWEubGVuZ3RoO2lmKCFvKXJldHVybiBpO2ZvcihsZXQgbj0wO248by0xO24rKylpPWkudHQoYVtuXSk7cmV0dXJuIGkudHQoYVtvLTFdLGUsdCxyKX0sdHQoYSxlLHQscil7cj1yfHxaaS5ncm91cHM7bGV0IGk9dGhpcztpZihlJiZlLmopcmV0dXJuIGkualthXT1lLGU7bGV0IG89ZSxuLGw9aS5nbyhhKTtpZihsPyhuPW5ldyBaaSxPYmplY3QuYXNzaWduKG4uaixsLmopLG4uanIucHVzaC5hcHBseShuLmpyLGwuanIpLG4uamQ9bC5qZCxuLnQ9bC50KTpuPW5ldyBaaSxvKXtpZihyKWlmKG4udCYmdHlwZW9mIG4udD09InN0cmluZyIpe2xldCBkPU9iamVjdC5hc3NpZ24oZElhKG4udCxyKSx0KTtjNShvLGQscil9ZWxzZSB0JiZjNShvLHQscik7bi50PW99cmV0dXJuIGkualthXT1uLG59fTt0YT1zKChhLGUsdCxyLGkpPT5hLnRhKGUsdCxyLGkpLCJ0YSIpLEJyPXMoKGEsZSx0LHIsaSk9PmEudHIoZSx0LHIsaSksInRyIiksdzJhPXMoKGEsZSx0LHIsaSk9PmEudHMoZSx0LHIsaSksInRzIiksWWU9cygoYSxlLHQscixpKT0+YS50dChlLHQscixpKSwidHQiKSx6Yz0iV09SRCIsY1hlPSJVV09SRCIsTTJhPSJBU0NJSU5VTUVSSUNBTCIsazJhPSJBTFBIQU5VTUVSSUNBTCIsTVc9IkxPQ0FMSE9TVCIsZFhlPSJUTEQiLHVYZT0iVVRMRCIsc3NlPSJTQ0hFTUUiLHFtPSJTTEFTSF9TQ0hFTUUiLHBYZT0iTlVNIixmWGU9IldTIixoWGU9Ik5MIixrVz0iT1BFTkJSQUNFIixTVz0iQ0xPU0VCUkFDRSIsaXNlPSJPUEVOQlJBQ0tFVCIsb3NlPSJDTE9TRUJSQUNLRVQiLG5zZT0iT1BFTlBBUkVOIixsc2U9IkNMT1NFUEFSRU4iLGNzZT0iT1BFTkFOR0xFQlJBQ0tFVCIsZHNlPSJDTE9TRUFOR0xFQlJBQ0tFVCIsdXNlPSJGVUxMV0lEVEhMRUZUUEFSRU4iLHBzZT0iRlVMTFdJRFRIUklHSFRQQVJFTiIsZnNlPSJMRUZUQ09STkVSQlJBQ0tFVCIsaHNlPSJSSUdIVENPUk5FUkJSQUNLRVQiLG1zZT0iTEVGVFdISVRFQ09STkVSQlJBQ0tFVCIsZ3NlPSJSSUdIVFdISVRFQ09STkVSQlJBQ0tFVCIsYnNlPSJGVUxMV0lEVEhMRVNTVEhBTiIsdnNlPSJGVUxMV0lEVEhHUkVBVEVSVEhBTiIseHNlPSJBTVBFUlNBTkQiLHlzZT0iQVBPU1RST1BIRSIsd3NlPSJBU1RFUklTSyIsejQ9IkFUIixNc2U9IkJBQ0tTTEFTSCIsa3NlPSJCQUNLVElDSyIsU3NlPSJDQVJFVCIsQzQ9IkNPTE9OIixtWGU9IkNPTU1BIix6c2U9IkRPTExBUiIsYWw9IkRPVCIsQ3NlPSJFUVVBTFMiLGdYZT0iRVhDTEFNQVRJT04iLFJuPSJIWVBIRU4iLHpXPSJQRVJDRU5UIixfc2U9IlBJUEUiLFRzZT0iUExVUyIsTHNlPSJQT1VORCIsQ1c9IlFVRVJZIixiWGU9IlFVT1RFIixTMmE9IkZVTExXSURUSE1JRERMRURPVCIsdlhlPSJTRU1JIixybD0iU0xBU0giLF9XPSJUSUxERSIsJHNlPSJVTkRFUlNDT1JFIix6MmE9IkVNT0pJIixEc2U9IlNZTSIsQzJhPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLEFMUEhBTlVNRVJJQ0FMOmsyYSxBTVBFUlNBTkQ6eHNlLEFQT1NUUk9QSEU6eXNlLEFTQ0lJTlVNRVJJQ0FMOk0yYSxBU1RFUklTSzp3c2UsQVQ6ejQsQkFDS1NMQVNIOk1zZSxCQUNLVElDSzprc2UsQ0FSRVQ6U3NlLENMT1NFQU5HTEVCUkFDS0VUOmRzZSxDTE9TRUJSQUNFOlNXLENMT1NFQlJBQ0tFVDpvc2UsQ0xPU0VQQVJFTjpsc2UsQ09MT046QzQsQ09NTUE6bVhlLERPTExBUjp6c2UsRE9UOmFsLEVNT0pJOnoyYSxFUVVBTFM6Q3NlLEVYQ0xBTUFUSU9OOmdYZSxGVUxMV0lEVEhHUkVBVEVSVEhBTjp2c2UsRlVMTFdJRFRITEVGVFBBUkVOOnVzZSxGVUxMV0lEVEhMRVNTVEhBTjpic2UsRlVMTFdJRFRITUlERExFRE9UOlMyYSxGVUxMV0lEVEhSSUdIVFBBUkVOOnBzZSxIWVBIRU46Um4sTEVGVENPUk5FUkJSQUNLRVQ6ZnNlLExFRlRXSElURUNPUk5FUkJSQUNLRVQ6bXNlLExPQ0FMSE9TVDpNVyxOTDpoWGUsTlVNOnBYZSxPUEVOQU5HTEVCUkFDS0VUOmNzZSxPUEVOQlJBQ0U6a1csT1BFTkJSQUNLRVQ6aXNlLE9QRU5QQVJFTjpuc2UsUEVSQ0VOVDp6VyxQSVBFOl9zZSxQTFVTOlRzZSxQT1VORDpMc2UsUVVFUlk6Q1csUVVPVEU6YlhlLFJJR0hUQ09STkVSQlJBQ0tFVDpoc2UsUklHSFRXSElURUNPUk5FUkJSQUNLRVQ6Z3NlLFNDSEVNRTpzc2UsU0VNSTp2WGUsU0xBU0g6cmwsU0xBU0hfU0NIRU1FOnFtLFNZTTpEc2UsVElMREU6X1csVExEOmRYZSxVTkRFUlNDT1JFOiRzZSxVVExEOnVYZSxVV09SRDpjWGUsV09SRDp6YyxXUzpmWGV9KSxzbD0vW2Etel0vLFZtPS9ccHtMfS91LEFzZT0vXHB7RW1vaml9L3UsdUlhPS9cdWZlMGYvLGlsPS9cZC8sRXNlPS9ccy8scElhPU9iamVjdC5mcmVlemUoe19fcHJvdG9fXzpudWxsLEFTQ0lJX0xFVFRFUjpzbCxESUdJVDppbCxFTU9KSTpBc2UsRU1PSklfVkFSSUFUSU9OOnVJYSxMRVRURVI6Vm0sU1BBQ0U6RXNlfSksXzJhPSJcciIseFhlPWAKYCxmSWE9Ilx1RkUwRiIsaElhPSJcdTIwMEQiLHlYZT0iXHVGRkZDIixQc2U9bnVsbCxJc2U9bnVsbDtzKG1JYSwiaW5pdCQyIik7cyhUMmEsInJ1biQxIik7cyhMMmEsInN0cmluZ1RvQXJyYXkiKTtzKF80LCJmYXN0dHMiKTtzKCQyYSwiZGVjb2RlVGxkcyIpO2ptPXtkZWZhdWx0UHJvdG9jb2w6Imh0dHAiLGV2ZW50czpudWxsLGZvcm1hdDpEMmEsZm9ybWF0SHJlZjpEMmEsbmwyYnI6ITEsdGFnTmFtZToiYSIsdGFyZ2V0Om51bGwscmVsOm51bGwsdmFsaWRhdGU6ITAsdHJ1bmNhdGU6MS8wLGNsYXNzTmFtZTpudWxsLGF0dHJpYnV0ZXM6bnVsbCxpZ25vcmVUYWdzOltdLHJlbmRlcjpudWxsfTtzKFRXLCJPcHRpb25zIiksVFcucHJvdG90eXBlPXtvOmptLGlnbm9yZVRhZ3M6W10sZGVmYXVsdFJlbmRlcihhKXtyZXR1cm4gYX0sY2hlY2soYSl7cmV0dXJuIHRoaXMuZ2V0KCJ2YWxpZGF0ZSIsYS50b1N0cmluZygpLGEpfSxnZXQoYSxlLHQpe2xldCByPWUhPW51bGwsaT10aGlzLm9bYV07cmV0dXJuIGkmJih0eXBlb2YgaT09Im9iamVjdCI/KGk9dC50IGluIGk/aVt0LnRdOmptW2FdLHR5cGVvZiBpPT0iZnVuY3Rpb24iJiZyJiYoaT1pKGUsdCkpKTp0eXBlb2YgaT09ImZ1bmN0aW9uIiYmciYmKGk9aShlLHQudCx0KSksaSl9LGdldE9iaihhLGUsdCl7bGV0IHI9dGhpcy5vW2FdO3JldHVybiB0eXBlb2Ygcj09ImZ1bmN0aW9uIiYmZSE9bnVsbCYmKHI9cihlLHQudCx0KSkscn0scmVuZGVyKGEpe2xldCBlPWEucmVuZGVyKHRoaXMpO3JldHVybih0aGlzLmdldCgicmVuZGVyIixudWxsLGEpfHx0aGlzLmRlZmF1bHRSZW5kZXIpKGUsYS50LGEpfX07cyhEMmEsIm5vb3AiKTtnSWE9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsT3B0aW9uczpUVyxkZWZhdWx0czpqbX0pO3MoTFcsIk11bHRpVG9rZW4iKSxMVy5wcm90b3R5cGU9e2lzTGluazohMSx0b1N0cmluZygpe3JldHVybiB0aGlzLnZ9LHRvSHJlZihhKXtyZXR1cm4gdGhpcy50b1N0cmluZygpfSx0b0Zvcm1hdHRlZFN0cmluZyhhKXtsZXQgZT10aGlzLnRvU3RyaW5nKCksdD1hLmdldCgidHJ1bmNhdGUiLGUsdGhpcykscj1hLmdldCgiZm9ybWF0IixlLHRoaXMpO3JldHVybiB0JiZyLmxlbmd0aD50P3Iuc3Vic3RyaW5nKDAsdCkrIlx1MjAyNiI6cn0sdG9Gb3JtYXR0ZWRIcmVmKGEpe3JldHVybiBhLmdldCgiZm9ybWF0SHJlZiIsdGhpcy50b0hyZWYoYS5nZXQoImRlZmF1bHRQcm90b2NvbCIpKSx0aGlzKX0sc3RhcnRJbmRleCgpe3JldHVybiB0aGlzLnRrWzBdLnN9LGVuZEluZGV4KCl7cmV0dXJuIHRoaXMudGtbdGhpcy50ay5sZW5ndGgtMV0uZX0sdG9PYmplY3QoYT1qbS5kZWZhdWx0UHJvdG9jb2wpe3JldHVybnt0eXBlOnRoaXMudCx2YWx1ZTp0aGlzLnRvU3RyaW5nKCksaXNMaW5rOnRoaXMuaXNMaW5rLGhyZWY6dGhpcy50b0hyZWYoYSksc3RhcnQ6dGhpcy5zdGFydEluZGV4KCksZW5kOnRoaXMuZW5kSW5kZXgoKX19LHRvRm9ybWF0dGVkT2JqZWN0KGEpe3JldHVybnt0eXBlOnRoaXMudCx2YWx1ZTp0aGlzLnRvRm9ybWF0dGVkU3RyaW5nKGEpLGlzTGluazp0aGlzLmlzTGluayxocmVmOnRoaXMudG9Gb3JtYXR0ZWRIcmVmKGEpLHN0YXJ0OnRoaXMuc3RhcnRJbmRleCgpLGVuZDp0aGlzLmVuZEluZGV4KCl9fSx2YWxpZGF0ZShhKXtyZXR1cm4gYS5nZXQoInZhbGlkYXRlIix0aGlzLnRvU3RyaW5nKCksdGhpcyl9LHJlbmRlcihhKXtsZXQgZT10aGlzLHQ9dGhpcy50b0hyZWYoYS5nZXQoImRlZmF1bHRQcm90b2NvbCIpKSxyPWEuZ2V0KCJmb3JtYXRIcmVmIix0LHRoaXMpLGk9YS5nZXQoInRhZ05hbWUiLHQsZSksbz10aGlzLnRvRm9ybWF0dGVkU3RyaW5nKGEpLG49e30sbD1hLmdldCgiY2xhc3NOYW1lIix0LGUpLGQ9YS5nZXQoInRhcmdldCIsdCxlKSxjPWEuZ2V0KCJyZWwiLHQsZSkscD1hLmdldE9iaigiYXR0cmlidXRlcyIsdCxlKSx1PWEuZ2V0T2JqKCJldmVudHMiLHQsZSk7cmV0dXJuIG4uaHJlZj1yLGwmJihuLmNsYXNzPWwpLGQmJihuLnRhcmdldD1kKSxjJiYobi5yZWw9YykscCYmT2JqZWN0LmFzc2lnbihuLHApLHt0YWdOYW1lOmksYXR0cmlidXRlczpuLGNvbnRlbnQ6byxldmVudExpc3RlbmVyczp1fX19O3MoVW0sImNyZWF0ZVRva2VuQ2xhc3MiKTt3WGU9VW0oImVtYWlsIix7aXNMaW5rOiEwLHRvSHJlZigpe3JldHVybiJtYWlsdG86Iit0aGlzLnRvU3RyaW5nKCl9fSksTVhlPVVtKCJ0ZXh0IiksQTJhPVVtKCJubCIpLCRXPVVtKCJ1cmwiLHtpc0xpbms6ITAsdG9IcmVmKGE9am0uZGVmYXVsdFByb3RvY29sKXtyZXR1cm4gdGhpcy5oYXNQcm90b2NvbCgpP3RoaXMudjpgJHthfTovLyR7dGhpcy52fWB9LGhhc1Byb3RvY29sKCl7bGV0IGE9dGhpcy50aztyZXR1cm4gYS5sZW5ndGg+PTImJmFbMF0udCE9PU1XJiZhWzFdLnQ9PT1DNH19KSxFMmE9T2JqZWN0LmZyZWV6ZSh7X19wcm90b19fOm51bGwsQmFzZTpMVyxFbWFpbDp3WGUsTXVsdGlUb2tlbjpMVyxObDpBMmEsVGV4dDpNWGUsVXJsOiRXLGNyZWF0ZVRva2VuQ2xhc3M6VW19KSxPbj1zKGE9Pm5ldyBaaShhKSwibWFrZVN0YXRlIik7cyhiSWEsImluaXQkMSIpO3ModklhLCJydW4iKTtzKGtYZSwiaW5pdE11bHRpVG9rZW4iKTtEVz10eXBlb2YgY29uc29sZTwidSImJmNvbnNvbGUmJmNvbnNvbGUud2Fybnx8KCgpPT57fSksU1hlPSJ1bnRpbCBtYW51YWwgY2FsbCBvZiBsaW5raWZ5LmluaXQoKS4gUmVnaXN0ZXIgYWxsIHNjaGVtZXMgYW5kIHBsdWdpbnMgYmVmb3JlIGludm9raW5nIGxpbmtpZnkgdGhlIGZpcnN0IHRpbWUuIix6YT17c2Nhbm5lcjpudWxsLHBhcnNlcjpudWxsLHRva2VuUXVldWU6W10scGx1Z2luUXVldWU6W10sY3VzdG9tU2NoZW1lczpbXSxpbml0aWFsaXplZDohMX07cyh6WGUsInJlc2V0Iik7cyh4SWEsInJlZ2lzdGVyVG9rZW5QbHVnaW4iKTtzKHlJYSwicmVnaXN0ZXJQbHVnaW4iKTtzKE5zZSwicmVnaXN0ZXJDdXN0b21Qcm90b2NvbCIpO3MoUDJhLCJpbml0Iik7cyhXbSwidG9rZW5pemUiKSxXbS5zY2FuPVQyYTtzKFJzZSwiZmluZCIpO3Mod0lhLCJ0ZXN0Iil9KTt2YXIgUjJhPXt9O2x0KFIyYSx7TGluazooKT0+X1hlLGRlZmF1bHQ6KCk9Pl9YZSxpc0FsbG93ZWRVcmk6KCk9PkNjLHBhc3RlUmVnZXg6KCk9Pk4yYX0pO2Z1bmN0aW9uIHpJYShhKXtyZXR1cm4gYS5sZW5ndGg9PT0xP2FbMF0uaXNMaW5rOmEubGVuZ3RoPT09MyYmYVsxXS5pc0xpbms/WyIoKSIsIltdIl0uaW5jbHVkZXMoYVswXS52YWx1ZSthWzJdLnZhbHVlKTohMX1mdW5jdGlvbiBDSWEoYSl7cmV0dXJuIG5ldyBhcih7a2V5Om5ldyBmcygiYXV0b2xpbmsiKSxhcHBlbmRUcmFuc2FjdGlvbjpzKChlLHQscik9PntsZXQgaT1lLnNvbWUoYz0+Yy5kb2NDaGFuZ2VkKSYmIXQuZG9jLmVxKHIuZG9jKSxvPWUuc29tZShjPT5jLmdldE1ldGEoInByZXZlbnRBdXRvbGluayIpKTtpZighaXx8bylyZXR1cm47bGV0e3RyOm59PXIsbD1UcmUodC5kb2MsWy4uLmVdKTtpZigkcmUobCkuZm9yRWFjaCgoe25ld1JhbmdlOmN9KT0+e2xldCBwPUxyZShyLmRvYyxjLHY9PnYuaXNUZXh0YmxvY2spLHUsbTtpZihwLmxlbmd0aD4xKXU9cFswXSxtPXIuZG9jLnRleHRCZXR3ZWVuKHUucG9zLHUucG9zK3Uubm9kZS5ub2RlU2l6ZSx2b2lkIDAsIiAiKTtlbHNlIGlmKHAubGVuZ3RoKXtsZXQgdj1yLmRvYy50ZXh0QmV0d2VlbihjLmZyb20sYy50bywiICIsIiAiKTtpZigha0lhLnRlc3QodikpcmV0dXJuO3U9cFswXSxtPXIuZG9jLnRleHRCZXR3ZWVuKHUucG9zLGMudG8sdm9pZCAwLCIgIil9aWYodSYmbSl7bGV0IHY9bS5zcGxpdChNSWEpLmZpbHRlcihCb29sZWFuKTtpZih2Lmxlbmd0aDw9MClyZXR1cm4hMTtsZXQgeD12W3YubGVuZ3RoLTFdLGI9dS5wb3MrbS5sYXN0SW5kZXhPZih4KTtpZigheClyZXR1cm4hMTtsZXQgZz1XbSh4KS5tYXAoeT0+eS50b09iamVjdChhLmRlZmF1bHRQcm90b2NvbCkpO2lmKCF6SWEoZykpcmV0dXJuITE7Zy5maWx0ZXIoeT0+eS5pc0xpbmspLm1hcCh5PT4oey4uLnksZnJvbTpiK3kuc3RhcnQrMSx0bzpiK3kuZW5kKzF9KSkuZmlsdGVyKHk9PnIuc2NoZW1hLm1hcmtzLmNvZGU/IXIuZG9jLnJhbmdlSGFzTWFyayh5LmZyb20seS50byxyLnNjaGVtYS5tYXJrcy5jb2RlKTohMCkuZmlsdGVyKHk9PmEudmFsaWRhdGUoeS52YWx1ZSkpLmZpbHRlcih5PT5hLnNob3VsZEF1dG9MaW5rKHkudmFsdWUpKS5mb3JFYWNoKHk9PntIbSh5LmZyb20seS50byxyLmRvYykuc29tZShrPT5rLm1hcmsudHlwZT09PWEudHlwZSl8fG4uYWRkTWFyayh5LmZyb20seS50byxhLnR5cGUuY3JlYXRlKHtocmVmOnkuaHJlZn0pKX0pfX0pLCEhbi5zdGVwcy5sZW5ndGgpcmV0dXJuIG59LCJhcHBlbmRUcmFuc2FjdGlvbiIpfSl9ZnVuY3Rpb24gX0lhKGEpe3JldHVybiBuZXcgYXIoe2tleTpuZXcgZnMoImhhbmRsZUNsaWNrTGluayIpLHByb3BzOntoYW5kbGVDbGljazpzKChlLHQscik9Pnt2YXIgaSxvO2lmKHIuYnV0dG9uIT09MHx8IWUuZWRpdGFibGUpcmV0dXJuITE7bGV0IG49ci50YXJnZXQsbD1bXTtmb3IoO24ubm9kZU5hbWUhPT0iRElWIjspbC5wdXNoKG4pLG49bi5wYXJlbnROb2RlO2lmKCFsLmZpbmQobT0+bS5ub2RlTmFtZT09PSJBIikpcmV0dXJuITE7bGV0IGQ9eFcoZS5zdGF0ZSxhLnR5cGUubmFtZSksYz1yLnRhcmdldCxwPShpPWM/LmhyZWYpIT09bnVsbCYmaSE9PXZvaWQgMD9pOmQuaHJlZix1PShvPWM/LnRhcmdldCkhPT1udWxsJiZvIT09dm9pZCAwP286ZC50YXJnZXQ7cmV0dXJuIGMmJnA/KHdpbmRvdy5vcGVuKHAsdSksITApOiExfSwiaGFuZGxlQ2xpY2siKX19KX1mdW5jdGlvbiBUSWEoYSl7cmV0dXJuIG5ldyBhcih7a2V5Om5ldyBmcygiaGFuZGxlUGFzdGVMaW5rIikscHJvcHM6e2hhbmRsZVBhc3RlOnMoKGUsdCxyKT0+e2xldHtzdGF0ZTppfT1lLHtzZWxlY3Rpb246b309aSx7ZW1wdHk6bn09bztpZihuKXJldHVybiExO2xldCBsPSIiO3IuY29udGVudC5mb3JFYWNoKGM9PntsKz1jLnRleHRDb250ZW50fSk7bGV0IGQ9UnNlKGwse2RlZmF1bHRQcm90b2NvbDphLmRlZmF1bHRQcm90b2NvbH0pLmZpbmQoYz0+Yy5pc0xpbmsmJmMudmFsdWU9PT1sKTtyZXR1cm4hbHx8IWQ/ITE6YS5lZGl0b3IuY29tbWFuZHMuc2V0TWFyayhhLnR5cGUse2hyZWY6ZC5ocmVmfSl9LCJoYW5kbGVQYXN0ZSIpfX0pfWZ1bmN0aW9uIENjKGEsZSl7bGV0IHQ9WyJodHRwIiwiaHR0cHMiLCJmdHAiLCJmdHBzIiwibWFpbHRvIiwidGVsIiwiY2FsbHRvIiwic21zIiwiY2lkIiwieG1wcCJdO3JldHVybiBlJiZlLmZvckVhY2gocj0+e2xldCBpPXR5cGVvZiByPT0ic3RyaW5nIj9yOnIuc2NoZW1lO2kmJnQucHVzaChpKX0pLCFhfHxhLnJlcGxhY2UoU0lhLCIiKS5tYXRjaChuZXcgUmVnRXhwKGBeKD86KD86JHt0LmpvaW4oInwiKX0pOnxbXmEtel18W2EtejAtOSsuLV0rKD86W15hLXorLi06XXwkKSlgLCJpIikpfXZhciBDWGUsTUlhLGtJYSxTSWEsTjJhLF9YZSxPMmE9ZigoKT0+e2dyKCk7STJhKCk7UVUoKTtDWGU9IltcMC0gXHhBMFx1MTY4MFx1MTgwRVx1MjAwMC1cdTIwMjlcdTIwNUZcdTMwMDBdIixNSWE9bmV3IFJlZ0V4cChDWGUpLGtJYT1uZXcgUmVnRXhwKGAke0NYZX0kYCksU0lhPW5ldyBSZWdFeHAoQ1hlLCJnIik7cyh6SWEsImlzVmFsaWRMaW5rU3RydWN0dXJlIik7cyhDSWEsImF1dG9saW5rIik7cyhfSWEsImNsaWNrSGFuZGxlciIpO3MoVElhLCJwYXN0ZUhhbmRsZXIiKTtOMmE9L2h0dHBzPzpcL1wvKD86d3d3XC4pP1stYS16QS1aMC05QDolLl8rfiM9XXsxLDI1Nn1cLlthLXpBLVpdezIsfVxiKD86Wy1hLXpBLVowLTlAOiUuXyt+Iz0/ISYvXSopKD86Wy1hLXpBLVowLTlAOiUuXyt+Iz0/ISYvXSopL2dpO3MoQ2MsImlzQWxsb3dlZFVyaSIpO19YZT1zaS5jcmVhdGUoe25hbWU6ImxpbmsiLHByaW9yaXR5OjFlMyxrZWVwT25TcGxpdDohMSxleGl0YWJsZTohMCxvbkNyZWF0ZSgpe3RoaXMub3B0aW9ucy52YWxpZGF0ZSYmIXRoaXMub3B0aW9ucy5zaG91bGRBdXRvTGluayYmKHRoaXMub3B0aW9ucy5zaG91bGRBdXRvTGluaz10aGlzLm9wdGlvbnMudmFsaWRhdGUsY29uc29sZS53YXJuKCJUaGUgYHZhbGlkYXRlYCBvcHRpb24gaXMgZGVwcmVjYXRlZC4gUmVuYW1lIHRvIHRoZSBgc2hvdWxkQXV0b0xpbmtgIG9wdGlvbiBpbnN0ZWFkLiIpKSx0aGlzLm9wdGlvbnMucHJvdG9jb2xzLmZvckVhY2goYT0+e2lmKHR5cGVvZiBhPT0ic3RyaW5nIil7TnNlKGEpO3JldHVybn1Oc2UoYS5zY2hlbWUsYS5vcHRpb25hbFNsYXNoZXMpfSl9LG9uRGVzdHJveSgpe3pYZSgpfSxpbmNsdXNpdmUoKXtyZXR1cm4gdGhpcy5vcHRpb25zLmF1dG9saW5rfSxhZGRPcHRpb25zKCl7cmV0dXJue29wZW5PbkNsaWNrOiEwLGxpbmtPblBhc3RlOiEwLGF1dG9saW5rOiEwLHByb3RvY29sczpbXSxkZWZhdWx0UHJvdG9jb2w6Imh0dHAiLEhUTUxBdHRyaWJ1dGVzOnt0YXJnZXQ6Il9ibGFuayIscmVsOiJub29wZW5lciBub3JlZmVycmVyIG5vZm9sbG93IixjbGFzczpudWxsfSxpc0FsbG93ZWRVcmk6cygoYSxlKT0+ISFDYyhhLGUucHJvdG9jb2xzKSwiaXNBbGxvd2VkVXJpIiksdmFsaWRhdGU6cyhhPT4hIWEsInZhbGlkYXRlIiksc2hvdWxkQXV0b0xpbms6cyhhPT4hIWEsInNob3VsZEF1dG9MaW5rIil9fSxhZGRBdHRyaWJ1dGVzKCl7cmV0dXJue2hyZWY6e2RlZmF1bHQ6bnVsbCxwYXJzZUhUTUwoYSl7cmV0dXJuIGEuZ2V0QXR0cmlidXRlKCJocmVmIil9fSx0YXJnZXQ6e2RlZmF1bHQ6dGhpcy5vcHRpb25zLkhUTUxBdHRyaWJ1dGVzLnRhcmdldH0scmVsOntkZWZhdWx0OnRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcy5yZWx9LGNsYXNzOntkZWZhdWx0OnRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcy5jbGFzc319fSxwYXJzZUhUTUwoKXtyZXR1cm5be3RhZzoiYVtocmVmXSIsZ2V0QXR0cnM6cyhhPT57bGV0IGU9YS5nZXRBdHRyaWJ1dGUoImhyZWYiKTtyZXR1cm4hZXx8IXRoaXMub3B0aW9ucy5pc0FsbG93ZWRVcmkoZSx7ZGVmYXVsdFZhbGlkYXRlOnModD0+ISFDYyh0LHRoaXMub3B0aW9ucy5wcm90b2NvbHMpLCJkZWZhdWx0VmFsaWRhdGUiKSxwcm90b2NvbHM6dGhpcy5vcHRpb25zLnByb3RvY29scyxkZWZhdWx0UHJvdG9jb2w6dGhpcy5vcHRpb25zLmRlZmF1bHRQcm90b2NvbH0pPyExOm51bGx9LCJnZXRBdHRycyIpfV19LHJlbmRlckhUTUwoe0hUTUxBdHRyaWJ1dGVzOmF9KXtyZXR1cm4gdGhpcy5vcHRpb25zLmlzQWxsb3dlZFVyaShhLmhyZWYse2RlZmF1bHRWYWxpZGF0ZTpzKGU9PiEhQ2MoZSx0aGlzLm9wdGlvbnMucHJvdG9jb2xzKSwiZGVmYXVsdFZhbGlkYXRlIikscHJvdG9jb2xzOnRoaXMub3B0aW9ucy5wcm90b2NvbHMsZGVmYXVsdFByb3RvY29sOnRoaXMub3B0aW9ucy5kZWZhdWx0UHJvdG9jb2x9KT9bImEiLFNhKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyxhKSwwXTpbImEiLFNhKHRoaXMub3B0aW9ucy5IVE1MQXR0cmlidXRlcyx7Li4uYSxocmVmOiIifSksMF19LGFkZENvbW1hbmRzKCl7cmV0dXJue3NldExpbms6cyhhPT4oe2NoYWluOmV9KT0+e2xldHtocmVmOnR9PWE7cmV0dXJuIHRoaXMub3B0aW9ucy5pc0FsbG93ZWRVcmkodCx7ZGVmYXVsdFZhbGlkYXRlOnMocj0+ISFDYyhyLHRoaXMub3B0aW9ucy5wcm90b2NvbHMpLCJkZWZhdWx0VmFsaWRhdGUiKSxwcm90b2NvbHM6dGhpcy5vcHRpb25zLnByb3RvY29scyxkZWZhdWx0UHJvdG9jb2w6dGhpcy5vcHRpb25zLmRlZmF1bHRQcm90b2NvbH0pP2UoKS5zZXRNYXJrKHRoaXMubmFtZSxhKS5zZXRNZXRhKCJwcmV2ZW50QXV0b2xpbmsiLCEwKS5ydW4oKTohMX0sInNldExpbmsiKSx0b2dnbGVMaW5rOnMoYT0+KHtjaGFpbjplfSk9PntsZXR7aHJlZjp0fT1hO3JldHVybiB0aGlzLm9wdGlvbnMuaXNBbGxvd2VkVXJpKHQse2RlZmF1bHRWYWxpZGF0ZTpzKHI9PiEhQ2Mocix0aGlzLm9wdGlvbnMucHJvdG9jb2xzKSwiZGVmYXVsdFZhbGlkYXRlIikscHJvdG9jb2xzOnRoaXMub3B0aW9ucy5wcm90b2NvbHMsZGVmYXVsdFByb3RvY29sOnRoaXMub3B0aW9ucy5kZWZhdWx0UHJvdG9jb2x9KT9lKCkudG9nZ2xlTWFyayh0aGlzLm5hbWUsYSx7ZXh0ZW5kRW1wdHlNYXJrUmFuZ2U6ITB9KS5zZXRNZXRhKCJwcmV2ZW50QXV0b2xpbmsiLCEwKS5ydW4oKTohMX0sInRvZ2dsZUxpbmsiKSx1bnNldExpbms6cygoKT0+KHtjaGFpbjphfSk9PmEoKS51bnNldE1hcmsodGhpcy5uYW1lLHtleHRlbmRFbXB0eU1hcmtSYW5nZTohMH0pLnNldE1ldGEoInByZXZlbnRBdXRvbGluayIsITApLnJ1bigpLCJ1bnNldExpbmsiKX19LGFkZFBhc3RlUnVsZXMoKXtyZXR1cm5bRW8oe2ZpbmQ6cyhhPT57bGV0IGU9W107aWYoYSl7bGV0e3Byb3RvY29sczp0LGRlZmF1bHRQcm90b2NvbDpyfT10aGlzLm9wdGlvbnMsaT1Sc2UoYSkuZmlsdGVyKG89Pm8uaXNMaW5rJiZ0aGlzLm9wdGlvbnMuaXNBbGxvd2VkVXJpKG8udmFsdWUse2RlZmF1bHRWYWxpZGF0ZTpzKG49PiEhQ2Mobix0KSwiZGVmYXVsdFZhbGlkYXRlIikscHJvdG9jb2xzOnQsZGVmYXVsdFByb3RvY29sOnJ9KSk7aS5sZW5ndGgmJmkuZm9yRWFjaChvPT5lLnB1c2goe3RleHQ6by52YWx1ZSxkYXRhOntocmVmOm8uaHJlZn0saW5kZXg6by5zdGFydH0pKX1yZXR1cm4gZX0sImZpbmQiKSx0eXBlOnRoaXMudHlwZSxnZXRBdHRyaWJ1dGVzOnMoYT0+e3ZhciBlO3JldHVybntocmVmOihlPWEuZGF0YSk9PT1udWxsfHxlPT09dm9pZCAwP3ZvaWQgMDplLmhyZWZ9fSwiZ2V0QXR0cmlidXRlcyIpfSldfSxhZGRQcm9zZU1pcnJvclBsdWdpbnMoKXtsZXQgYT1bXSx7cHJvdG9jb2xzOmUsZGVmYXVsdFByb3RvY29sOnR9PXRoaXMub3B0aW9ucztyZXR1cm4gdGhpcy5vcHRpb25zLmF1dG9saW5rJiZhLnB1c2goQ0lhKHt0eXBlOnRoaXMudHlwZSxkZWZhdWx0UHJvdG9jb2w6dGhpcy5vcHRpb25zLmRlZmF1bHRQcm90b2NvbCx2YWxpZGF0ZTpzKHI9PnRoaXMub3B0aW9ucy5pc0FsbG93ZWRVcmkocix7ZGVmYXVsdFZhbGlkYXRlOnMoaT0+ISFDYyhpLGUpLCJkZWZhdWx0VmFsaWRhdGUiKSxwcm90b2NvbHM6ZSxkZWZhdWx0UHJvdG9jb2w6dH0pLCJ2YWxpZGF0ZSIpLHNob3VsZEF1dG9MaW5rOnRoaXMub3B0aW9ucy5zaG91bGRBdXRvTGlua30pKSx0aGlzLm9wdGlvbnMub3Blbk9uQ2xpY2s9PT0hMCYmYS5wdXNoKF9JYSh7dHlwZTp0aGlzLnR5cGV9KSksdGhpcy5vcHRpb25zLmxpbmtPblBhc3RlJiZhLnB1c2goVElhKHtlZGl0b3I6dGhpcy5lZGl0b3IsZGVmYXVsdFByb3RvY29sOnRoaXMub3B0aW9ucy5kZWZhdWx0UHJvdG9jb2wsdHlwZTp0aGlzLnR5cGV9KSksYX19KX0pO3ZhciBGMmE9e307bHQoRjJhLHtUeXBvZ3JhcGh5OigpPT5aWGUsY2xvc2VEb3VibGVRdW90ZTooKT0+RFhlLGNsb3NlU2luZ2xlUXVvdGU6KCk9PkVYZSxjb3B5cmlnaHQ6KCk9Pk5YZSxkZWZhdWx0OigpPT5aWGUsZWxsaXBzaXM6KCk9PkxYZSxlbURhc2g6KCk9PlRYZSxsYXF1bzooKT0+VlhlLGxlZnRBcnJvdzooKT0+UFhlLG11bHRpcGxpY2F0aW9uOigpPT5VWGUsbm90RXF1YWw6KCk9PnFYZSxvbmVIYWxmOigpPT5CWGUsb25lUXVhcnRlcjooKT0+WVhlLG9wZW5Eb3VibGVRdW90ZTooKT0+JFhlLG9wZW5TaW5nbGVRdW90ZTooKT0+QVhlLHBsdXNNaW51czooKT0+SFhlLHJhcXVvOigpPT5qWGUscmVnaXN0ZXJlZFRyYWRlbWFyazooKT0+RlhlLHJpZ2h0QXJyb3c6KCk9PklYZSxzZXJ2aWNlbWFyazooKT0+T1hlLHN1cGVyc2NyaXB0VGhyZWU6KCk9PkdYZSxzdXBlcnNjcmlwdFR3bzooKT0+V1hlLHRocmVlUXVhcnRlcnM6KCk9PktYZSx0cmFkZW1hcms6KCk9PlJYZX0pO3ZhciBUWGUsTFhlLCRYZSxEWGUsQVhlLEVYZSxQWGUsSVhlLE5YZSxSWGUsT1hlLEZYZSxCWGUsSFhlLHFYZSxWWGUsalhlLFVYZSxXWGUsR1hlLFlYZSxLWGUsWlhlLEIyYT1mKCgpPT57Z3IoKTtUWGU9cyhhPT5tcih7ZmluZDovLS0kLyxyZXBsYWNlOmE/PyJcdTIwMTQifSksImVtRGFzaCIpLExYZT1zKGE9Pm1yKHtmaW5kOi9cLlwuXC4kLyxyZXBsYWNlOmE/PyJcdTIwMjYifSksImVsbGlwc2lzIiksJFhlPXMoYT0+bXIoe2ZpbmQ6Lyg/Ol58W1xze1soPCciXHUyMDE4XHUyMDFDXSkoIikkLyxyZXBsYWNlOmE/PyJcdTIwMUMifSksIm9wZW5Eb3VibGVRdW90ZSIpLERYZT1zKGE9Pm1yKHtmaW5kOi8iJC8scmVwbGFjZTphPz8iXHUyMDFEIn0pLCJjbG9zZURvdWJsZVF1b3RlIiksQVhlPXMoYT0+bXIoe2ZpbmQ6Lyg/Ol58W1xze1soPCciXHUyMDE4XHUyMDFDXSkoJykkLyxyZXBsYWNlOmE/PyJcdTIwMTgifSksIm9wZW5TaW5nbGVRdW90ZSIpLEVYZT1zKGE9Pm1yKHtmaW5kOi8nJC8scmVwbGFjZTphPz8iXHUyMDE5In0pLCJjbG9zZVNpbmdsZVF1b3RlIiksUFhlPXMoYT0+bXIoe2ZpbmQ6LzwtJC8scmVwbGFjZTphPz8iXHUyMTkwIn0pLCJsZWZ0QXJyb3ciKSxJWGU9cyhhPT5tcih7ZmluZDovLT4kLyxyZXBsYWNlOmE/PyJcdTIxOTIifSksInJpZ2h0QXJyb3ciKSxOWGU9cyhhPT5tcih7ZmluZDovXChjXCkkLyxyZXBsYWNlOmE/PyJceEE5In0pLCJjb3B5cmlnaHQiKSxSWGU9cyhhPT5tcih7ZmluZDovXCh0bVwpJC8scmVwbGFjZTphPz8iXHUyMTIyIn0pLCJ0cmFkZW1hcmsiKSxPWGU9cyhhPT5tcih7ZmluZDovXChzbVwpJC8scmVwbGFjZTphPz8iXHUyMTIwIn0pLCJzZXJ2aWNlbWFyayIpLEZYZT1zKGE9Pm1yKHtmaW5kOi9cKHJcKSQvLHJlcGxhY2U6YT8/Ilx4QUUifSksInJlZ2lzdGVyZWRUcmFkZW1hcmsiKSxCWGU9cyhhPT5tcih7ZmluZDovKD86XnxccykoMVwvMilccyQvLHJlcGxhY2U6YT8/Ilx4QkQifSksIm9uZUhhbGYiKSxIWGU9cyhhPT5tcih7ZmluZDovXCtcLy0kLyxyZXBsYWNlOmE/PyJceEIxIn0pLCJwbHVzTWludXMiKSxxWGU9cyhhPT5tcih7ZmluZDovIT0kLyxyZXBsYWNlOmE/PyJcdTIyNjAifSksIm5vdEVxdWFsIiksVlhlPXMoYT0+bXIoe2ZpbmQ6Lzw8JC8scmVwbGFjZTphPz8iXHhBQiJ9KSwibGFxdW8iKSxqWGU9cyhhPT5tcih7ZmluZDovPj4kLyxyZXBsYWNlOmE/PyJceEJCIn0pLCJyYXF1byIpLFVYZT1zKGE9Pm1yKHtmaW5kOi9cZCtccz8oWyp4XSlccz9cZCskLyxyZXBsYWNlOmE/PyJceEQ3In0pLCJtdWx0aXBsaWNhdGlvbiIpLFdYZT1zKGE9Pm1yKHtmaW5kOi9cXjIkLyxyZXBsYWNlOmE/PyJceEIyIn0pLCJzdXBlcnNjcmlwdFR3byIpLEdYZT1zKGE9Pm1yKHtmaW5kOi9cXjMkLyxyZXBsYWNlOmE/PyJceEIzIn0pLCJzdXBlcnNjcmlwdFRocmVlIiksWVhlPXMoYT0+bXIoe2ZpbmQ6Lyg/Ol58XHMpKDFcLzQpXHMkLyxyZXBsYWNlOmE/PyJceEJDIn0pLCJvbmVRdWFydGVyIiksS1hlPXMoYT0+bXIoe2ZpbmQ6Lyg/Ol58XHMpKDNcLzQpXHMkLyxyZXBsYWNlOmE/PyJceEJFIn0pLCJ0aHJlZVF1YXJ0ZXJzIiksWlhlPXdyLmNyZWF0ZSh7bmFtZToidHlwb2dyYXBoeSIsYWRkT3B0aW9ucygpe3JldHVybntjbG9zZURvdWJsZVF1b3RlOiJcdTIwMUQiLGNsb3NlU2luZ2xlUXVvdGU6Ilx1MjAxOSIsY29weXJpZ2h0OiJceEE5IixlbGxpcHNpczoiXHUyMDI2IixlbURhc2g6Ilx1MjAxNCIsbGFxdW86Ilx4QUIiLGxlZnRBcnJvdzoiXHUyMTkwIixtdWx0aXBsaWNhdGlvbjoiXHhENyIsbm90RXF1YWw6Ilx1MjI2MCIsb25lSGFsZjoiXHhCRCIsb25lUXVhcnRlcjoiXHhCQyIsb3BlbkRvdWJsZVF1b3RlOiJcdTIwMUMiLG9wZW5TaW5nbGVRdW90ZToiXHUyMDE4IixwbHVzTWludXM6Ilx4QjEiLHJhcXVvOiJceEJCIixyZWdpc3RlcmVkVHJhZGVtYXJrOiJceEFFIixyaWdodEFycm93OiJcdTIxOTIiLHNlcnZpY2VtYXJrOiJcdTIxMjAiLHN1cGVyc2NyaXB0VGhyZWU6Ilx4QjMiLHN1cGVyc2NyaXB0VHdvOiJceEIyIix0aHJlZVF1YXJ0ZXJzOiJceEJFIix0cmFkZW1hcms6Ilx1MjEyMiJ9fSxhZGRJbnB1dFJ1bGVzKCl7bGV0IGE9W107cmV0dXJuIHRoaXMub3B0aW9ucy5lbURhc2ghPT0hMSYmYS5wdXNoKFRYZSh0aGlzLm9wdGlvbnMuZW1EYXNoKSksdGhpcy5vcHRpb25zLmVsbGlwc2lzIT09ITEmJmEucHVzaChMWGUodGhpcy5vcHRpb25zLmVsbGlwc2lzKSksdGhpcy5vcHRpb25zLm9wZW5Eb3VibGVRdW90ZSE9PSExJiZhLnB1c2goJFhlKHRoaXMub3B0aW9ucy5vcGVuRG91YmxlUXVvdGUpKSx0aGlzLm9wdGlvbnMuY2xvc2VEb3VibGVRdW90ZSE9PSExJiZhLnB1c2goRFhlKHRoaXMub3B0aW9ucy5jbG9zZURvdWJsZVF1b3RlKSksdGhpcy5vcHRpb25zLm9wZW5TaW5nbGVRdW90ZSE9PSExJiZhLnB1c2goQVhlKHRoaXMub3B0aW9ucy5vcGVuU2luZ2xlUXVvdGUpKSx0aGlzLm9wdGlvbnMuY2xvc2VTaW5nbGVRdW90ZSE9PSExJiZhLnB1c2goRVhlKHRoaXMub3B0aW9ucy5jbG9zZVNpbmdsZVF1b3RlKSksdGhpcy5vcHRpb25zLmxlZnRBcnJvdyE9PSExJiZhLnB1c2goUFhlKHRoaXMub3B0aW9ucy5sZWZ0QXJyb3cpKSx0aGlzLm9wdGlvbnMucmlnaHRBcnJvdyE9PSExJiZhLnB1c2goSVhlKHRoaXMub3B0aW9ucy5yaWdodEFycm93KSksdGhpcy5vcHRpb25zLmNvcHlyaWdodCE9PSExJiZhLnB1c2goTlhlKHRoaXMub3B0aW9ucy5jb3B5cmlnaHQpKSx0aGlzLm9wdGlvbnMudHJhZGVtYXJrIT09ITEmJmEucHVzaChSWGUodGhpcy5vcHRpb25zLnRyYWRlbWFyaykpLHRoaXMub3B0aW9ucy5zZXJ2aWNlbWFyayE9PSExJiZhLnB1c2goT1hlKHRoaXMub3B0aW9ucy5zZXJ2aWNlbWFyaykpLHRoaXMub3B0aW9ucy5yZWdpc3RlcmVkVHJhZGVtYXJrIT09ITEmJmEucHVzaChGWGUodGhpcy5vcHRpb25zLnJlZ2lzdGVyZWRUcmFkZW1hcmspKSx0aGlzLm9wdGlvbnMub25lSGFsZiE9PSExJiZhLnB1c2goQlhlKHRoaXMub3B0aW9ucy5vbmVIYWxmKSksdGhpcy5vcHRpb25zLnBsdXNNaW51cyE9PSExJiZhLnB1c2goSFhlKHRoaXMub3B0aW9ucy5wbHVzTWludXMpKSx0aGlzLm9wdGlvbnMubm90RXF1YWwhPT0hMSYmYS5wdXNoKHFYZSh0aGlzLm9wdGlvbnMubm90RXF1YWwpKSx0aGlzLm9wdGlvbnMubGFxdW8hPT0hMSYmYS5wdXNoKFZYZSh0aGlzLm9wdGlvbnMubGFxdW8pKSx0aGlzLm9wdGlvbnMucmFxdW8hPT0hMSYmYS5wdXNoKGpYZSh0aGlzLm9wdGlvbnMucmFxdW8pKSx0aGlzLm9wdGlvbnMubXVsdGlwbGljYXRpb24hPT0hMSYmYS5wdXNoKFVYZSh0aGlzLm9wdGlvbnMubXVsdGlwbGljYXRpb24pKSx0aGlzLm9wdGlvbnMuc3VwZXJzY3JpcHRUd28hPT0hMSYmYS5wdXNoKFdYZSh0aGlzLm9wdGlvbnMuc3VwZXJzY3JpcHRUd28pKSx0aGlzLm9wdGlvbnMuc3VwZXJzY3JpcHRUaHJlZSE9PSExJiZhLnB1c2goR1hlKHRoaXMub3B0aW9ucy5zdXBlcnNjcmlwdFRocmVlKSksdGhpcy5vcHRpb25zLm9uZVF1YXJ0ZXIhPT0hMSYmYS5wdXNoKFlYZSh0aGlzLm9wdGlvbnMub25lUXVhcnRlcikpLHRoaXMub3B0aW9ucy50aHJlZVF1YXJ0ZXJzIT09ITEmJmEucHVzaChLWGUodGhpcy5vcHRpb25zLnRocmVlUXVhcnRlcnMpKSxhfX0pfSk7dmFyIE8xLEYxLFhYZT1mKCgpPT57TzE9e3h0ZXJtOiI1LjMuMCIseHRlcm1BZGRvbkZpdDoiMC44LjAiLHh0ZXJtQWRkb25TZWFyY2g6IjAuMTMuMCIsaGlnaGxpZ2h0SnM6IjExLjExLjEiLGVjaGFydHM6IjUuNi4wIixsaWdodHdlaWdodENoYXJ0czoiNS4xLjAiLHRpcHRhcDoiMi4yNy4yIixmb250YXdlc29tZToiNy4yLjAifSxGMT0iaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbSJ9KTt2YXIgUHMsSDJhPWYoKCk9PntYWGUoKTtQcz1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIkRlZXNTZXJ2aWNlTGliTG9hZGVyIil9c3RhdGljIGluc3RhbmNlO3h0ZXJtTGliPW51bGw7eHRlcm1GaXRBZGRvbkxpYj1udWxsO3h0ZXJtU2VhcmNoQWRkb25MaWI9bnVsbDtoaWdobGlnaHRKc0xpYj1udWxsO2xpZ2h0d2VpZ2h0Q2hhcnRzTGliPW51bGw7ZWNoYXJ0c0xpYj1udWxsO3RpcHRhcExpYj1udWxsO3h0ZXJtTG9hZGluZ1Byb21pc2U9bnVsbDt4dGVybUZpdEFkZG9uTG9hZGluZ1Byb21pc2U9bnVsbDt4dGVybVNlYXJjaEFkZG9uTG9hZGluZ1Byb21pc2U9bnVsbDtoaWdobGlnaHRKc0xvYWRpbmdQcm9taXNlPW51bGw7bGlnaHR3ZWlnaHRDaGFydHNMb2FkaW5nUHJvbWlzZT1udWxsO2VjaGFydHNMb2FkaW5nUHJvbWlzZT1udWxsO3RpcHRhcExvYWRpbmdQcm9taXNlPW51bGw7Y29uc3RydWN0b3IoKXt9c3RhdGljIGdldEluc3RhbmNlKCl7cmV0dXJuIGEuaW5zdGFuY2V8fChhLmluc3RhbmNlPW5ldyBhKSxhLmluc3RhbmNlfWFzeW5jIGxvYWRYdGVybSgpe3JldHVybiB0aGlzLnh0ZXJtTGliP3RoaXMueHRlcm1MaWI6dGhpcy54dGVybUxvYWRpbmdQcm9taXNlP3RoaXMueHRlcm1Mb2FkaW5nUHJvbWlzZToodGhpcy54dGVybUxvYWRpbmdQcm9taXNlPShhc3luYygpPT57bGV0IHQ9YXdhaXQgaW1wb3J0KGAke0YxfS94dGVybUAke08xLnh0ZXJtfS8rZXNtYCk7cmV0dXJuIGF3YWl0IHRoaXMuaW5qZWN0WHRlcm1TdHlsZXMoKSx0aGlzLnh0ZXJtTGliPXtUZXJtaW5hbDp0LlRlcm1pbmFsfSx0aGlzLnh0ZXJtTGlifSkoKSx0aGlzLnh0ZXJtTG9hZGluZ1Byb21pc2UpfWFzeW5jIGxvYWRYdGVybUZpdEFkZG9uKCl7cmV0dXJuIHRoaXMueHRlcm1GaXRBZGRvbkxpYj90aGlzLnh0ZXJtRml0QWRkb25MaWI6dGhpcy54dGVybUZpdEFkZG9uTG9hZGluZ1Byb21pc2U/dGhpcy54dGVybUZpdEFkZG9uTG9hZGluZ1Byb21pc2U6KHRoaXMueHRlcm1GaXRBZGRvbkxvYWRpbmdQcm9taXNlPShhc3luYygpPT57bGV0IHQ9YXdhaXQgaW1wb3J0KGAke0YxfS94dGVybS1hZGRvbi1maXRAJHtPMS54dGVybUFkZG9uRml0fS8rZXNtYCk7cmV0dXJuIHRoaXMueHRlcm1GaXRBZGRvbkxpYj17Rml0QWRkb246dC5GaXRBZGRvbn0sdGhpcy54dGVybUZpdEFkZG9uTGlifSkoKSx0aGlzLnh0ZXJtRml0QWRkb25Mb2FkaW5nUHJvbWlzZSl9YXN5bmMgbG9hZFh0ZXJtU2VhcmNoQWRkb24oKXtyZXR1cm4gdGhpcy54dGVybVNlYXJjaEFkZG9uTGliP3RoaXMueHRlcm1TZWFyY2hBZGRvbkxpYjp0aGlzLnh0ZXJtU2VhcmNoQWRkb25Mb2FkaW5nUHJvbWlzZT90aGlzLnh0ZXJtU2VhcmNoQWRkb25Mb2FkaW5nUHJvbWlzZToodGhpcy54dGVybVNlYXJjaEFkZG9uTG9hZGluZ1Byb21pc2U9KGFzeW5jKCk9PntsZXQgdD1hd2FpdCBpbXBvcnQoYCR7RjF9L3h0ZXJtLWFkZG9uLXNlYXJjaEAke08xLnh0ZXJtQWRkb25TZWFyY2h9Lytlc21gKTtyZXR1cm4gdGhpcy54dGVybVNlYXJjaEFkZG9uTGliPXtTZWFyY2hBZGRvbjp0LlNlYXJjaEFkZG9ufSx0aGlzLnh0ZXJtU2VhcmNoQWRkb25MaWJ9KSgpLHRoaXMueHRlcm1TZWFyY2hBZGRvbkxvYWRpbmdQcm9taXNlKX1hc3luYyBpbmplY3RYdGVybVN0eWxlcygpe2xldCBlPSJ4dGVybS1jZG4tc3R5bGVzIjtpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZChlKSlyZXR1cm47bGV0IHQ9YCR7RjF9L3h0ZXJtQCR7TzEueHRlcm19L2Nzcy94dGVybS5jc3NgLGk9YXdhaXQoYXdhaXQgZmV0Y2godCkpLnRleHQoKSxvPWAKLyogRml4IHh0ZXJtLmpzIFdpZHRoQ2FjaGUgbWVhc3VyZW1lbnQgY29udGFpbmVyIGNhdXNpbmcgaG9yaXpvbnRhbCBzY3JvbGxiYXIgKi8KLyogeHRlcm0gY3JlYXRlcyB0aGlzIG9uIGRvY3VtZW50LmJvZHkgLSBtb3ZlIGl0IG9mZi1zY3JlZW4gaG9yaXpvbnRhbGx5IHRvbyAqLwpib2R5ID4gZGl2W3N0eWxlKj0idG9wOiAtNTAwMDBweCJdW3N0eWxlKj0id2lkdGg6IDUwMDAwcHgiXSB7CiAgbGVmdDogLTUwMDAwcHggIWltcG9ydGFudDsKfQpgLG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtuLmlkPWUsbi50ZXh0Q29udGVudD1pK28sZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChuKX1hc3luYyBsb2FkSGlnaGxpZ2h0SnMoKXtyZXR1cm4gdGhpcy5oaWdobGlnaHRKc0xpYj90aGlzLmhpZ2hsaWdodEpzTGliOnRoaXMuaGlnaGxpZ2h0SnNMb2FkaW5nUHJvbWlzZT90aGlzLmhpZ2hsaWdodEpzTG9hZGluZ1Byb21pc2U6KHRoaXMuaGlnaGxpZ2h0SnNMb2FkaW5nUHJvbWlzZT0oYXN5bmMoKT0+e2xldCB0PWF3YWl0IGltcG9ydChgJHtGMX0vaGlnaGxpZ2h0LmpzQCR7TzEuaGlnaGxpZ2h0SnN9Lytlc21gKTtyZXR1cm4gdGhpcy5oaWdobGlnaHRKc0xpYj10LmRlZmF1bHQsdGhpcy5oaWdobGlnaHRKc0xpYn0pKCksdGhpcy5oaWdobGlnaHRKc0xvYWRpbmdQcm9taXNlKX1hc3luYyBsb2FkTGlnaHR3ZWlnaHRDaGFydHMoKXtyZXR1cm4gdGhpcy5saWdodHdlaWdodENoYXJ0c0xpYj90aGlzLmxpZ2h0d2VpZ2h0Q2hhcnRzTGliOnRoaXMubGlnaHR3ZWlnaHRDaGFydHNMb2FkaW5nUHJvbWlzZT90aGlzLmxpZ2h0d2VpZ2h0Q2hhcnRzTG9hZGluZ1Byb21pc2U6KHRoaXMubGlnaHR3ZWlnaHRDaGFydHNMb2FkaW5nUHJvbWlzZT0oYXN5bmMoKT0+e2xldCB0PWF3YWl0IGltcG9ydChgJHtGMX0vbGlnaHR3ZWlnaHQtY2hhcnRzQCR7TzEubGlnaHR3ZWlnaHRDaGFydHN9Lytlc21gKTtyZXR1cm4gdGhpcy5saWdodHdlaWdodENoYXJ0c0xpYj17Y3JlYXRlQ2hhcnQ6dC5jcmVhdGVDaGFydCxBcmVhU2VyaWVzOnQuQXJlYVNlcmllcyxMaW5lU2VyaWVzOnQuTGluZVNlcmllcyxDb2xvclR5cGU6dC5Db2xvclR5cGUsTGluZVR5cGU6dC5MaW5lVHlwZSxDcm9zc2hhaXJNb2RlOnQuQ3Jvc3NoYWlyTW9kZX0sdGhpcy5saWdodHdlaWdodENoYXJ0c0xpYn0pKCksdGhpcy5saWdodHdlaWdodENoYXJ0c0xvYWRpbmdQcm9taXNlKX1hc3luYyBsb2FkRWNoYXJ0cygpe3JldHVybiB0aGlzLmVjaGFydHNMaWI/dGhpcy5lY2hhcnRzTGliOnRoaXMuZWNoYXJ0c0xvYWRpbmdQcm9taXNlP3RoaXMuZWNoYXJ0c0xvYWRpbmdQcm9taXNlOih0aGlzLmVjaGFydHNMb2FkaW5nUHJvbWlzZT0oYXN5bmMoKT0+e2xldCB0PWF3YWl0IGltcG9ydChgJHtGMX0vZWNoYXJ0c0Ake08xLmVjaGFydHN9L2Rpc3QvZWNoYXJ0cy5lc20ubWluLmpzYCk7cmV0dXJuIHRoaXMuZWNoYXJ0c0xpYj17aW5pdDp0LmluaXQsZGlzcG9zZTp0LmRpc3Bvc2UsZ2V0SW5zdGFuY2VCeURvbTp0LmdldEluc3RhbmNlQnlEb219LHRoaXMuZWNoYXJ0c0xpYn0pKCksdGhpcy5lY2hhcnRzTG9hZGluZ1Byb21pc2UpfWFzeW5jIGxvYWRUaXB0YXAoKXtyZXR1cm4gdGhpcy50aXB0YXBMaWI/dGhpcy50aXB0YXBMaWI6dGhpcy50aXB0YXBMb2FkaW5nUHJvbWlzZT90aGlzLnRpcHRhcExvYWRpbmdQcm9taXNlOih0aGlzLnRpcHRhcExvYWRpbmdQcm9taXNlPShhc3luYygpPT57bGV0W2UsdCxyLGksbyxuXT1hd2FpdCBQcm9taXNlLmFsbChbUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KGdyKCkseTFhKSksUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KG0yYSgpLGgyYSkpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihiMmEoKSxnMmEpKSxQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oeDJhKCksdjJhKSksUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KE8yYSgpLFIyYSkpLFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihCMmEoKSxGMmEpKV0pO3JldHVybiB0aGlzLnRpcHRhcExpYj17RWRpdG9yOmUuRWRpdG9yLFN0YXJ0ZXJLaXQ6dC5kZWZhdWx0fHx0LlN0YXJ0ZXJLaXQsVW5kZXJsaW5lOnIuZGVmYXVsdHx8ci5VbmRlcmxpbmUsVGV4dEFsaWduOmkuZGVmYXVsdHx8aS5UZXh0QWxpZ24sTGluazpvLmRlZmF1bHR8fG8uTGluayxUeXBvZ3JhcGh5Om4uZGVmYXVsdHx8bi5UeXBvZ3JhcGh5fSx0aGlzLnRpcHRhcExpYn0pKCksdGhpcy50aXB0YXBMb2FkaW5nUHJvbWlzZSl9YXN5bmMgcHJlbG9hZEFsbCgpe2F3YWl0IFByb21pc2UuYWxsKFt0aGlzLmxvYWRYdGVybSgpLHRoaXMubG9hZFh0ZXJtRml0QWRkb24oKSx0aGlzLmxvYWRYdGVybVNlYXJjaEFkZG9uKCksdGhpcy5sb2FkSGlnaGxpZ2h0SnMoKSx0aGlzLmxvYWRMaWdodHdlaWdodENoYXJ0cygpLHRoaXMubG9hZEVjaGFydHMoKSx0aGlzLmxvYWRUaXB0YXAoKV0pfWlzTG9hZGVkKGUpe3N3aXRjaChlKXtjYXNlInh0ZXJtIjpyZXR1cm4gdGhpcy54dGVybUxpYiE9PW51bGw7Y2FzZSJ4dGVybUZpdEFkZG9uIjpyZXR1cm4gdGhpcy54dGVybUZpdEFkZG9uTGliIT09bnVsbDtjYXNlInh0ZXJtU2VhcmNoQWRkb24iOnJldHVybiB0aGlzLnh0ZXJtU2VhcmNoQWRkb25MaWIhPT1udWxsO2Nhc2UiaGlnaGxpZ2h0SnMiOnJldHVybiB0aGlzLmhpZ2hsaWdodEpzTGliIT09bnVsbDtjYXNlImxpZ2h0d2VpZ2h0Q2hhcnRzIjpyZXR1cm4gdGhpcy5saWdodHdlaWdodENoYXJ0c0xpYiE9PW51bGw7Y2FzZSJlY2hhcnRzIjpyZXR1cm4gdGhpcy5lY2hhcnRzTGliIT09bnVsbDtjYXNlInRpcHRhcCI6cmV0dXJuIHRoaXMudGlwdGFwTGliIT09bnVsbDtkZWZhdWx0OnJldHVybiExfX19fSk7dmFyIF9jPWYoKCk9PntIMmEoKTtYWGUoKX0pO3ZhciBBVyxxMmE9ZigoKT0+e0pvKCk7bGUoKTtqMigpO3VzKCk7X2FlKCk7X2MoKTtBVz1jbGFzcyBleHRlbmRzIGhye3N0YXRpY3tzKHRoaXMsIkNvZGVCbG9ja0hhbmRsZXIiKX10eXBlPSJjb2RlIjtoaWdobGlnaHRUaW1lcj1udWxsO2hpZ2hsaWdodEpzPW51bGw7cmVuZGVyKGUsdCl7bGV0IHI9ZS5tZXRhZGF0YT8ubGFuZ3VhZ2V8fCJ0eXBlc2NyaXB0IixpPWUuY29udGVudHx8IiIsbz1pLnNwbGl0KGAKYCkubGVuZ3RoLG49IiI7Zm9yKGxldCBkPTE7ZDw9bztkKyspbis9YDxkaXYgY2xhc3M9ImxpbmUtbnVtYmVyIj4ke2R9PC9kaXY+YDtsZXQgbD1OVS5tYXAoZD0+e2xldCBjPWQudG9Mb3dlckNhc2UoKTtyZXR1cm5gPG9wdGlvbiB2YWx1ZT0iJHtjfSIgJHtjPT09cj8ic2VsZWN0ZWQiOiIifT4ke2R9PC9vcHRpb24+YH0pLmpvaW4oIiIpO3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iY29kZS1ibG9jay1jb250YWluZXIke3Q/IiBzZWxlY3RlZCI6IiJ9IiBkYXRhLWxhbmd1YWdlPSIke3J9Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWhlYWRlciI+CiAgICAgICAgICA8c2VsZWN0IGNsYXNzPSJsYW5ndWFnZS1zZWxlY3RvciIgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSI+CiAgICAgICAgICAgICR7bH0KICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY29weS1idXR0b24iIHRpdGxlPSJDb3B5IGNvZGUiPgogICAgICAgICAgICA8c3ZnIGNsYXNzPSJjb3B5LWljb24iIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0wIDYuNzVDMCA1Ljc4NC43ODQgNSAxLjc1IDVoMS41YS43NS43NSAwIDAxMCAxLjVoLTEuNWEuMjUuMjUgMCAwMC0uMjUuMjV2Ny41YzAgLjEzOC4xMTIuMjUuMjUuMjVoNy41YS4yNS4yNSAwIDAwLjI1LS4yNXYtMS41YS43NS43NSAwIDAxMS41IDB2MS41QTEuNzUgMS43NSAwIDAxOS4yNSAxNmgtNy41QTEuNzUgMS43NSAwIDAxMCAxNC4yNXYtNy41eiI+PC9wYXRoPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik01IDEuNzVDNSAuNzg0IDUuNzg0IDAgNi43NSAwaDcuNUMxNS4yMTYgMCAxNiAuNzg0IDE2IDEuNzV2Ny41QTEuNzUgMS43NSAwIDAxMTQuMjUgMTFoLTcuNUExLjc1IDEuNzUgMCAwMTUgOS4yNXYtNy41em0xLjc1LS4yNWEuMjUuMjUgMCAwMC0uMjUuMjV2Ny41YzAgLjEzOC4xMTIuMjUuMjUuMjVoNy41YS4yNS4yNSAwIDAwLjI1LS4yNXYtNy41YS4yNS4yNSAwIDAwLS4yNS0uMjVoLTcuNXoiPjwvcGF0aD4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb3B5LXRleHQiPkNvcHk8L3NwYW4+CiAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWJvZHkiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibGluZS1udW1iZXJzIj4ke259PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWNvbnRlbnQiPgogICAgICAgICAgICA8cHJlIGNsYXNzPSJjb2RlLXByZSI+PGNvZGUgY2xhc3M9ImNvZGUtZWRpdG9yIiAKICAgICAgICAgICAgICAgICBjb250ZW50ZWRpdGFibGU9InRydWUiCiAgICAgICAgICAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICAgICAgICAgICBkYXRhLWJsb2NrLXR5cGU9IiR7ZS50eXBlfSIKICAgICAgICAgICAgICAgICBzcGVsbGNoZWNrPSJmYWxzZSI+JHt0aGlzLmVzY2FwZUh0bWwoaSl9PC9jb2RlPjwvcHJlPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1zZXR1cChlLHQscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKSxvPWUucXVlcnlTZWxlY3RvcigiLmNvZGUtYmxvY2stY29udGFpbmVyIiksbj1lLnF1ZXJ5U2VsZWN0b3IoIi5jb3B5LWJ1dHRvbiIpLGw9ZS5xdWVyeVNlbGVjdG9yKCIubGFuZ3VhZ2Utc2VsZWN0b3IiKTtpZighaXx8IW8pcmV0dXJuO2wmJmwuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixjPT57bGV0IHA9Yy50YXJnZXQudmFsdWU7dC5tZXRhZGF0YT17Li4udC5tZXRhZGF0YSxsYW5ndWFnZTpwfSxvLnNldEF0dHJpYnV0ZSgiZGF0YS1sYW5ndWFnZSIscCksdC5jb250ZW50JiZkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09aSYmdGhpcy5hcHBseUhpZ2hsaWdodGluZyhlLHQpLHIub25JbnB1dCYmci5vbklucHV0KG5ldyBJbnB1dEV2ZW50KCJpbnB1dCIpKX0pLG4mJm4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGFzeW5jKCk9PntsZXQgYz1pLnRleHRDb250ZW50fHwiIjt0cnl7YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoYyk7bGV0IHA9bi5xdWVyeVNlbGVjdG9yKCIuY29weS10ZXh0IiksdT1wLnRleHRDb250ZW50O3AudGV4dENvbnRlbnQ9IkNvcGllZCEiLG4uY2xhc3NMaXN0LmFkZCgiY29waWVkIiksc2V0VGltZW91dCgoKT0+e3AudGV4dENvbnRlbnQ9dSxuLmNsYXNzTGlzdC5yZW1vdmUoImNvcGllZCIpfSwyZTMpfWNhdGNoKHApe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjb3B5OiIscCk7bGV0IHU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGV4dGFyZWEiKTt1LnZhbHVlPWMsdS5zdHlsZS5wb3NpdGlvbj0iZml4ZWQiLHUuc3R5bGUub3BhY2l0eT0iMCIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh1KSx1LnNlbGVjdCgpO3RyeXtkb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpO2xldCBtPW4ucXVlcnlTZWxlY3RvcigiLmNvcHktdGV4dCIpLHY9bS50ZXh0Q29udGVudDttLnRleHRDb250ZW50PSJDb3BpZWQhIixuLmNsYXNzTGlzdC5hZGQoImNvcGllZCIpLHNldFRpbWVvdXQoKCk9PnttLnRleHRDb250ZW50PXYsbi5jbGFzc0xpc3QucmVtb3ZlKCJjb3BpZWQiKX0sMmUzKX1jYXRjaChtKXtjb25zb2xlLmVycm9yKCJGYWxsYmFjayBjb3B5IGZhaWxlZDoiLG0pfWRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodSl9fSk7bGV0IGQ9ITE7aS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PntkPSEwLG8uY2xhc3NMaXN0LmFkZCgiZWRpdGluZyIpO2xldCBjPWkudGV4dENvbnRlbnR8fCIiO2kudGV4dENvbnRlbnQ9YyxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntsZXQgcD1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLHU9d2luZG93LmdldFNlbGVjdGlvbigpO2kuZmlyc3RDaGlsZCYmKHAuc2V0U3RhcnQoaS5maXJzdENoaWxkLDApLHAuY29sbGFwc2UoITApLHU/LnJlbW92ZUFsbFJhbmdlcygpLHU/LmFkZFJhbmdlKHApKX0pLHIub25Gb2N1cygpfSksaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+e2Q9ITEsby5jbGFzc0xpc3QucmVtb3ZlKCJlZGl0aW5nIiksdGhpcy5hcHBseUhpZ2hsaWdodGluZyhlLHQpLHIub25CbHVyKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixjPT57ci5vbklucHV0KGMpLHRoaXMudXBkYXRlTGluZU51bWJlcnMoZSksY2xlYXJUaW1lb3V0KHRoaXMuaGlnaGxpZ2h0VGltZXIpfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixjPT57aWYoYy5rZXk9PT0iVGFiIil7Yy5wcmV2ZW50RGVmYXVsdCgpO2xldCBwPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihwJiZwLnJhbmdlQ291bnQ+MCl7bGV0IHU9cC5nZXRSYW5nZUF0KDApLG09ZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiAgIik7dS5pbnNlcnROb2RlKG0pLHUuc2V0U3RhcnRBZnRlcihtKSx1LnNldEVuZEFmdGVyKG0pLHAucmVtb3ZlQWxsUmFuZ2VzKCkscC5hZGRSYW5nZSh1KSxyLm9uSW5wdXQobmV3IElucHV0RXZlbnQoImlucHV0IikpLHRoaXMudXBkYXRlTGluZU51bWJlcnMoZSl9cmV0dXJufWlmKFsiQXJyb3dMZWZ0IiwiQXJyb3dSaWdodCIsIkFycm93VXAiLCJBcnJvd0Rvd24iXS5pbmNsdWRlcyhjLmtleSkpe2xldCBwPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSksdT1pLnRleHRDb250ZW50Py5sZW5ndGh8fDA7aWYoYy5rZXk9PT0iQXJyb3dMZWZ0IiYmcD09PTB8fGMua2V5PT09IkFycm93UmlnaHQiJiZwPT09dSl7ci5vbktleURvd24oYyk7cmV0dXJufWlmKGMua2V5PT09IkFycm93VXAifHxjLmtleT09PSJBcnJvd0Rvd24iKXtsZXQgbT0oaS50ZXh0Q29udGVudHx8IiIpLnNwbGl0KGAKYCksdj10aGlzLmdldEN1cnJlbnRMaW5lSW5kZXgoaSk7aWYoYy5rZXk9PT0iQXJyb3dVcCImJnY9PT0wfHxjLmtleT09PSJBcnJvd0Rvd24iJiZ2PT09bS5sZW5ndGgtMSl7ci5vbktleURvd24oYyk7cmV0dXJufX19ci5vbktleURvd24oYyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoInBhc3RlIixjPT57Yy5wcmV2ZW50RGVmYXVsdCgpO2xldCBwPWMuY2xpcGJvYXJkRGF0YT8uZ2V0RGF0YSgidGV4dC9wbGFpbiIpO2lmKHApe2xldCB1PXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZih1JiZ1LnJhbmdlQ291bnQ+MCl7bGV0IG09dS5nZXRSYW5nZUF0KDApO20uZGVsZXRlQ29udGVudHMoKTtsZXQgdj1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShwKTttLmluc2VydE5vZGUodiksbS5zZXRTdGFydEFmdGVyKHYpLG0uc2V0RW5kQWZ0ZXIodiksdS5yZW1vdmVBbGxSYW5nZXMoKSx1LmFkZFJhbmdlKG0pLHIub25JbnB1dChuZXcgSW5wdXRFdmVudCgiaW5wdXQiKSksdGhpcy51cGRhdGVMaW5lTnVtYmVycyhlKX19fSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbnN0YXJ0IiwoKT0+ci5vbkNvbXBvc2l0aW9uU3RhcnQoKSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsKCk9PnIub25Db21wb3NpdGlvbkVuZCgpKSx0LmNvbnRlbnQmJmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1pJiZyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLmFwcGx5SGlnaGxpZ2h0aW5nKGUsdCl9KX11cGRhdGVMaW5lTnVtYmVycyhlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpLHI9ZS5xdWVyeVNlbGVjdG9yKCIubGluZS1udW1iZXJzIik7aWYoIXR8fCFyKXJldHVybjtsZXQgbj0odC50ZXh0Q29udGVudHx8IiIpLnNwbGl0KGAKYCkubGVuZ3RofHwxLGw9IiI7Zm9yKGxldCBkPTE7ZDw9bjtkKyspbCs9YDxkaXYgY2xhc3M9ImxpbmUtbnVtYmVyIj4ke2R9PC9kaXY+YDtyLmlubmVySFRNTD1sfWdldEN1cnJlbnRMaW5lSW5kZXgoZSl7bGV0IHQ9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCF0fHx0LnJhbmdlQ291bnQ9PT0wKXJldHVybiAwO2xldCByPXQuZ2V0UmFuZ2VBdCgwKSxpPXIuY2xvbmVSYW5nZSgpO3JldHVybiBpLnNlbGVjdE5vZGVDb250ZW50cyhlKSxpLnNldEVuZChyLnN0YXJ0Q29udGFpbmVyLHIuc3RhcnRPZmZzZXQpLGkudG9TdHJpbmcoKS5zcGxpdChgCmApLmxlbmd0aC0xfWFzeW5jIGFwcGx5SGlnaGxpZ2h0aW5nKGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTtpZighcilyZXR1cm47dGhpcy5oaWdobGlnaHRKc3x8KHRoaXMuaGlnaGxpZ2h0SnM9YXdhaXQgUHMuZ2V0SW5zdGFuY2UoKS5sb2FkSGlnaGxpZ2h0SnMoKSk7bGV0IGk9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKSxvPXIudGV4dENvbnRlbnR8fCIiLG49dC5tZXRhZGF0YT8ubGFuZ3VhZ2V8fCJ0eXBlc2NyaXB0Ijt0cnl7bGV0IGw9dGhpcy5oaWdobGlnaHRKcy5oaWdobGlnaHQobyx7bGFuZ3VhZ2U6bixpZ25vcmVJbGxlZ2FsczohMH0pO2wudmFsdWUmJihyLmlubmVySFRNTD1sLnZhbHVlLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1yJiZpIT09bnVsbCYmcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57cnQuc2V0Q3Vyc29yUG9zaXRpb24ocixpKX0pKX1jYXRjaChsKXtjb25zb2xlLndhcm4oIlN5bnRheCBoaWdobGlnaHRpbmcgZmFpbGVkOiIsbCl9fWVzY2FwZUh0bWwoZSl7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQudGV4dENvbnRlbnQ9ZSx0LmlubmVySFRNTH1nZXRDb250ZW50KGUpe3JldHVybiBlLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpPy50ZXh0Q29udGVudHx8IiJ9c2V0Q29udGVudChlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik7aWYociYmKHIudGV4dENvbnRlbnQ9dCx0aGlzLnVwZGF0ZUxpbmVOdW1iZXJzKGUpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1yKSl7bGV0IGk9e2lkOnIuZGF0YXNldC5ibG9ja0lkfHwiIix0eXBlOiJjb2RlIixjb250ZW50OnQsbWV0YWRhdGE6e2xhbmd1YWdlOmUucXVlcnlTZWxlY3RvcigiLmNvZGUtYmxvY2stY29udGFpbmVyIik/LmdldEF0dHJpYnV0ZSgiZGF0YS1sYW5ndWFnZSIpfHwidHlwZXNjcmlwdCJ9fTt0aGlzLmFwcGx5SGlnaGxpZ2h0aW5nKGUsaSl9fWdldEN1cnNvclBvc2l0aW9uKGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik7aWYoIXQpcmV0dXJuIG51bGw7bGV0IHI9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKCFyfHxyLnJhbmdlQ291bnQ9PT0wKXJldHVybiBudWxsO2xldCBpPXIuZ2V0UmFuZ2VBdCgwKTtpZighdC5jb250YWlucyhpLnN0YXJ0Q29udGFpbmVyKSlyZXR1cm4gbnVsbDtsZXQgbz1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO3JldHVybiBvLnNlbGVjdE5vZGVDb250ZW50cyh0KSxvLnNldEVuZChpLnN0YXJ0Q29udGFpbmVyLGkuc3RhcnRPZmZzZXQpLG8udG9TdHJpbmcoKS5sZW5ndGh9c2V0Q3Vyc29yVG9TdGFydChlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpO3QmJnJ0LnNldEN1cnNvclBvc2l0aW9uKHQsMCl9c2V0Q3Vyc29yVG9FbmQoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTtpZih0KXtsZXQgcj10LnRleHRDb250ZW50Py5sZW5ndGh8fDA7cnQuc2V0Q3Vyc29yUG9zaXRpb24odCxyKX19Zm9jdXMoZSl7ZS5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKT8uZm9jdXMoKX1mb2N1c1dpdGhDdXJzb3IoZSx0PSJlbmQiKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpO3ImJihyLmZvY3VzKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dD09PSJzdGFydCI/dGhpcy5zZXRDdXJzb3JUb1N0YXJ0KGUpOnQ9PT0iZW5kIj90aGlzLnNldEN1cnNvclRvRW5kKGUpOnR5cGVvZiB0PT0ibnVtYmVyIiYmcnQuc2V0Q3Vyc29yUG9zaXRpb24ocix0KX0pKX1nZXRTcGxpdENvbnRlbnQoZSl7bGV0IHQ9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtpZih0PT09bnVsbClyZXR1cm4gbnVsbDtsZXQgcj10aGlzLmdldENvbnRlbnQoZSk7cmV0dXJue2JlZm9yZTpyLnN1YnN0cmluZygwLHQpLGFmdGVyOnIuc3Vic3RyaW5nKHQpfX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIENvZGUgQmxvY2sgQ29udGFpbmVyIC0gTWluaW1hbGlzdCBzaGFkY24gc3R5bGUgKi8KICAgICAgLmNvZGUtYmxvY2stY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luOiAxMnB4IDA7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1ibG9jay1jb250YWluZXIuc2VsZWN0ZWQgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1ibG9jay1jb250YWluZXIuZWRpdGluZyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBIZWFkZXIgLSBTaW1wbGlmaWVkICovCiAgICAgIC5jb2RlLWhlYWRlciB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CiAgICAgIAogICAgICAubGFuZ3VhZ2Utc2VsZWN0b3IgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLmxhbmd1YWdlLXNlbGVjdG9yOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLmxhbmd1YWdlLXNlbGVjdG9yOmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogQ29weSBCdXR0b24gLSBNaW5pbWFsICovCiAgICAgIC5jb3B5LWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktYnV0dG9uLmNvcGllZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDU5NjY5IiwiIzEwYjk4MSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktaWNvbiB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CiAgICAgIAogICAgICAuY29weS1idXR0b246aG92ZXIgLmNvcHktaWNvbiB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQogICAgICAKICAgICAgLmNvcHktdGV4dCB7CiAgICAgICAgbWluLXdpZHRoOiA0MHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgfQogICAgICAKICAgICAgLyogQ29kZSBCb2R5ICovCiAgICAgIC5jb2RlLWJvZHkgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogTGluZSBOdW1iZXJzIC0gU3VidGxlICovCiAgICAgIC5saW5lLW51bWJlcnMgewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHBhZGRpbmc6IDEycHggMDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBtaW4td2lkdGg6IDQwcHg7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICB9CiAgICAgIAogICAgICAubGluZS1udW1iZXIgewogICAgICAgIHBhZGRpbmc6IDAgMTJweCAwIDhweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNGI1NTYzIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiAke0NmfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICB9CiAgICAgIAogICAgICAvKiBDb2RlIENvbnRlbnQgKi8KICAgICAgLmNvZGUtY29udGVudCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtcHJlIHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGZvbnQtZmFtaWx5OiAke0NmfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7CiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFBsYWNlaG9sZGVyICovCiAgICAgIC5jb2RlLWVkaXRvcjplbXB0eTo6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAiLy8gVHlwZSBvciBwYXN0ZSBjb2RlIGhlcmUuLi4iOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM0YjU1NjMiKX07CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFdoZW4gZWRpdGluZyAoZm9jdXNlZCksIHNob3cgZ3JleSB0ZXh0IHdpdGhvdXQgaGlnaGxpZ2h0aW5nICovCiAgICAgIC5jb2RlLWJsb2NrLWNvbnRhaW5lci5lZGl0aW5nIC5jb2RlLWVkaXRvciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNmI3MjgwIiwiIzljYTNhZiIpfSAhaW1wb3J0YW50OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1ibG9jay1jb250YWluZXIuZWRpdGluZyAuY29kZS1lZGl0b3IgKiB7CiAgICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsKICAgICAgfQogICAgICAKICAgICAgLyogU3ludGF4IEhpZ2hsaWdodGluZyAtIE11dGVkIGNvbG9ycyAqLwogICAgICAuY29kZS1lZGl0b3IgLmhsanMta2V5d29yZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtc3RyaW5nIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwNTk2NjkiLCIjMTBiOTgxIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtbnVtYmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3YzNhZWQiLCIjYTc4YmZhIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtZnVuY3Rpb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1jb21tZW50IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjNmI3MjgwIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXZhcmlhYmxlLAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtYXR0ciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZWE1ODBjIiwiI2ZiOTIzYyIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWNsYXNzLAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtdGl0bGUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXBhcmFtcyB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWJ1aWx0X2luIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3YzNhZWQiLCIjYTc4YmZhIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtbGl0ZXJhbCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjN2MzYWVkIiwiI2E3OGJmYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLW1ldGEgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWVkaXRvciAuaGxqcy1wdW5jdHVhdGlvbiB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2QxZDVkYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXRhZyB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLWF0dHJpYnV0ZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXNlbGVjdG9yLXRhZyB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtZWRpdG9yIC5obGpzLXNlbGVjdG9yLWNsYXNzIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CiAgICAgIAogICAgICAuY29kZS1lZGl0b3IgLmhsanMtc2VsZWN0b3ItaWQgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzdjM2FlZCIsIiNhNzhiZmEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFNlbGVjdGlvbiAqLwogICAgICAuY29kZS1lZGl0b3I6OnNlbGVjdGlvbiwKICAgICAgLmNvZGUtZWRpdG9yICo6OnNlbGVjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoOTksIDEwMiwgMjQxLCAwLjIpIiwicmdiYSg5OSwgMTAyLCAyNDEsIDAuMykiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFNjcm9sbGJhciBzdHlsaW5nIC0gTWluaW1hbCAqLwogICAgICAuY29kZS1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZDFkNWRiIiwiIzRiNTU2MyIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5jb2RlLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgIGB9fX0pO3ZhciBFVyxWMmE9ZigoKT0+e0pvKCk7bGUoKTtiYygpO2oyKCk7RVc9Y2xhc3MgZXh0ZW5kcyBocntzdGF0aWN7cyh0aGlzLCJMaXN0QmxvY2tIYW5kbGVyIil9dHlwZT0ibGlzdCI7bGFzdEtub3duQ3Vyc29yUG9zaXRpb249MDtsYXN0U2VsZWN0ZWRUZXh0PSIiO3NlbGVjdGlvbkhhbmRsZXI9bnVsbDtyZW5kZXIoZSx0KXtsZXQgcj10PyIgc2VsZWN0ZWQiOiIiLG89KGUubWV0YWRhdGE/Lmxpc3RUeXBlfHwidW5vcmRlcmVkIik9PT0ib3JkZXJlZCI/Im9sIjoidWwiLG49dGhpcy5yZW5kZXJMaXN0Q29udGVudChlLmNvbnRlbnQsZS5tZXRhZGF0YSk7cmV0dXJuYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImJsb2NrIGxpc3Qke3J9IgogICAgICAgIGNvbnRlbnRlZGl0YWJsZT0idHJ1ZSIKICAgICAgICBkYXRhLWJsb2NrLWlkPSIke2UuaWR9IgogICAgICAgIGRhdGEtYmxvY2stdHlwZT0iJHtlLnR5cGV9IgogICAgICA+JHtufTwvZGl2PgogICAgYH1yZW5kZXJMaXN0Q29udGVudChlLHQpe2lmKCFlKXJldHVybiI8dWw+PGxpPjwvbGk+PC91bD4iO2xldCBpPSh0Py5saXN0VHlwZXx8InVub3JkZXJlZCIpPT09Im9yZGVyZWQiPyJvbCI6InVsIixvPWUuc3BsaXQoYApgKS5maWx0ZXIobD0+bC50cmltKCkpO2lmKG8ubGVuZ3RoPT09MClyZXR1cm5gPCR7aX0+PGxpPjwvbGk+PC8ke2l9PmA7bGV0IG49by5tYXAobD0+YDxsaT4ke2x9PC9saT5gKS5qb2luKCIiKTtyZXR1cm5gPCR7aX0+JHtufTwvJHtpfT5gfXNldHVwKGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0Iik7aWYoIWkpe2NvbnNvbGUuZXJyb3IoIkxpc3RCbG9ja0hhbmRsZXIuc2V0dXA6IE5vIGxpc3QgYmxvY2sgZWxlbWVudCBmb3VuZCIpO3JldHVybn10LmNvbnRlbnQmJiFpLmlubmVySFRNTCYmKGkuaW5uZXJIVE1MPXRoaXMucmVuZGVyTGlzdENvbnRlbnQodC5jb250ZW50LHQubWV0YWRhdGEpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixvPT57ci5vbklucHV0KG8pO2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixvPT57bGV0IG49dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihlKTtpZihuIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249biksby5rZXk9PT0iRW50ZXIiJiYhby5zaGlmdEtleSl7bGV0IGw9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKGwmJmwucmFuZ2VDb3VudD4wKXtsZXQgYz1sLmdldFJhbmdlQXQoMCkuc3RhcnRDb250YWluZXIucGFyZW50RWxlbWVudD8uY2xvc2VzdCgibGkiKTtpZihjJiZjLnRleHRDb250ZW50PT09IiIpe28ucHJldmVudERlZmF1bHQoKSxyLm9uS2V5RG93bihvKTtyZXR1cm59fX1yLm9uS2V5RG93bihvKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57ci5vbkZvY3VzKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57ci5vbkJsdXIoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsKCk9PntyLm9uQ29tcG9zaXRpb25TdGFydCgpfSksaS5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsKCk9PntyLm9uQ29tcG9zaXRpb25FbmQoKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsbz0+e2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pLHIub25Nb3VzZVVwPy4obyl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixvPT57c2V0VGltZW91dCgoKT0+e2xldCBuPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oZSk7biE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPW4pfSwwKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5dXAiLG89PntsZXQgbj10aGlzLmdldEN1cnNvclBvc2l0aW9uKGUpO24hPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj1uKX0pLHRoaXMuc2V0dXBTZWxlY3Rpb25IYW5kbGVyKGUsaSx0KX1zZXR1cFNlbGVjdGlvbkhhbmRsZXIoZSx0LHIpe2xldCBpPXMoKCk9PntsZXQgbj13aW5kb3cuZ2V0U2VsZWN0aW9uKCk7aWYoIW58fG4ucmFuZ2VDb3VudD09PTApcmV0dXJuO2xldCBsPW4udG9TdHJpbmcoKTtpZihsLmxlbmd0aD09PTApe3RoaXMubGFzdFNlbGVjdGVkVGV4dCYmKHRoaXMubGFzdFNlbGVjdGVkVGV4dD0iIix0aGlzLmRpc3BhdGNoU2VsZWN0aW9uRXZlbnQoZSx7dGV4dDoiIixibG9ja0lkOnIuaWQsaGFzU2VsZWN0aW9uOiExfSkpO3JldHVybn1sZXQgZD10LmdldFJvb3ROb2RlKCkuaG9zdCxwPWQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LHU9ZD8uc2hhZG93Um9vdCxtPVtdO3AmJm0ucHVzaChwKSx1JiZtLnB1c2godSk7bGV0IHY9cnQuZ2V0U2VsZWN0aW9uSW5mbyguLi5tKTtpZighdilyZXR1cm47bGV0IHg9cnQuY29udGFpbnNBY3Jvc3NTaGFkb3dET00odCx2LnN0YXJ0Q29udGFpbmVyKSxiPXJ0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHQsdi5lbmRDb250YWluZXIpO2lmKHh8fGIpe2lmKGwhPT10aGlzLmxhc3RTZWxlY3RlZFRleHQpe3RoaXMubGFzdFNlbGVjdGVkVGV4dD1sO2xldCBnPXJ0LmNyZWF0ZVJhbmdlRnJvbUluZm8odikseT1nLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuZGlzcGF0Y2hTZWxlY3Rpb25FdmVudChlLHt0ZXh0OmwudHJpbSgpLGJsb2NrSWQ6ci5pZCxyYW5nZTpnLHJlY3Q6eSxoYXNTZWxlY3Rpb246ITB9KX19ZWxzZSB0aGlzLmxhc3RTZWxlY3RlZFRleHQmJih0aGlzLmxhc3RTZWxlY3RlZFRleHQ9IiIsdGhpcy5kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUse3RleHQ6IiIsYmxvY2tJZDpyLmlkLGhhc1NlbGVjdGlvbjohMX0pKX0sImNoZWNrU2VsZWN0aW9uIik7ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixpKSx0aGlzLnNlbGVjdGlvbkhhbmRsZXI9aTtsZXQgbz10LmdldFJvb3ROb2RlKCkuaG9zdDtpZihvKXtsZXQgbj1vLmRpc2Nvbm5lY3RlZENhbGxiYWNrLGw9dGhpcztvLmRpc2Nvbm5lY3RlZENhbGxiYWNrPWFzeW5jIGZ1bmN0aW9uKCl7bC5zZWxlY3Rpb25IYW5kbGVyJiYoZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigic2VsZWN0aW9uY2hhbmdlIixsLnNlbGVjdGlvbkhhbmRsZXIpLGwuc2VsZWN0aW9uSGFuZGxlcj1udWxsKSxuJiZhd2FpdCBuLmNhbGwobyl9fX1kaXNwYXRjaFNlbGVjdGlvbkV2ZW50KGUsdCl7bGV0IHI9bmV3IEN1c3RvbUV2ZW50KCJibG9jay10ZXh0LXNlbGVjdGVkIix7ZGV0YWlsOnQsYnViYmxlczohMCxjb21wb3NlZDohMH0pO2UuZGlzcGF0Y2hFdmVudChyKX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIExpc3Qgc3BlY2lmaWMgc3R5bGVzICovCiAgICAgIC5ibG9jay5saXN0IHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CiAgICAgIAogICAgICAuYmxvY2subGlzdCB1bCwKICAgICAgLmJsb2NrLmxpc3Qgb2wgewogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5ibG9jay5saXN0IGxpIHsKICAgICAgICBtYXJnaW46IDRweCAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgIH0KICAgICAgCiAgICAgIC5ibG9jay5saXN0IGxpOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgIGB9Z2V0UGxhY2Vob2xkZXIoKXtyZXR1cm4iIn1nZXRDdXJzb3JQb3NpdGlvbihlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLmxpc3QiKTtpZighcilyZXR1cm4gbnVsbDtsZXQgbj10Py5jb21wb25lbnQ/LmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LGw9dD8uc2hhZG93Um9vdCxkPVtdO24mJmQucHVzaChuKSxsJiZkLnB1c2gobCk7bGV0IGM9cnQuZ2V0U2VsZWN0aW9uSW5mbyguLi5kKTtpZighY3x8IXJ0LmNvbnRhaW5zQWNyb3NzU2hhZG93RE9NKHIsYy5zdGFydENvbnRhaW5lcikpcmV0dXJuIG51bGw7bGV0IHA9ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtyZXR1cm4gcC5zZWxlY3ROb2RlQ29udGVudHMocikscC5zZXRFbmQoYy5zdGFydENvbnRhaW5lcixjLnN0YXJ0T2Zmc2V0KSxwLnRvU3RyaW5nKCkubGVuZ3RofWdldENvbnRlbnQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0Iik7aWYoIXIpcmV0dXJuIiI7bGV0IGk9ci5xdWVyeVNlbGVjdG9yQWxsKCJsaSIpO3JldHVybiBBcnJheS5mcm9tKGkpLm1hcChuPT5uLnRleHRDb250ZW50fHwiIikuam9pbihgCmApfXNldENvbnRlbnQoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLmxpc3QiKTtpZighaSlyZXR1cm47bGV0IG89ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PWl8fGUuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PWksbD1pLnF1ZXJ5U2VsZWN0b3IoInVsLCBvbCIpPy50YWdOYW1lPT09Ik9MIjtpLmlubmVySFRNTD10aGlzLnJlbmRlckxpc3RDb250ZW50KHQse2xpc3RUeXBlOmw/Im9yZGVyZWQiOiJ1bm9yZGVyZWQifSksbyYmaS5mb2N1cygpfXNldEN1cnNvclRvU3RhcnQoZSx0KXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5ibG9jay5saXN0Iik7aWYoIXIpcmV0dXJuO2xldCBpPXIucXVlcnlTZWxlY3RvcigibGkiKTtpZihpKXtsZXQgbz10aGlzLmdldEZpcnN0VGV4dE5vZGUoaSk7aWYobyl7bGV0IG49ZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKSxsPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtuLnNldFN0YXJ0KG8sMCksbi5zZXRFbmQobywwKSxsPy5yZW1vdmVBbGxSYW5nZXMoKSxsPy5hZGRSYW5nZShuKX19fXNldEN1cnNvclRvRW5kKGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuYmxvY2subGlzdCIpO2lmKCFyKXJldHVybjtsZXQgaT1yLnF1ZXJ5U2VsZWN0b3IoImxpOmxhc3QtY2hpbGQiKTtpZihpKXtsZXQgbz10aGlzLmdldExhc3RUZXh0Tm9kZShpKTtpZihvKXtsZXQgbj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpLGw9d2luZG93LmdldFNlbGVjdGlvbigpLGQ9by50ZXh0Q29udGVudD8ubGVuZ3RofHwwO24uc2V0U3RhcnQobyxkKSxuLnNldEVuZChvLGQpLGw/LnJlbW92ZUFsbFJhbmdlcygpLGw/LmFkZFJhbmdlKG4pfX19Z2V0Rmlyc3RUZXh0Tm9kZShlKXtpZihlLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpcmV0dXJuIGU7Zm9yKGxldCB0PTA7dDxlLmNoaWxkTm9kZXMubGVuZ3RoO3QrKyl7bGV0IHI9dGhpcy5nZXRGaXJzdFRleHROb2RlKGUuY2hpbGROb2Rlc1t0XSk7aWYocilyZXR1cm4gcn1yZXR1cm4gbnVsbH1nZXRMYXN0VGV4dE5vZGUoZSl7aWYoZS5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXJldHVybiBlO2ZvcihsZXQgdD1lLmNoaWxkTm9kZXMubGVuZ3RoLTE7dD49MDt0LS0pe2xldCByPXRoaXMuZ2V0TGFzdFRleHROb2RlKGUuY2hpbGROb2Rlc1t0XSk7aWYocilyZXR1cm4gcn1yZXR1cm4gbnVsbH1mb2N1cyhlLHQpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLmxpc3QiKTtyJiYoci5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxyLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLHIuZm9jdXMoKSxkb2N1bWVudC5hY3RpdmVFbGVtZW50IT09ciYmZS5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50IT09ciYmUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e3IuZm9jdXMoKX0pKX1mb2N1c1dpdGhDdXJzb3IoZSx0PSJlbmQiLHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLmxpc3QiKTtpZighaSlyZXR1cm47aS5oYXNBdHRyaWJ1dGUoImNvbnRlbnRlZGl0YWJsZSIpfHxpLnNldEF0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIiwidHJ1ZSIpLGkuZm9jdXMoKTtsZXQgbz1zKCgpPT57dD09PSJzdGFydCI/dGhpcy5zZXRDdXJzb3JUb1N0YXJ0KGUscik6dD09PSJlbmQiP3RoaXMuc2V0Q3Vyc29yVG9FbmQoZSxyKTp0eXBlb2YgdD09Im51bWJlciImJnRoaXMuc2V0Q3Vyc29yVG9FbmQoZSxyKX0sInNldEN1cnNvciIpO2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pP28oKTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1pfHxlLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1pKSYmbygpfSl9Z2V0U3BsaXRDb250ZW50KGUsdCl7cmV0dXJuIGUucXVlcnlTZWxlY3RvcigiLmJsb2NrLmxpc3QiKSxudWxsfX19KTt2YXIgUFcsajJhPWYoKCk9PntKbygpO2xlKCk7UFc9Y2xhc3MgZXh0ZW5kcyBocntzdGF0aWN7cyh0aGlzLCJJbWFnZUJsb2NrSGFuZGxlciIpfXR5cGU9ImltYWdlIjtyZW5kZXIoZSx0KXtsZXQgcj1lLm1ldGFkYXRhPy51cmwsaT1lLmNvbnRlbnR8fCJJbWFnZSIsbz1lLm1ldGFkYXRhPy5sb2FkaW5nO3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iaW1hZ2UtYmxvY2stY29udGFpbmVyJHt0PyIgc2VsZWN0ZWQiOiIifSIgCiAgICAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICAgICBkYXRhLWhhcy1pbWFnZT0iJHshIXJ9IgogICAgICAgICAgIHRhYmluZGV4PSIwIj4KICAgICAgICAke28/dGhpcy5yZW5kZXJMb2FkaW5nKCk6cj90aGlzLnJlbmRlckltYWdlKHIsaSk6dGhpcy5yZW5kZXJQbGFjZWhvbGRlcigpfQogICAgICAgIDxpbnB1dCB0eXBlPSJmaWxlIiAKICAgICAgICAgICAgICAgY2xhc3M9ImltYWdlLWZpbGUtaW5wdXQiIAogICAgICAgICAgICAgICBhY2NlcHQ9ImltYWdlLyoiIAogICAgICAgICAgICAgICBzdHlsZT0iZGlzcGxheTogbm9uZTsiIC8+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJQbGFjZWhvbGRlcigpe3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iaW1hZ2UtdXBsb2FkLXBsYWNlaG9sZGVyIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyI+CiAgICAgICAgPGRpdiBjbGFzcz0idXBsb2FkLWljb24iIHN0eWxlPSJwb2ludGVyLWV2ZW50czogbm9uZTsiPgogICAgICAgICAgPHN2ZyB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41Ij4KICAgICAgICAgICAgPHJlY3QgeD0iMyIgeT0iMyIgd2lkdGg9IjE4IiBoZWlnaHQ9IjE4IiByeD0iMiIgcnk9IjIiLz4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iOC41IiBjeT0iOC41IiByPSIxLjUiLz4KICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMjEgMTUgMTYgMTAgNSAyMSIvPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idXBsb2FkLXRleHQiIHN0eWxlPSJwb2ludGVyLWV2ZW50czogbm9uZTsiPkNsaWNrIHRvIHVwbG9hZCBhbiBpbWFnZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InVwbG9hZC1oaW50IiBzdHlsZT0icG9pbnRlci1ldmVudHM6IG5vbmU7Ij5vciBkcmFnIGFuZCBkcm9wPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJJbWFnZShlLHQpe3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iaW1hZ2UtY29udGFpbmVyIj4KICAgICAgICA8aW1nIHNyYz0iJHtlfSIgYWx0PSIke3RoaXMuZXNjYXBlSHRtbCh0KX0iIC8+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJMb2FkaW5nKCl7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJpbWFnZS1sb2FkaW5nIj4KICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXNwaW5uZXIiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctdGV4dCI+VXBsb2FkaW5nIGltYWdlLi4uPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1zZXR1cChlLHQscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKCIuaW1hZ2UtYmxvY2stY29udGFpbmVyIiksbz1lLnF1ZXJ5U2VsZWN0b3IoIi5pbWFnZS1maWxlLWlucHV0Iik7aWYoIWkpe2NvbnNvbGUuZXJyb3IoIkltYWdlQmxvY2tIYW5kbGVyOiBDb3VsZCBub3QgZmluZCBjb250YWluZXIiKTtyZXR1cm59aWYoIW8pe2NvbnNvbGUuZXJyb3IoIkltYWdlQmxvY2tIYW5kbGVyOiBDb3VsZCBub3QgZmluZCBmaWxlIGlucHV0Iik7cmV0dXJufWxldCBuPWkucXVlcnlTZWxlY3RvcigiLmltYWdlLXVwbG9hZC1wbGFjZWhvbGRlciIpO24mJm4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGw9PntsLnByZXZlbnREZWZhdWx0KCksbC5zdG9wUHJvcGFnYXRpb24oKSxjb25zb2xlLmxvZygiSW1hZ2VCbG9ja0hhbmRsZXI6IFBsYWNlaG9sZGVyIGNsaWNrZWQsIG9wZW5pbmcgZmlsZSBzZWxlY3RvciIpLG8uY2xpY2soKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ci5vbkZvY3VzKCl9KSxvLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsYXN5bmMgbD0+e2xldCBjPWwudGFyZ2V0LmZpbGVzPy5bMF07YyYmKGNvbnNvbGUubG9nKCJJbWFnZUJsb2NrSGFuZGxlcjogRmlsZSBzZWxlY3RlZDoiLGMubmFtZSksYXdhaXQgdGhpcy5oYW5kbGVGaWxlVXBsb2FkKGMsdCxyKSl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIixsPT57bC5wcmV2ZW50RGVmYXVsdCgpLGwuc3RvcFByb3BhZ2F0aW9uKCksdC5tZXRhZGF0YT8udXJsfHxpLmNsYXNzTGlzdC5hZGQoImRyYWctb3ZlciIpfSksaS5hZGRFdmVudExpc3RlbmVyKCJkcmFnbGVhdmUiLGw9PntsLnByZXZlbnREZWZhdWx0KCksbC5zdG9wUHJvcGFnYXRpb24oKSxpLmNsYXNzTGlzdC5yZW1vdmUoImRyYWctb3ZlciIpfSksaS5hZGRFdmVudExpc3RlbmVyKCJkcm9wIixhc3luYyBsPT57bC5wcmV2ZW50RGVmYXVsdCgpLGwuc3RvcFByb3BhZ2F0aW9uKCksaS5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnLW92ZXIiKTtsZXQgZD1sLmRhdGFUcmFuc2Zlcj8uZmlsZXNbMF07ZCYmZC50eXBlLnN0YXJ0c1dpdGgoImltYWdlLyIpJiYhdC5tZXRhZGF0YT8udXJsJiZhd2FpdCB0aGlzLmhhbmRsZUZpbGVVcGxvYWQoZCx0LHIpfSksaS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PnIub25Gb2N1cygpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT5yLm9uQmx1cigpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGw9PntpZigobC5rZXk9PT0iRGVsZXRlInx8bC5rZXk9PT0iQmFja3NwYWNlIikmJnQubWV0YWRhdGE/LnVybCl7dC5tZXRhZGF0YS51cmw9dm9pZCAwLHQubWV0YWRhdGEubG9hZGluZz0hMSx0LmNvbnRlbnQ9IiIsci5vbklucHV0KG5ldyBJbnB1dEV2ZW50KCJpbnB1dCIpKTtyZXR1cm59ci5vbktleURvd24obCl9KX1hc3luYyBoYW5kbGVGaWxlVXBsb2FkKGUsdCxyKXtpZihjb25zb2xlLmxvZygiSW1hZ2VCbG9ja0hhbmRsZXI6IFN0YXJ0aW5nIGZpbGUgdXBsb2FkIix7ZmlsZU5hbWU6ZS5uYW1lLGZpbGVTaXplOmUuc2l6ZSxibG9ja0lkOnQuaWR9KSwhZS50eXBlLnN0YXJ0c1dpdGgoImltYWdlLyIpKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGZpbGUgdHlwZToiLGUudHlwZSk7cmV0dXJufWxldCBpPTEwKjEwMjQqMTAyNDtpZihlLnNpemU+aSl7Y29uc29sZS5lcnJvcigiRmlsZSB0b28gbGFyZ2UuIE1heGltdW0gc2l6ZSBpcyAxME1CIik7cmV0dXJufXQubWV0YWRhdGF8fCh0Lm1ldGFkYXRhPXt9KSx0Lm1ldGFkYXRhLmxvYWRpbmc9ITAsdC5tZXRhZGF0YS5maWxlTmFtZT1lLm5hbWUsdC5tZXRhZGF0YS5maWxlU2l6ZT1lLnNpemUsdC5tZXRhZGF0YS5taW1lVHlwZT1lLnR5cGUsY29uc29sZS5sb2coIkltYWdlQmxvY2tIYW5kbGVyOiBTZXQgbG9hZGluZyBzdGF0ZSwgcmVxdWVzdGluZyB1cGRhdGUiKSxyLm9uUmVxdWVzdFVwZGF0ZT8uKCk7dHJ5e2xldCBvPWF3YWl0IHRoaXMuZmlsZVRvRGF0YVVybChlKTt0Lm1ldGFkYXRhLnVybD1vLHQubWV0YWRhdGEubG9hZGluZz0hMTtsZXQgbj1lLm5hbWUucmVwbGFjZSgvXC5bXi8uXSskLywiIik7dC5jb250ZW50PW4sY29uc29sZS5sb2coIkltYWdlQmxvY2tIYW5kbGVyOiBVcGxvYWQgY29tcGxldGUsIHJlcXVlc3RpbmcgdXBkYXRlIix7aGFzVXJsOiEhdC5tZXRhZGF0YS51cmwsdXJsTGVuZ3RoOm8ubGVuZ3RoLGFsdFRleHQ6dC5jb250ZW50fSksci5vblJlcXVlc3RVcGRhdGU/LigpfWNhdGNoKG8pe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byB1cGxvYWQgaW1hZ2U6IixvKSx0Lm1ldGFkYXRhLmxvYWRpbmc9ITEsci5vblJlcXVlc3RVcGRhdGU/LigpfX1maWxlVG9EYXRhVXJsKGUpe3JldHVybiBuZXcgUHJvbWlzZSgodCxyKT0+e2xldCBpPW5ldyBGaWxlUmVhZGVyO2kub25sb2FkPW89PntsZXQgbj1vLnRhcmdldD8ucmVzdWx0O3R5cGVvZiBuPT0ic3RyaW5nIj90KG4pOnIobmV3IEVycm9yKCJGYWlsZWQgdG8gcmVhZCBmaWxlIikpfSxpLm9uZXJyb3I9cixpLnJlYWRBc0RhdGFVUkwoZSl9KX1lc2NhcGVIdG1sKGUpe2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LnRleHRDb250ZW50PWUsdC5pbm5lckhUTUx9Z2V0Q29udGVudChlKXtyZXR1cm4gdGhpcy5nZXRCbG9ja0Zyb21FbGVtZW50KGUpPy5jb250ZW50fHwiIn1zZXRDb250ZW50KGUsdCl7bGV0IHI9dGhpcy5nZXRCbG9ja0Zyb21FbGVtZW50KGUpO3ImJihyLmNvbnRlbnQ9dCl9Z2V0QmxvY2tGcm9tRWxlbWVudChlKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5pbWFnZS1ibG9jay1jb250YWluZXIiKT8uZ2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIik7cmV0dXJuIHI/e2lkOnIsdHlwZToiaW1hZ2UiLGNvbnRlbnQ6IiIsbWV0YWRhdGE6e319Om51bGx9Z2V0Q3Vyc29yUG9zaXRpb24oZSl7cmV0dXJuIG51bGx9c2V0Q3Vyc29yVG9TdGFydChlKXt0aGlzLmZvY3VzKGUpfXNldEN1cnNvclRvRW5kKGUpe3RoaXMuZm9jdXMoZSl9Zm9jdXMoZSl7ZS5xdWVyeVNlbGVjdG9yKCIuaW1hZ2UtYmxvY2stY29udGFpbmVyIik/LmZvY3VzKCl9Zm9jdXNXaXRoQ3Vyc29yKGUsdD0iZW5kIil7dGhpcy5mb2N1cyhlKX1nZXRTcGxpdENvbnRlbnQoZSl7cmV0dXJuIG51bGx9Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBJbWFnZSBCbG9jayBDb250YWluZXIgKi8KICAgICAgLmltYWdlLWJsb2NrLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbjogMTJweCAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CiAgICAgIAogICAgICAuaW1hZ2UtYmxvY2stY29udGFpbmVyLnNlbGVjdGVkIHsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoIiM2MzY2ZjEiLCIjODE4Y2Y4Iil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBVcGxvYWQgUGxhY2Vob2xkZXIgKi8KICAgICAgLmltYWdlLXVwbG9hZC1wbGFjZWhvbGRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNDhweCAyNHB4OwogICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQogICAgICAKICAgICAgLmltYWdlLWJsb2NrLWNvbnRhaW5lcjpob3ZlciAuaW1hZ2UtdXBsb2FkLXBsYWNlaG9sZGVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxMTE4MjciKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5pbWFnZS1ibG9jay1jb250YWluZXIuZHJhZy1vdmVyIC5pbWFnZS11cGxvYWQtcGxhY2Vob2xkZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiM2MzY2ZjEiLCIjODE4Y2Y4Iil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWZmNmZmIiwiIzFlMWI0YiIpfTsKICAgICAgfQogICAgICAKICAgICAgLnVwbG9hZC1pY29uIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM0YjU1NjMiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC51cGxvYWQtdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC51cGxvYWQtaGludCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEltYWdlIENvbnRhaW5lciAqLwogICAgICAuaW1hZ2UtY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWluLWhlaWdodDogMjAwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOWZhZmIiLCIjMTExODI3Iil9OwogICAgICB9CiAgICAgIAogICAgICAuaW1hZ2UtY29udGFpbmVyIGltZyB7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogYXV0bzsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIExvYWRpbmcgU3RhdGUgKi8KICAgICAgLmltYWdlLWxvYWRpbmcgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtoLmJkVGhlbWUoIiM2MzY2ZjEiLCIjODE4Y2Y4Iil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQogICAgICAKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0KICAgICAgfQogICAgICAKICAgICAgLmxvYWRpbmctdGV4dCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEZpbGUgaW5wdXQgaGlkZGVuICovCiAgICAgIC5pbWFnZS1maWxlLWlucHV0IHsKICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgIGB9fX0pO3ZhciBJVyxVMmE9ZigoKT0+e0pvKCk7bGUoKTtJVz1jbGFzcyBleHRlbmRzIGhye3N0YXRpY3tzKHRoaXMsIllvdVR1YmVCbG9ja0hhbmRsZXIiKX10eXBlPSJ5b3V0dWJlIjtyZW5kZXIoZSx0KXtsZXQgcj1lLm1ldGFkYXRhPy52aWRlb0lkLGk9ZS5tZXRhZGF0YT8udXJsfHwiIjtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9InlvdXR1YmUtYmxvY2stY29udGFpbmVyJHt0PyIgc2VsZWN0ZWQiOiIifSIgCiAgICAgICAgICAgZGF0YS1ibG9jay1pZD0iJHtlLmlkfSIKICAgICAgICAgICBkYXRhLWhhcy12aWRlbz0iJHshIXJ9Ij4KICAgICAgICAke3I/dGhpcy5yZW5kZXJWaWRlbyhyKTp0aGlzLnJlbmRlclBsYWNlaG9sZGVyKGkpfQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyUGxhY2Vob2xkZXIoZSl7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJ5b3V0dWJlLXBsYWNlaG9sZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwbGFjZWhvbGRlci1pY29uIj4KICAgICAgICAgIDxzdmcgd2lkdGg9IjQ4IiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xOS42MTUgMy4xODRjLTMuNjA0LS4yNDYtMTEuNjMxLS4yNDUtMTUuMjMgMC0zLjg5Ny4yNjYtNC4zNTYgMi42Mi00LjM4NSA4LjgxNi4wMjkgNi4xODUuNDg0IDguNTQ5IDQuMzg1IDguODE2IDMuNi4yNDUgMTEuNjI2LjI0NiAxNS4yMyAwIDMuODk3LS4yNjYgNC4zNTYtMi42MiA0LjM4NS04LjgxNi0uMDI5LTYuMTg1LS40ODQtOC41NDktNC4zODUtOC44MTZ6bS0xMC42MTUgMTIuODE2di04bDggMy45OTMtOCA0LjAwN3oiLz4KICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBsYWNlaG9sZGVyLXRleHQiPkVudGVyIFlvdVR1YmUgVVJMPC9kaXY+CiAgICAgICAgPGlucHV0IHR5cGU9InVybCIgCiAgICAgICAgICAgICAgIGNsYXNzPSJ5b3V0dWJlLXVybC1pbnB1dCIgCiAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJodHRwczovL3lvdXR1YmUuY29tL3dhdGNoP3Y9Li4uIiAKICAgICAgICAgICAgICAgdmFsdWU9IiR7dGhpcy5lc2NhcGVIdG1sKGUpfSIgLz4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJ5b3V0dWJlLWVtYmVkLWJ0biI+RW1iZWQgVmlkZW88L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclZpZGVvKGUpe3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0ieW91dHViZS1jb250YWluZXIiPgogICAgICAgIDxpZnJhbWUgCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyR7ZX0iCiAgICAgICAgICBmcmFtZWJvcmRlcj0iMCIKICAgICAgICAgIGFsbG93PSJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlIgogICAgICAgICAgYWxsb3dmdWxsc2NyZWVuCiAgICAgICAgPjwvaWZyYW1lPgogICAgICA8L2Rpdj4KICAgIGB9c2V0dXAoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLnlvdXR1YmUtYmxvY2stY29udGFpbmVyIik7aWYoIWkpcmV0dXJuO2lmKHQubWV0YWRhdGE/LnZpZGVvSWQpe2kuc2V0QXR0cmlidXRlKCJ0YWJpbmRleCIsIjAiKSxpLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+ci5vbkZvY3VzKCkpLGkuYWRkRXZlbnRMaXN0ZW5lcigiYmx1ciIsKCk9PnIub25CbHVyKCkpLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbD0+eyhsLmtleT09PSJEZWxldGUifHxsLmtleT09PSJCYWNrc3BhY2UiKSYmbC5wcmV2ZW50RGVmYXVsdCgpLHIub25LZXlEb3duKGwpfSk7cmV0dXJufWxldCBvPWUucXVlcnlTZWxlY3RvcigiLnlvdXR1YmUtdXJsLWlucHV0Iiksbj1lLnF1ZXJ5U2VsZWN0b3IoIi55b3V0dWJlLWVtYmVkLWJ0biIpOyFvfHwhbnx8KG8uYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT5yLm9uRm9jdXMoKSksby5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+ci5vbkJsdXIoKSksbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pnt0aGlzLmVtYmVkVmlkZW8oby52YWx1ZSx0LHIpfSksby5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixsPT57bC5rZXk9PT0iRW50ZXIiPyhsLnByZXZlbnREZWZhdWx0KCksdGhpcy5lbWJlZFZpZGVvKG8udmFsdWUsdCxyKSk6bC5rZXk9PT0iRXNjYXBlIiYmKGwucHJldmVudERlZmF1bHQoKSxvLmJsdXIoKSl9KSxvLmFkZEV2ZW50TGlzdGVuZXIoInBhc3RlIixsPT57c2V0VGltZW91dCgoKT0+e2xldCBkPW8udmFsdWU7dGhpcy5leHRyYWN0WW91VHViZVZpZGVvSWQoZCkmJnRoaXMuZW1iZWRWaWRlbyhkLHQscil9LDApfSksby5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKCk9Pnt0Lm1ldGFkYXRhfHwodC5tZXRhZGF0YT17fSksdC5tZXRhZGF0YS51cmw9by52YWx1ZX0pKX1lbWJlZFZpZGVvKGUsdCxyKXtsZXQgaT10aGlzLmV4dHJhY3RZb3VUdWJlVmlkZW9JZChlKTtpZighaSl7Y29uc29sZS5lcnJvcigiSW52YWxpZCBZb3VUdWJlIFVSTCIpO3JldHVybn10Lm1ldGFkYXRhfHwodC5tZXRhZGF0YT17fSksdC5tZXRhZGF0YS52aWRlb0lkPWksdC5tZXRhZGF0YS51cmw9ZSx0LmNvbnRlbnQ9YFlvdVR1YmUgVmlkZW86ICR7aX1gLHIub25SZXF1ZXN0VXBkYXRlPy4oKX1leHRyYWN0WW91VHViZVZpZGVvSWQoZSl7bGV0IHQ9Wy8oPzp5b3V0dWJlXC5jb21cLyg/OlteXC9dK1wvLitcL3woPzp2fGUoPzptYmVkKT8pXC98LipbPyZddj0pfHlvdXR1XC5iZVwvKShbXiImP1wvIF17MTF9KS8sL3lvdXR1YmVcLmNvbVwvZW1iZWRcLyhbXiImP1wvIF17MTF9KS8sL3lvdXR1YmVcLmNvbVwvd2F0Y2hcP3Y9KFteIiY/XC8gXXsxMX0pLywveW91dHVcLmJlXC8oW14iJj9cLyBdezExfSkvXTtmb3IobGV0IHIgb2YgdCl7bGV0IGk9ZS5tYXRjaChyKTtpZihpKXJldHVybiBpWzFdfXJldHVybiBudWxsfWVzY2FwZUh0bWwoZSl7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQudGV4dENvbnRlbnQ9ZSx0LmlubmVySFRNTH1nZXRDb250ZW50KGUpe3JldHVybiB0aGlzLmdldEJsb2NrRnJvbUVsZW1lbnQoZSk/LmNvbnRlbnR8fCIifXNldENvbnRlbnQoZSx0KXtsZXQgcj10aGlzLmdldEJsb2NrRnJvbUVsZW1lbnQoZSk7ciYmKHIuY29udGVudD10KX1nZXRCbG9ja0Zyb21FbGVtZW50KGUpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLnlvdXR1YmUtYmxvY2stY29udGFpbmVyIik/LmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpO3JldHVybiByP3tpZDpyLHR5cGU6InlvdXR1YmUiLGNvbnRlbnQ6IiIsbWV0YWRhdGE6e319Om51bGx9Z2V0Q3Vyc29yUG9zaXRpb24oZSl7cmV0dXJuIG51bGx9c2V0Q3Vyc29yVG9TdGFydChlKXt0aGlzLmZvY3VzKGUpfXNldEN1cnNvclRvRW5kKGUpe3RoaXMuZm9jdXMoZSl9Zm9jdXMoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIueW91dHViZS1ibG9jay1jb250YWluZXIiKSxyPWUucXVlcnlTZWxlY3RvcigiLnlvdXR1YmUtdXJsLWlucHV0Iik7cj9yLmZvY3VzKCk6dCYmdC5mb2N1cygpfWZvY3VzV2l0aEN1cnNvcihlLHQ9ImVuZCIpe3RoaXMuZm9jdXMoZSl9Z2V0U3BsaXRDb250ZW50KGUpe3JldHVybiBudWxsfWdldFN0eWxlcygpe3JldHVybmAKICAgICAgLyogWW91VHViZSBCbG9jayBDb250YWluZXIgKi8KICAgICAgLnlvdXR1YmUtYmxvY2stY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luOiAxMnB4IDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLnlvdXR1YmUtYmxvY2stY29udGFpbmVyLnNlbGVjdGVkIHsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoIiM2MzY2ZjEiLCIjODE4Y2Y4Iil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBZb3VUdWJlIFBsYWNlaG9sZGVyICovCiAgICAgIC55b3V0dWJlLXBsYWNlaG9sZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAzMnB4IDI0cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CiAgICAgIAogICAgICAucGxhY2Vob2xkZXItaWNvbiB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgIH0KICAgICAgCiAgICAgIC5wbGFjZWhvbGRlci10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICB9CiAgICAgIAogICAgICAueW91dHViZS11cmwtaW5wdXQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1heC13aWR0aDogNDAwcHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxMTE4MjciKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CiAgICAgIAogICAgICAueW91dHViZS11cmwtaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzFmMjkzNyIpfTsKICAgICAgfQogICAgICAKICAgICAgLnlvdXR1YmUtdXJsLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzRiNTU2MyIpfTsKICAgICAgfQogICAgICAKICAgICAgLnlvdXR1YmUtZW1iZWQtYnRuIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiIzExMTgyNyIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLnlvdXR1YmUtZW1iZWQtYnRuOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC55b3V0dWJlLWVtYmVkLWJ0bjphY3RpdmUgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFlvdVR1YmUgQ29udGFpbmVyICovCiAgICAgIC55b3V0dWJlLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IC8qIDE2OjkgYXNwZWN0IHJhdGlvICovCiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjMDAwMDAwIil9OwogICAgICB9CiAgICAgIAogICAgICAueW91dHViZS1jb250YWluZXIgaWZyYW1lIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJvcmRlcjogMDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIH0KICAgIGB9fX0pO3ZhciBOVyxXMmE9ZigoKT0+e0pvKCk7bGUoKTtOVz1jbGFzcyBleHRlbmRzIGhye3N0YXRpY3tzKHRoaXMsIkF0dGFjaG1lbnRCbG9ja0hhbmRsZXIiKX10eXBlPSJhdHRhY2htZW50IjtyZW5kZXIoZSx0KXtsZXQgcj1lLm1ldGFkYXRhPy5maWxlc3x8W107cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJhdHRhY2htZW50LWJsb2NrLWNvbnRhaW5lciR7dD8iIHNlbGVjdGVkIjoiIn0iIAogICAgICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgICAgdGFiaW5kZXg9IjAiPgogICAgICAgIDxkaXYgY2xhc3M9ImF0dGFjaG1lbnQtaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImF0dGFjaG1lbnQtaWNvbiI+XHV7MUY0Q0V9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJhdHRhY2htZW50LXRpdGxlIj5GaWxlIEF0dGFjaG1lbnRzPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYXR0YWNobWVudC1saXN0Ij4KICAgICAgICAgICR7ci5sZW5ndGg+MD90aGlzLnJlbmRlckZpbGVzKHIpOnRoaXMucmVuZGVyUGxhY2Vob2xkZXIoKX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8aW5wdXQgdHlwZT0iZmlsZSIgCiAgICAgICAgICAgICAgIGNsYXNzPSJhdHRhY2htZW50LWZpbGUtaW5wdXQiIAogICAgICAgICAgICAgICBtdWx0aXBsZSAKICAgICAgICAgICAgICAgc3R5bGU9ImRpc3BsYXk6IG5vbmU7IiAvPgogICAgICAgICR7ci5sZW5ndGg+MD8nPGJ1dHRvbiBjbGFzcz0iYWRkLW1vcmUtZmlsZXMiPkFkZCBNb3JlIEZpbGVzPC9idXR0b24+JzoiIn0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclBsYWNlaG9sZGVyKCl7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJhdHRhY2htZW50LXBsYWNlaG9sZGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwbGFjZWhvbGRlci10ZXh0Ij5DbGljayB0byBhZGQgZmlsZXM8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwbGFjZWhvbGRlci1oaW50Ij5vciBkcmFnIGFuZCBkcm9wPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJGaWxlcyhlKXtyZXR1cm4gZS5tYXAodD0+YAogICAgICA8ZGl2IGNsYXNzPSJhdHRhY2htZW50LWl0ZW0iIGRhdGEtZmlsZS1pZD0iJHt0LmlkfSI+CiAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1pY29uIj4ke3RoaXMuZ2V0RmlsZUljb24odC50eXBlKX08L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlLWluZm8iPgogICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1uYW1lIj4ke3RoaXMuZXNjYXBlSHRtbCh0Lm5hbWUpfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmlsZS1zaXplIj4ke3RoaXMuZm9ybWF0RmlsZVNpemUodC5zaXplKX08L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJyZW1vdmUtZmlsZSIgZGF0YS1maWxlLWlkPSIke3QuaWR9Ij5ceEQ3PC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgYCkuam9pbigiIil9c2V0dXAoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmF0dGFjaG1lbnQtYmxvY2stY29udGFpbmVyIiksbz1lLnF1ZXJ5U2VsZWN0b3IoIi5hdHRhY2htZW50LWZpbGUtaW5wdXQiKTtpZighaXx8IW8pe2NvbnNvbGUuZXJyb3IoIkF0dGFjaG1lbnRCbG9ja0hhbmRsZXI6IENvdWxkIG5vdCBmaW5kIHJlcXVpcmVkIGVsZW1lbnRzIik7cmV0dXJufXQubWV0YWRhdGF8fCh0Lm1ldGFkYXRhPXt9KSx0Lm1ldGFkYXRhLmZpbGVzfHwodC5tZXRhZGF0YS5maWxlcz1bXSk7bGV0IG49aS5xdWVyeVNlbGVjdG9yKCIuYXR0YWNobWVudC1wbGFjZWhvbGRlciIpO24mJm4uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGQ9PntkLnByZXZlbnREZWZhdWx0KCksZC5zdG9wUHJvcGFnYXRpb24oKSxvLmNsaWNrKCl9KTtsZXQgbD1pLnF1ZXJ5U2VsZWN0b3IoIi5hZGQtbW9yZS1maWxlcyIpO2wmJmwuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLGQ9PntkLnByZXZlbnREZWZhdWx0KCksZC5zdG9wUHJvcGFnYXRpb24oKSxvLmNsaWNrKCl9KSxvLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsYXN5bmMgZD0+e2xldCBjPWQudGFyZ2V0LHA9Yy5maWxlcztwJiZwLmxlbmd0aD4wJiYoYXdhaXQgdGhpcy5oYW5kbGVGaWxlQXR0YWNobWVudHMocCx0LHIpLGMudmFsdWU9IiIpfSksaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsZD0+e2xldCBjPWQudGFyZ2V0O2lmKGMuY2xhc3NMaXN0LmNvbnRhaW5zKCJyZW1vdmUtZmlsZSIpKXtkLnByZXZlbnREZWZhdWx0KCksZC5zdG9wUHJvcGFnYXRpb24oKTtsZXQgcD1jLmdldEF0dHJpYnV0ZSgiZGF0YS1maWxlLWlkIik7cCYmdGhpcy5yZW1vdmVGaWxlKHAsdCxyKX19KSxpLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIixkPT57ZC5wcmV2ZW50RGVmYXVsdCgpLGQuc3RvcFByb3BhZ2F0aW9uKCksaS5jbGFzc0xpc3QuYWRkKCJkcmFnLW92ZXIiKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ2xlYXZlIixkPT57ZC5wcmV2ZW50RGVmYXVsdCgpLGQuc3RvcFByb3BhZ2F0aW9uKCksaS5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnLW92ZXIiKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZHJvcCIsYXN5bmMgZD0+e2QucHJldmVudERlZmF1bHQoKSxkLnN0b3BQcm9wYWdhdGlvbigpLGkuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyIik7bGV0IGM9ZC5kYXRhVHJhbnNmZXI/LmZpbGVzO2MmJmMubGVuZ3RoPjAmJmF3YWl0IHRoaXMuaGFuZGxlRmlsZUF0dGFjaG1lbnRzKGMsdCxyKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT5yLm9uRm9jdXMoKSksaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+ci5vbkJsdXIoKSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixkPT57aWYoKGQua2V5PT09IkRlbGV0ZSJ8fGQua2V5PT09IkJhY2tzcGFjZSIpJiZkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09aSYmdC5tZXRhZGF0YT8uZmlsZXM/Lmxlbmd0aD4wKXtkLnByZXZlbnREZWZhdWx0KCksdC5tZXRhZGF0YS5maWxlcz1bXSxyLm9uUmVxdWVzdFVwZGF0ZT8uKCk7cmV0dXJufXIub25LZXlEb3duKGQpfSl9YXN5bmMgaGFuZGxlRmlsZUF0dGFjaG1lbnRzKGUsdCxyKXt0Lm1ldGFkYXRhfHwodC5tZXRhZGF0YT17fSksdC5tZXRhZGF0YS5maWxlc3x8KHQubWV0YWRhdGEuZmlsZXM9W10pO2ZvcihsZXQgaSBvZiBBcnJheS5mcm9tKGUpKXRyeXtsZXQgbz1hd2FpdCB0aGlzLmZpbGVUb0RhdGFVcmwoaSksbj17aWQ6dGhpcy5nZW5lcmF0ZUlkKCksbmFtZTppLm5hbWUsc2l6ZTppLnNpemUsdHlwZTppLnR5cGUsZGF0YTpvfTt0Lm1ldGFkYXRhLmZpbGVzLnB1c2gobil9Y2F0Y2gobyl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGF0dGFjaCBmaWxlOiIsaS5uYW1lLG8pfXQuY29udGVudD1gJHt0Lm1ldGFkYXRhLmZpbGVzLmxlbmd0aH0gZmlsZSR7dC5tZXRhZGF0YS5maWxlcy5sZW5ndGghPT0xPyJzIjoiIn0gYXR0YWNoZWRgLHIub25SZXF1ZXN0VXBkYXRlPy4oKX1yZW1vdmVGaWxlKGUsdCxyKXt0Lm1ldGFkYXRhPy5maWxlcyYmKHQubWV0YWRhdGEuZmlsZXM9dC5tZXRhZGF0YS5maWxlcy5maWx0ZXIoaT0+aS5pZCE9PWUpLHQuY29udGVudD10Lm1ldGFkYXRhLmZpbGVzLmxlbmd0aD4wP2Ake3QubWV0YWRhdGEuZmlsZXMubGVuZ3RofSBmaWxlJHt0Lm1ldGFkYXRhLmZpbGVzLmxlbmd0aCE9PTE/InMiOiIifSBhdHRhY2hlZGA6IiIsci5vblJlcXVlc3RVcGRhdGU/LigpKX1maWxlVG9EYXRhVXJsKGUpe3JldHVybiBuZXcgUHJvbWlzZSgodCxyKT0+e2xldCBpPW5ldyBGaWxlUmVhZGVyO2kub25sb2FkPW89PntsZXQgbj1vLnRhcmdldD8ucmVzdWx0O3R5cGVvZiBuPT0ic3RyaW5nIj90KG4pOnIobmV3IEVycm9yKCJGYWlsZWQgdG8gcmVhZCBmaWxlIikpfSxpLm9uZXJyb3I9cixpLnJlYWRBc0RhdGFVUkwoZSl9KX1nZXRGaWxlSWNvbihlKXtyZXR1cm4gZS5zdGFydHNXaXRoKCJpbWFnZS8iKT8iXHV7MUY1QkN9XHVGRTBGIjplLnN0YXJ0c1dpdGgoInZpZGVvLyIpPyJcdXsxRjNBNX0iOmUuc3RhcnRzV2l0aCgiYXVkaW8vIik/Ilx1ezFGM0I1fSI6ZS5pbmNsdWRlcygicGRmIik/Ilx1ezFGNEM0fSI6ZS5pbmNsdWRlcygiemlwIil8fGUuaW5jbHVkZXMoInJhciIpfHxlLmluY2x1ZGVzKCJ0YXIiKT8iXHV7MUY1QzR9XHVGRTBGIjplLmluY2x1ZGVzKCJzaGVldCIpPyJcdXsxRjRDQX0iOmUuaW5jbHVkZXMoImRvY3VtZW50Iil8fGUuaW5jbHVkZXMoIm1zd29yZCIpPyJcdXsxRjRERH0iOmUuaW5jbHVkZXMoInByZXNlbnRhdGlvbiIpPyJcdXsxRjRDQn0iOmUuaW5jbHVkZXMoInRleHQiKT8iXHV7MUY0QzN9IjoiXHV7MUY0QzF9In1mb3JtYXRGaWxlU2l6ZShlKXtpZihlPT09MClyZXR1cm4iMCBCeXRlcyI7bGV0IHQ9MTAyNCxyPVsiQnl0ZXMiLCJLQiIsIk1CIiwiR0IiXSxpPU1hdGguZmxvb3IoTWF0aC5sb2coZSkvTWF0aC5sb2codCkpO3JldHVybiBwYXJzZUZsb2F0KChlL01hdGgucG93KHQsaSkpLnRvRml4ZWQoMikpKyIgIityW2ldfWdlbmVyYXRlSWQoKXtyZXR1cm5gZmlsZS0ke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsOSl9YH1lc2NhcGVIdG1sKGUpe2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LnRleHRDb250ZW50PWUsdC5pbm5lckhUTUx9Z2V0Q29udGVudChlKXtyZXR1cm4gdGhpcy5nZXRCbG9ja0Zyb21FbGVtZW50KGUpPy5jb250ZW50fHwiIn1zZXRDb250ZW50KGUsdCl7bGV0IHI9dGhpcy5nZXRCbG9ja0Zyb21FbGVtZW50KGUpO3ImJihyLmNvbnRlbnQ9dCl9Z2V0QmxvY2tGcm9tRWxlbWVudChlKXtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoIi5hdHRhY2htZW50LWJsb2NrLWNvbnRhaW5lciIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKTtyZXR1cm4gcj97aWQ6cix0eXBlOiJhdHRhY2htZW50Iixjb250ZW50OiIiLG1ldGFkYXRhOnt9fTpudWxsfWdldEN1cnNvclBvc2l0aW9uKGUpe3JldHVybiBudWxsfXNldEN1cnNvclRvU3RhcnQoZSl7dGhpcy5mb2N1cyhlKX1zZXRDdXJzb3JUb0VuZChlKXt0aGlzLmZvY3VzKGUpfWZvY3VzKGUpe2UucXVlcnlTZWxlY3RvcigiLmF0dGFjaG1lbnQtYmxvY2stY29udGFpbmVyIik/LmZvY3VzKCl9Zm9jdXNXaXRoQ3Vyc29yKGUsdD0iZW5kIil7dGhpcy5mb2N1cyhlKX1nZXRTcGxpdENvbnRlbnQoZSl7cmV0dXJuIG51bGx9Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBBdHRhY2htZW50IEJsb2NrIENvbnRhaW5lciAqLwogICAgICAuYXR0YWNobWVudC1ibG9jay1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW46IDEycHggMDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxMTE4MjciKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5hdHRhY2htZW50LWJsb2NrLWNvbnRhaW5lci5zZWxlY3RlZCB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5hdHRhY2htZW50LWJsb2NrLWNvbnRhaW5lci5kcmFnLW92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiIzFmMjkzNyIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjNjM2NmYxIiwiIzgxOGNmOCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogSGVhZGVyICovCiAgICAgIC5hdHRhY2htZW50LWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiIzBhMGEwYSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmF0dGFjaG1lbnQtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgfQogICAgICAKICAgICAgLmF0dGFjaG1lbnQtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzM3NDE1MSIsIiNlNWU3ZWIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEZpbGUgTGlzdCAqLwogICAgICAuYXR0YWNobWVudC1saXN0IHsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgbWluLWhlaWdodDogODBweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIFBsYWNlaG9sZGVyICovCiAgICAgIC5hdHRhY2htZW50LXBsYWNlaG9sZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQogICAgICAKICAgICAgLmF0dGFjaG1lbnQtcGxhY2Vob2xkZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiIzFmMjkzNyIpfTsKICAgICAgfQogICAgICAKICAgICAgLnBsYWNlaG9sZGVyLXRleHQgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQogICAgICAKICAgICAgLnBsYWNlaG9sZGVyLWhpbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBGaWxlIEl0ZW1zICovCiAgICAgIC5hdHRhY2htZW50LWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOWZhZmIiLCIjMWYyOTM3Iil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KICAgICAgCiAgICAgIC5hdHRhY2htZW50LWl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjNmNGY2IiwiIzM3NDE1MSIpfTsKICAgICAgfQogICAgICAKICAgICAgLmZpbGUtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CiAgICAgIAogICAgICAuZmlsZS1pbmZvIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQogICAgICAKICAgICAgLmZpbGUtbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KICAgICAgCiAgICAgIC5maWxlLXNpemUgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQogICAgICAKICAgICAgLnJlbW92ZS1maWxlIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjOWNhM2FmIil9OwogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBsaW5lLWhlaWdodDogMTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQogICAgICAKICAgICAgLnJlbW92ZS1maWxlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsIiM5OTFiMWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ZjYTVhNSIsIiNkYzI2MjYiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2ZjYTVhNSIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogQWRkIE1vcmUgRmlsZXMgQnV0dG9uICovCiAgICAgIC5hZGQtbW9yZS1maWxlcyB7CiAgICAgICAgbWFyZ2luOiA4cHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjsKICAgICAgfQogICAgICAKICAgICAgLmFkZC1tb3JlLWZpbGVzOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2QxZDVkYiIsIiM0YjU1NjMiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEhpZGRlbiBmaWxlIGlucHV0ICovCiAgICAgIC5hdHRhY2htZW50LWZpbGUtaW5wdXQgewogICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsKICAgICAgfQogICAgYH19fSk7dmFyIFJXLEcyYT1mKCgpPT57Sm8oKTtsZSgpO1JXPWNsYXNzIGV4dGVuZHMgaHJ7c3RhdGlje3ModGhpcywiRGl2aWRlckJsb2NrSGFuZGxlciIpfXR5cGU9ImRpdmlkZXIiO3JlbmRlcihlLHQpe3JldHVybmAKICAgICAgPGRpdiBjbGFzcz0iYmxvY2sgZGl2aWRlciR7dD8iIHNlbGVjdGVkIjoiIn0iIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iIGRhdGEtYmxvY2stdHlwZT0iJHtlLnR5cGV9IiB0YWJpbmRleD0iMCI+CiAgICAgICAgPGhyPgogICAgICA8L2Rpdj4KICAgIGB9c2V0dXAoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmJsb2NrLmRpdmlkZXIiKTtpJiYoaS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbz0+e28uc3RvcFByb3BhZ2F0aW9uKCksaS5mb2N1cygpLHIub25Gb2N1cz8uKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIiwoKT0+e3Iub25Gb2N1cz8uKCl9KSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57ci5vbkJsdXI/LigpfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixvPT57KG8ua2V5PT09IkJhY2tzcGFjZSJ8fG8ua2V5PT09IkRlbGV0ZSIpJiZvLnByZXZlbnREZWZhdWx0KCksci5vbktleURvd24/LihvKX0pKX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC5ibG9jay5kaXZpZGVyIHsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICBtYXJnaW46IDE2cHggMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmJsb2NrLmRpdmlkZXI6Zm9jdXMgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5ibG9jay5kaXZpZGVyLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAxMDIsIDIwNCwgMC4wNSkiLCJyZ2JhKDc3LCAxNDgsIDI1NSwgMC4wOCkiKX07CiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMnB4ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDEwMiwgMjA0LCAwLjIpIiwicmdiYSg3NywgMTQ4LCAyNTUsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5ibG9jay5kaXZpZGVyIGhyIHsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTBlMGUwIiwiIzMzMyIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgIGB9fX0pO3ZhciBPVyxZMmE9ZigoKT0+e0pvKCk7bGUoKTtPVz1jbGFzcyBleHRlbmRzIGhye3N0YXRpY3tzKHRoaXMsIk1hcmtkb3duQmxvY2tIYW5kbGVyIil9dHlwZT0ibWFya2Rvd24iO3JlbmRlcihlLHQpe2xldCByPWUubWV0YWRhdGE/LmlzRWRpdE1vZGU/PyEwLGk9ZS5jb250ZW50fHwiIjtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWJsb2NrLWNvbnRhaW5lciR7dD8iIHNlbGVjdGVkIjoiIn0iIAogICAgICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgICAgZGF0YS1lZGl0LW1vZGU9IiR7cn0iPgogICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXJrZG93bi1pY29uIj5NXHUyMTkzPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtYXJrZG93bi10aXRsZSI+TWFya2Rvd248L2Rpdj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9Im1hcmtkb3duLXRvZ2dsZS1tb2RlIiB0aXRsZT0iJHtyPyJQcmV2aWV3IjoiRWRpdCJ9Ij4KICAgICAgICAgICAgJHtyPyJcdXsxRjQ0MX1cdUZFMEYiOiJcdTI3MEZcdUZFMEYifQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tY29udGVudCI+CiAgICAgICAgICAke3I/dGhpcy5yZW5kZXJFZGl0b3IoaSk6dGhpcy5yZW5kZXJQcmV2aWV3KGkpfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRWRpdG9yKGUpe3JldHVybmAKICAgICAgPHRleHRhcmVhIGNsYXNzPSJtYXJrZG93bi1lZGl0b3IiIAogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkVudGVyIG1hcmtkb3duIGNvbnRlbnQuLi4iCiAgICAgICAgICAgICAgICBzcGVsbGNoZWNrPSJmYWxzZSI+JHt0aGlzLmVzY2FwZUh0bWwoZSl9PC90ZXh0YXJlYT4KICAgIGB9cmVuZGVyUHJldmlldyhlKXtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLXByZXZpZXciPgogICAgICAgICR7dGhpcy5wYXJzZU1hcmtkb3duKGUpfHwnPGRpdiBjbGFzcz0icHJldmlldy1lbXB0eSI+Tm8gY29udGVudCB0byBwcmV2aWV3PC9kaXY+J30KICAgICAgPC9kaXY+CiAgICBgfXNldHVwKGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1ibG9jay1jb250YWluZXIiKSxvPWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLXRvZ2dsZS1tb2RlIik7aWYoIWl8fCFvKXtjb25zb2xlLmVycm9yKCJNYXJrZG93bkJsb2NrSGFuZGxlcjogQ291bGQgbm90IGZpbmQgcmVxdWlyZWQgZWxlbWVudHMiKTtyZXR1cm59dC5tZXRhZGF0YXx8KHQubWV0YWRhdGE9e30pLHQubWV0YWRhdGEuaXNFZGl0TW9kZT09PXZvaWQgMCYmKHQubWV0YWRhdGEuaXNFZGl0TW9kZT0hMCksby5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbj0+e2lmKG4ucHJldmVudERlZmF1bHQoKSxuLnN0b3BQcm9wYWdhdGlvbigpLHQubWV0YWRhdGEuaXNFZGl0TW9kZSl7bGV0IGw9aS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7bCYmKHQuY29udGVudD1sLnZhbHVlKX10Lm1ldGFkYXRhLmlzRWRpdE1vZGU9IXQubWV0YWRhdGEuaXNFZGl0TW9kZSxyLm9uUmVxdWVzdFVwZGF0ZT8uKCl9KSx0Lm1ldGFkYXRhLmlzRWRpdE1vZGU/dGhpcy5zZXR1cEVkaXRvcihlLHQscik6dGhpcy5zZXR1cFByZXZpZXcoZSx0LHIpfXNldHVwRWRpdG9yKGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1lZGl0b3IiKTtpJiYoaS5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PnIub25Gb2N1cygpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT5yLm9uQmx1cigpKSxpLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IiwoKT0+e3QuY29udGVudD1pLnZhbHVlfSksaS5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixvPT57aWYoby5rZXk9PT0iVGFiIil7by5wcmV2ZW50RGVmYXVsdCgpO2xldCBuPWkuc2VsZWN0aW9uU3RhcnQsbD1pLnNlbGVjdGlvbkVuZCxkPWkudmFsdWU7aWYoby5zaGlmdEtleSl7bGV0IHU9ZC5zdWJzdHJpbmcoMCxuKS5sYXN0SW5kZXhPZihgCmApKzEsbT1kLnN1YnN0cmluZyh1LG4pO20uc3RhcnRzV2l0aCgiICAiKSYmKGkudmFsdWU9ZC5zdWJzdHJpbmcoMCx1KSttLnN1YnN0cmluZygyKStkLnN1YnN0cmluZyhuKSxpLnNlbGVjdGlvblN0YXJ0PWkuc2VsZWN0aW9uRW5kPW4tMil9ZWxzZSBpLnZhbHVlPWQuc3Vic3RyaW5nKDAsbikrIiAgIitkLnN1YnN0cmluZyhsKSxpLnNlbGVjdGlvblN0YXJ0PWkuc2VsZWN0aW9uRW5kPW4rMjt0LmNvbnRlbnQ9aS52YWx1ZTtyZXR1cm59aWYoKG8uY3RybEtleXx8by5tZXRhS2V5KSYmby5rZXk9PT0iYiIpe28ucHJldmVudERlZmF1bHQoKSx0aGlzLndyYXBTZWxlY3Rpb24oaSwiKioiLCIqKiIpLHQuY29udGVudD1pLnZhbHVlO3JldHVybn1pZigoby5jdHJsS2V5fHxvLm1ldGFLZXkpJiZvLmtleT09PSJpIil7by5wcmV2ZW50RGVmYXVsdCgpLHRoaXMud3JhcFNlbGVjdGlvbihpLCJfIiwiXyIpLHQuY29udGVudD1pLnZhbHVlO3JldHVybn1pZigoby5jdHJsS2V5fHxvLm1ldGFLZXkpJiZvLmtleT09PSJrIil7by5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaW5zZXJ0TGluayhpKSx0LmNvbnRlbnQ9aS52YWx1ZTtyZXR1cm59ci5vbktleURvd24obyl9KSx0aGlzLmF1dG9SZXNpemUoaSksaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKCk9PnRoaXMuYXV0b1Jlc2l6ZShpKSkpfXNldHVwUHJldmlldyhlLHQscil7bGV0IGk9ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tYmxvY2stY29udGFpbmVyIiksbz1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1wcmV2aWV3Iik7IWl8fCFvfHwoby5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLG8uYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT5yLm9uRm9jdXMoKSksby5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+ci5vbkJsdXIoKSksby5hZGRFdmVudExpc3RlbmVyKCJrZXlkb3duIixuPT57aWYobi5rZXk9PT0iRW50ZXIiJiYhbi5zaGlmdEtleSl7bi5wcmV2ZW50RGVmYXVsdCgpLHQubWV0YWRhdGEuaXNFZGl0TW9kZT0hMCxyLm9uUmVxdWVzdFVwZGF0ZT8uKCk7cmV0dXJufXIub25LZXlEb3duKG4pfSkpfXdyYXBTZWxlY3Rpb24oZSx0LHIpe2xldCBpPWUuc2VsZWN0aW9uU3RhcnQsbz1lLnNlbGVjdGlvbkVuZCxuPWUudmFsdWUuc3Vic3RyaW5nKGksbyksbD10KyhufHwidGV4dCIpK3I7ZS52YWx1ZT1lLnZhbHVlLnN1YnN0cmluZygwLGkpK2wrZS52YWx1ZS5zdWJzdHJpbmcobyksbj8oZS5zZWxlY3Rpb25TdGFydD1pLGUuc2VsZWN0aW9uRW5kPWkrbC5sZW5ndGgpOihlLnNlbGVjdGlvblN0YXJ0PWkrdC5sZW5ndGgsZS5zZWxlY3Rpb25FbmQ9aSt0Lmxlbmd0aCs0KSxlLmZvY3VzKCl9aW5zZXJ0TGluayhlKXtsZXQgdD1lLnNlbGVjdGlvblN0YXJ0LHI9ZS5zZWxlY3Rpb25FbmQsbz1lLnZhbHVlLnN1YnN0cmluZyh0LHIpfHwibGluayB0ZXh0IixuPWBbJHtvfV0odXJsKWA7ZS52YWx1ZT1lLnZhbHVlLnN1YnN0cmluZygwLHQpK24rZS52YWx1ZS5zdWJzdHJpbmcociksZS5zZWxlY3Rpb25TdGFydD10K28ubGVuZ3RoKzMsZS5zZWxlY3Rpb25FbmQ9dCtvLmxlbmd0aCs2LGUuZm9jdXMoKX1hdXRvUmVzaXplKGUpe2Uuc3R5bGUuaGVpZ2h0PSJhdXRvIixlLnN0eWxlLmhlaWdodD1lLnNjcm9sbEhlaWdodCsicHgifXBhcnNlTWFya2Rvd24oZSl7bGV0IHQ9dGhpcy5lc2NhcGVIdG1sKGUpO3JldHVybiB0PXQucmVwbGFjZSgvXiMjIyAoLispJC9nbSwiPGgzPiQxPC9oMz4iKSx0PXQucmVwbGFjZSgvXiMjICguKykkL2dtLCI8aDI+JDE8L2gyPiIpLHQ9dC5yZXBsYWNlKC9eIyAoLispJC9nbSwiPGgxPiQxPC9oMT4iKSx0PXQucmVwbGFjZSgvXCpcKiguKz8pXCpcKi9nLCI8c3Ryb25nPiQxPC9zdHJvbmc+IiksdD10LnJlcGxhY2UoL19fKC4rPylfXy9nLCI8c3Ryb25nPiQxPC9zdHJvbmc+IiksdD10LnJlcGxhY2UoL1wqKC4rPylcKi9nLCI8ZW0+JDE8L2VtPiIpLHQ9dC5yZXBsYWNlKC9fKC4rPylfL2csIjxlbT4kMTwvZW0+IiksdD10LnJlcGxhY2UoL2BgYChbXHNcU10qPylgYGAvZywiPHByZT48Y29kZT4kMTwvY29kZT48L3ByZT4iKSx0PXQucmVwbGFjZSgvYCguKz8pYC9nLCI8Y29kZT4kMTwvY29kZT4iKSx0PXQucmVwbGFjZSgvXFsoW15cXV0rKVxdXCgoW14pXSspXCkvZywnPGEgaHJlZj0iJDIiPiQxPC9hPicpLHQ9dC5yZXBsYWNlKC9eXCogKC4rKSQvZ20sIjxsaT4kMTwvbGk+IiksdD10LnJlcGxhY2UoL14tICguKykkL2dtLCI8bGk+JDE8L2xpPiIpLHQ9dC5yZXBsYWNlKC9eXGQrXC4gKC4rKSQvZ20sIjxsaT4kMTwvbGk+IiksdD10LnJlcGxhY2UoLyg8bGk+Lio8XC9saT5cbj8pKy9nLHI9PiI8dWw+IityKyI8L3VsPiIpLHQ9dC5yZXBsYWNlKC9cblxuL2csIjwvcD48cD4iKSx0PSI8cD4iK3QrIjwvcD4iLHQ9dC5yZXBsYWNlKC88cD48XC9wPi9nLCIiKSx0PXQucmVwbGFjZSgvPHA+KDxoWzEtM10+KS9nLCIkMSIpLHQ9dC5yZXBsYWNlKC8oPFwvaFsxLTNdPik8XC9wPi9nLCIkMSIpLHQ9dC5yZXBsYWNlKC88cD4oPHVsPikvZywiJDEiKSx0PXQucmVwbGFjZSgvKDxcL3VsPik8XC9wPi9nLCIkMSIpLHQ9dC5yZXBsYWNlKC88cD4oPHByZT4pL2csIiQxIiksdD10LnJlcGxhY2UoLyg8XC9wcmU+KTxcL3A+L2csIiQxIiksdH1lc2NhcGVIdG1sKGUpe2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiB0LnRleHRDb250ZW50PWUsdC5pbm5lckhUTUx9Z2V0Q29udGVudChlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5tYXJrZG93bi1lZGl0b3IiKTtpZih0KXJldHVybiB0LnZhbHVlO2xldCBpPWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWJsb2NrLWNvbnRhaW5lciIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKTtyZXR1cm4iIn1zZXRDb250ZW50KGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7ciYmKHIudmFsdWU9dCx0aGlzLmF1dG9SZXNpemUocikpfWdldEN1cnNvclBvc2l0aW9uKGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO3JldHVybiB0P3Quc2VsZWN0aW9uU3RhcnQ6bnVsbH1zZXRDdXJzb3JUb1N0YXJ0KGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO3Q/KHQuc2VsZWN0aW9uU3RhcnQ9dC5zZWxlY3Rpb25FbmQ9MCx0LmZvY3VzKCkpOnRoaXMuZm9jdXMoZSl9c2V0Q3Vyc29yVG9FbmQoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7aWYodCl7bGV0IHI9dC52YWx1ZS5sZW5ndGg7dC5zZWxlY3Rpb25TdGFydD10LnNlbGVjdGlvbkVuZD1yLHQuZm9jdXMoKX1lbHNlIHRoaXMuZm9jdXMoZSl9Zm9jdXMoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tZWRpdG9yIik7dD90LmZvY3VzKCk6ZS5xdWVyeVNlbGVjdG9yKCIubWFya2Rvd24tcHJldmlldyIpPy5mb2N1cygpfWZvY3VzV2l0aEN1cnNvcihlLHQ9ImVuZCIpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO3I/dD09PSJzdGFydCI/dGhpcy5zZXRDdXJzb3JUb1N0YXJ0KGUpOnQ9PT0iZW5kIj90aGlzLnNldEN1cnNvclRvRW5kKGUpOnR5cGVvZiB0PT0ibnVtYmVyIiYmKHIuc2VsZWN0aW9uU3RhcnQ9ci5zZWxlY3Rpb25FbmQ9dCxyLmZvY3VzKCkpOnRoaXMuZm9jdXMoZSl9Z2V0U3BsaXRDb250ZW50KGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLm1hcmtkb3duLWVkaXRvciIpO2lmKCF0KXJldHVybiBudWxsO2xldCByPXQuc2VsZWN0aW9uU3RhcnQ7cmV0dXJue2JlZm9yZTp0LnZhbHVlLnN1YnN0cmluZygwLHIpLGFmdGVyOnQudmFsdWUuc3Vic3RyaW5nKHIpfX1nZXRTdHlsZXMoKXtyZXR1cm5gCiAgICAgIC8qIE1hcmtkb3duIEJsb2NrIENvbnRhaW5lciAqLwogICAgICAubWFya2Rvd24tYmxvY2stY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWFyZ2luOiAxMnB4IDA7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzExMTgyNyIpfTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLWJsb2NrLWNvbnRhaW5lci5zZWxlY3RlZCB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEhlYWRlciAqLwogICAgICAubWFya2Rvd24taGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMwYTBhMGEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi10aXRsZSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tdG9nZ2xlLW1vZGUgewogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tdG9nZ2xlLW1vZGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjNmNGY2IiwiIzFmMjkzNyIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDFkNWRiIiwiIzRiNTU2MyIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogQ29udGVudCAqLwogICAgICAubWFya2Rvd24tY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4OwogICAgICB9CiAgICAgIAogICAgICAvKiBFZGl0b3IgKi8KICAgICAgLm1hcmtkb3duLWVkaXRvciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICByZXNpemU6IG5vbmU7CiAgICAgICAgZm9udC1mYW1pbHk6ICdNb25hY28nLCAnQ29uc29sYXMnLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMWYyOTM3IiwiI2YzZjRmNiIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tZWRpdG9yOjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZiNzI4MCIpfTsKICAgICAgfQogICAgICAKICAgICAgLyogUHJldmlldyAqLwogICAgICAubWFya2Rvd24tcHJldmlldyB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBtaW4taGVpZ2h0OiA5NnB4OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMWYyOTM3IiwiI2YzZjRmNiIpfTsKICAgICAgfQogICAgICAKICAgICAgLnByZXZpZXctZW1wdHkgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CiAgICAgIAogICAgICAvKiBNYXJrZG93biBwcmV2aWV3IHN0eWxlcyAqLwogICAgICAubWFya2Rvd24tcHJldmlldyBoMSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbWFyZ2luOiAxNnB4IDAgOHB4IDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgaDIgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIG1hcmdpbjogMTRweCAwIDZweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IGgzIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBtYXJnaW46IDEycHggMCA0cHggMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBwIHsKICAgICAgICBtYXJnaW46IDhweCAwOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyB1bCwKICAgICAgLm1hcmtkb3duLXByZXZpZXcgb2wgewogICAgICAgIG1hcmdpbjogOHB4IDA7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBsaSB7CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgY29kZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMWYyOTM3Iil9OwogICAgICAgIHBhZGRpbmc6IDJweCA0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnTW9uYWNvJywgJ0NvbnNvbGFzJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMC45ZW07CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IHByZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMWYyOTM3Iil9OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgICAgbWFyZ2luOiA4cHggMDsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgcHJlIGNvZGUgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IHN0cm9uZyB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBlbSB7CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICB9CiAgICAgIAogICAgICAubWFya2Rvd24tcHJldmlldyBhIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLm1hcmtkb3duLXByZXZpZXcgYTpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC5tYXJrZG93bi1wcmV2aWV3IGJsb2NrcXVvdGUgewogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIHBhZGRpbmctbGVmdDogMTJweDsKICAgICAgICBtYXJnaW46IDhweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgIH0KICAgIGB9fX0pO3ZhciBGVyxLMmE9ZigoKT0+e0pvKCk7bGUoKTtGVz1jbGFzcyBleHRlbmRzIGhye3N0YXRpY3tzKHRoaXMsIkh0bWxCbG9ja0hhbmRsZXIiKX10eXBlPSJodG1sIjtyZW5kZXIoZSx0KXtsZXQgcj1lLm1ldGFkYXRhPy5pc0VkaXRNb2RlPz8hMCxpPWUuY29udGVudHx8IiI7cmV0dXJuYAogICAgICA8ZGl2IGNsYXNzPSJodG1sLWJsb2NrLWNvbnRhaW5lciR7dD8iIHNlbGVjdGVkIjoiIn0iIAogICAgICAgICAgIGRhdGEtYmxvY2staWQ9IiR7ZS5pZH0iCiAgICAgICAgICAgZGF0YS1lZGl0LW1vZGU9IiR7cn0iPgogICAgICAgIDxkaXYgY2xhc3M9Imh0bWwtaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Imh0bWwtaWNvbiI+Jmx0Oy8mZ3Q7PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJodG1sLXRpdGxlIj5IVE1MPC9kaXY+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJodG1sLXRvZ2dsZS1tb2RlIiB0aXRsZT0iJHtyPyJQcmV2aWV3IjoiRWRpdCJ9Ij4KICAgICAgICAgICAgJHtyPyJcdXsxRjQ0MX1cdUZFMEYiOiJcdTI3MEZcdUZFMEYifQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaHRtbC1jb250ZW50Ij4KICAgICAgICAgICR7cj90aGlzLnJlbmRlckVkaXRvcihpKTp0aGlzLnJlbmRlclByZXZpZXcoaSl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJFZGl0b3IoZSl7cmV0dXJuYAogICAgICA8dGV4dGFyZWEgY2xhc3M9Imh0bWwtZWRpdG9yIiAKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJFbnRlciBIVE1MIGNvbnRlbnQuLi4iCiAgICAgICAgICAgICAgICBzcGVsbGNoZWNrPSJmYWxzZSI+JHt0aGlzLmVzY2FwZUh0bWwoZSl9PC90ZXh0YXJlYT4KICAgIGB9cmVuZGVyUHJldmlldyhlKXtyZXR1cm5gCiAgICAgIDxkaXYgY2xhc3M9Imh0bWwtcHJldmlldyI+CiAgICAgICAgJHtlfHwnPGRpdiBjbGFzcz0icHJldmlldy1lbXB0eSI+Tm8gY29udGVudCB0byBwcmV2aWV3PC9kaXY+J30KICAgICAgPC9kaXY+CiAgICBgfXNldHVwKGUsdCxyKXtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWJsb2NrLWNvbnRhaW5lciIpLG89ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC10b2dnbGUtbW9kZSIpO2lmKCFpfHwhbyl7Y29uc29sZS5lcnJvcigiSHRtbEJsb2NrSGFuZGxlcjogQ291bGQgbm90IGZpbmQgcmVxdWlyZWQgZWxlbWVudHMiKTtyZXR1cm59dC5tZXRhZGF0YXx8KHQubWV0YWRhdGE9e30pLHQubWV0YWRhdGEuaXNFZGl0TW9kZT09PXZvaWQgMCYmKHQubWV0YWRhdGEuaXNFZGl0TW9kZT0hMCksby5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsbj0+e2lmKG4ucHJldmVudERlZmF1bHQoKSxuLnN0b3BQcm9wYWdhdGlvbigpLHQubWV0YWRhdGEuaXNFZGl0TW9kZSl7bGV0IGw9aS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTtsJiYodC5jb250ZW50PWwudmFsdWUpfXQubWV0YWRhdGEuaXNFZGl0TW9kZT0hdC5tZXRhZGF0YS5pc0VkaXRNb2RlLHIub25SZXF1ZXN0VXBkYXRlPy4oKX0pLHQubWV0YWRhdGEuaXNFZGl0TW9kZT90aGlzLnNldHVwRWRpdG9yKGUsdCxyKTp0aGlzLnNldHVwUHJldmlldyhlLHQscil9c2V0dXBFZGl0b3IoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmh0bWwtZWRpdG9yIik7aSYmKGkuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT5yLm9uRm9jdXMoKSksaS5hZGRFdmVudExpc3RlbmVyKCJibHVyIiwoKT0+ci5vbkJsdXIoKSksaS5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKCk9Pnt0LmNvbnRlbnQ9aS52YWx1ZSx0aGlzLnZhbGlkYXRlSHRtbChpLnZhbHVlKX0pLGkuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsbz0+e2lmKG8ua2V5PT09IlRhYiIpe28ucHJldmVudERlZmF1bHQoKTtsZXQgbj1pLnNlbGVjdGlvblN0YXJ0LGw9aS5zZWxlY3Rpb25FbmQsZD1pLnZhbHVlO2lmKG8uc2hpZnRLZXkpe2xldCB1PWQuc3Vic3RyaW5nKDAsbikubGFzdEluZGV4T2YoYApgKSsxLG09ZC5zdWJzdHJpbmcodSxuKTttLnN0YXJ0c1dpdGgoIiAgIikmJihpLnZhbHVlPWQuc3Vic3RyaW5nKDAsdSkrbS5zdWJzdHJpbmcoMikrZC5zdWJzdHJpbmcobiksaS5zZWxlY3Rpb25TdGFydD1pLnNlbGVjdGlvbkVuZD1uLTIpfWVsc2UgaS52YWx1ZT1kLnN1YnN0cmluZygwLG4pKyIgICIrZC5zdWJzdHJpbmcobCksaS5zZWxlY3Rpb25TdGFydD1pLnNlbGVjdGlvbkVuZD1uKzI7dC5jb250ZW50PWkudmFsdWU7cmV0dXJufWlmKChvLmN0cmxLZXl8fG8ubWV0YUtleSkmJm8ua2V5PT09Ii8iKXtvLnByZXZlbnREZWZhdWx0KCksdGhpcy5hdXRvQ2xvc2VUYWcoaSksdC5jb250ZW50PWkudmFsdWU7cmV0dXJufXIub25LZXlEb3duKG8pfSksdGhpcy5hdXRvUmVzaXplKGkpLGkuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLCgpPT50aGlzLmF1dG9SZXNpemUoaSkpKX1zZXR1cFByZXZpZXcoZSx0LHIpe2xldCBpPWUucXVlcnlTZWxlY3RvcigiLmh0bWwtYmxvY2stY29udGFpbmVyIiksbz1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLXByZXZpZXciKTshaXx8IW98fChvLnNldEF0dHJpYnV0ZSgidGFiaW5kZXgiLCIwIiksby5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsKCk9PnIub25Gb2N1cygpKSxvLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT5yLm9uQmx1cigpKSxvLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLG49PntpZihuLmtleT09PSJFbnRlciImJiFuLnNoaWZ0S2V5KXtuLnByZXZlbnREZWZhdWx0KCksdC5tZXRhZGF0YS5pc0VkaXRNb2RlPSEwLHIub25SZXF1ZXN0VXBkYXRlPy4oKTtyZXR1cm59ci5vbktleURvd24obil9KSx0aGlzLnNhbmRib3hDb250ZW50KG8pKX1hdXRvQ2xvc2VUYWcoZSl7bGV0IHQ9ZS5zZWxlY3Rpb25TdGFydCxyPWUudmFsdWUsaT10O2Zvcig7aT4wJiZyW2ktMV0hPT0iPCI7KWktLTtpZihpPjApe2xldCBuPXIuc3Vic3RyaW5nKGksdCkubWF0Y2goL14oXHcrKS8pO2lmKG4pe2xldCBkPWA8LyR7blsxXX0+YDtlLnZhbHVlPXIuc3Vic3RyaW5nKDAsdCkrIj4iK2Qrci5zdWJzdHJpbmcodCksZS5zZWxlY3Rpb25TdGFydD1lLnNlbGVjdGlvbkVuZD10KzF9fX1hdXRvUmVzaXplKGUpe2Uuc3R5bGUuaGVpZ2h0PSJhdXRvIixlLnN0eWxlLmhlaWdodD1lLnNjcm9sbEhlaWdodCsicHgifXZhbGlkYXRlSHRtbChlKXtsZXQgdD1bXSxyPS88XC8/KFthLXpBLVpdW2EtekEtWjAtOV0qKVxiW14+XSo+L2csaTtmb3IoOyhpPXIuZXhlYyhlKSkhPT1udWxsOyl7bGV0IG89aVswXS5zdGFydHNXaXRoKCI8LyIpLG49aVsxXS50b0xvd2VyQ2FzZSgpO2lmKG8pe2lmKHQubGVuZ3RoPT09MHx8dFt0Lmxlbmd0aC0xXSE9PW4pcmV0dXJuIGNvbnNvbGUud2FybihgTWlzbWF0Y2hlZCBjbG9zaW5nIHRhZzogJHtufWApLCExO3QucG9wKCl9ZWxzZSBpWzBdLmVuZHNXaXRoKCIvPiIpfHx0LnB1c2gobil9cmV0dXJuIHQubGVuZ3RoPjA/KGNvbnNvbGUud2FybihgVW5jbG9zZWQgdGFnczogJHt0LmpvaW4oIiwgIil9YCksITEpOiEwfXNhbmRib3hDb250ZW50KGUpe2UucXVlcnlTZWxlY3RvckFsbCgic2NyaXB0IikuZm9yRWFjaChvPT5vLnJlbW92ZSgpKSxlLnF1ZXJ5U2VsZWN0b3JBbGwoIioiKS5mb3JFYWNoKG89PntBcnJheS5mcm9tKG8uYXR0cmlidXRlcykuZm9yRWFjaChuPT57bi5uYW1lLnN0YXJ0c1dpdGgoIm9uIikmJm8ucmVtb3ZlQXR0cmlidXRlKG4ubmFtZSl9KX0pLGUucXVlcnlTZWxlY3RvckFsbCgiZm9ybSIpLmZvckVhY2gobz0+e28uYWRkRXZlbnRMaXN0ZW5lcigic3VibWl0IixuPT57bi5wcmV2ZW50RGVmYXVsdCgpLG4uc3RvcFByb3BhZ2F0aW9uKCl9KX0pfWVzY2FwZUh0bWwoZSl7bGV0IHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIHQudGV4dENvbnRlbnQ9ZSx0LmlubmVySFRNTH1nZXRDb250ZW50KGUpe2xldCB0PWUucXVlcnlTZWxlY3RvcigiLmh0bWwtZWRpdG9yIik7aWYodClyZXR1cm4gdC52YWx1ZTtsZXQgaT1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWJsb2NrLWNvbnRhaW5lciIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKTtyZXR1cm4iIn1zZXRDb250ZW50KGUsdCl7bGV0IHI9ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTtyJiYoci52YWx1ZT10LHRoaXMuYXV0b1Jlc2l6ZShyKSl9Z2V0Q3Vyc29yUG9zaXRpb24oZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTtyZXR1cm4gdD90LnNlbGVjdGlvblN0YXJ0Om51bGx9c2V0Q3Vyc29yVG9TdGFydChlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO3Q/KHQuc2VsZWN0aW9uU3RhcnQ9dC5zZWxlY3Rpb25FbmQ9MCx0LmZvY3VzKCkpOnRoaXMuZm9jdXMoZSl9c2V0Q3Vyc29yVG9FbmQoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTtpZih0KXtsZXQgcj10LnZhbHVlLmxlbmd0aDt0LnNlbGVjdGlvblN0YXJ0PXQuc2VsZWN0aW9uRW5kPXIsdC5mb2N1cygpfWVsc2UgdGhpcy5mb2N1cyhlKX1mb2N1cyhlKXtsZXQgdD1lLnF1ZXJ5U2VsZWN0b3IoIi5odG1sLWVkaXRvciIpO3Q/dC5mb2N1cygpOmUucXVlcnlTZWxlY3RvcigiLmh0bWwtcHJldmlldyIpPy5mb2N1cygpfWZvY3VzV2l0aEN1cnNvcihlLHQ9ImVuZCIpe2xldCByPWUucXVlcnlTZWxlY3RvcigiLmh0bWwtZWRpdG9yIik7cj90PT09InN0YXJ0Ij90aGlzLnNldEN1cnNvclRvU3RhcnQoZSk6dD09PSJlbmQiP3RoaXMuc2V0Q3Vyc29yVG9FbmQoZSk6dHlwZW9mIHQ9PSJudW1iZXIiJiYoci5zZWxlY3Rpb25TdGFydD1yLnNlbGVjdGlvbkVuZD10LHIuZm9jdXMoKSk6dGhpcy5mb2N1cyhlKX1nZXRTcGxpdENvbnRlbnQoZSl7bGV0IHQ9ZS5xdWVyeVNlbGVjdG9yKCIuaHRtbC1lZGl0b3IiKTtpZighdClyZXR1cm4gbnVsbDtsZXQgcj10LnNlbGVjdGlvblN0YXJ0O3JldHVybntiZWZvcmU6dC52YWx1ZS5zdWJzdHJpbmcoMCxyKSxhZnRlcjp0LnZhbHVlLnN1YnN0cmluZyhyKX19Z2V0U3R5bGVzKCl7cmV0dXJuYAogICAgICAvKiBIVE1MIEJsb2NrIENvbnRhaW5lciAqLwogICAgICAuaHRtbC1ibG9jay1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW46IDEycHggMDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTExODI3Iil9OwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1ibG9jay1jb250YWluZXIuc2VsZWN0ZWQgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBIZWFkZXIgKi8KICAgICAgLmh0bWwtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzM3NDE1MSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMwYTBhMGEiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgICBmb250LWZhbWlseTogJ01vbmFjbycsICdDb25zb2xhcycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtdGl0bGUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtdG9nZ2xlLW1vZGUgewogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC10b2dnbGUtbW9kZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMWYyOTM3Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkMWQ1ZGIiLCIjNGI1NTYzIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBDb250ZW50ICovCiAgICAgIC5odG1sLWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtaW4taGVpZ2h0OiAxMjBweDsKICAgICAgfQogICAgICAKICAgICAgLyogRWRpdG9yICovCiAgICAgIC5odG1sLWVkaXRvciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICByZXNpemU6IG5vbmU7CiAgICAgICAgZm9udC1mYW1pbHk6ICdNb25hY28nLCAnQ29uc29sYXMnLCAnQ291cmllciBOZXcnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMWYyOTM3IiwiI2YzZjRmNiIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1lZGl0b3I6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICB9CiAgICAgIAogICAgICAvKiBQcmV2aWV3ICovCiAgICAgIC5odG1sLXByZXZpZXcgewogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgbWluLWhlaWdodDogOTZweDsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzFmMjkzNyIsIiNmM2Y0ZjYiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5wcmV2aWV3LWVtcHR5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQogICAgICAKICAgICAgLyogU2FuZGJveGVkIEhUTUwgcHJldmlldyBzdHlsZXMgKi8KICAgICAgLmh0bWwtcHJldmlldyAqIHsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXByZXZpZXcgaW1nIHsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXByZXZpZXcgYSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXByZXZpZXcgYTpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXByZXZpZXcgdGFibGUgewogICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgbWFyZ2luOiA4cHggMDsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyB0aCwKICAgICAgLmh0bWwtcHJldmlldyB0ZCB7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICB9CiAgICAgIAogICAgICAuaHRtbC1wcmV2aWV3IHRoIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQogICAgICAKICAgICAgLmh0bWwtcHJldmlldyBwcmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjNmNGY2IiwiIzFmMjkzNyIpfTsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICAgIG1hcmdpbjogOHB4IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXByZXZpZXcgY29kZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMWYyOTM3Iil9OwogICAgICAgIHBhZGRpbmc6IDJweCA0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnTW9uYWNvJywgJ0NvbnNvbGFzJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMC45ZW07CiAgICAgIH0KICAgICAgCiAgICAgIC5odG1sLXByZXZpZXcgcHJlIGNvZGUgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KICAgIGB9fX0pO3ZhciBRWGU9ZigoKT0+e0pvKCk7ZmlhKCk7aGlhKCk7bWlhKCk7Z2lhKCk7YmlhKCk7cTJhKCk7VjJhKCk7ajJhKCk7VTJhKCk7VzJhKCk7RzJhKCk7WTJhKCk7SzJhKCl9KTtmdW5jdGlvbiBaMmEoKXtWYS5yZWdpc3RlcigiZGl2aWRlciIsbmV3IFJXKSxWYS5yZWdpc3RlcigicGFyYWdyYXBoIixuZXcgT1UpLFZhLnJlZ2lzdGVyKCJoZWFkaW5nLTEiLG5ldyBPZigiaGVhZGluZy0xIikpLFZhLnJlZ2lzdGVyKCJoZWFkaW5nLTIiLG5ldyBPZigiaGVhZGluZy0yIikpLFZhLnJlZ2lzdGVyKCJoZWFkaW5nLTMiLG5ldyBPZigiaGVhZGluZy0zIikpLFZhLnJlZ2lzdGVyKCJxdW90ZSIsbmV3IEZVKSxWYS5yZWdpc3RlcigiY29kZSIsbmV3IEFXKSxWYS5yZWdpc3RlcigibGlzdCIsbmV3IEVXKSxWYS5yZWdpc3RlcigiaW1hZ2UiLG5ldyBQVyksVmEucmVnaXN0ZXIoInlvdXR1YmUiLG5ldyBJVyksVmEucmVnaXN0ZXIoImF0dGFjaG1lbnQiLG5ldyBOVyksVmEucmVnaXN0ZXIoIm1hcmtkb3duIixuZXcgT1cpLFZhLnJlZ2lzdGVyKCJodG1sIixuZXcgRlcpfXZhciBKWGU9ZigoKT0+e1FYZSgpO3MoWjJhLCJyZWdpc3RlckFsbEJsb2NrSGFuZGxlcnMiKSxaMmEoKX0pO3ZhciBCVyxlUWU9ZigoKT0+e2xlKCk7cGMoKTskbygpO05mKCk7X2FlKCk7Qlc9Y2xhc3N7c3RhdGlje3ModGhpcywiV3lzaXd5Z01vZGFsTWFuYWdlciIpfXN0YXRpYyBhc3luYyBzaG93TGFuZ3VhZ2VTZWxlY3Rpb25Nb2RhbCgpe3JldHVybiBuZXcgUHJvbWlzZShlPT57bGV0IHQ9bnVsbDt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJTZWxlY3QgUHJvZ3JhbW1pbmcgTGFuZ3VhZ2UiLGNvbnRlbnQ6d2AKICAgICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgLmxhbmd1YWdlLWNvbnRhaW5lciB7CiAgICAgICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweDsKICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5sYW5ndWFnZS1ncmlkIHsKICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDEyMHB4LCAxZnIpKTsKICAgICAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgICAgfQogICAgICAgICAgICAubGFuZ3VhZ2UtYnV0dG9uIHsKICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDhweDsKICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgICAgICAgfQogICAgICAgICAgICAubGFuZ3VhZ2UtYnV0dG9uOmhvdmVyIHsKICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMxZjI5MzciKX07CiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2QxZDVkYiIsIiM0YjU1NjMiKX07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLmxhbmd1YWdlLWJ1dHRvbi5zZWxlY3RlZCB7CiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMzc0MTUxIil9OwogICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzExMTgyNyIsIiNmOWZhZmIiKX07CiAgICAgICAgICAgIH0KICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5ndWFnZS1jb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsYW5ndWFnZS1ncmlkIj4KICAgICAgICAgICAgICAke3RoaXMuZ2V0TGFuZ3VhZ2VzKCkubWFwKHI9PndgCiAgICAgICAgICAgICAgICA8ZGl2IAogICAgICAgICAgICAgICAgICBjbGFzcz0ibGFuZ3VhZ2UtYnV0dG9uICR7dD09PXIudG9Mb3dlckNhc2UoKT8ic2VsZWN0ZWQiOiIifSIgCiAgICAgICAgICAgICAgICAgIEBjbGljaz0iJHsoKT0+e3Q9ci50b0xvd2VyQ2FzZSgpO2xldCBpPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRlZXMtbW9kYWwiKTtpJiZ0eXBlb2YgaS5kZXN0cm95PT0iZnVuY3Rpb24iJiZpLmRlc3Ryb3koKSxlKHQpfX0iPgogICAgICAgICAgICAgICAgICAke3J9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246cyhhc3luYyByPT57ci5kZXN0cm95KCksZShudWxsKX0sImFjdGlvbiIpfV19KX0pfXN0YXRpYyBhc3luYyBzaG93QmxvY2tTZXR0aW5nc01vZGFsKGUsdCl7bGV0IHI9d2AKICAgICAgPHN0eWxlPgogICAgICAgIC5zZXR0aW5ncy1jb250YWluZXIgewogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICB9CiAgICAgICAgLnNldHRpbmdzLXNlY3Rpb24gewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICB9CiAgICAgICAgLnNldHRpbmdzLXNlY3Rpb246bGFzdC1jaGlsZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICAgIH0KICAgICAgICAuc2V0dGluZ3MtbGFiZWwgewogICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzZiNzI4MCIsIiM5Y2EzYWYiKX07CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICB9CiAgICAgICAgLmJsb2NrLXR5cGUtZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTYwcHgsIDFmcikpOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgfQogICAgICAgIC5ibG9jay10eXBlLWJ1dHRvbiB7CiAgICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzNzQxNTEiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzc0MTUxIiwiI2U1ZTdlYiIpfTsKICAgICAgICB9CiAgICAgICAgLmJsb2NrLXR5cGUtYnV0dG9uOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiIzFmMjkzNyIpfTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkMWQ1ZGIiLCIjNGI1NTYzIil9OwogICAgICAgIH0KICAgICAgICAuYmxvY2stdHlwZS1idXR0b24uc2VsZWN0ZWQgewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmM2Y0ZjYiLCIjMzc0MTUxIil9OwogICAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzljYTNhZiIsIiM2YjcyODAiKX07CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxMTE4MjciLCIjZjlmYWZiIil9OwogICAgICAgIH0KICAgICAgICAuYmxvY2stdHlwZS1pY29uIHsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgICAgb3BhY2l0eTogMC43OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3MtY29udGFpbmVyIj4KICAgICAgICAke3RoaXMuZ2V0QmxvY2tUeXBlU2VsZWN0b3IoZSx0KX0KICAgICAgICAke2UudHlwZT09PSJjb2RlIj90aGlzLmdldENvZGVCbG9ja1NldHRpbmdzKGUsdCk6IiJ9CiAgICAgIDwvZGl2PgogICAgYDt3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJCbG9jayBTZXR0aW5ncyIsY29udGVudDpyLG1lbnVPcHRpb25zOlt7bmFtZToiRG9uZSIsYWN0aW9uOnMoYXN5bmMgaT0+e2kuZGVzdHJveSgpfSwiYWN0aW9uIil9XX0pfXN0YXRpYyBnZXRDb2RlQmxvY2tTZXR0aW5ncyhlLHQpe2xldCByPWUubWV0YWRhdGE/Lmxhbmd1YWdlfHwiamF2YXNjcmlwdCI7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICAubGFuZ3VhZ2UtZ3JpZCB7CiAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTAwcHgsIDFmcikpOwogICAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgfQogICAgICAgIC5sYW5ndWFnZS1idXR0b24gewogICAgICAgICAgcGFkZGluZzogOHB4IDRweDsKICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzc0MTUxIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzNzQxNTEiLCIjZTVlN2ViIil9OwogICAgICAgIH0KICAgICAgICAubGFuZ3VhZ2UtYnV0dG9uOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiIzFmMjkzNyIpfTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkMWQ1ZGIiLCIjNGI1NTYzIil9OwogICAgICAgIH0KICAgICAgICAubGFuZ3VhZ2UtYnV0dG9uLnNlbGVjdGVkIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjNmNGY2IiwiIzM3NDE1MSIpfTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmI3MjgwIil9OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTExODI3IiwiI2Y5ZmFmYiIpfTsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLWxhYmVsIj5Qcm9ncmFtbWluZyBMYW5ndWFnZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Imxhbmd1YWdlLWdyaWQiPgogICAgICAgICAgJHt0aGlzLmdldExhbmd1YWdlcygpLm1hcChpPT53YAogICAgICAgICAgICA8ZGl2IAogICAgICAgICAgICAgIGNsYXNzPSJsYW5ndWFnZS1idXR0b24gJHtyPT09aS50b0xvd2VyQ2FzZSgpPyJzZWxlY3RlZCI6IiJ9IiAKICAgICAgICAgICAgICBAY2xpY2s9IiR7KCk9PntlLm1ldGFkYXRhfHwoZS5tZXRhZGF0YT17fSksZS5tZXRhZGF0YS5sYW5ndWFnZT1pLnRvTG93ZXJDYXNlKCksdChlKTtsZXQgbz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkZWVzLW1vZGFsIik7byYmdHlwZW9mIG8uZGVzdHJveT09ImZ1bmN0aW9uIiYmby5kZXN0cm95KCl9fSIKICAgICAgICAgICAgICBkYXRhLWxhbmc9IiR7aX0iCiAgICAgICAgICAgID4ke2l9PC9kaXY+CiAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpYyBnZXRMYW5ndWFnZXMoKXtyZXR1cm5bLi4uTlVdfXN0YXRpYyBnZXRCbG9ja1R5cGVTZWxlY3RvcihlLHQpe2xldCByPVhyLmdldFNsYXNoTWVudUl0ZW1zKCkuZmlsdGVyKGk9PmkudHlwZSE9PSJkaXZpZGVyIik7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLWxhYmVsIj5CbG9jayBUeXBlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYmxvY2stdHlwZS1ncmlkIj4KICAgICAgICAgICR7ci5tYXAoaT0+d2AKICAgICAgICAgICAgPGRpdiAKICAgICAgICAgICAgICBjbGFzcz0iYmxvY2stdHlwZS1idXR0b24gJHtlLnR5cGU9PT1pLnR5cGU/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgICAgQGNsaWNrPSIke2FzeW5jIG89PntsZXQgbj1vLmN1cnJlbnRUYXJnZXQsbD1lLnR5cGU7aWYoZS50eXBlPWkudHlwZSxsPT09ImNvZGUiJiZlLnR5cGUhPT0iY29kZSIpZGVsZXRlIGUubWV0YWRhdGE/Lmxhbmd1YWdlO2Vsc2UgaWYobD09PSJsaXN0IiYmZS50eXBlIT09Imxpc3QiKWRlbGV0ZSBlLm1ldGFkYXRhPy5saXN0VHlwZTtlbHNlIGlmKGUudHlwZT09PSJsaXN0IiYmIWUubWV0YWRhdGE/Lmxpc3RUeXBlKWUubWV0YWRhdGE9e2xpc3RUeXBlOiJidWxsZXQifTtlbHNlIGlmKGUudHlwZT09PSJjb2RlIiYmIWUubWV0YWRhdGE/Lmxhbmd1YWdlKXtsZXQgYz1hd2FpdCB0aGlzLnNob3dMYW5ndWFnZVNlbGVjdGlvbk1vZGFsKCk7aWYoYyllLm1ldGFkYXRhPXtsYW5ndWFnZTpjfTtlbHNle2UudHlwZT1sO3JldHVybn19dChlKTtsZXQgZD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJkZWVzLW1vZGFsIik7ZCYmdHlwZW9mIGQuZGVzdHJveT09ImZ1bmN0aW9uIiYmZC5kZXN0cm95KCl9fSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJibG9jay10eXBlLWljb24iPiR7aS5pY29ufTwvc3Bhbj4KICAgICAgICAgICAgICA8c3Bhbj4ke2kubGFiZWx9PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9fX0pO3ZhciBIVyxYMmE9ZigoKT0+eyRvKCk7Zm0oKTtOZigpO2JjKCk7b0tlKCk7ZVFlKCk7SFc9Y2xhc3N7c3RhdGlje3ModGhpcywiV3lzaXd5Z0lucHV0SGFuZGxlciIpfWNvbXBvbmVudDtzYXZlVGltZW91dD1udWxsO2NvbnN0cnVjdG9yKGUpe3RoaXMuY29tcG9uZW50PWV9aGFuZGxlQmxvY2tJbnB1dChlLHQpe2lmKHRoaXMuY29tcG9uZW50LmlzQ29tcG9zaW5nKXJldHVybjtsZXQgcj1lLnRhcmdldCxpPXIudGV4dENvbnRlbnR8fCIiLG89dGhpcy5kZXRlY3RCbG9ja1R5cGVJbnRlbnQoaSk7aWYobyYmby50eXBlIT09dC50eXBlKXtlLnByZXZlbnREZWZhdWx0KCksdGhpcy5oYW5kbGVCbG9ja1RyYW5zZm9ybWF0aW9uKHQsbyxyKTtyZXR1cm59dGhpcy5oYW5kbGVTbGFzaENvbW1hbmQoaSxyKSx0aGlzLnNjaGVkdWxlQXV0b1NhdmUoKX11cGRhdGVCbG9ja0NvbnRlbnQoZSx0KXtsZXQgaT10LmNsb3Nlc3QoIi5ibG9jay13cmFwcGVyIik/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKGkpe2xldCBvPWkuZ2V0Q29udGVudCgpO2lmKGUuY29udGVudCE9PW8mJihlLmNvbnRlbnQ9byksZS50eXBlPT09Imxpc3QiKXtsZXQgbj10LnF1ZXJ5U2VsZWN0b3IoIm9sLCB1bCIpO24mJihlLm1ldGFkYXRhPXtsaXN0VHlwZTpuLnRhZ05hbWUudG9Mb3dlckNhc2UoKT09PSJvbCI/Im9yZGVyZWQiOiJidWxsZXQifSl9fWVsc2UgaWYoZS50eXBlPT09Imxpc3QiKXtsZXQgbz10LnF1ZXJ5U2VsZWN0b3JBbGwoImxpIik7ZS5jb250ZW50PUFycmF5LmZyb20obykubWFwKGw9PmwuaW5uZXJIVE1MfHwiIikuam9pbihgCmApO2xldCBuPXQucXVlcnlTZWxlY3Rvcigib2wsIHVsIik7biYmKGUubWV0YWRhdGE9e2xpc3RUeXBlOm4udGFnTmFtZS50b0xvd2VyQ2FzZSgpPT09Im9sIj8ib3JkZXJlZCI6ImJ1bGxldCJ9KX1lbHNlIGUudHlwZT09PSJjb2RlIj9lLmNvbnRlbnQ9dC50ZXh0Q29udGVudHx8IiI6ZS5jb250ZW50PXQuaW5uZXJIVE1MfHwiIn1kZXRlY3RCbG9ja1R5cGVJbnRlbnQoZSl7bGV0IHQ9WHIuY2hlY2tIZWFkaW5nU2hvcnRjdXQoZSk7aWYodClyZXR1cm4gdDtsZXQgcj1Yci5jaGVja0xpc3RTaG9ydGN1dChlKTtyZXR1cm4gcnx8KFhyLmNoZWNrUXVvdGVTaG9ydGN1dChlKT97dHlwZToicXVvdGUifTpYci5jaGVja0NvZGVTaG9ydGN1dChlKT97dHlwZToiY29kZSJ9OlhyLmNoZWNrRGl2aWRlclNob3J0Y3V0KGUpP3t0eXBlOiJkaXZpZGVyIn06bnVsbCl9YXN5bmMgaGFuZGxlQmxvY2tUcmFuc2Zvcm1hdGlvbihlLHQscil7bGV0IGk9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zO2lmKHQudHlwZT09PSJsaXN0Iil7ZS50eXBlPSJsaXN0IixlLmNvbnRlbnQ9IiIsZS5tZXRhZGF0YT17bGlzdFR5cGU6dC5saXN0VHlwZX07bGV0IG89dC5saXN0VHlwZT09PSJvcmRlcmVkIj8ib2wiOiJ1bCI7ci5pbm5lckhUTUw9YDwke299PjxsaT48L2xpPjwvJHtvfT5gLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCksdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZiYmdGhpcy5jb21wb25lbnQudXBkYXRlQmxvY2tFbGVtZW50KGUuaWQpLHNldFRpbWVvdXQoKCk9Pnt0aS5mb2N1c0xpc3RJdGVtKHIpfSwwKX1lbHNlIGlmKHQudHlwZT09PSJkaXZpZGVyIil7ZS50eXBlPSJkaXZpZGVyIixlLmNvbnRlbnQ9IiAiLHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYmJnRoaXMuY29tcG9uZW50LnVwZGF0ZUJsb2NrRWxlbWVudChlLmlkKTtsZXQgbz1pLmNyZWF0ZUJsb2NrKCk7aS5pbnNlcnRCbG9ja0FmdGVyKGUsbyksdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKX1lbHNlIGlmKHQudHlwZT09PSJjb2RlIil7bGV0IG89YXdhaXQgQlcuc2hvd0xhbmd1YWdlU2VsZWN0aW9uTW9kYWwoKTtvJiYoZS50eXBlPSJjb2RlIixlLmNvbnRlbnQ9IiIsZS5tZXRhZGF0YT17bGFuZ3VhZ2U6b30sci50ZXh0Q29udGVudD0iIix0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpLHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYmJnRoaXMuY29tcG9uZW50LnVwZGF0ZUJsb2NrRWxlbWVudChlLmlkKSxzZXRUaW1lb3V0KGFzeW5jKCk9Pnthd2FpdCBpLmZvY3VzQmxvY2soZS5pZCwic3RhcnQiKX0sNTApKX1lbHNlIGUudHlwZT10LnR5cGUsZS5jb250ZW50PSIiLHIudGV4dENvbnRlbnQ9IiIsdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKSx0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLmNvbXBvbmVudC51cGRhdGVCbG9ja0VsZW1lbnQoZS5pZCksc2V0VGltZW91dChhc3luYygpPT57YXdhaXQgaS5mb2N1c0Jsb2NrKGUuaWQsInN0YXJ0Iil9LDUwKX1oYW5kbGVTbGFzaENvbW1hbmQoZSx0KXtsZXQgcj10aGlzLmNvbXBvbmVudC5zbGFzaE1lbnUsaT1yJiZyLnZpc2libGU7aWYoZT09PSIvInx8ZS5zdGFydHNXaXRoKCIvIikmJmkpe2lmKCFpJiZlPT09Ii8iKXtsZXQgbz10aGlzLmdldENhcmV0Q29vcmRpbmF0ZXModCk7ci5zaG93KHt4Om8ubGVmdCx5Om8uYm90dG9tKzR9LG49Pnt0aGlzLmNvbXBvbmVudC5pbnNlcnRCbG9jayhuKX0pLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT10JiZ0LmZvY3VzKCl9KX1yJiZyLnVwZGF0ZUZpbHRlcihlLnNsaWNlKDEpKX1lbHNlIGUuc3RhcnRzV2l0aCgiLyIpfHx0aGlzLmNvbXBvbmVudC5jbG9zZVNsYXNoTWVudSgpfWdldENhcmV0Q29vcmRpbmF0ZXMoZSl7bGV0IHQ9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKHQmJnQucmFuZ2VDb3VudD4wKXtsZXQgaT10LmdldFJhbmdlQXQoMCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7aWYoaS53aWR0aD4wfHxpLmhlaWdodD4wKXJldHVybiBpfXJldHVybiBlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpfXNjaGVkdWxlQXV0b1NhdmUoKXt0aGlzLnNhdmVUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5zYXZlVGltZW91dCksISh0aGlzLmNvbXBvbmVudC5zbGFzaE1lbnUmJnRoaXMuY29tcG9uZW50LnNsYXNoTWVudS52aXNpYmxlKSYmKHRoaXMuc2F2ZVRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuc3luY0FsbEJsb2NrQ29udGVudCgpLHRoaXMuY29tcG9uZW50LnVwZGF0ZVZhbHVlKCl9LDJlMykpfXN5bmNBbGxCbG9ja0NvbnRlbnQoKXt0aGlzLmNvbXBvbmVudC5ibG9ja3MuZm9yRWFjaChlPT57bGV0IHI9dGhpcy5jb21wb25lbnQuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7ZS5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZihyJiZyLmdldENvbnRlbnQpe2xldCBpPXIuZ2V0Q29udGVudCgpO2UuY29udGVudCE9PWkmJihlLmNvbnRlbnQ9aSl9fSl9ZGVzdHJveSgpe3RoaXMuc2F2ZVRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLnNhdmVUaW1lb3V0KX19fSk7dmFyIHFXLFEyYT1mKCgpPT57JG8oKTtmbSgpO2oyKCk7cVc9Y2xhc3N7c3RhdGlje3ModGhpcywiV3lzaXd5Z0tleWJvYXJkSGFuZGxlciIpfWNvbXBvbmVudDtjb25zdHJ1Y3RvcihlKXt0aGlzLmNvbXBvbmVudD1lfWFzeW5jIGhhbmRsZUJsb2NrS2V5RG93bihlLHQpe2lmKHRoaXMuY29tcG9uZW50LnNsYXNoTWVudS52aXNpYmxlJiZ0aGlzLmlzU2xhc2hNZW51S2V5KGUua2V5KSl7dGhpcy5jb21wb25lbnQuaGFuZGxlU2xhc2hNZW51S2V5Ym9hcmQoZSk7cmV0dXJufWlmKCF0aGlzLmhhbmRsZUZvcm1hdHRpbmdTaG9ydGN1dHMoZSkpc3dpdGNoKGUua2V5KXtjYXNlIlRhYiI6dGhpcy5oYW5kbGVUYWIoZSx0KTticmVhaztjYXNlIkVudGVyIjphd2FpdCB0aGlzLmhhbmRsZUVudGVyKGUsdCk7YnJlYWs7Y2FzZSJCYWNrc3BhY2UiOmF3YWl0IHRoaXMuaGFuZGxlQmFja3NwYWNlKGUsdCk7YnJlYWs7Y2FzZSJEZWxldGUiOmF3YWl0IHRoaXMuaGFuZGxlRGVsZXRlKGUsdCk7YnJlYWs7Y2FzZSJBcnJvd1VwIjphd2FpdCB0aGlzLmhhbmRsZUFycm93VXAoZSx0KTticmVhaztjYXNlIkFycm93RG93biI6YXdhaXQgdGhpcy5oYW5kbGVBcnJvd0Rvd24oZSx0KTticmVhaztjYXNlIkFycm93TGVmdCI6YXdhaXQgdGhpcy5oYW5kbGVBcnJvd0xlZnQoZSx0KTticmVhaztjYXNlIkFycm93UmlnaHQiOmF3YWl0IHRoaXMuaGFuZGxlQXJyb3dSaWdodChlLHQpO2JyZWFrfX1pc1NsYXNoTWVudUtleShlKXtyZXR1cm5bIkFycm93RG93biIsIkFycm93VXAiLCJFbnRlciIsIkVzY2FwZSJdLmluY2x1ZGVzKGUpfWhhbmRsZUZvcm1hdHRpbmdTaG9ydGN1dHMoZSl7aWYoIShlLm1ldGFLZXl8fGUuY3RybEtleSkpcmV0dXJuITE7c3dpdGNoKGUua2V5LnRvTG93ZXJDYXNlKCkpe2Nhc2UiYiI6cmV0dXJuIGUucHJldmVudERlZmF1bHQoKSxQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT50aGlzLmNvbXBvbmVudC5hcHBseUZvcm1hdCgiYm9sZCIpKSwhMDtjYXNlImkiOnJldHVybiBlLnByZXZlbnREZWZhdWx0KCksUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+dGhpcy5jb21wb25lbnQuYXBwbHlGb3JtYXQoIml0YWxpYyIpKSwhMDtjYXNlInUiOnJldHVybiBlLnByZXZlbnREZWZhdWx0KCksUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+dGhpcy5jb21wb25lbnQuYXBwbHlGb3JtYXQoInVuZGVybGluZSIpKSwhMDtjYXNlImsiOnJldHVybiBlLnByZXZlbnREZWZhdWx0KCksUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+dGhpcy5jb21wb25lbnQuYXBwbHlGb3JtYXQoImxpbmsiKSksITB9cmV0dXJuITF9aGFuZGxlVGFiKGUsdCl7dC50eXBlIT09ImNvZGUiJiZ0LnR5cGU9PT0ibGlzdCImJmUucHJldmVudERlZmF1bHQoKX1hc3luYyBoYW5kbGVFbnRlcihlLHQpe2xldCByPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucztpZihbImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il0uaW5jbHVkZXModC50eXBlKSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBvPXIuY3JlYXRlQmxvY2soKTthd2FpdCByLmluc2VydEJsb2NrQWZ0ZXIodCxvKTtyZXR1cm59aWYodC50eXBlPT09ImNvZGUiKXtpZihlLnNoaWZ0S2V5KXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IG89ci5jcmVhdGVCbG9jaygpO2F3YWl0IHIuaW5zZXJ0QmxvY2tBZnRlcih0LG8pfXJldHVybn1pZighZS5zaGlmdEtleSlpZih0LnR5cGU9PT0ibGlzdCIpYXdhaXQgdGhpcy5oYW5kbGVFbnRlckluTGlzdChlLHQpO2Vsc2V7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBuPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3QuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYobiYmbi5nZXRTcGxpdENvbnRlbnQpe2xldCBsPW4uZ2V0U3BsaXRDb250ZW50KCk7aWYobCl7bi5zZXRDb250ZW50KGwuYmVmb3JlKSx0LmNvbnRlbnQ9bC5iZWZvcmU7bGV0IGQ9ci5jcmVhdGVCbG9jaygicGFyYWdyYXBoIixsLmFmdGVyKTthd2FpdCByLmluc2VydEJsb2NrQWZ0ZXIodCxkKSx0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpfWVsc2V7bGV0IGQ9ci5jcmVhdGVCbG9jaygpO2F3YWl0IHIuaW5zZXJ0QmxvY2tBZnRlcih0LGQpfX1lbHNle2xldCBsPXIuY3JlYXRlQmxvY2soKTthd2FpdCByLmluc2VydEJsb2NrQWZ0ZXIodCxsKX19fWFzeW5jIGhhbmRsZUVudGVySW5MaXN0KGUsdCl7bGV0IHI9d2luZG93LmdldFNlbGVjdGlvbigpO2lmKHImJnIucmFuZ2VDb3VudD4wKXtsZXQgbz1yLmdldFJhbmdlQXQoMCkuc3RhcnRDb250YWluZXIucGFyZW50RWxlbWVudD8uY2xvc2VzdCgibGkiKTtpZihvJiZvLnRleHRDb250ZW50PT09IiIpe2UucHJldmVudERlZmF1bHQoKTtsZXQgbj10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnMsbD1uLmNyZWF0ZUJsb2NrKCk7YXdhaXQgbi5pbnNlcnRCbG9ja0FmdGVyKHQsbCl9fX1hc3luYyBoYW5kbGVCYWNrc3BhY2UoZSx0KXtsZXQgcj10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnM7aWYoWyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdLmluY2x1ZGVzKHQudHlwZSkpe2lmKGUucHJldmVudERlZmF1bHQoKSx0aGlzLmNvbXBvbmVudC5ibG9ja3MubGVuZ3RoPT09MSl7dGhpcy5jb21wb25lbnQuc2F2ZVRvSGlzdG9yeSghMSksci5yZW1vdmVCbG9jayh0LmlkKTtsZXQgeD1yLmNyZWF0ZUJsb2NrKCJwYXJhZ3JhcGgiLCIiKTt0aGlzLmNvbXBvbmVudC5ibG9ja3M9W3hdLHRoaXMuY29tcG9uZW50LnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKSxhd2FpdCByLmZvY3VzQmxvY2soeC5pZCwic3RhcnQiKSx0aGlzLmNvbXBvbmVudC51cGRhdGVWYWx1ZSgpO3JldHVybn10aGlzLmNvbXBvbmVudC5zYXZlVG9IaXN0b3J5KCExKTtsZXQgbT1yLmdldFByZXZpb3VzQmxvY2sodC5pZCksdj1yLmdldE5leHRCbG9jayh0LmlkKTtyLnJlbW92ZUJsb2NrKHQuaWQpLG0mJm0udHlwZSE9PSJkaXZpZGVyIiYmbS50eXBlIT09ImltYWdlIj9hd2FpdCByLmZvY3VzQmxvY2sobS5pZCwiZW5kIik6diYmdi50eXBlIT09ImRpdmlkZXIiJiZ2LnR5cGUhPT0iaW1hZ2UiP2F3YWl0IHIuZm9jdXNCbG9jayh2LmlkLCJzdGFydCIpOm0/YXdhaXQgci5mb2N1c0Jsb2NrKG0uaWQpOnYmJmF3YWl0IHIuZm9jdXNCbG9jayh2LmlkKTtyZXR1cm59bGV0IG49dGhpcy5jb21wb25lbnQuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7dC5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZighbnx8IW4uc2hhZG93Um9vdClyZXR1cm47bGV0IGw9dC50eXBlPT09ImNvZGUiP24uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTpuLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIWwpcmV0dXJuO2xldCBkPW4uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIiksYz1bXTtkPy5zaGFkb3dSb290JiZjLnB1c2goZC5zaGFkb3dSb290KSxjLnB1c2gobi5zaGFkb3dSb290KTtsZXQgcD1ydC5nZXRDdXJzb3JQb3NpdGlvbkluRWxlbWVudChsLC4uLmMpLHU9bi5nZXRDb250ZW50P24uZ2V0Q29udGVudCgpOmwudGV4dENvbnRlbnQ7aWYocD09PTApe2UucHJldmVudERlZmF1bHQoKTtsZXQgbT1yLmdldFByZXZpb3VzQmxvY2sodC5pZCk7aWYobSl7aWYoWyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdLmluY2x1ZGVzKG0udHlwZSkpe2F3YWl0IHIuZm9jdXNCbG9jayhtLmlkKTtyZXR1cm59aWYodGhpcy5jb21wb25lbnQuc2F2ZVRvSGlzdG9yeSghMSksbS50eXBlPT09ImNvZGUiJiZ0LnR5cGUhPT0iY29kZSIpe3QuY29udGVudD09PSIiJiYoci5yZW1vdmVCbG9jayh0LmlkKSxhd2FpdCByLmZvY3VzQmxvY2sobS5pZCwiZW5kIikpO3JldHVybn1pZih0LnR5cGU9PT0iY29kZSImJm0udHlwZSE9PSJjb2RlIil7bGV0IE49bi5nZXRDb250ZW50P24uZ2V0Q29udGVudCgpOnQuY29udGVudDsoTj09PSIifHxOLnRyaW0oKT09PSIiKSYmKHIucmVtb3ZlQmxvY2sodC5pZCksYXdhaXQgci5mb2N1c0Jsb2NrKG0uaWQsImVuZCIpKTtyZXR1cm59bGV0IGI9dGhpcy5jb21wb25lbnQuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7bS5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKSxnPWI/LmdldENvbnRlbnQoKXx8bS5jb250ZW50fHwiIix5PW4uZ2V0Q29udGVudCgpfHx0LmNvbnRlbnR8fCIiLGs9IiI7bS50eXBlPT09ImNvZGUiJiZ0LnR5cGU9PT0iY29kZSJ8fG0udHlwZT09PSJsaXN0IiYmdC50eXBlPT09Imxpc3QiP2s9ZysoZyYmeT9gCmA6IiIpK3k6az1nKyhnJiZ5PyIgIjoiIikreTtsZXQgQz1nLmxlbmd0aDtyLnVwZGF0ZUJsb2NrQ29udGVudChtLmlkLGspLGImJmIuc2V0Q29udGVudChrKSxyLnJlbW92ZUJsb2NrKHQuaWQpLGF3YWl0IHIuZm9jdXNCbG9jayhtLmlkLEMpfX1lbHNlIGlmKHRoaXMuY29tcG9uZW50LmJsb2Nrcy5sZW5ndGg+MSl7bGV0IG09bi5nZXRDb250ZW50P24uZ2V0Q29udGVudCgpOnQuY29udGVudDtpZihtPT09IiJ8fG0udHJpbSgpPT09IiIpe2UucHJldmVudERlZmF1bHQoKTtsZXQgdj1yLmdldFByZXZpb3VzQmxvY2sodC5pZCk7diYmKHIucmVtb3ZlQmxvY2sodC5pZCksdi50eXBlIT09ImRpdmlkZXIiJiZhd2FpdCByLmZvY3VzQmxvY2sodi5pZCwiZW5kIikpfX19YXN5bmMgaGFuZGxlRGVsZXRlKGUsdCl7bGV0IHI9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zO2lmKFsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyh0LnR5cGUpKXtpZihlLnByZXZlbnREZWZhdWx0KCksdGhpcy5jb21wb25lbnQuYmxvY2tzLmxlbmd0aD09PTEpe3RoaXMuY29tcG9uZW50LnNhdmVUb0hpc3RvcnkoITEpLHIucmVtb3ZlQmxvY2sodC5pZCk7bGV0IGI9ci5jcmVhdGVCbG9jaygicGFyYWdyYXBoIiwiIik7dGhpcy5jb21wb25lbnQuYmxvY2tzPVtiXSx0aGlzLmNvbXBvbmVudC5yZW5kZXJCbG9ja3NQcm9ncmFtbWF0aWNhbGx5KCksYXdhaXQgci5mb2N1c0Jsb2NrKGIuaWQsInN0YXJ0IiksdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKTtyZXR1cm59dGhpcy5jb21wb25lbnQuc2F2ZVRvSGlzdG9yeSghMSk7bGV0IG09ci5nZXRQcmV2aW91c0Jsb2NrKHQuaWQpLHY9ci5nZXROZXh0QmxvY2sodC5pZCk7ci5yZW1vdmVCbG9jayh0LmlkKTtsZXQgeD1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il07diYmIXguaW5jbHVkZXModi50eXBlKT9hd2FpdCByLmZvY3VzQmxvY2sodi5pZCwic3RhcnQiKTptJiYheC5pbmNsdWRlcyhtLnR5cGUpP2F3YWl0IHIuZm9jdXNCbG9jayhtLmlkLCJlbmQiKTp2P2F3YWl0IHIuZm9jdXNCbG9jayh2LmlkKTptJiZhd2FpdCByLmZvY3VzQmxvY2sobS5pZCk7cmV0dXJufWxldCBuPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3QuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoIW58fCFuLnNoYWRvd1Jvb3QpcmV0dXJuO2xldCBsPXQudHlwZT09PSJjb2RlIj9uLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik6bi5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFsKXJldHVybjtsZXQgZD1uLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpLGM9W107ZD8uc2hhZG93Um9vdCYmYy5wdXNoKGQuc2hhZG93Um9vdCksYy5wdXNoKG4uc2hhZG93Um9vdCk7bGV0IHA9cnQuZ2V0Q3Vyc29yUG9zaXRpb25JbkVsZW1lbnQobCwuLi5jKSx1PWwudGV4dENvbnRlbnQ/Lmxlbmd0aHx8MDtpZihwPT09dSl7bGV0IG09ci5nZXROZXh0QmxvY2sodC5pZCk7aWYobSYmWyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdLmluY2x1ZGVzKG0udHlwZSkpe2UucHJldmVudERlZmF1bHQoKSxhd2FpdCByLmZvY3VzQmxvY2sobS5pZCk7cmV0dXJufX19YXN5bmMgaGFuZGxlQXJyb3dVcChlLHQpe2xldCByPVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTtpZihyLmluY2x1ZGVzKHQudHlwZSkpe2UucHJldmVudERlZmF1bHQoKTtsZXQgcD10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnMsdT1wLmdldFByZXZpb3VzQmxvY2sodC5pZCk7dSYmYXdhaXQgcC5mb2N1c0Jsb2NrKHUuaWQsci5pbmNsdWRlcyh1LnR5cGUpP3ZvaWQgMDoiZW5kIik7cmV0dXJufWxldCBvPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3QuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoIW98fCFvLnNoYWRvd1Jvb3QpcmV0dXJuO2xldCBuPXQudHlwZT09PSJjb2RlIj9vLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik6by5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFuKXJldHVybjtsZXQgbD1vLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpLGQ9W107bD8uc2hhZG93Um9vdCYmZC5wdXNoKGwuc2hhZG93Um9vdCksZC5wdXNoKG8uc2hhZG93Um9vdCk7bGV0IGM9cnQuZ2V0U2VsZWN0aW9uSW5mbyguLi5kKTtpZighKCFjfHwhYy5jb2xsYXBzZWQpJiZ0aGlzLmlzT25GaXJzdExpbmUoYyxuLC4uLmQpKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IHA9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLHU9cC5nZXRQcmV2aW91c0Jsb2NrKHQuaWQpO2lmKHUpe2xldCBtPVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTthd2FpdCBwLmZvY3VzQmxvY2sodS5pZCxtLmluY2x1ZGVzKHUudHlwZSk/dm9pZCAwOiJlbmQiKX19fWFzeW5jIGhhbmRsZUFycm93RG93bihlLHQpe2lmKFsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyh0LnR5cGUpKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IHA9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLHU9cC5nZXROZXh0QmxvY2sodC5pZCk7aWYodSl7bGV0IG09WyJkaXZpZGVyIiwiaW1hZ2UiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdO2F3YWl0IHAuZm9jdXNCbG9jayh1LmlkLG0uaW5jbHVkZXModS50eXBlKT92b2lkIDA6InN0YXJ0Iil9cmV0dXJufWxldCBvPXRoaXMuY29tcG9uZW50LnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3QuaWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoIW98fCFvLnNoYWRvd1Jvb3QpcmV0dXJuO2xldCBuPXQudHlwZT09PSJjb2RlIj9vLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNvZGUtZWRpdG9yIik6by5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFuKXJldHVybjtsZXQgbD1vLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpLGQ9W107bD8uc2hhZG93Um9vdCYmZC5wdXNoKGwuc2hhZG93Um9vdCksZC5wdXNoKG8uc2hhZG93Um9vdCk7bGV0IGM9cnQuZ2V0U2VsZWN0aW9uSW5mbyguLi5kKTtpZighKCFjfHwhYy5jb2xsYXBzZWQpJiZ0aGlzLmlzT25MYXN0TGluZShjLG4sLi4uZCkpe2UucHJldmVudERlZmF1bHQoKTtsZXQgcD10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnMsdT1wLmdldE5leHRCbG9jayh0LmlkKTtpZih1KXtsZXQgbT1bImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il07YXdhaXQgcC5mb2N1c0Jsb2NrKHUuaWQsbS5pbmNsdWRlcyh1LnR5cGUpP3ZvaWQgMDoic3RhcnQiKX19fWdldExhc3RUZXh0Tm9kZShlKXtpZihlLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpcmV0dXJuIGU7Zm9yKGxldCB0PWUuY2hpbGROb2Rlcy5sZW5ndGgtMTt0Pj0wO3QtLSl7bGV0IHI9dGhpcy5nZXRMYXN0VGV4dE5vZGUoZS5jaGlsZE5vZGVzW3RdKTtpZihyKXJldHVybiByfXJldHVybiBudWxsfWFzeW5jIGhhbmRsZUFycm93TGVmdChlLHQpe2lmKFsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyh0LnR5cGUpKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IHU9dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLG09dS5nZXRQcmV2aW91c0Jsb2NrKHQuaWQpO2lmKG0pe2xldCB2PVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTthd2FpdCB1LmZvY3VzQmxvY2sobS5pZCx2LmluY2x1ZGVzKG0udHlwZSk/dm9pZCAwOiJlbmQiKX1yZXR1cm59bGV0IG89dGhpcy5jb21wb25lbnQuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7dC5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZighb3x8IW8uc2hhZG93Um9vdClyZXR1cm47bGV0IG49dC50eXBlPT09ImNvZGUiP28uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY29kZS1lZGl0b3IiKTpvLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIW4pcmV0dXJuO2xldCBsPW8uY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIiksZD1bXTtsPy5zaGFkb3dSb290JiZkLnB1c2gobC5zaGFkb3dSb290KSxkLnB1c2goby5zaGFkb3dSb290KTtsZXQgYz1ydC5nZXRTZWxlY3Rpb25JbmZvKC4uLmQpO2lmKCFjfHwhYy5jb2xsYXBzZWQpcmV0dXJuO2lmKHJ0LmdldEN1cnNvclBvc2l0aW9uSW5FbGVtZW50KG4sLi4uZCk9PT0wKXtsZXQgdT10aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnMsbT11LmdldFByZXZpb3VzQmxvY2sodC5pZCk7aWYobSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCB4PVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXS5pbmNsdWRlcyhtLnR5cGUpP3ZvaWQgMDoiZW5kIjthd2FpdCB1LmZvY3VzQmxvY2sobS5pZCx4KX19fWFzeW5jIGhhbmRsZUFycm93UmlnaHQoZSx0KXtpZihbImRpdmlkZXIiLCJpbWFnZSIsInlvdXR1YmUiLCJhdHRhY2htZW50Il0uaW5jbHVkZXModC50eXBlKSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCBtPXRoaXMuY29tcG9uZW50LmJsb2NrT3BlcmF0aW9ucyx2PW0uZ2V0TmV4dEJsb2NrKHQuaWQpO2lmKHYpe2xldCB4PVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTthd2FpdCBtLmZvY3VzQmxvY2sodi5pZCx4LmluY2x1ZGVzKHYudHlwZSk/dm9pZCAwOiJzdGFydCIpfXJldHVybn1sZXQgbz10aGlzLmNvbXBvbmVudC5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt0LmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKCFvfHwhby5zaGFkb3dSb290KXJldHVybjtsZXQgbj10LnR5cGU9PT0iY29kZSI/by5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jb2RlLWVkaXRvciIpOm8uc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZighbilyZXR1cm47bGV0IGw9by5jbG9zZXN0KCJkZWVzLWlucHV0LXd5c2l3eWciKSxkPVtdO2w/LnNoYWRvd1Jvb3QmJmQucHVzaChsLnNoYWRvd1Jvb3QpLGQucHVzaChvLnNoYWRvd1Jvb3QpO2xldCBjPXJ0LmdldFNlbGVjdGlvbkluZm8oLi4uZCk7aWYoIWN8fCFjLmNvbGxhcHNlZClyZXR1cm47bGV0IHA9cnQuZ2V0Q3Vyc29yUG9zaXRpb25JbkVsZW1lbnQobiwuLi5kKSx1PW4udGV4dENvbnRlbnQ/Lmxlbmd0aHx8MDtpZihwPT09dSl7bGV0IG09dGhpcy5jb21wb25lbnQuYmxvY2tPcGVyYXRpb25zLHY9bS5nZXROZXh0QmxvY2sodC5pZCk7aWYodil7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCB4PVsiZGl2aWRlciIsImltYWdlIiwieW91dHViZSIsImF0dGFjaG1lbnQiXTthd2FpdCBtLmZvY3VzQmxvY2sodi5pZCx4LmluY2x1ZGVzKHYudHlwZSk/dm9pZCAwOiJzdGFydCIpfX19aXNPbkZpcnN0TGluZShlLHQsLi4ucil7dHJ5e2xldCBpPXJ0LmNyZWF0ZVJhbmdlRnJvbUluZm8oZSksbz1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49aS5jb21tb25BbmNlc3RvckNvbnRhaW5lcjtuLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJihuPW4ucGFyZW50RWxlbWVudCk7bGV0IGw9bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxkPW8udG9wLWwudG9wPDU7cmV0dXJuIG4udGV4dENvbnRlbnQmJiFuLnRleHRDb250ZW50LmluY2x1ZGVzKGAKYCk/cnQuZ2V0Q3Vyc29yUG9zaXRpb25JbkVsZW1lbnQobiwuLi5yKT09PTA6ZH1jYXRjaChpKXtyZXR1cm4gY29uc29sZS53YXJuKCJFcnJvciBjaGVja2luZyBmaXJzdCBsaW5lOiIsaSksZS5zdGFydE9mZnNldD09PTB9fWlzT25MYXN0TGluZShlLHQsLi4ucil7dHJ5e2xldCBpPXJ0LmNyZWF0ZVJhbmdlRnJvbUluZm8oZSksbz1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG49aS5jb21tb25BbmNlc3RvckNvbnRhaW5lcjtuLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJihuPW4ucGFyZW50RWxlbWVudCk7bGV0IGQ9bi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5ib3R0b20tby5ib3R0b208NTtpZihuLnRleHRDb250ZW50JiYhbi50ZXh0Q29udGVudC5pbmNsdWRlcyhgCmApKXtsZXQgYz10LnRleHRDb250ZW50Py5sZW5ndGh8fDA7cmV0dXJuIHJ0LmdldEN1cnNvclBvc2l0aW9uSW5FbGVtZW50KHQsLi4ucik9PT1jfXJldHVybiBkfWNhdGNoKGkpe2NvbnNvbGUud2FybigiRXJyb3IgY2hlY2tpbmcgbGFzdCBsaW5lOiIsaSk7bGV0IG89dC50ZXh0Q29udGVudD8ubGVuZ3RofHwwO3JldHVybiBydC5nZXRDdXJzb3JQb3NpdGlvbkluRWxlbWVudCh0LC4uLnIpPT09b319fX0pO3ZhciBWVyxKMmE9ZigoKT0+eyRvKCk7Zm0oKTtWVz1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXeXNpd3lnRHJhZ0Ryb3BIYW5kbGVyIil9Y29tcG9uZW50O2RyYWdnZWRCbG9ja0lkPW51bGw7ZHJhZ092ZXJCbG9ja0lkPW51bGw7ZHJhZ092ZXJQb3NpdGlvbj1udWxsO2Ryb3BJbmRpY2F0b3I9bnVsbDtpbml0aWFsTW91c2VZPTA7aW5pdGlhbEJsb2NrWT0wO2RyYWdnZWRCbG9ja0VsZW1lbnQ9bnVsbDtkcmFnZ2VkQmxvY2tIZWlnaHQ9MDtkcmFnZ2VkQmxvY2tDb250ZW50SGVpZ2h0PTA7ZHJhZ2dlZEJsb2NrTWFyZ2luVG9wPTA7bGFzdFVwZGF0ZVRpbWU9MDt1cGRhdGVUaHJvdHRsZT04MDtjb25zdHJ1Y3RvcihlKXt0aGlzLmNvbXBvbmVudD1lfWdldCBkcmFnU3RhdGUoKXtyZXR1cm57ZHJhZ2dlZEJsb2NrSWQ6dGhpcy5kcmFnZ2VkQmxvY2tJZCxkcmFnT3ZlckJsb2NrSWQ6dGhpcy5kcmFnT3ZlckJsb2NrSWQsZHJhZ092ZXJQb3NpdGlvbjp0aGlzLmRyYWdPdmVyUG9zaXRpb259fWhhbmRsZURyYWdTdGFydChlLHQpe2lmKCFlLmRhdGFUcmFuc2ZlcilyZXR1cm47dGhpcy5kcmFnZ2VkQmxvY2tJZD10LmlkLGUuZGF0YVRyYW5zZmVyLmVmZmVjdEFsbG93ZWQ9Im1vdmUiLGUuZGF0YVRyYW5zZmVyLnNldERhdGEoInRleHQvcGxhaW4iLHQuaWQpO2xldCByPW5ldyBJbWFnZTtpZihyLnNyYz0iZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFJQUFBQVVFQkFBQUFDd0FBQUFBQVFBQkFBQUNBa1FCQURzPSIsZS5kYXRhVHJhbnNmZXIuc2V0RHJhZ0ltYWdlKHIsMCwwKSx0aGlzLmluaXRpYWxNb3VzZVk9ZS5jbGllbnRZLHRoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudD10aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3QuaWR9Il1gKSx0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQpe2xldCBpPXRoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLmluaXRpYWxCbG9ja1k9aS50b3A7bGV0IG89dGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKG8pe2xldCBuPW8uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbD13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShvKTt0aGlzLmRyYWdnZWRCbG9ja01hcmdpblRvcD1wYXJzZUludChsLm1hcmdpblRvcCl8fDAsdGhpcy5kcmFnZ2VkQmxvY2tDb250ZW50SGVpZ2h0PW4uaGVpZ2h0fXRoaXMuZHJhZ2dlZEJsb2NrSGVpZ2h0PWkuaGVpZ2h0LGNvbnNvbGUubG9nKCJEcmFnIG1lYXN1cmVtZW50czoiLHt3cmFwcGVySGVpZ2h0OmkuaGVpZ2h0LG1hcmdpblRvcDp0aGlzLmRyYWdnZWRCbG9ja01hcmdpblRvcCxkcm9wSW5kaWNhdG9ySGVpZ2h0OnRoaXMuZHJhZ2dlZEJsb2NrSGVpZ2h0LGNvbnRlbnRIZWlnaHQ6dGhpcy5kcmFnZ2VkQmxvY2tDb250ZW50SGVpZ2h0LGJsb2NrSWQ6dC5pZH0pLHRoaXMuY3JlYXRlRHJvcEluZGljYXRvcigpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIix0aGlzLmhhbmRsZUdsb2JhbERyYWdPdmVyKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJkcmFnZW5kIix0aGlzLmhhbmRsZUdsb2JhbERyYWdFbmQpfXRoaXMuY29tcG9uZW50LmRyYWdnZWRCbG9ja0lkPXRoaXMuZHJhZ2dlZEJsb2NrSWQsc2V0VGltZW91dCgoKT0+e3RoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudCYmdGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50LmNsYXNzTGlzdC5hZGQoImRyYWdnaW5nIiksdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZiYmdGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZi5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpfSwxMCl9aGFuZGxlRHJhZ0VuZCgpe3RoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYucXVlcnlTZWxlY3RvckFsbCgiLmJsb2NrLXdyYXBwZXIiKS5mb3JFYWNoKHQ9Pnt0LmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiwibW92ZS11cCIsIm1vdmUtZG93biIpLHQuc3R5bGUucmVtb3ZlUHJvcGVydHkoIi0tZHJhZy1vZmZzZXQiKSx0LnN0eWxlLnJlbW92ZVByb3BlcnR5KCJ0cmFuc2Zvcm0iKX0pLHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYmJnRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZ2dpbmciKSx0aGlzLmRyYWdnZWRCbG9ja0lkPW51bGwsdGhpcy5kcmFnT3ZlckJsb2NrSWQ9bnVsbCx0aGlzLmRyYWdPdmVyUG9zaXRpb249bnVsbCx0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQ9bnVsbCx0aGlzLmRyYWdnZWRCbG9ja0hlaWdodD0wLHRoaXMuZHJhZ2dlZEJsb2NrQ29udGVudEhlaWdodD0wLHRoaXMuZHJhZ2dlZEJsb2NrTWFyZ2luVG9wPTAsdGhpcy5pbml0aWFsQmxvY2tZPTAsdGhpcy5jb21wb25lbnQuZHJhZ2dlZEJsb2NrSWQ9bnVsbCx0aGlzLmNvbXBvbmVudC5kcmFnT3ZlckJsb2NrSWQ9bnVsbCx0aGlzLmNvbXBvbmVudC5kcmFnT3ZlclBvc2l0aW9uPW51bGx9aGFuZGxlRHJhZ092ZXIoZSx0KXtpZihlLnByZXZlbnREZWZhdWx0KCksIWUuZGF0YVRyYW5zZmVyfHwhdGhpcy5kcmFnZ2VkQmxvY2tJZHx8dGhpcy5kcmFnZ2VkQmxvY2tJZD09PXQuaWQpcmV0dXJuO2UuZGF0YVRyYW5zZmVyLmRyb3BFZmZlY3Q9Im1vdmUiO2xldCByPWUuY3VycmVudFRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpPXIudG9wK3IuaGVpZ2h0LzI7dGhpcy5kcmFnT3ZlckJsb2NrSWQ9dC5pZCx0aGlzLmRyYWdPdmVyUG9zaXRpb249ZS5jbGllbnRZPGk/ImJlZm9yZSI6ImFmdGVyIix0aGlzLmNvbXBvbmVudC5kcmFnT3ZlckJsb2NrSWQ9dGhpcy5kcmFnT3ZlckJsb2NrSWQsdGhpcy5jb21wb25lbnQuZHJhZ092ZXJQb3NpdGlvbj10aGlzLmRyYWdPdmVyUG9zaXRpb259aGFuZGxlRHJhZ0xlYXZlKGUpe3RoaXMuZHJhZ092ZXJCbG9ja0lkPT09ZS5pZCYmKHRoaXMuZHJhZ092ZXJCbG9ja0lkPW51bGwsdGhpcy5kcmFnT3ZlclBvc2l0aW9uPW51bGwsdGhpcy5jb21wb25lbnQuZHJhZ092ZXJCbG9ja0lkPW51bGwsdGhpcy5jb21wb25lbnQuZHJhZ092ZXJQb3NpdGlvbj1udWxsKX1oYW5kbGVEcm9wKGUsdCl7ZS5wcmV2ZW50RGVmYXVsdCgpLCEoIXRoaXMuZHJhZ2dlZEJsb2NrSWR8fHRoaXMuZHJhZ2dlZEJsb2NrSWQ9PT10LmlkKSYmdGhpcy5jb21wb25lbnQuaGFuZGxlRHJvcChlLHQpfWlzRHJhZ2dpbmcoZSl7cmV0dXJuIHRoaXMuZHJhZ2dlZEJsb2NrSWQ9PT1lfWlzRHJhZ092ZXIoZSl7cmV0dXJuIHRoaXMuZHJhZ092ZXJCbG9ja0lkPT09ZX1nZXREcmFnT3ZlckNsYXNzZXMoZSl7cmV0dXJuIHRoaXMuaXNEcmFnT3ZlcihlKT90aGlzLmRyYWdPdmVyUG9zaXRpb249PT0iYmVmb3JlIj8iZHJhZy1vdmVyLWJlZm9yZSI6ImRyYWctb3Zlci1hZnRlciI6IiJ9Y3JlYXRlRHJvcEluZGljYXRvcigpe3RoaXMuZHJvcEluZGljYXRvcj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLmRyb3BJbmRpY2F0b3IuY2xhc3NOYW1lPSJkcm9wLWluZGljYXRvciIsdGhpcy5kcm9wSW5kaWNhdG9yLnN0eWxlLmRpc3BsYXk9Im5vbmUiLHRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYuYXBwZW5kQ2hpbGQodGhpcy5kcm9wSW5kaWNhdG9yKX1oYW5kbGVHbG9iYWxEcmFnT3Zlcj1zKGU9PntpZihlLnByZXZlbnREZWZhdWx0KCksIXRoaXMuZHJhZ2dlZEJsb2NrRWxlbWVudClyZXR1cm47bGV0IHQ9ZS5jbGllbnRZLXRoaXMuaW5pdGlhbE1vdXNlWTt0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQuc3R5bGUudHJhbnNmb3JtPWB0cmFuc2xhdGVZKCR7dH1weClgO2xldCByPURhdGUubm93KCk7ci10aGlzLmxhc3RVcGRhdGVUaW1lPHRoaXMudXBkYXRlVGhyb3R0bGV8fCh0aGlzLmxhc3RVcGRhdGVUaW1lPXIsdGhpcy51cGRhdGVCbG9ja1Bvc2l0aW9ucyhlLmNsaWVudFkpKX0sImhhbmRsZUdsb2JhbERyYWdPdmVyIik7dXBkYXRlQmxvY2tQb3NpdGlvbnMoZSl7bGV0IHQ9QXJyYXkuZnJvbSh0aGlzLmNvbXBvbmVudC5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3JBbGwoIi5ibG9jay13cmFwcGVyIikpLHI9dC5maW5kSW5kZXgobz0+by5nZXRBdHRyaWJ1dGUoImRhdGEtYmxvY2staWQiKT09PXRoaXMuZHJhZ2dlZEJsb2NrSWQpO2lmKHI9PT0tMSlyZXR1cm47dC5mb3JFYWNoKG89PntvLmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpIT09dGhpcy5kcmFnZ2VkQmxvY2tJZCYmKG8uY2xhc3NMaXN0LnJlbW92ZSgibW92ZS11cCIsIm1vdmUtZG93biIpLG8uc3R5bGUucmVtb3ZlUHJvcGVydHkoIi0tZHJhZy1vZmZzZXQiKSl9KTtsZXQgaT10Lmxlbmd0aDtmb3IobGV0IG89MDtvPHQubGVuZ3RoO28rKyl7aWYobz09PXIpY29udGludWU7bGV0IGw9dFtvXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxkPWwudG9wO2lmKGU8ZCtsLmhlaWdodCouNSl7aT1vO2JyZWFrfX1mb3IobGV0IG89MDtvPHQubGVuZ3RoO28rKyl7aWYobz09PXIpY29udGludWU7bGV0IG49dFtvXTtyPGk/bz5yJiZvPGkmJihuLmNsYXNzTGlzdC5hZGQoIm1vdmUtdXAiKSxuLnN0eWxlLnNldFByb3BlcnR5KCItLWRyYWctb2Zmc2V0IixgJHt0aGlzLmRyYWdnZWRCbG9ja0hlaWdodH1weGApKTpyPmkmJm8+PWkmJm88ciYmKG4uY2xhc3NMaXN0LmFkZCgibW92ZS1kb3duIiksbi5zdHlsZS5zZXRQcm9wZXJ0eSgiLS1kcmFnLW9mZnNldCIsYCR7dGhpcy5kcmFnZ2VkQmxvY2tIZWlnaHR9cHhgKSl9dGhpcy51cGRhdGVEcm9wSW5kaWNhdG9yKHQsaSxyKX11cGRhdGVEcm9wSW5kaWNhdG9yKGUsdCxyKXtpZighdGhpcy5kcm9wSW5kaWNhdG9yfHwhdGhpcy5kcmFnZ2VkQmxvY2tFbGVtZW50KXJldHVybjt0aGlzLmRyb3BJbmRpY2F0b3Iuc3R5bGUuZGlzcGxheT0iYmxvY2siO2xldCBpPXRoaXMuY29tcG9uZW50LmVkaXRvckNvbnRlbnRSZWYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz0wLG49W107Zm9yKGxldCBjPTA7YzxlLmxlbmd0aDtjKyspe2lmKGM9PT1yKWNvbnRpbnVlO2xldCBwPWVbY10sdT1wLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG09dS50b3AtaS50b3Asdj11LmJvdHRvbS1pLnRvcCx4PXdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHApLnRyYW5zZm9ybTtpZih4JiZ4IT09Im5vbmUiKXtsZXQgZz1uZXcgRE9NTWF0cml4KHgpLm00MjttKz1nLHYrPWd9bi5wdXNoKHtpbmRleDpjLHRvcDptLGJvdHRvbTp2fSl9bi5zb3J0KChjLHApPT5jLnRvcC1wLnRvcCk7bGV0IGw9dDt0PnImJmwtLTtsZXQgZD0xNjtpZih0aGlzLmRyYWdnZWRCbG9ja0VsZW1lbnQpe2xldCBjPXRoaXMuY29tcG9uZW50LmJsb2Nrcy5maW5kKHA9PnAuaWQ9PT10aGlzLmRyYWdnZWRCbG9ja0lkKTtpZihjKXtsZXQgcD1jLnR5cGU7cD09PSJoZWFkaW5nLTEifHxwPT09ImhlYWRpbmctMiJ8fHA9PT0iaGVhZGluZy0zIj9kPTI0OihwPT09ImNvZGUifHxwPT09InF1b3RlIikmJihkPTIwKX19aWYobD09PTApbz0wO2Vsc2UgaWYobD49bi5sZW5ndGgpe2xldCBjPW5bbi5sZW5ndGgtMV07YyYmKG89Yy5ib3R0b20sbys9ZCl9ZWxzZXtsZXQgYz1uW2wtMV07YyYmKG89Yy5ib3R0b20sbys9ZCl9dGhpcy5kcm9wSW5kaWNhdG9yLnN0eWxlLmhlaWdodD1gJHt0aGlzLmRyYWdnZWRCbG9ja0hlaWdodH1weGAsdGhpcy5kcm9wSW5kaWNhdG9yLnN0eWxlLnRvcD1gJHtNYXRoLm1heCgwLG8pfXB4YCxjb25zb2xlLmxvZygiRHJvcCBpbmRpY2F0b3IgdXBkYXRlOiIse3RhcmdldEluZGV4OnQsYWRqdXN0ZWRUYXJnZXRJbmRleDpsLGRyYWdnZWRJbmRleDpyLHRvcFBvc2l0aW9uOm8saGVpZ2h0OnRoaXMuZHJhZ2dlZEJsb2NrSGVpZ2h0LGJsb2NrTWFyZ2luOmQsdmlzdWFsQmxvY2tzOm4ubWFwKGM9Pih7aW5kZXg6Yy5pbmRleCx0b3A6Yy50b3AsYm90dG9tOmMuYm90dG9tfSkpfSl9aGFuZGxlR2xvYmFsRHJhZ0VuZD1zKCgpPT57ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLHRoaXMuaGFuZGxlR2xvYmFsRHJhZ092ZXIpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImRyYWdlbmQiLHRoaXMuaGFuZGxlR2xvYmFsRHJhZ0VuZCksdGhpcy5kcm9wSW5kaWNhdG9yJiYodGhpcy5kcm9wSW5kaWNhdG9yLnJlbW92ZSgpLHRoaXMuZHJvcEluZGljYXRvcj1udWxsKSx0aGlzLmRyYWdnZWRCbG9ja0lkP3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMucGVyZm9ybURyb3AoKSx0aGlzLmhhbmRsZURyYWdFbmQoKX0pOnRoaXMuaGFuZGxlRHJhZ0VuZCgpfSwiaGFuZGxlR2xvYmFsRHJhZ0VuZCIpO3BlcmZvcm1Ecm9wKCl7aWYoIXRoaXMuZHJhZ2dlZEJsb2NrSWQpcmV0dXJuO2xldCBlPUFycmF5LmZyb20odGhpcy5jb21wb25lbnQuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yQWxsKCIuYmxvY2std3JhcHBlciIpKTtpZighZS5maW5kKHA9PnAuZ2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIik9PT10aGlzLmRyYWdnZWRCbG9ja0lkKSlyZXR1cm47bGV0IHI9ZS5tYXAocD0+e2xldCB1PXAuZ2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIiksbT1wLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHY9bS50b3ArbS5oZWlnaHQvMjtyZXR1cm57aWQ6dSxjZW50ZXJZOnYsZWxlbWVudDpwfX0pO3Iuc29ydCgocCx1KT0+cC5jZW50ZXJZLXUuY2VudGVyWSk7bGV0IGk9ci5tYXAocD0+cC5pZCkuZmlsdGVyKHA9PnAhPT1udWxsKSxvPVsuLi50aGlzLmNvbXBvbmVudC5ibG9ja3NdLG49by5maW5kKHA9PnAuaWQ9PT10aGlzLmRyYWdnZWRCbG9ja0lkKTtpZighbilyZXR1cm47bGV0IGw9by5tYXAocD0+cC5pZCk7aWYoISFpLmV2ZXJ5KChwLHUpPT5wPT09bFt1XSkpcmV0dXJuO2xldCBjPWkubWFwKHA9Pm8uZmluZCh1PT51LmlkPT09cCkpLmZpbHRlcihCb29sZWFuKTt0aGlzLmNvbXBvbmVudC5ibG9ja3M9Yyx0aGlzLmNvbXBvbmVudC5yZW5kZXJCbG9ja3NQcm9ncmFtbWF0aWNhbGx5KCksdGhpcy5jb21wb25lbnQudXBkYXRlVmFsdWUoKSxzZXRUaW1lb3V0KCgpPT57bi50eXBlIT09ImRpdmlkZXIiJiZ0aGlzLmNvbXBvbmVudC5ibG9ja09wZXJhdGlvbnMuZm9jdXNCbG9jayhuLmlkKX0sMTAwKX19fSk7dmFyIGpXLGVsYT1mKCgpPT57JG8oKTtqVz1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXeXNpd3lnSGlzdG9yeSIpfWhpc3Rvcnk9W107Y3VycmVudEluZGV4PS0xO21heEhpc3RvcnlTaXplPTUwO2xhc3RTYXZlVGltZT0wO3NhdmVEZWJvdW5jZU1zPTUwMDtjb25zdHJ1Y3Rvcigpe3RoaXMuaGlzdG9yeT1bXSx0aGlzLmN1cnJlbnRJbmRleD0tMX1zYXZlU3RhdGUoZSx0LHIpe2xldCBpPURhdGUubm93KCk7aWYoaS10aGlzLmxhc3RTYXZlVGltZTx0aGlzLnNhdmVEZWJvdW5jZU1zJiZ0aGlzLmN1cnJlbnRJbmRleD49MCl7dGhpcy5oaXN0b3J5W3RoaXMuY3VycmVudEluZGV4XT17YmxvY2tzOnRoaXMuY2xvbmVCbG9ja3MoZSksc2VsZWN0ZWRCbG9ja0lkOnQsY3Vyc29yUG9zaXRpb246cj97Li4ucn06dm9pZCAwLHRpbWVzdGFtcDppfTtyZXR1cm59dGhpcy5jdXJyZW50SW5kZXg8dGhpcy5oaXN0b3J5Lmxlbmd0aC0xJiYodGhpcy5oaXN0b3J5PXRoaXMuaGlzdG9yeS5zbGljZSgwLHRoaXMuY3VycmVudEluZGV4KzEpKTtsZXQgbz17YmxvY2tzOnRoaXMuY2xvbmVCbG9ja3MoZSksc2VsZWN0ZWRCbG9ja0lkOnQsY3Vyc29yUG9zaXRpb246cj97Li4ucn06dm9pZCAwLHRpbWVzdGFtcDppfTt0aGlzLmhpc3RvcnkucHVzaChvKSx0aGlzLmN1cnJlbnRJbmRleCsrLHRoaXMuaGlzdG9yeS5sZW5ndGg+dGhpcy5tYXhIaXN0b3J5U2l6ZSYmKHRoaXMuaGlzdG9yeS5zaGlmdCgpLHRoaXMuY3VycmVudEluZGV4LS0pLHRoaXMubGFzdFNhdmVUaW1lPWl9c2F2ZUNoZWNrcG9pbnQoZSx0LHIpe3RoaXMubGFzdFNhdmVUaW1lPTAsdGhpcy5zYXZlU3RhdGUoZSx0LHIpfXVuZG8oKXtyZXR1cm4gdGhpcy5jYW5VbmRvKCk/KHRoaXMuY3VycmVudEluZGV4LS0sdGhpcy5jbG9uZVN0YXRlKHRoaXMuaGlzdG9yeVt0aGlzLmN1cnJlbnRJbmRleF0pKTpudWxsfXJlZG8oKXtyZXR1cm4gdGhpcy5jYW5SZWRvKCk/KHRoaXMuY3VycmVudEluZGV4KyssdGhpcy5jbG9uZVN0YXRlKHRoaXMuaGlzdG9yeVt0aGlzLmN1cnJlbnRJbmRleF0pKTpudWxsfWNhblVuZG8oKXtyZXR1cm4gdGhpcy5jdXJyZW50SW5kZXg+MH1jYW5SZWRvKCl7cmV0dXJuIHRoaXMuY3VycmVudEluZGV4PHRoaXMuaGlzdG9yeS5sZW5ndGgtMX1nZXRDdXJyZW50U3RhdGUoKXtyZXR1cm4gdGhpcy5jdXJyZW50SW5kZXg+PTAmJnRoaXMuY3VycmVudEluZGV4PHRoaXMuaGlzdG9yeS5sZW5ndGg/dGhpcy5jbG9uZVN0YXRlKHRoaXMuaGlzdG9yeVt0aGlzLmN1cnJlbnRJbmRleF0pOm51bGx9Y2xlYXIoKXt0aGlzLmhpc3Rvcnk9W10sdGhpcy5jdXJyZW50SW5kZXg9LTEsdGhpcy5sYXN0U2F2ZVRpbWU9MH1jbG9uZUJsb2NrcyhlKXtyZXR1cm4gZS5tYXAodD0+KHsuLi50LG1ldGFkYXRhOnQubWV0YWRhdGE/ey4uLnQubWV0YWRhdGF9OnZvaWQgMH0pKX1jbG9uZVN0YXRlKGUpe3JldHVybntibG9ja3M6dGhpcy5jbG9uZUJsb2NrcyhlLmJsb2Nrcyksc2VsZWN0ZWRCbG9ja0lkOmUuc2VsZWN0ZWRCbG9ja0lkLGN1cnNvclBvc2l0aW9uOmUuY3Vyc29yUG9zaXRpb24/ey4uLmUuY3Vyc29yUG9zaXRpb259OnZvaWQgMCx0aW1lc3RhbXA6ZS50aW1lc3RhbXB9fWdldEhpc3RvcnlJbmZvKCl7cmV0dXJue3NpemU6dGhpcy5oaXN0b3J5Lmxlbmd0aCxjdXJyZW50SW5kZXg6dGhpcy5jdXJyZW50SW5kZXgsY2FuVW5kbzp0aGlzLmNhblVuZG8oKSxjYW5SZWRvOnRoaXMuY2FuUmVkbygpfX19fSk7dmFyIFVXLFRjLHRsYSxhbGE9ZigoKT0+e2xlKCk7JG8oKTtiYygpO2oyKCk7UVhlKCk7SlhlKCk7TmYoKTtZcigpO1FlKCk7VVc9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFRjPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx0bGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXd5c2l3eWctYmxvY2siKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1d5c2l3eWdCbG9jayIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBrPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6Qm9vbGVhbn0pXSx1PVskKHt0eXBlOk9iamVjdH0pXSx4PVskKHt0eXBlOk9iamVjdH0pXSxVVyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJsb2NrIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJibG9jayJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmJsb2NrLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuYmxvY2s9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxuLGwpLFVXKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNTZWxlY3RlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iaXNTZWxlY3RlZCJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmlzU2VsZWN0ZWQsImdldCIpLHNldDpzKChDLE4pPT57Qy5pc1NlbGVjdGVkPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYyxwKSxVVyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhhbmRsZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJoYW5kbGVycyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmhhbmRsZXJzLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuaGFuZGxlcnM9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxtLHYpLFVXKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToid3lzaXd5Z0NvbXBvbmVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4id3lzaXd5Z0NvbXBvbmVudCJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnd5c2l3eWdDb21wb25lbnQsImdldCIpLHNldDpzKChDLE4pPT57Qy53eXNpd3lnQ29tcG9uZW50PU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYixnKSxVVyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTprfSxudWxsLHQpLHk9cj1lLnZhbHVlLGsmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6a30pfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLl9zZWxlY3Rpb25IYW5kbGVyJiZkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLHRoaXMuX3NlbGVjdGlvbkhhbmRsZXIpfSNlPVRjKHRoaXMsbix2b2lkIDApO2dldCBibG9jaygpe3JldHVybiB0aGlzLiNlfXNldCBibG9jayhrKXt0aGlzLiNlPWt9I3Q9KFRjKHRoaXMsbCksVGModGhpcyxjLCExKSk7Z2V0IGlzU2VsZWN0ZWQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgaXNTZWxlY3RlZChrKXt0aGlzLiN0PWt9I2E9KFRjKHRoaXMscCksVGModGhpcyxtLHZvaWQgMCkpO2dldCBoYW5kbGVycygpe3JldHVybiB0aGlzLiNhfXNldCBoYW5kbGVycyhrKXt0aGlzLiNhPWt9I3I9KFRjKHRoaXMsdiksVGModGhpcyxiLHZvaWQgMCkpO2dldCB3eXNpd3lnQ29tcG9uZW50KCl7cmV0dXJuIHRoaXMuI3J9c2V0IHd5c2l3eWdDb21wb25lbnQoayl7dGhpcy4jcj1rfWJsb2NrRWxlbWVudD0oVGModGhpcyxnKSxudWxsKTtjb250ZW50SW5pdGlhbGl6ZWQ9ITE7bGFzdEtub3duQ3Vyc29yUG9zaXRpb249MDtsYXN0U2VsZWN0ZWRUZXh0PSIiO2hhbmRsZXJTdHlsZXNJbmplY3RlZD0hMTtzdGF0aWMgTk9OX0VESVRBQkxFX1RZUEVTPVsiaW1hZ2UiLCJkaXZpZGVyIiwieW91dHViZSJdO2luamVjdEhhbmRsZXJTdHlsZXMoKXtpZih0aGlzLmhhbmRsZXJTdHlsZXNJbmplY3RlZClyZXR1cm47dGhpcy5oYW5kbGVyU3R5bGVzSW5qZWN0ZWQ9ITA7bGV0IGs9IiIsQz1WYS5nZXRBbGxUeXBlcygpO2ZvcihsZXQgTiBvZiBDKXtsZXQgXz1WYS5nZXRIYW5kbGVyKE4pO18mJihrKz1fLmdldFN0eWxlcygpKX1pZihrKXtsZXQgTj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO04udGV4dENvbnRlbnQ9ayx0aGlzLnNoYWRvd1Jvb3Q/LmFwcGVuZENoaWxkKE4pfX1zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuYmxvY2sgewogICAgICAgIHBhZGRpbmc6IDRweCAwOwogICAgICAgIG1pbi1oZWlnaHQ6IDEuNmVtOwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZTBlMGUwIil9OwogICAgICB9CgogICAgICAuYmxvY2s6ZW1wdHk6bm90KDpmb2N1cyk6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXBsYWNlaG9sZGVyKTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5OTkiLCIjNjY2Iil9OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLyogQmxvY2stc3BlY2lmaWMgc3R5bGVzIG1vdmVkIHRvIGhhbmRsZXJzICovCgoKICAgICAgLyogRm9ybWF0dGluZyBzdHlsZXMgKi8KICAgICAgLmJsb2NrIDppcyhiLCBzdHJvbmcpIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMDAwMCIsIiNmZmZmZmYiKX07CiAgICAgIH0KCiAgICAgIC5ibG9jayA6aXMoaSwgZW0pIHsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIC5ibG9jayB1IHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQoKICAgICAgLmJsb2NrIHMgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOwogICAgICB9CgogICAgICAuYmxvY2sgY29kZSB7CiAgICAgICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgJ01vbmFjbycsICdJbmNvbnNvbGF0YScsICdGaXJhIENvZGUnLCBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAwLjllbTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA2KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkMTQiLCIjZmY2YjZiIil9OwogICAgICB9CgogICAgICAuYmxvY2sgYSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDA2NmNjIiwiIzRkOTRmZiIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLmJsb2NrIGE6aG92ZXIgewogICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR7aC5iZFRoZW1lKCIjMDA2NmNjIiwiIzRkOTRmZiIpfTsKICAgICAgfQoKICAgICAgLyogQ29kZSBibG9jayBjb250YWluZXIgYW5kIGxhbmd1YWdlIHN0eWxlcyBtb3ZlZCB0byBoYW5kbGVyICovCgogICAgICAvKiBTZWxlY3Rpb24gc3R5bGVzICovCiAgICAgIC5ibG9jayA6OnNlbGVjdGlvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMTAyLCAyMDQsIDAuMykiLCJyZ2JhKDc3LCAxNDgsIDI1NSwgMC4zKSIpfTsKICAgICAgICBjb2xvcjogaW5oZXJpdDsKICAgICAgfQoKCiAgICAgIC8qIFN0cmlrZSB0aHJvdWdoICovCiAgICAgIC5ibG9jayA6aXMocywgc3RyaWtlKSB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgoKICAgICAgLyogQmxvY2sgbWFyZ2luIGFkanVzdG1lbnRzIGJhc2VkIG9uIHR5cGUgKi8KICAgICAgOmhvc3QtY29udGV4dCguYmxvY2std3JhcHBlcjpmaXJzdC1jaGlsZCkgLmJsb2NrIHsKICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIDpob3N0LWNvbnRleHQoLmJsb2NrLXdyYXBwZXI6bGFzdC1jaGlsZCkgLmJsb2NrIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAvKiBTZWxlY3RlZCBzdGF0ZSAqLwogICAgICAuYmxvY2suc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDEwMiwgMjA0LCAwLjA1KSIsInJnYmEoNzcsIDE0OCwgMjU1LCAwLjA4KSIpfTsKICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggJHtoLmJkVGhlbWUoInJnYmEoMCwgMTAyLCAyMDQsIDAuMikiLCJyZ2JhKDc3LCAxNDgsIDI1NSwgMC4yKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IC04cHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtOHB4OwogICAgICAgIHBhZGRpbmctbGVmdDogOHB4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDsKICAgICAgfQoKCgoKICAgIGBdO3Nob3VsZFVwZGF0ZShrKXtpZihrLmhhcygiaXNTZWxlY3RlZCIpJiZ0aGlzLmJsb2NrKXtsZXQgQz1udWxsLF89YC5ibG9jay4ke3RoaXMuYmxvY2sudHlwZX1gO3JldHVybiBDPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihfKSxDJiYodGhpcy5pc1NlbGVjdGVkP0MuY2xhc3NMaXN0LmFkZCgic2VsZWN0ZWQiKTpDLmNsYXNzTGlzdC5yZW1vdmUoInNlbGVjdGVkIikpLCExfWlmKGsuaGFzKCJibG9jayIpJiZ0aGlzLmJsb2NrKXtsZXQgQz1rLmdldCgiYmxvY2siKTtpZihDJiZDLmlkJiZDLnR5cGUmJkMuaWQ9PT10aGlzLmJsb2NrLmlkJiZDLnR5cGU9PT10aGlzLmJsb2NrLnR5cGUpcmV0dXJuITF9cmV0dXJuIXRoaXMuYmxvY2tFbGVtZW50fHx0aGlzLmJsb2NrPy50eXBlIT09dGhpcy5ibG9ja0VsZW1lbnQuZGF0YXNldC5ibG9ja1R5cGV9Zmlyc3RVcGRhdGVkKCl7dGhpcy5jb250ZW50SW5pdGlhbGl6ZWQ9ITAsdGhpcy5pbmplY3RIYW5kbGVyU3R5bGVzKCk7bGV0IGs9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIud3lzaXd5Zy1ibG9jay1jb250YWluZXIiKTtpZihrJiZ0aGlzLmJsb2NrJiYoay5pbm5lckhUTUw9dGhpcy5yZW5kZXJCbG9ja0NvbnRlbnQoKSksdGhpcy5ibG9jayl7bGV0IE49VmEuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKE4pe2xldCBfPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIik7XyYmTi5zZXR1cChfLHRoaXMuYmxvY2ssdGhpcy5oYW5kbGVycyk7cmV0dXJufX1sZXQgQz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKEMpe0Muc2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIix0aGlzLmJsb2NrLmlkKSxDLnNldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay10eXBlIix0aGlzLmJsb2NrLnR5cGUpLEMuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLF89Pnt0aGlzLmhhbmRsZXJzPy5vbklucHV0Py4oXyk7bGV0IHo9dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihDKTt6IT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249eil9KSxDLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLF89PntsZXQgej10aGlzLmdldEN1cnNvclBvc2l0aW9uKEMpO3ohPT1udWxsJiYodGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbj16KSx0aGlzLmhhbmRsZXJzPy5vbktleURvd24/LihfKX0pLEMuYWRkRXZlbnRMaXN0ZW5lcigiZm9jdXMiLCgpPT57dGhpcy5oYW5kbGVycz8ub25Gb2N1cz8uKCl9KSxDLmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLCgpPT57dGhpcy5oYW5kbGVycz8ub25CbHVyPy4oKX0pLEMuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsKCk9Pnt0aGlzLmhhbmRsZXJzPy5vbkNvbXBvc2l0aW9uU3RhcnQ/LigpfSksQy5hZGRFdmVudExpc3RlbmVyKCJjb21wb3NpdGlvbmVuZCIsKCk9Pnt0aGlzLmhhbmRsZXJzPy5vbkNvbXBvc2l0aW9uRW5kPy4oKX0pLEMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsXz0+e2xldCB6PXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oQyk7eiE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPXopLHRoaXMuaGFuZGxlcnM/Lm9uTW91c2VVcD8uKF8pfSksQy5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntzZXRUaW1lb3V0KCgpPT57bGV0IF89dGhpcy5nZXRDdXJzb3JQb3NpdGlvbihDKTtfIT09bnVsbCYmKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb249Xyl9LDApfSk7bGV0IE49cygoKT0+e2xldCBfPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZighX3x8Xy5yYW5nZUNvdW50PT09MClyZXR1cm47bGV0IHo9Xy50b1N0cmluZygpO2lmKHoubGVuZ3RoPT09MCl7dGhpcy5sYXN0U2VsZWN0ZWRUZXh0JiYodGhpcy5sYXN0U2VsZWN0ZWRUZXh0PSIiLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImJsb2NrLXRleHQtc2VsZWN0ZWQiLHtkZXRhaWw6e3RleHQ6IiIsYmxvY2tJZDp0aGlzLmJsb2NrLmlkLGhhc1NlbGVjdGlvbjohMX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSk7cmV0dXJufWxldCBPPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIU8pcmV0dXJuO2xldCBFPXRoaXMuY2xvc2VzdCgiZGVlcy1pbnB1dC13eXNpd3lnIik/LnNoYWRvd1Jvb3QsQj1bXTtFJiZCLnB1c2goRSksdGhpcy5zaGFkb3dSb290JiZCLnB1c2godGhpcy5zaGFkb3dSb290KTtsZXQgTT1ydC5nZXRTZWxlY3Rpb25JbmZvKC4uLkIpO2lmKCFNKXJldHVybjtsZXQgUz1ydC5jb250YWluc0Fjcm9zc1NoYWRvd0RPTShPLE0uc3RhcnRDb250YWluZXIpLFA9cnQuY29udGFpbnNBY3Jvc3NTaGFkb3dET00oTyxNLmVuZENvbnRhaW5lcik7aWYoU3x8UCl7aWYoeiE9PXRoaXMubGFzdFNlbGVjdGVkVGV4dCl7dGhpcy5sYXN0U2VsZWN0ZWRUZXh0PXo7bGV0IEE9cnQuY3JlYXRlUmFuZ2VGcm9tSW5mbyhNKSxGPUEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYmxvY2stdGV4dC1zZWxlY3RlZCIse2RldGFpbDp7dGV4dDp6LnRyaW0oKSxibG9ja0lkOnRoaXMuYmxvY2suaWQscmFuZ2U6QSxyZWN0OkYsaGFzU2VsZWN0aW9uOiEwfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfX1lbHNlIHRoaXMubGFzdFNlbGVjdGVkVGV4dCYmKHRoaXMubGFzdFNlbGVjdGVkVGV4dD0iIix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJibG9jay10ZXh0LXNlbGVjdGVkIix7ZGV0YWlsOnt0ZXh0OiIiLGJsb2NrSWQ6dGhpcy5ibG9jay5pZCxoYXNTZWxlY3Rpb246ITF9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSkpfSwiY2hlY2tTZWxlY3Rpb24iKTtkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJzZWxlY3Rpb25jaGFuZ2UiLE4pLHRoaXMuX3NlbGVjdGlvbkhhbmRsZXI9TixDLmFkZEV2ZW50TGlzdGVuZXIoImtleXVwIiwoKT0+e2xldCBfPXRoaXMuZ2V0Q3Vyc29yUG9zaXRpb24oQyk7XyE9PW51bGwmJih0aGlzLmxhc3RLbm93bkN1cnNvclBvc2l0aW9uPV8pfSksdGhpcy5ibG9jay5jb250ZW50JiYoQy5pbm5lckhUTUw9dGhpcy5ibG9jay5jb250ZW50KX10aGlzLmJsb2NrRWxlbWVudD1DfXJlbmRlcigpe3JldHVybiB0aGlzLmJsb2NrP0tsYDxkaXYgY2xhc3M9Ind5c2l3eWctYmxvY2stY29udGFpbmVyIj48L2Rpdj5gOktsYGB9cmVuZGVyQmxvY2tDb250ZW50KCl7aWYoIXRoaXMuYmxvY2spcmV0dXJuIiI7bGV0IGs9VmEuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKGspcmV0dXJuIGsucmVuZGVyKHRoaXMuYmxvY2ssdGhpcy5pc1NlbGVjdGVkKTtsZXQgQz10aGlzLmlzU2VsZWN0ZWQ/IiBzZWxlY3RlZCI6IiI7cmV0dXJuYAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImJsb2NrICR7dGhpcy5ibG9jay50eXBlfSR7Q30iCiAgICAgICAgY29udGVudGVkaXRhYmxlPSJ0cnVlIgogICAgICA+PC9kaXY+CiAgICBgfWZvY3VzKCl7bGV0IGs9VmEuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKGsmJmsuZm9jdXMpe2xldCBOPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIiksXz17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBrLmZvY3VzKE4sXyl9aWYodGhpcy5ibG9jayYmeS5OT05fRURJVEFCTEVfVFlQRVMuaW5jbHVkZXModGhpcy5ibG9jay50eXBlKSl7bGV0IE49dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGAuYmxvY2suJHt0aGlzLmJsb2NrLnR5cGV9YCk7TiYmTi5mb2N1cygpO3JldHVybn1sZXQgQz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO0MmJihDLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fEMuc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIiksQy5mb2N1cygpLGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1DJiZ0aGlzLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQhPT1DJiZQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57Qy5mb2N1cygpfSkpfWZvY3VzV2l0aEN1cnNvcihrPSJlbmQiKXtsZXQgQz1WYS5nZXRIYW5kbGVyKHRoaXMuYmxvY2sudHlwZSk7aWYoQyYmQy5mb2N1c1dpdGhDdXJzb3Ipe2xldCB6PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIiksTz17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBDLmZvY3VzV2l0aEN1cnNvcih6LGssTyl9aWYodGhpcy5ibG9jayYmeS5OT05fRURJVEFCTEVfVFlQRVMuaW5jbHVkZXModGhpcy5ibG9jay50eXBlKSl7dGhpcy5mb2N1cygpO3JldHVybn1sZXQgTj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKCFOKXJldHVybjtOLmhhc0F0dHJpYnV0ZSgiY29udGVudGVkaXRhYmxlIil8fE4uc2V0QXR0cmlidXRlKCJjb250ZW50ZWRpdGFibGUiLCJ0cnVlIiksTi5mb2N1cygpO2xldCBfPXMoKCk9PntrPT09InN0YXJ0Ij90aGlzLnNldEN1cnNvclRvU3RhcnQoKTprPT09ImVuZCI/dGhpcy5zZXRDdXJzb3JUb0VuZCgpOnR5cGVvZiBrPT0ibnVtYmVyIiYmcnQuc2V0Q3Vyc29yUG9zaXRpb24oTixrKX0sInNldEN1cnNvciIpO2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1OfHx0aGlzLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1OP18oKTpQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT57KGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ9PT1OfHx0aGlzLnNoYWRvd1Jvb3Q/LmFjdGl2ZUVsZW1lbnQ9PT1OKSYmXygpfSl9Z2V0Q3Vyc29yUG9zaXRpb24oayl7bGV0IEM9VmEuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKEMmJkMuZ2V0Q3Vyc29yUG9zaXRpb24pe2xldCBCPXtzaGFkb3dSb290OnRoaXMuc2hhZG93Um9vdCxjb21wb25lbnQ6dGhpc307cmV0dXJuIEMuZ2V0Q3Vyc29yUG9zaXRpb24oayxCKX1sZXQgXz10aGlzLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LHo9W107XyYmei5wdXNoKF8pLHRoaXMuc2hhZG93Um9vdCYmei5wdXNoKHRoaXMuc2hhZG93Um9vdCk7bGV0IE89cnQuZ2V0U2VsZWN0aW9uSW5mbyguLi56KTtpZihjb25zb2xlLmxvZygiZ2V0Q3Vyc29yUG9zaXRpb246IFNlbGVjdGlvbiBpbmZvIGZyb20gc2hhZG93IERPTXM6Iix7c2VsZWN0aW9uSW5mbzpPLHNoYWRvd1Jvb3RzQ291bnQ6ei5sZW5ndGh9KSwhTylyZXR1cm4gY29uc29sZS5sb2coImdldEN1cnNvclBvc2l0aW9uOiBObyBzZWxlY3Rpb24gZm91bmQiKSxudWxsO2lmKGNvbnNvbGUubG9nKCJnZXRDdXJzb3JQb3NpdGlvbjogUmFuZ2UgaW5mbzoiLHtzdGFydENvbnRhaW5lcjpPLnN0YXJ0Q29udGFpbmVyLHN0YXJ0T2Zmc2V0Ok8uc3RhcnRPZmZzZXQsY29sbGFwc2VkOk8uY29sbGFwc2VkLHN0YXJ0Q29udGFpbmVyVGV4dDpPLnN0YXJ0Q29udGFpbmVyLnRleHRDb250ZW50fSksIWsuY29udGFpbnMoTy5zdGFydENvbnRhaW5lcikpcmV0dXJuIGNvbnNvbGUubG9nKCJnZXRDdXJzb3JQb3NpdGlvbjogUmFuZ2Ugbm90IGluIGVsZW1lbnQiKSxudWxsO2xldCBUPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7VC5zZWxlY3ROb2RlQ29udGVudHMoayksVC5zZXRFbmQoTy5zdGFydENvbnRhaW5lcixPLnN0YXJ0T2Zmc2V0KTtsZXQgRT1ULnRvU3RyaW5nKCkubGVuZ3RoO3JldHVybiBjb25zb2xlLmxvZygiZ2V0Q3Vyc29yUG9zaXRpb246IENhbGN1bGF0ZWQgcG9zaXRpb246Iix7cG9zaXRpb246RSxwcmVDYXJldFRleHQ6VC50b1N0cmluZygpLGVsZW1lbnRUZXh0OmsudGV4dENvbnRlbnQsZWxlbWVudFRleHRMZW5ndGg6ay50ZXh0Q29udGVudD8ubGVuZ3RofSksRX1nZXRDb250ZW50KCl7bGV0IGs9VmEuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKGsmJmsuZ2V0Q29udGVudCl7bGV0IF89dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIud3lzaXd5Zy1ibG9jay1jb250YWluZXIiKSx6PXtzaGFkb3dSb290OnRoaXMuc2hhZG93Um9vdCxjb21wb25lbnQ6dGhpc307cmV0dXJuIGsuZ2V0Q29udGVudChfLHopfWxldCBDPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmJsb2NrIik7aWYoIUMpcmV0dXJuIiI7bGV0IE49Qy5pbm5lckhUTUx8fCIiO3JldHVybiBjb25zb2xlLmxvZygiR2V0dGluZyBjb250ZW50IGZyb20gYmxvY2s6IixOKSxOfXNldENvbnRlbnQoayl7bGV0IEM9VmEuZ2V0SGFuZGxlcih0aGlzLmJsb2NrLnR5cGUpO2lmKEMmJkMuc2V0Q29udGVudCl7bGV0IHo9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIud3lzaXd5Zy1ibG9jay1jb250YWluZXIiKSxPPXtzaGFkb3dSb290OnRoaXMuc2hhZG93Um9vdCxjb21wb25lbnQ6dGhpc307cmV0dXJuIEMuc2V0Q29udGVudCh6LGssTyl9bGV0IE49dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZighTilyZXR1cm47bGV0IF89ZG9jdW1lbnQuYWN0aXZlRWxlbWVudD09PU58fHRoaXMuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudD09PU47Ti5pbm5lckhUTUw9ayxfJiZOLmZvY3VzKCl9c2V0Q3Vyc29yVG9TdGFydCgpe2xldCBrPVZhLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihrJiZrLnNldEN1cnNvclRvU3RhcnQpe2xldCBOPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIiksXz17c2hhZG93Um9vdDp0aGlzLnNoYWRvd1Jvb3QsY29tcG9uZW50OnRoaXN9O3JldHVybiBrLnNldEN1cnNvclRvU3RhcnQoTixfKX1sZXQgQz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO0MmJnRpLnNldEN1cnNvclRvU3RhcnQoQyl9c2V0Q3Vyc29yVG9FbmQoKXtsZXQgaz1WYS5nZXRIYW5kbGVyKHRoaXMuYmxvY2sudHlwZSk7aWYoayYmay5zZXRDdXJzb3JUb0VuZCl7bGV0IE49dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIud3lzaXd5Zy1ibG9jay1jb250YWluZXIiKSxfPXtzaGFkb3dSb290OnRoaXMuc2hhZG93Um9vdCxjb21wb25lbnQ6dGhpc307cmV0dXJuIGsuc2V0Q3Vyc29yVG9FbmQoTixfKX1sZXQgQz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO0MmJnRpLnNldEN1cnNvclRvRW5kKEMpfWdldENvbnRleHRNZW51SXRlbXMoKXtpZighdGhpcy5ibG9ja3x8dGhpcy5ibG9jay50eXBlPT09ImRpdmlkZXIiKXJldHVybltdO2xldCBrPVhyLmdldFNsYXNoTWVudUl0ZW1zKCksQz10aGlzLmJsb2NrLnR5cGUsTj10aGlzLnd5c2l3eWdDb21wb25lbnQsXz10aGlzLmJsb2NrLmlkLE89W3tuYW1lOiJDaGFuZ2UgVHlwZSIsaWNvbk5hbWU6InR5cGUiLHN1Ym1lbnU6ay5maWx0ZXIoVD0+VC50eXBlIT09QyYmVC50eXBlIT09ImRpdmlkZXIiKS5tYXAoVD0+KHtuYW1lOlQubGFiZWwsaWNvbk5hbWU6VC5pY29uLnJlcGxhY2UoImx1Y2lkZToiLCIiKSxhY3Rpb246cyhhc3luYygpPT57aWYoTiYmTi5ibG9ja09wZXJhdGlvbnMpe2xldCBFPU4uYmxvY2tzLmZpbmQoQj0+Qi5pZD09PV8pO0UmJihFLnR5cGU9VC50eXBlLEUuY29udGVudD1FLmNvbnRlbnR8fCIiLFQudHlwZT09PSJjb2RlIj9FLm1ldGFkYXRhPXtsYW5ndWFnZToidHlwZXNjcmlwdCJ9OlQudHlwZT09PSJsaXN0Ij9FLm1ldGFkYXRhPXtsaXN0VHlwZToiYnVsbGV0In06VC50eXBlPT09ImltYWdlIj8oRS5jb250ZW50PSIiLEUubWV0YWRhdGE9e3VybDoiIixsb2FkaW5nOiExfSk6VC50eXBlPT09InlvdXR1YmUiPyhFLmNvbnRlbnQ9IiIsRS5tZXRhZGF0YT17dmlkZW9JZDoiIix1cmw6IiJ9KTpULnR5cGU9PT0ibWFya2Rvd24iP0UubWV0YWRhdGE9e3Nob3dQcmV2aWV3OiExfTpULnR5cGU9PT0iaHRtbCI/RS5tZXRhZGF0YT17c2hvd1ByZXZpZXc6ITF9OlQudHlwZT09PSJhdHRhY2htZW50IiYmKEUuY29udGVudD0iIixFLm1ldGFkYXRhPXtmaWxlczpbXX0pLE4udXBkYXRlQmxvY2tFbGVtZW50KF8pLE4udXBkYXRlVmFsdWUoKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntOLmJsb2NrT3BlcmF0aW9ucy5mb2N1c0Jsb2NrKF8pfSkpfX0sImFjdGlvbiIpfSkpfV07cmV0dXJuWyJpbWFnZSIsImRpdmlkZXIiLCJ5b3V0dWJlIiwiYXR0YWNobWVudCJdLmluY2x1ZGVzKHRoaXMuYmxvY2sudHlwZSl8fE8ucHVzaCh7ZGl2aWRlcjohMH0se25hbWU6IkN1dCIsaWNvbk5hbWU6InNjaXNzb3JzIixzaG9ydGN1dDoiQ21kK1giLGFjdGlvbjpzKGFzeW5jKCk9Pntkb2N1bWVudC5leGVjQ29tbWFuZCgiY3V0Iil9LCJhY3Rpb24iKX0se25hbWU6IkNvcHkiLGljb25OYW1lOiJjb3B5IixzaG9ydGN1dDoiQ21kK0MiLGFjdGlvbjpzKGFzeW5jKCk9Pntkb2N1bWVudC5leGVjQ29tbWFuZCgiY29weSIpfSwiYWN0aW9uIil9LHtuYW1lOiJQYXN0ZSIsaWNvbk5hbWU6ImNsaXBib2FyZCIsc2hvcnRjdXQ6IkNtZCtWIixhY3Rpb246cyhhc3luYygpPT57ZG9jdW1lbnQuZXhlY0NvbW1hbmQoInBhc3RlIil9LCJhY3Rpb24iKX0pLE8ucHVzaCh7ZGl2aWRlcjohMH0se25hbWU6IkRlbGV0ZSBCbG9jayIsaWNvbk5hbWU6InRyYXNoMiIsYWN0aW9uOnMoYXN5bmMoKT0+e04mJk4uYmxvY2tPcGVyYXRpb25zJiZOLmJsb2NrT3BlcmF0aW9ucy5kZWxldGVCbG9jayhfKX0sImFjdGlvbiIpfSksT31nZXRTcGxpdENvbnRlbnQoKXtjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBTdGFydGluZy4uLiIpO2xldCBrPVZhLmdldEhhbmRsZXIodGhpcy5ibG9jay50eXBlKTtpZihjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBDaGVja2luZyBmb3IgaGFuZGxlciIse2Jsb2NrVHlwZTp0aGlzLmJsb2NrLnR5cGUsaGFzSGFuZGxlcjohIWssaGFzU3BsaXRNZXRob2Q6ISEoayYmay5nZXRTcGxpdENvbnRlbnQpfSksayYmay5nZXRTcGxpdENvbnRlbnQpe2xldCBXPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnd5c2l3eWctYmxvY2stY29udGFpbmVyIik7Y29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogRm91bmQgY29udGFpbmVyIix7Y29udGFpbmVyOiEhVyxjb250YWluZXJIVE1MOlc/LmlubmVySFRNTD8uc3Vic3RyaW5nKDAsMTAwKX0pO2xldCBqPXtzaGFkb3dSb290OnRoaXMuc2hhZG93Um9vdCxjb21wb25lbnQ6dGhpc307cmV0dXJuIGsuZ2V0U3BsaXRDb250ZW50KFcsail9bGV0IEM9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZighQylyZXR1cm4gY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogTm8gZWRpdGFibGUgZWxlbWVudCBmb3VuZCIpLG51bGw7Y29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogRWxlbWVudCBpbmZvOiIse2Jsb2NrVHlwZTp0aGlzLmJsb2NrLnR5cGUsaW5uZXJIVE1MOkMuaW5uZXJIVE1MLHRleHRDb250ZW50OkMudGV4dENvbnRlbnQsdGV4dExlbmd0aDpDLnRleHRDb250ZW50Py5sZW5ndGh9KTtsZXQgXz10aGlzLmNsb3Nlc3QoImRlZXMtaW5wdXQtd3lzaXd5ZyIpPy5zaGFkb3dSb290LHo9W107XyYmei5wdXNoKF8pLHRoaXMuc2hhZG93Um9vdCYmei5wdXNoKHRoaXMuc2hhZG93Um9vdCk7bGV0IE89cnQuZ2V0U2VsZWN0aW9uSW5mbyguLi56KTtpZihjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBTZWxlY3Rpb24gaW5mbyBmcm9tIHNoYWRvdyBET01zOiIse3NlbGVjdGlvbkluZm86TyxzaGFkb3dSb290c0NvdW50OnoubGVuZ3RofSksIU8pe2lmKGNvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IE5vIHNlbGVjdGlvbiwgdXNpbmcgbGFzdCBrbm93biBwb3NpdGlvbjoiLHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24pLHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24hPT1udWxsKXtsZXQgVz1DLnRleHRDb250ZW50fHwiIixqPU1hdGgubWluKHRoaXMubGFzdEtub3duQ3Vyc29yUG9zaXRpb24sVy5sZW5ndGgpO3JldHVybiBjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBTcGxpdHRpbmcgd2l0aCBsYXN0IGtub3duIHBvc2l0aW9uOiIse3BvczpqLGZ1bGxUZXh0TGVuZ3RoOlcubGVuZ3RoLGJlZm9yZTpXLnN1YnN0cmluZygwLGopLGFmdGVyOlcuc3Vic3RyaW5nKGopfSkse2JlZm9yZTpXLnN1YnN0cmluZygwLGopLGFmdGVyOlcuc3Vic3RyaW5nKGopfX1yZXR1cm4gbnVsbH1pZihjb25zb2xlLmxvZygiZ2V0U3BsaXRDb250ZW50OiBTZWxlY3Rpb24gcmFuZ2U6Iix7c3RhcnRDb250YWluZXI6Ty5zdGFydENvbnRhaW5lcixzdGFydE9mZnNldDpPLnN0YXJ0T2Zmc2V0LHN0YXJ0Q29udGFpbmVySW5FbGVtZW50OkMuY29udGFpbnMoTy5zdGFydENvbnRhaW5lcil9KSwhcnQuY29udGFpbnNBY3Jvc3NTaGFkb3dET00oQyxPLnN0YXJ0Q29udGFpbmVyKSl7aWYoY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogU2VsZWN0aW9uIG5vdCBpbiB0aGlzIGJsb2NrLCB1c2luZyBsYXN0IGtub3duIHBvc2l0aW9uOiIsdGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiksdGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbiE9PW51bGwpe2xldCBXPUMudGV4dENvbnRlbnR8fCIiLGo9TWF0aC5taW4odGhpcy5sYXN0S25vd25DdXJzb3JQb3NpdGlvbixXLmxlbmd0aCk7cmV0dXJue2JlZm9yZTpXLnN1YnN0cmluZygwLGopLGFmdGVyOlcuc3Vic3RyaW5nKGopfX1yZXR1cm4gbnVsbH1sZXQgVD10aGlzLmdldEN1cnNvclBvc2l0aW9uKEMpO2lmKGNvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IEN1cnNvciBwb3NpdGlvbiBmb3IgSFRNTCBzcGxpdDoiLFQpLFQ9PT1udWxsfHxUPT09MClyZXR1cm4gY29uc29sZS5sb2coImdldFNwbGl0Q29udGVudDogQ3Vyc29yIGF0IHN0YXJ0IG9yIG51bGwsIG1vdmluZyBhbGwgY29udGVudCIpLHtiZWZvcmU6IiIsYWZ0ZXI6Qy5pbm5lckhUTUx9O2xldCBFPWRvY3VtZW50LmNyZWF0ZVJhbmdlKCksQj1kb2N1bWVudC5jcmVhdGVSYW5nZSgpO0Uuc2V0U3RhcnQoQywwKSxFLnNldEVuZChPLnN0YXJ0Q29udGFpbmVyLE8uc3RhcnRPZmZzZXQpLEIuc2V0U3RhcnQoTy5zdGFydENvbnRhaW5lcixPLnN0YXJ0T2Zmc2V0KSxCLnNldEVuZChDLEMuY2hpbGROb2Rlcy5sZW5ndGgpO2xldCBNPUUuY2xvbmVDb250ZW50cygpLFM9Qi5jbG9uZUNvbnRlbnRzKCksUD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtQLmFwcGVuZENoaWxkKE0pO2xldCBBPVAuaW5uZXJIVE1MO1AuaW5uZXJIVE1MPSIiLFAuYXBwZW5kQ2hpbGQoUyk7bGV0IEY9UC5pbm5lckhUTUw7cmV0dXJuIGNvbnNvbGUubG9nKCJnZXRTcGxpdENvbnRlbnQ6IEZpbmFsIHNwbGl0IHJlc3VsdDoiLHtjdXJzb3JQb3M6VCxiZWZvcmVIdG1sOkEsYmVmb3JlTGVuZ3RoOkEubGVuZ3RoLGJlZm9yZUh0bWxQcmV2aWV3OkEuc3Vic3RyaW5nKDAsMTAwKSsoQS5sZW5ndGg+MTAwPyIuLi4iOiIiKSxhZnRlckh0bWw6RixhZnRlckxlbmd0aDpGLmxlbmd0aCxhZnRlckh0bWxQcmV2aWV3OkYuc3Vic3RyaW5nKDAsMTAwKSsoRi5sZW5ndGg+MTAwPyIuLi4iOiIiKX0pLHtiZWZvcmU6QSxhZnRlcjpGfX1zdGF0aWN7VGMocix0KX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIHRRZT1mKCgpPT57T3NlKCk7JG8oKTtmbSgpO19hZSgpO3BpYSgpO2lLZSgpO05mKCk7YUtlKCk7ajIoKTtiYygpO29LZSgpO0pYZSgpO1gyYSgpO1EyYSgpO0oyYSgpO2VRZSgpO2VsYSgpO3RLZSgpO3JLZSgpO2FsYSgpfSk7dmFyIFQ0LFhpLFdXLE9zZT1mKCgpPT57U3IoKTt1aWEoKTtwYygpO2xlKCk7dFFlKCk7UWUoKTtUND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sWGk9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFdXPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC13eXNpd3lnIildLGUsdD1bXSxyLGk9d3QsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W107dmFyIEI9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNJbnB1dFd5c2l3eWciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVtLKCldLHg9W0soKV0seT1bSygpXSxOPVtLKCldLE89W0soKV0sVDQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idmFsdWUiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy52YWx1ZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnZhbHVlPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbixsKSxUNCh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im91dHB1dEZvcm1hdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ib3V0cHV0Rm9ybWF0ImluIFMsImhhcyIpLGdldDpzKFM9PlMub3V0cHV0Rm9ybWF0LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1Mub3V0cHV0Rm9ybWF0PVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxUNCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJsb2NrcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iYmxvY2tzImluIFMsImhhcyIpLGdldDpzKFM9PlMuYmxvY2tzLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuYmxvY2tzPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbSx2KSxUNCh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdnZWRCbG9ja0lkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJkcmFnZ2VkQmxvY2tJZCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmRyYWdnZWRCbG9ja0lkLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuZHJhZ2dlZEJsb2NrSWQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLFQ0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHJhZ092ZXJCbG9ja0lkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJkcmFnT3ZlckJsb2NrSWQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5kcmFnT3ZlckJsb2NrSWQsImdldCIpLHNldDpzKChTLFApPT57Uy5kcmFnT3ZlckJsb2NrSWQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxrLEMpLFQ0KHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHJhZ092ZXJQb3NpdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iZHJhZ092ZXJQb3NpdGlvbiJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmRyYWdPdmVyUG9zaXRpb24sImdldCIpLHNldDpzKChTLFApPT57Uy5kcmFnT3ZlclBvc2l0aW9uPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sXyx6KSxUNCh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic2VsZWN0ZWRUZXh0ImluIFMsImhhcyIpLGdldDpzKFM9PlMuc2VsZWN0ZWRUZXh0LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1Muc2VsZWN0ZWRUZXh0PVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sVCxFKSxUNChudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpNfSxudWxsLHQpLEI9cj1lLnZhbHVlLE0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6TX0pfXN0YXRpYyBkZW1vPWRpYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0IiwiV29ya3NwYWNlIl07I2U9WGkodGhpcyxuLCIiKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoTSl7dGhpcy4jZT1NfSN0PShYaSh0aGlzLGwpLFhpKHRoaXMsYywiaHRtbCIpKTtnZXQgb3V0cHV0Rm9ybWF0KCl7cmV0dXJuIHRoaXMuI3R9c2V0IG91dHB1dEZvcm1hdChNKXt0aGlzLiN0PU19I2E9KFhpKHRoaXMscCksWGkodGhpcyxtLFt7aWQ6WHIuZ2VuZXJhdGVCbG9ja0lkKCksdHlwZToicGFyYWdyYXBoIixjb250ZW50OiIifV0pKTtnZXQgYmxvY2tzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGJsb2NrcyhNKXt0aGlzLiNhPU19c2VsZWN0ZWRCbG9ja0lkPShYaSh0aGlzLHYpLG51bGwpO3NsYXNoTWVudT1TYWUuZ2V0SW5zdGFuY2UoKTsjcj1YaSh0aGlzLGIsbnVsbCk7Z2V0IGRyYWdnZWRCbG9ja0lkKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGRyYWdnZWRCbG9ja0lkKE0pe3RoaXMuI3I9TX0jcz0oWGkodGhpcyxnKSxYaSh0aGlzLGssbnVsbCkpO2dldCBkcmFnT3ZlckJsb2NrSWQoKXtyZXR1cm4gdGhpcy4jc31zZXQgZHJhZ092ZXJCbG9ja0lkKE0pe3RoaXMuI3M9TX0jaT0oWGkodGhpcyxDKSxYaSh0aGlzLF8sbnVsbCkpO2dldCBkcmFnT3ZlclBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGRyYWdPdmVyUG9zaXRpb24oTSl7dGhpcy4jaT1NfWZvcm1hdHRpbmdNZW51PShYaSh0aGlzLHopLENhZS5nZXRJbnN0YW5jZSgpKTsjbz1YaSh0aGlzLFQsIiIpO2dldCBzZWxlY3RlZFRleHQoKXtyZXR1cm4gdGhpcy4jb31zZXQgc2VsZWN0ZWRUZXh0KE0pe3RoaXMuI289TX1lZGl0b3JDb250ZW50UmVmPVhpKHRoaXMsRSk7aXNDb21wb3Npbmc9ITE7YmxvY2tPcGVyYXRpb25zO2lucHV0SGFuZGxlcjtrZXlib2FyZEhhbmRsZXI7ZHJhZ0Ryb3BIYW5kbGVyO2hpc3Rvcnk7c3RhdGljIHN0eWxlcz1bRWUsLi4ud3QuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsc0tlXTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy5ibG9ja09wZXJhdGlvbnM9bmV3IFJVKHRoaXMpLHRoaXMuaW5wdXRIYW5kbGVyPW5ldyBIVyh0aGlzKSx0aGlzLmtleWJvYXJkSGFuZGxlcj1uZXcgcVcodGhpcyksdGhpcy5kcmFnRHJvcEhhbmRsZXI9bmV3IFZXKHRoaXMpLHRoaXMuaGlzdG9yeT1uZXcgald9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmlucHV0SGFuZGxlcj8uZGVzdHJveSgpLHRoaXMuYmx1clRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5ibHVyVGltZW91dCksdGhpcy5ibHVyVGltZW91dD1udWxsKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXtpZih0aGlzLnZhbHVlJiZ0aGlzLnZhbHVlLnRyaW0oKS5sZW5ndGg+MCl7bGV0IE09dGhpcy5vdXRwdXRGb3JtYXQ9PT0iaHRtbCI/RG4ucGFyc2VIdG1sVG9CbG9ja3ModGhpcy52YWx1ZSk6RG4ucGFyc2VNYXJrZG93blRvQmxvY2tzKHRoaXMudmFsdWUpO00ubGVuZ3RoPjAmJih0aGlzLmJsb2Nrcz1NKX10aGlzLnVwZGF0ZVZhbHVlKCksdGhpcy5lZGl0b3JDb250ZW50UmVmPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLWNvbnRlbnQiKSx0aGlzLmVkaXRvckNvbnRlbnRSZWYmJnRoaXMuZWRpdG9yQ29udGVudFJlZi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsTT0+dGhpcy5oYW5kbGVFZGl0b3JDbGljayhNKSksdGhpcy5hZGRFdmVudExpc3RlbmVyKCJibG9jay10ZXh0LXNlbGVjdGVkIiwoTT0+e2lmKCF0aGlzLnNsYXNoTWVudS52aXNpYmxlJiZNLmRldGFpbC5oYXNTZWxlY3Rpb24mJk0uZGV0YWlsLnRleHQubGVuZ3RoPjAmJih0aGlzLnNlbGVjdGVkVGV4dD1NLmRldGFpbC50ZXh0LE0uZGV0YWlsLnJlY3QpKXtsZXQgUz17eDpNLmRldGFpbC5yZWN0LmxlZnQrTS5kZXRhaWwucmVjdC53aWR0aC8yLHk6TWF0aC5tYXgoNDUsTS5kZXRhaWwucmVjdC50b3AtNDUpfTt0aGlzLmZvcm1hdHRpbmdNZW51LnNob3coUyxhc3luYyBQPT5hd2FpdCB0aGlzLmFwcGx5Rm9ybWF0KFApKX19KSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIixNPT57bGV0IFM9dGhpcy5mb3JtYXR0aW5nTWVudS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZm9ybWF0dGluZy1tZW51Iik7aWYoUyYmUy5jb250YWlucyhNLnRhcmdldCkpcmV0dXJuO2xldCBQPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtQJiZQLnRvU3RyaW5nKCkudHJpbSgpLmxlbmd0aD4wfHx0aGlzLmZvcm1hdHRpbmdNZW51LnZpc2libGUmJnRoaXMuaGlkZUZvcm1hdHRpbmdNZW51KCl9KSx0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLE09PntsZXQgUz1NLnRhcmdldDshdGhpcy5jb250YWlucyhTKSYmIXRoaXMuc2hhZG93Um9vdD8uY29udGFpbnMoUyl8fCgoTS5tZXRhS2V5fHxNLmN0cmxLZXkpJiYhTS5zaGlmdEtleSYmTS5rZXk9PT0ieiI/KE0ucHJldmVudERlZmF1bHQoKSx0aGlzLnVuZG8oKSk6KE0ubWV0YUtleXx8TS5jdHJsS2V5KSYmTS5zaGlmdEtleSYmTS5rZXk9PT0ieiImJihNLnByZXZlbnREZWZhdWx0KCksdGhpcy5yZWRvKCkpKX0pLHRoaXMuaGlzdG9yeS5zYXZlU3RhdGUodGhpcy5ibG9ja3MsdGhpcy5zZWxlY3RlZEJsb2NrSWQpLHRoaXMucmVuZGVyQmxvY2tzUHJvZ3JhbW1hdGljYWxseSgpfXJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKXt0aGlzLmVkaXRvckNvbnRlbnRSZWYmJih0aGlzLmVkaXRvckNvbnRlbnRSZWYuaW5uZXJIVE1MPSIiLHRoaXMuYmxvY2tzLmZvckVhY2goTT0+e2xldCBTPXRoaXMuY3JlYXRlQmxvY2tFbGVtZW50KE0pO3RoaXMuZWRpdG9yQ29udGVudFJlZi5hcHBlbmRDaGlsZChTKX0pKX1jcmVhdGVCbG9ja0VsZW1lbnQoTSl7bGV0IFM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7aWYoUy5jbGFzc05hbWU9ImJsb2NrLXdyYXBwZXIiLFMuc2V0QXR0cmlidXRlKCJkYXRhLWJsb2NrLWlkIixNLmlkKSxNLnR5cGUhPT0iZGl2aWRlciIpe2xldCBBPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO0EuY2xhc3NOYW1lPSJkcmFnLWhhbmRsZSIsQS5kcmFnZ2FibGU9ITAsQS5hZGRFdmVudExpc3RlbmVyKCJkcmFnc3RhcnQiLEY9PnRoaXMuZHJhZ0Ryb3BIYW5kbGVyLmhhbmRsZURyYWdTdGFydChGLE0pKSxTLmFwcGVuZENoaWxkKEEpfWxldCBQPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRlZXMtd3lzaXd5Zy1ibG9jayIpO3JldHVybiBQLmJsb2NrPU0sUC5pc1NlbGVjdGVkPXRoaXMuc2VsZWN0ZWRCbG9ja0lkPT09TS5pZCxQLnd5c2l3eWdDb21wb25lbnQ9dGhpcyxQLmhhbmRsZXJzPXtvbklucHV0OnMoQT0+dGhpcy5pbnB1dEhhbmRsZXIuaGFuZGxlQmxvY2tJbnB1dChBLE0pLCJvbklucHV0Iiksb25LZXlEb3duOnMoQT0+dGhpcy5rZXlib2FyZEhhbmRsZXIuaGFuZGxlQmxvY2tLZXlEb3duKEEsTSksIm9uS2V5RG93biIpLG9uRm9jdXM6cygoKT0+dGhpcy5oYW5kbGVCbG9ja0ZvY3VzKE0pLCJvbkZvY3VzIiksb25CbHVyOnMoKCk9PnRoaXMuaGFuZGxlQmxvY2tCbHVyKE0pLCJvbkJsdXIiKSxvbkNvbXBvc2l0aW9uU3RhcnQ6cygoKT0+dGhpcy5pc0NvbXBvc2luZz0hMCwib25Db21wb3NpdGlvblN0YXJ0Iiksb25Db21wb3NpdGlvbkVuZDpzKCgpPT50aGlzLmlzQ29tcG9zaW5nPSExLCJvbkNvbXBvc2l0aW9uRW5kIiksb25Nb3VzZVVwOnMoQT0+dGhpcy5oYW5kbGVUZXh0U2VsZWN0aW9uKEEpLCJvbk1vdXNlVXAiKSxvblJlcXVlc3RVcGRhdGU6cygoKT0+dGhpcy51cGRhdGVCbG9ja0VsZW1lbnQoTS5pZCksIm9uUmVxdWVzdFVwZGF0ZSIpfSxTLmFwcGVuZENoaWxkKFApLFMuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLEE9PnRoaXMuZHJhZ0Ryb3BIYW5kbGVyLmhhbmRsZURyYWdPdmVyKEEsTSkpLFMuYWRkRXZlbnRMaXN0ZW5lcigiZHJvcCIsQT0+dGhpcy5kcmFnRHJvcEhhbmRsZXIuaGFuZGxlRHJvcChBLE0pKSxTLmFkZEV2ZW50TGlzdGVuZXIoImRyYWdsZWF2ZSIsKCk9PnRoaXMuZHJhZ0Ryb3BIYW5kbGVyLmhhbmRsZURyYWdMZWF2ZShNKSksU311cGRhdGVCbG9ja0VsZW1lbnQoTSl7bGV0IFM9dGhpcy5ibG9ja3MuZmluZChGPT5GLmlkPT09TSk7aWYoIVMpcmV0dXJuO2xldCBQPXRoaXMuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtNfSJdYCk7aWYoIVApcmV0dXJuO2xldCBBPXRoaXMuY3JlYXRlQmxvY2tFbGVtZW50KFMpO1AucmVwbGFjZVdpdGgoQSl9cmVuZGVyKCl7cmV0dXJuIEtsYAogICAgICA8ZGVlcy1sYWJlbAogICAgICAgIC5sYWJlbD0iJHt0aGlzLmxhYmVsfSIKICAgICAgICAuaW5mb1RleHQ9IiR7dGhpcy5pbmZvVGV4dH0iCiAgICAgICAgLnJlcXVpcmVkPSIke3RoaXMucmVxdWlyZWR9IgogICAgICA+PC9kZWVzLWxhYmVsPgogICAgICA8ZGl2IGNsYXNzPSJ3eXNpd3lnLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9ImVkaXRvci1jb250ZW50ICR7dGhpcy5kcmFnZ2VkQmxvY2tJZD8iZHJhZ2dpbmciOiIifSIKICAgICAgICAgIGlkPSJlZGl0b3ItY29udGVudCIKICAgICAgICA+CiAgICAgICAgICA8IS0tIEJsb2NrcyB3aWxsIGJlIHJlbmRlcmVkIHByb2dyYW1tYXRpY2FsbHkgLS0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAke3RoaXMucmVuZGVyRGVzY3JpcHRpb24oKX0KICAgIGB9aGFuZGxlU2xhc2hNZW51S2V5Ym9hcmQoTSl7c3dpdGNoKE0ua2V5KXtjYXNlIkFycm93RG93biI6TS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2xhc2hNZW51Lm5hdmlnYXRlKCJkb3duIik7YnJlYWs7Y2FzZSJBcnJvd1VwIjpNLnByZXZlbnREZWZhdWx0KCksdGhpcy5zbGFzaE1lbnUubmF2aWdhdGUoInVwIik7YnJlYWs7Y2FzZSJFbnRlciI6TS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2xhc2hNZW51LnNlbGVjdEN1cnJlbnQoKTticmVhaztjYXNlIkVzY2FwZSI6TS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY2xvc2VTbGFzaE1lbnUoITApO2JyZWFrfX1jbG9zZVNsYXNoTWVudShNPSExKXtpZihNJiZ0aGlzLnNlbGVjdGVkQmxvY2tJZCl7bGV0IFM9dGhpcy5ibG9ja3MuZmluZChQPT5QLmlkPT09dGhpcy5zZWxlY3RlZEJsb2NrSWQpO2lmKFMpe2xldCBBPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtTLmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKEEpe2xldCBGPUEuZ2V0Q29udGVudCgpO2lmKEYuc3RhcnRzV2l0aCgiLyIpKXtsZXQgVz1GLnJlcGxhY2UoL15cL1teXHNdKlxzKi8sIiIpLnRyaW0oKTtBLnNldENvbnRlbnQoVyksUy5jb250ZW50PVcscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57QS5mb2N1c1dpdGhDdXJzb3IoMCl9KX19fX10aGlzLnNsYXNoTWVudS5oaWRlKCl9aGFuZGxlQmxvY2tGb2N1cyhNKXt0aGlzLmJsdXJUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuYmx1clRpbWVvdXQpLHRoaXMuYmx1clRpbWVvdXQ9bnVsbCk7bGV0IFM9dGhpcy5zZWxlY3RlZEJsb2NrSWQ7aWYodGhpcy5zZWxlY3RlZEJsb2NrSWQ9TS5pZCxTIT09TS5pZCl7aWYoUyl7bGV0IFc9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtTfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO1cmJihXLmlzU2VsZWN0ZWQ9ITEpfWxldCBBPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7TS5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtBJiYoQS5pc1NlbGVjdGVkPSEwKX19Ymx1clRpbWVvdXQ9bnVsbDtoYW5kbGVCbG9ja0JsdXIoTSl7aWYodGhpcy5ibHVyVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMuYmx1clRpbWVvdXQpLHRoaXMuc2xhc2hNZW51LnZpc2libGUpcmV0dXJuO2xldCBQPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7TS5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtpZihQJiZQLmdldENvbnRlbnQpe2xldCBBPVAuZ2V0Q29udGVudCgpO00uY29udGVudCE9PUEmJihNLmNvbnRlbnQ9QSl9dGhpcy5ibHVyVGltZW91dD1zZXRUaW1lb3V0KCgpPT57dGhpcy5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50Py5jbGFzc0xpc3QuY29udGFpbnMoImJsb2NrIil8fHRoaXMudXBkYXRlVmFsdWUoKX0sMTAwKX1oYW5kbGVFZGl0b3JDbGljayhNKXtsZXQgUz1NLnRhcmdldDtpZih0aGlzLnNsYXNoTWVudS52aXNpYmxlJiZ0aGlzLmNsb3NlU2xhc2hNZW51KCEwKSxTLmNsYXNzTGlzdC5jb250YWlucygiZWRpdG9yLWNvbnRlbnQiKSl7bGV0IFA9dGhpcy5ibG9ja3NbdGhpcy5ibG9ja3MubGVuZ3RoLTFdO3RoaXMuYmxvY2tPcGVyYXRpb25zLmZvY3VzQmxvY2soUC5pZCxQLnR5cGU9PT0iZGl2aWRlciJ8fFAudHlwZT09PSJpbWFnZSI/dm9pZCAwOiJlbmQiKX19Y3JlYXRlTmV3QmxvY2soTT0icGFyYWdyYXBoIixTPSIiLFApe3JldHVybntpZDpYci5nZW5lcmF0ZUJsb2NrSWQoKSx0eXBlOk0sY29udGVudDpTLC4uLlAmJnttZXRhZGF0YTpQfX19YXN5bmMgaW5zZXJ0QmxvY2tBZnRlcihNLFMsUD0hMCl7bGV0IEE9dGhpcy5ibG9ja3MuZmluZEluZGV4KFc9PlcuaWQ9PT1NLmlkKTt0aGlzLmJsb2Nrcz1bLi4udGhpcy5ibG9ja3Muc2xpY2UoMCxBKzEpLFMsLi4udGhpcy5ibG9ja3Muc2xpY2UoQSsxKV07bGV0IEY9dGhpcy5lZGl0b3JDb250ZW50UmVmLnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke00uaWR9Il1gKTtpZihGKXtsZXQgVz10aGlzLmNyZWF0ZUJsb2NrRWxlbWVudChTKTtGLmluc2VydEFkamFjZW50RWxlbWVudCgiYWZ0ZXJlbmQiLFcpfXRoaXMudXBkYXRlVmFsdWUoKSxQJiZTLnR5cGUhPT0iZGl2aWRlciImJihhd2FpdCBuZXcgUHJvbWlzZShXPT5zZXRUaW1lb3V0KFcsMCkpLGF3YWl0IHRoaXMuYmxvY2tPcGVyYXRpb25zLmZvY3VzQmxvY2soUy5pZCwic3RhcnQiKSl9YXN5bmMgaW5zZXJ0QmxvY2soTSl7bGV0IFM9dGhpcy5ibG9ja3MuZmluZChGPT5GLmlkPT09dGhpcy5zZWxlY3RlZEJsb2NrSWQpO2lmKCFTKXt0aGlzLmNsb3NlU2xhc2hNZW51KCk7cmV0dXJufWxldCBBPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtTLmlkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKEEpe2xldCBGPUEuZ2V0Q29udGVudCgpO2lmKEYuc3RhcnRzV2l0aCgiLyIpKXtsZXQgVz1GLnJlcGxhY2UoL15cL1teXHNdKlxzKi8sIiIpLnRyaW0oKTtBLnNldENvbnRlbnQoVyksUy5jb250ZW50PVd9fWlmKHRoaXMuY2xvc2VTbGFzaE1lbnUoITEpLE09PT0iY29kZSImJihTLm1ldGFkYXRhPXtsYW5ndWFnZToidHlwZXNjcmlwdCJ9KSxTLnR5cGU9TSxTLmNvbnRlbnQ9Uy5jb250ZW50fHwiIixNPT09ImRpdmlkZXIiKXtTLmNvbnRlbnQ9IiAiO2xldCBGPXRoaXMuY3JlYXRlTmV3QmxvY2soKTt0aGlzLmluc2VydEJsb2NrQWZ0ZXIoUyxGKX1lbHNlIE09PT0ibGlzdCI/KFMubWV0YWRhdGE9e2xpc3RUeXBlOiJidWxsZXQifSxTLmNvbnRlbnQ9IiIpOk09PT0iaW1hZ2UiPyhTLmNvbnRlbnQ9IiIsUy5tZXRhZGF0YT17dXJsOiIiLGxvYWRpbmc6ITF9KTpNPT09InlvdXR1YmUiPyhTLmNvbnRlbnQ9IiIsUy5tZXRhZGF0YT17dmlkZW9JZDoiIix1cmw6IiJ9KTpNPT09Im1hcmtkb3duIj9TLm1ldGFkYXRhPXtzaG93UHJldmlldzohMX06TT09PSJodG1sIj9TLm1ldGFkYXRhPXtzaG93UHJldmlldzohMX06TT09PSJhdHRhY2htZW50Ij8oUy5jb250ZW50PSIiLFMubWV0YWRhdGE9e2ZpbGVzOltdfSk6Uy5jb250ZW50PVMuY29udGVudHx8IiI7dGhpcy51cGRhdGVCbG9ja0VsZW1lbnQoUy5pZCksdGhpcy51cGRhdGVWYWx1ZSgpLGF3YWl0IG5ldyBQcm9taXNlKEY9PnNldFRpbWVvdXQoRiwwKSksTT09PSJsaXN0Ij8odGhpcy5ibG9ja09wZXJhdGlvbnMuZm9jdXNCbG9jayhTLmlkLCJzdGFydCIpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2xldCBXPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgW2RhdGEtYmxvY2staWQ9IiR7Uy5pZH0iXWApPy5xdWVyeVNlbGVjdG9yKCJkZWVzLXd5c2l3eWctYmxvY2siKTtXJiZXLmZvY3VzTGlzdEl0ZW0oKX0pKTpNIT09ImRpdmlkZXIiJiZNIT09ImltYWdlIiYmTSE9PSJ5b3V0dWJlIiYmTSE9PSJtYXJrZG93biImJk0hPT0iaHRtbCImJk0hPT0iYXR0YWNobWVudCI/dGhpcy5ibG9ja09wZXJhdGlvbnMuZm9jdXNCbG9jayhTLmlkLCJzdGFydCIpOihNPT09ImltYWdlInx8TT09PSJ5b3V0dWJlInx8TT09PSJtYXJrZG93biJ8fE09PT0iaHRtbCJ8fE09PT0iYXR0YWNobWVudCIpJiZ0aGlzLmJsb2NrT3BlcmF0aW9ucy5mb2N1c0Jsb2NrKFMuaWQpfXVwZGF0ZVZhbHVlKCl7dGhpcy5vdXRwdXRGb3JtYXQ9PT0iaHRtbCI/dGhpcy52YWx1ZT1Ebi5nZXRIdG1sT3V0cHV0KHRoaXMuYmxvY2tzKTp0aGlzLnZhbHVlPURuLmdldE1hcmtkb3duT3V0cHV0KHRoaXMuYmxvY2tzKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzLnZhbHVlKSx0aGlzLnNhdmVUb0hpc3RvcnkoITApfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoTSl7dGhpcy52YWx1ZT1NLHRoaXMub3V0cHV0Rm9ybWF0PT09Imh0bWwiP3RoaXMuYmxvY2tzPURuLnBhcnNlSHRtbFRvQmxvY2tzKE0pOnRoaXMuYmxvY2tzPURuLnBhcnNlTWFya2Rvd25Ub0Jsb2NrcyhNKSx0aGlzLmJsb2Nrcy5sZW5ndGg9PT0wJiYodGhpcy5ibG9ja3M9W3tpZDpYci5nZW5lcmF0ZUJsb2NrSWQoKSx0eXBlOiJwYXJhZ3JhcGgiLGNvbnRlbnQ6IiJ9XSksdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcy52YWx1ZSksdGhpcy5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKX1leHBvcnRCbG9ja3MoKXtyZXR1cm4gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmJsb2NrcykpfWltcG9ydEJsb2NrcyhNKXt0aGlzLmJsb2Nrcz1KU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KE0pKSx0aGlzLnVwZGF0ZVZhbHVlKCksdGhpcy5lZGl0b3JDb250ZW50UmVmJiZ0aGlzLnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKX1leHBvcnRBc0h0bWwoKXtyZXR1cm4gRG4uZ2V0SHRtbE91dHB1dCh0aGlzLmJsb2Nrcyl9ZXhwb3J0QXNNYXJrZG93bigpe3JldHVybiBEbi5nZXRNYXJrZG93bk91dHB1dCh0aGlzLmJsb2Nrcyl9ZXhwb3J0U3RhdGUoKXtyZXR1cm57YmxvY2tzOnRoaXMuZXhwb3J0QmxvY2tzKCksb3V0cHV0Rm9ybWF0OnRoaXMub3V0cHV0Rm9ybWF0fX1pbXBvcnRTdGF0ZShNKXtNLm91dHB1dEZvcm1hdCYmKHRoaXMub3V0cHV0Rm9ybWF0PU0ub3V0cHV0Rm9ybWF0KSx0aGlzLmltcG9ydEJsb2NrcyhNLmJsb2Nrcyl9aGFuZGxlRHJhZ0VuZCgpe2lmKHRoaXMuZHJhZ2dlZEJsb2NrSWQpe2xldCBTPXRoaXMuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHt0aGlzLmRyYWdnZWRCbG9ja0lkfSJdYCk7UyYmUy5jbGFzc0xpc3QucmVtb3ZlKCJkcmFnZ2luZyIpfXRoaXMuZWRpdG9yQ29udGVudFJlZi5xdWVyeVNlbGVjdG9yQWxsKCIuYmxvY2std3JhcHBlciIpLmZvckVhY2goUz0+e1MuY2xhc3NMaXN0LnJlbW92ZSgiZHJhZy1vdmVyLWJlZm9yZSIsImRyYWctb3Zlci1hZnRlciIpfSksdGhpcy5lZGl0b3JDb250ZW50UmVmLmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIiksdGhpcy5kcmFnZ2VkQmxvY2tJZD1udWxsLHRoaXMuZHJhZ092ZXJCbG9ja0lkPW51bGwsdGhpcy5kcmFnT3ZlclBvc2l0aW9uPW51bGx9aGFuZGxlRHJvcChNLFMpe2lmKE0ucHJldmVudERlZmF1bHQoKSwhdGhpcy5kcmFnZ2VkQmxvY2tJZHx8dGhpcy5kcmFnZ2VkQmxvY2tJZD09PVMuaWQpcmV0dXJuO2xldCBQPXRoaXMuYmxvY2tzLmZpbmRJbmRleChqPT5qLmlkPT09dGhpcy5kcmFnZ2VkQmxvY2tJZCksQT10aGlzLmJsb2Nrcy5maW5kSW5kZXgoaj0+ai5pZD09PVMuaWQpO2lmKFA9PT0tMXx8QT09PS0xKXJldHVybjtsZXRbRl09dGhpcy5ibG9ja3Muc3BsaWNlKFAsMSksVz1BO3RoaXMuZHJhZ092ZXJQb3NpdGlvbj09PSJhZnRlciI/Vz1QPEE/QTpBKzE6Vz1QPEE/QS0xOkEsdGhpcy5ibG9ja3Muc3BsaWNlKFcsMCxGKSx0aGlzLnJlbmRlckJsb2Nrc1Byb2dyYW1tYXRpY2FsbHkoKSx0aGlzLnVwZGF0ZVZhbHVlKCksdGhpcy5oYW5kbGVEcmFnRW5kKCksc2V0VGltZW91dCgoKT0+e2xldCBqPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtGLmlkfSJdIC5ibG9ja2ApO2omJkYudHlwZSE9PSJkaXZpZGVyIiYmai5mb2N1cygpfSwxMDApfWhhbmRsZVRleHRTZWxlY3Rpb24oTSl7dGhpcy5zbGFzaE1lbnUudmlzaWJsZX11cGRhdGVGb3JtYXR0aW5nTWVudVBvc2l0aW9uKCl7bGV0IE09W107dGhpcy5zaGFkb3dSb290JiZNLnB1c2godGhpcy5zaGFkb3dSb290KSx0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3JBbGwoIi5ibG9jay13cmFwcGVyIik/LmZvckVhY2goQT0+e2xldCBGPUEucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7Rj8uc2hhZG93Um9vdCYmTS5wdXNoKEYuc2hhZG93Um9vdCl9KTtsZXQgUD1nYy5nZXRTZWxlY3Rpb25Db29yZGluYXRlcyguLi5NKTtQJiZ0aGlzLmZvcm1hdHRpbmdNZW51LnNob3coe3g6UC54LHk6UC55fSxhc3luYyBBPT5hd2FpdCB0aGlzLmFwcGx5Rm9ybWF0KEEpKX1oaWRlRm9ybWF0dGluZ01lbnUoKXt0aGlzLmZvcm1hdHRpbmdNZW51LmhpZGUoKSx0aGlzLnNlbGVjdGVkVGV4dD0iIn1hc3luYyBhcHBseUZvcm1hdChNKXtsZXQgUz1bXTt0aGlzLnNoYWRvd1Jvb3QmJlMucHVzaCh0aGlzLnNoYWRvd1Jvb3QpLHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvckFsbCgiLmJsb2NrLXdyYXBwZXIiKT8uZm9yRWFjaChoZT0+e2xldCBSPWhlLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO1I/LnNoYWRvd1Jvb3QmJlMucHVzaChSLnNoYWRvd1Jvb3QpfSk7bGV0IEE9cnQuZ2V0U2VsZWN0aW9uSW5mbyguLi5TKTtpZighQSlyZXR1cm47bGV0IEYsVyxqPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yQWxsKCIuYmxvY2std3JhcHBlciIpO2ZvcihsZXQgaGU9MDtoZTxqLmxlbmd0aDtoZSsrKXtsZXQgUj1qW2hlXSxVPVIucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7aWYoVT8uc2hhZG93Um9vdCl7bGV0IG1lPVUuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuYmxvY2siKTtpZihtZSYmKG1lLmNvbnRhaW5zKEEuc3RhcnRDb250YWluZXIpfHxtZS5jb250YWlucyhBLmVuZENvbnRhaW5lcikpKXtsZXQgST1SLmdldEF0dHJpYnV0ZSgiZGF0YS1ibG9jay1pZCIpO0Y9dGhpcy5ibG9ja3MuZmluZChxPT5xLmlkPT09SSksVz1VO2JyZWFrfX19aWYoIUZ8fCFXKXJldHVybjtsZXQgRz1ydC5jcmVhdGVSYW5nZUZyb21JbmZvKEEpO2lmKE09PT0ibGluayIpe2xldCBoZT1hd2FpdCB0aGlzLnNob3dMaW5rRGlhbG9nKCk7aWYoIWhlKXtXLmZvY3VzKCk7cmV0dXJufWdjLmFwcGx5Rm9ybWF0KE0saGUsRyxTKX1lbHNlIGdjLmFwcGx5Rm9ybWF0KE0sdm9pZCAwLEcsUyk7YXdhaXQgbmV3IFByb21pc2UoaGU9PnNldFRpbWVvdXQoaGUsMTApKSxGLmNvbnRlbnQ9Vy5nZXRDb250ZW50KCksdGhpcy51cGRhdGVWYWx1ZSgpLFcuZm9jdXMoKSxNPT09ImxpbmsiP3RoaXMuaGlkZUZvcm1hdHRpbmdNZW51KCk6dGhpcy5zZWxlY3RlZFRleHQ9IiJ9YXN5bmMgc2hvd0xpbmtEaWFsb2coKXtyZXR1cm4gbmV3IFByb21pc2UoTT0+e2xldCBTPW51bGw7d2EuY3JlYXRlQW5kU2hvdyh7aGVhZGluZzoiQWRkIExpbmsiLGNvbnRlbnQ6S2xgCiAgICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgIC5saW5rLWlucHV0IHsKICAgICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWxpbmUtYnJpZ2h0KTsKICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1pbnB1dCk7CiAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dCk7CiAgICAgICAgICAgICAgbWFyZ2luOiAxNnB4IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLmxpbmstaW5wdXQ6Zm9jdXMgewogICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXByaW1hcnkpOwogICAgICAgICAgICB9CiAgICAgICAgICA8L3N0eWxlPgogICAgICAgICAgPGlucHV0IAogICAgICAgICAgICBjbGFzcz0ibGluay1pbnB1dCIgCiAgICAgICAgICAgIHR5cGU9InVybCIgCiAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJodHRwczovL2V4YW1wbGUuY29tIiAKICAgICAgICAgICAgQGtleWRvd249IiR7UD0+e2lmKFAua2V5PT09IkVudGVyIil7bGV0IEE9UC50YXJnZXQ7Uz1BLnZhbHVlO2xldCBGPUEuY2xvc2VzdCgiZGVlcy1tb2RhbCIpO2lmKEYpe2xldCBXPUYuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmJvdHRvbUJ1dHRvbjpsYXN0LWNoaWxkIik7VyYmVy5jbGljaygpfX19fSIKICAgICAgICAgICAgQGlucHV0PSIke1A9PntTPVAudGFyZ2V0LnZhbHVlfX0iCiAgICAgICAgICAvPgogICAgICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJDYW5jZWwiLGFjdGlvbjpzKGFzeW5jIFA9PntQLmRlc3Ryb3koKSxNKG51bGwpfSwiYWN0aW9uIil9LHtuYW1lOiJBZGQgTGluayIsYWN0aW9uOnMoYXN5bmMgUD0+e1AuZGVzdHJveSgpLE0oUyl9LCJhY3Rpb24iKX1dfSksc2V0VGltZW91dCgoKT0+e2xldCBQPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImRlZXMtbW9kYWwgLmxpbmstaW5wdXQiKTtQJiZQLmZvY3VzKCl9LDEwMCl9KX11bmRvKCl7bGV0IE09dGhpcy5oaXN0b3J5LnVuZG8oKTtNJiZ0aGlzLnJlc3RvcmVTdGF0ZShNKX1yZWRvKCl7bGV0IE09dGhpcy5oaXN0b3J5LnJlZG8oKTtNJiZ0aGlzLnJlc3RvcmVTdGF0ZShNKX1yZXN0b3JlU3RhdGUoTSl7dGhpcy5ibG9ja3M9TS5ibG9ja3MsdGhpcy5zZWxlY3RlZEJsb2NrSWQ9TS5zZWxlY3RlZEJsb2NrSWQsdGhpcy5yZW5kZXJCbG9ja3NQcm9ncmFtbWF0aWNhbGx5KCksTS5jdXJzb3JQb3NpdGlvbj9zZXRUaW1lb3V0KCgpPT57bGV0IFA9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1ibG9jay1pZD0iJHtNLmN1cnNvclBvc2l0aW9uLmJsb2NrSWR9Il1gKT8ucXVlcnlTZWxlY3RvcigiZGVlcy13eXNpd3lnLWJsb2NrIik7UCYmUC5mb2N1c1dpdGhDdXJzb3IoTS5jdXJzb3JQb3NpdGlvbi5vZmZzZXQpfSw1MCk6TS5zZWxlY3RlZEJsb2NrSWQmJnNldFRpbWVvdXQoKCk9Pnt0aGlzLmJsb2NrT3BlcmF0aW9ucy5mb2N1c0Jsb2NrKE0uc2VsZWN0ZWRCbG9ja0lkKX0sNTApLHRoaXMudXBkYXRlVmFsdWUoKX1zYXZlVG9IaXN0b3J5KE09ITApe2xldCBTO2lmKHRoaXMuc2VsZWN0ZWRCbG9ja0lkKXtsZXQgQT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWJsb2NrLWlkPSIke3RoaXMuc2VsZWN0ZWRCbG9ja0lkfSJdYCk/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd3lzaXd5Zy1ibG9jayIpO2lmKEEmJnR5cGVvZiBBLmdldEN1cnNvclBvc2l0aW9uPT0iZnVuY3Rpb24iKXtsZXQgRj1BLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5ibG9jayIpO2lmKEYpe2xldCBXPUEuZ2V0Q3Vyc29yUG9zaXRpb24oRik7VyE9PW51bGwmJihTPXtibG9ja0lkOnRoaXMuc2VsZWN0ZWRCbG9ja0lkLG9mZnNldDpXfSl9fX1NP3RoaXMuaGlzdG9yeS5zYXZlU3RhdGUodGhpcy5ibG9ja3MsdGhpcy5zZWxlY3RlZEJsb2NrSWQsUyk6dGhpcy5oaXN0b3J5LnNhdmVDaGVja3BvaW50KHRoaXMuYmxvY2tzLHRoaXMuc2VsZWN0ZWRCbG9ja0lkLFMpfXN0YXRpY3tYaShyLHQpfX07cmV0dXJuIEI9cn0pKCl9KTt2YXIgcmxhLHNsYT1mKCgpPT57bGUoKTtJYSgpO0ZzZSgpO1VzKCk7cmxhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7UWAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgZGVlcy1wYW5lbCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgICAgLmdyaWQtbGF5b3V0IHsKICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5vdXRwdXQtcHJldmlldyB7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICNmM2Y0ZjY7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBjb2xvcjogIzM3NDE1MTsKICAgICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICAgIG1heC1oZWlnaHQ6IDIwMHB4OwogICAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykgewogICAgICAgICAgLm91dHB1dC1wcmV2aWV3IHsKICAgICAgICAgICAgYmFja2dyb3VuZDogIzJjMmMyYzsKICAgICAgICAgICAgY29sb3I6ICNlNGU0ZTc7CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMS4gQmFzaWMgUmljaCBUZXh0IEVkaXRvciJ9IC5zdWJ0aXRsZT0keyJBIGZ1bGwtZmVhdHVyZWQgcmljaCB0ZXh0IGVkaXRvciB3aXRoIGZvcm1hdHRpbmcgdG9vbGJhciJ9PgogICAgICAgIDxkZWVzLWlucHV0LXJpY2h0ZXh0IAogICAgICAgICAgLmxhYmVsPSR7IkFydGljbGUgQ29udGVudCJ9IAogICAgICAgICAgLnZhbHVlPSR7JzxoMT5XZWxjb21lIHRvIHRoZSBSaWNoIFRleHQgRWRpdG9yITwvaDE+PHA+VGhpcyBpcyBhIGZlYXR1cmUtcmljaCBlZGl0b3IgYnVpbHQgd2l0aCBUaXBUYXAuIFlvdSBjYW46PC9wPjx1bD48bGk+PHN0cm9uZz5Gb3JtYXQgdGV4dDwvc3Ryb25nPiB3aXRoIDxlbT52YXJpb3VzPC9lbT4gPHU+c3R5bGVzPC91PjwvbGk+PGxpPkNyZWF0ZSBkaWZmZXJlbnQgaGVhZGluZyBsZXZlbHM8L2xpPjxsaT5BZGQgPGEgaHJlZj0iaHR0cHM6Ly9leGFtcGxlLmNvbSI+bGlua3M8L2E+IHRvIGV4dGVybmFsIHJlc291cmNlczwvbGk+PGxpPldyaXRlIDxjb2RlPmlubGluZSBjb2RlPC9jb2RlPiBvciBjb2RlIGJsb2NrczwvbGk+PC91bD48YmxvY2txdW90ZT48cD5Vc2UgdGhlIHRvb2xiYXIgYWJvdmUgdG8gZXhwbG9yZSBhbGwgdGhlIGZvcm1hdHRpbmcgb3B0aW9ucyBhdmFpbGFibGUhPC9wPjwvYmxvY2txdW90ZT48cD5TdGFydCB0eXBpbmcgdG8gc2VlIHRoZSBtYWdpYyBoYXBwZW4uLi48L3A+J30KICAgICAgICAgIC5kZXNjcmlwdGlvbj0keyJVc2UgdGhlIHRvb2xiYXIgdG8gZm9ybWF0IHlvdXIgY29udGVudCB3aXRoIGhlYWRpbmdzLCBsaXN0cywgbGlua3MsIGFuZCBtb3JlIn0KICAgICAgICAgIC5zaG93V29yZENvdW50PSR7ITB9CiAgICAgICAgPjwvZGVlcy1pbnB1dC1yaWNodGV4dD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgICAKICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjIuIFdpdGggUGxhY2Vob2xkZXIifSAuc3VidGl0bGU9JHsiRW1wdHkgZWRpdG9yIHdpdGggcGxhY2Vob2xkZXIgdGV4dCJ9PgogICAgICAgIDxkZWVzLWlucHV0LXJpY2h0ZXh0IAogICAgICAgICAgLmxhYmVsPSR7IkJsb2cgUG9zdCJ9IAogICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IlN0YXJ0IHdyaXRpbmcgeW91ciBibG9nIHBvc3QgaGVyZS4uLiJ9CiAgICAgICAgICAuc2hvd1dvcmRDb3VudD0keyEwfQogICAgICAgID48L2RlZXMtaW5wdXQtcmljaHRleHQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyIzLiBEaWZmZXJlbnQgSGVpZ2h0cyJ9IC5zdWJ0aXRsZT0keyJFZGl0b3JzIHdpdGggZGlmZmVyZW50IG1pbmltdW0gaGVpZ2h0cyBmb3IgdmFyaW91cyB1c2UgY2FzZXMifT4KICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWxheW91dCI+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1yaWNodGV4dCAKICAgICAgICAgICAgLmxhYmVsPSR7IlNob3J0IE5vdGUifSAKICAgICAgICAgICAgLm1pbkhlaWdodD0kezE1MH0KICAgICAgICAgICAgLnBsYWNlaG9sZGVyPSR7IlF1aWNrIG5vdGUuLi4ifQogICAgICAgICAgICAuc2hvd1dvcmRDb3VudD0keyExfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1yaWNodGV4dD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcmljaHRleHQgCiAgICAgICAgICAgIC5sYWJlbD0keyJFeHRlbmRlZCBDb250ZW50In0gCiAgICAgICAgICAgIC5taW5IZWlnaHQ9JHszMDB9CiAgICAgICAgICAgIC5wbGFjZWhvbGRlcj0keyJXcml0ZSB5b3VyIGV4dGVuZGVkIGNvbnRlbnQgaGVyZS4uLiJ9CiAgICAgICAgICAgIC5zaG93V29yZENvdW50PSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXJpY2h0ZXh0PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNC4gQ29kZSBFeGFtcGxlcyJ9IC5zdWJ0aXRsZT0keyJFZGl0b3IgcHJlLWZpbGxlZCB3aXRoIGNvZGUgZXhhbXBsZXMifT4KICAgICAgICA8ZGVlcy1pbnB1dC1yaWNodGV4dCAKICAgICAgICAgIC5sYWJlbD0keyJUZWNobmljYWwgRG9jdW1lbnRhdGlvbiJ9IAogICAgICAgICAgLnZhbHVlPSR7JzxoMj5JbnN0YWxsYXRpb24gR3VpZGU8L2gyPjxwPlRvIGluc3RhbGwgdGhlIHBhY2thZ2UsIHJ1biB0aGUgZm9sbG93aW5nIGNvbW1hbmQ6PC9wPjxwcmU+PGNvZGU+bnBtIGluc3RhbGwgQGRlc2lnbi5lc3RhdGUvZGVlcy1jYXRhbG9nPC9jb2RlPjwvcHJlPjxwPlRoZW4gaW1wb3J0IHRoZSBjb21wb25lbnQgaW4geW91ciBUeXBlU2NyaXB0IGZpbGU6PC9wPjxwcmU+PGNvZGU+aW1wb3J0IHsgRGVlc0lucHV0UmljaHRleHQgfSBmcm9tICJAZGVzaWduLmVzdGF0ZS9kZWVzLWNhdGFsb2ciOzwvY29kZT48L3ByZT48cD5Zb3UgY2FuIG5vdyB1c2UgdGhlIDxjb2RlPiZsdDtkZWVzLWlucHV0LXJpY2h0ZXh0Jmd0OzwvY29kZT4gZWxlbWVudCBpbiB5b3VyIHRlbXBsYXRlcy48L3A+J30KICAgICAgICAgIC5taW5IZWlnaHQ9JHsyNTB9CiAgICAgICAgICAuc2hvd1dvcmRDb3VudD0keyEwfQogICAgICAgID48L2RlZXMtaW5wdXQtcmljaHRleHQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgICAgCiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI1LiBEaXNhYmxlZCBTdGF0ZSJ9IC5zdWJ0aXRsZT0keyJSZWFkLW9ubHkgcmljaCB0ZXh0IGNvbnRlbnQifT4KICAgICAgICA8ZGVlcy1pbnB1dC1yaWNodGV4dCAKICAgICAgICAgIC5sYWJlbD0keyJQdWJsaXNoZWQgQXJ0aWNsZSAoUmVhZCBPbmx5KSJ9IAogICAgICAgICAgLnZhbHVlPSR7JzxoMj5UaGUgRnV0dXJlIG9mIFdlYiBDb21wb25lbnRzPC9oMj48cD5XZWIgQ29tcG9uZW50cyBoYXZlIHJldm9sdXRpb25pemVkIGhvdyB3ZSBidWlsZCBtb2Rlcm4gd2ViIGFwcGxpY2F0aW9ucy4uLjwvcD48YmxvY2txdW90ZT48cD4iVGhlIGZ1dHVyZSBvZiB3ZWIgZGV2ZWxvcG1lbnQgbGllcyBpbiByZXVzYWJsZSwgZW5jYXBzdWxhdGVkIGNvbXBvbmVudHMuIjwvcD48L2Jsb2NrcXVvdGU+J30KICAgICAgICAgIC5kaXNhYmxlZD0keyEwfQogICAgICAgICAgLnNob3dXb3JkQ291bnQ9JHshMH0KICAgICAgICA+PC9kZWVzLWlucHV0LXJpY2h0ZXh0PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICAgIAogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNi4gSW50ZXJhY3RpdmUgRGVtbyJ9IC5zdWJ0aXRsZT0keyJUeXBlIGluIHRoZSBlZGl0b3IgYmVsb3cgYW5kIHNlZSB0aGUgSFRNTCBvdXRwdXQifT4KICAgICAgICA8ZGVlcy1pbnB1dC1yaWNodGV4dCAKICAgICAgICAgIGlkPSJpbnRlcmFjdGl2ZS1lZGl0b3IiCiAgICAgICAgICAubGFiZWw9JHsiVHJ5IGl0IHlvdXJzZWxmIn0gCiAgICAgICAgICAucGxhY2Vob2xkZXI9JHsiVHlwZSBzb21ldGhpbmcgaGVyZS4uLiJ9CiAgICAgICAgICAuc2hvd1dvcmRDb3VudD0keyEwfQogICAgICAgICAgQGNoYW5nZT0ke2E9PntsZXQgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjb3V0cHV0LXByZXZpZXciKTtlJiYoZS50ZXh0Q29udGVudD1hLmRldGFpbC52YWx1ZSl9fQogICAgICAgID48L2RlZXMtaW5wdXQtcmljaHRleHQ+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ib3V0cHV0LXByZXZpZXciIGlkPSJvdXRwdXQtcHJldmlldyI+CiAgICAgICAgICA8ZW0+SFRNTCBvdXRwdXQgd2lsbCBhcHBlYXIgaGVyZS4uLjwvZW0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBpbGEsb2xhPWYoKCk9PntsZSgpO1NyKCk7UWUoKTtpbGE9W0VlLC4uLnd0LmJhc2VTdHlsZXMsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZm9udC1mYW1pbHk6IEludGVyLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgfQoKICAgICAgLmlucHV0LXdyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmxhYmVsIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIHsKICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlOmhvdmVyOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpOwogICAgICB9CgogICAgICBkZWVzLXRpbGUuZm9jdXNlZDo6cGFydChvdXRlcikgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk4JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSAvIDAuMDUpIiwiaHNsKDAgMCUgOTglIC8gMC4wNSkiKX07CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItdG9vbGJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDEycHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYnV0dG9uIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLWJ1dHRvbi5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMCAwJSAzLjklKSIpfTsKICAgICAgfQoKICAgICAgLnRvb2xiYXItYnV0dG9uOmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLnRvb2xiYXItZGl2aWRlciB7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgbWFyZ2luOiAwIDRweDsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICBtaW4taGVpZ2h0OiAxMDAlOwogICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgcCB7CiAgICAgICAgbWFyZ2luOiAwLjVlbSAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIHA6Zmlyc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgcDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIGgxIHsKICAgICAgICBmb250LXNpemU6IDJlbTsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICBtYXJnaW46IDFlbSAwIDAuNWVtIDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBoMiB7CiAgICAgICAgZm9udC1zaXplOiAxLjVlbTsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgICBtYXJnaW46IDFlbSAwIDAuNWVtIDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBoMyB7CiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07CiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CiAgICAgICAgbWFyZ2luOiAxZW0gMCAwLjVlbSAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgdWwsCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3Igb2wgewogICAgICAgIHBhZGRpbmctbGVmdDogMS41ZW07CiAgICAgICAgbWFyZ2luOiAwLjVlbSAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIGxpIHsKICAgICAgICBtYXJnaW46IDAuMjVlbSAwOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIGJsb2NrcXVvdGUgewogICAgICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgbWFyZ2luOiAxZW0gMDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgY29kZSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy10ZXJ0aWFyeSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIHBhZGRpbmc6IDAuMmVtIDAuNGVtOwogICAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZWwgT25lIE1vbm8nLCAnRmlyYSBDb2RlJywgJ1NGIE1vbm8nLCBNb25hY28sICdDYXNjYWRpYSBDb2RlJywgJ1JvYm90byBNb25vJywgQ29uc29sYXMsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDAuOWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCAuUHJvc2VNaXJyb3IgcHJlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMy45JSkiLCJoc2woMCAwJSA5OCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTglKSIsImhzbCgwIDAlIDMuOSUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAxZW07CiAgICAgICAgbWFyZ2luOiAxZW0gMDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAuZWRpdG9yLWNvbnRlbnQgLlByb3NlTWlycm9yIHByZSBjb2RlIHsKICAgICAgICBiYWNrZ3JvdW5kOiBub25lOwogICAgICAgIGNvbG9yOiBpbmhlcml0OwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMDsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBhIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLmVkaXRvci1jb250ZW50IC5Qcm9zZU1pcnJvciBhOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA0MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNjkuOCUpIil9OwogICAgICB9CgogICAgICAuZWRpdG9yLWZvb3RlciB7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAud29yZC1jb3VudCB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMTAwJTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDZweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgIH0KCiAgICAgIC5saW5rLWlucHV0LnNob3cgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAubGluay1pbnB1dCBpbnB1dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICB9CgogICAgICAubGluay1pbnB1dCBpbnB1dDpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklIC8gMC4wNSkiLCJoc2woMCAwJSA5OCUgLyAwLjA1KSIpfTsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQtYnV0dG9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgIH0KCiAgICAgIC5saW5rLWlucHV0LWJ1dHRvbnMgYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5saW5rLWlucHV0LWJ1dHRvbnMgYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAubGluay1pbnB1dC1idXR0b25zIGJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgMy45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgLmxpbmstaW5wdXQtYnV0dG9ucyBidXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDE1JSkiLCJoc2woMCAwJSA5My45JSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTUlKSIsImhzbCgwIDAlIDkzLjklKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgZGVlcy10aWxlIHsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgOmhvc3QoW2Rpc2FibGVkXSkgLnRvb2xiYXItYnV0dG9uLAogICAgICA6aG9zdChbZGlzYWJsZWRdKSAuZWRpdG9yLWNvbnRlbnQgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICBgXX0pO3ZhciBubGEsbGxhPWYoKCk9PntsZSgpO25sYT1zKGE9PndgCiAgICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgICAke2EubGFiZWw/d2A8bGFiZWwgY2xhc3M9ImxhYmVsIj4ke2EubGFiZWx9PC9sYWJlbD5gOiIifQogICAgICAgICAgPGRlZXMtdGlsZSBjbGFzcz0iJHthLmVkaXRvcj8uaXNGb2N1c2VkPyJmb2N1c2VkIjoiIn0iIHN0eWxlPSItLW1pbi1oZWlnaHQ6ICR7YS5taW5IZWlnaHR9cHgiPgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImVkaXRvci10b29sYmFyIj4KICAgICAgICAgICAgICAke2EucmVuZGVyVG9vbGJhcigpfQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxpbmstaW5wdXQgJHthLnNob3dMaW5rSW5wdXQ/InNob3ciOiIifSI+CiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idXJsIiBwbGFjZWhvbGRlcj0iRW50ZXIgVVJMLi4uIiBAa2V5ZG93bj0ke2EuaGFuZGxlTGlua0lucHV0S2V5ZG93bn0gLz4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxpbmstaW5wdXQtYnV0dG9ucyI+CiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InByaW1hcnkiIEBjbGljaz0ke2Euc2F2ZUxpbmt9PlNhdmU8L2J1dHRvbj4KICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBAY2xpY2s9JHthLnJlbW92ZUxpbmt9PlJlbW92ZTwvYnV0dG9uPgogICAgICAgICAgICAgICAgICA8YnV0dG9uIEBjbGljaz0ke2EuaGlkZUxpbmtJbnB1dH0+Q2FuY2VsPC9idXR0b24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVkaXRvci1jb250ZW50Ij48L2Rpdj4KICAgICAgICAgICAgJHthLnNob3dXb3JkQ291bnQ/d2AKICAgICAgICAgICAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJlZGl0b3ItZm9vdGVyIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0id29yZC1jb3VudCI+JHthLndvcmRDb3VudH0gd29yZCR7YS53b3JkQ291bnQhPT0xPyJzIjoiIn08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGVlcy10aWxlPgogICAgICAgICAgJHthLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgICAgPC9kaXY+CiAgICAgIGAsInJlbmRlclJpY2h0ZXh0Iil9KTt2YXIgZDUsdG4sQnNlLEZzZT1mKCgpPT57U3IoKTtzbGEoKTtvbGEoKTtsbGEoKTt2YSgpO2xlKCk7X2MoKTtLcigpO2Q1PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx0bj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sQnNlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1pbnB1dC1yaWNodGV4dCIpXSxlLHQ9W10scixpPXd0LG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdO3ZhciBPPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRSaWNodGV4dCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBUPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHg9WyQoe3R5cGU6TnVtYmVyfSldLHk9W0soKV0sTj1bSygpXSxkNSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJ2YWx1ZSJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLnZhbHVlLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UudmFsdWU9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxuLGwpLGQ1KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGxhY2Vob2xkZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+InBsYWNlaG9sZGVyImluIEUsImhhcyIpLGdldDpzKEU9PkUucGxhY2Vob2xkZXIsImdldCIpLHNldDpzKChFLEIpPT57RS5wbGFjZWhvbGRlcj1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGMscCksZDUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93V29yZENvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJzaG93V29yZENvdW50ImluIEUsImhhcyIpLGdldDpzKEU9PkUuc2hvd1dvcmRDb3VudCwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLnNob3dXb3JkQ291bnQ9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxtLHYpLGQ1KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWluSGVpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJtaW5IZWlnaHQiaW4gRSwiaGFzIiksZ2V0OnMoRT0+RS5taW5IZWlnaHQsImdldCIpLHNldDpzKChFLEIpPT57RS5taW5IZWlnaHQ9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxiLGcpLGQ1KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0xpbmtJbnB1dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4ic2hvd0xpbmtJbnB1dCJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLnNob3dMaW5rSW5wdXQsImdldCIpLHNldDpzKChFLEIpPT57RS5zaG93TGlua0lucHV0PUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sayxDKSxkNSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndvcmRDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4id29yZENvdW50ImluIEUsImhhcyIpLGdldDpzKEU9PkUud29yZENvdW50LCJnZXQiKSxzZXQ6cygoRSxCKT0+e0Uud29yZENvdW50PUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyx6KSxkNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpUfSxudWxsLHQpLE89cj1lLnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPXJsYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIklucHV0Il07I2U9dG4odGhpcyxuLCIiKTtnZXQgdmFsdWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdmFsdWUoVCl7dGhpcy4jZT1UfSN0PSh0bih0aGlzLGwpLHRuKHRoaXMsYywiIikpO2dldCBwbGFjZWhvbGRlcigpe3JldHVybiB0aGlzLiN0fXNldCBwbGFjZWhvbGRlcihUKXt0aGlzLiN0PVR9I2E9KHRuKHRoaXMscCksdG4odGhpcyxtLCEwKSk7Z2V0IHNob3dXb3JkQ291bnQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd1dvcmRDb3VudChUKXt0aGlzLiNhPVR9I3I9KHRuKHRoaXMsdiksdG4odGhpcyxiLDIwMCkpO2dldCBtaW5IZWlnaHQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbWluSGVpZ2h0KFQpe3RoaXMuI3I9VH0jcz0odG4odGhpcyxnKSx0bih0aGlzLGssITEpKTtnZXQgc2hvd0xpbmtJbnB1dCgpe3JldHVybiB0aGlzLiNzfXNldCBzaG93TGlua0lucHV0KFQpe3RoaXMuI3M9VH0jaT0odG4odGhpcyxDKSx0bih0aGlzLF8sMCkpO2dldCB3b3JkQ291bnQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgd29yZENvdW50KFQpe3RoaXMuI2k9VH1lZGl0b3JFbGVtZW50PXRuKHRoaXMseik7bGlua0lucHV0RWxlbWVudDt0aXB0YXBCdW5kbGU9bnVsbDtlZGl0b3I7c3RhdGljIHN0eWxlcz1pbGE7cmVuZGVyKCl7cmV0dXJuIG5sYSh0aGlzKX1yZW5kZXJUb29sYmFyKCl7bGV0IFQ9dGhpcy5nZXRUb29sYmFyQnV0dG9ucygpO3JldHVybiB3YAogICAgICAke1QubWFwKEU9PkUuaXNEaXZpZGVyP3dgPGRpdiBjbGFzcz0idG9vbGJhci1kaXZpZGVyIj48L2Rpdj5gOndgCiAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiAke0UuaXNBY3RpdmU/LigpPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgQGNsaWNrPSR7RS5hY3Rpb259CiAgICAgICAgICAgIHRpdGxlPSR7RS50aXRsZX0KICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5kaXNhYmxlZHx8IXRoaXMuZWRpdG9yfQogICAgICAgICAgPgogICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7RS5pY29ufT48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIGApfQogICAgYH1nZXRUb29sYmFyQnV0dG9ucygpe3JldHVybiB0aGlzLmVkaXRvcj9be25hbWU6ImJvbGQiLGljb246Imx1Y2lkZTpib2xkIix0aXRsZToiQm9sZCAoQ3RybCtCKSIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVCb2xkKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJib2xkIiksImlzQWN0aXZlIil9LHtuYW1lOiJpdGFsaWMiLGljb246Imx1Y2lkZTppdGFsaWMiLHRpdGxlOiJJdGFsaWMgKEN0cmwrSSkiLGFjdGlvbjpzKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlSXRhbGljKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJpdGFsaWMiKSwiaXNBY3RpdmUiKX0se25hbWU6InVuZGVybGluZSIsaWNvbjoibHVjaWRlOnVuZGVybGluZSIsdGl0bGU6IlVuZGVybGluZSAoQ3RybCtVKSIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVVbmRlcmxpbmUoKS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6cygoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoInVuZGVybGluZSIpLCJpc0FjdGl2ZSIpfSx7bmFtZToic3RyaWtlIixpY29uOiJsdWNpZGU6c3RyaWtldGhyb3VnaCIsdGl0bGU6IlN0cmlrZXRocm91Z2giLGFjdGlvbjpzKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlU3RyaWtlKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJzdHJpa2UiKSwiaXNBY3RpdmUiKX0se25hbWU6ImRpdmlkZXIxIix0aXRsZToiIixpc0RpdmlkZXI6ITB9LHtuYW1lOiJoMSIsaWNvbjoibHVjaWRlOmhlYWRpbmcxIix0aXRsZToiSGVhZGluZyAxIixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUhlYWRpbmcoe2xldmVsOjF9KS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6cygoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoImhlYWRpbmciLHtsZXZlbDoxfSksImlzQWN0aXZlIil9LHtuYW1lOiJoMiIsaWNvbjoibHVjaWRlOmhlYWRpbmcyIix0aXRsZToiSGVhZGluZyAyIixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUhlYWRpbmcoe2xldmVsOjJ9KS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6cygoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoImhlYWRpbmciLHtsZXZlbDoyfSksImlzQWN0aXZlIil9LHtuYW1lOiJoMyIsaWNvbjoibHVjaWRlOmhlYWRpbmczIix0aXRsZToiSGVhZGluZyAzIixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUhlYWRpbmcoe2xldmVsOjN9KS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6cygoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoImhlYWRpbmciLHtsZXZlbDozfSksImlzQWN0aXZlIil9LHtuYW1lOiJkaXZpZGVyMiIsdGl0bGU6IiIsaXNEaXZpZGVyOiEwfSx7bmFtZToiYnVsbGV0TGlzdCIsaWNvbjoibHVjaWRlOmxpc3QiLHRpdGxlOiJCdWxsZXQgTGlzdCIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVCdWxsZXRMaXN0KCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJidWxsZXRMaXN0IiksImlzQWN0aXZlIil9LHtuYW1lOiJvcmRlcmVkTGlzdCIsaWNvbjoibHVjaWRlOmxpc3RPcmRlcmVkIix0aXRsZToiTnVtYmVyZWQgTGlzdCIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVPcmRlcmVkTGlzdCgpLnJ1bigpLCJhY3Rpb24iKSxpc0FjdGl2ZTpzKCgpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSgib3JkZXJlZExpc3QiKSwiaXNBY3RpdmUiKX0se25hbWU6ImJsb2NrcXVvdGUiLGljb246Imx1Y2lkZTpxdW90ZSIsdGl0bGU6IlF1b3RlIixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnRvZ2dsZUJsb2NrcXVvdGUoKS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6cygoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoImJsb2NrcXVvdGUiKSwiaXNBY3RpdmUiKX0se25hbWU6ImNvZGUiLGljb246Imx1Y2lkZTpjb2RlIix0aXRsZToiQ29kZSIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS50b2dnbGVDb2RlKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJjb2RlIiksImlzQWN0aXZlIil9LHtuYW1lOiJjb2RlQmxvY2siLGljb246Imx1Y2lkZTpmaWxlQ29kZSIsdGl0bGU6IkNvZGUgQmxvY2siLGFjdGlvbjpzKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkudG9nZ2xlQ29kZUJsb2NrKCkucnVuKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJjb2RlQmxvY2siKSwiaXNBY3RpdmUiKX0se25hbWU6ImRpdmlkZXIzIix0aXRsZToiIixpc0RpdmlkZXI6ITB9LHtuYW1lOiJsaW5rIixpY29uOiJsdWNpZGU6bGluayIsdGl0bGU6IkFkZCBMaW5rIixhY3Rpb246cygoKT0+dGhpcy50b2dnbGVMaW5rKCksImFjdGlvbiIpLGlzQWN0aXZlOnMoKCk9PnRoaXMuZWRpdG9yLmlzQWN0aXZlKCJsaW5rIiksImlzQWN0aXZlIil9LHtuYW1lOiJhbGlnbkxlZnQiLGljb246Imx1Y2lkZTphbGlnbkxlZnQiLHRpdGxlOiJBbGlnbiBMZWZ0IixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnNldFRleHRBbGlnbigibGVmdCIpLnJ1bigpLCJhY3Rpb24iKSxpc0FjdGl2ZTpzKCgpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSh7dGV4dEFsaWduOiJsZWZ0In0pLCJpc0FjdGl2ZSIpfSx7bmFtZToiYWxpZ25DZW50ZXIiLGljb246Imx1Y2lkZTphbGlnbkNlbnRlciIsdGl0bGU6IkFsaWduIENlbnRlciIsYWN0aW9uOnMoKCk9PnRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS5zZXRUZXh0QWxpZ24oImNlbnRlciIpLnJ1bigpLCJhY3Rpb24iKSxpc0FjdGl2ZTpzKCgpPT50aGlzLmVkaXRvci5pc0FjdGl2ZSh7dGV4dEFsaWduOiJjZW50ZXIifSksImlzQWN0aXZlIil9LHtuYW1lOiJhbGlnblJpZ2h0IixpY29uOiJsdWNpZGU6YWxpZ25SaWdodCIsdGl0bGU6IkFsaWduIFJpZ2h0IixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnNldFRleHRBbGlnbigicmlnaHQiKS5ydW4oKSwiYWN0aW9uIiksaXNBY3RpdmU6cygoKT0+dGhpcy5lZGl0b3IuaXNBY3RpdmUoe3RleHRBbGlnbjoicmlnaHQifSksImlzQWN0aXZlIil9LHtuYW1lOiJkaXZpZGVyNCIsdGl0bGU6IiIsaXNEaXZpZGVyOiEwfSx7bmFtZToidW5kbyIsaWNvbjoibHVjaWRlOnVuZG8iLHRpdGxlOiJVbmRvIChDdHJsK1opIixhY3Rpb246cygoKT0+dGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnVuZG8oKS5ydW4oKSwiYWN0aW9uIil9LHtuYW1lOiJyZWRvIixpY29uOiJsdWNpZGU6cmVkbyIsdGl0bGU6IlJlZG8gKEN0cmwrWSkiLGFjdGlvbjpzKCgpPT50aGlzLmVkaXRvci5jaGFpbigpLmZvY3VzKCkucmVkbygpLnJ1bigpLCJhY3Rpb24iKX1dOltdfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2F3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy50aXB0YXBCdW5kbGU9YXdhaXQgUHMuZ2V0SW5zdGFuY2UoKS5sb2FkVGlwdGFwKCksdGhpcy5lZGl0b3JFbGVtZW50PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLWNvbnRlbnQiKSx0aGlzLmxpbmtJbnB1dEVsZW1lbnQ9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5saW5rLWlucHV0IGlucHV0IiksdGhpcy5pbml0aWFsaXplRWRpdG9yKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCl9aW5pdGlhbGl6ZUVkaXRvcigpe2lmKHRoaXMuZGlzYWJsZWR8fCF0aGlzLnRpcHRhcEJ1bmRsZSlyZXR1cm47bGV0e0VkaXRvcjpULFN0YXJ0ZXJLaXQ6RSxVbmRlcmxpbmU6QixUZXh0QWxpZ246TSxMaW5rOlMsVHlwb2dyYXBoeTpQfT10aGlzLnRpcHRhcEJ1bmRsZTt0aGlzLmVkaXRvcj1uZXcgVCh7ZWxlbWVudDp0aGlzLmVkaXRvckVsZW1lbnQsZXh0ZW5zaW9uczpbRS5jb25maWd1cmUoe2hlYWRpbmc6e2xldmVsczpbMSwyLDNdfX0pLEIuY29uZmlndXJlKHt9KSxNLmNvbmZpZ3VyZSh7dHlwZXM6WyJoZWFkaW5nIiwicGFyYWdyYXBoIl19KSxTLmNvbmZpZ3VyZSh7b3Blbk9uQ2xpY2s6ITEsSFRNTEF0dHJpYnV0ZXM6e2NsYXNzOiJlZGl0b3ItbGluayJ9fSksUC5jb25maWd1cmUoe30pXSxjb250ZW50OnRoaXMudmFsdWV8fCh0aGlzLnBsYWNlaG9sZGVyP2A8cD4ke3RoaXMucGxhY2Vob2xkZXJ9PC9wPmA6IiIpLG9uVXBkYXRlOnMoKHtlZGl0b3I6QX0pPT57dGhpcy52YWx1ZT1BLmdldEhUTUwoKSx0aGlzLnVwZGF0ZVdvcmRDb3VudCgpLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMudmFsdWUpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImlucHV0Iix7ZGV0YWlsOnt2YWx1ZTp0aGlzLnZhbHVlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNoYW5nZSIse2RldGFpbDp7dmFsdWU6dGhpcy52YWx1ZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX0sIm9uVXBkYXRlIiksb25TZWxlY3Rpb25VcGRhdGU6cygoKT0+e3RoaXMucmVxdWVzdFVwZGF0ZSgpfSwib25TZWxlY3Rpb25VcGRhdGUiKSxvbkZvY3VzOnMoKCk9Pnt0aGlzLnJlcXVlc3RVcGRhdGUoKX0sIm9uRm9jdXMiKSxvbkJsdXI6cygoKT0+e3RoaXMucmVxdWVzdFVwZGF0ZSgpfSwib25CbHVyIil9KSx0aGlzLnVwZGF0ZVdvcmRDb3VudCgpfXVwZGF0ZVdvcmRDb3VudCgpe2lmKCF0aGlzLmVkaXRvcilyZXR1cm47bGV0IFQ9dGhpcy5lZGl0b3IuZ2V0VGV4dCgpO3RoaXMud29yZENvdW50PVQudHJpbSgpP1QudHJpbSgpLnNwbGl0KC9ccysvKS5sZW5ndGg6MH10b2dnbGVMaW5rKCl7aWYodGhpcy5lZGl0b3IpaWYodGhpcy5lZGl0b3IuaXNBY3RpdmUoImxpbmsiKSl7bGV0IFQ9dGhpcy5lZGl0b3IuZ2V0QXR0cmlidXRlcygibGluayIpLmhyZWY7dGhpcy5zaG93TGlua0lucHV0PSEwLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMubGlua0lucHV0RWxlbWVudCYmKHRoaXMubGlua0lucHV0RWxlbWVudC52YWx1ZT1UfHwiIix0aGlzLmxpbmtJbnB1dEVsZW1lbnQuZm9jdXMoKSx0aGlzLmxpbmtJbnB1dEVsZW1lbnQuc2VsZWN0KCkpfSl9ZWxzZSB0aGlzLnNob3dMaW5rSW5wdXQ9ITAscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5saW5rSW5wdXRFbGVtZW50JiYodGhpcy5saW5rSW5wdXRFbGVtZW50LnZhbHVlPSIiLHRoaXMubGlua0lucHV0RWxlbWVudC5mb2N1cygpKX0pfXNhdmVMaW5rKCl7aWYoIXRoaXMuZWRpdG9yfHwhdGhpcy5saW5rSW5wdXRFbGVtZW50KXJldHVybjtsZXQgVD10aGlzLmxpbmtJbnB1dEVsZW1lbnQudmFsdWU7VCYmdGhpcy5lZGl0b3IuY2hhaW4oKS5mb2N1cygpLnNldExpbmsoe2hyZWY6VH0pLnJ1bigpLHRoaXMuaGlkZUxpbmtJbnB1dCgpfXJlbW92ZUxpbmsoKXt0aGlzLmVkaXRvciYmKHRoaXMuZWRpdG9yLmNoYWluKCkuZm9jdXMoKS51bnNldExpbmsoKS5ydW4oKSx0aGlzLmhpZGVMaW5rSW5wdXQoKSl9aGlkZUxpbmtJbnB1dCgpe3RoaXMuc2hvd0xpbmtJbnB1dD0hMSx0aGlzLmVkaXRvcj8uY29tbWFuZHMuZm9jdXMoKX1oYW5kbGVMaW5rSW5wdXRLZXlkb3duKFQpe1Qua2V5PT09IkVudGVyIj8oVC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc2F2ZUxpbmsoKSk6VC5rZXk9PT0iRXNjYXBlIiYmKFQucHJldmVudERlZmF1bHQoKSx0aGlzLmhpZGVMaW5rSW5wdXQoKSl9c2V0VmFsdWUoVCl7dGhpcy52YWx1ZT1ULHRoaXMuZWRpdG9yJiZUIT09dGhpcy5lZGl0b3IuZ2V0SFRNTCgpJiZ0aGlzLmVkaXRvci5jb21tYW5kcy5zZXRDb250ZW50KFQpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9Y2xlYXIoKXt0aGlzLnNldFZhbHVlKCIiKX1mb2N1cygpe3RoaXMuZWRpdG9yPy5jb21tYW5kcy5mb2N1cygpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmVkaXRvciYmdGhpcy5lZGl0b3IuZGVzdHJveSgpfXN0YXRpY3t0bihyLHQpfX07cmV0dXJuIE89cn0pKCl9KTt2YXIgY2xhLGRsYT1mKCgpPT57YVFlKCk7VnMoKTtsZSgpO0lhKCk7Y2xhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgJHtRYAogICAgICAuZGVtb1dyYXBwZXIgewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAzMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgNSUpIil9OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgIH0KICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBtYXgtd2lkdGg6IDEyMDBweDsKICAgICAgICBtYXJnaW46IDAgYXV0bzsKICAgICAgfQogICAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0OHB4OwogICAgICB9CiAgICAgIC5kZW1vLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5JSkiLCJoc2woMCAwJSA5NSUpIil9OwogICAgICB9CiAgICAgIC5kZW1vLWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQogICAgICAudGhlbWUtdG9nZ2xlIHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAxNnB4OwogICAgICAgIHJpZ2h0OiAxNnB4OwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgIH0KICAgIGB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vV3JhcHBlciI+CiAgICA8ZGVlcy1idXR0b24gY2xhc3M9InRoZW1lLXRvZ2dsZSIgQGNsaWNrPSR7KCk9Pntkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC50b2dnbGUoImJyaWdodCIpLGRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnRvZ2dsZSgiZGFyayIpfX0+VG9nZ2xlIFRoZW1lPC9kZWVzLWJ1dHRvbj4KICAgIAogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+QmFzaWMgVGFibGUgd2l0aCBBY3Rpb25zPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+QSBzdGFuZGFyZCB0YWJsZSB3aXRoIHJvdyBhY3Rpb25zLCBlZGl0YWJsZSBjZWxscywgYW5kIGNvbnRleHQgbWVudSBzdXBwb3J0LiBEb3VibGUtY2xpY2sgYW55IGNlbGwgdG8gZWRpdC4gVGFiIG1vdmVzIHRvIHRoZSBuZXh0IGVkaXRhYmxlIGNlbGwsIEVudGVyIHRvIHRoZSByb3cgYmVsb3csIEVzYyBjYW5jZWxzLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IkN1cnJlbnQgQWNjb3VudCBTdGF0ZW1lbnQiCiAgICAgICAgICBoZWFkaW5nMj0iQnVucSAtIFBheW1lbnQgQWNjb3VudCAyIC0gQXByaWwgMjAyMSIKICAgICAgICAgIC5jb2x1bW5zPSR7W3trZXk6ImRhdGUiLGhlYWRlcjoiRGF0ZSIsc29ydGFibGU6ITAsZWRpdGFibGU6ITAsZWRpdG9yOiJkYXRlIn0se2tleToiYW1vdW50IixoZWFkZXI6IkFtb3VudCIsZWRpdGFibGU6ITAsZWRpdG9yOiJ0ZXh0In0se2tleToiY2F0ZWdvcnkiLGhlYWRlcjoiQ2F0ZWdvcnkiLGVkaXRhYmxlOiEwLGVkaXRvcjoiZHJvcGRvd24iLGVkaXRvck9wdGlvbnM6e29wdGlvbnM6W3tvcHRpb246Ik9mZmljZSBTdXBwbGllcyIsa2V5OiJvZmZpY2UifSx7b3B0aW9uOiJIYXJkd2FyZSIsa2V5OiJoYXJkd2FyZSJ9LHtvcHRpb246IlNvZnR3YXJlIixrZXk6InNvZnR3YXJlIn0se29wdGlvbjoiVHJhdmVsIixrZXk6InRyYXZlbCJ9XX19LHtrZXk6ImRlc2NyaXB0aW9uIixoZWFkZXI6IkRlc2NyaXB0aW9uIixlZGl0YWJsZTohMH0se2tleToicmVjb25jaWxlZCIsaGVhZGVyOiJPSyIsZWRpdGFibGU6ITAsZWRpdG9yOiJjaGVja2JveCJ9XX0KICAgICAgICAgIEBjZWxsRWRpdD0ke2E9PmNvbnNvbGUubG9nKCJjZWxsRWRpdCIsYS5kZXRhaWwpfQogICAgICAgICAgLmRhdGE9JHtbe2RhdGU6IjIwMjEtMDQtMDEiLGFtb3VudDoiMjQ2NC42NSBcdTIwQUMiLGNhdGVnb3J5OiJvZmZpY2UiLGRlc2NyaXB0aW9uOiJQcmludGluZyBQYXBlciAtIFNUQVBMRVMgQlJFTUVOIixyZWNvbmNpbGVkOiEwfSx7ZGF0ZToiMjAyMS0wNC0wMiIsYW1vdW50OiIxNjUuNjUgXHUyMEFDIixjYXRlZ29yeToiaGFyZHdhcmUiLGRlc2NyaXB0aW9uOiJMb2dpdGVjaCBNb3VzZSAtIGxvZ2kuY29tIE9ubGluZVNob3AiLHJlY29uY2lsZWQ6ITF9LHtkYXRlOiIyMDIxLTA0LTAzIixhbW91bnQ6IjI5OTksMDAgXHUyMEFDIixjYXRlZ29yeToiaGFyZHdhcmUiLGRlc2NyaXB0aW9uOiJNYWNib29rIFBybyAxNmluY2ggLSBBcHBsZS5kZSBPbmxpbmVTaG9wIixyZWNvbmNpbGVkOiExfSx7ZGF0ZToiMjAyMS0wNC0wMSIsYW1vdW50OiIyNDY0LjY1IFx1MjBBQyIsY2F0ZWdvcnk6Im9mZmljZSIsZGVzY3JpcHRpb246Ik9mZmljZS1TdXBwbGllcyAtIFNUQVBMRVMgQlJFTUVOIixyZWNvbmNpbGVkOiEwfSx7ZGF0ZToiMjAyMS0wNC0wMSIsYW1vdW50OiIyNDY0LjY1IFx1MjBBQyIsY2F0ZWdvcnk6Im9mZmljZSIsZGVzY3JpcHRpb246Ik9mZmljZS1TdXBwbGllcyAtIFNUQVBMRVMgQlJFTUVOIixyZWNvbmNpbGVkOiEwfV19CiAgICAgICAgICBkYXRhTmFtZT0idHJhbnNhY3Rpb25zIgogICAgICAgICAgLmRhdGFBY3Rpb25zPSIke1t7bmFtZToidXBsb2FkIixpY29uTmFtZToiYmVsbCIsdXNlVGFibGVCZWhhdmlvdXI6InVwbG9hZCIsdHlwZTpbImluUm93Il0sYWN0aW9uRnVuYzpzKGFzeW5jIGE9PnthbGVydChhLml0ZW0uYW1vdW50KX0sImFjdGlvbkZ1bmMiKX0se25hbWU6InZpc2liaWxpdHkiLGljb25OYW1lOiJjb3B5Iix0eXBlOlsiaW5Sb3ciXSx1c2VUYWJsZUJlaGF2aW91cjoicHJldmlldyIsYWN0aW9uRnVuYzpzKGFzeW5jIGE9Pnt9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJjcmVhdGUgbmV3IixpY29uTmFtZToiaW5zdGFncmFtIix0eXBlOlsiaGVhZGVyIl0sdXNlVGFibGVCZWhhdmlvdXI6InByZXZpZXciLGFjdGlvbkZ1bmM6cyhhc3luYyBhPT57fSwiYWN0aW9uRnVuYyIpfSx7bmFtZToidG8gZ2FsbGVyeSIsaWNvbk5hbWU6Im1lc3NhZ2UiLHR5cGU6WyJmb290ZXIiXSx1c2VUYWJsZUJlaGF2aW91cjoicHJldmlldyIsYWN0aW9uRnVuYzpzKGFzeW5jIGE9Pnt9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJjb3B5IixpY29uTmFtZToiY29weVNvbGlkIix0eXBlOlsiY29udGV4dG1lbnUiLCJpblJvdyJdLGFjdGlvbjpzKGFzeW5jKCk9Pm51bGwsImFjdGlvbiIpfSx7bmFtZToiZWRpdCAoZnJvbSBkZW1vKSIsaWNvbk5hbWU6InBlblRvU3F1YXJlIix0eXBlOlsiY29udGV4dG1lbnUiXSxhY3Rpb246cyhhc3luYygpPT5udWxsLCJhY3Rpb24iKX0se25hbWU6InBhc3RlIixpY29uTmFtZToicGFzdGVTb2xpZCIsdHlwZTpbImNvbnRleHRtZW51Il0sYWN0aW9uOnMoYXN5bmMoKT0+bnVsbCwiYWN0aW9uIil9LHtuYW1lOiJwcmV2aWV3Iix0eXBlOlsiZG91YmxlQ2xpY2siLCJjb250ZXh0bWVudSJdLGljb25OYW1lOiJleWUiLGFjdGlvbkZ1bmM6cyhhc3luYyBhPT4oYWxlcnQoYS5pdGVtLmFtb3VudCksbnVsbCksImFjdGlvbkZ1bmMiKX1dfSIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5UYWJsZSB3aXRoIFZlcnRpY2FsIExpbmVzPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+RW5oYW5jZWQgY29sdW1uIHNlcGFyYXRpb24gZm9yIGJldHRlciBkYXRhIHRyYWNraW5nLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IlByb2R1Y3QgSW52ZW50b3J5IgogICAgICAgICAgaGVhZGluZzI9IkN1cnJlbnQgc3RvY2sgbGV2ZWxzIGFjcm9zcyB3YXJlaG91c2VzIgogICAgICAgICAgLnNob3dWZXJ0aWNhbExpbmVzPSR7ITB9CiAgICAgICAgICAuZGF0YT0ke1t7cHJvZHVjdDonTWFjQm9vayBQcm8gMTYiJyx3YXJlaG91c2VfYToiNDUiLHdhcmVob3VzZV9iOiIzMiIsd2FyZWhvdXNlX2M6IjI4Iix0b3RhbDoiMTA1IixzdGF0dXM6Ilx1MjcxMyBJbiBTdG9jayJ9LHtwcm9kdWN0OiJpUGhvbmUgMTUgUHJvIix3YXJlaG91c2VfYToiMTIwIix3YXJlaG91c2VfYjoiODkiLHdhcmVob3VzZV9jOiIxNTYiLHRvdGFsOiIzNjUiLHN0YXR1czoiXHUyNzEzIEluIFN0b2NrIn0se3Byb2R1Y3Q6IkFpclBvZHMgUHJvIix3YXJlaG91c2VfYToiMCIsd2FyZWhvdXNlX2I6IjEyIix3YXJlaG91c2VfYzoiNSIsdG90YWw6IjE3IixzdGF0dXM6Ilx1MjZBMCBMb3cgU3RvY2sifSx7cHJvZHVjdDoiaVBhZCBBaXIiLHdhcmVob3VzZV9hOiIyMyIsd2FyZWhvdXNlX2I6IjQ1Iix3YXJlaG91c2VfYzoiNjciLHRvdGFsOiIxMzUiLHN0YXR1czoiXHUyNzEzIEluIFN0b2NrIn1dfQogICAgICAgICAgZGF0YU5hbWU9InByb2R1Y3RzIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlRhYmxlIHdpdGggRnVsbCBHcmlkPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+Q29tcGxldGUgZ3JpZCBsaW5lcyBmb3IgbWF4aW11bSByZWFkYWJpbGl0eSBhbmQgc3RydWN0dXJlLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IlNlcnZlciBNb25pdG9yaW5nIERhc2hib2FyZCIKICAgICAgICAgIGhlYWRpbmcyPSJSZWFsLXRpbWUgbWV0cmljcyBhY3Jvc3MgcmVnaW9ucyIKICAgICAgICAgIC5zaG93R3JpZD0keyEwfQogICAgICAgICAgLmRhdGE9JHtbe3NlcnZlcjoiQVBJLTEiLHJlZ2lvbjoiVVMtRWFzdCIsY3B1OiI0NSUiLG1lbW9yeToiNjIlIixkaXNrOiI3OCUiLGxhdGVuY3k6IjEybXMiLHVwdGltZToiOTkuOSUiLHN0YXR1czoiXHV7MUY3RTJ9IEhlYWx0aHkifSx7c2VydmVyOiJBUEktMiIscmVnaW9uOiJFVS1XZXN0IixjcHU6IjM4JSIsbWVtb3J5OiI1NSUiLGRpc2s6IjQ1JSIsbGF0ZW5jeToiMjVtcyIsdXB0aW1lOiI5OS44JSIsc3RhdHVzOiJcdXsxRjdFMn0gSGVhbHRoeSJ9LHtzZXJ2ZXI6IkRCLU1hc3RlciIscmVnaW9uOiJVUy1FYXN0IixjcHU6IjcyJSIsbWVtb3J5OiI4MSUiLGRpc2s6IjkyJSIsbGF0ZW5jeToiOG1zIix1cHRpbWU6IjEwMCUiLHN0YXR1czoiXHV7MUY3RTF9IFdhcm5pbmcifSx7c2VydmVyOiJEQi1SZXBsaWNhIixyZWdpb246IkVVLVdlc3QiLGNwdToiMjMlIixtZW1vcnk6IjM0JSIsZGlzazoiNDUlIixsYXRlbmN5OiIxNW1zIix1cHRpbWU6Ijk5LjclIixzdGF0dXM6Ilx1ezFGN0UyfSBIZWFsdGh5In0se3NlcnZlcjoiQ2FjaGUtMSIscmVnaW9uOiJBUC1Tb3V0aCIsY3B1OiI4OSUiLG1lbW9yeToiOTIlIixkaXNrOiIxMiUiLGxhdGVuY3k6IjEyMG1zIix1cHRpbWU6Ijk4LjUlIixzdGF0dXM6Ilx1ezFGNTM0fSBDcml0aWNhbCJ9XX0KICAgICAgICAgIGRhdGFOYW1lPSJzZXJ2ZXJzIgogICAgICAgICAgLmRhdGFBY3Rpb25zPSIke1t7bmFtZToiU1NIIENvbm5lY3QiLGljb25OYW1lOiJsdWNpZGU6dGVybWluYWwiLHR5cGU6WyJpblJvdyJdLGFjdGlvbkZ1bmM6cyhhc3luYyBhPT57Y29uc29sZS5sb2coIkNvbm5lY3RpbmcgdG86IixhLml0ZW0uc2VydmVyKX0sImFjdGlvbkZ1bmMiKX0se25hbWU6IlZpZXcgTG9ncyIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlLXRleHQiLHR5cGU6WyJpblJvdyIsImNvbnRleHRtZW51Il0sYWN0aW9uRnVuYzpzKGFzeW5jIGE9Pntjb25zb2xlLmxvZygiVmlld2luZyBsb2dzIGZvcjoiLGEuaXRlbS5zZXJ2ZXIpfSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiUmVzdGFydCBTZXJ2ZXIiLGljb25OYW1lOiJsdWNpZGU6cmVmcmVzaC1jdyIsdHlwZTpbImNvbnRleHRtZW51Il0sYWN0aW9uRnVuYzpzKGFzeW5jIGE9Pntjb25zb2xlLmxvZygiUmVzdGFydGluZzoiLGEuaXRlbS5zZXJ2ZXIpfSwiYWN0aW9uRnVuYyIpfV19IgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlRhYmxlIHdpdGggSG9yaXpvbnRhbCBMaW5lcyBPbmx5PC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+RW1waGFzaXMgb24gcm93IHNlcGFyYXRpb24gd2l0aG91dCBjb2x1bW4gZGl2aWRlcnMuPC9wPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iU2FsZXMgUGVyZm9ybWFuY2UiCiAgICAgICAgICBoZWFkaW5nMj0iVG9wIHBlcmZvcm1lcnMgdGhpcyBxdWFydGVyIgogICAgICAgICAgLnNob3dIb3Jpem9udGFsTGluZXM9JHshMH0KICAgICAgICAgIC5zaG93VmVydGljYWxMaW5lcz0keyExfQogICAgICAgICAgLmRhdGE9JHtbe3NhbGVzcGVyc29uOiJFbWlseSBKb2huc29uIixyZWdpb246Ik5vcnRoIEFtZXJpY2EiLGRlYWxzX2Nsb3NlZDoiNDIiLHJldmVudWU6IiQxLjJNIixxdW90YV9hY2hpZXZlbWVudDoiMTI4JSIscmF0aW5nOiJcdTJCNTBcdTJCNTBcdTJCNTBcdTJCNTBcdTJCNTAifSx7c2FsZXNwZXJzb246Ik1pY2hhZWwgQ2hlbiIscmVnaW9uOiJBc2lhIFBhY2lmaWMiLGRlYWxzX2Nsb3NlZDoiMzgiLHJldmVudWU6IiQ5ODBLIixxdW90YV9hY2hpZXZlbWVudDoiMTE1JSIscmF0aW5nOiJcdTJCNTBcdTJCNTBcdTJCNTBcdTJCNTBcdTJCNTAifSx7c2FsZXNwZXJzb246IlNhcmFoIFdpbGxpYW1zIixyZWdpb246IkV1cm9wZSIsZGVhbHNfY2xvc2VkOiIzNSIscmV2ZW51ZToiJDg3NUsiLHF1b3RhX2FjaGlldmVtZW50OiIxMDglIixyYXRpbmc6Ilx1MkI1MFx1MkI1MFx1MkI1MFx1MkI1MCJ9LHtzYWxlc3BlcnNvbjoiRGF2aWQgR2FyY2lhIixyZWdpb246IkxhdGluIEFtZXJpY2EiLGRlYWxzX2Nsb3NlZDoiMzEiLHJldmVudWU6IiQ3NTBLIixxdW90YV9hY2hpZXZlbWVudDoiOTUlIixyYXRpbmc6Ilx1MkI1MFx1MkI1MFx1MkI1MFx1MkI1MCJ9XX0KICAgICAgICAgIGRhdGFOYW1lPSJzYWxlcyByZXBzIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlNpbXBsZSBUYWJsZSAoTm8gR3JpZCk8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5DbGVhbiwgbWluaW1hbCBkZXNpZ24gd2l0aG91dCBncmlkIGxpbmVzLiBTZXQgc2hvd0dyaWQgdG8gZmFsc2UgdG8gZGlzYWJsZSB0aGUgZGVmYXVsdCBncmlkLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IlRlYW0gTWVtYmVycyIKICAgICAgICAgIGhlYWRpbmcyPSJFbmdpbmVlcmluZyBEZXBhcnRtZW50IgogICAgICAgICAgLnNob3dHcmlkPSR7ITF9CiAgICAgICAgICAuZGF0YT0ke1t7bmFtZToiQWxpY2UgSm9obnNvbiIscm9sZToiTGVhZCBFbmdpbmVlciIsZW1haWw6ImFsaWNlQGNvbXBhbnkuY29tIixsb2NhdGlvbjoiU2FuIEZyYW5jaXNjbyIsam9pbmVkOiIyMDIwLTAzLTE1In0se25hbWU6IkJvYiBTbWl0aCIscm9sZToiU2VuaW9yIERldmVsb3BlciIsZW1haWw6ImJvYkBjb21wYW55LmNvbSIsbG9jYXRpb246Ik5ldyBZb3JrIixqb2luZWQ6IjIwMTktMDctMjIifSx7bmFtZToiQ2hhcmxpZSBEYXZpcyIscm9sZToiRGV2T3BzIEVuZ2luZWVyIixlbWFpbDoiY2hhcmxpZUBjb21wYW55LmNvbSIsbG9jYXRpb246IkxvbmRvbiIsam9pbmVkOiIyMDIxLTAxLTEwIn0se25hbWU6IkRpYW5hIE1hcnRpbmV6Iixyb2xlOiJGcm9udGVuZCBEZXZlbG9wZXIiLGVtYWlsOiJkaWFuYUBjb21wYW55LmNvbSIsbG9jYXRpb246IkJhcmNlbG9uYSIsam9pbmVkOiIyMDIyLTA1LTE4In1dfQogICAgICAgICAgZGF0YU5hbWU9InRlYW0gbWVtYmVycyIKICAgICAgICA+PC9kZWVzLXRhYmxlPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5UYWJsZSB3aXRoIEN1c3RvbSBEaXNwbGF5IEZ1bmN0aW9uPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+VHJhbnNmb3JtIGRhdGEgZm9yIGRpc3BsYXkgdXNpbmcgY3VzdG9tIGZvcm1hdHRpbmcuPC9wPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iU2FsZXMgUmVwb3J0IgogICAgICAgICAgaGVhZGluZzI9IlE0IDIwMjMgUGVyZm9ybWFuY2UiCiAgICAgICAgICAuZGF0YT0ke1t7cHJvZHVjdDoiRW50ZXJwcmlzZSBMaWNlbnNlIix1bml0czo0NSxyZXZlbnVlOjIyNWUzLGdyb3d0aDouMjMsZm9yZWNhc3Q6MjhlNH0se3Byb2R1Y3Q6IlByb2Zlc3Npb25hbCBMaWNlbnNlIix1bml0czoxMjgscmV2ZW51ZToxMjhlMyxncm93dGg6LjE1LGZvcmVjYXN0OjE0N2UzfSx7cHJvZHVjdDoiU3RhcnRlciBMaWNlbnNlIix1bml0czozNDIscmV2ZW51ZTo2ODQwMCxncm93dGg6LjQyLGZvcmVjYXN0Ojk3ZTN9XX0KICAgICAgICAgIC5kaXNwbGF5RnVuY3Rpb249JHthPT4oe1Byb2R1Y3Q6YS5wcm9kdWN0LCJVbml0cyBTb2xkIjphLnVuaXRzLnRvTG9jYWxlU3RyaW5nKCksUmV2ZW51ZToiJCIrYS5yZXZlbnVlLnRvTG9jYWxlU3RyaW5nKCksR3Jvd3RoOihhLmdyb3d0aCoxMDApLnRvRml4ZWQoMSkrIiUiLCJRMSAyMDI0IEZvcmVjYXN0IjoiJCIrYS5mb3JlY2FzdC50b0xvY2FsZVN0cmluZygpfSl9CiAgICAgICAgICBkYXRhTmFtZT0icHJvZHVjdHMiCiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+RW1wdHkgVGFibGUgU3RhdGU8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5Ib3cgdGhlIHRhYmxlIGxvb2tzIHdoZW4gbm8gZGF0YSBpcyBhdmFpbGFibGUuPC9wPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iTm8gRGF0YSBBdmFpbGFibGUiCiAgICAgICAgICBoZWFkaW5nMj0iVGhpcyB0YWJsZSBpcyBjdXJyZW50bHkgZW1wdHkiCiAgICAgICAgICAuZGF0YT0ke1tdfQogICAgICAgICAgZGF0YU5hbWU9Iml0ZW1zIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlNjaGVtYS1GaXJzdCBDb2x1bW5zIChOZXcpPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+RGVmaW5lcyBjb2x1bW5zIGV4cGxpY2l0bHkgYW5kIHJlbmRlcnMgdmlhIHNjaGVtYS4gTm8gZGlzcGxheUZ1bmN0aW9uIG5lZWRlZC48L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJVc2VycyAoU2NoZW1hLUZpcnN0KSIKICAgICAgICAgIGhlYWRpbmcyPSJDb2x1bW5zIGRlZmluZSByZW5kZXJpbmcgYW5kIG9yZGVyIgogICAgICAgICAgLmNvbHVtbnM9JHtbe2tleToibmFtZSIsaGVhZGVyOiJOYW1lIixzb3J0YWJsZTohMH0se2tleToiZW1haWwiLGhlYWRlcjoiRW1haWwiLHJlbmRlcmVyOnMoYT0+d2A8ZGVlcy1iYWRnZT4ke2F9PC9kZWVzLWJhZGdlPmAsInJlbmRlcmVyIil9LHtrZXk6ImpvaW5lZEF0IixoZWFkZXI6IkpvaW5lZCIscmVuZGVyZXI6cyhhPT5uZXcgRGF0ZShhKS50b0xvY2FsZURhdGVTdHJpbmcoKSwicmVuZGVyZXIiKX1dfQogICAgICAgICAgLmRhdGE9JHtbe25hbWU6IkFsaWNlIixlbWFpbDoiYWxpY2VAZXhhbXBsZS5jb20iLGpvaW5lZEF0OiIyMDIyLTA4LTAxIn0se25hbWU6IkJvYiIsZW1haWw6ImJvYkBleGFtcGxlLmNvbSIsam9pbmVkQXQ6IjIwMjEtMTItMTEifSx7bmFtZToiQ2Fyb2wiLGVtYWlsOiJjYXJvbEBleGFtcGxlLmNvbSIsam9pbmVkQXQ6IjIwMjMtMDMtMjIifV19CiAgICAgICAgICBkYXRhTmFtZT0idXNlcnMiCiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+UGFydGlhbCBTY2hlbWEgKyBBdWdtZW50IChOZXcpPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+UHJvdmlkZXMgb25seSB0aGUgaW1wb3J0YW50IGNvbHVtbnM7IHRoZSByZXN0IGFyZSBtZXJnZWQgaW4gZnJvbSBkaXNwbGF5RnVuY3Rpb24uPC9wPgogICAgICAgIDxkZWVzLXRhYmxlCiAgICAgICAgICBoZWFkaW5nMT0iVXNlcnMgKFBhcnRpYWwgKyBBdWdtZW50KSIKICAgICAgICAgIGhlYWRpbmcyPSJNaXNzaW5nIGNvbHVtbnMgYXJlIGRlcml2ZWQiCiAgICAgICAgICAuY29sdW1ucz0ke1t7a2V5OiJuYW1lIixoZWFkZXI6Ik5hbWUiLHNvcnRhYmxlOiEwfV19CiAgICAgICAgICAuZGlzcGxheUZ1bmN0aW9uPSR7YT0+KHtuYW1lOmEubmFtZSxlbWFpbDphLmVtYWlsLHJvbGU6YS5yb2xlfSl9CiAgICAgICAgICAuYXVnbWVudEZyb21EaXNwbGF5RnVuY3Rpb249JHshMH0KICAgICAgICAgIC5kYXRhPSR7W3tuYW1lOiJFcmluIixlbWFpbDoiZXJpbkBleGFtcGxlLmNvbSIscm9sZToiQWRtaW4ifSx7bmFtZToiRmlubiIsZW1haWw6ImZpbm5AZXhhbXBsZS5jb20iLHJvbGU6IlVzZXIifSx7bmFtZToiR2luYSIsZW1haWw6ImdpbmFAZXhhbXBsZS5jb20iLHJvbGU6IlVzZXIifV19CiAgICAgICAgICBkYXRhTmFtZT0idXNlcnMiCiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iIAogICAgICAgICAgIEBzZWxlY3Rpb25DaGFuZ2U9JHthPT57Y29uc29sZS5sb2coIlNlbGVjdGlvbiBjaGFuZ2VkIixhLmRldGFpbCl9fQogICAgICAgICAgIEBzZWFyY2gtY2hhbmdlZD0ke2E9PntsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFibGVGaWx0ZXJTZWxlY3REZW1vIik7ZSYmZS5zZXRGaWx0ZXJUZXh0KGEuZGV0YWlsLnZhbHVlKX19CiAgICAgICAgICAgQHNlYXJjaC1zdWJtaXQ9JHthPT57bGV0IGU9ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhYmxlRmlsdGVyU2VsZWN0RGVtbyIpO2UmJmUuc2V0RmlsdGVyVGV4dChhLmRldGFpbC52YWx1ZSl9fQogICAgICA+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5GaWx0ZXJpbmcgKyBNdWx0aS1TZWxlY3Rpb24gKE5ldyk8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj5Vc2UgdGhlIHNlYXJjaCBiYXIgdG8gZmlsdGVyIHJvd3M7IHRvZ2dsZSBzZWxlY3Rpb24gdmlhIGNoZWNrYm94ZXMuIENsaWNrIGhlYWRlcnMgdG8gc29ydC48L3A+CiAgICAgICAgPGRlZXMtc2VhcmNoYmFyPjwvZGVlcy1zZWFyY2hiYXI+CiAgICAgICAgPGRpdiBzdHlsZT0iaGVpZ2h0OiAxMnB4Ij48L2Rpdj4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaWQ9InRhYmxlRmlsdGVyU2VsZWN0RGVtbyIKICAgICAgICAgIGhlYWRpbmcxPSJJbnZlbnRvcnkgKEZpbHRlciArIFNlbGVjdCkiCiAgICAgICAgICBoZWFkaW5nMj0iVHJ5IHR5cGluZyB0byBmaWx0ZXIgYW5kIHNlbGVjdGluZyBtdWx0aXBsZSByb3dzIgogICAgICAgICAgLnNlbGVjdGlvbk1vZGU9JHsibXVsdGkifQogICAgICAgICAgLnJvd0tleT0keyJza3UifQogICAgICAgICAgLmNvbHVtbnM9JHtbe2tleToic2t1IixoZWFkZXI6IlNLVSIsc29ydGFibGU6ITB9LHtrZXk6Im5hbWUiLGhlYWRlcjoiTmFtZSIsc29ydGFibGU6ITB9LHtrZXk6InN0b2NrIixoZWFkZXI6IlN0b2NrIixzb3J0YWJsZTohMH1dfQogICAgICAgICAgLmRhdGE9JHtbe3NrdToiQS0xMDAiLG5hbWU6IlVTQi1DIENhYmxlIixzdG9jazoxMjB9LHtza3U6IkEtMTAxIixuYW1lOiJXaXJlbGVzcyBNb3VzZSIsc3RvY2s6NTV9LHtza3U6IkEtMTAyIixuYW1lOiJMYXB0b3AgU3RhbmQiLHN0b2NrOjE4fSx7c2t1OiJCLTIwMCIsbmFtZToiS2V5Ym9hcmQgKElTTykiLHN0b2NrOjg5fSx7c2t1OiJCLTIwMSIsbmFtZToiSERNSSBBZGFwdGVyIixzdG9jazowfSx7c2t1OiJDLTMwMCIsbmFtZToiV2ViY2FtIDEwODBwIixzdG9jazo0Mn1dfQogICAgICAgICAgZGF0YU5hbWU9Iml0ZW1zIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPkNvbHVtbiBGaWx0ZXJzICsgU3RpY2t5IEhlYWRlciAoTmV3KTwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPlBlci1jb2x1bW4gcXVpY2sgZmlsdGVycyBhbmQgc3RpY2t5IGhlYWRlciB3aXRoIGludGVybmFsIHNjcm9sbC4gVHJ5IGZpbHRlcmluZyB0aGUgTmFtZSBjb2x1bW4uIFVzZXMgLS10YWJsZS1tYXgtaGVpZ2h0IHZhci48L3A+CiAgICAgICAgPHN0eWxlPgogICAgICAgICAgZGVlcy10YWJsZVtmaXhlZC1oZWlnaHRdIHsgLS10YWJsZS1tYXgtaGVpZ2h0OiAyMjBweDsgfQogICAgICAgIDwvc3R5bGU+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJFbXBsb3llZXMiCiAgICAgICAgICBoZWFkaW5nMj0iUXVpY2sgZmlsdGVyIHBlciBjb2x1bW4gKyBzdGlja3kgaGVhZGVyIgogICAgICAgICAgLnNob3dDb2x1bW5GaWx0ZXJzPSR7ITB9CiAgICAgICAgICAuZml4ZWRIZWlnaHQ9JHshMH0KICAgICAgICAgIC5jb2x1bW5zPSR7W3trZXk6Im5hbWUiLGhlYWRlcjoiTmFtZSIsc29ydGFibGU6ITB9LHtrZXk6ImVtYWlsIixoZWFkZXI6IkVtYWlsIixzb3J0YWJsZTohMH0se2tleToiZGVwYXJ0bWVudCIsaGVhZGVyOiJEZXBhcnRtZW50Iixzb3J0YWJsZTohMH1dfQogICAgICAgICAgLmRhdGE9JHtbe25hbWU6IkFsaWNlIEpvaG5zb24iLGVtYWlsOiJhbGljZUBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiRW5naW5lZXJpbmcifSx7bmFtZToiQm9iIFNtaXRoIixlbWFpbDoiYm9iQGNvcnAuY29tIixkZXBhcnRtZW50OiJTYWxlcyJ9LHtuYW1lOiJDaGFybGllIERhdmlzIixlbWFpbDoiY2hhcmxpZUBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiSFIifSx7bmFtZToiRGlhbmEgTWFydGluZXoiLGVtYWlsOiJkaWFuYUBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiRW5naW5lZXJpbmcifSx7bmFtZToiRXRoYW4gQnJvd24iLGVtYWlsOiJldGhhbkBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiRmluYW5jZSJ9LHtuYW1lOiJGaW9uYSBDbGFyayIsZW1haWw6ImZpb25hQGNvcnAuY29tIixkZXBhcnRtZW50OiJTYWxlcyJ9LHtuYW1lOiJHcmFjZSBMZWUiLGVtYWlsOiJncmFjZUBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiRW5naW5lZXJpbmcifSx7bmFtZToiSGVucnkgV2lsc29uIixlbWFpbDoiaGVucnlAY29ycC5jb20iLGRlcGFydG1lbnQ6Ik1hcmtldGluZyJ9LHtuYW1lOiJJcmVuZSBXYWxrZXIiLGVtYWlsOiJpcmVuZUBjb3JwLmNvbSIsZGVwYXJ0bWVudDoiRmluYW5jZSJ9LHtuYW1lOiJKYWNrIFR1cm5lciIsZW1haWw6ImphY2tAY29ycC5jb20iLGRlcGFydG1lbnQ6IlN1cHBvcnQifV19CiAgICAgICAgICBkYXRhTmFtZT0iZW1wbG95ZWVzIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIgogICAgICAgIEBzZWFyY2hSZXF1ZXN0PSR7YXN5bmMgYT0+e2xldHtxdWVyeTplfT1hLmRldGFpbHx8e3F1ZXJ5OiIifSx0PWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzZXJ2ZXJTZWFyY2hEZW1vIikscj1be2lkOjEsbmFtZToiQWxpY2UiLGNpdHk6IkJlcmxpbiIsdGl0bGU6IkVuZ2luZWVyIn0se2lkOjIsbmFtZToiQm9iIixjaXR5OiJQYXJpcyIsdGl0bGU6IkRlc2lnbmVyIn0se2lkOjMsbmFtZToiQ2hhcmxpZSIsY2l0eToiTG9uZG9uIix0aXRsZToiTWFuYWdlciJ9LHtpZDo0LG5hbWU6IkRpYW5hIixjaXR5OiJNYWRyaWQiLHRpdGxlOiJFbmdpbmVlciJ9LHtpZDo1LG5hbWU6IkV0aGFuIixjaXR5OiJSb21lIix0aXRsZToiU3VwcG9ydCJ9XTthd2FpdCBuZXcgUHJvbWlzZShuPT5zZXRUaW1lb3V0KG4sMzAwKSk7bGV0IGk9U3RyaW5nKGV8fCIiKS50b0xvd2VyQ2FzZSgpLG89aT9yLmZpbHRlcihuPT5PYmplY3QudmFsdWVzKG4pLnNvbWUobD0+U3RyaW5nKGwpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoaSkpKTpyO3QuZGF0YT1vfX0KICAgICAgPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+U2VydmVyIFNlYXJjaCAoTmV3KTwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPlNlbGVjdCBTZXJ2ZXIgbW9kZSwgdHlwZSBhIHF1ZXJ5LCBhbmQgd2F0Y2ggdGhlIHRhYmxlIGZldGNoIHNpbXVsYXRlZCByZXN1bHRzLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaWQ9InNlcnZlclNlYXJjaERlbW8iCiAgICAgICAgICBoZWFkaW5nMT0iUGVvcGxlIChTZXJ2ZXIgU2VhcmNoKSIKICAgICAgICAgIGhlYWRpbmcyPSJDbGljayBTZWFyY2gsIGNob29zZSBTZXJ2ZXIgbW9kZSwgYW5kIHR5cGUiCiAgICAgICAgICAuY29sdW1ucz0ke1t7a2V5OiJuYW1lIixoZWFkZXI6Ik5hbWUifSx7a2V5OiJjaXR5IixoZWFkZXI6IkNpdHkifSx7a2V5OiJ0aXRsZSIsaGVhZGVyOiJUaXRsZSJ9XX0KICAgICAgICAgIC5kYXRhPSR7W3tpZDoxLG5hbWU6IkFsaWNlIixjaXR5OiJCZXJsaW4iLHRpdGxlOiJFbmdpbmVlciJ9LHtpZDoyLG5hbWU6IkJvYiIsY2l0eToiUGFyaXMiLHRpdGxlOiJEZXNpZ25lciJ9LHtpZDozLG5hbWU6IkNoYXJsaWUiLGNpdHk6IkxvbmRvbiIsdGl0bGU6Ik1hbmFnZXIifSx7aWQ6NCxuYW1lOiJEaWFuYSIsY2l0eToiTWFkcmlkIix0aXRsZToiRW5naW5lZXIifSx7aWQ6NSxuYW1lOiJFdGhhbiIsY2l0eToiUm9tZSIsdGl0bGU6IlN1cHBvcnQifV19CiAgICAgICAgICBkYXRhTmFtZT0icGVvcGxlIgogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPk11bHRpLUNvbHVtbiBTb3J0PC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDbGljayBhbnkgY29sdW1uIGhlYWRlciBmb3IgYSBzaW5nbGUtY29sdW1uIHNvcnQuIEhvbGQgU2hpZnQgd2hpbGUgY2xpY2tpbmcgdG8gYWRkIHRoZQogICAgICAgICAgY29sdW1uIHRvIGEgbXVsdGktc29ydCBjYXNjYWRlIChvciBjeWNsZSBpdHMgZGlyZWN0aW9uKS4gUmlnaHQtY2xpY2sgYW55IHNvcnRhYmxlIGhlYWRlcgogICAgICAgICAgdG8gb3BlbiBhIG1lbnUgd2hlcmUgeW91IGNhbiBwaW4gYSBjb2x1bW4gdG8gYSBzcGVjaWZpYyBwcmlvcml0eSBzbG90LCByZW1vdmUgaXQsIG9yCiAgICAgICAgICBjbGVhciB0aGUgY2FzY2FkZS4KICAgICAgICA8L3A+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGhlYWRpbmcxPSJQZW9wbGUgRGlyZWN0b3J5IgogICAgICAgICAgaGVhZGluZzI9IlByZS1zZWVkZWQgd2l0aCBkZXBhcnRtZW50IOKWsiAxLCBuYW1lIOKWsiAyIgogICAgICAgICAgLnNvcnRCeT0ke1t7a2V5OiJkZXBhcnRtZW50IixkaXI6ImFzYyJ9LHtrZXk6Im5hbWUiLGRpcjoiYXNjIn1dfQogICAgICAgICAgLmNvbHVtbnM9JHtbe2tleToiZGVwYXJ0bWVudCIsaGVhZGVyOiJEZXBhcnRtZW50Iixzb3J0YWJsZTohMH0se2tleToibmFtZSIsaGVhZGVyOiJOYW1lIixzb3J0YWJsZTohMH0se2tleToicm9sZSIsaGVhZGVyOiJSb2xlIixzb3J0YWJsZTohMH0se2tleToiY3JlYXRlZEF0IixoZWFkZXI6IkNyZWF0ZWQiLHNvcnRhYmxlOiEwfSx7a2V5OiJsb2NhdGlvbiIsaGVhZGVyOiJMb2NhdGlvbiIsc29ydGFibGU6ITB9LHtrZXk6InN0YXR1cyIsaGVhZGVyOiJTdGF0dXMiLHNvcnRhYmxlOiEwfV19CiAgICAgICAgICAuZGF0YT0ke1t7ZGVwYXJ0bWVudDoiUiZEIixuYW1lOiJBbGljZSBKb2huc29uIixyb2xlOiJFbmdpbmVlciIsY3JlYXRlZEF0OiIyMDIzLTAxLTEyIixsb2NhdGlvbjoiQmVybGluIixzdGF0dXM6IkFjdGl2ZSJ9LHtkZXBhcnRtZW50OiJSJkQiLG5hbWU6IkRpYW5hIE1hcnRpbmV6Iixyb2xlOiJFbmdpbmVlciIsY3JlYXRlZEF0OiIyMDIwLTA2LTMwIixsb2NhdGlvbjoiTWFkcmlkIixzdGF0dXM6IkFjdGl2ZSJ9LHtkZXBhcnRtZW50OiJSJkQiLG5hbWU6Ik1hcmsgTGVlIixyb2xlOiJFbmdpbmVlciIsY3JlYXRlZEF0OiIyMDI0LTAzLTA0Iixsb2NhdGlvbjoiQmVybGluIixzdGF0dXM6IkFjdGl2ZSJ9LHtkZXBhcnRtZW50OiJEZXNpZ24iLG5hbWU6IkJvYiBTbWl0aCIscm9sZToiRGVzaWduZXIiLGNyZWF0ZWRBdDoiMjAyMi0xMS0wNSIsbG9jYXRpb246IlBhcmlzIixzdGF0dXM6IkFjdGl2ZSJ9LHtkZXBhcnRtZW50OiJEZXNpZ24iLG5hbWU6IlNhcmEgS2ltIixyb2xlOiJEZXNpZ25lciIsY3JlYXRlZEF0OiIyMDIxLTA4LTE5Iixsb2NhdGlvbjoiUGFyaXMiLHN0YXR1czoiT24gTGVhdmUifSx7ZGVwYXJ0bWVudDoiT3BzIixuYW1lOiJDaGFybGllIERhdmlzIixyb2xlOiJNYW5hZ2VyIixjcmVhdGVkQXQ6IjIwMjEtMDQtMjEiLGxvY2F0aW9uOiJMb25kb24iLHN0YXR1czoiT24gTGVhdmUifSx7ZGVwYXJ0bWVudDoiT3BzIixuYW1lOiJIZWxlbmEgVm9zcyIscm9sZToiU1JFIixjcmVhdGVkQXQ6IjIwMjMtMDctMjIiLGxvY2F0aW9uOiJMb25kb24iLHN0YXR1czoiQWN0aXZlIn0se2RlcGFydG1lbnQ6IlFBIixuYW1lOiJGaW9uYSBDbGFyayIscm9sZToiUUEiLGNyZWF0ZWRBdDoiMjAyMi0wMy0xNCIsbG9jYXRpb246IlZpZW5uYSIsc3RhdHVzOiJBY3RpdmUifSx7ZGVwYXJ0bWVudDoiUUEiLG5hbWU6IlRvbVx4RTFzIFJpdmVyYSIscm9sZToiUUEiLGNyZWF0ZWRBdDoiMjAyNC0wMS0wOSIsbG9jYXRpb246Ik1hZHJpZCIsc3RhdHVzOiJBY3RpdmUifSx7ZGVwYXJ0bWVudDoiQ1MiLG5hbWU6IkV0aGFuIEJyb3duIixyb2xlOiJTdXBwb3J0IixjcmVhdGVkQXQ6IjIwMTktMDktMTgiLGxvY2F0aW9uOiJSb21lIixzdGF0dXM6IkluYWN0aXZlIn1dfQogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPldpZGUgUHJvcGVydGllcyArIE1hbnkgQWN0aW9uczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkEgdGFibGUgd2l0aCBtYW55IGNvbHVtbnMgYW5kIHJpY2ggYWN0aW9ucyB0byBzdHJlc3MgdGVzdCBsYXlvdXQgYW5kIHN0aWNreSBBY3Rpb25zLjwvcD4KICAgICAgICA8ZGVlcy10YWJsZQogICAgICAgICAgaGVhZGluZzE9IlBlb3BsZSBEaXJlY3RvcnkiCiAgICAgICAgICBoZWFkaW5nMj0iTWFueSBwcm9wZXJ0aWVzIGFuZCBhY3Rpb25zIgogICAgICAgICAgLmNvbHVtbnM9JHtbe2tleToiaWQiLGhlYWRlcjoiSUQiLHNvcnRhYmxlOiEwfSx7a2V5OiJuYW1lIixoZWFkZXI6Ik5hbWUiLHNvcnRhYmxlOiEwfSx7a2V5OiJyb2xlIixoZWFkZXI6IlJvbGUiLHNvcnRhYmxlOiEwfSx7a2V5OiJkZXBhcnRtZW50IixoZWFkZXI6IkRlcGFydG1lbnQiLHNvcnRhYmxlOiEwfSx7a2V5OiJlbWFpbCIsaGVhZGVyOiJFbWFpbCJ9LHtrZXk6InBob25lIixoZWFkZXI6IlBob25lIn0se2tleToibG9jYXRpb24iLGhlYWRlcjoiTG9jYXRpb24iLHNvcnRhYmxlOiEwfSx7a2V5OiJzdGF0dXMiLGhlYWRlcjoiU3RhdHVzIixzb3J0YWJsZTohMH0se2tleToiY3JlYXRlZEF0IixoZWFkZXI6IkNyZWF0ZWQiLHNvcnRhYmxlOiEwfSx7a2V5OiJ1cGRhdGVkQXQiLGhlYWRlcjoiVXBkYXRlZCIsc29ydGFibGU6ITB9LHtrZXk6Imxhc3RMb2dpbiIsaGVhZGVyOiJMYXN0IExvZ2luIixzb3J0YWJsZTohMH0se2tleToicHJvamVjdHMiLGhlYWRlcjoiUHJvamVjdHMifSx7a2V5OiJ0YWdzIixoZWFkZXI6IlRhZ3MifSx7a2V5OiJub3RlcyIsaGVhZGVyOiJOb3RlcyJ9XX0KICAgICAgICAgIC5kYXRhPSR7W3tpZDoxLG5hbWU6IkFsaWNlIEpvaG5zb24iLHJvbGU6IkVuZ2luZWVyIixkZXBhcnRtZW50OiJSJkQiLGVtYWlsOiJhbGljZUBjb3JwLmNvbSIscGhvbmU6IisxIDIwMiA1NTUgMDExMSIsbG9jYXRpb246IkJlcmxpbiIsc3RhdHVzOiJBY3RpdmUiLGNyZWF0ZWRBdDoiMjAyMy0wMS0xMiIsdXBkYXRlZEF0OiIyMDI0LTA1LTAzIixsYXN0TG9naW46IjIwMjQtMTAtMDEiLHByb2plY3RzOjUsdGFnczoidHlwZXNjcmlwdCwgdWkiLG5vdGVzOiJNZW50b3IifSx7aWQ6MixuYW1lOiJCb2IgU21pdGgiLHJvbGU6IkRlc2lnbmVyIixkZXBhcnRtZW50OiJEZXNpZ24iLGVtYWlsOiJib2JAY29ycC5jb20iLHBob25lOiIrMSAyMDIgNTU1IDAxMTIiLGxvY2F0aW9uOiJQYXJpcyIsc3RhdHVzOiJBY3RpdmUiLGNyZWF0ZWRBdDoiMjAyMi0xMS0wNSIsdXBkYXRlZEF0OiIyMDI0LTA0LTEwIixsYXN0TG9naW46IjIwMjQtMDktMjgiLHByb2plY3RzOjgsdGFnczoiZmlnbWEsIGJyYW5kIixub3RlczoiUGFydC10aW1lIn0se2lkOjMsbmFtZToiQ2hhcmxpZSBEYXZpcyIscm9sZToiTWFuYWdlciIsZGVwYXJ0bWVudDoiT3BzIixlbWFpbDoiY2hhcmxpZUBjb3JwLmNvbSIscGhvbmU6IisxIDIwMiA1NTUgMDExMyIsbG9jYXRpb246IkxvbmRvbiIsc3RhdHVzOiJPbiBMZWF2ZSIsY3JlYXRlZEF0OiIyMDIxLTA0LTIxIix1cGRhdGVkQXQ6IjIwMjQtMDItMTUiLGxhc3RMb2dpbjoiMjAyNC0wOC0xMiIscHJvamVjdHM6Myx0YWdzOiJzcmUsIGxlYWRlcnNoaXAiLG5vdGVzOiIifSx7aWQ6NCxuYW1lOiJEaWFuYSBNYXJ0aW5leiIscm9sZToiRW5naW5lZXIiLGRlcGFydG1lbnQ6IlBsYXRmb3JtIixlbWFpbDoiZGlhbmFAY29ycC5jb20iLHBob25lOiIrMSAyMDIgNTU1IDAxMTQiLGxvY2F0aW9uOiJNYWRyaWQiLHN0YXR1czoiQWN0aXZlIixjcmVhdGVkQXQ6IjIwMjAtMDYtMzAiLHVwZGF0ZWRBdDoiMjAyNC0wNi0yNSIsbGFzdExvZ2luOiIyMDI0LTEwLTAyIixwcm9qZWN0czo2LHRhZ3M6Im5vZGUsIGFwaSIsbm90ZXM6Ik9uLWNhbGwifSx7aWQ6NSxuYW1lOiJFdGhhbiBCcm93biIscm9sZToiU3VwcG9ydCIsZGVwYXJ0bWVudDoiQ1MiLGVtYWlsOiJldGhhbkBjb3JwLmNvbSIscGhvbmU6IisxIDIwMiA1NTUgMDExNSIsbG9jYXRpb246IlJvbWUiLHN0YXR1czoiSW5hY3RpdmUiLGNyZWF0ZWRBdDoiMjAxOS0wOS0xOCIsdXBkYXRlZEF0OiIyMDI0LTAzLTA5IixsYXN0TG9naW46IjIwMjQtMDYtMTkiLHByb2plY3RzOjIsdGFnczoiemVuZGVzayIsbm90ZXM6IlJlaGlyZSJ9LHtpZDo2LG5hbWU6IkZpb25hIENsYXJrIixyb2xlOiJRQSIsZGVwYXJ0bWVudDoiUUEiLGVtYWlsOiJmaW9uYUBjb3JwLmNvbSIscGhvbmU6IisxIDIwMiA1NTUgMDExNiIsbG9jYXRpb246IlZpZW5uYSIsc3RhdHVzOiJBY3RpdmUiLGNyZWF0ZWRBdDoiMjAyMi0wMy0xNCIsdXBkYXRlZEF0OiIyMDI0LTAzLTAxIixsYXN0TG9naW46IjIwMjQtMDktMDciLHByb2plY3RzOjcsdGFnczoicGxheXdyaWdodCIsbm90ZXM6IiJ9XX0KICAgICAgICAgIC5kYXRhQWN0aW9ucz0ke1t7bmFtZToiVmlldyIsaWNvbk5hbWU6Imx1Y2lkZTpleWUiLHR5cGU6WyJpblJvdyIsImNvbnRleHRtZW51Il0sYWN0aW9uRnVuYzpzKGFzeW5jKHtpdGVtOmF9KT0+e2NvbnNvbGUubG9nKCJ2aWV3IixhKX0sImFjdGlvbkZ1bmMiKX0se25hbWU6IkVkaXQiLGljb25OYW1lOiJsdWNpZGU6ZWRpdCIsdHlwZTpbImluUm93IiwiY29udGV4dG1lbnUiXSxhY3Rpb25GdW5jOnMoYXN5bmMoe2l0ZW06YX0pPT57Y29uc29sZS5sb2coImVkaXQiLGEpfSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiRGVsZXRlIixpY29uTmFtZToibHVjaWRlOnRyYXNoIix0eXBlOlsiaW5Sb3ciLCJjb250ZXh0bWVudSJdLGFjdGlvbkZ1bmM6cyhhc3luYyh7aXRlbTphfSk9Pntjb25zb2xlLmxvZygiZGVsZXRlIixhKX0sImFjdGlvbkZ1bmMiKX0se25hbWU6Ik1lc3NhZ2UiLGljb25OYW1lOiJsdWNpZGU6bWVzc2FnZS1zcXVhcmUiLHR5cGU6WyJpblJvdyJdLGFjdGlvbkZ1bmM6cyhhc3luYyh7aXRlbTphfSk9Pntjb25zb2xlLmxvZygibWVzc2FnZSIsYSl9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJIaXN0b3J5IixpY29uTmFtZToibHVjaWRlOmNsb2NrIix0eXBlOlsiaW5Sb3ciXSxhY3Rpb25GdW5jOnMoYXN5bmMoe2l0ZW06YX0pPT57Y29uc29sZS5sb2coImhpc3RvcnkiLGEpfSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiQWRkIE5ldyIsaWNvbk5hbWU6Imx1Y2lkZTpwbHVzIix0eXBlOlsiaGVhZGVyIl0sYWN0aW9uRnVuYzpzKGFzeW5jKHt0YWJsZTphfSk9Pntjb25zb2xlLmxvZygiYWRkIil9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJFeHBvcnQgQ1NWIixpY29uTmFtZToibHVjaWRlOmRvd25sb2FkIix0eXBlOlsiaGVhZGVyIl0sYWN0aW9uRnVuYzpzKGFzeW5jKHt0YWJsZTphfSk9Pntjb25zb2xlLmxvZygiZXhwb3J0Iil9LCJhY3Rpb25GdW5jIil9LHtuYW1lOiJCdWxrIERlbGV0ZSIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaC0yIix0eXBlOlsiZm9vdGVyIl0sYWN0aW9uRnVuYzpzKGFzeW5jKHt0YWJsZTphfSk9Pntjb25zb2xlLmxvZygiYnVsayBkZWxldGUiKX0sImFjdGlvbkZ1bmMiKX1dfQogICAgICAgID48L2RlZXMtdGFibGU+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlNjcm9sbGFibGUgU21hbGwgSGVpZ2h0PC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+U2FtZSBhcyBhYm92ZSwgYnV0IHdpdGggbWFueSBpdGVtcyBhbmQgYSBzbWFsbCBmaXhlZCBoZWlnaHQgdG8gZm9yY2UgdmVydGljYWwgc2Nyb2xsaW5nIGluc2lkZSB0aGUgdGFibGUuIEFjdGlvbnMgcmVtYWluIHZpc2libGUgb24gdGhlIHJpZ2h0OyBob3Jpem9udGFsIHNjcm9sbCBhcHBlYXJzIGlmIG5lZWRlZC48L3A+CiAgICAgICAgPHN0eWxlPgogICAgICAgICAgI3Njcm9sbFNtYWxsSGVpZ2h0IHsgLS10YWJsZS1tYXgtaGVpZ2h0OiAyNDBweDsgfQogICAgICAgIDwvc3R5bGU+CiAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgIGlkPSJzY3JvbGxTbWFsbEhlaWdodCIKICAgICAgICAgIC5maXhlZEhlaWdodD0keyEwfQogICAgICAgICAgLnZpcnR1YWxpemVkPSR7ITB9CiAgICAgICAgICBoZWFkaW5nMT0iUGVvcGxlIERpcmVjdG9yeSAoU2Nyb2xsYWJsZSwgVmlydHVhbGl6ZWQpIgogICAgICAgICAgaGVhZGluZzI9IkZvcmNlZCBzY3JvbGxpbmcgd2l0aCBtYW55IGl0ZW1zIgogICAgICAgICAgLmNvbHVtbnM9JHtbe2tleToiaWQiLGhlYWRlcjoiSUQiLHNvcnRhYmxlOiEwfSx7a2V5OiJuYW1lIixoZWFkZXI6Ik5hbWUiLHNvcnRhYmxlOiEwfSx7a2V5OiJyb2xlIixoZWFkZXI6IlJvbGUiLHNvcnRhYmxlOiEwfSx7a2V5OiJkZXBhcnRtZW50IixoZWFkZXI6IkRlcGFydG1lbnQiLHNvcnRhYmxlOiEwfSx7a2V5OiJlbWFpbCIsaGVhZGVyOiJFbWFpbCJ9LHtrZXk6InBob25lIixoZWFkZXI6IlBob25lIn0se2tleToibG9jYXRpb24iLGhlYWRlcjoiTG9jYXRpb24iLHNvcnRhYmxlOiEwfSx7a2V5OiJzdGF0dXMiLGhlYWRlcjoiU3RhdHVzIixzb3J0YWJsZTohMH0se2tleToiY3JlYXRlZEF0IixoZWFkZXI6IkNyZWF0ZWQiLHNvcnRhYmxlOiEwfSx7a2V5OiJ1cGRhdGVkQXQiLGhlYWRlcjoiVXBkYXRlZCIsc29ydGFibGU6ITB9LHtrZXk6Imxhc3RMb2dpbiIsaGVhZGVyOiJMYXN0IExvZ2luIixzb3J0YWJsZTohMH0se2tleToicHJvamVjdHMiLGhlYWRlcjoiUHJvamVjdHMifSx7a2V5OiJ0YWdzIixoZWFkZXI6IlRhZ3MifSx7a2V5OiJub3RlcyIsaGVhZGVyOiJOb3RlcyJ9XX0KICAgICAgICAgIC5kYXRhPSR7QXJyYXkuZnJvbSh7bGVuZ3RoOjEwMH0sKGEsZSk9Pih7aWQ6ZSsxLG5hbWU6YFVzZXIgJHtlKzF9YCxyb2xlOlsiRW5naW5lZXIiLCJEZXNpZ25lciIsIk1hbmFnZXIiLCJRQSIsIlN1cHBvcnQiXVtlJTVdLGRlcGFydG1lbnQ6WyJSJkQiLCJEZXNpZ24iLCJPcHMiLCJRQSIsIkNTIl1bZSU1XSxlbWFpbDpgdXNlciR7ZSsxfUBjb3JwLmNvbWAscGhvbmU6YCsxIDIwMiA1NTUgJHtTdHJpbmcoMWUzK2UpLnNsaWNlKC00KX1gLGxvY2F0aW9uOlsiQmVybGluIiwiUGFyaXMiLCJMb25kb24iLCJNYWRyaWQiLCJSb21lIl1bZSU1XSxzdGF0dXM6WyJBY3RpdmUiLCJJbmFjdGl2ZSIsIk9uIExlYXZlIl1bZSUzXSxjcmVhdGVkQXQ6YDIwMjMtJHtTdHJpbmcoZSUxMisxKS5wYWRTdGFydCgyLCIwIil9LSR7U3RyaW5nKGUlMjgrMSkucGFkU3RhcnQoMiwiMCIpfWAsdXBkYXRlZEF0OmAyMDI0LSR7U3RyaW5nKChlKzMpJTEyKzEpLnBhZFN0YXJ0KDIsIjAiKX0tJHtTdHJpbmcoKGUrNyklMjgrMSkucGFkU3RhcnQoMiwiMCIpfWAsbGFzdExvZ2luOmAyMDI0LSR7U3RyaW5nKChlKzYpJTEyKzEpLnBhZFN0YXJ0KDIsIjAiKX0tJHtTdHJpbmcoKGUrMTApJTI4KzEpLnBhZFN0YXJ0KDIsIjAiKX1gLHByb2plY3RzOmUlMTIsdGFnczplJTI/InR5cGVzY3JpcHQiOiJkZXNpZ24iLG5vdGVzOmUlMz8iIjoiTm90ZSJ9KSl9CiAgICAgICAgICAuZGF0YUFjdGlvbnM9JHtbe25hbWU6IlZpZXciLGljb25OYW1lOiJsdWNpZGU6ZXllIix0eXBlOlsiaW5Sb3ciXSxhY3Rpb25GdW5jOnMoYXN5bmMoe2l0ZW06YX0pPT57fSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiRWRpdCIsaWNvbk5hbWU6Imx1Y2lkZTplZGl0Iix0eXBlOlsiaW5Sb3ciXSxhY3Rpb25GdW5jOnMoYXN5bmMoe2l0ZW06YX0pPT57fSwiYWN0aW9uRnVuYyIpfSx7bmFtZToiRGVsZXRlIixpY29uTmFtZToibHVjaWRlOnRyYXNoIix0eXBlOlsiaW5Sb3ciXSxhY3Rpb25GdW5jOnMoYXN5bmMoe2l0ZW06YX0pPT57fSwiYWN0aW9uRnVuYyIpfV19CiAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgPC9kaXY+CgogICAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCIjZGVtb0xpdmVGbGFzaCIpO2lmKCFlKXJldHVybjtlLl9fbGl2ZUZsYXNoVGltZXJJZCYmd2luZG93LmNsZWFySW50ZXJ2YWwoZS5fX2xpdmVGbGFzaFRpbWVySWQpO2xldCB0PXMoKCk9PntpZighQXJyYXkuaXNBcnJheShlLmRhdGEpfHxlLmRhdGEubGVuZ3RoPT09MClyZXR1cm47bGV0IHI9ZS5kYXRhLm1hcChvPT4oey4uLm99KSksaT0xK01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSozKTtmb3IobGV0IG89MDtvPGk7bysrKXtsZXQgbj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqci5sZW5ndGgpLGw9KygoTWF0aC5yYW5kb20oKSoyLTEpKjMpLnRvRml4ZWQoMiksZD1NYXRoLm1heCgxLCsocltuXS5wcmljZStsKS50b0ZpeGVkKDIpKTtyW25dPXsuLi5yW25dLHByaWNlOmQsY2hhbmdlOmwsdXBkYXRlZEF0Om5ldyBEYXRlKCkudG9Mb2NhbGVUaW1lU3RyaW5nKCl9fWUuZGF0YT1yfSwidGljayIpO2UuX19saXZlRmxhc2hUaW1lcklkPXdpbmRvdy5zZXRJbnRlcnZhbCh0LDE1MDApfX0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+TGl2ZSBVcGRhdGVzIHdpdGggRmxhc2ggSGlnaGxpZ2h0aW5nPC9oMj4KICAgICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj4KICAgICAgICAgICAgT3B0LWluIGNlbGwtZmxhc2ggdmlhIDxjb2RlPmhpZ2hsaWdodC11cGRhdGVzPSJmbGFzaCI8L2NvZGU+LiBUaGUgdGlja2VyIGJlbG93IG11dGF0ZXMKICAgICAgICAgICAgcmFuZG9tIHJvd3MgZXZlcnkgMS41cyBhbmQgcmVhc3NpZ25zIDxjb2RlPi5kYXRhPC9jb2RlPi4gVXBkYXRlZCBjZWxscyBicmllZmx5IGZsYXNoCiAgICAgICAgICAgIGFtYmVyIGFuZCBmYWRlIG91dC4gUmVxdWlyZXMgPGNvZGU+cm93S2V5PC9jb2RlPiAoaGVyZSA8Y29kZT4ic3ltYm9sIjwvY29kZT4pLiBIb25vcnMKICAgICAgICAgICAgPGNvZGU+cHJlZmVycy1yZWR1Y2VkLW1vdGlvbjwvY29kZT4uIFJvdyBzZWxlY3Rpb24gcGVyc2lzdHMgYWNyb3NzIHVwZGF0ZXMg4oCUIGNsaWNrIGEKICAgICAgICAgICAgcm93LCB0aGVuIHdhdGNoIGl0IHN0YXkgc2VsZWN0ZWQgYXMgdGhlIGRhdGEgY2h1cm5zLgogICAgICAgICAgPC9wPgogICAgICAgICAgPGRlZXMtdGFibGUKICAgICAgICAgICAgaWQ9ImRlbW9MaXZlRmxhc2giCiAgICAgICAgICAgIC5yb3dLZXk9JHsic3ltYm9sIn0KICAgICAgICAgICAgaGlnaGxpZ2h0LXVwZGF0ZXM9ImZsYXNoIgogICAgICAgICAgICAuc2VsZWN0aW9uTW9kZT0keyJtdWx0aSJ9CiAgICAgICAgICAgIGhlYWRpbmcxPSJMaXZlIE1hcmtldCBGZWVkIgogICAgICAgICAgICBoZWFkaW5nMj0iRmxhc2hpbmcgY2VsbHMgaW5kaWNhdGUgdXBkYXRlZCB2YWx1ZXMiCiAgICAgICAgICAgIC5jb2x1bW5zPSR7W3trZXk6InN5bWJvbCIsaGVhZGVyOiJTeW1ib2wiLHNvcnRhYmxlOiEwfSx7a2V5OiJwcmljZSIsaGVhZGVyOiJQcmljZSIsc29ydGFibGU6ITB9LHtrZXk6ImNoYW5nZSIsaGVhZGVyOiJcdTAzOTQiLHNvcnRhYmxlOiEwfSx7a2V5OiJ1cGRhdGVkQXQiLGhlYWRlcjoiVXBkYXRlZCJ9XX0KICAgICAgICAgICAgLmRhdGE9JHtbe3N5bWJvbDoiQUFQTCIscHJpY2U6MTgyLjUyLGNoYW5nZTowLHVwZGF0ZWRBdDoiXHUyMDE0In0se3N5bWJvbDoiTVNGVCIscHJpY2U6NDE0LjE4LGNoYW5nZTowLHVwZGF0ZWRBdDoiXHUyMDE0In0se3N5bWJvbDoiR09PRyIscHJpY2U6MTY4Ljc0LGNoYW5nZTowLHVwZGF0ZWRBdDoiXHUyMDE0In0se3N5bWJvbDoiQU1aTiIscHJpY2U6MTg2LjEzLGNoYW5nZTowLHVwZGF0ZWRBdDoiXHUyMDE0In0se3N5bWJvbDoiVFNMQSIscHJpY2U6MjQ4LjUsY2hhbmdlOjAsdXBkYXRlZEF0OiJcdTIwMTQifSx7c3ltYm9sOiJOVkRBIixwcmljZTo4NzcuMzUsY2hhbmdlOjAsdXBkYXRlZEF0OiJcdTIwMTQifSx7c3ltYm9sOiJNRVRBIixwcmljZTo0OTIuOTYsY2hhbmdlOjAsdXBkYXRlZEF0OiJcdTIwMTQifSx7c3ltYm9sOiJORkxYIixwcmljZTo2MDUuODgsY2hhbmdlOjAsdXBkYXRlZEF0OiJcdTIwMTQifSx7c3ltYm9sOiJBTUQiLHByaWNlOjE2NS4yNCxjaGFuZ2U6MCx1cGRhdGVkQXQ6Ilx1MjAxNCJ9LHtzeW1ib2w6IklOVEMiLHByaWNlOjQyLjE1LGNoYW5nZTowLHVwZGF0ZWRBdDoiXHUyMDE0In1dfQogICAgICAgICAgPjwvZGVlcy10YWJsZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgdWxhLHBsYT1mKCgpPT57bGUoKTt1cygpO1FlKCk7dWxhPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICBkZWVzLXRpbGUgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICB9CgogICAgICAuaGVhZGluZ0NvbnRhaW5lciB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgfQoKICAgICAgLmhlYWRpbmcgewogICAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICB9CgogICAgICAuaGVhZGluZzEgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLmhlYWRpbmcyIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDsKICAgICAgfQoKICAgICAgLmhlYWRpbmdTZXBhcmF0aW9uIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAuaGVhZGVyQWN0aW9ucyB7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CiAgICAgIAogICAgICAuaGVhZGVyQWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmhlYWRlckFjdGlvbjpob3ZlciB7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICAgIH0KCiAgICAgIC5oZWFkZXJBY3Rpb24gZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2hHcmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtZ2FwOiAxNnB4OwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIG1heC1jb250ZW50OwogICAgICAgIHBhZGRpbmc6IDE2cHggMjRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXNlY29uZGFyeSk7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgewogICAgICAgIC5zZWFyY2hHcmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyogbGV0IHNlYXJjaCBtb2RlIHNpemUgdG8gY29udGVudCAobm8gZm9yY2VkIHdpZHRoKSAqLwoKICAgICAgLnNlYXJjaEdyaWQuaGlkZGVuIHsKICAgICAgICBoZWlnaHQ6IDBweDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcGFkZGluZzogMHB4IDI0cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMHB4OwogICAgICB9CgogICAgICAvKiBEZWZhdWx0IG1vZGUgKE1vZGUgQiwgcGFnZSBzdGlja3kpOiBob3Jpem9udGFsIHNjcm9sbCBsaXZlcyBvbgogICAgICAgICAudGFibGVTY3JvbGwgKHNvIHdpZGUgdGFibGVzIGRvbid0IGdldCBjbGlwcGVkIGJ5IGFuIGFuY2VzdG9yCiAgICAgICAgIG92ZXJmbG93OmhpZGRlbiBzdWNoIGFzIGRlZXMtdGlsZSkuIFZlcnRpY2FsIHN0aWNreSBpcyBoYW5kbGVkIGJ5CiAgICAgICAgIGEgSlMtbWFuYWdlZCBmbG9hdGluZyBoZWFkZXIgKC5mbG9hdGluZ0hlYWRlciwgcG9zaXRpb246Zml4ZWQpLAogICAgICAgICB3aGljaCBpcyB1bmFmZmVjdGVkIGJ5IGFuY2VzdG9yIG92ZXJmbG93LiAqLwogICAgICAudGFibGVTY3JvbGwgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7CiAgICAgICAgc2Nyb2xsYmFyLWd1dHRlcjogc3RhYmxlOwogICAgICB9CiAgICAgIC8qIE1vZGUgQSwgaW50ZXJuYWwgc2Nyb2xsOiBvcHQtaW4gdmlhIGZpeGVkLWhlaWdodCBhdHRyaWJ1dGUuCiAgICAgICAgIFRoZSB0YWJsZSBzY3JvbGxzIGluc2lkZSBpdHMgb3duIGJveCBhbmQgdGhlIGhlYWRlciBzdGlja3MgdmlhIHBsYWluIENTUyBzdGlja3kuICovCiAgICAgIDpob3N0KFtmaXhlZC1oZWlnaHRdKSAudGFibGVTY3JvbGwgewogICAgICAgIG1heC1oZWlnaHQ6IHZhcigtLXRhYmxlLW1heC1oZWlnaHQsIDM2MHB4KTsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBzY3JvbGxiYXItZ3V0dGVyOiBzdGFibGUgYm90aC1lZGdlczsKICAgICAgfQogICAgICA6aG9zdChbZml4ZWQtaGVpZ2h0XSkgLnRhYmxlU2Nyb2xsOjotd2Via2l0LXNjcm9sbGJhcjpob3Jpem9udGFsIHsKICAgICAgICBoZWlnaHQ6IDBweDsKICAgICAgfQoKICAgICAgLyogRmxvYXRpbmcgaGVhZGVyIG92ZXJsYXkgKE1vZGUgQikuIFBvc2l0aW9uIGlzIG1hbmFnZWQgYnkgSlMgc28gaXQKICAgICAgICAgZXNjYXBlcyBhbnkgYW5jZXN0b3Igb3ZlcmZsb3c6aGlkZGVuIChwb3NpdGlvbjpmaXhlZCBpcyBub3QgY2xpcHBlZAogICAgICAgICBieSBvdmVyZmxvdyBhbmNlc3RvcnMpLiAqLwogICAgICAuZmxvYXRpbmdIZWFkZXIgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB6LWluZGV4OiAxMDA7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KICAgICAgLmZsb2F0aW5nSGVhZGVyLmFjdGl2ZSB7CiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICAgICAgfQogICAgICAuZmxvYXRpbmdIZWFkZXIgdGFibGUgewogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQogICAgICAuZmxvYXRpbmdIZWFkZXIgdGggewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICB0YWJsZSB7CiAgICAgICAgLyogYWxsb3cgdGFibGUgdG8gZ3JvdyB3aWRlciB0aGFuIGNvbnRhaW5lciBzbyBhY3Rpb25zIGNvbHVtbiBjYW4gc3RpY2sgKi8KICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7CiAgICAgICAgbWluLXdpZHRoOiAxMDAlOwogICAgICAgIGNhcHRpb24tc2lkZTogYm90dG9tOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOwogICAgICAgIGJvcmRlci1zcGFjaW5nOiAwOwogICAgICB9CiAgICAgIAogICAgICAubm9EYXRhU2V0IHsKICAgICAgICBwYWRkaW5nOiA0OHB4IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICB9CiAgICAgIAogICAgICB0aGVhZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3Ryb25nKTsKICAgICAgfQogICAgICAvKiB0aCBuZWVkcyBpdHMgb3duIGJhY2tncm91bmQgc28gc3RpY2t5IGNlbGxzIHBhaW50IG92ZXIgc2Nyb2xsZWQgcm93cwogICAgICAgICAoYnJvd3NlcnMgZG9uJ3QgcGFpbnQgdGhlIDx0aGVhZD4gYm94IGJlaGluZCBhIHN0aWNreSA8dGg+KS4gKi8KICAgICAgdGggewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgIH0KICAgICAgLyogTW9kZSBBIOKAlCBpbnRlcm5hbCBzY3JvbGwgc3RpY2t5ICovCiAgICAgIDpob3N0KFtmaXhlZC1oZWlnaHRdKSB0aGVhZCB0aCB7CiAgICAgICAgcG9zaXRpb246IHN0aWNreTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgei1pbmRleDogMjsKICAgICAgfQogICAgICA6aG9zdChbZml4ZWQtaGVpZ2h0XSkgdGhlYWQgdHIuZmlsdGVyc1JvdyB0aCB7CiAgICAgICAgdG9wOiAzNnB4OyAvKiBtYXRjaGVzIHRoIHsgaGVpZ2h0OiAzNnB4IH0gYmVsb3cgKi8KICAgICAgfQogICAgICAKICAgICAgdGJvZHkgdHIgewogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIERlZmF1bHQgaG9yaXpvbnRhbCBsaW5lcyAoYm90dG9tIGJvcmRlciBvbmx5KSAqLwogICAgICB0Ym9keSB0ciB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICB9CiAgICAgIAogICAgICB0Ym9keSB0cjpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CiAgICAgIAogICAgICAvKiBGdWxsIGhvcml6b250YWwgbGluZXMgd2hlbiBlbmFibGVkICovCiAgICAgIDpob3N0KFtzaG93LWhvcml6b250YWwtbGluZXNdKSB0Ym9keSB0ciB7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW3Nob3ctaG9yaXpvbnRhbC1saW5lc10pIHRib2R5IHRyOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItdG9wOiBub25lOwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbc2hvdy1ob3Jpem9udGFsLWxpbmVzXSkgdGJvZHkgdHI6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICB9CiAgICAgIAogICAgICB0Ym9keSB0cjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuMDYpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4wOCkiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC8qIENvbHVtbiBob3ZlciBlZmZlY3QgZm9yIGJldHRlciB0cmFjZWFiaWxpdHkgKi8KICAgICAgdGQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQogICAgICAKICAgICAgdGQ6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjA0KSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDUpIil9OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlOwogICAgICAgIHotaW5kZXg6IC0xOwogICAgICB9CiAgICAgIAogICAgICB0ZDpob3Zlcjo6YWZ0ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEdyaWQgbW9kZSAtIHNob3dzIGJvdGggdmVydGljYWwgYW5kIGhvcml6b250YWwgbGluZXMgKi8KICAgICAgOmhvc3QoW3Nob3ctZ3JpZF0pIHRoIHsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgICBib3JkZXItdG9wOiBub25lOwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbc2hvdy1ncmlkXSkgdGQgewogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICAgIGJvcmRlci10b3A6IG5vbmU7CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtzaG93LWdyaWRdKSB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCB7CiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTsKICAgICAgfQoKICAgICAgLyogUmVtb3ZlIGVkZ2UgYm9yZGVycyB0aGF0IHdvdWxkIGRvdWJsZSB3aXRoIHRpbGUgZnJhbWUgKi8KICAgICAgOmhvc3QoW3Nob3ctZ3JpZF0pIHRoOmxhc3QtY2hpbGQsCiAgICAgIDpob3N0KFtzaG93LWdyaWRdKSB0ZDpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7CiAgICAgIH0KICAgICAgOmhvc3QoW3Nob3ctZ3JpZF0pIHRib2R5IHRyOmxhc3QtY2hpbGQgdGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIFN0aWNreSBBY3Rpb25zIGNvbHVtbiAocmlnaHQgcGlubmVkKSAqLwogICAgICB0aGVhZCB0aC5hY3Rpb25zQ29sLAogICAgICB0Ym9keSB0ZC5hY3Rpb25zQ29sIHsKICAgICAgICBwb3NpdGlvbjogc3RpY2t5OwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctcHJpbWFyeSk7CiAgICAgIH0KICAgICAgdGhlYWQgdGguYWN0aW9uc0NvbCB7IHotaW5kZXg6IDM7IH0KICAgICAgdGJvZHkgdGQuYWN0aW9uc0NvbCB7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgICBib3gtc2hhZG93OiAtMXB4IDAgMCAwIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICB9CiAgICAgIAogICAgICB0Ym9keSB0ci5zZWxlY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuMSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjEyKSIpfTsKICAgICAgfQoKICAgICAgdGJvZHkgdHIuaGFzQXR0YWNobWVudCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSAvIDAuMSkiLCJoc2woMTQyLjEgNzYuMiUgMzYuMyUgLyAwLjEpIil9OwogICAgICB9CgogICAgICB0aCB7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIHRoW3JvbGU9J2NvbHVtbmhlYWRlciddOmhvdmVyIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICB0aCAuc29ydEFycm93IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgIH0KCiAgICAgIHRoIC5zb3J0QmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBtYXJnaW4tbGVmdDogM3B4OwogICAgICAgIHBhZGRpbmc6IDFweCA1cHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgMzAlKSIsImhzbCgyMTcuMiA5MS4yJSA3NSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjEyKSIsImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMTgpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgIH0KICAgICAgCiAgICAgIDpob3N0KFtzaG93LXZlcnRpY2FsLWxpbmVzXSkgdGggewogICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICB9CiAgICAgIAogICAgICB0ZCB7CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW3Nob3ctdmVydGljYWwtbGluZXNdKSB0ZCB7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgIH0KICAgICAgCiAgICAgIHRoOmZpcnN0LWNoaWxkLAogICAgICB0ZDpmaXJzdC1jaGlsZCB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4OwogICAgICB9CiAgICAgIAogICAgICB0aDpsYXN0LWNoaWxkLAogICAgICB0ZDpsYXN0LWNoaWxkIHsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4OwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbc2hvdy12ZXJ0aWNhbC1saW5lc10pIHRoOmxhc3QtY2hpbGQsCiAgICAgIDpob3N0KFtzaG93LXZlcnRpY2FsLWxpbmVzXSkgdGQ6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOwogICAgICB9CgogICAgICAvKiBEZWZhdWx0IGJvdHRvbSBib3JkZXIgb24gbGFzdCByb3cgcmVtb3ZlZCDigJQgdGlsZSBmcmFtZSBoYW5kbGVzIGl0ICovCiAgICAgIDpob3N0KDpub3QoW3Nob3ctaG9yaXpvbnRhbC1saW5lc10pKSB0Ym9keSB0cjpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CiAgICAgIAogICAgICAuaW5uZXJDZWxsQ29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgbWluLWhlaWdodDogMjRweDsKICAgICAgICBsaW5lLWhlaWdodDogMjRweDsKICAgICAgfQoKICAgICAgLyogLS0tLSBDZWxsIGZsYXNoIGhpZ2hsaWdodGluZyAob3B0LWluIHZpYSBoaWdobGlnaHQtdXBkYXRlcz0iZmxhc2giKSAtLS0tCiAgICAgICAgIEJsb29tYmVyZy9UcmFkaW5nVmlldy1zdHlsZTogdGhlIHRleHQgaXRzZWxmIGJyaWVmbHkgdGFrZXMgYW4gYWNjZW50CiAgICAgICAgIGNvbG9yIHRoZW4gZmFkZXMgYmFjayB0byB0aGUgZGVmYXVsdC4gTm8gYmFja2dyb3VuZCB0aW50LCBubyBsYXlvdXQKICAgICAgICAgc2hpZnQsIG5vIHdlaWdodCBjaGFuZ2UuIFJlYWRhYmxlLCBtb2Rlcm4sIHN1YnRsZS4KICAgICAgICAgQ29uc3VtZXJzIGNhbiBvdmVycmlkZSBwZXIgaW5zdGFuY2U6CiAgICAgICAgICAgZGVlcy10YWJsZSNteVRhYmxlIHsgLS1kZWVzLXRhYmxlLWZsYXNoLWNvbG9yOiBoc2woMTQyIDc2JSA0MCUpOyB9CiAgICAgICovCiAgICAgIDpob3N0IHsKICAgICAgICAtLWRlZXMtdGFibGUtZmxhc2gtY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMzIgOTUlIDQ0JSkiLCJoc2woNDUgOTMlIDYyJSkiKX07CiAgICAgICAgLS1kZWVzLXRhYmxlLWZsYXNoLWVhc2luZzogY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpOwogICAgICB9CgogICAgICAuaW5uZXJDZWxsQ29udGFpbmVyLmZsYXNoaW5nIHsKICAgICAgICBhbmltYXRpb246IGRlZXMtdGFibGUtY2VsbC1mbGFzaAogICAgICAgICAgICAgICAgICAgdmFyKC0tZGVlcy10YWJsZS1mbGFzaC1kdXJhdGlvbiwgOTAwbXMpCiAgICAgICAgICAgICAgICAgICB2YXIoLS1kZWVzLXRhYmxlLWZsYXNoLWVhc2luZyk7CiAgICAgIH0KCiAgICAgIC8qIEhvbGQgdGhlIGFjY2VudCBjb2xvciBicmllZmx5LCB0aGVuIGZhZGUgYmFjayB0byB0aGUgdGhlbWUncyBkZWZhdWx0CiAgICAgICAgIHRleHQgY29sb3IuIEluaGVyaXRzIHRvIGNoaWxkIHRleHQgYW5kIHRvIFNWRyBpY29ucyB0aGF0IHVzZQogICAgICAgICBjdXJyZW50Q29sb3IuIENlbGxzIHdpdGggZXhwbGljaXQgY29sb3Igb3ZlcnJpZGVzIGluIHJlbmRlcmVycyBhcmUKICAgICAgICAgaW50ZW50aW9uYWxseSB1bmFmZmVjdGVkLiAqLwogICAgICBAa2V5ZnJhbWVzIGRlZXMtdGFibGUtY2VsbC1mbGFzaCB7CiAgICAgICAgMCUsCiAgICAgICAgMzUlIHsgY29sb3I6IHZhcigtLWRlZXMtdGFibGUtZmxhc2gtY29sb3IpOyB9CiAgICAgICAgMTAwJSB7IGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7IH0KICAgICAgfQoKICAgICAgLyogQm9yZGVyL2JhY2tncm91bmQgZmxhc2ggdmFyaWFudCBmb3IgY2VsbHMgd2l0aCBzdHlsZWQgY29udGVudAogICAgICAgICAoYmFkZ2VzLCBpY29ucywgY3VzdG9tIGNvbXBvbmVudHMpIHdoZXJlIGEgdGV4dC1jb2xvciBhbmltYXRpb24KICAgICAgICAgd291bGQgYmUgaW52aXNpYmxlLiBBY3RpdmF0ZWQgdmlhIGZsYXNoQm9yZGVyIG9uIENvbHVtbi4gKi8KICAgICAgLmlubmVyQ2VsbENvbnRhaW5lci5mbGFzaGluZy1ib3JkZXIgewogICAgICAgIGFuaW1hdGlvbjogZGVlcy10YWJsZS1jZWxsLWZsYXNoLWJvcmRlcgogICAgICAgICAgICAgICAgICAgdmFyKC0tZGVlcy10YWJsZS1mbGFzaC1kdXJhdGlvbiwgOTAwbXMpCiAgICAgICAgICAgICAgICAgICB2YXIoLS1kZWVzLXRhYmxlLWZsYXNoLWVhc2luZyk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGRlZXMtdGFibGUtY2VsbC1mbGFzaC1ib3JkZXIgewogICAgICAgIDAlLAogICAgICAgIDM1JSB7CiAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxLjVweCB2YXIoLS1kZWVzLXRhYmxlLWZsYXNoLWNvbG9yKTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woNDUgOTMlIDYyJSAvIDAuMTApIiwiaHNsKDQ1IDkzJSA2MiUgLyAwLjA4KSIpfTsKICAgICAgICB9CiAgICAgICAgMTAwJSB7CiAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxLjVweCB0cmFuc3BhcmVudDsKICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIH0KICAgICAgfQoKICAgICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHsKICAgICAgICAuaW5uZXJDZWxsQ29udGFpbmVyLmZsYXNoaW5nIHsKICAgICAgICAgIGFuaW1hdGlvbjogbm9uZTsKICAgICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLXRhYmxlLWZsYXNoLWNvbG9yKTsKICAgICAgICB9CiAgICAgICAgLmlubmVyQ2VsbENvbnRhaW5lci5mbGFzaGluZy1ib3JkZXIgewogICAgICAgICAgYW5pbWF0aW9uOiBub25lOwogICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMS41cHggdmFyKC0tZGVlcy10YWJsZS1mbGFzaC1jb2xvcik7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDQ1IDkzJSA2MiUgLyAwLjEwKSIsImhzbCg0NSA5MyUgNjIlIC8gMC4wOCkiKX07CiAgICAgICAgfQogICAgICB9CgogICAgICAvKiBEZXYtdGltZSB3YXJuaW5nIGJhbm5lciBzaG93biB3aGVuIGhpZ2hsaWdodC11cGRhdGVzPSJmbGFzaCIgYnV0CiAgICAgICAgIHJvd0tleSBpcyBtaXNzaW5nLiBDb25zdW1lcnMgc2hvdWxkIG5ldmVyIHNoaXAgdGhpcyB0byBwcm9kdWN0aW9uLiAqLwogICAgICAuZmxhc2hDb25maWdXYXJuaW5nIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luOiA4cHggMTZweCAwOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgzOCA5MiUgNTAlKSIsImhzbCg0OCA5NiUgNjMlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDQ4IDk2JSA4OSUgLyAwLjYpIiwiaHNsKDQ4IDk2JSAzMCUgLyAwLjE1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgzMiA4MSUgMjklKSIsImhzbCg0OCA5NiUgODAlKSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KICAgICAgLmZsYXNoQ29uZmlnV2FybmluZyBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgICBmbGV4OiAwIDAgYXV0bzsKICAgICAgfQogICAgICAuZmxhc2hDb25maWdXYXJuaW5nIGNvZGUgewogICAgICAgIHBhZGRpbmc6IDFweCA0cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlIC8gMC42KSIsImhzbCgwIDAlIDAlIC8gMC4zKSIpfTsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICB9CgogICAgICAvKiBFZGl0YWJsZSBjZWxsIGFmZm9yZGFuY2VzICovCiAgICAgIHRkLmVkaXRhYmxlIHsKICAgICAgICBjdXJzb3I6IHRleHQ7CiAgICAgIH0KICAgICAgdGQuZm9jdXNlZCB7CiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUgLyAwLjYpIiwiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC42KSIpfTsKICAgICAgICBvdXRsaW5lLW9mZnNldDogLTJweDsKICAgICAgfQogICAgICB0ZC5lZGl0aW5nQ2VsbCB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSAvIDAuNikiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjYpIil9OwogICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OwogICAgICB9CiAgICAgIHRkLmVkaXRpbmdDZWxsIC5pbm5lckNlbGxDb250YWluZXIgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICAgICAgfQogICAgICB0ZC5lZGl0aW5nQ2VsbCBkZWVzLWlucHV0LXRleHQsCiAgICAgIHRkLmVkaXRpbmdDZWxsIGRlZXMtaW5wdXQtY2hlY2tib3gsCiAgICAgIHRkLmVkaXRpbmdDZWxsIGRlZXMtaW5wdXQtZHJvcGRvd24sCiAgICAgIHRkLmVkaXRpbmdDZWxsIGRlZXMtaW5wdXQtZGF0ZXBpY2tlciwKICAgICAgdGQuZWRpdGluZ0NlbGwgZGVlcy1pbnB1dC10YWdzIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLyogZmlsdGVyIHJvdyAqLwogICAgICB0aGVhZCB0ci5maWx0ZXJzUm93IHRoIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweCAxMnB4IDEycHg7CiAgICAgIH0KICAgICAgdGhlYWQgdHIuZmlsdGVyc1JvdyB0aCBpbnB1dFt0eXBlPSd0ZXh0J10gewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgcGFkZGluZzogNnB4IDhweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CiAgICAgIC5hY3Rpb25zQ29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5hY3Rpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgwIDAlIDE0LjklKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb246YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDAgMCUgMTEuOCUpIil9OwogICAgICB9CiAgICAgIAogICAgICAuYWN0aW9uIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICB9CgogICAgICAuZm9vdGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC50YWJsZVN0YXRpc3RpY3MgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5mb290ZXJBY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuZm9vdGVyQWN0aW9ucyAuZm9vdGVyQWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAuZm9vdGVyQWN0aW9ucyAuZm9vdGVyQWN0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUuMSUpIiwiaHNsKDAgMCUgMTQuOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOSUpIiwiaHNsKDAgMCUgOTUlKSIpfTsKICAgICAgfQoKICAgICAgLmZvb3RlckFjdGlvbnMgLmZvb3RlckFjdGlvbiBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQogIGBdfSk7dmFyIHJRZT1mKCgpPT57ZDQoKX0pO3ZhciBzUWU9ZigoKT0+e1p0ZSgpfSk7dmFyIGlRZT1mKCgpPT57dWFlKCk7QlllKCl9KTt2YXIgb1FlPWYoKCk9PntKWWUoKX0pO2Z1bmN0aW9uIG5RZShhLGUpe2lmKCFlfHxlLmxlbmd0aD09PTApcmV0dXJuW107bGV0IHQ9YShlWzBdKTtyZXR1cm4gT2JqZWN0LmtleXModCkubWFwKGk9Pih7a2V5OmksaGVhZGVyOmksdmFsdWU6cyhvPT5hKG8pW2ldLCJ2YWx1ZSIpfSkpfWZ1bmN0aW9uIGZsYShhLGUsdCxyKXtsZXQgaT0oYXx8W10pLnNsaWNlKCk7aWYoIWUpcmV0dXJuIGk7bGV0IG89blFlKHQsciksbj1uZXcgU2V0KGkubWFwKGw9PlN0cmluZyhsLmtleSkpKTtmb3IobGV0IGwgb2YgbyluLmhhcyhTdHJpbmcobC5rZXkpKXx8aS5wdXNoKGwpO3JldHVybiBpfWZ1bmN0aW9uIEw0KGEsZSx0KXtyZXR1cm4gZS52YWx1ZT9lLnZhbHVlKGEpOmFbZS5rZXldfWZ1bmN0aW9uIExJYShhLGUpe2lmKGE9PW51bGwmJmU9PW51bGwpcmV0dXJuIDA7aWYoYT09bnVsbClyZXR1cm4tMTtpZihlPT1udWxsKXJldHVybiAxO2lmKHR5cGVvZiBhPT0ibnVtYmVyIiYmdHlwZW9mIGU9PSJudW1iZXIiKXJldHVybiBhPGU/LTE6YT5lPzE6MDtsZXQgdD1TdHJpbmcoYSkudG9Mb3dlckNhc2UoKSxyPVN0cmluZyhlKS50b0xvd2VyQ2FzZSgpO3JldHVybiB0PHI/LTE6dD5yPzE6MH1mdW5jdGlvbiBobGEoYSxlLHQscixpLG89InRhYmxlIixuKXtsZXQgbD1hLnNsaWNlKCksZD0ocnx8IiIpLnRyaW0oKS50b0xvd2VyQ2FzZSgpLGM9aXx8e30scD1PYmplY3Qua2V5cyhjKS5maWx0ZXIobT0+KGNbbV0/PyIiKS50cmltKCkubGVuZ3RoPjApO2lmKChkfHxwLmxlbmd0aD4wKSYmKGw9bC5maWx0ZXIobT0+e2ZvcihsZXQgdiBvZiBwKWlmKG89PT0iZGF0YSIpe2xldCB4PW1bdl0sYj1TdHJpbmcoeD8/IiIpLnRvTG93ZXJDYXNlKCksZz1TdHJpbmcoY1t2XSkudG9Mb3dlckNhc2UoKTtpZighYi5pbmNsdWRlcyhnKSlyZXR1cm4hMX1lbHNle2xldCB4PWUuZmluZChrPT5TdHJpbmcoay5rZXkpPT09dik7aWYoIXh8fHguaGlkZGVufHx4LmZpbHRlcmFibGU9PT0hMSljb250aW51ZTtsZXQgYj1MNChtLHgpLGc9U3RyaW5nKGI/PyIiKS50b0xvd2VyQ2FzZSgpLHk9U3RyaW5nKGNbdl0pLnRvTG93ZXJDYXNlKCk7aWYoIWcuaW5jbHVkZXMoeSkpcmV0dXJuITF9aWYoZCl7aWYobilyZXR1cm4hIW4obSk7bGV0IHY9ITE7aWYobz09PSJkYXRhIil7Zm9yKGxldCB4IG9mIE9iamVjdC52YWx1ZXMobSkpaWYoU3RyaW5nKHg/PyIiKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGQpKXt2PSEwO2JyZWFrfX1lbHNlIGZvcihsZXQgeCBvZiBlKXtpZih4LmhpZGRlbiljb250aW51ZTtsZXQgYj1MNChtLHgpO2lmKFN0cmluZyhiPz8iIikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhkKSl7dj0hMDticmVha319aWYoIXYpcmV0dXJuITF9cmV0dXJuITB9KSksIXR8fHQubGVuZ3RoPT09MClyZXR1cm4gbDtsZXQgdT10Lm1hcChtPT4oe2Rlc2M6bSxjb2w6ZS5maW5kKHY9PlN0cmluZyh2LmtleSk9PT1tLmtleSl9KSkuZmlsdGVyKG09PiEhbS5jb2wpO3JldHVybiB1Lmxlbmd0aD09PTB8fGwuc29ydCgobSx2KT0+e2ZvcihsZXR7ZGVzYzp4LGNvbDpifW9mIHUpe2xldCBnPUxJYShMNChtLGIpLEw0KHYsYikpO2lmKGchPT0wKXJldHVybiB4LmRpcj09PSJhc2MiP2c6LWd9cmV0dXJuIDB9KSxsfXZhciBtbGE9ZigoKT0+e3MoblFlLCJjb21wdXRlQ29sdW1uc0Zyb21EaXNwbGF5RnVuY3Rpb24iKTtzKGZsYSwiY29tcHV0ZUVmZmVjdGl2ZUNvbHVtbnMiKTtzKEw0LCJnZXRDZWxsVmFsdWUiKTtzKExJYSwiY29tcGFyZUNlbGxWYWx1ZXMiKTtzKGhsYSwiZ2V0Vmlld0RhdGEiKX0pO2Z1bmN0aW9uIEhzZShhKXtyZXR1cm4gYS5zdGFydHNXaXRoKCciJykmJmEuZW5kc1dpdGgoJyInKXx8YS5zdGFydHNXaXRoKCInIikmJmEuZW5kc1dpdGgoIiciKT9hLnNsaWNlKDEsLTEpOmF9ZnVuY3Rpb24gJElhKGEpe3JldHVybiBhLnNwbGl0KC9ccytPUlxzKy9pKS5tYXAoZT0+ZS50cmltKCkpLmZpbHRlcihCb29sZWFuKX1mdW5jdGlvbiBESWEoYSl7cmV0dXJuIGEuc3BsaXQoL1xzK0FORFxzKy9pKS5tYXAoZT0+ZS50cmltKCkpLmZpbHRlcihCb29sZWFuKX1mdW5jdGlvbiBBSWEoYSl7aWYoIWEpcmV0dXJuIG51bGw7bGV0IGU9ITEsdD1hLm1hdGNoKC9eXHMqKE5PVFxzK3wtKVxzKiguKikkL2kpO3QmJihlPSEwLGE9dFsyXSk7bGV0IHI9YS5tYXRjaCgvXihbXjpcc10rKVxzKjpccypcWyguKj8pXHMrVE9ccysoLio/KVxdJC9pKTtpZihyKXJldHVybntmaWVsZDpyWzFdLG5lZ2F0ZTplLHJhbmdlOntsb3dlcjpIc2UoclsyXSkudG9Mb3dlckNhc2UoKSx1cHBlcjpIc2UoclszXSkudG9Mb3dlckNhc2UoKSxpbmNsdXNpdmU6ITB9fTtsZXQgaT1hLm1hdGNoKC9eKFteOlxzXSspXHMqOlxzKigiW14iXSoifCdbXiddKid8W14iJ1xzXSspJC8pO3JldHVybiBpP3tmaWVsZDppWzFdLHZhbHVlOkhzZShpWzJdKS50b0xvd2VyQ2FzZSgpLG5lZ2F0ZTplfTphLmxlbmd0aD4wP3t2YWx1ZTpIc2UoYSkudG9Mb3dlckNhc2UoKSxuZWdhdGU6ZX06bnVsbH1mdW5jdGlvbiBFSWEoYSl7aWYoIWEpcmV0dXJuIG51bGw7bGV0IGU9JElhKGEpLm1hcCh0PT4oe3Rlcm1zOkRJYSh0KS5tYXAoQUlhKS5maWx0ZXIoaT0+ISFpJiYhIWkudmFsdWUpfSkpLmZpbHRlcih0PT50LnRlcm1zLmxlbmd0aD4wKTtyZXR1cm4gZS5sZW5ndGg9PT0wP251bGw6e2NsYXVzZXM6ZX19ZnVuY3Rpb24gZ2xhKGEsZSx0KXtsZXQgcj1FSWEoYSk7aWYoIXIpcmV0dXJuIG51bGw7bGV0IGk9bmV3IE1hcCh0Lm1hcChkPT5bU3RyaW5nKGQua2V5KSxkXSkpLG89cygoZCxjKT0+ZDxjPy0xOmQ+Yz8xOjAsImNtcCIpLG49cyhkPT57bGV0IGM9U3RyaW5nKGQ/PyIiKS50b0xvd2VyQ2FzZSgpLHA9TnVtYmVyKGMpLHU9RGF0ZS5wYXJzZShjKTtyZXR1cm4hTnVtYmVyLmlzTmFOKHApJiZjLnRyaW0oKSE9PSIiP3t0OiJuIix2OnB9Ok51bWJlci5pc05hTih1KT97dDoicyIsdjpjfTp7dDoiZCIsdjp1fX0sImNvZXJjZSIpLGw9cygoZCxjLHApPT57bGV0IHU9bihkKSxtPW4oYyksdj1uKHApO2lmKHUudD09PSJzIiYmbS50PT09InMiJiZ2LnQ9PT0icyIpe2xldCBiPXUudjtyZXR1cm4gbyhiLG0udik+PTAmJm8oYix2LnYpPD0wfWlmKHUudD09PSJuIiYmbS50PT09Im4iJiZ2LnQ9PT0ibiIpe2xldCBiPXUudjtyZXR1cm4gYj49bS52JiZiPD12LnZ9aWYodS50PT09ImQiJiZtLnQ9PT0iZCImJnYudD09PSJkIil7bGV0IGI9dS52O3JldHVybiBiPj1tLnYmJmI8PXYudn1sZXQgeD1TdHJpbmcoZD8/IiIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIG8oeCxjKT49MCYmbyh4LHApPD0wfSwiaW5SYW5nZSIpO3JldHVybiBkPT57Zm9yKGxldCBjIG9mIHIuY2xhdXNlcyl7bGV0IHA9ITA7Zm9yKGxldCB1IG9mIGMudGVybXMpe2xldCBtPSExO2lmKHUucmFuZ2UmJnUuZmllbGQpaWYoZT09PSJkYXRhIiltPWwoZFt1LmZpZWxkXSx1LnJhbmdlLmxvd2VyLHUucmFuZ2UudXBwZXIpO2Vsc2V7bGV0IHY9aS5nZXQodS5maWVsZCk7aWYoIXZ8fHYuaGlkZGVuKW09ITE7ZWxzZXtsZXQgeD12LnZhbHVlP3YudmFsdWUoZCk6ZFt2LmtleV07bT1sKHgsdS5yYW5nZS5sb3dlcix1LnJhbmdlLnVwcGVyKX19ZWxzZSBpZih1LmZpZWxkJiZ1LnZhbHVlIT1udWxsKWlmKGU9PT0iZGF0YSIpbT1TdHJpbmcoZFt1LmZpZWxkXT8/IiIpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModS52YWx1ZSk7ZWxzZXtsZXQgdj1pLmdldCh1LmZpZWxkKTtpZighdnx8di5oaWRkZW49PT0hMCltPSExO2Vsc2V7bGV0IHg9di52YWx1ZT92LnZhbHVlKGQpOmRbdi5rZXldO209U3RyaW5nKHg/PyIiKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHUudmFsdWUpfX1lbHNlIHUudmFsdWUhPW51bGwmJihlPT09ImRhdGEiP209T2JqZWN0LnZhbHVlcyhkKS5zb21lKHY9PlN0cmluZyh2Pz8iIikudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh1LnZhbHVlKSk6bT10LnNvbWUodj0+e2lmKHYuaGlkZGVuKXJldHVybiExO2xldCB4PXYudmFsdWU/di52YWx1ZShkKTpkW3Yua2V5XTtyZXR1cm4gU3RyaW5nKHg/PyIiKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHUudmFsdWUpfSkpO2lmKHUubmVnYXRlJiYobT0hbSksIW0pe3A9ITE7YnJlYWt9fWlmKHApcmV0dXJuITB9cmV0dXJuITF9fXZhciBibGE9ZigoKT0+e3MoSHNlLCJzdHJpcFF1b3RlcyIpO3MoJElhLCJzcGxpdEJ5T3IiKTtzKERJYSwic3BsaXRCeUFuZCIpO3MoQUlhLCJwYXJzZVRlcm0iKTtzKEVJYSwicGFyc2VMdWNlbmUiKTtzKGdsYSwiY29tcGlsZUx1Y2VuZVByZWRpY2F0ZSIpfSk7ZnVuY3Rpb24gUElhKGEpe2xldCBlPVsidGgiLCJzdCIsIm5kIiwicmQiXSx0PWElMTAwO3JldHVybiBhKyhlWyh0LTIwKSUxMF18fGVbdF18fGVbMF0pfXZhciBmYSxpdCxxc2UsYVFlPWYoKCk9PntWcygpO2RsYSgpO2xlKCk7WXIoKTtwYygpO0p0KCk7dmEoKTtwbGEoKTtyUWUoKTtzUWUoKTtpUWUoKTtyYWUoKTtvUWUoKTttbGEoKTtibGEoKTtRZSgpO0tyKCk7ZmE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGl0PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfTtzKFBJYSwib3JkaW5hbExhYmVsIik7cXNlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy10YWJsZSIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdLFAsQT1bXSxGPVtdLFcsaj1bXSxHPVtdLGhlLFI9W10sVT1bXSxtZSxJPVtdLHE9W10sY2UsdWU9W10sWT1bXSxYLEo9W10sWj1bXSxnZSxhZT1bXSxyZT1bXSx5ZSxWPVtdLEg9W10sb2Usc2U9W10sdGU9W10semUsT2U9W10scWU9W10sY3QsJGU9W10sQ2U9W10sTWUsZGU9W10sdmU9W10sQWUsS2U9W10sbnQ9W10sU3QsVGU9W10sd2U9W10sUmUsZmU9W10sYmU9W10sUGUscHQ9W10sbXQ9W10sTnQsWGE9W10sSmE9W10sdnMsamU9W10sZHQ9W10sUWEsTXI9W10sJHI9W10sSHIsRHI9W10saG89W10sbW8sTGU9W10sU2U9W10sQmUsaWE9W10seHM9W10sbWwseGU9W10sbmU9W10sX2UsVWU9W10sa3Q9W10seXMscXI9W10sUmk9W10sS24sczI9W10sZ2w9W10sWm4sUTQ9W10sazc9W10sUzcsejc9W10sQzc9W10sXzcsVDc9W10sTDc9W107dmFyICQ3PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzVGFibGUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgRD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOkFycmF5fSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6U3RyaW5nfSldLE49WyQoe3R5cGU6Qm9vbGVhbn0pXSxPPVskKHt0eXBlOkJvb2xlYW59KV0sQj1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxQPVskKHt0eXBlOkJvb2xlYW59KV0sVz1bJCh7dHlwZTpBcnJheX0pXSxoZT1bJCh7YXR0cmlidXRlOiExfSldLG1lPVskKHthdHRyaWJ1dGU6ITF9KV0sY2U9WyQoe3R5cGU6Qm9vbGVhbn0pXSxYPVskKHthdHRyaWJ1dGU6ITF9KV0sZ2U9WyQoe2F0dHJpYnV0ZTohMX0pXSx5ZT1bJCh7dHlwZTpPYmplY3R9KV0sb2U9WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwLGF0dHJpYnV0ZToic2hvdy12ZXJ0aWNhbC1saW5lcyJ9KV0semU9WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwLGF0dHJpYnV0ZToic2hvdy1ob3Jpem9udGFsLWxpbmVzIn0pXSxjdD1bJCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITAsYXR0cmlidXRlOiJzaG93LWdyaWQifSldLE1lPVskKHthdHRyaWJ1dGU6ITF9KV0sQWU9WyQoe3R5cGU6U3RyaW5nfSldLFN0PVskKHthdHRyaWJ1dGU6ITF9KV0sUmU9WyQoe3R5cGU6Qm9vbGVhbixhdHRyaWJ1dGU6InNob3ctY29sdW1uLWZpbHRlcnMifSldLFBlPVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMCxhdHRyaWJ1dGU6InNob3ctc2VsZWN0aW9uLWNoZWNrYm94In0pXSxOdD1bJCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITAsYXR0cmlidXRlOiJ2aXJ0dWFsaXplZCJ9KV0sdnM9WyQoe3R5cGU6TnVtYmVyLGF0dHJpYnV0ZToidmlydHVhbC1vdmVyc2NhbiJ9KV0sUWE9WyQoe3R5cGU6U3RyaW5nLGF0dHJpYnV0ZToiaGlnaGxpZ2h0LXVwZGF0ZXMifSldLEhyPVskKHt0eXBlOk51bWJlcixhdHRyaWJ1dGU6ImhpZ2hsaWdodC1kdXJhdGlvbiJ9KV0sbW89WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwLGF0dHJpYnV0ZToiZml4ZWQtaGVpZ2h0In0pXSxCZT1bJCh7dHlwZTpTdHJpbmd9KV0sbWw9WyQoe3R5cGU6U3RyaW5nfSldLF9lPVskKHthdHRyaWJ1dGU6ITF9KV0seXM9W0soKV0sS249W0soKV0sWm49W0soKV0sUzc9W0soKV0sXzc9W0soKV0sZmEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoZWFkaW5nMSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iaGVhZGluZzEiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5oZWFkaW5nMSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5oZWFkaW5nMT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxuLGwpLGZhKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGVhZGluZzIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImhlYWRpbmcyImluIEwsImhhcyIpLGdldDpzKEw9PkwuaGVhZGluZzIsImdldCIpLHNldDpzKChMLGVlKT0+e0wuaGVhZGluZzI9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sYyxwKSxmYSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGEiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImRhdGEiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5kYXRhLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmRhdGE9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sbSx2KSxmYSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImtleSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ia2V5ImluIEwsImhhcyIpLGdldDpzKEw9Pkwua2V5LCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmtleT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxiLGcpLGZhKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImxhYmVsImluIEwsImhhcyIpLGdldDpzKEw9PkwubGFiZWwsImdldCIpLHNldDpzKChMLGVlKT0+e0wubGFiZWw9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sayxDKSxmYSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpc2FibGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJkaXNhYmxlZCJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmRpc2FibGVkLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmRpc2FibGVkPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LF8seiksZmEodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXF1aXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4icmVxdWlyZWQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5yZXF1aXJlZCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5yZXF1aXJlZD1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxULEUpLGZhKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YU5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImRhdGFOYW1lImluIEwsImhhcyIpLGdldDpzKEw9PkwuZGF0YU5hbWUsImdldCIpLHNldDpzKChMLGVlKT0+e0wuZGF0YU5hbWU9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sTSxTKSxmYSh0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlYXJjaGFibGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InNlYXJjaGFibGUiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5zZWFyY2hhYmxlLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNlYXJjaGFibGU9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sQSxGKSxmYSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRhdGFBY3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJkYXRhQWN0aW9ucyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmRhdGFBY3Rpb25zLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmRhdGFBY3Rpb25zPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGosRyksZmEodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sdW1ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iY29sdW1ucyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmNvbHVtbnMsImdldCIpLHNldDpzKChMLGVlKT0+e0wuY29sdW1ucz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxSLFUpLGZhKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJvd0tleSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4icm93S2V5ImluIEwsImhhcyIpLGdldDpzKEw9Pkwucm93S2V5LCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnJvd0tleT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxJLHEpLGZhKHRoaXMsbnVsbCxjZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJhdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbiJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LHVlLFkpLGZhKHRoaXMsbnVsbCxYLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGlzcGxheUZ1bmN0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJkaXNwbGF5RnVuY3Rpb24iaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5kaXNwbGF5RnVuY3Rpb24sImdldCIpLHNldDpzKChMLGVlKT0+e0wuZGlzcGxheUZ1bmN0aW9uPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LEosWiksZmEodGhpcyxudWxsLGdlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmV2ZXJzZURpc3BsYXlGdW5jdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4icmV2ZXJzZURpc3BsYXlGdW5jdGlvbiJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnJldmVyc2VEaXNwbGF5RnVuY3Rpb24sImdldCIpLHNldDpzKChMLGVlKT0+e0wucmV2ZXJzZURpc3BsYXlGdW5jdGlvbj1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxhZSxyZSksZmEodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWREYXRhUm93IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzZWxlY3RlZERhdGFSb3ciaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5zZWxlY3RlZERhdGFSb3csImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2VsZWN0ZWREYXRhUm93PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFYsSCksZmEodGhpcyxudWxsLG9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1ZlcnRpY2FsTGluZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InNob3dWZXJ0aWNhbExpbmVzImluIEwsImhhcyIpLGdldDpzKEw9Pkwuc2hvd1ZlcnRpY2FsTGluZXMsImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2hvd1ZlcnRpY2FsTGluZXM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sc2UsdGUpLGZhKHRoaXMsbnVsbCx6ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dIb3Jpem9udGFsTGluZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InNob3dIb3Jpem9udGFsTGluZXMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5zaG93SG9yaXpvbnRhbExpbmVzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNob3dIb3Jpem9udGFsTGluZXM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sT2UscWUpLGZhKHRoaXMsbnVsbCxjdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dHcmlkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzaG93R3JpZCJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNob3dHcmlkLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNob3dHcmlkPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LCRlLENlKSxmYSh0aGlzLG51bGwsTWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzb3J0QnkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InNvcnRCeSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNvcnRCeSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5zb3J0Qnk9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sZGUsdmUpLGZhKHRoaXMsbnVsbCxBZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbHRlclRleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImZpbHRlclRleHQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5maWx0ZXJUZXh0LCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmZpbHRlclRleHQ9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sS2UsbnQpLGZhKHRoaXMsbnVsbCxTdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbHVtbkZpbHRlcnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImNvbHVtbkZpbHRlcnMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5jb2x1bW5GaWx0ZXJzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmNvbHVtbkZpbHRlcnM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sVGUsd2UpLGZhKHRoaXMsbnVsbCxSZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dDb2x1bW5GaWx0ZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzaG93Q29sdW1uRmlsdGVycyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNob3dDb2x1bW5GaWx0ZXJzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNob3dDb2x1bW5GaWx0ZXJzPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGZlLGJlKSxmYSh0aGlzLG51bGwsUGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93U2VsZWN0aW9uQ2hlY2tib3giLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InNob3dTZWxlY3Rpb25DaGVja2JveCJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNob3dTZWxlY3Rpb25DaGVja2JveCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5zaG93U2VsZWN0aW9uQ2hlY2tib3g9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0scHQsbXQpLGZhKHRoaXMsbnVsbCxOdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZpcnR1YWxpemVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJ2aXJ0dWFsaXplZCJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnZpcnR1YWxpemVkLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnZpcnR1YWxpemVkPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFhhLEphKSxmYSh0aGlzLG51bGwsdnMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aXJ0dWFsT3ZlcnNjYW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InZpcnR1YWxPdmVyc2NhbiJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnZpcnR1YWxPdmVyc2NhbiwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC52aXJ0dWFsT3ZlcnNjYW49ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0samUsZHQpLGZhKHRoaXMsbnVsbCxRYSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhpZ2hsaWdodFVwZGF0ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImhpZ2hsaWdodFVwZGF0ZXMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5oaWdobGlnaHRVcGRhdGVzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmhpZ2hsaWdodFVwZGF0ZXM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sTXIsJHIpLGZhKHRoaXMsbnVsbCxIcix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhpZ2hsaWdodER1cmF0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJoaWdobGlnaHREdXJhdGlvbiJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmhpZ2hsaWdodER1cmF0aW9uLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmhpZ2hsaWdodER1cmF0aW9uPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LERyLGhvKSxmYSh0aGlzLG51bGwsbW8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaXhlZEhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iZml4ZWRIZWlnaHQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5maXhlZEhlaWdodCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5maXhlZEhlaWdodD1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxMZSxTZSksZmEodGhpcyxudWxsLEJlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VhcmNoTW9kZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ic2VhcmNoTW9kZSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNlYXJjaE1vZGUsImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2VhcmNoTW9kZT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxpYSx4cyksZmEodGhpcyxudWxsLG1sLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0aW9uTW9kZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ic2VsZWN0aW9uTW9kZSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNlbGVjdGlvbk1vZGUsImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2VsZWN0aW9uTW9kZT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSx4ZSxuZSksZmEodGhpcyxudWxsLF9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRJZHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+InNlbGVjdGVkSWRzImluIEwsImhhcyIpLGdldDpzKEw9Pkwuc2VsZWN0ZWRJZHMsImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2VsZWN0ZWRJZHM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sVWUsa3QpLGZhKHRoaXMsbnVsbCx5cyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Il9fZm9jdXNlZENlbGwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Il9fZm9jdXNlZENlbGwiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5fX2ZvY3VzZWRDZWxsLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLl9fZm9jdXNlZENlbGw9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0scXIsUmkpLGZhKHRoaXMsbnVsbCxLbix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Il9fZWRpdGluZ0NlbGwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Il9fZWRpdGluZ0NlbGwiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5fX2VkaXRpbmdDZWxsLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLl9fZWRpdGluZ0NlbGw9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sczIsZ2wpLGZhKHRoaXMsbnVsbCxabix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Il9fZmxvYXRpbmdBY3RpdmUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Il9fZmxvYXRpbmdBY3RpdmUiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5fX2Zsb2F0aW5nQWN0aXZlLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLl9fZmxvYXRpbmdBY3RpdmU9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sUTQsazcpLGZhKHRoaXMsbnVsbCxTNyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Il9fZmxhc2hpbmdDZWxscyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iX19mbGFzaGluZ0NlbGxzImluIEwsImhhcyIpLGdldDpzKEw9PkwuX19mbGFzaGluZ0NlbGxzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLl9fZmxhc2hpbmdDZWxscz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSx6NyxDNyksZmEodGhpcyxudWxsLF83LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiX192aXJ0dWFsUmFuZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Il9fdmlydHVhbFJhbmdlImluIEwsImhhcyIpLGdldDpzKEw9PkwuX192aXJ0dWFsUmFuZ2UsImdldCIpLHNldDpzKChMLGVlKT0+e0wuX192aXJ0dWFsUmFuZ2U9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sVDcsTDcpLGZhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOkR9LG51bGwsdCksJDc9cj1lLnZhbHVlLEQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6RH0pfXN0YXRpYyBkZW1vPWNsYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhdGEgVmlldyJdOyNlPWl0KHRoaXMsbiwiaGVhZGluZyAxIik7Z2V0IGhlYWRpbmcxKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGhlYWRpbmcxKEQpe3RoaXMuI2U9RH0jdD0oaXQodGhpcyxsKSxpdCh0aGlzLGMsImhlYWRpbmcgMiIpKTtnZXQgaGVhZGluZzIoKXtyZXR1cm4gdGhpcy4jdH1zZXQgaGVhZGluZzIoRCl7dGhpcy4jdD1EfSNhPShpdCh0aGlzLHApLGl0KHRoaXMsbSxbXSkpO2dldCBkYXRhKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGRhdGEoRCl7dGhpcy4jYT1EfSNyPShpdCh0aGlzLHYpLGl0KHRoaXMsYix2b2lkIDApKTtnZXQga2V5KCl7cmV0dXJuIHRoaXMuI3J9c2V0IGtleShEKXt0aGlzLiNyPUR9I3M9KGl0KHRoaXMsZyksaXQodGhpcyxrLHZvaWQgMCkpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiNzfXNldCBsYWJlbChEKXt0aGlzLiNzPUR9I2k9KGl0KHRoaXMsQyksaXQodGhpcyxfLCExKSk7Z2V0IGRpc2FibGVkKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGRpc2FibGVkKEQpe3RoaXMuI2k9RH0jbz0oaXQodGhpcyx6KSxpdCh0aGlzLFQsITEpKTtnZXQgcmVxdWlyZWQoKXtyZXR1cm4gdGhpcy4jb31zZXQgcmVxdWlyZWQoRCl7dGhpcy4jbz1EfWdldCB2YWx1ZSgpe3JldHVybiB0aGlzLmRhdGF9c2V0IHZhbHVlKEQpe31jaGFuZ2VTdWJqZWN0PShpdCh0aGlzLEUpLG5ldyBCdC5zbWFydHJ4LnJ4anMuU3ViamVjdCk7I249aXQodGhpcyxNLHZvaWQgMCk7Z2V0IGRhdGFOYW1lKCl7cmV0dXJuIHRoaXMuI259c2V0IGRhdGFOYW1lKEQpe3RoaXMuI249RH0jbD0oaXQodGhpcyxTKSxpdCh0aGlzLEEsITApKTtnZXQgc2VhcmNoYWJsZSgpe3JldHVybiB0aGlzLiNsfXNldCBzZWFyY2hhYmxlKEQpe3RoaXMuI2w9RH0jYz0oaXQodGhpcyxGKSxpdCh0aGlzLGosW10pKTtnZXQgZGF0YUFjdGlvbnMoKXtyZXR1cm4gdGhpcy4jY31zZXQgZGF0YUFjdGlvbnMoRCl7dGhpcy4jYz1EfSNkPShpdCh0aGlzLEcpLGl0KHRoaXMsUixbXSkpO2dldCBjb2x1bW5zKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGNvbHVtbnMoRCl7dGhpcy4jZD1EfSN1PShpdCh0aGlzLFUpLGl0KHRoaXMsSSx2b2lkIDApKTtnZXQgcm93S2V5KCl7cmV0dXJuIHRoaXMuI3V9c2V0IHJvd0tleShEKXt0aGlzLiN1PUR9I3A9KGl0KHRoaXMscSksaXQodGhpcyx1ZSwhMSkpO2dldCBhdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbigpe3JldHVybiB0aGlzLiNwfXNldCBhdWdtZW50RnJvbURpc3BsYXlGdW5jdGlvbihEKXt0aGlzLiNwPUR9I2Y9KGl0KHRoaXMsWSksaXQodGhpcyxKLEQ9PkQpKTtnZXQgZGlzcGxheUZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IGRpc3BsYXlGdW5jdGlvbihEKXt0aGlzLiNmPUR9I2g9KGl0KHRoaXMsWiksaXQodGhpcyxhZSxEPT5EKSk7Z2V0IHJldmVyc2VEaXNwbGF5RnVuY3Rpb24oKXtyZXR1cm4gdGhpcy4jaH1zZXQgcmV2ZXJzZURpc3BsYXlGdW5jdGlvbihEKXt0aGlzLiNoPUR9I209KGl0KHRoaXMscmUpLGl0KHRoaXMsVix2b2lkIDApKTtnZXQgc2VsZWN0ZWREYXRhUm93KCl7cmV0dXJuIHRoaXMuI219c2V0IHNlbGVjdGVkRGF0YVJvdyhEKXt0aGlzLiNtPUR9I2c9KGl0KHRoaXMsSCksaXQodGhpcyxzZSwhMSkpO2dldCBzaG93VmVydGljYWxMaW5lcygpe3JldHVybiB0aGlzLiNnfXNldCBzaG93VmVydGljYWxMaW5lcyhEKXt0aGlzLiNnPUR9I2I9KGl0KHRoaXMsdGUpLGl0KHRoaXMsT2UsITEpKTtnZXQgc2hvd0hvcml6b250YWxMaW5lcygpe3JldHVybiB0aGlzLiNifXNldCBzaG93SG9yaXpvbnRhbExpbmVzKEQpe3RoaXMuI2I9RH0jdj0oaXQodGhpcyxxZSksaXQodGhpcywkZSwhMCkpO2dldCBzaG93R3JpZCgpe3JldHVybiB0aGlzLiN2fXNldCBzaG93R3JpZChEKXt0aGlzLiN2PUR9ZmlsZXM9KGl0KHRoaXMsQ2UpLFtdKTtmaWxlV2Vha01hcD1uZXcgV2Vha01hcDtkYXRhQ2hhbmdlU3ViamVjdD1uZXcgQnQuc21hcnRyeC5yeGpzLlN1YmplY3Q7I3g9aXQodGhpcyxkZSxbXSk7Z2V0IHNvcnRCeSgpe3JldHVybiB0aGlzLiN4fXNldCBzb3J0QnkoRCl7dGhpcy4jeD1EfSN5PShpdCh0aGlzLHZlKSxpdCh0aGlzLEtlLCIiKSk7Z2V0IGZpbHRlclRleHQoKXtyZXR1cm4gdGhpcy4jeX1zZXQgZmlsdGVyVGV4dChEKXt0aGlzLiN5PUR9I3c9KGl0KHRoaXMsbnQpLGl0KHRoaXMsVGUse30pKTtnZXQgY29sdW1uRmlsdGVycygpe3JldHVybiB0aGlzLiN3fXNldCBjb2x1bW5GaWx0ZXJzKEQpe3RoaXMuI3c9RH0jTT0oaXQodGhpcyx3ZSksaXQodGhpcyxmZSwhMSkpO2dldCBzaG93Q29sdW1uRmlsdGVycygpe3JldHVybiB0aGlzLiNNfXNldCBzaG93Q29sdW1uRmlsdGVycyhEKXt0aGlzLiNNPUR9I2s9KGl0KHRoaXMsYmUpLGl0KHRoaXMscHQsITEpKTtnZXQgc2hvd1NlbGVjdGlvbkNoZWNrYm94KCl7cmV0dXJuIHRoaXMuI2t9c2V0IHNob3dTZWxlY3Rpb25DaGVja2JveChEKXt0aGlzLiNrPUR9I1M9KGl0KHRoaXMsbXQpLGl0KHRoaXMsWGEsITEpKTtnZXQgdmlydHVhbGl6ZWQoKXtyZXR1cm4gdGhpcy4jU31zZXQgdmlydHVhbGl6ZWQoRCl7dGhpcy4jUz1EfSN6PShpdCh0aGlzLEphKSxpdCh0aGlzLGplLDgpKTtnZXQgdmlydHVhbE92ZXJzY2FuKCl7cmV0dXJuIHRoaXMuI3p9c2V0IHZpcnR1YWxPdmVyc2NhbihEKXt0aGlzLiN6PUR9I0M9KGl0KHRoaXMsZHQpLGl0KHRoaXMsTXIsIm5vbmUiKSk7Z2V0IGhpZ2hsaWdodFVwZGF0ZXMoKXtyZXR1cm4gdGhpcy4jQ31zZXQgaGlnaGxpZ2h0VXBkYXRlcyhEKXt0aGlzLiNDPUR9I189KGl0KHRoaXMsJHIpLGl0KHRoaXMsRHIsOTAwKSk7Z2V0IGhpZ2hsaWdodER1cmF0aW9uKCl7cmV0dXJuIHRoaXMuI199c2V0IGhpZ2hsaWdodER1cmF0aW9uKEQpe3RoaXMuI189RH0jVD0oaXQodGhpcyxobyksaXQodGhpcyxMZSwhMSkpO2dldCBmaXhlZEhlaWdodCgpe3JldHVybiB0aGlzLiNUfXNldCBmaXhlZEhlaWdodChEKXt0aGlzLiNUPUR9I0w9KGl0KHRoaXMsU2UpLGl0KHRoaXMsaWEsInRhYmxlIikpO2dldCBzZWFyY2hNb2RlKCl7cmV0dXJuIHRoaXMuI0x9c2V0IHNlYXJjaE1vZGUoRCl7dGhpcy4jTD1EfV9fc2VhcmNoVGV4dFN1Yj1pdCh0aGlzLHhzKTtfX3NlYXJjaE1vZGVTdWI7IyQ9aXQodGhpcyx4ZSwibm9uZSIpO2dldCBzZWxlY3Rpb25Nb2RlKCl7cmV0dXJuIHRoaXMuIyR9c2V0IHNlbGVjdGlvbk1vZGUoRCl7dGhpcy4jJD1EfSNEPShpdCh0aGlzLG5lKSxpdCh0aGlzLFVlLG5ldyBTZXQpKTtnZXQgc2VsZWN0ZWRJZHMoKXtyZXR1cm4gdGhpcy4jRH1zZXQgc2VsZWN0ZWRJZHMoRCl7dGhpcy4jRD1EfV9yb3dJZE1hcD0oaXQodGhpcyxrdCksbmV3IFdlYWtNYXApO19yb3dJZENvdW50ZXI9MDtfX3NlbGVjdGlvbkFuY2hvcklkOyNBPWl0KHRoaXMscXIsdm9pZCAwKTtnZXQgX19mb2N1c2VkQ2VsbCgpe3JldHVybiB0aGlzLiNBfXNldCBfX2ZvY3VzZWRDZWxsKEQpe3RoaXMuI0E9RH0jRT0oaXQodGhpcyxSaSksaXQodGhpcyxzMix2b2lkIDApKTtnZXQgX19lZGl0aW5nQ2VsbCgpe3JldHVybiB0aGlzLiNFfXNldCBfX2VkaXRpbmdDZWxsKEQpe3RoaXMuI0U9RH0jUD0oaXQodGhpcyxnbCksaXQodGhpcyxRNCwhMSkpO2dldCBfX2Zsb2F0aW5nQWN0aXZlKCl7cmV0dXJuIHRoaXMuI1B9c2V0IF9fZmxvYXRpbmdBY3RpdmUoRCl7dGhpcy4jUD1EfSNJPShpdCh0aGlzLGs3KSxpdCh0aGlzLHo3LG5ldyBNYXApKTtnZXQgX19mbGFzaGluZ0NlbGxzKCl7cmV0dXJuIHRoaXMuI0l9c2V0IF9fZmxhc2hpbmdDZWxscyhEKXt0aGlzLiNJPUR9X19wcmV2U25hcHNob3Q9aXQodGhpcyxDNyk7X19mbGFzaENsZWFyVGltZXI7X19mbGFzaFRpY2s9MDtfX2ZsYXNoV2FybmVkTm9Sb3dLZXk9ITE7X19tZW1vRWZmZWN0aXZlQ29scztfX21lbW9WaWV3RGF0YTtfX2NvbHVtbnNTaXplZEZvcjtfX3Jvd0hlaWdodD0zNjtfX3Jvd0hlaWdodE1lYXN1cmVkPSExOyNOPWl0KHRoaXMsVDcse3N0YXJ0OjAsZW5kOjB9KTtnZXQgX192aXJ0dWFsUmFuZ2UoKXtyZXR1cm4gdGhpcy4jTn1zZXQgX192aXJ0dWFsUmFuZ2UoRCl7dGhpcy4jTj1EfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLmhhc0F0dHJpYnV0ZSgidGFiaW5kZXgiKXx8dGhpcy5zZXRBdHRyaWJ1dGUoInRhYmluZGV4IiwiMCIpLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsdGhpcy5fX2hhbmRsZUhvc3RLZXlkb3duKX1fX2hhbmRsZUhvc3RLZXlkb3duPShpdCh0aGlzLEw3KSxEPT57bGV0IEw9RC5jb21wb3NlZFBhdGg/LigpfHxbXSxlZT0hMTtmb3IobGV0IEllIG9mIEwpe2xldCBXZT1JZT8udGFnTmFtZTtpZihXZT09PSJJTlBVVCJ8fFdlPT09IlRFWFRBUkVBInx8SWU/LmlzQ29udGVudEVkaXRhYmxlKXtlZT0hMDticmVha319aWYoKEQubWV0YUtleXx8RC5jdHJsS2V5KSYmKEQua2V5PT09ImMifHxELmtleT09PSJDIikpe2lmKGVlKXJldHVybjtsZXQgSWU9W107aWYodGhpcy5zZWxlY3RlZElkcy5zaXplPjApZm9yKGxldCBXZSBvZiB0aGlzLmRhdGEpdGhpcy5zZWxlY3RlZElkcy5oYXModGhpcy5nZXRSb3dJZChXZSkpJiZJZS5wdXNoKFdlKTtlbHNlIHRoaXMuc2VsZWN0ZWREYXRhUm93JiZJZS5wdXNoKHRoaXMuc2VsZWN0ZWREYXRhUm93KTtpZihJZS5sZW5ndGg9PT0wKXJldHVybjtELnByZXZlbnREZWZhdWx0KCksdGhpcy5fX3dyaXRlUm93c0FzSnNvbihJZSk7cmV0dXJufWlmKCEoZWV8fHRoaXMuX19lZGl0aW5nQ2VsbCkpc3dpdGNoKEQua2V5KXtjYXNlIkFycm93TGVmdCI6RC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMubW92ZUZvY3VzZWRDZWxsKC0xLDAsITEpO3JldHVybjtjYXNlIkFycm93UmlnaHQiOkQucHJldmVudERlZmF1bHQoKSx0aGlzLm1vdmVGb2N1c2VkQ2VsbCgxLDAsITEpO3JldHVybjtjYXNlIkFycm93VXAiOkQucHJldmVudERlZmF1bHQoKSx0aGlzLm1vdmVGb2N1c2VkQ2VsbCgwLC0xLCExKTtyZXR1cm47Y2FzZSJBcnJvd0Rvd24iOkQucHJldmVudERlZmF1bHQoKSx0aGlzLm1vdmVGb2N1c2VkQ2VsbCgwLDEsITEpO3JldHVybjtjYXNlIkVudGVyIjpjYXNlIkYyIjp7aWYoIXRoaXMuX19mb2N1c2VkQ2VsbClyZXR1cm47bGV0IFdlPSh0aGlzLl9sYXN0Vmlld0RhdGE/P1tdKS5maW5kKHh0PT50aGlzLmdldFJvd0lkKHh0KT09PXRoaXMuX19mb2N1c2VkQ2VsbC5yb3dJZCk7aWYoIVdlKXJldHVybjtsZXQgYXQ9dGhpcy5fX2dldEVmZmVjdGl2ZUNvbHVtbnMoKS5maW5kKHh0PT5TdHJpbmcoeHQua2V5KT09PXRoaXMuX19mb2N1c2VkQ2VsbC5jb2xLZXkpO2lmKCFhdHx8IXRoaXMuX19pc0NvbHVtbkVkaXRhYmxlKGF0KSlyZXR1cm47RC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuc3RhcnRFZGl0aW5nKFdlLGF0KTtyZXR1cm59Y2FzZSJFc2NhcGUiOnRoaXMuX19mb2N1c2VkQ2VsbCYmKHRoaXMuX19mb2N1c2VkQ2VsbD12b2lkIDAsdGhpcy5yZXF1ZXN0VXBkYXRlKCkpO3JldHVybjtkZWZhdWx0OnJldHVybn19KTtjb3B5U2VsZWN0aW9uQXNKc29uKEQpe2xldCBMPVtdO2lmKHRoaXMuc2VsZWN0ZWRJZHMuc2l6ZT4wKWZvcihsZXQgZWUgb2YgdGhpcy5kYXRhKXRoaXMuc2VsZWN0ZWRJZHMuaGFzKHRoaXMuZ2V0Um93SWQoZWUpKSYmTC5wdXNoKGVlKTtlbHNlIEQ/TC5wdXNoKEQpOnRoaXMuc2VsZWN0ZWREYXRhUm93JiZMLnB1c2godGhpcy5zZWxlY3RlZERhdGFSb3cpO0wubGVuZ3RoIT09MCYmdGhpcy5fX3dyaXRlUm93c0FzSnNvbihMKX1fX3dyaXRlUm93c0FzSnNvbihEKXt0cnl7bGV0IEw9SlNPTi5zdHJpbmdpZnkoRCxudWxsLDIpO25hdmlnYXRvci5jbGlwYm9hcmQ/LndyaXRlVGV4dChMKX1jYXRjaHt9fXN0YXRpYyBzdHlsZXM9dWxhO19fZ2V0RGlzcGxheUZ1bmN0aW9uU2hhcGVLZXkoKXtpZighdGhpcy5kYXRhfHx0aGlzLmRhdGEubGVuZ3RoPT09MClyZXR1cm4iIjtsZXQgRD10aGlzLmRpc3BsYXlGdW5jdGlvbih0aGlzLmRhdGFbMF0pPz97fTtyZXR1cm4gT2JqZWN0LmtleXMoRCkuam9pbigiXDAiKX1fX2dldEVmZmVjdGl2ZUNvbHVtbnMoKXtsZXQgRD1BcnJheS5pc0FycmF5KHRoaXMuY29sdW1ucykmJnRoaXMuY29sdW1ucy5sZW5ndGg+MCxMPSFEfHx0aGlzLmF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uP3RoaXMuX19nZXREaXNwbGF5RnVuY3Rpb25TaGFwZUtleSgpOiIiLGVlPXRoaXMuX19tZW1vRWZmZWN0aXZlQ29scztpZihlZSYmZWUuY29sdW1ucz09PXRoaXMuY29sdW1ucyYmZWUuYXVnbWVudD09PXRoaXMuYXVnbWVudEZyb21EaXNwbGF5RnVuY3Rpb24mJmVlLmRpc3BsYXlGdW5jdGlvbj09PXRoaXMuZGlzcGxheUZ1bmN0aW9uJiZlZS5kaXNwbGF5U2hhcGVLZXk9PT1MKXJldHVybiBlZS5vdXQ7bGV0IERlPUQ/ZmxhKHRoaXMuY29sdW1ucyx0aGlzLmF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uLHRoaXMuZGlzcGxheUZ1bmN0aW9uLHRoaXMuZGF0YSk6blFlKHRoaXMuZGlzcGxheUZ1bmN0aW9uLHRoaXMuZGF0YSk7cmV0dXJuIHRoaXMuX19tZW1vRWZmZWN0aXZlQ29scz17Y29sdW1uczp0aGlzLmNvbHVtbnMsYXVnbWVudDp0aGlzLmF1Z21lbnRGcm9tRGlzcGxheUZ1bmN0aW9uLGRpc3BsYXlGdW5jdGlvbjp0aGlzLmRpc3BsYXlGdW5jdGlvbixkaXNwbGF5U2hhcGVLZXk6TCxvdXQ6RGV9LERlfV9fZ2V0Vmlld0RhdGEoRCl7bGV0IEw9dGhpcy5zZWFyY2hNb2RlPT09ImRhdGEiPyJkYXRhIjoidGFibGUiLGVlPXRoaXMuX19tZW1vVmlld0RhdGE7aWYoZWUmJmVlLmRhdGE9PT10aGlzLmRhdGEmJmVlLnNvcnRCeT09PXRoaXMuc29ydEJ5JiZlZS5maWx0ZXJUZXh0PT09dGhpcy5maWx0ZXJUZXh0JiZlZS5jb2x1bW5GaWx0ZXJzPT09dGhpcy5jb2x1bW5GaWx0ZXJzJiZlZS5zZWFyY2hNb2RlPT09TCYmZWUuZWZmZWN0aXZlQ29sdW1ucz09PUQpcmV0dXJuIGVlLm91dDtsZXQgRGU9Z2xhKHRoaXMuZmlsdGVyVGV4dCxMLEQpLEllPWhsYSh0aGlzLmRhdGEsRCx0aGlzLnNvcnRCeSx0aGlzLmZpbHRlclRleHQsdGhpcy5jb2x1bW5GaWx0ZXJzLEwsRGV8fHZvaWQgMCk7cmV0dXJuIHRoaXMuX19tZW1vVmlld0RhdGE9e2RhdGE6dGhpcy5kYXRhLHNvcnRCeTp0aGlzLnNvcnRCeSxmaWx0ZXJUZXh0OnRoaXMuZmlsdGVyVGV4dCxjb2x1bW5GaWx0ZXJzOnRoaXMuY29sdW1uRmlsdGVycyxzZWFyY2hNb2RlOkwsZWZmZWN0aXZlQ29sdW1uczpELG91dDpJZX0sSWV9cmVuZGVyKCl7bGV0IEQ9dGhpcy5fX2dldEVmZmVjdGl2ZUNvbHVtbnMoKSxMPXRoaXMuX19nZXRWaWV3RGF0YShEKSxlZT10aGlzLmdldEFjdGlvbnNGb3JUeXBlKCJoZWFkZXIiKSxEZT10aGlzLmdldEFjdGlvbnNGb3JUeXBlKCJmb290ZXIiKSxJZT10aGlzLmdldEFjdGlvbnNGb3JUeXBlKCJpblJvdyIpO3RoaXMuX2xhc3RWaWV3RGF0YT1MO2xldCBXZT10aGlzLnZpcnR1YWxpemVkJiZMLmxlbmd0aD4wLHR0PUwsYXQ9MCx4dD0wLGdhPTA7aWYoV2Upe2xldCB5dD10aGlzLl9fdmlydHVhbFJhbmdlLGFzPU1hdGgubWF4KDAseXQuc3RhcnQpLGdvPU1hdGgubWluKEwubGVuZ3RoLHl0LmVuZHx8MCksVnI9Z28+MD9nbzpNYXRoLm1pbihMLmxlbmd0aCx0aGlzLnZpcnR1YWxPdmVyc2NhbioyKzE2KTthdD1hcyx0dD1MLnNsaWNlKGFzLFZyKSx4dD1hcyp0aGlzLl9fcm93SGVpZ2h0LGdhPU1hdGgubWF4KDAsTC5sZW5ndGgtVnIpKnRoaXMuX19yb3dIZWlnaHR9cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZ0NvbnRhaW5lciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRpbmcgaGVhZGluZzEiPiR7dGhpcy5sYWJlbHx8dGhpcy5oZWFkaW5nMX08L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGluZyBoZWFkaW5nMiI+JHt0aGlzLmhlYWRpbmcyfTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXJBY3Rpb25zIj4KICAgICAgICAgICAgJHtlZS5tYXAoeXQ9PndgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9ImhlYWRlckFjdGlvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT57eXQuYWN0aW9uRnVuYyh7aXRlbTp0aGlzLnNlbGVjdGVkRGF0YVJvdyx0YWJsZTp0aGlzfSl9fQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICR7eXQuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uU2l6ZT0kezE0fSAuaWNvbj0ke3l0Lmljb25OYW1lfT48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgICR7eXQubmFtZX1gOnl0Lm5hbWV9CiAgICAgICAgICAgICAgPC9kaXY+YCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkaW5nU2VwYXJhdGlvbiI+PC9kaXY+CiAgICAgICAgJHt0aGlzLmhpZ2hsaWdodFVwZGF0ZXM9PT0iZmxhc2giJiYhdGhpcy5yb3dLZXk/d2A8ZGl2IGNsYXNzPSJmbGFzaENvbmZpZ1dhcm5pbmciIHJvbGU9ImFsZXJ0Ij4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp0cmlhbmdsZUFsZXJ0In0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgICA8Y29kZT5oaWdobGlnaHQtdXBkYXRlcz0iZmxhc2giPC9jb2RlPiByZXF1aXJlcwogICAgICAgICAgICAgICAgPGNvZGU+cm93S2V5PC9jb2RlPiB0byBiZSBzZXQuIEZsYXNoIGlzIGRpc2FibGVkLgogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+YDp3YGB9CiAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoR3JpZCBoaWRkZW4iPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHsibHVjZW5lIHN5bnRheCBzZWFyY2gifQogICAgICAgICAgICAuaW5mb1RleHQ9JHtgCiAgICAgICAgICAgICAgWW91IGNhbiB1c2UgdGhlIGx1Y2VuZSBzeW50YXggdG8gc2VhcmNoIGZvciBkYXRhLCBlLmcuOgoKICAgICAgICAgICAgICBcYFxgXGAKICAgICAgICAgICAgICBuYW1lOiAiam9obiIgQU5EIGFnZTogMTgKICAgICAgICAgICAgICBcYFxgXGAKCiAgICAgICAgICAgIGB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgICAubGFiZWw9JHsic2VhcmNoIG1vZGUifQogICAgICAgICAgICAub3B0aW9ucz0ke1sidGFibGUiLCJkYXRhIiwic2VydmVyIl19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJ0YWJsZSJ9CiAgICAgICAgICAgIC5pbmZvVGV4dD0ke2AKICAgICAgICAgICAgICBUaGVyZSBhcmUgdGhyZWUgYmFzaWMgbW9kZXM6CgogICAgICAgICAgICAgICogdGFibGU6IG9ubHkgc2VhcmNoZXMgZGF0YSBhbHJlYWR5IGluIHRoZSB0YWJsZQogICAgICAgICAgICAgICogZGF0YTogc2VhcmNoZXMgb3JpZ2luYWwgZGF0YSwgaWdub3JpbmcgdGFibGUgdHJhbnNmb3JtcwogICAgICAgICAgICAgICogc2VydmVyOiBzZWFyY2hlcyBkYXRhIG9uIHRoZSBzZXJ2ZXIKCiAgICAgICAgICAgIGB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LW11bHRpdG9nZ2xlPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIHRoZSBhY3R1YWwgdGFibGUgLS0+CiAgICAgICAgPHN0eWxlPjwvc3R5bGU+CiAgICAgICAgJHt0aGlzLmRhdGEubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZVNjcm9sbCI+CiAgICAgICAgICAgICAgPHRhYmxlPgogICAgICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgICAgICAke3RoaXMucmVuZGVySGVhZGVyUm93cyhEKX0KICAgICAgICAgICAgICAgIDwvdGhlYWQ+CiAgICAgICAgICAgICAgICA8dGJvZHkKICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5fX29uVGJvZHlDbGlja30KICAgICAgICAgICAgICAgICAgQGRibGNsaWNrPSR7dGhpcy5fX29uVGJvZHlEYmxjbGlja30KICAgICAgICAgICAgICAgICAgQG1vdXNlZG93bj0ke3RoaXMuX19vblRib2R5TW91c2Vkb3dufQogICAgICAgICAgICAgICAgICBAY29udGV4dG1lbnU9JHt0aGlzLl9fb25UYm9keUNvbnRleHRtZW51fQogICAgICAgICAgICAgICAgICBAZHJhZ2VudGVyPSR7dGhpcy5fX29uVGJvZHlEcmFnZW50ZXJ9CiAgICAgICAgICAgICAgICAgIEBkcmFnbGVhdmU9JHt0aGlzLl9fb25UYm9keURyYWdsZWF2ZX0KICAgICAgICAgICAgICAgICAgQGRyYWdvdmVyPSR7dGhpcy5fX29uVGJvZHlEcmFnb3Zlcn0KICAgICAgICAgICAgICAgICAgQGRyb3A9JHt0aGlzLl9fb25UYm9keURyb3B9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICR7V2UmJnh0PjA/d2A8dHIgYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJoZWlnaHQ6JHt4dH1weCI+PHRkPjwvdGQ+PC90cj5gOndgYH0KICAgICAgICAgICAgICAgICAgJHtLby5yZXBlYXQodHQseXQ9PnRoaXMuZ2V0Um93SWQoeXQpLCh5dCxhcyk9PntsZXQgZ289YXQrYXMsVnI9dGhpcy5nZXRSb3dJZCh5dCksUm89dGhpcy5fX2ZsYXNoaW5nQ2VsbHMuZ2V0KFZyKTtyZXR1cm4gd2AKICAgICAgICAgICAgICAgICAgICAgIDx0cgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXJvdy1pZHg9JHtnb30KICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9IiR7eXQ9PT10aGlzLnNlbGVjdGVkRGF0YVJvd3x8dGhpcy5pc1Jvd1NlbGVjdGVkKHl0KT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgJHt0aGlzLnNob3dTZWxlY3Rpb25DaGVja2JveD93YDx0ZCBzdHlsZT0id2lkdGg6NDJweDsgdGV4dC1hbGlnbjpjZW50ZXI7Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLmlzUm93U2VsZWN0ZWQoeXQpfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBuZXdWYWx1ZT0ke1h0PT57WHQuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5zZXRSb3dTZWxlY3RlZCh5dCxYdC5kZXRhaWw9PT0hMCl9fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5gOndgYH0KICAgICAgICAgICAgICAgICAgICAgICAgJHtELmZpbHRlcihYdD0+IVh0LmhpZGRlbikubWFwKChYdCxpMik9PntsZXQgT2k9TDQoeXQsWHQsdGhpcy5kaXNwbGF5RnVuY3Rpb24pLGZpPVh0LnJlbmRlcmVyP1h0LnJlbmRlcmVyKE9pLHl0LHtyb3dJbmRleDpnbyxjb2xJbmRleDppMixjb2x1bW46WHR9KTpPaSxYbj1TdHJpbmcoWHQua2V5KSwkaGE9ISEoWHQuZWRpdGFibGV8fFh0LmVkaXRvciksRGhhPXRoaXMuX19mb2N1c2VkQ2VsbD8ucm93SWQ9PT1WciYmdGhpcy5fX2ZvY3VzZWRDZWxsPy5jb2xLZXk9PT1YbixVaWU9dGhpcy5fX2VkaXRpbmdDZWxsPy5yb3dJZD09PVZyJiZ0aGlzLl9fZWRpdGluZ0NlbGw/LmNvbEtleT09PVhuLFp0dD1Sbz8uZ2V0KFhuKSxXaWU9WnR0IT09dm9pZCAwLEFoYT1XaWUmJiEhWHQuZmxhc2hCb3JkZXIsRWhhPVskaGE/ImVkaXRhYmxlIjoiIixEaGEmJiFVaWU/ImZvY3VzZWQiOiIiLFVpZT8iZWRpdGluZ0NlbGwiOiIiXS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpLFh0dD13YDxkaXYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9JHtXaWU/QWhhPyJpbm5lckNlbGxDb250YWluZXIgZmxhc2hpbmctYm9yZGVyIjoiaW5uZXJDZWxsQ29udGFpbmVyIGZsYXNoaW5nIjoiaW5uZXJDZWxsQ29udGFpbmVyIn0KICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtVaWU/dGhpcy5yZW5kZXJDZWxsRWRpdG9yKHl0LFh0KTpmaX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PmA7cmV0dXJuIHdgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSR7RWhhfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEtY29sLWtleT0ke1hufQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHtXaWU/S28ua2V5ZWQoYCR7VnJ9OiR7WG59OiR7WnR0fWAsWHR0KTpYdHR9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfSl9CiAgICAgICAgICAgICAgICAgICAgICAgICR7KCgpPT57aWYoSWUubGVuZ3RoPjApcmV0dXJuIHdgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzcz0iYWN0aW9uc0NvbCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9uc0NvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0llLm1hcChYdD0+d2AKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYWN0aW9uIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9Plh0LmFjdGlvbkZ1bmMoe2l0ZW06eXQsdGFibGU6dGhpc30pfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7WHQuaWNvbk5hbWU/d2AgPGRlZXMtaWNvbiAuaWNvbj0ke1h0Lmljb25OYW1lfT48L2RlZXMtaWNvbj4gYDpYdC5uYW1lfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGB9KSgpfQogICAgICAgICAgICAgICAgICAgICAgPC90cj5gfSl9CiAgICAgICAgICAgICAgICAgICR7V2UmJmdhPjA/d2A8dHIgYXJpYS1oaWRkZW49InRydWUiIHN0eWxlPSJoZWlnaHQ6JHtnYX1weCI+PHRkPjwvdGQ+PC90cj5gOndgYH0KICAgICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmbG9hdGluZ0hlYWRlciIgYXJpYS1oaWRkZW49InRydWUiPgogICAgICAgICAgICAgICAgJHt0aGlzLl9fZmxvYXRpbmdBY3RpdmU/d2A8dGFibGU+CiAgICAgICAgICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJIZWFkZXJSb3dzKEQpfQogICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPmA6d2BgfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOndgIDxkaXYgY2xhc3M9Im5vRGF0YVNldCI+Tm8gZGF0YSBzZXQhPC9kaXY+IGB9CiAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJmb290ZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGVTdGF0aXN0aWNzIj4KICAgICAgICAgICAgJHt0aGlzLmRhdGEubGVuZ3RofSAke3RoaXMuZGF0YU5hbWV8fCJkYXRhIHJvd3MifSAodG90YWwpIHwKICAgICAgICAgICAgJHt0aGlzLnNlbGVjdGVkRGF0YVJvdz9gIyAke3RoaXMuZGF0YS5pbmRleE9mKHRoaXMuc2VsZWN0ZWREYXRhUm93KSsxfWA6Ik5vIn0KICAgICAgICAgICAgc2VsZWN0ZWQKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9vdGVyQWN0aW9ucyI+CiAgICAgICAgICAgICR7RGUubWFwKHl0PT53YDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSJmb290ZXJBY3Rpb24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+e3l0LmFjdGlvbkZ1bmMoe2l0ZW06dGhpcy5zZWxlY3RlZERhdGFSb3csdGFibGU6dGhpc30pfX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke3l0Lmljb25OYW1lP3dgPGRlZXMtaWNvbiAuaWNvblNpemU9JHsxNH0gLmljb249JHt5dC5pY29uTmFtZX0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgICAke3l0Lm5hbWV9YDp5dC5uYW1lfQogICAgICAgICAgICAgIDwvZGl2PmApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgogICAgYH1yZW5kZXJIZWFkZXJSb3dzKEQpe3JldHVybiB3YAogICAgICA8dHI+CiAgICAgICAgJHt0aGlzLnNob3dTZWxlY3Rpb25DaGVja2JveD93YAogICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6NDJweDsgdGV4dC1hbGlnbjpjZW50ZXI7Ij4KICAgICAgICAgICAgICAgICR7dGhpcy5zZWxlY3Rpb25Nb2RlPT09Im11bHRpIj93YAogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5hcmVBbGxWaXNpYmxlU2VsZWN0ZWQoKX0KICAgICAgICAgICAgICAgICAgICAgICAgLmluZGV0ZXJtaW5hdGU9JHt0aGlzLmlzVmlzaWJsZVNlbGVjdGlvbkluZGV0ZXJtaW5hdGUoKX0KICAgICAgICAgICAgICAgICAgICAgICAgQG5ld1ZhbHVlPSR7TD0+e0wuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5zZXRTZWxlY3RWaXNpYmxlKEwuZGV0YWlsPT09ITApfX0KICAgICAgICAgICAgICAgICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICAgICAgICAgICAgYDp3YGB9CiAgICAgICAgICAgICAgPC90aD4KICAgICAgICAgICAgYDp3YGB9CiAgICAgICAgJHtELmZpbHRlcihMPT4hTC5oaWRkZW4pLm1hcChMPT57bGV0IGVlPUwuc29ydGFibGUhPT0hMSxEZT10aGlzLmdldEFyaWFTb3J0KEwpO3JldHVybiB3YAogICAgICAgICAgICAgIDx0aAogICAgICAgICAgICAgICAgcm9sZT0iY29sdW1uaGVhZGVyIgogICAgICAgICAgICAgICAgYXJpYS1zb3J0PSR7RGV9CiAgICAgICAgICAgICAgICBzdHlsZT0iJHtlZT8iY3Vyc29yOiBwb2ludGVyOyI6IiJ9IgogICAgICAgICAgICAgICAgQGNsaWNrPSR7SWU9PmVlP3RoaXMuaGFuZGxlSGVhZGVyQ2xpY2soSWUsTCxEKTpudWxsfQogICAgICAgICAgICAgICAgQGNvbnRleHRtZW51PSR7SWU9PmVlP3RoaXMub3BlbkhlYWRlckNvbnRleHRNZW51KEllLEwsRCk6bnVsbH0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke0wuaGVhZGVyPz9MLmtleX0KICAgICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJTb3J0SW5kaWNhdG9yKEwpfQogICAgICAgICAgICAgIDwvdGg+YH0pfQogICAgICAgICR7dGhpcy5kYXRhQWN0aW9ucyYmdGhpcy5kYXRhQWN0aW9ucy5sZW5ndGg+MD93YDx0aCBjbGFzcz0iYWN0aW9uc0NvbCI+QWN0aW9uczwvdGg+YDp3YGB9CiAgICAgIDwvdHI+CiAgICAgICR7dGhpcy5zaG93Q29sdW1uRmlsdGVycz93YDx0ciBjbGFzcz0iZmlsdGVyc1JvdyI+CiAgICAgICAgICAgICR7dGhpcy5zaG93U2VsZWN0aW9uQ2hlY2tib3g/d2A8dGggc3R5bGU9IndpZHRoOjQycHg7Ij48L3RoPmA6d2BgfQogICAgICAgICAgICAke0QuZmlsdGVyKEw9PiFMLmhpZGRlbikubWFwKEw9PntsZXQgZWU9U3RyaW5nKEwua2V5KTtyZXR1cm4gTC5maWx0ZXJhYmxlPT09ITE/d2A8dGg+PC90aD5gOndgPHRoPgogICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgcGxhY2Vob2xkZXI9IkZpbHRlci4uLiIgZGF0YS1jb2wta2V5PSR7ZWV9IC52YWx1ZT0ke3RoaXMuY29sdW1uRmlsdGVyc1tlZV18fCIifQogICAgICAgICAgICAgICAgICAgIEBpbnB1dD0ke0RlPT50aGlzLnNldENvbHVtbkZpbHRlcihlZSxEZS50YXJnZXQudmFsdWUpfSAvPgogICAgICAgICAgICAgICAgPC90aD5gfSl9CiAgICAgICAgICAgICR7dGhpcy5kYXRhQWN0aW9ucyYmdGhpcy5kYXRhQWN0aW9ucy5sZW5ndGg+MD93YDx0aD48L3RoPmA6d2BgfQogICAgICAgICAgPC90cj5gOndgYH0KICAgIGB9X19mbG9hdGluZ1Jlc2l6ZU9ic2VydmVyO19fZmxvYXRpbmdTY3JvbGxIYW5kbGVyO19fc2Nyb2xsQW5jZXN0b3JzPVtdO2dldCBfX2Zsb2F0aW5nSGVhZGVyRWwoKXtyZXR1cm4gdGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZmxvYXRpbmdIZWFkZXIiKT8/bnVsbH1nZXQgX19yZWFsVGFibGVFbCgpe3JldHVybiB0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWJsZVNjcm9sbCA+IHRhYmxlIik/P251bGx9Z2V0IF9fZmxvYXRpbmdUYWJsZUVsKCl7cmV0dXJuIHRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmZsb2F0aW5nSGVhZGVyID4gdGFibGUiKT8/bnVsbH1fX2NvbGxlY3RTY3JvbGxBbmNlc3RvcnMoKXtsZXQgRD1bXSxMPXRoaXMsZWU9cyhEZT0+RGU9PT0iYXV0byJ8fERlPT09InNjcm9sbCJ8fERlPT09Im92ZXJsYXkiLCJzY3JvbGxpc2giKTtmb3IoO0w7KXtpZihMIGluc3RhbmNlb2YgRWxlbWVudCl7bGV0IEllPWdldENvbXB1dGVkU3R5bGUoTCksV2U9ZWUoSWUub3ZlcmZsb3dZKSx0dD1lZShJZS5vdmVyZmxvd1gpOyhXZXx8dHQpJiZELnB1c2goe3RhcmdldDpMLHNjcm9sbHNZOldlLHNjcm9sbHNYOnR0fSl9bGV0IERlPUwuYXNzaWduZWRTbG90P0wuYXNzaWduZWRTbG90OkwucGFyZW50Tm9kZTtEZT9MPURlOkwuaG9zdD9MPUwuaG9zdDpMPW51bGx9cmV0dXJuIEQucHVzaCh7dGFyZ2V0OndpbmRvdyxzY3JvbGxzWTohMCxzY3JvbGxzWDohMH0pLER9X19nZXRTdGlja0NvbnRleHQoKXtsZXQgRD0wLEw9MCxlZT13aW5kb3cuaW5uZXJXaWR0aDtmb3IobGV0IERlIG9mIHRoaXMuX19zY3JvbGxBbmNlc3RvcnMpe2lmKERlLnRhcmdldD09PXdpbmRvdyljb250aW51ZTtsZXQgSWU9RGUudGFyZ2V0LFdlPUllLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHR0PWdldENvbXB1dGVkU3R5bGUoSWUpO2lmKERlLnNjcm9sbHNZKXtsZXQgYXQ9cGFyc2VGbG9hdCh0dC5ib3JkZXJUb3BXaWR0aCl8fDA7RD1NYXRoLm1heChELFdlLnRvcCthdCl9aWYoRGUuc2Nyb2xsc1gpe2xldCBhdD1wYXJzZUZsb2F0KHR0LmJvcmRlckxlZnRXaWR0aCl8fDAseHQ9cGFyc2VGbG9hdCh0dC5ib3JkZXJSaWdodFdpZHRoKXx8MDtMPU1hdGgubWF4KEwsV2UubGVmdCthdCksZWU9TWF0aC5taW4oZWUsV2UucmlnaHQteHQpfX1yZXR1cm57dG9wOkQsbGVmdDpMLHJpZ2h0OmVlfX1zZXR1cEZsb2F0aW5nSGVhZGVyKCl7aWYodGhpcy50ZWFyZG93bkZsb2F0aW5nSGVhZGVyKCksdGhpcy5maXhlZEhlaWdodCYmIXRoaXMudmlydHVhbGl6ZWQpcmV0dXJuO2xldCBEPXRoaXMuX19yZWFsVGFibGVFbDtpZighRClyZXR1cm47dGhpcy5fX3Njcm9sbEFuY2VzdG9ycz10aGlzLl9fY29sbGVjdFNjcm9sbEFuY2VzdG9ycygpO2xldCBMPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnRhYmxlU2Nyb2xsIik7TCYmdGhpcy5fX3Njcm9sbEFuY2VzdG9ycy51bnNoaWZ0KHt0YXJnZXQ6TCxzY3JvbGxzWTp0aGlzLmZpeGVkSGVpZ2h0LHNjcm9sbHNYOiEwfSksdGhpcy5fX2Zsb2F0aW5nUmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKCgpPT57dGhpcy5maXhlZEhlaWdodHx8dGhpcy5fX3N5bmNGbG9hdGluZ0hlYWRlcigpLHRoaXMudmlydHVhbGl6ZWQmJnRoaXMuX19jb21wdXRlVmlydHVhbFJhbmdlKCl9KSx0aGlzLl9fZmxvYXRpbmdSZXNpemVPYnNlcnZlci5vYnNlcnZlKEQpLHRoaXMuX19mbG9hdGluZ1Njcm9sbEhhbmRsZXI9KCk9Pnt0aGlzLmZpeGVkSGVpZ2h0fHx0aGlzLl9fc3luY0Zsb2F0aW5nSGVhZGVyKCksdGhpcy52aXJ0dWFsaXplZCYmdGhpcy5fX2NvbXB1dGVWaXJ0dWFsUmFuZ2UoKX07Zm9yKGxldCBlZSBvZiB0aGlzLl9fc2Nyb2xsQW5jZXN0b3JzKWVlLnRhcmdldC5hZGRFdmVudExpc3RlbmVyKCJzY3JvbGwiLHRoaXMuX19mbG9hdGluZ1Njcm9sbEhhbmRsZXIse3Bhc3NpdmU6ITB9KTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzLl9fZmxvYXRpbmdTY3JvbGxIYW5kbGVyLHtwYXNzaXZlOiEwfSksdGhpcy5maXhlZEhlaWdodHx8dGhpcy5fX3N5bmNGbG9hdGluZ0hlYWRlcigpLHRoaXMudmlydHVhbGl6ZWQmJnRoaXMuX19jb21wdXRlVmlydHVhbFJhbmdlKCl9dGVhcmRvd25GbG9hdGluZ0hlYWRlcigpe2lmKHRoaXMuX19mbG9hdGluZ1Jlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCksdGhpcy5fX2Zsb2F0aW5nUmVzaXplT2JzZXJ2ZXI9dm9pZCAwLHRoaXMuX19mbG9hdGluZ1Njcm9sbEhhbmRsZXIpe2ZvcihsZXQgTCBvZiB0aGlzLl9fc2Nyb2xsQW5jZXN0b3JzKUwudGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoInNjcm9sbCIsdGhpcy5fX2Zsb2F0aW5nU2Nyb2xsSGFuZGxlcik7d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcy5fX2Zsb2F0aW5nU2Nyb2xsSGFuZGxlciksdGhpcy5fX2Zsb2F0aW5nU2Nyb2xsSGFuZGxlcj12b2lkIDB9dGhpcy5fX3Njcm9sbEFuY2VzdG9ycz1bXSx0aGlzLl9fZmxvYXRpbmdBY3RpdmU9ITE7bGV0IEQ9dGhpcy5fX2Zsb2F0aW5nSGVhZGVyRWw7RCYmRC5jbGFzc0xpc3QucmVtb3ZlKCJhY3RpdmUiKX1fX3RyYW5zZmVyRm9jdXNUb1JlYWxIZWFkZXIoKXtsZXQgRD10aGlzLl9fZmxvYXRpbmdIZWFkZXJFbDtpZighRClyZXR1cm47bGV0IEw9dGhpcy5zaGFkb3dSb290Py5hY3RpdmVFbGVtZW50O2lmKCFMfHwhRC5jb250YWlucyhMKSlyZXR1cm47bGV0IGVlPUwuZ2V0QXR0cmlidXRlKCJkYXRhLWNvbC1rZXkiKTtpZighZWUpcmV0dXJuO2xldCBEZT1MLEllPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLnRhYmxlU2Nyb2xsID4gdGFibGUgPiB0aGVhZCBpbnB1dFtkYXRhLWNvbC1rZXk9IiR7Q1NTLmVzY2FwZShlZSl9Il1gKTtpZighSWV8fEllPT09RGUpcmV0dXJuO2xldCBXZT1EZS5zZWxlY3Rpb25TdGFydCx0dD1EZS5zZWxlY3Rpb25FbmQsYXQ9RGUuc2VsZWN0aW9uRGlyZWN0aW9uO0llLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSk7dHJ5e1dlIT1udWxsJiZ0dCE9bnVsbCYmSWUuc2V0U2VsZWN0aW9uUmFuZ2UoV2UsdHQsYXR8fHZvaWQgMCl9Y2F0Y2h7fX1fX3RyYW5zZmVyRm9jdXNUb0Zsb2F0aW5nSGVhZGVyKCl7bGV0IEQ9dGhpcy5fX2Zsb2F0aW5nSGVhZGVyRWw7aWYoIUR8fCF0aGlzLl9fZmxvYXRpbmdBY3RpdmUpcmV0dXJuO2xldCBMPXRoaXMuc2hhZG93Um9vdD8uYWN0aXZlRWxlbWVudDtpZighTClyZXR1cm47bGV0IGVlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnRhYmxlU2Nyb2xsID4gdGFibGUgPiB0aGVhZCIpO2lmKCFlZXx8IWVlLmNvbnRhaW5zKEwpKXJldHVybjtsZXQgRGU9TC5nZXRBdHRyaWJ1dGUoImRhdGEtY29sLWtleSIpO2lmKCFEZSlyZXR1cm47bGV0IEllPUwsV2U9RC5xdWVyeVNlbGVjdG9yKGBpbnB1dFtkYXRhLWNvbC1rZXk9IiR7Q1NTLmVzY2FwZShEZSl9Il1gKTtpZighV2V8fFdlPT09SWUpcmV0dXJuO2xldCB0dD1JZS5zZWxlY3Rpb25TdGFydCxhdD1JZS5zZWxlY3Rpb25FbmQseHQ9SWUuc2VsZWN0aW9uRGlyZWN0aW9uO1dlLmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiEwfSk7dHJ5e3R0IT1udWxsJiZhdCE9bnVsbCYmV2Uuc2V0U2VsZWN0aW9uUmFuZ2UodHQsYXQseHR8fHZvaWQgMCl9Y2F0Y2h7fX1fX2NvbXB1dGVWaXJ0dWFsUmFuZ2UoKXtpZighdGhpcy52aXJ0dWFsaXplZClyZXR1cm47bGV0IEw9KHRoaXMuX2xhc3RWaWV3RGF0YT8/W10pLmxlbmd0aDtpZihMPT09MCl7KHRoaXMuX192aXJ0dWFsUmFuZ2Uuc3RhcnQhPT0wfHx0aGlzLl9fdmlydHVhbFJhbmdlLmVuZCE9PTApJiYodGhpcy5fX3ZpcnR1YWxSYW5nZT17c3RhcnQ6MCxlbmQ6MH0pO3JldHVybn1sZXQgZWU9dGhpcy5fX3JlYWxUYWJsZUVsO2lmKCFlZSlyZXR1cm47bGV0IERlPWVlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLEllPTAsV2U9d2luZG93LmlubmVySGVpZ2h0O2ZvcihsZXQgWHQgb2YgdGhpcy5fX3Njcm9sbEFuY2VzdG9ycyl7aWYoWHQudGFyZ2V0PT09d2luZG93fHwhWHQuc2Nyb2xsc1kpY29udGludWU7bGV0IGkyPVh0LnRhcmdldC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxPaT1nZXRDb21wdXRlZFN0eWxlKFh0LnRhcmdldCksZmk9cGFyc2VGbG9hdChPaS5ib3JkZXJUb3BXaWR0aCl8fDAsWG49cGFyc2VGbG9hdChPaS5ib3JkZXJCb3R0b21XaWR0aCl8fDA7SWU9TWF0aC5tYXgoSWUsaTIudG9wK2ZpKSxXZT1NYXRoLm1pbihXZSxpMi5ib3R0b20tWG4pfWxldCB0dD1NYXRoLm1heCgxLHRoaXMuX19yb3dIZWlnaHQpLGF0PWVlLnRIZWFkPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ/PzAseHQ9RGUudG9wK2F0LGdhPU1hdGgubWF4KDAsSWUteHQpLHl0PU1hdGgubWF4KDAsV2UtTWF0aC5tYXgoSWUseHQpKSxhcz1NYXRoLmZsb29yKGdhL3R0KSxnbz1NYXRoLmNlaWwoeXQvdHQpKzEsVnI9TWF0aC5tYXgoMCxhcy10aGlzLnZpcnR1YWxPdmVyc2NhbiksUm89TWF0aC5taW4oTCxhcytnbyt0aGlzLnZpcnR1YWxPdmVyc2Nhbik7KFZyIT09dGhpcy5fX3ZpcnR1YWxSYW5nZS5zdGFydHx8Um8hPT10aGlzLl9fdmlydHVhbFJhbmdlLmVuZCkmJih0aGlzLl9fdmlydHVhbFJhbmdlPXtzdGFydDpWcixlbmQ6Um99KX1fX21lYXN1cmVSb3dIZWlnaHQoKXtpZighdGhpcy52aXJ0dWFsaXplZHx8dGhpcy5fX3Jvd0hlaWdodE1lYXN1cmVkKXJldHVybjtsZXQgRD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoInRib2R5Iik7aWYoIUQpcmV0dXJuO2xldCBMPUFycmF5LmZyb20oRC5yb3dzKS5maW5kKERlPT5EZS5oYXNBdHRyaWJ1dGUoImRhdGEtcm93LWlkeCIpKTtpZighTClyZXR1cm47bGV0IGVlPUwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O2VlPjAmJih0aGlzLl9fcm93SGVpZ2h0PWVlLHRoaXMuX19yb3dIZWlnaHRNZWFzdXJlZD0hMCl9X19zeW5jRmxvYXRpbmdIZWFkZXIoKXtsZXQgRD10aGlzLl9fZmxvYXRpbmdIZWFkZXJFbCxMPXRoaXMuX19yZWFsVGFibGVFbDtpZighRHx8IUwpcmV0dXJuO2xldCBlZT1MLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLERlPXRoaXMuX19nZXRTdGlja0NvbnRleHQoKSxJZT1MLnRIZWFkPy5yb3dzLFdlPTA7aWYoSWUpZm9yKGxldCBYdD0wO1h0PEllLmxlbmd0aDtYdCsrKVdlKz1JZVtYdF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0O2xldCB0dD1lZS5ib3R0b20tRGUudG9wLGF0PWVlLnRvcDxEZS50b3AmJnR0PjA7aWYoYXQhPT10aGlzLl9fZmxvYXRpbmdBY3RpdmUpe2lmKGF0fHx0aGlzLl9fdHJhbnNmZXJGb2N1c1RvUmVhbEhlYWRlcigpLHRoaXMuX19mbG9hdGluZ0FjdGl2ZT1hdCxELmNsYXNzTGlzdC50b2dnbGUoImFjdGl2ZSIsYXQpLCFhdCl7RC5zdHlsZS5oZWlnaHQ9IiI7bGV0IFh0PXRoaXMuX19mbG9hdGluZ1RhYmxlRWw7WHQmJihYdC5zdHlsZS50cmFuc2Zvcm09IiIpfWlmKGF0KXt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9Pnt0aGlzLl9fc3luY0Zsb2F0aW5nSGVhZGVyKCksdGhpcy5fX3RyYW5zZmVyRm9jdXNUb0Zsb2F0aW5nSGVhZGVyKCl9KTtyZXR1cm59fWlmKCFhdClyZXR1cm47bGV0IHh0PXRoaXMuX19mbG9hdGluZ1RhYmxlRWw7aWYoIXh0KXJldHVybjt4dC5zdHlsZS50YWJsZUxheW91dD1MLnN0eWxlLnRhYmxlTGF5b3V0fHwiYXV0byI7bGV0IGdhPXh0LnRIZWFkPy5yb3dzO2lmKEllJiZnYSlmb3IobGV0IFh0PTA7WHQ8SWUubGVuZ3RoJiZYdDxnYS5sZW5ndGg7WHQrKyl7bGV0IGkyPUllW1h0XS5jZWxscyxPaT1nYVtYdF0uY2VsbHM7Zm9yKGxldCBmaT0wO2ZpPGkyLmxlbmd0aCYmZmk8T2kubGVuZ3RoO2ZpKyspe2xldCBYbj1pMltmaV0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGg7T2lbZmldLnN0eWxlLndpZHRoPWAke1hufXB4YCxPaVtmaV0uc3R5bGUubWluV2lkdGg9YCR7WG59cHhgLE9pW2ZpXS5zdHlsZS5tYXhXaWR0aD1gJHtYbn1weGB9fWxldCB5dD1NYXRoLm1heChlZS5sZWZ0LERlLmxlZnQpLGFzPU1hdGgubWluKGVlLnJpZ2h0LERlLnJpZ2h0KSxnbz1NYXRoLm1heCgwLGFzLXl0KTtELnN0eWxlLnRvcD1gJHtEZS50b3B9cHhgLEQuc3R5bGUubGVmdD1gJHt5dH1weGAsRC5zdHlsZS53aWR0aD1gJHtnb31weGA7bGV0IFZyPU1hdGgubWluKFdlLHR0KSxSbz1XZS1WcjtELnN0eWxlLmhlaWdodD1gJHtWcn1weGAseHQuc3R5bGUud2lkdGg9YCR7ZWUud2lkdGh9cHhgLHh0LnN0eWxlLm1hcmdpbkxlZnQ9YCR7ZWUubGVmdC15dH1weGAseHQuc3R5bGUudHJhbnNmb3JtPVJvPjA/YHRyYW5zbGF0ZVkoLSR7Um99cHgpYDoiIn1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy50ZWFyZG93bkZsb2F0aW5nSGVhZGVyKCksdGhpcy5fX2ZsYXNoQ2xlYXJUaW1lciYmKGNsZWFyVGltZW91dCh0aGlzLl9fZmxhc2hDbGVhclRpbWVyKSx0aGlzLl9fZmxhc2hDbGVhclRpbWVyPXZvaWQgMCl9YXN5bmMgZmlyc3RVcGRhdGVkKCl7fXdpbGxVcGRhdGUoRCl7aWYoRC5oYXMoImRhdGEiKSYmdGhpcy5zZWxlY3RlZERhdGFSb3cmJnRoaXMucm93S2V5KXtsZXQgZ2E9dGhpcy5nZXRSb3dJZCh0aGlzLnNlbGVjdGVkRGF0YVJvdykseXQ7Zm9yKGxldCBhcyBvZiB0aGlzLmRhdGEpaWYodGhpcy5nZXRSb3dJZChhcyk9PT1nYSl7eXQ9YXM7YnJlYWt9eXQ/eXQhPT10aGlzLnNlbGVjdGVkRGF0YVJvdyYmKHRoaXMuc2VsZWN0ZWREYXRhUm93PXl0KTp0aGlzLnNlbGVjdGVkRGF0YVJvdz12b2lkIDB9aWYodGhpcy5oaWdobGlnaHRVcGRhdGVzIT09ImZsYXNoIil7KHRoaXMuX19wcmV2U25hcHNob3R8fHRoaXMuX19mbGFzaGluZ0NlbGxzLnNpemU+MCkmJih0aGlzLl9fcHJldlNuYXBzaG90PXZvaWQgMCx0aGlzLl9fZmxhc2hpbmdDZWxscy5zaXplPjAmJih0aGlzLl9fZmxhc2hpbmdDZWxscz1uZXcgTWFwKSx0aGlzLl9fZmxhc2hDbGVhclRpbWVyJiYoY2xlYXJUaW1lb3V0KHRoaXMuX19mbGFzaENsZWFyVGltZXIpLHRoaXMuX19mbGFzaENsZWFyVGltZXI9dm9pZCAwKSk7cmV0dXJufWlmKCF0aGlzLnJvd0tleSl7dGhpcy5fX2ZsYXNoV2FybmVkTm9Sb3dLZXl8fCh0aGlzLl9fZmxhc2hXYXJuZWROb1Jvd0tleT0hMCxjb25zb2xlLndhcm4oJ1tkZWVzLXRhYmxlXSBoaWdobGlnaHRVcGRhdGVzPSJmbGFzaCIgcmVxdWlyZXMgYHJvd0tleWAgdG8gYmUgc2V0LiBGbGFzaCBpcyBkaXNhYmxlZC4gU2V0IHRoZSByb3dLZXkgcHJvcGVydHkvYXR0cmlidXRlIHRvIGEgc3RhYmxlIGlkZW50aWZpZXIgb24geW91ciByb3cgZGF0YSAoZS5nLiBgcm93S2V5PSJpZCJgKS4nKSk7cmV0dXJufWlmKCFELmhhcygiZGF0YSIpKXJldHVybjtsZXQgZWU9dGhpcy5fX2dldEVmZmVjdGl2ZUNvbHVtbnMoKS5maWx0ZXIoZ2E9PiFnYS5oaWRkZW4pLERlPW5ldyBNYXAoZWUubWFwKGdhPT5bU3RyaW5nKGdhLmtleSksZ2FdKSksSWU9bmV3IE1hcCxXZT1uZXcgTWFwO2ZvcihsZXQgZ2Egb2YgdGhpcy5kYXRhKXtsZXQgeXQ9dGhpcy5nZXRSb3dJZChnYSksYXM9bmV3IE1hcDtmb3IobGV0IFZyIG9mIGVlKWFzLnNldChTdHJpbmcoVnIua2V5KSxMNChnYSxWcix0aGlzLmRpc3BsYXlGdW5jdGlvbikpO0llLnNldCh5dCxhcyk7bGV0IGdvPXRoaXMuX19wcmV2U25hcHNob3Q/LmdldCh5dCk7aWYoZ28pZm9yKGxldFtWcixSb11vZiBhcyl7bGV0IFh0PWdvLmdldChWciksaTI9RGUuZ2V0KFZyKSxPaTtpZihpMj8uZmxhc2hDb21wYXJlP09pPWkyLmZsYXNoQ29tcGFyZShYdCxSbyk6Um8hPW51bGwmJnR5cGVvZiBSbz09Im9iamVjdCI/T2k9ITE6T2k9WHQhPT1SbyxPaSl7aWYodGhpcy5fX2VkaXRpbmdDZWxsJiZ0aGlzLl9fZWRpdGluZ0NlbGwucm93SWQ9PT15dCYmdGhpcy5fX2VkaXRpbmdDZWxsLmNvbEtleT09PVZyKWNvbnRpbnVlO2xldCBmaT1XZS5nZXQoeXQpO2ZpfHwoZmk9bmV3IFNldCxXZS5zZXQoeXQsZmkpKSxmaS5hZGQoVnIpfX19bGV0IHR0PSEhdGhpcy5fX3ByZXZTbmFwc2hvdDtpZih0aGlzLl9fcHJldlNuYXBzaG90PUllLCF0dHx8V2Uuc2l6ZT09PTApcmV0dXJuO2xldCBhdD0rK3RoaXMuX19mbGFzaFRpY2sseHQ9bmV3IE1hcCh0aGlzLl9fZmxhc2hpbmdDZWxscyk7Zm9yKGxldFtnYSx5dF1vZiBXZSl7bGV0IGFzPW5ldyBNYXAoeHQuZ2V0KGdhKT8/W10pO2ZvcihsZXQgZ28gb2YgeXQpYXMuc2V0KGdvLGF0KTt4dC5zZXQoZ2EsYXMpfXRoaXMuX19mbGFzaGluZ0NlbGxzPXh0LHRoaXMuX19mbGFzaENsZWFyVGltZXImJmNsZWFyVGltZW91dCh0aGlzLl9fZmxhc2hDbGVhclRpbWVyKSx0aGlzLl9fZmxhc2hDbGVhclRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLl9fZmxhc2hpbmdDZWxscz1uZXcgTWFwLHRoaXMuX19mbGFzaENsZWFyVGltZXI9dm9pZCAwfSxNYXRoLm1heCgwLHRoaXMuaGlnaGxpZ2h0RHVyYXRpb24pKX1hc3luYyB1cGRhdGVkKEQpe3N1cGVyLnVwZGF0ZWQoRCk7bGV0IEw9dGhpcy5fX2dldEVmZmVjdGl2ZUNvbHVtbnMoKSxlZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoInRhYmxlIik/P251bGwsRGU9dGhpcy5nZXRBY3Rpb25zRm9yVHlwZSgiaW5Sb3ciKS5sZW5ndGg7RC5oYXMoImhpZ2hsaWdodER1cmF0aW9uIikmJnRoaXMuc3R5bGUuc2V0UHJvcGVydHkoIi0tZGVlcy10YWJsZS1mbGFzaC1kdXJhdGlvbiIsYCR7dGhpcy5oaWdobGlnaHREdXJhdGlvbn1tc2ApO2xldCBJZT0hIWVlJiYoIXRoaXMuX19jb2x1bW5zU2l6ZWRGb3J8fHRoaXMuX19jb2x1bW5zU2l6ZWRGb3IuZWZmZWN0aXZlQ29sdW1ucyE9PUx8fHRoaXMuX19jb2x1bW5zU2l6ZWRGb3Iuc2hvd1NlbGVjdGlvbkNoZWNrYm94IT09dGhpcy5zaG93U2VsZWN0aW9uQ2hlY2tib3h8fHRoaXMuX19jb2x1bW5zU2l6ZWRGb3IuaW5Sb3dBY3Rpb25Db3VudCE9PURlfHx0aGlzLl9fY29sdW1uc1NpemVkRm9yLnRhYmxlIT09ZWUpO2VlJiZJZSYmKHRoaXMuX19jb2x1bW5zU2l6ZWRGb3I9e2VmZmVjdGl2ZUNvbHVtbnM6TCxzaG93U2VsZWN0aW9uQ2hlY2tib3g6dGhpcy5zaG93U2VsZWN0aW9uQ2hlY2tib3gsaW5Sb3dBY3Rpb25Db3VudDpEZSx0YWJsZTplZX0sdGhpcy5kZXRlcm1pbmVDb2x1bW5XaWR0aHMoKSx0aGlzLl9fcm93SGVpZ2h0TWVhc3VyZWQ9ITEpLHRoaXMudmlydHVhbGl6ZWQmJih0aGlzLl9fbWVhc3VyZVJvd0hlaWdodCgpLHRoaXMuX19jb21wdXRlVmlydHVhbFJhbmdlKCkpLChELmhhcygiZml4ZWRIZWlnaHQiKXx8RC5oYXMoInZpcnR1YWxpemVkIil8fEQuaGFzKCJkYXRhIil8fEQuaGFzKCJjb2x1bW5zIil8fCF0aGlzLl9fZmxvYXRpbmdTY3JvbGxIYW5kbGVyKSYmKCghdGhpcy5maXhlZEhlaWdodHx8dGhpcy52aXJ0dWFsaXplZCkmJnRoaXMuZGF0YS5sZW5ndGg+MD90aGlzLnNldHVwRmxvYXRpbmdIZWFkZXIoKTp0aGlzLnRlYXJkb3duRmxvYXRpbmdIZWFkZXIoKSksIXRoaXMuZml4ZWRIZWlnaHQmJnRoaXMuZGF0YS5sZW5ndGg+MCYmKHRoaXMuX19mbG9hdGluZ0FjdGl2ZXx8SWUpJiZ0aGlzLl9fc3luY0Zsb2F0aW5nSGVhZGVyKCksdGhpcy5zZWFyY2hhYmxlJiYodGhpcy5kYXRhQWN0aW9ucy5maW5kKHR0PT50dC50eXBlPy5pbmNsdWRlcygiaGVhZGVyIikmJnR0Lm5hbWU9PT0iU2VhcmNoIil8fCh0aGlzLmRhdGFBY3Rpb25zLnVuc2hpZnQoe25hbWU6IlNlYXJjaCIsaWNvbk5hbWU6Imx1Y2lkZTpTZWFyY2giLHR5cGU6WyJoZWFkZXIiXSxhY3Rpb25GdW5jOnMoYXN5bmMoKT0+e2NvbnNvbGUubG9nKCJvcGVuIHNlYXJjaCIpLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc2VhcmNoR3JpZCIpLmNsYXNzTGlzdC50b2dnbGUoImhpZGRlbiIpfSwiYWN0aW9uRnVuYyIpfSksY29uc29sZS5sb2codGhpcy5kYXRhQWN0aW9ucyksdGhpcy5yZXF1ZXN0VXBkYXRlKCkpLHRoaXMud2lyZVNlYXJjaElucHV0cygpKX1fX2RlYm91bmNlVGltZXI7ZGVib3VuY2VSdW4oRCxMPTIwMCl7dGhpcy5fX2RlYm91bmNlVGltZXImJmNsZWFyVGltZW91dCh0aGlzLl9fZGVib3VuY2VUaW1lciksdGhpcy5fX2RlYm91bmNlVGltZXI9c2V0VGltZW91dChELEwpfXdpcmVTZWFyY2hJbnB1dHMoKXtsZXQgRD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5zZWFyY2hHcmlkIGRlZXMtaW5wdXQtdGV4dCIpLEw9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuc2VhcmNoR3JpZCBkZWVzLWlucHV0LW11bHRpdG9nZ2xlIik7RCYmIXRoaXMuX19zZWFyY2hUZXh0U3ViJiYodGhpcy5fX3NlYXJjaFRleHRTdWI9RC5jaGFuZ2VTdWJqZWN0LnN1YnNjcmliZShlZT0+e2xldCBEZT1lZT8udmFsdWU/PyIiO3RoaXMuZGVib3VuY2VSdW4oKCk9Pnt0aGlzLnNlYXJjaE1vZGU9PT0ic2VydmVyIj90aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWFyY2hSZXF1ZXN0Iix7ZGV0YWlsOntxdWVyeTpEZSxtb2RlOiJzZXJ2ZXIifSxidWJibGVzOiEwfSkpOnRoaXMuc2V0RmlsdGVyVGV4dChEZSl9KX0pKSxMJiYhdGhpcy5fX3NlYXJjaE1vZGVTdWImJih0aGlzLl9fc2VhcmNoTW9kZVN1Yj1MLmNoYW5nZVN1YmplY3Quc3Vic2NyaWJlKGVlPT57bGV0IERlPWVlPy5zZWxlY3RlZE9wdGlvbnx8ZWU/LnZhbHVlfHwidGFibGUiO2lmKERlPT09InRhYmxlInx8RGU9PT0iZGF0YSJ8fERlPT09InNlcnZlciIpe3RoaXMuc2VhcmNoTW9kZT1EZTtsZXQgSWU9RD8udmFsdWU/PyIiO3RoaXMuZGVib3VuY2VSdW4oKCk9Pnt0aGlzLnNlYXJjaE1vZGU9PT0ic2VydmVyIj90aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWFyY2hSZXF1ZXN0Iix7ZGV0YWlsOntxdWVyeTpJZSxtb2RlOiJzZXJ2ZXIifSxidWJibGVzOiEwfSkpOnRoaXMuc2V0RmlsdGVyVGV4dChJZSl9KX19KSl9YXN5bmMgZGV0ZXJtaW5lQ29sdW1uV2lkdGhzKCl7YXdhaXQoYXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UpLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMCk7bGV0IEw9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoInRhYmxlIik7aWYoIUwpcmV0dXJuO2xldCBlZT1MLnJvd3NbMF0uY2VsbHMsRGU9cyhhc3luYyhJZSxXZT0hMSk9PntsZXQgdHQ9ZXQuZGVmZXIoKSxhdD1lZVtJZV0seHQ9d2luZG93LmdldENvbXB1dGVkU3R5bGUoYXQpLndpZHRoO2lmKGF0LnRleHRDb250ZW50LmluY2x1ZGVzKCJBY3Rpb25zIikpe2xldCBnYT10aGlzLmRhdGFBY3Rpb25zLmZpbHRlcih5dD0+eXQudHlwZT8uaW5jbHVkZXMoImluUm93IikpLmxlbmd0aCozNjthdC5zdHlsZS53aWR0aD1gJHtNYXRoLm1heChnYSw2OCl9cHhgfWVsc2UgYXQuc3R5bGUud2lkdGg9eHQ7V2UmJihyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0dC5yZXNvbHZlKCl9KSxhd2FpdCB0dC5wcm9taXNlKX0sImhhbmRsZUNvbHVtbkJ5SW5kZXgiKTtlZVtlZS5sZW5ndGgtMV0udGV4dENvbnRlbnQuaW5jbHVkZXMoIkFjdGlvbnMiKSYmYXdhaXQgRGUoZWUubGVuZ3RoLTEsITApO2ZvcihsZXQgSWU9MDtJZTxlZS5sZW5ndGg7SWUrKyllZVtJZV0udGV4dENvbnRlbnQuaW5jbHVkZXMoIkFjdGlvbnMiKXx8YXdhaXQgRGUoSWUpO0wuc3R5bGUudGFibGVMYXlvdXQ9ImZpeGVkIn1nZXRTb3J0RGVzY3JpcHRvcihEKXtyZXR1cm4gdGhpcy5zb3J0QnkuZmluZChMPT5MLmtleT09PUQpfWdldFNvcnRQcmlvcml0eShEKXtyZXR1cm4gdGhpcy5zb3J0QnkuZmluZEluZGV4KEw9Pkwua2V5PT09RCl9c2V0U29ydChELEwpe3RoaXMuc29ydEJ5PVt7a2V5OkQsZGlyOkx9XSx0aGlzLmVtaXRTb3J0Q2hhbmdlKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCl9YWRkU29ydEF0KEQsTCxlZSl7bGV0IERlPXRoaXMuc29ydEJ5LmZpbHRlcihXZT0+V2Uua2V5IT09RCksSWU9TWF0aC5tYXgoMCxNYXRoLm1pbihMLERlLmxlbmd0aCkpO0RlLnNwbGljZShJZSwwLHtrZXk6RCxkaXI6ZWV9KSx0aGlzLnNvcnRCeT1EZSx0aGlzLmVtaXRTb3J0Q2hhbmdlKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCl9YXBwZW5kU29ydChELEwpe2xldCBlZT10aGlzLnNvcnRCeS5maWx0ZXIoRGU9PkRlLmtleSE9PUQpO2VlLnB1c2goe2tleTpELGRpcjpMfSksdGhpcy5zb3J0Qnk9ZWUsdGhpcy5lbWl0U29ydENoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfXJlbW92ZVNvcnQoRCl7dGhpcy5zb3J0Qnkuc29tZShMPT5MLmtleT09PUQpJiYodGhpcy5zb3J0Qnk9dGhpcy5zb3J0QnkuZmlsdGVyKEw9Pkwua2V5IT09RCksdGhpcy5lbWl0U29ydENoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpKX1jbGVhclNvcnRzKCl7dGhpcy5zb3J0QnkubGVuZ3RoIT09MCYmKHRoaXMuc29ydEJ5PVtdLHRoaXMuZW1pdFNvcnRDaGFuZ2UoKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSl9ZW1pdFNvcnRDaGFuZ2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzb3J0Q2hhbmdlIix7ZGV0YWlsOntzb3J0Qnk6dGhpcy5zb3J0QnkubWFwKEQ9Pih7Li4uRH0pKX0sYnViYmxlczohMH0pKX1hc3luYyBoYW5kbGVIZWFkZXJDbGljayhELEwsZWUpe2lmKEQuc2hpZnRLZXkpe3RoaXMuaGFuZGxlSGVhZGVyU2hpZnRDbGljayhMKTtyZXR1cm59YXdhaXQgdGhpcy5jb25maXJtUmVwbGFjZUNhc2NhZGUoTCkmJnRoaXMuY3ljbGVTaW5nbGVTb3J0KEwpfWN5Y2xlU2luZ2xlU29ydChEKXtsZXQgTD1TdHJpbmcoRC5rZXkpLGVlPXRoaXMuc29ydEJ5Lmxlbmd0aD09PTEmJnRoaXMuc29ydEJ5WzBdLmtleT09PUw/dGhpcy5zb3J0QnlbMF0uZGlyOm51bGw7ZWU9PT0iYXNjIj90aGlzLnNldFNvcnQoTCwiZGVzYyIpOmVlPT09ImRlc2MiP3RoaXMuY2xlYXJTb3J0cygpOnRoaXMuc2V0U29ydChMLCJhc2MiKX1oYW5kbGVIZWFkZXJTaGlmdENsaWNrKEQpe2xldCBMPVN0cmluZyhELmtleSksZWU9dGhpcy5nZXRTb3J0RGVzY3JpcHRvcihMKTtlZT9lZS5kaXI9PT0iYXNjIj8odGhpcy5zb3J0Qnk9dGhpcy5zb3J0QnkubWFwKERlPT5EZS5rZXk9PT1MP3trZXk6TCxkaXI6ImRlc2MifTpEZSksdGhpcy5lbWl0U29ydENoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpKTp0aGlzLnJlbW92ZVNvcnQoTCk6dGhpcy5hcHBlbmRTb3J0KEwsImFzYyIpfWNvbmZpcm1SZXBsYWNlQ2FzY2FkZShEKXtyZXR1cm4gdGhpcy5zb3J0QnkubGVuZ3RoPD0xP1Byb21pc2UucmVzb2x2ZSghMCk6bmV3IFByb21pc2UoTD0+e2xldCBlZT0hMSxEZT1zKFdlPT57ZWV8fChlZT0hMCxMKFdlKSl9LCJzZXR0bGUiKSxJZT10aGlzLnNvcnRCeS5tYXAoKFdlLHR0KT0+e2xldCB4dD10aGlzLl9sb29rdXBDb2x1bW5CeUtleT8uKFdlLmtleSk/LmhlYWRlcj8/V2Uua2V5O3JldHVybiB3YDxsaT4ke3R0KzF9LiAke3h0fSAke1dlLmRpcj09PSJhc2MiPyJcdTI1QjIiOiJcdTI1QkMifTwvbGk+YH0pO3dhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6IlJlcGxhY2UgbXVsdGktY29sdW1uIHNvcnQ/Iix3aWR0aDoic21hbGwiLHNob3dDbG9zZUJ1dHRvbjohMCxjb250ZW50OndgCiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTNweDsgbGluZS1oZWlnaHQ6MS41NTsiPgogICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luOjAgMCA4cHg7Ij4KICAgICAgICAgICAgICBZb3UgY3VycmVudGx5IGhhdmUgYSAke3RoaXMuc29ydEJ5Lmxlbmd0aH0tY29sdW1uIHNvcnQgYWN0aXZlOgogICAgICAgICAgICA8L3A+CiAgICAgICAgICAgIDx1bCBzdHlsZT0ibWFyZ2luOjAgMCAxMnB4OyBwYWRkaW5nLWxlZnQ6MThweDsiPiR7SWV9PC91bD4KICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbjowOyI+CiAgICAgICAgICAgICAgQ29udGludWluZyB3aWxsIGRpc2NhcmQgdGhlIGNhc2NhZGUgYW5kIHJlcGxhY2UgaXQgd2l0aCBhIHNpbmdsZSBzb3J0IG9uCiAgICAgICAgICAgICAgPHN0cm9uZz4ke0QuaGVhZGVyPz9TdHJpbmcoRC5rZXkpfTwvc3Ryb25nPi4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCxtZW51T3B0aW9uczpbe25hbWU6IkNhbmNlbCIsaWNvbk5hbWU6Imx1Y2lkZTp4IixhY3Rpb246cyhhc3luYyBXZT0+KERlKCExKSxhd2FpdCBXZS5kZXN0cm95KCksbnVsbCksImFjdGlvbiIpfSx7bmFtZToiUmVwbGFjZSIsaWNvbk5hbWU6Imx1Y2lkZTpjaGVjayIsYWN0aW9uOnMoYXN5bmMgV2U9PihEZSghMCksYXdhaXQgV2UuZGVzdHJveSgpLG51bGwpLCJhY3Rpb24iKX1dfSl9KX1fbG9va3VwQ29sdW1uQnlLZXkoRCl7cmV0dXJuIHRoaXMuX19nZXRFZmZlY3RpdmVDb2x1bW5zKCkuZmluZChlZT0+U3RyaW5nKGVlLmtleSk9PT1EKX1vcGVuSGVhZGVyQ29udGV4dE1lbnUoRCxMLGVlKXtsZXQgRGU9dGhpcy5idWlsZEhlYWRlck1lbnVJdGVtcyhMLGVlKTtlYS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhELERlKX1idWlsZEhlYWRlck1lbnVJdGVtcyhELEwpe2xldCBlZT1TdHJpbmcoRC5rZXkpLERlPXRoaXMuZ2V0U29ydERlc2NyaXB0b3IoZWUpLEllPXRoaXMuc29ydEJ5Lmxlbmd0aCxXZT1MLmZpbHRlcih4dD0+eHQuc29ydGFibGUhPT0hMSkubGVuZ3RoLHR0PU1hdGgubWluKE1hdGgubWF4KEllKyhEZT8wOjEpLDEpLE1hdGgubWF4KFdlLDEpKSxhdD1bXTthdC5wdXNoKHtuYW1lOiJTb3J0IEFzY2VuZGluZyIsaWNvbk5hbWU6SWU9PT0xJiZEZT8uZGlyPT09ImFzYyI/Imx1Y2lkZTpjaGVjayI6Imx1Y2lkZTphcnJvd1VwIixhY3Rpb246cyhhc3luYygpPT4oYXdhaXQgdGhpcy5jb25maXJtUmVwbGFjZUNhc2NhZGUoRCkmJnRoaXMuc2V0U29ydChlZSwiYXNjIiksbnVsbCksImFjdGlvbiIpfSksYXQucHVzaCh7bmFtZToiU29ydCBEZXNjZW5kaW5nIixpY29uTmFtZTpJZT09PTEmJkRlPy5kaXI9PT0iZGVzYyI/Imx1Y2lkZTpjaGVjayI6Imx1Y2lkZTphcnJvd0Rvd24iLGFjdGlvbjpzKGFzeW5jKCk9Pihhd2FpdCB0aGlzLmNvbmZpcm1SZXBsYWNlQ2FzY2FkZShEKSYmdGhpcy5zZXRTb3J0KGVlLCJkZXNjIiksbnVsbCksImFjdGlvbiIpfSksYXQucHVzaCh7ZGl2aWRlcjohMH0pO2ZvcihsZXQgeHQ9MTt4dDw9dHQ7eHQrKyl7bGV0IGdhPVBJYSh4dCkseXQ9RGUmJnRoaXMuZ2V0U29ydFByaW9yaXR5KGVlKT09PXh0LTE7YXQucHVzaCh7bmFtZTpgU2V0IGFzICR7Z2F9IHNvcnRgLGljb25OYW1lOnl0PyJsdWNpZGU6Y2hlY2siOiJsdWNpZGU6bGlzdE9yZGVyZWQiLHN1Ym1lbnU6W3tuYW1lOiJBc2NlbmRpbmciLGljb25OYW1lOiJsdWNpZGU6YXJyb3dVcCIsYWN0aW9uOnMoYXN5bmMoKT0+KHRoaXMuYWRkU29ydEF0KGVlLHh0LTEsImFzYyIpLG51bGwpLCJhY3Rpb24iKX0se25hbWU6IkRlc2NlbmRpbmciLGljb25OYW1lOiJsdWNpZGU6YXJyb3dEb3duIixhY3Rpb246cyhhc3luYygpPT4odGhpcy5hZGRTb3J0QXQoZWUseHQtMSwiZGVzYyIpLG51bGwpLCJhY3Rpb24iKX1dfSl9cmV0dXJuIGF0LnB1c2goe2RpdmlkZXI6ITB9KSxhdC5wdXNoKHtuYW1lOiJBcHBlbmQgdG8gc29ydCIsaWNvbk5hbWU6Imx1Y2lkZTpwbHVzIixzdWJtZW51Olt7bmFtZToiQXNjZW5kaW5nIixpY29uTmFtZToibHVjaWRlOmFycm93VXAiLGFjdGlvbjpzKGFzeW5jKCk9Pih0aGlzLmFwcGVuZFNvcnQoZWUsImFzYyIpLG51bGwpLCJhY3Rpb24iKX0se25hbWU6IkRlc2NlbmRpbmciLGljb25OYW1lOiJsdWNpZGU6YXJyb3dEb3duIixhY3Rpb246cyhhc3luYygpPT4odGhpcy5hcHBlbmRTb3J0KGVlLCJkZXNjIiksbnVsbCksImFjdGlvbiIpfV19KSxEZSYmKGF0LnB1c2goe2RpdmlkZXI6ITB9KSxhdC5wdXNoKHtuYW1lOiJSZW1vdmUgZnJvbSBzb3J0IixpY29uTmFtZToibHVjaWRlOm1pbnVzIixhY3Rpb246cyhhc3luYygpPT4odGhpcy5yZW1vdmVTb3J0KGVlKSxudWxsKSwiYWN0aW9uIil9KSksSWU+MCYmKERlfHxhdC5wdXNoKHtkaXZpZGVyOiEwfSksYXQucHVzaCh7bmFtZToiQ2xlYXIgYWxsIHNvcnRzIixpY29uTmFtZToibHVjaWRlOnRyYXNoIixhY3Rpb246cyhhc3luYygpPT4odGhpcy5jbGVhclNvcnRzKCksbnVsbCksImFjdGlvbiIpfSkpLGF0LnB1c2goe2RpdmlkZXI6ITB9KSxhdC5wdXNoKHtuYW1lOnRoaXMuc2hvd0NvbHVtbkZpbHRlcnM/IkhpZGUgY29sdW1uIGZpbHRlcnMiOiJTaG93IGNvbHVtbiBmaWx0ZXJzIixpY29uTmFtZTp0aGlzLnNob3dDb2x1bW5GaWx0ZXJzPyJsdWNpZGU6ZmlsdGVyWCI6Imx1Y2lkZTpmaWx0ZXIiLGFjdGlvbjpzKGFzeW5jKCk9Pih0aGlzLnNob3dDb2x1bW5GaWx0ZXJzPSF0aGlzLnNob3dDb2x1bW5GaWx0ZXJzLHRoaXMucmVxdWVzdFVwZGF0ZSgpLG51bGwpLCJhY3Rpb24iKX0pLGF0fWdldEFyaWFTb3J0KEQpe2xldCBMPXRoaXMuc29ydEJ5WzBdO3JldHVybiFMfHxMLmtleSE9PVN0cmluZyhELmtleSk/Im5vbmUiOkwuZGlyPT09ImFzYyI/ImFzY2VuZGluZyI6ImRlc2NlbmRpbmcifXJlbmRlclNvcnRJbmRpY2F0b3IoRCl7bGV0IEw9dGhpcy5nZXRTb3J0UHJpb3JpdHkoU3RyaW5nKEQua2V5KSk7aWYoTDwwKXJldHVybiB3YGA7bGV0IERlPXRoaXMuc29ydEJ5W0xdLmRpcj09PSJhc2MiPyJcdTI1QjIiOiJcdTI1QkMiO3JldHVybiB0aGlzLnNvcnRCeS5sZW5ndGg9PT0xP3dgPHNwYW4gY2xhc3M9InNvcnRBcnJvdyI+JHtEZX08L3NwYW4+YDp3YDxzcGFuIGNsYXNzPSJzb3J0QXJyb3ciPiR7RGV9PC9zcGFuPjxzcGFuIGNsYXNzPSJzb3J0QmFkZ2UiPiR7TCsxfTwvc3Bhbj5gfXNldEZpbHRlclRleHQoRCl7bGV0IEw9dGhpcy5maWx0ZXJUZXh0O3RoaXMuZmlsdGVyVGV4dD1EPz8iIixMIT09dGhpcy5maWx0ZXJUZXh0JiYodGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZmlsdGVyQ2hhbmdlIix7ZGV0YWlsOnt0ZXh0OnRoaXMuZmlsdGVyVGV4dCxjb2x1bW5zOnsuLi50aGlzLmNvbHVtbkZpbHRlcnN9fSxidWJibGVzOiEwfSkpLHRoaXMucmVxdWVzdFVwZGF0ZSgpKX1zZXRDb2x1bW5GaWx0ZXIoRCxMKXt0aGlzLmNvbHVtbkZpbHRlcnM9ey4uLnRoaXMuY29sdW1uRmlsdGVycyxbRF06TH0sdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZmlsdGVyQ2hhbmdlIix7ZGV0YWlsOnt0ZXh0OnRoaXMuZmlsdGVyVGV4dCxjb2x1bW5zOnsuLi50aGlzLmNvbHVtbkZpbHRlcnN9fSxidWJibGVzOiEwfSkpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfWdldFJvd0lkKEQpe2lmKHRoaXMucm93S2V5KXJldHVybiB0eXBlb2YgdGhpcy5yb3dLZXk9PSJmdW5jdGlvbiI/dGhpcy5yb3dLZXkoRCk6U3RyaW5nKERbdGhpcy5yb3dLZXldKTtsZXQgTD1EO3JldHVybiB0aGlzLl9yb3dJZE1hcC5oYXMoTCl8fHRoaXMuX3Jvd0lkTWFwLnNldChMLFN0cmluZygrK3RoaXMuX3Jvd0lkQ291bnRlcikpLHRoaXMuX3Jvd0lkTWFwLmdldChMKX1pc1Jvd1NlbGVjdGVkKEQpe3JldHVybiB0aGlzLnNlbGVjdGVkSWRzLmhhcyh0aGlzLmdldFJvd0lkKEQpKX10b2dnbGVSb3dTZWxlY3RlZChEKXtsZXQgTD10aGlzLmdldFJvd0lkKEQpO3RoaXMuc2VsZWN0aW9uTW9kZT09PSJzaW5nbGUiPyh0aGlzLnNlbGVjdGVkSWRzLmNsZWFyKCksdGhpcy5zZWxlY3RlZElkcy5hZGQoTCkpOnRoaXMuc2VsZWN0aW9uTW9kZT09PSJtdWx0aSImJih0aGlzLnNlbGVjdGVkSWRzLmhhcyhMKT90aGlzLnNlbGVjdGVkSWRzLmRlbGV0ZShMKTp0aGlzLnNlbGVjdGVkSWRzLmFkZChMKSksdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCl9X19yZXNvbHZlUm93KEQpe2xldCBMPUQuY29tcG9zZWRQYXRoPy4oKXx8W10sZWU9bnVsbDtmb3IobGV0IHR0IG9mIEwpe2xldCBhdD10dDtpZihhdD8udGFnTmFtZT09PSJUUiImJmF0Lmhhc0F0dHJpYnV0ZSgiZGF0YS1yb3ctaWR4Iikpe2VlPWF0O2JyZWFrfX1pZighZWUpcmV0dXJuIG51bGw7bGV0IERlPU51bWJlcihlZS5nZXRBdHRyaWJ1dGUoImRhdGEtcm93LWlkeCIpKSxXZT0odGhpcy5fbGFzdFZpZXdEYXRhPz9bXSlbRGVdO3JldHVybiBXZT97aXRlbTpXZSxyb3dJZHg6RGV9Om51bGx9X19yZXNvbHZlQ2VsbChEKXtsZXQgTD10aGlzLl9fcmVzb2x2ZVJvdyhEKTtpZighTClyZXR1cm4gbnVsbDtsZXQgZWU9RC5jb21wb3NlZFBhdGg/LigpfHxbXSxEZT1udWxsO2ZvcihsZXQgYXQgb2YgZWUpe2xldCB4dD1hdDtpZih4dD8udGFnTmFtZT09PSJURCImJnh0Lmhhc0F0dHJpYnV0ZSgiZGF0YS1jb2wta2V5Iikpe0RlPXh0O2JyZWFrfX1pZighRGUpcmV0dXJuIG51bGw7bGV0IEllPURlLmdldEF0dHJpYnV0ZSgiZGF0YS1jb2wta2V5IiksdHQ9dGhpcy5fX2dldEVmZmVjdGl2ZUNvbHVtbnMoKS5maW5kKGF0PT5TdHJpbmcoYXQua2V5KT09PUllKTtyZXR1cm4gdHQ/e2l0ZW06TC5pdGVtLHJvd0lkeDpMLnJvd0lkeCxjb2w6dHR9Om51bGx9X19pc0luQWN0aW9uc0NvbChEKXtsZXQgTD1ELmNvbXBvc2VkUGF0aD8uKCl8fFtdO2ZvcihsZXQgZWUgb2YgTClpZihlZT8uY2xhc3NMaXN0Py5jb250YWlucygiYWN0aW9uc0NvbCIpKXJldHVybiEwO3JldHVybiExfV9faXNJbkVkaXRvcihEKXtsZXQgTD1ELmNvbXBvc2VkUGF0aD8uKCl8fFtdO2ZvcihsZXQgZWUgb2YgTCl7bGV0IERlPWVlLEllPURlPy50YWdOYW1lO2lmKEllPT09IklOUFVUInx8SWU9PT0iVEVYVEFSRUEifHxEZT8uaXNDb250ZW50RWRpdGFibGV8fEllJiZJZS5zdGFydHNXaXRoKCJERUVTLUlOUFVULSIpKXJldHVybiEwfXJldHVybiExfV9fb25UYm9keUNsaWNrPXMoRD0+e2lmKHRoaXMuX19pc0luRWRpdG9yKEQpfHx0aGlzLl9faXNJbkFjdGlvbnNDb2woRCkpcmV0dXJuO2xldCBMPXRoaXMuX19yZXNvbHZlQ2VsbChEKTtpZighTClyZXR1cm47bGV0IGVlPXRoaXMuX2xhc3RWaWV3RGF0YT8/W107KEwuY29sLmVkaXRhYmxlfHxMLmNvbC5lZGl0b3IpJiYodGhpcy5fX2ZvY3VzZWRDZWxsPXtyb3dJZDp0aGlzLmdldFJvd0lkKEwuaXRlbSksY29sS2V5OlN0cmluZyhMLmNvbC5rZXkpfSksdGhpcy5oYW5kbGVSb3dDbGljayhELEwuaXRlbSxMLnJvd0lkeCxlZSl9LCJfX29uVGJvZHlDbGljayIpO19fb25UYm9keURibGNsaWNrPXMoRD0+e2lmKHRoaXMuX19pc0luRWRpdG9yKEQpfHx0aGlzLl9faXNJbkFjdGlvbnNDb2woRCkpcmV0dXJuO2xldCBMPXRoaXMuX19yZXNvbHZlQ2VsbChEKTtpZighTClyZXR1cm47aWYoISEoTC5jb2wuZWRpdGFibGV8fEwuY29sLmVkaXRvcikpe0Quc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5zdGFydEVkaXRpbmcoTC5pdGVtLEwuY29sKTtyZXR1cm59bGV0IERlPXRoaXMuZGF0YUFjdGlvbnMuZmluZChJZT0+SWUudHlwZT8uaW5jbHVkZXMoImRvdWJsZUNsaWNrIikpO0RlJiZEZS5hY3Rpb25GdW5jKHtpdGVtOkwuaXRlbSx0YWJsZTp0aGlzfSl9LCJfX29uVGJvZHlEYmxjbGljayIpO19fb25UYm9keU1vdXNlZG93bj1zKEQ9PntELnNoaWZ0S2V5JiZ0aGlzLnNlbGVjdGlvbk1vZGUhPT0ic2luZ2xlIiYmRC5wcmV2ZW50RGVmYXVsdCgpfSwiX19vblRib2R5TW91c2Vkb3duIik7X19vblRib2R5Q29udGV4dG1lbnU9cyhEPT57aWYodGhpcy5fX2lzSW5BY3Rpb25zQ29sKEQpKXJldHVybjtsZXQgTD10aGlzLl9fcmVzb2x2ZVJvdyhEKTtpZighTClyZXR1cm47bGV0IGVlPUwuaXRlbTt0aGlzLmlzUm93U2VsZWN0ZWQoZWUpfHwodGhpcy5zZWxlY3RlZERhdGFSb3c9ZWUsdGhpcy5zZWxlY3RlZElkcy5jbGVhcigpLHRoaXMuc2VsZWN0ZWRJZHMuYWRkKHRoaXMuZ2V0Um93SWQoZWUpKSx0aGlzLl9fc2VsZWN0aW9uQW5jaG9ySWQ9dGhpcy5nZXRSb3dJZChlZSksdGhpcy5lbWl0U2VsZWN0aW9uQ2hhbmdlKCksdGhpcy5yZXF1ZXN0VXBkYXRlKCkpO2xldCBEZT10aGlzLmdldEFjdGlvbnNGb3JUeXBlKCJjb250ZXh0bWVudSIpLm1hcChXZT0+KHtuYW1lOldlLm5hbWUsaWNvbk5hbWU6V2UuaWNvbk5hbWUsYWN0aW9uOnMoYXN5bmMoKT0+KGF3YWl0IFdlLmFjdGlvbkZ1bmMoe2l0ZW06ZWUsdGFibGU6dGhpc30pLG51bGwpLCJhY3Rpb24iKX0pKSxJZT1be25hbWU6dGhpcy5zZWxlY3RlZElkcy5zaXplPjE/YENvcHkgJHt0aGlzLnNlbGVjdGVkSWRzLnNpemV9IHJvd3MgYXMgSlNPTmA6IkNvcHkgcm93IGFzIEpTT04iLGljb25OYW1lOiJsdWNpZGU6Q29weSIsYWN0aW9uOnMoYXN5bmMoKT0+KHRoaXMuY29weVNlbGVjdGlvbkFzSnNvbihlZSksbnVsbCksImFjdGlvbiIpfV07ZWEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoRCxbLi4uRGUsLi4uSWVdKX0sIl9fb25UYm9keUNvbnRleHRtZW51Iik7X19vblRib2R5RHJhZ2VudGVyPXMoRD0+e2lmKEQucHJldmVudERlZmF1bHQoKSxELnN0b3BQcm9wYWdhdGlvbigpLCF0aGlzLl9fcmVzb2x2ZVJvdyhEKSlyZXR1cm47bGV0IGVlPShELmNvbXBvc2VkUGF0aD8uKCl8fFtdKS5maW5kKERlPT5EZT8udGFnTmFtZT09PSJUUiIpO2VlJiZzZXRUaW1lb3V0KCgpPT5lZS5jbGFzc0xpc3QuYWRkKCJoYXNBdHRhY2htZW50IiksMCl9LCJfX29uVGJvZHlEcmFnZW50ZXIiKTtfX29uVGJvZHlEcmFnbGVhdmU9cyhEPT57RC5wcmV2ZW50RGVmYXVsdCgpLEQuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IEw9KEQuY29tcG9zZWRQYXRoPy4oKXx8W10pLmZpbmQoZWU9PmVlPy50YWdOYW1lPT09IlRSIik7TCYmTC5jbGFzc0xpc3QucmVtb3ZlKCJoYXNBdHRhY2htZW50Iil9LCJfX29uVGJvZHlEcmFnbGVhdmUiKTtfX29uVGJvZHlEcmFnb3Zlcj1zKEQ9PntELnByZXZlbnREZWZhdWx0KCl9LCJfX29uVGJvZHlEcmFnb3ZlciIpO19fb25UYm9keURyb3A9cyhhc3luYyBEPT57RC5wcmV2ZW50RGVmYXVsdCgpO2xldCBMPXRoaXMuX19yZXNvbHZlUm93KEQpO2lmKCFMKXJldHVybjtsZXQgZWU9TC5pdGVtLERlPVtdO2ZvcihsZXQgV2Ugb2YgQXJyYXkuZnJvbShELmRhdGFUcmFuc2Zlci5maWxlcykpdGhpcy5maWxlcy5wdXNoKFdlKSxEZS5wdXNoKFdlKSx0aGlzLnJlcXVlc3RVcGRhdGUoKTtsZXQgSWU9dGhpcy5maWxlV2Vha01hcC5nZXQoZWUpO0llP0llLnB1c2goLi4uRGUpOnRoaXMuZmlsZVdlYWtNYXAuc2V0KGVlLERlKX0sIl9fb25UYm9keURyb3AiKTtoYW5kbGVSb3dDbGljayhELEwsZWUsRGUpe2xldCBJZT10aGlzLmdldFJvd0lkKEwpO2lmKHRoaXMuc2VsZWN0aW9uTW9kZT09PSJzaW5nbGUiKXt0aGlzLnNlbGVjdGVkRGF0YVJvdz1MLHRoaXMuc2VsZWN0ZWRJZHMuY2xlYXIoKSx0aGlzLnNlbGVjdGVkSWRzLmFkZChJZSksdGhpcy5fX3NlbGVjdGlvbkFuY2hvcklkPUllLHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpO3JldHVybn1sZXQgV2U9RC5tZXRhS2V5fHxELmN0cmxLZXk7aWYoRC5zaGlmdEtleSYmdGhpcy5fX3NlbGVjdGlvbkFuY2hvcklkIT09dm9pZCAwKXt3aW5kb3cuZ2V0U2VsZWN0aW9uPy4oKT8ucmVtb3ZlQWxsUmFuZ2VzKCk7bGV0IGF0PURlLmZpbmRJbmRleCh4dD0+dGhpcy5nZXRSb3dJZCh4dCk9PT10aGlzLl9fc2VsZWN0aW9uQW5jaG9ySWQpO2lmKGF0Pj0wKXtsZXRbeHQsZ2FdPWF0PD1lZT9bYXQsZWVdOltlZSxhdF07dGhpcy5zZWxlY3RlZElkcy5jbGVhcigpO2ZvcihsZXQgeXQ9eHQ7eXQ8PWdhO3l0KyspdGhpcy5zZWxlY3RlZElkcy5hZGQodGhpcy5nZXRSb3dJZChEZVt5dF0pKX1lbHNlIHRoaXMuc2VsZWN0ZWRJZHMuY2xlYXIoKSx0aGlzLnNlbGVjdGVkSWRzLmFkZChJZSksdGhpcy5fX3NlbGVjdGlvbkFuY2hvcklkPUllO3RoaXMuc2VsZWN0ZWREYXRhUm93PUx9ZWxzZSBpZihXZSl7aWYodGhpcy5zZWxlY3RlZElkcy5oYXMoSWUpKXtpZih0aGlzLnNlbGVjdGVkSWRzLmRlbGV0ZShJZSksdGhpcy5zZWxlY3RlZERhdGFSb3c9PT1MKXtsZXQgeHQ9RGUuZmluZChnYT0+dGhpcy5zZWxlY3RlZElkcy5oYXModGhpcy5nZXRSb3dJZChnYSkpKTt0aGlzLnNlbGVjdGVkRGF0YVJvdz14dH19ZWxzZSB0aGlzLnNlbGVjdGVkSWRzLmFkZChJZSksdGhpcy5zZWxlY3RlZERhdGFSb3c9TDt0aGlzLl9fc2VsZWN0aW9uQW5jaG9ySWQ9SWV9ZWxzZSB0aGlzLnNlbGVjdGVkRGF0YVJvdz1MLHRoaXMuc2VsZWN0ZWRJZHMuY2xlYXIoKSx0aGlzLnNlbGVjdGVkSWRzLmFkZChJZSksdGhpcy5fX3NlbGVjdGlvbkFuY2hvcklkPUllO3RoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfXNldFJvd1NlbGVjdGVkKEQsTCl7bGV0IGVlPXRoaXMuZ2V0Um93SWQoRCk7dGhpcy5zZWxlY3Rpb25Nb2RlPT09InNpbmdsZSI/KHRoaXMuc2VsZWN0ZWRJZHMuY2xlYXIoKSxMJiZ0aGlzLnNlbGVjdGVkSWRzLmFkZChlZSkpOnRoaXMuc2VsZWN0aW9uTW9kZT09PSJtdWx0aSImJihMP3RoaXMuc2VsZWN0ZWRJZHMuYWRkKGVlKTp0aGlzLnNlbGVjdGVkSWRzLmRlbGV0ZShlZSkpLHRoaXMuZW1pdFNlbGVjdGlvbkNoYW5nZSgpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfWFyZUFsbFZpc2libGVTZWxlY3RlZCgpe2xldCBEPXRoaXMuX2xhc3RWaWV3RGF0YXx8W107aWYoRC5sZW5ndGg9PT0wKXJldHVybiExO2ZvcihsZXQgTCBvZiBEKWlmKCF0aGlzLnNlbGVjdGVkSWRzLmhhcyh0aGlzLmdldFJvd0lkKEwpKSlyZXR1cm4hMTtyZXR1cm4hMH1pc1Zpc2libGVTZWxlY3Rpb25JbmRldGVybWluYXRlKCl7bGV0IEQ9dGhpcy5fbGFzdFZpZXdEYXRhfHxbXTtpZihELmxlbmd0aD09PTApcmV0dXJuITE7bGV0IEw9MDtmb3IobGV0IGVlIG9mIEQpdGhpcy5zZWxlY3RlZElkcy5oYXModGhpcy5nZXRSb3dJZChlZSkpJiZMKys7cmV0dXJuIEw+MCYmTDxELmxlbmd0aH1zZXRTZWxlY3RWaXNpYmxlKEQpe2xldCBMPXRoaXMuX2xhc3RWaWV3RGF0YXx8W107aWYoRClmb3IobGV0IGVlIG9mIEwpdGhpcy5zZWxlY3RlZElkcy5hZGQodGhpcy5nZXRSb3dJZChlZSkpO2Vsc2UgZm9yKGxldCBlZSBvZiBMKXRoaXMuc2VsZWN0ZWRJZHMuZGVsZXRlKHRoaXMuZ2V0Um93SWQoZWUpKTt0aGlzLmVtaXRTZWxlY3Rpb25DaGFuZ2UoKSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1lbWl0U2VsZWN0aW9uQ2hhbmdlKCl7bGV0IEQ9QXJyYXkuZnJvbSh0aGlzLnNlbGVjdGVkSWRzKSxMPXRoaXMuZGF0YS5maWx0ZXIoZWU9PnRoaXMuc2VsZWN0ZWRJZHMuaGFzKHRoaXMuZ2V0Um93SWQoZWUpKSk7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VsZWN0aW9uQ2hhbmdlIix7ZGV0YWlsOntzZWxlY3RlZElkczpELHNlbGVjdGVkUm93czpMfSxidWJibGVzOiEwfSkpfWdldEFjdGlvbnNGb3JUeXBlKEQpe2xldCBMPVtdO2ZvcihsZXQgZWUgb2YgdGhpcy5kYXRhQWN0aW9ucyllZS50eXBlPy5pbmNsdWRlcyhEKSYmTC5wdXNoKGVlKTtyZXR1cm4gTH1fX2lzQ29sdW1uRWRpdGFibGUoRCl7cmV0dXJuISEoRC5lZGl0YWJsZXx8RC5lZGl0b3IpfV9fZWRpdGFibGVDb2x1bW5zKEQpe3JldHVybiBELmZpbHRlcihMPT4hTC5oaWRkZW4mJnRoaXMuX19pc0NvbHVtbkVkaXRhYmxlKEwpKX1zdGFydEVkaXRpbmcoRCxMKXtpZighdGhpcy5fX2lzQ29sdW1uRWRpdGFibGUoTCkpcmV0dXJuO2xldCBlZT10aGlzLmdldFJvd0lkKEQpLERlPVN0cmluZyhMLmtleSk7dGhpcy5fX2ZvY3VzZWRDZWxsPXtyb3dJZDplZSxjb2xLZXk6RGV9LHRoaXMuX19lZGl0aW5nQ2VsbD17cm93SWQ6ZWUsY29sS2V5OkRlfSx0aGlzLnJlcXVlc3RVcGRhdGUoKSx0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PntsZXQgSWU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZWRpdGluZ0NlbGwgZGVlcy1pbnB1dC10ZXh0LCAuZWRpdGluZ0NlbGwgZGVlcy1pbnB1dC1jaGVja2JveCwgLmVkaXRpbmdDZWxsIGRlZXMtaW5wdXQtZHJvcGRvd24sIC5lZGl0aW5nQ2VsbCBkZWVzLWlucHV0LWRhdGVwaWNrZXIsIC5lZGl0aW5nQ2VsbCBkZWVzLWlucHV0LXRhZ3MiKTtJZT8uZm9jdXM/LigpLEllPy50YWdOYW1lPT09IkRFRVMtSU5QVVQtRFJPUERPV04iJiZJZS51cGRhdGVDb21wbGV0ZT8udGhlbigoKT0+SWUudG9nZ2xlU2VsZWN0aW9uQm94Py4oKSl9KX1jYW5jZWxDZWxsRWRpdCgpe3RoaXMuX19lZGl0aW5nQ2VsbD12b2lkIDAsdGhpcy5yZXF1ZXN0VXBkYXRlKCl9Y29tbWl0Q2VsbEVkaXQoRCxMLGVlKXtsZXQgRGU9U3RyaW5nKEwua2V5KSxJZT1EW0wua2V5XSxXZT1MLnBhcnNlP0wucGFyc2UoZWUsRCk6ZWU7aWYoTC52YWxpZGF0ZSl7bGV0IHR0PUwudmFsaWRhdGUoV2UsRCk7aWYodHlwZW9mIHR0PT0ic3RyaW5nIil7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2VsbEVkaXRFcnJvciIse2RldGFpbDp7cm93OkQsa2V5OkRlLHZhbHVlOldlLG1lc3NhZ2U6dHR9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSk7cmV0dXJufX1XZSE9PUllJiYoRFtMLmtleV09V2UsdGhpcy5fX3JlY29yZENlbGxJblNuYXBzaG90KEQsTCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2VsbEVkaXQiLHtkZXRhaWw6e3JvdzpELGtleTpEZSxvbGRWYWx1ZTpJZSxuZXdWYWx1ZTpXZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSx0aGlzLmNoYW5nZVN1YmplY3QubmV4dCh0aGlzKSksdGhpcy5fX2VkaXRpbmdDZWxsPXZvaWQgMCx0aGlzLnJlcXVlc3RVcGRhdGUoKX1fX3JlY29yZENlbGxJblNuYXBzaG90KEQsTCl7aWYodGhpcy5oaWdobGlnaHRVcGRhdGVzIT09ImZsYXNoInx8IXRoaXMuX19wcmV2U25hcHNob3R8fCF0aGlzLnJvd0tleSlyZXR1cm47bGV0IGVlPXRoaXMuZ2V0Um93SWQoRCksRGU9dGhpcy5fX3ByZXZTbmFwc2hvdC5nZXQoZWUpO0RlfHwoRGU9bmV3IE1hcCx0aGlzLl9fcHJldlNuYXBzaG90LnNldChlZSxEZSkpLERlLnNldChTdHJpbmcoTC5rZXkpLEw0KEQsTCx0aGlzLmRpc3BsYXlGdW5jdGlvbikpfXJlbmRlckNlbGxFZGl0b3IoRCxMKXtsZXQgZWU9RFtMLmtleV0sRGU9TC5mb3JtYXQ/TC5mb3JtYXQoZWUsRCk6ZWUsSWU9TC5lZGl0b3I/PyJ0ZXh0IixXZT1zKHR0PT50aGlzLmNvbW1pdENlbGxFZGl0KEQsTCx0dC52YWx1ZSksIm9uVGV4dENvbW1pdCIpO3N3aXRjaChJZSl7Y2FzZSJjaGVja2JveCI6cmV0dXJuIHdgPGRlZXMtaW5wdXQtY2hlY2tib3gKICAgICAgICAgIC52YWx1ZT0keyEhRGV9CiAgICAgICAgICBAbmV3VmFsdWU9JHt0dD0+e3R0LnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuY29tbWl0Q2VsbEVkaXQoRCxMLHR0LmRldGFpbCl9fQogICAgICAgID48L2RlZXMtaW5wdXQtY2hlY2tib3g+YDtjYXNlImRyb3Bkb3duIjp7bGV0IHR0PUwuZWRpdG9yT3B0aW9ucz8ub3B0aW9ucz8/W10sYXQ9dHQuZmluZCh4dD0+eHQ9PW51bGw/ITE6dHlwZW9mIHh0PT0ic3RyaW5nIj94dD09PWVlOnh0LmtleT09PWVlfHx4dC5vcHRpb249PT1lZSk/P251bGw7cmV0dXJuIHdgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgIC52aW50ZWdyYXRlZD0keyEwfQogICAgICAgICAgLm9wdGlvbnM9JHt0dH0KICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0ke2F0fQogICAgICAgICAgQHNlbGVjdGVkT3B0aW9uPSR7eHQ9Pnt4dC5zdG9wUHJvcGFnYXRpb24oKTtsZXQgZ2E9eHQuZGV0YWlsLHl0PWdhPy5vcHRpb24/P2dhPy5rZXk/P2dhO3RoaXMuY29tbWl0Q2VsbEVkaXQoRCxMLHl0KX19CiAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj5gfWNhc2UiZGF0ZSI6cmV0dXJuIHdgPGRlZXMtaW5wdXQtZGF0ZXBpY2tlcgogICAgICAgICAgLnZhbHVlPSR7RGV9CiAgICAgICAgICBAZm9jdXNvdXQ9JHt0dD0+V2UodHQudGFyZ2V0KX0KICAgICAgICAgIEBrZXlkb3duPSR7dHQ9PnRoaXMuX19oYW5kbGVFZGl0b3JLZXkodHQsRCxMKX0KICAgICAgICA+PC9kZWVzLWlucHV0LWRhdGVwaWNrZXI+YDtjYXNlInRhZ3MiOnJldHVybiB3YDxkZWVzLWlucHV0LXRhZ3MKICAgICAgICAgIC52YWx1ZT0ke0RlPz9bXX0KICAgICAgICAgIEBmb2N1c291dD0ke3R0PT5XZSh0dC50YXJnZXQpfQogICAgICAgICAgQGtleWRvd249JHt0dD0+dGhpcy5fX2hhbmRsZUVkaXRvcktleSh0dCxELEwpfQogICAgICAgID48L2RlZXMtaW5wdXQtdGFncz5gO2RlZmF1bHQ6cmV0dXJuIHdgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgLnZpbnRlZ3JhdGVkPSR7ITB9CiAgICAgICAgICAudmFsdWU9JHtEZT09bnVsbD8iIjpTdHJpbmcoRGUpfQogICAgICAgICAgQGZvY3Vzb3V0PSR7dHQ9PldlKHR0LnRhcmdldCl9CiAgICAgICAgICBAa2V5ZG93bj0ke3R0PT50aGlzLl9faGFuZGxlRWRpdG9yS2V5KHR0LEQsTCl9CiAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PmB9fV9faGFuZGxlRWRpdG9yS2V5KEQsTCxlZSl7aWYoRC5rZXk9PT0iRXNjYXBlIilELnByZXZlbnREZWZhdWx0KCksRC5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmNhbmNlbENlbGxFZGl0KCksdGhpcy5mb2N1cygpO2Vsc2UgaWYoRC5rZXk9PT0iRW50ZXIiKXtELnByZXZlbnREZWZhdWx0KCksRC5zdG9wUHJvcGFnYXRpb24oKTtsZXQgRGU9RC50YXJnZXQ7dGhpcy5jb21taXRDZWxsRWRpdChMLGVlLERlLnZhbHVlKSx0aGlzLm1vdmVGb2N1c2VkQ2VsbCgwLDEsITApfWVsc2UgaWYoRC5rZXk9PT0iVGFiIil7RC5wcmV2ZW50RGVmYXVsdCgpLEQuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IERlPUQudGFyZ2V0O3RoaXMuY29tbWl0Q2VsbEVkaXQoTCxlZSxEZS52YWx1ZSksdGhpcy5tb3ZlRm9jdXNlZENlbGwoRC5zaGlmdEtleT8tMToxLDAsITApfX1tb3ZlRm9jdXNlZENlbGwoRCxMLGVlKXtsZXQgRGU9dGhpcy5fbGFzdFZpZXdEYXRhPz9bXTtpZihEZS5sZW5ndGg9PT0wKXJldHVybjtsZXQgSWU9dGhpcy5fX2dldEVmZmVjdGl2ZUNvbHVtbnMoKSxXZT10aGlzLl9fZWRpdGFibGVDb2x1bW5zKEllKTtpZihXZS5sZW5ndGg9PT0wKXJldHVybjtsZXQgdHQ9MCxhdD0wO2lmKHRoaXMuX19mb2N1c2VkQ2VsbCYmKHR0PURlLmZpbmRJbmRleCh5dD0+dGhpcy5nZXRSb3dJZCh5dCk9PT10aGlzLl9fZm9jdXNlZENlbGwucm93SWQpLGF0PVdlLmZpbmRJbmRleCh5dD0+U3RyaW5nKHl0LmtleSk9PT10aGlzLl9fZm9jdXNlZENlbGwuY29sS2V5KSx0dDwwJiYodHQ9MCksYXQ8MCYmKGF0PTApKSxEIT09MCl7Zm9yKGF0Kz1EO2F0Pj1XZS5sZW5ndGg7KWF0LT1XZS5sZW5ndGgsdHQrPTE7Zm9yKDthdDwwOylhdCs9V2UubGVuZ3RoLHR0LT0xfWlmKEwhPT0wJiYodHQrPUwpLHR0PDB8fHR0Pj1EZS5sZW5ndGgpe3RoaXMuY2FuY2VsQ2VsbEVkaXQoKTtyZXR1cm59bGV0IHh0PURlW3R0XSxnYT1XZVthdF07dGhpcy5fX2ZvY3VzZWRDZWxsPXtyb3dJZDp0aGlzLmdldFJvd0lkKHh0KSxjb2xLZXk6U3RyaW5nKGdhLmtleSl9LGVlP3RoaXMuc3RhcnRFZGl0aW5nKHh0LGdhKTp0aGlzLnJlcXVlc3RVcGRhdGUoKX1zdGF0aWN7aXQocix0KX19O3JldHVybiAkNz1yfSkoKX0pO3ZhciBsUWU9ZigoKT0+e2FRZSgpfSk7dmFyIHZsYSx4bGE9ZigoKT0+e2xlKCk7SWEoKTt2bGE9cygoKT0+d2AKICA8c3R5bGU+CiAgICAke1FgCiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1heC13aWR0aDogMTIwMHB4OwogICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CiAgICAgIAogICAgICBkZWVzLXBhbmVsOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5mb3JtLW91dHB1dCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICB9CiAgICAgIAogICAgICAuc3RhdHVzLW1lc3NhZ2UgewogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CiAgICAgIAogICAgICAuc3RhdHVzLW1lc3NhZ2Uuc3VjY2VzcyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUgLyAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDE0Mi4xIDcwLjYlIDM1LjMlKSIsImhzbCgxNDIuMSA3MC42JSA2NS4zJSkiKX07CiAgICAgIH0KICAgICAgCiAgICAgIC5zdGF0dXMtbWVzc2FnZS5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4xKSIsImhzbCgwIDcyLjIlIDUwLjYlIC8gMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDcyLjIlIDQwLjYlKSIsImhzbCgwIDcyLjIlIDYwLjYlKSIpfTsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpLHQ9YS5xdWVyeVNlbGVjdG9yKCIuZm9ybS1vdXRwdXQiKTtlJiZ0JiYoZS5hZGRFdmVudExpc3RlbmVyKCJmb3JtRGF0YSIsKGFzeW5jIGk9PntsZXQgbz1pLmRldGFpbC5kYXRhO2NvbnNvbGUubG9nKCJGb3JtIHN1Ym1pdHRlZCB3aXRoIGRhdGE6IixvKSxlLnNldFN0YXR1cygicGVuZGluZyIsIlByb2Nlc3NpbmcgeW91ciByZWdpc3RyYXRpb24uLi4iKSx0LmlubmVySFRNTD1gPHN0cm9uZz5TdWJtaXR0ZWQgRGF0YTo8L3N0cm9uZz4KJHtKU09OLnN0cmluZ2lmeShvLG51bGwsMil9YCxhd2FpdCBBdC5wbHVnaW5zLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMmUzKSxlLnNldFN0YXR1cygic3VjY2VzcyIsIlJlZ2lzdHJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5ISIpLGF3YWl0IEF0LnBsdWdpbnMuc21hcnRkZWxheS5kZWxheUZvcigyZTMpLGUucmVzZXQoKSx0LmlubmVySFRNTD0iPGVtPkZvcm0gaGFzIGJlZW4gcmVzZXQ8L2VtPiJ9KSksZS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWlucHV0LXRleHQsIGRlZXMtaW5wdXQtZHJvcGRvd24sIGRlZXMtaW5wdXQtY2hlY2tib3giKS5mb3JFYWNoKGk9PntpLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZVN1YmplY3QiLCgpPT57Y29uc29sZS5sb2coIkZpZWxkIGNoYW5nZWQ6IixpLmdldEF0dHJpYnV0ZSgia2V5IikpfSl9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLmhlYWRpbmc9IkNvbXBsZXRlIEZvcm0gRXhhbXBsZSIgLmRlc2NyaXB0aW9uPSJBIGNvbXByZWhlbnNpdmUgZm9ybSB3aXRoIHZhcmlvdXMgaW5wdXQgdHlwZXMsIHZhbGlkYXRpb24sIGFuZCBmb3JtIHN1Ym1pc3Npb24gaGFuZGxpbmciPgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0gCiAgICAgICAgICAgIGtleT0iZmlyc3ROYW1lIiAKICAgICAgICAgICAgbGFiZWw9IkZpcnN0IE5hbWUiCiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJZb3VyIGdpdmVuIG5hbWUifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0gCiAgICAgICAgICAgIGtleT0ibGFzdE5hbWUiIAogICAgICAgICAgICBsYWJlbD0iTGFzdCBOYW1lIgogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IAogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0gCiAgICAgICAgICAgIGtleT0iZW1haWwiIAogICAgICAgICAgICBsYWJlbD0iRW1haWwgQWRkcmVzcyIKICAgICAgICAgICAgLmluZm9UZXh0PSR7IldlIHdpbGwgdXNlIHRoaXMgdG8gY29udGFjdCB5b3UifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgICAga2V5PSJjb3VudHJ5IgogICAgICAgICAgICAubGFiZWw9JHsiQ291bnRyeSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IlVuaXRlZCBTdGF0ZXMiLGtleToidXMifSx7b3B0aW9uOiJDYW5hZGEiLGtleToiY2EifSx7b3B0aW9uOiJHZXJtYW55IixrZXk6ImRlIn0se29wdGlvbjoiRnJhbmNlIixrZXk6ImZyIn0se29wdGlvbjoiVW5pdGVkIEtpbmdkb20iLGtleToidWsifV19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICBrZXk9InBhc3N3b3JkIgogICAgICAgICAgICBsYWJlbD0iUGFzc3dvcmQiCiAgICAgICAgICAgIGlzUGFzc3dvcmRCb29sCiAgICAgICAgICAgIC5pbmZvVGV4dD0keyJNaW5pbXVtIDggY2hhcmFjdGVycyJ9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgIC5yZXF1aXJlZD0keyEwfQogICAgICAgICAgICBrZXk9InRlcm1zIgogICAgICAgICAgICBsYWJlbD0iSSBhZ3JlZSB0byB0aGUgVGVybXMgYW5kIENvbmRpdGlvbnMiCiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveAogICAgICAgICAgICBrZXk9Im5ld3NsZXR0ZXIiCiAgICAgICAgICAgIGxhYmVsPSJTZW5kIG1lIHByb21vdGlvbmFsIGVtYWlscyIKICAgICAgICAgICAgLnZhbHVlPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdD5DcmVhdGUgQWNjb3VudDwvZGVlcy1mb3JtLXN1Ym1pdD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLW91dHB1dCI+CiAgICAgICAgICA8ZW0+U3VibWl0IHRoZSBmb3JtIHRvIHNlZSB0aGUgY29sbGVjdGVkIGRhdGEuLi48L2VtPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpO2UmJihjb25zb2xlLmxvZygiSG9yaXpvbnRhbCBmb3JtIGxheW91dCBhY3RpdmUiKSxlLmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIiwocj0+e2xldCBpPXIuZGV0YWlsLmRhdGE7Y29uc29sZS5sb2coIkZpbHRlciBhcHBsaWVkOiIsaSk7bGV0IG89TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjEwMCkrMTtjb25zb2xlLmxvZyhgRm91bmQgJHtvfSByZXN1bHRzIHdpdGggZmlsdGVyczpgLGkpfSkpLGUucXVlcnlTZWxlY3RvckFsbCgiW2tleV0iKS5mb3JFYWNoKHI9PntyLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZVN1YmplY3QiLGFzeW5jKCk9PntsZXQgaT1hd2FpdCBlLmNvbGxlY3RGb3JtRGF0YSgpO2NvbnNvbGUubG9nKCJMaXZlIGZpbHRlciB1cGRhdGU6IixpKX0pfSkpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC5oZWFkaW5nPSJIb3Jpem9udGFsIEZvcm0gTGF5b3V0IiAuZGVzY3JpcHRpb249IkNvbXBhY3QgZm9ybSB3aXRoIGlucHV0cyBhcnJhbmdlZCBob3Jpem9udGFsbHkgLSBwZXJmZWN0IGZvciBmaWx0ZXJzIGFuZCBxdWljayBmb3JtcyI+CiAgICAgICAgPGRlZXMtZm9ybSBob3Jpem9udGFsLWxheW91dD4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgCiAgICAgICAgICAgIGtleT0ic2VhcmNoIiAKICAgICAgICAgICAgbGFiZWw9IlNlYXJjaCIKICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkVudGVyIGtleXdvcmRzLi4uIgogICAgICAgICAgPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICBrZXk9ImNhdGVnb3J5IgogICAgICAgICAgICAubGFiZWw9JHsiQ2F0ZWdvcnkifQogICAgICAgICAgICAuZW5hYmxlU2VhcmNoPSR7ITF9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkFsbCIsa2V5OiJhbGwifSx7b3B0aW9uOiJQcm9kdWN0cyIsa2V5OiJwcm9kdWN0cyJ9LHtvcHRpb246IlNlcnZpY2VzIixrZXk6InNlcnZpY2VzIn0se29wdGlvbjoiU3VwcG9ydCIsa2V5OiJzdXBwb3J0In1dfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAga2V5PSJzb3J0IgogICAgICAgICAgICAubGFiZWw9JHsiU29ydCBCeSJ9CiAgICAgICAgICAgIC5lbmFibGVTZWFyY2g9JHshMX0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiTmV3ZXN0IixrZXk6Im5ld2VzdCJ9LHtvcHRpb246IlBvcHVsYXIiLGtleToicG9wdWxhciJ9LHtvcHRpb246IlByaWNlOiBMb3cgdG8gSGlnaCIsa2V5OiJwcmljZV9hc2MifSx7b3B0aW9uOiJQcmljZTogSGlnaCB0byBMb3ciLGtleToicHJpY2VfZGVzYyJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94CiAgICAgICAgICAgIGtleT0iaW5TdG9jayIKICAgICAgICAgICAgbGFiZWw9IkluIFN0b2NrIE9ubHkiCiAgICAgICAgICAgIC52YWx1ZT0keyEwfQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICA8L2RlZXMtZm9ybT4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKSx0PWEucXVlcnlTZWxlY3RvcigiI3N0YXR1cy1kaXNwbGF5Iik7aWYoZSl7ZS5hZGRFdmVudExpc3RlbmVyKCJmb3JtRGF0YSIsKGFzeW5jIGk9PntsZXQgbz1pLmRldGFpbC5kYXRhO2NvbnNvbGUubG9nKCJBZHZhbmNlZCBmb3JtIGRhdGE6IixvKSxlLnNldFN0YXR1cygicGVuZGluZyIsIlZhbGlkYXRpbmcgeW91ciBpbmZvcm1hdGlvbi4uLiIpLGF3YWl0IEF0LnBsdWdpbnMuc21hcnRkZWxheS5kZWxheUZvcigxNTAwKSxvLmliYW4mJm8uaWJhbi5sZW5ndGg+MTU/KGUuc2V0U3RhdHVzKCJzdWNjZXNzIiwiQXBwbGljYXRpb24gc3VibWl0dGVkIHN1Y2Nlc3NmdWxseSEiKSx0JiYodC5jbGFzc05hbWU9InN0YXR1cy1tZXNzYWdlIHN1Y2Nlc3MiLHQudGV4dENvbnRlbnQ9Ilx1MjcxMyBZb3VyIGFwcGxpY2F0aW9uIGhhcyBiZWVuIHN1Ym1pdHRlZC4gV2Ugd2lsbCBjb250YWN0IHlvdSBzb29uLiIpKTooZS5zZXRTdGF0dXMoImVycm9yIiwiUGxlYXNlIGNoZWNrIHlvdXIgSUJBTiIpLHQmJih0LmNsYXNzTmFtZT0ic3RhdHVzLW1lc3NhZ2UgZXJyb3IiLHQudGV4dENvbnRlbnQ9Ilx1MjcxNyBJbnZhbGlkIElCQU4gZm9ybWF0LiBQbGVhc2UgY2hlY2sgYW5kIHRyeSBhZ2Fpbi4iKSksY29uc29sZS5sb2coIkZvcm0gZGF0YSBsb2dnZWQ6IixvKX0pKTtsZXQgcj1lLnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtZmlsZXVwbG9hZCIpO3ImJnIuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixpPT57bGV0IG89aS5kZXRhaWw/LmZpbGVzfHxbXTtjb25zb2xlLmxvZyhgJHtvLmxlbmd0aH0gZmlsZShzKSBzZWxlY3RlZCBmb3IgdXBsb2FkYCl9KX19fT4KICAgICAgPGRlZXMtcGFuZWwgLmhlYWRpbmc9IkFkdmFuY2VkIEZvcm0gRmVhdHVyZXMiIC5kZXNjcmlwdGlvbj0iRm9ybSB3aXRoIHNwZWNpYWxpemVkIGlucHV0IHR5cGVzIGFuZCBjb21wbGV4IHZhbGlkYXRpb24iPgogICAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1pYmFuIAogICAgICAgICAgICBrZXk9ImliYW4iCiAgICAgICAgICAgIGxhYmVsPSJJQkFOIgogICAgICAgICAgICAucmVxdWlyZWQ9JHshMH0KICAgICAgICAgID48L2RlZXMtaW5wdXQtaWJhbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtcGhvbmUKICAgICAgICAgICAga2V5PSJwaG9uZSIKICAgICAgICAgICAgbGFiZWw9IlBob25lIE51bWJlciIKICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXBob25lPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZQogICAgICAgICAgICBrZXk9InByZWZlcmVuY2VzIgogICAgICAgICAgICAubGFiZWw9JHsiTm90aWZpY2F0aW9uIFByZWZlcmVuY2VzIn0KICAgICAgICAgICAgLm9wdGlvbnM9JHtbIkVtYWlsIiwiU01TIiwiUHVzaCIsIkluLUFwcCJdfQogICAgICAgICAgICAuc2VsZWN0ZWRPcHRpb249JHsiRW1haWwifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1tdWx0aXRvZ2dsZT4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGlzZWxlY3QKICAgICAgICAgICAga2V5PSJpbnRlcmVzdHMiCiAgICAgICAgICAgIC5sYWJlbD0keyJBcmVhcyBvZiBJbnRlcmVzdCJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IlRlY2hub2xvZ3kiLGtleToidGVjaCJ9LHtvcHRpb246IkRlc2lnbiIsa2V5OiJkZXNpZ24ifSx7b3B0aW9uOiJCdXNpbmVzcyIsa2V5OiJidXNpbmVzcyJ9LHtvcHRpb246Ik1hcmtldGluZyIsa2V5OiJtYXJrZXRpbmcifSx7b3B0aW9uOiJTYWxlcyIsa2V5OiJzYWxlcyJ9XX0KICAgICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGlzZWxlY3Q+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LWZpbGV1cGxvYWQKICAgICAgICAgICAga2V5PSJkb2N1bWVudHMiCiAgICAgICAgICAgIC5sYWJlbD0keyJVcGxvYWQgRG9jdW1lbnRzIn0KICAgICAgICAgICAgLmluZm9UZXh0PSR7IlBERiwgRE9DLCBvciBET0NYIGZpbGVzIHVwIHRvIDEwTUIifQogICAgICAgICAgPjwvZGVlcy1pbnB1dC1maWxldXBsb2FkPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1mb3JtLXN1Ym1pdD5TdWJtaXQgQXBwbGljYXRpb248L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgCiAgICAgICAgPGRpdiBpZD0ic3RhdHVzLWRpc3BsYXkiPjwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgeWxhLGNRZSx3bGEsTWxhLGNtPWYoKCk9PntsZSgpO0p0KCk7WnRlKCk7UFllKCk7cmFlKCk7ZDQoKTtGWWUoKTtuYWUoKTt1YWUoKTtxWWUoKTtXWWUoKTtHWWUoKTtZWWUoKTtaWWUoKTtRWWUoKTtKWWUoKTtlS2UoKTtPc2UoKTtGc2UoKTtBZigpO2xRZSgpO3hsYSgpO3lsYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sY1FlPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx3bGE9W0t0ZSxlYWUsYWFlLGRhZSxwYWUsZ2FlLGJhZSx4YWUsaWFlLG9hZSxzYWUseWFlLHdhZSxNYWUsa2FlLFdXLEJzZSxxc2VdLE1sYT0oKCk9PntsZXQgYT1baWUoImRlZXMtZm9ybSIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzRm9ybSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwLGF0dHJpYnV0ZToiaG9yaXpvbnRhbC1sYXlvdXQifSldLHlsYSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imhvcml6b250YWxMYXlvdXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+Imhvcml6b250YWxMYXlvdXQiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5ob3Jpem9udGFsTGF5b3V0LCJnZXQiKSxzZXQ6cygocCx1KT0+e3AuaG9yaXpvbnRhbExheW91dD11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCkseWxhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89dmxhO3N0YXRpYyBkZW1vR3JvdXBzPVsiRm9ybSJdO25hbWU9Im15Zm9ybSI7Y2hhbmdlU3ViamVjdD1uZXcgQnQuc21hcnRyeC5yeGpzLlN1YmplY3Q7cmVhZHlEZWZlcnJlZD1CdC5zbWFydHByb21pc2UuZGVmZXIoKTsjZT1jUWUodGhpcyxuLCExKTtnZXQgaG9yaXpvbnRhbExheW91dCgpe3JldHVybiB0aGlzLiNlfXNldCBob3Jpem9udGFsTGF5b3V0KGMpe3RoaXMuI2U9Y31zdGF0aWMgc3R5bGVzPVtRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2hvcml6b250YWwtbGF5b3V0XSkgewogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzbG90Pjwvc2xvdD4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7bGV0IGM9dGhpcy5nZXRGb3JtRWxlbWVudHMoKTt0aGlzLnVwZGF0ZVJlcXVpcmVkU3RhdHVzKCksdGhpcy51cGRhdGVDaGlsZHJlbkxheW91dE1vZGUoKTtmb3IobGV0IHAgb2YgYylwLmNoYW5nZVN1YmplY3Quc3Vic2NyaWJlKGFzeW5jKCk9PntsZXQgdT1hd2FpdCB0aGlzLmNvbGxlY3RGb3JtRGF0YSgpO3RoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHUpLGNvbnNvbGUubG9nKHUpLHRoaXMudXBkYXRlUmVxdWlyZWRTdGF0dXMoKX0pO2F3YWl0IHRoaXMuYWRkQmVoYXZpb3VycygpLHRoaXMucmVhZHlEZWZlcnJlZC5yZXNvbHZlKCl9Z2V0Rm9ybUVsZW1lbnRzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5xdWVyeVNlbGVjdG9yQWxsKCIqIikpLmZpbHRlcihjPT53bGEuaW5jbHVkZXMoYy5jb25zdHJ1Y3RvcikpfWdldFN1Ym1pdEJ1dHRvbigpe3JldHVybiBBcnJheS5mcm9tKHRoaXMucXVlcnlTZWxlY3RvckFsbCgiKiIpKS5maW5kKGM9PmMgaW5zdGFuY2VvZiBsYWUpfWFzeW5jIHVwZGF0ZVJlcXVpcmVkU3RhdHVzKCl7Y29uc29sZS5sb2coImNoZWNraW5nIHRoZSByZXF1aXJlZCBzdGF0dXMuIik7bGV0IGM9ITA7Zm9yKGxldCB1IG9mIHRoaXMuZ2V0Rm9ybUVsZW1lbnRzKCkpdS5yZXF1aXJlZCYmIXUudmFsdWUmJihjPSExKTtsZXQgcD10aGlzLmdldFN1Ym1pdEJ1dHRvbigpO3AmJihwLmRpc2FibGVkPSFjKX1hc3luYyBjb2xsZWN0Rm9ybURhdGEoKXtsZXQgYz10aGlzLmdldEZvcm1FbGVtZW50cygpLHA9e307Zm9yKGxldCB1IG9mIGMpe2lmKCF1LmtleSl7Y29uc29sZS5sb2coYGZvcm0gZWxlbWVudCB3aXRoIGxhYmVsICIke3UubGFiZWx9IiBoYXMgbm8ga2V5LiBza2lwcGluZy5gKTtjb250aW51ZX1wW3Uua2V5XT11LnZhbHVlfXJldHVybiBwfWFzeW5jIGdhdGhlckFuZERpc3BhdGNoKCl7bGV0IGM9YXdhaXQgdGhpcy5jb2xsZWN0Rm9ybURhdGEoKSxwPW5ldyBDdXN0b21FdmVudCgiZm9ybURhdGEiLHtkZXRhaWw6e2RhdGE6Y30sYnViYmxlczohMH0pO3RoaXMuZGlzcGF0Y2hFdmVudChwKSxjb25zb2xlLmxvZygiZGlzcGF0Y2hlZCBkYXRhOiIpLGNvbnNvbGUubG9nKGMpfXNldFN0YXR1cyhjLHApe2xldCB1PXRoaXMuZ2V0Rm9ybUVsZW1lbnRzKCksbT10aGlzLmdldFN1Ym1pdEJ1dHRvbigpO2lmKG0pe3N3aXRjaChjKXtjYXNlIm5vcm1hbCI6bS5kaXNhYmxlZD0hMSxtLnN0YXR1cz0ibm9ybWFsIjtmb3IobGV0IHYgb2YgdSl2LmRpc2FibGVkPSExO2JyZWFrO2Nhc2UicGVuZGluZyI6bS5kaXNhYmxlZD0hMCxtLnN0YXR1cz0icGVuZGluZyI7Zm9yKGxldCB2IG9mIHUpdi5kaXNhYmxlZD0hMDticmVhaztjYXNlInN1Y2Nlc3MiOm0uZGlzYWJsZWQ9ITAsbS5zdGF0dXM9InN1Y2Nlc3MiO2ZvcihsZXQgdiBvZiB1KXYuZGlzYWJsZWQ9ITA7YnJlYWs7Y2FzZSJlcnJvciI6bS5kaXNhYmxlZD0hMCxtLnN0YXR1cz0iZXJyb3IiO2ZvcihsZXQgdiBvZiB1KXYuZGlzYWJsZWQ9ITA7YnJlYWt9bS50ZXh0PXB9fXJlc2V0KCl7bGV0IGM9dGhpcy5nZXRGb3JtRWxlbWVudHMoKTtmb3IobGV0IHAgb2YgYylwLnZhbHVlPW51bGw7dGhpcy5zZXRTdGF0dXMoIm5vcm1hbCIsIlN1Ym1pdCIpfWFzeW5jIGFkZEJlaGF2aW91cnMoKXt0aGlzLmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLGM9PntsZXQgcD1jLnRhcmdldDtpZih3bGEuaW5jbHVkZXMocC5jb25zdHJ1Y3RvcikmJmMua2V5PT09IkVudGVyIil7bGV0IHU9dGhpcy5nZXRGb3JtRWxlbWVudHMoKSxtPXUuaW5kZXhPZihwKTttPHUubGVuZ3RoLTE/dVttKzFdLmZvY3VzKCk6KHAuYmx1cigpLHRoaXMuZ2V0U3VibWl0QnV0dG9uKCk/LmZvY3VzKCkpfX0pfXVwZGF0ZUNoaWxkcmVuTGF5b3V0TW9kZSgpe2xldCBjPXRoaXMuZ2V0Rm9ybUVsZW1lbnRzKCk7Zm9yKGxldCBwIG9mIGMpImxheW91dE1vZGUiaW4gcCYmKHAubGF5b3V0TW9kZT0iYXV0byIpfXVwZGF0ZWQoYyl7c3VwZXIudXBkYXRlZChjKSxjLmhhcygiaG9yaXpvbnRhbExheW91dCIpJiZ0aGlzLnVwZGF0ZUNoaWxkcmVuTGF5b3V0TW9kZSgpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxjUWUodGhpcyxsKX1zdGF0aWN7Y1FlKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBrbGEsU2xhPWYoKCk9PntsZSgpO0lhKCk7VXMoKTtjbSgpO0FmKCk7ZDQoKTt2YSgpO2tsYT1zKCgpPT53YAogIDxzdHlsZT4KICAgICR7UWAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWwgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWw6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KICAgICAgCiAgICAgIC52ZXJ0aWNhbC1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1heC13aWR0aDogMzAwcHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5ob3Jpem9udGFsLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgfQogICAgICAKICAgICAgLmRlbW8tb3V0cHV0IHsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICB9CiAgICAgIAogICAgICAuaWNvbi1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgbWFyZ2luOiA4cHggMDsKICAgICAgfQogICAgICAKICAgICAgLmNvZGUtc25pcHBldCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTEuOCUpIil9OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgbWFyZ2luOiA0cHggMDsKICAgICAgfQogICAgYH0KICA8L3N0eWxlPgogIAogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PnthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaCh0PT57dC5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2xldCByPXQuZ2V0QXR0cmlidXRlKCJ0eXBlIil8fCJkZWZhdWx0Ijtjb25zb2xlLmxvZyhgQnV0dG9uIHZhcmlhbnQgY2xpY2tlZDogJHtyfWApfSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMS4gQnV0dG9uIFZhcmlhbnRzIn0gLnN1YnRpdGxlPSR7IkRpZmZlcmVudCB2aXN1YWwgc3R5bGVzIGZvciB2YXJpb3VzIHVzZSBjYXNlcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVmYXVsdCI+RGVmYXVsdDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5Ij5TZWNvbmRhcnk8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlc3RydWN0aXZlIj5EZXN0cnVjdGl2ZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ib3V0bGluZSI+T3V0bGluZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZ2hvc3QiPkdob3N0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJsaW5rIj5MaW5rIEJ1dHRvbjwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2EucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKHQ9Pnt0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57bGV0IHI9dC5nZXRBdHRyaWJ1dGUoInNpemUiKXx8ImRlZmF1bHQiO2NvbnNvbGUubG9nKGBCdXR0b24gc2l6ZTogJHtyfWApfSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiMi4gQnV0dG9uIFNpemVzIn0gLnN1YnRpdGxlPSR7Ik11bHRpcGxlIHNpemVzIGZvciBkaWZmZXJlbnQgY29udGV4dHMgYW5kIHVzZSBjYXNlcyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0ic20iPlNtYWxsIEJ1dHRvbjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iZGVmYXVsdCI+RGVmYXVsdCBTaXplPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJsZyI+TGFyZ2UgQnV0dG9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJvdXRsaW5lIiAudGV4dD0keyJcdXsxRjY4MH0ifT48L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCIgc3R5bGU9Im1hcmdpbi10b3A6IDE2cHg7Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJzbSIgdHlwZT0ic2Vjb25kYXJ5Ij5TbWFsbCBTZWNvbmRhcnk8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9ImRlZmF1bHQiIHR5cGU9ImRlc3RydWN0aXZlIj5EZWZhdWx0IERlc3RydWN0aXZlPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJsZyIgdHlwZT0ib3V0bGluZSI+TGFyZ2UgT3V0bGluZTwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICAgIAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2EucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKHQ9Pnt0LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57bGV0IHI9dC5xdWVyeVNlbGVjdG9yKCJkZWVzLWljb24iKTtpZihyKXtsZXQgaT1yLmdldEF0dHJpYnV0ZSgiaWNvbkZBIil8fCJ1bmtub3duIjtjb25zb2xlLmxvZyhgSWNvbiBidXR0b24gY2xpY2tlZDogJHtpfWApfX0pfSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjMuIEJ1dHRvbnMgd2l0aCBJY29ucyJ9IC5zdWJ0aXRsZT0keyJDb21iaW5pbmcgaWNvbnMgd2l0aCB0ZXh0IGZvciBlbmhhbmNlZCB2aXN1YWwgY29tbXVuaWNhdGlvbiJ9PgogICAgICAgIDxkaXYgY2xhc3M9Imljb24tcm93Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTpwbHVzIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgQWRkIEl0ZW0KICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVzdHJ1Y3RpdmUiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249ImZhOnRyYXNoIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgRGVsZXRlCiAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Im91dGxpbmUiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpEb3dubG9hZCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIERvd25sb2FkCiAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLXJvdyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5IiBzaXplPSJzbSI+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0iZmE6Z2VhciI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIFNldHRpbmdzCiAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0Ij4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTpjYXJldExlZnQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICBCYWNrCiAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0Ij4KICAgICAgICAgICAgTmV4dAogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249ImZhOmNhcmV0UmlnaHQiPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1yb3ciPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9Imljb24iIHR5cGU9ImRlZmF1bHQiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249ImZhOnBsdXMiPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJzZWNvbmRhcnkiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249ImZhOmdlYXIiPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJvdXRsaW5lIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6U2VhcmNoIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0iZ2hvc3QiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpNb3JlVmVydGljYWwiPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJkZXN0cnVjdGl2ZSI+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0iZmE6dHJhc2giPjwvZGVlcy1pY29uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PnthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaCh0PT57dC5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2xldCByPXQuZ2V0QXR0cmlidXRlKCJpY29uIil8fCJub25lIixpPXQuZ2V0QXR0cmlidXRlKCJpY29uUG9zaXRpb24iKXx8ImxlZnQiO2NvbnNvbGUubG9nKGBJY29uIHByb3BlcnR5IGJ1dHRvbjogaWNvbj0ke3J9LCBwb3NpdGlvbj0ke2l9YCl9KX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI0LiBJY29ucyB2aWEgUHJvcGVydHkifSAuc3VidGl0bGU9JHsiU2ltcGxpZmllZCBpY29uIHN5bnRheCB1c2luZyB0aGUgaWNvbiBwcm9wZXJ0eSJ9PgogICAgICAgIDxkaXYgY2xhc3M9Imljb24tcm93Ij4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBpY29uPSJmYTpwbHVzIj5BZGQgSXRlbTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVzdHJ1Y3RpdmUiIGljb249ImZhOnRyYXNoIj5EZWxldGU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Im91dGxpbmUiIGljb249Imx1Y2lkZTpEb3dubG9hZCI+RG93bmxvYWQ8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLXJvdyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5IiBzaXplPSJzbSIgaWNvbj0iZmE6Z2VhciI+U2V0dGluZ3M8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0IiBpY29uPSJmYTpjYXJldExlZnQiPkJhY2s8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0IiBpY29uPSJmYTpjYXJldFJpZ2h0IiBpY29uUG9zaXRpb249InJpZ2h0Ij5OZXh0PC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1yb3ciPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHNpemU9Imljb24iIHR5cGU9ImRlZmF1bHQiIGljb249ImZhOnBsdXMiPjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0ic2Vjb25kYXJ5IiBpY29uPSJsdWNpZGU6U2V0dGluZ3MiPjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc2l6ZT0iaWNvbiIgdHlwZT0ib3V0bGluZSIgaWNvbj0ibHVjaWRlOlNlYXJjaCI+PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJnaG9zdCIgaWNvbj0ibHVjaWRlOk1vcmVWZXJ0aWNhbCI+PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzaXplPSJpY29uIiB0eXBlPSJkZXN0cnVjdGl2ZSIgaWNvbj0iZmE6dHJhc2giPjwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDE2cHg7Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtc25pcHBldCI+CiAgICAgICAgICAgICZsdDtkZWVzLWJ1dHRvbiBpY29uPSJmYTpwbHVzIiZndDtBZGQgSXRlbSZsdDsvZGVlcy1idXR0b24mZ3Q7PGJyPgogICAgICAgICAgICAmbHQ7ZGVlcy1idXR0b24gaWNvbj0iZmE6Y2FyZXRSaWdodCIgaWNvblBvc2l0aW9uPSJyaWdodCImZ3Q7TmV4dCZsdDsvZGVlcy1idXR0b24mZ3Q7CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtYnV0dG9uW3N0YXR1cz0icGVuZGluZyJdJyksdD1hLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtYnV0dG9uW3N0YXR1cz0ic3VjY2VzcyJdJykscj1hLnF1ZXJ5U2VsZWN0b3IoJ2RlZXMtYnV0dG9uW3N0YXR1cz0iZXJyb3IiXScpO2UmJnNldFRpbWVvdXQoKCk9Pntjb25zb2xlLmxvZygiUGVuZGluZyBidXR0b24gaXMgc2hvd2luZyBsb2FkaW5nIHN0YXRlIil9LDFlMyksdCYmdC5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2NvbnNvbGUubG9nKCJTdWNjZXNzIHN0YXRlIGJ1dHRvbiBjbGlja2VkIil9KSxyJiZyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57Y29uc29sZS5sb2coIkVycm9yIHN0YXRlIGJ1dHRvbiBjbGlja2VkIil9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNS4gQnV0dG9uIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgc3RhdGVzIHRvIGluZGljYXRlIGJ1dHRvbiBzdGF0dXMgYW5kIGxvYWRpbmcgY29uZGl0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc3RhdHVzPSJub3JtYWwiPk5vcm1hbDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gc3RhdHVzPSJwZW5kaW5nIj5Qcm9jZXNzaW5nLi4uPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzdGF0dXM9InN1Y2Nlc3MiPlN1Y2Nlc3MhPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBzdGF0dXM9ImVycm9yIj5FcnJvciE8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIGRpc2FibGVkPkRpc2FibGVkPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiIHN0eWxlPSJtYXJnaW4tdG9wOiAxNnB4OyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5IiBzdGF0dXM9InBlbmRpbmciIHNpemU9InNtIj5TbWFsbCBMb2FkaW5nPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJvdXRsaW5lIiBzdGF0dXM9InBlbmRpbmciPkRlZmF1bHQgTG9hZGluZzwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVzdHJ1Y3RpdmUiIHN0YXR1cz0icGVuZGluZyIgc2l6ZT0ibGciPkxhcmdlIExvYWRpbmc8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoIiNjbGljay1vdXRwdXQiKSx0PWEucXVlcnlTZWxlY3RvcigiZGVlcy1idXR0b246Zmlyc3Qtb2YtdHlwZSIpLHI9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWJ1dHRvblt0eXBlPSJzZWNvbmRhcnkiXScpLGk9YS5xdWVyeVNlbGVjdG9yKCdkZWVzLWJ1dHRvblt0eXBlPSJkZXN0cnVjdGl2ZSJdJyk7dCYmZSYmdC5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIiwoKT0+e2UudGV4dENvbnRlbnQ9YENsaWNrZWQ6IERlZmF1bHQgYnV0dG9uIGF0ICR7bmV3IERhdGUoKS50b0xvY2FsZVRpbWVTdHJpbmcoKX1gfSksciYmZSYmci5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIixvPT57ZS50ZXh0Q29udGVudD1gQ2xpY2tlZDogU2Vjb25kYXJ5IGJ1dHRvbiB3aXRoIGRhdGE6ICR7by5kZXRhaWwuZGF0YX1gfSksaSYmZSYmaS5hZGRFdmVudExpc3RlbmVyKCJjbGlja2VkIixhc3luYygpPT57ZS50ZXh0Q29udGVudD0iUHJvY2Vzc2luZy4uLiIsYXdhaXQgQXQucGx1Z2lucy5zbWFydGRlbGF5LmRlbGF5Rm9yKDJlMyksZS50ZXh0Q29udGVudD0iQWN0aW9uIGNvbXBsZXRlZCEifSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IjYuIEV2ZW50IEhhbmRsaW5nIn0gLnN1YnRpdGxlPSR7IkludGVyYWN0aXZlIGV4YW1wbGVzIHdpdGggY2xpY2sgZXZlbnQgaGFuZGxpbmcifT4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JvdXAiPgogICAgICAgICAgPGRlZXMtYnV0dG9uPkNsaWNrIE1lPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJzZWNvbmRhcnkiIC5ldmVudERldGFpbERhdGE9JHsiY3VzdG9tLWRhdGEtMTIzIn0+CiAgICAgICAgICAgIENsaWNrIHdpdGggRGF0YQogICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJkZXN0cnVjdGl2ZSI+QXN5bmMgQWN0aW9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IGlkPSJjbGljay1vdXRwdXQiIGNsYXNzPSJkZW1vLW91dHB1dCI+CiAgICAgICAgICA8ZW0+Q2xpY2sgYSBidXR0b24gdG8gc2VlIHRoZSByZXN1bHQuLi48L2VtPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICAKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoImRlZXMtZm9ybSIpLHQ9YS5xdWVyeVNlbGVjdG9yKCIjZm9ybS1vdXRwdXQiKTtlJiZ0JiZlLmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIixvPT57dC5pbm5lckhUTUw9IjxzdHJvbmc+Rm9ybSBzdWJtaXR0ZWQgd2l0aCBkYXRhOjwvc3Ryb25nPjxicj4iK0pTT04uc3RyaW5naWZ5KG8uZGV0YWlsLmRhdGEsbnVsbCwyKX0pO2xldCByPWEucXVlcnlTZWxlY3RvcignZGVlcy1idXR0b25bdHlwZT0ic2Vjb25kYXJ5Il0nKSxpPWEucXVlcnlTZWxlY3RvcignZGVlcy1idXR0b25bdHlwZT0iZ2hvc3QiXScpO3ImJnIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsKCk9Pntjb25zb2xlLmxvZygiU2F2ZSBEcmFmdCBjbGlja2VkIil9KSxpJiZpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57Y29uc29sZS5sb2coIkNhbmNlbCBjbGlja2VkIil9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiNy4gRm9ybSBJbnRlZ3JhdGlvbiJ9IC5zdWJ0aXRsZT0keyJCdXR0b25zIHdvcmtpbmcgd2l0aGluIGZvcm1zIHdpdGggYXV0b21hdGljIHNwYWNpbmcifT4KICAgICAgICA8ZGVlcy1mb3JtPgogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBsYWJlbD0iTmFtZSIga2V5PSJuYW1lIiByZXF1aXJlZD48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQgbGFiZWw9IkVtYWlsIiBrZXk9ImVtYWlsIiB0eXBlPSJlbWFpbCIgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGxhYmVsPSJNZXNzYWdlIiBrZXk9Im1lc3NhZ2UiIGlzTXVsdGlsaW5lPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ic2Vjb25kYXJ5Ij5TYXZlIERyYWZ0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJnaG9zdCI+Q2FuY2VsPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PlN1Ym1pdCBGb3JtPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICAgIAogICAgICAgIDxkaXYgaWQ9ImZvcm0tb3V0cHV0IiBjbGFzcz0iZGVtby1vdXRwdXQiIHN0eWxlPSJ3aGl0ZS1zcGFjZTogcHJlLXdyYXA7Ij4KICAgICAgICAgIDxlbT5TdWJtaXQgdGhlIGZvcm0gdG8gc2VlIHRoZSBkYXRhLi4uPC9lbT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2godD0+e2xldCByPXQuZ2V0QXR0cmlidXRlKCJ0eXBlIik7ciYmY29uc29sZS5sb2coYExlZ2FjeSB0eXBlICIke3J9IiBpcyBzdXBwb3J0ZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlgKX0pfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyI4LiBCYWNrd2FyZCBDb21wYXRpYmlsaXR5In0gLnN1YnRpdGxlPSR7Ik9sZCBidXR0b24gdHlwZXMgYXJlIGF1dG9tYXRpY2FsbHkgbWFwcGVkIHRvIG5ldyB2YXJpYW50cyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncm91cCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0ibm9ybWFsIj5Ob3JtYWwg4oaSIERlZmF1bHQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImhpZ2hsaWdodGVkIj5IaWdobGlnaHRlZCDihpIgRGVzdHJ1Y3RpdmU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRpc2NyZWV0Ij5EaXNjcmVldCDihpIgT3V0bGluZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iYmlnIj5CaWcg4oaSIExhcmdlIFNpemU8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxwIHN0eWxlPSJtYXJnaW4tdG9wOiAxNnB4OyBmb250LXNpemU6IDE0cHg7IGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OyI+CiAgICAgICAgICBUaGVzZSBsZWdhY3kgdHlwZSB2YWx1ZXMgYXJlIG1haW50YWluZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgYnV0IHdlIHJlY29tbWVuZCB1c2luZyB0aGUgbmV3IHZhcmlhbnQgc3lzdGVtLgogICAgICAgIDwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogICAgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yQWxsKCIudmVydGljYWwtZ3JvdXAiKVswXSx0PWEucXVlcnlTZWxlY3RvckFsbCgiLnZlcnRpY2FsLWdyb3VwIilbMV07ZSYmZS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2goKGksbyk9PntpLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrZWQiLCgpPT57bGV0IG49WyJTYXZlIENoYW5nZXMiLCJEaXNjYXJkIiwiSGVscCJdW29dO2NvbnNvbGUubG9nKGBBY3Rpb24gZ3JvdXA6ICR7bn0gY2xpY2tlZGApfSl9KSx0JiZ0LnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaCgoaSxvKT0+e2kuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2tlZCIsKCk9PntsZXQgbj1bIkRlbGV0ZSBBY2NvdW50IiwiQXJjaGl2ZSBEYXRhIiwiTm90IEF2YWlsYWJsZSJdW29dO28hPT0yJiZjb25zb2xlLmxvZyhgRGFuZ2VyIHpvbmU6ICR7bn0gY2xpY2tlZGApfSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiOS4gQWR2YW5jZWQgRXhhbXBsZXMifSAuc3VidGl0bGU9JHsiQ29tcGxleCBidXR0b24gY29uZmlndXJhdGlvbnMgYW5kIHJlYWwtd29ybGQgdXNlIGNhc2VzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iaG9yaXpvbnRhbC1ncm91cCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2ZXJ0aWNhbC1ncm91cCI+CiAgICAgICAgICAgIDxoNCBzdHlsZT0ibWFyZ2luOiAwIDAgOHB4IDA7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsiPkFjdGlvbiBHcm91cDwvaDQ+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJkZWZhdWx0IiBzaXplPSJzbSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6U2F2ZSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgU2F2ZSBDaGFuZ2VzCiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJzZWNvbmRhcnkiIHNpemU9InNtIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpVbmRvMiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgRGlzY2FyZAogICAgICAgICAgICA8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZ2hvc3QiIHNpemU9InNtIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpIZWxwQ2lyY2xlIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICBIZWxwCiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2ZXJ0aWNhbC1ncm91cCI+CiAgICAgICAgICAgIDxoNCBzdHlsZT0ibWFyZ2luOiAwIDAgOHB4IDA7IGZvbnQtc2l6ZTogMTRweDsgZm9udC13ZWlnaHQ6IDUwMDsiPkRhbmdlciBab25lPC9oND4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlc3RydWN0aXZlIiBzaXplPSJzbSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJmYTp0cmFzaCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgRGVsZXRlIEFjY291bnQKICAgICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Im91dGxpbmUiIHNpemU9InNtIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpBcmNoaXZlIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICBBcmNoaXZlIERhdGEKICAgICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9Imdob3N0IiBzaXplPSJzbSIgZGlzYWJsZWQ+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6QmFuIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICBOb3QgQXZhaWxhYmxlCiAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiAyNHB4OyI+CiAgICAgICAgICA8aDQgc3R5bGU9Im1hcmdpbjogMCAwIDhweCAwOyBmb250LXNpemU6IDE0cHg7IGZvbnQtd2VpZ2h0OiA1MDA7Ij5Db2RlIEV4YW1wbGU6PC9oND4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtc25pcHBldCI+CiAgICAgICAgICAgICZsdDtkZWVzLWJ1dHRvbiB0eXBlPSJkZWZhdWx0IiBzaXplPSJzbSIgaWNvbj0ibHVjaWRlOlNhdmUiIEBjbGlja2VkPSJcJHtoYW5kbGVDbGlja30iJmd0Ozxicj4KICAgICAgICAgICAgJm5ic3A7Jm5ic3A7U2F2ZSBDaGFuZ2VzPGJyPgogICAgICAgICAgICAmbHQ7L2RlZXMtYnV0dG9uJmd0OwogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBCMSxKcix6bGEsX2Y9ZigoKT0+e2xlKCk7SnQoKTtTbGEoKTtRZSgpO0IxPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxKcj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0semxhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1idXR0b24iKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXTt2YXIgaGU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNCdXR0b24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgUj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHtyZWZsZWN0OiEwLGhhc0NoYW5nZWQoKXtyZXR1cm4hMH19KV0sZD1bJCgpXSx1PVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0seT1bJCh7dHlwZTpTdHJpbmd9KV0sTj1bJCh7dHlwZTpTdHJpbmd9KV0sTz1bJCh7dHlwZTpTdHJpbmd9KV0sQj1bJCh7dHlwZTpCb29sZWFuLHJlZmxlY3Q6ITB9KV0sUD1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSxXPVskKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLEIxKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4idGV4dCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnRleHQsImdldCIpLHNldDpzKChVLG1lKT0+e1UudGV4dD1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxuLGwpLEIxKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXZlbnREZXRhaWxEYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJldmVudERldGFpbERhdGEiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5ldmVudERldGFpbERhdGEsImdldCIpLHNldDpzKChVLG1lKT0+e1UuZXZlbnREZXRhaWxEYXRhPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGMscCksQjEodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkaXNhYmxlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iZGlzYWJsZWQiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5kaXNhYmxlZCwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5kaXNhYmxlZD1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxtLHYpLEIxKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNIaWRkZW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImlzSGlkZGVuImluIFUsImhhcyIpLGdldDpzKFU9PlUuaXNIaWRkZW4sImdldCIpLHNldDpzKChVLG1lKT0+e1UuaXNIaWRkZW49bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sYixnKSxCMSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InR5cGUiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS50eXBlLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnR5cGU9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sayxDKSxCMSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InNpemUiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5zaXplLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnNpemU9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sXyx6KSxCMSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXR1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4ic3RhdHVzImluIFUsImhhcyIpLGdldDpzKFU9PlUuc3RhdHVzLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnN0YXR1cz1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxULEUpLEIxKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5zaWRlRm9ybSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iaW5zaWRlRm9ybSJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmluc2lkZUZvcm0sImdldCIpLHNldDpzKChVLG1lKT0+e1UuaW5zaWRlRm9ybT1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxNLFMpLEIxKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaWNvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iaWNvbiJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmljb24sImdldCIpLHNldDpzKChVLG1lKT0+e1UuaWNvbj1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxBLEYpLEIxKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaWNvblBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJpY29uUG9zaXRpb24iaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5pY29uUG9zaXRpb24sImdldCIpLHNldDpzKChVLG1lKT0+e1UuaWNvblBvc2l0aW9uPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGosRyksQjEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Un0sbnVsbCx0KSxoZT1yPWUudmFsdWUsUiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpSfSl9c3RhdGljIGRlbW89a2xhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQnV0dG9uIl07I2U9SnIodGhpcyxuLHZvaWQgMCk7Z2V0IHRleHQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdGV4dChSKXt0aGlzLiNlPVJ9I3Q9KEpyKHRoaXMsbCksSnIodGhpcyxjLHZvaWQgMCkpO2dldCBldmVudERldGFpbERhdGEoKXtyZXR1cm4gdGhpcy4jdH1zZXQgZXZlbnREZXRhaWxEYXRhKFIpe3RoaXMuI3Q9Un0jYT0oSnIodGhpcyxwKSxKcih0aGlzLG0sITEpKTtnZXQgZGlzYWJsZWQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZGlzYWJsZWQoUil7dGhpcy4jYT1SfSNyPShKcih0aGlzLHYpLEpyKHRoaXMsYiwhMSkpO2dldCBpc0hpZGRlbigpe3JldHVybiB0aGlzLiNyfXNldCBpc0hpZGRlbihSKXt0aGlzLiNyPVJ9I3M9KEpyKHRoaXMsZyksSnIodGhpcyxrLCJkZWZhdWx0IikpO2dldCB0eXBlKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHR5cGUoUil7dGhpcy4jcz1SfSNpPShKcih0aGlzLEMpLEpyKHRoaXMsXywiZGVmYXVsdCIpKTtnZXQgc2l6ZSgpe3JldHVybiB0aGlzLiNpfXNldCBzaXplKFIpe3RoaXMuI2k9Un0jbz0oSnIodGhpcyx6KSxKcih0aGlzLFQsIm5vcm1hbCIpKTtnZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuI299c2V0IHN0YXR1cyhSKXt0aGlzLiNvPVJ9I249KEpyKHRoaXMsRSksSnIodGhpcyxNLCExKSk7Z2V0IGluc2lkZUZvcm0oKXtyZXR1cm4gdGhpcy4jbn1zZXQgaW5zaWRlRm9ybShSKXt0aGlzLiNuPVJ9I2w9KEpyKHRoaXMsUyksSnIodGhpcyxBLHZvaWQgMCkpO2dldCBpY29uKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGljb24oUil7dGhpcy4jbD1SfSNjPShKcih0aGlzLEYpLEpyKHRoaXMsaiwibGVmdCIpKTtnZXQgaWNvblBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGljb25Qb3NpdGlvbihSKXt0aGlzLiNjPVJ9Y29uc3RydWN0b3IoKXtzdXBlcigpLEpyKHRoaXMsRyl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLCF0aGlzLmluc2lkZUZvcm0mJnRoaXMuY2xvc2VzdCgiZGVlcy1mb3JtIikmJih0aGlzLmluc2lkZUZvcm09ITApfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgIH0KICAgICAgOmhvc3QoW2hpZGRlbl0pIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBGb3JtIHNwYWNpbmcgc3R5bGVzICovCiAgICAgIDpob3N0KFtpbnNpZGUtZm9ybV0pIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CiAgICAgIAogICAgICA6aG9zdChbaW5zaWRlLWZvcm1dOmxhc3QtY2hpbGQpIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CiAgICAgIAogICAgICBkZWVzLWZvcm1baG9yaXpvbnRhbC1sYXlvdXRdIDpob3N0KFtpbnNpZGUtZm9ybV0pIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtZm9ybVtob3Jpem9udGFsLWxheW91dF0gOmhvc3QoW2luc2lkZS1mb3JtXTpsYXN0LWNoaWxkKSB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOwogICAgICB9CgogICAgICAuYnV0dG9uIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAvKiBTaXplIHZhcmlhbnRzICovCiAgICAgIC5idXR0b24uc2l6ZS1kZWZhdWx0IHsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zaXplLXNtIHsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zaXplLWxnIHsKICAgICAgICBoZWlnaHQ6IDQ0cHg7CiAgICAgICAgcGFkZGluZzogMCAyNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zaXplLWljb24gewogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAvKiBEZWZhdWx0IHZhcmlhbnQgKi8KICAgICAgLmJ1dHRvbi5kZWZhdWx0IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSkiLCJoc2woMjE1IDIwLjIlIDExLjglKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMnB4IDAgcmdiKDAgMCAwIC8gMC4wNSk7CiAgICAgIH0KCiAgICAgIC5idXR0b24uZGVmYXVsdDpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTAuMiUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA4NSUpIiwiaHNsKDIxNSAyMC4yJSAyMCUpIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLmRlZmF1bHQ6YWN0aXZlOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNC4zIDMxLjglIDkxLjQlKSIsImhzbCgyMTUgMjAuMiUgOSUpIil9OwogICAgICB9CgogICAgICAvKiBEZXN0cnVjdGl2ZSB2YXJpYW50ICovCiAgICAgIC5idXR0b24uZGVzdHJ1Y3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6IGhzbCgwIDg0LjIlIDYwLjIlKTsKICAgICAgICBjb2xvcjogaHNsKDAgMCUgOTglKTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5kZXN0cnVjdGl2ZTpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDAgODQuMiUgNTYuMiUpOwogICAgICB9CgogICAgICAuYnV0dG9uLmRlc3RydWN0aXZlOmFjdGl2ZTpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDAgODQuMiUgNTIuMiUpOwogICAgICB9CgogICAgICAvKiBPdXRsaW5lIHZhcmlhbnQgKi8KICAgICAgLmJ1dHRvbi5vdXRsaW5lIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAyMS44JSkiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24ub3V0bGluZTpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA4NSUpIiwiaHNsKDIxNSAyMC4yJSAyNi44JSkiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24ub3V0bGluZTphY3RpdmU6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxMy44JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFNlY29uZGFyeSB2YXJpYW50ICovCiAgICAgIC5idXR0b24uc2Vjb25kYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCA0MCUgOTYuMSUpIiwiaHNsKDIxNSAyMC4yJSAxNi44JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXI6bm90KC5kaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE0LjMgMzEuOCUgOTEuNCUpIiwiaHNsKDIxNSAyMC4yJSAxMy44JSkiKX07CiAgICAgIH0KCiAgICAgIC5idXR0b24uc2Vjb25kYXJ5OmFjdGl2ZTpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA4NSUpIiwiaHNsKDIxNSAyMC4yJSAxMS44JSkiKX07CiAgICAgIH0KCiAgICAgIC8qIEdob3N0IHZhcmlhbnQgKi8KICAgICAgLmJ1dHRvbi5naG9zdCB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5naG9zdDpob3Zlcjpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLmdob3N0OmFjdGl2ZTpub3QoLmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTQuMyAzMS44JSA5MS40JSkiLCJoc2woMjE1IDIwLjIlIDEzLjglKSIpfTsKICAgICAgfQoKICAgICAgLyogTGluayB2YXJpYW50ICovCiAgICAgIC5idXR0b24ubGluayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgICBoZWlnaHQ6IGF1dG87CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5saW5rOmhvdmVyOm5vdCguZGlzYWJsZWQpIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGN1cnJlbnRDb2xvcjsKICAgICAgfQoKICAgICAgLyogU3RhdHVzIHN0YXRlcyAqLwogICAgICAuYnV0dG9uLnBlbmRpbmcsCiAgICAgIC5idXR0b24uc3VjY2VzcywKICAgICAgLmJ1dHRvbi5lcnJvciB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNnB4OyAvKiBTcGFjZSBmb3Igc3Bpbm5lciAqLwogICAgICB9CiAgICAgIAogICAgICAuYnV0dG9uLnNpemUtc20ucGVuZGluZywKICAgICAgLmJ1dHRvbi5zaXplLXNtLnN1Y2Nlc3MsCiAgICAgIC5idXR0b24uc2l6ZS1zbS5lcnJvciB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMnB4OwogICAgICB9CiAgICAgIAogICAgICAuYnV0dG9uLnNpemUtbGcucGVuZGluZywKICAgICAgLmJ1dHRvbi5zaXplLWxnLnN1Y2Nlc3MsCiAgICAgIC5idXR0b24uc2l6ZS1sZy5lcnJvciB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiA0NHB4OwogICAgICB9CgogICAgICAuYnV0dG9uLnBlbmRpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5zdWNjZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5idXR0b24uZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSkiLCJoc2woMCA2Mi44JSA3MC42JSAvIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDYyLjglIDcwLjYlKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLyogRGlzYWJsZWQgc3RhdGUgKi8KICAgICAgLmJ1dHRvbi5kaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIEhpZGRlbiBzdGF0ZSAqLwogICAgICAuYnV0dG9uLmhpZGRlbiB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogRm9jdXMgc3RhdGUgKi8KICAgICAgLmJ1dHRvbjpmb2N1cy12aXNpYmxlIHsKICAgICAgICBvdXRsaW5lOiAycHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7CiAgICAgIH0KCiAgICAgIC8qIExvYWRpbmcgc3Bpbm5lciAqLwogICAgICBkZWVzLXNwaW5uZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAxMHB4OwogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi5zaXplLXNtIGRlZXMtc3Bpbm5lciB7CiAgICAgICAgbGVmdDogOHB4OwogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi5zaXplLWxnIGRlZXMtc3Bpbm5lciB7CiAgICAgICAgbGVmdDogMTRweDsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC8qIEljb24gc2l6aW5nIHdpdGhpbiBidXR0b25zICovCiAgICAgIC5idXR0b24gZGVlcy1pY29uIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KICAgICAgCiAgICAgIC5idXR0b24uc2l6ZS1zbSBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQogICAgICAKICAgICAgLmJ1dHRvbi5zaXplLWxnIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICB9CgogICAgICAvKiBUZXh0IGFsaWdubWVudCAqLwogICAgICAudGV4dGJveCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgYF07ZXh0cmFjdExpZ2h0RG9tKCl7bGV0IFI9dGhpcy5xdWVyeVNlbGVjdG9yKCJkZWVzLWljb24iKSxVPUFycmF5LmZyb20odGhpcy5jaGlsZE5vZGVzKS5maWx0ZXIobWU9Pm1lLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUpLm1hcChtZT0+bWUudGV4dENvbnRlbnQ/LnRyaW0oKSkuZmlsdGVyKEJvb2xlYW4pLmpvaW4oIiAiKTtpZihVJiYhdGhpcy50ZXh0JiYodGhpcy50ZXh0PVUpLFIpe2xldCBtZT1SLmljb258fFIuZ2V0QXR0cmlidXRlKCJpY29uIil8fChSLmljb25GQT9gZmE6JHtSLmljb25GQX1gOm51bGwpO2lmKG1lKXtsZXQgST1BcnJheS5mcm9tKHRoaXMuY2hpbGROb2RlcykscT1JLmluZGV4T2YoUiksY2U9SS5maWx0ZXIodWU9PnVlLm5vZGVUeXBlPT09Tm9kZS5URVhUX05PREUmJnVlLnRleHRDb250ZW50Py50cmltKCkpO2lmKGNlLmxlbmd0aD4wKXtsZXQgdWU9SS5pbmRleE9mKGNlWzBdKTt0aGlzLmljb25Qb3NpdGlvbj1xPHVlPyJsZWZ0IjoicmlnaHQifXRoaXMuaWNvbj1tZX1SLnJlbW92ZSgpfXRoaXMuaW5uZXJIVE1MPSIifXJlbmRlcigpe2xldCBVPXtub3JtYWw6ImRlZmF1bHQiLGhpZ2hsaWdodGVkOiJkZXN0cnVjdGl2ZSIsZGlzY3JlZXQ6Im91dGxpbmUiLGJpZzoiZGVmYXVsdCJ9W3RoaXMudHlwZV18fHRoaXMudHlwZSxtZT10aGlzLnR5cGU9PT0iYmlnIj8ibGciOnRoaXMuc2l6ZSxJPXRoaXMuaWNvblBvc2l0aW9uPT09ImxlZnQiJiZ0aGlzLmljb24/d2A8ZGVlcy1pY29uIC5pY29uPSR7dGhpcy5pY29ufT48L2RlZXMtaWNvbj5gOiIiLHE9dGhpcy5pY29uUG9zaXRpb249PT0icmlnaHQiJiZ0aGlzLmljb24/d2A8ZGVlcy1pY29uIC5pY29uPSR7dGhpcy5pY29ufT48L2RlZXMtaWNvbj5gOiIiLGNlPW1lPT09Imljb24iJiZ0aGlzLmljb247cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iYnV0dG9uICR7dGhpcy5pc0hpZGRlbj8iaGlkZGVuIjoiIn0gJHtVfSBzaXplLSR7bWV9ICR7dGhpcy5zdGF0dXN9ICR7dGhpcy5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIKICAgICAgICBAY2xpY2s9IiR7dGhpcy5kaXNwYXRjaENsaWNrfSIKICAgICAgPgogICAgICAgICR7dGhpcy5zdGF0dXM9PT0ibm9ybWFsIj93YGA6d2AKICAgICAgICAgIDxkZWVzLXNwaW5uZXIKICAgICAgICAgICAgLmJudz0keyEwfQogICAgICAgICAgICBzdGF0dXM9IiR7dGhpcy5zdGF0dXN9IgogICAgICAgICAgICBzaXplPSIke21lPT09InNtIj8xNDptZT09PSJsZyI/MTg6MTZ9IgogICAgICAgICAgPjwvZGVlcy1zcGlubmVyPgogICAgICAgIGB9CiAgICAgICAgJHtJfQogICAgICAgICR7Y2U/IiI6d2A8ZGl2IGNsYXNzPSJ0ZXh0Ym94Ij4ke3RoaXMudGV4dHx8IkJ1dHRvbiJ9PC9kaXY+YH0KICAgICAgICAke3F9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBkaXNwYXRjaENsaWNrKCl7dGhpcy5kaXNhYmxlZHx8dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2xpY2tlZCIse2RldGFpbDp7ZGF0YTp0aGlzLmV2ZW50RGV0YWlsRGF0YX0sYnViYmxlczohMH0pKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXt0aGlzLmV4dHJhY3RMaWdodERvbSgpfXN0YXRpY3tKcihyLHQpfX07cmV0dXJuIGhlPXJ9KSgpfSk7dmFyICQ0LFFpLENsYSxWc2U9ZigoKT0+e2lzYSgpO1ZzKCk7dXMoKTtsZSgpO3ZhKCk7WXIoKTtfZigpO1FlKCk7S3IoKTskND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sUWk9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LENsYT0oKCk9PntsZXQgYT1bVkooKSxpZSgiZGVlcy1zdGF0c2dyaWQiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXTt2YXIgQj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1N0YXRzR3JpZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBNPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpOdW1iZXJ9KV0sdT1bJCh7dHlwZTpOdW1iZXJ9KV0seD1bJCh7dHlwZTpBcnJheX0pXSx5PVtLKCldLE49W0soKV0sTz1bSygpXSwkNCh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpbGVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ0aWxlcyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnRpbGVzLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MudGlsZXM9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxuLGwpLCQ0KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWluVGlsZVdpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJtaW5UaWxlV2lkdGgiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5taW5UaWxlV2lkdGgsImdldCIpLHNldDpzKChTLFApPT57Uy5taW5UaWxlV2lkdGg9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxjLHApLCQ0KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZ2FwIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJnYXAiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5nYXAsImdldCIpLHNldDpzKChTLFApPT57Uy5nYXA9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxtLHYpLCQ0KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZ3JpZEFjdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImdyaWRBY3Rpb25zImluIFMsImhhcyIpLGdldDpzKFM9PlMuZ3JpZEFjdGlvbnMsImdldCIpLHNldDpzKChTLFApPT57Uy5ncmlkQWN0aW9ucz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LGIsZyksJDQodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZXh0TWVudVZpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImNvbnRleHRNZW51VmlzaWJsZSJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmNvbnRleHRNZW51VmlzaWJsZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmNvbnRleHRNZW51VmlzaWJsZT1QfSwic2V0Iil9LG1ldGFkYXRhOk19LGssQyksJDQodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZXh0TWVudVBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJjb250ZXh0TWVudVBvc2l0aW9uImluIFMsImhhcyIpLGdldDpzKFM9PlMuY29udGV4dE1lbnVQb3NpdGlvbiwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmNvbnRleHRNZW51UG9zaXRpb249UH0sInNldCIpfSxtZXRhZGF0YTpNfSxfLHopLCQ0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGV4dE1lbnVBY3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJjb250ZXh0TWVudUFjdGlvbnMiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5jb250ZXh0TWVudUFjdGlvbnMsImdldCIpLHNldDpzKChTLFApPT57Uy5jb250ZXh0TWVudUFjdGlvbnM9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxULEUpLCQ0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsdCksQj1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9c3RhdGljIGRlbW89c3NhO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGF0YSBWaWV3Il07I2U9UWkodGhpcyxuLFtdKTtnZXQgdGlsZXMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdGlsZXMoTSl7dGhpcy4jZT1NfSN0PShRaSh0aGlzLGwpLFFpKHRoaXMsYywyNTApKTtnZXQgbWluVGlsZVdpZHRoKCl7cmV0dXJuIHRoaXMuI3R9c2V0IG1pblRpbGVXaWR0aChNKXt0aGlzLiN0PU19I2E9KFFpKHRoaXMscCksUWkodGhpcyxtLDE2KSk7Z2V0IGdhcCgpe3JldHVybiB0aGlzLiNhfXNldCBnYXAoTSl7dGhpcy4jYT1NfSNyPShRaSh0aGlzLHYpLFFpKHRoaXMsYixbXSkpO2dldCBncmlkQWN0aW9ucygpe3JldHVybiB0aGlzLiNyfXNldCBncmlkQWN0aW9ucyhNKXt0aGlzLiNyPU19I3M9KFFpKHRoaXMsZyksUWkodGhpcyxrLCExKSk7Z2V0IGNvbnRleHRNZW51VmlzaWJsZSgpe3JldHVybiB0aGlzLiNzfXNldCBjb250ZXh0TWVudVZpc2libGUoTSl7dGhpcy4jcz1NfSNpPShRaSh0aGlzLEMpLFFpKHRoaXMsXyx7eDowLHk6MH0pKTtnZXQgY29udGV4dE1lbnVQb3NpdGlvbigpe3JldHVybiB0aGlzLiNpfXNldCBjb250ZXh0TWVudVBvc2l0aW9uKE0pe3RoaXMuI2k9TX0jbz0oUWkodGhpcyx6KSxRaSh0aGlzLFQsW10pKTtnZXQgY29udGV4dE1lbnVBY3Rpb25zKCl7cmV0dXJuIHRoaXMuI299c2V0IGNvbnRleHRNZW51QWN0aW9ucyhNKXt0aGlzLiNvPU19c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgIH0KCiAgICAgIC8qIENTUyBWYXJpYWJsZXMgZm9yIGNvbnNpc3RlbnQgc3BhY2luZyBhbmQgc2l6aW5nICovCiAgICAgIDpob3N0IHsKICAgICAgICAtLWdyaWQtZ2FwOiAxMnB4OwogICAgICAgIC0tdGlsZS1wYWRkaW5nOiAxNnB4OwogICAgICAgIC0taGVhZGVyLXNwYWNpbmc6IDEycHg7CiAgICAgICAgLS1jb250ZW50LW1pbi1oZWlnaHQ6IDQwcHg7CiAgICAgICAgLS12YWx1ZS1mb250LXNpemU6IDI2cHg7CiAgICAgICAgLS11bml0LWZvbnQtc2l6ZTogMTRweDsKICAgICAgICAtLWxhYmVsLWZvbnQtc2l6ZTogMTJweDsKICAgICAgICAtLXRpdGxlLWZvbnQtc2l6ZTogMTNweDsKICAgICAgICAtLWRlc2NyaXB0aW9uLXNwYWNpbmc6IDhweDsKICAgICAgICAtLWJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAtLXRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzOwogICAgICB9CgogICAgICAvKiBHcmlkIExheW91dCAqLwogICAgICAuZ3JpZC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1ncmlkLWdhcCkgKiAxLjUpOwogICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7CiAgICAgIH0KCiAgICAgIC5ncmlkLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICAuZ3JpZC1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAuZ3JpZC1hY3Rpb25zIGRlZXMtYnV0dG9uIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLWxhYmVsLWZvbnQtc2l6ZSk7CiAgICAgIH0KCiAgICAgIC5zdGF0cy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoJHtvYSgyNTApfXB4LCAxZnIpKTsKICAgICAgICBnYXA6ICR7b2EoMTYpfXB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAvKiBUaWxlIEJhc2UgU3R5bGVzIOKAlCBmcmFtZSBwcm92aWRlZCBieSBkZWVzLXRpbGUsIGhvdmVyIHZpYSA6OnBhcnQgKi8KICAgICAgLnN0YXRzLXRpbGU6OnBhcnQob3V0ZXIpIHsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbi1kdXJhdGlvbikgZWFzZTsKICAgICAgfQoKICAgICAgLnN0YXRzLXRpbGU6aG92ZXI6OnBhcnQob3V0ZXIpIHsKICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICAgIH0KCiAgICAgIC5zdGF0cy10aWxlLmNsaWNrYWJsZSB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAuc3RhdHMtdGlsZS5jbGlja2FibGU6aG92ZXI6OnBhcnQob3V0ZXIpIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNnB4ICR7aC5iZFRoZW1lKCJyZ2JhKDAsMCwwLDAuMDMpIiwicmdiYSgwLDAsMCwwLjE1KSIpfTsKICAgICAgfQoKICAgICAgLyogVGlsZSBIZWFkZXIg4oCUIHNsb3R0ZWQgaW50byBkZWVzLXRpbGUgaGVhZGVyICovCiAgICAgIC50aWxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAudGlsZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS10aXRsZS1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICAgIH0KCiAgICAgIC50aWxlLWljb24gewogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC8qIFRpbGUgQ29udGVudCDigJQgc2xvdHRlZCBpbnRvIGRlZXMtdGlsZSBjb250ZW50IGFyZWEgKi8KICAgICAgLnRpbGUtY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgbWluLWhlaWdodDogdmFyKC0tY29udGVudC1taW4taGVpZ2h0KTsKICAgICAgfQoKICAgICAgLnRpbGUtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdmFsdWUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KCiAgICAgIC50aWxlLXVuaXQgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdW5pdC1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC50aWxlLWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLWxhYmVsLWZvbnQtc2l6ZSk7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBsaW5lLWhlaWdodDogMjRweDsKICAgICAgfQoKICAgICAgLyogR2F1Z2UgU3R5bGVzICovCiAgICAgIC5nYXVnZS13cmFwcGVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5nYXVnZS1jb250YWluZXIgewogICAgICAgIHdpZHRoOiAxMjBweDsKICAgICAgICBoZWlnaHQ6IDcwcHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1hcmdpbi10b3A6IC04cHg7CiAgICAgIH0KCiAgICAgIC5nYXVnZS1zdmcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmdhdWdlLWJhY2tncm91bmQgewogICAgICAgIGZpbGw6IG5vbmU7CiAgICAgICAgc3Ryb2tlOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBzdHJva2Utd2lkdGg6IDY7CiAgICAgIH0KCiAgICAgIC5nYXVnZS1maWxsIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICAgIHN0cm9rZS13aWR0aDogNjsKICAgICAgICBzdHJva2UtbGluZWNhcDogcm91bmQ7CiAgICAgICAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgMC42cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOwogICAgICB9CgogICAgICAuZ2F1Z2UtdGV4dCB7CiAgICAgICAgZmlsbDogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICBmb250LXNpemU6IHZhcigtLXZhbHVlLWZvbnQtc2l6ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LWFuY2hvcjogbWlkZGxlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgfQogICAgICAKICAgICAgLmdhdWdlLXVuaXQgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdW5pdC1mb250LXNpemUpOwogICAgICAgIGZpbGw6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgIH0KCiAgICAgIC8qIFBlcmNlbnRhZ2UgU3R5bGVzICovCiAgICAgIC5wZXJjZW50YWdlLXdyYXBwZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLnBlcmNlbnRhZ2UtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdmFsdWUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAucGVyY2VudGFnZS1iYXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIG1hcmdpbi10b3A6IGF1dG87CiAgICAgIH0KCiAgICAgIC5wZXJjZW50YWdlLWZpbGwgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgIC8qIE11bHRpIFBlcmNlbnRhZ2UgU3R5bGVzICovCiAgICAgIC5tdWx0aS1wZXJjZW50YWdlLXdyYXBwZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAubXVsdGktcGVyY2VudGFnZS1pdGVtcyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBtYXJnaW4tdG9wOiBhdXRvOwogICAgICB9CgogICAgICAubXVsdGktcGVyY2VudGFnZS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5tdWx0aS1wZXJjZW50YWdlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICB9CgogICAgICAubXVsdGktcGVyY2VudGFnZS1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC5tdWx0aS1wZXJjZW50YWdlLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICB9CgogICAgICAubXVsdGktcGVyY2VudGFnZS1iYXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAubXVsdGktcGVyY2VudGFnZS1maWxsIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICB9CgogICAgICAvKiBDUFUgQ29yZXMgU3R5bGVzICovCiAgICAgIC5jcHUtY29yZXMtd3JhcHBlciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLWhlaWdodDogODBweDsKICAgICAgfQoKICAgICAgLmNwdS1jb3Jlcy1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZXMtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdmFsdWUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZXMtdW5pdCB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS11bml0LWZvbnQtc2l6ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLmNwdS1jb3Jlcy1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1sYWJlbC1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZXMtYmFycyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7CiAgICAgICAgZ2FwOiAzcHg7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4taGVpZ2h0OiA2MHB4OwogICAgICAgIHBhZGRpbmc6IDRweCAwOwogICAgICB9CgogICAgICAuY3B1LWNvcmVzLWJhcnMuY2VudGVyZWQgewogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAuY3B1LWNvcmUtYmFyLWNvbnRhaW5lciB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDZweDsKICAgICAgICBtYXgtd2lkdGg6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuY3B1LWNvcmUtYmFyLXdyYXBwZXIgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZS1iYXItZmlsbCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2U7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4IDJweCAwIDA7CiAgICAgIH0KCiAgICAgIC5jcHUtY29yZS1iYXItZmlsbC5sb3cgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYWNjZW50LXN1Y2Nlc3MpOwogICAgICB9CgogICAgICAuY3B1LWNvcmUtYmFyLWZpbGwubWVkaXVtIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjY2VudC13YXJuaW5nKTsKICAgICAgfQoKICAgICAgLmNwdS1jb3JlLWJhci1maWxsLmhpZ2ggewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYWNjZW50LWVycm9yKTsKICAgICAgfQoKICAgICAgLmNwdS1jb3JlLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDlweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAvKiBQYXJ0aXRpb24gU3R5bGVzICovCiAgICAgIC5wYXJ0aXRpb24td3JhcHBlciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24taGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1wZXJjZW50YWdlIHsKICAgICAgICBmb250LXNpemU6IHZhcigtLXZhbHVlLWZvbnQtc2l6ZSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuMyAyNSUgOC44JSkiLCJoc2woMjEwIDQwJSA5OCUpIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtOwogICAgICB9CgogICAgICAucGFydGl0aW9uLWJhciB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tYmFyLWZpbGwgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tYmFyLWZpbGwud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1hY2NlbnQtd2FybmluZyk7CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tYmFyLWZpbGwuY3JpdGljYWwgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYWNjZW50LWVycm9yKTsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1zdGF0cyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tdG9wOiBhdXRvOwogICAgICB9CgogICAgICAucGFydGl0aW9uLXN0YXQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1zdGF0LWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07CiAgICAgIH0KCiAgICAgIC5wYXJ0aXRpb24tc3RhdC12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1tZXRhIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICB9CgogICAgICAucGFydGl0aW9uLWZpbGVzeXN0ZW0gewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDQ2LjklKSIsImhzbCgyMTUgMjAuMiUgNjUuMSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDQwJSA5Ni4xJSkiLCJoc2woMjE1IDIwLjIlIDE2LjglKSIpfTsKICAgICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLnBhcnRpdGlvbi1tb3VudHBvaW50IHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgIH0KCiAgICAgIC8qIERpc2sgU3R5bGVzICovCiAgICAgIC5kaXNrLXdyYXBwZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuZGlzay1jYXBhY2l0eSB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS12YWx1ZS1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS4xOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgfQoKICAgICAgLmRpc2stbW9kZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA0Ni45JSkiLCJoc2woMjE1IDIwLjIlIDY1LjElKSIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgIH0KCiAgICAgIC5kaXNrLXR5cGUtYmFkZ2UgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgNDAlIDk2LjElKSIsImhzbCgyMTUgMjAuMiUgMTYuOCUpIil9OwogICAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAuZGlzay1tZXRyaWNzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luLXRvcDogYXV0bzsKICAgICAgfQoKICAgICAgLmRpc2staW9wcyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmRpc2staW9wcy1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmRpc2staW9wcy1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgfQoKICAgICAgLmRpc2staW9wcy12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5kaXNrLWhlYWx0aC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICB9CgogICAgICAuZGlzay1oZWFsdGgtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgIH0KCiAgICAgIC5kaXNrLWhlYWx0aC1iYXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuZGlzay1oZWFsdGgtZmlsbCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgIH0KCiAgICAgIC5kaXNrLWhlYWx0aC1maWxsLmdvb2QgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIiwiaHNsKDE0Mi4xIDcwLjYlIDQ1LjMlKSIpfTsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoLWZpbGwud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCg0NS40IDkzLjQlIDQ3LjUlKSIsImhzbCg0NS40IDkzLjQlIDQ3LjUlKSIpfTsKICAgICAgfQoKICAgICAgLmRpc2staGVhbHRoLWZpbGwuY3JpdGljYWwgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA4NC4yJSA2MC4yJSkiLCJoc2woMCA4NC4yJSA2MC4yJSkiKX07CiAgICAgIH0KCiAgICAgIC8qIFRyZW5kIFN0eWxlcyAqLwogICAgICAudHJlbmQtY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLnRyZW5kLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC50cmVuZC12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS12YWx1ZS1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjMgMjUlIDguOCUpIiwiaHNsKDIxMCA0MCUgOTglKSIpfTsKICAgICAgICBsaW5lLWhlaWdodDogMS4xOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgfQoKICAgICAgLnRyZW5kLXVuaXQgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdW5pdC1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIH0KCiAgICAgIC50cmVuZC1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1sYWJlbC1mb250LXNpemUpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgIH0KCiAgICAgIC50cmVuZC1ncmFwaCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW4tdG9wOiBhdXRvOwogICAgICB9CgogICAgICAudHJlbmQtc3ZnIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC50cmVuZC1saW5lIHsKICAgICAgICBmaWxsOiBub25lOwogICAgICAgIHN0cm9rZTogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBzdHJva2Utd2lkdGg6IDEuNTsKICAgICAgICBzdHJva2UtbGluZWpvaW46IHJvdW5kOwogICAgICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDsKICAgICAgfQoKICAgICAgLnRyZW5kLWFyZWEgewogICAgICAgIGZpbGw6ICR7aC5iZFRoZW1lKCJyZ2JhKDE1MCwgMTUwLCAxNTAsIDAuMDgpIiwicmdiYSgxMDAsIDEwMCwgMTAwLCAwLjA4KSIpfTsKICAgICAgfQoKICAgICAgLyogVGV4dCBWYWx1ZSBTdHlsZXMgKi8KICAgICAgLnRleHQtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tdmFsdWUtZm9udC1zaXplKTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSA4LjglKSIsImhzbCgyMTAgNDAlIDk4JSkiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI1ZW07CiAgICAgIH0KCiAgICAgIC8qIENvbnRleHQgTWVudSAqLwogICAgICBkZWVzLWNvbnRleHRtZW51IHsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgei1pbmRleDogMTAwMDsKICAgICAgfQogICAgYCxoLmNzc0ZvclRhYmxldChRYAogICAgICAuc3RhdHMtZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsKICAgICAgfQogICAgYCxyKSxoLmNzc0ZvclBoYWJsZXQoUWAKICAgICAgOmhvc3QgewogICAgICAgIC0tdGlsZS1wYWRkaW5nOiAxMnB4OwogICAgICAgIC0tdmFsdWUtZm9udC1zaXplOiAyMnB4OwogICAgICAgIC0tdGl0bGUtZm9udC1zaXplOiAxMnB4OwogICAgICAgIC0tZ3JpZC1nYXA6IDhweDsKICAgICAgfQogICAgICAuc3RhdHMtZ3JpZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMDBweCwgMWZyKSk7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KICAgICAgLnN0YXRzLXRpbGUgewogICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDEgIWltcG9ydGFudDsKICAgICAgfQogICAgYCxyKSxoLmNzc0ZvclBob25lKFFgCiAgICAgIDpob3N0IHsKICAgICAgICAtLXRpbGUtcGFkZGluZzogMTBweDsKICAgICAgICAtLXZhbHVlLWZvbnQtc2l6ZTogMjBweDsKICAgICAgICAtLWhlYWRlci1zcGFjaW5nOiA4cHg7CiAgICAgIH0KICAgICAgLnN0YXRzLWdyaWQgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CiAgICBgLHIpXTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksUWkodGhpcyxFKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLmdyaWRBY3Rpb25zLmxlbmd0aD4wP3dgCiAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC10aXRsZSI+PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWFjdGlvbnMiPgogICAgICAgICAgICAke3RoaXMuZ3JpZEFjdGlvbnMubWFwKE09PndgCiAgICAgICAgICAgICAgPGRlZXMtYnV0dG9uIAogICAgICAgICAgICAgICAgQGNsaWNrZWQ9JHsoKT0+dGhpcy5oYW5kbGVHcmlkQWN0aW9uKE0pfQogICAgICAgICAgICAgICAgdHlwZT0ib3V0bGluZSIKICAgICAgICAgICAgICAgIHNpemU9InNtIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICR7TS5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249JHtNLmljb25OYW1lfSBzaXplPSJzbWFsbCI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgICAgICR7TS5uYW1lfQogICAgICAgICAgICAgIDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJzdGF0cy1ncmlkIiBzdHlsZT0iZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgke3RoaXMubWluVGlsZVdpZHRofXB4LCAxZnIpKTsgZ2FwOiAke3RoaXMuZ2FwfXB4OyI+CiAgICAgICAgJHt0aGlzLnRpbGVzLm1hcChNPT50aGlzLnJlbmRlclRpbGUoTSkpfQogICAgICA8L2Rpdj4KCiAgICAgICR7dGhpcy5jb250ZXh0TWVudVZpc2libGU/d2AKICAgICAgICA8ZGVlcy1jb250ZXh0bWVudQogICAgICAgICAgLng9JHt0aGlzLmNvbnRleHRNZW51UG9zaXRpb24ueH0KICAgICAgICAgIC55PSR7dGhpcy5jb250ZXh0TWVudVBvc2l0aW9uLnl9CiAgICAgICAgICAubWVudUl0ZW1zPSR7dGhpcy5jb250ZXh0TWVudUFjdGlvbnN9CiAgICAgICAgICBAY2xpY2tlZD0keygpPT50aGlzLmNvbnRleHRNZW51VmlzaWJsZT0hMX0KICAgICAgICA+PC9kZWVzLWNvbnRleHRtZW51PgogICAgICBgOiIifQogICAgYH1yZW5kZXJUaWxlKE0pe2xldCBTPU0uYWN0aW9ucyYmTS5hY3Rpb25zLmxlbmd0aD4wLFA9UyYmTS5hY3Rpb25zLmxlbmd0aD09PTEsQT1NLmNvbHVtblNwYW4mJk0uY29sdW1uU3Bhbj4xP00uY29sdW1uU3Bhbjp2b2lkIDA7cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGUKICAgICAgICBjbGFzcz0ic3RhdHMtdGlsZSAke1A/ImNsaWNrYWJsZSI6IiJ9IgogICAgICAgIHN0eWxlPSIke0E/YGdyaWQtY29sdW1uOiBzcGFuICR7QX1gOiIifSIKICAgICAgICBAY2xpY2s9JHtQPygpPT50aGlzLmhhbmRsZVRpbGVBY3Rpb24oTS5hY3Rpb25zWzBdLE0pOnZvaWQgMH0KICAgICAgICBAY29udGV4dG1lbnU9JHtTP0Y9PnRoaXMuc2hvd0NvbnRleHRNZW51KEYsTSk6dm9pZCAwfQogICAgICA+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJ0aWxlLWhlYWRlciI+CiAgICAgICAgICA8aDMgY2xhc3M9InRpbGUtdGl0bGUiPiR7TS50aXRsZX08L2gzPgogICAgICAgICAgJHtNLmljb24/d2AKICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0idGlsZS1pY29uIiAuaWNvbj0ke00uaWNvbn0gc2l6ZT0ic21hbGwiPjwvZGVlcy1pY29uPgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1jb250ZW50Ij4KICAgICAgICAgICR7dGhpcy5yZW5kZXJUaWxlQ29udGVudChNKX0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHtNLmRlc2NyaXB0aW9uJiZNLnR5cGUhPT0idHJlbmQiP3dgCiAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9InRpbGUtZGVzY3JpcHRpb24iPiR7TS5kZXNjcmlwdGlvbn08L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9cmVuZGVyVGlsZUNvbnRlbnQoTSl7c3dpdGNoKE0udHlwZSl7Y2FzZSJudW1iZXIiOnJldHVybiB3YAogICAgICAgICAgPGRpdiBjbGFzcz0idGlsZS12YWx1ZSIgc3R5bGU9IiR7TS5jb2xvcj9gY29sb3I6ICR7TS5jb2xvcn1gOiIifSI+CiAgICAgICAgICAgIDxzcGFuPiR7TS52YWx1ZX08L3NwYW4+CiAgICAgICAgICAgICR7TS51bml0P3dgPHNwYW4gY2xhc3M9InRpbGUtdW5pdCI+JHtNLnVuaXR9PC9zcGFuPmA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgO2Nhc2UiZ2F1Z2UiOnJldHVybiB0aGlzLnJlbmRlckdhdWdlKE0pO2Nhc2UicGVyY2VudGFnZSI6cmV0dXJuIHRoaXMucmVuZGVyUGVyY2VudGFnZShNKTtjYXNlInRyZW5kIjpyZXR1cm4gdGhpcy5yZW5kZXJUcmVuZChNKTtjYXNlIm11bHRpUGVyY2VudGFnZSI6cmV0dXJuIHRoaXMucmVuZGVyTXVsdGlQZXJjZW50YWdlKE0pO2Nhc2UiY3B1Q29yZXMiOnJldHVybiB0aGlzLnJlbmRlckNwdUNvcmVzKE0pO2Nhc2UicGFydGl0aW9uIjpyZXR1cm4gdGhpcy5yZW5kZXJQYXJ0aXRpb24oTSk7Y2FzZSJkaXNrIjpyZXR1cm4gdGhpcy5yZW5kZXJEaXNrKE0pO2Nhc2UidGV4dCI6cmV0dXJuIHdgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LXZhbHVlIiBzdHlsZT0iJHtNLmNvbG9yP2Bjb2xvcjogJHtNLmNvbG9yfWA6IiJ9Ij4KICAgICAgICAgICAgJHtNLnZhbHVlfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDtkZWZhdWx0OnJldHVybiB3YDxkaXYgY2xhc3M9InRpbGUtdmFsdWUiPiR7TS52YWx1ZX08L2Rpdj5gfX1yZW5kZXJHYXVnZShNKXtsZXQgUz10eXBlb2YgTS52YWx1ZT09Im51bWJlciI/TS52YWx1ZTpwYXJzZUZsb2F0KE0udmFsdWUpLFA9TS5nYXVnZU9wdGlvbnN8fHttaW46MCxtYXg6MTAwfSxBPShTLVAubWluKS8oUC5tYXgtUC5taW4pKjEwMCxGPTEyMCxXPTcwLEc9Ni8yKzIsaGU9NDAsUj1GLzIsVT1XLUcsbWU9Ui1oZSxJPVUscT1SK2hlLHVlPWBNICR7bWV9ICR7SX0gQSAke2hlfSAke2hlfSAwIDAgMSAke3F9ICR7VX1gLFk9TWF0aC5QSSpoZSxYPVktWSpBLzEwMCxKPU0uY29sb3J8fGguYmRUaGVtZSgiaHNsKDIxNS4zIDI1JSAyOC44JSkiLCJoc2woMjEwIDQwJSA3OCUpIik7aWYoUC50aHJlc2hvbGRzKXtsZXQgWj1bLi4uUC50aHJlc2hvbGRzXS5zb3J0KChnZSxhZSk9PmFlLnZhbHVlLWdlLnZhbHVlKTtmb3IobGV0IGdlIG9mIFopaWYoUz49Z2UudmFsdWUpe0o9Z2UuY29sb3I7YnJlYWt9fXJldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJnYXVnZS13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJnYXVnZS1jb250YWluZXIiPgogICAgICAgICAgPHN2ZyBjbGFzcz0iZ2F1Z2Utc3ZnIiB2aWV3Qm94PSIwIDAgJHtGfSAke1d9IiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KICAgICAgICAgICAgPCEtLSBCYWNrZ3JvdW5kIGFyYyAtLT4KICAgICAgICAgICAgPHBhdGgKICAgICAgICAgICAgICBjbGFzcz0iZ2F1Z2UtYmFja2dyb3VuZCIKICAgICAgICAgICAgICBkPSIke3VlfSIKICAgICAgICAgICAgLz4KICAgICAgICAgICAgPCEtLSBGaWxsZWQgYXJjIC0tPgogICAgICAgICAgICA8cGF0aAogICAgICAgICAgICAgIGNsYXNzPSJnYXVnZS1maWxsIgogICAgICAgICAgICAgIGQ9IiR7dWV9IgogICAgICAgICAgICAgIHN0cm9rZT0iJHtKfSIKICAgICAgICAgICAgICBzdHJva2UtZGFzaGFycmF5PSIke1l9IgogICAgICAgICAgICAgIHN0cm9rZS1kYXNob2Zmc2V0PSIke1h9IgogICAgICAgICAgICAvPgogICAgICAgICAgICA8IS0tIFZhbHVlIHRleHQgLS0+CiAgICAgICAgICAgIDx0ZXh0IGNsYXNzPSJnYXVnZS10ZXh0IiB4PSIke1J9IiB5PSIke1UtOH0iIGRvbWluYW50LWJhc2VsaW5lPSJtaWRkbGUiPgogICAgICAgICAgICAgIDx0c3Bhbj4ke1N9PC90c3Bhbj4ke00udW5pdD93YDx0c3BhbiBjbGFzcz0iZ2F1Z2UtdW5pdCIgZHg9IjIiIGR5PSIwIj4ke00udW5pdH08L3RzcGFuPmA6IiJ9CiAgICAgICAgICAgIDwvdGV4dD4KICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyUGVyY2VudGFnZShNKXtsZXQgUz10eXBlb2YgTS52YWx1ZT09Im51bWJlciI/TS52YWx1ZTpwYXJzZUZsb2F0KE0udmFsdWUpLFA9TWF0aC5taW4oMTAwLE1hdGgubWF4KDAsUykpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJwZXJjZW50YWdlLXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InBlcmNlbnRhZ2UtdmFsdWUiPiR7UH0lPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icGVyY2VudGFnZS1iYXIiPgogICAgICAgICAgPGRpdiAKICAgICAgICAgICAgY2xhc3M9InBlcmNlbnRhZ2UtZmlsbCIgCiAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogJHtQfSU7ICR7TS5jb2xvcj9gYmFja2dyb3VuZDogJHtNLmNvbG9yfWA6IiJ9IgogICAgICAgICAgPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyVHJlbmQoTSl7aWYoIU0udHJlbmREYXRhfHxNLnRyZW5kRGF0YS5sZW5ndGg8MilyZXR1cm4gd2A8ZGl2IGNsYXNzPSJ0aWxlLXZhbHVlIj4ke00udmFsdWV9PC9kaXY+YDtsZXQgUz1NLnRyZW5kRGF0YSxQPU1hdGgubWF4KC4uLlMpLEE9TWF0aC5taW4oLi4uUyksRj1QLUF8fDEsVz0zMDAsaj0zMixHPTIsaGU9Uy5tYXAoKFUsbWUpPT57bGV0IEk9bWUvKFMubGVuZ3RoLTEpKlcscT1HKyhqLTIqRyktKFUtQSkvRiooai0yKkcpO3JldHVybmAke0l9LCR7cX1gfSkuam9pbigiICIpLFI9YDAsJHtqfSAke2hlfSAke1d9LCR7an1gO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJ0cmVuZC1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRyZW5kLWhlYWRlciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0idHJlbmQtdmFsdWUiPiR7TS52YWx1ZX08L3NwYW4+CiAgICAgICAgICAke00udW5pdD93YDxzcGFuIGNsYXNzPSJ0cmVuZC11bml0Ij4ke00udW5pdH08L3NwYW4+YDoiIn0KICAgICAgICAgICR7TS5kZXNjcmlwdGlvbj93YDxzcGFuIGNsYXNzPSJ0cmVuZC1sYWJlbCI+JHtNLmRlc2NyaXB0aW9ufTwvc3Bhbj5gOiIifQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRyZW5kLWdyYXBoIj4KICAgICAgICAgIDxzdmcgY2xhc3M9InRyZW5kLXN2ZyIgdmlld0JveD0iMCAwICR7V30gJHtqfSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgICAgICAgICAgIDxwb2x5Z29uIGNsYXNzPSJ0cmVuZC1hcmVhIiBwb2ludHM9IiR7Un0iIC8+CiAgICAgICAgICAgIDxwb2x5bGluZSBjbGFzcz0idHJlbmQtbGluZSIgcG9pbnRzPSIke2hlfSIgLz4KICAgICAgICAgIDwvc3ZnPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyTXVsdGlQZXJjZW50YWdlKE0pe2lmKCFNLnBlcmNlbnRhZ2VzfHxNLnBlcmNlbnRhZ2VzLmxlbmd0aD09PTApcmV0dXJuIHdgPGRpdiBjbGFzcz0idGlsZS12YWx1ZSI+JHtNLnZhbHVlfTwvZGl2PmA7bGV0IFM9TS5wZXJjZW50YWdlcy5zbGljZSgwLDMpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtdWx0aS1wZXJjZW50YWdlLXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9Im11bHRpLXBlcmNlbnRhZ2UtaXRlbXMiPgogICAgICAgICAgJHtTLm1hcChQPT57bGV0IEE9TWF0aC5taW4oMTAwLE1hdGgubWF4KDAsUC52YWx1ZSkpO3JldHVybiB3YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im11bHRpLXBlcmNlbnRhZ2UtaXRlbSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtdWx0aS1wZXJjZW50YWdlLWhlYWRlciI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtdWx0aS1wZXJjZW50YWdlLWxhYmVsIj4ke1AubGFiZWx9PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibXVsdGktcGVyY2VudGFnZS12YWx1ZSI+JHtBfSU8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im11bHRpLXBlcmNlbnRhZ2UtYmFyIj4KICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJtdWx0aS1wZXJjZW50YWdlLWZpbGwiCiAgICAgICAgICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAke0F9JTsgJHtQLmNvbG9yP2BiYWNrZ3JvdW5kOiAke1AuY29sb3J9YDoiIn0iCiAgICAgICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgfSl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJDcHVDb3JlcyhNKXtpZighTS5jb3Jlc0RhdGF8fE0uY29yZXNEYXRhLmxlbmd0aD09PTApcmV0dXJuIHdgPGRpdiBjbGFzcz0idGlsZS12YWx1ZSI+JHtNLnZhbHVlfTwvZGl2PmA7bGV0IFM9TS5jb3Jlc0RhdGEsUD1NYXRoLnJvdW5kKFMucmVkdWNlKChoZSxSKT0+aGUrUi51c2FnZSwwKS9TLmxlbmd0aCksQT1zKGhlPT5oZTw1MD8ibG93IjpoZTw4MD8ibWVkaXVtIjoiaGlnaCIsImdldENvbG9yQ2xhc3MiKSxGPVMubGVuZ3RoKjI0KyhTLmxlbmd0aC0xKSozLFc9TS5jb2x1bW5TcGFufHwxLGo9dGhpcy5taW5UaWxlV2lkdGgqVysoVy0xKSp0aGlzLmdhcC0zMixHPUY8aiouNjY2O3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjcHUtY29yZXMtd3JhcHBlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iY3B1LWNvcmVzLWhlYWRlciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY3B1LWNvcmVzLXZhbHVlIj4ke1B9PC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdS1jb3Jlcy11bml0Ij4lPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImNwdS1jb3Jlcy1sYWJlbCI+JHtTLmxlbmd0aH0gY29yZXM8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY3B1LWNvcmVzLWJhcnMgJHtHPyJjZW50ZXJlZCI6IiJ9Ij4KICAgICAgICAgICR7Uy5tYXAoaGU9PntsZXQgUj1NYXRoLm1pbigxMDAsTWF0aC5tYXgoMCxoZS51c2FnZSkpLFU9QShSKTtyZXR1cm4gd2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjcHUtY29yZS1iYXItY29udGFpbmVyIiB0aXRsZT0iQ29yZSAke2hlLmxhYmVsfHxoZS5pZH06ICR7Un0lIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNwdS1jb3JlLWJhci13cmFwcGVyIj4KICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJjcHUtY29yZS1iYXItZmlsbCAke1V9IgogICAgICAgICAgICAgICAgICAgIHN0eWxlPSJoZWlnaHQ6ICR7Un0lIgogICAgICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICR7Uy5sZW5ndGg8PTE2P3dgCiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjcHUtY29yZS1sYWJlbCI+JHtoZS5sYWJlbHx8aGUuaWR9PC9zcGFuPgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYH0pfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Zm9ybWF0Qnl0ZXMoTSl7aWYoTT09PTApcmV0dXJuIjAgQiI7bGV0IFM9MTAyNCxQPVsiQiIsIktCIiwiTUIiLCJHQiIsIlRCIiwiUEIiXSxBPU1hdGguZmxvb3IoTWF0aC5sb2coTSkvTWF0aC5sb2coUykpO3JldHVybiBwYXJzZUZsb2F0KChNL01hdGgucG93KFMsQSkpLnRvRml4ZWQoMSkpKyIgIitQW0FdfXJlbmRlclBhcnRpdGlvbihNKXtpZighTS5wYXJ0aXRpb25EYXRhKXJldHVybiB3YDxkaXYgY2xhc3M9InRpbGUtdmFsdWUiPiR7TS52YWx1ZX08L2Rpdj5gO2xldHt1c2VkOlMsdG90YWw6UCxmaWxlc3lzdGVtOkEsbW91bnRQb2ludDpGfT1NLnBhcnRpdGlvbkRhdGEsVz1NYXRoLm1pbigxMDAsTWF0aC5tYXgoMCxTL1AqMTAwKSksaj1QLVMsRz1zKCgpPT5XPj05MD8iY3JpdGljYWwiOlc+PTc1PyJ3YXJuaW5nIjoiIiwiZ2V0Q29sb3JDbGFzcyIpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJwYXJ0aXRpb24td3JhcHBlciI+CiAgICAgICAgPGRpdiBjbGFzcz0icGFydGl0aW9uLWhlYWRlciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0icGFydGl0aW9uLXBlcmNlbnRhZ2UiPiR7TWF0aC5yb3VuZChXKX0lPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBhcnRpdGlvbi1iYXIiPgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0icGFydGl0aW9uLWJhci1maWxsICR7RygpfSIKICAgICAgICAgICAgc3R5bGU9IndpZHRoOiAke1d9JSIKICAgICAgICAgID48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwYXJ0aXRpb24tc3RhdHMiPgogICAgICAgICAgPGRpdiBjbGFzcz0icGFydGl0aW9uLXN0YXQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icGFydGl0aW9uLXN0YXQtbGFiZWwiPlVzZWQ8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYXJ0aXRpb24tc3RhdC12YWx1ZSI+JHt0aGlzLmZvcm1hdEJ5dGVzKFMpfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icGFydGl0aW9uLXN0YXQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icGFydGl0aW9uLXN0YXQtbGFiZWwiPkZyZWU8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYXJ0aXRpb24tc3RhdC12YWx1ZSI+JHt0aGlzLmZvcm1hdEJ5dGVzKGopfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBhcnRpdGlvbi1tZXRhIj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYXJ0aXRpb24tZmlsZXN5c3RlbSI+JHtBfTwvc3Bhbj4KICAgICAgICAgICR7Rj93YDxzcGFuIGNsYXNzPSJwYXJ0aXRpb24tbW91bnRwb2ludCI+JHtGfTwvc3Bhbj5gOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyRGlzayhNKXtpZighTS5kaXNrRGF0YSlyZXR1cm4gd2A8ZGl2IGNsYXNzPSJ0aWxlLXZhbHVlIj4ke00udmFsdWV9PC9kaXY+YDtsZXR7Y2FwYWNpdHk6Uyxtb2RlbDpQLHR5cGU6QSxpb3BzOkYsaGVhbHRoOld9PU0uZGlza0RhdGEsaj1zKEc9Pkc+PTcwPyJnb29kIjpHPj0zMD8id2FybmluZyI6ImNyaXRpY2FsIiwiZ2V0SGVhbHRoQ2xhc3MiKTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGlzay13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLWNhcGFjaXR5Ij4ke3RoaXMuZm9ybWF0Qnl0ZXMoUyl9PC9kaXY+CiAgICAgICAgJHtQfHxBP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLW1vZGVsIj4KICAgICAgICAgICAgJHtQP3dgPHNwYW4+JHtQfTwvc3Bhbj5gOiIifQogICAgICAgICAgICAke0E/d2A8c3BhbiBjbGFzcz0iZGlzay10eXBlLWJhZGdlIj4ke0F9PC9zcGFuPmA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICAgIDxkaXYgY2xhc3M9ImRpc2stbWV0cmljcyI+CiAgICAgICAgICAke0Y/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1pb3BzIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLWlvcHMtaXRlbSI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGlzay1pb3BzLWxhYmVsIj5SZWFkPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpc2staW9wcy12YWx1ZSI+JHtGLnJlYWQudG9Mb2NhbGVTdHJpbmcoKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1pb3BzLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpc2staW9wcy1sYWJlbCI+V3JpdGU8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGlzay1pb3BzLXZhbHVlIj4ke0Yud3JpdGUudG9Mb2NhbGVTdHJpbmcoKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICAgICR7VyE9PXZvaWQgMD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLWhlYWx0aCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlzay1oZWFsdGgtaGVhZGVyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkaXNrLWhlYWx0aC1sYWJlbCI+SGVhbHRoPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpc2staGVhbHRoLXZhbHVlIj4ke1d9JTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaXNrLWhlYWx0aC1iYXIiPgogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBjbGFzcz0iZGlzay1oZWFsdGgtZmlsbCAke2ooVyl9IgogICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6ICR7V30lIgogICAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBoYW5kbGVHcmlkQWN0aW9uKE0pe00uYWN0aW9uJiZhd2FpdCBNLmFjdGlvbigpfWFzeW5jIGhhbmRsZVRpbGVBY3Rpb24oTSxTKXtNLmFjdGlvbiYmYXdhaXQgTS5hY3Rpb24oKX1zaG93Q29udGV4dE1lbnUoTSxTKXtpZighUy5hY3Rpb25zfHxTLmFjdGlvbnMubGVuZ3RoPT09MClyZXR1cm47TS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY29udGV4dE1lbnVQb3NpdGlvbj17eDpNLmNsaWVudFgseTpNLmNsaWVudFl9LHRoaXMuY29udGV4dE1lbnVBY3Rpb25zPVMuYWN0aW9ucyx0aGlzLmNvbnRleHRNZW51VmlzaWJsZT0hMDtsZXQgUD1zKCgpPT57dGhpcy5jb250ZXh0TWVudVZpc2libGU9ITEsZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2xpY2siLFApfSwiY2xvc2VIYW5kbGVyIik7c2V0VGltZW91dCgoKT0+e2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixQKX0sMTAwKX1zdGF0aWN7UWkocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIHU1LG9sLFhZaSxRWWksSllpLGVLaSxfbGEsVGxhPWYoKCk9PntsZSgpO0lhKCk7VnNlKCk7dTU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LG9sPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxYWWk9KCgpPT57bGV0IGE9W2llKCJkZW1vLWRhc2hib2FyZC12aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlbW9EYXNoYm9hcmRWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSx1NSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2YXRlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4iYWN0aXZhdGVkImluIHAsImhhcyIpLGdldDpzKHA9PnAuYWN0aXZhdGVkLCJnZXQiKSxzZXQ6cygocCx1KT0+e3AuYWN0aXZhdGVkPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSx1NShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pLG9sKHIsdCl9I2U9b2wodGhpcyxuLCExKTtnZXQgYWN0aXZhdGVkKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGFjdGl2YXRlZChjKXt0aGlzLiNlPWN9Y3R4PW9sKHRoaXMsbCk7c3RhdHNUaWxlcz1be2lkOiJ1c2VycyIsdGl0bGU6IkFjdGl2ZSBVc2VycyIsdmFsdWU6MTIzNCx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTp1c2VycyIsZGVzY3JpcHRpb246Ik9ubGluZSBub3ciLGNvbG9yOiIjMjJjNTVlIn0se2lkOiJhcGktY2FsbHMiLHRpdGxlOiJBUEkgQ2FsbHMiLHZhbHVlOjQ1MjAwLHR5cGU6InRyZW5kIixpY29uOiJsdWNpZGU6YWN0aXZpdHkiLGRlc2NyaXB0aW9uOiIrMTIlIGZyb20gbGFzdCBob3VyIixjb2xvcjoiIzNiODJmNiIsdHJlbmREYXRhOlszMmUzLDM1ZTMsMzhlMyw0MWUzLDM5ZTMsNDJlMyw0NTIwMF19LHtpZDoiaGVhbHRoIix0aXRsZToiU3lzdGVtIEhlYWx0aCIsdmFsdWU6OTkuOSx1bml0OiIlIix0eXBlOiJnYXVnZSIsaWNvbjoibHVjaWRlOmhlYXJ0LXB1bHNlIixkZXNjcmlwdGlvbjoiQWxsIHN5c3RlbXMgb3BlcmF0aW9uYWwiLGNvbG9yOiIjMTBiOTgxIixnYXVnZU9wdGlvbnM6e21pbjowLG1heDoxMDAsdGhyZXNob2xkczpbe3ZhbHVlOjgwLGNvbG9yOiIjZWY0NDQ0In0se3ZhbHVlOjk1LGNvbG9yOiIjZjU5ZTBiIn0se3ZhbHVlOjEwMCxjb2xvcjoiIzEwYjk4MSJ9XX19LHtpZDoicmVzcG9uc2UiLHRpdGxlOiJBdmcgUmVzcG9uc2UiLHZhbHVlOjEyNyx1bml0OiJtcyIsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6dGltZXIiLGRlc2NyaXB0aW9uOiItMTVtcyBmcm9tIHllc3RlcmRheSIsY29sb3I6IiM4YjVjZjYifSx7aWQ6InJlc291cmNlcyIsdGl0bGU6IlJlc291cmNlIFVzYWdlIix2YWx1ZToiIix0eXBlOiJtdWx0aVBlcmNlbnRhZ2UiLGljb246Imx1Y2lkZTpzZXJ2ZXIiLHBlcmNlbnRhZ2VzOlt7bGFiZWw6IkNQVSIsdmFsdWU6NjcsY29sb3I6IiMzYjgyZjYifSx7bGFiZWw6Ik1lbW9yeSIsdmFsdWU6ODQsY29sb3I6IiM4YjVjZjYifSx7bGFiZWw6IkRpc2siLHZhbHVlOjQ1LGNvbG9yOiIjMTBiOTgxIn1dfSx7aWQ6InJlcXVlc3RzIix0aXRsZToiUmVxdWVzdHMvc2VjIix2YWx1ZToxODUwLHR5cGU6InRyZW5kIixpY29uOiJsdWNpZGU6emFwIixkZXNjcmlwdGlvbjoiQ3VycmVudCB0aHJvdWdocHV0Iixjb2xvcjoiIzA2YjZkNCIsdHJlbmREYXRhOlsxMjAwLDE0MDAsMTM1MCwxNjAwLDE3NTAsMTY4MCwxODUwXX1dO29uQWN0aXZhdGUoYyl7dGhpcy5jdHg9Yyx0aGlzLmFjdGl2YXRlZD0hMCxjb25zb2xlLmxvZygiRGFzaGJvYXJkIGFjdGl2YXRlZCB3aXRoIGNvbnRleHQ6IixjKSxjLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IkRhc2hib2FyZCIsZ3JvdXBzOlt7bmFtZToiUXVpY2sgQWNjZXNzIixpY29uTmFtZToibHVjaWRlOnphcCIsaXRlbXM6W3trZXk6Ik92ZXJ2aWV3IixpY29uTmFtZToibGF5b3V0RGFzaGJvYXJkIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIk92ZXJ2aWV3IiksImFjdGlvbiIpfSx7a2V5OiJSZWNlbnQiLGljb25OYW1lOiJjbG9jayIsYmFkZ2U6NSxhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlJlY2VudCIpLCJhY3Rpb24iKX0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToiYWN0aW9uIixrZXk6IlJlZnJlc2ggRGF0YSIsaWNvbk5hbWU6Imx1Y2lkZTpyZWZyZXNoQ3ciLGFjdGlvbjpzKCgpPT5hbGVydCgiUmVmcmVzaGluZyBkYXNoYm9hcmQgZGF0YS4uLiIpLCJhY3Rpb24iKX1dfSx7bmFtZToiRmlsdGVycyIsaWNvbk5hbWU6Imx1Y2lkZTpmaWx0ZXIiLGl0ZW1zOlt7dHlwZToiaGVhZGVyIixsYWJlbDoiVGltZSBSYW5nZSJ9LHt0eXBlOiJmaWx0ZXIiLGtleToiTGl2ZSBVcGRhdGVzIixpY29uTmFtZToibHVjaWRlOnJhZGlvIixhY3RpdmU6ITAsb25Ub2dnbGU6cyhwPT5jb25zb2xlLmxvZygiTGl2ZSB1cGRhdGVzOiIscCksIm9uVG9nZ2xlIil9LHt0eXBlOiJmaWx0ZXIiLGtleToiU2hvdyBBcmNoaXZlZCIsaWNvbk5hbWU6Imx1Y2lkZTphcmNoaXZlIixhY3RpdmU6ITEsb25Ub2dnbGU6cyhwPT5jb25zb2xlLmxvZygiU2hvdyBhcmNoaXZlZDoiLHApLCJvblRvZ2dsZSIpfSx7dHlwZToiZGl2aWRlciJ9LHt0eXBlOiJtdWx0aUZpbHRlciIsa2V5OiJEYXRhIFNvdXJjZXMiLGljb25OYW1lOiJsdWNpZGU6ZGF0YWJhc2UiLG9wdGlvbnM6W3trZXk6ImFwaSIsbGFiZWw6IkFQSSBTZXJ2ZXIiLGNoZWNrZWQ6ITAsaWNvbk5hbWU6Imx1Y2lkZTpzZXJ2ZXIifSx7a2V5OiJ3ZWIiLGxhYmVsOiJXZWIgVHJhZmZpYyIsY2hlY2tlZDohMCxpY29uTmFtZToibHVjaWRlOmdsb2JlIn0se2tleToibW9iaWxlIixsYWJlbDoiTW9iaWxlIEFwcCIsY2hlY2tlZDohMSxpY29uTmFtZToibHVjaWRlOnNtYXJ0cGhvbmUifV0sb25DaGFuZ2U6cyhwPT5jb25zb2xlLmxvZygiRGF0YSBzb3VyY2VzOiIscCksIm9uQ2hhbmdlIil9XX0se25hbWU6IkFuYWx5dGljcyIsaWNvbk5hbWU6Imx1Y2lkZTpiYXJDaGFydDMiLGl0ZW1zOlt7a2V5OiJNZXRyaWNzIixpY29uTmFtZToiYWN0aXZpdHkiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiTWV0cmljcyIpLCJhY3Rpb24iKX0se2tleToiUmVwb3J0cyIsaWNvbk5hbWU6ImZpbGVUZXh0IixiYWRnZToibmV3IixiYWRnZVZhcmlhbnQ6InN1Y2Nlc3MiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiUmVwb3J0cyIpLCJhY3Rpb24iKX0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToibGluayIsa2V5OiJBbmFseXRpY3MgRG9jcyIsaWNvbk5hbWU6Imx1Y2lkZTpleHRlcm5hbExpbmsiLGhyZWY6Imh0dHBzOi8vZG9jcy5leGFtcGxlLmNvbS9hbmFseXRpY3MifV19XX0pLGMuYXBwdWkuc2V0Q29udGVudFRhYnMoW3trZXk6Ik92ZXJ2aWV3IixpY29uTmFtZToibHVjaWRlOmxheW91dERhc2hib2FyZCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJPdmVydmlldyB0YWIiKSwiYWN0aW9uIil9LHtrZXk6IkFuYWx5dGljcyIsaWNvbk5hbWU6Imx1Y2lkZTpiYXJDaGFydCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJBbmFseXRpY3MgdGFiIiksImFjdGlvbiIpfSx7a2V5OiJSZXBvcnRzIixpY29uTmFtZToibHVjaWRlOmZpbGVUZXh0IixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlJlcG9ydHMgdGFiIiksImFjdGlvbiIpfV0pfW9uRGVhY3RpdmF0ZSgpe3RoaXMuYWN0aXZhdGVkPSExLGNvbnNvbGUubG9nKCJEYXNoYm9hcmQgZGVhY3RpdmF0ZWQiKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgIGNvbG9yOiAjYTNhM2EzOwogICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjsKICAgICAgICB9CiAgICAgICAgaDEgeyBjb2xvcjogI2ZhZmFmYTsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAyNHB4OyBtYXJnaW4tYm90dG9tOiA4cHg7IH0KICAgICAgICBwIHsgY29sb3I6ICM3MzczNzM7IG1hcmdpbi1ib3R0b206IDMycHg7IH0KICAgICAgICBkZWVzLXN0YXRzZ3JpZCB7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OwogICAgICAgIH0KCiAgICAgICAgLmN0eC1hY3Rpb25zIHsKICAgICAgICAgIG1hcmdpbi10b3A6IDMycHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjAyKTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4wOCk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgfQogICAgICAgIC5jdHgtYWN0aW9ucyBoMiB7IGNvbG9yOiAjZmFmYWZhOyBmb250LXNpemU6IDE2cHg7IGZvbnQtd2VpZ2h0OiA2MDA7IG1hcmdpbi1ib3R0b206IDE2cHg7IH0KICAgICAgICAuYnV0dG9uLWdyaWQgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgIH0KICAgICAgICAuY3R4LWJ0biB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpOwogICAgICAgICAgY29sb3I6ICM2MGE1ZmE7CiAgICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIH0KICAgICAgICAuY3R4LWJ0bjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKTsKICAgICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1OSwgMTMwLCAyNDYsIDAuNSk7CiAgICAgICAgfQogICAgICAgIC5jdHgtYnRuLmRhbmdlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpOwogICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpOwogICAgICAgICAgY29sb3I6ICNmODcxNzE7CiAgICAgICAgfQogICAgICAgIC5jdHgtYnRuLmRhbmdlcjpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjIpOwogICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjUpOwogICAgICAgIH0KICAgICAgICAuY3R4LWJ0bi5zdWNjZXNzIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMSk7CiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMzQsIDE5NywgOTQsIDAuMyk7CiAgICAgICAgICBjb2xvcjogIzRhZGU4MDsKICAgICAgICB9CiAgICAgICAgLmN0eC1idG4uc3VjY2Vzczpob3ZlciB7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjIpOwogICAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDM0LCAxOTcsIDk0LCAwLjUpOwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGgxPkRhc2hib2FyZDwvaDE+CiAgICAgIDxwPldlbGNvbWUgYmFjayEgSGVyZSdzIGFuIG92ZXJ2aWV3IG9mIHlvdXIgc3lzdGVtLjwvcD4KICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgLnRpbGVzPSR7dGhpcy5zdGF0c1RpbGVzfQogICAgICAgIEB0aWxlLWFjdGlvbj0ke2M9PmNvbnNvbGUubG9nKCJUaWxlIGFjdGlvbjoiLGMuZGV0YWlsKX0KICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CgogICAgICA8ZGl2IGNsYXNzPSJjdHgtYWN0aW9ucyI+CiAgICAgICAgPGgyPkNvbnRleHQgQWN0aW9ucyAoY3R4LmFwcHVpKTwvaDI+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRNYWluTWVudVZpc2libGUoITEpfT5IaWRlIE1haW4gTWVudTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biBzdWNjZXNzIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldE1haW5NZW51VmlzaWJsZSghMCl9PlNob3cgTWFpbiBNZW51PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldFNlY29uZGFyeU1lbnVWaXNpYmxlKCExKX0+SGlkZSBTZWNvbmRhcnkgTWVudTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biBzdWNjZXNzIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldFNlY29uZGFyeU1lbnVWaXNpYmxlKCEwKX0+U2hvdyBTZWNvbmRhcnkgTWVudTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRDb250ZW50VGFic1Zpc2libGUoITEpfT5IaWRlIENvbnRlbnQgVGFiczwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biBzdWNjZXNzIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldENvbnRlbnRUYWJzVmlzaWJsZSghMCl9PlNob3cgQ29udGVudCBUYWJzPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldE1haW5NZW51Q29sbGFwc2VkKCEwKX0+Q29sbGFwc2UgTWFpbiBNZW51PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIHN1Y2Nlc3MiIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuc2V0TWFpbk1lbnVDb2xsYXBzZWQoITEpfT5FeHBhbmQgTWFpbiBNZW51PC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLnNldEJyZWFkY3J1bWJzKFsiRGFzaGJvYXJkIiwiT3ZlcnZpZXciLCJTdGF0cyJdKX0+U2V0IEJyZWFkY3J1bWJzPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLm5hdmlnYXRlVG9WaWV3KCJwcm9qZWN0cyIpfT5HbyB0byBQcm9qZWN0czwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5uYXZpZ2F0ZVRvVmlldygic2V0dGluZ3MiLHtzZWN0aW9uOiJzZWN1cml0eSJ9KX0+R28gdG8gU2V0dGluZ3MvU2VjdXJpdHk8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4iIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuYWN0aXZpdHlMb2cuYWRkKHt0eXBlOiJjdXN0b20iLHVzZXI6IkRlbW8gVXNlciIsbWVzc2FnZToiQnV0dG9uIGNsaWNrZWQgZnJvbSBjdHghIixpY29uTmFtZToibHVjaWRlOm1vdXNlLXBvaW50ZXItY2xpY2sifSl9PkFkZCBBY3Rpdml0eSBFbnRyeTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3R4LWJ0biIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRNYWluTWVudUJhZGdlKCJ0YXNrcyIsOTkpfT5TZXQgVGFza3MgQmFkZ2UgdG8gOTk8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4gZGFuZ2VyIiBAY2xpY2s9JHsoKT0+dGhpcy5jdHg/LmFwcHVpLmNsZWFyTWFpbk1lbnVCYWRnZSgidGFza3MiKX0+Q2xlYXIgVGFza3MgQmFkZ2U8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4iIEBjbGljaz0keygpPT50aGlzLmN0eD8uYXBwdWkuc2V0Q29udGVudFRhYnNBdXRvSGlkZSghMCwxKX0+QXV0by1oaWRlIFRhYnMgKOKJpDEpPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjdHgtYnRuIGRhbmdlciIgQGNsaWNrPSR7KCk9PnRoaXMuY3R4Py5hcHB1aS5zZXRDb250ZW50VGFic0F1dG9IaWRlKCExKX0+RGlzYWJsZSBBdXRvLWhpZGU8L2J1dHRvbj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0eC1idG4gc3VjY2VzcyIgQGNsaWNrPSR7KCk9PnRoaXMuYWRkQ2xvc2VhYmxlVGFiKCl9PkFkZCBDbG9zZWFibGUgVGFiPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH10YWJDb3VudGVyPTA7YWRkQ2xvc2VhYmxlVGFiKCl7aWYoIXRoaXMuY3R4KXJldHVybjt0aGlzLnRhYkNvdW50ZXIrKztsZXQgYz1gVGFiICR7dGhpcy50YWJDb3VudGVyfWA7dGhpcy5jdHguYXBwdWkuYWRkQ29udGVudFRhYih7a2V5OmMsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coYFNlbGVjdGVkICR7Y31gKSwiYWN0aW9uIiksY2xvc2VhYmxlOiEwLG9uQ2xvc2U6cygoKT0+e3RoaXMuY3R4Py5hcHB1aS5yZW1vdmVDb250ZW50VGFiKGMpfSwib25DbG9zZSIpfSl9fTtyZXR1cm4gZD1yfSkoKSxRWWk9KCgpPT57bGV0IGE9W2llKCJkZW1vLXNldHRpbmdzLXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVtb1NldHRpbmdzVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSx1NSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlY3Rpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InNlY3Rpb24iaW4gdiwiaGFzIiksZ2V0OnModj0+di5zZWN0aW9uLCJnZXQiKSxzZXQ6cygodix4KT0+e3Yuc2VjdGlvbj14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksdTUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoYXNDaGFuZ2VzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJoYXNDaGFuZ2VzImluIHYsImhhcyIpLGdldDpzKHY9PnYuaGFzQ2hhbmdlcywiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2Lmhhc0NoYW5nZXM9eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLHU1KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSksb2wocix0KX0jZT1vbCh0aGlzLG4sImdlbmVyYWwiKTtnZXQgc2VjdGlvbigpe3JldHVybiB0aGlzLiNlfXNldCBzZWN0aW9uKG0pe3RoaXMuI2U9bX0jdD0ob2wodGhpcyxsKSxvbCh0aGlzLGMsITEpKTtnZXQgaGFzQ2hhbmdlcygpe3JldHVybiB0aGlzLiN0fXNldCBoYXNDaGFuZ2VzKG0pe3RoaXMuI3Q9bX1hcHB1aT1vbCh0aGlzLHApO29uQWN0aXZhdGUobSl7dGhpcy5hcHB1aT1tLmFwcHVpLGNvbnNvbGUubG9nKCJTZXR0aW5ncyBhY3RpdmF0ZWQgd2l0aCBwYXJhbXM6IixtLnBhcmFtcyksbS5wYXJhbXM/LnNlY3Rpb24mJih0aGlzLnNlY3Rpb249bS5wYXJhbXMuc2VjdGlvbiksbS5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJTZXR0aW5ncyIsZ3JvdXBzOlt7bmFtZToiQWNjb3VudCIsaWNvbk5hbWU6Imx1Y2lkZTp1c2VyIixpdGVtczpbe2tleToiZ2VuZXJhbCIsaWNvbk5hbWU6InNldHRpbmdzIixhY3Rpb246cygoKT0+dGhpcy5zaG93U2VjdGlvbigiZ2VuZXJhbCIpLCJhY3Rpb24iKX0se2tleToicHJvZmlsZSIsaWNvbk5hbWU6InVzZXIiLGFjdGlvbjpzKCgpPT50aGlzLnNob3dTZWN0aW9uKCJwcm9maWxlIiksImFjdGlvbiIpfSx7a2V5OiJzZWN1cml0eSIsaWNvbk5hbWU6InNoaWVsZCIsYWN0aW9uOnMoKCk9PnRoaXMuc2hvd1NlY3Rpb24oInNlY3VyaXR5IiksImFjdGlvbiIpfV19LHtuYW1lOiJQcmVmZXJlbmNlcyIsaWNvbk5hbWU6Imx1Y2lkZTpzbGlkZXJzIixpdGVtczpbe2tleToibm90aWZpY2F0aW9ucyIsaWNvbk5hbWU6ImJlbGwiLGJhZGdlOjMsYWN0aW9uOnMoKCk9PnRoaXMuc2hvd1NlY3Rpb24oIm5vdGlmaWNhdGlvbnMiKSwiYWN0aW9uIil9LHtrZXk6ImFwcGVhcmFuY2UiLGljb25OYW1lOiJwYWxldHRlIixhY3Rpb246cygoKT0+dGhpcy5zaG93U2VjdGlvbigiYXBwZWFyYW5jZSIpLCJhY3Rpb24iKX1dfV19KSxtLmFwcHVpLnNldFNlY29uZGFyeU1lbnVTZWxlY3Rpb24odGhpcy5zZWN0aW9uKSxtLmFwcHVpLnNldENvbnRlbnRUYWJzKFtdKX1vbkRlYWN0aXZhdGUoKXtjb25zb2xlLmxvZygiU2V0dGluZ3MgZGVhY3RpdmF0ZWQiKSx0aGlzLmhhc0NoYW5nZXM9ITF9Y2FuRGVhY3RpdmF0ZSgpe3JldHVybiB0aGlzLmhhc0NoYW5nZXM/IllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcy4gTGVhdmUgYW55d2F5PyI6ITB9c2hvd1NlY3Rpb24obSl7dGhpcy5zZWN0aW9uPW0sdGhpcy5hcHB1aT8uc2V0U2Vjb25kYXJ5TWVudVNlbGVjdGlvbihtKX1zaW11bGF0ZUNoYW5nZSgpe3RoaXMuaGFzQ2hhbmdlcz0hMH1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgIGNvbG9yOiAjYTNhM2EzOwogICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjsKICAgICAgICB9CiAgICAgICAgaDEgeyBjb2xvcjogI2ZhZmFmYTsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAyNHB4OyBtYXJnaW4tYm90dG9tOiA4cHg7IH0KICAgICAgICBwIHsgY29sb3I6ICM3MzczNzM7IG1hcmdpbi1ib3R0b206IDI0cHg7IH0KICAgICAgICAuc2VjdGlvbi1uYW1lIHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wNSk7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMSk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgICAgY29sb3I6ICNmYWZhZmE7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIH0KICAgICAgICAuYWN0aW9ucyB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIH0KICAgICAgICBidXR0b24gewogICAgICAgICAgYmFja2dyb3VuZDogIzNiODJmNjsKICAgICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIH0KICAgICAgICBidXR0b246aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogIzI1NjNlYjsKICAgICAgICB9CiAgICAgICAgLndhcm5pbmcgewogICAgICAgICAgY29sb3I6ICNmYmJmMjQ7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGgxPlNldHRpbmdzPC9oMT4KICAgICAgPHA+TWFuYWdlIHlvdXIgYWNjb3VudCBhbmQgYXBwbGljYXRpb24gcHJlZmVyZW5jZXMuPC9wPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLW5hbWUiPgogICAgICAgIEN1cnJlbnQgc2VjdGlvbjogPHN0cm9uZz4ke3RoaXMuc2VjdGlvbn08L3N0cm9uZz4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnMiPgogICAgICAgIDxidXR0b24gQGNsaWNrPSR7KCk9PnRoaXMuc2ltdWxhdGVDaGFuZ2UoKX0+TWFrZSBDaGFuZ2VzPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICAke3RoaXMuaGFzQ2hhbmdlcz93YDxwIGNsYXNzPSJ3YXJuaW5nIj5Zb3UgaGF2ZSB1bnNhdmVkIGNoYW5nZXMuIE5hdmlnYXRpb24gd2lsbCBwcm9tcHQgZm9yIGNvbmZpcm1hdGlvbi48L3A+YDoiIn0KICAgIGB9fTtyZXR1cm4gdT1yfSkoKSxKWWk9KCgpPT57bGV0IGE9W2llKCJkZW1vLXByb2plY3RzLXZpZXciKV0sZSx0PVtdLHIsaT1wZTt2YXIgbz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVtb1Byb2plY3RzVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBuPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO3U1KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm59LG51bGwsdCksbz1yPWUudmFsdWUsbiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufSksb2wocix0KX1vbkFjdGl2YXRlKG4pe24uYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiUHJvamVjdHMiLGdyb3Vwczpbe25hbWU6Ik15IFByb2plY3RzIixpY29uTmFtZToibHVjaWRlOmZvbGRlciIsaXRlbXM6W3trZXk6IkFjdGl2ZSIsaWNvbk5hbWU6ImZvbGRlciIsYmFkZ2U6MyxhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkFjdGl2ZSIpLCJhY3Rpb24iKX0se2tleToiQXJjaGl2ZWQiLGljb25OYW1lOiJhcmNoaXZlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkFyY2hpdmVkIiksImFjdGlvbiIpfSx7a2V5OiJTaGFyZWQiLGljb25OYW1lOiJ1c2VycyIsYmFkZ2U6MixiYWRnZVZhcmlhbnQ6Indhcm5pbmciLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiU2hhcmVkIiksImFjdGlvbiIpfV19LHtuYW1lOiJRdWljayBBY3Rpb25zIixpY29uTmFtZToibHVjaWRlOnphcCIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiTmV3IFByb2plY3QiLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVyUGx1cyIsYWN0aW9uOnMoKCk9PmFsZXJ0KCJDcmVhdGUgbmV3IHByb2plY3QiKSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiSW1wb3J0IixpY29uTmFtZToibHVjaWRlOmRvd25sb2FkIixhY3Rpb246cygoKT0+YWxlcnQoIkltcG9ydCBwcm9qZWN0IiksImFjdGlvbiIpfSx7dHlwZToiZGl2aWRlciJ9LHt0eXBlOiJsaW5rIixrZXk6IlRlbXBsYXRlcyIsaWNvbk5hbWU6Imx1Y2lkZTpsYXlvdXRUZW1wbGF0ZSIsaHJlZjoiaHR0cHM6Ly90ZW1wbGF0ZXMuZXhhbXBsZS5jb20ifV19XX0pLG4uYXBwdWkuc2V0Q29udGVudFRhYnMoW3trZXk6IkdyaWQiLGljb25OYW1lOiJsdWNpZGU6Z3JpZCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJHcmlkIHZpZXciKSwiYWN0aW9uIil9LHtrZXk6Ikxpc3QiLGljb25OYW1lOiJsdWNpZGU6bGlzdCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJMaXN0IHZpZXciKSwiYWN0aW9uIil9LHtrZXk6IkJvYXJkIixpY29uTmFtZToibHVjaWRlOmthbmJhbiIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJCb2FyZCB2aWV3IiksImFjdGlvbiIpfV0pfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8c3R5bGU+CiAgICAgICAgOmhvc3QgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgY29sb3I6ICNhM2EzYTM7CiAgICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCAnSW50ZXInLCAtYXBwbGUtc3lzdGVtLCBzYW5zLXNlcmlmOwogICAgICAgIH0KICAgICAgICBoMSB7IGNvbG9yOiAjZmFmYWZhOyBmb250LXdlaWdodDogNjAwOyBmb250LXNpemU6IDI0cHg7IG1hcmdpbi1ib3R0b206IDI0cHg7IH0KICAgICAgICAucHJvamVjdHMgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgfQogICAgICAgIC5wcm9qZWN0IHsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wMyk7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzOwogICAgICAgIH0KICAgICAgICAucHJvamVjdDpob3ZlciB7CiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC4yKTsKICAgICAgICB9CiAgICAgICAgLnByb2plY3QgaDMgeyBjb2xvcjogI2ZhZmFmYTsgbWFyZ2luOiAwIDAgOHB4IDA7IGZvbnQtc2l6ZTogMTZweDsgfQogICAgICAgIC5wcm9qZWN0IHAgeyBjb2xvcjogIzczNzM3MzsgbWFyZ2luOiAwOyBmb250LXNpemU6IDEzcHg7IH0KICAgICAgICAuYmFkZ2UgewogICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgICAgYmFja2dyb3VuZDogIzE0NTMyZDsKICAgICAgICAgIGNvbG9yOiAjNGFkZTgwOwogICAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDlweDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8aDE+UHJvamVjdHM8L2gxPgogICAgICA8ZGl2IGNsYXNzPSJwcm9qZWN0cyI+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvamVjdCI+CiAgICAgICAgICA8aDM+RnJvbnRlbmQgQXBwIDxzcGFuIGNsYXNzPSJiYWRnZSI+QWN0aXZlPC9zcGFuPjwvaDM+CiAgICAgICAgICA8cD5SZWFjdC1iYXNlZCBkYXNoYm9hcmQgYXBwbGljYXRpb248L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvamVjdCI+CiAgICAgICAgICA8aDM+QVBJIFNlcnZlciA8c3BhbiBjbGFzcz0iYmFkZ2UiPkFjdGl2ZTwvc3Bhbj48L2gzPgogICAgICAgICAgPHA+Tm9kZS5qcyBSRVNUIEFQSSBiYWNrZW5kPC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InByb2plY3QiPgogICAgICAgICAgPGgzPk1vYmlsZSBBcHAgPHNwYW4gY2xhc3M9ImJhZGdlIj5BY3RpdmU8L3NwYW4+PC9oMz4KICAgICAgICAgIDxwPlJlYWN0IE5hdGl2ZSBpT1MvQW5kcm9pZCBhcHA8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvamVjdCI+CiAgICAgICAgICA8aDM+RG9jdW1lbnRhdGlvbjwvaDM+CiAgICAgICAgICA8cD5UZWNobmljYWwgZG9jdW1lbnRhdGlvbiBzaXRlPC9wPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9fTtyZXR1cm4gbz1yfSkoKSxlS2k9KCgpPT57bGV0IGE9W2llKCJkZW1vLXRhc2tzLXZpZXciKV0sZSx0PVtdLHIsaT1wZTt2YXIgbz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVtb1Rhc2tzVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBuPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO3U1KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm59LG51bGwsdCksbz1yPWUudmFsdWUsbiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufSksb2wocix0KX1vbkFjdGl2YXRlKG4pe24uYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiVGFza3MiLGdyb3Vwczpbe25hbWU6IlZpZXdzIixpY29uTmFtZToibHVjaWRlOmV5ZSIsaXRlbXM6W3trZXk6IkFsbCBUYXNrcyIsaWNvbk5hbWU6Imxpc3QiLGJhZGdlOjEyLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiQWxsIiksImFjdGlvbiIpfSx7a2V5OiJUb2RheSIsaWNvbk5hbWU6ImNhbGVuZGFyIixiYWRnZTozLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiVG9kYXkiKSwiYWN0aW9uIil9LHtrZXk6IlVwY29taW5nIixpY29uTmFtZToiY2xvY2siLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiVXBjb21pbmciKSwiYWN0aW9uIil9LHtrZXk6IkNvbXBsZXRlZCIsaWNvbk5hbWU6ImNoZWNrQ2lyY2xlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkNvbXBsZXRlZCIpLCJhY3Rpb24iKX1dfSx7bmFtZToiRmlsdGVycyIsaWNvbk5hbWU6Imx1Y2lkZTpmaWx0ZXIiLGl0ZW1zOlt7dHlwZToiaGVhZGVyIixsYWJlbDoiUHJpb3JpdHkifSx7dHlwZToibXVsdGlGaWx0ZXIiLGtleToiUHJpb3JpdHkiLGljb25OYW1lOiJsdWNpZGU6ZmxhZyIsb3B0aW9uczpbe2tleToiaGlnaCIsbGFiZWw6IkhpZ2giLGNoZWNrZWQ6ITAsaWNvbk5hbWU6Imx1Y2lkZTphbGVydENpcmNsZSJ9LHtrZXk6Im1lZGl1bSIsbGFiZWw6Ik1lZGl1bSIsY2hlY2tlZDohMCxpY29uTmFtZToibHVjaWRlOm1pbnVzQ2lyY2xlIn0se2tleToibG93IixsYWJlbDoiTG93IixjaGVja2VkOiExLGljb25OYW1lOiJsdWNpZGU6Y2lyY2xlIn1dLG9uQ2hhbmdlOnMobD0+Y29uc29sZS5sb2coIlByaW9yaXR5IGZpbHRlcjoiLGwpLCJvbkNoYW5nZSIpfSx7dHlwZToiZGl2aWRlciJ9LHt0eXBlOiJoZWFkZXIiLGxhYmVsOiJPcHRpb25zIn0se3R5cGU6ImZpbHRlciIsa2V5OiJTaG93IFN1YnRhc2tzIixpY29uTmFtZToibHVjaWRlOmxpc3RUcmVlIixhY3RpdmU6ITAsb25Ub2dnbGU6cyhsPT5jb25zb2xlLmxvZygiU2hvdyBzdWJ0YXNrczoiLGwpLCJvblRvZ2dsZSIpfSx7dHlwZToiZmlsdGVyIixrZXk6IlNob3cgQ29tcGxldGVkIixpY29uTmFtZToibHVjaWRlOmNoZWNrU3F1YXJlIixhY3RpdmU6ITEsb25Ub2dnbGU6cyhsPT5jb25zb2xlLmxvZygiU2hvdyBjb21wbGV0ZWQ6IixsKSwib25Ub2dnbGUiKX1dfSx7bmFtZToiQWN0aW9ucyIsaWNvbk5hbWU6Imx1Y2lkZTp6YXAiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IkFkZCBUYXNrIixpY29uTmFtZToibHVjaWRlOnBsdXMiLGFjdGlvbjpzKCgpPT5hbGVydCgiQWRkIG5ldyB0YXNrIiksImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIixrZXk6IkltcG9ydCBUYXNrcyIsaWNvbk5hbWU6Imx1Y2lkZTp1cGxvYWQiLGFjdGlvbjpzKCgpPT5hbGVydCgiSW1wb3J0IHRhc2tzIiksImFjdGlvbiIpfSx7dHlwZToiZGl2aWRlciJ9LHt0eXBlOiJhY3Rpb24iLGtleToiQ2xlYXIgQ29tcGxldGVkIixpY29uTmFtZToibHVjaWRlOnRyYXNoMiIsdmFyaWFudDoiZGFuZ2VyIixjb25maXJtTWVzc2FnZToiRGVsZXRlIGFsbCBjb21wbGV0ZWQgdGFza3M/IixhY3Rpb246cygoKT0+YWxlcnQoIkNsZWFyZWQgY29tcGxldGVkIHRhc2tzIiksImFjdGlvbiIpfV19XX0pLG4uYXBwdWkuc2V0Q29udGVudFRhYnMoW3trZXk6Ikxpc3QiLGljb25OYW1lOiJsdWNpZGU6bGlzdCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJMaXN0IiksImFjdGlvbiIpfSx7a2V5OiJDYWxlbmRhciIsaWNvbk5hbWU6Imx1Y2lkZTpjYWxlbmRhciIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJDYWxlbmRhciIpLCJhY3Rpb24iKX1dKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgIGNvbG9yOiAjYTNhM2EzOwogICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgJ0ludGVyJywgLWFwcGxlLXN5c3RlbSwgc2Fucy1zZXJpZjsKICAgICAgICB9CiAgICAgICAgaDEgeyBjb2xvcjogI2ZhZmFmYTsgZm9udC13ZWlnaHQ6IDYwMDsgZm9udC1zaXplOiAyNHB4OyBtYXJnaW4tYm90dG9tOiAyNHB4OyB9CiAgICAgICAgLnRhc2stbGlzdCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgIH0KICAgICAgICAudGFzayB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4wMyk7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDgpOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIH0KICAgICAgICAuY2hlY2tib3ggewogICAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjNTI1MjUyOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH0KICAgICAgICAudGFzay10ZXh0IHsgY29sb3I6ICNmYWZhZmE7IGZsZXg6IDE7IH0KICAgICAgICAuZHVlLWRhdGUgeyBjb2xvcjogIzczNzM3MzsgZm9udC1zaXplOiAxMnB4OyB9CiAgICAgICAgLnByaW9yaXR5IHsKICAgICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgfQogICAgICAgIC5wcmlvcml0eS5oaWdoIHsgYmFja2dyb3VuZDogIzQ1MGEwYTsgY29sb3I6ICNmODcxNzE7IH0KICAgICAgICAucHJpb3JpdHkubWVkaXVtIHsgYmFja2dyb3VuZDogIzQ1MWEwMzsgY29sb3I6ICNmYmJmMjQ7IH0KICAgICAgPC9zdHlsZT4KICAgICAgPGgxPlRhc2tzPC9oMT4KICAgICAgPGRpdiBjbGFzcz0idGFzay1saXN0Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YXNrIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNoZWNrYm94Ij48L2Rpdj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YXNrLXRleHQiPlJldmlldyBwdWxsIHJlcXVlc3QgIzQyPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImR1ZS1kYXRlIj5Ub2RheTwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcmlvcml0eSBoaWdoIj5IaWdoPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRhc2siPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hlY2tib3giPjwvZGl2PgogICAgICAgICAgPHNwYW4gY2xhc3M9InRhc2stdGV4dCI+VXBkYXRlIGRvY3VtZW50YXRpb248L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iZHVlLWRhdGUiPlRvbW9ycm93PC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9InByaW9yaXR5IG1lZGl1bSI+TWVkaXVtPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRhc2siPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hlY2tib3giPjwvZGl2PgogICAgICAgICAgPHNwYW4gY2xhc3M9InRhc2stdGV4dCI+V3JpdGUgdW5pdCB0ZXN0czwvc3Bhbj4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJkdWUtZGF0ZSI+RGVjIDIwPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9fTtyZXR1cm4gbz1yfSkoKSxfbGE9cygoKT0+e2xldCBhPXticmFuZGluZzp7bG9nb0ljb246Imx1Y2lkZTpib3giLGxvZ29UZXh0OiJBY21lIEFwcCJ9LGFwcEJhcjp7bWVudUl0ZW1zOlt7bmFtZToiRmlsZSIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJOZXcgUHJvamVjdCIsc2hvcnRjdXQ6IkNtZCtOIixpY29uTmFtZToiZmlsZVBsdXMiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJOZXciKSwiYWN0aW9uIil9LHtuYW1lOiJPcGVuLi4uIixzaG9ydGN1dDoiQ21kK08iLGljb25OYW1lOiJmb2xkZXJPcGVuIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiT3BlbiIpLCJhY3Rpb24iKX0se25hbWU6IlJlY2VudCBQcm9qZWN0cyIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJteS1hcHAiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIG15LWFwcCIpLCJhY3Rpb24iKX0se25hbWU6ImNvbXBvbmVudC1saWIiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJPcGVuIGNvbXBvbmVudC1saWIiKSwiYWN0aW9uIil9XX0se2RpdmlkZXI6ITB9LHtuYW1lOiJTYXZlIEFsbCIsc2hvcnRjdXQ6IkNtZCtTIixpY29uTmFtZToic2F2ZSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlNhdmUiKSwiYWN0aW9uIil9XX0se25hbWU6IkVkaXQiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiVW5kbyIsc2hvcnRjdXQ6IkNtZCtaIixpY29uTmFtZToidW5kbyIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlVuZG8iKSwiYWN0aW9uIil9LHtuYW1lOiJSZWRvIixzaG9ydGN1dDoiQ21kK1NoaWZ0K1oiLGljb25OYW1lOiJyZWRvIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiUmVkbyIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJDdXQiLHNob3J0Y3V0OiJDbWQrWCIsaWNvbk5hbWU6InNjaXNzb3JzIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQ3V0IiksImFjdGlvbiIpfSx7bmFtZToiQ29weSIsc2hvcnRjdXQ6IkNtZCtDIixpY29uTmFtZToiY29weSIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIkNvcHkiKSwiYWN0aW9uIil9LHtuYW1lOiJQYXN0ZSIsc2hvcnRjdXQ6IkNtZCtWIixpY29uTmFtZToiY2xpcGJvYXJkIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiUGFzdGUiKSwiYWN0aW9uIil9XX0se25hbWU6IlZpZXciLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiVG9nZ2xlIFNpZGViYXIiLHNob3J0Y3V0OiJDbWQrQiIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlRvZ2dsZSBzaWRlYmFyIiksImFjdGlvbiIpfSx7bmFtZToiVG9nZ2xlIEFjdGl2aXR5IExvZyIsc2hvcnRjdXQ6IkNtZCtTaGlmdCtBIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiVG9nZ2xlIGFjdGl2aXR5IiksImFjdGlvbiIpfV19LHtuYW1lOiJIZWxwIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6IkRvY3VtZW50YXRpb24iLGljb25OYW1lOiJib29rIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiRG9jcyIpLCJhY3Rpb24iKX0se25hbWU6IktleWJvYXJkIFNob3J0Y3V0cyIsaWNvbk5hbWU6ImtleWJvYXJkIixzaG9ydGN1dDoiQ21kKy8iLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJTaG9ydGN1dHMiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiQWJvdXQiLGljb25OYW1lOiJpbmZvIixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiQWJvdXQiKSwiYWN0aW9uIil9XX1dLGJyZWFkY3J1bWJzOiJEYXNoYm9hcmQiLHNob3dXaW5kb3dDb250cm9sczohMCxzaG93U2VhcmNoOiEwLHVzZXI6e25hbWU6IkphbmUgU21pdGgiLGVtYWlsOiJqYW5lLnNtaXRoQGV4YW1wbGUuY29tIixzdGF0dXM6Im9ubGluZSJ9LHByb2ZpbGVNZW51SXRlbXM6W3tuYW1lOiJQcm9maWxlIixpY29uTmFtZToidXNlciIsYWN0aW9uOnMoYXN5bmMoKT0+Y29uc29sZS5sb2coIlByb2ZpbGUiKSwiYWN0aW9uIil9LHtuYW1lOiJBY2NvdW50IFNldHRpbmdzIixpY29uTmFtZToic2V0dGluZ3MiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJTZXR0aW5ncyIpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJIZWxwICYgU3VwcG9ydCIsaWNvbk5hbWU6ImhlbHBDaXJjbGUiLGFjdGlvbjpzKGFzeW5jKCk9PmNvbnNvbGUubG9nKCJIZWxwIiksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IlNpZ24gT3V0IixpY29uTmFtZToibG9nT3V0IixhY3Rpb246cyhhc3luYygpPT5jb25zb2xlLmxvZygiU2lnbiBvdXQiKSwiYWN0aW9uIil9XX0sdmlld3M6W3tpZDoiZGFzaGJvYXJkIixuYW1lOiJEYXNoYm9hcmQiLGljb25OYW1lOiJsdWNpZGU6aG9tZSIsY29udGVudDoiZGVtby1kYXNoYm9hcmQtdmlldyIscm91dGU6ImRhc2hib2FyZCJ9LHtpZDoicHJvamVjdHMiLG5hbWU6IlByb2plY3RzIixpY29uTmFtZToibHVjaWRlOmZvbGRlciIsY29udGVudDoiZGVtby1wcm9qZWN0cy12aWV3Iixyb3V0ZToicHJvamVjdHMiLGJhZGdlOjN9LHtpZDoidGFza3MiLG5hbWU6IlRhc2tzIixpY29uTmFtZToibHVjaWRlOmNoZWNrU3F1YXJlIixjb250ZW50OiJkZW1vLXRhc2tzLXZpZXciLHJvdXRlOiJ0YXNrcyIsYmFkZ2U6MTJ9LHtpZDoic2V0dGluZ3MiLG5hbWU6IlNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOnNldHRpbmdzIixjb250ZW50OiJkZW1vLXNldHRpbmdzLXZpZXciLHJvdXRlOiJzZXR0aW5ncy86c2VjdGlvbj8ifV0sbWFpbk1lbnU6e3NlY3Rpb25zOlt7bmFtZToiTWFpbiIsdmlld3M6WyJkYXNoYm9hcmQiXX0se25hbWU6IldvcmtzcGFjZSIsdmlld3M6WyJwcm9qZWN0cyIsInRhc2tzIl19XSxib3R0b21JdGVtczpbInNldHRpbmdzIl19LGRlZmF1bHRWaWV3OiJkYXNoYm9hcmQiLGJvdHRvbUJhcjp7dmlzaWJsZTohMCx3aWRnZXRzOlt7aWQ6InN0YXR1cyIsaWNvbk5hbWU6Imx1Y2lkZTphY3Rpdml0eSIsbGFiZWw6IlN5c3RlbSBPbmxpbmUiLHN0YXR1czoic3VjY2VzcyIsdG9vbHRpcDoiQWxsIHN5c3RlbXMgb3BlcmF0aW9uYWwiLG9uQ2xpY2s6cygoKT0+Y29uc29sZS5sb2coIlN0YXR1cyBjbGlja2VkIiksIm9uQ2xpY2siKX0se2lkOiJub3RpZmljYXRpb25zIixpY29uTmFtZToibHVjaWRlOmJlbGwiLGxhYmVsOiIzIG5vdGlmaWNhdGlvbnMiLHN0YXR1czoid2FybmluZyIsdG9vbHRpcDoiWW91IGhhdmUgdW5yZWFkIG5vdGlmaWNhdGlvbnMiLG9uQ2xpY2s6cygoKT0+Y29uc29sZS5sb2coIk5vdGlmaWNhdGlvbnMgY2xpY2tlZCIpLCJvbkNsaWNrIil9LHtpZDoidmVyc2lvbiIsaWNvbk5hbWU6Imx1Y2lkZTpnaXRCcmFuY2giLGxhYmVsOiJ2MS4yLjMiLHBvc2l0aW9uOiJyaWdodCIsdG9vbHRpcDoiQ3VycmVudCB2ZXJzaW9uIn1dLGFjdGlvbnM6W3tpZDoidGVybWluYWwiLGljb25OYW1lOiJsdWNpZGU6dGVybWluYWwiLHRvb2x0aXA6Ik9wZW4gVGVybWluYWwiLHBvc2l0aW9uOiJyaWdodCIsb25DbGljazpzKCgpPT5jb25zb2xlLmxvZygiVGVybWluYWwgY2xpY2tlZCIpLCJvbkNsaWNrIil9XX0sb25WaWV3Q2hhbmdlOnMoKHIsaSk9Pntjb25zb2xlLmxvZyhgVmlldyBjaGFuZ2VkIHRvOiAke3J9ICgke2kubmFtZX0pYCl9LCJvblZpZXdDaGFuZ2UiKSxvblNlYXJjaDpzKHI9Pntjb25zb2xlLmxvZygiU2VhcmNoIHF1ZXJ5OiIscil9LCJvblNlYXJjaCIpfSxlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2UuY2xhc3NOYW1lPSJkZW1vLWNvbnRhaW5lciIsZS5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogMDsgbGVmdDogMDsgaGVpZ2h0OiAxMDAlOyB3aWR0aDogMTAwJTsgb3ZlcmZsb3c6IGhpZGRlbjsiO2xldCB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRlZXMtYXBwdWkiKTtyZXR1cm4gZS5hcHBlbmRDaGlsZCh0KSxzZXRUaW1lb3V0KGFzeW5jKCk9Pnthd2FpdCB0LnVwZGF0ZUNvbXBsZXRlLHQuY29uZmlndXJlKGEpLHNldFRpbWVvdXQoKCk9Pnt0LmFjdGl2aXR5TG9nLmFkZE1hbnkoW3t0eXBlOiJsb2dpbiIsdXNlcjoiSmFuZSBTbWl0aCIsbWVzc2FnZToibG9nZ2VkIGluIGZyb20gQ2hyb21lIG9uIG1hY09TIn0se3R5cGU6ImNyZWF0ZSIsdXNlcjoiSmFuZSBTbWl0aCIsbWVzc2FnZTonY3JlYXRlZCBwcm9qZWN0ICJGcm9udGVuZCBBcHAiJ30se3R5cGU6InVwZGF0ZSIsdXNlcjoiSm9obiBEb2UiLG1lc3NhZ2U6InVwZGF0ZWQgQVBJIGRvY3VtZW50YXRpb24ifSx7dHlwZToidmlldyIsdXNlcjoiSmFuZSBTbWl0aCIsbWVzc2FnZToidmlld2VkIGRhc2hib2FyZCBhbmFseXRpY3MifSx7dHlwZToiZGVsZXRlIix1c2VyOiJBZG1pbiIsbWVzc2FnZToicmVtb3ZlZCBkZXByZWNhdGVkIGVuZHBvaW50In0se3R5cGU6ImN1c3RvbSIsdXNlcjoiU3lzdGVtIixtZXNzYWdlOiJzY2hlZHVsZWQgYmFja3VwIGNvbXBsZXRlZCIsaWNvbk5hbWU6Imx1Y2lkZTpkYXRhYmFzZSJ9XSl9LDUwMCksdC52aWV3Q2hhbmdlZCQuc3Vic2NyaWJlKHI9Pntjb25zb2xlLmxvZygiVmlldyBjaGFuZ2VkIGV2ZW50OiIsciksdC5zZXRCcmVhZGNydW1icyhyLnZpZXcubmFtZSl9KSx0LnZpZXdMaWZlY3ljbGUkLnN1YnNjcmliZShyPT57Y29uc29sZS5sb2coIkxpZmVjeWNsZSBldmVudDoiLHIudHlwZSxyLnZpZXdJZCl9KSxzZXRUaW1lb3V0KCgpPT57dC5zZXRNYWluTWVudUJhZGdlKCJ0YXNrcyIsMTUpLHQuYWN0aXZpdHlMb2cuYWRkKHt0eXBlOiJ1cGRhdGUiLHVzZXI6IlN5c3RlbSIsbWVzc2FnZToibmV3IHRhc2tzIGFkZGVkIn0pfSw1ZTMpfSwwKSx3YAogICAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICAgICR7ZX0KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgfSwiZGVtb0Z1bmMiKX0pO3ZhciBHVyxkUWU9ZigoKT0+e2xlKCk7R1c9Y2xhc3N7c3RhdGlje3ModGhpcywiVmlld1JlZ2lzdHJ5Iil9dmlld3M9bmV3IE1hcDtpbnN0YW5jZXM9bmV3IE1hcDtjdXJyZW50Vmlld0lkPW51bGw7YXBwdWk9bnVsbDtzZXRBcHB1aVJlZihlKXt0aGlzLmFwcHVpPWV9cmVnaXN0ZXIoZSl7dGhpcy52aWV3cy5oYXMoZS5pZCkmJmNvbnNvbGUud2FybihgVmlldyB3aXRoIGlkICIke2UuaWR9IiBhbHJlYWR5IHJlZ2lzdGVyZWQuIE92ZXJ3cml0aW5nLmApLHRoaXMudmlld3Muc2V0KGUuaWQsZSl9cmVnaXN0ZXJBbGwoZSl7ZS5mb3JFYWNoKHQ9PnRoaXMucmVnaXN0ZXIodCkpfWdldChlKXtyZXR1cm4gdGhpcy52aWV3cy5nZXQoZSl9Z2V0Vmlld0lkcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMudmlld3Mua2V5cygpKX1nZXRBbGwoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnZpZXdzLnZhbHVlcygpKX1nZXRSb3V0ZShlKXtsZXQgdD10aGlzLnZpZXdzLmdldChlKTtyZXR1cm4gdD8ucm91dGV8fHQ/LmlkfHwiIn1maW5kQnlSb3V0ZShlKXtmb3IobGV0IHQgb2YgdGhpcy52aWV3cy52YWx1ZXMoKSl7bGV0IHI9dC5yb3V0ZXx8dC5pZCxpPXRoaXMubWF0Y2hSb3V0ZShyLGUpO2lmKGkhPT1udWxsKXJldHVybnt2aWV3OnQscGFyYW1zOml9fX1tYXRjaFJvdXRlKGUsdCl7bGV0IHI9ZS5zcGxpdCgiLyIpLGk9dC5zcGxpdCgiLyIpO2lmKHIubGVuZ3RoPjAmJnJbci5sZW5ndGgtMV0uZW5kc1dpdGgoIj8iKSl7aWYoaS5sZW5ndGg8ci5sZW5ndGgtMXx8aS5sZW5ndGg+ci5sZW5ndGgpcmV0dXJuIG51bGx9ZWxzZSBpZihyLmxlbmd0aCE9PWkubGVuZ3RoKXJldHVybiBudWxsO2xldCBuPXt9O2ZvcihsZXQgbD0wO2w8ci5sZW5ndGg7bCsrKXtsZXQgZD1yW2xdLGM9ZC5lbmRzV2l0aCgiPyIpO2lmKGMmJihkPWQuc2xpY2UoMCwtMSkpLGQuc3RhcnRzV2l0aCgiOiIpKXtsZXQgcD1kLnNsaWNlKDEpO2lmKGlbbF0hPT12b2lkIDApbltwXT1pW2xdO2Vsc2UgaWYoIWMpcmV0dXJuIG51bGx9ZWxzZSBpZihpW2xdIT09ZClyZXR1cm4gbnVsbH1yZXR1cm4gbn1hc3luYyBjYW5MZWF2ZUN1cnJlbnRWaWV3KCl7aWYoIXRoaXMuY3VycmVudFZpZXdJZClyZXR1cm4hMDtsZXQgZT10aGlzLmluc3RhbmNlcy5nZXQodGhpcy5jdXJyZW50Vmlld0lkKTtpZighZSlyZXR1cm4hMDtsZXQgdD1lO3JldHVybiB0eXBlb2YgdC5jYW5EZWFjdGl2YXRlPT0iZnVuY3Rpb24iP2F3YWl0IHQuY2FuRGVhY3RpdmF0ZSgpOiEwfWFzeW5jIGFjdGl2YXRlVmlldyhlLHQscil7bGV0IGk9dGhpcy52aWV3cy5nZXQoZSk7aWYoIWkpcmV0dXJuIGNvbnNvbGUuZXJyb3IoYFZpZXcgIiR7ZX0iIG5vdCBmb3VuZCBpbiByZWdpc3RyeWApLG51bGw7bGV0IG89aS5jYWNoZSE9PSExO3RoaXMuY3VycmVudFZpZXdJZCYmdGhpcy5jdXJyZW50Vmlld0lkIT09ZSYmYXdhaXQgdGhpcy5kZWFjdGl2YXRlVmlldyh0aGlzLmN1cnJlbnRWaWV3SWQpO2xldCBuPW8/dGhpcy5pbnN0YW5jZXMuZ2V0KGUpOnZvaWQgMDtpZihuKW4uc3R5bGUuZGlzcGxheT0iIjtlbHNle2lmKG49YXdhaXQgdGhpcy5jcmVhdGVWaWV3RWxlbWVudChpKSwhbilyZXR1cm4gY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGNyZWF0ZSBlbGVtZW50IGZvciB2aWV3ICIke2V9ImApLG51bGw7dC5hcHBlbmRDaGlsZChuKSxvJiZ0aGlzLmluc3RhbmNlcy5zZXQoZSxuKX1yZXR1cm4gdGhpcy5jdXJyZW50Vmlld0lkPWUsYXdhaXQgdGhpcy5jYWxsT25BY3RpdmF0ZShuLGUsciksbn1hc3luYyBkZWFjdGl2YXRlVmlldyhlKXtsZXQgdD10aGlzLmluc3RhbmNlcy5nZXQoZSk7aWYoIXQpcmV0dXJuO2xldCByPXQ7dHlwZW9mIHIub25EZWFjdGl2YXRlPT0iZnVuY3Rpb24iJiZhd2FpdCByLm9uRGVhY3RpdmF0ZSgpLHQuc3R5bGUuZGlzcGxheT0ibm9uZSJ9YXN5bmMgY3JlYXRlVmlld0VsZW1lbnQoZSl7bGV0IHQ9ZS5jb250ZW50O2lmKHR5cGVvZiB0PT0iZnVuY3Rpb24iJiYhKHQucHJvdG90eXBlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpJiZ0LmNvbnN0cnVjdG9yLm5hbWU9PT0iQXN5bmNGdW5jdGlvbiIpdHJ5e3Q9YXdhaXQgdCgpfWNhdGNoKGkpe3JldHVybiBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gbG9hZCBhc3luYyBjb250ZW50IGZvciB2aWV3ICIke2UuaWR9IjpgLGkpLG51bGx9bGV0IHI7aWYodHlwZW9mIHQ9PSJzdHJpbmciKXI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0KTtlbHNlIGlmKHR5cGVvZiB0PT0iZnVuY3Rpb24iKWlmKHQucHJvdG90eXBlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpcj1uZXcgdDtlbHNle2xldCBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2kuY2xhc3NOYW1lPSJ2aWV3LWNvbnRlbnQtd3JhcHBlciIsaS5zdHlsZS5jc3NUZXh0PSJkaXNwbGF5OiBjb250ZW50czsiO2xldCBvPXQoKTtlMChvLGkpLHI9aX1lbHNlIHJldHVybiBjb25zb2xlLmVycm9yKGBJbnZhbGlkIGNvbnRlbnQgdHlwZSBmb3IgdmlldyAiJHtlLmlkfSJgKSxudWxsO3JldHVybiByLmRhdGFzZXQudmlld0lkPWUuaWQscn1hc3luYyBjYWxsT25BY3RpdmF0ZShlLHQscil7bGV0IGk9ZTtpZih0eXBlb2YgaS5vbkFjdGl2YXRlPT0iZnVuY3Rpb24iKXtsZXQgbz17YXBwdWk6dGhpcy5hcHB1aSx2aWV3SWQ6dCxwYXJhbXM6cn07YXdhaXQgaS5vbkFjdGl2YXRlKG8pfX1yZW5kZXJWaWV3KGUsdCl7bGV0IHI9dGhpcy52aWV3cy5nZXQoZSk7aWYoIXIpcmV0dXJuIGNvbnNvbGUuZXJyb3IoYFZpZXcgIiR7ZX0iIG5vdCBmb3VuZCBpbiByZWdpc3RyeWApLG51bGw7dC5pbm5lckhUTUw9IiI7bGV0IGksbz1yLmNvbnRlbnQ7aWYodHlwZW9mIG89PSJzdHJpbmciKWk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChvKTtlbHNlIGlmKHR5cGVvZiBvPT0iZnVuY3Rpb24iKWlmKG8ucHJvdG90eXBlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpaT1uZXcgbztlbHNle2xldCBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO24uY2xhc3NOYW1lPSJ2aWV3LWNvbnRlbnQtd3JhcHBlciIsbi5zdHlsZS5jc3NUZXh0PSJkaXNwbGF5OiBjb250ZW50czsiO2xldCBsPW8oKTtlMChsLG4pLGk9bn1lbHNlIHJldHVybiBjb25zb2xlLmVycm9yKGBJbnZhbGlkIGNvbnRlbnQgdHlwZSBmb3IgdmlldyAiJHtlfSJgKSxudWxsO3JldHVybiB0LmFwcGVuZENoaWxkKGkpLHRoaXMuaW5zdGFuY2VzLnNldChlLGkpLHRoaXMuY3VycmVudFZpZXdJZD1lLGl9Z2V0Q3VycmVudFZpZXdJZCgpe3JldHVybiB0aGlzLmN1cnJlbnRWaWV3SWR9Z2V0SW5zdGFuY2UoZSl7cmV0dXJuIHRoaXMuaW5zdGFuY2VzLmdldChlKX1jbGVhckluc3RhbmNlKGUpe2xldCB0PXRoaXMuaW5zdGFuY2VzLmdldChlKTt0JiZ0LnBhcmVudE5vZGUmJnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0KSx0aGlzLmluc3RhbmNlcy5kZWxldGUoZSksdGhpcy5jdXJyZW50Vmlld0lkPT09ZSYmKHRoaXMuY3VycmVudFZpZXdJZD1udWxsKX1jbGVhckluc3RhbmNlcygpe2ZvcihsZXRbZSx0XW9mIHRoaXMuaW5zdGFuY2VzKXQucGFyZW50Tm9kZSYmdC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpO3RoaXMuaW5zdGFuY2VzLmNsZWFyKCksdGhpcy5jdXJyZW50Vmlld0lkPW51bGx9dW5yZWdpc3RlcihlKXtyZXR1cm4gdGhpcy5jbGVhckluc3RhbmNlKGUpLHRoaXMudmlld3MuZGVsZXRlKGUpfWNsZWFyKCl7dGhpcy52aWV3cy5jbGVhcigpLHRoaXMuY2xlYXJJbnN0YW5jZXMoKX1oYXMoZSl7cmV0dXJuIHRoaXMudmlld3MuaGFzKGUpfWdldCBzaXplKCl7cmV0dXJuIHRoaXMudmlld3Muc2l6ZX19fSk7dmFyIExsYSwkbGE9ZigoKT0+e2xlKCk7TGxhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tbWFpbm1lbnUtY29udGFpbmVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBiYWNrZ3JvdW5kOiAjMWExYTFhOwogICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICB9CiAgICAuZGVtby1tYWlubWVudS1jb250YWluZXIgLnNwYWNlciB7CiAgICAgIGZsZXg6IDE7CiAgICAgIGJhY2tncm91bmQ6ICMwZjBmMGY7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vLW1haW5tZW51LWNvbnRhaW5lciI+CiAgICA8ZGVlcy1hcHB1aS1tYWlubWVudQogICAgICAubG9nb0ljb249JHsibHVjaWRlOmJveCJ9CiAgICAgIC5sb2dvVGV4dD0keyJBY21lIEFwcCJ9CiAgICAgIC5tZW51R3JvdXBzPSR7W3t0YWJzOlt7a2V5OiJEYXNoYm9hcmQiLGljb25OYW1lOiJsdWNpZGU6aG9tZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJEYXNoYm9hcmQiKSwiYWN0aW9uIil9LHtrZXk6IkluYm94IixpY29uTmFtZToibHVjaWRlOmluYm94IixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkluYm94IiksImFjdGlvbiIpfV19LHtuYW1lOiJXb3Jrc3BhY2UiLHRhYnM6W3trZXk6IlByb2plY3RzIixpY29uTmFtZToibHVjaWRlOmZvbGRlciIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJQcm9qZWN0cyIpLCJhY3Rpb24iKX0se2tleToiVGFza3MiLGljb25OYW1lOiJsdWNpZGU6Y2hlY2tTcXVhcmUiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiVGFza3MiKSwiYWN0aW9uIil9LHtrZXk6IkRvY3VtZW50cyIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlVGV4dCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJEb2N1bWVudHMiKSwiYWN0aW9uIil9XX0se25hbWU6IkFuYWx5dGljcyIsdGFiczpbe2tleToiUmVwb3J0cyIsaWNvbk5hbWU6Imx1Y2lkZTpiYXJDaGFydDMiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiUmVwb3J0cyIpLCJhY3Rpb24iKX0se2tleToiSW5zaWdodHMiLGljb25OYW1lOiJsdWNpZGU6bGlnaHRidWxiIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkluc2lnaHRzIiksImFjdGlvbiIpfV19XX0KICAgICAgLmJvdHRvbVRhYnM9JHtbe2tleToiU2V0dGluZ3MiLGljb25OYW1lOiJsdWNpZGU6c2V0dGluZ3MiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiU2V0dGluZ3MiKSwiYWN0aW9uIil9LHtrZXk6IkhlbHAiLGljb25OYW1lOiJsdWNpZGU6aGVscENpcmNsZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJIZWxwIiksImFjdGlvbiIpfV19CiAgICA+PC9kZWVzLWFwcHVpLW1haW5tZW51PgogICAgPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBENCxKaSxEbGEsdVFlPWYoKCk9PntWcygpO280KCk7amkoKTtsZSgpO1lyKCk7JGxhKCk7UWUoKTtEND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sSmk9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LERsYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYXBwdWktbWFpbm1lbnUiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXTt2YXIgQj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0FwcHVpTWFpbm1lbnUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOkFycmF5fSldLHg9WyQoe3R5cGU6QXJyYXl9KV0seT1bJCh7dHlwZTpBcnJheX0pXSxOPVskKCldLE89WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLEQ0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9nb0ljb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImxvZ29JY29uImluIFMsImhhcyIpLGdldDpzKFM9PlMubG9nb0ljb24sImdldCIpLHNldDpzKChTLFApPT57Uy5sb2dvSWNvbj1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG4sbCksRDQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2dvVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ibG9nb1RleHQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5sb2dvVGV4dCwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmxvZ29UZXh0PVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxENCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1lbnVHcm91cHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+Im1lbnVHcm91cHMiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5tZW51R3JvdXBzLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MubWVudUdyb3Vwcz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG0sdiksRDQodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJib3R0b21UYWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJib3R0b21UYWJzImluIFMsImhhcyIpLGdldDpzKFM9PlMuYm90dG9tVGFicywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmJvdHRvbVRhYnM9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLEQ0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGFicyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnRhYnMsImdldCIpLHNldDpzKChTLFApPT57Uy50YWJzPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSxENCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkVGFiIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJzZWxlY3RlZFRhYiJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnNlbGVjdGVkVGFiLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1Muc2VsZWN0ZWRUYWI9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxfLHopLEQ0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sbGFwc2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJjb2xsYXBzZWQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5jb2xsYXBzZWQsImdldCIpLHNldDpzKChTLFApPT57Uy5jb2xsYXBzZWQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxULEUpLEQ0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsdCksQj1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9c3RhdGljIGRlbW89TGxhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9SmkodGhpcyxuLCIiKTtnZXQgbG9nb0ljb24oKXtyZXR1cm4gdGhpcy4jZX1zZXQgbG9nb0ljb24oTSl7dGhpcy4jZT1NfSN0PShKaSh0aGlzLGwpLEppKHRoaXMsYywiIikpO2dldCBsb2dvVGV4dCgpe3JldHVybiB0aGlzLiN0fXNldCBsb2dvVGV4dChNKXt0aGlzLiN0PU19I2E9KEppKHRoaXMscCksSmkodGhpcyxtLFtdKSk7Z2V0IG1lbnVHcm91cHMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbWVudUdyb3VwcyhNKXt0aGlzLiNhPU19I3I9KEppKHRoaXMsdiksSmkodGhpcyxiLFtdKSk7Z2V0IGJvdHRvbVRhYnMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgYm90dG9tVGFicyhNKXt0aGlzLiNyPU19I3M9KEppKHRoaXMsZyksSmkodGhpcyxrLFtdKSk7Z2V0IHRhYnMoKXtyZXR1cm4gdGhpcy4jc31zZXQgdGFicyhNKXt0aGlzLiNzPU19I2k9KEppKHRoaXMsQyksSmkodGhpcyxfLHZvaWQgMCkpO2dldCBzZWxlY3RlZFRhYigpe3JldHVybiB0aGlzLiNpfXNldCBzZWxlY3RlZFRhYihNKXt0aGlzLiNpPU19I289KEppKHRoaXMseiksSmkodGhpcyxULCExKSk7Z2V0IGNvbGxhcHNlZCgpe3JldHVybiB0aGlzLiNvfXNldCBjb2xsYXBzZWQoTSl7dGhpcy4jbz1NfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgLS1tZW51LXdpZHRoLWV4cGFuZGVkOiAyMDBweDsKICAgICAgICAtLW1lbnUtd2lkdGgtY29sbGFwc2VkOiA1NnB4OwogICAgICAgIC0tdG9vbHRpcC1iZzogdmFyKC0tZGVlcy1jb2xvci10b29sdGlwLWJnKTsKICAgICAgICAtLXRvb2x0aXAtZmc6IHZhcigtLWRlZXMtY29sb3ItdG9vbHRpcC1mZyk7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLm1haW5Db250YWluZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB6LWluZGV4OiAke0xzLmZpeGVkLmFwcEJhcn07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogdmFyKC0tbWVudS13aWR0aC1leHBhbmRlZCk7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctc2Vjb25kYXJ5KTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsICdJbnRlcicsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Fucy1zZXJpZjsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjI1cyBlYXNlOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1haW5Db250YWluZXIgewogICAgICAgIHdpZHRoOiB2YXIoLS1tZW51LXdpZHRoLWNvbGxhcHNlZCk7CiAgICAgIH0KCiAgICAgIC8qIEZsb2F0aW5nIGNvbGxhcHNlIHRvZ2dsZSBidXR0b24gKi8KICAgICAgLmNvbGxhcHNlLXRvZ2dsZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAtMTJweDsKICAgICAgICB0b3A6IDI0cHg7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIHdpZHRoOiAyNHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpOwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQoKICAgICAgLmNvbGxhcHNlLXRvZ2dsZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy10ZXJ0aWFyeSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgOmhvc3QoOmhvdmVyKSAuY29sbGFwc2UtdG9nZ2xlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAuY29sbGFwc2UtdG9nZ2xlIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICAvKiBMb2dvIFNlY3Rpb24gKi8KICAgICAgLmxvZ29TZWN0aW9uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICBwYWRkaW5nOiAwIDE0cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmxvZ29TZWN0aW9uIC5sb2dvSWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAyMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5sb2dvU2VjdGlvbiAubG9nb1RleHQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHdpZHRoIDAuMjVzIGVhc2U7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubG9nb1NlY3Rpb24gewogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgZ2FwOiAwOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLmxvZ29TZWN0aW9uIC5sb2dvVGV4dCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogTWlkZGxlIFNlY3Rpb24gKHNjcm9sbGFibGUpICovCiAgICAgIC5tZW51U2VjdGlvbiB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICB9CgogICAgICAubWVudVNlY3Rpb246Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICB9CgogICAgICAubWVudVNlY3Rpb246Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLm1lbnVTZWN0aW9uOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWIpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLm1lbnVTZWN0aW9uOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWItaG92ZXIpOwogICAgICB9CgogICAgICAvKiBNZW51IEdyb3VwICovCiAgICAgIC5tZW51R3JvdXAgewogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLm1lbnVHcm91cDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAuZ3JvdXBIZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDZweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIG1heC1oZWlnaHQgMC4yNXMgZWFzZTsKICAgICAgICBtYXgtaGVpZ2h0OiAzMHB4OwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLmdyb3VwSGVhZGVyIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIG1heC1oZWlnaHQ6IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC5ncm91cFRhYnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51R3JvdXAgewogICAgICAgIHBhZGRpbmc6IDAgNHB4OwogICAgICB9CgogICAgICAvKiBUYWIgSXRlbSAqLwogICAgICAudGFiIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC50YWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI2MjYyNiIsIiNlNWU1ZTUiKX07CiAgICAgIH0KCiAgICAgIC50YWI6YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjdGl2ZSk7CiAgICAgIH0KCiAgICAgIC50YWIuc2VsZWN0ZWRUYWIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYWN0aXZlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudGFiLnNlbGVjdGVkVGFiOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICB3aWR0aDogM3B4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7CiAgICAgIH0KCiAgICAgIC50YWIgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgb3BhY2l0eTogMC44NTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnRhYi5zZWxlY3RlZFRhYiBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC50YWIgLnRhYkxhYmVsIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgd2lkdGggMC4yNXMgZWFzZTsKICAgICAgfQoKICAgICAgLyogQ29sbGFwc2VkIHRhYiBzdHlsZXMgKi8KICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC50YWIgewogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDEwcHg7CiAgICAgICAgZ2FwOiAwOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLnRhYiAudGFiTGFiZWwgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLnRhYi5zZWxlY3RlZFRhYjo6YmVmb3JlIHsKICAgICAgICBsZWZ0OiAtNHB4OwogICAgICB9CgogICAgICAvKiBUb29sdGlwIGZvciBjb2xsYXBzZWQgc3RhdGUgKi8KICAgICAgLnRhYi10b29sdGlwIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMTAwJTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdG9vbHRpcC1iZyk7CiAgICAgICAgY29sb3I6IHZhcigtLXRvb2x0aXAtZmcpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlOwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgIH0KCiAgICAgIC50YWItdG9vbHRpcDo6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogLTRweDsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS10b29sdGlwLWJnKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC50YWI6aG92ZXIgLnRhYi10b29sdGlwIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDFzOwogICAgICB9CgogICAgICAvKiBCYWRnZSBzdHlsZXMgKi8KICAgICAgLmJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG1pbi13aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgcGFkZGluZzogMCA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOXB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICB9CgogICAgICAuYmFkZ2UuZGVmYXVsdCB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iYWRnZS1kZWZhdWx0LWJnKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci1iYWRnZS1kZWZhdWx0LWZnKTsKICAgICAgfQoKICAgICAgLmJhZGdlLnN1Y2Nlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmFkZ2Utc3VjY2Vzcy1iZyk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYmFkZ2Utc3VjY2Vzcy1mZyk7CiAgICAgIH0KCiAgICAgIC5iYWRnZS53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLXdhcm5pbmctYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLXdhcm5pbmctZmcpOwogICAgICB9CgogICAgICAuYmFkZ2UuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmFkZ2UtZXJyb3ItYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLWVycm9yLWZnKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogQm90dG9tIFNlY3Rpb24gKi8KICAgICAgLmJvdHRvbVNlY3Rpb24gewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAuYm90dG9tU2VjdGlvbiB7CiAgICAgICAgcGFkZGluZzogOHB4IDRweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IE09dGhpcy5nZXRBbGxUYWJzKCk7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9Im1haW5Db250YWluZXIiIEBjb250ZXh0bWVudT0ke1M9PntlYS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhTLFt7bmFtZToiYXBwIHNldHRpbmdzIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksaWNvbk5hbWU6ImdlYXIifV0pfX0+CiAgICAgICAgJHt0aGlzLmxvZ29JY29ufHx0aGlzLmxvZ29UZXh0P3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvU2VjdGlvbiI+CiAgICAgICAgICAgICR7dGhpcy5sb2dvSWNvbj93YDxkZWVzLWljb24gY2xhc3M9ImxvZ29JY29uIiAuaWNvbj0iJHt0aGlzLmxvZ29JY29ufSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgJHt0aGlzLmxvZ29UZXh0P3dgPHNwYW4gY2xhc3M9ImxvZ29UZXh0Ij4ke3RoaXMubG9nb1RleHR9PC9zcGFuPmA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICA8ZGl2IGNsYXNzPSJtZW51U2VjdGlvbiI+CiAgICAgICAgICAke3RoaXMubWVudUdyb3Vwcy5sZW5ndGg+MD90aGlzLnJlbmRlck1lbnVHcm91cHMoKTp0aGlzLnJlbmRlckxlZ2FjeVRhYnMoKX0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHt0aGlzLmJvdHRvbVRhYnMubGVuZ3RoPjA/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImJvdHRvbVNlY3Rpb24iPgogICAgICAgICAgICAke3RoaXMuYm90dG9tVGFicy5tYXAoUz0+dGhpcy5yZW5kZXJUYWIoUykpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICAgIDxidXR0b24gY2xhc3M9ImNvbGxhcHNlLXRvZ2dsZSIgQGNsaWNrPSIkeygpPT50aGlzLnRvZ2dsZUNvbGxhcHNlKCl9Ij4KICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMuY29sbGFwc2VkPyJsdWNpZGU6Y2hldnJvblJpZ2h0IjoibHVjaWRlOmNoZXZyb25MZWZ0In0iPjwvZGVlcy1pY29uPgogICAgICA8L2J1dHRvbj4KICAgIGB9cmVuZGVyTWVudUdyb3Vwcygpe3JldHVybiB3YAogICAgICAke3RoaXMubWVudUdyb3Vwcy5tYXAoTT0+d2AKICAgICAgICA8ZGl2IGNsYXNzPSJtZW51R3JvdXAiPgogICAgICAgICAgJHtNLm5hbWU/d2A8ZGl2IGNsYXNzPSJncm91cEhlYWRlciI+JHtNLm5hbWV9PC9kaXY+YDoiIn0KICAgICAgICAgIDxkaXYgY2xhc3M9Imdyb3VwVGFicyI+CiAgICAgICAgICAgICR7TS5pdGVtcy5tYXAoUz0+dGhpcy5yZW5kZXJUYWIoUykpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGApfQogICAgYH1yZW5kZXJMZWdhY3lUYWJzKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9Im1lbnVHcm91cCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZ3JvdXBUYWJzIj4KICAgICAgICAgICR7dGhpcy50YWJzLm1hcChNPT50aGlzLnJlbmRlclRhYihNKSl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJUYWIoTSl7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0idGFiICR7TT09PXRoaXMuc2VsZWN0ZWRUYWI/InNlbGVjdGVkVGFiIjoiIn0iCiAgICAgICAgQGNsaWNrPSIkeygpPT57dGhpcy51cGRhdGVUYWIoTSl9fSIKICAgICAgPgogICAgICAgIDxkZWVzLWljb24gLmljb249IiR7TS5pY29uTmFtZXx8IiJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICA8c3BhbiBjbGFzcz0idGFiTGFiZWwiPiR7TS5rZXl9PC9zcGFuPgogICAgICAgICR7TS5iYWRnZSE9PXZvaWQgMD93YAogICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7TS5iYWRnZVZhcmlhbnR8fCJkZWZhdWx0In0iPiR7TS5iYWRnZX08L3NwYW4+CiAgICAgICAgYDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0idGFiLXRvb2x0aXAiPiR7TS5rZXl9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgIGB9Z2V0QWxsVGFicygpe3JldHVybiB0aGlzLm1lbnVHcm91cHMubGVuZ3RoPjA/Wy4uLnRoaXMubWVudUdyb3Vwcy5mbGF0TWFwKFM9PlMuaXRlbXMpLC4uLnRoaXMuYm90dG9tVGFic106Wy4uLnRoaXMudGFicywuLi50aGlzLmJvdHRvbVRhYnNdfXVwZGF0ZVRhYihNKXt0aGlzLnNlbGVjdGVkVGFiPU0sdGhpcy5zZWxlY3RlZFRhYi5hY3Rpb24oKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItc2VsZWN0Iix7ZGV0YWlsOnt0YWI6TX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1maXJzdFVwZGF0ZWQoKXtsZXQgTT10aGlzLmdldEFsbFRhYnMoKTtNLmxlbmd0aD4wJiZ0aGlzLnVwZGF0ZVRhYihNWzBdKX10b2dnbGVDb2xsYXBzZSgpe3RoaXMuY29sbGFwc2VkPSF0aGlzLmNvbGxhcHNlZCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb2xsYXBzZS1jaGFuZ2UiLHtkZXRhaWw6e2NvbGxhcHNlZDp0aGlzLmNvbGxhcHNlZH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksSmkodGhpcyxFKX1zdGF0aWN7Smkocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIEFsYSxFbGE9ZigoKT0+e2xlKCk7QWxhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tc2Vjb25kYXJ5bWVudS1jb250YWluZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIGJhY2tncm91bmQ6ICMxYTFhMWE7CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgIH0KICAgIC5kZW1vLXNlY29uZGFyeW1lbnUtY29udGFpbmVyIC5zcGFjZXIgewogICAgICBmbGV4OiAxOwogICAgICBiYWNrZ3JvdW5kOiAjMGYwZjBmOwogICAgICBwYWRkaW5nOiAyMHB4OwogICAgICBjb2xvcjogI2EzYTNhMzsKICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgIH0KICAgIC5kZW1vLXNlY29uZGFyeW1lbnUtY29udGFpbmVyIC5zcGFjZXIgaDMgewogICAgICBjb2xvcjogI2ZhZmFmYTsKICAgICAgbWFyZ2luLXRvcDogMDsKICAgIH0KICAgIC5kZW1vLXNlY29uZGFyeW1lbnUtY29udGFpbmVyIC5zcGFjZXIgY29kZSB7CiAgICAgIGJhY2tncm91bmQ6ICMyNzI3MmE7CiAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgfQogICAgLmRlbW8tc2Vjb25kYXJ5bWVudS1jb250YWluZXIgLnNwYWNlciB1bCB7CiAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vLXNlY29uZGFyeW1lbnUtY29udGFpbmVyIj4KICAgIDxkZWVzLWFwcHVpLXNlY29uZGFyeW1lbnUKICAgICAgLmhlYWRpbmc9JHsiUHJvamVjdHMifQogICAgICAuZ3JvdXBzPSR7W3tuYW1lOiJOYXZpZ2F0aW9uIixpY29uTmFtZToibHVjaWRlOmNvbXBhc3MiLGl0ZW1zOlt7a2V5OiJEYXNoYm9hcmQiLGljb25OYW1lOiJsdWNpZGU6bGF5b3V0RGFzaGJvYXJkIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkRhc2hib2FyZCBjbGlja2VkIiksImFjdGlvbiIpLGJhZGdlOjMsYmFkZ2VWYXJpYW50OiJ3YXJuaW5nIn0se2tleToiUHJvamVjdHMiLGljb25OYW1lOiJsdWNpZGU6Zm9sZGVyIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlByb2plY3RzIGNsaWNrZWQiKSwiYWN0aW9uIiksYmFkZ2U6Im5ldyIsYmFkZ2VWYXJpYW50OiJzdWNjZXNzIn0se2tleToiQW5hbHl0aWNzIixpY29uTmFtZToibHVjaWRlOmJhckNoYXJ0MiIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJBbmFseXRpY3MgY2xpY2tlZCIpLCJhY3Rpb24iKX1dfSx7bmFtZToiQWN0aW9ucyIsaWNvbk5hbWU6Imx1Y2lkZTp6YXAiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IkNyZWF0ZSBOZXciLGljb25OYW1lOiJsdWNpZGU6cGx1cyIsYWN0aW9uOnMoKCk9PmFsZXJ0KCJDcmVhdGUgTmV3IGNsaWNrZWQhIiksImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIixrZXk6IkltcG9ydCBEYXRhIixpY29uTmFtZToibHVjaWRlOnVwbG9hZCIsYWN0aW9uOnMoKCk9PmFsZXJ0KCJJbXBvcnQgRGF0YSBjbGlja2VkISIpLCJhY3Rpb24iKX0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToiYWN0aW9uIixrZXk6IkRlbGV0ZSBBbGwiLGljb25OYW1lOiJsdWNpZGU6dHJhc2gyIix2YXJpYW50OiJkYW5nZXIiLGNvbmZpcm1NZXNzYWdlOiJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIGFsbCBpdGVtcz8iLGFjdGlvbjpzKCgpPT5hbGVydCgiRGVsZXRlZCEiKSwiYWN0aW9uIil9XX0se25hbWU6IkZpbHRlcnMiLGljb25OYW1lOiJsdWNpZGU6ZmlsdGVyIixpdGVtczpbe3R5cGU6ImhlYWRlciIsbGFiZWw6IlN0YXR1cyJ9LHt0eXBlOiJmaWx0ZXIiLGtleToiU2hvdyBBY3RpdmUiLGljb25OYW1lOiJsdWNpZGU6Y2hlY2tDaXJjbGUiLGFjdGl2ZTohMCxvblRvZ2dsZTpzKGE9PmNvbnNvbGUubG9nKCJTaG93IEFjdGl2ZToiLGEpLCJvblRvZ2dsZSIpfSx7dHlwZToiZmlsdGVyIixrZXk6IlNob3cgQXJjaGl2ZWQiLGljb25OYW1lOiJsdWNpZGU6YXJjaGl2ZSIsYWN0aXZlOiExLG9uVG9nZ2xlOnMoYT0+Y29uc29sZS5sb2coIlNob3cgQXJjaGl2ZWQ6IixhKSwib25Ub2dnbGUiKX0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToibXVsdGlGaWx0ZXIiLGtleToiQ2F0ZWdvcmllcyIsaWNvbk5hbWU6Imx1Y2lkZTp0YWciLGNvbGxhcHNlZDohMSxvcHRpb25zOlt7a2V5OiJmcm9udGVuZCIsbGFiZWw6IkZyb250ZW5kIixjaGVja2VkOiEwLGljb25OYW1lOiJsdWNpZGU6bW9uaXRvciJ9LHtrZXk6ImJhY2tlbmQiLGxhYmVsOiJCYWNrZW5kIixjaGVja2VkOiEwLGljb25OYW1lOiJsdWNpZGU6c2VydmVyIn0se2tleToiZGV2b3BzIixsYWJlbDoiRGV2T3BzIixjaGVja2VkOiExLGljb25OYW1lOiJsdWNpZGU6Y2xvdWQifSx7a2V5OiJkZXNpZ24iLGxhYmVsOiJEZXNpZ24iLGNoZWNrZWQ6ITEsaWNvbk5hbWU6Imx1Y2lkZTpwYWxldHRlIn1dLG9uQ2hhbmdlOnMoYT0+Y29uc29sZS5sb2coIlNlbGVjdGVkIGNhdGVnb3JpZXM6IixhKSwib25DaGFuZ2UiKX1dfSx7bmFtZToiUmVzb3VyY2VzIixpY29uTmFtZToibHVjaWRlOmJvb2tPcGVuIixjb2xsYXBzZWQ6ITAsaXRlbXM6W3t0eXBlOiJoZWFkZXIiLGxhYmVsOiJEb2N1bWVudGF0aW9uIn0se3R5cGU6ImxpbmsiLGtleToiQVBJIFJlZmVyZW5jZSIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlVGV4dCIsaHJlZjoiaHR0cHM6Ly9hcGkuZXhhbXBsZS5jb20vZG9jcyJ9LHt0eXBlOiJsaW5rIixrZXk6IlVzZXIgR3VpZGUiLGljb25OYW1lOiJsdWNpZGU6Ym9vayIsaHJlZjoiaHR0cHM6Ly9kb2NzLmV4YW1wbGUuY29tL2d1aWRlIn0se3R5cGU6ImRpdmlkZXIifSx7dHlwZToiaGVhZGVyIixsYWJlbDoiU3VwcG9ydCJ9LHt0eXBlOiJsaW5rIixrZXk6IkhlbHAgQ2VudGVyIixpY29uTmFtZToibHVjaWRlOmhlbHBDaXJjbGUiLGhyZWY6Ii9oZWxwIixleHRlcm5hbDohMX0se3R5cGU6ImxpbmsiLGtleToiR2l0SHViIElzc3VlcyIsaWNvbk5hbWU6Imx1Y2lkZTpnaXRodWIiLGhyZWY6Imh0dHBzOi8vZ2l0aHViLmNvbS9leGFtcGxlL2lzc3VlcyJ9XX1dfQogICAgICBAaXRlbS1zZWxlY3Q9JHthPT5jb25zb2xlLmxvZygiVGFiIHNlbGVjdGVkOiIsYS5kZXRhaWwpfQogICAgICBAYWN0aW9uLWNsaWNrPSR7YT0+Y29uc29sZS5sb2coIkFjdGlvbiBjbGlja2VkOiIsYS5kZXRhaWwpfQogICAgICBAZmlsdGVyLXRvZ2dsZT0ke2E9PmNvbnNvbGUubG9nKCJGaWx0ZXIgdG9nZ2xlZDoiLGEuZGV0YWlsKX0KICAgICAgQG11bHRpZmlsdGVyLWNoYW5nZT0ke2E9PmNvbnNvbGUubG9nKCJNdWx0aS1maWx0ZXIgY2hhbmdlZDoiLGEuZGV0YWlsKX0KICAgICAgQGxpbmstY2xpY2s9JHthPT5jb25zb2xlLmxvZygiTGluayBjbGlja2VkOiIsYS5kZXRhaWwpfQogICAgPjwvZGVlcy1hcHB1aS1zZWNvbmRhcnltZW51PgogICAgPGRpdiBjbGFzcz0ic3BhY2VyIj4KICAgICAgPGgzPlNlY29uZGFyeSBNZW51IERlbW88L2gzPgogICAgICA8cD5UaGlzIGRlbW8gc2hvd2Nhc2VzIGFsbCA4IGl0ZW0gdHlwZXM6PC9wPgogICAgICA8dWw+CiAgICAgICAgPGxpPjxjb2RlPnRhYjwvY29kZT4gLSBTZWxlY3RhYmxlIGl0ZW1zIChOYXZpZ2F0aW9uIGdyb3VwKTwvbGk+CiAgICAgICAgPGxpPjxjb2RlPmFjdGlvbjwvY29kZT4gLSBCbHVlIGFjdGlvbnMgKEFjdGlvbnMgZ3JvdXApPC9saT4KICAgICAgICA8bGk+PGNvZGU+YWN0aW9uPC9jb2RlPiB3aXRoIDxjb2RlPnZhcmlhbnQ6ICdkYW5nZXInPC9jb2RlPiAtIFJlZCBkYW5nZXIgYWN0aW9uPC9saT4KICAgICAgICA8bGk+PGNvZGU+ZmlsdGVyPC9jb2RlPiAtIENoZWNrYm94IHRvZ2dsZXMgKEZpbHRlcnMgZ3JvdXApPC9saT4KICAgICAgICA8bGk+PGNvZGU+bXVsdGlGaWx0ZXI8L2NvZGU+IC0gQ29sbGFwc2libGUgbXVsdGktc2VsZWN0IChDYXRlZ29yaWVzKTwvbGk+CiAgICAgICAgPGxpPjxjb2RlPmRpdmlkZXI8L2NvZGU+IC0gVmlzdWFsIHNlcGFyYXRvcnM8L2xpPgogICAgICAgIDxsaT48Y29kZT5oZWFkZXI8L2NvZGU+IC0gU2VjdGlvbiBsYWJlbHM8L2xpPgogICAgICAgIDxsaT48Y29kZT5saW5rPC9jb2RlPiAtIEV4dGVybmFsL2ludGVybmFsIGxpbmtzIChSZXNvdXJjZXMgZ3JvdXApPC9saT4KICAgICAgPC91bD4KICAgICAgPHA+VHJ5IHRoZSBjb2xsYXBzZSB0b2dnbGUgb24gdGhlIGxlZnQgZWRnZSE8L3A+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBMYyxuaSxQbGEscFFlPWYoKCk9PntWcygpO280KCk7WXIoKTt2YSgpO2xlKCk7RWxhKCk7UWUoKTtMYz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sbmk9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFBsYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYXBwdWktc2Vjb25kYXJ5bWVudSIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdO3ZhciBQPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQXBwdWlTZWNvbmRhcnltZW51Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IEE9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpBcnJheX0pXSx1PVskKHt0eXBlOkFycmF5fSldLHg9WyQoe3R5cGU6T2JqZWN0fSldLHk9W0soKV0sTj1bSygpXSxPPVtLKCldLEI9WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLExjKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGVhZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4iaGVhZGluZyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLmhlYWRpbmcsImdldCIpLHNldDpzKChGLFcpPT57Ri5oZWFkaW5nPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sbixsKSxMYyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imdyb3VwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4iZ3JvdXBzImluIEYsImhhcyIpLGdldDpzKEY9PkYuZ3JvdXBzLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YuZ3JvdXBzPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sYyxwKSxMYyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGlvbk9wdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+InNlbGVjdGlvbk9wdGlvbnMiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5zZWxlY3Rpb25PcHRpb25zLCJnZXQiKSxzZXQ6cygoRixXKT0+e0Yuc2VsZWN0aW9uT3B0aW9ucz1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LG0sdiksTGModGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZEl0ZW0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+InNlbGVjdGVkSXRlbSJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnNlbGVjdGVkSXRlbSwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnNlbGVjdGVkSXRlbT1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LGIsZyksTGModGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2xsYXBzZWRHcm91cHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+ImNvbGxhcHNlZEdyb3VwcyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLmNvbGxhcHNlZEdyb3VwcywiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLmNvbGxhcHNlZEdyb3Vwcz1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LGssQyksTGModGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2xsYXBzZWRNdWx0aUZpbHRlcnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+ImNvbGxhcHNlZE11bHRpRmlsdGVycyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLmNvbGxhcHNlZE11bHRpRmlsdGVycywiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLmNvbGxhcHNlZE11bHRpRmlsdGVycz1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LF8seiksTGModGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5kZXJDb3VudGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJyZW5kZXJDb3VudGVyImluIEYsImhhcyIpLGdldDpzKEY9PkYucmVuZGVyQ291bnRlciwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnJlbmRlckNvdW50ZXI9V30sInNldCIpfSxtZXRhZGF0YTpBfSxULEUpLExjKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sbGFwc2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJjb2xsYXBzZWQiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5jb2xsYXBzZWQsImdldCIpLHNldDpzKChGLFcpPT57Ri5jb2xsYXBzZWQ9V30sInNldCIpfSxtZXRhZGF0YTpBfSxNLFMpLExjKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOkF9LG51bGwsdCksUD1yPWUudmFsdWUsQSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpBfSl9c3RhdGljIGRlbW89QWxhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9bmkodGhpcyxuLCJNZW51Iik7Z2V0IGhlYWRpbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaGVhZGluZyhBKXt0aGlzLiNlPUF9I3Q9KG5pKHRoaXMsbCksbmkodGhpcyxjLFtdKSk7Z2V0IGdyb3Vwcygpe3JldHVybiB0aGlzLiN0fXNldCBncm91cHMoQSl7dGhpcy4jdD1BfSNhPShuaSh0aGlzLHApLG5pKHRoaXMsbSxbXSkpO2dldCBzZWxlY3Rpb25PcHRpb25zKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNlbGVjdGlvbk9wdGlvbnMoQSl7dGhpcy4jYT1BfSNyPShuaSh0aGlzLHYpLG5pKHRoaXMsYixudWxsKSk7Z2V0IHNlbGVjdGVkSXRlbSgpe3JldHVybiB0aGlzLiNyfXNldCBzZWxlY3RlZEl0ZW0oQSl7dGhpcy4jcj1BfSNzPShuaSh0aGlzLGcpLG5pKHRoaXMsayxuZXcgU2V0KSk7Z2V0IGNvbGxhcHNlZEdyb3Vwcygpe3JldHVybiB0aGlzLiNzfXNldCBjb2xsYXBzZWRHcm91cHMoQSl7dGhpcy4jcz1BfSNpPShuaSh0aGlzLEMpLG5pKHRoaXMsXyxuZXcgU2V0KSk7Z2V0IGNvbGxhcHNlZE11bHRpRmlsdGVycygpe3JldHVybiB0aGlzLiNpfXNldCBjb2xsYXBzZWRNdWx0aUZpbHRlcnMoQSl7dGhpcy4jaT1BfSNvPShuaSh0aGlzLHopLG5pKHRoaXMsVCwwKSk7Z2V0IHJlbmRlckNvdW50ZXIoKXtyZXR1cm4gdGhpcy4jb31zZXQgcmVuZGVyQ291bnRlcihBKXt0aGlzLiNvPUF9I249KG5pKHRoaXMsRSksbmkodGhpcyxNLCExKSk7Z2V0IGNvbGxhcHNlZCgpe3JldHVybiB0aGlzLiNufXNldCBjb2xsYXBzZWQoQSl7dGhpcy4jbj1BfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgLS1zaWRlYmFyLXdpZHRoLWV4cGFuZGVkOiAyNDBweDsKICAgICAgICAtLXNpZGViYXItd2lkdGgtY29sbGFwc2VkOiA1NnB4OwogICAgICAgIC0tc2lkZWJhci1iZzogdmFyKC0tZGVlcy1jb2xvci1iZy1zZWNvbmRhcnkpOwogICAgICAgIC0tc2lkZWJhci1mZzogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgLS1zaWRlYmFyLWZnLW11dGVkOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIC0tc2lkZWJhci1mZy1hY3RpdmU6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICAtLXNpZGViYXItYm9yZGVyOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIC0tc2lkZWJhci1ob3ZlcjogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgLS1zaWRlYmFyLWFjdGl2ZTogdmFyKC0tZGVlcy1jb2xvci1hY3RpdmUpOwogICAgICAgIC0tc2lkZWJhci1hY2NlbnQ6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICAtLXRvb2x0aXAtYmc6IHZhcigtLWRlZXMtY29sb3ItdG9vbHRpcC1iZyk7CiAgICAgICAgLS10b29sdGlwLWZnOiB2YXIoLS1kZWVzLWNvbG9yLXRvb2x0aXAtZmcpOwoKICAgICAgICAvKiBCYWRnZSBjb2xvcnMgKi8KICAgICAgICAtLWJhZGdlLWRlZmF1bHQtYmc6IHZhcigtLWRlZXMtY29sb3ItYmFkZ2UtZGVmYXVsdC1iZyk7CiAgICAgICAgLS1iYWRnZS1kZWZhdWx0LWZnOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLWRlZmF1bHQtZmcpOwogICAgICAgIC0tYmFkZ2Utc3VjY2Vzcy1iZzogdmFyKC0tZGVlcy1jb2xvci1iYWRnZS1zdWNjZXNzLWJnKTsKICAgICAgICAtLWJhZGdlLXN1Y2Nlc3MtZmc6IHZhcigtLWRlZXMtY29sb3ItYmFkZ2Utc3VjY2Vzcy1mZyk7CiAgICAgICAgLS1iYWRnZS13YXJuaW5nLWJnOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLXdhcm5pbmctYmcpOwogICAgICAgIC0tYmFkZ2Utd2FybmluZy1mZzogdmFyKC0tZGVlcy1jb2xvci1iYWRnZS13YXJuaW5nLWZnKTsKICAgICAgICAtLWJhZGdlLWVycm9yLWJnOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLWVycm9yLWJnKTsKICAgICAgICAtLWJhZGdlLWVycm9yLWZnOiB2YXIoLS1kZWVzLWNvbG9yLWJhZGdlLWVycm9yLWZnKTsKCiAgICAgICAgLyogQWN0aW9uIGNvbG9ycyAqLwogICAgICAgIC0tYWN0aW9uLXByaW1hcnk6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzNiODJmNiIpfTsKICAgICAgICAtLWFjdGlvbi1wcmltYXJ5LWhvdmVyOiAke2guYmRUaGVtZSgiIzFkNGVkOCIsIiM2MGE1ZmEiKX07CiAgICAgICAgLS1hY3Rpb24tZGFuZ2VyOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgLS1hY3Rpb24tZGFuZ2VyLWhvdmVyOiAke2guYmRUaGVtZSgiI2I5MWMxYyIsIiNmODcxNzEiKX07CgogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IHZhcigtLXNpZGViYXItd2lkdGgtZXhwYW5kZWQpOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItYmcpOwogICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLXNpZGViYXItYm9yZGVyKTsKICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCAnSW50ZXInLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIHNhbnMtc2VyaWY7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgZWFzZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIHsKICAgICAgICB3aWR0aDogdmFyKC0tc2lkZWJhci13aWR0aC1jb2xsYXBzZWQpOwogICAgICB9CgogICAgICAubWFpbmNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLyogRmxvYXRpbmcgY29sbGFwc2UgdG9nZ2xlIGJ1dHRvbiAqLwogICAgICAuY29sbGFwc2UtdG9nZ2xlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IC0xMnB4OwogICAgICAgIHRvcDogMjRweDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgd2lkdGg6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXByaW1hcnkpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAuY29sbGFwc2UtdG9nZ2xlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXRlcnRpYXJ5KTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICA6aG9zdCg6aG92ZXIpIC5jb2xsYXBzZS10b2dnbGUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5jb2xsYXBzZS10b2dnbGUgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC8qIEhlYWRlciBTZWN0aW9uICovCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tc2lkZWJhci1ib3JkZXIpOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgLmhlYWRpbmcgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctYWN0aXZlKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UsIHdpZHRoIDAuMjVzIGVhc2U7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAuaGVhZGVyIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5oZWFkZXIgLmhlYWRpbmcgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgd2lkdGg6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLyogU2Nyb2xsYWJsZSBNZW51IFNlY3Rpb24gKi8KICAgICAgLm1lbnVTZWN0aW9uIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgICAgcGFkZGluZzogOHB4IDA7CiAgICAgIH0KCiAgICAgIC5tZW51U2VjdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgIH0KCiAgICAgIC5tZW51U2VjdGlvbjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICB9CgogICAgICAubWVudVNlY3Rpb246Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXNjcm9sbGJhci10aHVtYik7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAubWVudVNlY3Rpb246Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXNjcm9sbGJhci10aHVtYi1ob3Zlcik7CiAgICAgIH0KCiAgICAgIC8qIE1lbnUgR3JvdXAgKi8KICAgICAgLm1lbnVHcm91cCB7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1lbnVHcm91cCB7CiAgICAgICAgcGFkZGluZzogMCA0cHg7CiAgICAgIH0KCiAgICAgIC5ncm91cEhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgb3BhY2l0eSAwLjJzIGVhc2UsIG1heC1oZWlnaHQgMC4yNXMgZWFzZTsKICAgICAgICBtYXgtaGVpZ2h0OiA0MHB4OwogICAgICB9CgogICAgICAuZ3JvdXBIZWFkZXI6aG92ZXIgewogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJyZ2JhKDE0MCwgMTIwLCAxMDAsIDAuMDYpIiwicmdiYSgxODAsIDE2MCwgMTQwLCAwLjA4KSIpfTsKICAgICAgICBwYWRkaW5nOiA3cHggMTFweDsKICAgICAgfQoKICAgICAgLmdyb3VwSGVhZGVyOm5vdCguY29sbGFwc2VkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMTQwLCAxMjAsIDEwMCwgMC4wNikiLCJyZ2JhKDE4MCwgMTYwLCAxNDAsIDAuMDgpIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgfQoKICAgICAgLmdyb3VwSGVhZGVyIC5ncm91cFRpdGxlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC13YXJtKTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5ncm91cEhlYWRlciAuZ3JvdXBUaXRsZSBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXdhcm0pOwogICAgICB9CgogICAgICAuZ3JvdXBIZWFkZXIgLmNoZXZyb24gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtd2FybSk7CiAgICAgIH0KCiAgICAgIC5ncm91cEhlYWRlci5jb2xsYXBzZWQgLmNoZXZyb24gewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7CiAgICAgIH0KCiAgICAgIC8qIEhpZGUgZ3JvdXAgaGVhZGVycyB3aGVuIGhvcml6b250YWxseSBjb2xsYXBzZWQgKi8KICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5ncm91cEhlYWRlciB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBtYXgtaGVpZ2h0OiAwOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAvKiBHcm91cCBJdGVtcyBDb250YWluZXIgKi8KICAgICAgLmdyb3VwSXRlbXMgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjI1cyBlYXNlLCBvcGFjaXR5IDAuMnMgZWFzZSwgbWFyZ2luIDAuMjVzIGVhc2U7CiAgICAgICAgbWF4LWhlaWdodDogMTAwMHB4OwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQoKICAgICAgLmdyb3VwSXRlbXMuY29sbGFwc2VkIHsKICAgICAgICBtYXgtaGVpZ2h0OiAwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLyogQWx3YXlzIHNob3cgaXRlbXMgd2hlbiBob3Jpem9udGFsbHkgY29sbGFwc2VkIChyZWdhcmRsZXNzIG9mIGdyb3VwIGNvbGxhcHNlIHN0YXRlKSAqLwogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLmdyb3VwSXRlbXMgewogICAgICAgIG1heC1oZWlnaHQ6IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLyogTWVudSBJdGVtIEJhc2UgKi8KICAgICAgLm1lbnVJdGVtIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBtYXJnaW46IDJweCAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNDUwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmcpOwogICAgICB9CgogICAgICAubWVudUl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLWZnLWFjdGl2ZSk7CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbTphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItYWN0aXZlKTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlYmFyLWFjdGl2ZSk7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctYWN0aXZlKTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAubWVudUl0ZW0uc2VsZWN0ZWQ6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIHdpZHRoOiAzcHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItYWNjZW50KTsKICAgICAgICBib3JkZXItcmFkaXVzOiAwIDJweCAycHggMDsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLnNlbGVjdGVkIGRlZXMtaWNvbiB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtIC5pdGVtTGFiZWwgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB3aWR0aCAwLjI1cyBlYXNlOwogICAgICB9CgogICAgICAvKiBBY3Rpb24gSXRlbSBTdHlsZXMgKi8KICAgICAgLm1lbnVJdGVtLmFjdGlvbi1wcmltYXJ5IHsKICAgICAgICBjb2xvcjogdmFyKC0tYWN0aW9uLXByaW1hcnkpOwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aW9uLXByaW1hcnk6aG92ZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1hY3Rpb24tcHJpbWFyeS1ob3Zlcik7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMzcsIDk5LCAyMzUsIDAuMDgpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTIpIil9OwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aW9uLXByaW1hcnkgZGVlcy1pY29uIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aW9uLWRhbmdlciB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGlvbi1kYW5nZXIpOwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aW9uLWRhbmdlcjpob3ZlciB7CiAgICAgICAgY29sb3I6IHZhcigtLWFjdGlvbi1kYW5nZXItaG92ZXIpOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDIyMCwgMzgsIDM4LCAwLjA4KSIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMTIpIil9OwogICAgICB9CgogICAgICAubWVudUl0ZW0uYWN0aW9uLWRhbmdlciBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC8qIEZpbHRlciBJdGVtIFN0eWxlcyAqLwogICAgICAubWVudUl0ZW0uZmlsdGVyIHsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIH0KCiAgICAgIC5tZW51SXRlbS5maWx0ZXIgLmZpbHRlci1jaGVja2JveCB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDRkNGQ0IiwiIzUyNTI1MiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAubWVudUl0ZW0uZmlsdGVyIC5maWx0ZXItY2hlY2tib3guY2hlY2tlZCB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1hY2NlbnQpOwogICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc2lkZWJhci1hY2NlbnQpOwogICAgICB9CgogICAgICAubWVudUl0ZW0uZmlsdGVyIC5maWx0ZXItY2hlY2tib3ggZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzBhMGEwYSIpfTsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAubWVudUl0ZW0uZmlsdGVyLmFjdGl2ZSB7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctYWN0aXZlKTsKICAgICAgfQoKICAgICAgLyogTXVsdGktRmlsdGVyIENvbnRhaW5lciAqLwogICAgICAubXVsdGlGaWx0ZXIgewogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc2lkZWJhci1ib3JkZXIpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDIpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyKSIpfTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLWhlYWRlcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1ob3Zlcik7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1oZWFkZXIgLm11bHRpRmlsdGVyLXRpdGxlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctYWN0aXZlKTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLWhlYWRlciAubXVsdGlGaWx0ZXItdGl0bGUgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItaGVhZGVyIC5tdWx0aUZpbHRlci1jb3VudCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1zaWRlYmFyLWZnLW11dGVkKTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWRnZS1kZWZhdWx0LWJnKTsKICAgICAgICBwYWRkaW5nOiAycHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLWhlYWRlciAuY2hldnJvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctbXV0ZWQpOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItaGVhZGVyLmNvbGxhcHNlZCAuY2hldnJvbiB7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLW9wdGlvbnMgewogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1zaWRlYmFyLWJvcmRlcik7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuMjVzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4OwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1vcHRpb25zLmNvbGxhcHNlZCB7CiAgICAgICAgbWF4LWhlaWdodDogMDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGJvcmRlci10b3A6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1vcHRpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmcpOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItb3B0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlYmFyLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tc2lkZWJhci1mZy1hY3RpdmUpOwogICAgICB9CgogICAgICAubXVsdGlGaWx0ZXItb3B0aW9uIC5vcHRpb24tY2hlY2tib3ggewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAke2guYmRUaGVtZSgiI2Q0ZDRkNCIsIiM1MjUyNTIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLW9wdGlvbiAub3B0aW9uLWNoZWNrYm94LmNoZWNrZWQgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGViYXItYWNjZW50KTsKICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXNpZGViYXItYWNjZW50KTsKICAgICAgfQoKICAgICAgLm11bHRpRmlsdGVyLW9wdGlvbiAub3B0aW9uLWNoZWNrYm94IGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgIH0KCiAgICAgIC5tdWx0aUZpbHRlci1vcHRpb24gZGVlcy1pY29uLm9wdGlvbi1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAvKiBEaXZpZGVyICovCiAgICAgIC5tZW51RGl2aWRlciB7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1ib3JkZXIpOwogICAgICAgIG1hcmdpbjogOHB4IDEycHg7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubWVudURpdmlkZXIgewogICAgICAgIG1hcmdpbjogOHB4IDRweDsKICAgICAgfQoKICAgICAgLyogSGVhZGVyL0xhYmVsICovCiAgICAgIC5tZW51SGVhZGVyIHsKICAgICAgICBwYWRkaW5nOiAxMnB4IDEycHggNHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6IHZhcigtLXNpZGViYXItZmctbXV0ZWQpOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1lbnVIZWFkZXIgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIExpbmsgSXRlbSAqLwogICAgICAubWVudUl0ZW0ubGluayAuZXh0ZXJuYWwtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgfQoKICAgICAgLyogQ29sbGFwc2VkIG1lbnUgaXRlbSBzdHlsZXMgKi8KICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51SXRlbSB7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIGdhcDogMDsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51SXRlbSAuaXRlbUxhYmVsIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5tZW51SXRlbS5zZWxlY3RlZDo6YmVmb3JlIHsKICAgICAgICBsZWZ0OiAtNHB4OwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgLm1lbnVJdGVtIC5maWx0ZXItY2hlY2tib3gsCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubWVudUl0ZW0gLmV4dGVybmFsLWljb24gewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubXVsdGlGaWx0ZXIgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC8qIFRvb2x0aXAgZm9yIGNvbGxhcHNlZCBzdGF0ZSAqLwogICAgICAuaXRlbS10b29sdGlwIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMTAwJTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDEycHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tdG9vbHRpcC1iZyk7CiAgICAgICAgY29sb3I6IHZhcigtLXRvb2x0aXAtZmcpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlOwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgIH0KCiAgICAgIC5pdGVtLXRvb2x0aXA6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IC00cHg7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdmFyKC0tdG9vbHRpcC1iZyk7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzZWRdKSAubWVudUl0ZW06aG92ZXIgLml0ZW0tdG9vbHRpcCB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2l0aW9uLWRlbGF5OiAxczsKICAgICAgfQoKICAgICAgLyogQmFkZ2UgU3R5bGVzICovCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBtaW4td2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIHBhZGRpbmc6IDAgNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDlweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmJhZGdlLmRlZmF1bHQgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJhZGdlLWRlZmF1bHQtYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1iYWRnZS1kZWZhdWx0LWZnKTsKICAgICAgfQoKICAgICAgLmJhZGdlLnN1Y2Nlc3MgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJhZGdlLXN1Y2Nlc3MtYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1iYWRnZS1zdWNjZXNzLWZnKTsKICAgICAgfQoKICAgICAgLmJhZGdlLndhcm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJhZGdlLXdhcm5pbmctYmcpOwogICAgICAgIGNvbG9yOiB2YXIoLS1iYWRnZS13YXJuaW5nLWZnKTsKICAgICAgfQoKICAgICAgLmJhZGdlLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iYWRnZS1lcnJvci1iZyk7CiAgICAgICAgY29sb3I6IHZhcigtLWJhZGdlLWVycm9yLWZnKTsKICAgICAgfQoKICAgICAgOmhvc3QoW2NvbGxhcHNlZF0pIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQoKICAgICAgLyogTGVnYWN5IG9wdGlvbnMgY29udGFpbmVyICovCiAgICAgIC5sZWdhY3lPcHRpb25zIHsKICAgICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgfQoKICAgICAgLyogRGl2aWRlciAobGVnYWN5KSAqLwogICAgICAuZGl2aWRlciB7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZWJhci1ib3JkZXIpOwogICAgICAgIG1hcmdpbjogOHB4IDEycHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtYWluY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImhlYWRpbmciPiR7dGhpcy5oZWFkaW5nfTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtZW51U2VjdGlvbiI+CiAgICAgICAgICAke3RoaXMuZ3JvdXBzLmxlbmd0aD4wP3RoaXMucmVuZGVyR3JvdXBzKCk6dGhpcy5yZW5kZXJMZWdhY3lPcHRpb25zKCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8YnV0dG9uIGNsYXNzPSJjb2xsYXBzZS10b2dnbGUiIEBjbGljaz0iJHsoKT0+dGhpcy50b2dnbGVDb2xsYXBzZSgpfSI+CiAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHt0aGlzLmNvbGxhcHNlZD8ibHVjaWRlOmNoZXZyb25SaWdodCI6Imx1Y2lkZTpjaGV2cm9uTGVmdCJ9Ij48L2RlZXMtaWNvbj4KICAgICAgPC9idXR0b24+CiAgICBgfXJlbmRlckdyb3Vwcygpe3JldHVybiB3YAogICAgICAke3RoaXMuZ3JvdXBzLm1hcChBPT53YAogICAgICAgIDxkaXYgY2xhc3M9Im1lbnVHcm91cCI+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIGNsYXNzPSJncm91cEhlYWRlciAke3RoaXMuY29sbGFwc2VkR3JvdXBzLmhhcyhBLm5hbWUpPyJjb2xsYXBzZWQiOiIifSIKICAgICAgICAgICAgQGNsaWNrPSIkeygpPT50aGlzLnRvZ2dsZUdyb3VwKEEubmFtZSl9IgogICAgICAgICAgPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iZ3JvdXBUaXRsZSI+CiAgICAgICAgICAgICAgJHtBLmljb25OYW1lP3dgPGRlZXMtaWNvbiAuaWNvbj0iJHt0aGlzLm5vcm1hbGl6ZUljb24oQS5pY29uTmFtZSl9Ij48L2RlZXMtaWNvbj5gOiIifQogICAgICAgICAgICAgICR7QS5uYW1lfQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDxkZWVzLWljb24gY2xhc3M9ImNoZXZyb24iIC5pY29uPSIkeyJsdWNpZGU6Y2hldnJvbkRvd24ifSI+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Imdyb3VwSXRlbXMgJHt0aGlzLmNvbGxhcHNlZEdyb3Vwcy5oYXMoQS5uYW1lKT8iY29sbGFwc2VkIjoiIn0iPgogICAgICAgICAgICAke0EuaXRlbXMubWFwKEY9PnRoaXMucmVuZGVySXRlbShGLEEpKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgKX0KICAgIGB9cmVuZGVySXRlbShBLEYpe2lmKCJoaWRkZW4iaW4gQSYmQS5oaWRkZW4pcmV0dXJuIHdgYDtzd2l0Y2goInR5cGUiaW4gQT9BLnR5cGU6InRhYiIpe2Nhc2UiYWN0aW9uIjpyZXR1cm4gdGhpcy5yZW5kZXJBY3Rpb25JdGVtKEEpO2Nhc2UiZmlsdGVyIjpyZXR1cm4gdGhpcy5yZW5kZXJGaWx0ZXJJdGVtKEEpO2Nhc2UibXVsdGlGaWx0ZXIiOnJldHVybiB0aGlzLnJlbmRlck11bHRpRmlsdGVySXRlbShBKTtjYXNlImRpdmlkZXIiOnJldHVybiB0aGlzLnJlbmRlckRpdmlkZXIoKTtjYXNlImhlYWRlciI6cmV0dXJuIHRoaXMucmVuZGVySGVhZGVyKEEpO2Nhc2UibGluayI6cmV0dXJuIHRoaXMucmVuZGVyTGlua0l0ZW0oQSk7ZGVmYXVsdDpyZXR1cm4gdGhpcy5yZW5kZXJUYWJJdGVtKEEsRil9fXJlbmRlclRhYkl0ZW0oQSxGKXtsZXQgVz10aGlzLnNlbGVjdGVkSXRlbT8ua2V5PT09QS5rZXksaj1BLmRpc2FibGVkPT09ITA7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0ibWVudUl0ZW0gJHtXPyJzZWxlY3RlZCI6IiJ9ICR7aj8iZGlzYWJsZWQiOiIifSIKICAgICAgICBAY2xpY2s9IiR7KCk9PiFqJiZ0aGlzLnNlbGVjdFRhYkl0ZW0oQSxGKX0iCiAgICAgICAgQGNvbnRleHRtZW51PSIke0c9PnRoaXMuaGFuZGxlQ29udGV4dE1lbnUoRyxBKX0iCiAgICAgID4KICAgICAgICAke0EuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMubm9ybWFsaXplSWNvbihBLmljb25OYW1lKX0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW1MYWJlbCI+JHtBLmtleX08L3NwYW4+CiAgICAgICAgJHtBLmJhZGdlIT09dm9pZCAwP3dgCiAgICAgICAgICA8c3BhbiBjbGFzcz0iYmFkZ2UgJHtBLmJhZGdlVmFyaWFudHx8ImRlZmF1bHQifSI+JHtBLmJhZGdlfTwvc3Bhbj4KICAgICAgICBgOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXRvb2x0aXAiPiR7QS5rZXl9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyQWN0aW9uSXRlbShBKXtsZXQgRj1BLnZhcmlhbnR8fCJwcmltYXJ5IixXPUEuZGlzYWJsZWQ9PT0hMDtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJtZW51SXRlbSBhY3Rpb24tJHtGfSAke1c/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgQGNsaWNrPSIkeygpPT4hVyYmdGhpcy5oYW5kbGVBY3Rpb25DbGljayhBKX0iCiAgICAgID4KICAgICAgICAke0EuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMubm9ybWFsaXplSWNvbihBLmljb25OYW1lKX0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW1MYWJlbCI+JHtBLmtleX08L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW0tdG9vbHRpcCI+JHtBLmtleX08L3NwYW4+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJGaWx0ZXJJdGVtKEEpe2xldCBGPUEuZGlzYWJsZWQ9PT0hMDtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJtZW51SXRlbSBmaWx0ZXIgJHtBLmFjdGl2ZT8iYWN0aXZlIjoiIn0gJHtGPyJkaXNhYmxlZCI6IiJ9IgogICAgICAgIEBjbGljaz0iJHsoKT0+IUYmJnRoaXMuaGFuZGxlRmlsdGVyVG9nZ2xlKEEpfSIKICAgICAgPgogICAgICAgICR7QS5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249IiR7dGhpcy5ub3JtYWxpemVJY29uKEEuaWNvbk5hbWUpfSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbUxhYmVsIj4ke0Eua2V5fTwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWx0ZXItY2hlY2tib3ggJHtBLmFjdGl2ZT8iY2hlY2tlZCI6IiJ9Ij4KICAgICAgICAgICR7QS5hY3RpdmU/d2A8ZGVlcy1pY29uIC5pY29uPSIkeyJsdWNpZGU6Y2hlY2sifSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS10b29sdGlwIj4ke0Eua2V5fTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlck11bHRpRmlsdGVySXRlbShBKXtsZXQgRj10aGlzLmNvbGxhcHNlZE11bHRpRmlsdGVycy5oYXMoQS5rZXkpLFc9QS5vcHRpb25zLmZpbHRlcihqPT5qLmNoZWNrZWQpLmxlbmd0aDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibXVsdGlGaWx0ZXIiPgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJtdWx0aUZpbHRlci1oZWFkZXIgJHtGPyJjb2xsYXBzZWQiOiIifSIKICAgICAgICAgIEBjbGljaz0iJHsoKT0+dGhpcy50b2dnbGVNdWx0aUZpbHRlcihBLmtleSl9IgogICAgICAgID4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJtdWx0aUZpbHRlci10aXRsZSI+CiAgICAgICAgICAgICR7QS5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249IiR7dGhpcy5ub3JtYWxpemVJY29uKEEuaWNvbk5hbWUpfSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgJHtBLmtleX0KICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICR7Vz4wP3dgPHNwYW4gY2xhc3M9Im11bHRpRmlsdGVyLWNvdW50Ij4ke1d9PC9zcGFuPmA6IiJ9CiAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJjaGV2cm9uIiAuaWNvbj0iJHsibHVjaWRlOmNoZXZyb25Eb3duIn0iPjwvZGVlcy1pY29uPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im11bHRpRmlsdGVyLW9wdGlvbnMgJHtGPyJjb2xsYXBzZWQiOiIifSI+CiAgICAgICAgICAke0Eub3B0aW9ucy5tYXAoaj0+d2AKICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgIGNsYXNzPSJtdWx0aUZpbHRlci1vcHRpb24iCiAgICAgICAgICAgICAgQGNsaWNrPSIkeygpPT50aGlzLmhhbmRsZU11bHRpRmlsdGVyT3B0aW9uVG9nZ2xlKEEsai5rZXkpfSIKICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im9wdGlvbi1jaGVja2JveCAke2ouY2hlY2tlZD8iY2hlY2tlZCI6IiJ9Ij4KICAgICAgICAgICAgICAgICR7ai5jaGVja2VkP3dgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOmNoZWNrIn0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgJHtqLmljb25OYW1lP3dgPGRlZXMtaWNvbiBjbGFzcz0ib3B0aW9uLWljb24iIC5pY29uPSIke3RoaXMubm9ybWFsaXplSWNvbihqLmljb25OYW1lKX0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICAgPHNwYW4+JHtqLmxhYmVsfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckRpdmlkZXIoKXtyZXR1cm4gd2A8ZGl2IGNsYXNzPSJtZW51RGl2aWRlciI+PC9kaXY+YH1yZW5kZXJIZWFkZXIoQSl7cmV0dXJuIHdgPGRpdiBjbGFzcz0ibWVudUhlYWRlciI+JHtBLmxhYmVsfTwvZGl2PmB9cmVuZGVyTGlua0l0ZW0oQSl7bGV0IEY9QS5leHRlcm5hbD8/QS5ocmVmLnN0YXJ0c1dpdGgoImh0dHAiKSxXPUEuZGlzYWJsZWQ9PT0hMDtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJtZW51SXRlbSBsaW5rICR7Vz8iZGlzYWJsZWQiOiIifSIKICAgICAgICBAY2xpY2s9IiR7KCk9PiFXJiZ0aGlzLmhhbmRsZUxpbmtDbGljayhBKX0iCiAgICAgID4KICAgICAgICAke0EuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMubm9ybWFsaXplSWNvbihBLmljb25OYW1lKX0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9Iml0ZW1MYWJlbCI+JHtBLmtleX08L3NwYW4+CiAgICAgICAgJHtGP3dgPGRlZXMtaWNvbiBjbGFzcz0iZXh0ZXJuYWwtaWNvbiIgLmljb249IiR7Imx1Y2lkZTpleHRlcm5hbExpbmsifSI+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS10b29sdGlwIj4ke0Eua2V5fTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckxlZ2FjeU9wdGlvbnMoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibGVnYWN5T3B0aW9ucyI+CiAgICAgICAgJHt0aGlzLnNlbGVjdGlvbk9wdGlvbnMubWFwKEE9PntpZigiZGl2aWRlciJpbiBBJiZBLmRpdmlkZXIpcmV0dXJuIHdgPGRpdiBjbGFzcz0iZGl2aWRlciI+PC9kaXY+YDtsZXQgRj1BLFc9e2tleTpGLmtleSxpY29uTmFtZTpGLmljb25OYW1lLGFjdGlvbjpGLmFjdGlvbixiYWRnZTpGLmJhZGdlLGJhZGdlVmFyaWFudDpGLmJhZGdlVmFyaWFudH07cmV0dXJuIHRoaXMucmVuZGVyVGFiSXRlbShXKX0pfQogICAgICA8L2Rpdj4KICAgIGB9bm9ybWFsaXplSWNvbihBKXtyZXR1cm4gQS5zdGFydHNXaXRoKCJsdWNpZGU6Iik/QTpgbHVjaWRlOiR7QX1gfXRvZ2dsZUdyb3VwKEEpe2xldCBGPW5ldyBTZXQodGhpcy5jb2xsYXBzZWRHcm91cHMpO0YuaGFzKEEpP0YuZGVsZXRlKEEpOkYuYWRkKEEpLHRoaXMuY29sbGFwc2VkR3JvdXBzPUZ9dG9nZ2xlTXVsdGlGaWx0ZXIoQSl7bGV0IEY9bmV3IFNldCh0aGlzLmNvbGxhcHNlZE11bHRpRmlsdGVycyk7Ri5oYXMoQSk/Ri5kZWxldGUoQSk6Ri5hZGQoQSksdGhpcy5jb2xsYXBzZWRNdWx0aUZpbHRlcnM9Rn10b2dnbGVDb2xsYXBzZSgpe3RoaXMuY29sbGFwc2VkPSF0aGlzLmNvbGxhcHNlZCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb2xsYXBzZS1jaGFuZ2UiLHtkZXRhaWw6e2NvbGxhcHNlZDp0aGlzLmNvbGxhcHNlZH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1zZWxlY3RUYWJJdGVtKEEsRil7dGhpcy5zZWxlY3RlZEl0ZW09QSxBLmFjdGlvbigpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIml0ZW0tc2VsZWN0Iix7ZGV0YWlsOntpdGVtOkEsZ3JvdXA6Rn0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1hc3luYyBoYW5kbGVBY3Rpb25DbGljayhBKXtBLmNvbmZpcm1NZXNzYWdlJiYhd2luZG93LmNvbmZpcm0oQS5jb25maXJtTWVzc2FnZSl8fChhd2FpdCBBLmFjdGlvbigpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFjdGlvbi1jbGljayIse2RldGFpbDp7aXRlbTpBfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX1oYW5kbGVGaWx0ZXJUb2dnbGUoQSl7bGV0IEY9IUEuYWN0aXZlO0EuYWN0aXZlPUYsQS5vblRvZ2dsZShGKSx0aGlzLnJlbmRlckNvdW50ZXIrKyx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJmaWx0ZXItdG9nZ2xlIix7ZGV0YWlsOntpdGVtOkEsYWN0aXZlOkZ9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlTXVsdGlGaWx0ZXJPcHRpb25Ub2dnbGUoQSxGKXtsZXQgVz1BLm9wdGlvbnMuZmluZChHPT5HLmtleT09PUYpO1cmJihXLmNoZWNrZWQ9IVcuY2hlY2tlZCk7bGV0IGo9QS5vcHRpb25zLmZpbHRlcihHPT5HLmNoZWNrZWQpLm1hcChHPT5HLmtleSk7QS5vbkNoYW5nZShqKSx0aGlzLnJlbmRlckNvdW50ZXIrKyx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJtdWx0aWZpbHRlci1jaGFuZ2UiLHtkZXRhaWw6e2l0ZW06QSxzZWxlY3RlZEtleXM6an0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVMaW5rQ2xpY2soQSl7QS5leHRlcm5hbD8/QS5ocmVmLnN0YXJ0c1dpdGgoImh0dHAiKT93aW5kb3cub3BlbihBLmhyZWYsIl9ibGFuayIsIm5vb3BlbmVyLG5vcmVmZXJyZXIiKTp3aW5kb3cubG9jYXRpb24uaHJlZj1BLmhyZWYsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibGluay1jbGljayIse2RldGFpbDp7aXRlbTpBfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUNvbnRleHRNZW51KEEsRil7ZWEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoQSxbe25hbWU6IlZpZXcgZGV0YWlscyIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLGljb25OYW1lOiJsdWNpZGU6ZXllIn0se25hbWU6IkVkaXQiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxpY29uTmFtZToibHVjaWRlOnBlbmNpbCJ9XSl9YXN5bmMgZmlyc3RVcGRhdGVkKEEpe2lmKGF3YWl0IHN1cGVyLmZpcnN0VXBkYXRlZChBKSx0aGlzLmdyb3Vwcy5sZW5ndGg+MCl7bGV0IEY9bmV3IFNldCxXPW5ldyBTZXQ7aWYodGhpcy5ncm91cHMuZm9yRWFjaChqPT57ai5jb2xsYXBzZWQmJkYuYWRkKGoubmFtZSksai5pdGVtcy5mb3JFYWNoKEc9PntpZigidHlwZSJpbiBHJiZHLnR5cGU9PT0ibXVsdGlGaWx0ZXIiKXtsZXQgaGU9RztoZS5jb2xsYXBzZWQmJlcuYWRkKGhlLmtleSl9fSl9KSx0aGlzLmNvbGxhcHNlZEdyb3Vwcz1GLHRoaXMuY29sbGFwc2VkTXVsdGlGaWx0ZXJzPVcsIXRoaXMuc2VsZWN0ZWRJdGVtKWZvcihsZXQgaiBvZiB0aGlzLmdyb3Vwcylmb3IobGV0IEcgb2Ygai5pdGVtcyl7bGV0IGhlPSJ0eXBlImluIEc/Ry50eXBlOiJ0YWIiO2lmKGhlPT09InRhYiJ8fGhlPT09dm9pZCAwKXtsZXQgUj1HO2lmKCFSLmRpc2FibGVkKXt0aGlzLnNlbGVjdFRhYkl0ZW0oUixqKTtyZXR1cm59fX19ZWxzZSBpZih0aGlzLnNlbGVjdGlvbk9wdGlvbnMubGVuZ3RoPjApe2xldCBGPXRoaXMuc2VsZWN0aW9uT3B0aW9ucy5maW5kKFc9PiEoImRpdmlkZXIiaW4gVykpO2lmKEYmJiF0aGlzLnNlbGVjdGVkSXRlbSl7bGV0IFc9e2tleTpGLmtleSxpY29uTmFtZTpGLmljb25OYW1lLGFjdGlvbjpGLmFjdGlvbn07dGhpcy5zZWxlY3RUYWJJdGVtKFcpfX19Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLG5pKHRoaXMsUyl9c3RhdGlje25pKHIsdCl9fTtyZXR1cm4gUD1yfSkoKX0pO3ZhciBwNSxGbixGS2ksQktpLElsYSxObGE9ZigoKT0+e2xlKCk7bzQoKTtwNT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sRm49ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEZLaT0oKCk9PntsZXQgYT1baWUoImRlbW8tY2xvc2VhYmxlLXRhYnMiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVtb0Nsb3NlYWJsZVRhYnMiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVtLKCldLGQ9W0soKV0scDUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJ0YWJzImluIHYsImhhcyIpLGdldDpzKHY9PnYudGFicywiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnRhYnM9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLHA1KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFiQ291bnRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4idGFiQ291bnRlciJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LnRhYkNvdW50ZXIsImdldCIpLHNldDpzKCh2LHgpPT57di50YWJDb3VudGVyPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxwNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfSNlPUZuKHRoaXMsbixbe2tleToiTWFpbiIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIk1haW4gY2xpY2tlZCIpLCJhY3Rpb24iKX1dKTtnZXQgdGFicygpe3JldHVybiB0aGlzLiNlfXNldCB0YWJzKG0pe3RoaXMuI2U9bX0jdD0oRm4odGhpcyxsKSxGbih0aGlzLGMsMCkpO2dldCB0YWJDb3VudGVyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHRhYkNvdW50ZXIobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W1FgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQogICAgICAuaW5mbyB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4wMikiLCJyZ2JhKDI1NSwyNTUsMjU1LDAuMDIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07YWRkVGFiKCl7dGhpcy50YWJDb3VudGVyKys7bGV0IG09YERvY3VtZW50ICR7dGhpcy50YWJDb3VudGVyfWA7dGhpcy50YWJzPVsuLi50aGlzLnRhYnMse2tleTptLGljb25OYW1lOiJsdWNpZGU6ZmlsZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKGAke219IGNsaWNrZWRgKSwiYWN0aW9uIiksY2xvc2VhYmxlOiEwLG9uQ2xvc2U6cygoKT0+dGhpcy5yZW1vdmVUYWIobSksIm9uQ2xvc2UiKX1dfXJlbW92ZVRhYihtKXt0aGlzLnRhYnM9dGhpcy50YWJzLmZpbHRlcih2PT52LmtleSE9PW0pfWNsZWFyQWxsKCl7dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYXBwdWktdGFicyIpPy5jbGVhcigpLHRoaXMudGFicz1bXSx0aGlzLnRhYkNvdW50ZXI9MH1yZW5kZXIoKXtsZXQgbT1be2lkOiJhZGQiLGljb25OYW1lOiJsdWNpZGU6cGx1cyIsYWN0aW9uOnMoKCk9PnRoaXMuYWRkVGFiKCksImFjdGlvbiIpLHRvb2x0aXA6Ik5ldyBUYWIifSx7aWQ6ImNsZWFyIixpY29uTmFtZToibHVjaWRlOnRyYXNoMiIsYWN0aW9uOnMoKCk9PnRoaXMuY2xlYXJBbGwoKSwiYWN0aW9uIiksdG9vbHRpcDoiQ2xlYXIgQWxsIFRhYnMifV07cmV0dXJuIHdgCiAgICAgIDxkZWVzLWFwcHVpLXRhYnMKICAgICAgICAudGFicz0ke3RoaXMudGFic30KICAgICAgICAuYWN0aW9uc1JpZ2h0PSR7bX0KICAgICAgICBAdGFiLWNsb3NlPSR7dj0+dGhpcy5yZW1vdmVUYWIodi5kZXRhaWwudGFiLmtleSl9CiAgICAgID48L2RlZXMtYXBwdWktdGFicz4KICAgICAgPGRpdiBjbGFzcz0iaW5mbyI+CiAgICAgICAgQ2xpY2sgdGhlIFggYnV0dG9uIG9uIHRhYnMgdG8gY2xvc2UgdGhlbS4gVXNlIHRoZSArIGJ1dHRvbiB0byBhZGQgdGFicyBhbmQgdGhlIHRyYXNoIGJ1dHRvbiB0byBjbGVhciBhbGwuCiAgICAgICAgPGJyPkN1cnJlbnQgdGFiczogJHt0aGlzLnRhYnMubGVuZ3RofQogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLEZuKHRoaXMscCl9c3RhdGlje0ZuKHIsdCl9fTtyZXR1cm4gdT1yfSkoKSxCS2k9KCgpPT57bGV0IGE9W2llKCJkZW1vLWF1dG9oaWRlLXRhYnMiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVtb0F1dG9IaWRlVGFicyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSx1PVtLKCldLHA1KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4idGFicyJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnRhYnMsImdldCIpLHNldDpzKChnLHkpPT57Zy50YWJzPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbixsKSxwNSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9IaWRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJhdXRvSGlkZSJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmF1dG9IaWRlLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuYXV0b0hpZGU9eX0sInNldCIpfSxtZXRhZGF0YTpifSxjLHApLHA1KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGhyZXNob2xkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJ0aHJlc2hvbGQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy50aHJlc2hvbGQsImdldCIpLHNldDpzKChnLHkpPT57Zy50aHJlc2hvbGQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLHA1KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmJ9LG51bGwsdCkseD1yPWUudmFsdWUsYiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpifSl9I2U9Rm4odGhpcyxuLFt7a2V5OiJUYWIgMSIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlRhYiAxIiksImFjdGlvbiIpfSx7a2V5OiJUYWIgMiIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlRhYiAyIiksImFjdGlvbiIpfV0pO2dldCB0YWJzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRhYnMoYil7dGhpcy4jZT1ifSN0PShGbih0aGlzLGwpLEZuKHRoaXMsYywhMCkpO2dldCBhdXRvSGlkZSgpe3JldHVybiB0aGlzLiN0fXNldCBhdXRvSGlkZShiKXt0aGlzLiN0PWJ9I2E9KEZuKHRoaXMscCksRm4odGhpcyxtLDEpKTtnZXQgdGhyZXNob2xkKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHRocmVzaG9sZChiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1bUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CiAgICAgIC50YWJzLWNvbnRhaW5lciB7CiAgICAgICAgbWluLWhlaWdodDogNjBweDsKICAgICAgICBib3JkZXI6IDFweCBkYXNoZWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KICAgICAgLnRhYnMtY29udGFpbmVyIGRlZXMtYXBwdWktdGFicyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgICAgLnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNzE3MTdhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIH0KICAgICAgLmNvbnRyb2xzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICB9CiAgICAgIGJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMykiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICBwYWRkaW5nOiA4cHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQogICAgICBidXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICB9CiAgICAgIGJ1dHRvbi5kYW5nZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjEpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4zKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZjg3MTcxIil9OwogICAgICB9CiAgICAgIGJ1dHRvbi5kYW5nZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgfQogICAgICAuaW5mbyB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4wMikiLCJyZ2JhKDI1NSwyNTUsMjU1LDAuMDIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07dGFiQ291bnRlcj0oRm4odGhpcyx2KSwyKTthZGRUYWIoKXt0aGlzLnRhYkNvdW50ZXIrKyx0aGlzLnRhYnM9Wy4uLnRoaXMudGFicyx7a2V5OmBUYWIgJHt0aGlzLnRhYkNvdW50ZXJ9YCxpY29uTmFtZToibHVjaWRlOmZpbGUiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZyhgVGFiICR7dGhpcy50YWJDb3VudGVyfWApLCJhY3Rpb24iKX1dfXJlbW92ZUxhc3RUYWIoKXt0aGlzLnRhYnMubGVuZ3RoPjAmJih0aGlzLnRhYnM9dGhpcy50YWJzLnNsaWNlKDAsLTEpKX1jbGVhclRhYnMoKXt0aGlzLnRhYnM9W119cmVuZGVyKCl7bGV0IGI9dGhpcy5hdXRvSGlkZSYmdGhpcy50YWJzLmxlbmd0aDw9dGhpcy50aHJlc2hvbGQ7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InRhYnMtY29udGFpbmVyIj4KICAgICAgICAke2I/d2A8c3BhbiBjbGFzcz0icGxhY2Vob2xkZXIiPlRhYnMgaGlkZGVuICgke3RoaXMudGFicy5sZW5ndGh9IHRhYnMg4omkIHRocmVzaG9sZCAke3RoaXMudGhyZXNob2xkfSk8L3NwYW4+YDp3YDxkZWVzLWFwcHVpLXRhYnMKICAgICAgICAgICAgICAudGFicz0ke3RoaXMudGFic30KICAgICAgICAgICAgICAuYXV0b0hpZGU9JHt0aGlzLmF1dG9IaWRlfQogICAgICAgICAgICAgIC5hdXRvSGlkZVRocmVzaG9sZD0ke3RoaXMudGhyZXNob2xkfQogICAgICAgICAgICA+PC9kZWVzLWFwcHVpLXRhYnM+YH0KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICA8YnV0dG9uIEBjbGljaz0keygpPT50aGlzLmFkZFRhYigpfT4rIEFkZCBUYWI8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJkYW5nZXIiIEBjbGljaz0keygpPT50aGlzLnJlbW92ZUxhc3RUYWIoKX0+LSBSZW1vdmUgVGFiPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGFuZ2VyIiBAY2xpY2s9JHsoKT0+dGhpcy5jbGVhclRhYnMoKX0+Q2xlYXIgQWxsPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBAY2xpY2s9JHsoKT0+e3RoaXMudGhyZXNob2xkPTB9fT5UaHJlc2hvbGQ6IDA8L2J1dHRvbj4KICAgICAgICA8YnV0dG9uIEBjbGljaz0keygpPT57dGhpcy50aHJlc2hvbGQ9MX19PlRocmVzaG9sZDogMTwvYnV0dG9uPgogICAgICAgIDxidXR0b24gQGNsaWNrPSR7KCk9Pnt0aGlzLnRocmVzaG9sZD0yfX0+VGhyZXNob2xkOiAyPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpbmZvIj4KICAgICAgICBBdXRvLWhpZGU6ICR7dGhpcy5hdXRvSGlkZT8iT04iOiJPRkYifSB8IFRocmVzaG9sZDogJHt0aGlzLnRocmVzaG9sZH0gfCBUYWJzOiAke3RoaXMudGFicy5sZW5ndGh9CiAgICAgICAgPGJyPlRhYnMgd2lsbCBoaWRlIHdoZW4gY291bnQg4omkIHRocmVzaG9sZC4KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpY3tGbihyLHQpfX07cmV0dXJuIHg9cn0pKCksSWxhPXMoKCk9PntsZXQgYT1be2tleToiSG9tZSIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkhvbWUgY2xpY2tlZCIpLCJhY3Rpb24iKX0se2tleToiQW5hbHl0aWNzIERhc2hib2FyZCIsaWNvbk5hbWU6Imx1Y2lkZTpsaW5lQ2hhcnQiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiQW5hbHl0aWNzIGNsaWNrZWQiKSwiYWN0aW9uIil9LHtrZXk6IlJlcG9ydHMiLGljb25OYW1lOiJsdWNpZGU6ZmlsZVRleHQiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiUmVwb3J0cyBjbGlja2VkIiksImFjdGlvbiIpfSx7a2V5OiJVc2VyIFNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOnNldHRpbmdzIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlNldHRpbmdzIGNsaWNrZWQiKSwiYWN0aW9uIil9LHtrZXk6IkhlbHAiLGljb25OYW1lOiJsdWNpZGU6aGVscENpcmNsZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJIZWxwIGNsaWNrZWQiKSwiYWN0aW9uIil9XSxlPVt7a2V5OiJQcm9maWxlIixpY29uTmFtZToibHVjaWRlOnVzZXIiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiUHJvZmlsZSBjbGlja2VkIiksImFjdGlvbiIpfSx7a2V5OiJTZWN1cml0eSIsaWNvbk5hbWU6Imx1Y2lkZTpzaGllbGQiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiU2VjdXJpdHkgY2xpY2tlZCIpLCJhY3Rpb24iKX0se2tleToiTm90aWZpY2F0aW9ucyIsaWNvbk5hbWU6Imx1Y2lkZTpiZWxsIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIk5vdGlmaWNhdGlvbnMgY2xpY2tlZCIpLCJhY3Rpb24iKX0se2tleToiSW50ZWdyYXRpb25zIixpY29uTmFtZToibHVjaWRlOmxpbmsiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiSW50ZWdyYXRpb25zIGNsaWNrZWQiKSwiYWN0aW9uIil9LHtrZXk6IkFkdmFuY2VkIixpY29uTmFtZToibHVjaWRlOmNvZGUiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiQWR2YW5jZWQgY2xpY2tlZCIpLCJhY3Rpb24iKX1dLHQ9W3trZXk6IkFsbCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJBbGwgY2xpY2tlZCIpLCJhY3Rpb24iKX0se2tleToiQWN0aXZlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkFjdGl2ZSBjbGlja2VkIiksImFjdGlvbiIpfSx7a2V5OiJDb21wbGV0ZWQiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiQ29tcGxldGVkIGNsaWNrZWQiKSwiYWN0aW9uIil9LHtrZXk6IkFyY2hpdmVkIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkFyY2hpdmVkIGNsaWNrZWQiKSwiYWN0aW9uIil9XSxyPVt7aWQ6ImJhY2siLGljb25OYW1lOiJsdWNpZGU6YXJyb3dMZWZ0IixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkJhY2siKSwiYWN0aW9uIiksdG9vbHRpcDoiR28gQmFjayJ9XSxpPVt7aWQ6ImFkZCIsaWNvbk5hbWU6Imx1Y2lkZTpwbHVzIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkFkZCB0YWIiKSwiYWN0aW9uIiksdG9vbHRpcDoiTmV3IFRhYiJ9LHtpZDoic2VhcmNoIixpY29uTmFtZToibHVjaWRlOnNlYXJjaCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJTZWFyY2giKSwiYWN0aW9uIiksdG9vbHRpcDoiU2VhcmNoIFRhYnMifSx7aWQ6ImRpc2FibGVkIixpY29uTmFtZToibHVjaWRlOmxvY2siLGFjdGlvbjpzKCgpPT57fSwiYWN0aW9uIiksdG9vbHRpcDoiRGlzYWJsZWQgQWN0aW9uIixkaXNhYmxlZDohMH1dLG89cyhuPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsiPgogICAgICAke259CiAgICA8L2Rpdj4KICBgLCJkZW1vQ29udGVudCIpO3JldHVybiB3YAogICAgPHN0eWxlPgogICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDMycHg7CiAgICAgICAgcGFkZGluZzogNDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50d28tY29sdW1uIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjAwcHggMWZyOwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkhvcml6b250YWwgVGFicyB3aXRoIEFuaW1hdGVkIEluZGljYXRvcjwvZGl2PgogICAgICAgIDxkZWVzLWFwcHVpLXRhYnMgLnRhYnM9JHthfT48L2RlZXMtYXBwdWktdGFicz4KICAgICAgICAke28oIlNlbGVjdCBhIHRhYiB0byBzZWUgdGhlIHNtb290aCBzbGlkaW5nIGFuaW1hdGlvbiBvZiB0aGUgaW5kaWNhdG9yLiBUaGUgaW5kaWNhdG9yIGF1dG9tYXRpY2FsbHkgYWRqdXN0cyBpdHMgd2lkdGggdG8gbWF0Y2ggdGhlIHRhYiBjb250ZW50IHdpdGggbWluaW1hbCBwYWRkaW5nLiIpfQogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlRhYnMgd2l0aCBBY3Rpb24gQnV0dG9uczwvZGl2PgogICAgICAgIDxkZWVzLWFwcHVpLXRhYnMKICAgICAgICAgIC50YWJzPSR7YX0KICAgICAgICAgIC5hY3Rpb25zTGVmdD0ke3J9CiAgICAgICAgICAuYWN0aW9uc1JpZ2h0PSR7aX0KICAgICAgICA+PC9kZWVzLWFwcHVpLXRhYnM+CiAgICAgICAgJHtvKCJBY3Rpb24gYnV0dG9ucyBjYW4gYmUgcGxhY2VkIG9uIGVpdGhlciBzaWRlIG9mIHRoZSB0YWIgYmFyLiBUaGV5IHJlbWFpbiBmaXhlZCB3aGlsZSB0YWJzIHNjcm9sbC4gVGhlIGxvY2sgaWNvbiBzaG93cyBhIGRpc2FibGVkIGFjdGlvbi4iKX0KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5DbG9zZWFibGUgVGFicyB3aXRoIEFjdGlvbnM8L2Rpdj4KICAgICAgICA8ZGVtby1jbG9zZWFibGUtdGFicz48L2RlbW8tY2xvc2VhYmxlLXRhYnM+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QXV0by1oaWRlIFRhYnM8L2Rpdj4KICAgICAgICA8ZGVtby1hdXRvaGlkZS10YWJzPjwvZGVtby1hdXRvaGlkZS10YWJzPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlZlcnRpY2FsIFRhYnMgTGF5b3V0PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idHdvLWNvbHVtbiI+CiAgICAgICAgICA8ZGVlcy1hcHB1aS10YWJzIC50YWJTdHlsZT0keyJ2ZXJ0aWNhbCJ9IC50YWJzPSR7ZX0+PC9kZWVzLWFwcHVpLXRhYnM+CiAgICAgICAgICAke28oIlZlcnRpY2FsIHRhYnMgd29yayBncmVhdCBmb3Igc2V0dGluZ3MgcGFnZXMgYW5kIG5hdmlnYXRpb24gbWVudXMuIFRoZSBhbmltYXRlZCBpbmRpY2F0b3Igc21vb3RobHkgdHJhbnNpdGlvbnMgYmV0d2VlbiBzZWxlY3Rpb25zLiIpfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPldpdGhvdXQgSW5kaWNhdG9yPC9kaXY+CiAgICAgICAgPGRlZXMtYXBwdWktdGFicyAuc2hvd1RhYkluZGljYXRvcj0keyExfSAudGFicz0ke3R9PjwvZGVlcy1hcHB1aS10YWJzPgogICAgICAgICR7bygiVGFicyBjYW4gYWxzbyBiZSB1c2VkIHdpdGhvdXQgdGhlIGFuaW1hdGVkIGluZGljYXRvciBieSBzZXR0aW5nIHNob3dUYWJJbmRpY2F0b3IgdG8gZmFsc2UuIil9CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYH0sImRlbW9GdW5jIil9KTt2YXIgSDEsZXMsUmxhLGZRZT1mKCgpPT57bzQoKTtsZSgpO0p0KCk7TmxhKCk7UWUoKTtIMT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sZXM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFJsYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYXBwdWktdGFicyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdLFAsQT1bXSxGPVtdLFcsaj1bXSxHPVtdO3ZhciBoZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0FwcHVpVGFicyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBSPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpPYmplY3R9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6Qm9vbGVhbn0pXSxOPVskKHt0eXBlOk51bWJlcn0pXSxPPVskKHt0eXBlOkFycmF5fSldLEI9WyQoe3R5cGU6QXJyYXl9KV0sUD1bSygpXSxXPVtLKCldLEgxKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4idGFicyJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnRhYnMsImdldCIpLHNldDpzKChVLG1lKT0+e1UudGFicz1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxuLGwpLEgxKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRUYWIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InNlbGVjdGVkVGFiImluIFUsImhhcyIpLGdldDpzKFU9PlUuc2VsZWN0ZWRUYWIsImdldCIpLHNldDpzKChVLG1lKT0+e1Uuc2VsZWN0ZWRUYWI9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sYyxwKSxIMSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dUYWJJbmRpY2F0b3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InNob3dUYWJJbmRpY2F0b3IiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5zaG93VGFiSW5kaWNhdG9yLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnNob3dUYWJJbmRpY2F0b3I9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sbSx2KSxIMSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYlN0eWxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJ0YWJTdHlsZSJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnRhYlN0eWxlLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnRhYlN0eWxlPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGIsZyksSDEodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhdXRvSGlkZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iYXV0b0hpZGUiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5hdXRvSGlkZSwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5hdXRvSGlkZT1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxrLEMpLEgxKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXV0b0hpZGVUaHJlc2hvbGQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImF1dG9IaWRlVGhyZXNob2xkImluIFUsImhhcyIpLGdldDpzKFU9PlUuYXV0b0hpZGVUaHJlc2hvbGQsImdldCIpLHNldDpzKChVLG1lKT0+e1UuYXV0b0hpZGVUaHJlc2hvbGQ9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sXyx6KSxIMSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbnNMZWZ0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJhY3Rpb25zTGVmdCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmFjdGlvbnNMZWZ0LCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmFjdGlvbnNMZWZ0PW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LFQsRSksSDEodGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpb25zUmlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImFjdGlvbnNSaWdodCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmFjdGlvbnNSaWdodCwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5hY3Rpb25zUmlnaHQ9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sTSxTKSxIMSh0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNhblNjcm9sbExlZnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+ImNhblNjcm9sbExlZnQiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5jYW5TY3JvbGxMZWZ0LCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmNhblNjcm9sbExlZnQ9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sQSxGKSxIMSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNhblNjcm9sbFJpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJjYW5TY3JvbGxSaWdodCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmNhblNjcm9sbFJpZ2h0LCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmNhblNjcm9sbFJpZ2h0PW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LGosRyksSDEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Un0sbnVsbCx0KSxoZT1yPWUudmFsdWUsUiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpSfSl9c3RhdGljIGRlbW89SWxhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07I2U9ZXModGhpcyxuLFtdKTtnZXQgdGFicygpe3JldHVybiB0aGlzLiNlfXNldCB0YWJzKFIpe3RoaXMuI2U9Un0jdD0oZXModGhpcyxsKSxlcyh0aGlzLGMsbnVsbCkpO2dldCBzZWxlY3RlZFRhYigpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZFRhYihSKXt0aGlzLiN0PVJ9I2E9KGVzKHRoaXMscCksZXModGhpcyxtLCEwKSk7Z2V0IHNob3dUYWJJbmRpY2F0b3IoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd1RhYkluZGljYXRvcihSKXt0aGlzLiNhPVJ9I3I9KGVzKHRoaXMsdiksZXModGhpcyxiLCJob3Jpem9udGFsIikpO2dldCB0YWJTdHlsZSgpe3JldHVybiB0aGlzLiNyfXNldCB0YWJTdHlsZShSKXt0aGlzLiNyPVJ9I3M9KGVzKHRoaXMsZyksZXModGhpcyxrLCExKSk7Z2V0IGF1dG9IaWRlKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGF1dG9IaWRlKFIpe3RoaXMuI3M9Un0jaT0oZXModGhpcyxDKSxlcyh0aGlzLF8sMCkpO2dldCBhdXRvSGlkZVRocmVzaG9sZCgpe3JldHVybiB0aGlzLiNpfXNldCBhdXRvSGlkZVRocmVzaG9sZChSKXt0aGlzLiNpPVJ9I289KGVzKHRoaXMseiksZXModGhpcyxULFtdKSk7Z2V0IGFjdGlvbnNMZWZ0KCl7cmV0dXJuIHRoaXMuI299c2V0IGFjdGlvbnNMZWZ0KFIpe3RoaXMuI289Un0jbj0oZXModGhpcyxFKSxlcyh0aGlzLE0sW10pKTtnZXQgYWN0aW9uc1JpZ2h0KCl7cmV0dXJuIHRoaXMuI259c2V0IGFjdGlvbnNSaWdodChSKXt0aGlzLiNuPVJ9I2w9KGVzKHRoaXMsUyksZXModGhpcyxBLCExKSk7Z2V0IGNhblNjcm9sbExlZnQoKXtyZXR1cm4gdGhpcy4jbH1zZXQgY2FuU2Nyb2xsTGVmdChSKXt0aGlzLiNsPVJ9I2M9KGVzKHRoaXMsRiksZXModGhpcyxqLCExKSk7Z2V0IGNhblNjcm9sbFJpZ2h0KCl7cmV0dXJuIHRoaXMuI2N9c2V0IGNhblNjcm9sbFJpZ2h0KFIpe3RoaXMuI2M9Un1yZXNpemVPYnNlcnZlcj0oZXModGhpcyxHKSxudWxsKTtzdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnRhYnMtd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLnRhYnMtd3JhcHBlci5ob3Jpem9udGFsLXdyYXBwZXIgewogICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICAgIH0KCiAgICAgIC8qIFNjcm9sbCBmYWRlIGluZGljYXRvcnMgKi8KICAgICAgLnNjcm9sbC1mYWRlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMXB4OwogICAgICAgIHdpZHRoOiA0OHB4OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgIH0KCiAgICAgIC5zY3JvbGwtZmFkZS1sZWZ0IHsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwKICAgICAgICAgICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE2MTYxNiIpfSAwJSwKICAgICAgICAgICR7aC5iZFRoZW1lKCJyZ2JhKDI1NSwyNTUsMjU1LDApIiwicmdiYSgyMiwyMiwyMiwwKSIpfSAxMDAlKTsKICAgICAgfQoKICAgICAgLnNjcm9sbC1mYWRlLXJpZ2h0IHsKICAgICAgICByaWdodDogMDsKICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwKICAgICAgICAgICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE2MTYxNiIpfSAwJSwKICAgICAgICAgICR7aC5iZFRoZW1lKCJyZ2JhKDI1NSwyNTUsMjU1LDApIiwicmdiYSgyMiwyMiwyMiwwKSIpfSAxMDAlKTsKICAgICAgfQoKICAgICAgLnNjcm9sbC1mYWRlLnZpc2libGUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5zY3JvbGwtYXJlYSB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgfQoKICAgICAgLyogVGFiIGFjdGlvbiBidXR0b25zICovCiAgICAgIC50YWItYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHBhZGRpbmc6IDAgNHB4OwogICAgICB9CgogICAgICAudGFiLWFjdGlvbnMubGVmdCB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb25zLnJpZ2h0IHsKICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4OwogICAgICAgIHBhZGRpbmctbGVmdDogOHB4OwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgIH0KCiAgICAgIC50YWItYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZSwgY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjdGl2ZSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb24tYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1wcmVzc2VkKTsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb24tYnV0dG9uLmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjQ7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb24tYnV0dG9uLmRpc2FibGVkOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLnRhYi1hY3Rpb24tYnV0dG9uIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICB9CgogICAgICAudGFic0NvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjsKICAgICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICAgIHNjcm9sbGJhci13aWR0aDogdGhpbjsKICAgICAgICBzY3JvbGxiYXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC8qIFNob3cgc2Nyb2xsYmFyIG9uIGhvdmVyICovCiAgICAgIC50YWJzLXdyYXBwZXI6aG92ZXIgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbCwKICAgICAgLnNjcm9sbC1hcmVhOmhvdmVyIC50YWJzQ29udGFpbmVyLmhvcml6b250YWwgewogICAgICAgIHNjcm9sbGJhci1jb2xvcjogJHtoLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4yKSIsInJnYmEoMjU1LDI1NSwyNTUsMC4yKSIpfSB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbDo6LXdlYmtpdC1zY3JvbGxiYXIgewogICAgICAgIGhlaWdodDogNHB4OwogICAgICB9CgogICAgICAudGFic0NvbnRhaW5lci5ob3Jpem9udGFsOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC50YWJzQ29udGFpbmVyLmhvcml6b250YWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWJzLXdyYXBwZXI6aG92ZXIgLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsCiAgICAgIC5zY3JvbGwtYXJlYTpob3ZlciAudGFic0NvbnRhaW5lci5ob3Jpem9udGFsOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4yKSIsInJnYmEoMjU1LDI1NSwyNTUsMC4yKSIpfTsKICAgICAgfQoKICAgICAgLnRhYnMtd3JhcHBlcjpob3ZlciAudGFic0NvbnRhaW5lci5ob3Jpem9udGFsOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciwKICAgICAgLnNjcm9sbC1hcmVhOmhvdmVyIC50YWJzQ29udGFpbmVyLmhvcml6b250YWw6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLDAsMCwwLjM1KSIsInJnYmEoMjU1LDI1NSwyNTUsMC4zNSkiKX07CiAgICAgIH0KCiAgICAgIC50YWJzQ29udGFpbmVyLnZlcnRpY2FsIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBnYXA6IDJweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy10ZXJ0aWFyeSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICB9CgogICAgICAudGFiIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHotaW5kZXg6IDI7CiAgICAgIH0KCiAgICAgIC5ob3Jpem9udGFsIC50YWIgewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4IDZweCAwIDA7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlOwogICAgICB9CiAgICAgIAogICAgICAuaG9yaXpvbnRhbCAudGFiOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IC0ycHg7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICB3aWR0aDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQogICAgICAKICAgICAgLmhvcml6b250YWwgLnRhYiAudGFiLWNvbnRlbnQgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC52ZXJ0aWNhbCAudGFiIHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYjpob3ZlciB7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQogICAgICAKICAgICAgLmhvcml6b250YWwgLnRhYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgIH0KICAgICAgCiAgICAgIC5ob3Jpem9udGFsIC50YWI6aG92ZXI6OmFmdGVyLAogICAgICAuaG9yaXpvbnRhbCAudGFiOmhvdmVyICsgLnRhYjo6YWZ0ZXIgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgIH0KCiAgICAgIC52ZXJ0aWNhbCAudGFiOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyNDQsIDI0NCwgMjQ1LCAwLjUpIiwicmdiYSgzOSwgMzksIDQyLCAwLjUpIil9OwogICAgICB9CgogICAgICAuaG9yaXpvbnRhbCAudGFiLnNlbGVjdGVkVGFiIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CiAgICAgIAogICAgICAuaG9yaXpvbnRhbCAudGFiLnNlbGVjdGVkVGFiOjphZnRlciwKICAgICAgLmhvcml6b250YWwgLnRhYi5zZWxlY3RlZFRhYiArIC50YWI6OmFmdGVyIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgICAudmVydGljYWwgLnRhYi5zZWxlY3RlZFRhYiB7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnRhYiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgfQoKICAgICAgLnRhYkluZGljYXRvciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgfQogICAgICAKICAgICAgLnRhYkluZGljYXRvci5uby10cmFuc2l0aW9uIHsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgICB9CgogICAgICAudGFicy13cmFwcGVyIC50YWJJbmRpY2F0b3IgewogICAgICAgIGhlaWdodDogM3B4OwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjY2VudC1wcmltYXJ5KTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHggM3B4IDAgMDsKICAgICAgICB6LWluZGV4OiAzOwogICAgICB9CgogICAgICAudmVydGljYWwtd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAudmVydGljYWwtd3JhcHBlciAudGFiSW5kaWNhdG9yIHsKICAgICAgICBsZWZ0OiA4cHg7CiAgICAgICAgcmlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICB6LWluZGV4OiAxOwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDgpOwogICAgICB9CgogICAgICAvKiBDbG9zZSBidXR0b24gKi8KICAgICAgLnRhYi1jbG9zZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgb3BhY2l0eTogMC40OwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMsIGJhY2tncm91bmQgMC4xNXM7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIH0KCiAgICAgIC50YWI6aG92ZXIgLnRhYi1jbG9zZSB7CiAgICAgICAgb3BhY2l0eTogMC43OwogICAgICB9CgogICAgICAudGFiLWNsb3NlOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItcHJlc3NlZCk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYWNjZW50LWVycm9yKTsKICAgICAgfQoKICAgICAgLnRhYi5zZWxlY3RlZFRhYiAudGFiLWNsb3NlIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC50YWIuc2VsZWN0ZWRUYWI6aG92ZXIgLnRhYi1jbG9zZSB7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICB9CgogICAgICAudGFiLnNlbGVjdGVkVGFiIC50YWItY2xvc2U6aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLmF1dG9IaWRlJiZ0aGlzLnRhYnMubGVuZ3RoPD10aGlzLmF1dG9IaWRlVGhyZXNob2xkP3dgYDp3YAogICAgICAke3RoaXMucmVuZGVyVGFic1dyYXBwZXIoKX0KICAgIGB9cmVuZGVyVGFic1dyYXBwZXIoKXtsZXQgUj10aGlzLnRhYlN0eWxlPT09Imhvcml6b250YWwiLFU9Uj8idGFicy13cmFwcGVyIGhvcml6b250YWwtd3JhcHBlciI6InZlcnRpY2FsLXdyYXBwZXIiLG1lPWB0YWJzQ29udGFpbmVyICR7dGhpcy50YWJTdHlsZX1gO2lmKFIpe2xldCBJPXRoaXMuYWN0aW9uc0xlZnQmJnRoaXMuYWN0aW9uc0xlZnQubGVuZ3RoPjAscT10aGlzLmFjdGlvbnNSaWdodCYmdGhpcy5hY3Rpb25zUmlnaHQubGVuZ3RoPjA7cmV0dXJuIHdgCiAgICAgICAgPGRpdiBjbGFzcz0iJHtVfSI+CiAgICAgICAgICAke0k/dGhpcy5yZW5kZXJBY3Rpb25zKHRoaXMuYWN0aW9uc0xlZnQsImxlZnQiKToiIn0KICAgICAgICAgIDxkaXYgY2xhc3M9InNjcm9sbC1hcmVhIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2Nyb2xsLWZhZGUgc2Nyb2xsLWZhZGUtbGVmdCAke3RoaXMuY2FuU2Nyb2xsTGVmdD8idmlzaWJsZSI6IiJ9Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iJHttZX0iIEBzY3JvbGw9JHt0aGlzLmhhbmRsZVNjcm9sbH0+CiAgICAgICAgICAgICAgJHt0aGlzLnRhYnMubWFwKGNlPT50aGlzLnJlbmRlclRhYihjZSxSKSl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzY3JvbGwtZmFkZSBzY3JvbGwtZmFkZS1yaWdodCAke3RoaXMuY2FuU2Nyb2xsUmlnaHQ/InZpc2libGUiOiIifSI+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7cT90aGlzLnJlbmRlckFjdGlvbnModGhpcy5hY3Rpb25zUmlnaHQsInJpZ2h0Iik6IiJ9CiAgICAgICAgICAke3RoaXMuc2hvd1RhYkluZGljYXRvcj93YDxkaXYgY2xhc3M9InRhYkluZGljYXRvciI+PC9kaXY+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgYH1yZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iJHtVfSI+CiAgICAgICAgPGRpdiBjbGFzcz0iJHttZX0iPgogICAgICAgICAgJHt0aGlzLnRhYnMubWFwKEk9PnRoaXMucmVuZGVyVGFiKEksUikpfQogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5zaG93VGFiSW5kaWNhdG9yP3dgPGRpdiBjbGFzcz0idGFiSW5kaWNhdG9yIj48L2Rpdj5gOiIifQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyQWN0aW9ucyhSLFUpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJ0YWItYWN0aW9ucyAke1V9Ij4KICAgICAgICAke1IubWFwKG1lPT53YAogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0idGFiLWFjdGlvbi1idXR0b24gJHttZS5kaXNhYmxlZD8iZGlzYWJsZWQiOiIifSIKICAgICAgICAgICAgdGl0bGU9IiR7bWUudG9vbHRpcHx8bWUuaWR9IgogICAgICAgICAgICBAY2xpY2s9JHsoKT0+IW1lLmRpc2FibGVkJiZtZS5hY3Rpb24oKX0KICAgICAgICAgID4KICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke21lLmljb25OYW1lfT48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGApfQogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyVGFiKFIsVSl7bGV0IEk9YHRhYiAke1I9PT10aGlzLnNlbGVjdGVkVGFiPyJzZWxlY3RlZFRhYiI6IiJ9YCxxPVIuY2xvc2VhYmxlP3dgCiAgICAgIDxzcGFuIGNsYXNzPSJ0YWItY2xvc2UiIEBjbGljaz0iJHt1ZT0+dGhpcy5jbG9zZVRhYih1ZSxSKX0iPgogICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOngifSBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyI+PC9kZWVzLWljb24+CiAgICAgIDwvc3Bhbj4KICAgIGA6IiIsY2U9VT93YAogICAgICA8c3BhbiBjbGFzcz0idGFiLWNvbnRlbnQiPgogICAgICAgICR7dGhpcy5yZW5kZXJUYWJJY29uKFIpfQogICAgICAgICR7Ui5rZXl9CiAgICAgIDwvc3Bhbj4KICAgICAgJHtxfQogICAgYDp3YAogICAgICAke3RoaXMucmVuZGVyVGFiSWNvbihSKX0KICAgICAgJHtSLmtleX0KICAgICAgJHtxfQogICAgYDtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSIke0l9IgogICAgICAgIEBjbGljaz0iJHsoKT0+dGhpcy5zZWxlY3RUYWIoUil9IgogICAgICA+CiAgICAgICAgJHtjZX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclRhYkljb24oUil7cmV0dXJuIFIuaWNvbk5hbWU/d2A8ZGVlcy1pY29uIC5pY29uPSR7Ui5pY29uTmFtZX0+PC9kZWVzLWljb24+YDoiIn1zZWxlY3RUYWIoUil7dGhpcy5zZWxlY3RlZFRhYj1SLFIuYWN0aW9uKCkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5zY3JvbGxUYWJJbnRvVmlldyhSKX0pLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRhYi1zZWxlY3QiLHtkZXRhaWw6e3RhYjpSfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNsZWFyKCl7dGhpcy50YWJzPVtdLHRoaXMuc2VsZWN0ZWRUYWI9bnVsbH1jbG9zZVRhYihSLFUpe1Iuc3RvcFByb3BhZ2F0aW9uKCksVS5vbkNsb3NlJiZVLm9uQ2xvc2UoKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItY2xvc2UiLHtkZXRhaWw6e3RhYjpVfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWZpcnN0VXBkYXRlZCgpe3RoaXMuc2V0dXBSZXNpemVPYnNlcnZlcigpLHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e3RoaXMudXBkYXRlU2Nyb2xsU3RhdGUoKX0pfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnJlc2l6ZU9ic2VydmVyJiYodGhpcy5yZXNpemVPYnNlcnZlci5kaXNjb25uZWN0KCksdGhpcy5yZXNpemVPYnNlcnZlcj1udWxsKX1zZXR1cFJlc2l6ZU9ic2VydmVyKCl7aWYodGhpcy50YWJTdHlsZSE9PSJob3Jpem9udGFsIilyZXR1cm47dGhpcy5yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9Pnt0aGlzLnVwZGF0ZVNjcm9sbFN0YXRlKCl9KTtsZXQgUj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWJzQ29udGFpbmVyLmhvcml6b250YWwiKTtSJiZ0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUoUil9aGFuZGxlU2Nyb2xsPXMoKCk9Pnt0aGlzLnVwZGF0ZVNjcm9sbFN0YXRlKCl9LCJoYW5kbGVTY3JvbGwiKTt1cGRhdGVTY3JvbGxTdGF0ZSgpe2xldCBSPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnRhYnNDb250YWluZXIuaG9yaXpvbnRhbCIpO2lmKCFSKXJldHVybjtsZXQgVT1SLnNjcm9sbExlZnQsbWU9Ui5zY3JvbGxXaWR0aCxJPVIuY2xpZW50V2lkdGgscT0yO3RoaXMuY2FuU2Nyb2xsTGVmdD1VPnEsdGhpcy5jYW5TY3JvbGxSaWdodD1VPG1lLUktcX1zY3JvbGxUYWJJbnRvVmlldyhSKXtpZih0aGlzLnRhYlN0eWxlIT09Imhvcml6b250YWwiKXJldHVybjtsZXQgVT10aGlzLnRhYnMuaW5kZXhPZihSKTtpZihVPT09LTEpcmV0dXJuO2xldCBtZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi50YWJzQ29udGFpbmVyLmhvcml6b250YWwiKSxJPW1lPy5xdWVyeVNlbGVjdG9yKGAudGFiOm50aC1jaGlsZCgke1UrMX0pYCk7aWYoSSYmbWUpe2xldCBxPW1lLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLGNlPUkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Y2UubGVmdD49cS5sZWZ0JiZjZS5yaWdodDw9cS5yaWdodHx8SS5zY3JvbGxJbnRvVmlldyh7YmVoYXZpb3I6InNtb290aCIsYmxvY2s6Im5lYXJlc3QiLGlubGluZToibmVhcmVzdCJ9KX19YXN5bmMgdXBkYXRlZChSKXtzdXBlci51cGRhdGVkKFIpLFIuaGFzKCJ0YWJzIikmJighdGhpcy50YWJzfHx0aGlzLnRhYnMubGVuZ3RoPT09MD90aGlzLnNlbGVjdGVkVGFiIT09bnVsbCYmKHRoaXMuc2VsZWN0ZWRUYWI9bnVsbCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItc2VsZWN0Iix7ZGV0YWlsOnt0YWI6bnVsbH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKSk6dGhpcy5zZWxlY3RlZFRhYiYmIXRoaXMudGFicy5pbmNsdWRlcyh0aGlzLnNlbGVjdGVkVGFiKT90aGlzLnNlbGVjdFRhYih0aGlzLnRhYnNbMF0pOnRoaXMuc2VsZWN0ZWRUYWJ8fHRoaXMuc2VsZWN0VGFiKHRoaXMudGFic1swXSkpLChSLmhhcygic2VsZWN0ZWRUYWIiKXx8Ui5oYXMoInRhYnMiKSkmJihhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLCF0aGlzLmluZGljYXRvckluaXRpYWxpemVkJiZkb2N1bWVudC5mb250cyYmYXdhaXQgZG9jdW1lbnQuZm9udHMucmVhZHkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy51cGRhdGVUYWJJbmRpY2F0b3IoKSx0aGlzLnVwZGF0ZVNjcm9sbFN0YXRlKCl9KSl9aW5kaWNhdG9ySW5pdGlhbGl6ZWQ9ITE7dXBkYXRlVGFiSW5kaWNhdG9yKCl7aWYoIXRoaXMuc2hvdWxkU2hvd0luZGljYXRvcigpKXJldHVybjtsZXQgUj10aGlzLmdldFNlbGVjdGVkVGFiRWxlbWVudCgpO2lmKCFSKXJldHVybjtsZXQgVT10aGlzLmdldEluZGljYXRvckVsZW1lbnQoKTtVJiYodGhpcy5oYW5kbGVJbml0aWFsVHJhbnNpdGlvbihVKSx0aGlzLnRhYlN0eWxlPT09Imhvcml6b250YWwiP3RoaXMudXBkYXRlSG9yaXpvbnRhbEluZGljYXRvcihVLFIpOnRoaXMudXBkYXRlVmVydGljYWxJbmRpY2F0b3IoVSxSKSxVLnN0eWxlLm9wYWNpdHk9IjEiKX1zaG91bGRTaG93SW5kaWNhdG9yKCl7cmV0dXJuISF0aGlzLnNlbGVjdGVkVGFiJiZ0aGlzLnNob3dUYWJJbmRpY2F0b3ImJnRoaXMudGFicy5pbmNsdWRlcyh0aGlzLnNlbGVjdGVkVGFiKX1nZXRTZWxlY3RlZFRhYkVsZW1lbnQoKXtsZXQgUj10aGlzLnRhYnMuaW5kZXhPZih0aGlzLnNlbGVjdGVkVGFiKSxtZT10aGlzLnRhYlN0eWxlPT09Imhvcml6b250YWwiP2AudGFicy13cmFwcGVyIC50YWJzQ29udGFpbmVyIC50YWI6bnRoLWNoaWxkKCR7UisxfSlgOmAudmVydGljYWwtd3JhcHBlciAudGFic0NvbnRhaW5lciAudGFiOm50aC1jaGlsZCgke1IrMX0pYDtyZXR1cm4gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IobWUpfWdldEluZGljYXRvckVsZW1lbnQoKXtyZXR1cm4gdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi50YWJJbmRpY2F0b3IiKX1oYW5kbGVJbml0aWFsVHJhbnNpdGlvbihSKXt0aGlzLmluZGljYXRvckluaXRpYWxpemVkfHwoUi5jbGFzc0xpc3QuYWRkKCJuby10cmFuc2l0aW9uIiksdGhpcy5pbmRpY2F0b3JJbml0aWFsaXplZD0hMCxzZXRUaW1lb3V0KCgpPT57Ui5jbGFzc0xpc3QucmVtb3ZlKCJuby10cmFuc2l0aW9uIil9LDUwKSl9dXBkYXRlSG9yaXpvbnRhbEluZGljYXRvcihSLFUpe2xldCBtZT1VLnF1ZXJ5U2VsZWN0b3IoIi50YWItY29udGVudCIpO2lmKCFtZSlyZXR1cm47bGV0IEk9Ui5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHE9bWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksY2U9cS5sZWZ0LUkubGVmdCx1ZT1xLndpZHRoKzgsWT1jZS00O1Iuc3R5bGUud2lkdGg9YCR7dWV9cHhgLFIuc3R5bGUubGVmdD1gJHtZfXB4YH11cGRhdGVWZXJ0aWNhbEluZGljYXRvcihSLFUpe2xldCBtZT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnZlcnRpY2FsLXdyYXBwZXIgLnRhYnNDb250YWluZXIiKTttZSYmKFIuc3R5bGUudG9wPWAke1Uub2Zmc2V0VG9wK21lLm9mZnNldFRvcH1weGAsUi5zdHlsZS5oZWlnaHQ9YCR7VS5jbGllbnRIZWlnaHR9cHhgKX1zdGF0aWN7ZXMocix0KX19O3JldHVybiBoZT1yfSkoKX0pO3ZhciBBNCxlbyxPbGEsaFFlPWYoKCk9PntvNCgpO2xlKCk7SnQoKTtmUWUoKTtRZSgpO0E0PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxlbz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sT2xhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1hcHB1aS1tYWluY29udGVudCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdO3ZhciBCPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQXBwdWlNYWluY29udGVudCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBNPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpPYmplY3R9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSx5PVskKHt0eXBlOk51bWJlcn0pXSxOPVskKHt0eXBlOkFycmF5fSldLE89WyQoe3R5cGU6QXJyYXl9KV0sQTQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ0YWJzImluIFMsImhhcyIpLGdldDpzKFM9PlMudGFicywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnRhYnM9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxuLGwpLEE0KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRUYWIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InNlbGVjdGVkVGFiImluIFMsImhhcyIpLGdldDpzKFM9PlMuc2VsZWN0ZWRUYWIsImdldCIpLHNldDpzKChTLFApPT57Uy5zZWxlY3RlZFRhYj1QfSwic2V0Iil9LG1ldGFkYXRhOk19LGMscCksQTQodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93VGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic2hvd1RhYnMiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zaG93VGFicywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnNob3dUYWJzPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbSx2KSxBNCh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYnNBdXRvSGlkZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGFic0F1dG9IaWRlImluIFMsImhhcyIpLGdldDpzKFM9PlMudGFic0F1dG9IaWRlLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MudGFic0F1dG9IaWRlPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYixnKSxBNCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYnNBdXRvSGlkZVRocmVzaG9sZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGFic0F1dG9IaWRlVGhyZXNob2xkImluIFMsImhhcyIpLGdldDpzKFM9PlMudGFic0F1dG9IaWRlVGhyZXNob2xkLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MudGFic0F1dG9IaWRlVGhyZXNob2xkPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSxBNCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhYkFjdGlvbnNMZWZ0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ0YWJBY3Rpb25zTGVmdCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnRhYkFjdGlvbnNMZWZ0LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MudGFiQWN0aW9uc0xlZnQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxfLHopLEE0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFiQWN0aW9uc1JpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ0YWJBY3Rpb25zUmlnaHQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy50YWJBY3Rpb25zUmlnaHQsImdldCIpLHNldDpzKChTLFApPT57Uy50YWJBY3Rpb25zUmlnaHQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxULEUpLEE0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsdCksQj1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkZWVzLWFwcHVpLW1haW5jb250ZW50CiAgICAgIC50YWJzPSR7W3trZXk6Ik92ZXJ2aWV3IixpY29uTmFtZToibHVjaWRlOmhvbWUiLGFjdGlvbjpzKCgpPT5jb25zb2xlLmxvZygiT3ZlcnZpZXciKSwiYWN0aW9uIil9LHtrZXk6IkRldGFpbHMiLGljb25OYW1lOiJsdWNpZGU6ZmlsZSIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJEZXRhaWxzIiksImFjdGlvbiIpfSx7a2V5OiJTZXR0aW5ncyIsaWNvbk5hbWU6Imx1Y2lkZTpzZXR0aW5ncyIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJTZXR0aW5ncyIpLCJhY3Rpb24iKX1dfQogICAgPgogICAgICA8ZGl2IHNsb3Q9ImNvbnRlbnQiIHN0eWxlPSJwYWRkaW5nOiA0MHB4OyBjb2xvcjogI2NjYzsiPgogICAgICAgIDxoMT5NYWluIENvbnRlbnQgQXJlYTwvaDE+CiAgICAgICAgPHA+VGhpcyBpcyB3aGVyZSB5b3VyIGFwcGxpY2F0aW9uIGNvbnRlbnQgZ29lcy48L3A+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLWFwcHVpLW1haW5jb250ZW50PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdOyNlPWVvKHRoaXMsbixbe2tleToiXHUyNkEwXHVGRTBGIFBsZWFzZSBzZXQgdGFicyIsYWN0aW9uOnMoKCk9PmNvbnNvbGUud2FybigiTm8gdGFicyBjb25maWd1cmVkIGZvciBtYWluY29udGVudCIpLCJhY3Rpb24iKX1dKTtnZXQgdGFicygpe3JldHVybiB0aGlzLiNlfXNldCB0YWJzKE0pe3RoaXMuI2U9TX0jdD0oZW8odGhpcyxsKSxlbyh0aGlzLGMsbnVsbCkpO2dldCBzZWxlY3RlZFRhYigpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZFRhYihNKXt0aGlzLiN0PU19I2E9KGVvKHRoaXMscCksZW8odGhpcyxtLCEwKSk7Z2V0IHNob3dUYWJzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNob3dUYWJzKE0pe3RoaXMuI2E9TX0jcj0oZW8odGhpcyx2KSxlbyh0aGlzLGIsITEpKTtnZXQgdGFic0F1dG9IaWRlKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHRhYnNBdXRvSGlkZShNKXt0aGlzLiNyPU19I3M9KGVvKHRoaXMsZyksZW8odGhpcyxrLDApKTtnZXQgdGFic0F1dG9IaWRlVGhyZXNob2xkKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHRhYnNBdXRvSGlkZVRocmVzaG9sZChNKXt0aGlzLiNzPU19I2k9KGVvKHRoaXMsQyksZW8odGhpcyxfLFtdKSk7Z2V0IHRhYkFjdGlvbnNMZWZ0KCl7cmV0dXJuIHRoaXMuI2l9c2V0IHRhYkFjdGlvbnNMZWZ0KE0pe3RoaXMuI2k9TX0jbz0oZW8odGhpcyx6KSxlbyh0aGlzLFQsW10pKTtnZXQgdGFiQWN0aW9uc1JpZ2h0KCl7cmV0dXJuIHRoaXMuI299c2V0IHRhYkFjdGlvbnNSaWdodChNKXt0aGlzLiNvPU19c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBjb250ZW50czsKICAgICAgfQoKICAgICAgLnRvcGJhciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGdyaWQtdGVtcGxhdGUtcm93cyAwLjNzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b3BiYXIgPiAqIHsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICB9CgogICAgICAuY29udGVudC1hcmVhIHsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgIH0KCiAgICAgIDpob3N0KFtub3RhYnNdKSAudG9wYmFyIHsKICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDBmcjsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRvcGJhciI+CiAgICAgICAgICA8ZGVlcy1hcHB1aS10YWJzCiAgICAgICAgICAgIC50YWJzPSR7dGhpcy50YWJzfQogICAgICAgICAgICAuc2VsZWN0ZWRUYWI9JHt0aGlzLnNlbGVjdGVkVGFifQogICAgICAgICAgICAuc2hvd1RhYkluZGljYXRvcj0keyEwfQogICAgICAgICAgICAudGFiU3R5bGU9JHsiaG9yaXpvbnRhbCJ9CiAgICAgICAgICAgIC5hdXRvSGlkZT0ke3RoaXMudGFic0F1dG9IaWRlfQogICAgICAgICAgICAuYXV0b0hpZGVUaHJlc2hvbGQ9JHt0aGlzLnRhYnNBdXRvSGlkZVRocmVzaG9sZH0KICAgICAgICAgICAgLmFjdGlvbnNMZWZ0PSR7dGhpcy50YWJBY3Rpb25zTGVmdH0KICAgICAgICAgICAgLmFjdGlvbnNSaWdodD0ke3RoaXMudGFiQWN0aW9uc1JpZ2h0fQogICAgICAgICAgICBAdGFiLXNlbGVjdD0ke009PnRoaXMuaGFuZGxlVGFiU2VsZWN0KE0pfQogICAgICAgICAgICBAdGFiLWNsb3NlPSR7TT0+dGhpcy5oYW5kbGVUYWJDbG9zZShNKX0KICAgICAgICAgID48L2RlZXMtYXBwdWktdGFicz4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50LWFyZWEiPgogICAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICAgICAgPHNsb3QgbmFtZT0iY29udGVudCI+PC9zbG90PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlVGFiU2VsZWN0KE0pe3RoaXMuc2VsZWN0ZWRUYWI9TS5kZXRhaWwudGFiLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRhYi1zZWxlY3QiLHtkZXRhaWw6TS5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVUYWJDbG9zZShNKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItY2xvc2UiLHtkZXRhaWw6TS5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX11cGRhdGVkKE0pe3N1cGVyLnVwZGF0ZWQoTSksTS5oYXMoInNob3dUYWJzIikmJih0aGlzLnNob3dUYWJzP3RoaXMucmVtb3ZlQXR0cmlidXRlKCJub3RhYnMiKTp0aGlzLnNldEF0dHJpYnV0ZSgibm90YWJzIiwiIikpfWFzeW5jIGZpcnN0VXBkYXRlZChNKXthd2FpdCBzdXBlci5maXJzdFVwZGF0ZWQoTSksdGhpcy5zaG93VGFic3x8dGhpcy5zZXRBdHRyaWJ1dGUoIm5vdGFicyIsIiIpO2xldCBTPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLWFwcHVpLXRhYnMiKTtTJiZhd2FpdCBTLnVwZGF0ZUNvbXBsZXRlfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxlbyh0aGlzLEUpfXN0YXRpY3tlbyhyLHQpfX07cmV0dXJuIEI9cn0pKCl9KTt2YXIgaGEsb3QsRmxhLEJsYT1mKCgpPT57bGUoKTtKdCgpO280KCk7VGxhKCk7UWUoKTtkUWUoKTtfWWUoKTtMWWUoKTt1UWUoKTtwUWUoKTtoUWUoKTtNWWUoKTtoYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sb3Q9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEZsYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYXBwdWkiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sWCxKPVtdLFo9W10sZ2UsYWU9W10scmU9W10seWUsVj1bXSxIPVtdLG9lLHNlPVtdLHRlPVtdLHplLE9lPVtdLHFlPVtdLGN0LCRlPVtdLENlPVtdLE1lLGRlPVtdLHZlPVtdLEFlLEtlPVtdLG50PVtdLFN0LFRlPVtdLHdlPVtdLFJlLGZlPVtdLGJlPVtdLFBlLHB0PVtdLG10PVtdLE50LFhhPVtdLEphPVtdLHZzLGplPVtdLGR0PVtdLFFhLE1yPVtdLCRyPVtdLEhyLERyPVtdLGhvPVtdLG1vLExlPVtdLFNlPVtdLEJlLGlhPVtdLHhzPVtdLG1sLHhlPVtdLG5lPVtdLF9lLFVlPVtdLGt0PVtdLHlzLHFyPVtdLFJpPVtdLEtuLHMyPVtdLGdsPVtdLFpuLFE0PVtdLGs3PVtdLFM3LHo3PVtdLEM3PVtdLF83LFQ3PVtdLEw3PVtdO3ZhciAkNz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0FwcHVpIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IEQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0seT1bJCh7dHlwZTpPYmplY3R9KV0sTj1bJCh7dHlwZTpBcnJheX0pXSxPPVskKHt0eXBlOkJvb2xlYW59KV0sQj1bJCh7dHlwZTpTdHJpbmd9KV0sUD1bJCh7dHlwZTpTdHJpbmd9KV0sVz1bJCh7dHlwZTpBcnJheX0pXSxoZT1bJCh7dHlwZTpBcnJheX0pXSxtZT1bJCh7dHlwZTpBcnJheX0pXSxjZT1bJCh7dHlwZTpPYmplY3R9KV0sWD1bJCh7dHlwZTpTdHJpbmd9KV0sZ2U9WyQoe3R5cGU6QXJyYXl9KV0seWU9WyQoe3R5cGU6T2JqZWN0fSldLG9lPVskKHt0eXBlOkJvb2xlYW59KV0semU9WyQoe3R5cGU6Qm9vbGVhbn0pXSxjdD1bJCh7dHlwZTpCb29sZWFufSldLE1lPVskKHt0eXBlOkJvb2xlYW59KV0sQWU9WyQoe3R5cGU6Qm9vbGVhbn0pXSxTdD1bJCh7dHlwZTpCb29sZWFufSldLFJlPVskKHt0eXBlOk51bWJlcn0pXSxQZT1bSygpXSxOdD1bSygpXSx2cz1bJCh7dHlwZTpBcnJheX0pXSxRYT1bJCh7dHlwZTpPYmplY3R9KV0sSHI9WyQoe3R5cGU6QXJyYXl9KV0sbW89WyQoe3R5cGU6QXJyYXl9KV0sQmU9W0soKV0sbWw9W0soKV0sX2U9W0soKV0seXM9W0soKV0sS249W0soKV0sWm49W0soKV0sUzc9W0soKV0sXzc9W0soKV0saGEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBiYXJNZW51SXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImFwcGJhck1lbnVJdGVtcyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmFwcGJhck1lbnVJdGVtcywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5hcHBiYXJNZW51SXRlbXM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sbixsKSxoYSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFwcGJhckJyZWFkY3J1bWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJhcHBiYXJCcmVhZGNydW1icyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmFwcGJhckJyZWFkY3J1bWJzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmFwcGJhckJyZWFkY3J1bWJzPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGMscCksaGEodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJhcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yImluIEwsImhhcyIpLGdldDpzKEw9PkwuYXBwYmFyQnJlYWRjcnVtYlNlcGFyYXRvciwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5hcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LG0sdiksaGEodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBiYXJTaG93V2luZG93Q29udHJvbHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImFwcGJhclNob3dXaW5kb3dDb250cm9scyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmFwcGJhclNob3dXaW5kb3dDb250cm9scywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5hcHBiYXJTaG93V2luZG93Q29udHJvbHM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sYixnKSxoYSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFwcGJhclVzZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImFwcGJhclVzZXIiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5hcHBiYXJVc2VyLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmFwcGJhclVzZXI9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sayxDKSxoYSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFwcGJhclByb2ZpbGVNZW51SXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImFwcGJhclByb2ZpbGVNZW51SXRlbXMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5hcHBiYXJQcm9maWxlTWVudUl0ZW1zLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmFwcGJhclByb2ZpbGVNZW51SXRlbXM9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sXyx6KSxoYSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFwcGJhclNob3dTZWFyY2giLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImFwcGJhclNob3dTZWFyY2giaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5hcHBiYXJTaG93U2VhcmNoLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmFwcGJhclNob3dTZWFyY2g9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sVCxFKSxoYSh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5tZW51TG9nb0ljb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Im1haW5tZW51TG9nb0ljb24iaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5tYWlubWVudUxvZ29JY29uLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLm1haW5tZW51TG9nb0ljb249ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sTSxTKSxoYSh0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5tZW51TG9nb1RleHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Im1haW5tZW51TG9nb1RleHQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5tYWlubWVudUxvZ29UZXh0LCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLm1haW5tZW51TG9nb1RleHQ9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sQSxGKSxoYSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5tZW51R3JvdXBzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJtYWlubWVudUdyb3VwcyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLm1haW5tZW51R3JvdXBzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLm1haW5tZW51R3JvdXBzPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGosRyksaGEodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbm1lbnVCb3R0b21UYWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJtYWlubWVudUJvdHRvbVRhYnMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5tYWlubWVudUJvdHRvbVRhYnMsImdldCIpLHNldDpzKChMLGVlKT0+e0wubWFpbm1lbnVCb3R0b21UYWJzPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFIsVSksaGEodGhpcyxudWxsLG1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbm1lbnVUYWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJtYWlubWVudVRhYnMiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5tYWlubWVudVRhYnMsImdldCIpLHNldDpzKChMLGVlKT0+e0wubWFpbm1lbnVUYWJzPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LEkscSksaGEodGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbm1lbnVTZWxlY3RlZFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ibWFpbm1lbnVTZWxlY3RlZFRhYiJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLm1haW5tZW51U2VsZWN0ZWRUYWIsImdldCIpLHNldDpzKChMLGVlKT0+e0wubWFpbm1lbnVTZWxlY3RlZFRhYj1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSx1ZSxZKSxoYSh0aGlzLG51bGwsWCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlY29uZGFyeW1lbnVIZWFkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzZWNvbmRhcnltZW51SGVhZGluZyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNlY29uZGFyeW1lbnVIZWFkaW5nLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNlY29uZGFyeW1lbnVIZWFkaW5nPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LEosWiksaGEodGhpcyxudWxsLGdlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2Vjb25kYXJ5bWVudUdyb3VwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ic2Vjb25kYXJ5bWVudUdyb3VwcyJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNlY29uZGFyeW1lbnVHcm91cHMsImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2Vjb25kYXJ5bWVudUdyb3Vwcz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxhZSxyZSksaGEodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ic2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNlY29uZGFyeW1lbnVTZWxlY3RlZEl0ZW0sImdldCIpLHNldDpzKChMLGVlKT0+e0wuc2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbT1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxWLEgpLGhhKHRoaXMsbnVsbCxvZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5tZW51Q29sbGFwc2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJtYWlubWVudUNvbGxhcHNlZCJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLm1haW5tZW51Q29sbGFwc2VkLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLm1haW5tZW51Q29sbGFwc2VkPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LHNlLHRlKSxoYSh0aGlzLG51bGwsemUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWNvbmRhcnltZW51Q29sbGFwc2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzZWNvbmRhcnltZW51Q29sbGFwc2VkImluIEwsImhhcyIpLGdldDpzKEw9Pkwuc2Vjb25kYXJ5bWVudUNvbGxhcHNlZCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5zZWNvbmRhcnltZW51Q29sbGFwc2VkPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LE9lLHFlKSxoYSh0aGlzLG51bGwsY3Qse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWlubWVudVZpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+Im1haW5tZW51VmlzaWJsZSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLm1haW5tZW51VmlzaWJsZSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5tYWlubWVudVZpc2libGU9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sJGUsQ2UpLGhhKHRoaXMsbnVsbCxNZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlY29uZGFyeW1lbnVWaXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzZWNvbmRhcnltZW51VmlzaWJsZSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLnNlY29uZGFyeW1lbnVWaXNpYmxlLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLnNlY29uZGFyeW1lbnVWaXNpYmxlPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGRlLHZlKSxoYSh0aGlzLG51bGwsQWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWluY29udGVudFRhYnNWaXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJtYWluY29udGVudFRhYnNWaXNpYmxlImluIEwsImhhcyIpLGdldDpzKEw9PkwubWFpbmNvbnRlbnRUYWJzVmlzaWJsZSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5tYWluY29udGVudFRhYnNWaXNpYmxlPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LEtlLG50KSxoYSh0aGlzLG51bGwsU3Qse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50VGFic0F1dG9IaWRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJjb250ZW50VGFic0F1dG9IaWRlImluIEwsImhhcyIpLGdldDpzKEw9PkwuY29udGVudFRhYnNBdXRvSGlkZSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5jb250ZW50VGFic0F1dG9IaWRlPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFRlLHdlKSxoYSh0aGlzLG51bGwsUmUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50VGFic0F1dG9IaWRlVGhyZXNob2xkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJjb250ZW50VGFic0F1dG9IaWRlVGhyZXNob2xkImluIEwsImhhcyIpLGdldDpzKEw9PkwuY29udGVudFRhYnNBdXRvSGlkZVRocmVzaG9sZCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5jb250ZW50VGFic0F1dG9IaWRlVGhyZXNob2xkPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LGZlLGJlKSxoYSh0aGlzLG51bGwsUGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpdml0eUxvZ1Zpc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImFjdGl2aXR5TG9nVmlzaWJsZSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmFjdGl2aXR5TG9nVmlzaWJsZSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5hY3Rpdml0eUxvZ1Zpc2libGU9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0scHQsbXQpLGhhKHRoaXMsbnVsbCxOdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2aXR5TG9nQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImFjdGl2aXR5TG9nQ291bnQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5hY3Rpdml0eUxvZ0NvdW50LCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLmFjdGl2aXR5TG9nQ291bnQ9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0sWGEsSmEpLGhhKHRoaXMsbnVsbCx2cyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5jb250ZW50VGFicyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ibWFpbmNvbnRlbnRUYWJzImluIEwsImhhcyIpLGdldDpzKEw9PkwubWFpbmNvbnRlbnRUYWJzLCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLm1haW5jb250ZW50VGFicz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxqZSxkdCksaGEodGhpcyxudWxsLFFhLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFpbmNvbnRlbnRTZWxlY3RlZFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ibWFpbmNvbnRlbnRTZWxlY3RlZFRhYiJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLm1haW5jb250ZW50U2VsZWN0ZWRUYWIsImdldCIpLHNldDpzKChMLGVlKT0+e0wubWFpbmNvbnRlbnRTZWxlY3RlZFRhYj1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxNciwkciksaGEodGhpcyxudWxsLEhyLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFRhYkFjdGlvbnNMZWZ0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJjb250ZW50VGFiQWN0aW9uc0xlZnQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5jb250ZW50VGFiQWN0aW9uc0xlZnQsImdldCIpLHNldDpzKChMLGVlKT0+e0wuY29udGVudFRhYkFjdGlvbnNMZWZ0PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LERyLGhvKSxoYSh0aGlzLG51bGwsbW8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50VGFiQWN0aW9uc1JpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJjb250ZW50VGFiQWN0aW9uc1JpZ2h0ImluIEwsImhhcyIpLGdldDpzKEw9PkwuY29udGVudFRhYkFjdGlvbnNSaWdodCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5jb250ZW50VGFiQWN0aW9uc1JpZ2h0PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LExlLFNlKSxoYSh0aGlzLG51bGwsQmUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhcHBiYXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoTD0+ImFwcGJhciJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLmFwcGJhciwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5hcHBiYXI9ZWV9LCJzZXQiKX0sbWV0YWRhdGE6RH0saWEseHMpLGhhKHRoaXMsbnVsbCxtbCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1haW5tZW51IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJtYWlubWVudSJpbiBMLCJoYXMiKSxnZXQ6cyhMPT5MLm1haW5tZW51LCJnZXQiKSxzZXQ6cygoTCxlZSk9PntMLm1haW5tZW51PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LHhlLG5lKSxoYSh0aGlzLG51bGwsX2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWNvbmRhcnltZW51IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJzZWNvbmRhcnltZW51ImluIEwsImhhcyIpLGdldDpzKEw9Pkwuc2Vjb25kYXJ5bWVudSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5zZWNvbmRhcnltZW51PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFVlLGt0KSxoYSh0aGlzLG51bGwseXMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYWluY29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4ibWFpbmNvbnRlbnQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5tYWluY29udGVudCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5tYWluY29udGVudD1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxxcixSaSksaGEodGhpcyxudWxsLEtuLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZpdHlsb2dFbGVtZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJhY3Rpdml0eWxvZ0VsZW1lbnQiaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5hY3Rpdml0eWxvZ0VsZW1lbnQsImdldCIpLHNldDpzKChMLGVlKT0+e0wuYWN0aXZpdHlsb2dFbGVtZW50PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LHMyLGdsKSxoYSh0aGlzLG51bGwsWm4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJib3R0b21iYXJFbGVtZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJib3R0b21iYXJFbGVtZW50ImluIEwsImhhcyIpLGdldDpzKEw9PkwuYm90dG9tYmFyRWxlbWVudCwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5ib3R0b21iYXJFbGVtZW50PWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LFE0LGs3KSxoYSh0aGlzLG51bGwsUzcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJib3R0b21iYXJWaXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEw9PiJib3R0b21iYXJWaXNpYmxlImluIEwsImhhcyIpLGdldDpzKEw9PkwuYm90dG9tYmFyVmlzaWJsZSwiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5ib3R0b21iYXJWaXNpYmxlPWVlfSwic2V0Iil9LG1ldGFkYXRhOkR9LHo3LEM3KSxoYSh0aGlzLG51bGwsXzcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VmlldyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhMPT4iY3VycmVudFZpZXciaW4gTCwiaGFzIiksZ2V0OnMoTD0+TC5jdXJyZW50VmlldywiZ2V0Iiksc2V0OnMoKEwsZWUpPT57TC5jdXJyZW50Vmlldz1lZX0sInNldCIpfSxtZXRhZGF0YTpEfSxUNyxMNyksaGEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6RH0sbnVsbCx0KSwkNz1yPWUudmFsdWUsRCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpEfSl9c3RhdGljIGRlbW89X2xhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXBwIFVJIl07dmlld0xpZmVjeWNsZSQ9bmV3IEJ0LnNtYXJ0cngucnhqcy5TdWJqZWN0O3ZpZXdDaGFuZ2VkJD1uZXcgQnQuc21hcnRyeC5yeGpzLlN1YmplY3Q7I2U9b3QodGhpcyxuLFtdKTtnZXQgYXBwYmFyTWVudUl0ZW1zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGFwcGJhck1lbnVJdGVtcyhEKXt0aGlzLiNlPUR9I3Q9KG90KHRoaXMsbCksb3QodGhpcyxjLCIiKSk7Z2V0IGFwcGJhckJyZWFkY3J1bWJzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGFwcGJhckJyZWFkY3J1bWJzKEQpe3RoaXMuI3Q9RH0jYT0ob3QodGhpcyxwKSxvdCh0aGlzLG0sIiA+ICIpKTtnZXQgYXBwYmFyQnJlYWRjcnVtYlNlcGFyYXRvcigpe3JldHVybiB0aGlzLiNhfXNldCBhcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yKEQpe3RoaXMuI2E9RH0jcj0ob3QodGhpcyx2KSxvdCh0aGlzLGIsITApKTtnZXQgYXBwYmFyU2hvd1dpbmRvd0NvbnRyb2xzKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGFwcGJhclNob3dXaW5kb3dDb250cm9scyhEKXt0aGlzLiNyPUR9I3M9KG90KHRoaXMsZyksb3QodGhpcyxrLHZvaWQgMCkpO2dldCBhcHBiYXJVc2VyKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGFwcGJhclVzZXIoRCl7dGhpcy4jcz1EfSNpPShvdCh0aGlzLEMpLG90KHRoaXMsXyxbXSkpO2dldCBhcHBiYXJQcm9maWxlTWVudUl0ZW1zKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGFwcGJhclByb2ZpbGVNZW51SXRlbXMoRCl7dGhpcy4jaT1EfSNvPShvdCh0aGlzLHopLG90KHRoaXMsVCwhMSkpO2dldCBhcHBiYXJTaG93U2VhcmNoKCl7cmV0dXJuIHRoaXMuI299c2V0IGFwcGJhclNob3dTZWFyY2goRCl7dGhpcy4jbz1EfSNuPShvdCh0aGlzLEUpLG90KHRoaXMsTSwiIikpO2dldCBtYWlubWVudUxvZ29JY29uKCl7cmV0dXJuIHRoaXMuI259c2V0IG1haW5tZW51TG9nb0ljb24oRCl7dGhpcy4jbj1EfSNsPShvdCh0aGlzLFMpLG90KHRoaXMsQSwiIikpO2dldCBtYWlubWVudUxvZ29UZXh0KCl7cmV0dXJuIHRoaXMuI2x9c2V0IG1haW5tZW51TG9nb1RleHQoRCl7dGhpcy4jbD1EfSNjPShvdCh0aGlzLEYpLG90KHRoaXMsaixbXSkpO2dldCBtYWlubWVudUdyb3Vwcygpe3JldHVybiB0aGlzLiNjfXNldCBtYWlubWVudUdyb3VwcyhEKXt0aGlzLiNjPUR9I2Q9KG90KHRoaXMsRyksb3QodGhpcyxSLFtdKSk7Z2V0IG1haW5tZW51Qm90dG9tVGFicygpe3JldHVybiB0aGlzLiNkfXNldCBtYWlubWVudUJvdHRvbVRhYnMoRCl7dGhpcy4jZD1EfSN1PShvdCh0aGlzLFUpLG90KHRoaXMsSSxbXSkpO2dldCBtYWlubWVudVRhYnMoKXtyZXR1cm4gdGhpcy4jdX1zZXQgbWFpbm1lbnVUYWJzKEQpe3RoaXMuI3U9RH0jcD0ob3QodGhpcyxxKSxvdCh0aGlzLHVlLHZvaWQgMCkpO2dldCBtYWlubWVudVNlbGVjdGVkVGFiKCl7cmV0dXJuIHRoaXMuI3B9c2V0IG1haW5tZW51U2VsZWN0ZWRUYWIoRCl7dGhpcy4jcD1EfSNmPShvdCh0aGlzLFkpLG90KHRoaXMsSiwiIikpO2dldCBzZWNvbmRhcnltZW51SGVhZGluZygpe3JldHVybiB0aGlzLiNmfXNldCBzZWNvbmRhcnltZW51SGVhZGluZyhEKXt0aGlzLiNmPUR9I2g9KG90KHRoaXMsWiksb3QodGhpcyxhZSxbXSkpO2dldCBzZWNvbmRhcnltZW51R3JvdXBzKCl7cmV0dXJuIHRoaXMuI2h9c2V0IHNlY29uZGFyeW1lbnVHcm91cHMoRCl7dGhpcy4jaD1EfSNtPShvdCh0aGlzLHJlKSxvdCh0aGlzLFYsdm9pZCAwKSk7Z2V0IHNlY29uZGFyeW1lbnVTZWxlY3RlZEl0ZW0oKXtyZXR1cm4gdGhpcy4jbX1zZXQgc2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbShEKXt0aGlzLiNtPUR9I2c9KG90KHRoaXMsSCksb3QodGhpcyxzZSwhMSkpO2dldCBtYWlubWVudUNvbGxhcHNlZCgpe3JldHVybiB0aGlzLiNnfXNldCBtYWlubWVudUNvbGxhcHNlZChEKXt0aGlzLiNnPUR9I2I9KG90KHRoaXMsdGUpLG90KHRoaXMsT2UsITEpKTtnZXQgc2Vjb25kYXJ5bWVudUNvbGxhcHNlZCgpe3JldHVybiB0aGlzLiNifXNldCBzZWNvbmRhcnltZW51Q29sbGFwc2VkKEQpe3RoaXMuI2I9RH0jdj0ob3QodGhpcyxxZSksb3QodGhpcywkZSwhMCkpO2dldCBtYWlubWVudVZpc2libGUoKXtyZXR1cm4gdGhpcy4jdn1zZXQgbWFpbm1lbnVWaXNpYmxlKEQpe3RoaXMuI3Y9RH0jeD0ob3QodGhpcyxDZSksb3QodGhpcyxkZSwhMCkpO2dldCBzZWNvbmRhcnltZW51VmlzaWJsZSgpe3JldHVybiB0aGlzLiN4fXNldCBzZWNvbmRhcnltZW51VmlzaWJsZShEKXt0aGlzLiN4PUR9I3k9KG90KHRoaXMsdmUpLG90KHRoaXMsS2UsITApKTtnZXQgbWFpbmNvbnRlbnRUYWJzVmlzaWJsZSgpe3JldHVybiB0aGlzLiN5fXNldCBtYWluY29udGVudFRhYnNWaXNpYmxlKEQpe3RoaXMuI3k9RH0jdz0ob3QodGhpcyxudCksb3QodGhpcyxUZSwhMSkpO2dldCBjb250ZW50VGFic0F1dG9IaWRlKCl7cmV0dXJuIHRoaXMuI3d9c2V0IGNvbnRlbnRUYWJzQXV0b0hpZGUoRCl7dGhpcy4jdz1EfSNNPShvdCh0aGlzLHdlKSxvdCh0aGlzLGZlLDApKTtnZXQgY29udGVudFRhYnNBdXRvSGlkZVRocmVzaG9sZCgpe3JldHVybiB0aGlzLiNNfXNldCBjb250ZW50VGFic0F1dG9IaWRlVGhyZXNob2xkKEQpe3RoaXMuI009RH0jaz0ob3QodGhpcyxiZSksb3QodGhpcyxwdCwhMSkpO2dldCBhY3Rpdml0eUxvZ1Zpc2libGUoKXtyZXR1cm4gdGhpcy4ja31zZXQgYWN0aXZpdHlMb2dWaXNpYmxlKEQpe3RoaXMuI2s9RH0jUz0ob3QodGhpcyxtdCksb3QodGhpcyxYYSwwKSk7Z2V0IGFjdGl2aXR5TG9nQ291bnQoKXtyZXR1cm4gdGhpcy4jU31zZXQgYWN0aXZpdHlMb2dDb3VudChEKXt0aGlzLiNTPUR9I3o9KG90KHRoaXMsSmEpLG90KHRoaXMsamUsW10pKTtnZXQgbWFpbmNvbnRlbnRUYWJzKCl7cmV0dXJuIHRoaXMuI3p9c2V0IG1haW5jb250ZW50VGFicyhEKXt0aGlzLiN6PUR9I0M9KG90KHRoaXMsZHQpLG90KHRoaXMsTXIsdm9pZCAwKSk7Z2V0IG1haW5jb250ZW50U2VsZWN0ZWRUYWIoKXtyZXR1cm4gdGhpcy4jQ31zZXQgbWFpbmNvbnRlbnRTZWxlY3RlZFRhYihEKXt0aGlzLiNDPUR9I189KG90KHRoaXMsJHIpLG90KHRoaXMsRHIsW10pKTtnZXQgY29udGVudFRhYkFjdGlvbnNMZWZ0KCl7cmV0dXJuIHRoaXMuI199c2V0IGNvbnRlbnRUYWJBY3Rpb25zTGVmdChEKXt0aGlzLiNfPUR9I1Q9KG90KHRoaXMsaG8pLG90KHRoaXMsTGUsW10pKTtnZXQgY29udGVudFRhYkFjdGlvbnNSaWdodCgpe3JldHVybiB0aGlzLiNUfXNldCBjb250ZW50VGFiQWN0aW9uc1JpZ2h0KEQpe3RoaXMuI1Q9RH0jTD0ob3QodGhpcyxTZSksb3QodGhpcyxpYSx2b2lkIDApKTtnZXQgYXBwYmFyKCl7cmV0dXJuIHRoaXMuI0x9c2V0IGFwcGJhcihEKXt0aGlzLiNMPUR9IyQ9KG90KHRoaXMseHMpLG90KHRoaXMseGUsdm9pZCAwKSk7Z2V0IG1haW5tZW51KCl7cmV0dXJuIHRoaXMuIyR9c2V0IG1haW5tZW51KEQpe3RoaXMuIyQ9RH0jRD0ob3QodGhpcyxuZSksb3QodGhpcyxVZSx2b2lkIDApKTtnZXQgc2Vjb25kYXJ5bWVudSgpe3JldHVybiB0aGlzLiNEfXNldCBzZWNvbmRhcnltZW51KEQpe3RoaXMuI0Q9RH0jQT0ob3QodGhpcyxrdCksb3QodGhpcyxxcix2b2lkIDApKTtnZXQgbWFpbmNvbnRlbnQoKXtyZXR1cm4gdGhpcy4jQX1zZXQgbWFpbmNvbnRlbnQoRCl7dGhpcy4jQT1EfSNFPShvdCh0aGlzLFJpKSxvdCh0aGlzLHMyLHZvaWQgMCkpO2dldCBhY3Rpdml0eWxvZ0VsZW1lbnQoKXtyZXR1cm4gdGhpcy4jRX1zZXQgYWN0aXZpdHlsb2dFbGVtZW50KEQpe3RoaXMuI0U9RH0jUD0ob3QodGhpcyxnbCksb3QodGhpcyxRNCx2b2lkIDApKTtnZXQgYm90dG9tYmFyRWxlbWVudCgpe3JldHVybiB0aGlzLiNQfXNldCBib3R0b21iYXJFbGVtZW50KEQpe3RoaXMuI1A9RH0jST0ob3QodGhpcyxrNyksb3QodGhpcyx6NywhMCkpO2dldCBib3R0b21iYXJWaXNpYmxlKCl7cmV0dXJuIHRoaXMuI0l9c2V0IGJvdHRvbWJhclZpc2libGUoRCl7dGhpcy4jST1EfSNOPShvdCh0aGlzLEM3KSxvdCh0aGlzLFQ3LHZvaWQgMCkpO2dldCBjdXJyZW50Vmlldygpe3JldHVybiB0aGlzLiNOfXNldCBjdXJyZW50VmlldyhEKXt0aGlzLiNOPUR9dmlld1JlZ2lzdHJ5PShvdCh0aGlzLEw3KSxuZXcgR1cpO3JvdXRlckNsZWFudXA9bnVsbDtzZWFyY2hDYWxsYmFjaz1udWxsO3N0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXRlcnRpYXJ5KTsKICAgICAgfQogICAgICAubWFpbmdyaWQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4IC0gMjRweCk7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAvKiBncmlkLXRlbXBsYXRlLWNvbHVtbnMgc2V0IGR5bmFtaWNhbGx5IGluIHRlbXBsYXRlICovCiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7CiAgICAgICAgdHJhbnNpdGlvbjogZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zIDAuM3MgZWFzZSwgaGVpZ2h0IDAuM3MgZWFzZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICA6aG9zdChbYm90dG9tYmFyLWhpZGRlbl0pIC5tYWluZ3JpZCB7CiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTsKICAgICAgfQoKICAgICAgZGVlcy1hcHB1aS1ib3R0b21iYXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICB6LWluZGV4OiA0OwogICAgICB9CgogICAgICAvKiBaLWluZGV4IGxheWVyaW5nIGZvciBwcm9wZXIgc3RhY2tpbmcgKi8KICAgICAgLm1haW5ncmlkID4gZGVlcy1hcHB1aS1tYWlubWVudSB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHotaW5kZXg6IDM7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgLm1haW5ncmlkID4gZGVlcy1hcHB1aS1zZWNvbmRhcnltZW51IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgei1pbmRleDogMjsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICB9CgogICAgICAubWFpbmdyaWQgPiBkZWVzLWFwcHVpLW1haW5jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICB9CgogICAgICAubWFpbmdyaWQgPiBkZWVzLWFwcHVpLWFjdGl2aXR5bG9nIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLCB0cmFuc2Zvcm0gMC4zcyBlYXNlOwogICAgICB9CgogICAgICAubWFpbmdyaWQgPiBkZWVzLWFwcHVpLWFjdGl2aXR5bG9nLmhpZGRlbiB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tYWluZ3JpZCA+IGRlZXMtYXBwdWktYWN0aXZpdHlsb2cudmlzaWJsZSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAgIH0KCiAgICAgIC8qIFZpZXcgY29udGFpbmVyIGZvciBkeW5hbWljYWxseSBsb2FkZWQgdmlld3MgKi8KICAgICAgLnZpZXctY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBjb250ZW50czsKICAgICAgfQoKICAgICAgLnZpZXctY29udGFpbmVyOmVtcHR5IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRlZXMtYXBwdWktYXBwYmFyCiAgICAgICAgLm1lbnVJdGVtcz0ke3RoaXMuYXBwYmFyTWVudUl0ZW1zfQogICAgICAgIC5icmVhZGNydW1icz0ke3RoaXMuYXBwYmFyQnJlYWRjcnVtYnN9CiAgICAgICAgLmJyZWFkY3J1bWJTZXBhcmF0b3I9JHt0aGlzLmFwcGJhckJyZWFkY3J1bWJTZXBhcmF0b3J9CiAgICAgICAgLnNob3dXaW5kb3dDb250cm9scz0ke3RoaXMuYXBwYmFyU2hvd1dpbmRvd0NvbnRyb2xzfQogICAgICAgIC51c2VyPSR7dGhpcy5hcHBiYXJVc2VyfQogICAgICAgIC5wcm9maWxlTWVudUl0ZW1zPSR7dGhpcy5hcHBiYXJQcm9maWxlTWVudUl0ZW1zfQogICAgICAgIC5zaG93U2VhcmNoPSR7dGhpcy5hcHBiYXJTaG93U2VhcmNofQogICAgICAgIC5zaG93QWN0aXZpdHlMb2dUb2dnbGU9JHshMH0KICAgICAgICAuYWN0aXZpdHlMb2dDb3VudD0ke3RoaXMuYWN0aXZpdHlMb2dDb3VudH0KICAgICAgICAuYWN0aXZpdHlMb2dBY3RpdmU9JHt0aGlzLmFjdGl2aXR5TG9nVmlzaWJsZX0KICAgICAgICBAbWVudS1zZWxlY3Q9JHtEPT50aGlzLmhhbmRsZUFwcGJhck1lbnVTZWxlY3QoRCl9CiAgICAgICAgQGJyZWFkY3J1bWItbmF2aWdhdGU9JHtEPT50aGlzLmhhbmRsZUFwcGJhckJyZWFkY3J1bWJOYXZpZ2F0ZShEKX0KICAgICAgICBAc2VhcmNoLWNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQXBwYmFyU2VhcmNoQ2xpY2soKX0KICAgICAgICBAc2VhcmNoLXF1ZXJ5PSR7RD0+dGhpcy5oYW5kbGVBcHBiYXJTZWFyY2hRdWVyeShEKX0KICAgICAgICBAdXNlci1tZW51LW9wZW49JHsoKT0+dGhpcy5oYW5kbGVBcHBiYXJVc2VyTWVudU9wZW4oKX0KICAgICAgICBAcHJvZmlsZS1tZW51LXNlbGVjdD0ke0Q9PnRoaXMuaGFuZGxlQXBwYmFyUHJvZmlsZU1lbnVTZWxlY3QoRCl9CiAgICAgICAgQGFjdGl2aXR5LXRvZ2dsZT0keygpPT50aGlzLnRvZ2dsZUFjdGl2aXR5TG9nKCl9CiAgICAgID48L2RlZXMtYXBwdWktYXBwYmFyPgogICAgICA8ZGl2IGNsYXNzPSJtYWluZ3JpZCIgc3R5bGU9ImdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvIDFmciAke3RoaXMuYWN0aXZpdHlMb2dWaXNpYmxlPyIyODBweCI6IjBweCJ9OyI+CiAgICAgICAgJHt0aGlzLm1haW5tZW51VmlzaWJsZT93YAogICAgICAgICAgPGRlZXMtYXBwdWktbWFpbm1lbnUKICAgICAgICAgICAgLmxvZ29JY29uPSR7dGhpcy5tYWlubWVudUxvZ29JY29ufQogICAgICAgICAgICAubG9nb1RleHQ9JHt0aGlzLm1haW5tZW51TG9nb1RleHR9CiAgICAgICAgICAgIC5tZW51R3JvdXBzPSR7dGhpcy5tYWlubWVudUdyb3Vwc30KICAgICAgICAgICAgLmJvdHRvbVRhYnM9JHt0aGlzLm1haW5tZW51Qm90dG9tVGFic30KICAgICAgICAgICAgLnRhYnM9JHt0aGlzLm1haW5tZW51VGFic30KICAgICAgICAgICAgLnNlbGVjdGVkVGFiPSR7dGhpcy5tYWlubWVudVNlbGVjdGVkVGFifQogICAgICAgICAgICAuY29sbGFwc2VkPSR7dGhpcy5tYWlubWVudUNvbGxhcHNlZH0KICAgICAgICAgICAgQHRhYi1zZWxlY3Q9JHtEPT50aGlzLmhhbmRsZU1haW5tZW51VGFiU2VsZWN0KEQpfQogICAgICAgICAgICBAY29sbGFwc2UtY2hhbmdlPSR7RD0+dGhpcy5oYW5kbGVNYWlubWVudUNvbGxhcHNlQ2hhbmdlKEQpfQogICAgICAgICAgPjwvZGVlcy1hcHB1aS1tYWlubWVudT4KICAgICAgICBgOiIifQogICAgICAgICR7dGhpcy5zZWNvbmRhcnltZW51VmlzaWJsZT93YAogICAgICAgICAgPGRlZXMtYXBwdWktc2Vjb25kYXJ5bWVudQogICAgICAgICAgICAuaGVhZGluZz0ke3RoaXMuc2Vjb25kYXJ5bWVudUhlYWRpbmd9CiAgICAgICAgICAgIC5ncm91cHM9JHt0aGlzLnNlY29uZGFyeW1lbnVHcm91cHN9CiAgICAgICAgICAgIC5zZWxlY3RlZEl0ZW09JHt0aGlzLnNlY29uZGFyeW1lbnVTZWxlY3RlZEl0ZW19CiAgICAgICAgICAgIC5jb2xsYXBzZWQ9JHt0aGlzLnNlY29uZGFyeW1lbnVDb2xsYXBzZWR9CiAgICAgICAgICAgIEBpdGVtLXNlbGVjdD0ke0Q9PnRoaXMuaGFuZGxlU2Vjb25kYXJ5bWVudUl0ZW1TZWxlY3QoRCl9CiAgICAgICAgICAgIEBjb2xsYXBzZS1jaGFuZ2U9JHtEPT50aGlzLmhhbmRsZVNlY29uZGFyeW1lbnVDb2xsYXBzZUNoYW5nZShEKX0KICAgICAgICAgID48L2RlZXMtYXBwdWktc2Vjb25kYXJ5bWVudT4KICAgICAgICBgOiIifQogICAgICAgIDxkZWVzLWFwcHVpLW1haW5jb250ZW50CiAgICAgICAgICAudGFicz0ke3RoaXMubWFpbmNvbnRlbnRUYWJzfQogICAgICAgICAgLnNlbGVjdGVkVGFiPSR7dGhpcy5tYWluY29udGVudFNlbGVjdGVkVGFifQogICAgICAgICAgLnNob3dUYWJzPSR7dGhpcy5tYWluY29udGVudFRhYnNWaXNpYmxlfQogICAgICAgICAgLnRhYnNBdXRvSGlkZT0ke3RoaXMuY29udGVudFRhYnNBdXRvSGlkZX0KICAgICAgICAgIC50YWJzQXV0b0hpZGVUaHJlc2hvbGQ9JHt0aGlzLmNvbnRlbnRUYWJzQXV0b0hpZGVUaHJlc2hvbGR9CiAgICAgICAgICAudGFiQWN0aW9uc0xlZnQ9JHt0aGlzLmNvbnRlbnRUYWJBY3Rpb25zTGVmdH0KICAgICAgICAgIC50YWJBY3Rpb25zUmlnaHQ9JHt0aGlzLmNvbnRlbnRUYWJBY3Rpb25zUmlnaHR9CiAgICAgICAgICBAdGFiLXNlbGVjdD0ke0Q9PnRoaXMuaGFuZGxlQ29udGVudFRhYlNlbGVjdChEKX0KICAgICAgICAgIEB0YWItY2xvc2U9JHtEPT50aGlzLmhhbmRsZUNvbnRlbnRUYWJDbG9zZShEKX0KICAgICAgICA+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWV3LWNvbnRhaW5lciI+PC9kaXY+CiAgICAgICAgICA8c2xvdCBuYW1lPSJtYWluY29udGVudCI+PC9zbG90PgogICAgICAgIDwvZGVlcy1hcHB1aS1tYWluY29udGVudD4KICAgICAgICA8ZGVlcy1hcHB1aS1hY3Rpdml0eWxvZwogICAgICAgICAgY2xhc3M9IiR7dGhpcy5hY3Rpdml0eUxvZ1Zpc2libGU/InZpc2libGUiOiJoaWRkZW4ifSIKICAgICAgICA+PC9kZWVzLWFwcHVpLWFjdGl2aXR5bG9nPgogICAgICA8L2Rpdj4KICAgICAgJHt0aGlzLmJvdHRvbWJhclZpc2libGU/d2AKICAgICAgICA8ZGVlcy1hcHB1aS1ib3R0b21iYXI+PC9kZWVzLWFwcHVpLWJvdHRvbWJhcj4KICAgICAgYDoiIn0KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy5hcHBiYXI9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtYXBwdWktYXBwYmFyIiksdGhpcy5tYWlubWVudT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aS1tYWlubWVudSIpLHRoaXMuc2Vjb25kYXJ5bWVudT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aS1zZWNvbmRhcnltZW51IiksdGhpcy5tYWluY29udGVudD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1hcHB1aS1tYWluY29udGVudCIpLHRoaXMuYWN0aXZpdHlsb2dFbGVtZW50PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLWFwcHVpLWFjdGl2aXR5bG9nIiksdGhpcy5ib3R0b21iYXJFbGVtZW50PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLWFwcHVpLWJvdHRvbWJhciIpLHRoaXMuYWN0aXZpdHlsb2dFbGVtZW50JiZ0aGlzLmFjdGl2aXR5bG9nRWxlbWVudC5lbnRyaWVzJC5zdWJzY3JpYmUoRD0+e3RoaXMuYWN0aXZpdHlMb2dDb3VudD1ELmxlbmd0aH0pLHRoaXMudmlld1JlZ2lzdHJ5LnNldEFwcHVpUmVmKHRoaXMpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnJvdXRlckNsZWFudXAmJih0aGlzLnJvdXRlckNsZWFudXAoKSx0aGlzLnJvdXRlckNsZWFudXA9bnVsbCksdGhpcy52aWV3TGlmZWN5Y2xlJC5jb21wbGV0ZSgpLHRoaXMudmlld0NoYW5nZWQkLmNvbXBsZXRlKCl9c2V0QXBwQmFyTWVudXMoRCl7dGhpcy5hcHBiYXJNZW51SXRlbXM9Wy4uLkRdfXVwZGF0ZUFwcEJhck1lbnUoRCxMKXt0aGlzLmFwcGJhck1lbnVJdGVtcz10aGlzLmFwcGJhck1lbnVJdGVtcy5tYXAoZWU9PiJuYW1lImluIGVlJiZlZS5uYW1lPT09RD97Li4uZWUsLi4uTH06ZWUpfXNldEJyZWFkY3J1bWJzKEQpe0FycmF5LmlzQXJyYXkoRCk/dGhpcy5hcHBiYXJCcmVhZGNydW1icz1ELmpvaW4odGhpcy5hcHBiYXJCcmVhZGNydW1iU2VwYXJhdG9yKTp0aGlzLmFwcGJhckJyZWFkY3J1bWJzPUR9c2V0VXNlcihEKXt0aGlzLmFwcGJhclVzZXI9RH1zZXRQcm9maWxlTWVudUl0ZW1zKEQpe3RoaXMuYXBwYmFyUHJvZmlsZU1lbnVJdGVtcz1bLi4uRF19c2V0U2VhcmNoVmlzaWJsZShEKXt0aGlzLmFwcGJhclNob3dTZWFyY2g9RH1zZXRXaW5kb3dDb250cm9sc1Zpc2libGUoRCl7dGhpcy5hcHBiYXJTaG93V2luZG93Q29udHJvbHM9RH1vblNlYXJjaChEKXt0aGlzLnNlYXJjaENhbGxiYWNrPUR9c2V0TWFpbk1lbnUoRCl7RC5sb2dvSWNvbiE9PXZvaWQgMCYmKHRoaXMubWFpbm1lbnVMb2dvSWNvbj1ELmxvZ29JY29uKSxELmxvZ29UZXh0IT09dm9pZCAwJiYodGhpcy5tYWlubWVudUxvZ29UZXh0PUQubG9nb1RleHQpLEQuZ3JvdXBzIT09dm9pZCAwJiYodGhpcy5tYWlubWVudUdyb3Vwcz1bLi4uRC5ncm91cHNdKSxELmJvdHRvbVRhYnMhPT12b2lkIDAmJih0aGlzLm1haW5tZW51Qm90dG9tVGFicz1bLi4uRC5ib3R0b21UYWJzXSl9dXBkYXRlTWFpbk1lbnVHcm91cChELEwpe3RoaXMubWFpbm1lbnVHcm91cHM9dGhpcy5tYWlubWVudUdyb3Vwcy5tYXAoZWU9PmVlLm5hbWU9PT1EP3suLi5lZSwuLi5MfTplZSl9YWRkTWFpbk1lbnVJdGVtKEQsTCl7dGhpcy5tYWlubWVudUdyb3Vwcz10aGlzLm1haW5tZW51R3JvdXBzLm1hcChlZT0+ZWUubmFtZT09PUQ/ey4uLmVlLGl0ZW1zOlsuLi5lZS5pdGVtc3x8W10sTF19OmVlKX1yZW1vdmVNYWluTWVudUl0ZW0oRCxMKXt0aGlzLm1haW5tZW51R3JvdXBzPXRoaXMubWFpbm1lbnVHcm91cHMubWFwKGVlPT5lZS5uYW1lPT09RD97Li4uZWUsaXRlbXM6KGVlLml0ZW1zfHxbXSkuZmlsdGVyKERlPT5EZS5rZXkhPT1MKX06ZWUpfXNldE1haW5NZW51U2VsZWN0aW9uKEQpe2ZvcihsZXQgZWUgb2YgdGhpcy5tYWlubWVudUdyb3Vwcyl7bGV0IERlPWVlLml0ZW1zPy5maW5kKEllPT5JZS5rZXk9PT1EKTtpZihEZSl7dGhpcy5tYWlubWVudVNlbGVjdGVkVGFiPURlO3JldHVybn19bGV0IEw9dGhpcy5tYWlubWVudUJvdHRvbVRhYnMuZmluZChlZT0+ZWUua2V5PT09RCk7TCYmKHRoaXMubWFpbm1lbnVTZWxlY3RlZFRhYj1MKX1zZXRNYWluTWVudUNvbGxhcHNlZChEKXt0aGlzLm1haW5tZW51Q29sbGFwc2VkPUR9c2V0TWFpbk1lbnVWaXNpYmxlKEQpe3RoaXMubWFpbm1lbnVWaXNpYmxlPUR9c2V0U2Vjb25kYXJ5TWVudUNvbGxhcHNlZChEKXt0aGlzLnNlY29uZGFyeW1lbnVDb2xsYXBzZWQ9RH1zZXRTZWNvbmRhcnlNZW51VmlzaWJsZShEKXt0aGlzLnNlY29uZGFyeW1lbnVWaXNpYmxlPUR9c2V0Q29udGVudFRhYnNWaXNpYmxlKEQpe3RoaXMubWFpbmNvbnRlbnRUYWJzVmlzaWJsZT1EfXNldENvbnRlbnRUYWJzQXV0b0hpZGUoRCxMPTApe3RoaXMuY29udGVudFRhYnNBdXRvSGlkZT1ELHRoaXMuY29udGVudFRhYnNBdXRvSGlkZVRocmVzaG9sZD1MfXNldE1haW5NZW51QmFkZ2UoRCxMKXt0aGlzLm1haW5tZW51R3JvdXBzPXRoaXMubWFpbm1lbnVHcm91cHMubWFwKGVlPT4oey4uLmVlLGl0ZW1zOihlZS5pdGVtc3x8W10pLm1hcChEZT0+RGUua2V5PT09RD97Li4uRGUsYmFkZ2U6TH06RGUpfSkpLHRoaXMubWFpbm1lbnVCb3R0b21UYWJzPXRoaXMubWFpbm1lbnVCb3R0b21UYWJzLm1hcChlZT0+ZWUua2V5PT09RD97Li4uZWUsYmFkZ2U6TH06ZWUpfWNsZWFyTWFpbk1lbnVCYWRnZShEKXt0aGlzLm1haW5tZW51R3JvdXBzPXRoaXMubWFpbm1lbnVHcm91cHMubWFwKEw9Pih7Li4uTCxpdGVtczooTC5pdGVtc3x8W10pLm1hcChlZT0+e2lmKGVlLmtleT09PUQpe2xldHtiYWRnZTpEZSwuLi5JZX09ZWU7cmV0dXJuIEllfXJldHVybiBlZX0pfSkpLHRoaXMubWFpbm1lbnVCb3R0b21UYWJzPXRoaXMubWFpbm1lbnVCb3R0b21UYWJzLm1hcChMPT57aWYoTC5rZXk9PT1EKXtsZXR7YmFkZ2U6ZWUsLi4uRGV9PUw7cmV0dXJuIERlfXJldHVybiBMfSl9c2V0U2Vjb25kYXJ5TWVudShEKXtELmhlYWRpbmchPT12b2lkIDAmJih0aGlzLnNlY29uZGFyeW1lbnVIZWFkaW5nPUQuaGVhZGluZyksdGhpcy5zZWNvbmRhcnltZW51R3JvdXBzPVsuLi5ELmdyb3Vwc119dXBkYXRlU2Vjb25kYXJ5TWVudUdyb3VwKEQsTCl7dGhpcy5zZWNvbmRhcnltZW51R3JvdXBzPXRoaXMuc2Vjb25kYXJ5bWVudUdyb3Vwcy5tYXAoZWU9PmVlLm5hbWU9PT1EP3suLi5lZSwuLi5MfTplZSl9YWRkU2Vjb25kYXJ5TWVudUl0ZW0oRCxMKXt0aGlzLnNlY29uZGFyeW1lbnVHcm91cHM9dGhpcy5zZWNvbmRhcnltZW51R3JvdXBzLm1hcChlZT0+ZWUubmFtZT09PUQ/ey4uLmVlLGl0ZW1zOlsuLi5lZS5pdGVtcyxMXX06ZWUpfXNldFNlY29uZGFyeU1lbnVTZWxlY3Rpb24oRCl7Zm9yKGxldCBMIG9mIHRoaXMuc2Vjb25kYXJ5bWVudUdyb3Vwcyl7bGV0IGVlPUwuaXRlbXMuZmluZChEZT0+ImtleSJpbiBEZSYmRGUua2V5PT09RCk7aWYoZWUmJighKCJ0eXBlImluIGVlKXx8ZWUudHlwZT09PSJ0YWIifHxlZS50eXBlPT09dm9pZCAwKSl7dGhpcy5zZWNvbmRhcnltZW51U2VsZWN0ZWRJdGVtPWVlO3JldHVybn19fWNsZWFyU2Vjb25kYXJ5TWVudSgpe3RoaXMuc2Vjb25kYXJ5bWVudUhlYWRpbmc9IiIsdGhpcy5zZWNvbmRhcnltZW51R3JvdXBzPVtdLHRoaXMuc2Vjb25kYXJ5bWVudVNlbGVjdGVkSXRlbT12b2lkIDB9c2V0Q29udGVudFRhYnMoRCl7dGhpcy5tYWluY29udGVudFRhYnM9Wy4uLkRdLEQubGVuZ3RoPjAmJiF0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWImJih0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWI9RFswXSl9YWRkQ29udGVudFRhYihEKXt0aGlzLm1haW5jb250ZW50VGFicz1bLi4udGhpcy5tYWluY29udGVudFRhYnMsRF19cmVtb3ZlQ29udGVudFRhYihEKXt0aGlzLm1haW5jb250ZW50VGFicz10aGlzLm1haW5jb250ZW50VGFicy5maWx0ZXIoTD0+TC5rZXkhPT1EKSx0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWI/LmtleT09PUQmJih0aGlzLm1haW5jb250ZW50U2VsZWN0ZWRUYWI9dGhpcy5tYWluY29udGVudFRhYnNbMF0pfXNlbGVjdENvbnRlbnRUYWIoRCl7bGV0IEw9dGhpcy5tYWluY29udGVudFRhYnMuZmluZChlZT0+ZWUua2V5PT09RCk7TCYmKHRoaXMubWFpbmNvbnRlbnRTZWxlY3RlZFRhYj1MKX1nZXRTZWxlY3RlZENvbnRlbnRUYWIoKXtyZXR1cm4gdGhpcy5tYWluY29udGVudFNlbGVjdGVkVGFifXNldENvbnRlbnRUYWJBY3Rpb25zTGVmdChEKXt0aGlzLmNvbnRlbnRUYWJBY3Rpb25zTGVmdD1bLi4uRF19c2V0Q29udGVudFRhYkFjdGlvbnNSaWdodChEKXt0aGlzLmNvbnRlbnRUYWJBY3Rpb25zUmlnaHQ9Wy4uLkRdfWdldCBhY3Rpdml0eUxvZygpe3JldHVybiB0aGlzLmFjdGl2aXR5bG9nRWxlbWVudD97YWRkOnMoRD0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQuYWRkKEQpLCJhZGQiKSxhZGRNYW55OnMoRD0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQuYWRkTWFueShEKSwiYWRkTWFueSIpLGNsZWFyOnMoKCk9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50LmNsZWFyKCksImNsZWFyIiksZ2V0RW50cmllczpzKCgpPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudC5nZXRFbnRyaWVzKCksImdldEVudHJpZXMiKSxmaWx0ZXI6cyhEPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudC5maWx0ZXIoRCksImZpbHRlciIpLHNlYXJjaDpzKEQ9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50LnNlYXJjaChEKSwic2VhcmNoIil9OnthZGQ6cyhEPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudD8uYWRkKEQpKX0sImFkZCIpLGFkZE1hbnk6cyhEPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmFjdGl2aXR5bG9nRWxlbWVudD8uYWRkTWFueShEKSl9LCJhZGRNYW55IiksY2xlYXI6cygoKT0+e3RoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQ/LmNsZWFyKCkpfSwiY2xlYXIiKSxnZXRFbnRyaWVzOnMoKCk9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50Py5nZXRFbnRyaWVzKCl8fFtdLCJnZXRFbnRyaWVzIiksZmlsdGVyOnMoRD0+dGhpcy5hY3Rpdml0eWxvZ0VsZW1lbnQ/LmZpbHRlcihEKXx8W10sImZpbHRlciIpLHNlYXJjaDpzKEQ9PnRoaXMuYWN0aXZpdHlsb2dFbGVtZW50Py5zZWFyY2goRCl8fFtdLCJzZWFyY2giKX19c2V0QWN0aXZpdHlMb2dWaXNpYmxlKEQpe3RoaXMuYWN0aXZpdHlMb2dWaXNpYmxlPUR9dG9nZ2xlQWN0aXZpdHlMb2coKXt0aGlzLmFjdGl2aXR5TG9nVmlzaWJsZT0hdGhpcy5hY3Rpdml0eUxvZ1Zpc2libGV9Z2V0QWN0aXZpdHlMb2dWaXNpYmxlKCl7cmV0dXJuIHRoaXMuYWN0aXZpdHlMb2dWaXNpYmxlfWdldCBib3R0b21CYXIoKXtyZXR1cm4gdGhpcy5ib3R0b21iYXJFbGVtZW50P3thZGRXaWRnZXQ6cyhEPT50aGlzLmJvdHRvbWJhckVsZW1lbnQuYWRkV2lkZ2V0KEQpLCJhZGRXaWRnZXQiKSx1cGRhdGVXaWRnZXQ6cygoRCxMKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50LnVwZGF0ZVdpZGdldChELEwpLCJ1cGRhdGVXaWRnZXQiKSxyZW1vdmVXaWRnZXQ6cyhEPT50aGlzLmJvdHRvbWJhckVsZW1lbnQucmVtb3ZlV2lkZ2V0KEQpLCJyZW1vdmVXaWRnZXQiKSxnZXRXaWRnZXQ6cyhEPT50aGlzLmJvdHRvbWJhckVsZW1lbnQuZ2V0V2lkZ2V0KEQpLCJnZXRXaWRnZXQiKSxjbGVhcldpZGdldHM6cygoKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50LmNsZWFyV2lkZ2V0cygpLCJjbGVhcldpZGdldHMiKSxhZGRBY3Rpb246cyhEPT50aGlzLmJvdHRvbWJhckVsZW1lbnQuYWRkQWN0aW9uKEQpLCJhZGRBY3Rpb24iKSxyZW1vdmVBY3Rpb246cyhEPT50aGlzLmJvdHRvbWJhckVsZW1lbnQucmVtb3ZlQWN0aW9uKEQpLCJyZW1vdmVBY3Rpb24iKSxjbGVhckFjdGlvbnM6cygoKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50LmNsZWFyQWN0aW9ucygpLCJjbGVhckFjdGlvbnMiKX06e2FkZFdpZGdldDpzKEQ9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYm90dG9tYmFyRWxlbWVudD8uYWRkV2lkZ2V0KEQpKX0sImFkZFdpZGdldCIpLHVwZGF0ZVdpZGdldDpzKChELEwpPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmJvdHRvbWJhckVsZW1lbnQ/LnVwZGF0ZVdpZGdldChELEwpKX0sInVwZGF0ZVdpZGdldCIpLHJlbW92ZVdpZGdldDpzKEQ9Pnt0aGlzLnVwZGF0ZUNvbXBsZXRlLnRoZW4oKCk9PnRoaXMuYm90dG9tYmFyRWxlbWVudD8ucmVtb3ZlV2lkZ2V0KEQpKX0sInJlbW92ZVdpZGdldCIpLGdldFdpZGdldDpzKEQ9PnRoaXMuYm90dG9tYmFyRWxlbWVudD8uZ2V0V2lkZ2V0KEQpLCJnZXRXaWRnZXQiKSxjbGVhcldpZGdldHM6cygoKT0+e3RoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50Py5jbGVhcldpZGdldHMoKSl9LCJjbGVhcldpZGdldHMiKSxhZGRBY3Rpb246cyhEPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmJvdHRvbWJhckVsZW1lbnQ/LmFkZEFjdGlvbihEKSl9LCJhZGRBY3Rpb24iKSxyZW1vdmVBY3Rpb246cyhEPT57dGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLmJvdHRvbWJhckVsZW1lbnQ/LnJlbW92ZUFjdGlvbihEKSl9LCJyZW1vdmVBY3Rpb24iKSxjbGVhckFjdGlvbnM6cygoKT0+e3RoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5ib3R0b21iYXJFbGVtZW50Py5jbGVhckFjdGlvbnMoKSl9LCJjbGVhckFjdGlvbnMiKX19c2V0Qm90dG9tQmFyVmlzaWJsZShEKXt0aGlzLmJvdHRvbWJhclZpc2libGU9RCxEP3RoaXMucmVtb3ZlQXR0cmlidXRlKCJib3R0b21iYXItaGlkZGVuIik6dGhpcy5zZXRBdHRyaWJ1dGUoImJvdHRvbWJhci1oaWRkZW4iLCIiKX1nZXRCb3R0b21CYXJWaXNpYmxlKCl7cmV0dXJuIHRoaXMuYm90dG9tYmFyVmlzaWJsZX1hc3luYyBuYXZpZ2F0ZVRvVmlldyhELEwpe2xldCBlZT10aGlzLnZpZXdSZWdpc3RyeS5nZXQoRCk7aWYoIWVlKXJldHVybiBjb25zb2xlLndhcm4oYENhbm5vdCBuYXZpZ2F0ZSB0byB1bmtub3duIHZpZXc6ICR7RH1gKSwhMTtsZXQgRGU9YXdhaXQgdGhpcy52aWV3UmVnaXN0cnkuY2FuTGVhdmVDdXJyZW50VmlldygpO2lmKERlIT09ITApaWYodHlwZW9mIERlPT0ic3RyaW5nIil7aWYoIXdpbmRvdy5jb25maXJtKERlKSlyZXR1cm4hMX1lbHNlIHJldHVybiExO3RoaXMudmlld0xpZmVjeWNsZSQubmV4dCh7dHlwZToibG9hZGluZyIsdmlld0lkOkR9KTt0cnl7YXdhaXQgdGhpcy5sb2FkVmlldyhlZSxMKTtsZXQgSWU9ZWUucm91dGV8fEQ7aWYoTClmb3IobGV0W3R0LGF0XW9mIE9iamVjdC5lbnRyaWVzKEwpKUllPUllLnJlcGxhY2UoYDoke3R0fWAsYXQpO2xldCBXZT1gIyR7SWV9YDtyZXR1cm4gd2luZG93LmxvY2F0aW9uLmhhc2ghPT1XZSYmd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKHt2aWV3SWQ6RH0sIiIsV2UpLCEwfWNhdGNoKEllKXtyZXR1cm4gdGhpcy52aWV3TGlmZWN5Y2xlJC5uZXh0KHt0eXBlOiJsb2FkRXJyb3IiLHZpZXdJZDpELGVycm9yOkllfSksITF9fWdldEN1cnJlbnRWaWV3KCl7cmV0dXJuIHRoaXMuY3VycmVudFZpZXd9Z2V0Vmlld1JlZ2lzdHJ5KCl7cmV0dXJuIHRoaXMudmlld1JlZ2lzdHJ5fWNvbmZpZ3VyZShEKXtELnZpZXdzJiYodGhpcy52aWV3UmVnaXN0cnkuY2xlYXIoKSx0aGlzLnZpZXdSZWdpc3RyeS5yZWdpc3RlckFsbChELnZpZXdzKSksRC5icmFuZGluZyYmKHRoaXMubWFpbm1lbnVMb2dvSWNvbj1ELmJyYW5kaW5nLmxvZ29JY29ufHwiIix0aGlzLm1haW5tZW51TG9nb1RleHQ9RC5icmFuZGluZy5sb2dvVGV4dHx8IiIpLEQuYXBwQmFyJiYodGhpcy5hcHBiYXJNZW51SXRlbXM9RC5hcHBCYXIubWVudUl0ZW1zfHxbXSx0aGlzLmFwcGJhckJyZWFkY3J1bWJzPUQuYXBwQmFyLmJyZWFkY3J1bWJzfHwiIix0aGlzLmFwcGJhckJyZWFkY3J1bWJTZXBhcmF0b3I9RC5hcHBCYXIuYnJlYWRjcnVtYlNlcGFyYXRvcnx8IiA+ICIsdGhpcy5hcHBiYXJTaG93V2luZG93Q29udHJvbHM9RC5hcHBCYXIuc2hvd1dpbmRvd0NvbnRyb2xzPz8hMCx0aGlzLmFwcGJhclNob3dTZWFyY2g9RC5hcHBCYXIuc2hvd1NlYXJjaD8/ITEsdGhpcy5hcHBiYXJVc2VyPUQuYXBwQmFyLnVzZXIsdGhpcy5hcHBiYXJQcm9maWxlTWVudUl0ZW1zPUQuYXBwQmFyLnByb2ZpbGVNZW51SXRlbXN8fFtdKSxELm1haW5NZW51JiYoRC5tYWluTWVudS5zZWN0aW9ucz90aGlzLm1haW5tZW51R3JvdXBzPXRoaXMuYnVpbGRNYWluTWVudUZyb21TZWN0aW9ucyhEKTpELm1haW5NZW51Lmdyb3VwcyYmKHRoaXMubWFpbm1lbnVHcm91cHM9RC5tYWluTWVudS5ncm91cHMpLEQubWFpbk1lbnUubG9nb0ljb24mJih0aGlzLm1haW5tZW51TG9nb0ljb249RC5tYWluTWVudS5sb2dvSWNvbiksRC5tYWluTWVudS5sb2dvVGV4dCYmKHRoaXMubWFpbm1lbnVMb2dvVGV4dD1ELm1haW5NZW51LmxvZ29UZXh0KSxELm1haW5NZW51LmJvdHRvbVRhYnM/dGhpcy5tYWlubWVudUJvdHRvbVRhYnM9RC5tYWluTWVudS5ib3R0b21UYWJzOkQubWFpbk1lbnUuYm90dG9tSXRlbXMmJih0aGlzLm1haW5tZW51Qm90dG9tVGFicz10aGlzLmJ1aWxkQm90dG9tVGFic0Zyb21JdGVtcyhELm1haW5NZW51LmJvdHRvbUl0ZW1zKSkpLEQuYm90dG9tQmFyJiYodGhpcy5zZXRCb3R0b21CYXJWaXNpYmxlKEQuYm90dG9tQmFyLnZpc2libGU/PyEwKSxELmJvdHRvbUJhci53aWRnZXRzJiZELmJvdHRvbUJhci53aWRnZXRzLmZvckVhY2goTD0+e3RoaXMuYm90dG9tQmFyLmFkZFdpZGdldChMKX0pLEQuYm90dG9tQmFyLmFjdGlvbnMmJkQuYm90dG9tQmFyLmFjdGlvbnMuZm9yRWFjaChMPT57dGhpcy5ib3R0b21CYXIuYWRkQWN0aW9uKEwpfSkpLHRoaXMuc2V0dXBSb3V0ZXJJbnRlZ3JhdGlvbihEKSxELm9uVmlld0NoYW5nZSYmdGhpcy52aWV3Q2hhbmdlZCQuc3Vic2NyaWJlKEw9PntELm9uVmlld0NoYW5nZShMLnZpZXdJZCxMLnZpZXcpfSksRC5vblNlYXJjaCYmKHRoaXMuc2VhcmNoQ2FsbGJhY2s9RC5vblNlYXJjaCksRC5kZWZhdWx0VmlldyYmdGhpcy5uYXZpZ2F0ZVRvVmlldyhELmRlZmF1bHRWaWV3KX1zZXR1cFJvdXRlckludGVncmF0aW9uKEQpe2xldCBMPXMoKCk9PntsZXQgRGU9d2luZG93LmxvY2F0aW9uLmhhc2guc2xpY2UoMSk7aWYoIURlKXJldHVybjtsZXQgSWU9dGhpcy52aWV3UmVnaXN0cnkuZmluZEJ5Um91dGUoRGUpO0llJiZ0aGlzLm5hdmlnYXRlVG9WaWV3KEllLnZpZXcuaWQsSWUucGFyYW1zKX0sImhhbmRsZUhhc2hDaGFuZ2UiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiaGFzaGNoYW5nZSIsTCksdGhpcy5yb3V0ZXJDbGVhbnVwPSgpPT57d2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoImhhc2hjaGFuZ2UiLEwpfTtsZXQgZWU9d2luZG93LmxvY2F0aW9uLmhhc2guc2xpY2UoMSk7aWYoZWUpe2xldCBEZT10aGlzLnZpZXdSZWdpc3RyeS5maW5kQnlSb3V0ZShlZSk7RGUmJnNldFRpbWVvdXQoKCk9PnRoaXMubmF2aWdhdGVUb1ZpZXcoRGUudmlldy5pZCxEZS5wYXJhbXMpLDApfX1idWlsZE1haW5NZW51RnJvbVNlY3Rpb25zKEQpe3JldHVybiBELm1haW5NZW51Py5zZWN0aW9ucz9ELm1haW5NZW51LnNlY3Rpb25zLm1hcChMPT4oe25hbWU6TC5uYW1lfHwiIixpdGVtczpMLnZpZXdzLm1hcChlZT0+e2xldCBEZT10aGlzLnZpZXdSZWdpc3RyeS5nZXQoZWUpO3JldHVybiBEZT97a2V5OkRlLmlkLGljb25OYW1lOkRlLmljb25OYW1lLGFjdGlvbjpzKCgpPT50aGlzLm5hdmlnYXRlVG9WaWV3KGVlKSwiYWN0aW9uIiksYmFkZ2U6RGUuYmFkZ2V9Oihjb25zb2xlLndhcm4oYFZpZXcgIiR7ZWV9IiBub3QgZm91bmQgaW4gcmVnaXN0cnlgKSxudWxsKX0pLmZpbHRlcihCb29sZWFuKX0pKTpbXX1idWlsZEJvdHRvbVRhYnNGcm9tSXRlbXMoRCl7cmV0dXJuIEQubWFwKEw9PntsZXQgZWU9dGhpcy52aWV3UmVnaXN0cnkuZ2V0KEwpO3JldHVybiBlZT97a2V5OmVlLmlkLGljb25OYW1lOmVlLmljb25OYW1lLGFjdGlvbjpzKCgpPT50aGlzLm5hdmlnYXRlVG9WaWV3KEwpLCJhY3Rpb24iKX06KGNvbnNvbGUud2FybihgVmlldyAiJHtMfSIgbm90IGZvdW5kIGluIHJlZ2lzdHJ5YCksbnVsbCl9KS5maWx0ZXIoQm9vbGVhbil9YXN5bmMgbG9hZFZpZXcoRCxMKXtsZXQgZWU9dGhpcy5jdXJyZW50Vmlldzt0aGlzLmN1cnJlbnRWaWV3PUQ7bGV0IERlPXRoaXMubWFpbmNvbnRlbnQ/LnF1ZXJ5U2VsZWN0b3IoIi52aWV3LWNvbnRhaW5lciIpfHx0aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi52aWV3LWNvbnRhaW5lciIpO2lmKERlKXtsZXQgV2U9YXdhaXQgdGhpcy52aWV3UmVnaXN0cnkuYWN0aXZhdGVWaWV3KEQuaWQsRGUsTCk7V2UmJnRoaXMudmlld0xpZmVjeWNsZSQubmV4dCh7dHlwZToiYWN0aXZhdGVkIix2aWV3SWQ6RC5pZCxlbGVtZW50OldlLHBhcmFtczpMfSl9RC5zZWNvbmRhcnlNZW51JiYodGhpcy5zZWNvbmRhcnltZW51R3JvdXBzPUQuc2Vjb25kYXJ5TWVudSx0aGlzLnNlY29uZGFyeW1lbnVIZWFkaW5nPUQubmFtZSksRC5jb250ZW50VGFicyYmKHRoaXMubWFpbmNvbnRlbnRUYWJzPUQuY29udGVudFRhYnMpLHRoaXMuc2V0TWFpbk1lbnVTZWxlY3Rpb24oRC5pZCk7bGV0IEllPXt2aWV3SWQ6RC5pZCx2aWV3OkQscHJldmlvdXNWaWV3OmVlLHBhcmFtczpMfTt0aGlzLnZpZXdDaGFuZ2VkJC5uZXh0KEllKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ2aWV3LWNoYW5nZSIse2RldGFpbDpJZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUFwcGJhck1lbnVTZWxlY3QoRCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYXBwYmFyLW1lbnUtc2VsZWN0Iix7ZGV0YWlsOkQuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQXBwYmFyQnJlYWRjcnVtYk5hdmlnYXRlKEQpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFwcGJhci1icmVhZGNydW1iLW5hdmlnYXRlIix7ZGV0YWlsOkQuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQXBwYmFyU2VhcmNoQ2xpY2soKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhcHBiYXItc2VhcmNoLWNsaWNrIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVBcHBiYXJTZWFyY2hRdWVyeShEKXt0aGlzLnNlYXJjaENhbGxiYWNrJiZ0aGlzLnNlYXJjaENhbGxiYWNrKEQuZGV0YWlsLnF1ZXJ5KSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWFyY2gtcXVlcnkiLHtkZXRhaWw6RC5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVBcHBiYXJVc2VyTWVudU9wZW4oKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJhcHBiYXItdXNlci1tZW51LW9wZW4iLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUFwcGJhclByb2ZpbGVNZW51U2VsZWN0KEQpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFwcGJhci1wcm9maWxlLW1lbnUtc2VsZWN0Iix7ZGV0YWlsOkQuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlTWFpbm1lbnVUYWJTZWxlY3QoRCl7dGhpcy5tYWlubWVudVNlbGVjdGVkVGFiPUQuZGV0YWlsLnRhYix0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJtYWlubWVudS10YWItc2VsZWN0Iix7ZGV0YWlsOkQuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlU2Vjb25kYXJ5bWVudUl0ZW1TZWxlY3QoRCl7dGhpcy5zZWNvbmRhcnltZW51U2VsZWN0ZWRJdGVtPUQuZGV0YWlsLml0ZW0sdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2Vjb25kYXJ5bWVudS1pdGVtLXNlbGVjdCIse2RldGFpbDpELmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZU1haW5tZW51Q29sbGFwc2VDaGFuZ2UoRCl7dGhpcy5tYWlubWVudUNvbGxhcHNlZD1ELmRldGFpbC5jb2xsYXBzZWQsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibWFpbm1lbnUtY29sbGFwc2UtY2hhbmdlIix7ZGV0YWlsOkQuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlU2Vjb25kYXJ5bWVudUNvbGxhcHNlQ2hhbmdlKEQpe3RoaXMuc2Vjb25kYXJ5bWVudUNvbGxhcHNlZD1ELmRldGFpbC5jb2xsYXBzZWQsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2Vjb25kYXJ5bWVudS1jb2xsYXBzZS1jaGFuZ2UiLHtkZXRhaWw6RC5kZXRhaWwsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVDb250ZW50VGFiU2VsZWN0KEQpe3RoaXMubWFpbmNvbnRlbnRTZWxlY3RlZFRhYj1ELmRldGFpbC50YWIsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY29udGVudC10YWItc2VsZWN0Iix7ZGV0YWlsOkQuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ29udGVudFRhYkNsb3NlKEQpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImNvbnRlbnQtdGFiLWNsb3NlIix7ZGV0YWlsOkQuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9c3RhdGlje290KHIsdCl9fTtyZXR1cm4gJDc9cn0pKCl9KTt2YXIgSGxhPWYoKCk9PntCbGEoKTtkUWUoKX0pO3ZhciBxbGE9ZigoKT0+e2hRZSgpfSk7dmFyIFZsYT1mKCgpPT57dVFlKCl9KTt2YXIgamxhPWYoKCk9PntwUWUoKX0pO3ZhciBVbGE9ZigoKT0+e0NZZSgpfSk7dmFyIFdsYT1mKCgpPT57ZlFlKCl9KTt2YXIganNlLGY1LEdsYSxZbGE9ZigoKT0+e1ZzKCk7amkoKTt1cygpO2xlKCk7dzEoKTt2YSgpO1FlKCk7anNlPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxmNT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sR2xhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1tb2JpbGVuYXZpZ2F0aW9uIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNNb2JpbGVuYXZpZ2F0aW9uIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpBcnJheX0pXSx1PVtLKCldLGpzZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhlYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImhlYWRpbmciaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5oZWFkaW5nLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuaGVhZGluZz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksanNlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVudUl0ZW1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJtZW51SXRlbXMiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5tZW51SXRlbXMsImdldCIpLHNldDpzKChnLHkpPT57Zy5tZW51SXRlbXM9eX0sInNldCIpfSxtZXRhZGF0YTpifSxjLHApLGpzZSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vYmlsZU5hdlpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ibW9iaWxlTmF2WkluZGV4ImluIGcsImhhcyIpLGdldDpzKGc9PmcubW9iaWxlTmF2WkluZGV4LCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cubW9iaWxlTmF2WkluZGV4PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSxqc2UobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtb0dyb3Vwcz1bIkFwcCBVSSJdO3N0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7KCk9Pnt4LmNyZWF0ZUFuZFNob3coW3tuYW1lOiJEYXNoYm9hcmQiLGljb25OYW1lOiJsdWNpZGU6bGF5b3V0LWRhc2hib2FyZCIsYWN0aW9uOnMoYXN5bmMgYj0+KGNvbnNvbGUubG9nKCJOYXZpZ2F0ZSB0byBkYXNoYm9hcmQiKSxudWxsKSwiYWN0aW9uIil9LHtuYW1lOiJQcm9maWxlIixpY29uTmFtZToibHVjaWRlOnVzZXIiLGFjdGlvbjpzKGFzeW5jIGI9Pihjb25zb2xlLmxvZygiTmF2aWdhdGUgdG8gcHJvZmlsZSIpLG51bGwpLCJhY3Rpb24iKX0se25hbWU6IlNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOnNldHRpbmdzIixhY3Rpb246cyhhc3luYyBiPT4oY29uc29sZS5sb2coIk5hdmlnYXRlIHRvIHNldHRpbmdzIiksbnVsbCksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkhlbHAiLGljb25OYW1lOiJsdWNpZGU6aGVscC1jaXJjbGUiLGFjdGlvbjpzKGFzeW5jIGI9Pihjb25zb2xlLmxvZygiU2hvdyBoZWxwIiksbnVsbCksImFjdGlvbiIpfSx7bmFtZToiU2lnbiBPdXQiLGljb25OYW1lOiJsdWNpZGU6bG9nLW91dCIsYWN0aW9uOnMoYXN5bmMgYj0+KGNvbnNvbGUubG9nKCJTaWduIG91dCIpLG51bGwpLCJhY3Rpb24iKX1dKX19Pk9wZW4gTW9iaWxlIE5hdmlnYXRpb248L2RlZXMtYnV0dG9uPgogIGAsImRlbW8iKTtzdGF0aWMgc2luZ2xldG9uUmVmO3N0YXRpYyBhc3luYyBjcmVhdGVBbmRTaG93KGIpe3JldHVybiB0aGlzLnNpbmdsZXRvblJlZnx8KHRoaXMuc2luZ2xldG9uUmVmPW5ldyB4LGRvY3VtZW50LmJvZHkuYXBwZW5kKHRoaXMuc2luZ2xldG9uUmVmKSxhd2FpdCB0aGlzLnNpbmdsZXRvblJlZi5pbml0KCkpLHRoaXMuc2luZ2xldG9uUmVmLm1lbnVJdGVtcz1iLGF3YWl0IHRoaXMuc2luZ2xldG9uUmVmLnJlYWR5RGVmZXJyZWQucHJvbWlzZSx0aGlzLnNpbmdsZXRvblJlZi5zaG93KCksdGhpcy5zaW5nbGV0b25SZWZ9I2U9ZjUodGhpcyxuLCJNZW51Iik7Z2V0IGhlYWRpbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaGVhZGluZyhiKXt0aGlzLiNlPWJ9I3Q9KGY1KHRoaXMsbCksZjUodGhpcyxjLFtdKSk7Z2V0IG1lbnVJdGVtcygpe3JldHVybiB0aGlzLiN0fXNldCBtZW51SXRlbXMoYil7dGhpcy4jdD1ifSNhPShmNSh0aGlzLHApLGY1KHRoaXMsbSwxZTMpKTtnZXQgbW9iaWxlTmF2WkluZGV4KCl7cmV0dXJuIHRoaXMuI2F9c2V0IG1vYmlsZU5hdlpJbmRleChiKXt0aGlzLiNhPWJ9cmVhZHlEZWZlcnJlZD0oZjUodGhpcyx2KSxBdC5wbHVnaW5zLnNtYXJ0cHJvbWlzZS5kZWZlcigpKTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9YXN5bmMgaW5pdCgpe2F3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5yZWFkeURlZmVycmVkLnJlc29sdmUoKX1zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgfQoKICAgICAgLm1haW4gewogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgaGVpZ2h0OiAxMDB2aDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDMyMHB4OwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIHotaW5kZXg6IHZhcigtLXotaW5kZXgpOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgcmlnaHQ6IDBweDsKICAgICAgICB0b3A6IDBweDsKICAgICAgICBib3R0b206IDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgYm94LXNoYWRvdzogJHtoLmJkVGhlbWUoIi0yMHB4IDAgMjVweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgLTEwcHggMCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjA0KSIsIi0yMHB4IDAgMjVweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4zKSwgLTEwcHggMCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgfQoKICAgICAgLm1haW4uc2hvdyB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLm1lbnUtY29udGFpbmVyIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICB9CgogICAgICAubWVudUl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDJweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAubWVudUl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAubWVudUl0ZW06YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtIGRlZXMtaWNvbiB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAubWVudUl0ZW06aG92ZXIgZGVlcy1pY29uIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAubWVudUl0ZW0tdGV4dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLm1lbnVJdGVtLWRpdmlkZXIgewogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICBtYXJnaW46IDhweCAxNnB4OwogICAgICB9CgogICAgICAvKiBNb2JpbGUgcmVzcG9uc2l2ZW5lc3MgKi8KICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQwMHB4KSB7CiAgICAgICAgLm1haW4gewogICAgICAgICAgbWF4LXdpZHRoOiAxMDB2dzsKICAgICAgICAgIHdpZHRoOiA4NXZ3OwogICAgICAgIH0KICAgICAgfQoKICAgICAgLyogQW5pbWF0aW9uIGZvciBtZW51IGl0ZW1zICovCiAgICAgIEBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgICAgICAgfQogICAgICB9CgogICAgICAubWFpbi5zaG93IC5tZW51SXRlbSB7CiAgICAgICAgYW5pbWF0aW9uOiBzbGlkZUluUmlnaHQgMC4zcyBlYXNlLW91dCBmb3J3YXJkczsKICAgICAgICBhbmltYXRpb24tZGVsYXk6IGNhbGModmFyKC0taXRlbS1pbmRleCwgMCkgKiAwLjA1cyk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgfQoKICAgICAgLyogU2Nyb2xsYmFyIHN0eWxpbmcgKi8KICAgICAgLm1lbnUtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgfQoKICAgICAgLm1lbnUtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5tZW51LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzNmM2Y0NiIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgIH0KCiAgICAgIC5tZW51LWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZDFkNWRiIiwiIzUyNTI1YiIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICAubWFpbiB7CiAgICAgICAgICAtLXotaW5kZXg6ICR7dGhpcy5tb2JpbGVOYXZaSW5kZXh9OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0ibWFpbiI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxoMiBjbGFzcz0iaGVhZGluZyI+JHt0aGlzLmhlYWRpbmd9PC9oMj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJtZW51LWNvbnRhaW5lciI+CiAgICAgICAgICAke3RoaXMubWVudUl0ZW1zLm1hcCgoYixnKT0+ImRpdmlkZXIiaW4gYiYmYi5kaXZpZGVyP3dgPGRpdiBjbGFzcz0ibWVudUl0ZW0tZGl2aWRlciI+PC9kaXY+YDp3YAogICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSJtZW51SXRlbSIKICAgICAgICAgICAgICAgIHN0eWxlPSItLWl0ZW0taW5kZXg6ICR7Z30iCiAgICAgICAgICAgICAgICBAY2xpY2s9IiR7KCk9Pnt0aGlzLmhpZGUoKSxiLmFjdGlvbih0aGlzKX19IgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICR7Yi5pY29uTmFtZT93YAogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Yi5pY29uTmFtZX0gc2l6ZT0iMjAiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZW51SXRlbS10ZXh0Ij4ke2IubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9d2luZG93TGF5ZXI7YXN5bmMgc2hvdygpe2xldCBiPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLGc9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5tYWluIik7dGhpcy53aW5kb3dMYXllcj8oZG9jdW1lbnQuYm9keS5hcHBlbmQodGhpcy53aW5kb3dMYXllciksYXdhaXQgdGhpcy53aW5kb3dMYXllci5zaG93KCkpOih0aGlzLndpbmRvd0xheWVyPWF3YWl0IGpzLmNyZWF0ZUFuZFNob3coe2JsdXI6ITB9KSx0aGlzLndpbmRvd0xheWVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e3RoaXMuaGlkZSgpfSkpLHRoaXMubW9iaWxlTmF2WkluZGV4PVp0LmdldE5leHRaSW5kZXgoKSxadC5yZWdpc3Rlcih0aGlzLHRoaXMubW9iaWxlTmF2WkluZGV4KSxhd2FpdCBiLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMTApLGcuY2xhc3NMaXN0LmFkZCgic2hvdyIpfWFzeW5jIGhpZGUoKXtsZXQgYj1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTt0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm1haW4iKS5jbGFzc0xpc3QucmVtb3ZlKCJzaG93IiksWnQudW5yZWdpc3Rlcih0aGlzKSx0aGlzLndpbmRvd0xheWVyJiZhd2FpdCB0aGlzLndpbmRvd0xheWVyLmRlc3Ryb3koKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksWnQudW5yZWdpc3Rlcih0aGlzKSx0aGlzLndpbmRvd0xheWVyJiZhd2FpdCB0aGlzLndpbmRvd0xheWVyLmRlc3Ryb3koKX1zdGF0aWN7ZjUocix0KX19O3JldHVybiB4PXJ9KSgpfSk7dmFyIEtsYT1mKCgpPT57WWxhKCl9KTt2YXIgWmxhPWYoKCk9PntFcmEoKTtfWWUoKTtRcmEoKTtIbGEoKTtxbGEoKTtWbGEoKTtqbGEoKTtVbGEoKTtXbGEoKTtLbGEoKX0pO3ZhciBYbGE9ZigoKT0+e19mKCl9KTt2YXIgUWxhLG1RZSxKbGEsZWNhPWYoKCk9PntsZSgpO1FsYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sbVFlPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxKbGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWJ1dHRvbi1leGl0IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNCdXR0b25FeGl0Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpOdW1iZXJ9KV0sUWxhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4ic2l6ZSJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLnNpemUsImdldCIpLHNldDpzKChwLHUpPT57cC5zaXplPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxRbGEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRlZXMtYnV0dG9uLWV4aXQ+PC9kZWVzLWJ1dHRvbi1leGl0PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkJ1dHRvbiJdOyNlPW1RZSh0aGlzLG4sMjQpO2dldCBzaXplKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNpemUoYyl7dGhpcy4jZT1jfXN0eWxlcz0obVFlKHRoaXMsbCksW2guZGVmYXVsdFN0eWxlcyxRYAoKICAgIGBdKTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIHdpZHRoOiAke3RoaXMuc2l6ZX1weDsKICAgICAgICAgIGhlaWdodDogJHt0aGlzLnNpemV9cHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJtYWluY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaXJzdExpbmUiPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY29uZExpbmUiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje21RZShyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgdGNhPWYoKCk9PntlY2EoKX0pO3ZhciBhY2EscmNhPWYoKCk9PntsZSgpO2FjYT1zKCgpPT53YAogICAgPHN0eWxlPgogICAgICAke1FgCiAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDsKICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICBtaW4taGVpZ2h0OiAxMDB2aDsKICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgfQoKICAgICAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7CiAgICAgICAgfQoKICAgICAgICAuZGVtby10aXRsZSB7CiAgICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICB9CgogICAgICAgIC5kZW1vLWRlc2NyaXB0aW9uIHsKICAgICAgICAgIGNvbG9yOiAjOTk5OwogICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIDxkaXYgY2xhc3M9ImRlbW9Cb3giPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+QmFzaWMgQnV0dG9uIEdyb3VwczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkJ1dHRvbiBncm91cHMgd2l0aG91dCBsYWJlbHMgZm9yIHNpbXBsZSBncm91cGluZzwvcD4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgICA8ZGVlcy1idXR0b24+T3B0aW9uIDE8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uPk9wdGlvbiAyPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5PcHRpb24gMzwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+TGFiZWxlZCBCdXR0b24gR3JvdXBzPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+QnV0dG9uIGdyb3VwcyB3aXRoIGRlc2NyaXB0aXZlIGxhYmVsczwvcD4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IlZpZXcgTW9kZToiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImhpZ2hsaWdodGVkIj5HcmlkPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5MaXN0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5DYXJkczwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+TXVsdGlwbGUgR3JvdXBzPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+TXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB1c2VkIHRvZ2V0aGVyPC9wPgogICAgICAgIAogICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGdhcDogMTZweDsgZmxleC13cmFwOiB3cmFwOyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkRhdGFzZXQ6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImhpZ2hsaWdodGVkIj5TeXN0ZW08L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+TmV0d29yazwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TYWxlczwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IlRpbWUgUmFuZ2U6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPjFIPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImhpZ2hsaWdodGVkIj4yNEg8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+N0Q8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+MzBEPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iQWN0aW9uczoiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+UmVmcmVzaDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5FeHBvcnQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+VmVydGljYWwgQnV0dG9uIEdyb3VwczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkJ1dHRvbiBncm91cHMgd2l0aCB2ZXJ0aWNhbCBsYXlvdXQ8L3A+CiAgICAgICAgCiAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZ2FwOiAyNHB4OyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgZGlyZWN0aW9uPSJ2ZXJ0aWNhbCIgbGFiZWw9Ik5hdmlnYXRpb246Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkRhc2hib2FyZDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbiB0eXBlPSJoaWdobGlnaHRlZCI+QW5hbHl0aWNzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlJlcG9ydHM8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+U2V0dGluZ3M8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGRpcmVjdGlvbj0idmVydGljYWwiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+QWRkIEl0ZW08L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+RWRpdCBJdGVtPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkRlbGV0ZSBJdGVtPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPk1peGVkIEJ1dHRvbiBUeXBlczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPkRpZmZlcmVudCBidXR0b24gdHlwZXMgd2l0aGluIGdyb3VwczwvcD4KICAgICAgICAKICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IlN0YXR1czoiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9InN1Y2Nlc3MiPkFjdGl2ZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+UGVuZGluZzwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGFuZ2VyIj5JbmFjdGl2ZTwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICBgLCJkZW1vRnVuYyIpfSk7dmFyIGdRZSxZVyxzY2EsaWNhPWYoKCk9PntsZSgpO0p0KCk7cmNhKCk7UWUoKTtnUWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFlXPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxzY2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLWJ1dHRvbi1ncm91cCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQnV0dG9uR3JvdXAiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKCldLGQ9WyQoKV0sZ1FlKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+ImxhYmVsImluIHYsImhhcyIpLGdldDpzKHY9PnYubGFiZWwsImdldCIpLHNldDpzKCh2LHgpPT57di5sYWJlbD14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksZ1FlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGlyZWN0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJkaXJlY3Rpb24iaW4gdiwiaGFzIiksZ2V0OnModj0+di5kaXJlY3Rpb24sImdldCIpLHNldDpzKCh2LHgpPT57di5kaXJlY3Rpb249eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLGdRZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPWFjYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkJ1dHRvbiJdOyNlPVlXKHRoaXMsbiwiIik7Z2V0IGxhYmVsKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGxhYmVsKG0pe3RoaXMuI2U9bX0jdD0oWVcodGhpcyxsKSxZVyh0aGlzLGMsImhvcml6b250YWwiKSk7Z2V0IGRpcmVjdGlvbigpe3JldHVybiB0aGlzLiN0fXNldCBkaXJlY3Rpb24obSl7dGhpcy4jdD1tfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxZVyh0aGlzLHApLHRyLnNldHVwKCl9c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KCiAgICAgIC5idXR0b24tZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgfQoKICAgICAgLmJ1dHRvbi1ncm91cC52ZXJ0aWNhbCB7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLmxhYmVsIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2NjYiLCIjOTk5Iil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgIG1hcmdpbi1yaWdodDogOHB4OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5idXR0b24tZ3JvdXAudmVydGljYWwgLmxhYmVsIHsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICA6OnNsb3R0ZWQoKikgewogICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyb3VwICR7dGhpcy5kaXJlY3Rpb259Ij4KICAgICAgICAke3RoaXMubGFiZWw/d2A8c3BhbiBjbGFzcz0ibGFiZWwiPiR7dGhpcy5sYWJlbH08L3NwYW4+YDoiIn0KICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgIDwvZGl2PgogICAgYH1zdGF0aWN7WVcocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIG9jYT1mKCgpPT57aWNhKCl9KTt2YXIgbmNhPWYoKCk9PntYbGEoKTt0Y2EoKTtvY2EoKX0pO3ZhciBsY2EsY2NhPWYoKCk9PntsZSgpO0lhKCk7YlFlKCk7bGNhPXMoKCk9PntsZXQgYT17c3lzdGVtOntsYWJlbDoiU3lzdGVtIFVzYWdlICglKSIsc2VyaWVzOlt7bmFtZToiQ1BVIixkYXRhOlt7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTNlNSkudG9JU09TdHJpbmcoKSx5OjI1fSx7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTI0ZTQpLnRvSVNPU3RyaW5nKCkseTozMH0se3g6bmV3IERhdGUoRGF0ZS5ub3coKS0xOGU0KS50b0lTT1N0cmluZygpLHk6Mjh9LHt4Om5ldyBEYXRlKERhdGUubm93KCktMTJlNCkudG9JU09TdHJpbmcoKSx5OjM1fSx7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTZlNCkudG9JU09TdHJpbmcoKSx5OjMyfSx7eDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkseTozOH1dfSx7bmFtZToiTWVtb3J5IixkYXRhOlt7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTNlNSkudG9JU09TdHJpbmcoKSx5OjQ1fSx7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTI0ZTQpLnRvSVNPU3RyaW5nKCkseTo0OH0se3g6bmV3IERhdGUoRGF0ZS5ub3coKS0xOGU0KS50b0lTT1N0cmluZygpLHk6NDZ9LHt4Om5ldyBEYXRlKERhdGUubm93KCktMTJlNCkudG9JU09TdHJpbmcoKSx5OjUyfSx7eDpuZXcgRGF0ZShEYXRlLm5vdygpLTZlNCkudG9JU09TdHJpbmcoKSx5OjUwfSx7eDpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkseTo1NX1dfV19fSxlPXtzeXN0ZW06cyh0PT5gJHt0fSVgLCJzeXN0ZW0iKX07cmV0dXJuIHdgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyB0PT57bGV0IHI9dC5xdWVyeVNlbGVjdG9yKCIjbWFpbi1jaGFydCIpLGk9dC5xdWVyeVNlbGVjdG9yKCIjY29ubmVjdGlvbnMtY2hhcnQiKSxvLG4sbD0ic3lzdGVtIixkPXtzeXN0ZW06cyhCPT5gJHtCfSVgLCJzeXN0ZW0iKSxuZXR3b3JrOnMoQj0+YCR7Qn0gTWJwc2AsIm5ldHdvcmsiKSxzYWxlczpzKEI9PmAkJHtCLnRvTG9jYWxlU3RyaW5nKCl9YCwic2FsZXMiKX0sYz0xMjAqMWUzLHA9MWUzLHU9NWUzLG09e2NwdTozMCxtZW1vcnk6NTAsZG93bmxvYWQ6MTUwLHVwbG9hZDozMCxjb25uZWN0aW9uczoxNTB9LHY9cygoQixNLFM9dSk9PntsZXQgUD1bXSxBPURhdGUubm93KCksRj1NYXRoLmZsb29yKGMvUyk7Zm9yKGxldCBXPUY7Vz49MDtXLS0pe2xldCBqPW5ldyBEYXRlKEEtVypTKS50b0lTT1N0cmluZygpLEc9QisoTWF0aC5yYW5kb20oKS0uNSkqTTtQLnB1c2goe3g6aix5Ok1hdGgucm91bmQoRyl9KX1yZXR1cm4gUH0sImdlbmVyYXRlSW5pdGlhbERhdGEiKSx4PXtzeXN0ZW06e2xhYmVsOiJTeXN0ZW0gVXNhZ2UgKCUpIixzZXJpZXM6W3tuYW1lOiJDUFUiLGRhdGE6dihtLmNwdSwxMCl9LHtuYW1lOiJNZW1vcnkiLGRhdGE6dihtLm1lbW9yeSw4KX1dfSxuZXR3b3JrOntsYWJlbDoiTmV0d29yayBUcmFmZmljIChNYnBzKSIsc2VyaWVzOlt7bmFtZToiRG93bmxvYWQiLGRhdGE6dihtLmRvd25sb2FkLDMwKX0se25hbWU6IlVwbG9hZCIsZGF0YTp2KG0udXBsb2FkLDEwKX1dfSxzYWxlczp7bGFiZWw6IlNhbGVzIEFuYWx5dGljcyIsc2VyaWVzOlt7bmFtZToiUmV2ZW51ZSIsZGF0YTpbe3g6IjIwMjUtMDEtMDEiLHk6NDVlM30se3g6IjIwMjUtMDEtMDIiLHk6NTJlM30se3g6IjIwMjUtMDEtMDMiLHk6NDhlM30se3g6IjIwMjUtMDEtMDQiLHk6NjFlM30se3g6IjIwMjUtMDEtMDUiLHk6NThlM30se3g6IjIwMjUtMDEtMDYiLHk6NjVlM31dfSx7bmFtZToiUHJvZml0IixkYXRhOlt7eDoiMjAyNS0wMS0wMSIseToxMmUzfSx7eDoiMjAyNS0wMS0wMiIseToxNGUzfSx7eDoiMjAyNS0wMS0wMyIseToxMWUzfSx7eDoiMjAyNS0wMS0wNCIseToxOGUzfSx7eDoiMjAyNS0wMS0wNSIseToxNmUzfSx7eDoiMjAyNS0wMS0wNiIseToyZTR9XX1dfX0sYj1zKChCLE0sUyxQPTUpPT57bGV0IEE9KE1hdGgucmFuZG9tKCktLjUpKlAqMixGPUIrQSxqPSgoTStTKS8yLUYpKi4xO3JldHVybiBGKz1qLEY9TWF0aC5tYXgoTSxNYXRoLm1pbihTLEYpKSxNYXRoLnJvdW5kKEYpfSwiZ2V0TmV4dFZhbHVlIiksZz1EYXRlLm5vdygpLHk9RGF0ZS5ub3coKSxrPXMoKCk9PntpZighcilyZXR1cm47bGV0IEI9RGF0ZS5ub3coKTtpZihCLWc+PXUpe2c9QjtsZXQgUz1uZXcgRGF0ZShCKS50b0lTT1N0cmluZygpO2lmKGw9PT0ic3lzdGVtIil7bS5jcHU9YihtLmNwdSwyMCw1MCwzKSxtLm1lbW9yeT1iKG0ubWVtb3J5LDQwLDcwLDIpO2xldCBQPXIuY2hhcnRTZXJpZXMubWFwKChBLEYpPT4oe25hbWU6QS5uYW1lLGRhdGE6Wy4uLkEuZGF0YSxGPT09MD97eDpTLHk6bS5jcHV9Ont4OlMseTptLm1lbW9yeX1dfSkpO3IudXBkYXRlU2VyaWVzKFAsITEpfWVsc2UgaWYobD09PSJuZXR3b3JrIil7bS5kb3dubG9hZD1iKG0uZG93bmxvYWQsMTAwLDIwMCwxMCksbS51cGxvYWQ9YihtLnVwbG9hZCwyMCw1MCw1KTtsZXQgUD1yLmNoYXJ0U2VyaWVzLm1hcCgoQSxGKT0+KHtuYW1lOkEubmFtZSxkYXRhOlsuLi5BLmRhdGEsRj09PTA/e3g6Uyx5Om0uZG93bmxvYWR9Ont4OlMseTptLnVwbG9hZH1dfSkpO3IudXBkYXRlU2VyaWVzKFAsITEpfX19LCJhZGRSZWFsdGltZURhdGEiKSxDPXMoKCk9PntpZighaSlyZXR1cm47bGV0IEI9RGF0ZS5ub3coKSxNPW5ldyBEYXRlKEIpLnRvSVNPU3RyaW5nKCksUz1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjEpLTEwO20uY29ubmVjdGlvbnM9TWF0aC5tYXgoNTAsTWF0aC5taW4oMzAwLG0uY29ubmVjdGlvbnMrUykpO2xldCBQPWkuY2hhcnRTZXJpZXMsQT1be25hbWU6UFswXT8ubmFtZXx8IkNvbm5lY3Rpb25zIixkYXRhOlsuLi5QWzBdPy5kYXRhfHxbXSx7eDpNLHk6bS5jb25uZWN0aW9uc31dfV07aS51cGRhdGVTZXJpZXMoQSwhMSl9LCJ1cGRhdGVDb25uZWN0aW9ucyIpLE49cyhCPT57bD1CO2xldCBNPXhbQl07ci5sYWJlbD1NLmxhYmVsLHIuc2VyaWVzPU0uc2VyaWVzLHIueUF4aXNGb3JtYXR0ZXI9ZFtCXSxCPT09InN5c3RlbSI/KHIueUF4aXNTY2FsaW5nPSJwZXJjZW50YWdlIixyLnlBeGlzTWF4PTEwMCk6ci55QXhpc1NjYWxpbmc9ImR5bmFtaWMiLGc9RGF0ZS5ub3coKS11fSwic3dpdGNoRGF0YXNldCIpLF89cygoKT0+eyFvJiYobD09PSJzeXN0ZW0ifHxsPT09Im5ldHdvcmsiKSYmKHIucmVhbHRpbWVNb2RlPSEwLG89d2luZG93LnNldEludGVydmFsKCgpPT5rKCksdSkpLG58fChpLnJlYWx0aW1lTW9kZT0hMCxuPXdpbmRvdy5zZXRJbnRlcnZhbCgoKT0+QygpLHApKX0sInN0YXJ0UmVhbHRpbWUiKSx6PXMoKCk9PntvJiYod2luZG93LmNsZWFySW50ZXJ2YWwobyksbz1udWxsLHIucmVhbHRpbWVNb2RlPSExKSxuJiYod2luZG93LmNsZWFySW50ZXJ2YWwobiksbj1udWxsLGkucmVhbHRpbWVNb2RlPSExKX0sInN0b3BSZWFsdGltZSIpLE89cygoKT0+e2w9PT0ic3lzdGVtIj8obS5jcHU9TWF0aC5yYW5kb20oKT4uNT84NToyNSxtLm1lbW9yeT1NYXRoLnJhbmRvbSgpPi41PzgwOjQ1KTpsPT09Im5ldHdvcmsiJiYobS5kb3dubG9hZD1NYXRoLnJhbmRvbSgpPi41PzI1MDoxMDAsbS51cGxvYWQ9TWF0aC5yYW5kb20oKT4uNT84MDoyMCksbS5jb25uZWN0aW9ucz1NYXRoLnJhbmRvbSgpPi41PzI4MDo4MCxnPTAseT0wfSwicmFuZG9taXplRGF0YSIpLFQ9cygoKT0+e3QucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKE09PntsZXQgUz1NLnRleHQ/LnRyaW0oKTtTPT09IlN5c3RlbSBVc2FnZSI/TS50eXBlPWw9PT0ic3lzdGVtIj8iaGlnaGxpZ2h0ZWQiOiJub3JtYWwiOlM9PT0iTmV0d29yayBUcmFmZmljIj9NLnR5cGU9bD09PSJuZXR3b3JrIj8iaGlnaGxpZ2h0ZWQiOiJub3JtYWwiOlM9PT0iU2FsZXMgRGF0YSImJihNLnR5cGU9bD09PSJzYWxlcyI/ImhpZ2hsaWdodGVkIjoibm9ybWFsIil9KX0sInVwZGF0ZUJ1dHRvblN0YXRlcyIpO2lmKHQucXVlcnlTZWxlY3RvckFsbCgiZGVlcy1idXR0b24iKS5mb3JFYWNoKEI9PntsZXQgTT1CLnRleHQ/LnRyaW0oKTtNPT09IlN5c3RlbSBVc2FnZSI/Qi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntOKCJzeXN0ZW0iKSxUKCl9KTpNPT09Ik5ldHdvcmsgVHJhZmZpYyI/Qi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntOKCJuZXR3b3JrIiksVCgpfSk6TT09PSJTYWxlcyBEYXRhIj9CLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+e04oInNhbGVzIiksVCgpfSk6TT09PSJTdGFydCBMaXZlIj9CLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+XygpKTpNPT09IlN0b3AgTGl2ZSI/Qi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PnooKSk6TT09PSJTcGlrZSBWYWx1ZXMiJiZCLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+TygpKX0pLHIucm9sbGluZ1dpbmRvdz1jLHIucmVhbHRpbWVNb2RlPSExLHIueUF4aXNTY2FsaW5nPSJwZXJjZW50YWdlIixyLnlBeGlzTWF4PTEwMCxyLmF1dG9TY3JvbGxJbnRlcnZhbD0xZTMsc2V0VGltZW91dCgoKT0+e3IudXBkYXRlVGltZVdpbmRvdygpfSwxMDApLGkpe2xldCBCPXYobS5jb25uZWN0aW9ucywzMCxwKTtpLnNlcmllcz1be25hbWU6IkNvbm5lY3Rpb25zIixkYXRhOkJ9XSxpLnJvbGxpbmdXaW5kb3c9YyxpLnJlYWx0aW1lTW9kZT0hMSxpLnlBeGlzU2NhbGluZz0iZml4ZWQiLGkueUF4aXNNYXg9MzUwLGkuYXV0b1Njcm9sbEludGVydmFsPTFlMyxzZXRUaW1lb3V0KCgpPT57aS51cGRhdGVUaW1lV2luZG93KCl9LDEwMCl9fX0+CiAgICAgIDxzdHlsZT4KICAgICAgICAke1FgCiAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC5jb250cm9scyB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIH0KICAgICAgICAKICAgICAgICAuY2hhcnQtY29udGFpbmVyIHsKICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLmluZm8gewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgfQogICAgICBgfQogICAgPC9zdHlsZT4KICAgIDxkaXYgY2xhc3M9ImRlbW9Cb3giPgogICAgICA8ZGl2IGNsYXNzPSJjb250cm9scyI+CiAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJEYXRhc2V0OiI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iaGlnaGxpZ2h0ZWQiPlN5c3RlbSBVc2FnZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+TmV0d29yayBUcmFmZmljPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TYWxlcyBEYXRhPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iUmVhbC10aW1lOiI+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U3RhcnQgTGl2ZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U3RvcCBMaXZlPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIAogICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iQWN0aW9uczoiPgogICAgICAgICAgPGRlZXMtYnV0dG9uPlNwaWtlIFZhbHVlczwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgPC9kaXY+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJjaGFydC1jb250YWluZXIiPgogICAgICAgIDxkZWVzLWNoYXJ0LWFyZWEKICAgICAgICAgIGlkPSJtYWluLWNoYXJ0IgogICAgICAgICAgLmxhYmVsPSR7YS5zeXN0ZW0ubGFiZWx9CiAgICAgICAgICAuc2VyaWVzPSR7YS5zeXN0ZW0uc2VyaWVzfQogICAgICAgICAgLnlBeGlzRm9ybWF0dGVyPSR7ZS5zeXN0ZW19CiAgICAgICAgPjwvZGVlcy1jaGFydC1hcmVhPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0LWNvbnRhaW5lciIgc3R5bGU9Im1hcmdpbi10b3A6IDIwcHg7Ij4KICAgICAgICA8ZGVlcy1jaGFydC1hcmVhCiAgICAgICAgICBpZD0iY29ubmVjdGlvbnMtY2hhcnQiCiAgICAgICAgICAubGFiZWw9JHsiQWN0aXZlIENvbm5lY3Rpb25zIn0KICAgICAgICAgIC5zZXJpZXM9JHtbe25hbWU6IkNvbm5lY3Rpb25zIixkYXRhOltdfV19CiAgICAgICAgICAueUF4aXNGb3JtYXR0ZXI9JHt0PT5gJHt0fWB9CiAgICAgICAgPjwvZGVlcy1jaGFydC1hcmVhPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9ImluZm8iPgogICAgICAgIFJlYWwtdGltZSBtb25pdG9yaW5nIHdpdGggMi1taW51dGUgcm9sbGluZyB3aW5kb3cg4oCiIAogICAgICAgIFVwZGF0ZXMgZXZlcnkgc2Vjb25kIHdpdGggc21vb3RoIHZhbHVlIHRyYW5zaXRpb25zIOKAoiAKICAgICAgICBDbGljayAnU3Bpa2UgVmFsdWVzJyB0byBzaW11bGF0ZSBsb2FkIHNwaWtlcwogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIGRjYSx1Y2E9ZigoKT0+e2xlKCk7UWUoKTtkY2E9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiA0MDBweDsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgc2Fucy1zZXJpZjsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQogICAgICBkZWVzLXRpbGUgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQogICAgICAuY2hhcnRIZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMCA4cHggMCAxNnB4OwogICAgICB9CiAgICAgIC5jaGFydExhYmVsIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgfQogICAgICAuZXhwYW5kQnRuIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDI4cHg7CiAgICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KICAgICAgLmV4cGFuZEJ0bjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICB9CiAgICAgIC5jaGFydENvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGluc2V0OiAwIDAgNHB4IDA7CiAgICAgIH0KICAgICAgLnN0YXRzQmFyIHsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQogICAgICAuc3RhdHNTZXJpZXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQogICAgICAuc3RhdHNTZXJpZXMgKyAuc3RhdHNTZXJpZXMgewogICAgICAgIHBhZGRpbmctbGVmdDogMjRweDsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICB9CiAgICAgIC5zdGF0c0NvbG9yIHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQogICAgICAuc3RhdHNOYW1lIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA0cHg7CiAgICAgIH0KICAgICAgLnN0YXRzSXRlbSB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CiAgICAgIC5zdGF0c0l0ZW0gc3Ryb25nIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CiAgICAgIC5sdy10b29sdGlwIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgei1pbmRleDogMTAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkOwogICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIHNhbnMtc2VyaWY7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgICAgbWluLXdpZHRoOiAxNDBweDsKICAgICAgfQogICAgYF19KTt2YXIgcGNhLGZjYT1mKCgpPT57bGUoKTt2YSgpO3BjYT1zKGE9PndgCiAgICAgICAgPGRlZXMtdGlsZT4KICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2hhcnRIZWFkZXIiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2hhcnRMYWJlbCI+JHthLmxhYmVsfTwvc3Bhbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZXhwYW5kQnRuIiBAY2xpY2s9JHsoKT0+YS50b2dnbGVGdWxsUGFnZSgpfSB0aXRsZT0iJHthLmlzRnVsbFBhZ2U/IkV4aXQgZnVsbCBwYWdlIjoiRnVsbCBwYWdlIn0iPgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHthLmlzRnVsbFBhZ2U/Imx1Y2lkZTpNaW5pbWl6ZTIiOiJsdWNpZGU6TWF4aW1pemUyIn0gLmljb25TaXplPSR7MTR9PjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnRDb250YWluZXIiPjwvZGl2PgogICAgICAgICAgJHthLnNlcmllc1N0YXRzLmxlbmd0aD4wP3dgCiAgICAgICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0ic3RhdHNCYXIiPgogICAgICAgICAgICAgICR7YS5zZXJpZXNTdGF0cy5tYXAoZT0+d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXRzU2VyaWVzIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXRzQ29sb3IiIHN0eWxlPSJiYWNrZ3JvdW5kOiR7ZS5jb2xvcn0iPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXRzTmFtZSI+JHtlLm5hbWV9PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHNJdGVtIj5sYXRlc3QgPHN0cm9uZz4ke2EueUF4aXNGb3JtYXR0ZXIoZS5sYXRlc3QpfTwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXRzSXRlbSI+bWluIDxzdHJvbmc+JHthLnlBeGlzRm9ybWF0dGVyKGUubWluKX08L3N0cm9uZz48L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0c0l0ZW0iPm1heCA8c3Ryb25nPiR7YS55QXhpc0Zvcm1hdHRlcihlLm1heCl9PC9zdHJvbmc+PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHNJdGVtIj5hdmcgPHN0cm9uZz4ke2EueUF4aXNGb3JtYXR0ZXIoZS5hdmcpfTwvc3Ryb25nPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGApfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kZWVzLXRpbGU+CiAgICAgIGAsInJlbmRlckNoYXJ0QXJlYSIpfSk7dmFyIEJuLHpyLGhjYSxiUWU9ZigoKT0+e2xlKCk7SnQoKTtjY2EoKTt1Y2EoKTtmY2EoKTtfYygpO0tyKCk7Qm49ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHpyPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxoY2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLWNoYXJ0LWFyZWEiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W107dmFyIG1lPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQ2hhcnRBcmVhIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IEk9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxkPVtLKCldLHU9W0soKV0seD1bJCgpXSx5PVskKHt0eXBlOkFycmF5fSldLE49WyQoe2F0dHJpYnV0ZTohMX0pXSxPPVskKHt0eXBlOk51bWJlcn0pXSxCPVskKHt0eXBlOkJvb2xlYW59KV0sUD1bJCh7dHlwZTpTdHJpbmd9KV0sVz1bJCh7dHlwZTpOdW1iZXJ9KV0saGU9WyQoe3R5cGU6TnVtYmVyfSldLEJuKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2hhcnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImNoYXJ0ImluIHEsImhhcyIpLGdldDpzKHE9PnEuY2hhcnQsImdldCIpLHNldDpzKChxLGNlKT0+e3EuY2hhcnQ9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sbixsKSxCbih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcmllc1N0YXRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJzZXJpZXNTdGF0cyJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLnNlcmllc1N0YXRzLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnNlcmllc1N0YXRzPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGMscCksQm4odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0Z1bGxQYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJpc0Z1bGxQYWdlImluIHEsImhhcyIpLGdldDpzKHE9PnEuaXNGdWxsUGFnZSwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5pc0Z1bGxQYWdlPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LG0sdiksQm4odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4ibGFiZWwiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5sYWJlbCwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5sYWJlbD1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxiLGcpLEJuKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VyaWVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJzZXJpZXMiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5zZXJpZXMsImdldCIpLHNldDpzKChxLGNlKT0+e3Euc2VyaWVzPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGssQyksQm4odGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ5QXhpc0Zvcm1hdHRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4ieUF4aXNGb3JtYXR0ZXIiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS55QXhpc0Zvcm1hdHRlciwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS55QXhpc0Zvcm1hdHRlcj1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxfLHopLEJuKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicm9sbGluZ1dpbmRvdyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4icm9sbGluZ1dpbmRvdyJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLnJvbGxpbmdXaW5kb3csImdldCIpLHNldDpzKChxLGNlKT0+e3Eucm9sbGluZ1dpbmRvdz1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxULEUpLEJuKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVhbHRpbWVNb2RlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJyZWFsdGltZU1vZGUiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5yZWFsdGltZU1vZGUsImdldCIpLHNldDpzKChxLGNlKT0+e3EucmVhbHRpbWVNb2RlPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LE0sUyksQm4odGhpcyxudWxsLFAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ5QXhpc1NjYWxpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InlBeGlzU2NhbGluZyJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLnlBeGlzU2NhbGluZywiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS55QXhpc1NjYWxpbmc9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sQSxGKSxCbih0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InlBeGlzTWF4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJ5QXhpc01heCJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLnlBeGlzTWF4LCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnlBeGlzTWF4PWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGosRyksQm4odGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXV0b1Njcm9sbEludGVydmFsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJhdXRvU2Nyb2xsSW50ZXJ2YWwiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5hdXRvU2Nyb2xsSW50ZXJ2YWwsImdldCIpLHNldDpzKChxLGNlKT0+e3EuYXV0b1Njcm9sbEludGVydmFsPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LFIsVSksQm4obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6SX0sbnVsbCx0KSxtZT1yPWUudmFsdWUsSSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpJfSl9c3RhdGljIGRlbW89bGNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQ2hhcnQiXTsjZT16cih0aGlzLG4sbnVsbCk7Z2V0IGNoYXJ0KCl7cmV0dXJuIHRoaXMuI2V9c2V0IGNoYXJ0KEkpe3RoaXMuI2U9SX0jdD0oenIodGhpcyxsKSx6cih0aGlzLGMsW10pKTtnZXQgc2VyaWVzU3RhdHMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VyaWVzU3RhdHMoSSl7dGhpcy4jdD1JfSNhPSh6cih0aGlzLHApLHpyKHRoaXMsbSwhMSkpO2dldCBpc0Z1bGxQYWdlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGlzRnVsbFBhZ2UoSSl7dGhpcy4jYT1JfSNyPSh6cih0aGlzLHYpLHpyKHRoaXMsYiwiVW50aXRsZWQgQ2hhcnQiKSk7Z2V0IGxhYmVsKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGxhYmVsKEkpe3RoaXMuI3I9SX0jcz0oenIodGhpcyxnKSx6cih0aGlzLGssW10pKTtnZXQgc2VyaWVzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNlcmllcyhJKXt0aGlzLiNzPUl9Z2V0IGNoYXJ0U2VyaWVzKCl7cmV0dXJuIHRoaXMuaW50ZXJuYWxDaGFydERhdGEubGVuZ3RoPjA/dGhpcy5pbnRlcm5hbENoYXJ0RGF0YTp0aGlzLnNlcmllc30jaT0oenIodGhpcyxDKSx6cih0aGlzLF8sST0+YCR7SX0gTWJwc2ApKTtnZXQgeUF4aXNGb3JtYXR0ZXIoKXtyZXR1cm4gdGhpcy4jaX1zZXQgeUF4aXNGb3JtYXR0ZXIoSSl7dGhpcy4jaT1JfSNvPSh6cih0aGlzLHopLHpyKHRoaXMsVCwwKSk7Z2V0IHJvbGxpbmdXaW5kb3coKXtyZXR1cm4gdGhpcy4jb31zZXQgcm9sbGluZ1dpbmRvdyhJKXt0aGlzLiNvPUl9I249KHpyKHRoaXMsRSksenIodGhpcyxNLCExKSk7Z2V0IHJlYWx0aW1lTW9kZSgpe3JldHVybiB0aGlzLiNufXNldCByZWFsdGltZU1vZGUoSSl7dGhpcy4jbj1JfSNsPSh6cih0aGlzLFMpLHpyKHRoaXMsQSwiZHluYW1pYyIpKTtnZXQgeUF4aXNTY2FsaW5nKCl7cmV0dXJuIHRoaXMuI2x9c2V0IHlBeGlzU2NhbGluZyhJKXt0aGlzLiNsPUl9I2M9KHpyKHRoaXMsRiksenIodGhpcyxqLDEwMCkpO2dldCB5QXhpc01heCgpe3JldHVybiB0aGlzLiNjfXNldCB5QXhpc01heChJKXt0aGlzLiNjPUl9I2Q9KHpyKHRoaXMsRyksenIodGhpcyxSLDFlMykpO2dldCBhdXRvU2Nyb2xsSW50ZXJ2YWwoKXtyZXR1cm4gdGhpcy4jZH1zZXQgYXV0b1Njcm9sbEludGVydmFsKEkpe3RoaXMuI2Q9SX1pbnRlcm5hbENoYXJ0RGF0YT0oenIodGhpcyxVKSxbXSk7YXV0b1Njcm9sbFRpbWVyPW51bGw7bGNCdW5kbGU9bnVsbDtzZXJpZXNBcGlzPW5ldyBNYXA7cHJpY2VMaW5lcz1uZXcgTWFwO3Rvb2x0aXBFbD1udWxsO0NIQVJUX0NPTE9SUz17ZGFyazpbImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMTczLjQgODAuNCUgNDAlKSIsImhzbCgyODAuMyA4Ny40JSA2Ni43JSkiLCJoc2woMjQuNiA5NSUgNTMuMSUpIl0sbGlnaHQ6WyJoc2woMjIyLjIgNDcuNCUgNTEuMiUpIiwiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlKSIsImhzbCgyODAuMyA0Ny43JSA1MC4yJSkiLCJoc2woMjAuNSA5MC4yJSA0OC4yJSkiXX07Y29uc3RydWN0b3IoKXtzdXBlcigpLHRyLnNldHVwKCksdGhpcy5yZWdpc3RlckdhcmJhZ2VGdW5jdGlvbihhc3luYygpPT57aWYodGhpcy5zdG9wQXV0b1Njcm9sbCgpLHRoaXMuY2hhcnQpdHJ5e3RoaXMuY2hhcnQucmVtb3ZlKCksdGhpcy5jaGFydD1udWxsLHRoaXMuc2VyaWVzQXBpcy5jbGVhcigpLHRoaXMucHJpY2VMaW5lcy5jbGVhcigpfWNhdGNoKEkpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGRlc3Ryb3lpbmcgY2hhcnQ6IixJKX19KX1zdGF0aWMgc3R5bGVzPWRjYTtyZW5kZXIoKXtyZXR1cm4gcGNhKHRoaXMpfWNvbnZlcnREYXRhVG9MQyhJKXtyZXR1cm4gSS5tYXAocT0+e2xldCBjZT10eXBlb2YgcS54PT0ibnVtYmVyIj9xLng6bmV3IERhdGUocS54KS5nZXRUaW1lKCk7cmV0dXJue3RpbWU6TWF0aC5mbG9vcihjZS8xZTMpLHZhbHVlOnEueX19KS5zb3J0KChxLGNlKT0+cS50aW1lLWNlLnRpbWUpfWhzbFRvUmdiYShJLHEpe2xldCBjZT1JLm1hdGNoKC9oc2xcKChbXildKylcKS8pO2lmKCFjZSlyZXR1cm4gSTtsZXQgdWU9Y2VbMV0udHJpbSgpLnNwbGl0KC9ccysvKTtpZih1ZS5sZW5ndGg8MylyZXR1cm4gSTtsZXQgWT1wYXJzZUZsb2F0KHVlWzBdKS8zNjAsWD1wYXJzZUZsb2F0KHVlWzFdKS8xMDAsSj1wYXJzZUZsb2F0KHVlWzJdKS8xMDAsWixnZSxhZTtpZihYPT09MClaPWdlPWFlPUo7ZWxzZXtsZXQgcmU9cygoSCxvZSxzZSk9PihzZTwwJiYoc2UrPTEpLHNlPjEmJihzZS09MSksc2U8LjE2NjY2NjY2NjY2NjY2NjY2P0grKG9lLUgpKjYqc2U6c2U8LjU/b2U6c2U8LjY2NjY2NjY2NjY2NjY2NjY/SCsob2UtSCkqKC42NjY2NjY2NjY2NjY2NjY2LXNlKSo2OkgpLCJodWUycmdiIikseWU9SjwuNT9KKigxK1gpOkorWC1KKlgsVj0yKkoteWU7Wj1yZShWLHllLFkrMS8zKSxnZT1yZShWLHllLFkpLGFlPXJlKFYseWUsWS0xLzMpfXJldHVybmByZ2JhKCR7TWF0aC5yb3VuZChaKjI1NSl9LCAke01hdGgucm91bmQoZ2UqMjU1KX0sICR7TWF0aC5yb3VuZChhZSoyNTUpfSwgJHtxfSlgfWdldFNlcmllc0NvbG9ycyhJKXtyZXR1cm4gST90aGlzLkNIQVJUX0NPTE9SUy5kYXJrOnRoaXMuQ0hBUlRfQ09MT1JTLmxpZ2h0fWFwcGx5VGhlbWUoKXtpZighdGhpcy5jaGFydHx8IXRoaXMubGNCdW5kbGUpcmV0dXJuO2xldCBJPSF0aGlzLmdvQnJpZ2h0LHE9dGhpcy5nZXRTZXJpZXNDb2xvcnMoSSk7dGhpcy5jaGFydC5hcHBseU9wdGlvbnMoe2xheW91dDp7YmFja2dyb3VuZDp7dHlwZTp0aGlzLmxjQnVuZGxlLkNvbG9yVHlwZS5Tb2xpZCxjb2xvcjoidHJhbnNwYXJlbnQifSx0ZXh0Q29sb3I6ST8iaHNsKDAgMCUgNjMuOSUpIjoiaHNsKDAgMCUgMjAlKSIsYXR0cmlidXRpb25Mb2dvOiExfSxncmlkOnt2ZXJ0TGluZXM6e2NvbG9yOkk/ImhzbCgwIDAlIDguNSUpIjoiaHNsKDAgMCUgOTUuNSUpIn0saG9yekxpbmVzOntjb2xvcjpJPyJoc2woMCAwJSA4LjUlKSI6ImhzbCgwIDAlIDk1LjUlKSJ9fX0pO2xldCBjZT0wO2ZvcihsZXRbLHVlXW9mIHRoaXMuc2VyaWVzQXBpcyl7bGV0IFk9cVtjZSVxLmxlbmd0aF07dWUuYXBwbHlPcHRpb25zKHt0b3BDb2xvcjp0aGlzLmhzbFRvUmdiYShZLEk/LjQ6LjUpLGJvdHRvbUNvbG9yOnRoaXMuaHNsVG9SZ2JhKFksMCksbGluZUNvbG9yOll9KSxjZSsrfX1yZWNyZWF0ZVNlcmllcyhJKXtpZighdGhpcy5jaGFydHx8IXRoaXMubGNCdW5kbGUpcmV0dXJuO2xldCBxPSF0aGlzLmdvQnJpZ2h0LGNlPXRoaXMuZ2V0U2VyaWVzQ29sb3JzKHEpO2ZvcihsZXRbLHVlXW9mIHRoaXMuc2VyaWVzQXBpcyl0aGlzLmNoYXJ0LnJlbW92ZVNlcmllcyh1ZSk7dGhpcy5zZXJpZXNBcGlzLmNsZWFyKCksdGhpcy5wcmljZUxpbmVzLmNsZWFyKCksSS5mb3JFYWNoKCh1ZSxZKT0+e2xldCBYPWNlW1klY2UubGVuZ3RoXSxKPXRoaXMuY2hhcnQuYWRkU2VyaWVzKHRoaXMubGNCdW5kbGUuQXJlYVNlcmllcyx7dG9wQ29sb3I6dGhpcy5oc2xUb1JnYmEoWCxxPy40Oi41KSxib3R0b21Db2xvcjp0aGlzLmhzbFRvUmdiYShYLDApLGxpbmVDb2xvcjpYLGxpbmVXaWR0aDoyLGxpbmVUeXBlOnRoaXMubGNCdW5kbGUuTGluZVR5cGUuQ3VydmVkLGxhc3RWYWx1ZVZpc2libGU6ITEscHJpY2VMaW5lVmlzaWJsZTohMSxjcm9zc2hhaXJNYXJrZXJWaXNpYmxlOiEwLGNyb3NzaGFpck1hcmtlclJhZGl1czo0fSk7Si5zZXREYXRhKHRoaXMuY29udmVydERhdGFUb0xDKHVlLmRhdGEpKSx0aGlzLnVwZGF0ZVByaWNlTGluZXModWUubmFtZXx8YHNlcmllcy0ke1l9YCxKLHVlLmRhdGEsWCksdGhpcy55QXhpc1NjYWxpbmchPT0iZHluYW1pYyImJkouYXBwbHlPcHRpb25zKHthdXRvc2NhbGVJbmZvUHJvdmlkZXI6cygoKT0+KHtwcmljZVJhbmdlOnttaW5WYWx1ZTowLG1heFZhbHVlOnRoaXMueUF4aXNNYXh9fSksImF1dG9zY2FsZUluZm9Qcm92aWRlciIpfSksdGhpcy5zZXJpZXNBcGlzLnNldCh1ZS5uYW1lfHxgc2VyaWVzLSR7WX1gLEopfSksdGhpcy5jb21wdXRlU3RhdHMoSSl9Y29tcHV0ZVN0YXRzKEkpe2xldCBxPSF0aGlzLmdvQnJpZ2h0LGNlPXRoaXMuZ2V0U2VyaWVzQ29sb3JzKHEpO3RoaXMuc2VyaWVzU3RhdHM9SS5tYXAoKHVlLFkpPT57bGV0IFg9dWUuZGF0YS5tYXAocmU9PnJlLnkpO2lmKFgubGVuZ3RoPT09MClyZXR1cm57bmFtZTp1ZS5uYW1lfHxgc2VyaWVzLSR7WX1gLGxhdGVzdDowLG1pbjowLG1heDowLGF2ZzowLGNvbG9yOmNlW1klY2UubGVuZ3RoXX07bGV0IEo9WFtYLmxlbmd0aC0xXSxaPU1hdGgubWluKC4uLlgpLGdlPU1hdGgubWF4KC4uLlgpLGFlPU1hdGgucm91bmQoWC5yZWR1Y2UoKHJlLHllKT0+cmUreWUsMCkvWC5sZW5ndGgqMTAwKS8xMDA7cmV0dXJue25hbWU6dWUubmFtZXx8YHNlcmllcy0ke1l9YCxsYXRlc3Q6SixtaW46WixtYXg6Z2UsYXZnOmFlLGNvbG9yOmNlW1klY2UubGVuZ3RoXX19KX11cGRhdGVQcmljZUxpbmVzKEkscSxjZSx1ZSl7bGV0IFk9dGhpcy5wcmljZUxpbmVzLmdldChJKTtpZihZKWZvcihsZXQgYWUgb2YgWSlxLnJlbW92ZVByaWNlTGluZShhZSk7aWYoY2UubGVuZ3RoPT09MCl7dGhpcy5wcmljZUxpbmVzLnNldChJLFtdKTtyZXR1cm59bGV0IFg9Y2UubWFwKGFlPT5hZS55KSxKPVgucmVkdWNlKChhZSxyZSk9PmFlK3JlLDApL1gubGVuZ3RoLFo9TWF0aC5tYXgoLi4uWCksZ2U9W107Z2UucHVzaChxLmNyZWF0ZVByaWNlTGluZSh7cHJpY2U6TWF0aC5yb3VuZChKKjEwMCkvMTAwLGNvbG9yOnRoaXMuaHNsVG9SZ2JhKHVlLC41KSxsaW5lV2lkdGg6MSxsaW5lU3R5bGU6MixheGlzTGFiZWxWaXNpYmxlOiEwLHRpdGxlOiJhdmcifSkpLEo+MCYmKFotSikvSj4uMSYmZ2UucHVzaChxLmNyZWF0ZVByaWNlTGluZSh7cHJpY2U6Wixjb2xvcjp0aGlzLmhzbFRvUmdiYSh1ZSwuOCksbGluZVdpZHRoOjEsbGluZVN0eWxlOjEsYXhpc0xhYmVsVmlzaWJsZTohMCx0aXRsZToibWF4In0pKSx0aGlzLnByaWNlTGluZXMuc2V0KEksZ2UpfXNldHVwVG9vbHRpcCgpe3RoaXMuY2hhcnQmJih0aGlzLnRvb2x0aXBFbD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLnRvb2x0aXBFbC5jbGFzc05hbWU9Imx3LXRvb2x0aXAiLHRoaXMudG9vbHRpcEVsLnN0eWxlLmRpc3BsYXk9Im5vbmUiLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY2hhcnRDb250YWluZXIiKT8uYXBwZW5kQ2hpbGQodGhpcy50b29sdGlwRWwpLHRoaXMuY2hhcnQuc3Vic2NyaWJlQ3Jvc3NoYWlyTW92ZShJPT57aWYoIXRoaXMudG9vbHRpcEVsKXJldHVybjtpZighSS5wb2ludHx8IUkudGltZXx8SS5wb2ludC54PDB8fEkucG9pbnQueTwwKXt0aGlzLnRvb2x0aXBFbC5zdHlsZS5kaXNwbGF5PSJub25lIjtyZXR1cm59bGV0IHE9IXRoaXMuZ29CcmlnaHQsY2U9cT8iaHNsKDAgMCUgOSUpIjoiaHNsKDAgMCUgMTAwJSkiLHVlPXE/ImhzbCgwIDAlIDk1JSkiOiJoc2woMCAwJSA5JSkiLFk9cT8iaHNsKDAgMCUgMTQuOSUpIjoiaHNsKDAgMCUgODkuOCUpIixYPXRoaXMuZ2V0U2VyaWVzQ29sb3JzKHEpLEo9IiIsWj0wLGdlPSExO2ZvcihsZXRbeWUsVl1vZiB0aGlzLnNlcmllc0FwaXMpe2xldCBIPUkuc2VyaWVzRGF0YS5nZXQoVik7aWYoSCYmInZhbHVlImluIEgmJkgudmFsdWUhPT12b2lkIDApe2dlPSEwO2xldCBvZT1YW1olWC5sZW5ndGhdLHNlPXRoaXMueUF4aXNGb3JtYXR0ZXIoSC52YWx1ZSk7Sis9YDxkaXYgc3R5bGU9ImRpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7Z2FwOjhweDttYXJnaW46JHtaPjA/IjZweCI6IjAifSAwOyI+CiAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O2JhY2tncm91bmQ6JHtvZX07Ym9yZGVyLXJhZGl1czoycHg7Ij48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJmb250LXdlaWdodDo1MDA7Ij4ke3llfTo8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIHN0eWxlPSJtYXJnaW4tbGVmdDphdXRvO2ZvbnQtd2VpZ2h0OjYwMDsiPiR7c2V9PC9zcGFuPgogICAgICAgICAgPC9kaXY+YH1aKyt9aWYoIWdlKXt0aGlzLnRvb2x0aXBFbC5zdHlsZS5kaXNwbGF5PSJub25lIjtyZXR1cm59dGhpcy50b29sdGlwRWwuaW5uZXJIVE1MPUosT2JqZWN0LmFzc2lnbih0aGlzLnRvb2x0aXBFbC5zdHlsZSx7ZGlzcGxheToiYmxvY2siLGJhY2tncm91bmQ6Y2UsY29sb3I6dWUsYm9yZGVyQ29sb3I6WX0pO2xldCBhZT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmNoYXJ0Q29udGFpbmVyIikuY2xpZW50V2lkdGgscmU9SS5wb2ludC54KzE2O3JlKzIwMD5hZSYmKHJlPUkucG9pbnQueC0yMTYpLHRoaXMudG9vbHRpcEVsLnN0eWxlLmxlZnQ9YCR7cmV9cHhgLHRoaXMudG9vbHRpcEVsLnN0eWxlLnRvcD1gJHtJLnBvaW50LnktMTZ9cHhgfSkpfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2F3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLHRoaXMubGNCdW5kbGU9YXdhaXQgUHMuZ2V0SW5zdGFuY2UoKS5sb2FkTGlnaHR3ZWlnaHRDaGFydHMoKSxhd2FpdCBuZXcgUHJvbWlzZShjZT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNlKSk7bGV0IEk9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jaGFydENvbnRhaW5lciIpO2lmKCFJKXJldHVybjtsZXQgcT0hdGhpcy5nb0JyaWdodDt0cnl7dGhpcy5jaGFydD10aGlzLmxjQnVuZGxlLmNyZWF0ZUNoYXJ0KEkse2F1dG9TaXplOiEwLGxheW91dDp7YmFja2dyb3VuZDp7dHlwZTp0aGlzLmxjQnVuZGxlLkNvbG9yVHlwZS5Tb2xpZCxjb2xvcjoidHJhbnNwYXJlbnQifSx0ZXh0Q29sb3I6cT8iaHNsKDAgMCUgNjMuOSUpIjoiaHNsKDAgMCUgMjAlKSIsZm9udEZhbWlseTonLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBzYW5zLXNlcmlmJyxmb250U2l6ZToxMixhdHRyaWJ1dGlvbkxvZ286ITF9LGdyaWQ6e3ZlcnRMaW5lczp7Y29sb3I6cT8iaHNsKDAgMCUgOC41JSkiOiJoc2woMCAwJSA5NS41JSkifSxob3J6TGluZXM6e2NvbG9yOnE/ImhzbCgwIDAlIDguNSUpIjoiaHNsKDAgMCUgOTUuNSUpIn19LHJpZ2h0UHJpY2VTY2FsZTp7Ym9yZGVyVmlzaWJsZTohMSxzY2FsZU1hcmdpbnM6e3RvcDouMSxib3R0b206LjF9fSx0aW1lU2NhbGU6e2JvcmRlclZpc2libGU6ITEsdGltZVZpc2libGU6ITAsc2Vjb25kc1Zpc2libGU6ITB9LGNyb3NzaGFpcjp7bW9kZTp0aGlzLmxjQnVuZGxlLkNyb3NzaGFpck1vZGUuTWFnbmV0fSxoYW5kbGVTY3JvbGw6ITEsaGFuZGxlU2NhbGU6ITF9KTtsZXQgY2U9dGhpcy5zZXJpZXMubGVuZ3RoPjA/dGhpcy5zZXJpZXM6W3tuYW1lOiJjcHUiLGRhdGE6W3t4OiIyMDI1LTAxLTE1VDAzOjAwOjAwIix5OjI1fSx7eDoiMjAyNS0wMS0xNVQwNzowMDowMCIseTozMH0se3g6IjIwMjUtMDEtMTVUMTE6MDA6MDAiLHk6MjB9LHt4OiIyMDI1LTAxLTE1VDE1OjAwOjAwIix5OjM1fSx7eDoiMjAyNS0wMS0xNVQxOTowMDowMCIseToyNX1dfSx7bmFtZToibWVtb3J5IixkYXRhOlt7eDoiMjAyNS0wMS0xNVQwMzowMDowMCIseToxMH0se3g6IjIwMjUtMDEtMTVUMDc6MDA6MDAiLHk6MTJ9LHt4OiIyMDI1LTAxLTE1VDExOjAwOjAwIix5OjEwfSx7eDoiMjAyNS0wMS0xNVQxNTowMDowMCIseTozMH0se3g6IjIwMjUtMDEtMTVUMTk6MDA6MDAiLHk6NDB9XX1dO3RoaXMuaW50ZXJuYWxDaGFydERhdGE9Y2UsdGhpcy5yZWNyZWF0ZVNlcmllcyhjZSksdGhpcy5zZXR1cFRvb2x0aXAoKX1jYXRjaChjZSl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGluaXRpYWxpemUgY2hhcnQ6IixjZSl9fWFzeW5jIHVwZGF0ZWQoSSl7aWYoc3VwZXIudXBkYXRlZChJKSxJLmhhcygiZ29CcmlnaHQiKSYmdGhpcy5jaGFydCYmdGhpcy5hcHBseVRoZW1lKCksSS5oYXMoInNlcmllcyIpJiZ0aGlzLmNoYXJ0JiZ0aGlzLnNlcmllcy5sZW5ndGg+MCYmYXdhaXQgdGhpcy51cGRhdGVTZXJpZXModGhpcy5zZXJpZXMpLEkuaGFzKCJ5QXhpc0Zvcm1hdHRlciIpJiZ0aGlzLmNoYXJ0LEkuaGFzKCJyZWFsdGltZU1vZGUiKSYmdGhpcy5jaGFydCYmKHRoaXMucmVhbHRpbWVNb2RlJiZ0aGlzLnJvbGxpbmdXaW5kb3c+MCYmdGhpcy5hdXRvU2Nyb2xsSW50ZXJ2YWw+MD90aGlzLnN0YXJ0QXV0b1Njcm9sbCgpOnRoaXMuc3RvcEF1dG9TY3JvbGwoKSksSS5oYXMoImF1dG9TY3JvbGxJbnRlcnZhbCIpJiZ0aGlzLmNoYXJ0JiYodGhpcy5zdG9wQXV0b1Njcm9sbCgpLHRoaXMucmVhbHRpbWVNb2RlJiZ0aGlzLnJvbGxpbmdXaW5kb3c+MCYmdGhpcy5hdXRvU2Nyb2xsSW50ZXJ2YWw+MCYmdGhpcy5zdGFydEF1dG9TY3JvbGwoKSksKEkuaGFzKCJ5QXhpc1NjYWxpbmciKXx8SS5oYXMoInlBeGlzTWF4IikpJiZ0aGlzLmNoYXJ0KWZvcihsZXRbLHFdb2YgdGhpcy5zZXJpZXNBcGlzKXRoaXMueUF4aXNTY2FsaW5nPT09ImR5bmFtaWMiP3EuYXBwbHlPcHRpb25zKHthdXRvc2NhbGVJbmZvUHJvdmlkZXI6dm9pZCAwfSk6cS5hcHBseU9wdGlvbnMoe2F1dG9zY2FsZUluZm9Qcm92aWRlcjpzKCgpPT4oe3ByaWNlUmFuZ2U6e21pblZhbHVlOjAsbWF4VmFsdWU6dGhpcy55QXhpc01heH19KSwiYXV0b3NjYWxlSW5mb1Byb3ZpZGVyIil9KX1hc3luYyB1cGRhdGVTZXJpZXMoSSxxPSEwKXtpZih0aGlzLmNoYXJ0KXRyeXtpZih0aGlzLmludGVybmFsQ2hhcnREYXRhPUksdGhpcy5yb2xsaW5nV2luZG93PjAmJnRoaXMucmVhbHRpbWVNb2RlKXtsZXQgY2U9RGF0ZS5ub3coKSx1ZT1jZS10aGlzLnJvbGxpbmdXaW5kb3c7aWYoSS5sZW5ndGghPT10aGlzLnNlcmllc0FwaXMuc2l6ZSl0aGlzLnJlY3JlYXRlU2VyaWVzKEkpO2Vsc2V7bGV0IFk9dGhpcy5nZXRTZXJpZXNDb2xvcnMoIXRoaXMuZ29CcmlnaHQpO0kuZm9yRWFjaCgoWCxKKT0+e2xldCBaPVgubmFtZXx8YHNlcmllcy0ke0p9YCxnZT10aGlzLnNlcmllc0FwaXMuZ2V0KFopO2lmKCFnZSlyZXR1cm47bGV0IGFlPVguZGF0YS5maWx0ZXIocmU9Pih0eXBlb2YgcmUueD09Im51bWJlciI/cmUueDpuZXcgRGF0ZShyZS54KS5nZXRUaW1lKCkpPnVlKTtnZS5zZXREYXRhKHRoaXMuY29udmVydERhdGFUb0xDKGFlKSksdGhpcy51cGRhdGVQcmljZUxpbmVzKFosZ2UsYWUsWVtKJVkubGVuZ3RoXSl9KSx0aGlzLmNvbXB1dGVTdGF0cyhJKX10cnl7dGhpcy5jaGFydC50aW1lU2NhbGUoKS5zZXRWaXNpYmxlUmFuZ2Uoe2Zyb206TWF0aC5mbG9vcih1ZS8xZTMpLHRvOk1hdGguZmxvb3IoY2UvMWUzKX0pfWNhdGNoe31pZih0aGlzLnlBeGlzU2NhbGluZz09PSJkeW5hbWljIil7bGV0IFk9SS5mbGF0TWFwKFg9PlguZGF0YS5maWx0ZXIoSj0+KHR5cGVvZiBKLng9PSJudW1iZXIiP0oueDpuZXcgRGF0ZShKLngpLmdldFRpbWUoKSk+dWUpLm1hcChKPT5KLnkpKTtpZihZLmxlbmd0aD4wKXtsZXQgWD1NYXRoLmNlaWwoTWF0aC5tYXgoLi4uWSkqMS4xKTtmb3IobGV0WyxKXW9mIHRoaXMuc2VyaWVzQXBpcylKLmFwcGx5T3B0aW9ucyh7YXV0b3NjYWxlSW5mb1Byb3ZpZGVyOnMoKCk9Pih7cHJpY2VSYW5nZTp7bWluVmFsdWU6MCxtYXhWYWx1ZTpYfX0pLCJhdXRvc2NhbGVJbmZvUHJvdmlkZXIiKX0pfX19ZWxzZSBpZihJLmxlbmd0aCE9PXRoaXMuc2VyaWVzQXBpcy5zaXplKXRoaXMucmVjcmVhdGVTZXJpZXMoSSk7ZWxzZXtsZXQgY2U9dGhpcy5nZXRTZXJpZXNDb2xvcnMoIXRoaXMuZ29CcmlnaHQpO0kuZm9yRWFjaCgodWUsWSk9PntsZXQgWD11ZS5uYW1lfHxgc2VyaWVzLSR7WX1gLEo9dGhpcy5zZXJpZXNBcGlzLmdldChYKTtKJiYoSi5zZXREYXRhKHRoaXMuY29udmVydERhdGFUb0xDKHVlLmRhdGEpKSx0aGlzLnVwZGF0ZVByaWNlTGluZXMoWCxKLHVlLmRhdGEsY2VbWSVjZS5sZW5ndGhdKSl9KSx0aGlzLmNvbXB1dGVTdGF0cyhJKX19Y2F0Y2goY2Upe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byB1cGRhdGUgY2hhcnQgc2VyaWVzOiIsY2UpfX1hc3luYyB1cGRhdGVUaW1lV2luZG93KCl7aWYoIXRoaXMuY2hhcnR8fHRoaXMucm9sbGluZ1dpbmRvdzw9MClyZXR1cm47bGV0IEk9RGF0ZS5ub3coKSxxPUktdGhpcy5yb2xsaW5nV2luZG93O3RyeXt0aGlzLmNoYXJ0LnRpbWVTY2FsZSgpLnNldFZpc2libGVSYW5nZSh7ZnJvbTpNYXRoLmZsb29yKHEvMWUzKSx0bzpNYXRoLmZsb29yKEkvMWUzKX0pfWNhdGNoe319YXN5bmMgYXBwZW5kRGF0YShJKXt0aGlzLmNoYXJ0JiZJLmZvckVhY2goKHEsY2UpPT57bGV0IHVlPXEubmFtZXx8YHNlcmllcy0ke2NlfWAsWT10aGlzLnNlcmllc0FwaXMuZ2V0KHVlKTtpZighKCFZfHxxLmRhdGEubGVuZ3RoPT09MCkpZm9yKGxldCBYIG9mIHEuZGF0YSl7bGV0IEo9dGhpcy5jb252ZXJ0RGF0YVRvTEMoW1hdKTtKLmxlbmd0aD4wJiZZLnVwZGF0ZShKWzBdKX19KX1hc3luYyB1cGRhdGVPcHRpb25zKEkpe3RoaXMuY2hhcnQmJnRoaXMuY2hhcnQuYXBwbHlPcHRpb25zKEkpfWFzeW5jIHJlc2l6ZUNoYXJ0KCl7dGhpcy5jaGFydCYmdGhpcy5jaGFydC50aW1lU2NhbGUoKS5maXRDb250ZW50KCl9YXN5bmMgZm9yY2VSZXNpemUoKXthd2FpdCB0aGlzLnJlc2l6ZUNoYXJ0KCl9dG9nZ2xlRnVsbFBhZ2UoKXt0aGlzLmlzRnVsbFBhZ2U9IXRoaXMuaXNGdWxsUGFnZSx0aGlzLmlzRnVsbFBhZ2U/KHRoaXMuc3R5bGUucG9zaXRpb249ImZpeGVkIix0aGlzLnN0eWxlLmluc2V0PSIwIix0aGlzLnN0eWxlLnpJbmRleD0iMTAwMDAiLHRoaXMuc3R5bGUuaGVpZ2h0PSIxMDB2aCIsdGhpcy5zdHlsZS5wYWRkaW5nPSIwIixkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93PSJoaWRkZW4iKToodGhpcy5zdHlsZS5wb3NpdGlvbj0iIix0aGlzLnN0eWxlLmluc2V0PSIiLHRoaXMuc3R5bGUuekluZGV4PSIiLHRoaXMuc3R5bGUuaGVpZ2h0PSIiLHRoaXMuc3R5bGUucGFkZGluZz0iIixkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93PSIiKSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9Pnt0aGlzLmNoYXJ0Py50aW1lU2NhbGUoKS5maXRDb250ZW50KCl9KX1zdGFydEF1dG9TY3JvbGwoKXt0aGlzLmF1dG9TY3JvbGxUaW1lcnx8KHRoaXMuYXV0b1Njcm9sbFRpbWVyPXdpbmRvdy5zZXRJbnRlcnZhbCgoKT0+e3RoaXMudXBkYXRlVGltZVdpbmRvdygpfSx0aGlzLmF1dG9TY3JvbGxJbnRlcnZhbCkpfXN0b3BBdXRvU2Nyb2xsKCl7dGhpcy5hdXRvU2Nyb2xsVGltZXImJih3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLmF1dG9TY3JvbGxUaW1lciksdGhpcy5hdXRvU2Nyb2xsVGltZXI9bnVsbCl9c3RhdGlje3pyKHIsdCl9fTtyZXR1cm4gbWU9cn0pKCl9KTt2YXIgbWNhPWYoKCk9PntiUWUoKX0pO2Z1bmN0aW9uIEU0KGEpe3JldHVybiBhP3ZjYS5saWdodDp2Y2EuZGFya31mdW5jdGlvbiBQNChhLGUpe2xldCB0PXBhcnNlSW50KGEuc2xpY2UoMSwzKSwxNikscj1wYXJzZUludChhLnNsaWNlKDMsNSksMTYpLGk9cGFyc2VJbnQoYS5zbGljZSg1LDcpLDE2KTtyZXR1cm5gcmdiYSgke3R9LCAke3J9LCAke2l9LCAke2V9KWB9ZnVuY3Rpb24geGNhKGEpe2xldCBlPWE/Z2NhOmJjYTtyZXR1cm57YmFja2dyb3VuZENvbG9yOiJ0cmFuc3BhcmVudCIsdGV4dFN0eWxlOntjb2xvcjplLnRleHRTZWNvbmRhcnksZm9udEZhbWlseTonLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBzYW5zLXNlcmlmJyxmb250U2l6ZToxMn0sdG9vbHRpcDp7YmFja2dyb3VuZENvbG9yOmUuYmdQcmltYXJ5LGJvcmRlckNvbG9yOmUuYm9yZGVyRGVmYXVsdCx0ZXh0U3R5bGU6e2NvbG9yOmUudGV4dFByaW1hcnksZm9udFNpemU6MTJ9LGNvbmZpbmU6ITB9LGxlZ2VuZDp7dGV4dFN0eWxlOntjb2xvcjplLnRleHRTZWNvbmRhcnksZm9udFNpemU6MTJ9fX19ZnVuY3Rpb24gSTQoYSl7cmV0dXJuIGE/Z2NhOmJjYX12YXIgZ2NhLGJjYSx2Y2EsR209ZigoKT0+e1FlKCk7Z2NhPVpvLmNvbG9ycy5saWdodCxiY2E9Wm8uY29sb3JzLmRhcmssdmNhPXtkYXJrOlsiIzYwYTVmYSIsIiMyZGQ0YmYiLCIjYTc4YmZhIiwiI2ZiYmYyNCIsIiMzNGQzOTkiLCIjZmI3MTg1Il0sbGlnaHQ6WyIjM2I4MmY2IiwiIzE0YjhhNiIsIiM4YjVjZjYiLCIjZjU5ZTBiIiwiIzEwYjk4MSIsIiNmNDNmNWUiXX07cyhFNCwiZ2V0RWNoYXJ0c1Nlcmllc0NvbG9ycyIpO3MoUDQsImhleFRvUmdiYSIpO3MoeGNhLCJnZXRFY2hhcnRzVGhlbWVPcHRpb25zIik7cyhJNCwiZ2V0VGhlbWVDb2xvcnMiKX0pO3ZhciBJSWEseWNhLCRjLEtXPWYoKCk9PntsZSgpO0p0KCk7X2MoKTtHbSgpO0tyKCk7SUlhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx5Y2E9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LCRjPSgoKT0+e2xldCBhPXBlLGUsdD1bXSxyPVtdO3JldHVybiBjbGFzcyBleHRlbmRzIGF7c3RhdGlje3ModGhpcywiRGVlc0NoYXJ0RWNoYXJ0c0Jhc2UiKX1zdGF0aWN7bGV0IG89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoYVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7ZT1bJCgpXSxJSWEodGhpcyxudWxsLGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuPT4ibGFiZWwiaW4gbiwiaGFzIiksZ2V0OnMobj0+bi5sYWJlbCwiZ2V0Iiksc2V0OnMoKG4sbCk9PntuLmxhYmVsPWx9LCJzZXQiKX0sbWV0YWRhdGE6b30sdCxyKSxvJiZPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm99KX0jZT15Y2EodGhpcyx0LCJVbnRpdGxlZCBDaGFydCIpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiNlfXNldCBsYWJlbChvKXt0aGlzLiNlPW99Y2hhcnRJbnN0YW5jZT0oeWNhKHRoaXMsciksbnVsbCk7ZWNoYXJ0c0J1bmRsZT1udWxsO3Jlc2l6ZU9ic2VydmVyPW51bGw7Y29uc3RydWN0b3IoKXtzdXBlcigpLHRyLnNldHVwKCksdGhpcy5yZWdpc3RlckdhcmJhZ2VGdW5jdGlvbihhc3luYygpPT57aWYodGhpcy5yZXNpemVPYnNlcnZlciYmKHRoaXMucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9bnVsbCksdGhpcy5jaGFydEluc3RhbmNlKXRyeXt0aGlzLmNoYXJ0SW5zdGFuY2UuZGlzcG9zZSgpLHRoaXMuY2hhcnRJbnN0YW5jZT1udWxsfWNhdGNoKG8pe2NvbnNvbGUuZXJyb3IoIkVycm9yIGRpc3Bvc2luZyBFQ2hhcnRzIGluc3RhbmNlOiIsbyl9fSl9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJjaGFydEhlYWRlciI+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iY2hhcnRMYWJlbCI+JHt0aGlzLmxhYmVsfTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjaGFydENvbnRhaW5lciI+PC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXthd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSx0aGlzLmVjaGFydHNCdW5kbGU9YXdhaXQgUHMuZ2V0SW5zdGFuY2UoKS5sb2FkRWNoYXJ0cygpLGF3YWl0IG5ldyBQcm9taXNlKG49PnJlcXVlc3RBbmltYXRpb25GcmFtZShuKSk7bGV0IG89dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5jaGFydENvbnRhaW5lciIpO2lmKG8pdHJ5e3RoaXMuY2hhcnRJbnN0YW5jZT10aGlzLmVjaGFydHNCdW5kbGUuaW5pdChvLG51bGwse3JlbmRlcmVyOiJzdmcifSksdGhpcy51cGRhdGVDaGFydCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9bmV3IFJlc2l6ZU9ic2VydmVyKCgpPT57dGhpcy5jaGFydEluc3RhbmNlPy5yZXNpemUoKX0pLHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZShvKX1jYXRjaChuKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBFQ2hhcnRzOiIsbil9fWFzeW5jIHVwZGF0ZWQobyl7c3VwZXIudXBkYXRlZChvKSxvLmhhcygiZ29CcmlnaHQiKSYmdGhpcy5jaGFydEluc3RhbmNlJiZ0aGlzLmFwcGx5VGhlbWUoKX11cGRhdGVDaGFydCgpe2lmKCF0aGlzLmNoYXJ0SW5zdGFuY2UpcmV0dXJuO2xldCBvPXhjYSh0aGlzLmdvQnJpZ2h0KSxuPXRoaXMuYnVpbGRPcHRpb24oKSxsPXsuLi5vLC4uLm4sdGV4dFN0eWxlOnsuLi5vLnRleHRTdHlsZSwuLi5uLnRleHRTdHlsZXx8e319LHRvb2x0aXA6ey4uLm8udG9vbHRpcCwuLi5uLnRvb2x0aXB8fHt9fSxsZWdlbmQ6ey4uLm8ubGVnZW5kLC4uLm4ubGVnZW5kfHx7fSx0ZXh0U3R5bGU6ey4uLm8ubGVnZW5kPy50ZXh0U3R5bGV8fHt9LC4uLm4ubGVnZW5kPy50ZXh0U3R5bGV8fHt9fX19O3RoaXMuY2hhcnRJbnN0YW5jZS5zZXRPcHRpb24obCwhMCl9YXBwbHlUaGVtZSgpe3RoaXMudXBkYXRlQ2hhcnQoKX1hc3luYyBmb3JjZVJlc2l6ZSgpe3RoaXMuY2hhcnRJbnN0YW5jZT8ucmVzaXplKCl9fX0pKCl9KTt2YXIgd2NhLE1jYT1mKCgpPT57bGUoKTtJYSgpO3ZRZSgpO3djYT1zKCgpPT57bGV0IGE9WyIvYXBpL3VzZXJzIiwiL2FwaS9vcmRlcnMiLCIvYXBpL3Byb2R1Y3RzIiwiL2FwaS9hdXRoIiwiL2FwaS9zZWFyY2giXSxlPVt7bmFtZToiR0VUIixkYXRhOlsxMjQwLDg5MCw3MjAsMjEwMCw1NjBdfSx7bmFtZToiUE9TVCIsZGF0YTpbMzIwLDQ1MCwxODAsODkwLDQwXX0se25hbWU6IlBVVCIsZGF0YTpbOTAsMjEwLDE1MCwzMCwxMF19XSx0PVsiVVMtRWFzdCIsIlVTLVdlc3QiLCJFVSIsIkFzaWEiLCJPdGhlciJdLHI9W3tuYW1lOiJSZXF1ZXN0cyIsZGF0YTpbNDUwMCwzMjAwLDI4MDAsMTkwMCw2MDBdfV07cmV0dXJuIHdgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBpPT57bGV0IG89aS5xdWVyeVNlbGVjdG9yKCIjdmVydC1jaGFydCIpLG49aS5xdWVyeVNlbGVjdG9yKCIjaG9yaXotY2hhcnQiKSxsPWkucXVlcnlTZWxlY3RvcigiI3N0YWNrLWNoYXJ0Iik7aS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2goYz0+e2MudGV4dD8udHJpbSgpPT09IlJhbmRvbWl6ZSImJmMuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57by5zZXJpZXM9ZS5tYXAodT0+KHsuLi51LGRhdGE6dS5kYXRhLm1hcChtPT5NYXRoLnJvdW5kKG0qKC41K01hdGgucmFuZG9tKCkpKSl9KSksbi5zZXJpZXM9ci5tYXAodT0+KHsuLi51LGRhdGE6dS5kYXRhLm1hcChtPT5NYXRoLnJvdW5kKG0qKC41K01hdGgucmFuZG9tKCkpKSl9KSksbC5zZXJpZXM9ZS5tYXAodT0+KHsuLi51LGRhdGE6dS5kYXRhLm1hcChtPT5NYXRoLnJvdW5kKG0qKC41K01hdGgucmFuZG9tKCkpKSl9KSl9KX0pfX0+CiAgICAgIDxzdHlsZT4KICAgICAgICAke1FgCiAgICAgICAgICAuZGVtb0JveCB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIH0KICAgICAgICAgIC5jaGFydFJvdyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgfQogICAgICAgICAgLmNvbnRyb2xzIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuaW5mbyB7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNS40IDE2LjMlIDU2LjklKSIsImhzbCgyMTUgMjAuMiUgNTUuMSUpIil9OwogICAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgICB9CiAgICAgICAgYH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iZGVtb0JveCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMiPgogICAgICAgICAgPGRlZXMtYnV0dG9uLWdyb3VwIGxhYmVsPSJBY3Rpb25zOiI+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5SYW5kb21pemU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iY2hhcnRSb3ciPgogICAgICAgICAgPGRlZXMtY2hhcnQtYmFyCiAgICAgICAgICAgIGlkPSJ2ZXJ0LWNoYXJ0IgogICAgICAgICAgICAubGFiZWw9JHsiUmVxdWVzdHMgYnkgRW5kcG9pbnQifQogICAgICAgICAgICAuY2F0ZWdvcmllcz0ke2F9CiAgICAgICAgICAgIC5zZXJpZXM9JHtlfQogICAgICAgICAgICAudmFsdWVGb3JtYXR0ZXI9JHtpPT5gJHtpfSByZXFgfQogICAgICAgICAgPjwvZGVlcy1jaGFydC1iYXI+CgogICAgICAgICAgPGRlZXMtY2hhcnQtYmFyCiAgICAgICAgICAgIGlkPSJob3Jpei1jaGFydCIKICAgICAgICAgICAgLmxhYmVsPSR7IlRyYWZmaWMgYnkgUmVnaW9uIn0KICAgICAgICAgICAgLmNhdGVnb3JpZXM9JHt0fQogICAgICAgICAgICAuc2VyaWVzPSR7cn0KICAgICAgICAgICAgLmhvcml6b250YWw9JHshMH0KICAgICAgICAgICAgLnZhbHVlRm9ybWF0dGVyPSR7aT0+YCR7KGkvMWUzKS50b0ZpeGVkKDEpfWtgfQogICAgICAgICAgPjwvZGVlcy1jaGFydC1iYXI+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkZWVzLWNoYXJ0LWJhcgogICAgICAgICAgaWQ9InN0YWNrLWNoYXJ0IgogICAgICAgICAgLmxhYmVsPSR7IlN0YWNrZWQ6IFJlcXVlc3RzIGJ5IEVuZHBvaW50In0KICAgICAgICAgIC5jYXRlZ29yaWVzPSR7YX0KICAgICAgICAgIC5zZXJpZXM9JHtlfQogICAgICAgICAgLnN0YWNrZWQ9JHshMH0KICAgICAgICAgIC52YWx1ZUZvcm1hdHRlcj0ke2k9PmAke2l9IHJlcWB9CiAgICAgICAgPjwvZGVlcy1jaGFydC1iYXI+CgogICAgICAgIDxkaXYgY2xhc3M9ImluZm8iPgogICAgICAgICAgQmFyIGNoYXJ0IHdpdGggdmVydGljYWwsIGhvcml6b250YWwsIGFuZCBzdGFja2VkIG1vZGVzIOKAogogICAgICAgICAgQ2xpY2sgJ1JhbmRvbWl6ZScgdG8gdXBkYXRlIGRhdGEgd2l0aCBhbmltYXRpb24KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYH0sImRlbW9GdW5jIil9KTt2YXIgTjQsWlc9ZigoKT0+e2xlKCk7UWUoKTtOND1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICA6aG9zdCB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnUm9ib3RvJywgc2Fucy1zZXJpZjsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgfQogICAgZGVlcy10aWxlIHsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgfQogICAgLmNoYXJ0SGVhZGVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICBwYWRkaW5nOiAwIDhweCAwIDE2cHg7CiAgICB9CiAgICAuY2hhcnRMYWJlbCB7CiAgICAgIGZsZXg6IDE7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgIH0KICAgIC5jaGFydENvbnRhaW5lciB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgaW5zZXQ6IDA7CiAgICB9CiAgYF19KTt2YXIga2NhLFNjYT1mKCgpPT57bGUoKTtaVygpO2tjYT1bLi4uTjQsUWBgXX0pO3ZhciB6Y2EsQ2NhPWYoKCk9PntsZSgpO3pjYT1zKGE9PndgCiAgICA8ZGVlcy10aWxlPgogICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImNoYXJ0SGVhZGVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2hhcnRMYWJlbCI+JHthLmxhYmVsfTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0Q29udGFpbmVyIj48L2Rpdj4KICAgIDwvZGVlcy10aWxlPgogIGAsInJlbmRlckNoYXJ0QmFyIil9KTt2YXIgaDUsYW4sX2NhLHZRZT1mKCgpPT57bGUoKTtLVygpO01jYSgpO1NjYSgpO0NjYSgpO0dtKCk7aDU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGFuPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxfY2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLWNoYXJ0LWJhciIpXSxlLHQ9W10scixpPSRjLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdO3ZhciBPPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQ2hhcnRCYXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgVD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9WyQoe3R5cGU6QXJyYXl9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSx5PVskKHt0eXBlOkJvb2xlYW59KV0sTj1bJCh7YXR0cmlidXRlOiExfSldLGg1KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2F0ZWdvcmllcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4iY2F0ZWdvcmllcyJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLmNhdGVnb3JpZXMsImdldCIpLHNldDpzKChFLEIpPT57RS5jYXRlZ29yaWVzPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sbixsKSxoNSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcmllcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4ic2VyaWVzImluIEUsImhhcyIpLGdldDpzKEU9PkUuc2VyaWVzLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0Uuc2VyaWVzPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYyxwKSxoNSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imhvcml6b250YWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+Imhvcml6b250YWwiaW4gRSwiaGFzIiksZ2V0OnMoRT0+RS5ob3Jpem9udGFsLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UuaG9yaXpvbnRhbD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG0sdiksaDUodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGFja2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJzdGFja2VkImluIEUsImhhcyIpLGdldDpzKEU9PkUuc3RhY2tlZCwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLnN0YWNrZWQ9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxiLGcpLGg1KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0xlZ2VuZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4ic2hvd0xlZ2VuZCJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLnNob3dMZWdlbmQsImdldCIpLHNldDpzKChFLEIpPT57RS5zaG93TGVnZW5kPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sayxDKSxoNSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlRm9ybWF0dGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJ2YWx1ZUZvcm1hdHRlciJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLnZhbHVlRm9ybWF0dGVyLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UudmFsdWVGb3JtYXR0ZXI9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxfLHopLGg1KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlR9LG51bGwsdCksTz1yPWUudmFsdWUsVCYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpUfSl9c3RhdGljIGRlbW89d2NhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQ2hhcnQiXTsjZT1hbih0aGlzLG4sW10pO2dldCBjYXRlZ29yaWVzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGNhdGVnb3JpZXMoVCl7dGhpcy4jZT1UfSN0PShhbih0aGlzLGwpLGFuKHRoaXMsYyxbXSkpO2dldCBzZXJpZXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VyaWVzKFQpe3RoaXMuI3Q9VH0jYT0oYW4odGhpcyxwKSxhbih0aGlzLG0sITEpKTtnZXQgaG9yaXpvbnRhbCgpe3JldHVybiB0aGlzLiNhfXNldCBob3Jpem9udGFsKFQpe3RoaXMuI2E9VH0jcj0oYW4odGhpcyx2KSxhbih0aGlzLGIsITEpKTtnZXQgc3RhY2tlZCgpe3JldHVybiB0aGlzLiNyfXNldCBzdGFja2VkKFQpe3RoaXMuI3I9VH0jcz0oYW4odGhpcyxnKSxhbih0aGlzLGssITApKTtnZXQgc2hvd0xlZ2VuZCgpe3JldHVybiB0aGlzLiNzfXNldCBzaG93TGVnZW5kKFQpe3RoaXMuI3M9VH0jaT0oYW4odGhpcyxDKSxhbih0aGlzLF8sVD0+YCR7VH1gKSk7Z2V0IHZhbHVlRm9ybWF0dGVyKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHZhbHVlRm9ybWF0dGVyKFQpe3RoaXMuI2k9VH1zdGF0aWMgc3R5bGVzPWtjYTtyZW5kZXIoKXtyZXR1cm4gemNhKHRoaXMpfWFzeW5jIHVwZGF0ZWQoVCl7c3VwZXIudXBkYXRlZChUKSx0aGlzLmNoYXJ0SW5zdGFuY2UmJihULmhhcygiY2F0ZWdvcmllcyIpfHxULmhhcygic2VyaWVzIil8fFQuaGFzKCJob3Jpem9udGFsIil8fFQuaGFzKCJzdGFja2VkIil8fFQuaGFzKCJzaG93TGVnZW5kIikpJiZ0aGlzLnVwZGF0ZUNoYXJ0KCl9YnVpbGRPcHRpb24oKXtsZXQgVD1JNCh0aGlzLmdvQnJpZ2h0KSxFPUU0KHRoaXMuZ29CcmlnaHQpLEI9dGhpcy52YWx1ZUZvcm1hdHRlcixNPXt0eXBlOiJjYXRlZ29yeSIsZGF0YTp0aGlzLmNhdGVnb3JpZXMsYXhpc0xpbmU6e2xpbmVTdHlsZTp7Y29sb3I6VC5ib3JkZXJTdHJvbmd9fSxheGlzTGFiZWw6e2NvbG9yOlQudGV4dE11dGVkfX0sUz17dHlwZToidmFsdWUiLGF4aXNMaW5lOntzaG93OiExfSxheGlzTGFiZWw6e2NvbG9yOlQudGV4dE11dGVkLGZvcm1hdHRlcjpzKEc9PkIoRyksImZvcm1hdHRlciIpfSxzcGxpdExpbmU6e2xpbmVTdHlsZTp7Y29sb3I6VC5ib3JkZXJTdWJ0bGV9fX0sUD10aGlzLmdvQnJpZ2h0Py4xNTouMjUsQT10aGlzLmhvcml6b250YWw/WzAsNCw0LDBdOls0LDQsMCwwXSxGPVswLDAsMCwwXSxXPVtdLGo9dGhpcy5zZXJpZXMubWFwKChHLGhlKT0+e2xldCBSPUcuY29sb3J8fEVbaGUlRS5sZW5ndGhdO3JldHVybiBXLnB1c2goe25hbWU6Ry5uYW1lLGl0ZW1TdHlsZTp7Y29sb3I6Un19KSx7bmFtZTpHLm5hbWUsdHlwZToiYmFyIixkYXRhOkcuZGF0YSxzdGFjazp0aGlzLnN0YWNrZWQ/InRvdGFsIjp2b2lkIDAsaXRlbVN0eWxlOntjb2xvcjpQNChSLFApLGJvcmRlckNvbG9yOlIsYm9yZGVyV2lkdGg6MSxib3JkZXJSYWRpdXM6dGhpcy5zdGFja2VkP0Y6QX0sYmFyTWF4V2lkdGg6NDAsYmFyR2FwOiIyMCUiLGVtcGhhc2lzOntpdGVtU3R5bGU6e2NvbG9yOlA0KFIsUCsuMTUpLGJvcmRlckNvbG9yOlIsYm9yZGVyV2lkdGg6MS41fX19fSk7aWYodGhpcy5zdGFja2VkJiZqLmxlbmd0aD4wKXtsZXQgRz1qW2oubGVuZ3RoLTFdO0cuaXRlbVN0eWxlLmJvcmRlclJhZGl1cz1BfXJldHVybnt0b29sdGlwOnt0cmlnZ2VyOiJheGlzIixheGlzUG9pbnRlcjp7dHlwZToic2hhZG93In0sZm9ybWF0dGVyOnMoRz0+e2xldCBoZT1BcnJheS5pc0FycmF5KEcpP0c6W0ddLFI9YDxzdHJvbmc+JHtoZVswXS5heGlzVmFsdWVMYWJlbH08L3N0cm9uZz48YnIvPmA7Zm9yKGxldCBVIG9mIGhlKXtsZXQgST1gPHNwYW4gc3R5bGU9ImRpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1yaWdodDo0cHg7Ym9yZGVyLXJhZGl1czoxMHB4O3dpZHRoOjEwcHg7aGVpZ2h0OjEwcHg7YmFja2dyb3VuZC1jb2xvcjoke1UuYm9yZGVyQ29sb3J8fFUuY29sb3J9OyI+PC9zcGFuPmA7Uis9YCR7SX0ke1Uuc2VyaWVzTmFtZX06IDxzdHJvbmc+JHtCKFUudmFsdWUpfTwvc3Ryb25nPjxici8+YH1yZXR1cm4gUn0sImZvcm1hdHRlciIpfSxsZWdlbmQ6dGhpcy5zaG93TGVnZW5kJiZ0aGlzLnNlcmllcy5sZW5ndGg+MT97Ym90dG9tOjgsaXRlbVdpZHRoOjEwLGl0ZW1IZWlnaHQ6MTAsZGF0YTpXfTp7c2hvdzohMX0sZ3JpZDp7bGVmdDoxNixyaWdodDoxNix0b3A6MTYsYm90dG9tOnRoaXMuc2hvd0xlZ2VuZCYmdGhpcy5zZXJpZXMubGVuZ3RoPjE/NDA6MTYsY29udGFpbkxhYmVsOiEwfSx4QXhpczp0aGlzLmhvcml6b250YWw/UzpNLHlBeGlzOnRoaXMuaG9yaXpvbnRhbD9NOlMsc2VyaWVzOmp9fWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxhbih0aGlzLHopfXN0YXRpY3thbihyLHQpfX07cmV0dXJuIE89cn0pKCl9KTt2YXIgVGNhPWYoKCk9Pnt2UWUoKX0pO3ZhciBMY2EsJGNhPWYoKCk9PntsZSgpO0lhKCk7eFFlKCk7TGNhPXMoKCk9PntsZXQgYT1be25hbWU6IkRvY3VtZW50cyIsdmFsdWU6NDJ9LHtuYW1lOiJNZWRpYSIsdmFsdWU6Mjh9LHtuYW1lOiJBcHBsaWNhdGlvbnMiLHZhbHVlOjE1fSx7bmFtZToiU3lzdGVtIix2YWx1ZToxMH0se25hbWU6Ik90aGVyIix2YWx1ZTo1fV0sZT1be25hbWU6IkhlYWx0aHkiLHZhbHVlOjE1Nn0se25hbWU6Ildhcm5pbmciLHZhbHVlOjIzfSx7bmFtZToiQ3JpdGljYWwiLHZhbHVlOjh9LHtuYW1lOiJVbmtub3duIix2YWx1ZTozfV0sdD1be25hbWU6IkFQSSIsdmFsdWU6NDUyMDB9LHtuYW1lOiJTdGF0aWMgQXNzZXRzIix2YWx1ZToyMzEwMH0se25hbWU6IldlYlNvY2tldCIsdmFsdWU6MTI4MDB9LHtuYW1lOiJHcmFwaFFMIix2YWx1ZTo4OTAwfV07cmV0dXJuIHdgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyByPT57bGV0IGk9ci5xdWVyeVNlbGVjdG9yKCIjZGlzay1jaGFydCIpLG89ci5xdWVyeVNlbGVjdG9yKCIjc3RhdHVzLWNoYXJ0Iiksbj1yLnF1ZXJ5U2VsZWN0b3IoIiN0cmFmZmljLWNoYXJ0Iik7ci5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2goZD0+e2QudGV4dD8udHJpbSgpPT09IlJhbmRvbWl6ZSImJmQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57aS5kYXRhPWEubWFwKHA9Pih7Li4ucCx2YWx1ZTpNYXRoLnJvdW5kKHAudmFsdWUqKC41K01hdGgucmFuZG9tKCkpKX0pKSxvLmRhdGE9ZS5tYXAocD0+KHsuLi5wLHZhbHVlOk1hdGgucm91bmQocC52YWx1ZSooLjMrTWF0aC5yYW5kb20oKSoxLjQpKX0pKSxuLmRhdGE9dC5tYXAocD0+KHsuLi5wLHZhbHVlOk1hdGgucm91bmQocC52YWx1ZSooLjUrTWF0aC5yYW5kb20oKSkpfSkpfSl9KX19PgogICAgICA8c3R5bGU+CiAgICAgICAgJHtRYAogICAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuY2hhcnRSb3cgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIH0KICAgICAgICAgIC5jb250cm9scyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgfQogICAgICAgICAgLmluZm8gewogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICAgICAgfQogICAgICAgIGB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW9Cb3giPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iQWN0aW9uczoiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+UmFuZG9taXplPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0Um93Ij4KICAgICAgICAgIDxkZWVzLWNoYXJ0LWRvbnV0CiAgICAgICAgICAgIGlkPSJkaXNrLWNoYXJ0IgogICAgICAgICAgICAubGFiZWw9JHsiRGlzayBVc2FnZSAoR0IpIn0KICAgICAgICAgICAgLmRhdGE9JHthfQogICAgICAgICAgICAudmFsdWVGb3JtYXR0ZXI9JHtyPT5gJHtyfSBHQmB9CiAgICAgICAgICA+PC9kZWVzLWNoYXJ0LWRvbnV0PgoKICAgICAgICAgIDxkZWVzLWNoYXJ0LWRvbnV0CiAgICAgICAgICAgIGlkPSJzdGF0dXMtY2hhcnQiCiAgICAgICAgICAgIC5sYWJlbD0keyJTZXJ2aWNlIFN0YXR1cyJ9CiAgICAgICAgICAgIC5kYXRhPSR7ZX0KICAgICAgICAgICAgLnZhbHVlRm9ybWF0dGVyPSR7cj0+YCR7cn0gc2VydmljZXNgfQogICAgICAgICAgICAuaW5uZXJSYWRpdXNQZXJjZW50PSR7IjAlIn0KICAgICAgICAgID48L2RlZXMtY2hhcnQtZG9udXQ+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkZWVzLWNoYXJ0LWRvbnV0CiAgICAgICAgICBpZD0idHJhZmZpYy1jaGFydCIKICAgICAgICAgIC5sYWJlbD0keyJUcmFmZmljIERpc3RyaWJ1dGlvbiJ9CiAgICAgICAgICAuZGF0YT0ke3R9CiAgICAgICAgICAudmFsdWVGb3JtYXR0ZXI9JHtyPT5gJHsoci8xZTMpLnRvRml4ZWQoMSl9ayByZXFgfQogICAgICAgID48L2RlZXMtY2hhcnQtZG9udXQ+CgogICAgICAgIDxkaXYgY2xhc3M9ImluZm8iPgogICAgICAgICAgRG9udXQgY2hhcnQgd2l0aCBjb25maWd1cmFibGUgaW5uZXIgcmFkaXVzIChzZXQgdG8gMCUgZm9yIGZ1bGwgcGllKSDigKIKICAgICAgICAgIENsaWNrICdSYW5kb21pemUnIHRvIHVwZGF0ZSBkYXRhIHdpdGggYW5pbWF0aW9uCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIERjYSxBY2E9ZigoKT0+e2xlKCk7WlcoKTtEY2E9Wy4uLk40LFFgCiAgICA6aG9zdCB7CiAgICAgIGhlaWdodDogMzYwcHg7CiAgICB9CiAgICAuY2hhcnRDb250YWluZXIgewogICAgICBpbnNldDogMTJweCAwOwogICAgfQogIGBdfSk7dmFyIEVjYSxQY2E9ZigoKT0+e2xlKCk7RWNhPXMoYT0+d2AKICAgIDxkZWVzLXRpbGU+CiAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2hhcnRIZWFkZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJjaGFydExhYmVsIj4ke2EubGFiZWx9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2hhcnRDb250YWluZXIiPjwvZGl2PgogICAgPC9kZWVzLXRpbGU+CiAgYCwicmVuZGVyQ2hhcnREb251dCIpfSk7dmFyIFltLHExLEljYSx4UWU9ZigoKT0+e2xlKCk7S1coKTskY2EoKTtBY2EoKTtQY2EoKTtHbSgpO1ltPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxxMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sSWNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1jaGFydC1kb251dCIpXSxlLHQ9W10scixpPSRjLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQ2hhcnREb251dCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpCb29sZWFufSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHthdHRyaWJ1dGU6ITF9KV0sWW0odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJkYXRhImluIHosImhhcyIpLGdldDpzKHo9PnouZGF0YSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmRhdGE9T30sInNldCIpfSxtZXRhZGF0YTpffSxuLGwpLFltKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0xlZ2VuZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4ic2hvd0xlZ2VuZCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnNob3dMZWdlbmQsImdldCIpLHNldDpzKCh6LE8pPT57ei5zaG93TGVnZW5kPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYyxwKSxZbSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dMYWJlbHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNob3dMYWJlbHMiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5zaG93TGFiZWxzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2hvd0xhYmVscz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdiksWW0odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbm5lclJhZGl1c1BlcmNlbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImlubmVyUmFkaXVzUGVyY2VudCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmlubmVyUmFkaXVzUGVyY2VudCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmlubmVyUmFkaXVzUGVyY2VudD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZyksWW0odGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWx1ZUZvcm1hdHRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4idmFsdWVGb3JtYXR0ZXIiaW4geiwiaGFzIiksZ2V0OnMoej0+ei52YWx1ZUZvcm1hdHRlciwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnZhbHVlRm9ybWF0dGVyPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sayxDKSxZbShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpffSxudWxsLHQpLE49cj1lLnZhbHVlLF8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6X30pfXN0YXRpYyBkZW1vPUxjYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkNoYXJ0Il07I2U9cTEodGhpcyxuLFtdKTtnZXQgZGF0YSgpe3JldHVybiB0aGlzLiNlfXNldCBkYXRhKF8pe3RoaXMuI2U9X30jdD0ocTEodGhpcyxsKSxxMSh0aGlzLGMsITApKTtnZXQgc2hvd0xlZ2VuZCgpe3JldHVybiB0aGlzLiN0fXNldCBzaG93TGVnZW5kKF8pe3RoaXMuI3Q9X30jYT0ocTEodGhpcyxwKSxxMSh0aGlzLG0sITApKTtnZXQgc2hvd0xhYmVscygpe3JldHVybiB0aGlzLiNhfXNldCBzaG93TGFiZWxzKF8pe3RoaXMuI2E9X30jcj0ocTEodGhpcyx2KSxxMSh0aGlzLGIsIjU1JSIpKTtnZXQgaW5uZXJSYWRpdXNQZXJjZW50KCl7cmV0dXJuIHRoaXMuI3J9c2V0IGlubmVyUmFkaXVzUGVyY2VudChfKXt0aGlzLiNyPV99I3M9KHExKHRoaXMsZykscTEodGhpcyxrLF89PmAke199YCkpO2dldCB2YWx1ZUZvcm1hdHRlcigpe3JldHVybiB0aGlzLiNzfXNldCB2YWx1ZUZvcm1hdHRlcihfKXt0aGlzLiNzPV99c3RhdGljIHN0eWxlcz1EY2E7cmVuZGVyKCl7cmV0dXJuIEVjYSh0aGlzKX1hc3luYyB1cGRhdGVkKF8pe3N1cGVyLnVwZGF0ZWQoXyksdGhpcy5jaGFydEluc3RhbmNlJiYoXy5oYXMoImRhdGEiKXx8Xy5oYXMoInNob3dMZWdlbmQiKXx8Xy5oYXMoInNob3dMYWJlbHMiKXx8Xy5oYXMoImlubmVyUmFkaXVzUGVyY2VudCIpKSYmdGhpcy51cGRhdGVDaGFydCgpfWJ1aWxkT3B0aW9uKCl7bGV0IF89STQodGhpcy5nb0JyaWdodCksej1FNCh0aGlzLmdvQnJpZ2h0KSxPPXRoaXMuZ29CcmlnaHQ/LjE1Oi4yLFQ9W10sRT10aGlzLmRhdGEubWFwKChNLFMpPT57bGV0IFA9TS5jb2xvcnx8eltTJXoubGVuZ3RoXTtyZXR1cm4gVC5wdXNoKHtuYW1lOk0ubmFtZSxpdGVtU3R5bGU6e2NvbG9yOlB9fSkse25hbWU6TS5uYW1lLHZhbHVlOk0udmFsdWUsaXRlbVN0eWxlOntjb2xvcjpQNChQLE8pLGJvcmRlckNvbG9yOlAsYm9yZGVyV2lkdGg6MX0sZW1waGFzaXM6e2l0ZW1TdHlsZTp7Y29sb3I6UDQoUCxPKy4xNSksYm9yZGVyQ29sb3I6UCxib3JkZXJXaWR0aDoxLjV9fX19KSxCPXRoaXMudmFsdWVGb3JtYXR0ZXI7cmV0dXJue3Rvb2x0aXA6e3RyaWdnZXI6Iml0ZW0iLGZvcm1hdHRlcjpzKE09PmAke2A8c3BhbiBzdHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLXJpZ2h0OjRweDtib3JkZXItcmFkaXVzOjEwcHg7d2lkdGg6MTBweDtoZWlnaHQ6MTBweDtiYWNrZ3JvdW5kLWNvbG9yOiR7TS5kYXRhPy5pdGVtU3R5bGU/LmJvcmRlckNvbG9yfHxNLmNvbG9yfTsiPjwvc3Bhbj5gfSR7TS5uYW1lfTogPHN0cm9uZz4ke0IoTS52YWx1ZSl9PC9zdHJvbmc+ICgke00ucGVyY2VudH0lKWAsImZvcm1hdHRlciIpfSxsZWdlbmQ6dGhpcy5zaG93TGVnZW5kP3tvcmllbnQ6InZlcnRpY2FsIixyaWdodDoxNix0b3A6ImNlbnRlciIsaXRlbVdpZHRoOjEwLGl0ZW1IZWlnaHQ6MTAsaXRlbUdhcDoxMixkYXRhOlQsZm9ybWF0dGVyOnMoTT0+e2xldCBTPXRoaXMuZGF0YS5maW5kKFA9PlAubmFtZT09PU0pO3JldHVybiBTP2Ake019ICAke0IoUy52YWx1ZSl9YDpNfSwiZm9ybWF0dGVyIil9OntzaG93OiExfSxzZXJpZXM6W3t0eXBlOiJwaWUiLHJhZGl1czpbdGhpcy5pbm5lclJhZGl1c1BlcmNlbnQsIjg1JSJdLGNlbnRlcjp0aGlzLnNob3dMZWdlbmQ/WyIzNSUiLCI1MCUiXTpbIjUwJSIsIjUwJSJdLGF2b2lkTGFiZWxPdmVybGFwOiEwLHBhZEFuZ2xlOjIsaXRlbVN0eWxlOntib3JkZXJSYWRpdXM6NH0sbGFiZWw6dGhpcy5zaG93TGFiZWxzP3tzaG93OiEwLGZvcm1hdHRlcjoie2J9OiB7ZH0lIixmb250U2l6ZToxMSxjb2xvcjpfLnRleHRTZWNvbmRhcnksdGV4dEJvcmRlckNvbG9yOiJ0cmFuc3BhcmVudCJ9OntzaG93OiExfSxkYXRhOkV9XX19Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHExKHRoaXMsQyl9c3RhdGlje3ExKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBOY2E9ZigoKT0+e3hRZSgpfSk7dmFyIFJjYSxPY2E9ZigoKT0+e2xlKCk7SWEoKTt5UWUoKTtSY2E9cygoKT0+e2xldCBhPVt7dmFsdWU6NjAsY29sb3I6ImhzbCgxNDIgNzYlIDM2JSkifSx7dmFsdWU6ODAsY29sb3I6ImhzbCgzOCA5MiUgNTAlKSJ9LHt2YWx1ZToxMDAsY29sb3I6ImhzbCgwIDcyJSA1MCUpIn1dO3JldHVybiB3YAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgZT0+e2xldCB0PWUucXVlcnlTZWxlY3RvcigiI2NwdS1nYXVnZSIpLHI9ZS5xdWVyeVNlbGVjdG9yKCIjbWVtLWdhdWdlIiksaT1lLnF1ZXJ5U2VsZWN0b3IoIiNzbGEtZ2F1Z2UiKSxvPW51bGw7ZS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWJ1dHRvbiIpLmZvckVhY2gobD0+e2xldCBkPWwudGV4dD8udHJpbSgpO2Q9PT0iQW5pbWF0ZSI/bC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntvfHwobz13aW5kb3cuc2V0SW50ZXJ2YWwoKCk9Pnt0LnZhbHVlPU1hdGgucm91bmQoMzArTWF0aC5yYW5kb20oKSo2MCksci52YWx1ZT1NYXRoLnJvdW5kKDQwK01hdGgucmFuZG9tKCkqNTApLGkudmFsdWU9TWF0aC5yb3VuZCgoOTUrTWF0aC5yYW5kb20oKSo1KSoxMDApLzEwMH0sMmUzKSl9KTpkPT09IlN0b3AiP2wuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57byYmKHdpbmRvdy5jbGVhckludGVydmFsKG8pLG89bnVsbCl9KTpkPT09IlNwaWtlIiYmbC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9Pnt0LnZhbHVlPTk1LHIudmFsdWU9ODgsaS52YWx1ZT05Ni41fSl9KX19PgogICAgICA8c3R5bGU+CiAgICAgICAgJHtRYAogICAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuZ2F1Z2VSb3cgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuY29udHJvbHMgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICAgIH0KICAgICAgICAgIC5pbmZvIHsKICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNTYuOSUpIiwiaHNsKDIxNSAyMC4yJSA1NS4xJSkiKX07CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgICAgIH0KICAgICAgICBgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vQm94Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9scyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkFjdGlvbnM6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkFuaW1hdGU8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+U3RvcDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TcGlrZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJnYXVnZVJvdyI+CiAgICAgICAgICA8ZGVlcy1jaGFydC1nYXVnZQogICAgICAgICAgICBpZD0iY3B1LWdhdWdlIgogICAgICAgICAgICAubGFiZWw9JHsiQ1BVIFVzYWdlIn0KICAgICAgICAgICAgLnZhbHVlPSR7NDJ9CiAgICAgICAgICAgIC51bml0PSR7IiUifQogICAgICAgICAgICAudGhyZXNob2xkcz0ke2F9CiAgICAgICAgICA+PC9kZWVzLWNoYXJ0LWdhdWdlPgoKICAgICAgICAgIDxkZWVzLWNoYXJ0LWdhdWdlCiAgICAgICAgICAgIGlkPSJtZW0tZ2F1Z2UiCiAgICAgICAgICAgIC5sYWJlbD0keyJNZW1vcnkgVXNhZ2UifQogICAgICAgICAgICAudmFsdWU9JHs2N30KICAgICAgICAgICAgLnVuaXQ9JHsiJSJ9CiAgICAgICAgICAgIC50aHJlc2hvbGRzPSR7YX0KICAgICAgICAgID48L2RlZXMtY2hhcnQtZ2F1Z2U+CgogICAgICAgICAgPGRlZXMtY2hhcnQtZ2F1Z2UKICAgICAgICAgICAgaWQ9InNsYS1nYXVnZSIKICAgICAgICAgICAgLmxhYmVsPSR7IlNMQSBVcHRpbWUifQogICAgICAgICAgICAudmFsdWU9JHs5OS44fQogICAgICAgICAgICAubWluPSR7OTV9CiAgICAgICAgICAgIC5tYXg9JHsxMDB9CiAgICAgICAgICAgIC51bml0PSR7IiUifQogICAgICAgICAgICAuc2hvd1RpY2tzPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWNoYXJ0LWdhdWdlPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvIj4KICAgICAgICAgIEdhdWdlIGNoYXJ0IHdpdGggYW5pbWF0ZWQgdmFsdWUgdHJhbnNpdGlvbnMgYW5kIHRocmVzaG9sZCBjb2xvcmluZyDigKIKICAgICAgICAgIENsaWNrICdBbmltYXRlJyBmb3IgbGl2ZSB1cGRhdGVzLCAnU3Bpa2UnIHRvIHNpbXVsYXRlIGhpZ2ggbG9hZAogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgfSwiZGVtb0Z1bmMiKX0pO3ZhciBGY2EsQmNhPWYoKCk9PntsZSgpO1pXKCk7RmNhPVsuLi5ONCxRYAogICAgOmhvc3QgewogICAgICBoZWlnaHQ6IDMyMHB4OwogICAgfQogIGBdfSk7dmFyIEhjYSxxY2E9ZigoKT0+e2xlKCk7SGNhPXMoYT0+d2AKICAgIDxkZWVzLXRpbGU+CiAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2hhcnRIZWFkZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJjaGFydExhYmVsIj4ke2EubGFiZWx9PC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iY2hhcnRDb250YWluZXIiPjwvZGl2PgogICAgPC9kZWVzLXRpbGU+CiAgYCwicmVuZGVyQ2hhcnRHYXVnZSIpfSk7dmFyIG01LHJuLFZjYSx5UWU9ZigoKT0+e2xlKCk7S1coKTtPY2EoKTtCY2EoKTtxY2EoKTtHbSgpO201PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxybj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sVmNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1jaGFydC1nYXVnZSIpXSxlLHQ9W10scixpPSRjLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdO3ZhciBPPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQ2hhcnRHYXVnZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBUPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6TnVtYmVyfSldLGQ9WyQoe3R5cGU6TnVtYmVyfSldLHU9WyQoe3R5cGU6TnVtYmVyfSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6QXJyYXl9KV0sTj1bJCh7dHlwZTpCb29sZWFufSldLG01KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+InZhbHVlImluIEUsImhhcyIpLGdldDpzKEU9PkUudmFsdWUsImdldCIpLHNldDpzKChFLEIpPT57RS52YWx1ZT1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG4sbCksbTUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtaW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+Im1pbiJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLm1pbiwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLm1pbj1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGMscCksbTUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtYXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+Im1heCJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLm1heCwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLm1heD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG0sdiksbTUodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ1bml0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJ1bml0ImluIEUsImhhcyIpLGdldDpzKEU9PkUudW5pdCwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLnVuaXQ9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxiLGcpLG01KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGhyZXNob2xkcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4idGhyZXNob2xkcyJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLnRocmVzaG9sZHMsImdldCIpLHNldDpzKChFLEIpPT57RS50aHJlc2hvbGRzPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sayxDKSxtNSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dUaWNrcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4ic2hvd1RpY2tzImluIEUsImhhcyIpLGdldDpzKEU9PkUuc2hvd1RpY2tzLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0Uuc2hvd1RpY2tzPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyx6KSxtNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpUfSxudWxsLHQpLE89cj1lLnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPVJjYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkNoYXJ0Il07I2U9cm4odGhpcyxuLDApO2dldCB2YWx1ZSgpe3JldHVybiB0aGlzLiNlfXNldCB2YWx1ZShUKXt0aGlzLiNlPVR9I3Q9KHJuKHRoaXMsbCkscm4odGhpcyxjLDApKTtnZXQgbWluKCl7cmV0dXJuIHRoaXMuI3R9c2V0IG1pbihUKXt0aGlzLiN0PVR9I2E9KHJuKHRoaXMscCkscm4odGhpcyxtLDEwMCkpO2dldCBtYXgoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbWF4KFQpe3RoaXMuI2E9VH0jcj0ocm4odGhpcyx2KSxybih0aGlzLGIsIiUiKSk7Z2V0IHVuaXQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdW5pdChUKXt0aGlzLiNyPVR9I3M9KHJuKHRoaXMsZykscm4odGhpcyxrLFtdKSk7Z2V0IHRocmVzaG9sZHMoKXtyZXR1cm4gdGhpcy4jc31zZXQgdGhyZXNob2xkcyhUKXt0aGlzLiNzPVR9I2k9KHJuKHRoaXMsQykscm4odGhpcyxfLCEwKSk7Z2V0IHNob3dUaWNrcygpe3JldHVybiB0aGlzLiNpfXNldCBzaG93VGlja3MoVCl7dGhpcy4jaT1UfXN0YXRpYyBzdHlsZXM9RmNhO3JlbmRlcigpe3JldHVybiBIY2EodGhpcyl9YXN5bmMgdXBkYXRlZChUKXtzdXBlci51cGRhdGVkKFQpLHRoaXMuY2hhcnRJbnN0YW5jZSYmKFQuaGFzKCJ2YWx1ZSIpfHxULmhhcygibWluIil8fFQuaGFzKCJtYXgiKXx8VC5oYXMoInVuaXQiKXx8VC5oYXMoInRocmVzaG9sZHMiKXx8VC5oYXMoInNob3dUaWNrcyIpKSYmdGhpcy51cGRhdGVDaGFydCgpfWJ1aWxkT3B0aW9uKCl7bGV0IFQ9STQodGhpcy5nb0JyaWdodCksQj1FNCh0aGlzLmdvQnJpZ2h0KVswXSxNO2lmKHRoaXMudGhyZXNob2xkcy5sZW5ndGg+MCl7bGV0IFM9Wy4uLnRoaXMudGhyZXNob2xkc10uc29ydCgoUCxBKT0+UC52YWx1ZS1BLnZhbHVlKTtNPVMubWFwKFA9PlsoUC52YWx1ZS10aGlzLm1pbikvKHRoaXMubWF4LXRoaXMubWluKSxQLmNvbG9yXSksTVtNLmxlbmd0aC0xXVswXTwxJiZNLnB1c2goWzEsU1tTLmxlbmd0aC0xXS5jb2xvcl0pfWVsc2UgTT1bWzEsQl1dO3JldHVybntzZXJpZXM6W3t0eXBlOiJnYXVnZSIsbWluOnRoaXMubWluLG1heDp0aGlzLm1heCxzdGFydEFuZ2xlOjIyMCxlbmRBbmdsZTotNDAscHJvZ3Jlc3M6e3Nob3c6ITAsd2lkdGg6MTQscm91bmRDYXA6ITB9LHBvaW50ZXI6e3Nob3c6ITAsbGVuZ3RoOiI2MCUiLHdpZHRoOjUsaXRlbVN0eWxlOntjb2xvcjoiYXV0byJ9fSxheGlzTGluZTp7bGluZVN0eWxlOnt3aWR0aDoxNCxjb2xvcjpNLG9wYWNpdHk6LjN9fSxheGlzVGljazp7c2hvdzp0aGlzLnNob3dUaWNrcyxkaXN0YW5jZTotMjAsbGVuZ3RoOjYsbGluZVN0eWxlOntjb2xvcjpULmJvcmRlclN0cm9uZyx3aWR0aDoxfX0sc3BsaXRMaW5lOntzaG93OnRoaXMuc2hvd1RpY2tzLGRpc3RhbmNlOi0yNCxsZW5ndGg6MTAsbGluZVN0eWxlOntjb2xvcjpULnRleHRNdXRlZCx3aWR0aDoyfX0sYXhpc0xhYmVsOntzaG93OnRoaXMuc2hvd1RpY2tzLGRpc3RhbmNlOjMwLGNvbG9yOlQudGV4dE11dGVkLGZvbnRTaXplOjExfSxkZXRhaWw6e3ZhbHVlQW5pbWF0aW9uOiEwLGZvbnRTaXplOjI4LGZvbnRXZWlnaHQ6NjAwLG9mZnNldENlbnRlcjpbMCwiNjUlIl0sY29sb3I6VC50ZXh0UHJpbWFyeSxmb3JtYXR0ZXI6YHt2YWx1ZX0ke3RoaXMudW5pdH1gfSx0aXRsZTp7c2hvdzohMX0sZGF0YTpbe3ZhbHVlOnRoaXMudmFsdWV9XX1dfX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cykscm4odGhpcyx6KX1zdGF0aWN7cm4ocix0KX19O3JldHVybiBPPXJ9KSgpfSk7dmFyIGpjYT1mKCgpPT57eVFlKCl9KTt2YXIgVWNhLFdjYT1mKCgpPT57bGUoKTtJYSgpO1VjYT1zKCgpPT53YAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcigiI3N0cnVjdHVyZWQtbG9nIiksdD1hLnF1ZXJ5U2VsZWN0b3IoIiNyYXctbG9nIikscixpLG89WyJTZXJ2ZXIiLCJEYXRhYmFzZSIsIkFQSSIsIkF1dGgiLCJDYWNoZSIsIlF1ZXVlIiwiV2ViU29ja2V0IiwiU2NoZWR1bGVyIl0sbj17ZGVidWc6WyJMb2FkaW5nIG1vZHVsZToge3ttb2R1bGV9fSIsIkNhY2hlIGhpdCBmb3Iga2V5OiB7e2tleX19IiwiU1FMIHF1ZXJ5IGV4ZWN1dGVkIGluIHt7dGltZX19bXMiLCJSZXF1ZXN0IGhlYWRlcnM6IHt7aGVhZGVyc319IiwiRW52aXJvbm1lbnQgdmFyaWFibGUgbG9hZGVkOiB7e3Zhcn19Il0saW5mbzpbIlJlcXVlc3QgcmVjZWl2ZWQ6IHt7bWV0aG9kfX0ge3twYXRofX0iLCJVc2VyIHt7dXNlcklkfX0gYXV0aGVudGljYXRlZCBzdWNjZXNzZnVsbHkiLCJQcm9jZXNzaW5nIGpvYiB7e2pvYklkfX0gZnJvbSBxdWV1ZSIsJ1NjaGVkdWxlZCB0YXNrICJ7e3Rhc2t9fSIgc3RhcnRlZCcsIldlYlNvY2tldCBjb25uZWN0aW9uIGVzdGFibGlzaGVkIGZyb20ge3tpcH19Il0sd2FybjpbIlNsb3cgcXVlcnkgZGV0ZWN0ZWQ6IHt7cXVlcnl9fSAoe3t0aW1lfX1tcykiLCJNZW1vcnkgdXNhZ2UgYXQge3twZXJjZW50fX0lIiwiUmF0ZSBsaW1pdCBhcHByb2FjaGluZyBmb3IgSVAge3tpcH19IiwiRGVwcmVjYXRlZCBBUEkgZW5kcG9pbnQgY2FsbGVkOiB7e2VuZHBvaW50fX0iLCJDZXJ0aWZpY2F0ZSBleHBpcmVzIGluIHt7ZGF5c319IGRheXMiXSxlcnJvcjpbIkRhdGFiYXNlIGNvbm5lY3Rpb24gbG9zdDoge3tlcnJvcn19IiwiRmFpbGVkIHRvIHByb2Nlc3MgcmVxdWVzdDoge3tlcnJvcn19IiwiQXV0aGVudGljYXRpb24gZmFpbGVkIGZvciB1c2VyIHt7dXNlcn19IiwiRmlsZSBub3QgZm91bmQ6IHt7cGF0aH19IiwiU2VydmljZSB1bmF2YWlsYWJsZToge3tzZXJ2aWNlfX0iXSxzdWNjZXNzOlsiU2VydmVyIHN0YXJ0ZWQgc3VjY2Vzc2Z1bGx5IG9uIHBvcnQge3twb3J0fX0iLCJEYXRhYmFzZSBtaWdyYXRpb24gY29tcGxldGVkIiwiQmFja3VwIGNvbXBsZXRlZDoge3tzaXplfX0gTUIiLCJTU0wgY2VydGlmaWNhdGUgcmVuZXdlZCIsIkhlYWx0aCBjaGVjayBwYXNzZWQ6IGFsbCBzeXN0ZW1zIG9wZXJhdGlvbmFsIl19LGw9WyJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDUuMTIzWlx4MUJbMG0gXHgxQlszNm1JTkZPXHgxQlswbSAgW25naW54XSBHRVQgL2FwaS9oZWFsdGggMjAwIC0gMm1zIiwiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ1LjQ1NlpceDFCWzBtIFx4MUJbMzNtV0FSTlx4MUJbMG0gIFtyZWRpc10gQ29ubmVjdGlvbiBwb29sIHJ1bm5pbmcgbG93OiAzLzEwIiwiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ1Ljc4OVpceDFCWzBtIFx4MUJbMzFtRVJST1JceDFCWzBtIFttb25nb2RiXSBRdWVyeSB0aW1lb3V0IGFmdGVyIDMwMDAwbXMiLCJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDYuMDEyWlx4MUJbMG0gXHgxQlszNm1JTkZPXHgxQlswbSAgW2FwcF0gUHJvY2Vzc2luZyBiYXRjaCBqb2IgI3t7am9iSWR9fSIsIlx4MUJbOTBtMjAyNC0wMS0xNVQxMDoyMzo0Ni4zNDVaXHgxQlswbSBceDFCWzMybU9LXHgxQlswbSAgICBbaGVhbHRoXSBBbGwgc2VydmljZXMgaGVhbHRoeSIsIlx4MUJbOTBtMjAyNC0wMS0xNVQxMDoyMzo0Ni42NzhaXHgxQlswbSBceDFCWzM2bUlORk9ceDFCWzBtICBba2Fma2FdIE1lc3NhZ2UgY29uc3VtZWQgZnJvbSB0b3BpYzogZXZlbnRzIiwiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ3LjAwMVpceDFCWzBtIFx4MUJbMzVtREVCVUdceDFCWzBtIFtncnBjXSBSZXF1ZXN0IHJlY2VpdmVkOiBHZXRVc2VyKGlkPXt7dXNlcklkfX0pIiwiXHgxQls5MG0yMDI0LTAxLTE1VDEwOjIzOjQ3LjIzNFpceDFCWzBtIFx4MUJbMzFtRVJST1JceDFCWzBtIFthdXRoXSBUb2tlbiB2YWxpZGF0aW9uIGZhaWxlZDogZXhwaXJlZCIsIlx4MUJbOTBtMjAyNC0wMS0xNVQxMDoyMzo0Ny41NjdaXHgxQlswbSBceDFCWzMzbVdBUk5ceDFCWzBtICBbcmF0ZS1saW1pdF0gSVAge3tpcH19IGFwcHJvYWNoaW5nIHJhdGUgbGltaXQiLCJceDFCWzkwbTIwMjQtMDEtMTVUMTA6MjM6NDcuODkwWlx4MUJbMG0gXHgxQlszNm1JTkZPXHgxQlswbSAgW3dlYnNvY2tldF0gQ2xpZW50IGNvbm5lY3RlZDogc2Vzc2lvbj17e3Nlc3Npb259fSIsYFx4MUJbMzFtRXJyb3I6IENvbm5lY3Rpb24gcmVmdXNlZFx4MUJbMG0KICAgIGF0IFRjcENvbm5lY3Rpb24uY29ubmVjdCAoL2FwcC9ub2RlX21vZHVsZXMvcGcvbGliL2Nvbm5lY3Rpb24uanM6MTI6MTUpCiAgICBhdCBQb29sLmNvbm5lY3QgKC9hcHAvbm9kZV9tb2R1bGVzL3BnL2xpYi9wb29sLmpzOjQ1OjIzKQogICAgYXQgYXN5bmMgRGF0YWJhc2VTZXJ2aWNlLnF1ZXJ5ICgvYXBwL3NyYy9kYi9zZXJ2aWNlLnRzOjg5OjEyKWBdLGQ9cygoKT0+e2xldCBiPVsiZGVidWciLCJpbmZvIiwid2FybiIsImVycm9yIiwic3VjY2VzcyJdLGc9Wy4yLC41LC4xNSwuMSwuMDVdLHk9TWF0aC5yYW5kb20oKSxrPTAsQz0iaW5mbyI7Zm9yKGxldCBUPTA7VDxnLmxlbmd0aDtUKyspaWYoays9Z1tUXSx5PGspe0M9YltUXTticmVha31sZXQgTj1vW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSpvLmxlbmd0aCldLF89bltDXSxPPV9bTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKl8ubGVuZ3RoKV0ucmVwbGFjZSgie3ttb2R1bGV9fSIsWyJleHByZXNzIiwibW9uZ29vc2UiLCJyZWRpcyIsInNvY2tldC5pbyJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KV0pLnJlcGxhY2UoInt7a2V5fX0iLCJ1c2VyOiIrTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjFlMykpLnJlcGxhY2UoInt7dGltZX19IixTdHJpbmcoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjUwMCkrNTApKS5yZXBsYWNlKCJ7e2hlYWRlcnN9fSIsIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbiwgQXV0aG9yaXphdGlvbjogQmVhcmVyIC4uLiIpLnJlcGxhY2UoInt7dmFyfX0iLFsiTk9ERV9FTlYiLCJEQVRBQkFTRV9VUkwiLCJBUElfS0VZIiwiUE9SVCJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KV0pLnJlcGxhY2UoInt7bWV0aG9kfX0iLFsiR0VUIiwiUE9TVCIsIlBVVCIsIkRFTEVURSJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KV0pLnJlcGxhY2UoInt7cGF0aH19IixbIi9hcGkvdXNlcnMiLCIvYXBpL2F1dGgvbG9naW4iLCIvYXBpL3Byb2R1Y3RzIiwiL2hlYWx0aCJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KV0pLnJlcGxhY2UoInt7dXNlcklkfX0iLFN0cmluZyhNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMWU0KSkpLnJlcGxhY2UoInt7am9iSWR9fSIsImpvYl8iK01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyLDExKSkucmVwbGFjZSgie3t0YXNrfX0iLFsiY2xlYW51cCIsImJhY2t1cCIsInJlcG9ydC1nZW5lcmF0aW9uIiwiY2FjaGUtcmVmcmVzaCJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo0KV0pLnJlcGxhY2UoInt7aXB9fSIsYDE5Mi4xNjguMS4ke01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoyNTUpfWApLnJlcGxhY2UoInt7cXVlcnl9fSIsIlNFTEVDVCAqIEZST00gdXNlcnMgV0hFUkUgLi4uIikucmVwbGFjZSgie3twZXJjZW50fX0iLFN0cmluZyhNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMzApKzcwKSkucmVwbGFjZSgie3tlbmRwb2ludH19IiwiL2FwaS92MS9sZWdhY3kiKS5yZXBsYWNlKCJ7e2RheXN9fSIsU3RyaW5nKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSozMCkrMSkpLnJlcGxhY2UoInt7ZXJyb3J9fSIsWyJFQ09OTlJFRlVTRUQiLCJFVElNRURPVVQiLCJFTk9URk9VTkQiXVtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMyldKS5yZXBsYWNlKCJ7e3VzZXJ9fSIsInVzZXJfIitNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMWUzKSkucmVwbGFjZSgie3tzZXJ2aWNlfX0iLFsiUmVkaXMiLCJNb25nb0RCIiwiRWxhc3RpY1NlYXJjaCJdW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSozKV0pLnJlcGxhY2UoInt7cG9ydH19IixTdHJpbmcoM2UzK01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSoxMCkpKS5yZXBsYWNlKCJ7e3NpemV9fSIsU3RyaW5nKE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSo1MDApKzEwMCkpO2UuYWRkTG9nKEMsTyxOKX0sImdlbmVyYXRlUmFuZG9tTG9nIiksYz1zKCgpPT57bGV0IGI9bFtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqbC5sZW5ndGgpXSxnPW5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSx5PWIucmVwbGFjZSgvMjAyNC0wMS0xNVQxMDoyMzpcZHsyfVwuXGR7M31aL2csZykucmVwbGFjZSgie3tqb2JJZH19IixTdHJpbmcoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjFlNCkpKS5yZXBsYWNlKCJ7e3VzZXJJZH19IixTdHJpbmcoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjFlNCkpKS5yZXBsYWNlKCJ7e2lwfX0iLGAxOTIuMTY4LjEuJHtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjU1KX1gKS5yZXBsYWNlKCJ7e3Nlc3Npb259fSIsTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIsMTEpKTt0LndyaXRlbG5SYXcoeSl9LCJnZW5lcmF0ZURvY2tlckxvZyIpLHA9cygoKT0+e2lmKCFyKXtsZXQgYj1zKCgpPT57ZCgpO2xldCBnPU1hdGgucmFuZG9tKCkqMmUzKzUwMDtyPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57ciYmYigpfSxnKX0sInNjaGVkdWxlTmV4dCIpO2IoKX19LCJzdGFydFN0cnVjdHVyZWRTaW11bGF0aW9uIiksdT1zKCgpPT57ciYmKHdpbmRvdy5jbGVhclRpbWVvdXQocikscj1udWxsKX0sInN0b3BTdHJ1Y3R1cmVkU2ltdWxhdGlvbiIpLG09cygoKT0+e2lmKCFpKXtsZXQgYj1zKCgpPT57YygpO2xldCBnPU1hdGgucmFuZG9tKCkqMWUzKzIwMDtpPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57aSYmYigpfSxnKX0sInNjaGVkdWxlTmV4dCIpO2IoKX19LCJzdGFydFJhd1NpbXVsYXRpb24iKSx2PXMoKCk9PntpJiYod2luZG93LmNsZWFyVGltZW91dChpKSxpPW51bGwpfSwic3RvcFJhd1NpbXVsYXRpb24iKTthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaChiPT57c3dpdGNoKGIudGV4dD8udHJpbSgpKXtjYXNlIkFkZCBTdHJ1Y3R1cmVkIExvZyI6Yi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PmQoKSk7YnJlYWs7Y2FzZSJTdGFydCBTdHJ1Y3R1cmVkIjpiLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+cCgpKTticmVhaztjYXNlIlN0b3AgU3RydWN0dXJlZCI6Yi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PnUoKSk7YnJlYWs7Y2FzZSJBZGQgRG9ja2VyIExvZyI6Yi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PmMoKSk7YnJlYWs7Y2FzZSJTdGFydCBEb2NrZXIiOmIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT5tKCkpO2JyZWFrO2Nhc2UiU3RvcCBEb2NrZXIiOmIuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT52KCkpO2JyZWFrfX0pfX0+CiAgICAgIDxzdHlsZT4KICAgICAgICAke1FgCiAgICAgICAgICAuZGVtb0JveCB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSA1JSkiKX07CiAgICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIH0KICAgICAgICAgIC5zZWN0aW9uIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgfQogICAgICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDklKSIsImhzbCgwIDAlIDk1JSkiKX07CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICAgIH0KICAgICAgICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHsKICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1LjQgMTYuMyUgNDYuOSUpIiwiaHNsKDIxNSAyMC4yJSA2NS4xJSkiKX07CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICAgIH0KICAgICAgICAgIC5jb250cm9scyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMTBweDsKICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgICAgfQogICAgICAgIGB9CiAgICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJkZW1vQm94Ij4KICAgICAgPCEtLSBTdHJ1Y3R1cmVkIExvZ3MgU2VjdGlvbiAtLT4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+U3RydWN0dXJlZCBMb2dzIChJTG9nRW50cnkpPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBTdHJ1Y3R1cmVkIGxvZyBlbnRyaWVzIHdpdGggbGV2ZWwsIG1lc3NhZ2UsIGFuZCBzb3VyY2UuIFN1cHBvcnRzIHNlYXJjaCBhbmQga2V5d29yZCBoaWdobGlnaHRpbmcuCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMiPgogICAgICAgICAgPGRlZXMtYnV0dG9uPkFkZCBTdHJ1Y3R1cmVkIExvZzwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U3RhcnQgU3RydWN0dXJlZDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U3RvcCBTdHJ1Y3R1cmVkPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGVlcy1jaGFydC1sb2cKICAgICAgICAgIGlkPSJzdHJ1Y3R1cmVkLWxvZyIKICAgICAgICAgIC5sYWJlbD0keyJQcm9kdWN0aW9uIFNlcnZlciBMb2dzIn0KICAgICAgICAgIC5oaWdobGlnaHRLZXl3b3Jkcz0ke1siZXJyb3IiLCJmYWlsZWQiLCJ0aW1lb3V0Il19CiAgICAgICAgICAuc2hvd01ldHJpY3M9JHshMH0KICAgICAgICA+PC9kZWVzLWNoYXJ0LWxvZz4KICAgICAgPC9kaXY+CgogICAgICA8IS0tIFJhdyBMb2dzIFNlY3Rpb24gLS0+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlJhdyBMb2dzIChEb2NrZXIvQ29udGFpbmVyIFN0eWxlKTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPgogICAgICAgICAgUmF3IGxvZyBvdXRwdXQgd2l0aCBBTlNJIGVzY2FwZSBzZXF1ZW5jZXMgZm9yIHJlYWwgRG9ja2VyL2NvbnRhaW5lciBsb2dzLgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5BZGQgRG9ja2VyIExvZzwvZGVlcy1idXR0b24+CiAgICAgICAgICA8ZGVlcy1idXR0b24+U3RhcnQgRG9ja2VyPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbj5TdG9wIERvY2tlcjwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRlZXMtY2hhcnQtbG9nCiAgICAgICAgICBpZD0icmF3LWxvZyIKICAgICAgICAgIC5sYWJlbD0keyJEb2NrZXIgQ29udGFpbmVyIExvZ3MifQogICAgICAgICAgLm1vZGU9JHsicmF3In0KICAgICAgICAgIC5zaG93TWV0cmljcz0keyExfQogICAgICAgID48L2RlZXMtY2hhcnQtbG9nPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGAsImRlbW9GdW5jIil9KTt2YXIgSG4sQ3IsR2NhLFljYT1mKCgpPT57bGUoKTtKdCgpO1djYSgpO1FlKCk7X2MoKTtLcigpO0huPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxDcj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sR2NhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1jaGFydC1sb2ciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W107dmFyIG1lPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQ2hhcnRMb2ciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgST10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKCldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6QXJyYXl9KV0seD1bJCh7dHlwZTpCb29sZWFufSldLHk9WyQoe3R5cGU6TnVtYmVyfSldLE49WyQoe3R5cGU6QXJyYXl9KV0sTz1bJCh7dHlwZTpCb29sZWFufSldLEI9W0soKV0sUD1bSygpXSxXPVtLKCldLGhlPVtLKCldLEhuKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImxhYmVsImluIHEsImhhcyIpLGdldDpzKHE9PnEubGFiZWwsImdldCIpLHNldDpzKChxLGNlKT0+e3EubGFiZWw9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sbixsKSxIbih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+Im1vZGUiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5tb2RlLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLm1vZGU9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sYyxwKSxIbih0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvZ0VudHJpZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImxvZ0VudHJpZXMiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5sb2dFbnRyaWVzLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmxvZ0VudHJpZXM9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sbSx2KSxIbih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9TY3JvbGwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImF1dG9TY3JvbGwiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5hdXRvU2Nyb2xsLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmF1dG9TY3JvbGw9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sYixnKSxIbih0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1heEVudHJpZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+Im1heEVudHJpZXMiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5tYXhFbnRyaWVzLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLm1heEVudHJpZXM9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sayxDKSxIbih0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhpZ2hsaWdodEtleXdvcmRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJoaWdobGlnaHRLZXl3b3JkcyJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLmhpZ2hsaWdodEtleXdvcmRzLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmhpZ2hsaWdodEtleXdvcmRzPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LF8seiksSG4odGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93TWV0cmljcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4ic2hvd01ldHJpY3MiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5zaG93TWV0cmljcywiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5zaG93TWV0cmljcz1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxULEUpLEhuKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VhcmNoUXVlcnkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InNlYXJjaFF1ZXJ5ImluIHEsImhhcyIpLGdldDpzKHE9PnEuc2VhcmNoUXVlcnksImdldCIpLHNldDpzKChxLGNlKT0+e3Euc2VhcmNoUXVlcnk9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sTSxTKSxIbih0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbHRlck1vZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImZpbHRlck1vZGUiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5maWx0ZXJNb2RlLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmZpbHRlck1vZGU9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sQSxGKSxIbih0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1ldHJpY3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+Im1ldHJpY3MiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5tZXRyaWNzLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLm1ldHJpY3M9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0saixHKSxIbih0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0ZXJtaW5hbFJlYWR5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJ0ZXJtaW5hbFJlYWR5ImluIHEsImhhcyIpLGdldDpzKHE9PnEudGVybWluYWxSZWFkeSwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS50ZXJtaW5hbFJlYWR5PWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LFIsVSksSG4obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6SX0sbnVsbCx0KSxtZT1yPWUudmFsdWUsSSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpJfSl9c3RhdGljIGRlbW89VWNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQ2hhcnQiLCJXb3Jrc3BhY2UiXTsjZT1Dcih0aGlzLG4sIlNlcnZlciBMb2dzIik7Z2V0IGxhYmVsKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGxhYmVsKEkpe3RoaXMuI2U9SX0jdD0oQ3IodGhpcyxsKSxDcih0aGlzLGMsInN0cnVjdHVyZWQiKSk7Z2V0IG1vZGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbW9kZShJKXt0aGlzLiN0PUl9I2E9KENyKHRoaXMscCksQ3IodGhpcyxtLFtdKSk7Z2V0IGxvZ0VudHJpZXMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbG9nRW50cmllcyhJKXt0aGlzLiNhPUl9I3I9KENyKHRoaXMsdiksQ3IodGhpcyxiLCEwKSk7Z2V0IGF1dG9TY3JvbGwoKXtyZXR1cm4gdGhpcy4jcn1zZXQgYXV0b1Njcm9sbChJKXt0aGlzLiNyPUl9I3M9KENyKHRoaXMsZyksQ3IodGhpcyxrLDFlNCkpO2dldCBtYXhFbnRyaWVzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IG1heEVudHJpZXMoSSl7dGhpcy4jcz1JfSNpPShDcih0aGlzLEMpLENyKHRoaXMsXyxbXSkpO2dldCBoaWdobGlnaHRLZXl3b3Jkcygpe3JldHVybiB0aGlzLiNpfXNldCBoaWdobGlnaHRLZXl3b3JkcyhJKXt0aGlzLiNpPUl9I289KENyKHRoaXMseiksQ3IodGhpcyxULCEwKSk7Z2V0IHNob3dNZXRyaWNzKCl7cmV0dXJuIHRoaXMuI299c2V0IHNob3dNZXRyaWNzKEkpe3RoaXMuI289SX0jbj0oQ3IodGhpcyxFKSxDcih0aGlzLE0sIiIpKTtnZXQgc2VhcmNoUXVlcnkoKXtyZXR1cm4gdGhpcy4jbn1zZXQgc2VhcmNoUXVlcnkoSSl7dGhpcy4jbj1JfSNsPShDcih0aGlzLFMpLENyKHRoaXMsQSwhMSkpO2dldCBmaWx0ZXJNb2RlKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGZpbHRlck1vZGUoSSl7dGhpcy4jbD1JfSNjPShDcih0aGlzLEYpLENyKHRoaXMsaix7ZGVidWc6MCxpbmZvOjAsd2FybjowLGVycm9yOjAsc3VjY2VzczowLHRvdGFsOjAscmF0ZTowfSkpO2dldCBtZXRyaWNzKCl7cmV0dXJuIHRoaXMuI2N9c2V0IG1ldHJpY3MoSSl7dGhpcy4jYz1JfSNkPShDcih0aGlzLEcpLENyKHRoaXMsUiwhMSkpO2dldCB0ZXJtaW5hbFJlYWR5KCl7cmV0dXJuIHRoaXMuI2R9c2V0IHRlcm1pbmFsUmVhZHkoSSl7dGhpcy4jZD1JfWxvZ0J1ZmZlcj0oQ3IodGhpcyxVKSxbXSk7dHJhaWxpbmdIaWRkZW5Db3VudD0wO3Rlcm1pbmFsPW51bGw7Zml0QWRkb249bnVsbDtzZWFyY2hBZGRvbj1udWxsO3Jlc2l6ZU9ic2VydmVyPW51bGw7dGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbj1udWxsO2RvbXRvb2xzSW5zdGFuY2U9bnVsbDtyYXRlQnVmZmVyPVtdO3JhdGVJbnRlcnZhbD1udWxsO3N0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiA0MDBweDsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgfQoKICAgICAgLnRpdGxlIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtYm94IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDE1MHB4OwogICAgICAgIG1heC13aWR0aDogMzAwcHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtYm94IGlucHV0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXByaW1hcnkpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1ib3ggaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICB9CgogICAgICAuc2VhcmNoLWJveCBpbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CgogICAgICAuc2VhcmNoLW5hdiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLnNlYXJjaC1uYXYgYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA0cHggNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXByaW1hcnkpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtbmF2IGJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLmZpbHRlci10b2dnbGUgewogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1czsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuZmlsdGVyLXRvZ2dsZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLmZpbHRlci10b2dnbGUuYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDQ1IDkzJSA0NyUpIiwiaHNsKDQ1IDkzJSA0NyUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCg0NSA5MyUgNDclKSIsImhzbCg0NSA5MyUgNDclKSIpfTsKICAgICAgICBjb2xvcjogaHNsKDAgMCUgOSUpOwogICAgICB9CgogICAgICAuY29udHJvbHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgIH0KCiAgICAgIC5jb250cm9sLWJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1czsKICAgICAgfQoKICAgICAgLmNvbnRyb2wtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLmNvbnRyb2wtYnV0dG9uLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjIuMiA0Ny40JSA1MS4yJSkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIil9OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGluc2V0OiAwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcGFkZGluZzogOHB4OwogICAgICB9CgogICAgICAudGVybWluYWwtY29udGFpbmVyIC54dGVybSB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAubG9hZGluZy1zdGF0ZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAubWV0cmljcy1iYXIgewogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAubWV0cmljIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5tZXRyaWM6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMuZXJyb3I6OmJlZm9yZSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDAgODQuMiUgNjAuMiUpOwogICAgICB9CgogICAgICAubWV0cmljLndhcm46OmJlZm9yZSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDI1IDk1JSA1MyUpOwogICAgICB9CgogICAgICAubWV0cmljLmluZm86OmJlZm9yZSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDIyMi4yIDQ3LjQlIDUxLjIlKTsKICAgICAgfQoKICAgICAgLm1ldHJpYy5zdWNjZXNzOjpiZWZvcmUgewogICAgICAgIGJhY2tncm91bmQ6IGhzbCgxNDIuMSA3Ni4yJSAzNi4zJSk7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMuZGVidWc6OmJlZm9yZSB7CiAgICAgICAgYmFja2dyb3VuZDogaHNsKDAgMCUgNjMuOSUpOwogICAgICB9CgogICAgICAubWV0cmljLnJhdGUgewogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CgogICAgICAubWV0cmljLnJhdGU6OmJlZm9yZSB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgYF07Y29uc3RydWN0b3IoKXtzdXBlcigpLHRyLnNldHVwKCl9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGUgLmhlYWRpbmc9JHt0aGlzLmxhYmVsfT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+JHt0aGlzLmxhYmVsfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoLWJveCI+CiAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IlNlYXJjaCBsb2dzLi4uIgogICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuc2VhcmNoUXVlcnl9CiAgICAgICAgICAgICAgQGlucHV0PSR7ST0+dGhpcy5oYW5kbGVTZWFyY2hJbnB1dChJKX0KICAgICAgICAgICAgICBAa2V5ZG93bj0ke0k9PnRoaXMuaGFuZGxlU2VhcmNoS2V5ZG93bihJKX0KICAgICAgICAgICAgLz4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VhcmNoLW5hdiI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBAY2xpY2s9JHsoKT0+dGhpcy5zZWFyY2hQcmV2aW91cygpfSB0aXRsZT0iUHJldmlvdXMgbWF0Y2giPuKGkTwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gQGNsaWNrPSR7KCk9PnRoaXMuc2VhcmNoTmV4dCgpfSB0aXRsZT0iTmV4dCBtYXRjaCI+4oaTPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgY2xhc3M9ImZpbHRlci10b2dnbGUgJHt0aGlzLmZpbHRlck1vZGU/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnRvZ2dsZUZpbHRlck1vZGUoKX0KICAgICAgICAgICAgICB0aXRsZT0iJHt0aGlzLmZpbHRlck1vZGU/IlN3aXRjaCB0byBoaWdobGlnaHQgbW9kZSI6IlN3aXRjaCB0byBmaWx0ZXIgbW9kZSJ9IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgJHt0aGlzLmZpbHRlck1vZGU/IkZpbHRlciI6IkhpZ2hsaWdodCJ9CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9scyI+CiAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICBjbGFzcz0iY29udHJvbC1idXR0b24gJHt0aGlzLmF1dG9TY3JvbGw/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnRvZ2dsZUF1dG9TY3JvbGwoKX0KICAgICAgICAgICAgPgogICAgICAgICAgICAgIEF1dG8gU2Nyb2xsCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJjb250cm9sLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY2xlYXJMb2dzKCl9PgogICAgICAgICAgICAgIENsZWFyCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InRlcm1pbmFsLWNvbnRhaW5lciI+CiAgICAgICAgICAke3RoaXMudGVybWluYWxSZWFkeT8iIjp3YDxkaXYgY2xhc3M9ImxvYWRpbmctc3RhdGUiPkxvYWRpbmcgdGVybWluYWwuLi48L2Rpdj5gfQogICAgICAgIDwvZGl2PgoKICAgICAgICAke3RoaXMuc2hvd01ldHJpY3M/d2AKICAgICAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9Im1ldHJpY3MtYmFyIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMgZXJyb3IiPmVycm9yczogJHt0aGlzLm1ldHJpY3MuZXJyb3J9PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYyB3YXJuIj53YXJuczogJHt0aGlzLm1ldHJpY3Mud2Fybn08L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljIGluZm8iPmluZm86ICR7dGhpcy5tZXRyaWNzLmluZm99PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYyBzdWNjZXNzIj5zdWNjZXNzOiAke3RoaXMubWV0cmljcy5zdWNjZXNzfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMgZGVidWciPmRlYnVnOiAke3RoaXMubWV0cmljcy5kZWJ1Z308L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljIHJhdGUiPiR7dGhpcy5tZXRyaWNzLnJhdGUudG9GaXhlZCgxKX0gbG9ncy9zZWM8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgIDwvZGVlcy10aWxlPgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXtpZih0aGlzLmRvbXRvb2xzSW5zdGFuY2U9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UsYXdhaXQgdGhpcy5pbml0aWFsaXplVGVybWluYWwoKSx0aGlzLmxvZ0VudHJpZXMubGVuZ3RoPjAmJnRoaXMubG9nQnVmZmVyLmxlbmd0aD09PTApe3RoaXMubG9nQnVmZmVyPVsuLi50aGlzLmxvZ0VudHJpZXNdO2ZvcihsZXQgSSBvZiB0aGlzLmxvZ0VudHJpZXMpdGhpcy51cGRhdGVNZXRyaWNzKEkubGV2ZWwpLHRoaXMud3JpdGVMb2dFbnRyeShJKX1lbHNlIGlmKHRoaXMubG9nRW50cmllcy5sZW5ndGg+MCYmdGhpcy5sb2dCdWZmZXIubGVuZ3RoPjApe2xldCBJPW5ldyBTZXQodGhpcy5sb2dCdWZmZXIubWFwKHE9PmAke3EudGltZXN0YW1wfXwke3EubWVzc2FnZX1gKSk7Zm9yKGxldCBxIG9mIHRoaXMubG9nRW50cmllcylJLmhhcyhgJHtxLnRpbWVzdGFtcH18JHtxLm1lc3NhZ2V9YCl8fCh0aGlzLmxvZ0J1ZmZlci5wdXNoKHEpLHRoaXMudXBkYXRlTWV0cmljcyhxLmxldmVsKSx0aGlzLndyaXRlTG9nRW50cnkocSkpfX1hc3luYyBpbml0aWFsaXplVGVybWluYWwoKXtsZXQgST1Qcy5nZXRJbnN0YW5jZSgpLFtxLGNlLHVlXT1hd2FpdCBQcm9taXNlLmFsbChbSS5sb2FkWHRlcm0oKSxJLmxvYWRYdGVybUZpdEFkZG9uKCksSS5sb2FkWHRlcm1TZWFyY2hBZGRvbigpXSk7YXdhaXQgdGhpcy5pbmplY3RYdGVybVN0eWxlc0ludG9TaGFkb3coKSx0aGlzLnRlcm1pbmFsPW5ldyBxLlRlcm1pbmFsKHtjdXJzb3JCbGluazohMSxkaXNhYmxlU3RkaW46ITAsZm9udFNpemU6MTIsZm9udEZhbWlseToiJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0NvbnNvbGFzJywgJ0xpYmVyYXRpb24gTW9ubycsICdDb3VyaWVyIE5ldycsIG1vbm9zcGFjZSIsdGhlbWU6dGhpcy5nZXRUZXJtaW5hbFRoZW1lKCksc2Nyb2xsYmFjazp0aGlzLm1heEVudHJpZXMsY29udmVydEVvbDohMH0pLHRoaXMuZml0QWRkb249bmV3IGNlLkZpdEFkZG9uLHRoaXMuc2VhcmNoQWRkb249bmV3IHVlLlNlYXJjaEFkZG9uLHRoaXMudGVybWluYWwubG9hZEFkZG9uKHRoaXMuZml0QWRkb24pLHRoaXMudGVybWluYWwubG9hZEFkZG9uKHRoaXMuc2VhcmNoQWRkb24pO2xldCBZPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIudGVybWluYWwtY29udGFpbmVyIik7dGhpcy50ZXJtaW5hbC5vcGVuKFkpLGF3YWl0IG5ldyBQcm9taXNlKFg9PnJlcXVlc3RBbmltYXRpb25GcmFtZShYKSksdGhpcy5maXRBZGRvbi5maXQoKSx0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMuZml0QWRkb24/LmZpdCgpfSksdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKFkpLHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbj10aGlzLmRvbXRvb2xzSW5zdGFuY2UudGhlbWVNYW5hZ2VyLnRoZW1lT2JzZXJ2YWJsZS5zdWJzY3JpYmUoKCk9Pnt0aGlzLnRlcm1pbmFsJiYodGhpcy50ZXJtaW5hbC5vcHRpb25zLnRoZW1lPXRoaXMuZ2V0VGVybWluYWxUaGVtZSgpKX0pLHRoaXMucmF0ZUludGVydmFsPXNldEludGVydmFsKCgpPT50aGlzLmNhbGN1bGF0ZVJhdGUoKSwxZTMpLHRoaXMudGVybWluYWxSZWFkeT0hMDtmb3IobGV0IFggb2YgdGhpcy5sb2dCdWZmZXIpdGhpcy53cml0ZUxvZ0VudHJ5KFgpfXVwZGF0ZWQoSSl7aWYoc3VwZXIudXBkYXRlZChJKSxJLmhhcygiZ29CcmlnaHQiKSYmdGhpcy50ZXJtaW5hbCYmKHRoaXMudGVybWluYWwub3B0aW9ucy50aGVtZT10aGlzLmdldFRlcm1pbmFsVGhlbWUoKSksSS5oYXMoImxvZ0VudHJpZXMiKSYmdGhpcy50ZXJtaW5hbFJlYWR5JiZ0aGlzLmxvZ0VudHJpZXMubGVuZ3RoPjApe2xldCBxPUkuZ2V0KCJsb2dFbnRyaWVzIil8fFtdLGNlPXRoaXMubG9nRW50cmllcztpZihxLmxlbmd0aD09PWNlLmxlbmd0aCYmcS5sZW5ndGg+MCYmcVtxLmxlbmd0aC0xXS50aW1lc3RhbXA9PT1jZVtjZS5sZW5ndGgtMV0udGltZXN0YW1wJiZxW3EubGVuZ3RoLTFdLm1lc3NhZ2U9PT1jZVtjZS5sZW5ndGgtMV0ubWVzc2FnZSlyZXR1cm47aWYoY2UubGVuZ3RoPnEubGVuZ3RoJiZxLmxlbmd0aD4wJiZxW3EubGVuZ3RoLTFdLnRpbWVzdGFtcD09PWNlW3EubGVuZ3RoLTFdLnRpbWVzdGFtcCYmcVtxLmxlbmd0aC0xXS5tZXNzYWdlPT09Y2VbcS5sZW5ndGgtMV0ubWVzc2FnZSl7bGV0IHVlPWNlLnNsaWNlKHEubGVuZ3RoKTtmb3IobGV0IFkgb2YgdWUpdGhpcy5sb2dCdWZmZXIucHVzaChZKSx0aGlzLnVwZGF0ZU1ldHJpY3MoWS5sZXZlbCksdGhpcy5sb2dCdWZmZXIubGVuZ3RoPnRoaXMubWF4RW50cmllcyYmdGhpcy5sb2dCdWZmZXIuc2hpZnQoKSwoIXRoaXMuZmlsdGVyTW9kZXx8IXRoaXMuc2VhcmNoUXVlcnl8fHRoaXMuZW50cnlNYXRjaGVzRmlsdGVyKFkpKSYmdGhpcy53cml0ZUxvZ0VudHJ5KFkpO3JldHVybn10aGlzLmxvZ0J1ZmZlcj1bLi4uY2VdLHRoaXMucmVSZW5kZXJGaWx0ZXJlZExvZ3MoKX19Z2V0VGVybWluYWxUaGVtZSgpe3JldHVybiF0aGlzLmdvQnJpZ2h0P3tiYWNrZ3JvdW5kOiIjMGEwYTBhIixmb3JlZ3JvdW5kOiIjZTBlMGUwIixjdXJzb3I6IiNlMGUwZTAiLHNlbGVjdGlvbkJhY2tncm91bmQ6IiM0MDQwNDAiLGJsYWNrOiIjMDAwMDAwIixyZWQ6IiNmZjU1NTUiLGdyZWVuOiIjNTBmYTdiIix5ZWxsb3c6IiNmMWZhOGMiLGJsdWU6IiM2MjcyYTQiLG1hZ2VudGE6IiNmZjc5YzYiLGN5YW46IiM4YmU5ZmQiLHdoaXRlOiIjZjhmOGYyIixicmlnaHRCbGFjazoiIzYyNzJhNCIsYnJpZ2h0UmVkOiIjZmY2ZTZlIixicmlnaHRHcmVlbjoiIzY5ZmY5NCIsYnJpZ2h0WWVsbG93OiIjZmZmZmE1IixicmlnaHRCbHVlOiIjZDZhY2ZmIixicmlnaHRNYWdlbnRhOiIjZmY5MmRmIixicmlnaHRDeWFuOiIjYTRmZmZmIixicmlnaHRXaGl0ZToiI2ZmZmZmZiJ9OntiYWNrZ3JvdW5kOiIjZmZmZmZmIixmb3JlZ3JvdW5kOiIjMzMzMzMzIixjdXJzb3I6IiMzMzMzMzMiLHNlbGVjdGlvbkJhY2tncm91bmQ6IiNhZGQ2ZmYiLGJsYWNrOiIjMDAwMDAwIixyZWQ6IiNjZDMxMzEiLGdyZWVuOiIjMDBiYzAwIix5ZWxsb3c6IiM5NDk4MDAiLGJsdWU6IiMwNDUxYTUiLG1hZ2VudGE6IiNiYzA1YmMiLGN5YW46IiMwNTk4YmMiLHdoaXRlOiIjNTU1NTU1IixicmlnaHRCbGFjazoiIzY2NjY2NiIsYnJpZ2h0UmVkOiIjY2QzMTMxIixicmlnaHRHcmVlbjoiIzE0Y2UxNCIsYnJpZ2h0WWVsbG93OiIjYjViYTAwIixicmlnaHRCbHVlOiIjMDQ1MWE1IixicmlnaHRNYWdlbnRhOiIjYmMwNWJjIixicmlnaHRDeWFuOiIjMDU5OGJjIixicmlnaHRXaGl0ZToiI2E1YTVhNSJ9fWFzeW5jIGluamVjdFh0ZXJtU3R5bGVzSW50b1NoYWRvdygpe2xldCBJPSJ4dGVybS1zaGFkb3ctc3R5bGVzIjtpZih0aGlzLnNoYWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoSSkpcmV0dXJuO2xldCBxPWAke0YxfS94dGVybUAke08xLnh0ZXJtfS9jc3MveHRlcm0uY3NzYCx1ZT1hd2FpdChhd2FpdCBmZXRjaChxKSkudGV4dCgpLFk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtZLmlkPUksWS50ZXh0Q29udGVudD11ZSx0aGlzLnNoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoWSl9YWRkTG9nKEkscSxjZSl7bGV0IHVlPXt0aW1lc3RhbXA6bmV3IERhdGUoKS50b0lTT1N0cmluZygpLGxldmVsOkksbWVzc2FnZTpxLHNvdXJjZTpjZX07dGhpcy5sb2dCdWZmZXIucHVzaCh1ZSksdGhpcy5sb2dCdWZmZXIubGVuZ3RoPnRoaXMubWF4RW50cmllcyYmdGhpcy5sb2dCdWZmZXIuc2hpZnQoKSwhdGhpcy5maWx0ZXJNb2RlfHwhdGhpcy5zZWFyY2hRdWVyeT90aGlzLndyaXRlTG9nRW50cnkodWUpOnRoaXMuZW50cnlNYXRjaGVzRmlsdGVyKHVlKT8odGhpcy50cmFpbGluZ0hpZGRlbkNvdW50PTAsdGhpcy53cml0ZUxvZ0VudHJ5KHVlKSk6dGhpcy51cGRhdGVUcmFpbGluZ1BsYWNlaG9sZGVyKCksdGhpcy51cGRhdGVNZXRyaWNzKHVlLmxldmVsKX11cGRhdGVMb2coSSl7aWYoSSlmb3IobGV0IHEgb2YgSSl0aGlzLmxvZ0J1ZmZlci5wdXNoKHEpLHRoaXMubG9nQnVmZmVyLmxlbmd0aD50aGlzLm1heEVudHJpZXMmJnRoaXMubG9nQnVmZmVyLnNoaWZ0KCksIXRoaXMuZmlsdGVyTW9kZXx8IXRoaXMuc2VhcmNoUXVlcnk/dGhpcy53cml0ZUxvZ0VudHJ5KHEpOnRoaXMuZW50cnlNYXRjaGVzRmlsdGVyKHEpPyh0aGlzLnRyYWlsaW5nSGlkZGVuQ291bnQ9MCx0aGlzLndyaXRlTG9nRW50cnkocSkpOnRoaXMudXBkYXRlVHJhaWxpbmdQbGFjZWhvbGRlcigpLHRoaXMudXBkYXRlTWV0cmljcyhxLmxldmVsKX11cGRhdGVUcmFpbGluZ1BsYWNlaG9sZGVyKCl7dGhpcy50ZXJtaW5hbCYmKHRoaXMudHJhaWxpbmdIaWRkZW5Db3VudD4wJiZ0aGlzLnRlcm1pbmFsLndyaXRlKCJceDFCWzFBXHgxQlsyS1xyIiksdGhpcy50cmFpbGluZ0hpZGRlbkNvdW50KyssdGhpcy53cml0ZUhpZGRlblBsYWNlaG9sZGVyKHRoaXMudHJhaWxpbmdIaWRkZW5Db3VudCksdGhpcy5hdXRvU2Nyb2xsJiZ0aGlzLnRlcm1pbmFsLnNjcm9sbFRvQm90dG9tKCkpfWVudHJ5TWF0Y2hlc0ZpbHRlcihJKXtpZighdGhpcy5zZWFyY2hRdWVyeSlyZXR1cm4hMDtsZXQgcT10aGlzLnNlYXJjaFF1ZXJ5LnRvTG93ZXJDYXNlKCk7cmV0dXJuIEkubWVzc2FnZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHEpfHxJLmxldmVsLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocSl8fChJLnNvdXJjZT8udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhxKT8/ITEpfXdyaXRlTG9nRW50cnkoSSl7aWYoIXRoaXMudGVybWluYWwpcmV0dXJuO2xldCBxPXRoaXMuZm9ybWF0TG9nRW50cnkoSSk7dGhpcy50ZXJtaW5hbC53cml0ZWxuKHEpLHRoaXMuYXV0b1Njcm9sbCYmdGhpcy50ZXJtaW5hbC5zY3JvbGxUb0JvdHRvbSgpfWZvcm1hdExvZ0VudHJ5KEkpe2xldCBxPXRoaXMuZm9ybWF0VGltZXN0YW1wKEkudGltZXN0YW1wKSxjZT17ZGVidWc6Ilx4MUJbOTBtIixpbmZvOiJceDFCWzM2bSIsd2FybjoiXHgxQlszM20iLGVycm9yOiJceDFCWzMxbSIsc3VjY2VzczoiXHgxQlszMm0ifSx1ZT0iXHgxQlswbSIsWT0iXHgxQlsybSIsWD1gJHtjZVtJLmxldmVsXX1bJHtJLmxldmVsLnRvVXBwZXJDYXNlKCkucGFkRW5kKDcpfV0ke3VlfWAsSj1JLnNvdXJjZT9gJHtZfVske0kuc291cmNlfV0ke3VlfSBgOiIiLFo9dGhpcy5hcHBseUhpZ2hsaWdodHMoSS5tZXNzYWdlKTtyZXR1cm5gJHtZfSR7cX0ke3VlfSAke1h9ICR7Sn0ke1p9YH1mb3JtYXRUaW1lc3RhbXAoSSl7cmV0dXJuIG5ldyBEYXRlKEkpLnRvTG9jYWxlVGltZVN0cmluZygiZW4tVVMiLHtob3VyMTI6ITEsaG91cjoiMi1kaWdpdCIsbWludXRlOiIyLWRpZ2l0IixzZWNvbmQ6IjItZGlnaXQiLGZyYWN0aW9uYWxTZWNvbmREaWdpdHM6M30pfWFwcGx5SGlnaGxpZ2h0cyhJKXtsZXQgcT1bLi4udGhpcy5oaWdobGlnaHRLZXl3b3Jkc107aWYodGhpcy5maWx0ZXJNb2RlJiZ0aGlzLnNlYXJjaFF1ZXJ5JiZxLnB1c2godGhpcy5zZWFyY2hRdWVyeSkscS5sZW5ndGg9PT0wKXJldHVybiBJO2xldCBjZT1JO2ZvcihsZXQgdWUgb2YgcSl7bGV0IFk9dWUucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xdXFxdL2csIlxcJCYiKSxYPW5ldyBSZWdFeHAoYCgke1l9KWAsImdpIik7Y2U9Y2UucmVwbGFjZShYLCJceDFCWzQzbVx4MUJbMzBtJDFceDFCWzBtIil9cmV0dXJuIGNlfXdyaXRlUmF3KEkpe3RoaXMudGVybWluYWwmJih0aGlzLnRlcm1pbmFsLndyaXRlKEkpLHRoaXMucmVjb3JkTG9nRXZlbnQoKSx0aGlzLmF1dG9TY3JvbGwmJnRoaXMudGVybWluYWwuc2Nyb2xsVG9Cb3R0b20oKSl9d3JpdGVsblJhdyhJKXt0aGlzLnRlcm1pbmFsJiYodGhpcy50ZXJtaW5hbC53cml0ZWxuKEkpLHRoaXMucmVjb3JkTG9nRXZlbnQoKSx0aGlzLmF1dG9TY3JvbGwmJnRoaXMudGVybWluYWwuc2Nyb2xsVG9Cb3R0b20oKSl9aGFuZGxlU2VhcmNoSW5wdXQoSSl7bGV0IGNlPUkudGFyZ2V0LnZhbHVlLHVlPXRoaXMuc2VhcmNoUXVlcnkhPT1jZTt0aGlzLnNlYXJjaFF1ZXJ5PWNlLHRoaXMuZmlsdGVyTW9kZSYmdWU/dGhpcy5yZVJlbmRlckZpbHRlcmVkTG9ncygpOnRoaXMuc2VhcmNoUXVlcnkmJnRoaXMuc2VhcmNoQWRkb24/LmZpbmROZXh0KHRoaXMuc2VhcmNoUXVlcnkpfWhhbmRsZVNlYXJjaEtleWRvd24oSSl7SS5rZXk9PT0iRW50ZXIiP0kuc2hpZnRLZXk/dGhpcy5zZWFyY2hQcmV2aW91cygpOnRoaXMuc2VhcmNoTmV4dCgpOkkua2V5PT09IkVzY2FwZSImJih0aGlzLnNlYXJjaFF1ZXJ5PSIiLEkudGFyZ2V0LnZhbHVlPSIiKX1zZWFyY2goSSl7dGhpcy5zZWFyY2hRdWVyeT1JLHRoaXMuc2VhcmNoQWRkb24/LmZpbmROZXh0KEkpfXNlYXJjaE5leHQoKXt0aGlzLnNlYXJjaFF1ZXJ5JiZ0aGlzLnNlYXJjaEFkZG9uPy5maW5kTmV4dCh0aGlzLnNlYXJjaFF1ZXJ5KX1zZWFyY2hQcmV2aW91cygpe3RoaXMuc2VhcmNoUXVlcnkmJnRoaXMuc2VhcmNoQWRkb24/LmZpbmRQcmV2aW91cyh0aGlzLnNlYXJjaFF1ZXJ5KX10b2dnbGVBdXRvU2Nyb2xsKCl7dGhpcy5hdXRvU2Nyb2xsPSF0aGlzLmF1dG9TY3JvbGwsdGhpcy5hdXRvU2Nyb2xsJiZ0aGlzLnRlcm1pbmFsJiZ0aGlzLnRlcm1pbmFsLnNjcm9sbFRvQm90dG9tKCl9dG9nZ2xlRmlsdGVyTW9kZSgpe3RoaXMuZmlsdGVyTW9kZT0hdGhpcy5maWx0ZXJNb2RlLHRoaXMucmVSZW5kZXJGaWx0ZXJlZExvZ3MoKX1yZVJlbmRlckZpbHRlcmVkTG9ncygpe2lmKHRoaXMudGVybWluYWwpe2lmKHRoaXMudGVybWluYWwuY2xlYXIoKSx0aGlzLnRyYWlsaW5nSGlkZGVuQ291bnQ9MCwhdGhpcy5maWx0ZXJNb2RlfHwhdGhpcy5zZWFyY2hRdWVyeSlmb3IobGV0IEkgb2YgdGhpcy5sb2dCdWZmZXIpe2xldCBxPXRoaXMuZm9ybWF0TG9nRW50cnkoSSk7dGhpcy50ZXJtaW5hbC53cml0ZWxuKHEpfWVsc2V7bGV0IEk9MDtmb3IobGV0IHEgb2YgdGhpcy5sb2dCdWZmZXIpaWYodGhpcy5lbnRyeU1hdGNoZXNGaWx0ZXIocSkpe0k+MCYmKHRoaXMud3JpdGVIaWRkZW5QbGFjZWhvbGRlcihJKSxJPTApO2xldCBjZT10aGlzLmZvcm1hdExvZ0VudHJ5KHEpO3RoaXMudGVybWluYWwud3JpdGVsbihjZSl9ZWxzZSBJKys7ST4wJiYodGhpcy53cml0ZUhpZGRlblBsYWNlaG9sZGVyKEkpLHRoaXMudHJhaWxpbmdIaWRkZW5Db3VudD1JKX10aGlzLmF1dG9TY3JvbGwmJnRoaXMudGVybWluYWwuc2Nyb2xsVG9Cb3R0b20oKX19d3JpdGVIaWRkZW5QbGFjZWhvbGRlcihJKXtsZXQgcT0iXHgxQlsybSIsY2U9Ilx4MUJbMG0iLHVlPUk9PT0xPyJbMSBsb2cgbGluZSBoaWRkZW4gYnkgZmlsdGVyIC4uLl0iOmBbJHtJfSBsb2cgbGluZXMgaGlkZGVuIGJ5IGZpbHRlciAuLi5dYDt0aGlzLnRlcm1pbmFsPy53cml0ZWxuKGAke3F9JHt1ZX0ke2NlfWApfWNsZWFyTG9ncygpe3RoaXMudGVybWluYWw/LmNsZWFyKCksdGhpcy5sb2dCdWZmZXI9W10sdGhpcy50cmFpbGluZ0hpZGRlbkNvdW50PTAsdGhpcy5yZXNldE1ldHJpY3MoKX1zY3JvbGxUb0JvdHRvbSgpe3RoaXMudGVybWluYWw/LnNjcm9sbFRvQm90dG9tKCl9dXBkYXRlTWV0cmljcyhJKXt0aGlzLm1ldHJpY3M9ey4uLnRoaXMubWV0cmljcyxbSV06dGhpcy5tZXRyaWNzW0ldKzEsdG90YWw6dGhpcy5tZXRyaWNzLnRvdGFsKzF9LHRoaXMucmVjb3JkTG9nRXZlbnQoKX1yZWNvcmRMb2dFdmVudCgpe3RoaXMucmF0ZUJ1ZmZlci5wdXNoKERhdGUubm93KCkpfWNhbGN1bGF0ZVJhdGUoKXtsZXQgST1EYXRlLm5vdygpO3RoaXMucmF0ZUJ1ZmZlcj10aGlzLnJhdGVCdWZmZXIuZmlsdGVyKGNlPT5JLWNlPDFlNCk7bGV0IHE9dGhpcy5yYXRlQnVmZmVyLmxlbmd0aC8xMDtxIT09dGhpcy5tZXRyaWNzLnJhdGUmJih0aGlzLm1ldHJpY3M9ey4uLnRoaXMubWV0cmljcyxyYXRlOnF9KX1yZXNldE1ldHJpY3MoKXt0aGlzLm1ldHJpY3M9e2RlYnVnOjAsaW5mbzowLHdhcm46MCxlcnJvcjowLHN1Y2Nlc3M6MCx0b3RhbDowLHJhdGU6MH0sdGhpcy5yYXRlQnVmZmVyPVtdfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnJlc2l6ZU9ic2VydmVyJiZ0aGlzLnJlc2l6ZU9ic2VydmVyLmRpc2Nvbm5lY3QoKSx0aGlzLnRlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb24mJnRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMucmF0ZUludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMucmF0ZUludGVydmFsKSx0aGlzLnRlcm1pbmFsJiZ0aGlzLnRlcm1pbmFsLmRpc3Bvc2UoKX1zdGF0aWN7Q3Iocix0KX19O3JldHVybiBtZT1yfSkoKX0pO3ZhciBLY2E9ZigoKT0+e1ljYSgpfSk7dmFyIFpjYSxYY2E9ZigoKT0+e2xlKCk7SWEoKTt3UWUoKTtaY2E9cygoKT0+e2xldCBhPVt7bmFtZToiTGF0ZW5jeSIsbWF4OjEwMH0se25hbWU6IlRocm91Z2hwdXQiLG1heDoxMDB9LHtuYW1lOiJBdmFpbGFiaWxpdHkiLG1heDoxMDB9LHtuYW1lOiJFcnJvciBSYXRlIixtYXg6MTAwfSx7bmFtZToiU2F0dXJhdGlvbiIsbWF4OjEwMH0se25hbWU6IlNlY3VyaXR5IixtYXg6MTAwfV0sZT1be25hbWU6IlNlcnZpY2UgQSIsdmFsdWVzOls4NSw5MCw5OSwxMiw0NSw3OF19LHtuYW1lOiJTZXJ2aWNlIEIiLHZhbHVlczpbNzAsNjUsOTUsMjgsNjAsOTBdfV0sdD1be25hbWU6IlNwZWVkIixtYXg6MTB9LHtuYW1lOiJSZWxpYWJpbGl0eSIsbWF4OjEwfSx7bmFtZToiQ29tZm9ydCIsbWF4OjEwfSx7bmFtZToiU2FmZXR5IixtYXg6MTB9LHtuYW1lOiJDb3N0IixtYXg6MTB9XSxyPVt7bmFtZToiUmF0aW5nIix2YWx1ZXM6WzguNSw5LjIsNyw5LjUsNl19XTtyZXR1cm4gd2AKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGk9PntsZXQgbz1pLnF1ZXJ5U2VsZWN0b3IoIiNjb21wYXJpc29uLWNoYXJ0Iiksbj1pLnF1ZXJ5U2VsZWN0b3IoIiNzaW5nbGUtY2hhcnQiKTtpLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaChkPT57ZC50ZXh0Py50cmltKCk9PT0iUmFuZG9taXplIiYmZC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntvLnNlcmllcz1lLm1hcChwPT4oey4uLnAsdmFsdWVzOnAudmFsdWVzLm1hcCgoKT0+TWF0aC5yb3VuZCgyMCtNYXRoLnJhbmRvbSgpKjgwKSl9KSksbi5zZXJpZXM9ci5tYXAocD0+KHsuLi5wLHZhbHVlczpwLnZhbHVlcy5tYXAoKCk9Pk1hdGgucm91bmQoKDIrTWF0aC5yYW5kb20oKSo4KSoxMCkvMTApfSkpfSl9KX19PgogICAgICA8c3R5bGU+CiAgICAgICAgJHtRYAogICAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICB9CiAgICAgICAgICAuY2hhcnRSb3cgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIH0KICAgICAgICAgIC5jb250cm9scyB7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgICAgfQogICAgICAgICAgLmluZm8gewogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUuNCAxNi4zJSA1Ni45JSkiLCJoc2woMjE1IDIwLjIlIDU1LjElKSIpfTsKICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICAgICAgfQogICAgICAgIGB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW9Cb3giPgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2xzIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iQWN0aW9uczoiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+UmFuZG9taXplPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDwvZGVlcy1idXR0b24tZ3JvdXA+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNoYXJ0Um93Ij4KICAgICAgICAgIDxkZWVzLWNoYXJ0LXJhZGFyCiAgICAgICAgICAgIGlkPSJjb21wYXJpc29uLWNoYXJ0IgogICAgICAgICAgICAubGFiZWw9JHsiU2VydmljZSBIZWFsdGggQ29tcGFyaXNvbiJ9CiAgICAgICAgICAgIC5pbmRpY2F0b3JzPSR7YX0KICAgICAgICAgICAgLnNlcmllcz0ke2V9CiAgICAgICAgICA+PC9kZWVzLWNoYXJ0LXJhZGFyPgoKICAgICAgICAgIDxkZWVzLWNoYXJ0LXJhZGFyCiAgICAgICAgICAgIGlkPSJzaW5nbGUtY2hhcnQiCiAgICAgICAgICAgIC5sYWJlbD0keyJQcm9kdWN0IFJhdGluZyJ9CiAgICAgICAgICAgIC5pbmRpY2F0b3JzPSR7dH0KICAgICAgICAgICAgLnNlcmllcz0ke3J9CiAgICAgICAgICAgIC5maWxsQXJlYT0keyEwfQogICAgICAgICAgPjwvZGVlcy1jaGFydC1yYWRhcj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaW5mbyI+CiAgICAgICAgICBSYWRhciBjaGFydCBmb3IgbXVsdGktZGltZW5zaW9uYWwgY29tcGFyaXNvbiDigKIKICAgICAgICAgIFN1cHBvcnRzIG11bHRpcGxlIG92ZXJsYXkgc2VyaWVzIGFuZCBjb25maWd1cmFibGUgZmlsbCDigKIKICAgICAgICAgIENsaWNrICdSYW5kb21pemUnIHRvIHVwZGF0ZSBkYXRhCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIFFjYSxKY2E9ZigoKT0+e2xlKCk7WlcoKTtRY2E9Wy4uLk40LFFgYF19KTt2YXIgZTBhLHQwYT1mKCgpPT57bGUoKTtlMGE9cyhhPT53YAogICAgPGRlZXMtdGlsZT4KICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJjaGFydEhlYWRlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNoYXJ0TGFiZWwiPiR7YS5sYWJlbH08L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJjaGFydENvbnRhaW5lciI+PC9kaXY+CiAgICA8L2RlZXMtdGlsZT4KICBgLCJyZW5kZXJDaGFydFJhZGFyIil9KTt2YXIgWFcsRGMsYTBhLHdRZT1mKCgpPT57bGUoKTtLVygpO1hjYSgpO0pjYSgpO3QwYSgpO0dtKCk7WFc9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LERjPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxhMGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWNoYXJ0LXJhZGFyIildLGUsdD1bXSxyLGk9JGMsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNDaGFydFJhZGFyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGs9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKHt0eXBlOkFycmF5fSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0sWFcodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbmRpY2F0b3JzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJpbmRpY2F0b3JzImluIEMsImhhcyIpLGdldDpzKEM9PkMuaW5kaWNhdG9ycywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmluZGljYXRvcnM9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxuLGwpLFhXKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VyaWVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJzZXJpZXMiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5zZXJpZXMsImdldCIpLHNldDpzKChDLE4pPT57Qy5zZXJpZXM9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxjLHApLFhXKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd0xlZ2VuZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ic2hvd0xlZ2VuZCJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnNob3dMZWdlbmQsImdldCIpLHNldDpzKChDLE4pPT57Qy5zaG93TGVnZW5kPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbSx2KSxYVyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbGxBcmVhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJmaWxsQXJlYSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmZpbGxBcmVhLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuZmlsbEFyZWE9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxiLGcpLFhXKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmt9LG51bGwsdCkseT1yPWUudmFsdWUsayYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTprfSl9c3RhdGljIGRlbW89WmNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiQ2hhcnQiXTsjZT1EYyh0aGlzLG4sW10pO2dldCBpbmRpY2F0b3JzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGluZGljYXRvcnMoayl7dGhpcy4jZT1rfSN0PShEYyh0aGlzLGwpLERjKHRoaXMsYyxbXSkpO2dldCBzZXJpZXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2VyaWVzKGspe3RoaXMuI3Q9a30jYT0oRGModGhpcyxwKSxEYyh0aGlzLG0sITApKTtnZXQgc2hvd0xlZ2VuZCgpe3JldHVybiB0aGlzLiNhfXNldCBzaG93TGVnZW5kKGspe3RoaXMuI2E9a30jcj0oRGModGhpcyx2KSxEYyh0aGlzLGIsITApKTtnZXQgZmlsbEFyZWEoKXtyZXR1cm4gdGhpcy4jcn1zZXQgZmlsbEFyZWEoayl7dGhpcy4jcj1rfXN0YXRpYyBzdHlsZXM9UWNhO3JlbmRlcigpe3JldHVybiBlMGEodGhpcyl9YXN5bmMgdXBkYXRlZChrKXtzdXBlci51cGRhdGVkKGspLHRoaXMuY2hhcnRJbnN0YW5jZSYmKGsuaGFzKCJpbmRpY2F0b3JzIil8fGsuaGFzKCJzZXJpZXMiKXx8ay5oYXMoInNob3dMZWdlbmQiKXx8ay5oYXMoImZpbGxBcmVhIikpJiZ0aGlzLnVwZGF0ZUNoYXJ0KCl9YnVpbGRPcHRpb24oKXtsZXQgaz1JNCh0aGlzLmdvQnJpZ2h0KSxDPUU0KHRoaXMuZ29CcmlnaHQpLE49dGhpcy5nb0JyaWdodD8uMTouMTUsXz10aGlzLnNlcmllcy5tYXAoKHosTyk9PntsZXQgVD16LmNvbG9yfHxDW08lQy5sZW5ndGhdO3JldHVybntuYW1lOnoubmFtZSx2YWx1ZTp6LnZhbHVlcyxpdGVtU3R5bGU6e2NvbG9yOlQsYm9yZGVyQ29sb3I6VCxib3JkZXJXaWR0aDoxfSxsaW5lU3R5bGU6e2NvbG9yOlQsd2lkdGg6MS41fSxhcmVhU3R5bGU6dGhpcy5maWxsQXJlYT97Y29sb3I6UDQoVCxOKX06dm9pZCAwLHN5bWJvbDoiY2lyY2xlIixzeW1ib2xTaXplOjV9fSk7cmV0dXJue3Rvb2x0aXA6e3RyaWdnZXI6Iml0ZW0ifSxsZWdlbmQ6dGhpcy5zaG93TGVnZW5kJiZ0aGlzLnNlcmllcy5sZW5ndGg+MT97Ym90dG9tOjgsaXRlbVdpZHRoOjEwLGl0ZW1IZWlnaHQ6MTB9OntzaG93OiExfSxyYWRhcjp7aW5kaWNhdG9yOnRoaXMuaW5kaWNhdG9ycy5tYXAoej0+KHtuYW1lOnoubmFtZSxtYXg6ei5tYXh9KSksc2hhcGU6InBvbHlnb24iLHNwbGl0TnVtYmVyOjQsYXhpc05hbWU6e2NvbG9yOmsudGV4dFNlY29uZGFyeSxmb250U2l6ZToxMX0sc3BsaXRBcmVhOnthcmVhU3R5bGU6e2NvbG9yOltrLmJnVGVydGlhcnksay5iZ1NlY29uZGFyeV19fSxzcGxpdExpbmU6e2xpbmVTdHlsZTp7Y29sb3I6ay5ib3JkZXJEZWZhdWx0fX0sYXhpc0xpbmU6e2xpbmVTdHlsZTp7Y29sb3I6ay5ib3JkZXJEZWZhdWx0fX19LHNlcmllczpbe3R5cGU6InJhZGFyIixkYXRhOl8sZW1waGFzaXM6e2xpbmVTdHlsZTp7d2lkdGg6M319fV19fWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxEYyh0aGlzLGcpfXN0YXRpY3tEYyhyLHQpfX07cmV0dXJuIHk9cn0pKCl9KTt2YXIgcjBhPWYoKCk9Pnt3UWUoKX0pO3ZhciBzMGE9ZigoKT0+e21jYSgpO1RjYSgpO05jYSgpO2pjYSgpO0tjYSgpO3IwYSgpfSk7dmFyIGkwYSxvMGE9ZigoKT0+e2xlKCk7aTBhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW9XcmFwcGVyIHsKICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgIHBhZGRpbmc6IDQ4cHg7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAzMnB4OwogICAgfQogICAgCiAgICAuc2VjdGlvbiB7CiAgICAgIG1heC13aWR0aDogOTAwcHg7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KICAgIAogICAgLnNlY3Rpb24tdGl0bGUgewogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CiAgICAKICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtb1dyYXBwZXIiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlR5cGVTY3JpcHQgQ29kZSBFeGFtcGxlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkEgY29tcHJlaGVuc2l2ZSBUeXBlU2NyaXB0IGNvZGUgZXhhbXBsZSB3aXRoIHZhcmlvdXMgc3ludGF4IGhpZ2hsaWdodGluZy48L2Rpdj4KICAgICAgPGRlZXMtZGF0YXZpZXctY29kZWJveCBwcm9nbGFuZz0idHlwZXNjcmlwdCI+CmludGVyZmFjZSBVc2VyIHsKICBpZDogbnVtYmVyOwogIG5hbWU6IHN0cmluZzsKICBlbWFpbDogc3RyaW5nOwogIGlzQWN0aXZlOiBib29sZWFuOwp9CgpjbGFzcyBVc2VyU2VydmljZSB7CiAgcHJpdmF0ZSB1c2VyczogVXNlcltdID0gW107CiAgCiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlVcmw6IHN0cmluZykgewogICAgY29uc29sZS5sb2coJ1VzZXJTZXJ2aWNlIGluaXRpYWxpemVkJyk7CiAgfQogIAogIGFzeW5jIGdldFVzZXJzKCk6IFByb21pc2U8VXNlcltdPiB7CiAgICB0cnkgewogICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHRoaXMuYXBpVXJsKTsKICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTsKICAgICAgcmV0dXJuIGRhdGEudXNlcnM7CiAgICB9IGNhdGNoIChlcnJvcikgewogICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gZmV0Y2ggdXNlcnM6JywgZXJyb3IpOwogICAgICByZXR1cm4gW107CiAgICB9CiAgfQogIAogIGFkZFVzZXIodXNlcjogVXNlcik6IHZvaWQgewogICAgdGhpcy51c2Vycy5wdXNoKHVzZXIpOwogIH0KfQoKLy8gVXNhZ2UgZXhhbXBsZQpjb25zdCBzZXJ2aWNlID0gbmV3IFVzZXJTZXJ2aWNlKCdodHRwczovL2FwaS5leGFtcGxlLmNvbS91c2VycycpOwpjb25zdCB1c2VycyA9IGF3YWl0IHNlcnZpY2UuZ2V0VXNlcnMoKTsKY29uc29sZS5sb2coJ0ZvdW5kIHVzZXJzOicsIHVzZXJzLmxlbmd0aCk7CiAgICAgIDwvZGVlcy1kYXRhdmlldy1jb2RlYm94PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5KYXZhU2NyaXB0IEV4YW1wbGU8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+TW9kZXJuIEphdmFTY3JpcHQgd2l0aCBFUzYrIGZlYXR1cmVzLjwvZGl2PgogICAgICA8ZGVlcy1kYXRhdmlldy1jb2RlYm94IHByb2dsYW5nPSJqYXZhc2NyaXB0Ij4KLy8gQXJyYXkgbWFuaXB1bGF0aW9uIGV4YW1wbGVzCmNvbnN0IG51bWJlcnMgPSBbMSwgMiwgMywgNCwgNV07CmNvbnN0IGRvdWJsZWQgPSBudW1iZXJzLm1hcChuID0+IG4gKiAyKTsKY29uc3QgZmlsdGVyZWQgPSBudW1iZXJzLmZpbHRlcihuID0+IG4gPiAzKTsKCi8vIE9iamVjdCBkZXN0cnVjdHVyaW5nCmNvbnN0IHVzZXIgPSB7IG5hbWU6ICdKb2huJywgYWdlOiAzMCwgY2l0eTogJ05ldyBZb3JrJyB9Owpjb25zdCB7IG5hbWUsIGFnZSB9ID0gdXNlcjsKCi8vIFByb21pc2UgaGFuZGxpbmcKY29uc3QgZmV0Y2hEYXRhID0gYXN5bmMgKHVybCkgPT4gewogIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsKTsKICByZXR1cm4gcmVzcG9uc2UuanNvbigpOwp9OwoKLy8gTW9kZXJuIHN5bnRheApjb25zdCBncmVldCA9IChuYW1lID0gJ1dvcmxkJykgPT4gXGBIZWxsbywgXCR7bmFtZX0hXGA7CmNvbnNvbGUubG9nKGdyZWV0KCdTaGFkQ04nKSk7CiAgICAgIDwvZGVlcy1kYXRhdmlldy1jb2RlYm94PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5QeXRob24gRXhhbXBsZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5QeXRob24gY29kZSB3aXRoIGNsYXNzZXMgYW5kIHR5cGUgaGludHMuPC9kaXY+CiAgICAgIDxkZWVzLWRhdGF2aWV3LWNvZGVib3ggcHJvZ2xhbmc9InB5dGhvbiI+CmZyb20gdHlwaW5nIGltcG9ydCBMaXN0LCBPcHRpb25hbAppbXBvcnQgYXN5bmNpbwoKY2xhc3MgRGF0YVByb2Nlc3NvcjoKICAgICIiIkEgc2ltcGxlIGRhdGEgcHJvY2Vzc29yIGNsYXNzIiIiCiAgICAKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lOiBzdHIpOgogICAgICAgIHNlbGYubmFtZSA9IG5hbWUKICAgICAgICBzZWxmLmRhdGE6IExpc3RbZGljdF0gPSBbXQogICAgCiAgICBhc3luYyBkZWYgcHJvY2Vzc19kYXRhKHNlbGYsIGl0ZW1zOiBMaXN0W2RpY3RdKSAtPiBMaXN0W2RpY3RdOgogICAgICAgICIiIlByb2Nlc3MgZGF0YSBpdGVtcyBhc3luY2hyb25vdXNseSIiIgogICAgICAgIHJlc3VsdHMgPSBbXQogICAgICAgIGZvciBpdGVtIGluIGl0ZW1zOgogICAgICAgICAgICAjIFNpbXVsYXRlIGFzeW5jIHByb2Nlc3NpbmcKICAgICAgICAgICAgYXdhaXQgYXN5bmNpby5zbGVlcCgwLjEpCiAgICAgICAgICAgIHJlc3VsdHMuYXBwZW5kKHsKICAgICAgICAgICAgICAgICdpZCc6IGl0ZW0uZ2V0KCdpZCcpLAogICAgICAgICAgICAgICAgJ3Byb2Nlc3NlZCc6IFRydWUsCiAgICAgICAgICAgICAgICAncHJvY2Vzc29yJzogc2VsZi5uYW1lCiAgICAgICAgICAgIH0pCiAgICAgICAgcmV0dXJuIHJlc3VsdHMKICAgIAogICAgZGVmIGdldF9zdW1tYXJ5KHNlbGYpIC0+IGRpY3Q6CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgJ3Byb2Nlc3Nvcic6IHNlbGYubmFtZSwKICAgICAgICAgICAgJ2l0ZW1zX3Byb2Nlc3NlZCc6IGxlbihzZWxmLmRhdGEpCiAgICAgICAgfQoKIyBVc2FnZQpwcm9jZXNzb3IgPSBEYXRhUHJvY2Vzc29yKCJNYWluIikKZGF0YSA9IGF3YWl0IHByb2Nlc3Nvci5wcm9jZXNzX2RhdGEoW3snaWQnOiAxfSwgeydpZCc6IDJ9XSkKICAgICAgPC9kZWVzLWRhdGF2aWV3LWNvZGVib3g+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkNTUyBFeGFtcGxlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPk1vZGVybiBDU1Mgd2l0aCBjdXN0b20gcHJvcGVydGllcyBhbmQgYW5pbWF0aW9ucy4gTm90ZSB0aGUgc2hvcnRlciBsYW5ndWFnZSBsYWJlbC48L2Rpdj4KICAgICAgPGRlZXMtZGF0YXZpZXctY29kZWJveCBwcm9nbGFuZz0iY3NzIj4KLyogTW9kZXJuIENTUyB3aXRoIGN1c3RvbSBwcm9wZXJ0aWVzICovCjpyb290IHsKICAtLXByaW1hcnktY29sb3I6ICMzYjgyZjY7CiAgLS1zZWNvbmRhcnktY29sb3I6ICMxMGI5ODE7CiAgLS1iYWNrZ3JvdW5kOiAjZmZmZmZmOwogIC0tdGV4dC1jb2xvcjogIzA5MDkwYjsKICAtLWJvcmRlci1yYWRpdXM6IDZweDsKfQoKLmNhcmQgewogIGJhY2tncm91bmQ6IHZhcigtLWJhY2tncm91bmQpOwogIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7CiAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cyk7CiAgcGFkZGluZzogMjRweDsKICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7Cn0KCi5jYXJkOmhvdmVyIHsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7CiAgYm94LXNoYWRvdzogMCA0cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTsKfQoKQGtleWZyYW1lcyBmYWRlSW4gewogIGZyb20geyBvcGFjaXR5OiAwOyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH0KICB0byB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfQp9CiAgICAgIDwvZGVlcy1kYXRhdmlldy1jb2RlYm94PgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5KU09OIEV4YW1wbGU8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+SlNPTiBjb25maWd1cmF0aW9uIHdpdGggcHJvcGVyIGZvcm1hdHRpbmcuPC9kaXY+CiAgICAgIDxkZWVzLWRhdGF2aWV3LWNvZGVib3ggcHJvZ2xhbmc9Impzb24iPgp7CiAgIm5hbWUiOiAiQGRlc2lnbi5lc3RhdGUvZGVlcy1jYXRhbG9nIiwKICAidmVyc2lvbiI6ICIxLjEwLjciLAogICJkZXNjcmlwdGlvbiI6ICJBIGNvbXByZWhlbnNpdmUgY2F0YWxvZyBvZiB3ZWIgY29tcG9uZW50cyIsCiAgIm1haW4iOiAiZGlzdF90c193ZWIvaW5kZXguanMiLAogICJ0eXBlIjogIm1vZHVsZSIsCiAgInNjcmlwdHMiOiB7CiAgICAiYnVpbGQiOiAidHNidWlsZCB0c2ZvbGRlcnMgLS1hbGxvd2ltcGxpY2l0YW55ICYmIHRzYnVuZGxlIGVsZW1lbnQgLS1wcm9kdWN0aW9uIiwKICAgICJ3YXRjaCI6ICJ0c3dhdGNoIGVsZW1lbnQiLAogICAgInRlc3QiOiAidHN0ZXN0IHRlc3QvIC0td2ViIC0tdmVyYm9zZSIKICB9LAogICJkZXBlbmRlbmNpZXMiOiB7CiAgICAiQGRlc2lnbi5lc3RhdGUvZGVlcy1lbGVtZW50IjogIl4yLjAuNDUiLAogICAgImhpZ2hsaWdodC5qcyI6ICJeMTEuOS4wIgogIH0KfQogICAgICA8L2RlZXMtZGF0YXZpZXctY29kZWJveD4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIE1RZSxRVyxuMGEsa1FlPWYoKCk9PntvMGEoKTtsZSgpO3VzKCk7UWUoKTtIaCgpO0p0KCk7WXIoKTtfYygpO0tyKCk7TVFlPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxRVz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sbjBhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1kYXRhdmlldy1jb2RlYm94IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNEYXRhdmlld0NvZGVib3giKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKCldLGQ9WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sTVFlKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicHJvZ0xhbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InByb2dMYW5nImluIHYsImhhcyIpLGdldDpzKHY9PnYucHJvZ0xhbmcsImdldCIpLHNldDpzKCh2LHgpPT57di5wcm9nTGFuZz14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksTVFlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29kZVRvRGlzcGxheSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iY29kZVRvRGlzcGxheSJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmNvZGVUb0Rpc3BsYXksImdldCIpLHNldDpzKCh2LHgpPT57di5jb2RlVG9EaXNwbGF5PXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxNUWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1pMGE7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXRhIFZpZXciLCJXb3Jrc3BhY2UiXTsjZT1RVyh0aGlzLG4sInR5cGVzY3JpcHQiKTtnZXQgcHJvZ0xhbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcHJvZ0xhbmcobSl7dGhpcy4jZT1tfSN0PShRVyh0aGlzLGwpLFFXKHRoaXMsYywiIikpO2dldCBjb2RlVG9EaXNwbGF5KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGNvZGVUb0Rpc3BsYXkobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlc107Y29uc3RydWN0b3IoKXtzdXBlcigpfXJlbmRlcigpe3JldHVybiB3YAogICAgICAke3RyLnN0eWxlc30KICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgfQogICAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIH0KCiAgICAgICAgLmFwcGJhciB7CiAgICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICB9CgogICAgICAgIC5hcHBiYXIgLmZpbGVOYW1lIHsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0OwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIC5ib3R0b21CYXIgewogICAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICB9CgogICAgICAgIC5zcGFjZXNMYWJlbCB7CiAgICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIC5sYW5ndWFnZUxhYmVsIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIil9OwogICAgICAgICAgcGFkZGluZzogMHB4IDE2cHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICAuaGxqcy1rZXl3b3JkIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgICAgfQoKICAgICAgICAuY29kZWdyaWQgewogICAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTBweCBhdXRvOwogICAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgfQoKICAgICAgICAubGluZU51bWJlcnMgewogICAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4IDE2cHggMHB4IDBweDsKICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgfQoKICAgICAgICAubGluZUNvdW50ZXI6bGFzdC1jaGlsZCB7CiAgICAgICAgICBvcGFjaXR5OiA1MCU7CiAgICAgICAgfQoKICAgICAgICBwcmUgewogICAgICAgICAgb3ZlcmZsb3cteDogYXV0bzsKICAgICAgICAgIG1hcmdpbjogMHB4OwogICAgICAgICAgcGFkZGluZzogMjRweCAyNHB4OwogICAgICAgIH0KCiAgICAgICAgY29kZSB7CiAgICAgICAgICBmb250LXdlaWdodDogNDAwOwogICAgICAgICAgcGFkZGluZzogMHB4OwogICAgICAgICAgbWFyZ2luOiAwcHg7CiAgICAgICAgfQoKICAgICAgICBjb2RlLAogICAgICAgIGNvZGUgKiwKICAgICAgICAubGluZU51bWJlcnMgewogICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNGVtOwogICAgICAgICAgZm9udC13ZWlnaHQ6IDIwMDsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAke0NmfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLXN0cmluZyB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwNTk2NjkiLCIjMTBiOTgxIil9OwogICAgICAgIH0KCiAgICAgICAgLmhsanMtYnVpbHRfaW4gewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjOGI1Y2Y2IiwiI2E3OGJmYSIpfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLWZ1bmN0aW9uIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgfQoKICAgICAgICAuaGxqcy1wYXJhbXMgewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDg5MWIyIiwiIzA2YjZkNCIpfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLWNvbW1lbnQgewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgICAgICB9CgogICAgICAgIC5obGpzLW51bWJlciB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNlYTU4MGMiLCIjZmI5MjNjIil9OwogICAgICAgIH0KCiAgICAgICAgLmhsanMtbGl0ZXJhbCB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZjg3MTcxIil9OwogICAgICAgIH0KCiAgICAgICAgLmhsanMtYXR0ciB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM4YjVjZjYiLCIjYTc4YmZhIil9OwogICAgICAgIH0KCiAgICAgICAgLmhsanMtdmFyaWFibGUgewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CiAgICAgIDxkZWVzLXRpbGUKICAgICAgICBAY29udGV4dG1lbnU9IiR7bT0+e2VhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKG0sW3tuYW1lOiJBYm91dCIsaWNvbk5hbWU6ImNpcmNsZUluZm8iLGFjdGlvbjpzKGFzeW5jKCk9Pm51bGwsImFjdGlvbiIpfV0pfX0iCiAgICAgID4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImFwcGJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWxlTmFtZSI+aW5kZXgudHM8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlZ3JpZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsaW5lTnVtYmVycyI+CiAgICAgICAgICAgICR7KCgpPT57bGV0IG09MDtyZXR1cm4gdGhpcy5jb2RlVG9EaXNwbGF5LnNwbGl0KGAKYCkubWFwKHY9PihtKyssd2A8ZGl2IGNsYXNzPSJsaW5lQ291bnRlciI+JHttfTwvZGl2PmApKX0pKCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxwcmU+PGNvZGU+PC9jb2RlPjwvcHJlPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iYm90dG9tQmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNlc0xhYmVsIj5TcGFjZXM6IDI8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Imxhbmd1YWdlTGFiZWwiPiR7dGhpcy5wcm9nTGFuZ308L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfWNvZGVUb0Rpc3BsYXlTdG9yZT0oUVcodGhpcyxwKSwiIik7aGlnaGxpZ2h0SnM9bnVsbDthc3luYyB1cGRhdGVkKG0pe3N1cGVyLnVwZGF0ZWQobSksY29uc29sZS5sb2coImhpZ2hsaWdodGluZyBub3ciKSxjb25zb2xlLmxvZyh0aGlzLmNoaWxkTm9kZXMpO2xldCB2PVtdO3RoaXMuY2hpbGROb2Rlcy5mb3JFYWNoKGc9PntnLm5vZGVOYW1lPT09IiN0ZXh0IiYmdi5wdXNoKGcpfSksdGhpcy5jb2RlVG9EaXNwbGF5JiZ0aGlzLmNvZGVUb0Rpc3BsYXkhPT10aGlzLmNvZGVUb0Rpc3BsYXlTdG9yZSYmKHRoaXMuY29kZVRvRGlzcGxheVN0b3JlPV8zLm5vcm1hbGl6ZSh0aGlzLmNvZGVUb0Rpc3BsYXkpLnRyaW1TdGFydCgpKSx2WzBdJiZ2WzBdLndob2xlVGV4dCYmIXRoaXMuY29kZVRvRGlzcGxheSYmKHRoaXMuY29kZVRvRGlzcGxheVN0b3JlPV8zLm5vcm1hbGl6ZSh2WzBdLndob2xlVGV4dCkudHJpbVN0YXJ0KCksdGhpcy5jb2RlVG9EaXNwbGF5PXRoaXMuY29kZVRvRGlzcGxheVN0b3JlKSxhd2FpdCBCdC5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLHRoaXMuaGlnaGxpZ2h0SnN8fCh0aGlzLmhpZ2hsaWdodEpzPWF3YWl0IFBzLmdldEluc3RhbmNlKCkubG9hZEhpZ2hsaWdodEpzKCkpO2xldCB4PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJjb2RlIiksYj10aGlzLmhpZ2hsaWdodEpzLmhpZ2hsaWdodCh0aGlzLmNvZGVUb0Rpc3BsYXlTdG9yZSx7bGFuZ3VhZ2U6dGhpcy5wcm9nTGFuZyxpZ25vcmVJbGxlZ2FsczohMH0pO3guaW5uZXJIVE1MPWIudmFsdWV9c3RhdGlje1FXKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBsMGE9ZigoKT0+e2tRZSgpfSk7dmFyIGMwYSxkMGE9ZigoKT0+e2xlKCk7Q24oKTtjMGE9cygoKT0+d2AgPHN0eWxlPgogICAgLmRlbW8gewogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y1ZjVmNSIsIiMwYTBhMGEiKX07CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBjb250ZW50OiAnJzsKICAgICAgcGFkZGluZzogNDBweDsKICAgIH0KICAgIAogICAgLmRlbW8tZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgIGdhcDogMjRweDsKICAgICAgbWF4LXdpZHRoOiA4MDBweDsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICB9CiAgICAKICAgIC5kZW1vLXNlY3Rpb24gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDE2cHg7CiAgICB9CiAgICAKICAgIC5kZW1vLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBzYW5zLXNlcmlmOwogICAgfQogICAgCiAgICAuZGVtby1ub3RlIHsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQ1LjElKSIsImhzbCgwIDAlIDYzLjklKSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIHNhbnMtc2VyaWY7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tbm90ZSI+CiAgICAgIFJpZ2h0LWNsaWNrIG9uIGFueSBkZXRhaWwgcm93IHRvIGNvcHkgdGhlIHZhbHVlLCBrZXksIG9yIGtleTp2YWx1ZSBjb21iaW5hdGlvbgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJkZW1vLWdyaWQiPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tdGl0bGUiPlNlcnZpY2UgSGVhbHRoIFN0YXR1czwvZGl2PgogICAgICAgIDxkZWVzLWRhdGF2aWV3LXN0YXR1c29iamVjdAogICAgICAgICAgLnN0YXR1c09iamVjdD0ke3tpZDoiMSIsbmFtZToiQVBJIEdhdGV3YXkgU2VydmljZSIsbGFzdFVwZGF0ZWQ6RGF0ZS5ub3coKSxjb21iaW5lZFN0YXR1czoib2siLGNvbWJpbmVkU3RhdHVzVGV4dDoiQWxsIHN5c3RlbXMgb3BlcmF0aW9uYWwiLGRldGFpbHM6W3tuYW1lOiJSZXNwb25zZSBUaW1lIix2YWx1ZToiNDVtcyAoYXZnKSIsc3RhdHVzOiJvayIsc3RhdHVzVGV4dDoiV2l0aGluIG5vcm1hbCByYW5nZSJ9LHtuYW1lOiJVcHRpbWUiLHZhbHVlOiI5OS45OSUgKDMwIGRheXMpIixzdGF0dXM6Im9rIixzdGF0dXNUZXh0OiJFeGNlbGxlbnQgdXB0aW1lIn0se25hbWU6IkFjdGl2ZSBDb25uZWN0aW9ucyIsdmFsdWU6IjEsMjM0IC8gMTAsMDAwIixzdGF0dXM6Im9rIixzdGF0dXNUZXh0OiJOb3JtYWwgbG9hZCJ9LHtuYW1lOiJTU0wgQ2VydGlmaWNhdGUiLHZhbHVlOiJWYWxpZCB1bnRpbCAyMDI0LTEyLTMxIixzdGF0dXM6Im9rIixzdGF0dXNUZXh0OiJDZXJ0aWZpY2F0ZSB2YWxpZCJ9XX19CiAgICAgICAgPgogICAgICAgIDwvZGVlcy1kYXRhdmlldy1zdGF0dXNvYmplY3Q+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXRpdGxlIj5EYXRhYmFzZSBDbHVzdGVyIFN0YXR1czwvZGl2PgogICAgICAgIDxkZWVzLWRhdGF2aWV3LXN0YXR1c29iamVjdAogICAgICAgICAgLnN0YXR1c09iamVjdD0ke3tpZDoiMiIsbmFtZToiUG9zdGdyZVNRTCBDbHVzdGVyIixsYXN0VXBkYXRlZDpEYXRlLm5vdygpLTM2ZTUsY29tYmluZWRTdGF0dXM6InBhcnRseV9vayIsY29tYmluZWRTdGF0dXNUZXh0OiJNaW5vciBpc3N1ZXMgZGV0ZWN0ZWQiLGRldGFpbHM6W3tuYW1lOiJQcmltYXJ5IE5vZGUiLHZhbHVlOiJkYi1wcmltYXJ5LTAxIChoZWFsdGh5KSIsc3RhdHVzOiJvayIsc3RhdHVzVGV4dDoiT3BlcmF0aW5nIG5vcm1hbGx5In0se25hbWU6IlJlcGxpY2EgTGFnIix2YWx1ZToiMi41IHNlY29uZHMiLHN0YXR1czoicGFydGx5X29rIixzdGF0dXNUZXh0OiJTbGlnaHRseSBlbGV2YXRlZCJ9LHtuYW1lOiJEaXNrIFVzYWdlIix2YWx1ZToiNzglICgzMTJHQiAvIDQwMEdCKSIsc3RhdHVzOiJwYXJ0bHlfb2siLHN0YXR1c1RleHQ6IkFwcHJvYWNoaW5nIHRocmVzaG9sZCJ9LHtuYW1lOiJDb25uZWN0aW9uIFBvb2wiLHZhbHVlOiI4OSAvIDEwMCBjb25uZWN0aW9ucyIsc3RhdHVzOiJvayIsc3RhdHVzVGV4dDoiV2l0aGluIGxpbWl0cyJ9XX19CiAgICAgICAgPgogICAgICAgIDwvZGVlcy1kYXRhdmlldy1zdGF0dXNvYmplY3Q+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vLXRpdGxlIj5CdWlsZCBQaXBlbGluZSBTdGF0dXM8L2Rpdj4KICAgICAgICA8ZGVlcy1kYXRhdmlldy1zdGF0dXNvYmplY3QKICAgICAgICAgIC5zdGF0dXNPYmplY3Q9JHt7aWQ6IjMiLG5hbWU6IkNJL0NEIFBpcGVsaW5lIixsYXN0VXBkYXRlZDpEYXRlLm5vdygpLTg2NGU1LGNvbWJpbmVkU3RhdHVzOiJub3Rfb2siLGNvbWJpbmVkU3RhdHVzVGV4dDoiQnVpbGQgZmFpbHVyZSIsZGV0YWlsczpbe25hbWU6Ikxhc3QgQnVpbGQiLHZhbHVlOiJCdWlsZCAjMTIzNCAtIEZhaWxlZCIsc3RhdHVzOiJub3Rfb2siLHN0YXR1c1RleHQ6IlRlc3QgZmFpbHVyZXMifSx7bmFtZToiRmFpbGVkIFRlc3RzIix2YWx1ZToiMyB0ZXN0cyBmYWlsZWQ6IGF1dGguc3BlYy50cywgdXNlci5zcGVjLnRzLCBhcGkuc3BlYy50cyIsc3RhdHVzOiJub3Rfb2siLHN0YXR1c1RleHQ6IlVuaXQgdGVzdCBmYWlsdXJlcyJ9LHtuYW1lOiJDb2RlIENvdmVyYWdlIix2YWx1ZToiODIuNSUgKHRhcmdldDogODUlKSIsc3RhdHVzOiJwYXJ0bHlfb2siLHN0YXR1c1RleHQ6IkJlbG93IHRhcmdldCJ9LHtuYW1lOiJCdWlsZCBEdXJhdGlvbiIsdmFsdWU6IjEybSAzNHMiLHN0YXR1czoib2siLHN0YXR1c1RleHQ6Ik5vcm1hbCBkdXJhdGlvbiJ9XX19CiAgICAgICAgPgogICAgICAgIDwvZGVlcy1kYXRhdmlldy1zdGF0dXNvYmplY3Q+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+YCwiZGVtb0Z1bmMiKX0pO3ZhciB1MGEsU1FlLHAwYSxmMGE9ZigoKT0+e1QxKCk7VnMoKTtkMGEoKTtsZSgpO0NuKCk7WXIoKTtRZSgpO0tyKCk7dTBhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxTUWU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHAwYT0oKCk9PntsZXQgYT1baWUoImRlZXMtZGF0YXZpZXctc3RhdHVzb2JqZWN0IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNEYXRhdmlld1N0YXR1c29iamVjdCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBjPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLHUwYSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXR1c09iamVjdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4ic3RhdHVzT2JqZWN0ImluIHAsImhhcyIpLGdldDpzKHA9PnAuc3RhdHVzT2JqZWN0LCJnZXQiKSxzZXQ6cygocCx1KT0+e3Auc3RhdHVzT2JqZWN0PXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSx1MGEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1jMGE7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXRhIFZpZXciXTsjZT1TUWUodGhpcyxuLHZvaWQgMCk7Z2V0IHN0YXR1c09iamVjdCgpe3JldHVybiB0aGlzLiNlfXNldCBzdGF0dXNPYmplY3QoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgJ1JvYm90bycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC5oZWFkaW5nIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgfQoKICAgICAgaDEgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICBmbGV4OiAxOwogICAgICB9CgogICAgICAuc3RhdHVzZG90IHsKICAgICAgICBoZWlnaHQ6IDEwcHg7CiAgICAgICAgd2lkdGg6IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA2My45JSkiLCJoc2woMCAwJSA0NS4xJSkiKX07CiAgICAgICAgbWFyZ2luOiBhdXRvOwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2guYmRUaGVtZSgiaHNsKDAgMCUgNjMuOSUgLyAwLjIpIiwiaHNsKDAgMCUgNDUuMSUgLyAwLjIpIil9OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5jb3B5TWFpbiB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmNvcHlNYWluOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLmNvcHlNYWluOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkxJSkiLCJoc2woMCAwJSAxNC45JSkiKX07CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLnN0YXR1c2RvdC5vayB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgxNDIuMSA3Ni4yJSAzNi4zJSkiLCJoc2woMTQyLjEgNzAuNiUgNDUuMyUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2guYmRUaGVtZSgiaHNsKDE0Mi4xIDc2LjIlIDM2LjMlIC8gMC4yKSIsImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXNkb3Qubm90X29rIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgODQuMiUgNjAuMiUpIiwiaHNsKDAgNzIuMiUgNTAuNiUpIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAke2guYmRUaGVtZSgiaHNsKDAgODQuMiUgNjAuMiUgLyAwLjIpIiwiaHNsKDAgNzIuMiUgNTAuNiUgLyAwLjIpIil9OwogICAgICB9CgogICAgICAuc3RhdHVzZG90LnBhcnRseV9vayB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlKSIsImhzbCgyNSA5NSUgNjMlKSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtoLmJkVGhlbWUoImhzbCgyNSA5NSUgNTMlIC8gMC4yKSIsImhzbCgyNSA5NSUgNjMlIC8gMC4yKSIpfTsKICAgICAgfQoKICAgICAgLmRldGFpbCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZTsKICAgICAgICBjdXJzb3I6IGNvbnRleHQtbWVudTsKICAgICAgfQoKICAgICAgLmRldGFpbDpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAuZGV0YWlsOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIyMi4yIDQ3LjQlIDUxLjIlIC8gMC4wNCkiLCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjA2KSIpfTsKICAgICAgfQoKICAgICAgLmRldGFpbCAuc3RhdHVzZG90IHsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwgLmRldGFpbHNUZXh0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLmRldGFpbCAuZGV0YWlsc1RleHQgLmxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZGV0YWlsIC5kZXRhaWxzVGV4dCAudmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogJ0ludGVsIE9uZSBNb25vJywgJ0dlaXN0IE1vbm8nLCBtb25vc3BhY2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxNSUpIiwiaHNsKDAgMCUgOTAlKSIpfTsKICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CYXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CYXIgLnN0YXR1c0xhYmVsIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImhlYWRpbmciPgogICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzZG90ICR7dGhpcy5zdGF0dXNPYmplY3Q/LmNvbWJpbmVkU3RhdHVzfSI+PC9kaXY+CiAgICAgICAgICA8aDE+JHt0aGlzLnN0YXR1c09iamVjdD8ubmFtZXx8Ik5vIHN0YXR1cyBvYmplY3QgYXNzaWduZWQifTwvaDE+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb3B5TWFpbiIgQGNsaWNrPSR7dGhpcy5oYW5kbGVDb3B5QXNKc29ufT5Db3B5IEpTT048L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuc3RhdHVzT2JqZWN0Py5kZXRhaWxzPy5tYXAoYz0+d2AKICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgIGNsYXNzPSJkZXRhaWwiCiAgICAgICAgICAgICAgQGNvbnRleHRtZW51PSR7cD0+e3AucHJldmVudERlZmF1bHQoKSxlYS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhwLFt7bmFtZToiQ29weSBWYWx1ZSIsaWNvbk5hbWU6Imx1Y2lkZTpjb3B5IixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgdGhpcy5jb3B5VG9DbGlwYm9hcmQoYy52YWx1ZSwiVmFsdWUiKX0sImFjdGlvbiIpfSx7bmFtZToiQ29weSBLZXkiLGljb25OYW1lOiJsdWNpZGU6a2V5IixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgdGhpcy5jb3B5VG9DbGlwYm9hcmQoYy5uYW1lLCJLZXkiKX0sImFjdGlvbiIpfSx7bmFtZToiQ29weSBLZXk6VmFsdWUiLGljb25OYW1lOiJsdWNpZGU6Y29weS1wbHVzIixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgdGhpcy5jb3B5VG9DbGlwYm9hcmQoYCR7Yy5uYW1lfTogJHtjLnZhbHVlfWAsIktleTpWYWx1ZSIpfSwiYWN0aW9uIil9XSl9fQogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzZG90ICR7Yy5zdGF0dXN9Ij48L2Rpdj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsc1RleHQiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxhYmVsIj4ke2MubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idmFsdWUiPiR7Yy52YWx1ZX08L3NwYW4+CiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iYm90dG9tQmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1c0xhYmVsIj4ke3RoaXMuc3RhdHVzT2JqZWN0Py5sYXN0VXBkYXRlZD9gTGFzdCB1cGRhdGVkOiAke25ldyBEYXRlKHRoaXMuc3RhdHVzT2JqZWN0Lmxhc3RVcGRhdGVkKS50b0xvY2FsZVN0cmluZygpfWA6IiJ9PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXt9YXN5bmMgY29weVRvQ2xpcGJvYXJkKGMscD0iVGV4dCIpe3RyeXthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChjKSxjb25zb2xlLmxvZyhgJHtwfSBjb3BpZWQgdG8gY2xpcGJvYXJkYCl9Y2F0Y2godSl7Y29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGNvcHkgJHtwfTpgLHUpfX1hc3luYyBoYW5kbGVDb3B5QXNKc29uKCl7aWYodGhpcy5zdGF0dXNPYmplY3QpdHJ5e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KEpTT04uc3RyaW5naWZ5KHRoaXMuc3RhdHVzT2JqZWN0LG51bGwsMikpO2xldCBjPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuY29weU1haW4iKSxwPWMudGV4dENvbnRlbnQ7Yy50ZXh0Q29udGVudD0iQ29waWVkISI7bGV0IHU9IXRoaXMuZ29CcmlnaHQ7Yy5zdHlsZS5iYWNrZ3JvdW5kPXU/ImhzbCgxNDIuMSA3MC42JSA0NS4zJSAvIDAuMSkiOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUgLyAwLjEpIixjLnN0eWxlLmJvcmRlckNvbG9yPXU/ImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIixjLnN0eWxlLmNvbG9yPXU/ImhzbCgxNDIuMSA3MC42JSA0NS4zJSkiOiJoc2woMTQyLjEgNzYuMiUgMzYuMyUpIixzZXRUaW1lb3V0KCgpPT57Yy50ZXh0Q29udGVudD1wLGMuc3R5bGUuYmFja2dyb3VuZD0iIixjLnN0eWxlLmJvcmRlckNvbG9yPSIiLGMuc3R5bGUuY29sb3I9IiJ9LDE1MDApfWNhdGNoKGMpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjb3B5OiIsYyl9fWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxTUWUodGhpcyxsKX1zdGF0aWN7U1FlKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBoMGE9ZigoKT0+e2YwYSgpfSk7dmFyIG0wYT1mKCgpPT57VnNlKCl9KTt2YXIgelFlLGcwYSxiMGE9ZigoKT0+e2xlKCk7Q1FlKCk7elFlPWNsYXNze3N0YXRpY3tzKHRoaXMsIk1vY2tTdG9yYWdlRGF0YVByb3ZpZGVyIil9b2JqZWN0cz1uZXcgTWFwO2NvbnN0cnVjdG9yKCl7bGV0IGU9bmV3IERhdGUoKS50b0lTT1N0cmluZygpO3RoaXMub2JqZWN0cy5zZXQoImRvY3VtZW50cy9yZWFkbWUubWQiLHtjb250ZW50OmJ0b2EoYCMgV2VsY29tZQoKVGhpcyBpcyBhIGRlbW8gU3RvcmFnZSBicm93c2VyLgpgKSxjb250ZW50VHlwZToidGV4dC9tYXJrZG93biIsc2l6ZTo0MixsYXN0TW9kaWZpZWQ6ZX0pLHRoaXMub2JqZWN0cy5zZXQoImRvY3VtZW50cy9jb25maWcuanNvbiIse2NvbnRlbnQ6YnRvYShgewogICJuYW1lIjogImRlbW8iLAogICJ2ZXJzaW9uIjogIjEuMC4wIgp9YCksY29udGVudFR5cGU6ImFwcGxpY2F0aW9uL2pzb24iLHNpemU6NDgsbGFzdE1vZGlmaWVkOmV9KSx0aGlzLm9iamVjdHMuc2V0KCJkb2N1bWVudHMvbm90ZXMvdG9kby50eHQiLHtjb250ZW50OmJ0b2EoYEJ1eSBtaWxrCkZpeCBidWcgIzQyCkRlcGxveSB0byBwcm9kdWN0aW9uYCksY29udGVudFR5cGU6InRleHQvcGxhaW4iLHNpemU6NDUsbGFzdE1vZGlmaWVkOmV9KSx0aGlzLm9iamVjdHMuc2V0KCJpbWFnZXMvbG9nby5wbmciLHtjb250ZW50OmJ0b2EoImZha2UtcG5nLWRhdGEiKSxjb250ZW50VHlwZToiaW1hZ2UvcG5nIixzaXplOjI0NTAwLGxhc3RNb2RpZmllZDplfSksdGhpcy5vYmplY3RzLnNldCgiaW1hZ2VzL2Jhbm5lci5qcGciLHtjb250ZW50OmJ0b2EoImZha2UtanBnLWRhdGEiKSxjb250ZW50VHlwZToiaW1hZ2UvanBlZyIsc2l6ZToxNTZlMyxsYXN0TW9kaWZpZWQ6ZX0pLHRoaXMub2JqZWN0cy5zZXQoInNjcmlwdHMvZGVwbG95LnNoIix7Y29udGVudDpidG9hKGAjIS9iaW4vYmFzaAplY2hvICJEZXBsb3lpbmcuLi4iCmApLGNvbnRlbnRUeXBlOiJ0ZXh0L3BsYWluIixzaXplOjM0LGxhc3RNb2RpZmllZDplfSksdGhpcy5vYmplY3RzLnNldCgiaW5kZXguaHRtbCIse2NvbnRlbnQ6YnRvYShgPCFET0NUWVBFIGh0bWw+CjxodG1sPgo8Ym9keT4KICA8aDE+SGVsbG8gV29ybGQ8L2gxPgo8L2JvZHk+CjwvaHRtbD5gKSxjb250ZW50VHlwZToidGV4dC9odG1sIixzaXplOjcyLGxhc3RNb2RpZmllZDplfSksdGhpcy5vYmplY3RzLnNldCgic3R5bGVzLmNzcyIse2NvbnRlbnQ6YnRvYSgiYm9keSB7IG1hcmdpbjogMDsgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IH0iKSxjb250ZW50VHlwZToidGV4dC9jc3MiLHNpemU6NDQsbGFzdE1vZGlmaWVkOmV9KX1hc3luYyBsaXN0T2JqZWN0cyhlLHQscil7bGV0IGk9dHx8IiIsbz1bXSxuPW5ldyBTZXQ7Zm9yKGxldFtsLGRdb2YgdGhpcy5vYmplY3RzKXtpZighbC5zdGFydHNXaXRoKGkpKWNvbnRpbnVlO2xldCBjPWwuc2xpY2UoaS5sZW5ndGgpO2lmKHIpe2xldCBwPWMuaW5kZXhPZihyKTtwPj0wP24uYWRkKGkrYy5zbGljZSgwLHArMSkpOm8ucHVzaCh7a2V5Omwsc2l6ZTpkLnNpemUsbGFzdE1vZGlmaWVkOmQubGFzdE1vZGlmaWVkfSl9ZWxzZSBvLnB1c2goe2tleTpsLHNpemU6ZC5zaXplLGxhc3RNb2RpZmllZDpkLmxhc3RNb2RpZmllZH0pfXJldHVybntvYmplY3RzOm8scHJlZml4ZXM6QXJyYXkuZnJvbShuKS5zb3J0KCl9fWFzeW5jIGdldE9iamVjdChlLHQpe2xldCByPXRoaXMub2JqZWN0cy5nZXQodCk7aWYoIXIpdGhyb3cgbmV3IEVycm9yKCJOb3QgZm91bmQiKTtyZXR1cm57Li4ucn19YXN5bmMgcHV0T2JqZWN0KGUsdCxyLGkpe3JldHVybiB0aGlzLm9iamVjdHMuc2V0KHQse2NvbnRlbnQ6cixjb250ZW50VHlwZTppLHNpemU6YXRvYihyKS5sZW5ndGgsbGFzdE1vZGlmaWVkOm5ldyBEYXRlKCkudG9JU09TdHJpbmcoKX0pLCEwfWFzeW5jIGRlbGV0ZU9iamVjdChlLHQpe3JldHVybiB0aGlzLm9iamVjdHMuZGVsZXRlKHQpfWFzeW5jIGRlbGV0ZVByZWZpeChlLHQpe2ZvcihsZXQgciBvZiB0aGlzLm9iamVjdHMua2V5cygpKXIuc3RhcnRzV2l0aCh0KSYmdGhpcy5vYmplY3RzLmRlbGV0ZShyKTtyZXR1cm4hMH1hc3luYyBnZXRPYmplY3RVcmwoZSx0KXtsZXQgcj10aGlzLm9iamVjdHMuZ2V0KHQpO2lmKCFyKXJldHVybiIiO2xldCBpPW5ldyBCbG9iKFtVaW50OEFycmF5LmZyb20oYXRvYihyLmNvbnRlbnQpLG89Pm8uY2hhckNvZGVBdCgwKSldLHt0eXBlOnIuY29udGVudFR5cGV9KTtyZXR1cm4gVVJMLmNyZWF0ZU9iamVjdFVSTChpKX1hc3luYyBtb3ZlT2JqZWN0KGUsdCxyKXtsZXQgaT10aGlzLm9iamVjdHMuZ2V0KHQpO3JldHVybiBpPyh0aGlzLm9iamVjdHMuc2V0KHIsey4uLmksbGFzdE1vZGlmaWVkOm5ldyBEYXRlKCkudG9JU09TdHJpbmcoKX0pLHRoaXMub2JqZWN0cy5kZWxldGUodCkse3N1Y2Nlc3M6ITB9KTp7c3VjY2VzczohMSxlcnJvcjoiU291cmNlIG5vdCBmb3VuZCJ9fWFzeW5jIG1vdmVQcmVmaXgoZSx0LHIpe2xldCBpPTAsbz1BcnJheS5mcm9tKHRoaXMub2JqZWN0cy5lbnRyaWVzKCkpLmZpbHRlcigoW25dKT0+bi5zdGFydHNXaXRoKHQpKTtmb3IobGV0W24sbF1vZiBvKXtsZXQgZD1yK24uc2xpY2UodC5sZW5ndGgpO3RoaXMub2JqZWN0cy5zZXQoZCx7Li4ubCxsYXN0TW9kaWZpZWQ6bmV3IERhdGUoKS50b0lTT1N0cmluZygpfSksdGhpcy5vYmplY3RzLmRlbGV0ZShuKSxpKyt9cmV0dXJue3N1Y2Nlc3M6ITAsbW92ZWRDb3VudDppfX19LGcwYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIGhlaWdodDogNjAwcHg7CiAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICB9CiAgPC9zdHlsZT4KICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICA8ZGVlcy1zdG9yYWdlLWJyb3dzZXIKICAgICAgLmRhdGFQcm92aWRlcj0ke25ldyB6UWV9CiAgICAgIC5idWNrZXROYW1lPSR7ImRlbW8tYnVja2V0In0KICAgID48L2RlZXMtc3RvcmFnZS1icm93c2VyPgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7ZnVuY3Rpb24gS20oYSl7aWYoYT09bnVsbClyZXR1cm4iLSI7aWYoYT09PTApcmV0dXJuIjAgQiI7bGV0IGU9WyJCIiwiS0IiLCJNQiIsIkdCIiwiVEIiXSx0PWEscj0wO2Zvcig7dD49MTAyNCYmcjxlLmxlbmd0aC0xOyl0Lz0xMDI0LHIrKztyZXR1cm5gJHt0LnRvRml4ZWQocj4wPzE6MCl9ICR7ZVtyXX1gfWZ1bmN0aW9uIHYwYShhKXtyZXR1cm4gYT09bnVsbD8iIjphPj0xZTY/YCR7KGEvMWU2KS50b0ZpeGVkKDEpfU1gOmE+PTFlMz9gJHsoYS8xZTMpLnRvRml4ZWQoMSl9S2A6YS50b1N0cmluZygpfWZ1bmN0aW9uIG1hKGEpe2xldCBlPWEucmVwbGFjZSgvXC8kLywiIikuc3BsaXQoIi8iKTtyZXR1cm4gZVtlLmxlbmd0aC0xXXx8YX1mdW5jdGlvbiBabShhLGUpe3JldHVybiBhLmVuZHNXaXRoKCIvIikmJmUuc3RhcnRzV2l0aChhKT97dmFsaWQ6ITEsZXJyb3I6IkNhbm5vdCBtb3ZlIGEgZm9sZGVyIGludG8gaXRzZWxmIn06VjEoYSk9PT1lP3t2YWxpZDohMSxlcnJvcjoiSXRlbSBpcyBhbHJlYWR5IGluIHRoaXMgbG9jYXRpb24ifTp7dmFsaWQ6ITB9fWZ1bmN0aW9uIFYxKGEpe2xldCBlPWEuZW5kc1dpdGgoIi8iKT9hLnNsaWNlKDAsLTEpOmEsdD1lLmxhc3RJbmRleE9mKCIvIik7cmV0dXJuIHQ+PTA/ZS5zdWJzdHJpbmcoMCx0KzEpOiIifWZ1bmN0aW9uIFI0KGEpe3JldHVybntqc29uOiJhcHBsaWNhdGlvbi9qc29uIix0eHQ6InRleHQvcGxhaW4iLGh0bWw6InRleHQvaHRtbCIsY3NzOiJ0ZXh0L2NzcyIsanM6ImFwcGxpY2F0aW9uL2phdmFzY3JpcHQiLHRzOiJ0ZXh0L3R5cGVzY3JpcHQiLG1kOiJ0ZXh0L21hcmtkb3duIix4bWw6ImFwcGxpY2F0aW9uL3htbCIseWFtbDoidGV4dC95YW1sIix5bWw6InRleHQveWFtbCIsY3N2OiJ0ZXh0L2NzdiJ9W2FdfHwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIn1mdW5jdGlvbiBYbShhKXtyZXR1cm57anNvbjpgewogIAp9YCxodG1sOmA8IURPQ1RZUEUgaHRtbD4KPGh0bWw+CjxoZWFkPgogIDx0aXRsZT48L3RpdGxlPgo8L2hlYWQ+Cjxib2R5PgogIAo8L2JvZHk+CjwvaHRtbD5gLG1kOmAjIFRpdGxlCgpgLHR4dDoiIn1bYV18fCIifWZ1bmN0aW9uIGc1KGEpe2lmKCFhKXJldHVybltdO2xldCBlPWEuc3BsaXQoIi8iKS5maWx0ZXIoaT0+aSksdD1bXSxyPSIiO2ZvcihsZXQgaSBvZiBlKXIrPWkrIi8iLHQucHVzaChyKTtyZXR1cm4gdH12YXIgSlc9ZigoKT0+e3MoS20sImZvcm1hdFNpemUiKTtzKHYwYSwiZm9ybWF0Q291bnQiKTtzKG1hLCJnZXRGaWxlTmFtZSIpO3MoWm0sInZhbGlkYXRlTW92ZSIpO3MoVjEsImdldFBhcmVudFByZWZpeCIpO3MoUjQsImdldENvbnRlbnRUeXBlIik7cyhYbSwiZ2V0RGVmYXVsdENvbnRlbnQiKTtzKGc1LCJnZXRQYXRoU2VnbWVudHMiKX0pO3ZhciBSYSx2dCx4MGEsX1FlPWYoKCk9PntsZSgpO1lyKCk7UWUoKTtKVygpO1JhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx2dD1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0seDBhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1zdG9yYWdlLWNvbHVtbnMiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sWCxKPVtdLFo9W10sZ2UsYWU9W10scmU9W10seWUsVj1bXSxIPVtdLG9lLHNlPVtdLHRlPVtdLHplLE9lPVtdLHFlPVtdLGN0LCRlPVtdLENlPVtdLE1lLGRlPVtdLHZlPVtdLEFlLEtlPVtdLG50PVtdLFN0LFRlPVtdLHdlPVtdLFJlLGZlPVtdLGJlPVtdLFBlLHB0PVtdLG10PVtdLE50LFhhPVtdLEphPVtdLHZzLGplPVtdLGR0PVtdLFFhLE1yPVtdLCRyPVtdLEhyLERyPVtdLGhvPVtdLG1vLExlPVtdLFNlPVtdLEJlLGlhPVtdLHhzPVtdO3ZhciBtbD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1N0b3JhZ2VDb2x1bW5zIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IHhlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9WyQoe3R5cGU6TnVtYmVyfSldLHk9W0soKV0sTj1bSygpXSxPPVtLKCldLEI9W0soKV0sUD1bSygpXSxXPVtLKCldLGhlPVtLKCldLG1lPVtLKCldLGNlPVtLKCldLFg9W0soKV0sZ2U9W0soKV0seWU9W0soKV0sb2U9W0soKV0semU9W0soKV0sY3Q9W0soKV0sTWU9W0soKV0sQWU9W0soKV0sU3Q9W0soKV0sUmU9W0soKV0sUGU9W0soKV0sTnQ9W0soKV0sdnM9W0soKV0sUWE9W0soKV0sSHI9W0soKV0sbW89W0soKV0sQmU9W0soKV0sUmEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkYXRhUHJvdmlkZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJkYXRhUHJvdmlkZXIiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5kYXRhUHJvdmlkZXIsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5kYXRhUHJvdmlkZXI9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LG4sbCksUmEodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJidWNrZXROYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4iYnVja2V0TmFtZSJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLmJ1Y2tldE5hbWUsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5idWNrZXROYW1lPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxjLHApLFJhKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFByZWZpeCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+ImN1cnJlbnRQcmVmaXgiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5jdXJyZW50UHJlZml4LCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUuY3VycmVudFByZWZpeD1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sbSx2KSxSYSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlZnJlc2hLZXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJyZWZyZXNoS2V5ImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUucmVmcmVzaEtleSwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLnJlZnJlc2hLZXk9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LGIsZyksUmEodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2x1bW5zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4iY29sdW1ucyJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLmNvbHVtbnMsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5jb2x1bW5zPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxrLEMpLFJhKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+ImxvYWRpbmciaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5sb2FkaW5nLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUubG9hZGluZz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sXyx6KSxSYSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dDcmVhdGVEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJzaG93Q3JlYXRlRGlhbG9nImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUuc2hvd0NyZWF0ZURpYWxvZywiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLnNob3dDcmVhdGVEaWFsb2c9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LFQsRSksUmEodGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjcmVhdGVEaWFsb2dUeXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4iY3JlYXRlRGlhbG9nVHlwZSJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLmNyZWF0ZURpYWxvZ1R5cGUsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5jcmVhdGVEaWFsb2dUeXBlPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxNLFMpLFJhKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3JlYXRlRGlhbG9nUHJlZml4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4iY3JlYXRlRGlhbG9nUHJlZml4ImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUuY3JlYXRlRGlhbG9nUHJlZml4LCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUuY3JlYXRlRGlhbG9nUHJlZml4PV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxBLEYpLFJhKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3JlYXRlRGlhbG9nTmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+ImNyZWF0ZURpYWxvZ05hbWUiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5jcmVhdGVEaWFsb2dOYW1lLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUuY3JlYXRlRGlhbG9nTmFtZT1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0saixHKSxSYSh0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkcmFnT3ZlckNvbHVtbkluZGV4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4iZHJhZ092ZXJDb2x1bW5JbmRleCJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLmRyYWdPdmVyQ29sdW1uSW5kZXgsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5kcmFnT3ZlckNvbHVtbkluZGV4PV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxSLFUpLFJhKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRyYWdPdmVyRm9sZGVyUHJlZml4IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4iZHJhZ092ZXJGb2xkZXJQcmVmaXgiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5kcmFnT3ZlckZvbGRlclByZWZpeCwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLmRyYWdPdmVyRm9sZGVyUHJlZml4PV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxJLHEpLFJhKHRoaXMsbnVsbCxjZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InVwbG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+InVwbG9hZGluZyJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLnVwbG9hZGluZywiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLnVwbG9hZGluZz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sdWUsWSksUmEodGhpcyxudWxsLFgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ1cGxvYWRQcm9ncmVzcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+InVwbG9hZFByb2dyZXNzImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUudXBsb2FkUHJvZ3Jlc3MsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS51cGxvYWRQcm9ncmVzcz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sSixaKSxSYSh0aGlzLG51bGwsZ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93TW92ZURpYWxvZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+InNob3dNb3ZlRGlhbG9nImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUuc2hvd01vdmVEaWFsb2csImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5zaG93TW92ZURpYWxvZz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sYWUscmUpLFJhKHRoaXMsbnVsbCx5ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVTb3VyY2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJtb3ZlU291cmNlImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUubW92ZVNvdXJjZSwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLm1vdmVTb3VyY2U9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LFYsSCksUmEodGhpcyxudWxsLG9lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZURlc3RpbmF0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4ibW92ZURlc3RpbmF0aW9uImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUubW92ZURlc3RpbmF0aW9uLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUubW92ZURlc3RpbmF0aW9uPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxzZSx0ZSksUmEodGhpcyxudWxsLHplLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZUluUHJvZ3Jlc3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJtb3ZlSW5Qcm9ncmVzcyJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLm1vdmVJblByb2dyZXNzLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUubW92ZUluUHJvZ3Jlc3M9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LE9lLHFlKSxSYSh0aGlzLG51bGwsY3Qse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlRXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJtb3ZlRXJyb3IiaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5tb3ZlRXJyb3IsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5tb3ZlRXJyb3I9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LCRlLENlKSxSYSh0aGlzLG51bGwsTWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93TW92ZVBpY2tlckRpYWxvZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+InNob3dNb3ZlUGlja2VyRGlhbG9nImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUuc2hvd01vdmVQaWNrZXJEaWFsb2csImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5zaG93TW92ZVBpY2tlckRpYWxvZz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sZGUsdmUpLFJhKHRoaXMsbnVsbCxBZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVQaWNrZXJTb3VyY2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJtb3ZlUGlja2VyU291cmNlImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUubW92ZVBpY2tlclNvdXJjZSwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLm1vdmVQaWNrZXJTb3VyY2U9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LEtlLG50KSxSYSh0aGlzLG51bGwsU3Qse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyQ3VycmVudFByZWZpeCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+Im1vdmVQaWNrZXJDdXJyZW50UHJlZml4ImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUubW92ZVBpY2tlckN1cnJlbnRQcmVmaXgsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5tb3ZlUGlja2VyQ3VycmVudFByZWZpeD1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sVGUsd2UpLFJhKHRoaXMsbnVsbCxSZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVQaWNrZXJQcmVmaXhlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+Im1vdmVQaWNrZXJQcmVmaXhlcyJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLm1vdmVQaWNrZXJQcmVmaXhlcywiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLm1vdmVQaWNrZXJQcmVmaXhlcz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sZmUsYmUpLFJhKHRoaXMsbnVsbCxQZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVQaWNrZXJMb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4ibW92ZVBpY2tlckxvYWRpbmciaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5tb3ZlUGlja2VyTG9hZGluZywiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLm1vdmVQaWNrZXJMb2FkaW5nPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxwdCxtdCksUmEodGhpcyxudWxsLE50LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1JlbmFtZURpYWxvZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+InNob3dSZW5hbWVEaWFsb2ciaW4gbmUsImhhcyIpLGdldDpzKG5lPT5uZS5zaG93UmVuYW1lRGlhbG9nLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUuc2hvd1JlbmFtZURpYWxvZz1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0sWGEsSmEpLFJhKHRoaXMsbnVsbCx2cyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlbmFtZVNvdXJjZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+InJlbmFtZVNvdXJjZSJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLnJlbmFtZVNvdXJjZSwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLnJlbmFtZVNvdXJjZT1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0samUsZHQpLFJhKHRoaXMsbnVsbCxRYSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlbmFtZU5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJyZW5hbWVOYW1lImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUucmVuYW1lTmFtZSwiZ2V0Iiksc2V0OnMoKG5lLF9lKT0+e25lLnJlbmFtZU5hbWU9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LE1yLCRyKSxSYSh0aGlzLG51bGwsSHIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5hbWVJblByb2dyZXNzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKG5lPT4icmVuYW1lSW5Qcm9ncmVzcyJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLnJlbmFtZUluUHJvZ3Jlc3MsImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5yZW5hbWVJblByb2dyZXNzPV9lfSwic2V0Iil9LG1ldGFkYXRhOnhlfSxEcixobyksUmEodGhpcyxudWxsLG1vLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVuYW1lRXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMobmU9PiJyZW5hbWVFcnJvciJpbiBuZSwiaGFzIiksZ2V0OnMobmU9Pm5lLnJlbmFtZUVycm9yLCJnZXQiKSxzZXQ6cygobmUsX2UpPT57bmUucmVuYW1lRXJyb3I9X2V9LCJzZXQiKX0sbWV0YWRhdGE6eGV9LExlLFNlKSxSYSh0aGlzLG51bGwsQmUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkcmFnZ2VkSXRlbSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhuZT0+ImRyYWdnZWRJdGVtImluIG5lLCJoYXMiKSxnZXQ6cyhuZT0+bmUuZHJhZ2dlZEl0ZW0sImdldCIpLHNldDpzKChuZSxfZSk9PntuZS5kcmFnZ2VkSXRlbT1fZX0sInNldCIpfSxtZXRhZGF0YTp4ZX0saWEseHMpLFJhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOnhlfSxudWxsLHQpLG1sPXI9ZS52YWx1ZSx4ZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp4ZX0pfSNlPXZ0KHRoaXMsbixudWxsKTtnZXQgZGF0YVByb3ZpZGVyKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRhdGFQcm92aWRlcih4ZSl7dGhpcy4jZT14ZX0jdD0odnQodGhpcyxsKSx2dCh0aGlzLGMsIiIpKTtnZXQgYnVja2V0TmFtZSgpe3JldHVybiB0aGlzLiN0fXNldCBidWNrZXROYW1lKHhlKXt0aGlzLiN0PXhlfSNhPSh2dCh0aGlzLHApLHZ0KHRoaXMsbSwiIikpO2dldCBjdXJyZW50UHJlZml4KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGN1cnJlbnRQcmVmaXgoeGUpe3RoaXMuI2E9eGV9I3I9KHZ0KHRoaXMsdiksdnQodGhpcyxiLDApKTtnZXQgcmVmcmVzaEtleSgpe3JldHVybiB0aGlzLiNyfXNldCByZWZyZXNoS2V5KHhlKXt0aGlzLiNyPXhlfSNzPSh2dCh0aGlzLGcpLHZ0KHRoaXMsayxbXSkpO2dldCBjb2x1bW5zKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGNvbHVtbnMoeGUpe3RoaXMuI3M9eGV9I2k9KHZ0KHRoaXMsQyksdnQodGhpcyxfLCExKSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jaX1zZXQgbG9hZGluZyh4ZSl7dGhpcy4jaT14ZX0jbz0odnQodGhpcyx6KSx2dCh0aGlzLFQsITEpKTtnZXQgc2hvd0NyZWF0ZURpYWxvZygpe3JldHVybiB0aGlzLiNvfXNldCBzaG93Q3JlYXRlRGlhbG9nKHhlKXt0aGlzLiNvPXhlfSNuPSh2dCh0aGlzLEUpLHZ0KHRoaXMsTSwiZm9sZGVyIikpO2dldCBjcmVhdGVEaWFsb2dUeXBlKCl7cmV0dXJuIHRoaXMuI259c2V0IGNyZWF0ZURpYWxvZ1R5cGUoeGUpe3RoaXMuI249eGV9I2w9KHZ0KHRoaXMsUyksdnQodGhpcyxBLCIiKSk7Z2V0IGNyZWF0ZURpYWxvZ1ByZWZpeCgpe3JldHVybiB0aGlzLiNsfXNldCBjcmVhdGVEaWFsb2dQcmVmaXgoeGUpe3RoaXMuI2w9eGV9I2M9KHZ0KHRoaXMsRiksdnQodGhpcyxqLCIiKSk7Z2V0IGNyZWF0ZURpYWxvZ05hbWUoKXtyZXR1cm4gdGhpcy4jY31zZXQgY3JlYXRlRGlhbG9nTmFtZSh4ZSl7dGhpcy4jYz14ZX0jZD0odnQodGhpcyxHKSx2dCh0aGlzLFIsLTEpKTtnZXQgZHJhZ092ZXJDb2x1bW5JbmRleCgpe3JldHVybiB0aGlzLiNkfXNldCBkcmFnT3ZlckNvbHVtbkluZGV4KHhlKXt0aGlzLiNkPXhlfSN1PSh2dCh0aGlzLFUpLHZ0KHRoaXMsSSxudWxsKSk7Z2V0IGRyYWdPdmVyRm9sZGVyUHJlZml4KCl7cmV0dXJuIHRoaXMuI3V9c2V0IGRyYWdPdmVyRm9sZGVyUHJlZml4KHhlKXt0aGlzLiN1PXhlfSNwPSh2dCh0aGlzLHEpLHZ0KHRoaXMsdWUsITEpKTtnZXQgdXBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI3B9c2V0IHVwbG9hZGluZyh4ZSl7dGhpcy4jcD14ZX0jZj0odnQodGhpcyxZKSx2dCh0aGlzLEosbnVsbCkpO2dldCB1cGxvYWRQcm9ncmVzcygpe3JldHVybiB0aGlzLiNmfXNldCB1cGxvYWRQcm9ncmVzcyh4ZSl7dGhpcy4jZj14ZX0jaD0odnQodGhpcyxaKSx2dCh0aGlzLGFlLCExKSk7Z2V0IHNob3dNb3ZlRGlhbG9nKCl7cmV0dXJuIHRoaXMuI2h9c2V0IHNob3dNb3ZlRGlhbG9nKHhlKXt0aGlzLiNoPXhlfSNtPSh2dCh0aGlzLHJlKSx2dCh0aGlzLFYsbnVsbCkpO2dldCBtb3ZlU291cmNlKCl7cmV0dXJuIHRoaXMuI219c2V0IG1vdmVTb3VyY2UoeGUpe3RoaXMuI209eGV9I2c9KHZ0KHRoaXMsSCksdnQodGhpcyxzZSwiIikpO2dldCBtb3ZlRGVzdGluYXRpb24oKXtyZXR1cm4gdGhpcy4jZ31zZXQgbW92ZURlc3RpbmF0aW9uKHhlKXt0aGlzLiNnPXhlfSNiPSh2dCh0aGlzLHRlKSx2dCh0aGlzLE9lLCExKSk7Z2V0IG1vdmVJblByb2dyZXNzKCl7cmV0dXJuIHRoaXMuI2J9c2V0IG1vdmVJblByb2dyZXNzKHhlKXt0aGlzLiNiPXhlfSN2PSh2dCh0aGlzLHFlKSx2dCh0aGlzLCRlLG51bGwpKTtnZXQgbW92ZUVycm9yKCl7cmV0dXJuIHRoaXMuI3Z9c2V0IG1vdmVFcnJvcih4ZSl7dGhpcy4jdj14ZX0jeD0odnQodGhpcyxDZSksdnQodGhpcyxkZSwhMSkpO2dldCBzaG93TW92ZVBpY2tlckRpYWxvZygpe3JldHVybiB0aGlzLiN4fXNldCBzaG93TW92ZVBpY2tlckRpYWxvZyh4ZSl7dGhpcy4jeD14ZX0jeT0odnQodGhpcyx2ZSksdnQodGhpcyxLZSxudWxsKSk7Z2V0IG1vdmVQaWNrZXJTb3VyY2UoKXtyZXR1cm4gdGhpcy4jeX1zZXQgbW92ZVBpY2tlclNvdXJjZSh4ZSl7dGhpcy4jeT14ZX0jdz0odnQodGhpcyxudCksdnQodGhpcyxUZSwiIikpO2dldCBtb3ZlUGlja2VyQ3VycmVudFByZWZpeCgpe3JldHVybiB0aGlzLiN3fXNldCBtb3ZlUGlja2VyQ3VycmVudFByZWZpeCh4ZSl7dGhpcy4jdz14ZX0jTT0odnQodGhpcyx3ZSksdnQodGhpcyxmZSxbXSkpO2dldCBtb3ZlUGlja2VyUHJlZml4ZXMoKXtyZXR1cm4gdGhpcy4jTX1zZXQgbW92ZVBpY2tlclByZWZpeGVzKHhlKXt0aGlzLiNNPXhlfSNrPSh2dCh0aGlzLGJlKSx2dCh0aGlzLHB0LCExKSk7Z2V0IG1vdmVQaWNrZXJMb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2t9c2V0IG1vdmVQaWNrZXJMb2FkaW5nKHhlKXt0aGlzLiNrPXhlfSNTPSh2dCh0aGlzLG10KSx2dCh0aGlzLFhhLCExKSk7Z2V0IHNob3dSZW5hbWVEaWFsb2coKXtyZXR1cm4gdGhpcy4jU31zZXQgc2hvd1JlbmFtZURpYWxvZyh4ZSl7dGhpcy4jUz14ZX0jej0odnQodGhpcyxKYSksdnQodGhpcyxqZSxudWxsKSk7Z2V0IHJlbmFtZVNvdXJjZSgpe3JldHVybiB0aGlzLiN6fXNldCByZW5hbWVTb3VyY2UoeGUpe3RoaXMuI3o9eGV9I0M9KHZ0KHRoaXMsZHQpLHZ0KHRoaXMsTXIsIiIpKTtnZXQgcmVuYW1lTmFtZSgpe3JldHVybiB0aGlzLiNDfXNldCByZW5hbWVOYW1lKHhlKXt0aGlzLiNDPXhlfSNfPSh2dCh0aGlzLCRyKSx2dCh0aGlzLERyLCExKSk7Z2V0IHJlbmFtZUluUHJvZ3Jlc3MoKXtyZXR1cm4gdGhpcy4jX31zZXQgcmVuYW1lSW5Qcm9ncmVzcyh4ZSl7dGhpcy4jXz14ZX0jVD0odnQodGhpcyxobyksdnQodGhpcyxMZSxudWxsKSk7Z2V0IHJlbmFtZUVycm9yKCl7cmV0dXJuIHRoaXMuI1R9c2V0IHJlbmFtZUVycm9yKHhlKXt0aGlzLiNUPXhlfSNMPSh2dCh0aGlzLFNlKSx2dCh0aGlzLGlhLG51bGwpKTtnZXQgZHJhZ2dlZEl0ZW0oKXtyZXR1cm4gdGhpcy4jTH1zZXQgZHJhZ2dlZEl0ZW0oeGUpe3RoaXMuI0w9eGV9cmVzaXppbmc9KHZ0KHRoaXMseHMpLG51bGwpO0RFRkFVTFRfQ09MVU1OX1dJRFRIPTI1MDtNSU5fQ09MVU1OX1dJRFRIPTE1MDtNQVhfQ09MVU1OX1dJRFRIPTUwMDtkcmFnQ291bnRlcnM9bmV3IE1hcDtmb2xkZXJIb3ZlclRpbWVyPW51bGw7ZmlsZUlucHV0RWxlbWVudD1udWxsO2ZvbGRlcklucHV0RWxlbWVudD1udWxsO3N0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxFZSxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuOwogICAgICB9CgogICAgICAuY29sdW1ucy1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7CiAgICAgIH0KCiAgICAgIC5jb2x1bW4td3JhcHBlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5jb2x1bW4gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlIHsKICAgICAgICB3aWR0aDogNXB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjdXJzb3I6IGNvbC1yZXNpemU7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZTo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMnB4OwogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzMzMyIpfTsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGU6aG92ZXI6OmFmdGVyLAogICAgICAucmVzaXplLWhhbmRsZS5hY3RpdmU6OmFmdGVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM0MDQwNDAiKX07CiAgICAgICAgd2lkdGg6IDJweDsKICAgICAgICBsZWZ0OiAxcHg7CiAgICAgIH0KCiAgICAgIC5jb2x1bW4td3JhcHBlcjpsYXN0LWNoaWxkIC5yZXNpemUtaGFuZGxlIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAuY29sdW1uLWhlYWRlciB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzY2NiIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAyKSIsInJnYmEoMCwgMCwgMCwgMC4yKSIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzMzIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtcyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjFzOwogICAgICB9CgogICAgICAuY29sdW1uLWl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDQpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSIpfTsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMWQ0ZWQ4IiwiI2UwZTBlMCIpfTsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtLmZvbGRlciB7CiAgICAgICAgY29sb3I6ICNmYmJmMjQ7CiAgICAgIH0KCiAgICAgIC5jb2x1bW4taXRlbSAuaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuY29sdW1uLWl0ZW0gLm5hbWUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuY29sdW1uLWl0ZW0gLmNoZXZyb24gewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjNTU1Iil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAubG9hZGluZyB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzY2NiIpfTsKICAgICAgfQoKICAgICAgLmNvbHVtbi5kcmFnLW92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjA4KTsKICAgICAgICBvdXRsaW5lOiAycHggZGFzaGVkIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjQpOwogICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OwogICAgICB9CgogICAgICAuY29sdW1uLWl0ZW0uZm9sZGVyLmRyYWctdGFyZ2V0IHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSAhaW1wb3J0YW50OwogICAgICAgIG91dGxpbmU6IDFweCBzb2xpZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC41KTsKICAgICAgfQoKICAgICAgLnVwbG9hZC1vdmVybGF5IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIH0KCiAgICAgIC51cGxvYWQtb3ZlcmxheSAudXBsb2FkLXRleHQgewogICAgICAgIGNvbG9yOiAjZTBlMGUwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLnVwbG9hZC1vdmVybGF5IC51cGxvYWQtcHJvZ3Jlc3MgewogICAgICAgIGNvbG9yOiAjODg4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgfQoKICAgICAgLmRyYWctaGludCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogOHB4OwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuOSk7CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICB6LWluZGV4OiA1OwogICAgICB9CgogICAgICAuZGlhbG9nLW92ZXJsYXkgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICB9CgogICAgICAuZGlhbG9nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxZTFlMWUiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG1pbi13aWR0aDogNDAwcHg7CiAgICAgICAgYm94LXNoYWRvdzogMCAyMHB4IDQwcHggcmdiYSgwLCAwLCAwLCAwLjUpOwogICAgICB9CgogICAgICAuZGlhbG9nLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctbG9jYXRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjODg4Iil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1pbnB1dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE0MTQxNCIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzMzMiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuZGlhbG9nLWlucHV0OmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjZTBlMGUwIil9OwogICAgICB9CgogICAgICAuZGlhbG9nLWhpbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNjY2Iil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLmRpYWxvZy1idG4gewogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0bi1jYW5jZWwgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzQ0NCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYWFhIil9OwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0bi1jYW5jZWw6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0bi1jcmVhdGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzQwNDA0MCIpfTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1idG4tY3JlYXRlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiM1MDUwNTAiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYnRuLWNyZWF0ZTpkaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC8qIE1vdmUgZGlhbG9nIHN0eWxlcyAqLwogICAgICAubW92ZS1zdW1tYXJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAzKSIsInJnYmEoMCwgMCwgMCwgMC4yKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAubW92ZS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLm1vdmUtaXRlbTpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAubW92ZS1sYWJlbCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzg4OCIpfTsKICAgICAgICBtaW4td2lkdGg6IDQwcHg7CiAgICAgIH0KCiAgICAgIC5tb3ZlLXBhdGggewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNmM2Y0NiIsIiNlMGUwZTAiKX07CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOwogICAgICB9CgogICAgICAubW92ZS1lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xNSk7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzksIDY4LCA2OCwgMC4zKTsKICAgICAgICBjb2xvcjogI2Y4NzE3MTsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAvKiBNb3ZlIHBpY2tlciBkaWFsb2cgc3R5bGVzICovCiAgICAgIC5tb3ZlLXBpY2tlci1kaWFsb2cgewogICAgICAgIG1pbi13aWR0aDogNDUwcHg7CiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7CiAgICAgIH0KCiAgICAgIC5waWNrZXItYnJlYWRjcnVtYiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAucGlja2VyLWNydW1iIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjODg4Iil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAucGlja2VyLWNydW1iOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICB9CgogICAgICAucGlja2VyLXNlcGFyYXRvciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzU1NSIpfTsKICAgICAgfQoKICAgICAgLnBpY2tlci1saXN0IHsKICAgICAgICBtYXgtaGVpZ2h0OiAyODBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzMzMyIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBtaW4taGVpZ2h0OiAxMDBweDsKICAgICAgfQoKICAgICAgLnBpY2tlci1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAjZmJiZjI0OwogICAgICB9CgogICAgICAucGlja2VyLWl0ZW06aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSIpfTsKICAgICAgfQoKICAgICAgLnBpY2tlci1pdGVtIC5pY29uIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5waWNrZXItaXRlbSAubmFtZSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5waWNrZXItZW1wdHkgewogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAuY29sdW1uLWl0ZW0uZHJhZ2dpbmcgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgLmNvbHVtbi1pdGVtLmRyb3AtdGFyZ2V0IHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDU5LCAxMzAsIDI0NiwgMC4xNSkgIWltcG9ydGFudDsKICAgICAgICBvdXRsaW5lOiAxcHggZGFzaGVkIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjUpOwogICAgICB9CgogICAgICAuY29sdW1uLWl0ZW0uZHJvcC1pbnZhbGlkIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEpICFpbXBvcnRhbnQ7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQogICAgYF07YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IHRoaXMubG9hZEluaXRpYWxDb2x1bW4oKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5jbGVhckZvbGRlckhvdmVyKCksdGhpcy5kcmFnQ291bnRlcnMuY2xlYXIoKSx0aGlzLmZpbGVJbnB1dEVsZW1lbnQmJih0aGlzLmZpbGVJbnB1dEVsZW1lbnQucmVtb3ZlKCksdGhpcy5maWxlSW5wdXRFbGVtZW50PW51bGwpLHRoaXMuZm9sZGVySW5wdXRFbGVtZW50JiYodGhpcy5mb2xkZXJJbnB1dEVsZW1lbnQucmVtb3ZlKCksdGhpcy5mb2xkZXJJbnB1dEVsZW1lbnQ9bnVsbCl9dXBkYXRlZCh4ZSl7eGUuaGFzKCJidWNrZXROYW1lIil8fHhlLmhhcygiY3VycmVudFByZWZpeCIpP3RoaXMubG9hZEluaXRpYWxDb2x1bW4oKTp4ZS5oYXMoInJlZnJlc2hLZXkiKSYmdGhpcy5yZWZyZXNoQWxsQ29sdW1ucygpfWFzeW5jIGxvYWRJbml0aWFsQ29sdW1uKCl7aWYodGhpcy5kYXRhUHJvdmlkZXIpe3RoaXMubG9hZGluZz0hMDt0cnl7bGV0IHhlPWc1KHRoaXMuY3VycmVudFByZWZpeCksbmU9WyIiLC4uLnhlXSxfZT1hd2FpdCBQcm9taXNlLmFsbChuZS5tYXAoVWU9PnRoaXMuZGF0YVByb3ZpZGVyLmxpc3RPYmplY3RzKHRoaXMuYnVja2V0TmFtZSxVZSwiLyIpKSk7dGhpcy5jb2x1bW5zPV9lLm1hcCgoVWUsa3QpPT57bGV0IHlzPW5lW2t0XSxxcj1rdDx4ZS5sZW5ndGg/eGVba3RdOm51bGw7cmV0dXJue3ByZWZpeDp5cyxvYmplY3RzOlVlLm9iamVjdHMscHJlZml4ZXM6VWUucHJlZml4ZXMsc2VsZWN0ZWRJdGVtOnFyLHdpZHRoOnRoaXMuREVGQVVMVF9DT0xVTU5fV0lEVEh9fSksdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT50aGlzLnNjcm9sbFRvRW5kKCkpfWNhdGNoKHhlKXtjb25zb2xlLmVycm9yKCJFcnJvciBsb2FkaW5nIG9iamVjdHM6Iix4ZSksdGhpcy5jb2x1bW5zPVtdfXRoaXMubG9hZGluZz0hMX19YXN5bmMgcmVmcmVzaEFsbENvbHVtbnMoKXtpZighdGhpcy5kYXRhUHJvdmlkZXIpcmV0dXJuO2xldCB4ZT1hd2FpdCBQcm9taXNlLmFsbCh0aGlzLmNvbHVtbnMubWFwKGFzeW5jIG5lPT57dHJ5e2xldCBfZT1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5saXN0T2JqZWN0cyh0aGlzLmJ1Y2tldE5hbWUsbmUucHJlZml4LCIvIik7cmV0dXJuey4uLm5lLG9iamVjdHM6X2Uub2JqZWN0cyxwcmVmaXhlczpfZS5wcmVmaXhlc319Y2F0Y2h7cmV0dXJuIG5lfX0pKTt0aGlzLmNvbHVtbnM9eGV9YXN5bmMgc2VsZWN0Rm9sZGVyKHhlLG5lKXtpZih0aGlzLmRhdGFQcm92aWRlcil7dGhpcy5jb2x1bW5zPXRoaXMuY29sdW1ucy5tYXAoKF9lLFVlKT0+VWU9PT14ZT97Li4uX2Usc2VsZWN0ZWRJdGVtOm5lfTpfZSksdGhpcy5jb2x1bW5zPXRoaXMuY29sdW1ucy5zbGljZSgwLHhlKzEpO3RyeXtsZXQgX2U9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubGlzdE9iamVjdHModGhpcy5idWNrZXROYW1lLG5lLCIvIik7dGhpcy5jb2x1bW5zPVsuLi50aGlzLmNvbHVtbnMse3ByZWZpeDpuZSxvYmplY3RzOl9lLm9iamVjdHMscHJlZml4ZXM6X2UucHJlZml4ZXMsc2VsZWN0ZWRJdGVtOm51bGwsd2lkdGg6dGhpcy5ERUZBVUxUX0NPTFVNTl9XSURUSH1dLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+dGhpcy5zY3JvbGxUb0VuZCgpKX1jYXRjaChfZSl7Y29uc29sZS5lcnJvcigiRXJyb3IgbG9hZGluZyBmb2xkZXI6IixfZSl9fX1zY3JvbGxUb0VuZCgpe3RoaXMuc2Nyb2xsTGVmdD10aGlzLnNjcm9sbFdpZHRoLXRoaXMuY2xpZW50V2lkdGh9c3RhcnRSZXNpemUoeGUsbmUpe3hlLnByZXZlbnREZWZhdWx0KCksdGhpcy5yZXNpemluZz17Y29sdW1uSW5kZXg6bmUsc3RhcnRYOnhlLmNsaWVudFgsc3RhcnRXaWR0aDp0aGlzLmNvbHVtbnNbbmVdLndpZHRofSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlUmVzaXplKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLnN0b3BSZXNpemUpLGRvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yPSJjb2wtcmVzaXplIixkb2N1bWVudC5ib2R5LnN0eWxlLnVzZXJTZWxlY3Q9Im5vbmUifWhhbmRsZVJlc2l6ZT1zKHhlPT57aWYoIXRoaXMucmVzaXppbmcpcmV0dXJuO2xldCBuZT14ZS5jbGllbnRYLXRoaXMucmVzaXppbmcuc3RhcnRYLF9lPU1hdGgubWluKHRoaXMuTUFYX0NPTFVNTl9XSURUSCxNYXRoLm1heCh0aGlzLk1JTl9DT0xVTU5fV0lEVEgsdGhpcy5yZXNpemluZy5zdGFydFdpZHRoK25lKSk7dGhpcy5jb2x1bW5zPXRoaXMuY29sdW1ucy5tYXAoKFVlLGt0KT0+a3Q9PT10aGlzLnJlc2l6aW5nLmNvbHVtbkluZGV4P3suLi5VZSx3aWR0aDpfZX06VWUpfSwiaGFuZGxlUmVzaXplIik7c3RvcFJlc2l6ZT1zKCgpPT57dGhpcy5yZXNpemluZz1udWxsLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVSZXNpemUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuc3RvcFJlc2l6ZSksZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I9IiIsZG9jdW1lbnQuYm9keS5zdHlsZS51c2VyU2VsZWN0PSIifSwic3RvcFJlc2l6ZSIpO3NlbGVjdEZpbGUoeGUsbmUpe3RoaXMuY29sdW1ucz10aGlzLmNvbHVtbnMubWFwKChfZSxVZSk9PlVlPT09eGU/ey4uLl9lLHNlbGVjdGVkSXRlbTpuZX06X2UpLHRoaXMuY29sdW1ucz10aGlzLmNvbHVtbnMuc2xpY2UoMCx4ZSsxKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJrZXktc2VsZWN0ZWQiLHtkZXRhaWw6e2tleTpuZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1nZXRGaWxlSWNvbih4ZSl7bGV0IG5lPXhlLnNwbGl0KCIuIikucG9wKCk/LnRvTG93ZXJDYXNlKCl8fCIiO3JldHVybntqc29uOiJNMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjh6Iix0eHQ6Ik0xNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOHoiLHBuZzoiTTUgM2gxNGEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMnoiLGpwZzoiTTUgM2gxNGEyIDIgMCAwIDEgMiAydjE0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMnoiLGpwZWc6Ik01IDNoMTRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJ6IixnaWY6Ik01IDNoMTRhMiAyIDAgMCAxIDIgMnYxNGEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJ6IixwZGY6Ik0xNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOHoifVtuZV18fCJNMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjh6In1oYW5kbGVGb2xkZXJDb250ZXh0TWVudSh4ZSxuZSxfZSl7dGhpcy5kYXRhUHJvdmlkZXImJih4ZS5wcmV2ZW50RGVmYXVsdCgpLGVhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKHhlLFt7bmFtZToiT3BlbiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJPcGVuIixhY3Rpb246cyhhc3luYygpPT57dGhpcy5zZWxlY3RGb2xkZXIobmUsX2UpfSwiYWN0aW9uIil9LHtuYW1lOiJDb3B5IFBhdGgiLGljb25OYW1lOiJsdWNpZGU6Y29weSIsYWN0aW9uOnMoYXN5bmMoKT0+e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KF9lKX0sImFjdGlvbiIpfSx7bmFtZToiUmVuYW1lIixpY29uTmFtZToibHVjaWRlOnBlbmNpbCIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuUmVuYW1lRGlhbG9nKF9lLCEwKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiTW92ZSB0by4uLiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJJbnB1dCIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuTW92ZVBpY2tlckRpYWxvZyhfZSwhMCksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6Ik5ldyBGb2xkZXIgSW5zaWRlIixpY29uTmFtZToibHVjaWRlOmZvbGRlclBsdXMiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMub3BlbkNyZWF0ZURpYWxvZygiZm9sZGVyIixfZSksImFjdGlvbiIpfSx7bmFtZToiTmV3IEZpbGUgSW5zaWRlIixpY29uTmFtZToibHVjaWRlOmZpbGVQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLm9wZW5DcmVhdGVEaWFsb2coImZpbGUiLF9lKSwiYWN0aW9uIil9LHtuYW1lOiJVcGxvYWQgRmlsZXMuLi4iLGljb25OYW1lOiJsdWNpZGU6ZmlsZSIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy50cmlnZ2VyRmlsZVVwbG9hZChfZSwiZmlsZXMiKSwiYWN0aW9uIil9LHtuYW1lOiJVcGxvYWQgRm9sZGVyLi4uIixpY29uTmFtZToibHVjaWRlOmZvbGRlclVwIixhY3Rpb246cyhhc3luYygpPT50aGlzLnRyaWdnZXJGaWxlVXBsb2FkKF9lLCJmb2xkZXIiKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRGVsZXRlIEZvbGRlciIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaDIiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25maXJtKGBEZWxldGUgZm9sZGVyICIke21hKF9lKX0iIGFuZCBhbGwgaXRzIGNvbnRlbnRzP2ApJiZhd2FpdCB0aGlzLmRhdGFQcm92aWRlci5kZWxldGVQcmVmaXgodGhpcy5idWNrZXROYW1lLF9lKSYmKHRoaXMuY29sdW1ucz10aGlzLmNvbHVtbnMuc2xpY2UoMCxuZSsxKSx0aGlzLmNvbHVtbnM9dGhpcy5jb2x1bW5zLm1hcCgoa3QseXMpPT55cz09PW5lP3suLi5rdCxzZWxlY3RlZEl0ZW06bnVsbH06a3QpLGF3YWl0IHRoaXMucmVmcmVzaENvbHVtbkJ5UHJlZml4KHRoaXMuY29sdW1uc1tuZV0ucHJlZml4KSl9LCJhY3Rpb24iKX1dKSl9aGFuZGxlRmlsZUNvbnRleHRNZW51KHhlLG5lLF9lKXt0aGlzLmRhdGFQcm92aWRlciYmKHhlLnByZXZlbnREZWZhdWx0KCksZWEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoeGUsW3tuYW1lOiJQcmV2aWV3IixpY29uTmFtZToibHVjaWRlOmV5ZSIsYWN0aW9uOnMoYXN5bmMoKT0+e3RoaXMuc2VsZWN0RmlsZShuZSxfZSl9LCJhY3Rpb24iKX0se25hbWU6IkRvd25sb2FkIixpY29uTmFtZToibHVjaWRlOmRvd25sb2FkIixhY3Rpb246cyhhc3luYygpPT57bGV0IFVlPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmdldE9iamVjdFVybCh0aGlzLmJ1Y2tldE5hbWUsX2UpLGt0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtrdC5ocmVmPVVlLGt0LmRvd25sb2FkPW1hKF9lKSxrdC5jbGljaygpfSwiYWN0aW9uIil9LHtuYW1lOiJDb3B5IFBhdGgiLGljb25OYW1lOiJsdWNpZGU6Y29weSIsYWN0aW9uOnMoYXN5bmMoKT0+e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KF9lKX0sImFjdGlvbiIpfSx7bmFtZToiUmVuYW1lIixpY29uTmFtZToibHVjaWRlOnBlbmNpbCIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuUmVuYW1lRGlhbG9nKF9lLCExKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiTW92ZSB0by4uLiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJJbnB1dCIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuTW92ZVBpY2tlckRpYWxvZyhfZSwhMSksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkRlbGV0ZSIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaDIiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25maXJtKGBEZWxldGUgZmlsZSAiJHttYShfZSl9Ij9gKSYmYXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIuZGVsZXRlT2JqZWN0KHRoaXMuYnVja2V0TmFtZSxfZSkmJmF3YWl0IHRoaXMucmVmcmVzaENvbHVtbkJ5UHJlZml4KHRoaXMuY29sdW1uc1tuZV0ucHJlZml4KX0sImFjdGlvbiIpfV0pKX1oYW5kbGVFbXB0eVNwYWNlQ29udGV4dE1lbnUoeGUsbmUpe2lmKHhlLnRhcmdldCE9PXhlLmN1cnJlbnRUYXJnZXQpcmV0dXJuO3hlLnByZXZlbnREZWZhdWx0KCk7bGV0IF9lPXRoaXMuY29sdW1uc1tuZV0ucHJlZml4O2VhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKHhlLFt7bmFtZToiTmV3IEZvbGRlciIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLm9wZW5DcmVhdGVEaWFsb2coImZvbGRlciIsX2UpLCJhY3Rpb24iKX0se25hbWU6Ik5ldyBGaWxlIixpY29uTmFtZToibHVjaWRlOmZpbGVQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLm9wZW5DcmVhdGVEaWFsb2coImZpbGUiLF9lKSwiYWN0aW9uIil9LHtuYW1lOiJVcGxvYWQgRmlsZXMuLi4iLGljb25OYW1lOiJsdWNpZGU6ZmlsZSIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy50cmlnZ2VyRmlsZVVwbG9hZChfZSwiZmlsZXMiKSwiYWN0aW9uIil9LHtuYW1lOiJVcGxvYWQgRm9sZGVyLi4uIixpY29uTmFtZToibHVjaWRlOmZvbGRlclVwIixhY3Rpb246cyhhc3luYygpPT50aGlzLnRyaWdnZXJGaWxlVXBsb2FkKF9lLCJmb2xkZXIiKSwiYWN0aW9uIil9XSl9b3BlbkNyZWF0ZURpYWxvZyh4ZSxuZSl7dGhpcy5jcmVhdGVEaWFsb2dUeXBlPXhlLHRoaXMuY3JlYXRlRGlhbG9nUHJlZml4PW5lLHRoaXMuY3JlYXRlRGlhbG9nTmFtZT0iIix0aGlzLnNob3dDcmVhdGVEaWFsb2c9ITB9ZW5zdXJlRmlsZUlucHV0cygpe3RoaXMuZmlsZUlucHV0RWxlbWVudHx8KHRoaXMuZmlsZUlucHV0RWxlbWVudD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpLHRoaXMuZmlsZUlucHV0RWxlbWVudC50eXBlPSJmaWxlIix0aGlzLmZpbGVJbnB1dEVsZW1lbnQubXVsdGlwbGU9ITAsdGhpcy5maWxlSW5wdXRFbGVtZW50LnN0eWxlLmRpc3BsYXk9Im5vbmUiLHRoaXMuc2hhZG93Um9vdC5hcHBlbmRDaGlsZCh0aGlzLmZpbGVJbnB1dEVsZW1lbnQpKSx0aGlzLmZvbGRlcklucHV0RWxlbWVudHx8KHRoaXMuZm9sZGVySW5wdXRFbGVtZW50PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0IiksdGhpcy5mb2xkZXJJbnB1dEVsZW1lbnQudHlwZT0iZmlsZSIsdGhpcy5mb2xkZXJJbnB1dEVsZW1lbnQubXVsdGlwbGU9ITAsdGhpcy5mb2xkZXJJbnB1dEVsZW1lbnQud2Via2l0ZGlyZWN0b3J5PSEwLHRoaXMuZm9sZGVySW5wdXRFbGVtZW50LnN0eWxlLmRpc3BsYXk9Im5vbmUiLHRoaXMuc2hhZG93Um9vdC5hcHBlbmRDaGlsZCh0aGlzLmZvbGRlcklucHV0RWxlbWVudCkpfXRyaWdnZXJGaWxlVXBsb2FkKHhlLG5lKXt0aGlzLmVuc3VyZUZpbGVJbnB1dHMoKTtsZXQgX2U9bmU9PT0iZm9sZGVyIj90aGlzLmZvbGRlcklucHV0RWxlbWVudDp0aGlzLmZpbGVJbnB1dEVsZW1lbnQ7X2UudmFsdWU9IiI7bGV0IFVlPXMoYXN5bmMoKT0+e19lLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsVWUpLF9lLmZpbGVzJiZfZS5maWxlcy5sZW5ndGg+MCYmYXdhaXQgdGhpcy51cGxvYWRGaWxlcyhBcnJheS5mcm9tKF9lLmZpbGVzKSx4ZSl9LCJoYW5kbGVyIik7X2UuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIixVZSksX2UuY2xpY2soKX1hc3luYyB1cGxvYWRGaWxlcyh4ZSxuZSl7aWYodGhpcy5kYXRhUHJvdmlkZXIpe3RoaXMudXBsb2FkaW5nPSEwLHRoaXMudXBsb2FkUHJvZ3Jlc3M9e2N1cnJlbnQ6MCx0b3RhbDp4ZS5sZW5ndGh9O2ZvcihsZXQgX2U9MDtfZTx4ZS5sZW5ndGg7X2UrKyl7bGV0IFVlPXhlW19lXTt0aGlzLnVwbG9hZFByb2dyZXNzPXtjdXJyZW50Ol9lKzEsdG90YWw6eGUubGVuZ3RofTt0cnl7bGV0IGt0PWF3YWl0IHRoaXMucmVhZEZpbGVBc0Jhc2U2NChVZSkseXM9VWUud2Via2l0UmVsYXRpdmVQYXRofHxVZS5uYW1lLHFyPW5lK3lzLFJpPVVlLnR5cGV8fFI0KFVlLm5hbWUuc3BsaXQoIi4iKS5wb3AoKT8udG9Mb3dlckNhc2UoKXx8IiIpO2F3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLnB1dE9iamVjdCh0aGlzLmJ1Y2tldE5hbWUscXIsa3QsUmkpfWNhdGNoKGt0KXtjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gdXBsb2FkICR7VWUubmFtZX06YCxrdCl9fXRoaXMudXBsb2FkaW5nPSExLHRoaXMudXBsb2FkUHJvZ3Jlc3M9bnVsbCxhd2FpdCB0aGlzLnJlZnJlc2hDb2x1bW5CeVByZWZpeChuZSl9fWFzeW5jIHVwbG9hZEZpbGVzV2l0aFBhdGhzKHhlLG5lKXtpZih0aGlzLmRhdGFQcm92aWRlcil7dGhpcy51cGxvYWRpbmc9ITAsdGhpcy51cGxvYWRQcm9ncmVzcz17Y3VycmVudDowLHRvdGFsOnhlLmxlbmd0aH07Zm9yKGxldCBfZT0wO19lPHhlLmxlbmd0aDtfZSsrKXtsZXR7ZmlsZTpVZSxyZWxhdGl2ZVBhdGg6a3R9PXhlW19lXTt0aGlzLnVwbG9hZFByb2dyZXNzPXtjdXJyZW50Ol9lKzEsdG90YWw6eGUubGVuZ3RofTt0cnl7bGV0IHlzPWF3YWl0IHRoaXMucmVhZEZpbGVBc0Jhc2U2NChVZSkscXI9bmUra3QsUmk9VWUudHlwZXx8UjQoVWUubmFtZS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpfHwiIik7YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIucHV0T2JqZWN0KHRoaXMuYnVja2V0TmFtZSxxcix5cyxSaSl9Y2F0Y2goeXMpe2NvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byB1cGxvYWQgJHtrdH06YCx5cyl9fXRoaXMudXBsb2FkaW5nPSExLHRoaXMudXBsb2FkUHJvZ3Jlc3M9bnVsbCxhd2FpdCB0aGlzLnJlZnJlc2hDb2x1bW5CeVByZWZpeChuZSl9fXJlYWRGaWxlQXNCYXNlNjQoeGUpe3JldHVybiBuZXcgUHJvbWlzZSgobmUsX2UpPT57bGV0IFVlPW5ldyBGaWxlUmVhZGVyO1VlLm9ubG9hZD0oKT0+e2xldCBrdD1VZS5yZXN1bHQ7bmUoa3Quc3BsaXQoIiwiKVsxXXx8IiIpfSxVZS5vbmVycm9yPSgpPT5fZShVZS5lcnJvciksVWUucmVhZEFzRGF0YVVSTCh4ZSl9KX1hc3luYyByZWZyZXNoQ29sdW1uQnlQcmVmaXgoeGUpe2lmKCF0aGlzLmRhdGFQcm92aWRlcilyZXR1cm47bGV0IG5lPXRoaXMuY29sdW1ucy5maW5kSW5kZXgoX2U9Pl9lLnByZWZpeD09PXhlKTtpZihuZT09PS0xKXthd2FpdCB0aGlzLnJlZnJlc2hBbGxDb2x1bW5zKCk7cmV0dXJufXRyeXtsZXQgX2U9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubGlzdE9iamVjdHModGhpcy5idWNrZXROYW1lLHhlLCIvIik7dGhpcy5jb2x1bW5zPXRoaXMuY29sdW1ucy5tYXAoKFVlLGt0KT0+a3Q9PT1uZT97Li4uVWUsb2JqZWN0czpfZS5vYmplY3RzLHByZWZpeGVzOl9lLnByZWZpeGVzfTpVZSl9Y2F0Y2h7YXdhaXQgdGhpcy5yZWZyZXNoQWxsQ29sdW1ucygpfX1oYW5kbGVDb2x1bW5EcmFnRW50ZXIoeGUsbmUpe3hlLnByZXZlbnREZWZhdWx0KCkseGUuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IF9lPSh0aGlzLmRyYWdDb3VudGVycy5nZXQobmUpfHwwKSsxO3RoaXMuZHJhZ0NvdW50ZXJzLnNldChuZSxfZSksdGhpcy5kcmFnT3ZlckNvbHVtbkluZGV4PW5lfWhhbmRsZUNvbHVtbkRyYWdPdmVyKHhlKXt4ZS5wcmV2ZW50RGVmYXVsdCgpLHhlLnN0b3BQcm9wYWdhdGlvbigpLHhlLmRhdGFUcmFuc2ZlciYmKHhlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PXRoaXMuZHJhZ2dlZEl0ZW0/Im1vdmUiOiJjb3B5Iil9aGFuZGxlQ29sdW1uRHJhZ0xlYXZlKHhlLG5lKXt4ZS5zdG9wUHJvcGFnYXRpb24oKTtsZXQgX2U9KHRoaXMuZHJhZ0NvdW50ZXJzLmdldChuZSl8fDEpLTE7dGhpcy5kcmFnQ291bnRlcnMuc2V0KG5lLF9lKSxfZTw9MCYmKHRoaXMuZHJhZ0NvdW50ZXJzLmRlbGV0ZShuZSksdGhpcy5kcmFnT3ZlckNvbHVtbkluZGV4PT09bmUmJih0aGlzLmRyYWdPdmVyQ29sdW1uSW5kZXg9LTEpLHRoaXMuY2xlYXJGb2xkZXJIb3ZlcigpKX1hc3luYyBoYW5kbGVDb2x1bW5Ecm9wKHhlLG5lKXt4ZS5wcmV2ZW50RGVmYXVsdCgpLHhlLnN0b3BQcm9wYWdhdGlvbigpO2xldCBfZT10aGlzLmRyYWdPdmVyRm9sZGVyUHJlZml4Pz90aGlzLmNvbHVtbnNbbmVdLnByZWZpeDtpZih0aGlzLmRyYWdnZWRJdGVtKXt0aGlzLmluaXRpYXRlTW92ZSh0aGlzLmRyYWdnZWRJdGVtLmtleSx0aGlzLmRyYWdnZWRJdGVtLmlzRm9sZGVyLF9lKSx0aGlzLmRyYWdnZWRJdGVtPW51bGwsdGhpcy5jbGVhckZvbGRlckhvdmVyKCksdGhpcy5kcmFnQ291bnRlcnMuY2xlYXIoKSx0aGlzLmRyYWdPdmVyQ29sdW1uSW5kZXg9LTE7cmV0dXJufXRoaXMuZHJhZ0NvdW50ZXJzLmNsZWFyKCksdGhpcy5kcmFnT3ZlckNvbHVtbkluZGV4PS0xO2xldCBVZT14ZS5kYXRhVHJhbnNmZXI/Lml0ZW1zO2lmKCFVZXx8VWUubGVuZ3RoPT09MClyZXR1cm47dGhpcy5jbGVhckZvbGRlckhvdmVyKCk7bGV0IGt0PVtdLHlzPXMoYXN5bmMocXIsUmkpPT57aWYocXIuaXNGaWxlKXtsZXQgS249cXIsczI9YXdhaXQgbmV3IFByb21pc2UoKGdsLFpuKT0+e0tuLmZpbGUoZ2wsWm4pfSk7a3QucHVzaCh7ZmlsZTpzMixyZWxhdGl2ZVBhdGg6UmkrczIubmFtZX0pfWVsc2UgaWYocXIuaXNEaXJlY3Rvcnkpe2xldCBzMj1xci5jcmVhdGVSZWFkZXIoKSxnbD1hd2FpdCBuZXcgUHJvbWlzZSgoWm4sUTQpPT57czIucmVhZEVudHJpZXMoWm4sUTQpfSk7Zm9yKGxldCBabiBvZiBnbClhd2FpdCB5cyhabixSaStxci5uYW1lKyIvIil9fSwicHJvY2Vzc0VudHJ5Iik7Zm9yKGxldCBxcj0wO3FyPFVlLmxlbmd0aDtxcisrKXtsZXQgUmk9VWVbcXJdO2lmKFJpLmtpbmQ9PT0iZmlsZSIpe2xldCBLbj1SaS53ZWJraXRHZXRBc0VudHJ5KCk7S24mJmF3YWl0IHlzKEtuLCIiKX19a3QubGVuZ3RoPjAmJmF3YWl0IHRoaXMudXBsb2FkRmlsZXNXaXRoUGF0aHMoa3QsX2UpfWhhbmRsZUZvbGRlckRyYWdFbnRlcih4ZSxuZSl7eGUuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5jbGVhckZvbGRlckhvdmVyKCksdGhpcy5mb2xkZXJIb3ZlclRpbWVyPXNldFRpbWVvdXQoKCk9Pnt0aGlzLmRyYWdPdmVyRm9sZGVyUHJlZml4PW5lfSw1MDApfWhhbmRsZUZvbGRlckRyYWdMZWF2ZSh4ZSxuZSl7eGUuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IF9lPXhlLmN1cnJlbnRUYXJnZXQsVWU9eGUucmVsYXRlZFRhcmdldDtVZSYmX2UuY29udGFpbnMoVWUpfHwodGhpcy5kcmFnT3ZlckZvbGRlclByZWZpeD09PW5lJiYodGhpcy5kcmFnT3ZlckZvbGRlclByZWZpeD1udWxsKSx0aGlzLmZvbGRlckhvdmVyVGltZXImJihjbGVhclRpbWVvdXQodGhpcy5mb2xkZXJIb3ZlclRpbWVyKSx0aGlzLmZvbGRlckhvdmVyVGltZXI9bnVsbCkpfWhhbmRsZUZvbGRlckRyYWdPdmVyKHhlKXt4ZS5wcmV2ZW50RGVmYXVsdCgpLHhlLnN0b3BQcm9wYWdhdGlvbigpLHhlLmRhdGFUcmFuc2ZlciYmKHhlLmRhdGFUcmFuc2Zlci5kcm9wRWZmZWN0PXRoaXMuZHJhZ2dlZEl0ZW0/Im1vdmUiOiJjb3B5Iil9Y2xlYXJGb2xkZXJIb3Zlcigpe3RoaXMuZm9sZGVySG92ZXJUaW1lciYmKGNsZWFyVGltZW91dCh0aGlzLmZvbGRlckhvdmVyVGltZXIpLHRoaXMuZm9sZGVySG92ZXJUaW1lcj1udWxsKSx0aGlzLmRyYWdPdmVyRm9sZGVyUHJlZml4PW51bGx9aGFuZGxlSXRlbURyYWdTdGFydCh4ZSxuZSxfZSl7dGhpcy5kcmFnZ2VkSXRlbT17a2V5Om5lLGlzRm9sZGVyOl9lfSx4ZS5kYXRhVHJhbnNmZXI/LnNldERhdGEoInRleHQvcGxhaW4iLG5lKSx4ZS5kYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZD0iY29weU1vdmUiLHhlLnRhcmdldC5jbGFzc0xpc3QuYWRkKCJkcmFnZ2luZyIpfWhhbmRsZUl0ZW1EcmFnRW5kKHhlKXt0aGlzLmRyYWdnZWRJdGVtPW51bGwseGUudGFyZ2V0LmNsYXNzTGlzdC5yZW1vdmUoImRyYWdnaW5nIil9YXN5bmMgb3Blbk1vdmVQaWNrZXJEaWFsb2coeGUsbmUpe3RoaXMubW92ZVBpY2tlclNvdXJjZT17a2V5OnhlLGlzRm9sZGVyOm5lfSx0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4PSIiLHRoaXMuc2hvd01vdmVQaWNrZXJEaWFsb2c9ITAsYXdhaXQgdGhpcy5sb2FkTW92ZVBpY2tlclByZWZpeGVzKCIiKX1hc3luYyBuYXZpZ2F0ZU1vdmVQaWNrZXIoeGUpe3RoaXMubW92ZVBpY2tlckN1cnJlbnRQcmVmaXg9eGUsYXdhaXQgdGhpcy5sb2FkTW92ZVBpY2tlclByZWZpeGVzKHhlKX1hc3luYyBsb2FkTW92ZVBpY2tlclByZWZpeGVzKHhlKXtpZih0aGlzLmRhdGFQcm92aWRlcil7dGhpcy5tb3ZlUGlja2VyTG9hZGluZz0hMDt0cnl7bGV0IG5lPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmxpc3RPYmplY3RzKHRoaXMuYnVja2V0TmFtZSx4ZSwiLyIpO3RoaXMubW92ZVBpY2tlclByZWZpeGVzPW5lLnByZWZpeGVzfWNhdGNoe3RoaXMubW92ZVBpY2tlclByZWZpeGVzPVtdfXRoaXMubW92ZVBpY2tlckxvYWRpbmc9ITF9fXNlbGVjdE1vdmVEZXN0aW5hdGlvbih4ZSl7dGhpcy5tb3ZlUGlja2VyU291cmNlJiYodGhpcy5jbG9zZU1vdmVQaWNrZXJEaWFsb2coKSx0aGlzLmluaXRpYXRlTW92ZSh0aGlzLm1vdmVQaWNrZXJTb3VyY2Uua2V5LHRoaXMubW92ZVBpY2tlclNvdXJjZS5pc0ZvbGRlcix4ZSkpfWNsb3NlTW92ZVBpY2tlckRpYWxvZygpe3RoaXMuc2hvd01vdmVQaWNrZXJEaWFsb2c9ITEsdGhpcy5tb3ZlUGlja2VyU291cmNlPW51bGwsdGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeD0iIix0aGlzLm1vdmVQaWNrZXJQcmVmaXhlcz1bXX1pbml0aWF0ZU1vdmUoeGUsbmUsX2Upe2xldCBVZT1abSh4ZSxfZSk7aWYoIVVlLnZhbGlkKXt0aGlzLm1vdmVTb3VyY2U9e2tleTp4ZSxpc0ZvbGRlcjpuZX0sdGhpcy5tb3ZlRGVzdGluYXRpb249X2UsdGhpcy5tb3ZlRXJyb3I9VWUuZXJyb3IsdGhpcy5zaG93TW92ZURpYWxvZz0hMDtyZXR1cm59dGhpcy5tb3ZlU291cmNlPXtrZXk6eGUsaXNGb2xkZXI6bmV9LHRoaXMubW92ZURlc3RpbmF0aW9uPV9lLHRoaXMubW92ZUVycm9yPW51bGwsdGhpcy5zaG93TW92ZURpYWxvZz0hMH1hc3luYyBleGVjdXRlTW92ZSgpe2lmKCEoIXRoaXMubW92ZVNvdXJjZXx8IXRoaXMuZGF0YVByb3ZpZGVyKSl7dGhpcy5tb3ZlSW5Qcm9ncmVzcz0hMDt0cnl7bGV0IHhlPW1hKHRoaXMubW92ZVNvdXJjZS5rZXkpLG5lPXRoaXMubW92ZURlc3RpbmF0aW9uK3hlKyh0aGlzLm1vdmVTb3VyY2UuaXNGb2xkZXI/Ii8iOiIiKSxfZTt0aGlzLm1vdmVTb3VyY2UuaXNGb2xkZXI/X2U9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubW92ZVByZWZpeCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5tb3ZlU291cmNlLmtleSxuZSk6X2U9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubW92ZU9iamVjdCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5tb3ZlU291cmNlLmtleSxuZSksX2Uuc3VjY2Vzcz8odGhpcy5jbG9zZU1vdmVEaWFsb2coKSxhd2FpdCB0aGlzLnJlZnJlc2hBbGxDb2x1bW5zKCkpOnRoaXMubW92ZUVycm9yPV9lLmVycm9yfHwiTW92ZSBvcGVyYXRpb24gZmFpbGVkIn1jYXRjaCh4ZSl7dGhpcy5tb3ZlRXJyb3I9YEVycm9yOiAke3hlfWB9dGhpcy5tb3ZlSW5Qcm9ncmVzcz0hMX19Y2xvc2VNb3ZlRGlhbG9nKCl7dGhpcy5zaG93TW92ZURpYWxvZz0hMSx0aGlzLm1vdmVTb3VyY2U9bnVsbCx0aGlzLm1vdmVEZXN0aW5hdGlvbj0iIix0aGlzLm1vdmVFcnJvcj1udWxsLHRoaXMubW92ZUluUHJvZ3Jlc3M9ITF9b3BlblJlbmFtZURpYWxvZyh4ZSxuZSl7dGhpcy5yZW5hbWVTb3VyY2U9e2tleTp4ZSxpc0ZvbGRlcjpuZX0sdGhpcy5yZW5hbWVOYW1lPW1hKHhlKSx0aGlzLnJlbmFtZUVycm9yPW51bGwsdGhpcy5zaG93UmVuYW1lRGlhbG9nPSEwLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+e2xldCBfZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5yZW5hbWUtZGlhbG9nLWlucHV0Iik7aWYoX2UpaWYoX2UuZm9jdXMoKSxuZSlfZS5zZWxlY3QoKTtlbHNle2xldCBVZT10aGlzLnJlbmFtZU5hbWUubGFzdEluZGV4T2YoIi4iKTtVZT4wP19lLnNldFNlbGVjdGlvblJhbmdlKDAsVWUpOl9lLnNlbGVjdCgpfX0pfWFzeW5jIGV4ZWN1dGVSZW5hbWUoKXtpZighdGhpcy5yZW5hbWVTb3VyY2V8fCF0aGlzLnJlbmFtZU5hbWUudHJpbSgpfHwhdGhpcy5kYXRhUHJvdmlkZXIpcmV0dXJuO2xldCB4ZT10aGlzLnJlbmFtZU5hbWUudHJpbSgpLG5lPW1hKHRoaXMucmVuYW1lU291cmNlLmtleSk7aWYoeGU9PT1uZSl7dGhpcy5yZW5hbWVFcnJvcj0iTmFtZSBpcyB0aGUgc2FtZSBhcyBjdXJyZW50IjtyZXR1cm59aWYoIXhlKXt0aGlzLnJlbmFtZUVycm9yPSJOYW1lIGNhbm5vdCBiZSBlbXB0eSI7cmV0dXJufWlmKHhlLmluY2x1ZGVzKCIvIikpe3RoaXMucmVuYW1lRXJyb3I9J05hbWUgY2Fubm90IGNvbnRhaW4gIi8iJztyZXR1cm59dGhpcy5yZW5hbWVJblByb2dyZXNzPSEwLHRoaXMucmVuYW1lRXJyb3I9bnVsbDt0cnl7bGV0IFVlPVYxKHRoaXMucmVuYW1lU291cmNlLmtleSkreGUrKHRoaXMucmVuYW1lU291cmNlLmlzRm9sZGVyPyIvIjoiIiksa3Q7dGhpcy5yZW5hbWVTb3VyY2UuaXNGb2xkZXI/a3Q9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubW92ZVByZWZpeCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5yZW5hbWVTb3VyY2Uua2V5LFVlKTprdD1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5tb3ZlT2JqZWN0KHRoaXMuYnVja2V0TmFtZSx0aGlzLnJlbmFtZVNvdXJjZS5rZXksVWUpLGt0LnN1Y2Nlc3M/KHRoaXMuY2xvc2VSZW5hbWVEaWFsb2coKSxhd2FpdCB0aGlzLnJlZnJlc2hBbGxDb2x1bW5zKCkpOnRoaXMucmVuYW1lRXJyb3I9a3QuZXJyb3J8fCJSZW5hbWUgZmFpbGVkIn1jYXRjaChfZSl7dGhpcy5yZW5hbWVFcnJvcj1gRXJyb3I6ICR7X2V9YH10aGlzLnJlbmFtZUluUHJvZ3Jlc3M9ITF9Y2xvc2VSZW5hbWVEaWFsb2coKXt0aGlzLnNob3dSZW5hbWVEaWFsb2c9ITEsdGhpcy5yZW5hbWVTb3VyY2U9bnVsbCx0aGlzLnJlbmFtZU5hbWU9IiIsdGhpcy5yZW5hbWVFcnJvcj1udWxsLHRoaXMucmVuYW1lSW5Qcm9ncmVzcz0hMX1yZW5kZXJSZW5hbWVEaWFsb2coKXtpZighdGhpcy5zaG93UmVuYW1lRGlhbG9nfHwhdGhpcy5yZW5hbWVTb3VyY2UpcmV0dXJuIiI7bGV0IHhlPXRoaXMucmVuYW1lU291cmNlLmlzRm9sZGVyO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctb3ZlcmxheSIgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VSZW5hbWVEaWFsb2coKX0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nIiBAY2xpY2s9JHtfZT0+X2Uuc3RvcFByb3BhZ2F0aW9uKCl9PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLXRpdGxlIj4ke3hlPyJSZW5hbWUgRm9sZGVyIjoiUmVuYW1lIEZpbGUifTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWxvY2F0aW9uIj4KICAgICAgICAgICAgTG9jYXRpb246ICR7dGhpcy5idWNrZXROYW1lfS8ke1YxKHRoaXMucmVuYW1lU291cmNlLmtleSl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7dGhpcy5yZW5hbWVFcnJvcj93YDxkaXYgY2xhc3M9Im1vdmUtZXJyb3IiPiR7dGhpcy5yZW5hbWVFcnJvcn08L2Rpdj5gOiIifQogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgIGNsYXNzPSJkaWFsb2ctaW5wdXQgcmVuYW1lLWRpYWxvZy1pbnB1dCIKICAgICAgICAgICAgcGxhY2Vob2xkZXI9JHt4ZT8iZm9sZGVyLW5hbWUiOiJmaWxlbmFtZS5leHQifQogICAgICAgICAgICAudmFsdWU9JHt0aGlzLnJlbmFtZU5hbWV9CiAgICAgICAgICAgIEBpbnB1dD0ke19lPT57dGhpcy5yZW5hbWVOYW1lPV9lLnRhcmdldC52YWx1ZSx0aGlzLnJlbmFtZUVycm9yPW51bGx9fQogICAgICAgICAgICBAa2V5ZG93bj0ke19lPT57X2Uua2V5PT09IkVudGVyIiYmdGhpcy5leGVjdXRlUmVuYW1lKCksX2Uua2V5PT09IkVzY2FwZSImJnRoaXMuY2xvc2VSZW5hbWVEaWFsb2coKX19CiAgICAgICAgICAvPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY2FuY2VsIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmNsb3NlUmVuYW1lRGlhbG9nKCl9CiAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5yZW5hbWVJblByb2dyZXNzfT5DYW5jZWw8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5leGVjdXRlUmVuYW1lKCl9CiAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5yZW5hbWVJblByb2dyZXNzfHwhdGhpcy5yZW5hbWVOYW1lLnRyaW0oKX0+CiAgICAgICAgICAgICAgJHt0aGlzLnJlbmFtZUluUHJvZ3Jlc3M/IlJlbmFtaW5nLi4uIjoiUmVuYW1lIn0KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlck1vdmVEaWFsb2coKXtpZighdGhpcy5zaG93TW92ZURpYWxvZ3x8IXRoaXMubW92ZVNvdXJjZSlyZXR1cm4iIjtsZXQgeGU9bWEodGhpcy5tb3ZlU291cmNlLmtleSk7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1vdmVybGF5IiBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZU1vdmVEaWFsb2coKX0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nIiBAY2xpY2s9JHtuZT0+bmUuc3RvcFByb3BhZ2F0aW9uKCl9PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLXRpdGxlIj5Nb3ZlICR7dGhpcy5tb3ZlU291cmNlLmlzRm9sZGVyPyJGb2xkZXIiOiJGaWxlIn08L2Rpdj4KCiAgICAgICAgICAke3RoaXMubW92ZUVycm9yP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vdmUtZXJyb3IiPiR7dGhpcy5tb3ZlRXJyb3J9PC9kaXY+CiAgICAgICAgICBgOndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1vdmUtc3VtbWFyeSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW92ZS1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtb3ZlLWxhYmVsIj5Gcm9tOjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtb3ZlLXBhdGgiPiR7dGhpcy5tb3ZlU291cmNlLmtleX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW92ZS1pdGVtIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtb3ZlLWxhYmVsIj5Ubzo8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibW92ZS1wYXRoIj4ke3RoaXMubW92ZURlc3RpbmF0aW9ufSR7eGV9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9CgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY2FuY2VsIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmNsb3NlTW92ZURpYWxvZygpfQogICAgICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMubW92ZUluUHJvZ3Jlc3N9PgogICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgJHt0aGlzLm1vdmVFcnJvcj8iIjp3YAogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRpYWxvZy1idG4gZGlhbG9nLWJ0bi1jcmVhdGUiCiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5leGVjdXRlTW92ZSgpfQogICAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5tb3ZlSW5Qcm9ncmVzc30+CiAgICAgICAgICAgICAgICAke3RoaXMubW92ZUluUHJvZ3Jlc3M/Ik1vdmluZy4uLiI6Ik1vdmUifQogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICBgfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJNb3ZlUGlja2VyRGlhbG9nKCl7aWYoIXRoaXMuc2hvd01vdmVQaWNrZXJEaWFsb2d8fCF0aGlzLm1vdmVQaWNrZXJTb3VyY2UpcmV0dXJuIiI7bGV0IHhlPW1hKHRoaXMubW92ZVBpY2tlclNvdXJjZS5rZXkpLG5lPVYxKHRoaXMubW92ZVBpY2tlclNvdXJjZS5rZXkpO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctb3ZlcmxheSIgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VNb3ZlUGlja2VyRGlhbG9nKCl9PgogICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZyBtb3ZlLXBpY2tlci1kaWFsb2ciIEBjbGljaz0ke19lPT5fZS5zdG9wUHJvcGFnYXRpb24oKX0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctdGl0bGUiPk1vdmUgIiR7eGV9IiB0by4uLjwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InBpY2tlci1icmVhZGNydW1iIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBpY2tlci1jcnVtYiIgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVNb3ZlUGlja2VyKCIiKX0+CiAgICAgICAgICAgICAgJHt0aGlzLmJ1Y2tldE5hbWV9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgJHtnNSh0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4KS5tYXAoX2U9PndgCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBpY2tlci1zZXBhcmF0b3IiPi88L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBpY2tlci1jcnVtYiIgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVNb3ZlUGlja2VyKF9lKX0+CiAgICAgICAgICAgICAgICAke21hKF9lKX0KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0icGlja2VyLWxpc3QiPgogICAgICAgICAgICAke3RoaXMubW92ZVBpY2tlckxvYWRpbmc/d2A8ZGl2IGNsYXNzPSJwaWNrZXItZW1wdHkiPkxvYWRpbmcuLi48L2Rpdj5gOiIifQogICAgICAgICAgICAkeyF0aGlzLm1vdmVQaWNrZXJMb2FkaW5nJiZ0aGlzLm1vdmVQaWNrZXJQcmVmaXhlcy5maWx0ZXIoX2U9Pl9lIT09dGhpcy5tb3ZlUGlja2VyU291cmNlLmtleSkubGVuZ3RoPT09MD93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpY2tlci1lbXB0eSI+Tm8gc3ViZm9sZGVyczwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgICAke3RoaXMubW92ZVBpY2tlclByZWZpeGVzLmZpbHRlcihfZT0+X2UhPT10aGlzLm1vdmVQaWNrZXJTb3VyY2Uua2V5KS5tYXAoX2U9PndgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWNrZXItaXRlbSIKICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVNb3ZlUGlja2VyKF9lKX0KICAgICAgICAgICAgICAgICAgICAgQGRibGNsaWNrPSR7KCk9PnRoaXMuc2VsZWN0TW92ZURlc3RpbmF0aW9uKF9lKX0+CiAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Imljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnoiLz4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJuYW1lIj4ke21hKF9lKX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1hY3Rpb25zIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNhbmNlbCIgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VNb3ZlUGlja2VyRGlhbG9nKCl9PgogICAgICAgICAgICAgIENhbmNlbAogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RNb3ZlRGVzdGluYXRpb24odGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeCl9CiAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeD09PW5lfT4KICAgICAgICAgICAgICBNb3ZlIEhlcmUKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGhhbmRsZUNyZWF0ZSgpe2lmKCF0aGlzLmNyZWF0ZURpYWxvZ05hbWUudHJpbSgpfHwhdGhpcy5kYXRhUHJvdmlkZXIpcmV0dXJuO2xldCB4ZT10aGlzLmNyZWF0ZURpYWxvZ05hbWUudHJpbSgpLG5lO3RoaXMuY3JlYXRlRGlhbG9nVHlwZT09PSJmb2xkZXIiP25lPXRoaXMuY3JlYXRlRGlhbG9nUHJlZml4K3hlKyIvLmtlZXAiOm5lPXRoaXMuY3JlYXRlRGlhbG9nUHJlZml4K3hlO2xldCBfZT14ZS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpfHwiIixVZT10aGlzLmNyZWF0ZURpYWxvZ1R5cGU9PT0iZmlsZSI/UjQoX2UpOiJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iLGt0PXRoaXMuY3JlYXRlRGlhbG9nVHlwZT09PSJmaWxlIj9YbShfZSk6IiI7YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIucHV0T2JqZWN0KHRoaXMuYnVja2V0TmFtZSxuZSxidG9hKGt0KSxVZSkmJih0aGlzLnNob3dDcmVhdGVEaWFsb2c9ITEsYXdhaXQgdGhpcy5yZWZyZXNoQ29sdW1uQnlQcmVmaXgodGhpcy5jcmVhdGVEaWFsb2dQcmVmaXgpKX1yZW5kZXJDcmVhdGVEaWFsb2coKXtpZighdGhpcy5zaG93Q3JlYXRlRGlhbG9nKXJldHVybiIiO2xldCB4ZT10aGlzLmNyZWF0ZURpYWxvZ1R5cGU9PT0iZm9sZGVyIixuZT14ZT8iQ3JlYXRlIE5ldyBGb2xkZXIiOiJDcmVhdGUgTmV3IEZpbGUiLF9lPXhlPyJmb2xkZXItbmFtZSBvciBwYXRoL3RvL2ZvbGRlciI6ImZpbGVuYW1lLnR4dCBvciBwYXRoL3RvL2ZpbGUudHh0IjtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLW92ZXJsYXkiIEBjbGljaz0keygpPT50aGlzLnNob3dDcmVhdGVEaWFsb2c9ITF9PgogICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZyIgQGNsaWNrPSR7VWU9PlVlLnN0b3BQcm9wYWdhdGlvbigpfT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy10aXRsZSI+JHtuZX08L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1sb2NhdGlvbiI+CiAgICAgICAgICAgIExvY2F0aW9uOiAke3RoaXMuYnVja2V0TmFtZX0vJHt0aGlzLmNyZWF0ZURpYWxvZ1ByZWZpeH0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgIGNsYXNzPSJkaWFsb2ctaW5wdXQiCiAgICAgICAgICAgIHBsYWNlaG9sZGVyPSR7X2V9CiAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuY3JlYXRlRGlhbG9nTmFtZX0KICAgICAgICAgICAgQGlucHV0PSR7VWU9PnRoaXMuY3JlYXRlRGlhbG9nTmFtZT1VZS50YXJnZXQudmFsdWV9CiAgICAgICAgICAgIEBrZXlkb3duPSR7VWU9PlVlLmtleT09PSJFbnRlciImJnRoaXMuaGFuZGxlQ3JlYXRlKCl9CiAgICAgICAgICAvPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWhpbnQiPgogICAgICAgICAgICBVc2UgIi8iIHRvIGNyZWF0ZSBuZXN0ZWQgJHt4ZT8iZm9sZGVycyI6InBhdGgifSAoZS5nLiwgJHt4ZT8icGFyZW50L2NoaWxkIjoiZm9sZGVyL2ZpbGUudHh0In0pCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1hY3Rpb25zIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNhbmNlbCIgQGNsaWNrPSR7KCk9PnRoaXMuc2hvd0NyZWF0ZURpYWxvZz0hMX0+CiAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgY2xhc3M9ImRpYWxvZy1idG4gZGlhbG9nLWJ0bi1jcmVhdGUiCiAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7IXRoaXMuY3JlYXRlRGlhbG9nTmFtZS50cmltKCl9CiAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ3JlYXRlKCl9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICBDcmVhdGUKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlcigpe3JldHVybiB0aGlzLmxvYWRpbmcmJnRoaXMuY29sdW1ucy5sZW5ndGg9PT0wP3dgPGRpdiBjbGFzcz0ibG9hZGluZyI+TG9hZGluZy4uLjwvZGl2PmA6d2AKICAgICAgPGRpdiBjbGFzcz0iY29sdW1ucy1jb250YWluZXIiPgogICAgICAgICR7dGhpcy5jb2x1bW5zLm1hcCgoeGUsbmUpPT50aGlzLnJlbmRlckNvbHVtbldyYXBwZXIoeGUsbmUpKX0KICAgICAgPC9kaXY+CiAgICAgICR7dGhpcy5yZW5kZXJDcmVhdGVEaWFsb2coKX0KICAgICAgJHt0aGlzLnJlbmRlck1vdmVEaWFsb2coKX0KICAgICAgJHt0aGlzLnJlbmRlck1vdmVQaWNrZXJEaWFsb2coKX0KICAgICAgJHt0aGlzLnJlbmRlclJlbmFtZURpYWxvZygpfQogICAgYH1yZW5kZXJDb2x1bW5XcmFwcGVyKHhlLG5lKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iY29sdW1uLXdyYXBwZXIiPgogICAgICAgICR7dGhpcy5yZW5kZXJDb2x1bW4oeGUsbmUpfQogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJyZXNpemUtaGFuZGxlICR7dGhpcy5yZXNpemluZz8uY29sdW1uSW5kZXg9PT1uZT8iYWN0aXZlIjoiIn0iCiAgICAgICAgICBAbW91c2Vkb3duPSR7X2U9PnRoaXMuc3RhcnRSZXNpemUoX2UsbmUpfQogICAgICAgID48L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckNvbHVtbih4ZSxuZSl7bGV0IF9lPXhlLnByZWZpeD9tYSh4ZS5wcmVmaXgpOnRoaXMuYnVja2V0TmFtZTtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJjb2x1bW4gJHt0aGlzLmRyYWdPdmVyQ29sdW1uSW5kZXg9PT1uZT8iZHJhZy1vdmVyIjoiIn0iCiAgICAgICAgc3R5bGU9IndpZHRoOiAke3hlLndpZHRofXB4IgogICAgICAgIEBkcmFnZW50ZXI9JHtVZT0+dGhpcy5oYW5kbGVDb2x1bW5EcmFnRW50ZXIoVWUsbmUpfQogICAgICAgIEBkcmFnb3Zlcj0ke1VlPT50aGlzLmhhbmRsZUNvbHVtbkRyYWdPdmVyKFVlKX0KICAgICAgICBAZHJhZ2xlYXZlPSR7VWU9PnRoaXMuaGFuZGxlQ29sdW1uRHJhZ0xlYXZlKFVlLG5lKX0KICAgICAgICBAZHJvcD0ke1VlPT50aGlzLmhhbmRsZUNvbHVtbkRyb3AoVWUsbmUpfQogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0iY29sdW1uLWhlYWRlciIgdGl0bGU9JHt4ZS5wcmVmaXh8fHRoaXMuYnVja2V0TmFtZX0+CiAgICAgICAgICAke19lfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImNvbHVtbi1pdGVtcyIgQGNvbnRleHRtZW51PSR7VWU9PnRoaXMuaGFuZGxlRW1wdHlTcGFjZUNvbnRleHRNZW51KFVlLG5lKX0+CiAgICAgICAgICAke3hlLnByZWZpeGVzLmxlbmd0aD09PTAmJnhlLm9iamVjdHMubGVuZ3RoPT09MD93YDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5FbXB0eSBmb2xkZXI8L2Rpdj5gOiIifQogICAgICAgICAgJHt4ZS5wcmVmaXhlcy5tYXAoVWU9PndgCiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9ImNvbHVtbi1pdGVtIGZvbGRlciAke3hlLnNlbGVjdGVkSXRlbT09PVVlPyJzZWxlY3RlZCI6IiJ9ICR7dGhpcy5kcmFnT3ZlckZvbGRlclByZWZpeD09PVVlPyJkcmFnLXRhcmdldCI6IiJ9IgogICAgICAgICAgICAgICAgZHJhZ2dhYmxlPSJ0cnVlIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2VsZWN0Rm9sZGVyKG5lLFVlKX0KICAgICAgICAgICAgICAgIEBjb250ZXh0bWVudT0ke2t0PT50aGlzLmhhbmRsZUZvbGRlckNvbnRleHRNZW51KGt0LG5lLFVlKX0KICAgICAgICAgICAgICAgIEBkcmFnc3RhcnQ9JHtrdD0+dGhpcy5oYW5kbGVJdGVtRHJhZ1N0YXJ0KGt0LFVlLCEwKX0KICAgICAgICAgICAgICAgIEBkcmFnZW5kPSR7a3Q9PnRoaXMuaGFuZGxlSXRlbURyYWdFbmQoa3QpfQogICAgICAgICAgICAgICAgQGRyYWdlbnRlcj0ke2t0PT50aGlzLmhhbmRsZUZvbGRlckRyYWdFbnRlcihrdCxVZSl9CiAgICAgICAgICAgICAgICBAZHJhZ292ZXI9JHtrdD0+dGhpcy5oYW5kbGVGb2xkZXJEcmFnT3ZlcihrdCl9CiAgICAgICAgICAgICAgICBAZHJhZ2xlYXZlPSR7a3Q9PnRoaXMuaGFuZGxlRm9sZGVyRHJhZ0xlYXZlKGt0LFVlKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMiAxOWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNWwyIDNoOWEyIDIgMCAwIDEgMiAyeiIgLz4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hbWUiPiR7bWEoVWUpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9ImNoZXZyb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjkgMTggMTUgMTIgOSA2Ij48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfQogICAgICAgICAgJHt4ZS5vYmplY3RzLm1hcChVZT0+d2AKICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICBjbGFzcz0iY29sdW1uLWl0ZW0gJHt4ZS5zZWxlY3RlZEl0ZW09PT1VZS5rZXk/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgICAgICBkcmFnZ2FibGU9InRydWUiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RGaWxlKG5lLFVlLmtleSl9CiAgICAgICAgICAgICAgICBAY29udGV4dG1lbnU9JHtrdD0+dGhpcy5oYW5kbGVGaWxlQ29udGV4dE1lbnUoa3QsbmUsVWUua2V5KX0KICAgICAgICAgICAgICAgIEBkcmFnc3RhcnQ9JHtrdD0+dGhpcy5oYW5kbGVJdGVtRHJhZ1N0YXJ0KGt0LFVlLmtleSwhMSl9CiAgICAgICAgICAgICAgICBAZHJhZ2VuZD0ke2t0PT50aGlzLmhhbmRsZUl0ZW1EcmFnRW5kKGt0KX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJpY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICA8cGF0aCBkPSIke3RoaXMuZ2V0RmlsZUljb24oVWUua2V5KX0iIC8+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJuYW1lIj4ke21hKFVlLmtleSl9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuZHJhZ092ZXJDb2x1bW5JbmRleD09PW5lP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJkcmFnLWhpbnQiPgogICAgICAgICAgICAke3RoaXMuZHJhZ2dlZEl0ZW0/dGhpcy5kcmFnT3ZlckZvbGRlclByZWZpeD9gTW92ZSB0byAke21hKHRoaXMuZHJhZ092ZXJGb2xkZXJQcmVmaXgpfWA6Ik1vdmUgaGVyZSI6dGhpcy5kcmFnT3ZlckZvbGRlclByZWZpeD9gRHJvcCB0byB1cGxvYWQgaW50byAke21hKHRoaXMuZHJhZ092ZXJGb2xkZXJQcmVmaXgpfWA6IkRyb3AgdG8gdXBsb2FkIGhlcmUifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgICAke3RoaXMudXBsb2FkaW5nP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ1cGxvYWQtb3ZlcmxheSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InVwbG9hZC10ZXh0Ij5VcGxvYWRpbmcuLi48L2Rpdj4KICAgICAgICAgICAgJHt0aGlzLnVwbG9hZFByb2dyZXNzP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idXBsb2FkLXByb2dyZXNzIj4ke3RoaXMudXBsb2FkUHJvZ3Jlc3MuY3VycmVudH0gLyAke3RoaXMudXBsb2FkUHJvZ3Jlc3MudG90YWx9IGZpbGVzPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje3Z0KHIsdCl9fTtyZXR1cm4gbWw9cn0pKCl9KTt2YXIgWWEsQ3QseTBhLFRRZT1mKCgpPT57bGUoKTtZcigpO1FlKCk7SlcoKTtZYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sQ3Q9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHkwYT0oKCk9PntsZXQgYT1baWUoImRlZXMtc3RvcmFnZS1rZXlzIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W10sQixNPVtdLFM9W10sUCxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFgsSj1bXSxaPVtdLGdlLGFlPVtdLHJlPVtdLHllLFY9W10sSD1bXSxvZSxzZT1bXSx0ZT1bXSx6ZSxPZT1bXSxxZT1bXSxjdCwkZT1bXSxDZT1bXSxNZSxkZT1bXSx2ZT1bXSxBZSxLZT1bXSxudD1bXSxTdCxUZT1bXSx3ZT1bXSxSZSxmZT1bXSxiZT1bXSxQZSxwdD1bXSxtdD1bXSxOdCxYYT1bXSxKYT1bXSx2cyxqZT1bXSxkdD1bXSxRYSxNcj1bXSwkcj1bXSxIcixEcj1bXSxobz1bXTt2YXIgbW89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTdG9yYWdlS2V5cyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBMZT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOk51bWJlcn0pXSx5PVtLKCldLE49W0soKV0sTz1bSygpXSxCPVtLKCldLFA9W0soKV0sVz1bSygpXSxoZT1bSygpXSxtZT1bSygpXSxjZT1bSygpXSxYPVtLKCldLGdlPVtLKCldLHllPVtLKCldLG9lPVtLKCldLHplPVtLKCldLGN0PVtLKCldLE1lPVtLKCldLEFlPVtLKCldLFN0PVtLKCldLFJlPVtLKCldLFBlPVtLKCldLE50PVtLKCldLHZzPVtLKCldLFFhPVtLKCldLEhyPVtLKCldLFlhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YVByb3ZpZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4iZGF0YVByb3ZpZGVyImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UuZGF0YVByb3ZpZGVyLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UuZGF0YVByb3ZpZGVyPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxuLGwpLFlhKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYnVja2V0TmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+ImJ1Y2tldE5hbWUiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5idWNrZXROYW1lLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UuYnVja2V0TmFtZT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sYyxwKSxZYSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRQcmVmaXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJjdXJyZW50UHJlZml4ImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UuY3VycmVudFByZWZpeCwiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLmN1cnJlbnRQcmVmaXg9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LG0sdiksWWEodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWZyZXNoS2V5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4icmVmcmVzaEtleSJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLnJlZnJlc2hLZXksImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5yZWZyZXNoS2V5PUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxiLGcpLFlhKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWxsS2V5cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+ImFsbEtleXMiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5hbGxLZXlzLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UuYWxsS2V5cz1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sayxDKSxZYSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByZWZpeGVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4icHJlZml4ZXMiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5wcmVmaXhlcywiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLnByZWZpeGVzPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxfLHopLFlhKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+ImxvYWRpbmciaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5sb2FkaW5nLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UubG9hZGluZz1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sVCxFKSxZYSh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkS2V5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ic2VsZWN0ZWRLZXkiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5zZWxlY3RlZEtleSwiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLnNlbGVjdGVkS2V5PUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxNLFMpLFlhKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsdGVyVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+ImZpbHRlclRleHQiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5maWx0ZXJUZXh0LCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UuZmlsdGVyVGV4dD1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sQSxGKSxZYSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dDcmVhdGVEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJzaG93Q3JlYXRlRGlhbG9nImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2Uuc2hvd0NyZWF0ZURpYWxvZywiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLnNob3dDcmVhdGVEaWFsb2c9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LGosRyksWWEodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3JlYXRlRGlhbG9nVHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+ImNyZWF0ZURpYWxvZ1R5cGUiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5jcmVhdGVEaWFsb2dUeXBlLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UuY3JlYXRlRGlhbG9nVHlwZT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sUixVKSxZYSh0aGlzLG51bGwsbWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjcmVhdGVEaWFsb2dQcmVmaXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJjcmVhdGVEaWFsb2dQcmVmaXgiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5jcmVhdGVEaWFsb2dQcmVmaXgsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5jcmVhdGVEaWFsb2dQcmVmaXg9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LEkscSksWWEodGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3JlYXRlRGlhbG9nTmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+ImNyZWF0ZURpYWxvZ05hbWUiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5jcmVhdGVEaWFsb2dOYW1lLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UuY3JlYXRlRGlhbG9nTmFtZT1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sdWUsWSksWWEodGhpcyxudWxsLFgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93TW92ZURpYWxvZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+InNob3dNb3ZlRGlhbG9nImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2Uuc2hvd01vdmVEaWFsb2csImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5zaG93TW92ZURpYWxvZz1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sSixaKSxZYSh0aGlzLG51bGwsZ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlU291cmNlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ibW92ZVNvdXJjZSJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLm1vdmVTb3VyY2UsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5tb3ZlU291cmNlPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxhZSxyZSksWWEodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZURlc3RpbmF0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ibW92ZURlc3RpbmF0aW9uImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UubW92ZURlc3RpbmF0aW9uLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UubW92ZURlc3RpbmF0aW9uPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxWLEgpLFlhKHRoaXMsbnVsbCxvZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vdmVJblByb2dyZXNzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ibW92ZUluUHJvZ3Jlc3MiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5tb3ZlSW5Qcm9ncmVzcywiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLm1vdmVJblByb2dyZXNzPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxzZSx0ZSksWWEodGhpcyxudWxsLHplLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZUVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ibW92ZUVycm9yImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UubW92ZUVycm9yLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UubW92ZUVycm9yPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxPZSxxZSksWWEodGhpcyxudWxsLGN0LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd01vdmVQaWNrZXJEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJzaG93TW92ZVBpY2tlckRpYWxvZyJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLnNob3dNb3ZlUGlja2VyRGlhbG9nLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2Uuc2hvd01vdmVQaWNrZXJEaWFsb2c9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LCRlLENlKSxZYSh0aGlzLG51bGwsTWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyU291cmNlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4ibW92ZVBpY2tlclNvdXJjZSJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLm1vdmVQaWNrZXJTb3VyY2UsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5tb3ZlUGlja2VyU291cmNlPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxkZSx2ZSksWWEodGhpcyxudWxsLEFlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibW92ZVBpY2tlckN1cnJlbnRQcmVmaXgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJtb3ZlUGlja2VyQ3VycmVudFByZWZpeCJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4LCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UubW92ZVBpY2tlckN1cnJlbnRQcmVmaXg9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LEtlLG50KSxZYSh0aGlzLG51bGwsU3Qse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyUHJlZml4ZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJtb3ZlUGlja2VyUHJlZml4ZXMiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5tb3ZlUGlja2VyUHJlZml4ZXMsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5tb3ZlUGlja2VyUHJlZml4ZXM9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LFRlLHdlKSxZYSh0aGlzLG51bGwsUmUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb3ZlUGlja2VyTG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+Im1vdmVQaWNrZXJMb2FkaW5nImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2UubW92ZVBpY2tlckxvYWRpbmcsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5tb3ZlUGlja2VyTG9hZGluZz1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sZmUsYmUpLFlhKHRoaXMsbnVsbCxQZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dSZW5hbWVEaWFsb2ciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJzaG93UmVuYW1lRGlhbG9nImluIFNlLCJoYXMiKSxnZXQ6cyhTZT0+U2Uuc2hvd1JlbmFtZURpYWxvZywiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLnNob3dSZW5hbWVEaWFsb2c9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LHB0LG10KSxZYSh0aGlzLG51bGwsTnQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5hbWVTb3VyY2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoU2U9PiJyZW5hbWVTb3VyY2UiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5yZW5hbWVTb3VyY2UsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5yZW5hbWVTb3VyY2U9QmV9LCJzZXQiKX0sbWV0YWRhdGE6TGV9LFhhLEphKSxZYSh0aGlzLG51bGwsdnMse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZW5hbWVOYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4icmVuYW1lTmFtZSJpbiBTZSwiaGFzIiksZ2V0OnMoU2U9PlNlLnJlbmFtZU5hbWUsImdldCIpLHNldDpzKChTZSxCZSk9PntTZS5yZW5hbWVOYW1lPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxqZSxkdCksWWEodGhpcyxudWxsLFFhLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVuYW1lSW5Qcm9ncmVzcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTZT0+InJlbmFtZUluUHJvZ3Jlc3MiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5yZW5hbWVJblByb2dyZXNzLCJnZXQiKSxzZXQ6cygoU2UsQmUpPT57U2UucmVuYW1lSW5Qcm9ncmVzcz1CZX0sInNldCIpfSxtZXRhZGF0YTpMZX0sTXIsJHIpLFlhKHRoaXMsbnVsbCxIcix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlbmFtZUVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFNlPT4icmVuYW1lRXJyb3IiaW4gU2UsImhhcyIpLGdldDpzKFNlPT5TZS5yZW5hbWVFcnJvciwiZ2V0Iiksc2V0OnMoKFNlLEJlKT0+e1NlLnJlbmFtZUVycm9yPUJlfSwic2V0Iil9LG1ldGFkYXRhOkxlfSxEcixobyksWWEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TGV9LG51bGwsdCksbW89cj1lLnZhbHVlLExlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkxlfSl9I2U9Q3QodGhpcyxuLG51bGwpO2dldCBkYXRhUHJvdmlkZXIoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZGF0YVByb3ZpZGVyKExlKXt0aGlzLiNlPUxlfSN0PShDdCh0aGlzLGwpLEN0KHRoaXMsYywiIikpO2dldCBidWNrZXROYW1lKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGJ1Y2tldE5hbWUoTGUpe3RoaXMuI3Q9TGV9I2E9KEN0KHRoaXMscCksQ3QodGhpcyxtLCIiKSk7Z2V0IGN1cnJlbnRQcmVmaXgoKXtyZXR1cm4gdGhpcy4jYX1zZXQgY3VycmVudFByZWZpeChMZSl7dGhpcy4jYT1MZX0jcj0oQ3QodGhpcyx2KSxDdCh0aGlzLGIsMCkpO2dldCByZWZyZXNoS2V5KCl7cmV0dXJuIHRoaXMuI3J9c2V0IHJlZnJlc2hLZXkoTGUpe3RoaXMuI3I9TGV9I3M9KEN0KHRoaXMsZyksQ3QodGhpcyxrLFtdKSk7Z2V0IGFsbEtleXMoKXtyZXR1cm4gdGhpcy4jc31zZXQgYWxsS2V5cyhMZSl7dGhpcy4jcz1MZX0jaT0oQ3QodGhpcyxDKSxDdCh0aGlzLF8sW10pKTtnZXQgcHJlZml4ZXMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgcHJlZml4ZXMoTGUpe3RoaXMuI2k9TGV9I289KEN0KHRoaXMseiksQ3QodGhpcyxULCExKSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jb31zZXQgbG9hZGluZyhMZSl7dGhpcy4jbz1MZX0jbj0oQ3QodGhpcyxFKSxDdCh0aGlzLE0sIiIpKTtnZXQgc2VsZWN0ZWRLZXkoKXtyZXR1cm4gdGhpcy4jbn1zZXQgc2VsZWN0ZWRLZXkoTGUpe3RoaXMuI249TGV9I2w9KEN0KHRoaXMsUyksQ3QodGhpcyxBLCIiKSk7Z2V0IGZpbHRlclRleHQoKXtyZXR1cm4gdGhpcy4jbH1zZXQgZmlsdGVyVGV4dChMZSl7dGhpcy4jbD1MZX0jYz0oQ3QodGhpcyxGKSxDdCh0aGlzLGosITEpKTtnZXQgc2hvd0NyZWF0ZURpYWxvZygpe3JldHVybiB0aGlzLiNjfXNldCBzaG93Q3JlYXRlRGlhbG9nKExlKXt0aGlzLiNjPUxlfSNkPShDdCh0aGlzLEcpLEN0KHRoaXMsUiwiZm9sZGVyIikpO2dldCBjcmVhdGVEaWFsb2dUeXBlKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGNyZWF0ZURpYWxvZ1R5cGUoTGUpe3RoaXMuI2Q9TGV9I3U9KEN0KHRoaXMsVSksQ3QodGhpcyxJLCIiKSk7Z2V0IGNyZWF0ZURpYWxvZ1ByZWZpeCgpe3JldHVybiB0aGlzLiN1fXNldCBjcmVhdGVEaWFsb2dQcmVmaXgoTGUpe3RoaXMuI3U9TGV9I3A9KEN0KHRoaXMscSksQ3QodGhpcyx1ZSwiIikpO2dldCBjcmVhdGVEaWFsb2dOYW1lKCl7cmV0dXJuIHRoaXMuI3B9c2V0IGNyZWF0ZURpYWxvZ05hbWUoTGUpe3RoaXMuI3A9TGV9I2Y9KEN0KHRoaXMsWSksQ3QodGhpcyxKLCExKSk7Z2V0IHNob3dNb3ZlRGlhbG9nKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IHNob3dNb3ZlRGlhbG9nKExlKXt0aGlzLiNmPUxlfSNoPShDdCh0aGlzLFopLEN0KHRoaXMsYWUsbnVsbCkpO2dldCBtb3ZlU291cmNlKCl7cmV0dXJuIHRoaXMuI2h9c2V0IG1vdmVTb3VyY2UoTGUpe3RoaXMuI2g9TGV9I209KEN0KHRoaXMscmUpLEN0KHRoaXMsViwiIikpO2dldCBtb3ZlRGVzdGluYXRpb24oKXtyZXR1cm4gdGhpcy4jbX1zZXQgbW92ZURlc3RpbmF0aW9uKExlKXt0aGlzLiNtPUxlfSNnPShDdCh0aGlzLEgpLEN0KHRoaXMsc2UsITEpKTtnZXQgbW92ZUluUHJvZ3Jlc3MoKXtyZXR1cm4gdGhpcy4jZ31zZXQgbW92ZUluUHJvZ3Jlc3MoTGUpe3RoaXMuI2c9TGV9I2I9KEN0KHRoaXMsdGUpLEN0KHRoaXMsT2UsbnVsbCkpO2dldCBtb3ZlRXJyb3IoKXtyZXR1cm4gdGhpcy4jYn1zZXQgbW92ZUVycm9yKExlKXt0aGlzLiNiPUxlfSN2PShDdCh0aGlzLHFlKSxDdCh0aGlzLCRlLCExKSk7Z2V0IHNob3dNb3ZlUGlja2VyRGlhbG9nKCl7cmV0dXJuIHRoaXMuI3Z9c2V0IHNob3dNb3ZlUGlja2VyRGlhbG9nKExlKXt0aGlzLiN2PUxlfSN4PShDdCh0aGlzLENlKSxDdCh0aGlzLGRlLG51bGwpKTtnZXQgbW92ZVBpY2tlclNvdXJjZSgpe3JldHVybiB0aGlzLiN4fXNldCBtb3ZlUGlja2VyU291cmNlKExlKXt0aGlzLiN4PUxlfSN5PShDdCh0aGlzLHZlKSxDdCh0aGlzLEtlLCIiKSk7Z2V0IG1vdmVQaWNrZXJDdXJyZW50UHJlZml4KCl7cmV0dXJuIHRoaXMuI3l9c2V0IG1vdmVQaWNrZXJDdXJyZW50UHJlZml4KExlKXt0aGlzLiN5PUxlfSN3PShDdCh0aGlzLG50KSxDdCh0aGlzLFRlLFtdKSk7Z2V0IG1vdmVQaWNrZXJQcmVmaXhlcygpe3JldHVybiB0aGlzLiN3fXNldCBtb3ZlUGlja2VyUHJlZml4ZXMoTGUpe3RoaXMuI3c9TGV9I009KEN0KHRoaXMsd2UpLEN0KHRoaXMsZmUsITEpKTtnZXQgbW92ZVBpY2tlckxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jTX1zZXQgbW92ZVBpY2tlckxvYWRpbmcoTGUpe3RoaXMuI009TGV9I2s9KEN0KHRoaXMsYmUpLEN0KHRoaXMscHQsITEpKTtnZXQgc2hvd1JlbmFtZURpYWxvZygpe3JldHVybiB0aGlzLiNrfXNldCBzaG93UmVuYW1lRGlhbG9nKExlKXt0aGlzLiNrPUxlfSNTPShDdCh0aGlzLG10KSxDdCh0aGlzLFhhLG51bGwpKTtnZXQgcmVuYW1lU291cmNlKCl7cmV0dXJuIHRoaXMuI1N9c2V0IHJlbmFtZVNvdXJjZShMZSl7dGhpcy4jUz1MZX0jej0oQ3QodGhpcyxKYSksQ3QodGhpcyxqZSwiIikpO2dldCByZW5hbWVOYW1lKCl7cmV0dXJuIHRoaXMuI3p9c2V0IHJlbmFtZU5hbWUoTGUpe3RoaXMuI3o9TGV9I0M9KEN0KHRoaXMsZHQpLEN0KHRoaXMsTXIsITEpKTtnZXQgcmVuYW1lSW5Qcm9ncmVzcygpe3JldHVybiB0aGlzLiNDfXNldCByZW5hbWVJblByb2dyZXNzKExlKXt0aGlzLiNDPUxlfSNfPShDdCh0aGlzLCRyKSxDdCh0aGlzLERyLG51bGwpKTtnZXQgcmVuYW1lRXJyb3IoKXtyZXR1cm4gdGhpcy4jX31zZXQgcmVuYW1lRXJyb3IoTGUpe3RoaXMuI189TGV9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLEVlLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmtleXMtY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuZmlsdGVyLWJhciB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzMzIil9OwogICAgICB9CgogICAgICAuZmlsdGVyLWlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjAzKSIsInJnYmEoMCwgMCwgMCwgMC4zKSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiM0NDQiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICAuZmlsdGVyLWlucHV0OmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNDA0MDQwIil9OwogICAgICB9CgogICAgICAuZmlsdGVyLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzY2NiIpfTsKICAgICAgfQoKICAgICAgLmtleXMtbGlzdCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CgogICAgICB0YWJsZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgICAgfQoKICAgICAgdGhlYWQgewogICAgICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzFhMWExYSIpfTsKICAgICAgICB6LWluZGV4OiAxOwogICAgICB9CgogICAgICB0aCB7CiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzY2NiIpfTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzMzMiKX07CiAgICAgIH0KCiAgICAgIHRkIHsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzJhMmEzZSIpfTsKICAgICAgfQoKICAgICAgdHI6aG92ZXIgdGQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDIpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzKSIpfTsKICAgICAgfQoKICAgICAgdHIuc2VsZWN0ZWQgdGQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICB9CgogICAgICAua2V5LWNlbGwgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5rZXktaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZm9sZGVyLWljb24gewogICAgICAgIGNvbG9yOiAjZmJiZjI0OwogICAgICB9CgogICAgICAua2V5LW5hbWUgewogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLnNpemUtY2VsbCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzg4OCIpfTsKICAgICAgICBmb250LXZhcmlhbnQtbnVtZXJpYzogdGFidWxhci1udW1zOwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDMycHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctb3ZlcmxheSB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHotaW5kZXg6IDEwMDA7CiAgICAgIH0KCiAgICAgIC5kaWFsb2cgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzFlMWUxZSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWluLXdpZHRoOiA0MDBweDsKICAgICAgICBib3gtc2hhZG93OiAwIDIwcHggNDBweCByZ2JhKDAsIDAsIDAsIDAuNSk7CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1sb2NhdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM4ODgiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICB9CgogICAgICAuZGlhbG9nLWlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTQxNDE0Iil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzMzMyIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZmZiIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctaW5wdXQ6Zm9jdXMgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiNlMGUwZTAiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctaGludCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmRpYWxvZy1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0biB7CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYnRuLWNhbmNlbCB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjNDQ0Iil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhYWEiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYnRuLWNhbmNlbDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMykiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC5kaWFsb2ctYnRuLWNyZWF0ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjNDA0MDQwIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICB9CgogICAgICAuZGlhbG9nLWJ0bi1jcmVhdGU6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzUwNTA1MCIpfTsKICAgICAgfQoKICAgICAgLmRpYWxvZy1idG4tY3JlYXRlOmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLyogTW92ZSBkaWFsb2cgc3R5bGVzICovCiAgICAgIC5tb3ZlLXN1bW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5tb3ZlLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAubW92ZS1pdGVtOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC5tb3ZlLWxhYmVsIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjODg4Iil9OwogICAgICAgIG1pbi13aWR0aDogNDBweDsKICAgICAgfQoKICAgICAgLm1vdmUtcGF0aCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2YzZjQ2IiwiI2UwZTBlMCIpfTsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7CiAgICAgIH0KCiAgICAgIC5tb3ZlLWVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjE1KTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIzOSwgNjgsIDY4LCAwLjMpOwogICAgICAgIGNvbG9yOiAjZjg3MTcxOwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KCiAgICAgIC8qIE1vdmUgcGlja2VyIGRpYWxvZyBzdHlsZXMgKi8KICAgICAgLm1vdmUtcGlja2VyLWRpYWxvZyB7CiAgICAgICAgbWluLXdpZHRoOiA0NTBweDsKICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDsKICAgICAgfQoKICAgICAgLnBpY2tlci1icmVhZGNydW1iIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMykiLCJyZ2JhKDAsIDAsIDAsIDAuMikiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIG92ZXJmbG93LXg6IGF1dG87CiAgICAgIH0KCiAgICAgIC5waWNrZXItY3J1bWIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM4ODgiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5waWNrZXItY3J1bWI6aG92ZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC5waWNrZXItc2VwYXJhdG9yIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjNTU1Iil9OwogICAgICB9CgogICAgICAucGlja2VyLWxpc3QgewogICAgICAgIG1heC1oZWlnaHQ6IDI4MHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzMzIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4OwogICAgICB9CgogICAgICAucGlja2VyLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgY29sb3I6ICNmYmJmMjQ7CiAgICAgIH0KCiAgICAgIC5waWNrZXItaXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wMykiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpIil9OwogICAgICB9CgogICAgICAucGlja2VyLWl0ZW0gLmljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnBpY2tlci1pdGVtIC5uYW1lIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLnBpY2tlci1lbXB0eSB7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzY2NiIpfTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIH0KICAgIGBdO2FzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCB0aGlzLmxvYWRPYmplY3RzKCl9dXBkYXRlZChMZSl7KExlLmhhcygiYnVja2V0TmFtZSIpfHxMZS5oYXMoImN1cnJlbnRQcmVmaXgiKXx8TGUuaGFzKCJyZWZyZXNoS2V5IikpJiZ0aGlzLmxvYWRPYmplY3RzKCl9YXN5bmMgbG9hZE9iamVjdHMoKXtpZih0aGlzLmRhdGFQcm92aWRlcil7dGhpcy5sb2FkaW5nPSEwO3RyeXtsZXQgTGU9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIubGlzdE9iamVjdHModGhpcy5idWNrZXROYW1lLHRoaXMuY3VycmVudFByZWZpeCwiLyIpO3RoaXMuYWxsS2V5cz1MZS5vYmplY3RzLHRoaXMucHJlZml4ZXM9TGUucHJlZml4ZXN9Y2F0Y2goTGUpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGxvYWRpbmcgb2JqZWN0czoiLExlKSx0aGlzLmFsbEtleXM9W10sdGhpcy5wcmVmaXhlcz1bXX10aGlzLmxvYWRpbmc9ITF9fWhhbmRsZUZpbHRlcklucHV0KExlKXt0aGlzLmZpbHRlclRleHQ9TGUudGFyZ2V0LnZhbHVlfXNlbGVjdEtleShMZSxTZSl7dGhpcy5zZWxlY3RlZEtleT1MZSxTZT90aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJuYXZpZ2F0ZSIse2RldGFpbDp7cHJlZml4OkxlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpOnRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImtleS1zZWxlY3RlZCIse2RldGFpbDp7a2V5OkxlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWdldCBmaWx0ZXJlZEl0ZW1zKCl7bGV0IExlPXRoaXMuZmlsdGVyVGV4dC50b0xvd2VyQ2FzZSgpLFNlPXRoaXMucHJlZml4ZXMuZmlsdGVyKGlhPT4hTGV8fG1hKGlhKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKExlKSkubWFwKGlhPT4oe2tleTppYSxpc0ZvbGRlcjohMCxzaXplOnZvaWQgMH0pKSxCZT10aGlzLmFsbEtleXMuZmlsdGVyKGlhPT4hTGV8fG1hKGlhLmtleSkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhMZSkpLm1hcChpYT0+KHtrZXk6aWEua2V5LGlzRm9sZGVyOiExLHNpemU6aWEuc2l6ZX0pKTtyZXR1cm5bLi4uU2UsLi4uQmVdfWhhbmRsZUl0ZW1Db250ZXh0TWVudShMZSxTZSxCZSl7dGhpcy5kYXRhUHJvdmlkZXImJihMZS5wcmV2ZW50RGVmYXVsdCgpLEJlP2VhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKExlLFt7bmFtZToiT3BlbiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJPcGVuIixhY3Rpb246cyhhc3luYygpPT57dGhpcy5zZWxlY3RLZXkoU2UsITApfSwiYWN0aW9uIil9LHtuYW1lOiJDb3B5IFBhdGgiLGljb25OYW1lOiJsdWNpZGU6Y29weSIsYWN0aW9uOnMoYXN5bmMoKT0+e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KFNlKX0sImFjdGlvbiIpfSx7bmFtZToiUmVuYW1lIixpY29uTmFtZToibHVjaWRlOnBlbmNpbCIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuUmVuYW1lRGlhbG9nKFNlLCEwKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiTW92ZSB0by4uLiIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJJbnB1dCIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuTW92ZVBpY2tlckRpYWxvZyhTZSwhMCksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6Ik5ldyBGb2xkZXIgSW5zaWRlIixpY29uTmFtZToibHVjaWRlOmZvbGRlclBsdXMiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMub3BlbkNyZWF0ZURpYWxvZygiZm9sZGVyIixTZSksImFjdGlvbiIpfSx7bmFtZToiTmV3IEZpbGUgSW5zaWRlIixpY29uTmFtZToibHVjaWRlOmZpbGVQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLm9wZW5DcmVhdGVEaWFsb2coImZpbGUiLFNlKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRGVsZXRlIEZvbGRlciIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaDIiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25maXJtKGBEZWxldGUgZm9sZGVyICIke21hKFNlKX0iIGFuZCBhbGwgaXRzIGNvbnRlbnRzP2ApJiZhd2FpdCB0aGlzLmRhdGFQcm92aWRlci5kZWxldGVQcmVmaXgodGhpcy5idWNrZXROYW1lLFNlKSYmYXdhaXQgdGhpcy5sb2FkT2JqZWN0cygpfSwiYWN0aW9uIil9XSk6ZWEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoTGUsW3tuYW1lOiJQcmV2aWV3IixpY29uTmFtZToibHVjaWRlOmV5ZSIsYWN0aW9uOnMoYXN5bmMoKT0+e3RoaXMuc2VsZWN0S2V5KFNlLCExKX0sImFjdGlvbiIpfSx7bmFtZToiRG93bmxvYWQiLGljb25OYW1lOiJsdWNpZGU6ZG93bmxvYWQiLGFjdGlvbjpzKGFzeW5jKCk9PntsZXQgaWE9YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIuZ2V0T2JqZWN0VXJsKHRoaXMuYnVja2V0TmFtZSxTZSkseHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO3hzLmhyZWY9aWEseHMuZG93bmxvYWQ9bWEoU2UpLHhzLmNsaWNrKCl9LCJhY3Rpb24iKX0se25hbWU6IkNvcHkgUGF0aCIsaWNvbk5hbWU6Imx1Y2lkZTpjb3B5IixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoU2UpfSwiYWN0aW9uIil9LHtuYW1lOiJSZW5hbWUiLGljb25OYW1lOiJsdWNpZGU6cGVuY2lsIixhY3Rpb246cyhhc3luYygpPT50aGlzLm9wZW5SZW5hbWVEaWFsb2coU2UsITEpLCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJNb3ZlIHRvLi4uIixpY29uTmFtZToibHVjaWRlOmZvbGRlcklucHV0IixhY3Rpb246cyhhc3luYygpPT50aGlzLm9wZW5Nb3ZlUGlja2VyRGlhbG9nKFNlLCExKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiRGVsZXRlIixpY29uTmFtZToibHVjaWRlOnRyYXNoMiIsYWN0aW9uOnMoYXN5bmMoKT0+e2NvbmZpcm0oYERlbGV0ZSBmaWxlICIke21hKFNlKX0iP2ApJiZhd2FpdCB0aGlzLmRhdGFQcm92aWRlci5kZWxldGVPYmplY3QodGhpcy5idWNrZXROYW1lLFNlKSYmYXdhaXQgdGhpcy5sb2FkT2JqZWN0cygpfSwiYWN0aW9uIil9XSkpfWhhbmRsZUVtcHR5U3BhY2VDb250ZXh0TWVudShMZSl7TGUudGFyZ2V0LmNsb3Nlc3QoInRyIil8fChMZS5wcmV2ZW50RGVmYXVsdCgpLGVhLm9wZW5Db250ZXh0TWVudVdpdGhPcHRpb25zKExlLFt7bmFtZToiTmV3IEZvbGRlciIsaWNvbk5hbWU6Imx1Y2lkZTpmb2xkZXJQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLm9wZW5DcmVhdGVEaWFsb2coImZvbGRlciIsdGhpcy5jdXJyZW50UHJlZml4KSwiYWN0aW9uIil9LHtuYW1lOiJOZXcgRmlsZSIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlUGx1cyIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5vcGVuQ3JlYXRlRGlhbG9nKCJmaWxlIix0aGlzLmN1cnJlbnRQcmVmaXgpLCJhY3Rpb24iKX1dKSl9b3BlbkNyZWF0ZURpYWxvZyhMZSxTZSl7dGhpcy5jcmVhdGVEaWFsb2dUeXBlPUxlLHRoaXMuY3JlYXRlRGlhbG9nUHJlZml4PVNlLHRoaXMuY3JlYXRlRGlhbG9nTmFtZT0iIix0aGlzLnNob3dDcmVhdGVEaWFsb2c9ITB9YXN5bmMgaGFuZGxlQ3JlYXRlKCl7aWYoIXRoaXMuY3JlYXRlRGlhbG9nTmFtZS50cmltKCl8fCF0aGlzLmRhdGFQcm92aWRlcilyZXR1cm47bGV0IExlPXRoaXMuY3JlYXRlRGlhbG9nTmFtZS50cmltKCksU2U7dGhpcy5jcmVhdGVEaWFsb2dUeXBlPT09ImZvbGRlciI/U2U9dGhpcy5jcmVhdGVEaWFsb2dQcmVmaXgrTGUrIi8ua2VlcCI6U2U9dGhpcy5jcmVhdGVEaWFsb2dQcmVmaXgrTGU7bGV0IEJlPUxlLnNwbGl0KCIuIikucG9wKCk/LnRvTG93ZXJDYXNlKCl8fCIiLGlhPXRoaXMuY3JlYXRlRGlhbG9nVHlwZT09PSJmaWxlIj9SNChCZSk6ImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIseHM9dGhpcy5jcmVhdGVEaWFsb2dUeXBlPT09ImZpbGUiP1htKEJlKToiIjthd2FpdCB0aGlzLmRhdGFQcm92aWRlci5wdXRPYmplY3QodGhpcy5idWNrZXROYW1lLFNlLGJ0b2EoeHMpLGlhKSYmKHRoaXMuc2hvd0NyZWF0ZURpYWxvZz0hMSxhd2FpdCB0aGlzLmxvYWRPYmplY3RzKCkpfXJlbmRlckNyZWF0ZURpYWxvZygpe2lmKCF0aGlzLnNob3dDcmVhdGVEaWFsb2cpcmV0dXJuIiI7bGV0IExlPXRoaXMuY3JlYXRlRGlhbG9nVHlwZT09PSJmb2xkZXIiLFNlPUxlPyJDcmVhdGUgTmV3IEZvbGRlciI6IkNyZWF0ZSBOZXcgRmlsZSIsQmU9TGU/ImZvbGRlci1uYW1lIG9yIHBhdGgvdG8vZm9sZGVyIjoiZmlsZW5hbWUudHh0IG9yIHBhdGgvdG8vZmlsZS50eHQiO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctb3ZlcmxheSIgQGNsaWNrPSR7KCk9PnRoaXMuc2hvd0NyZWF0ZURpYWxvZz0hMX0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nIiBAY2xpY2s9JHtpYT0+aWEuc3RvcFByb3BhZ2F0aW9uKCl9PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLXRpdGxlIj4ke1NlfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWxvY2F0aW9uIj4KICAgICAgICAgICAgTG9jYXRpb246ICR7dGhpcy5idWNrZXROYW1lfS8ke3RoaXMuY3JlYXRlRGlhbG9nUHJlZml4fQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgY2xhc3M9ImRpYWxvZy1pbnB1dCIKICAgICAgICAgICAgcGxhY2Vob2xkZXI9JHtCZX0KICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5jcmVhdGVEaWFsb2dOYW1lfQogICAgICAgICAgICBAaW5wdXQ9JHtpYT0+dGhpcy5jcmVhdGVEaWFsb2dOYW1lPWlhLnRhcmdldC52YWx1ZX0KICAgICAgICAgICAgQGtleWRvd249JHtpYT0+aWEua2V5PT09IkVudGVyIiYmdGhpcy5oYW5kbGVDcmVhdGUoKX0KICAgICAgICAgIC8+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctaGludCI+CiAgICAgICAgICAgIFVzZSAiLyIgdG8gY3JlYXRlIG5lc3RlZCAke0xlPyJmb2xkZXJzIjoicGF0aCJ9IChlLmcuLCAke0xlPyJwYXJlbnQvY2hpbGQiOiJmb2xkZXIvZmlsZS50eHQifSkKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY2FuY2VsIiBAY2xpY2s9JHsoKT0+dGhpcy5zaG93Q3JlYXRlRGlhbG9nPSExfT4KICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNyZWF0ZSIKICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHshdGhpcy5jcmVhdGVEaWFsb2dOYW1lLnRyaW0oKX0KICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDcmVhdGUoKX0KICAgICAgICAgICAgPgogICAgICAgICAgICAgIENyZWF0ZQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgb3Blbk1vdmVQaWNrZXJEaWFsb2coTGUsU2Upe3RoaXMubW92ZVBpY2tlclNvdXJjZT17a2V5OkxlLGlzRm9sZGVyOlNlfSx0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4PSIiLHRoaXMuc2hvd01vdmVQaWNrZXJEaWFsb2c9ITAsYXdhaXQgdGhpcy5sb2FkTW92ZVBpY2tlclByZWZpeGVzKCIiKX1hc3luYyBuYXZpZ2F0ZU1vdmVQaWNrZXIoTGUpe3RoaXMubW92ZVBpY2tlckN1cnJlbnRQcmVmaXg9TGUsYXdhaXQgdGhpcy5sb2FkTW92ZVBpY2tlclByZWZpeGVzKExlKX1hc3luYyBsb2FkTW92ZVBpY2tlclByZWZpeGVzKExlKXtpZih0aGlzLmRhdGFQcm92aWRlcil7dGhpcy5tb3ZlUGlja2VyTG9hZGluZz0hMDt0cnl7bGV0IFNlPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmxpc3RPYmplY3RzKHRoaXMuYnVja2V0TmFtZSxMZSwiLyIpO3RoaXMubW92ZVBpY2tlclByZWZpeGVzPVNlLnByZWZpeGVzfWNhdGNoe3RoaXMubW92ZVBpY2tlclByZWZpeGVzPVtdfXRoaXMubW92ZVBpY2tlckxvYWRpbmc9ITF9fXNlbGVjdE1vdmVEZXN0aW5hdGlvbihMZSl7dGhpcy5tb3ZlUGlja2VyU291cmNlJiYodGhpcy5jbG9zZU1vdmVQaWNrZXJEaWFsb2coKSx0aGlzLmluaXRpYXRlTW92ZSh0aGlzLm1vdmVQaWNrZXJTb3VyY2Uua2V5LHRoaXMubW92ZVBpY2tlclNvdXJjZS5pc0ZvbGRlcixMZSkpfWNsb3NlTW92ZVBpY2tlckRpYWxvZygpe3RoaXMuc2hvd01vdmVQaWNrZXJEaWFsb2c9ITEsdGhpcy5tb3ZlUGlja2VyU291cmNlPW51bGwsdGhpcy5tb3ZlUGlja2VyQ3VycmVudFByZWZpeD0iIix0aGlzLm1vdmVQaWNrZXJQcmVmaXhlcz1bXX1pbml0aWF0ZU1vdmUoTGUsU2UsQmUpe2xldCBpYT1abShMZSxCZSk7aWYoIWlhLnZhbGlkKXt0aGlzLm1vdmVTb3VyY2U9e2tleTpMZSxpc0ZvbGRlcjpTZX0sdGhpcy5tb3ZlRGVzdGluYXRpb249QmUsdGhpcy5tb3ZlRXJyb3I9aWEuZXJyb3IsdGhpcy5zaG93TW92ZURpYWxvZz0hMDtyZXR1cm59dGhpcy5tb3ZlU291cmNlPXtrZXk6TGUsaXNGb2xkZXI6U2V9LHRoaXMubW92ZURlc3RpbmF0aW9uPUJlLHRoaXMubW92ZUVycm9yPW51bGwsdGhpcy5zaG93TW92ZURpYWxvZz0hMH1hc3luYyBleGVjdXRlTW92ZSgpe2lmKCEoIXRoaXMubW92ZVNvdXJjZXx8IXRoaXMuZGF0YVByb3ZpZGVyKSl7dGhpcy5tb3ZlSW5Qcm9ncmVzcz0hMDt0cnl7bGV0IExlPW1hKHRoaXMubW92ZVNvdXJjZS5rZXkpLFNlPXRoaXMubW92ZURlc3RpbmF0aW9uK0xlLEJlO3RoaXMubW92ZVNvdXJjZS5pc0ZvbGRlcj9CZT1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5tb3ZlUHJlZml4KHRoaXMuYnVja2V0TmFtZSx0aGlzLm1vdmVTb3VyY2Uua2V5LFNlKTpCZT1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5tb3ZlT2JqZWN0KHRoaXMuYnVja2V0TmFtZSx0aGlzLm1vdmVTb3VyY2Uua2V5LFNlKSxCZS5zdWNjZXNzPyh0aGlzLmNsb3NlTW92ZURpYWxvZygpLGF3YWl0IHRoaXMubG9hZE9iamVjdHMoKSk6dGhpcy5tb3ZlRXJyb3I9QmUuZXJyb3J8fCJNb3ZlIG9wZXJhdGlvbiBmYWlsZWQifWNhdGNoKExlKXt0aGlzLm1vdmVFcnJvcj1gRXJyb3I6ICR7TGV9YH10aGlzLm1vdmVJblByb2dyZXNzPSExfX1jbG9zZU1vdmVEaWFsb2coKXt0aGlzLnNob3dNb3ZlRGlhbG9nPSExLHRoaXMubW92ZVNvdXJjZT1udWxsLHRoaXMubW92ZURlc3RpbmF0aW9uPSIiLHRoaXMubW92ZUVycm9yPW51bGwsdGhpcy5tb3ZlSW5Qcm9ncmVzcz0hMX1vcGVuUmVuYW1lRGlhbG9nKExlLFNlKXt0aGlzLnJlbmFtZVNvdXJjZT17a2V5OkxlLGlzRm9sZGVyOlNlfSx0aGlzLnJlbmFtZU5hbWU9bWEoTGUpLHRoaXMucmVuYW1lRXJyb3I9bnVsbCx0aGlzLnNob3dSZW5hbWVEaWFsb2c9ITAsdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT57bGV0IEJlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnJlbmFtZS1kaWFsb2ctaW5wdXQiKTtpZihCZSlpZihCZS5mb2N1cygpLFNlKUJlLnNlbGVjdCgpO2Vsc2V7bGV0IGlhPXRoaXMucmVuYW1lTmFtZS5sYXN0SW5kZXhPZigiLiIpO2lhPjA/QmUuc2V0U2VsZWN0aW9uUmFuZ2UoMCxpYSk6QmUuc2VsZWN0KCl9fSl9YXN5bmMgZXhlY3V0ZVJlbmFtZSgpe2lmKCF0aGlzLnJlbmFtZVNvdXJjZXx8IXRoaXMucmVuYW1lTmFtZS50cmltKCl8fCF0aGlzLmRhdGFQcm92aWRlcilyZXR1cm47bGV0IExlPXRoaXMucmVuYW1lTmFtZS50cmltKCksU2U9bWEodGhpcy5yZW5hbWVTb3VyY2Uua2V5KTtpZihMZT09PVNlKXt0aGlzLnJlbmFtZUVycm9yPSJOYW1lIGlzIHRoZSBzYW1lIGFzIGN1cnJlbnQiO3JldHVybn1pZighTGUpe3RoaXMucmVuYW1lRXJyb3I9Ik5hbWUgY2Fubm90IGJlIGVtcHR5IjtyZXR1cm59aWYoTGUuaW5jbHVkZXMoIi8iKSl7dGhpcy5yZW5hbWVFcnJvcj0nTmFtZSBjYW5ub3QgY29udGFpbiAiLyInO3JldHVybn10aGlzLnJlbmFtZUluUHJvZ3Jlc3M9ITAsdGhpcy5yZW5hbWVFcnJvcj1udWxsO3RyeXtsZXQgaWE9VjEodGhpcy5yZW5hbWVTb3VyY2Uua2V5KStMZSsodGhpcy5yZW5hbWVTb3VyY2UuaXNGb2xkZXI/Ii8iOiIiKSx4czt0aGlzLnJlbmFtZVNvdXJjZS5pc0ZvbGRlcj94cz1hd2FpdCB0aGlzLmRhdGFQcm92aWRlci5tb3ZlUHJlZml4KHRoaXMuYnVja2V0TmFtZSx0aGlzLnJlbmFtZVNvdXJjZS5rZXksaWEpOnhzPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLm1vdmVPYmplY3QodGhpcy5idWNrZXROYW1lLHRoaXMucmVuYW1lU291cmNlLmtleSxpYSkseHMuc3VjY2Vzcz8odGhpcy5jbG9zZVJlbmFtZURpYWxvZygpLGF3YWl0IHRoaXMubG9hZE9iamVjdHMoKSk6dGhpcy5yZW5hbWVFcnJvcj14cy5lcnJvcnx8IlJlbmFtZSBmYWlsZWQifWNhdGNoKEJlKXt0aGlzLnJlbmFtZUVycm9yPWBFcnJvcjogJHtCZX1gfXRoaXMucmVuYW1lSW5Qcm9ncmVzcz0hMX1jbG9zZVJlbmFtZURpYWxvZygpe3RoaXMuc2hvd1JlbmFtZURpYWxvZz0hMSx0aGlzLnJlbmFtZVNvdXJjZT1udWxsLHRoaXMucmVuYW1lTmFtZT0iIix0aGlzLnJlbmFtZUVycm9yPW51bGwsdGhpcy5yZW5hbWVJblByb2dyZXNzPSExfXJlbmRlclJlbmFtZURpYWxvZygpe2lmKCF0aGlzLnNob3dSZW5hbWVEaWFsb2d8fCF0aGlzLnJlbmFtZVNvdXJjZSlyZXR1cm4iIjtsZXQgTGU9dGhpcy5yZW5hbWVTb3VyY2UuaXNGb2xkZXI7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1vdmVybGF5IiBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZVJlbmFtZURpYWxvZygpfT4KICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ciIEBjbGljaz0ke0JlPT5CZS5zdG9wUHJvcGFnYXRpb24oKX0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctdGl0bGUiPiR7TGU/IlJlbmFtZSBGb2xkZXIiOiJSZW5hbWUgRmlsZSJ9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctbG9jYXRpb24iPgogICAgICAgICAgICBMb2NhdGlvbjogJHt0aGlzLmJ1Y2tldE5hbWV9LyR7VjEodGhpcy5yZW5hbWVTb3VyY2Uua2V5KX0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHt0aGlzLnJlbmFtZUVycm9yP3dgPGRpdiBjbGFzcz0ibW92ZS1lcnJvciI+JHt0aGlzLnJlbmFtZUVycm9yfTwvZGl2PmA6IiJ9CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgY2xhc3M9ImRpYWxvZy1pbnB1dCByZW5hbWUtZGlhbG9nLWlucHV0IgogICAgICAgICAgICBwbGFjZWhvbGRlcj0ke0xlPyJmb2xkZXItbmFtZSI6ImZpbGVuYW1lLmV4dCJ9CiAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMucmVuYW1lTmFtZX0KICAgICAgICAgICAgQGlucHV0PSR7QmU9Pnt0aGlzLnJlbmFtZU5hbWU9QmUudGFyZ2V0LnZhbHVlLHRoaXMucmVuYW1lRXJyb3I9bnVsbH19CiAgICAgICAgICAgIEBrZXlkb3duPSR7QmU9PntCZS5rZXk9PT0iRW50ZXIiJiZ0aGlzLmV4ZWN1dGVSZW5hbWUoKSxCZS5rZXk9PT0iRXNjYXBlIiYmdGhpcy5jbG9zZVJlbmFtZURpYWxvZygpfX0KICAgICAgICAgIC8+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctYWN0aW9ucyI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRpYWxvZy1idG4gZGlhbG9nLWJ0bi1jYW5jZWwiCiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VSZW5hbWVEaWFsb2coKX0KICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLnJlbmFtZUluUHJvZ3Jlc3N9PkNhbmNlbDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY3JlYXRlIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmV4ZWN1dGVSZW5hbWUoKX0KICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLnJlbmFtZUluUHJvZ3Jlc3N8fCF0aGlzLnJlbmFtZU5hbWUudHJpbSgpfT4KICAgICAgICAgICAgICAke3RoaXMucmVuYW1lSW5Qcm9ncmVzcz8iUmVuYW1pbmcuLi4iOiJSZW5hbWUifQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyTW92ZURpYWxvZygpe2lmKCF0aGlzLnNob3dNb3ZlRGlhbG9nfHwhdGhpcy5tb3ZlU291cmNlKXJldHVybiIiO2xldCBMZT1tYSh0aGlzLm1vdmVTb3VyY2Uua2V5KTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLW92ZXJsYXkiIEBjbGljaz0keygpPT50aGlzLmNsb3NlTW92ZURpYWxvZygpfT4KICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ciIEBjbGljaz0ke1NlPT5TZS5zdG9wUHJvcGFnYXRpb24oKX0+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctdGl0bGUiPk1vdmUgJHt0aGlzLm1vdmVTb3VyY2UuaXNGb2xkZXI/IkZvbGRlciI6IkZpbGUifTwvZGl2PgoKICAgICAgICAgICR7dGhpcy5tb3ZlRXJyb3I/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW92ZS1lcnJvciI+JHt0aGlzLm1vdmVFcnJvcn08L2Rpdj4KICAgICAgICAgIGA6d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibW92ZS1zdW1tYXJ5Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb3ZlLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1vdmUtbGFiZWwiPkZyb206PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1vdmUtcGF0aCI+JHt0aGlzLm1vdmVTb3VyY2Uua2V5fTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtb3ZlLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1vdmUtbGFiZWwiPlRvOjwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtb3ZlLXBhdGgiPiR7dGhpcy5tb3ZlRGVzdGluYXRpb259JHtMZX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYH0KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFsb2ctYWN0aW9ucyI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRpYWxvZy1idG4gZGlhbG9nLWJ0bi1jYW5jZWwiCiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuY2xvc2VNb3ZlRGlhbG9nKCl9CiAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5tb3ZlSW5Qcm9ncmVzc30+CiAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAke3RoaXMubW92ZUVycm9yPyIiOndgCiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGlhbG9nLWJ0biBkaWFsb2ctYnRuLWNyZWF0ZSIKICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmV4ZWN1dGVNb3ZlKCl9CiAgICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLm1vdmVJblByb2dyZXNzfT4KICAgICAgICAgICAgICAgICR7dGhpcy5tb3ZlSW5Qcm9ncmVzcz8iTW92aW5nLi4uIjoiTW92ZSJ9CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlck1vdmVQaWNrZXJEaWFsb2coKXtpZighdGhpcy5zaG93TW92ZVBpY2tlckRpYWxvZ3x8IXRoaXMubW92ZVBpY2tlclNvdXJjZSlyZXR1cm4iIjtsZXQgTGU9bWEodGhpcy5tb3ZlUGlja2VyU291cmNlLmtleSksU2U9VjEodGhpcy5tb3ZlUGlja2VyU291cmNlLmtleSk7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy1vdmVybGF5IiBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZU1vdmVQaWNrZXJEaWFsb2coKX0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nIG1vdmUtcGlja2VyLWRpYWxvZyIgQGNsaWNrPSR7QmU9PkJlLnN0b3BQcm9wYWdhdGlvbigpfT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYWxvZy10aXRsZSI+TW92ZSAiJHtMZX0iIHRvLi4uPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0icGlja2VyLWJyZWFkY3J1bWIiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icGlja2VyLWNydW1iIiBAY2xpY2s9JHsoKT0+dGhpcy5uYXZpZ2F0ZU1vdmVQaWNrZXIoIiIpfT4KICAgICAgICAgICAgICAke3RoaXMuYnVja2V0TmFtZX0KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAke2c1KHRoaXMubW92ZVBpY2tlckN1cnJlbnRQcmVmaXgpLm1hcChCZT0+d2AKICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGlja2VyLXNlcGFyYXRvciI+Lzwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGlja2VyLWNydW1iIiBAY2xpY2s9JHsoKT0+dGhpcy5uYXZpZ2F0ZU1vdmVQaWNrZXIoQmUpfT4KICAgICAgICAgICAgICAgICR7bWEoQmUpfQogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgYCl9CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJwaWNrZXItbGlzdCI+CiAgICAgICAgICAgICR7dGhpcy5tb3ZlUGlja2VyTG9hZGluZz93YDxkaXYgY2xhc3M9InBpY2tlci1lbXB0eSI+TG9hZGluZy4uLjwvZGl2PmA6IiJ9CiAgICAgICAgICAgICR7IXRoaXMubW92ZVBpY2tlckxvYWRpbmcmJnRoaXMubW92ZVBpY2tlclByZWZpeGVzLmZpbHRlcihCZT0+QmUhPT10aGlzLm1vdmVQaWNrZXJTb3VyY2Uua2V5KS5sZW5ndGg9PT0wP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGlja2VyLWVtcHR5Ij5ObyBzdWJmb2xkZXJzPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICR7dGhpcy5tb3ZlUGlja2VyUHJlZml4ZXMuZmlsdGVyKEJlPT5CZSE9PXRoaXMubW92ZVBpY2tlclNvdXJjZS5rZXkpLm1hcChCZT0+d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBpY2tlci1pdGVtIgogICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5uYXZpZ2F0ZU1vdmVQaWNrZXIoQmUpfQogICAgICAgICAgICAgICAgICAgICBAZGJsY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RNb3ZlRGVzdGluYXRpb24oQmUpfT4KICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMiAxOWEyIDIgMCAwIDEtMiAySDRhMiAyIDAgMCAxLTItMlY1YTIgMiAwIDAgMSAyLTJoNWwyIDNoOWEyIDIgMCAwIDEgMiAyeiIvPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5hbWUiPiR7bWEoQmUpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbG9nLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY2FuY2VsIiBAY2xpY2s9JHsoKT0+dGhpcy5jbG9zZU1vdmVQaWNrZXJEaWFsb2coKX0+CiAgICAgICAgICAgICAgQ2FuY2VsCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkaWFsb2ctYnRuIGRpYWxvZy1idG4tY3JlYXRlIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnNlbGVjdE1vdmVEZXN0aW5hdGlvbih0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4KX0KICAgICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLm1vdmVQaWNrZXJDdXJyZW50UHJlZml4PT09U2V9PgogICAgICAgICAgICAgIE1vdmUgSGVyZQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImtleXMtY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJmaWx0ZXItYmFyIj4KICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICBjbGFzcz0iZmlsdGVyLWlucHV0IgogICAgICAgICAgICBwbGFjZWhvbGRlcj0iRmlsdGVyIGZpbGVzLi4uIgogICAgICAgICAgICAudmFsdWU9JHt0aGlzLmZpbHRlclRleHR9CiAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlRmlsdGVySW5wdXR9CiAgICAgICAgICAvPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJrZXlzLWxpc3QiIEBjb250ZXh0bWVudT0ke0xlPT50aGlzLmhhbmRsZUVtcHR5U3BhY2VDb250ZXh0TWVudShMZSl9PgogICAgICAgICAgJHt0aGlzLmxvYWRpbmc/d2A8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+TG9hZGluZy4uLjwvZGl2PmA6dGhpcy5maWx0ZXJlZEl0ZW1zLmxlbmd0aD09PTA/d2A8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gb2JqZWN0cyBmb3VuZDwvZGl2PmA6d2AKICAgICAgICAgICAgICAgICAgPHRhYmxlPgogICAgICAgICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPk5hbWU8L3RoPgogICAgICAgICAgICAgICAgICAgICAgICA8dGggc3R5bGU9IndpZHRoOiAxMDBweDsiPlNpemU8L3RoPgogICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgICAgICAgICR7dGhpcy5maWx0ZXJlZEl0ZW1zLm1hcChMZT0+d2AKICAgICAgICAgICAgICAgICAgICAgICAgICA8dHIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSIke3RoaXMuc2VsZWN0ZWRLZXk9PT1MZS5rZXk/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RLZXkoTGUua2V5LExlLmlzRm9sZGVyKX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjb250ZXh0bWVudT0ke1NlPT50aGlzLmhhbmRsZUl0ZW1Db250ZXh0TWVudShTZSxMZS5rZXksTGUuaXNGb2xkZXIpfQogICAgICAgICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ia2V5LWNlbGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7TGUuaXNGb2xkZXI/d2AKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJrZXktaWNvbiBmb2xkZXItaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIyIDE5YTIgMiAwIDAgMS0yIDJINGEyIDIgMCAwIDEtMi0yVjVhMiAyIDAgMCAxIDItMmg1bDIgM2g5YTIgMiAwIDAgMSAyIDJ6IiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ia2V5LWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTQgMkg2YTIgMiAwIDAgMC0yIDJ2MTZhMiAyIDAgMCAwIDIgMmgxMmEyIDIgMCAwIDAgMi0yVjh6IiAvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJrZXktbmFtZSI+JHttYShMZS5rZXkpfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPSJzaXplLWNlbGwiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAke0xlLmlzRm9sZGVyPyItIjpLbShMZS5zaXplKX0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgICAgICAgIGB9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAke3RoaXMucmVuZGVyQ3JlYXRlRGlhbG9nKCl9CiAgICAgICR7dGhpcy5yZW5kZXJNb3ZlRGlhbG9nKCl9CiAgICAgICR7dGhpcy5yZW5kZXJNb3ZlUGlja2VyRGlhbG9nKCl9CiAgICAgICR7dGhpcy5yZW5kZXJSZW5hbWVEaWFsb2coKX0KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLEN0KHRoaXMsaG8pfXN0YXRpY3tDdChyLHQpfX07cmV0dXJuIG1vPXJ9KSgpfSk7dmFyIFBvLHJyLHcwYSxMUWU9ZigoKT0+e2xlKCk7UWUoKTtKVygpO1BvPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxycj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sdzBhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1zdG9yYWdlLXByZXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W107dmFyIFg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTdG9yYWdlUHJldmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBKPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9W0soKV0seT1bSygpXSxOPVtLKCldLE89W0soKV0sQj1bSygpXSxQPVtLKCldLFc9W0soKV0saGU9W0soKV0sbWU9W0soKV0sY2U9W0soKV0sUG8odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkYXRhUHJvdmlkZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+ImRhdGFQcm92aWRlciJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLmRhdGFQcm92aWRlciwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5kYXRhUHJvdmlkZXI9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sbixsKSxQbyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJ1Y2tldE5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+ImJ1Y2tldE5hbWUiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5idWNrZXROYW1lLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLmJ1Y2tldE5hbWU9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sYyxwKSxQbyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9iamVjdEtleSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4ib2JqZWN0S2V5ImluIFosImhhcyIpLGdldDpzKFo9Ploub2JqZWN0S2V5LCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLm9iamVjdEtleT1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxtLHYpLFBvKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4ibG9hZGluZyJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLmxvYWRpbmcsImdldCIpLHNldDpzKChaLGdlKT0+e1oubG9hZGluZz1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxiLGcpLFBvKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2F2aW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJzYXZpbmciaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5zYXZpbmcsImdldCIpLHNldDpzKChaLGdlKT0+e1ouc2F2aW5nPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LGssQyksUG8odGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJjb250ZW50ImluIFosImhhcyIpLGdldDpzKFo9PlouY29udGVudCwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5jb250ZW50PWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LF8seiksUG8odGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcmlnaW5hbFRleHRDb250ZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJvcmlnaW5hbFRleHRDb250ZW50ImluIFosImhhcyIpLGdldDpzKFo9Ploub3JpZ2luYWxUZXh0Q29udGVudCwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5vcmlnaW5hbFRleHRDb250ZW50PWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LFQsRSksUG8odGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoYXNDaGFuZ2VzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJoYXNDaGFuZ2VzImluIFosImhhcyIpLGdldDpzKFo9PlouaGFzQ2hhbmdlcywiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5oYXNDaGFuZ2VzPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LE0sUyksUG8odGhpcyxudWxsLFAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlZGl0aW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJlZGl0aW5nImluIFosImhhcyIpLGdldDpzKFo9PlouZWRpdGluZywiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5lZGl0aW5nPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LEEsRiksUG8odGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb250ZW50VHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4iY29udGVudFR5cGUiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5jb250ZW50VHlwZSwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5jb250ZW50VHlwZT1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxqLEcpLFBvKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImZpbGVTaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJmaWxlU2l6ZSJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLmZpbGVTaXplLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLmZpbGVTaXplPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LFIsVSksUG8odGhpcyxudWxsLG1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFzdE1vZGlmaWVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJsYXN0TW9kaWZpZWQiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5sYXN0TW9kaWZpZWQsImdldCIpLHNldDpzKChaLGdlKT0+e1oubGFzdE1vZGlmaWVkPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LEkscSksUG8odGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+ImVycm9yImluIFosImhhcyIpLGdldDpzKFo9PlouZXJyb3IsImdldCIpLHNldDpzKChaLGdlKT0+e1ouZXJyb3I9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sdWUsWSksUG8obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Sn0sbnVsbCx0KSxYPXI9ZS52YWx1ZSxKJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkp9KX0jZT1ycih0aGlzLG4sbnVsbCk7Z2V0IGRhdGFQcm92aWRlcigpe3JldHVybiB0aGlzLiNlfXNldCBkYXRhUHJvdmlkZXIoSil7dGhpcy4jZT1KfSN0PShycih0aGlzLGwpLHJyKHRoaXMsYywiIikpO2dldCBidWNrZXROYW1lKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGJ1Y2tldE5hbWUoSil7dGhpcy4jdD1KfSNhPShycih0aGlzLHApLHJyKHRoaXMsbSwiIikpO2dldCBvYmplY3RLZXkoKXtyZXR1cm4gdGhpcy4jYX1zZXQgb2JqZWN0S2V5KEope3RoaXMuI2E9Sn0jcj0ocnIodGhpcyx2KSxycih0aGlzLGIsITEpKTtnZXQgbG9hZGluZygpe3JldHVybiB0aGlzLiNyfXNldCBsb2FkaW5nKEope3RoaXMuI3I9Sn0jcz0ocnIodGhpcyxnKSxycih0aGlzLGssITEpKTtnZXQgc2F2aW5nKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNhdmluZyhKKXt0aGlzLiNzPUp9I2k9KHJyKHRoaXMsQykscnIodGhpcyxfLCIiKSk7Z2V0IGNvbnRlbnQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgY29udGVudChKKXt0aGlzLiNpPUp9I289KHJyKHRoaXMseikscnIodGhpcyxULCIiKSk7Z2V0IG9yaWdpbmFsVGV4dENvbnRlbnQoKXtyZXR1cm4gdGhpcy4jb31zZXQgb3JpZ2luYWxUZXh0Q29udGVudChKKXt0aGlzLiNvPUp9I249KHJyKHRoaXMsRSkscnIodGhpcyxNLCExKSk7Z2V0IGhhc0NoYW5nZXMoKXtyZXR1cm4gdGhpcy4jbn1zZXQgaGFzQ2hhbmdlcyhKKXt0aGlzLiNuPUp9I2w9KHJyKHRoaXMsUykscnIodGhpcyxBLCExKSk7Z2V0IGVkaXRpbmcoKXtyZXR1cm4gdGhpcy4jbH1zZXQgZWRpdGluZyhKKXt0aGlzLiNsPUp9I2M9KHJyKHRoaXMsRikscnIodGhpcyxqLCIiKSk7Z2V0IGNvbnRlbnRUeXBlKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGNvbnRlbnRUeXBlKEope3RoaXMuI2M9Sn0jZD0ocnIodGhpcyxHKSxycih0aGlzLFIsMCkpO2dldCBmaWxlU2l6ZSgpe3JldHVybiB0aGlzLiNkfXNldCBmaWxlU2l6ZShKKXt0aGlzLiNkPUp9I3U9KHJyKHRoaXMsVSkscnIodGhpcyxJLCIiKSk7Z2V0IGxhc3RNb2RpZmllZCgpe3JldHVybiB0aGlzLiN1fXNldCBsYXN0TW9kaWZpZWQoSil7dGhpcy4jdT1KfSNwPShycih0aGlzLHEpLHJyKHRoaXMsdWUsIiIpKTtnZXQgZXJyb3IoKXtyZXR1cm4gdGhpcy4jcH1zZXQgZXJyb3IoSil7dGhpcy4jcD1KfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxFZSxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAucHJldmlldy1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWhlYWRlciB7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMzMzIil9OwogICAgICB9CgogICAgICAucHJldmlldy10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgfQoKICAgICAgLnByZXZpZXctbWV0YSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjODg4Iil9OwogICAgICB9CgogICAgICAubWV0YS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnByZXZpZXctY29udGVudCBkZWVzLXByZXZpZXcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLnByZXZpZXctY29udGVudC5jb2RlLWVkaXRvciB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucHJldmlldy1jb250ZW50LmNvZGUtZWRpdG9yIGRlZXMtaW5wdXQtY29kZSB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAucHJldmlldy1hY3Rpb25zIHsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzMzMiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idG4gewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjNDA0MDQwIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNmM2Y0NiIsIiNlMGUwZTAiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bi5kYW5nZXIgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMik7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWY0NDQ0OwogICAgICAgIGNvbG9yOiAjZjg3MTcxOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bi5kYW5nZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMyk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnRuLnByaW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpOwogICAgICAgIGJvcmRlci1jb2xvcjogIzNiODJmNjsKICAgICAgICBjb2xvcjogIzYwYTVmYTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idG4ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuNCk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnRuLnByaW1hcnk6ZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bi5zZWNvbmRhcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzU1NSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYWFhIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ0bi5zZWNvbmRhcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDYpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmZmYiKX07CiAgICAgIH0KCiAgICAgIC51bnNhdmVkLWluZGljYXRvciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjUxLCAxOTEsIDM2LCAwLjEpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjUxLCAxOTEsIDM2LCAwLjMpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICNmYmJmMjQ7CiAgICAgIH0KCiAgICAgIC51bnNhdmVkLWRvdCB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogI2ZiYmYyNDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzY2NiIpfTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHN2ZyB7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAubG9hZGluZy1zdGF0ZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjODg4Iil9OwogICAgICB9CgogICAgICAuZXJyb3Itc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgY29sb3I6ICNmODcxNzE7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICB9CiAgICBgXTt1cGRhdGVkKEopeyhKLmhhcygib2JqZWN0S2V5Iil8fEouaGFzKCJidWNrZXROYW1lIikpJiYodGhpcy5vYmplY3RLZXk/dGhpcy5sb2FkT2JqZWN0KCk6KHRoaXMuY29udGVudD0iIix0aGlzLmNvbnRlbnRUeXBlPSIiLHRoaXMuZXJyb3I9IiIsdGhpcy5vcmlnaW5hbFRleHRDb250ZW50PSIiLHRoaXMuaGFzQ2hhbmdlcz0hMSx0aGlzLmVkaXRpbmc9ITEpKX1hc3luYyBsb2FkT2JqZWN0KCl7aWYoISghdGhpcy5vYmplY3RLZXl8fCF0aGlzLmJ1Y2tldE5hbWV8fCF0aGlzLmRhdGFQcm92aWRlcikpe3RoaXMubG9hZGluZz0hMCx0aGlzLmVycm9yPSIiLHRoaXMuaGFzQ2hhbmdlcz0hMSx0aGlzLmVkaXRpbmc9ITE7dHJ5e2xldCBKPWF3YWl0IHRoaXMuZGF0YVByb3ZpZGVyLmdldE9iamVjdCh0aGlzLmJ1Y2tldE5hbWUsdGhpcy5vYmplY3RLZXkpO2lmKCFKKXt0aGlzLmVycm9yPSJPYmplY3Qgbm90IGZvdW5kIix0aGlzLmxvYWRpbmc9ITE7cmV0dXJufXRoaXMuY29udGVudD1KLmNvbnRlbnR8fCIiLHRoaXMuY29udGVudFR5cGU9Si5jb250ZW50VHlwZXx8IiIsdGhpcy5maWxlU2l6ZT1KLnNpemV8fDAsdGhpcy5sYXN0TW9kaWZpZWQ9Si5sYXN0TW9kaWZpZWR8fCIiLHRoaXMuaXNUZXh0KCkmJih0aGlzLm9yaWdpbmFsVGV4dENvbnRlbnQ9dGhpcy5nZXRUZXh0Q29udGVudCgpKX1jYXRjaChKKXtjb25zb2xlLmVycm9yKCJFcnJvciBsb2FkaW5nIG9iamVjdDoiLEopLHRoaXMuZXJyb3I9IkZhaWxlZCB0byBsb2FkIG9iamVjdCJ9dGhpcy5sb2FkaW5nPSExfX1mb3JtYXREYXRlKEope3JldHVybiBKP25ldyBEYXRlKEopLnRvTG9jYWxlU3RyaW5nKCk6Ii0ifWlzSW1hZ2UoKXtyZXR1cm4gdGhpcy5jb250ZW50VHlwZS5zdGFydHNXaXRoKCJpbWFnZS8iKX1pc1RleHQoKXtyZXR1cm4gdGhpcy5jb250ZW50VHlwZS5zdGFydHNXaXRoKCJ0ZXh0LyIpfHx0aGlzLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL2pzb24ifHx0aGlzLmNvbnRlbnRUeXBlPT09ImFwcGxpY2F0aW9uL3htbCJ8fHRoaXMuY29udGVudFR5cGU9PT0iYXBwbGljYXRpb24vamF2YXNjcmlwdCJ9Z2V0VGV4dENvbnRlbnQoKXt0cnl7bGV0IEo9YXRvYih0aGlzLmNvbnRlbnQpLFo9bmV3IFVpbnQ4QXJyYXkoSi5sZW5ndGgpO2ZvcihsZXQgZ2U9MDtnZTxKLmxlbmd0aDtnZSsrKVpbZ2VdPUouY2hhckNvZGVBdChnZSk7cmV0dXJuIG5ldyBUZXh0RGVjb2RlcigidXRmLTgiKS5kZWNvZGUoWil9Y2F0Y2h7cmV0dXJuIlVuYWJsZSB0byBkZWNvZGUgY29udGVudCJ9fWFzeW5jIGhhbmRsZURvd25sb2FkKCl7dHJ5e2xldCBKPW5ldyBCbG9iKFtVaW50OEFycmF5LmZyb20oYXRvYih0aGlzLmNvbnRlbnQpLGFlPT5hZS5jaGFyQ29kZUF0KDApKV0se3R5cGU6dGhpcy5jb250ZW50VHlwZX0pLFo9VVJMLmNyZWF0ZU9iamVjdFVSTChKKSxnZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7Z2UuaHJlZj1aLGdlLmRvd25sb2FkPW1hKHRoaXMub2JqZWN0S2V5KSxkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGdlKSxnZS5jbGljaygpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZ2UpLFVSTC5yZXZva2VPYmplY3RVUkwoWil9Y2F0Y2goSil7Y29uc29sZS5lcnJvcigiRXJyb3IgZG93bmxvYWRpbmc6IixKKX19YXN5bmMgaGFuZGxlRGVsZXRlKCl7aWYodGhpcy5kYXRhUHJvdmlkZXImJmNvbmZpcm0oYERlbGV0ZSAiJHttYSh0aGlzLm9iamVjdEtleSl9Ij9gKSl0cnl7YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIuZGVsZXRlT2JqZWN0KHRoaXMuYnVja2V0TmFtZSx0aGlzLm9iamVjdEtleSksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgib2JqZWN0LWRlbGV0ZWQiLHtkZXRhaWw6e2tleTp0aGlzLm9iamVjdEtleX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jYXRjaChKKXtjb25zb2xlLmVycm9yKCJFcnJvciBkZWxldGluZyBvYmplY3Q6IixKKX19Z2V0TGFuZ3VhZ2UoKXtsZXQgSj10aGlzLm9iamVjdEtleS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpfHwiIjtyZXR1cm57dHM6InR5cGVzY3JpcHQiLHRzeDoidHlwZXNjcmlwdCIsanM6ImphdmFzY3JpcHQiLGpzeDoiamF2YXNjcmlwdCIsbWpzOiJqYXZhc2NyaXB0IixjanM6ImphdmFzY3JpcHQiLGpzb246Impzb24iLGh0bWw6Imh0bWwiLGh0bToiaHRtbCIsY3NzOiJjc3MiLHNjc3M6InNjc3MiLHNhc3M6InNjc3MiLGxlc3M6Imxlc3MiLG1kOiJtYXJrZG93biIsbWFya2Rvd246Im1hcmtkb3duIix4bWw6InhtbCIseWFtbDoieWFtbCIseW1sOiJ5YW1sIixweToicHl0aG9uIixyYjoicnVieSIsZ286ImdvIixyczoicnVzdCIsamF2YToiamF2YSIsYzoiYyIsY3BwOiJjcHAiLGg6ImMiLGhwcDoiY3BwIixjczoiY3NoYXJwIixwaHA6InBocCIsc2g6InNoZWxsIixiYXNoOiJzaGVsbCIsenNoOiJzaGVsbCIsc3FsOiJzcWwiLGdyYXBocWw6ImdyYXBocWwiLGdxbDoiZ3JhcGhxbCIsZG9ja2VyZmlsZToiZG9ja2VyZmlsZSIsdHh0OiJwbGFpbnRleHQifVtKXXx8InBsYWludGV4dCJ9aGFuZGxlQ29udGVudENoYW5nZShKKXtsZXQgWj1KLmRldGFpbDt0aGlzLmhhc0NoYW5nZXM9WiE9PXRoaXMub3JpZ2luYWxUZXh0Q29udGVudH1oYW5kbGVFZGl0KCl7dGhpcy5lZGl0aW5nPSEwfWhhbmRsZURpc2NhcmQoKXtsZXQgSj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtaW5wdXQtY29kZSIpO0omJihKLnZhbHVlPXRoaXMub3JpZ2luYWxUZXh0Q29udGVudCksdGhpcy5oYXNDaGFuZ2VzPSExLHRoaXMuZWRpdGluZz0hMX1hc3luYyBoYW5kbGVTYXZlKCl7aWYoISghdGhpcy5oYXNDaGFuZ2VzfHx0aGlzLnNhdmluZ3x8IXRoaXMuZGF0YVByb3ZpZGVyKSl7dGhpcy5zYXZpbmc9ITA7dHJ5e2xldCBaPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy1pbnB1dC1jb2RlIik/LnZhbHVlPz8iIixhZT1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoWikscmU9YnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLmFlKSk7YXdhaXQgdGhpcy5kYXRhUHJvdmlkZXIucHV0T2JqZWN0KHRoaXMuYnVja2V0TmFtZSx0aGlzLm9iamVjdEtleSxyZSx0aGlzLmNvbnRlbnRUeXBlKSYmKHRoaXMub3JpZ2luYWxUZXh0Q29udGVudD1aLHRoaXMuaGFzQ2hhbmdlcz0hMSx0aGlzLmVkaXRpbmc9ITEsdGhpcy5jb250ZW50PXJlKX1jYXRjaChKKXtjb25zb2xlLmVycm9yKCJFcnJvciBzYXZpbmcgb2JqZWN0OiIsSil9dGhpcy5zYXZpbmc9ITF9fXJlbmRlcigpe3JldHVybiB0aGlzLm9iamVjdEtleT90aGlzLmxvYWRpbmc/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXN0YXRlIj5Mb2FkaW5nLi4uPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6dGhpcy5lcnJvcj93YAogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctY29udGFpbmVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLXN0YXRlIj4ke3RoaXMuZXJyb3J9PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctdGl0bGUiPiR7bWEodGhpcy5vYmplY3RLZXkpfTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1tZXRhIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldGEtaXRlbSI+JHt0aGlzLmNvbnRlbnRUeXBlfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldGEtaXRlbSI+JHtLbSh0aGlzLmZpbGVTaXplKX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRhLWl0ZW0iPiR7dGhpcy5mb3JtYXREYXRlKHRoaXMubGFzdE1vZGlmaWVkKX08L3NwYW4+CiAgICAgICAgICAgICR7dGhpcy5oYXNDaGFuZ2VzP3dgCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InVuc2F2ZWQtaW5kaWNhdG9yIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ1bnNhdmVkLWRvdCI+PC9zcGFuPgogICAgICAgICAgICAgICAgVW5zYXZlZCBjaGFuZ2VzCiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctY29udGVudCAke3RoaXMuZWRpdGluZz8iY29kZS1lZGl0b3IiOiIifSI+CiAgICAgICAgICAke3RoaXMuZWRpdGluZz93YAogICAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtY29kZQogICAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLm9yaWdpbmFsVGV4dENvbnRlbnR9CiAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZT0ke3RoaXMuZ2V0TGFuZ3VhZ2UoKX0KICAgICAgICAgICAgICAgICAgaGVpZ2h0PSIxMDAlIgogICAgICAgICAgICAgICAgICBAY29udGVudC1jaGFuZ2U9JHtKPT50aGlzLmhhbmRsZUNvbnRlbnRDaGFuZ2UoSil9CiAgICAgICAgICAgICAgICA+PC9kZWVzLWlucHV0LWNvZGU+CiAgICAgICAgICAgICAgYDp0aGlzLmlzVGV4dCgpP3dgCiAgICAgICAgICAgICAgICAgIDxkZWVzLXByZXZpZXcKICAgICAgICAgICAgICAgICAgICAudGV4dENvbnRlbnQ9JHt0aGlzLm9yaWdpbmFsVGV4dENvbnRlbnR9CiAgICAgICAgICAgICAgICAgICAgLmZpbGVuYW1lPSR7bWEodGhpcy5vYmplY3RLZXkpfQogICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZT0ke3RoaXMuZ2V0TGFuZ3VhZ2UoKX0KICAgICAgICAgICAgICAgICAgICAuc2hvd1Rvb2xiYXI9JHshMH0KICAgICAgICAgICAgICAgICAgICAuc2hvd0ZpbGVuYW1lPSR7ITF9CiAgICAgICAgICAgICAgICAgID48L2RlZXMtcHJldmlldz4KICAgICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgICAgPGRlZXMtcHJldmlldwogICAgICAgICAgICAgICAgICAgIC5iYXNlNjQ9JHt0aGlzLmNvbnRlbnR9CiAgICAgICAgICAgICAgICAgICAgLm1pbWVUeXBlPSR7dGhpcy5jb250ZW50VHlwZX0KICAgICAgICAgICAgICAgICAgICAuZmlsZW5hbWU9JHttYSh0aGlzLm9iamVjdEtleSl9CiAgICAgICAgICAgICAgICAgICAgLnNob3dUb29sYmFyPSR7ITB9CiAgICAgICAgICAgICAgICAgICAgLnNob3dGaWxlbmFtZT0keyExfQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXByZXZpZXc+CiAgICAgICAgICAgICAgICBgfQogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWFjdGlvbnMiPgogICAgICAgICAgJHt0aGlzLmVkaXRpbmc/d2AKICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idG4gc2Vjb25kYXJ5IiBAY2xpY2s9JHt0aGlzLmhhbmRsZURpc2NhcmR9PgogICAgICAgICAgICAgICAgICAke3RoaXMuaGFzQ2hhbmdlcz8iRGlzY2FyZCI6IkNhbmNlbCJ9CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgICAgY2xhc3M9ImFjdGlvbi1idG4gcHJpbWFyeSIKICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVTYXZlfQogICAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLnNhdmluZ3x8IXRoaXMuaGFzQ2hhbmdlc30KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgJHt0aGlzLnNhdmluZz8iU2F2aW5nLi4uIjoiU2F2ZSJ9CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAke3RoaXMuaXNUZXh0KCk/d2A8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnRuIiBAY2xpY2s9JHt0aGlzLmhhbmRsZUVkaXR9PkVkaXQ8L2J1dHRvbj5gOiIifQogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ0biIgQGNsaWNrPSR7dGhpcy5oYW5kbGVEb3dubG9hZH0+RG93bmxvYWQ8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idG4gZGFuZ2VyIiBAY2xpY2s9JHt0aGlzLmhhbmRsZURlbGV0ZX0+RGVsZXRlPC9idXR0b24+CiAgICAgICAgICAgICAgYH0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgOndgCiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1jb250YWluZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTE0IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY4eiIgLz4KICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNCAyIDE0IDggMjAgOCIgLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIDxwPlNlbGVjdCBhIGZpbGUgdG8gcHJldmlldzwvcD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxycih0aGlzLFkpfXN0YXRpY3tycihyLHQpfX07cmV0dXJuIFg9cn0pKCl9KTt2YXIgcW4sX3IsTTBhLENRZT1mKCgpPT57bGUoKTtRZSgpO2IwYSgpO19RZSgpO1RRZSgpO0xRZSgpO3FuPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxfcj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sTTBhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1zdG9yYWdlLWJyb3dzZXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W107dmFyIG1lPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzU3RvcmFnZUJyb3dzZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgST10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOk9iamVjdH0pXSx4PVtLKCldLHk9W0soKV0sTj1bSygpXSxPPVtLKCldLEI9W0soKV0sUD1bSygpXSxXPVtLKCldLGhlPVtLKCldLHFuKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YVByb3ZpZGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJkYXRhUHJvdmlkZXIiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5kYXRhUHJvdmlkZXIsImdldCIpLHNldDpzKChxLGNlKT0+e3EuZGF0YVByb3ZpZGVyPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LG4sbCkscW4odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJidWNrZXROYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJidWNrZXROYW1lImluIHEsImhhcyIpLGdldDpzKHE9PnEuYnVja2V0TmFtZSwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5idWNrZXROYW1lPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGMscCkscW4odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvbkNoYW5nZUV2ZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJvbkNoYW5nZUV2ZW50ImluIHEsImhhcyIpLGdldDpzKHE9PnEub25DaGFuZ2VFdmVudCwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5vbkNoYW5nZUV2ZW50PWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LG0sdikscW4odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2aWV3VHlwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4idmlld1R5cGUiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS52aWV3VHlwZSwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS52aWV3VHlwZT1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxiLGcpLHFuKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFByZWZpeCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4iY3VycmVudFByZWZpeCJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLmN1cnJlbnRQcmVmaXgsImdldCIpLHNldDpzKChxLGNlKT0+e3EuY3VycmVudFByZWZpeD1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxrLEMpLHFuKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRLZXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InNlbGVjdGVkS2V5ImluIHEsImhhcyIpLGdldDpzKHE9PnEuc2VsZWN0ZWRLZXksImdldCIpLHNldDpzKChxLGNlKT0+e3Euc2VsZWN0ZWRLZXk9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sXyx6KSxxbih0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlZnJlc2hLZXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InJlZnJlc2hLZXkiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5yZWZyZXNoS2V5LCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnJlZnJlc2hLZXk9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sVCxFKSxxbih0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByZXZpZXdXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4icHJldmlld1dpZHRoImluIHEsImhhcyIpLGdldDpzKHE9PnEucHJldmlld1dpZHRoLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnByZXZpZXdXaWR0aD1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxNLFMpLHFuKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNSZXNpemluZ1ByZXZpZXciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImlzUmVzaXppbmdQcmV2aWV3ImluIHEsImhhcyIpLGdldDpzKHE9PnEuaXNSZXNpemluZ1ByZXZpZXcsImdldCIpLHNldDpzKChxLGNlKT0+e3EuaXNSZXNpemluZ1ByZXZpZXc9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sQSxGKSxxbih0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlY2VudENoYW5nZUNvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJyZWNlbnRDaGFuZ2VDb3VudCJpbiBxLCJoYXMiKSxnZXQ6cyhxPT5xLnJlY2VudENoYW5nZUNvdW50LCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnJlY2VudENoYW5nZUNvdW50PWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGosRykscW4odGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNTdHJlYW1Db25uZWN0ZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImlzU3RyZWFtQ29ubmVjdGVkImluIHEsImhhcyIpLGdldDpzKHE9PnEuaXNTdHJlYW1Db25uZWN0ZWQsImdldCIpLHNldDpzKChxLGNlKT0+e3EuaXNTdHJlYW1Db25uZWN0ZWQ9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sUixVKSxxbihudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpJfSxudWxsLHQpLG1lPXI9ZS52YWx1ZSxJJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkl9KX1zdGF0aWMgZGVtbz1nMGE7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXRhIFZpZXciXTsjZT1fcih0aGlzLG4sbnVsbCk7Z2V0IGRhdGFQcm92aWRlcigpe3JldHVybiB0aGlzLiNlfXNldCBkYXRhUHJvdmlkZXIoSSl7dGhpcy4jZT1JfSN0PShfcih0aGlzLGwpLF9yKHRoaXMsYywiIikpO2dldCBidWNrZXROYW1lKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGJ1Y2tldE5hbWUoSSl7dGhpcy4jdD1JfSNhPShfcih0aGlzLHApLF9yKHRoaXMsbSxudWxsKSk7Z2V0IG9uQ2hhbmdlRXZlbnQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgb25DaGFuZ2VFdmVudChJKXt0aGlzLiNhPUl9I3I9KF9yKHRoaXMsdiksX3IodGhpcyxiLCJjb2x1bW5zIikpO2dldCB2aWV3VHlwZSgpe3JldHVybiB0aGlzLiNyfXNldCB2aWV3VHlwZShJKXt0aGlzLiNyPUl9I3M9KF9yKHRoaXMsZyksX3IodGhpcyxrLCIiKSk7Z2V0IGN1cnJlbnRQcmVmaXgoKXtyZXR1cm4gdGhpcy4jc31zZXQgY3VycmVudFByZWZpeChJKXt0aGlzLiNzPUl9I2k9KF9yKHRoaXMsQyksX3IodGhpcyxfLCIiKSk7Z2V0IHNlbGVjdGVkS2V5KCl7cmV0dXJuIHRoaXMuI2l9c2V0IHNlbGVjdGVkS2V5KEkpe3RoaXMuI2k9SX0jbz0oX3IodGhpcyx6KSxfcih0aGlzLFQsMCkpO2dldCByZWZyZXNoS2V5KCl7cmV0dXJuIHRoaXMuI299c2V0IHJlZnJlc2hLZXkoSSl7dGhpcy4jbz1JfSNuPShfcih0aGlzLEUpLF9yKHRoaXMsTSw3MDApKTtnZXQgcHJldmlld1dpZHRoKCl7cmV0dXJuIHRoaXMuI259c2V0IHByZXZpZXdXaWR0aChJKXt0aGlzLiNuPUl9I2w9KF9yKHRoaXMsUyksX3IodGhpcyxBLCExKSk7Z2V0IGlzUmVzaXppbmdQcmV2aWV3KCl7cmV0dXJuIHRoaXMuI2x9c2V0IGlzUmVzaXppbmdQcmV2aWV3KEkpe3RoaXMuI2w9SX0jYz0oX3IodGhpcyxGKSxfcih0aGlzLGosMCkpO2dldCByZWNlbnRDaGFuZ2VDb3VudCgpe3JldHVybiB0aGlzLiNjfXNldCByZWNlbnRDaGFuZ2VDb3VudChJKXt0aGlzLiNjPUl9I2Q9KF9yKHRoaXMsRyksX3IodGhpcyxSLCExKSk7Z2V0IGlzU3RyZWFtQ29ubmVjdGVkKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGlzU3RyZWFtQ29ubmVjdGVkKEkpe3RoaXMuI2Q9SX1jaGFuZ2VVbnN1YnNjcmliZT0oX3IodGhpcyxVKSxudWxsKTtzdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsRWUsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmJyb3dzZXItY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAudG9vbGJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDMpIiwicmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuYnJlYWRjcnVtYiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM5OTkiKX07CiAgICAgIH0KCiAgICAgIC5icmVhZGNydW1iLWl0ZW0gewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzOwogICAgICB9CgogICAgICAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA1KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmZmIil9OwogICAgICB9CgogICAgICAuYnJlYWRjcnVtYi1zZXBhcmF0b3IgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiM1NTUiKX07CiAgICAgIH0KCiAgICAgIC52aWV3LXRvZ2dsZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLnZpZXctYnRuIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiM0NDQiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzg4OCIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7CiAgICAgIH0KCiAgICAgIC52aWV3LWJ0bjpob3ZlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM2NjYiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2YzZjQ2IiwiI2FhYSIpfTsKICAgICAgfQoKICAgICAgLnZpZXctYnRuLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM0MDQwNDAiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2UwZTBlMCIpfTsKICAgICAgfQoKICAgICAgLmNvbnRlbnQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICBnYXA6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmNvbnRlbnQuaGFzLXByZXZpZXcgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDRweCB2YXIoLS1wcmV2aWV3LXdpZHRoLCA3MDBweCk7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtZGl2aWRlciB7CiAgICAgICAgd2lkdGg6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBjdXJzb3I6IGNvbC1yZXNpemU7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzOwogICAgICB9CgogICAgICAucmVzaXplLWRpdmlkZXI6aG92ZXIsCiAgICAgIC5yZXNpemUtZGl2aWRlci5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5tYWluLXZpZXcgewogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDIpIiwicmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgfQoKICAgICAgLnByZXZpZXctcGFuZWwgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDIpIiwicmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4OwogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7CiAgICAgICAgLmNvbnRlbnQsCiAgICAgICAgLmNvbnRlbnQuaGFzLXByZXZpZXcgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgfQoKICAgICAgICAucHJldmlldy1wYW5lbCwKICAgICAgICAucmVzaXplLWRpdmlkZXIgewogICAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5zdHJlYW0tc3RhdHVzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM4ODgiKX07CiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4OwogICAgICB9CgogICAgICAuc3RyZWFtLWRvdCB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjODg4Iil9OwogICAgICB9CgogICAgICAuc3RyZWFtLWRvdC5jb25uZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICMyMmM1NWU7CiAgICAgIH0KCiAgICAgIC5jaGFuZ2UtaW5kaWNhdG9yIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwgMTU4LCAxMSwgMC4yKTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAjZjU5ZTBiOwogICAgICAgIG1hcmdpbi1yaWdodDogMTJweDsKICAgICAgfQoKICAgICAgLmNoYW5nZS1pbmRpY2F0b3IucHVsc2UgewogICAgICAgIGFuaW1hdGlvbjogcHVsc2Utb3JhbmdlIDFzIGVhc2UtaW4tb3V0OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHB1bHNlLW9yYW5nZSB7CiAgICAgICAgMCUgeyBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwgMTU4LCAxMSwgMC40KTsgfQogICAgICAgIDEwMCUgeyBiYWNrZ3JvdW5kOiByZ2JhKDI0NSwgMTU4LCAxMSwgMC4yKTsgfQogICAgICB9CiAgICBgXTthc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5zdWJzY3JpYmVUb0NoYW5nZXMoKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy51bnN1YnNjcmliZUZyb21DaGFuZ2VzKCl9cmVmcmVzaCgpe3RoaXMucmVmcmVzaEtleSsrfXNldFZpZXdUeXBlKEkpe3RoaXMudmlld1R5cGU9SX1uYXZpZ2F0ZVRvUHJlZml4KEkpe3RoaXMuY3VycmVudFByZWZpeD1JLHRoaXMuc2VsZWN0ZWRLZXk9IiJ9aGFuZGxlS2V5U2VsZWN0ZWQoSSl7dGhpcy5zZWxlY3RlZEtleT1JLmRldGFpbC5rZXl9aGFuZGxlTmF2aWdhdGUoSSl7dGhpcy5uYXZpZ2F0ZVRvUHJlZml4KEkuZGV0YWlsLnByZWZpeCl9aGFuZGxlT2JqZWN0RGVsZXRlZChJKXt0aGlzLnNlbGVjdGVkS2V5PSIiLHRoaXMucmVmcmVzaEtleSsrfXVwZGF0ZWQoSSl7SS5oYXMoImJ1Y2tldE5hbWUiKSYmKHRoaXMuc2VsZWN0ZWRLZXk9IiIsdGhpcy5jdXJyZW50UHJlZml4PSIiLHRoaXMucmVjZW50Q2hhbmdlQ291bnQ9MCx0aGlzLnVuc3Vic2NyaWJlRnJvbUNoYW5nZXMoKSx0aGlzLnN1YnNjcmliZVRvQ2hhbmdlcygpKSxJLmhhcygib25DaGFuZ2VFdmVudCIpJiYodGhpcy51bnN1YnNjcmliZUZyb21DaGFuZ2VzKCksdGhpcy5zdWJzY3JpYmVUb0NoYW5nZXMoKSl9c3Vic2NyaWJlVG9DaGFuZ2VzKCl7aWYoIXRoaXMub25DaGFuZ2VFdmVudCl7dGhpcy5pc1N0cmVhbUNvbm5lY3RlZD0hMTtyZXR1cm59dHJ5e3RoaXMuY2hhbmdlVW5zdWJzY3JpYmU9dGhpcy5vbkNoYW5nZUV2ZW50KEk9Pnt0aGlzLmhhbmRsZUNoYW5nZShJKX0pLHRoaXMuaXNTdHJlYW1Db25uZWN0ZWQ9ITB9Y2F0Y2goSSl7Y29uc29sZS53YXJuKCJbU3RvcmFnZUJyb3dzZXJdIEZhaWxlZCB0byBzdWJzY3JpYmUgdG8gY2hhbmdlczoiLEkpLHRoaXMuaXNTdHJlYW1Db25uZWN0ZWQ9ITF9fXVuc3Vic2NyaWJlRnJvbUNoYW5nZXMoKXt0aGlzLmNoYW5nZVVuc3Vic2NyaWJlJiYodGhpcy5jaGFuZ2VVbnN1YnNjcmliZSgpLHRoaXMuY2hhbmdlVW5zdWJzY3JpYmU9bnVsbCksdGhpcy5pc1N0cmVhbUNvbm5lY3RlZD0hMX1oYW5kbGVDaGFuZ2UoSSl7dGhpcy5yZWNlbnRDaGFuZ2VDb3VudCsrLHRoaXMucmVmcmVzaEtleSsrfXN0YXJ0UHJldmlld1Jlc2l6ZT1zKEk9PntJLnByZXZlbnREZWZhdWx0KCksdGhpcy5pc1Jlc2l6aW5nUHJldmlldz0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlUHJldmlld1Jlc2l6ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5lbmRQcmV2aWV3UmVzaXplKX0sInN0YXJ0UHJldmlld1Jlc2l6ZSIpO2hhbmRsZVByZXZpZXdSZXNpemU9cyhJPT57aWYoIXRoaXMuaXNSZXNpemluZ1ByZXZpZXcpcmV0dXJuO2xldCBxPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLmNvbnRlbnQiKTtpZighcSlyZXR1cm47bGV0IGNlPXEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksdWU9TWF0aC5taW4oTWF0aC5tYXgoY2UucmlnaHQtSS5jbGllbnRYLDI1MCksMWUzKTt0aGlzLnByZXZpZXdXaWR0aD11ZX0sImhhbmRsZVByZXZpZXdSZXNpemUiKTtlbmRQcmV2aWV3UmVzaXplPXMoKCk9Pnt0aGlzLmlzUmVzaXppbmdQcmV2aWV3PSExLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVQcmV2aWV3UmVzaXplKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmVuZFByZXZpZXdSZXNpemUpfSwiZW5kUHJldmlld1Jlc2l6ZSIpO3JlbmRlcigpe2xldCBJPXRoaXMuY3VycmVudFByZWZpeD90aGlzLmN1cnJlbnRQcmVmaXguc3BsaXQoIi8iKS5maWx0ZXIoQm9vbGVhbik6W107cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImJyb3dzZXItY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImJyZWFkY3J1bWIiPgogICAgICAgICAgICA8c3BhbgogICAgICAgICAgICAgIGNsYXNzPSJicmVhZGNydW1iLWl0ZW0iCiAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVUb1ByZWZpeCgiIil9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICAke3RoaXMuYnVja2V0TmFtZX0KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAke0kubWFwKChxLGNlKT0+e2xldCB1ZT1JLnNsaWNlKDAsY2UrMSkuam9pbigiLyIpKyIvIjtyZXR1cm4gd2AKICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJicmVhZGNydW1iLXNlcGFyYXRvciI+Lzwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJicmVhZGNydW1iLWl0ZW0iCiAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLm5hdmlnYXRlVG9QcmVmaXgodWUpfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAke3F9CiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgYH0pfQogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgJHt0aGlzLm9uQ2hhbmdlRXZlbnQ/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RyZWFtLXN0YXR1cyI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0cmVhbS1kb3QgJHt0aGlzLmlzU3RyZWFtQ29ubmVjdGVkPyJjb25uZWN0ZWQiOiIifSI+PC9zcGFuPgogICAgICAgICAgICAgICR7dGhpcy5pc1N0cmVhbUNvbm5lY3RlZD8iTGl2ZSI6Ik9mZmxpbmUifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke3RoaXMucmVjZW50Q2hhbmdlQ291bnQ+MD93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hhbmdlLWluZGljYXRvciBwdWxzZSI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5yZWNlbnRDaGFuZ2VDb3VudH0gY2hhbmdlJHt0aGlzLnJlY2VudENoYW5nZUNvdW50PjE/InMiOiIifQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDxkaXYgY2xhc3M9InZpZXctdG9nZ2xlIj4KICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgIGNsYXNzPSJ2aWV3LWJ0biAke3RoaXMudmlld1R5cGU9PT0iY29sdW1ucyI/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnNldFZpZXdUeXBlKCJjb2x1bW5zIil9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICBDb2x1bW5zCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgY2xhc3M9InZpZXctYnRuICR7dGhpcy52aWV3VHlwZT09PSJrZXlzIj8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2V0Vmlld1R5cGUoImtleXMiKX0KICAgICAgICAgICAgPgogICAgICAgICAgICAgIExpc3QKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudCAke3RoaXMuc2VsZWN0ZWRLZXk/Imhhcy1wcmV2aWV3IjoiIn0iIHN0eWxlPSItLXByZXZpZXctd2lkdGg6ICR7dGhpcy5wcmV2aWV3V2lkdGh9cHgiPgogICAgICAgICAgPGRpdiBjbGFzcz0ibWFpbi12aWV3Ij4KICAgICAgICAgICAgJHt0aGlzLnZpZXdUeXBlPT09ImNvbHVtbnMiP3dgCiAgICAgICAgICAgICAgICAgIDxkZWVzLXN0b3JhZ2UtY29sdW1ucwogICAgICAgICAgICAgICAgICAgIC5kYXRhUHJvdmlkZXI9JHt0aGlzLmRhdGFQcm92aWRlcn0KICAgICAgICAgICAgICAgICAgICAuYnVja2V0TmFtZT0ke3RoaXMuYnVja2V0TmFtZX0KICAgICAgICAgICAgICAgICAgICAuY3VycmVudFByZWZpeD0ke3RoaXMuY3VycmVudFByZWZpeH0KICAgICAgICAgICAgICAgICAgICAucmVmcmVzaEtleT0ke3RoaXMucmVmcmVzaEtleX0KICAgICAgICAgICAgICAgICAgICBAa2V5LXNlbGVjdGVkPSR7dGhpcy5oYW5kbGVLZXlTZWxlY3RlZH0KICAgICAgICAgICAgICAgICAgICBAbmF2aWdhdGU9JHt0aGlzLmhhbmRsZU5hdmlnYXRlfQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXN0b3JhZ2UtY29sdW1ucz4KICAgICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgICAgPGRlZXMtc3RvcmFnZS1rZXlzCiAgICAgICAgICAgICAgICAgICAgLmRhdGFQcm92aWRlcj0ke3RoaXMuZGF0YVByb3ZpZGVyfQogICAgICAgICAgICAgICAgICAgIC5idWNrZXROYW1lPSR7dGhpcy5idWNrZXROYW1lfQogICAgICAgICAgICAgICAgICAgIC5jdXJyZW50UHJlZml4PSR7dGhpcy5jdXJyZW50UHJlZml4fQogICAgICAgICAgICAgICAgICAgIC5yZWZyZXNoS2V5PSR7dGhpcy5yZWZyZXNoS2V5fQogICAgICAgICAgICAgICAgICAgIEBrZXktc2VsZWN0ZWQ9JHt0aGlzLmhhbmRsZUtleVNlbGVjdGVkfQogICAgICAgICAgICAgICAgICAgIEBuYXZpZ2F0ZT0ke3RoaXMuaGFuZGxlTmF2aWdhdGV9CiAgICAgICAgICAgICAgICAgID48L2RlZXMtc3RvcmFnZS1rZXlzPgogICAgICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICR7dGhpcy5zZWxlY3RlZEtleT93YAogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBjbGFzcz0icmVzaXplLWRpdmlkZXIgJHt0aGlzLmlzUmVzaXppbmdQcmV2aWV3PyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICAgICAgQG1vdXNlZG93bj0ke3RoaXMuc3RhcnRQcmV2aWV3UmVzaXplfQogICAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1wYW5lbCI+CiAgICAgICAgICAgICAgICAgIDxkZWVzLXN0b3JhZ2UtcHJldmlldwogICAgICAgICAgICAgICAgICAgIC5kYXRhUHJvdmlkZXI9JHt0aGlzLmRhdGFQcm92aWRlcn0KICAgICAgICAgICAgICAgICAgICAuYnVja2V0TmFtZT0ke3RoaXMuYnVja2V0TmFtZX0KICAgICAgICAgICAgICAgICAgICAub2JqZWN0S2V5PSR7dGhpcy5zZWxlY3RlZEtleX0KICAgICAgICAgICAgICAgICAgICBAb2JqZWN0LWRlbGV0ZWQ9JHt0aGlzLmhhbmRsZU9iamVjdERlbGV0ZWR9CiAgICAgICAgICAgICAgICAgID48L2RlZXMtc3RvcmFnZS1wcmV2aWV3PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXN0YXRpY3tfcihyLHQpfX07cmV0dXJuIG1lPXJ9KSgpfSk7dmFyIGswYT1mKCgpPT57fSk7dmFyIFMwYT1mKCgpPT57Q1FlKCk7X1FlKCk7VFFlKCk7TFFlKCk7azBhKCk7SlcoKX0pO3ZhciB6MGE9ZigoKT0+e2wwYSgpO2gwYSgpO2xRZSgpO20wYSgpO1MwYSgpfSk7dmFyIGVHLEFjLEMwYSxVc2U9ZigoKT0+e2xlKCk7UWUoKTt2YSgpO2VHPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxBYz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sQzBhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1hY3Rpb25iYXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0FjdGlvbmJhciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBrPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSx1PVtLKCldLHg9W0soKV0sZUcodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50QmFyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJjdXJyZW50QmFyImluIEMsImhhcyIpLGdldDpzKEM9PkMuY3VycmVudEJhciwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmN1cnJlbnRCYXI9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxuLGwpLGVHKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGltZVJlbWFpbmluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4idGltZVJlbWFpbmluZyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnRpbWVSZW1haW5pbmcsImdldCIpLHNldDpzKChDLE4pPT57Qy50aW1lUmVtYWluaW5nPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYyxwKSxlRyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByb2dyZXNzUGVyY2VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4icHJvZ3Jlc3NQZXJjZW50ImluIEMsImhhcyIpLGdldDpzKEM9PkMucHJvZ3Jlc3NQZXJjZW50LCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MucHJvZ3Jlc3NQZXJjZW50PU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbSx2KSxlRyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzVmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iaXNWaXNpYmxlImluIEMsImhhcyIpLGdldDpzKEM9PkMuaXNWaXNpYmxlLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuaXNWaXNpYmxlPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYixnKSxlRyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTprfSxudWxsLHQpLHk9cj1lLnZhbHVlLGsmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6a30pfXN0YXRpYyBkZW1vR3JvdXBzPVsiRmVlZGJhY2siLCJPdmVybGF5Il07c3RhdGljIGRlbW89cygoKT0+e2xldCBrPXMoej0+ei5jdXJyZW50VGFyZ2V0LmNsb3Nlc3QoIi5kZW1vLWNvbnRhaW5lciIpPy5xdWVyeVNlbGVjdG9yKCJkZWVzLWFjdGlvbmJhciIpLCJnZXRBY3Rpb25iYXIiKTtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGhlaWdodDogMzAwcHg7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMzMzOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB9CiAgICAgICAgLmRlbW8tY29udGVudCB7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tY29udGVudCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrPSR7cyhhc3luYyB6PT57bGV0IE89ayh6KTtpZighTylyZXR1cm47bGV0IFQ9YXdhaXQgTy5zaG93KHttZXNzYWdlOiJGaWxlIGNoYW5nZWQgZXh0ZXJuYWxseS4gUmVsb2FkPyIsdHlwZToid2FybmluZyIsaWNvbjoibHVjaWRlOmFsZXJ0VHJpYW5nbGUiLGFjdGlvbnM6W3tpZDoicmVsb2FkIixsYWJlbDoiUmVsb2FkIixwcmltYXJ5OiEwfSx7aWQ6Imlnbm9yZSIsbGFiZWw6Iklnbm9yZSJ9XSx0aW1lb3V0OntkdXJhdGlvbjo1ZTMsZGVmYXVsdEFjdGlvbklkOiJyZWxvYWQifSxkaXNtaXNzaWJsZTohMH0pO2NvbnNvbGUubG9nKCJBY3Rpb24gYmFyIHJlc3VsdDoiLFQpfSwic2hvd0FjdGlvbkJhciIpfT5XYXJuaW5nPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2s9JHtzKGFzeW5jIHo9PntsZXQgTz1rKHopO2lmKCFPKXJldHVybjtsZXQgVD1hd2FpdCBPLnNob3coe21lc3NhZ2U6IlByb2Nlc3MgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEiLHR5cGU6ImVycm9yIixpY29uOiJsdWNpZGU6eENpcmNsZSIsYWN0aW9uczpbe2lkOiJyZXRyeSIsbGFiZWw6IlJldHJ5IixwcmltYXJ5OiEwfSx7aWQ6ImRpc21pc3MiLGxhYmVsOiJEaXNtaXNzIn1dLHRpbWVvdXQ6e2R1cmF0aW9uOjFlNCxkZWZhdWx0QWN0aW9uSWQ6ImRpc21pc3MifX0pO2NvbnNvbGUubG9nKCJFcnJvciBiYXIgcmVzdWx0OiIsVCl9LCJzaG93RXJyb3JCYXIiKX0+RXJyb3I8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGljaz0ke3MoYXN5bmMgej0+e2xldCBPPWsoeik7aWYoIU8pcmV0dXJuO2xldCBUPWF3YWl0IE8uc2hvdyh7bWVzc2FnZToiU2F2ZSBjaGFuZ2VzIGJlZm9yZSBjbG9zaW5nPyIsdHlwZToicXVlc3Rpb24iLGljb246Imx1Y2lkZTpoZWxwQ2lyY2xlIixhY3Rpb25zOlt7aWQ6InNhdmUiLGxhYmVsOiJTYXZlIixwcmltYXJ5OiEwfSx7aWQ6ImRpc2NhcmQiLGxhYmVsOiJEaXNjYXJkIn0se2lkOiJjYW5jZWwiLGxhYmVsOiJDYW5jZWwifV19KTtjb25zb2xlLmxvZygiUXVlc3Rpb24gYmFyIHJlc3VsdDoiLFQpfSwic2hvd1F1ZXN0aW9uQmFyIil9PlF1ZXN0aW9uPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGVlcy1hY3Rpb25iYXI+PC9kZWVzLWFjdGlvbmJhcj4KICAgICAgPC9kaXY+CiAgICBgfSwiZGVtbyIpO3F1ZXVlPVtdOyNlPUFjKHRoaXMsbixudWxsKTtnZXQgY3VycmVudEJhcigpe3JldHVybiB0aGlzLiNlfXNldCBjdXJyZW50QmFyKGspe3RoaXMuI2U9a30jdD0oQWModGhpcyxsKSxBYyh0aGlzLGMsMCkpO2dldCB0aW1lUmVtYWluaW5nKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHRpbWVSZW1haW5pbmcoayl7dGhpcy4jdD1rfSNhPShBYyh0aGlzLHApLEFjKHRoaXMsbSwxMDApKTtnZXQgcHJvZ3Jlc3NQZXJjZW50KCl7cmV0dXJuIHRoaXMuI2F9c2V0IHByb2dyZXNzUGVyY2VudChrKXt0aGlzLiNhPWt9I3I9KEFjKHRoaXMsdiksQWModGhpcyxiLCExKSk7Z2V0IGlzVmlzaWJsZSgpe3JldHVybiB0aGlzLiNyfXNldCBpc1Zpc2libGUoayl7dGhpcy4jcj1rfXRpbWVvdXRJbnRlcnZhbD0oQWModGhpcyxnKSxudWxsKTtjdXJyZW50UmVzb2x2ZT1udWxsO3N0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25iYXItaXRlbSB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDBmcjsKICAgICAgICB0cmFuc2l0aW9uOiBncmlkLXRlbXBsYXRlLXJvd3MgMC4ycyBlYXNlLW91dDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTYlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OCUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgfQoKICAgICAgOmhvc3QoLnZpc2libGUpIC5hY3Rpb25iYXItaXRlbSB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25iYXItY29udGVudCB7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2Utb3V0OwogICAgICB9CgogICAgICA6aG9zdCgudmlzaWJsZSkgLmFjdGlvbmJhci1jb250ZW50IHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyIHsKICAgICAgICBoZWlnaHQ6IDNweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTAlKSIsImhzbCgwIDAlIDE4JSkiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWJhci1maWxsIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA1MCUpIiwiaHNsKDIxMCAxMDAlIDYwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4xcyBsaW5lYXI7CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzcy1iYXItZmlsbC53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDM4IDkyJSA1MCUpIiwiaHNsKDM4IDkyJSA1NSUpIil9OwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyLWZpbGwuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgNTAlKSIsImhzbCgwIDcwJSA1NSUpIil9OwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyLWZpbGwucXVlc3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjcwIDcwJSA1MCUpIiwiaHNsKDI3MCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLmNvbnRlbnQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgbWluLWhlaWdodDogMzJweDsKICAgICAgfQoKICAgICAgLm1lc3NhZ2Utc2VjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAubWVzc2FnZS1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAubWVzc2FnZS1pY29uLmluZm8gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDQ1JSkiLCJoc2woMjEwIDEwMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2UtaWNvbi53YXJuaW5nIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgzOCA5MiUgNDUlKSIsImhzbCgzOCA5MiUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2UtaWNvbi5lcnJvciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgNTAlKSIsImhzbCgwIDcwJSA1NSUpIil9OwogICAgICB9CgogICAgICAubWVzc2FnZS1pY29uLnF1ZXN0aW9uIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyNzAgNzAlIDUwJSkiLCJoc2woMjcwIDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICAubWVzc2FnZS10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAyMCUpIiwiaHNsKDAgMCUgODUlKSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25zLXNlY3Rpb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiA0cHggMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnNlY29uZGFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAzMCUpIiwiaHNsKDAgMCUgNzAlKSIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4MCUpIiwiaHNsKDAgMCUgMzAlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc2Vjb25kYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTIlKSIsImhzbCgwIDAlIDE4JSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgNTAlKSIsImhzbCgyMTAgMTAwJSA1NSUpIil9OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA0NSUpIiwiaHNsKDIxMCAxMDAlIDUwJSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgzOCA5MiUgNDUlKSIsImhzbCgzOCA5MiUgNTAlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeS53YXJuaW5nOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDM4IDkyJSA0MCUpIiwiaHNsKDM4IDkyJSA0NSUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5wcmltYXJ5LmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgNzAlIDUwJSkiLCJoc2woMCA3MCUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeS5lcnJvcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDcwJSA0NSUpIiwiaHNsKDAgNzAlIDUwJSkiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnByaW1hcnkucXVlc3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjcwIDcwJSA1MCUpIiwiaHNsKDI3MCA3MCUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeS5xdWVzdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyNzAgNzAlIDQ1JSkiLCJoc2woMjcwIDcwJSA1MCUpIil9OwogICAgICB9CgogICAgICAuY291bnRkb3duIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgb3BhY2l0eTogMC44OwogICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7CiAgICAgIH0KCiAgICAgIC5kaXNtaXNzLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDUwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5kaXNtaXNzLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg4JSkiLCJoc2woMCAwJSAyMiUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMzAlKSIsImhzbCgwIDAlIDcwJSkiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBrPXRoaXMuY3VycmVudEJhcixDPWs/LnR5cGV8fCJpbmZvIixOPWs/LnRpbWVvdXQmJnRoaXMudGltZVJlbWFpbmluZz4wO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25iYXItaXRlbSI+CiAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9uYmFyLWNvbnRlbnQiPgogICAgICAgICAgJHtrP3dgCiAgICAgICAgICAgICR7Tj93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciI+CiAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcm9ncmVzcy1iYXItZmlsbCAke0N9IgogICAgICAgICAgICAgICAgICBzdHlsZT0id2lkdGg6ICR7dGhpcy5wcm9ncmVzc1BlcmNlbnR9JSIKICAgICAgICAgICAgICAgID48L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZS1zZWN0aW9uIj4KICAgICAgICAgICAgICAgICR7ay5pY29uP3dgCiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24KICAgICAgICAgICAgICAgICAgICBjbGFzcz0ibWVzc2FnZS1pY29uICR7Q30iCiAgICAgICAgICAgICAgICAgICAgLmljb249JHtrLmljb259CiAgICAgICAgICAgICAgICAgICAgaWNvblNpemU9IjE2IgogICAgICAgICAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1lc3NhZ2UtdGV4dCI+JHtrLm1lc3NhZ2V9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnMtc2VjdGlvbiI+CiAgICAgICAgICAgICAgICAke2suYWN0aW9ucy5tYXAoXz0+dGhpcy5yZW5kZXJBY3Rpb25CdXR0b24oXyxrLE4pKX0KICAgICAgICAgICAgICAgICR7ay5kaXNtaXNzaWJsZT93YAogICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImRpc21pc3MtYnV0dG9uIgogICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURpc21pc3MoKX0KICAgICAgICAgICAgICAgICAgICB0aXRsZT0iRGlzbWlzcyIKICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOngifSBpY29uU2l6ZT0iMTQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckFjdGlvbkJ1dHRvbihrLEMsTil7bGV0IF89ay5wcmltYXJ5LHo9Qy50eXBlfHwiaW5mbyIsTz1DLnRpbWVvdXQ/LmRlZmF1bHRBY3Rpb25JZD09PWsuaWQsVD1OJiZPLEU9TWF0aC5jZWlsKHRoaXMudGltZVJlbWFpbmluZy8xZTMpO3JldHVybiB3YAogICAgICA8YnV0dG9uCiAgICAgICAgY2xhc3M9ImFjdGlvbi1idXR0b24gJHtfP2BwcmltYXJ5ICR7en1gOiJzZWNvbmRhcnkifSIKICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBY3Rpb24oay5pZCwhMSl9CiAgICAgID4KICAgICAgICAke2suaWNvbj93YAogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke2suaWNvbn0gaWNvblNpemU9IjEyIj48L2RlZXMtaWNvbj4KICAgICAgICBgOiIifQogICAgICAgIDxzcGFuPiR7ay5sYWJlbH08L3NwYW4+CiAgICAgICAgJHtUP3dgCiAgICAgICAgICA8c3BhbiBjbGFzcz0iY291bnRkb3duIj4oJHtFfXMpPC9zcGFuPgogICAgICAgIGA6IiJ9CiAgICAgIDwvYnV0dG9uPgogICAgYH1hc3luYyBzaG93KGspe3JldHVybiBuZXcgUHJvbWlzZShDPT57dGhpcy5xdWV1ZS5wdXNoKHtvcHRpb25zOmsscmVzb2x2ZTpDfSksdGhpcy5jdXJyZW50QmFyfHx0aGlzLnByb2Nlc3NRdWV1ZSgpfSl9ZGlzbWlzcygpe3RoaXMuaGFuZGxlRGlzbWlzcygpfWNsZWFyUXVldWUoKXtmb3IobGV0IGsgb2YgdGhpcy5xdWV1ZSlrLnJlc29sdmUoe2FjdGlvbklkOiJkaXNtaXNzZWQiLHRpbWVkT3V0OiExfSk7dGhpcy5xdWV1ZT1bXX1hc3luYyBoaWRlQ3VycmVudEJhcigpe3RoaXMuY2xhc3NMaXN0LnJlbW92ZSgidmlzaWJsZSIpLHRoaXMuaXNWaXNpYmxlPSExLGF3YWl0IG5ldyBQcm9taXNlKGs9PnNldFRpbWVvdXQoaywyMjApKSx0aGlzLmN1cnJlbnRCYXI9bnVsbCx0aGlzLmN1cnJlbnRSZXNvbHZlPW51bGx9YXN5bmMgcHJvY2Vzc1F1ZXVlKCl7aWYodGhpcy5xdWV1ZS5sZW5ndGg9PT0wKXt0aGlzLmhpZGVDdXJyZW50QmFyKCk7cmV0dXJufWxldCBrPXRoaXMucXVldWUuc2hpZnQoKTt0aGlzLmN1cnJlbnRCYXI9ay5vcHRpb25zLHRoaXMuY3VycmVudFJlc29sdmU9ay5yZXNvbHZlLHRoaXMuaXNWaXNpYmxlPSEwLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5jbGFzc0xpc3QuYWRkKCJ2aXNpYmxlIil9KSxrLm9wdGlvbnMudGltZW91dCYmdGhpcy5zdGFydFRpbWVvdXQoay5vcHRpb25zLnRpbWVvdXQuZHVyYXRpb24say5vcHRpb25zLnRpbWVvdXQuZGVmYXVsdEFjdGlvbklkKX1zdGFydFRpbWVvdXQoayxDKXt0aGlzLnRpbWVSZW1haW5pbmc9ayx0aGlzLnByb2dyZXNzUGVyY2VudD0xMDA7bGV0IE49RGF0ZS5ub3coKSxfPTUwO3RoaXMudGltZW91dEludGVydmFsPXNldEludGVydmFsKCgpPT57bGV0IHo9RGF0ZS5ub3coKS1OO3RoaXMudGltZVJlbWFpbmluZz1NYXRoLm1heCgwLGsteiksdGhpcy5wcm9ncmVzc1BlcmNlbnQ9dGhpcy50aW1lUmVtYWluaW5nL2sqMTAwLHRoaXMudGltZVJlbWFpbmluZzw9MCYmKHRoaXMuY2xlYXJUaW1lb3V0SW50ZXJ2YWwoKSx0aGlzLmhhbmRsZUFjdGlvbihDLCEwKSl9LF8pfWNsZWFyVGltZW91dEludGVydmFsKCl7dGhpcy50aW1lb3V0SW50ZXJ2YWwmJihjbGVhckludGVydmFsKHRoaXMudGltZW91dEludGVydmFsKSx0aGlzLnRpbWVvdXRJbnRlcnZhbD1udWxsKX1oYW5kbGVBY3Rpb24oayxDKXt0aGlzLmNsZWFyVGltZW91dEludGVydmFsKCksdGhpcy5jdXJyZW50UmVzb2x2ZSYmdGhpcy5jdXJyZW50UmVzb2x2ZSh7YWN0aW9uSWQ6ayx0aW1lZE91dDpDfSksdGhpcy5wcm9jZXNzUXVldWUoKX1oYW5kbGVEaXNtaXNzKCl7dGhpcy5oYW5kbGVBY3Rpb24oImRpc21pc3NlZCIsITEpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmNsZWFyVGltZW91dEludGVydmFsKCl9c3RhdGlje0FjKHIsdCl9fTtyZXR1cm4geT1yfSkoKX0pO3ZhciBfMGE9ZigoKT0+e30pO3ZhciBUMGE9ZigoKT0+e1VzZSgpO18wYSgpfSk7dmFyIEwwYSwkMGE9ZigoKT0+e2xlKCk7TDBhPXMoKCk9PndgCiAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZ2FwOiA4cHg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7Ij4KICAgIDxkZWVzLWJhZGdlIC50ZXh0PSR7IkRlZmF1bHQifT48L2RlZXMtYmFkZ2U+CiAgICA8ZGVlcy1iYWRnZSAudHlwZT0keyJwcmltYXJ5In0gLnRleHQ9JHsiUHJpbWFyeSJ9PjwvZGVlcy1iYWRnZT4KICAgIDxkZWVzLWJhZGdlIC50eXBlPSR7InN1Y2Nlc3MifSAudGV4dD0keyJTdWNjZXNzIn0+PC9kZWVzLWJhZGdlPgogICAgPGRlZXMtYmFkZ2UgLnR5cGU9JHsid2FybmluZyJ9IC50ZXh0PSR7Ildhcm5pbmcifT48L2RlZXMtYmFkZ2U+CiAgICA8ZGVlcy1iYWRnZSAudHlwZT0keyJlcnJvciJ9IC50ZXh0PSR7IkVycm9yIn0+PC9kZWVzLWJhZGdlPgogICAgPGRlZXMtYmFkZ2UgLnR5cGU9JHsicHJpbWFyeSJ9IC5yb3VuZGVkPSR7ITB9IC50ZXh0PSR7IlJvdW5kZWQifT48L2RlZXMtYmFkZ2U+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgV3NlLGI1LEQwYSxBMGE9ZigoKT0+e2xlKCk7SnQoKTskMGEoKTtRZSgpO1dzZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sYjU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEQwYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYmFkZ2UiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0JhZGdlIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGI9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLFdzZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InR5cGUiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy50eXBlLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cudHlwZT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksV3NlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4idGV4dCJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnRleHQsImdldCIpLHNldDpzKChnLHkpPT57Zy50ZXh0PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSxXc2UodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3VuZGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJyb3VuZGVkImluIGcsImhhcyIpLGdldDpzKGc9Pmcucm91bmRlZCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnJvdW5kZWQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLFdzZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPUwwYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkZlZWRiYWNrIl07I2U9YjUodGhpcyxuLCJkZWZhdWx0Iik7Z2V0IHR5cGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdHlwZShiKXt0aGlzLiNlPWJ9I3Q9KGI1KHRoaXMsbCksYjUodGhpcyxjLCIiKSk7Z2V0IHRleHQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgdGV4dChiKXt0aGlzLiN0PWJ9I2E9KGI1KHRoaXMscCksYjUodGhpcyxtLCExKSk7Z2V0IHJvdW5kZWQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgcm91bmRlZChiKXt0aGlzLiNhPWJ9Y29uc3RydWN0b3IoKXtzdXBlcigpLGI1KHRoaXMsdiksdHIuc2V0dXAoKX1zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgfQoKICAgICAgLmJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmJhZGdlLnJvdW5kZWQgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5kZWZhdWx0IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y1ZjVmNSIsIiMzMzMiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNjY2IiwiI2NjYyIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLnByaW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6ICMwMDUwYjk7CiAgICAgICAgY29sb3I6ICNmZmZmZmY7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5zdWNjZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMmU3ZDMyOwogICAgICAgIGNvbG9yOiAjZmZmZmZmOwogICAgICB9CgogICAgICAuYmFkZ2Uud2FybmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogI2VkNmMwMjsKICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgfQoKICAgICAgLmJhZGdlLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjZTQwMDJiOwogICAgICAgIGNvbG9yOiAjZmZmZmZmOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iYmFkZ2UgJHt0aGlzLnR5cGV9ICR7dGhpcy5yb3VuZGVkPyJyb3VuZGVkIjoiIn0iPgogICAgICAgICR7dGhpcy50ZXh0fQogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje2I1KHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBFMGE9ZigoKT0+e0EwYSgpfSk7dmFyIFAwYSxJMGE9ZigoKT0+e2xlKCk7UDBhPXMoKCk9PndgCiAgPGRlZXMtaGludD48L2RlZXMtaGludD4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBOMGEsJFFlLFIwYSxPMGE9ZigoKT0+e2xlKCk7SnQoKTtJMGEoKTtRZSgpO04wYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sJFFlPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxSMGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWhpbnQiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0hpbnQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxOMGEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0eXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJ0eXBlImluIHAsImhhcyIpLGdldDpzKHA9PnAudHlwZSwiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLnR5cGU9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLE4wYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPVAwYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkZlZWRiYWNrIl07I2U9JFFlKHRoaXMsbiwiaW5mbyIpO2dldCB0eXBlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHR5cGUoYyl7dGhpcy4jZT1jfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSwkUWUodGhpcyxsKSx0ci5zZXR1cCgpfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgIDxkaXYgY2xhc3M9Im1haW5ib3giPjwvZGl2PiBgfXN0YXRpY3skUWUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIEYwYT1mKCgpPT57TzBhKCl9KTt2YXIgQjBhLEgwYT1mKCgpPT57bGUoKTtJYSgpO0IwYT1zKCgpPT57bGV0IGE9W1siUmVzb2x2aW5nIHdvcmtzcGFjZSBwYWNrYWdlcyJdLFsiUmVzb2x2aW5nIHdvcmtzcGFjZSBwYWNrYWdlcyIsIkRvd25sb2FkaW5nIHVpLWFzc2V0cy50YXIuZ3oiXSxbIlJlc29sdmluZyB3b3Jrc3BhY2UgcGFja2FnZXMiLCJEb3dubG9hZGluZyB1aS1hc3NldHMudGFyLmd6IiwiVmVyaWZ5aW5nIGNoZWNrc3VtIl0sWyJSZXNvbHZpbmcgd29ya3NwYWNlIHBhY2thZ2VzIiwiRG93bmxvYWRpbmcgdWktYXNzZXRzLnRhci5neiIsIlZlcmlmeWluZyBjaGVja3N1bSIsIkV4dHJhY3RpbmcgcmVsZWFzZSBidW5kbGUiXSxbIlJlc29sdmluZyB3b3Jrc3BhY2UgcGFja2FnZXMiLCJEb3dubG9hZGluZyB1aS1hc3NldHMudGFyLmd6IiwiVmVyaWZ5aW5nIGNoZWNrc3VtIiwiRXh0cmFjdGluZyByZWxlYXNlIGJ1bmRsZSIsIlJlc3RhcnRpbmcgYXBwbGljYXRpb24iXV0sZT1zKHQ9PnQ+PTEwMD8iVXBsb2FkIGNvbXBsZXRlLiBGaW5hbGl6aW5nIHBhY2thZ2UgbWFuaWZlc3QuLi4iOnQ+PTgyPyJWZXJpZnlpbmcgY2hlY2tzdW1zIGJlZm9yZSBoYW5kb2ZmLi4uIjp0Pj01NT8iVXBsb2FkaW5nIHRodW1ibmFpbHMgdG8gZWRnZSBjYWNoZS4uLiI6dD49MjU/IlN0cmVhbWluZyBzb3VyY2UgZmlsZXMgdG8gdGhlIHJlbW90ZSB3b3JrZXIuLi4iOiJQcmVwYXJpbmcgYXJjaGl2ZSBhbmQgZGVwZW5kZW5jeSBncmFwaC4uLiIsImdldFVwbG9hZFN0YXR1cyIpO3JldHVybiB3YAogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgdD0+e2xldCByPXQucXVlcnlTZWxlY3RvcigiI2xpdmUtcHJvZ3Jlc3MiKSxpPXQucXVlcnlTZWxlY3RvcigiI3Rlcm1pbmFsLXByb2dyZXNzIiksbz10O2lmKCFyfHwhaSlyZXR1cm47by5fX3Byb2dyZXNzYmFyRGVtb0ludGVydmFsSWQmJndpbmRvdy5jbGVhckludGVydmFsKG8uX19wcm9ncmVzc2JhckRlbW9JbnRlcnZhbElkKTtsZXQgbj0xMixsPTAsZD1zKCgpPT57ci5wZXJjZW50YWdlPW4sci5zdGF0dXNUZXh0PWUobiksaS50ZXJtaW5hbExpbmVzPVsuLi5hW2xdXSxpLnBlcmNlbnRhZ2U9TWF0aC5taW4oMTAwLChsKzEpKjIwKSxpLmluZGV0ZXJtaW5hdGU9bDxhLmxlbmd0aC0xLG49bj49MTAwPzEyOk1hdGgubWluKDEwMCxuKzExKSxsPWw+PWEubGVuZ3RoLTE/MDpsKzF9LCJ1cGRhdGVEZW1vIik7ZCgpLG8uX19wcm9ncmVzc2JhckRlbW9JbnRlcnZhbElkPXdpbmRvdy5zZXRJbnRlcnZhbChkLDE0MDApfX0+CiAgICAgIDxzdHlsZT4KICAgICAgICAke1FgCiAgICAgICAgICAuZGVtb0JveCB7CiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSA5JSkiKX07CiAgICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICAgIGdhcDogMjRweDsKICAgICAgICAgIH0KCiAgICAgICAgICAuZGVtb0ludHJvIHsKICAgICAgICAgICAgbWF4LXdpZHRoOiA3MjBweDsKICAgICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDIwJSAzMCUpIiwiaHNsKDIxNSAxOCUgNzYlKSIpfTsKICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgICAgfQoKICAgICAgICAgIC5zaG93Y2FzZUdyaWQgewogICAgICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDI4MHB4LCAxZnIpKTsKICAgICAgICAgICAgZ2FwOiAxOHB4OwogICAgICAgICAgfQoKICAgICAgICAgIC5zaG93Y2FzZUNhcmQgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyNTUsMjU1LDI1NSwwLjc4KSIsInJnYmEoMjU1LDI1NSwyNTUsMC4wNCkiKX07CiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjEwIDIyJSA4NiUpIiwiaHNsKDIxMCAxMCUgMTglKSIpfTsKICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDsKICAgICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgICAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTsKICAgICAgICAgIH0KCiAgICAgICAgICAuc2hvd2Nhc2VDYXJkLndpZGUgewogICAgICAgICAgICBncmlkLWNvbHVtbjogc3BhbiAyOwogICAgICAgICAgfQoKICAgICAgICAgIC5zaG93Y2FzZUNhcmQgaDMgewogICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICAgIH0KCiAgICAgICAgICAuc2hvd2Nhc2VDYXJkIHAgewogICAgICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNCUgNDAlKSIsImhzbCgyMTUgMTAlIDY2JSkiKX07CiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7CiAgICAgICAgICB9CgogICAgICAgICAgLnByb2dyZXNzU3RhY2sgewogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBnYXA6IDE0cHg7CiAgICAgICAgICB9CgogICAgICAgICAgLmNvZGVMYWJlbCB7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNCUgNDQlKSIsImhzbCgyMTUgMTAlIDcwJSkiKX07CiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07CiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICB9CgogICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7CiAgICAgICAgICAgIC5kZW1vQm94IHsKICAgICAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgICB9CgogICAgICAgICAgICAuc2hvd2Nhc2VDYXJkLndpZGUgewogICAgICAgICAgICAgIGdyaWQtY29sdW1uOiBzcGFuIDE7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0KICAgICAgICBgfQogICAgICA8L3N0eWxlPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vQm94Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJkZW1vSW50cm8iPgogICAgICAgICAgPGNvZGU+ZGVlcy1wcm9ncmVzc2JhcjwvY29kZT4gY2FuIG5vdyBwYWlyIGEgY2xhc3NpYyBwcm9ncmVzcyBiYXIgd2l0aCBhIGZpeGVkLWhlaWdodCBzdGF0dXMgYXJlYS4gVXNlIHNpbXBsZSBzdGF0dXMgdGV4dCBmb3IgY2xlYXIgdXNlci1mYWNpbmcgdXBkYXRlcyBvciBzd2l0Y2ggdG8gdGVybWluYWwtbGlrZSBsaW5lcyB3aGVuIHlvdSB3YW50IHJlY2VudCBzdGVwcyB0byBzdGF5IHZpc2libGUgd2l0aG91dCBjYXVzaW5nIGxheW91dCBqdW1wcy4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzaG93Y2FzZUdyaWQiPgogICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNob3djYXNlQ2FyZCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGVMYWJlbCI+RGV0ZXJtaW5hdGU8L2Rpdj4KICAgICAgICAgICAgPGgzPlBlcmNlbnRhZ2UgcGx1cyBjdXJyZW50IHRhc2s8L2gzPgogICAgICAgICAgICA8cD5Vc2UgYSBsYWJlbCwgYSBwZXJjZW50YWdlLCBhbmQgb25lIHNob3J0IHN0YXR1cyBsaW5lIHdoZW4gdGhlIHdvcmsgaXMgbWVhc3VyYWJsZS48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzU3RhY2siPgogICAgICAgICAgICAgIDxkZWVzLXByb2dyZXNzYmFyCiAgICAgICAgICAgICAgICBsYWJlbD0iTWVkaWEgdXBsb2FkIgogICAgICAgICAgICAgICAgLnBlcmNlbnRhZ2U9JHs2OH0KICAgICAgICAgICAgICAgIHN0YXR1c1RleHQ9IlVwbG9hZGluZyB0aHVtYm5haWxzIHRvIGVkZ2UgY2FjaGUuLi4iCiAgICAgICAgICAgICAgICAuc3RhdHVzUm93cz0kezJ9CiAgICAgICAgICAgICAgPjwvZGVlcy1wcm9ncmVzc2Jhcj4KICAgICAgICAgICAgICA8ZGVlcy1wcm9ncmVzc2JhcgogICAgICAgICAgICAgICAgbGFiZWw9IkFzc2V0IHN5bmMiCiAgICAgICAgICAgICAgICAucGVyY2VudGFnZT0kezEwMH0KICAgICAgICAgICAgICAgIHN0YXR1c1RleHQ9IkFsbCBmaWxlcyBhcmUgc3luY2VkIGFuZCBhdmFpbGFibGUuIgogICAgICAgICAgICAgICAgLnN0YXR1c1Jvd3M9JHsyfQogICAgICAgICAgICAgID48L2RlZXMtcHJvZ3Jlc3NiYXI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzaG93Y2FzZUNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlTGFiZWwiPkluZGV0ZXJtaW5hdGU8L2Rpdj4KICAgICAgICAgICAgPGgzPlNwaW5uZXItc3R5bGUgdGV4dCBpbmRpY2F0b3I8L2gzPgogICAgICAgICAgICA8cD5XaGVuIHRoZXJlIGlzIG5vIHRydXN0d29ydGh5IHBlcmNlbnRhZ2UgeWV0LCBrZWVwIHRoZSBiYXIgbW92aW5nIGFuZCBsZXQgdGhlIHRleHQgZXhwbGFpbiB3aGF0IGlzIGhhcHBlbmluZy48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzU3RhY2siPgogICAgICAgICAgICAgIDxkZWVzLXByb2dyZXNzYmFyCiAgICAgICAgICAgICAgICBsYWJlbD0iRGVwZW5kZW5jeSBpbnN0YWxsIgogICAgICAgICAgICAgICAgLmluZGV0ZXJtaW5hdGU9JHshMH0KICAgICAgICAgICAgICAgIHN0YXR1c1RleHQ9IkRvd25sb2FkaW5nIHBhY2thZ2UgbWV0YWRhdGEuLi4iCiAgICAgICAgICAgICAgICAuc3RhdHVzUm93cz0kezJ9CiAgICAgICAgICAgICAgPjwvZGVlcy1wcm9ncmVzc2Jhcj4KICAgICAgICAgICAgICA8ZGVlcy1wcm9ncmVzc2JhcgogICAgICAgICAgICAgICAgbGFiZWw9IlF1ZXVlZCBqb2IiCiAgICAgICAgICAgICAgICAucGVyY2VudGFnZT0kezMyfQogICAgICAgICAgICAgICAgLnNob3dQZXJjZW50YWdlPSR7ITF9CiAgICAgICAgICAgICAgICBzdGF0dXNUZXh0PSJXYWl0aW5nIGZvciBhIHdvcmtlciBzbG90IHRvIGJlY29tZSBhdmFpbGFibGUuLi4iCiAgICAgICAgICAgICAgICAuc3RhdHVzUm93cz0kezJ9CiAgICAgICAgICAgICAgPjwvZGVlcy1wcm9ncmVzc2Jhcj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNob3djYXNlQ2FyZCB3aWRlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZUxhYmVsIj5UZXJtaW5hbCBMaW5lczwvZGl2PgogICAgICAgICAgICA8aDM+Rml4ZWQtaGVpZ2h0IHRlcm1pbmFsLXN0eWxlIHN0YXR1cyBvdXRwdXQ8L2gzPgogICAgICAgICAgICA8cD5UaGUgcGFuZWwgc3RheXMgdGhlIHNhbWUgaGVpZ2h0IHdoaWxlIHRoZSBsYXRlc3Qgc3RlcCBzdGF5cyB2aXNpYmxlLiBUaGlzIGlzIHVzZWZ1bCBmb3IgdXBkYXRlIGZsb3dzLCBkb3dubG9hZHMsIGFuZCBzdGFnZWQgYmFja2dyb3VuZCB3b3JrLjwvcD4KICAgICAgICAgICAgPGRlZXMtcHJvZ3Jlc3NiYXIKICAgICAgICAgICAgICBpZD0idGVybWluYWwtcHJvZ3Jlc3MiCiAgICAgICAgICAgICAgbGFiZWw9IlJlbGVhc2UgYnVuZGxlIgogICAgICAgICAgICAgIC5wZXJjZW50YWdlPSR7MjB9CiAgICAgICAgICAgICAgLmluZGV0ZXJtaW5hdGU9JHshMH0KICAgICAgICAgICAgICAuc3RhdHVzUm93cz0kezR9CiAgICAgICAgICAgICAgLnRlcm1pbmFsTGluZXM9JHthWzBdfQogICAgICAgICAgICA+PC9kZWVzLXByb2dyZXNzYmFyPgogICAgICAgICAgPC9zZWN0aW9uPgoKICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzaG93Y2FzZUNhcmQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlTGFiZWwiPkxpdmUgRGVtbzwvZGl2PgogICAgICAgICAgICA8aDM+VXBkYXRpbmcgcGVyY2VudGFnZSBhbmQgdGV4dCB0b2dldGhlcjwvaDM+CiAgICAgICAgICAgIDxwPkEgc2luZ2xlIGNvbXBvbmVudCBjYW4gZXhwcmVzcyBib3RoIGhvdyBmYXIgdGhlIGpvYiBpcyBhbmQgd2hpY2ggcGhhc2UgaXMgY3VycmVudGx5IGFjdGl2ZS48L3A+CiAgICAgICAgICAgIDxkZWVzLXByb2dyZXNzYmFyCiAgICAgICAgICAgICAgaWQ9ImxpdmUtcHJvZ3Jlc3MiCiAgICAgICAgICAgICAgbGFiZWw9IkN1c3RvbWVyIGV4cG9ydCIKICAgICAgICAgICAgICAucGVyY2VudGFnZT0kezEyfQogICAgICAgICAgICAgIHN0YXR1c1RleHQ9IlByZXBhcmluZyBhcmNoaXZlIGFuZCBkZXBlbmRlbmN5IGdyYXBoLi4uIgogICAgICAgICAgICAgIC5zdGF0dXNSb3dzPSR7Mn0KICAgICAgICAgICAgPjwvZGVlcy1wcm9ncmVzc2Jhcj4KICAgICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2hvd2Nhc2VDYXJkIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZUxhYmVsIj5Db21wYXRpYmlsaXR5PC9kaXY+CiAgICAgICAgICAgIDxoMz5MZWdhY3kgPGNvZGU+dmFsdWU8L2NvZGU+IGFuZCA8Y29kZT5wcm9ncmVzczwvY29kZT4gaW5wdXRzPC9oMz4KICAgICAgICAgICAgPHA+RXhpc3RpbmcgdXNhZ2VzIGNhbiBrZWVwIHBhc3NpbmcgcGVyY2VudGFnZXMgZGlyZWN0bHkgb3Igbm9ybWFsaXplZCBwcm9ncmVzcyB2YWx1ZXMgZnJvbSAwIHRvIDEuPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzc1N0YWNrIj4KICAgICAgICAgICAgICA8ZGVlcy1wcm9ncmVzc2JhcgogICAgICAgICAgICAgICAgbGFiZWw9IkZyb20gdmFsdWUiCiAgICAgICAgICAgICAgICAudmFsdWU9JHs3NX0KICAgICAgICAgICAgICAgIHN0YXR1c1RleHQ9Ik1pZ3JhdGluZyBleGlzdGluZyByZWFkbWUtc3R5bGUgdXNhZ2UuLi4iCiAgICAgICAgICAgICAgICAuc3RhdHVzUm93cz0kezJ9CiAgICAgICAgICAgICAgPjwvZGVlcy1wcm9ncmVzc2Jhcj4KICAgICAgICAgICAgICA8ZGVlcy1wcm9ncmVzc2JhcgogICAgICAgICAgICAgICAgbGFiZWw9IkZyb20gcHJvZ3Jlc3MiCiAgICAgICAgICAgICAgICAucHJvZ3Jlc3M9JHsuNDJ9CiAgICAgICAgICAgICAgICAuc2hvd1BlcmNlbnRhZ2U9JHshMX0KICAgICAgICAgICAgICAgIHN0YXR1c1RleHQ9IlJlbmRlcmluZyBub3JtYWxpemVkIHByb2dyZXNzIGlucHV0Li4uIgogICAgICAgICAgICAgICAgLnN0YXR1c1Jvd3M9JHsyfQogICAgICAgICAgICAgID48L2RlZXMtcHJvZ3Jlc3NiYXI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9zZWN0aW9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICBgfSwiZGVtb0Z1bmMiKX0pO3ZhciBqMSx0cyxxMGEsRFFlPWYoKCk9PntUMSgpO0gwYSgpO2xlKCk7UWUoKTtqMT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sdHM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHEwYT0oKCk9PntsZXQgYT1baWUoImRlZXMtcHJvZ3Jlc3NiYXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXTt2YXIgaGU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNQcm9ncmVzc2JhciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBSPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6TnVtYmVyfSldLGQ9WyQoe3R5cGU6TnVtYmVyfSldLHU9WyQoe3R5cGU6TnVtYmVyfSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6U3RyaW5nfSldLE49WyQoe3R5cGU6QXJyYXl9KV0sTz1bJCh7dHlwZTpOdW1iZXJ9KV0sQj1bJCh7dHlwZTpCb29sZWFufSldLFA9WyQoe3R5cGU6Qm9vbGVhbn0pXSxXPVtLKCldLGoxKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGVyY2VudGFnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4icGVyY2VudGFnZSJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnBlcmNlbnRhZ2UsImdldCIpLHNldDpzKChVLG1lKT0+e1UucGVyY2VudGFnZT1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxuLGwpLGoxKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidmFsdWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InZhbHVlImluIFUsImhhcyIpLGdldDpzKFU9PlUudmFsdWUsImdldCIpLHNldDpzKChVLG1lKT0+e1UudmFsdWU9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sYyxwKSxqMSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByb2dyZXNzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFU9PiJwcm9ncmVzcyJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnByb2dyZXNzLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLnByb2dyZXNzPW1lfSwic2V0Iil9LG1ldGFkYXRhOlJ9LG0sdiksajEodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4ibGFiZWwiaW4gVSwiaGFzIiksZ2V0OnMoVT0+VS5sYWJlbCwiZ2V0Iiksc2V0OnMoKFUsbWUpPT57VS5sYWJlbD1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxiLGcpLGoxKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdHVzVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4ic3RhdHVzVGV4dCJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnN0YXR1c1RleHQsImdldCIpLHNldDpzKChVLG1lKT0+e1Uuc3RhdHVzVGV4dD1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxrLEMpLGoxKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGVybWluYWxMaW5lcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4idGVybWluYWxMaW5lcyJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnRlcm1pbmFsTGluZXMsImdldCIpLHNldDpzKChVLG1lKT0+e1UudGVybWluYWxMaW5lcz1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxfLHopLGoxKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdHVzUm93cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4ic3RhdHVzUm93cyJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLnN0YXR1c1Jvd3MsImdldCIpLHNldDpzKChVLG1lKT0+e1Uuc3RhdHVzUm93cz1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxULEUpLGoxKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5kZXRlcm1pbmF0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iaW5kZXRlcm1pbmF0ZSJpbiBVLCJoYXMiKSxnZXQ6cyhVPT5VLmluZGV0ZXJtaW5hdGUsImdldCIpLHNldDpzKChVLG1lKT0+e1UuaW5kZXRlcm1pbmF0ZT1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxNLFMpLGoxKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1BlcmNlbnRhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoVT0+InNob3dQZXJjZW50YWdlImluIFUsImhhcyIpLGdldDpzKFU9PlUuc2hvd1BlcmNlbnRhZ2UsImdldCIpLHNldDpzKChVLG1lKT0+e1Uuc2hvd1BlcmNlbnRhZ2U9bWV9LCJzZXQiKX0sbWV0YWRhdGE6Un0sQSxGKSxqMSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2ZVNwaW5uZXJGcmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhVPT4iYWN0aXZlU3Bpbm5lckZyYW1lImluIFUsImhhcyIpLGdldDpzKFU9PlUuYWN0aXZlU3Bpbm5lckZyYW1lLCJnZXQiKSxzZXQ6cygoVSxtZSk9PntVLmFjdGl2ZVNwaW5uZXJGcmFtZT1tZX0sInNldCIpfSxtZXRhZGF0YTpSfSxqLEcpLGoxKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlJ9LG51bGwsdCksaGU9cj1lLnZhbHVlLFImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Un0pfXN0YXRpYyBkZW1vPUIwYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkZlZWRiYWNrIl07I2U9dHModGhpcyxuLDApO2dldCBwZXJjZW50YWdlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHBlcmNlbnRhZ2UoUil7dGhpcy4jZT1SfSN0PSh0cyh0aGlzLGwpLHRzKHRoaXMsYyxudWxsKSk7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHZhbHVlKFIpe3RoaXMuI3Q9Un0jYT0odHModGhpcyxwKSx0cyh0aGlzLG0sbnVsbCkpO2dldCBwcm9ncmVzcygpe3JldHVybiB0aGlzLiNhfXNldCBwcm9ncmVzcyhSKXt0aGlzLiNhPVJ9I3I9KHRzKHRoaXMsdiksdHModGhpcyxiLCIiKSk7Z2V0IGxhYmVsKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGxhYmVsKFIpe3RoaXMuI3I9Un0jcz0odHModGhpcyxnKSx0cyh0aGlzLGssIiIpKTtnZXQgc3RhdHVzVGV4dCgpe3JldHVybiB0aGlzLiNzfXNldCBzdGF0dXNUZXh0KFIpe3RoaXMuI3M9Un0jaT0odHModGhpcyxDKSx0cyh0aGlzLF8sW10pKTtnZXQgdGVybWluYWxMaW5lcygpe3JldHVybiB0aGlzLiNpfXNldCB0ZXJtaW5hbExpbmVzKFIpe3RoaXMuI2k9Un0jbz0odHModGhpcyx6KSx0cyh0aGlzLFQsMykpO2dldCBzdGF0dXNSb3dzKCl7cmV0dXJuIHRoaXMuI299c2V0IHN0YXR1c1Jvd3MoUil7dGhpcy4jbz1SfSNuPSh0cyh0aGlzLEUpLHRzKHRoaXMsTSwhMSkpO2dldCBpbmRldGVybWluYXRlKCl7cmV0dXJuIHRoaXMuI259c2V0IGluZGV0ZXJtaW5hdGUoUil7dGhpcy4jbj1SfSNsPSh0cyh0aGlzLFMpLHRzKHRoaXMsQSwhMCkpO2dldCBzaG93UGVyY2VudGFnZSgpe3JldHVybiB0aGlzLiNsfXNldCBzaG93UGVyY2VudGFnZShSKXt0aGlzLiNsPVJ9I2M9KHRzKHRoaXMsRiksdHModGhpcyxqLDApKTtnZXQgYWN0aXZlU3Bpbm5lckZyYW1lKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGFjdGl2ZVNwaW5uZXJGcmFtZShSKXt0aGlzLiNjPVJ9c3Bpbm5lckludGVydmFsSWQ9KHRzKHRoaXMsRyksbnVsbCk7c3Bpbm5lckZyYW1lcz1bInwiLCIvIiwiLSIsIlxcIl07c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoYzQudGV4dCxsNC50ZXh0KX07CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzc0JhckNvbnRhaW5lciB7CiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsKICAgICAgICBwYWRkaW5nOiA4cHg7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnByb2dyZXNzSGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLnByb2dyZXNzTGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzc1ZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTUlIDQwJSkiLCJoc2woMjE1IDE1JSA3MCUpIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICB9CgogICAgICAucHJvZ3Jlc3NCYXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWVlZWViIiwiIzQ0NCIpfTsKICAgICAgICBib3JkZXItdG9wOiAwLjVweCBzb2xpZCAke2guYmRUaGVtZSgidHJhbnNwYXJlbnQiLCIjNTU1Iil9OwogICAgICB9CgogICAgICAucHJvZ3Jlc3NCYXJGaWxsIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZShsNC5ibHVlQWN0aXZlLGM0LmJsdWVBY3RpdmUpfTsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzc0JhckZpbGwuaW5kZXRlcm1pbmF0ZSB7CiAgICAgICAgd2lkdGg6IDM0JTsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgICAgIGFuaW1hdGlvbjogaW5kZXRlcm1pbmF0ZVNsaWRlIDEuMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIC5zdGF0dXNQYW5lbCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTBweDsKICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tc3RhdHVzLXJvd3MsIDMpICogMS4zNWVtICsgMTZweCk7CiAgICAgICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS1zdGF0dXMtcm93cywgMykgKiAxLjM1ZW0gKyAxNnB4KTsKICAgICAgICBwYWRkaW5nOiA4cHggMTBweDsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxMCAyMCUgODYlKSIsImhzbCgyMTAgMTAlIDI2JSkiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMzMlIDk4JSkiLCJoc2woMjIwIDIwJSAxMCUpIil9OwogICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBsaW5lLWhlaWdodDogMS4zNTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuc3RhdHVzVGV4dFJvdywKICAgICAgLnRlcm1pbmFsTGluZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtaW4taGVpZ2h0OiAxLjM1ZW07CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbFNjcm9sbGVyIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbFNjcm9sbGVyOjotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsU2Nyb2xsZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxOCUgNzglKSIsImhzbCgyMTUgMTAlIDM0JSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5cHg7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbFNjcm9sbGVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5saW5lUHJlZml4IHsKICAgICAgICB3aWR0aDogMWNoOwogICAgICAgIGZsZXg6IDAgMCAxY2g7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKGw0LmJsdWVBY3RpdmUsYzQuYmx1ZUFjdGl2ZSl9OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmxpbmVUZXh0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMjAgMTUlIDI1JSkiLCJoc2woMjEwIDE1JSA4NiUpIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkOwogICAgICB9CgogICAgICAudGVybWluYWxMaW5lOm5vdCguY3VycmVudCkgLmxpbmVUZXh0IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTIlIDQyJSkiLCJoc2woMjE1IDEyJSA2MyUpIil9OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIGluZGV0ZXJtaW5hdGVTbGlkZSB7CiAgICAgICAgMCUgewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMjAlKTsKICAgICAgICB9CgogICAgICAgIDEwMCUgewogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMyMCUpOwogICAgICAgIH0KICAgICAgfQogICAgYF07YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuc3luY1NwaW5uZXJTdGF0ZSgpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dGhpcy5zdG9wU3Bpbm5lcigpLGF3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCl9dXBkYXRlZChSKXtzdXBlci51cGRhdGVkKFIpLHRoaXMuc3luY1NwaW5uZXJTdGF0ZSgpLFIuaGFzKCJ0ZXJtaW5hbExpbmVzIikmJnRoaXMudGVybWluYWxMaW5lcy5sZW5ndGg+MCYmdGhpcy5zY3JvbGxUZXJtaW5hbFRvQm90dG9tKCl9cmVuZGVyKCl7bGV0IFI9dGhpcy5nZXRFZmZlY3RpdmVQZXJjZW50YWdlKCksVT0hIXRoaXMubGFiZWx8fHRoaXMuc2hvd1BlcmNlbnRhZ2UmJiF0aGlzLmluZGV0ZXJtaW5hdGUsbWU9dGhpcy50ZXJtaW5hbExpbmVzLmxlbmd0aD4wLEk9bWV8fHRoaXMuc3RhdHVzVGV4dC50cmltKCkubGVuZ3RoPjAscT10aGlzLmdldFJlbmRlcmVkU3RhdHVzUm93cygpLGNlPXRoaXMuc3Bpbm5lckZyYW1lc1t0aGlzLmFjdGl2ZVNwaW5uZXJGcmFtZV0/P3RoaXMuc3Bpbm5lckZyYW1lc1swXTtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3NCYXJDb250YWluZXIiPgogICAgICAgICR7VT93YAogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3NIZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzc0xhYmVsIj4ke3RoaXMubGFiZWx9PC9kaXY+CiAgICAgICAgICAgICR7dGhpcy5zaG93UGVyY2VudGFnZSYmIXRoaXMuaW5kZXRlcm1pbmF0ZT93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzVmFsdWUiPiR7dGhpcy5mb3JtYXRQZXJjZW50YWdlKFIpfSU8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3NCYXIiPgogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0icHJvZ3Jlc3NCYXJGaWxsICR7dGhpcy5pbmRldGVybWluYXRlPyJpbmRldGVybWluYXRlIjoiIn0iCiAgICAgICAgICAgIHN0eWxlPSIke3RoaXMuaW5kZXRlcm1pbmF0ZT8iIjpgd2lkdGg6ICR7Un0lO2B9IgogICAgICAgICAgPjwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgICR7ST93YAogICAgICAgICAgPGRpdgogICAgICAgICAgICBjbGFzcz0ic3RhdHVzUGFuZWwiCiAgICAgICAgICAgIHN0eWxlPSItLXN0YXR1cy1yb3dzOiAke3F9OyIKICAgICAgICAgICAgYXJpYS1saXZlPSJwb2xpdGUiCiAgICAgICAgICAgIGFyaWEtYXRvbWljPSJ0cnVlIgogICAgICAgICAgPgogICAgICAgICAgICAke21lP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVybWluYWxTY3JvbGxlciI+CiAgICAgICAgICAgICAgICAke3RoaXMudGVybWluYWxMaW5lcy5tYXAoKHVlLFkpPT57bGV0IFg9WT09PXRoaXMudGVybWluYWxMaW5lcy5sZW5ndGgtMSxKPXRoaXMuaW5kZXRlcm1pbmF0ZSYmWD9jZToiPiI7cmV0dXJuIHdgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVybWluYWxMaW5lICR7WD8iY3VycmVudCI6IiJ9Ij4KICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsaW5lUHJlZml4Ij4ke0p9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxpbmVUZXh0Ij4ke3VlfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgYH0pfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzVGV4dFJvdyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGluZVByZWZpeCI+JHt0aGlzLmluZGV0ZXJtaW5hdGU/Y2U6Ij4ifTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsaW5lVGV4dCI+JHt0aGlzLnN0YXR1c1RleHR9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWdldEVmZmVjdGl2ZVBlcmNlbnRhZ2UoKXtpZih0eXBlb2YgdGhpcy52YWx1ZT09Im51bWJlciImJk51bWJlci5pc0Zpbml0ZSh0aGlzLnZhbHVlKSlyZXR1cm4gdGhpcy5jbGFtcFBlcmNlbnRhZ2UodGhpcy52YWx1ZSk7aWYodHlwZW9mIHRoaXMucHJvZ3Jlc3M9PSJudW1iZXIiJiZOdW1iZXIuaXNGaW5pdGUodGhpcy5wcm9ncmVzcykpe2xldCBSPXRoaXMucHJvZ3Jlc3M+PTAmJnRoaXMucHJvZ3Jlc3M8PTE/dGhpcy5wcm9ncmVzcyoxMDA6dGhpcy5wcm9ncmVzcztyZXR1cm4gdGhpcy5jbGFtcFBlcmNlbnRhZ2UoUil9cmV0dXJuIHRoaXMuY2xhbXBQZXJjZW50YWdlKHRoaXMucGVyY2VudGFnZSl9Z2V0UmVuZGVyZWRTdGF0dXNSb3dzKCl7bGV0IFI9TnVtYmVyLmlzRmluaXRlKHRoaXMuc3RhdHVzUm93cyk/TWF0aC5mbG9vcih0aGlzLnN0YXR1c1Jvd3MpOjM7cmV0dXJuIE1hdGgubWF4KDEsUil9Y2xhbXBQZXJjZW50YWdlKFIpe3JldHVybiBNYXRoLm1heCgwLE1hdGgubWluKDEwMCxSKSl9Zm9ybWF0UGVyY2VudGFnZShSKXtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihSKT9gJHtSfWA6Ui50b0ZpeGVkKDEpLnJlcGxhY2UoL1wuMCQvLCIiKX1zeW5jU3Bpbm5lclN0YXRlKCl7bGV0IFI9dGhpcy5pbmRldGVybWluYXRlJiYodGhpcy5zdGF0dXNUZXh0LnRyaW0oKS5sZW5ndGg+MHx8dGhpcy50ZXJtaW5hbExpbmVzLmxlbmd0aD4wKTtpZihSJiZ0aGlzLnNwaW5uZXJJbnRlcnZhbElkPT09bnVsbCl7dGhpcy5zcGlubmVySW50ZXJ2YWxJZD13aW5kb3cuc2V0SW50ZXJ2YWwoKCk9Pnt0aGlzLmFjdGl2ZVNwaW5uZXJGcmFtZT0odGhpcy5hY3RpdmVTcGlubmVyRnJhbWUrMSkldGhpcy5zcGlubmVyRnJhbWVzLmxlbmd0aH0sMTIwKTtyZXR1cm59Unx8dGhpcy5zdG9wU3Bpbm5lcigpfXN0b3BTcGlubmVyKCl7dGhpcy5zcGlubmVySW50ZXJ2YWxJZCE9PW51bGwmJih3aW5kb3cuY2xlYXJJbnRlcnZhbCh0aGlzLnNwaW5uZXJJbnRlcnZhbElkKSx0aGlzLnNwaW5uZXJJbnRlcnZhbElkPW51bGwpLHRoaXMuYWN0aXZlU3Bpbm5lckZyYW1lPTB9c2Nyb2xsVGVybWluYWxUb0JvdHRvbSgpe2xldCBSPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnRlcm1pbmFsU2Nyb2xsZXIiKTtSJiZ3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57Ui5zY3JvbGxUb3A9Ui5zY3JvbGxIZWlnaHR9KX1zdGF0aWN7dHMocix0KX19O3JldHVybiBoZT1yfSkoKX0pO3ZhciBWMGE9ZigoKT0+e0RRZSgpfSk7dmFyIEdzZSx2NSxqMGEsVTBhPWYoKCk9PntsZSgpO0p0KCk7UWUoKTtHc2U9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHY1PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxqMGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXNwaW5uZXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1NwaW5uZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk51bWJlcn0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKCldLEdzZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InNpemUiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5zaXplLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuc2l6ZT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksR3NlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYm53IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJibnciaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5ibncsImdldCIpLHNldDpzKChnLHkpPT57Zy5ibnc9eX0sInNldCIpfSxtZXRhZGF0YTpifSxjLHApLEdzZSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXR1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ic3RhdHVzImluIGcsImhhcyIpLGdldDpzKGc9Pmcuc3RhdHVzLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuc3RhdHVzPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSxHc2UobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtb0dyb3Vwcz1bIkZlZWRiYWNrIl07c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkZWVzLXNwaW5uZXI+PC9kZWVzLXNwaW5uZXI+CiAgICA8ZGVlcy1zcGlubmVyIHN0YXR1cz0ic3VjY2VzcyI+PC9kZWVzLXNwaW5uZXI+CiAgICA8ZGVlcy1zcGlubmVyIHN0YXR1cz0iZXJyb3IiPjwvZGVlcy1zcGlubmVyPgogICAgPGRlZXMtc3Bpbm5lciBzaXplPSR7NjR9IHN0YXR1cz0ic3VjY2VzcyI+PC9kZWVzLXNwaW5uZXI+CiAgICA8ZGVlcy1zcGlubmVyIC5zaXplPSR7NjR9IHN0YXR1cz0iZXJyb3IiPjwvZGVlcy1zcGlubmVyPgogIGAsImRlbW8iKTsjZT12NSh0aGlzLG4sMjApO2dldCBzaXplKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNpemUoYil7dGhpcy4jZT1ifSN0PSh2NSh0aGlzLGwpLHY1KHRoaXMsYywhMSkpO2dldCBibncoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYm53KGIpe3RoaXMuI3Q9Yn0jYT0odjUodGhpcyxwKSx2NSh0aGlzLG0sIm5vcm1hbCIpKTtnZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHN0YXR1cyhiKXt0aGlzLiNhPWJ9Y29uc3RydWN0b3IoKXtzdXBlcigpLHY1KHRoaXMsdil9c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgI2xvYWRpbmcgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB0cmFuc2l0aW9uOiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyOwogICAgICAgIGJhY2tncm91bmQ6ICM4YmMzNGEwMDsKICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjEpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke2guYmRUaGVtZSgiIzMzMyIsIiNmZmYiKX07CiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzcGluIDFzIGVhc2UtaW4tb3V0IGluZmluaXRlOwogICAgICB9CgogICAgICAjbG9hZGluZy5zdWNjZXNzIHsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGFuaW1hdGlvbjogbm9uZTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgI2xvYWRpbmcuZXJyb3IgewogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYW5pbWF0aW9uOiBub25lOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uOiBub25lOwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgIHRvIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgICB9CiAgICAgIH0KICAgICAgQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4gewogICAgICAgIHRvIHsKICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIGRlZXMtaWNvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICAjbG9hZGluZyB7CiAgICAgICAgICB3aWR0aDogJHt0aGlzLnNpemV9cHg7CiAgICAgICAgICBoZWlnaHQ6ICR7dGhpcy5zaXplfXB4OwogICAgICAgIH0KICAgICAgICAjbG9hZGluZy5zdWNjZXNzIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSh0aGlzLmJudz8iIzMzMyI6IiM4YmMzNGEiLHRoaXMuYm53PyIjZmZmIjoiIzhiYzM0YSIpfTsKICAgICAgICAgIAogICAgICAgIH0KICAgICAgICAjbG9hZGluZy5lcnJvciB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUodGhpcy5ibnc/IiMzMzMiOiIjZTY0YTE5Iix0aGlzLmJudz8iI2ZmZiI6IiNlNjRhMTkiKX07CiAgICAgICAgfQogICAgICAgIGRlZXMtaWNvbiB7CiAgICAgICAgICBmb250LXNpemU6ICR7dGhpcy5zaXplfXB4OwogICAgICAgIH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iJHt0aGlzLnN0YXR1c30iIGlkPSJsb2FkaW5nIj4KICAgICAgICAkeygoKT0+e2lmKHRoaXMuc3RhdHVzPT09InN1Y2Nlc3MiKXJldHVybiB3YDxkZWVzLWljb24gc3R5bGU9InRyYW5zZm9ybTogdHJhbnNsYXRlWCgxJSkgdHJhbnNsYXRlWSgzJSk7IiAuaWNvbj0keyJmYTpjaXJjbGUtY2hlY2sifT48L2RlZXMtaWNvbj5gO2lmKHRoaXMuc3RhdHVzPT09ImVycm9yIilyZXR1cm4gd2A8ZGVlcy1pY29uIC5pY29uPSR7ImZhOmNpcmNsZS14bWFyayJ9PjwvZGVlcy1pY29uPmB9KSgpfQogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje3Y1KHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBXMGE9ZigoKT0+e1UwYSgpfSk7dmFyIEcwYSxZMGE9ZigoKT0+e2xlKCk7QVFlKCk7X2YoKTtHMGE9cygoKT0+d2AKICAgIDxzdHlsZT4KICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nOiAzMnB4OwogICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgfQoKICAgICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDhweDsKICAgICAgfQoKICAgICAgLmRlbW8tdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzMzIiwiI2ZmZiIpfTsKICAgICAgfQoKICAgICAgLmRlbW8tZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2NjYiLCIjYWFhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5idXR0b24tZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDsKICAgICAgfQoKICAgICAgLnRoZW1lLXRvZ2dsZSB7CiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHRvcDogMTZweDsKICAgICAgICByaWdodDogMTZweDsKICAgICAgICB6LWluZGV4OiAxMDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGVlcy1idXR0b24gY2xhc3M9InRoZW1lLXRvZ2dsZSIgQGNsaWNrZWQ9JHsoKT0+e2RvY3VtZW50LmJvZHkuY2xhc3NMaXN0LnRvZ2dsZSgiYnJpZ2h0Iil9fT5Ub2dnbGUgVGhlbWU8L2RlZXMtYnV0dG9uPgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlRvYXN0IFR5cGVzPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBEaWZmZXJlbnQgdG9hc3QgdHlwZXMgZm9yIHZhcmlvdXMgbm90aWZpY2F0aW9uIHNjZW5hcmlvcy4gQ2xpY2sgYW55IGJ1dHRvbiB0byBzaG93IGEgdG9hc3QuCiAgICAgICAgPC9wPgogICAgICAgIDxkaXYgY2xhc3M9ImJ1dHRvbi1ncmlkIj4KICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57RGEuaW5mbygiVGhpcyBpcyBhbiBpbmZvcm1hdGlvbmFsIG1lc3NhZ2UiKX19PkluZm8gVG9hc3Q8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iaGlnaGxpZ2h0ZWQiIEBjbGlja2VkPSR7KCk9PntEYS5zdWNjZXNzKCJPcGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseSEiKX19PlN1Y2Nlc3MgVG9hc3Q8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0RhLndhcm5pbmcoIlBsZWFzZSByZXZpZXcgYmVmb3JlIHByb2NlZWRpbmciKX19Pldhcm5pbmcgVG9hc3Q8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0RhLmVycm9yKCJBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBwcm9jZXNzaW5nIil9fT5FcnJvciBUb2FzdDwvZGVlcy1idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDIgY2xhc3M9ImRlbW8tdGl0bGUiPlRvYXN0IFBvc2l0aW9uczwvaDI+CiAgICAgICAgPHAgY2xhc3M9ImRlbW8tZGVzY3JpcHRpb24iPgogICAgICAgICAgVG9hc3RzIGNhbiBhcHBlYXIgaW4gZGlmZmVyZW50IHBvc2l0aW9ucyBvbiB0aGUgc2NyZWVuLgogICAgICAgIDwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0RhLnNob3coe21lc3NhZ2U6IlRvcCBSaWdodCBQb3NpdGlvbiIsdHlwZToiaW5mbyIscG9zaXRpb246InRvcC1yaWdodCJ9KX19PlRvcCBSaWdodDwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57RGEuc2hvdyh7bWVzc2FnZToiVG9wIExlZnQgUG9zaXRpb24iLHR5cGU6ImluZm8iLHBvc2l0aW9uOiJ0b3AtbGVmdCJ9KX19PlRvcCBMZWZ0PC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntEYS5zaG93KHttZXNzYWdlOiJCb3R0b20gUmlnaHQgUG9zaXRpb24iLHR5cGU6ImluZm8iLHBvc2l0aW9uOiJib3R0b20tcmlnaHQifSl9fT5Cb3R0b20gUmlnaHQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0RhLnNob3coe21lc3NhZ2U6IkJvdHRvbSBMZWZ0IFBvc2l0aW9uIix0eXBlOiJpbmZvIixwb3NpdGlvbjoiYm90dG9tLWxlZnQifSl9fT5Cb3R0b20gTGVmdDwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57RGEuc2hvdyh7bWVzc2FnZToiVG9wIENlbnRlciBQb3NpdGlvbiIsdHlwZToiaW5mbyIscG9zaXRpb246InRvcC1jZW50ZXIifSl9fT5Ub3AgQ2VudGVyPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntEYS5zaG93KHttZXNzYWdlOiJCb3R0b20gQ2VudGVyIFBvc2l0aW9uIix0eXBlOiJpbmZvIixwb3NpdGlvbjoiYm90dG9tLWNlbnRlciJ9KX19PkJvdHRvbSBDZW50ZXI8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5EdXJhdGlvbiBPcHRpb25zPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDb250cm9sIGhvdyBsb25nIHRvYXN0cyBzdGF5IHZpc2libGUuIER1cmF0aW9uIGluIG1pbGxpc2Vjb25kcy4KICAgICAgICA8L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntEYS5zaG93KHttZXNzYWdlOiJRdWljayB0b2FzdCAoMSBzZWNvbmQpIix0eXBlOiJpbmZvIixkdXJhdGlvbjoxZTN9KX19PjEgU2Vjb25kPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntEYS5zaG93KHttZXNzYWdlOiJTdGFuZGFyZCB0b2FzdCAoMyBzZWNvbmRzKSIsdHlwZToiaW5mbyIsZHVyYXRpb246M2UzfSl9fT4zIFNlY29uZHMgKERlZmF1bHQpPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntEYS5zaG93KHttZXNzYWdlOiJMb25nIHRvYXN0ICg1IHNlY29uZHMpIix0eXBlOiJpbmZvIixkdXJhdGlvbjo1ZTN9KX19PjUgU2Vjb25kczwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57RGEuc2hvdyh7bWVzc2FnZToiTWFudWFsIGRpc21pc3Mgb25seSAoY2xpY2sgdG8gY2xvc2UpIix0eXBlOiJ3YXJuaW5nIixkdXJhdGlvbjowfSl9fT5ObyBBdXRvLURpc21pc3M8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5NdWx0aXBsZSBUb2FzdHM8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIE11bHRpcGxlIHRvYXN0cyBzdGFjayBhdXRvbWF0aWNhbGx5LiBUaGV5IG1haW50YWluIHRoZWlyIG9yZGVyIGFuZCBhbmltYXRlIHNtb290aGx5LgogICAgICAgIDwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJidXR0b24tZ3JpZCI+CiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0RhLmluZm8oIkZpcnN0IG5vdGlmaWNhdGlvbiIpLHNldFRpbWVvdXQoKCk9PkRhLnN1Y2Nlc3MoIlNlY29uZCBub3RpZmljYXRpb24iKSwyMDApLHNldFRpbWVvdXQoKCk9PkRhLndhcm5pbmcoIlRoaXJkIG5vdGlmaWNhdGlvbiIpLDQwMCksc2V0VGltZW91dCgoKT0+RGEuZXJyb3IoIkZvdXJ0aCBub3RpZmljYXRpb24iKSw2MDApfX0+U2hvdyBNdWx0aXBsZTwvZGVlcy1idXR0b24+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWJ1dHRvbiBAY2xpY2tlZD0keygpPT57Zm9yKGxldCBhPTE7YTw9NTthKyspc2V0VGltZW91dCgoKT0+e0RhLnNob3coe21lc3NhZ2U6YE5vdGlmaWNhdGlvbiAjJHthfWAsdHlwZTphJTI9PT0wPyJzdWNjZXNzIjoiaW5mbyIsZHVyYXRpb246MmUzK2EqNTAwfSl9LGEqMTAwKX19PlJhcGlkIEZpcmU8L2RlZXMtYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgyIGNsYXNzPSJkZW1vLXRpdGxlIj5SZWFsLVdvcmxkIEV4YW1wbGVzPC9oMj4KICAgICAgICA8cCBjbGFzcz0iZGVtby1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDb21tb24gdXNlIGNhc2VzIGZvciB0b2FzdCBub3RpZmljYXRpb25zIGluIGFwcGxpY2F0aW9ucy4KICAgICAgICA8L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7YXN5bmMoKT0+e2xldCBhPWF3YWl0IERhLnNob3coe21lc3NhZ2U6IlNhdmluZyBjaGFuZ2VzLi4uIix0eXBlOiJpbmZvIixkdXJhdGlvbjowfSk7c2V0VGltZW91dCgoKT0+e2EuZGlzbWlzcygpLERhLnN1Y2Nlc3MoIkNoYW5nZXMgc2F2ZWQgc3VjY2Vzc2Z1bGx5ISIpfSwyZTMpfX0+U2F2ZSBPcGVyYXRpb248L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0RhLmVycm9yKCJGYWlsZWQgdG8gY29ubmVjdCB0byBzZXJ2ZXIuIFBsZWFzZSBjaGVjayB5b3VyIGludGVybmV0IGNvbm5lY3Rpb24uIil9fT5OZXR3b3JrIEVycm9yPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntEYS53YXJuaW5nKCJZb3VyIHNlc3Npb24gd2lsbCBleHBpcmUgaW4gNSBtaW51dGVzIil9fT5TZXNzaW9uIFdhcm5pbmc8L2RlZXMtYnV0dG9uPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1idXR0b24gQGNsaWNrZWQ9JHsoKT0+e0RhLnN1Y2Nlc3MoIkZpbGUgdXBsb2FkZWQgc3VjY2Vzc2Z1bGx5ISIpfX0+VXBsb2FkIENvbXBsZXRlPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMiBjbGFzcz0iZGVtby10aXRsZSI+UHJvZ3JhbW1hdGljIENvbnRyb2w8L2gyPgogICAgICAgIDxwIGNsYXNzPSJkZW1vLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIEFkdmFuY2VkIGNvbnRyb2wgb3ZlciB0b2FzdCBiZWhhdmlvci4KICAgICAgICA8L3A+CiAgICAgICAgPGRpdiBjbGFzcz0iYnV0dG9uLWdyaWQiPgogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7YXN5bmMoKT0+e2xldCBhPWF3YWl0IERhLnNob3coe21lc3NhZ2U6IlRoaXMgdG9hc3QgY2FuIGJlIGRpc21pc3NlZCBwcm9ncmFtbWF0aWNhbGx5Iix0eXBlOiJpbmZvIixkdXJhdGlvbjowfSk7c2V0VGltZW91dCgoKT0+e2EuZGlzbWlzcygpLERhLnN1Y2Nlc3MoIlRvYXN0IGRpc21pc3NlZCBhZnRlciAyIHNlY29uZHMiKX0sMmUzKX19PlByb2dyYW1tYXRpYyBEaXNtaXNzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIAogICAgICAgICAgPGRlZXMtYnV0dG9uIEBjbGlja2VkPSR7KCk9PntEYS5pbmZvKCJJbmZvIG1lc3NhZ2UiLDJlMyksc2V0VGltZW91dCgoKT0+RGEuc3VjY2VzcygiU3VjY2VzcyBtZXNzYWdlIiwyZTMpLDUwMCksc2V0VGltZW91dCgoKT0+RGEud2FybmluZygiV2FybmluZyBtZXNzYWdlIiwyZTMpLDFlMyksc2V0VGltZW91dCgoKT0+RGEuZXJyb3IoIkVycm9yIG1lc3NhZ2UiLDJlMyksMTUwMCl9fT5Db252ZW5pZW5jZSBNZXRob2RzPC9kZWVzLWJ1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICBgLCJkZW1vRnVuYyIpfSk7dmFyIHRHLEVjLERhLEFRZT1mKCgpPT57bGUoKTtKdCgpO2ppKCk7WTBhKCk7dXMoKTtRZSgpO3RHPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxFYz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sRGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXRvYXN0IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNUb2FzdCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBrPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6TnVtYmVyfSldLHg9WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLHRHKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVzc2FnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ibWVzc2FnZSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLm1lc3NhZ2UsImdldCIpLHNldDpzKChDLE4pPT57Qy5tZXNzYWdlPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSx0Ryh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+InR5cGUiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy50eXBlLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MudHlwZT1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGMscCksdEcodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkdXJhdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iZHVyYXRpb24iaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5kdXJhdGlvbiwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmR1cmF0aW9uPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbSx2KSx0Ryh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzVmlzaWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iaXNWaXNpYmxlImluIEMsImhhcyIpLGdldDpzKEM9PkMuaXNWaXNpYmxlLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuaXNWaXNpYmxlPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYixnKSx0RyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTprfSxudWxsLHQpLHk9cj1lLnZhbHVlLGsmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6a30pfXN0YXRpYyBkZW1vPUcwYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkZlZWRiYWNrIiwiT3ZlcmxheSJdO3N0YXRpYyB0b2FzdENvbnRhaW5lcnM9bmV3IE1hcDtzdGF0aWMgZ2V0T3JDcmVhdGVDb250YWluZXIoayl7aWYoIXRoaXMudG9hc3RDb250YWluZXJzLmhhcyhrKSl7bGV0IEM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7c3dpdGNoKEMuY2xhc3NOYW1lPWB0b2FzdC1jb250YWluZXIgdG9hc3QtY29udGFpbmVyLSR7a31gLEMuc3R5bGUuY3NzVGV4dD1gCiAgICAgICAgcG9zaXRpb246IGZpeGVkOwogICAgICAgIHotaW5kZXg6ICR7THMub3ZlcmxheS50b2FzdH07CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIGAsayl7Y2FzZSJ0b3AtcmlnaHQiOkMuc3R5bGUudG9wPSIwIixDLnN0eWxlLnJpZ2h0PSIwIjticmVhaztjYXNlInRvcC1sZWZ0IjpDLnN0eWxlLnRvcD0iMCIsQy5zdHlsZS5sZWZ0PSIwIjticmVhaztjYXNlImJvdHRvbS1yaWdodCI6Qy5zdHlsZS5ib3R0b209IjAiLEMuc3R5bGUucmlnaHQ9IjAiO2JyZWFrO2Nhc2UiYm90dG9tLWxlZnQiOkMuc3R5bGUuYm90dG9tPSIwIixDLnN0eWxlLmxlZnQ9IjAiO2JyZWFrO2Nhc2UidG9wLWNlbnRlciI6Qy5zdHlsZS50b3A9IjAiLEMuc3R5bGUubGVmdD0iNTAlIixDLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWCgtNTAlKSI7YnJlYWs7Y2FzZSJib3R0b20tY2VudGVyIjpDLnN0eWxlLmJvdHRvbT0iMCIsQy5zdHlsZS5sZWZ0PSI1MCUiLEMuc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGVYKC01MCUpIjticmVha31kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKEMpLHRoaXMudG9hc3RDb250YWluZXJzLnNldChrLEMpfXJldHVybiB0aGlzLnRvYXN0Q29udGFpbmVycy5nZXQoayl9c3RhdGljIGFzeW5jIHNob3coayl7bGV0IEM9dHlwZW9mIGs9PSJzdHJpbmciP3ttZXNzYWdlOmt9OmssTj1uZXcgeTtyZXR1cm4gTi5tZXNzYWdlPUMubWVzc2FnZSxOLnR5cGU9Qy50eXBlfHwiaW5mbyIsTi5kdXJhdGlvbj1DLmR1cmF0aW9ufHwzZTMsdGhpcy5nZXRPckNyZWF0ZUNvbnRhaW5lcihDLnBvc2l0aW9ufHwidG9wLXJpZ2h0IikuYXBwZW5kQ2hpbGQoTiksYXdhaXQgTi51cGRhdGVDb21wbGV0ZSxyZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCk9PntOLmlzVmlzaWJsZT0hMH0pLE4uZHVyYXRpb24+MCYmc2V0VGltZW91dCgoKT0+e04uZGlzbWlzcygpfSxOLmR1cmF0aW9uKSxOfXN0YXRpYyBhc3luYyBjcmVhdGVBbmRTaG93KGspe3JldHVybiB0aGlzLnNob3coayl9c3RhdGljIGluZm8oayxDKXtyZXR1cm4gdGhpcy5zaG93KHttZXNzYWdlOmssdHlwZToiaW5mbyIsZHVyYXRpb246Q30pfXN0YXRpYyBzdWNjZXNzKGssQyl7cmV0dXJuIHRoaXMuc2hvdyh7bWVzc2FnZTprLHR5cGU6InN1Y2Nlc3MiLGR1cmF0aW9uOkN9KX1zdGF0aWMgd2FybmluZyhrLEMpe3JldHVybiB0aGlzLnNob3coe21lc3NhZ2U6ayx0eXBlOiJ3YXJuaW5nIixkdXJhdGlvbjpDfSl9c3RhdGljIGVycm9yKGssQyl7cmV0dXJuIHRoaXMuc2hvdyh7bWVzc2FnZTprLHR5cGU6ImVycm9yIixkdXJhdGlvbjpDfSl9I2U9RWModGhpcyxuLCIiKTtnZXQgbWVzc2FnZSgpe3JldHVybiB0aGlzLiNlfXNldCBtZXNzYWdlKGspe3RoaXMuI2U9a30jdD0oRWModGhpcyxsKSxFYyh0aGlzLGMsImluZm8iKSk7Z2V0IHR5cGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgdHlwZShrKXt0aGlzLiN0PWt9I2E9KEVjKHRoaXMscCksRWModGhpcyxtLDNlMykpO2dldCBkdXJhdGlvbigpe3JldHVybiB0aGlzLiNhfXNldCBkdXJhdGlvbihrKXt0aGlzLiNhPWt9I3I9KEVjKHRoaXMsdiksRWModGhpcyxiLCExKSk7Z2V0IGlzVmlzaWJsZSgpe3JldHVybiB0aGlzLiNyfXNldCBpc1Zpc2libGUoayl7dGhpcy4jcj1rfWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxFYyh0aGlzLGcpLHRyLnNldHVwKCl9c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIDpob3N0KFtpc3Zpc2libGVdKSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgIH0KCiAgICAgIC50b2FzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxNnB4IDIwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmIiwiIzIyMiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2UwZTBlMCIsIiMzMzMiKX07CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggMTJweCAke2guYmRUaGVtZSgicmdiYSgwLDAsMCwwLjEpIiwicmdiYSgwLDAsMCwwLjMpIil9OwogICAgICAgIG1pbi13aWR0aDogMzAwcHg7CiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC50b2FzdDpob3ZlciB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTsKICAgICAgfQoKICAgICAgLmljb24gewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHdpZHRoOiAyMHB4OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5pY29uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAubWVzc2FnZSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzMzMiLCIjZmZmIil9OwogICAgICB9CgogICAgICAuY2xvc2UgewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yczsKICAgICAgfQoKICAgICAgLmNsb3NlOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CgogICAgICAuY2xvc2Ugc3ZnIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZmlsbDogY3VycmVudENvbG9yOwogICAgICB9CgogICAgICAvKiBUeXBlLXNwZWNpZmljIHN0eWxlcyAqLwogICAgICA6aG9zdChbdHlwZT0iaW5mbyJdKSAuaWNvbiB7CiAgICAgICAgY29sb3I6ICMwMDg0ZmY7CiAgICAgIH0KCiAgICAgIDpob3N0KFt0eXBlPSJzdWNjZXNzIl0pIC5pY29uIHsKICAgICAgICBjb2xvcjogIzIyYzU1ZTsKICAgICAgfQoKICAgICAgOmhvc3QoW3R5cGU9Indhcm5pbmciXSkgLmljb24gewogICAgICAgIGNvbG9yOiAjZjU5ZTBiOwogICAgICB9CgogICAgICA6aG9zdChbdHlwZT0iZXJyb3IiXSkgLmljb24gewogICAgICAgIGNvbG9yOiAjZWY0NDQ0OwogICAgICB9CgogICAgICAvKiBQcm9ncmVzcyBiYXIgKi8KICAgICAgLnByb2dyZXNzIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgaGVpZ2h0OiAzcHg7CiAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yOwogICAgICAgIG9wYWNpdHk6IDAuMjsKICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgOHB4IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yOwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0OwogICAgICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3MgbGluZWFyIGZvcndhcmRzOwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHByb2dyZXNzIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpOwogICAgICAgIH0KICAgICAgICB0byB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBrPXtpbmZvOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnptMS0xMWExIDEgMCAxMC0yIDB2Mkg3YTEgMSAwIDEwMCAyaDJ2MmExIDEgMCAxMDIgMHYtMmgyYTEgMSAwIDEwMC0yaC0yVjd6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPC9zdmc+YCxzdWNjZXNzOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTAgMThhOCA4IDAgMTAwLTE2IDggOCAwIDAwMCAxNnptMy43MDctOS4yOTNhMSAxIDAgMDAtMS40MTQtMS40MTRMOSAxMC41ODYgNy43MDcgOS4yOTNhMSAxIDAgMDAtMS40MTQgMS40MTRsMiAyYTEgMSAwIDAwMS40MTQgMGw0LTR6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPC9zdmc+YCx3YXJuaW5nOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNOC4yNTcgMy4wOTljLjc2NS0xLjM2IDIuNzIyLTEuMzYgMy40ODYgMGw1LjU4IDkuOTJjLjc1IDEuMzM0LS4yMTMgMi45OC0xLjc0MiAyLjk4SDQuNDJjLTEuNTMgMC0yLjQ5My0xLjY0Ni0xLjc0My0yLjk4bDUuNTgtOS45MnpNMTEgMTNhMSAxIDAgMTEtMiAwIDEgMSAwIDAxMiAwem0tMS04YTEgMSAwIDAwLTEgMXYzYTEgMSAwIDAwMiAwVjZhMSAxIDAgMDAtMS0xeiIgY2xpcC1ydWxlPSJldmVub2RkIi8+CiAgICAgIDwvc3ZnPmAsZXJyb3I6d2A8c3ZnIHZpZXdCb3g9IjAgMCAyMCAyMCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMCAxOGE4IDggMCAxMDAtMTYgOCA4IDAgMDAwIDE2ek04LjcwNyA3LjI5M2ExIDEgMCAwMC0xLjQxNCAxLjQxNEw4LjU4NiAxMGwtMS4yOTMgMS4yOTNhMSAxIDAgMTAxLjQxNCAxLjQxNEwxMCAxMS40MTRsMS4yOTMgMS4yOTNhMSAxIDAgMDAxLjQxNC0xLjQxNEwxMS40MTQgMTBsMS4yOTMtMS4yOTNhMSAxIDAgMDAtMS40MTQtMS40MTRMMTAgOC41ODYgOC43MDcgNy4yOTN6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgPC9zdmc+YH07cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InRvYXN0IiBAY2xpY2s9JHt0aGlzLmRpc21pc3N9PgogICAgICAgIDxkaXYgY2xhc3M9Imljb24iPgogICAgICAgICAgJHtrW3RoaXMudHlwZV19CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZSI+JHt0aGlzLm1lc3NhZ2V9PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2xvc2UiPgogICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMTYgMTYiIGZpbGw9ImN1cnJlbnRDb2xvciI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik00LjY0NiA0LjY0NmEuNS41IDAgMCAxIC43MDggMEw4IDcuMjkzbDIuNjQ2LTIuNjQ3YS41LjUgMCAwIDEgLjcwOC43MDhMOC43MDcgOGwyLjY0NyAyLjY0NmEuNS41IDAgMCAxLS43MDguNzA4TDggOC43MDdsLTIuNjQ2IDIuNjQ3YS41LjUgMCAwIDEtLjcwOC0uNzA4TDcuMjkzIDggNC42NDYgNS4zNTRhLjUuNSAwIDAgMSAwLS43MDh6Ii8+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuZHVyYXRpb24+MD93YAogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiIHN0eWxlPSJhbmltYXRpb24tZHVyYXRpb246ICR7dGhpcy5kdXJhdGlvbn1tcyI+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZGlzbWlzcygpe3RoaXMuaXNWaXNpYmxlPSExLGF3YWl0IG5ldyBQcm9taXNlKEM9PnNldFRpbWVvdXQoQywzMDApKSx0aGlzLnJlbW92ZSgpO2xldCBrPXRoaXMucGFyZW50RWxlbWVudDtpZihrJiZrLmNoaWxkcmVuLmxlbmd0aD09PTApe2sucmVtb3ZlKCk7Zm9yKGxldFtDLE5db2YgeS50b2FzdENvbnRhaW5lcnMuZW50cmllcygpKWlmKE49PT1rKXt5LnRvYXN0Q29udGFpbmVycy5kZWxldGUoQyk7YnJlYWt9fX1maXJzdFVwZGF0ZWQoKXt0aGlzLnNldEF0dHJpYnV0ZSgidHlwZSIsdGhpcy50eXBlKX1zdGF0aWN7RWMocix0KX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIEswYT1mKCgpPT57QVFlKCl9KTt2YXIgWjBhPWYoKCk9PntUMGEoKTtFMGEoKTtGMGEoKTtWMGEoKTtXMGEoKTtLMGEoKX0pO3ZhciBYMGE9ZigoKT0+e2NtKCl9KTt2YXIgUTBhPWYoKCk9PntBZigpfSk7dmFyIEowYT1mKCgpPT57WDBhKCk7UTBhKCl9KTt2YXIgZTRhPWYoKCk9PntTcigpfSk7dmFyIHQ0YT1mKCgpPT57UFllKCl9KTt2YXIgYTRhPWYoKCk9PntXWWUoKX0pO3ZhciByNGE9ZigoKT0+e2VLZSgpfSk7dmFyIHM0YT1mKCgpPT57R1llKCl9KTt2YXIgaTRhPWYoKCk9PntZWWUoKX0pO3ZhciBvNGE9ZigoKT0+e0ZZZSgpfSk7dmFyIG40YT1mKCgpPT57bmFlKCl9KTt2YXIgbDRhPWYoKCk9PntGc2UoKX0pO3ZhciBjNGE9ZigoKT0+e30pO3ZhciBkNGE9ZigoKT0+e2M0YSgpfSk7dmFyIHU0YT1mKCgpPT57WlllKCl9KTt2YXIgcDRhPWYoKCk9PntRWWUoKX0pO3ZhciBmNGE9ZigoKT0+e09zZSgpO3RRZSgpfSk7dmFyIFlzZSxoNGE9ZigoKT0+e1lzZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJJbWFnZUNyb3BwZXIiKX1vcHRpb25zO2NhbnZhcztjdHg7aW1nO292ZXJsYXlDYW52YXM7b3ZlcmxheUN0eDtjcm9wWD0wO2Nyb3BZPTA7Y3JvcFNpemU9MjAwO21pbkNyb3BTaXplPTUwO2lzRHJhZ2dpbmc9ITE7aXNSZXNpemluZz0hMTtkcmFnU3RhcnRYPTA7ZHJhZ1N0YXJ0WT0wO3Jlc2l6ZUhhbmRsZT0iIjtpbWFnZVNjYWxlPTE7aW1hZ2VPZmZzZXRYPTA7aW1hZ2VPZmZzZXRZPTA7Y29uc3RydWN0b3IoZSl7dGhpcy5vcHRpb25zPXttaW5TaXplOjUwLG91dHB1dFNpemU6ODAwLG91dHB1dFF1YWxpdHk6Ljk1LC4uLmV9LHRoaXMuY2FudmFzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHRoaXMuY3R4PXRoaXMuY2FudmFzLmdldENvbnRleHQoIjJkIiksdGhpcy5vdmVybGF5Q2FudmFzPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLHRoaXMub3ZlcmxheUN0eD10aGlzLm92ZXJsYXlDYW52YXMuZ2V0Q29udGV4dCgiMmQiKSx0aGlzLmltZz1uZXcgSW1hZ2V9YXN5bmMgaW5pdGlhbGl6ZSgpe2F3YWl0IHRoaXMubG9hZEltYWdlKCksdGhpcy5zZXR1cENhbnZhc2VzKCksdGhpcy5zZXR1cEV2ZW50TGlzdGVuZXJzKCksdGhpcy5yZW5kZXIoKX1hc3luYyBsb2FkSW1hZ2UoKXtyZXR1cm4gbmV3IFByb21pc2UoKGUsdCk9Pnt0aGlzLmltZy5vbmxvYWQ9KCk9PmUoKSx0aGlzLmltZy5vbmVycm9yPXQsdGhpcy5pbWcuc3JjPXRoaXMub3B0aW9ucy5pbWFnZX0pfXNldHVwQ2FudmFzZXMoKXtsZXQgZT10aGlzLm9wdGlvbnMuY29udGFpbmVyLHQ9TWF0aC5taW4oZS5jbGllbnRXaWR0aCxlLmNsaWVudEhlaWdodCk7dGhpcy5jYW52YXMud2lkdGg9dCx0aGlzLmNhbnZhcy5oZWlnaHQ9dCx0aGlzLmNhbnZhcy5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5jYW52YXMuc3R5bGUuaGVpZ2h0PSIxMDAlIix0aGlzLmNhbnZhcy5zdHlsZS5wb3NpdGlvbj0iYWJzb2x1dGUiLHRoaXMuY2FudmFzLnN0eWxlLnRvcD0iMCIsdGhpcy5jYW52YXMuc3R5bGUubGVmdD0iMCIsdGhpcy5vdmVybGF5Q2FudmFzLndpZHRoPXQsdGhpcy5vdmVybGF5Q2FudmFzLmhlaWdodD10LHRoaXMub3ZlcmxheUNhbnZhcy5zdHlsZS53aWR0aD0iMTAwJSIsdGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLmhlaWdodD0iMTAwJSIsdGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLnBvc2l0aW9uPSJhYnNvbHV0ZSIsdGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLnRvcD0iMCIsdGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLmxlZnQ9IjAiLHRoaXMub3ZlcmxheUNhbnZhcy5zdHlsZS5jdXJzb3I9Im1vdmUiLGUuYXBwZW5kQ2hpbGQodGhpcy5jYW52YXMpLGUuYXBwZW5kQ2hpbGQodGhpcy5vdmVybGF5Q2FudmFzKTtsZXQgcj1NYXRoLm1pbih0L3RoaXMuaW1nLndpZHRoLHQvdGhpcy5pbWcuaGVpZ2h0KTt0aGlzLmltYWdlU2NhbGU9cix0aGlzLmltYWdlT2Zmc2V0WD0odC10aGlzLmltZy53aWR0aCpyKS8yLHRoaXMuaW1hZ2VPZmZzZXRZPSh0LXRoaXMuaW1nLmhlaWdodCpyKS8yO2xldCBpPXRoaXMuaW1nLndpZHRoKnIsbz10aGlzLmltZy5oZWlnaHQqcixuPU1hdGgubWluKGksbyx0Ki44KTt0aGlzLmNyb3BTaXplPW4qLjgsdGhpcy5jcm9wWD0odC10aGlzLmNyb3BTaXplKS8yLHRoaXMuY3JvcFk9KHQtdGhpcy5jcm9wU2l6ZSkvMn1zZXR1cEV2ZW50TGlzdGVuZXJzKCl7dGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZG93biIsdGhpcy5oYW5kbGVNb3VzZURvd24uYmluZCh0aGlzKSksdGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVNb3VzZU1vdmUuYmluZCh0aGlzKSksdGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlTW91c2VVcC5iaW5kKHRoaXMpKSx0aGlzLm92ZXJsYXlDYW52YXMuYWRkRXZlbnRMaXN0ZW5lcigibW91c2VsZWF2ZSIsdGhpcy5oYW5kbGVNb3VzZVVwLmJpbmQodGhpcykpLHRoaXMub3ZlcmxheUNhbnZhcy5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaHN0YXJ0Iix0aGlzLmhhbmRsZVRvdWNoU3RhcnQuYmluZCh0aGlzKSksdGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNobW92ZSIsdGhpcy5oYW5kbGVUb3VjaE1vdmUuYmluZCh0aGlzKSksdGhpcy5vdmVybGF5Q2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoZW5kIix0aGlzLmhhbmRsZVRvdWNoRW5kLmJpbmQodGhpcykpfWhhbmRsZU1vdXNlRG93bihlKXtsZXQgdD10aGlzLm92ZXJsYXlDYW52YXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkscj0oZS5jbGllbnRYLXQubGVmdCkqKHRoaXMub3ZlcmxheUNhbnZhcy53aWR0aC90LndpZHRoKSxpPShlLmNsaWVudFktdC50b3ApKih0aGlzLm92ZXJsYXlDYW52YXMuaGVpZ2h0L3QuaGVpZ2h0KSxvPXRoaXMuZ2V0UmVzaXplSGFuZGxlKHIsaSk7bz8odGhpcy5pc1Jlc2l6aW5nPSEwLHRoaXMucmVzaXplSGFuZGxlPW8pOnRoaXMuaXNJbnNpZGVDcm9wQXJlYShyLGkpJiYodGhpcy5pc0RyYWdnaW5nPSEwKSx0aGlzLmRyYWdTdGFydFg9cix0aGlzLmRyYWdTdGFydFk9aX1oYW5kbGVNb3VzZU1vdmUoZSl7bGV0IHQ9dGhpcy5vdmVybGF5Q2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHI9KGUuY2xpZW50WC10LmxlZnQpKih0aGlzLm92ZXJsYXlDYW52YXMud2lkdGgvdC53aWR0aCksaT0oZS5jbGllbnRZLXQudG9wKSoodGhpcy5vdmVybGF5Q2FudmFzLmhlaWdodC90LmhlaWdodCksbz10aGlzLmdldFJlc2l6ZUhhbmRsZShyLGkpO2lmKG8/dGhpcy5vdmVybGF5Q2FudmFzLnN0eWxlLmN1cnNvcj10aGlzLmdldFJlc2l6ZUN1cnNvcihvKTp0aGlzLmlzSW5zaWRlQ3JvcEFyZWEocixpKT90aGlzLm92ZXJsYXlDYW52YXMuc3R5bGUuY3Vyc29yPSJtb3ZlIjp0aGlzLm92ZXJsYXlDYW52YXMuc3R5bGUuY3Vyc29yPSJkZWZhdWx0Iix0aGlzLmlzRHJhZ2dpbmcpe2xldCBuPXItdGhpcy5kcmFnU3RhcnRYLGw9aS10aGlzLmRyYWdTdGFydFksZD10aGlzLmltYWdlT2Zmc2V0WCxjPXRoaXMuaW1hZ2VPZmZzZXRYK3RoaXMuaW1nLndpZHRoKnRoaXMuaW1hZ2VTY2FsZS10aGlzLmNyb3BTaXplLHA9dGhpcy5pbWFnZU9mZnNldFksdT10aGlzLmltYWdlT2Zmc2V0WSt0aGlzLmltZy5oZWlnaHQqdGhpcy5pbWFnZVNjYWxlLXRoaXMuY3JvcFNpemU7dGhpcy5jcm9wWD1NYXRoLm1heChkLE1hdGgubWluKGMsdGhpcy5jcm9wWCtuKSksdGhpcy5jcm9wWT1NYXRoLm1heChwLE1hdGgubWluKHUsdGhpcy5jcm9wWStsKSksdGhpcy5kcmFnU3RhcnRYPXIsdGhpcy5kcmFnU3RhcnRZPWksdGhpcy5yZW5kZXIoKX10aGlzLmlzUmVzaXppbmcmJih0aGlzLmhhbmRsZVJlc2l6ZShyLGkpLHRoaXMuZHJhZ1N0YXJ0WD1yLHRoaXMuZHJhZ1N0YXJ0WT1pLHRoaXMucmVuZGVyKCkpfWhhbmRsZU1vdXNlVXAoKXt0aGlzLmlzRHJhZ2dpbmc9ITEsdGhpcy5pc1Jlc2l6aW5nPSExLHRoaXMucmVzaXplSGFuZGxlPSIifWhhbmRsZVRvdWNoU3RhcnQoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpO2xldCB0PWUudG91Y2hlc1swXSxyPW5ldyBNb3VzZUV2ZW50KCJtb3VzZWRvd24iLHtjbGllbnRYOnQuY2xpZW50WCxjbGllbnRZOnQuY2xpZW50WX0pO3RoaXMuaGFuZGxlTW91c2VEb3duKHIpfWhhbmRsZVRvdWNoTW92ZShlKXtlLnByZXZlbnREZWZhdWx0KCk7bGV0IHQ9ZS50b3VjaGVzWzBdLHI9bmV3IE1vdXNlRXZlbnQoIm1vdXNlbW92ZSIse2NsaWVudFg6dC5jbGllbnRYLGNsaWVudFk6dC5jbGllbnRZfSk7dGhpcy5oYW5kbGVNb3VzZU1vdmUocil9aGFuZGxlVG91Y2hFbmQoZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuaGFuZGxlTW91c2VVcCgpfWdldFJlc2l6ZUhhbmRsZShlLHQpe2xldCBpPXtudzp7eDp0aGlzLmNyb3BYLHk6dGhpcy5jcm9wWX0sbmU6e3g6dGhpcy5jcm9wWCt0aGlzLmNyb3BTaXplLHk6dGhpcy5jcm9wWX0sc3c6e3g6dGhpcy5jcm9wWCx5OnRoaXMuY3JvcFkrdGhpcy5jcm9wU2l6ZX0sc2U6e3g6dGhpcy5jcm9wWCt0aGlzLmNyb3BTaXplLHk6dGhpcy5jcm9wWSt0aGlzLmNyb3BTaXplfX07Zm9yKGxldFtvLG5db2YgT2JqZWN0LmVudHJpZXMoaSkpaWYoTWF0aC5hYnMoZS1uLngpPDIwJiZNYXRoLmFicyh0LW4ueSk8MjApcmV0dXJuIG87cmV0dXJuIiJ9Z2V0UmVzaXplQ3Vyc29yKGUpe3JldHVybntudzoibnctcmVzaXplIixuZToibmUtcmVzaXplIixzdzoic3ctcmVzaXplIixzZToic2UtcmVzaXplIn1bZV18fCJkZWZhdWx0In1pc0luc2lkZUNyb3BBcmVhKGUsdCl7cmV0dXJuIGU+PXRoaXMuY3JvcFgmJmU8PXRoaXMuY3JvcFgrdGhpcy5jcm9wU2l6ZSYmdD49dGhpcy5jcm9wWSYmdDw9dGhpcy5jcm9wWSt0aGlzLmNyb3BTaXplfWhhbmRsZVJlc2l6ZShlLHQpe2xldCByPWUtdGhpcy5kcmFnU3RhcnRYLGk9dC10aGlzLmRyYWdTdGFydFksbz10aGlzLmltYWdlT2Zmc2V0WCxuPXRoaXMuaW1hZ2VPZmZzZXRZLGw9dGhpcy5pbWFnZU9mZnNldFgrdGhpcy5pbWcud2lkdGgqdGhpcy5pbWFnZVNjYWxlLGQ9dGhpcy5pbWFnZU9mZnNldFkrdGhpcy5pbWcuaGVpZ2h0KnRoaXMuaW1hZ2VTY2FsZTtzd2l0Y2godGhpcy5yZXNpemVIYW5kbGUpe2Nhc2Uic2UiOnRoaXMuY3JvcFNpemU9TWF0aC5tYXgodGhpcy5taW5Dcm9wU2l6ZSxNYXRoLm1pbih0aGlzLmNyb3BTaXplK01hdGgubWF4KHIsaSksTWF0aC5taW4obC10aGlzLmNyb3BYLGQtdGhpcy5jcm9wWSkpKTticmVhaztjYXNlIm53IjpsZXQgYz1NYXRoLm1heCh0aGlzLm1pbkNyb3BTaXplLHRoaXMuY3JvcFNpemUtTWF0aC5tYXgocixpKSkscD10aGlzLmNyb3BTaXplLWMsdT10aGlzLmNyb3BYK3AsbT10aGlzLmNyb3BZK3A7dT49byYmbT49biYmKHRoaXMuY3JvcFg9dSx0aGlzLmNyb3BZPW0sdGhpcy5jcm9wU2l6ZT1jKTticmVhaztjYXNlIm5lIjpsZXQgdj1NYXRoLm1heChyLC1pKSx4PU1hdGgubWF4KHRoaXMubWluQ3JvcFNpemUsdGhpcy5jcm9wU2l6ZSt2KSxiPXgtdGhpcy5jcm9wU2l6ZSxnPXRoaXMuY3JvcFktYjtnPj1uJiZ0aGlzLmNyb3BYK3g8PWwmJih0aGlzLmNyb3BZPWcsdGhpcy5jcm9wU2l6ZT14KTticmVhaztjYXNlInN3IjpsZXQgeT1NYXRoLm1heCgtcixpKSxrPU1hdGgubWF4KHRoaXMubWluQ3JvcFNpemUsdGhpcy5jcm9wU2l6ZSt5KSxDPWstdGhpcy5jcm9wU2l6ZSxOPXRoaXMuY3JvcFgtQztOPj1vJiZ0aGlzLmNyb3BZK2s8PWQmJih0aGlzLmNyb3BYPU4sdGhpcy5jcm9wU2l6ZT1rKTticmVha319cmVuZGVyKCl7dGhpcy5jdHguY2xlYXJSZWN0KDAsMCx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLHRoaXMub3ZlcmxheUN0eC5jbGVhclJlY3QoMCwwLHRoaXMub3ZlcmxheUNhbnZhcy53aWR0aCx0aGlzLm92ZXJsYXlDYW52YXMuaGVpZ2h0KSx0aGlzLmN0eC5maWxsU3R5bGU9IiMwMDAwMDAiLHRoaXMuY3R4LmZpbGxSZWN0KDAsMCx0aGlzLmNhbnZhcy53aWR0aCx0aGlzLmNhbnZhcy5oZWlnaHQpLHRoaXMuY3R4LmRyYXdJbWFnZSh0aGlzLmltZyx0aGlzLmltYWdlT2Zmc2V0WCx0aGlzLmltYWdlT2Zmc2V0WSx0aGlzLmltZy53aWR0aCp0aGlzLmltYWdlU2NhbGUsdGhpcy5pbWcuaGVpZ2h0KnRoaXMuaW1hZ2VTY2FsZSksdGhpcy5vdmVybGF5Q3R4LmZpbGxTdHlsZT0icmdiYSgwLCAwLCAwLCAwLjUpIix0aGlzLm92ZXJsYXlDdHguZmlsbFJlY3QodGhpcy5pbWFnZU9mZnNldFgsdGhpcy5pbWFnZU9mZnNldFksdGhpcy5pbWcud2lkdGgqdGhpcy5pbWFnZVNjYWxlLHRoaXMuaW1nLmhlaWdodCp0aGlzLmltYWdlU2NhbGUpLHRoaXMub3ZlcmxheUN0eC5zYXZlKCksdGhpcy5vcHRpb25zLnNoYXBlPT09InJvdW5kIj8odGhpcy5vdmVybGF5Q3R4LmJlZ2luUGF0aCgpLHRoaXMub3ZlcmxheUN0eC5hcmModGhpcy5jcm9wWCt0aGlzLmNyb3BTaXplLzIsdGhpcy5jcm9wWSt0aGlzLmNyb3BTaXplLzIsdGhpcy5jcm9wU2l6ZS8yLDAsTWF0aC5QSSoyKSx0aGlzLm92ZXJsYXlDdHguY2xpcCgpKToodGhpcy5vdmVybGF5Q3R4LmJlZ2luUGF0aCgpLHRoaXMub3ZlcmxheUN0eC5yZWN0KHRoaXMuY3JvcFgsdGhpcy5jcm9wWSx0aGlzLmNyb3BTaXplLHRoaXMuY3JvcFNpemUpLHRoaXMub3ZlcmxheUN0eC5jbGlwKCkpLHRoaXMub3ZlcmxheUN0eC5jbGVhclJlY3QoMCwwLHRoaXMub3ZlcmxheUNhbnZhcy53aWR0aCx0aGlzLm92ZXJsYXlDYW52YXMuaGVpZ2h0KSx0aGlzLm92ZXJsYXlDdHgucmVzdG9yZSgpLHRoaXMub3ZlcmxheUN0eC5zdHJva2VTdHlsZT0id2hpdGUiLHRoaXMub3ZlcmxheUN0eC5saW5lV2lkdGg9Mix0aGlzLm9wdGlvbnMuc2hhcGU9PT0icm91bmQiPyh0aGlzLm92ZXJsYXlDdHguYmVnaW5QYXRoKCksdGhpcy5vdmVybGF5Q3R4LmFyYyh0aGlzLmNyb3BYK3RoaXMuY3JvcFNpemUvMix0aGlzLmNyb3BZK3RoaXMuY3JvcFNpemUvMix0aGlzLmNyb3BTaXplLzIsMCxNYXRoLlBJKjIpLHRoaXMub3ZlcmxheUN0eC5zdHJva2UoKSk6dGhpcy5vdmVybGF5Q3R4LnN0cm9rZVJlY3QodGhpcy5jcm9wWCx0aGlzLmNyb3BZLHRoaXMuY3JvcFNpemUsdGhpcy5jcm9wU2l6ZSksdGhpcy5kcmF3UmVzaXplSGFuZGxlcygpfWRyYXdSZXNpemVIYW5kbGVzKCl7bGV0IHQ9W3t4OnRoaXMuY3JvcFgseTp0aGlzLmNyb3BZfSx7eDp0aGlzLmNyb3BYK3RoaXMuY3JvcFNpemUseTp0aGlzLmNyb3BZfSx7eDp0aGlzLmNyb3BYLHk6dGhpcy5jcm9wWSt0aGlzLmNyb3BTaXplfSx7eDp0aGlzLmNyb3BYK3RoaXMuY3JvcFNpemUseTp0aGlzLmNyb3BZK3RoaXMuY3JvcFNpemV9XTt0aGlzLm92ZXJsYXlDdHguZmlsbFN0eWxlPSJ3aGl0ZSIsdC5mb3JFYWNoKHI9Pnt0aGlzLm92ZXJsYXlDdHguYmVnaW5QYXRoKCksdGhpcy5vdmVybGF5Q3R4LmFyYyhyLngsci55LDgsMCxNYXRoLlBJKjIpLHRoaXMub3ZlcmxheUN0eC5maWxsKCl9KX1hc3luYyBnZXRDcm9wcGVkSW1hZ2UoKXtsZXQgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSx0PWUuZ2V0Q29udGV4dCgiMmQiKSxyPTEvdGhpcy5pbWFnZVNjYWxlLGk9dGhpcy5jcm9wU2l6ZSpyLG89dGhpcy5vcHRpb25zLm91dHB1dFNpemU7bz5pJiZjb25zb2xlLmluZm8oYFByb2ZpbGUgcGljdHVyZTogVXBzY2FsaW5nIGZyb20gJHtNYXRoLnJvdW5kKGkpfXB4IHRvICR7b31weGApLGUud2lkdGg9byxlLmhlaWdodD1vO2xldCBuPSh0aGlzLmNyb3BYLXRoaXMuaW1hZ2VPZmZzZXRYKSpyLGw9KHRoaXMuY3JvcFktdGhpcy5pbWFnZU9mZnNldFkpKnIsZD10aGlzLmNyb3BTaXplKnI7dGhpcy5vcHRpb25zLnNoYXBlPT09InJvdW5kIiYmKHQuYmVnaW5QYXRoKCksdC5hcmMoby8yLG8vMixvLzIsMCxNYXRoLlBJKjIpLHQuY2xpcCgpKSx0LmltYWdlU21vb3RoaW5nRW5hYmxlZD0hMCx0LmltYWdlU21vb3RoaW5nUXVhbGl0eT0iaGlnaCIsdC5kcmF3SW1hZ2UodGhpcy5pbWcsbixsLGQsZCwwLDAsbyxvKTtsZXQgcD10aGlzLm9wdGlvbnMuaW1hZ2UuaW5jbHVkZXMoImltYWdlL3BuZyIpPyJpbWFnZS9wbmciOiJpbWFnZS9qcGVnIjtyZXR1cm4gZS50b0RhdGFVUkwocCx0aGlzLm9wdGlvbnMub3V0cHV0UXVhbGl0eSl9ZGVzdHJveSgpe3RoaXMuY2FudmFzLnJlbW92ZSgpLHRoaXMub3ZlcmxheUNhbnZhcy5yZW1vdmUoKX19fSk7dmFyIE80LHRvLEVRZSxtNGE9ZigoKT0+e2xlKCk7VDEoKTt1cygpO2ppKCk7dmEoKTtfZigpO3cxKCk7dzEoKTtoNGEoKTtRZSgpO080PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx0bz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sRVFlPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1wcm9maWxlcGljdHVyZS1tb2RhbCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdO3ZhciBCPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJQcm9maWxlUGljdHVyZU1vZGFsIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IE09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpOdW1iZXJ9KV0seD1bJCh7dHlwZTpOdW1iZXJ9KV0seT1bSygpXSxOPVtLKCldLE89W0soKV0sTzQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbml0aWFsSW1hZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImluaXRpYWxJbWFnZSJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmluaXRpYWxJbWFnZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmluaXRpYWxJbWFnZT1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG4sbCksTzQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaGFwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic2hhcGUiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zaGFwZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnNoYXBlPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxPNCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im91dHB1dFNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+Im91dHB1dFNpemUiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5vdXRwdXRTaXplLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1Mub3V0cHV0U2l6ZT1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG0sdiksTzQodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvdXRwdXRRdWFsaXR5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJvdXRwdXRRdWFsaXR5ImluIFMsImhhcyIpLGdldDpzKFM9PlMub3V0cHV0UXVhbGl0eSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLm91dHB1dFF1YWxpdHk9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLE80KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFN0ZXAiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImN1cnJlbnRTdGVwImluIFMsImhhcyIpLGdldDpzKFM9PlMuY3VycmVudFN0ZXAsImdldCIpLHNldDpzKChTLFApPT57Uy5jdXJyZW50U3RlcD1QfSwic2V0Iil9LG1ldGFkYXRhOk19LGssQyksTzQodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjcm9wcGVkSW1hZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImNyb3BwZWRJbWFnZSJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmNyb3BwZWRJbWFnZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmNyb3BwZWRJbWFnZT1QfSwic2V0Iil9LG1ldGFkYXRhOk19LF8seiksTzQodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc1Byb2Nlc3NpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImlzUHJvY2Vzc2luZyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmlzUHJvY2Vzc2luZywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmlzUHJvY2Vzc2luZz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LFQsRSksTzQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCx0KSxCPXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX0jZT10byh0aGlzLG4sIiIpO2dldCBpbml0aWFsSW1hZ2UoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaW5pdGlhbEltYWdlKE0pe3RoaXMuI2U9TX0jdD0odG8odGhpcyxsKSx0byh0aGlzLGMsInJvdW5kIikpO2dldCBzaGFwZSgpe3JldHVybiB0aGlzLiN0fXNldCBzaGFwZShNKXt0aGlzLiN0PU19I2E9KHRvKHRoaXMscCksdG8odGhpcyxtLDgwMCkpO2dldCBvdXRwdXRTaXplKCl7cmV0dXJuIHRoaXMuI2F9c2V0IG91dHB1dFNpemUoTSl7dGhpcy4jYT1NfSNyPSh0byh0aGlzLHYpLHRvKHRoaXMsYiwuOTUpKTtnZXQgb3V0cHV0UXVhbGl0eSgpe3JldHVybiB0aGlzLiNyfXNldCBvdXRwdXRRdWFsaXR5KE0pe3RoaXMuI3I9TX0jcz0odG8odGhpcyxnKSx0byh0aGlzLGssImNyb3AiKSk7Z2V0IGN1cnJlbnRTdGVwKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGN1cnJlbnRTdGVwKE0pe3RoaXMuI3M9TX0jaT0odG8odGhpcyxDKSx0byh0aGlzLF8sIiIpKTtnZXQgY3JvcHBlZEltYWdlKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGNyb3BwZWRJbWFnZShNKXt0aGlzLiNpPU19I289KHRvKHRoaXMseiksdG8odGhpcyxULCExKSk7Z2V0IGlzUHJvY2Vzc2luZygpe3JldHVybiB0aGlzLiNvfXNldCBpc1Byb2Nlc3NpbmcoTSl7dGhpcy4jbz1NfWNyb3BwZXI9KHRvKHRoaXMsRSksbnVsbCk7d2luZG93TGF5ZXI7ekluZGV4PTA7c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBmb250LWZhbWlseTogJHtwYX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzMzIiwiI2ZmZiIpfTsKICAgICAgICBwb3NpdGlvbjogZml4ZWQ7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB6LWluZGV4OiB2YXIoLS16LWluZGV4KTsKICAgICAgfQoKICAgICAgLm1vZGFsLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMGEwYTBhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICAgIGJveC1zaGFkb3c6ICR7aC5iZFRoZW1lKCIwIDIwcHggMjVweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCAxMHB4IDEwcHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMDQpIiwiMCAyMHB4IDI1cHggLTVweCByZ2JhKDAsIDAsIDAsIDAuMyksIDAgMTBweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAwLjIpIil9OwogICAgICAgIHdpZHRoOiA0ODBweDsKICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCkgc2NhbGUoMC45OCk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBhbmltYXRpb246IG1vZGFsU2hvdyAwLjI1cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIGZvcndhcmRzOwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIG1vZGFsU2hvdyB7CiAgICAgICAgdG8gewogICAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwcHgpIHNjYWxlKDEpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLm1vZGFsLWhlYWRlciB7CiAgICAgICAgaGVpZ2h0OiA1MnB4OwogICAgICAgIHBhZGRpbmc6IDAgMjBweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wNikiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDYpIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5tb2RhbC10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgfQoKICAgICAgLmNsb3NlLWJ1dHRvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiAxMHB4OwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5jbG9zZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDUpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjA1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuY2xvc2UtYnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4wOCkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDgpIil9OwogICAgICB9CgogICAgICAubW9kYWwtYm9keSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAyMHB4OwogICAgICB9CgogICAgICAuY3JvcHBlci1jb250YWluZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIG1heC13aWR0aDogMzYwcHg7CiAgICAgICAgYXNwZWN0LXJhdGlvOiAxOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzAwMDAwMCIsIiMwMDAwMDAiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJveC1zaGFkb3c6ICR7aC5iZFRoZW1lKCJpbnNldCAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjA2KSIsImluc2V0IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWNvbnRhaW5lciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAyMHB4OwogICAgICB9CgogICAgICAucHJldmlldy1pbWFnZSB7CiAgICAgICAgd2lkdGg6IDE4MHB4OwogICAgICAgIGhlaWdodDogMTgwcHg7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICAgIGJveC1zaGFkb3c6ICR7aC5iZFRoZW1lKCIwIDEwcHggMTVweCAtM3B4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCA0cHggNnB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjA1KSIsIjAgMTBweCAxNXB4IC0zcHggcmdiYSgwLCAwLCAwLCAwLjMpLCAwIDRweCA2cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWltYWdlLnJvdW5kIHsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWltYWdlLnNxdWFyZSB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDsKICAgICAgfQoKICAgICAgLnN1Y2Nlc3MtbWVzc2FnZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxMGI5ODEiLCIjMTBiOTgxIil9OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBhbmltYXRpb246IHN1Y2Nlc3NQdWxzZSAwLjRzIGVhc2Utb3V0OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHN1Y2Nlc3NQdWxzZSB7CiAgICAgICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7IG9wYWNpdHk6IDA7IH0KICAgICAgICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOyB9CiAgICAgICAgMTAwJSB7IHRyYW5zZm9ybTogc2NhbGUoMSk7IG9wYWNpdHk6IDE7IH0KICAgICAgfQoKICAgICAgLm1vZGFsLWZvb3RlciB7CiAgICAgICAgcGFkZGluZzogMjBweCAyNHB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjA2KSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wNikiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLmluc3RydWN0aW9ucyB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgbWF4LXdpZHRoOiAzMjBweDsKICAgICAgfQoKICAgICAgLmxvYWRpbmctc3Bpbm5lciB7CiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMSkiLCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBhbmltYXRpb246IHNwaW4gMC42cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgdG8gewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5tb2RhbC1jb250YWluZXIgewogICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAzMnB4KTsKICAgICAgICAgIG1hcmdpbjogMTZweDsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgLm1vZGFsLWJvZHkgewogICAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO2FzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLndpbmRvd0xheWVyPWF3YWl0IGpzLmNyZWF0ZUFuZFNob3coe2JsdXI6ITB9KSx0aGlzLndpbmRvd0xheWVyLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+dGhpcy5jbG9zZSgpKSx0aGlzLnpJbmRleD1adC5nZXROZXh0WkluZGV4KCksdGhpcy5zdHlsZS5zZXRQcm9wZXJ0eSgiLS16LWluZGV4Iix0aGlzLnpJbmRleC50b1N0cmluZygpKSxadC5yZWdpc3Rlcih0aGlzLHRoaXMuekluZGV4KX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5jcm9wcGVyJiZ0aGlzLmNyb3BwZXIuZGVzdHJveSgpLHRoaXMud2luZG93TGF5ZXImJmF3YWl0IHRoaXMud2luZG93TGF5ZXIuZGVzdHJveSgpLFp0LnVucmVnaXN0ZXIodGhpcyl9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWNvbnRhaW5lciIgQGNsaWNrPSR7TT0+TS5zdG9wUHJvcGFnYXRpb24oKX0+CiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtaGVhZGVyIj4KICAgICAgICAgIDxoMyBjbGFzcz0ibW9kYWwtdGl0bGUiPgogICAgICAgICAgICAke3RoaXMuY3VycmVudFN0ZXA9PT0iY3JvcCI/IkFkanVzdCBJbWFnZSI6IlN1Y2Nlc3MifQogICAgICAgICAgPC9oMz4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNsb3NlLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5jbG9zZX0gdGl0bGU9IkNsb3NlIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6eCIgaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICAgIAogICAgICAgIDxkaXYgY2xhc3M9Im1vZGFsLWJvZHkiPgogICAgICAgICAgJHt0aGlzLmN1cnJlbnRTdGVwPT09ImNyb3AiP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Imluc3RydWN0aW9ucyI+CiAgICAgICAgICAgICAgUG9zaXRpb24gYW5kIHJlc2l6ZSB0aGUgc3F1YXJlIHRvIHNlbGVjdCB5b3VyIHByb2ZpbGUgYXJlYQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY3JvcHBlci1jb250YWluZXIiIGlkPSJjcm9wcGVyQ29udGFpbmVyIj48L2Rpdj4KICAgICAgICAgIGA6d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1jb250YWluZXIiPgogICAgICAgICAgICAgICR7dGhpcy5pc1Byb2Nlc3Npbmc/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbnN0cnVjdGlvbnMiPlNhdmluZy4uLjwvZGl2PgogICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgIDxpbWcgCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJwcmV2aWV3LWltYWdlICR7dGhpcy5zaGFwZX0iIAogICAgICAgICAgICAgICAgICBzcmM9IiR7dGhpcy5jcm9wcGVkSW1hZ2V9IiAKICAgICAgICAgICAgICAgICAgYWx0PSJDcm9wcGVkIHByZXZpZXciCiAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3VjY2Vzcy1tZXNzYWdlIj4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Y2hlY2siIGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgIDxzcGFuPkxvb2tpbmcgZ29vZCE8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9CiAgICAgICAgPC9kaXY+CiAgICAgICAgCiAgICAgICAgPGRpdiBjbGFzcz0ibW9kYWwtZm9vdGVyIj4KICAgICAgICAgICR7dGhpcy5jdXJyZW50U3RlcD09PSJjcm9wIj93YAogICAgICAgICAgICA8ZGVlcy1idXR0b24gdHlwZT0iZGVzdHJ1Y3RpdmUiIHNpemU9InNtIiBAY2xpY2s9JHt0aGlzLmNsb3NlfT4KICAgICAgICAgICAgICBDYW5jZWwKICAgICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uIHR5cGU9ImRlZmF1bHQiIHNpemU9InNtIiBAY2xpY2s9JHt0aGlzLmhhbmRsZUNyb3B9PgogICAgICAgICAgICAgIFNhdmUKICAgICAgICAgICAgPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXt0aGlzLmN1cnJlbnRTdGVwPT09ImNyb3AiJiZhd2FpdCB0aGlzLmluaXRpYWxpemVDcm9wcGVyKCl9YXN5bmMgaW5pdGlhbGl6ZUNyb3BwZXIoKXthd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlO2xldCBNPXRoaXMuc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgiY3JvcHBlckNvbnRhaW5lciIpO00mJih0aGlzLmNyb3BwZXI9bmV3IFlzZSh7Y29udGFpbmVyOk0saW1hZ2U6dGhpcy5pbml0aWFsSW1hZ2Usc2hhcGU6dGhpcy5zaGFwZSxhc3BlY3RSYXRpbzoxLG91dHB1dFNpemU6dGhpcy5vdXRwdXRTaXplLG91dHB1dFF1YWxpdHk6dGhpcy5vdXRwdXRRdWFsaXR5fSksYXdhaXQgdGhpcy5jcm9wcGVyLmluaXRpYWxpemUoKSl9YXN5bmMgaGFuZGxlQ3JvcCgpe2lmKHRoaXMuY3JvcHBlcil0cnl7dGhpcy5pc1Byb2Nlc3Npbmc9ITAsdGhpcy5jdXJyZW50U3RlcD0icHJldmlldyIsYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtsZXQgTT1hd2FpdCB0aGlzLmNyb3BwZXIuZ2V0Q3JvcHBlZEltYWdlKCk7dGhpcy5jcm9wcGVkSW1hZ2U9TSxhd2FpdCBuZXcgUHJvbWlzZShTPT5zZXRUaW1lb3V0KFMsODAwKSksdGhpcy5pc1Byb2Nlc3Npbmc9ITEsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2F2ZSIse2RldGFpbDp7Y3JvcHBlZEltYWdlOnRoaXMuY3JvcHBlZEltYWdlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpLHNldFRpbWVvdXQoKCk9Pnt0aGlzLmNsb3NlKCl9LDE1MDApfWNhdGNoKE0pe2NvbnNvbGUuZXJyb3IoIkVycm9yIGNyb3BwaW5nIGltYWdlOiIsTSksdGhpcy5pc1Byb2Nlc3Npbmc9ITF9fWNsb3NlKCl7dGhpcy5yZW1vdmUoKX1zdGF0aWN7dG8ocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIGc0YSxiNGE9ZigoKT0+e2xlKCk7SWEoKTtVcygpO1BRZSgpO2c0YT1zKCgpPT53YAogIDxzdHlsZT4KICAgICR7UWAKICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICAgIH0KICAgICAgCiAgICAgIGRlZXMtcGFuZWwgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDQ4cHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIH0KICAgICAgCiAgICAgIC5kZW1vLW91dHB1dCB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTA1LCAyNDIsIDAuMSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICBtYXgtaGVpZ2h0OiAxMDBweDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICB9CiAgICAgIAogICAgICAuZmVhdHVyZS1saXN0IHsKICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OwogICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsKICAgICAgfQogICAgICAKICAgICAgLmZlYXR1cmUtbGlzdCBsaSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CiAgICBgfQogIDwvc3R5bGU+CiAgCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPWEucXVlcnlTZWxlY3RvcignZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZVtzaGFwZT0icm91bmQiXScpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwodD0+e2xldCByPXQudGFyZ2V0O2NvbnNvbGUubG9nKCJSb3VuZCBwcm9maWxlIHBpY3R1cmUgY2hhbmdlZDoiLHIudmFsdWU/LnN1YnN0cmluZygwLDUwKSsiLi4uIil9KSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlByb2ZpbGUgUGljdHVyZSBJbnB1dCJ9IC5zdWJ0aXRsZT0keyJCYXNpYyB1c2FnZSB3aXRoIHJvdW5kIGFuZCBzcXVhcmUgc2hhcGVzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1yb3ciPgogICAgICAgICAgPGRlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmUKICAgICAgICAgICAgbGFiZWw9IlByb2ZpbGUgUGljdHVyZSAoUm91bmQpIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iQ2xpY2sgdG8gdXBsb2FkIG9yIGRyYWcgJiBkcm9wIGFuIGltYWdlIgogICAgICAgICAgICBzaGFwZT0icm91bmQiCiAgICAgICAgICAgIHNpemU9IjEyMCIKICAgICAgICAgID48L2RlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmU+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlCiAgICAgICAgICAgIGxhYmVsPSJQcm9maWxlIFBpY3R1cmUgKFNxdWFyZSkiCiAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJTdXBwb3J0cyBKUEVHLCBQTkcsIGFuZCBXZWJQIGZvcm1hdHMiCiAgICAgICAgICAgIHNoYXBlPSJzcXVhcmUiCiAgICAgICAgICAgIHNpemU9IjEyMCIKICAgICAgICAgID48L2RlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YS5xdWVyeVNlbGVjdG9yQWxsKCJkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlIikuZm9yRWFjaCh0PT57dC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLChyPT57bGV0IGk9ci50YXJnZXQ7Y29uc29sZS5sb2coYFByb2ZpbGUgKHNpemUgJHtpLnNpemV9KSBjaGFuZ2VkYCl9KSl9KX19PgogICAgICA8ZGVlcy1wYW5lbCAudGl0bGU9JHsiU2l6ZSBWYXJpYXRpb25zIn0gLnN1YnRpdGxlPSR7IlByb2ZpbGUgcGljdHVyZXMgaW4gZGlmZmVyZW50IHNpemVzIn0+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1yb3ciPgogICAgICAgICAgPGRlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmUKICAgICAgICAgICAgbGFiZWw9IlNtYWxsICg4MHB4KSIKICAgICAgICAgICAgc2hhcGU9InJvdW5kIgogICAgICAgICAgICBzaXplPSI4MCIKICAgICAgICAgID48L2RlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmU+CiAgICAgICAgICAKICAgICAgICAgIDxkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlCiAgICAgICAgICAgIGxhYmVsPSJNZWRpdW0gKDEyMHB4KSIKICAgICAgICAgICAgc2hhcGU9InJvdW5kIgogICAgICAgICAgICBzaXplPSIxMjAiCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBsYWJlbD0iTGFyZ2UgKDE2MHB4KSIKICAgICAgICAgICAgc2hhcGU9InJvdW5kIgogICAgICAgICAgICBzaXplPSIxNjAiCiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXIgLnJ1bkFmdGVyUmVuZGVyPSR7YXN5bmMgYT0+e2xldCBlPSJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNakF3SWlCb1pXbG5hSFE5SWpJd01DSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNEtJQ0E4WkdWbWN6NEtJQ0FnSUR4c2FXNWxZWEpIY21Ga2FXVnVkQ0JwWkQwaVozSmhaR2xsYm5RaUlIZ3hQU0l3SlNJZ2VURTlJakFsSWlCNE1qMGlNVEF3SlNJZ2VUSTlJakV3TUNVaVBnb2dJQ0FnSUNBOGMzUnZjQ0J2Wm1aelpYUTlJakFsSWlCemRHOXdMV052Ykc5eVBTSWpOalkzWldWaElpQXZQZ29nSUNBZ0lDQThjM1J2Y0NCdlptWnpaWFE5SWpFd01DVWlJSE4wYjNBdFkyOXNiM0k5SWlNM05qUmlZVElpSUM4K0NpQWdJQ0E4TDJ4cGJtVmhja2R5WVdScFpXNTBQZ29nSUR3dlpHVm1jejRLSUNBOGNtVmpkQ0IzYVdSMGFEMGlNakF3SWlCb1pXbG5hSFE5SWpJd01DSWdabWxzYkQwaWRYSnNLQ05uY21Ga2FXVnVkQ2tpSUM4K0NpQWdQSFJsZUhRZ2VEMGlOVEFsSWlCNVBTSTFNQ1VpSUdSdmJXbHVZVzUwTFdKaGMyVnNhVzVsUFNKdGFXUmtiR1VpSUhSbGVIUXRZVzVqYUc5eVBTSnRhV1JrYkdVaUlHWnZiblF0Wm1GdGFXeDVQU0pCY21saGJDSWdabTl1ZEMxemFYcGxQU0k0TUNJZ1ptbHNiRDBpZDJocGRHVWlQa3BFUEM5MFpYaDBQZ284TDNOMlp6ND0iLHQ9YS5xdWVyeVNlbGVjdG9yKCIjcHJlZmlsbGVkLXByb2ZpbGUiKTt0JiYodC52YWx1ZT1lLHQuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwocj0+e2xldCBpPXIudGFyZ2V0LG89YS5xdWVyeVNlbGVjdG9yKCIjcHJlZmlsbGVkLW91dHB1dCIpO28mJihvLnRleHRDb250ZW50PWkudmFsdWU/YEltYWdlIGRhdGE6ICR7aS52YWx1ZS5zdWJzdHJpbmcoMCw4MCl9Li4uYDoiTm8gaW1hZ2Ugc2VsZWN0ZWQiKX0pKSl9fT4KICAgICAgPGRlZXMtcGFuZWwgLnRpdGxlPSR7IlByZS1maWxsZWQgYW5kIFZhbHVlIEJpbmRpbmcifSAuc3VidGl0bGU9JHsiUHJvZmlsZSBwaWN0dXJlIHdpdGggaW5pdGlhbCB2YWx1ZSBhbmQgY2hhbmdlIHRyYWNraW5nIn0+CiAgICAgICAgPGRlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmUKICAgICAgICAgIGlkPSJwcmVmaWxsZWQtcHJvZmlsZSIKICAgICAgICAgIGxhYmVsPSJFZGl0IEV4aXN0aW5nIFByb2ZpbGUiCiAgICAgICAgICBkZXNjcmlwdGlvbj0iQ2xpY2sgdGhlIGVkaXQgYnV0dG9uIHRvIGNoYW5nZSBvciBkZWxldGUgdG8gcmVtb3ZlIgogICAgICAgICAgc2hhcGU9InJvdW5kIgogICAgICAgICAgc2l6ZT0iMTUwIgogICAgICAgID48L2RlZXMtaW5wdXQtcHJvZmlsZXBpY3R1cmU+CiAgICAgICAgCiAgICAgICAgPGRpdiBpZD0icHJlZmlsbGVkLW91dHB1dCIgY2xhc3M9ImRlbW8tb3V0cHV0Ij4KICAgICAgICAgIEltYWdlIGRhdGEgd2lsbCBhcHBlYXIgaGVyZSB3aGVuIGNoYW5nZWQKICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgPC9kZWVzLWRlbW93cmFwcGVyPgoKICAgIDxkZWVzLWRlbW93cmFwcGVyIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9PntsZXQgZT1hLnF1ZXJ5U2VsZWN0b3IoIiNkaXNhYmxlZC1wcm9maWxlIik7ZSYmKGUudmFsdWU9ImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QjNhV1IwYUQwaU1qQXdJaUJvWldsbmFIUTlJakl3TUNJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWo0S0lDQThjbVZqZENCM2FXUjBhRDBpTWpBd0lpQm9aV2xuYUhROUlqSXdNQ0lnWm1sc2JEMGlJMk5qWTJOall5SWdMejRLSUNBOGRHVjRkQ0I0UFNJMU1DVWlJSGs5SWpVd0pTSWdaRzl0YVc1aGJuUXRZbUZ6Wld4cGJtVTlJbTFwWkdSc1pTSWdkR1Y0ZEMxaGJtTm9iM0k5SW0xcFpHUnNaU0lnWm05dWRDMW1ZVzFwYkhrOUlrRnlhV0ZzSWlCbWIyNTBMWE5wZW1VOUlqWXdJaUJtYVd4c1BTSjNhR2wwWlNJK1RrRThMM1JsZUhRK0Nqd3ZjM1puUGc9PSIpfX0+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGb3JtIFN0YXRlcyJ9IC5zdWJ0aXRsZT0keyJEaWZmZXJlbnQgc3RhdGVzIGFuZCBjb25maWd1cmF0aW9ucyJ9PgogICAgICAgIDxkaXYgY2xhc3M9ImRlbW8tcm93Ij4KICAgICAgICAgIDxkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlCiAgICAgICAgICAgIGxhYmVsPSJSZXF1aXJlZCBGaWVsZCIKICAgICAgICAgICAgZGVzY3JpcHRpb249IlRoaXMgZmllbGQgaXMgcmVxdWlyZWQiCiAgICAgICAgICAgIHNoYXBlPSJyb3VuZCIKICAgICAgICAgICAgLnJlcXVpcmVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBpZD0iZGlzYWJsZWQtcHJvZmlsZSIKICAgICAgICAgICAgbGFiZWw9IkRpc2FibGVkIFN0YXRlIgogICAgICAgICAgICBkZXNjcmlwdGlvbj0iQ2Fubm90IGJlIGVkaXRlZCIKICAgICAgICAgICAgc2hhcGU9InNxdWFyZSIKICAgICAgICAgICAgLmRpc2FibGVkPSR7ITB9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgICAgCiAgICAgICAgICA8ZGVlcy1pbnB1dC1wcm9maWxlcGljdHVyZQogICAgICAgICAgICBsYWJlbD0iVXBsb2FkIE9ubHkiCiAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJEZWxldGUgbm90IGFsbG93ZWQiCiAgICAgICAgICAgIHNoYXBlPSJyb3VuZCIKICAgICAgICAgICAgLmFsbG93RGVsZXRlPSR7ITF9CiAgICAgICAgICA+PC9kZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtcGFuZWw+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CgogICAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICAgIDxkZWVzLXBhbmVsIC50aXRsZT0keyJGZWF0dXJlcyJ9IC5zdWJ0aXRsZT0keyJDb21wbGV0ZSBmZWF0dXJlIHNldCBvZiB0aGUgcHJvZmlsZSBwaWN0dXJlIGlucHV0In0+CiAgICAgICAgPHVsIGNsYXNzPSJmZWF0dXJlLWxpc3QiPgogICAgICAgICAgPGxpPjxzdHJvbmc+SW1hZ2UgVXBsb2FkOjwvc3Ryb25nPiBDbGljayB0byB1cGxvYWQgb3IgZHJhZyAmIGRyb3AgaW1hZ2VzPC9saT4KICAgICAgICAgIDxsaT48c3Ryb25nPkltYWdlIENyb3BwaW5nOjwvc3Ryb25nPiBJbnRlcmFjdGl2ZSBjcm9wIHRvb2wgd2l0aCByZXNpemUgaGFuZGxlczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5TaGFwZSBTdXBwb3J0Ojwvc3Ryb25nPiBSb3VuZCBvciBzcXVhcmUgcHJvZmlsZSBwaWN0dXJlczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5TaXplIEN1c3RvbWl6YXRpb246PC9zdHJvbmc+IEFkanVzdGFibGUgZGltZW5zaW9uczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5QcmV2aWV3ICYgRWRpdDo8L3N0cm9uZz4gSG92ZXIgb3ZlcmxheSB3aXRoIGVkaXQgYW5kIGRlbGV0ZSBvcHRpb25zPC9saT4KICAgICAgICAgIDxsaT48c3Ryb25nPkZpbGUgVmFsaWRhdGlvbjo8L3N0cm9uZz4gRm9ybWF0IGFuZCBzaXplIHJlc3RyaWN0aW9uczwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5SZXNwb25zaXZlIERlc2lnbjo8L3N0cm9uZz4gV29ya3Mgb24gZGVza3RvcCBhbmQgbW9iaWxlIGRldmljZXM8L2xpPgogICAgICAgICAgPGxpPjxzdHJvbmc+Rm9ybSBJbnRlZ3JhdGlvbjo8L3N0cm9uZz4gU3RhbmRhcmQgZm9ybSB2YWx1ZSBiaW5kaW5nIGFuZCB2YWxpZGF0aW9uPC9saT4KICAgICAgICAgIDxsaT48c3Ryb25nPkFjY2Vzc2liaWxpdHk6PC9zdHJvbmc+IEtleWJvYXJkIG5hdmlnYXRpb24gYW5kIHNjcmVlbiByZWFkZXIgc3VwcG9ydDwvbGk+CiAgICAgICAgICA8bGk+PHN0cm9uZz5aLUluZGV4IE1hbmFnZW1lbnQ6PC9zdHJvbmc+IFByb3BlciBtb2RhbCBzdGFja2luZyB3aXRoIHJlZ2lzdHJ5PC9saT4KICAgICAgICA8L3VsPgogICAgICAgIAogICAgICAgIDxkaXYgc3R5bGU9Im1hcmdpbi10b3A6IDI0cHg7Ij4KICAgICAgICAgIDxzdHJvbmc+U3VwcG9ydGVkIEZvcm1hdHM6PC9zdHJvbmc+IEpQRUcsIFBORywgV2ViUDxicj4KICAgICAgICAgIDxzdHJvbmc+TWF4IEZpbGUgU2l6ZTo8L3N0cm9uZz4gNU1CIChjb25maWd1cmFibGUpPGJyPgogICAgICAgICAgPHN0cm9uZz5PdXRwdXQgRm9ybWF0Ojwvc3Ryb25nPiBCYXNlNjQgZW5jb2RlZCBKUEVHCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGVlcy1kZW1vd3JhcHBlcj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBJbyxzcix2NGEsUFFlPWYoKCk9PntsZSgpO1NyKCk7dmEoKTtvbSgpO200YSgpO2I0YSgpO1FlKCk7SW89ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHNyPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx2NGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWlucHV0LXByb2ZpbGVwaWN0dXJlIildLGUsdD1bXSxyLGk9d3QsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W10sQixNPVtdLFM9W10sUCxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdO3ZhciBYPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW5wdXRQcm9maWxlUGljdHVyZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBKPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6TnVtYmVyfSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6Qm9vbGVhbn0pXSxOPVskKHt0eXBlOkJvb2xlYW59KV0sTz1bJCh7dHlwZTpOdW1iZXJ9KV0sQj1bJCh7dHlwZTpBcnJheX0pXSxQPVskKHt0eXBlOk51bWJlcn0pXSxXPVskKHt0eXBlOk51bWJlcn0pXSxoZT1bSygpXSxtZT1bSygpXSxjZT1bSygpXSxJbyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZhbHVlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJ2YWx1ZSJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLnZhbHVlLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLnZhbHVlPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LG4sbCksSW8odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaGFwZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4ic2hhcGUiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5zaGFwZSwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5zaGFwZT1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxjLHApLElvKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4ic2l6ZSJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLnNpemUsImdldCIpLHNldDpzKChaLGdlKT0+e1ouc2l6ZT1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxtLHYpLElvKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGxhY2Vob2xkZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+InBsYWNlaG9sZGVyImluIFosImhhcyIpLGdldDpzKFo9PloucGxhY2Vob2xkZXIsImdldCIpLHNldDpzKChaLGdlKT0+e1oucGxhY2Vob2xkZXI9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sYixnKSxJbyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFsbG93VXBsb2FkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFo9PiJhbGxvd1VwbG9hZCJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLmFsbG93VXBsb2FkLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLmFsbG93VXBsb2FkPWdlfSwic2V0Iil9LG1ldGFkYXRhOkp9LGssQyksSW8odGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhbGxvd0RlbGV0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4iYWxsb3dEZWxldGUiaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5hbGxvd0RlbGV0ZSwiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5hbGxvd0RlbGV0ZT1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxfLHopLElvKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWF4RmlsZVNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+Im1heEZpbGVTaXplImluIFosImhhcyIpLGdldDpzKFo9PloubWF4RmlsZVNpemUsImdldCIpLHNldDpzKChaLGdlKT0+e1oubWF4RmlsZVNpemU9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sVCxFKSxJbyh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjY2VwdGVkRm9ybWF0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4iYWNjZXB0ZWRGb3JtYXRzImluIFosImhhcyIpLGdldDpzKFo9PlouYWNjZXB0ZWRGb3JtYXRzLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLmFjY2VwdGVkRm9ybWF0cz1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxNLFMpLElvKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3V0cHV0U2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4ib3V0cHV0U2l6ZSJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLm91dHB1dFNpemUsImdldCIpLHNldDpzKChaLGdlKT0+e1oub3V0cHV0U2l6ZT1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxBLEYpLElvKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToib3V0cHV0UXVhbGl0eSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4ib3V0cHV0UXVhbGl0eSJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLm91dHB1dFF1YWxpdHksImdldCIpLHNldDpzKChaLGdlKT0+e1oub3V0cHV0UXVhbGl0eT1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxqLEcpLElvKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzSG92ZXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhaPT4iaXNIb3ZlcmVkImluIFosImhhcyIpLGdldDpzKFo9PlouaXNIb3ZlcmVkLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLmlzSG92ZXJlZD1nZX0sInNldCIpfSxtZXRhZGF0YTpKfSxSLFUpLElvKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzRHJhZ2dpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+ImlzRHJhZ2dpbmciaW4gWiwiaGFzIiksZ2V0OnMoWj0+Wi5pc0RyYWdnaW5nLCJnZXQiKSxzZXQ6cygoWixnZSk9PntaLmlzRHJhZ2dpbmc9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sSSxxKSxJbyh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0xvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWj0+ImlzTG9hZGluZyJpbiBaLCJoYXMiKSxnZXQ6cyhaPT5aLmlzTG9hZGluZywiZ2V0Iiksc2V0OnMoKFosZ2UpPT57Wi5pc0xvYWRpbmc9Z2V9LCJzZXQiKX0sbWV0YWRhdGE6Sn0sdWUsWSksSW8obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Sn0sbnVsbCx0KSxYPXI9ZS52YWx1ZSxKJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOkp9KX1zdGF0aWMgZGVtbz1nNGE7c3RhdGljIGRlbW9Hcm91cHM9WyJJbnB1dCJdOyNlPXNyKHRoaXMsbiwiIik7Z2V0IHZhbHVlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbHVlKEope3RoaXMuI2U9Sn0jdD0oc3IodGhpcyxsKSxzcih0aGlzLGMsInJvdW5kIikpO2dldCBzaGFwZSgpe3JldHVybiB0aGlzLiN0fXNldCBzaGFwZShKKXt0aGlzLiN0PUp9I2E9KHNyKHRoaXMscCksc3IodGhpcyxtLDEyMCkpO2dldCBzaXplKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNpemUoSil7dGhpcy4jYT1KfSNyPShzcih0aGlzLHYpLHNyKHRoaXMsYiwiIikpO2dldCBwbGFjZWhvbGRlcigpe3JldHVybiB0aGlzLiNyfXNldCBwbGFjZWhvbGRlcihKKXt0aGlzLiNyPUp9I3M9KHNyKHRoaXMsZyksc3IodGhpcyxrLCEwKSk7Z2V0IGFsbG93VXBsb2FkKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGFsbG93VXBsb2FkKEope3RoaXMuI3M9Sn0jaT0oc3IodGhpcyxDKSxzcih0aGlzLF8sITApKTtnZXQgYWxsb3dEZWxldGUoKXtyZXR1cm4gdGhpcy4jaX1zZXQgYWxsb3dEZWxldGUoSil7dGhpcy4jaT1KfSNvPShzcih0aGlzLHopLHNyKHRoaXMsVCw1KjEwMjQqMTAyNCkpO2dldCBtYXhGaWxlU2l6ZSgpe3JldHVybiB0aGlzLiNvfXNldCBtYXhGaWxlU2l6ZShKKXt0aGlzLiNvPUp9I249KHNyKHRoaXMsRSksc3IodGhpcyxNLFsiaW1hZ2UvanBlZyIsImltYWdlL3BuZyIsImltYWdlL3dlYnAiXSkpO2dldCBhY2NlcHRlZEZvcm1hdHMoKXtyZXR1cm4gdGhpcy4jbn1zZXQgYWNjZXB0ZWRGb3JtYXRzKEope3RoaXMuI249Sn0jbD0oc3IodGhpcyxTKSxzcih0aGlzLEEsODAwKSk7Z2V0IG91dHB1dFNpemUoKXtyZXR1cm4gdGhpcy4jbH1zZXQgb3V0cHV0U2l6ZShKKXt0aGlzLiNsPUp9I2M9KHNyKHRoaXMsRiksc3IodGhpcyxqLC45NSkpO2dldCBvdXRwdXRRdWFsaXR5KCl7cmV0dXJuIHRoaXMuI2N9c2V0IG91dHB1dFF1YWxpdHkoSil7dGhpcy4jYz1KfSNkPShzcih0aGlzLEcpLHNyKHRoaXMsUiwhMSkpO2dldCBpc0hvdmVyZWQoKXtyZXR1cm4gdGhpcy4jZH1zZXQgaXNIb3ZlcmVkKEope3RoaXMuI2Q9Sn0jdT0oc3IodGhpcyxVKSxzcih0aGlzLEksITEpKTtnZXQgaXNEcmFnZ2luZygpe3JldHVybiB0aGlzLiN1fXNldCBpc0RyYWdnaW5nKEope3RoaXMuI3U9Sn0jcD0oc3IodGhpcyxxKSxzcih0aGlzLHVlLCExKSk7Z2V0IGlzTG9hZGluZygpe3JldHVybiB0aGlzLiNwfXNldCBpc0xvYWRpbmcoSil7dGhpcy4jcD1KfW1vZGFsSW5zdGFuY2U9KHNyKHRoaXMsWSksbnVsbCk7c3RhdGljIHN0eWxlcz1bRWUsLi4ud3QuYmFzZVN0eWxlcyxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgfQoKICAgICAgLmlucHV0LXdyYXBwZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAgICAgfQoKICAgICAgLnByb2ZpbGUtY29udGFpbmVyOmhvdmVyIHsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpOwogICAgICB9CgogICAgICAucHJvZmlsZS1waWN0dXJlIHsKICAgICAgICB3aWR0aDogdmFyKC0tc2l6ZSwgMTIwcHgpOwogICAgICAgIGhlaWdodDogdmFyKC0tc2l6ZSwgMTIwcHgpOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjVmNWY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLXBpY3R1cmUucm91bmQgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgfQoKICAgICAgLnByb2ZpbGUtcGljdHVyZS5zcXVhcmUgewogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLXBpY3R1cmUuZHJhZ2dpbmcgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIiwicmdiYSg5NiwgMTY1LCAyNTAsIDAuMTUpIil9OwogICAgICB9CgogICAgICAucHJvZmlsZS1waWN0dXJlOmhvdmVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgfQoKICAgICAgLnByb2ZpbGUtcGljdHVyZTpkaXNhYmxlZCB7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLWltYWdlIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgIH0KCiAgICAgIC5wbGFjZWhvbGRlci1pY29uIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAub3ZlcmxheSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5wcm9maWxlLWNvbnRhaW5lcjpob3ZlciAub3ZlcmxheSB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgfQoKICAgICAgLm92ZXJsYXktY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5vdmVybGF5LWJ1dHRvbiB7CiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSIsInJnYmEoMzksIDM5LCA0MiwgMC45NSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsKICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpOwogICAgICB9CgogICAgICAub3ZlcmxheS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzNmM2Y0NiIpfTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgICAgICAgYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgIH0KCiAgICAgIC5vdmVybGF5LWJ1dHRvbi5kZWxldGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjkpIiwicmdiYSgyMjAsIDM4LCAzOCwgMC45KSIpfTsKICAgICAgICBjb2xvcjogd2hpdGU7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLm92ZXJsYXktYnV0dG9uLmRlbGV0ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZGMyNjI2Iil9OwogICAgICB9CgogICAgICAuZHJvcC16b25lLXRleHQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuaGlkZGVuLWlucHV0IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBMb2FkaW5nIGFuaW1hdGlvbiAqLwogICAgICAubG9hZGluZy1vdmVybGF5IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkiLCJyZ2JhKDAsIDAsIDAsIDAuOCkiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLmxvYWRpbmctb3ZlcmxheS5zaG93IHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOwogICAgICB9CgogICAgICAubG9hZGluZy1zcGlubmVyIHsKICAgICAgICB3aWR0aDogNDBweDsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjZzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICB0byB7CiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBwdWxzZSB7CiAgICAgICAgMCUgewogICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgfQogICAgICAgIDUwJSB7CiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogICAgICAgICAgb3BhY2l0eTogMC44OwogICAgICAgIH0KICAgICAgICAxMDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLnByb2ZpbGUtcGljdHVyZS5jbGlja2luZyB7CiAgICAgICAgYW5pbWF0aW9uOiBwdWxzZSAwLjNzIGVhc2Utb3V0OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaW5wdXQtd3JhcHBlciI+CiAgICAgICAgPGRlZXMtbGFiZWwgLmxhYmVsPSR7dGhpcy5sYWJlbH0gLmluZm9UZXh0PSR7dGhpcy5pbmZvVGV4dH0gLnJlcXVpcmVkPSR7dGhpcy5yZXF1aXJlZH0+PC9kZWVzLWxhYmVsPgogICAgICAgIAogICAgICAgIDxkaXYgCiAgICAgICAgICBjbGFzcz0icHJvZmlsZS1jb250YWluZXIiCiAgICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZUNsaWNrfQogICAgICAgICAgQGRyYWdvdmVyPSR7dGhpcy5oYW5kbGVEcmFnT3Zlcn0KICAgICAgICAgIEBkcmFnbGVhdmU9JHt0aGlzLmhhbmRsZURyYWdMZWF2ZX0KICAgICAgICAgIEBkcm9wPSR7dGhpcy5oYW5kbGVEcm9wfQogICAgICAgICAgc3R5bGU9Ii0tc2l6ZTogJHt0aGlzLnNpemV9cHgiCiAgICAgICAgPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZmlsZS1waWN0dXJlICR7dGhpcy5zaGFwZX0gJHt0aGlzLmlzRHJhZ2dpbmc/ImRyYWdnaW5nIjoiIn0gJHt0aGlzLmlzTG9hZGluZyYmIXRoaXMudmFsdWU/ImNsaWNraW5nIjoiIn0iPgogICAgICAgICAgICAke3RoaXMudmFsdWU/d2AKICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJwcm9maWxlLWltYWdlIiBzcmM9IiR7dGhpcy52YWx1ZX0iIGFsdD0iUHJvZmlsZSBwaWN0dXJlIiAvPgogICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0icGxhY2Vob2xkZXItaWNvbiIgaWNvbj0ibHVjaWRlOnVzZXIiIGljb25TaXplPSIke3RoaXMuc2l6ZSouNX0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICBgfQogICAgICAgICAgICAKICAgICAgICAgICAgJHt0aGlzLmlzRHJhZ2dpbmc/d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVybGF5IiBzdHlsZT0ib3BhY2l0eTogMSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkcm9wLXpvbmUtdGV4dCI+CiAgICAgICAgICAgICAgICAgIERyb3AgaW1hZ2UgaGVyZQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIAogICAgICAgICAgICAke3RoaXMudmFsdWUmJiF0aGlzLmRpc2FibGVkP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmxheSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvdmVybGF5LWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAke3RoaXMuYWxsb3dVcGxvYWQ/d2AKICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJvdmVybGF5LWJ1dHRvbiIgQGNsaWNrPSR7Sj0+e0ouc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5vcGVuTW9kYWwoKX19IHRpdGxlPSJDaGFuZ2UgcGljdHVyZSI+CiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpwZW5jaWwiIGljb25TaXplPSIyMCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAgICR7dGhpcy5hbGxvd0RlbGV0ZT93YAogICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Im92ZXJsYXktYnV0dG9uIGRlbGV0ZSIgQGNsaWNrPSR7Sj0+e0ouc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5kZWxldGVQaWN0dXJlKCl9fSB0aXRsZT0iRGVsZXRlIHBpY3R1cmUiPgogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6dHJhc2gyIiBpY29uU2l6ZT0iMjAiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIAogICAgICAgICAgICAke3RoaXMuaXNMb2FkaW5nJiYhdGhpcy52YWx1ZT93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctb3ZlcmxheSBzaG93Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICAKICAgICAgICA8aW5wdXQKICAgICAgICAgIHR5cGU9ImZpbGUiCiAgICAgICAgICBjbGFzcz0iaGlkZGVuLWlucHV0IgogICAgICAgICAgYWNjZXB0PSIke3RoaXMuYWNjZXB0ZWRGb3JtYXRzLmpvaW4oIiwiKX0iCiAgICAgICAgICBAY2hhbmdlPSR7dGhpcy5oYW5kbGVGaWxlU2VsZWN0fQogICAgICAgIC8+CiAgICAgICAgJHt0aGlzLnJlbmRlckRlc2NyaXB0aW9uKCl9CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVDbGljaygpe2lmKCEodGhpcy5kaXNhYmxlZHx8IXRoaXMuYWxsb3dVcGxvYWQpJiYhdGhpcy52YWx1ZSl7dGhpcy5pc0xvYWRpbmc9ITA7bGV0IEo9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5oaWRkZW4taW5wdXQiKSxaPXMoKCk9PntzZXRUaW1lb3V0KCgpPT57KCFKLmZpbGVzfHxKLmZpbGVzLmxlbmd0aD09PTApJiYodGhpcy5pc0xvYWRpbmc9ITEpLHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCJmb2N1cyIsWil9LDMwMCl9LCJoYW5kbGVGb2N1cyIpO3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJmb2N1cyIsWiksSi5jbGljaygpfX1oYW5kbGVGaWxlU2VsZWN0KEope2xldCBaPUoudGFyZ2V0LGdlPVouZmlsZXM/LlswXTt0aGlzLmlzTG9hZGluZz0hMSxnZSYmdGhpcy5wcm9jZXNzRmlsZShnZSksWi52YWx1ZT0iIn1oYW5kbGVEcmFnT3ZlcihKKXtKLnByZXZlbnREZWZhdWx0KCksIXRoaXMuZGlzYWJsZWQmJnRoaXMuYWxsb3dVcGxvYWQmJih0aGlzLmlzRHJhZ2dpbmc9ITApfWhhbmRsZURyYWdMZWF2ZSgpe3RoaXMuaXNEcmFnZ2luZz0hMX1oYW5kbGVEcm9wKEope2lmKEoucHJldmVudERlZmF1bHQoKSx0aGlzLmlzRHJhZ2dpbmc9ITEsdGhpcy5kaXNhYmxlZHx8IXRoaXMuYWxsb3dVcGxvYWQpcmV0dXJuO2xldCBaPUouZGF0YVRyYW5zZmVyPy5maWxlc1swXTtaJiZ0aGlzLnByb2Nlc3NGaWxlKFopfWFzeW5jIHByb2Nlc3NGaWxlKEope2lmKCF0aGlzLmFjY2VwdGVkRm9ybWF0cy5pbmNsdWRlcyhKLnR5cGUpKXtjb25zb2xlLmVycm9yKCJJbnZhbGlkIGZpbGUgdHlwZToiLEoudHlwZSk7cmV0dXJufWlmKEouc2l6ZT50aGlzLm1heEZpbGVTaXplKXtjb25zb2xlLmVycm9yKCJGaWxlIHRvbyBsYXJnZToiLEouc2l6ZSk7cmV0dXJufWxldCBaPW5ldyBGaWxlUmVhZGVyO1oub25sb2FkPWFzeW5jIGdlPT57bGV0IGFlPWdlLnRhcmdldD8ucmVzdWx0O2F3YWl0IHRoaXMub3Blbk1vZGFsKGFlKX0sWi5yZWFkQXNEYXRhVVJMKEopfWFzeW5jIG9wZW5Nb2RhbChKKXtsZXQgWj1KfHx0aGlzLnZhbHVlO2lmKCFaKXt0aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLmhpZGRlbi1pbnB1dCIpLmNsaWNrKCk7cmV0dXJufXRoaXMubW9kYWxJbnN0YW5jZT1uZXcgRVFlLHRoaXMubW9kYWxJbnN0YW5jZS5zaGFwZT10aGlzLnNoYXBlLHRoaXMubW9kYWxJbnN0YW5jZS5pbml0aWFsSW1hZ2U9Wix0aGlzLm1vZGFsSW5zdGFuY2Uub3V0cHV0U2l6ZT10aGlzLm91dHB1dFNpemUsdGhpcy5tb2RhbEluc3RhbmNlLm91dHB1dFF1YWxpdHk9dGhpcy5vdXRwdXRRdWFsaXR5LHRoaXMubW9kYWxJbnN0YW5jZS5hZGRFdmVudExpc3RlbmVyKCJzYXZlIiwoZ2U9Pnt0aGlzLnZhbHVlPWdlLmRldGFpbC5jcm9wcGVkSW1hZ2UsdGhpcy5jaGFuZ2VTdWJqZWN0Lm5leHQodGhpcyl9KSksZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLm1vZGFsSW5zdGFuY2UpfWRlbGV0ZVBpY3R1cmUoKXt0aGlzLnZhbHVlPSIiLHRoaXMuY2hhbmdlU3ViamVjdC5uZXh0KHRoaXMpfWdldFZhbHVlKCl7cmV0dXJuIHRoaXMudmFsdWV9c2V0VmFsdWUoSil7dGhpcy52YWx1ZT1KfXN0YXRpY3tzcihyLHQpfX07cmV0dXJuIFg9cn0pKCl9KTt2YXIgeDRhPWYoKCk9PntlNGEoKTtzUWUoKTt0NGEoKTtyYWUoKTtpUWUoKTtxWWUoKTthNGEoKTtyNGEoKTtzNGEoKTtpNGEoKTtvNGEoKTtuNGEoKTtsNGEoKTtkNGEoKTtvUWUoKTtyUWUoKTt1NGEoKTtwNGEoKTtmNGEoKTtQUWUoKX0pO3ZhciB5NGEsdzRhPWYoKCk9PntsZSgpO3k0YT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vQ29udGFpbmVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAzMnB4OwogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgfQogICAgCiAgICAuc2VjdGlvbiB7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE4MTgxYiIpfTsKICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICB9CiAgICAKICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgfQogICAgCiAgICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgIH0KICA8L3N0eWxlPgogIDxkaXYgY2xhc3M9ImRlbW9Db250YWluZXIiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPk5vbi1TZWxlY3RhYmxlIENoaXBzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkJhc2ljIGNoaXBzIHdpdGhvdXQgc2VsZWN0aW9uIGNhcGFiaWxpdHkuIFVzZSBmb3IgZGlzcGxheS1vbmx5IHRhZ3MuPC9kaXY+CiAgICAgIDxkZWVzLWNoaXBzCiAgICAgICAgc2VsZWN0aW9uTW9kZT0ibm9uZSIKICAgICAgICAuc2VsZWN0YWJsZUNoaXBzPSR7W3trZXk6InN0YXR1cyIsdmFsdWU6IkFjdGl2ZSJ9LHtrZXk6InRpZXIiLHZhbHVlOiJQcmVtaXVtIn0se2tleToicmVnaW9uIix2YWx1ZToiRVUtV2VzdCJ9LHtrZXk6InR5cGUiLHZhbHVlOiJFbnRlcnByaXNlIn1dfQogICAgICA+PC9kZWVzLWNoaXBzPgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TaW5nbGUgU2VsZWN0aW9uIENoaXBzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkNsaWNrIHRvIHNlbGVjdCBvbmUgY2hpcCBhdCBhIHRpbWUuIFVzZWZ1bCBmb3IgZmlsdGVycyBhbmQgb3B0aW9ucy48L2Rpdj4KICAgICAgPGRlZXMtY2hpcHMKICAgICAgICBzZWxlY3Rpb25Nb2RlPSJzaW5nbGUiCiAgICAgICAgLnNlbGVjdGFibGVDaGlwcz0ke1t7a2V5OiJhbGwiLHZhbHVlOiJBbGwgUHJvamVjdHMifSx7a2V5OiJhY3RpdmUiLHZhbHVlOiJBY3RpdmUifSx7a2V5OiJhcmNoaXZlZCIsdmFsdWU6IkFyY2hpdmVkIn0se2tleToiZHJhZnRzIix2YWx1ZToiRHJhZnRzIn1dfQogICAgICA+PC9kZWVzLWNoaXBzPgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5NdWx0aXBsZSBTZWxlY3Rpb24gQ2hpcHM8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+U2VsZWN0IG11bHRpcGxlIGNoaXBzIHNpbXVsdGFuZW91c2x5LiBHcmVhdCBmb3IgdGFnIHNlbGVjdGlvbi48L2Rpdj4KICAgICAgPGRlZXMtY2hpcHMKICAgICAgICBzZWxlY3Rpb25Nb2RlPSJtdWx0aXBsZSIKICAgICAgICAuc2VsZWN0YWJsZUNoaXBzPSR7W3trZXk6ImpzIix2YWx1ZToiSmF2YVNjcmlwdCJ9LHtrZXk6InRzIix2YWx1ZToiVHlwZVNjcmlwdCJ9LHtrZXk6InJlYWN0Iix2YWx1ZToiUmVhY3QifSx7a2V5OiJ2dWUiLHZhbHVlOiJWdWUifSx7a2V5OiJhbmd1bGFyIix2YWx1ZToiQW5ndWxhciJ9LHtrZXk6Im5vZGUiLHZhbHVlOiJOb2RlLmpzIn1dfQogICAgICA+PC9kZWVzLWNoaXBzPgogICAgPC9kaXY+CiAgICAKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5SZW1vdmFibGUgQ2hpcHMgd2l0aCBLZXlzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkNoaXBzIHdpdGggcmVtb3ZlIGJ1dHRvbnMgYW5kIGtleS12YWx1ZSBwYWlycy4gUGVyZmVjdCBmb3IgZHluYW1pYyBsaXN0cy48L2Rpdj4KICAgICAgPGRlZXMtY2hpcHMKICAgICAgICBzZWxlY3Rpb25Nb2RlPSJzaW5nbGUiCiAgICAgICAgY2hpcHNBcmVSZW1vdmFibGUKICAgICAgICAuc2VsZWN0YWJsZUNoaXBzPSR7W3trZXk6ImVudiIsdmFsdWU6IlByb2R1Y3Rpb24ifSx7a2V5OiJ2ZXJzaW9uIix2YWx1ZToiMi40LjEifSx7a2V5OiJicmFuY2giLHZhbHVlOiJtYWluIn0se2tleToiYXV0aG9yIix2YWx1ZToiSm9obiBEb2UifV19CiAgICAgID48L2RlZXMtY2hpcHM+CiAgICA8L2Rpdj4KICAgIAogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPk1peGVkIENvbnRlbnQgRXhhbXBsZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5Db21iaW5pbmcgZGlmZmVyZW50IGNoaXAgdHlwZXMgZm9yIGNvbXBsZXggVUlzLjwvZGl2PgogICAgICA8ZGVlcy1jaGlwcwogICAgICAgIHNlbGVjdGlvbk1vZGU9Im11bHRpcGxlIgogICAgICAgIGNoaXBzQXJlUmVtb3ZhYmxlCiAgICAgICAgLnNlbGVjdGFibGVDaGlwcz0ke1t7a2V5OiJwcmlvcml0eSIsdmFsdWU6IkhpZ2gifSx7a2V5OiJzdGF0dXMiLHZhbHVlOiJJbiBQcm9ncmVzcyJ9LHtrZXk6ImJ1ZyIsdmFsdWU6IkJ1ZyJ9LHtrZXk6ImZlYXR1cmUiLHZhbHVlOiJGZWF0dXJlIn0se2tleToic3ByaW50Iix2YWx1ZToiU3ByaW50IDIzIn0se2tleToiYXNzaWduZWUiLHZhbHVlOiJBbGljZSJ9XX0KICAgICAgPjwvZGVlcy1jaGlwcz4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIFFtLFUxLE00YSxrNGE9ZigoKT0+e2xlKCk7SnQoKTt3NGEoKTtRZSgpO1FtPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxVMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sTTRhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1jaGlwcyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzQ2hpcHMiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKCldLGQ9WyQoe3R5cGU6Qm9vbGVhbn0pXSx1PVskKHt0eXBlOkFycmF5fSldLHg9WyQoKV0seT1bJCh7dHlwZTpBcnJheX0pXSxRbSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGlvbk1vZGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNlbGVjdGlvbk1vZGUiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5zZWxlY3Rpb25Nb2RlLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2VsZWN0aW9uTW9kZT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCksUW0odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjaGlwc0FyZVJlbW92YWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iY2hpcHNBcmVSZW1vdmFibGUiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5jaGlwc0FyZVJlbW92YWJsZSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmNoaXBzQXJlUmVtb3ZhYmxlPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYyxwKSxRbSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGFibGVDaGlwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4ic2VsZWN0YWJsZUNoaXBzImluIHosImhhcyIpLGdldDpzKHo9Pnouc2VsZWN0YWJsZUNoaXBzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2VsZWN0YWJsZUNoaXBzPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbSx2KSxRbSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkQ2hpcCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4ic2VsZWN0ZWRDaGlwImluIHosImhhcyIpLGdldDpzKHo9Pnouc2VsZWN0ZWRDaGlwLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2VsZWN0ZWRDaGlwPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYixnKSxRbSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkQ2hpcHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNlbGVjdGVkQ2hpcHMiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5zZWxlY3RlZENoaXBzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2VsZWN0ZWRDaGlwcz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksUW0obnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz15NGE7c3RhdGljIGRlbW9Hcm91cHM9WyJMYXlvdXQiXTsjZT1VMSh0aGlzLG4sInNpbmdsZSIpO2dldCBzZWxlY3Rpb25Nb2RlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNlbGVjdGlvbk1vZGUoXyl7dGhpcy4jZT1ffSN0PShVMSh0aGlzLGwpLFUxKHRoaXMsYywhMSkpO2dldCBjaGlwc0FyZVJlbW92YWJsZSgpe3JldHVybiB0aGlzLiN0fXNldCBjaGlwc0FyZVJlbW92YWJsZShfKXt0aGlzLiN0PV99I2E9KFUxKHRoaXMscCksVTEodGhpcyxtLFtdKSk7Z2V0IHNlbGVjdGFibGVDaGlwcygpe3JldHVybiB0aGlzLiNhfXNldCBzZWxlY3RhYmxlQ2hpcHMoXyl7dGhpcy4jYT1ffSNyPShVMSh0aGlzLHYpLFUxKHRoaXMsYixudWxsKSk7Z2V0IHNlbGVjdGVkQ2hpcCgpe3JldHVybiB0aGlzLiNyfXNldCBzZWxlY3RlZENoaXAoXyl7dGhpcy4jcj1ffSNzPShVMSh0aGlzLGcpLFUxKHRoaXMsayxbXSkpO2dldCBzZWxlY3RlZENoaXBzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNlbGVjdGVkQ2hpcHMoXyl7dGhpcy4jcz1ffWNvbnN0cnVjdG9yKCl7c3VwZXIoKSxVMSh0aGlzLEMpfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICAvKiBUT0RPOiBNaWdyYXRlIGhhcmRjb2RlZCB2YWx1ZXMgdG8gLS1kZWVzLSogQ1NTIHZhcmlhYmxlcyAqLwogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLm1haW5ib3ggewogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuY2hpcCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzNmM2Y0NiIpfTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICBwYWRkaW5nOiAwcHggMTJweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4wNSk7CiAgICAgIH0KCiAgICAgIC5jaGlwOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2QxZDVkYiIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5jaGlwOmFjdGl2ZSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLmNoaXAuc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgfQoKICAgICAgLmNoaXAuc2VsZWN0ZWQ6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzI1NjNlYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzI1NjNlYiIpfTsKICAgICAgfQoKICAgICAgLmNoaXBLZXkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMDYpIiwicmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpIil9OwogICAgICAgIGhlaWdodDogMjBweDsKICAgICAgICBsaW5lLWhlaWdodDogMjBweDsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4OwogICAgICAgIHBhZGRpbmc6IDBweCA4cHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5jaGlwLnNlbGVjdGVkIC5jaGlwS2V5IHsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7CiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTsKICAgICAgfQoKICAgICAgZGVlcy1pY29uIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuY2hpcC5zZWxlY3RlZCBkZWVzLWljb24gewogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7CiAgICAgIH0KCiAgICAgIGRlZXMtaWNvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuY2hpcC5zZWxlY3RlZCBkZWVzLWljb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsKICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9Im1haW5ib3giPgogICAgICAgICR7dGhpcy5zZWxlY3RhYmxlQ2hpcHMubWFwKF89PndgCiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zZWxlY3RDaGlwKF8pfQogICAgICAgICAgICAgIGNsYXNzPSJjaGlwICR7dGhpcy5pc1NlbGVjdGVkKF8pPyJzZWxlY3RlZCI6IiJ9IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgJHtfLmtleT93YDxkaXYgY2xhc3M9ImNoaXBLZXkiPiR7Xy5rZXl9PC9kaXY+YDp3YGB9ICR7Xy52YWx1ZX0KICAgICAgICAgICAgICAke3RoaXMuY2hpcHNBcmVSZW1vdmFibGU/d2AKICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHt6PT57ei5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLnJlbW92ZUNoaXAoXyl9fQogICAgICAgICAgICAgICAgICAgICAgLmljb249JHsiZmE6eG1hcmsifQogICAgICAgICAgICAgICAgICAgID48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgYDp3YGB9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXt9aXNTZWxlY3RlZChfKXtyZXR1cm4gdGhpcy5zZWxlY3Rpb25Nb2RlPT09InNpbmdsZSI/dGhpcy5zZWxlY3RlZENoaXA/dGhpcy5pc1NhbWVDaGlwKHRoaXMuc2VsZWN0ZWRDaGlwLF8pOiExOnRoaXMuc2VsZWN0ZWRDaGlwcy5zb21lKHo9PnRoaXMuaXNTYW1lQ2hpcCh6LF8pKX1pc1NhbWVDaGlwKF8seil7cmV0dXJuKF8ua2V5JiZ6LmtleXx8Xy52YWx1ZT09PXoudmFsdWUpJiZfLmtleT09PXoua2V5fWFzeW5jIHNlbGVjdENoaXAoXyl7dGhpcy5zZWxlY3Rpb25Nb2RlIT09Im5vbmUiJiYodGhpcy5zZWxlY3Rpb25Nb2RlPT09InNpbmdsZSI/dGhpcy5pc1NlbGVjdGVkKF8pPyh0aGlzLnNlbGVjdGVkQ2hpcD1udWxsLHRoaXMuc2VsZWN0ZWRDaGlwcz1bXSk6KHRoaXMuc2VsZWN0ZWRDaGlwPV8sdGhpcy5zZWxlY3RlZENoaXBzPVtfXSk6dGhpcy5zZWxlY3Rpb25Nb2RlPT09Im11bHRpcGxlIiYmKHRoaXMuaXNTZWxlY3RlZChfKT90aGlzLnNlbGVjdGVkQ2hpcHM9dGhpcy5zZWxlY3RlZENoaXBzLmZpbHRlcih6PT4hdGhpcy5pc1NhbWVDaGlwKHosXykpOnRoaXMuc2VsZWN0ZWRDaGlwcz1bLi4udGhpcy5zZWxlY3RlZENoaXBzLF9dLHRoaXMucmVxdWVzdFVwZGF0ZSgpKSxjb25zb2xlLmxvZyh0aGlzLnNlbGVjdGVkQ2hpcHMpKX1yZW1vdmVDaGlwKF8pe3RoaXMuc2VsZWN0YWJsZUNoaXBzPXRoaXMuc2VsZWN0YWJsZUNoaXBzLmZpbHRlcih6PT4hdGhpcy5pc1NhbWVDaGlwKHosXykpLHRoaXMuc2VsZWN0ZWRDaGlwcz10aGlzLnNlbGVjdGVkQ2hpcHMuZmlsdGVyKHo9PiF0aGlzLmlzU2FtZUNoaXAoeixfKSksdGhpcy5zZWxlY3RlZENoaXAmJnRoaXMuaXNTYW1lQ2hpcCh0aGlzLnNlbGVjdGVkQ2hpcCxfKSYmKHRoaXMuc2VsZWN0ZWRDaGlwPW51bGwpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfXN0YXRpY3tVMShyLHQpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgUzRhPWYoKCk9PntrNGEoKX0pO3ZhciB6NGEsQzRhPWYoKCk9PntsZSgpO0lhKCk7ejRhPXMoKCk9PndgCiAgICA8ZGVlcy1kZW1vd3JhcHBlciAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57bGV0IGU9YS5xdWVyeVNlbGVjdG9yKCIjZGFzaGJvYXJkR3JpZCIpLHQ9W3tpZDoibWV0cmljczEiLHg6MCx5OjAsdzozLGg6Mix0aXRsZToiUmV2ZW51ZSIsaWNvbjoibHVjaWRlOmRvbGxhclNpZ24iLGNvbnRlbnQ6d2AKICAgICAgICAgICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjBweDsiPgogICAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMzJweDsgZm9udC13ZWlnaHQ6IDcwMDsgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsiPiQxMjQsNTYzPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iY29sb3I6ICMyMmM1NWU7IGZvbnQtc2l6ZTogMTRweDsgbWFyZ2luLXRvcDogOHB4OyI+4oaRIDEyLjUlIGZyb20gbGFzdCBtb250aDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9LHtpZDoibWV0cmljczIiLHg6Myx5OjAsdzozLGg6Mix0aXRsZToiVXNlcnMiLGljb246Imx1Y2lkZTp1c2VycyIsY29udGVudDp3YAogICAgICAgICAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyMHB4OyI+CiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAzMnB4OyBmb250LXdlaWdodDogNzAwOyBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OyI+OCwyMzQ8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJjb2xvcjogIzNiODJmNjsgZm9udC1zaXplOiAxNHB4OyBtYXJnaW4tdG9wOiA4cHg7Ij7ihpEgNS4yJSBmcm9tIGxhc3Qgd2VlazwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9LHtpZDoiY2hhcnQxIix4OjYseTowLHc6NixoOjQsdGl0bGU6IkFuYWx5dGljcyIsaWNvbjoibHVjaWRlOmxpbmVDaGFydCIsY29udGVudDp3YAogICAgICAgICAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyMHB4OyBoZWlnaHQ6IDEwMCU7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyI+CiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogIzcxNzE3YTsiPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6bGluZUNoYXJ0In0gc3R5bGU9ImZvbnQtc2l6ZTogNDhweDsgbWFyZ2luLWJvdHRvbTogMTZweDsiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgPGRpdj5DaGFydCB2aXN1YWxpemF0aW9uIGFyZWE8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfV07ZS53aWRnZXRzPXQubWFwKHk9Pih7Li4ueX0pKSxlLmNlbGxIZWlnaHQ9ODAsZS5tYXJnaW49e3RvcDoxMCxyaWdodDoxMCxib3R0b206MTAsbGVmdDoxMH0sZS5lbmFibGVBbmltYXRpb249ITAsZS5zaG93R3JpZExpbmVzPSExO2xldCByPWUuZ2V0TGF5b3V0KCkubWFwKHk9Pih7Li4ueX0pKSxpPWUud2lkZ2V0cy5tYXAoKHksayk9Pih7aWQ6eS5pZCx4OjAseTprPT09MD8wOmUud2lkZ2V0cy5zbGljZSgwLGspLnJlZHVjZSgoQyxOKT0+QytOLmgsMCksdzplLmNvbHVtbnMsaDp5Lmh9KSk7ZS5sYXlvdXRzPXtiYXNlOnIsbW9iaWxlOml9O2xldCBvPWEucXVlcnlTZWxlY3RvcigiI2Rhc2hib2FyZExheW91dFN0YXR1cyIpLG49cygoKT0+e2xldCB5PWUuZ2V0TGF5b3V0KCk7by50ZXh0Q29udGVudD1gQWN0aXZlIGJyZWFrcG9pbnQ6ICR7ZS5hY3RpdmVCcmVha3BvaW50fSBcdTIwMjIgVGlsZXM6ICR7eS5sZW5ndGh9YH0sInVwZGF0ZVN0YXR1cyIpLGw9d2luZG93Lm1hdGNoTWVkaWEoIihtYXgtd2lkdGg6IDc2OHB4KSIpLGQ9cygoKT0+e2xldCB5PWwubWF0Y2hlcz8ibW9iaWxlIjoiYmFzZSI7ZS5hcHBseUJyZWFrcG9pbnRMYXlvdXQoeSksbigpfSwiaGFuZGxlQnJlYWtwb2ludCIpO3R5cGVvZiBsLmFkZEV2ZW50TGlzdGVuZXI9PSJmdW5jdGlvbiI/bC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLGQpOmwuYWRkTGlzdGVuZXI/LihkKSxkKCk7bGV0IGM9NDthLnF1ZXJ5U2VsZWN0b3JBbGwoImRlZXMtYnV0dG9uIikuZm9yRWFjaCh5PT57c3dpdGNoKHkudGV4dD8udHJpbSgpKXtjYXNlIlRvZ2dsZSBBbmltYXRpb24iOnkuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCgpPT57ZS5lbmFibGVBbmltYXRpb249IWUuZW5hYmxlQW5pbWF0aW9ufSk7YnJlYWs7Y2FzZSJUb2dnbGUgR3JpZCBMaW5lcyI6eS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLnNob3dHcmlkTGluZXM9IWUuc2hvd0dyaWRMaW5lc30pO2JyZWFrO2Nhc2UiQWRkIFdpZGdldCI6eS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntsZXQgQz17aWQ6YHdpZGdldCR7YysrfWAseDowLHk6MCx3OjMsaDoyLGF1dG9Qb3NpdGlvbjohMCx0aXRsZTpgV2lkZ2V0ICR7Yy0xfWAsaWNvbjoibHVjaWRlOnBhY2thZ2UiLGNvbnRlbnQ6d2AKICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjBweDsgdGV4dC1hbGlnbjogY2VudGVyOyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iY29sb3I6ICM3MTcxN2E7Ij5OZXcgd2lkZ2V0IGNvbnRlbnQ8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJtYXJnaW4tdG9wOiA4cHg7IGZvbnQtc2l6ZTogMjRweDsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsiPiR7TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKjFlMyl9PC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYH07ZS5hZGRXaWRnZXQoQywhMCl9KTticmVhaztjYXNlIkNvbXBhY3QgR3JpZCI6eS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLmNvbXBhY3QoKX0pO2JyZWFrO2Nhc2UiVG9nZ2xlIEVkaXQgTW9kZSI6eS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLmVkaXRhYmxlPSFlLmVkaXRhYmxlLHkudGV4dD1lLmVkaXRhYmxlPyJMb2NrIEdyaWQiOiJVbmxvY2sgR3JpZCJ9KTticmVhaztjYXNlIlJlc2V0IExheW91dCI6eS5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsKCk9PntlLmFwcGx5QnJlYWtwb2ludExheW91dChlLmFjdGl2ZUJyZWFrcG9pbnQpfSk7YnJlYWs7ZGVmYXVsdDpicmVha319KTtsZXQgdT1udWxsLG09MCx2PXMoKHksayk9PntsZXQgQz1lLmdldExheW91dCgpO2NvbnNvbGUuZ3JvdXAoYFx1ezFGNTA0fSAke3l9IFtFdmVudCAjJHsrK219XWApLGNvbnNvbGUubG9nKCJUaW1lc3RhbXA6IixuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpLGNvbnNvbGUubG9nKCJHcmlkIENvbmZpZ3VyYXRpb246Iix7Y29sdW1uczplLmNvbHVtbnMsY2VsbEhlaWdodDplLmNlbGxIZWlnaHQsbWFyZ2luOmUubWFyZ2luLGVkaXRhYmxlOmUuZWRpdGFibGUsYWN0aXZlQnJlYWtwb2ludDplLmFjdGl2ZUJyZWFrcG9pbnR9KSxjb25zb2xlLmxvZygiQ3VycmVudCBMYXlvdXQ6IixDKSxjb25zb2xlLmxvZygiV2lkZ2V0IENvdW50OiIsQy5sZW5ndGgpLGNvbnNvbGUubG9nKCJHcmlkIEJvdW5kczoiLHt0b3RhbFdpZGdldHM6ZS53aWRnZXRzLmxlbmd0aCxtYXhZOk1hdGgubWF4KC4uLkMubWFwKE49Pk4ueStOLmgpKSxvY2N1cGllZDpDLm1hcChOPT5gJHtOLmlkfTogKCR7Ti54fSwke04ueX0pICR7Ti53fXgke04uaH1gKS5qb2luKCIsICIpfSksayYmY29uc29sZS5sb2coIkV2ZW50IERldGFpbHM6IixrKSxjb25zb2xlLmdyb3VwRW5kKCl9LCJsb2dHcmlkU3RhdGUiKSx4PW5ldyBNdXRhdGlvbk9ic2VydmVyKCgpPT57bGV0IHk9ZS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIucGxhY2Vob2xkZXIiKTtpZih5KXtsZXQgaz17bGVmdDp5LnN0eWxlLmxlZnQsdG9wOnkuc3R5bGUudG9wLHdpZHRoOnkuc3R5bGUud2lkdGgsaGVpZ2h0Onkuc3R5bGUuaGVpZ2h0fTtpZihKU09OLnN0cmluZ2lmeShrKSE9PUpTT04uc3RyaW5naWZ5KHUpKXtjb25zb2xlLmdyb3VwKCJcdXsxRjRDRH0gUGxhY2Vob2xkZXIgUG9zaXRpb24gQ2hhbmdlZCIpLGNvbnNvbGUubG9nKCJQcmV2aW91czoiLHUpLGNvbnNvbGUubG9nKCJDdXJyZW50OiIsayk7bGV0IEM9ZS5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZ3JpZC1jb250YWluZXIiKTtDJiZjb25zb2xlLmxvZygiR3JpZCBDb250YWluZXIgRGltZW5zaW9uczoiLHt3aWR0aDpDLmNsaWVudFdpZHRoLGhlaWdodDpDLmNsaWVudEhlaWdodH0pLGNvbnNvbGUuZ3JvdXBFbmQoKSx1PWt9fX0pO2Uuc2hhZG93Um9vdCYmeC5vYnNlcnZlKGUuc2hhZG93Um9vdCx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITAsYXR0cmlidXRlczohMCxhdHRyaWJ1dGVGaWx0ZXI6WyJzdHlsZSJdfSksdigiSW5pdGlhbCBHcmlkIFN0YXRlIiksZS5hZGRFdmVudExpc3RlbmVyKCJ3aWRnZXQtbW92ZSIseT0+e2xldCBrPXkuZGV0YWlsO3YoIldpZGdldCBNb3ZlIix7d2lkZ2V0Omsud2lkZ2V0LGRpc3BsYWNlZDprLmRpc3BsYWNlZCxzd2FwcGVkV2l0aDprLnN3YXBwZWRXaXRofSl9KSxlLmFkZEV2ZW50TGlzdGVuZXIoIndpZGdldC1yZXNpemUiLHk9PntsZXQgaz15LmRldGFpbDt2KCJXaWRnZXQgUmVzaXplIix7d2lkZ2V0Omsud2lkZ2V0LGRpc3BsYWNlZDprLmRpc3BsYWNlZCxzd2FwcGVkV2l0aDprLnN3YXBwZWRXaXRofSl9KSxlLmFkZEV2ZW50TGlzdGVuZXIoIndpZGdldC1yZW1vdmUiLHk9PntsZXQgaz15LmRldGFpbDt2KCJXaWRnZXQgUmVtb3ZlIix7cmVtb3ZlZFdpZGdldDprLndpZGdldH0pLG4oKX0pLGUuYWRkRXZlbnRMaXN0ZW5lcigibGF5b3V0LWNoYW5nZSIsKCk9Pnt2KCJMYXlvdXQgQ2hhbmdlIiksbigpfSksZS5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVyZG93biIseT0+e2xldCBrPXkudGFyZ2V0LmNsb3Nlc3QoIi53aWRnZXQtaGVhZGVyIiksQz15LnRhcmdldC5jbG9zZXN0KCIucmVzaXplLWhhbmRsZSIpO2lmKGt8fEMpe2NvbnNvbGUuZ3JvdXAoYFx1ezFGM0FGfSBJbnRlcmFjdGlvbiBTdGFydGVkOiAke2s/IkRyYWciOiJSZXNpemUifWApLGNvbnNvbGUubG9nKCJUYXJnZXQgV2lkZ2V0OiIseS50YXJnZXQuY2xvc2VzdCgiLndpZGdldCIpPy5nZXRBdHRyaWJ1dGUoImRhdGEtd2lkZ2V0LWlkIikpLGNvbnNvbGUubG9nKCJQb2ludGVyIFBvc2l0aW9uOiIse3g6eS5jbGllbnRYLHk6eS5jbGllbnRZfSksY29uc29sZS5ncm91cEVuZCgpO2xldCBOPXMoej0+e2xldCBPPXkudGFyZ2V0LmNsb3Nlc3QoIi53aWRnZXQiKTtPJiZjb25zb2xlLmxvZygiXHUyMTk0XHVGRTBGIFBvaW50ZXIgTW92ZToiLHt3aWRnZXRJZDpPLmdldEF0dHJpYnV0ZSgiZGF0YS13aWRnZXQtaWQiKSxwb3NpdGlvbjp7eDp6LmNsaWVudFgseTp6LmNsaWVudFl9LGRlbHRhOnt4OnouY2xpZW50WC15LmNsaWVudFgseTp6LmNsaWVudFkteS5jbGllbnRZfX0pfSwiaGFuZGxlUG9pbnRlck1vdmUiKSxfPXMoKCk9Pntjb25zb2xlLmdyb3VwKCJcdXsxRjNDMX0gSW50ZXJhY3Rpb24gRW5kZWQiKSx2KCJGaW5hbCBTdGF0ZSBBZnRlciBJbnRlcmFjdGlvbiIpLGNvbnNvbGUuZ3JvdXBFbmQoKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsTiksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIixfKX0sImhhbmRsZVBvaW50ZXJVcCIpO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIixOKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLF8pfX0pO2xldCBiPWUuYWRkV2lkZ2V0LmJpbmQoZSk7ZS5hZGRXaWRnZXQ9KHksayk9Pntjb25zb2xlLmdyb3VwKCJcdTI3OTUgQWRkaW5nIFdpZGdldCIpLGNvbnNvbGUubG9nKCJOZXcgV2lkZ2V0OiIseSksY29uc29sZS5sb2coIkF1dG8gUG9zaXRpb246IixrKTtsZXQgQz1iKHksayk7cmV0dXJuIHYoIkFmdGVyIFdpZGdldCBBZGRlZCIpLGNvbnNvbGUuZ3JvdXBFbmQoKSxDfTtsZXQgZz1lLmNvbXBhY3QuYmluZChlKTtlLmNvbXBhY3Q9eT0+e2NvbnNvbGUuZ3JvdXAoIlx1ezFGNURDfVx1RkUwRiBDb21wYWN0aW5nIEdyaWQiKSxjb25zb2xlLmxvZygiRGlyZWN0aW9uOiIseXx8InZlcnRpY2FsIiksdigiQmVmb3JlIENvbXBhY3QiKTtsZXQgaz1nKHkpO3JldHVybiB2KCJBZnRlciBDb21wYWN0IiksY29uc29sZS5ncm91cEVuZCgpLGt9LG4oKX19PgogICAgICA8c3R5bGU+CiAgICAgICAgJHtRYAogICAgICAgICAgLmRlbW9Cb3ggewogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzA5MDkwYiIpfTsKICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgICAgfQoKICAgICAgICAgIC5kZW1vLWNvbnRyb2xzIHsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgICB9CgogICAgICAgICAgLmRlbW8tY29udHJvbHMgZGVlcy1idXR0b24gewogICAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICAgIH0KCiAgICAgICAgICAuZ3JpZC1jb250YWluZXItd3JhcHBlciB7CiAgICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwMHB4OwogICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICB9CgogICAgICAgICAgLmluZm8gewogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjNzE3MTdhIil9OwogICAgICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgICB9CgogICAgICAgICAgI2Rhc2hib2FyZExheW91dFN0YXR1cyB7CiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgICB9CiAgICAgICAgYH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iZGVtb0JveCI+CiAgICAgICAgPGRpdiBjbGFzcz0iZGVtby1jb250cm9scyI+CiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkFuaW1hdGlvbjoiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+VG9nZ2xlIEFuaW1hdGlvbjwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgoKICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iRGlzcGxheToiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+VG9nZ2xlIEdyaWQgTGluZXM8L2RlZXMtYnV0dG9uPgogICAgICAgICAgPC9kZWVzLWJ1dHRvbi1ncm91cD4KCiAgICAgICAgICA8ZGVlcy1idXR0b24tZ3JvdXAgbGFiZWw9IkFjdGlvbnM6Ij4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPkFkZCBXaWRnZXQ8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+Q29tcGFjdCBHcmlkPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgPGRlZXMtYnV0dG9uPlJlc2V0IExheW91dDwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgoKICAgICAgICAgIDxkZWVzLWJ1dHRvbi1ncm91cCBsYWJlbD0iTW9kZToiPgogICAgICAgICAgICA8ZGVlcy1idXR0b24+VG9nZ2xlIEVkaXQgTW9kZTwvZGVlcy1idXR0b24+CiAgICAgICAgICA8L2RlZXMtYnV0dG9uLWdyb3VwPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJncmlkLWNvbnRhaW5lci13cmFwcGVyIj4KICAgICAgICAgIDxkZWVzLWRhc2hib2FyZGdyaWQgaWQ9ImRhc2hib2FyZEdyaWQiPjwvZGVlcy1kYXNoYm9hcmRncmlkPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvIj4KICAgICAgICAgIDxkaXY+RHJhZyB0byByZXBvc2l0aW9uLCByZXNpemUgZnJvbSBoYW5kbGVzLCBvciByaWdodC1jbGljayBhIGhlYWRlciB0byBkZWxldGUgYSB0aWxlLjwvZGl2PgogICAgICAgICAgPGRpdiBpZD0iZGFzaGJvYXJkTGF5b3V0U3RhdHVzIj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYCwiZGVtb0Z1bmMiKX0pO3ZhciBfNGEsVDRhPWYoKCk9PntsZSgpO180YT1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAuZ3JpZC1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtaW4taGVpZ2h0OiA0MDBweDsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuZ3JpZC13aWRnZXQgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aWxsLWNoYW5nZTogYXV0bzsKICAgICAgfQogICAgICAKICAgICAgOmhvc3QoW2VuYWJsZWFuaW1hdGlvbl0pIC5ncmlkLXdpZGdldCB7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgLmdyaWQtd2lkZ2V0LmRyYWdnaW5nIHsKICAgICAgICB6LWluZGV4OiAxMDAwOwogICAgICAgIHRyYW5zaXRpb246IG5vbmUgIWltcG9ydGFudDsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgICAgY3Vyc29yOiBncmFiYmluZzsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogICAgICB9CiAgICAgIAogICAgICAuZ3JpZC13aWRnZXQucGxhY2Vob2xkZXIgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgIH0KICAgICAgCiAgICAgIC5ncmlkLXdpZGdldC5wbGFjZWhvbGRlciAud2lkZ2V0LWNvbnRlbnQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIil9OwogICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsKICAgICAgfQoKICAgICAgLmdyaWQtd2lkZ2V0LnJlc2l6aW5nIHsKICAgICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7CiAgICAgIH0KCiAgICAgIC53aWRnZXQtY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJveC1zaGFkb3c6ICR7aC5iZFRoZW1lKCIwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpIiwiMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4zKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLmdyaWQtd2lkZ2V0OmhvdmVyIC53aWRnZXQtY29udGVudCB7CiAgICAgICAgYm94LXNoYWRvdzogJHtoLmJkVGhlbWUoIjAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjE1KSIsIjAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjQpIil9OwogICAgICB9CgogICAgICAuZ3JpZC13aWRnZXQuZHJhZ2dpbmcgLndpZGdldC1jb250ZW50IHsKICAgICAgICBib3gtc2hhZG93OiAke2guYmRUaGVtZSgiMCAxNnB4IDQ4cHggcmdiYSgwLCAwLCAwLCAwLjI1KSIsIjAgMTZweCA0OHB4IHJnYmEoMCwgMCwgMCwgMC42KSIpfTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogICAgICB9CgogICAgICAud2lkZ2V0LWhlYWRlciB7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOWZhZmIiLCIjMGEwYTBhIil9OwogICAgICAgIGN1cnNvcjogZ3JhYjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQogICAgICAKICAgICAgLndpZGdldC1oZWFkZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQogICAgICAKICAgICAgLndpZGdldC1oZWFkZXI6YWN0aXZlIHsKICAgICAgICBjdXJzb3I6IGdyYWJiaW5nOwogICAgICB9CgogICAgICAud2lkZ2V0LWhlYWRlci5sb2NrZWQgewogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgfQogICAgICAKICAgICAgLndpZGdldC1oZWFkZXIubG9ja2VkOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y5ZmFmYiIsIiMwYTBhMGEiKX07CiAgICAgIH0KCiAgICAgIC53aWRnZXQtaGVhZGVyIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgIH0KCiAgICAgIC53aWRnZXQtYm9keSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LWJvZHkuaGFzLWhlYWRlciB7CiAgICAgICAgdG9wOiA0NXB4OwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICAgIG9wYWNpdHk6IDAuMzsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtZSB7CiAgICAgICAgY3Vyc29yOiBldy1yZXNpemU7CiAgICAgICAgd2lkdGg6IDEycHg7CiAgICAgICAgcmlnaHQ6IC02cHg7CiAgICAgICAgdG9wOiAxMCU7CiAgICAgICAgaGVpZ2h0OiA4MCU7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLXMgewogICAgICAgIGN1cnNvcjogbnMtcmVzaXplOwogICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICB3aWR0aDogODAlOwogICAgICAgIGJvdHRvbTogLTZweDsKICAgICAgICBsZWZ0OiAxMCU7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLXNlIHsKICAgICAgICBjdXJzb3I6IHNlLXJlc2l6ZTsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgICAgcmlnaHQ6IC0ycHg7CiAgICAgICAgYm90dG9tOiAtMnB4OwogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7CiAgICAgIH0KICAgICAgCiAgICAgIC5yZXNpemUtaGFuZGxlLXNlOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHJpZ2h0OiA0cHg7CiAgICAgICAgYm90dG9tOiA0cHg7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiM3MTcxN2EiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgICAgfQoKICAgICAgLmdyaWQtd2lkZ2V0OmhvdmVyIC5yZXNpemUtaGFuZGxlLXNlIHsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLXNlOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7CiAgICAgIH0KICAgICAgCiAgICAgIC5yZXNpemUtaGFuZGxlLXNlOmhvdmVyOjphZnRlciB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgIH0KCiAgICAgIC5ncmlkLXBsYWNlaG9sZGVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICAgIG9wYWNpdHk6IDAuMTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgYm9yZGVyOiAycHggZGFzaGVkICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogNDAwcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiIzcxNzE3YSIpfTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiA0OHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CiAgICAgIAogICAgICAuZ3JpZC1saW5lcyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICB6LWluZGV4OiAtMTsKICAgICAgfQogICAgICAKICAgICAgLmdyaWQtbGluZS12ZXJ0aWNhbCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgb3BhY2l0eTogMC4zOwogICAgICB9CiAgICAgIAogICAgICAuZ3JpZC1saW5lLWhvcml6b250YWwgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgICBvcGFjaXR5OiAwLjM7CiAgICAgIH0KICBgXX0pO3ZhciBpaW8sSVFlLEQ0YSxBNGEsTDRhLGFHLCQ0YSxOSWEsUklhLE5RZSxGNCxFNGEsUDRhLEk0YT1mKCgpPT57aWlvPTEwLElRZT1zKGE9PntpZih0eXBlb2YgYT09Im51bWJlciIpcmV0dXJue2hvcml6b250YWw6YSx2ZXJ0aWNhbDphLHRvcDphLHJpZ2h0OmEsYm90dG9tOmEsbGVmdDphfTtsZXQgZT17dG9wOmEudG9wPz8xMCxyaWdodDphLnJpZ2h0Pz8xMCxib3R0b206YS5ib3R0b20/PzEwLGxlZnQ6YS5sZWZ0Pz8xMH07cmV0dXJuey4uLmUsaG9yaXpvbnRhbDooZS5sZWZ0K2UucmlnaHQpLzIsdmVydGljYWw6KGUudG9wK2UuYm90dG9tKS8yfX0sInJlc29sdmVNYXJnaW5zIiksRDRhPXMoKGEsZSx0LHIsaSk9PntsZXQgbz10Lmhvcml6b250YWwqKGUrMSksbj1NYXRoLm1heChhLW8sMCksbD1lPjA/bi9lOjAsZD1pPT09ImF1dG8iP2w6cjtyZXR1cm57Y29udGFpbmVyV2lkdGg6YSxjZWxsV2lkdGhQeDpsLG1hcmdpbkhvcml6b250YWxQeDp0Lmhvcml6b250YWwsY2VsbEhlaWdodFB4OmQsbWFyZ2luVmVydGljYWxQeDp0LnZlcnRpY2FsfX0sImNhbGN1bGF0ZUNlbGxNZXRyaWNzIiksQTRhPXMoKGEsZSx0KT0+e2lmKGEubGVuZ3RoPT09MClyZXR1cm4gMDtsZXQgcj1NYXRoLm1heCguLi5hLm1hcChpPT5pLnkraS5oKSwwKTtyZXR1cm4gcip0KyhyKzEpKmUudmVydGljYWx9LCJjYWxjdWxhdGVHcmlkSGVpZ2h0IiksTDRhPXMoKGEsZSx0LHIsaSk9PmU8YS54K2EudyYmZStyPmEueCYmdDxhLnkrYS5oJiZ0K2k+YS55LCJvdmVybGFwcyIpLGFHPXMoKGEsZSx0LHIsaT1lLncsbz1lLmgpPT5hLmZpbHRlcihuPT5uLmlkPT09ZS5pZD8hMTpMNGEobix0LHIsaSxvKSksImNvbGxlY3RDb2xsaXNpb25zIiksJDRhPXMoKGEsZSx0LHIpPT5hRyhhLGUsdCxyKS5sZW5ndGg+MCwiY2hlY2tDb2xsaXNpb24iKSxOSWE9cyhhPT4oey4uLmF9KSwiY2xvbmVXaWRnZXQiKSxSSWE9cyhhPT5hLm1hcChOSWEpLCJjbG9uZVdpZGdldHMiKSxOUWU9cygoYSxlLHQscik9Pntmb3IobGV0IG89MDtvPDIwMDtvKyspZm9yKGxldCBuPTA7bjw9ci1lO24rKylpZighYS5zb21lKGQ9Pkw0YShkLG4sbyxlLHQpKSlyZXR1cm57eDpuLHk6b307cmV0dXJue3g6MCx5OmEucmVkdWNlKChvLG4pPT5NYXRoLm1heChvLG4ueStuLmgpLDApfX0sImZpbmRBdmFpbGFibGVQb3NpdGlvbiIpLEY0PXMoKGEsZSx0LHIsaSk9PntsZXQgbz1SSWEoYSksbj1vLmZpbmQobT0+bS5pZD09PWUpLGw9YS5maW5kKG09Pm0uaWQ9PT1lKTtpZighbnx8IWwpcmV0dXJuIG51bGw7bGV0IGQ9e3g6dC54LHk6dC55LHc6dC53Pz9uLncsaDp0Lmg/P24uaH07bi54PWQueCxuLnk9ZC55LG4udz1kLncsbi5oPWQuaDtsZXQgYz1hRyhvLG4sZC54LGQueSxkLncsZC5oKTtpZihjLmxlbmd0aD09PTApcmV0dXJue3dpZGdldHM6byxtb3ZlZFdpZGdldHM6W24uaWRdfTtpZihjLmxlbmd0aD09PTEpe2xldCBtPWNbMF07aWYoIW0ubG9ja2VkJiYhbS5ub01vdmUmJm0udz09PW4udyYmbS5oPT09bi5oKXtsZXQgdj1vLmZpbmQoeD0+eC5pZD09PW0uaWQpO2lmKHYpe2xldCB4PWwsYj17eDp2LngseTp2Lnl9O2lmKHYueD14Lngsdi55PXgueSxhRyhvLG4sbi54LG4ueSxuLncsbi5oKS5sZW5ndGg9PT0wJiZhRyhvLHYsdi54LHYueSx2Lncsdi5oKS5sZW5ndGg9PT0wKXJldHVybnt3aWRnZXRzOm8sbW92ZWRXaWRnZXRzOltuLmlkLHYuaWRdLHN3YXBwZWRXaXRoOnYuaWR9O3YueD1iLngsdi55PWIueX19fWxldCBwPW5ldyBTZXQoW24uaWRdKTtmb3IobGV0IG0gb2YgYyl7aWYobS5sb2NrZWR8fG0ubm9Nb3ZlKXJldHVybiBudWxsO2xldCB2PW8uZmluZChnPT5nLmlkPT09bS5pZCk7aWYoIXYpY29udGludWU7bGV0IHg9by5maWx0ZXIoZz0+Zy5pZCE9PW0uaWQpLGI9TlFlKHgsdi53LHYuaCxyKTt2Lng9Yi54LHYueT1iLnkscC5hZGQodi5pZCl9cmV0dXJuIGFHKG8sbixuLngsbi55LG4udyxuLmgpLmxlbmd0aD4wP251bGw6e3dpZGdldHM6byxtb3ZlZFdpZGdldHM6QXJyYXkuZnJvbShwKX19LCJyZXNvbHZlV2lkZ2V0UGxhY2VtZW50IiksRTRhPXMoKGEsZT0idmVydGljYWwiKT0+e2xldCB0PVsuLi5hXS5zb3J0KChyLGkpPT5lPT09InZlcnRpY2FsIj9yLnkhPT1pLnk/ci55LWkueTpyLngtaS54OnIueCE9PWkueD9yLngtaS54OnIueS1pLnkpO2ZvcihsZXQgciBvZiB0KWlmKCEoci5sb2NrZWR8fHIubm9Nb3ZlKSlpZihlPT09InZlcnRpY2FsIilmb3IoO3IueT4wJiYhJDRhKGEscixyLngsci55LTEpOylyLnktPTE7ZWxzZSBmb3IoO3IueD4wJiYhJDRhKGEscixyLngtMSxyLnkpOylyLngtPTF9LCJjb21wYWN0TGF5b3V0IiksUDRhPXMoKGEsZSk9PmEubWFwKHQ9PntsZXQgcj1lLmZpbmQoaT0+aS5pZD09PXQuaWQpO3JldHVybiByP3suLi50LC4uLnJ9OnR9KSwiYXBwbHlMYXlvdXQiKX0pO3ZhciBONGEsUjRhLE80YT1mKCgpPT57TjRhPXMoKHtwb2ludGVyOmEsY29udGFpbmVyUmVjdDplLG1ldHJpY3M6dCxjb2x1bW5zOnIsd2lkZ2V0OmkscnRsOm8sZHJhZ09mZnNldFg6bj0wLGRyYWdPZmZzZXRZOmw9MH0pPT57bGV0IGQ9YS5jbGllbnRYLWUubGVmdC1uLGM9YS5jbGllbnRZLWUudG9wLWwscD10Lm1hcmdpbkhvcml6b250YWxQeCx1PXQubWFyZ2luVmVydGljYWxQeCxtPXQuY2VsbFdpZHRoUHgsdj10LmNlbGxIZWlnaHRQeCx4PXMoKF8seixPKT0+TWF0aC5tYXgoeixNYXRoLm1pbihPLF8pKSwiY2xhbXAiKSxiPXgoZC1wLDAsZS53aWR0aC1wKSxnPXgoYy11LDAsTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSx5PW0rcCxrPXYrdSxDPU1hdGgucm91bmQoYi95KTtvJiYoQz1yLWkudy1DKSxDPXgoQywwLHItaS53KTtsZXQgTj14KE1hdGgucm91bmQoZy9rKSwwLE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKTtyZXR1cm57eDpDLHk6Tn19LCJjb21wdXRlR3JpZENvb3JkaW5hdGVzIiksUjRhPXMoKHtwb2ludGVyOmEsY29udGFpbmVyUmVjdDplLG1ldHJpY3M6dCxzdGFydFdpZHRoOnIsc3RhcnRIZWlnaHQ6aSxzdGFydFBvaW50ZXI6byxoYW5kbGVyOm4sd2lkZ2V0OmwsY29sdW1uczpkfSk9PntsZXQgYz1hLmNsaWVudFgtby5jbGllbnRYLHA9YS5jbGllbnRZLW8uY2xpZW50WSx1PXIsbT1pLHY9dC5jZWxsV2lkdGhQeCt0Lm1hcmdpbkhvcml6b250YWxQeCx4PXQuY2VsbEhlaWdodFB4K3QubWFyZ2luVmVydGljYWxQeDtpZihuLmluY2x1ZGVzKCJlIikpe2xldCB5PU1hdGgucm91bmQoYy92KTt1PXIreX1pZihuLmluY2x1ZGVzKCJzIikpe2xldCB5PU1hdGgucm91bmQocC94KTttPWkreX1sZXQgYj1NYXRoLm1heChsLm1pbld8fDEsTWF0aC5taW4odSxsLm1heFd8fGQtbC54KSksZz1NYXRoLm1heChsLm1pbkh8fDEsTWF0aC5taW4obSxsLm1heEh8fE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSk7cmV0dXJue3dpZHRoOmIsaGVpZ2h0Omd9fSwiY29tcHV0ZVJlc2l6ZURpbWVuc2lvbnMiKX0pO3ZhciBGNGEsQjRhPWYoKCk9PntZcigpO1ZzKCk7RjRhPXMoKHt3aWRnZXQ6YSxob3N0OmUsZXZlbnQ6dH0pPT57bGV0IHI9W3tuYW1lOiJEZWxldGUgdGlsZSIsaWNvbk5hbWU6Imx1Y2lkZTp0cmFzaDIiLGFjdGlvbjpzKGFzeW5jKCk9PihlLnJlbW92ZVdpZGdldChhLmlkKSxudWxsKSwiYWN0aW9uIil9XTtlYS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyh0LHIpfSwib3BlbldpZGdldENvbnRleHRNZW51Iil9KTt2YXIgUGksT2EsSDRhLHE0YT1mKCgpPT57bGUoKTt2YSgpO1lyKCk7QzRhKCk7VDRhKCk7STRhKCk7TzRhKCk7QjRhKCk7UGk9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LE9hPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxINGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWRhc2hib2FyZGdyaWQiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sWCxKPVtdLFo9W10sZ2UsYWU9W10scmU9W107dmFyIHllPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzRGFzaGJvYXJkZ3JpZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBWPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpOdW1iZXJ9KV0sdT1bJCh7dHlwZTpPYmplY3R9KV0seD1bJCh7dHlwZTpOdW1iZXJ9KV0seT1bJCh7dHlwZTpCb29sZWFufSldLE49WyQoe3R5cGU6Qm9vbGVhbixyZWZsZWN0OiEwfSldLE89WyQoe3R5cGU6U3RyaW5nfSldLEI9WyQoe3R5cGU6Qm9vbGVhbn0pXSxQPVskKHt0eXBlOkJvb2xlYW59KV0sVz1bJCh7YXR0cmlidXRlOiExfSldLGhlPVskKHt0eXBlOlN0cmluZ30pXSxtZT1bSygpXSxjZT1bSygpXSxYPVtLKCldLGdlPVtLKCldLFBpKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToid2lkZ2V0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4id2lkZ2V0cyJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILndpZGdldHMsImdldCIpLHNldDpzKChILG9lKT0+e0gud2lkZ2V0cz1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxuLGwpLFBpKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2VsbEhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iY2VsbEhlaWdodCJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmNlbGxIZWlnaHQsImdldCIpLHNldDpzKChILG9lKT0+e0guY2VsbEhlaWdodD1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxjLHApLFBpKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWFyZ2luIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJtYXJnaW4iaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5tYXJnaW4sImdldCIpLHNldDpzKChILG9lKT0+e0gubWFyZ2luPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LG0sdiksUGkodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjb2x1bW5zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJjb2x1bW5zImluIEgsImhhcyIpLGdldDpzKEg9PkguY29sdW1ucywiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5jb2x1bW5zPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGIsZyksUGkodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlZGl0YWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iZWRpdGFibGUiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5lZGl0YWJsZSwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5lZGl0YWJsZT1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxrLEMpLFBpKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW5hYmxlQW5pbWF0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJlbmFibGVBbmltYXRpb24iaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5lbmFibGVBbmltYXRpb24sImdldCIpLHNldDpzKChILG9lKT0+e0guZW5hYmxlQW5pbWF0aW9uPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LF8seiksUGkodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjZWxsSGVpZ2h0VW5pdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iY2VsbEhlaWdodFVuaXQiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5jZWxsSGVpZ2h0VW5pdCwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5jZWxsSGVpZ2h0VW5pdD1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxULEUpLFBpKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicnRsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJydGwiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5ydGwsImdldCIpLHNldDpzKChILG9lKT0+e0gucnRsPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LE0sUyksUGkodGhpcyxudWxsLFAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93R3JpZExpbmVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJzaG93R3JpZExpbmVzImluIEgsImhhcyIpLGdldDpzKEg9Pkguc2hvd0dyaWRMaW5lcywiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5zaG93R3JpZExpbmVzPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LEEsRiksUGkodGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYXlvdXRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJsYXlvdXRzImluIEgsImhhcyIpLGdldDpzKEg9PkgubGF5b3V0cywiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5sYXlvdXRzPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGosRyksUGkodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZlQnJlYWtwb2ludCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iYWN0aXZlQnJlYWtwb2ludCJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmFjdGl2ZUJyZWFrcG9pbnQsImdldCIpLHNldDpzKChILG9lKT0+e0guYWN0aXZlQnJlYWtwb2ludD1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxSLFUpLFBpKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYWNlaG9sZGVyUG9zaXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+InBsYWNlaG9sZGVyUG9zaXRpb24iaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5wbGFjZWhvbGRlclBvc2l0aW9uLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILnBsYWNlaG9sZGVyUG9zaXRpb249b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sSSxxKSxQaSh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtZXRyaWNzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJtZXRyaWNzImluIEgsImhhcyIpLGdldDpzKEg9PkgubWV0cmljcywiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5tZXRyaWNzPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LHVlLFkpLFBpKHRoaXMsbnVsbCxYLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVzb2x2ZWRNYXJnaW5zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJyZXNvbHZlZE1hcmdpbnMiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5yZXNvbHZlZE1hcmdpbnMsImdldCIpLHNldDpzKChILG9lKT0+e0gucmVzb2x2ZWRNYXJnaW5zPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LEosWiksUGkodGhpcyxudWxsLGdlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicHJldmlld1dpZGdldHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+InByZXZpZXdXaWRnZXRzImluIEgsImhhcyIpLGdldDpzKEg9PkgucHJldmlld1dpZGdldHMsImdldCIpLHNldDpzKChILG9lKT0+e0gucHJldmlld1dpZGdldHM9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sYWUscmUpLFBpKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlZ9LG51bGwsdCkseWU9cj1lLnZhbHVlLFYmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Vn0pfXN0YXRpYyBkZW1vPXo0YTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCJdO3N0YXRpYyBzdHlsZXM9XzRhOyNlPU9hKHRoaXMsbixbXSk7Z2V0IHdpZGdldHMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgd2lkZ2V0cyhWKXt0aGlzLiNlPVZ9I3Q9KE9hKHRoaXMsbCksT2EodGhpcyxjLDgwKSk7Z2V0IGNlbGxIZWlnaHQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY2VsbEhlaWdodChWKXt0aGlzLiN0PVZ9I2E9KE9hKHRoaXMscCksT2EodGhpcyxtLDEwKSk7Z2V0IG1hcmdpbigpe3JldHVybiB0aGlzLiNhfXNldCBtYXJnaW4oVil7dGhpcy4jYT1WfSNyPShPYSh0aGlzLHYpLE9hKHRoaXMsYiwxMikpO2dldCBjb2x1bW5zKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGNvbHVtbnMoVil7dGhpcy4jcj1WfSNzPShPYSh0aGlzLGcpLE9hKHRoaXMsaywhMCkpO2dldCBlZGl0YWJsZSgpe3JldHVybiB0aGlzLiNzfXNldCBlZGl0YWJsZShWKXt0aGlzLiNzPVZ9I2k9KE9hKHRoaXMsQyksT2EodGhpcyxfLCEwKSk7Z2V0IGVuYWJsZUFuaW1hdGlvbigpe3JldHVybiB0aGlzLiNpfXNldCBlbmFibGVBbmltYXRpb24oVil7dGhpcy4jaT1WfSNvPShPYSh0aGlzLHopLE9hKHRoaXMsVCwicHgiKSk7Z2V0IGNlbGxIZWlnaHRVbml0KCl7cmV0dXJuIHRoaXMuI299c2V0IGNlbGxIZWlnaHRVbml0KFYpe3RoaXMuI289Vn0jbj0oT2EodGhpcyxFKSxPYSh0aGlzLE0sITEpKTtnZXQgcnRsKCl7cmV0dXJuIHRoaXMuI259c2V0IHJ0bChWKXt0aGlzLiNuPVZ9I2w9KE9hKHRoaXMsUyksT2EodGhpcyxBLCExKSk7Z2V0IHNob3dHcmlkTGluZXMoKXtyZXR1cm4gdGhpcy4jbH1zZXQgc2hvd0dyaWRMaW5lcyhWKXt0aGlzLiNsPVZ9I2M9KE9hKHRoaXMsRiksT2EodGhpcyxqLHZvaWQgMCkpO2dldCBsYXlvdXRzKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGxheW91dHMoVil7dGhpcy4jYz1WfSNkPShPYSh0aGlzLEcpLE9hKHRoaXMsUiwiYmFzZSIpKTtnZXQgYWN0aXZlQnJlYWtwb2ludCgpe3JldHVybiB0aGlzLiNkfXNldCBhY3RpdmVCcmVha3BvaW50KFYpe3RoaXMuI2Q9Vn0jdT0oT2EodGhpcyxVKSxPYSh0aGlzLEksbnVsbCkpO2dldCBwbGFjZWhvbGRlclBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI3V9c2V0IHBsYWNlaG9sZGVyUG9zaXRpb24oVil7dGhpcy4jdT1WfSNwPShPYSh0aGlzLHEpLE9hKHRoaXMsdWUsbnVsbCkpO2dldCBtZXRyaWNzKCl7cmV0dXJuIHRoaXMuI3B9c2V0IG1ldHJpY3MoVil7dGhpcy4jcD1WfSNmPShPYSh0aGlzLFkpLE9hKHRoaXMsSixudWxsKSk7Z2V0IHJlc29sdmVkTWFyZ2lucygpe3JldHVybiB0aGlzLiNmfXNldCByZXNvbHZlZE1hcmdpbnMoVil7dGhpcy4jZj1WfSNoPShPYSh0aGlzLFopLE9hKHRoaXMsYWUsbnVsbCkpO2dldCBwcmV2aWV3V2lkZ2V0cygpe3JldHVybiB0aGlzLiNofXNldCBwcmV2aWV3V2lkZ2V0cyhWKXt0aGlzLiNoPVZ9Y29udGFpbmVyQm91bmRzPShPYSh0aGlzLHJlKSxudWxsKTtkcmFnU3RhdGU9bnVsbDtyZXNpemVTdGF0ZT1udWxsO3Jlc2l6ZU9ic2VydmVyO2ludGVyYWN0aW9uQWN0aXZlPSExO2FzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLmNvbXB1dGVNZXRyaWNzKCksdGhpcy5vYnNlcnZlUmVzaXplKCl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuZGlzY29ubmVjdFJlc2l6ZU9ic2VydmVyKCksdGhpcy5yZWxlYXNlUG9pbnRlckV2ZW50cygpfXVwZGF0ZWQoVil7KFYuaGFzKCJtYXJnaW4iKXx8Vi5oYXMoImNvbHVtbnMiKXx8Vi5oYXMoImNlbGxIZWlnaHQiKXx8Vi5oYXMoImNlbGxIZWlnaHRVbml0IikpJiZ0aGlzLmNvbXB1dGVNZXRyaWNzKCksVi5oYXMoIndpZGdldHMiKSYmIXRoaXMuaW50ZXJhY3Rpb25BY3RpdmUmJnRoaXMubm90aWZ5TGF5b3V0Q2hhbmdlKCl9cmVuZGVyKCl7bGV0IFY9dGhpcy53aWRnZXRzO2lmKFYubGVuZ3RoPT09MClyZXR1cm4gd2AKICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpsYXlvdXRHcmlkIn0+PC9kZWVzLWljb24+CiAgICAgICAgICA8ZGl2Pk5vIHdpZGdldHMgY29uZmlndXJlZDwvZGl2PgogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxNHB4OyBtYXJnaW4tdG9wOiA4cHg7Ij5BZGQgd2lkZ2V0cyB0byBwb3B1bGF0ZSB0aGUgZGFzaGJvYXJkPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA7bGV0IEg9dGhpcy5lbnN1cmVNZXRyaWNzKCksb2U9dGhpcy5yZXNvbHZlZE1hcmdpbnM/P0lRZSh0aGlzLm1hcmdpbiksc2U9SC5jZWxsSGVpZ2h0UHgsdGU9dGhpcy5wcmV2aWV3V2lkZ2V0cz8/dGhpcy53aWRnZXRzLHplPUE0YSh0ZSxvZSxzZSksT2U9dGhpcy5wcmV2aWV3V2lkZ2V0cz9uZXcgTWFwKHRoaXMucHJldmlld1dpZGdldHMubWFwKHFlPT5bcWUuaWQscWVdKSk6bnVsbDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1jb250YWluZXIiIHN0eWxlPSJoZWlnaHQ6ICR7emV9cHg7Ij4KICAgICAgICAke3RoaXMuc2hvd0dyaWRMaW5lcz90aGlzLnJlbmRlckdyaWRMaW5lcyhILHplKTpudWxsfQogICAgICAgICR7Vi5tYXAocWU9PnRoaXMucmVuZGVyV2lkZ2V0KHFlLEgsb2UsT2UpKX0KICAgICAgICAke3RoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj90aGlzLnJlbmRlclBsYWNlaG9sZGVyKEgsb2UpOm51bGx9CiAgICAgIDwvZGl2PgogICAgYH1yZW5kZXJHcmlkTGluZXMoVixIKXtsZXQgb2U9W10sc2U9W10sdGU9Vi5jZWxsV2lkdGhQeCtWLm1hcmdpbkhvcml6b250YWxQeCx6ZT1WLmNlbGxIZWlnaHRQeCtWLm1hcmdpblZlcnRpY2FsUHg7Zm9yKGxldCBxZT0wO3FlPD10aGlzLmNvbHVtbnM7cWUrKyl7bGV0IGN0PXFlKnRlK1YubWFyZ2luSG9yaXpvbnRhbFB4LCRlPXRoaXMucHhUb1BlcmNlbnQoY3QsVi5jb250YWluZXJXaWR0aCk7b2UucHVzaCh3YDxkaXYgY2xhc3M9ImdyaWQtbGluZS12ZXJ0aWNhbCIgc3R5bGU9ImxlZnQ6ICR7JGV9JTsiPjwvZGl2PmApfWxldCBPZT1NYXRoLmNlaWwoSC96ZSk7Zm9yKGxldCBxZT0wO3FlPD1PZTtxZSsrKXtsZXQgY3Q9cWUqemU7c2UucHVzaCh3YDxkaXYgY2xhc3M9ImdyaWQtbGluZS1ob3Jpem9udGFsIiBzdHlsZT0idG9wOiAke2N0fXB4OyI+PC9kaXY+YCl9cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQtbGluZXMiPgogICAgICAgICR7b2V9CiAgICAgICAgJHtzZX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlcldpZGdldChWLEgsb2Usc2Upe2xldCB0ZT10aGlzLmRyYWdTdGF0ZT8ud2lkZ2V0SWQ9PT1WLmlkLHplPXRoaXMucmVzaXplU3RhdGU/LndpZGdldElkPT09Vi5pZCxPZT1WLmxvY2tlZHx8IXRoaXMuZWRpdGFibGUscWU9c2U/LmdldChWLmlkKT8/bnVsbCxjdD10ZT9WOnFlPz9WLCRlPXRoaXMuY29tcHV0ZVdpZGdldFJlY3QoY3QsSCxvZSksQ2U9dGhpcy5ydGw/InJpZ2h0IjoibGVmdCIsTWU9dGhpcy5weFRvUGVyY2VudCgkZS5sZWZ0LEguY29udGFpbmVyV2lkdGgpLGRlPXRoaXMucHhUb1BlcmNlbnQoJGUud2lkdGgsSC5jb250YWluZXJXaWR0aCksdmU9IiI7aWYodGUmJnRoaXMuZHJhZ1N0YXRlPy5jdXJyZW50UG9pbnRlcil7bGV0IEFlPXRoaXMuZHJhZ1N0YXRlLmN1cnJlbnRQb2ludGVyLEtlPXRoaXMuY29udGFpbmVyQm91bmRzPz90aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG50PUFlLmNsaWVudFgtS2UubGVmdC10aGlzLmRyYWdTdGF0ZS5vZmZzZXRYLSRlLmxlZnQsU3Q9QWUuY2xpZW50WS1LZS50b3AtdGhpcy5kcmFnU3RhdGUub2Zmc2V0WS0kZS50b3A7dmU9YHRyYW5zZm9ybTogdHJhbnNsYXRlKCR7bnR9cHgsICR7U3R9cHgpO2B9cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0iZ3JpZC13aWRnZXQgJHt0ZT8iZHJhZ2dpbmciOiIifSAke3plPyJyZXNpemluZyI6IiJ9IgogICAgICAgIHN0eWxlPSIKICAgICAgICAgICR7Q2V9OiAke01lfSU7CiAgICAgICAgICB0b3A6ICR7JGUudG9wfXB4OwogICAgICAgICAgd2lkdGg6ICR7ZGV9JTsKICAgICAgICAgIGhlaWdodDogJHskZS5oZWlnaHR9cHg7CiAgICAgICAgICAke3ZlfQogICAgICAgICIKICAgICAgICBkYXRhLXdpZGdldC1pZD0ke1YuaWR9CiAgICAgID4KICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQtY29udGVudCI+CiAgICAgICAgICAke1YudGl0bGU/d2AKICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgY2xhc3M9IndpZGdldC1oZWFkZXIgJHtPZT8ibG9ja2VkIjoiIn0iCiAgICAgICAgICAgICAgICAgIEBwb2ludGVyZG93bj0keyFPZSYmIVYubm9Nb3ZlP0FlPT50aGlzLnN0YXJ0RHJhZyhBZSxWKTpudWxsfQogICAgICAgICAgICAgICAgICBAY29udGV4dG1lbnU9JHtBZT0+dGhpcy5oYW5kbGVXaWRnZXRDb250ZXh0TWVudShBZSxWKX0KICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9JHshT2UmJiFWLm5vTW92ZT8wOi0xfQogICAgICAgICAgICAgICAgICBAa2V5ZG93bj0ke0FlPT50aGlzLmhhbmRsZUhlYWRlcktleWRvd24oQWUsVil9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICR7Vi5pY29uP3dgPGRlZXMtaWNvbiAuaWNvbj0ke1YuaWNvbn0+PC9kZWVzLWljb24+YDpudWxsfQogICAgICAgICAgICAgICAgICAke1YudGl0bGV9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOm51bGx9CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQtYm9keSAke1YudGl0bGU/Imhhcy1oZWFkZXIiOiIifSI+CiAgICAgICAgICAgICR7Vi5jb250ZW50fQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAkeyFPZSYmIVYubm9SZXNpemU/d2AKICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgY2xhc3M9InJlc2l6ZS1oYW5kbGUgcmVzaXplLWhhbmRsZS1lIgogICAgICAgICAgICAgICAgICBAcG9pbnRlcmRvd249JHtBZT0+dGhpcy5zdGFydFJlc2l6ZShBZSxWLCJlIil9CiAgICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJyZXNpemUtaGFuZGxlIHJlc2l6ZS1oYW5kbGUtcyIKICAgICAgICAgICAgICAgICAgQHBvaW50ZXJkb3duPSR7QWU9PnRoaXMuc3RhcnRSZXNpemUoQWUsViwicyIpfQogICAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICBjbGFzcz0icmVzaXplLWhhbmRsZSByZXNpemUtaGFuZGxlLXNlIgogICAgICAgICAgICAgICAgICBAcG9pbnRlcmRvd249JHtBZT0+dGhpcy5zdGFydFJlc2l6ZShBZSxWLCJzZSIpfQogICAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICAgIGA6bnVsbH0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclBsYWNlaG9sZGVyKFYsSCl7aWYoIXRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbilyZXR1cm4gd2BgO2xldCBvZT10aGlzLmNvbXB1dGVXaWRnZXRSZWN0KHRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbixWLEgpLHNlPXRoaXMucnRsPyJyaWdodCI6ImxlZnQiLHRlPXRoaXMucHhUb1BlcmNlbnQob2UubGVmdCxWLmNvbnRhaW5lcldpZHRoKSx6ZT10aGlzLnB4VG9QZXJjZW50KG9lLndpZHRoLFYuY29udGFpbmVyV2lkdGgpO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9ImdyaWQtd2lkZ2V0IHBsYWNlaG9sZGVyIgogICAgICAgIHN0eWxlPSIKICAgICAgICAgICR7c2V9OiAke3RlfSU7CiAgICAgICAgICB0b3A6ICR7b2UudG9wfXB4OwogICAgICAgICAgd2lkdGg6ICR7emV9JTsKICAgICAgICAgIGhlaWdodDogJHtvZS5oZWlnaHR9cHg7CiAgICAgICAgIgogICAgICA+CiAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0LWNvbnRlbnQiPjwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9c3RhcnREcmFnKFYsSCl7aWYoIXRoaXMuZWRpdGFibGV8fEgubm9Nb3ZlfHxILmxvY2tlZClyZXR1cm47Vi5wcmV2ZW50RGVmYXVsdCgpLFYuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IG9lPVYuY3VycmVudFRhcmdldC5jbG9zZXN0KCIuZ3JpZC13aWRnZXQiKTtpZighb2UpcmV0dXJuO2xldCBzZT1vZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLmNvbnRhaW5lckJvdW5kcz10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHRoaXMuZW5zdXJlTWV0cmljcygpLHRoaXMuZHJhZ1N0YXRlPXt3aWRnZXRJZDpILmlkLHBvaW50ZXJJZDpWLnBvaW50ZXJJZCxvZmZzZXRYOlYuY2xpZW50WC1zZS5sZWZ0LG9mZnNldFk6Vi5jbGllbnRZLXNlLnRvcCxzdGFydDp7aWQ6SC5pZCx4OkgueCx5OkgueSx3OkgudyxoOkguaH0scHJldmlvdXNQb3NpdGlvbjp7aWQ6SC5pZCx4OkgueCx5OkgueSx3OkgudyxoOkguaH0sY3VycmVudFBvaW50ZXI6e2NsaWVudFg6Vi5jbGllbnRYLGNsaWVudFk6Vi5jbGllbnRZfSxsYXN0UGxhY2VtZW50Om51bGx9LHRoaXMuaW50ZXJhY3Rpb25BY3RpdmU9ITAsVi5jdXJyZW50VGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKFYucG9pbnRlcklkKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdGhpcy5oYW5kbGVEcmFnTW92ZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicG9pbnRlcnVwIix0aGlzLmhhbmRsZURyYWdFbmQpLHRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj17aWQ6SC5pZCx4OkgueCx5OkgueSx3OkgudyxoOkguaH19aGFuZGxlRHJhZ01vdmU9cyhWPT57aWYoIXRoaXMuZHJhZ1N0YXRlKXJldHVybjtsZXQgSD10aGlzLmVuc3VyZU1ldHJpY3MoKSxvZT10aGlzLndpZGdldHMsc2U9b2UuZmluZChxZT0+cWUuaWQ9PT10aGlzLmRyYWdTdGF0ZS53aWRnZXRJZCk7aWYoIXNlKXJldHVybjtWLnByZXZlbnREZWZhdWx0KCk7bGV0IHRlPXRoaXMuZHJhZ1N0YXRlLnByZXZpb3VzUG9zaXRpb24semU9TjRhKHtwb2ludGVyOntjbGllbnRYOlYuY2xpZW50WCxjbGllbnRZOlYuY2xpZW50WX0sY29udGFpbmVyUmVjdDp0aGlzLmNvbnRhaW5lckJvdW5kcz8/dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxtZXRyaWNzOkgsY29sdW1uczp0aGlzLmNvbHVtbnMsd2lkZ2V0OnNlLHJ0bDp0aGlzLnJ0bCxkcmFnT2Zmc2V0WDp0aGlzLmRyYWdTdGF0ZS5vZmZzZXRYLGRyYWdPZmZzZXRZOnRoaXMuZHJhZ1N0YXRlLm9mZnNldFl9KSxPZT1GNChvZSxzZS5pZCx7eDp6ZS54LHk6emUueX0sdGhpcy5jb2x1bW5zLHRlKTtpZihPZSl7bGV0IHFlPU9lLndpZGdldHMuZmluZCgkZT0+JGUuaWQ9PT1zZS5pZCk7dGhpcy5kcmFnU3RhdGU9ey4uLnRoaXMuZHJhZ1N0YXRlLGN1cnJlbnRQb2ludGVyOntjbGllbnRYOlYuY2xpZW50WCxjbGllbnRZOlYuY2xpZW50WX0sbGFzdFBsYWNlbWVudDpPZSxwcmV2aW91c1Bvc2l0aW9uOnFlP3tpZDpxZS5pZCx4OnFlLngseTpxZS55LHc6cWUudyxoOnFlLmh9OntpZDpzZS5pZCx4OnplLngseTp6ZS55LHc6c2UudyxoOnNlLmh9fSx0aGlzLnByZXZpZXdXaWRnZXRzPU9lLndpZGdldHM7bGV0IGN0PU9lLndpZGdldHMuZmluZCgkZT0+JGUuaWQ9PT1zZS5pZCk7Y3Q/dGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPXtpZDpjdC5pZCx4OmN0LngseTpjdC55LHc6Y3QudyxoOmN0Lmh9OnRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj17aWQ6c2UuaWQseDp6ZS54LHk6emUueSx3OnNlLncsaDpzZS5ofX1lbHNlIHRoaXMucHJldmlld1dpZGdldHM9bnVsbCx0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249bnVsbDt0aGlzLnJlcXVlc3RVcGRhdGUoKX0sImhhbmRsZURyYWdNb3ZlIik7aGFuZGxlRHJhZ0VuZD1zKFY9PntsZXQgSD10aGlzLmRyYWdTdGF0ZTtpZighSHx8Vi5wb2ludGVySWQhPT1ILnBvaW50ZXJJZClyZXR1cm47bGV0IG9lPXRoaXMud2lkZ2V0czt0aGlzLnByZXZpZXdXaWRnZXRzPW51bGw7bGV0IHNlPXRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj8/SC5zdGFydCx0ZT1GNChvZSxILndpZGdldElkLHt4OnNlLngseTpzZS55fSx0aGlzLmNvbHVtbnMsSC5wcmV2aW91c1Bvc2l0aW9uKTtpZih0ZSl7bGV0IHplPXRlLndpZGdldHMuZmluZChPZT0+T2UuaWQ9PT1ILndpZGdldElkKTt6ZSYmKHRlLndpZGdldHMuc29tZShxZT0+cWUuaWQ9PT1ILndpZGdldElkPyExOnplLng8cWUueCtxZS53JiZ6ZS54K3plLnc+cWUueCYmemUueTxxZS55K3FlLmgmJnplLnkremUuaD5xZS55KT90aGlzLndpZGdldHM9dGhpcy53aWRnZXRzLm1hcChxZT0+cWUuaWQ9PT1ILndpZGdldElkP3suLi5xZSx4Okguc3RhcnQueCx5Okguc3RhcnQueX06cWUpOnRoaXMuY29tbWl0UGxhY2VtZW50KHRlLEgud2lkZ2V0SWQsIndpZGdldC1tb3ZlIikpfWVsc2UgdGhpcy53aWRnZXRzPXRoaXMud2lkZ2V0cy5tYXAoemU9PnplLmlkPT09SC53aWRnZXRJZD97Li4uemUseDpILnN0YXJ0LngseTpILnN0YXJ0Lnl9OnplKTt0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249bnVsbCx0aGlzLmRyYWdTdGF0ZT1udWxsLHRoaXMuaW50ZXJhY3Rpb25BY3RpdmU9ITEsdGhpcy5yZWxlYXNlUG9pbnRlckV2ZW50cygpfSwiaGFuZGxlRHJhZ0VuZCIpO3N0YXJ0UmVzaXplKFYsSCxvZSl7IXRoaXMuZWRpdGFibGV8fEgubm9SZXNpemV8fEgubG9ja2VkfHwoVi5wcmV2ZW50RGVmYXVsdCgpLFYuc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5lbnN1cmVNZXRyaWNzKCksdGhpcy5yZXNpemVTdGF0ZT17d2lkZ2V0SWQ6SC5pZCxwb2ludGVySWQ6Vi5wb2ludGVySWQsaGFuZGxlcjpvZSxzdGFydFBvaW50ZXI6e2NsaWVudFg6Vi5jbGllbnRYLGNsaWVudFk6Vi5jbGllbnRZfSxzdGFydDp7aWQ6SC5pZCx4OkgueCx5OkgueSx3OkgudyxoOkguaH0sc3RhcnRXaWR0aDpILncsc3RhcnRIZWlnaHQ6SC5oLGxhc3RQbGFjZW1lbnQ6bnVsbH0sdGhpcy5pbnRlcmFjdGlvbkFjdGl2ZT0hMCxWLmN1cnJlbnRUYXJnZXQuc2V0UG9pbnRlckNhcHR1cmUoVi5wb2ludGVySWQpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJtb3ZlIix0aGlzLmhhbmRsZVJlc2l6ZU1vdmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsdGhpcy5oYW5kbGVSZXNpemVFbmQpLHRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj17aWQ6SC5pZCx4OkgueCx5OkgueSx3OkgudyxoOkguaH0pfWhhbmRsZVJlc2l6ZU1vdmU9cyhWPT57aWYoIXRoaXMucmVzaXplU3RhdGUpcmV0dXJuO2xldCBIPXRoaXMuZW5zdXJlTWV0cmljcygpLG9lPXRoaXMud2lkZ2V0cyxzZT1vZS5maW5kKE9lPT5PZS5pZD09PXRoaXMucmVzaXplU3RhdGUud2lkZ2V0SWQpO2lmKCFzZSlyZXR1cm47Vi5wcmV2ZW50RGVmYXVsdCgpO2xldCB0ZT1SNGEoe3BvaW50ZXI6e2NsaWVudFg6Vi5jbGllbnRYLGNsaWVudFk6Vi5jbGllbnRZfSxjb250YWluZXJSZWN0OnRoaXMuY29udGFpbmVyQm91bmRzPz90aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG1ldHJpY3M6SCxzdGFydFdpZHRoOnRoaXMucmVzaXplU3RhdGUuc3RhcnRXaWR0aCxzdGFydEhlaWdodDp0aGlzLnJlc2l6ZVN0YXRlLnN0YXJ0SGVpZ2h0LHN0YXJ0UG9pbnRlcjp0aGlzLnJlc2l6ZVN0YXRlLnN0YXJ0UG9pbnRlcixoYW5kbGVyOnRoaXMucmVzaXplU3RhdGUuaGFuZGxlcix3aWRnZXQ6c2UsY29sdW1uczp0aGlzLmNvbHVtbnN9KSx6ZT1GNChvZSxzZS5pZCx7eDpzZS54LHk6c2UueSx3OnRlLndpZHRoLGg6dGUuaGVpZ2h0fSx0aGlzLmNvbHVtbnMsdGhpcy5yZXNpemVTdGF0ZS5zdGFydCk7aWYoemUpe3RoaXMucmVzaXplU3RhdGU9ey4uLnRoaXMucmVzaXplU3RhdGUsbGFzdFBsYWNlbWVudDp6ZX0sdGhpcy5wcmV2aWV3V2lkZ2V0cz16ZS53aWRnZXRzO2xldCBPZT16ZS53aWRnZXRzLmZpbmQocWU9PnFlLmlkPT09c2UuaWQpO09lP3RoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj17aWQ6T2UuaWQseDpPZS54LHk6T2UueSx3Ok9lLncsaDpPZS5ofTp0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249e2lkOnNlLmlkLHg6c2UueCx5OnNlLnksdzp0ZS53aWR0aCxoOnRlLmhlaWdodH19ZWxzZSB0aGlzLnByZXZpZXdXaWRnZXRzPW51bGwsdGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPW51bGw7dGhpcy5yZXF1ZXN0VXBkYXRlKCl9LCJoYW5kbGVSZXNpemVNb3ZlIik7aGFuZGxlUmVzaXplRW5kPXMoVj0+e2xldCBIPXRoaXMucmVzaXplU3RhdGU7aWYoIUh8fFYucG9pbnRlcklkIT09SC5wb2ludGVySWQpcmV0dXJuO2xldCBvZT10aGlzLndpZGdldHM7dGhpcy5wcmV2aWV3V2lkZ2V0cz1udWxsO2xldCBzZT1ILmxhc3RQbGFjZW1lbnQ/P0Y0KG9lLEgud2lkZ2V0SWQse3g6dGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPy54Pz9ILnN0YXJ0LngseTp0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb24/Lnk/P0guc3RhcnQueSx3OnRoaXMucGxhY2Vob2xkZXJQb3NpdGlvbj8udz8/SC5zdGFydC53LGg6dGhpcy5wbGFjZWhvbGRlclBvc2l0aW9uPy5oPz9ILnN0YXJ0Lmh9LHRoaXMuY29sdW1ucyxILnN0YXJ0KTtzZT90aGlzLmNvbW1pdFBsYWNlbWVudChzZSxILndpZGdldElkLCJ3aWRnZXQtcmVzaXplIik6dGhpcy53aWRnZXRzPXRoaXMud2lkZ2V0cy5tYXAodGU9PnRlLmlkPT09SC53aWRnZXRJZD97Li4udGUsdzpILnN0YXJ0LncsaDpILnN0YXJ0Lmh9OnRlKSx0aGlzLnBsYWNlaG9sZGVyUG9zaXRpb249bnVsbCx0aGlzLnJlc2l6ZVN0YXRlPW51bGwsdGhpcy5pbnRlcmFjdGlvbkFjdGl2ZT0hMSx0aGlzLnJlbGVhc2VQb2ludGVyRXZlbnRzKCl9LCJoYW5kbGVSZXNpemVFbmQiKTtoYW5kbGVIZWFkZXJLZXlkb3duKFYsSCl7aWYoIXRoaXMuZWRpdGFibGV8fEgubm9Nb3ZlfHxILmxvY2tlZClyZXR1cm47bGV0IG9lPVYua2V5LHNlPVYuc2hpZnRLZXksdGU9bnVsbDtpZihzZSYmWyJBcnJvd0xlZnQiLCJBcnJvd1JpZ2h0IiwiQXJyb3dVcCIsIkFycm93RG93biJdLmluY2x1ZGVzKG9lKSl7Vi5wcmV2ZW50RGVmYXVsdCgpO2xldCAkZT1vZT09PSJBcnJvd1JpZ2h0Inx8b2U9PT0iQXJyb3dEb3duIj8xOi0xO2lmKG9lPT09IkFycm93TGVmdCJ8fG9lPT09IkFycm93UmlnaHQiKXtsZXQgQ2U9SC5tYXhXPz90aGlzLmNvbHVtbnMtSC54LE1lPU1hdGgubWF4KEgubWluVz8/MSxNYXRoLm1pbihDZSxILncrJGUpKTt0ZT1GNCh0aGlzLndpZGdldHMsSC5pZCx7eDpILngseTpILnksdzpNZSxoOkguaH0sdGhpcy5jb2x1bW5zKX1lbHNle2xldCBDZT1ILm1heEg/P051bWJlci5QT1NJVElWRV9JTkZJTklUWSxNZT1NYXRoLm1heChILm1pbkg/PzEsTWF0aC5taW4oQ2UsSC5oKyRlKSk7dGU9RjQodGhpcy53aWRnZXRzLEguaWQse3g6SC54LHk6SC55LHc6SC53LGg6TWV9LHRoaXMuY29sdW1ucyl9dGUmJnRoaXMuY29tbWl0UGxhY2VtZW50KHRlLEguaWQsIndpZGdldC1yZXNpemUiKTtyZXR1cm59bGV0IE9lPXtBcnJvd0xlZnQ6e2R4Oi0xLGR5OjB9LEFycm93UmlnaHQ6e2R4OjEsZHk6MH0sQXJyb3dVcDp7ZHg6MCxkeTotMX0sQXJyb3dEb3duOntkeDowLGR5OjF9fVtvZV07aWYoIU9lKXJldHVybjtWLnByZXZlbnREZWZhdWx0KCk7bGV0IHFlPU1hdGgubWF4KDAsTWF0aC5taW4odGhpcy5jb2x1bW5zLUgudyxILngrT2UuZHgpKSxjdD1NYXRoLm1heCgwLEgueStPZS5keSk7dGU9RjQodGhpcy53aWRnZXRzLEguaWQse3g6cWUseTpjdH0sdGhpcy5jb2x1bW5zKSx0ZSYmdGhpcy5jb21taXRQbGFjZW1lbnQodGUsSC5pZCwid2lkZ2V0LW1vdmUiKX1oYW5kbGVXaWRnZXRDb250ZXh0TWVudShWLEgpe1YucHJldmVudERlZmF1bHQoKSxWLnN0b3BQcm9wYWdhdGlvbigpLEY0YSh7d2lkZ2V0OkgsaG9zdDp0aGlzLGV2ZW50OlZ9KX1jb21taXRQbGFjZW1lbnQoVixILG9lKXt0aGlzLnByZXZpZXdXaWRnZXRzPW51bGwsdGhpcy53aWRnZXRzPVYud2lkZ2V0cztsZXQgc2U9dGhpcy53aWRnZXRzLmZpbmQodGU9PnRlLmlkPT09SCk7c2UmJnRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQob2Use2RldGFpbDp7d2lkZ2V0OnNlLGRpc3BsYWNlZDpWLm1vdmVkV2lkZ2V0cy5maWx0ZXIodGU9PnRlIT09SCksc3dhcHBlZFdpdGg6Vi5zd2FwcGVkV2l0aH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1yZW1vdmVXaWRnZXQoVil7bGV0IEg9dGhpcy53aWRnZXRzLmZpbmQob2U9Pm9lLmlkPT09Vik7SCYmKHRoaXMud2lkZ2V0cz10aGlzLndpZGdldHMuZmlsdGVyKG9lPT5vZS5pZCE9PVYpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIndpZGdldC1yZW1vdmUiLHtkZXRhaWw6e3dpZGdldDpIfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX11cGRhdGVXaWRnZXQoVixIKXt0aGlzLndpZGdldHM9dGhpcy53aWRnZXRzLm1hcChvZT0+b2UuaWQ9PT1WP3suLi5vZSwuLi5IfTpvZSl9Z2V0TGF5b3V0KCl7cmV0dXJuIHRoaXMud2lkZ2V0cy5tYXAoKHtpZDpWLHg6SCx5Om9lLHc6c2UsaDp0ZX0pPT4oe2lkOlYseDpILHk6b2UsdzpzZSxoOnRlfSkpfXNldExheW91dChWKXt0aGlzLndpZGdldHM9UDRhKHRoaXMud2lkZ2V0cyxWKX1sb2NrR3JpZCgpe3RoaXMuZWRpdGFibGU9ITF9dW5sb2NrR3JpZCgpe3RoaXMuZWRpdGFibGU9ITB9YWRkV2lkZ2V0KFYsSD0hMSl7bGV0IG9lPXsuLi5WfTtpZihIfHxvZS5hdXRvUG9zaXRpb24pe2xldCBzZT1OUWUodGhpcy53aWRnZXRzLG9lLncsb2UuaCx0aGlzLmNvbHVtbnMpO29lLng9c2UueCxvZS55PXNlLnl9dGhpcy53aWRnZXRzPVsuLi50aGlzLndpZGdldHMsb2VdfWNvbXBhY3QoVj0idmVydGljYWwiKXtsZXQgSD10aGlzLndpZGdldHMubWFwKG9lPT4oey4uLm9lfSkpO0U0YShILFYpLHRoaXMud2lkZ2V0cz1IfWFwcGx5QnJlYWtwb2ludExheW91dChWKXt0aGlzLmFjdGl2ZUJyZWFrcG9pbnQ9VjtsZXQgSD10aGlzLmxheW91dHM/LltWXTtIJiZ0aGlzLnNldExheW91dChIKX1ub3RpZnlMYXlvdXRDaGFuZ2UoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJsYXlvdXQtY2hhbmdlIix7ZGV0YWlsOntsYXlvdXQ6dGhpcy5nZXRMYXlvdXQoKX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1lbnN1cmVNZXRyaWNzKCl7cmV0dXJuIHRoaXMubWV0cmljc3x8dGhpcy5jb21wdXRlTWV0cmljcygpLHRoaXMubWV0cmljc31jb21wdXRlTWV0cmljcygpe2lmKCF0aGlzLmlzQ29ubmVjdGVkKXJldHVybjtsZXQgVj10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3RoaXMuY29udGFpbmVyQm91bmRzPVY7bGV0IEg9SVFlKHRoaXMubWFyZ2luKTt0aGlzLnJlc29sdmVkTWFyZ2lucz1ILHRoaXMubWV0cmljcz1ENGEoVi53aWR0aCx0aGlzLmNvbHVtbnMsSCx0aGlzLmNlbGxIZWlnaHQsdGhpcy5jZWxsSGVpZ2h0VW5pdCl9b2JzZXJ2ZVJlc2l6ZSgpe3RoaXMucmVzaXplT2JzZXJ2ZXJ8fCh0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMuY29tcHV0ZU1ldHJpY3MoKX0pLHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzKSl9ZGlzY29ubmVjdFJlc2l6ZU9ic2VydmVyKCl7dGhpcy5yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9dm9pZCAwfXJlbGVhc2VQb2ludGVyRXZlbnRzKCl7ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigicG9pbnRlcm1vdmUiLHRoaXMuaGFuZGxlRHJhZ01vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoInBvaW50ZXJ1cCIsdGhpcy5oYW5kbGVEcmFnRW5kKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVybW92ZSIsdGhpcy5oYW5kbGVSZXNpemVNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJwb2ludGVydXAiLHRoaXMuaGFuZGxlUmVzaXplRW5kKX1weFRvUGVyY2VudChWLEgpe3JldHVybiBIP051bWJlcigoVi9IKjEwMCkudG9GaXhlZCg0KSk6MH1jb21wdXRlV2lkZ2V0UmVjdChWLEgsb2Upe2xldCBzZT1ILmNlbGxXaWR0aFB4LHRlPUguY2VsbEhlaWdodFB4LHplPVYueCooc2Urb2UuaG9yaXpvbnRhbCkrb2UuaG9yaXpvbnRhbCxPZT1WLnkqKHRlK29lLnZlcnRpY2FsKStvZS52ZXJ0aWNhbCxxZT1WLncqc2UrTWF0aC5tYXgoMCxWLnctMSkqb2UuaG9yaXpvbnRhbCxjdD1WLmgqdGUrTWF0aC5tYXgoMCxWLmgtMSkqb2UudmVydGljYWw7cmV0dXJue2xlZnQ6emUsdG9wOk9lLHdpZHRoOnFlLGhlaWdodDpjdH19c3RhdGlje09hKHIsdCl9fTtyZXR1cm4geWU9cn0pKCl9KTt2YXIgVjRhPWYoKCk9PntxNGEoKX0pO2Z1bmN0aW9uIGo0YSgpe3JldHVybiB3YAogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iMSI+VGhpcyBpcyBhIEgxIGhlYWRpbmc8L2RlZXMtaGVhZGluZz4KICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9IjIiPlRoaXMgaXMgYSBIMiBoZWFkaW5nPC9kZWVzLWhlYWRpbmc+CiAgICA8ZGVlcy1oZWFkaW5nIGxldmVsPSIzIj5UaGlzIGlzIGEgSDMgaGVhZGluZzwvZGVlcy1oZWFkaW5nPgogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iNCI+VGhpcyBpcyBhIEg0IGhlYWRpbmc8L2RlZXMtaGVhZGluZz4KICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9IjUiPlRoaXMgaXMgYSBINSBoZWFkaW5nPC9kZWVzLWhlYWRpbmc+CiAgICA8ZGVlcy1oZWFkaW5nIGxldmVsPSI2Ij5UaGlzIGlzIGEgSDYgaGVhZGluZzwvZGVlcy1oZWFkaW5nPgogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iaHIiPlRoaXMgaXMgYW4gaHIgaGVhZGluZyAobGV2ZWw9ImhyIik8L2RlZXMtaGVhZGluZz4KICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9IjciPlRoaXMgaXMgYW4gaHIgaGVhZGluZyAobGV2ZWw9IjciKTwvZGVlcy1oZWFkaW5nPgogICAgPGRlZXMtaGVhZGluZyBsZXZlbD0iaHItc21hbGwiPlRoaXMgaXMgYW4gaHItc21hbGwgaGVhZGluZyAobGV2ZWw9ImhyLXNtYWxsIik8L2RlZXMtaGVhZGluZz4KICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9IjgiPlRoaXMgaXMgYW4gaHItc21hbGwgaGVhZGluZyAobGV2ZWw9IjgiKTwvZGVlcy1oZWFkaW5nPgogIGB9dmFyIFU0YT1mKCgpPT57bGUoKTtzKGo0YSwiZGVtb0Z1bmMiKX0pO3ZhciBXNGEsUlFlLEc0YSxZNGE9ZigoKT0+e2xlKCk7VTRhKCk7dXMoKTtRZSgpO1c0YT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sUlFlPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxHNGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLWhlYWRpbmciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0hlYWRpbmciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZyxyZWZsZWN0OiEwfSldLFc0YSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxldmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJsZXZlbCJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLmxldmVsLCJnZXQiKSxzZXQ6cygocCx1KT0+e3AubGV2ZWw9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLFc0YShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPWo0YTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCJdOyNlPVJRZSh0aGlzLG4sIjEiKTtnZXQgbGV2ZWwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbGV2ZWwoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC8qIEhlYWRpbmcgc3R5bGVzLgogICAgICAgKiBDb2xvciBoaWVyYXJjaHk6IGgxLWgyIHN0YXkgcHJvbWluZW50IHdpdGggdGV4dC1wcmltYXJ5OyBoMy1oNiBzdGVwCiAgICAgICAqIGRvd24gdG8gdGV4dC1zZWNvbmRhcnkgc28gdGhleSByZWFkIGFzIHN1YmhlYWRpbmdzIGluc3RlYWQgb2YKICAgICAgICogbWluaS1oMXMuIEtlZXBzIHRoZSB2aXN1YWwgbG91ZG5lc3Mgb3V0IG9mIHNtYWxsZXIgaGVhZGluZ3MuICovCiAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgewogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KICAgICAgaDEsIGgyIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CiAgICAgIGgzLCBoNCwgaDUsIGg2IHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC8qIFBlci1sZXZlbCB0eXBvZ3JhcGh5ICsgc3BhY2luZy4KICAgICAgICogTWFyZ2luIHNjYWxlcyB3aXRoIGltcG9ydGFuY2U6IGgxIGdldHMgdGhlIG1vc3QgYnJlYXRoaW5nIHJvb20sCiAgICAgICAqIGg2IHRoZSBsZWFzdC4gVG9wIG1hcmdpbiA+IGJvdHRvbSBtYXJnaW4gc28gaGVhZGluZ3MgZ3JvdXAgd2l0aAogICAgICAgKiB0aGUgY29udGVudCB0aGF0IGZvbGxvd3MgdGhlbS4gKi8KICAgICAgaDEgewogICAgICAgIC8qIGgxIHVzZXMgd2VpZ2h0IDUwMCwgbm90IDYwMDogdGhlIENhbCBTYW5zIGRpc3BsYXkgZm9udCBpcwogICAgICAgICAqIGFscmVhZHkgc3R5bGl6ZWQgZW5vdWdoIHRoYXQgYm9sZCArIG1heCBjb250cmFzdCArIDMycHggc3RhY2tzCiAgICAgICAgICogdG9vIG11Y2ggZW1waGFzaXMuIDUwMCBrZWVwcyB0aGUgdHlwb2dyYXBoaWMgaW1wYWN0IHdpdGhvdXQKICAgICAgICAgKiBzaG91dGluZy4gKi8KICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMzJweDsKICAgICAgICBmb250LWZhbWlseTogJHt0c2F9OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyNWVtOwogICAgICAgIG1hcmdpbjogdmFyKC0tZGVlcy1zcGFjaW5nLTJ4bCkgMCB2YXIoLS1kZWVzLXNwYWNpbmctbGcpOwogICAgICB9CiAgICAgIGgyIHsKICAgICAgICBmb250LXNpemU6IDI4cHg7CiAgICAgICAgbWFyZ2luOiB2YXIoLS1kZWVzLXNwYWNpbmcteGwpIDAgdmFyKC0tZGVlcy1zcGFjaW5nLW1kKTsKICAgICAgfQogICAgICBoMyB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIG1hcmdpbjogdmFyKC0tZGVlcy1zcGFjaW5nLXhsKSAwIHZhcigtLWRlZXMtc3BhY2luZy1tZCk7CiAgICAgIH0KICAgICAgaDQgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBtYXJnaW46IHZhcigtLWRlZXMtc3BhY2luZy1sZykgMCB2YXIoLS1kZWVzLXNwYWNpbmctc20pOwogICAgICB9CiAgICAgIGg1IHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgbWFyZ2luOiB2YXIoLS1kZWVzLXNwYWNpbmctbWQpIDAgdmFyKC0tZGVlcy1zcGFjaW5nLXNtKTsKICAgICAgfQogICAgICBoNiB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIG1hcmdpbjogdmFyKC0tZGVlcy1zcGFjaW5nLW1kKSAwIHZhcigtLWRlZXMtc3BhY2luZy14cyk7CiAgICAgIH0KCiAgICAgIC8qIEhvcml6b250YWwgcnVsZSBzdHlsZSBoZWFkaW5nICovCiAgICAgIC5oZWFkaW5nLWhyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIG1hcmdpbjogdmFyKC0tZGVlcy1zcGFjaW5nLWxnKSAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CiAgICAgIC8qIEZhZGUgbGluZXMgdG93YXJkIGFuZCBhd2F5IGZyb20gdGV4dCBmb3IgaHIgc3R5bGUgKi8KICAgICAgLmhlYWRpbmctaHI6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgZmxleDogMTsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHRyYW5zcGFyZW50LCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpKTsKICAgICAgICBtYXJnaW46IDAgdmFyKC0tZGVlcy1zcGFjaW5nLXNtKTsKICAgICAgfQogICAgICAuaGVhZGluZy1ocjo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpLCB0cmFuc3BhcmVudCk7CiAgICAgICAgbWFyZ2luOiAwIHZhcigtLWRlZXMtc3BhY2luZy1zbSk7CiAgICAgIH0KICAgICAgLyogU21hbGwgaHIgdmFyaWFudCB3aXRoIHJlZHVjZWQgbWFyZ2lucyAqLwogICAgICAuaGVhZGluZy1oci5oZWFkaW5nLWhyLXNtYWxsIHsKICAgICAgICBtYXJnaW46IHZhcigtLWRlZXMtc3BhY2luZy1zbSkgMDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIH0KICAgICAgLmhlYWRpbmctaHIuaGVhZGluZy1oci1zbWFsbDo6YmVmb3JlLAogICAgICAuaGVhZGluZy1oci5oZWFkaW5nLWhyLXNtYWxsOjphZnRlciB7CiAgICAgICAgbWFyZ2luOiAwIHZhcigtLWRlZXMtc3BhY2luZy1zbSk7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3N3aXRjaCh0aGlzLmxldmVsKXtjYXNlIjEiOnJldHVybiB3YDxoMT48c2xvdD48L3Nsb3Q+PC9oMT5gO2Nhc2UiMiI6cmV0dXJuIHdgPGgyPjxzbG90Pjwvc2xvdD48L2gyPmA7Y2FzZSIzIjpyZXR1cm4gd2A8aDM+PHNsb3Q+PC9zbG90PjwvaDM+YDtjYXNlIjQiOnJldHVybiB3YDxoND48c2xvdD48L3Nsb3Q+PC9oND5gO2Nhc2UiNSI6cmV0dXJuIHdgPGg1PjxzbG90Pjwvc2xvdD48L2g1PmA7Y2FzZSI2IjpyZXR1cm4gd2A8aDY+PHNsb3Q+PC9zbG90PjwvaDY+YDtjYXNlIjciOmNhc2UiaHIiOnJldHVybiB3YDxkaXYgY2xhc3M9ImhlYWRpbmctaHIiPjxzbG90Pjwvc2xvdD48L2Rpdj5gO2Nhc2UiOCI6Y2FzZSJoci1zbWFsbCI6cmV0dXJuIHdgPGRpdiBjbGFzcz0iaGVhZGluZy1ociBoZWFkaW5nLWhyLXNtYWxsIj48c2xvdD48L3Nsb3Q+PC9kaXY+YDtkZWZhdWx0OnJldHVybiB3YDxoMT48c2xvdD48L3Nsb3Q+PC9oMT5gfX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksUlFlKHRoaXMsbCl9c3RhdGlje1JRZShyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgSzRhPWYoKCk9PntZNGEoKX0pO3ZhciBaNGE9ZigoKT0+e29tKCl9KTt2YXIgWDRhLFE0YT1mKCgpPT57bGUoKTtYNGE9cygoKT0+d2AKICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDE2cHg7Ij4KICAgIDwhLS0gU21hbGwgc2V0IG9mIHBhZ2VzIC0tPgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA0cHg7Ij4KICAgICAgPHNwYW4+NSBwYWdlcywgc3RhcnRpbmcgYXQgMTo8L3NwYW4+CiAgICAgIDxkZWVzLXBhZ2luYXRpb24KICAgICAgICAudG90YWw9JHs1fQogICAgICAgIC5wYWdlPSR7MX0KICAgICAgICBAcGFnZS1jaGFuZ2U9JHthPT5jb25zb2xlLmxvZygiUGFnZSBjaGFuZ2VkIHRvIixhLmRldGFpbC5wYWdlKX0KICAgICAgPjwvZGVlcy1wYWdpbmF0aW9uPgogICAgPC9kaXY+CgogICAgPCEtLSBMYXJnZXIgc2V0IG9mIHBhZ2VzIC0tPgogICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgZ2FwOiA0cHg7Ij4KICAgICAgPHNwYW4+MTUgcGFnZXMsIHN0YXJ0aW5nIGF0IDg6PC9zcGFuPgogICAgICA8ZGVlcy1wYWdpbmF0aW9uCiAgICAgICAgLnRvdGFsPSR7MTV9CiAgICAgICAgLnBhZ2U9JHs4fQogICAgICAgIEBwYWdlLWNoYW5nZT0ke2E9PmNvbnNvbGUubG9nKCJQYWdlIGNoYW5nZWQgdG8iLGEuZGV0YWlsLnBhZ2UpfQogICAgICA+PC9kZWVzLXBhZ2luYXRpb24+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBPUWUsckcsSjRhLGUzYT1mKCgpPT57bGUoKTtRNGEoKTtRZSgpO09RZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sckc9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEo0YT0oKCk9PntsZXQgYT1baWUoImRlZXMtcGFnaW5hdGlvbiIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzUGFnaW5hdGlvbiIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6TnVtYmVyLHJlZmxlY3Q6ITB9KV0sZD1bJCh7dHlwZTpOdW1iZXIscmVmbGVjdDohMH0pXSxPUWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJwYWdlImluIHYsImhhcyIpLGdldDpzKHY9PnYucGFnZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnBhZ2U9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLE9RZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRvdGFsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJ0b3RhbCJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LnRvdGFsLCJnZXQiKSxzZXQ6cygodix4KT0+e3YudG90YWw9eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLE9RZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPVg0YTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCJdOyNlPXJHKHRoaXMsbiwxKTtnZXQgcGFnZSgpe3JldHVybiB0aGlzLiNlfXNldCBwYWdlKG0pe3RoaXMuI2U9bX0jdD0ockcodGhpcyxsKSxyRyh0aGlzLGMsMSkpO2dldCB0b3RhbCgpe3JldHVybiB0aGlzLiN0fXNldCB0b3RhbChtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CiAgICAgIGJ1dHRvbiB7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgbWFyZ2luOiAwIDJweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTBweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzMzMyIsIiNjY2MiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yczsKICAgICAgfQogICAgICBidXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWVlIiwiIzQ0NCIpfTsKICAgICAgfQogICAgICBidXR0b246ZGlzYWJsZWQgewogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhYWEiLCIjNjY2Iil9OwogICAgICB9CiAgICAgIGJ1dHRvbi5jdXJyZW50IHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMDA1MGI5OwogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgfQogICAgICBzcGFuLmVsbGlwc2lzIHsKICAgICAgICBtYXJnaW46IDAgNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzMzMyIsIiNjY2MiKX07CiAgICAgIH0KICAgIGBdO2dldCBwYWdlcygpe2xldCBtPVtdLHY9dGhpcy50b3RhbCx4PXRoaXMucGFnZTtpZih2PD03KWZvcihsZXQgYj0xO2I8PXY7YisrKW0ucHVzaChiKTtlbHNle20ucHVzaCgxKSx4PjQmJm0ucHVzaCgiLi4uIik7bGV0IGI9TWF0aC5tYXgoMix4LTIpLGc9TWF0aC5taW4odi0xLHgrMik7Zm9yKGxldCB5PWI7eTw9Zzt5KyspbS5wdXNoKHkpO3g8di0zJiZtLnB1c2goIi4uLiIpLG0ucHVzaCh2KX1yZXR1cm4gbX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGJ1dHRvbgogICAgICAgIEBjbGljaz0keygpPT50aGlzLmNoYW5nZVBhZ2UodGhpcy5wYWdlLTEpfQogICAgICAgID9kaXNhYmxlZD0ke3RoaXMucGFnZTw9MX0KICAgICAgICBhcmlhLWxhYmVsPSJQcmV2aW91cyBwYWdlIgogICAgICA+CiAgICAgICAg4oC5CiAgICAgIDwvYnV0dG9uPgogICAgICAke3RoaXMucGFnZXMubWFwKG09Pm09PT0iLi4uIj93YDxzcGFuIGNsYXNzPSJlbGxpcHNpcyI+4oCmPC9zcGFuPmA6d2AKICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0iJHttPT09dGhpcy5wYWdlPyJjdXJyZW50IjoiIn0iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5jaGFuZ2VQYWdlKG0pfQogICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7bT09PXRoaXMucGFnZX0KICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9IlBhZ2UgJHttfSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAke219CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICA8YnV0dG9uCiAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuY2hhbmdlUGFnZSh0aGlzLnBhZ2UrMSl9CiAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5wYWdlPj10aGlzLnRvdGFsfQogICAgICAgIGFyaWEtbGFiZWw9Ik5leHQgcGFnZSIKICAgICAgPgogICAgICAgIOKAugogICAgICA8L2J1dHRvbj4KICAgIGB9Y2hhbmdlUGFnZShtKXttPDF8fG0+dGhpcy50b3RhbHx8bT09PXRoaXMucGFnZXx8KHRoaXMucGFnZT1tLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInBhZ2UtY2hhbmdlIix7ZGV0YWlsOntwYWdlOnRoaXMucGFnZX0sYnViYmxlczohMH0pKSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHJHKHRoaXMscCl9c3RhdGlje3JHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciB0M2E9ZigoKT0+e2UzYSgpfSk7dmFyIGEzYT1mKCgpPT57VXMoKX0pO3ZhciByM2EsczNhPWYoKCk9PntsZSgpO0ZRZSgpO3IzYT1zKCgpPT57bGV0IGE9W3trZXk6ImVtYWlsIixsYWJlbDoiQWNjb3VudCBlbWFpbCIsdmFsdWU6ImFkbWluQGV4YW1wbGUuY29tIn0se2tleToic3RhdHVzIixsYWJlbDoiU3RhdHVzIix2YWx1ZToiZW5hYmxlZCJ9LHtrZXk6Im1vZGUiLGxhYmVsOiJNb2RlIix2YWx1ZToicHJvZHVjdGlvbiJ9LHtrZXk6ImF1dG9SZW5ldyIsbGFiZWw6IkF1dG8tcmVuZXciLHZhbHVlOiJvbiJ9LHtrZXk6InRocmVzaG9sZCIsbGFiZWw6IlJlbmV3YWwgdGhyZXNob2xkIix2YWx1ZToiMzAgZGF5cyJ9XSxlPVt7bmFtZToiRWRpdCIsYWN0aW9uOnMoKCk9PmNvbnNvbGUubG9nKCJFZGl0IGNsaWNrZWQiKSwiYWN0aW9uIil9XSx0PVt7bmFtZToiQ29uZmlndXJlIixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkNvbmZpZ3VyZSBjbGlja2VkIiksImFjdGlvbiIpfV0scj1be25hbWU6IlJlc2V0IixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIlJlc2V0IGNsaWNrZWQiKSwiYWN0aW9uIil9LHtuYW1lOiJFZGl0IixhY3Rpb246cygoKT0+Y29uc29sZS5sb2coIkVkaXQgY2xpY2tlZCIpLCJhY3Rpb24iKX1dO3JldHVybiB3YAogICAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICAgIDxzdHlsZT4KICAgICAgICAke1FgCiAgICAgICAgICAuZGVtb0JveCB7CiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NSUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7CiAgICAgICAgICB9CiAgICAgICAgYH0KICAgICAgPC9zdHlsZT4KICAgICAgPGRpdiBjbGFzcz0iZGVtb0JveCI+CiAgICAgICAgPGRlZXMtc2V0dGluZ3MKICAgICAgICAgIC5oZWFkaW5nPSR7IkFDTUUgU2V0dGluZ3MifQogICAgICAgICAgLnNldHRpbmdzRmllbGRzPSR7YX0KICAgICAgICAgIC5hY3Rpb25zPSR7ZX0KICAgICAgICA+PC9kZWVzLXNldHRpbmdzPgoKICAgICAgICA8ZGVlcy1zZXR0aW5ncwogICAgICAgICAgLmhlYWRpbmc9JHsiQUNNRSBTZXR0aW5ncyJ9CiAgICAgICAgICAuZGVzY3JpcHRpb249JHsiTm8gQUNNRSBjb25maWd1cmF0aW9uIHlldC4gQ2xpY2sgQ29uZmlndXJlIHRvIHNldCB1cCBhdXRvbWF0ZWQgVExTIGNlcnRpZmljYXRlIGlzc3VhbmNlLiJ9CiAgICAgICAgICAuYWN0aW9ucz0ke3R9CiAgICAgICAgPjwvZGVlcy1zZXR0aW5ncz4KCiAgICAgICAgPGRlZXMtc2V0dGluZ3MKICAgICAgICAgIC5oZWFkaW5nPSR7IlNlcnZlciBDb25maWcifQogICAgICAgICAgLnNldHRpbmdzRmllbGRzPSR7W3trZXk6Imhvc3QiLGxhYmVsOiJIb3N0bmFtZSIsdmFsdWU6InByb3h5LmV4YW1wbGUuY29tIn0se2tleToicG9ydCIsbGFiZWw6IlBvcnQiLHZhbHVlOiI0NDMifV19CiAgICAgICAgICAuYWN0aW9ucz0ke3J9CiAgICAgICAgPjwvZGVlcy1zZXR0aW5ncz4KICAgICAgPC9kaXY+CiAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgYH0sImRlbW9GdW5jIil9KTt2YXIgc0csUGMsaTNhLEZRZT1mKCgpPT57bGUoKTtzM2EoKTt1cygpO1FlKCk7S3IoKTtzRz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sUGM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGkzYT0oKCk9PntsZXQgYT1baWUoImRlZXMtc2V0dGluZ3MiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXTt2YXIgeT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1NldHRpbmdzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGs9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7YXR0cmlidXRlOiExfSldLHg9WyQoe2F0dHJpYnV0ZTohMX0pXSxzRyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImhlYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImhlYWRpbmciaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5oZWFkaW5nLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuaGVhZGluZz1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG4sbCksc0codGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkZXNjcmlwdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iZGVzY3JpcHRpb24iaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5kZXNjcmlwdGlvbiwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmRlc2NyaXB0aW9uPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYyxwKSxzRyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNldHRpbmdzRmllbGRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJzZXR0aW5nc0ZpZWxkcyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnNldHRpbmdzRmllbGRzLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0Muc2V0dGluZ3NGaWVsZHM9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxtLHYpLHNHKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iYWN0aW9ucyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmFjdGlvbnMsImdldCIpLHNldDpzKChDLE4pPT57Qy5hY3Rpb25zPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYixnKSxzRyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTprfSxudWxsLHQpLHk9cj1lLnZhbHVlLGsmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6a30pfXN0YXRpYyBkZW1vPXIzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkxheW91dCJdOyNlPVBjKHRoaXMsbiwiIik7Z2V0IGhlYWRpbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaGVhZGluZyhrKXt0aGlzLiNlPWt9I3Q9KFBjKHRoaXMsbCksUGModGhpcyxjLCIiKSk7Z2V0IGRlc2NyaXB0aW9uKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGRlc2NyaXB0aW9uKGspe3RoaXMuI3Q9a30jYT0oUGModGhpcyxwKSxQYyh0aGlzLG0sW10pKTtnZXQgc2V0dGluZ3NGaWVsZHMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2V0dGluZ3NGaWVsZHMoayl7dGhpcy4jYT1rfSNyPShQYyh0aGlzLHYpLFBjKHRoaXMsYixbXSkpO2dldCBhY3Rpb25zKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGFjdGlvbnMoayl7dGhpcy4jcj1rfXN0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgZm9udC1mYW1pbHk6ICR7cGF9OwogICAgICB9CgogICAgICAuc2V0dGluZ3NHcmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMTgwcHgsIDFmcikpOwogICAgICAgIGdhcDogMTJweCAyNHB4OwogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zZXR0aW5nc0ZpZWxkIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAycHg7CiAgICAgIH0KCiAgICAgIC5maWVsZExhYmVsIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wM2VtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CgogICAgICAuZmllbGRWYWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC5zZXR0aW5nc0Rlc2NyaXB0aW9uIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS41OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDA7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5MiUpIiwiaHNsKDAgMCUgMTMlKSIpfTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDgpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTAlKSIsImhzbCgyMTMuMSA5My45JSA3NSUpIil9OwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uLnByaW1hcnk6YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xNSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjE1KSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IGs9dGhpcy5zZXR0aW5nc0ZpZWxkcy5sZW5ndGg+MCxDPXRoaXMuYWN0aW9ucy5sZW5ndGg+MDtyZXR1cm4gd2AKICAgICAgPGRlZXMtdGlsZSAuaGVhZGluZz0ke3RoaXMuaGVhZGluZ30+CiAgICAgICAgJHtrP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3NHcmlkIj4KICAgICAgICAgICAgICAgICR7dGhpcy5zZXR0aW5nc0ZpZWxkcy5tYXAoTj0+d2AKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5nc0ZpZWxkIj4KICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZExhYmVsIj4ke04ubGFiZWx9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkVmFsdWUiPiR7Ti52YWx1ZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3NEZXNjcmlwdGlvbiI+JHt0aGlzLmRlc2NyaXB0aW9ufTwvZGl2PgogICAgICAgICAgICBgfQogICAgICAgICR7Qz93YAogICAgICAgICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iYm90dG9tQnV0dG9ucyI+CiAgICAgICAgICAgICAgICAke3RoaXMuYWN0aW9ucy5tYXAoKE4sXyk9PndgCiAgICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImJvdHRvbUJ1dHRvbiAke189PT10aGlzLmFjdGlvbnMubGVuZ3RoLTE/InByaW1hcnkiOiIifSIKICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT5OLmFjdGlvbigpfQogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgICR7Ti5uYW1lfQogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxQYyh0aGlzLGcpfXN0YXRpY3tQYyhyLHQpfX07cmV0dXJuIHk9cn0pKCl9KTt2YXIgbzNhPWYoKCk9PntGUWUoKX0pO3ZhciBuM2EsaUcsbDNhLGMzYSxkM2E9ZigoKT0+e2xlKCk7S3NlKCk7bjNhPXMoYXN5bmMoYSxlKT0+bmV3IFByb21pc2UodD0+e2xldCByPSExLGk9cyhsPT57cnx8KHI9ITAsZSYmZS5yZW1vdmVFdmVudExpc3RlbmVyKCJhYm9ydCIsbyksdChsKSl9LCJmaW5pc2giKSxvPXMoKCk9Pnt3aW5kb3cuY2xlYXJUaW1lb3V0KG4pLGkoITEpfSwiaGFuZGxlQWJvcnQiKSxuPXdpbmRvdy5zZXRUaW1lb3V0KCgpPT57aSghMCl9LGEpO2UmJmUuYWRkRXZlbnRMaXN0ZW5lcigiYWJvcnQiLG8se29uY2U6ITB9KX0pLCJ3YWl0Rm9yUHJvZ3Jlc3NUaWNrIiksaUc9cygoYT0iQ29udGludWUiKT0+W3tuYW1lOmEsYWN0aW9uOnMoYXN5bmMgZT0+ZT8uZ29OZXh0KCksImFjdGlvbiIpfV0sImNyZWF0ZUNvbnRpbnVlTWVudU9wdGlvbnMiKSxsM2E9cygoKT0+W3t0aXRsZToiQWNjb3VudCBTZXR1cCIsY29udGVudDp3YAogICAgICA8ZGVlcy1mb3JtPgogICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJlbWFpbCIgbGFiZWw9IldvcmsgRW1haWwiIHJlcXVpcmVkPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJwYXNzd29yZCIgbGFiZWw9IkNyZWF0ZSBQYXNzd29yZCIgdHlwZT0icGFzc3dvcmQiIHJlcXVpcmVkPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICA8L2RlZXMtZm9ybT4KICAgIGAsbWVudU9wdGlvbnM6aUcoKX0se3RpdGxlOiJQcm9maWxlIERldGFpbHMiLGNvbnRlbnQ6d2AKICAgICAgPGRlZXMtZm9ybT4KICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0iZmlyc3ROYW1lIiBsYWJlbD0iRmlyc3QgTmFtZSIgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBrZXk9Imxhc3ROYW1lIiBsYWJlbD0iTGFzdCBOYW1lIiByZXF1aXJlZD48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgPC9kZWVzLWZvcm0+CiAgICBgLG1lbnVPcHRpb25zOmlHKCl9LHt0aXRsZToiQ29udGFjdCBJbmZvcm1hdGlvbiIsY29udGVudDp3YAogICAgICA8ZGVlcy1mb3JtPgogICAgICAgIDxkZWVzLWlucHV0LXBob25lIGtleT0icGhvbmUiIGxhYmVsPSJNb2JpbGUgTnVtYmVyIiByZXF1aXJlZD48L2RlZXMtaW5wdXQtcGhvbmU+CiAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBrZXk9ImNvbXBhbnkiIGxhYmVsPSJDb21wYW55Ij48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgPC9kZWVzLWZvcm0+CiAgICBgLG1lbnVPcHRpb25zOmlHKCl9LHt0aXRsZToiUHJvdmlzaW9uIFdvcmtzcGFjZSIsY29udGVudDp3YAogICAgICA8ZGVlcy1wYW5lbD4KICAgICAgICA8cD4KICAgICAgICAgIFdlIGFyZSBjcmVhdGluZyB5b3VyIHN0YXJ0ZXIgd29ya3NwYWNlLCBhcHBseWluZyB5b3VyIG9uYm9hcmRpbmcgY2hvaWNlcywKICAgICAgICAgIGFuZCBwcmVwYXJpbmcgYSBsaXZlIHByZXZpZXcuIFRoaXMgc3RlcCBtb3ZlcyBmb3J3YXJkIGF1dG9tYXRpY2FsbHkgd2hlbgogICAgICAgICAgdGhlIGVudmlyb25tZW50IGlzIHJlYWR5LgogICAgICAgIDwvcD4KICAgICAgPC9kZWVzLXBhbmVsPgogICAgYCxwcm9ncmVzc1N0ZXA6e2xhYmVsOiJXb3Jrc3BhY2Ugc2V0dXAiLHBlcmNlbnRhZ2U6OCxpbmRldGVybWluYXRlOiEwLHN0YXR1c1Jvd3M6NCxzdGF0dXNUZXh0OiJBbGxvY2F0aW5nIGEgY2xlYW4gd29ya3NwYWNlLi4uIix0ZXJtaW5hbExpbmVzOlsiQWxsb2NhdGluZyBhIGNsZWFuIHdvcmtzcGFjZSJdfSx2YWxpZGF0aW9uRnVuYzpzKGFzeW5jKGEsZSx0KT0+e2xldCByPVt7bGluZToiQWxsb2NhdGluZyBhIGNsZWFuIHdvcmtzcGFjZSIscGVyY2VudGFnZTo4LGRlbGF5OjUwMH0se2xpbmU6IlN5bmNpbmcgYWNjb3VudCBwcmVmZXJlbmNlcyIscGVyY2VudGFnZToyNCxkZWxheTo2NTB9LHtsaW5lOiJJbnN0YWxsaW5nIHNlbGVjdGVkIGludGVncmF0aW9ucyIscGVyY2VudGFnZTo0NyxkZWxheTo3MDB9LHtsaW5lOiJHZW5lcmF0aW5nIHN0YXJ0ZXIgcHJvamVjdCBmaWxlcyIscGVyY2VudGFnZTo3MSxkZWxheTo2NTB9LHtsaW5lOiJCb290aW5nIHRoZSBsaXZlIHByZXZpZXcgZW52aXJvbm1lbnQiLHBlcmNlbnRhZ2U6OTIsZGVsYXk6NzAwfV07YS5yZXNldFByb2dyZXNzU3RlcCgpO2ZvcihsZXRbaSxvXW9mIHIuZW50cmllcygpKWlmKHQ/LmFib3J0ZWR8fChpPT09MD9hLnVwZGF0ZVByb2dyZXNzU3RlcCh7cGVyY2VudGFnZTpvLnBlcmNlbnRhZ2UsaW5kZXRlcm1pbmF0ZTohMCxzdGF0dXNUZXh0OmAke28ubGluZX0uLi5gLHRlcm1pbmFsTGluZXM6W28ubGluZV19KTooYS5hcHBlbmRQcm9ncmVzc1N0ZXBMaW5lKG8ubGluZSksYS51cGRhdGVQcm9ncmVzc1N0ZXAoe3BlcmNlbnRhZ2U6by5wZXJjZW50YWdlLGluZGV0ZXJtaW5hdGU6ITAsc3RhdHVzVGV4dDpgJHtvLmxpbmV9Li4uYH0pKSwhYXdhaXQgbjNhKG8uZGVsYXksdCkpKXJldHVybjthLmFwcGVuZFByb2dyZXNzU3RlcExpbmUoIldvcmtzcGFjZSByZWFkeSIpLGEudXBkYXRlUHJvZ3Jlc3NTdGVwKHtwZXJjZW50YWdlOjEwMCxpbmRldGVybWluYXRlOiExLHN0YXR1c1RleHQ6IldvcmtzcGFjZSByZWFkeS4ifSksYXdhaXQgbjNhKDM1MCx0KX0sInZhbGlkYXRpb25GdW5jIil9LHt0aXRsZToiVGVhbSBTaXplIixjb250ZW50OndgCiAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgIGtleT0idGVhbVNpemUiCiAgICAgICAgICBsYWJlbD0iSG93IGJpZyBpcyB5b3VyIHRlYW0/IgogICAgICAgICAgLm9wdGlvbnM9JHtbe2xhYmVsOiIxLTUiLHZhbHVlOiIxLTUifSx7bGFiZWw6IjYtMjAiLHZhbHVlOiI2LTIwIn0se2xhYmVsOiIyMS01MCIsdmFsdWU6IjIxLTUwIn0se2xhYmVsOiI1MSsiLHZhbHVlOiI1MSsifV19CiAgICAgICAgICByZXF1aXJlZAogICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgIDwvZGVlcy1mb3JtPgogICAgYCxtZW51T3B0aW9uczppRygpfSx7dGl0bGU6IkdvYWxzIixjb250ZW50OndgCiAgICAgIDxkZWVzLWZvcm0+CiAgICAgICAgPGRlZXMtaW5wdXQtbXVsdGl0b2dnbGUKICAgICAgICAgIGtleT0iZ29hbCIKICAgICAgICAgIGxhYmVsPSJNYWluIG9iamVjdGl2ZSIKICAgICAgICAgIC5vcHRpb25zPSR7W3tsYWJlbDoiT25ib2FyZGluZyIsdmFsdWU6Im9uYm9hcmRpbmcifSx7bGFiZWw6IkFuYWx5dGljcyIsdmFsdWU6ImFuYWx5dGljcyJ9LHtsYWJlbDoiQXV0b21hdGlvbiIsdmFsdWU6ImF1dG9tYXRpb24ifV19CiAgICAgICAgICByZXF1aXJlZAogICAgICAgID48L2RlZXMtaW5wdXQtbXVsdGl0b2dnbGU+CiAgICAgIDwvZGVlcy1mb3JtPgogICAgYCxtZW51T3B0aW9uczppRygpfSx7dGl0bGU6IlJldmlldyAmIExhdW5jaCIsY29udGVudDp3YAogICAgICA8ZGVlcy1wYW5lbD4KICAgICAgICA8cD4KICAgICAgICAgIFlvdXIgd29ya3NwYWNlIGlzIHJlYWR5LiBSZXZpZXcgdGhlIGNvbGxlY3RlZCBkZXRhaWxzIGFuZCBsYXVuY2ggd2hlbgogICAgICAgICAgeW91IGFyZSByZWFkeSB0byBzdGFydC4KICAgICAgICA8L3A+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIGAsbWVudU9wdGlvbnM6W3tuYW1lOiJMYXVuY2giLGFjdGlvbjpzKGFzeW5jIGE9PnthPy5vdmVybGF5JiZhd2FpdCBhLmRlc3Ryb3koKX0sImFjdGlvbiIpfV19XSwiY3JlYXRlRGVtb1N0ZXBzIiksYzNhPXMoKCk9PndgCiAgPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBpbnNldDogMDsiPgogICAgPGRpdgogICAgICBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDE2cHg7IGxlZnQ6IDUwJTsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB6LWluZGV4OiAxMDsiCiAgICA+CiAgICAgIDxkZWVzLWJ1dHRvbgogICAgICAgIEBjbGljaz0ke2FzeW5jKCk9Pnthd2FpdCBKbS5jcmVhdGVBbmRTaG93KHtzdGVwczpsM2EoKX0pfX0KICAgICAgPk9wZW4gc3RlcHBlciBhcyBvdmVybGF5PC9kZWVzLWJ1dHRvbj4KICAgIDwvZGl2PgogICAgPGRlZXMtc3RlcHBlciAuc3RlcHM9JHtsM2EoKX0+PC9kZWVzLXN0ZXBwZXI+CiAgPC9kaXY+CmAsInN0ZXBwZXJEZW1vIil9KTt2YXIgQjQsYW8sSm0sS3NlPWYoKCk9PntWcygpO2xlKCk7SnQoKTtkM2EoKTtRZSgpO3VzKCk7amkoKTt3MSgpO3BjKCk7RFFlKCk7S3IoKTtCND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sYW89ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEptPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1zdGVwcGVyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W107dmFyIEI9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTdGVwcGVyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IE09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKHt0eXBlOk9iamVjdH0pXSx1PVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSx4PVskKHt0eXBlOkJvb2xlYW4scmVmbGVjdDohMH0pXSx5PVskKHt0eXBlOk51bWJlcixhdHRyaWJ1dGU6ITF9KV0sTj1bJCh7dHlwZTpPYmplY3QsYXR0cmlidXRlOiExfSldLE89WyQoe3R5cGU6Qm9vbGVhbixhdHRyaWJ1dGU6ITF9KV0sQjQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGVwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic3RlcHMiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zdGVwcywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnN0ZXBzPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbixsKSxCNCh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkU3RlcCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic2VsZWN0ZWRTdGVwImluIFMsImhhcyIpLGdldDpzKFM9PlMuc2VsZWN0ZWRTdGVwLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1Muc2VsZWN0ZWRTdGVwPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxCNCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im92ZXJsYXkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+Im92ZXJsYXkiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5vdmVybGF5LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1Mub3ZlcmxheT1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG0sdiksQjQodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjYW5jZWxhYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJjYW5jZWxhYmxlImluIFMsImhhcyIpLGdldDpzKFM9PlMuY2FuY2VsYWJsZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmNhbmNlbGFibGU9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLEI0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RlcHBlclpJbmRleCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic3RlcHBlclpJbmRleCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnN0ZXBwZXJaSW5kZXgsImdldCIpLHNldDpzKChTLFApPT57Uy5zdGVwcGVyWkluZGV4PVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSxCNCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2ZUZvcm0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImFjdGl2ZUZvcm0iaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5hY3RpdmVGb3JtLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuYWN0aXZlRm9ybT1QfSwic2V0Iil9LG1ldGFkYXRhOk19LF8seiksQjQodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3RpdmVGb3JtVmFsaWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImFjdGl2ZUZvcm1WYWxpZCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmFjdGl2ZUZvcm1WYWxpZCwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmFjdGl2ZUZvcm1WYWxpZD1QfSwic2V0Iil9LG1ldGFkYXRhOk19LFQsRSksQjQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCx0KSxCPXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1jM2E7c3RhdGljIGRlbW9Hcm91cHM9WyJMYXlvdXQiLCJGb3JtIl07c3RhdGljIGFzeW5jIGNyZWF0ZUFuZFNob3coTSl7bGV0IFM9ZG9jdW1lbnQuYm9keSxQPW5ldyBCO3JldHVybiBQLnN0ZXBzPU0uc3RlcHMsUC5vdmVybGF5PSEwLE0uY2FuY2VsYWJsZSE9PXZvaWQgMCYmKFAuY2FuY2VsYWJsZT1NLmNhbmNlbGFibGUpLFAud2luZG93TGF5ZXI9YXdhaXQganMuY3JlYXRlQW5kU2hvdyh7Ymx1cjohMH0pLFMuYXBwZW5kKFAud2luZG93TGF5ZXIpLFMuYXBwZW5kKFApLFAuc3RlcHBlclpJbmRleD1adC5nZXROZXh0WkluZGV4KCksWnQucmVnaXN0ZXIoUCxQLnN0ZXBwZXJaSW5kZXgpLFB9I2U9YW8odGhpcyxuLFtdKTtnZXQgc3RlcHMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3RlcHMoTSl7dGhpcy4jZT1NfSN0PShhbyh0aGlzLGwpLGFvKHRoaXMsYyx2b2lkIDApKTtnZXQgc2VsZWN0ZWRTdGVwKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkU3RlcChNKXt0aGlzLiN0PU19I2E9KGFvKHRoaXMscCksYW8odGhpcyxtLCExKSk7Z2V0IG92ZXJsYXkoKXtyZXR1cm4gdGhpcy4jYX1zZXQgb3ZlcmxheShNKXt0aGlzLiNhPU19I3I9KGFvKHRoaXMsdiksYW8odGhpcyxiLCEwKSk7Z2V0IGNhbmNlbGFibGUoKXtyZXR1cm4gdGhpcy4jcn1zZXQgY2FuY2VsYWJsZShNKXt0aGlzLiNyPU19I3M9KGFvKHRoaXMsZyksYW8odGhpcyxrLDFlMykpO2dldCBzdGVwcGVyWkluZGV4KCl7cmV0dXJuIHRoaXMuI3N9c2V0IHN0ZXBwZXJaSW5kZXgoTSl7dGhpcy4jcz1NfSNpPShhbyh0aGlzLEMpLGFvKHRoaXMsXyxudWxsKSk7Z2V0IGFjdGl2ZUZvcm0oKXtyZXR1cm4gdGhpcy4jaX1zZXQgYWN0aXZlRm9ybShNKXt0aGlzLiNpPU19I289KGFvKHRoaXMseiksYW8odGhpcyxULCEwKSk7Z2V0IGFjdGl2ZUZvcm1WYWxpZCgpe3JldHVybiB0aGlzLiNvfXNldCBhY3RpdmVGb3JtVmFsaWQoTSl7dGhpcy4jbz1NfWFjdGl2ZUZvcm1TdWJzY3JpcHRpb249YW8odGhpcyxFKTt3aW5kb3dMYXllcjtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZvbnQtZmFtaWx5OiAke3BhfTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAvKgogICAgICAgKiBJbiBvdmVybGF5IG1vZGUgdGhlIGhvc3QgaXMgInRyYW5zcGFyZW50IiB0byBsYXlvdXQg4oCUIHRoZSBpbm5lcgogICAgICAgKiAuc3RlcHBlckNvbnRhaW5lci5vdmVybGF5IGlzIHdoYXQgcGlucyB0byB0aGUgdmlld3BvcnQgYW5kIGNhcnJpZXMgdGhlCiAgICAgICAqIHotaW5kZXguIEtlZXBpbmcgOmhvc3QgdW5wb3NpdGlvbmVkIGF2b2lkcyBuZXN0aW5nIHRoZSBzdGFja2luZyBjb250ZXh0CiAgICAgICAqIHVuZGVyIGFuIGF1dG8tei1pbmRleCBwYXJlbnQgKHdoaWNoIHdhcyB0cmFwcGluZyAuc3RlcHBlckNvbnRhaW5lcgogICAgICAgKiBiZWxvdyBEZWVzV2luZG93TGF5ZXIncyBzaWJsaW5nIGxheWVycykuIFRoaXMgbWlycm9ycyBob3cgZGVlcy1tb2RhbAogICAgICAgKiBrZWVwcyBpdHMgb3duIDpob3N0IHVucG9zaXRpb25lZCBhbmQgbGV0cyAubW9kYWxDb250YWluZXIgZHJpdmUgbGF5b3V0LgogICAgICAgKi8KICAgICAgOmhvc3QoW292ZXJsYXldKSB7CiAgICAgICAgcG9zaXRpb246IHN0YXRpYzsKICAgICAgICB3aWR0aDogMDsKICAgICAgICBoZWlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC5zdGVwcGVyQ29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5zdGVwcGVyQ29udGFpbmVyLm92ZXJsYXkgewogICAgICAgIHBvc2l0aW9uOiBmaXhlZDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB3aWR0aDogMTAwdnc7CiAgICAgICAgaGVpZ2h0OiAxMDB2aDsKICAgICAgfQoKICAgICAgLyogRXhpdCBhbmltYXRpb24g4oCUIHJldmVyc2Ugb2YgdGhlIGVudHJ5LiBUaWxlcyBzbGlkZSBET1dOICsgZmFkZSBvdXQsCiAgICAgICAgIG1pcnJvcmluZyB0aGUgLmVudHJhbmNlIHNsaWRlLXVwLiBUaGUgdHJhbnNpdGlvbiBvdmVycmlkZSBpcyBuZWVkZWQKICAgICAgICAgYmVjYXVzZSBkZWVzLXRpbGUuc3RlcCBoYXMgaXRzIG93biAwLjdzIHRyYW5zaXRpb24gZm9yIHN0ZXAgc2VsZWN0aW9uCiAgICAgICAgIHdoaWNoIHdvdWxkIG90aGVyd2lzZSBtYWtlIHRoZSBleGl0IHNsdWdnaXNoLiAqLwogICAgICAuc3RlcHBlckNvbnRhaW5lci5wcmVkZXN0cm95IGRlZXMtdGlsZS5zdGVwIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7CiAgICAgICAgZmlsdGVyOiBvcGFjaXR5KDApOwogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cywgZmlsdGVyIDAuMnM7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS5zdGVwIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgbWF4LXdpZHRoOiA1MDBweDsKICAgICAgICBtaW4taGVpZ2h0OiAzMDBweDsKICAgICAgICBtYXJnaW46IGF1dG87CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICBmaWx0ZXI6IG9wYWNpdHkoMC41NSkgc2F0dXJhdGUoMC44NSk7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuN3MgY3ViaWMtYmV6aWVyKDAuODcsIDAsIDAuMTMsIDEpLCBmaWx0ZXIgMC43cyBjdWJpYy1iZXppZXIoMC44NywgMCwgMC4xMywgMSk7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS5zdGVwLnNlbGVjdGVkIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsOwogICAgICAgIGZpbHRlcjogb3BhY2l0eSgxKSBzYXR1cmF0ZSgxKTsKICAgICAgICB1c2VyLXNlbGVjdDogYXV0bzsKICAgICAgfQoKICAgICAgZGVlcy10aWxlLnN0ZXAuaGlkZGVuU3RlcCB7CiAgICAgICAgZmlsdGVyOiBvcGFjaXR5KDApOwogICAgICB9CgogICAgICBkZWVzLXRpbGUuc3RlcC5lbnRyYW5jZSB7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMzVzIGVhc2UsIGZpbHRlciAwLjM1cyBlYXNlOwogICAgICB9CgogICAgICBkZWVzLXRpbGUuc3RlcC5lbnRyYW5jZS5oaWRkZW5TdGVwIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTZweCk7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS5zdGVwOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHZoOwogICAgICB9CgogICAgICAuc3RlcHBlckNvbnRhaW5lci5vdmVybGF5IGRlZXMtdGlsZS5zdGVwOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgYm94LXNoYWRvdzoKICAgICAgICAgIDAgMCAwIDFweCAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjAzKSIsImhzbCgwIDAlIDEwMCUgLyAwLjAzKSIpfSwKICAgICAgICAgIDAgOHB4IDQwcHggJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4xMikiLCJoc2woMCAwJSAwJSAvIDAuNSkiKX0sCiAgICAgICAgICAwIDJweCA4cHggJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wNikiLCJoc2woMCAwJSAwJSAvIDAuMjUpIil9OwogICAgICB9CgogICAgICAuc3RlcC1oZWFkZXIgewogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDAgOHB4IDAgMTJweDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5nb0JhY2stc3BhY2VyIHsKICAgICAgICB3aWR0aDogMXB4OwogICAgICB9CgogICAgICAuc3RlcC1oZWFkZXIgLmdvQmFjayB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlLCBjb2xvciAwLjE1cyBlYXNlLCB0cmFuc2Zvcm0gMC4ycyBlYXNlOwogICAgICB9CgogICAgICAuc3RlcC1oZWFkZXIgLmdvQmFjazpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMnB4KTsKICAgICAgfQoKICAgICAgLnN0ZXAtaGVhZGVyIC5nb0JhY2s6YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTAlKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgIH0KCiAgICAgIC5zdGVwLWhlYWRlciAuZ29CYWNrIHNwYW4gewogICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICB9CgogICAgICAuc3RlcC1oZWFkZXIgLmdvQmFjazpob3ZlciBzcGFuIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTJweCk7CiAgICAgIH0KCiAgICAgIC5zdGVwLWhlYWRlciAuc3RlcENvdW50ZXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIHBhZGRpbmc6IDAgOHB4OwogICAgICB9CgogICAgICAuc3RlcC1ib2R5IC50aXRsZSB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmctdG9wOiAzMnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgIH0KCiAgICAgIC5zdGVwLWJvZHkgLmNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDMycHg7CiAgICAgIH0KCiAgICAgIC5zdGVwLWJvZHkgLmNvbnRlbnQud2l0aFByb2dyZXNzU3RlcCB7CiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzc1N0ZXAgewogICAgICAgIHBhZGRpbmc6IDAgMjRweDsKICAgICAgfQoKICAgICAgLyogLS0tIEZvb3RlcjogbW9kYWwtc3R5bGUgYm90dG9tIGJ1dHRvbnMgLS0tICovCiAgICAgIC5ib3R0b21CdXR0b25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLyogQm9yZGVyLWxlZnQgc2VwYXJhdG9yIG9uIGV2ZXJ5IGJ1dHRvbiBFWENFUFQgdGhlIGZpcnN0IG9uZS4KICAgICAgICAgVXNlcyBnZW5lcmFsIHNpYmxpbmcgc28gdGhlIHN0ZXBIaW50IChpZiByZW5kZXJlZCBvbiB0aGUgbGVmdCkgZG9lcwogICAgICAgICBub3Qgc2hpZnQgd2hpY2ggYnV0dG9uIGNvdW50cyBhcyAiZmlyc3QiIGFuZCBjcmVhdGUgYSBwaGFudG9tIGJvcmRlci4gKi8KICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbiB+IC5ib3R0b21CdXR0b24gewogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbjphY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5MiUpIiwiaHNsKDAgMCUgMTMlKSIpfTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDgpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTAlKSIsImhzbCgyMTMuMSA5My45JSA3NSUpIil9OwogICAgICB9CgogICAgICAuYm90dG9tQnV0dG9ucyAuYm90dG9tQnV0dG9uLnByaW1hcnk6YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4xMikiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjEyKSIpfTsKICAgICAgfQoKICAgICAgLmJvdHRvbUJ1dHRvbnMgLmJvdHRvbUJ1dHRvbi5kaXNhYmxlZCB7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgb3BhY2l0eTogMC40OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC5ib3R0b21CdXR0b25zIC5ib3R0b21CdXR0b24uZGlzYWJsZWQ6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CgogICAgICAvKiBIaW50IHNob3duIG9uIHRoZSBsZWZ0IG9mIHRoZSBmb290ZXIgd2hlbiB0aGUgYWN0aXZlIHN0ZXAncyBmb3JtIGhhcwogICAgICAgICB1bmZpbGxlZCByZXF1aXJlZCBmaWVsZHMuIFVzZXMgbWFyZ2luLXJpZ2h0OiBhdXRvIHRvIHB1c2ggcmlnaHQtYWxpZ25lZAogICAgICAgICBidXR0b25zIHRvIHRoZSByaWdodCB3aGlsZSBrZWVwaW5nIHRoZSBoaW50IGZsdXNoLWxlZnQuICovCiAgICAgIC5ib3R0b21CdXR0b25zIC5zdGVwSGludCB7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDE7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJzdGVwcGVyQ29udGFpbmVyICR7dGhpcy5vdmVybGF5PyJvdmVybGF5IjoiIn0iCiAgICAgICAgc3R5bGU9JHt0aGlzLm92ZXJsYXk/YHotaW5kZXg6ICR7dGhpcy5zdGVwcGVyWkluZGV4fTtgOiIifQogICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlT3V0c2lkZUNsaWNrfQogICAgICA+CiAgICAgICAgJHt0aGlzLnN0ZXBzLm1hcCgoTSxTKT0+e2xldCBQPU09PT10aGlzLnNlbGVjdGVkU3RlcCxBPXRoaXMuZ2V0SW5kZXhPZlN0ZXAoTSk+dGhpcy5nZXRJbmRleE9mU3RlcCh0aGlzLnNlbGVjdGVkU3RlcCksRj1TPT09MCxXPU0ucHJvZ3Jlc3NTdGVwP3RoaXMuZ2V0UHJvZ3Jlc3NTdGVwU3RhdGUoTSk6bnVsbDtyZXR1cm4gd2A8ZGVlcy10aWxlCiAgICAgICAgICAgIGNsYXNzPSJzdGVwICR7UD8ic2VsZWN0ZWQiOiIifSAke0E/ImhpZGRlblN0ZXAiOiIifSAke0Y/ImVudHJhbmNlIjoiIn0iCiAgICAgICAgICA+CiAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0ic3RlcC1oZWFkZXIiPgogICAgICAgICAgICAgICR7Rj93YDxkaXYgY2xhc3M9ImdvQmFjay1zcGFjZXIiPjwvZGl2PmA6d2A8ZGl2IGNsYXNzPSJnb0JhY2siIEBjbGljaz0ke3RoaXMuZ29CYWNrfT4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEludGVyIj48LTwvc3Bhbj4gZ28gdG8gcHJldmlvdXMgc3RlcAogICAgICAgICAgICAgICAgICA8L2Rpdj5gfQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0ZXBDb3VudGVyIj4KICAgICAgICAgICAgICAgIFN0ZXAgJHtTKzF9IG9mICR7dGhpcy5zdGVwcy5sZW5ndGh9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGVwLWJvZHkiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj4ke00udGl0bGV9PC9kaXY+CiAgICAgICAgICAgICAgJHtNLnByb2dyZXNzU3RlcCYmVz93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3NTdGVwIj4KICAgICAgICAgICAgICAgICAgPGRlZXMtcHJvZ3Jlc3NiYXIKICAgICAgICAgICAgICAgICAgICAubGFiZWw9JHtXLmxhYmVsPz9NLnRpdGxlfQogICAgICAgICAgICAgICAgICAgIC5wZXJjZW50YWdlPSR7Vy5wZXJjZW50YWdlPz8wfQogICAgICAgICAgICAgICAgICAgIC5pbmRldGVybWluYXRlPSR7Vy5pbmRldGVybWluYXRlPz8hMX0KICAgICAgICAgICAgICAgICAgICAuc2hvd1BlcmNlbnRhZ2U9JHtXLnNob3dQZXJjZW50YWdlPz8hMH0KICAgICAgICAgICAgICAgICAgICAuc3RhdHVzVGV4dD0ke1cuc3RhdHVzVGV4dD8/IiJ9CiAgICAgICAgICAgICAgICAgICAgLnRlcm1pbmFsTGluZXM9JHtXLnRlcm1pbmFsTGluZXM/P1tdfQogICAgICAgICAgICAgICAgICAgIC5zdGF0dXNSb3dzPSR7Vy5zdGF0dXNSb3dzPz8zfQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXByb2dyZXNzYmFyPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50ICR7TS5wcm9ncmVzc1N0ZXA/IndpdGhQcm9ncmVzc1N0ZXAiOiIifSI+JHtNLmNvbnRlbnR9PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImJvdHRvbUJ1dHRvbnMiPgogICAgICAgICAgICAgICR7UCYmdGhpcy5hY3RpdmVGb3JtIT09bnVsbCYmIXRoaXMuYWN0aXZlRm9ybVZhbGlkP3dgPGRpdiBjbGFzcz0ic3RlcEhpbnQiPkNvbXBsZXRlIGZvcm0gdG8gY29udGludWU8L2Rpdj5gOiIifQogICAgICAgICAgICAgICR7dGhpcy5jYW5jZWxhYmxlP3dgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJib3R0b21CdXR0b24iCiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ2FuY2VsUmVxdWVzdCgpfQogICAgICAgICAgICAgICAgICA+Q2FuY2VsPC9kaXY+YDoiIn0KICAgICAgICAgICAgICAke00ubWVudU9wdGlvbnM/Lm1hcCgoaixHKT0+e2xldCBoZT1HPT09TS5tZW51T3B0aW9ucy5sZW5ndGgtMSxSPWhlJiZ0aGlzLmFjdGl2ZUZvcm0hPT1udWxsJiYhdGhpcy5hY3RpdmVGb3JtVmFsaWQ7cmV0dXJuIHdgCiAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iYm90dG9tQnV0dG9uICR7aGU/InByaW1hcnkiOiIifSAke1I/ImRpc2FibGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlTWVudU9wdGlvbkNsaWNrKGosaGUpfQogICAgICAgICAgICAgICAgICA+JHtqLm5hbWV9PC9kaXY+CiAgICAgICAgICAgICAgICBgfSk/PyIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGVlcy10aWxlPmB9KX0KICAgICAgPC9kaXY+CiAgICBgfWdldEluZGV4T2ZTdGVwPXMoTT0+dGhpcy5zdGVwcy5maW5kSW5kZXgoUz0+TT09PVMpLCJnZXRJbmRleE9mU3RlcCIpO2FzeW5jIGZpcnN0VXBkYXRlZCgpe2F3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLGF3YWl0IHRoaXMuZG9tdG9vbHMuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigwKSx0aGlzLnN0ZXBzLmxlbmd0aCYmKHRoaXMucHJlcGFyZVN0ZXBGb3JBY3RpdmF0aW9uKHRoaXMuc3RlcHNbMF0pLHRoaXMuc2VsZWN0ZWRTdGVwPXRoaXMuc3RlcHNbMF0sYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxhd2FpdCB0aGlzLnNldFNjcm9sbFN0YXR1cygpLGF3YWl0IHRoaXMuZG9tdG9vbHMuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigzNTApLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc3RlcC5lbnRyYW5jZSIpPy5jbGFzc0xpc3QucmVtb3ZlKCJlbnRyYW5jZSIpKX1hc3luYyB1cGRhdGVkKE0peyFNLmhhcygic2VsZWN0ZWRTdGVwIikmJiFNLmhhcygic3RlcHMiKXx8YXdhaXQgdGhpcy5zZXRTY3JvbGxTdGF0dXMoKX1zY3JvbGxlcjthc3luYyBzZXRTY3JvbGxTdGF0dXMoKXtsZXQgTT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnN0ZXBwZXJDb250YWluZXIiKSxTPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc2VsZWN0ZWQiKTtpZighUylyZXR1cm47dGhpcy5zY2FuQWN0aXZlRm9ybShTKSxNLnN0eWxlLnBhZGRpbmdUb3B8fChNLnN0eWxlLnBhZGRpbmdUb3A9YCR7TS5vZmZzZXRIZWlnaHQvMi1TLm9mZnNldEhlaWdodC8yfXB4YCk7bGV0IFA9Uy5vZmZzZXRUb3AtTS5vZmZzZXRIZWlnaHQvMitTLm9mZnNldEhlaWdodC8yO2F3YWl0IENpLnNldHVwRG9tVG9vbHMoKSx0aGlzLnNjcm9sbGVyfHwodGhpcy5zY3JvbGxlcj1uZXcgQnQuU3dlZXRTY3JvbGwoe3ZlcnRpY2FsOiEwLGhvcml6b250YWw6ITEsZWFzaW5nOiJlYXNlSW5PdXRFeHBvIixkdXJhdGlvbjo3MDB9LE0pKSwhdGhpcy5zZWxlY3RlZFN0ZXAudmFsaWRhdGlvbkZ1bmNDYWxsZWQmJnRoaXMuc2VsZWN0ZWRTdGVwLnZhbGlkYXRpb25GdW5jJiYodGhpcy5zZWxlY3RlZFN0ZXAuYWJvcnRDb250cm9sbGVyPW5ldyBBYm9ydENvbnRyb2xsZXIsdGhpcy5zZWxlY3RlZFN0ZXAudmFsaWRhdGlvbkZ1bmNDYWxsZWQ9ITAsdGhpcy5ydW5TdGVwVmFsaWRhdGlvbih0aGlzLnNlbGVjdGVkU3RlcCxTLHRoaXMuc2VsZWN0ZWRTdGVwLmFib3J0Q29udHJvbGxlci5zaWduYWwpKSx0aGlzLnNjcm9sbGVyLnRvKFApfWFzeW5jIGdvQmFjaygpe2xldCBNPXRoaXMuc3RlcHMuZmluZEluZGV4KEE9PkE9PT10aGlzLnNlbGVjdGVkU3RlcCk7aWYoTTw9MClyZXR1cm47dGhpcy5zZWxlY3RlZFN0ZXAuYWJvcnRDb250cm9sbGVyJiZ0aGlzLnNlbGVjdGVkU3RlcC5hYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtsZXQgUz10aGlzLnN0ZXBzW01dO1MudmFsaWRhdGlvbkZ1bmNDYWxsZWQ9ITE7bGV0IFA9dGhpcy5zdGVwc1tNLTFdO1AudmFsaWRhdGlvbkZ1bmNDYWxsZWQ9ITEsdGhpcy5wcmVwYXJlU3RlcEZvckFjdGl2YXRpb24oUCksdGhpcy5zZWxlY3RlZFN0ZXA9UCxhd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSxhd2FpdCB0aGlzLmRvbXRvb2xzLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMTAwKSx0aGlzLnNlbGVjdGVkU3RlcC5vblJldHVyblRvU3RlcEZ1bmM/Lih0aGlzLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc2VsZWN0ZWQiKSl9Z29OZXh0KCl7bGV0IE09dGhpcy5zdGVwcy5maW5kSW5kZXgoQT0+QT09PXRoaXMuc2VsZWN0ZWRTdGVwKTtpZihNPDB8fE0+PXRoaXMuc3RlcHMubGVuZ3RoLTEpcmV0dXJuO3RoaXMuc2VsZWN0ZWRTdGVwLmFib3J0Q29udHJvbGxlciYmdGhpcy5zZWxlY3RlZFN0ZXAuYWJvcnRDb250cm9sbGVyLmFib3J0KCk7bGV0IFM9dGhpcy5zdGVwc1tNXTtTLnZhbGlkYXRpb25GdW5jQ2FsbGVkPSExO2xldCBQPXRoaXMuc3RlcHNbTSsxXTtQLnZhbGlkYXRpb25GdW5jQ2FsbGVkPSExLHRoaXMucHJlcGFyZVN0ZXBGb3JBY3RpdmF0aW9uKFApLHRoaXMuc2VsZWN0ZWRTdGVwPVB9cmVzZXRQcm9ncmVzc1N0ZXAoTT10aGlzLnNlbGVjdGVkU3RlcCl7TT8ucHJvZ3Jlc3NTdGVwJiYoTS5wcm9ncmVzc1N0ZXBTdGF0ZT10aGlzLmNyZWF0ZUluaXRpYWxQcm9ncmVzc1N0ZXBTdGF0ZShNKSx0aGlzLnJlcXVlc3RVcGRhdGUoKSl9dXBkYXRlUHJvZ3Jlc3NTdGVwKE0sUz10aGlzLnNlbGVjdGVkU3RlcCl7aWYoIVM/LnByb2dyZXNzU3RlcClyZXR1cm47bGV0IFA9dGhpcy5nZXRQcm9ncmVzc1N0ZXBTdGF0ZShTKTtTLnByb2dyZXNzU3RlcFN0YXRlPXsuLi5QLC4uLk0sdGVybWluYWxMaW5lczpNLnRlcm1pbmFsTGluZXM/Wy4uLk0udGVybWluYWxMaW5lc106Wy4uLlAudGVybWluYWxMaW5lcz8/W11dfSx0aGlzLnJlcXVlc3RVcGRhdGUoKX1hcHBlbmRQcm9ncmVzc1N0ZXBMaW5lKE0sUz10aGlzLnNlbGVjdGVkU3RlcCl7aWYoIVM/LnByb2dyZXNzU3RlcClyZXR1cm47bGV0IFA9dGhpcy5nZXRQcm9ncmVzc1N0ZXBTdGF0ZShTKTt0aGlzLnVwZGF0ZVByb2dyZXNzU3RlcCh7dGVybWluYWxMaW5lczpbLi4uUC50ZXJtaW5hbExpbmVzPz9bXSxNXX0sUyl9c2NhbkFjdGl2ZUZvcm0oTSl7bGV0IFM9TS5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKTtpZihTPT09dGhpcy5hY3RpdmVGb3JtKXt0aGlzLnJlY29tcHV0ZUZvcm1WYWxpZCgpO3JldHVybn1pZih0aGlzLmFjdGl2ZUZvcm1TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCksdGhpcy5hY3RpdmVGb3JtU3Vic2NyaXB0aW9uPXZvaWQgMCx0aGlzLmFjdGl2ZUZvcm09UywhUyl7dGhpcy5hY3RpdmVGb3JtVmFsaWQ9ITA7cmV0dXJufXRoaXMucmVjb21wdXRlRm9ybVZhbGlkKCksdGhpcy5hY3RpdmVGb3JtU3Vic2NyaXB0aW9uPVMuY2hhbmdlU3ViamVjdC5zdWJzY3JpYmUoKCk9Pnt0aGlzLnJlY29tcHV0ZUZvcm1WYWxpZCgpfSl9cmVjb21wdXRlRm9ybVZhbGlkKCl7bGV0IE09dGhpcy5hY3RpdmVGb3JtO2lmKCFNKXt0aGlzLmFjdGl2ZUZvcm1WYWxpZD0hMDtyZXR1cm59bGV0IFM9TS5nZXRGb3JtRWxlbWVudHMoKTt0aGlzLmFjdGl2ZUZvcm1WYWxpZD1TLmV2ZXJ5KFA9PiFQLnJlcXVpcmVkfHxQLnZhbHVlIT09bnVsbCYmUC52YWx1ZSE9PXZvaWQgMCYmUC52YWx1ZSE9PSIiKX1hc3luYyBoYW5kbGVNZW51T3B0aW9uQ2xpY2soTSxTKXtsZXQgUD10aGlzLmFjdGl2ZUZvcm07aWYoUyYmUCl7aWYoIXRoaXMuYWN0aXZlRm9ybVZhbGlkKXJldHVybjthd2FpdCBuZXcgUHJvbWlzZShBPT57UC5hZGRFdmVudExpc3RlbmVyKCJmb3JtRGF0YSIsKCk9PkEoKSx7b25jZTohMH0pLFAuZ2F0aGVyQW5kRGlzcGF0Y2goKX0pfWF3YWl0IE0uYWN0aW9uKHRoaXMpfWdldFByb2dyZXNzU3RlcFN0YXRlKE0pe3JldHVybiBNLnByb2dyZXNzU3RlcD8oTS5wcm9ncmVzc1N0ZXBTdGF0ZXx8KE0ucHJvZ3Jlc3NTdGVwU3RhdGU9dGhpcy5jcmVhdGVJbml0aWFsUHJvZ3Jlc3NTdGVwU3RhdGUoTSkpLE0ucHJvZ3Jlc3NTdGVwU3RhdGUpOnt9fWNyZWF0ZUluaXRpYWxQcm9ncmVzc1N0ZXBTdGF0ZShNKXtyZXR1cm57bGFiZWw6TS5wcm9ncmVzc1N0ZXA/LmxhYmVsPz9NLnRpdGxlLHBlcmNlbnRhZ2U6TS5wcm9ncmVzc1N0ZXA/LnBlcmNlbnRhZ2U/PzAsaW5kZXRlcm1pbmF0ZTpNLnByb2dyZXNzU3RlcD8uaW5kZXRlcm1pbmF0ZT8/ITEsc2hvd1BlcmNlbnRhZ2U6TS5wcm9ncmVzc1N0ZXA/LnNob3dQZXJjZW50YWdlPz8hMCxzdGF0dXNUZXh0Ok0ucHJvZ3Jlc3NTdGVwPy5zdGF0dXNUZXh0Pz8iIix0ZXJtaW5hbExpbmVzOlsuLi5NLnByb2dyZXNzU3RlcD8udGVybWluYWxMaW5lcz8/W11dLHN0YXR1c1Jvd3M6TS5wcm9ncmVzc1N0ZXA/LnN0YXR1c1Jvd3M/PzN9fXByZXBhcmVTdGVwRm9yQWN0aXZhdGlvbihNKXtNPy5wcm9ncmVzc1N0ZXAmJihNLnByb2dyZXNzU3RlcFN0YXRlPXRoaXMuY3JlYXRlSW5pdGlhbFByb2dyZXNzU3RlcFN0YXRlKE0pKX1hc3luYyBydW5TdGVwVmFsaWRhdGlvbihNLFMsUCl7dHJ5e2lmKGF3YWl0IE0udmFsaWRhdGlvbkZ1bmM/Lih0aGlzLFMsUCksUC5hYm9ydGVkKXJldHVybjtNLnByb2dyZXNzU3RlcCYmTS5wcm9ncmVzc1N0ZXAuYXV0b0FkdmFuY2UhPT0hMSYmdGhpcy5zZWxlY3RlZFN0ZXA9PT1NJiZ0aGlzLmdvTmV4dCgpfWNhdGNoKEEpe2lmKFAuYWJvcnRlZClyZXR1cm47aWYoTS5wcm9ncmVzc1N0ZXApe2xldCBGPUEgaW5zdGFuY2VvZiBFcnJvcj9BLm1lc3NhZ2U6IlVuZXhwZWN0ZWQgZXJyb3IiO3RoaXMuYXBwZW5kUHJvZ3Jlc3NTdGVwTGluZShgRXJyb3I6ICR7Rn1gLE0pLHRoaXMudXBkYXRlUHJvZ3Jlc3NTdGVwKHtpbmRldGVybWluYXRlOiExLHN0YXR1c1RleHQ6Rn0sTSl9Y29uc29sZS5lcnJvcihBKX19Y2FuY2VsQ29uZmlybU1vZGFsO2hhbmRsZU91dHNpZGVDbGljayhNKXtpZighdGhpcy5vdmVybGF5fHwhdGhpcy5jYW5jZWxhYmxlKXJldHVybjtNLnN0b3BQcm9wYWdhdGlvbigpO2xldCBTPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIuc3RlcHBlckNvbnRhaW5lciIpO00udGFyZ2V0PT09UyYmdGhpcy5oYW5kbGVDYW5jZWxSZXF1ZXN0KCl9YXN5bmMgaGFuZGxlQ2FuY2VsUmVxdWVzdCgpe3RoaXMuY2FuY2VsYWJsZSYmKHRoaXMuY2FuY2VsQ29uZmlybU1vZGFsJiZ0aGlzLmNhbmNlbENvbmZpcm1Nb2RhbC5pc0Nvbm5lY3RlZHx8KHRoaXMuY2FuY2VsQ29uZmlybU1vZGFsPXZvaWQgMCx0aGlzLmNhbmNlbENvbmZpcm1Nb2RhbD1hd2FpdCB3YS5jcmVhdGVBbmRTaG93KHtoZWFkaW5nOiJDYW5jZWwgc2V0dXA/Iix3aWR0aDoic21hbGwiLGNvbnRlbnQ6d2AKICAgICAgICA8cCBzdHlsZT0ibWFyZ2luOiAwOyI+CiAgICAgICAgICBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2FuY2VsPyBBbnkgcHJvZ3Jlc3Mgb24gdGhlIGN1cnJlbnQgc3RlcCB3aWxsIGJlIGxvc3QuCiAgICAgICAgPC9wPgogICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ29udGludWUgc2V0dXAiLGFjdGlvbjpzKGFzeW5jIE09Pnt0aGlzLmNhbmNlbENvbmZpcm1Nb2RhbD12b2lkIDAsYXdhaXQgTS5kZXN0cm95KCl9LCJhY3Rpb24iKX0se25hbWU6IlllcywgY2FuY2VsIixhY3Rpb246cyhhc3luYyBNPT57dGhpcy5jYW5jZWxDb25maXJtTW9kYWw9dm9pZCAwLE0uZGVzdHJveSgpLGF3YWl0KGF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlKS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDEwMCksYXdhaXQgdGhpcy5kZXN0cm95KCl9LCJhY3Rpb24iKX1dfSkpKX1hc3luYyBkZXN0cm95KCl7bGV0IE09YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2UsUz10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnN0ZXBwZXJDb250YWluZXIiKTt0aGlzLnNlbGVjdGVkU3RlcD8uYWJvcnRDb250cm9sbGVyJiZ0aGlzLnNlbGVjdGVkU3RlcC5hYm9ydENvbnRyb2xsZXIuYWJvcnQoKSxTPy5jbGFzc0xpc3QuYWRkKCJwcmVkZXN0cm95IiksYXdhaXQgTS5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDI1MCksdGhpcy5wYXJlbnRFbGVtZW50JiZ0aGlzLnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodGhpcyksdGhpcy53aW5kb3dMYXllciYmYXdhaXQgdGhpcy53aW5kb3dMYXllci5kZXN0cm95KCksdGhpcy5hY3RpdmVGb3JtU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpLHRoaXMuYWN0aXZlRm9ybVN1YnNjcmlwdGlvbj12b2lkIDAsdGhpcy5hY3RpdmVGb3JtPW51bGwsWnQudW5yZWdpc3Rlcih0aGlzKX1zdGF0aWN7YW8ocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIHUzYT1mKCgpPT57S3NlKCl9KTt2YXIgcDNhPWYoKCk9PntLcigpfSk7dmFyIGYzYT1mKCgpPT57UzRhKCk7VjRhKCk7SzRhKCk7WjRhKCk7dDNhKCk7YTNhKCk7bzNhKCk7dTNhKCk7cDNhKCl9KTt2YXIgaDNhLG0zYT1mKCgpPT57bGUoKTtoM2E9cygoKT0+d2AKICA8c3R5bGU+CiAgICAuZGVtby1jb250YWluZXIgewogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMzJweDsKICAgIH0KCiAgICAuc2VjdGlvbiB7CiAgICAgIG1heC13aWR0aDogOTAwcHg7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBtYXJnaW46IDAgYXV0bzsKICAgIH0KCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgfQoKICAgIC5zZWN0aW9uLWRlc2NyaXB0aW9uIHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgfQoKICAgIGRlZXMtaW1hZ2Utdmlld2VyIHsKICAgICAgaGVpZ2h0OiA0MDBweDsKICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjMjcyNzJhIil9OwogICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CgogICAgLmNvbXBhY3QgewogICAgICBoZWlnaHQ6IDI1MHB4OwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5KUEVHIEltYWdlIHdpdGggVG9vbGJhcjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5BIGxhbmRzY2FwZSBwaG90byB3aXRoIHpvb20sIHBhbiwgZml0LCBhbmQgZG93bmxvYWQgY29udHJvbHMuPC9kaXY+CiAgICAgIDxkZWVzLWltYWdlLXZpZXdlcgogICAgICAgIHNyYz0iaHR0cHM6Ly9pbWFnZXMudW5zcGxhc2guY29tL3Bob3RvLTE1MDY3NDQwMzgxMzYtNDYyNzM4MzRiM2ZiP3c9MTIwMCIKICAgICAgICBhbHQ9Ik1vdW50YWluIGxhbmRzY2FwZSIKICAgICAgPjwvZGVlcy1pbWFnZS12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+UE5HIHdpdGggVHJhbnNwYXJlbmN5PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlRyYW5zcGFyZW50IFBORyBkaXNwbGF5ZWQgb24gYSBjaGVja2VyYm9hcmQgYmFja2dyb3VuZC48L2Rpdj4KICAgICAgPGRlZXMtaW1hZ2Utdmlld2VyCiAgICAgICAgc3JjPSJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zLzQvNDcvUE5HX3RyYW5zcGFyZW5jeV9kZW1vbnN0cmF0aW9uXzEucG5nIgogICAgICAgIGFsdD0iUE5HIHRyYW5zcGFyZW5jeSBkZW1vIgogICAgICA+PC9kZWVzLWltYWdlLXZpZXdlcj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TVkcgSW1hZ2U8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+U2NhbGFibGUgdmVjdG9yIGdyYXBoaWMuPC9kaXY+CiAgICAgIDxkZWVzLWltYWdlLXZpZXdlcgogICAgICAgIHNyYz0iaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy8wLzAyL1NWR19sb2dvLnN2ZyIKICAgICAgICBhbHQ9IlNWRyBsb2dvIgogICAgICAgIGZpdD0iY29udGFpbiIKICAgICAgPjwvZGVlcy1pbWFnZS12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+Tm8gVG9vbGJhciBWYXJpYW50PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkltYWdlIHZpZXdlciB3aXRoIHRoZSB0b29sYmFyIGhpZGRlbi48L2Rpdj4KICAgICAgPGRlZXMtaW1hZ2Utdmlld2VyCiAgICAgICAgY2xhc3M9ImNvbXBhY3QiCiAgICAgICAgc3JjPSJodHRwczovL2ltYWdlcy51bnNwbGFzaC5jb20vcGhvdG8tMTQ2OTQ3NDk2ODAyOC01NjYyM2YwMmU0MmU/dz04MDAiCiAgICAgICAgYWx0PSJOYXR1cmUgc2NlbmUiCiAgICAgICAgLnNob3dUb29sYmFyPSR7ITF9CiAgICAgID48L2RlZXMtaW1hZ2Utdmlld2VyPgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW8iKX0pO3ZhciBzbixicixnM2EsQlFlPWYoKCk9PntsZSgpO3ZhKCk7bTNhKCk7c249ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGJyPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxnM2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLWltYWdlLXZpZXdlciIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdLFAsQT1bXSxGPVtdLFcsaj1bXSxHPVtdLGhlLFI9W10sVT1bXSxtZSxJPVtdLHE9W107dmFyIGNlPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzSW1hZ2VWaWV3ZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgdWU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKCldLHU9WyQoKV0seD1bJCh7dHlwZTpCb29sZWFufSldLHk9W0soKV0sTj1bSygpXSxPPVtLKCldLEI9W0soKV0sUD1bSygpXSxXPVtLKCldLGhlPVtLKCldLG1lPVtLKCldLHNuKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3JjIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJzcmMiaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5zcmMsImdldCIpLHNldDpzKChZLFgpPT57WS5zcmM9WH0sInNldCIpfSxtZXRhZGF0YTp1ZX0sbixsKSxzbih0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFsdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4iYWx0ImluIFksImhhcyIpLGdldDpzKFk9PlkuYWx0LCJnZXQiKSxzZXQ6cygoWSxYKT0+e1kuYWx0PVh9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LGMscCksc24odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+ImZpdCJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLmZpdCwiZ2V0Iiksc2V0OnMoKFksWCk9PntZLmZpdD1YfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxtLHYpLHNuKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2hvd1Rvb2xiYXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+InNob3dUb29sYmFyImluIFksImhhcyIpLGdldDpzKFk9Plkuc2hvd1Rvb2xiYXIsImdldCIpLHNldDpzKChZLFgpPT57WS5zaG93VG9vbGJhcj1YfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxiLGcpLHNuKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiem9vbSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4iem9vbSJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLnpvb20sImdldCIpLHNldDpzKChZLFgpPT57WS56b29tPVh9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LGssQyksc24odGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwYW5YIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJwYW5YImluIFksImhhcyIpLGdldDpzKFk9PlkucGFuWCwiZ2V0Iiksc2V0OnMoKFksWCk9PntZLnBhblg9WH0sInNldCIpfSxtZXRhZGF0YTp1ZX0sXyx6KSxzbih0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBhblkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoWT0+InBhblkiaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5wYW5ZLCJnZXQiKSxzZXQ6cygoWSxYKT0+e1kucGFuWT1YfSwic2V0Iil9LG1ldGFkYXRhOnVlfSxULEUpLHNuKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNEcmFnZ2luZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4iaXNEcmFnZ2luZyJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLmlzRHJhZ2dpbmcsImdldCIpLHNldDpzKChZLFgpPT57WS5pc0RyYWdnaW5nPVh9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LE0sUyksc24odGhpcyxudWxsLFAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJsb2FkaW5nImluIFksImhhcyIpLGdldDpzKFk9PlkubG9hZGluZywiZ2V0Iiksc2V0OnMoKFksWCk9PntZLmxvYWRpbmc9WH0sInNldCIpfSxtZXRhZGF0YTp1ZX0sQSxGKSxzbih0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJlcnJvciJpbiBZLCJoYXMiKSxnZXQ6cyhZPT5ZLmVycm9yLCJnZXQiKSxzZXQ6cygoWSxYKT0+e1kuZXJyb3I9WH0sInNldCIpfSxtZXRhZGF0YTp1ZX0saixHKSxzbih0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbWFnZU5hdHVyYWxXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhZPT4iaW1hZ2VOYXR1cmFsV2lkdGgiaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5pbWFnZU5hdHVyYWxXaWR0aCwiZ2V0Iiksc2V0OnMoKFksWCk9PntZLmltYWdlTmF0dXJhbFdpZHRoPVh9LCJzZXQiKX0sbWV0YWRhdGE6dWV9LFIsVSksc24odGhpcyxudWxsLG1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW1hZ2VOYXR1cmFsSGVpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFk9PiJpbWFnZU5hdHVyYWxIZWlnaHQiaW4gWSwiaGFzIiksZ2V0OnMoWT0+WS5pbWFnZU5hdHVyYWxIZWlnaHQsImdldCIpLHNldDpzKChZLFgpPT57WS5pbWFnZU5hdHVyYWxIZWlnaHQ9WH0sInNldCIpfSxtZXRhZGF0YTp1ZX0sSSxxKSxzbihudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTp1ZX0sbnVsbCx0KSxjZT1yPWUudmFsdWUsdWUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6dWV9KX1zdGF0aWMgZGVtbz1oM2E7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSJdOyNlPWJyKHRoaXMsbiwiIik7Z2V0IHNyYygpe3JldHVybiB0aGlzLiNlfXNldCBzcmModWUpe3RoaXMuI2U9dWV9I3Q9KGJyKHRoaXMsbCksYnIodGhpcyxjLCIiKSk7Z2V0IGFsdCgpe3JldHVybiB0aGlzLiN0fXNldCBhbHQodWUpe3RoaXMuI3Q9dWV9I2E9KGJyKHRoaXMscCksYnIodGhpcyxtLCJjb250YWluIikpO2dldCBmaXQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZml0KHVlKXt0aGlzLiNhPXVlfSNyPShicih0aGlzLHYpLGJyKHRoaXMsYiwhMCkpO2dldCBzaG93VG9vbGJhcigpe3JldHVybiB0aGlzLiNyfXNldCBzaG93VG9vbGJhcih1ZSl7dGhpcy4jcj11ZX0jcz0oYnIodGhpcyxnKSxicih0aGlzLGssMSkpO2dldCB6b29tKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHpvb20odWUpe3RoaXMuI3M9dWV9I2k9KGJyKHRoaXMsQyksYnIodGhpcyxfLDApKTtnZXQgcGFuWCgpe3JldHVybiB0aGlzLiNpfXNldCBwYW5YKHVlKXt0aGlzLiNpPXVlfSNvPShicih0aGlzLHopLGJyKHRoaXMsVCwwKSk7Z2V0IHBhblkoKXtyZXR1cm4gdGhpcy4jb31zZXQgcGFuWSh1ZSl7dGhpcy4jbz11ZX0jbj0oYnIodGhpcyxFKSxicih0aGlzLE0sITEpKTtnZXQgaXNEcmFnZ2luZygpe3JldHVybiB0aGlzLiNufXNldCBpc0RyYWdnaW5nKHVlKXt0aGlzLiNuPXVlfSNsPShicih0aGlzLFMpLGJyKHRoaXMsQSwhMCkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGxvYWRpbmcodWUpe3RoaXMuI2w9dWV9I2M9KGJyKHRoaXMsRiksYnIodGhpcyxqLCIiKSk7Z2V0IGVycm9yKCl7cmV0dXJuIHRoaXMuI2N9c2V0IGVycm9yKHVlKXt0aGlzLiNjPXVlfSNkPShicih0aGlzLEcpLGJyKHRoaXMsUiwwKSk7Z2V0IGltYWdlTmF0dXJhbFdpZHRoKCl7cmV0dXJuIHRoaXMuI2R9c2V0IGltYWdlTmF0dXJhbFdpZHRoKHVlKXt0aGlzLiNkPXVlfSN1PShicih0aGlzLFUpLGJyKHRoaXMsSSwwKSk7Z2V0IGltYWdlTmF0dXJhbEhlaWdodCgpe3JldHVybiB0aGlzLiN1fXNldCBpbWFnZU5hdHVyYWxIZWlnaHQodWUpe3RoaXMuI3U9dWV9ZHJhZ1N0YXJ0WD0oYnIodGhpcyxxKSwwKTtkcmFnU3RhcnRZPTA7ZHJhZ1N0YXJ0UGFuWD0wO2RyYWdTdGFydFBhblk9MDtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmOwogICAgICAgIH0KCiAgICAgICAgLnZpZXdlci1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgyMTUgMjAlIDEwJSkiKX07CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCJoc2woMjE1IDIwJSAxNSUpIil9OwogICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDRweDsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbiB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbiBkZWVzLWljb24gewogICAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItYnV0dG9uOmhvdmVyIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MiUpIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1idXR0b246YWN0aXZlIHsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzNmM2Y0NiIpfTsKICAgICAgICB9CgogICAgICAgIC56b29tLWxldmVsIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBtaW4td2lkdGg6IDQ4cHg7CiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH0KCiAgICAgICAgLmltYWdlLWFyZWEgewogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICBjdXJzb3I6ICR7dGhpcy56b29tPjE/dGhpcy5pc0RyYWdnaW5nPyJncmFiYmluZyI6ImdyYWIiOiJkZWZhdWx0In07CiAgICAgICAgfQoKICAgICAgICAuY2hlY2tlcmJvYXJkIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgYmFja2dyb3VuZC1pbWFnZToKICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCAke2guYmRUaGVtZSgiI2YwZjBmMCIsIiMxYTFhMWEiKX0gMjUlLCB0cmFuc3BhcmVudCAyNSUpLAogICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAke2guYmRUaGVtZSgiI2YwZjBmMCIsIiMxYTFhMWEiKX0gMjUlLCB0cmFuc3BhcmVudCAyNSUpLAogICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHRyYW5zcGFyZW50IDc1JSwgJHtoLmJkVGhlbWUoIiNmMGYwZjAiLCIjMWExYTFhIil9IDc1JSksCiAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHRyYW5zcGFyZW50IDc1JSwgJHtoLmJkVGhlbWUoIiNmMGYwZjAiLCIjMWExYTFhIil9IDc1JSk7CiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDsKICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMCwgMCA4cHgsIDhweCAtOHB4LCAtOHB4IDBweDsKICAgICAgICAgIG9wYWNpdHk6IDAuMzsKICAgICAgICB9CgogICAgICAgIC5pbWFnZS13cmFwcGVyIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR7dGhpcy5wYW5YfXB4LCAke3RoaXMucGFuWX1weCkgc2NhbGUoJHt0aGlzLnpvb219KTsKICAgICAgICAgIHRyYW5zaXRpb246ICR7dGhpcy5pc0RyYWdnaW5nPyJub25lIjoidHJhbnNmb3JtIDAuMnMgZWFzZSJ9OwogICAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgICB9CgogICAgICAgIC5pbWFnZS13cmFwcGVyIGltZyB7CiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlOwogICAgICAgICAgb2JqZWN0LWZpdDogJHt0aGlzLmZpdH07CiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAgIC13ZWJraXQtdXNlci1kcmFnOiBub25lOwogICAgICAgIH0KCiAgICAgICAgLmltYWdlLXdyYXBwZXIgaW1nLmFjdHVhbCB7CiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7CiAgICAgICAgICBtYXgtaGVpZ2h0OiBub25lOwogICAgICAgICAgb2JqZWN0LWZpdDogbm9uZTsKICAgICAgICB9CgogICAgICAgIC5sb2FkaW5nLW92ZXJsYXkgewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMjU1LDI1NSwyNTUsMC44KSIsInJnYmEoMCwwLDAsMC42KSIpfTsKICAgICAgICB9CgogICAgICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzZjNmNDYiKX07CiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgICAgfQoKICAgICAgICAuZXJyb3Itb3ZlcmxheSB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIH0KCiAgICAgICAgLmVycm9yLW92ZXJsYXkgLmVycm9yLWljb24gewogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDsKICAgICAgICB9CgogICAgICAgIC5lcnJvci10ZXh0IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB9CgogICAgICAgIC5pbWFnZS1pbmZvIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM3MTcxN2EiKX07CiAgICAgICAgICBwYWRkaW5nOiAwIDRweDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CgogICAgICA8ZGl2IGNsYXNzPSJ2aWV3ZXItY29udGFpbmVyIj4KICAgICAgICAke3RoaXMuc2hvd1Rvb2xiYXI/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy56b29tT3V0fSB0aXRsZT0iWm9vbSBvdXQiPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Wm9vbU91dCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24iIEBjbGljaz0ke3RoaXMucmVzZXRab29tfT4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ6b29tLWxldmVsIj4ke01hdGgucm91bmQodGhpcy56b29tKjEwMCl9JTwvc3Bhbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy56b29tSW59IHRpdGxlPSJab29tIGluIj4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlpvb21JbiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5maXRUb1NjcmVlbn0gdGl0bGU9IkZpdCB0byBzY3JlZW4iPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6TWF4aW1pemUiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRvb2xiYXItYnV0dG9uIiBAY2xpY2s9JHt0aGlzLmFjdHVhbFNpemV9IHRpdGxlPSJBY3R1YWwgc2l6ZSAoMTAwJSkiPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6U2NhbiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7dGhpcy5kb3dubG9hZH0gdGl0bGU9IkRvd25sb2FkIj4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkRvd25sb2FkIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICR7dGhpcy5pbWFnZU5hdHVyYWxXaWR0aD4wP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cCI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW1hZ2UtaW5mbyI+JHt0aGlzLmltYWdlTmF0dXJhbFdpZHRofSB4ICR7dGhpcy5pbWFnZU5hdHVyYWxIZWlnaHR9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9ImltYWdlLWFyZWEiCiAgICAgICAgICBAd2hlZWw9JHt0aGlzLmhhbmRsZVdoZWVsfQogICAgICAgICAgQG1vdXNlZG93bj0ke3RoaXMuaGFuZGxlTW91c2VEb3dufQogICAgICAgICAgQG1vdXNlbW92ZT0ke3RoaXMuaGFuZGxlTW91c2VNb3ZlfQogICAgICAgICAgQG1vdXNldXA9JHt0aGlzLmhhbmRsZU1vdXNlVXB9CiAgICAgICAgICBAbW91c2VsZWF2ZT0ke3RoaXMuaGFuZGxlTW91c2VVcH0KICAgICAgICAgIEBkYmxjbGljaz0ke3RoaXMuaGFuZGxlRG91YmxlQ2xpY2t9CiAgICAgICAgPgogICAgICAgICAgPGRpdiBjbGFzcz0iY2hlY2tlcmJvYXJkIj48L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImltYWdlLXdyYXBwZXIiPgogICAgICAgICAgICAke3RoaXMuc3JjP3dgCiAgICAgICAgICAgICAgPGltZwogICAgICAgICAgICAgICAgY2xhc3M9IiR7dGhpcy5maXQ9PT0iYWN0dWFsIj8iYWN0dWFsIjoiIn0iCiAgICAgICAgICAgICAgICBzcmM9IiR7dGhpcy5zcmN9IgogICAgICAgICAgICAgICAgYWx0PSIke3RoaXMuYWx0fSIKICAgICAgICAgICAgICAgIEBsb2FkPSR7dGhpcy5oYW5kbGVJbWFnZUxvYWR9CiAgICAgICAgICAgICAgICBAZXJyb3I9JHt0aGlzLmhhbmRsZUltYWdlRXJyb3J9CiAgICAgICAgICAgICAgICBkcmFnZ2FibGU9ImZhbHNlIgogICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7dGhpcy5sb2FkaW5nJiZ0aGlzLnNyYz93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLW92ZXJsYXkiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICAgICR7dGhpcy5lcnJvcj93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJlcnJvci1vdmVybGF5Ij4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJlcnJvci1pY29uIiBpY29uPSJsdWNpZGU6SW1hZ2VPZmYiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlcnJvci10ZXh0Ij4ke3RoaXMuZXJyb3J9PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH16b29tSW4oKXt0aGlzLnpvb209TWF0aC5taW4oMTAsdGhpcy56b29tKjEuMjUpfXpvb21PdXQoKXt0aGlzLnpvb209TWF0aC5tYXgoLjEsdGhpcy56b29tLzEuMjUpLHRoaXMuem9vbTw9MSYmKHRoaXMucGFuWD0wLHRoaXMucGFuWT0wKX1yZXNldFpvb20oKXt0aGlzLnpvb209MSx0aGlzLnBhblg9MCx0aGlzLnBhblk9MH1maXRUb1NjcmVlbigpe3RoaXMuem9vbT0xLHRoaXMucGFuWD0wLHRoaXMucGFuWT0wLHRoaXMuZml0PSJjb250YWluIn1hY3R1YWxTaXplKCl7dGhpcy56b29tPTEsdGhpcy5wYW5YPTAsdGhpcy5wYW5ZPTAsdGhpcy5maXQ9ImFjdHVhbCJ9ZG93bmxvYWQoKXtpZighdGhpcy5zcmMpcmV0dXJuO2xldCB1ZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIik7dWUuaHJlZj10aGlzLnNyYyx1ZS5kb3dubG9hZD10aGlzLnNyYy5zcGxpdCgiLyIpLnBvcCgpfHwiaW1hZ2UiLHVlLmNsaWNrKCl9aGFuZGxlSW1hZ2VMb2FkKHVlKXtsZXQgWT11ZS50YXJnZXQ7dGhpcy5sb2FkaW5nPSExLHRoaXMuZXJyb3I9IiIsdGhpcy5pbWFnZU5hdHVyYWxXaWR0aD1ZLm5hdHVyYWxXaWR0aCx0aGlzLmltYWdlTmF0dXJhbEhlaWdodD1ZLm5hdHVyYWxIZWlnaHR9aGFuZGxlSW1hZ2VFcnJvcigpe3RoaXMubG9hZGluZz0hMSx0aGlzLmVycm9yPSJGYWlsZWQgdG8gbG9hZCBpbWFnZSJ9aGFuZGxlV2hlZWwodWUpe3VlLnByZXZlbnREZWZhdWx0KCk7bGV0IFk9dWUuZGVsdGFZPjA/Ljk6MS4xLFg9TWF0aC5taW4oMTAsTWF0aC5tYXgoLjEsdGhpcy56b29tKlkpKTt0aGlzLnpvb209WCx0aGlzLnpvb208PTEmJih0aGlzLnBhblg9MCx0aGlzLnBhblk9MCl9aGFuZGxlTW91c2VEb3duKHVlKXt0aGlzLnpvb208PTF8fCh0aGlzLmlzRHJhZ2dpbmc9ITAsdGhpcy5kcmFnU3RhcnRYPXVlLmNsaWVudFgsdGhpcy5kcmFnU3RhcnRZPXVlLmNsaWVudFksdGhpcy5kcmFnU3RhcnRQYW5YPXRoaXMucGFuWCx0aGlzLmRyYWdTdGFydFBhblk9dGhpcy5wYW5ZKX1oYW5kbGVNb3VzZU1vdmUodWUpe3RoaXMuaXNEcmFnZ2luZyYmKHRoaXMucGFuWD10aGlzLmRyYWdTdGFydFBhblgrKHVlLmNsaWVudFgtdGhpcy5kcmFnU3RhcnRYKSx0aGlzLnBhblk9dGhpcy5kcmFnU3RhcnRQYW5ZKyh1ZS5jbGllbnRZLXRoaXMuZHJhZ1N0YXJ0WSkpfWhhbmRsZU1vdXNlVXAoKXt0aGlzLmlzRHJhZ2dpbmc9ITF9aGFuZGxlRG91YmxlQ2xpY2soKXt0aGlzLnpvb209PT0xP3RoaXMuem9vbT0yOih0aGlzLnpvb209MSx0aGlzLnBhblg9MCx0aGlzLnBhblk9MCl9dXBkYXRlZCh1ZSl7c3VwZXIudXBkYXRlZCh1ZSksdWUuaGFzKCJzcmMiKSYmKHRoaXMubG9hZGluZz0hMCx0aGlzLmVycm9yPSIiLHRoaXMuem9vbT0xLHRoaXMucGFuWD0wLHRoaXMucGFuWT0wLHRoaXMuaW1hZ2VOYXR1cmFsV2lkdGg9MCx0aGlzLmltYWdlTmF0dXJhbEhlaWdodD0wKX1zdGF0aWN7YnIocix0KX19O3JldHVybiBjZT1yfSkoKX0pO3ZhciBiM2E9ZigoKT0+e0JRZSgpfSk7dmFyIHYzYSx4M2E9ZigoKT0+e2xlKCk7djNhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgcGFkZGluZzogNDhweDsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmOGY5ZmEiLCIjMGEwYTBhIil9OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBnYXA6IDMycHg7CiAgICB9CgogICAgLnNlY3Rpb24gewogICAgICBtYXgtd2lkdGg6IDYwMHB4OwogICAgICB3aWR0aDogMTAwJTsKICAgICAgbWFyZ2luOiAwIGF1dG87CiAgICB9CgogICAgLnNlY3Rpb24tdGl0bGUgewogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIH0KCiAgICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgIH0KCiAgICBkZWVzLWF1ZGlvLXZpZXdlciB7CiAgICAgIGhlaWdodDogMjAwcHg7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzI3MjcyYSIpfTsKICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BdWRpbyB3aXRoIFdhdmVmb3JtPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkF1ZGlvIHBsYXllciB3aXRoIHdhdmVmb3JtIHZpc3VhbGl6YXRpb24gYW5kIGZ1bGwgdHJhbnNwb3J0IGNvbnRyb2xzLjwvZGl2PgogICAgICA8ZGVlcy1hdWRpby12aWV3ZXIKICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMS5tcDMiCiAgICAgICAgdGl0bGU9IlNvdW5kSGVsaXggU29uZyAxIgogICAgICAgIGFydGlzdD0iVC4gU2NodWVyZ2VyIgogICAgICA+PC9kZWVzLWF1ZGlvLXZpZXdlcj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BdWRpbyB3aXRob3V0IFdhdmVmb3JtPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlNpbXBsZSBhdWRpbyBwbGF5ZXIgd2l0aCBhIHNlZWtiYXIgaW5zdGVhZCBvZiBhIHdhdmVmb3JtLjwvZGl2PgogICAgICA8ZGVlcy1hdWRpby12aWV3ZXIKICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMi5tcDMiCiAgICAgICAgdGl0bGU9IlNvdW5kSGVsaXggU29uZyAyIgogICAgICAgIC5zaG93V2F2ZWZvcm09JHshMX0KICAgICAgPjwvZGVlcy1hdWRpby12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+TWluaW1hbCBBdWRpbyBQbGF5ZXI8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+Tm8gdGl0bGUgb3IgYXJ0aXN0IG1ldGFkYXRhIOKAlCBqdXN0IHRoZSBwbGF5ZXIuPC9kaXY+CiAgICAgIDxkZWVzLWF1ZGlvLXZpZXdlcgogICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuc291bmRoZWxpeC5jb20vZXhhbXBsZXMvbXAzL1NvdW5kSGVsaXgtU29uZy0zLm1wMyIKICAgICAgPjwvZGVlcy1hdWRpby12aWV3ZXI+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtbyIpfSk7dmFyIElpLEZhLHkzYSxIUWU9ZigoKT0+e2xlKCk7dmEoKTt4M2EoKTtJaT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sRmE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHkzYT0oKCk9PntsZXQgYT1baWUoImRlZXMtYXVkaW8tdmlld2VyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W10sQixNPVtdLFM9W10sUCxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFgsSj1bXSxaPVtdLGdlLGFlPVtdLHJlPVtdO3ZhciB5ZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc0F1ZGlvVmlld2VyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFY9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKCldLHU9WyQoKV0seD1bJCh7dHlwZTpCb29sZWFufSldLHk9WyQoe3R5cGU6Qm9vbGVhbn0pXSxOPVskKHt0eXBlOkJvb2xlYW59KV0sTz1bSygpXSxCPVtLKCldLFA9W0soKV0sVz1bSygpXSxoZT1bSygpXSxtZT1bSygpXSxjZT1bSygpXSxYPVtLKCldLGdlPVtLKCldLElpKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3JjIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJzcmMiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5zcmMsImdldCIpLHNldDpzKChILG9lKT0+e0guc3JjPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LG4sbCksSWkodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aXRsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4idGl0bGUiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC50aXRsZSwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC50aXRsZT1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxjLHApLElpKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYXJ0aXN0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJhcnRpc3QiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5hcnRpc3QsImdldCIpLHNldDpzKChILG9lKT0+e0guYXJ0aXN0PW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LG0sdiksSWkodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93V2F2ZWZvcm0iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+InNob3dXYXZlZm9ybSJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILnNob3dXYXZlZm9ybSwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5zaG93V2F2ZWZvcm09b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sYixnKSxJaSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9wbGF5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJhdXRvcGxheSJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmF1dG9wbGF5LCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmF1dG9wbGF5PW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGssQyksSWkodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb29wIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJsb29wImluIEgsImhhcyIpLGdldDpzKEg9PkgubG9vcCwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5sb29wPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LF8seiksSWkodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc1BsYXlpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImlzUGxheWluZyJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmlzUGxheWluZywiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5pc1BsYXlpbmc9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sVCxFKSxJaSh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRUaW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJjdXJyZW50VGltZSJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmN1cnJlbnRUaW1lLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmN1cnJlbnRUaW1lPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LE0sUyksSWkodGhpcyxudWxsLFAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkdXJhdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iZHVyYXRpb24iaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5kdXJhdGlvbiwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5kdXJhdGlvbj1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxBLEYpLElpKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidm9sdW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEg9PiJ2b2x1bWUiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC52b2x1bWUsImdldCIpLHNldDpzKChILG9lKT0+e0gudm9sdW1lPW9lfSwic2V0Iil9LG1ldGFkYXRhOlZ9LGosRyksSWkodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNNdXRlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iaXNNdXRlZCJpbiBILCJoYXMiKSxnZXQ6cyhIPT5ILmlzTXV0ZWQsImdldCIpLHNldDpzKChILG9lKT0+e0guaXNNdXRlZD1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxSLFUpLElpKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+ImxvYWRpbmciaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5sb2FkaW5nLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILmxvYWRpbmc9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sSSxxKSxJaSh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlcnJvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4iZXJyb3IiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC5lcnJvciwiZ2V0Iiksc2V0OnMoKEgsb2UpPT57SC5lcnJvcj1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSx1ZSxZKSxJaSh0aGlzLG51bGwsWCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndhdmVmb3JtRGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhIPT4id2F2ZWZvcm1EYXRhImluIEgsImhhcyIpLGdldDpzKEg9Pkgud2F2ZWZvcm1EYXRhLCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILndhdmVmb3JtRGF0YT1vZX0sInNldCIpfSxtZXRhZGF0YTpWfSxKLFopLElpKHRoaXMsbnVsbCxnZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndhdmVmb3JtUmVhZHkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoSD0+IndhdmVmb3JtUmVhZHkiaW4gSCwiaGFzIiksZ2V0OnMoSD0+SC53YXZlZm9ybVJlYWR5LCJnZXQiKSxzZXQ6cygoSCxvZSk9PntILndhdmVmb3JtUmVhZHk9b2V9LCJzZXQiKX0sbWV0YWRhdGE6Vn0sYWUscmUpLElpKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOlZ9LG51bGwsdCkseWU9cj1lLnZhbHVlLFYmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Vn0pfXN0YXRpYyBkZW1vPXYzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIl07I2U9RmEodGhpcyxuLCIiKTtnZXQgc3JjKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNyYyhWKXt0aGlzLiNlPVZ9I3Q9KEZhKHRoaXMsbCksRmEodGhpcyxjLCIiKSk7Z2V0IHRpdGxlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHRpdGxlKFYpe3RoaXMuI3Q9Vn0jYT0oRmEodGhpcyxwKSxGYSh0aGlzLG0sIiIpKTtnZXQgYXJ0aXN0KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGFydGlzdChWKXt0aGlzLiNhPVZ9I3I9KEZhKHRoaXMsdiksRmEodGhpcyxiLCEwKSk7Z2V0IHNob3dXYXZlZm9ybSgpe3JldHVybiB0aGlzLiNyfXNldCBzaG93V2F2ZWZvcm0oVil7dGhpcy4jcj1WfSNzPShGYSh0aGlzLGcpLEZhKHRoaXMsaywhMSkpO2dldCBhdXRvcGxheSgpe3JldHVybiB0aGlzLiNzfXNldCBhdXRvcGxheShWKXt0aGlzLiNzPVZ9I2k9KEZhKHRoaXMsQyksRmEodGhpcyxfLCExKSk7Z2V0IGxvb3AoKXtyZXR1cm4gdGhpcy4jaX1zZXQgbG9vcChWKXt0aGlzLiNpPVZ9I289KEZhKHRoaXMseiksRmEodGhpcyxULCExKSk7Z2V0IGlzUGxheWluZygpe3JldHVybiB0aGlzLiNvfXNldCBpc1BsYXlpbmcoVil7dGhpcy4jbz1WfSNuPShGYSh0aGlzLEUpLEZhKHRoaXMsTSwwKSk7Z2V0IGN1cnJlbnRUaW1lKCl7cmV0dXJuIHRoaXMuI259c2V0IGN1cnJlbnRUaW1lKFYpe3RoaXMuI249Vn0jbD0oRmEodGhpcyxTKSxGYSh0aGlzLEEsMCkpO2dldCBkdXJhdGlvbigpe3JldHVybiB0aGlzLiNsfXNldCBkdXJhdGlvbihWKXt0aGlzLiNsPVZ9I2M9KEZhKHRoaXMsRiksRmEodGhpcyxqLDEpKTtnZXQgdm9sdW1lKCl7cmV0dXJuIHRoaXMuI2N9c2V0IHZvbHVtZShWKXt0aGlzLiNjPVZ9I2Q9KEZhKHRoaXMsRyksRmEodGhpcyxSLCExKSk7Z2V0IGlzTXV0ZWQoKXtyZXR1cm4gdGhpcy4jZH1zZXQgaXNNdXRlZChWKXt0aGlzLiNkPVZ9I3U9KEZhKHRoaXMsVSksRmEodGhpcyxJLCExKSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jdX1zZXQgbG9hZGluZyhWKXt0aGlzLiN1PVZ9I3A9KEZhKHRoaXMscSksRmEodGhpcyx1ZSwiIikpO2dldCBlcnJvcigpe3JldHVybiB0aGlzLiNwfXNldCBlcnJvcihWKXt0aGlzLiNwPVZ9I2Y9KEZhKHRoaXMsWSksRmEodGhpcyxKLFtdKSk7Z2V0IHdhdmVmb3JtRGF0YSgpe3JldHVybiB0aGlzLiNmfXNldCB3YXZlZm9ybURhdGEoVil7dGhpcy4jZj1WfSNoPShGYSh0aGlzLFopLEZhKHRoaXMsYWUsITEpKTtnZXQgd2F2ZWZvcm1SZWFkeSgpe3JldHVybiB0aGlzLiNofXNldCB3YXZlZm9ybVJlYWR5KFYpe3RoaXMuI2g9Vn1hdWRpb0VsZW1lbnQ9KEZhKHRoaXMscmUpLG51bGwpO2NhbnZhc0VsZW1lbnQ9bnVsbDthbmltRnJhbWVJZD0wO3ZvbHVtZUJlZm9yZU11dGU9MTtyZW5kZXIoKXtsZXQgVj10aGlzLnRpdGxlJiZ0aGlzLmFydGlzdD9gJHt0aGlzLnRpdGxlfSBcdTIwMTQgJHt0aGlzLmFydGlzdH1gOnRoaXMudGl0bGV8fHRoaXMuYXJ0aXN0fHwiIjtyZXR1cm4gd2AKICAgICAgPHN0eWxlPgogICAgICAgIDpob3N0IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgUm9ib3RvLCBzYW5zLXNlcmlmOwogICAgICAgIH0KCiAgICAgICAgLnZpZXdlci1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTclKSIsImhzbCgyMTUgMjAlIDEwJSkiKX07CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhciB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogMTZweDsKICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICAgIGhlaWdodDogNDhweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiaHNsKDIxNSAyMCUgMTUlKSIpfTsKICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWdyb3VwIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1ncm91cC0tZW5kIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbiB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItYnV0dG9uIGRlZXMtaWNvbiB7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAudG9vbGJhci1idXR0b246aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTQgMzElIDkyJSkiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB9CgogICAgICAgIC50b29sYmFyLWJ1dHRvbjphY3RpdmUgewogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlNWU3ZWIiLCIjM2YzZjQ2Iil9OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItYnV0dG9uLmFjdGl2ZSB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgICAgIH0KCiAgICAgICAgLnRvb2xiYXItdGl0bGUgewogICAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIH0KCiAgICAgICAgLnRpbWUtZGlzcGxheSB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgICAgICBtaW4td2lkdGg6IDkwcHg7CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtZ3JvdXAgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDRweDsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtc2xpZGVyIHsKICAgICAgICAgIHdpZHRoOiA3MHB4OwogICAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICAgICAgICBhcHBlYXJhbmNlOiBub25lOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTQgMzElIDkxJSkiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtc2xpZGVyOjotd2Via2l0LXNsaWRlci10aHVtYiB7CiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgICAgICAgICB3aWR0aDogMTJweDsKICAgICAgICAgIGhlaWdodDogMTJweDsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtc2xpZGVyOjotbW96LXJhbmdlLXRodW1iIHsKICAgICAgICAgIHdpZHRoOiAxMnB4OwogICAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH0KCiAgICAgICAgLmNvbnRlbnQtYXJlYSB7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgfQoKICAgICAgICAud2F2ZWZvcm0tY29udGFpbmVyIHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB9CgogICAgICAgIC53YXZlZm9ybS1jb250YWluZXIgY2FudmFzIHsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgfQoKICAgICAgICAuc2Vla2Jhci1jb250YWluZXIgewogICAgICAgICAgd2lkdGg6IDgwJTsKICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7CiAgICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MSUpIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgfQoKICAgICAgICAuc2Vla2Jhci1maWxsIHsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3IDkxJSA2MCUpIiwiaHNsKDIxMyA5MyUgNjglKSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMXMgbGluZWFyOwogICAgICAgIH0KCiAgICAgICAgLmVycm9yLW92ZXJsYXkgewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICB9CgogICAgICAgIC5lcnJvci1vdmVybGF5IC5lcnJvci1pY29uIHsKICAgICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNmODcxNzEiKX07CiAgICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgfQoKICAgICAgICAuZXJyb3ItdGV4dCB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgfQoKICAgICAgICAubG9hZGluZy1vdmVybGF5IHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB9CgogICAgICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNCAzMSUgODYlKSIsImhzbCgyMTcgMjUlIDI4JSkiKX07CiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgICAgfQoKICAgICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9CiAgICAgICAgfQogICAgICA8L3N0eWxlPgoKICAgICAgPGRpdiBjbGFzcz0idmlld2VyLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idG9vbGJhci1idXR0b24iIEBjbGljaz0ke3RoaXMudG9nZ2xlUGxheX0+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6JHt0aGlzLmlzUGxheWluZz8iUGF1c2UiOiJQbGF5In0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRpbWUtZGlzcGxheSI+CiAgICAgICAgICAgICAgJHt0aGlzLmZvcm1hdFRpbWUodGhpcy5jdXJyZW50VGltZSl9IC8gJHt0aGlzLmZvcm1hdFRpbWUodGhpcy5kdXJhdGlvbil9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICR7Vj93YAogICAgICAgICAgICA8c3BhbiBjbGFzcz0idG9vbGJhci10aXRsZSI+JHtWfTwvc3Bhbj4KICAgICAgICAgIGA6IiJ9CgogICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cC0tZW5kIj4KICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiAke3RoaXMubG9vcD8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy50b2dnbGVMb29wfQogICAgICAgICAgICAgIHRpdGxlPSJMb29wIgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6UmVwZWF0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9idXR0b24+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ2b2x1bWUtZ3JvdXAiPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRvb2xiYXItYnV0dG9uIiBAY2xpY2s9JHt0aGlzLnRvZ2dsZU11dGV9IHRpdGxlPSIke3RoaXMuaXNNdXRlZD8iVW5tdXRlIjoiTXV0ZSJ9Ij4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOiR7dGhpcy5pc011dGVkfHx0aGlzLnZvbHVtZT09PTA/IlZvbHVtZVgiOnRoaXMudm9sdW1lPC41PyJWb2x1bWUxIjoiVm9sdW1lMiJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIGNsYXNzPSJ2b2x1bWUtc2xpZGVyIgogICAgICAgICAgICAgICAgdHlwZT0icmFuZ2UiCiAgICAgICAgICAgICAgICBtaW49IjAiCiAgICAgICAgICAgICAgICBtYXg9IjEiCiAgICAgICAgICAgICAgICBzdGVwPSIwLjAxIgogICAgICAgICAgICAgICAgLnZhbHVlPSR7U3RyaW5nKHRoaXMuaXNNdXRlZD8wOnRoaXMudm9sdW1lKX0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3RoaXMuaGFuZGxlVm9sdW1lQ2hhbmdlfQogICAgICAgICAgICAgIC8+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtYXJlYSI+CiAgICAgICAgICAke3RoaXMuZXJyb3I/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXJyb3Itb3ZlcmxheSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0iZXJyb3ItaWNvbiIgaWNvbj0ibHVjaWRlOk11c2ljT2ZmIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZXJyb3ItdGV4dCI+JHt0aGlzLmVycm9yfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOnRoaXMubG9hZGluZz93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLW92ZXJsYXkiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDp0aGlzLnNob3dXYXZlZm9ybT93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3YXZlZm9ybS1jb250YWluZXIiIEBjbGljaz0ke3RoaXMuaGFuZGxlV2F2ZWZvcm1DbGlja30+CiAgICAgICAgICAgICAgPGNhbnZhcz48L2NhbnZhcz4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlZWtiYXItY29udGFpbmVyIiBAY2xpY2s9JHt0aGlzLmhhbmRsZVNlZWtiYXJDbGlja30+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2Vla2Jhci1maWxsIiBzdHlsZT0id2lkdGg6ICR7dGhpcy5kdXJhdGlvbj90aGlzLmN1cnJlbnRUaW1lL3RoaXMuZHVyYXRpb24qMTAwOjB9JSI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYH0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnNyYyYmdGhpcy5pbml0QXVkaW8oKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5jbGVhbnVwKCl9YXN5bmMgdXBkYXRlZChWKXtzdXBlci51cGRhdGVkKFYpLFYuaGFzKCJzcmMiKSYmdGhpcy5zcmMmJih0aGlzLmNsZWFudXAoKSx0aGlzLmluaXRBdWRpbygpKSwoVi5oYXMoIndhdmVmb3JtRGF0YSIpfHxWLmhhcygiY3VycmVudFRpbWUiKSkmJnRoaXMuZHJhd1dhdmVmb3JtKCl9cGxheSgpe3RoaXMuYXVkaW9FbGVtZW50Py5wbGF5KCl9cGF1c2UoKXt0aGlzLmF1ZGlvRWxlbWVudD8ucGF1c2UoKX10b2dnbGVQbGF5KCl7dGhpcy5pc1BsYXlpbmc/dGhpcy5wYXVzZSgpOnRoaXMucGxheSgpfXNlZWsoVil7dGhpcy5hdWRpb0VsZW1lbnQmJih0aGlzLmF1ZGlvRWxlbWVudC5jdXJyZW50VGltZT1WKX1zZXRWb2x1bWUoVil7dGhpcy52b2x1bWU9TWF0aC5tYXgoMCxNYXRoLm1pbigxLFYpKSx0aGlzLmF1ZGlvRWxlbWVudCYmKHRoaXMuYXVkaW9FbGVtZW50LnZvbHVtZT10aGlzLnZvbHVtZSksdGhpcy52b2x1bWU+MCYmKHRoaXMuaXNNdXRlZD0hMSl9dG9nZ2xlTXV0ZSgpe3RoaXMuaXNNdXRlZD8odGhpcy5pc011dGVkPSExLHRoaXMudm9sdW1lPXRoaXMudm9sdW1lQmVmb3JlTXV0ZXx8LjUsdGhpcy5hdWRpb0VsZW1lbnQmJih0aGlzLmF1ZGlvRWxlbWVudC52b2x1bWU9dGhpcy52b2x1bWUpKToodGhpcy52b2x1bWVCZWZvcmVNdXRlPXRoaXMudm9sdW1lLHRoaXMuaXNNdXRlZD0hMCx0aGlzLmF1ZGlvRWxlbWVudCYmKHRoaXMuYXVkaW9FbGVtZW50LnZvbHVtZT0wKSl9dG9nZ2xlTG9vcCgpe3RoaXMubG9vcD0hdGhpcy5sb29wLHRoaXMuYXVkaW9FbGVtZW50JiYodGhpcy5hdWRpb0VsZW1lbnQubG9vcD10aGlzLmxvb3ApfWluaXRBdWRpbygpe3RoaXMuYXVkaW9FbGVtZW50PW5ldyBBdWRpbyx0aGlzLmF1ZGlvRWxlbWVudC5jcm9zc09yaWdpbj0iYW5vbnltb3VzIix0aGlzLmF1ZGlvRWxlbWVudC5zcmM9dGhpcy5zcmMsdGhpcy5hdWRpb0VsZW1lbnQudm9sdW1lPXRoaXMuaXNNdXRlZD8wOnRoaXMudm9sdW1lLHRoaXMuYXVkaW9FbGVtZW50Lmxvb3A9dGhpcy5sb29wLHRoaXMuYXVkaW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZG1ldGFkYXRhIiwoKT0+e3RoaXMuZHVyYXRpb249dGhpcy5hdWRpb0VsZW1lbnQuZHVyYXRpb24sdGhpcy5sb2FkaW5nPSExfSksdGhpcy5hdWRpb0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGxheSIsKCk9Pnt0aGlzLmlzUGxheWluZz0hMCx0aGlzLnN0YXJ0VGltZVVwZGF0ZSgpfSksdGhpcy5hdWRpb0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigicGF1c2UiLCgpPT57dGhpcy5pc1BsYXlpbmc9ITEsdGhpcy5zdG9wVGltZVVwZGF0ZSgpfSksdGhpcy5hdWRpb0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZW5kZWQiLCgpPT57dGhpcy5pc1BsYXlpbmc9ITEsdGhpcy5zdG9wVGltZVVwZGF0ZSgpfSksdGhpcy5hdWRpb0VsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLCgpPT57dGhpcy5lcnJvcj0iRmFpbGVkIHRvIGxvYWQgYXVkaW8iLHRoaXMubG9hZGluZz0hMX0pLHRoaXMuYXVkaW9FbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoInRpbWV1cGRhdGUiLCgpPT57dGhpcy5jdXJyZW50VGltZT10aGlzLmF1ZGlvRWxlbWVudC5jdXJyZW50VGltZX0pLHRoaXMuYXV0b3BsYXkmJnRoaXMuYXVkaW9FbGVtZW50LnBsYXkoKS5jYXRjaCgoKT0+e30pLHRoaXMuc2hvd1dhdmVmb3JtJiZ0aGlzLmxvYWRXYXZlZm9ybSgpfWFzeW5jIGxvYWRXYXZlZm9ybSgpe3RyeXt0aGlzLmxvYWRpbmc9ITA7bGV0IEg9YXdhaXQoYXdhaXQgZmV0Y2godGhpcy5zcmMpKS5hcnJheUJ1ZmZlcigpLG9lPW5ldyBBdWRpb0NvbnRleHQsdGU9KGF3YWl0IG9lLmRlY29kZUF1ZGlvRGF0YShIKSkuZ2V0Q2hhbm5lbERhdGEoMCksemU9MjAwLE9lPU1hdGguZmxvb3IodGUubGVuZ3RoL3plKSxxZT1bXTtmb3IobGV0ICRlPTA7JGU8emU7JGUrKyl7bGV0IENlPTA7Zm9yKGxldCBNZT0wO01lPE9lO01lKyspQ2UrPU1hdGguYWJzKHRlWyRlKk9lK01lXSk7cWUucHVzaChDZS9PZSl9bGV0IGN0PU1hdGgubWF4KC4uLnFlKTt0aGlzLndhdmVmb3JtRGF0YT1xZS5tYXAoJGU9PmN0PjA/JGUvY3Q6MCksdGhpcy53YXZlZm9ybVJlYWR5PSEwLHRoaXMubG9hZGluZz0hMSxhd2FpdCBvZS5jbG9zZSgpfWNhdGNoe3RoaXMud2F2ZWZvcm1SZWFkeT0hMSx0aGlzLmxvYWRpbmc9ITF9fWRyYXdXYXZlZm9ybSgpe2lmKCF0aGlzLnNob3dXYXZlZm9ybXx8IXRoaXMud2F2ZWZvcm1SZWFkeSlyZXR1cm47bGV0IFY9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJjYW52YXMiKTtpZighVilyZXR1cm47dGhpcy5jYW52YXNFbGVtZW50PVY7bGV0IEg9Vi5wYXJlbnRFbGVtZW50LG9lPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxLHNlPUguY2xpZW50V2lkdGgsdGU9SC5jbGllbnRIZWlnaHQ7Vi53aWR0aD1zZSpvZSxWLmhlaWdodD10ZSpvZTtsZXQgemU9Vi5nZXRDb250ZXh0KCIyZCIpO2lmKCF6ZSlyZXR1cm47emUuc2NhbGUob2Usb2UpLHplLmNsZWFyUmVjdCgwLDAsc2UsdGUpO2xldCBPZT10aGlzLndhdmVmb3JtRGF0YS5sZW5ndGg7aWYoT2U9PT0wKXJldHVybjtsZXQgcWU9c2UvT2UsY3Q9dGhpcy5kdXJhdGlvbj4wP3RoaXMuY3VycmVudFRpbWUvdGhpcy5kdXJhdGlvbjowLCRlPU1hdGguZmxvb3IoY3QqT2UpLENlPWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0aGVtZS1kYXJrIil8fHdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcyxNZT1DZT8iaHNsKDIxMyA5MyUgNjglKSI6ImhzbCgyMTcgOTElIDYwJSkiLGRlPUNlPyJoc2woMjE3IDI1JSAyMiUpIjoiaHNsKDIxNCAzMSUgODYlKSI7Zm9yKGxldCB2ZT0wO3ZlPE9lO3ZlKyspe2xldCBBZT10aGlzLndhdmVmb3JtRGF0YVt2ZV0sS2U9TWF0aC5tYXgoMixBZSoodGUtNCkpLG50PXZlKnFlLFN0PSh0ZS1LZSkvMjt6ZS5maWxsU3R5bGU9dmU8JGU/TWU6ZGUsemUuZmlsbFJlY3QobnQrLjUsU3QscWUtMSxLZSl9fWhhbmRsZVdhdmVmb3JtQ2xpY2soVil7bGV0IEg9Vi5jdXJyZW50VGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG9lPShWLmNsaWVudFgtSC5sZWZ0KS9ILndpZHRoO3RoaXMuc2VlayhvZSp0aGlzLmR1cmF0aW9uKX1oYW5kbGVTZWVrYmFyQ2xpY2soVil7bGV0IEg9Vi5jdXJyZW50VGFyZ2V0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG9lPShWLmNsaWVudFgtSC5sZWZ0KS9ILndpZHRoO3RoaXMuc2VlayhvZSp0aGlzLmR1cmF0aW9uKX1oYW5kbGVWb2x1bWVDaGFuZ2UoVil7bGV0IEg9cGFyc2VGbG9hdChWLnRhcmdldC52YWx1ZSk7dGhpcy5zZXRWb2x1bWUoSCl9c3RhcnRUaW1lVXBkYXRlKCl7dGhpcy5zdG9wVGltZVVwZGF0ZSgpO2xldCBWPXMoKCk9Pnt0aGlzLmF1ZGlvRWxlbWVudCYmdGhpcy5pc1BsYXlpbmcmJih0aGlzLmN1cnJlbnRUaW1lPXRoaXMuYXVkaW9FbGVtZW50LmN1cnJlbnRUaW1lLHRoaXMuYW5pbUZyYW1lSWQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKFYpKX0sInVwZGF0ZSIpO3RoaXMuYW5pbUZyYW1lSWQ9cmVxdWVzdEFuaW1hdGlvbkZyYW1lKFYpfXN0b3BUaW1lVXBkYXRlKCl7dGhpcy5hbmltRnJhbWVJZCYmKGNhbmNlbEFuaW1hdGlvbkZyYW1lKHRoaXMuYW5pbUZyYW1lSWQpLHRoaXMuYW5pbUZyYW1lSWQ9MCl9Zm9ybWF0VGltZShWKXtpZighaXNGaW5pdGUoVil8fFY8MClyZXR1cm4iMDowMCI7bGV0IEg9TWF0aC5mbG9vcihWLzYwKSxvZT1NYXRoLmZsb29yKFYlNjApO3JldHVybmAke0h9OiR7b2UudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9YH1jbGVhbnVwKCl7dGhpcy5zdG9wVGltZVVwZGF0ZSgpLHRoaXMuYXVkaW9FbGVtZW50JiYodGhpcy5hdWRpb0VsZW1lbnQucGF1c2UoKSx0aGlzLmF1ZGlvRWxlbWVudC5zcmM9IiIsdGhpcy5hdWRpb0VsZW1lbnQ9bnVsbCksdGhpcy5pc1BsYXlpbmc9ITEsdGhpcy5jdXJyZW50VGltZT0wLHRoaXMuZHVyYXRpb249MCx0aGlzLndhdmVmb3JtRGF0YT1bXSx0aGlzLndhdmVmb3JtUmVhZHk9ITF9c3RhdGlje0ZhKHIsdCl9fTtyZXR1cm4geWU9cn0pKCl9KTt2YXIgdzNhPWYoKCk9PntIUWUoKX0pO3ZhciBNM2EsazNhPWYoKCk9PntsZSgpO00zYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDQ4cHg7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAzMnB4OwogICAgfQoKICAgIC5zZWN0aW9uIHsKICAgICAgbWF4LXdpZHRoOiA4MDBweDsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgfQoKICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CgogICAgLnNlY3Rpb24tZGVzY3JpcHRpb24gewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICB9CiAgPC9zdHlsZT4KCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlZpZGVvIHdpdGggQ3VzdG9tIENvbnRyb2xzPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkEgdmlkZW8gcGxheWVyIHdpdGggb3ZlcmxheSBjb250cm9scywgc2Vla2luZywgYW5kIHZvbHVtZSBhZGp1c3RtZW50LjwvZGl2PgogICAgICA8ZGVlcy12aWRlby12aWV3ZXIKICAgICAgICBzcmM9Imh0dHBzOi8vY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZ3R2LXZpZGVvcy1idWNrZXQvc2FtcGxlL0JpZ0J1Y2tCdW5ueS5tcDQiCiAgICAgICAgcG9zdGVyPSJodHRwczovL2NvbW1vbmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29tL2d0di12aWRlb3MtYnVja2V0L3NhbXBsZS9pbWFnZXMvQmlnQnVja0J1bm55LmpwZyIKICAgICAgPjwvZGVlcy12aWRlby12aWV3ZXI+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+QXV0b3BsYXkgTXV0ZWQ8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+VmlkZW8gdGhhdCBhdXRvcGxheXMgbXV0ZWQsIGNvbW1vbmx5IHVzZWQgZm9yIHByZXZpZXdzLjwvZGl2PgogICAgICA8ZGVlcy12aWRlby12aWV3ZXIKICAgICAgICBzcmM9Imh0dHBzOi8vY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZ3R2LXZpZGVvcy1idWNrZXQvc2FtcGxlL0VsZXBoYW50c0RyZWFtLm1wNCIKICAgICAgICBwb3N0ZXI9Imh0dHBzOi8vY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZ3R2LXZpZGVvcy1idWNrZXQvc2FtcGxlL2ltYWdlcy9FbGVwaGFudHNEcmVhbS5qcGciCiAgICAgICAgLmF1dG9wbGF5PSR7ITB9CiAgICAgICAgLm11dGVkPSR7ITB9CiAgICAgID48L2RlZXMtdmlkZW8tdmlld2VyPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPk5hdGl2ZSBDb250cm9sczwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5WaWRlbyB1c2luZyBicm93c2VyLW5hdGl2ZSBjb250cm9scyBpbnN0ZWFkIG9mIGN1c3RvbSBvdmVybGF5LjwvZGl2PgogICAgICA8ZGVlcy12aWRlby12aWV3ZXIKICAgICAgICBzcmM9Imh0dHBzOi8vY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vZ3R2LXZpZGVvcy1idWNrZXQvc2FtcGxlL0ZvckJpZ2dlckJsYXplcy5tcDQiCiAgICAgICAgLnNob3dDb250cm9scz0keyExfQogICAgICA+PC9kZWVzLXZpZGVvLXZpZXdlcj4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vIil9KTt2YXIgcm8sS2EsUzNhLHFRZT1mKCgpPT57bGUoKTt2YSgpO2szYSgpO3JvPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxLYT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sUzNhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy12aWRlby12aWV3ZXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sWCxKPVtdLFo9W107dmFyIGdlPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzVmlkZW9WaWV3ZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYWU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKCldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0seT1bJCh7dHlwZTpCb29sZWFufSldLE49WyQoe3R5cGU6Qm9vbGVhbn0pXSxPPVtLKCldLEI9W0soKV0sUD1bSygpXSxXPVtLKCldLGhlPVtLKCldLG1lPVtLKCldLGNlPVtLKCldLFg9W0soKV0scm8odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzcmMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJzcmMiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5zcmMsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5zcmM9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LG4sbCkscm8odGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwb3N0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJwb3N0ZXIiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5wb3N0ZXIsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5wb3N0ZXI9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LGMscCkscm8odGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93Q29udHJvbHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJzaG93Q29udHJvbHMiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5zaG93Q29udHJvbHMsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5zaG93Q29udHJvbHM9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LG0sdikscm8odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhdXRvcGxheSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+ImF1dG9wbGF5ImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuYXV0b3BsYXksImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5hdXRvcGxheT15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sYixnKSxybyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imxvb3AiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJsb29wImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUubG9vcCwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLmxvb3A9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LGssQykscm8odGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtdXRlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+Im11dGVkImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUubXV0ZWQsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5tdXRlZD15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sXyx6KSxybyh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzUGxheWluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+ImlzUGxheWluZyJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmlzUGxheWluZywiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLmlzUGxheWluZz15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sVCxFKSxybyh0aGlzLG51bGwsQix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRUaW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4iY3VycmVudFRpbWUiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5jdXJyZW50VGltZSwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLmN1cnJlbnRUaW1lPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxNLFMpLHJvKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZHVyYXRpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJkdXJhdGlvbiJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmR1cmF0aW9uLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuZHVyYXRpb249eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LEEsRikscm8odGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2b2x1bWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJ2b2x1bWUiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS52b2x1bWUsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS52b2x1bWU9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LGosRykscm8odGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+ImxvYWRpbmciaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5sb2FkaW5nLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUubG9hZGluZz15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sUixVKSxybyh0aGlzLG51bGwsbWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlcnJvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+ImVycm9yImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuZXJyb3IsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5lcnJvcj15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sSSxxKSxybyh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0Z1bGxzY3JlZW4iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJpc0Z1bGxzY3JlZW4iaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5pc0Z1bGxzY3JlZW4sImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5pc0Z1bGxzY3JlZW49eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LHVlLFkpLHJvKHRoaXMsbnVsbCxYLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udHJvbHNWaXNpYmxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4iY29udHJvbHNWaXNpYmxlImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuY29udHJvbHNWaXNpYmxlLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuY29udHJvbHNWaXNpYmxlPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxKLFopLHJvKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmFlfSxudWxsLHQpLGdlPXI9ZS52YWx1ZSxhZSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTphZX0pfXN0YXRpYyBkZW1vPU0zYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIl07I2U9S2EodGhpcyxuLCIiKTtnZXQgc3JjKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNyYyhhZSl7dGhpcy4jZT1hZX0jdD0oS2EodGhpcyxsKSxLYSh0aGlzLGMsIiIpKTtnZXQgcG9zdGVyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBvc3RlcihhZSl7dGhpcy4jdD1hZX0jYT0oS2EodGhpcyxwKSxLYSh0aGlzLG0sITApKTtnZXQgc2hvd0NvbnRyb2xzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNob3dDb250cm9scyhhZSl7dGhpcy4jYT1hZX0jcj0oS2EodGhpcyx2KSxLYSh0aGlzLGIsITEpKTtnZXQgYXV0b3BsYXkoKXtyZXR1cm4gdGhpcy4jcn1zZXQgYXV0b3BsYXkoYWUpe3RoaXMuI3I9YWV9I3M9KEthKHRoaXMsZyksS2EodGhpcyxrLCExKSk7Z2V0IGxvb3AoKXtyZXR1cm4gdGhpcy4jc31zZXQgbG9vcChhZSl7dGhpcy4jcz1hZX0jaT0oS2EodGhpcyxDKSxLYSh0aGlzLF8sITEpKTtnZXQgbXV0ZWQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgbXV0ZWQoYWUpe3RoaXMuI2k9YWV9I289KEthKHRoaXMseiksS2EodGhpcyxULCExKSk7Z2V0IGlzUGxheWluZygpe3JldHVybiB0aGlzLiNvfXNldCBpc1BsYXlpbmcoYWUpe3RoaXMuI289YWV9I249KEthKHRoaXMsRSksS2EodGhpcyxNLDApKTtnZXQgY3VycmVudFRpbWUoKXtyZXR1cm4gdGhpcy4jbn1zZXQgY3VycmVudFRpbWUoYWUpe3RoaXMuI249YWV9I2w9KEthKHRoaXMsUyksS2EodGhpcyxBLDApKTtnZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy4jbH1zZXQgZHVyYXRpb24oYWUpe3RoaXMuI2w9YWV9I2M9KEthKHRoaXMsRiksS2EodGhpcyxqLDEpKTtnZXQgdm9sdW1lKCl7cmV0dXJuIHRoaXMuI2N9c2V0IHZvbHVtZShhZSl7dGhpcy4jYz1hZX0jZD0oS2EodGhpcyxHKSxLYSh0aGlzLFIsITApKTtnZXQgbG9hZGluZygpe3JldHVybiB0aGlzLiNkfXNldCBsb2FkaW5nKGFlKXt0aGlzLiNkPWFlfSN1PShLYSh0aGlzLFUpLEthKHRoaXMsSSwiIikpO2dldCBlcnJvcigpe3JldHVybiB0aGlzLiN1fXNldCBlcnJvcihhZSl7dGhpcy4jdT1hZX0jcD0oS2EodGhpcyxxKSxLYSh0aGlzLHVlLCExKSk7Z2V0IGlzRnVsbHNjcmVlbigpe3JldHVybiB0aGlzLiNwfXNldCBpc0Z1bGxzY3JlZW4oYWUpe3RoaXMuI3A9YWV9I2Y9KEthKHRoaXMsWSksS2EodGhpcyxKLCEwKSk7Z2V0IGNvbnRyb2xzVmlzaWJsZSgpe3JldHVybiB0aGlzLiNmfXNldCBjb250cm9sc1Zpc2libGUoYWUpe3RoaXMuI2Y9YWV9aGlkZUNvbnRyb2xzVGltZXI9KEthKHRoaXMsWiksbnVsbCk7dmlkZW9FbGVtZW50PW51bGw7cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICA6aG9zdCB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgICB9CgogICAgICAgIC52aWRlby1jb250YWluZXIgewogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICBhc3BlY3QtcmF0aW86IDE2IC8gOTsKICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIH0KCiAgICAgICAgdmlkZW8gewogICAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBvYmplY3QtZml0OiBjb250YWluOwogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgfQoKICAgICAgICAub3ZlcmxheSB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICBpbnNldDogMDsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC5jZW50ZXItcGxheSB7CiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgICB0b3A6IDUwJTsKICAgICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgICAgICAgd2lkdGg6IDY0cHg7CiAgICAgICAgICBoZWlnaHQ6IDY0cHg7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTsKICAgICAgICAgIG9wYWNpdHk6ICR7dGhpcy5pc1BsYXlpbmc/MDoxfTsKICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiAke3RoaXMuaXNQbGF5aW5nPyJub25lIjoiYXV0byJ9OwogICAgICAgIH0KCiAgICAgICAgLmNlbnRlci1wbGF5IGRlZXMtaWNvbiB7CiAgICAgICAgICBmb250LXNpemU6IDI4cHg7CiAgICAgICAgfQoKICAgICAgICAuY2VudGVyLXBsYXk6aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMS4xKTsKICAgICAgICB9CgogICAgICAgIC5jb250cm9scy1iYXIgewogICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCByZ2JhKDAsIDAsIDAsIDAuNykpOwogICAgICAgICAgcGFkZGluZzogMjRweCAxMnB4IDEycHg7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICAgIGdhcDogOHB4OwogICAgICAgICAgb3BhY2l0eTogJHt0aGlzLmNvbnRyb2xzVmlzaWJsZXx8IXRoaXMuaXNQbGF5aW5nPzE6MH07CiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTsKICAgICAgICB9CgogICAgICAgIC5zZWVrYmFyLXJvdyB7CiAgICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICAgIGhlaWdodDogNHB4OwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIH0KCiAgICAgICAgLnNlZWtiYXItcm93OmhvdmVyIHsKICAgICAgICAgIGhlaWdodDogNnB4OwogICAgICAgIH0KCiAgICAgICAgLnNlZWtiYXItcHJvZ3Jlc3MgewogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAuY29udHJvbHMtcm93IHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgfQoKICAgICAgICAuY3RybC1idXR0b24gewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIHdpZHRoOiAzMnB4OwogICAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgICBjb2xvcjogI2ZmZmZmZjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLmN0cmwtYnV0dG9uIGRlZXMtaWNvbiB7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAuY3RybC1idXR0b246aG92ZXIgewogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTsKICAgICAgICB9CgogICAgICAgIC50aW1lLWRpc3BsYXkgewogICAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtczsKICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7CiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIH0KCiAgICAgICAgLnNwYWNlciB7CiAgICAgICAgICBmbGV4OiAxOwogICAgICAgIH0KCiAgICAgICAgLnZvbHVtZS1ncm91cCB7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGdhcDogNHB4OwogICAgICAgIH0KCiAgICAgICAgLnZvbHVtZS1zbGlkZXIgewogICAgICAgICAgd2lkdGg6IDYwcHg7CiAgICAgICAgICBoZWlnaHQ6IDRweDsKICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7CiAgICAgICAgICBib3JkZXItcmFkaXVzOiAycHg7CiAgICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIH0KCiAgICAgICAgLnZvbHVtZS1zbGlkZXI6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHsKICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsKICAgICAgICAgIHdpZHRoOiAxMnB4OwogICAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC52b2x1bWUtc2xpZGVyOjotbW96LXJhbmdlLXRodW1iIHsKICAgICAgICAgIHdpZHRoOiAxMnB4OwogICAgICAgICAgaGVpZ2h0OiAxMnB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjsKICAgICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB9CgogICAgICAgIC5sb2FkaW5nLW92ZXJsYXkgewogICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgICAgaW5zZXQ6IDA7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjMpOwogICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgfQoKICAgICAgICAubG9hZGluZy1zcGlubmVyIHsKICAgICAgICAgIHdpZHRoOiA0MHB4OwogICAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOwogICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZmZmZjsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0KICAgICAgICB9CgogICAgICAgIC5lcnJvci1vdmVybGF5IHsKICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICAgIGluc2V0OiAwOwogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7CiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgfQoKICAgICAgICAuZXJyb3Itb3ZlcmxheSBkZWVzLWljb24gewogICAgICAgICAgY29sb3I6ICNmODcxNzE7CiAgICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgfQoKICAgICAgICAuZXJyb3ItdGV4dCB7CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgfQogICAgICA8L3N0eWxlPgoKICAgICAgPGRpdgogICAgICAgIGNsYXNzPSJ2aWRlby1jb250YWluZXIiCiAgICAgICAgQG1vdXNlbW92ZT0ke3RoaXMuaGFuZGxlTW91c2VNb3ZlfQogICAgICAgIEBtb3VzZWxlYXZlPSR7dGhpcy5oYW5kbGVNb3VzZUxlYXZlfQogICAgICA+CiAgICAgICAgPHZpZGVvCiAgICAgICAgICAuc3JjPSR7dGhpcy5zcmN9CiAgICAgICAgICAucG9zdGVyPSR7dGhpcy5wb3N0ZXJ9CiAgICAgICAgICAubXV0ZWQ9JHt0aGlzLm11dGVkfQogICAgICAgICAgLmxvb3A9JHt0aGlzLmxvb3B9CiAgICAgICAgICA/YXV0b3BsYXk9JHt0aGlzLmF1dG9wbGF5fQogICAgICAgICAgP2NvbnRyb2xzPSR7IXRoaXMuc2hvd0NvbnRyb2xzfQogICAgICAgICAgcGxheXNpbmxpbmUKICAgICAgICAgIEBsb2FkZWRtZXRhZGF0YT0ke3RoaXMuaGFuZGxlTG9hZGVkTWV0YWRhdGF9CiAgICAgICAgICBAcGxheT0ke3RoaXMuaGFuZGxlUGxheX0KICAgICAgICAgIEBwYXVzZT0ke3RoaXMuaGFuZGxlUGF1c2V9CiAgICAgICAgICBAZW5kZWQ9JHt0aGlzLmhhbmRsZUVuZGVkfQogICAgICAgICAgQHRpbWV1cGRhdGU9JHt0aGlzLmhhbmRsZVRpbWVVcGRhdGV9CiAgICAgICAgICBAZXJyb3I9JHt0aGlzLmhhbmRsZUVycm9yfQogICAgICAgICAgQHdhaXRpbmc9JHsoKT0+e3RoaXMubG9hZGluZz0hMH19CiAgICAgICAgICBAY2FucGxheT0keygpPT57dGhpcy5sb2FkaW5nPSExfX0KICAgICAgICA+PC92aWRlbz4KCiAgICAgICAgJHt0aGlzLnNob3dDb250cm9scz93YAogICAgICAgICAgPGRpdiBjbGFzcz0ib3ZlcmxheSIgQGNsaWNrPSR7dGhpcy5oYW5kbGVPdmVybGF5Q2xpY2t9PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZW50ZXItcGxheSI+CiAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6UGxheSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29udHJvbHMtYmFyIiBAY2xpY2s9JHthZT0+YWUuc3RvcFByb3BhZ2F0aW9uKCl9PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlZWtiYXItcm93IiBAY2xpY2s9JHt0aGlzLmhhbmRsZVNlZWt9PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2Vla2Jhci1wcm9ncmVzcyIgc3R5bGU9IndpZHRoOiAke3RoaXMuZHVyYXRpb24/dGhpcy5jdXJyZW50VGltZS90aGlzLmR1cmF0aW9uKjEwMDowfSUiPjwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9scy1yb3ciPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3RybC1idXR0b24iIEBjbGljaz0ke3RoaXMudG9nZ2xlUGxheX0+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOiR7dGhpcy5pc1BsYXlpbmc/IlBhdXNlIjoiUGxheSJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgoKICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aW1lLWRpc3BsYXkiPgogICAgICAgICAgICAgICAgICAke3RoaXMuZm9ybWF0VGltZSh0aGlzLmN1cnJlbnRUaW1lKX0gLyAke3RoaXMuZm9ybWF0VGltZSh0aGlzLmR1cmF0aW9uKX0KICAgICAgICAgICAgICAgIDwvc3Bhbj4KCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3BhY2VyIj48L3NwYW4+CgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idm9sdW1lLWdyb3VwIj4KICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY3RybC1idXR0b24iIEBjbGljaz0ke3RoaXMudG9nZ2xlTXV0ZX0+CiAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6JHt0aGlzLm11dGVkfHx0aGlzLnZvbHVtZT09PTA/IlZvbHVtZVgiOnRoaXMudm9sdW1lPC41PyJWb2x1bWUxIjoiVm9sdW1lMiJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ2b2x1bWUtc2xpZGVyIgogICAgICAgICAgICAgICAgICAgIHR5cGU9InJhbmdlIgogICAgICAgICAgICAgICAgICAgIG1pbj0iMCIKICAgICAgICAgICAgICAgICAgICBtYXg9IjEiCiAgICAgICAgICAgICAgICAgICAgc3RlcD0iMC4wMSIKICAgICAgICAgICAgICAgICAgICAudmFsdWU9JHtTdHJpbmcodGhpcy5tdXRlZD8wOnRoaXMudm9sdW1lKX0KICAgICAgICAgICAgICAgICAgICBAaW5wdXQ9JHt0aGlzLmhhbmRsZVZvbHVtZUNoYW5nZX0KICAgICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImN0cmwtYnV0dG9uIiBAY2xpY2s9JHt0aGlzLnRvZ2dsZUZ1bGxzY3JlZW59IHRpdGxlPSJGdWxsc2NyZWVuIj4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6JHt0aGlzLmlzRnVsbHNjcmVlbj8iTWluaW1pemUiOiJNYXhpbWl6ZSJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgICR7dGhpcy5sb2FkaW5nJiYhdGhpcy5lcnJvcj93YAogICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1vdmVybGF5Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1zcGlubmVyIj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgICR7dGhpcy5lcnJvcj93YAogICAgICAgICAgPGRpdiBjbGFzcz0iZXJyb3Itb3ZlcmxheSI+CiAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlZpZGVvT2ZmIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVycm9yLXRleHQiPiR7dGhpcy5lcnJvcn08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy52aWRlb0VsZW1lbnQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJ2aWRlbyIpfHxudWxsLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImZ1bGxzY3JlZW5jaGFuZ2UiLHRoaXMuaGFuZGxlRnVsbHNjcmVlbkNoYW5nZSl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoImZ1bGxzY3JlZW5jaGFuZ2UiLHRoaXMuaGFuZGxlRnVsbHNjcmVlbkNoYW5nZSksdGhpcy5oaWRlQ29udHJvbHNUaW1lciYmY2xlYXJUaW1lb3V0KHRoaXMuaGlkZUNvbnRyb2xzVGltZXIpfXBsYXkoKXt0aGlzLnZpZGVvRWxlbWVudD8ucGxheSgpfXBhdXNlKCl7dGhpcy52aWRlb0VsZW1lbnQ/LnBhdXNlKCl9dG9nZ2xlUGxheSgpe3RoaXMuaXNQbGF5aW5nP3RoaXMucGF1c2UoKTp0aGlzLnBsYXkoKX1zZWVrKGFlKXt0aGlzLnZpZGVvRWxlbWVudCYmKHRoaXMudmlkZW9FbGVtZW50LmN1cnJlbnRUaW1lPWFlKX1zZXRWb2x1bWUoYWUpe3RoaXMudm9sdW1lPU1hdGgubWF4KDAsTWF0aC5taW4oMSxhZSkpLHRoaXMudmlkZW9FbGVtZW50JiYodGhpcy52aWRlb0VsZW1lbnQudm9sdW1lPXRoaXMudm9sdW1lKX10b2dnbGVGdWxsc2NyZWVuKCl7bGV0IGFlPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnZpZGVvLWNvbnRhaW5lciIpO2FlJiYodGhpcy5pc0Z1bGxzY3JlZW4/ZG9jdW1lbnQuZXhpdEZ1bGxzY3JlZW4/LigpOmFlLnJlcXVlc3RGdWxsc2NyZWVuPy4oKSl9aGFuZGxlTG9hZGVkTWV0YWRhdGEoKXt0aGlzLnZpZGVvRWxlbWVudCYmKHRoaXMuZHVyYXRpb249dGhpcy52aWRlb0VsZW1lbnQuZHVyYXRpb24sdGhpcy5sb2FkaW5nPSExKX1oYW5kbGVQbGF5KCl7dGhpcy5pc1BsYXlpbmc9ITAsdGhpcy5zY2hlZHVsZUhpZGVDb250cm9scygpfWhhbmRsZVBhdXNlKCl7dGhpcy5pc1BsYXlpbmc9ITEsdGhpcy5jb250cm9sc1Zpc2libGU9ITB9aGFuZGxlRW5kZWQoKXt0aGlzLmlzUGxheWluZz0hMSx0aGlzLmNvbnRyb2xzVmlzaWJsZT0hMH1oYW5kbGVUaW1lVXBkYXRlKCl7dGhpcy52aWRlb0VsZW1lbnQmJih0aGlzLmN1cnJlbnRUaW1lPXRoaXMudmlkZW9FbGVtZW50LmN1cnJlbnRUaW1lKX1oYW5kbGVFcnJvcigpe3RoaXMuZXJyb3I9IkZhaWxlZCB0byBsb2FkIHZpZGVvIix0aGlzLmxvYWRpbmc9ITF9aGFuZGxlT3ZlcmxheUNsaWNrKCl7dGhpcy50b2dnbGVQbGF5KCl9aGFuZGxlU2VlayhhZSl7bGV0IHJlPWFlLmN1cnJlbnRUYXJnZXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkseWU9KGFlLmNsaWVudFgtcmUubGVmdCkvcmUud2lkdGg7dGhpcy5zZWVrKHllKnRoaXMuZHVyYXRpb24pfWhhbmRsZVZvbHVtZUNoYW5nZShhZSl7bGV0IHJlPXBhcnNlRmxvYXQoYWUudGFyZ2V0LnZhbHVlKTt0aGlzLnNldFZvbHVtZShyZSksdGhpcy5tdXRlZD1yZT09PTB9dG9nZ2xlTXV0ZSgpe3RoaXMubXV0ZWQ9IXRoaXMubXV0ZWQsdGhpcy52aWRlb0VsZW1lbnQmJih0aGlzLnZpZGVvRWxlbWVudC5tdXRlZD10aGlzLm11dGVkKX1oYW5kbGVNb3VzZU1vdmUoKXt0aGlzLmNvbnRyb2xzVmlzaWJsZT0hMCx0aGlzLnNjaGVkdWxlSGlkZUNvbnRyb2xzKCl9aGFuZGxlTW91c2VMZWF2ZSgpe3RoaXMuaXNQbGF5aW5nJiYodGhpcy5jb250cm9sc1Zpc2libGU9ITEpfXNjaGVkdWxlSGlkZUNvbnRyb2xzKCl7dGhpcy5oaWRlQ29udHJvbHNUaW1lciYmY2xlYXJUaW1lb3V0KHRoaXMuaGlkZUNvbnRyb2xzVGltZXIpLHRoaXMuaXNQbGF5aW5nJiYodGhpcy5oaWRlQ29udHJvbHNUaW1lcj1zZXRUaW1lb3V0KCgpPT57dGhpcy5jb250cm9sc1Zpc2libGU9ITF9LDNlMykpfWhhbmRsZUZ1bGxzY3JlZW5DaGFuZ2U9cygoKT0+e3RoaXMuaXNGdWxsc2NyZWVuPSEhZG9jdW1lbnQuZnVsbHNjcmVlbkVsZW1lbnR9LCJoYW5kbGVGdWxsc2NyZWVuQ2hhbmdlIik7Zm9ybWF0VGltZShhZSl7aWYoIWlzRmluaXRlKGFlKXx8YWU8MClyZXR1cm4iMDowMCI7bGV0IHJlPU1hdGguZmxvb3IoYWUvNjApLHllPU1hdGguZmxvb3IoYWUlNjApO3JldHVybmAke3JlfToke3llLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWB9c3RhdGlje0thKHIsdCl9fTtyZXR1cm4gZ2U9cn0pKCl9KTt2YXIgejNhPWYoKCk9PntxUWUoKX0pO3ZhciBubCxac2U9ZigoKT0+e2xlKCk7bmw9Y2xhc3N7c3RhdGlje3ModGhpcywiUGRmTWFuYWdlciIpfXN0YXRpYyBwZGZqc0xpYjtzdGF0aWMgaW5pdGlhbGl6ZWQ9ITE7c3RhdGljIGFzeW5jIGluaXRpYWxpemUoKXt0aGlzLmluaXRpYWxpemVkfHwodGhpcy5wZGZqc0xpYj1hd2FpdCBpbXBvcnQoImh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vcGRmanMtZGlzdEA0LjAuMzc5Lytlc20iKSx0aGlzLnBkZmpzTGliLkdsb2JhbFdvcmtlck9wdGlvbnMud29ya2VyU3JjPSJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3BkZmpzLWRpc3RANC4wLjM3OS9idWlsZC9wZGYud29ya2VyLm1qcyIsdGhpcy5pbml0aWFsaXplZD0hMCl9c3RhdGljIGFzeW5jIGxvYWREb2N1bWVudChlKXtyZXR1cm4gYXdhaXQgdGhpcy5pbml0aWFsaXplKCksYXdhaXQgdGhpcy5wZGZqc0xpYi5nZXREb2N1bWVudChlKS5wcm9taXNlfXN0YXRpYyByZWxlYXNlRG9jdW1lbnQoZSl7fX19KTt2YXIgQzNhLF8zYT1mKCgpPT57bGUoKTtRZSgpO0MzYT1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICA6aG9zdCB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiA2MDBweDsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICBjb250YWluOiBsYXlvdXQgc3R5bGU7CiAgICB9CgogICAgZGVlcy10aWxlIHsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgfQoKICAgIC52aWV3ZXItY29udGFpbmVyOjpiZWZvcmUsCiAgICAudmlld2VyLWNvbnRhaW5lcjo6YWZ0ZXIgewogICAgICBjb250ZW50OiAnJzsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBsZWZ0OiAwOwogICAgICByaWdodDogMDsKICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgIHotaW5kZXg6IDU7CiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgfQoKICAgIC52aWV3ZXItY29udGFpbmVyOjpiZWZvcmUgewogICAgICB0b3A6IDA7CiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgKICAgICAgICB0byBib3R0b20sCiAgICAgICAgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wOCkiLCJoc2woMCAwJSAwJSAvIDAuNCkiKX0sCiAgICAgICAgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wMykiLCJoc2woMCAwJSAwJSAvIDAuMTIpIil9LAogICAgICAgIHRyYW5zcGFyZW50CiAgICAgICk7CiAgICB9CgogICAgLnZpZXdlci1jb250YWluZXI6OmFmdGVyIHsKICAgICAgYm90dG9tOiAwOwogICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgdG8gdG9wLAogICAgICAgICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDgpIiwiaHNsKDAgMCUgMCUgLyAwLjQpIil9LAogICAgICAgICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDMpIiwiaHNsKDAgMCUgMCUgLyAwLjEyKSIpfSwKICAgICAgICB0cmFuc3BhcmVudAogICAgICApOwogICAgfQoKICAgIC50b29sYmFyIHsKICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgIGdhcDogMTJweDsKICAgIH0KCiAgICAudG9vbGJhci1ncm91cCB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogNHB4OwogICAgfQoKICAgIC50b29sYmFyLWdyb3VwLS1lbmQgewogICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgIH0KCiAgICAudG9vbGJhci1idXR0b24gewogICAgICB3aWR0aDogMzJweDsKICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICBib3JkZXI6IG5vbmU7CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgIH0KCiAgICAudG9vbGJhci1idXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkgewogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTIlKSIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICB9CgogICAgLnRvb2xiYXItYnV0dG9uOmRpc2FibGVkIHsKICAgICAgb3BhY2l0eTogMC40OwogICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgfQoKICAgIC50b29sYmFyLWJ1dHRvbiBkZWVzLWljb24gewogICAgICBmb250LXNpemU6IDE2cHg7CiAgICB9CgogICAgLnBhZ2UtaW5mbyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogOHB4OwogICAgICBwYWRkaW5nOiAwIDhweDsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgfQoKICAgIC5wYWdlLWlucHV0IHsKICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgIGhlaWdodDogMjhweDsKICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNCAzMSUgODYlKSIsImhzbCgyMTcgMjUlIDI4JSkiKX07CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgyMTUgMjAlIDEyJSkiKX07CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIyMiA0NyUgMTElKSIsImhzbCgyMTAgMjAlIDk2JSkiKX07CiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgb3V0bGluZTogbm9uZTsKICAgIH0KCiAgICAucGFnZS1pbnB1dDpmb2N1cyB7CiAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgfQoKICAgIC5wYWdlLXNlcGFyYXRvciB7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNjAlKSIsImhzbCgyMTUgMTYlIDUwJSkiKX07CiAgICB9CgogICAgLnpvb20tbGV2ZWwgewogICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIG1pbi13aWR0aDogNDhweDsKICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgfQoKICAgIC52aWV3ZXItY29udGFpbmVyIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBpbnNldDogMDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KCiAgICAuc2lkZWJhciB7CiAgICAgIHdpZHRoOiAyMDBweDsKICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MSUpIiwiaHNsKDIxNyAyNSUgMjIlKSIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICBvcmRlcjogMDsKICAgIH0KCiAgICAuc2lkZWJhci1yaWdodCAuc2lkZWJhciB7CiAgICAgIGJvcmRlci1yaWdodDogbm9uZTsKICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTElKSIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgIG9yZGVyOiAxOwogICAgfQoKICAgIC5zaWRlYmFyLWhlYWRlciB7CiAgICAgIGhlaWdodDogNDBweDsKICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDIxNCAzMSUgOTElKSIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgIH0KCiAgICAuc2lkZWJhci1jbG9zZSB7CiAgICAgIHdpZHRoOiAyNHB4OwogICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE1cyBlYXNlOwogICAgfQoKICAgIC5zaWRlYmFyLWNsb3NlOmhvdmVyIHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTQgMzElIDkyJSkiLCJoc2woMjE3IDI1JSAyMiUpIil9OwogICAgfQoKICAgIC5zaWRlYmFyLWNsb3NlIGRlZXMtaWNvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIH0KCiAgICAuc2lkZWJhci1jb250ZW50IHsKICAgICAgZmxleDogMTsKICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgb3ZlcmZsb3cteDogaGlkZGVuOwogICAgICBwYWRkaW5nOiAxMnB4OwogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgb3ZlcnNjcm9sbC1iZWhhdmlvcjogY29udGFpbjsKICAgICAgbWluLWhlaWdodDogMDsKICAgIH0KCiAgICAudGh1bWJuYWlsIHsKICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE1cyBlYXNlOwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTUlKSIsImhzbCgyMTUgMjAlIDE4JSkiKX07CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB3aWR0aDogMTAwJTsKICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgLyogRGVmYXVsdCBBNCBhc3BlY3QgcmF0aW8gKDI5N21tIC8gMjEwbW0g4omIIDEuNDE0KSAqLwogICAgICBtaW4taGVpZ2h0OiBjYWxjKDE3NnB4ICogMS40MTQpOwogICAgfQoKICAgIC50aHVtYm5haWw6bGFzdC1jaGlsZCB7CiAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICB9CgogICAgLnRodW1ibmFpbDpob3ZlciB7CiAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTQgMzElIDg2JSkiLCJoc2woMjE3IDI1JSAzNSUpIil9OwogICAgfQoKICAgIC50aHVtYm5haWwuYWN0aXZlIHsKICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICB9CgogICAgLnRodW1ibmFpbC1jYW52YXMgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogYXV0bzsKICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0OwogICAgICBpbWFnZS1yZW5kZXJpbmc6IGNyaXNwLWVkZ2VzOwogICAgfQoKICAgIC50aHVtYm5haWwtbnVtYmVyIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBib3R0b206IDRweDsKICAgICAgcmlnaHQ6IDRweDsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC43KSIsInJnYmEoMCwgMCwgMCwgMC44KSIpfTsKICAgICAgY29sb3I6IHdoaXRlOwogICAgICBmb250LXNpemU6IDExcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIH0KCiAgICAudmlld2VyLW1haW4gewogICAgICBmbGV4OiAxOwogICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICBvdmVyZmxvdy14OiBoaWRkZW47CiAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoOwogICAgICBvdmVyc2Nyb2xsLWJlaGF2aW9yOiBjb250YWluOwogICAgICBtaW4taGVpZ2h0OiAwOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CgogICAgLmxvYWRpbmctY29udGFpbmVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgZ2FwOiAxNnB4OwogICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgfQoKICAgIC5sb2FkaW5nLXNwaW5uZXIgewogICAgICB3aWR0aDogMzJweDsKICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0IDMxJSA4NiUpIiwiaHNsKDIxNyAyNSUgMjglKSIpfTsKICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcgOTElIDYwJSkiLCJoc2woMjEzIDkzJSA2OCUpIil9OwogICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICB9CgogICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgdG8gewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgIH0KICAgIH0KCiAgICAubG9hZGluZy10ZXh0IHsKICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQoKICAgIC5wYWdlcy1jb250YWluZXIgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBnYXA6IDIwcHg7CiAgICB9CgogICAgLnBhZ2Utd3JhcHBlciB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB3aWR0aDogMTAwJTsKICAgIH0KCiAgICAuY2FudmFzLWNvbnRhaW5lciB7CiAgICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgICBib3gtc2hhZG93OiAwIDJweCAxMnB4ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMSkiLCJyZ2JhKDAsIDAsIDAsIDAuMykiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CgogICAgLnBhZ2UtY2FudmFzIHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDsKICAgICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlczsKICAgIH0KCiAgICAvKiBUZXh0IGxheWVyIGZvciBzZWxlY3Rpb24gKi8KICAgIC50ZXh0LWxheWVyIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBpbnNldDogMDsKICAgICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICAgIGxpbmUtaGVpZ2h0OiAxOwogICAgICB0ZXh0LXNpemUtYWRqdXN0OiBub25lOwogICAgICBmb3JjZWQtY29sb3ItYWRqdXN0OiBub25lOwogICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7CiAgICAgIHotaW5kZXg6IDE7CiAgICAgIHVzZXItc2VsZWN0OiB0ZXh0OwogICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiB0ZXh0OwogICAgfQoKICAgIC50ZXh0LWxheWVyIHNwYW4sCiAgICAudGV4dC1sYXllciBiciB7CiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICB3aGl0ZS1zcGFjZTogcHJlOwogICAgICBjdXJzb3I6IHRleHQ7CiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAlIDAlOwogICAgICB1c2VyLXNlbGVjdDogdGV4dDsKICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogdGV4dDsKICAgIH0KCiAgICAudGV4dC1sYXllciA6OnNlbGVjdGlvbiB7CiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMTAwLCAyMDAsIDAuMyk7CiAgICB9CgogICAgLnRleHQtbGF5ZXIgYnI6OnNlbGVjdGlvbiB7CiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgfQoKICAgIC50ZXh0LWxheWVyIC5lbmRPZkNvbnRlbnQgewogICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBpbnNldDogMTAwJSAwIDA7CiAgICAgIHotaW5kZXg6IDA7CiAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICB9CgogICAgLnRleHQtbGF5ZXIuc2VsZWN0aW5nIC5lbmRPZkNvbnRlbnQgewogICAgICB0b3A6IDA7CiAgICB9CgogICAgLnBkZi12aWV3ZXIud2l0aC1zaWRlYmFyIC52aWV3ZXItbWFpbiB7CiAgICAgIG1hcmdpbi1sZWZ0OiAwOwogICAgfQoKICAgIC5wZGYtZm9vdGVyIHsKICAgICAgaGVpZ2h0OiAyOHB4OwogICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICB9CgogICAgLnBkZi1mb290ZXItbGVmdCB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogMTJweDsKICAgIH0KCiAgICAucGRmLWZvb3Rlci1sZWZ0IC5wZGYtZm9vdGVyLWl0ZW0gKyAucGRmLWZvb3Rlci1pdGVtIHsKICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4OwogICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgfQoKICAgIC5wZGYtZm9vdGVyLWNlbnRlciB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgbGVmdDogNTAlOwogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIHRyYW5zaXRpb246IG1hcmdpbi1sZWZ0IDAuMTVzIGVhc2U7CiAgICB9CgogICAgLnBkZi1mb290ZXItcmlnaHQgewogICAgICBtYXJnaW4tbGVmdDogYXV0bzsKICAgIH0KCiAgICAucGRmLWZvb3Rlci1pdGVtIHsKICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIH0KCiAgICAucGRmLWZvb3Rlci1maWxlbmFtZSB7CiAgICAgIGZvbnQtZmFtaWx5OiAnSW50ZWwgT25lIE1vbm8nLCAnR2Vpc3QgTW9ubycsIG1vbm9zcGFjZTsKICAgICAgb3BhY2l0eTogMC43OwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIH0KICBgXX0pO3ZhciBUM2EsTDNhPWYoKCk9PntsZSgpO1QzYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7CiAgICB9CgogICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7CiAgICB9CgogICAgaDMgewogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIGNvbG9yOiAjZmFmYWZhOwogICAgfQoKICAgIGRlZXMtcGRmLXZpZXdlciB7CiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIH0KCiAgICAudmlld2VyLXRhbGwgewogICAgICBoZWlnaHQ6IDgwMHB4OwogICAgfQoKICAgIC52aWV3ZXItY29tcGFjdCB7CiAgICAgIGhlaWdodDogNTAwcHg7CiAgICB9CiAgPC9zdHlsZT4KCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkZ1bGwgRmVhdHVyZWQgUERGIFZpZXdlciB3aXRoIFRvb2xiYXI8L2gzPgogICAgICA8ZGVlcy1wZGYtdmlld2VyCiAgICAgICAgY2xhc3M9InZpZXdlci10YWxsIgogICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL3dlYi9jb21wcmVzc2VkLnRyYWNlbW9ua2V5LXBsZGktMDkucGRmIgogICAgICAgIHNob3dUb29sYmFyPSJ0cnVlIgogICAgICAgIHNob3dTaWRlYmFyPSJmYWxzZSIKICAgICAgICBpbml0aWFsWm9vbT0icGFnZS1maXQiCiAgICAgID48L2RlZXMtcGRmLXZpZXdlcj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5QREYgVmlld2VyIHdpdGggU2lkZWJhciBOYXZpZ2F0aW9uPC9oMz4KICAgICAgPGRlZXMtcGRmLXZpZXdlcgogICAgICAgIGNsYXNzPSJ2aWV3ZXItdGFsbCIKICAgICAgICBwZGZVcmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS93ZWIvY29tcHJlc3NlZC50cmFjZW1vbmtleS1wbGRpLTA5LnBkZiIKICAgICAgICBzaG93VG9vbGJhcj0idHJ1ZSIKICAgICAgICBzaG93U2lkZWJhcj0idHJ1ZSIKICAgICAgICBpbml0aWFsWm9vbT0icGFnZS13aWR0aCIKICAgICAgPjwvZGVlcy1wZGYtdmlld2VyPgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkNvbXBhY3QgVmlld2VyIHdpdGhvdXQgQ29udHJvbHM8L2gzPgogICAgICA8ZGVlcy1wZGYtdmlld2VyCiAgICAgICAgY2xhc3M9InZpZXdlci1jb21wYWN0IgogICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL2V4YW1wbGVzL2xlYXJuaW5nL2hlbGxvd29ybGQucGRmIgogICAgICAgIHNob3dUb29sYmFyPSJmYWxzZSIKICAgICAgICBzaG93U2lkZWJhcj0iZmFsc2UiCiAgICAgICAgaW5pdGlhbFpvb209ImF1dG8iCiAgICAgID48L2RlZXMtcGRmLXZpZXdlcj4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vIil9KTt2YXIgc28sWmEsJDNhLFZRZT1mKCgpPT57bGUoKTtac2UoKTtfM2EoKTtMM2EoKTt2YSgpO0tyKCk7c289ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFphPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSwkM2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLXBkZi12aWV3ZXIiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sWCxKPVtdLFo9W107dmFyIGdlPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzUGRmVmlld2VyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGFlPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6TnVtYmVyfSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSx5PVskKHt0eXBlOkJvb2xlYW59KV0sTj1bJCh7dHlwZTpTdHJpbmd9KV0sTz1bJCh7dHlwZTpOdW1iZXJ9KV0sQj1bJCh7dHlwZTpOdW1iZXJ9KV0sUD1bJCh7dHlwZTpOdW1iZXJ9KV0sVz1bJCh7dHlwZTpCb29sZWFufSldLGhlPVskKHt0eXBlOlN0cmluZ30pXSxtZT1bJCh7dHlwZTpBcnJheX0pXSxjZT1bJCh7dHlwZTpBcnJheX0pXSxYPVskKHt0eXBlOk51bWJlcn0pXSxzbyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBkZlVybCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+InBkZlVybCJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLnBkZlVybCwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLnBkZlVybD15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sbixsKSxzbyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImluaXRpYWxQYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4iaW5pdGlhbFBhZ2UiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5pbml0aWFsUGFnZSwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLmluaXRpYWxQYWdlPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxjLHApLHNvKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5pdGlhbFpvb20iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJpbml0aWFsWm9vbSJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmluaXRpYWxab29tLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuaW5pdGlhbFpvb209eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LG0sdiksc28odGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93VG9vbGJhciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+InNob3dUb29sYmFyImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuc2hvd1Rvb2xiYXIsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5zaG93VG9vbGJhcj15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sYixnKSxzbyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dTaWRlYmFyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4ic2hvd1NpZGViYXIiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS5zaG93U2lkZWJhciwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLnNob3dTaWRlYmFyPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxrLEMpLHNvKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2lkZWJhclBvc2l0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4ic2lkZWJhclBvc2l0aW9uImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuc2lkZWJhclBvc2l0aW9uLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuc2lkZWJhclBvc2l0aW9uPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxfLHopLHNvKHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFBhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJjdXJyZW50UGFnZSJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmN1cnJlbnRQYWdlLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuY3VycmVudFBhZ2U9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LFQsRSksc28odGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0b3RhbFBhZ2VzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4idG90YWxQYWdlcyJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLnRvdGFsUGFnZXMsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS50b3RhbFBhZ2VzPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxNLFMpLHNvKHRoaXMsbnVsbCxQLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFpvb20iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJjdXJyZW50Wm9vbSJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmN1cnJlbnRab29tLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUuY3VycmVudFpvb209eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LEEsRiksc28odGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHJlPT4ibG9hZGluZyJpbiByZSwiaGFzIiksZ2V0OnMocmU9PnJlLmxvYWRpbmcsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5sb2FkaW5nPXllfSwic2V0Iil9LG1ldGFkYXRhOmFlfSxqLEcpLHNvKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRvY3VtZW50SWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocmU9PiJkb2N1bWVudElkImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUuZG9jdW1lbnRJZCwiZ2V0Iiksc2V0OnMoKHJlLHllKT0+e3JlLmRvY3VtZW50SWQ9eWV9LCJzZXQiKX0sbWV0YWRhdGE6YWV9LFIsVSksc28odGhpcyxudWxsLG1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGh1bWJuYWlsRGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+InRodW1ibmFpbERhdGEiaW4gcmUsImhhcyIpLGdldDpzKHJlPT5yZS50aHVtYm5haWxEYXRhLCJnZXQiKSxzZXQ6cygocmUseWUpPT57cmUudGh1bWJuYWlsRGF0YT15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sSSxxKSxzbyh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwYWdlRGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+InBhZ2VEYXRhImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUucGFnZURhdGEsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5wYWdlRGF0YT15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sdWUsWSksc28odGhpcyxudWxsLFgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwZGZGaWxlU2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhyZT0+InBkZkZpbGVTaXplImluIHJlLCJoYXMiKSxnZXQ6cyhyZT0+cmUucGRmRmlsZVNpemUsImdldCIpLHNldDpzKChyZSx5ZSk9PntyZS5wZGZGaWxlU2l6ZT15ZX0sInNldCIpfSxtZXRhZGF0YTphZX0sSixaKSxzbyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTphZX0sbnVsbCx0KSxnZT1yPWUudmFsdWUsYWUmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6YWV9KX1zdGF0aWMgZGVtbz1UM2E7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSIsIlBERiJdO3N0YXRpYyBzdHlsZXM9QzNhOyNlPVphKHRoaXMsbiwiIik7Z2V0IHBkZlVybCgpe3JldHVybiB0aGlzLiNlfXNldCBwZGZVcmwoYWUpe3RoaXMuI2U9YWV9I3Q9KFphKHRoaXMsbCksWmEodGhpcyxjLDEpKTtnZXQgaW5pdGlhbFBhZ2UoKXtyZXR1cm4gdGhpcy4jdH1zZXQgaW5pdGlhbFBhZ2UoYWUpe3RoaXMuI3Q9YWV9I2E9KFphKHRoaXMscCksWmEodGhpcyxtLCJhdXRvIikpO2dldCBpbml0aWFsWm9vbSgpe3JldHVybiB0aGlzLiNhfXNldCBpbml0aWFsWm9vbShhZSl7dGhpcy4jYT1hZX0jcj0oWmEodGhpcyx2KSxaYSh0aGlzLGIsITApKTtnZXQgc2hvd1Rvb2xiYXIoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2hvd1Rvb2xiYXIoYWUpe3RoaXMuI3I9YWV9I3M9KFphKHRoaXMsZyksWmEodGhpcyxrLCExKSk7Z2V0IHNob3dTaWRlYmFyKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNob3dTaWRlYmFyKGFlKXt0aGlzLiNzPWFlfSNpPShaYSh0aGlzLEMpLFphKHRoaXMsXywibGVmdCIpKTtnZXQgc2lkZWJhclBvc2l0aW9uKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHNpZGViYXJQb3NpdGlvbihhZSl7dGhpcy4jaT1hZX0jbz0oWmEodGhpcyx6KSxaYSh0aGlzLFQsMSkpO2dldCBjdXJyZW50UGFnZSgpe3JldHVybiB0aGlzLiNvfXNldCBjdXJyZW50UGFnZShhZSl7dGhpcy4jbz1hZX0jbj0oWmEodGhpcyxFKSxaYSh0aGlzLE0sMSkpO2dldCB0b3RhbFBhZ2VzKCl7cmV0dXJuIHRoaXMuI259c2V0IHRvdGFsUGFnZXMoYWUpe3RoaXMuI249YWV9I2w9KFphKHRoaXMsUyksWmEodGhpcyxBLDEpKTtnZXQgY3VycmVudFpvb20oKXtyZXR1cm4gdGhpcy4jbH1zZXQgY3VycmVudFpvb20oYWUpe3RoaXMuI2w9YWV9I2M9KFphKHRoaXMsRiksWmEodGhpcyxqLCExKSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jY31zZXQgbG9hZGluZyhhZSl7dGhpcy4jYz1hZX0jZD0oWmEodGhpcyxHKSxaYSh0aGlzLFIsIiIpKTtnZXQgZG9jdW1lbnRJZCgpe3JldHVybiB0aGlzLiNkfXNldCBkb2N1bWVudElkKGFlKXt0aGlzLiNkPWFlfSN1PShaYSh0aGlzLFUpLFphKHRoaXMsSSxbXSkpO2dldCB0aHVtYm5haWxEYXRhKCl7cmV0dXJuIHRoaXMuI3V9c2V0IHRodW1ibmFpbERhdGEoYWUpe3RoaXMuI3U9YWV9I3A9KFphKHRoaXMscSksWmEodGhpcyx1ZSxbXSkpO2dldCBwYWdlRGF0YSgpe3JldHVybiB0aGlzLiNwfXNldCBwYWdlRGF0YShhZSl7dGhpcy4jcD1hZX0jZj0oWmEodGhpcyxZKSxaYSh0aGlzLEosMCkpO2dldCBwZGZGaWxlU2l6ZSgpe3JldHVybiB0aGlzLiNmfXNldCBwZGZGaWxlU2l6ZShhZSl7dGhpcy4jZj1hZX1wZGZEb2N1bWVudD1aYSh0aGlzLFopO3JlbmRlclN0YXRlPSJpZGxlIjtyZW5kZXJBYm9ydENvbnRyb2xsZXI9bnVsbDtwYWdlUmVuZGVyaW5nPSExO3BhZ2VOdW1QZW5kaW5nPW51bGw7Y3VycmVudFJlbmRlclRhc2s9bnVsbDtjdXJyZW50UmVuZGVyUHJvbWlzZT1udWxsO3RodW1ibmFpbFJlbmRlclRhc2tzPVtdO3BhZ2VSZW5kZXJUYXNrcz1uZXcgTWFwO3RleHRMYXllclJlbmRlclRhc2tzPW5ldyBNYXA7Y2FudmFzO2N0eDt2aWV3ZXJNYWluPW51bGw7cmVzaXplT2JzZXJ2ZXI7aW50ZXJzZWN0aW9uT2JzZXJ2ZXI7c2Nyb2xsVGhyb3R0bGVUaW1lb3V0O3ZpZXdwb3J0RGltZW5zaW9ucz17d2lkdGg6MCxoZWlnaHQ6MH07dmlld3BvcnRNb2RlPSJhdXRvIjtNQU5VQUxfTUlOX1pPT009LjU7TUFOVUFMX01BWF9aT09NPTM7QUJTT0xVVEVfTUlOX1pPT009LjE7QUJTT0xVVEVfTUFYX1pPT009NDtQQUdFX0dBUD0yMDtSRU5ERVJfQlVGRkVSPTM7Y29uc3RydWN0b3IoKXtzdXBlcigpfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGVlcy10aWxlIGNsYXNzPSIke3RoaXMuc2hvd1NpZGViYXI/IndpdGgtc2lkZWJhciI6IiJ9IHNpZGViYXItJHt0aGlzLnNpZGViYXJQb3NpdGlvbn0iPgogICAgICAgICR7dGhpcy5zaG93VG9vbGJhcj93YAogICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJ0b29sYmFyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9vbGJhci1ncm91cCI+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5wcmV2aW91c1BhZ2V9CiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmN1cnJlbnRQYWdlPD0xfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkNoZXZyb25MZWZ0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlLWluZm8iPgogICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgIHR5cGU9Im51bWJlciIKICAgICAgICAgICAgICAgICAgbWluPSIxIgogICAgICAgICAgICAgICAgICBtYXg9IiR7dGhpcy50b3RhbFBhZ2VzfSIKICAgICAgICAgICAgICAgICAgLnZhbHVlPSR7U3RyaW5nKHRoaXMuY3VycmVudFBhZ2UpfQogICAgICAgICAgICAgICAgICBAY2hhbmdlPSR7dGhpcy5oYW5kbGVQYWdlSW5wdXR9CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJwYWdlLWlucHV0IgogICAgICAgICAgICAgICAgLz4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYWdlLXNlcGFyYXRvciI+Lzwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwYWdlLXRvdGFsIj4ke3RoaXMudG90YWxQYWdlc308L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5uZXh0UGFnZX0KICAgICAgICAgICAgICAgID9kaXNhYmxlZD0ke3RoaXMuY3VycmVudFBhZ2U+PXRoaXMudG90YWxQYWdlc30KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpDaGV2cm9uUmlnaHQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItZ3JvdXAiPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuem9vbU91dH0KICAgICAgICAgICAgICAgID9kaXNhYmxlZD0keyF0aGlzLmNhblpvb21PdXR9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6Wm9vbU91dCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5yZXNldFpvb219CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Inpvb20tbGV2ZWwiPiR7TWF0aC5yb3VuZCh0aGlzLmN1cnJlbnRab29tKjEwMCl9JTwvc3Bhbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLnpvb21Jbn0KICAgICAgICAgICAgICAgID9kaXNhYmxlZD0keyF0aGlzLmNhblpvb21Jbn0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpab29tSW4iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItZ3JvdXAiPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuZml0VG9QYWdlfQogICAgICAgICAgICAgICAgdGl0bGU9IkZpdCB0byBwYWdlIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOk1heGltaXplIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0idG9vbGJhci1idXR0b24iCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmZpdFRvV2lkdGh9CiAgICAgICAgICAgICAgICB0aXRsZT0iRml0IHRvIHdpZHRoIgogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkFycm93TGVmdFJpZ2h0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWdyb3VwIHRvb2xiYXItZ3JvdXAtLWVuZCI+CiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9InRvb2xiYXItYnV0dG9uIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2hvd1NpZGViYXI9IXRoaXMuc2hvd1NpZGViYXJ9CiAgICAgICAgICAgICAgICB0aXRsZT0iJHt0aGlzLnNob3dTaWRlYmFyPyJIaWRlIHRodW1ibmFpbHMiOiJTaG93IHRodW1ibmFpbHMifSIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249IiR7dGhpcy5zaG93U2lkZWJhcj8ibHVjaWRlOlNpZGViYXJDbG9zZSI6Imx1Y2lkZTpTaWRlYmFyIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuZG93bmxvYWRQZGZ9CiAgICAgICAgICAgICAgICB0aXRsZT0iRG93bmxvYWQiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6RG93bmxvYWQiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMucHJpbnRQZGZ9CiAgICAgICAgICAgICAgICB0aXRsZT0iUHJpbnQiCiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6UHJpbnRlciI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgPGRpdiBjbGFzcz0idmlld2VyLWNvbnRhaW5lciI+CiAgICAgICAgICAke3RoaXMuc2hvd1NpZGViYXI/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXIiPgogICAgICAgICAgICAgICAgPHNwYW4+UGFnZXM8L3NwYW4+CiAgICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJzaWRlYmFyLWNsb3NlIgogICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5zaG93U2lkZWJhcj0hMX0KICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6WCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaWRlYmFyLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgJHtLby5rZXllZCh0aGlzLmRvY3VtZW50SWQsd2AKICAgICAgICAgICAgICAgICAgJHtLby5yZXBlYXQodGhpcy50aHVtYm5haWxEYXRhLGFlPT5hZS5wYWdlLGFlPT53YAogICAgICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGh1bWJuYWlsICR7dGhpcy5jdXJyZW50UGFnZT09PWFlLnBhZ2U/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgICAgICAgICAgICBkYXRhLXBhZ2U9IiR7YWUucGFnZX0iCiAgICAgICAgICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuaGFuZGxlVGh1bWJuYWlsQ2xpY2t9CiAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjYW52YXMgY2xhc3M9InRodW1ibmFpbC1jYW52YXMiIGRhdGEtcGFnZT0iJHthZS5wYWdlfSI+PC9jYW52YXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0aHVtYm5haWwtbnVtYmVyIj4ke2FlLnBhZ2V9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQoKICAgICAgICAgIDxkaXYgY2xhc3M9InZpZXdlci1tYWluIiBAc2Nyb2xsPSR7dGhpcy5oYW5kbGVTY3JvbGx9PgogICAgICAgICAgICAke3RoaXMubG9hZGluZz93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctY29udGFpbmVyIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLXRleHQiPkxvYWRpbmcgUERGLi4uPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlcy1jb250YWluZXIiPgogICAgICAgICAgICAgICAgJHtLby5yZXBlYXQodGhpcy5wYWdlRGF0YSxhZT0+YWUucGFnZSxhZT0+d2AKICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlLXdyYXBwZXIiIGRhdGEtcGFnZT0iJHthZS5wYWdlfSI+CiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYW52YXMtY29udGFpbmVyIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGNhbnZhcyBjbGFzcz0icGFnZS1jYW52YXMiIGRhdGEtcGFnZT0iJHthZS5wYWdlfSI+PC9jYW52YXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRleHQtbGF5ZXIiIGRhdGEtcGFnZT0iJHthZS5wYWdlfSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGB9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9InBkZi1mb290ZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0icGRmLWZvb3Rlci1sZWZ0Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBkZi1mb290ZXItaXRlbSI+Wm9vbSAke01hdGgucm91bmQodGhpcy5jdXJyZW50Wm9vbSoxMDApfSU8L3NwYW4+CiAgICAgICAgICAgICR7dGhpcy5wZGZGaWxlU2l6ZT4wP3dgCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBkZi1mb290ZXItaXRlbSI+JHt0aGlzLmZvcm1hdEZpbGVTaXplKHRoaXMucGRmRmlsZVNpemUpfTwvc3Bhbj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icGRmLWZvb3Rlci1jZW50ZXIiIHN0eWxlPSJtYXJnaW4tbGVmdDogJHt0aGlzLnNob3dTaWRlYmFyJiZ0aGlzLnNpZGViYXJQb3NpdGlvbj09PSJsZWZ0Ij8iMTAwcHgiOnRoaXMuc2hvd1NpZGViYXImJnRoaXMuc2lkZWJhclBvc2l0aW9uPT09InJpZ2h0Ij8iLTEwMHB4IjoiMCJ9Ij4KICAgICAgICAgICAgPHNwYW4+UGFnZSAke3RoaXMuY3VycmVudFBhZ2V9IG9mICR7dGhpcy50b3RhbFBhZ2VzfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0icGRmLWZvb3Rlci1yaWdodCI+CiAgICAgICAgICAgICR7dGhpcy5wZGZVcmw/d2AKICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icGRmLWZvb3Rlci1maWxlbmFtZSI+JHt0aGlzLnBkZlVybC5zcGxpdCgiLyIpLnBvcCgpfTwvc3Bhbj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5lbnN1cmVWaWV3ZXJSZWZzKCksdGhpcy5wZGZVcmwmJih0aGlzLmRvY3VtZW50SWQ9YCR7dGhpcy5wZGZVcmx9LSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpfWAsYXdhaXQgdGhpcy5sb2FkUGRmKCkpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCksdGhpcy5yZXNpemVPYnNlcnZlcj12b2lkIDAsdGhpcy5pbnRlcnNlY3Rpb25PYnNlcnZlcj8uZGlzY29ubmVjdCgpLHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXI9dm9pZCAwLHRoaXMuc2Nyb2xsVGhyb3R0bGVUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMuc2Nyb2xsVGhyb3R0bGVUaW1lb3V0KSx0aGlzLnNjcm9sbFRocm90dGxlVGltZW91dD12b2lkIDApLHRoaXMucmVuZGVyU3RhdGU9ImRpc3Bvc2VkIixhd2FpdCB0aGlzLmNsZWFudXBEb2N1bWVudCgpLHRoaXMuY2FudmFzPXZvaWQgMCx0aGlzLmN0eD12b2lkIDB9YXN5bmMgdXBkYXRlZChhZSl7aWYoc3VwZXIudXBkYXRlZChhZSksYWUuaGFzKCJwZGZVcmwiKSYmdGhpcy5wZGZVcmwpe2xldCByZT1hZS5nZXQoInBkZlVybCIpO3JlJiZubC5yZWxlYXNlRG9jdW1lbnQocmUpLHRoaXMuZG9jdW1lbnRJZD1gJHt0aGlzLnBkZlVybH0tJHtEYXRlLm5vdygpfS0ke01hdGgucmFuZG9tKCl9YCxhd2FpdCB0aGlzLmxvYWRQZGYoKX1hZS5oYXMoInNob3dTaWRlYmFyIikmJnRoaXMuc2hvd1NpZGViYXImJnRoaXMucGRmRG9jdW1lbnQmJihhd2FpdCBuZXcgUHJvbWlzZShyZT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlKSksdGhpcy50aHVtYm5haWxEYXRhLmZvckVhY2gocmU9PnJlLnJlbmRlcmVkPSExKSxhd2FpdCB0aGlzLnJlbmRlclRodW1ibmFpbHMoKSx0aGlzLnNldHVwSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKSx0aGlzLnNjcm9sbFRodW1ibmFpbEludG9WaWV3KHRoaXMuY3VycmVudFBhZ2UpKX1mb3JtYXRGaWxlU2l6ZShhZSl7cmV0dXJuIGFlPDEwMjQ/YCR7YWV9IEJgOmFlPDEwMjQqMTAyND9gJHsoYWUvMTAyNCkudG9GaXhlZCgxKX0gS0JgOmAkeyhhZS8oMTAyNCoxMDI0KSkudG9GaXhlZCgxKX0gTUJgfWFzeW5jIGxvYWRQZGYoKXt0aGlzLmxvYWRpbmc9ITAsdGhpcy5yZW5kZXJTdGF0ZT0ibG9hZGluZyI7dHJ5e2F3YWl0IHRoaXMuY2xlYW51cERvY3VtZW50KCksdGhpcy5yZW5kZXJBYm9ydENvbnRyb2xsZXI9bmV3IEFib3J0Q29udHJvbGxlcjtsZXQgYWU9dGhpcy5yZW5kZXJBYm9ydENvbnRyb2xsZXIuc2lnbmFsO2lmKHRoaXMucGRmRG9jdW1lbnQ9YXdhaXQgbmwubG9hZERvY3VtZW50KHRoaXMucGRmVXJsKSxhZS5hYm9ydGVkKXJldHVybjt0aGlzLnRvdGFsUGFnZXM9dGhpcy5wZGZEb2N1bWVudC5udW1QYWdlcyx0aGlzLmN1cnJlbnRQYWdlPXRoaXMuaW5pdGlhbFBhZ2UsdGhpcy5yZXNvbHZlSW5pdGlhbFZpZXdwb3J0TW9kZSgpO3RyeXtsZXQgcmU9YXdhaXQgdGhpcy5wZGZEb2N1bWVudC5nZXREYXRhKCk7dGhpcy5wZGZGaWxlU2l6ZT1yZS5sZW5ndGh9Y2F0Y2h7dGhpcy5wZGZGaWxlU2l6ZT0wfWlmKHRoaXMudGh1bWJuYWlsRGF0YT1BcnJheS5mcm9tKHtsZW5ndGg6dGhpcy50b3RhbFBhZ2VzfSwocmUseWUpPT4oe3BhZ2U6eWUrMSxyZW5kZXJlZDohMX0pKSx0aGlzLnBhZ2VEYXRhPUFycmF5LmZyb20oe2xlbmd0aDp0aGlzLnRvdGFsUGFnZXN9LChyZSx5ZSk9Pih7cGFnZTp5ZSsxLHJlbmRlcmVkOiExLHJlbmRlcmluZzohMSx0ZXh0TGF5ZXJSZW5kZXJlZDohMX0pKSx0aGlzLmxvYWRpbmc9ITEsYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSx0aGlzLmVuc3VyZVZpZXdlclJlZnMoKSx0aGlzLnNldHVwSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKSxhd2FpdCBuZXcgUHJvbWlzZShyZT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlKSksYWUuYWJvcnRlZHx8KHRoaXMucmVuZGVyU3RhdGU9InJlbmRlcmluZy1tYWluIixhd2FpdCB0aGlzLnJlbmRlclZpc2libGVQYWdlcygpLGFlLmFib3J0ZWQpfHwodGhpcy5pbml0aWFsUGFnZT4xJiZhd2FpdCB0aGlzLnNjcm9sbFRvUGFnZSh0aGlzLmluaXRpYWxQYWdlLCExKSx0aGlzLnNob3dTaWRlYmFyJiYoYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxhd2FpdCBuZXcgUHJvbWlzZShyZT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlKSksYWUuYWJvcnRlZHx8KGF3YWl0IHRoaXMucmVuZGVyVGh1bWJuYWlscygpLGFlLmFib3J0ZWQpKSkpcmV0dXJuO3RoaXMucmVuZGVyU3RhdGU9InJlbmRlcmVkIn1jYXRjaChhZSl7Y29uc29sZS5lcnJvcigiRXJyb3IgbG9hZGluZyBQREY6IixhZSksdGhpcy5sb2FkaW5nPSExLHRoaXMucmVuZGVyU3RhdGU9ImVycm9yIn19c2V0dXBJbnRlcnNlY3Rpb25PYnNlcnZlcigpe3RoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXImJnRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMuaW50ZXJzZWN0aW9uT2JzZXJ2ZXI9bmV3IEludGVyc2VjdGlvbk9ic2VydmVyKHJlPT57Zm9yKGxldCB5ZSBvZiByZSl7bGV0IFY9eWUudGFyZ2V0LEg9cGFyc2VJbnQoVi5kYXRhc2V0LnBhZ2V8fCIxIik7eWUuaXNJbnRlcnNlY3RpbmcmJnRoaXMucmVuZGVyUGFnZUlmTmVlZGVkKEgpfX0se3Jvb3Q6dGhpcy52aWV3ZXJNYWluLHJvb3RNYXJnaW46YCR7dGhpcy5SRU5ERVJfQlVGRkVSKjEwMH1weCAwcHhgLHRocmVzaG9sZDouMDF9KTtsZXQgYWU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCIucGFnZS13cmFwcGVyIik7YWUmJmFlLmZvckVhY2gocmU9Pnt0aGlzLmludGVyc2VjdGlvbk9ic2VydmVyPy5vYnNlcnZlKHJlKX0pfWFzeW5jIHJlbmRlclZpc2libGVQYWdlcygpe2lmKCF0aGlzLnZpZXdlck1haW4pcmV0dXJuO2xldCBhZT10aGlzLnZpZXdlck1haW4uY2xpZW50SGVpZ2h0O2ZvcihsZXQgcmUgb2YgdGhpcy5wYWdlRGF0YSl7bGV0IHllPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLnBhZ2Utd3JhcHBlcltkYXRhLXBhZ2U9IiR7cmUucGFnZX0iXWApO2lmKCF5ZSljb250aW51ZTtsZXQgVj15ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxIPXRoaXMudmlld2VyTWFpbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvZT1WLnRvcC1ILnRvcCxzZT1vZStWLmhlaWdodCx0ZT10aGlzLlJFTkRFUl9CVUZGRVIqYWU7c2U+PS10ZSYmb2U8PWFlK3RlJiZhd2FpdCB0aGlzLnJlbmRlclBhZ2VJZk5lZWRlZChyZS5wYWdlKX19YXN5bmMgcmVuZGVyUGFnZUlmTmVlZGVkKGFlKXtsZXQgcmU9dGhpcy5wYWdlRGF0YS5maW5kKHllPT55ZS5wYWdlPT09YWUpO2lmKCEoIXJlfHxyZS5yZW5kZXJlZHx8cmUucmVuZGVyaW5nKSl7cmUucmVuZGVyaW5nPSEwO3RyeXtsZXQgeWU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGAucGFnZS1jYW52YXNbZGF0YS1wYWdlPSIke2FlfSJdYCk7aWYoIXllKXtyZS5yZW5kZXJpbmc9ITE7cmV0dXJufWxldCBWPWF3YWl0IHRoaXMucGRmRG9jdW1lbnQuZ2V0UGFnZShhZSksSD10aGlzLmNvbXB1dGVWaWV3cG9ydChWKSxvZT13aW5kb3cuZGV2aWNlUGl4ZWxSYXRpb3x8MTt5ZS53aWR0aD1NYXRoLmZsb29yKEgud2lkdGgqb2UpLHllLmhlaWdodD1NYXRoLmZsb29yKEguaGVpZ2h0Km9lKSx5ZS5zdHlsZS53aWR0aD1gJHtILndpZHRofXB4YCx5ZS5zdHlsZS5oZWlnaHQ9YCR7SC5oZWlnaHR9cHhgO2xldCBzZT15ZS5nZXRDb250ZXh0KCIyZCIpO2lmKCFzZSl7Vi5jbGVhbnVwPy4oKSxyZS5yZW5kZXJpbmc9ITE7cmV0dXJufXNlLnNjYWxlKG9lLG9lKTtsZXQgdGU9e2NhbnZhc0NvbnRleHQ6c2Usdmlld3BvcnQ6SH0semU9Vi5yZW5kZXIodGUpO3RoaXMucGFnZVJlbmRlclRhc2tzLnNldChhZSx6ZSksYXdhaXQgemUucHJvbWlzZSxWLmNsZWFudXA/LigpLHJlLnJlbmRlcmVkPSEwLHJlLnJlbmRlcmluZz0hMSx0aGlzLnBhZ2VSZW5kZXJUYXNrcy5kZWxldGUoYWUpLGF3YWl0IHRoaXMucmVuZGVyVGV4dExheWVyKGFlKSx0aGlzLnJlcXVlc3RVcGRhdGUoInBhZ2VEYXRhIil9Y2F0Y2goeWUpe3llPy5uYW1lIT09IlJlbmRlcmluZ0NhbmNlbGxlZEV4Y2VwdGlvbiImJmNvbnNvbGUuZXJyb3IoYEVycm9yIHJlbmRlcmluZyBwYWdlICR7YWV9OmAseWUpLHJlLnJlbmRlcmluZz0hMSx0aGlzLnBhZ2VSZW5kZXJUYXNrcy5kZWxldGUoYWUpfX19YXN5bmMgcmVuZGVyVGV4dExheWVyKGFlKXtsZXQgcmU9dGhpcy5wYWdlRGF0YS5maW5kKHllPT55ZS5wYWdlPT09YWUpO2lmKCEoIXJlfHxyZS50ZXh0TGF5ZXJSZW5kZXJlZCkpdHJ5e2xldCB5ZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYC50ZXh0LWxheWVyW2RhdGEtcGFnZT0iJHthZX0iXWApO2lmKCF5ZSlyZXR1cm47eWUuaW5uZXJIVE1MPSIiO2xldCBWPWF3YWl0IHRoaXMucGRmRG9jdW1lbnQuZ2V0UGFnZShhZSksSD1hd2FpdCBWLmdldFRleHRDb250ZW50KCksb2U9dGhpcy5jb21wdXRlVmlld3BvcnQoViksc2U9YXdhaXQgaW1wb3J0KCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL3BkZmpzLWRpc3RANC4wLjM3OS8rZXNtIik7eWUuc3R5bGUud2lkdGg9YCR7b2Uud2lkdGh9cHhgLHllLnN0eWxlLmhlaWdodD1gJHtvZS5oZWlnaHR9cHhgLHllLnN0eWxlLnNldFByb3BlcnR5KCItLXNjYWxlLWZhY3RvciIsU3RyaW5nKG9lLnNjYWxlKSk7bGV0IHRlPXNlLnJlbmRlclRleHRMYXllcih7dGV4dENvbnRlbnRTb3VyY2U6SCxjb250YWluZXI6eWUsdmlld3BvcnQ6b2V9KTt0aGlzLnRleHRMYXllclJlbmRlclRhc2tzLnNldChhZSx0ZSksYXdhaXQgdGUucHJvbWlzZTtsZXQgemU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7emUuY2xhc3NOYW1lPSJlbmRPZkNvbnRlbnQiLHllLmFwcGVuZENoaWxkKHplKTtsZXQgT2U9ITEscWU9bnVsbCxjdD0wLCRlPXMoKGRlLHZlKT0+e2xldCBBZT1BcnJheS5mcm9tKHllLnF1ZXJ5U2VsZWN0b3JBbGwoInNwYW4iKSk7Zm9yKGxldCBLZSBvZiBBZSl7bGV0IG50PUtlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO2lmKGRlPj1udC5sZWZ0JiZkZTw9bnQucmlnaHQmJnZlPj1udC50b3AmJnZlPD1udC5ib3R0b20pe2xldCBTdD1LZS5maXJzdENoaWxkO2lmKFN0JiZTdC5ub2RlVHlwZT09PU5vZGUuVEVYVF9OT0RFKXtsZXQgVGU9U3QudGV4dENvbnRlbnR8fCIiLHdlPW50LndpZHRoL1RlLmxlbmd0aCxSZT1kZS1udC5sZWZ0LGZlPU1hdGgubWluKE1hdGgucm91bmQoUmUvd2UpLFRlLmxlbmd0aCk7cmV0dXJue25vZGU6U3Qsb2Zmc2V0OmZlfX19fXJldHVybiBudWxsfSwiZ2V0VGV4dFBvc2l0aW9uRnJvbVBvaW50IiksQ2U9cygoKT0+e09lJiYoT2U9ITEscWU9bnVsbCx5ZS5jbGFzc0xpc3QucmVtb3ZlKCJzZWxlY3RpbmciKSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsQ2UpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsTWUpfSwiaGFuZGxlTW91c2VVcCIpLE1lPXMoZGU9PntpZighT2V8fCFxZSlyZXR1cm47ZGUucHJldmVudERlZmF1bHQoKTtsZXQgdmU9JGUoZGUuY2xpZW50WCxkZS5jbGllbnRZKTtpZih2ZSl7bGV0IEFlPXdpbmRvdy5nZXRTZWxlY3Rpb24oKTtpZihBZSl0cnl7QWUuc2V0QmFzZUFuZEV4dGVudChxZSxjdCx2ZS5ub2RlLHZlLm9mZnNldCl9Y2F0Y2h7fX19LCJoYW5kbGVNb3VzZU1vdmUiKTt5ZS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLGRlPT57aWYoZGUuYnV0dG9uIT09MClyZXR1cm47bGV0IHZlPSRlKGRlLmNsaWVudFgsZGUuY2xpZW50WSk7dmUmJihkZS5wcmV2ZW50RGVmYXVsdCgpLE9lPSEwLHFlPXZlLm5vZGUsY3Q9dmUub2Zmc2V0LHllLmNsYXNzTGlzdC5hZGQoInNlbGVjdGluZyIpLHdpbmRvdy5nZXRTZWxlY3Rpb24oKT8ucmVtb3ZlQWxsUmFuZ2VzKCksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIixNZSksZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsQ2UpKX0pLHJlLnRleHRMYXllclJlbmRlcmVkPSEwLFYuY2xlYW51cD8uKCksdGhpcy50ZXh0TGF5ZXJSZW5kZXJUYXNrcy5kZWxldGUoYWUpfWNhdGNoKHllKXt5ZT8ubmFtZSE9PSJSZW5kZXJpbmdDYW5jZWxsZWRFeGNlcHRpb24iJiZjb25zb2xlLmVycm9yKGBFcnJvciByZW5kZXJpbmcgdGV4dCBsYXllciBmb3IgcGFnZSAke2FlfTpgLHllKSx0aGlzLnRleHRMYXllclJlbmRlclRhc2tzLmRlbGV0ZShhZSl9fWhhbmRsZVNjcm9sbD1zKCgpPT57dGhpcy5zY3JvbGxUaHJvdHRsZVRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLnNjcm9sbFRocm90dGxlVGltZW91dCksdGhpcy5zY3JvbGxUaHJvdHRsZVRpbWVvdXQ9d2luZG93LnNldFRpbWVvdXQoKCk9Pnt0aGlzLnVwZGF0ZUN1cnJlbnRQYWdlKCksdGhpcy5yZW5kZXJWaXNpYmxlUGFnZXMoKX0sNTApfSwiaGFuZGxlU2Nyb2xsIik7dXBkYXRlQ3VycmVudFBhZ2UoKXtpZighdGhpcy52aWV3ZXJNYWluKXJldHVybjtsZXQgYWU9dGhpcy52aWV3ZXJNYWluLnNjcm9sbFRvcCxyZT10aGlzLnZpZXdlck1haW4uY2xpZW50SGVpZ2h0LHllPWFlK3JlLzI7Zm9yKGxldCBWPTA7Vjx0aGlzLnBhZ2VEYXRhLmxlbmd0aDtWKyspe2xldCBIPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcihgLnBhZ2Utd3JhcHBlcltkYXRhLXBhZ2U9IiR7VisxfSJdYCk7aWYoIUgpY29udGludWU7bGV0IG9lPUguZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksc2U9dGhpcy52aWV3ZXJNYWluLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLHRlPW9lLnRvcC1zZS50b3ArYWUsemU9dGUrb2UuaGVpZ2h0O2lmKHllPj10ZSYmeWU8PXplKXt0aGlzLmN1cnJlbnRQYWdlIT09VisxJiYodGhpcy5jdXJyZW50UGFnZT1WKzEsdGhpcy5zaG93U2lkZWJhciYmdGhpcy5zY3JvbGxUaHVtYm5haWxJbnRvVmlldyhWKzEpKTticmVha319fXNjcm9sbFRodW1ibmFpbEludG9WaWV3KGFlKXtsZXQgcmU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGAudGh1bWJuYWlsW2RhdGEtcGFnZT0iJHthZX0iXWApLHllPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnNpZGViYXItY29udGVudCIpO2lmKHJlJiZ5ZSl7bGV0IFY9cmUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksSD15ZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxvZT1WLnRvcDxILnRvcCxzZT1WLmJvdHRvbT5ILmJvdHRvbTtpZihvZXx8c2Upe2xldCB0ZT1yZS5vZmZzZXRUb3AsemU9cmUub2Zmc2V0SGVpZ2h0LE9lPXllLmNsaWVudEhlaWdodCxxZT10ZS1PZS8yK3plLzI7eWUuc2Nyb2xsVG8oe3RvcDpNYXRoLm1heCgwLHFlKSxiZWhhdmlvcjoic21vb3RoIn0pfX19YXN5bmMgc2Nyb2xsVG9QYWdlKGFlLHJlPSEwKXthd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlO2xldCB5ZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoYC5wYWdlLXdyYXBwZXJbZGF0YS1wYWdlPSIke2FlfSJdYCk7aWYoeWUmJnRoaXMudmlld2VyTWFpbil7bGV0IFY9eWUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksSD10aGlzLnZpZXdlck1haW4uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksc2U9dGhpcy52aWV3ZXJNYWluLnNjcm9sbFRvcCsoVi50b3AtSC50b3ApLXRoaXMudmlld2VyTWFpbi5jbGllbnRUb3AtMTY7cmU/dGhpcy52aWV3ZXJNYWluLnNjcm9sbFRvKHt0b3A6c2UsYmVoYXZpb3I6InNtb290aCJ9KTp0aGlzLnZpZXdlck1haW4uc2Nyb2xsVG9wPXNlLHRoaXMuY3VycmVudFBhZ2U9YWUsdGhpcy5zaG93U2lkZWJhciYmdGhpcy5zY3JvbGxUaHVtYm5haWxJbnRvVmlldyhhZSksYXdhaXQgdGhpcy5yZW5kZXJQYWdlSWZOZWVkZWQoYWUpfX1hc3luYyByZW5kZXJUaHVtYm5haWxzKCl7aWYoIXRoaXMucGRmRG9jdW1lbnR8fHRoaXMudGh1bWJuYWlsRGF0YS5sZW5ndGg+MCYmdGhpcy50aHVtYm5haWxEYXRhLmV2ZXJ5KHJlPT5yZS5yZW5kZXJlZCl8fHRoaXMucmVuZGVyQWJvcnRDb250cm9sbGVyPy5zaWduYWwuYWJvcnRlZClyZXR1cm47bGV0IGFlPXRoaXMucmVuZGVyQWJvcnRDb250cm9sbGVyPy5zaWduYWw7dGhpcy5yZW5kZXJTdGF0ZT0icmVuZGVyaW5nLXRodW1icyI7Zm9yKGxldCByZSBvZiB0aGlzLnRodW1ibmFpbFJlbmRlclRhc2tzKXRyeXtyZS5jYW5jZWwoKX1jYXRjaHt9dGhpcy50aHVtYm5haWxSZW5kZXJUYXNrcz1bXTt0cnl7YXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtsZXQgcmU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCIudGh1bWJuYWlsIikseWU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yQWxsKCIudGh1bWJuYWlsLWNhbnZhcyIpLFY9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuc2lkZWJhci1jb250ZW50IiksSD13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShWKSxzZT0yMDAtKHBhcnNlRmxvYXQoSC5wYWRkaW5nTGVmdCkrcGFyc2VGbG9hdChILnBhZGRpbmdSaWdodCkpLTQ7Zm9yKGxldCB0ZSBvZiBBcnJheS5mcm9tKHllKSl7bGV0IHplPXRlLmdldENvbnRleHQoIjJkIik7emUmJnplLmNsZWFyUmVjdCgwLDAsdGUud2lkdGgsdGUuaGVpZ2h0KX1mb3IobGV0IHRlPTA7dGU8eWUubGVuZ3RoO3RlKyspe2lmKGFlPy5hYm9ydGVkKXJldHVybjtsZXQgemU9eWVbdGVdLE9lPXJlW3RlXSxxZT1wYXJzZUludCh6ZS5kYXRhc2V0LnBhZ2V8fCIxIiksY3Q9YXdhaXQgdGhpcy5wZGZEb2N1bWVudC5nZXRQYWdlKHFlKSwkZT1jdC5nZXRWaWV3cG9ydCh7c2NhbGU6MX0pLENlPXNlLyRlLndpZHRoLE1lPWN0LmdldFZpZXdwb3J0KHtzY2FsZTpDZX0pLGRlPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxO3plLndpZHRoPU1hdGguZmxvb3IoTWUud2lkdGgqZGUpLHplLmhlaWdodD1NYXRoLmZsb29yKE1lLmhlaWdodCpkZSksemUuc3R5bGUud2lkdGg9YCR7TWUud2lkdGh9cHhgLHplLnN0eWxlLmhlaWdodD1gJHtNZS5oZWlnaHR9cHhgLE9lLnN0eWxlLmhlaWdodD1gJHtNZS5oZWlnaHR9cHhgLE9lLnN0eWxlLm1pbkhlaWdodD1gJHtNZS5oZWlnaHR9cHhgO2xldCB2ZT16ZS5nZXRDb250ZXh0KCIyZCIpO2lmKCF2ZSl7Y3QuY2xlYW51cD8uKCk7Y29udGludWV9dmUuc2NhbGUoZGUsZGUpO2xldCBBZT17Y2FudmFzQ29udGV4dDp2ZSx2aWV3cG9ydDpNZX0sS2U9Y3QucmVuZGVyKEFlKTt0aGlzLnRodW1ibmFpbFJlbmRlclRhc2tzLnB1c2goS2UpLGF3YWl0IEtlLnByb21pc2UsY3QuY2xlYW51cD8uKCk7bGV0IG50PXRoaXMudGh1bWJuYWlsRGF0YS5maW5kKFN0PT5TdC5wYWdlPT09cWUpO250JiYobnQucmVuZGVyZWQ9ITApfXRoaXMucmVxdWVzdFVwZGF0ZSgidGh1bWJuYWlsRGF0YSIpfWNhdGNoKHJlKXtyZT8ubmFtZSE9PSJSZW5kZXJpbmdDYW5jZWxsZWRFeGNlcHRpb24iJiZjb25zb2xlLmVycm9yKCJFcnJvciByZW5kZXJpbmcgdGh1bWJuYWlsczoiLHJlKX1maW5hbGx5e3RoaXMudGh1bWJuYWlsUmVuZGVyVGFza3M9W119fXByZXZpb3VzUGFnZSgpe3RoaXMuY3VycmVudFBhZ2U+MSYmdGhpcy5zY3JvbGxUb1BhZ2UodGhpcy5jdXJyZW50UGFnZS0xKX1uZXh0UGFnZSgpe3RoaXMuY3VycmVudFBhZ2U8dGhpcy50b3RhbFBhZ2VzJiZ0aGlzLnNjcm9sbFRvUGFnZSh0aGlzLmN1cnJlbnRQYWdlKzEpfWhhbmRsZVRodW1ibmFpbENsaWNrKGFlKXtsZXQgcmU9YWUuY3VycmVudFRhcmdldCx5ZT1wYXJzZUludChyZS5kYXRhc2V0LnBhZ2V8fCIxIik7dGhpcy5zY3JvbGxUb1BhZ2UoeWUpfWhhbmRsZVBhZ2VJbnB1dChhZSl7bGV0IHJlPWFlLnRhcmdldCx5ZT1wYXJzZUludChyZS52YWx1ZSk7dGhpcy5zY3JvbGxUb1BhZ2UoeWUpfXpvb21Jbigpe2xldCBhZT1NYXRoLm1pbih0aGlzLk1BTlVBTF9NQVhfWk9PTSx0aGlzLmN1cnJlbnRab29tKjEuMik7dGhpcy52aWV3cG9ydE1vZGU9ImN1c3RvbSIsYWUhPT10aGlzLmN1cnJlbnRab29tJiYodGhpcy5jdXJyZW50Wm9vbT1hZSx0aGlzLnJlUmVuZGVyQWxsUGFnZXMoKSl9em9vbU91dCgpe2xldCBhZT1NYXRoLm1heCh0aGlzLk1BTlVBTF9NSU5fWk9PTSx0aGlzLmN1cnJlbnRab29tLzEuMik7dGhpcy52aWV3cG9ydE1vZGU9ImN1c3RvbSIsYWUhPT10aGlzLmN1cnJlbnRab29tJiYodGhpcy5jdXJyZW50Wm9vbT1hZSx0aGlzLnJlUmVuZGVyQWxsUGFnZXMoKSl9cmVzZXRab29tKCl7dGhpcy52aWV3cG9ydE1vZGU9ImN1c3RvbSIsdGhpcy5jdXJyZW50Wm9vbT0xLHRoaXMucmVSZW5kZXJBbGxQYWdlcygpfWZpdFRvUGFnZSgpe3RoaXMudmlld3BvcnRNb2RlPSJwYWdlLWZpdCIsdGhpcy5yZVJlbmRlckFsbFBhZ2VzKCl9Zml0VG9XaWR0aCgpe3RoaXMudmlld3BvcnRNb2RlPSJwYWdlLXdpZHRoIix0aGlzLnJlUmVuZGVyQWxsUGFnZXMoKX1yZVJlbmRlckFsbFBhZ2VzKCl7dGhpcy5wYWdlRGF0YS5mb3JFYWNoKGFlPT57YWUucmVuZGVyZWQ9ITEsYWUucmVuZGVyaW5nPSExLGFlLnRleHRMYXllclJlbmRlcmVkPSExfSksdGhpcy5wYWdlUmVuZGVyVGFza3MuZm9yRWFjaChhZT0+e3RyeXthZS5jYW5jZWwoKX1jYXRjaHt9fSksdGhpcy5wYWdlUmVuZGVyVGFza3MuY2xlYXIoKSx0aGlzLnRleHRMYXllclJlbmRlclRhc2tzLmZvckVhY2goYWU9Pnt0cnl7YWUuY2FuY2VsPy4oKX1jYXRjaHt9fSksdGhpcy50ZXh0TGF5ZXJSZW5kZXJUYXNrcy5jbGVhcigpLHRoaXMucmVxdWVzdFVwZGF0ZSgpLHRoaXMudXBkYXRlQ29tcGxldGUudGhlbigoKT0+e3RoaXMucmVuZGVyVmlzaWJsZVBhZ2VzKCl9KX1hc3luYyBkb3dubG9hZFBkZigpe2lmKHRoaXMucGRmRG9jdW1lbnQpdHJ5e2xldCBhZT1hd2FpdCB0aGlzLnBkZkRvY3VtZW50LmdldERhdGEoKSxyZT1uZXcgQmxvYihbYWUuYnVmZmVyXSx7dHlwZToiYXBwbGljYXRpb24vcGRmIn0pLHllPVVSTC5jcmVhdGVPYmplY3RVUkwocmUpLFY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO1YuaHJlZj15ZSxWLmRvd25sb2FkPXRoaXMucGRmVXJsJiZ0aGlzLnBkZlVybC5zcGxpdCgiLyIpLnBvcCgpfHwiZG9jdW1lbnQucGRmIixWLmNsaWNrKCksc2V0VGltZW91dCgoKT0+VVJMLnJldm9rZU9iamVjdFVSTCh5ZSksMWUzKX1jYXRjaChhZSl7Y29uc29sZS5lcnJvcigiRXJyb3IgZG93bmxvYWRpbmcgUERGOiIsYWUpfX1hc3luYyBwcmludFBkZigpe2lmKHRoaXMucGRmRG9jdW1lbnQpdHJ5e2xldCBhZT1hd2FpdCB0aGlzLnBkZkRvY3VtZW50LmdldERhdGEoKSxyZT1uZXcgQmxvYihbYWUuYnVmZmVyXSx7dHlwZToiYXBwbGljYXRpb24vcGRmIn0pLHllPVVSTC5jcmVhdGVPYmplY3RVUkwocmUpLFY9YAogICAgICAgIDwhRE9DVFlQRSBodG1sPgogICAgICAgIDxodG1sPgogICAgICAgIDxoZWFkPgogICAgICAgICAgPHRpdGxlPlByaW50IFBERjwvdGl0bGU+CiAgICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgICogeyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH0KICAgICAgICAgICAgaHRtbCwgYm9keSB7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG92ZXJmbG93OiBoaWRkZW47IH0KICAgICAgICAgICAgaWZyYW1lIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgYm9yZGVyOiBub25lOyB9CiAgICAgICAgICAgIEBtZWRpYSBwcmludCB7CiAgICAgICAgICAgICAgaHRtbCwgYm9keSwgaWZyYW1lIHsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgfQogICAgICAgICAgICB9CiAgICAgICAgICA8L3N0eWxlPgogICAgICAgIDwvaGVhZD4KICAgICAgICA8Ym9keT4KICAgICAgICAgIDxpZnJhbWUgc3JjPSIke3llfSIgdHlwZT0iYXBwbGljYXRpb24vcGRmIj48L2lmcmFtZT4KICAgICAgICAgIDxzY3JpcHQ+CiAgICAgICAgICAgIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmZvY3VzKCk7CiAgICAgICAgICAgICAgICB3aW5kb3cucHJpbnQoKTsKICAgICAgICAgICAgICB9LCA1MDApOwogICAgICAgICAgICB9OwogICAgICAgICAgICB3aW5kb3cub25hZnRlcnByaW50ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgd2luZG93LmNsb3NlKCk7CiAgICAgICAgICAgIH07CiAgICAgICAgICAgIC8vIFNhZmV0eSBjbG9zZSBhZnRlciAyIG1pbnV0ZXMKICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmNsb3NlKCk7IH0sIDEyMDAwMCk7CiAgICAgICAgICA8XC9zY3JpcHQ+CiAgICAgICAgPC9ib2R5PgogICAgICAgIDwvaHRtbD4KICAgICAgYCxIPW5ldyBCbG9iKFtWXSx7dHlwZToidGV4dC9odG1sIn0pLG9lPVVSTC5jcmVhdGVPYmplY3RVUkwoSCksc2U9d2luZG93Lm9wZW4ob2UsIl9ibGFuayIsIndpZHRoPTgwMCxoZWlnaHQ9NjAwIik7aWYoc2Upe2xldCB0ZT1zZXRJbnRlcnZhbCgoKT0+e3NlLmNsb3NlZCYmKGNsZWFySW50ZXJ2YWwodGUpLFVSTC5yZXZva2VPYmplY3RVUkwoeWUpLFVSTC5yZXZva2VPYmplY3RVUkwob2UpKX0sNTAwKTtzZXRUaW1lb3V0KCgpPT57Y2xlYXJJbnRlcnZhbCh0ZSksVVJMLnJldm9rZU9iamVjdFVSTCh5ZSksVVJMLnJldm9rZU9iamVjdFVSTChvZSl9LDEyZTQpfWVsc2Ugd2luZG93Lm9wZW4oeWUsIl9ibGFuayIpLHNldFRpbWVvdXQoKCk9PlVSTC5yZXZva2VPYmplY3RVUkwoeWUpLDZlNCksVVJMLnJldm9rZU9iamVjdFVSTChvZSl9Y2F0Y2goYWUpe2NvbnNvbGUuZXJyb3IoIkVycm9yIHByaW50aW5nIFBERjoiLGFlKX19Z2V0Q29udGV4dE1lbnVJdGVtcygpe2xldCBhZT1bXSx5ZT13aW5kb3cuZ2V0U2VsZWN0aW9uKCk/LnRvU3RyaW5nKCl8fCIiO3JldHVybiB5ZSYmKGFlLnB1c2goe25hbWU6IkNvcHkiLGljb25OYW1lOiJsdWNpZGU6Q29weSIsYWN0aW9uOnMoYXN5bmMoKT0+e2F3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHllKX0sImFjdGlvbiIpfSksYWUucHVzaCh7ZGl2aWRlcjohMH0pKSxhZS5wdXNoKHtuYW1lOiJEb3dubG9hZCBQREYiLGljb25OYW1lOiJsdWNpZGU6RG93bmxvYWQiLGFjdGlvbjpzKGFzeW5jKCk9Pnthd2FpdCB0aGlzLmRvd25sb2FkUGRmKCl9LCJhY3Rpb24iKX0se25hbWU6IlByaW50IFBERiIsaWNvbk5hbWU6Imx1Y2lkZTpQcmludGVyIixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgdGhpcy5wcmludFBkZigpfSwiYWN0aW9uIil9KSxhZX1nZXQgY2FuWm9vbUluKCl7cmV0dXJuIHRoaXMudmlld3BvcnRNb2RlIT09ImN1c3RvbSJ8fHRoaXMuY3VycmVudFpvb208dGhpcy5NQU5VQUxfTUFYX1pPT019Z2V0IGNhblpvb21PdXQoKXtyZXR1cm4gdGhpcy52aWV3cG9ydE1vZGUhPT0iY3VzdG9tInx8dGhpcy5jdXJyZW50Wm9vbT50aGlzLk1BTlVBTF9NSU5fWk9PTX1lbnN1cmVWaWV3ZXJSZWZzKCl7dGhpcy52aWV3ZXJNYWlufHwodGhpcy52aWV3ZXJNYWluPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLnZpZXdlci1tYWluIikpLHRoaXMudmlld2VyTWFpbiYmIXRoaXMucmVzaXplT2JzZXJ2ZXImJih0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMubWVhc3VyZVZpZXdwb3J0RGltZW5zaW9ucygpLHRoaXMucGRmRG9jdW1lbnQmJnRoaXMucmVSZW5kZXJBbGxQYWdlcygpfSksdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMudmlld2VyTWFpbiksdGhpcy5tZWFzdXJlVmlld3BvcnREaW1lbnNpb25zKCksdGhpcy52aWV3ZXJNYWluLmFkZEV2ZW50TGlzdGVuZXIoIndoZWVsIixhZT0+e2xldCByZT1hZS5jdXJyZW50VGFyZ2V0LHllPXJlLnNjcm9sbFRvcCxWPXJlLnNjcm9sbEhlaWdodCxIPXJlLmNsaWVudEhlaWdodCxvZT1hZS5kZWx0YVksc2U9eWU9PT0wLHRlPU1hdGguYWJzKHllK0gtVik8MTtvZTwwJiYhc2V8fG9lPjAmJiF0ZT9hZS5zdG9wUHJvcGFnYXRpb24oKToob2U8MCYmc2V8fG9lPjAmJnRlKSYmKGFlLnByZXZlbnREZWZhdWx0KCksYWUuc3RvcFByb3BhZ2F0aW9uKCkpfSx7cGFzc2l2ZTohMX0pKX1tZWFzdXJlVmlld3BvcnREaW1lbnNpb25zKCl7aWYoIXRoaXMudmlld2VyTWFpbil7dGhpcy52aWV3cG9ydERpbWVuc2lvbnM9e3dpZHRoOjAsaGVpZ2h0OjB9O3JldHVybn1sZXQgYWU9Z2V0Q29tcHV0ZWRTdHlsZSh0aGlzLnZpZXdlck1haW4pLHJlPXBhcnNlRmxvYXQoYWUucGFkZGluZ0xlZnR8fCIwIikrcGFyc2VGbG9hdChhZS5wYWRkaW5nUmlnaHR8fCIwIikseWU9cGFyc2VGbG9hdChhZS5wYWRkaW5nVG9wfHwiMCIpK3BhcnNlRmxvYXQoYWUucGFkZGluZ0JvdHRvbXx8IjAiKSxWPU1hdGgubWF4KHRoaXMudmlld2VyTWFpbi5jbGllbnRXaWR0aC1yZSwwKSxIPU1hdGgubWF4KHRoaXMudmlld2VyTWFpbi5jbGllbnRIZWlnaHQteWUsMCk7dGhpcy52aWV3cG9ydERpbWVuc2lvbnM9e3dpZHRoOlYsaGVpZ2h0Okh9fXJlc29sdmVJbml0aWFsVmlld3BvcnRNb2RlKCl7dHlwZW9mIHRoaXMuaW5pdGlhbFpvb209PSJudW1iZXIiPyh0aGlzLnZpZXdwb3J0TW9kZT0iY3VzdG9tIix0aGlzLmN1cnJlbnRab29tPXRoaXMubm9ybWFsaXplWm9vbSh0aGlzLmluaXRpYWxab29tLCEwKSk6dGhpcy5pbml0aWFsWm9vbT09PSJwYWdlLXdpZHRoIj90aGlzLnZpZXdwb3J0TW9kZT0icGFnZS13aWR0aCI6dGhpcy5pbml0aWFsWm9vbT09PSJwYWdlLWZpdCJ8fHRoaXMuaW5pdGlhbFpvb209PT0iYXV0byI/dGhpcy52aWV3cG9ydE1vZGU9InBhZ2UtZml0Ijp0aGlzLnZpZXdwb3J0TW9kZT0iYXV0byIsdGhpcy52aWV3cG9ydE1vZGUhPT0iY3VzdG9tIiYmKHRoaXMuY3VycmVudFpvb209MSl9Y29tcHV0ZVZpZXdwb3J0KGFlKXt0aGlzLm1lYXN1cmVWaWV3cG9ydERpbWVuc2lvbnMoKTtsZXQgcmU9YWUuZ2V0Vmlld3BvcnQoe3NjYWxlOjF9KSx5ZTtzd2l0Y2godGhpcy52aWV3cG9ydE1vZGUpe2Nhc2UicGFnZS13aWR0aCI6e3llPSh0aGlzLnZpZXdwb3J0RGltZW5zaW9ucy53aWR0aHx8cmUud2lkdGgpL3JlLndpZHRoO2JyZWFrfWNhc2UicGFnZS1maXQiOmNhc2UiYXV0byI6e2xldCBIPXRoaXMudmlld3BvcnREaW1lbnNpb25zLndpZHRofHxyZS53aWR0aCxvZT10aGlzLnZpZXdwb3J0RGltZW5zaW9ucy5oZWlnaHR8fHJlLmhlaWdodCxzZT1IL3JlLndpZHRoLHRlPW9lL3JlLmhlaWdodDt5ZT1NYXRoLm1pbihzZSx0ZSk7YnJlYWt9ZGVmYXVsdDp7eWU9dGhpcy5ub3JtYWxpemVab29tKHRoaXMuY3VycmVudFpvb218fDEsITEpO2JyZWFrfX0oIU51bWJlci5pc0Zpbml0ZSh5ZSl8fHllPD0wKSYmKHllPTEpO2xldCBWPXRoaXMudmlld3BvcnRNb2RlPT09ImN1c3RvbSI/dGhpcy5ub3JtYWxpemVab29tKHllLCEwKTp0aGlzLm5vcm1hbGl6ZVpvb20oeWUsITEpO3JldHVybiB0aGlzLnZpZXdwb3J0TW9kZSE9PSJjdXN0b20iJiYodGhpcy5jdXJyZW50Wm9vbT1WKSxhZS5nZXRWaWV3cG9ydCh7c2NhbGU6Vn0pfW5vcm1hbGl6ZVpvb20oYWUscmUpe2xldCB5ZT1yZT90aGlzLk1BTlVBTF9NSU5fWk9PTTp0aGlzLkFCU09MVVRFX01JTl9aT09NLFY9cmU/dGhpcy5NQU5VQUxfTUFYX1pPT006dGhpcy5BQlNPTFVURV9NQVhfWk9PTTtyZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgoYWUseWUpLFYpfWFzeW5jIGNsZWFudXBEb2N1bWVudCgpe2lmKHRoaXMucmVuZGVyQWJvcnRDb250cm9sbGVyJiYodGhpcy5yZW5kZXJBYm9ydENvbnRyb2xsZXIuYWJvcnQoKSx0aGlzLnJlbmRlckFib3J0Q29udHJvbGxlcj1udWxsKSx0aGlzLmN1cnJlbnRSZW5kZXJQcm9taXNlKXt0cnl7YXdhaXQgdGhpcy5jdXJyZW50UmVuZGVyUHJvbWlzZX1jYXRjaHt9dGhpcy5jdXJyZW50UmVuZGVyUHJvbWlzZT1udWxsfXRoaXMuY3VycmVudFJlbmRlclRhc2s9bnVsbCx0aGlzLnBhZ2VSZW5kZXJUYXNrcy5mb3JFYWNoKGFlPT57dHJ5e2FlLmNhbmNlbCgpfWNhdGNoe319KSx0aGlzLnBhZ2VSZW5kZXJUYXNrcy5jbGVhcigpLHRoaXMudGV4dExheWVyUmVuZGVyVGFza3MuZm9yRWFjaChhZT0+e3RyeXthZS5jYW5jZWw/LigpfWNhdGNoe319KSx0aGlzLnRleHRMYXllclJlbmRlclRhc2tzLmNsZWFyKCk7Zm9yKGxldCBhZSBvZiB0aGlzLnRodW1ibmFpbFJlbmRlclRhc2tzfHxbXSl0cnl7YWUuY2FuY2VsKCl9Y2F0Y2h7fWlmKHRoaXMudGh1bWJuYWlsUmVuZGVyVGFza3M9W10sdGhpcy5yZW5kZXJTdGF0ZT0iaWRsZSIsdGhpcy5wYWdlUmVuZGVyaW5nPSExLHRoaXMucGFnZU51bVBlbmRpbmc9bnVsbCx0aGlzLnRodW1ibmFpbERhdGE9W10sdGhpcy5wYWdlRGF0YT1bXSx0aGlzLmRvY3VtZW50SWQ9IiIsdGhpcy5jYW52YXMmJnRoaXMuY3R4JiZ0aGlzLmN0eC5jbGVhclJlY3QoMCwwLHRoaXMuY2FudmFzLndpZHRoLHRoaXMuY2FudmFzLmhlaWdodCksdGhpcy5wZGZEb2N1bWVudCl0cnl7dGhpcy5wZGZEb2N1bWVudC5kZXN0cm95KCl9Y2F0Y2goYWUpe2NvbnNvbGUuZXJyb3IoIkVycm9yIGRlc3Ryb3lpbmcgUERGIGRvY3VtZW50OiIsYWUpfXRoaXMucGRmRG9jdW1lbnQ9bnVsbCx0aGlzLnJlcXVlc3RVcGRhdGUoKX1zdGF0aWN7WmEocix0KX19O3JldHVybiBnZT1yfSkoKX0pO3ZhciBEM2EsQTNhPWYoKCk9PntsZSgpO0QzYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDQ4cHg7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjhmOWZhIiwiIzBhMGEwYSIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiA0MHB4OwogICAgfQoKICAgIC5zZWN0aW9uIHsKICAgICAgbWF4LXdpZHRoOiA5MDBweDsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgfQoKICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CgogICAgLnNlY3Rpb24tZGVzY3JpcHRpb24gewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICB9CgogICAgLnByZXZpZXctaW1hZ2UgewogICAgICBoZWlnaHQ6IDQwMHB4OwogICAgfQoKICAgIC5wcmV2aWV3LXBkZiB7CiAgICAgIGhlaWdodDogNjAwcHg7CiAgICB9CiAgPC9zdHlsZT4KCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkltYWdlIFByZXZpZXcgKFVSTCk8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+QXV0by1kZXRlY3RzIGltYWdlIGZyb20gVVJMIGV4dGVuc2lvbiBhbmQgcmVuZGVycyB3aXRoIHRoZSBpbWFnZSB2aWV3ZXIuPC9kaXY+CiAgICAgIDxkZWVzLXByZXZpZXcKICAgICAgICBjbGFzcz0icHJldmlldy1pbWFnZSIKICAgICAgICB1cmw9Imh0dHBzOi8vaW1hZ2VzLnVuc3BsYXNoLmNvbS9waG90by0xNTA2NzQ0MDM4MTM2LTQ2MjczODM0YjNmYj93PTEyMDAiCiAgICAgICAgZmlsZW5hbWU9ImxhbmRzY2FwZS5qcGciCiAgICAgID48L2RlZXMtcHJldmlldz4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5QREYgUHJldmlldyAoVVJMKTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5BdXRvLWRldGVjdHMgUERGIGFuZCBkaXNwbGF5cyB3aXRoIHRoZSBQREYgdmlld2VyIGluY2x1ZGluZyB0b29sYmFyLjwvZGl2PgogICAgICA8ZGVlcy1wcmV2aWV3CiAgICAgICAgY2xhc3M9InByZXZpZXctcGRmIgogICAgICAgIHVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL3dlYi9jb21wcmVzc2VkLnRyYWNlbW9ua2V5LXBsZGktMDkucGRmIgogICAgICAgIGZpbGVuYW1lPSJyZXNlYXJjaC1wYXBlci5wZGYiCiAgICAgID48L2RlZXMtcHJldmlldz4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Db2RlIFByZXZpZXcgKFRleHQgQ29udGVudCk8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+VHlwZVNjcmlwdCBjb2RlIGRpc3BsYXllZCB3aXRoIHN5bnRheCBoaWdobGlnaHRpbmcgdmlhIHRoZSBjb2RlYm94LjwvZGl2PgogICAgICA8ZGVlcy1wcmV2aWV3CiAgICAgICAgZmlsZW5hbWU9ImV4YW1wbGUudHMiCiAgICAgICAgbGFuZ3VhZ2U9InR5cGVzY3JpcHQiCiAgICAgICAgLnRleHRDb250ZW50PSR7YGltcG9ydCB7IGh0bWwsIGNzcyB9IGZyb20gJ2xpdCc7CgpleHBvcnQgY2xhc3MgTXlDb21wb25lbnQgZXh0ZW5kcyBMaXRFbGVtZW50IHsKICBzdGF0aWMgc3R5bGVzID0gY3NzXGAKICAgIDpob3N0IHsKICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICB9CiAgXGA7CgogIHJlbmRlcigpIHsKICAgIHJldHVybiBodG1sXGA8aDE+SGVsbG8gV29ybGQ8L2gxPlxgOwogIH0KfWB9CiAgICAgID48L2RlZXMtcHJldmlldz4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BdWRpbyBQcmV2aWV3IChVUkwpPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkF1ZGlvIGZpbGUgZGV0ZWN0ZWQgYnkgZXh0ZW5zaW9uLCBzaG93biB3aXRoIHdhdmVmb3JtIHBsYXllci48L2Rpdj4KICAgICAgPGRlZXMtcHJldmlldwogICAgICAgIHVybD0iaHR0cHM6Ly93d3cuc291bmRoZWxpeC5jb20vZXhhbXBsZXMvbXAzL1NvdW5kSGVsaXgtU29uZy0xLm1wMyIKICAgICAgICBmaWxlbmFtZT0ic29uZy5tcDMiCiAgICAgID48L2RlZXMtcHJldmlldz4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5WaWRlbyBQcmV2aWV3IChVUkwpPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPlZpZGVvIGZpbGUgZGV0ZWN0ZWQgZnJvbSBVUkwsIHJlbmRlcmVkIHdpdGggY3VzdG9tIHZpZGVvIGNvbnRyb2xzLjwvZGl2PgogICAgICA8ZGVlcy1wcmV2aWV3CiAgICAgICAgdXJsPSJodHRwczovL2NvbW1vbmRhdGFzdG9yYWdlLmdvb2dsZWFwaXMuY29tL2d0di12aWRlb3MtYnVja2V0L3NhbXBsZS9CaWdCdWNrQnVubnkubXA0IgogICAgICAgIGZpbGVuYW1lPSJiaWctYnVjay1idW5ueS5tcDQiCiAgICAgID48L2RlZXMtcHJldmlldz4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5FeHBsaWNpdCBUeXBlIE92ZXJyaWRlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPkZvcmNlIGNvbnRlbnQgdHlwZSB0byAndGV4dCcgZXZlbiB0aG91Z2ggdGhlIFVSTCBoYXMgbm8gZXh0ZW5zaW9uLjwvZGl2PgogICAgICA8ZGVlcy1wcmV2aWV3CiAgICAgICAgY29udGVudFR5cGU9InRleHQiCiAgICAgICAgLnRleHRDb250ZW50PSR7YFRoaXMgaXMgcGxhaW4gdGV4dCBjb250ZW50LgpJdCBwcmVzZXJ2ZXMgd2hpdGVzcGFjZSBhbmQgbGluZSBicmVha3MuCgpVc2VmdWwgZm9yIGxvZyBmaWxlcywgUkVBRE1FcywgZXRjLmB9CiAgICAgICAgZmlsZW5hbWU9Im5vdGVzLnR4dCIKICAgICAgPjwvZGVlcy1wcmV2aWV3PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlVua25vd24gVHlwZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj5XaGVuIGNvbnRlbnQgdHlwZSBjYW5ub3QgYmUgZGV0ZWN0ZWQsIHNob3dzIGEgcGxhY2Vob2xkZXIuPC9kaXY+CiAgICAgIDxkZWVzLXByZXZpZXcKICAgICAgICBmaWxlbmFtZT0iZGF0YS5iaW4iCiAgICAgICAgY29udGVudFR5cGU9InVua25vd24iCiAgICAgID48L2RlZXMtcHJldmlldz4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vRnVuYyIpfSk7dmFyIGxpLEFhLEUzYSxPSWEsRklhLEJJYSxQM2EsSTNhPWYoKCk9PntsZSgpO0JRZSgpO0hRZSgpO3FRZSgpO2tRZSgpO1ZRZSgpO3ZhKCk7QTNhKCk7bGk9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEFhPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxFM2E9e2pwZzoiaW1hZ2UiLGpwZWc6ImltYWdlIixwbmc6ImltYWdlIixnaWY6ImltYWdlIix3ZWJwOiJpbWFnZSIsc3ZnOiJpbWFnZSIsYm1wOiJpbWFnZSIsYXZpZjoiaW1hZ2UiLGljbzoiaW1hZ2UiLHBkZjoicGRmIixtcDM6ImF1ZGlvIix3YXY6ImF1ZGlvIixvZ2c6ImF1ZGlvIixmbGFjOiJhdWRpbyIsYWFjOiJhdWRpbyIsbTRhOiJhdWRpbyIsb3B1czoiYXVkaW8iLHdlYmE6ImF1ZGlvIixtcDQ6InZpZGVvIix3ZWJtOiJ2aWRlbyIsbW92OiJ2aWRlbyIsYXZpOiJ2aWRlbyIsbWt2OiJ2aWRlbyIsb2d2OiJ2aWRlbyIsdHM6ImNvZGUiLGpzOiJjb2RlIixqc3g6ImNvZGUiLHRzeDoiY29kZSIsanNvbjoiY29kZSIsaHRtbDoiY29kZSIsY3NzOiJjb2RlIixzY3NzOiJjb2RlIixsZXNzOiJjb2RlIixweToiY29kZSIsamF2YToiY29kZSIsZ286ImNvZGUiLHJzOiJjb2RlIix5YW1sOiJjb2RlIix5bWw6ImNvZGUiLHhtbDoiY29kZSIsc3FsOiJjb2RlIixzaDoiY29kZSIsYmFzaDoiY29kZSIsenNoOiJjb2RlIixtZDoiY29kZSIsYzoiY29kZSIsY3BwOiJjb2RlIixoOiJjb2RlIixocHA6ImNvZGUiLHJiOiJjb2RlIixwaHA6ImNvZGUiLHN3aWZ0OiJjb2RlIixrdDoiY29kZSIsdHh0OiJ0ZXh0Iixsb2c6InRleHQiLGNzdjoidGV4dCIsZW52OiJ0ZXh0In0sT0lhPXsiaW1hZ2UvIjoiaW1hZ2UiLCJhdWRpby8iOiJhdWRpbyIsInZpZGVvLyI6InZpZGVvIiwiYXBwbGljYXRpb24vcGRmIjoicGRmIn0sRklhPXt0czoidHlwZXNjcmlwdCIsdHN4OiJ0eXBlc2NyaXB0IixqczoiamF2YXNjcmlwdCIsanN4OiJqYXZhc2NyaXB0Iixqc29uOiJqc29uIixodG1sOiJ4bWwiLHhtbDoieG1sIixjc3M6ImNzcyIsc2Nzczoic2NzcyIsbGVzczoibGVzcyIscHk6InB5dGhvbiIsamF2YToiamF2YSIsZ286ImdvIixyczoicnVzdCIseWFtbDoieWFtbCIseW1sOiJ5YW1sIixzcWw6InNxbCIsc2g6ImJhc2giLGJhc2g6ImJhc2giLHpzaDoiYmFzaCIsYzoiYyIsY3BwOiJjcHAiLGg6ImMiLGhwcDoiY3BwIixyYjoicnVieSIscGhwOiJwaHAiLHN3aWZ0OiJzd2lmdCIsa3Q6ImtvdGxpbiIsbWQ6Im1hcmtkb3duIn0sQklhPXtpbWFnZToibHVjaWRlOkltYWdlIixwZGY6Imx1Y2lkZTpGaWxlVGV4dCIsYXVkaW86Imx1Y2lkZTpNdXNpYyIsdmlkZW86Imx1Y2lkZTpWaWRlbyIsY29kZToibHVjaWRlOkNvZGUiLHRleHQ6Imx1Y2lkZTpGaWxlVGV4dCIsdW5rbm93bjoibHVjaWRlOkZpbGUifSxQM2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLXByZXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W10sbWUsST1bXSxxPVtdLGNlLHVlPVtdLFk9W10sWCxKPVtdLFo9W10sZ2UsYWU9W10scmU9W10seWUsVj1bXSxIPVtdO3ZhciBvZT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1ByZXZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgc2U9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKHthdHRyaWJ1dGU6ITF9KV0sdT1bJCgpXSx4PVskKCldLHk9WyQoKV0sTj1bJCgpXSxPPVskKCldLEI9WyQoKV0sUD1bJCh7dHlwZTpCb29sZWFufSldLFc9WyQoe3R5cGU6Qm9vbGVhbn0pXSxoZT1bSygpXSxtZT1bSygpXSxjZT1bSygpXSxYPVtLKCldLGdlPVtLKCldLHllPVtLKCldLGxpKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidXJsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4idXJsImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUudXJsLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUudXJsPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxuLGwpLGxpKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+ImZpbGUiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5maWxlLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuZmlsZT16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sYyxwKSxsaSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImJhc2U2NCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+ImJhc2U2NCJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmJhc2U2NCwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLmJhc2U2ND16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sbSx2KSxsaSh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRleHRDb250ZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4idGV4dENvbnRlbnQiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS50ZXh0Q29udGVudCwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLnRleHRDb250ZW50PXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxiLGcpLGxpKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudFR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJjb250ZW50VHlwZSJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmNvbnRlbnRUeXBlLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuY29udGVudFR5cGU9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LGssQyksbGkodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYW5ndWFnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+Imxhbmd1YWdlImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUubGFuZ3VhZ2UsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5sYW5ndWFnZT16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sXyx6KSxsaSh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1pbWVUeXBlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4ibWltZVR5cGUiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5taW1lVHlwZSwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLm1pbWVUeXBlPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxULEUpLGxpKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmlsZW5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJmaWxlbmFtZSJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmZpbGVuYW1lLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuZmlsZW5hbWU9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LE0sUyksbGkodGhpcyxudWxsLFAse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93VG9vbGJhciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+InNob3dUb29sYmFyImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUuc2hvd1Rvb2xiYXIsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5zaG93VG9vbGJhcj16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sQSxGKSxsaSh0aGlzLG51bGwsVyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dGaWxlbmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+InNob3dGaWxlbmFtZSJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLnNob3dGaWxlbmFtZSwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLnNob3dGaWxlbmFtZT16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0saixHKSxsaSh0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXNvbHZlZFR5cGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJyZXNvbHZlZFR5cGUiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5yZXNvbHZlZFR5cGUsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5yZXNvbHZlZFR5cGU9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LFIsVSksbGkodGhpcyxudWxsLG1lLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVzb2x2ZWRTcmMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJyZXNvbHZlZFNyYyJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLnJlc29sdmVkU3JjLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUucmVzb2x2ZWRTcmM9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LEkscSksbGkodGhpcyxudWxsLGNlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVzb2x2ZWRUZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4icmVzb2x2ZWRUZXh0ImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUucmVzb2x2ZWRUZXh0LCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUucmVzb2x2ZWRUZXh0PXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSx1ZSxZKSxsaSh0aGlzLG51bGwsWCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlc29sdmVkTGFuZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+InJlc29sdmVkTGFuZyJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLnJlc29sdmVkTGFuZywiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLnJlc29sdmVkTGFuZz16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sSixaKSxsaSh0aGlzLG51bGwsZ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4ibG9hZGluZyJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmxvYWRpbmcsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5sb2FkaW5nPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxhZSxyZSksbGkodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXJyb3IiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJlcnJvciJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmVycm9yLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuZXJyb3I9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LFYsSCksbGkobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6c2V9LG51bGwsdCksb2U9cj1lLnZhbHVlLHNlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnNlfSl9c3RhdGljIGRlbW89RDNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiTWVkaWEiLCJEYXRhIFZpZXciXTsjZT1BYSh0aGlzLG4sIiIpO2dldCB1cmwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdXJsKHNlKXt0aGlzLiNlPXNlfSN0PShBYSh0aGlzLGwpLEFhKHRoaXMsYyx2b2lkIDApKTtnZXQgZmlsZSgpe3JldHVybiB0aGlzLiN0fXNldCBmaWxlKHNlKXt0aGlzLiN0PXNlfSNhPShBYSh0aGlzLHApLEFhKHRoaXMsbSwiIikpO2dldCBiYXNlNjQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYmFzZTY0KHNlKXt0aGlzLiNhPXNlfSNyPShBYSh0aGlzLHYpLEFhKHRoaXMsYiwiIikpO2dldCB0ZXh0Q29udGVudCgpe3JldHVybiB0aGlzLiNyfXNldCB0ZXh0Q29udGVudChzZSl7dGhpcy4jcj1zZX0jcz0oQWEodGhpcyxnKSxBYSh0aGlzLGssdm9pZCAwKSk7Z2V0IGNvbnRlbnRUeXBlKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGNvbnRlbnRUeXBlKHNlKXt0aGlzLiNzPXNlfSNpPShBYSh0aGlzLEMpLEFhKHRoaXMsXywiIikpO2dldCBsYW5ndWFnZSgpe3JldHVybiB0aGlzLiNpfXNldCBsYW5ndWFnZShzZSl7dGhpcy4jaT1zZX0jbz0oQWEodGhpcyx6KSxBYSh0aGlzLFQsIiIpKTtnZXQgbWltZVR5cGUoKXtyZXR1cm4gdGhpcy4jb31zZXQgbWltZVR5cGUoc2Upe3RoaXMuI289c2V9I249KEFhKHRoaXMsRSksQWEodGhpcyxNLCIiKSk7Z2V0IGZpbGVuYW1lKCl7cmV0dXJuIHRoaXMuI259c2V0IGZpbGVuYW1lKHNlKXt0aGlzLiNuPXNlfSNsPShBYSh0aGlzLFMpLEFhKHRoaXMsQSwhMCkpO2dldCBzaG93VG9vbGJhcigpe3JldHVybiB0aGlzLiNsfXNldCBzaG93VG9vbGJhcihzZSl7dGhpcy4jbD1zZX0jYz0oQWEodGhpcyxGKSxBYSh0aGlzLGosITApKTtnZXQgc2hvd0ZpbGVuYW1lKCl7cmV0dXJuIHRoaXMuI2N9c2V0IHNob3dGaWxlbmFtZShzZSl7dGhpcy4jYz1zZX0jZD0oQWEodGhpcyxHKSxBYSh0aGlzLFIsInVua25vd24iKSk7Z2V0IHJlc29sdmVkVHlwZSgpe3JldHVybiB0aGlzLiNkfXNldCByZXNvbHZlZFR5cGUoc2Upe3RoaXMuI2Q9c2V9I3U9KEFhKHRoaXMsVSksQWEodGhpcyxJLCIiKSk7Z2V0IHJlc29sdmVkU3JjKCl7cmV0dXJuIHRoaXMuI3V9c2V0IHJlc29sdmVkU3JjKHNlKXt0aGlzLiN1PXNlfSNwPShBYSh0aGlzLHEpLEFhKHRoaXMsdWUsIiIpKTtnZXQgcmVzb2x2ZWRUZXh0KCl7cmV0dXJuIHRoaXMuI3B9c2V0IHJlc29sdmVkVGV4dChzZSl7dGhpcy4jcD1zZX0jZj0oQWEodGhpcyxZKSxBYSh0aGlzLEosInRleHQiKSk7Z2V0IHJlc29sdmVkTGFuZygpe3JldHVybiB0aGlzLiNmfXNldCByZXNvbHZlZExhbmcoc2Upe3RoaXMuI2Y9c2V9I2g9KEFhKHRoaXMsWiksQWEodGhpcyxhZSwhMSkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2h9c2V0IGxvYWRpbmcoc2Upe3RoaXMuI2g9c2V9I209KEFhKHRoaXMscmUpLEFhKHRoaXMsViwiIikpO2dldCBlcnJvcigpe3JldHVybiB0aGlzLiNtfXNldCBlcnJvcihzZSl7dGhpcy4jbT1zZX1vYmplY3RVcmw9KEFhKHRoaXMsSCksIiIpO3JlbmRlcigpe2xldCBzZT10aGlzLmZpbGVuYW1lfHx0aGlzLmZpbGU/Lm5hbWV8fHRoaXMuZ2V0RmlsZW5hbWVGcm9tVXJsKCl8fCIiO3JldHVybiB3YAogICAgICA8c3R5bGU+CiAgICAgICAgOmhvc3QgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgICAgfQoKICAgICAgICAucHJldmlldy1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIH0KCiAgICAgICAgLmhlYWRlci1iYXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjlmYWZiIiwiaHNsKDIxNSAyMCUgMTUlKSIpfTsKICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsImhzbCgyMTcgMjUlIDIyJSkiKX07CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC5oZWFkZXItaWNvbiB7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTYlIDQ1JSkiLCJoc2woMjE1IDE2JSA3NSUpIil9OwogICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgfQoKICAgICAgICAuaGVhZGVyLWZpbGVuYW1lIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICAgIGZsZXg6IDE7CiAgICAgICAgfQoKICAgICAgICAuaGVhZGVyLWJhZGdlIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIil9OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICB9CgogICAgICAgIC5jb250ZW50LWFyZWEgewogICAgICAgICAgZmxleDogMTsKICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDsKICAgICAgICB9CgogICAgICAgIC5jb250ZW50LWFyZWEgPiAqIHsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIH0KCiAgICAgICAgZGVlcy1pbWFnZS12aWV3ZXIgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgfQoKICAgICAgICBkZWVzLXBkZi12aWV3ZXIgewogICAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgfQoKICAgICAgICBkZWVzLXZpZGVvLXZpZXdlciB7CiAgICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB9CgogICAgICAgIGRlZXMtYXVkaW8tdmlld2VyIHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIH0KCiAgICAgICAgZGVlcy1kYXRhdmlldy1jb2RlYm94IHsKICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIH0KCiAgICAgICAgLnRleHQtdmlld2VyIHsKICAgICAgICAgIG1hcmdpbjogMDsKICAgICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIG1vbm9zcGFjZTsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwOTA5MGIiLCIjZmFmYWZhIil9OwogICAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOwogICAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIH0KCiAgICAgICAgLnBsYWNlaG9sZGVyIHsKICAgICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgICAgbWluLWhlaWdodDogMjAwcHg7CiAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNzE3MTdhIil9OwogICAgICAgIH0KCiAgICAgICAgLnBsYWNlaG9sZGVyIGRlZXMtaWNvbiB7CiAgICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgICBmb250LXNpemU6IDMycHg7CiAgICAgICAgfQoKICAgICAgICAucGxhY2Vob2xkZXItdGV4dCB7CiAgICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgfQoKICAgICAgICAubG9hZGluZy1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4OwogICAgICAgIH0KCiAgICAgICAgLmxvYWRpbmctc3Bpbm5lciB7CiAgICAgICAgICB3aWR0aDogMzJweDsKICAgICAgICAgIGhlaWdodDogMzJweDsKICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTVlN2ViIiwiIzNmM2Y0NiIpfTsKICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICAgICAgICB9CgogICAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0KICAgICAgICB9CgogICAgICAgIC5lcnJvci1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgICBnYXA6IDhweDsKICAgICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4OwogICAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgICB9CgogICAgICAgIC5lcnJvci1jb250YWluZXIgZGVlcy1pY29uIHsKICAgICAgICAgIGZvbnQtc2l6ZTogMzJweDsKICAgICAgICB9CgogICAgICAgIC5lcnJvci10ZXh0IHsKICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICB9CiAgICAgIDwvc3R5bGU+CgogICAgICA8ZGl2IGNsYXNzPSJwcmV2aWV3LWNvbnRhaW5lciI+CiAgICAgICAgJHt0aGlzLnNob3dGaWxlbmFtZSYmc2U/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1iYXIiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJoZWFkZXItaWNvbiIgaWNvbj0iJHtCSWFbdGhpcy5yZXNvbHZlZFR5cGVdfSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJoZWFkZXItZmlsZW5hbWUiPiR7c2V9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaGVhZGVyLWJhZGdlIj4ke3RoaXMucmVzb2x2ZWRUeXBlfTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CgogICAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQtYXJlYSI+CiAgICAgICAgICAke3RoaXMuZXJyb3I/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZXJyb3ItY29udGFpbmVyIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpBbGVydFRyaWFuZ2xlIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZXJyb3ItdGV4dCI+JHt0aGlzLmVycm9yfTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOnRoaXMubG9hZGluZz93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9hZGluZy1zcGlubmVyIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOnRoaXMucmVuZGVyQ29udGVudCgpfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyQ29udGVudCgpe3N3aXRjaCh0aGlzLnJlc29sdmVkVHlwZSl7Y2FzZSJpbWFnZSI6cmV0dXJuIHdgCiAgICAgICAgICA8ZGVlcy1pbWFnZS12aWV3ZXIKICAgICAgICAgICAgLnNyYz0ke3RoaXMucmVzb2x2ZWRTcmN9CiAgICAgICAgICAgIC5zaG93VG9vbGJhcj0ke3RoaXMuc2hvd1Rvb2xiYXJ9CiAgICAgICAgICAgIGFsdD0iJHt0aGlzLmZpbGVuYW1lfHwiIn0iCiAgICAgICAgICA+PC9kZWVzLWltYWdlLXZpZXdlcj4KICAgICAgICBgO2Nhc2UicGRmIjpyZXR1cm4gd2AKICAgICAgICAgIDxkZWVzLXBkZi12aWV3ZXIKICAgICAgICAgICAgLnBkZlVybD0ke3RoaXMucmVzb2x2ZWRTcmN9CiAgICAgICAgICAgIC5zaG93VG9vbGJhcj0ke3RoaXMuc2hvd1Rvb2xiYXJ9CiAgICAgICAgICAgIGluaXRpYWxab29tPSJwYWdlLWZpdCIKICAgICAgICAgID48L2RlZXMtcGRmLXZpZXdlcj4KICAgICAgICBgO2Nhc2UiYXVkaW8iOnJldHVybiB3YAogICAgICAgICAgPGRlZXMtYXVkaW8tdmlld2VyCiAgICAgICAgICAgIC5zcmM9JHt0aGlzLnJlc29sdmVkU3JjfQogICAgICAgICAgICAudGl0bGU9JHt0aGlzLmZpbGVuYW1lfHx0aGlzLmZpbGU/Lm5hbWV8fCIifQogICAgICAgICAgPjwvZGVlcy1hdWRpby12aWV3ZXI+CiAgICAgICAgYDtjYXNlInZpZGVvIjpyZXR1cm4gd2AKICAgICAgICAgIDxkZWVzLXZpZGVvLXZpZXdlcgogICAgICAgICAgICAuc3JjPSR7dGhpcy5yZXNvbHZlZFNyY30KICAgICAgICAgID48L2RlZXMtdmlkZW8tdmlld2VyPgogICAgICAgIGA7Y2FzZSJjb2RlIjpyZXR1cm4gd2AKICAgICAgICAgIDxkZWVzLWRhdGF2aWV3LWNvZGVib3gKICAgICAgICAgICAgLnByb2dMYW5nPSR7dGhpcy5yZXNvbHZlZExhbmd9CiAgICAgICAgICAgIC5jb2RlVG9EaXNwbGF5PSR7dGhpcy5yZXNvbHZlZFRleHR9CiAgICAgICAgICA+PC9kZWVzLWRhdGF2aWV3LWNvZGVib3g+CiAgICAgICAgYDtjYXNlInRleHQiOnJldHVybiB3YDxwcmUgY2xhc3M9InRleHQtdmlld2VyIj4ke3RoaXMucmVzb2x2ZWRUZXh0fTwvcHJlPmA7ZGVmYXVsdDpyZXR1cm4gd2AKICAgICAgICAgIDxkaXYgY2xhc3M9InBsYWNlaG9sZGVyIj4KICAgICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6RmlsZVF1ZXN0aW9uIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBsYWNlaG9sZGVyLXRleHQiPlByZXZpZXcgbm90IGF2YWlsYWJsZTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGB9fWFzeW5jIHVwZGF0ZWQoc2Upe3N1cGVyLnVwZGF0ZWQoc2UpLFsidXJsIiwiZmlsZSIsImJhc2U2NCIsInRleHRDb250ZW50IiwiY29udGVudFR5cGUiLCJsYW5ndWFnZSIsIm1pbWVUeXBlIiwiZmlsZW5hbWUiXS5zb21lKE9lPT5zZS5oYXMoT2UpKSYmYXdhaXQgdGhpcy5yZXNvbHZlQ29udGVudCgpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnJldm9rZU9iamVjdFVybCgpfWFzeW5jIHJlc29sdmVDb250ZW50KCl7dGhpcy5lcnJvcj0iIix0aGlzLnJldm9rZU9iamVjdFVybCgpLHRoaXMucmVzb2x2ZWRUeXBlPXRoaXMuZGV0ZWN0VHlwZSgpO3RyeXtpZih0aGlzLnVybCl7aWYodGhpcy5yZXNvbHZlZFNyYz10aGlzLnVybCx0aGlzLnJlc29sdmVkVHlwZT09PSJjb2RlInx8dGhpcy5yZXNvbHZlZFR5cGU9PT0idGV4dCIpaWYodGhpcy50ZXh0Q29udGVudCl0aGlzLnJlc29sdmVkVGV4dD10aGlzLnRleHRDb250ZW50O2Vsc2V7dGhpcy5sb2FkaW5nPSEwO2xldCBzZT1hd2FpdCBmZXRjaCh0aGlzLnVybCk7dGhpcy5yZXNvbHZlZFRleHQ9YXdhaXQgc2UudGV4dCgpLHRoaXMubG9hZGluZz0hMX19ZWxzZSBpZih0aGlzLmZpbGUpdGhpcy5vYmplY3RVcmw9VVJMLmNyZWF0ZU9iamVjdFVSTCh0aGlzLmZpbGUpLHRoaXMucmVzb2x2ZWRTcmM9dGhpcy5vYmplY3RVcmwsKHRoaXMucmVzb2x2ZWRUeXBlPT09ImNvZGUifHx0aGlzLnJlc29sdmVkVHlwZT09PSJ0ZXh0IikmJih0aGlzLmxvYWRpbmc9ITAsdGhpcy5yZXNvbHZlZFRleHQ9YXdhaXQgdGhpcy5maWxlLnRleHQoKSx0aGlzLmxvYWRpbmc9ITEpO2Vsc2UgaWYodGhpcy5iYXNlNjQpe2xldCBzZT10aGlzLm1pbWVUeXBlfHwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIjt0aGlzLnJlc29sdmVkU3JjPWBkYXRhOiR7c2V9O2Jhc2U2NCwke3RoaXMuYmFzZTY0fWB9ZWxzZSB0aGlzLnRleHRDb250ZW50JiYodGhpcy5yZXNvbHZlZFRleHQ9dGhpcy50ZXh0Q29udGVudCl9Y2F0Y2h7dGhpcy5lcnJvcj0iRmFpbGVkIHRvIGxvYWQgY29udGVudCIsdGhpcy5sb2FkaW5nPSExfXRoaXMucmVzb2x2ZWRMYW5nPXRoaXMucmVzb2x2ZUxhbmd1YWdlKCl9ZGV0ZWN0VHlwZSgpe2lmKHRoaXMuY29udGVudFR5cGUpcmV0dXJuIHRoaXMuY29udGVudFR5cGU7bGV0IHNlPXRoaXMubWltZVR5cGV8fHRoaXMuZmlsZT8udHlwZXx8IiI7aWYoc2Upe2lmKHNlPT09ImFwcGxpY2F0aW9uL3BkZiIpcmV0dXJuInBkZiI7Zm9yKGxldFt6ZSxPZV1vZiBPYmplY3QuZW50cmllcyhPSWEpKWlmKHNlLnN0YXJ0c1dpdGgoemUpKXJldHVybiBPZTtpZihzZS5zdGFydHNXaXRoKCJ0ZXh0LyIpKXJldHVybiJ0ZXh0In1sZXQgdGU9dGhpcy5nZXRFeHRlbnNpb24oKTtyZXR1cm4gdGUmJkUzYVt0ZV0/RTNhW3RlXTp0aGlzLnRleHRDb250ZW50P3RoaXMubGFuZ3VhZ2U/ImNvZGUiOiJ0ZXh0IjoidW5rbm93biJ9Z2V0RXh0ZW5zaW9uKCl7bGV0IHNlPXRoaXMuZmlsZW5hbWV8fHRoaXMuZmlsZT8ubmFtZXx8IiI7aWYoc2Upe2xldCB0ZT1zZS5zcGxpdCgiLiIpO2lmKHRlLmxlbmd0aD4xKXJldHVybiB0ZS5wb3AoKS50b0xvd2VyQ2FzZSgpfWlmKHRoaXMudXJsKXRyeXtsZXQgemU9bmV3IFVSTCh0aGlzLnVybCwiaHR0cHM6Ly9wbGFjZWhvbGRlci5jb20iKS5wYXRobmFtZS5zcGxpdCgiLiIpO2lmKHplLmxlbmd0aD4xKXJldHVybiB6ZS5wb3AoKS50b0xvd2VyQ2FzZSgpfWNhdGNoe31yZXR1cm4iIn1nZXRGaWxlbmFtZUZyb21VcmwoKXtpZighdGhpcy51cmwpcmV0dXJuIiI7dHJ5e3JldHVybiBuZXcgVVJMKHRoaXMudXJsLCJodHRwczovL3BsYWNlaG9sZGVyLmNvbSIpLnBhdGhuYW1lLnNwbGl0KCIvIikucG9wKCl8fCIifWNhdGNoe3JldHVybiIifX1yZXNvbHZlTGFuZ3VhZ2UoKXtpZih0aGlzLmxhbmd1YWdlKXJldHVybiB0aGlzLmxhbmd1YWdlO2xldCBzZT10aGlzLmdldEV4dGVuc2lvbigpO3JldHVybiBGSWFbc2VdfHwidGV4dCJ9cmV2b2tlT2JqZWN0VXJsKCl7dGhpcy5vYmplY3RVcmwmJihVUkwucmV2b2tlT2JqZWN0VVJMKHRoaXMub2JqZWN0VXJsKSx0aGlzLm9iamVjdFVybD0iIil9c3RhdGlje0FhKHIsdCl9fTtyZXR1cm4gb2U9cn0pKCl9KTt2YXIgTjNhPWYoKCk9PntJM2EoKX0pO3ZhciBlNyxqUWU9ZigoKT0+e2U3PWNsYXNze3N0YXRpY3tzKHRoaXMsIkNhbnZhc1Bvb2wiKX1zdGF0aWMgcG9vbD1bXTtzdGF0aWMgbWF4UG9vbFNpemU9MjA7c3RhdGljIE1JTl9DQU5WQVNfU0laRT0yNTY7c3RhdGljIE1BWF9DQU5WQVNfU0laRT00MDk2O3N0YXRpYyBhY3F1aXJlKGUsdCl7bGV0IHI9dGhpcy5wb29sLmZpbmQobD0+IWwuaW5Vc2UmJmwuY2FudmFzLndpZHRoPj1lJiZsLmNhbnZhcy5oZWlnaHQ+PXQmJmwuY2FudmFzLndpZHRoPD1lKjEuNSYmbC5jYW52YXMuaGVpZ2h0PD10KjEuNSk7aWYocilyZXR1cm4gci5pblVzZT0hMCxyLmxhc3RVc2VkPURhdGUubm93KCksci5jYW52YXMud2lkdGg9ZSxyLmNhbnZhcy5oZWlnaHQ9dCxyLmN0eC5jbGVhclJlY3QoMCwwLGUsdCkscjtpZih0aGlzLnBvb2wubGVuZ3RoPHRoaXMubWF4UG9vbFNpemUpe2xldCBsPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLGQ9bC5nZXRDb250ZXh0KCIyZCIse2FscGhhOiEwLGRlc3luY2hyb25pemVkOiEwfSk7bC53aWR0aD1NYXRoLm1pbihNYXRoLm1heChlLHRoaXMuTUlOX0NBTlZBU19TSVpFKSx0aGlzLk1BWF9DQU5WQVNfU0laRSksbC5oZWlnaHQ9TWF0aC5taW4oTWF0aC5tYXgodCx0aGlzLk1JTl9DQU5WQVNfU0laRSksdGhpcy5NQVhfQ0FOVkFTX1NJWkUpO2xldCBjPXtjYW52YXM6bCxjdHg6ZCxpblVzZTohMCxsYXN0VXNlZDpEYXRlLm5vdygpfTtyZXR1cm4gdGhpcy5wb29sLnB1c2goYyksY31sZXQgaT10aGlzLnBvb2wuZmlsdGVyKGw9PiFsLmluVXNlKS5zb3J0KChsLGQpPT5sLmxhc3RVc2VkLWQubGFzdFVzZWQpWzBdO2lmKGkpcmV0dXJuIGkuY2FudmFzLndpZHRoPWUsaS5jYW52YXMuaGVpZ2h0PXQsaS5jdHguY2xlYXJSZWN0KDAsMCxlLHQpLGkuaW5Vc2U9ITAsaS5sYXN0VXNlZD1EYXRlLm5vdygpLGk7bGV0IG89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIiksbj1vLmdldENvbnRleHQoIjJkIik7cmV0dXJuIG8ud2lkdGg9ZSxvLmhlaWdodD10LHtjYW52YXM6byxjdHg6bixpblVzZTohMCxsYXN0VXNlZDpEYXRlLm5vdygpfX1zdGF0aWMgcmVsZWFzZShlKXt0aGlzLnBvb2wuaW5jbHVkZXMoZSkmJihlLmluVXNlPSExLGUuY3R4LmNsZWFyUmVjdCgwLDAsZS5jYW52YXMud2lkdGgsZS5jYW52YXMuaGVpZ2h0KSl9c3RhdGljIHJlbGVhc2VBbGwoKXtmb3IobGV0IGUgb2YgdGhpcy5wb29sKWUuaW5Vc2U9ITEsZS5jdHguY2xlYXJSZWN0KDAsMCxlLmNhbnZhcy53aWR0aCxlLmNhbnZhcy5oZWlnaHQpfXN0YXRpYyBkZXN0cm95KCl7Zm9yKGxldCBlIG9mIHRoaXMucG9vbCllLmNhbnZhcy53aWR0aD0wLGUuY2FudmFzLmhlaWdodD0wO3RoaXMucG9vbD1bXX1zdGF0aWMgZ2V0U3RhdHMoKXtyZXR1cm57cG9vbFNpemU6dGhpcy5wb29sLmxlbmd0aCxtYXhQb29sU2l6ZTp0aGlzLm1heFBvb2xTaXplLGluVXNlOnRoaXMucG9vbC5maWx0ZXIoZT0+ZS5pblVzZSkubGVuZ3RoLGF2YWlsYWJsZTp0aGlzLnBvb2wuZmlsdGVyKGU9PiFlLmluVXNlKS5sZW5ndGh9fXN0YXRpYyBhZGp1c3RQb29sU2l6ZShlKXtpZihlPHRoaXMucG9vbC5sZW5ndGgpe2xldCB0PXRoaXMucG9vbC5sZW5ndGgtZSxyPXRoaXMucG9vbC5maWx0ZXIoaT0+IWkuaW5Vc2UpLnNsaWNlKDAsdCk7Zm9yKGxldCBpIG9mIHIpe2xldCBvPXRoaXMucG9vbC5pbmRleE9mKGkpO28+LTEmJnRoaXMucG9vbC5zcGxpY2UobywxKX19dGhpcy5tYXhQb29sU2l6ZT1lfX19KTtmdW5jdGlvbiBISWEoYSxlKXtsZXQgdDtyZXR1cm4gcyhmdW5jdGlvbiguLi5pKXtsZXQgbz1zKCgpPT57Y2xlYXJUaW1lb3V0KHQpLGEoLi4uaSl9LCJsYXRlciIpO2NsZWFyVGltZW91dCh0KSx0PXdpbmRvdy5zZXRUaW1lb3V0KG8sZSl9LCJleGVjdXRlZEZ1bmN0aW9uIil9ZnVuY3Rpb24gcUlhKGEsZSl7bGV0IHQ7cmV0dXJuKC4uLnIpPT57dHx8KGEoLi4uciksdD0hMCxzZXRUaW1lb3V0KCgpPT50PSExLGUpKX19ZnVuY3Rpb24gVVFlKGEpe2lmKGE9PT0wKXJldHVybiIwIEJ5dGVzIjtsZXQgZT0xMDI0LHQ9WyJCeXRlcyIsIktCIiwiTUIiLCJHQiJdLHI9TWF0aC5mbG9vcihNYXRoLmxvZyhhKS9NYXRoLmxvZyhlKSk7cmV0dXJuIE1hdGgucm91bmQoYS9NYXRoLnBvdyhlLHIpKjEwMCkvMTAwKyIgIit0W3JdfWZ1bmN0aW9uIFZJYShhLGU9MCl7bGV0IHQ9YS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtyZXR1cm4gdC50b3A+PS1lJiZ0LmxlZnQ+PS1lJiZ0LmJvdHRvbTw9KHdpbmRvdy5pbm5lckhlaWdodHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCkrZSYmdC5yaWdodDw9KHdpbmRvdy5pbm5lcldpZHRofHxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGgpK2V9dmFyIHQ3LFdRZT1mKCgpPT57cyhISWEsImRlYm91bmNlIik7cyhxSWEsInRocm90dGxlIik7cyhVUWUsImZvcm1hdEZpbGVTaXplIik7cyhWSWEsImlzSW5WaWV3cG9ydCIpO3Q3PWNsYXNze3N0YXRpY3tzKHRoaXMsIlBlcmZvcm1hbmNlTW9uaXRvciIpfXN0YXRpYyBtYXJrcz1uZXcgTWFwO3N0YXRpYyBtZWFzdXJlcz1bXTtzdGF0aWMgbWFyayhlKXt0aGlzLm1hcmtzLnNldChlLHBlcmZvcm1hbmNlLm5vdygpKX1zdGF0aWMgbWVhc3VyZShlLHQpe2xldCByPXRoaXMubWFya3MuZ2V0KHQpO2lmKHIpe2xldCBpPXBlcmZvcm1hbmNlLm5vdygpLXI7cmV0dXJuIHRoaXMubWVhc3VyZXMucHVzaCh7bmFtZTplLGR1cmF0aW9uOml9KSx0aGlzLm1hcmtzLmRlbGV0ZSh0KSxpfXJldHVybiAwfXN0YXRpYyBnZXRSZXBvcnQoKXtsZXQgZT17bWVhc3VyZXM6Wy4uLnRoaXMubWVhc3VyZXNdLGF2ZXJhZ2VzOnt9fSx0PW5ldyBNYXA7Zm9yKGxldCByIG9mIHRoaXMubWVhc3VyZXMpdC5oYXMoci5uYW1lKXx8dC5zZXQoci5uYW1lLFtdKSx0LmdldChyLm5hbWUpLnB1c2goci5kdXJhdGlvbik7Zm9yKGxldFtyLGldb2YgdCllLmF2ZXJhZ2VzW3JdPWkucmVkdWNlKChvLG4pPT5vK24sMCkvaS5sZW5ndGg7cmV0dXJuIGV9c3RhdGljIGNsZWFyKCl7dGhpcy5tYXJrcy5jbGVhcigpLHRoaXMubWVhc3VyZXM9W119fX0pO3ZhciBSM2E9ZigoKT0+e2pRZSgpO1pzZSgpO1dRZSgpfSk7dmFyIE8zYT1mKCgpPT57VlFlKCl9KTt2YXIgTmksSWM9ZigoKT0+e2xlKCk7Tmk9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgOmhvc3QgewogICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIH0KCiAgICAudGlsZS1jb250YWluZXIgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIHdpZHRoOiAyMDBweDsKICAgICAgaGVpZ2h0OiAyNjBweDsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk4JSkiLCJoc2woMjE1IDIwJSAxNCUpIil9OwogICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4ycyBlYXNlOwogICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xMikiLCJyZ2JhKDAsIDAsIDAsIDAuMjQpIil9OwoKICAgIH0KCiAgICAudGlsZS1jb250YWluZXIuY2xpY2thYmxlIHsKICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgfQoKICAgIC50aWxlLWNvbnRhaW5lci5jbGlja2FibGU6aG92ZXIgewogICAgICBib3gtc2hhZG93OiAwIDhweCAyNHB4ICR7aC5iZFRoZW1lKCJyZ2JhKDAsIDAsIDAsIDAuMTIpIiwicmdiYSgwLCAwLCAwLCAwLjMpIil9OwogICAgfQoKICAgIC50aWxlLWNvbnRhaW5lci5jbGlja2FibGU6aG92ZXIgLnRpbGUtb3ZlcmxheSB7CiAgICAgIG9wYWNpdHk6IDE7CiAgICB9CgogICAgLnRpbGUtY29udGVudCB7CiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CgogICAgLnRpbGUtb3ZlcmxheSB7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICBsZWZ0OiAwOwogICAgICByaWdodDogMDsKICAgICAgYm90dG9tOiAwOwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgwLCAwLCAwLCAwLjcpIiwicmdiYSgwLCAwLCAwLCAwLjgpIil9OwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgZ2FwOiA4cHg7CiAgICAgIG9wYWNpdHk6IDA7CiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICB6LWluZGV4OiAyMDsKICAgIH0KCiAgICAudGlsZS1vdmVybGF5IGRlZXMtaWNvbiB7CiAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgY29sb3I6IHdoaXRlOwogICAgfQoKICAgIC50aWxlLW92ZXJsYXkgc3BhbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgY29sb3I6IHdoaXRlOwogICAgfQoKICAgIC50aWxlLWluZm8tYmFyIHsKICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICBib3R0b206IDA7CiAgICAgIGxlZnQ6IDA7CiAgICAgIHJpZ2h0OiAwOwogICAgICBwYWRkaW5nOiA0cHggOHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMTAwJSAvIDAuOTUpIiwiaHNsKDIxNSAyMCUgMTIlIC8gMC45NSkiKX07CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIGdhcDogNnB4OwogICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNSAxNiUgNDUlKSIsImhzbCgyMTUgMTYlIDc1JSkiKX07CiAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTsKICAgICAgei1pbmRleDogMjU7CiAgICAgIGZvbnQtdmFyaWFudC1udW1lcmljOiB0YWJ1bGFyLW51bXM7CiAgICB9CgogICAgLmluZm8tbGFiZWwgewogICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgbWluLXdpZHRoOiAwOwogICAgfQoKICAgIC5pbmZvLXNwYWNlciB7CiAgICAgIGZsZXg6IDE7CiAgICB9CgogICAgLmluZm8tZGV0YWlsIHsKICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgb3BhY2l0eTogMC43OwogICAgICBmbGV4LXNocmluazogMDsKICAgIH0KCiAgICAudGlsZS1sb2FkaW5nLAogICAgLnRpbGUtZXJyb3IgewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogMDsKICAgICAgcmlnaHQ6IDA7CiAgICAgIGJvdHRvbTogMDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGdhcDogMTJweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDE2JSA0NSUpIiwiaHNsKDIxNSAxNiUgNzUlKSIpfTsKICAgIH0KCiAgICAudGlsZS1sb2FkaW5nIHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk5JSkiLCJoc2woMjE1IDIwJSAxNCUpIil9OwogICAgfQoKICAgIC50aWxlLWVycm9yIHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDcyJSA5OCUpIiwiaHNsKDAgNjIlIDIwJSkiKX07CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgNzIlIDQwJSkiLCJoc2woMCA3MCUgNjglKSIpfTsKICAgIH0KCiAgICAudGlsZS1lcnJvciBkZWVzLWljb24gewogICAgICBmb250LXNpemU6IDMycHg7CiAgICB9CgogICAgLnRpbGUtc3Bpbm5lciB7CiAgICAgIHdpZHRoOiAyNHB4OwogICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgYm9yZGVyOiAycHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgyMTQgMzElIDg2JSkiLCJoc2woMjE3IDI1JSAyOCUpIil9OwogICAgICBib3JkZXItdG9wLWNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNyA5MSUgNjAlKSIsImhzbCgyMTMgOTMlIDY4JSkiKX07CiAgICAgIGFuaW1hdGlvbjogc3BpbiAwLjhzIGxpbmVhciBpbmZpbml0ZTsKICAgIH0KCiAgICAudGlsZS1sb2FkaW5nLXRleHQsCiAgICAudGlsZS1lcnJvci10ZXh0IHsKICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQoKICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgIHRvIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOwogICAgICB9CiAgICB9CgogICAgLyogU2l6ZSB2YXJpYW50cyAqLwogICAgOmhvc3QoW3NpemU9InNtYWxsIl0pIC50aWxlLWNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxNTBweDsKICAgICAgaGVpZ2h0OiAxOTVweDsKICAgIH0KCiAgICA6aG9zdChbc2l6ZT0ibGFyZ2UiXSkgLnRpbGUtY29udGFpbmVyIHsKICAgICAgd2lkdGg6IDI1MHB4OwogICAgICBoZWlnaHQ6IDMyNXB4OwogICAgfQoKICAgIC8qIEdyaWQgb3B0aW1pemF0aW9ucyAqLwogICAgOmhvc3QoW2dyaWQtbW9kZV0pIC50aWxlLWNvbnRhaW5lciB7CiAgICAgIHdpbGwtY2hhbmdlOiBhdXRvOwogICAgfQogIGBdfSk7dmFyIG9HLGxsLGlvLEg0PWYoKCk9PntsZSgpO0ljKCk7dmEoKTtvRz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sbGw9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGlvPSgoKT0+e2xldCBhPXBlLGUsdD1bXSxyPVtdLGksbz1bXSxuPVtdLGwsZD1bXSxjPVtdLHAsdT1bXSxtPVtdLHYseD1bXSxiPVtdO3JldHVybiBjbGFzcyBleHRlbmRzIGF7c3RhdGlje3ModGhpcywiRGVlc1RodW1ibmFpbEJhc2UiKX1zdGF0aWN7bGV0IHk9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoYVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7ZT1bJCh7dHlwZTpCb29sZWFufSldLGk9WyQoe3R5cGU6Qm9vbGVhbn0pXSxsPVskKHt0eXBlOkJvb2xlYW59KV0scD1bJCh7dHlwZTpTdHJpbmcscmVmbGVjdDohMH0pXSx2PVskKHt0eXBlOlN0cmluZ30pXSxvRyh0aGlzLG51bGwsZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNsaWNrYWJsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhrPT4iY2xpY2thYmxlImluIGssImhhcyIpLGdldDpzKGs9PmsuY2xpY2thYmxlLCJnZXQiKSxzZXQ6cygoayxDKT0+e2suY2xpY2thYmxlPUN9LCJzZXQiKX0sbWV0YWRhdGE6eX0sdCxyKSxvRyh0aGlzLG51bGwsaSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoaz0+ImxvYWRpbmciaW4gaywiaGFzIiksZ2V0OnMoaz0+ay5sb2FkaW5nLCJnZXQiKSxzZXQ6cygoayxDKT0+e2subG9hZGluZz1DfSwic2V0Iil9LG1ldGFkYXRhOnl9LG8sbiksb0codGhpcyxudWxsLGwse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlcnJvciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhrPT4iZXJyb3IiaW4gaywiaGFzIiksZ2V0OnMoaz0+ay5lcnJvciwiZ2V0Iiksc2V0OnMoKGssQyk9PntrLmVycm9yPUN9LCJzZXQiKX0sbWV0YWRhdGE6eX0sZCxjKSxvRyh0aGlzLG51bGwscCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNpemUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoaz0+InNpemUiaW4gaywiaGFzIiksZ2V0OnMoaz0+ay5zaXplLCJnZXQiKSxzZXQ6cygoayxDKT0+e2suc2l6ZT1DfSwic2V0Iil9LG1ldGFkYXRhOnl9LHUsbSksb0codGhpcyxudWxsLHYse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsYWJlbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhrPT4ibGFiZWwiaW4gaywiaGFzIiksZ2V0OnMoaz0+ay5sYWJlbCwiZ2V0Iiksc2V0OnMoKGssQyk9PntrLmxhYmVsPUN9LCJzZXQiKX0sbWV0YWRhdGE6eX0seCxiKSx5JiZPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnl9KX1zdGF0aWMgc3R5bGVzPU5pOyNlPWxsKHRoaXMsdCwhMCk7Z2V0IGNsaWNrYWJsZSgpe3JldHVybiB0aGlzLiNlfXNldCBjbGlja2FibGUoeSl7dGhpcy4jZT15fSN0PShsbCh0aGlzLHIpLGxsKHRoaXMsbywhMSkpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGxvYWRpbmcoeSl7dGhpcy4jdD15fSNhPShsbCh0aGlzLG4pLGxsKHRoaXMsZCwhMSkpO2dldCBlcnJvcigpe3JldHVybiB0aGlzLiNhfXNldCBlcnJvcih5KXt0aGlzLiNhPXl9I3I9KGxsKHRoaXMsYyksbGwodGhpcyx1LCJkZWZhdWx0IikpO2dldCBzaXplKCl7cmV0dXJuIHRoaXMuI3J9c2V0IHNpemUoeSl7dGhpcy4jcj15fSNzPShsbCh0aGlzLG0pLGxsKHRoaXMseCwiIikpO2dldCBsYWJlbCgpe3JldHVybiB0aGlzLiNzfXNldCBsYWJlbCh5KXt0aGlzLiNzPXl9b2JzZXJ2ZXI9bGwodGhpcyxiKTtfdmlzaWJsZT0hMTtnZXQgaXNWaXNpYmxlKCl7cmV0dXJuIHRoaXMuX3Zpc2libGV9cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYKICAgICAgICBjbGFzcz0idGlsZS1jb250YWluZXIgJHt0aGlzLmNsaWNrYWJsZT8iY2xpY2thYmxlIjoiIn0gJHt0aGlzLmxvYWRpbmc/ImxvYWRpbmciOiIifSAke3RoaXMuZXJyb3I/ImVycm9yIjoiIn0iCiAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVUaWxlQ2xpY2t9CiAgICAgICAgQG1vdXNlZW50ZXI9JHt0aGlzLm9uVGlsZU1vdXNlRW50ZXJ9CiAgICAgICAgQG1vdXNlbGVhdmU9JHt0aGlzLm9uVGlsZU1vdXNlTGVhdmV9CiAgICAgICAgQG1vdXNlbW92ZT0ke3RoaXMub25UaWxlTW91c2VNb3ZlfQogICAgICA+CiAgICAgICAgJHt0aGlzLmxvYWRpbmc/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtbG9hZGluZyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtc3Bpbm5lciI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtbG9hZGluZy10ZXh0Ij5Mb2FkaW5nLi4uPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICAke3RoaXMuZXJyb3I/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRpbGUtZXJyb3IiPgogICAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpBbGVydFRyaWFuZ2xlIj48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1lcnJvci10ZXh0Ij5GYWlsZWQgdG8gbG9hZDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KCiAgICAgICAgJHshdGhpcy5sb2FkaW5nJiYhdGhpcy5lcnJvcj90aGlzLnJlbmRlclRpbGVDb250ZW50KCk6IiJ9CgogICAgICAgICR7dGhpcy5yZW5kZXJCb3R0b21CYXIoKX0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckJvdHRvbUJhcigpe3JldHVybiIifWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSx0aGlzLnNldHVwSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5vYnNlcnZlciYmKHRoaXMub2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMub2JzZXJ2ZXI9dm9pZCAwKX1zZXR1cEludGVyc2VjdGlvbk9ic2VydmVyKCl7dGhpcy5vYnNlcnZlcj1uZXcgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoeT0+e2ZvcihsZXQgayBvZiB5KXtsZXQgQz10aGlzLl92aXNpYmxlO3RoaXMuX3Zpc2libGU9ay5pc0ludGVyc2VjdGluZyx0aGlzLl92aXNpYmxlJiYhQyYmdGhpcy5vbkJlY2FtZVZpc2libGUoKX19LHtyb290Om51bGwscm9vdE1hcmdpbjoiMjAwcHgiLHRocmVzaG9sZDouMDF9KSx0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcyl9b25CZWNhbWVWaXNpYmxlKCl7fW9uVGlsZU1vdXNlRW50ZXIoKXt9b25UaWxlTW91c2VMZWF2ZSgpe31vblRpbGVNb3VzZU1vdmUoeSl7fWhhbmRsZVRpbGVDbGljaygpe3RoaXMuY2xpY2thYmxlJiZ0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0aWxlLWNsaWNrIix7ZGV0YWlsOnRoaXMuZ2V0VGlsZUNsaWNrRGV0YWlsKCksYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1nZXRUaWxlQ2xpY2tEZXRhaWwoKXtyZXR1cm57fX19fSkoKX0pO3ZhciBGM2E9ZigoKT0+e0g0KCk7SWMoKX0pO3ZhciBCM2EsSDNhPWYoKCk9PntsZSgpO0IzYT1RYAogIC5wcmV2aWV3LXN0YWNrIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgcGFkZGluZzogOHB4IDhweCAyOHB4IDhweDsKICB9CgogIC5wcmV2aWV3LXN0YWNrLm5vbi1hNCB7CiAgICBwYWRkaW5nOiAxMnB4IDEycHggMjhweCAxMnB4OwogIH0KCiAgLnByZXZpZXctY2FudmFzIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgZGlzcGxheTogYmxvY2s7CiAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICBtYXgtaGVpZ2h0OiAxMDAlOwogICAgd2lkdGg6IGF1dG87CiAgICBoZWlnaHQ6IGF1dG87CiAgICBvYmplY3QtZml0OiBjb250YWluOwogICAgaW1hZ2UtcmVuZGVyaW5nOiBhdXRvOwogICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7CiAgICBib3gtc2hhZG93OiAwIDFweCAzcHggJHtoLmJkVGhlbWUoInJnYmEoMCwgMCwgMCwgMC4xKSIsInJnYmEoMCwgMCwgMCwgMC4zKSIpfTsKICB9CgogIC5ub24tYTQgLnByZXZpZXctY2FudmFzIHsKICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjE0IDMxJSA5MiUpIiwiaHNsKDIxNyAyNSUgMjQlKSIpfTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICB9CgogIC8qIEdyaWQgb3B0aW1pemF0aW9ucyAqLwogIDpob3N0KFtncmlkLW1vZGVdKSAucHJldmlldy1jYW52YXMgewogICAgaW1hZ2UtcmVuZGVyaW5nOiAtd2Via2l0LW9wdGltaXplLWNvbnRyYXN0OwogICAgaW1hZ2UtcmVuZGVyaW5nOiBjcmlzcC1lZGdlczsKICB9CmB9KTt2YXIgcTNhLFYzYT1mKCgpPT57bGUoKTtxM2E9cygoKT0+e2xldCBhPVsiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL2V4YW1wbGVzL2xlYXJuaW5nL2hlbGxvd29ybGQucGRmIiwiaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL3dlYi9jb21wcmVzc2VkLnRyYWNlbW9ua2V5LXBsZGktMDkucGRmIl0sZT1zKHQ9PntsZXQgcj1bXTtmb3IobGV0IGk9MDtpPHQ7aSsrKXtsZXQgbz1hW2klYS5sZW5ndGhdO3IucHVzaCh3YAogICAgICAgIDxkZWVzLXRodW1ibmFpbC1wZGYKICAgICAgICAgIHBkZlVybD0iJHtvfSIKICAgICAgICAgIGNsaWNrYWJsZT0idHJ1ZSIKICAgICAgICAgIGdyaWQtbW9kZQogICAgICAgICAgQHRpbGUtY2xpY2s9JHtuPT57Y29uc29sZS5sb2coIlBERiBUaWxlIGNsaWNrZWQ6IixuLmRldGFpbCksYWxlcnQoYFBERiBjbGlja2VkOiAke24uZGV0YWlsLnBhZ2VDb3VudH0gcGFnZXNgKX19CiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtcGRmPgogICAgICBgKX1yZXR1cm4gcn0sImdlbmVyYXRlR3JpZEl0ZW1zIik7cmV0dXJuIHdgCiAgICA8c3R5bGU+CiAgICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y1ZjVmNSIsIiMwYTBhMGEiKX07CiAgICAgIH0KCiAgICAgIC5kZW1vLXNlY3Rpb24gewogICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7CiAgICAgIH0KCiAgICAgIGgzIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjAwcHgsIDFmcikpOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQoKICAgICAgLnByZXZpZXctcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMjRweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICAgIH0KCiAgICAgIC5wcmV2aWV3LWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBtaW4td2lkdGg6IDEwMHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5TaW5nbGUgUERGIFRpbGU8L2gzPgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1wZGYKICAgICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL3dlYi9jb21wcmVzc2VkLnRyYWNlbW9ua2V5LXBsZGktMDkucGRmIgogICAgICAgICAgY2xpY2thYmxlPSJ0cnVlIgogICAgICAgID48L2RlZXMtdGh1bWJuYWlsLXBkZj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5EaWZmZXJlbnQgU2l6ZXM8L2gzPgogICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctcm93Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9InByZXZpZXctbGFiZWwiPlNtYWxsOjwvZGl2PgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLXBkZgogICAgICAgICAgICBzaXplPSJzbWFsbCIKICAgICAgICAgICAgcGRmVXJsPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW96aWxsYS9wZGYuanMvYmEyZWRlYWUvZXhhbXBsZXMvbGVhcm5pbmcvaGVsbG93b3JsZC5wZGYiCiAgICAgICAgICAgIGNsaWNrYWJsZT0idHJ1ZSIKICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLXBkZj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1sYWJlbCI+RGVmYXVsdDo8L2Rpdj4KICAgICAgICAgIDxkZWVzLXRodW1ibmFpbC1wZGYKICAgICAgICAgICAgcGRmVXJsPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW96aWxsYS9wZGYuanMvYmEyZWRlYWUvZXhhbXBsZXMvbGVhcm5pbmcvaGVsbG93b3JsZC5wZGYiCiAgICAgICAgICAgIGNsaWNrYWJsZT0idHJ1ZSIKICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLXBkZj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1yb3ciPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1sYWJlbCI+TGFyZ2U6PC9kaXY+CiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtcGRmCiAgICAgICAgICAgIHNpemU9ImxhcmdlIgogICAgICAgICAgICBwZGZVcmw9Imh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9tb3ppbGxhL3BkZi5qcy9iYTJlZGVhZS9leGFtcGxlcy9sZWFybmluZy9oZWxsb3dvcmxkLnBkZiIKICAgICAgICAgICAgY2xpY2thYmxlPSJ0cnVlIgogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtcGRmPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgzPldpdGggTGFiZWw8L2gzPgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1wZGYKICAgICAgICAgIHBkZlVybD0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL21vemlsbGEvcGRmLmpzL2JhMmVkZWFlL3dlYi9jb21wcmVzc2VkLnRyYWNlbW9ua2V5LXBsZGktMDkucGRmIgogICAgICAgICAgY2xpY2thYmxlPSJ0cnVlIgogICAgICAgICAgbGFiZWw9IlJlc2VhcmNoIFBhcGVyLnBkZiIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1wZGY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgICA8aDM+Tm9uLUNsaWNrYWJsZTwvaDM+CiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLXBkZgogICAgICAgICAgcGRmVXJsPSJodHRwczovL3Jhdy5naXRodWJ1c2VyY29udGVudC5jb20vbW96aWxsYS9wZGYuanMvYmEyZWRlYWUvZXhhbXBsZXMvbGVhcm5pbmcvaGVsbG93b3JsZC5wZGYiCiAgICAgICAgICBjbGlja2FibGU9ImZhbHNlIgogICAgICAgID48L2RlZXMtdGh1bWJuYWlsLXBkZj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5HcmlkIC0gMjAgUERGcyB3aXRoIExhenkgTG9hZGluZzwvaDM+CiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1ncmlkIj4KICAgICAgICAgICR7ZSgyMCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYH0sImRlbW8iKX0pO3ZhciBxNCxvbyxqM2EsVTNhPWYoKCk9PntsZSgpO0g0KCk7SWMoKTtac2UoKTtqUWUoKTtXUWUoKTtIM2EoKTtWM2EoKTtxND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sb289ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGozYT0oKCk9PntsZXQgYT1baWUoImRlZXMtdGh1bWJuYWlsLXBkZiIpXSxlLHQ9W10scixpPWlvLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdO3ZhciBCPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzVGh1bWJuYWlsUGRmIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IE09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpOdW1iZXJ9KV0sdT1bJCh7dHlwZTpOdW1iZXJ9KV0seD1bJCh7dHlwZTpCb29sZWFufSldLHk9WyQoe3R5cGU6Qm9vbGVhbn0pXSxOPVskKHt0eXBlOkJvb2xlYW59KV0sTz1bSygpXSxxNCh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBkZlVybCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4icGRmVXJsImluIFMsImhhcyIpLGdldDpzKFM9PlMucGRmVXJsLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MucGRmVXJsPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbixsKSxxNCh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRQcmV2aWV3UGFnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iY3VycmVudFByZXZpZXdQYWdlImluIFMsImhhcyIpLGdldDpzKFM9PlMuY3VycmVudFByZXZpZXdQYWdlLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuY3VycmVudFByZXZpZXdQYWdlPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxxNCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBhZ2VDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4icGFnZUNvdW50ImluIFMsImhhcyIpLGdldDpzKFM9PlMucGFnZUNvdW50LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MucGFnZUNvdW50PVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbSx2KSxxNCh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlbmRlcmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJyZW5kZXJlZCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnJlbmRlcmVkLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MucmVuZGVyZWQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLHE0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNIb3ZlcmluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iaXNIb3ZlcmluZyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmlzSG92ZXJpbmcsImdldCIpLHNldDpzKChTLFApPT57Uy5pc0hvdmVyaW5nPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSxxNCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzQTRGb3JtYXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImlzQTRGb3JtYXQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5pc0E0Rm9ybWF0LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuaXNBNEZvcm1hdD1QfSwic2V0Iil9LG1ldGFkYXRhOk19LF8seikscTQodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxlU2l6ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iZmlsZVNpemUiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5maWxlU2l6ZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLmZpbGVTaXplPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sVCxFKSxxNChudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpNfSxudWxsLHQpLEI9cj1lLnZhbHVlLE0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6TX0pfXN0YXRpYyBkZW1vPXEzYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIiwiUERGIl07c3RhdGljIHN0eWxlcz1bLi4uTmksQjNhXTsjZT1vbyh0aGlzLG4sIiIpO2dldCBwZGZVcmwoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcGRmVXJsKE0pe3RoaXMuI2U9TX0jdD0ob28odGhpcyxsKSxvbyh0aGlzLGMsMSkpO2dldCBjdXJyZW50UHJldmlld1BhZ2UoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY3VycmVudFByZXZpZXdQYWdlKE0pe3RoaXMuI3Q9TX0jYT0ob28odGhpcyxwKSxvbyh0aGlzLG0sMCkpO2dldCBwYWdlQ291bnQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgcGFnZUNvdW50KE0pe3RoaXMuI2E9TX0jcj0ob28odGhpcyx2KSxvbyh0aGlzLGIsITEpKTtnZXQgcmVuZGVyZWQoKXtyZXR1cm4gdGhpcy4jcn1zZXQgcmVuZGVyZWQoTSl7dGhpcy4jcj1NfSNzPShvbyh0aGlzLGcpLG9vKHRoaXMsaywhMSkpO2dldCBpc0hvdmVyaW5nKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGlzSG92ZXJpbmcoTSl7dGhpcy4jcz1NfSNpPShvbyh0aGlzLEMpLG9vKHRoaXMsXywhMCkpO2dldCBpc0E0Rm9ybWF0KCl7cmV0dXJuIHRoaXMuI2l9c2V0IGlzQTRGb3JtYXQoTSl7dGhpcy4jaT1NfSNvPShvbyh0aGlzLHopLG9vKHRoaXMsVCwwKSk7Z2V0IGZpbGVTaXplKCl7cmV0dXJuIHRoaXMuI299c2V0IGZpbGVTaXplKE0pe3RoaXMuI289TX1yZW5kZXJQYWdlc1Rhc2s9KG9vKHRoaXMsRSksbnVsbCk7cmVuZGVyUGFnZXNRdWV1ZWQ9ITE7cGRmRG9jdW1lbnQ7Y2FudmFzZXM9W107cmVzaXplT2JzZXJ2ZXI7c3RhY2tFbGVtZW50PW51bGw7bG9hZGVkUGRmVXJsPW51bGw7cmVuZGVyVGlsZUNvbnRlbnQoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1zdGFjayAke3RoaXMuaXNBNEZvcm1hdD8iIjoibm9uLWE0In0iPgogICAgICAgIDxjYW52YXMKICAgICAgICAgIGNsYXNzPSJwcmV2aWV3LWNhbnZhcyIKICAgICAgICAgIGRhdGEtcGFnZT0iJHt0aGlzLmN1cnJlbnRQcmV2aWV3UGFnZX0iCiAgICAgICAgPjwvY2FudmFzPgogICAgICA8L2Rpdj4KCiAgICAgICR7dGhpcy5jbGlja2FibGU/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLW92ZXJsYXkiPgogICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6RXllIj48L2RlZXMtaWNvbj4KICAgICAgICAgIDxzcGFuPlZpZXcgUERGPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgYH1yZW5kZXJCb3R0b21CYXIoKXtyZXR1cm4hdGhpcy5wYWdlQ291bnQmJiF0aGlzLmxhYmVsPyIiOndgCiAgICAgIDxkaXYgY2xhc3M9InRpbGUtaW5mby1iYXIiPgogICAgICAgICR7dGhpcy5sYWJlbD93YDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIiB0aXRsZT0iJHt0aGlzLmxhYmVsfSI+JHt0aGlzLmxhYmVsfTwvc3Bhbj5gOiIifQogICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXNwYWNlciI+PC9zcGFuPgogICAgICAgICR7dGhpcy5wYWdlQ291bnQ+MSYmdGhpcy5pc0hvdmVyaW5nP3dgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj4ke3RoaXMuY3VycmVudFByZXZpZXdQYWdlfS8ke3RoaXMucGFnZUNvdW50fTwvc3Bhbj5gOnRoaXMucGFnZUNvdW50PjA/d2A8c3BhbiBjbGFzcz0iaW5mby1kZXRhaWwiPiR7dGhpcy5wYWdlQ291bnR9IHBnPC9zcGFuPmA6IiJ9CiAgICAgICAgJHt0aGlzLmZpbGVTaXplPjA/d2A8c3BhbiBjbGFzcz0iaW5mby1kZXRhaWwiPiR7VVFlKHRoaXMuZmlsZVNpemUpfTwvc3Bhbj5gOiIifQogICAgICA8L2Rpdj4KICAgIGB9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue3BkZlVybDp0aGlzLnBkZlVybCxwYWdlQ291bnQ6dGhpcy5wYWdlQ291bnR9fW9uQmVjYW1lVmlzaWJsZSgpeyF0aGlzLnJlbmRlcmVkJiZ0aGlzLnBkZlVybCYmdGhpcy5sb2FkQW5kUmVuZGVyUHJldmlldygpfW9uVGlsZU1vdXNlRW50ZXIoKXt0aGlzLmlzSG92ZXJpbmc9ITB9b25UaWxlTW91c2VMZWF2ZSgpe3RoaXMuaXNIb3ZlcmluZz0hMSx0aGlzLmN1cnJlbnRQcmV2aWV3UGFnZSE9PTEmJih0aGlzLmN1cnJlbnRQcmV2aWV3UGFnZT0xLHRoaXMuc2NoZWR1bGVSZW5kZXJQYWdlcygpKX1vblRpbGVNb3VzZU1vdmUoTSl7aWYoIXRoaXMuaXNIb3ZlcmluZ3x8dGhpcy5wYWdlQ291bnQ8PTEpcmV0dXJuO2xldCBTPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksUD1NLmNsaWVudFgtUy5sZWZ0LEE9Uy53aWR0aCxGPU1hdGgubWF4KDAsTWF0aC5taW4oMSxQL0EpKSxXPU1hdGguY2VpbChGKnRoaXMucGFnZUNvdW50KXx8MTtXIT09dGhpcy5jdXJyZW50UHJldmlld1BhZ2UmJih0aGlzLmN1cnJlbnRQcmV2aWV3UGFnZT1XLHRoaXMuc2NoZWR1bGVSZW5kZXJQYWdlcygpKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSx0aGlzLmNhY2hlRWxlbWVudHMoKSx0aGlzLnNldHVwUmVzaXplT2JzZXJ2ZXIoKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5jbGVhbnVwKCksdGhpcy5yZXNpemVPYnNlcnZlcj8uZGlzY29ubmVjdCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9dm9pZCAwfWFzeW5jIGxvYWRBbmRSZW5kZXJQcmV2aWV3KCl7aWYoISh0aGlzLnJlbmRlcmVkfHx0aGlzLmxvYWRpbmcpKXt0aGlzLmxvYWRpbmc9ITAsdGhpcy5lcnJvcj0hMSx0Ny5tYXJrKGBwcmV2aWV3LWxvYWQtJHt0aGlzLnBkZlVybH1gKTt0cnl7dGhpcy5wZGZEb2N1bWVudD1hd2FpdCBubC5sb2FkRG9jdW1lbnQodGhpcy5wZGZVcmwpLHRoaXMucGFnZUNvdW50PXRoaXMucGRmRG9jdW1lbnQubnVtUGFnZXMsdGhpcy5jdXJyZW50UHJldmlld1BhZ2U9MTt0cnl7bGV0IFM9YXdhaXQgdGhpcy5wZGZEb2N1bWVudC5nZXREb3dubG9hZEluZm8oKTt0aGlzLmZpbGVTaXplPVMubGVuZ3RofWNhdGNoe310aGlzLmxvYWRlZFBkZlVybD10aGlzLnBkZlVybCx0aGlzLmxvYWRpbmc9ITEsYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSx0aGlzLmNhY2hlRWxlbWVudHMoKSxhd2FpdCB0aGlzLnNjaGVkdWxlUmVuZGVyUGFnZXMoKSx0aGlzLnJlbmRlcmVkPSEwO2xldCBNPXQ3Lm1lYXN1cmUoYHByZXZpZXctcmVuZGVyLSR7dGhpcy5wZGZVcmx9YCxgcHJldmlldy1sb2FkLSR7dGhpcy5wZGZVcmx9YCk7Y29uc29sZS5sb2coYFBERiB0aWxlIHJlbmRlcmVkIGluICR7TX1tc2ApfWNhdGNoKE0pe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBsb2FkIFBERiB0aWxlOiIsTSksdGhpcy5lcnJvcj0hMCx0aGlzLmxvYWRpbmc9ITF9fX1zY2hlZHVsZVJlbmRlclBhZ2VzKCl7cmV0dXJuIHRoaXMucGRmRG9jdW1lbnQ/dGhpcy5yZW5kZXJQYWdlc1Rhc2s/KHRoaXMucmVuZGVyUGFnZXNRdWV1ZWQ9ITAsdGhpcy5yZW5kZXJQYWdlc1Rhc2spOih0aGlzLnJlbmRlclBhZ2VzVGFzaz0oYXN5bmMoKT0+e3RyeXthd2FpdCB0aGlzLnBlcmZvcm1SZW5kZXJQYWdlcygpfWNhdGNoKE0pe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byByZW5kZXIgUERGIHRpbGUgcGFnZXM6IixNKX19KSgpLmZpbmFsbHkoKCk9Pnt0aGlzLnJlbmRlclBhZ2VzVGFzaz1udWxsLHRoaXMucmVuZGVyUGFnZXNRdWV1ZWQmJih0aGlzLnJlbmRlclBhZ2VzUXVldWVkPSExLHRoaXMuc2NoZWR1bGVSZW5kZXJQYWdlcygpKX0pLHRoaXMucmVuZGVyUGFnZXNUYXNrKTpQcm9taXNlLnJlc29sdmUoKX1hc3luYyBwZXJmb3JtUmVuZGVyUGFnZXMoKXtpZighdGhpcy5wZGZEb2N1bWVudClyZXR1cm47YXdhaXQgbmV3IFByb21pc2UoQT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKEEpKTtsZXQgTT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5wcmV2aWV3LWNhbnZhcyIpO2lmKCFNKXJldHVybjt0aGlzLmNsZWFyQ2FudmFzZXMoKSx0aGlzLmNhY2hlRWxlbWVudHMoKTtsZXR7YXZhaWxhYmxlV2lkdGg6UyxhdmFpbGFibGVIZWlnaHQ6UH09dGhpcy5nZXRBdmFpbGFibGVTaXplKCk7dHJ5e2xldCBBPXRoaXMuY3VycmVudFByZXZpZXdQYWdlLEY9YXdhaXQgdGhpcy5wZGZEb2N1bWVudC5nZXRQYWdlKEEpLFc9Ri5nZXRWaWV3cG9ydCh7c2NhbGU6MX0pLGo9Vy5oZWlnaHQvVy53aWR0aCxHPTEuNDE0LGhlPS43MDcsUj0xLjI5NCxVPS43NzMsbWU9LjA1LEk9TWF0aC5hYnMoai1HKTxHKm1lLHE9TWF0aC5hYnMoai1oZSk8aGUqbWUsY2U9TWF0aC5hYnMoai1SKTxSKm1lLHVlPU1hdGguYWJzKGotVSk8VSptZTt0aGlzLmlzQTRGb3JtYXQ9SXx8cXx8Y2V8fHVlO2xldCBZPXRoaXMuaXNBNEZvcm1hdD9TOlMtMjQsWD10aGlzLmlzQTRGb3JtYXQ/UDpQLTI0LEo9WT4wP1kvVy53aWR0aDowLFo9WD4wP1gvVy5oZWlnaHQ6MCxnZT1NYXRoLm1pbihKfHwuNSxafHxKfHwuNSksYWU9TWF0aC5taW4oZ2UqMiwzKTtpZighTnVtYmVyLmlzRmluaXRlKGFlKXx8YWU8PTApe0YuY2xlYW51cD8uKCk7cmV0dXJufWxldCByZT1GLmdldFZpZXdwb3J0KHtzY2FsZTphZX0pLHllPWU3LmFjcXVpcmUocmUud2lkdGgscmUuaGVpZ2h0KTt0aGlzLmNhbnZhc2VzLnB1c2goeWUpO2xldCBWPXtjYW52YXNDb250ZXh0OnllLmN0eCx2aWV3cG9ydDpyZX07YXdhaXQgRi5yZW5kZXIoVikucHJvbWlzZSxNLndpZHRoPXJlLndpZHRoLE0uaGVpZ2h0PXJlLmhlaWdodDtsZXQgSD1ZLG9lPXJlLmhlaWdodC9yZS53aWR0aCpZO2lmKG9lPlgpe2xldCB0ZT1YLHplPXJlLndpZHRoL3JlLmhlaWdodCpYO00uc3R5bGUud2lkdGg9YCR7emV9cHhgLE0uc3R5bGUuaGVpZ2h0PWAke3RlfXB4YH1lbHNlIE0uc3R5bGUud2lkdGg9YCR7SH1weGAsTS5zdHlsZS5oZWlnaHQ9YCR7b2V9cHhgO2xldCBzZT1NLmdldENvbnRleHQoIjJkIik7c2UmJihzZS5pbWFnZVNtb290aGluZ0VuYWJsZWQ9ITAsc2UuaW1hZ2VTbW9vdGhpbmdRdWFsaXR5PSJoaWdoIixzZS5kcmF3SW1hZ2UoeWUuY2FudmFzLDAsMCkpLEYuY2xlYW51cCgpfWNhdGNoKEEpe2NvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byByZW5kZXIgcGFnZSAke3RoaXMuY3VycmVudFByZXZpZXdQYWdlfTpgLEEpfX1jbGVhckNhbnZhc2VzKCl7Zm9yKGxldCBNIG9mIHRoaXMuY2FudmFzZXMpZTcucmVsZWFzZShNKTt0aGlzLmNhbnZhc2VzPVtdfWNsZWFudXAoKXt0aGlzLmNsZWFyQ2FudmFzZXMoKSx0aGlzLnBkZkRvY3VtZW50JiYobmwucmVsZWFzZURvY3VtZW50KHRoaXMubG9hZGVkUGRmVXJsPz90aGlzLnBkZlVybCksdGhpcy5wZGZEb2N1bWVudD1udWxsKSx0aGlzLnJlbmRlclBhZ2VzUXVldWVkPSExLHRoaXMucGFnZUNvdW50PTAsdGhpcy5jdXJyZW50UHJldmlld1BhZ2U9MSx0aGlzLmlzSG92ZXJpbmc9ITEsdGhpcy5pc0E0Rm9ybWF0PSEwLHRoaXMuc3RhY2tFbGVtZW50PW51bGwsdGhpcy5sb2FkZWRQZGZVcmw9bnVsbCx0aGlzLnJlbmRlcmVkPSExLHRoaXMubG9hZGluZz0hMSx0aGlzLmVycm9yPSExfWFzeW5jIHVwZGF0ZWQoTSl7aWYoc3VwZXIudXBkYXRlZChNKSxNLmhhcygicGRmVXJsIikmJnRoaXMucGRmVXJsKXtsZXQgUz1NLmdldCgicGRmVXJsIik7UyYmbmwucmVsZWFzZURvY3VtZW50KFMpLHRoaXMuY2xlYW51cCgpLHRoaXMucmVuZGVyZWQ9ITEsdGhpcy5jdXJyZW50UHJldmlld1BhZ2U9MTtsZXQgUD10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1AudG9wPHdpbmRvdy5pbm5lckhlaWdodCYmUC5ib3R0b20+MCYmdGhpcy5sb2FkQW5kUmVuZGVyUHJldmlldygpfU0uaGFzKCJjdXJyZW50UHJldmlld1BhZ2UiKSYmdGhpcy5yZW5kZXJlZCYmYXdhaXQgdGhpcy5zY2hlZHVsZVJlbmRlclBhZ2VzKCl9Z2V0Q29udGV4dE1lbnVJdGVtcygpe2xldCBNPVtdO3JldHVybiB0aGlzLmNsaWNrYWJsZSYmKE0ucHVzaCh7bmFtZToiVmlldyBQREYiLGljb25OYW1lOiJsdWNpZGU6RXllIixhY3Rpb246cyhhc3luYygpPT57dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGlsZS1jbGljayIse2RldGFpbDp0aGlzLmdldFRpbGVDbGlja0RldGFpbCgpLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9LCJhY3Rpb24iKX0pLE0ucHVzaCh7ZGl2aWRlcjohMH0pKSxNLnB1c2goe25hbWU6Ik9wZW4gUERGIGluIE5ldyBUYWIiLGljb25OYW1lOiJsdWNpZGU6RXh0ZXJuYWxMaW5rIixhY3Rpb246cyhhc3luYygpPT57d2luZG93Lm9wZW4odGhpcy5wZGZVcmwsIl9ibGFuayIpfSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiQ29weSBQREYgVVJMIixpY29uTmFtZToibHVjaWRlOkNvcHkiLGFjdGlvbjpzKGFzeW5jKCk9Pnthd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0aGlzLnBkZlVybCl9LCJhY3Rpb24iKX0se25hbWU6IkRvd25sb2FkIFBERiIsaWNvbk5hbWU6Imx1Y2lkZTpEb3dubG9hZCIsYWN0aW9uOnMoYXN5bmMoKT0+e2xldCBTPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImEiKTtTLmhyZWY9dGhpcy5wZGZVcmwsUy5kb3dubG9hZD10aGlzLnBkZlVybC5zcGxpdCgiLyIpLnBvcCgpfHwiZG9jdW1lbnQucGRmIixTLmNsaWNrKCl9LCJhY3Rpb24iKX0pLHRoaXMucGFnZUNvdW50PjAmJk0ucHVzaCh7ZGl2aWRlcjohMH0se25hbWU6YCR7dGhpcy5wYWdlQ291bnR9IHBhZ2Uke3RoaXMucGFnZUNvdW50PjE/InMiOiIifWAsaWNvbk5hbWU6Imx1Y2lkZTpGaWxlVGV4dCIsZGlzYWJsZWQ6ITAsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpfSksTX1jYWNoZUVsZW1lbnRzKCl7dGhpcy5zdGFja0VsZW1lbnR8fCh0aGlzLnN0YWNrRWxlbWVudD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5wcmV2aWV3LXN0YWNrIikpfXNldHVwUmVzaXplT2JzZXJ2ZXIoKXt0aGlzLnJlc2l6ZU9ic2VydmVyfHwodGhpcy5yZXNpemVPYnNlcnZlcj1uZXcgUmVzaXplT2JzZXJ2ZXIoKCk9Pnt0aGlzLnJlbmRlcmVkJiZ0aGlzLnBkZkRvY3VtZW50JiYhdGhpcy5sb2FkaW5nJiZ0aGlzLnNjaGVkdWxlUmVuZGVyUGFnZXMoKX0pLHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzKSl9Z2V0QXZhaWxhYmxlU2l6ZSgpe2lmKHRoaXMuc3RhY2tFbGVtZW50fHwodGhpcy5zdGFja0VsZW1lbnQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIucHJldmlldy1zdGFjayIpKSwhdGhpcy5zdGFja0VsZW1lbnQpcmV0dXJue2F2YWlsYWJsZVdpZHRoOjIwMCxhdmFpbGFibGVIZWlnaHQ6MjYwfTtsZXQgTT10aGlzLnN0YWNrRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxTPU1hdGgubWF4KE0ud2lkdGgsMCl8fDIwMCxQPU1hdGgubWF4KE0uaGVpZ2h0LDApfHwyNjA7cmV0dXJue2F2YWlsYWJsZVdpZHRoOlMsYXZhaWxhYmxlSGVpZ2h0OlB9fXN0YXRpY3tvbyhyLHQpfX07cmV0dXJuIEI9cn0pKCl9KTt2YXIgVzNhPWYoKCk9PntVM2EoKX0pO3ZhciBHM2EsWTNhPWYoKCk9PntsZSgpO0czYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7CiAgICB9CiAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgIH0KICAgIGgzIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgfQogICAgLnRpbGUtcm93IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZ2FwOiAyNHB4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5JbWFnZSBUaWxlczwvaDM+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICA8ZGVlcy10aHVtYm5haWwtaW1hZ2UKICAgICAgICAgIHNyYz0iaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzgwMC82MDAiCiAgICAgICAgICBhbHQ9IkxhbmRzY2FwZSBwaG90byIKICAgICAgICAgIGxhYmVsPSJsYW5kc2NhcGUuanBnIgogICAgICAgICAgQHRpbGUtY2xpY2s9JHthPT5jb25zb2xlLmxvZygiSW1hZ2UgY2xpY2tlZDoiLGEuZGV0YWlsKX0KICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1pbWFnZT4KCiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWltYWdlCiAgICAgICAgICBzcmM9Imh0dHBzOi8vcGljc3VtLnBob3Rvcy80MDAvNDAwIgogICAgICAgICAgYWx0PSJTcXVhcmUgcGhvdG8iCiAgICAgICAgICBsYWJlbD0ic3F1YXJlLnBuZyIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1pbWFnZT4KCiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWltYWdlCiAgICAgICAgICBzcmM9Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8zMDAvOTAwIgogICAgICAgICAgYWx0PSJQb3J0cmFpdCBwaG90byIKICAgICAgICAgIGxhYmVsPSJwb3J0cmFpdC53ZWJwIgogICAgICAgID48L2RlZXMtdGh1bWJuYWlsLWltYWdlPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5TaXplIFZhcmlhbnRzPC9oMz4KICAgICAgPGRpdiBjbGFzcz0idGlsZS1yb3ciPgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1pbWFnZQogICAgICAgICAgc2l6ZT0ic21hbGwiCiAgICAgICAgICBzcmM9Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8yMDAvMjAwIgogICAgICAgICAgYWx0PSJTbWFsbCIKICAgICAgICAgIGxhYmVsPSJzbWFsbC5qcGciCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtaW1hZ2U+CgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1pbWFnZQogICAgICAgICAgc3JjPSJodHRwczovL3BpY3N1bS5waG90b3MvNjAwLzQwMCIKICAgICAgICAgIGFsdD0iRGVmYXVsdCIKICAgICAgICAgIGxhYmVsPSJkZWZhdWx0LmpwZyIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1pbWFnZT4KCiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWltYWdlCiAgICAgICAgICBzaXplPSJsYXJnZSIKICAgICAgICAgIHNyYz0iaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzEyMDAvODAwIgogICAgICAgICAgYWx0PSJMYXJnZSIKICAgICAgICAgIGxhYmVsPSJsYXJnZS5qcGciCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtaW1hZ2U+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkVycm9yIFN0YXRlIChicm9rZW4gVVJMKTwvaDM+CiAgICAgIDxkZWVzLXRodW1ibmFpbC1pbWFnZQogICAgICAgIHNyYz0iaHR0cHM6Ly9pbnZhbGlkLXVybC10aGF0LWRvZXMtbm90LWV4aXN0LmV4YW1wbGUvaW1hZ2UucG5nIgogICAgICAgIGFsdD0iQnJva2VuIgogICAgICAgIGxhYmVsPSJicm9rZW4ucG5nIgogICAgICA+PC9kZWVzLXRodW1ibmFpbC1pbWFnZT4KICAgIDwvZGl2PgogIDwvZGl2PgpgLCJkZW1vIil9KTt2YXIgYTcsVzEsSzNhLFozYT1mKCgpPT57bGUoKTtINCgpO0ljKCk7WTNhKCk7YTc9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFcxPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxLM2E9KCgpPT57bGV0IGE9W2llKCJkZWVzLXRodW1ibmFpbC1pbWFnZSIpXSxlLHQ9W10scixpPWlvLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzVGh1bWJuYWlsSW1hZ2UiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVtLKCldLHg9W0soKV0seT1bSygpXSxhNyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNyYyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4ic3JjImluIHosImhhcyIpLGdldDpzKHo9Pnouc3JjLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc3JjPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSxhNyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFsdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iYWx0ImluIHosImhhcyIpLGdldDpzKHo9PnouYWx0LCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouYWx0PU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYyxwKSxhNyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImltYWdlTG9hZGVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJpbWFnZUxvYWRlZCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmltYWdlTG9hZGVkLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouaW1hZ2VMb2FkZWQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxtLHYpLGE3KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW1hZ2VXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iaW1hZ2VXaWR0aCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmltYWdlV2lkdGgsImdldCIpLHNldDpzKCh6LE8pPT57ei5pbWFnZVdpZHRoPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYixnKSxhNyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImltYWdlSGVpZ2h0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJpbWFnZUhlaWdodCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmltYWdlSGVpZ2h0LCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouaW1hZ2VIZWlnaHQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLGE3KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89RzNhO3N0YXRpYyBkZW1vR3JvdXBzPVsiTWVkaWEiXTtzdGF0aWMgc3R5bGVzPVsuLi5OaSxRYAogICAgICAuaW1hZ2Utd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmVwZWF0aW5nLWNvbmljLWdyYWRpZW50KCNlOGU4ZTggMCUgMjUlLCB3aGl0ZSAwJSA1MCUpIDUwJSAvIDE2cHggMTZweCIsInJlcGVhdGluZy1jb25pYy1ncmFkaWVudChoc2woMjE1IDIwJSAxOCUpIDAlIDI1JSwgaHNsKDIxNSAyMCUgMTQlKSAwJSA1MCUpIDUwJSAvIDE2cHggMTZweCIpfTsKICAgICAgfQoKICAgICAgLmltYWdlLXdyYXBwZXIgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5pbWFnZS13cmFwcGVyIGltZy5sb2FkZWQgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5pbWFnZS13cmFwcGVyIGltZy5sb2FkaW5nIHsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICB9CgogICAgYF07I2U9VzEodGhpcyxuLCIiKTtnZXQgc3JjKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNyYyhfKXt0aGlzLiNlPV99I3Q9KFcxKHRoaXMsbCksVzEodGhpcyxjLCIiKSk7Z2V0IGFsdCgpe3JldHVybiB0aGlzLiN0fXNldCBhbHQoXyl7dGhpcy4jdD1ffSNhPShXMSh0aGlzLHApLFcxKHRoaXMsbSwhMSkpO2dldCBpbWFnZUxvYWRlZCgpe3JldHVybiB0aGlzLiNhfXNldCBpbWFnZUxvYWRlZChfKXt0aGlzLiNhPV99I3I9KFcxKHRoaXMsdiksVzEodGhpcyxiLDApKTtnZXQgaW1hZ2VXaWR0aCgpe3JldHVybiB0aGlzLiNyfXNldCBpbWFnZVdpZHRoKF8pe3RoaXMuI3I9X30jcz0oVzEodGhpcyxnKSxXMSh0aGlzLGssMCkpO2dldCBpbWFnZUhlaWdodCgpe3JldHVybiB0aGlzLiNzfXNldCBpbWFnZUhlaWdodChfKXt0aGlzLiNzPV99aGFzU3RhcnRlZExvYWRpbmc9KFcxKHRoaXMsQyksITEpO3JlbmRlclRpbGVDb250ZW50KCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImltYWdlLXdyYXBwZXIiPgogICAgICAgICR7dGhpcy5oYXNTdGFydGVkTG9hZGluZz93YAogICAgICAgICAgPGltZwogICAgICAgICAgICBjbGFzcz0iJHt0aGlzLmltYWdlTG9hZGVkPyJsb2FkZWQiOiJsb2FkaW5nIn0iCiAgICAgICAgICAgIHNyYz0iJHt0aGlzLnNyY30iCiAgICAgICAgICAgIGFsdD0iJHt0aGlzLmFsdH0iCiAgICAgICAgICAgIEBsb2FkPSR7dGhpcy5oYW5kbGVJbWFnZUxvYWR9CiAgICAgICAgICAgIEBlcnJvcj0ke3RoaXMuaGFuZGxlSW1hZ2VFcnJvcn0KICAgICAgICAgIC8+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CgogICAgICAke3RoaXMuY2xpY2thYmxlP3dgCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1vdmVybGF5Ij4KICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkV5ZSI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5WaWV3IEltYWdlPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgYH1yZW5kZXJCb3R0b21CYXIoKXtyZXR1cm4hdGhpcy5sYWJlbCYmISh0aGlzLmltYWdlV2lkdGg+MCk/IiI6d2AKICAgICAgPGRpdiBjbGFzcz0idGlsZS1pbmZvLWJhciI+CiAgICAgICAgJHt0aGlzLmxhYmVsP3dgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiIHRpdGxlPSIke3RoaXMubGFiZWx9Ij4ke3RoaXMubGFiZWx9PC9zcGFuPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tc3BhY2VyIj48L3NwYW4+CiAgICAgICAgJHt0aGlzLmltYWdlV2lkdGg+MCYmdGhpcy5pbWFnZUhlaWdodD4wP3dgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj4ke3RoaXMuaW1hZ2VXaWR0aH0gw5cgJHt0aGlzLmltYWdlSGVpZ2h0fTwvc3Bhbj5gOiIifQogICAgICA8L2Rpdj4KICAgIGB9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue3NyYzp0aGlzLnNyYyxhbHQ6dGhpcy5hbHQsd2lkdGg6dGhpcy5pbWFnZVdpZHRoLGhlaWdodDp0aGlzLmltYWdlSGVpZ2h0fX1vbkJlY2FtZVZpc2libGUoKXshdGhpcy5oYXNTdGFydGVkTG9hZGluZyYmdGhpcy5zcmMmJih0aGlzLmhhc1N0YXJ0ZWRMb2FkaW5nPSEwLHRoaXMubG9hZGluZz0hMCx0aGlzLnJlcXVlc3RVcGRhdGUoKSl9aGFuZGxlSW1hZ2VMb2FkKF8pe2xldCB6PV8udGFyZ2V0O3RoaXMuaW1hZ2VXaWR0aD16Lm5hdHVyYWxXaWR0aCx0aGlzLmltYWdlSGVpZ2h0PXoubmF0dXJhbEhlaWdodCx0aGlzLmltYWdlTG9hZGVkPSEwLHRoaXMubG9hZGluZz0hMX1oYW5kbGVJbWFnZUVycm9yKCl7dGhpcy5lcnJvcj0hMCx0aGlzLmxvYWRpbmc9ITF9YXN5bmMgdXBkYXRlZChfKXtzdXBlci51cGRhdGVkKF8pLF8uaGFzKCJzcmMiKSYmdGhpcy5zcmMmJnRoaXMuaXNWaXNpYmxlJiYodGhpcy5oYXNTdGFydGVkTG9hZGluZz0hMCx0aGlzLmltYWdlTG9hZGVkPSExLHRoaXMubG9hZGluZz0hMCl9c3RhdGlje1cxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBYM2E9ZigoKT0+e1ozYSgpfSk7dmFyIFEzYSxKM2E9ZigoKT0+e2xlKCk7UTNhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgcGFkZGluZzogNDBweDsKICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsKICAgIH0KICAgIC5kZW1vLXNlY3Rpb24gewogICAgICBtYXJnaW4tYm90dG9tOiA2MHB4OwogICAgfQogICAgaDMgewogICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICB9CiAgICAudGlsZS1yb3cgewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDI0cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICB9CiAgPC9zdHlsZT4KCiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPkF1ZGlvIFRpbGVzPC9oMz4KICAgICAgPGRpdiBjbGFzcz0idGlsZS1yb3ciPgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1hdWRpbwogICAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTEubXAzIgogICAgICAgICAgdGl0bGU9IlNvdW5kSGVsaXggU29uZyAxIgogICAgICAgICAgYXJ0aXN0PSJULiBTY2h1ZXJnZXIiCiAgICAgICAgICBsYWJlbD0ic291bmRoZWxpeC0xLm1wMyIKICAgICAgICAgIEB0aWxlLWNsaWNrPSR7YT0+Y29uc29sZS5sb2coIkF1ZGlvIGNsaWNrZWQ6IixhLmRldGFpbCl9CiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtYXVkaW8+CgogICAgICAgIDxkZWVzLXRodW1ibmFpbC1hdWRpbwogICAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTIubXAzIgogICAgICAgICAgdGl0bGU9IlNvdW5kSGVsaXggU29uZyAyIgogICAgICAgICAgYXJ0aXN0PSJULiBTY2h1ZXJnZXIiCiAgICAgICAgICBsYWJlbD0ic291bmRoZWxpeC0yLm1wMyIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1hdWRpbz4KCiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWF1ZGlvCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMy5tcDMiCiAgICAgICAgICB0aXRsZT0iU291bmRIZWxpeCBTb25nIDMiCiAgICAgICAgICBsYWJlbD0ic291bmRoZWxpeC0zLm1wMyIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1hdWRpbz4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+U2l6ZSBWYXJpYW50czwvaDM+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICA8ZGVlcy10aHVtYm5haWwtYXVkaW8KICAgICAgICAgIHNpemU9InNtYWxsIgogICAgICAgICAgc3JjPSJodHRwczovL3d3dy5zb3VuZGhlbGl4LmNvbS9leGFtcGxlcy9tcDMvU291bmRIZWxpeC1Tb25nLTEubXAzIgogICAgICAgICAgdGl0bGU9IlNtYWxsIgogICAgICAgICAgbGFiZWw9InNtYWxsLm1wMyIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1hdWRpbz4KCiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWF1ZGlvCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3LnNvdW5kaGVsaXguY29tL2V4YW1wbGVzL21wMy9Tb3VuZEhlbGl4LVNvbmctMS5tcDMiCiAgICAgICAgICB0aXRsZT0iRGVmYXVsdCIKICAgICAgICAgIGxhYmVsPSJkZWZhdWx0Lm1wMyIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1hdWRpbz4KCiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWF1ZGlvCiAgICAgICAgICBzaXplPSJsYXJnZSIKICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cuc291bmRoZWxpeC5jb20vZXhhbXBsZXMvbXAzL1NvdW5kSGVsaXgtU29uZy0xLm1wMyIKICAgICAgICAgIHRpdGxlPSJMYXJnZSIKICAgICAgICAgIGxhYmVsPSJsYXJnZS5tcDMiCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtYXVkaW8+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CmAsImRlbW8iKX0pO3ZhciBWNCxubyxlZGEsdGRhPWYoKCk9PntsZSgpO0g0KCk7SWMoKTtKM2EoKTtWND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sbm89ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGVkYT0oKCk9PntsZXQgYT1baWUoImRlZXMtdGh1bWJuYWlsLWF1ZGlvIildLGUsdD1bXSxyLGk9aW8sbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W107dmFyIEI9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNUaHVtYm5haWxBdWRpbyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBNPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9W0soKV0seT1bSygpXSxOPVtLKCldLE89W0soKV0sVjQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzcmMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InNyYyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnNyYywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnNyYz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG4sbCksVjQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aXRsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGl0bGUiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy50aXRsZSwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnRpdGxlPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxWNCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFydGlzdCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iYXJ0aXN0ImluIFMsImhhcyIpLGdldDpzKFM9PlMuYXJ0aXN0LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuYXJ0aXN0PVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbSx2KSxWNCh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImR1cmF0aW9uIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJkdXJhdGlvbiJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmR1cmF0aW9uLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuZHVyYXRpb249UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLFY0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToid2F2ZWZvcm1EYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ3YXZlZm9ybURhdGEiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy53YXZlZm9ybURhdGEsImdldCIpLHNldDpzKChTLFApPT57Uy53YXZlZm9ybURhdGE9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxrLEMpLFY0KHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToid2F2ZWZvcm1SZWFkeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4id2F2ZWZvcm1SZWFkeSJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLndhdmVmb3JtUmVhZHksImdldCIpLHNldDpzKChTLFApPT57Uy53YXZlZm9ybVJlYWR5PVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sXyx6KSxWNCh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzUHJldmlld1BsYXlpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImlzUHJldmlld1BsYXlpbmciaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5pc1ByZXZpZXdQbGF5aW5nLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuaXNQcmV2aWV3UGxheWluZz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LFQsRSksVjQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCx0KSxCPXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1RM2E7c3RhdGljIGRlbW9Hcm91cHM9WyJNZWRpYSJdO3N0YXRpYyBzdHlsZXM9Wy4uLk5pLFFgCiAgICAgIC5hdWRpby1jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgibGluZWFyLWdyYWRpZW50KDEzNWRlZywgaHNsKDI1MCA0MCUgOTYlKSwgaHNsKDI4MCAzMCUgOTQlKSkiLCJsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCBoc2woMjUwIDMwJSAxNiUpLCBoc2woMjgwIDI1JSAxNCUpKSIpfTsKICAgICAgfQoKICAgICAgLm11c2ljLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogNDhweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyNTAgNjAlIDY1JSkiLCJoc2woMjUwIDYwJSA3MCUpIil9OwogICAgICAgIG9wYWNpdHk6IDAuODsKICAgICAgfQoKICAgICAgLmF1ZGlvLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyNTAgMjAlIDM1JSkiLCJoc2woMjUwIDIwJSA4MCUpIil9OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmF1ZGlvLWFydGlzdCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjUwIDE1JSA1MCUpIiwiaHNsKDI1MCAxNSUgNjUlKSIpfTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIG1hcmdpbi10b3A6IC0xMnB4OwogICAgICAgIG1heC13aWR0aDogMTAwJTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC53YXZlZm9ybS1jb250YWluZXIgewogICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMnB4KTsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC53YXZlZm9ybS1jb250YWluZXIgY2FudmFzIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCgogICAgICAucGxheS1vdmVybGF5IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlOwogICAgICAgIHotaW5kZXg6IDE4OwogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CgogICAgICAudGlsZS1jb250YWluZXIuY2xpY2thYmxlOmhvdmVyIC5wbGF5LW92ZXJsYXkgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5wbGF5LWNpcmNsZSB7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpOwogICAgICB9CgogICAgICAucGxheS1jaXJjbGUgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICB9CiAgICBgXTsjZT1ubyh0aGlzLG4sIiIpO2dldCBzcmMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3JjKE0pe3RoaXMuI2U9TX0jdD0obm8odGhpcyxsKSxubyh0aGlzLGMsIiIpKTtnZXQgdGl0bGUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgdGl0bGUoTSl7dGhpcy4jdD1NfSNhPShubyh0aGlzLHApLG5vKHRoaXMsbSwiIikpO2dldCBhcnRpc3QoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYXJ0aXN0KE0pe3RoaXMuI2E9TX0jcj0obm8odGhpcyx2KSxubyh0aGlzLGIsMCkpO2dldCBkdXJhdGlvbigpe3JldHVybiB0aGlzLiNyfXNldCBkdXJhdGlvbihNKXt0aGlzLiNyPU19I3M9KG5vKHRoaXMsZyksbm8odGhpcyxrLFtdKSk7Z2V0IHdhdmVmb3JtRGF0YSgpe3JldHVybiB0aGlzLiNzfXNldCB3YXZlZm9ybURhdGEoTSl7dGhpcy4jcz1NfSNpPShubyh0aGlzLEMpLG5vKHRoaXMsXywhMSkpO2dldCB3YXZlZm9ybVJlYWR5KCl7cmV0dXJuIHRoaXMuI2l9c2V0IHdhdmVmb3JtUmVhZHkoTSl7dGhpcy4jaT1NfSNvPShubyh0aGlzLHopLG5vKHRoaXMsVCwhMSkpO2dldCBpc1ByZXZpZXdQbGF5aW5nKCl7cmV0dXJuIHRoaXMuI299c2V0IGlzUHJldmlld1BsYXlpbmcoTSl7dGhpcy4jbz1NfWF1ZGlvRWxlbWVudD0obm8odGhpcyxFKSxudWxsKTtwcmV2aWV3VGltZW91dD1udWxsO2hhc0xvYWRlZFdhdmVmb3JtPSExO3JlbmRlclRpbGVDb250ZW50KCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImF1ZGlvLWNvbnRlbnQiPgogICAgICAgIDxkZWVzLWljb24gY2xhc3M9Im11c2ljLWljb24iIGljb249Imx1Y2lkZTpNdXNpYyI+PC9kZWVzLWljb24+CgogICAgICAgICR7dGhpcy50aXRsZT93YDxkaXYgY2xhc3M9ImF1ZGlvLXRpdGxlIj4ke3RoaXMudGl0bGV9PC9kaXY+YDoiIn0KICAgICAgICAke3RoaXMuYXJ0aXN0P3dgPGRpdiBjbGFzcz0iYXVkaW8tYXJ0aXN0Ij4ke3RoaXMuYXJ0aXN0fTwvZGl2PmA6IiJ9CgogICAgICAgICR7dGhpcy53YXZlZm9ybVJlYWR5P3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ3YXZlZm9ybS1jb250YWluZXIiPgogICAgICAgICAgICA8Y2FudmFzPjwvY2FudmFzPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJwbGF5LW92ZXJsYXkiPgogICAgICAgIDxkaXYgY2xhc3M9InBsYXktY2lyY2xlIj4KICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOlBsYXkiPjwvZGVlcy1pY29uPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgICR7dGhpcy5jbGlja2FibGU/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLW92ZXJsYXkiPgogICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6SGVhZHBob25lcyI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5QbGF5IEF1ZGlvPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgYH1yZW5kZXJCb3R0b21CYXIoKXtyZXR1cm4hdGhpcy5sYWJlbCYmIXRoaXMuZHVyYXRpb24/IiI6d2AKICAgICAgPGRpdiBjbGFzcz0idGlsZS1pbmZvLWJhciI+CiAgICAgICAgJHt0aGlzLmxhYmVsP3dgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiIHRpdGxlPSIke3RoaXMubGFiZWx9Ij4ke3RoaXMubGFiZWx9PC9zcGFuPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tc3BhY2VyIj48L3NwYW4+CiAgICAgICAgJHt0aGlzLmR1cmF0aW9uPjA/d2A8c3BhbiBjbGFzcz0iaW5mby1kZXRhaWwiPiR7dGhpcy5mb3JtYXRUaW1lKHRoaXMuZHVyYXRpb24pfTwvc3Bhbj5gOiIifQogICAgICA8L2Rpdj4KICAgIGB9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue3NyYzp0aGlzLnNyYyx0aXRsZTp0aGlzLnRpdGxlLGFydGlzdDp0aGlzLmFydGlzdCxkdXJhdGlvbjp0aGlzLmR1cmF0aW9ufX1vbkJlY2FtZVZpc2libGUoKXshdGhpcy5oYXNMb2FkZWRXYXZlZm9ybSYmdGhpcy5zcmMmJih0aGlzLmhhc0xvYWRlZFdhdmVmb3JtPSEwLHRoaXMubG9hZEF1ZGlvTWV0YSgpKX1hc3luYyBsb2FkQXVkaW9NZXRhKCl7dGhpcy5sb2FkaW5nPSEwO3RyeXtsZXQgTT1uZXcgQXVkaW87TS5jcm9zc09yaWdpbj0iYW5vbnltb3VzIixNLnByZWxvYWQ9Im1ldGFkYXRhIixhd2FpdCBuZXcgUHJvbWlzZSgoUyxQKT0+e00uYWRkRXZlbnRMaXN0ZW5lcigibG9hZGVkbWV0YWRhdGEiLCgpPT57dGhpcy5kdXJhdGlvbj1NLmR1cmF0aW9uLFMoKX0se29uY2U6ITB9KSxNLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+UChuZXcgRXJyb3IoIkZhaWxlZCB0byBsb2FkIGF1ZGlvIikpLHtvbmNlOiEwfSksTS5zcmM9dGhpcy5zcmN9KSxhd2FpdCB0aGlzLmxvYWRXYXZlZm9ybSgpLHRoaXMubG9hZGluZz0hMX1jYXRjaHt0aGlzLmxvYWRpbmc9ITF9fWFzeW5jIGxvYWRXYXZlZm9ybSgpe3RyeXtsZXQgUz1hd2FpdChhd2FpdCBmZXRjaCh0aGlzLnNyYykpLmFycmF5QnVmZmVyKCksUD1uZXcgQXVkaW9Db250ZXh0LEY9KGF3YWl0IFAuZGVjb2RlQXVkaW9EYXRhKFMpKS5nZXRDaGFubmVsRGF0YSgwKSxXPTgwLGo9TWF0aC5mbG9vcihGLmxlbmd0aC9XKSxHPVtdO2ZvcihsZXQgUj0wO1I8VztSKyspe2xldCBVPTA7Zm9yKGxldCBtZT0wO21lPGo7bWUrKylVKz1NYXRoLmFicyhGW1IqaittZV0pO0cucHVzaChVL2opfWxldCBoZT1NYXRoLm1heCguLi5HKTt0aGlzLndhdmVmb3JtRGF0YT1HLm1hcChSPT5oZT4wP1IvaGU6MCksdGhpcy53YXZlZm9ybVJlYWR5PSEwLGF3YWl0IFAuY2xvc2UoKSxhd2FpdCB0aGlzLnVwZGF0ZUNvbXBsZXRlLHRoaXMuZHJhd1dhdmVmb3JtKCl9Y2F0Y2h7dGhpcy53YXZlZm9ybVJlYWR5PSExfX1kcmF3V2F2ZWZvcm0oKXtpZighdGhpcy53YXZlZm9ybVJlYWR5KXJldHVybjtsZXQgTT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi53YXZlZm9ybS1jb250YWluZXIgY2FudmFzIik7aWYoIU0pcmV0dXJuO2xldCBTPU0ucGFyZW50RWxlbWVudCxQPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvfHwxLEE9Uy5jbGllbnRXaWR0aCxGPVMuY2xpZW50SGVpZ2h0O00ud2lkdGg9QSpQLE0uaGVpZ2h0PUYqUDtsZXQgVz1NLmdldENvbnRleHQoIjJkIik7aWYoIVcpcmV0dXJuO1cuc2NhbGUoUCxQKSxXLmNsZWFyUmVjdCgwLDAsQSxGKTtsZXQgaj10aGlzLndhdmVmb3JtRGF0YS5sZW5ndGg7aWYoaj09PTApcmV0dXJuO2xldCBHPUEvaixSPWRvY3VtZW50LmJvZHkuY2xhc3NMaXN0LmNvbnRhaW5zKCJ0aGVtZS1kYXJrIil8fHdpbmRvdy5tYXRjaE1lZGlhKCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspIikubWF0Y2hlcz8iaHNsKDI1MCA1MCUgNjAlKSI6ImhzbCgyNTAgNTAlIDcwJSkiO1cuZmlsbFN0eWxlPVI7Zm9yKGxldCBVPTA7VTxqO1UrKyl7bGV0IG1lPXRoaXMud2F2ZWZvcm1EYXRhW1VdLEk9TWF0aC5tYXgoMixtZSooRi00KSkscT1VKkcsY2U9KEYtSSkvMjtXLmZpbGxSZWN0KHErLjUsY2UsRy0xLEkpfX1hc3luYyB1cGRhdGVkKE0pe3N1cGVyLnVwZGF0ZWQoTSksTS5oYXMoInNyYyIpJiZ0aGlzLnNyYyYmdGhpcy5pc1Zpc2libGUmJih0aGlzLmhhc0xvYWRlZFdhdmVmb3JtPSEwLHRoaXMud2F2ZWZvcm1SZWFkeT0hMSx0aGlzLmR1cmF0aW9uPTAsdGhpcy5sb2FkQXVkaW9NZXRhKCkpLE0uaGFzKCJ3YXZlZm9ybVJlYWR5IikmJnRoaXMud2F2ZWZvcm1SZWFkeSYmKGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5kcmF3V2F2ZWZvcm0oKSl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMucHJldmlld1RpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLnByZXZpZXdUaW1lb3V0KSx0aGlzLmF1ZGlvRWxlbWVudCYmKHRoaXMuYXVkaW9FbGVtZW50LnBhdXNlKCksdGhpcy5hdWRpb0VsZW1lbnQuc3JjPSIiLHRoaXMuYXVkaW9FbGVtZW50PW51bGwpfWZvcm1hdFRpbWUoTSl7aWYoIWlzRmluaXRlKE0pfHxNPDApcmV0dXJuIjA6MDAiO2xldCBTPU1hdGguZmxvb3IoTS82MCksUD1NYXRoLmZsb29yKE0lNjApO3JldHVybmAke1N9OiR7UC50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1gfXN0YXRpY3tubyhyLHQpfX07cmV0dXJuIEI9cn0pKCl9KTt2YXIgYWRhPWYoKCk9Pnt0ZGEoKX0pO3ZhciByZGEsc2RhPWYoKCk9PntsZSgpO3JkYT1zKCgpPT53YAogIDxzdHlsZT4KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7CiAgICB9CiAgICAuZGVtby1zZWN0aW9uIHsKICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgIH0KICAgIGgzIHsKICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICBmb250LXdlaWdodDogNjAwOwogICAgfQogICAgLnRpbGUtcm93IHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZ2FwOiAyNHB4OwogICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgfQogIDwvc3R5bGU+CgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMz5WaWRlbyBUaWxlczwvaDM+CiAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICA8ZGVlcy10aHVtYm5haWwtdmlkZW8KICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9odG1sL21vdl9iYmIubXA0IgogICAgICAgICAgbGFiZWw9ImJ1bm55Lm1wNCIKICAgICAgICAgIEB0aWxlLWNsaWNrPSR7YT0+Y29uc29sZS5sb2coIlZpZGVvIGNsaWNrZWQ6IixhLmRldGFpbCl9CiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtdmlkZW8+CgogICAgICAgIDxkZWVzLXRodW1ibmFpbC12aWRlbwogICAgICAgICAgc3JjPSJodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2h0bWwvbW92aWUubXA0IgogICAgICAgICAgcG9zdGVyPSJodHRwczovL3BpY3N1bS5waG90b3MvNDAwLzMwMCIKICAgICAgICAgIGxhYmVsPSJtb3ZpZS5tcDQiCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtdmlkZW8+CgogICAgICAgIDxkZWVzLXRodW1ibmFpbC12aWRlbwogICAgICAgICAgc3JjPSJodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2h0bWwvbW92X2JiYi5tcDQiCiAgICAgICAgICBsYWJlbD0iYW5vdGhlci12aWRlby5tcDQiCiAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtdmlkZW8+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPGRpdiBjbGFzcz0iZGVtby1zZWN0aW9uIj4KICAgICAgPGgzPlNpemUgVmFyaWFudHM8L2gzPgogICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLXZpZGVvCiAgICAgICAgICBzaXplPSJzbWFsbCIKICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9odG1sL21vdl9iYmIubXA0IgogICAgICAgICAgbGFiZWw9InNtYWxsLm1wNCIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC12aWRlbz4KCiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLXZpZGVvCiAgICAgICAgICBzcmM9Imh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vaHRtbC9tb3ZfYmJiLm1wNCIKICAgICAgICAgIGxhYmVsPSJkZWZhdWx0Lm1wNCIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC12aWRlbz4KCiAgICAgICAgPGRlZXMtdGh1bWJuYWlsLXZpZGVvCiAgICAgICAgICBzaXplPSJsYXJnZSIKICAgICAgICAgIHNyYz0iaHR0cHM6Ly93d3cudzNzY2hvb2xzLmNvbS9odG1sL21vdl9iYmIubXA0IgogICAgICAgICAgbGFiZWw9ImxhcmdlLm1wNCIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC12aWRlbz4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICA8aDM+V2l0aCBQb3N0ZXIgSW1hZ2U8L2gzPgogICAgICA8ZGVlcy10aHVtYm5haWwtdmlkZW8KICAgICAgICBzcmM9Imh0dHBzOi8vd3d3Lnczc2Nob29scy5jb20vaHRtbC9tb3ZpZS5tcDQiCiAgICAgICAgcG9zdGVyPSJodHRwczovL3BpY3N1bS5waG90b3MvNjAwLzQwMCIKICAgICAgICBsYWJlbD0icG9zdGVyLXZpZGVvLm1wNCIKICAgICAgPjwvZGVlcy10aHVtYm5haWwtdmlkZW8+CiAgICA8L2Rpdj4KICA8L2Rpdj4KYCwiZGVtbyIpfSk7dmFyIHI3LEcxLGlkYSxvZGE9ZigoKT0+e2xlKCk7SDQoKTtJYygpO3NkYSgpO3I3PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxHMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0saWRhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy10aHVtYm5haWwtdmlkZW8iKV0sZSx0PVtdLHIsaT1pbyxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXTt2YXIgTj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1RodW1ibmFpbFZpZGVvIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IF89dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bSygpXSx4PVtLKCldLHk9W0soKV0scjcodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzcmMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNyYyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnNyYywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNyYz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCkscjcodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJwb3N0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InBvc3RlciJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnBvc3RlciwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnBvc3Rlcj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGMscCkscjcodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkdXJhdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iZHVyYXRpb24iaW4geiwiaGFzIiksZ2V0OnMoej0+ei5kdXJhdGlvbiwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmR1cmF0aW9uPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbSx2KSxyNyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRodW1ibmFpbENhcHR1cmVkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJ0aHVtYm5haWxDYXB0dXJlZCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnRodW1ibmFpbENhcHR1cmVkLCJnZXQiKSxzZXQ6cygoeixPKT0+e3oudGh1bWJuYWlsQ2FwdHVyZWQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxiLGcpLHI3KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNIb3ZlcmluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iaXNIb3ZlcmluZyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmlzSG92ZXJpbmcsImdldCIpLHNldDpzKCh6LE8pPT57ei5pc0hvdmVyaW5nPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sayxDKSxyNyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpffSxudWxsLHQpLE49cj1lLnZhbHVlLF8mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6X30pfXN0YXRpYyBkZW1vPXJkYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIl07c3RhdGljIHN0eWxlcz1bLi4uTmksUWAKICAgICAgLnZpZGVvLXdyYXBwZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBiYWNrZ3JvdW5kOiAjMDAwOwogICAgICB9CgogICAgICAudmlkZW8td3JhcHBlciB2aWRlbyB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAudmlkZW8td3JhcHBlciBjYW52YXMgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLnBvc3Rlci1pbWFnZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgoKICAgICAgLnBsYXktb3ZlcmxheSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogNTAlOwogICAgICAgIGxlZnQ6IDUwJTsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICAgICAgICB3aWR0aDogNDhweDsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgei1pbmRleDogMTU7CiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5wbGF5LW92ZXJsYXkgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICB9CgogICAgICAudGlsZS1jb250YWluZXIuY2xpY2thYmxlOmhvdmVyIC5wbGF5LW92ZXJsYXkgewogICAgICAgIG9wYWNpdHk6IDA7CiAgICAgIH0KCiAgICAgIC52aWRlby1ob3Zlci1wcmV2aWV3IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgICAgIHotaW5kZXg6IDU7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTsKICAgICAgfQoKICAgICAgLnZpZGVvLWhvdmVyLXByZXZpZXcuYWN0aXZlIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICB9CiAgICBgXTsjZT1HMSh0aGlzLG4sIiIpO2dldCBzcmMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3JjKF8pe3RoaXMuI2U9X30jdD0oRzEodGhpcyxsKSxHMSh0aGlzLGMsIiIpKTtnZXQgcG9zdGVyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBvc3RlcihfKXt0aGlzLiN0PV99I2E9KEcxKHRoaXMscCksRzEodGhpcyxtLDApKTtnZXQgZHVyYXRpb24oKXtyZXR1cm4gdGhpcy4jYX1zZXQgZHVyYXRpb24oXyl7dGhpcy4jYT1ffSNyPShHMSh0aGlzLHYpLEcxKHRoaXMsYiwhMSkpO2dldCB0aHVtYm5haWxDYXB0dXJlZCgpe3JldHVybiB0aGlzLiNyfXNldCB0aHVtYm5haWxDYXB0dXJlZChfKXt0aGlzLiNyPV99I3M9KEcxKHRoaXMsZyksRzEodGhpcyxrLCExKSk7Z2V0IGlzSG92ZXJpbmcoKXtyZXR1cm4gdGhpcy4jc31zZXQgaXNIb3ZlcmluZyhfKXt0aGlzLiNzPV99dGh1bWJuYWlsQ2FudmFzPShHMSh0aGlzLEMpLG51bGwpO2hvdmVyVmlkZW89bnVsbDtoYXNTdGFydGVkTG9hZGluZz0hMTtyZW5kZXJUaWxlQ29udGVudCgpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJ2aWRlby13cmFwcGVyIj4KICAgICAgICAke3RoaXMucG9zdGVyP3dgCiAgICAgICAgICA8aW1nIGNsYXNzPSJwb3N0ZXItaW1hZ2UiIHNyYz0iJHt0aGlzLnBvc3Rlcn0iIGFsdD0iIiAvPgogICAgICAgIGA6dGhpcy50aHVtYm5haWxDYXB0dXJlZD93YAogICAgICAgICAgPGNhbnZhcz48L2NhbnZhcz4KICAgICAgICBgOndgCiAgICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlOyBiYWNrZ3JvdW5kOiAjMDAwOyI+PC9kaXY+CiAgICAgICAgYH0KCiAgICAgICAgJHt0aGlzLmlzSG92ZXJpbmcmJnRoaXMuc3JjP3dgCiAgICAgICAgICA8dmlkZW8KICAgICAgICAgICAgY2xhc3M9InZpZGVvLWhvdmVyLXByZXZpZXcgJHt0aGlzLmlzSG92ZXJpbmc/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAuc3JjPSR7dGhpcy5zcmN9CiAgICAgICAgICAgIG11dGVkCiAgICAgICAgICAgIHBsYXlzaW5saW5lCiAgICAgICAgICAgIEBsb2FkZWRkYXRhPSR7dGhpcy5oYW5kbGVIb3ZlclZpZGVvTG9hZGVkfQogICAgICAgICAgPjwvdmlkZW8+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CgogICAgICAke3RoaXMuaXNIb3ZlcmluZz8iIjp3YAogICAgICAgIDxkaXYgY2xhc3M9InBsYXktb3ZlcmxheSI+CiAgICAgICAgICA8ZGVlcy1pY29uIGljb249Imx1Y2lkZTpQbGF5Ij48L2RlZXMtaWNvbj4KICAgICAgICA8L2Rpdj4KICAgICAgYH0KCiAgICAgICR7dGhpcy5jbGlja2FibGU/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLW92ZXJsYXkiPgogICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6UGxheSI+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj5QbGF5IFZpZGVvPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgYH1yZW5kZXJCb3R0b21CYXIoKXtyZXR1cm4hdGhpcy5sYWJlbCYmIXRoaXMuZHVyYXRpb24/IiI6d2AKICAgICAgPGRpdiBjbGFzcz0idGlsZS1pbmZvLWJhciI+CiAgICAgICAgJHt0aGlzLmxhYmVsP3dgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiIHRpdGxlPSIke3RoaXMubGFiZWx9Ij4ke3RoaXMubGFiZWx9PC9zcGFuPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tc3BhY2VyIj48L3NwYW4+CiAgICAgICAgJHt0aGlzLmR1cmF0aW9uPjA/d2A8c3BhbiBjbGFzcz0iaW5mby1kZXRhaWwiPiR7dGhpcy5mb3JtYXRUaW1lKHRoaXMuZHVyYXRpb24pfTwvc3Bhbj5gOiIifQogICAgICA8L2Rpdj4KICAgIGB9Z2V0VGlsZUNsaWNrRGV0YWlsKCl7cmV0dXJue3NyYzp0aGlzLnNyYyxwb3N0ZXI6dGhpcy5wb3N0ZXIsZHVyYXRpb246dGhpcy5kdXJhdGlvbn19b25CZWNhbWVWaXNpYmxlKCl7IXRoaXMuaGFzU3RhcnRlZExvYWRpbmcmJnRoaXMuc3JjJiYodGhpcy5oYXNTdGFydGVkTG9hZGluZz0hMCx0aGlzLmNhcHR1cmVGaXJzdEZyYW1lKCkpfWFzeW5jIGNhcHR1cmVGaXJzdEZyYW1lKCl7aWYodGhpcy5wb3N0ZXIpe3RoaXMubG9hZER1cmF0aW9uKCk7cmV0dXJufXRoaXMubG9hZGluZz0hMDt0cnl7bGV0IF89ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKTtfLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLF8ubXV0ZWQ9ITAsXy5wcmVsb2FkPSJtZXRhZGF0YSIsYXdhaXQgbmV3IFByb21pc2UoKHosTyk9PntfLmFkZEV2ZW50TGlzdGVuZXIoImxvYWRlZGRhdGEiLCgpPT57dGhpcy5kdXJhdGlvbj1fLmR1cmF0aW9uLF8uY3VycmVudFRpbWU9LjEsXy5hZGRFdmVudExpc3RlbmVyKCJzZWVrZWQiLCgpPT57bGV0IFQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7VC53aWR0aD1fLnZpZGVvV2lkdGgsVC5oZWlnaHQ9Xy52aWRlb0hlaWdodDtsZXQgRT1ULmdldENvbnRleHQoIjJkIik7RSYmKEUuZHJhd0ltYWdlKF8sMCwwKSx0aGlzLnRodW1ibmFpbENhbnZhcz1ULHRoaXMudGh1bWJuYWlsQ2FwdHVyZWQ9ITApLF8uc3JjPSIiLF8ubG9hZCgpLHooKX0se29uY2U6ITB9KX0se29uY2U6ITB9KSxfLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIiwoKT0+TyhuZXcgRXJyb3IoIkZhaWxlZCB0byBsb2FkIHZpZGVvIikpLHtvbmNlOiEwfSksXy5zcmM9dGhpcy5zcmN9KSx0aGlzLmxvYWRpbmc9ITEsYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSx0aGlzLmNvcHlUaHVtYm5haWxUb0NhbnZhcygpfWNhdGNoe3RoaXMubG9hZGluZz0hMSx0aGlzLmxvYWREdXJhdGlvbigpfX1sb2FkRHVyYXRpb24oKXtsZXQgXz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ2aWRlbyIpO18ucHJlbG9hZD0ibWV0YWRhdGEiLF8uYWRkRXZlbnRMaXN0ZW5lcigibG9hZGVkbWV0YWRhdGEiLCgpPT57dGhpcy5kdXJhdGlvbj1fLmR1cmF0aW9uLF8uc3JjPSIiLF8ubG9hZCgpfSksXy5zcmM9dGhpcy5zcmN9Y29weVRodW1ibmFpbFRvQ2FudmFzKCl7aWYoIXRoaXMudGh1bWJuYWlsQ2FudmFzKXJldHVybjtsZXQgXz10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi52aWRlby13cmFwcGVyIGNhbnZhcyIpO2lmKCFfKXJldHVybjtfLndpZHRoPXRoaXMudGh1bWJuYWlsQ2FudmFzLndpZHRoLF8uaGVpZ2h0PXRoaXMudGh1bWJuYWlsQ2FudmFzLmhlaWdodDtsZXQgej1fLmdldENvbnRleHQoIjJkIik7eiYmei5kcmF3SW1hZ2UodGhpcy50aHVtYm5haWxDYW52YXMsMCwwKX1vblRpbGVNb3VzZUVudGVyKCl7dGhpcy5pc0hvdmVyaW5nPSEwfW9uVGlsZU1vdXNlTGVhdmUoKXt0aGlzLmlzSG92ZXJpbmc9ITEsdGhpcy5ob3ZlclZpZGVvPW51bGx9aGFuZGxlSG92ZXJWaWRlb0xvYWRlZChfKXt0aGlzLmhvdmVyVmlkZW89Xy50YXJnZXQsdGhpcy5ob3ZlclZpZGVvLnBsYXkoKS5jYXRjaCgoKT0+e30pfWFzeW5jIHVwZGF0ZWQoXyl7c3VwZXIudXBkYXRlZChfKSxfLmhhcygic3JjIikmJnRoaXMuc3JjJiZ0aGlzLmlzVmlzaWJsZSYmKHRoaXMuaGFzU3RhcnRlZExvYWRpbmc9ITAsdGhpcy50aHVtYm5haWxDYXB0dXJlZD0hMSx0aGlzLmR1cmF0aW9uPTAsdGhpcy5jYXB0dXJlRmlyc3RGcmFtZSgpKSxfLmhhcygidGh1bWJuYWlsQ2FwdHVyZWQiKSYmdGhpcy50aHVtYm5haWxDYXB0dXJlZCYmKGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5jb3B5VGh1bWJuYWlsVG9DYW52YXMoKSl9YXN5bmMgZGlzY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5kaXNjb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuaG92ZXJWaWRlbyYmKHRoaXMuaG92ZXJWaWRlby5wYXVzZSgpLHRoaXMuaG92ZXJWaWRlby5zcmM9IiIsdGhpcy5ob3ZlclZpZGVvPW51bGwpLHRoaXMudGh1bWJuYWlsQ2FudmFzPW51bGx9Zm9ybWF0VGltZShfKXtpZighaXNGaW5pdGUoXyl8fF88MClyZXR1cm4iMDowMCI7bGV0IHo9TWF0aC5mbG9vcihfLzYwKSxPPU1hdGguZmxvb3IoXyU2MCk7cmV0dXJuYCR7en06JHtPLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfWB9c3RhdGlje0cxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBuZGE9ZigoKT0+e29kYSgpfSk7dmFyIGxkYSxjZGE9ZigoKT0+e2xlKCk7bGRhPXMoKCk9PntsZXQgYT1gaW1wb3J0IHsgaHRtbCB9IGZyb20gJ2xpdCc7CgpleHBvcnQgY2xhc3MgTXlDb21wb25lbnQgewogIHByaXZhdGUgaXRlbXM6IHN0cmluZ1tdID0gW107CgogIHJlbmRlcigpIHsKICAgIHJldHVybiBodG1sXGAKICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICBcJHt0aGlzLml0ZW1zLm1hcChpdGVtID0+IGh0bWxcYAogICAgICAgICAgPHNwYW4+XCR7aXRlbX08L3NwYW4+CiAgICAgICAgXGApfQogICAgICA8L2Rpdj4KICAgIFxgOwogIH0KfWAsZT1gTWVldGluZyBOb3RlcyAtIFE0IFBsYW5uaW5nCkRhdGU6IEphbnVhcnkgMTUsIDIwMjYKQXR0ZW5kZWVzOiBBbGljZSwgQm9iLCBDaGFybGllCgpLZXkgRGVjaXNpb25zOgoxLiBMYXVuY2ggbmV3IGZlYXR1cmUgYnkgTWFyY2gKMi4gSGlyZSAyIG1vcmUgZW5naW5lZXJzCjMuIE1pZ3JhdGUgdG8gbmV3IENJL0NEIHBpcGVsaW5lCjQuIFVwZGF0ZSBkZXNpZ24gc3lzdGVtIHRvIHYzCgpBY3Rpb24gSXRlbXM6Ci0gQWxpY2U6IERyYWZ0IFBSRCBieSBuZXh0IHdlZWsKLSBCb2I6IFNldCB1cCBpbnRlcnZpZXcgcGlwZWxpbmUKLSBDaGFybGllOiBFdmFsdWF0ZSBKZW5raW5zIHZzIEdpdEh1YiBBY3Rpb25zYDtyZXR1cm4gd2AKICAgIDxzdHlsZT4KICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7CiAgICAgIH0KICAgICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgICAgfQogICAgICBoMyB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQogICAgICAudGlsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgzPk5vdGUgVGlsZXM8L2gzPgogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICAgIDxkZWVzLXRodW1ibmFpbC1ub3RlCiAgICAgICAgICAgIHRpdGxlPSJjb21wb25lbnQudHMiCiAgICAgICAgICAgIC5jb250ZW50PSR7YX0KICAgICAgICAgICAgbGFuZ3VhZ2U9InR5cGVzY3JpcHQiCiAgICAgICAgICAgIGxhYmVsPSJjb21wb25lbnQudHMiCiAgICAgICAgICAgIEB0aWxlLWNsaWNrPSR7cj0+Y29uc29sZS5sb2coIk5vdGUgY2xpY2tlZDoiLHIuZGV0YWlsKX0KICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLW5vdGU+CgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLW5vdGUKICAgICAgICAgICAgdGl0bGU9Ik1lZXRpbmcgTm90ZXMiCiAgICAgICAgICAgIC5jb250ZW50PSR7ZX0KICAgICAgICAgICAgbGFiZWw9Im1lZXRpbmctbm90ZXMudHh0IgogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtbm90ZT4KCiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtbm90ZQogICAgICAgICAgICB0aXRsZT0icGFja2FnZS5qc29uIgogICAgICAgICAgICAuY29udGVudD0ke2B7CiAgIm5hbWUiOiAiQGRlc2lnbi5lc3RhdGUvZGVlcy1jYXRhbG9nIiwKICAidmVyc2lvbiI6ICIzLjM4LjAiLAogICJkZXNjcmlwdGlvbiI6ICJEZXNpZ24gY29tcG9uZW50IGNhdGFsb2ciLAogICJkZXBlbmRlbmNpZXMiOiB7CiAgICAiQGRlc2lnbi5lc3RhdGUvZGVlcy1lbGVtZW50IjogIl4yLjAuMCIsCiAgICAibGl0IjogIl4zLjEuMCIKICB9LAogICJzY3JpcHRzIjogewogICAgImJ1aWxkIjogInRzYnVpbGQiLAogICAgInRlc3QiOiAidHN0ZXN0IgogIH0KfWB9CiAgICAgICAgICAgIGxhbmd1YWdlPSJqc29uIgogICAgICAgICAgICBsYWJlbD0icGFja2FnZS5qc29uIgogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtbm90ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5TaXplIFZhcmlhbnRzPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtbm90ZQogICAgICAgICAgICBzaXplPSJzbWFsbCIKICAgICAgICAgICAgdGl0bGU9InNtYWxsLnRzIgogICAgICAgICAgICAuY29udGVudD0ke2F9CiAgICAgICAgICAgIGxhbmd1YWdlPSJ0cyIKICAgICAgICAgICAgbGFiZWw9InNtYWxsLnRzIgogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtbm90ZT4KCiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtbm90ZQogICAgICAgICAgICB0aXRsZT0iZGVmYXVsdC50cyIKICAgICAgICAgICAgLmNvbnRlbnQ9JHthfQogICAgICAgICAgICBsYW5ndWFnZT0idHMiCiAgICAgICAgICAgIGxhYmVsPSJkZWZhdWx0LnRzIgogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtbm90ZT4KCiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtbm90ZQogICAgICAgICAgICBzaXplPSJsYXJnZSIKICAgICAgICAgICAgdGl0bGU9ImxhcmdlLnRzIgogICAgICAgICAgICAuY29udGVudD0ke2F9CiAgICAgICAgICAgIGxhbmd1YWdlPSJ0cyIKICAgICAgICAgICAgbGFiZWw9ImxhcmdlLnRzIgogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtbm90ZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5XaXRob3V0IFRpdGxlPC9oMz4KICAgICAgICA8ZGVlcy10aHVtYm5haWwtbm90ZQogICAgICAgICAgLmNvbnRlbnQ9JHtlfQogICAgICAgICAgbGFiZWw9InVudGl0bGVkLnR4dCIKICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1ub3RlPgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIGB9LCJkZW1vIil9KTt2YXIgbkcsTmMsZGRhLHVkYT1mKCgpPT57bGUoKTtINCgpO0ljKCk7Y2RhKCk7bkc9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LE5jPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxkZGE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXRodW1ibmFpbC1ub3RlIildLGUsdD1bXSxyLGk9aW8sbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNUaHVtYm5haWxOb3RlIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGs9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sdT1bJCh7dHlwZTpTdHJpbmd9KV0seD1bSygpXSxuRyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRpdGxlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJ0aXRsZSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnRpdGxlLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MudGl0bGU9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxuLGwpLG5HKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iY29udGVudCJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmNvbnRlbnQsImdldCIpLHNldDpzKChDLE4pPT57Qy5jb250ZW50PU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYyxwKSxuRyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imxhbmd1YWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJsYW5ndWFnZSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmxhbmd1YWdlLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MubGFuZ3VhZ2U9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxtLHYpLG5HKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNIb3ZlcmluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iaXNIb3ZlcmluZyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmlzSG92ZXJpbmcsImdldCIpLHNldDpzKChDLE4pPT57Qy5pc0hvdmVyaW5nPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYixnKSxuRyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTprfSxudWxsLHQpLHk9cj1lLnZhbHVlLGsmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6a30pfXN0YXRpYyBkZW1vPWxkYTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk1lZGlhIl07c3RhdGljIHN0eWxlcz1bLi4uTmksUWAKICAgICAgLm5vdGUtY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCJoc2woNjAgNSUgOTYlKSIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAubm90ZS1oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDEycHggMTRweCA4cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5ub3RlLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMjAlIDIwJSkiLCJoc2woMjE1IDIwJSAyMCUpIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBsaW5lLWhlaWdodDogMS4zOwogICAgICB9CgogICAgICAubm90ZS1ib2R5IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIHBhZGRpbmc6IDAgMTRweCAxNHB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAubm90ZS10ZXh0IHsKICAgICAgICBmb250LWZhbWlseTogdWktbW9ub3NwYWNlLCBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTAlIDQwJSkiLCJoc2woMjE1IDEwJSAzNSUpIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsKICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC5ub3RlLWZhZGUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDYwcHg7CiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KAogICAgICAgICAgdHJhbnNwYXJlbnQsCiAgICAgICAgICAke2guYmRUaGVtZSgiI2ZmZmZmZiIsImhzbCg2MCA1JSA5NiUpIil9CiAgICAgICAgKTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLm5vdGUtbGluZXMgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgICAgd2lkdGg6IDM0cHg7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDcwJSA4NSUpIiwiaHNsKDAgNTAlIDgwJSkiKX07CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICB9CgogICAgICAubGluZS1udW1iZXIgewogICAgICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogOXB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4OyAvKiBtYXRjaGVzIDEwcHggKiAxLjUgbGluZS1oZWlnaHQgKi8KICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTAlIDc1JSkiLCJoc2woMjE1IDEwJSA3MCUpIil9OwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDsKICAgICAgfQoKICAgIGBdOyNlPU5jKHRoaXMsbiwiIik7Z2V0IHRpdGxlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHRpdGxlKGspe3RoaXMuI2U9a30jdD0oTmModGhpcyxsKSxOYyh0aGlzLGMsIiIpKTtnZXQgY29udGVudCgpe3JldHVybiB0aGlzLiN0fXNldCBjb250ZW50KGspe3RoaXMuI3Q9a30jYT0oTmModGhpcyxwKSxOYyh0aGlzLG0sIiIpKTtnZXQgbGFuZ3VhZ2UoKXtyZXR1cm4gdGhpcy4jYX1zZXQgbGFuZ3VhZ2Uoayl7dGhpcy4jYT1rfSNyPShOYyh0aGlzLHYpLE5jKHRoaXMsYiwhMSkpO2dldCBpc0hvdmVyaW5nKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGlzSG92ZXJpbmcoayl7dGhpcy4jcj1rfW5vdGVCb2R5RWxlbWVudD0oTmModGhpcyxnKSxudWxsKTtyZW5kZXJUaWxlQ29udGVudCgpe2xldCBrPXRoaXMuY29udGVudC5zcGxpdChgCmApO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJub3RlLWNvbnRlbnQiPgogICAgICAgICR7dGhpcy50aXRsZT93YAogICAgICAgICAgPGRpdiBjbGFzcz0ibm90ZS1oZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJub3RlLXRpdGxlIj4ke3RoaXMudGl0bGV9PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQoKICAgICAgICA8ZGl2IGNsYXNzPSJub3RlLWJvZHkiPgogICAgICAgICAgPHByZSBjbGFzcz0ibm90ZS10ZXh0Ij4ke2suam9pbihgCmApfTwvcHJlPgogICAgICAgICAgJHt0aGlzLmlzSG92ZXJpbmc/IiI6d2A8ZGl2IGNsYXNzPSJub3RlLWZhZGUiPjwvZGl2PmB9CiAgICAgICAgPC9kaXY+CgogICAgICA8L2Rpdj4KCiAgICAgICR7dGhpcy5jbGlja2FibGU/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLW92ZXJsYXkiPgogICAgICAgICAgPGRlZXMtaWNvbiBpY29uPSJsdWNpZGU6RmlsZVRleHQiPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+T3BlbiBOb3RlPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgYH1yZW5kZXJCb3R0b21CYXIoKXtsZXQgaz10aGlzLmNvbnRlbnQuc3BsaXQoYApgKTtyZXR1cm4hdGhpcy5sYWJlbCYmIXRoaXMubGFuZ3VhZ2UmJiFrLmxlbmd0aD8iIjp3YAogICAgICA8ZGl2IGNsYXNzPSJ0aWxlLWluZm8tYmFyIj4KICAgICAgICAke3RoaXMubGFiZWw/d2A8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCIgdGl0bGU9IiR7dGhpcy5sYWJlbH0iPiR7dGhpcy5sYWJlbH08L3NwYW4+YDoiIn0KICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1zcGFjZXIiPjwvc3Bhbj4KICAgICAgICAke3RoaXMubGFuZ3VhZ2U/d2A8c3BhbiBjbGFzcz0iaW5mby1kZXRhaWwiPiR7dGhpcy5sYW5ndWFnZS50b1VwcGVyQ2FzZSgpfTwvc3Bhbj5gOiIifQogICAgICAgICR7dGhpcy5pc0hvdmVyaW5nJiZrLmxlbmd0aD4xMj93YDxzcGFuIGNsYXNzPSJpbmZvLWRldGFpbCI+TGluZSAke3RoaXMuZ2V0VmlzaWJsZUxpbmVSYW5nZShrLmxlbmd0aCl9PC9zcGFuPmA6d2A8c3BhbiBjbGFzcz0iaW5mby1kZXRhaWwiPiR7ay5sZW5ndGh9IGxpbmVzPC9zcGFuPmB9CiAgICAgIDwvZGl2PgogICAgYH1nZXRUaWxlQ2xpY2tEZXRhaWwoKXtyZXR1cm57dGl0bGU6dGhpcy50aXRsZSxjb250ZW50OnRoaXMuY29udGVudCxsYW5ndWFnZTp0aGlzLmxhbmd1YWdlfX1vblRpbGVNb3VzZUVudGVyKCl7dGhpcy5pc0hvdmVyaW5nPSEwLHRoaXMubm90ZUJvZHlFbGVtZW50fHwodGhpcy5ub3RlQm9keUVsZW1lbnQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIubm90ZS1ib2R5IikpfW9uVGlsZU1vdXNlTGVhdmUoKXt0aGlzLmlzSG92ZXJpbmc9ITEsdGhpcy5ub3RlQm9keUVsZW1lbnQmJih0aGlzLm5vdGVCb2R5RWxlbWVudC5zY3JvbGxUb3A9MCl9b25UaWxlTW91c2VNb3ZlKGspe2lmKCF0aGlzLmlzSG92ZXJpbmd8fCF0aGlzLm5vdGVCb2R5RWxlbWVudHx8dGhpcy5jb250ZW50LnNwbGl0KGAKYCkubGVuZ3RoPD0xMilyZXR1cm47bGV0IE49dGhpcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxfPWsuY2xpZW50WC1OLmxlZnQsej1NYXRoLm1heCgwLE1hdGgubWluKDEsXy9OLndpZHRoKSksTz10aGlzLm5vdGVCb2R5RWxlbWVudC5zY3JvbGxIZWlnaHQtdGhpcy5ub3RlQm9keUVsZW1lbnQuY2xpZW50SGVpZ2h0O3RoaXMubm90ZUJvZHlFbGVtZW50LnNjcm9sbFRvcD16Kk99Z2V0VmlzaWJsZUxpbmVSYW5nZShrKXtpZighdGhpcy5ub3RlQm9keUVsZW1lbnQpcmV0dXJuYDFcdTIwMTMxMiBvZiAke2t9YDtsZXQgQz0xNSxOPU1hdGguZmxvb3IodGhpcy5ub3RlQm9keUVsZW1lbnQuc2Nyb2xsVG9wL0MpKzEsXz1NYXRoLmZsb29yKHRoaXMubm90ZUJvZHlFbGVtZW50LmNsaWVudEhlaWdodC9DKSx6PU1hdGgubWluKE4rXy0xLGspO3JldHVybmAke059XHUyMDEzJHt6fSBvZiAke2t9YH1zdGF0aWN7TmMocix0KX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIHBkYT1mKCgpPT57dWRhKCl9KTt2YXIgZmRhLGhkYT1mKCgpPT57bGUoKTtmZGE9cygoKT0+e2xldCBhPVt7dHlwZToiaW1hZ2UiLG5hbWU6InN1bnNldC5qcGciLHRodW1ibmFpbFNyYzoiaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzIwMC8yMDA/cmFuZG9tPTEifSx7dHlwZToiaW1hZ2UiLG5hbWU6Im1vdW50YWluLmpwZyIsdGh1bWJuYWlsU3JjOiJodHRwczovL3BpY3N1bS5waG90b3MvMjAwLzIwMD9yYW5kb209MiJ9LHt0eXBlOiJpbWFnZSIsbmFtZToib2NlYW4uanBnIix0aHVtYm5haWxTcmM6Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8yMDAvMjAwP3JhbmRvbT0zIn0se3R5cGU6ImltYWdlIixuYW1lOiJmb3Jlc3QuanBnIix0aHVtYm5haWxTcmM6Imh0dHBzOi8vcGljc3VtLnBob3Rvcy8yMDAvMjAwP3JhbmRvbT00In0se3R5cGU6ImltYWdlIixuYW1lOiJjaXR5LmpwZyIsdGh1bWJuYWlsU3JjOiJodHRwczovL3BpY3N1bS5waG90b3MvMjAwLzIwMD9yYW5kb209NSJ9LHt0eXBlOiJpbWFnZSIsbmFtZToiZGVzZXJ0LmpwZyIsdGh1bWJuYWlsU3JjOiJodHRwczovL3BpY3N1bS5waG90b3MvMjAwLzIwMD9yYW5kb209NiJ9XTtyZXR1cm4gd2AKICAgIDxzdHlsZT4KICAgICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nOiA0MHB4OwogICAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7CiAgICAgIH0KICAgICAgLmRlbW8tc2VjdGlvbiB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDsKICAgICAgfQogICAgICBoMyB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQogICAgICAudGlsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgfQogICAgPC9zdHlsZT4KCiAgICA8ZGl2IGNsYXNzPSJkZW1vLWNvbnRhaW5lciI+CiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgzPkZvbGRlciBUaWxlczwvaDM+CiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1yb3ciPgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWZvbGRlcgogICAgICAgICAgICBuYW1lPSJQaG90b3MiCiAgICAgICAgICAgIC5pdGVtcz0ke2F9CiAgICAgICAgICAgIGxhYmVsPSI2IHBob3RvcyIKICAgICAgICAgICAgQHRpbGUtY2xpY2s9JHtvPT5jb25zb2xlLmxvZygiRm9sZGVyIGNsaWNrZWQ6IixvLmRldGFpbCl9CiAgICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1mb2xkZXI+CgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWZvbGRlcgogICAgICAgICAgICBuYW1lPSJteS1wcm9qZWN0IgogICAgICAgICAgICAuaXRlbXM9JHtbe3R5cGU6Im5vdGUiLG5hbWU6IlJFQURNRS5tZCJ9LHt0eXBlOiJub3RlIixuYW1lOiJwYWNrYWdlLmpzb24ifSx7dHlwZToiZm9sZGVyIixuYW1lOiJzcmMifSx7dHlwZToiZm9sZGVyIixuYW1lOiJ0ZXN0In0se3R5cGU6Im5vdGUiLG5hbWU6InRzY29uZmlnLmpzb24ifSx7dHlwZToicGRmIixuYW1lOiJkb2NzLnBkZiJ9LHt0eXBlOiJpbWFnZSIsbmFtZToibG9nby5wbmciLHRodW1ibmFpbFNyYzoiaHR0cHM6Ly9waWNzdW0ucGhvdG9zLzEwMC8xMDA/cmFuZG9tPTEwIn1dfQogICAgICAgICAgICBsYWJlbD0iUHJvamVjdCBmaWxlcyIKICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLWZvbGRlcj4KCiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtZm9sZGVyCiAgICAgICAgICAgIG5hbWU9Ik1lZGlhIEFzc2V0cyIKICAgICAgICAgICAgLml0ZW1zPSR7W3t0eXBlOiJ2aWRlbyIsbmFtZToiaW50cm8ubXA0In0se3R5cGU6ImF1ZGlvIixuYW1lOiJiYWNrZ3JvdW5kLm1wMyJ9LHt0eXBlOiJpbWFnZSIsbmFtZToidGh1bWJuYWlsLmpwZyIsdGh1bWJuYWlsU3JjOiJodHRwczovL3BpY3N1bS5waG90b3MvMjAwLzIwMD9yYW5kb209MjAifSx7dHlwZToicGRmIixuYW1lOiJzdG9yeWJvYXJkLnBkZiJ9XX0KICAgICAgICAgICAgbGFiZWw9Ik1peGVkIG1lZGlhIgogICAgICAgICAgPjwvZGVlcy10aHVtYm5haWwtZm9sZGVyPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgICAgPGgzPkVkZ2UgQ2FzZXM8L2gzPgogICAgICAgIDxkaXYgY2xhc3M9InRpbGUtcm93Ij4KICAgICAgICAgIDxkZWVzLXRodW1ibmFpbC1mb2xkZXIKICAgICAgICAgICAgbmFtZT0iRW1wdHkgRm9sZGVyIgogICAgICAgICAgICAuaXRlbXM9JHtbXX0KICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLWZvbGRlcj4KCiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtZm9sZGVyCiAgICAgICAgICAgIG5hbWU9IlNpbmdsZSBJdGVtIgogICAgICAgICAgICAuaXRlbXM9JHtbe3R5cGU6InBkZiIsbmFtZToicmVwb3J0LnBkZiJ9XX0KICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLWZvbGRlcj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJkZW1vLXNlY3Rpb24iPgogICAgICAgIDxoMz5TaXplIFZhcmlhbnRzPC9oMz4KICAgICAgICA8ZGl2IGNsYXNzPSJ0aWxlLXJvdyI+CiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtZm9sZGVyCiAgICAgICAgICAgIHNpemU9InNtYWxsIgogICAgICAgICAgICBuYW1lPSJTbWFsbCIKICAgICAgICAgICAgLml0ZW1zPSR7YX0KICAgICAgICAgID48L2RlZXMtdGh1bWJuYWlsLWZvbGRlcj4KCiAgICAgICAgICA8ZGVlcy10aHVtYm5haWwtZm9sZGVyCiAgICAgICAgICAgIG5hbWU9IkRlZmF1bHQiCiAgICAgICAgICAgIC5pdGVtcz0ke2F9CiAgICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1mb2xkZXI+CgogICAgICAgICAgPGRlZXMtdGh1bWJuYWlsLWZvbGRlcgogICAgICAgICAgICBzaXplPSJsYXJnZSIKICAgICAgICAgICAgbmFtZT0iTGFyZ2UiCiAgICAgICAgICAgIC5pdGVtcz0ke2F9CiAgICAgICAgICA+PC9kZWVzLXRodW1ibmFpbC1mb2xkZXI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYH0sImRlbW8iKX0pO3ZhciBHUWUsbEcsbWRhLGdkYSxiZGE9ZigoKT0+e2xlKCk7SDQoKTtJYygpO2hkYSgpO0dRZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sbEc9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LG1kYT17cGRmOiJsdWNpZGU6RmlsZVRleHQiLGltYWdlOiJsdWNpZGU6SW1hZ2UiLGF1ZGlvOiJsdWNpZGU6TXVzaWMiLHZpZGVvOiJsdWNpZGU6VmlkZW8iLG5vdGU6Imx1Y2lkZTpGaWxlQ29kZSIsZm9sZGVyOiJsdWNpZGU6Rm9sZGVyIix1bmtub3duOiJsdWNpZGU6RmlsZSJ9LGdkYT0oKCk9PntsZXQgYT1baWUoImRlZXMtdGh1bWJuYWlsLWZvbGRlciIpXSxlLHQ9W10scixpPWlvLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzVGh1bWJuYWlsRm9sZGVyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7YXR0cmlidXRlOiExfSldLEdRZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+Im5hbWUiaW4gdiwiaGFzIiksZ2V0OnModj0+di5uYW1lLCJnZXQiKSxzZXQ6cygodix4KT0+e3YubmFtZT14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksR1FlKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXRlbXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+Iml0ZW1zImluIHYsImhhcyIpLGdldDpzKHY9PnYuaXRlbXMsImdldCIpLHNldDpzKCh2LHgpPT57di5pdGVtcz14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksR1FlKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89ZmRhO3N0YXRpYyBkZW1vR3JvdXBzPVsiTWVkaWEiXTtzdGF0aWMgc3R5bGVzPVsuLi5OaSxRYAogICAgICAuZm9sZGVyLWNvbnRlbnQgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woNDAgMzAlIDk3JSkiLCJoc2woMjE1IDIwJSAxNCUpIil9OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5mb2xkZXItaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNHB4IDhweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmZvbGRlci1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woNDAgODAlIDUwJSkiLCJoc2woNDAgNzAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5mb2xkZXItbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDIwJSAyMCUpIiwiaHNsKDIxNSAxNiUgODAlKSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLnByZXZpZXctZ3JpZCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgcGFkZGluZzogMCAxNHB4IDE0cHg7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgfQoKICAgICAgLmdyaWQtY2VsbCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDIwJSA5NCUpIiwiaHNsKDIxNSAyMCUgMTglKSIpfTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5ncmlkLWNlbGwgaW1nIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5ncmlkLWNlbGwgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE1IDE2JSA2MCUpIiwiaHNsKDIxNSAxNiUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLmdyaWQtY2VsbC1lbXB0eSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTUgMTUlIDk2JSkiLCJoc2woMjE1IDIwJSAxNiUpIil9OwogICAgICB9CgogICAgYF07I2U9bEcodGhpcyxuLCIiKTtnZXQgbmFtZSgpe3JldHVybiB0aGlzLiNlfXNldCBuYW1lKG0pe3RoaXMuI2U9bX0jdD0obEcodGhpcyxsKSxsRyh0aGlzLGMsW10pKTtnZXQgaXRlbXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgaXRlbXMobSl7dGhpcy4jdD1tfXJlbmRlclRpbGVDb250ZW50KCl7bGV0IG09dGhpcy5pdGVtcy5zbGljZSgwLDQpLHY9NC1tLmxlbmd0aDtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZm9sZGVyLWNvbnRlbnQiPgogICAgICAgIDxkaXYgY2xhc3M9ImZvbGRlci1oZWFkZXIiPgogICAgICAgICAgPGRlZXMtaWNvbiBjbGFzcz0iZm9sZGVyLWljb24iIGljb249Imx1Y2lkZTpGb2xkZXIiPjwvZGVlcy1pY29uPgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9sZGVyLW5hbWUiPiR7dGhpcy5uYW1lfHwiVW50aXRsZWQgRm9sZGVyIn08L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0icHJldmlldy1ncmlkIj4KICAgICAgICAgICR7bS5tYXAoeD0+d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1jZWxsIj4KICAgICAgICAgICAgICAke3gudGh1bWJuYWlsU3JjP3dgCiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iJHt4LnRodW1ibmFpbFNyY30iIGFsdD0iJHt4Lm5hbWV9IiAvPgogICAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0iJHttZGFbeC50eXBlXXx8bWRhLnVua25vd259Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICBgfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgICAgJHtBcnJheS5mcm9tKHtsZW5ndGg6dn0pLm1hcCgoKT0+d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZC1jZWxsIGdyaWQtY2VsbC1lbXB0eSI+PC9kaXY+CiAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICAke3RoaXMuY2xpY2thYmxlP3dgCiAgICAgICAgPGRpdiBjbGFzcz0idGlsZS1vdmVybGF5Ij4KICAgICAgICAgIDxkZWVzLWljb24gaWNvbj0ibHVjaWRlOkZvbGRlck9wZW4iPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+T3BlbiBGb2xkZXI8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CiAgICBgfXJlbmRlckJvdHRvbUJhcigpe3JldHVybiF0aGlzLmxhYmVsJiYhdGhpcy5pdGVtcy5sZW5ndGg/IiI6d2AKICAgICAgPGRpdiBjbGFzcz0idGlsZS1pbmZvLWJhciI+CiAgICAgICAgJHt0aGlzLmxhYmVsP3dgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiIHRpdGxlPSIke3RoaXMubGFiZWx9Ij4ke3RoaXMubGFiZWx9PC9zcGFuPmA6IiJ9CiAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tc3BhY2VyIj48L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tZGV0YWlsIj4ke3RoaXMuaXRlbXMubGVuZ3RofSBpdGVtJHt0aGlzLml0ZW1zLmxlbmd0aCE9PTE/InMiOiIifTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICBgfWdldFRpbGVDbGlja0RldGFpbCgpe3JldHVybntuYW1lOnRoaXMubmFtZSxpdGVtQ291bnQ6dGhpcy5pdGVtcy5sZW5ndGgsaXRlbXM6dGhpcy5pdGVtc319Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGxHKHRoaXMscCl9c3RhdGlje2xHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciB2ZGE9ZigoKT0+e2JkYSgpfSk7dmFyIHhkYT1mKCgpPT57YjNhKCk7dzNhKCk7ejNhKCk7TjNhKCk7UjNhKCk7TzNhKCk7RjNhKCk7VzNhKCk7WDNhKCk7YWRhKCk7bmRhKCk7cGRhKCk7dmRhKCl9KTt2YXIgeWRhPWYoKCk9PntZcigpfSk7dmFyIHdkYT1mKCgpPT57cGMoKX0pO3ZhciBNZGEsa2RhPWYoKCk9PntsZSgpO01kYT1zKCgpPT53YAogICAgPHN0eWxlPgogICAgICAucmVmMSB7CiAgICAgICAgbWFyZ2luOiAyMHB4OwogICAgICAgIHdpZHRoOiAxMHB4OwogICAgICAgIGhlaWdodDogMTBweDsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJyZWYxIj48L2Rpdj4KICAgIDxkZWVzLXNwZWVjaGJ1YmJsZSAudGV4dD0ke2AKICAgICAgKipUaGlzIGlzIGEgbG9uZ2VyIG1hcmtkb3duIHRleHQgdGhhdCAgY2FuIGJlIHVzZWQgdGhlIHdyaXRlKiogIAogICAgICBhIGxvbmdlciBkZXNjcmlwdGlvbiBhYm91dCB3aGF0cyBnb2luZyBvbiB0aGUgYXBwICAKICAKICAgICAgKipUaGlzIGlzIGEgc3ViaGVhZGVyKioKICAgICAgYW5kIGFub3RoZXIgdGV4dAogICAgCiAgICBgfT48L2RlZXMtc3BlZWNoYnViYmxlPgogIGAsImRlbW9GdW5jIil9KTt2YXIgczcsWTEsU2RhLHpkYT1mKCgpPT57VDEoKTtWcygpO2tkYSgpO2xlKCk7dzEoKTtRZSgpO3M3PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxZMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sU2RhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy1zcGVlY2hidWJibGUiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXTt2YXIgTj1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1NwZWVjaGJ1YmJsZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6U3RyaW5nLHJlZmxlY3Q6ITB9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSx5PVskKHt0eXBlOlN0cmluZ30pXSxzNyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJlZmZlZEVsZW1lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InJlZmZlZEVsZW1lbnQiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5yZWZmZWRFbGVtZW50LCJnZXQiKSxzZXQ6cygoeixPKT0+e3oucmVmZmVkRWxlbWVudD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCksczcodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0ZXh0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJ0ZXh0ImluIHosImhhcyIpLGdldDpzKHo9PnoudGV4dCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnRleHQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxjLHApLHM3KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToid2F2ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4id2F2ZSJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LndhdmUsImdldCIpLHNldDpzKCh6LE8pPT57ei53YXZlPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbSx2KSxzNyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1hbmlmZXN0ZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Im1hbmlmZXN0ZWQiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5tYW5pZmVzdGVkLCJnZXQiKSxzZXQ6cygoeixPKT0+e3oubWFuaWZlc3RlZD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZyksczcodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InN0YXR1cyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnN0YXR1cywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnN0YXR1cz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksczcobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX1zdGF0aWMgZGVtbz1NZGE7c3RhdGljIGRlbW9Hcm91cHM9WyJPdmVybGF5Il07c3RhdGljIGFzeW5jIGNyZWF0ZUFuZFNob3coXyx6KXtsZXQgTz1hd2FpdCBqcy5jcmVhdGVBbmRTaG93KHtibHVyOiExfSksVD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkZWVzLXNwZWVjaGJ1YmJsZSIpO3JldHVybiBULndpbmRvd0xheWVyPU8sVC5yZWZmZWRFbGVtZW50PV8sVC50ZXh0PXosVC5tYW5pZmVzdGVkPSEwLE8uYXBwZW5kQ2hpbGQoVCksTy5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixPLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLndpbmRvd092ZXJsYXkiKS5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixUfSNlPVkxKHRoaXMsbix2b2lkIDApO2dldCByZWZmZWRFbGVtZW50KCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJlZmZlZEVsZW1lbnQoXyl7dGhpcy4jZT1ffSN0PShZMSh0aGlzLGwpLFkxKHRoaXMsYyx2b2lkIDApKTtnZXQgdGV4dCgpe3JldHVybiB0aGlzLiN0fXNldCB0ZXh0KF8pe3RoaXMuI3Q9X30jYT0oWTEodGhpcyxwKSxZMSh0aGlzLG0sITEpKTtnZXQgd2F2ZSgpe3JldHVybiB0aGlzLiNhfXNldCB3YXZlKF8pe3RoaXMuI2E9X30jcj0oWTEodGhpcyx2KSxZMSh0aGlzLGIsITEpKTtnZXQgbWFuaWZlc3RlZCgpe3JldHVybiB0aGlzLiNyfXNldCBtYW5pZmVzdGVkKF8pe3RoaXMuI3I9X30jcz0oWTEodGhpcyxnKSxZMSh0aGlzLGssIm5vcm1hbCIpKTtnZXQgc3RhdHVzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHN0YXR1cyhfKXt0aGlzLiNzPV99d2luZG93TGF5ZXI9WTEodGhpcyxDKTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCl9c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIC8qIFRPRE86IE1pZ3JhdGUgaGFyZGNvZGVkIHZhbHVlcyB0byAtLWRlZXMtKiBDU1MgdmFyaWFibGVzICovCiAgICAgIDpob3N0IHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzMzMyIsIiNmZmYiKX07CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5tYWluY29udGFpbmVyIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yczsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsKICAgICAgICBtYXJnaW4tbGVmdDogMHB4OwogICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMHB4IDBweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpKTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOwogICAgICB9CgogICAgICAuYXJyb3cgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmYiLCIjMzMzIil9OwogICAgICAgIGhlaWdodDogMTVweDsKICAgICAgICB3aWR0aDogMTVweDsKICAgICAgICBsZWZ0OiAycHg7CiAgICAgICAgdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgfQoKICAgICAgLnNwZWVjaGJ1YmJsZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmYiLCIjMzMzIil9OwogICAgICAgIHBhZGRpbmc6IDBweCAxNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbWluLXdpZHRoOiAyNDBweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgbGVmdDogOHB4OwogICAgICB9CgogICAgICAud2F2ZSB7CiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHdhdmUtYW5pbWF0aW9uOyAvKiBSZWZlcnMgdG8gdGhlIG5hbWUgb2YgeW91ciBAa2V5ZnJhbWVzIGVsZW1lbnQgYmVsb3cgKi8KICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDIuNXM7IC8qIENoYW5nZSB0byBzcGVlZCB1cCBvciBzbG93IGRvd24gKi8KICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgLyogTmV2ZXIgc3RvcCB3YXZpbmcgOikgKi8KICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA3MCUgNzAlOyAvKiBQaXZvdCBhcm91bmQgdGhlIGJvdHRvbS1sZWZ0IHBhbG0gKi8KICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgd2F2ZS1hbmltYXRpb24gewogICAgICAgIDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICAgIH0KICAgICAgICAxMCUgewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTRkZWcpOwogICAgICAgIH0gLyogVGhlIGZvbGxvd2luZyBmaXZlIHZhbHVlcyBjYW4gYmUgcGxheWVkIHdpdGggdG8gbWFrZSB0aGUgd2F2aW5nIG1vcmUgb3IgbGVzcyBleHRyZW1lICovCiAgICAgICAgMjAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC04ZGVnKTsKICAgICAgICB9CiAgICAgICAgMzAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE0ZGVnKTsKICAgICAgICB9CiAgICAgICAgNDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00ZGVnKTsKICAgICAgICB9CiAgICAgICAgNTAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEwZGVnKTsKICAgICAgICB9CiAgICAgICAgNjAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICAgIH0gLyogUmVzZXQgZm9yIHRoZSBsYXN0IGhhbGYgdG8gcGF1c2UgKi8KICAgICAgICAxMDAlIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICAgIH0KICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgICR7dGhpcy5tYW5pZmVzdGVkP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1haW5jb250YWluZXIiIEBjbGljaz0ke3RoaXMuaGFuZGxlQ2xpY2t9PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFycm93Ij48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGVlY2hidWJibGUiPgogICAgICAgICAgICAgICAgJHt0aGlzLndhdmU/d2A8c3BhbiBjbGFzcz0id2F2ZSI+8J+Rizwvc3Bhbj5gOndgYH0KICAgICAgICAgICAgICAgICR7S28ucmVzb2x2ZSh0aGlzLmdldEh0bWwoKSl9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDp3YGB9CiAgICBgfWFzeW5jIGhhbmRsZUNsaWNrKCl7Y29uc29sZS5sb2coInNwZWVjaGJ1YmJsZSBnb3QgY2xpY2tlZC4iKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXtpZih0aGlzLnJlZmZlZEVsZW1lbnR8fCh0aGlzLnJlZmZlZEVsZW1lbnQ9dGhpcy5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSx0aGlzLm1hbmlmZXN0ZWQpYXdhaXQgdGhpcy51cGRhdGVQb3NpdGlvbigpLHRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIubWFpbmNvbnRhaW5lciIpLnN0eWxlLm9wYWNpdHk9IjEiO2Vsc2V7bGV0IF87dGhpcy5yZWZmZWRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlZW50ZXIiLGFzeW5jKCk9PntfPWF3YWl0IE4uY3JlYXRlQW5kU2hvdyh0aGlzLnJlZmZlZEVsZW1lbnQsdGhpcy50ZXh0KX0pLHRoaXMucmVmZmVkRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWxlYXZlIiwoKT0+e18uZGVzdHJveSgpfSl9fWFzeW5jIHVwZGF0ZVBvc2l0aW9uKCl7bGV0IF89dGhpcy5yZWZmZWRFbGVtZW50LHo9Xy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTt0aGlzLnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdGhpcy5zdHlsZS50b3A9YCR7ei50b3AtMTN9cHhgLHRoaXMuc3R5bGUubGVmdD1gJHt6LmxlZnQrXy5jbGllbnRXaWR0aCs0fXB4YCx6LnJpZ2h0PjI1MCYmKHRoaXMuc3R5bGUud2lkdGg9IjI1MHB4Iil9YXN5bmMgZ2V0SHRtbCgpe2lmKCF0aGlzLnRleHQpcmV0dXJuIiI7bGV0IF89QXQucGx1Z2lucy5zbWFydHN0cmluZy5ub3JtYWxpemUuc3RhbmRhcmQodGhpcy50ZXh0KSx6PWF3YWl0IEF0LnBsdWdpbnMuc21hcnRtYXJrZG93bi5TbWFydE1hcmtkb3duLmVhc3lNYXJrZG93blRvSHRtbChfKTtyZXR1cm4geGIoeil9YXN5bmMgc2hvdygpe31hc3luYyBkZXN0cm95KCl7dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5tYWluY29udGFpbmVyIikuc3R5bGUub3BhY2l0eT0iMCIsdGhpcy53aW5kb3dMYXllci5kZXN0cm95KCl9c3RhdGlje1kxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBDZGE9ZigoKT0+e3pkYSgpfSk7dmFyIF9kYT1mKCgpPT57dzEoKX0pO3ZhciBUZGE9ZigoKT0+e3lkYSgpO3dkYSgpO0NkYSgpO19kYSgpfSk7dmFyIExkYT1mKCgpPT57fSk7dmFyICRkYT1mKCgpPT57TGRhKCl9KTt2YXIgRGRhLFhzZSxRc2UsWVFlLEFkYSxKc2UsZWllLHRpZSxhaWU9ZigoKT0+e0RkYT0iaHR0cHM6Ly9zdGFja2JsaXR6LmNvbSIsWHNlPSJjb2RlIixRc2U9ImVycm9yIixZUWU9ImVycm9yX2Rlc2NyaXB0aW9uIixBZGE9Il9fd2NfYXBpX2JjX18iLEpzZT0iX193Y19hcGlfdG9rZW5zX18iLGVpZT0iX193Y19hcGlfdmVyaWZpZXJfXyIsdGllPSJfX3djX2FwaV9wb3B1cF9fIn0pO3ZhciB4NSxLUWU9ZigoKT0+e3g1PWNsYXNze3N0YXRpY3tzKHRoaXMsIlR5cGVkRXZlbnRUYXJnZXQiKX1fYnVzPW5ldyBFdmVudFRhcmdldDtsaXN0ZW4oZSl7ZnVuY3Rpb24gdChyKXtlKHIuZGF0YSl9cmV0dXJuIHModCwid3JhcHBlZExpc3RlbmVyIiksdGhpcy5fYnVzLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHQpLCgpPT50aGlzLl9idXMucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdCl9ZmlyZUV2ZW50KGUpe3RoaXMuX2J1cy5kaXNwYXRjaEV2ZW50KG5ldyBNZXNzYWdlRXZlbnQoIm1lc3NhZ2UiLHtkYXRhOmV9KSl9fX0pO2Z1bmN0aW9uIHJpZSgpe2xvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKEpzZSl9ZnVuY3Rpb24gUmRhKGEpe3JldHVybiBQZGEubGlzdGVuKGEpfWZ1bmN0aW9uIGpJYSgpe2xldCBhPWxvY2FsU3RvcmFnZS5nZXRJdGVtKEpzZSk7aWYoIWEpcmV0dXJuIG51bGw7dHJ5e3JldHVybiBKU09OLnBhcnNlKGEpfWNhdGNoe3JldHVybiBudWxsfX1mdW5jdGlvbiBVSWEoYSl7bG9jYWxTdG9yYWdlLnNldEl0ZW0oSnNlLEpTT04uc3RyaW5naWZ5KGEpKX1mdW5jdGlvbiBJZGEoe2NyZWF0ZWRfYXQ6YSxleHBpcmVzX2luOmV9KXtyZXR1cm4oYStlKSoxZTN9ZnVuY3Rpb24gTmRhKGEpe2lmKHR5cGVvZiBhIT0ib2JqZWN0Inx8IWEpdGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIFRva2VuIFJlc3BvbnNlIik7aWYodHlwZW9mIGEuYWNjZXNzX3Rva2VuIT0ic3RyaW5nInx8dHlwZW9mIGEucmVmcmVzaF90b2tlbiE9InN0cmluZyJ8fHR5cGVvZiBhLmNyZWF0ZWRfYXQhPSJudW1iZXIifHx0eXBlb2YgYS5leHBpcmVzX2luIT0ibnVtYmVyIil0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgVG9rZW4gUmVzcG9uc2UiKX1mdW5jdGlvbiBXSWEoYSl7cmV0dXJuIG5ldyBQcm9taXNlKGU9PnNldFRpbWVvdXQoZSxhKSl9ZnVuY3Rpb24gR0lhKGEpe1BkYS5maXJlRXZlbnQoYSl9dmFyIEVkYSxQZGEsaTcsWlFlPWYoKCk9PnthaWUoKTtLUWUoKTtFZGE9bmV3IEVycm9yO0VkYS5zdGFjaz0iIjtQZGE9bmV3IHg1LGk3PWNsYXNzIGF7c3RhdGlje3ModGhpcywiVG9rZW5zIil9b3JpZ2luO3JlZnJlc2g7YWNjZXNzO2V4cGlyZXM7X3Jldm9rZWQ9bmV3IEFib3J0Q29udHJvbGxlcjtjb25zdHJ1Y3RvcihlLHQscixpKXt0aGlzLm9yaWdpbj1lLHRoaXMucmVmcmVzaD10LHRoaXMuYWNjZXNzPXIsdGhpcy5leHBpcmVzPWl9YXN5bmMgYWN0aXZhdGUoZSl7aWYodGhpcy5fcmV2b2tlZC5zaWduYWwuYWJvcnRlZCl0aHJvdyBuZXcgRXJyb3IoIlRva2VuIHJldm9rZWQiKTtyZXR1cm4gdGhpcy5leHBpcmVzPERhdGUubm93KCkmJiFhd2FpdCB0aGlzLl9mZXRjaE5ld0FjY2Vzc1Rva2VuKCk/ITE6KHRoaXMuX3N5bmMoKSx0aGlzLl9zdGFydFJlZnJlc2hUb2tlbnNMb29wKGUpLCEwKX1hc3luYyByZXZva2UoZSx0KXt0aGlzLl9yZXZva2VkLmFib3J0KCk7dHJ5e2lmKCEoYXdhaXQgZmV0Y2goYCR7dGhpcy5vcmlnaW59L29hdXRoL3Jldm9rZWAse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCJ9LGJvZHk6bmV3IFVSTFNlYXJjaFBhcmFtcyh7dG9rZW46dGhpcy5yZWZyZXNoLHRva2VuX3R5cGVfaGludDoicmVmcmVzaF90b2tlbiIsY2xpZW50X2lkOmV9KSxtb2RlOiJjb3JzIn0pKS5vayl0aHJvdyBuZXcgRXJyb3IoIkZhaWxlZCB0byBsb2dvdXQiKX1jYXRjaChyKXtpZighdCl0aHJvdyByfXJpZSgpfXN0YXRpYyBmcm9tU3RvcmFnZSgpe2xldCBlPWpJYSgpO3JldHVybiBlP25ldyBhKGUub3JpZ2luLGUucmVmcmVzaCxlLmFjY2VzcyxlLmV4cGlyZXMpOm51bGx9c3RhdGljIGFzeW5jIGZyb21BdXRoQ29kZSh7ZWRpdG9yT3JpZ2luOmUsY2xpZW50SWQ6dCxjb2RlVmVyaWZpZXI6cixhdXRoQ29kZTppLHJlZGlyZWN0VXJpOm99KXtsZXQgbj1hd2FpdCBmZXRjaChgJHtlfS9vYXV0aC90b2tlbmAse21ldGhvZDoiUE9TVCIsaGVhZGVyczp7IkNvbnRlbnQtVHlwZSI6ImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCJ9LGJvZHk6bmV3IFVSTFNlYXJjaFBhcmFtcyh7Y2xpZW50X2lkOnQsY29kZTppLGNvZGVfdmVyaWZpZXI6cixncmFudF90eXBlOiJhdXRob3JpemF0aW9uX2NvZGUiLHJlZGlyZWN0X3VyaTpvfSksbW9kZToiY29ycyJ9KTtpZighbi5vayl0aHJvdyBuZXcgRXJyb3IoYEZhaWxlZCB0byBmZXRjaCB0b2tlbjogJHtuLnN0YXR1c31gKTtsZXQgbD1hd2FpdCBuLmpzb24oKTtOZGEobCk7bGV0e2FjY2Vzc190b2tlbjpkLHJlZnJlc2hfdG9rZW46Y309bCxwPUlkYShsKTtyZXR1cm4gbmV3IGEoZSxjLGQscCl9YXN5bmMgX2ZldGNoTmV3QWNjZXNzVG9rZW4oKXt0cnl7bGV0IGU9YXdhaXQgZmV0Y2goYCR7dGhpcy5vcmlnaW59L29hdXRoL3Rva2VuYCx7bWV0aG9kOiJQT1NUIixoZWFkZXJzOnsiQ29udGVudC1UeXBlIjoiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIn0sYm9keTpuZXcgVVJMU2VhcmNoUGFyYW1zKHtncmFudF90eXBlOiJyZWZyZXNoX3Rva2VuIixyZWZyZXNoX3Rva2VuOnRoaXMucmVmcmVzaH0pLG1vZGU6ImNvcnMiLHNpZ25hbDp0aGlzLl9yZXZva2VkLnNpZ25hbH0pO2lmKCFlLm9rKXRocm93IEVkYTtsZXQgdD1hd2FpdCBlLmpzb24oKTtOZGEodCk7bGV0e2FjY2Vzc190b2tlbjpyLHJlZnJlc2hfdG9rZW46aX09dCxvPUlkYSh0KTtyZXR1cm4gdGhpcy5hY2Nlc3M9cix0aGlzLmV4cGlyZXM9byx0aGlzLnJlZnJlc2g9aSwhMH1jYXRjaHtyZXR1cm4gcmllKCksITF9fV9zeW5jKCl7VUlhKHRoaXMpLEdJYSh0aGlzLmFjY2Vzcyl9YXN5bmMgX3N0YXJ0UmVmcmVzaFRva2Vuc0xvb3AoZSl7Zm9yKDs7KXtsZXQgdD10aGlzLmV4cGlyZXMtRGF0ZS5ub3coKS0xZTM7aWYoYXdhaXQgV0lhKE1hdGgubWF4KHQsMWUzKSksdGhpcy5fcmV2b2tlZC5zaWduYWwuYWJvcnRlZClyZXR1cm47aWYoIXRoaXMuX2ZldGNoTmV3QWNjZXNzVG9rZW4oKSl7ZSgpO3JldHVybn10aGlzLl9zeW5jKCl9fX07cyhyaWUsImNsZWFyVG9rZW5zSW5TdG9yYWdlIik7cyhSZGEsImFkZEFjY2Vzc1Rva2VuQ2hhbmdlZExpc3RlbmVyIik7cyhqSWEsInJlYWRUb2tlbnNGcm9tU3RvcmFnZSIpO3MoVUlhLCJwZXJzaXN0VG9rZW5zSW5TdG9yYWdlIik7cyhJZGEsImdldEV4cGlyZXNGcm9tVG9rZW5SZXNwb25zZSIpO3MoTmRhLCJhc3NlcnRUb2tlblJlc3BvbnNlIik7cyhXSWEsIndhaXQiKTtzKEdJYSwiZmlyZUFjY2Vzc1Rva2VuQ2hhbmdlZCIpfSk7dmFyIFhRZSxzaWUsUmMsUVFlPWYoKCk9PnthaWUoKTtYUWU9e30sc2llPW51bGwsUmM9e2dldCBlZGl0b3JPcmlnaW4oKXtyZXR1cm4gc2llPT1udWxsJiYoc2llPW5ldyBVUkwoZ2xvYmFsVGhpcy5XRUJDT05UQUlORVJfQVBJX0lGUkFNRV9VUkw/P0RkYSkub3JpZ2luKSxzaWV9LHNldCBlZGl0b3JPcmlnaW4oYSl7c2llPW5ldyBVUkwoYSkub3JpZ2lufSxzZXRRdWVyeVBhcmFtKGEsZSl7WFFlW2FdPWV9LGdldCB1cmwoKXtsZXQgYT1uZXcgVVJMKHRoaXMuZWRpdG9yT3JpZ2luKTthLnBhdGhuYW1lPSIvaGVhZGxlc3MiO2ZvcihsZXQgZSBpbiBYUWUpYS5zZWFyY2hQYXJhbXMuc2V0KGUsWFFlW2VdKTtyZXR1cm4gYS5zZWFyY2hQYXJhbXMuc2V0KCJ2ZXJzaW9uIiwiMS42LjEiKSxhfX19KTthc3luYyBmdW5jdGlvbiBPZGEoYSl7bGV0IGU9bmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGEpLHQ9bmV3IFVpbnQ4QXJyYXkoYXdhaXQgY3J5cHRvLnN1YnRsZS5kaWdlc3QoIlNIQS0yNTYiLGUpKTtyZXR1cm4gYnRvYSh0LnJlZHVjZSgocixpKT0+citTdHJpbmcuZnJvbUNvZGVQb2ludChpKSwiIikpLnJlcGxhY2UoL1wrL2csIi0iKS5yZXBsYWNlKC9cLy9nLCJfIikucmVwbGFjZSgvPSskLywiIil9ZnVuY3Rpb24gRmRhKCl7bGV0IGE9bmV3IFVpbnQ4QXJyYXkoOTYpO2NyeXB0by5nZXRSYW5kb21WYWx1ZXMoYSk7bGV0IGU9IiI7Zm9yKGxldCB0PTA7dDwzMjsrK3QpZSs9WUlhKGFbMyp0KzBdLGFbMyp0KzFdLGFbMyp0KzJdKTtyZXR1cm4gZX1mdW5jdGlvbiBZSWEoYSxlLHQpe2xldCByPWE+PjIsaT0oYSYzKTw8NHxlPj40LG89ZSYxNXwodCYxOTIpPj4yLG49dCY2MztyZXR1cm5bcixpLG8sbl0ubWFwKEtJYSkuam9pbigiIil9ZnVuY3Rpb24gS0lhKGEpe2xldCBlO3JldHVybiBhPDI2P2U9YSs2NTphPDUyP2U9YS0yNis5NzphPDYyP2U9YS01Mis0ODplPWE9PT02Mj8zMDo0NSxTdHJpbmcuZnJvbUNoYXJDb2RlKGUpfXZhciBCZGE9ZigoKT0+e3MoT2RhLCJTMjU2Iik7cyhGZGEsIm5ld0NvZGVWZXJpZmllciIpO3MoWUlhLCJuZXh0Rm91ckNoYXJzIik7cyhLSWEsInVucmVzZXJ2ZWRDaGFyYWN0ZXJzIil9KTtmdW5jdGlvbiBIZGEoKXtsZXQgYSxlO2Z1bmN0aW9uIHQoKXtlPW5ldyBQcm9taXNlKHI9PmE9cil9cmV0dXJuIHModCwicmVzZXQiKSx0KCkse2dldCBwcm9taXNlKCl7cmV0dXJuIGV9LHJlc29sdmUocil7cmV0dXJuIGEocil9LHJlc2V0OnR9fXZhciBxZGE9ZigoKT0+e3MoSGRhLCJyZXNldHRhYmxlUHJvbWlzZSIpfSk7ZnVuY3Rpb24gY0coYSl7S3QuYnJvYWRjYXN0Q2hhbm5lbCYmKEt0LmJyb2FkY2FzdENoYW5uZWwucG9zdE1lc3NhZ2UoYSksbG9jYWxTdG9yYWdlLmdldEl0ZW0odGllKT09PSJ0cnVlIiYmYS50eXBlIT09ImF1dGgtbG9nb3V0IiYmKGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRpZSksc2V0VGltZW91dCgoKT0+e3dpbmRvdy5jbG9zZSgpfSkpKX1mdW5jdGlvbiBKUWUoKXt5NS5maXJlRXZlbnQoKSxjRyh7dHlwZToiYXV0aC1sb2dvdXQifSl9ZnVuY3Rpb24gamRhKCl7cmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5ocmVmfWFzeW5jIGZ1bmN0aW9uIFVkYSgpe2xldCBhPUZkYSgpO2xvY2FsU3RvcmFnZS5zZXRJdGVtKGVpZSxhKTtsZXQgZT1hd2FpdCBPZGEoYSksdD1uZXcgVVJMKCIvb2F1dGgvYXV0aG9yaXplIixLdC5lZGl0b3JPcmlnaW4pLHtzZWFyY2hQYXJhbXM6cn09dDtyZXR1cm4gci5hcHBlbmQoInJlc3BvbnNlX3R5cGUiLCJjb2RlIiksci5hcHBlbmQoImNsaWVudF9pZCIsS3QuY2xpZW50SWQpLHIuYXBwZW5kKCJyZWRpcmVjdF91cmkiLGpkYSgpKSxyLmFwcGVuZCgic2NvcGUiLEt0Lm9hdXRoU2NvcGUpLHIuYXBwZW5kKCJjb2RlX2NoYWxsZW5nZSIsZSksci5hcHBlbmQoImNvZGVfY2hhbGxlbmdlX21ldGhvZCIsIlMyNTYiKSx0LnRvU3RyaW5nKCl9ZnVuY3Rpb24gZUplKGEpe2lmKCFhKXRocm93IG5ldyBFcnJvcigiT29wcyEgVG9rZW5zIGlzIG5vdCBkZWZpbmVkIHdoZW4gaXQgYWx3YXlzIHNob3VsZCBiZS4iKX12YXIgS3QsVmRhLHk1LFdkYSx0SmU9ZigoKT0+e1pRZSgpO2FpZSgpO1FRZSgpO0JkYSgpO3FkYSgpO0tRZSgpO0t0PXtpbml0aWFsaXplZDohMSxib290Q2FsbGVkOiExLGF1dGhDb21wbGV0ZTpIZGEoKSxjbGllbnRJZDoiIixvYXV0aFNjb3BlOiIiLGJyb2FkY2FzdENoYW5uZWw6bnVsbCxnZXQgZWRpdG9yT3JpZ2luKCl7cmV0dXJuIFJjLmVkaXRvck9yaWdpbn0sdG9rZW5zOm51bGx9LFZkYT1uZXcgeDUseTU9bmV3IHg1O3MoY0csImJyb2FkY2FzdE1lc3NhZ2UiKTtXZGE9e2luaXQoe2VkaXRvck9yaWdpbjphLGNsaWVudElkOmUsc2NvcGU6dH0pe2lmKEt0LmluaXRpYWxpemVkKXRocm93IG5ldyBFcnJvcigiSW5pdCBzaG91bGQgb25seSBiZSBjYWxsZWQgb25jZSIpO2lmKCEwJiZLdC5ib290Q2FsbGVkKXRocm93IG5ldyBFcnJvcigiYGF1dGguaW5pdGAgc2hvdWxkIGFsd2F5cyBiZSBjYWxsZWQgYmVmb3JlIGBXZWJDb250YWluZXIuYm9vdGAiKTtLdC5pbml0aWFsaXplZD0hMCxLdC50b2tlbnM9aTcuZnJvbVN0b3JhZ2UoKSxLdC5jbGllbnRJZD1lLEt0Lm9hdXRoU2NvcGU9dCxLdC5icm9hZGNhc3RDaGFubmVsPW5ldyBCcm9hZGNhc3RDaGFubmVsKEFkYSksUmMuc2V0UXVlcnlQYXJhbSgiY2xpZW50X2lkIixlKSxhJiYoUmMuZWRpdG9yT3JpZ2luPW5ldyBVUkwoYSkub3JpZ2luKSx5NS5saXN0ZW4oKCk9Pkt0LmF1dGhDb21wbGV0ZS5yZXNldCgpKSxLdC5icm9hZGNhc3RDaGFubmVsLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGkpO2FzeW5jIGZ1bmN0aW9uIGkoZCl7bGV0IGM9ZC5kYXRhO2lmKGMudHlwZT09PSJhdXRoLWNvbXBsZXRlIil7S3QudG9rZW5zPWk3LmZyb21TdG9yYWdlKCksYXdhaXQgS3QudG9rZW5zLmFjdGl2YXRlKEpRZSksS3QuYXV0aENvbXBsZXRlLnJlc29sdmUoKTtyZXR1cm59aWYoYy50eXBlPT09ImF1dGgtZmFpbGVkIil7VmRhLmZpcmVFdmVudChjKTtyZXR1cm59aWYoYy50eXBlPT09ImF1dGgtbG9nb3V0Iil7eTUuZmlyZUV2ZW50KCk7cmV0dXJufX1pZihzKGksIm9uQ2hhbm5lbE1lc3NhZ2UiKSxLdC50b2tlbnMpe2xldCBkPUt0LnRva2VucztpZihkLm9yaWdpbj09PUt0LmVkaXRvck9yaWdpbilyZXR1cm4oYXN5bmMoKT0+e2lmKCFhd2FpdCBkLmFjdGl2YXRlKEpRZSkpe2lmKEt0LnRva2VucyE9PWQpcmV0dXJuO3k1LmZpcmVFdmVudCgpO3JldHVybn1LdC5hdXRoQ29tcGxldGUucmVzb2x2ZSgpfSkoKSx7c3RhdHVzOiJhdXRob3JpemVkIn07cmllKCksS3QudG9rZW5zPW51bGx9bGV0IG89bmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZikse3NlYXJjaFBhcmFtczpufT1vLGw9cygoKT0+d2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKHt9LGRvY3VtZW50LnRpdGxlLG8pLCJ1cGRhdGVVUkwiKTtpZihuLmhhcyhRc2UpKXtsZXQgZD1uLmdldChRc2UpLGM9bi5nZXQoWVFlKTtyZXR1cm4gbi5kZWxldGUoUXNlKSxuLmRlbGV0ZShZUWUpLGwoKSxjRyh7dHlwZToiYXV0aC1mYWlsZWQiLGVycm9yOmQsZGVzY3JpcHRpb246Y30pLHtzdGF0dXM6ImF1dGgtZmFpbGVkIixlcnJvcjpkLGRlc2NyaXB0aW9uOmN9fWlmKG4uaGFzKFhzZSkpe2xldCBkPW4uZ2V0KFhzZSksYz1LdC5lZGl0b3JPcmlnaW47bi5kZWxldGUoWHNlKSxsKCk7bGV0IHA9bG9jYWxTdG9yYWdlLmdldEl0ZW0oZWllKTtyZXR1cm4gcD8obG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oZWllKSxpNy5mcm9tQXV0aENvZGUoe2VkaXRvck9yaWdpbjpjLGNsaWVudElkOkt0LmNsaWVudElkLGF1dGhDb2RlOmQsY29kZVZlcmlmaWVyOnAscmVkaXJlY3RVcmk6amRhKCl9KS50aGVuKGFzeW5jIHU9PntpZihLdC50b2tlbnM9dSxlSmUoS3QudG9rZW5zKSwhYXdhaXQgS3QudG9rZW5zLmFjdGl2YXRlKEpRZSkpdGhyb3cgbmV3IEVycm9yO0t0LmF1dGhDb21wbGV0ZS5yZXNvbHZlKCksY0coe3R5cGU6ImF1dGgtY29tcGxldGUifSl9KS5jYXRjaCh1PT57Y29uc29sZS5lcnJvcih1KSx5NS5maXJlRXZlbnQoKSxjRyh7dHlwZToiYXV0aC1sb2dvdXQifSl9KSx7c3RhdHVzOiJhdXRob3JpemVkIn0pOntzdGF0dXM6Im5lZWQtYXV0aCJ9fXJldHVybntzdGF0dXM6Im5lZWQtYXV0aCJ9fSxhc3luYyBzdGFydEF1dGhGbG93KHtwb3B1cDphfT17fSl7aWYoIUt0LmluaXRpYWxpemVkKXRocm93IG5ldyBFcnJvcigiYXV0aC5pbml0IG11c3QgYmUgY2FsbGVkIGZpcnN0Iik7aWYoYSl7bG9jYWxTdG9yYWdlLnNldEl0ZW0odGllLCJ0cnVlIik7bGV0IGU9NTAwLHQ9NjIwLHI9d2luZG93LnNjcmVlbkxlZnQrKHdpbmRvdy5vdXRlcldpZHRoLXQpLzIsaT13aW5kb3cuc2NyZWVuVG9wKyh3aW5kb3cub3V0ZXJIZWlnaHQtZSkvMjt3aW5kb3cub3Blbihhd2FpdCBVZGEoKSwiX2JsYW5rIixgcG9wdXAsd2lkdGg9JHt0fSxoZWlnaHQ9JHtlfSxsZWZ0PSR7cn0sdG9wPSR7aX1gKX1lbHNlIHdpbmRvdy5sb2NhdGlvbi5ocmVmPWF3YWl0IFVkYSgpfSxhc3luYyBsb2dvdXQoe2lnbm9yZVJldm9rZUVycm9yOmF9PXt9KXthd2FpdCBLdC50b2tlbnM/LnJldm9rZShLdC5jbGllbnRJZCxhPz8hMSkseTUuZmlyZUV2ZW50KCksY0coe3R5cGU6ImF1dGgtbG9nb3V0In0pfSxsb2dnZWRJbigpe3JldHVybiBLdC5hdXRoQ29tcGxldGUucHJvbWlzZX0sb24oYSxlKXtzd2l0Y2goYSl7Y2FzZSJhdXRoLWZhaWxlZCI6cmV0dXJuIFZkYS5saXN0ZW4oZSk7Y2FzZSJsb2dnZWQtb3V0IjpyZXR1cm4geTUubGlzdGVuKGUpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBldmVudCB0eXBlICcke2F9Jy5gKX19fTtzKEpRZSwib25GYWlsZWRUb2tlblJlZnJlc2giKTtzKGpkYSwiZGVmYXVsdFJlZGlyZWN0VXJpIik7cyhVZGEsImdlbmVyYXRlT0F1dGhSZXF1ZXN0Iik7cyhlSmUsImFzc2VydEF1dGhUb2tlbnMiKX0pO3ZhciBPYyxpaWU9ZigoKT0+eyhmdW5jdGlvbihhKXthLlVuY2F1Z2h0RXhjZXB0aW9uPSJQUkVWSUVXX1VOQ0FVR0hUX0VYQ0VQVElPTiIsYS5VbmhhbmRsZWRSZWplY3Rpb249IlBSRVZJRVdfVU5IQU5ETEVEX1JFSkVDVElPTiIsYS5Db25zb2xlRXJyb3I9IlBSRVZJRVdfQ09OU09MRV9FUlJPUiJ9KShPY3x8KE9jPXt9KSl9KTtmdW5jdGlvbiBpSmUoYSxlPXNlbGYpe2UuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIscyhmdW5jdGlvbiB0KHIpe2lmKCFyfHwhci5kYXRhKXJldHVybjtsZXR7aWQ6aSx0eXBlOm8scGF0aDpufT1PYmplY3QuYXNzaWduKHtwYXRoOltdfSxyLmRhdGEpLGw9KHIuZGF0YS5hcmd1bWVudExpc3R8fFtdKS5tYXAodzUpLGQ7dHJ5e2xldCBjPW4uc2xpY2UoMCwtMSkucmVkdWNlKCh1LG0pPT51W21dLGEpLHA9bi5yZWR1Y2UoKHUsbSk9PnVbbV0sYSk7c3dpdGNoKG8pe2Nhc2UgMDpkPXA7YnJlYWs7Y2FzZSAxOmNbbi5zbGljZSgtMSlbMF1dPXc1KHIuZGF0YS52YWx1ZSksZD0hMDticmVhaztjYXNlIDI6ZD1wLmFwcGx5KGMsbCk7YnJlYWs7Y2FzZSAzOntsZXQgdT1uZXcgcCguLi5sKTtkPXQ2YSh1KX1icmVhaztjYXNlIDQ6e2xldHtwb3J0MTp1LHBvcnQyOm19PW5ldyBNZXNzYWdlQ2hhbm5lbDtpSmUoYSxtKSxkPWU2YSh1LFt1XSl9YnJlYWs7Y2FzZSA1OmQ9dm9pZCAwO2JyZWFrfX1jYXRjaChjKXtkPXt2YWx1ZTpjLFtySmVdOjB9fVByb21pc2UucmVzb2x2ZShkKS5jYXRjaChjPT4oe3ZhbHVlOmMsW3JKZV06MH0pKS50aGVuKGM9PntsZXRbcCx1XT1uSmUoYyk7ZS5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30scCkse2lkOml9KSx1KSxvPT09NSYmKGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsdCksWmRhKGUpKX0pfSwiY2FsbGJhY2siKSksZS5zdGFydCYmZS5zdGFydCgpfWZ1bmN0aW9uIGVOYShhKXtyZXR1cm4gYS5jb25zdHJ1Y3Rvci5uYW1lPT09Ik1lc3NhZ2VQb3J0In1mdW5jdGlvbiBaZGEoYSl7ZU5hKGEpJiZhLmNsb3NlKCl9ZnVuY3Rpb24gWGRhKGEsZSl7cmV0dXJuIG9KZShhLFtdLGUpfWZ1bmN0aW9uIG9pZShhKXtpZihhKXRocm93IG5ldyBFcnJvcigiUHJveHkgaGFzIGJlZW4gcmVsZWFzZWQgYW5kIGlzIG5vdCB1c2VhYmxlIil9ZnVuY3Rpb24gb0plKGEsZT1bXSx0PWZ1bmN0aW9uKCl7fSl7bGV0IHI9ITEsaT1uZXcgUHJveHkodCx7Z2V0KG8sbil7aWYob2llKHIpLG49PT1ZZGEpcmV0dXJuKCk9Pm83KGEse3R5cGU6NSxwYXRoOmUubWFwKGw9PmwudG9TdHJpbmcoKSl9KS50aGVuKCgpPT57WmRhKGEpLHI9ITB9KTtpZihuPT09InRoZW4iKXtpZihlLmxlbmd0aD09PTApcmV0dXJue3RoZW46cygoKT0+aSwidGhlbiIpfTtsZXQgbD1vNyhhLHt0eXBlOjAscGF0aDplLm1hcChkPT5kLnRvU3RyaW5nKCkpfSkudGhlbih3NSk7cmV0dXJuIGwudGhlbi5iaW5kKGwpfXJldHVybiBvSmUoYSxbLi4uZSxuXSl9LHNldChvLG4sbCl7b2llKHIpO2xldFtkLGNdPW5KZShsKTtyZXR1cm4gbzcoYSx7dHlwZToxLHBhdGg6Wy4uLmUsbl0ubWFwKHA9PnAudG9TdHJpbmcoKSksdmFsdWU6ZH0sYykudGhlbih3NSl9LGFwcGx5KG8sbixsKXtvaWUocik7bGV0IGQ9ZVtlLmxlbmd0aC0xXTtpZihkPT09R2RhKXJldHVybiBvNyhhLHt0eXBlOjR9KS50aGVuKHc1KTtpZihkPT09ImJpbmQiKXJldHVybiBvSmUoYSxlLnNsaWNlKDAsLTEpKTtsZXRbYyxwXT1RZGEobCk7cmV0dXJuIG83KGEse3R5cGU6MixwYXRoOmUubWFwKHU9PnUudG9TdHJpbmcoKSksYXJndW1lbnRMaXN0OmN9LHApLnRoZW4odzUpfSxjb25zdHJ1Y3QobyxuKXtvaWUocik7bGV0W2wsZF09UWRhKG4pO3JldHVybiBvNyhhLHt0eXBlOjMscGF0aDplLm1hcChjPT5jLnRvU3RyaW5nKCkpLGFyZ3VtZW50TGlzdDpsfSxkKS50aGVuKHc1KX19KTtyZXR1cm4gaX1mdW5jdGlvbiB0TmEoYSl7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sYSl9ZnVuY3Rpb24gUWRhKGEpe2xldCBlPWEubWFwKG5KZSk7cmV0dXJuW2UubWFwKHQ9PnRbMF0pLHROYShlLm1hcCh0PT50WzFdKSldfWZ1bmN0aW9uIGU2YShhLGUpe3JldHVybiBKZGEuc2V0KGEsZSksYX1mdW5jdGlvbiB0NmEoYSl7cmV0dXJuIE9iamVjdC5hc3NpZ24oYSx7W2FKZV06ITB9KX1mdW5jdGlvbiBhTmEoYSxlPXNlbGYsdD0iKiIpe3JldHVybntwb3N0TWVzc2FnZTpzKChyLGkpPT5hLnBvc3RNZXNzYWdlKHIsdCxpKSwicG9zdE1lc3NhZ2UiKSxhZGRFdmVudExpc3RlbmVyOmUuYWRkRXZlbnRMaXN0ZW5lci5iaW5kKGUpLHJlbW92ZUV2ZW50TGlzdGVuZXI6ZS5yZW1vdmVFdmVudExpc3RlbmVyLmJpbmQoZSl9fWZ1bmN0aW9uIG5KZShhKXtmb3IobGV0W2UsdF1vZiBzSmUpaWYodC5jYW5IYW5kbGUoYSkpe2xldFtyLGldPXQuc2VyaWFsaXplKGEpO3JldHVyblt7dHlwZTozLG5hbWU6ZSx2YWx1ZTpyfSxpXX1yZXR1cm5be3R5cGU6MCx2YWx1ZTphfSxKZGEuZ2V0KGEpfHxbXV19ZnVuY3Rpb24gdzUoYSl7c3dpdGNoKGEudHlwZSl7Y2FzZSAzOnJldHVybiBzSmUuZ2V0KGEubmFtZSkuZGVzZXJpYWxpemUoYS52YWx1ZSk7Y2FzZSAwOnJldHVybiBhLnZhbHVlfX1mdW5jdGlvbiBvNyhhLGUsdCl7cmV0dXJuIG5ldyBQcm9taXNlKHI9PntsZXQgaT1yTmEoKTthLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLHMoZnVuY3Rpb24gbyhuKXshbi5kYXRhfHwhbi5kYXRhLmlkfHxuLmRhdGEuaWQhPT1pfHwoYS5yZW1vdmVFdmVudExpc3RlbmVyKCJtZXNzYWdlIixvKSxyKG4uZGF0YSkpfSwibCIpKSxhLnN0YXJ0JiZhLnN0YXJ0KCksYS5wb3N0TWVzc2FnZShPYmplY3QuYXNzaWduKHtpZDppfSxlKSx0KX0pfWZ1bmN0aW9uIHJOYSgpe3JldHVybiBuZXcgQXJyYXkoNCkuZmlsbCgwKS5tYXAoKCk9Pk1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSpOdW1iZXIuTUFYX1NBRkVfSU5URUdFUikudG9TdHJpbmcoMTYpKS5qb2luKCItIil9dmFyIFpJYSxYSWEsVm4sYUplLEdkYSxZZGEsckplLEtkYSxRSWEsSklhLHNKZSxKZGEsYTZhPWYoKCk9PntaSWE9T2JqZWN0LmRlZmluZVByb3BlcnR5LFhJYT1zKChhLGUpPT57Zm9yKHZhciB0IGluIGUpWklhKGEsdCx7Z2V0OmVbdF0sZW51bWVyYWJsZTohMH0pfSwiX19leHBvcnQiKSxWbj17fTtYSWEoVm4se2NyZWF0ZUVuZHBvaW50OnMoKCk9PkdkYSwiY3JlYXRlRW5kcG9pbnQiKSxleHBvc2U6cygoKT0+aUplLCJleHBvc2UiKSxwcm94eTpzKCgpPT50NmEsInByb3h5IikscHJveHlNYXJrZXI6cygoKT0+YUplLCJwcm94eU1hcmtlciIpLHJlbGVhc2VQcm94eTpzKCgpPT5ZZGEsInJlbGVhc2VQcm94eSIpLHRyYW5zZmVyOnMoKCk9PmU2YSwidHJhbnNmZXIiKSx0cmFuc2ZlckhhbmRsZXJzOnMoKCk9PnNKZSwidHJhbnNmZXJIYW5kbGVycyIpLHdpbmRvd0VuZHBvaW50OnMoKCk9PmFOYSwid2luZG93RW5kcG9pbnQiKSx3cmFwOnMoKCk9PlhkYSwid3JhcCIpfSk7YUplPVN5bWJvbCgiQ29tbGluay5wcm94eSIpLEdkYT1TeW1ib2woIkNvbWxpbmsuZW5kcG9pbnQiKSxZZGE9U3ltYm9sKCJDb21saW5rLnJlbGVhc2VQcm94eSIpLHJKZT1TeW1ib2woIkNvbWxpbmsudGhyb3duIiksS2RhPXMoYT0+dHlwZW9mIGE9PSJvYmplY3QiJiZhIT09bnVsbHx8dHlwZW9mIGE9PSJmdW5jdGlvbiIsImlzT2JqZWN0IiksUUlhPXtjYW5IYW5kbGU6cyhhPT5LZGEoYSkmJmFbYUplXSwiY2FuSGFuZGxlIiksc2VyaWFsaXplKGEpe2xldHtwb3J0MTplLHBvcnQyOnR9PW5ldyBNZXNzYWdlQ2hhbm5lbDtyZXR1cm4gaUplKGEsZSksW3QsW3RdXX0sZGVzZXJpYWxpemUoYSl7cmV0dXJuIGEuc3RhcnQoKSxYZGEoYSl9fSxKSWE9e2NhbkhhbmRsZTpzKGE9PktkYShhKSYmckplIGluIGEsImNhbkhhbmRsZSIpLHNlcmlhbGl6ZSh7dmFsdWU6YX0pe2xldCBlO3JldHVybiBhIGluc3RhbmNlb2YgRXJyb3I/ZT17aXNFcnJvcjohMCx2YWx1ZTp7bWVzc2FnZTphLm1lc3NhZ2UsbmFtZTphLm5hbWUsc3RhY2s6YS5zdGFja319OmU9e2lzRXJyb3I6ITEsdmFsdWU6YX0sW2UsW11dfSxkZXNlcmlhbGl6ZShhKXt0aHJvdyBhLmlzRXJyb3I/T2JqZWN0LmFzc2lnbihuZXcgRXJyb3IoYS52YWx1ZS5tZXNzYWdlKSxhLnZhbHVlKTphLnZhbHVlfX0sc0plPW5ldyBNYXAoW1sicHJveHkiLFFJYV0sWyJ0aHJvdyIsSklhXV0pO3MoaUplLCJleHBvc2UiKTtzKGVOYSwiaXNNZXNzYWdlUG9ydCIpO3MoWmRhLCJjbG9zZUVuZFBvaW50Iik7cyhYZGEsIndyYXAiKTtzKG9pZSwidGhyb3dJZlByb3h5UmVsZWFzZWQiKTtzKG9KZSwiY3JlYXRlUHJveHkiKTtzKHROYSwibXlGbGF0Iik7cyhRZGEsInByb2Nlc3NBcmd1bWVudHMiKTtKZGE9bmV3IFdlYWtNYXA7cyhlNmEsInRyYW5zZmVyIik7cyh0NmEsInByb3h5Iik7cyhhTmEsIndpbmRvd0VuZHBvaW50Iik7cyhuSmUsInRvV2lyZVZhbHVlIik7cyh3NSwiZnJvbVdpcmVWYWx1ZSIpO3MobzcsInJlcXVlc3RSZXNwb25zZU1lc3NhZ2UiKTtzKHJOYSwiZ2VuZXJhdGVVVUlEIil9KTt2YXIgcjZhPWYoKCk9Pnt9KTtmdW5jdGlvbiBsSmUoYSl7cmV0dXJuIShhPT1udWxsfHx0eXBlb2YgYSE9Im9iamVjdCJ8fCEoInR5cGUiaW4gYSl8fCFzTmEuaW5jbHVkZXMoYS50eXBlKSl9dmFyIHNOYSxzNmE9ZigoKT0+e2lpZSgpO3NOYT1bT2MuQ29uc29sZUVycm9yLE9jLlVuY2F1Z2h0RXhjZXB0aW9uLE9jLlVuaGFuZGxlZFJlamVjdGlvbl07cyhsSmUsImlzUHJldmlld01lc3NhZ2UiKX0pO3ZhciBjSmU9ZigoKT0+e3I2YSgpO2lpZSgpO3M2YSgpfSk7ZnVuY3Rpb24gTTUoYSl7bGV0IGU9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gYT9PYmplY3QuYXNzaWduKGUsYSk6ZX12YXIgaTZhPWYoKCk9PntzKE01LCJudWxsUHJvdG90eXBlIil9KTtmdW5jdGlvbiBkSmUoYSl7bGV0IGU9e2Q6e319O2ZvcihsZXQgdCBvZiBPYmplY3Qua2V5cyhhKSl7bGV0IHI9YVt0XTtpZigiZmlsZSJpbiByKXtpZigic3ltbGluayJpbiByLmZpbGUpe2UuZFt0XT17Zjp7bDpyLmZpbGUuc3ltbGlua319O2NvbnRpbnVlfWxldCBvPXIuZmlsZS5jb250ZW50cyxuPXR5cGVvZiBvPT0ic3RyaW5nIj9vOmlOYS5kZWNvZGUobyksbD10eXBlb2Ygbz09InN0cmluZyI/e306e2I6ITB9O2UuZFt0XT17Zjp7YzpuLC4uLmx9fTtjb250aW51ZX1sZXQgaT1kSmUoci5kaXJlY3RvcnkpO2UuZFt0XT1pfXJldHVybiBlfWZ1bmN0aW9uIHVKZShhKXtsZXQgZT1NNSgpO2lmKCJmImluIGEpdGhyb3cgbmV3IEVycm9yKCJJdCBpcyBub3QgcG9zc2libGUgdG8gZXhwb3J0IGEgc2luZ2xlIGZpbGUgaW4gdGhlIEpTT04gZm9ybWF0LiIpO2lmKCJkImluIGEpZm9yKGxldCB0IG9mIE9iamVjdC5rZXlzKGEuZCkpe2xldCByPWEuZFt0XTsiZCJpbiByP2VbdF09TTUoe2RpcmVjdG9yeTp1SmUocil9KToiZiJpbiByJiYoImMiaW4gci5mP2VbdF09TTUoe2ZpbGU6TTUoe2NvbnRlbnRzOnIuZi5iP29OYShyLmYuYyk6ci5mLmN9KX0pOiJsImluIHIuZiYmKGVbdF09TTUoe2ZpbGU6TTUoe3N5bWxpbms6ci5mLmx9KX0pKSl9cmV0dXJuIGV9ZnVuY3Rpb24gb05hKGEpe2xldCBlPW5ldyBVaW50OEFycmF5KGEubGVuZ3RoKTtmb3IobGV0IHQ9MDt0PGEubGVuZ3RoO3QrKyllW3RdPWFbdF0uY2hhckNvZGVBdCgwKTtyZXR1cm4gZX12YXIgaU5hLG82YT1mKCgpPT57aTZhKCk7aU5hPW5ldyBUZXh0RGVjb2RlcigibGF0aW4xIik7cyhkSmUsInRvSW50ZXJuYWxGaWxlU3lzdGVtVHJlZSIpO3ModUplLCJ0b0V4dGVybmFsRmlsZVN5c3RlbVRyZWUiKTtzKG9OYSwiZnJvbUJpbmFyeVN0cmluZyIpfSk7ZnVuY3Rpb24gUGNvKGEpe2lmKEt0LmJvb3RDYWxsZWQpdGhyb3cgbmV3IEVycm9yKCJgY29uZmlndXJlQVBJS2V5YCBzaG91bGQgYWx3YXlzIGJlIGNhbGxlZCBiZWZvcmUgYFdlYkNvbnRhaW5lci5ib290YCIpO1JjLnNldFF1ZXJ5UGFyYW0oImNsaWVudF9pZCIsYSl9YXN5bmMgZnVuY3Rpb24gZE5hKGEpe2xldHtzZXJ2ZXJQcm9taXNlOmV9PXVOYShhKSxyPWF3YWl0KGF3YWl0IGUpLmJ1aWxkKHtob3N0OndpbmRvdy5sb2NhdGlvbi5ob3N0LHZlcnNpb246IjEuNi4xIix3b3JrZGlyTmFtZTphLndvcmtkaXJOYW1lLGZvcndhcmRQcmV2aWV3RXJyb3JzOmEuZm9yd2FyZFByZXZpZXdFcnJvcnN9KSxbaSxvLG5dPWF3YWl0IFByb21pc2UuYWxsKFtyLmZzKCksci5wcmV2aWV3U2NyaXB0KCksci5ydW50aW1lSW5mbygpXSk7cmV0dXJuIG5ldyBkRyhyLGksbyxuKX1mdW5jdGlvbiBiSmUoYSl7aWYoYSE9bnVsbClyZXR1cm4gZT0+e2UgaW5zdGFuY2VvZiBVaW50OEFycmF5P2EobjZhLmRlY29kZShlKSk6ZT09bnVsbCYmYShudWxsKX19ZnVuY3Rpb24gY2llKGEpe2lmKGEhPW51bGwpcmV0dXJuIFZuLnByb3h5KGEpfWZ1bmN0aW9uIHVOYShhKXtpZihsaWUhPW51bGwpcmV0dXJuIGEuY29lcCE9PXBKZS5jb2VwJiYoY29uc29sZS53YXJuKGBBdHRlbXB0aW5nIHRvIGJvb3QgV2ViQ29udGFpbmVyIHdpdGggJ2NvZXA6ICR7YS5jb2VwfSdgKSxjb25zb2xlLndhcm4oYEZpcnN0IGJvb3QgaGFkICdjb2VwOiAke3BKZS5jb2VwfScsIG5ldyBzZXR0aW5ncyB3aWxsIG5vdCB0YWtlIGVmZmVjdCFgKSkse3NlcnZlclByb21pc2U6bGllfTthLmNvZXAmJlJjLnNldFF1ZXJ5UGFyYW0oImNvZXAiLGEuY29lcCksYS5leHBlcmltZW50YWxOb2RlJiZSYy5zZXRRdWVyeVBhcmFtKCJleHBlcmltZW50YWxfbm9kZSIsIjEiKTtsZXQgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtlLnN0eWxlLmRpc3BsYXk9Im5vbmUiLGUuc2V0QXR0cmlidXRlKCJhbGxvdyIsImNyb3NzLW9yaWdpbi1pc29sYXRlZCIpO2xldCB0PVJjLnVybDtlLnNyYz10LnRvU3RyaW5nKCk7bGV0e29yaWdpbjpyfT10O3JldHVybiBwSmU9ey4uLmF9LGxpZT1uZXcgUHJvbWlzZShpPT57bGV0IG89cyhuPT57aWYobi5vcmlnaW4hPT1yKXJldHVybjtsZXR7ZGF0YTpsfT1uO2lmKGwudHlwZT09PSJpbml0Iil7aShWbi53cmFwKG4ucG9ydHNbMF0pKTtyZXR1cm59aWYobC50eXBlPT09Indhcm5pbmciKXtjb25zb2xlW2wubGV2ZWxdLmNhbGwoY29uc29sZSxsLm1lc3NhZ2UpO3JldHVybn19LCJvbk1lc3NhZ2UiKTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibWVzc2FnZSIsbyl9KSxkb2N1bWVudC5ib2R5Lmluc2VydEJlZm9yZShlLG51bGwpLHtzZXJ2ZXJQcm9taXNlOmxpZX19ZnVuY3Rpb24gcE5hKGEpe3JldHVybiB0eXBlb2YgYVswXT09InN0cmluZyJ9ZnVuY3Rpb24gZk5hKGEpe3JldHVybiBhWzBdaW5zdGFuY2VvZiBVaW50OEFycmF5fWZ1bmN0aW9uIGhOYSgpe2xldCBhPW51bGw7cmV0dXJue3N0cmVhbTpuZXcgUmVhZGFibGVTdHJlYW0oe3N0YXJ0KHIpe2E9cn19KSxwdXNoOnMocj0+e3IhPW51bGw/YT8uZW5xdWV1ZShyKTooYT8uY2xvc2UoKSxhPW51bGwpfSwicHVzaCIpfX1mdW5jdGlvbiBtTmEoYSl7bGV0IGU9ITEsdD1zKCgpPT57fSwidW5zdWJzY3JpYmUiKTtyZXR1cm57c3Vic2NyaWJlKGkpe3JldHVybiBpLnRoZW4obz0+e3Q9byxlJiZ0KCl9KSwoKT0+e2U9ITAsdCgpfX0sbGlzdGVuZXI6cygoKC4uLmkpPT57ZXx8YSguLi5pKX0pLCJ3cmFwcGVkIil9fXZhciBFY28sbmllLGxpZSxwSmUsbjZhLG5OYSxkRyxsTmEsY05hLGZKZSxoSmUsbUplLGdKZSxsNmE9ZigoKT0+e3RKZSgpO2lpZSgpO2E2YSgpO3RKZSgpO1pRZSgpO1FRZSgpO2NKZSgpO282YSgpO2NKZSgpO0Vjbz1XZGEsbmllPW51bGwsbGllPW51bGwscEplPXt9LG42YT1uZXcgVGV4dERlY29kZXIsbk5hPW5ldyBUZXh0RW5jb2RlcixkRz1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIldlYkNvbnRhaW5lciIpfV9pbnN0YW5jZTtfcnVudGltZUluZm87ZnM7c3RhdGljIF9pbnN0YW5jZT1udWxsO3N0YXRpYyBfdGVhcmRvd25Qcm9taXNlPW51bGw7X3Rvcm5Eb3duPSExO191bnN1YnNjcmliZUZyb21Ub2tlbkNoYW5nZWRMaXN0ZW5lcj1zKCgpPT57fSwiX3Vuc3Vic2NyaWJlRnJvbVRva2VuQ2hhbmdlZExpc3RlbmVyIik7Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy5faW5zdGFuY2U9ZSx0aGlzLl9ydW50aW1lSW5mbz1pLHRoaXMuZnM9bmV3IGdKZSh0KSxLdC5pbml0aWFsaXplZCYmKHRoaXMuX3Vuc3Vic2NyaWJlRnJvbVRva2VuQ2hhbmdlZExpc3RlbmVyPVJkYShvPT57dGhpcy5faW5zdGFuY2Uuc2V0Q3JlZGVudGlhbHMoe2FjY2Vzc1Rva2VuOm8sZWRpdG9yT3JpZ2luOkt0LmVkaXRvck9yaWdpbn0pfSksKGFzeW5jKCk9Pnthd2FpdCBLdC5hdXRoQ29tcGxldGUucHJvbWlzZSwhdGhpcy5fdG9ybkRvd24mJihlSmUoS3QudG9rZW5zKSxhd2FpdCB0aGlzLl9pbnN0YW5jZS5zZXRDcmVkZW50aWFscyh7YWNjZXNzVG9rZW46S3QudG9rZW5zLmFjY2VzcyxlZGl0b3JPcmlnaW46S3QuZWRpdG9yT3JpZ2lufSkpfSkoKS5jYXRjaChvPT57Y29uc29sZS5lcnJvcihvKX0pKX1hc3luYyBzcGF3bihlLHQscil7bGV0IGk9W107QXJyYXkuaXNBcnJheSh0KT9pPXQ6cj10O2xldCBvLG49bmV3IFJlYWRhYmxlU3RyZWFtO2lmKHI/Lm91dHB1dCE9PSExKXtsZXQgYj1oTmEoKTtvPWIucHVzaCxuPWIuc3RyZWFtfWxldCBsLGQsYyxwLHU9Y2llKGJKZShvKSksbT1jaWUoYkplKGwpKSx2PWNpZShiSmUoYykpLHg9YXdhaXQgdGhpcy5faW5zdGFuY2UucnVuKHtjb21tYW5kOmUsYXJnczppLGN3ZDpyPy5jd2QsZW52OnI/LmVudix0ZXJtaW5hbDpyPy50ZXJtaW5hbH0sbSx2LHUpO3JldHVybiBuZXcgbUplKHgsbixkLHApfWFzeW5jIGV4cG9ydChlLHQpe2xldCByPXtmb3JtYXQ6dD8uZm9ybWF0Pz8ianNvbiIsaW5jbHVkZXM6dD8uaW5jbHVkZXMsZXhjbHVkZXM6dD8uZXhjbHVkZXMsZXh0ZXJuYWw6ITB9LGk9YXdhaXQgdGhpcy5faW5zdGFuY2Uuc2VyaWFsaXplKGUscik7aWYoci5mb3JtYXQ9PT0ianNvbiIpe2xldCBvPUpTT04ucGFyc2UobjZhLmRlY29kZShpKSk7cmV0dXJuIHVKZShvKX1yZXR1cm4gaX1vbihlLHQpe2lmKGU9PT0icHJldmlldy1tZXNzYWdlIil7bGV0IG89dDt0PXMoKG49PntsSmUobikmJm8obil9KSwibGlzdGVuZXIiKX1sZXR7bGlzdGVuZXI6cixzdWJzY3JpYmU6aX09bU5hKHQpO3JldHVybiBpKHRoaXMuX2luc3RhbmNlLm9uKGUsVm4ucHJveHkocikpKX1tb3VudChlLHQpe2xldCByPWUgaW5zdGFuY2VvZiBVaW50OEFycmF5P2U6ZSBpbnN0YW5jZW9mIEFycmF5QnVmZmVyP25ldyBVaW50OEFycmF5KGUpOm5OYS5lbmNvZGUoSlNPTi5zdHJpbmdpZnkoZEplKGUpKSk7cmV0dXJuIHRoaXMuX2luc3RhbmNlLmxvYWRGaWxlcyhWbi50cmFuc2ZlcihyLFtyLmJ1ZmZlcl0pLHttb3VudFBvaW50czp0Py5tb3VudFBvaW50fSl9c2V0UHJldmlld1NjcmlwdChlLHQpe3JldHVybiB0aGlzLl9pbnN0YW5jZS5zZXRQcmV2aWV3U2NyaXB0KGUsdCl9Z2V0IHBhdGgoKXtyZXR1cm4gdGhpcy5fcnVudGltZUluZm8ucGF0aH1nZXQgd29ya2Rpcigpe3JldHVybiB0aGlzLl9ydW50aW1lSW5mby5jd2R9dGVhcmRvd24oKXtpZih0aGlzLl90b3JuRG93bil0aHJvdyBuZXcgRXJyb3IoIldlYkNvbnRhaW5lciBhbHJlYWR5IHRvcm4gZG93biIpO3RoaXMuX3Rvcm5Eb3duPSEwLHRoaXMuX3Vuc3Vic2NyaWJlRnJvbVRva2VuQ2hhbmdlZExpc3RlbmVyKCk7bGV0IGU9cyhhc3luYygpPT57dHJ5e2F3YWl0IHRoaXMuZnMuX3RlYXJkb3duKCksYXdhaXQgdGhpcy5faW5zdGFuY2UudGVhcmRvd24oKX1maW5hbGx5e3RoaXMuX2luc3RhbmNlW1ZuLnJlbGVhc2VQcm94eV0oKSxhLl9pbnN0YW5jZT09PXRoaXMmJihhLl9pbnN0YW5jZT1udWxsKX19LCJ0ZWFyZG93bkZuIik7YS5fdGVhcmRvd25Qcm9taXNlPWUoKX1zdGF0aWMgYXN5bmMgYm9vdChlPXt9KXthd2FpdCB0aGlzLl90ZWFyZG93blByb21pc2UsYS5fdGVhcmRvd25Qcm9taXNlPW51bGw7bGV0e3dvcmtkaXJOYW1lOnR9PWU7aWYod2luZG93LmNyb3NzT3JpZ2luSXNvbGF0ZWQmJmUuY29lcD09PSJub25lIiYmY29uc29sZS53YXJuKGBBIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3kgaGVhZGVyIGlzIHJlcXVpcmVkIGluIGNyb3NzIG9yaWdpbiBpc29sYXRlZCBlbnZpcm9ubWVudHMuClNldCB0aGUgJ2NvZXAnIG9wdGlvbiB0byAncmVxdWlyZS1jb3JwJy5gKSx0Py5pbmNsdWRlcygiLyIpfHx0PT09Ii4uInx8dD09PSIuIil0aHJvdyBuZXcgRXJyb3IoIndvcmtkaXJOYW1lIHNob3VsZCBiZSBhIHZhbGlkIGZvbGRlciBuYW1lIik7Zm9yKEt0LmJvb3RDYWxsZWQ9ITA7bmllOylhd2FpdCBuaWU7aWYoYS5faW5zdGFuY2UpdGhyb3cgbmV3IEVycm9yKCJPbmx5IGEgc2luZ2xlIFdlYkNvbnRhaW5lciBpbnN0YW5jZSBjYW4gYmUgYm9vdGVkIik7bGV0IHI9ZE5hKGUpO25pZT1yLmNhdGNoKCgpPT57fSk7dHJ5e2xldCBpPWF3YWl0IHI7cmV0dXJuIGEuX2luc3RhbmNlPWksaX1maW5hbGx5e25pZT1udWxsfX19O3MoUGNvLCJjb25maWd1cmVBUElLZXkiKTtsTmE9MSxjTmE9MixmSmU9Y2xhc3N7c3RhdGlje3ModGhpcywiRGlyRW50SW1wbCIpfW5hbWU7X3R5cGU7Y29uc3RydWN0b3IoZSx0KXt0aGlzLm5hbWU9ZSx0aGlzLl90eXBlPXR9aXNGaWxlKCl7cmV0dXJuIHRoaXMuX3R5cGU9PT1sTmF9aXNEaXJlY3RvcnkoKXtyZXR1cm4gdGhpcy5fdHlwZT09PWNOYX19LGhKZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJGU1dhdGNoZXIiKX1fYXBpQ2xpZW50O19wYXRoO19vcHRpb25zO19saXN0ZW5lcjtfd3JhcHBlZExpc3RlbmVyO193YXRjaGVyO19jbG9zZWQ9ITE7Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy5fYXBpQ2xpZW50PWUsdGhpcy5fcGF0aD10LHRoaXMuX29wdGlvbnM9cix0aGlzLl9saXN0ZW5lcj1pLHRoaXMuX2FwaUNsaWVudC5fd2F0Y2hlcnMuYWRkKHRoaXMpLHRoaXMuX3dyYXBwZWRMaXN0ZW5lcj0obyxuKT0+e3RoaXMuX2xpc3RlbmVyJiYhdGhpcy5fY2xvc2VkJiZ0aGlzLl9saXN0ZW5lcihvLG4pfSx0aGlzLl9hcGlDbGllbnQuX2ZzLndhdGNoKHRoaXMuX3BhdGgsdGhpcy5fb3B0aW9ucyxjaWUodGhpcy5fd3JhcHBlZExpc3RlbmVyKSkudGhlbihvPT57aWYodGhpcy5fd2F0Y2hlcj1vLHRoaXMuX2Nsb3NlZClyZXR1cm4gdGhpcy5fdGVhcmRvd24oKX0pLmNhdGNoKGNvbnNvbGUuZXJyb3IpfWFzeW5jIGNsb3NlKCl7dGhpcy5fY2xvc2VkfHwodGhpcy5fY2xvc2VkPSEwLHRoaXMuX2FwaUNsaWVudC5fd2F0Y2hlcnMuZGVsZXRlKHRoaXMpLGF3YWl0IHRoaXMuX3RlYXJkb3duKCkpfWFzeW5jIF90ZWFyZG93bigpe2F3YWl0IHRoaXMuX3dhdGNoZXI/LmNsb3NlKCkuZmluYWxseSgoKT0+e3RoaXMuX3dhdGNoZXI/LltWbi5yZWxlYXNlUHJveHldKCl9KX19LG1KZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJXZWJDb250YWluZXJQcm9jZXNzSW1wbCIpfW91dHB1dDtpbnB1dDtleGl0O19wcm9jZXNzO3N0ZG91dDtzdGRlcnI7Y29uc3RydWN0b3IoZSx0LHIsaSl7dGhpcy5vdXRwdXQ9dCx0aGlzLl9wcm9jZXNzPWUsdGhpcy5pbnB1dD1uZXcgV3JpdGFibGVTdHJlYW0oe3dyaXRlOnMobz0+e3RoaXMuX2dldFByb2Nlc3MoKT8ud3JpdGUobykuY2F0Y2goKCk9Pnt9KX0sIndyaXRlIil9KSx0aGlzLmV4aXQ9dGhpcy5fb25FeGl0KCksdGhpcy5zdGRvdXQ9cix0aGlzLnN0ZGVycj1pfWtpbGwoKXt0aGlzLl9wcm9jZXNzPy5raWxsKCl9cmVzaXplKGUpe3RoaXMuX2dldFByb2Nlc3MoKT8ucmVzaXplKGUpfWFzeW5jIF9vbkV4aXQoKXt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuX3Byb2Nlc3Mub25FeGl0fWZpbmFsbHl7dGhpcy5fcHJvY2Vzcz8uW1ZuLnJlbGVhc2VQcm94eV0oKSx0aGlzLl9wcm9jZXNzPW51bGx9fV9nZXRQcm9jZXNzKCl7cmV0dXJuIHRoaXMuX3Byb2Nlc3M9PW51bGwmJmNvbnNvbGUud2FybigiVGhpcyBwcm9jZXNzIGFscmVhZHkgZXhpdGVkIiksdGhpcy5fcHJvY2Vzc319LGdKZT1jbGFzc3tzdGF0aWN7cyh0aGlzLCJGaWxlU3lzdGVtQVBJQ2xpZW50Iil9X2ZzO193YXRjaGVycz1uZXcgU2V0KFtdKTtjb25zdHJ1Y3RvcihlKXt0aGlzLl9mcz1lfXJtKC4uLmUpe3JldHVybiB0aGlzLl9mcy5ybSguLi5lKX1hc3luYyByZWFkRmlsZShlLHQpe3JldHVybiBhd2FpdCB0aGlzLl9mcy5yZWFkRmlsZShlLHQpfWFzeW5jIHJlbmFtZShlLHQpe3JldHVybiBhd2FpdCB0aGlzLl9mcy5yZW5hbWUoZSx0KX1hc3luYyB3cml0ZUZpbGUoZSx0LHIpe2lmKHQgaW5zdGFuY2VvZiBVaW50OEFycmF5KXtsZXQgaT10LmJ1ZmZlci5zbGljZSh0LmJ5dGVPZmZzZXQsdC5ieXRlT2Zmc2V0K3QuYnl0ZUxlbmd0aCk7dD1Wbi50cmFuc2ZlcihuZXcgVWludDhBcnJheShpKSxbaV0pfWF3YWl0IHRoaXMuX2ZzLndyaXRlRmlsZShlLHQscil9YXN5bmMgcmVhZGRpcihlLHQpe2xldCByPWF3YWl0IHRoaXMuX2ZzLnJlYWRkaXIoZSx0KTtyZXR1cm4gcE5hKHIpfHxmTmEocik/cjpyLm1hcChvPT5uZXcgZkplKG8ubmFtZSxvWyJTeW1ib2wodHlwZSkiXSkpfWFzeW5jIG1rZGlyKGUsdCl7cmV0dXJuIGF3YWl0IHRoaXMuX2ZzLm1rZGlyKGUsdCl9d2F0Y2goZSx0LHIpe3JldHVybiB0eXBlb2YgdD09ImZ1bmN0aW9uIiYmKHI9dCx0PW51bGwpLG5ldyBoSmUodGhpcyxlLHQscil9YXN5bmMgX3RlYXJkb3duKCl7dGhpcy5fZnNbVm4ucmVsZWFzZVByb3h5XSgpLGF3YWl0IFByb21pc2UuYWxsKFsuLi50aGlzLl93YXRjaGVyc10ubWFwKGU9PmUuY2xvc2UoKSkpfX07cyhkTmEsInVuc3luY2hyb25pemVkQm9vdCIpO3MoYkplLCJiaW5hcnlMaXN0ZW5lciIpO3MoY2llLCJwcm94eUxpc3RlbmVyIik7cyh1TmEsInNlcnZlckZhY3RvcnkiKTtzKHBOYSwiaXNTdHJpbmdBcnJheSIpO3MoZk5hLCJpc1R5cGVkQXJyYXlDb2xsZWN0aW9uIik7cyhoTmEsInN0cmVhbVdpdGhQdXNoIik7cyhtTmEsInN5bmNTdWJzY3JpcHRpb24iKX0pO3ZhciBrNSxjNmE9ZigoKT0+e2w2YSgpO2s1PWNsYXNzIGF7c3RhdGlje3ModGhpcywiV2ViQ29udGFpbmVyRW52aXJvbm1lbnQiKX1zdGF0aWMgc2hhcmVkQ29udGFpbmVyPW51bGw7c3RhdGljIGJvb3RQcm9taXNlPW51bGw7X3JlYWR5PSExO3R5cGU9IndlYmNvbnRhaW5lciI7Z2V0IHJlYWR5KCl7cmV0dXJuIHRoaXMuX3JlYWR5fWdldCBjb250YWluZXIoKXtyZXR1cm4gYS5zaGFyZWRDb250YWluZXJ9YXN5bmMgaW5pdCgpe2lmKCEodGhpcy5fcmVhZHkmJmEuc2hhcmVkQ29udGFpbmVyKSl7aWYoYS5ib290UHJvbWlzZSl7YXdhaXQgYS5ib290UHJvbWlzZSx0aGlzLl9yZWFkeT0hMDtyZXR1cm59aWYoYS5zaGFyZWRDb250YWluZXIpe3RoaXMuX3JlYWR5PSEwO3JldHVybn1pZih0eXBlb2YgU2hhcmVkQXJyYXlCdWZmZXI+InUiKXRocm93IG5ldyBFcnJvcihgV2ViQ29udGFpbmVyIHJlcXVpcmVzIFNoYXJlZEFycmF5QnVmZmVyIHdoaWNoIGlzIG5vdCBhdmFpbGFibGUuIEVuc3VyZSB5b3VyIHNlcnZlciBzZW5kcyB0aGVzZSBoZWFkZXJzOgogIENyb3NzLU9yaWdpbi1PcGVuZXItUG9saWN5OiBzYW1lLW9yaWdpbgogIENyb3NzLU9yaWdpbi1FbWJlZGRlci1Qb2xpY3k6IHJlcXVpcmUtY29ycGApO2EuYm9vdFByb21pc2U9ZEcuYm9vdCgpO3RyeXthLnNoYXJlZENvbnRhaW5lcj1hd2FpdCBhLmJvb3RQcm9taXNlLHRoaXMuX3JlYWR5PSEwfWNhdGNoKGUpe3Rocm93IGEuYm9vdFByb21pc2U9bnVsbCxlfX19YXN5bmMgZGVzdHJveSgpe2Euc2hhcmVkQ29udGFpbmVyJiYoYS5zaGFyZWRDb250YWluZXIudGVhcmRvd24oKSxhLnNoYXJlZENvbnRhaW5lcj1udWxsLGEuYm9vdFByb21pc2U9bnVsbCx0aGlzLl9yZWFkeT0hMSl9YXN5bmMgcmVhZEZpbGUoZSl7cmV0dXJuIHRoaXMuZW5zdXJlUmVhZHkoKSxhd2FpdCB0aGlzLmNvbnRhaW5lci5mcy5yZWFkRmlsZShlLCJ1dGYtOCIpfWFzeW5jIHdyaXRlRmlsZShlLHQpe3RoaXMuZW5zdXJlUmVhZHkoKSxhd2FpdCB0aGlzLmNvbnRhaW5lci5mcy53cml0ZUZpbGUoZSx0LCJ1dGYtOCIpfWFzeW5jIHJlYWREaXIoZSl7cmV0dXJuIHRoaXMuZW5zdXJlUmVhZHkoKSwoYXdhaXQgdGhpcy5jb250YWluZXIuZnMucmVhZGRpcihlLHt3aXRoRmlsZVR5cGVzOiEwfSkpLm1hcChyPT4oe3R5cGU6ci5pc0RpcmVjdG9yeSgpPyJkaXJlY3RvcnkiOiJmaWxlIixuYW1lOnIubmFtZSxwYXRoOmU9PT0iLyI/YC8ke3IubmFtZX1gOmAke2V9LyR7ci5uYW1lfWB9KSl9YXN5bmMgbWtkaXIoZSl7dGhpcy5lbnN1cmVSZWFkeSgpLGF3YWl0IHRoaXMuY29udGFpbmVyLmZzLm1rZGlyKGUse3JlY3Vyc2l2ZTohMH0pfWFzeW5jIHJtKGUsdCl7dGhpcy5lbnN1cmVSZWFkeSgpLGF3YWl0IHRoaXMuY29udGFpbmVyLmZzLnJtKGUse3JlY3Vyc2l2ZTp0Py5yZWN1cnNpdmU/PyExfSl9YXN5bmMgZXhpc3RzKGUpe3RoaXMuZW5zdXJlUmVhZHkoKTt0cnl7cmV0dXJuIGF3YWl0IHRoaXMuY29udGFpbmVyLmZzLnJlYWRGaWxlKGUpLCEwfWNhdGNoe3RyeXtyZXR1cm4gYXdhaXQgdGhpcy5jb250YWluZXIuZnMucmVhZGRpcihlKSwhMH1jYXRjaHtyZXR1cm4hMX19fXdhdGNoKGUsdCxyKXt0aGlzLmVuc3VyZVJlYWR5KCk7bGV0IGk9dGhpcy5jb250YWluZXIuZnMud2F0Y2goZSx7cmVjdXJzaXZlOnI/LnJlY3Vyc2l2ZT8/ITF9LHQpO3JldHVybntzdG9wOnMoKCk9PmkuY2xvc2UoKSwic3RvcCIpfX1hc3luYyBzcGF3bihlLHQ9W10pe3RoaXMuZW5zdXJlUmVhZHkoKTtsZXQgcj1hd2FpdCB0aGlzLmNvbnRhaW5lci5zcGF3bihlLHQpO3JldHVybntvdXRwdXQ6ci5vdXRwdXQsaW5wdXQ6ci5pbnB1dCxleGl0OnIuZXhpdCxraWxsOnMoKCk9PnIua2lsbCgpLCJraWxsIil9fWFzeW5jIG1vdW50KGUpe3RoaXMuZW5zdXJlUmVhZHkoKSxhd2FpdCB0aGlzLmNvbnRhaW5lci5tb3VudChlKX1nZXRDb250YWluZXIoKXtyZXR1cm4gdGhpcy5lbnN1cmVSZWFkeSgpLHRoaXMuY29udGFpbmVyfWVuc3VyZVJlYWR5KCl7aWYoIXRoaXMuX3JlYWR5fHwhdGhpcy5jb250YWluZXIpdGhyb3cgbmV3IEVycm9yKCJXZWJDb250YWluZXJFbnZpcm9ubWVudCBub3QgaW5pdGlhbGl6ZWQuIENhbGwgaW5pdCgpIGZpcnN0LiIpfX19KTt2YXIgZDZhPWYoKCk9PntjNmEoKX0pO3ZhciBkaWU9ZigoKT0+eyRkYSgpO2Q2YSgpfSk7dmFyIHU2YT1mKCgpPT57UlllKCl9KTt2YXIgdUcsdkplPWYoKCk9Pnt1Rz1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUZXJtaW5hbFRhYk1hbmFnZXIiKX10YWJzPW5ldyBNYXA7dGFiQ291bnRlcj0wO3h0ZXJtQnVuZGxlPW51bGw7eHRlcm1GaXRBZGRvbkJ1bmRsZT1udWxsO3NldFh0ZXJtTW9kdWxlcyhlLHQpe3RoaXMueHRlcm1CdW5kbGU9ZSx0aGlzLnh0ZXJtRml0QWRkb25CdW5kbGU9dH1nZW5lcmF0ZVRhYklkKCl7cmV0dXJuIHRoaXMudGFiQ291bnRlcisrLGB0ZXJtaW5hbC0ke3RoaXMudGFiQ291bnRlcn0tJHtEYXRlLm5vdygpfWB9Z2V0RGVmYXVsdExhYmVsKGUsdCl7c3dpdGNoKGUpe2Nhc2Uic2hlbGwiOnJldHVybiJiYXNoIjtjYXNlInNjcmlwdCI6cmV0dXJuIHQ/LnNjcmlwdE5hbWV8fCJzY3JpcHQiO2Nhc2UicGFja2FnZS11cGRhdGUiOnJldHVybiB0Py5wYWNrYWdlTmFtZT9gdXBkYXRlICR7dC5wYWNrYWdlTmFtZX1gOiJ1cGRhdGUiO2Nhc2UiY3VzdG9tIjpyZXR1cm4gdD8uY29tbWFuZHx8InByb2Nlc3MiO2RlZmF1bHQ6cmV0dXJuInRlcm1pbmFsIn19Z2V0RGVmYXVsdEljb24oZSl7c3dpdGNoKGUpe2Nhc2Uic2hlbGwiOnJldHVybiJsdWNpZGU6dGVybWluYWwiO2Nhc2Uic2NyaXB0IjpyZXR1cm4ibHVjaWRlOnBsYXkiO2Nhc2UicGFja2FnZS11cGRhdGUiOnJldHVybiJsdWNpZGU6cGFja2FnZUNoZWNrIjtjYXNlImN1c3RvbSI6cmV0dXJuImx1Y2lkZTpjb2RlIjtkZWZhdWx0OnJldHVybiJsdWNpZGU6dGVybWluYWwifX1nZXRUZXJtaW5hbFRoZW1lKGUpe3JldHVybiBlP3tiYWNrZ3JvdW5kOiIjZmZmZmZmIixmb3JlZ3JvdW5kOiIjMzMzMzMzIixjdXJzb3I6IiMzMzMzMzMiLGN1cnNvckFjY2VudDoiI2ZmZmZmZiIsc2VsZWN0aW9uOiJyZ2JhKDAsIDAsIDAsIDAuMikiLGJsYWNrOiIjMDAwMDAwIixyZWQ6IiNjZDMxMzEiLGdyZWVuOiIjMDBiYzAwIix5ZWxsb3c6IiM5NDk4MDAiLGJsdWU6IiMwNDUxYTUiLG1hZ2VudGE6IiNiYzA1YmMiLGN5YW46IiMwNTk4YmMiLHdoaXRlOiIjNTU1NTU1IixicmlnaHRCbGFjazoiIzY2NjY2NiIsYnJpZ2h0UmVkOiIjY2QzMTMxIixicmlnaHRHcmVlbjoiIzE0Y2UxNCIsYnJpZ2h0WWVsbG93OiIjYjViYTAwIixicmlnaHRCbHVlOiIjMDQ1MWE1IixicmlnaHRNYWdlbnRhOiIjYmMwNWJjIixicmlnaHRDeWFuOiIjMDU5OGJjIixicmlnaHRXaGl0ZToiI2E1YTVhNSJ9OntiYWNrZ3JvdW5kOiIjMDAwMDAwIixmb3JlZ3JvdW5kOiIjZmZmZmZmIixjdXJzb3I6IiNmZmZmZmYiLGN1cnNvckFjY2VudDoiIzAwMDAwMCIsc2VsZWN0aW9uOiJyZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikifX1jcmVhdGVUYWIoZSx0KXtpZighdGhpcy54dGVybUJ1bmRsZXx8IXRoaXMueHRlcm1GaXRBZGRvbkJ1bmRsZSl0aHJvdyBuZXcgRXJyb3IoIlRlcm1pbmFsVGFiTWFuYWdlcjogeHRlcm0gbW9kdWxlcyBub3QgaW5pdGlhbGl6ZWQuIENhbGwgc2V0WHRlcm1Nb2R1bGVzKCkgZmlyc3QuIik7bGV0IHI9dGhpcy5nZW5lcmF0ZVRhYklkKCksaT1lLnR5cGUsbz1uZXcgdGhpcy54dGVybUJ1bmRsZS5UZXJtaW5hbCh7Y29udmVydEVvbDohMCxjdXJzb3JCbGluazohMCx0aGVtZTp0aGlzLmdldFRlcm1pbmFsVGhlbWUodCksZm9udEZhbWlseTonTWVubG8sIE1vbmFjbywgIkNvdXJpZXIgTmV3IiwgbW9ub3NwYWNlJyxmb250U2l6ZToxMyxsaW5lSGVpZ2h0OjEuMn0pLG49bmV3IHRoaXMueHRlcm1GaXRBZGRvbkJ1bmRsZS5GaXRBZGRvbjtvLmxvYWRBZGRvbihuKTtsZXQgbD17aWQ6cixsYWJlbDplLmxhYmVsfHx0aGlzLmdldERlZmF1bHRMYWJlbChpLGUubWV0YWRhdGEpLGljb25OYW1lOmUuaWNvbk5hbWV8fHRoaXMuZ2V0RGVmYXVsdEljb24oaSksdHlwZTppLGNsb3NlYWJsZTplLmNsb3NlYWJsZT8/aSE9PSJzaGVsbCIsdGVybWluYWw6byxmaXRBZGRvbjpuLHByb2Nlc3M6bnVsbCxpbnB1dFdyaXRlcjpudWxsLGV4aXRlZDohMSxleGl0Q29kZTpudWxsLGNyZWF0ZWRBdDpEYXRlLm5vdygpLG1ldGFkYXRhOmUubWV0YWRhdGF9O3JldHVybiB0aGlzLnRhYnMuc2V0KHIsbCksbH1nZXRUYWIoZSl7cmV0dXJuIHRoaXMudGFicy5nZXQoZSl9Z2V0QWxsVGFicygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMudGFicy52YWx1ZXMoKSkuc29ydCgoZSx0KT0+ZS5jcmVhdGVkQXQtdC5jcmVhdGVkQXQpfWdldFRhYkNvdW50KCl7cmV0dXJuIHRoaXMudGFicy5zaXplfWhhc1RhYihlKXtyZXR1cm4gdGhpcy50YWJzLmhhcyhlKX1jbG9zZVRhYihlKXtsZXQgdD10aGlzLnRhYnMuZ2V0KGUpO2lmKCF0KXJldHVybiExO2lmKHQucHJvY2VzcyYmIXQuZXhpdGVkKXRyeXt0LnByb2Nlc3Mua2lsbCgpfWNhdGNoKHIpe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIGtpbGwgcHJvY2VzczoiLHIpfXRyeXt0LnRlcm1pbmFsLmRpc3Bvc2UoKX1jYXRjaChyKXtjb25zb2xlLndhcm4oIkZhaWxlZCB0byBkaXNwb3NlIHRlcm1pbmFsOiIscil9cmV0dXJuIHRoaXMudGFicy5kZWxldGUoZSksITB9cmVuYW1lVGFiKGUsdCl7bGV0IHI9dGhpcy50YWJzLmdldChlKTtyZXR1cm4gcj8oci5sYWJlbD10LCEwKTohMX1tYXJrVGFiRXhpdGVkKGUsdCl7bGV0IHI9dGhpcy50YWJzLmdldChlKTtyJiYoci5leGl0ZWQ9ITAsci5leGl0Q29kZT10KX1zZXRUYWJQcm9jZXNzKGUsdCxyKXtsZXQgaT10aGlzLnRhYnMuZ2V0KGUpO2kmJihpLnByb2Nlc3M9dCxpLmlucHV0V3JpdGVyPXIpfXVwZGF0ZUFsbFRoZW1lcyhlKXtsZXQgdD10aGlzLmdldFRlcm1pbmFsVGhlbWUoZSk7Zm9yKGxldCByIG9mIHRoaXMudGFicy52YWx1ZXMoKSlyLnRlcm1pbmFsLm9wdGlvbnMudGhlbWU9dH1kaXNwb3NlQWxsKCl7Zm9yKGxldFtlXW9mIHRoaXMudGFicyl0aGlzLmNsb3NlVGFiKGUpO3RoaXMudGFicy5jbGVhcigpfX19KTt2YXIgcDZhPXt9O2x0KHA2YSx7RGVlc1dvcmtzcGFjZVRlcm1pbmFsOigpPT54SmV9KTt2YXIgajQsbG8seEplLHBHPWYoKCk9PntsZSgpO0p0KCk7UWUoKTtkaWUoKTt2YSgpO1VzZSgpO3ZKZSgpO19jKCk7ajQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGxvPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx4SmU9KCgpPT57bGV0IGE9W2llKCJkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdO3ZhciBCPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzV29ya3NwYWNlVGVybWluYWwiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKCldLHU9WyQoKV0seD1bJCh7dHlwZTpOdW1iZXJ9KV0seT1bJCh7dHlwZTpCb29sZWFufSldLE49W0soKV0sTz1bSygpXSxqNCh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV4ZWN1dGlvbkVudmlyb25tZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJleGVjdXRpb25FbnZpcm9ubWVudCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmV4ZWN1dGlvbkVudmlyb25tZW50LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MuZXhlY3V0aW9uRW52aXJvbm1lbnQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxuLGwpLGo0KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2V0dXBDb21tYW5kIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJzZXR1cENvbW1hbmQiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zZXR1cENvbW1hbmQsImdldCIpLHNldDpzKChTLFApPT57Uy5zZXR1cENvbW1hbmQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxjLHApLGo0KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW52aXJvbm1lbnRWYXJpYWJsZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImVudmlyb25tZW50VmFyaWFibGVzImluIFMsImhhcyIpLGdldDpzKFM9PlMuZW52aXJvbm1lbnRWYXJpYWJsZXMsImdldCIpLHNldDpzKChTLFApPT57Uy5lbnZpcm9ubWVudFZhcmlhYmxlcz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG0sdiksajQodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJCYXJXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGFiQmFyV2lkdGgiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy50YWJCYXJXaWR0aCwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnRhYkJhcldpZHRoPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYixnKSxqNCh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dUYWJCYXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InNob3dUYWJCYXIiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zaG93VGFiQmFyLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1Muc2hvd1RhYkJhcj1QfSwic2V0Iil9LG1ldGFkYXRhOk19LGssQyksajQodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0YWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ0YWJzImluIFMsImhhcyIpLGdldDpzKFM9PlMudGFicywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnRhYnM9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxfLHopLGo0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYWN0aXZlVGFiSWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImFjdGl2ZVRhYklkImluIFMsImhhcyIpLGdldDpzKFM9PlMuYWN0aXZlVGFiSWQsImdldCIpLHNldDpzKChTLFApPT57Uy5hY3RpdmVUYWJJZD1QfSwic2V0Iil9LG1ldGFkYXRhOk19LFQsRSksajQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCx0KSxCPXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1zKCgpPT57bGV0IE09bmV3IGs1O3JldHVybiB3YDxkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbCAuZXhlY3V0aW9uRW52aXJvbm1lbnQ9JHtNfT48L2RlZXMtd29ya3NwYWNlLXRlcm1pbmFsPmB9LCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJXb3Jrc3BhY2UiXTtyZXNpemVPYnNlcnZlcjt0YWJNYW5hZ2VyOyNlPWxvKHRoaXMsbixudWxsKTtnZXQgZXhlY3V0aW9uRW52aXJvbm1lbnQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZXhlY3V0aW9uRW52aXJvbm1lbnQoTSl7dGhpcy4jZT1NfSN0PShsbyh0aGlzLGwpLGxvKHRoaXMsYywiIikpO2dldCBzZXR1cENvbW1hbmQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgc2V0dXBDb21tYW5kKE0pe3RoaXMuI3Q9TX0jYT0obG8odGhpcyxwKSxsbyh0aGlzLG0se30pKTtnZXQgZW52aXJvbm1lbnRWYXJpYWJsZXMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgZW52aXJvbm1lbnRWYXJpYWJsZXMoTSl7dGhpcy4jYT1NfSNyPShsbyh0aGlzLHYpLGxvKHRoaXMsYiwxNjApKTtnZXQgdGFiQmFyV2lkdGgoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdGFiQmFyV2lkdGgoTSl7dGhpcy4jcj1NfSNzPShsbyh0aGlzLGcpLGxvKHRoaXMsaywhMCkpO2dldCBzaG93VGFiQmFyKCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNob3dUYWJCYXIoTSl7dGhpcy4jcz1NfSNpPShsbyh0aGlzLEMpLGxvKHRoaXMsXyxbXSkpO2dldCB0YWJzKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHRhYnMoTSl7dGhpcy4jaT1NfSNvPShsbyh0aGlzLHopLGxvKHRoaXMsVCxudWxsKSk7Z2V0IGFjdGl2ZVRhYklkKCl7cmV0dXJuIHRoaXMuI299c2V0IGFjdGl2ZVRhYklkKE0pe3RoaXMuI289TX10ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uPShsbyh0aGlzLEUpLG51bGwpO2lzQnJpZ2h0PSExO3Rlcm1pbmFsQWN0aW9uYmFyPW51bGw7ZW52aXJvbm1lbnREZWZlcnJlZD1uZXcgQnQuc21hcnRwcm9taXNlLkRlZmVycmVkO2Vudmlyb25tZW50UHJvbWlzZT10aGlzLmVudmlyb25tZW50RGVmZXJyZWQucHJvbWlzZTtjb25zdHJ1Y3Rvcigpe3N1cGVyKCksdGhpcy50YWJNYW5hZ2VyPW5ldyB1Ryx0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMuaGFuZGxlUmVzaXplKCl9KX1zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgICogewogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1jb250ZW50IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgfQoKICAgICAgI2FjdGl2ZS10ZXJtaW5hbC1jb250YWluZXIgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgICAgbWFyZ2luOiAyMHB4OwogICAgICB9CgogICAgICAudGVybWluYWwtY29udGVudCBkZWVzLWFjdGlvbmJhciB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC8qIFRhYiBiYXIgb24gdGhlIHJpZ2h0IHNpZGUgKi8KICAgICAgLnRhYi1iYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTYlKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAudGFiLWJhci1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4OCUpIiwiaHNsKDAgMCUgMTIlKSIpfTsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQ1JSkiLCJoc2woMCAwJSA1NSUpIil9OwogICAgICB9CgogICAgICAudGFiLWJhci10aXRsZSB7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAudGFiLWJhci1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAudGFiLWFjdGlvbiB7CiAgICAgICAgd2lkdGg6IDIycHg7CiAgICAgICAgaGVpZ2h0OiAyMnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWItYWN0aW9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODglKSIsImhzbCgwIDAlIDE1JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAzMCUpIiwiaHNsKDAgMCUgODAlKSIpfTsKICAgICAgfQoKICAgICAgLnRhYi1saXN0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICB9CgogICAgICAudGVybWluYWwtdGFiIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNDUlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC10YWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5MCUpIiwiaHNsKDAgMCUgMTIlKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDI1JSkiLCJoc2woMCAwJSA4MCUpIil9OwogICAgICB9CgogICAgICAudGVybWluYWwtdGFiLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA5NSUpIiwiaHNsKDIxMCAzMCUgMTUlKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA0MCUpIiwiaHNsKDIxMCAxMDAlIDcwJSkiKX07CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC10YWIuZXhpdGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjc7CiAgICAgIH0KCiAgICAgIC50YWItaWNvbiB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC50YWItaWNvbi5ydW5uaW5nIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIgNzAlIDQwJSkiLCJoc2woMTQyIDcwJSA1NSUpIil9OwogICAgICB9CgogICAgICAudGFiLWxhYmVsIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmV4aXQtYmFkZ2UgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBwYWRkaW5nOiAxcHggNXB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZXhpdC1iYWRnZS5zdWNjZXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDE0MiA3MCUgOTAlKSIsImhzbCgxNDIgMzAlIDIwJSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMTQyIDcwJSAzNSUpIiwiaHNsKDE0MiA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLmV4aXQtYmFkZ2UuZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgOTMlKSIsImhzbCgwIDMwJSAyMCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgNzAlIDQ1JSkiLCJoc2woMCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLnRhYi1jbG9zZSB7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLXRhYjpob3ZlciAudGFiLWNsb3NlIHsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgIH0KCiAgICAgIC50YWItY2xvc2U6aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDI1JSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgNTAlKSIsImhzbCgwIDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA1MCUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLyogeHRlcm0uanMgc3R5bGVzICovCiAgICAgIC54dGVybSB7CiAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYScgMDsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLW1zLXVzZXItc2VsZWN0OiBub25lOwogICAgICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC54dGVybS5mb2N1cywKICAgICAgLnh0ZXJtOmZvY3VzIHsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLWhlbHBlcnMgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgei1pbmRleDogNTsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS1oZWxwZXItdGV4dGFyZWEgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgYm9yZGVyOiAwOwogICAgICAgIG1hcmdpbjogMDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICBsZWZ0OiAtOTk5OWVtOwogICAgICAgIHRvcDogMDsKICAgICAgICB3aWR0aDogMDsKICAgICAgICBoZWlnaHQ6IDA7CiAgICAgICAgei1pbmRleDogLTU7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHJlc2l6ZTogbm9uZTsKICAgICAgfQoKICAgICAgLnh0ZXJtIC5jb21wb3NpdGlvbi12aWV3IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwMDAwMDAiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMzMzMzMzIiwiI2ZmZmZmZiIpfTsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgIH0KCiAgICAgIC54dGVybSAuY29tcG9zaXRpb24tdmlldy5hY3RpdmUgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXZpZXdwb3J0IHsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwMDAwMDAiKX07CiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXNjcmVlbiB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXNjcmVlbiBjYW52YXMgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS1zY3JvbGwtYXJlYSB7CiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOwogICAgICB9CgogICAgICAueHRlcm0tY2hhci1tZWFzdXJlLWVsZW1lbnQgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAtOTk5OWVtOwogICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgICAgIH0KCiAgICAgIC54dGVybSB7CiAgICAgICAgY3Vyc29yOiB0ZXh0OwogICAgICB9CgogICAgICAueHRlcm0uZW5hYmxlLW1vdXNlLWV2ZW50cyB7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAueHRlcm0ueHRlcm0tY3Vyc29yLXBvaW50ZXIgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLnh0ZXJtLmNvbHVtbi1zZWxlY3QuZm9jdXMgewogICAgICAgIGN1cnNvcjogY3Jvc3NoYWlyOwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLWFjY2Vzc2liaWxpdHksCiAgICAgIC54dGVybSAueHRlcm0tbWVzc2FnZSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC54dGVybSAubGl2ZS1yZWdpb24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAtOTk5OXB4OwogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgaGVpZ2h0OiAxcHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnh0ZXJtLWRpbSB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CgogICAgICAueHRlcm0tdW5kZXJsaW5lIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IE09dGhpcy5hY3RpdmVUYWJJZD90aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKHRoaXMuYWN0aXZlVGFiSWQpOm51bGw7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InRlcm1pbmFsLWNvbnRhaW5lciI+CiAgICAgICAgPCEtLSBNYWluIHRlcm1pbmFsIGFyZWEgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0idGVybWluYWwtY29udGVudCI+CiAgICAgICAgICAke00/d2AKICAgICAgICAgICAgPGRpdiBpZD0iYWN0aXZlLXRlcm1pbmFsLWNvbnRhaW5lciI+PC9kaXY+CiAgICAgICAgICBgOndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp0ZXJtaW5hbCJ9IGljb25TaXplPSIzMiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPHNwYW4+Tm8gdGVybWluYWwgb3Blbjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgfQogICAgICAgICAgPGRlZXMtYWN0aW9uYmFyPjwvZGVlcy1hY3Rpb25iYXI+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gVmVydGljYWwgdGFiIGJhciBvbiB0aGUgcmlnaHQgLS0+CiAgICAgICAgJHt0aGlzLnNob3dUYWJCYXI/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1iYXIiIHN0eWxlPSJ3aWR0aDogJHt0aGlzLnRhYkJhcldpZHRofXB4Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWJhci1oZWFkZXIiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWItYmFyLXRpdGxlIj5UZXJtaW5hbHM8L3NwYW4+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGFiLWJhci1hY3Rpb25zIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRhYi1hY3Rpb24iIEBjbGljaz0ke3RoaXMuaGFuZGxlQWRkVGFifSB0aXRsZT0iTmV3IFRlcm1pbmFsIj4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6cGx1cyJ9IGljb25TaXplPSIxNCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWItbGlzdCI+CiAgICAgICAgICAgICAgJHt0aGlzLnRhYnMubWFwKFM9PndgCiAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0ZXJtaW5hbC10YWIgJHtTLmlkPT09dGhpcy5hY3RpdmVUYWJJZD8iYWN0aXZlIjoiIn0gJHtTLmV4aXRlZD8iZXhpdGVkIjoiIn0iCiAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLnN3aXRjaFRvVGFiKFMuaWQpfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uCiAgICAgICAgICAgICAgICAgICAgLmljb249JHtTLmljb25OYW1lfQogICAgICAgICAgICAgICAgICAgIGljb25TaXplPSIxNCIKICAgICAgICAgICAgICAgICAgICBjbGFzcz0idGFiLWljb24gJHtTLnByb2Nlc3MmJiFTLmV4aXRlZD8icnVubmluZyI6IiJ9IgogICAgICAgICAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0YWItbGFiZWwiPiR7Uy5sYWJlbH08L3NwYW4+CiAgICAgICAgICAgICAgICAgICR7Uy5leGl0ZWQ/d2AKICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZXhpdC1iYWRnZSAke1MuZXhpdENvZGU9PT0wPyJzdWNjZXNzIjoiZXJyb3IifSI+CiAgICAgICAgICAgICAgICAgICAgICAke1MuZXhpdENvZGV9CiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgICAke1MuY2xvc2VhYmxlP3dgCiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYi1jbG9zZSIgQGNsaWNrPSR7UD0+dGhpcy5oYW5kbGVUYWJDbG9zZShQLFMuaWQpfT4KICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOngifSBpY29uU2l6ZT0iMTIiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGApfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6IiJ9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoKXtsZXQgTT1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZTt0aGlzLmlzQnJpZ2h0PU0udGhlbWVNYW5hZ2VyLmdvQnJpZ2h0Qm9vbGVhbix0aGlzLnRlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb249TS50aGVtZU1hbmFnZXIudGhlbWVPYnNlcnZhYmxlLnN1YnNjcmliZShGPT57dGhpcy5pc0JyaWdodD1GLHRoaXMudGFiTWFuYWdlci51cGRhdGVBbGxUaGVtZXMoRil9KTtsZXQgUz1Qcy5nZXRJbnN0YW5jZSgpLFtQLEFdPWF3YWl0IFByb21pc2UuYWxsKFtTLmxvYWRYdGVybSgpLFMubG9hZFh0ZXJtRml0QWRkb24oKV0pO3RoaXMudGFiTWFuYWdlci5zZXRYdGVybU1vZHVsZXMoUCxBKSxhd2FpdCB0aGlzLmNyZWF0ZVNoZWxsVGFiKCl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7bGV0IE09dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgiYWN0aXZlLXRlcm1pbmFsLWNvbnRhaW5lciIpO00mJnRoaXMucmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKE0pLHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbiYmKHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpLHRoaXMudGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbj1udWxsKSx0aGlzLnRhYk1hbmFnZXIuZGlzcG9zZUFsbCgpLGF3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCl9YXN5bmMgaGFuZGxlQWRkVGFiKCl7YXdhaXQgdGhpcy5jcmVhdGVTaGVsbFRhYigpfWhhbmRsZVRhYkNsb3NlKE0sUyl7TS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmNsb3NlVGFiKFMpfXN3aXRjaFRvVGFiKE0pe2lmKE09PT10aGlzLmFjdGl2ZVRhYklkKXJldHVybjtsZXQgUz10aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKE0pO2lmKCFTKXJldHVybjtsZXQgUD10aGlzLmFjdGl2ZVRhYklkO3RoaXMuYWN0aXZlVGFiSWQmJnRoaXMuZGV0YWNoQWN0aXZlVGVybWluYWwoKSx0aGlzLmFjdGl2ZVRhYklkPU0sdGhpcy50YWJzPXRoaXMudGFiTWFuYWdlci5nZXRBbGxUYWJzKCksdGhpcy51cGRhdGVDb21wbGV0ZS50aGVuKCgpPT57dGhpcy5hdHRhY2hUZXJtaW5hbFRvQ29udGFpbmVyKFMpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRhYi1zd2l0Y2hlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt0YWJJZDpNLHByZXZpb3VzVGFiSWQ6UH19KSl9KX1kZXRhY2hBY3RpdmVUZXJtaW5hbCgpe2xldCBNPXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoImFjdGl2ZS10ZXJtaW5hbC1jb250YWluZXIiKTtNJiYoTS5pbm5lckhUTUw9IiIpfWF0dGFjaFRlcm1pbmFsVG9Db250YWluZXIoTSl7bGV0IFM9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgiYWN0aXZlLXRlcm1pbmFsLWNvbnRhaW5lciIpO1MmJih0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUoUyksUy5pbm5lckhUTUw9IiIsTS50ZXJtaW5hbC5vcGVuKFMpLE0uZml0QWRkb24uZml0KCksTS50ZXJtaW5hbC5mb2N1cygpKX1oYW5kbGVSZXNpemUoKXtpZih0aGlzLmFjdGl2ZVRhYklkKXtsZXQgTT10aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKHRoaXMuYWN0aXZlVGFiSWQpO00mJk0uZml0QWRkb24uZml0KCl9fWFzeW5jIHNwYXduUHJvY2Vzc0ZvclRhYihNLFMsUD1bXSl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpe00udGVybWluYWwud3JpdGUoIlx4MUJbMzFtIiksTS50ZXJtaW5hbC53cml0ZShgXHUyNzRDIE5vIGV4ZWN1dGlvbiBlbnZpcm9ubWVudCBhdmFpbGFibGUuXHIKYCksTS50ZXJtaW5hbC53cml0ZSgiXHgxQlswbSIpO3JldHVybn10cnl7dGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkeXx8KE0udGVybWluYWwud3JpdGUoYEluaXRpYWxpemluZyBlbnZpcm9ubWVudC4uLlxyCmApLGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuaW5pdCgpKTtsZXQgQT1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnNwYXduKFMsUCk7QS5vdXRwdXQucGlwZVRvKG5ldyBXcml0YWJsZVN0cmVhbSh7d3JpdGU6cyhXPT57TS50ZXJtaW5hbC53cml0ZShXKX0sIndyaXRlIil9KSk7bGV0IEY9QS5pbnB1dC5nZXRXcml0ZXIoKTtNLnRlcm1pbmFsLm9uRGF0YShXPT57Ri53cml0ZShXKX0pLHRoaXMudGFiTWFuYWdlci5zZXRUYWJQcm9jZXNzKE0uaWQsQSxGKSx0aGlzLnRhYnM9dGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKSxBLmV4aXQudGhlbihXPT57dGhpcy5oYW5kbGVQcm9jZXNzRXhpdChNLmlkLFcpfSl9Y2F0Y2goQSl7TS50ZXJtaW5hbC53cml0ZSgiXHgxQlszMW0iKSxNLnRlcm1pbmFsLndyaXRlKGBcdTI3NEMgRmFpbGVkIHRvIHNwYXduIHByb2Nlc3M6ICR7QX1ccgpgKSxNLnRlcm1pbmFsLndyaXRlKCJceDFCWzBtIiksY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHNwYXduIHByb2Nlc3M6IixBKX19aGFuZGxlUHJvY2Vzc0V4aXQoTSxTKXtsZXQgUD10aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKE0pO2lmKCFQKXJldHVybjt0aGlzLnRhYk1hbmFnZXIubWFya1RhYkV4aXRlZChNLFMpO2xldCBBPVM9PT0wP2BccgpceDFCWzMybVtQcm9jZXNzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHldXHgxQlswbVxyCmA6YFxyClx4MUJbMzFtW1Byb2Nlc3MgZXhpdGVkIHdpdGggY29kZSAke1N9XVx4MUJbMG1ccgpgO1AudGVybWluYWwud3JpdGUoQSksdGhpcy50YWJzPXRoaXMudGFiTWFuYWdlci5nZXRBbGxUYWJzKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicHJvY2Vzcy1jb21wbGV0ZSIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt0YWJJZDpNLGV4aXRDb2RlOlN9fSkpLFAuY2xvc2VhYmxlJiZ0aGlzLnNob3dFeGl0ZWRUYWJBY3Rpb25iYXIoTSxQLmxhYmVsLFMpfWFzeW5jIHNob3dFeGl0ZWRUYWJBY3Rpb25iYXIoTSxTLFApe2xldCBBPVA9PT0wOyhhd2FpdCB0aGlzLnNob3dBY3Rpb25iYXIoe21lc3NhZ2U6QT9gIiR7U30iIGNvbXBsZXRlZC4gQ2xvc2UgdGFiP2A6YCIke1N9IiBleGl0ZWQgKGNvZGUgJHtQfSkuIENsb3NlIHRhYj9gLHR5cGU6QT8iaW5mbyI6Indhcm5pbmciLGljb246QT8ibHVjaWRlOmNoZWNrQ2lyY2xlIjoibHVjaWRlOmFsZXJ0VHJpYW5nbGUiLGFjdGlvbnM6W3tpZDoiY2xvc2UiLGxhYmVsOiJDbG9zZSBUYWIiLHByaW1hcnk6ITB9LHtpZDoia2VlcCIsbGFiZWw6IktlZXAgT3BlbiJ9XSx0aW1lb3V0OntkdXJhdGlvbjoxZTQsZGVmYXVsdEFjdGlvbklkOiJjbG9zZSJ9LGRpc21pc3NpYmxlOiEwfSkpLmFjdGlvbklkPT09ImNsb3NlIiYmdGhpcy5jbG9zZVRhYihNKX1hc3luYyBjcmVhdGVTaGVsbFRhYihNKXtsZXQgUz10aGlzLnRhYk1hbmFnZXIuY3JlYXRlVGFiKHt0eXBlOiJzaGVsbCIsbGFiZWw6TXx8YGJhc2ggJHt0aGlzLnRhYk1hbmFnZXIuZ2V0VGFiQ291bnQoKSsxfWAsY2xvc2VhYmxlOnRoaXMudGFiTWFuYWdlci5nZXRUYWJDb3VudCgpPjB9LHRoaXMuaXNCcmlnaHQpO3JldHVybiB0aGlzLnRhYnM9dGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKSx0aGlzLnN3aXRjaFRvVGFiKFMuaWQpLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsYXdhaXQgdGhpcy5zcGF3blByb2Nlc3NGb3JUYWIoUywianNoIiksdGhpcy50YWJNYW5hZ2VyLmdldFRhYkNvdW50KCk9PT0xJiZ0aGlzLnNldHVwQ29tbWFuZCYmKGF3YWl0IHRoaXMud2FpdEZvclByb21wdChTLnRlcm1pbmFsLCJ+LyIpLFMuaW5wdXRXcml0ZXImJlMuaW5wdXRXcml0ZXIud3JpdGUodGhpcy5zZXR1cENvbW1hbmQpKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ0YWItY3JlYXRlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt0YWJJZDpTLmlkfX0pKSxTLmlkfWFzeW5jIGNyZWF0ZVByb2Nlc3NUYWIoTSl7bGV0IFM9dGhpcy50YWJNYW5hZ2VyLmNyZWF0ZVRhYihNLHRoaXMuaXNCcmlnaHQpO3JldHVybiB0aGlzLnRhYnM9dGhpcy50YWJNYW5hZ2VyLmdldEFsbFRhYnMoKSxNLnN3aXRjaFRvVGFiIT09ITEmJnRoaXMuc3dpdGNoVG9UYWIoUy5pZCksYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxNLmNvbW1hbmQmJmF3YWl0IHRoaXMuc3Bhd25Qcm9jZXNzRm9yVGFiKFMsTS5jb21tYW5kLE0uYXJncyksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGFiLWNyZWF0ZWQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwLGRldGFpbDp7dGFiSWQ6Uy5pZH19KSksUy5pZH1nZXRBY3RpdmVUYWIoKXtyZXR1cm4gdGhpcy5hY3RpdmVUYWJJZCYmdGhpcy50YWJNYW5hZ2VyLmdldFRhYih0aGlzLmFjdGl2ZVRhYklkKXx8bnVsbH1nZXRUYWJzKCl7cmV0dXJuIHRoaXMudGFiTWFuYWdlci5nZXRBbGxUYWJzKCl9c2VsZWN0VGFiKE0pe3JldHVybiB0aGlzLnRhYk1hbmFnZXIuaGFzVGFiKE0pPyh0aGlzLnN3aXRjaFRvVGFiKE0pLCEwKTohMX1jbG9zZVRhYihNKXtsZXQgUz10aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKE0pO2lmKCFTfHwhUy5jbG9zZWFibGUpcmV0dXJuITE7aWYoTT09PXRoaXMuYWN0aXZlVGFiSWQpe2xldCBQPXRoaXMudGFiTWFuYWdlci5nZXRBbGxUYWJzKCksQT1QLmZpbmRJbmRleChXPT5XLmlkPT09TSksRj1QW0ErMV18fFBbQS0xXTtGP3RoaXMuc3dpdGNoVG9UYWIoRi5pZCk6KHRoaXMuYWN0aXZlVGFiSWQ9bnVsbCx0aGlzLmRldGFjaEFjdGl2ZVRlcm1pbmFsKCkpfXJldHVybiB0aGlzLnRhYk1hbmFnZXIuY2xvc2VUYWIoTSksdGhpcy50YWJzPXRoaXMudGFiTWFuYWdlci5nZXRBbGxUYWJzKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidGFiLWNsb3NlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt0YWJJZDpNfX0pKSwhMH13cml0ZVRvVGFiKE0sUyl7bGV0IFA9dGhpcy50YWJNYW5hZ2VyLmdldFRhYihNKTtyZXR1cm4gUD8oUC50ZXJtaW5hbC53cml0ZShTKSwhMCk6ITF9c2VuZElucHV0VG9UYWIoTSxTKXtsZXQgUD10aGlzLnRhYk1hbmFnZXIuZ2V0VGFiKE0pO3JldHVybiFQfHwhUC5pbnB1dFdyaXRlcj8hMTooUC5pbnB1dFdyaXRlci53cml0ZShTKSwhMCl9YXN5bmMgc2hvd0FjdGlvbmJhcihNKXtyZXR1cm4gdGhpcy50ZXJtaW5hbEFjdGlvbmJhcnx8KHRoaXMudGVybWluYWxBY3Rpb25iYXI9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLWFjdGlvbmJhciIpKSx0aGlzLnRlcm1pbmFsQWN0aW9uYmFyPy5zaG93KE0pfWFzeW5jIHdhaXRGb3JQcm9tcHQoTSxTKXtyZXR1cm4gbmV3IFByb21pc2UoUD0+e2xldCBBPXMoKCk9PntsZXQgRj1NLmJ1ZmZlci5hY3RpdmU7Zm9yKGxldCBXPTA7VzxGLmxlbmd0aDtXKyspe2xldCBqPUYuZ2V0TGluZShXKTtpZihqJiZqLnRyYW5zbGF0ZVRvU3RyaW5nKCkuaW5jbHVkZXMoUykpe3NldFRpbWVvdXQoKCk9PntQKCl9LDEwMCk7cmV0dXJufX1zZXRUaW1lb3V0KEEsMTAwKX0sImNoZWNrUHJvbXB0Iik7QSgpfSl9YXN5bmMgc2V0RW52aXJvbm1lbnRWYXJpYWJsZXMoTSl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpdGhyb3cgbmV3IEVycm9yKCJObyBleGVjdXRpb24gZW52aXJvbm1lbnQgYXZhaWxhYmxlIik7bGV0IFM9IiI7Zm9yKGxldCBQIGluIE0pUys9YGV4cG9ydCAke1B9PSIke01bUF19IgpgO2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud3JpdGVGaWxlKCIvc291cmNlLmVudiIsUyl9Z2V0RXhlY3V0aW9uRW52aXJvbm1lbnQoKXtyZXR1cm4gdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudH1zdGF0aWN7bG8ocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIHlKZSx3SmUsZjZhLGg2YSxtNmEsZzZhLGI2YT1mKCgpPT57bGUoKTtjbSgpO2Q0KCk7WnRlKCk7dWFlKCk7bmFlKCk7QWYoKTtWc2UoKTt5SmU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHdKZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sZjZhPSgoKT0+e2xldCBhPVtpZSgiZGVtby12aWV3LWRhc2hib2FyZCIpXSxlLHQ9W10scixpPXBlO3ZhciBvPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZW1vVmlld0Rhc2hib2FyZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBuPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO3lKZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpufSxudWxsLHQpLG89cj1lLnZhbHVlLG4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgfQogICAgICBoMSB7CiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMCIsIiNmZmYiKX07CiAgICAgIH0KICAgICAgZGVlcy1zdGF0c2dyaWQgewogICAgICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICAgIH0KICAgIGBdO3N0YXRzVGlsZXM9W3tpZDoidXNlcnMiLHRpdGxlOiJBY3RpdmUgVXNlcnMiLHZhbHVlOjEyMzQsdHlwZToibnVtYmVyIixpY29uOiJmYVVzZXJzIixkZXNjcmlwdGlvbjoiKzE1JSBmcm9tIGxhc3Qgd2VlayIsY29sb3I6IiMyMmM1NWUifSx7aWQ6InBhZ2V2aWV3cyIsdGl0bGU6IlBhZ2UgVmlld3MiLHZhbHVlOjU2NzAwLHR5cGU6Im51bWJlciIsaWNvbjoiZmFFeWUiLGRlc2NyaXB0aW9uOiI1Ni43ayB0b3RhbCB2aWV3cyIsY29sb3I6IiMzYjgyZjYifSx7aWQ6InVwdGltZSIsdGl0bGU6IlN5c3RlbSBVcHRpbWUiLHZhbHVlOjg5LHVuaXQ6IiUiLHR5cGU6ImdhdWdlIixpY29uOiJmYVNlcnZlciIsZGVzY3JpcHRpb246Ikxhc3QgMzAgZGF5cyIsY29sb3I6IiMxMGI5ODEiLGdhdWdlT3B0aW9uczp7bWluOjAsbWF4OjEwMCx0aHJlc2hvbGRzOlt7dmFsdWU6ODAsY29sb3I6IiNlZjQ0NDQifSx7dmFsdWU6OTAsY29sb3I6IiNmNTllMGIifSx7dmFsdWU6MTAwLGNvbG9yOiIjMTBiOTgxIn1dfX0se2lkOiJyZXNwb25zZSIsdGl0bGU6IkF2ZyBSZXNwb25zZSBUaW1lIix2YWx1ZTozLjIsdW5pdDoicyIsdHlwZToibnVtYmVyIixpY29uOiJmYUNsb2NrIixkZXNjcmlwdGlvbjoiLTAuNXMgaW1wcm92ZW1lbnQiLGNvbG9yOiIjZjU5ZTBiIn0se2lkOiJyZXZlbnVlIix0aXRsZToiTW9udGhseSBSZXZlbnVlIix2YWx1ZTo0ODUyMCx1bml0OiIkIix0eXBlOiJ0cmVuZCIsaWNvbjoiZmFEb2xsYXJTaWduIixkZXNjcmlwdGlvbjoiKzguMiUgZ3Jvd3RoIixjb2xvcjoiIzIyYzU1ZSIsdHJlbmREYXRhOlszNWUzLDM4ZTMsMzc1MDAsNDFlMywzOTgwMCw0MmUzLDQ0MTAwLDQzMjAwLDQ1NjAwLDQ3MTAwLDQ2ODAwLDQ4NTIwXX0se2lkOiJ0cmFmZmljIix0aXRsZToiVHJhZmZpYyBUcmVuZCIsdmFsdWU6MTY4MCx0eXBlOiJ0cmVuZCIsaWNvbjoiZmFDaGFydExpbmUiLGRlc2NyaXB0aW9uOiJMYXN0IDcgZGF5cyIsY29sb3I6IiMzYjgyZjYiLHRyZW5kRGF0YTpbMTIwMCwxMzUwLDExMDAsMTQ1MCwxNjAwLDE1NTAsMTY4MF19XTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGgxPkRhc2hib2FyZDwvaDE+CiAgICAgIDxwPldlbGNvbWUgdG8geW91ciBhcHBsaWNhdGlvbiBkYXNoYm9hcmQuIEhlcmUncyBhbiBvdmVydmlldyBvZiB5b3VyIG1ldHJpY3M6PC9wPgogICAgICA8ZGVlcy1zdGF0c2dyaWQKICAgICAgICAudGlsZXM9JHt0aGlzLnN0YXRzVGlsZXN9CiAgICAgICAgQHRpbGUtYWN0aW9uPSR7bj0+e2NvbnNvbGUubG9nKCJUaWxlIGFjdGlvbjoiLG4uZGV0YWlsKX19CiAgICAgID48L2RlZXMtc3RhdHNncmlkPgoKICAgICAgPGgyIHN0eWxlPSJtYXJnaW4tdG9wOiA0MHB4OyI+UmVjZW50IEFjdGl2aXR5PC9oMj4KICAgICAgPHA+QmVsb3cgaXMgYSBsb2cgb2YgcmVjZW50IHN5c3RlbSBldmVudHMgYW5kIHVzZXIgYWN0aXZpdHkgdG8gZGVtb25zdHJhdGUgc2Nyb2xsYWJsZSBjb250ZW50LjwvcD4KCiAgICAgICR7W3t0aW1lOiIyIG1pbiBhZ28iLGV2ZW50OiJVc2VyIGpvaG5AZXhhbXBsZS5jb20gbG9nZ2VkIGluIGZyb20gMTkyLjE2OC4xLjQyIix0eXBlOiJpbmZvIn0se3RpbWU6IjUgbWluIGFnbyIsZXZlbnQ6IkRlcGxveW1lbnQgdjMuNTIuMSBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5IG9uIHByb2R1Y3Rpb24iLHR5cGU6InN1Y2Nlc3MifSx7dGltZToiMTIgbWluIGFnbyIsZXZlbnQ6IkRhdGFiYXNlIGJhY2t1cCBmaW5pc2hlZCBcdTIwMTQgMi40IEdCIGNvbXByZXNzZWQiLHR5cGU6ImluZm8ifSx7dGltZToiMTggbWluIGFnbyIsZXZlbnQ6IlNTTCBjZXJ0aWZpY2F0ZSByZW5ld2VkIGZvciBhcGkuZXhhbXBsZS5jb20gKGV4cGlyZXMgMjAyNy0wNC0wMykiLHR5cGU6InN1Y2Nlc3MifSx7dGltZToiMjUgbWluIGFnbyIsZXZlbnQ6Ik1lbW9yeSB1c2FnZSBzcGlrZSBvbiB3b3JrZXItMDMgKDkyJSkgXHUyMDE0IGF1dG8tc2NhbGVkIHRvIDQgaW5zdGFuY2VzIix0eXBlOiJ3YXJuaW5nIn0se3RpbWU6IjMxIG1pbiBhZ28iLGV2ZW50OiJOZXcgdXNlciByZWdpc3RyYXRpb246IHNhcmFoQGNvbXBhbnkuaW8iLHR5cGU6ImluZm8ifSx7dGltZToiNDUgbWluIGFnbyIsZXZlbnQ6J1NjaGVkdWxlZCBqb2IgImNsZWFudXAtdGVtcC1maWxlcyIgY29tcGxldGVkIFx1MjAxNCByZW1vdmVkIDEsMjQ3IGZpbGVzJyx0eXBlOiJpbmZvIn0se3RpbWU6IjEgaG91ciBhZ28iLGV2ZW50OiJBUEkgcmF0ZSBsaW1pdCByZWFjaGVkIGZvciBjbGllbnQgYXBwLW1vYmlsZS1pb3MgKDQyOSByZXNwb25zZXMpIix0eXBlOiJ3YXJuaW5nIn0se3RpbWU6IjEuNSBob3VycyBhZ28iLGV2ZW50OiJDRE4gY2FjaGUgcHVyZ2VkIGZvciAvYXNzZXRzLyogXHUyMDE0IDM0MCBvYmplY3RzIGludmFsaWRhdGVkIix0eXBlOiJpbmZvIn0se3RpbWU6IjIgaG91cnMgYWdvIixldmVudDoiRmFpbGVkIGxvZ2luIGF0dGVtcHQgZm9yIGFkbWluQGV4YW1wbGUuY29tIGZyb20gMjAzLjAuMTEzLjUwIChibG9ja2VkKSIsdHlwZToiZXJyb3IifSx7dGltZToiMi41IGhvdXJzIGFnbyIsZXZlbnQ6IldlYmhvb2sgZGVsaXZlcnkgdG8gaHR0cHM6Ly9ob29rcy5zbGFjay5jb20gc3VjY2VlZGVkICgyMDAgT0spIix0eXBlOiJpbmZvIn0se3RpbWU6IjMgaG91cnMgYWdvIixldmVudDonQ3JvbiBqb2IgImdlbmVyYXRlLXJlcG9ydHMiIHN0YXJ0ZWQgXHUyMDE0IHByb2Nlc3NpbmcgUTEgMjAyNiBkYXRhJyx0eXBlOiJpbmZvIn0se3RpbWU6IjMuNSBob3VycyBhZ28iLGV2ZW50OiJMb2FkIGJhbGFuY2VyIGhlYWx0aCBjaGVjazogYWxsIDggbm9kZXMgaGVhbHRoeSIsdHlwZToic3VjY2VzcyJ9LHt0aW1lOiI0IGhvdXJzIGFnbyIsZXZlbnQ6IkROUyBwcm9wYWdhdGlvbiBjb21wbGV0ZSBmb3IgbmV3IHN1YmRvbWFpbiBzdGFnaW5nLmV4YW1wbGUuY29tIix0eXBlOiJzdWNjZXNzIn1dLm1hcChuPT53YAogICAgICAgIDxkaXYgc3R5bGU9IgogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICAgIGdhcDogMTJweDsKICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDsKICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTAlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgIj4KICAgICAgICAgIDxzcGFuIHN0eWxlPSIKICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDU1JSkiLCJoc2woMCAwJSA0NSUpIil9OwogICAgICAgICAgIj4ke24udGltZX08L3NwYW4+CiAgICAgICAgICA8c3BhbiBzdHlsZT0iCiAgICAgICAgICAgIGNvbG9yOiAke24udHlwZT09PSJlcnJvciI/aC5iZFRoZW1lKCJoc2woMCA3MiUgNTAlKSIsImhzbCgwIDcyJSA2NSUpIik6bi50eXBlPT09Indhcm5pbmciP2guYmRUaGVtZSgiaHNsKDI1IDk1JSA1MCUpIiwiaHNsKDI1IDk1JSA2MyUpIik6bi50eXBlPT09InN1Y2Nlc3MiP2guYmRUaGVtZSgiaHNsKDE0MiA3MCUgNDAlKSIsImhzbCgxNDIgNzAlIDU1JSkiKTpoLmJkVGhlbWUoImhzbCgwIDAlIDMwJSkiLCJoc2woMCAwJSA3NSUpIil9OwogICAgICAgICAgIj4ke24uZXZlbnR9PC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICBgKX0KICAgIGB9c3RhdGlje3dKZShyLHQpfX07cmV0dXJuIG89cn0pKCksaDZhPSgoKT0+e2xldCBhPVtpZSgiZGVtby12aWV3LWFuYWx5dGljcyIpXSxlLHQ9W10scixpPXBlO3ZhciBvPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZW1vVmlld0FuYWx5dGljcyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBuPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO3lKZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpufSxudWxsLHQpLG89cj1lLnZhbHVlLG4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogNDBweDsKICAgICAgfQogICAgICBoMSB7CiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzAwMCIsIiNmZmYiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8aDE+QW5hbHl0aWNzPC9oMT4KICAgICAgPHA+VGhpcyBpcyB0aGUgYW5hbHl0aWNzIHZpZXcuIFlvdSBjYW4gYWRkIGNoYXJ0cyBhbmQgbWV0cmljcyBoZXJlLjwvcD4KICAgIGB9c3RhdGlje3dKZShyLHQpfX07cmV0dXJuIG89cn0pKCksbTZhPSgoKT0+e2xldCBhPVtpZSgiZGVtby12aWV3LXNldHRpbmdzIildLGUsdD1bXSxyLGk9cGU7dmFyIG89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlbW9WaWV3U2V0dGluZ3MiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDt5SmUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bn0sbnVsbCx0KSxvPXI9ZS52YWx1ZSxuJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KX1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgIH0KICAgICAgaDEgewogICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAiLCIjZmZmIil9OwogICAgICB9CiAgICAgIC5zZXR0aW5ncy1zZWN0aW9uIHsKICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgICB9CiAgICAgIC5zZXR0aW5ncy1zZWN0aW9uIGgyIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzMzMyIsIiNjY2MiKX07CiAgICAgIH0KICAgICAgLmhvcml6b250YWwtZm9ybS1zZWN0aW9uIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y1ZjVmNSIsIiMxYTFhMWEiKX07CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgbWFyZ2luOiAxNXB4IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8aDE+U2V0dGluZ3M8L2gxPgogICAgICA8cD5Db25maWd1cmUgeW91ciBhcHBsaWNhdGlvbiBzZXR0aW5ncyBiZWxvdzo8L3A+CiAgICAgIAogICAgICA8ZGl2IGNsYXNzPSJzZXR0aW5ncy1zZWN0aW9uIj4KICAgICAgICA8aDI+R2VuZXJhbCBTZXR0aW5nczwvaDI+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXRleHQga2V5PSJhcHBOYW1lIiBsYWJlbD0iQXBwbGljYXRpb24gTmFtZSIgdmFsdWU9Ik15IEFwcCI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0iYXBpRW5kcG9pbnQiIGxhYmVsPSJBUEkgRW5kcG9pbnQiIHZhbHVlPSJodHRwczovL2FwaS5leGFtcGxlLmNvbSI+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1kcm9wZG93bgogICAgICAgICAgICBrZXk9ImVudmlyb25tZW50IgogICAgICAgICAgICBsYWJlbD0iRW52aXJvbm1lbnQiCiAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkRldmVsb3BtZW50IixrZXk6ImRldiJ9LHtvcHRpb246IlN0YWdpbmciLGtleToic3RhZ2luZyJ9LHtvcHRpb246IlByb2R1Y3Rpb24iLGtleToicHJvZCJ9XX0KICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7e29wdGlvbjoiUHJvZHVjdGlvbiIsa2V5OiJwcm9kIn19CiAgICAgICAgICA+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gga2V5PSJlbmFibGVOb3RpZmljYXRpb25zIiBsYWJlbD0iRW5hYmxlIE5vdGlmaWNhdGlvbnMiIHZhbHVlPSJ0cnVlIj48L2RlZXMtaW5wdXQtY2hlY2tib3g+CiAgICAgICAgICA8ZGVlcy1pbnB1dC1jaGVja2JveCBrZXk9ImVuYWJsZUFuYWx5dGljcyIgbGFiZWw9IkVuYWJsZSBBbmFseXRpY3MiIHZhbHVlPSJmYWxzZSI+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPGRlZXMtZm9ybS1zdWJtaXQ+U2F2ZSBHZW5lcmFsIFNldHRpbmdzPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2Rpdj4KICAgICAgCiAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLXNlY3Rpb24iPgogICAgICAgIDxoMj5EaXNwbGF5IFByZWZlcmVuY2VzPC9oMj4KICAgICAgICA8ZGl2IGNsYXNzPSJob3Jpem9udGFsLWZvcm0tc2VjdGlvbiI+CiAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luLXRvcDogMDsgbWFyZ2luLWJvdHRvbTogMTZweDsiPlF1aWNrIGRpc3BsYXkgc2V0dGluZ3MgdXNpbmcgaG9yaXpvbnRhbCBsYXlvdXQ6PC9wPgogICAgICAgICAgPGRlZXMtZm9ybSBob3Jpem9udGFsLWxheW91dD4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24KICAgICAgICAgICAgICBrZXk9InRoZW1lIgogICAgICAgICAgICAgIGxhYmVsPSJUaGVtZSIKICAgICAgICAgICAgICAuZW5hYmxlU2VhcmNoPSR7ITF9CiAgICAgICAgICAgICAgLm9wdGlvbnM9JHtbe29wdGlvbjoiTGlnaHQiLGtleToibGlnaHQifSx7b3B0aW9uOiJEYXJrIixrZXk6ImRhcmsifSx7b3B0aW9uOiJBdXRvIixrZXk6ImF1dG8ifV19CiAgICAgICAgICAgICAgLnNlbGVjdGVkT3B0aW9uPSR7e29wdGlvbjoiRGFyayIsa2V5OiJkYXJrIn19CiAgICAgICAgICAgID48L2RlZXMtaW5wdXQtZHJvcGRvd24+CiAgICAgICAgICAgIDxkZWVzLWlucHV0LWRyb3Bkb3duCiAgICAgICAgICAgICAga2V5PSJsYW5ndWFnZSIKICAgICAgICAgICAgICBsYWJlbD0iTGFuZ3VhZ2UiCiAgICAgICAgICAgICAgLmVuYWJsZVNlYXJjaD0keyExfQogICAgICAgICAgICAgIC5vcHRpb25zPSR7W3tvcHRpb246IkVuZ2xpc2giLGtleToiZW4ifSx7b3B0aW9uOiJHZXJtYW4iLGtleToiZGUifSx7b3B0aW9uOiJTcGFuaXNoIixrZXk6ImVzIn0se29wdGlvbjoiRnJlbmNoIixrZXk6ImZyIn1dfQogICAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0ke3tvcHRpb246IkVuZ2xpc2giLGtleToiZW4ifX0KICAgICAgICAgICAgPjwvZGVlcy1pbnB1dC1kcm9wZG93bj4KICAgICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gga2V5PSJjb21wYWN0TW9kZSIgbGFiZWw9IkNvbXBhY3QgTW9kZSI+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPC9kZWVzLWZvcm0+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAKICAgICAgPGRpdiBjbGFzcz0ic2V0dGluZ3Mtc2VjdGlvbiI+CiAgICAgICAgPGgyPk5vdGlmaWNhdGlvbiBTZXR0aW5nczwvaDI+CiAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgIDxkZWVzLWlucHV0LXJhZGlvZ3JvdXAKICAgICAgICAgICAgLmxhYmVsPSR7IkVtYWlsIEZyZXF1ZW5jeSJ9CiAgICAgICAgICAgIC5vcHRpb25zPSR7WyJSZWFsLXRpbWUiLCJEYWlseSBEaWdlc3QiLCJXZWVrbHkgU3VtbWFyeSIsIk5ldmVyIl19CiAgICAgICAgICAgIC5zZWxlY3RlZE9wdGlvbj0keyJSZWFsLXRpbWUifQogICAgICAgICAgICAua2V5PSR7ImVtYWlsRnJlcXVlbmN5In0KICAgICAgICAgID48L2RlZXMtaW5wdXQtcmFkaW9ncm91cD4KICAgICAgICAgIDxkZWVzLWlucHV0LWNoZWNrYm94IGtleT0icHVzaE5vdGlmaWNhdGlvbnMiIGxhYmVsPSJFbmFibGUgUHVzaCBOb3RpZmljYXRpb25zIiB2YWx1ZT0idHJ1ZSI+PC9kZWVzLWlucHV0LWNoZWNrYm94PgogICAgICAgICAgPGRlZXMtaW5wdXQtY2hlY2tib3gga2V5PSJzb3VuZEFsZXJ0cyIgbGFiZWw9IlBsYXkgU291bmQgZm9yIEFsZXJ0cyIgdmFsdWU9InRydWUiPjwvZGVlcy1pbnB1dC1jaGVja2JveD4KICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PlVwZGF0ZSBOb3RpZmljYXRpb25zPC9kZWVzLWZvcm0tc3VibWl0PgogICAgICAgIDwvZGVlcy1mb3JtPgogICAgICA8L2Rpdj4KICAgIGB9c3RhdGlje3dKZShyLHQpfX07cmV0dXJuIG89cn0pKCksZzZhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgYm9keSB7CiAgICAgIG1hcmdpbjogMDsKICAgICAgcGFkZGluZzogMDsKICAgIH0KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgdG9wOiAwOwogICAgICBsZWZ0OiAwOwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtc2ltcGxlLWFwcGRhc2gKICAgICAgbmFtZT0iTXkgQXBwbGljYXRpb24iCiAgICAgIHRlcm1pbmFsU2V0dXBDb21tYW5kPSJlY2hvICdXZWxjb21lIHRvIHRoZSB0ZXJtaW5hbCEnIgogICAgICAuZ2xvYmFsTWVzc2FnZXM9JHtbe2lkOiJ1cGRhdGUiLHR5cGU6ImluZm8iLG1lc3NhZ2U6IkEgbmV3IHZlcnNpb24gKHYzLjUwLjApIGlzIGF2YWlsYWJsZSB3aXRoIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cyBhbmQgYnVnIGZpeGVzLiIsZGlzbWlzc2libGU6ITAsYWN0aW9uczpbe25hbWU6IlVwZGF0ZSBOb3ciLGljb25OYW1lOiJsdWNpZGU6ZG93bmxvYWQiLGFjdGlvbjpzKCgpPT5hbGVydCgiVXBkYXRpbmcuLi4iKSwiYWN0aW9uIil9LHtuYW1lOiJSZWxlYXNlIE5vdGVzIixhY3Rpb246cygoKT0+YWxlcnQoIk9wZW5pbmcgcmVsZWFzZSBub3Rlcy4uLiIpLCJhY3Rpb24iKX1dfSx7aWQ6Im1haW50ZW5hbmNlIix0eXBlOiJ3YXJuaW5nIixtZXNzYWdlOiJTY2hlZHVsZWQgbWFpbnRlbmFuY2Ugd2luZG93OiBBcHJpbCA1LCAyMDI2IDAyOjAwXHUyMDEzMDY6MDAgVVRDLiBTb21lIHNlcnZpY2VzIG1heSBiZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZS4iLGRpc21pc3NpYmxlOiEwfSx7aWQ6ImNyaXRpY2FsIix0eXBlOiJlcnJvciIsbWVzc2FnZToiWW91ciBTU0wgY2VydGlmaWNhdGUgZXhwaXJlcyBpbiAzIGRheXMuIFJlbmV3IG5vdyB0byBhdm9pZCBzZXJ2aWNlIGRpc3J1cHRpb24uIixkaXNtaXNzaWJsZTohMSxhY3Rpb25zOlt7bmFtZToiUmVuZXcgQ2VydGlmaWNhdGUiLGljb25OYW1lOiJsdWNpZGU6c2hpZWxkQ2hlY2siLGFjdGlvbjpzKCgpPT5hbGVydCgiUmVuZXdpbmcgY2VydGlmaWNhdGUuLi4iKSwiYWN0aW9uIil9XX1dfQogICAgICAudmlld1RhYnM9JHtbe25hbWU6IkRhc2hib2FyZCIsaWNvbk5hbWU6Imx1Y2lkZTpob21lIixlbGVtZW50OmY2YX0se25hbWU6IkFuYWx5dGljcyIsaWNvbk5hbWU6Imx1Y2lkZTpsaW5lQ2hhcnQiLGVsZW1lbnQ6aDZhLHN1YlZpZXdzOlt7bmFtZToiT3ZlcnZpZXciLGljb25OYW1lOiJsdWNpZGU6YWN0aXZpdHkiLGVsZW1lbnQ6aDZhfSx7bmFtZToiUmVwb3J0cyIsaWNvbk5hbWU6Imx1Y2lkZTpmaWxlVGV4dCIsZWxlbWVudDpmNmF9XX0se25hbWU6IlNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOnNldHRpbmdzIixzdWJWaWV3czpbe25hbWU6IlByb2ZpbGUiLGljb25OYW1lOiJsdWNpZGU6dXNlciIsZWxlbWVudDptNmF9LHtuYW1lOiJCaWxsaW5nIixpY29uTmFtZToibHVjaWRlOmNyZWRpdENhcmQiLGVsZW1lbnQ6bTZhfV19XX0KICAgICAgQGxvZ291dD0keygpPT57Y29uc29sZS5sb2coIkxvZ291dCBldmVudCB0cmlnZ2VyZWQiKSxhbGVydCgiTG9nb3V0IGNsaWNrZWQhIil9fQogICAgICBAdmlldy1zZWxlY3Q9JHthPT57Y29uc29sZS5sb2coIlZpZXcgc2VsZWN0ZWQ6IixhLmRldGFpbC52aWV3Lm5hbWUpfX0KICAgID48L2RlZXMtc2ltcGxlLWFwcGRhc2g+CiAgPC9kaXY+CmAsImRlbW9GdW5jIil9KTt2YXIgUzUsb24sdjZhLHg2YT1mKCgpPT57YjZhKCk7bGUoKTt2YSgpO1FlKCk7UzU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LG9uPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx2NmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXNpbXBsZS1hcHBkYXNoIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W107dmFyIE89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNTaW1wbGVBcHBEYXNoIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IFQ9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxkPVskKHt0eXBlOkFycmF5fSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9WyQoe3R5cGU6QXJyYXl9KV0seT1bSygpXSxOPVtLKCldLFM1KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibmFtZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4ibmFtZSJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLm5hbWUsImdldCIpLHNldDpzKChFLEIpPT57RS5uYW1lPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sbixsKSxTNSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InZpZXdUYWJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJ2aWV3VGFicyJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLnZpZXdUYWJzLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0Uudmlld1RhYnM9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxjLHApLFM1KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGVybWluYWxTZXR1cENvbW1hbmQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+InRlcm1pbmFsU2V0dXBDb21tYW5kImluIEUsImhhcyIpLGdldDpzKEU9PkUudGVybWluYWxTZXR1cENvbW1hbmQsImdldCIpLHNldDpzKChFLEIpPT57RS50ZXJtaW5hbFNldHVwQ29tbWFuZD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG0sdiksUzUodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJnbG9iYWxNZXNzYWdlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4iZ2xvYmFsTWVzc2FnZXMiaW4gRSwiaGFzIiksZ2V0OnMoRT0+RS5nbG9iYWxNZXNzYWdlcywiZ2V0Iiksc2V0OnMoKEUsQik9PntFLmdsb2JhbE1lc3NhZ2VzPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYixnKSxTNSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkVmlldyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4ic2VsZWN0ZWRWaWV3ImluIEUsImhhcyIpLGdldDpzKEU9PkUuc2VsZWN0ZWRWaWV3LCJnZXQiKSxzZXQ6cygoRSxCKT0+e0Uuc2VsZWN0ZWRWaWV3PUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sayxDKSxTNSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6Il9hY3RpdmVNZXNzYWdlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4iX2FjdGl2ZU1lc3NhZ2VzImluIEUsImhhcyIpLGdldDpzKEU9PkUuX2FjdGl2ZU1lc3NhZ2VzLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UuX2FjdGl2ZU1lc3NhZ2VzPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyx6KSxTNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpUfSxudWxsLHQpLE89cj1lLnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPWc2YTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlNpbXBsZSJdOyNlPW9uKHRoaXMsbiwiQXBwbGljYXRpb24gRGFzaGJvYXJkIik7Z2V0IG5hbWUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgbmFtZShUKXt0aGlzLiNlPVR9I3Q9KG9uKHRoaXMsbCksb24odGhpcyxjLFtdKSk7Z2V0IHZpZXdUYWJzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHZpZXdUYWJzKFQpe3RoaXMuI3Q9VH0jYT0ob24odGhpcyxwKSxvbih0aGlzLG0sJ2VjaG8gIlRlcm1pbmFsIHJlYWR5IicpKTtnZXQgdGVybWluYWxTZXR1cENvbW1hbmQoKXtyZXR1cm4gdGhpcy4jYX1zZXQgdGVybWluYWxTZXR1cENvbW1hbmQoVCl7dGhpcy4jYT1UfSNyPShvbih0aGlzLHYpLG9uKHRoaXMsYixbXSkpO2dldCBnbG9iYWxNZXNzYWdlcygpe3JldHVybiB0aGlzLiNyfXNldCBnbG9iYWxNZXNzYWdlcyhUKXt0aGlzLiNyPVR9I3M9KG9uKHRoaXMsZyksb24odGhpcyxrLHZvaWQgMCkpO2dldCBzZWxlY3RlZFZpZXcoKXtyZXR1cm4gdGhpcy4jc31zZXQgc2VsZWN0ZWRWaWV3KFQpe3RoaXMuI3M9VH0jaT0ob24odGhpcyxDKSxvbih0aGlzLF8sW10pKTtnZXQgX2FjdGl2ZU1lc3NhZ2VzKCl7cmV0dXJuIHRoaXMuI2l9c2V0IF9hY3RpdmVNZXNzYWdlcyhUKXt0aGlzLiNpPVR9c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQoKICAgICAgLm1haW5jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDBweDsKICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgcmlnaHQ6IDBweDsKICAgICAgICBib3R0b206IDBweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuYXBwYmFyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgbGVmdDogMHB4OwogICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjRweCk7CiAgICAgICAgd2lkdGg6IDI0MHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctc2Vjb25kYXJ5KTsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdHZWlzdCBTYW5zJywgc2Fucy1zZXJpZjsKICAgICAgICB6LWluZGV4OiAyOwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciBtaW4tY29udGVudDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuc2lkZWJhci1oZWFkZXIgewogICAgICAgIHBhZGRpbmc6IDIwcHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmhlYWRlci1pY29uLXdyYXBwZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMzZweDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJnLXRlcnRpYXJ5KTsKICAgICAgICBib3gtc2hhZG93OiAke2guYmRUaGVtZSgiMCAxcHggMnB4IHJnYigwIDAgMCAvIDAuMDUpIiwiMCAxcHggMnB4IHJnYigwIDAgMCAvIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXItaWNvbi13cmFwcGVyIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC5hcHBOYW1lIHsKICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTsKICAgICAgfQoKICAgICAgLnZpZXdUYWJzLWNvbnRhaW5lciB7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBwYWRkaW5nOiAxMnB4IDhweDsKICAgICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47CiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXNjcm9sbGJhci10aHVtYikgdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC52aWV3VGFicy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICB9CgogICAgICAudmlld1RhYnMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC52aWV3VGFicy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLXNjcm9sbGJhci10aHVtYik7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAudmlld1RhYnMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWItaG92ZXIpOwogICAgICB9CgogICAgICAuc2VjdGlvbi1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC52aWV3VGFicyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAudmlld1RhYiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICB9CgogICAgICAudmlld1RhYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjYyNjI2IiwiI2U1ZTVlNSIpfTsKICAgICAgfQoKICAgICAgLnZpZXdUYWI6YWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWFjdGl2ZSk7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5KTsKICAgICAgfQoKICAgICAgLnZpZXdUYWIuc2VsZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYWN0aXZlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLnNlbGVjdGVkOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogOHB4OwogICAgICAgIGJvdHRvbTogOHB4OwogICAgICAgIHdpZHRoOiAzcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAycHggMnB4IDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudmlld1RhYiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBvcGFjaXR5OiAwLjU1OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAudmlld1RhYjpob3ZlciBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDAuNzU7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLnNlbGVjdGVkIGRlZXMtaWNvbiB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudmlld1RhYiBzcGFuIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLnZpZXdUYWIgLmNoZXZyb24gewogICAgICAgIGZsZXg6IDAgMCBhdXRvOwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlLCBvcGFjaXR5IDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLmhhc1N1YnM6aG92ZXIgLmNoZXZyb24gewogICAgICAgIG9wYWNpdHk6IDAuNzU7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLmhhc1N1YnMuZ3JvdXBBY3RpdmUgLmNoZXZyb24gewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgfQoKICAgICAgLnN1YlZpZXdzIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMGZyOwogICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4OwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB0cmFuc2l0aW9uOgogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksCiAgICAgICAgICBtYXJnaW4tdG9wIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksCiAgICAgICAgICBtYXJnaW4tYm90dG9tIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7CiAgICAgIH0KCiAgICAgIC5zdWJWaWV3cy5leHBhbmRlZCB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxZnI7CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQoKICAgICAgLnN1YlZpZXdzOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogNHB4OwogICAgICAgIGJvdHRvbTogNHB4OwogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItZGVmYXVsdCk7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZTsKICAgICAgfQoKICAgICAgLnN1YlZpZXdzLmV4cGFuZGVkOjpiZWZvcmUgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5zdWJWaWV3cy1pbm5lciB7CiAgICAgICAgbWluLWhlaWdodDogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLnN1YiB7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICB9CgogICAgICAudmlld1RhYi5zdWIgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIH0KCiAgICAgIC52aWV3VGFiLnN1Yi5zZWxlY3RlZDo6YmVmb3JlIHsKICAgICAgICBsZWZ0OiAtMTJweDsKICAgICAgfQoKICAgICAgLmFwcEFjdGlvbnMgewogICAgICAgIHBhZGRpbmc6IDEycHggOHB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgfQoKICAgICAgLmFjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA4NCUgNjAlIC8gMC4wOCkiLCJoc2woMCA4NCUgNjAlIC8gMC4xMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA4NCUgNDUlKSIsImhzbCgwIDg0JSA2NSUpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uIGRlZXMtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGlvbjpob3ZlciBkZWVzLWljb24gewogICAgICAgIG9wYWNpdHk6IDAuOTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDg0JSA0NSUpIiwiaHNsKDAgODQlIDY1JSkiKX07CiAgICAgIH0KCiAgICAgIC5hcHBjb250ZW50IHsKICAgICAgICB6LWluZGV4OiAxOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDBweDsKICAgICAgICByaWdodDogMHB4OwogICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjRweCk7CiAgICAgICAgYm90dG9tOiAyNHB4OwogICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNDBweCk7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1zZWNvbmRhcnkpOwogICAgICAgIG92ZXJzY3JvbGwtYmVoYXZpb3I6IGNvbnRhaW47CiAgICAgIH0KCiAgICAgIC5hcHBjb250ZW50OjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogLThweDsKICAgICAgICB6LWluZGV4OiAxMDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgICB0byBib3R0b20sCiAgICAgICAgICAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjA4KSIsImhzbCgwIDAlIDAlIC8gMC40KSIpfSwKICAgICAgICAgICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDMpIiwiaHNsKDAgMCUgMCUgLyAwLjEyKSIpfSwKICAgICAgICAgIHRyYW5zcGFyZW50CiAgICAgICAgKTsKICAgICAgfQoKICAgICAgLmNvbnRyb2xiYXI6OmJlZm9yZSB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogLThweDsKICAgICAgICBsZWZ0OiAyNDBweDsKICAgICAgICByaWdodDogMDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoCiAgICAgICAgICB0byB0b3AsCiAgICAgICAgICAke2guYmRUaGVtZSgiaHNsKDAgMCUgMCUgLyAwLjA4KSIsImhzbCgwIDAlIDAlIC8gMC40KSIpfSwKICAgICAgICAgICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDMpIiwiaHNsKDAgMCUgMCUgLyAwLjEyKSIpfSwKICAgICAgICAgIHRyYW5zcGFyZW50CiAgICAgICAgKTsKICAgICAgfQoKICAgICAgLmNvbnRyb2xiYXIgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBib3R0b206IDBweDsKICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmctdGVydGlhcnkpOwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICB6LWluZGV4OiAxMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07CiAgICAgIH0KCiAgICAgIC5jb250cm9sIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGN1cnNvcjogZGVmYXVsdDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN0cm9uZyk7CgogICAgICB9CgogICAgICAuY29udHJvbDpmaXJzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5jb250cm9sOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAuY29udHJvbCBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLmNvbnRyb2wuc3RhdHVzLWNvbm5lY3RlZCBkZWVzLWljb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDE0MiA3MCUgMzUlKSIsImhzbCgxNDIgNzAlIDUwJSkiKX07CiAgICAgIH0KCiAgICAgIC5jb250cm9sLnN0YXR1cy10ZXJtaW5hbCBkZWVzLWljb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDM4IDkyJSA0NSUpIiwiaHNsKDM4IDkyJSA1NSUpIil9OwogICAgICB9CgogICAgICAvKiBHbG9iYWwgTWVzc2FnZSBCYW5uZXJzICovCiAgICAgIC5tZXNzYWdlQmFubmVyQXJlYSB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAyNDBweDsKICAgICAgICByaWdodDogMDsKICAgICAgICB6LWluZGV4OiAzOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4yNXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2VCYW5uZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTBweCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogJ0dlaXN0IFNhbnMnLCBzYW5zLXNlcmlmOwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLWRlZmF1bHQpOwogICAgICAgIGFuaW1hdGlvbjogYmFubmVyU2xpZGVEb3duIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkgZm9yd2FyZHM7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLmRpc21pc3NpbmcgewogICAgICAgIGFuaW1hdGlvbjogYmFubmVyU2xpZGVVcCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkgZm9yd2FyZHM7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgYmFubmVyU2xpZGVEb3duIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOwogICAgICAgIH0KICAgICAgICB0byB7CiAgICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogICAgICAgIH0KICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBiYW5uZXJTbGlkZVVwIHsKICAgICAgICBmcm9tIHsKICAgICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgICAgICAgfQogICAgICAgIHRvIHsKICAgICAgICAgIG9wYWNpdHk6IDA7CiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLm1lc3NhZ2VCYW5uZXIgZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLXRleHQgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAubWVzc2FnZUJhbm5lci1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLWFjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDgpIiwiaHNsKDAgMCUgMTAwJSAvIDAuMSkiKX07CiAgICAgICAgY29sb3I6IGluaGVyaXQ7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLWFjdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4xNSkiLCJoc2woMCAwJSAxMDAlIC8gMC4xOCkiKX07CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLWFjdGlvbjphY3RpdmUgewogICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45Nyk7CiAgICAgIH0KCiAgICAgIC5tZXNzYWdlQmFubmVyLWFjdGlvbiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLm1lc3NhZ2VCYW5uZXItZGlzbWlzcyB7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAyNHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLm1lc3NhZ2VCYW5uZXItZGlzbWlzczpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgICAgICBiYWNrZ3JvdW5kOiBoc2woMCAwJSAwJSAvIDAuMSk7CiAgICAgIH0KCiAgICAgIC8qIE1lc3NhZ2UgdHlwZTogaW5mbyAqLwogICAgICAubWVzc2FnZUJhbm5lci1pbmZvIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDk3JSkiLCJoc2woMjEwIDUwJSAxMCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxMCA3MCUgMzAlKSIsImhzbCgyMTAgNzAlIDgwJSkiKX07CiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMDA4NGZmOwogICAgICB9CiAgICAgIC5tZXNzYWdlQmFubmVyLWluZm8gZGVlcy1pY29uIHsKICAgICAgICBjb2xvcjogIzAwODRmZjsKICAgICAgfQoKICAgICAgLyogTWVzc2FnZSB0eXBlOiBzdWNjZXNzICovCiAgICAgIC5tZXNzYWdlQmFubmVyLXN1Y2Nlc3MgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMTQyIDcwJSA5NyUpIiwiaHNsKDE0MiAzMCUgMTAlKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIgNTAlIDI1JSkiLCJoc2woMTQyIDUwJSA4MCUpIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzIyYzU1ZTsKICAgICAgfQogICAgICAubWVzc2FnZUJhbm5lci1zdWNjZXNzIGRlZXMtaWNvbiB7CiAgICAgICAgY29sb3I6ICMyMmM1NWU7CiAgICAgIH0KCiAgICAgIC8qIE1lc3NhZ2UgdHlwZTogd2FybmluZyAqLwogICAgICAubWVzc2FnZUJhbm5lci13YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDM4IDkwJSA5NyUpIiwiaHNsKDM4IDQwJSAxMCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDM4IDYwJSAyNSUpIiwiaHNsKDM4IDYwJSA4MCUpIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2Y1OWUwYjsKICAgICAgfQogICAgICAubWVzc2FnZUJhbm5lci13YXJuaW5nIGRlZXMtaWNvbiB7CiAgICAgICAgY29sb3I6ICNmNTllMGI7CiAgICAgIH0KCiAgICAgIC8qIE1lc3NhZ2UgdHlwZTogZXJyb3IgKi8KICAgICAgLm1lc3NhZ2VCYW5uZXItZXJyb3IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgOTclKSIsImhzbCgwIDQwJSAxMCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgNjAlIDMwJSkiLCJoc2woMCA2MCUgODAlKSIpfTsKICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNlZjQ0NDQ7CiAgICAgIH0KICAgICAgLm1lc3NhZ2VCYW5uZXItZXJyb3IgZGVlcy1pY29uIHsKICAgICAgICBjb2xvcjogI2VmNDQ0NDsKICAgICAgfQoKICAgICAgLm1lc3NhZ2VCYW5uZXItZGlzbWlzczpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wOCkiLCJoc2woMCAwJSAxMDAlIC8gMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmFwcGNvbnRlbnQgewogICAgICAgIHRvcDogdmFyKC0tYmFubmVyLWFyZWEtaGVpZ2h0LCAwcHgpOwogICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjRweCAtIHZhcigtLWJhbm5lci1hcmVhLWhlaWdodCwgMHB4KSk7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJtYWluY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJhcHBiYXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhci1oZWFkZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItaWNvbi13cmFwcGVyIj4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIkeyJsdWNpZGU6bGF5b3V0R3JpZCJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFwcE5hbWUiPiR7dGhpcy5uYW1lfTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ2aWV3VGFicy1jb250YWluZXIiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5OYXZpZ2F0aW9uPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InZpZXdUYWJzIj4KICAgICAgICAgICAgICAke3RoaXMudmlld1RhYnMubWFwKFQ9PntsZXQgRT0hIVQuc3ViVmlld3M/Lmxlbmd0aCxCPUUmJnRoaXMuaXNHcm91cEFjdGl2ZShUKTtyZXR1cm4gd2AKICAgICAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ2aWV3VGFiICR7dGhpcy5zZWxlY3RlZFZpZXc9PT1UPyJzZWxlY3RlZCI6IiJ9ICR7RT8iaGFzU3VicyI6IiJ9ICR7Qj8iZ3JvdXBBY3RpdmUiOiIifSIKICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5sb2FkVmlldyhUKX0KICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICR7VC5pY29uTmFtZT93YAogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHtULmljb25OYW1lLmluY2x1ZGVzKCI6Iik/VC5pY29uTmFtZTpgbHVjaWRlOiR7VC5pY29uTmFtZX1gfSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOmZpbGUifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke1QubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgJHtFP3dgCiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIGNsYXNzPSJjaGV2cm9uIiAuaWNvbj0iJHsibHVjaWRlOmNoZXZyb25Eb3duIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAke0U/d2AKICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0ic3ViVmlld3MgJHtCPyJleHBhbmRlZCI6IiJ9IgogICAgICAgICAgICAgICAgICAgICAgP2luZXJ0PSR7IUJ9CiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3ViVmlld3MtaW5uZXIiPgogICAgICAgICAgICAgICAgICAgICAgICAke1Quc3ViVmlld3MubWFwKE09PndgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ2aWV3VGFiIHN1YiAke3RoaXMuc2VsZWN0ZWRWaWV3PT09TT8ic2VsZWN0ZWQiOiIifSIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7Uz0+e1Muc3RvcFByb3BhZ2F0aW9uKCksdGhpcy5sb2FkVmlldyhNKX19CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7TS5pY29uTmFtZT93YAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7TS5pY29uTmFtZS5pbmNsdWRlcygiOiIpP00uaWNvbk5hbWU6YGx1Y2lkZToke00uaWNvbk5hbWV9YH0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOmRvdCJ9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+JHtNLm5hbWV9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgIGB9KX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImFwcEFjdGlvbnMiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb24iIEBjbGljaz0keygpPT57dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibG9nb3V0Iix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX19PgogICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7Imx1Y2lkZTpsb2dPdXQifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPHNwYW4+U2lnbiBvdXQ8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLl9hY3RpdmVNZXNzYWdlcy5sZW5ndGg+MD93YAogICAgICAgIDxkaXYgY2xhc3M9Im1lc3NhZ2VCYW5uZXJBcmVhIj4KICAgICAgICAgICR7dGhpcy5fYWN0aXZlTWVzc2FnZXMubWFwKFQ9PndgCiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBjbGFzcz0ibWVzc2FnZUJhbm5lciBtZXNzYWdlQmFubmVyLSR7VC50eXBlfSIKICAgICAgICAgICAgICBkYXRhLW1lc3NhZ2UtaWQ9IiR7VC5pZH0iCiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSIke3RoaXMuZ2V0TWVzc2FnZUljb24oVCl9Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWVzc2FnZUJhbm5lci10ZXh0Ij4ke1QubWVzc2FnZX08L3NwYW4+CiAgICAgICAgICAgICAgJHtULmFjdGlvbnM/Lmxlbmd0aD93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZUJhbm5lci1hY3Rpb25zIj4KICAgICAgICAgICAgICAgICAgJHtULmFjdGlvbnMubWFwKEU9PndgCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZUJhbm5lci1hY3Rpb24iIEBjbGljaz0keygpPT5FLmFjdGlvbigpfT4KICAgICAgICAgICAgICAgICAgICAgICR7RS5pY29uTmFtZT93YDxkZWVzLWljb24gLmljb249IiR7RS5pY29uTmFtZS5pbmNsdWRlcygiOiIpP0UuaWNvbk5hbWU6YGx1Y2lkZToke0UuaWNvbk5hbWV9YH0iPjwvZGVlcy1pY29uPmA6IiJ9CiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj4ke0UubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAke1QuZGlzbWlzc2libGUhPT0hMT93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVzc2FnZUJhbm5lci1kaXNtaXNzIiBAY2xpY2s9JHsoKT0+dGhpcy5yZW1vdmVNZXNzYWdlKFQuaWQpfT4KICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOngifSI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICBgOiIifQogICAgICAgIDxkaXYgY2xhc3M9ImFwcGNvbnRlbnQiPgogICAgICAgICAgPCEtLSBDb250ZW50IGdvZXMgaGVyZSAtLT4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjb250cm9sYmFyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wgc3RhdHVzLWNvbm5lY3RlZCI+CiAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249IiR7Imx1Y2lkZTp3aWZpIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8c3Bhbj5Db25uZWN0ZWQ8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnRyb2wgc3RhdHVzLXRlcm1pbmFsIiBAY2xpY2s9JHt0aGlzLmxhdW5jaFRlcm1pbmFsfT4KICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0iJHsibHVjaWRlOnRlcm1pbmFsIn0iPjwvZGVlcy1pY29uPgogICAgICAgICAgICA8c3Bhbj5UZXJtaW5hbDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKFQpe2xldCBFPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO2lmKHN1cGVyLmZpcnN0VXBkYXRlZChUKSx0aGlzLnZpZXdUYWJzJiZ0aGlzLnZpZXdUYWJzLmxlbmd0aD4wKXtsZXQgQj10aGlzLnNlbGVjdGVkVmlld3x8dGhpcy52aWV3VGFic1swXTthd2FpdCB0aGlzLmxvYWRWaWV3KEIpfX13aWxsVXBkYXRlKFQpe2lmKFQuaGFzKCJnbG9iYWxNZXNzYWdlcyIpKXtsZXQgRT1uZXcgU2V0KHRoaXMuZ2xvYmFsTWVzc2FnZXMubWFwKEY9PkYuaWQpKSxCPW5ldyBTZXQodGhpcy5fYWN0aXZlTWVzc2FnZXMubWFwKEY9PkYuaWQpKSxNPXRoaXMuZ2xvYmFsTWVzc2FnZXMuZmlsdGVyKEY9PiFCLmhhcyhGLmlkKSksUz1ULmdldCgiZ2xvYmFsTWVzc2FnZXMiKXx8W10sUD1uZXcgU2V0KFMubWFwKEY9PkYuaWQpKSxBPW5ldyBTZXQoWy4uLlBdLmZpbHRlcihGPT4hRS5oYXMoRikpKTt0aGlzLl9hY3RpdmVNZXNzYWdlcz1bLi4udGhpcy5fYWN0aXZlTWVzc2FnZXMuZmlsdGVyKEY9PiFBLmhhcyhGLmlkKSksLi4uTV19fXVwZGF0ZWQoVCl7c3VwZXIudXBkYXRlZChUKSx0aGlzLnVwZGF0ZUJhbm5lck9mZnNldCgpfXVwZGF0ZUJhbm5lck9mZnNldCgpe3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+e2xldCBUPXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLm1lc3NhZ2VCYW5uZXJBcmVhIiksRT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5tYWluY29udGFpbmVyIiksQj1UP1Qub2Zmc2V0SGVpZ2h0OjA7RT8uc3R5bGUuc2V0UHJvcGVydHkoIi0tYmFubmVyLWFyZWEtaGVpZ2h0IixgJHtCfXB4YCl9KX1nZXRNZXNzYWdlSWNvbihUKXtyZXR1cm4gVC5pY29uP1QuaWNvbjp7aW5mbzoibHVjaWRlOmluZm8iLHN1Y2Nlc3M6Imx1Y2lkZTpjaXJjbGVDaGVjayIsd2FybmluZzoibHVjaWRlOnRyaWFuZ2xlQWxlcnQiLGVycm9yOiJsdWNpZGU6Y2lyY2xlWCJ9W1QudHlwZV19YWRkTWVzc2FnZShUKXtsZXQgRT1ULmlkfHxgbXNnLSR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHIoMiw5KX1gLEI9e2Rpc21pc3NpYmxlOiEwLC4uLlQsaWQ6RX07cmV0dXJuIHRoaXMuX2FjdGl2ZU1lc3NhZ2VzPVsuLi50aGlzLl9hY3RpdmVNZXNzYWdlcyxCXSxFfXJlbW92ZU1lc3NhZ2UoVCl7bGV0IEU9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKGBbZGF0YS1tZXNzYWdlLWlkPSIke1R9Il1gKTtFPyhFLmNsYXNzTGlzdC5hZGQoImRpc21pc3NpbmciKSxFLmFkZEV2ZW50TGlzdGVuZXIoImFuaW1hdGlvbmVuZCIsKCk9Pnt0aGlzLl9hY3RpdmVNZXNzYWdlcz10aGlzLl9hY3RpdmVNZXNzYWdlcy5maWx0ZXIoQj0+Qi5pZCE9PVQpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm1lc3NhZ2UtZGlzbWlzcyIse2RldGFpbDp7aWQ6VH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX0se29uY2U6ITB9KSk6dGhpcy5fYWN0aXZlTWVzc2FnZXM9dGhpcy5fYWN0aXZlTWVzc2FnZXMuZmlsdGVyKEI9PkIuaWQhPT1UKX1jbGVhck1lc3NhZ2VzKCl7dGhpcy5fYWN0aXZlTWVzc2FnZXM9W119Y3VycmVudFRlcm1pbmFsPShvbih0aGlzLHopLG51bGwpO2FzeW5jIGxhdW5jaFRlcm1pbmFsKCl7bGV0IFQ9YXdhaXQgdGhpcy5kb210b29sc1Byb21pc2U7aWYodGhpcy5jdXJyZW50VGVybWluYWwpe2F3YWl0IHRoaXMuY2xvc2VUZXJtaW5hbCgpO3JldHVybn1sZXQgRT10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm1haW5jb250YWluZXIiKSx7RGVlc1dvcmtzcGFjZVRlcm1pbmFsOkJ9PWF3YWl0IFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihwRygpLHA2YSkpLE09bmV3IEI7cmV0dXJuIE0uc2V0dXBDb21tYW5kPXRoaXMudGVybWluYWxTZXR1cENvbW1hbmQsdGhpcy5jdXJyZW50VGVybWluYWw9TSxFLmFwcGVuZENoaWxkKE0pLE0uc3R5bGUucG9zaXRpb249ImFic29sdXRlIixNLnN0eWxlLnpJbmRleD0iMTAiLE0uc3R5bGUudG9wPSJ2YXIoLS1iYW5uZXItYXJlYS1oZWlnaHQsIDBweCkiLE0uc3R5bGUubGVmdD0iMjQwcHgiLE0uc3R5bGUucmlnaHQ9IjBweCIsTS5zdHlsZS5oZWlnaHQ9ImF1dG8iLE0uc3R5bGUuYm90dG9tPSIyNHB4IixNLnN0eWxlLm9wYWNpdHk9IjAiLE0uc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGVZKDhweCkgc2NhbGUoMC45OSkiLE0uc3R5bGUudHJhbnNpdGlvbj0iYWxsIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkiLE0uc3R5bGUuYm94U2hhZG93PSIwIDI1cHggNTBweCAtMTJweCByZ2IoMCAwIDAgLyAwLjUpLCAwIDAgMCAxcHggcmdiKDI1NSAyNTUgMjU1IC8gMC4wNSkiLE0uYWRkRXZlbnRMaXN0ZW5lcigiY2xvc2UiLCgpPT50aGlzLmNsb3NlVGVybWluYWwoKSksYXdhaXQgVC5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDApLE0uc3R5bGUub3BhY2l0eT0iMSIsTS5zdHlsZS50cmFuc2Zvcm09InRyYW5zbGF0ZVkoMCkgc2NhbGUoMSkiLE19YXN5bmMgY2xvc2VUZXJtaW5hbCgpe2xldCBUPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlO3RoaXMuY3VycmVudFRlcm1pbmFsJiYodGhpcy5jdXJyZW50VGVybWluYWwuc3R5bGUub3BhY2l0eT0iMCIsdGhpcy5jdXJyZW50VGVybWluYWwuc3R5bGUudHJhbnNmb3JtPSJ0cmFuc2xhdGVZKDhweCkgc2NhbGUoMC45OSkiLGF3YWl0IFQuY29udmVuaWVuY2Uuc21hcnRkZWxheS5kZWxheUZvcigyNTApLHRoaXMuY3VycmVudFRlcm1pbmFsLnJlbW92ZSgpLHRoaXMuY3VycmVudFRlcm1pbmFsPW51bGwpfWlzR3JvdXBBY3RpdmUoVCl7cmV0dXJuIHRoaXMuc2VsZWN0ZWRWaWV3PT09VD8hMDpULnN1YlZpZXdzPy5zb21lKEU9PkU9PT10aGlzLnNlbGVjdGVkVmlldyk/PyExfWN1cnJlbnRWaWV3O2FzeW5jIGxvYWRWaWV3KFQpe2lmKCFULmVsZW1lbnQmJlQuc3ViVmlld3M/Lmxlbmd0aCl7bGV0IE09VC5zdWJWaWV3cy5maW5kKFM9PlMuZWxlbWVudCk7cmV0dXJuIE0/dGhpcy5sb2FkVmlldyhNKTp2b2lkIDB9aWYoIVQuZWxlbWVudClyZXR1cm47bGV0IEU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5hcHBjb250ZW50IiksQj1uZXcgVC5lbGVtZW50O3RoaXMuY3VycmVudFZpZXcmJnRoaXMuY3VycmVudFZpZXcucmVtb3ZlKCksRS5hcHBlbmRDaGlsZChCKSx0aGlzLmN1cnJlbnRWaWV3PUIsdGhpcy5zZWxlY3RlZFZpZXc9VCx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ2aWV3LXNlbGVjdCIse2RldGFpbDp7dmlldzpUfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfXN0YXRpY3tvbihyLHQpfX07cmV0dXJuIE89cn0pKCl9KTt2YXIgeTZhPWYoKCk9Pnt4NmEoKX0pO3ZhciB3NmEsTTZhPWYoKCk9PntsZSgpO3c2YT1zKCgpPT53YAogIDxzdHlsZT4KICAgIGJvZHkgewogICAgICBtYXJnaW46IDA7CiAgICAgIHBhZGRpbmc6IDA7CiAgICB9CiAgICAuZGVtby1jb250YWluZXIgewogICAgICB3aWR0aDogMTAwJTsKICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgIHRvcDogMDsKICAgICAgbGVmdDogMDsKICAgIH0KICA8L3N0eWxlPgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkZWVzLXNpbXBsZS1sb2dpbiAKICAgICAgbmFtZT0iTXkgQXBwbGljYXRpb24iCiAgICAgIEBsb2dpbj0ke2E9Pntjb25zb2xlLmxvZygiTG9naW4gZXZlbnQgcmVjZWl2ZWQ6IixhLmRldGFpbCk7bGV0IGU9YS5kZXRhaWw/LmRhdGF8fGEuZGV0YWlsO2U/LnVzZXJuYW1lJiZlPy5wYXNzd29yZD9hbGVydChgTG9naW4gYXR0ZW1wdGVkIHdpdGg6ClVzZXJuYW1lOiAke2UudXNlcm5hbWV9ClBhc3N3b3JkOiAke2UucGFzc3dvcmR9YCk6Y29uc29sZS5lcnJvcigiSW52YWxpZCBsb2dpbiBkYXRhIHN0cnVjdHVyZToiLGEuZGV0YWlsKX19CiAgICA+CiAgICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDQwcHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPgogICAgICAgIDxoMT5XZWxjb21lITwvaDE+CiAgICAgICAgPHA+VGhpcyBpcyB0aGUgc2xvdHRlZCBjb250ZW50IHRoYXQgYXBwZWFycyBhZnRlciBsb2dpbi48L3A+CiAgICAgIDwvZGl2PgogICAgPC9kZWVzLXNpbXBsZS1sb2dpbj4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBrNmEsTUplLFM2YSx6NmE9ZigoKT0+e002YSgpO2xlKCk7UWUoKTtLcigpO2s2YT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sTUplPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxTNmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXNpbXBsZS1sb2dpbiIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzU2ltcGxlTG9naW4iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKCldLGs2YSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im5hbWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+Im5hbWUiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5uYW1lLCJnZXQiKSxzZXQ6cygocCx1KT0+e3AubmFtZT11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksazZhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89dzZhO3N0YXRpYyBkZW1vR3JvdXBzPVsiU2ltcGxlIl07I2U9TUplKHRoaXMsbiwiQXBwbGljYXRpb24iKTtnZXQgbmFtZSgpe3JldHVybiB0aGlzLiNlfXNldCBuYW1lKGMpe3RoaXMuI2U9Y31zdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGZvbnQtZmFtaWx5OiAnR2Vpc3QgU2FucycsIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC5sb2dpbkNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1iZy1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnNsb3RDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLmxvZ2luIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDM2MHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5sb2dpbi1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAuc3ViaGVhZGVyIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZTo6cGFydChjb250ZW50KSB7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIGRlZXMtZm9ybSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIGRlZXMtaW5wdXQtdGV4dCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZSBkZWVzLWZvcm0tc3VibWl0IHsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJsb2dpbkNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9naW4iPgogICAgICAgICAgPGRpdiBjbGFzcz0ibG9naW4taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj5TaWduIGluPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1YmhlYWRlciI+RW50ZXIgeW91ciBjcmVkZW50aWFscyB0byBhY2Nlc3MgJHt0aGlzLm5hbWV9PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkZWVzLXRpbGUgLmhlYWRpbmc9JHsiQ3JlZGVudGlhbHMifT4KICAgICAgICAgICAgPGRlZXMtZm9ybT4KICAgICAgICAgICAgICA8ZGVlcy1pbnB1dC10ZXh0IGtleT0idXNlcm5hbWUiIGxhYmVsPSJVc2VybmFtZSIgcmVxdWlyZWQ+PC9kZWVzLWlucHV0LXRleHQ+CiAgICAgICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dCBrZXk9InBhc3N3b3JkIiBsYWJlbD0iUGFzc3dvcmQiIGlzUGFzc3dvcmRCb29sIHJlcXVpcmVkPjwvZGVlcy1pbnB1dC10ZXh0PgogICAgICAgICAgICAgIDxkZWVzLWZvcm0tc3VibWl0PlNpZ24gaW48L2RlZXMtZm9ybS1zdWJtaXQ+CiAgICAgICAgICAgIDwvZGVlcy1mb3JtPgogICAgICAgICAgPC9kZWVzLXRpbGU+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzbG90Q29udGFpbmVyIj4KICAgICAgICA8c2xvdD48L3Nsb3Q+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoYyl7c3VwZXIuZmlyc3RVcGRhdGVkKGMpO2xldCBwPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLWZvcm0iKTtwJiZwLmFkZEV2ZW50TGlzdGVuZXIoImZvcm1EYXRhIiwodT0+e3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImxvZ2luIix7ZGV0YWlsOnUuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9KSl9YXN5bmMgc3dpdGNoVG9TbG90dGVkQ29udGVudCgpe2xldCBjPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLHA9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5sb2dpbiIpLHU9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5sb2dpbkNvbnRhaW5lciIpLG09dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoIi5zbG90Q29udGFpbmVyIik7cC5zdHlsZS5vcGFjaXR5PSIwIixwLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgyMHB4KSIsdS5zdHlsZS5wb2ludGVyRXZlbnRzPSJub25lIixtLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgyMHB4KSIsYXdhaXQgYy5jb252ZW5pZW5jZS5zbWFydGRlbGF5LmRlbGF5Rm9yKDMwMCksbS5zdHlsZS5vcGFjaXR5PSIxIixtLnN0eWxlLnRyYW5zZm9ybT0idHJhbnNsYXRlWSgwcHgpIixhd2FpdCBjLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMzAwKSxtLnN0eWxlLnBvaW50ZXJFdmVudHM9ImFsbCJ9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLE1KZSh0aGlzLGwpfXN0YXRpY3tNSmUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIEM2YT1mKCgpPT57ejZhKCl9KTt2YXIgXzZhPWYoKCk9Pnt1NmEoKTt5NmEoKTtDNmEoKX0pO3ZhciBUNmE9ZigoKT0+e3ZhKCl9KTt2YXIgTDZhLCQ2YT1mKCgpPT57bGUoKTtMNmE9cygoKT0+d2AKICAgIDxzdHlsZT4KICAgICAgLmRlbW9XcmFwcGVyIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgCiAgICAgICAgYmFja2dyb3VuZDogIzg4ODg4ODsKICAgICAgfQogICAgICAubG9ncyB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICB3aWR0aDogNjAwcHg7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQogICAgICAubG9ncyBkaXYgewogICAgICAgIG1hcmdpbjogNHB4IDA7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgICA8ZGl2IGNsYXNzPSJkZW1vV3JhcHBlciI+CiAgICAgIDxkZWVzLXNlYXJjaGJhcgogICAgICAgIEBzZWFyY2gtY2hhbmdlZD0ke3ModD0+e2xldCBpPXQudGFyZ2V0LmNsb3Nlc3QoIi5kZW1vV3JhcHBlciIpPy5xdWVyeVNlbGVjdG9yKCIjY2hhbmdlZCIpO2kmJihpLnRleHRDb250ZW50PWBzZWFyY2gtY2hhbmdlZDogJHt0LmRldGFpbC52YWx1ZX1gKX0sIm9uQ2hhbmdlZCIpfQogICAgICAgIEBzZWFyY2gtc3VibWl0PSR7cyh0PT57bGV0IGk9dC50YXJnZXQuY2xvc2VzdCgiLmRlbW9XcmFwcGVyIik/LnF1ZXJ5U2VsZWN0b3IoIiNzdWJtaXR0ZWQiKTtpJiYoaS50ZXh0Q29udGVudD1gc2VhcmNoLXN1Ym1pdDogJHt0LmRldGFpbC52YWx1ZX1gKX0sIm9uU3VibWl0Iil9CiAgICAgID48L2RlZXMtc2VhcmNoYmFyPgogICAgICA8ZGl2IGNsYXNzPSJsb2dzIj4KICAgICAgICA8ZGl2IGlkPSJjaGFuZ2VkIj5zZWFyY2gtY2hhbmdlZDo8L2Rpdj4KICAgICAgICA8ZGl2IGlkPSJzdWJtaXR0ZWQiPnNlYXJjaC1zdWJtaXQ6PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgYCwiZGVtb0Z1bmMiKX0pO3ZhciBENmEsa0plLEE2YSxFNmE9ZigoKT0+e2xlKCk7VDEoKTskNmEoKTtRZSgpO0Q2YT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sa0plPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxBNmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXNlYXJjaGJhciIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzU2VhcmNoYmFyIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCgpXSxENmEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWx0ZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJmaWx0ZXJzImluIHAsImhhcyIpLGdldDpzKHA9PnAuZmlsdGVycywiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLmZpbHRlcnM9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLEQ2YShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPUw2YTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlV0aWxpdHkiXTtzdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgLyogVE9ETzogTWlncmF0ZSBoYXJkY29kZWQgdmFsdWVzIHRvIC0tZGVlcy0qIENTUyB2YXJpYWJsZXMgKi8KICAgICAgOmhvc3QgewogICAgICAgIHBhZGRpbmc6IDQwcHg7CiAgICAgICAgZm9udC1mYW1pbHk6IERlZXMgU2FuczsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VlZWVlYiIsIiMwMDAwMDAiKX07CiAgICAgIH0KCiAgICAgIC5zZWFyY2hib3hDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBtYXJnaW46IGF1dG87CiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzAwMDAwMDE1IiwiI2ZmZmZmZjE1Iil9OwogICAgICAgIC0tYm94SGVpZ2h0OiA2MHB4OwogICAgICAgIGhlaWdodDogdmFyKC0tYm94SGVpZ2h0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3hIZWlnaHQpOwogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMTQwcHg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiMwMDAwMDAxNSIsIiNmZmZmZmYyMCIpfTsKICAgICAgfQoKICAgICAgaW5wdXQgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZWVlZWViIil9OwogICAgICAgIHBhZGRpbmctbGVmdDogMjVweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IC04cHg7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zZWFyY2hCdXR0b24gewogICAgICAgIC0tYnV0dG9uUGFkZGluZzogOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWVlZWViIiwiIzAwMDAwMCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDAwMDAiLCIjZWVlZWViIil9OwogICAgICAgIGxpbmUtaGVpZ2h0OiBjYWxjKHZhcigtLWJveEhlaWdodCkgLSAodmFyKC0tYnV0dG9uUGFkZGluZykgKiAyKSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm94SGVpZ2h0KTsKICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIDsKICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICAKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcywgYmFja2dyb3VuZCAwLjFzOwogICAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tYnV0dG9uUGFkZGluZyk7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5zZWFyY2hCdXR0b246aG92ZXIgewogICAgICAgIGNvbG9yOiAjZmZmOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKGM0LmJsdWUsbDQuYmx1ZSl9OwogICAgICB9CgogICAgICAuc2VhcmNoQnV0dG9uOmFjdGl2ZSB7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoYzQuYmx1ZUFjdGl2ZSxsNC5ibHVlQWN0aXZlKX07CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLmZpbHRlcnMgewogICAgICAgIG1hcmdpbjogYXV0bzsKICAgICAgICBtYXgtd2lkdGg6IDgwMHB4OwogICAgICB9CiAgICBgXTsjZT1rSmUodGhpcyxuLFtdKTtnZXQgZmlsdGVycygpe3JldHVybiB0aGlzLiNlfXNldCBmaWx0ZXJzKGMpe3RoaXMuI2U9Y31zZWFyY2hJbnB1dD1rSmUodGhpcyxsKTtzZWFyY2hCdXR0b247Y29uc3RydWN0b3IoKXtzdXBlcigpfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJzZWFyY2hib3hDb250YWluZXIiPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBwbGFjZWhvbGRlcj0iWW91ciBTa2lsbHMgKGUuZy4gVHlwZVNjcmlwdCwgUnVzdCwgUHJvamVjdG1hbmFnZW1lbnQpIiAvPgogICAgICAgIDxkaXYgY2xhc3M9InNlYXJjaEJ1dHRvbiI+U2VhcmNoIC0+PC9kaXY+CiAgICAgIDwvZGl2PgogICAgICAke3RoaXMuZmlsdGVycy5sZW5ndGg+MD93YAogICAgICAgIDxkaXYgY2xhc3M9ImZpbHRlcnMiPgogICAgICAgIDxkZWVzLWhlYWRpbmcgbGV2ZWw9ImhyLXNtYWxsIj5GaWx0ZXJzPC9kZWVzLWhlYWRpbmc+CiAgICAgICAgPGRlZXMtaW5wdXQtZHJvcGRvd24gLmxhYmVsPSR7ImxvY2F0aW9uIn0+PC9kZWVzLWlucHV0LWRyb3Bkb3duPgogICAgICA8L2Rpdj4gIAogICAgICBgOndgYH0KICAgIGB9Zmlyc3RVcGRhdGVkKCl7dGhpcy5zZWFyY2hJbnB1dC5hZGRFdmVudExpc3RlbmVyKCJpbnB1dCIsKCk9Pnt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZWFyY2gtY2hhbmdlZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt2YWx1ZTp0aGlzLnNlYXJjaElucHV0LnZhbHVlfX0pKX0pLHRoaXMuc2VhcmNoSW5wdXQuYWRkRXZlbnRMaXN0ZW5lcigia2V5ZG93biIsYz0+e2Mua2V5PT09IkVudGVyIiYmdGhpcy5fZGlzcGF0Y2hTdWJtaXQoKX0pLHRoaXMuc2VhcmNoQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwoKT0+dGhpcy5fZGlzcGF0Y2hTdWJtaXQoKSl9X2Rpc3BhdGNoU3VibWl0KCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic2VhcmNoLXN1Ym1pdCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnt2YWx1ZTp0aGlzLnNlYXJjaElucHV0LnZhbHVlfX0pKX1zdGF0aWN7a0plKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBQNmE9ZigoKT0+e0U2YSgpfSk7dmFyIEk2YSxONmE9ZigoKT0+e2xlKCk7STZhPXMoKCk9PndgCiAgPHN0eWxlPgogICAgLmRlbW8tY29udGFpbmVyIHsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgZ2FwOiAzMnB4OwogICAgICBwYWRkaW5nOiA0OHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y4ZjlmYSIsIiMwYTBhMGEiKX07CiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgfQoKICAgIC5zZWN0aW9uIHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMyNzI3MmEiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgcGFkZGluZzogMjRweDsKICAgIH0KCiAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDkwOTBiIiwiI2ZhZmFmYSIpfTsKICAgIH0KCiAgICAuc2VjdGlvbi1kZXNjcmlwdGlvbiB7CiAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgIH0KCiAgICAudG9rZW4tZ3JpZCB7CiAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwMHB4LCAxZnIpKTsKICAgICAgZ2FwOiAxNnB4OwogICAgfQoKICAgIC50b2tlbi1pdGVtIHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICB9CgogICAgLnRva2VuLW5hbWUgewogICAgICBmb250LWZhbWlseTogJ0ludGVsIE9uZSBNb25vJywgbW9ub3NwYWNlOwogICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgIH0KCiAgICAudG9rZW4tdmFsdWUgewogICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5MDkwYiIsIiNmYWZhZmEiKX07CiAgICB9CgogICAgLnNwYWNpbmctZGVtbyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgZ2FwOiA4cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIH0KCiAgICAuc3BhY2luZy1ib3ggewogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiMzYjgyZjYiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIH0KCiAgICAucmFkaXVzLWRlbW8gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDE2cHg7CiAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIH0KCiAgICAucmFkaXVzLWJveCB7CiAgICAgIHdpZHRoOiA2MHB4OwogICAgICBoZWlnaHQ6IDYwcHg7CiAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQoKICAgIC5zaGFkb3ctZGVtbyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGdhcDogMjRweDsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgfQoKICAgIC5zaGFkb3ctYm94IHsKICAgICAgd2lkdGg6IDEwMHB4OwogICAgICBoZWlnaHQ6IDEwMHB4OwogICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMyNzI3MmEiKX07CiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgIH0KCiAgICAuaGVpZ2h0LWRlbW8gewogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBnYXA6IDE2cHg7CiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgfQoKICAgIC5oZWlnaHQtYm94IHsKICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjM2I4MmY2Iil9OwogICAgICB3aWR0aDogMTIwcHg7CiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgZGlzcGxheTogZmxleDsKICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICBmb250LXdlaWdodDogNTAwOwogICAgfQogIDwvc3R5bGU+CiAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgPGRlZXMtdGhlbWU+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPlNwYWNpbmcgU2NhbGU8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWRlc2NyaXB0aW9uIj4KICAgICAgICAgIENTUyB2YXJpYWJsZXM6IC0tZGVlcy1zcGFjaW5nLXhzIHRocm91Z2ggLS1kZWVzLXNwYWNpbmctM3hsCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2luZy1kZW1vIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNpbmctYm94IiBzdHlsZT0id2lkdGg6IHZhcigtLWRlZXMtc3BhY2luZy14cyk7IGhlaWdodDogdmFyKC0tZGVlcy1zcGFjaW5nLXhzKTsiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj54cyAoNHB4KTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjaW5nLWJveCIgc3R5bGU9IndpZHRoOiB2YXIoLS1kZWVzLXNwYWNpbmctc20pOyBoZWlnaHQ6IHZhcigtLWRlZXMtc3BhY2luZy1zbSk7Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+c20gKDhweCk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2luZy1ib3giIHN0eWxlPSJ3aWR0aDogdmFyKC0tZGVlcy1zcGFjaW5nLW1kKTsgaGVpZ2h0OiB2YXIoLS1kZWVzLXNwYWNpbmctbWQpOyI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPm1kICgxMnB4KTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjaW5nLWJveCIgc3R5bGU9IndpZHRoOiB2YXIoLS1kZWVzLXNwYWNpbmctbGcpOyBoZWlnaHQ6IHZhcigtLWRlZXMtc3BhY2luZy1sZyk7Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+bGcgKDE2cHgpPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwYWNpbmctYm94IiBzdHlsZT0id2lkdGg6IHZhcigtLWRlZXMtc3BhY2luZy14bCk7IGhlaWdodDogdmFyKC0tZGVlcy1zcGFjaW5nLXhsKTsiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj54bCAoMjRweCk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2luZy1ib3giIHN0eWxlPSJ3aWR0aDogdmFyKC0tZGVlcy1zcGFjaW5nLTJ4bCk7IGhlaWdodDogdmFyKC0tZGVlcy1zcGFjaW5nLTJ4bCk7Ij48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+MnhsICgzMnB4KTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjaW5nLWJveCIgc3R5bGU9IndpZHRoOiB2YXIoLS1kZWVzLXNwYWNpbmctM3hsKTsgaGVpZ2h0OiB2YXIoLS1kZWVzLXNwYWNpbmctM3hsKTsiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4zeGwgKDQ4cHgpPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Cb3JkZXIgUmFkaXVzIFNjYWxlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDU1MgdmFyaWFibGVzOiAtLWRlZXMtcmFkaXVzLXhzIHRocm91Z2ggLS1kZWVzLXJhZGl1cy1mdWxsCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icmFkaXVzLWRlbW8iPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmFkaXVzLWJveCIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IHZhcigtLWRlZXMtcmFkaXVzLXhzKTsiPnhzPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjJweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpdXMtYm94IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMtc20pOyI+c208L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+NHB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJhZGl1cy1ib3giIHN0eWxlPSJib3JkZXItcmFkaXVzOiB2YXIoLS1kZWVzLXJhZGl1cy1tZCk7Ij5tZDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj42cHg8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icmFkaXVzLWJveCIgc3R5bGU9ImJvcmRlci1yYWRpdXM6IHZhcigtLWRlZXMtcmFkaXVzLWxnKTsiPmxnPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjhweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpdXMtYm94IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMteGwpOyI+eGw8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+MTJweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJyYWRpdXMtYm94IiBzdHlsZT0iYm9yZGVyLXJhZGl1czogdmFyKC0tZGVlcy1yYWRpdXMtZnVsbCk7Ij5mdWxsPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjk5OXB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TaGFkb3cgRWxldmF0aW9uIFNjYWxlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNjcmlwdGlvbiI+CiAgICAgICAgICBDU1MgdmFyaWFibGVzOiAtLWRlZXMtc2hhZG93LXhzIHRocm91Z2ggLS1kZWVzLXNoYWRvdy1sZwogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1kZW1vIj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1ib3giIHN0eWxlPSJib3gtc2hhZG93OiB2YXIoLS1kZWVzLXNoYWRvdy14cyk7Ij54czwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj5taW5pbWFsPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNoYWRvdy1ib3giIHN0eWxlPSJib3gtc2hhZG93OiB2YXIoLS1kZWVzLXNoYWRvdy1zbSk7Ij5zbTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj5zdWJ0bGU8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2hhZG93LWJveCIgc3R5bGU9ImJveC1zaGFkb3c6IHZhcigtLWRlZXMtc2hhZG93LW1kKTsiPm1kPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPm1lZGl1bTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzaGFkb3ctYm94IiBzdHlsZT0iYm94LXNoYWRvdzogdmFyKC0tZGVlcy1zaGFkb3ctbGcpOyI+bGc8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+cHJvbWluZW50PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5Db250cm9sIEhlaWdodCBTY2FsZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPgogICAgICAgICAgQ1NTIHZhcmlhYmxlczogLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LXNtIHRocm91Z2ggLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LXhsCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVpZ2h0LWRlbW8iPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVpZ2h0LWJveCIgc3R5bGU9ImhlaWdodDogdmFyKC0tZGVlcy1jb250cm9sLWhlaWdodC1zbSk7Ij5zbTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4zMnB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlaWdodC1ib3giIHN0eWxlPSJoZWlnaHQ6IHZhcigtLWRlZXMtY29udHJvbC1oZWlnaHQtbWQpOyI+bWQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+MzZweDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWlnaHQtYm94IiBzdHlsZT0iaGVpZ2h0OiB2YXIoLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LWxnKTsiPmxnPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPjQwcHg8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVpZ2h0LWJveCIgc3R5bGU9ImhlaWdodDogdmFyKC0tZGVlcy1jb250cm9sLWhlaWdodC14bCk7Ij54bDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj40OHB4PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5UcmFuc2l0aW9uIER1cmF0aW9uczwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzY3JpcHRpb24iPgogICAgICAgICAgQ1NTIHZhcmlhYmxlczogLS1kZWVzLXRyYW5zaXRpb24tZmFzdCB0aHJvdWdoIC0tZGVlcy10cmFuc2l0aW9uLXNsb3dlcgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWdyaWQiPgogICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4taXRlbSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPi0tZGVlcy10cmFuc2l0aW9uLWZhc3Q8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tdmFsdWUiPjAuMXM8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4taXRlbSI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLW5hbWUiPi0tZGVlcy10cmFuc2l0aW9uLWRlZmF1bHQ8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tdmFsdWUiPjAuMTVzPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4tLWRlZXMtdHJhbnNpdGlvbi1zbG93PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLXZhbHVlIj4wLjJzPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1uYW1lIj4tLWRlZXMtdHJhbnNpdGlvbi1zbG93ZXI8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tdmFsdWUiPjAuM3M8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGVlcy10aGVtZT4KICA8L2Rpdj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBuNyxLMSxSNmEsTzZhPWYoKCk9PntsZSgpO1FlKCk7TjZhKCk7bjc9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEsxPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxSNmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXRoZW1lIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNUaGVtZSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBfPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6T2JqZWN0fSldLHU9WyQoe3R5cGU6T2JqZWN0fSldLHg9WyQoe3R5cGU6T2JqZWN0fSldLHk9WyQoe3R5cGU6T2JqZWN0fSldLG43KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VzdG9tU3BhY2luZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iY3VzdG9tU3BhY2luZyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmN1c3RvbVNwYWNpbmcsImdldCIpLHNldDpzKCh6LE8pPT57ei5jdXN0b21TcGFjaW5nPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSxuNyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1c3RvbVJhZGl1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iY3VzdG9tUmFkaXVzImluIHosImhhcyIpLGdldDpzKHo9PnouY3VzdG9tUmFkaXVzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouY3VzdG9tUmFkaXVzPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYyxwKSxuNyh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1c3RvbVNoYWRvd3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImN1c3RvbVNoYWRvd3MiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5jdXN0b21TaGFkb3dzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouY3VzdG9tU2hhZG93cz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdiksbjcodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXN0b21UcmFuc2l0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4iY3VzdG9tVHJhbnNpdGlvbnMiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5jdXN0b21UcmFuc2l0aW9ucywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmN1c3RvbVRyYW5zaXRpb25zPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sYixnKSxuNyh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1c3RvbUNvbnRyb2xIZWlnaHRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJjdXN0b21Db250cm9sSGVpZ2h0cyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmN1c3RvbUNvbnRyb2xIZWlnaHRzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouY3VzdG9tQ29udHJvbEhlaWdodHM9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLG43KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89STZhO3N0YXRpYyBkZW1vR3JvdXBzPVsiVXRpbGl0eSJdOyNlPUsxKHRoaXMsbixudWxsKTtnZXQgY3VzdG9tU3BhY2luZygpe3JldHVybiB0aGlzLiNlfXNldCBjdXN0b21TcGFjaW5nKF8pe3RoaXMuI2U9X30jdD0oSzEodGhpcyxsKSxLMSh0aGlzLGMsbnVsbCkpO2dldCBjdXN0b21SYWRpdXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY3VzdG9tUmFkaXVzKF8pe3RoaXMuI3Q9X30jYT0oSzEodGhpcyxwKSxLMSh0aGlzLG0sbnVsbCkpO2dldCBjdXN0b21TaGFkb3dzKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGN1c3RvbVNoYWRvd3MoXyl7dGhpcy4jYT1ffSNyPShLMSh0aGlzLHYpLEsxKHRoaXMsYixudWxsKSk7Z2V0IGN1c3RvbVRyYW5zaXRpb25zKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGN1c3RvbVRyYW5zaXRpb25zKF8pe3RoaXMuI3I9X30jcz0oSzEodGhpcyxnKSxLMSh0aGlzLGssbnVsbCkpO2dldCBjdXN0b21Db250cm9sSGVpZ2h0cygpe3JldHVybiB0aGlzLiNzfXNldCBjdXN0b21Db250cm9sSGVpZ2h0cyhfKXt0aGlzLiNzPV99c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBjb250ZW50czsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxzdHlsZT4KICAgICAgICAke3RoaXMuZ2VuZXJhdGVDdXN0b21TdHlsZXMoKX0KICAgICAgPC9zdHlsZT4KICAgICAgPHNsb3Q+PC9zbG90PgogICAgYH1nZW5lcmF0ZUN1c3RvbVN0eWxlcygpe2xldCBfPVsiOmhvc3QgeyJdO2lmKHRoaXMuY3VzdG9tU3BhY2luZylmb3IobGV0W3osT11vZiBPYmplY3QuZW50cmllcyh0aGlzLmN1c3RvbVNwYWNpbmcpKU8mJl8ucHVzaChgICAtLWRlZXMtc3BhY2luZy0ke3p9OiAke099O2ApO2lmKHRoaXMuY3VzdG9tUmFkaXVzKWZvcihsZXRbeixPXW9mIE9iamVjdC5lbnRyaWVzKHRoaXMuY3VzdG9tUmFkaXVzKSlPJiZfLnB1c2goYCAgLS1kZWVzLXJhZGl1cy0ke3p9OiAke099O2ApO2lmKHRoaXMuY3VzdG9tU2hhZG93cylmb3IobGV0W3osT11vZiBPYmplY3QuZW50cmllcyh0aGlzLmN1c3RvbVNoYWRvd3MpKU8mJl8ucHVzaChgICAtLWRlZXMtc2hhZG93LSR7en06ICR7T307YCk7aWYodGhpcy5jdXN0b21UcmFuc2l0aW9ucyl7Zm9yKGxldFt6LE9db2YgT2JqZWN0LmVudHJpZXModGhpcy5jdXN0b21UcmFuc2l0aW9ucykpaWYoTyl7bGV0IFQ9ej09PSJkZWZhdWx0Ij8iZGVmYXVsdCI6ejtfLnB1c2goYCAgLS1kZWVzLXRyYW5zaXRpb24tJHtUfTogJHtPfTtgKX19aWYodGhpcy5jdXN0b21Db250cm9sSGVpZ2h0cylmb3IobGV0W3osT11vZiBPYmplY3QuZW50cmllcyh0aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzKSlPJiZfLnB1c2goYCAgLS1kZWVzLWNvbnRyb2wtaGVpZ2h0LSR7en06ICR7T307YCk7cmV0dXJuIF8ucHVzaCgifSIpLF8uam9pbihgCmApfXNldFNwYWNpbmcoXyx6KXt0aGlzLmN1c3RvbVNwYWNpbmc9ey4uLnRoaXMuY3VzdG9tU3BhY2luZyxbX106en19c2V0UmFkaXVzKF8seil7dGhpcy5jdXN0b21SYWRpdXM9ey4uLnRoaXMuY3VzdG9tUmFkaXVzLFtfXTp6fX1zZXRTaGFkb3coXyx6KXt0aGlzLmN1c3RvbVNoYWRvd3M9ey4uLnRoaXMuY3VzdG9tU2hhZG93cyxbX106en19c2V0VHJhbnNpdGlvbihfLHope3RoaXMuY3VzdG9tVHJhbnNpdGlvbnM9ey4uLnRoaXMuY3VzdG9tVHJhbnNpdGlvbnMsW19dOnp9fXNldENvbnRyb2xIZWlnaHQoXyx6KXt0aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzPXsuLi50aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzLFtfXTp6fX1nZXRUaGVtZSgpe3JldHVybntjb2xvcnM6Wm8uY29sb3JzLHNwYWNpbmc6ey4uLlpvLnNwYWNpbmcsLi4udGhpcy5jdXN0b21TcGFjaW5nfSxyYWRpdXM6ey4uLlpvLnJhZGl1cywuLi50aGlzLmN1c3RvbVJhZGl1c30sc2hhZG93czp7Li4uWm8uc2hhZG93cywuLi50aGlzLmN1c3RvbVNoYWRvd3N9LHRyYW5zaXRpb25zOnsuLi5aby50cmFuc2l0aW9ucywuLi50aGlzLmN1c3RvbVRyYW5zaXRpb25zfSxjb250cm9sSGVpZ2h0czp7Li4uWm8uY29udHJvbEhlaWdodHMsLi4udGhpcy5jdXN0b21Db250cm9sSGVpZ2h0c319fXJlc2V0VG9EZWZhdWx0cygpe3RoaXMuY3VzdG9tU3BhY2luZz1udWxsLHRoaXMuY3VzdG9tUmFkaXVzPW51bGwsdGhpcy5jdXN0b21TaGFkb3dzPW51bGwsdGhpcy5jdXN0b21UcmFuc2l0aW9ucz1udWxsLHRoaXMuY3VzdG9tQ29udHJvbEhlaWdodHM9bnVsbH1hcHBseVRoZW1lKF8pe18uc3BhY2luZyYmKHRoaXMuY3VzdG9tU3BhY2luZz1fLnNwYWNpbmcpLF8ucmFkaXVzJiYodGhpcy5jdXN0b21SYWRpdXM9Xy5yYWRpdXMpLF8uc2hhZG93cyYmKHRoaXMuY3VzdG9tU2hhZG93cz1fLnNoYWRvd3MpLF8udHJhbnNpdGlvbnMmJih0aGlzLmN1c3RvbVRyYW5zaXRpb25zPV8udHJhbnNpdGlvbnMpLF8uY29udHJvbEhlaWdodHMmJih0aGlzLmN1c3RvbUNvbnRyb2xIZWlnaHRzPV8uY29udHJvbEhlaWdodHMpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxLMSh0aGlzLEMpfXN0YXRpY3tLMShyLHQpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgRjZhPWYoKCk9PntPNmEoKX0pO3ZhciBCNmEsSDZhLHE2YT1mKCgpPT57bGUoKTtTSmUoKTtCNmE9cyhhc3luYyBhPT57YXdhaXQgbmV3IFByb21pc2UoZT0+e3dpbmRvdy5zZXRUaW1lb3V0KCgpPT5lKCksYSl9KX0sIndhaXRGb3JEZW1vU3RlcCIpLEg2YT1zKCgpPT57bGV0IGE9ITE7cmV0dXJuIHdgCiAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBncmlkOyBnYXA6IDE2cHg7IHBsYWNlLWl0ZW1zOiBjZW50ZXI7IHBhZGRpbmc6IDMycHg7IHRleHQtYWxpZ246IGNlbnRlcjsiPgogICAgICA8cCBzdHlsZT0ibWFyZ2luOiAwOyBtYXgtd2lkdGg6IDU0MHB4OyBsaW5lLWhlaWdodDogMS42OyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7Ij4KICAgICAgICBMYXVuY2hlcyB0aGUgdXBkYXRlciBhcyBhIHN0ZXBwZXIgZmxvdy4gVGhlIGZpcnN0IHN0ZXAgc3RyZWFtcyB0ZXJtaW5hbC1zdHlsZQogICAgICAgIHByb2dyZXNzIHVwZGF0ZXMgYW5kIHRoZW4gbW92ZXMgYXV0b21hdGljYWxseSB0byB0aGUgcmVhZHkgc3RlcC4KICAgICAgPC9wPgogICAgICA8ZGVlcy1idXR0b24KICAgICAgICBAY2xpY2s9JHthc3luYygpPT57aWYoIWEpe2E9ITA7dHJ5e2xldCBlPWF3YWl0IHVpZS5jcmVhdGVBbmRTaG93KHtjdXJyZW50VmVyc2lvbjoiMy43OS4wIix1cGRhdGVkVmVyc2lvbjoiMy44MC4wIixtb3JlSW5mb1VybDoiaHR0cHM6Ly9jb2RlLmZvc3MuZ2xvYmFsL2Rlc2lnbi5lc3RhdGUvZGVlcy1jYXRhbG9nIixjaGFuZ2Vsb2dVcmw6Imh0dHBzOi8vY29kZS5mb3NzLmdsb2JhbC9kZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZy8tL2Jsb2IvbWFpbi9jaGFuZ2Vsb2cubWQiLHN1Y2Nlc3NBY3Rpb246ImNsb3NlIixzdWNjZXNzRGVsYXlNczoxZTR9KSx0PVt7bGluZToiQ2hlY2tpbmcgcmVsZWFzZSBtYW5pZmVzdCIscGVyY2VudGFnZToxMixkZWxheTo1NTB9LHtsaW5lOiJEb3dubG9hZGluZyBzaWduZWQgYnVuZGxlIixwZXJjZW50YWdlOjMzLGRlbGF5OjcwMH0se2xpbmU6IlZlcmlmeWluZyBjaGVja3N1bSIscGVyY2VudGFnZTo1MSxkZWxheTo2NTB9LHtsaW5lOiJBcHBseWluZyB1cGRhdGUgZmlsZXMiLHBlcmNlbnRhZ2U6NzQsZGVsYXk6ODAwfSx7bGluZToiQ2xlYW5pbmcgdXAgcHJldmlvdXMgcmVsZWFzZSIscGVyY2VudGFnZTo5MSxkZWxheTo2MDB9XTtlLnVwZGF0ZVByb2dyZXNzKHtzdGF0dXNUZXh0OiJDaGVja2luZyByZWxlYXNlIG1hbmlmZXN0Li4uIix0ZXJtaW5hbExpbmVzOlsiQ2hlY2tpbmcgcmVsZWFzZSBtYW5pZmVzdCJdLHBlcmNlbnRhZ2U6MTIsaW5kZXRlcm1pbmF0ZTohMH0pO2ZvcihsZXRbcixpXW9mIHQuZW50cmllcygpKXI+MCYmKGUuYXBwZW5kUHJvZ3Jlc3NMaW5lKGkubGluZSksZS51cGRhdGVQcm9ncmVzcyh7cGVyY2VudGFnZTppLnBlcmNlbnRhZ2Usc3RhdHVzVGV4dDpgJHtpLmxpbmV9Li4uYH0pKSxhd2FpdCBCNmEoaS5kZWxheSk7YXdhaXQgZS5tYXJrVXBkYXRlUmVhZHkoKSxhd2FpdCBCNmEoMTA1MDApfWZpbmFsbHl7YT0hMX19fX0KICAgICAgPlNob3cgdXBkYXRlciBmbG93PC9kZWVzLWJ1dHRvbj4KICAgIDwvZGl2PgogIGB9LCJkZW1vRnVuYyIpfSk7dmFyIFU0LGNvLHVpZSxTSmU9ZigoKT0+e2xlKCk7cTZhKCk7S3NlKCk7dXMoKTtVND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sY289ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHVpZT0oKCk9PntsZXQgYT1baWUoImRlZXMtdXBkYXRlciIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdO3ZhciBCPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzVXBkYXRlciIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBNPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6U3RyaW5nfSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLHk9WyQoe3R5cGU6U3RyaW5nfSldLE49WyQoe3R5cGU6TnVtYmVyfSldLE89WyQoe3R5cGU6U3RyaW5nfSldLFU0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFZlcnNpb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImN1cnJlbnRWZXJzaW9uImluIFMsImhhcyIpLGdldDpzKFM9PlMuY3VycmVudFZlcnNpb24sImdldCIpLHNldDpzKChTLFApPT57Uy5jdXJyZW50VmVyc2lvbj1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG4sbCksVTQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ1cGRhdGVkVmVyc2lvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idXBkYXRlZFZlcnNpb24iaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy51cGRhdGVkVmVyc2lvbiwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnVwZGF0ZWRWZXJzaW9uPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sYyxwKSxVNCh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vcmVJbmZvVXJsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJtb3JlSW5mb1VybCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLm1vcmVJbmZvVXJsLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MubW9yZUluZm9Vcmw9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxtLHYpLFU0KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2hhbmdlbG9nVXJsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJjaGFuZ2Vsb2dVcmwiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5jaGFuZ2Vsb2dVcmwsImdldCIpLHNldDpzKChTLFApPT57Uy5jaGFuZ2Vsb2dVcmw9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLFU0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3VjY2Vzc0FjdGlvbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4ic3VjY2Vzc0FjdGlvbiJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnN1Y2Nlc3NBY3Rpb24sImdldCIpLHNldDpzKChTLFApPT57Uy5zdWNjZXNzQWN0aW9uPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSxVNCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN1Y2Nlc3NEZWxheU1zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJzdWNjZXNzRGVsYXlNcyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnN1Y2Nlc3NEZWxheU1zLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1Muc3VjY2Vzc0RlbGF5TXM9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxfLHopLFU0KHRoaXMsbnVsbCxPLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3VjY2Vzc0FjdGlvbkxhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJzdWNjZXNzQWN0aW9uTGFiZWwiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5zdWNjZXNzQWN0aW9uTGFiZWwsImdldCIpLHNldDpzKChTLFApPT57Uy5zdWNjZXNzQWN0aW9uTGFiZWw9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxULEUpLFU0KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOk19LG51bGwsdCksQj1yPWUudmFsdWUsTSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpNfSl9c3RhdGljIGRlbW89SDZhO3N0YXRpYyBkZW1vR3JvdXBzPVsiVXRpbGl0eSJdO3N0YXRpYyBhc3luYyBjcmVhdGVBbmRTaG93KE09e30pe2xldCBTPW5ldyBCO3JldHVybiBTLmN1cnJlbnRWZXJzaW9uPU0uY3VycmVudFZlcnNpb24/PyIiLFMudXBkYXRlZFZlcnNpb249TS51cGRhdGVkVmVyc2lvbj8/IiIsUy5tb3JlSW5mb1VybD1NLm1vcmVJbmZvVXJsPz8iIixTLmNoYW5nZWxvZ1VybD1NLmNoYW5nZWxvZ1VybD8/IiIsUy5zdWNjZXNzQWN0aW9uPU0uc3VjY2Vzc0FjdGlvbj8/ImNsb3NlIixTLnN1Y2Nlc3NEZWxheU1zPU0uc3VjY2Vzc0RlbGF5TXM/PzFlNCxTLnN1Y2Nlc3NBY3Rpb25MYWJlbD1NLnN1Y2Nlc3NBY3Rpb25MYWJlbD8/IiIsUy5vblN1Y2Nlc3NBY3Rpb249TS5vblN1Y2Nlc3NBY3Rpb24/P251bGwsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChTKSxhd2FpdCBTLnNob3coKSxTfSNlPWNvKHRoaXMsbiwiIik7Z2V0IGN1cnJlbnRWZXJzaW9uKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGN1cnJlbnRWZXJzaW9uKE0pe3RoaXMuI2U9TX0jdD0oY28odGhpcyxsKSxjbyh0aGlzLGMsIiIpKTtnZXQgdXBkYXRlZFZlcnNpb24oKXtyZXR1cm4gdGhpcy4jdH1zZXQgdXBkYXRlZFZlcnNpb24oTSl7dGhpcy4jdD1NfSNhPShjbyh0aGlzLHApLGNvKHRoaXMsbSwiIikpO2dldCBtb3JlSW5mb1VybCgpe3JldHVybiB0aGlzLiNhfXNldCBtb3JlSW5mb1VybChNKXt0aGlzLiNhPU19I3I9KGNvKHRoaXMsdiksY28odGhpcyxiLCIiKSk7Z2V0IGNoYW5nZWxvZ1VybCgpe3JldHVybiB0aGlzLiNyfXNldCBjaGFuZ2Vsb2dVcmwoTSl7dGhpcy4jcj1NfSNzPShjbyh0aGlzLGcpLGNvKHRoaXMsaywiY2xvc2UiKSk7Z2V0IHN1Y2Nlc3NBY3Rpb24oKXtyZXR1cm4gdGhpcy4jc31zZXQgc3VjY2Vzc0FjdGlvbihNKXt0aGlzLiNzPU19I2k9KGNvKHRoaXMsQyksY28odGhpcyxfLDFlNCkpO2dldCBzdWNjZXNzRGVsYXlNcygpe3JldHVybiB0aGlzLiNpfXNldCBzdWNjZXNzRGVsYXlNcyhNKXt0aGlzLiNpPU19I289KGNvKHRoaXMseiksY28odGhpcyxULCIiKSk7Z2V0IHN1Y2Nlc3NBY3Rpb25MYWJlbCgpe3JldHVybiB0aGlzLiNvfXNldCBzdWNjZXNzQWN0aW9uTGFiZWwoTSl7dGhpcy4jbz1NfXN0ZXBwZXI9KGNvKHRoaXMsRSksbnVsbCk7cHJvZ3Jlc3NTdGVwPW51bGw7c2hvd1Byb21pc2U9bnVsbDtvblN1Y2Nlc3NBY3Rpb249bnVsbDtzdGF0aWMgc3R5bGVzPVtRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgYH1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5zaG93KCl9YXN5bmMgc2hvdygpe2lmKCF0aGlzLnN0ZXBwZXI/LmlzQ29ubmVjdGVkKXtpZih0aGlzLnNob3dQcm9taXNlKXJldHVybiB0aGlzLnNob3dQcm9taXNlO3RoaXMuc2hvd1Byb21pc2U9dGhpcy5vcGVuU3RlcHBlckZsb3coKTt0cnl7YXdhaXQgdGhpcy5zaG93UHJvbWlzZX1maW5hbGx5e3RoaXMuc2hvd1Byb21pc2U9bnVsbH19fXVwZGF0ZVByb2dyZXNzKE0peyF0aGlzLnN0ZXBwZXJ8fCF0aGlzLnByb2dyZXNzU3RlcHx8dGhpcy5zdGVwcGVyLnVwZGF0ZVByb2dyZXNzU3RlcChNLHRoaXMucHJvZ3Jlc3NTdGVwKX1hcHBlbmRQcm9ncmVzc0xpbmUoTSl7IXRoaXMuc3RlcHBlcnx8IXRoaXMucHJvZ3Jlc3NTdGVwfHx0aGlzLnN0ZXBwZXIuYXBwZW5kUHJvZ3Jlc3NTdGVwTGluZShNLHRoaXMucHJvZ3Jlc3NTdGVwKX1tYXJrVXBkYXRlRXJyb3IoTSl7dGhpcy5hcHBlbmRQcm9ncmVzc0xpbmUoYEVycm9yOiAke019YCksdGhpcy51cGRhdGVQcm9ncmVzcyh7aW5kZXRlcm1pbmF0ZTohMSxzdGF0dXNUZXh0Ok19KX1hc3luYyBtYXJrVXBkYXRlUmVhZHkoKXshdGhpcy5zdGVwcGVyfHwhdGhpcy5wcm9ncmVzc1N0ZXB8fCh0aGlzLnN0ZXBwZXIudXBkYXRlUHJvZ3Jlc3NTdGVwKHtwZXJjZW50YWdlOjEwMCxpbmRldGVybWluYXRlOiExLHN0YXR1c1RleHQ6IlVwZGF0ZSByZWFkeS4ifSx0aGlzLnByb2dyZXNzU3RlcCksdGhpcy5zdGVwcGVyLmFwcGVuZFByb2dyZXNzU3RlcExpbmUoIlVwZGF0ZSByZWFkeSIsdGhpcy5wcm9ncmVzc1N0ZXApLHRoaXMuc3RlcHBlci5zZWxlY3RlZFN0ZXA9PT10aGlzLnByb2dyZXNzU3RlcCYmdGhpcy5zdGVwcGVyLmdvTmV4dCgpKX1hc3luYyBkZXN0cm95KCl7bGV0IE09dGhpcy5zdGVwcGVyO3RoaXMuc3RlcHBlcj1udWxsLHRoaXMucHJvZ3Jlc3NTdGVwPW51bGwsTT8uaXNDb25uZWN0ZWQmJmF3YWl0IE0uZGVzdHJveSgpLHRoaXMucGFyZW50RWxlbWVudCYmdGhpcy5wYXJlbnRFbGVtZW50LnJlbW92ZUNoaWxkKHRoaXMpfWFzeW5jIG9wZW5TdGVwcGVyRmxvdygpe2xldHtzdGVwczpNLHByb2dyZXNzU3RlcDpTfT10aGlzLmNyZWF0ZVVwZGF0ZXJTdGVwcygpO3RoaXMucHJvZ3Jlc3NTdGVwPVMsdGhpcy5zdGVwcGVyPWF3YWl0IEptLmNyZWF0ZUFuZFNob3coe3N0ZXBzOk0sY2FuY2VsYWJsZTohMX0pfWNyZWF0ZVVwZGF0ZXJTdGVwcygpe2xldCBNPXRoaXMuZ2V0TGlua01lbnVPcHRpb25zKCksUz17dGl0bGU6IlVwZGF0aW5nIHRoZSBhcHBsaWNhdGlvbiIsY29udGVudDp0aGlzLnJlbmRlclByb2dyZXNzQ29udGVudCgpLHByb2dyZXNzU3RlcDp7bGFiZWw6dGhpcy5nZXRQcm9ncmVzc0xhYmVsKCkscGVyY2VudGFnZTo1LGluZGV0ZXJtaW5hdGU6ITAsc3RhdHVzUm93czo0LHN0YXR1c1RleHQ6IlByZXBhcmluZyB1cGRhdGUuLi4iLHRlcm1pbmFsTGluZXM6WyJQcmVwYXJpbmcgdXBkYXRlIl19LG1lbnVPcHRpb25zOk0ubGVuZ3RoPjA/TTp2b2lkIDB9LFA9e3RpdGxlOnRoaXMudXBkYXRlZFZlcnNpb24/YFZlcnNpb24gJHt0aGlzLnVwZGF0ZWRWZXJzaW9ufSByZWFkeWA6IlVwZGF0ZSByZWFkeSIsY29udGVudDp0aGlzLnJlbmRlclJlYWR5Q29udGVudCgpLHByb2dyZXNzU3RlcDp7bGFiZWw6dGhpcy5nZXRTdWNjZXNzQ291bnRkb3duTGFiZWwodGhpcy5nZXRTdWNjZXNzRGVsYXlTZWNvbmRzKCkpLHBlcmNlbnRhZ2U6MCxpbmRldGVybWluYXRlOiExLHNob3dQZXJjZW50YWdlOiExLHN0YXR1c1Jvd3M6MixzdGF0dXNUZXh0OnRoaXMuZ2V0U3VjY2Vzc0NvdW50ZG93blN0YXR1cyh0aGlzLmdldFN1Y2Nlc3NEZWxheVNlY29uZHMoKSl9LHZhbGlkYXRpb25GdW5jOnMoYXN5bmMoQSxGLFcpPT57YXdhaXQgdGhpcy5ydW5TdWNjZXNzQ291bnRkb3duKEEsUCxXKX0sInZhbGlkYXRpb25GdW5jIil9O3JldHVybntzdGVwczpbUyxQXSxwcm9ncmVzc1N0ZXA6U319Z2V0UHJvZ3Jlc3NMYWJlbCgpe3JldHVybiB0aGlzLmN1cnJlbnRWZXJzaW9uJiZ0aGlzLnVwZGF0ZWRWZXJzaW9uP2Ake3RoaXMuY3VycmVudFZlcnNpb259IC0+ICR7dGhpcy51cGRhdGVkVmVyc2lvbn1gOnRoaXMudXBkYXRlZFZlcnNpb24/YFByZXBhcmluZyAke3RoaXMudXBkYXRlZFZlcnNpb259YDoiQXBwbGljYXRpb24gdXBkYXRlIn1nZXRTdWNjZXNzRGVsYXlTZWNvbmRzKCl7cmV0dXJuIE1hdGgubWF4KDEsTWF0aC5jZWlsKHRoaXMuc3VjY2Vzc0RlbGF5TXMvMWUzKSl9Z2V0U3VjY2Vzc0FjdGlvbkRpc3BsYXlMYWJlbCgpe3JldHVybiB0aGlzLnN1Y2Nlc3NBY3Rpb25MYWJlbD90aGlzLnN1Y2Nlc3NBY3Rpb25MYWJlbDp0aGlzLm9uU3VjY2Vzc0FjdGlvbj8iQ29udGludWluZyBhdXRvbWF0aWNhbGx5Ijp0aGlzLnN1Y2Nlc3NBY3Rpb249PT0icmVsb2FkIj8iUmVsb2FkaW5nIGFwcGxpY2F0aW9uIjoiQ2xvc2luZyB1cGRhdGVyIn1nZXRTdWNjZXNzQ291bnRkb3duTGFiZWwoTSl7cmV0dXJuYCR7dGhpcy5nZXRTdWNjZXNzQWN0aW9uRGlzcGxheUxhYmVsKCl9IGluICR7TX1zYH1nZXRTdWNjZXNzQ291bnRkb3duU3RhdHVzKE0pe2xldCBTPU09PT0xPyJzZWNvbmQiOiJzZWNvbmRzIjtyZXR1cm5gJHt0aGlzLmdldFN1Y2Nlc3NBY3Rpb25EaXNwbGF5TGFiZWwoKX0gaW4gJHtNfSAke1N9LmB9Z2V0U3VjY2Vzc0FjdGlvbk5vd0xhYmVsKCl7cmV0dXJuYCR7dGhpcy5nZXRTdWNjZXNzQWN0aW9uRGlzcGxheUxhYmVsKCl9IG5vdy4uLmB9Z2V0TGlua01lbnVPcHRpb25zKCl7bGV0IE09W107cmV0dXJuIHRoaXMubW9yZUluZm9VcmwmJk0ucHVzaCh7bmFtZToiTW9yZSBpbmZvIixhY3Rpb246cyhhc3luYygpPT57dGhpcy5vcGVuRXh0ZXJuYWxVcmwodGhpcy5tb3JlSW5mb1VybCl9LCJhY3Rpb24iKX0pLHRoaXMuY2hhbmdlbG9nVXJsJiZNLnB1c2goe25hbWU6IkNoYW5nZWxvZyIsYWN0aW9uOnMoYXN5bmMoKT0+e3RoaXMub3BlbkV4dGVybmFsVXJsKHRoaXMuY2hhbmdlbG9nVXJsKX0sImFjdGlvbiIpfSksTX1yZW5kZXJWZXJzaW9uTWV0YShNLFMpe3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgc3R5bGU9ImRpc3BsYXk6IGdyaWQ7IGdhcDogNHB4OyBtaW4td2lkdGg6IDEzMnB4OyBwYWRkaW5nOiAxMnB4IDE0cHg7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7IGJvcmRlci1yYWRpdXM6IDhweDsgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7IgogICAgICA+CiAgICAgICAgPGRpdgogICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7IgogICAgICAgID4KICAgICAgICAgICR7TX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2CiAgICAgICAgICBzdHlsZT0ke2Bmb250LWZhbWlseTogJHtZdGV9OyBmb250LXNpemU6IDEzcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpO2B9CiAgICAgICAgPgogICAgICAgICAgJHtTfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9cmVuZGVyUHJvZ3Jlc3NDb250ZW50KCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGdyaWQ7IGdhcDogMThweDsgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOyI+CiAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZ3JpZDsgZ2FwOiA2cHg7Ij4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMTFweDsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7IgogICAgICAgICAgPgogICAgICAgICAgICBBcHBsaWNhdGlvbiB1cGRhdGUKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdgogICAgICAgICAgICBzdHlsZT0iZm9udC1zaXplOiAxOHB4OyBsaW5lLWhlaWdodDogMS4zNTsgZm9udC13ZWlnaHQ6IDYwMDsgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7IgogICAgICAgICAgPgogICAgICAgICAgICBEb3dubG9hZGluZyBhbmQgYXBwbHlpbmcgdGhlIGxhdGVzdCByZWxlYXNlLgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luOiAwOyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjY1OyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7Ij4KICAgICAgICAgICAgJHt0aGlzLmN1cnJlbnRWZXJzaW9uJiZ0aGlzLnVwZGF0ZWRWZXJzaW9uP3dgTW92aW5nIGZyb20gPHN0cm9uZz4ke3RoaXMuY3VycmVudFZlcnNpb259PC9zdHJvbmc+IHRvIDxzdHJvbmc+JHt0aGlzLnVwZGF0ZWRWZXJzaW9ufTwvc3Ryb25nPi5gOnRoaXMudXBkYXRlZFZlcnNpb24/d2BQcmVwYXJpbmcgPHN0cm9uZz4ke3RoaXMudXBkYXRlZFZlcnNpb259PC9zdHJvbmc+IGZvciBpbnN0YWxsYXRpb24uYDoiVGhlIHVwZGF0ZXIgaXMgZmV0Y2hpbmcgdGhlIG5ld2VzdCBidWlsZCBhbmQgcHJlcGFyaW5nIGl0IGZvciBpbnN0YWxsYXRpb24uIn0KICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHt0aGlzLmN1cnJlbnRWZXJzaW9ufHx0aGlzLnVwZGF0ZWRWZXJzaW9uP3dgCiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDEwcHg7Ij4KICAgICAgICAgICAgICAgICR7dGhpcy5jdXJyZW50VmVyc2lvbj90aGlzLnJlbmRlclZlcnNpb25NZXRhKCJDdXJyZW50IHZlcnNpb24iLHRoaXMuY3VycmVudFZlcnNpb24pOiIifQogICAgICAgICAgICAgICAgJHt0aGlzLnVwZGF0ZWRWZXJzaW9uP3RoaXMucmVuZGVyVmVyc2lvbk1ldGEoIkluY29taW5nIHZlcnNpb24iLHRoaXMudXBkYXRlZFZlcnNpb24pOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQoKICAgICAgICA8ZGl2CiAgICAgICAgICBzdHlsZT0iZGlzcGxheTogZ3JpZDsgZ2FwOiA0cHg7IHBhZGRpbmc6IDE0cHggMTZweDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsgYm9yZGVyLXJhZGl1czogOHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsiCiAgICAgICAgPgogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOyI+CiAgICAgICAgICAgIEF1dG9tYXRpYyBmbG93CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTNweDsgbGluZS1oZWlnaHQ6IDEuNjsgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7Ij4KICAgICAgICAgICAgVGhlIHVwZGF0ZXIgY29udGludWVzIG9uIGl0cyBvd24gb25jZSB0aGUgbmV3IGJ1aWxkIGlzIGluc3RhbGxlZCBhbmQgdmVyaWZpZWQuCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlclJlYWR5Q29udGVudCgpe2xldCBNPXRoaXMuZ2V0U3VjY2Vzc0RlbGF5U2Vjb25kcygpO3JldHVybiB3YAogICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBncmlkOyBnYXA6IDE4cHg7IGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsiPgogICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGdyaWQ7IGdhcDogNnB4OyI+CiAgICAgICAgICA8ZGl2CiAgICAgICAgICAgIHN0eWxlPSJmb250LXNpemU6IDExcHg7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAwLjA4ZW07IHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOyIKICAgICAgICAgID4KICAgICAgICAgICAgVXBkYXRlIGNvbXBsZXRlCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYKICAgICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTogMThweDsgbGluZS1oZWlnaHQ6IDEuMzU7IGZvbnQtd2VpZ2h0OiA2MDA7IGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOyIKICAgICAgICAgID4KICAgICAgICAgICAgJHt0aGlzLnVwZGF0ZWRWZXJzaW9uP3dgVmVyc2lvbiA8c3BhbiBzdHlsZT0ke2Bmb250LWZhbWlseTogJHtZdGV9OyBmb250LXNpemU6IDAuOTVlbTtgfT4ke3RoaXMudXBkYXRlZFZlcnNpb259PC9zcGFuPiBpcyByZWFkeSB0byB1c2UuYDoiVGhlIG5ldyB2ZXJzaW9uIGlzIHJlYWR5IHRvIHVzZS4ifQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luOiAwOyBmb250LXNpemU6IDE0cHg7IGxpbmUtaGVpZ2h0OiAxLjY1OyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7Ij4KICAgICAgICAgICAgVGhlIG5ldyBidWlsZCBoYXMgYmVlbiBpbnN0YWxsZWQgYW5kIHZlcmlmaWVkLiBZb3UgY2FuIHJldmlldyByZWxlYXNlIGRldGFpbHMgYmVsb3cgd2hpbGUgdGhlIG5leHQgYWN0aW9uIHJ1bnMgYXV0b21hdGljYWxseS4KICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHt0aGlzLnVwZGF0ZWRWZXJzaW9uP3dgCiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0iZGlzcGxheTogZmxleDsgZmxleC13cmFwOiB3cmFwOyBnYXA6IDEwcHg7Ij4KICAgICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJWZXJzaW9uTWV0YSgiSW5zdGFsbGVkIHZlcnNpb24iLHRoaXMudXBkYXRlZFZlcnNpb24pfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQoKICAgICAgICA8ZGl2CiAgICAgICAgICBzdHlsZT0iZGlzcGxheTogZ3JpZDsgZ2FwOiA0cHg7IHBhZGRpbmc6IDE0cHggMTZweDsgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsgYm9yZGVyLXJhZGl1czogOHB4OyBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsiCiAgICAgICAgPgogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOyI+CiAgICAgICAgICAgIE5leHQgYWN0aW9uCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDEuNTsgZm9udC13ZWlnaHQ6IDYwMDsgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsiPgogICAgICAgICAgICAke3RoaXMuZ2V0U3VjY2Vzc0FjdGlvbkRpc3BsYXlMYWJlbCgpfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEzcHg7IGxpbmUtaGVpZ2h0OiAxLjY7IGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOyI+CiAgICAgICAgICAgIFJ1bnMgYXV0b21hdGljYWxseSBpbiAke019IHNlY29uZHMuCiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIHJ1blN1Y2Nlc3NDb3VudGRvd24oTSxTLFApe2xldCBBPU1hdGgubWF4KDFlMyx0aGlzLnN1Y2Nlc3NEZWxheU1zKSxGPURhdGUubm93KCk7Zm9yKDshUD8uYWJvcnRlZDspe2xldCBXPU1hdGgubWluKEEsRGF0ZS5ub3coKS1GKSxqPU1hdGgubWF4KDAsQS1XKSxHPU1hdGgubWF4KDAsTWF0aC5jZWlsKGovMWUzKSk7aWYoTS51cGRhdGVQcm9ncmVzc1N0ZXAoe2xhYmVsOmo+MD90aGlzLmdldFN1Y2Nlc3NDb3VudGRvd25MYWJlbChHKTp0aGlzLmdldFN1Y2Nlc3NBY3Rpb25Ob3dMYWJlbCgpLHBlcmNlbnRhZ2U6Vy9BKjEwMCxpbmRldGVybWluYXRlOiExLHNob3dQZXJjZW50YWdlOiExLHN0YXR1c1RleHQ6aj4wP3RoaXMuZ2V0U3VjY2Vzc0NvdW50ZG93blN0YXR1cyhHKTp0aGlzLmdldFN1Y2Nlc3NBY3Rpb25Ob3dMYWJlbCgpfSxTKSxqPD0wKWJyZWFrO2lmKCFhd2FpdCB0aGlzLndhaXRGb3JDb3VudGRvd25UaWNrKDEwMCxQKSlyZXR1cm59YXdhaXQgdGhpcy5ydW5Db25maWd1cmVkU3VjY2Vzc0FjdGlvbigpfWFzeW5jIHdhaXRGb3JDb3VudGRvd25UaWNrKE0sUyl7cmV0dXJuIG5ldyBQcm9taXNlKFA9PntsZXQgQT0hMSxGPXMoRz0+e0F8fChBPSEwLFMmJlMucmVtb3ZlRXZlbnRMaXN0ZW5lcigiYWJvcnQiLFcpLFAoRykpfSwiZmluaXNoIiksVz1zKCgpPT57d2luZG93LmNsZWFyVGltZW91dChqKSxGKCExKX0sImhhbmRsZUFib3J0Iiksaj13aW5kb3cuc2V0VGltZW91dCgoKT0+e0YoITApfSxNKTtTJiZTLmFkZEV2ZW50TGlzdGVuZXIoImFib3J0IixXLHtvbmNlOiEwfSl9KX1hc3luYyBydW5Db25maWd1cmVkU3VjY2Vzc0FjdGlvbigpe2lmKHRoaXMub25TdWNjZXNzQWN0aW9uKXthd2FpdCB0aGlzLm9uU3VjY2Vzc0FjdGlvbigpO3JldHVybn1pZih0aGlzLnN1Y2Nlc3NBY3Rpb249PT0icmVsb2FkIil7YXdhaXQgdGhpcy5kZXN0cm95KCksd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO3JldHVybn1hd2FpdCB0aGlzLmRlc3Ryb3koKX1vcGVuRXh0ZXJuYWxVcmwoTSl7d2luZG93Lm9wZW4oTSwiX2JsYW5rIiwibm9vcGVuZXIsbm9yZWZlcnJlciIpfXN0YXRpY3tjbyhyLHQpfX07cmV0dXJuIEI9cn0pKCl9KTt2YXIgVjZhPWYoKCk9PntTSmUoKX0pO3ZhciBqNmE9ZigoKT0+e3pZZSgpfSk7dmFyIFU2YT1mKCgpPT57VDZhKCk7UDZhKCk7RjZhKCk7VjZhKCk7ajZhKCl9KTt2YXIgejUsbm4sVzZhLHBpZT1mKCgpPT57bGUoKTtKdCgpO1FlKCk7dmEoKTtZcigpO1lyKCk7cGMoKTtkNCgpO2Q0KCk7ejU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LG5uPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxXNmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXdvcmtzcGFjZS1maWxldHJlZSIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdO3ZhciBPPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzV29ya3NwYWNlRmlsZXRyZWUiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgVD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVtLKCldLHk9W0soKV0sTj1bSygpXSx6NSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV4ZWN1dGlvbkVudmlyb25tZW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJleGVjdXRpb25FbnZpcm9ubWVudCJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLmV4ZWN1dGlvbkVudmlyb25tZW50LCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UuZXhlY3V0aW9uRW52aXJvbm1lbnQ9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxuLGwpLHo1KHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicm9vdFBhdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+InJvb3RQYXRoImluIEUsImhhcyIpLGdldDpzKEU9PkUucm9vdFBhdGgsImdldCIpLHNldDpzKChFLEIpPT57RS5yb290UGF0aD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGMscCksejUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFBhdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+InNlbGVjdGVkUGF0aCJpbiBFLCJoYXMiKSxnZXQ6cyhFPT5FLnNlbGVjdGVkUGF0aCwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLnNlbGVjdGVkUGF0aD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG0sdiksejUodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0cmVlRGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4idHJlZURhdGEiaW4gRSwiaGFzIiksZ2V0OnMoRT0+RS50cmVlRGF0YSwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLnRyZWVEYXRhPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYixnKSx6NSh0aGlzLG51bGwseSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzTG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4iaXNMb2FkaW5nImluIEUsImhhcyIpLGdldDpzKEU9PkUuaXNMb2FkaW5nLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UuaXNMb2FkaW5nPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sayxDKSx6NSh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVycm9yTWVzc2FnZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4iZXJyb3JNZXNzYWdlImluIEUsImhhcyIpLGdldDpzKEU9PkUuZXJyb3JNZXNzYWdlLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UuZXJyb3JNZXNzYWdlPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyx6KSx6NShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpUfSxudWxsLHQpLE89cj1lLnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogMzAwcHg7IGhlaWdodDogNDAwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsiPgogICAgICA8ZGVlcy13b3Jrc3BhY2UtZmlsZXRyZWU+PC9kZWVzLXdvcmtzcGFjZS1maWxldHJlZT4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIldvcmtzcGFjZSJdOyNlPW5uKHRoaXMsbixudWxsKTtnZXQgZXhlY3V0aW9uRW52aXJvbm1lbnQoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZXhlY3V0aW9uRW52aXJvbm1lbnQoVCl7dGhpcy4jZT1UfSN0PShubih0aGlzLGwpLG5uKHRoaXMsYywiLyIpKTtnZXQgcm9vdFBhdGgoKXtyZXR1cm4gdGhpcy4jdH1zZXQgcm9vdFBhdGgoVCl7dGhpcy4jdD1UfSNhPShubih0aGlzLHApLG5uKHRoaXMsbSwiIikpO2dldCBzZWxlY3RlZFBhdGgoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2VsZWN0ZWRQYXRoKFQpe3RoaXMuI2E9VH0jcj0obm4odGhpcyx2KSxubih0aGlzLGIsW10pKTtnZXQgdHJlZURhdGEoKXtyZXR1cm4gdGhpcy4jcn1zZXQgdHJlZURhdGEoVCl7dGhpcy4jcj1UfSNzPShubih0aGlzLGcpLG5uKHRoaXMsaywhMSkpO2dldCBpc0xvYWRpbmcoKXtyZXR1cm4gdGhpcy4jc31zZXQgaXNMb2FkaW5nKFQpe3RoaXMuI3M9VH0jaT0obm4odGhpcyxDKSxubih0aGlzLF8sIiIpKTtnZXQgZXJyb3JNZXNzYWdlKCl7cmV0dXJuIHRoaXMuI2l9c2V0IGVycm9yTWVzc2FnZShUKXt0aGlzLiNpPVR9ZXhwYW5kZWRQYXRocz0obm4odGhpcyx6KSxuZXcgU2V0KTtsb2FkVHJlZVN0YXJ0ZWQ9ITE7Y2xpcGJvYXJkUGF0aD1udWxsO2NsaXBib2FyZE9wZXJhdGlvbj1udWxsO2ZpbGVXYXRjaGVyPW51bGw7cmVmcmVzaERlYm91bmNlVGltZW91dD1udWxsO2xhc3RFeGVjdXRpb25FbnZpcm9ubWVudD1udWxsO3N0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBvdmVyZmxvdzogYXV0bzsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTglKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAudHJlZS1jb250YWluZXIgewogICAgICAgIHBhZGRpbmc6IDhweCAwOwogICAgICB9CgogICAgICAudHJlZS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNHB4IDhweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIG1hcmdpbjogMXB4IDRweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRyZWUtaXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkzJSkiLCJoc2woMCAwJSAxNCUpIil9OwogICAgICB9CgogICAgICAudHJlZS1pdGVtLnNlbGVjdGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDk1JSkiLCJoc2woMjEwIDUwJSAyMCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDQwJSkiLCJoc2woMjEwIDEwMCUgNzAlKSIpfTsKICAgICAgfQoKICAgICAgLnRyZWUtaXRlbS5zZWxlY3RlZDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTAgMTAwJSA5MiUpIiwiaHNsKDIxMCA1MCUgMjUlKSIpfTsKICAgICAgfQoKICAgICAgLmluZGVudCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZXhwYW5kLWljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLmV4cGFuZC1pY29uLmV4cGFuZGVkIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7CiAgICAgIH0KCiAgICAgIC5leHBhbmQtaWNvbi5oaWRkZW4gewogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICAgIG1hcmdpbi1yaWdodDogNnB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbiBkZWVzLWljb24gewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbi5mb2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDQ1IDgwJSA0NSUpIiwiaHNsKDQ1IDcwJSA1NSUpIil9OwogICAgICB9CgogICAgICAuZmlsZS1pY29uLmZpbGUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24udHlwZXNjcmlwdCB7CiAgICAgICAgY29sb3I6IGhzbCgyMTEgNjAlIDQ4JSk7CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24uamF2YXNjcmlwdCB7CiAgICAgICAgY29sb3I6IGhzbCg1MyA5MyUgNTQlKTsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbi5qc29uIHsKICAgICAgICBjb2xvcjogaHNsKDQ1IDgwJSA1MCUpOwogICAgICB9CgogICAgICAuZmlsZS1pY29uLmh0bWwgewogICAgICAgIGNvbG9yOiBoc2woMTQgNzclIDUyJSk7CiAgICAgIH0KCiAgICAgIC5maWxlLWljb24uY3NzIHsKICAgICAgICBjb2xvcjogaHNsKDIyOCA3NyUgNTklKTsKICAgICAgfQoKICAgICAgLmZpbGUtaWNvbi5tYXJrZG93biB7CiAgICAgICAgY29sb3I6IGhzbCgwIDAlIDUwJSk7CiAgICAgIH0KCiAgICAgIC5maWxlLW5hbWUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDg1JSkiKX07CiAgICAgIH0KCiAgICAgIC5sb2FkaW5nIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAuZXJyb3IgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGNvbG9yOiBoc2woMCA3MCUgNTAlKTsKICAgICAgfQoKICAgICAgLmVtcHR5IHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgLmZpbGV0cmVlLXRvb2xiYXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHBhZGRpbmc6IDAgMTJweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NiUpIiwiaHNsKDAgMCUgOCUpIil9OwogICAgICAgIHBvc2l0aW9uOiBzdGlja3k7CiAgICAgICAgdG9wOiAwOwogICAgICAgIHotaW5kZXg6IDE7CiAgICAgIH0KCiAgICAgIC50b29sYmFyLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAudG9vbGJhci1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIG9wYWNpdHk6IDAuNzsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzLCBiYWNrZ3JvdW5kIDAuMTVzOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDMwJSkiLCJoc2woMCAwJSA3MCUpIil9OwogICAgICB9CgogICAgICAudG9vbGJhci1idXR0b246aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDAlIC8gMC4wOCkiLCJoc2woMCAwJSAxMDAlIC8gMC4xKSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQ/dGhpcy5pc0xvYWRpbmc/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJsb2FkaW5nIj4KICAgICAgICAgIExvYWRpbmcgZmlsZXMuLi4KICAgICAgICA8L2Rpdj4KICAgICAgYDp0aGlzLmVycm9yTWVzc2FnZT93YAogICAgICAgIDxkaXYgY2xhc3M9ImVycm9yIj4KICAgICAgICAgICR7dGhpcy5lcnJvck1lc3NhZ2V9CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgPGRpdiBjbGFzcz0iZmlsZXRyZWUtdG9vbGJhciI+CiAgICAgICAgPHNwYW4gY2xhc3M9InRvb2xiYXItdGl0bGUiPkV4cGxvcmVyPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYWN0aW9ucyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b29sYmFyLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY3JlYXRlTmV3RmlsZSgiLyIpfSB0aXRsZT0iTmV3IEZpbGUiPgogICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpmaWxlUGx1cyJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRvb2xiYXItYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jcmVhdGVOZXdGb2xkZXIoIi8iKX0gdGl0bGU9Ik5ldyBGb2xkZXIiPgogICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpmb2xkZXJQbHVzIn0gaWNvblNpemU9IjE2Ij48L2RlZXMtaWNvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgICAgJHt0aGlzLnRyZWVEYXRhLmxlbmd0aD09PTA/d2A8ZGl2IGNsYXNzPSJlbXB0eSI+Tm8gZmlsZXMgZm91bmQuPC9kaXY+YDp3YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cmVlLWNvbnRhaW5lciIgQGNvbnRleHRtZW51PSR7dGhpcy5oYW5kbGVFbXB0eVNwYWNlQ29udGV4dE1lbnV9PgogICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJUcmVlKHRoaXMudHJlZURhdGEpfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGB9CiAgICBgOndgCiAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHkiPgogICAgICAgICAgTm8gZXhlY3V0aW9uIGVudmlyb25tZW50IHByb3ZpZGVkLgogICAgICAgIDwvZGl2PgogICAgICBgfXJlbmRlclRyZWUoVCl7cmV0dXJuIFQubWFwKEU9PnRoaXMucmVuZGVyTm9kZShFKSl9cmVuZGVyTm9kZShUKXtsZXQgRT1ULnR5cGU9PT0iZGlyZWN0b3J5IixCPXRoaXMuZXhwYW5kZWRQYXRocy5oYXMoVC5wYXRoKSxNPVQucGF0aD09PXRoaXMuc2VsZWN0ZWRQYXRoLFM9dGhpcy5nZXRGaWxlSWNvbkNsYXNzKFQpO3JldHVybiB3YAogICAgICA8ZGl2CiAgICAgICAgY2xhc3M9InRyZWUtaXRlbSAke00/InNlbGVjdGVkIjoiIn0iCiAgICAgICAgc3R5bGU9InBhZGRpbmctbGVmdDogJHs4K1QubGV2ZWwqMTZ9cHgiCiAgICAgICAgQGNsaWNrPSR7UD0+dGhpcy5oYW5kbGVJdGVtQ2xpY2soUCxUKX0KICAgICAgICBAY29udGV4dG1lbnU9JHtQPT50aGlzLmhhbmRsZUNvbnRleHRNZW51KFAsVCl9CiAgICAgID4KICAgICAgICA8c3BhbiBjbGFzcz0iZXhwYW5kLWljb24gJHtCPyJleHBhbmRlZCI6IiJ9ICR7RT8iIjoiaGlkZGVuIn0iPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Y2hldnJvblJpZ2h0In0gaWNvblNpemU9IjEyIj48L2RlZXMtaWNvbj4KICAgICAgICA8L3NwYW4+CiAgICAgICAgPHNwYW4gY2xhc3M9ImZpbGUtaWNvbiAke1N9Ij4KICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHt0aGlzLmdldEZpbGVJY29uKFQpfSBpY29uU2l6ZT0iMTYiPjwvZGVlcy1pY29uPgogICAgICAgIDwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iZmlsZS1uYW1lIj4ke1QubmFtZX08L3NwYW4+CiAgICAgIDwvZGl2PgogICAgICAke0UmJkImJlQuY2hpbGRyZW4/dGhpcy5yZW5kZXJUcmVlKFQuY2hpbGRyZW4pOiIifQogICAgYH1nZXRGaWxlSWNvbihUKXtpZihULnR5cGU9PT0iZGlyZWN0b3J5IilyZXR1cm4gdGhpcy5leHBhbmRlZFBhdGhzLmhhcyhULnBhdGgpPyJsdWNpZGU6Zm9sZGVyT3BlbiI6Imx1Y2lkZTpmb2xkZXIiO3N3aXRjaChULm5hbWUuc3BsaXQoIi4iKS5wb3AoKT8udG9Mb3dlckNhc2UoKSl7Y2FzZSJ0cyI6Y2FzZSJ0c3giOnJldHVybiJsdWNpZGU6ZmlsZUNvZGUiO2Nhc2UianMiOmNhc2UianN4IjpyZXR1cm4ibHVjaWRlOmZpbGVDb2RlIjtjYXNlImpzb24iOnJldHVybiJsdWNpZGU6ZmlsZUpzb24iO2Nhc2UiaHRtbCI6cmV0dXJuImx1Y2lkZTpmaWxlQ29kZSI7Y2FzZSJjc3MiOmNhc2Uic2NzcyI6Y2FzZSJsZXNzIjpyZXR1cm4ibHVjaWRlOmZpbGVDb2RlIjtjYXNlIm1kIjpyZXR1cm4ibHVjaWRlOmZpbGVUZXh0IjtjYXNlInBuZyI6Y2FzZSJqcGciOmNhc2UianBlZyI6Y2FzZSJnaWYiOmNhc2Uic3ZnIjpyZXR1cm4ibHVjaWRlOmltYWdlIjtkZWZhdWx0OnJldHVybiJsdWNpZGU6ZmlsZSJ9fWdldEZpbGVJY29uQ2xhc3MoVCl7aWYoVC50eXBlPT09ImRpcmVjdG9yeSIpcmV0dXJuImZvbGRlciI7c3dpdGNoKFQubmFtZS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpKXtjYXNlInRzIjpjYXNlInRzeCI6cmV0dXJuInR5cGVzY3JpcHQiO2Nhc2UianMiOmNhc2UianN4IjpyZXR1cm4iamF2YXNjcmlwdCI7Y2FzZSJqc29uIjpyZXR1cm4ianNvbiI7Y2FzZSJodG1sIjpyZXR1cm4iaHRtbCI7Y2FzZSJjc3MiOmNhc2Uic2NzcyI6Y2FzZSJsZXNzIjpyZXR1cm4iY3NzIjtjYXNlIm1kIjpyZXR1cm4ibWFya2Rvd24iO2RlZmF1bHQ6cmV0dXJuImZpbGUifX1hc3luYyBoYW5kbGVJdGVtQ2xpY2soVCxFKXtULnN0b3BQcm9wYWdhdGlvbigpLEUudHlwZT09PSJkaXJlY3RvcnkiP2F3YWl0IHRoaXMudG9nZ2xlRGlyZWN0b3J5KEUpOih0aGlzLnNlbGVjdGVkUGF0aD1FLnBhdGgsdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZmlsZS1zZWxlY3QiLHtkZXRhaWw6e3BhdGg6RS5wYXRoLG5hbWU6RS5uYW1lfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpKX1hc3luYyB0b2dnbGVEaXJlY3RvcnkoVCl7dGhpcy5leHBhbmRlZFBhdGhzLmhhcyhULnBhdGgpP3RoaXMuZXhwYW5kZWRQYXRocy5kZWxldGUoVC5wYXRoKToodGhpcy5leHBhbmRlZFBhdGhzLmFkZChULnBhdGgpLCghVC5jaGlsZHJlbnx8VC5jaGlsZHJlbi5sZW5ndGg9PT0wKSYmYXdhaXQgdGhpcy5sb2FkRGlyZWN0b3J5Q29udGVudHMoVCkpLHRoaXMucmVxdWVzdFVwZGF0ZSgpfWFzeW5jIGxvYWREaXJlY3RvcnlDb250ZW50cyhUKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXRyeXtsZXQgRT1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWREaXIoVC5wYXRoKTtULmNoaWxkcmVuPXRoaXMuc29ydEVudHJpZXMoRSkubWFwKEI9Pih7Li4uQixsZXZlbDpULmxldmVsKzEsZXhwYW5kZWQ6ITEsY2hpbGRyZW46Qi50eXBlPT09ImRpcmVjdG9yeSI/W106dm9pZCAwfSkpfWNhdGNoKEUpe2NvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBsb2FkIGRpcmVjdG9yeSAke1QucGF0aH06YCxFKX19YXN5bmMgaGFuZGxlQ29udGV4dE1lbnUoVCxFKXtULnByZXZlbnREZWZhdWx0KCksVC5zdG9wUHJvcGFnYXRpb24oKTtsZXQgQj1bXTtFLnR5cGU9PT0iZGlyZWN0b3J5IiYmQi5wdXNoKHtuYW1lOiJOZXcgRmlsZSIsaWNvbk5hbWU6ImZpbGVQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLmNyZWF0ZU5ld0ZpbGUoRS5wYXRoKSwiYWN0aW9uIil9LHtuYW1lOiJOZXcgRm9sZGVyIixpY29uTmFtZToiZm9sZGVyUGx1cyIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5jcmVhdGVOZXdGb2xkZXIoRS5wYXRoKSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSksQi5wdXNoKHtuYW1lOiJSZW5hbWUiLGljb25OYW1lOiJwZW5jaWwiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMucmVuYW1lSXRlbShFKSwiYWN0aW9uIil9LHtuYW1lOiJEdXBsaWNhdGUiLGljb25OYW1lOiJmaWxlcyIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5kdXBsaWNhdGVJdGVtKEUpLCJhY3Rpb24iKX0se25hbWU6IkNvcHkiLGljb25OYW1lOiJjb3B5IixhY3Rpb246cyhhc3luYygpPT50aGlzLmNvcHlJdGVtKEUpLCJhY3Rpb24iKX0pLEUudHlwZT09PSJkaXJlY3RvcnkiJiZ0aGlzLmNsaXBib2FyZFBhdGgmJkIucHVzaCh7bmFtZToiUGFzdGUiLGljb25OYW1lOiJjbGlwYm9hcmQiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMucGFzdGVJdGVtKEUucGF0aCksImFjdGlvbiIpfSksQi5wdXNoKHtkaXZpZGVyOiEwfSx7bmFtZToiRGVsZXRlIixpY29uTmFtZToidHJhc2gyIixhY3Rpb246cyhhc3luYygpPT50aGlzLmRlbGV0ZUl0ZW0oRSksImFjdGlvbiIpfSksYXdhaXQgZWEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoVCxCKX1hc3luYyBoYW5kbGVFbXB0eVNwYWNlQ29udGV4dE1lbnUoVCl7aWYoVC50YXJnZXQuY2xvc2VzdCgiLnRyZWUtaXRlbSIpKXJldHVybjtULnByZXZlbnREZWZhdWx0KCksVC5zdG9wUHJvcGFnYXRpb24oKTtsZXQgQj1be25hbWU6Ik5ldyBGaWxlIixpY29uTmFtZToiZmlsZVBsdXMiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMuY3JlYXRlTmV3RmlsZSgiLyIpLCJhY3Rpb24iKX0se25hbWU6Ik5ldyBGb2xkZXIiLGljb25OYW1lOiJmb2xkZXJQbHVzIixhY3Rpb246cyhhc3luYygpPT50aGlzLmNyZWF0ZU5ld0ZvbGRlcigiLyIpLCJhY3Rpb24iKX1dO3RoaXMuY2xpcGJvYXJkUGF0aCYmQi5wdXNoKHtkaXZpZGVyOiEwfSx7bmFtZToiUGFzdGUiLGljb25OYW1lOiJjbGlwYm9hcmQiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMucGFzdGVJdGVtKCIvIiksImFjdGlvbiIpfSksYXdhaXQgZWEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoVCxCKX1hc3luYyBzaG93SW5wdXRNb2RhbChUKXtyZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgRT0+e2xldCBCPWF3YWl0IHdhLmNyZWF0ZUFuZFNob3coe2hlYWRpbmc6VC5oZWFkaW5nLHdpZHRoOiJzbWFsbCIsY29udGVudDp3YAogICAgICAgICAgPGRlZXMtaW5wdXQtdGV4dAogICAgICAgICAgICAubGFiZWw9JHtULmxhYmVsfQogICAgICAgICAgICAudmFsdWU9JHtULnZhbHVlfHwiIn0KICAgICAgICAgID48L2RlZXMtaW5wdXQtdGV4dD4KICAgICAgICBgLG1lbnVPcHRpb25zOlt7bmFtZToiQ2FuY2VsIixhY3Rpb246cyhhc3luYyBTPT57YXdhaXQgUy5kZXN0cm95KCksRShudWxsKX0sImFjdGlvbiIpfSx7bmFtZTpULmJ1dHRvbk5hbWV8fCJDcmVhdGUiLGFjdGlvbjpzKGFzeW5jIFM9PntsZXQgRj1TLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5tb2RhbCAuY29udGVudCIpPy5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LXRleHQiKT8udmFsdWU/LnRyaW0oKXx8IiI7YXdhaXQgUy5kZXN0cm95KCksRShGfHxudWxsKX0sImFjdGlvbiIpfV19KTthd2FpdCBCLnVwZGF0ZUNvbXBsZXRlO2xldCBNPUIuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiLm1vZGFsIC5jb250ZW50Iik7aWYoTSl7bGV0IFM9TS5xdWVyeVNlbGVjdG9yKCJkZWVzLWlucHV0LXRleHQiKTtTJiYoYXdhaXQgUy51cGRhdGVDb21wbGV0ZSxTLmZvY3VzKCkpfX0pfWFzeW5jIGNyZWF0ZU5ld0ZpbGUoVCl7bGV0IEU9YXdhaXQgdGhpcy5zaG93SW5wdXRNb2RhbCh7aGVhZGluZzoiTmV3IEZpbGUiLGxhYmVsOiJGaWxlIG5hbWUifSk7aWYoIUV8fCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXJldHVybjtsZXQgQj1UPT09Ii8iP2AvJHtFfWA6YCR7VH0vJHtFfWA7dHJ5e2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud3JpdGVGaWxlKEIsIiIpLGF3YWl0IHRoaXMucmVmcmVzaCgpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZpbGUtY3JlYXRlZCIse2RldGFpbDp7cGF0aDpCfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNhdGNoKE0pe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgZmlsZToiLE0pfX1hc3luYyBjcmVhdGVOZXdGb2xkZXIoVCl7bGV0IEU9YXdhaXQgdGhpcy5zaG93SW5wdXRNb2RhbCh7aGVhZGluZzoiTmV3IEZvbGRlciIsbGFiZWw6IkZvbGRlciBuYW1lIn0pO2lmKCFFfHwhdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudClyZXR1cm47bGV0IEI9VD09PSIvIj9gLyR7RX1gOmAke1R9LyR7RX1gO3RyeXthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50Lm1rZGlyKEIpLGF3YWl0IHRoaXMucmVmcmVzaCgpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImZvbGRlci1jcmVhdGVkIix7ZGV0YWlsOntwYXRoOkJ9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y2F0Y2goTSl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBmb2xkZXI6IixNKX19YXN5bmMgZGVsZXRlSXRlbShUKXtpZighKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHwhY29uZmlybShgRGVsZXRlICR7VC5uYW1lfT9gKSkpdHJ5e2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucm0oVC5wYXRoLHtyZWN1cnNpdmU6VC50eXBlPT09ImRpcmVjdG9yeSJ9KSxhd2FpdCB0aGlzLnJlZnJlc2goKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpdGVtLWRlbGV0ZWQiLHtkZXRhaWw6e3BhdGg6VC5wYXRoLHR5cGU6VC50eXBlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNhdGNoKEIpe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBkZWxldGUgaXRlbToiLEIpfX1hc3luYyByZW5hbWVJdGVtKFQpe2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXJldHVybjtsZXQgRT1hd2FpdCB0aGlzLnNob3dJbnB1dE1vZGFsKHtoZWFkaW5nOiJSZW5hbWUiLGxhYmVsOiJOZXcgbmFtZSIsdmFsdWU6VC5uYW1lLGJ1dHRvbk5hbWU6IlJlbmFtZSJ9KTtpZighRXx8RT09PVQubmFtZSlyZXR1cm47bGV0IEI9VC5wYXRoLnN1YnN0cmluZygwLFQucGF0aC5sYXN0SW5kZXhPZigiLyIpKXx8Ii8iLE09Qj09PSIvIj9gLyR7RX1gOmAke0J9LyR7RX1gO3RyeXtpZihULnR5cGU9PT0iZmlsZSIpe2xldCBTPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUoVC5wYXRoKTthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShNLFMpLGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucm0oVC5wYXRoKX1lbHNlIGF3YWl0IHRoaXMuY29weURpcmVjdG9yeUNvbnRlbnRzKFQucGF0aCxNKSxhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJtKFQucGF0aCx7cmVjdXJzaXZlOiEwfSk7YXdhaXQgdGhpcy5yZWZyZXNoKCksdGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiaXRlbS1yZW5hbWVkIix7ZGV0YWlsOntvbGRQYXRoOlQucGF0aCxuZXdQYXRoOk0sdHlwZTpULnR5cGV9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y2F0Y2goUyl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHJlbmFtZSBpdGVtOiIsUyl9fWFzeW5jIGR1cGxpY2F0ZUl0ZW0oVCl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO2xldCBFPVQucGF0aC5zdWJzdHJpbmcoMCxULnBhdGgubGFzdEluZGV4T2YoIi8iKSl8fCIvIixCO2lmKFQudHlwZT09PSJmaWxlIil7bGV0IFM9VC5uYW1lLmxhc3RJbmRleE9mKCIuIik7aWYoUz4wKXtsZXQgUD1ULm5hbWUuc3Vic3RyaW5nKDAsUyksQT1ULm5hbWUuc3Vic3RyaW5nKFMpO0I9YCR7UH1fY29weSR7QX1gfWVsc2UgQj1gJHtULm5hbWV9X2NvcHlgfWVsc2UgQj1gJHtULm5hbWV9X2NvcHlgO2xldCBNPUU9PT0iLyI/YC8ke0J9YDpgJHtFfS8ke0J9YDt0cnl7aWYoVC50eXBlPT09ImZpbGUiKXtsZXQgUz1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKFQucGF0aCk7YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUoTSxTKX1lbHNlIGF3YWl0IHRoaXMuY29weURpcmVjdG9yeUNvbnRlbnRzKFQucGF0aCxNKTthd2FpdCB0aGlzLnJlZnJlc2goKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpdGVtLWR1cGxpY2F0ZWQiLHtkZXRhaWw6e3NvdXJjZVBhdGg6VC5wYXRoLG5ld1BhdGg6TSx0eXBlOlQudHlwZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jYXRjaChTKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZHVwbGljYXRlIGl0ZW06IixTKX19YXN5bmMgY29weUl0ZW0oVCl7dGhpcy5jbGlwYm9hcmRQYXRoPVQucGF0aCx0aGlzLmNsaXBib2FyZE9wZXJhdGlvbj0iY29weSJ9YXN5bmMgcGFzdGVJdGVtKFQpe2lmKCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fHwhdGhpcy5jbGlwYm9hcmRQYXRoKXJldHVybjtsZXQgRT10aGlzLmNsaXBib2FyZFBhdGguc3BsaXQoIi8iKS5wb3AoKXx8InBhc3RlZCIsQj1UPT09Ii8iP2AvJHtFfWA6YCR7VH0vJHtFfWA7dHJ5e2lmKCFhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmV4aXN0cyh0aGlzLmNsaXBib2FyZFBhdGgpKXtjb25zb2xlLmVycm9yKCJTb3VyY2UgZmlsZSBubyBsb25nZXIgZXhpc3RzIiksdGhpcy5jbGlwYm9hcmRQYXRoPW51bGwsdGhpcy5jbGlwYm9hcmRPcGVyYXRpb249bnVsbDtyZXR1cm59dHJ5e2xldCBNPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUodGhpcy5jbGlwYm9hcmRQYXRoKTthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShCLE0pfWNhdGNoe2F3YWl0IHRoaXMuY29weURpcmVjdG9yeUNvbnRlbnRzKHRoaXMuY2xpcGJvYXJkUGF0aCxCKX1hd2FpdCB0aGlzLnJlZnJlc2goKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJpdGVtLXBhc3RlZCIse2RldGFpbDp7c291cmNlUGF0aDp0aGlzLmNsaXBib2FyZFBhdGgsdGFyZ2V0UGF0aDpCfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpLHRoaXMuY2xpcGJvYXJkUGF0aD1udWxsLHRoaXMuY2xpcGJvYXJkT3BlcmF0aW9uPW51bGx9Y2F0Y2goTSl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHBhc3RlIGl0ZW06IixNKX19YXN5bmMgY29weURpcmVjdG9yeUNvbnRlbnRzKFQsRSl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO2F3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQubWtkaXIoRSk7bGV0IEI9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRGlyKFQpO2ZvcihsZXQgTSBvZiBCKXtsZXQgUz1UPT09Ii8iP2AvJHtNLm5hbWV9YDpgJHtUfS8ke00ubmFtZX1gLFA9RT09PSIvIj9gLyR7TS5uYW1lfWA6YCR7RX0vJHtNLm5hbWV9YDtpZihNLnR5cGU9PT0iZGlyZWN0b3J5Iilhd2FpdCB0aGlzLmNvcHlEaXJlY3RvcnlDb250ZW50cyhTLFApO2Vsc2V7bGV0IEE9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZShTKTthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShQLEEpfX19YXN5bmMgZmlyc3RVcGRhdGVkKCl7YXdhaXQgdGhpcy5sb2FkVHJlZSgpfWFzeW5jIHVwZGF0ZWQoVCl7VC5oYXMoImV4ZWN1dGlvbkVudmlyb25tZW50IikmJih0aGlzLmxhc3RFeGVjdXRpb25FbnZpcm9ubWVudCE9PXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQmJih0aGlzLnN0b3BGaWxlV2F0Y2hlcigpLHRoaXMubGFzdEV4ZWN1dGlvbkVudmlyb25tZW50PXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpLHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQmJihhd2FpdCB0aGlzLmxvYWRUcmVlKCksdGhpcy5zdGFydEZpbGVXYXRjaGVyKCkpKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5zdG9wRmlsZVdhdGNoZXIoKSx0aGlzLnJlZnJlc2hEZWJvdW5jZVRpbWVvdXQmJihjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoRGVib3VuY2VUaW1lb3V0KSx0aGlzLnJlZnJlc2hEZWJvdW5jZVRpbWVvdXQ9bnVsbCl9c3RhcnRGaWxlV2F0Y2hlcigpe2lmKCEoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR8fHRoaXMuZmlsZVdhdGNoZXIpKXRyeXt0aGlzLmZpbGVXYXRjaGVyPXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud2F0Y2goIi8iLChULEUpPT57dGhpcy5yZWZyZXNoRGVib3VuY2VUaW1lb3V0JiZjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoRGVib3VuY2VUaW1lb3V0KSx0aGlzLnJlZnJlc2hEZWJvdW5jZVRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMucmVmcmVzaCgpfSwzMDApfSx7cmVjdXJzaXZlOiEwfSl9Y2F0Y2goVCl7Y29uc29sZS53YXJuKCJGaWxlIHdhdGNoaW5nIG5vdCBzdXBwb3J0ZWQ6IixUKX19c3RvcEZpbGVXYXRjaGVyKCl7dGhpcy5maWxlV2F0Y2hlciYmKHRoaXMuZmlsZVdhdGNoZXIuc3RvcCgpLHRoaXMuZmlsZVdhdGNoZXI9bnVsbCl9YXN5bmMgbG9hZFRyZWUoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50JiYhdGhpcy5sb2FkVHJlZVN0YXJ0ZWQpe3RoaXMubG9hZFRyZWVTdGFydGVkPSEwLHRoaXMuaXNMb2FkaW5nPSEwLHRoaXMuZXJyb3JNZXNzYWdlPSIiO3RyeXt0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWR5fHxhd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LmluaXQoKTtsZXQgVD1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWREaXIodGhpcy5yb290UGF0aCk7dGhpcy50cmVlRGF0YT10aGlzLnNvcnRFbnRyaWVzKFQpLm1hcChFPT4oey4uLkUsbGV2ZWw6MCxleHBhbmRlZDohMSxjaGlsZHJlbjpFLnR5cGU9PT0iZGlyZWN0b3J5Ij9bXTp2b2lkIDB9KSl9Y2F0Y2goVCl7dGhpcy5lcnJvck1lc3NhZ2U9YEZhaWxlZCB0byBsb2FkIGZpbGVzOiAke1R9YCxjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gbG9hZCBmaWxlIHRyZWU6IixUKSx0aGlzLmxvYWRUcmVlU3RhcnRlZD0hMX1maW5hbGx5e3RoaXMuaXNMb2FkaW5nPSExfX19c29ydEVudHJpZXMoVCl7cmV0dXJuIFQuc29ydCgoRSxCKT0+RS50eXBlIT09Qi50eXBlP0UudHlwZT09PSJkaXJlY3RvcnkiPy0xOjE6RS5uYW1lLmxvY2FsZUNvbXBhcmUoQi5uYW1lKSl9YXN5bmMgcmVmcmVzaCgpe3RoaXMuZXhwYW5kZWRQYXRocy5jbGVhcigpLHRoaXMubG9hZFRyZWVTdGFydGVkPSExLGF3YWl0IHRoaXMubG9hZFRyZWUoKX1zZWxlY3RGaWxlKFQpe3RoaXMuc2VsZWN0ZWRQYXRoPVR9c3RhdGlje25uKHIsdCl9fTtyZXR1cm4gTz1yfSkoKX0pO3ZhciB6SmUsZkcsRzZhLENKZT1mKCgpPT57bGUoKTtRZSgpO19jKCk7S3IoKTt6SmU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGZHPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxHNmE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbC1wcmV2aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNXb3Jrc3BhY2VUZXJtaW5hbFByZXZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOkFycmF5fSldLHpKZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbW1hbmQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+ImNvbW1hbmQiaW4gdiwiaGFzIiksZ2V0OnModj0+di5jb21tYW5kLCJnZXQiKSxzZXQ6cygodix4KT0+e3YuY29tbWFuZD14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksekplKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGluZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+ImxpbmVzImluIHYsImhhcyIpLGdldDpzKHY9PnYubGluZXMsImdldCIpLHNldDpzKCh2LHgpPT57di5saW5lcz14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksekplKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbC1wcmV2aWV3CiAgICAgIC5jb21tYW5kPSR7InBucG0gaW5zdGFsbCJ9CiAgICAgIC5saW5lcz0ke1siUGFja2FnZXM6ICs0MiIsIlByb2dyZXNzOiByZXNvbHZlZCAxNDIsIHJldXNlZCAxNDAsIGRvd25sb2FkZWQgMiwgYWRkZWQgNDIsIGRvbmUiLCIiLCJkZXBlbmRlbmNpZXM6IiwiKyBAcHVzaC5yb2Nrcy9zbWFydHByb21pc2UgNC4yLjMiLCIrIHR5cGVzY3JpcHQgNS4zLjMiLCIiLCJEb25lIGluIDIuM3MiXX0KICAgID48L2RlZXMtd29ya3NwYWNlLXRlcm1pbmFsLXByZXZpZXc+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiV29ya3NwYWNlIl07I2U9ZkcodGhpcyxuLCIiKTtnZXQgY29tbWFuZCgpe3JldHVybiB0aGlzLiNlfXNldCBjb21tYW5kKG0pe3RoaXMuI2U9bX0jdD0oZkcodGhpcyxsKSxmRyh0aGlzLGMsW10pKTtnZXQgbGluZXMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbGluZXMobSl7dGhpcy4jdD1tfXRlcm1pbmFsPShmRyh0aGlzLHApLG51bGwpO2ZpdEFkZG9uPW51bGw7bGFzdExpbmVDb3VudD0wO3Jlc2l6ZU9ic2VydmVyPW51bGw7dGVybWluYWxUaGVtZVN1YnNjcmlwdGlvbj1udWxsO3N0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAyMDBweDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCAnTW9uYWNvJywgJ0luY29uc29sYXRhJywgJ0ZpcmEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWhlYWRlci1pY29uIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWhlYWRlci1jb21tYW5kIHsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGluc2V0OiAwOwogICAgICAgIHBhZGRpbmc6IDhweDsKICAgICAgfQoKICAgICAgI3h0ZXJtLWNvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogOHB4OwogICAgICAgIGxlZnQ6IDhweDsKICAgICAgICByaWdodDogOHB4OwogICAgICAgIGJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAvKiB4dGVybS5qcyBzdHlsZXMgKi8KICAgICAgLnh0ZXJtIHsKICAgICAgICBmb250LWZlYXR1cmUtc2V0dGluZ3M6ICdsaWdhJyAwOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICAgICAgfQoKICAgICAgLnh0ZXJtLmZvY3VzLAogICAgICAueHRlcm06Zm9jdXMgewogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0taGVscGVycyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICB6LWluZGV4OiA1OwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLWhlbHBlci10ZXh0YXJlYSB7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBib3JkZXI6IDA7CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIGxlZnQ6IC05OTk5ZW07CiAgICAgICAgdG9wOiAwOwogICAgICAgIHdpZHRoOiAwOwogICAgICAgIGhlaWdodDogMDsKICAgICAgICB6LWluZGV4OiAtNTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgcmVzaXplOiBub25lOwogICAgICB9CgogICAgICAueHRlcm0gLmNvbXBvc2l0aW9uLXZpZXcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzMzMzMzMiLCIjZmZmZmZmIil9OwogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgei1pbmRleDogMTsKICAgICAgfQoKICAgICAgLnh0ZXJtIC5jb21wb3NpdGlvbi12aWV3LmFjdGl2ZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tdmlld3BvcnQgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzAwMDAwMCIpfTsKICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICByaWdodDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHRvcDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tc2NyZWVuIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tc2NyZWVuIGNhbnZhcyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgdG9wOiAwOwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXNjcm9sbC1hcmVhIHsKICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC54dGVybS1jaGFyLW1lYXN1cmUtZWxlbWVudCB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IC05OTk5ZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICAgICAgfQoKICAgICAgLnh0ZXJtIHsKICAgICAgICBjdXJzb3I6IHRleHQ7CiAgICAgIH0KCiAgICAgIC54dGVybS5lbmFibGUtbW91c2UtZXZlbnRzIHsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgIH0KCiAgICAgIC54dGVybS54dGVybS1jdXJzb3ItcG9pbnRlciB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAueHRlcm0uY29sdW1uLXNlbGVjdC5mb2N1cyB7CiAgICAgICAgY3Vyc29yOiBjcm9zc2hhaXI7CiAgICAgIH0KCiAgICAgIC54dGVybSAueHRlcm0tYWNjZXNzaWJpbGl0eSwKICAgICAgLnh0ZXJtIC54dGVybS1tZXNzYWdlIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgbGVmdDogMDsKICAgICAgICB0b3A6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsKICAgICAgfQoKICAgICAgLnh0ZXJtIC5saXZlLXJlZ2lvbiB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGxlZnQ6IC05OTk5cHg7CiAgICAgICAgd2lkdGg6IDFweDsKICAgICAgICBoZWlnaHQ6IDFweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAueHRlcm0tZGltIHsKICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgIH0KCiAgICAgIC54dGVybS11bmRlcmxpbmUgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAvKiBDdXN0b20gc2Nyb2xsYmFyIGZvciB4dGVybSB2aWV3cG9ydCAqLwogICAgICAueHRlcm0gLnh0ZXJtLXZpZXdwb3J0Ojotd2Via2l0LXNjcm9sbGJhciB7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS12aWV3cG9ydDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NiUpIiwiaHNsKDAgMCUgOCUpIil9OwogICAgICB9CgogICAgICAueHRlcm0gLnh0ZXJtLXZpZXdwb3J0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1zY3JvbGxiYXItdGh1bWIpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgfQoKICAgICAgLnh0ZXJtIC54dGVybS12aWV3cG9ydDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3Itc2Nyb2xsYmFyLXRodW1iLWhvdmVyKTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJ0ZXJtaW5hbC1oZWFkZXIiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InRlcm1pbmFsLWhlYWRlci1pY29uIj4kPC9zcGFuPgogICAgICAgICAgPHNwYW4gY2xhc3M9InRlcm1pbmFsLWhlYWRlci1jb21tYW5kIj4ke3RoaXMuY29tbWFuZHx8IldhaXRpbmcuLi4ifTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXJtaW5hbC1jb250YWluZXIiPgogICAgICAgICAgPGRpdiBpZD0ieHRlcm0tY29udGFpbmVyIj48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfWdldFRlcm1pbmFsVGhlbWUobSl7cmV0dXJuIG0/e2JhY2tncm91bmQ6IiNmZmZmZmYiLGZvcmVncm91bmQ6IiMzMzMzMzMiLGN1cnNvcjoiIzMzMzMzMyIsY3Vyc29yQWNjZW50OiIjZmZmZmZmIixzZWxlY3Rpb25CYWNrZ3JvdW5kOiJyZ2JhKDAsIDAsIDAsIDAuMikifTp7YmFja2dyb3VuZDoiIzAwMDAwMCIsZm9yZWdyb3VuZDoiI2NjY2NjYyIsY3Vyc29yOiIjY2NjY2NjIixjdXJzb3JBY2NlbnQ6IiMwMDAwMDAiLHNlbGVjdGlvbkJhY2tncm91bmQ6InJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSJ9fWFzeW5jIGZpcnN0VXBkYXRlZChtKXtzdXBlci5maXJzdFVwZGF0ZWQobSk7bGV0IHY9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgieHRlcm0tY29udGFpbmVyIik7aWYoIXYpcmV0dXJuO2xldCB4PWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLGI9eC50aGVtZU1hbmFnZXIuZ29CcmlnaHRCb29sZWFuLGc9UHMuZ2V0SW5zdGFuY2UoKSxbeSxrXT1hd2FpdCBQcm9taXNlLmFsbChbZy5sb2FkWHRlcm0oKSxnLmxvYWRYdGVybUZpdEFkZG9uKCldKTt0aGlzLnRlcm1pbmFsPW5ldyB5LlRlcm1pbmFsKHtjb252ZXJ0RW9sOiEwLGN1cnNvckJsaW5rOiExLGRpc2FibGVTdGRpbjohMCxmb250U2l6ZToxMixmb250RmFtaWx5OiInU0YgTW9ubycsICdNb25hY28nLCAnSW5jb25zb2xhdGEnLCAnRmlyYSBDb2RlJywgbW9ub3NwYWNlIix0aGVtZTp0aGlzLmdldFRlcm1pbmFsVGhlbWUoYiksc2Nyb2xsYmFjazoxZTN9KSx0aGlzLnRlcm1pbmFsVGhlbWVTdWJzY3JpcHRpb249eC50aGVtZU1hbmFnZXIudGhlbWVPYnNlcnZhYmxlLnN1YnNjcmliZShDPT57dGhpcy50ZXJtaW5hbCYmKHRoaXMudGVybWluYWwub3B0aW9ucy50aGVtZT10aGlzLmdldFRlcm1pbmFsVGhlbWUoQykpfSksdGhpcy5maXRBZGRvbj1uZXcgay5GaXRBZGRvbix0aGlzLnRlcm1pbmFsLmxvYWRBZGRvbih0aGlzLmZpdEFkZG9uKSx0aGlzLnRlcm1pbmFsLm9wZW4odiksdGhpcy5maXRBZGRvbi5maXQoKSx0aGlzLnJlc2l6ZU9ic2VydmVyPW5ldyBSZXNpemVPYnNlcnZlcigoKT0+e3RoaXMuZml0QWRkb24mJnRoaXMuZml0QWRkb24uZml0KCl9KSx0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodiksdGhpcy53cml0ZU5ld0xpbmVzKCl9YXN5bmMgdXBkYXRlZChtKXtzdXBlci51cGRhdGVkKG0pLG0uaGFzKCJsaW5lcyIpJiZ0aGlzLndyaXRlTmV3TGluZXMoKX13cml0ZU5ld0xpbmVzKCl7aWYoIXRoaXMudGVybWluYWwpcmV0dXJuO2xldCBtPXRoaXMubGluZXMuc2xpY2UodGhpcy5sYXN0TGluZUNvdW50KTtmb3IobGV0IHYgb2YgbSl0aGlzLnRlcm1pbmFsLndyaXRlbG4odik7dGhpcy5sYXN0TGluZUNvdW50PXRoaXMubGluZXMubGVuZ3RofWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7dGhpcy5yZXNpemVPYnNlcnZlciYmKHRoaXMucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpLHRoaXMucmVzaXplT2JzZXJ2ZXI9bnVsbCksdGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uJiYodGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCksdGhpcy50ZXJtaW5hbFRoZW1lU3Vic2NyaXB0aW9uPW51bGwpLHRoaXMudGVybWluYWwmJih0aGlzLnRlcm1pbmFsLmRpc3Bvc2UoKSx0aGlzLnRlcm1pbmFsPW51bGwpLGF3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCl9YWRkTGluZShtKXt0aGlzLmxpbmVzPVsuLi50aGlzLmxpbmVzLG1dfWNsZWFyKCl7dGhpcy5saW5lcz1bXSx0aGlzLmxhc3RMaW5lQ291bnQ9MCx0aGlzLnRlcm1pbmFsJiZ0aGlzLnRlcm1pbmFsLmNsZWFyKCl9c3RhdGlje2ZHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBsNyxaMSxZNmEsX0plPWYoKCk9PntsZSgpO1FlKCk7dmEoKTtZcigpO2w3PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxaMT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sWTZhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy13b3Jrc3BhY2UtYm90dG9tYmFyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W107dmFyIE49Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNXb3Jrc3BhY2VCb3R0b21iYXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVtLKCldLHU9W0soKV0seD1bSygpXSx5PVtLKCldLGw3KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXhlY3V0aW9uRW52aXJvbm1lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImV4ZWN1dGlvbkVudmlyb25tZW50ImluIHosImhhcyIpLGdldDpzKHo9PnouZXhlY3V0aW9uRW52aXJvbm1lbnQsImdldCIpLHNldDpzKCh6LE8pPT57ei5leGVjdXRpb25FbnZpcm9ubWVudD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCksbDcodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzY3JpcHRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzY3JpcHRzImluIHosImhhcyIpLGdldDpzKHo9Pnouc2NyaXB0cywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnNjcmlwdHM9T30sInNldCIpfSxtZXRhZGF0YTpffSxjLHApLGw3KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToicGFja2FnZVN0YXR1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4icGFja2FnZVN0YXR1cyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnBhY2thZ2VTdGF0dXMsImdldCIpLHNldDpzKCh6LE8pPT57ei5wYWNrYWdlU3RhdHVzPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbSx2KSxsNyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im91dGRhdGVkUGFja2FnZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Im91dGRhdGVkUGFja2FnZXMiaW4geiwiaGFzIiksZ2V0OnMoej0+ei5vdXRkYXRlZFBhY2thZ2VzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3oub3V0ZGF0ZWRQYWNrYWdlcz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZyksbDcodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0NoZWNraW5nUGFja2FnZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImlzQ2hlY2tpbmdQYWNrYWdlcyJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmlzQ2hlY2tpbmdQYWNrYWdlcywiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmlzQ2hlY2tpbmdQYWNrYWdlcz1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGssQyksbDcobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6X30sbnVsbCx0KSxOPXI9ZS52YWx1ZSxfJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOl99KX0jZT1aMSh0aGlzLG4sbnVsbCk7Z2V0IGV4ZWN1dGlvbkVudmlyb25tZW50KCl7cmV0dXJuIHRoaXMuI2V9c2V0IGV4ZWN1dGlvbkVudmlyb25tZW50KF8pe3RoaXMuI2U9X30jdD0oWjEodGhpcyxsKSxaMSh0aGlzLGMse30pKTtnZXQgc2NyaXB0cygpe3JldHVybiB0aGlzLiN0fXNldCBzY3JpcHRzKF8pe3RoaXMuI3Q9X30jYT0oWjEodGhpcyxwKSxaMSh0aGlzLG0sImlkbGUiKSk7Z2V0IHBhY2thZ2VTdGF0dXMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgcGFja2FnZVN0YXR1cyhfKXt0aGlzLiNhPV99I3I9KFoxKHRoaXMsdiksWjEodGhpcyxiLFtdKSk7Z2V0IG91dGRhdGVkUGFja2FnZXMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgb3V0ZGF0ZWRQYWNrYWdlcyhfKXt0aGlzLiNyPV99I3M9KFoxKHRoaXMsZyksWjEodGhpcyxrLCExKSk7Z2V0IGlzQ2hlY2tpbmdQYWNrYWdlcygpe3JldHVybiB0aGlzLiNzfXNldCBpc0NoZWNraW5nUGFja2FnZXMoXyl7dGhpcy4jcz1ffXBlbmRpbmdQYWNrYWdlVXBkYXRlPShaMSh0aGlzLEMpLCExKTtoYW5kbGVQcm9jZXNzQ29tcGxldGU9cyhfPT57dGhpcy5wZW5kaW5nUGFja2FnZVVwZGF0ZSYmKHRoaXMucGVuZGluZ1BhY2thZ2VVcGRhdGU9ITEsc2V0VGltZW91dCgoKT0+dGhpcy5jaGVja1BhY2thZ2VzKCksNTAwKSl9LCJoYW5kbGVQcm9jZXNzQ29tcGxldGUiKTtzdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmJvdHRvbS1iYXIgewogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk0JSkiLCJoc2woMCAwJSA2JSkiKX07CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA0MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDJweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2UsIGNvbG9yIDAuMTVzIGVhc2U7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLndpZGdldDpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg4JSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgIH0KCiAgICAgIC53aWRnZXQgZGVlcy1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLndpZGdldC1zZXBhcmF0b3IgewogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4MCUpIiwiaHNsKDAgMCUgMjAlKSIpfTsKICAgICAgICBtYXJnaW46IDAgNHB4OwogICAgICB9CgogICAgICAud2lkZ2V0LnJ1bm5pbmcgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxMCAxMDAlIDQ1JSkiLCJoc2woMjEwIDEwMCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldC51cC10by1kYXRlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgxNDIgNzAlIDM1JSkiLCJoc2woMTQyIDcwJSA1MCUpIil9OwogICAgICB9CgogICAgICAud2lkZ2V0LnVwZGF0ZXMtYXZhaWxhYmxlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgzOCA5MiUgNDUlKSIsImhzbCgzOCA5MiUgNTUlKSIpfTsKICAgICAgfQoKICAgICAgLndpZGdldC5lcnJvciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgNTAlKSIsImhzbCgwIDcwJSA2MCUpIil9OwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgIGZyb20geyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfQogICAgICAgIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQogICAgICB9CgogICAgICAuc3Bpbm5pbmcgewogICAgICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIC5zcGFjZXIgewogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJib3R0b20tYmFyIj4KICAgICAgICA8IS0tIFNjcmlwdCBSdW5uZXIgV2lkZ2V0IC0tPgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJ3aWRnZXQiCiAgICAgICAgICBAY2xpY2s9JHt0aGlzLmhhbmRsZVNjcmlwdENsaWNrfQogICAgICAgICAgdGl0bGU9IlJ1biBzY3JpcHQiCiAgICAgICAgPgogICAgICAgICAgPGRlZXMtaWNvbgogICAgICAgICAgICAuaWNvbj0keyJsdWNpZGU6cGxheSJ9CiAgICAgICAgICAgIGljb25TaXplPSIxMiIKICAgICAgICAgID48L2RlZXMtaWNvbj4KICAgICAgICAgIDxzcGFuPlNjcmlwdHM8L3NwYW4+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9IndpZGdldC1zZXBhcmF0b3IiPjwvZGl2PgoKICAgICAgICA8IS0tIFBhY2thZ2UgQ2hlY2tlciBXaWRnZXQgLS0+CiAgICAgICAgPGRpdgogICAgICAgICAgY2xhc3M9IndpZGdldCAke3RoaXMuZ2V0UGFja2FnZVN0YXR1c0NsYXNzKCl9IgogICAgICAgICAgQGNsaWNrPSR7dGhpcy5oYW5kbGVQYWNrYWdlQ2xpY2t9CiAgICAgICAgICB0aXRsZT0iJHt0aGlzLmdldFBhY2thZ2VUb29sdGlwKCl9IgogICAgICAgID4KICAgICAgICAgIDxkZWVzLWljb24KICAgICAgICAgICAgLmljb249JHt0aGlzLmdldFBhY2thZ2VJY29uKCl9CiAgICAgICAgICAgIGljb25TaXplPSIxMiIKICAgICAgICAgICAgY2xhc3M9IiR7dGhpcy5pc0NoZWNraW5nUGFja2FnZXM/InNwaW5uaW5nIjoiIn0iCiAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgICA8c3Bhbj4ke3RoaXMuZ2V0UGFja2FnZVN0YXR1c1RleHQoKX08L3NwYW4+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+CgogICAgICAgIDwhLS0gRnV0dXJlIHdpZGdldHMgY2FuIGJlIGFkZGVkIGhlcmUgLS0+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInByb2Nlc3MtY29tcGxldGUiLHRoaXMuaGFuZGxlUHJvY2Vzc0NvbXBsZXRlKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoInByb2Nlc3MtY29tcGxldGUiLHRoaXMuaGFuZGxlUHJvY2Vzc0NvbXBsZXRlKX1hc3luYyBmaXJzdFVwZGF0ZWQoKXthd2FpdCB0aGlzLmxvYWRTY3JpcHRzKCksYXdhaXQgdGhpcy5jaGVja1BhY2thZ2VzKCl9YXN5bmMgdXBkYXRlZChfKXtfLmhhcygiZXhlY3V0aW9uRW52aXJvbm1lbnQiKSYmdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCYmKGF3YWl0IHRoaXMubG9hZFNjcmlwdHMoKSxhd2FpdCB0aGlzLmNoZWNrUGFja2FnZXMoKSl9YXN5bmMgbG9hZFNjcmlwdHMoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXRyeXtpZighYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5leGlzdHMoIi9wYWNrYWdlLmpzb24iKSl7dGhpcy5zY3JpcHRzPXt9O3JldHVybn1sZXQgej1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKCIvcGFja2FnZS5qc29uIiksTz1KU09OLnBhcnNlKHopO3RoaXMuc2NyaXB0cz1PLnNjcmlwdHN8fHt9fWNhdGNoKF8pe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIGxvYWQgc2NyaXB0cyBmcm9tIHBhY2thZ2UuanNvbjoiLF8pLHRoaXMuc2NyaXB0cz17fX19YXN5bmMgaGFuZGxlU2NyaXB0Q2xpY2soXyl7Xy5zdG9wUHJvcGFnYXRpb24oKTtsZXQgej1PYmplY3Qua2V5cyh0aGlzLnNjcmlwdHMpO2lmKHoubGVuZ3RoPT09MClyZXR1cm47bGV0IE89ei5tYXAoVD0+KHtuYW1lOlQsaWNvbk5hbWU6Imx1Y2lkZTp0ZXJtaW5hbCIsYWN0aW9uOnMoYXN5bmMoKT0+e2F3YWl0IHRoaXMucnVuU2NyaXB0KFQpfSwiYWN0aW9uIil9KSk7YXdhaXQgZWEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoXyxPKX1hc3luYyBydW5TY3JpcHQoXyl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO2xldCB6PXt0eXBlOiJzY3JpcHQiLGxhYmVsOl8sY29tbWFuZDoicG5wbSIsYXJnczpbInJ1biIsX10sbWV0YWRhdGE6e3NjcmlwdE5hbWU6X319O3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJ1bi1wcm9jZXNzIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6en0pKX1hc3luYyBjaGVja1BhY2thZ2VzKCl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpe3RoaXMucGFja2FnZVN0YXR1cz0iaWRsZSI7cmV0dXJufXRyeXtpZighYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5leGlzdHMoIi9wYWNrYWdlLmpzb24iKSl7dGhpcy5wYWNrYWdlU3RhdHVzPSJpZGxlIjtyZXR1cm59dGhpcy5wYWNrYWdlU3RhdHVzPSJjaGVja2luZyIsdGhpcy5pc0NoZWNraW5nUGFja2FnZXM9ITA7bGV0IHo9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5zcGF3bigicG5wbSIsWyJvdXRkYXRlZCIsIi0tanNvbiJdKSxPPSIiLFQ9ei5vdXRwdXQuZ2V0UmVhZGVyKCk7cyhhc3luYygpPT57dHJ5e2Zvcig7Oyl7bGV0e2RvbmU6TSx2YWx1ZTpTfT1hd2FpdCBULnJlYWQoKTtpZihNKWJyZWFrO08rPVN9fWNhdGNoe319LCJyZWFkT3V0cHV0IikoKTtsZXQgQj1hd2FpdCBQcm9taXNlLnJhY2UoW3ouZXhpdCxuZXcgUHJvbWlzZShNPT5zZXRUaW1lb3V0KCgpPT5NKC0xKSwxZTQpKV0pO3RyeXthd2FpdCBULmNhbmNlbCgpfWNhdGNoe31pZihCPT09LTEpe2NvbnNvbGUud2FybigiUGFja2FnZSBjaGVjayB0aW1lZCBvdXQiKSx0aGlzLnBhY2thZ2VTdGF0dXM9ImVycm9yIjtyZXR1cm59aWYoQj09PTApdGhpcy5wYWNrYWdlU3RhdHVzPSJ1cC10by1kYXRlIix0aGlzLm91dGRhdGVkUGFja2FnZXM9W107ZWxzZSB0cnl7bGV0IE09SlNPTi5wYXJzZShPKTt0aGlzLm91dGRhdGVkUGFja2FnZXM9dGhpcy5wYXJzZU91dGRhdGVkUGFja2FnZXMoTSksdGhpcy5wYWNrYWdlU3RhdHVzPXRoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGg+MD8idXBkYXRlcy1hdmFpbGFibGUiOiJ1cC10by1kYXRlIn1jYXRjaHt0aGlzLnBhY2thZ2VTdGF0dXM9InVwZGF0ZXMtYXZhaWxhYmxlIix0aGlzLm91dGRhdGVkUGFja2FnZXM9W119fWNhdGNoKF8pe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIGNoZWNrIGZvciBwYWNrYWdlIHVwZGF0ZXM6IixfKSx0aGlzLnBhY2thZ2VTdGF0dXM9ImVycm9yIn1maW5hbGx5e3RoaXMuaXNDaGVja2luZ1BhY2thZ2VzPSExfX1wYXJzZU91dGRhdGVkUGFja2FnZXMoXyl7bGV0IHo9W107aWYodHlwZW9mIF89PSJvYmplY3QiJiZfIT09bnVsbClmb3IobGV0W08sVF1vZiBPYmplY3QuZW50cmllcyhfKSl7bGV0IEU9VDt6LnB1c2goe25hbWU6TyxjdXJyZW50OkUuY3VycmVudHx8InVua25vd24iLHdhbnRlZDpFLndhbnRlZHx8RS5jdXJyZW50fHwidW5rbm93biIsbGF0ZXN0OkUubGF0ZXN0fHxFLndhbnRlZHx8InVua25vd24iLHR5cGU6RS5kZXBlbmRlbmN5VHlwZT09PSJkZXZEZXBlbmRlbmNpZXMiPyJkZXZEZXBlbmRlbmNpZXMiOiJkZXBlbmRlbmNpZXMifSl9cmV0dXJuIHp9YXN5bmMgaGFuZGxlUGFja2FnZUNsaWNrKF8pe18uc3RvcFByb3BhZ2F0aW9uKCk7bGV0IHo9W107aWYoei5wdXNoKHtuYW1lOnRoaXMuaXNDaGVja2luZ1BhY2thZ2VzPyJDaGVja2luZy4uLiI6IkNoZWNrIGZvciB1cGRhdGVzIixpY29uTmFtZToibHVjaWRlOnJlZnJlc2hDdyIsYWN0aW9uOnMoYXN5bmMoKT0+e2lmKHRoaXMuaXNDaGVja2luZ1BhY2thZ2VzKXJldHVybjtsZXQgTz17dHlwZToicGFja2FnZS11cGRhdGUiLGxhYmVsOiJjaGVjayBwYWNrYWdlcyIsY29tbWFuZDoicG5wbSIsYXJnczpbIm91dGRhdGVkIl19O3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJ1bi1wcm9jZXNzIix7YnViYmxlczohMCxjb21wb3NlZDohMCxkZXRhaWw6T30pKSxzZXRUaW1lb3V0KCgpPT50aGlzLmNoZWNrUGFja2FnZXMoKSwzZTMpfSwiYWN0aW9uIil9KSx0aGlzLm91dGRhdGVkUGFja2FnZXMubGVuZ3RoPjApe3oucHVzaCh7ZGl2aWRlcjohMH0pO2xldCBPPXRoaXMub3V0ZGF0ZWRQYWNrYWdlcy5zbGljZSgwLDEwKTtmb3IobGV0IFQgb2YgTyl6LnB1c2goe25hbWU6YCR7VC5uYW1lfTogJHtULmN1cnJlbnR9IFx1MjE5MiAke1QubGF0ZXN0fWAsaWNvbk5hbWU6Imx1Y2lkZTpwYWNrYWdlIixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgdGhpcy51cGRhdGVQYWNrYWdlKFQubmFtZSl9LCJhY3Rpb24iKX0pO3RoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGg+MTAmJnoucHVzaCh7bmFtZTpgLi4uIGFuZCAke3RoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGgtMTB9IG1vcmVgLGljb25OYW1lOiJsdWNpZGU6bW9yZUhvcml6b250YWwiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKX0pLHoucHVzaCh7ZGl2aWRlcjohMH0pLHoucHVzaCh7bmFtZToiVXBkYXRlIGFsbCBwYWNrYWdlcyIsaWNvbk5hbWU6Imx1Y2lkZTphcnJvd1VwQ2lyY2xlIixhY3Rpb246cyhhc3luYygpPT57YXdhaXQgdGhpcy51cGRhdGVBbGxQYWNrYWdlcygpfSwiYWN0aW9uIil9KX1hd2FpdCBlYS5vcGVuQ29udGV4dE1lbnVXaXRoT3B0aW9ucyhfLHopfWFzeW5jIHVwZGF0ZVBhY2thZ2UoXyl7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpcmV0dXJuO3RoaXMucGVuZGluZ1BhY2thZ2VVcGRhdGU9ITA7bGV0IHo9e3R5cGU6InBhY2thZ2UtdXBkYXRlIixsYWJlbDpgdXBkYXRlICR7X31gLGNvbW1hbmQ6InBucG0iLGFyZ3M6WyJ1cGRhdGUiLCItLWxhdGVzdCIsX10sbWV0YWRhdGE6e3BhY2thZ2VOYW1lOl99fTt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJydW4tcHJvY2VzcyIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITAsZGV0YWlsOnp9KSl9YXN5bmMgdXBkYXRlQWxsUGFja2FnZXMoKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudClyZXR1cm47dGhpcy5wZW5kaW5nUGFja2FnZVVwZGF0ZT0hMDtsZXQgXz17dHlwZToicGFja2FnZS11cGRhdGUiLGxhYmVsOiJ1cGRhdGUgYWxsIixjb21tYW5kOiJwbnBtIixhcmdzOlsidXBkYXRlIiwiLS1sYXRlc3QiXX07dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicnVuLXByb2Nlc3MiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwLGRldGFpbDpffSkpfWdldFBhY2thZ2VTdGF0dXNDbGFzcygpe3JldHVybiB0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcz8iIjp0aGlzLnBhY2thZ2VTdGF0dXN9Z2V0UGFja2FnZUljb24oKXtpZih0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcylyZXR1cm4ibHVjaWRlOmxvYWRlcjIiO3N3aXRjaCh0aGlzLnBhY2thZ2VTdGF0dXMpe2Nhc2UidXAtdG8tZGF0ZSI6cmV0dXJuImx1Y2lkZTpjaGVja0NpcmNsZSI7Y2FzZSJ1cGRhdGVzLWF2YWlsYWJsZSI6cmV0dXJuImx1Y2lkZTphbGVydENpcmNsZSI7Y2FzZSJlcnJvciI6cmV0dXJuImx1Y2lkZTp4Q2lyY2xlIjtkZWZhdWx0OnJldHVybiJsdWNpZGU6cGFja2FnZSJ9fWdldFBhY2thZ2VTdGF0dXNUZXh0KCl7aWYodGhpcy5pc0NoZWNraW5nUGFja2FnZXMpcmV0dXJuIkNoZWNraW5nLi4uIjtzd2l0Y2godGhpcy5wYWNrYWdlU3RhdHVzKXtjYXNlInVwLXRvLWRhdGUiOnJldHVybiJVcCB0byBkYXRlIjtjYXNlInVwZGF0ZXMtYXZhaWxhYmxlIjpyZXR1cm5gJHt0aGlzLm91dGRhdGVkUGFja2FnZXMubGVuZ3RofSB1cGRhdGUke3RoaXMub3V0ZGF0ZWRQYWNrYWdlcy5sZW5ndGghPT0xPyJzIjoiIn1gO2Nhc2UiZXJyb3IiOnJldHVybiJDaGVjayBmYWlsZWQiO2RlZmF1bHQ6cmV0dXJuIlBhY2thZ2VzIn19Z2V0UGFja2FnZVRvb2x0aXAoKXtpZih0aGlzLmlzQ2hlY2tpbmdQYWNrYWdlcylyZXR1cm4iQ2hlY2tpbmcgZm9yIHBhY2thZ2UgdXBkYXRlcy4uLiI7c3dpdGNoKHRoaXMucGFja2FnZVN0YXR1cyl7Y2FzZSJ1cC10by1kYXRlIjpyZXR1cm4iQWxsIHBhY2thZ2VzIGFyZSB1cCB0byBkYXRlIjtjYXNlInVwZGF0ZXMtYXZhaWxhYmxlIjpyZXR1cm5gJHt0aGlzLm91dGRhdGVkUGFja2FnZXMubGVuZ3RofSBwYWNrYWdlIHVwZGF0ZSR7dGhpcy5vdXRkYXRlZFBhY2thZ2VzLmxlbmd0aCE9PTE/InMiOiIifSBhdmFpbGFibGVgO2Nhc2UiZXJyb3IiOnJldHVybiJGYWlsZWQgdG8gY2hlY2sgZm9yIHVwZGF0ZXMuIENsaWNrIHRvIHJldHJ5LiI7ZGVmYXVsdDpyZXR1cm4iQ2xpY2sgdG8gY2hlY2sgZm9yIHBhY2thZ2UgdXBkYXRlcyJ9fWFzeW5jIHJlZnJlc2hQYWNrYWdlU3RhdHVzKCl7YXdhaXQgdGhpcy5jaGVja1BhY2thZ2VzKCl9YXN5bmMgcmVmcmVzaFNjcmlwdHMoKXthd2FpdCB0aGlzLmxvYWRTY3JpcHRzKCl9c3RhdGlje1oxKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBoRyxUSmU9ZigoKT0+e2hHPWNsYXNze3N0YXRpY3tzKHRoaXMsIlR5cGVTY3JpcHRJbnRlbGxpU2Vuc2VNYW5hZ2VyIil9bG9hZGVkTGlicz1uZXcgU2V0O25vdEZvdW5kUGFja2FnZXM9bmV3IFNldDttb25hY29JbnN0YW5jZT1udWxsO2V4ZWN1dGlvbkVudmlyb25tZW50PW51bGw7ZmlsZUNhY2hlPW5ldyBNYXA7YWRkZWRFeHRyYUxpYnM9bmV3IE1hcDtnZXQgdHNBcGkoKXtyZXR1cm4gdGhpcy5tb25hY29JbnN0YW5jZT90aGlzLm1vbmFjb0luc3RhbmNlLmxhbmd1YWdlcy50eXBlc2NyaXB0Om51bGx9YXN5bmMgaW5pdChlLHQpe3RoaXMubW9uYWNvSW5zdGFuY2U9ZSx0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50PXQsdGhpcy5jb25maWd1cmVDb21waWxlck9wdGlvbnMoKSxhd2FpdCB0aGlzLmxvYWRBbGxQcm9qZWN0RmlsZXMoKX1hc3luYyBsb2FkQWxsUHJvamVjdEZpbGVzKCl7dGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCYmYXdhaXQgdGhpcy5sb2FkRmlsZXNGcm9tRGlyZWN0b3J5KCIvIil9YXN5bmMgbG9hZEZpbGVzRnJvbURpcmVjdG9yeShlKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXRyeXtsZXQgdD1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWREaXIoZSk7Zm9yKGxldCByIG9mIHQpe2xldCBpPWU9PT0iLyI/YC8ke3IubmFtZX1gOmAke2V9LyR7ci5uYW1lfWA7aWYoci5uYW1lIT09Im5vZGVfbW9kdWxlcyIpe2lmKHIudHlwZT09PSJkaXJlY3RvcnkiKWF3YWl0IHRoaXMubG9hZEZpbGVzRnJvbURpcmVjdG9yeShpKTtlbHNlIGlmKHIudHlwZT09PSJmaWxlIil7bGV0IG89ci5uYW1lLnNwbGl0KCIuIikucG9wKCk/LnRvTG93ZXJDYXNlKCk7aWYobz09PSJ0cyJ8fG89PT0idHN4Inx8bz09PSJqcyJ8fG89PT0ianN4Iil0cnl7bGV0IG49YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZShpKTt0aGlzLmFkZEZpbGVNb2RlbChpLG4pfWNhdGNoe319fX19Y2F0Y2h7fX1jb25maWd1cmVDb21waWxlck9wdGlvbnMoKXtsZXQgZT10aGlzLnRzQXBpO2UmJihlLnR5cGVzY3JpcHREZWZhdWx0cy5zZXRDb21waWxlck9wdGlvbnMoe3RhcmdldDplLlNjcmlwdFRhcmdldC5FUzIwMjAsbW9kdWxlOmUuTW9kdWxlS2luZC5FU05leHQsbW9kdWxlUmVzb2x1dGlvbjplLk1vZHVsZVJlc29sdXRpb25LaW5kLkJ1bmRsZXI/P2UuTW9kdWxlUmVzb2x1dGlvbktpbmQuTm9kZUpzLGFsbG93U3ludGhldGljRGVmYXVsdEltcG9ydHM6ITAsZXNNb2R1bGVJbnRlcm9wOiEwLHN0cmljdDohMCxub0VtaXQ6ITAsYWxsb3dKczohMCxjaGVja0pzOiExLGFsbG93Tm9uVHNFeHRlbnNpb25zOiEwLGxpYjpbImVzMjAyMCIsImRvbSIsImRvbS5pdGVyYWJsZSJdLGJhc2VVcmw6Ii8iLGFsbG93SW1wb3J0aW5nVHNFeHRlbnNpb25zOiEwLHJlc29sdmVKc29uTW9kdWxlOiEwfSksZS50eXBlc2NyaXB0RGVmYXVsdHMuc2V0RGlhZ25vc3RpY3NPcHRpb25zKHtub1NlbWFudGljVmFsaWRhdGlvbjohMSxub1N5bnRheFZhbGlkYXRpb246ITF9KSxlLnR5cGVzY3JpcHREZWZhdWx0cy5zZXRFYWdlck1vZGVsU3luYyghMCkpfXBhcnNlSW1wb3J0cyhlKXtsZXQgdD1bXSxyPS9pbXBvcnRccysoPzpbXHcqe31ccyxdK2Zyb21ccyspP1snIl0oW14nIl0rKVsnIl0vZyxpO2Zvcig7KGk9ci5leGVjKGUpKSE9PW51bGw7KXtsZXQgbj1pWzFdO2lmKCFuLnN0YXJ0c1dpdGgoIi4iKSYmIW4uc3RhcnRzV2l0aCgiLyIpKXtsZXQgbD1uLnN0YXJ0c1dpdGgoIkAiKT9uLnNwbGl0KCIvIikuc2xpY2UoMCwyKS5qb2luKCIvIik6bi5zcGxpdCgiLyIpWzBdO3QucHVzaChsKX19bGV0IG89L3JlcXVpcmVccypcKFxzKlsnIl0oW14nIl0rKVsnIl1ccypcKS9nO2Zvcig7KGk9by5leGVjKGUpKSE9PW51bGw7KXtsZXQgbj1pWzFdO2lmKCFuLnN0YXJ0c1dpdGgoIi4iKSYmIW4uc3RhcnRzV2l0aCgiLyIpKXtsZXQgbD1uLnN0YXJ0c1dpdGgoIkAiKT9uLnNwbGl0KCIvIikuc2xpY2UoMCwyKS5qb2luKCIvIik6bi5zcGxpdCgiLyIpWzBdO3QucHVzaChsKX19cmV0dXJuWy4uLm5ldyBTZXQodCldfWFzeW5jIGxvYWRUeXBlc0ZvclBhY2thZ2UoZSl7aWYoISghdGhpcy5tb25hY29JbnN0YW5jZXx8IXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpJiYhdGhpcy5sb2FkZWRMaWJzLmhhcyhlKSYmIXRoaXMubm90Rm91bmRQYWNrYWdlcy5oYXMoZSkpdHJ5e2xldCB0PWF3YWl0IHRoaXMudHJ5TG9hZFBhY2thZ2VUeXBlcyhlKTt0fHwodD1hd2FpdCB0aGlzLnRyeUxvYWRBdFR5cGVzUGFja2FnZShlKSksdD90aGlzLmxvYWRlZExpYnMuYWRkKGUpOnRoaXMubm90Rm91bmRQYWNrYWdlcy5hZGQoZSl9Y2F0Y2godCl7Y29uc29sZS53YXJuKGBGYWlsZWQgdG8gbG9hZCB0eXBlcyBmb3IgJHtlfTpgLHQpfX1hc3luYyB0cnlMb2FkUGFja2FnZVR5cGVzKGUpe2xldCB0PXRoaXMudHNBcGk7aWYoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR8fCF0KXJldHVybiExO2xldCByPWAvbm9kZV9tb2R1bGVzLyR7ZX1gO3RyeXtsZXQgaT1gJHtyfS9wYWNrYWdlLmpzb25gO2lmKGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuZXhpc3RzKGkpKXtsZXQgbD1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKGkpLGQ9SlNPTi5wYXJzZShsKTtpZih0LnR5cGVzY3JpcHREZWZhdWx0cy5hZGRFeHRyYUxpYihsLGBmaWxlOi8vJHtpfWApLGQudHlwZXN8fGQudHlwaW5ncylyZXR1cm4gYXdhaXQgdGhpcy5sb2FkQWxsRHRzRmlsZXNGcm9tUGFja2FnZShyKSwhMH1sZXQgbj1bYCR7cn0vaW5kZXguZC50c2AsYCR7cn0vZGlzdC9pbmRleC5kLnRzYCxgJHtyfS9saWIvaW5kZXguZC50c2BdO2ZvcihsZXQgbCBvZiBuKWlmKGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuZXhpc3RzKGwpKXJldHVybiBhd2FpdCB0aGlzLmxvYWRBbGxEdHNGaWxlc0Zyb21QYWNrYWdlKHIpLCEwO3JldHVybiExfWNhdGNoKGkpe3JldHVybiBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gbG9hZCBwYWNrYWdlIHR5cGVzIGZvciAke2V9OmAsaSksITF9fWFzeW5jIGxvYWRBbGxEdHNGaWxlc0Zyb21QYWNrYWdlKGUpe2xldCB0PXRoaXMudHNBcGk7IXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR8fCF0fHxhd2FpdCB0aGlzLmxvYWREdHNGaWxlc0Zyb21EaXJlY3RvcnkoZSl9YXN5bmMgbG9hZER0c0ZpbGVzRnJvbURpcmVjdG9yeShlKXtsZXQgdD10aGlzLnRzQXBpO2lmKCEoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR8fCF0KSl0cnl7bGV0IHI9YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRGlyKGUpO2ZvcihsZXQgaSBvZiByKXtsZXQgbz1lPT09Ii8iP2AvJHtpLm5hbWV9YDpgJHtlfS8ke2kubmFtZX1gO2lmKGkubmFtZSE9PSJub2RlX21vZHVsZXMiKXtpZihpLnR5cGU9PT0iZGlyZWN0b3J5Iilhd2FpdCB0aGlzLmxvYWREdHNGaWxlc0Zyb21EaXJlY3Rvcnkobyk7ZWxzZSBpZihpLnR5cGU9PT0iZmlsZSImJmkubmFtZS5lbmRzV2l0aCgiLmQudHMiKSl0cnl7bGV0IG49YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5yZWFkRmlsZShvKTt0LnR5cGVzY3JpcHREZWZhdWx0cy5hZGRFeHRyYUxpYihuLGBmaWxlOi8vJHtvfWApfWNhdGNoe319fX1jYXRjaHt9fWFzeW5jIHRyeUxvYWRBdFR5cGVzUGFja2FnZShlKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudClyZXR1cm4hMTtsZXQgcj1gL25vZGVfbW9kdWxlcy8ke2Uuc3RhcnRzV2l0aCgiQCIpP2BAdHlwZXMvJHtlLnNsaWNlKDEpLnJlcGxhY2UoIi8iLCJfXyIpfWA6YEB0eXBlcy8ke2V9YH1gO3RyeXtsZXQgaT1gJHtyfS9pbmRleC5kLnRzYDtyZXR1cm4gYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5leGlzdHMoaSk/KGF3YWl0IHRoaXMubG9hZEFsbER0c0ZpbGVzRnJvbVBhY2thZ2UociksITApOiExfWNhdGNoe3JldHVybiExfX1hc3luYyBwcm9jZXNzQ29udGVudENoYW5nZShlKXtsZXQgdD10aGlzLnBhcnNlSW1wb3J0cyhlKTtmb3IobGV0IHIgb2YgdCl0aGlzLmxvYWRlZExpYnMuaGFzKHIpfHxhd2FpdCB0aGlzLmxvYWRUeXBlc0ZvclBhY2thZ2Uocil9YXN5bmMgc2NhbkFuZExvYWROZXdQYWNrYWdlVHlwZXMoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXt0aGlzLm5vdEZvdW5kUGFja2FnZXMuY2xlYXIoKTt0cnl7aWYoIWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuZXhpc3RzKCIvbm9kZV9tb2R1bGVzIikpcmV0dXJuO2xldCBlPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZERpcigiL25vZGVfbW9kdWxlcyIpO2ZvcihsZXQgdCBvZiBlKWlmKHQudHlwZT09PSJkaXJlY3RvcnkiKWlmKHQubmFtZS5zdGFydHNXaXRoKCJAIikpdHJ5e2xldCByPWAvbm9kZV9tb2R1bGVzLyR7dC5uYW1lfWAsaT1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWREaXIocik7Zm9yKGxldCBvIG9mIGkpaWYoby50eXBlPT09ImRpcmVjdG9yeSIpe2xldCBuPWAke3QubmFtZX0vJHtvLm5hbWV9YDthd2FpdCB0aGlzLmxvYWRUeXBlc0ZvclBhY2thZ2Uobil9fWNhdGNoe31lbHNlIHQubmFtZS5zdGFydHNXaXRoKCIuIil8fGF3YWl0IHRoaXMubG9hZFR5cGVzRm9yUGFja2FnZSh0Lm5hbWUpfWNhdGNoKGUpe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIHNjYW4gbm9kZV9tb2R1bGVzOiIsZSl9fX1hZGRGaWxlTW9kZWwoZSx0KXtpZighdGhpcy5tb25hY29JbnN0YW5jZSlyZXR1cm47dGhpcy5maWxlQ2FjaGUuc2V0KGUsdCk7bGV0IHI9dGhpcy5tb25hY29JbnN0YW5jZS5VcmkucGFyc2UoYGZpbGU6Ly8ke2V9YCksaT10aGlzLm1vbmFjb0luc3RhbmNlLmVkaXRvci5nZXRNb2RlbChyKTtpZihpKWkuZ2V0VmFsdWUoKSE9PXQmJmkuc2V0VmFsdWUodCk7ZWxzZXtsZXQgbz10aGlzLmdldExhbmd1YWdlRnJvbVBhdGgoZSk7dGhpcy5tb25hY29JbnN0YW5jZS5lZGl0b3IuY3JlYXRlTW9kZWwodCxvLHIpfXRoaXMuYWRkRmlsZUFzRXh0cmFMaWIoZSx0KX1hZGRGaWxlQXNFeHRyYUxpYihlLHQpe2xldCByPXRoaXMudHNBcGk7aWYoIXIpcmV0dXJuO2xldCBpPXRoaXMuYWRkZWRFeHRyYUxpYnMuZ2V0KGUpO2kmJmkuZGlzcG9zZSgpO2xldCBvPWBmaWxlOi8vJHtlfWAsbj1yLnR5cGVzY3JpcHREZWZhdWx0cy5hZGRFeHRyYUxpYih0LG8pO2lmKHRoaXMuYWRkZWRFeHRyYUxpYnMuc2V0KGUsbiksZS5lbmRzV2l0aCgiLnRzIikmJiFlLmVuZHNXaXRoKCIuZC50cyIpKXtsZXQgbD1lLnJlcGxhY2UoL1wudHMkLywiLmpzIiksZD1gZmlsZTovLyR7bH1gLGM9ci50eXBlc2NyaXB0RGVmYXVsdHMuYWRkRXh0cmFMaWIodCxkKTt0aGlzLmFkZGVkRXh0cmFMaWJzLnNldChsLGMpLHRoaXMuZmlsZUNhY2hlLnNldChsLHQpfWVsc2UgaWYoZS5lbmRzV2l0aCgiLnRzeCIpKXtsZXQgbD1lLnJlcGxhY2UoL1wudHN4JC8sIi5qc3giKSxkPWBmaWxlOi8vJHtsfWAsYz1yLnR5cGVzY3JpcHREZWZhdWx0cy5hZGRFeHRyYUxpYih0LGQpO3RoaXMuYWRkZWRFeHRyYUxpYnMuc2V0KGwsYyksdGhpcy5maWxlQ2FjaGUuc2V0KGwsdCl9fWdldEZpbGVDb250ZW50KGUpe3JldHVybiB0aGlzLmZpbGVDYWNoZS5nZXQoZSl9Z2V0TGFuZ3VhZ2VGcm9tUGF0aChlKXtzd2l0Y2goZS5zcGxpdCgiLiIpLnBvcCgpPy50b0xvd2VyQ2FzZSgpKXtjYXNlInRzIjpjYXNlInRzeCI6cmV0dXJuInR5cGVzY3JpcHQiO2Nhc2UianMiOmNhc2UianN4IjpyZXR1cm4iamF2YXNjcmlwdCI7Y2FzZSJqc29uIjpyZXR1cm4ianNvbiI7ZGVmYXVsdDpyZXR1cm4icGxhaW50ZXh0In19fX0pO3ZhciBDNSxsbixLNmEsTEplPWYoKCk9PntsZSgpO0p0KCk7RVllKCk7UWUoKTtfZigpO0M1PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxsbj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sSzZhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy13b3Jrc3BhY2UtZGlmZi1lZGl0b3IiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXTt2YXIgTz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1dvcmtzcGFjZURpZmZFZGl0b3IiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgVD10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOlN0cmluZ30pXSxOPVskKHt0eXBlOlN0cmluZ30pXSxDNSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9yaWdpbmFsQ29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4ib3JpZ2luYWxDb250ZW50ImluIEUsImhhcyIpLGdldDpzKEU9PkUub3JpZ2luYWxDb250ZW50LCJnZXQiKSxzZXQ6cygoRSxCKT0+e0Uub3JpZ2luYWxDb250ZW50PUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sbixsKSxDNSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im1vZGlmaWVkQ29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4ibW9kaWZpZWRDb250ZW50ImluIEUsImhhcyIpLGdldDpzKEU9PkUubW9kaWZpZWRDb250ZW50LCJnZXQiKSxzZXQ6cygoRSxCKT0+e0UubW9kaWZpZWRDb250ZW50PUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sYyxwKSxDNSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Im9yaWdpbmFsTGFiZWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+Im9yaWdpbmFsTGFiZWwiaW4gRSwiaGFzIiksZ2V0OnMoRT0+RS5vcmlnaW5hbExhYmVsLCJnZXQiKSxzZXQ6cygoRSxCKT0+e0Uub3JpZ2luYWxMYWJlbD1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LG0sdiksQzUodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJtb2RpZmllZExhYmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEU9PiJtb2RpZmllZExhYmVsImluIEUsImhhcyIpLGdldDpzKEU9PkUubW9kaWZpZWRMYWJlbCwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLm1vZGlmaWVkTGFiZWw9Qn0sInNldCIpfSxtZXRhZGF0YTpUfSxiLGcpLEM1KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToibGFuZ3VhZ2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRT0+Imxhbmd1YWdlImluIEUsImhhcyIpLGdldDpzKEU9PkUubGFuZ3VhZ2UsImdldCIpLHNldDpzKChFLEIpPT57RS5sYW5ndWFnZT1CfSwic2V0Iil9LG1ldGFkYXRhOlR9LGssQyksQzUodGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxlUGF0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhFPT4iZmlsZVBhdGgiaW4gRSwiaGFzIiksZ2V0OnMoRT0+RS5maWxlUGF0aCwiZ2V0Iiksc2V0OnMoKEUsQik9PntFLmZpbGVQYXRoPUJ9LCJzZXQiKX0sbWV0YWRhdGE6VH0sXyx6KSxDNShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpUfSxudWxsLHQpLE89cj1lLnZhbHVlLFQmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6VH0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGVlcy13b3Jrc3BhY2UtZGlmZi1lZGl0b3IKICAgICAgLm9yaWdpbmFsQ29udGVudD0ke2BmdW5jdGlvbiBoZWxsbygpIHsKICBjb25zb2xlLmxvZygiSGVsbG8iKTsKfWB9CiAgICAgIC5tb2RpZmllZENvbnRlbnQ9JHtgZnVuY3Rpb24gaGVsbG8oKSB7CiAgY29uc29sZS5sb2coIkhlbGxvIFdvcmxkISIpOwogIHJldHVybiB0cnVlOwp9YH0KICAgICAgLmxhbmd1YWdlPSR7InR5cGVzY3JpcHQifQogICAgICAuZmlsZVBhdGg9JHsiL2RlbW8vZXhhbXBsZS50cyJ9CiAgICA+PC9kZWVzLXdvcmtzcGFjZS1kaWZmLWVkaXRvcj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJXb3Jrc3BhY2UiXTtkaWZmRWRpdG9yRGVmZXJyZWQ9QnQuc21hcnRwcm9taXNlLmRlZmVyKCk7I2U9bG4odGhpcyxuLCIiKTtnZXQgb3JpZ2luYWxDb250ZW50KCl7cmV0dXJuIHRoaXMuI2V9c2V0IG9yaWdpbmFsQ29udGVudChUKXt0aGlzLiNlPVR9I3Q9KGxuKHRoaXMsbCksbG4odGhpcyxjLCIiKSk7Z2V0IG1vZGlmaWVkQ29udGVudCgpe3JldHVybiB0aGlzLiN0fXNldCBtb2RpZmllZENvbnRlbnQoVCl7dGhpcy4jdD1UfSNhPShsbih0aGlzLHApLGxuKHRoaXMsbSwiRGlzayBWZXJzaW9uIikpO2dldCBvcmlnaW5hbExhYmVsKCl7cmV0dXJuIHRoaXMuI2F9c2V0IG9yaWdpbmFsTGFiZWwoVCl7dGhpcy4jYT1UfSNyPShsbih0aGlzLHYpLGxuKHRoaXMsYiwiTG9jYWwgVmVyc2lvbiIpKTtnZXQgbW9kaWZpZWRMYWJlbCgpe3JldHVybiB0aGlzLiNyfXNldCBtb2RpZmllZExhYmVsKFQpe3RoaXMuI3I9VH0jcz0obG4odGhpcyxnKSxsbih0aGlzLGssInR5cGVzY3JpcHQiKSk7Z2V0IGxhbmd1YWdlKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGxhbmd1YWdlKFQpe3RoaXMuI3M9VH0jaT0obG4odGhpcyxDKSxsbih0aGlzLF8sIiIpKTtnZXQgZmlsZVBhdGgoKXtyZXR1cm4gdGhpcy4jaX1zZXQgZmlsZVBhdGgoVCl7dGhpcy4jaT1UfWRpZmZFZGl0b3I9KGxuKHRoaXMseiksbnVsbCk7bW9uYWNvVGhlbWVTdWJzY3JpcHRpb249bnVsbDtvcmlnaW5hbE1vZGVsPW51bGw7bW9kaWZpZWRNb2RlbD1udWxsO2NvbnN0cnVjdG9yKCl7c3VwZXIoKSxDaS5zZXR1cERvbVRvb2xzKCl9c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAwOwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICB9CgogICAgICAqIHsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuZGlmZi13cmFwcGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuZGlmZi10b29sYmFyIHsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk2JSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODUlKSIsImhzbCgwIDAlIDIwJSkiKX07CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5kaWZmLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMzAlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgIH0KCiAgICAgIC5kaWZmLWZpbGVuYW1lIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgIH0KCiAgICAgIC5kaWZmLWxhYmVscyB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgIH0KCiAgICAgIC5kaWZmLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmRpZmYtY29udGFpbmVyIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5uYXYtYnV0dG9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiAxNnB4OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgVD10aGlzLmZpbGVQYXRoLnNwbGl0KCIvIikucG9wKCl8fCJmaWxlIjtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGlmZi13cmFwcGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkaWZmLXRvb2xiYXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZGlmZi1pbmZvIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpZmYtZmlsZW5hbWUiPiR7VH08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkaWZmLWxhYmVscyI+JHt0aGlzLm9yaWdpbmFsTGFiZWx9IOKGlCAke3RoaXMubW9kaWZpZWRMYWJlbH08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRpZmYtYWN0aW9ucyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im5hdi1idXR0b25zIj4KICAgICAgICAgICAgICA8ZGVlcy1idXR0b24KICAgICAgICAgICAgICAgIHR5cGU9Im91dGxpbmUiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmdvVG9QcmV2aW91c0RpZmZ9CiAgICAgICAgICAgICAgPlByZXZpb3VzPC9kZWVzLWJ1dHRvbj4KICAgICAgICAgICAgICA8ZGVlcy1idXR0b24KICAgICAgICAgICAgICAgIHR5cGU9Im91dGxpbmUiCiAgICAgICAgICAgICAgICBAY2xpY2s9JHt0aGlzLmdvVG9OZXh0RGlmZn0KICAgICAgICAgICAgICA+TmV4dDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb24tYnV0dG9ucyI+CiAgICAgICAgICAgICAgPGRlZXMtYnV0dG9uCiAgICAgICAgICAgICAgICB0eXBlPSJoaWdobGlnaHRlZCIKICAgICAgICAgICAgICAgIEBjbGljaz0ke3RoaXMuYWNjZXB0TG9jYWx9CiAgICAgICAgICAgICAgPlVzZSBMb2NhbDwvZGVlcy1idXR0b24+CiAgICAgICAgICAgICAgPGRlZXMtYnV0dG9uCiAgICAgICAgICAgICAgICB0eXBlPSJvdXRsaW5lIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5hY2NlcHREaXNrfQogICAgICAgICAgICAgID5Vc2UgRGlzazwvZGVlcy1idXR0b24+CiAgICAgICAgICAgICAgPGRlZXMtYnV0dG9uCiAgICAgICAgICAgICAgICB0eXBlPSJvdXRsaW5lIgogICAgICAgICAgICAgICAgQGNsaWNrPSR7dGhpcy5jbG9zZX0KICAgICAgICAgICAgICA+Q2xvc2U8L2RlZXMtYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImRpZmYtY29udGFpbmVyIj48L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWFzeW5jIGZpcnN0VXBkYXRlZCgpe2F3YWl0IHN1cGVyLmZpcnN0VXBkYXRlZChuZXcgTWFwKSxhd2FpdCB0aGlzLmluaXREaWZmRWRpdG9yKCl9YXN5bmMgaW5pdERpZmZFZGl0b3IoKXtsZXQgVD10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoIi5kaWZmLWNvbnRhaW5lciIpO2lmKCFUKXJldHVybjtsZXQgRT1gaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9tb25hY28tZWRpdG9yQCR7SnRlfWAsQj13aW5kb3cubW9uYWNvO0J8fChhd2FpdCBuZXcgUHJvbWlzZShHPT57bGV0IGhlPXNldEludGVydmFsKCgpPT57d2luZG93Lm1vbmFjbyYmKGNsZWFySW50ZXJ2YWwoaGUpLEcoKSl9LDEwMCl9KSxCPXdpbmRvdy5tb25hY28pO2xldCBNPWF3YWl0IHRoaXMuZG9tdG9vbHNQcm9taXNlLFA9TS50aGVtZU1hbmFnZXIuZ29CcmlnaHRCb29sZWFuPyJ2cyI6InZzLWRhcmsiLEE9RGF0ZS5ub3coKSxGPUIuVXJpLnBhcnNlKGBkaWZmOi8vb3JpZ2luYWwvJHtBfSR7dGhpcy5maWxlUGF0aH1gKSxXPUIuVXJpLnBhcnNlKGBkaWZmOi8vbW9kaWZpZWQvJHtBfSR7dGhpcy5maWxlUGF0aH1gKTt0aGlzLm9yaWdpbmFsTW9kZWw9Qi5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy5vcmlnaW5hbENvbnRlbnQsdGhpcy5sYW5ndWFnZSxGKSx0aGlzLm1vZGlmaWVkTW9kZWw9Qi5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy5tb2RpZmllZENvbnRlbnQsdGhpcy5sYW5ndWFnZSxXKSx0aGlzLmRpZmZFZGl0b3I9Qi5lZGl0b3IuY3JlYXRlRGlmZkVkaXRvcihULHthdXRvbWF0aWNMYXlvdXQ6ITAscmVhZE9ubHk6ITEsb3JpZ2luYWxFZGl0YWJsZTohMSxyZW5kZXJTaWRlQnlTaWRlOiEwLGlnbm9yZVRyaW1XaGl0ZXNwYWNlOiExLGZvbnRTaXplOjE0LG1pbmltYXA6e2VuYWJsZWQ6ITF9fSksQi5lZGl0b3Iuc2V0VGhlbWUoUCksdGhpcy5kaWZmRWRpdG9yLnNldE1vZGVsKHtvcmlnaW5hbDp0aGlzLm9yaWdpbmFsTW9kZWwsbW9kaWZpZWQ6dGhpcy5tb2RpZmllZE1vZGVsfSksdGhpcy5tb25hY29UaGVtZVN1YnNjcmlwdGlvbj1NLnRoZW1lTWFuYWdlci50aGVtZU9ic2VydmFibGUuc3Vic2NyaWJlKEc9PntsZXQgaGU9Rz8idnMiOiJ2cy1kYXJrIjtCLmVkaXRvci5zZXRUaGVtZShoZSl9KTtsZXQgaj0ibW9uYWNvLWRpZmYtZWRpdG9yLWNzcyI7aWYoIXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoaikpe2xldCBoZT1hd2FpdChhd2FpdCBmZXRjaChgJHtFfS9taW4vdnMvZWRpdG9yL2VkaXRvci5tYWluLmNzc2ApKS50ZXh0KCksUj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO1IuaWQ9aixSLnRleHRDb250ZW50PWhlLHRoaXMuc2hhZG93Um9vdD8uYXBwZW5kKFIpfXNldFRpbWVvdXQoKCk9Pnt0cnl7dGhpcy5kaWZmRWRpdG9yPy5yZXZlYWxGaXJzdERpZmYoKX1jYXRjaHt9fSwxMDApLHRoaXMuZGlmZkVkaXRvckRlZmVycmVkLnJlc29sdmUodGhpcy5kaWZmRWRpdG9yKX1nb1RvTmV4dERpZmYoKXt0cnl7dGhpcy5kaWZmRWRpdG9yPy5nb1RvRGlmZigibmV4dCIpfWNhdGNoe319Z29Ub1ByZXZpb3VzRGlmZigpe3RyeXt0aGlzLmRpZmZFZGl0b3I/LmdvVG9EaWZmKCJwcmV2aW91cyIpfWNhdGNoe319YWNjZXB0TG9jYWwoKXtsZXQgVD10aGlzLmRpZmZFZGl0b3I/LmdldE1vZGlmaWVkRWRpdG9yKCkuZ2V0VmFsdWUoKXx8dGhpcy5tb2RpZmllZENvbnRlbnQ7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGlmZi1yZXNvbHZlZCIse2RldGFpbDp7YWN0aW9uOiJ1c2UtbG9jYWwiLGNvbnRlbnQ6VH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1hY2NlcHREaXNrKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGlmZi1yZXNvbHZlZCIse2RldGFpbDp7YWN0aW9uOiJ1c2UtZGlzayIsY29udGVudDp0aGlzLm9yaWdpbmFsQ29udGVudH0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jbG9zZSgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRpZmYtY2xvc2VkIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1hc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksdGhpcy5tb25hY29UaGVtZVN1YnNjcmlwdGlvbiYmKHRoaXMubW9uYWNvVGhlbWVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSx0aGlzLm1vbmFjb1RoZW1lU3Vic2NyaXB0aW9uPW51bGwpLHRoaXMub3JpZ2luYWxNb2RlbCYmKHRoaXMub3JpZ2luYWxNb2RlbC5kaXNwb3NlKCksdGhpcy5vcmlnaW5hbE1vZGVsPW51bGwpLHRoaXMubW9kaWZpZWRNb2RlbCYmKHRoaXMubW9kaWZpZWRNb2RlbC5kaXNwb3NlKCksdGhpcy5tb2RpZmllZE1vZGVsPW51bGwpLHRoaXMuZGlmZkVkaXRvciYmKHRoaXMuZGlmZkVkaXRvci5kaXNwb3NlKCksdGhpcy5kaWZmRWRpdG9yPW51bGwpfXN0YXRpY3tsbihyLHQpfX07cmV0dXJuIE89cn0pKCl9KTt2YXIgVHIsSHQsWjZhLFg2YT1mKCgpPT57bGUoKTtKdCgpO1FlKCk7ZGllKCk7JGYoKTtwaWUoKTtwaWUoKTtwRygpO3BHKCk7Q0plKCk7X0plKCk7dmEoKTskZigpO1RKZSgpO1lyKCk7SWEoKTtVc2UoKTtMSmUoKTtUcj1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sSHQ9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFo2YT0oKCk9PntsZXQgYT1baWUoImRlZXMtd29ya3NwYWNlIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W10sQixNPVtdLFM9W10sUCxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFgsSj1bXSxaPVtdLGdlLGFlPVtdLHJlPVtdLHllLFY9W10sSD1bXSxvZSxzZT1bXSx0ZT1bXSx6ZSxPZT1bXSxxZT1bXSxjdCwkZT1bXSxDZT1bXSxNZSxkZT1bXSx2ZT1bXSxBZSxLZT1bXSxudD1bXSxTdCxUZT1bXSx3ZT1bXTt2YXIgUmU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIkRlZXNXb3Jrc3BhY2UiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgZmU9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sZD1bJCh7YXR0cmlidXRlOiExfSldLHU9WyQoe3R5cGU6Qm9vbGVhbn0pXSx4PVskKHt0eXBlOkJvb2xlYW59KV0seT1bJCh7dHlwZTpOdW1iZXJ9KV0sTj1bJCh7dHlwZTpOdW1iZXJ9KV0sTz1bSygpXSxCPVtLKCldLFA9W0soKV0sVz1bSygpXSxoZT1bSygpXSxtZT1bSygpXSxjZT1bSygpXSxYPVtLKCldLGdlPVtLKCldLHllPVtLKCldLG9lPVtLKCldLHplPVtLKCldLGN0PVtLKCldLE1lPVtLKCldLEFlPVtLKCldLFN0PVtLKCldLFRyKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXhlY3V0aW9uRW52aXJvbm1lbnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJleGVjdXRpb25FbnZpcm9ubWVudCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmV4ZWN1dGlvbkVudmlyb25tZW50LCJnZXQiKSxzZXQ6cygoYmUsUGUpPT57YmUuZXhlY3V0aW9uRW52aXJvbm1lbnQ9UGV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LG4sbCksVHIodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbml0aWFsaXphdGlvblByb21pc2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJpbml0aWFsaXphdGlvblByb21pc2UiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5pbml0aWFsaXphdGlvblByb21pc2UsImdldCIpLHNldDpzKChiZSxQZSk9PntiZS5pbml0aWFsaXphdGlvblByb21pc2U9UGV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LGMscCksVHIodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93RmlsZVRyZWUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJzaG93RmlsZVRyZWUiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5zaG93RmlsZVRyZWUsImdldCIpLHNldDpzKChiZSxQZSk9PntiZS5zaG93RmlsZVRyZWU9UGV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LG0sdiksVHIodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93VGVybWluYWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJzaG93VGVybWluYWwiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5zaG93VGVybWluYWwsImdldCIpLHNldDpzKChiZSxQZSk9PntiZS5zaG93VGVybWluYWw9UGV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LGIsZyksVHIodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJmaWxlVHJlZVdpZHRoIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iZmlsZVRyZWVXaWR0aCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmZpbGVUcmVlV2lkdGgsImdldCIpLHNldDpzKChiZSxQZSk9PntiZS5maWxlVHJlZVdpZHRoPVBlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxrLEMpLFRyKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGVybWluYWxIZWlnaHQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJ0ZXJtaW5hbEhlaWdodCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLnRlcm1pbmFsSGVpZ2h0LCJnZXQiKSxzZXQ6cygoYmUsUGUpPT57YmUudGVybWluYWxIZWlnaHQ9UGV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LF8seiksVHIodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJvcGVuRmlsZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJvcGVuRmlsZXMiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5vcGVuRmlsZXMsImdldCIpLHNldDpzKChiZSxQZSk9PntiZS5vcGVuRmlsZXM9UGV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LFQsRSksVHIodGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3RpdmVGaWxlUGF0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImFjdGl2ZUZpbGVQYXRoImluIGJlLCJoYXMiKSxnZXQ6cyhiZT0+YmUuYWN0aXZlRmlsZVBhdGgsImdldCIpLHNldDpzKChiZSxQZSk9PntiZS5hY3RpdmVGaWxlUGF0aD1QZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sTSxTKSxUcih0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzVGVybWluYWxDb2xsYXBzZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoYmU9PiJpc1Rlcm1pbmFsQ29sbGFwc2VkImluIGJlLCJoYXMiKSxnZXQ6cyhiZT0+YmUuaXNUZXJtaW5hbENvbGxhcHNlZCwiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmlzVGVybWluYWxDb2xsYXBzZWQ9UGV9LCJzZXQiKX0sbWV0YWRhdGE6ZmV9LEEsRiksVHIodGhpcyxudWxsLFcse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0ZpbGVUcmVlQ29sbGFwc2VkIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iaXNGaWxlVHJlZUNvbGxhcHNlZCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmlzRmlsZVRyZWVDb2xsYXBzZWQsImdldCIpLHNldDpzKChiZSxQZSk9PntiZS5pc0ZpbGVUcmVlQ29sbGFwc2VkPVBlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxqLEcpLFRyKHRoaXMsbnVsbCxoZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzSW5pdGlhbGl6aW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iaXNJbml0aWFsaXppbmciaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5pc0luaXRpYWxpemluZywiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmlzSW5pdGlhbGl6aW5nPVBlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxSLFUpLFRyKHRoaXMsbnVsbCxtZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGl2ZUJvdHRvbVBhbmVsIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iYWN0aXZlQm90dG9tUGFuZWwiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5hY3RpdmVCb3R0b21QYW5lbCwiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmFjdGl2ZUJvdHRvbVBhbmVsPVBlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxJLHEpLFRyKHRoaXMsbnVsbCxjZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpYWdub3N0aWNNYXJrZXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iZGlhZ25vc3RpY01hcmtlcnMiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5kaWFnbm9zdGljTWFya2VycywiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmRpYWdub3N0aWNNYXJrZXJzPVBlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSx1ZSxZKSxUcih0aGlzLG51bGwsWCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImF1dG9TYXZlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iYXV0b1NhdmUiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5hdXRvU2F2ZSwiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmF1dG9TYXZlPVBlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxKLFopLFRyKHRoaXMsbnVsbCxnZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImluaXRDb21tYW5kIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iaW5pdENvbW1hbmQiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5pbml0Q29tbWFuZCwiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmluaXRDb21tYW5kPVBlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxhZSxyZSksVHIodGhpcyxudWxsLHllLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW5pdE91dHB1dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImluaXRPdXRwdXQiaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5pbml0T3V0cHV0LCJnZXQiKSxzZXQ6cygoYmUsUGUpPT57YmUuaW5pdE91dHB1dD1QZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sVixIKSxUcih0aGlzLG51bGwsb2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50RmlsZVRyZWVXaWR0aCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImN1cnJlbnRGaWxlVHJlZVdpZHRoImluIGJlLCJoYXMiKSxnZXQ6cyhiZT0+YmUuY3VycmVudEZpbGVUcmVlV2lkdGgsImdldCIpLHNldDpzKChiZSxQZSk9PntiZS5jdXJyZW50RmlsZVRyZWVXaWR0aD1QZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sc2UsdGUpLFRyKHRoaXMsbnVsbCx6ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRUZXJtaW5hbEhlaWdodCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImN1cnJlbnRUZXJtaW5hbEhlaWdodCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmN1cnJlbnRUZXJtaW5hbEhlaWdodCwiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmN1cnJlbnRUZXJtaW5hbEhlaWdodD1QZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sT2UscWUpLFRyKHRoaXMsbnVsbCxjdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzRHJhZ2dpbmdGaWxlVHJlZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImlzRHJhZ2dpbmdGaWxlVHJlZSJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmlzRHJhZ2dpbmdGaWxlVHJlZSwiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmlzRHJhZ2dpbmdGaWxlVHJlZT1QZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sJGUsQ2UpLFRyKHRoaXMsbnVsbCxNZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImlzRHJhZ2dpbmdUZXJtaW5hbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+ImlzRHJhZ2dpbmdUZXJtaW5hbCJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLmlzRHJhZ2dpbmdUZXJtaW5hbCwiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmlzRHJhZ2dpbmdUZXJtaW5hbD1QZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sZGUsdmUpLFRyKHRoaXMsbnVsbCxBZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dEaWZmVmlldyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhiZT0+InNob3dEaWZmVmlldyJpbiBiZSwiaGFzIiksZ2V0OnMoYmU9PmJlLnNob3dEaWZmVmlldywiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLnNob3dEaWZmVmlldz1QZX0sInNldCIpfSxtZXRhZGF0YTpmZX0sS2UsbnQpLFRyKHRoaXMsbnVsbCxTdCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRpZmZWaWV3Q29uZmlnIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGJlPT4iZGlmZlZpZXdDb25maWciaW4gYmUsImhhcyIpLGdldDpzKGJlPT5iZS5kaWZmVmlld0NvbmZpZywiZ2V0Iiksc2V0OnMoKGJlLFBlKT0+e2JlLmRpZmZWaWV3Q29uZmlnPVBlfSwic2V0Iil9LG1ldGFkYXRhOmZlfSxUZSx3ZSksVHIobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6ZmV9LG51bGwsdCksUmU9cj1lLnZhbHVlLGZlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmZlfSl9c3RhdGljIGRlbW89cygoKT0+e2xldCBmZT1uZXcgazUsYmU9KGFzeW5jKCk9Pnthd2FpdCBmZS5pbml0KCk7bGV0IG10PXsicGFja2FnZS5qc29uIjp7ZmlsZTp7Y29udGVudHM6SlNPTi5zdHJpbmdpZnkoe25hbWU6ImRlbW8tcHJvamVjdCIsdmVyc2lvbjoiMS4wLjAiLHR5cGU6Im1vZHVsZSIsc2NyaXB0czp7YnVpbGQ6InRzYyIsZGV2OiJ0c2MgLS13YXRjaCJ9LGRlcGVuZGVuY2llczp7IkBwdXNoLnJvY2tzL3NtYXJ0cHJvbWlzZSI6Il40LjIuMyJ9LGRldkRlcGVuZGVuY2llczp7IkB0eXBlcy9ub2RlIjoiXjIyLjAuMCIsdHlwZXNjcmlwdDoiXjUuMC4wIn19LG51bGwsMil9fSwibnBtZXh0cmEuanNvbiI6e2ZpbGU6e2NvbnRlbnRzOkpTT04uc3RyaW5naWZ5KHtkZWVzRWRpdG9yV29ya3NwYWNlOntvbkluaXQ6InBucG0gaW5zdGFsbCJ9fSxudWxsLDIpfX0sInRzY29uZmlnLmpzb24iOntmaWxlOntjb250ZW50czpKU09OLnN0cmluZ2lmeSh7Y29tcGlsZXJPcHRpb25zOnt0YXJnZXQ6IkVTMjAyMiIsbW9kdWxlOiJOb2RlTmV4dCIsbW9kdWxlUmVzb2x1dGlvbjoiTm9kZU5leHQiLHN0cmljdDohMCxvdXREaXI6Ii4vZGlzdCIscm9vdERpcjoiLi9zcmMiLGRlY2xhcmF0aW9uOiEwfSxpbmNsdWRlOlsic3JjLyoqLyoiXX0sbnVsbCwyKX19LHNyYzp7ZGlyZWN0b3J5OnsiaW5kZXgudHMiOntmaWxlOntjb250ZW50czpgLy8gTWFpbiBlbnRyeSBwb2ludAppbXBvcnQgeyBncmVldCwgZm9ybWF0TmFtZSB9IGZyb20gJy4vdXRpbHMuanMnOwoKY29uc3QgbmFtZSA9IGZvcm1hdE5hbWUoJ1dvcmxkJyk7CmNvbnNvbGUubG9nKGdyZWV0KG5hbWUpKTsKCi8vIEV4YW1wbGUgYXN5bmMgZnVuY3Rpb24KYXN5bmMgZnVuY3Rpb24gbWFpbigpIHsKICBjb25zdCByZXN1bHQgPSBhd2FpdCBQcm9taXNlLnJlc29sdmUoJ0hlbGxvIGZyb20gYXN5bmMhJyk7CiAgY29uc29sZS5sb2cocmVzdWx0KTsKfQoKbWFpbigpOwpgfX0sInV0aWxzLnRzIjp7ZmlsZTp7Y29udGVudHM6YC8vIFV0aWxpdHkgZnVuY3Rpb25zCgpleHBvcnQgaW50ZXJmYWNlIElVc2VyIHsKICBmaXJzdE5hbWU6IHN0cmluZzsKICBsYXN0TmFtZTogc3RyaW5nOwp9CgpleHBvcnQgZnVuY3Rpb24gZ3JlZXQobmFtZTogc3RyaW5nKTogc3RyaW5nIHsKICByZXR1cm4gXGBIZWxsbywgXCR7bmFtZX0hXGA7Cn0KCmV4cG9ydCBmdW5jdGlvbiBmb3JtYXROYW1lKG5hbWU6IHN0cmluZyk6IHN0cmluZyB7CiAgcmV0dXJuIG5hbWUudHJpbSgpLnRvVXBwZXJDYXNlKCk7Cn0KCmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVVc2VyKGZpcnN0TmFtZTogc3RyaW5nLCBsYXN0TmFtZTogc3RyaW5nKTogSVVzZXIgewogIHJldHVybiB7IGZpcnN0TmFtZSwgbGFzdE5hbWUgfTsKfQpgfX0sImltcG9ydHRlc3QudHMiOntmaWxlOntjb250ZW50czpgLy8gVGVzdCBucG0gcGFja2FnZSBpbXBvcnRzCmltcG9ydCAqIGFzIHNtYXJ0cHJvbWlzZSBmcm9tICdAcHVzaC5yb2Nrcy9zbWFydHByb21pc2UnOwoKLy8gVGhpcyBzaG91bGQgaGF2ZSBJbnRlbGxpU2Vuc2Ugc2hvd2luZyBkZWZlcigpIG1ldGhvZApjb25zdCBkZWZlcnJlZCA9IHNtYXJ0cHJvbWlzZS5kZWZlcjxzdHJpbmc+KCk7CgovLyBUZXN0IHVzaW5nIHRoZSBkZWZlcnJlZCBwcm9taXNlCmFzeW5jIGZ1bmN0aW9uIHRlc3RTbWFydFByb21pc2UoKSB7CiAgc2V0VGltZW91dCgoKSA9PiB7CiAgICBkZWZlcnJlZC5yZXNvbHZlKCdIZWxsbyBmcm9tIHNtYXJ0cHJvbWlzZSEnKTsKICB9LCAxMDApOwoKICBjb25zdCByZXN1bHQgPSBhd2FpdCBkZWZlcnJlZC5wcm9taXNlOwogIGNvbnNvbGUubG9nKHJlc3VsdCk7Cn0KCnRlc3RTbWFydFByb21pc2UoKTsKYH19fX19O2F3YWl0IGZlLm1vdW50KG10KX0pKCksUGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7UGUuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IGhlaWdodDogMTAwJTsgd2lkdGg6IDEwMCU7IG92ZXJmbG93OiBoaWRkZW47IjtsZXQgcHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGVlcy13b3Jrc3BhY2UiKTtyZXR1cm4gcHQuZXhlY3V0aW9uRW52aXJvbm1lbnQ9ZmUscHQuaW5pdGlhbGl6YXRpb25Qcm9taXNlPWJlLFBlLmFwcGVuZENoaWxkKHB0KSx3YAogICAgICA8ZGVlcy1kZW1vd3JhcHBlcj4KICAgICAgICAke1BlfQogICAgICA8L2RlZXMtZGVtb3dyYXBwZXI+CiAgICBgfSwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiV29ya3NwYWNlIl07I2U9SHQodGhpcyxuLG51bGwpO2dldCBleGVjdXRpb25FbnZpcm9ubWVudCgpe3JldHVybiB0aGlzLiNlfXNldCBleGVjdXRpb25FbnZpcm9ubWVudChmZSl7dGhpcy4jZT1mZX0jdD0oSHQodGhpcyxsKSxIdCh0aGlzLGMsbnVsbCkpO2dldCBpbml0aWFsaXphdGlvblByb21pc2UoKXtyZXR1cm4gdGhpcy4jdH1zZXQgaW5pdGlhbGl6YXRpb25Qcm9taXNlKGZlKXt0aGlzLiN0PWZlfSNhPShIdCh0aGlzLHApLEh0KHRoaXMsbSwhMCkpO2dldCBzaG93RmlsZVRyZWUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2hvd0ZpbGVUcmVlKGZlKXt0aGlzLiNhPWZlfSNyPShIdCh0aGlzLHYpLEh0KHRoaXMsYiwhMCkpO2dldCBzaG93VGVybWluYWwoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc2hvd1Rlcm1pbmFsKGZlKXt0aGlzLiNyPWZlfSNzPShIdCh0aGlzLGcpLEh0KHRoaXMsaywyNTApKTtnZXQgZmlsZVRyZWVXaWR0aCgpe3JldHVybiB0aGlzLiNzfXNldCBmaWxlVHJlZVdpZHRoKGZlKXt0aGlzLiNzPWZlfSNpPShIdCh0aGlzLEMpLEh0KHRoaXMsXywyMDApKTtnZXQgdGVybWluYWxIZWlnaHQoKXtyZXR1cm4gdGhpcy4jaX1zZXQgdGVybWluYWxIZWlnaHQoZmUpe3RoaXMuI2k9ZmV9I289KEh0KHRoaXMseiksSHQodGhpcyxULFtdKSk7Z2V0IG9wZW5GaWxlcygpe3JldHVybiB0aGlzLiNvfXNldCBvcGVuRmlsZXMoZmUpe3RoaXMuI289ZmV9I249KEh0KHRoaXMsRSksSHQodGhpcyxNLCIiKSk7Z2V0IGFjdGl2ZUZpbGVQYXRoKCl7cmV0dXJuIHRoaXMuI259c2V0IGFjdGl2ZUZpbGVQYXRoKGZlKXt0aGlzLiNuPWZlfSNsPShIdCh0aGlzLFMpLEh0KHRoaXMsQSwhMSkpO2dldCBpc1Rlcm1pbmFsQ29sbGFwc2VkKCl7cmV0dXJuIHRoaXMuI2x9c2V0IGlzVGVybWluYWxDb2xsYXBzZWQoZmUpe3RoaXMuI2w9ZmV9I2M9KEh0KHRoaXMsRiksSHQodGhpcyxqLCExKSk7Z2V0IGlzRmlsZVRyZWVDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy4jY31zZXQgaXNGaWxlVHJlZUNvbGxhcHNlZChmZSl7dGhpcy4jYz1mZX0jZD0oSHQodGhpcyxHKSxIdCh0aGlzLFIsITApKTtnZXQgaXNJbml0aWFsaXppbmcoKXtyZXR1cm4gdGhpcy4jZH1zZXQgaXNJbml0aWFsaXppbmcoZmUpe3RoaXMuI2Q9ZmV9I3U9KEh0KHRoaXMsVSksSHQodGhpcyxJLCJ0ZXJtaW5hbCIpKTtnZXQgYWN0aXZlQm90dG9tUGFuZWwoKXtyZXR1cm4gdGhpcy4jdX1zZXQgYWN0aXZlQm90dG9tUGFuZWwoZmUpe3RoaXMuI3U9ZmV9I3A9KEh0KHRoaXMscSksSHQodGhpcyx1ZSxbXSkpO2dldCBkaWFnbm9zdGljTWFya2Vycygpe3JldHVybiB0aGlzLiNwfXNldCBkaWFnbm9zdGljTWFya2VycyhmZSl7dGhpcy4jcD1mZX1lZGl0b3JFbGVtZW50PShIdCh0aGlzLFkpLG51bGwpO2luaXRpYWxpemF0aW9uU3RhcnRlZD0hMTtpbnRlbGxpU2Vuc2VNYW5hZ2VyPW51bGw7aW50ZWxsaVNlbnNlSW5pdGlhbGl6ZWQ9ITE7bm9kZU1vZHVsZXNXYXRjaGVyPW51bGw7bm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQ9bnVsbDtpbnRlbGxpU2Vuc2VEZWJvdW5jZVRpbWVvdXQ9bnVsbDtvcGVuRmlsZVdhdGNoZXJzPW5ldyBNYXA7ZmlsZUNoYW5nZURlYm91bmNlPW5ldyBNYXA7YWN0aW9uYmFyRWxlbWVudD1udWxsOyNmPUh0KHRoaXMsSiwhMSk7Z2V0IGF1dG9TYXZlKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IGF1dG9TYXZlKGZlKXt0aGlzLiNmPWZlfWF1dG9TYXZlSW50ZXJ2YWw9KEh0KHRoaXMsWiksbnVsbCk7I2g9SHQodGhpcyxhZSwiIik7Z2V0IGluaXRDb21tYW5kKCl7cmV0dXJuIHRoaXMuI2h9c2V0IGluaXRDb21tYW5kKGZlKXt0aGlzLiNoPWZlfSNtPShIdCh0aGlzLHJlKSxIdCh0aGlzLFYsW10pKTtnZXQgaW5pdE91dHB1dCgpe3JldHVybiB0aGlzLiNtfXNldCBpbml0T3V0cHV0KGZlKXt0aGlzLiNtPWZlfSNnPShIdCh0aGlzLEgpLEh0KHRoaXMsc2UsMjUwKSk7Z2V0IGN1cnJlbnRGaWxlVHJlZVdpZHRoKCl7cmV0dXJuIHRoaXMuI2d9c2V0IGN1cnJlbnRGaWxlVHJlZVdpZHRoKGZlKXt0aGlzLiNnPWZlfSNiPShIdCh0aGlzLHRlKSxIdCh0aGlzLE9lLDIwMCkpO2dldCBjdXJyZW50VGVybWluYWxIZWlnaHQoKXtyZXR1cm4gdGhpcy4jYn1zZXQgY3VycmVudFRlcm1pbmFsSGVpZ2h0KGZlKXt0aGlzLiNiPWZlfSN2PShIdCh0aGlzLHFlKSxIdCh0aGlzLCRlLCExKSk7Z2V0IGlzRHJhZ2dpbmdGaWxlVHJlZSgpe3JldHVybiB0aGlzLiN2fXNldCBpc0RyYWdnaW5nRmlsZVRyZWUoZmUpe3RoaXMuI3Y9ZmV9I3g9KEh0KHRoaXMsQ2UpLEh0KHRoaXMsZGUsITEpKTtnZXQgaXNEcmFnZ2luZ1Rlcm1pbmFsKCl7cmV0dXJuIHRoaXMuI3h9c2V0IGlzRHJhZ2dpbmdUZXJtaW5hbChmZSl7dGhpcy4jeD1mZX0jeT0oSHQodGhpcyx2ZSksSHQodGhpcyxLZSwhMSkpO2dldCBzaG93RGlmZlZpZXcoKXtyZXR1cm4gdGhpcy4jeX1zZXQgc2hvd0RpZmZWaWV3KGZlKXt0aGlzLiN5PWZlfSN3PShIdCh0aGlzLG50KSxIdCh0aGlzLFRlLG51bGwpKTtnZXQgZGlmZlZpZXdDb25maWcoKXtyZXR1cm4gdGhpcy4jd31zZXQgZGlmZlZpZXdDb25maWcoZmUpe3RoaXMuI3c9ZmV9a2V5ZG93bkhhbmRsZXI9KEh0KHRoaXMsd2UpLGZlPT57KGZlLm1ldGFLZXl8fGZlLmN0cmxLZXkpJiZmZS5rZXk9PT0icyImJiFmZS5zaGlmdEtleSYmKGZlLnByZXZlbnREZWZhdWx0KCksdGhpcy5zYXZlQWN0aXZlRmlsZSgpKSwoZmUubWV0YUtleXx8ZmUuY3RybEtleSkmJmZlLnNoaWZ0S2V5JiZmZS5rZXkudG9Mb3dlckNhc2UoKT09PSJzIiYmKGZlLnByZXZlbnREZWZhdWx0KCksdGhpcy5zYXZlQWxsRmlsZXMoKSl9KTtoYW5kbGVGaWxlVHJlZU1vdXNlRG93bj1zKGZlPT57ZmUucHJldmVudERlZmF1bHQoKSx0aGlzLmlzRHJhZ2dpbmdGaWxlVHJlZT0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlRmlsZVRyZWVNb3VzZU1vdmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlRmlsZVRyZWVNb3VzZVVwKX0sImhhbmRsZUZpbGVUcmVlTW91c2VEb3duIik7aGFuZGxlRmlsZVRyZWVNb3VzZU1vdmU9cyhmZT0+e2lmKCF0aGlzLmlzRHJhZ2dpbmdGaWxlVHJlZSlyZXR1cm47bGV0IGJlPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksUGU9ZmUuY2xpZW50WC1iZS5sZWZ0LHB0PTE1MCxtdD1iZS53aWR0aCouNSxOdD1NYXRoLm1heChwdCxNYXRoLm1pbihtdCxQZSkpO3RoaXMuY3VycmVudEZpbGVUcmVlV2lkdGg9TnR9LCJoYW5kbGVGaWxlVHJlZU1vdXNlTW92ZSIpO2hhbmRsZUZpbGVUcmVlTW91c2VVcD1zKCgpPT57dGhpcy5pc0RyYWdnaW5nRmlsZVRyZWU9ITEsZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLmhhbmRsZUZpbGVUcmVlTW91c2VNb3ZlKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZXVwIix0aGlzLmhhbmRsZUZpbGVUcmVlTW91c2VVcCksd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJyZXNpemUiKSl9LCJoYW5kbGVGaWxlVHJlZU1vdXNlVXAiKTtoYW5kbGVUZXJtaW5hbE1vdXNlRG93bj1zKGZlPT57ZmUucHJldmVudERlZmF1bHQoKSx0aGlzLmlzRHJhZ2dpbmdUZXJtaW5hbD0hMCxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZU1vdmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZVVwKX0sImhhbmRsZVRlcm1pbmFsTW91c2VEb3duIik7aGFuZGxlVGVybWluYWxNb3VzZU1vdmU9cyhmZT0+e2lmKCF0aGlzLmlzRHJhZ2dpbmdUZXJtaW5hbClyZXR1cm47bGV0IGJlPXRoaXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksUGU9ZmUuY2xpZW50WS1iZS50b3AscHQ9YmUuaGVpZ2h0LVBlLG10PTEwMCxOdD1iZS5oZWlnaHQqLjcsWGE9TWF0aC5tYXgobXQsTWF0aC5taW4oTnQscHQpKTt0aGlzLmN1cnJlbnRUZXJtaW5hbEhlaWdodD1YYX0sImhhbmRsZVRlcm1pbmFsTW91c2VNb3ZlIik7aGFuZGxlVGVybWluYWxNb3VzZVVwPXMoKCk9Pnt0aGlzLmlzRHJhZ2dpbmdUZXJtaW5hbD0hMSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZU1vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZVVwKSx3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInJlc2l6ZSIpKX0sImhhbmRsZVRlcm1pbmFsTW91c2VVcCIpO3N0YXRpYyBzdHlsZXM9W0VlLGguZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTYlKSIsImhzbCgwIDAlIDclKSIpfTsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCBSb2JvdG8sIHNhbnMtc2VyaWY7CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2Utb3V0ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2UtY29udGFpbmVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4taGVpZ2h0OiAwOwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICB9CgogICAgICAuZWRpdG9yLWFyZWEgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAuZmlsZXRyZWUtcGFuZWwgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZmlsZXRyZWUtcGFuZWwuY29sbGFwc2VkIHsKICAgICAgICB3aWR0aDogMCAhaW1wb3J0YW50OwogICAgICB9CgogICAgICAuZWRpdG9yLXBhbmVsIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsKICAgICAgfQoKICAgICAgLnRlcm1pbmFsLXBhbmVsIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAudGVybWluYWwtcGFuZWwuY29sbGFwc2VkIHsKICAgICAgICBoZWlnaHQ6IDMycHggIWltcG9ydGFudDsKICAgICAgfQoKICAgICAgLnBhbmVsLWhlYWRlciB7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgcGFkZGluZzogMCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSA4JSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDQwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAucGFuZWwtaGVhZGVyLXRpdGxlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgIH0KCiAgICAgIC5wYW5lbC1oZWFkZXItYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAucGFuZWwtYWN0aW9uIHsKICAgICAgICB3aWR0aDogMjRweDsKICAgICAgICBoZWlnaHQ6IDI0cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA1MCUpIiwiaHNsKDAgMCUgNjAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnBhbmVsLWFjdGlvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDg4JSkiLCJoc2woMCAwJSAxOCUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMzAlKSIsImhzbCgwIDAlIDgwJSkiKX07CiAgICAgIH0KCiAgICAgIC50YWJzLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk2JSkiLCJoc2woMCAwJSA4JSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMTUlKSIpfTsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAudGFiIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogMCAxMnB4OwogICAgICAgIG1pbi13aWR0aDogMTIwcHg7CiAgICAgICAgbWF4LXdpZHRoOiAyMDBweDsKICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiaHNsKDAgMCUgODglKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA5NCUpIiwiaHNsKDAgMCUgMTAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDkyJSkiLCJoc2woMCAwJSAxMiUpIil9OwogICAgICB9CgogICAgICAudGFiLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDEwMCUpIiwiaHNsKDAgMCUgOSUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgMjAlKSIsImhzbCgwIDAlIDkwJSkiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR7aC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgNTAlKSIsImhzbCgyMTAgMTAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAudGFiLW5hbWUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAudGFiLWNsb3NlIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICB9CgogICAgICAudGFiOmhvdmVyIC50YWItY2xvc2UgewogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC50YWItY2xvc2U6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSA4NSUpIiwiaHNsKDAgMCUgMjUlKSIpfTsKICAgICAgfQoKICAgICAgLnRhYi1tb2RpZmllZCB7CiAgICAgICAgd2lkdGg6IDhweDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAudGFicy1jb250YWluZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleDogMTsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAuZWRpdG9yLW1lbnUtYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggOHB4OwogICAgICAgIG1hcmdpbi1yaWdodDogNHB4OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMsIGJhY2tncm91bmQgMC4xNXM7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAuZWRpdG9yLW1lbnUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAwJSAvIDAuMDgpIiwiaHNsKDAgMCUgMTAwJSAvIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5lZGl0b3ItY29udGVudCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC50ZXJtaW5hbC1jb250ZW50IHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiAzMnB4OwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgYm90dG9tOiAwOwogICAgICB9CgogICAgICAucHJvYmxlbXMtY29udGVudCB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMzJweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAxMDAlKSIsImhzbCgwIDAlIDklKSIpfTsKICAgICAgfQoKICAgICAgLnBhbmVsLXRhYnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDA7CiAgICAgIH0KCiAgICAgIC5wYW5lbC10YWIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBwYWRkaW5nOiAwIDEycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA1NSUpIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnBhbmVsLXRhYjpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAzMCUpIiwiaHNsKDAgMCUgNzUlKSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgOTAlKSIsImhzbCgwIDAlIDEyJSkiKX07CiAgICAgIH0KCiAgICAgIC5wYW5lbC10YWIuYWN0aXZlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDIwJSkiLCJoc2woMCAwJSA5MCUpIil9OwogICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjEwIDEwMCUgNTAlKSIsImhzbCgyMTAgMTAwJSA2MCUpIil9OwogICAgICB9CgogICAgICAucGFuZWwtdGFiLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIG1pbi13aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgcGFkZGluZzogMCA1cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMCA3MCUgNTAlKSIsImhzbCgwIDcwJSA0NSUpIil9OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLnBhbmVsLXRhYi1iYWRnZS53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDQwIDcwJSA1MCUpIiwiaHNsKDQwIDcwJSA0NSUpIil9OwogICAgICB9CgogICAgICAucGFuZWwtdGFiLWJhZGdlLm5vbmUgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtcy1saXN0IHsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgfQoKICAgICAgLnByb2JsZW0taXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMCAwJSAzMCUpIiwiaHNsKDAgMCUgODAlKSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMXMgZWFzZTsKICAgICAgfQoKICAgICAgLnByb2JsZW0taXRlbTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDk1JSkiLCJoc2woMCAwJSAxNSUpIil9OwogICAgICB9CgogICAgICAucHJvYmxlbS1pY29uIHsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtLWljb24uZXJyb3IgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgNzAlIDUwJSkiLCJoc2woMCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLnByb2JsZW0taWNvbi53YXJuaW5nIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCg0MCA3MCUgNTAlKSIsImhzbCg0MCA3MCUgNjAlKSIpfTsKICAgICAgfQoKICAgICAgLnByb2JsZW0tZGV0YWlscyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtLW1lc3NhZ2UgewogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtLWxvY2F0aW9uIHsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDU1JSkiKX07CiAgICAgIH0KCiAgICAgIC5wcm9ibGVtcy1lbXB0eSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTUlKSIsImhzbCgwIDAlIDUwJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgwIDAlIDUwJSkiLCJoc2woMCAwJSA1MCUpIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIGRlZXMtaWNvbiB7CiAgICAgICAgd2lkdGg6IDQ4cHg7CiAgICAgICAgaGVpZ2h0OiA0OHB4OwogICAgICAgIG9wYWNpdHk6IDAuNTsKICAgICAgfQoKICAgICAgQGtleWZyYW1lcyBzcGluIHsKICAgICAgICBmcm9tIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0KICAgICAgICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0KICAgICAgfQoKICAgICAgLmluaXRpYWxpemluZyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDAgMCUgNTAlKSIsImhzbCgwIDAlIDYwJSkiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmluaXRpYWxpemluZyBkZWVzLWljb24gewogICAgICAgIGFuaW1hdGlvbjogc3BpbiAxcyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIC5pbml0aWFsaXppbmcgZGVlcy13b3Jrc3BhY2UtdGVybWluYWwtcHJldmlldyB7CiAgICAgICAgbWFyZ2luLXRvcDogMjRweDsKICAgICAgICB3aWR0aDogODAlOwogICAgICAgIG1heC13aWR0aDogNjAwcHg7CiAgICAgICAgaGVpZ2h0OiAyMDBweDsKICAgICAgfQoKICAgICAgZGVlcy13b3Jrc3BhY2UtZmlsZXRyZWUgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH0KCiAgICAgIGRlZXMtd29ya3NwYWNlLW1vbmFjbyB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgfQoKICAgICAgZGVlcy13b3Jrc3BhY2UtdGVybWluYWwgewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDA7CiAgICAgICAgbGVmdDogMDsKICAgICAgICByaWdodDogMDsKICAgICAgICBib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC8qIFJlc2l6ZSBoYW5kbGVzICovCiAgICAgIC5yZXNpemUtaGFuZGxlLXZlcnRpY2FsIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICAgIGN1cnNvcjogY29sLXJlc2l6ZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzIGVhc2U7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHotaW5kZXg6IDEwOwogICAgICB9CgogICAgICAucmVzaXplLWhhbmRsZS12ZXJ0aWNhbDpob3ZlciwKICAgICAgLnJlc2l6ZS1oYW5kbGUtdmVydGljYWwuZHJhZ2dpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzU4YTZmZiIpfTsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtdmVydGljYWw6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgdG9wOiA1MCU7CiAgICAgICAgbGVmdDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOwogICAgICAgIHdpZHRoOiAycHg7CiAgICAgICAgaGVpZ2h0OiAzMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjOWNhM2FmIiwiIzZlNzY4MSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxcHg7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGVhc2U7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLXZlcnRpY2FsOmhvdmVyOjphZnRlciwKICAgICAgLnJlc2l6ZS1oYW5kbGUtdmVydGljYWwuZHJhZ2dpbmc6OmFmdGVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiI2ZmZmZmZiIpfTsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtaG9yaXpvbnRhbCB7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgY3Vyc29yOiByb3ctcmVzaXplOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgei1pbmRleDogMTA7CiAgICAgIH0KCiAgICAgIC5yZXNpemUtaGFuZGxlLWhvcml6b250YWw6aG92ZXIsCiAgICAgIC5yZXNpemUtaGFuZGxlLWhvcml6b250YWwuZHJhZ2dpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzU4YTZmZiIpfTsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtaG9yaXpvbnRhbDo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgd2lkdGg6IDMycHg7CiAgICAgICAgaGVpZ2h0OiAycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmU3NjgxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDFweDsKICAgICAgICBvcGFjaXR5OiAwOwogICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgZWFzZTsKICAgICAgfQoKICAgICAgLnJlc2l6ZS1oYW5kbGUtaG9yaXpvbnRhbDpob3Zlcjo6YWZ0ZXIsCiAgICAgIC5yZXNpemUtaGFuZGxlLWhvcml6b250YWwuZHJhZ2dpbmc6OmFmdGVyIHsKICAgICAgICBvcGFjaXR5OiAxOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiI2ZmZmZmZiIpfTsKICAgICAgfQoKICAgICAgLyogUHJldmVudCB0ZXh0IHNlbGVjdGlvbiB3aGlsZSBkcmFnZ2luZyAqLwogICAgICAud29ya3NwYWNlLWNvbnRhaW5lci5kcmFnZ2luZyB7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2UtY29udGFpbmVyLmRyYWdnaW5nIC5maWxldHJlZS1wYW5lbCwKICAgICAgLndvcmtzcGFjZS1jb250YWluZXIuZHJhZ2dpbmcgLmVkaXRvci1wYW5lbCwKICAgICAgLndvcmtzcGFjZS1jb250YWluZXIuZHJhZ2dpbmcgLnRlcm1pbmFsLXBhbmVsIHsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgIGBdO3JlbmRlcigpe2xldCBmZT1bIndvcmtzcGFjZS1jb250YWluZXIiLHRoaXMuaXNEcmFnZ2luZ0ZpbGVUcmVlfHx0aGlzLmlzRHJhZ2dpbmdUZXJtaW5hbD8iZHJhZ2dpbmciOiIiXS5maWx0ZXIoQm9vbGVhbikuam9pbigiICIpO3JldHVybiB0aGlzLmlzSW5pdGlhbGl6aW5nP3dgCiAgICAgICAgPGRpdiBjbGFzcz0iaW5pdGlhbGl6aW5nIj4KICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmxvYWRlcjIifSBpY29uU2l6ZT0iMzIiPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+SW5pdGlhbGl6aW5nIHdvcmtzcGFjZS4uLjwvc3Bhbj4KICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS10ZXJtaW5hbC1wcmV2aWV3CiAgICAgICAgICAgIC5jb21tYW5kPSR7dGhpcy5pbml0Q29tbWFuZHx8IiJ9CiAgICAgICAgICAgIC5saW5lcz0ke3RoaXMuaW5pdE91dHB1dH0KICAgICAgICAgID48L2RlZXMtd29ya3NwYWNlLXRlcm1pbmFsLXByZXZpZXc+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgPGRpdiBjbGFzcz0id29ya3NwYWNlLW91dGVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSIke2ZlfSI+CiAgICAgICAgICA8IS0tIEZpbGV0cmVlIHBhbmVsIChmdWxsIGhlaWdodCkgLS0+CiAgICAgICAgICAke3RoaXMuc2hvd0ZpbGVUcmVlP3dgCiAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICBjbGFzcz0iZmlsZXRyZWUtcGFuZWwgJHt0aGlzLmlzRmlsZVRyZWVDb2xsYXBzZWQ/ImNvbGxhcHNlZCI6IiJ9IgogICAgICAgICAgICAgIHN0eWxlPSJ3aWR0aDogJHt0aGlzLmlzRmlsZVRyZWVDb2xsYXBzZWQ/MDp0aGlzLmN1cnJlbnRGaWxlVHJlZVdpZHRofXB4IgogICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGRlZXMtd29ya3NwYWNlLWZpbGV0cmVlCiAgICAgICAgICAgICAgICAuZXhlY3V0aW9uRW52aXJvbm1lbnQ9JHt0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fQogICAgICAgICAgICAgICAgLnNlbGVjdGVkUGF0aD0ke3RoaXMuYWN0aXZlRmlsZVBhdGh9CiAgICAgICAgICAgICAgICBAZmlsZS1zZWxlY3Q9JHt0aGlzLmhhbmRsZUZpbGVTZWxlY3R9CiAgICAgICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtZmlsZXRyZWU+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAke3RoaXMuaXNGaWxlVHJlZUNvbGxhcHNlZD8iIjp3YAogICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSJyZXNpemUtaGFuZGxlLXZlcnRpY2FsICR7dGhpcy5pc0RyYWdnaW5nRmlsZVRyZWU/ImRyYWdnaW5nIjoiIn0iCiAgICAgICAgICAgICAgICBAbW91c2Vkb3duPSR7dGhpcy5oYW5kbGVGaWxlVHJlZU1vdXNlRG93bn0KICAgICAgICAgICAgICA+PC9kaXY+CiAgICAgICAgICAgIGB9CiAgICAgICAgICBgOiIifQoKICAgICAgICAgIDwhLS0gRWRpdG9yICsgVGVybWluYWwgYXJlYSAtLT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImVkaXRvci1hcmVhIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yLXBhbmVsIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJzLWJhciI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJzLWNvbnRhaW5lciI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5vcGVuRmlsZXMubWFwKGJlPT53YAogICAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJ0YWIgJHtiZS5wYXRoPT09dGhpcy5hY3RpdmVGaWxlUGF0aD8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5hY3RpdmF0ZUZpbGUoYmUucGF0aCl9CiAgICAgICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICAgICAgJHtiZS5tb2RpZmllZD93YDxzcGFuIGNsYXNzPSJ0YWItbW9kaWZpZWQiPjwvc3Bhbj5gOiIifQogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYi1uYW1lIj4ke2JlLm5hbWV9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InRhYi1jbG9zZSIgQGNsaWNrPSR7UGU9PnRoaXMuY2xvc2VGaWxlKFBlLGJlLnBhdGgpfT4KICAgICAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6eCJ9IGljb25TaXplPSIxMiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlZGl0b3ItbWVudS1idXR0b24iIEBjbGljaz0ke3RoaXMuc2hvd0VkaXRvck1lbnV9IHRpdGxlPSJFZGl0b3Igb3B0aW9ucyI+CiAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOm1vcmVWZXJ0aWNhbCJ9IGljb25TaXplPSIxNiI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlZGl0b3ItY29udGVudCI+CiAgICAgICAgICAgICAgICAke3RoaXMuc2hvd0RpZmZWaWV3JiZ0aGlzLmRpZmZWaWV3Q29uZmlnP3dgCiAgICAgICAgICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1kaWZmLWVkaXRvcgogICAgICAgICAgICAgICAgICAgIC5maWxlUGF0aD0ke3RoaXMuZGlmZlZpZXdDb25maWcuZmlsZVBhdGh9CiAgICAgICAgICAgICAgICAgICAgLm9yaWdpbmFsQ29udGVudD0ke3RoaXMuZGlmZlZpZXdDb25maWcub3JpZ2luYWxDb250ZW50fQogICAgICAgICAgICAgICAgICAgIC5tb2RpZmllZENvbnRlbnQ9JHt0aGlzLmRpZmZWaWV3Q29uZmlnLm1vZGlmaWVkQ29udGVudH0KICAgICAgICAgICAgICAgICAgICAubGFuZ3VhZ2U9JHt0aGlzLmRpZmZWaWV3Q29uZmlnLmxhbmd1YWdlfQogICAgICAgICAgICAgICAgICAgIEBkaWZmLXJlc29sdmVkPSR7dGhpcy5oYW5kbGVEaWZmUmVzb2x2ZWR9CiAgICAgICAgICAgICAgICAgICAgQGRpZmYtY2xvc2VkPSR7KCk9Pnt0aGlzLnNob3dEaWZmVmlldz0hMSx0aGlzLmRpZmZWaWV3Q29uZmlnPW51bGx9fQogICAgICAgICAgICAgICAgICA+PC9kZWVzLXdvcmtzcGFjZS1kaWZmLWVkaXRvcj4KICAgICAgICAgICAgICAgIGA6dGhpcy5vcGVuRmlsZXMubGVuZ3RoPT09MD93YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6ZmlsZUNvZGUifSBpY29uU2l6ZT0iNDgiPjwvZGVlcy1pY29uPgogICAgICAgICAgICAgICAgICAgIDxzcGFuPlNlbGVjdCBhIGZpbGUgdG8gZWRpdDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tb25hY28KICAgICAgICAgICAgICAgICAgICAuZmlsZVBhdGg9JHt0aGlzLmFjdGl2ZUZpbGVQYXRofQogICAgICAgICAgICAgICAgICAgIC5jb250ZW50PSR7dGhpcy5nZXRBY3RpdmVGaWxlQ29udGVudCgpfQogICAgICAgICAgICAgICAgICAgIC5sYW5ndWFnZT0ke3RoaXMuZ2V0TGFuZ3VhZ2VGcm9tUGF0aCh0aGlzLmFjdGl2ZUZpbGVQYXRoKX0KICAgICAgICAgICAgICAgICAgICBAY29udGVudC1jaGFuZ2U9JHt0aGlzLmhhbmRsZUNvbnRlbnRDaGFuZ2V9CiAgICAgICAgICAgICAgICAgID48L2RlZXMtd29ya3NwYWNlLW1vbmFjbz4KICAgICAgICAgICAgICAgIGB9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRlZXMtYWN0aW9uYmFyPjwvZGVlcy1hY3Rpb25iYXI+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPCEtLSBIb3Jpem9udGFsIHJlc2l6ZSBoYW5kbGUgZm9yIHRlcm1pbmFsIC0tPgogICAgICAgICAgICAke3RoaXMuc2hvd1Rlcm1pbmFsJiYhdGhpcy5pc1Rlcm1pbmFsQ29sbGFwc2VkP3dgCiAgICAgICAgICAgICAgPGRpdgogICAgICAgICAgICAgICAgY2xhc3M9InJlc2l6ZS1oYW5kbGUtaG9yaXpvbnRhbCAke3RoaXMuaXNEcmFnZ2luZ1Rlcm1pbmFsPyJkcmFnZ2luZyI6IiJ9IgogICAgICAgICAgICAgICAgQG1vdXNlZG93bj0ke3RoaXMuaGFuZGxlVGVybWluYWxNb3VzZURvd259CiAgICAgICAgICAgICAgPjwvZGl2PgogICAgICAgICAgICBgOiIifQoKICAgICAgICAgICAgPCEtLSBUZXJtaW5hbCBwYW5lbCAtLT4KICAgICAgICAgICAgJHt0aGlzLnNob3dUZXJtaW5hbD93YAogICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgIGNsYXNzPSJ0ZXJtaW5hbC1wYW5lbCAke3RoaXMuaXNUZXJtaW5hbENvbGxhcHNlZD8iY29sbGFwc2VkIjoiIn0iCiAgICAgICAgICAgICAgICBzdHlsZT0iaGVpZ2h0OiAke3RoaXMuaXNUZXJtaW5hbENvbGxhcHNlZD8zMjp0aGlzLmN1cnJlbnRUZXJtaW5hbEhlaWdodH1weCIKICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1oZWFkZXIiPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC10YWJzIj4KICAgICAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz0icGFuZWwtdGFiICR7dGhpcy5hY3RpdmVCb3R0b21QYW5lbD09PSJ0ZXJtaW5hbCI/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuYWN0aXZlQm90dG9tUGFuZWw9InRlcm1pbmFsIn0KICAgICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTp0ZXJtaW5hbCJ9IGljb25TaXplPSIxNCI+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgICBUZXJtaW5hbAogICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYKICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPSJwYW5lbC10YWIgJHt0aGlzLmFjdGl2ZUJvdHRvbVBhbmVsPT09InByb2JsZW1zIj8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5hY3RpdmVCb3R0b21QYW5lbD0icHJvYmxlbXMifQogICAgICAgICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24gLmljb249JHsibHVjaWRlOmNpcmNsZUFsZXJ0In0gaWNvblNpemU9IjE0Ij48L2RlZXMtaWNvbj4KICAgICAgICAgICAgICAgICAgICAgIFByb2JsZW1zCiAgICAgICAgICAgICAgICAgICAgICAke3RoaXMuZGlhZ25vc3RpY01hcmtlcnMubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InBhbmVsLXRhYi1iYWRnZSAke3RoaXMuZ2V0RXJyb3JDb3VudCgpPT09MD8id2FybmluZyI6IiJ9Ij4ke3RoaXMuZGlhZ25vc3RpY01hcmtlcnMubGVuZ3RofTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYW5lbC1oZWFkZXItYWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFuZWwtYWN0aW9uIiBAY2xpY2s9JHt0aGlzLnRvZ2dsZVRlcm1pbmFsfT4KICAgICAgICAgICAgICAgICAgICAgIDxkZWVzLWljb24KICAgICAgICAgICAgICAgICAgICAgICAgLmljb249JHt0aGlzLmlzVGVybWluYWxDb2xsYXBzZWQ/Imx1Y2lkZTpjaGV2cm9uVXAiOiJsdWNpZGU6Y2hldnJvbkRvd24ifQogICAgICAgICAgICAgICAgICAgICAgICBpY29uU2l6ZT0iMTQiCiAgICAgICAgICAgICAgICAgICAgICA+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXJtaW5hbC1jb250ZW50IiBzdHlsZT0iZGlzcGxheTogJHt0aGlzLmFjdGl2ZUJvdHRvbVBhbmVsPT09InRlcm1pbmFsIj8iYmxvY2siOiJub25lIn0iPgogICAgICAgICAgICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtdGVybWluYWwKICAgICAgICAgICAgICAgICAgICAuZXhlY3V0aW9uRW52aXJvbm1lbnQ9JHt0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50fQogICAgICAgICAgICAgICAgICAgIC5zZXR1cENvbW1hbmQ9JHsiIn0KICAgICAgICAgICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtdGVybWluYWw+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2JsZW1zLWNvbnRlbnQiIHN0eWxlPSJkaXNwbGF5OiAke3RoaXMuYWN0aXZlQm90dG9tUGFuZWw9PT0icHJvYmxlbXMiPyJibG9jayI6Im5vbmUifSI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5yZW5kZXJQcm9ibGVtc1BhbmVsKCl9CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIEJvdHRvbSBCYXIgKGZ1bGwgd2lkdGgpIC0tPgogICAgICAgIDxkZWVzLXdvcmtzcGFjZS1ib3R0b21iYXIKICAgICAgICAgIC5leGVjdXRpb25FbnZpcm9ubWVudD0ke3RoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR9CiAgICAgICAgICBAcnVuLXByb2Nlc3M9JHt0aGlzLmhhbmRsZVJ1blByb2Nlc3N9CiAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtYm90dG9tYmFyPgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImtleWRvd24iLHRoaXMua2V5ZG93bkhhbmRsZXIpfWFzeW5jIGRpc2Nvbm5lY3RlZENhbGxiYWNrKCl7YXdhaXQgc3VwZXIuZGlzY29ubmVjdGVkQ2FsbGJhY2soKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJrZXlkb3duIix0aGlzLmtleWRvd25IYW5kbGVyKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlRmlsZVRyZWVNb3VzZU1vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlRmlsZVRyZWVNb3VzZVVwKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJtb3VzZW1vdmUiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZU1vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlVGVybWluYWxNb3VzZVVwKSx0aGlzLmF1dG9TYXZlSW50ZXJ2YWwmJihjbGVhckludGVydmFsKHRoaXMuYXV0b1NhdmVJbnRlcnZhbCksdGhpcy5hdXRvU2F2ZUludGVydmFsPW51bGwpLHRoaXMuc3RvcE5vZGVNb2R1bGVzV2F0Y2hlcigpLHRoaXMuc3RvcEFsbEZpbGVXYXRjaGVycygpfWFzeW5jIGZpcnN0VXBkYXRlZCgpe3RoaXMuY3VycmVudEZpbGVUcmVlV2lkdGg9dGhpcy5maWxlVHJlZVdpZHRoLHRoaXMuY3VycmVudFRlcm1pbmFsSGVpZ2h0PXRoaXMudGVybWluYWxIZWlnaHQsdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCYmYXdhaXQgdGhpcy5pbml0aWFsaXplV29ya3NwYWNlKCl9YXN5bmMgdXBkYXRlZChmZSl7ZmUuaGFzKCJleGVjdXRpb25FbnZpcm9ubWVudCIpJiZ0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50JiZhd2FpdCB0aGlzLmluaXRpYWxpemVXb3Jrc3BhY2UoKSx0aGlzLmFjdGlvbmJhckVsZW1lbnR8fCh0aGlzLmFjdGlvbmJhckVsZW1lbnQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCIuZWRpdG9yLXBhbmVsIGRlZXMtYWN0aW9uYmFyIikpfWFzeW5jIGluaXRpYWxpemVXb3Jrc3BhY2UoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50JiYhdGhpcy5pbml0aWFsaXphdGlvblN0YXJ0ZWQpe3RoaXMuaW5pdGlhbGl6YXRpb25TdGFydGVkPSEwLHRoaXMuaXNJbml0aWFsaXppbmc9ITA7dHJ5e3RoaXMuaW5pdGlhbGl6YXRpb25Qcm9taXNlP2F3YWl0IHRoaXMuaW5pdGlhbGl6YXRpb25Qcm9taXNlOnRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZHl8fGF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuaW5pdCgpLGF3YWl0IHRoaXMuZXhlY3V0ZU9uSW5pdENvbW1hbmQoKX1jYXRjaChmZSl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGluaXRpYWxpemUgd29ya3NwYWNlOiIsZmUpLHRoaXMuaW5pdGlhbGl6YXRpb25TdGFydGVkPSExfWZpbmFsbHl7dGhpcy5pc0luaXRpYWxpemluZz0hMX19fWFzeW5jIGV4ZWN1dGVPbkluaXRDb21tYW5kKCl7aWYodGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCl0cnl7aWYoYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC5leGlzdHMoIi9ucG1leHRyYS5qc29uIikpe2xldCBmZT1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKCIvbnBtZXh0cmEuanNvbiIpLFBlPUpTT04ucGFyc2UoZmUpPy5kZWVzRWRpdG9yV29ya3NwYWNlPy5vbkluaXQ7aWYoUGUmJnR5cGVvZiBQZT09InN0cmluZyIpe2NvbnNvbGUubG9nKCJFeGVjdXRpbmcgb25Jbml0IGNvbW1hbmQ6IixQZSksdGhpcy5pbml0Q29tbWFuZD1QZSx0aGlzLmluaXRPdXRwdXQ9W107bGV0W3B0LC4uLm10XT1QZS5zcGxpdCgiICIpLE50PWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQuc3Bhd24ocHQsbXQpO050Lm91dHB1dC5waXBlVG8obmV3IFdyaXRhYmxlU3RyZWFtKHt3cml0ZTpzKEphPT57bGV0IHZzPUphLnNwbGl0KGAKYCk7Zm9yKGxldCBqZSBvZiB2cylqZSYmKHRoaXMuaW5pdE91dHB1dD1bLi4udGhpcy5pbml0T3V0cHV0LGplXSl9LCJ3cml0ZSIpfSkpO2xldCBYYT1hd2FpdCBOdC5leGl0O2NvbnNvbGUubG9nKCJvbkluaXQgY29tbWFuZCBjb21wbGV0ZWQgd2l0aCBleGl0IGNvZGU6IixYYSksdGhpcy5pbml0T3V0cHV0PVsuLi50aGlzLmluaXRPdXRwdXQsIiIsYENvbW1hbmQgY29tcGxldGVkIHdpdGggZXhpdCBjb2RlOiAke1hhfWBdfX19Y2F0Y2goZmUpe2NvbnNvbGUud2FybigiRmFpbGVkIHRvIGV4ZWN1dGUgb25Jbml0IGNvbW1hbmQ6IixmZSl9fWFzeW5jIGluaXRpYWxpemVJbnRlbGxpU2Vuc2UoKXtpZighdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudHx8dGhpcy5pbnRlbGxpU2Vuc2VJbml0aWFsaXplZClyZXR1cm47bGV0IGZlPXdpbmRvdy5tb25hY287aWYoZmV8fChhd2FpdCBuZXcgUHJvbWlzZShiZT0+c2V0VGltZW91dChiZSwxMDApKSxmZT13aW5kb3cubW9uYWNvKSwhZmUpe2NvbnNvbGUud2FybigiTW9uYWNvIG5vdCB5ZXQgbG9hZGVkLCBJbnRlbGxpU2Vuc2Ugd2lsbCBiZSBpbml0aWFsaXplZCBsYXRlciIpO3JldHVybn10aGlzLmludGVsbGlTZW5zZUluaXRpYWxpemVkPSEwLHRoaXMuaW50ZWxsaVNlbnNlTWFuYWdlcj1uZXcgaEcsYXdhaXQgdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyLmluaXQoZmUsdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudCksdGhpcy5zZXR1cE1hcmtlckxpc3RlbmVyKCksdGhpcy5zdGFydE5vZGVNb2R1bGVzV2F0Y2hlcigpLGF3YWl0IHRoaXMuaW50ZWxsaVNlbnNlTWFuYWdlci5zY2FuQW5kTG9hZE5ld1BhY2thZ2VUeXBlcygpfXN0YXJ0Tm9kZU1vZHVsZXNXYXRjaGVyKCl7aWYoISghdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudHx8dGhpcy5ub2RlTW9kdWxlc1dhdGNoZXIpKXRyeXt0aGlzLm5vZGVNb2R1bGVzV2F0Y2hlcj10aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndhdGNoKCIvbm9kZV9tb2R1bGVzIiwoZmUsYmUpPT57dGhpcy5ub2RlTW9kdWxlc0RlYm91bmNlVGltZW91dCYmY2xlYXJUaW1lb3V0KHRoaXMubm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQpLHRoaXMubm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQ9c2V0VGltZW91dChhc3luYygpPT57dGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyJiZhd2FpdCB0aGlzLmludGVsbGlTZW5zZU1hbmFnZXIuc2NhbkFuZExvYWROZXdQYWNrYWdlVHlwZXMoKX0sMmUzKX0se3JlY3Vyc2l2ZTohMH0pfWNhdGNoKGZlKXtjb25zb2xlLndhcm4oIkNvdWxkIG5vdCB3YXRjaCBub2RlX21vZHVsZXM6IixmZSl9fXN0b3BOb2RlTW9kdWxlc1dhdGNoZXIoKXt0aGlzLm5vZGVNb2R1bGVzV2F0Y2hlciYmKHRoaXMubm9kZU1vZHVsZXNXYXRjaGVyLnN0b3AoKSx0aGlzLm5vZGVNb2R1bGVzV2F0Y2hlcj1udWxsKSx0aGlzLm5vZGVNb2R1bGVzRGVib3VuY2VUaW1lb3V0JiYoY2xlYXJUaW1lb3V0KHRoaXMubm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQpLHRoaXMubm9kZU1vZHVsZXNEZWJvdW5jZVRpbWVvdXQ9bnVsbCl9c3RhcnRXYXRjaGluZ0ZpbGUoZmUpe2lmKCEoIXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnR8fHRoaXMub3BlbkZpbGVXYXRjaGVycy5oYXMoZmUpKSl0cnl7bGV0IGJlPXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQud2F0Y2goZmUsKFBlLHB0KT0+e2xldCBtdD10aGlzLmZpbGVDaGFuZ2VEZWJvdW5jZS5nZXQoZmUpO210JiZjbGVhclRpbWVvdXQobXQpO2xldCBOdD1zZXRUaW1lb3V0KCgpPT57dGhpcy5oYW5kbGVFeHRlcm5hbEZpbGVDaGFuZ2UoZmUpLHRoaXMuZmlsZUNoYW5nZURlYm91bmNlLmRlbGV0ZShmZSl9LDMwMCk7dGhpcy5maWxlQ2hhbmdlRGVib3VuY2Uuc2V0KGZlLE50KX0pO3RoaXMub3BlbkZpbGVXYXRjaGVycy5zZXQoZmUsYmUpfWNhdGNoKGJlKXtjb25zb2xlLndhcm4oYENvdWxkIG5vdCB3YXRjaCBmaWxlICR7ZmV9OmAsYmUpfX1zdG9wV2F0Y2hpbmdGaWxlKGZlKXtsZXQgYmU9dGhpcy5vcGVuRmlsZVdhdGNoZXJzLmdldChmZSk7YmUmJihiZS5zdG9wKCksdGhpcy5vcGVuRmlsZVdhdGNoZXJzLmRlbGV0ZShmZSkpO2xldCBQZT10aGlzLmZpbGVDaGFuZ2VEZWJvdW5jZS5nZXQoZmUpO1BlJiYoY2xlYXJUaW1lb3V0KFBlKSx0aGlzLmZpbGVDaGFuZ2VEZWJvdW5jZS5kZWxldGUoZmUpKX1zdG9wQWxsRmlsZVdhdGNoZXJzKCl7Zm9yKGxldCBmZSBvZiB0aGlzLm9wZW5GaWxlV2F0Y2hlcnMudmFsdWVzKCkpZmUuc3RvcCgpO3RoaXMub3BlbkZpbGVXYXRjaGVycy5jbGVhcigpO2ZvcihsZXQgZmUgb2YgdGhpcy5maWxlQ2hhbmdlRGVib3VuY2UudmFsdWVzKCkpY2xlYXJUaW1lb3V0KGZlKTt0aGlzLmZpbGVDaGFuZ2VEZWJvdW5jZS5jbGVhcigpfWFzeW5jIGhhbmRsZUV4dGVybmFsRmlsZUNoYW5nZShmZSl7bGV0IGJlPXRoaXMub3BlbkZpbGVzLmZpbmQoUGU9PlBlLnBhdGg9PT1mZSk7aWYoISghYmV8fCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KSl0cnl7bGV0IFBlPWF3YWl0IHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQucmVhZEZpbGUoZmUpO2lmKFBlPT09YmUuY29udGVudClyZXR1cm47aWYoYmUubW9kaWZpZWQpe2xldCBwdD1hd2FpdCB0aGlzLmFjdGlvbmJhckVsZW1lbnQ/LnNob3coe21lc3NhZ2U6YCIke2JlLm5hbWV9IiBjaGFuZ2VkIG9uIGRpc2suIFdoYXQgZG8geW91IHdhbnQgdG8gZG8/YCx0eXBlOiJxdWVzdGlvbiIsaWNvbjoibHVjaWRlOmdpdE1lcmdlIixhY3Rpb25zOlt7aWQ6ImxvYWQtZGlzayIsbGFiZWw6IkxvYWQgZnJvbSBEaXNrIixwcmltYXJ5OiEwfSx7aWQ6InNhdmUtbG9jYWwiLGxhYmVsOiJTYXZlIExvY2FsIHRvIERpc2sifSx7aWQ6ImNvbXBhcmUiLGxhYmVsOiJDb21wYXJlIn1dLHRpbWVvdXQ6e2R1cmF0aW9uOjE1ZTMsZGVmYXVsdEFjdGlvbklkOiJsb2FkLWRpc2sifSxkaXNtaXNzaWJsZTohMH0pO3B0Py5hY3Rpb25JZD09PSJsb2FkLWRpc2siP2F3YWl0IHRoaXMudXBkYXRlRmlsZUNvbnRlbnQoZmUsUGUsITEpOnB0Py5hY3Rpb25JZD09PSJzYXZlLWxvY2FsIj8oYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUoZmUsYmUuY29udGVudCksdGhpcy5vcGVuRmlsZXM9dGhpcy5vcGVuRmlsZXMubWFwKG10PT5tdC5wYXRoPT09ZmU/ey4uLm10LG1vZGlmaWVkOiExfTptdCkpOnB0Py5hY3Rpb25JZD09PSJjb21wYXJlIiYmdGhpcy5vcGVuRGlmZlZpZXcoZmUsYmUuY29udGVudCxQZSl9ZWxzZSBhd2FpdCB0aGlzLnVwZGF0ZUZpbGVDb250ZW50KGZlLFBlLCEwKX1jYXRjaChQZSl7Y29uc29sZS53YXJuKGBGYWlsZWQgdG8gaGFuZGxlIGV4dGVybmFsIGNoYW5nZSBmb3IgJHtmZX06YCxQZSl9fWFzeW5jIHVwZGF0ZUZpbGVDb250ZW50KGZlLGJlLFBlKXtpZih0aGlzLm9wZW5GaWxlcz10aGlzLm9wZW5GaWxlcy5tYXAocHQ9PnB0LnBhdGg9PT1mZT97Li4ucHQsY29udGVudDpiZSxtb2RpZmllZDohMX06cHQpLGZlPT09dGhpcy5hY3RpdmVGaWxlUGF0aCl7bGV0IHB0PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy13b3Jrc3BhY2UtbW9uYWNvIik7cHQmJmF3YWl0IHB0LnNldENvbnRlbnRFeHRlcm5hbChiZSxQZSl9fW9wZW5EaWZmVmlldyhmZSxiZSxQZSl7dGhpcy5kaWZmVmlld0NvbmZpZz17ZmlsZVBhdGg6ZmUsb3JpZ2luYWxDb250ZW50OlBlLG1vZGlmaWVkQ29udGVudDpiZSxsYW5ndWFnZTp0aGlzLmdldExhbmd1YWdlRnJvbVBhdGgoZmUpfSx0aGlzLnNob3dEaWZmVmlldz0hMH1hc3luYyBoYW5kbGVEaWZmUmVzb2x2ZWQoZmUpe2xldHthY3Rpb246YmUsY29udGVudDpQZX09ZmUuZGV0YWlsLHB0PXRoaXMuZGlmZlZpZXdDb25maWc/LmZpbGVQYXRoO2lmKCFwdHx8IXRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpe3RoaXMuc2hvd0RpZmZWaWV3PSExLHRoaXMuZGlmZlZpZXdDb25maWc9bnVsbDtyZXR1cm59aWYoYmU9PT0idXNlLWxvY2FsIil7aWYoYXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUocHQsUGUpLHRoaXMub3BlbkZpbGVzPXRoaXMub3BlbkZpbGVzLm1hcChtdD0+bXQucGF0aD09PXB0P3suLi5tdCxjb250ZW50OlBlLG1vZGlmaWVkOiExfTptdCkscHQ9PT10aGlzLmFjdGl2ZUZpbGVQYXRoKXtsZXQgbXQ9dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tb25hY28iKTttdCYmYXdhaXQgbXQuc2V0Q29udGVudEV4dGVybmFsKFBlLCExKX19ZWxzZSBiZT09PSJ1c2UtZGlzayImJmF3YWl0IHRoaXMudXBkYXRlRmlsZUNvbnRlbnQocHQsUGUsITEpO3RoaXMuc2hvd0RpZmZWaWV3PSExLHRoaXMuZGlmZlZpZXdDb25maWc9bnVsbH1hc3luYyBoYW5kbGVGaWxlU2VsZWN0KGZlKXtsZXR7cGF0aDpiZSxuYW1lOlBlfT1mZS5kZXRhaWw7YXdhaXQgdGhpcy5vcGVuRmlsZShiZSxQZSl9YXN5bmMgb3BlbkZpbGUoZmUsYmUpe2lmKHRoaXMub3BlbkZpbGVzLmZpbmQocHQ9PnB0LnBhdGg9PT1mZSkpe3RoaXMuYWN0aXZlRmlsZVBhdGg9ZmU7cmV0dXJufWlmKHRoaXMuZXhlY3V0aW9uRW52aXJvbm1lbnQpdHJ5e2xldCBwdD1hd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LnJlYWRGaWxlKGZlKTtpZih0aGlzLm9wZW5GaWxlcz1bLi4udGhpcy5vcGVuRmlsZXMse3BhdGg6ZmUsbmFtZTpiZSxjb250ZW50OnB0LG1vZGlmaWVkOiExfV0sdGhpcy5hY3RpdmVGaWxlUGF0aD1mZSx0aGlzLnN0YXJ0V2F0Y2hpbmdGaWxlKGZlKSwhdGhpcy5pbnRlbGxpU2Vuc2VJbml0aWFsaXplZCl7YXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxhd2FpdCBuZXcgUHJvbWlzZShOdD0+c2V0VGltZW91dChOdCw1MDApKSxhd2FpdCB0aGlzLmluaXRpYWxpemVJbnRlbGxpU2Vuc2UoKTtsZXQgbXQ9dGhpcy5nZXRMYW5ndWFnZUZyb21QYXRoKGZlKTt0aGlzLmludGVsbGlTZW5zZU1hbmFnZXImJihtdD09PSJ0eXBlc2NyaXB0Inx8bXQ9PT0iamF2YXNjcmlwdCIpJiZhd2FpdCB0aGlzLmludGVsbGlTZW5zZU1hbmFnZXIucHJvY2Vzc0NvbnRlbnRDaGFuZ2UocHQpfX1jYXRjaChwdCl7Y29uc29sZS5lcnJvcihgRmFpbGVkIHRvIG9wZW4gZmlsZSAke2ZlfTpgLHB0KX19YWN0aXZhdGVGaWxlKGZlKXt0aGlzLmFjdGl2ZUZpbGVQYXRoPWZlfWNsb3NlRmlsZShmZSxiZSl7ZmUuc3RvcFByb3BhZ2F0aW9uKCk7bGV0IFBlPXRoaXMub3BlbkZpbGVzLmZpbmRJbmRleChtdD0+bXQucGF0aD09PWJlKTtpZihQZT09PS0xKXJldHVybjtsZXQgcHQ9dGhpcy5vcGVuRmlsZXNbUGVdO2lmKCEocHQubW9kaWZpZWQmJiFjb25maXJtKGAke3B0Lm5hbWV9IGhhcyB1bnNhdmVkIGNoYW5nZXMuIENsb3NlIGFueXdheT9gKSkmJih0aGlzLnN0b3BXYXRjaGluZ0ZpbGUoYmUpLHRoaXMub3BlbkZpbGVzPXRoaXMub3BlbkZpbGVzLmZpbHRlcihtdD0+bXQucGF0aCE9PWJlKSx0aGlzLmFjdGl2ZUZpbGVQYXRoPT09YmUpKWlmKHRoaXMub3BlbkZpbGVzLmxlbmd0aD4wKXtsZXQgbXQ9TWF0aC5taW4oUGUsdGhpcy5vcGVuRmlsZXMubGVuZ3RoLTEpO3RoaXMuYWN0aXZlRmlsZVBhdGg9dGhpcy5vcGVuRmlsZXNbbXRdLnBhdGh9ZWxzZSB0aGlzLmFjdGl2ZUZpbGVQYXRoPSIifWdldEFjdGl2ZUZpbGVDb250ZW50KCl7cmV0dXJuIHRoaXMub3BlbkZpbGVzLmZpbmQoYmU9PmJlLnBhdGg9PT10aGlzLmFjdGl2ZUZpbGVQYXRoKT8uY29udGVudHx8IiJ9aGFuZGxlQ29udGVudENoYW5nZShmZSl7bGV0IGJlPWZlLmRldGFpbCxQZT10aGlzLm9wZW5GaWxlcy5maW5kSW5kZXgobXQ9Pm10LnBhdGg9PT10aGlzLmFjdGl2ZUZpbGVQYXRoKTtpZihQZT09PS0xKXJldHVybjtsZXQgcHQ9dGhpcy5vcGVuRmlsZXNbUGVdO2lmKHB0LmNvbnRlbnQhPT1iZSl7dGhpcy5vcGVuRmlsZXM9Wy4uLnRoaXMub3BlbkZpbGVzLnNsaWNlKDAsUGUpLHsuLi5wdCxjb250ZW50OmJlLG1vZGlmaWVkOiEwfSwuLi50aGlzLm9wZW5GaWxlcy5zbGljZShQZSsxKV07bGV0IG10PXRoaXMuZ2V0TGFuZ3VhZ2VGcm9tUGF0aCh0aGlzLmFjdGl2ZUZpbGVQYXRoKTt0aGlzLmludGVsbGlTZW5zZU1hbmFnZXImJihtdD09PSJ0eXBlc2NyaXB0Inx8bXQ9PT0iamF2YXNjcmlwdCIpJiYodGhpcy5pbnRlbGxpU2Vuc2VEZWJvdW5jZVRpbWVvdXQmJmNsZWFyVGltZW91dCh0aGlzLmludGVsbGlTZW5zZURlYm91bmNlVGltZW91dCksdGhpcy5pbnRlbGxpU2Vuc2VEZWJvdW5jZVRpbWVvdXQ9c2V0VGltZW91dCgoKT0+e3RoaXMuaW50ZWxsaVNlbnNlTWFuYWdlcj8ucHJvY2Vzc0NvbnRlbnRDaGFuZ2UoYmUpfSw1MDApKX19Z2V0TGFuZ3VhZ2VGcm9tUGF0aChmZSl7bGV0IGJlPWZlLnNwbGl0KCIuIikucG9wKCk/LnRvTG93ZXJDYXNlKCk7cmV0dXJue3RzOiJ0eXBlc2NyaXB0Iix0c3g6InR5cGVzY3JpcHQiLGpzOiJqYXZhc2NyaXB0Iixqc3g6ImphdmFzY3JpcHQiLGpzb246Impzb24iLGh0bWw6Imh0bWwiLGNzczoiY3NzIixzY3NzOiJzY3NzIixsZXNzOiJsZXNzIixtZDoibWFya2Rvd24iLHlhbWw6InlhbWwiLHltbDoieWFtbCIseG1sOiJ4bWwiLHNxbDoic3FsIixweToicHl0aG9uIixzaDoic2hlbGwiLGJhc2g6InNoZWxsIn1bYmV8fCIiXXx8InBsYWludGV4dCJ9dG9nZ2xlVGVybWluYWwoKXt0aGlzLmlzVGVybWluYWxDb2xsYXBzZWQ9IXRoaXMuaXNUZXJtaW5hbENvbGxhcHNlZH1hc3luYyBzYXZlQWN0aXZlRmlsZSgpe2xldCBmZT10aGlzLm9wZW5GaWxlcy5maW5kKGJlPT5iZS5wYXRoPT09dGhpcy5hY3RpdmVGaWxlUGF0aCk7aWYoISghZmV8fCF0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KSl0cnl7YXdhaXQgdGhpcy5leGVjdXRpb25FbnZpcm9ubWVudC53cml0ZUZpbGUoZmUucGF0aCxmZS5jb250ZW50KSx0aGlzLm9wZW5GaWxlcz10aGlzLm9wZW5GaWxlcy5tYXAoYmU9PmJlLnBhdGg9PT1mZS5wYXRoP3suLi5iZSxtb2RpZmllZDohMX06YmUpLHRoaXMuaW50ZWxsaVNlbnNlTWFuYWdlciYmdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyLmFkZEZpbGVNb2RlbChmZS5wYXRoLGZlLmNvbnRlbnQpfWNhdGNoKGJlKXtjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc2F2ZSBmaWxlOiIsYmUpfX1hc3luYyBzYXZlQWxsRmlsZXMoKXtpZih0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50KXtmb3IobGV0IGZlIG9mIHRoaXMub3BlbkZpbGVzLmZpbHRlcihiZT0+YmUubW9kaWZpZWQpKXRyeXthd2FpdCB0aGlzLmV4ZWN1dGlvbkVudmlyb25tZW50LndyaXRlRmlsZShmZS5wYXRoLGZlLmNvbnRlbnQpLHRoaXMuaW50ZWxsaVNlbnNlTWFuYWdlciYmdGhpcy5pbnRlbGxpU2Vuc2VNYW5hZ2VyLmFkZEZpbGVNb2RlbChmZS5wYXRoLGZlLmNvbnRlbnQpfWNhdGNoKGJlKXtjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gc2F2ZSAke2ZlLnBhdGh9OmAsYmUpfXRoaXMub3BlbkZpbGVzPXRoaXMub3BlbkZpbGVzLm1hcChmZT0+KHsuLi5mZSxtb2RpZmllZDohMX0pKX19YXN5bmMgc2hvd0VkaXRvck1lbnUoZmUpe2ZlLnN0b3BQcm9wYWdhdGlvbigpO2xldCBiZT1be25hbWU6dGhpcy5hdXRvU2F2ZT8iXHUyNzEzIEF1dG8gU2F2ZSI6IkF1dG8gU2F2ZSIsaWNvbk5hbWU6Imx1Y2lkZTpzYXZlIixhY3Rpb246cyhhc3luYygpPT50aGlzLnRvZ2dsZUF1dG9TYXZlKCksImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IlNhdmUiLGljb25OYW1lOiJsdWNpZGU6c2F2ZSIsYWN0aW9uOnMoYXN5bmMoKT0+dGhpcy5zYXZlQWN0aXZlRmlsZSgpLCJhY3Rpb24iKX0se25hbWU6IlNhdmUgQWxsIixpY29uTmFtZToibHVjaWRlOnNhdmUiLGFjdGlvbjpzKGFzeW5jKCk9PnRoaXMuc2F2ZUFsbEZpbGVzKCksImFjdGlvbiIpfV07YXdhaXQgZWEub3BlbkNvbnRleHRNZW51V2l0aE9wdGlvbnMoZmUsYmUpfXRvZ2dsZUF1dG9TYXZlKCl7dGhpcy5hdXRvU2F2ZT0hdGhpcy5hdXRvU2F2ZSx0aGlzLmF1dG9TYXZlP3RoaXMuYXV0b1NhdmVJbnRlcnZhbD1zZXRJbnRlcnZhbCgoKT0+e3RoaXMub3BlbkZpbGVzLnNvbWUoYmU9PmJlLm1vZGlmaWVkKSYmdGhpcy5zYXZlQWxsRmlsZXMoKX0sMmUzKTp0aGlzLmF1dG9TYXZlSW50ZXJ2YWwmJihjbGVhckludGVydmFsKHRoaXMuYXV0b1NhdmVJbnRlcnZhbCksdGhpcy5hdXRvU2F2ZUludGVydmFsPW51bGwpfWdldEVycm9yQ291bnQoKXtyZXR1cm4gdGhpcy5kaWFnbm9zdGljTWFya2Vycy5maWx0ZXIoZmU9PmZlLnNldmVyaXR5PT09OCkubGVuZ3RofXJlbmRlclByb2JsZW1zUGFuZWwoKXtyZXR1cm4gdGhpcy5kaWFnbm9zdGljTWFya2Vycy5sZW5ndGg9PT0wP3dgCiAgICAgICAgPGRpdiBjbGFzcz0icHJvYmxlbXMtZW1wdHkiPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6Y2hlY2tDaXJjbGUifSBpY29uU2l6ZT0iMjQiPjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+Tm8gcHJvYmxlbXMgZGV0ZWN0ZWQ8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgPGRpdiBjbGFzcz0icHJvYmxlbXMtbGlzdCI+CiAgICAgICAgJHt0aGlzLmRpYWdub3N0aWNNYXJrZXJzLm1hcChmZT0+d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InByb2JsZW0taXRlbSIgQGNsaWNrPSR7KCk9PnRoaXMubmF2aWdhdGVUb1Byb2JsZW0oZmUpfT4KICAgICAgICAgICAgPGRlZXMtaWNvbgogICAgICAgICAgICAgIGNsYXNzPSJwcm9ibGVtLWljb24gJHtmZS5zZXZlcml0eT09PTg/ImVycm9yIjoid2FybmluZyJ9IgogICAgICAgICAgICAgIC5pY29uPSR7ZmUuc2V2ZXJpdHk9PT04PyJsdWNpZGU6Y2lyY2xlWCI6Imx1Y2lkZTp0cmlhbmdsZUFsZXJ0In0KICAgICAgICAgICAgICBpY29uU2l6ZT0iMTQiCiAgICAgICAgICAgID48L2RlZXMtaWNvbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvYmxlbS1kZXRhaWxzIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ibGVtLW1lc3NhZ2UiPiR7ZmUubWVzc2FnZX08L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ibGVtLWxvY2F0aW9uIj4KICAgICAgICAgICAgICAgICR7ZmUucmVzb3VyY2UucGF0aC5zcGxpdCgiLyIpLnBvcCgpfSAoJHtmZS5zdGFydExpbmVOdW1iZXJ9LCAke2ZlLnN0YXJ0Q29sdW1ufSkKICAgICAgICAgICAgICAgICR7ZmUuc291cmNlP2BbJHtmZS5zb3VyY2V9XWA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCl9CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBuYXZpZ2F0ZVRvUHJvYmxlbShmZSl7bGV0IGJlPWZlLnJlc291cmNlLnBhdGgsUGU9YmUuc3BsaXQoIi8iKS5wb3AoKXx8IiI7dGhpcy5vcGVuRmlsZXMuZmluZChOdD0+TnQucGF0aD09PWJlKT90aGlzLmFjdGl2ZUZpbGVQYXRoPWJlOmF3YWl0IHRoaXMub3BlbkZpbGUoYmUsUGUpLGF3YWl0IHRoaXMudXBkYXRlQ29tcGxldGU7bGV0IG10PXRoaXMuc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy13b3Jrc3BhY2UtbW9uYWNvIik7aWYobXQpe2xldCBOdD1hd2FpdCBtdC5lZGl0b3JEZWZlcnJlZC5wcm9taXNlO050LnJldmVhbExpbmVJbkNlbnRlcihmZS5zdGFydExpbmVOdW1iZXIpLE50LnNldFBvc2l0aW9uKHtsaW5lTnVtYmVyOmZlLnN0YXJ0TGluZU51bWJlcixjb2x1bW46ZmUuc3RhcnRDb2x1bW59KSxOdC5mb2N1cygpfX1zZXR1cE1hcmtlckxpc3RlbmVyKCl7bGV0IGZlPXdpbmRvdy5tb25hY287ZmUmJihmZS5lZGl0b3Iub25EaWRDaGFuZ2VNYXJrZXJzKGJlPT57dGhpcy51cGRhdGVEaWFnbm9zdGljTWFya2VycygpfSksdGhpcy51cGRhdGVEaWFnbm9zdGljTWFya2VycygpKX11cGRhdGVEaWFnbm9zdGljTWFya2Vycygpe2xldCBmZT13aW5kb3cubW9uYWNvO2lmKCFmZSlyZXR1cm47bGV0IGJlPWZlLmVkaXRvci5nZXRNb2RlbE1hcmtlcnMoe30pO3RoaXMuZGlhZ25vc3RpY01hcmtlcnM9YmUubWFwKFBlPT4oe21lc3NhZ2U6UGUubWVzc2FnZSxzZXZlcml0eTpQZS5zZXZlcml0eSxzdGFydExpbmVOdW1iZXI6UGUuc3RhcnRMaW5lTnVtYmVyLHN0YXJ0Q29sdW1uOlBlLnN0YXJ0Q29sdW1uLGVuZExpbmVOdW1iZXI6UGUuZW5kTGluZU51bWJlcixlbmRDb2x1bW46UGUuZW5kQ29sdW1uLHNvdXJjZTpQZS5zb3VyY2UscmVzb3VyY2U6e3BhdGg6UGUucmVzb3VyY2UucGF0aH19KSl9YXN5bmMgaGFuZGxlUnVuUHJvY2VzcyhmZSl7bGV0IGJlPWZlLmRldGFpbCxQZT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLXRlcm1pbmFsIik7aWYoIVBlKXtjb25zb2xlLndhcm4oIlRlcm1pbmFsIGNvbXBvbmVudCBub3QgZm91bmQiKTtyZXR1cm59dGhpcy5pc1Rlcm1pbmFsQ29sbGFwc2VkJiYodGhpcy5pc1Rlcm1pbmFsQ29sbGFwc2VkPSExKSx0aGlzLmFjdGl2ZUJvdHRvbVBhbmVsPSJ0ZXJtaW5hbCIsYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZSxhd2FpdCBQZS5jcmVhdGVQcm9jZXNzVGFiKHt0eXBlOmJlLnR5cGUsbGFiZWw6YmUubGFiZWwsY29tbWFuZDpiZS5jb21tYW5kLGFyZ3M6YmUuYXJncyxtZXRhZGF0YTpiZS5tZXRhZGF0YSxzd2l0Y2hUb1RhYjohMH0pfXNldEZpbGVUcmVlV2lkdGgoZmUpe2xldCBQZT10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKi41O3RoaXMuY3VycmVudEZpbGVUcmVlV2lkdGg9TWF0aC5tYXgoMTUwLE1hdGgubWluKFBlLGZlKSksd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJyZXNpemUiKSl9c2V0VGVybWluYWxIZWlnaHQoZmUpe2xldCBQZT10aGlzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLmhlaWdodCouNzt0aGlzLmN1cnJlbnRUZXJtaW5hbEhlaWdodD1NYXRoLm1heCgxMDAsTWF0aC5taW4oUGUsZmUpKSx3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInJlc2l6ZSIpKX1yZXNldExheW91dCgpe3RoaXMuY3VycmVudEZpbGVUcmVlV2lkdGg9dGhpcy5maWxlVHJlZVdpZHRoLHRoaXMuY3VycmVudFRlcm1pbmFsSGVpZ2h0PXRoaXMudGVybWluYWxIZWlnaHQsd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCJyZXNpemUiKSl9c3RhdGlje0h0KHIsdCl9fTtyZXR1cm4gUmU9cn0pKCl9KTt2YXIgUTZhPWYoKCk9PntYNmEoKTtUSmUoKX0pO3ZhciBKNmE9ZigoKT0+eyRmKCl9KTt2YXIgZXVhPWYoKCk9PntwaWUoKX0pO3ZhciB0dWE9ZigoKT0+e30pO3ZhciBhdWE9ZigoKT0+e3BHKCk7dHVhKCk7dkplKCl9KTt2YXIgcnVhPWYoKCk9PntDSmUoKX0pO3ZhciBtRyxGYyxuZG8sc3VhLGl1YT1mKCgpPT57bGUoKTtRZSgpOyRmKCk7bUc9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEZjPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxuZG89QXQucGx1Z2lucy5zbWFydHByb21pc2UuZGVmZXIoKSxzdWE9KCgpPT57bGV0IGE9W2llKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93biIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJEZWVzV29ya3NwYWNlTWFya2Rvd24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgaz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk51bWJlcn0pXSxkPVskKHt0eXBlOk51bWJlcn0pXSx1PVtLKCldLHg9W0soKV0sbUcodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzcGxpdFJhdGlvIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJzcGxpdFJhdGlvImluIEMsImhhcyIpLGdldDpzKEM9PkMuc3BsaXRSYXRpbywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLnNwbGl0UmF0aW89Tn0sInNldCIpfSxtZXRhZGF0YTprfSxuLGwpLG1HKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWluUGFuZWxTaXplIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJtaW5QYW5lbFNpemUiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5taW5QYW5lbFNpemUsImdldCIpLHNldDpzKChDLE4pPT57Qy5taW5QYW5lbFNpemU9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxjLHApLG1HKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFNwbGl0UmF0aW8iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImN1cnJlbnRTcGxpdFJhdGlvImluIEMsImhhcyIpLGdldDpzKEM9PkMuY3VycmVudFNwbGl0UmF0aW8sImdldCIpLHNldDpzKChDLE4pPT57Qy5jdXJyZW50U3BsaXRSYXRpbz1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG0sdiksbUcodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpc0RyYWdnaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJpc0RyYWdnaW5nImluIEMsImhhcyIpLGdldDpzKEM9PkMuaXNEcmFnZ2luZywiZ2V0Iiksc2V0OnMoKEMsTik9PntDLmlzRHJhZ2dpbmc9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxiLGcpLG1HKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmt9LG51bGwsdCkseT1yPWUudmFsdWUsayYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTprfSl9c3RhdGljIGRlbW89cygoKT0+d2A8ZGVlcy13b3Jrc3BhY2UtbWFya2Rvd24+PC9kZWVzLXdvcmtzcGFjZS1tYXJrZG93bj5gLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJXb3Jrc3BhY2UiXTtzdGF0aWMgc3R5bGVzPVtFZSxoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5zcGxpdENvbnRhaW5lciB7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgIH0KCiAgICAgIC5lZGl0b3JDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgbWluLXdpZHRoOiAxMDBweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucmVzaXplSGFuZGxlIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U1ZTdlYiIsIiMzMDM2M2QiKX07CiAgICAgICAgY3Vyc29yOiBjb2wtcmVzaXplOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXMgZWFzZTsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIH0KCiAgICAgIC5yZXNpemVIYW5kbGU6aG92ZXIsCiAgICAgIC5yZXNpemVIYW5kbGUuZHJhZ2dpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzU4YTZmZiIpfTsKICAgICAgfQoKICAgICAgLnJlc2l6ZUhhbmRsZTo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDUwJTsKICAgICAgICBsZWZ0OiA1MCU7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7CiAgICAgICAgd2lkdGg6IDJweDsKICAgICAgICBoZWlnaHQ6IDMycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiM5Y2EzYWYiLCIjNmU3NjgxIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDFweDsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgIH0KCiAgICAgIC5yZXNpemVIYW5kbGU6aG92ZXI6OmFmdGVyLAogICAgICAucmVzaXplSGFuZGxlLmRyYWdnaW5nOjphZnRlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjZmZmZmZmIil9OwogICAgICAgIG9wYWNpdHk6IDE7CiAgICAgIH0KCiAgICAgIC5vdXRsZXRDb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgbWluLXdpZHRoOiAxMDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwZDExMTciKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjQyOTJmIiwiI2U2ZWRmMyIpfTsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnTm90byBTYW5zJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLyogUHJldmVudCB0ZXh0IHNlbGVjdGlvbiB3aGlsZSBkcmFnZ2luZyAqLwogICAgICAuc3BsaXRDb250YWluZXIuZHJhZ2dpbmcgewogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICB9CgogICAgICAuc3BsaXRDb250YWluZXIuZHJhZ2dpbmcgLmVkaXRvckNvbnRhaW5lciwKICAgICAgLnNwbGl0Q29udGFpbmVyLmRyYWdnaW5nIC5vdXRsZXRDb250YWluZXIgewogICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgICB9CiAgICBgXTsjZT1GYyh0aGlzLG4sNTApO2dldCBzcGxpdFJhdGlvKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNwbGl0UmF0aW8oayl7dGhpcy4jZT1rfSN0PShGYyh0aGlzLGwpLEZjKHRoaXMsYywxMCkpO2dldCBtaW5QYW5lbFNpemUoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbWluUGFuZWxTaXplKGspe3RoaXMuI3Q9a30jYT0oRmModGhpcyxwKSxGYyh0aGlzLG0sNTApKTtnZXQgY3VycmVudFNwbGl0UmF0aW8oKXtyZXR1cm4gdGhpcy4jYX1zZXQgY3VycmVudFNwbGl0UmF0aW8oayl7dGhpcy4jYT1rfSNyPShGYyh0aGlzLHYpLEZjKHRoaXMsYiwhMSkpO2dldCBpc0RyYWdnaW5nKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGlzRHJhZ2dpbmcoayl7dGhpcy4jcj1rfXJlc2l6ZUhhbmRsZUVsZW1lbnQ9RmModGhpcyxnKTtjb250YWluZXJFbGVtZW50O3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJzcGxpdENvbnRhaW5lciAke3RoaXMuaXNEcmFnZ2luZz8iZHJhZ2dpbmciOiIifSI+CiAgICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yQ29udGFpbmVyIiBzdHlsZT0id2lkdGg6ICR7dGhpcy5jdXJyZW50U3BsaXRSYXRpb30lIj4KICAgICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tb25hY28KICAgICAgICAgICAgLmxhbmd1YWdlPSR7Im1hcmtkb3duIn0KICAgICAgICAgICAgLmNvbnRlbnQ9JHtgIyBhIHRlc3QgY29udGVudAoKVGhpcyBpcyB0ZXN0IGNvbnRlbnQgdGhhdCBpcyBvZiBsb25nZXIgZm9ybSBhbiBob3BlZnVsbHkgc3RhcnRzIHRvIHdyYXAgd2hlbiBJIG5lZWQgaXQuIEFuZCB5ZXMsIGl0IGRvZXMgcGVyZmVjdGx5LiBuaWNlLgoKVGVzdCB8IEhlbGxvCi0tLSB8IC0tLQpZZWFoIHwgU28gZ29vZAoKVGhpcyBpcyByZWFsIGFzc2V0IEkgdGhpbmsuIFdoeSB3b3VsZCB3ZSB3YW50IHRvIGxlYXZlIHRoYXQgb24gdGhlIHRhYmxlPyBDYW4geW91IHRlbGwgbXkgdGhhdD8KCldoeSBhcmUgd2UgaGVyZT8KCkRvIHlvdSBrbm93PwoKPiBub3RlOgpUaGVyZSBpcyBzb21ldGhpbmcgZ29pbmcgb24uCgpcYFxgXGB0eXBlc2NyaXB0CmNvbnN0IGhlbGxvID0gJ3llcycKXGBcYFxgCmB9CiAgICAgICAgICAgIHdvcmRXcmFwPSJib3VuZGVkIgogICAgICAgICAgPjwvZGVlcy13b3Jrc3BhY2UtbW9uYWNvPgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYKICAgICAgICAgIGNsYXNzPSJyZXNpemVIYW5kbGUgJHt0aGlzLmlzRHJhZ2dpbmc/ImRyYWdnaW5nIjoiIn0iCiAgICAgICAgICBAbW91c2Vkb3duPSR7dGhpcy5oYW5kbGVNb3VzZURvd259CiAgICAgICAgPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9Im91dGxldENvbnRhaW5lciIgc3R5bGU9IndpZHRoOiAkezEwMC10aGlzLmN1cnJlbnRTcGxpdFJhdGlvfSUiPgogICAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1hc3luYyBmaXJzdFVwZGF0ZWQoayl7YXdhaXQgc3VwZXIuZmlyc3RVcGRhdGVkKGspLHRoaXMuY3VycmVudFNwbGl0UmF0aW89dGhpcy5zcGxpdFJhdGlvLHRoaXMuY29udGFpbmVyRWxlbWVudD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLnNwbGl0Q29udGFpbmVyIiksdGhpcy5yZXNpemVIYW5kbGVFbGVtZW50PXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCIucmVzaXplSGFuZGxlIik7bGV0IEM9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1vbmFjbyIpLE49dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iiksej1hd2FpdCBuZXcgQXQucGx1Z2lucy5zbWFydG1hcmtkb3duLlNtYXJ0TWFya2Rvd24oKS5nZXRNZFBhcnNlZFJlc3VsdEZyb21NYXJrZG93bigibG9hZGluZy4uLiIpO0MuY29udGVudFN1YmplY3Quc3Vic2NyaWJlKGFzeW5jIE89Pnthd2FpdCB6LnVwZGF0ZUZyb21NYXJrZG93blN0cmluZyhPKTtsZXQgVD16Lmh0bWw7Ti51cGRhdGVIdG1sVGV4dChUKX0pfWhhbmRsZU1vdXNlRG93bj1zKGs9PntrLnByZXZlbnREZWZhdWx0KCksdGhpcy5pc0RyYWdnaW5nPSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVNb3VzZU1vdmUpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlTW91c2VVcCl9LCJoYW5kbGVNb3VzZURvd24iKTtoYW5kbGVNb3VzZU1vdmU9cyhrPT57aWYoIXRoaXMuaXNEcmFnZ2luZ3x8IXRoaXMuY29udGFpbmVyRWxlbWVudClyZXR1cm47bGV0IEM9dGhpcy5jb250YWluZXJFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLE49Qy53aWR0aCx6PShrLmNsaWVudFgtQy5sZWZ0KS9OKjEwMDt6PU1hdGgubWF4KHRoaXMubWluUGFuZWxTaXplLE1hdGgubWluKDEwMC10aGlzLm1pblBhbmVsU2l6ZSx6KSksdGhpcy5jdXJyZW50U3BsaXRSYXRpbz16fSwiaGFuZGxlTW91c2VNb3ZlIik7aGFuZGxlTW91c2VVcD1zKCgpPT57dGhpcy5pc0RyYWdnaW5nPSExLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNlbW92ZSIsdGhpcy5oYW5kbGVNb3VzZU1vdmUpLGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoIm1vdXNldXAiLHRoaXMuaGFuZGxlTW91c2VVcCksdGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1vbmFjbyIpJiZ3aW5kb3cuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoInJlc2l6ZSIpKX0sImhhbmRsZU1vdXNlVXAiKTthc3luYyBkaXNjb25uZWN0ZWRDYWxsYmFjaygpe2F3YWl0IHN1cGVyLmRpc2Nvbm5lY3RlZENhbGxiYWNrKCksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2Vtb3ZlIix0aGlzLmhhbmRsZU1vdXNlTW92ZSksZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcigibW91c2V1cCIsdGhpcy5oYW5kbGVNb3VzZVVwKX1zZXRTcGxpdFJhdGlvKGspe3RoaXMuY3VycmVudFNwbGl0UmF0aW89TWF0aC5tYXgodGhpcy5taW5QYW5lbFNpemUsTWF0aC5taW4oMTAwLXRoaXMubWluUGFuZWxTaXplLGspKX1yZXNldFNwbGl0UmF0aW8oKXt0aGlzLmN1cnJlbnRTcGxpdFJhdGlvPXRoaXMuc3BsaXRSYXRpb31zdGF0aWN7RmMocix0KX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIG91YT1mKCgpPT57aXVhKCl9KTt2YXIgbnVhLGx1YT1mKCgpPT57bGUoKTtJYSgpO1VzKCk7bnVhPXMoKCk9PndgCiAgPGRlZXMtZGVtb3dyYXBwZXI+CiAgICA8c3R5bGU+CiAgICAgICR7UWAKICAgICAgICAuZGVtby1jb250YWluZXIgewogICAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgICBnYXA6IDI0cHg7CiAgICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgICAgbWF4LXdpZHRoOiA5MDBweDsKICAgICAgICAgIG1hcmdpbjogMCBhdXRvOwogICAgICAgIH0KICAgICAgYH0KICAgIDwvc3R5bGU+CgogICAgPGRpdiBjbGFzcz0iZGVtby1jb250YWluZXIiPgogICAgICA8IS0tIERlbW8gMTogSGVhZGluZ3MgLS0+CiAgICAgIDxkZWVzLXBhbmVsCiAgICAgICAgLnRpdGxlPSR7IkhlYWRpbmdzIn0KICAgICAgICAuc3VidGl0bGU9JHsiQWxsIGhlYWRpbmcgbGV2ZWxzIGZyb20gSDEgdG8gSDYifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9Pnthd2FpdCBhLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPGgxPkhlYWRpbmcgTGV2ZWwgMTwvaDE+CiAgICAgICAgICAgIDxoMj5IZWFkaW5nIExldmVsIDI8L2gyPgogICAgICAgICAgICA8aDM+SGVhZGluZyBMZXZlbCAzPC9oMz4KICAgICAgICAgICAgPGg0PkhlYWRpbmcgTGV2ZWwgNDwvaDQ+CiAgICAgICAgICAgIDxoNT5IZWFkaW5nIExldmVsIDU8L2g1PgogICAgICAgICAgICA8aDY+SGVhZGluZyBMZXZlbCA2PC9oNj4KICAgICAgICAgIGApfX0KICAgICAgPgogICAgICAgIDxkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD48L2RlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PgogICAgICA8L2RlZXMtcGFuZWw+CgogICAgICA8IS0tIERlbW8gMjogVGV4dCBGb3JtYXR0aW5nIC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJUZXh0IEZvcm1hdHRpbmcifQogICAgICAgIC5zdWJ0aXRsZT0keyJCb2xkLCBpdGFsaWMsIGxpbmtzLCBjb2RlLCBhbmQga2V5Ym9hcmQgaW5wdXQifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9Pnthd2FpdCBhLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPHA+VGhpcyBpcyBhIHBhcmFncmFwaCB3aXRoIDxzdHJvbmc+Ym9sZCB0ZXh0PC9zdHJvbmc+IGFuZCA8ZW0+aXRhbGljIHRleHQ8L2VtPi48L3A+CiAgICAgICAgICAgIDxwPllvdSBjYW4gYWxzbyB1c2UgPHN0cm9uZz48ZW0+Ym9sZCBpdGFsaWM8L2VtPjwvc3Ryb25nPiBmb3IgZW1waGFzaXMuPC9wPgogICAgICAgICAgICA8cD5IZXJlJ3MgYSA8YSBocmVmPSIjIj5saW5rIGV4YW1wbGU8L2E+IGFuZCBzb21lIDxjb2RlPmlubGluZSBjb2RlPC9jb2RlPi48L3A+CiAgICAgICAgICAgIDxwPlByZXNzIDxrYmQ+Q3RybDwva2JkPiArIDxrYmQ+Qzwva2JkPiB0byBjb3B5IHRleHQuPC9wPgogICAgICAgICAgICA8aHI+CiAgICAgICAgICAgIDxwPkFib3ZlIGlzIGEgaG9yaXpvbnRhbCBydWxlIHNlcGFyYXRvci48L3A+CiAgICAgICAgICBgKX19CiAgICAgID4KICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+PC9kZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPCEtLSBEZW1vIDM6IExpc3RzIC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJMaXN0cyJ9CiAgICAgICAgLnN1YnRpdGxlPSR7Ik9yZGVyZWQsIHVub3JkZXJlZCwgYW5kIHRhc2sgbGlzdHMifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9Pnthd2FpdCBhLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPGgzPlVub3JkZXJlZCBMaXN0PC9oMz4KICAgICAgICAgICAgPHVsPgogICAgICAgICAgICAgIDxsaT5GaXJzdCBpdGVtPC9saT4KICAgICAgICAgICAgICA8bGk+U2Vjb25kIGl0ZW0KICAgICAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICAgICAgPGxpPk5lc3RlZCBpdGVtIDE8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+TmVzdGVkIGl0ZW0gMjwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgIDwvbGk+CiAgICAgICAgICAgICAgPGxpPlRoaXJkIGl0ZW08L2xpPgogICAgICAgICAgICA8L3VsPgoKICAgICAgICAgICAgPGgzPk9yZGVyZWQgTGlzdDwvaDM+CiAgICAgICAgICAgIDxvbD4KICAgICAgICAgICAgICA8bGk+U3RlcCBvbmU8L2xpPgogICAgICAgICAgICAgIDxsaT5TdGVwIHR3bzwvbGk+CiAgICAgICAgICAgICAgPGxpPlN0ZXAgdGhyZWU8L2xpPgogICAgICAgICAgICA8L29sPgoKICAgICAgICAgICAgPGgzPlRhc2sgTGlzdDwvaDM+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGkgY2xhc3M9InRhc2stbGlzdC1pdGVtIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGNoZWNrZWQgZGlzYWJsZWQ+IENvbXBsZXRlZCB0YXNrPC9saT4KICAgICAgICAgICAgICA8bGkgY2xhc3M9InRhc2stbGlzdC1pdGVtIj48aW5wdXQgdHlwZT0iY2hlY2tib3giIGRpc2FibGVkPiBQZW5kaW5nIHRhc2s8L2xpPgogICAgICAgICAgICAgIDxsaSBjbGFzcz0idGFzay1saXN0LWl0ZW0iPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgZGlzYWJsZWQ+IEFub3RoZXIgdGFzazwvbGk+CiAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICBgKX19CiAgICAgID4KICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+PC9kZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPCEtLSBEZW1vIDQ6IENvZGUgQmxvY2tzIC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJDb2RlIEJsb2NrcyJ9CiAgICAgICAgLnN1YnRpdGxlPSR7IlN5bnRheCBoaWdobGlnaHRlZCBjb2RlIGV4YW1wbGVzIn0KICAgICAgICAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YXdhaXQgYS5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldCIpPy51cGRhdGVIdG1sVGV4dChgCiAgICAgICAgICAgIDxwPklubGluZSBjb2RlOiA8Y29kZT5jb25zdCBncmVldGluZyA9ICJIZWxsbywgV29ybGQhIjs8L2NvZGU+PC9wPgoKICAgICAgICAgICAgPGgzPlR5cGVTY3JpcHQgRXhhbXBsZTwvaDM+CiAgICAgICAgICAgIDxwcmU+PGNvZGU+PHNwYW4gY2xhc3M9ImhsanMta2V5d29yZCI+aW1wb3J0PC9zcGFuPiB7IGh0bWwsIGNzcyB9IDxzcGFuIGNsYXNzPSJobGpzLWtleXdvcmQiPmZyb208L3NwYW4+IDxzcGFuIGNsYXNzPSJobGpzLXN0cmluZyI+J0BkZXNpZ24uZXN0YXRlL2RlZXMtZWxlbWVudCc8L3NwYW4+OwoKPHNwYW4gY2xhc3M9ImhsanMta2V5d29yZCI+aW50ZXJmYWNlPC9zcGFuPiA8c3BhbiBjbGFzcz0iaGxqcy10aXRsZSI+SVVzZXI8L3NwYW4+IHsKICA8c3BhbiBjbGFzcz0iaGxqcy1hdHRyIj5uYW1lPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtYnVpbHRfaW4iPnN0cmluZzwvc3Bhbj47CiAgPHNwYW4gY2xhc3M9ImhsanMtYXR0ciI+ZW1haWw8L3NwYW4+OiA8c3BhbiBjbGFzcz0iaGxqcy1idWlsdF9pbiI+c3RyaW5nPC9zcGFuPjsKICA8c3BhbiBjbGFzcz0iaGxqcy1hdHRyIj5hZ2U8L3NwYW4+PzogPHNwYW4gY2xhc3M9ImhsanMtYnVpbHRfaW4iPm51bWJlcjwvc3Bhbj47Cn0KCjxzcGFuIGNsYXNzPSJobGpzLWtleXdvcmQiPmNvbnN0PC9zcGFuPiA8c3BhbiBjbGFzcz0iaGxqcy10aXRsZSI+Z2V0VXNlcjwvc3Bhbj4gPSA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5hc3luYzwvc3Bhbj4gKDxzcGFuIGNsYXNzPSJobGpzLWF0dHIiPmlkPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtYnVpbHRfaW4iPnN0cmluZzwvc3Bhbj4pOiA8c3BhbiBjbGFzcz0iaGxqcy1idWlsdF9pbiI+UHJvbWlzZTwvc3Bhbj4mbHQ7SVVzZXImZ3Q7ID0mZ3Q7IHsKICA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5jb25zdDwvc3Bhbj4gcmVzcG9uc2UgPSA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5hd2FpdDwvc3Bhbj4gZmV0Y2goXGAvYXBpL3VzZXJzL1wke2lkfVxgKTsKICA8c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5yZXR1cm48L3NwYW4+IHJlc3BvbnNlLmpzb24oKTsKfTs8L2NvZGU+PC9wcmU+CgogICAgICAgICAgICA8aDM+SlNPTiBFeGFtcGxlPC9oMz4KICAgICAgICAgICAgPHByZT48Y29kZT57CiAgPHNwYW4gY2xhc3M9ImhsanMtYXR0ciI+Im5hbWUiPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtc3RyaW5nIj4iZGVlcy1jYXRhbG9nIjwvc3Bhbj4sCiAgPHNwYW4gY2xhc3M9ImhsanMtYXR0ciI+InZlcnNpb24iPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtc3RyaW5nIj4iMy4wLjAiPC9zcGFuPiwKICA8c3BhbiBjbGFzcz0iaGxqcy1hdHRyIj4iZGVwZW5kZW5jaWVzIjwvc3Bhbj46IHsKICAgIDxzcGFuIGNsYXNzPSJobGpzLWF0dHIiPiJAZGVzaWduLmVzdGF0ZS9kZWVzLWVsZW1lbnQiPC9zcGFuPjogPHNwYW4gY2xhc3M9ImhsanMtc3RyaW5nIj4iXjIuMC4wIjwvc3Bhbj4KICB9Cn08L2NvZGU+PC9wcmU+CiAgICAgICAgICBgKX19CiAgICAgID4KICAgICAgICA8ZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+PC9kZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldD4KICAgICAgPC9kZWVzLXBhbmVsPgoKICAgICAgPCEtLSBEZW1vIDU6IFRhYmxlcyAtLT4KICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiVGFibGVzIn0KICAgICAgICAuc3VidGl0bGU9JHsiU3R5bGVkIHRhYmxlcyB3aXRoIGFsdGVybmF0aW5nIHJvd3MifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9Pnthd2FpdCBhLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPHRhYmxlPgogICAgICAgICAgICAgIDx0aGVhZD4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRoPkZlYXR1cmU8L3RoPgogICAgICAgICAgICAgICAgICA8dGg+U3RhdHVzPC90aD4KICAgICAgICAgICAgICAgICAgPHRoPlByaW9yaXR5PC90aD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgICA8dGJvZHk+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0ZD5EYXJrIG1vZGUgc3VwcG9ydDwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5Db21wbGV0ZWQ8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+SGlnaDwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQ+UmVzcG9uc2l2ZSBkZXNpZ248L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+SW4gUHJvZ3Jlc3M8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+TWVkaXVtPC90ZD4KICAgICAgICAgICAgICAgIDwvdHI+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0ZD5BY2Nlc3NpYmlsaXR5PC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPlBsYW5uZWQ8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+SGlnaDwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQ+RG9jdW1lbnRhdGlvbjwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5JbiBQcm9ncmVzczwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5Mb3c8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8L3Rib2R5PgogICAgICAgICAgICA8L3RhYmxlPgogICAgICAgICAgYCl9fQogICAgICA+CiAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDwhLS0gRGVtbyA2OiBCbG9ja3F1b3RlcyAmIEFsZXJ0cyAtLT4KICAgICAgPGRlZXMtcGFuZWwKICAgICAgICAudGl0bGU9JHsiQmxvY2txdW90ZXMgJiBBbGVydHMifQogICAgICAgIC5zdWJ0aXRsZT0keyJRdW90ZXMgYW5kIEdpdEh1Yi1zdHlsZSBhbGVydHMifQogICAgICAgIC5ydW5BZnRlclJlbmRlcj0ke2FzeW5jIGE9Pnthd2FpdCBhLnF1ZXJ5U2VsZWN0b3IoImRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0Iik/LnVwZGF0ZUh0bWxUZXh0KGAKICAgICAgICAgICAgPGJsb2NrcXVvdGU+CiAgICAgICAgICAgICAgPHA+VGhpcyBpcyBhIHN0YW5kYXJkIGJsb2NrcXVvdGUuIEl0J3MgZ3JlYXQgZm9yIGhpZ2hsaWdodGluZyBpbXBvcnRhbnQgaW5mb3JtYXRpb24gb3IgcXVvdGVzIGZyb20gb3RoZXIgc291cmNlcy48L3A+CiAgICAgICAgICAgIDwvYmxvY2txdW90ZT4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWFsZXJ0IG1hcmtkb3duLWFsZXJ0LW5vdGUiPgogICAgICAgICAgICAgIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyBpcyBhbiBpbmZvcm1hdGlvbmFsIG5vdGUgdG8gZHJhdyBhdHRlbnRpb24gdG8gaW1wb3J0YW50IGRldGFpbHMuPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1hcmtkb3duLWFsZXJ0IG1hcmtkb3duLWFsZXJ0LXRpcCI+CiAgICAgICAgICAgICAgPHA+PHN0cm9uZz5UaXA6PC9zdHJvbmc+IEhlcmUncyBhIGhlbHBmdWwgdGlwIHRvIGltcHJvdmUgeW91ciB3b3JrZmxvdy48L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYWxlcnQgbWFya2Rvd24tYWxlcnQtaW1wb3J0YW50Ij4KICAgICAgICAgICAgICA8cD48c3Ryb25nPkltcG9ydGFudDo8L3N0cm9uZz4gVGhpcyBpbmZvcm1hdGlvbiBpcyBjcnVjaWFsIGZvciB1bmRlcnN0YW5kaW5nIHRoZSB0b3BpYy48L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYWxlcnQgbWFya2Rvd24tYWxlcnQtd2FybmluZyI+CiAgICAgICAgICAgICAgPHA+PHN0cm9uZz5XYXJuaW5nOjwvc3Ryb25nPiBCZSBjYXJlZnVsIHdoZW4gcGVyZm9ybWluZyB0aGlzIGFjdGlvbi48L3A+CiAgICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYWxlcnQgbWFya2Rvd24tYWxlcnQtY2F1dGlvbiI+CiAgICAgICAgICAgICAgPHA+PHN0cm9uZz5DYXV0aW9uOjwvc3Ryb25nPiBUaGlzIGFjdGlvbiBtYXkgaGF2ZSB1bmludGVuZGVkIGNvbnNlcXVlbmNlcy48L3A+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9fQogICAgICA+CiAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KCiAgICAgIDwhLS0gRGVtbyA3OiBGdWxsIERvY3VtZW50IC0tPgogICAgICA8ZGVlcy1wYW5lbAogICAgICAgIC50aXRsZT0keyJGdWxsIERvY3VtZW50In0KICAgICAgICAuc3VidGl0bGU9JHsiQSBjb21wbGV0ZSBtYXJrZG93biBkb2N1bWVudCBleGFtcGxlIn0KICAgICAgICAucnVuQWZ0ZXJSZW5kZXI9JHthc3luYyBhPT57YXdhaXQgYS5xdWVyeVNlbGVjdG9yKCJkZWVzLXdvcmtzcGFjZS1tYXJrZG93bm91dGxldCIpPy51cGRhdGVIdG1sVGV4dChgCiAgICAgICAgICAgIDxoMT5HZXR0aW5nIFN0YXJ0ZWQgR3VpZGU8L2gxPgogICAgICAgICAgICA8cD5XZWxjb21lIHRvIHRoZSA8c3Ryb25nPmRlZXMtY2F0YWxvZzwvc3Ryb25nPiBjb21wb25lbnQgbGlicmFyeS4gVGhpcyBndWlkZSB3aWxsIGhlbHAgeW91IGdldCB1cCBhbmQgcnVubmluZyBxdWlja2x5LjwvcD4KCiAgICAgICAgICAgIDxoMj5JbnN0YWxsYXRpb248L2gyPgogICAgICAgICAgICA8cD5JbnN0YWxsIHRoZSBwYWNrYWdlIHVzaW5nIHlvdXIgcHJlZmVycmVkIHBhY2thZ2UgbWFuYWdlcjo8L3A+CiAgICAgICAgICAgIDxwcmU+PGNvZGU+PHNwYW4gY2xhc3M9ImhsanMtY29tbWVudCI+IyBVc2luZyBwbnBtIChyZWNvbW1lbmRlZCk8L3NwYW4+CnBucG0gYWRkIEBkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZwoKPHNwYW4gY2xhc3M9ImhsanMtY29tbWVudCI+IyBVc2luZyBucG08L3NwYW4+Cm5wbSBpbnN0YWxsIEBkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZzwvY29kZT48L3ByZT4KCiAgICAgICAgICAgIDxoMj5CYXNpYyBVc2FnZTwvaDI+CiAgICAgICAgICAgIDxwPkltcG9ydCBhbmQgdXNlIGNvbXBvbmVudHMgaW4geW91ciBUeXBlU2NyaXB0IGZpbGVzOjwvcD4KICAgICAgICAgICAgPHByZT48Y29kZT48c3BhbiBjbGFzcz0iaGxqcy1rZXl3b3JkIj5pbXBvcnQ8L3NwYW4+IHsgRGVlc0J1dHRvbiB9IDxzcGFuIGNsYXNzPSJobGpzLWtleXdvcmQiPmZyb208L3NwYW4+IDxzcGFuIGNsYXNzPSJobGpzLXN0cmluZyI+J0BkZXNpZ24uZXN0YXRlL2RlZXMtY2F0YWxvZyc8L3NwYW4+OwoKPHNwYW4gY2xhc3M9ImhsanMtY29tbWVudCI+Ly8gVXNlIGluIHlvdXIgdGVtcGxhdGVzPC9zcGFuPgpodG1sXGAmbHQ7ZGVlcy1idXR0b24mZ3Q7Q2xpY2sgbWUmbHQ7L2RlZXMtYnV0dG9uJmd0O1xgPC9jb2RlPjwvcHJlPgoKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWFya2Rvd24tYWxlcnQgbWFya2Rvd24tYWxlcnQtdGlwIj4KICAgICAgICAgICAgICA8cD48c3Ryb25nPlRpcDo8L3N0cm9uZz4gQ2hlY2sgdGhlIGRlbW8gc2hvd2Nhc2UgZm9yIGxpdmUgZXhhbXBsZXMgb2YgYWxsIGNvbXBvbmVudHMuPC9wPgogICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgIDxoMj5BdmFpbGFibGUgQ29tcG9uZW50czwvaDI+CiAgICAgICAgICAgIDx0YWJsZT4KICAgICAgICAgICAgICA8dGhlYWQ+CiAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgIDx0aD5Db21wb25lbnQ8L3RoPgogICAgICAgICAgICAgICAgICA8dGg+RGVzY3JpcHRpb248L3RoPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICA8L3RoZWFkPgogICAgICAgICAgICAgIDx0Ym9keT4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkPjxjb2RlPmRlZXMtYnV0dG9uPC9jb2RlPjwvdGQ+CiAgICAgICAgICAgICAgICAgIDx0ZD5QcmltYXJ5IGJ1dHRvbiBjb21wb25lbnQ8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkPjxjb2RlPmRlZXMtaW5wdXQtdGV4dDwvY29kZT48L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+VGV4dCBpbnB1dCBmaWVsZDwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQ+PGNvZGU+ZGVlcy10YWJsZTwvY29kZT48L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+RGF0YSB0YWJsZSB3aXRoIHNvcnRpbmc8L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgPHRkPjxjb2RlPmRlZXMtbW9kYWw8L2NvZGU+PC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPk1vZGFsIGRpYWxvZzwvdGQ+CiAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAgICAgIDwvdGJvZHk+CiAgICAgICAgICAgIDwvdGFibGU+CgogICAgICAgICAgICA8aDI+TmV4dCBTdGVwczwvaDI+CiAgICAgICAgICAgIDx1bD4KICAgICAgICAgICAgICA8bGk+RXhwbG9yZSB0aGUgPGEgaHJlZj0iIyI+Y29tcG9uZW50IGRvY3VtZW50YXRpb248L2E+PC9saT4KICAgICAgICAgICAgICA8bGk+Q2hlY2sgb3V0IHRoZSA8YSBocmVmPSIjIj50aGVtaW5nIGd1aWRlPC9hPjwvbGk+CiAgICAgICAgICAgICAgPGxpPkpvaW4gb3VyIDxhIGhyZWY9IiMiPmNvbW11bml0eSBEaXNjb3JkPC9hPjwvbGk+CiAgICAgICAgICAgIDwvdWw+CgogICAgICAgICAgICA8YmxvY2txdW90ZT4KICAgICAgICAgICAgICA8cD4iVGhlIGJlc3QgY29tcG9uZW50IGxpYnJhcnkgaXMgb25lIHRoYXQgZ2V0cyBvdXQgb2YgeW91ciB3YXkuIiBcdTIwMTQgRGVzaWduIFN5c3RlbXMgVGVhbTwvcD4KICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAgICAgYCl9fQogICAgICA+CiAgICAgICAgPGRlZXMtd29ya3NwYWNlLW1hcmtkb3dub3V0bGV0PjwvZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQ+CiAgICAgIDwvZGVlcy1wYW5lbD4KICAgIDwvZGl2PgogIDwvZGVlcy1kZW1vd3JhcHBlcj4KYCwiZGVtb0Z1bmMiKX0pO3ZhciBiTmEsdk5hLGN1YSxkdWE9ZigoKT0+e2xlKCk7UWUoKTtsdWEoKTtiTmE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHZOYT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sY3VhPSgoKT0+e2xldCBhPVtpZSgiZGVlcy13b3Jrc3BhY2UtbWFya2Rvd25vdXRsZXQiKV0sZSx0PVtdLHIsaT1wZTt2YXIgbz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiRGVlc1dvcmtzcGFjZU1hcmtkb3dub3V0bGV0Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG49dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7Yk5hKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm59LG51bGwsdCksbz1yPWUudmFsdWUsbiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufSl9c3RhdGljIGRlbW89bnVhO3N0YXRpYyBkZW1vR3JvdXBzPVsiV29ya3NwYWNlIl07c3RhdGljIHN0eWxlcz1bRWUsaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBmb250LWZhbWlseTogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLCAnTm90byBTYW5zJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNDI5MmYiLCIjZTZlZGYzIil9OwogICAgICB9CgogICAgICAub3V0bGV0IHsKICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7CiAgICAgIH0KCiAgICAgIC8qIEhlYWRpbmdzICovCiAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYgewogICAgICAgIG1hcmdpbi10b3A6IDI0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzFmMjMyOCIsIiNmMGY2ZmMiKX07CiAgICAgIH0KCiAgICAgIGgxIHsKICAgICAgICBmb250LXNpemU6IDJlbTsKICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4zZW07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDFkOWUwIiwiIzMwMzYzZCIpfTsKICAgICAgfQoKICAgICAgaDIgewogICAgICAgIGZvbnQtc2l6ZTogMS41ZW07CiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuM2VtOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgIH0KCiAgICAgIGgzIHsKICAgICAgICBmb250LXNpemU6IDEuMjVlbTsKICAgICAgfQoKICAgICAgaDQgewogICAgICAgIGZvbnQtc2l6ZTogMWVtOwogICAgICB9CgogICAgICBoNSB7CiAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtOwogICAgICB9CgogICAgICBoNiB7CiAgICAgICAgZm9udC1zaXplOiAwLjg1ZW07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNjU2ZDc2IiwiIzhiOTQ5ZSIpfTsKICAgICAgfQoKICAgICAgLyogUGFyYWdyYXBocyBhbmQgdGV4dCAqLwogICAgICBwIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC8qIExpbmtzICovCiAgICAgIGEgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzA5NjlkYSIsIiM1OGE2ZmYiKX07CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICB9CgogICAgICBhOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQoKICAgICAgLyogU3Ryb25nIGFuZCBlbXBoYXNpcyAqLwogICAgICBzdHJvbmcgewogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMWYyMzI4IiwiI2YwZjZmYyIpfTsKICAgICAgfQoKICAgICAgZW0gewogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgLyogTGlzdHMgKi8KICAgICAgdWwsIG9sIHsKICAgICAgICBtYXJnaW4tdG9wOiAwOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyZW07CiAgICAgIH0KCiAgICAgIGxpIHsKICAgICAgICBtYXJnaW4tdG9wOiA0cHg7CiAgICAgIH0KCiAgICAgIGxpICsgbGkgewogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgfQoKICAgICAgdWwgdWwsIHVsIG9sLCBvbCB1bCwgb2wgb2wgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLyogQmxvY2txdW90ZXMgKi8KICAgICAgYmxvY2txdW90ZSB7CiAgICAgICAgbWFyZ2luOiAwIDAgMTZweCAwOwogICAgICAgIHBhZGRpbmc6IDAgMWVtOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzY1NmQ3NiIsIiM4Yjk0OWUiKX07CiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAke2guYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgIH0KCiAgICAgIGJsb2NrcXVvdGUgPiA6Zmlyc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgIH0KCiAgICAgIGJsb2NrcXVvdGUgPiA6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLyogSW5saW5lIGNvZGUgKi8KICAgICAgY29kZSB7CiAgICAgICAgcGFkZGluZzogMC4yZW0gMC40ZW07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICAgIGZvbnQtc2l6ZTogODUlOwogICAgICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCAnU0YgTW9ubycsIE1lbmxvLCBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIG1vbm9zcGFjZTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgicmdiYSgxNzUsIDE4NCwgMTkzLCAwLjIpIiwicmdiYSgxMTAsIDExOCwgMTI5LCAwLjQpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICB3aGl0ZS1zcGFjZTogYnJlYWstc3BhY2VzOwogICAgICB9CgogICAgICAvKiBDb2RlIGJsb2NrcyAqLwogICAgICBwcmUgewogICAgICAgIG1hcmdpbi10b3A6IDA7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIG92ZXJmbG93OiBhdXRvOwogICAgICAgIGZvbnQtc2l6ZTogODUlOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1OwogICAgICAgIGZvbnQtZmFtaWx5OiB1aS1tb25vc3BhY2UsIFNGTW9uby1SZWd1bGFyLCAnU0YgTW9ubycsIE1lbmxvLCBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIG1vbm9zcGFjZTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgiI2Y2ZjhmYSIsIiMxNjFiMjIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHdvcmQtd3JhcDogbm9ybWFsOwogICAgICB9CgogICAgICBwcmUgY29kZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7CiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7CiAgICAgICAgd29yZC13cmFwOiBub3JtYWw7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAwOwogICAgICAgIGZvbnQtc2l6ZTogMTAwJTsKICAgICAgICB3aGl0ZS1zcGFjZTogcHJlOwogICAgICB9CgogICAgICAvKiBUYWJsZXMgKi8KICAgICAgdGFibGUgewogICAgICAgIHdpZHRoOiBtYXgtY29udGVudDsKICAgICAgICBtYXgtd2lkdGg6IDEwMCU7CiAgICAgICAgbWFyZ2luLXRvcDogMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICAgIGJvcmRlci1zcGFjaW5nOiAwOwogICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7CiAgICAgICAgb3ZlcmZsb3c6IGF1dG87CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIHRhYmxlIHRoIHsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHBhZGRpbmc6IDZweCAxM3B4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDFkOWUwIiwiIzMwMzYzZCIpfTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgiI2Y2ZjhmYSIsIiMxNjFiMjIiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMWYyMzI4IiwiI2U2ZWRmMyIpfTsKICAgICAgfQoKICAgICAgdGFibGUgdGQgewogICAgICAgIHBhZGRpbmc6IDZweCAxM3B4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZDFkOWUwIiwiIzMwMzYzZCIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxZjIzMjgiLCIjZTZlZGYzIil9OwogICAgICB9CgogICAgICB0YWJsZSB0ciB7CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMGQxMTE3Iil9OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2QxZDllMCIsIiMyMTI2MmQiKX07CiAgICAgIH0KCiAgICAgIHRhYmxlIHRyOm50aC1jaGlsZCgybikgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7aC5iZFRoZW1lKCIjZjZmOGZhIiwiIzE2MWIyMiIpfTsKICAgICAgfQoKICAgICAgLyogSG9yaXpvbnRhbCBydWxlcyAqLwogICAgICBociB7CiAgICAgICAgaGVpZ2h0OiA0cHg7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgICBtYXJnaW46IDI0cHggMDsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgICAgYm9yZGVyOiAwOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgfQoKICAgICAgLyogSW1hZ2VzICovCiAgICAgIGltZyB7CiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICB9CgogICAgICAvKiBUYXNrIGxpc3RzICovCiAgICAgIC50YXNrLWxpc3QtaXRlbSB7CiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lOwogICAgICB9CgogICAgICAudGFzay1saXN0LWl0ZW0gaW5wdXQgewogICAgICAgIG1hcmdpbjogMCAwLjJlbSAwLjI1ZW0gLTEuNGVtOwogICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgICAgIH0KCiAgICAgIC8qIERlZmluaXRpb24gbGlzdHMgKi8KICAgICAgZGwgewogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgIH0KCiAgICAgIGRsIGR0IHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICAgIG1hcmdpbi10b3A6IDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxZW07CiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljOwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIGRsIGRkIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLyogS2V5Ym9hcmQgaW5wdXQgKi8KICAgICAga2JkIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgcGFkZGluZzogM3B4IDVweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsICdTRiBNb25vJywgTWVubG8sIENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgbW9ub3NwYWNlOwogICAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzFmMjMyOCIsIiNlNmVkZjMiKX07CiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgiI2Y2ZjhmYSIsIiMxNjFiMjIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNkMWQ5ZTAiLCIjMzAzNjNkIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCAke2guYmRUaGVtZSgiI2QxZDllMCIsIiMzMDM2M2QiKX07CiAgICAgIH0KCiAgICAgIC8qIEZvb3Rub3RlcyAqLwogICAgICAuZm9vdG5vdGVzIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNjU2ZDc2IiwiIzhiOTQ5ZSIpfTsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNkMWQ5ZTAiLCIjMzAzNjNkIil9OwogICAgICAgIHBhZGRpbmctdG9wOiAxNnB4OwogICAgICAgIG1hcmdpbi10b3A6IDMycHg7CiAgICAgIH0KCiAgICAgIC8qIEFsZXJ0cy9BZG1vbml0aW9ucyAqLwogICAgICAubWFya2Rvd24tYWxlcnQgewogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgIH0KCiAgICAgIC5tYXJrZG93bi1hbGVydC1ub3RlIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjMDk2OWRhIiwiIzU4YTZmZiIpfTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgicmdiYSg5LCAxMDUsIDIxOCwgMC4xKSIsInJnYmEoNTYsIDEzOSwgMjUzLCAwLjEpIil9OwogICAgICB9CgogICAgICAubWFya2Rvd24tYWxlcnQtd2FybmluZyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2JmODcwMCIsIiNkMjk5MjIiKX07CiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHtoLmJkVGhlbWUoInJnYmEoMTkxLCAxMzUsIDAsIDAuMSkiLCJyZ2JhKDE4NywgMTI4LCA5LCAwLjEpIil9OwogICAgICB9CgogICAgICAubWFya2Rvd24tYWxlcnQtaW1wb3J0YW50IHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjODI1MGRmIiwiI2EzNzFmNyIpfTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgicmdiYSgxMzAsIDgwLCAyMjMsIDAuMSkiLCJyZ2JhKDE2MywgMTEzLCAyNDcsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5tYXJrZG93bi1hbGVydC1jYXV0aW9uIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjY2YyMjJlIiwiI2Y4NTE0OSIpfTsKICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2guYmRUaGVtZSgicmdiYSgyMDcsIDM0LCA0NiwgMC4xKSIsInJnYmEoMjQ4LCA4MSwgNzMsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5tYXJrZG93bi1hbGVydC10aXAgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiMxYTdmMzciLCIjM2ZiOTUwIil9OwogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7aC5iZFRoZW1lKCJyZ2JhKDI2LCAxMjcsIDU1LCAwLjEpIiwicmdiYSg0NiwgMTYwLCA2NywgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLyogU3ludGF4IGhpZ2hsaWdodGluZyBmb3IgY29kZSBibG9ja3MgKi8KICAgICAgLmhsanMtY29tbWVudCwKICAgICAgLmhsanMtcXVvdGUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzZhNzM3ZCIsIiM4Yjk0OWUiKX07CiAgICAgIH0KCiAgICAgIC5obGpzLWtleXdvcmQsCiAgICAgIC5obGpzLXNlbGVjdG9yLXRhZywKICAgICAgLmhsanMtYWRkaXRpb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2Q3M2E0OSIsIiNmZjdiNzIiKX07CiAgICAgIH0KCiAgICAgIC5obGpzLW51bWJlciwKICAgICAgLmhsanMtc3RyaW5nLAogICAgICAuaGxqcy1tZXRhIC5obGpzLW1ldGEtc3RyaW5nLAogICAgICAuaGxqcy1saXRlcmFsLAogICAgICAuaGxqcy1kb2N0YWcsCiAgICAgIC5obGpzLXJlZ2V4cCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMDMyZjYyIiwiI2E1ZDZmZiIpfTsKICAgICAgfQoKICAgICAgLmhsanMtdGl0bGUsCiAgICAgIC5obGpzLXNlY3Rpb24sCiAgICAgIC5obGpzLW5hbWUsCiAgICAgIC5obGpzLXNlbGVjdG9yLWlkLAogICAgICAuaGxqcy1zZWxlY3Rvci1jbGFzcyB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNmY0MmMxIiwiI2QyYThmZiIpfTsKICAgICAgfQoKICAgICAgLmhsanMtYXR0cmlidXRlLAogICAgICAuaGxqcy1hdHRyLAogICAgICAuaGxqcy12YXJpYWJsZSwKICAgICAgLmhsanMtdGVtcGxhdGUtdmFyaWFibGUsCiAgICAgIC5obGpzLWNsYXNzIC5obGpzLXRpdGxlLAogICAgICAuaGxqcy10eXBlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwMDVjYzUiLCIjNzljMGZmIil9OwogICAgICB9CgogICAgICAuaGxqcy1zeW1ib2wsCiAgICAgIC5obGpzLWJ1bGxldCwKICAgICAgLmhsanMtc3Vic3QsCiAgICAgIC5obGpzLW1ldGEsCiAgICAgIC5obGpzLW1ldGEgLmhsanMta2V5d29yZCwKICAgICAgLmhsanMtc2VsZWN0b3ItYXR0ciwKICAgICAgLmhsanMtc2VsZWN0b3ItcHNldWRvLAogICAgICAuaGxqcy1saW5rIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNlMzYyMDkiLCIjZmZhNjU3Iil9OwogICAgICB9CgogICAgICAuaGxqcy1idWlsdF9pbiwKICAgICAgLmhsanMtZGVsZXRpb24gewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2IzMWQyOCIsIiNmZmExOTgiKX07CiAgICAgIH0KCiAgICAgIC5obGpzLWZvcm11bGEgewogICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7aC5iZFRoZW1lKCIjZjZmOGZhIiwiIzE2MWIyMiIpfTsKICAgICAgfQoKICAgICAgLmhsanMtZW1waGFzaXMgewogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsKICAgICAgfQoKICAgICAgLmhsanMtc3Ryb25nIHsKICAgICAgICBmb250LXdlaWdodDogYm9sZDsKICAgICAgfQogICAgYF07b3V0bGV0O3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJvdXRsZXQiPgogICAgICAgIDxoMT5NYXJrZG93biBQcmV2aWV3PC9oMT4KICAgICAgICA8cD5Db250ZW50IHdpbGwgYXBwZWFyIGhlcmUgd2hlbiBtYXJrZG93biBpcyBwYXJzZWQuPC9wPgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKG4pe2F3YWl0IHN1cGVyLmZpcnN0VXBkYXRlZChuKSx0aGlzLm91dGxldD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm91dGxldCIpfWFzeW5jIHVwZGF0ZUh0bWxUZXh0KG4pe2F3YWl0IHRoaXMudXBkYXRlQ29tcGxldGUsdGhpcy5vdXRsZXR8fCh0aGlzLm91dGxldD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiLm91dGxldCIpKSx0aGlzLm91dGxldC5pbm5lckhUTUw9bn1zdGF0aWN7dk5hKHIsdCl9fTtyZXR1cm4gbz1yfSkoKX0pO3ZhciB1dWE9ZigoKT0+e2R1YSgpfSk7dmFyIHB1YT1mKCgpPT57X0plKCl9KTt2YXIgZnVhPWYoKCk9PntMSmUoKX0pO3ZhciBodWE9ZigoKT0+e1E2YSgpO0o2YSgpO2V1YSgpO2F1YSgpO3J1YSgpO291YSgpO3V1YSgpO3B1YSgpO2Z1YSgpfSk7dmFyIG11YT1mKCgpPT57fSk7dmFyIGd1YT1mKCgpPT57bXVhKCl9KTt2YXIgYnVhPWYoKCk9PntsZSgpfSk7dmFyIHZ1YT1mKCgpPT57YnVhKCl9KTt2YXIgeHVhPWYoKCk9PntqaSgpO1FlKCk7WmxhKCk7bmNhKCk7czBhKCk7ejBhKCk7WjBhKCk7SjBhKCk7eDRhKCk7ZjNhKCk7eGRhKCk7VGRhKCk7ZGllKCk7XzZhKCk7VTZhKCk7aHVhKCk7Z3VhKCk7dnVhKCl9KTt2YXIgeXVhLHd1YT1mKCgpPT57eXVhPXtuYW1lOiJAZGVzaWduLmVzdGF0ZS9kZWVzLWNhdGFsb2ciLHZlcnNpb246IjMuODEuMCIsZGVzY3JpcHRpb246IkEgY29tcHJlaGVuc2l2ZSBsaWJyYXJ5IHRoYXQgcHJvdmlkZXMgZHluYW1pYyB3ZWIgY29tcG9uZW50cyBmb3IgYnVpbGRpbmcgc29waGlzdGljYXRlZCBhbmQgbW9kZXJuIHdlYiBhcHBsaWNhdGlvbnMgdXNpbmcgSmF2YVNjcmlwdCBhbmQgVHlwZVNjcmlwdC4ifX0pO3ZhciAkSmU9e307bHQoJEplLHtDYW52YXNQb29sOigpPT5lNyxEZWVzQWN0aW9uYmFyOigpPT5DMGEsRGVlc0FwcHVpOigpPT5GbGEsRGVlc0FwcHVpQWN0aXZpdHlsb2c6KCk9PkFyYSxEZWVzQXBwdWlCYXI6KCk9PkdyYSxEZWVzQXBwdWlCb3R0b21iYXI6KCk9PlhyYSxEZWVzQXBwdWlNYWluY29udGVudDooKT0+T2xhLERlZXNBcHB1aU1haW5tZW51OigpPT5EbGEsRGVlc0FwcHVpUHJvZmlsZURyb3Bkb3duOigpPT5XcmEsRGVlc0FwcHVpU2Vjb25kYXJ5bWVudTooKT0+UGxhLERlZXNBcHB1aVRhYnM6KCk9PlJsYSxEZWVzQXVkaW9WaWV3ZXI6KCk9PnkzYSxEZWVzQmFkZ2U6KCk9PkQwYSxEZWVzQnV0dG9uOigpPT56bGEsRGVlc0J1dHRvbkV4aXQ6KCk9PkpsYSxEZWVzQnV0dG9uR3JvdXA6KCk9PnNjYSxEZWVzQ2hhcnRBcmVhOigpPT5oY2EsRGVlc0NoYXJ0QmFyOigpPT5fY2EsRGVlc0NoYXJ0RG9udXQ6KCk9PkljYSxEZWVzQ2hhcnRHYXVnZTooKT0+VmNhLERlZXNDaGFydExvZzooKT0+R2NhLERlZXNDaGFydFJhZGFyOigpPT5hMGEsRGVlc0NoaXBzOigpPT5NNGEsRGVlc0NvbnRleHRtZW51OigpPT5lYSxEZWVzRGFzaGJvYXJkZ3JpZDooKT0+SDRhLERlZXNEYXRhdmlld0NvZGVib3g6KCk9Pm4wYSxEZWVzRGF0YXZpZXdTdGF0dXNvYmplY3Q6KCk9PnAwYSxEZWVzRm9ybTooKT0+TWxhLERlZXNGb3JtU3VibWl0OigpPT5sYWUsRGVlc0Zvcm1hdHRpbmdNZW51OigpPT5DYWUsRGVlc0hlYWRpbmc6KCk9Pkc0YSxEZWVzSGludDooKT0+UjBhLERlZXNJY29uOigpPT5DcmEsRGVlc0ltYWdlVmlld2VyOigpPT5nM2EsRGVlc0lucHV0QmFzZTooKT0+d3QsRGVlc0lucHV0Q2hlY2tib3g6KCk9Pkt0ZSxEZWVzSW5wdXRDb2RlOigpPT5lYWUsRGVlc0lucHV0RGF0ZXBpY2tlcjooKT0+YWFlLERlZXNJbnB1dERhdGVwaWNrZXJQb3B1cDooKT0+dGFlLERlZXNJbnB1dERyb3Bkb3duOigpPT5kYWUsRGVlc0lucHV0RHJvcGRvd25Qb3B1cDooKT0+Y2FlLERlZXNJbnB1dEZpbGV1cGxvYWQ6KCk9PnBhZSxEZWVzSW5wdXRJYmFuOigpPT5nYWUsRGVlc0lucHV0TGlzdDooKT0+a2FlLERlZXNJbnB1dE11bHRpdG9nZ2xlOigpPT5iYWUsRGVlc0lucHV0UGhvbmU6KCk9PnhhZSxEZWVzSW5wdXRQcm9maWxlUGljdHVyZTooKT0+djRhLERlZXNJbnB1dFF1YW50aXR5U2VsZWN0b3I6KCk9PmlhZSxEZWVzSW5wdXRSYWRpb2dyb3VwOigpPT5vYWUsRGVlc0lucHV0UmljaHRleHQ6KCk9PkJzZSxEZWVzSW5wdXRUYWdzOigpPT5NYWUsRGVlc0lucHV0VGV4dDooKT0+c2FlLERlZXNJbnB1dFRvZ2dsZTooKT0+eWFlLERlZXNJbnB1dFR5cGVsaXN0OigpPT53YWUsRGVlc0lucHV0V3lzaXd5ZzooKT0+V1csRGVlc0xhYmVsOigpPT5tc2EsRGVlc01vYmlsZW5hdmlnYXRpb246KCk9PkdsYSxEZWVzTW9kYWw6KCk9PndhLERlZXNQYWdpbmF0aW9uOigpPT5KNGEsRGVlc1BhbmVsOigpPT5hc2EsRGVlc1BkZlZpZXdlcjooKT0+JDNhLERlZXNQcmV2aWV3OigpPT5QM2EsRGVlc1Byb2dyZXNzYmFyOigpPT5xMGEsRGVlc1NlYXJjaGJhcjooKT0+QTZhLERlZXNTZXR0aW5nczooKT0+aTNhLERlZXNTaG9wcGluZ1Byb2R1Y3RjYXJkOigpPT5fc2EsRGVlc1NpbXBsZUFwcERhc2g6KCk9PnY2YSxEZWVzU2ltcGxlTG9naW46KCk9PlM2YSxEZWVzU2xhc2hNZW51OigpPT5TYWUsRGVlc1NwZWVjaGJ1YmJsZTooKT0+U2RhLERlZXNTcGlubmVyOigpPT5qMGEsRGVlc1N0YXRzR3JpZDooKT0+Q2xhLERlZXNTdGVwcGVyOigpPT5KbSxEZWVzU3RvcmFnZUJyb3dzZXI6KCk9Pk0wYSxEZWVzU3RvcmFnZUNvbHVtbnM6KCk9PngwYSxEZWVzU3RvcmFnZUtleXM6KCk9PnkwYSxEZWVzU3RvcmFnZVByZXZpZXc6KCk9PncwYSxEZWVzVGFibGU6KCk9PnFzZSxEZWVzVGhlbWU6KCk9PlI2YSxEZWVzVGh1bWJuYWlsQXVkaW86KCk9PmVkYSxEZWVzVGh1bWJuYWlsQmFzZTooKT0+aW8sRGVlc1RodW1ibmFpbEZvbGRlcjooKT0+Z2RhLERlZXNUaHVtYm5haWxJbWFnZTooKT0+SzNhLERlZXNUaHVtYm5haWxOb3RlOigpPT5kZGEsRGVlc1RodW1ibmFpbFBkZjooKT0+ajNhLERlZXNUaHVtYm5haWxWaWRlbzooKT0+aWRhLERlZXNUaWxlOigpPT5wc2EsRGVlc1RvYXN0OigpPT5EYSxEZWVzVXBkYXRlcjooKT0+dWllLERlZXNWaWRlb1ZpZXdlcjooKT0+UzNhLERlZXNXaW5kb3dDb250cm9sczooKT0+VXJhLERlZXNXaW5kb3dMYXllcjooKT0+anMsRGVlc1dvcmtzcGFjZTooKT0+WjZhLERlZXNXb3Jrc3BhY2VCb3R0b21iYXI6KCk9Plk2YSxEZWVzV29ya3NwYWNlRGlmZkVkaXRvcjooKT0+SzZhLERlZXNXb3Jrc3BhY2VGaWxldHJlZTooKT0+VzZhLERlZXNXb3Jrc3BhY2VNYXJrZG93bjooKT0+c3VhLERlZXNXb3Jrc3BhY2VNYXJrZG93bm91dGxldDooKT0+Y3VhLERlZXNXb3Jrc3BhY2VNb25hY286KCk9PmdzYSxEZWVzV29ya3NwYWNlVGVybWluYWw6KCk9PnhKZSxEZWVzV29ya3NwYWNlVGVybWluYWxQcmV2aWV3OigpPT5HNmEsRGVlc1d5c2l3eWdCbG9jazooKT0+dGxhLFBST0dSQU1NSU5HX0xBTkdVQUdFUzooKT0+TlUsUGRmTWFuYWdlcjooKT0+bmwsUGVyZm9ybWFuY2VNb25pdG9yOigpPT50NyxUZXJtaW5hbFRhYk1hbmFnZXI6KCk9PnVHLFR5cGVTY3JpcHRJbnRlbGxpU2Vuc2VNYW5hZ2VyOigpPT5oRyxWaWV3UmVnaXN0cnk6KCk9PkdXLFdlYkNvbnRhaW5lckVudmlyb25tZW50OigpPT5rNSxXeXNpd3lnQmxvY2tPcGVyYXRpb25zOigpPT5SVSxXeXNpd3lnQmxvY2tzOigpPT50aSxXeXNpd3lnQ29udmVydGVyczooKT0+RG4sV3lzaXd5Z0RyYWdEcm9wSGFuZGxlcjooKT0+VlcsV3lzaXd5Z0Zvcm1hdHRpbmc6KCk9PmdjLFd5c2l3eWdIaXN0b3J5OigpPT5qVyxXeXNpd3lnSW5wdXRIYW5kbGVyOigpPT5IVyxXeXNpd3lnS2V5Ym9hcmRIYW5kbGVyOigpPT5xVyxXeXNpd3lnTW9kYWxNYW5hZ2VyOigpPT5CVyxXeXNpd3lnU2VsZWN0aW9uOigpPT5ydCxXeXNpd3lnU2hvcnRjdXRzOigpPT5YcixaSW5kZXhSZWdpc3RyeTooKT0+WUosY29sb3JzOigpPT5pbSxjb21taXRpbmZvOigpPT55dWEsY29tcG9uZW50WkluZGV4OigpPT5fQ2EsZGVib3VuY2U6KCk9PkhJYSxmb3JtYXRDb3VudDooKT0+djBhLGZvcm1hdEZpbGVTaXplOigpPT5VUWUsZm9ybWF0U2l6ZTooKT0+S20sZ2V0Q29udGVudFR5cGU6KCk9PlI0LGdldERlZmF1bHRDb250ZW50OigpPT5YbSxnZXRGaWxlTmFtZTooKT0+bWEsZ2V0UGFyZW50UHJlZml4OigpPT5WMSxnZXRQYXRoU2VnbWVudHM6KCk9Pmc1LGdldFpJbmRleDooKT0+Q0NhLGljb25zOigpPT5XdGUsaXNJblZpZXdwb3J0OigpPT5WSWEscmVnaXN0ZXJBbGxCbG9ja0hhbmRsZXJzOigpPT5aMmEsdGhlbWVEZWZhdWx0U3R5bGVzOigpPT5FZSx0aGVtZURlZmF1bHRzOigpPT5abyx0aHJvdHRsZTooKT0+cUlhLHRodW1ibmFpbEJhc2VTdHlsZXM6KCk9Pk5pLHZhbGlkYXRlTW92ZTooKT0+Wm0sd3lzaXd5Z1N0eWxlczooKT0+c0tlLHpJbmRleExheWVyczooKT0+THMsekluZGV4UmVnaXN0cnk6KCk9Plp0fSk7dmFyIERKZT1mKCgpPT57eHVhKCk7VDEoKTt3dWEoKX0pO3ZhciBBSmUsZ0cseE5hLEVKZT1mKCgpPT57bGUoKTtBSmU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGdHPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSx4TmE9KCgpPT57bGV0IGE9W2llKCJzei1yZXNvdXJjZS11c2FnZS1jYXJkIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6UmVzb3VyY2VVc2FnZUNhcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOlN0cmluZ30pXSxBSmUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJkYXRhImluIHYsImhhcyIpLGdldDpzKHY9PnYuZGF0YSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LmRhdGE9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLEFKZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcnZpY2VDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4ic2VydmljZUNvdW50ImluIHYsImhhcyIpLGdldDpzKHY9PnYuc2VydmljZUNvdW50LCJnZXQiKSxzZXQ6cygodix4KT0+e3Yuc2VydmljZUNvdW50PXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxBSmUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA4MDBweDsiPgogICAgICA8c3otcmVzb3VyY2UtdXNhZ2UtY2FyZAogICAgICAgIC5kYXRhPSR7e2NwdTouNSxtZW1vcnlVc2VkOiIxOTEgTUIiLG1lbW9yeVRvdGFsOiI0MjkuMiBHQiIsbmV0d29ya0luOiIzOC45IEtCL3MiLG5ldHdvcmtPdXQ6IjEuNyBLQi9zIix0b3BDb25zdW1lcnM6W3tuYW1lOiJ0ZXN0LW5naW54IixtZW1vcnk6IjMyLjEgTUIifSx7bmFtZToidGVzdC12MiIsbWVtb3J5OiIzMS43IE1CIn1dfX0KICAgICAgICBzZXJ2aWNlQ291bnQ9IjciCiAgICAgID48L3N6LXJlc291cmNlLXVzYWdlLWNhcmQ+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXNoYm9hcmQiXTsjZT1nRyh0aGlzLG4se2NwdTowLG1lbW9yeVVzZWQ6IjAgTUIiLG1lbW9yeVRvdGFsOiIwIEdCIixuZXR3b3JrSW46IjAgS0IvcyIsbmV0d29ya091dDoiMCBLQi9zIix0b3BDb25zdW1lcnM6W119KTtnZXQgZGF0YSgpe3JldHVybiB0aGlzLiNlfXNldCBkYXRhKG0pe3RoaXMuI2U9bX0jdD0oZ0codGhpcyxsKSxnRyh0aGlzLGMsIjAiKSk7Z2V0IHNlcnZpY2VDb3VudCgpe3JldHVybiB0aGlzLiN0fXNldCBzZXJ2aWNlQ291bnQobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuY2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLnZpZXctYWxsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICAudmlldy1hbGw6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAubWV0cmljcyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTZweDsKICAgICAgfQoKICAgICAgLm1ldHJpYy1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLm1ldHJpYy1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5tZXRyaWMtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAubWV0cmljLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWJhciB7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtZmlsbCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMzAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLm5ldHdvcmstcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAubmV0d29yay1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5uZXR3b3JrLWljb24gewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgfQoKICAgICAgLm5ldHdvcmstaWNvbi5kb3duIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAubmV0d29yay1pY29uLnVwIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAudG9wLWNvbnN1bWVycyB7CiAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5jb25zdW1lcnMtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDZweDsKICAgICAgfQoKICAgICAgLmNvbnN1bWVycy1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5jb25zdW1lci1pdGVtIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmNvbnN1bWVyLW5hbWUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPlJlc291cmNlIFVzYWdlPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj5BZ2dyZWdhdGVkIGFjcm9zcyAke3RoaXMuc2VydmljZUNvdW50fSBzZXJ2aWNlczwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8YSBjbGFzcz0idmlldy1hbGwiPlZpZXcgQWxsPC9hPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWNzIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtaGVhZGVyIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLWxhYmVsIj5DUFU8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLmRhdGEuY3B1LnRvRml4ZWQoMSl9JTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtZmlsbCIgc3R5bGU9IndpZHRoOiAke01hdGgubWluKHRoaXMuZGF0YS5jcHUsMTAwKX0lIj48L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtcm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWhlYWRlciI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy1sYWJlbCI+TWVtb3J5PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtdmFsdWUiPiR7dGhpcy5kYXRhLm1lbW9yeVVzZWR9IC8gJHt0aGlzLmRhdGEubWVtb3J5VG90YWx9PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtYmFyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1maWxsIiBzdHlsZT0id2lkdGg6ICR7dGhpcy5jYWxjdWxhdGVNZW1vcnlQZXJjZW50KCl9JSI+PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLXJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1oZWFkZXIiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtbGFiZWwiPk5ldHdvcms8L3NwYW4+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibmV0d29yay1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im5ldHdvcmstaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9Im5ldHdvcmstaWNvbiBkb3duIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiA1djE0TTE5IDEybC03IDctNy03Ii8+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAke3RoaXMuZGF0YS5uZXR3b3JrSW59CiAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibmV0d29yay1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0ibmV0d29yay1pY29uIHVwIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAxOVY1TTUgMTJsNy03IDcgNyIvPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgJHt0aGlzLmRhdGEubmV0d29ya091dH0KICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgJHt0aGlzLmRhdGEudG9wQ29uc3VtZXJzLmxlbmd0aD4wP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b3AtY29uc3VtZXJzIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uc3VtZXJzLWxhYmVsIj5Ub3AgY29uc3VtZXJzPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbnN1bWVycy1saXN0Ij4KICAgICAgICAgICAgICAke3RoaXMuZGF0YS50b3BDb25zdW1lcnMubWFwKG09PndgCiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjb25zdW1lci1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY29uc3VtZXItbmFtZSI+JHttLm5hbWV9Ojwvc3Bhbj4gJHttLm1lbW9yeX0KICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfWNhbGN1bGF0ZU1lbW9yeVBlcmNlbnQoKXtsZXQgbT1wYXJzZUZsb2F0KHRoaXMuZGF0YS5tZW1vcnlVc2VkKSx2PXBhcnNlRmxvYXQodGhpcy5kYXRhLm1lbW9yeVRvdGFsKTtyZXR1cm4gdj09PTA/MDpNYXRoLm1pbihtL3YqMTAwLDEwMCl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGdHKHRoaXMscCl9c3RhdGlje2dHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBNdWEsUEplLHlOYSxJSmU9ZigoKT0+e2xlKCk7TXVhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxQSmU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHlOYT0oKCk9PntsZXQgYT1baWUoInN6LXRyYWZmaWMtY2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelRyYWZmaWNDYXJkIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sTXVhKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGF0YSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4iZGF0YSJpbiBwLCJoYXMiKSxnZXQ6cyhwPT5wLmRhdGEsImdldCIpLHNldDpzKChwLHUpPT57cC5kYXRhPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxNdWEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA1MDBweDsiPgogICAgICA8c3otdHJhZmZpYy1jYXJkCiAgICAgICAgLmRhdGE9JHt7cmVxdWVzdHM6MTI1MCxlcnJvcnM6MTUsZXJyb3JQZXJjZW50OjEuMixhdmdSZXNwb25zZToxNDUscmVxUGVyTWluOjIxLHN0YXR1czJ4eDo4NSxzdGF0dXMzeHg6NSxzdGF0dXM0eHg6OCxzdGF0dXM1eHg6Mn19CiAgICAgID48L3N6LXRyYWZmaWMtY2FyZD4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhc2hib2FyZCJdOyNlPVBKZSh0aGlzLG4se3JlcXVlc3RzOjAsZXJyb3JzOjAsZXJyb3JQZXJjZW50OjAsYXZnUmVzcG9uc2U6MCxyZXFQZXJNaW46MCxzdGF0dXMyeHg6MCxzdGF0dXMzeHg6MCxzdGF0dXM0eHg6MCxzdGF0dXM1eHg6MH0pO2dldCBkYXRhKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRhdGEoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuY2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLm1ldHJpY3MgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLm1ldHJpYyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAubWV0cmljLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLm1ldHJpYy12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYXItY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nLXRvcDogMTJweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBoZWlnaHQ6IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAuc3RhdHVzLXNlZ21lbnQgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAzMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuc3RhdHVzLTJ4eCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMyMmM1NWUiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLTN4eCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLTR4eCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmYWNjMTUiLCIjZmFjYzE1Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLTV4eCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWxlZ2VuZCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgIH0KCiAgICAgIC5sZWdlbmQtaXRlbSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe2xldCBjPXRoaXMuZGF0YS5zdGF0dXMyeHgrdGhpcy5kYXRhLnN0YXR1czN4eCt0aGlzLmRhdGEuc3RhdHVzNHh4K3RoaXMuZGF0YS5zdGF0dXM1eHgscD1jPjA/dGhpcy5kYXRhLnN0YXR1czJ4eC9jKjEwMDowLHU9Yz4wP3RoaXMuZGF0YS5zdGF0dXMzeHgvYyoxMDA6MCxtPWM+MD90aGlzLmRhdGEuc3RhdHVzNHh4L2MqMTAwOjAsdj1jPjA/dGhpcy5kYXRhLnN0YXR1czV4eC9jKjEwMDowO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPlRyYWZmaWMgKExhc3QgSG91cik8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN1YnRpdGxlIj5SZXF1ZXN0IG1ldHJpY3MgZnJvbSBhY2Nlc3MgbG9nczwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWNzIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtbGFiZWwiPlJlcXVlc3RzPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLXZhbHVlIj4ke3RoaXMuZm9ybWF0TnVtYmVyKHRoaXMuZGF0YS5yZXF1ZXN0cyl9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLWxhYmVsIj5FcnJvcnM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRyaWMtdmFsdWUiPiR7dGhpcy5kYXRhLmVycm9yc30gKCR7dGhpcy5kYXRhLmVycm9yUGVyY2VudH0lKTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy1sYWJlbCI+QXZnIFJlc3BvbnNlPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0cmljLXZhbHVlIj4ke3RoaXMuZGF0YS5hdmdSZXNwb25zZX1tczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy1sYWJlbCI+UmVxL21pbjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLmRhdGEucmVxUGVyTWlufTwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtYmFyLWNvbnRhaW5lciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtYmFyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzLXNlZ21lbnQgc3RhdHVzLTJ4eCIgc3R5bGU9IndpZHRoOiAke3B9JSI+PC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1zZWdtZW50IHN0YXR1cy0zeHgiIHN0eWxlPSJ3aWR0aDogJHt1fSUiPjwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMtc2VnbWVudCBzdGF0dXMtNHh4IiBzdHlsZT0id2lkdGg6ICR7bX0lIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzLXNlZ21lbnQgc3RhdHVzLTV4eCIgc3R5bGU9IndpZHRoOiAke3Z9JSI+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1sZWdlbmQiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGVnZW5kLWl0ZW0iPjJ4eDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxlZ2VuZC1pdGVtIj4zeHg8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsZWdlbmQtaXRlbSI+NHh4PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGVnZW5kLWl0ZW0iPjV4eDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Zm9ybWF0TnVtYmVyKGMpe3JldHVybiBjPj0xZTY/KGMvMWU2KS50b0ZpeGVkKDEpKyJNIjpjPj0xZTM/KGMvMWUzKS50b0ZpeGVkKDEpKyJLIjpjLnRvU3RyaW5nKCl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFBKZSh0aGlzLGwpfXN0YXRpY3tQSmUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIGt1YSxOSmUsd05hLFJKZT1mKCgpPT57bGUoKTtrdWE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LE5KZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sd05hPSgoKT0+e2xldCBhPVtpZSgic3otcGxhdGZvcm0tc2VydmljZXMtY2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelBsYXRmb3JtU2VydmljZXNDYXJkIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxrdWEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXJ2aWNlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4ic2VydmljZXMiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5zZXJ2aWNlcywiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLnNlcnZpY2VzPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxrdWEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA1MDBweDsiPgogICAgICA8c3otcGxhdGZvcm0tc2VydmljZXMtY2FyZAogICAgICAgIC5zZXJ2aWNlcz0ke1t7bmFtZToiTW9uZ29EQiIsc3RhdHVzOiIxIERCIixydW5uaW5nOiEwfSx7bmFtZToiUzMgU3RvcmFnZSAoTWluSU8pIixzdGF0dXM6IjEgYnVja2V0IixydW5uaW5nOiEwfSx7bmFtZToiQ2FkZHkgUmV2ZXJzZSBQcm94eSIsc3RhdHVzOiJSdW5uaW5nIixydW5uaW5nOiEwfSx7bmFtZToiQ2xpY2tIb3VzZSIsc3RhdHVzOiIxIERCIixydW5uaW5nOiEwfV19CiAgICAgID48L3N6LXBsYXRmb3JtLXNlcnZpY2VzLWNhcmQ+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJQbGF0Zm9ybSJdOyNlPU5KZSh0aGlzLG4sW10pO2dldCBzZXJ2aWNlcygpe3JldHVybiB0aGlzLiNlfXNldCBzZXJ2aWNlcyhjKXt0aGlzLiNlPWN9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuc2VydmljZXMtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuc2VydmljZS1pdGVtOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAwLjg7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLWxlZnQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtZG90IHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1kb3QucnVubmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMyMmM1NWUiLCIjMjJjNTVlIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCA2cHggJHtoLmJkVGhlbWUoInJnYmEoMzQsIDE5NywgOTQsIDAuNCkiLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjQpIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWRvdC5zdG9wcGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VmNDQ0NCIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLXN0YXR1cyB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPlBsYXRmb3JtIFNlcnZpY2VzPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+SW5mcmFzdHJ1Y3R1cmUgc3RhdHVzPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2VzLWxpc3QiPgogICAgICAgICAgJHt0aGlzLnNlcnZpY2VzLm1hcChjPT53YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaXRlbSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlU2VydmljZUNsaWNrKGMpfT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtbGVmdCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1kb3QgJHtjLnJ1bm5pbmc/InJ1bm5pbmciOiJzdG9wcGVkIn0iPjwvZGl2PgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VydmljZS1uYW1lIj4ke2MubmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZXJ2aWNlLXN0YXR1cyI+JHtjLnN0YXR1c308L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlU2VydmljZUNsaWNrKGMpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNlcnZpY2UtY2xpY2siLHtkZXRhaWw6YyxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxOSmUodGhpcyxsKX1zdGF0aWN7TkplKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBmaWUsXzUsTU5hLE9KZT1mKCgpPT57bGUoKTtmaWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LF81PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxNTmE9KCgpPT57bGV0IGE9W2llKCJzei1jZXJ0aWZpY2F0ZXMtY2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekNlcnRpZmljYXRlc0NhcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk51bWJlcn0pXSxkPVskKHt0eXBlOk51bWJlcn0pXSx1PVskKHt0eXBlOk51bWJlcn0pXSxmaWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ2YWxpZENvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJ2YWxpZENvdW50ImluIGcsImhhcyIpLGdldDpzKGc9PmcudmFsaWRDb3VudCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnZhbGlkQ291bnQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLGZpZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImV4cGlyaW5nQ291bnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImV4cGlyaW5nQ291bnQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5leHBpcmluZ0NvdW50LCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuZXhwaXJpbmdDb3VudD15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGMscCksZmllKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZXhwaXJlZENvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJleHBpcmVkQ291bnQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5leHBpcmVkQ291bnQsImdldCIpLHNldDpzKChnLHkpPT57Zy5leHBpcmVkQ291bnQ9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLGZpZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBkaXNwbGF5OiBmbGV4OyBnYXA6IDE2cHg7IGZsZXgtd3JhcDogd3JhcDsiPgogICAgICA8c3otY2VydGlmaWNhdGVzLWNhcmQgdmFsaWRDb3VudD0iMiI+PC9zei1jZXJ0aWZpY2F0ZXMtY2FyZD4KICAgICAgPHN6LWNlcnRpZmljYXRlcy1jYXJkIHZhbGlkQ291bnQ9IjUiIGV4cGlyaW5nQ291bnQ9IjIiPjwvc3otY2VydGlmaWNhdGVzLWNhcmQ+CiAgICAgIDxzei1jZXJ0aWZpY2F0ZXMtY2FyZCB2YWxpZENvdW50PSIwIiBleHBpcmVkQ291bnQ9IjEiPjwvc3otY2VydGlmaWNhdGVzLWNhcmQ+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJOZXR3b3JrIl07I2U9XzUodGhpcyxuLDApO2dldCB2YWxpZENvdW50KCl7cmV0dXJuIHRoaXMuI2V9c2V0IHZhbGlkQ291bnQoYil7dGhpcy4jZT1ifSN0PShfNSh0aGlzLGwpLF81KHRoaXMsYywwKSk7Z2V0IGV4cGlyaW5nQ291bnQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgZXhwaXJpbmdDb3VudChiKXt0aGlzLiN0PWJ9I2E9KF81KHRoaXMscCksXzUodGhpcyxtLDApKTtnZXQgZXhwaXJlZENvdW50KCl7cmV0dXJuIHRoaXMuI2F9c2V0IGV4cGlyZWRDb3VudChiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtaW4td2lkdGg6IDIwMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC50aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1pY29uIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtaWNvbi52YWxpZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjJjNTVlIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1pY29uLndhcm5pbmcgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ZhY2MxNSIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtaWNvbi5lcnJvciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZWY0NDQ0IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPkNlcnRpZmljYXRlczwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3VidGl0bGUiPlNTTC9UTFMgY2VydGlmaWNhdGUgc3RhdHVzPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cy1saXN0Ij4KICAgICAgICAgICR7dGhpcy52YWxpZENvdW50PjA/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdHVzIj4KICAgICAgICAgICAgICA8c3ZnIGNsYXNzPSJzdGF0dXMtaWNvbiB2YWxpZCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtdGV4dCI+JHt0aGlzLnZhbGlkQ291bnR9IHZhbGlkPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGA6IiJ9CgogICAgICAgICAgJHt0aGlzLmV4cGlyaW5nQ291bnQ+MD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMiPgogICAgICAgICAgICAgIDxzdmcgY2xhc3M9InN0YXR1cy1pY29uIHdhcm5pbmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAuMjkgMy44NkwxLjgyIDE4YTIgMiAwIDAgMCAxLjcxIDNoMTYuOTRhMiAyIDAgMCAwIDEuNzEtM0wxMy43MSAzLjg2YTIgMiAwIDAgMC0zLjQyIDB6Ij48L3BhdGg+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI5IiB4Mj0iMTIiIHkyPSIxMyI+PC9saW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMTciIHgyPSIxMi4wMSIgeTI9IjE3Ij48L2xpbmU+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy10ZXh0Ij4ke3RoaXMuZXhwaXJpbmdDb3VudH0gZXhwaXJpbmcgc29vbjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQoKICAgICAgICAgICR7dGhpcy5leHBpcmVkQ291bnQ+MD93YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0dXMiPgogICAgICAgICAgICAgIDxzdmcgY2xhc3M9InN0YXR1cy1pY29uIGVycm9yIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjE1IiB5MT0iOSIgeDI9IjkiIHkyPSIxNSI+PC9saW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjkiIHkxPSI5IiB4Mj0iMTUiIHkyPSIxNSI+PC9saW5lPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtdGV4dCI+JHt0aGlzLmV4cGlyZWRDb3VudH0gZXhwaXJlZDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQoKICAgICAgICAgICR7dGhpcy52YWxpZENvdW50PT09MCYmdGhpcy5leHBpcmluZ0NvdW50PT09MCYmdGhpcy5leHBpcmVkQ291bnQ9PT0wP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXR1cyI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy10ZXh0Ij5ObyBjZXJ0aWZpY2F0ZXM8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxfNSh0aGlzLHYpfXN0YXRpY3tfNShyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgYzcsWDEsa05hLEZKZT1mKCgpPT57bGUoKTtjNz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sWDE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGtOYT0oKCk9PntsZXQgYT1baWUoInN6LXJldmVyc2UtcHJveHktY2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelJldmVyc2VQcm94eUNhcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOkJvb2xlYW59KV0seD1bJCh7dHlwZTpCb29sZWFufSldLHk9WyQoe3R5cGU6U3RyaW5nfSldLGM3KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaHR0cFBvcnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Imh0dHBQb3J0ImluIHosImhhcyIpLGdldDpzKHo9PnouaHR0cFBvcnQsImdldCIpLHNldDpzKCh6LE8pPT57ei5odHRwUG9ydD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG4sbCksYzcodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJodHRwc1BvcnQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Imh0dHBzUG9ydCJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56Lmh0dHBzUG9ydCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6Lmh0dHBzUG9ydD1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGMscCksYzcodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJodHRwQWN0aXZlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJodHRwQWN0aXZlImluIHosImhhcyIpLGdldDpzKHo9PnouaHR0cEFjdGl2ZSwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6Lmh0dHBBY3RpdmU9T30sInNldCIpfSxtZXRhZGF0YTpffSxtLHYpLGM3KHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaHR0cHNBY3RpdmUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+Imh0dHBzQWN0aXZlImluIHosImhhcyIpLGdldDpzKHo9PnouaHR0cHNBY3RpdmUsImdldCIpLHNldDpzKCh6LE8pPT57ei5odHRwc0FjdGl2ZT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZyksYzcodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3V0ZUNvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJyb3V0ZUNvdW50ImluIHosImhhcyIpLGdldDpzKHo9Pnoucm91dGVDb3VudCwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LnJvdXRlQ291bnQ9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLGM3KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogNDAwcHg7Ij4KICAgICAgPHN6LXJldmVyc2UtcHJveHktY2FyZAogICAgICAgIGh0dHBQb3J0PSI4MDgwIgogICAgICAgIGh0dHBzUG9ydD0iODQ0MyIKICAgICAgICBodHRwQWN0aXZlCiAgICAgICAgaHR0cHNBY3RpdmUKICAgICAgICByb3V0ZUNvdW50PSIzIgogICAgICA+PC9zei1yZXZlcnNlLXByb3h5LWNhcmQ+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJOZXR3b3JrIl07I2U9WDEodGhpcyxuLCI4MCIpO2dldCBodHRwUG9ydCgpe3JldHVybiB0aGlzLiNlfXNldCBodHRwUG9ydChfKXt0aGlzLiNlPV99I3Q9KFgxKHRoaXMsbCksWDEodGhpcyxjLCI0NDMiKSk7Z2V0IGh0dHBzUG9ydCgpe3JldHVybiB0aGlzLiN0fXNldCBodHRwc1BvcnQoXyl7dGhpcy4jdD1ffSNhPShYMSh0aGlzLHApLFgxKHRoaXMsbSwhMSkpO2dldCBodHRwQWN0aXZlKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGh0dHBBY3RpdmUoXyl7dGhpcy4jYT1ffSNyPShYMSh0aGlzLHYpLFgxKHRoaXMsYiwhMSkpO2dldCBodHRwc0FjdGl2ZSgpe3JldHVybiB0aGlzLiNyfXNldCBodHRwc0FjdGl2ZShfKXt0aGlzLiNyPV99I3M9KFgxKHRoaXMsZyksWDEodGhpcyxrLCIwIikpO2dldCByb3V0ZUNvdW50KCl7cmV0dXJuIHRoaXMuI3N9c2V0IHJvdXRlQ291bnQoXyl7dGhpcy4jcz1ffXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICB9CgogICAgICAuY2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE2cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLml0ZW1zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMHB4OwogICAgICB9CgogICAgICAuaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLml0ZW0tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuaXRlbS12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuYmFkZ2UuaW5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj5SZXZlcnNlIFByb3h5PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+SFRUUC9IVFRQUyBwcm94eSBzdGF0dXM8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iaXRlbXMiPgogICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLWxhYmVsIj5IVFRQICgke3RoaXMuaHR0cFBvcnR9KTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7dGhpcy5odHRwQWN0aXZlPyJhY3RpdmUiOiJpbmFjdGl2ZSJ9Ij4KICAgICAgICAgICAgICAke3RoaXMuaHR0cEFjdGl2ZT8iQWN0aXZlIjoiSW5hY3RpdmUifQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1sYWJlbCI+SFRUUFMgKCR7dGhpcy5odHRwc1BvcnR9KTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImJhZGdlICR7dGhpcy5odHRwc0FjdGl2ZT8iYWN0aXZlIjoiaW5hY3RpdmUifSI+CiAgICAgICAgICAgICAgJHt0aGlzLmh0dHBzQWN0aXZlPyJBY3RpdmUiOiJJbmFjdGl2ZSJ9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLWxhYmVsIj5Sb3V0ZXM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpdGVtLXZhbHVlIj4ke3RoaXMucm91dGVDb3VudH08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxYMSh0aGlzLEMpfXN0YXRpY3tYMShyLHQpfX07cmV0dXJuIE49cn0pKCl9KTt2YXIgQkplLGJHLFNOYSxISmU9ZigoKT0+e2xlKCk7QkplPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxiRz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sU05hPSgoKT0+e2xldCBhPVtpZSgic3otZG5zLXNzbC1jYXJkIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RG5zU3NsQ2FyZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6Qm9vbGVhbn0pXSxkPVskKHt0eXBlOkJvb2xlYW59KV0sQkplKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZG5zQ29uZmlndXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iZG5zQ29uZmlndXJlZCJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmRuc0NvbmZpZ3VyZWQsImdldCIpLHNldDpzKCh2LHgpPT57di5kbnNDb25maWd1cmVkPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxCSmUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY21lQ29uZmlndXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iYWNtZUNvbmZpZ3VyZWQiaW4gdiwiaGFzIiksZ2V0OnModj0+di5hY21lQ29uZmlndXJlZCwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LmFjbWVDb25maWd1cmVkPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxCSmUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA0MDBweDsiPgogICAgICA8c3otZG5zLXNzbC1jYXJkCiAgICAgICAgZG5zQ29uZmlndXJlZAogICAgICAgIGFjbWVDb25maWd1cmVkCiAgICAgID48L3N6LWRucy1zc2wtY2FyZD4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT1iRyh0aGlzLG4sITEpO2dldCBkbnNDb25maWd1cmVkKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRuc0NvbmZpZ3VyZWQobSl7dGhpcy4jZT1tfSN0PShiRyh0aGlzLGwpLGJHKHRoaXMsYywhMSkpO2dldCBhY21lQ29uZmlndXJlZCgpe3JldHVybiB0aGlzLiN0fXNldCBhY21lQ29uZmlndXJlZChtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuaXRlbXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgIH0KCiAgICAgIC5pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAuaXRlbS1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5iYWRnZS5jb25maWd1cmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5iYWRnZS5ub3QtY29uZmlndXJlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJjYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0idGl0bGUiPkROUyAmIFNTTDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0ic3VidGl0bGUiPkNvbmZpZ3VyYXRpb24gc3RhdHVzPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9Iml0ZW1zIj4KICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1sYWJlbCI+Q2xvdWRmbGFyZSBETlM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSAke3RoaXMuZG5zQ29uZmlndXJlZD8iY29uZmlndXJlZCI6Im5vdC1jb25maWd1cmVkIn0iPgogICAgICAgICAgICAgICR7dGhpcy5kbnNDb25maWd1cmVkPyJDb25maWd1cmVkIjoiTm90IGNvbmZpZ3VyZWQifQogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaXRlbS1sYWJlbCI+QUNNRSAoTGV0J3MgRW5jcnlwdCk8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSAke3RoaXMuYWNtZUNvbmZpZ3VyZWQ/ImNvbmZpZ3VyZWQiOiJub3QtY29uZmlndXJlZCJ9Ij4KICAgICAgICAgICAgICAke3RoaXMuYWNtZUNvbmZpZ3VyZWQ/IkNvbmZpZ3VyZWQiOiJOb3QgY29uZmlndXJlZCJ9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGJHKHRoaXMscCl9c3RhdGlje2JHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBTdWEscUplLHpOYSxWSmU9ZigoKT0+e2xlKCk7U3VhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxxSmU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHpOYT0oKCk9PntsZXQgYT1baWUoInN6LXF1aWNrLWFjdGlvbnMtY2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelF1aWNrQWN0aW9uc0NhcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLFN1YSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbnMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocD0+ImFjdGlvbnMiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5hY3Rpb25zLCJnZXQiKSxzZXQ6cygocCx1KT0+e3AuYWN0aW9ucz11fSwic2V0Iil9LG1ldGFkYXRhOmN9LG4sbCksU3VhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmN9LG51bGwsdCksZD1yPWUudmFsdWUsYyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpjfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogODAwcHg7Ij4KICAgICAgPHN6LXF1aWNrLWFjdGlvbnMtY2FyZAogICAgICAgIC5hY3Rpb25zPSR7W3tsYWJlbDoiRGVwbG95IFNlcnZpY2UiLGljb246InBsdXMiLHByaW1hcnk6ITB9LHtsYWJlbDoiVmlldyBBbGwgU2VydmljZXMifSx7bGFiZWw6IlBsYXRmb3JtIFNlcnZpY2VzIn0se2xhYmVsOiJNYW5hZ2UgRG9tYWlucyJ9XX0KICAgICAgPjwvc3otcXVpY2stYWN0aW9ucy1jYXJkPgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGFzaGJvYXJkIl07I2U9cUplKHRoaXMsbixbXSk7Z2V0IGFjdGlvbnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgYWN0aW9ucyhjKXt0aGlzLiNlPWN9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjM2I4MmY2Iil9OwogICAgICAgIGNvbG9yOiB3aGl0ZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxZDRlZDgiLCIjMjU2M2ViIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zZWNvbmRhcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc2Vjb25kYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24taWNvbiB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InRpdGxlIj5RdWljayBBY3Rpb25zPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+Q29tbW9uIHRhc2tzIGFuZCBzaG9ydGN1dHM8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucyI+CiAgICAgICAgICAke3RoaXMuYWN0aW9ucy5tYXAoYz0+d2AKICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0iYWN0aW9uLWJ1dHRvbiAke2MucHJpbWFyeT8icHJpbWFyeSI6InNlY29uZGFyeSJ9IgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uQ2xpY2soYyl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHtjLmljb249PT0icGx1cyI/d2AKICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iYWN0aW9uLWljb24iIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAke2MubGFiZWx9CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlQWN0aW9uQ2xpY2soYyl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYWN0aW9uLWNsaWNrIix7ZGV0YWlsOmMsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cykscUplKHRoaXMsbCl9c3RhdGlje3FKZShyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgenVhLGpKZSxDTmEsVUplPWYoKCk9PntsZSgpO3p1YT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sakplPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxDTmE9KCgpPT57bGV0IGE9W2llKCJzei1zdGF0dXMtZ3JpZC1jbHVzdGVyIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6U3RhdHVzR3JpZENsdXN0ZXIiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSx6dWEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4ic3RhdHMiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5zdGF0cywiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLnN0YXRzPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSx6dWEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA5MDBweDsiPgogICAgICA8c3otc3RhdHVzLWdyaWQtY2x1c3RlcgogICAgICAgIC5zdGF0cz0ke3t0b3RhbFNlcnZpY2VzOjcscnVubmluZzo3LHN0b3BwZWQ6MCxkb2NrZXJTdGF0dXM6InJ1bm5pbmcifX0KICAgICAgPjwvc3otc3RhdHVzLWdyaWQtY2x1c3Rlcj4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhc2hib2FyZCBHcmlkcyJdOyNlPWpKZSh0aGlzLG4se3RvdGFsU2VydmljZXM6MCxydW5uaW5nOjAsc3RvcHBlZDowLGRvY2tlclN0YXR1czoic3RvcHBlZCJ9KTtnZXQgc3RhdHMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgc3RhdHMoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KICAgIGBdO2dldCB0aWxlcygpe3JldHVyblt7aWQ6InRvdGFsIix0aXRsZToiVG90YWwgU2VydmljZXMiLHZhbHVlOnRoaXMuc3RhdHMudG90YWxTZXJ2aWNlcyx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpzZXJ2ZXIifSx7aWQ6InJ1bm5pbmciLHRpdGxlOiJSdW5uaW5nIix2YWx1ZTp0aGlzLnN0YXRzLnJ1bm5pbmcsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6Y2hlY2siLGNvbG9yOiIjMjJjNTVlIn0se2lkOiJzdG9wcGVkIix0aXRsZToiU3RvcHBlZCIsdmFsdWU6dGhpcy5zdGF0cy5zdG9wcGVkLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOmNpcmNsZVN0b3AiLGNvbG9yOnRoaXMuc3RhdHMuc3RvcHBlZD4wPyIjZjU5ZTBiIjp2b2lkIDB9LHtpZDoiZG9ja2VyIix0aXRsZToiRG9ja2VyIix2YWx1ZTp0aGlzLnN0YXRzLmRvY2tlclN0YXR1cz09PSJydW5uaW5nIj8iUnVubmluZyI6IlN0b3BwZWQiLHR5cGU6InRleHQiLGljb246Imx1Y2lkZTpjb250YWluZXIiLGNvbG9yOnRoaXMuc3RhdHMuZG9ja2VyU3RhdHVzPT09InJ1bm5pbmciPyIjMjJjNTVlIjoiI2VmNDQ0NCJ9XX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgLnRpbGVzPSR7dGhpcy50aWxlc30KICAgICAgICAubWluVGlsZVdpZHRoPSR7MjAwfQogICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGpKZSh0aGlzLGwpfXN0YXRpY3tqSmUocix0KX19O3JldHVybiBkPXJ9KSgpfSk7dmFyIFdKZSx2RyxfTmEsR0plPWYoKCk9PntsZSgpO0VKZSgpO1JKZSgpO1dKZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sdkc9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LF9OYT0oKCk9PntsZXQgYT1baWUoInN6LXN0YXR1cy1ncmlkLXNlcnZpY2VzIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W107dmFyIHU9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6U3RhdHVzR3JpZFNlcnZpY2VzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sZD1bJCh7dHlwZTpBcnJheX0pXSxXSmUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZXNvdXJjZVVzYWdlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJyZXNvdXJjZVVzYWdlImluIHYsImhhcyIpLGdldDpzKHY9PnYucmVzb3VyY2VVc2FnZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnJlc291cmNlVXNhZ2U9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLFdKZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InBsYXRmb3JtU2VydmljZXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InBsYXRmb3JtU2VydmljZXMiaW4gdiwiaGFzIiksZ2V0OnModj0+di5wbGF0Zm9ybVNlcnZpY2VzLCJnZXQiKSxzZXQ6cygodix4KT0+e3YucGxhdGZvcm1TZXJ2aWNlcz14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksV0plKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1zdGF0dXMtZ3JpZC1zZXJ2aWNlcwogICAgICAgIC5yZXNvdXJjZVVzYWdlPSR7e2NwdTo0NSxtZW1vcnlVc2VkOiI0Ljk2IEdCIixtZW1vcnlUb3RhbDoiOCBHQiIsbmV0d29ya0luOiIxLjIgTUIvcyIsbmV0d29ya091dDoiMC44IE1CL3MiLHRvcENvbnN1bWVyczpbe25hbWU6ImFwaS1zZXJ2aWNlIixtZW1vcnk6IjUxMiBNQiJ9LHtuYW1lOiJ3ZWItZnJvbnRlbmQiLG1lbW9yeToiMjU2IE1CIn0se25hbWU6IndvcmtlciIsbWVtb3J5OiIxMjggTUIifV19fQogICAgICAgIC5wbGF0Zm9ybVNlcnZpY2VzPSR7W3tuYW1lOiJNb25nb0RCIixzdGF0dXM6IjEgREIiLHJ1bm5pbmc6ITB9LHtuYW1lOiJTMyBTdG9yYWdlIixzdGF0dXM6IjEgYnVja2V0IixydW5uaW5nOiEwfSx7bmFtZToiQ2xpY2tIb3VzZSIsc3RhdHVzOiJTdG9wcGVkIixydW5uaW5nOiExfSx7bmFtZToiUmVkaXMgQ2FjaGUiLHN0YXR1czoiUnVubmluZyIscnVubmluZzohMH1dfQogICAgICA+PC9zei1zdGF0dXMtZ3JpZC1zZXJ2aWNlcz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkRhc2hib2FyZCBHcmlkcyJdOyNlPXZHKHRoaXMsbix7Y3B1OjAsbWVtb3J5VXNlZDoiMCBHQiIsbWVtb3J5VG90YWw6IjAgR0IiLG5ldHdvcmtJbjoiMCBNQi9zIixuZXR3b3JrT3V0OiIwIE1CL3MiLHRvcENvbnN1bWVyczpbXX0pO2dldCByZXNvdXJjZVVzYWdlKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJlc291cmNlVXNhZ2UobSl7dGhpcy4jZT1tfSN0PSh2Ryh0aGlzLGwpLHZHKHRoaXMsYyxbXSkpO2dldCBwbGF0Zm9ybVNlcnZpY2VzKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHBsYXRmb3JtU2VydmljZXMobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLmdyaWQgPiAqIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJncmlkIj4KICAgICAgICA8c3otcmVzb3VyY2UtdXNhZ2UtY2FyZAogICAgICAgICAgLnVzYWdlPSR7dGhpcy5yZXNvdXJjZVVzYWdlfQogICAgICAgID48L3N6LXJlc291cmNlLXVzYWdlLWNhcmQ+CiAgICAgICAgPHN6LXBsYXRmb3JtLXNlcnZpY2VzLWNhcmQKICAgICAgICAgIC5zZXJ2aWNlcz0ke3RoaXMucGxhdGZvcm1TZXJ2aWNlc30KICAgICAgICA+PC9zei1wbGF0Zm9ybS1zZXJ2aWNlcy1jYXJkPgogICAgICA8L2Rpdj4KICAgIGB9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHZHKHRoaXMscCl9c3RhdGlje3ZHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBoaWUsVDUsVE5hLFlKZT1mKCgpPT57bGUoKTtJSmUoKTtGSmUoKTtPSmUoKTtoaWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFQ1PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxUTmE9KCgpPT57bGV0IGE9W2llKCJzei1zdGF0dXMtZ3JpZC1uZXR3b3JrIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6U3RhdHVzR3JpZE5ldHdvcmsiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOk9iamVjdH0pXSx1PVskKHt0eXBlOk9iamVjdH0pXSxoaWUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0cmFmZmljIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJ0cmFmZmljImluIGcsImhhcyIpLGdldDpzKGc9PmcudHJhZmZpYywiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnRyYWZmaWM9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLGhpZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InByb3h5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJwcm94eSJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnByb3h5LCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cucHJveHk9eX0sInNldCIpfSxtZXRhZGF0YTpifSxjLHApLGhpZSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNlcnRpZmljYXRlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iY2VydGlmaWNhdGVzImluIGcsImhhcyIpLGdldDpzKGc9PmcuY2VydGlmaWNhdGVzLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuY2VydGlmaWNhdGVzPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSxoaWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxNDAwcHg7Ij4KICAgICAgPHN6LXN0YXR1cy1ncmlkLW5ldHdvcmsKICAgICAgICAudHJhZmZpYz0ke3tyZXF1ZXN0czoxMjU0MjAsZXJyb3JzOjE1MCxlcnJvclBlcmNlbnQ6LjEyLGF2Z1Jlc3BvbnNlOjQ1LHJlcVBlck1pbjo4NDcsc3RhdHVzMnh4Ojk1LjIsc3RhdHVzM3h4OjIuMSxzdGF0dXM0eHg6Mi4zLHN0YXR1czV4eDouNH19CiAgICAgICAgLnByb3h5PSR7e2h0dHBQb3J0OiI4MCIsaHR0cHNQb3J0OiI0NDMiLGh0dHBBY3RpdmU6ITAsaHR0cHNBY3RpdmU6ITAscm91dGVDb3VudDoiMTIifX0KICAgICAgICAuY2VydGlmaWNhdGVzPSR7e3ZhbGlkOjgsZXhwaXJpbmc6MixleHBpcmVkOjB9fQogICAgICA+PC9zei1zdGF0dXMtZ3JpZC1uZXR3b3JrPgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGFzaGJvYXJkIEdyaWRzIl07I2U9VDUodGhpcyxuLHtyZXF1ZXN0czowLGVycm9yczowLGVycm9yUGVyY2VudDowLGF2Z1Jlc3BvbnNlOjAscmVxUGVyTWluOjAsc3RhdHVzMnh4OjAsc3RhdHVzM3h4OjAsc3RhdHVzNHh4OjAsc3RhdHVzNXh4OjB9KTtnZXQgdHJhZmZpYygpe3JldHVybiB0aGlzLiNlfXNldCB0cmFmZmljKGIpe3RoaXMuI2U9Yn0jdD0oVDUodGhpcyxsKSxUNSh0aGlzLGMse2h0dHBQb3J0OiI4MCIsaHR0cHNQb3J0OiI0NDMiLGh0dHBBY3RpdmU6ITEsaHR0cHNBY3RpdmU6ITEscm91dGVDb3VudDoiMCJ9KSk7Z2V0IHByb3h5KCl7cmV0dXJuIHRoaXMuI3R9c2V0IHByb3h5KGIpe3RoaXMuI3Q9Yn0jYT0oVDUodGhpcyxwKSxUNSh0aGlzLG0se3ZhbGlkOjAsZXhwaXJpbmc6MCxleHBpcmVkOjB9KSk7Z2V0IGNlcnRpZmljYXRlcygpe3JldHVybiB0aGlzLiNhfXNldCBjZXJ0aWZpY2F0ZXMoYil7dGhpcy4jYT1ifXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLmdyaWQgPiAqIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHsKICAgICAgICAuZ3JpZCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnIgMWZyOwogICAgICAgIH0KICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImdyaWQiPgogICAgICAgIDxzei10cmFmZmljLWNhcmQKICAgICAgICAgIC5kYXRhPSR7dGhpcy50cmFmZmljfQogICAgICAgID48L3N6LXRyYWZmaWMtY2FyZD4KICAgICAgICA8c3otcmV2ZXJzZS1wcm94eS1jYXJkCiAgICAgICAgICBodHRwUG9ydD0iJHt0aGlzLnByb3h5Lmh0dHBQb3J0fSIKICAgICAgICAgIGh0dHBzUG9ydD0iJHt0aGlzLnByb3h5Lmh0dHBzUG9ydH0iCiAgICAgICAgICA/aHR0cEFjdGl2ZT0ke3RoaXMucHJveHkuaHR0cEFjdGl2ZX0KICAgICAgICAgID9odHRwc0FjdGl2ZT0ke3RoaXMucHJveHkuaHR0cHNBY3RpdmV9CiAgICAgICAgICByb3V0ZUNvdW50PSIke3RoaXMucHJveHkucm91dGVDb3VudH0iCiAgICAgICAgPjwvc3otcmV2ZXJzZS1wcm94eS1jYXJkPgogICAgICAgIDxzei1jZXJ0aWZpY2F0ZXMtY2FyZAogICAgICAgICAgdmFsaWQ9IiR7dGhpcy5jZXJ0aWZpY2F0ZXMudmFsaWR9IgogICAgICAgICAgZXhwaXJpbmc9IiR7dGhpcy5jZXJ0aWZpY2F0ZXMuZXhwaXJpbmd9IgogICAgICAgICAgZXhwaXJlZD0iJHt0aGlzLmNlcnRpZmljYXRlcy5leHBpcmVkfSIKICAgICAgICA+PC9zei1jZXJ0aWZpY2F0ZXMtY2FyZD4KICAgICAgPC9kaXY+CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxUNSh0aGlzLHYpfXN0YXRpY3tUNShyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgbWllLEw1LExOYSxLSmU9ZigoKT0+e2xlKCk7SEplKCk7VkplKCk7bWllPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxMNT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sTE5hPSgoKT0+e2xldCBhPVtpZSgic3otc3RhdHVzLWdyaWQtaW5mcmEiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pTdGF0dXNHcmlkSW5mcmEiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkJvb2xlYW59KV0sZD1bJCh7dHlwZTpCb29sZWFufSldLHU9WyQoe3R5cGU6QXJyYXl9KV0sbWllKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZG5zQ29uZmlndXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iZG5zQ29uZmlndXJlZCJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmRuc0NvbmZpZ3VyZWQsImdldCIpLHNldDpzKChnLHkpPT57Zy5kbnNDb25maWd1cmVkPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbixsKSxtaWUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY21lQ29uZmlndXJlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iYWNtZUNvbmZpZ3VyZWQiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5hY21lQ29uZmlndXJlZCwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmFjbWVDb25maWd1cmVkPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSxtaWUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJhY3Rpb25zImluIGcsImhhcyIpLGdldDpzKGc9PmcuYWN0aW9ucywiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmFjdGlvbnM9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLG1pZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEyMDBweDsiPgogICAgICA8c3otc3RhdHVzLWdyaWQtaW5mcmEKICAgICAgICBkbnNDb25maWd1cmVkCiAgICAgICAgYWNtZUNvbmZpZ3VyZWQKICAgICAgICAuYWN0aW9ucz0ke1t7bGFiZWw6IkRlcGxveSBTZXJ2aWNlIixpY29uOiJwbHVzIixwcmltYXJ5OiEwfSx7bGFiZWw6IlZpZXcgQWxsIFNlcnZpY2VzIn0se2xhYmVsOiJQbGF0Zm9ybSBTZXJ2aWNlcyJ9LHtsYWJlbDoiTWFuYWdlIERvbWFpbnMifV19CiAgICAgID48L3N6LXN0YXR1cy1ncmlkLWluZnJhPgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiRGFzaGJvYXJkIEdyaWRzIl07I2U9TDUodGhpcyxuLCExKTtnZXQgZG5zQ29uZmlndXJlZCgpe3JldHVybiB0aGlzLiNlfXNldCBkbnNDb25maWd1cmVkKGIpe3RoaXMuI2U9Yn0jdD0oTDUodGhpcyxsKSxMNSh0aGlzLGMsITEpKTtnZXQgYWNtZUNvbmZpZ3VyZWQoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYWNtZUNvbmZpZ3VyZWQoYil7dGhpcy4jdD1ifSNhPShMNSh0aGlzLHApLEw1KHRoaXMsbSxbXSkpO2dldCBhY3Rpb25zKCl7cmV0dXJuIHRoaXMuI2F9c2V0IGFjdGlvbnMoYil7dGhpcy4jYT1ifXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDsKICAgICAgfQoKICAgICAgLmdyaWQgPiAqIHsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDJmcjsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJncmlkIj4KICAgICAgICA8c3otZG5zLXNzbC1jYXJkCiAgICAgICAgICA/ZG5zQ29uZmlndXJlZD0ke3RoaXMuZG5zQ29uZmlndXJlZH0KICAgICAgICAgID9hY21lQ29uZmlndXJlZD0ke3RoaXMuYWNtZUNvbmZpZ3VyZWR9CiAgICAgICAgPjwvc3otZG5zLXNzbC1jYXJkPgogICAgICAgIDxzei1xdWljay1hY3Rpb25zLWNhcmQKICAgICAgICAgIC5hY3Rpb25zPSR7dGhpcy5hY3Rpb25zfQogICAgICAgICAgQGFjdGlvbi1jbGljaz0ke2I9PnRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFjdGlvbi1jbGljayIse2RldGFpbDpiLmRldGFpbCxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfQogICAgICAgID48L3N6LXF1aWNrLWFjdGlvbnMtY2FyZD4KICAgICAgPC9kaXY+CiAgICBgfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxMNSh0aGlzLHYpfXN0YXRpY3tMNShyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgQ3VhLFpKZSwkTmEsX3VhPWYoKCk9PntsZSgpO1VKZSgpO0dKZSgpO1lKZSgpO0tKZSgpO0N1YT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sWkplPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSwkTmE9KCgpPT57bGV0IGE9W2llKCJzei1kYXNoYm9hcmQtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekRhc2hib2FyZFZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxDdWEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJkYXRhIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJkYXRhImluIHAsImhhcyIpLGdldDpzKHA9PnAuZGF0YSwiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLmRhdGE9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLEN1YShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDE0MDBweDsiPgogICAgICA8c3otZGFzaGJvYXJkLXZpZXcKICAgICAgICAuZGF0YT0ke3tjbHVzdGVyOnt0b3RhbFNlcnZpY2VzOjcscnVubmluZzo3LHN0b3BwZWQ6MCxkb2NrZXJTdGF0dXM6InJ1bm5pbmcifSxyZXNvdXJjZVVzYWdlOntjcHU6LjUsbWVtb3J5VXNlZDoiMTkxIE1CIixtZW1vcnlUb3RhbDoiNDI5LjIgR0IiLG5ldHdvcmtJbjoiMzguOSBLQi9zIixuZXR3b3JrT3V0OiIxLjcgS0IvcyIsdG9wQ29uc3VtZXJzOlt7bmFtZToidGVzdC1uZ2lueCIsbWVtb3J5OiIzMi4xIE1CIn0se25hbWU6InRlc3QtdjIiLG1lbW9yeToiMzEuNyBNQiJ9XX0scGxhdGZvcm1TZXJ2aWNlczpbe25hbWU6Ik1vbmdvREIiLHN0YXR1czoiMSBEQiIscnVubmluZzohMH0se25hbWU6IlMzIFN0b3JhZ2UgKE1pbklPKSIsc3RhdHVzOiIxIGJ1Y2tldCIscnVubmluZzohMH0se25hbWU6IkNhZGR5IFJldmVyc2UgUHJveHkiLHN0YXR1czoiUnVubmluZyIscnVubmluZzohMH0se25hbWU6IkNsaWNrSG91c2UiLHN0YXR1czoiMSBEQiIscnVubmluZzohMH1dLHRyYWZmaWM6e3JlcXVlc3RzOjEyNTAsZXJyb3JzOjE1LGVycm9yUGVyY2VudDoxLjIsYXZnUmVzcG9uc2U6MTQ1LHJlcVBlck1pbjoyMSxzdGF0dXMyeHg6ODUsc3RhdHVzM3h4OjUsc3RhdHVzNHh4Ojgsc3RhdHVzNXh4OjJ9LHByb3h5OntodHRwUG9ydDoiODAiLGh0dHBzUG9ydDoiNDQzIixodHRwQWN0aXZlOiEwLGh0dHBzQWN0aXZlOiEwLHJvdXRlQ291bnQ6IjEyIn0sY2VydGlmaWNhdGVzOnt2YWxpZDo4LGV4cGlyaW5nOjIsZXhwaXJlZDowfSxkbnNDb25maWd1cmVkOiEwLGFjbWVDb25maWd1cmVkOiEwLHF1aWNrQWN0aW9uczpbe2xhYmVsOiJEZXBsb3kgU2VydmljZSIsaWNvbjoicGx1cyIscHJpbWFyeTohMH0se2xhYmVsOiJWaWV3IEFsbCBTZXJ2aWNlcyJ9LHtsYWJlbDoiUGxhdGZvcm0gU2VydmljZXMifSx7bGFiZWw6Ik1hbmFnZSBEb21haW5zIn1dfX0KICAgICAgPjwvc3otZGFzaGJvYXJkLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJEYXNoYm9hcmQiXTsjZT1aSmUodGhpcyxuLHtjbHVzdGVyOnt0b3RhbFNlcnZpY2VzOjAscnVubmluZzowLHN0b3BwZWQ6MCxkb2NrZXJTdGF0dXM6InN0b3BwZWQifSxyZXNvdXJjZVVzYWdlOntjcHU6MCxtZW1vcnlVc2VkOiIwIE1CIixtZW1vcnlUb3RhbDoiMCBHQiIsbmV0d29ya0luOiIwIEtCL3MiLG5ldHdvcmtPdXQ6IjAgS0IvcyIsdG9wQ29uc3VtZXJzOltdfSxwbGF0Zm9ybVNlcnZpY2VzOltdLHRyYWZmaWM6e3JlcXVlc3RzOjAsZXJyb3JzOjAsZXJyb3JQZXJjZW50OjAsYXZnUmVzcG9uc2U6MCxyZXFQZXJNaW46MCxzdGF0dXMyeHg6MCxzdGF0dXMzeHg6MCxzdGF0dXM0eHg6MCxzdGF0dXM1eHg6MH0scHJveHk6e2h0dHBQb3J0OiI4MCIsaHR0cHNQb3J0OiI0NDMiLGh0dHBBY3RpdmU6ITEsaHR0cHNBY3RpdmU6ITEscm91dGVDb3VudDoiMCJ9LGNlcnRpZmljYXRlczp7dmFsaWQ6MCxleHBpcmluZzowLGV4cGlyZWQ6MH0sZG5zQ29uZmlndXJlZDohMSxhY21lQ29uZmlndXJlZDohMSxxdWlja0FjdGlvbnM6W119KTtnZXQgZGF0YSgpe3JldHVybiB0aGlzLiNlfXNldCBkYXRhKGMpe3RoaXMuI2U9Y31zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuZGFzaGJvYXJkIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICB9CgogICAgICAuc2VjdGlvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZGFzaGJvYXJkIj4KICAgICAgICA8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgICA8aDIgY2xhc3M9InNlY3Rpb24tdGl0bGUiPkNsdXN0ZXIgT3ZlcnZpZXc8L2gyPgogICAgICAgICAgPHN6LXN0YXR1cy1ncmlkLWNsdXN0ZXIKICAgICAgICAgICAgLnN0YXRzPSR7dGhpcy5kYXRhLmNsdXN0ZXJ9CiAgICAgICAgICA+PC9zei1zdGF0dXMtZ3JpZC1jbHVzdGVyPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5TZXJ2aWNlcyAmIFJlc291cmNlczwvaDI+CiAgICAgICAgICA8c3otc3RhdHVzLWdyaWQtc2VydmljZXMKICAgICAgICAgICAgLnJlc291cmNlVXNhZ2U9JHt0aGlzLmRhdGEucmVzb3VyY2VVc2FnZX0KICAgICAgICAgICAgLnBsYXRmb3JtU2VydmljZXM9JHt0aGlzLmRhdGEucGxhdGZvcm1TZXJ2aWNlc30KICAgICAgICAgID48L3N6LXN0YXR1cy1ncmlkLXNlcnZpY2VzPgogICAgICAgIDwvc2VjdGlvbj4KCiAgICAgICAgPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgPGgyIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5OZXR3b3JrICYgVHJhZmZpYzwvaDI+CiAgICAgICAgICA8c3otc3RhdHVzLWdyaWQtbmV0d29yawogICAgICAgICAgICAudHJhZmZpYz0ke3RoaXMuZGF0YS50cmFmZmljfQogICAgICAgICAgICAucHJveHk9JHt0aGlzLmRhdGEucHJveHl9CiAgICAgICAgICAgIC5jZXJ0aWZpY2F0ZXM9JHt0aGlzLmRhdGEuY2VydGlmaWNhdGVzfQogICAgICAgICAgPjwvc3otc3RhdHVzLWdyaWQtbmV0d29yaz4KICAgICAgICA8L3NlY3Rpb24+CgogICAgICAgIDxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgIDxoMiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+SW5mcmFzdHJ1Y3R1cmU8L2gyPgogICAgICAgICAgPHN6LXN0YXR1cy1ncmlkLWluZnJhCiAgICAgICAgICAgID9kbnNDb25maWd1cmVkPSR7dGhpcy5kYXRhLmRuc0NvbmZpZ3VyZWR9CiAgICAgICAgICAgID9hY21lQ29uZmlndXJlZD0ke3RoaXMuZGF0YS5hY21lQ29uZmlndXJlZH0KICAgICAgICAgICAgLmFjdGlvbnM9JHt0aGlzLmRhdGEucXVpY2tBY3Rpb25zfQogICAgICAgICAgICBAYWN0aW9uLWNsaWNrPSR7Yz0+dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYWN0aW9uLWNsaWNrIix7ZGV0YWlsOmMuZGV0YWlsLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9CiAgICAgICAgICA+PC9zei1zdGF0dXMtZ3JpZC1pbmZyYT4KICAgICAgICA8L3NlY3Rpb24+CiAgICAgIDwvZGl2PgogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksWkplKHRoaXMsbCl9c3RhdGlje1pKZShyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgVzQsdW8sRE5hLFR1YT1mKCgpPT57bGUoKTtXND1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sdW89ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEROYT0oKCk9PntsZXQgYT1baWUoInN6LW5ldHdvcmstcHJveHktdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdO3ZhciBCPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTek5ldHdvcmtQcm94eVZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgTT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOkFycmF5fSldLE49WyQoe3R5cGU6QXJyYXl9KV0sTz1bJCh7dHlwZTpCb29sZWFufSldLFc0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicHJveHlTdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InByb3h5U3RhdHVzImluIFMsImhhcyIpLGdldDpzKFM9PlMucHJveHlTdGF0dXMsImdldCIpLHNldDpzKChTLFApPT57Uy5wcm94eVN0YXR1cz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LG4sbCksVzQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3V0ZUNvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJyb3V0ZUNvdW50ImluIFMsImhhcyIpLGdldDpzKFM9PlMucm91dGVDb3VudCwiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnJvdXRlQ291bnQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxjLHApLFc0KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY2VydGlmaWNhdGVDb3VudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4iY2VydGlmaWNhdGVDb3VudCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLmNlcnRpZmljYXRlQ291bnQsImdldCIpLHNldDpzKChTLFApPT57Uy5jZXJ0aWZpY2F0ZUNvdW50PVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sbSx2KSxXNCh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InRhcmdldENvdW50IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKFM9PiJ0YXJnZXRDb3VudCJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnRhcmdldENvdW50LCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MudGFyZ2V0Q291bnQ9UH0sInNldCIpfSxtZXRhZGF0YTpNfSxiLGcpLFc0KHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGFyZ2V0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhTPT4idGFyZ2V0cyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnRhcmdldHMsImdldCIpLHNldDpzKChTLFApPT57Uy50YXJnZXRzPVB9LCJzZXQiKX0sbWV0YWRhdGE6TX0sayxDKSxXNCh0aGlzLG51bGwsTix7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvZ3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+ImxvZ3MiaW4gUywiaGFzIiksZ2V0OnMoUz0+Uy5sb2dzLCJnZXQiKSxzZXQ6cygoUyxQKT0+e1MubG9ncz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LF8seiksVzQodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdHJlYW1pbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoUz0+InN0cmVhbWluZyJpbiBTLCJoYXMiKSxnZXQ6cyhTPT5TLnN0cmVhbWluZywiZ2V0Iiksc2V0OnMoKFMsUCk9PntTLnN0cmVhbWluZz1QfSwic2V0Iil9LG1ldGFkYXRhOk19LFQsRSksVzQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6TX0sbnVsbCx0KSxCPXI9ZS52YWx1ZSxNJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOk19KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxNDAwcHg7Ij4KICAgICAgPHN6LW5ldHdvcmstcHJveHktdmlldwogICAgICAgIHByb3h5U3RhdHVzPSJydW5uaW5nIgogICAgICAgIHJvdXRlQ291bnQ9IjMiCiAgICAgICAgY2VydGlmaWNhdGVDb3VudD0iMiIKICAgICAgICB0YXJnZXRDb3VudD0iMTEiCiAgICAgICAgLnRhcmdldHM9JHtbe3R5cGU6InNlcnZpY2UiLG5hbWU6InRlc3QtbmdpbngiLGRvbWFpbjoiYXBwLmJsZXUuZGUiLHRhcmdldDoibG9jYWxob3N0OjgwODAiLHN0YXR1czoicnVubmluZyJ9LHt0eXBlOiJzZXJ2aWNlIixuYW1lOiJoZWxsby13b3JsZCIsZG9tYWluOiJoZWxsby50YXNrLnZjIix0YXJnZXQ6ImxvY2FsaG9zdDo4MDgxIixzdGF0dXM6InJ1bm5pbmcifSx7dHlwZToicmVnaXN0cnkiLG5hbWU6Im9uZWJveC1yZWdpc3RyeSIsZG9tYWluOm51bGwsdGFyZ2V0OiJsb2NhbGhvc3Q6NDAwMCIsc3RhdHVzOiJydW5uaW5nIn0se3R5cGU6InBsYXRmb3JtIixuYW1lOiJNb25nb0RCIixkb21haW46bnVsbCx0YXJnZXQ6ImxvY2FsaG9zdDoyNzAxNyIsc3RhdHVzOiJydW5uaW5nIn0se3R5cGU6InBsYXRmb3JtIixuYW1lOiJDbGlja0hvdXNlIixkb21haW46bnVsbCx0YXJnZXQ6ImxvY2FsaG9zdDo4MTIzIixzdGF0dXM6InJ1bm5pbmcifV19CiAgICAgICAgLmxvZ3M9JHtbe3RpbWVzdGFtcDoiMjAyNC0wMS0wMiAxMDoxNTozMiIsbWV0aG9kOiJHRVQiLHBhdGg6Ii9hcGkvc2VydmljZXMiLHN0YXR1czoyMDAsZHVyYXRpb246NDUsaXA6IjE5Mi4xNjguMS4xMDAifSx7dGltZXN0YW1wOiIyMDI0LTAxLTAyIDEwOjE1OjMwIixtZXRob2Q6IlBPU1QiLHBhdGg6Ii9hcGkvYXV0aC9sb2dpbiIsc3RhdHVzOjIwMCxkdXJhdGlvbjoxMjAsaXA6IjE5Mi4xNjguMS4xMDEifSx7dGltZXN0YW1wOiIyMDI0LTAxLTAyIDEwOjE1OjI4IixtZXRob2Q6IkdFVCIscGF0aDoiL3N0YXRpYy9idW5kbGUuanMiLHN0YXR1czozMDQsZHVyYXRpb246NSxpcDoiMTkyLjE2OC4xLjEwMCJ9XX0KICAgICAgPjwvc3otbmV0d29yay1wcm94eS12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiTmV0d29yayJdOyNlPXVvKHRoaXMsbiwic3RvcHBlZCIpO2dldCBwcm94eVN0YXR1cygpe3JldHVybiB0aGlzLiNlfXNldCBwcm94eVN0YXR1cyhNKXt0aGlzLiNlPU19I3Q9KHVvKHRoaXMsbCksdW8odGhpcyxjLCIwIikpO2dldCByb3V0ZUNvdW50KCl7cmV0dXJuIHRoaXMuI3R9c2V0IHJvdXRlQ291bnQoTSl7dGhpcy4jdD1NfSNhPSh1byh0aGlzLHApLHVvKHRoaXMsbSwiMCIpKTtnZXQgY2VydGlmaWNhdGVDb3VudCgpe3JldHVybiB0aGlzLiNhfXNldCBjZXJ0aWZpY2F0ZUNvdW50KE0pe3RoaXMuI2E9TX0jcj0odW8odGhpcyx2KSx1byh0aGlzLGIsIjAiKSk7Z2V0IHRhcmdldENvdW50KCl7cmV0dXJuIHRoaXMuI3J9c2V0IHRhcmdldENvdW50KE0pe3RoaXMuI3I9TX0jcz0odW8odGhpcyxnKSx1byh0aGlzLGssW10pKTtnZXQgdGFyZ2V0cygpe3JldHVybiB0aGlzLiNzfXNldCB0YXJnZXRzKE0pe3RoaXMuI3M9TX0jaT0odW8odGhpcyxDKSx1byh0aGlzLF8sW10pKTtnZXQgbG9ncygpe3JldHVybiB0aGlzLiNpfXNldCBsb2dzKE0pe3RoaXMuI2k9TX0jbz0odW8odGhpcyx6KSx1byh0aGlzLFQsITEpKTtnZXQgc3RyZWFtaW5nKCl7cmV0dXJuIHRoaXMuI299c2V0IHN0cmVhbWluZyhNKXt0aGlzLiNvPU19c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAucmVmcmVzaC1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5yZWZyZXNoLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICBkZWVzLXN0YXRzZ3JpZCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRpbmcgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWZvb3RlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDA7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbjpmaXJzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLnByaW1hcnkgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSkiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLnByaW1hcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjA4KSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSAvIDAuMDgpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDUwJSkiLCJoc2woMjEzLjEgOTMuOSUgNzUlKSIpfTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLmRhbmdlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLmRhbmdlcjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjEpIil9OwogICAgICB9CgogICAgICAudGFibGUtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogODBweCAxLjVmciAxLjVmciAxLjVmciA4MHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA4MHB4IDEuNWZyIDEuNWZyIDEuNWZyIDgwcHg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAudHlwZS1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICB9CgogICAgICAudHlwZS1iYWRnZS5zZXJ2aWNlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC50eXBlLWJhZGdlLnJlZ2lzdHJ5IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2YzZThmZiIsInJnYmEoMTY4LCA4NSwgMjQ3LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzkzMzNlYSIsIiNhODU1ZjciKX07CiAgICAgIH0KCiAgICAgIC50eXBlLWJhZGdlLnBsYXRmb3JtIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjNjNyIsInJnYmEoMjQ1LCAxNTgsIDExLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2Q5NzcwNiIsIiNmNTllMGIiKX07CiAgICAgIH0KCiAgICAgIC50YXJnZXQtdmFsdWUgewogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5ydW5uaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5zdG9wcGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmxvZ3MtY29udGFpbmVyIHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICB9CgogICAgICAubG9nLWVudHJ5IHsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAubG9nLXRpbWVzdGFtcCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLmxvZy1tZXRob2QgewogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLmxvZy1zdGF0dXMtMnh4IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAubG9nLXN0YXR1cy0zeHggewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5sb2ctc3RhdHVzLTR4eCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLmxvZy1zdGF0dXMtNXh4IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuZW1wdHktbG9ncyB7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07Z2V0IHRpbGVzKCl7cmV0dXJuW3tpZDoicHJveHktc3RhdHVzIix0aXRsZToiUHJveHkgU3RhdHVzIix2YWx1ZTp0aGlzLnByb3h5U3RhdHVzPT09InJ1bm5pbmciPyJSdW5uaW5nIjoiU3RvcHBlZCIsdHlwZToidGV4dCIsaWNvbjoibHVjaWRlOnNlcnZlciIsY29sb3I6dGhpcy5wcm94eVN0YXR1cz09PSJydW5uaW5nIj8iIzIyYzU1ZSI6IiNlZjQ0NDQifSx7aWQ6InJvdXRlcyIsdGl0bGU6IlJvdXRlcyIsdmFsdWU6dGhpcy5yb3V0ZUNvdW50LHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOnNlcnZlciJ9LHtpZDoiY2VydGlmaWNhdGVzIix0aXRsZToiQ2VydGlmaWNhdGVzIix2YWx1ZTp0aGlzLmNlcnRpZmljYXRlQ291bnQsdHlwZToibnVtYmVyIixpY29uOiJsdWNpZGU6Y2hlY2sifSx7aWQ6InRhcmdldHMiLHRpdGxlOiJUYXJnZXRzIix2YWx1ZTp0aGlzLnRhcmdldENvdW50LHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOnNlcnZlciJ9XX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iYWN0aW9ucyI+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0icmVmcmVzaC1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVJlZnJlc2goKX0+UmVmcmVzaDwvYnV0dG9uPgogICAgICA8L2Rpdj4KCiAgICAgIDxkZWVzLXN0YXRzZ3JpZAogICAgICAgIC50aWxlcz0ke3RoaXMudGlsZXN9CiAgICAgICAgLm1pblRpbGVXaWR0aD0kezIwMH0KICAgICAgPjwvZGVlcy1zdGF0c2dyaWQ+CgogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tdGl0bGUiPlRyYWZmaWMgVGFyZ2V0czwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPlNlcnZpY2VzLCByZWdpc3RyeSwgYW5kIHBsYXRmb3JtIHNlcnZpY2VzIHdpdGggdGhlaXIgcm91dGluZyBpbmZvPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuPlR5cGU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5OYW1lPC9zcGFuPgogICAgICAgICAgPHNwYW4+RG9tYWluPC9zcGFuPgogICAgICAgICAgPHNwYW4+VGFyZ2V0PC9zcGFuPgogICAgICAgICAgPHNwYW4+U3RhdHVzPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy50YXJnZXRzLm1hcChNPT53YAogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcm93IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVUYXJnZXRDbGljayhNKX0+CiAgICAgICAgICAgIDxzcGFuPjxzcGFuIGNsYXNzPSJ0eXBlLWJhZGdlICR7TS50eXBlfSI+JHtNLnR5cGV9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+JHtNLm5hbWV9PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj4ke00uZG9tYWlufHwiLSJ9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idGFyZ2V0LXZhbHVlIj4ke00udGFyZ2V0fTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+PHNwYW4gY2xhc3M9InN0YXR1cy1iYWRnZSAke00uc3RhdHVzfSI+JHtNLnN0YXR1c308L3NwYW4+PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCl9CiAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BY2Nlc3MgTG9nczwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPlJlYWwtdGltZSBDYWRkeSBhY2Nlc3MgbG9nczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImxvZ3MtY29udGFpbmVyIj4KICAgICAgICAgICR7dGhpcy5sb2dzLmxlbmd0aD4wP3RoaXMubG9ncy5tYXAoTT0+d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0ibG9nLWVudHJ5Ij4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ibG9nLXRpbWVzdGFtcCI+JHtNLnRpbWVzdGFtcH08L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImxvZy1tZXRob2QiPiR7TS5tZXRob2R9PC9zcGFuPgogICAgICAgICAgICAgICR7TS5wYXRofQogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSIke3RoaXMuZ2V0U3RhdHVzQ2xhc3MoTS5zdGF0dXMpfSI+JHtNLnN0YXR1c308L3NwYW4+CiAgICAgICAgICAgICAgJHtNLmR1cmF0aW9ufW1zCiAgICAgICAgICAgICAgJHtNLmlwfQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApOndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LWxvZ3MiPkNsaWNrICJTdHJlYW0iIHRvIHN0YXJ0IGxpdmUgYWNjZXNzIGxvZyBzdHJlYW1pbmc8L2Rpdj4KICAgICAgICAgIGB9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJzZWN0aW9uLWZvb3RlciI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiAke3RoaXMuc3RyZWFtaW5nPyJkYW5nZXIiOiJwcmltYXJ5In0iIEBjbGljaz0keygpPT50aGlzLnRvZ2dsZVN0cmVhbWluZygpfT4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj4KICAgICAgICAgICAgICAke3RoaXMuc3RyZWFtaW5nP3dgPHJlY3QgeD0iNiIgeT0iNiIgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiByeD0iMSIvPmA6d2A8cG9seWdvbiBwb2ludHM9IjUsMyAxOSwxMiA1LDIxIi8+YH0KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICR7dGhpcy5zdHJlYW1pbmc/IlN0b3AiOiJTdHJlYW0ifQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ2xlYXJMb2dzKCl9PgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIzLDYgNSw2IDIxLDYiLz48cGF0aCBkPSJNMTksNnYxNGEyLDIsMCwwLDEtMiwySDdhMiwyLDAsMCwxLTItMlY2bTMsMFY0YTIsMiwwLDAsMSwyLTJoNGEyLDIsMCwwLDEsMiwydjIiLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIENsZWFyIGxvZ3MKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9Z2V0U3RhdHVzQ2xhc3MoTSl7cmV0dXJuIE0+PTUwMD8ibG9nLXN0YXR1cy01eHgiOk0+PTQwMD8ibG9nLXN0YXR1cy00eHgiOk0+PTMwMD8ibG9nLXN0YXR1cy0zeHgiOiJsb2ctc3RhdHVzLTJ4eCJ9aGFuZGxlUmVmcmVzaCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJlZnJlc2giLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVRhcmdldENsaWNrKE0pe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInRhcmdldC1jbGljayIse2RldGFpbDpNLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9dG9nZ2xlU3RyZWFtaW5nKCl7dGhpcy5zdHJlYW1pbmc9IXRoaXMuc3RyZWFtaW5nLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInN0cmVhbS10b2dnbGUiLHtkZXRhaWw6e3N0cmVhbWluZzp0aGlzLnN0cmVhbWluZ30sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVDbGVhckxvZ3MoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjbGVhci1sb2dzIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksdW8odGhpcyxFKX1zdGF0aWN7dW8ocix0KX19O3JldHVybiBCPXJ9KSgpfSk7dmFyIEx1YSxYSmUsQU5hLCR1YT1mKCgpPT57bGUoKTtMdWE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LFhKZT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sQU5hPSgoKT0+e2xldCBhPVtpZSgic3otbmV0d29yay1kbnMtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTek5ldHdvcmtEbnNWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxMdWEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWNvcmRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJyZWNvcmRzImluIHAsImhhcyIpLGdldDpzKHA9PnAucmVjb3JkcywiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLnJlY29yZHM9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLEx1YShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEwMDBweDsiPgogICAgICA8c3otbmV0d29yay1kbnMtdmlldwogICAgICAgIC5yZWNvcmRzPSR7W3tkb21haW46InByLnRhc2sudmMiLHR5cGU6IkEiLHZhbHVlOiIxOTUuMjAxLjk4LjIzMiJ9LHtkb21haW46Im91dGxpbmUudGFzay52YyIsdHlwZToiQSIsdmFsdWU6IjE5NS4yMDEuOTguMjMyIn0se2RvbWFpbjoibnMxLnRhc2sudmMiLHR5cGU6IkEiLHZhbHVlOiIyMTIuOTUuOTkuMTMwIn0se2RvbWFpbjoiYmxldS5kZSIsdHlwZToiQSIsdmFsdWU6IjIxMi45NS45OS4xMzAifSx7ZG9tYWluOiJtYWlsLmJsZXUuZGUiLHR5cGU6Ik1YIix2YWx1ZToiMTAgbWFpbC5ibGV1LmRlIn1dfQogICAgICA+PC9zei1uZXR3b3JrLWRucy12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiTmV0d29yayJdOyNlPVhKZSh0aGlzLG4sW10pO2dldCByZWNvcmRzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJlY29yZHMoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN5bmMtYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuc3luYy1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgfQoKICAgICAgLnRhYmxlLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnRhYmxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciA4MHB4IDJmciAxMDBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAudGFibGUtcm93IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMmZyIDgwcHggMmZyIDEwMHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuZG9tYWluIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAudHlwZS1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC52YWx1ZSB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuZGVsZXRlLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5kZWxldGUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgcGFkZGluZzogNDhweCAyNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iZGVzY3JpcHRpb24iPk1hbmFnZSBETlMgcmVjb3JkcyBzeW5jZWQgd2l0aCBDbG91ZGZsYXJlPC9zcGFuPgogICAgICAgIDxidXR0b24gY2xhc3M9InN5bmMtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTeW5jKCl9PgogICAgICAgICAgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxMmE5IDkgMCAwIDEtOSA5bTktOWE5IDkgMCAwIDAtOS05bTkgOUgzbTkgOWE5IDkgMCAwIDEtOS05bTkgOWMxLjY2IDAgMy00LjAzIDMtOXMtMS4zNC05LTMtOW0wIDE4Yy0xLjY2IDAtMy00LjAzLTMtOXMxLjM0LTkgMy05Ii8+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIFN5bmMgQ2xvdWRmbGFyZQogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuPkRvbWFpbjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlR5cGU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5WYWx1ZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkFjdGlvbnM8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLnJlY29yZHMubGVuZ3RoPjA/dGhpcy5yZWNvcmRzLm1hcChjPT53YAogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcm93Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRvbWFpbiI+JHtjLmRvbWFpbn08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPjxzcGFuIGNsYXNzPSJ0eXBlLWJhZGdlIj4ke2MudHlwZX08L3NwYW4+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idmFsdWUiPiR7Yy52YWx1ZX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImRlbGV0ZS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZShjKX0+RGVsZXRlPC9idXR0b24+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGApOndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gRE5TIHJlY29yZHMgZm91bmQ8L2Rpdj4KICAgICAgICBgfQogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlU3luYygpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInN5bmMiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZURlbGV0ZShjKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWxldGUiLHtkZXRhaWw6YyxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxYSmUodGhpcyxsKX1zdGF0aWN7WEplKHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBRSmUseEcsRU5hLER1YT1mKCgpPT57bGUoKTtRSmU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHhHPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxFTmE9KCgpPT57bGV0IGE9W2llKCJzei1uZXR3b3JrLWRvbWFpbnMtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTek5ldHdvcmtEb21haW5zVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bJCh7dHlwZTpPYmplY3R9KV0sUUplKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZG9tYWlucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iZG9tYWlucyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmRvbWFpbnMsImdldCIpLHNldDpzKCh2LHgpPT57di5kb21haW5zPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxRSmUodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4ic3RhdHMiaW4gdiwiaGFzIiksZ2V0OnModj0+di5zdGF0cywiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnN0YXRzPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxRSmUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LW5ldHdvcmstZG9tYWlucy12aWV3CiAgICAgICAgLmRvbWFpbnM9JHtbe2RvbWFpbjoiYmxldS5kZSIscHJvdmlkZXI6ImNsb3VkZmxhcmUiLHNlcnZpY2VDb3VudDoyLGNlcnRpZmljYXRlU3RhdHVzOiJ2YWxpZCIsZXhwaXJlc0luOiI1MiBkYXlzIn0se2RvbWFpbjoidGFzay52YyIscHJvdmlkZXI6ImNsb3VkZmxhcmUiLHNlcnZpY2VDb3VudDoxLGNlcnRpZmljYXRlU3RhdHVzOiJ2YWxpZCIsZXhwaXJlc0luOiI1MiBkYXlzIn0se2RvbWFpbjoiZXhhbXBsZS5jb20iLHByb3ZpZGVyOiJjbG91ZGZsYXJlIixzZXJ2aWNlQ291bnQ6MCxjZXJ0aWZpY2F0ZVN0YXR1czoiZXhwaXJpbmciLGV4cGlyZXNJbjoiNyBkYXlzIn1dfQogICAgICAgIC5zdGF0cz0ke3t0b3RhbDozLHZhbGlkOjIsZXhwaXJpbmc6MSxleHBpcmVkOjB9fQogICAgICA+PC9zei1uZXR3b3JrLWRvbWFpbnMtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT14Ryh0aGlzLG4sW10pO2dldCBkb21haW5zKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGRvbWFpbnMobSl7dGhpcy4jZT1tfSN0PSh4Ryh0aGlzLGwpLHhHKHRoaXMsYyx7dG90YWw6MCx2YWxpZDowLGV4cGlyaW5nOjAsZXhwaXJlZDowfSkpO2dldCBzdGF0cygpe3JldHVybiB0aGlzLiN0fXNldCBzdGF0cyhtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuc3luYy1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zeW5jLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjM2YzZjQ2Iil9OwogICAgICB9CgogICAgICBkZWVzLXN0YXRzZ3JpZCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLnRhYmxlLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnRhYmxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnIgODBweCAxMDBweCAxMDBweCA4MHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyZnIgMWZyIDgwcHggMTAwcHggMTAwcHggODBweDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuZG9tYWluLW5hbWUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5wcm92aWRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS52YWxpZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZXhwaXJpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVmOWMzIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5leHBpcmVkLAogICAgICAuc3RhdHVzLWJhZGdlLnBlbmRpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuZXhwaXJlcyB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnZpZXctYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC52aWV3LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07Z2V0IHRpbGVzKCl7cmV0dXJuW3tpZDoidG90YWwiLHRpdGxlOiJUb3RhbCBEb21haW5zIix2YWx1ZTp0aGlzLnN0YXRzLnRvdGFsLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOmdsb2JlIn0se2lkOiJ2YWxpZCIsdGl0bGU6IlZhbGlkIENlcnRpZmljYXRlcyIsdmFsdWU6dGhpcy5zdGF0cy52YWxpZCx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpzaGllbGRDaGVjayIsY29sb3I6IiMyMmM1NWUifSx7aWQ6ImV4cGlyaW5nIix0aXRsZToiRXhwaXJpbmcgU29vbiIsdmFsdWU6dGhpcy5zdGF0cy5leHBpcmluZyx0eXBlOiJudW1iZXIiLGljb246Imx1Y2lkZTpzaGllbGRBbGVydCIsY29sb3I6dGhpcy5zdGF0cy5leHBpcmluZz4wPyIjZjU5ZTBiIjp2b2lkIDB9LHtpZDoiZXhwaXJlZCIsdGl0bGU6IkV4cGlyZWQvUGVuZGluZyIsdmFsdWU6dGhpcy5zdGF0cy5leHBpcmVkLHR5cGU6Im51bWJlciIsaWNvbjoibHVjaWRlOmNpcmNsZU9mZiIsY29sb3I6dGhpcy5zdGF0cy5leHBpcmVkPjA/IiNlZjQ0NDQiOnZvaWQgMH1dfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxzcGFuIGNsYXNzPSJkZXNjcmlwdGlvbiI+TWFuYWdlIGRvbWFpbnMgYW5kIFNTTCBjZXJ0aWZpY2F0ZXM8L3NwYW4+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0ic3luYy1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVN5bmMoKX0+U3luYyBDbG91ZGZsYXJlPC9idXR0b24+CiAgICAgIDwvZGl2PgoKICAgICAgPGRlZXMtc3RhdHNncmlkCiAgICAgICAgLnRpbGVzPSR7dGhpcy50aWxlc30KICAgICAgICAubWluVGlsZVdpZHRoPSR7MjAwfQogICAgICA+PC9kZWVzLXN0YXRzZ3JpZD4KCiAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIj4KICAgICAgICAgIDxzcGFuPkRvbWFpbjwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlByb3ZpZGVyPC9zcGFuPgogICAgICAgICAgPHNwYW4+U2VydmljZXM8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5DZXJ0aWZpY2F0ZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkV4cGlyZXM8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5BY3Rpb25zPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5kb21haW5zLmxlbmd0aD4wP3RoaXMuZG9tYWlucy5tYXAobT0+d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJvdyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkb21haW4tbmFtZSI+JHttLmRvbWFpbn08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcm92aWRlciI+JHttLnByb3ZpZGVyfTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+JHttLnNlcnZpY2VDb3VudH08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuPjxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHttLmNlcnRpZmljYXRlU3RhdHVzfSI+JHttLmNlcnRpZmljYXRlU3RhdHVzfTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJleHBpcmVzIj4ke20uZXhwaXJlc0lufHwiLSJ9PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ2aWV3LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlVmlldyhtKX0+VmlldzwvYnV0dG9uPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgKTp3YAogICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIGRvbWFpbnMgY29uZmlndXJlZDwvZGl2PgogICAgICAgIGB9CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVTeW5jKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgic3luYyIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlVmlldyhtKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJ2aWV3Iix7ZGV0YWlsOm0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cykseEcodGhpcyxwKX1zdGF0aWN7eEcocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIEpKZSx5RyxQTmEsQXVhPWYoKCk9PntsZSgpO0pKZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0seUc9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFBOYT0oKCk9PntsZXQgYT1baWUoInN6LXJlZ2lzdHJ5LWFkdmVydGlzZW1lbnQiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pSZWdpc3RyeUFkdmVydGlzZW1lbnQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSxKSmUodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdGF0dXMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InN0YXR1cyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LnN0YXR1cywiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnN0YXR1cz14fSwic2V0Iil9LG1ldGFkYXRhOm19LG4sbCksSkplKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVnaXN0cnlVcmwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModj0+InJlZ2lzdHJ5VXJsImluIHYsImhhcyIpLGdldDpzKHY9PnYucmVnaXN0cnlVcmwsImdldCIpLHNldDpzKCh2LHgpPT57di5yZWdpc3RyeVVybD14fSwic2V0Iil9LG1ldGFkYXRhOm19LGMscCksSkplKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm19LG51bGwsdCksdT1yPWUudmFsdWUsbSYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTptfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogODAwcHg7Ij4KICAgICAgPHN6LXJlZ2lzdHJ5LWFkdmVydGlzZW1lbnQKICAgICAgICBzdGF0dXM9InJ1bm5pbmciCiAgICAgICAgcmVnaXN0cnlVcmw9ImxvY2FsaG9zdDozMDAwL3YyIgogICAgICA+PC9zei1yZWdpc3RyeS1hZHZlcnRpc2VtZW50PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiQXV0aCAmIFNldHRpbmdzIl07I2U9eUcodGhpcyxuLCJzdG9wcGVkIik7Z2V0IHN0YXR1cygpe3JldHVybiB0aGlzLiNlfXNldCBzdGF0dXMobSl7dGhpcy4jZT1tfSN0PSh5Ryh0aGlzLGwpLHlHKHRoaXMsYywiIikpO2dldCByZWdpc3RyeVVybCgpe3JldHVybiB0aGlzLiN0fXNldCByZWdpc3RyeVVybChtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmNhcmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgIH0KCiAgICAgIC5jYXJkLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5yZWdpc3RyeS1pY29uIHsKICAgICAgICB3aWR0aDogNDBweDsKICAgICAgICBoZWlnaHQ6IDQwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXItaW5mbyB7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLmhlYWRlci10aXRsZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5kZWZhdWx0LWJhZGdlIHsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLmNhcmQtY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgfQoKICAgICAgLmluZm8tZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIwMHB4LCAxZnIpKTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmluZm8taXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuaW5mby1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgIH0KCiAgICAgIC5pbmZvLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5ydW5uaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5zdG9wcGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLm1hbmFnZS1saW5rIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5tYW5hZ2UtbGluazpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC5xdWljay1zdGFydCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICAucXVpY2stc3RhcnQtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAucXVpY2stc3RhcnQtZGVzYyB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQoKICAgICAgLmNvZGUtYmxvY2sgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiIzBhMGEwYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBvdmVyZmxvdy14OiBhdXRvOwogICAgICB9CgogICAgICAuY29kZS1saW5lIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNzE3MTdhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgICAgfQoKICAgICAgLmNvZGUtbGluZTpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAuY29kZS1jb21tZW50IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM2YjcyODAiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuY29kZS1jb21tYW5kIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjZTRlNGU3Iil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iY2FyZCI+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0icmVnaXN0cnktaWNvbiI+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNlY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNnoiPjwvcGF0aD4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pbmZvIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXRpdGxlIj4KICAgICAgICAgICAgICBSZWdpc3RyeSBBZHZlcnRpc2VtZW50CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRlZmF1bHQtYmFkZ2UiPkRlZmF1bHQ8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItc3VidGl0bGUiPkNvbnRhaW5lciByZWdpc3RyeSBmb3IgeW91ciBzZXJ2aWNlczwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWdyaWQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5TdGF0dXM8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1iYWRnZSAke3RoaXMuc3RhdHVzfSI+JHt0aGlzLnN0YXR1cz09PSJydW5uaW5nIj8iUnVubmluZyI6IlN0b3BwZWQifTwvc3Bhbj4KICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5SZWdpc3RyeSBVUkw8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPiR7dGhpcy5yZWdpc3RyeVVybH08L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLWl0ZW0iPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5BdXRoZW50aWNhdGlvbjwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0ibWFuYWdlLWxpbmsiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZU1hbmFnZVRva2VucygpfT5NYW5hZ2UgVG9rZW5zPC9hPgogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJxdWljay1zdGFydCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InF1aWNrLXN0YXJ0LXRpdGxlIj5RdWljayBTdGFydDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJxdWljay1zdGFydC1kZXNjIj5UbyBwdXNoIGltYWdlcyB0byB0aGUgcmVnaXN0cnksIHVzZSBhIENJIG9yIEdsb2JhbCB0b2tlbjo8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1ibG9jayI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1saW5lIGNvZGUtY29tbWVudCI+IyBMb2dpbiB0byB0aGUgcmVnaXN0cnk8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWxpbmUgY29kZS1jb21tYW5kIj5kb2NrZXIgbG9naW4gJHt0aGlzLnJlZ2lzdHJ5VXJsLnNwbGl0KCIvIilbMF19IC11IHJlZ2lzdHJ5IC1wIFlPVVJfVE9LRU48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2RlLWxpbmUgY29kZS1jb21tZW50Ij4jIFRhZyBhbmQgcHVzaCB5b3VyIGltYWdlPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29kZS1saW5lIGNvZGUtY29tbWFuZCI+ZG9ja2VyIHRhZyBteWFwcCAke3RoaXMucmVnaXN0cnlVcmwuc3BsaXQoIi8iKVswXX0vbXlzZXJ2aWNlOmxhdGVzdDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvZGUtbGluZSBjb2RlLWNvbW1hbmQiPmRvY2tlciBwdXNoICR7dGhpcy5yZWdpc3RyeVVybC5zcGxpdCgiLyIpWzBdfS9teXNlcnZpY2U6bGF0ZXN0PC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVNYW5hZ2VUb2tlbnMoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJtYW5hZ2UtdG9rZW5zIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cykseUcodGhpcyxwKX1zdGF0aWN7eUcocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIEV1YSxlZXQsSU5hLFB1YT1mKCgpPT57bGUoKTtFdWE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGVldD1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sSU5hPSgoKT0+e2xldCBhPVtpZSgic3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelJlZ2lzdHJ5RXh0ZXJuYWxWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxFdWEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWdpc3RyaWVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJyZWdpc3RyaWVzImluIHAsImhhcyIpLGdldDpzKHA9PnAucmVnaXN0cmllcywiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLnJlZ2lzdHJpZXM9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLEV1YShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDgwMHB4OyI+CiAgICAgIDxzei1yZWdpc3RyeS1leHRlcm5hbC12aWV3CiAgICAgICAgLnJlZ2lzdHJpZXM9JHtbe2lkOiIxIixuYW1lOiJEb2NrZXIgSHViIix1cmw6ImRvY2tlci5pbyIsdXNlcm5hbWU6Im15dXNlciIsdHlwZToiZG9ja2VyaHViIn0se2lkOiIyIixuYW1lOiJHaXRIdWIgQ29udGFpbmVyIFJlZ2lzdHJ5Iix1cmw6ImdoY3IuaW8iLHVzZXJuYW1lOiJteW9yZyIsdHlwZToiZ2hjciJ9XX0KICAgICAgPjwvc3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIkF1dGggJiBTZXR0aW5ncyJdOyNlPWVldCh0aGlzLG4sW10pO2dldCByZWdpc3RyaWVzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJlZ2lzdHJpZXMoYyl7dGhpcy4jZT1jfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItaW5mbyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuaGVhZGVyLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmFkZC1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAwLjk7CiAgICAgIH0KCiAgICAgIC5yZWdpc3RyeS1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAucmVnaXN0cnktaXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICB9CgogICAgICAucmVnaXN0cnktaW5mbyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LWljb24gewogICAgICAgIHdpZHRoOiA0MHB4OwogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAucmVnaXN0cnktZGV0YWlscyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMnB4OwogICAgICB9CgogICAgICAucmVnaXN0cnktbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LXVybCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnJlZ2lzdHJ5LWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kZWxldGUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRlbGV0ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1pY29uIHsKICAgICAgICB3aWR0aDogNDhweDsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMTZweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuZW1wdHktdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgICB9CgogICAgICAuZW1wdHktZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWluZm8iPgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXRpdGxlIj5FeHRlcm5hbCBSZWdpc3RyaWVzPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItc3VidGl0bGUiPkFkZCBjcmVkZW50aWFscyBmb3IgcHJpdmF0ZSBEb2NrZXIgcmVnaXN0cmllczwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxidXR0b24gY2xhc3M9ImFkZC1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUFkZCgpfT5BZGQgUmVnaXN0cnk8L2J1dHRvbj4KICAgICAgPC9kaXY+CgogICAgICAke3RoaXMucmVnaXN0cmllcy5sZW5ndGg+MD93YAogICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LWxpc3QiPgogICAgICAgICAgJHt0aGlzLnJlZ2lzdHJpZXMubWFwKGM9PndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LWl0ZW0iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LWluZm8iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVnaXN0cnktaWNvbiI+CiAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNlY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNnoiPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LWRldGFpbHMiPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJyZWdpc3RyeS1uYW1lIj4ke2MubmFtZX08L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVnaXN0cnktdXJsIj4ke2MudXJsfSAoJHtjLnVzZXJuYW1lfSk8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlZ2lzdHJ5LWFjdGlvbnMiPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRWRpdChjKX0+RWRpdDwvYnV0dG9uPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBkZWxldGUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZShjKX0+RGVsZXRlPC9idXR0b24+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIGA6d2AKICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICA8c3ZnIGNsYXNzPSJlbXB0eS1pY29uIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNlY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNnoiPjwvcGF0aD4KICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMy4yNyA2Ljk2IDEyIDEyLjAxIDIwLjczIDYuOTYiPjwvcG9seWxpbmU+CiAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjIyLjA4IiB4Mj0iMTIiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS10aXRsZSI+Tm8gZXh0ZXJuYWwgcmVnaXN0cmllczwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktZGVzY3JpcHRpb24iPkFkZCBjcmVkZW50aWFscyBmb3IgRG9ja2VyIEh1YiwgR2l0SHViIENvbnRhaW5lciBSZWdpc3RyeSwgb3Igb3RoZXIgcHJpdmF0ZSByZWdpc3RyaWVzLjwvZGl2PgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZW1wdHktYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBZGQoKX0+QWRkIEV4dGVybmFsIFJlZ2lzdHJ5PC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIGB9CiAgICBgfWhhbmRsZUFkZCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFkZCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRWRpdChjKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJlZGl0Iix7ZGV0YWlsOmMsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEZWxldGUoYyl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVsZXRlIix7ZGV0YWlsOmMsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksZWV0KHRoaXMsbCl9c3RhdGlje2VldChyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgSXVhLHRldCxOTmEsTnVhPWYoKCk9PntsZSgpO0l1YT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sdGV0PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxOTmE9KCgpPT57bGV0IGE9W2llKCJzei1zZXJ2aWNlcy1saXN0LXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXTt2YXIgZD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pTZXJ2aWNlc0xpc3RWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxJdWEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZXJ2aWNlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4ic2VydmljZXMiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5zZXJ2aWNlcywiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLnNlcnZpY2VzPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxJdWEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LXNlcnZpY2VzLWxpc3QtdmlldwogICAgICAgIC5zZXJ2aWNlcz0ke1t7bmFtZToidGVzdC1uZ2lueCIsaW1hZ2U6Im5naW54OmFscGluZSIsZG9tYWluOiJhcHAuYmxldS5kZSIsc3RhdHVzOiJydW5uaW5nIn0se25hbWU6ImhlbGxvLXdvcmxkIixpbWFnZToibG9jYWxob3N0OjMwMDAvaGVsbG8td29ybGQ6bGF0ZXN0Iixkb21haW46ImhlbGxvLnRhc2sudmMiLHN0YXR1czoicnVubmluZyJ9LHtuYW1lOiJ0ZXN0LXYyIixpbWFnZToibG9jYWxob3N0OjMwMDAvdGVzdC1yZWdpc3RyeTp2MSIsZG9tYWluOm51bGwsc3RhdHVzOiJydW5uaW5nIn0se25hbWU6ImFwaS1zZXJ2aWNlIixpbWFnZToibm9kZToxOC1hbHBpbmUiLGRvbWFpbjoiYXBpLmV4YW1wbGUuY29tIixzdGF0dXM6InN0b3BwZWQifV19CiAgICAgID48L3N6LXNlcnZpY2VzLWxpc3Qtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlNlcnZpY2VzIl07I2U9dGV0KHRoaXMsbixbXSk7Z2V0IHNlcnZpY2VzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNlcnZpY2VzKGMpe3RoaXMuI2U9Y31zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAudGFibGUtY29udGFpbmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAudGFibGUtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS41ZnIgMmZyIDEuNWZyIDEwMHB4IDIwMHB4OwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3cgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjVmciAyZnIgMS41ZnIgMTAwcHggMjAwcHg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudGFibGUtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtbmFtZSB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtbmFtZTpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC5pbWFnZSB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5kb21haW4tbGluayB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIH0KCiAgICAgIC5kb21haW4tbGluazpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UucnVubmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uuc3RvcHBlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uuc3RhcnRpbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVmOWMzIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zdG9wIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNjYThhMDQiLCIjZmFjYzE1Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNmZWY5YzMiLCJyZ2JhKDI1MCwgMjA0LCAyMSwgMC4zKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uc3RhcnQgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnJlc3RhcnQgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kZWxldGUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgcGFkZGluZzogNDhweCAyNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0idGFibGUtY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1oZWFkZXIiPgogICAgICAgICAgPHNwYW4+TmFtZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkltYWdlPC9zcGFuPgogICAgICAgICAgPHNwYW4+RG9tYWluPC9zcGFuPgogICAgICAgICAgPHNwYW4+U3RhdHVzPC9zcGFuPgogICAgICAgICAgPHNwYW4+QWN0aW9uczwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgICAke3RoaXMuc2VydmljZXMubGVuZ3RoPjA/dGhpcy5zZXJ2aWNlcy5tYXAoYz0+d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLXJvdyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZXJ2aWNlLW5hbWUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVNlcnZpY2VDbGljayhjKX0+JHtjLm5hbWV9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW1hZ2UiIHRpdGxlPSIke2MuaW1hZ2V9Ij4ke2MuaW1hZ2V9PC9zcGFuPgogICAgICAgICAgICA8c3Bhbj4KICAgICAgICAgICAgICAke2MuZG9tYWluP3dgPGEgY2xhc3M9ImRvbWFpbi1saW5rIiBocmVmPSJodHRwczovLyR7Yy5kb21haW59IiB0YXJnZXQ9Il9ibGFuayI+JHtjLmRvbWFpbn08L2E+YDoiLSJ9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+PHNwYW4gY2xhc3M9InN0YXR1cy1iYWRnZSAke2Muc3RhdHVzfSI+JHtjLnN0YXR1c308L3NwYW4+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYWN0aW9ucyI+CiAgICAgICAgICAgICAgJHtjLnN0YXR1cz09PSJydW5uaW5nIj93YDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gc3RvcCIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKGMsInN0b3AiKX0+U3RvcDwvYnV0dG9uPmA6d2A8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIHN0YXJ0IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBY3Rpb24oYywic3RhcnQiKX0+U3RhcnQ8L2J1dHRvbj5gfQogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gcmVzdGFydCIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKGMsInJlc3RhcnQiKX0+UmVzdGFydDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gZGVsZXRlIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBY3Rpb24oYywiZGVsZXRlIil9PkRlbGV0ZTwvYnV0dG9uPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgKTp3YAogICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIHNlcnZpY2VzIGRlcGxveWVkPC9kaXY+CiAgICAgICAgYH0KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZVNlcnZpY2VDbGljayhjKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZXJ2aWNlLWNsaWNrIix7ZGV0YWlsOmMsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVBY3Rpb24oYyxwKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZXJ2aWNlLWFjdGlvbiIse2RldGFpbDp7c2VydmljZTpjLGFjdGlvbjpwfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSx0ZXQodGhpcyxsKX1zdGF0aWN7dGV0KHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBhZXQsd0csUk5hLFJ1YT1mKCgpPT57bGUoKTthZXQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHdHPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxSTmE9KCgpPT57bGV0IGE9W2llKCJzei1zZXJ2aWNlcy1iYWNrdXBzLXZpZXciKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pTZXJ2aWNlc0JhY2t1cHNWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKHt0eXBlOkFycmF5fSldLGFldCh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNjaGVkdWxlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4ic2NoZWR1bGVzImluIHYsImhhcyIpLGdldDpzKHY9PnYuc2NoZWR1bGVzLCJnZXQiKSxzZXQ6cygodix4KT0+e3Yuc2NoZWR1bGVzPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxhZXQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJiYWNrdXBzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJiYWNrdXBzImluIHYsImhhcyIpLGdldDpzKHY9PnYuYmFja3VwcywiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LmJhY2t1cHM9eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLGFldChudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEyMDBweDsiPgogICAgICA8c3otc2VydmljZXMtYmFja3Vwcy12aWV3CiAgICAgICAgLnNjaGVkdWxlcz0ke1t7aWQ6IjEiLHNjb3BlOiJBbGwgU2VydmljZXMiLHJldGVudGlvbjoiRDo3LCBXOjQsIE06MTIiLHNjaGVkdWxlOiIwIDIgKiAqICoiLGxhc3RSdW46IjEvMi8yMDI2LCAyOjAwOjAzIEFNIixuZXh0UnVuOiIxLzMvMjAyNiwgMjowMDowMCBBTSIsc3RhdHVzOiJhY3RpdmUifV19CiAgICAgICAgLmJhY2t1cHM9JHtbe2lkOiIxIixzZXJ2aWNlOiJ0ZXN0LW5naW54IixjcmVhdGVkQXQ6IjEvMi8yMDI2LCAyOjAwOjAzIEFNIixzaXplOiIyMi4wIE1CIixpbmNsdWRlczpbIkltYWdlIl19LHtpZDoiMiIsc2VydmljZToiaGVsbG8td29ybGQiLGNyZWF0ZWRBdDoiMS8yLzIwMjYsIDI6MDA6MDIgQU0iLHNpemU6IjIxLjUgTUIiLGluY2x1ZGVzOlsiSW1hZ2UiXX0se2lkOiIzIixzZXJ2aWNlOiJ0ZXN0LWNoLWZpbmFsIixjcmVhdGVkQXQ6IjEvMi8yMDI2LCAyOjAwOjAwIEFNIixzaXplOiIyMi4wIE1CIixpbmNsdWRlczpbIkltYWdlIiwiY2xpY2tob3VzZSJdfV19CiAgICAgID48L3N6LXNlcnZpY2VzLWJhY2t1cHMtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlNlcnZpY2VzIl07I2U9d0codGhpcyxuLFtdKTtnZXQgc2NoZWR1bGVzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHNjaGVkdWxlcyhtKXt0aGlzLiNlPW19I3Q9KHdHKHRoaXMsbCksd0codGhpcyxjLFtdKSk7Z2V0IGJhY2t1cHMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgYmFja3VwcyhtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgZGVlcy10aWxlIHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkZXIgewogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRpbmcgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWZvb3RlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDA7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogMCAxNnB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlOwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbjpmaXJzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGVlcy1jb2xvci1ob3Zlcik7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1wcmltYXJ5KTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLnByaW1hcnkgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglKSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSkiKX07CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uLnByaW1hcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUgLyAwLjA4KSIsImhzbCgyMTMuMSA5My45JSA2Ny44JSAvIDAuMDgpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDUwJSkiLCJoc2woMjEzLjEgOTMuOSUgNzUlKSIpfTsKICAgICAgfQoKICAgICAgLnRhYmxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuc2NoZWR1bGVzLWhlYWRlciB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxLjVmciAxLjVmciA4MHB4IDEyMHB4OwogICAgICB9CgogICAgICAuYmFja3Vwcy1oZWFkZXIgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS41ZnIgMS41ZnIgMTAwcHggMWZyIDEyMHB4OwogICAgICB9CgogICAgICAudGFibGUtcm93IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICB9CgogICAgICAuc2NoZWR1bGVzLXJvdyB7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmciAxLjVmciAxLjVmciA4MHB4IDEyMHB4OwogICAgICB9CgogICAgICAuYmFja3Vwcy1yb3cgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMS41ZnIgMS41ZnIgMTAwcHggMWZyIDEyMHB4OwogICAgICB9CgogICAgICAudGFibGUtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC50YWJsZS1yb3c6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmZhaWxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAubWV0YS10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmluY2x1ZGVzLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuaW5jbHVkZS1iYWRnZSB7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAucm93LWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5pY29uLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5pY29uLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5pY29uLWJ1dHRvbi5kYW5nZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5CYWNrdXAgU2NoZWR1bGVzPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+Q29uZmlndXJlIGF1dG9tYXRlZCBiYWNrdXAgc2NoZWR1bGVzIGZvciB5b3VyIHNlcnZpY2VzPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtaGVhZGVyIHNjaGVkdWxlcy1oZWFkZXIiPgogICAgICAgICAgPHNwYW4+U2NvcGU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5SZXRlbnRpb248L3NwYW4+CiAgICAgICAgICA8c3Bhbj5TY2hlZHVsZTwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkxhc3QgUnVuPC9zcGFuPgogICAgICAgICAgPHNwYW4+TmV4dCBSdW48L3NwYW4+CiAgICAgICAgICA8c3Bhbj5TdGF0dXM8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5BY3Rpb25zPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5zY2hlZHVsZXMubWFwKG09PndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yb3cgc2NoZWR1bGVzLXJvdyI+CiAgICAgICAgICAgIDxzcGFuPiR7bS5zY29wZX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRhLXRleHQiIHRpdGxlPSJLZWVwOiAke20ucmV0ZW50aW9ufSI+JHttLnJldGVudGlvbn08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRhLXRleHQiPiR7bS5zY2hlZHVsZX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRhLXRleHQiPiR7bS5sYXN0UnVufHwiLSJ9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0YS10ZXh0Ij4ke20ubmV4dFJ1bnx8Ii0ifTwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1iYWRnZSAke20uc3RhdHVzfSIgdGl0bGU9IiR7bS5lcnJvcnx8IiJ9Ij4KICAgICAgICAgICAgICAgICR7bS5zdGF0dXM9PT0iYWN0aXZlIj8iQWN0aXZlIjptLnN0YXR1cz09PSJmYWlsZWQiPyJGYWlsZWQiOiJEaXNhYmxlZCJ9CiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJyb3ctYWN0aW9ucyI+CiAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24iIHRpdGxlPSJSdW4gYmFja3VwIG5vdyIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlUnVuTm93KG0pfT4KICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBvbHlnb24gcG9pbnRzPSI1LDMgMTksMTIgNSwyMSIvPjwvc3ZnPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Imljb24tYnV0dG9uIiB0aXRsZT0iJHttLnN0YXR1cz09PSJkaXNhYmxlZCI/IkVuYWJsZSI6IkRpc2FibGUifSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlVG9nZ2xlKG0pfT4KICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAke20uc3RhdHVzPT09ImRpc2FibGVkIj93YDxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPmA6d2A8cmVjdCB4PSI2IiB5PSI2IiB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHJ4PSIxIi8+YH0KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Imljb24tYnV0dG9uIGRhbmdlciIgdGl0bGU9IkRlbGV0ZSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRGVsZXRlU2NoZWR1bGUobSl9PgogICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjMsNiA1LDYgMjEsNiIvPjxwYXRoIGQ9Ik0xOSw2djE0YTIsMiwwLDAsMS0yLDJIN2EyLDIsMCwwLDEtMi0yVjZtMywwVjRhMiwyLDAsMCwxLDItMmg0YTIsMiwwLDAsMSwyLDJ2MiIvPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGApfQogICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0ic2VjdGlvbi1mb290ZXIiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUltcG9ydCgpfT4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQiLz4KICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNyA4IDEyIDMgNyA4Ii8+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMyIgeDI9IjEyIiB5Mj0iMTUiLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIEltcG9ydCBCYWNrdXAKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24gcHJpbWFyeSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ3JlYXRlU2NoZWR1bGUoKX0+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ij48L2xpbmU+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIENyZWF0ZSBTY2hlZHVsZQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BbGwgQmFja3Vwczwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPkJyb3dzZSBhbmQgbWFuYWdlIGFsbCBiYWNrdXBzIGFjcm9zcyBzZXJ2aWNlczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciBiYWNrdXBzLWhlYWRlciI+CiAgICAgICAgICA8c3Bhbj5TZXJ2aWNlPC9zcGFuPgogICAgICAgICAgPHNwYW4+Q3JlYXRlZDwvc3Bhbj4KICAgICAgICAgIDxzcGFuPlNpemU8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5JbmNsdWRlczwvc3Bhbj4KICAgICAgICAgIDxzcGFuPkFjdGlvbnM8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLmJhY2t1cHMubWFwKG09PndgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1yb3cgYmFja3Vwcy1yb3ciPgogICAgICAgICAgICA8c3Bhbj4ke20uc2VydmljZX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtZXRhLXRleHQiPiR7bS5jcmVhdGVkQXR9PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ibWV0YS10ZXh0Ij4ke20uc2l6ZX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmNsdWRlcy1saXN0Ij4KICAgICAgICAgICAgICAke20uaW5jbHVkZXMubWFwKHY9PndgPHNwYW4gY2xhc3M9ImluY2x1ZGUtYmFkZ2UiPiR7dn08L3NwYW4+YCl9CiAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJvdy1hY3Rpb25zIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiIgdGl0bGU9IkRvd25sb2FkIGJhY2t1cCIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRG93bmxvYWQobSl9PgogICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ii8+CiAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjcgMTAgMTIgMTUgMTcgMTAiLz4KICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMTUiIHgyPSIxMiIgeTI9IjMiLz4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9Imljb24tYnV0dG9uIGRhbmdlciIgdGl0bGU9IkRlbGV0ZSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRGVsZXRlQmFja3VwKG0pfT4KICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIzLDYgNSw2IDIxLDYiLz48cGF0aCBkPSJNMTksNnYxNGEyLDIsMCwwLDEtMiwySDdhMiwyLDAsMCwxLTItMlY2bTMsMFY0YTIsMiwwLDAsMSwyLTJoNGEyLDIsMCwwLDEsMiwydjIiLz4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgKX0KICAgICAgPC9kZWVzLXRpbGU+CiAgICBgfWhhbmRsZUltcG9ydCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImltcG9ydCIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ3JlYXRlU2NoZWR1bGUoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjcmVhdGUtc2NoZWR1bGUiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVJ1bk5vdyhtKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJydW4tbm93Iix7ZGV0YWlsOm0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVUb2dnbGUobSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidG9nZ2xlLXNjaGVkdWxlIix7ZGV0YWlsOm0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEZWxldGVTY2hlZHVsZShtKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWxldGUtc2NoZWR1bGUiLHtkZXRhaWw6bSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZURvd25sb2FkKG0pe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRvd25sb2FkIix7ZGV0YWlsOm0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEZWxldGVCYWNrdXAobSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVsZXRlLWJhY2t1cCIse2RldGFpbDptLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHdHKHRoaXMscCl9c3RhdGlje3dHKHIsdCl9fTtyZXR1cm4gdT1yfSkoKX0pO3ZhciBCYyxjaSxPTmEsT3VhPWYoKCk9PntsZSgpO0JjPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxjaT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sT05hPSgoKT0+e2xldCBhPVtpZSgic3otc2VydmljZS1kZXRhaWwtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdLE4sXz1bXSx6PVtdLE8sVD1bXSxFPVtdLEIsTT1bXSxTPVtdO3ZhciBQPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelNlcnZpY2VEZXRhaWxWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IEE9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpPYmplY3R9KV0sZD1bJCh7dHlwZTpPYmplY3R9KV0sdT1bJCh7dHlwZTpBcnJheX0pXSx4PVskKHt0eXBlOkFycmF5fSldLHk9WyQoe3R5cGU6Qm9vbGVhbn0pXSxOPVskKHt0eXBlOk9iamVjdH0pXSxPPVskKHt0eXBlOlN0cmluZ30pXSxCPVtLKCldLEJjKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VydmljZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4ic2VydmljZSJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnNlcnZpY2UsImdldCIpLHNldDpzKChGLFcpPT57Ri5zZXJ2aWNlPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sbixsKSxCYyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEY9PiJzdGF0cyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnN0YXRzLCJnZXQiKSxzZXQ6cygoRixXKT0+e0Yuc3RhdHM9V30sInNldCIpfSxtZXRhZGF0YTpBfSxjLHApLEJjKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiYmFja3VwcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4iYmFja3VwcyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLmJhY2t1cHMsImdldCIpLHNldDpzKChGLFcpPT57Ri5iYWNrdXBzPVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sbSx2KSxCYyh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImxvZ3MiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+ImxvZ3MiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5sb2dzLCJnZXQiKSxzZXQ6cygoRixXKT0+e0YubG9ncz1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LGIsZyksQmModGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdHJlYW1pbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+InN0cmVhbWluZyJpbiBGLCJoYXMiKSxnZXQ6cyhGPT5GLnN0cmVhbWluZywiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLnN0cmVhbWluZz1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LGssQyksQmModGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ3b3Jrc3BhY2VFbnZpcm9ubWVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4id29ya3NwYWNlRW52aXJvbm1lbnQiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri53b3Jrc3BhY2VFbnZpcm9ubWVudCwiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLndvcmtzcGFjZUVudmlyb25tZW50PVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sXyx6KSxCYyh0aGlzLG51bGwsTyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6IndvcmtzcGFjZVBhdGgiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoRj0+IndvcmtzcGFjZVBhdGgiaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri53b3Jrc3BhY2VQYXRoLCJnZXQiKSxzZXQ6cygoRixXKT0+e0Yud29ya3NwYWNlUGF0aD1XfSwic2V0Iil9LG1ldGFkYXRhOkF9LFQsRSksQmModGhpcyxudWxsLEIse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VmlldyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhGPT4iY3VycmVudFZpZXciaW4gRiwiaGFzIiksZ2V0OnMoRj0+Ri5jdXJyZW50VmlldywiZ2V0Iiksc2V0OnMoKEYsVyk9PntGLmN1cnJlbnRWaWV3PVd9LCJzZXQiKX0sbWV0YWRhdGE6QX0sTSxTKSxCYyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpBfSxudWxsLHQpLFA9cj1lLnZhbHVlLEEmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6QX0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEyMDBweDsiPgogICAgICA8c3otc2VydmljZS1kZXRhaWwtdmlldwogICAgICAgIC5zZXJ2aWNlPSR7e25hbWU6InRlc3QtbmdpbngiLHN0YXR1czoicnVubmluZyIsaW1hZ2U6Im5naW54OmFscGluZSIscG9ydDo4MCxkb21haW46ImFwcC5ibGV1LmRlIixjb250YWluZXJJZDoicGNoYmJyOWZqcjRnIixjcmVhdGVkOiIxMS8xOC8yMDI1LCAyOjA2OjU1IFBNIix1cGRhdGVkOiIxMS8yNi8yMDI1LCA0OjA1OjQ2IFBNIixyZWdpc3RyeToiRG9ja2VyIEh1YiIscmVwb3NpdG9yeToibmdpbngiLHRhZzoiYWxwaW5lIn19CiAgICAgICAgLnN0YXRzPSR7e2NwdTouNSxtZW1vcnk6IjMyLjEgTUIiLG1lbW9yeUxpbWl0OiI2MS4zIEdCIixuZXR3b3JrSW46IjYuNCBLQiIsbmV0d29ya091dDoiMjUyIEIifX0KICAgICAgICAuYmFja3Vwcz0ke1t7aWQ6IjEiLGNyZWF0ZWRBdDoiMS8yLzIwMjYsIDI6MDA6MDMgQU0iLHNpemU6IjIxLjk2IE1CIix0eXBlOiJEb2NrZXIgSW1hZ2UifSx7aWQ6IjIiLGNyZWF0ZWRBdDoiMTEvMjcvMjAyNSwgMTo0MjoyNiBQTSIsc2l6ZToiNTEuNzYgTUIiLHR5cGU6IkRvY2tlciBJbWFnZSJ9XX0KICAgICAgICAubG9ncz0ke1t7dGltZXN0YW1wOiIyMDI0LTAxLTAyIDEwOjE1OjMyIixtZXNzYWdlOicxOTIuMTY4LjEuMTAwIC0gLSBbMDIvSmFuLzIwMjQ6MTA6MTU6MzIgKzAwMDBdICJHRVQgLyBIVFRQLzEuMSIgMjAwIDYxMid9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMDIgMTA6MTU6MzAiLG1lc3NhZ2U6JzE5Mi4xNjguMS4xMDAgLSAtIFswMi9KYW4vMjAyNDoxMDoxNTozMCArMDAwMF0gIkdFVCAvZmF2aWNvbi5pY28gSFRUUC8xLjEiIDQwNCAxNTMnfV19CiAgICAgID48L3N6LXNlcnZpY2UtZGV0YWlsLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJTZXJ2aWNlcyJdOyNlPWNpKHRoaXMsbix7bmFtZToiIixzdGF0dXM6InN0b3BwZWQiLGltYWdlOiIiLHBvcnQ6MCxkb21haW46bnVsbCxjb250YWluZXJJZDoiIixjcmVhdGVkOiIiLHVwZGF0ZWQ6IiIscmVnaXN0cnk6IiIscmVwb3NpdG9yeToiIix0YWc6IiJ9KTtnZXQgc2VydmljZSgpe3JldHVybiB0aGlzLiNlfXNldCBzZXJ2aWNlKEEpe3RoaXMuI2U9QX0jdD0oY2kodGhpcyxsKSxjaSh0aGlzLGMse2NwdTowLG1lbW9yeToiMCBNQiIsbWVtb3J5TGltaXQ6IjAgR0IiLG5ldHdvcmtJbjoiMCBCIixuZXR3b3JrT3V0OiIwIEIifSkpO2dldCBzdGF0cygpe3JldHVybiB0aGlzLiN0fXNldCBzdGF0cyhBKXt0aGlzLiN0PUF9I2E9KGNpKHRoaXMscCksY2kodGhpcyxtLFtdKSk7Z2V0IGJhY2t1cHMoKXtyZXR1cm4gdGhpcy4jYX1zZXQgYmFja3VwcyhBKXt0aGlzLiNhPUF9I3I9KGNpKHRoaXMsdiksY2kodGhpcyxiLFtdKSk7Z2V0IGxvZ3MoKXtyZXR1cm4gdGhpcy4jcn1zZXQgbG9ncyhBKXt0aGlzLiNyPUF9I3M9KGNpKHRoaXMsZyksY2kodGhpcyxrLCExKSk7Z2V0IHN0cmVhbWluZygpe3JldHVybiB0aGlzLiNzfXNldCBzdHJlYW1pbmcoQSl7dGhpcy4jcz1BfSNpPShjaSh0aGlzLEMpLGNpKHRoaXMsXyxudWxsKSk7Z2V0IHdvcmtzcGFjZUVudmlyb25tZW50KCl7cmV0dXJuIHRoaXMuI2l9c2V0IHdvcmtzcGFjZUVudmlyb25tZW50KEEpe3RoaXMuI2k9QX0jbz0oY2kodGhpcyx6KSxjaSh0aGlzLFQsIi8iKSk7Z2V0IHdvcmtzcGFjZVBhdGgoKXtyZXR1cm4gdGhpcy4jb31zZXQgd29ya3NwYWNlUGF0aChBKXt0aGlzLiNvPUF9I249KGNpKHRoaXMsRSksY2kodGhpcyxNLCJkZXRhaWxzIikpO2dldCBjdXJyZW50Vmlldygpe3JldHVybiB0aGlzLiNufXNldCBjdXJyZW50VmlldyhBKXt0aGlzLiNuPUF9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuYmFjay1saW5rIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYmFjay1saW5rOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc2VydmljZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNHB4IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnJ1bm5pbmcgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLnN0b3BwZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHsKICAgICAgICAuY29udGVudCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnI7CiAgICAgICAgfQogICAgICB9CgogICAgICAubWFpbi1jb250ZW50IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CgogICAgICAuc2lkZWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQoKICAgICAgLmNhcmQtaGVhZGVyIHsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgOHB4IDAgMTZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuY2FyZC1oZWFkaW5nIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLmNhcmQtdGl0bGUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5jYXJkLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuY2FyZC1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAudGlsZS1idXR0b246Zmlyc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICB9CgogICAgICAudGlsZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4wOCkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjA4KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1MCUpIiwiaHNsKDIxMy4xIDkzLjklIDc1JSkiKX07CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5kYW5nZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5kYW5nZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmNhcmQtY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgfQoKICAgICAgLmRldGFpbC1saXN0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuZGV0YWlsLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICB9CgogICAgICAuZGV0YWlsLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmRldGFpbC12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtdmFsdWUgYSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtdmFsdWUgYTpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC5zdGF0cy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAuc3RhdC1pdGVtIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgIH0KCiAgICAgIC5zdGF0LWxhYmVsIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICAuc3RhdC12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXQtc3VidmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuYWN0aW9ucy1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRhbmdlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4zKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGFuZ2VyOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5iYWNrdXAtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuYmFja3VwLWl0ZW0gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICB9CgogICAgICAuYmFja3VwLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLmJhY2t1cC1kYXRlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmJhY2t1cC1tZXRhIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmJhY2t1cC1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuaWNvbi1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDZweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuaWNvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudGFnLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIDpob3N0KC53b3Jrc3BhY2UtbW9kZSkgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2Utd3JhcHBlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAud29ya3NwYWNlLWJhY2stbGluayB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAud29ya3NwYWNlLWJhY2stbGluazpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMWQ0ZWQ4IiwiIzkzYzVmZCIpfTsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1zZXJ2aWNlLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2Utc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHdpZHRoOiA4cHg7CiAgICAgICAgaGVpZ2h0OiA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICB9CgogICAgICAud29ya3NwYWNlLXN0YXR1cy1iYWRnZS5ydW5uaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzIyYzU1ZSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC53b3Jrc3BhY2Utc3RhdHVzLWJhZGdlLnN0b3BwZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWY0NDQ0IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLndvcmtzcGFjZS1jb250YWluZXIgewogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi1oZWlnaHQ6IDA7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLmN1cnJlbnRWaWV3PT09IndvcmtzcGFjZSI/dGhpcy5yZW5kZXJXb3Jrc3BhY2VWaWV3KCk6dGhpcy5yZW5kZXJEZXRhaWxzVmlldygpfXJlbmRlcldvcmtzcGFjZVZpZXcoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0id29ya3NwYWNlLXdyYXBwZXIiPgogICAgICAgIDxkaXYgY2xhc3M9IndvcmtzcGFjZS1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0id29ya3NwYWNlLWJhY2stbGluayIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ2xvc2VXb3Jrc3BhY2UoKX0+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiI+PC9wb2x5bGluZT4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIEJhY2sgdG8gRGV0YWlscwogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8c3BhbiBjbGFzcz0id29ya3NwYWNlLXNlcnZpY2UtbmFtZSI+JHt0aGlzLnNlcnZpY2UubmFtZX08L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0id29ya3NwYWNlLXN0YXR1cy1iYWRnZSAke3RoaXMuc2VydmljZS5zdGF0dXN9Ij48L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0id29ya3NwYWNlLWNvbnRhaW5lciI+CiAgICAgICAgICA8ZGVlcy13b3Jrc3BhY2UgLmV4ZWN1dGlvbkVudmlyb25tZW50PSR7dGhpcy53b3Jrc3BhY2VFbnZpcm9ubWVudH0+PC9kZWVzLXdvcmtzcGFjZT4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckRldGFpbHNWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iYmFjay1saW5rIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVCYWNrKCl9PgogICAgICAgICAgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiI+PC9wb2x5bGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgQmFjayB0byBTZXJ2aWNlcwogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtaGVhZGVyIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMjRweDsiPgogICAgICAgIDxoMSBjbGFzcz0ic2VydmljZS1uYW1lIj4ke3RoaXMuc2VydmljZS5uYW1lfTwvaDE+CiAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1iYWRnZSAke3RoaXMuc2VydmljZS5zdGF0dXN9Ij4ke3RoaXMuc2VydmljZS5zdGF0dXN9PC9zcGFuPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRlbnQiPgogICAgICAgIDxkaXYgY2xhc3M9Im1haW4tY29udGVudCI+CiAgICAgICAgICA8ZGVlcy10aWxlPgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRpbmciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtdGl0bGUiPlNlcnZpY2UgRGV0YWlsczwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWxpc3QiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5JbWFnZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHt0aGlzLnNlcnZpY2UuaW1hZ2V9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlBvcnQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLnBvcnR9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkRvbWFpbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2UuZG9tYWluP3dgPGEgaHJlZj0iaHR0cHM6Ly8ke3RoaXMuc2VydmljZS5kb21haW59IiB0YXJnZXQ9Il9ibGFuayI+JHt0aGlzLnNlcnZpY2UuZG9tYWlufTwvYT5gOiItIn0KICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkNvbnRhaW5lciBJRDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHt0aGlzLnNlcnZpY2UuY29udGFpbmVySWR9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkNyZWF0ZWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLmNyZWF0ZWR9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlVwZGF0ZWQ8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLnVwZGF0ZWR9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImNhcmQtZm9vdGVyIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiBwcmltYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVFZGl0KCl9PkVkaXQ8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2RlZXMtdGlsZT4KCiAgICAgICAgICA8ZGVlcy1jaGFydC1sb2cKICAgICAgICAgICAgLmxhYmVsPSR7IlNlcnZpY2UgTG9ncyJ9CiAgICAgICAgICAgIC5sb2dFbnRyaWVzPSR7dGhpcy5sb2dzLm1hcChBPT4oe3RpbWVzdGFtcDpBLnRpbWVzdGFtcD8uaW5jbHVkZXM/LigiVCIpP0EudGltZXN0YW1wOm5ldyBEYXRlKEEudGltZXN0YW1wfHxEYXRlLm5vdygpKS50b0lTT1N0cmluZygpLGxldmVsOkEubGV2ZWx8fCJpbmZvIixtZXNzYWdlOkEubWVzc2FnZX0pKX0KICAgICAgICAgICAgLmF1dG9TY3JvbGw9JHshMH0KICAgICAgICAgICAgLm1heEVudHJpZXM9JHsyZTN9CiAgICAgICAgICAgIC5zaG93TWV0cmljcz0keyEwfQogICAgICAgICAgPjwvZGVlcy1jaGFydC1sb2c+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9InNpZGViYXIiPgogICAgICAgICAgPGRlZXMtdGlsZT4KICAgICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkaW5nIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLXRpdGxlIj5MaXZlIHN0YXRzPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0cy1ncmlkIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPkNQVTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LXZhbHVlIj4ke3RoaXMuc3RhdHMuY3B1LnRvRml4ZWQoMSl9JTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWl0ZW0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWxhYmVsIj5NZW1vcnk8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC12YWx1ZSI+JHt0aGlzLnN0YXRzLm1lbW9yeX08L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic3RhdC1zdWJ2YWx1ZSI+b2YgJHt0aGlzLnN0YXRzLm1lbW9yeUxpbWl0fTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWl0ZW0iPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdGF0LWxhYmVsIj5OZXR3b3JrIEluPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtdmFsdWUiPiR7dGhpcy5zdGF0cy5uZXR3b3JrSW59PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtbGFiZWwiPk5ldHdvcmsgT3V0PC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InN0YXQtdmFsdWUiPiR7dGhpcy5zdGF0cy5uZXR3b3JrT3V0fTwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kZWVzLXRpbGU+CgogICAgICAgICAgPGRlZXMtdGlsZT4KICAgICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkaW5nIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLXRpdGxlIj5BY3Rpb25zPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtc3VidGl0bGUiPk1hbmFnZSBzZXJ2aWNlIHN0YXRlPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zLWdyaWQiPgogICAgICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2Uuc3RhdHVzPT09InJ1bm5pbmciP3dgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKCJzdG9wIil9PlN0b3AgU2VydmljZTwvYnV0dG9uPmA6d2A8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBY3Rpb24oInN0YXJ0Iil9PlN0YXJ0IFNlcnZpY2U8L2J1dHRvbj5gfQogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQWN0aW9uKCJyZXN0YXJ0Iil9PlJlc3RhcnQgU2VydmljZTwvYnV0dG9uPgogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlT3BlbldvcmtzcGFjZSgpfT4KICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3R5bGU9ImRpc3BsYXk6IGlubGluZTsgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgbWFyZ2luLXJpZ2h0OiA0cHg7Ij4KICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSI0IDE3IDEwIDExIDQgNSI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIxOSIgeDI9IjIwIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAgIE9wZW4gV29ya3NwYWNlCiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gZGFuZ2VyIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVBY3Rpb24oImRlbGV0ZSIpfT5EZWxldGUgU2VydmljZTwvYnV0dG9uPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGluZyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC10aXRsZSI+SW1hZ2UgU291cmNlPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtc3VidGl0bGUiPiR7dGhpcy5zZXJ2aWNlLnJlZ2lzdHJ5PT09IkRvY2tlciBIdWIiPyJFeHRlcm5hbCBjb250YWluZXIgcmVnaXN0cnkiOiJPbmVib3ggcmVnaXN0cnkifTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWxpc3QiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5SZWdpc3RyeTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHt0aGlzLnNlcnZpY2UucmVnaXN0cnl9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlJlcG9zaXRvcnk8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7dGhpcy5zZXJ2aWNlLnJlcG9zaXRvcnl9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlRhZzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+PHNwYW4gY2xhc3M9InRhZy1iYWRnZSI+JHt0aGlzLnNlcnZpY2UudGFnfTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2RlZXMtdGlsZT4KCiAgICAgICAgICA8ZGVlcy10aWxlPgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9ImNhcmQtaGVhZGVyIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWhlYWRpbmciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtdGl0bGUiPkJhY2t1cHM8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC1zdWJ0aXRsZSI+Q3JlYXRlIGFuZCBtYW5hZ2Ugc2VydmljZSBiYWNrdXBzPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYWNrdXAtbGlzdCI+CiAgICAgICAgICAgICAgICAke3RoaXMuYmFja3Vwcy5tYXAoQT0+d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFja3VwLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJhY2t1cC1pbmZvIj4KICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImJhY2t1cC1kYXRlIj4ke0EuY3JlYXRlZEF0fTwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYmFja3VwLW1ldGEiPiR7QS5zaXplfSDCtyAke0EudHlwZX08L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJiYWNrdXAtYWN0aW9ucyI+CiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiIgdGl0bGU9IkRvd25sb2FkIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVEb3dubG9hZEJhY2t1cChBKX0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9IjE0IiBoZWlnaHQ9IjE0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNXY0YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0ydi00Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iNyAxMCAxMiAxNSAxNyAxMCIvPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjE1IiB4Mj0iMTIiIHkyPSIzIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiIgdGl0bGU9IlJlc3RvcmUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVJlc3RvcmVCYWNrdXAoQSl9PgogICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxIDQgMSAxMCA3IDEwIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTMuNTEgMTVhOSA5IDAgMSAwIDIuMTMtOS4zNkwxIDEwIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiIgdGl0bGU9IkRlbGV0ZSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRGVsZXRlQmFja3VwKEEpfT4KICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMyw2IDUsNiAyMSw2Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE5LDZ2MTRhMiwyLDAsMCwxLTIsMkg3YTIsMiwwLDAsMS0yLTJWNm0zLDBWNGEyLDIsMCwwLDEsMi0yaDRhMiwyLDAsMCwxLDIsMnYyIi8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImNhcmQtZm9vdGVyIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiBwcmltYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDcmVhdGVCYWNrdXAoKX0+CiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgQ3JlYXRlIEJhY2t1cAogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGVlcy10aWxlPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlQmFjaygpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImJhY2siLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUVkaXQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJlZGl0Iix7ZGV0YWlsOnRoaXMuc2VydmljZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUFjdGlvbihBKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzZXJ2aWNlLWFjdGlvbiIse2RldGFpbDp7c2VydmljZTp0aGlzLnNlcnZpY2UsYWN0aW9uOkF9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9dG9nZ2xlU3RyZWFtaW5nKCl7dGhpcy5zdHJlYW1pbmc9IXRoaXMuc3RyZWFtaW5nLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInN0cmVhbS10b2dnbGUiLHtkZXRhaWw6e3N0cmVhbWluZzp0aGlzLnN0cmVhbWluZ30sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVDbGVhckxvZ3MoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjbGVhci1sb2dzIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVDcmVhdGVCYWNrdXAoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjcmVhdGUtYmFja3VwIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEb3dubG9hZEJhY2t1cChBKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkb3dubG9hZC1iYWNrdXAiLHtkZXRhaWw6QSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVJlc3RvcmVCYWNrdXAoQSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicmVzdG9yZS1iYWNrdXAiLHtkZXRhaWw6QSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZURlbGV0ZUJhY2t1cChBKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWxldGUtYmFja3VwIix7ZGV0YWlsOkEsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVPcGVuV29ya3NwYWNlKCl7dGhpcy53b3Jrc3BhY2VFbnZpcm9ubWVudD8odGhpcy5jdXJyZW50Vmlldz0id29ya3NwYWNlIix0aGlzLmNsYXNzTGlzdC5hZGQoIndvcmtzcGFjZS1tb2RlIikpOnRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJlcXVlc3Qtd29ya3NwYWNlIix7ZGV0YWlsOntzZXJ2aWNlOnRoaXMuc2VydmljZX0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVDbG9zZVdvcmtzcGFjZSgpe3RoaXMuY3VycmVudFZpZXc9ImRldGFpbHMiLHRoaXMuY2xhc3NMaXN0LnJlbW92ZSgid29ya3NwYWNlLW1vZGUiKX11cGRhdGVkKEEpe3N1cGVyLnVwZGF0ZWQoQSksQS5oYXMoIndvcmtzcGFjZUVudmlyb25tZW50IikmJnRoaXMud29ya3NwYWNlRW52aXJvbm1lbnQmJnRoaXMuY3VycmVudFZpZXc9PT0iZGV0YWlscyImJih0aGlzLmN1cnJlbnRWaWV3PSJ3b3Jrc3BhY2UiLHRoaXMuY2xhc3NMaXN0LmFkZCgid29ya3NwYWNlLW1vZGUiKSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGNpKHRoaXMsUyl9c3RhdGlje2NpKHIsdCl9fTtyZXR1cm4gUD1yfSkoKX0pO3ZhciBnaWUsJDUsRk5hLEZ1YT1mKCgpPT57bGUoKTtnaWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LCQ1PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxGTmE9KCgpPT57bGV0IGE9W2llKCJzei1hcHAtc3RvcmUtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdO3ZhciB4PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekFwcFN0b3JlVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6QXJyYXl9KV0sZD1bSygpXSx1PVtLKCldLGdpZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFwcHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+ImFwcHMiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5hcHBzLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuYXBwcz15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksZ2llKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VsZWN0ZWRDYXRlZ29yeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ic2VsZWN0ZWRDYXRlZ29yeSJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLnNlbGVjdGVkQ2F0ZWdvcnksImdldCIpLHNldDpzKChnLHkpPT57Zy5zZWxlY3RlZENhdGVnb3J5PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSxnaWUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWFyY2hRdWVyeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ic2VhcmNoUXVlcnkiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5zZWFyY2hRdWVyeSwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnNlYXJjaFF1ZXJ5PXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSxnaWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LWFwcC1zdG9yZS12aWV3CiAgICAgICAgLmFwcHM9JHtbe2lkOiJ3b3JkcHJlc3MiLG5hbWU6IldvcmRQcmVzcyIsZGVzY3JpcHRpb246IlRoZSB3b3JsZCdzIG1vc3QgcG9wdWxhciBvcGVuLXNvdXJjZSBjb250ZW50IG1hbmFnZW1lbnQgc3lzdGVtIGZvciBidWlsZGluZyB3ZWJzaXRlcyBhbmQgYmxvZ3MuIixjYXRlZ29yeToiQ01TIixpY29uTmFtZToiZmlsZS10ZXh0IixpbWFnZToid29yZHByZXNzOmxhdGVzdCIscG9ydDo4MCxlbnZWYXJzOlt7a2V5OiJXT1JEUFJFU1NfREJfSE9TVCIsdmFsdWU6IiIsZGVzY3JpcHRpb246IkRhdGFiYXNlIGhvc3QgYWRkcmVzcyIscmVxdWlyZWQ6ITB9LHtrZXk6IldPUkRQUkVTU19EQl9VU0VSIix2YWx1ZToid29yZHByZXNzIixkZXNjcmlwdGlvbjoiRGF0YWJhc2UgdXNlcm5hbWUiLHJlcXVpcmVkOiEwfSx7a2V5OiJXT1JEUFJFU1NfREJfUEFTU1dPUkQiLHZhbHVlOiIiLGRlc2NyaXB0aW9uOiJEYXRhYmFzZSBwYXNzd29yZCIscmVxdWlyZWQ6ITB9LHtrZXk6IldPUkRQUkVTU19EQl9OQU1FIix2YWx1ZToid29yZHByZXNzIixkZXNjcmlwdGlvbjoiRGF0YWJhc2UgbmFtZSIscmVxdWlyZWQ6ITB9XSx2b2x1bWVzOlsiL3Zhci93d3cvaHRtbCJdLGVuYWJsZU1vbmdvREI6ITEsZW5hYmxlUzM6ITF9LHtpZDoiZ2l0ZWEiLG5hbWU6IkdpdGVhIixkZXNjcmlwdGlvbjoiQSBsaWdodHdlaWdodCwgc2VsZi1ob3N0ZWQgR2l0IHNlcnZpY2UuIFBhaW5sZXNzIHNldHVwIGZvciB5b3VyIG93biBjb2RlIGhvc3RpbmcgcGxhdGZvcm0uIixjYXRlZ29yeToiRGV2ZWxvcG1lbnQiLGljb25OYW1lOiJnaXQtYnJhbmNoIixpbWFnZToiZ2l0ZWEvZ2l0ZWE6bGF0ZXN0Iixwb3J0OjNlMyxlbnZWYXJzOlt7a2V5OiJHSVRFQV9fZGF0YWJhc2VfX0RCX1RZUEUiLHZhbHVlOiJzcWxpdGUzIixkZXNjcmlwdGlvbjoiRGF0YWJhc2UgdHlwZSIscmVxdWlyZWQ6ITB9LHtrZXk6IkdJVEVBX19zZXJ2ZXJfX1JPT1RfVVJMIix2YWx1ZToiIixkZXNjcmlwdGlvbjoiUHVibGljIFVSTCBvZiB0aGUgR2l0ZWEgaW5zdGFuY2UiLHJlcXVpcmVkOiExfV0sdm9sdW1lczpbIi9kYXRhIl19LHtpZDoiZ2hvc3QiLG5hbWU6Ikdob3N0IixkZXNjcmlwdGlvbjoiQSBwb3dlcmZ1bCBvcGVuLXNvdXJjZSBwdWJsaXNoaW5nIHBsYXRmb3JtIGZvciBwcm9mZXNzaW9uYWwgYmxvZ2dlcnMgYW5kIGNvbnRlbnQgY3JlYXRvcnMuIixjYXRlZ29yeToiQ01TIixpY29uTmFtZToiYm9vay1vcGVuIixpbWFnZToiZ2hvc3Q6bGF0ZXN0Iixwb3J0OjIzNjgsZW52VmFyczpbe2tleToidXJsIix2YWx1ZToiIixkZXNjcmlwdGlvbjoiUHVibGljIFVSTCBmb3IgdGhlIEdob3N0IHNpdGUiLHJlcXVpcmVkOiEwfSx7a2V5OiJkYXRhYmFzZV9fY2xpZW50Iix2YWx1ZToic3FsaXRlMyIsZGVzY3JpcHRpb246IkRhdGFiYXNlIGNsaWVudCB0eXBlIixyZXF1aXJlZDohMX1dLHZvbHVtZXM6WyIvdmFyL2xpYi9naG9zdC9jb250ZW50Il19LHtpZDoibmdpbngiLG5hbWU6Ik5naW54IixkZXNjcmlwdGlvbjoiSGlnaC1wZXJmb3JtYW5jZSBIVFRQIHNlcnZlciBhbmQgcmV2ZXJzZSBwcm94eSB3aXRoIGxvdyByZXNvdXJjZSBjb25zdW1wdGlvbi4iLGNhdGVnb3J5OiJXZWIgU2VydmVyIixpY29uTmFtZToiZ2xvYmUiLGltYWdlOiJuZ2lueDphbHBpbmUiLHBvcnQ6ODAsdm9sdW1lczpbIi91c3Ivc2hhcmUvbmdpbngvaHRtbCIsIi9ldGMvbmdpbngvY29uZi5kIl19LHtpZDoicmVkaXMiLG5hbWU6IlJlZGlzIixkZXNjcmlwdGlvbjoiSW4tbWVtb3J5IGRhdGEgc3RvcmUgdXNlZCBhcyBhIGRhdGFiYXNlLCBjYWNoZSwgc3RyZWFtaW5nIGVuZ2luZSwgYW5kIG1lc3NhZ2UgYnJva2VyLiIsY2F0ZWdvcnk6IkRhdGFiYXNlIixpY29uTmFtZToiZGF0YWJhc2UiLGltYWdlOiJyZWRpczphbHBpbmUiLHBvcnQ6NjM3OX0se2lkOiJwb3N0Z3JlcyIsbmFtZToiUG9zdGdyZVNRTCIsZGVzY3JpcHRpb246IkFkdmFuY2VkIG9wZW4tc291cmNlIHJlbGF0aW9uYWwgZGF0YWJhc2Ugd2l0aCBzdHJvbmcgcmVsaWFiaWxpdHkgYW5kIGZlYXR1cmUgc2V0LiIsY2F0ZWdvcnk6IkRhdGFiYXNlIixpY29uTmFtZToiZGF0YWJhc2UiLGltYWdlOiJwb3N0Z3JlczoxNi1hbHBpbmUiLHBvcnQ6NTQzMixlbnZWYXJzOlt7a2V5OiJQT1NUR1JFU19VU0VSIix2YWx1ZToicG9zdGdyZXMiLGRlc2NyaXB0aW9uOiJTdXBlcnVzZXIgdXNlcm5hbWUiLHJlcXVpcmVkOiEwfSx7a2V5OiJQT1NUR1JFU19QQVNTV09SRCIsdmFsdWU6IiIsZGVzY3JpcHRpb246IlN1cGVydXNlciBwYXNzd29yZCIscmVxdWlyZWQ6ITB9LHtrZXk6IlBPU1RHUkVTX0RCIix2YWx1ZToicG9zdGdyZXMiLGRlc2NyaXB0aW9uOiJEZWZhdWx0IGRhdGFiYXNlIG5hbWUiLHJlcXVpcmVkOiExfV0sdm9sdW1lczpbIi92YXIvbGliL3Bvc3RncmVzcWwvZGF0YSJdfV19CiAgICAgID48L3N6LWFwcC1zdG9yZS12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiU2VydmljZXMiXTsjZT0kNSh0aGlzLG4sW10pO2dldCBhcHBzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGFwcHMoYil7dGhpcy4jZT1ifSN0PSgkNSh0aGlzLGwpLCQ1KHRoaXMsYywiQWxsIikpO2dldCBzZWxlY3RlZENhdGVnb3J5KCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkQ2F0ZWdvcnkoYil7dGhpcy4jdD1ifSNhPSgkNSh0aGlzLHApLCQ1KHRoaXMsbSwiIikpO2dldCBzZWFyY2hRdWVyeSgpe3JldHVybiB0aGlzLiNhfXNldCBzZWFyY2hRdWVyeShiKXt0aGlzLiNhPWJ9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmhlYWRlci10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmhlYWRlci1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICB9CgogICAgICAuZmlsdGVyLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLmNhdGVnb3J5LXBpbGxzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLmNhdGVnb3J5LXBpbGwgewogICAgICAgIHBhZGRpbmc6IDZweCAxNHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5jYXRlZ29yeS1waWxsOmhvdmVyIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuY2F0ZWdvcnktcGlsbC5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0IHsKICAgICAgICB3aWR0aDogMjQwcHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHggOHB4IDM2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXMgZWFzZTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtd3JhcHBlciB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuc2VhcmNoLWljb24gewogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBsZWZ0OiAxMHB4OwogICAgICAgIHRvcDogNTAlOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsKICAgICAgfQoKICAgICAgLmFwcC1ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7CiAgICAgICAgLmFwcC1ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7CiAgICAgICAgfQogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogNjQwcHgpIHsKICAgICAgICAuYXBwLWdyaWQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgfQoKICAgICAgICAuZmlsdGVyLWJhciB7CiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7CiAgICAgICAgfQoKICAgICAgICAuc2VhcmNoLWlucHV0IHsKICAgICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIH0KICAgICAgfQoKICAgICAgLmFwcC1jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBwYWRkaW5nOiAyMHB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OwogICAgICB9CgogICAgICAuYXBwLWNhcmQ6aG92ZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjM2YzZjQ2Iil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggJHtoLmJkVGhlbWUoInJnYmEoMCwwLDAsMC4wNSkiLCJyZ2JhKDAsMCwwLDAuMikiKX07CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpOwogICAgICB9CgogICAgICAuY2FyZC10b3AgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgZ2FwOiAxNHB4OwogICAgICB9CgogICAgICAuYXBwLWljb24gewogICAgICAgIHdpZHRoOiA0NHB4OwogICAgICAgIGhlaWdodDogNDRweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmFwcC1pY29uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDIycHg7CiAgICAgICAgaGVpZ2h0OiAyMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5hcHAtaWNvbiBpbWcgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgICAgfQoKICAgICAgLmFwcC1pY29uIC5sZXR0ZXItZmFsbGJhY2sgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5jYXJkLWluZm8gewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICB9CgogICAgICAuYXBwLW5hbWUgewogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgfQoKICAgICAgLmNhdGVnb3J5LWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VmZjZmZiIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjE1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuYXBwLWRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OwogICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjsKICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgZmxleDogMTsKICAgICAgfQoKICAgICAgLmNhcmQtZm9vdGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxYTFhMWUiKX07CiAgICAgICAgbWFyZ2luLXRvcDogYXV0bzsKICAgICAgfQoKICAgICAgLmltYWdlLXRhZyB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgbWF4LXdpZHRoOiAxNjBweDsKICAgICAgfQoKICAgICAgLmRlcGxveS1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogN3B4IDE2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmRlcGxveS1idXR0b246aG92ZXIgewogICAgICAgIG9wYWNpdHk6IDAuODU7CiAgICAgIH0KCiAgICAgIC5kZXBsb3ktYnV0dG9uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CgogICAgICAuZGV0YWlscy1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogN3B4IDEycHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAuZGV0YWlscy1idXR0b246aG92ZXIgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNkNGQ0ZDgiLCIjM2YzZjQ2Iil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5jYXJkLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICBncmlkLWNvbHVtbjogMSAvIC0xOwogICAgICAgIHBhZGRpbmc6IDY0cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5lbXB0eS1pY29uIHsKICAgICAgICB3aWR0aDogNDhweDsKICAgICAgICBoZWlnaHQ6IDQ4cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZDRkNGQ4IiwiIzNmM2Y0NiIpfTsKICAgICAgICBtYXJnaW46IDAgYXV0byAxNnB4OwogICAgICB9CgogICAgICAuZW1wdHktdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTZweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICAuZW1wdHktZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTtnZXQgY2F0ZWdvcmllcygpe2xldCBiPW5ldyBTZXQodGhpcy5hcHBzLm1hcChnPT5nLmNhdGVnb3J5KSk7cmV0dXJuWyJBbGwiLC4uLkFycmF5LmZyb20oYikuc29ydCgpXX1nZXQgZmlsdGVyZWRBcHBzKCl7bGV0IGI9dGhpcy5hcHBzO2lmKHRoaXMuc2VsZWN0ZWRDYXRlZ29yeSE9PSJBbGwiJiYoYj1iLmZpbHRlcihnPT5nLmNhdGVnb3J5PT09dGhpcy5zZWxlY3RlZENhdGVnb3J5KSksdGhpcy5zZWFyY2hRdWVyeS50cmltKCkpe2xldCBnPXRoaXMuc2VhcmNoUXVlcnkudHJpbSgpLnRvTG93ZXJDYXNlKCk7Yj1iLmZpbHRlcih5PT55Lm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhnKXx8eS5kZXNjcmlwdGlvbi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGcpfHx5LmNhdGVnb3J5LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZykpfXJldHVybiBifXJlbmRlcigpe2xldCBiPXRoaXMuZmlsdGVyZWRBcHBzO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10aXRsZSI+QXBwIFN0b3JlPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXN1YnRpdGxlIj5EZXBsb3kgcG9wdWxhciBhcHBsaWNhdGlvbnMgd2l0aCBvbmUgY2xpY2s8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJmaWx0ZXItYmFyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXRlZ29yeS1waWxscyI+CiAgICAgICAgICAke3RoaXMuY2F0ZWdvcmllcy5tYXAoZz0+d2AKICAgICAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgICAgICBjbGFzcz0iY2F0ZWdvcnktcGlsbCAke3RoaXMuc2VsZWN0ZWRDYXRlZ29yeT09PWc/ImFjdGl2ZSI6IiJ9IgogICAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9Pnt0aGlzLnNlbGVjdGVkQ2F0ZWdvcnk9Z319CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHtnfQogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWFyY2gtd3JhcHBlciI+CiAgICAgICAgICA8c3ZnIGNsYXNzPSJzZWFyY2gtaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTEiIGN5PSIxMSIgcj0iOCI+PC9jaXJjbGU+CiAgICAgICAgICAgIDxsaW5lIHgxPSIyMSIgeTE9IjIxIiB4Mj0iMTYuNjUiIHkyPSIxNi42NSI+PC9saW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgY2xhc3M9InNlYXJjaC1pbnB1dCIKICAgICAgICAgICAgcGxhY2Vob2xkZXI9IlNlYXJjaCBhcHBzLi4uIgogICAgICAgICAgICAudmFsdWU9JHt0aGlzLnNlYXJjaFF1ZXJ5fQogICAgICAgICAgICBAaW5wdXQ9JHtnPT57dGhpcy5zZWFyY2hRdWVyeT1nLnRhcmdldC52YWx1ZX19CiAgICAgICAgICA+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iYXBwLWdyaWQiPgogICAgICAgICR7Yi5sZW5ndGg+MD9iLm1hcChnPT50aGlzLnJlbmRlckFwcENhcmQoZykpOndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPgogICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz0iZW1wdHktaWNvbiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIxLjUiPgogICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4Ij48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjIxIiB5MT0iMjEiIHgyPSIxNi42NSIgeTI9IjE2LjY1Ij48L2xpbmU+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI4IiB5MT0iMTEiIHgyPSIxNCIgeTI9IjExIj48L2xpbmU+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXRpdGxlIj5ObyBhcHBzIGZvdW5kPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1kZXNjcmlwdGlvbiI+CiAgICAgICAgICAgICAgICAgIFRyeSBhZGp1c3RpbmcgeW91ciBzZWFyY2ggb3IgZmlsdGVyIHRvIGZpbmQgd2hhdCB5b3UncmUgbG9va2luZyBmb3IuCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckFwcENhcmQoYil7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImFwcC1jYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLXRvcCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJhcHAtaWNvbiI+CiAgICAgICAgICAgICR7Yi5pY29uVXJsP3dgPGltZyBzcmM9IiR7Yi5pY29uVXJsfSIgYWx0PSIke2IubmFtZX0iPmA6Yi5pY29uTmFtZT90aGlzLnJlbmRlckljb25CeU5hbWUoYi5pY29uTmFtZSk6d2A8c3BhbiBjbGFzcz0ibGV0dGVyLWZhbGxiYWNrIj4ke2IubmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX08L3NwYW4+YH0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1pbmZvIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXBwLW5hbWUiPiR7Yi5uYW1lfTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXRlZ29yeS1iYWRnZSI+JHtiLmNhdGVnb3J5fTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYXBwLWRlc2NyaXB0aW9uIj4ke2IuZGVzY3JpcHRpb259PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1mb290ZXIiPgogICAgICAgICAgPHNwYW4gY2xhc3M9ImltYWdlLXRhZyIgdGl0bGU9IiR7Yi5pbWFnZX0iPiR7Yi5pbWFnZX08L3NwYW4+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWFjdGlvbnMiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkZXRhaWxzLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlVmlld0RldGFpbHMoYil9PgogICAgICAgICAgICAgIFZpZXcgRGV0YWlscwogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iZGVwbG95LWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRGVwbG95KGIpfT4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIyMCAxMiAyMCAyMiA0IDIyIDQgMTIiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICA8cmVjdCB4PSIyIiB5PSI3IiB3aWR0aD0iMjAiIGhlaWdodD0iNSI+PC9yZWN0PgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMjIiIHgyPSIxMiIgeTI9IjciPjwvbGluZT4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiA3SDcuNWEyLjUgMi41IDAgMCAxIDAtNUMxMSAyIDEyIDcgMTIgN3oiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiA3aDQuNWEyLjUgMi41IDAgMCAwIDAtNUMxMyAyIDEyIDcgMTIgN3oiPjwvcGF0aD4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBEZXBsb3kKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckljb25CeU5hbWUoYil7cmV0dXJueyJmaWxlLXRleHQiOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxwYXRoIGQ9Ik0xNCAySDZhMiAyIDAgMCAwLTIgMnYxNmEyIDIgMCAwIDAgMiAyaDEyYTIgMiAwIDAgMCAyLTJWOHoiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPSIxNCAyIDE0IDggMjAgOCI+PC9wb2x5bGluZT48bGluZSB4MT0iMTYiIHkxPSIxMyIgeDI9IjgiIHkyPSIxMyI+PC9saW5lPjxsaW5lIHgxPSIxNiIgeTE9IjE3IiB4Mj0iOCIgeTI9IjE3Ij48L2xpbmU+PHBvbHlsaW5lIHBvaW50cz0iMTAgOSA5IDkgOCA5Ij48L3BvbHlsaW5lPjwvc3ZnPmAsImdpdC1icmFuY2giOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxsaW5lIHgxPSI2IiB5MT0iMyIgeDI9IjYiIHkyPSIxNSI+PC9saW5lPjxjaXJjbGUgY3g9IjE4IiBjeT0iNiIgcj0iMyI+PC9jaXJjbGU+PGNpcmNsZSBjeD0iNiIgY3k9IjE4IiByPSIzIj48L2NpcmNsZT48cGF0aCBkPSJNMTggOWE5IDkgMCAwIDEtOSA5Ij48L3BhdGg+PC9zdmc+YCwiYm9vay1vcGVuIjp3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cGF0aCBkPSJNMiAzaDZhNCA0IDAgMCAxIDQgNHYxNGEzIDMgMCAwIDAtMy0zSDJ6Ij48L3BhdGg+PHBhdGggZD0iTTIyIDNoLTZhNCA0IDAgMCAwLTQgNHYxNGEzIDMgMCAwIDEgMy0zaDd6Ij48L3BhdGg+PC9zdmc+YCxnbG9iZTp3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+PGxpbmUgeDE9IjIiIHkxPSIxMiIgeDI9IjIyIiB5Mj0iMTIiPjwvbGluZT48cGF0aCBkPSJNMTIgMmExNS4zIDE1LjMgMCAwIDEgNCAxMCAxNS4zIDE1LjMgMCAwIDEtNCAxMCAxNS4zIDE1LjMgMCAwIDEtNC0xMCAxNS4zIDE1LjMgMCAwIDEgNC0xMHoiPjwvcGF0aD48L3N2Zz5gLGRhdGFiYXNlOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxlbGxpcHNlIGN4PSIxMiIgY3k9IjUiIHJ4PSI5IiByeT0iMyI+PC9lbGxpcHNlPjxwYXRoIGQ9Ik0yMSAxMmMwIDEuNjYtNCAzLTkgM3MtOS0xLjM0LTktMyI+PC9wYXRoPjxwYXRoIGQ9Ik0zIDV2MTRjMCAxLjY2IDQgMyA5IDNzOS0xLjM0IDktM1Y1Ij48L3BhdGg+PC9zdmc+YCxzZXJ2ZXI6d2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjIwIiBoZWlnaHQ9IjgiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PjxyZWN0IHg9IjIiIHk9IjE0IiB3aWR0aD0iMjAiIGhlaWdodD0iOCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+PGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iNi4wMSIgeTI9IjYiPjwvbGluZT48bGluZSB4MT0iNiIgeTE9IjE4IiB4Mj0iNi4wMSIgeTI9IjE4Ij48L2xpbmU+PC9zdmc+YCxwYWNrYWdlOndgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxsaW5lIHgxPSIxNi41IiB5MT0iOS40IiB4Mj0iNy41IiB5Mj0iNC4yMSI+PC9saW5lPjxwYXRoIGQ9Ik0yMSAxNlY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNnoiPjwvcGF0aD48cG9seWxpbmUgcG9pbnRzPSIzLjI3IDYuOTYgMTIgMTIuMDEgMjAuNzMgNi45NiI+PC9wb2x5bGluZT48bGluZSB4MT0iMTIiIHkxPSIyMi4wOCIgeDI9IjEyIiB5Mj0iMTIiPjwvbGluZT48L3N2Zz5gLG1haWw6d2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTQgNGgxNmMxLjEgMCAyIC45IDIgMnYxMmMwIDEuMS0uOSAyLTIgMkg0Yy0xLjEgMC0yLS45LTItMlY2YzAtMS4xLjktMiAyLTJ6Ij48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz0iMjIsNiAxMiwxMyAyLDYiPjwvcG9seWxpbmU+PC9zdmc+YCxzaGllbGQ6d2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PHBhdGggZD0iTTEyIDIyczgtNCA4LTEwVjVsLTgtMy04IDN2N2MwIDYgOCAxMCA4IDEweiI+PC9wYXRoPjwvc3ZnPmAsbW9uaXRvcjp3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cmVjdCB4PSIyIiB5PSIzIiB3aWR0aD0iMjAiIGhlaWdodD0iMTQiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PjxsaW5lIHgxPSI4IiB5MT0iMjEiIHgyPSIxNiIgeTI9IjIxIj48L2xpbmU+PGxpbmUgeDE9IjEyIiB5MT0iMTciIHgyPSIxMiIgeTI9IjIxIj48L2xpbmU+PC9zdmc+YH1bYl18fHdgPHNwYW4gY2xhc3M9ImxldHRlci1mYWxsYmFjayI+Pzwvc3Bhbj5gfWhhbmRsZVZpZXdEZXRhaWxzKGIpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInZpZXctYXBwIix7ZGV0YWlsOnthcHA6Yn0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVEZXBsb3koYil7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiZGVwbG95LWFwcCIse2RldGFpbDp7YXBwOmJ9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLCQ1KHRoaXMsdil9c3RhdGljeyQ1KHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciByZXQsTUcsQk5hLEJ1YT1mKCgpPT57bGUoKTtyZXQ9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LE1HPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxCTmE9KCgpPT57bGV0IGE9W2llKCJzei10b2tlbnMtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelRva2Vuc1ZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9WyQoe3R5cGU6QXJyYXl9KV0scmV0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZ2xvYmFsVG9rZW5zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJnbG9iYWxUb2tlbnMiaW4gdiwiaGFzIiksZ2V0OnModj0+di5nbG9iYWxUb2tlbnMsImdldCIpLHNldDpzKCh2LHgpPT57di5nbG9iYWxUb2tlbnM9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLHJldCh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNpVG9rZW5zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJjaVRva2VucyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmNpVG9rZW5zLCJnZXQiKSxzZXQ6cygodix4KT0+e3YuY2lUb2tlbnM9eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLHJldChudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEwMDBweDsiPgogICAgICA8c3otdG9rZW5zLXZpZXcKICAgICAgICAuZ2xvYmFsVG9rZW5zPSR7W3tpZDoiMSIsbmFtZToiQ0kvQ0QgUGlwZWxpbmUiLHR5cGU6Imdsb2JhbCIsY3JlYXRlZEF0OiIyMDI0LTAxLTE1IixsYXN0VXNlZDoiMjAyNC0wMS0yMCJ9LHtpZDoiMiIsbmFtZToiRGV2ZWxvcG1lbnQiLHR5cGU6Imdsb2JhbCIsY3JlYXRlZEF0OiIyMDI0LTAxLTEwIn1dfQogICAgICAgIC5jaVRva2Vucz0ke1t7aWQ6IjMiLG5hbWU6ImhlbGxvLXdvcmxkLWNpIix0eXBlOiJjaSIsc2VydmljZToiaGVsbG8td29ybGQiLGNyZWF0ZWRBdDoiMjAyNC0wMS0xOCJ9LHtpZDoiNCIsbmFtZToiYXBpLXNlcnZpY2UtY2kiLHR5cGU6ImNpIixzZXJ2aWNlOiJhcGktc2VydmljZSIsY3JlYXRlZEF0OiIyMDI0LTAxLTEyIixsYXN0VXNlZDoiMjAyNC0wMS0xOSJ9XX0KICAgICAgPjwvc3otdG9rZW5zLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJBdXRoICYgU2V0dGluZ3MiXTsjZT1NRyh0aGlzLG4sW10pO2dldCBnbG9iYWxUb2tlbnMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgZ2xvYmFsVG9rZW5zKG0pe3RoaXMuI2U9bX0jdD0oTUcodGhpcyxsKSxNRyh0aGlzLGMsW10pKTtnZXQgY2lUb2tlbnMoKXtyZXR1cm4gdGhpcy4jdH1zZXQgY2lUb2tlbnMobSl7dGhpcy4jdD1tfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZSB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24taGVhZGVyIHsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuc2VjdGlvbi1oZWFkaW5nIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuc2VjdGlvbi1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAudGlsZS1idXR0b246Zmlyc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICB9CgogICAgICAudGlsZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4wOCkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjA4KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1MCUpIiwiaHNsKDIxMy4xIDkzLjklIDc1JSkiKX07CiAgICAgIH0KCiAgICAgIC50b2tlbi1saXN0IHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICAudG9rZW4taXRlbSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC50b2tlbi1pdGVtOmxhc3QtY2hpbGQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDA7CiAgICAgIH0KCiAgICAgIC50b2tlbi1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC50b2tlbi1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudG9rZW4tbWV0YSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC50b2tlbi1zZXJ2aWNlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDsKICAgICAgfQoKICAgICAgLnRva2VuLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kZWxldGUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRlbGV0ZTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDMycHggMTZweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5lbXB0eS10ZXh0IHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRpbmciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+R2xvYmFsIFRva2Vuczwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPlRva2VucyB0aGF0IGNhbiBwdXNoIGltYWdlcyB0byBtdWx0aXBsZSBzZXJ2aWNlczwvc3Bhbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5nbG9iYWxUb2tlbnMubGVuZ3RoPjA/d2AKICAgICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWxpc3QiPgogICAgICAgICAgICAke3RoaXMuZ2xvYmFsVG9rZW5zLm1hcChtPT50aGlzLnJlbmRlclRva2VuKG0pKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktdGV4dCI+Tm8gZ2xvYmFsIHRva2VucyBjcmVhdGVkPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgfQogICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0ic2VjdGlvbi1mb290ZXIiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24gcHJpbWFyeSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ3JlYXRlKCJnbG9iYWwiKX0+CiAgICAgICAgICAgIDxzdmcgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ij48L2xpbmU+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIENyZWF0ZSBUb2tlbgogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5DSSBUb2tlbnMgKFNlcnZpY2Utc3BlY2lmaWMpPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+VG9rZW5zIHRpZWQgdG8gaW5kaXZpZHVhbCBzZXJ2aWNlcyBmb3IgQ0kvQ0QgcGlwZWxpbmVzPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgJHt0aGlzLmNpVG9rZW5zLmxlbmd0aD4wP3dgCiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1saXN0Ij4KICAgICAgICAgICAgJHt0aGlzLmNpVG9rZW5zLm1hcChtPT50aGlzLnJlbmRlclRva2VuKG0pKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA6d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktdGV4dCI+Tm8gQ0kgdG9rZW5zIGNyZWF0ZWQ8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIGB9CiAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJzZWN0aW9uLWZvb3RlciI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiBwcmltYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDcmVhdGUoImNpIil9PgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgICAgIDxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBDcmVhdGUgVG9rZW4KICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9cmVuZGVyVG9rZW4obSl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InRva2VuLWl0ZW0iPgogICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWluZm8iPgogICAgICAgICAgPGRpdiBjbGFzcz0idG9rZW4tbmFtZSI+JHttLm5hbWV9PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2tlbi1tZXRhIj4KICAgICAgICAgICAgJHttLnNlcnZpY2U/d2A8c3BhbiBjbGFzcz0idG9rZW4tc2VydmljZSI+JHttLnNlcnZpY2V9PC9zcGFuPmA6IiJ9CiAgICAgICAgICAgIENyZWF0ZWQgJHttLmNyZWF0ZWRBdH0KICAgICAgICAgICAgJHttLmxhc3RVc2VkP3dgIMK3IExhc3QgdXNlZCAke20ubGFzdFVzZWR9YDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InRva2VuLWFjdGlvbnMiPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQ29weShtKX0+Q29weTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlUmVnZW5lcmF0ZShtKX0+UmVnZW5lcmF0ZTwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiBkZWxldGUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZShtKX0+RGVsZXRlPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYH1oYW5kbGVDcmVhdGUobSl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY3JlYXRlIix7ZGV0YWlsOnt0eXBlOm19LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlQ29weShtKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb3B5Iix7ZGV0YWlsOm0sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVSZWdlbmVyYXRlKG0pe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInJlZ2VuZXJhdGUiLHtkZXRhaWw6bSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZURlbGV0ZShtKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWxldGUiLHtkZXRhaWw6bSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxNRyh0aGlzLHApfXN0YXRpY3tNRyhyLHQpfX07cmV0dXJuIHU9cn0pKCl9KTt2YXIgc2V0LGtHLEhOYSxIdWE9ZigoKT0+e2xlKCk7c2V0PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxrRz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sSE5hPSgoKT0+e2xldCBhPVtpZSgic3otc2V0dGluZ3MtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelNldHRpbmdzVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHNldCh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNldHRpbmdzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJzZXR0aW5ncyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LnNldHRpbmdzLCJnZXQiKSxzZXQ6cygodix4KT0+e3Yuc2V0dGluZ3M9eH0sInNldCIpfSxtZXRhZGF0YTptfSxuLGwpLHNldCh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRVc2VyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHY9PiJjdXJyZW50VXNlciJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmN1cnJlbnRVc2VyLCJnZXQiKSxzZXQ6cygodix4KT0+e3YuY3VycmVudFVzZXI9eH0sInNldCIpfSxtZXRhZGF0YTptfSxjLHApLHNldChudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTptfSxudWxsLHQpLHU9cj1lLnZhbHVlLG0mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bX0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDgwMHB4OyI+CiAgICAgIDxzei1zZXR0aW5ncy12aWV3CiAgICAgICAgLnNldHRpbmdzPSR7e2RhcmtNb2RlOiEwLGNsb3VkZmxhcmVUb2tlbjoiIixjbG91ZGZsYXJlWm9uZUlkOiIiLGF1dG9SZW5ld0NlcnRzOiEwLHJlbmV3YWxUaHJlc2hvbGQ6MzAsYWNtZUVtYWlsOiJjZXJ0c0BleGFtcGxlLmNvbSIsaHR0cFBvcnQ6ODAsaHR0cHNQb3J0OjQ0Myxmb3JjZUh0dHBzOiEwfX0KICAgICAgICBjdXJyZW50VXNlcj0iYWRtaW4iCiAgICAgID48L3N6LXNldHRpbmdzLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJBdXRoICYgU2V0dGluZ3MiXTsjZT1rRyh0aGlzLG4se2RhcmtNb2RlOiExLGNsb3VkZmxhcmVUb2tlbjoiIixjbG91ZGZsYXJlWm9uZUlkOiIiLGF1dG9SZW5ld0NlcnRzOiEwLHJlbmV3YWxUaHJlc2hvbGQ6MzAsYWNtZUVtYWlsOiIiLGh0dHBQb3J0OjgwLGh0dHBzUG9ydDo0NDMsZm9yY2VIdHRwczohMH0pO2dldCBzZXR0aW5ncygpe3JldHVybiB0aGlzLiNlfXNldCBzZXR0aW5ncyhtKXt0aGlzLiNlPW19I3Q9KGtHKHRoaXMsbCksa0codGhpcyxjLCIiKSk7Z2V0IGN1cnJlbnRVc2VyKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGN1cnJlbnRVc2VyKG0pe3RoaXMuI3Q9bX1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICBkZWVzLXRpbGUgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24taGVhZGluZyB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuc2VjdGlvbi1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tZm9vdGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMDsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2U7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDgpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTAlKSIsImhzbCgyMTMuMSA5My45JSA3NSUpIil9OwogICAgICB9CgogICAgICAuZm9ybS1ncm91cCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmZvcm0tZ3JvdXA6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLmZvcm0tcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDEycHggMDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuZm9ybS1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmZvcm0tbGFiZWwtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDJweDsKICAgICAgfQoKICAgICAgLmZvcm0tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWhpbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuaW5wdXQtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmlucHV0LXJvdyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICBpbnB1dFt0eXBlPSJ0ZXh0Il0sCiAgICAgIGlucHV0W3R5cGU9InBhc3N3b3JkIl0sCiAgICAgIGlucHV0W3R5cGU9ImVtYWlsIl0sCiAgICAgIGlucHV0W3R5cGU9Im51bWJlciJdIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMwOTA5MGIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBvdXRsaW5lOiBub25lOwogICAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAyMDBtcyBlYXNlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIGlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAudG9nZ2xlLXN3aXRjaCB7CiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgICAgIHdpZHRoOiA0NHB4OwogICAgICAgIGhlaWdodDogMjRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtc3dpdGNoLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjM2I4MmY2Iil9OwogICAgICB9CgogICAgICAudG9nZ2xlLXN3aXRjaDo6YWZ0ZXIgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICB0b3A6IDJweDsKICAgICAgICBsZWZ0OiAycHg7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1zd2l0Y2guYWN0aXZlOjphZnRlciB7CiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOwogICAgICB9CgogICAgICAucGFzc3dvcmQtc2VjdGlvbiB7CiAgICAgICAgbWFyZ2luLXRvcDogMTZweDsKICAgICAgICBwYWRkaW5nLXRvcDogMTZweDsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAucGFzc3dvcmQtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQoKICAgICAgLnBhc3N3b3JkLWZpZWxkcyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmZpZWxkLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5BcHBlYXJhbmNlPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+Q3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tcm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1sYWJlbC1ncm91cCI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvcm0tbGFiZWwiPkRhcmsgTW9kZTwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9ybS1oaW50Ij5Ub2dnbGUgZGFyayBtb2RlIG9uIG9yIG9mZjwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InRvZ2dsZS1zd2l0Y2ggJHt0aGlzLnNldHRpbmdzLmRhcmtNb2RlPyJhY3RpdmUiOiIifSIgQGNsaWNrPSR7KCk9PnRoaXMudG9nZ2xlRGFya01vZGUoKX0+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CgogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tdGl0bGUiPkNsb3VkZmxhcmUgSW50ZWdyYXRpb248L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5Db25maWd1cmUgQ2xvdWRmbGFyZSBBUEkgZm9yIEROUyBtYW5hZ2VtZW50PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LWdyb3VwIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtbGFiZWwiPkFQSSBUb2tlbjwvZGl2PgogICAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJwYXNzd29yZCIgcGxhY2Vob2xkZXI9IkVudGVyIENsb3VkZmxhcmUgQVBJIHRva2VuIiAudmFsdWU9JHt0aGlzLnNldHRpbmdzLmNsb3VkZmxhcmVUb2tlbn0gQGlucHV0PSR7bT0+dGhpcy51cGRhdGVTZXR0aW5nKCJjbG91ZGZsYXJlVG9rZW4iLG0udGFyZ2V0LnZhbHVlKX0+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+Wm9uZSBJRCAoT3B0aW9uYWwpPC9kaXY+CiAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIHBsYWNlaG9sZGVyPSJEZWZhdWx0IHpvbmUgSUQiIC52YWx1ZT0ke3RoaXMuc2V0dGluZ3MuY2xvdWRmbGFyZVpvbmVJZH0gQGlucHV0PSR7bT0+dGhpcy51cGRhdGVTZXR0aW5nKCJjbG91ZGZsYXJlWm9uZUlkIixtLnRhcmdldC52YWx1ZSl9PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1oaW50Ij5HZXQgeW91ciBBUEkgdG9rZW4gZnJvbSB0aGUgQ2xvdWRmbGFyZSBkYXNoYm9hcmQgd2l0aCBETlMgZWRpdCBwZXJtaXNzaW9ucy48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2RlZXMtdGlsZT4KCiAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlYWRpbmciPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+U1NML1RMUyBTZXR0aW5nczwvc3Bhbj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tc3VidGl0bGUiPkNvbmZpZ3VyZSBjZXJ0aWZpY2F0ZSBtYW5hZ2VtZW50PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tcm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1sYWJlbC1ncm91cCI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZvcm0tbGFiZWwiPkF1dG8tUmVuZXcgQ2VydGlmaWNhdGVzPC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb3JtLWhpbnQiPkF1dG9tYXRpY2FsbHkgcmVuZXcgY2VydGlmaWNhdGVzIGJlZm9yZSBleHBpcnk8L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtc3dpdGNoICR7dGhpcy5zZXR0aW5ncy5hdXRvUmVuZXdDZXJ0cz8iYWN0aXZlIjoiIn0iIEBjbGljaz0keygpPT50aGlzLnRvZ2dsZVNldHRpbmcoImF1dG9SZW5ld0NlcnRzIil9PjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIiBzdHlsZT0ibWFyZ2luLXRvcDogMTZweDsiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+UmVuZXdhbCBUaHJlc2hvbGQgKGRheXMpPC9kaXY+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJudW1iZXIiIC52YWx1ZT0ke1N0cmluZyh0aGlzLnNldHRpbmdzLnJlbmV3YWxUaHJlc2hvbGQpfSBAaW5wdXQ9JHttPT50aGlzLnVwZGF0ZVNldHRpbmcoInJlbmV3YWxUaHJlc2hvbGQiLHBhcnNlSW50KG0udGFyZ2V0LnZhbHVlKSl9PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPlJlbmV3IGNlcnRpZmljYXRlcyB3aGVuIHRoZXkgaGF2ZSBmZXdlciB0aGFuIHRoaXMgbWFueSBkYXlzIHJlbWFpbmluZy48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLWxhYmVsIj5BQ01FIEVtYWlsPC9kaXY+CiAgICAgICAgICAgIDxpbnB1dCB0eXBlPSJlbWFpbCIgcGxhY2Vob2xkZXI9ImFkbWluQGV4YW1wbGUuY29tIiAudmFsdWU9JHt0aGlzLnNldHRpbmdzLmFjbWVFbWFpbH0gQGlucHV0PSR7bT0+dGhpcy51cGRhdGVTZXR0aW5nKCJhY21lRW1haWwiLG0udGFyZ2V0LnZhbHVlKX0+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taGludCI+RW1haWwgYWRkcmVzcyBmb3IgTGV0J3MgRW5jcnlwdCBub3RpZmljYXRpb25zLjwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgPGRlZXMtdGlsZT4KICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24taGVhZGluZyI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXRpdGxlIj5OZXR3b3JrIFNldHRpbmdzPC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic2VjdGlvbi1zdWJ0aXRsZSI+Q29uZmlndXJlIG5ldHdvcmsgYW5kIHByb3h5IHNldHRpbmdzPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImlucHV0LXJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLWxhYmVsIj5IVFRQIFBvcnQ8L2Rpdj4KICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiAudmFsdWU9JHtTdHJpbmcodGhpcy5zZXR0aW5ncy5odHRwUG9ydCl9IEBpbnB1dD0ke209PnRoaXMudXBkYXRlU2V0dGluZygiaHR0cFBvcnQiLHBhcnNlSW50KG0udGFyZ2V0LnZhbHVlKSl9PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtbGFiZWwiPkhUVFBTIFBvcnQ8L2Rpdj4KICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0ibnVtYmVyIiAudmFsdWU9JHtTdHJpbmcodGhpcy5zZXR0aW5ncy5odHRwc1BvcnQpfSBAaW5wdXQ9JHttPT50aGlzLnVwZGF0ZVNldHRpbmcoImh0dHBzUG9ydCIscGFyc2VJbnQobS50YXJnZXQudmFsdWUpKX0+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tbGFiZWwtZ3JvdXAiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb3JtLWxhYmVsIj5Gb3JjZSBIVFRQUzwvc3Bhbj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZm9ybS1oaW50Ij5SZWRpcmVjdCBhbGwgSFRUUCB0cmFmZmljIHRvIEhUVFBTPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLXN3aXRjaCAke3RoaXMuc2V0dGluZ3MuZm9yY2VIdHRwcz8iYWN0aXZlIjoiIn0iIEBjbGljaz0keygpPT50aGlzLnRvZ2dsZVNldHRpbmcoImZvcmNlSHR0cHMiKX0+PC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CgogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0ic2VjdGlvbi1oZWFkZXIiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZWFkaW5nIj4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InNlY3Rpb24tdGl0bGUiPkFjY291bnQ8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzZWN0aW9uLXN1YnRpdGxlIj5NYW5hZ2UgeW91ciBhY2NvdW50IHNldHRpbmdzPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1jb250ZW50Ij4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+Q3VycmVudCBVc2VyPC9kaXY+CiAgICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTRweDsgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsiPiR7dGhpcy5jdXJyZW50VXNlcnx8IlVua25vd24ifTwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXNzd29yZC1zZWN0aW9uIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGFzc3dvcmQtdGl0bGUiPkNoYW5nZSBQYXNzd29yZDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwYXNzd29yZC1maWVsZHMiPgogICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+Q3VycmVudCBQYXNzd29yZDwvZGl2PgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBpZD0iY3VycmVudFBhc3N3b3JkIj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtbGFiZWwiPk5ldyBQYXNzd29yZDwvZGl2PgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBpZD0ibmV3UGFzc3dvcmQiPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1sYWJlbCI+Q29uZmlybSBQYXNzd29yZDwvZGl2PgogICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InBhc3N3b3JkIiBpZD0iY29uZmlybVBhc3N3b3JkIj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9InNlY3Rpb24tZm9vdGVyIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbGUtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDaGFuZ2VQYXNzd29yZCgpfT5VcGRhdGUgUGFzc3dvcmQ8L2J1dHRvbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kZWVzLXRpbGU+CgogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCIgc3R5bGU9InBhZGRpbmc6IDEycHggMTZweDsgdGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsgZm9udC1zaXplOiAxMnB4OyI+CiAgICAgICAgICBTYXZlIHlvdXIgY2hhbmdlcyBvciByZXNldCB0byBkZWZhdWx0cy4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9InNlY3Rpb24tZm9vdGVyIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbGUtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVSZXNldCgpfT5SZXNldDwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24gcHJpbWFyeSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlU2F2ZSgpfT5TYXZlIFNldHRpbmdzPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGVlcy10aWxlPgogICAgYH10b2dnbGVEYXJrTW9kZSgpe3RoaXMuc2V0dGluZ3M9ey4uLnRoaXMuc2V0dGluZ3MsZGFya01vZGU6IXRoaXMuc2V0dGluZ3MuZGFya01vZGV9LHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInNldHRpbmctY2hhbmdlIix7ZGV0YWlsOntrZXk6ImRhcmtNb2RlIix2YWx1ZTp0aGlzLnNldHRpbmdzLmRhcmtNb2RlfSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfXRvZ2dsZVNldHRpbmcobSl7dGhpcy5zZXR0aW5nc1ttXT0hdGhpcy5zZXR0aW5nc1ttXSx0aGlzLnNldHRpbmdzPXsuLi50aGlzLnNldHRpbmdzfX11cGRhdGVTZXR0aW5nKG0sdil7dGhpcy5zZXR0aW5nc1ttXT12LHRoaXMuc2V0dGluZ3M9ey4uLnRoaXMuc2V0dGluZ3N9fWhhbmRsZUNoYW5nZVBhc3N3b3JkKCl7bGV0IG09dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgiY3VycmVudFBhc3N3b3JkIik/LnZhbHVlLHY9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgibmV3UGFzc3dvcmQiKT8udmFsdWUseD10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJjb25maXJtUGFzc3dvcmQiKT8udmFsdWU7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2hhbmdlLXBhc3N3b3JkIix7ZGV0YWlsOntjdXJyZW50UGFzc3dvcmQ6bSxuZXdQYXNzd29yZDp2LGNvbmZpcm1QYXNzd29yZDp4fSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVJlc2V0KCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicmVzZXQiLHtidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVNhdmUoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzYXZlIix7ZGV0YWlsOnRoaXMuc2V0dGluZ3MsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksa0codGhpcyxwKX1zdGF0aWN7a0cocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIFNHLEhjLHFOYSxxdWE9ZigoKT0+e2xlKCk7U0c9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEhjPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxxTmE9KCgpPT57bGV0IGE9W2llKCJzei1sb2dpbi12aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W107dmFyIHk9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6TG9naW5WaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGs9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpCb29sZWFufSldLGQ9WyQoe3R5cGU6U3RyaW5nfSldLHU9WyQoe3R5cGU6U3RyaW5nfSldLHg9WyQoe3R5cGU6U3RyaW5nfSldLFNHKHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ibG9hZGluZyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmxvYWRpbmcsImdldCIpLHNldDpzKChDLE4pPT57Qy5sb2FkaW5nPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSxTRyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVycm9yIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJlcnJvciJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmVycm9yLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuZXJyb3I9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxjLHApLFNHKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToidGl0bGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+InRpdGxlImluIEMsImhhcyIpLGdldDpzKEM9PkMudGl0bGUsImdldCIpLHNldDpzKChDLE4pPT57Qy50aXRsZT1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LG0sdiksU0codGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzdWJ0aXRsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4ic3VidGl0bGUiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5zdWJ0aXRsZSwiZ2V0Iiksc2V0OnMoKEMsTik9PntDLnN1YnRpdGxlPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sYixnKSxTRyhudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTprfSxudWxsLHQpLHk9cj1lLnZhbHVlLGsmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6a30pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJoZWlnaHQ6IDYwMHB4OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYmFja2dyb3VuZDogIzA5MDkwYjsiPgogICAgICA8c3otbG9naW4tdmlldz48L3N6LWxvZ2luLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJBdXRoICYgU2V0dGluZ3MiXTsjZT1IYyh0aGlzLG4sITEpO2dldCBsb2FkaW5nKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGxvYWRpbmcoayl7dGhpcy4jZT1rfSN0PShIYyh0aGlzLGwpLEhjKHRoaXMsYywiIikpO2dldCBlcnJvcigpe3JldHVybiB0aGlzLiN0fXNldCBlcnJvcihrKXt0aGlzLiN0PWt9I2E9KEhjKHRoaXMscCksSGModGhpcyxtLCJzZXJ2ZS56b25lIikpO2dldCB0aXRsZSgpe3JldHVybiB0aGlzLiNhfXNldCB0aXRsZShrKXt0aGlzLiNhPWt9I3I9KEhjKHRoaXMsdiksSGModGhpcyxiLCJTaWduIGluIHRvIHlvdXIgb25lYm94IikpO2dldCBzdWJ0aXRsZSgpe3JldHVybiB0aGlzLiNyfXNldCBzdWJ0aXRsZShrKXt0aGlzLiNyPWt9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMDkwOTBiIil9OwogICAgICB9CgogICAgICAubG9naW4tY29udGFpbmVyIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBtYXgtd2lkdGg6IDQwMHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgIH0KCiAgICAgIC5sb2dpbi1jYXJkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZmZmZmZiIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgcGFkZGluZzogMzJweDsKICAgICAgICBib3gtc2hhZG93OiAwIDRweCA2cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMSksIDAgMnB4IDRweCAtMXB4IHJnYmEoMCwgMCwgMCwgMC4wNik7CiAgICAgIH0KCiAgICAgIC5sb2dvLXNlY3Rpb24gewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAzMnB4OwogICAgICB9CgogICAgICAubG9nbyB7CiAgICAgICAgd2lkdGg6IDY0cHg7CiAgICAgICAgaGVpZ2h0OiA2NHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgICBtYXJnaW46IDAgYXV0byAxNnB4OwogICAgICB9CgogICAgICAubG9nbyBzdmcgewogICAgICAgIHdpZHRoOiAzNnB4OwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAudGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4OwogICAgICB9CgogICAgICAuc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuZm9ybSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjBweDsKICAgICAgfQoKICAgICAgLmZvcm0tZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDZweDsKICAgICAgfQoKICAgICAgLmZvcm0tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAxMnB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXMgZWFzZSwgYm94LXNoYWRvdyAyMDBtcyBlYXNlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5mb3JtLWlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggJHtoLmJkVGhlbWUoInJnYmEoNTksIDEzMCwgMjQ2LCAwLjEpIiwicmdiYSg5NiwgMTY1LCAyNTAsIDAuMSkiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLmZvcm0taW5wdXQuZXJyb3IgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZjg3MTcxIil9OwogICAgICB9CgogICAgICAuZXJyb3ItbWVzc2FnZSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjJmMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmZWNhY2EiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQoKICAgICAgLmVycm9yLW1lc3NhZ2Ugc3ZnIHsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5zdWJtaXQtYnV0dG9uIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBwYWRkaW5nOiAxMnB4IDIwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlLCB0cmFuc2Zvcm0gMjAwbXMgZWFzZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5zdWJtaXQtYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICBvcGFjaXR5OiAwLjk7CiAgICAgIH0KCiAgICAgIC5zdWJtaXQtYnV0dG9uOmFjdGl2ZTpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk4KTsKICAgICAgfQoKICAgICAgLnN1Ym1pdC1idXR0b246ZGlzYWJsZWQgewogICAgICAgIG9wYWNpdHk6IDAuNjsKICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOwogICAgICB9CgogICAgICAuc3Bpbm5lciB7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlci10b3AtY29sb3I6IGN1cnJlbnRDb2xvcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgICAgYW5pbWF0aW9uOiBzcGluIDAuOHMgbGluZWFyIGluZmluaXRlOwogICAgICB9CgogICAgICBAa2V5ZnJhbWVzIHNwaW4gewogICAgICAgIHRvIHsKICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7CiAgICAgICAgfQogICAgICB9CgogICAgICAuZm9vdGVyIHsKICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmZvb3RlciBhIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgLmZvb3RlciBhOmhvdmVyIHsKICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImxvZ2luLWNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0ibG9naW4tY2FyZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvLXNlY3Rpb24iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJsb2dvIj4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0yMSAxNlY4YTIgMiAwIDAgMC0xLTEuNzNsLTctNGEyIDIgMCAwIDAtMiAwbC03IDRBMiAyIDAgMCAwIDMgOHY4YTIgMiAwIDAgMCAxIDEuNzNsNyA0YTIgMiAwIDAgMCAyIDBsNy00QTIgMiAwIDAgMCAyMSAxNnoiPjwvcGF0aD4KICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjMuMjcgNi45NiAxMiAxMi4wMSAyMC43MyA2Ljk2Ij48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMjIuMDgiIHgyPSIxMiIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aXRsZSI+JHt0aGlzLnRpdGxlfTwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzdWJ0aXRsZSI+JHt0aGlzLnN1YnRpdGxlfTwvZGl2PgogICAgICAgICAgPC9kaXY+CgogICAgICAgICAgPGZvcm0gY2xhc3M9ImZvcm0iIEBzdWJtaXQ9JHt0aGlzLmhhbmRsZVN1Ym1pdH0+CiAgICAgICAgICAgICR7dGhpcy5lcnJvcj93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImVycm9yLW1lc3NhZ2UiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjgiIHgyPSIxMiIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjE2IiB4Mj0iMTIuMDEiIHkyPSIxNiI+PC9saW5lPgogICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICAke3RoaXMuZXJyb3J9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0idXNlcm5hbWUiPlVzZXJuYW1lPC9sYWJlbD4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICBpZD0idXNlcm5hbWUiCiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCAke3RoaXMuZXJyb3I/ImVycm9yIjoiIn0iCiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iRW50ZXIgeW91ciB1c2VybmFtZSIKICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT0idXNlcm5hbWUiCiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmxvYWRpbmd9CiAgICAgICAgICAgICAgICByZXF1aXJlZAogICAgICAgICAgICAgID4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiIGZvcj0icGFzc3dvcmQiPlBhc3N3b3JkPC9sYWJlbD4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InBhc3N3b3JkIgogICAgICAgICAgICAgICAgaWQ9InBhc3N3b3JkIgogICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0taW5wdXQgJHt0aGlzLmVycm9yPyJlcnJvciI6IiJ9IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkVudGVyIHlvdXIgcGFzc3dvcmQiCiAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9ImN1cnJlbnQtcGFzc3dvcmQiCiAgICAgICAgICAgICAgICA/ZGlzYWJsZWQ9JHt0aGlzLmxvYWRpbmd9CiAgICAgICAgICAgICAgICByZXF1aXJlZAogICAgICAgICAgICAgID4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICA8YnV0dG9uIHR5cGU9InN1Ym1pdCIgY2xhc3M9InN1Ym1pdC1idXR0b24iID9kaXNhYmxlZD0ke3RoaXMubG9hZGluZ30+CiAgICAgICAgICAgICAgJHt0aGlzLmxvYWRpbmc/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNwaW5uZXIiPjwvZGl2PgogICAgICAgICAgICAgICAgU2lnbmluZyBpbi4uLgogICAgICAgICAgICAgIGA6IlNpZ24gaW4ifQogICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgIDwvZm9ybT4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb290ZXIiPgogICAgICAgICAgICBQb3dlcmVkIGJ5IDxhIGhyZWY9Imh0dHBzOi8vc2VydmUuem9uZSIgdGFyZ2V0PSJfYmxhbmsiPnNlcnZlLnpvbmU8L2E+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfWhhbmRsZVN1Ym1pdChrKXtrLnByZXZlbnREZWZhdWx0KCk7bGV0IEM9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgidXNlcm5hbWUiKSxOPXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoInBhc3N3b3JkIik7aWYoIUN8fCFOKXJldHVybjtsZXQgXz1DLnZhbHVlLnRyaW0oKSx6PU4udmFsdWU7aWYoIV98fCF6KXt0aGlzLmVycm9yPSJQbGVhc2UgZW50ZXIgYm90aCB1c2VybmFtZSBhbmQgcGFzc3dvcmQiO3JldHVybn10aGlzLmVycm9yPSIiLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImxvZ2luIix7ZGV0YWlsOnt1c2VybmFtZTpfLHBhc3N3b3JkOnp9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y2xlYXJGb3JtKCl7bGV0IGs9dGhpcy5zaGFkb3dSb290Py5nZXRFbGVtZW50QnlJZCgidXNlcm5hbWUiKSxDPXRoaXMuc2hhZG93Um9vdD8uZ2V0RWxlbWVudEJ5SWQoInBhc3N3b3JkIik7ayYmKGsudmFsdWU9IiIpLEMmJihDLnZhbHVlPSIiKSx0aGlzLmVycm9yPSIifWZvY3VzVXNlcm5hbWUoKXtsZXQgaz10aGlzLnNoYWRvd1Jvb3Q/LmdldEVsZW1lbnRCeUlkKCJ1c2VybmFtZSIpO2smJmsuZm9jdXMoKX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksSGModGhpcyxnKX1zdGF0aWN7SGMocix0KX19O3JldHVybiB5PXJ9KSgpfSk7dmFyIGRpLEVhLFZOYSxWdWE9ZigoKT0+e2xlKCk7ZGk9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEVhPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxWTmE9KCgpPT57bGV0IGE9W2llKCJzei1zZXJ2aWNlLWNyZWF0ZS12aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W10seCxiPVtdLGc9W10seSxrPVtdLEM9W10sTixfPVtdLHo9W10sTyxUPVtdLEU9W10sQixNPVtdLFM9W10sUCxBPVtdLEY9W10sVyxqPVtdLEc9W10saGUsUj1bXSxVPVtdLG1lLEk9W10scT1bXSxjZSx1ZT1bXSxZPVtdLFgsSj1bXSxaPVtdLGdlLGFlPVtdLHJlPVtdLHllLFY9W10sSD1bXTt2YXIgb2U9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6U2VydmljZUNyZWF0ZVZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgc2U9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVskKHt0eXBlOkJvb2xlYW59KV0sdT1bSygpXSx4PVtLKCldLHk9W0soKV0sTj1bSygpXSxPPVtLKCldLEI9W0soKV0sUD1bSygpXSxXPVtLKCldLGhlPVtLKCldLG1lPVtLKCldLGNlPVtLKCldLFg9W0soKV0sZ2U9W0soKV0seWU9W0soKV0sZGkodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyZWdpc3RyaWVzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4icmVnaXN0cmllcyJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLnJlZ2lzdHJpZXMsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5yZWdpc3RyaWVzPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxuLGwpLGRpKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9hZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+ImxvYWRpbmciaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5sb2FkaW5nLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUubG9hZGluZz16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sYyxwKSxkaSh0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcnZpY2VOYW1lIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4ic2VydmljZU5hbWUiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5zZXJ2aWNlTmFtZSwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLnNlcnZpY2VOYW1lPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxtLHYpLGRpKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaW1hZ2VVcmwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJpbWFnZVVybCJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmltYWdlVXJsLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuaW1hZ2VVcmw9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LGIsZyksZGkodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFJlZ2lzdHJ5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4ic2VsZWN0ZWRSZWdpc3RyeSJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLnNlbGVjdGVkUmVnaXN0cnksImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5zZWxlY3RlZFJlZ2lzdHJ5PXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxrLEMpLGRpKHRoaXMsbnVsbCxOLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicG9ydHMiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJwb3J0cyJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLnBvcnRzLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUucG9ydHM9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LF8seiksZGkodGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbnZWYXJzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4iZW52VmFycyJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLmVudlZhcnMsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5lbnZWYXJzPXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxULEUpLGRpKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToidm9sdW1lcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+InZvbHVtZXMiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS52b2x1bWVzLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUudm9sdW1lcz16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sTSxTKSxkaSh0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNwdUxpbWl0IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHRlPT4iY3B1TGltaXQiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5jcHVMaW1pdCwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLmNwdUxpbWl0PXplfSwic2V0Iil9LG1ldGFkYXRhOnNlfSxBLEYpLGRpKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibWVtb3J5TGltaXQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJtZW1vcnlMaW1pdCJpbiB0ZSwiaGFzIiksZ2V0OnModGU9PnRlLm1lbW9yeUxpbWl0LCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUubWVtb3J5TGltaXQ9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LGosRyksZGkodGhpcyxudWxsLGhlLHtraW5kOiJhY2Nlc3NvciIsbmFtZToicmVzdGFydFBvbGljeSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+InJlc3RhcnRQb2xpY3kiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5yZXN0YXJ0UG9saWN5LCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUucmVzdGFydFBvbGljeT16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sUixVKSxkaSh0aGlzLG51bGwsbWUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJuZXR3b3JrTW9kZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+Im5ldHdvcmtNb2RlImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUubmV0d29ya01vZGUsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5uZXR3b3JrTW9kZT16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sSSxxKSxkaSh0aGlzLG51bGwsY2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93QWR2YW5jZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJzaG93QWR2YW5jZWQiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5zaG93QWR2YW5jZWQsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5zaG93QWR2YW5jZWQ9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LHVlLFkpLGRpKHRoaXMsbnVsbCxYLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZW5hYmxlTW9uZ29EQiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+ImVuYWJsZU1vbmdvREIiaW4gdGUsImhhcyIpLGdldDpzKHRlPT50ZS5lbmFibGVNb25nb0RCLCJnZXQiKSxzZXQ6cygodGUsemUpPT57dGUuZW5hYmxlTW9uZ29EQj16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sSixaKSxkaSh0aGlzLG51bGwsZ2Use2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVTMyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh0ZT0+ImVuYWJsZVMzImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUuZW5hYmxlUzMsImdldCIpLHNldDpzKCh0ZSx6ZSk9Pnt0ZS5lbmFibGVTMz16ZX0sInNldCIpfSxtZXRhZGF0YTpzZX0sYWUscmUpLGRpKHRoaXMsbnVsbCx5ZSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVuYWJsZUNsaWNrSG91c2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnModGU9PiJlbmFibGVDbGlja0hvdXNlImluIHRlLCJoYXMiKSxnZXQ6cyh0ZT0+dGUuZW5hYmxlQ2xpY2tIb3VzZSwiZ2V0Iiksc2V0OnMoKHRlLHplKT0+e3RlLmVuYWJsZUNsaWNrSG91c2U9emV9LCJzZXQiKX0sbWV0YWRhdGE6c2V9LFYsSCksZGkobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6c2V9LG51bGwsdCksb2U9cj1lLnZhbHVlLHNlJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnNlfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogODAwcHg7Ij4KICAgICAgPHN6LXNlcnZpY2UtY3JlYXRlLXZpZXcKICAgICAgICAucmVnaXN0cmllcz0ke1t7aWQ6IjEiLG5hbWU6Ik9uZWJveCBSZWdpc3RyeSIsdXJsOiJyZWdpc3RyeS5vbmVib3gubG9jYWwifSx7aWQ6IjIiLG5hbWU6IkRvY2tlciBIdWIiLHVybDoiZG9ja2VyLmlvIn1dfQogICAgICA+PC9zei1zZXJ2aWNlLWNyZWF0ZS12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiU2VydmljZXMiXTsjZT1FYSh0aGlzLG4sW10pO2dldCByZWdpc3RyaWVzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IHJlZ2lzdHJpZXMoc2Upe3RoaXMuI2U9c2V9I3Q9KEVhKHRoaXMsbCksRWEodGhpcyxjLCExKSk7Z2V0IGxvYWRpbmcoKXtyZXR1cm4gdGhpcy4jdH1zZXQgbG9hZGluZyhzZSl7dGhpcy4jdD1zZX0jYT0oRWEodGhpcyxwKSxFYSh0aGlzLG0sIiIpKTtnZXQgc2VydmljZU5hbWUoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2VydmljZU5hbWUoc2Upe3RoaXMuI2E9c2V9I3I9KEVhKHRoaXMsdiksRWEodGhpcyxiLCIiKSk7Z2V0IGltYWdlVXJsKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGltYWdlVXJsKHNlKXt0aGlzLiNyPXNlfSNzPShFYSh0aGlzLGcpLEVhKHRoaXMsaywiIikpO2dldCBzZWxlY3RlZFJlZ2lzdHJ5KCl7cmV0dXJuIHRoaXMuI3N9c2V0IHNlbGVjdGVkUmVnaXN0cnkoc2Upe3RoaXMuI3M9c2V9I2k9KEVhKHRoaXMsQyksRWEodGhpcyxfLFt7aG9zdFBvcnQ6IiIsY29udGFpbmVyUG9ydDoiIixwcm90b2NvbDoidGNwIn1dKSk7Z2V0IHBvcnRzKCl7cmV0dXJuIHRoaXMuI2l9c2V0IHBvcnRzKHNlKXt0aGlzLiNpPXNlfSNvPShFYSh0aGlzLHopLEVhKHRoaXMsVCxbe2tleToiIix2YWx1ZToiIn1dKSk7Z2V0IGVudlZhcnMoKXtyZXR1cm4gdGhpcy4jb31zZXQgZW52VmFycyhzZSl7dGhpcy4jbz1zZX0jbj0oRWEodGhpcyxFKSxFYSh0aGlzLE0sW10pKTtnZXQgdm9sdW1lcygpe3JldHVybiB0aGlzLiNufXNldCB2b2x1bWVzKHNlKXt0aGlzLiNuPXNlfSNsPShFYSh0aGlzLFMpLEVhKHRoaXMsQSwiIikpO2dldCBjcHVMaW1pdCgpe3JldHVybiB0aGlzLiNsfXNldCBjcHVMaW1pdChzZSl7dGhpcy4jbD1zZX0jYz0oRWEodGhpcyxGKSxFYSh0aGlzLGosIiIpKTtnZXQgbWVtb3J5TGltaXQoKXtyZXR1cm4gdGhpcy4jY31zZXQgbWVtb3J5TGltaXQoc2Upe3RoaXMuI2M9c2V9I2Q9KEVhKHRoaXMsRyksRWEodGhpcyxSLCJhbHdheXMiKSk7Z2V0IHJlc3RhcnRQb2xpY3koKXtyZXR1cm4gdGhpcy4jZH1zZXQgcmVzdGFydFBvbGljeShzZSl7dGhpcy4jZD1zZX0jdT0oRWEodGhpcyxVKSxFYSh0aGlzLEksImJyaWRnZSIpKTtnZXQgbmV0d29ya01vZGUoKXtyZXR1cm4gdGhpcy4jdX1zZXQgbmV0d29ya01vZGUoc2Upe3RoaXMuI3U9c2V9I3A9KEVhKHRoaXMscSksRWEodGhpcyx1ZSwhMSkpO2dldCBzaG93QWR2YW5jZWQoKXtyZXR1cm4gdGhpcy4jcH1zZXQgc2hvd0FkdmFuY2VkKHNlKXt0aGlzLiNwPXNlfSNmPShFYSh0aGlzLFkpLEVhKHRoaXMsSiwhMSkpO2dldCBlbmFibGVNb25nb0RCKCl7cmV0dXJuIHRoaXMuI2Z9c2V0IGVuYWJsZU1vbmdvREIoc2Upe3RoaXMuI2Y9c2V9I2g9KEVhKHRoaXMsWiksRWEodGhpcyxhZSwhMSkpO2dldCBlbmFibGVTMygpe3JldHVybiB0aGlzLiNofXNldCBlbmFibGVTMyhzZSl7dGhpcy4jaD1zZX0jbT0oRWEodGhpcyxyZSksRWEodGhpcyxWLCExKSk7Z2V0IGVuYWJsZUNsaWNrSG91c2UoKXtyZXR1cm4gdGhpcy4jbX1zZXQgZW5hYmxlQ2xpY2tIb3VzZShzZSl7dGhpcy4jbT1zZX1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXItc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDIwcHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTVweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLXRpdGxlIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgaGVpZ2h0OiAxOHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLXJvdyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5mb3JtLXJvdy5zaW5nbGUgewogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICB9CgogICAgICAuZm9ybS1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAuZm9ybS1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmZvcm0tbGFiZWwgLnJlcXVpcmVkIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNlZjQ0NDQiLCIjZjg3MTcxIil9OwogICAgICB9CgogICAgICAuZm9ybS1oaW50IHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmZvcm0taW5wdXQsCiAgICAgIC5mb3JtLXNlbGVjdCB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2U7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmZvcm0taW5wdXQ6Zm9jdXMsCiAgICAgIC5mb3JtLXNlbGVjdDpmb2N1cyB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5mb3JtLWlucHV0OjpwbGFjZWhvbGRlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLmZvcm0tc2VsZWN0IHsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgIH0KCiAgICAgIC5keW5hbWljLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmR5bmFtaWMtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICB9CgogICAgICAuZHluYW1pYy1yb3cgLmZvcm0taW5wdXQgewogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5keW5hbWljLXJvdyAuZm9ybS1zZWxlY3QgewogICAgICAgIHdpZHRoOiA4MHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAucmVtb3ZlLWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogMTBweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAucmVtb3ZlLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNmZWNhY2EiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IGRhc2hlZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICBtYXJnaW4tdG9wOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hZGQtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmFkZC1idXR0b24gc3ZnIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtYWR2YW5jZWQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiAxMnB4IDA7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzYwYTVmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYmFja2dyb3VuZDogbm9uZTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtYWR2YW5jZWQgc3ZnIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtYWR2YW5jZWQub3BlbiBzdmcgewogICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7CiAgICAgIH0KCiAgICAgIC5jaGVja2JveC1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmNoZWNrYm94IHsKICAgICAgICB3aWR0aDogMThweDsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgYWNjZW50LWNvbG9yOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5wbGF0Zm9ybS10b2dnbGUtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLnBsYXRmb3JtLXRvZ2dsZS1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnBsYXRmb3JtLXRvZ2dsZS1pdGVtOmhhcyhpbnB1dDpjaGVja2VkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlZmY2ZmYiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLnBsYXRmb3JtLXRvZ2dsZS1pbmZvIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICB9CgogICAgICAucGxhdGZvcm0tdG9nZ2xlLWljb24gewogICAgICAgIHdpZHRoOiAzNnB4OwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMjcyNzJhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLnBsYXRmb3JtLXRvZ2dsZS1pY29uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDIwcHg7CiAgICAgICAgaGVpZ2h0OiAyMHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5wbGF0Zm9ybS10b2dnbGUtbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnBsYXRmb3JtLXRvZ2dsZS1kZXNjIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tdG9wOiAycHg7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtc3dpdGNoIHsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgd2lkdGg6IDQ0cHg7CiAgICAgICAgaGVpZ2h0OiAyNHB4OwogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICB9CgogICAgICAudG9nZ2xlLXN3aXRjaCBpbnB1dCB7CiAgICAgICAgb3BhY2l0eTogMDsKICAgICAgICB3aWR0aDogMDsKICAgICAgICBoZWlnaHQ6IDA7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtc2xpZGVyIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRvcDogMDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGJvdHRvbTogMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC50b2dnbGUtc2xpZGVyOjpiZWZvcmUgewogICAgICAgIGNvbnRlbnQ6ICcnOwogICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgICAgICBoZWlnaHQ6IDE4cHg7CiAgICAgICAgd2lkdGg6IDE4cHg7CiAgICAgICAgbGVmdDogM3B4OwogICAgICAgIGJvdHRvbTogM3B4OwogICAgICAgIGJhY2tncm91bmQ6IHdoaXRlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRvZ2dsZS1zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIC50b2dnbGUtc2xpZGVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzNiODJmNiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC50b2dnbGUtc3dpdGNoIGlucHV0OmNoZWNrZWQgKyAudG9nZ2xlLXNsaWRlcjo6YmVmb3JlIHsKICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmctdG9wOiAxNnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICB9CgogICAgICAuYnV0dG9uIHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuYnV0dG9uLnNlY29uZGFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuYnV0dG9uLnByaW1hcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICBvcGFjaXR5OiAwLjk7CiAgICAgIH0KCiAgICAgIC5idXR0b24ucHJpbWFyeTpkaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC5zcGlubmVyIHsKICAgICAgICB3aWR0aDogMTZweDsKICAgICAgICBoZWlnaHQ6IDE2cHg7CiAgICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogY3VycmVudENvbG9yOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBhbmltYXRpb246IHNwaW4gMC44cyBsaW5lYXIgaW5maW5pdGU7CiAgICAgIH0KCiAgICAgIEBrZXlmcmFtZXMgc3BpbiB7CiAgICAgICAgdG8gewogICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKICAgICAgICB9CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItdGl0bGUiPkRlcGxveSBOZXcgU2VydmljZTwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXN1YnRpdGxlIj5Db25maWd1cmUgYW5kIGRlcGxveSBhIG5ldyBEb2NrZXIgY29udGFpbmVyPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPCEtLSBCYXNpYyBJbmZvIFNlY3Rpb24gLS0+CiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8cmVjdCB4PSIzIiB5PSIzIiB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PgogICAgICAgICAgICA8bGluZSB4MT0iOSIgeTE9IjkiIHgyPSIxNSIgeTI9IjkiPjwvbGluZT4KICAgICAgICAgICAgPGxpbmUgeDE9IjkiIHkxPSIxNSIgeDI9IjE1IiB5Mj0iMTUiPjwvbGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgQmFzaWMgSW5mb3JtYXRpb24KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIj5TZXJ2aWNlIE5hbWUgPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgY2xhc3M9ImZvcm0taW5wdXQiCiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Im15LXNlcnZpY2UiCiAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5zZXJ2aWNlTmFtZX0KICAgICAgICAgICAgICBAaW5wdXQ9JHtzZT0+dGhpcy5zZXJ2aWNlTmFtZT1zZS50YXJnZXQudmFsdWV9CiAgICAgICAgICAgID4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1oaW50Ij5VbmlxdWUgbmFtZSBmb3IgdGhlIHNlcnZpY2UgKGFscGhhbnVtZXJpYyBhbmQgaHlwaGVucyk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCI+UmVnaXN0cnk8L2xhYmVsPgogICAgICAgICAgICA8c2VsZWN0CiAgICAgICAgICAgICAgY2xhc3M9ImZvcm0tc2VsZWN0IgogICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuc2VsZWN0ZWRSZWdpc3RyeX0KICAgICAgICAgICAgICBAY2hhbmdlPSR7c2U9PnRoaXMuc2VsZWN0ZWRSZWdpc3RyeT1zZS50YXJnZXQudmFsdWV9CiAgICAgICAgICAgID4KICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSIiPkN1c3RvbSBJbWFnZSBVUkw8L29wdGlvbj4KICAgICAgICAgICAgICAke3RoaXMucmVnaXN0cmllcy5tYXAoc2U9PndgCiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSR7c2UuaWR9PiR7c2UubmFtZX08L29wdGlvbj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLXJvdyBzaW5nbGUiPgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz0iZm9ybS1sYWJlbCI+SW1hZ2UgPHNwYW4gY2xhc3M9InJlcXVpcmVkIj4qPC9zcGFuPjwvbGFiZWw+CiAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgY2xhc3M9ImZvcm0taW5wdXQiCiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Im5naW54OmxhdGVzdCBvciByZWdpc3RyeS5leGFtcGxlLmNvbS9pbWFnZTp0YWciCiAgICAgICAgICAgICAgLnZhbHVlPSR7dGhpcy5pbWFnZVVybH0KICAgICAgICAgICAgICBAaW5wdXQ9JHtzZT0+dGhpcy5pbWFnZVVybD1zZS50YXJnZXQudmFsdWV9CiAgICAgICAgICAgID4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1oaW50Ij5Eb2NrZXIgaW1hZ2UgdG8gZGVwbG95IChpbmNsdWRlIHRhZyk8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KCiAgICAgIDwhLS0gUG9ydCBDb25maWd1cmF0aW9uIC0tPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPgogICAgICAgICAgICA8bGluZSB4MT0iMiIgeTE9IjEyIiB4Mj0iMjIiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgICA8cGF0aCBkPSJNMTIgMmExNS4zIDE1LjMgMCAwIDEgNCAxMCAxNS4zIDE1LjMgMCAwIDEtNCAxMCAxNS4zIDE1LjMgMCAwIDEtNC0xMCAxNS4zIDE1LjMgMCAwIDEgNC0xMHoiPjwvcGF0aD4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgUG9ydCBDb25maWd1cmF0aW9uCiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZHluYW1pYy1saXN0Ij4KICAgICAgICAgICR7dGhpcy5wb3J0cy5tYXAoKHNlLHRlKT0+d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZHluYW1pYy1yb3ciPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Ikhvc3QgUG9ydCIKICAgICAgICAgICAgICAgIC52YWx1ZT0ke3NlLmhvc3RQb3J0fQogICAgICAgICAgICAgICAgQGlucHV0PSR7emU9PnRoaXMudXBkYXRlUG9ydCh0ZSwiaG9zdFBvcnQiLHplLnRhcmdldC52YWx1ZSl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9IkNvbnRhaW5lciBQb3J0IgogICAgICAgICAgICAgICAgLnZhbHVlPSR7c2UuY29udGFpbmVyUG9ydH0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3plPT50aGlzLnVwZGF0ZVBvcnQodGUsImNvbnRhaW5lclBvcnQiLHplLnRhcmdldC52YWx1ZSl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxzZWxlY3QKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLXNlbGVjdCIKICAgICAgICAgICAgICAgIC52YWx1ZT0ke3NlLnByb3RvY29sfQogICAgICAgICAgICAgICAgQGNoYW5nZT0ke3plPT50aGlzLnVwZGF0ZVBvcnQodGUsInByb3RvY29sIix6ZS50YXJnZXQudmFsdWUpfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9InRjcCI+VENQPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJ1ZHAiPlVEUDwvb3B0aW9uPgogICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICAgICR7dGhpcy5wb3J0cy5sZW5ndGg+MT93YAogICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0icmVtb3ZlLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMucmVtb3ZlUG9ydCh0ZSl9PgogICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTgiIHkxPSI2IiB4Mj0iNiIgeTI9IjE4Ij48L2xpbmU+CiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iMTgiIHkyPSIxOCI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWRkLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuYWRkUG9ydCgpfT4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgQWRkIFBvcnQgTWFwcGluZwogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2Rpdj4KCiAgICAgIDwhLS0gRW52aXJvbm1lbnQgVmFyaWFibGVzIC0tPgogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iNCAxNyAxMCAxMSA0IDUiPjwvcG9seWxpbmU+CiAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjE5IiB4Mj0iMjAiIHkyPSIxOSI+PC9saW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBFbnZpcm9ubWVudCBWYXJpYWJsZXMKICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJkeW5hbWljLWxpc3QiPgogICAgICAgICAgJHt0aGlzLmVudlZhcnMubWFwKChzZSx0ZSk9PndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImR5bmFtaWMtcm93Ij4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPSJLRVkiCiAgICAgICAgICAgICAgICAudmFsdWU9JHtzZS5rZXl9CiAgICAgICAgICAgICAgICBAaW5wdXQ9JHt6ZT0+dGhpcy51cGRhdGVFbnZWYXIodGUsImtleSIsemUudGFyZ2V0LnZhbHVlKX0KICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgICAgY2xhc3M9ImZvcm0taW5wdXQiCiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0idmFsdWUiCiAgICAgICAgICAgICAgICAudmFsdWU9JHtzZS52YWx1ZX0KICAgICAgICAgICAgICAgIEBpbnB1dD0ke3plPT50aGlzLnVwZGF0ZUVudlZhcih0ZSwidmFsdWUiLHplLnRhcmdldC52YWx1ZSl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICR7dGhpcy5lbnZWYXJzLmxlbmd0aD4xP3dgCiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJyZW1vdmUtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5yZW1vdmVFbnZWYXIodGUpfT4KICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCI+PC9saW5lPgogICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIGApfQogICAgICAgIDwvZGl2PgogICAgICAgIDxidXR0b24gY2xhc3M9ImFkZC1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmFkZEVudlZhcigpfT4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgQWRkIEVudmlyb25tZW50IFZhcmlhYmxlCiAgICAgICAgPC9idXR0b24+CiAgICAgIDwvZGl2PgoKICAgICAgPCEtLSBQbGF0Zm9ybSBTZXJ2aWNlcyAtLT4KICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgIDxyZWN0IHg9IjIiIHk9IjIiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgPHJlY3QgeD0iMiIgeT0iMTQiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgPGxpbmUgeDE9IjYiIHkxPSI2IiB4Mj0iNi4wMSIgeTI9IjYiPjwvbGluZT4KICAgICAgICAgICAgPGxpbmUgeDE9IjYiIHkxPSIxOCIgeDI9IjYuMDEiIHkyPSIxOCI+PC9saW5lPgogICAgICAgICAgPC9zdmc+CiAgICAgICAgICBQbGF0Zm9ybSBTZXJ2aWNlcwogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taGludCIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDEycHg7Ij4KICAgICAgICAgIEVuYWJsZSBtYW5hZ2VkIGluZnJhc3RydWN0dXJlIHNlcnZpY2VzIGZvciB0aGlzIGRlcGxveW1lbnQuIFJlc291cmNlcyBhcmUgYXV0b21hdGljYWxseSBwcm92aXNpb25lZCBhbmQgY29ubmVjdGlvbiBkZXRhaWxzIGluamVjdGVkIGFzIGVudmlyb25tZW50IHZhcmlhYmxlcy4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtbGlzdCI+CiAgICAgICAgICA8bGFiZWwgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1pdGVtIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWluZm8iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1pY29uIj4KICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0tMSAxNy45M2MtMy45NS0uNDktNy0zLjg1LTctNy45MyAwLS42Mi4wOC0xLjIxLjIxLTEuNzlMOSAxNXYxYzAgMS4xLjkgMiAyIDJ2MS45M3ptNi45LTIuNTRjLS4yNi0uODEtMS0xLjM5LTEuOS0xLjM5aC0xdi0zYzAtLjU1LS40NS0xLTEtMUg4di0yaDJjLjU1IDAgMS0uNDUgMS0xVjdoMmMxLjEgMCAyLS45IDItMnYtLjQxYzIuOTMgMS4xOSA1IDQuMDYgNSA3LjQxIDAgMi4wOC0uOCAzLjk3LTIuMSA1LjM5eiIvPjwvc3ZnPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtbmFtZSI+TW9uZ29EQjwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWRlc2MiPkRvY3VtZW50IGRhdGFiYXNlIHdpdGggYXV0by1wcm92aXNpb25lZCBjcmVkZW50aWFsczwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLXN3aXRjaCI+CiAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICB0eXBlPSJjaGVja2JveCIKICAgICAgICAgICAgICAgID9jaGVja2VkPSR7dGhpcy5lbmFibGVNb25nb0RCfQogICAgICAgICAgICAgICAgQGNoYW5nZT0ke3NlPT50aGlzLmVuYWJsZU1vbmdvREI9c2UudGFyZ2V0LmNoZWNrZWR9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0b2dnbGUtc2xpZGVyIj48L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9sYWJlbD4KICAgICAgICAgIDxsYWJlbCBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWl0ZW0iPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtaW5mbyI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWljb24iPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTIxIDE2LjVjMCAuMzgtLjIxLjcxLS41My44OGwtNy45IDQuNDRjLS4xNi4xMi0uMzYuMTgtLjU3LjE4LS4yMSAwLS40MS0uMDYtLjU3LS4xOGwtNy45LTQuNDRBLjk5MS45OTEgMCAwIDEgMyAxNi41di05YzAtLjM4LjIxLS43MS41My0uODhsNy45LTQuNDRjLjE2LS4xMi4zNi0uMTguNTctLjE4LjIxIDAgLjQxLjA2LjU3LjE4bDcuOSA0LjQ0Yy4zMi4xNy41My41LjUzLjg4djl6Ii8+PC9zdmc+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1uYW1lIj5TMyBTdG9yYWdlIChNaW5JTyk8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1kZXNjIj5PYmplY3Qgc3RvcmFnZSBidWNrZXQgd2l0aCBhdXRvLXByb3Zpc2lvbmVkIGFjY2VzcyBrZXlzPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUtc3dpdGNoIj4KICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgIHR5cGU9ImNoZWNrYm94IgogICAgICAgICAgICAgICAgP2NoZWNrZWQ9JHt0aGlzLmVuYWJsZVMzfQogICAgICAgICAgICAgICAgQGNoYW5nZT0ke3NlPT50aGlzLmVuYWJsZVMzPXNlLnRhcmdldC5jaGVja2VkfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idG9nZ2xlLXNsaWRlciI+PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvbGFiZWw+CiAgICAgICAgICA8bGFiZWwgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1pdGVtIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icGxhdGZvcm0tdG9nZ2xlLWluZm8iPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1pY29uIj4KICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxyZWN0IHg9IjIiIHk9IjIiIHdpZHRoPSI2IiBoZWlnaHQ9IjIwIi8+PHJlY3QgeD0iOSIgeT0iNyIgd2lkdGg9IjYiIGhlaWdodD0iMTUiLz48cmVjdCB4PSIxNiIgeT0iMTIiIHdpZHRoPSI2IiBoZWlnaHQ9IjEwIi8+PC9zdmc+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBsYXRmb3JtLXRvZ2dsZS1uYW1lIj5DbGlja0hvdXNlPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwbGF0Zm9ybS10b2dnbGUtZGVzYyI+QW5hbHl0aWNzIGRhdGFiYXNlIHdpdGggYXV0by1wcm92aXNpb25lZCBjcmVkZW50aWFsczwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idG9nZ2xlLXN3aXRjaCI+CiAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICB0eXBlPSJjaGVja2JveCIKICAgICAgICAgICAgICAgID9jaGVja2VkPSR7dGhpcy5lbmFibGVDbGlja0hvdXNlfQogICAgICAgICAgICAgICAgQGNoYW5nZT0ke3NlPT50aGlzLmVuYWJsZUNsaWNrSG91c2U9c2UudGFyZ2V0LmNoZWNrZWR9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJ0b2dnbGUtc2xpZGVyIj48L3NwYW4+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9sYWJlbD4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8IS0tIEFkdmFuY2VkIE9wdGlvbnMgVG9nZ2xlIC0tPgogICAgICA8YnV0dG9uCiAgICAgICAgY2xhc3M9InRvZ2dsZS1hZHZhbmNlZCAke3RoaXMuc2hvd0FkdmFuY2VkPyJvcGVuIjoiIn0iCiAgICAgICAgQGNsaWNrPSR7KCk9PnRoaXMuc2hvd0FkdmFuY2VkPSF0aGlzLnNob3dBZHZhbmNlZH0KICAgICAgPgogICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjYgOSAxMiAxNSAxOCA5Ij48L3BvbHlsaW5lPgogICAgICAgIDwvc3ZnPgogICAgICAgIEFkdmFuY2VkIE9wdGlvbnMKICAgICAgPC9idXR0b24+CgogICAgICAke3RoaXMuc2hvd0FkdmFuY2VkP3dgCiAgICAgICAgPCEtLSBWb2x1bWVzIC0tPgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMjIgMTlhMiAyIDAgMCAxLTIgMkg0YTIgMiAwIDAgMS0yLTJWNWEyIDIgMCAwIDEgMi0yaDVsMiAzaDlhMiAyIDAgMCAxIDIgMnoiPjwvcGF0aD4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIFZvbHVtZSBNb3VudHMKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZHluYW1pYy1saXN0Ij4KICAgICAgICAgICAgJHt0aGlzLnZvbHVtZXMubGVuZ3RoPT09MD93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0taGludCI+Tm8gdm9sdW1lcyBjb25maWd1cmVkPC9kaXY+CiAgICAgICAgICAgIGA6dGhpcy52b2x1bWVzLm1hcCgoc2UsdGUpPT53YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImR5bmFtaWMtcm93Ij4KICAgICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1pbnB1dCIKICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9Ii9ob3N0L3BhdGgiCiAgICAgICAgICAgICAgICAgIC52YWx1ZT0ke3NlLmhvc3RQYXRofQogICAgICAgICAgICAgICAgICBAaW5wdXQ9JHt6ZT0+dGhpcy51cGRhdGVWb2x1bWUodGUsImhvc3RQYXRoIix6ZS50YXJnZXQudmFsdWUpfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPGlucHV0CiAgICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj0iL2NvbnRhaW5lci9wYXRoIgogICAgICAgICAgICAgICAgICAudmFsdWU9JHtzZS5jb250YWluZXJQYXRofQogICAgICAgICAgICAgICAgICBAaW5wdXQ9JHt6ZT0+dGhpcy51cGRhdGVWb2x1bWUodGUsImNvbnRhaW5lclBhdGgiLHplLnRhcmdldC52YWx1ZSl9CiAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjaGVja2JveC1yb3ciPgogICAgICAgICAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgICAgICAgICB0eXBlPSJjaGVja2JveCIKICAgICAgICAgICAgICAgICAgICBjbGFzcz0iY2hlY2tib3giCiAgICAgICAgICAgICAgICAgICAgP2NoZWNrZWQ9JHtzZS5yZWFkT25seX0KICAgICAgICAgICAgICAgICAgICBAY2hhbmdlPSR7emU9PnRoaXMudXBkYXRlVm9sdW1lKHRlLCJyZWFkT25seSIsemUudGFyZ2V0LmNoZWNrZWQpfQogICAgICAgICAgICAgICAgICA+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmb3JtLWhpbnQiPlJPPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJyZW1vdmUtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5yZW1vdmVWb2x1bWUodGUpfT4KICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgPGxpbmUgeDE9IjE4IiB5MT0iNiIgeDI9IjYiIHkyPSIxOCI+PC9saW5lPgogICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI2IiB5MT0iNiIgeDI9IjE4IiB5Mj0iMTgiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFkZC1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmFkZFZvbHVtZSgpfT4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ij48L2xpbmU+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIEFkZCBWb2x1bWUgTW91bnQKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIFJlc291cmNlIExpbWl0cyAtLT4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPHJlY3QgeD0iMSIgeT0iNCIgd2lkdGg9IjIyIiBoZWlnaHQ9IjE2IiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICA8bGluZSB4MT0iMSIgeTE9IjEwIiB4Mj0iMjMiIHkyPSIxMCI+PC9saW5lPgogICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgUmVzb3VyY2UgTGltaXRzCiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImZvcm0tcm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIj5DUFUgTGltaXQ8L2xhYmVsPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9ImUuZy4sIDEuMCBvciAwLjUiCiAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLmNwdUxpbWl0fQogICAgICAgICAgICAgICAgQGlucHV0PSR7c2U9PnRoaXMuY3B1TGltaXQ9c2UudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPk51bWJlciBvZiBDUFVzIChsZWF2ZSBlbXB0eSBmb3IgdW5saW1pdGVkKTwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIj5NZW1vcnkgTGltaXQ8L2xhYmVsPgogICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLWlucHV0IgogICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9ImUuZy4sIDUxMm0gb3IgMWciCiAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLm1lbW9yeUxpbWl0fQogICAgICAgICAgICAgICAgQGlucHV0PSR7c2U9PnRoaXMubWVtb3J5TGltaXQ9c2UudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWhpbnQiPk1lbW9yeSBsaW1pdCAobGVhdmUgZW1wdHkgZm9yIHVubGltaXRlZCk8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBSZXN0YXJ0IFBvbGljeSAmIE5ldHdvcmsgLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIj4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjMiPjwvY2lyY2xlPgogICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xOS40IDE1YTEuNjUgMS42NSAwIDAgMCAuMzMgMS44MmwuMDYuMDZhMiAyIDAgMCAxIDAgMi44MyAyIDIgMCAwIDEtMi44MyAwbC0uMDYtLjA2YTEuNjUgMS42NSAwIDAgMC0xLjgyLS4zMyAxLjY1IDEuNjUgMCAwIDAtMSAxLjUxVjIxYTIgMiAwIDAgMS0yIDIgMiAyIDAgMCAxLTItMnYtLjA5QTEuNjUgMS42NSAwIDAgMCA5IDE5LjRhMS42NSAxLjY1IDAgMCAwLTEuODIuMzNsLS4wNi4wNmEyIDIgMCAwIDEtMi44MyAwIDIgMiAwIDAgMSAwLTIuODNsLjA2LS4wNmExLjY1IDEuNjUgMCAwIDAgLjMzLTEuODIgMS42NSAxLjY1IDAgMCAwLTEuNTEtMUgzYTIgMiAwIDAgMS0yLTIgMiAyIDAgMCAxIDItMmguMDlBMS42NSAxLjY1IDAgMCAwIDQuNiA5YTEuNjUgMS42NSAwIDAgMC0uMzMtMS44MmwtLjA2LS4wNmEyIDIgMCAwIDEgMC0yLjgzIDIgMiAwIDAgMSAyLjgzIDBsLjA2LjA2YTEuNjUgMS42NSAwIDAgMCAxLjgyLjMzSDlhMS42NSAxLjY1IDAgMCAwIDEtMS41MVYzYTIgMiAwIDAgMSAyLTIgMiAyIDAgMCAxIDIgMnYuMDlhMS42NSAxLjY1IDAgMCAwIDEgMS41MSAxLjY1IDEuNjUgMCAwIDAgMS44Mi0uMzNsLjA2LS4wNmEyIDIgMCAwIDEgMi44MyAwIDIgMiAwIDAgMSAwIDIuODNsLS4wNi4wNmExLjY1IDEuNjUgMCAwIDAtLjMzIDEuODJWOWExLjY1IDEuNjUgMCAwIDAgMS41MSAxSDIxYTIgMiAwIDAgMSAyIDIgMiAyIDAgMCAxLTIgMmgtLjA5YTEuNjUgMS42NSAwIDAgMC0xLjUxIDF6Ij48L3BhdGg+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBDb250YWluZXIgU2V0dGluZ3MKICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1yb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9ImZvcm0tbGFiZWwiPlJlc3RhcnQgUG9saWN5PC9sYWJlbD4KICAgICAgICAgICAgICA8c2VsZWN0CiAgICAgICAgICAgICAgICBjbGFzcz0iZm9ybS1zZWxlY3QiCiAgICAgICAgICAgICAgICAudmFsdWU9JHt0aGlzLnJlc3RhcnRQb2xpY3l9CiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7c2U9PnRoaXMucmVzdGFydFBvbGljeT1zZS50YXJnZXQudmFsdWV9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT0iYWx3YXlzIj5BbHdheXM8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im9uLWZhaWx1cmUiPk9uIEZhaWx1cmU8L29wdGlvbj4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9Im5ldmVyIj5OZXZlcjwvb3B0aW9uPgogICAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPSJmb3JtLWxhYmVsIj5OZXR3b3JrIE1vZGU8L2xhYmVsPgogICAgICAgICAgICAgIDxzZWxlY3QKICAgICAgICAgICAgICAgIGNsYXNzPSJmb3JtLXNlbGVjdCIKICAgICAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMubmV0d29ya01vZGV9CiAgICAgICAgICAgICAgICBAY2hhbmdlPSR7c2U9PnRoaXMubmV0d29ya01vZGU9c2UudGFyZ2V0LnZhbHVlfQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9ImJyaWRnZSI+QnJpZGdlPC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJob3N0Ij5Ib3N0PC9vcHRpb24+CiAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPSJub25lIj5Ob25lPC9vcHRpb24+CiAgICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CgogICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zIj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJidXR0b24gc2Vjb25kYXJ5IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDYW5jZWwoKX0+Q2FuY2VsPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbgogICAgICAgICAgY2xhc3M9ImJ1dHRvbiBwcmltYXJ5IgogICAgICAgICAgP2Rpc2FibGVkPSR7dGhpcy5sb2FkaW5nfHwhdGhpcy5pc1ZhbGlkKCl9CiAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVDcmVhdGUoKX0KICAgICAgICA+CiAgICAgICAgICAke3RoaXMubG9hZGluZz93YDxkaXYgY2xhc3M9InNwaW5uZXIiPjwvZGl2PmA6IiJ9CiAgICAgICAgICAke3RoaXMubG9hZGluZz8iRGVwbG95aW5nLi4uIjoiRGVwbG95IFNlcnZpY2UifQogICAgICAgIDwvYnV0dG9uPgogICAgICA8L2Rpdj4KICAgIGB9aXNWYWxpZCgpe3JldHVybiB0aGlzLnNlcnZpY2VOYW1lLnRyaW0oKSE9PSIiJiZ0aGlzLmltYWdlVXJsLnRyaW0oKSE9PSIifWFkZFBvcnQoKXt0aGlzLnBvcnRzPVsuLi50aGlzLnBvcnRzLHtob3N0UG9ydDoiIixjb250YWluZXJQb3J0OiIiLHByb3RvY29sOiJ0Y3AifV19cmVtb3ZlUG9ydChzZSl7dGhpcy5wb3J0cz10aGlzLnBvcnRzLmZpbHRlcigodGUsemUpPT56ZSE9PXNlKX11cGRhdGVQb3J0KHNlLHRlLHplKXtsZXQgT2U9Wy4uLnRoaXMucG9ydHNdO09lW3NlXVt0ZV09emUsdGhpcy5wb3J0cz1PZX1hZGRFbnZWYXIoKXt0aGlzLmVudlZhcnM9Wy4uLnRoaXMuZW52VmFycyx7a2V5OiIiLHZhbHVlOiIifV19cmVtb3ZlRW52VmFyKHNlKXt0aGlzLmVudlZhcnM9dGhpcy5lbnZWYXJzLmZpbHRlcigodGUsemUpPT56ZSE9PXNlKX11cGRhdGVFbnZWYXIoc2UsdGUsemUpe2xldCBPZT1bLi4udGhpcy5lbnZWYXJzXTtPZVtzZV1bdGVdPXplLHRoaXMuZW52VmFycz1PZX1hZGRWb2x1bWUoKXt0aGlzLnZvbHVtZXM9Wy4uLnRoaXMudm9sdW1lcyx7aG9zdFBhdGg6IiIsY29udGFpbmVyUGF0aDoiIixyZWFkT25seTohMX1dfXJlbW92ZVZvbHVtZShzZSl7dGhpcy52b2x1bWVzPXRoaXMudm9sdW1lcy5maWx0ZXIoKHRlLHplKT0+emUhPT1zZSl9dXBkYXRlVm9sdW1lKHNlLHRlLHplKXtsZXQgT2U9Wy4uLnRoaXMudm9sdW1lc107T2Vbc2VdW3RlXT16ZSx0aGlzLnZvbHVtZXM9T2V9aGFuZGxlQ2FuY2VsKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY2FuY2VsIix7YnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVDcmVhdGUoKXtsZXQgc2U9e25hbWU6dGhpcy5zZXJ2aWNlTmFtZS50cmltKCksaW1hZ2U6dGhpcy5pbWFnZVVybC50cmltKCkscG9ydHM6dGhpcy5wb3J0cy5maWx0ZXIodGU9PnRlLmhvc3RQb3J0JiZ0ZS5jb250YWluZXJQb3J0KSxlbnZWYXJzOnRoaXMuZW52VmFycy5maWx0ZXIodGU9PnRlLmtleSksdm9sdW1lczp0aGlzLnZvbHVtZXMuZmlsdGVyKHRlPT50ZS5ob3N0UGF0aCYmdGUuY29udGFpbmVyUGF0aCksY3B1TGltaXQ6dGhpcy5jcHVMaW1pdCxtZW1vcnlMaW1pdDp0aGlzLm1lbW9yeUxpbWl0LHJlc3RhcnRQb2xpY3k6dGhpcy5yZXN0YXJ0UG9saWN5LG5ldHdvcmtNb2RlOnRoaXMubmV0d29ya01vZGUsZW5hYmxlTW9uZ29EQjp0aGlzLmVuYWJsZU1vbmdvREIsZW5hYmxlUzM6dGhpcy5lbmFibGVTMyxlbmFibGVDbGlja0hvdXNlOnRoaXMuZW5hYmxlQ2xpY2tIb3VzZX07dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiY3JlYXRlLXNlcnZpY2UiLHtkZXRhaWw6c2UsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1yZXNldCgpe3RoaXMuc2VydmljZU5hbWU9IiIsdGhpcy5pbWFnZVVybD0iIix0aGlzLnNlbGVjdGVkUmVnaXN0cnk9IiIsdGhpcy5wb3J0cz1be2hvc3RQb3J0OiIiLGNvbnRhaW5lclBvcnQ6IiIscHJvdG9jb2w6InRjcCJ9XSx0aGlzLmVudlZhcnM9W3trZXk6IiIsdmFsdWU6IiJ9XSx0aGlzLnZvbHVtZXM9W10sdGhpcy5jcHVMaW1pdD0iIix0aGlzLm1lbW9yeUxpbWl0PSIiLHRoaXMucmVzdGFydFBvbGljeT0iYWx3YXlzIix0aGlzLm5ldHdvcmtNb2RlPSJicmlkZ2UiLHRoaXMuc2hvd0FkdmFuY2VkPSExLHRoaXMuZW5hYmxlTW9uZ29EQj0hMSx0aGlzLmVuYWJsZVMzPSExLHRoaXMuZW5hYmxlQ2xpY2tIb3VzZT0hMX1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksRWEodGhpcyxIKX1zdGF0aWN7RWEocix0KX19O3JldHVybiBvZT1yfSkoKX0pO3ZhciBiaWUsRDUsak5hLGp1YT1mKCgpPT57bGUoKTtiaWU9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LEQ1PWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxqTmE9KCgpPT57bGV0IGE9W2llKCJzei1wbGF0Zm9ybS1zZXJ2aWNlLWRldGFpbC12aWV3IildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6UGxhdGZvcm1TZXJ2aWNlRGV0YWlsVmlldyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6QXJyYXl9KV0sdT1bJCh7dHlwZTpCb29sZWFufSldLGJpZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlcnZpY2UiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InNlcnZpY2UiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5zZXJ2aWNlLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuc2VydmljZT15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LG4sbCksYmllKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToibG9ncyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ibG9ncyJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmxvZ3MsImdldCIpLHNldDpzKChnLHkpPT57Zy5sb2dzPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSxiaWUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpb25Mb2FkaW5nIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJhY3Rpb25Mb2FkaW5nImluIGcsImhhcyIpLGdldDpzKGc9PmcuYWN0aW9uTG9hZGluZywiZ2V0Iiksc2V0OnMoKGcseSk9PntnLmFjdGlvbkxvYWRpbmc9eX0sInNldCIpfSxtZXRhZGF0YTpifSxtLHYpLGJpZShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpifSxudWxsLHQpLHg9cj1lLnZhbHVlLGImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Yn0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8ZGl2IHN0eWxlPSJwYWRkaW5nOiAyNHB4OyBtYXgtd2lkdGg6IDEwMDBweDsiPgogICAgICA8c3otcGxhdGZvcm0tc2VydmljZS1kZXRhaWwtdmlldwogICAgICAgIC5zZXJ2aWNlPSR7e2lkOiIxIixuYW1lOiJNb25nb0RCIix0eXBlOiJtb25nb2RiIixzdGF0dXM6InJ1bm5pbmciLHZlcnNpb246IjcuMC40Iixob3N0OiJsb2NhbGhvc3QiLHBvcnQ6MjcwMTcsY3JlZGVudGlhbHM6e3VzZXJuYW1lOiJhZG1pbiIscGFzc3dvcmQ6Ilx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMlx1MjAyMiJ9LGNvbmZpZzp7cmVwbGljYVNldDoicnMwIixhdXRoRW5hYmxlZDohMH0sbWV0cmljczp7Y3B1OjEyLG1lbW9yeTo0NSxzdG9yYWdlOjIzLGNvbm5lY3Rpb25zOjh9fX0KICAgICAgICAubG9ncz0ke1t7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjIyIixsZXZlbDoiaW5mbyIsbWVzc2FnZToiQ29ubmVjdGlvbiBhY2NlcHRlZCBmcm9tIDEyNy4wLjAuMTo1NDMyMSJ9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MjAiLGxldmVsOiJpbmZvIixtZXNzYWdlOiJJbmRleCBidWlsZCBjb21wbGV0ZWQgb24gY29sbGVjdGlvbiB1c2VycyJ9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MTUiLGxldmVsOiJ3YXJuIixtZXNzYWdlOiJTbG93IHF1ZXJ5IGRldGVjdGVkOiAxLjJzIG9uIGNvbGxlY3Rpb24gb3JkZXJzIn0se3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoxMCIsbGV2ZWw6ImluZm8iLG1lc3NhZ2U6IkNoZWNrcG9pbnQgY29tcGxldGUifV19CiAgICAgID48L3N6LXBsYXRmb3JtLXNlcnZpY2UtZGV0YWlsLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJQbGF0Zm9ybSJdOyNlPUQ1KHRoaXMsbixudWxsKTtnZXQgc2VydmljZSgpe3JldHVybiB0aGlzLiNlfXNldCBzZXJ2aWNlKGIpe3RoaXMuI2U9Yn0jdD0oRDUodGhpcyxsKSxENSh0aGlzLGMsW10pKTtnZXQgbG9ncygpe3JldHVybiB0aGlzLiN0fXNldCBsb2dzKGIpe3RoaXMuI3Q9Yn0jYT0oRDUodGhpcyxwKSxENSh0aGlzLG0sITEpKTtnZXQgYWN0aW9uTG9hZGluZygpe3JldHVybiB0aGlzLiNhfXNldCBhY3Rpb25Mb2FkaW5nKGIpe3RoaXMuI2E9Yn1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLWljb24gewogICAgICAgIHdpZHRoOiA1NnB4OwogICAgICAgIGhlaWdodDogNTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5zZXJ2aWNlLWljb24gc3ZnIHsKICAgICAgICB3aWR0aDogMjhweDsKICAgICAgICBoZWlnaHQ6IDI4cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnNlcnZpY2UtZGV0YWlscyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuc2VydmljZS1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDIycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc2VydmljZS1tZXRhIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5ydW5uaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5zdG9wcGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5lcnJvciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtZG90IHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmRpc2FibGVkIHsKICAgICAgICBvcGFjaXR5OiAwLjY7CiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gc3ZnIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRhbmdlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4zKSIpfTsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24uZGFuZ2VyOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgICAgICAgLmdyaWQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7CiAgICAgICAgfQogICAgICB9CgogICAgICBkZWVzLXRpbGUuZnVsbC13aWR0aCB7CiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAtMTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24taGVhZGVyIHsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICB9CgogICAgICAuc2VjdGlvbi10aXRsZSBzdmcgewogICAgICAgIHdpZHRoOiAxNHB4OwogICAgICAgIGhlaWdodDogMTRweDsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXNlY29uZGFyeSk7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5pbmZvLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAxMHB4IDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmluZm8tcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5pbmZvLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmluZm8tdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5jb3B5LWJ1dHRvbiB7CiAgICAgICAgcGFkZGluZzogNHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5jb3B5LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC5tZXRyaWNzLWdyaWQgewogICAgICAgIGRpc3BsYXk6IGdyaWQ7CiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkgewogICAgICAgIC5tZXRyaWNzLWdyaWQgewogICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsKICAgICAgICB9CiAgICAgIH0KCiAgICAgIC5tZXRyaWMtY2FyZCB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgfQoKICAgICAgLm1ldHJpYy12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLm1ldHJpYy1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtYmFyIHsKICAgICAgICBoZWlnaHQ6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4OwogICAgICAgIG1hcmdpbi10b3A6IDhweDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtZmlsbCB7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsKICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAzMDBtcyBlYXNlOwogICAgICB9CgogICAgICAucHJvZ3Jlc3MtZmlsbC5sb3cgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMjJjNTVlIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnByb2dyZXNzLWZpbGwubWVkaXVtIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VhYjMwOCIsIiNlYWIzMDgiKX07CiAgICAgIH0KCiAgICAgIC5wcm9ncmVzcy1maWxsLmhpZ2ggewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWY0NDQ0IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmNvbmZpZy1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiA4cHggMDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuY29uZmlnLWl0ZW06bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmNvbmZpZy1rZXkgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuY29uZmlnLXZhbHVlIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuY29uZmlnLXZhbHVlLnRydWUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5jb25maWctdmFsdWUuZmFsc2UgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5lbXB0eS1zdGF0ZSB7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDQwcHggMjBweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gdGhpcy5zZXJ2aWNlP3dgCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWluZm8iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1pY29uIj4KICAgICAgICAgICAgJHt0aGlzLnJlbmRlclNlcnZpY2VJY29uKCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtZGV0YWlscyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlcnZpY2UtbmFtZSI+JHt0aGlzLnNlcnZpY2UubmFtZX08L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VydmljZS1tZXRhIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWJhZGdlICR7dGhpcy5zZXJ2aWNlLnN0YXR1c30iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1kb3QiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLnN0YXR1cy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0aGlzLnNlcnZpY2Uuc3RhdHVzLnNsaWNlKDEpfQogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICA8c3Bhbj5WZXJzaW9uICR7dGhpcy5zZXJ2aWNlLnZlcnNpb259PC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1hY3Rpb25zIj4KICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLnN0YXR1cz09PSJydW5uaW5nIj93YAogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIiA/ZGlzYWJsZWQ9JHt0aGlzLmFjdGlvbkxvYWRpbmd9IEBjbGljaz0keygpPT50aGlzLmhhbmRsZVJlc3RhcnQoKX0+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMjMgNCAyMyAxMCAxNyAxMCI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjEgMjAgMSAxNCA3IDE0Ij48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTMuNTEgOWE5IDkgMCAwIDEgMTQuODUtMy4zNkwyMyAxME0xIDE0bDQuNjQgNC4zNkE5IDkgMCAwIDAgMjAuNDkgMTUiPjwvcGF0aD4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBSZXN0YXJ0CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIGRhbmdlciIgP2Rpc2FibGVkPSR7dGhpcy5hY3Rpb25Mb2FkaW5nfSBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVTdG9wKCl9PgogICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxyZWN0IHg9IjYiIHk9IjYiIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgcng9IjEiPjwvcmVjdD4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBTdG9wCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgYDp3YAogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIiA/ZGlzYWJsZWQ9JHt0aGlzLmFjdGlvbkxvYWRpbmd9IEBjbGljaz0keygpPT50aGlzLmhhbmRsZVN0YXJ0KCl9PgogICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPgogICAgICAgICAgICAgICAgPHBvbHlnb24gcG9pbnRzPSI1LDMgMTksMTIgNSwyMSI+PC9wb2x5Z29uPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIFN0YXJ0CiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgYH0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJncmlkIj4KICAgICAgICA8IS0tIENvbm5lY3Rpb24gSW5mbyAtLT4KICAgICAgICA8ZGVlcy10aWxlPgogICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tdGl0bGUiPgogICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMCAxM2E1IDUgMCAwIDAgNy41NC41NGwzLTNhNSA1IDAgMCAwLTcuMDctNy4wN2wtMS43MiAxLjcxIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTQgMTFhNSA1IDAgMCAwLTcuNTQtLjU0bC0zIDNhNSA1IDAgMCAwIDcuMDcgNy4wN2wxLjcxLTEuNzEiPjwvcGF0aD4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBDb25uZWN0aW9uCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPkhvc3Q8L3NwYW4+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPgogICAgICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2UuaG9zdH0KICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNvcHktYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jb3B5VG9DbGlwYm9hcmQodGhpcy5zZXJ2aWNlLmhvc3QpfT4KICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgPHJlY3QgeD0iOSIgeT0iOSIgd2lkdGg9IjEzIiBoZWlnaHQ9IjEzIiByeD0iMiIgcnk9IjIiPjwvcmVjdD4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNSAxNUg0YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDlhMiAyIDAgMCAxIDIgMnYxIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5Qb3J0PC9zcGFuPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlIj4ke3RoaXMuc2VydmljZS5wb3J0fTwvc3Bhbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLmNyZWRlbnRpYWxzPy51c2VybmFtZT93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImluZm8tcm93Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5Vc2VybmFtZTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlIj4KICAgICAgICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2UuY3JlZGVudGlhbHMudXNlcm5hbWV9CiAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImNvcHktYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5jb3B5VG9DbGlwYm9hcmQodGhpcy5zZXJ2aWNlLmNyZWRlbnRpYWxzLnVzZXJuYW1lKX0+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PSI5IiB5PSI5IiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTUgMTVINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg5YTIgMiAwIDAgMSAyIDJ2MSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+UGFzc3dvcmQ8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+4oCi4oCi4oCi4oCi4oCi4oCi4oCi4oCiPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQogICAgICAgICAgICAke3RoaXMuc2VydmljZS5jcmVkZW50aWFscz8uYWNjZXNzS2V5P3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPkFjY2VzcyBLZXk8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5zZXJ2aWNlLmNyZWRlbnRpYWxzLmFjY2Vzc0tleX0KICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iY29weS1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmNvcHlUb0NsaXBib2FyZCh0aGlzLnNlcnZpY2UuY3JlZGVudGlhbHMuYWNjZXNzS2V5KX0+CiAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PSI5IiB5PSI5IiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTUgMTVINGEyIDIgMCAwIDEtMi0yVjRhMiAyIDAgMCAxIDItMmg5YTIgMiAwIDAgMSAyIDJ2MSI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+U2VjcmV0IEtleTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlIj7igKLigKLigKLigKLigKLigKLigKLigKI8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtdGlsZT4KCiAgICAgICAgPCEtLSBDb25maWd1cmF0aW9uIC0tPgogICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMyI+PC9jaXJjbGU+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTkuNCAxNWExLjY1IDEuNjUgMCAwIDAgLjMzIDEuODJsLjA2LjA2YTIgMiAwIDAgMSAwIDIuODMgMiAyIDAgMCAxLTIuODMgMGwtLjA2LS4wNmExLjY1IDEuNjUgMCAwIDAtMS44Mi0uMzMgMS42NSAxLjY1IDAgMCAwLTEgMS41MVYyMWEyIDIgMCAwIDEtMiAyIDIgMiAwIDAgMS0yLTJ2LS4wOUExLjY1IDEuNjUgMCAwIDAgOSAxOS40YTEuNjUgMS42NSAwIDAgMC0xLjgyLjMzbC0uMDYuMDZhMiAyIDAgMCAxLTIuODMgMCAyIDIgMCAwIDEgMC0yLjgzbC4wNi0uMDZhMS42NSAxLjY1IDAgMCAwIC4zMy0xLjgyIDEuNjUgMS42NSAwIDAgMC0xLjUxLTFIM2EyIDIgMCAwIDEtMi0yIDIgMiAwIDAgMSAyLTJoLjA5QTEuNjUgMS42NSAwIDAgMCA0LjYgOWExLjY1IDEuNjUgMCAwIDAtLjMzLTEuODJsLS4wNi0uMDZhMiAyIDAgMCAxIDAtMi44MyAyIDIgMCAwIDEgMi44MyAwbC4wNi4wNmExLjY1IDEuNjUgMCAwIDAgMS44Mi4zM0g5YTEuNjUgMS42NSAwIDAgMCAxLTEuNTFWM2EyIDIgMCAwIDEgMi0yIDIgMiAwIDAgMSAyIDJ2LjA5YTEuNjUgMS42NSAwIDAgMCAxIDEuNTEgMS42NSAxLjY1IDAgMCAwIDEuODItLjMzbC4wNi0uMDZhMiAyIDAgMCAxIDIuODMgMCAyIDIgMCAwIDEgMCAyLjgzbC0uMDYuMDZhMS42NSAxLjY1IDAgMCAwLS4zMyAxLjgyVjlhMS42NSAxLjY1IDAgMCAwIDEuNTEgMUgyMWEyIDIgMCAwIDEgMiAyIDIgMiAwIDAgMS0yIDJoLS4wOWExLjY1IDEuNjUgMCAwIDAtMS41MSAxeiI+PC9wYXRoPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIENvbmZpZ3VyYXRpb24KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICAgICR7T2JqZWN0LmVudHJpZXModGhpcy5zZXJ2aWNlLmNvbmZpZykubWFwKChbYixnXSk9PndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29uZmlnLWl0ZW0iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbmZpZy1rZXkiPiR7dGhpcy5mb3JtYXRDb25maWdLZXkoYil9PC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNvbmZpZy12YWx1ZSAke3R5cGVvZiBnPT0iYm9vbGVhbiI/Zz8idHJ1ZSI6ImZhbHNlIjoiIn0iPiR7dGhpcy5mb3JtYXRDb25maWdWYWx1ZShnKX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGApfQogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kZWVzLXRpbGU+CgogICAgICAgIDwhLS0gTWV0cmljcyAtLT4KICAgICAgICAke3RoaXMuc2VydmljZS5tZXRyaWNzP3dgCiAgICAgICAgICA8ZGVlcy10aWxlIGNsYXNzPSJmdWxsLXdpZHRoIj4KICAgICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJzZWN0aW9uLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxOCIgeTE9IjIwIiB4Mj0iMTgiIHkyPSIxMCI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIyMCIgeDI9IjEyIiB5Mj0iNCI+PC9saW5lPgogICAgICAgICAgICAgICAgICA8bGluZSB4MT0iNiIgeTE9IjIwIiB4Mj0iNiIgeTI9IjE0Ij48L2xpbmU+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIFJlc291cmNlIFVzYWdlCiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpY3MtZ3JpZCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLnNlcnZpY2UubWV0cmljcy5jcHV9JTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtbGFiZWwiPkNQVTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWZpbGwgJHt0aGlzLmdldFByb2dyZXNzQ2xhc3ModGhpcy5zZXJ2aWNlLm1ldHJpY3MuY3B1KX0iIHN0eWxlPSJ3aWR0aDogJHt0aGlzLnNlcnZpY2UubWV0cmljcy5jcHV9JSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLnNlcnZpY2UubWV0cmljcy5tZW1vcnl9JTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtbGFiZWwiPk1lbW9yeTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9ncmVzcy1iYXIiPgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWZpbGwgJHt0aGlzLmdldFByb2dyZXNzQ2xhc3ModGhpcy5zZXJ2aWNlLm1ldHJpY3MubWVtb3J5KX0iIHN0eWxlPSJ3aWR0aDogJHt0aGlzLnNlcnZpY2UubWV0cmljcy5tZW1vcnl9JSI+PC9kaXY+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy12YWx1ZSI+JHt0aGlzLnNlcnZpY2UubWV0cmljcy5zdG9yYWdlfSU8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLWxhYmVsIj5TdG9yYWdlPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2dyZXNzLWJhciI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZ3Jlc3MtZmlsbCAke3RoaXMuZ2V0UHJvZ3Jlc3NDbGFzcyh0aGlzLnNlcnZpY2UubWV0cmljcy5zdG9yYWdlKX0iIHN0eWxlPSJ3aWR0aDogJHt0aGlzLnNlcnZpY2UubWV0cmljcy5zdG9yYWdlfSUiPjwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgJHt0aGlzLnNlcnZpY2UubWV0cmljcy5jb25uZWN0aW9ucyE9PXZvaWQgMD93YAogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZXRyaWMtY2FyZCI+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWV0cmljLXZhbHVlIj4ke3RoaXMuc2VydmljZS5tZXRyaWNzLmNvbm5lY3Rpb25zfTwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1ldHJpYy1sYWJlbCI+Q29ubmVjdGlvbnM8L2Rpdj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGVlcy10aWxlPgogICAgICAgIGA6IiJ9CgogICAgICAgIDwhLS0gTG9ncyAtLT4KICAgICAgICA8ZGl2IHN0eWxlPSJncmlkLWNvbHVtbjogMSAvIC0xOyI+CiAgICAgICAgICA8ZGVlcy1jaGFydC1sb2cKICAgICAgICAgICAgLmxhYmVsPSR7IlNlcnZpY2UgTG9ncyJ9CiAgICAgICAgICAgIC5sb2dFbnRyaWVzPSR7dGhpcy5sb2dzLm1hcChiPT4oe3RpbWVzdGFtcDpiLnRpbWVzdGFtcC5pbmNsdWRlcygiVCIpP2IudGltZXN0YW1wOm5ldyBEYXRlKGIudGltZXN0YW1wKS50b0lTT1N0cmluZygpLGxldmVsOmIubGV2ZWwsbWVzc2FnZTpiLm1lc3NhZ2V9KSl9CiAgICAgICAgICAgIC5hdXRvU2Nyb2xsPSR7ITB9CiAgICAgICAgICAgIC5tYXhFbnRyaWVzPSR7MmUzfQogICAgICAgICAgICAuc2hvd01ldHJpY3M9JHshMH0KICAgICAgICAgID48L2RlZXMtY2hhcnQtbG9nPgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGA6d2A8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gc2VydmljZSBzZWxlY3RlZDwvZGl2PmB9cmVuZGVyU2VydmljZUljb24oKXtzd2l0Y2godGhpcy5zZXJ2aWNlPy50eXBlKXtjYXNlIm1vbmdvZGIiOnJldHVybiB3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxwYXRoIGQ9Ik0xMiAyQzYuNDggMiAyIDYuNDggMiAxMnM0LjQ4IDEwIDEwIDEwIDEwLTQuNDggMTAtMTBTMTcuNTIgMiAxMiAyem0tMSAxNy45M2MtMy45NS0uNDktNy0zLjg1LTctNy45MyAwLS42Mi4wOC0xLjIxLjIxLTEuNzlMOSAxNXYxYzAgMS4xLjkgMiAyIDJ2MS45M3ptNi45LTIuNTRjLS4yNi0uODEtMS0xLjM5LTEuOS0xLjM5aC0xdi0zYzAtLjU1LS40NS0xLTEtMUg4di0yaDJjLjU1IDAgMS0uNDUgMS0xVjdoMmMxLjEgMCAyLS45IDItMnYtLjQxYzIuOTMgMS4xOSA1IDQuMDYgNSA3LjQxIDAgMi4wOC0uOCAzLjk3LTIuMSA1LjM5eiIvPjwvc3ZnPmA7Y2FzZSJtaW5pbyI6cmV0dXJuIHdgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9ImN1cnJlbnRDb2xvciI+PHBhdGggZD0iTTIxIDE2LjVjMCAuMzgtLjIxLjcxLS41My44OGwtNy45IDQuNDRjLS4xNi4xMi0uMzYuMTgtLjU3LjE4LS4yMSAwLS40MS0uMDYtLjU3LS4xOGwtNy45LTQuNDRBLjk5MS45OTEgMCAwIDEgMyAxNi41di05YzAtLjM4LjIxLS43MS41My0uODhsNy45LTQuNDRjLjE2LS4xMi4zNi0uMTguNTctLjE4LjIxIDAgLjQxLjA2LjU3LjE4bDcuOSA0LjQ0Yy4zMi4xNy41My41LjUzLjg4djl6Ii8+PC9zdmc+YDtjYXNlImNsaWNraG91c2UiOnJldHVybiB3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJjdXJyZW50Q29sb3IiPjxyZWN0IHg9IjIiIHk9IjIiIHdpZHRoPSI2IiBoZWlnaHQ9IjIwIi8+PHJlY3QgeD0iOSIgeT0iNyIgd2lkdGg9IjYiIGhlaWdodD0iMTUiLz48cmVjdCB4PSIxNiIgeT0iMTIiIHdpZHRoPSI2IiBoZWlnaHQ9IjEwIi8+PC9zdmc+YDtjYXNlInJlZGlzIjpyZXR1cm4gd2A8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iY3VycmVudENvbG9yIj48cGF0aCBkPSJNMTIgMkwyIDdsMTAgNSAxMC01LTEwLTV6TTIgMTdsMTAgNSAxMC01TTIgMTJsMTAgNSAxMC01Ii8+PC9zdmc+YDtkZWZhdWx0OnJldHVybiB3YDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj48cmVjdCB4PSIyIiB5PSIyIiB3aWR0aD0iMjAiIGhlaWdodD0iOCIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+PHJlY3QgeD0iMiIgeT0iMTQiIHdpZHRoPSIyMCIgaGVpZ2h0PSI4IiByeD0iMiIgcnk9IjIiPjwvcmVjdD48bGluZSB4MT0iNiIgeTE9IjYiIHgyPSI2LjAxIiB5Mj0iNiI+PC9saW5lPjxsaW5lIHgxPSI2IiB5MT0iMTgiIHgyPSI2LjAxIiB5Mj0iMTgiPjwvbGluZT48L3N2Zz5gfX1nZXRQcm9ncmVzc0NsYXNzKGIpe3JldHVybiBiPDUwPyJsb3ciOmI8ODA/Im1lZGl1bSI6ImhpZ2gifWZvcm1hdENvbmZpZ0tleShiKXtyZXR1cm4gYi5yZXBsYWNlKC8oW0EtWl0pL2csIiAkMSIpLnJlcGxhY2UoL14uLyxnPT5nLnRvVXBwZXJDYXNlKCkpfWZvcm1hdENvbmZpZ1ZhbHVlKGIpe3JldHVybiB0eXBlb2YgYj09ImJvb2xlYW4iP2I/IkVuYWJsZWQiOiJEaXNhYmxlZCI6U3RyaW5nKGIpfWNvcHlUb0NsaXBib2FyZChiKXtuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChiKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJjb3B5Iix7ZGV0YWlsOmIsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVTdGFydCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoInN0YXJ0Iix7ZGV0YWlsOnRoaXMuc2VydmljZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVN0b3AoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJzdG9wIix7ZGV0YWlsOnRoaXMuc2VydmljZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZVJlc3RhcnQoKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyZXN0YXJ0Iix7ZGV0YWlsOnRoaXMuc2VydmljZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxENSh0aGlzLHYpfXN0YXRpY3tENShyLHQpfX07cmV0dXJuIHg9cn0pKCl9KTt2YXIgekcscWMsVU5hLFV1YT1mKCgpPT57bGUoKTt6Rz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0scWM9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFVOYT0oKCk9PntsZXQgYT1baWUoInN6LWRvbWFpbi1kZXRhaWwtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekRvbWFpbkRldGFpbFZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgaz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxkPVskKHt0eXBlOk9iamVjdH0pXSx1PVskKHt0eXBlOkFycmF5fSldLHg9WyQoe3R5cGU6Qm9vbGVhbn0pXSx6Ryh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImRvbWFpbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iZG9tYWluImluIEMsImhhcyIpLGdldDpzKEM9PkMuZG9tYWluLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuZG9tYWluPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSx6Ryh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNlcnRpZmljYXRlIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJjZXJ0aWZpY2F0ZSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmNlcnRpZmljYXRlLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuY2VydGlmaWNhdGU9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxjLHApLHpHKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZG5zUmVjb3JkcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iZG5zUmVjb3JkcyJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLmRuc1JlY29yZHMsImdldCIpLHNldDpzKChDLE4pPT57Qy5kbnNSZWNvcmRzPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbSx2KSx6Ryh0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImFjdGlvbkxvYWRpbmciLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoQz0+ImFjdGlvbkxvYWRpbmciaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5hY3Rpb25Mb2FkaW5nLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuYWN0aW9uTG9hZGluZz1OfSwic2V0Iil9LG1ldGFkYXRhOmt9LGIsZyksekcobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6a30sbnVsbCx0KSx5PXI9ZS52YWx1ZSxrJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmt9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMDAwcHg7Ij4KICAgICAgPHN6LWRvbWFpbi1kZXRhaWwtdmlldwogICAgICAgIC5kb21haW49JHt7aWQ6IjEiLG5hbWU6ImV4YW1wbGUuY29tIixzdGF0dXM6ImFjdGl2ZSIsdmVyaWZpZWQ6ITAsY3JlYXRlZEF0OiIyMDI0LTAxLTEwIixwcm94eVJvdXRlczpbIi9hcGkvKiIsIi9hcHAvKiJdfX0KICAgICAgICAuY2VydGlmaWNhdGU9JHt7aWQ6IjEiLGRvbWFpbjoiZXhhbXBsZS5jb20iLGlzc3VlcjoiTGV0J3MgRW5jcnlwdCIsdmFsaWRGcm9tOiIyMDI0LTAxLTEwIix2YWxpZFVudGlsOiIyMDI0LTA0LTEwIixkYXlzUmVtYWluaW5nOjQ1LHN0YXR1czoidmFsaWQiLGF1dG9SZW5ldzohMCxjaGFpbjpbIlIzIiwiSVNSRyBSb290IFgxIl19fQogICAgICAgIC5kbnNSZWNvcmRzPSR7W3tpZDoiMSIsdHlwZToiQSIsbmFtZToiQCIsdmFsdWU6IjE5Mi4xNjguMS4xMDAiLHR0bDozNjAwfSx7aWQ6IjIiLHR5cGU6IkNOQU1FIixuYW1lOiJ3d3ciLHZhbHVlOiJleGFtcGxlLmNvbSIsdHRsOjM2MDB9LHtpZDoiMyIsdHlwZToiTVgiLG5hbWU6IkAiLHZhbHVlOiJtYWlsLmV4YW1wbGUuY29tIix0dGw6MzYwMCxwcmlvcml0eToxMH0se2lkOiI0Iix0eXBlOiJUWFQiLG5hbWU6IkAiLHZhbHVlOiJ2PXNwZjEgaW5jbHVkZTpfc3BmLmV4YW1wbGUuY29tIH5hbGwiLHR0bDozNjAwfV19CiAgICAgID48L3N6LWRvbWFpbi1kZXRhaWwtdmlldz4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIk5ldHdvcmsiXTsjZT1xYyh0aGlzLG4sbnVsbCk7Z2V0IGRvbWFpbigpe3JldHVybiB0aGlzLiNlfXNldCBkb21haW4oayl7dGhpcy4jZT1rfSN0PShxYyh0aGlzLGwpLHFjKHRoaXMsYyxudWxsKSk7Z2V0IGNlcnRpZmljYXRlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IGNlcnRpZmljYXRlKGspe3RoaXMuI3Q9a30jYT0ocWModGhpcyxwKSxxYyh0aGlzLG0sW10pKTtnZXQgZG5zUmVjb3Jkcygpe3JldHVybiB0aGlzLiNhfXNldCBkbnNSZWNvcmRzKGspe3RoaXMuI2E9a30jcj0ocWModGhpcyx2KSxxYyh0aGlzLGIsITEpKTtnZXQgYWN0aW9uTG9hZGluZygpe3JldHVybiB0aGlzLiNyfXNldCBhY3Rpb25Mb2FkaW5nKGspe3RoaXMuI3I9a31zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWluZm8gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmRvbWFpbi1uYW1lIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogNHB4IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmFjdGl2ZSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UucGVuZGluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWYzYzciLCJyZ2JhKDI0NSwgMTU4LCAxMSwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkOTc3MDYiLCIjZjU5ZTBiIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmVycm9yIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1kb3QgewogICAgICAgIHdpZHRoOiA2cHg7CiAgICAgICAgaGVpZ2h0OiA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgICAgIGJhY2tncm91bmQ6IGN1cnJlbnRDb2xvcjsKICAgICAgfQoKICAgICAgLmRvbWFpbi1tZXRhIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAudmVyaWZpZWQtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLnZlcmlmaWVkLWJhZGdlIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE2cHg7CiAgICAgICAgaGVpZ2h0OiAxNnB4OwogICAgICB9CgogICAgICAuaGVhZGVyLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxNHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbjpkaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC42OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5kYW5nZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgICAgYm9yZGVyLWNvbG9yOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMykiKX07CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLmRhbmdlcjpob3Zlcjpub3QoOmRpc2FibGVkKSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICB9CgogICAgICAuZ3JpZCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkgewogICAgICAgIC5ncmlkIHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KICAgICAgfQoKICAgICAgZGVlcy10aWxlLmZ1bGwtd2lkdGggewogICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgaGVpZ2h0OiAzNnB4OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgewogICAgICAgIGZsZXg6IDE7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tdGl0bGUgc3ZnIHsKICAgICAgICB3aWR0aDogMTRweDsKICAgICAgICBoZWlnaHQ6IDE0cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICB9CgogICAgICAuc2VjdGlvbi1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAudGlsZS1idXR0b246Zmlyc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICB9CgogICAgICAudGlsZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4wOCkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjA4KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1MCUpIiwiaHNsKDIxMy4xIDkzLjklIDc1JSkiKX07CiAgICAgIH0KCgogICAgICAuc2VjdGlvbi1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAxNnB4OwogICAgICB9CgogICAgICAuY2VydC1zdGF0dXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2YwZmRmNCIsInJnYmEoMzQsIDE5NywgOTQsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5jZXJ0LXN0YXR1cy5leHBpcmluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZiZWIiLCJyZ2JhKDI0NSwgMTU4LCAxMSwgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmNlcnQtc3RhdHVzLmV4cGlyZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVmMmYyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4xKSIpfTsKICAgICAgfQoKICAgICAgLmNlcnQtaWNvbiB7CiAgICAgICAgd2lkdGg6IDQwcHg7CiAgICAgICAgaGVpZ2h0OiA0MHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5jZXJ0LWljb24udmFsaWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuY2VydC1pY29uLmV4cGlyaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjNjNyIsInJnYmEoMjQ1LCAxNTgsIDExLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2Q5NzcwNiIsIiNmNTllMGIiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LWljb24uZXhwaXJlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LWljb24gc3ZnIHsKICAgICAgICB3aWR0aDogMjBweDsKICAgICAgICBoZWlnaHQ6IDIwcHg7CiAgICAgIH0KCiAgICAgIC5jZXJ0LWluZm8gewogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5jZXJ0LXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuY2VydC1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLXRvcDogMnB4OwogICAgICB9CgogICAgICAuY2VydC1kYXlzIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgIH0KCiAgICAgIC5jZXJ0LWRheXMudmFsaWQgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LWRheXMuZXhwaXJpbmcgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2Q5NzcwNiIsIiNmNTllMGIiKX07CiAgICAgIH0KCiAgICAgIC5jZXJ0LWRheXMuZXhwaXJlZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmNlcnQtZGF5cy1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIG1hcmdpbi10b3A6IDJweDsKICAgICAgfQoKICAgICAgLmluZm8tcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDEwcHggMDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAuaW5mby1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmluZm8tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAuaW5mby12YWx1ZSB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmluZm8tdmFsdWUuZW5hYmxlZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmNoYWluLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuY2hhaW4tYmFkZ2UgewogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmRucy10YWJsZSB7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIC5kbnMtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogODBweCAxZnIgMmZyIDgwcHggNjBweDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTBweCAwOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgIH0KCiAgICAgIC5kbnMtcm93IHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogODBweCAxZnIgMmZyIDgwcHggNjBweDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgcGFkZGluZzogMTJweCAwOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmRucy1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKICAgICAgfQoKICAgICAgLmRucy1yb3c6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBtYXJnaW46IDAgLTE2cHg7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4OwogICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5kbnMtdHlwZSB7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgfQoKICAgICAgLmRucy1uYW1lIHsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICB9CgogICAgICAuZG5zLXZhbHVlIHsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuZG5zLXR0bCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmRucy1hY3Rpb25zIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICB9CgogICAgICAuaWNvbi1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDRweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuaWNvbi1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuaWNvbi1idXR0b24uZGFuZ2VyOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLmljb24tYnV0dG9uIHN2ZyB7CiAgICAgICAgd2lkdGg6IDE0cHg7CiAgICAgICAgaGVpZ2h0OiAxNHB4OwogICAgICB9CgogICAgICAucm91dGVzLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAucm91dGUtYmFkZ2UgewogICAgICAgIHBhZGRpbmc6IDZweCAxMHB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHRoaXMuZG9tYWluP3dgCiAgICAgIDxkaXYgY2xhc3M9ImhlYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWluZm8iPgogICAgICAgICAgPGRpdiBjbGFzcz0iZG9tYWluLW5hbWUiPgogICAgICAgICAgICAke3RoaXMuZG9tYWluLm5hbWV9CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHt0aGlzLmRvbWFpbi5zdGF0dXN9Ij4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic3RhdHVzLWRvdCI+PC9zcGFuPgogICAgICAgICAgICAgICR7dGhpcy5kb21haW4uc3RhdHVzLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK3RoaXMuZG9tYWluLnN0YXR1cy5zbGljZSgxKX0KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJkb21haW4tbWV0YSI+CiAgICAgICAgICAgICR7dGhpcy5kb21haW4udmVyaWZpZWQ/d2AKICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0idmVyaWZpZWQtYmFkZ2UiPgogICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMjIgMTEuMDhWMTJhMTAgMTAgMCAxIDEtNS45My05LjE0Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjIyIDQgMTIgMTQuMDEgOSAxMS4wMSI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgVmVyaWZpZWQKICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgIGA6d2A8c3Bhbj5Ob3QgdmVyaWZpZWQ8L3NwYW4+YH0KICAgICAgICAgICAgPHNwYW4+QWRkZWQgJHt0aGlzLmRvbWFpbi5jcmVhdGVkQXR9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWFjdGlvbnMiPgogICAgICAgICAgJHt0aGlzLmRvbWFpbi52ZXJpZmllZD8iIjp3YAogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIiA/ZGlzYWJsZWQ9JHt0aGlzLmFjdGlvbkxvYWRpbmd9IEBjbGljaz0keygpPT50aGlzLmhhbmRsZVZlcmlmeSgpfT4KICAgICAgICAgICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIyMCA2IDkgMTcgNCAxMiI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBWZXJpZnkgRG9tYWluCiAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgYH0KICAgICAgICAgIDxidXR0b24gY2xhc3M9ImFjdGlvbi1idXR0b24gZGFuZ2VyIiA/ZGlzYWJsZWQ9JHt0aGlzLmFjdGlvbkxvYWRpbmd9IEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZSgpfT4KICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjMgNiA1IDYgMjEgNiI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICA8cGF0aCBkPSJNMTkgNnYxNGEyIDIgMCAwIDEtMiAySDdhMiAyIDAgMCAxLTItMlY2bTMgMFY0YTIgMiAwIDAgMSAyLTJoNGEyIDIgMCAwIDEgMiAydjIiPjwvcGF0aD4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIERlbGV0ZQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZ3JpZCI+CiAgICAgICAgPCEtLSBDZXJ0aWZpY2F0ZSBTZWN0aW9uIC0tPgogICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPHJlY3QgeD0iMyIgeT0iMTEiIHdpZHRoPSIxOCIgaGVpZ2h0PSIxMSIgcng9IjIiIHJ5PSIyIj48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNyAxMVY3YTUgNSAwIDAgMSAxMCAwdjQiPjwvcGF0aD4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBTU0wgQ2VydGlmaWNhdGUKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICAgICR7dGhpcy5jZXJ0aWZpY2F0ZT93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtc3RhdHVzICR7dGhpcy5jZXJ0aWZpY2F0ZS5zdGF0dXN9Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtaWNvbiAke3RoaXMuY2VydGlmaWNhdGUuc3RhdHVzfSI+CiAgICAgICAgICAgICAgICAgICR7dGhpcy5jZXJ0aWZpY2F0ZS5zdGF0dXM9PT0idmFsaWQiP3dgCiAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTIyIDExLjA4VjEyYTEwIDEwIDAgMSAxLTUuOTMtOS4xNCI+PC9wYXRoPgogICAgICAgICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMjIgNCAxMiAxNC4wMSA5IDExLjAxIj48L3BvbHlsaW5lPgogICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICBgOnRoaXMuY2VydGlmaWNhdGUuc3RhdHVzPT09ImV4cGlyaW5nIj93YAogICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjgiIHgyPSIxMiIgeTI9IjEyIj48L2xpbmU+CiAgICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSIxNiIgeDI9IjEyLjAxIiB5Mj0iMTYiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgYDp3YAogICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjEwIj48L2NpcmNsZT4KICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxNSIgeTE9IjkiIHgyPSI5IiB5Mj0iMTUiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPSI5IiB5MT0iOSIgeDI9IjE1IiB5Mj0iMTUiPjwvbGluZT4KICAgICAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgICAgYH0KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VydC1pbmZvIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VydC10aXRsZSI+JHt0aGlzLmNlcnRpZmljYXRlLnN0YXR1cz09PSJ2YWxpZCI/IkNlcnRpZmljYXRlIFZhbGlkIjp0aGlzLmNlcnRpZmljYXRlLnN0YXR1cz09PSJleHBpcmluZyI/IkNlcnRpZmljYXRlIEV4cGlyaW5nIFNvb24iOiJDZXJ0aWZpY2F0ZSBFeHBpcmVkIn08L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2VydC1zdWJ0aXRsZSI+SXNzdWVkIGJ5ICR7dGhpcy5jZXJ0aWZpY2F0ZS5pc3N1ZXJ9PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNlcnQtZGF5cyAke3RoaXMuY2VydGlmaWNhdGUuc3RhdHVzfSI+JHtNYXRoLmFicyh0aGlzLmNlcnRpZmljYXRlLmRheXNSZW1haW5pbmcpfTwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjZXJ0LWRheXMtbGFiZWwiPiR7dGhpcy5jZXJ0aWZpY2F0ZS5kYXlzUmVtYWluaW5nPj0wPyJkYXlzIGxlZnQiOiJkYXlzIGFnbyJ9PC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPlZhbGlkIEZyb208L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby12YWx1ZSI+JHt0aGlzLmNlcnRpZmljYXRlLnZhbGlkRnJvbX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1yb3ciPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tbGFiZWwiPlZhbGlkIFVudGlsPC9zcGFuPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImluZm8tdmFsdWUiPiR7dGhpcy5jZXJ0aWZpY2F0ZS52YWxpZFVudGlsfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iaW5mby1sYWJlbCI+QXV0by1SZW5ldzwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLXZhbHVlICR7dGhpcy5jZXJ0aWZpY2F0ZS5hdXRvUmVuZXc/ImVuYWJsZWQiOiIifSI+JHt0aGlzLmNlcnRpZmljYXRlLmF1dG9SZW5ldz8iRW5hYmxlZCI6IkRpc2FibGVkIn08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgJHt0aGlzLmNlcnRpZmljYXRlLmNoYWluJiZ0aGlzLmNlcnRpZmljYXRlLmNoYWluLmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpbmZvLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJpbmZvLWxhYmVsIj5DZXJ0aWZpY2F0ZSBDaGFpbjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2hhaW4tbGlzdCI+CiAgICAgICAgICAgICAgICAgICAgJHt0aGlzLmNlcnRpZmljYXRlLmNoYWluLm1hcChrPT53YDxzcGFuIGNsYXNzPSJjaGFpbi1iYWRnZSI+JHtrfTwvc3Bhbj5gKX0KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIGNlcnRpZmljYXRlIGNvbmZpZ3VyZWQ8L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHt0aGlzLmNlcnRpZmljYXRlP3dgCiAgICAgICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0ic2VjdGlvbi1mb290ZXIiPgogICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbGUtYnV0dG9uIHByaW1hcnkiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZVJlbmV3Q2VydGlmaWNhdGUoKX0+UmVuZXc8L2J1dHRvbj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgICA8IS0tIFByb3h5IFJvdXRlcyBTZWN0aW9uIC0tPgogICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPHBvbHlsaW5lIHBvaW50cz0iMTYgMyAyMSAzIDIxIDgiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iNCIgeTE9IjIwIiB4Mj0iMjEiIHkyPSIzIj48L2xpbmU+CiAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIyMSAxNiAyMSAyMSAxNiAyMSI+PC9wb2x5bGluZT4KICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxNSIgeTE9IjE1IiB4Mj0iMjEiIHkyPSIyMSI+PC9saW5lPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjQiIHkxPSI0IiB4Mj0iOSIgeTI9IjkiPjwvbGluZT4KICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICBQcm94eSBSb3V0ZXMKICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICAgICR7dGhpcy5kb21haW4ucHJveHlSb3V0ZXMmJnRoaXMuZG9tYWluLnByb3h5Um91dGVzLmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icm91dGVzLWxpc3QiPgogICAgICAgICAgICAgICAgJHt0aGlzLmRvbWFpbi5wcm94eVJvdXRlcy5tYXAoaz0+d2AKICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InJvdXRlLWJhZGdlIj4ke2t9PC9zcGFuPgogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6d2AKICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+Tm8gcHJveHkgcm91dGVzIGNvbmZpZ3VyZWQ8L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgICA8IS0tIEROUyBSZWNvcmRzIFNlY3Rpb24gLS0+CiAgICAgICAgPGRlZXMtdGlsZSBjbGFzcz0iZnVsbC13aWR0aCI+CiAgICAgICAgICA8ZGl2IHNsb3Q9ImhlYWRlciIgY2xhc3M9InNlY3Rpb24taGVhZGVyIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSI+CiAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPgogICAgICAgICAgICAgICAgPGxpbmUgeDE9IjIiIHkxPSIxMiIgeDI9IjIyIiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMiAyYTE1LjMgMTUuMyAwIDAgMSA0IDEwIDE1LjMgMTUuMyAwIDAgMS00IDEwIDE1LjMgMTUuMyAwIDAgMS00LTEwIDE1LjMgMTUuMyAwIDAgMSA0LTEweiI+PC9wYXRoPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIEROUyBSZWNvcmRzCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiPgogICAgICAgICAgICAke3RoaXMuZG5zUmVjb3Jkcy5sZW5ndGg+MD93YAogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRucy10YWJsZSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkbnMtaGVhZGVyIj4KICAgICAgICAgICAgICAgICAgPHNwYW4+VHlwZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4+TmFtZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4+VmFsdWU8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuPlRUTDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4+PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAke3RoaXMuZG5zUmVjb3Jkcy5tYXAoaz0+d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZG5zLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy10eXBlIj4ke2sudHlwZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy1uYW1lIj4ke2submFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy12YWx1ZSIgdGl0bGU9IiR7ay52YWx1ZX0iPiR7ay5wcmlvcml0eT9gJHtrLnByaW9yaXR5fSBgOiIifSR7ay52YWx1ZX08L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRucy10dGwiPiR7ay50dGx9czwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZG5zLWFjdGlvbnMiPgogICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iaWNvbi1idXR0b24iIHRpdGxlPSJFZGl0IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVFZGl0RG5zUmVjb3JkKGspfT4KICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMSA0SDRhMiAyIDAgMCAwLTIgMnYxNGEyIDIgMCAwIDAgMiAyaDE0YTIgMiAwIDAgMCAyLTJ2LTciPjwvcGF0aD4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTguNSAyLjVhMi4xMjEgMi4xMjEgMCAwIDEgMyAzTDEyIDE1bC00IDEgMS00IDkuNS05LjV6Ij48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJpY29uLWJ1dHRvbiBkYW5nZXIiIHRpdGxlPSJEZWxldGUiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZURlbGV0ZURuc1JlY29yZChrKX0+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIzIDYgNSA2IDIxIDYiPjwvcG9seWxpbmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTE5IDZ2MTRhMiAyIDAgMCAxLTIgMkg3YTIgMiAwIDAgMS0yLTJWNm0zIDBWNGEyIDIgMCAwIDEgMi0yaDRhMiAyIDAgMCAxIDIgMnYyIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIGApfQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOndgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIEROUyByZWNvcmRzIGNvbmZpZ3VyZWQ8L2Rpdj4KICAgICAgICAgICAgYH0KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBzbG90PSJmb290ZXIiIGNsYXNzPSJzZWN0aW9uLWZvb3RlciI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9InRpbGUtYnV0dG9uIHByaW1hcnkiIEBjbGljaz0keygpPT50aGlzLmhhbmRsZUFkZERuc1JlY29yZCgpfT4KICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICAgIDxsaW5lIHgxPSIxMiIgeTE9IjUiIHgyPSIxMiIgeTI9IjE5Ij48L2xpbmU+CiAgICAgICAgICAgICAgICA8bGluZSB4MT0iNSIgeTE9IjEyIiB4Mj0iMTkiIHkyPSIxMiI+PC9saW5lPgogICAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICAgIEFkZCBSZWNvcmQKICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2RlZXMtdGlsZT4KICAgICAgPC9kaXY+CiAgICBgOndgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUiPk5vIGRvbWFpbiBzZWxlY3RlZDwvZGl2PmB9aGFuZGxlVmVyaWZ5KCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgidmVyaWZ5LWRvbWFpbiIse2RldGFpbDp0aGlzLmRvbWFpbixidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZURlbGV0ZSgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImRlbGV0ZS1kb21haW4iLHtkZXRhaWw6dGhpcy5kb21haW4sYnViYmxlczohMCxjb21wb3NlZDohMH0pKX1oYW5kbGVSZW5ld0NlcnRpZmljYXRlKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgicmVuZXctY2VydGlmaWNhdGUiLHtkZXRhaWw6dGhpcy5jZXJ0aWZpY2F0ZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZUFkZERuc1JlY29yZCgpe3RoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImFkZC1kbnMtcmVjb3JkIix7ZGV0YWlsOnRoaXMuZG9tYWluLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9aGFuZGxlRWRpdERuc1JlY29yZChrKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJlZGl0LWRucy1yZWNvcmQiLHtkZXRhaWw6ayxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfWhhbmRsZURlbGV0ZURuc1JlY29yZChrKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJkZWxldGUtZG5zLXJlY29yZCIse2RldGFpbDprLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLHFjKHRoaXMsZyl9c3RhdGlje3FjKHIsdCl9fTtyZXR1cm4geT1yfSkoKX0pO3ZhciBDRyxWYyxXTmEsV3VhPWYoKCk9PntsZSgpO0NHPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxWYz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sV05hPSgoKT0+e2xldCBhPVtpZSgic3otbXRhLWxpc3QtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdO3ZhciB5PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTek10YUxpc3RWaWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGs9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpBcnJheX0pXSxkPVtLKCldLHU9W0soKV0seD1bSygpXSxDRyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImVtYWlscyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhDPT4iZW1haWxzImluIEMsImhhcyIpLGdldDpzKEM9PkMuZW1haWxzLCJnZXQiKSxzZXQ6cygoQyxOKT0+e0MuZW1haWxzPU59LCJzZXQiKX0sbWV0YWRhdGE6a30sbixsKSxDRyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlYXJjaFF1ZXJ5IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJzZWFyY2hRdWVyeSJpbiBDLCJoYXMiKSxnZXQ6cyhDPT5DLnNlYXJjaFF1ZXJ5LCJnZXQiKSxzZXQ6cygoQyxOKT0+e0Muc2VhcmNoUXVlcnk9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxjLHApLENHKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3RhdHVzRmlsdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJzdGF0dXNGaWx0ZXIiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5zdGF0dXNGaWx0ZXIsImdldCIpLHNldDpzKChDLE4pPT57Qy5zdGF0dXNGaWx0ZXI9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxtLHYpLENHKHRoaXMsbnVsbCx4LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZGlyZWN0aW9uRmlsdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKEM9PiJkaXJlY3Rpb25GaWx0ZXIiaW4gQywiaGFzIiksZ2V0OnMoQz0+Qy5kaXJlY3Rpb25GaWx0ZXIsImdldCIpLHNldDpzKChDLE4pPT57Qy5kaXJlY3Rpb25GaWx0ZXI9Tn0sInNldCIpfSxtZXRhZGF0YTprfSxiLGcpLENHKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOmt9LG51bGwsdCkseT1yPWUudmFsdWUsayYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTprfSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1tdGEtbGlzdC12aWV3CiAgICAgICAgLmVtYWlscz0ke1t7aWQ6IjEiLGRpcmVjdGlvbjoib3V0Ym91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJub3JlcGx5QHNlcnZlLnpvbmUiLHRvOiJ1c2VyQGV4YW1wbGUuY29tIixzdWJqZWN0OiJXZWxjb21lIHRvIHNlcnZlLnpvbmUiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDozMDoyMiIsbWVzc2FnZUlkOiI8YWJjMTIzQHNlcnZlLnpvbmU+IixzaXplOiIxMi40IEtCIn0se2lkOiIyIixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImJvdW5jZWQiLGZyb206ImFsZXJ0c0BzZXJ2ZS56b25lIix0bzoiaW52YWxpZEBub3doZXJlLnRlc3QiLHN1YmplY3Q6IlNlcnZpY2UgQWxlcnQ6IENQVSBVc2FnZSBIaWdoIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6Mjg6MTAiLG1lc3NhZ2VJZDoiPGRlZjQ1NkBzZXJ2ZS56b25lPiIsc2l6ZToiOC4yIEtCIn0se2lkOiIzIixkaXJlY3Rpb246ImluYm91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJzdXBwb3J0QGN1c3RvbWVyLmNvbSIsdG86ImFkbWluQHNlcnZlLnpvbmUiLHN1YmplY3Q6IlJlOiBJbmZyYXN0cnVjdHVyZSBSZXZpZXciLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoyNTowMCIsbWVzc2FnZUlkOiI8Z2hpNzg5QGN1c3RvbWVyLmNvbT4iLHNpemU6IjI0LjEgS0IifSx7aWQ6IjQiLGRpcmVjdGlvbjoib3V0Ym91bmQiLHN0YXR1czoicmVqZWN0ZWQiLGZyb206ImJpbGxpbmdAc2VydmUuem9uZSIsdG86ImJsb2NrZWRAc3BhbS1kb21haW4udGVzdCIsc3ViamVjdDoiSW52b2ljZSAjMjAyNC0wMDEiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoyMDo0NSIsbWVzc2FnZUlkOiI8amtsMDEyQHNlcnZlLnpvbmU+IixzaXplOiI0NS42IEtCIn0se2lkOiI1IixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImRlZmVycmVkIixmcm9tOiJub3JlcGx5QHNlcnZlLnpvbmUiLHRvOiJzbG93QHJlbW90ZS1zZXJ2ZXIudGVzdCIsc3ViamVjdDoiUGFzc3dvcmQgUmVzZXQgUmVxdWVzdCIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjE1OjMwIixtZXNzYWdlSWQ6Ijxtbm8zNDVAc2VydmUuem9uZT4iLHNpemU6IjYuOCBLQiJ9LHtpZDoiNiIsZGlyZWN0aW9uOiJpbmJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToiY2lAZ2l0aHViLmNvbSIsdG86ImRldm9wc0BzZXJ2ZS56b25lIixzdWJqZWN0OiJCdWlsZCAjNDUyMSBwYXNzZWQiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoxMDowMCIsbWVzc2FnZUlkOiI8cHFyNjc4QGdpdGh1Yi5jb20+IixzaXplOiIxNS4zIEtCIn0se2lkOiI3IixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6InBlbmRpbmciLGZyb206InJlcG9ydHNAc2VydmUuem9uZSIsdG86InRlYW1Ac2VydmUuem9uZSIsc3ViamVjdDoiV2Vla2x5IEluZnJhc3RydWN0dXJlIFJlcG9ydCIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjA1OjAwIixtZXNzYWdlSWQ6IjxzdHU5MDFAc2VydmUuem9uZT4iLHNpemU6IjEwMi43IEtCIn1dfQogICAgICA+PC9zei1tdGEtbGlzdC12aWV3PgogICAgPC9kaXY+CiAgYCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiTVRBIl07I2U9VmModGhpcyxuLFtdKTtnZXQgZW1haWxzKCl7cmV0dXJuIHRoaXMuI2V9c2V0IGVtYWlscyhrKXt0aGlzLiNlPWt9I3Q9KFZjKHRoaXMsbCksVmModGhpcyxjLCIiKSk7Z2V0IHNlYXJjaFF1ZXJ5KCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlYXJjaFF1ZXJ5KGspe3RoaXMuI3Q9a30jYT0oVmModGhpcyxwKSxWYyh0aGlzLG0sImFsbCIpKTtnZXQgc3RhdHVzRmlsdGVyKCl7cmV0dXJuIHRoaXMuI2F9c2V0IHN0YXR1c0ZpbHRlcihrKXt0aGlzLiNhPWt9I3I9KFZjKHRoaXMsdiksVmModGhpcyxiLCJhbGwiKSk7Z2V0IGRpcmVjdGlvbkZpbHRlcigpe3JldHVybiB0aGlzLiNyfXNldCBkaXJlY3Rpb25GaWx0ZXIoayl7dGhpcy4jcj1rfWdldCBmaWx0ZXJlZEVtYWlscygpe3JldHVybiB0aGlzLmVtYWlscy5maWx0ZXIoaz0+e2lmKHRoaXMuc3RhdHVzRmlsdGVyIT09ImFsbCImJmsuc3RhdHVzIT09dGhpcy5zdGF0dXNGaWx0ZXJ8fHRoaXMuZGlyZWN0aW9uRmlsdGVyIT09ImFsbCImJmsuZGlyZWN0aW9uIT09dGhpcy5kaXJlY3Rpb25GaWx0ZXIpcmV0dXJuITE7aWYodGhpcy5zZWFyY2hRdWVyeSl7bGV0IEM9dGhpcy5zZWFyY2hRdWVyeS50b0xvd2VyQ2FzZSgpO3JldHVybiBrLmZyb20udG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhDKXx8ay50by50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKEMpfHxrLnN1YmplY3QudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhDKXx8ay5tZXNzYWdlSWQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhDKX1yZXR1cm4hMH0pfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgIH0KCiAgICAgIC5maWx0ZXItYmFyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0IHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIG1pbi13aWR0aDogMjAwcHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pbnB1dDo6cGxhY2Vob2xkZXIgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaW5wdXQ6Zm9jdXMgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjM2I4MmY2Iil9OwogICAgICB9CgogICAgICAuY2hpcC1ncm91cCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDRweDsKICAgICAgfQoKICAgICAgLmNoaXAgewogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmNoaXA6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuY2hpcC5hY3RpdmUgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMTgxODFiIil9OwogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAucmVzdWx0cy1jb3VudCB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQoKICAgICAgLnRhYmxlLWNvbnRhaW5lciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA4cHg7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLnRhYmxlLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQwcHggOTBweCAxLjVmciAxLjVmciAyZnIgMTQwcHg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdyB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQwcHggOTBweCAxLjVmciAxLjVmciAyZnIgMTQwcHg7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIHBhZGRpbmc6IDEycHggMTZweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYmxlLXJvdzpsYXN0LWNoaWxkIHsKICAgICAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgICB9CgogICAgICAudGFibGUtcm93OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgIH0KCiAgICAgIC5kaXJlY3Rpb24taWNvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICB9CgogICAgICAuZGlyZWN0aW9uLWljb24uaW5ib3VuZCB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmRpcmVjdGlvbi1pY29uLm91dGJvdW5kIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmRlbGl2ZXJlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuYm91bmNlZCwKICAgICAgLnN0YXR1cy1iYWRnZS5yZWplY3RlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZGVmZXJyZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVmOWMzIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjY2E4YTA0IiwiI2ZhY2MxNSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5wZW5kaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RiZWFmZSIsInJnYmEoNTksIDEzMCwgMjQ2LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5lbWFpbC1mcm9tLAogICAgICAuZW1haWwtdG8gewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmVtYWlsLXN1YmplY3QgewogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuZW1haWwtdGltZXN0YW1wIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUgewogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7bGV0IGs9dGhpcy5maWx0ZXJlZEVtYWlscztyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0iZmlsdGVyLWJhciI+CiAgICAgICAgPGlucHV0CiAgICAgICAgICBjbGFzcz0ic2VhcmNoLWlucHV0IgogICAgICAgICAgdHlwZT0idGV4dCIKICAgICAgICAgIHBsYWNlaG9sZGVyPSJTZWFyY2ggYnkgZnJvbSwgdG8sIHN1YmplY3QsIG9yIG1lc3NhZ2UgSUQuLi4iCiAgICAgICAgICAudmFsdWU9JHt0aGlzLnNlYXJjaFF1ZXJ5fQogICAgICAgICAgQGlucHV0PSR7Qz0+e3RoaXMuc2VhcmNoUXVlcnk9Qy50YXJnZXQudmFsdWV9fQogICAgICAgIC8+CiAgICAgICAgPGRpdiBjbGFzcz0iY2hpcC1ncm91cCI+CiAgICAgICAgICAke1siYWxsIiwiaW5ib3VuZCIsIm91dGJvdW5kIl0ubWFwKEM9PndgCiAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICBjbGFzcz0iY2hpcCAke3RoaXMuZGlyZWN0aW9uRmlsdGVyPT09Qz8iYWN0aXZlIjoiIn0iCiAgICAgICAgICAgICAgQGNsaWNrPSR7KCk9Pnt0aGlzLmRpcmVjdGlvbkZpbHRlcj1DfX0KICAgICAgICAgICAgPiR7Qz09PSJhbGwiPyJBbGwiOkM9PT0iaW5ib3VuZCI/IkluYm91bmQiOiJPdXRib3VuZCJ9PC9idXR0b24+CiAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJjaGlwLWdyb3VwIj4KICAgICAgICAgICR7WyJhbGwiLCJkZWxpdmVyZWQiLCJib3VuY2VkIiwicmVqZWN0ZWQiLCJkZWZlcnJlZCIsInBlbmRpbmciXS5tYXAoQz0+d2AKICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgIGNsYXNzPSJjaGlwICR7dGhpcy5zdGF0dXNGaWx0ZXI9PT1DPyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+e3RoaXMuc3RhdHVzRmlsdGVyPUN9fQogICAgICAgICAgICA+JHtDPT09ImFsbCI/IkFsbCI6Qy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStDLnNsaWNlKDEpfTwvYnV0dG9uPgogICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0icmVzdWx0cy1jb3VudCI+U2hvd2luZyAke2subGVuZ3RofSBvZiAke3RoaXMuZW1haWxzLmxlbmd0aH0gZW1haWxzPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJ0YWJsZS1jb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InRhYmxlLWhlYWRlciI+CiAgICAgICAgICA8c3Bhbj48L3NwYW4+CiAgICAgICAgICA8c3Bhbj5TdGF0dXM8L3NwYW4+CiAgICAgICAgICA8c3Bhbj5Gcm9tPC9zcGFuPgogICAgICAgICAgPHNwYW4+VG88L3NwYW4+CiAgICAgICAgICA8c3Bhbj5TdWJqZWN0PC9zcGFuPgogICAgICAgICAgPHNwYW4+VGltZXN0YW1wPC9zcGFuPgogICAgICAgIDwvZGl2PgogICAgICAgICR7ay5sZW5ndGg+MD9rLm1hcChDPT53YAogICAgICAgICAgPGRpdiBjbGFzcz0idGFibGUtcm93IiBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVFbWFpbENsaWNrKEMpfT4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRpcmVjdGlvbi1pY29uICR7Qy5kaXJlY3Rpb259Ij4KICAgICAgICAgICAgICAke0MuZGlyZWN0aW9uPT09ImluYm91bmQiP3dgPHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+PGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiLz48cG9seWxpbmUgcG9pbnRzPSIxOSAxMiAxMiAxOSA1IDEyIi8+PC9zdmc+YDp3YDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPjxsaW5lIHgxPSIxMiIgeTE9IjE5IiB4Mj0iMTIiIHkyPSI1Ii8+PHBvbHlsaW5lIHBvaW50cz0iNSAxMiAxMiA1IDE5IDEyIi8+PC9zdmc+YH0KICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICA8c3Bhbj48c3BhbiBjbGFzcz0ic3RhdHVzLWJhZGdlICR7Qy5zdGF0dXN9Ij4ke0Muc3RhdHVzfTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbWFpbC1mcm9tIiB0aXRsZT0iJHtDLmZyb219Ij4ke0MuZnJvbX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbWFpbC10byIgdGl0bGU9IiR7Qy50b30iPiR7Qy50b308L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbWFpbC1zdWJqZWN0IiB0aXRsZT0iJHtDLnN1YmplY3R9Ij4ke0Muc3ViamVjdH08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJlbWFpbC10aW1lc3RhbXAiPiR7Qy50aW1lc3RhbXB9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgYCk6d2AKICAgICAgICAgIDxkaXYgY2xhc3M9ImVtcHR5LXN0YXRlIj5ObyBlbWFpbHMgZm91bmQ8L2Rpdj4KICAgICAgICBgfQogICAgICA8L2Rpdj4KICAgIGB9aGFuZGxlRW1haWxDbGljayhrKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJlbWFpbC1jbGljayIse2RldGFpbDprLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFZjKHRoaXMsZyl9c3RhdGlje1ZjKHIsdCl9fTtyZXR1cm4geT1yfSkoKX0pO3ZhciBHdWEsaWV0LEdOYSxZdWE9ZigoKT0+e2xlKCk7R3VhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxpZXQ9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEdOYT0oKCk9PntsZXQgYT1baWUoInN6LW10YS1kZXRhaWwtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTek10YURldGFpbFZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgYz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOk9iamVjdH0pXSxHdWEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbWFpbCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhwPT4iZW1haWwiaW4gcCwiaGFzIiksZ2V0OnMocD0+cC5lbWFpbCwiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLmVtYWlsPXV9LCJzZXQiKX0sbWV0YWRhdGE6Y30sbixsKSxHdWEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Y30sbnVsbCx0KSxkPXI9ZS52YWx1ZSxjJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmN9KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiAxMjAwcHg7Ij4KICAgICAgPHN6LW10YS1kZXRhaWwtdmlldwogICAgICAgIC5lbWFpbD0ke3tpZDoiMSIsZGlyZWN0aW9uOiJvdXRib3VuZCIsc3RhdHVzOiJkZWxpdmVyZWQiLGZyb206Im5vcmVwbHlAc2VydmUuem9uZSIsdG86InVzZXJAZXhhbXBsZS5jb20iLHRvTGlzdDpbInVzZXJAZXhhbXBsZS5jb20iXSxzdWJqZWN0OiJXZWxjb21lIHRvIHNlcnZlLnpvbmUiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDozMDoyMiIsbWVzc2FnZUlkOiI8YWJjMTIzQHNlcnZlLnpvbmU+IixzaXplOiIxMi40IEtCIixzbXRwTG9nOlt7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkVITE8gbWFpbC5zZXJ2ZS56b25lIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtbWFpbC5leGFtcGxlLmNvbSBIZWxsbyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtU1RBUlRUTFMiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIFNJWkUgNTI0Mjg4MDAiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIwIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiU1RBUlRUTFMifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjIyMCBSZWFkeSB0byBzdGFydCBUTFMiLHJlc3BvbnNlQ29kZToyMjB9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiRUhMTyBtYWlsLnNlcnZlLnpvbmUifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1tYWlsLmV4YW1wbGUuY29tIEhlbGxvIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1BVVRIIFBMQUlOIExPR0lOIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBTSVpFIDUyNDI4ODAwIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkFVVEggUExBSU4gQUhWelpYSUFjR0Z6YzNkdmNtUT0ifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjIzNSAyLjcuMCBBdXRoZW50aWNhdGlvbiBzdWNjZXNzZnVsIixyZXNwb25zZUNvZGU6MjM1fSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6Ik1BSUwgRlJPTTo8bm9yZXBseUBzZXJ2ZS56b25lPiJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIE9LIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IlJDUFQgVE86PHVzZXJAZXhhbXBsZS5jb20+In0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgQWNjZXB0ZWQiLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiREFUQSJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIyIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDonMzU0IEVudGVyIG1lc3NhZ2UsIGVuZGluZyB3aXRoICIuIiBvbiBhIGxpbmUgYnkgaXRzZWxmJyxyZXNwb25zZUNvZGU6MzU0fSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6Ii4ifSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBPSyBpZD0xcFEyclMtMDAwM0FiLUM0IixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IlFVSVQifSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjIyMSBtYWlsLmV4YW1wbGUuY29tIGNsb3NpbmcgY29ubmVjdGlvbiIscmVzcG9uc2VDb2RlOjIyMX1dLGNvbm5lY3Rpb25JbmZvOntzb3VyY2VJcDoiMTAuMC4xLjUwIixzb3VyY2VIb3N0bmFtZToibWFpbC5zZXJ2ZS56b25lIixkZXN0aW5hdGlvbklwOiI5My4xODQuMjE2LjM0IixkZXN0aW5hdGlvblBvcnQ6MjUsdGxzVmVyc2lvbjoiVExTdjEuMyIsdGxzQ2lwaGVyOiJUTFNfQUVTXzI1Nl9HQ01fU0hBMzg0IixhdXRoZW50aWNhdGVkOiEwLGF1dGhNZXRob2Q6IlBMQUlOIixhdXRoVXNlcjoibm9yZXBseUBzZXJ2ZS56b25lIn0sYXV0aGVudGljYXRpb25SZXN1bHRzOntzcGY6InBhc3MiLHNwZkRvbWFpbjoic2VydmUuem9uZSIsZGtpbToicGFzcyIsZGtpbURvbWFpbjoic2VydmUuem9uZSIsZG1hcmM6InBhc3MiLGRtYXJjUG9saWN5OiJyZWplY3QifSxoZWFkZXJzOntGcm9tOiJub3JlcGx5QHNlcnZlLnpvbmUiLFRvOiJ1c2VyQGV4YW1wbGUuY29tIixTdWJqZWN0OiJXZWxjb21lIHRvIHNlcnZlLnpvbmUiLERhdGU6Ik1vbiwgMTUgSmFuIDIwMjQgMTQ6MzA6MjIgKzAwMDAiLCJNSU1FLVZlcnNpb24iOiIxLjAiLCJDb250ZW50LVR5cGUiOiJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgifSxib2R5Oic8aHRtbD5cXG48aGVhZD48dGl0bGU+V2VsY29tZTwvdGl0bGU+PC9oZWFkPlxcbjxib2R5PlxcbiAgPGgxPldlbGNvbWUgdG8gc2VydmUuem9uZSE8L2gxPlxcbiAgPHA+WW91ciBhY2NvdW50IGhhcyBiZWVuIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5LjwvcD5cXG4gIDxhIGhyZWY9Imh0dHBzOi8vc2VydmUuem9uZS9kYXNoYm9hcmQiPkdvIHRvIERhc2hib2FyZDwvYT5cXG48L2JvZHk+XFxuPC9odG1sPid9fQogICAgICA+PC9zei1tdGEtZGV0YWlsLXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJNVEEiXTsjZT1pZXQodGhpcyxuLG51bGwpO2dldCBlbWFpbCgpe3JldHVybiB0aGlzLiNlfXNldCBlbWFpbChjKXt0aGlzLiNlPWN9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgLmhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAuYmFjay1saW5rIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuYmFjay1saW5rOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuZW1haWwtaGVhZGVyIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5lbWFpbC1zdWJqZWN0IHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLmJhZGdlLWdyb3VwIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5kZWxpdmVyZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmJvdW5jZWQsCiAgICAgIC5zdGF0dXMtYmFkZ2UucmVqZWN0ZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVlMmUyIiwicmdiYSgyMzksIDY4LCA2OCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmRlZmVycmVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjljMyIsInJnYmEoMjUwLCAyMDQsIDIxLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UucGVuZGluZyB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuZGlyZWN0aW9uLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNHB4OwogICAgICAgIHBhZGRpbmc6IDRweCAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmRpcmVjdGlvbi1iYWRnZS5pbmJvdW5kIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmRpcmVjdGlvbi1iYWRnZS5vdXRib3VuZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuY29udGVudCB7CiAgICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgICBnYXA6IDI0cHg7CiAgICAgIH0KCiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHsKICAgICAgICAuY29udGVudCB7CiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDJmciAxZnI7CiAgICAgICAgfQogICAgICB9CgogICAgICAubWFpbi1jb250ZW50IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgICAgZ2FwOiAyNHB4OwogICAgICB9CgogICAgICAuc2lkZWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMjRweDsKICAgICAgfQoKICAgICAgLmNhcmQtaGVhZGVyIHsKICAgICAgICBoZWlnaHQ6IDM2cHg7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAuY2FyZC1oZWFkaW5nIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIG1pbi13aWR0aDogMDsKICAgICAgfQoKICAgICAgLmNhcmQtdGl0bGUgewogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7CiAgICAgIH0KCiAgICAgIC5jYXJkLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogICAgICB9CgogICAgICAuY2FyZC1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICB9CgogICAgICAudGlsZS1idXR0b246Zmlyc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICB9CgogICAgICAudGlsZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5wcmltYXJ5OmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiaHNsKDIxNy4yIDkxLjIlIDU5LjglIC8gMC4wOCkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUgLyAwLjA4KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1MCUpIiwiaHNsKDIxMy4xIDkzLjklIDc1JSkiKX07CiAgICAgIH0KCiAgICAgIC5jYXJkLWNvbnRlbnQgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtbGlzdCB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogMTJweDsKICAgICAgfQoKICAgICAgLmRldGFpbC1pdGVtIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsKICAgICAgfQoKICAgICAgLmRldGFpbC1sYWJlbCB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgfQoKICAgICAgLnNtdHAtbG9nLWNvbnRhaW5lciB7CiAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCBNb25hY28sICdDYXNjYWRpYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBsaW5lLWhlaWdodDogMS42OwogICAgICAgIG1heC1oZWlnaHQ6IDUwMHB4OwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmYWZhZmEiLCIjMGEwYTBhIil9OwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBzY3JvbGxiYXItd2lkdGg6IHRoaW47CiAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX0gdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5zbXRwLWxvZy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICAgICAgICB3aWR0aDogNnB4OwogICAgICB9CgogICAgICAuc210cC1sb2ctY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgIH0KCiAgICAgIC5zbXRwLWxvZy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Q0ZDRkOCIsIiMzZjNmNDYiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICB9CgogICAgICAvKiBQaGFzZSBzZXBhcmF0b3JzICovCiAgICAgIC5zbXRwLXBoYXNlLXNlcGFyYXRvciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBwYWRkaW5nOiA0cHggMDsKICAgICAgICBtYXJnaW46IDRweCAwOwogICAgICB9CgogICAgICAuc210cC1waGFzZS1saW5lIHsKICAgICAgICBmbGV4OiAxOwogICAgICAgIGhlaWdodDogMXB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLnNtdHAtcGhhc2UtbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLyogQ2hhdCBidWJibGVzICovCiAgICAgIC5zbXRwLWJ1YmJsZSB7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDEwcHggMTRweDsKICAgICAgICBtYXgtd2lkdGg6IDcwJTsKICAgICAgfQoKICAgICAgLnNtdHAtYnViYmxlLmNsaWVudCB7CiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMDgpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTIpIil9OwogICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsKICAgICAgfQoKICAgICAgLnNtdHAtYnViYmxlLnNlcnZlciB7CiAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMzQsIDE5NywgOTQsIDAuMDYpIiwicmdiYSgzNCwgMTk3LCA5NCwgMC4xMCkiKX07CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAzcHggc29saWQgJHtoLmJkVGhlbWUoIiMyMmM1NWUiLCIjNGFkZTgwIil9OwogICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICB9CgogICAgICAuc210cC1idWJibGUtY29tbWFuZCB7CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuc210cC1idWJibGUtbWV0YSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIG1hcmdpbi10b3A6IDRweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLnNtdHAtYnViYmxlLnNlcnZlciAuc210cC1idWJibGUtbWV0YSB7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgfQoKICAgICAgLnNtdHAtZGlyZWN0aW9uLXRhZyB7CiAgICAgICAgZm9udC1zaXplOiAxMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4zcHg7CiAgICAgIH0KCiAgICAgIC5zbXRwLWRpcmVjdGlvbi10YWcuY2xpZW50IHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMzYjgyZjYiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuc210cC1kaXJlY3Rpb24tdGFnLnNlcnZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjJjNTVlIiwiIzRhZGU4MCIpfTsKICAgICAgfQoKICAgICAgLyogUmVzcG9uc2UgY29kZSBiYWRnZXMgKi8KICAgICAgLnJlc3BvbnNlLWNvZGUtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBwYWRkaW5nOiAxcHggN3B4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgICAgZm9udC1mYW1pbHk6ICdTRiBNb25vJywgTW9uYWNvLCAnQ2FzY2FkaWEgQ29kZScsIG1vbm9zcGFjZTsKICAgICAgfQoKICAgICAgLnJlc3BvbnNlLWNvZGUtYmFkZ2UuY29kZS0yeHggewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjE1KSIsInJnYmEoMzQsIDE5NywgOTQsIDAuMjUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5yZXNwb25zZS1jb2RlLWJhZGdlLmNvZGUtM3h4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMjUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzI1NjNlYiIsIiM2MGE1ZmEiKX07CiAgICAgIH0KCiAgICAgIC5yZXNwb25zZS1jb2RlLWJhZGdlLmNvZGUtNHh4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyNTAsIDIwNCwgMjEsIDAuMTUpIiwicmdiYSgyNTAsIDIwNCwgMjEsIDAuMjUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIC5yZXNwb25zZS1jb2RlLWJhZGdlLmNvZGUtNXh4IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgicmdiYSgyMzksIDY4LCA2OCwgMC4xNSkiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjI1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAvKiBTTVRQIG1ldGFkYXRhIGJhbm5lciDigJQgc2l0cyBpbnNpZGUgY29udGVudCwgYWJvdmUgdGhlIGxvZyAqLwogICAgICAuc210cC1oZWFkZXItc3VidGl0bGUgewogICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQoKICAgICAgLnNtdHAtZGlyZWN0aW9uLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuM3B4OwogICAgICB9CgogICAgICAuc210cC1kaXJlY3Rpb24tYmFkZ2UuaW5ib3VuZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoInJnYmEoMzQsIDE5NywgOTQsIDAuMTIpIiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc210cC1kaXJlY3Rpb24tYmFkZ2Uub3V0Ym91bmQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4xMikiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuZW1haWwtYm9keS1jb250YWluZXIgewogICAgICAgIHBhZGRpbmc6IDE2cHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMwYTBhMGEiKX07CiAgICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudGxzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuYXV0aC1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogOHB4IDA7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLmF1dGgtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5hdXRoLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYXV0aC1kb21haW4gewogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7CiAgICAgIH0KCiAgICAgIC5hdXRoLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAuYXV0aC1iYWRnZS5wYXNzIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjZmNlNyIsInJnYmEoMzQsIDE5NywgOTQsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmF1dGgtYmFkZ2UuZmFpbCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWUyZTIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5hdXRoLWJhZGdlLnNvZnRmYWlsLAogICAgICAuYXV0aC1iYWRnZS5uZXV0cmFsLAogICAgICAuYXV0aC1iYWRnZS5ub25lIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjljMyIsInJnYmEoMjUwLCAyMDQsIDIxLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2NhOGEwNCIsIiNmYWNjMTUiKX07CiAgICAgIH0KCiAgICAgIGRlZXMtdGlsZS5yZWplY3Rpb24tY2FyZDo6cGFydChvdXRlcikgewogICAgICAgIGJvcmRlci1jb2xvcjogJHtoLmJkVGhlbWUoIiNmZWNhY2EiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjMpIil9OwogICAgICB9CgogICAgICAucmVqZWN0aW9uLWNvbnRlbnQgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAucmVqZWN0aW9uLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7CiAgICAgIH0KCiAgICAgIC5yZWplY3Rpb24tdGV4dCB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgcGFkZGluZzogOHB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZWYyZjIiLCJyZ2JhKDIzOSwgNjgsIDY4LCAwLjEpIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzk5MWIxYiIsIiNmY2E1YTUiKX07CiAgICAgIH0KCiAgICAgIC5yZWplY3Rpb24tdGV4dDpsYXN0LWNoaWxkIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAubm8tZW1haWwgewogICAgICAgIHBhZGRpbmc6IDQ4cHggMjRweDsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7aWYoIXRoaXMuZW1haWwpcmV0dXJuIHdgPGRpdiBjbGFzcz0ibm8tZW1haWwiPk5vIGVtYWlsIHNlbGVjdGVkPC9kaXY+YDtsZXQgYz10aGlzLmVtYWlsO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJoZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImJhY2stbGluayIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlQmFjaygpfT4KICAgICAgICAgIDxzdmcgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjIiPgogICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiPjwvcG9seWxpbmU+CiAgICAgICAgICA8L3N2Zz4KICAgICAgICAgIEJhY2sgdG8gRW1haWxzCiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0iZW1haWwtaGVhZGVyIj4KICAgICAgICA8aDEgY2xhc3M9ImVtYWlsLXN1YmplY3QiPiR7Yy5zdWJqZWN0fTwvaDE+CiAgICAgICAgPGRpdiBjbGFzcz0iYmFkZ2UtZ3JvdXAiPgogICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1iYWRnZSAke2Muc3RhdHVzfSI+JHtjLnN0YXR1c308L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iZGlyZWN0aW9uLWJhZGdlICR7Yy5kaXJlY3Rpb259Ij4ke2MuZGlyZWN0aW9ufTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJtYWluLWNvbnRlbnQiPgogICAgICAgICAgPCEtLSBFbWFpbCBNZXRhZGF0YSAtLT4KICAgICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGluZyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC10aXRsZSI+RW1haWwgTWV0YWRhdGE8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjYXJkLWNvbnRlbnQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1saXN0Ij4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+RnJvbTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtjLmZyb219PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlRvPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke2MudG9MaXN0LmpvaW4oIiwgIil9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAke2MuY2MmJmMuY2MubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkNDPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7Yy5jYy5qb2luKCIsICIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5TdWJqZWN0PC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke2Muc3ViamVjdH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+RGF0ZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtjLnRpbWVzdGFtcH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+TWVzc2FnZSBJRDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtjLm1lc3NhZ2VJZH08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+U2l6ZTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtjLnNpemV9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kZWVzLXRpbGU+CgogICAgICAgICAgPCEtLSBTTVRQIFRyYW5zYWN0aW9uIExvZyAtLT4KICAgICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGluZyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC10aXRsZSI+U01UUCBUcmFuc2FjdGlvbiBMb2c8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0ic210cC1kaXJlY3Rpb24tYmFkZ2UgJHtjLmRpcmVjdGlvbn0iPiR7Yy5kaXJlY3Rpb259PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic210cC1oZWFkZXItc3VidGl0bGUiPgogICAgICAgICAgICAgICR7Yy5kaXJlY3Rpb249PT0ib3V0Ym91bmQiP2Ake2MuY29ubmVjdGlvbkluZm8uc291cmNlSG9zdG5hbWV9IFx1MjE5MiAke2MuY29ubmVjdGlvbkluZm8uZGVzdGluYXRpb25JcH06JHtjLmNvbm5lY3Rpb25JbmZvLmRlc3RpbmF0aW9uUG9ydH1gOmAke2MuY29ubmVjdGlvbkluZm8uc291cmNlSXB9IFx1MjE5MiAke2MuY29ubmVjdGlvbkluZm8uc291cmNlSG9zdG5hbWV9OiR7Yy5jb25uZWN0aW9uSW5mby5kZXN0aW5hdGlvblBvcnR9YH0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICR7dGhpcy5yZW5kZXJTbXRwTG9nKGMpfQogICAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9ImNhcmQtZm9vdGVyIj4KICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY29weVNtdHBMb2coKX0+CiAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPSIxMiIgaGVpZ2h0PSIxMiIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogICAgICAgICAgICAgICAgICA8cmVjdCB4PSI5IiB5PSI5IiB3aWR0aD0iMTMiIGhlaWdodD0iMTMiIHJ4PSIyIiByeT0iMiI+PC9yZWN0PgogICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNSAxNUg0YTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDlhMiAyIDAgMCAxIDIgMnYxIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8L3N2Zz4KICAgICAgICAgICAgICAgIENvcHkgTG9nCiAgICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kZWVzLXRpbGU+CgogICAgICAgICAgPCEtLSBFbWFpbCBCb2R5IC0tPgogICAgICAgICAgPGRlZXMtdGlsZT4KICAgICAgICAgICAgPGRpdiBzbG90PSJoZWFkZXIiIGNsYXNzPSJjYXJkLWhlYWRlciI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkaW5nIj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLXRpdGxlIj5FbWFpbCBCb2R5IChFc2NhcGVkKTwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJjYXJkLXN1YnRpdGxlIj5SYXcgY29udGVudCDigJQgSFRNTCBpcyBub3QgcmVuZGVyZWQ8L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8cHJlIGNsYXNzPSJlbWFpbC1ib2R5LWNvbnRhaW5lciI+JHtjLmJvZHl9PC9wcmU+CiAgICAgICAgICA8L2RlZXMtdGlsZT4KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPGRpdiBjbGFzcz0ic2lkZWJhciI+CiAgICAgICAgICA8IS0tIENvbm5lY3Rpb24gSW5mbyAtLT4KICAgICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGluZyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC10aXRsZSI+Q29ubmVjdGlvbiBJbmZvPC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtbGlzdCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaXRlbSI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPlNvdXJjZSBJUDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtjLmNvbm5lY3Rpb25JbmZvLnNvdXJjZUlwfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5Tb3VyY2UgSG9zdG5hbWU8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7Yy5jb25uZWN0aW9uSW5mby5zb3VyY2VIb3N0bmFtZX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1sYWJlbCI+RGVzdGluYXRpb248L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7Yy5jb25uZWN0aW9uSW5mby5kZXN0aW5hdGlvbklwfToke2MuY29ubmVjdGlvbkluZm8uZGVzdGluYXRpb25Qb3J0fTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5UTFM8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPgogICAgICAgICAgICAgICAgICAgICR7Yy5jb25uZWN0aW9uSW5mby50bHNWZXJzaW9uP3dgPHNwYW4gY2xhc3M9InRscy1iYWRnZSI+JHtjLmNvbm5lY3Rpb25JbmZvLnRsc1ZlcnNpb259PC9zcGFuPmA6Ik5vbmUifQogICAgICAgICAgICAgICAgICA8L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICR7Yy5jb25uZWN0aW9uSW5mby50bHNDaXBoZXI/d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkNpcGhlcjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke2MuY29ubmVjdGlvbkluZm8udGxzQ2lwaGVyfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5BdXRoZW50aWNhdGVkPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLXZhbHVlIj4ke2MuY29ubmVjdGlvbkluZm8uYXV0aGVudGljYXRlZD8iWWVzIjoiTm8ifTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgJHtjLmNvbm5lY3Rpb25JbmZvLmF1dGhlbnRpY2F0ZWQ/d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWl0ZW0iPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbGFiZWwiPkF1dGggTWV0aG9kPC9zcGFuPgogICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtdmFsdWUiPiR7Yy5jb25uZWN0aW9uSW5mby5hdXRoTWV0aG9kfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pdGVtIj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLWxhYmVsIj5BdXRoIFVzZXI8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC12YWx1ZSI+JHtjLmNvbm5lY3Rpb25JbmZvLmF1dGhVc2VyfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGVlcy10aWxlPgoKICAgICAgICAgIDwhLS0gQXV0aGVudGljYXRpb24gUmVzdWx0cyAtLT4KICAgICAgICAgIDxkZWVzLXRpbGU+CiAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtaGVhZGluZyI+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iY2FyZC10aXRsZSI+QXV0aGVudGljYXRpb24gUmVzdWx0czwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtY29udGVudCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXV0aC1yb3ciPgogICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGgtbGFiZWwiPlNQRjwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGgtZG9tYWluIj4ke2MuYXV0aGVudGljYXRpb25SZXN1bHRzLnNwZkRvbWFpbn08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWJhZGdlICR7Yy5hdXRoZW50aWNhdGlvblJlc3VsdHMuc3BmfSI+JHtjLmF1dGhlbnRpY2F0aW9uUmVzdWx0cy5zcGZ9PC9zcGFuPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImF1dGgtcm93Ij4KICAgICAgICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWxhYmVsIj5ES0lNPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aC1kb21haW4iPiR7Yy5hdXRoZW50aWNhdGlvblJlc3VsdHMuZGtpbURvbWFpbn08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWJhZGdlICR7Yy5hdXRoZW50aWNhdGlvblJlc3VsdHMuZGtpbX0iPiR7Yy5hdXRoZW50aWNhdGlvblJlc3VsdHMuZGtpbX08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYXV0aC1yb3ciPgogICAgICAgICAgICAgICAgPGRpdj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImF1dGgtbGFiZWwiPkRNQVJDPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iYXV0aC1kb21haW4iPnBvbGljeTogJHtjLmF1dGhlbnRpY2F0aW9uUmVzdWx0cy5kbWFyY1BvbGljeX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJhdXRoLWJhZGdlICR7Yy5hdXRoZW50aWNhdGlvblJlc3VsdHMuZG1hcmN9Ij4ke2MuYXV0aGVudGljYXRpb25SZXN1bHRzLmRtYXJjfTwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2RlZXMtdGlsZT4KCiAgICAgICAgICA8IS0tIFJlamVjdGlvbiBEZXRhaWxzIChjb25kaXRpb25hbCkgLS0+CiAgICAgICAgICAke2Muc3RhdHVzPT09InJlamVjdGVkInx8Yy5zdGF0dXM9PT0iYm91bmNlZCI/d2AKICAgICAgICAgICAgPGRlZXMtdGlsZSBjbGFzcz0icmVqZWN0aW9uLWNhcmQiPgogICAgICAgICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iY2FyZC1oZWFkZXIiPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1oZWFkaW5nIj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNhcmQtdGl0bGUiPlJlamVjdGlvbiBEZXRhaWxzPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iY2FyZC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICR7Yy5yZWplY3Rpb25SZWFzb24/d2AKICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVqZWN0aW9uLWxhYmVsIj5SZWplY3Rpb24gUmVhc29uPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlamVjdGlvbi10ZXh0Ij4ke2MucmVqZWN0aW9uUmVhc29ufTwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgICR7Yy5ib3VuY2VNZXNzYWdlP3dgCiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InJlamVjdGlvbi1sYWJlbCI+Qm91bmNlIE1lc3NhZ2U8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icmVqZWN0aW9uLXRleHQiPiR7Yy5ib3VuY2VNZXNzYWdlfTwvZGl2PgogICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kZWVzLXRpbGU+CiAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIGB9Z2V0UmVzcG9uc2VDb2RlQmFkZ2VDbGFzcyhjKXtyZXR1cm4gYz49NTAwPyJjb2RlLTV4eCI6Yz49NDAwPyJjb2RlLTR4eCI6Yz49MzAwPyJjb2RlLTN4eCI6ImNvZGUtMnh4In1nZXRTbXRwUGhhc2VzKGMpe2xldCBwPVtdLHU9IiIsbT0wO2ZvcihsZXQgdiBvZiBjKXtsZXQgeD12LmNvbW1hbmQudG9VcHBlckNhc2UoKSxiPXU7aWYodi5kaXJlY3Rpb249PT0iY2xpZW50IiYmKHguc3RhcnRzV2l0aCgiRUhMTyIpfHx4LnN0YXJ0c1dpdGgoIkhFTE8iKT8obSsrLG09PT0xP2I9ImNvbm5lY3Rpb24iOmI9InBvc3QtdGxzIik6eD09PSJTVEFSVFRMUyI/Yj0idGxzIjp4LnN0YXJ0c1dpdGgoIkFVVEgiKT9iPSJhdXRoIjp4LnN0YXJ0c1dpdGgoIk1BSUwgRlJPTSIpfHx4LnN0YXJ0c1dpdGgoIlJDUFQgVE8iKXx8eD09PSJEQVRBInx8eD09PSIuIj9iPSJ0cmFuc2ZlciI6eD09PSJRVUlUIiYmKGI9ImNsb3NpbmciKSksdi5kaXJlY3Rpb249PT0ic2VydmVyIiYmYj09PSIiJiYoYj11fHwiY29ubmVjdGlvbiIpLGI9PT0iIiYmKGI9ImNvbm5lY3Rpb24iKSxiIT09dSl7dT1iO2xldCBnPXtjb25uZWN0aW9uOiJDb25uZWN0aW9uIix0bHM6IlRMUyBOZWdvdGlhdGlvbiIsInBvc3QtdGxzIjoiUG9zdC1UTFMgSGFuZHNoYWtlIixhdXRoOiJBdXRoZW50aWNhdGlvbiIsdHJhbnNmZXI6Ik1haWwgVHJhbnNmZXIiLGNsb3Npbmc6IkNsb3NpbmcifTtwLnB1c2goe3BoYXNlOmIsbGFiZWw6Z1tiXXx8YixlbnRyaWVzOltdfSl9cC5sZW5ndGg9PT0wJiZwLnB1c2goe3BoYXNlOiJjb25uZWN0aW9uIixsYWJlbDoiQ29ubmVjdGlvbiIsZW50cmllczpbXX0pLHBbcC5sZW5ndGgtMV0uZW50cmllcy5wdXNoKHYpfXJldHVybiBwfXJlbmRlclNtdHBMb2coYyl7bGV0IHA9dGhpcy5nZXRTbXRwUGhhc2VzKGMuc210cExvZyk7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InNtdHAtbG9nLWNvbnRhaW5lciI+CiAgICAgICAgJHtwLm1hcCh1PT53YAogICAgICAgICAgPGRpdiBjbGFzcz0ic210cC1waGFzZS1zZXBhcmF0b3IiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJzbXRwLXBoYXNlLWxpbmUiPjwvZGl2PgogICAgICAgICAgICA8c3BhbiBjbGFzcz0ic210cC1waGFzZS1sYWJlbCI+JHt1LmxhYmVsfTwvc3Bhbj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0ic210cC1waGFzZS1saW5lIj48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgJHt1LmVudHJpZXMubWFwKG09PndgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtdHAtYnViYmxlICR7bS5kaXJlY3Rpb259Ij4KICAgICAgICAgICAgICAke20uZGlyZWN0aW9uPT09InNlcnZlciImJm0ucmVzcG9uc2VDb2RlP3dgCiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icmVzcG9uc2UtY29kZS1iYWRnZSAke3RoaXMuZ2V0UmVzcG9uc2VDb2RlQmFkZ2VDbGFzcyhtLnJlc3BvbnNlQ29kZSl9Ij4ke20ucmVzcG9uc2VDb2RlfTwvc3Bhbj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtdHAtYnViYmxlLWNvbW1hbmQiPiR7bS5jb21tYW5kfTwvZGl2PgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InNtdHAtYnViYmxlLW1ldGEiPgogICAgICAgICAgICAgICAgPHNwYW4+JHttLnRpbWVzdGFtcH08L3NwYW4+CiAgICAgICAgICAgICAgICA8c3Bhbj7Ctzwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzbXRwLWRpcmVjdGlvbi10YWcgJHttLmRpcmVjdGlvbn0iPiR7bS5kaXJlY3Rpb249PT0iY2xpZW50Ij8iQ2xpZW50IjoiU2VydmVyIn08L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYCl9CiAgICAgICAgYCl9CiAgICAgIDwvZGl2PgogICAgYH1jb3B5U210cExvZygpe2lmKCF0aGlzLmVtYWlsKXJldHVybjtsZXQgYz10aGlzLmVtYWlsLnNtdHBMb2cubWFwKHA9PmBbJHtwLnRpbWVzdGFtcH1dICR7cC5kaXJlY3Rpb249PT0iY2xpZW50Ij8iQzoiOiJTOiJ9ICR7cC5jb21tYW5kfWApLmpvaW4oYApgKTtuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChjKX1oYW5kbGVCYWNrKCl7dGhpcy5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgiYmFjayIse2J1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLGlldCh0aGlzLGwpfXN0YXRpY3tpZXQocix0KX19O3JldHVybiBkPXJ9KSgpfSk7ZnVuY3Rpb24gWU5hKGEpe3JldHVybiB0eXBlb2YgYT09Im51bWJlciI/U3RyaW5nKGEpOkFycmF5LmlzQXJyYXkoYSk/YS5tYXAoZT0+dHlwZW9mIGU9PSJudW1iZXIiP1N0cmluZyhlKTpgJHtlLmZyb219XHUyMDEzJHtlLnRvfWApLmpvaW4oIiwgIik6U3RyaW5nKGEpfWZ1bmN0aW9uIEtOYShhKXtsZXQgZT1bXTtmb3IobGV0IHQgb2YgYSl7bGV0IHI9QXJyYXkuaXNBcnJheSh0Lmhvc3QpP3QuaG9zdDpbdC5ob3N0XSxpPXQucG9ydD09PSJwcmVzZXJ2ZSI/IihwcmVzZXJ2ZSkiOlN0cmluZyh0LnBvcnQpO2ZvcihsZXQgbyBvZiByKWUucHVzaChgJHtvfToke2l9YCl9cmV0dXJuIGV9dmFyIG9ldCxfRyxaTmEsS3VhPWYoKCk9PntsZSgpO29ldD1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sX0c9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9O3MoWU5hLCJmb3JtYXRQb3J0cyIpO3MoS05hLCJmb3JtYXRUYXJnZXRzIik7Wk5hPSgoKT0+e2xldCBhPVtpZSgic3otcm91dGUtY2FyZCIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelJvdXRlQ2FyZCIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBtPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289WyQoe3R5cGU6T2JqZWN0fSldLGQ9WyQoe3R5cGU6Qm9vbGVhbn0pXSxvZXQodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJyb3V0ZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4icm91dGUiaW4gdiwiaGFzIiksZ2V0OnModj0+di5yb3V0ZSwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnJvdXRlPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxvZXQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzaG93QWN0aW9ucyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4ic2hvd0FjdGlvbnMiaW4gdiwiaGFzIiksZ2V0OnModj0+di5zaG93QWN0aW9ucywiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnNob3dBY3Rpb25zPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxvZXQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1zKCgpPT53YAogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjRweDsgbWF4LXdpZHRoOiA1MjBweDsiPgogICAgICA8c3otcm91dGUtY2FyZAogICAgICAgIC5yb3V0ZT0ke3tuYW1lOiJBUEkgR2F0ZXdheSIsZGVzY3JpcHRpb246Ik1haW4gQVBJIGdhdGV3YXkgd2l0aCBUTFMgdGVybWluYXRpb24gYW5kIGxvYWQgYmFsYW5jaW5nIixlbmFibGVkOiEwLHByaW9yaXR5OjEwLHRhZ3M6WyJ3ZWIiLCJhcGkiLCJwcm9kdWN0aW9uIl0sbWF0Y2g6e3BvcnRzOls0NDMsODQ0M10sZG9tYWluczpbImFwaS5leGFtcGxlLmNvbSIsIiouYXBpLnNlcnZlLnpvbmUiXSxwYXRoOiIvYXBpLyoiLHByb3RvY29sOiJodHRwIixjbGllbnRJcDpbIjEwLjAuMC4wLzgiXX0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDpbIjEwLjAuMC4xIiwiMTAuMC4wLjIiXSxwb3J0OjgwODB9XSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifSx3ZWJzb2NrZXQ6e2VuYWJsZWQ6ITB9LGxvYWRCYWxhbmNpbmc6e2FsZ29yaXRobToicm91bmQtcm9iaW4ifSxmb3J3YXJkaW5nRW5naW5lOiJuZnRhYmxlcyJ9LHNlY3VyaXR5OntpcEFsbG93TGlzdDpbIjEwLjAuMC4wLzgiXSxpcEJsb2NrTGlzdDpbIjE5Mi4xNjguMTAwLjAvMjQiXSxyYXRlTGltaXQ6e2VuYWJsZWQ6ITAsbWF4UmVxdWVzdHM6MTAwLHdpbmRvdzo2MH0sbWF4Q29ubmVjdGlvbnM6MWUzfSx2cG5Pbmx5OiEwLG1ldGFkYXRhOntzb3VyY2VQcm9maWxlTmFtZToiU1RBTkRBUkQiLG5ldHdvcmtUYXJnZXROYW1lOiJMT1NTTEVTU19JTkZSQSJ9fX0KICAgICAgPjwvc3otcm91dGUtY2FyZD4KICAgIDwvZGl2PgogIGAsImRlbW8iKTtzdGF0aWMgZGVtb0dyb3Vwcz1bIlJvdXRlcyJdOyNlPV9HKHRoaXMsbixudWxsKTtnZXQgcm91dGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcm91dGUobSl7dGhpcy4jZT1tfSN0PShfRyh0aGlzLGwpLF9HKHRoaXMsYywhMSkpO2dldCBzaG93QWN0aW9ucygpe3JldHVybiB0aGlzLiN0fXNldCBzaG93QWN0aW9ucyhtKXt0aGlzLiN0PW19c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgfQoKICAgICAgZGVlcy10aWxlOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2UsIGJveC1zaGFkb3cgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgZGVlcy10aWxlOmhvdmVyOjpwYXJ0KG91dGVyKSB7CiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdHJvbmcpOwogICAgICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCAke2guYmRUaGVtZSgicmdiYSgwLDAsMCwwLjA2KSIsInJnYmEoMCwwLDAsMC4yKSIpfTsKICAgICAgfQoKICAgICAgLyogSGVhZGVyICovCiAgICAgIC5oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIGhlaWdodDogNDBweDsKICAgICAgICBwYWRkaW5nOiAwIDE2cHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmhlYWRlci1sZWZ0IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA4cHg7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtZG90IHsKICAgICAgICB3aWR0aDogOHB4OwogICAgICAgIGhlaWdodDogOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLnN0YXR1cy1kb3QuZW5hYmxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMyMmM1NWUiLCIjMjJjNTVlIil9OwogICAgICAgIGJveC1zaGFkb3c6IDAgMCA2cHggJHtoLmJkVGhlbWUoInJnYmEoMzQsMTk3LDk0LDAuNCkiLCJyZ2JhKDM0LDE5Nyw5NCwwLjMpIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWRvdC5kaXNhYmxlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAucm91dGUtbmFtZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1zZWNvbmRhcnkpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsKICAgICAgfQoKICAgICAgLmhlYWRlci1iYWRnZXMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuYmFkZ2UuZm9yd2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYmVhZmUiLCJyZ2JhKDU5LCAxMzAsIDI0NiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAuYmFkZ2Uuc29ja2V0LWhhbmRsZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWRlOWZlIiwicmdiYSgxMzksIDkyLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjN2MzYWVkIiwiI2E3OGJmYSIpfTsKICAgICAgfQoKICAgICAgLmJhZGdlLmVuYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuYmFkZ2UuZGlzYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwicmdiYSgxMTMsIDExMywgMTIyLCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgIH0KCiAgICAgIC5jYXJkLWJvZHkgewogICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDsKICAgICAgfQoKICAgICAgLmRlc2NyaXB0aW9uIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsKICAgICAgfQoKICAgICAgLm1ldGEtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGZsZXgtd3JhcDogd3JhcDsKICAgICAgICBnYXA6IDZweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAudGFncyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC50YWcgewogICAgICAgIHBhZGRpbmc6IDJweCA4cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM1MjUyNWIiLCIjYTFhMWFhIil9OwogICAgICB9CgogICAgICAucHJpb3JpdHkgewogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNzE3MTdhIil9OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgIH0KCiAgICAgIC8qIFNlY3Rpb25zICovCiAgICAgIC5zZWN0aW9uIHsKICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkOwogICAgICAgIHBhZGRpbmc6IDEwcHggMTRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNnB4IDZweCAwOwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzEwMTAxMCIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb246bGFzdC1vZi10eXBlIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAwOwogICAgICB9CgogICAgICAuc2VjdGlvbi5tYXRjaCB7CiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7aC5iZFRoZW1lKCIjM2I4MmY2IiwiIzNiODJmNiIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24uYWN0aW9uIHsKICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtoLmJkVGhlbWUoIiMyMmM1NWUiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc2VjdGlvbi5zZWN1cml0eSB7CiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR7aC5iZFRoZW1lKCIjZjU5ZTBiIiwiI2Y1OWUwYiIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24ubGlua2VkIHsKICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJHtoLmJkVGhlbWUoIiM4YjVjZjYiLCIjOGI1Y2Y2Iil9OwogICAgICB9CgogICAgICAubGlua2VkLW5hbWUgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIHBhZGRpbmc6IDFweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlZGU5ZmUiLCJyZ2JhKDEzOSwgOTIsIDI0NiwgMC4xNSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNmQyOGQ5IiwiI2E3OGJmYSIpfTsKICAgICAgfQoKICAgICAgLnNlY3Rpb24tbGFiZWwgewogICAgICAgIGZvbnQtc2l6ZTogMTBweDsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNzE3MTdhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDhweDsKICAgICAgfQoKICAgICAgLmZpZWxkLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgIH0KCiAgICAgIC5maWVsZC1yb3c6bGFzdC1jaGlsZCB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQoKICAgICAgLmZpZWxkLWtleSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtaW4td2lkdGg6IDY0cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmZpZWxkLXZhbHVlIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZTRlNGU3Iil9OwogICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsKICAgICAgfQoKICAgICAgLmRvbWFpbi1jaGlwIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBwYWRkaW5nOiAxcHggNnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZWZmNmZmIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMSkiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgfQoKICAgICAgLmRvbWFpbi1jaGlwLmdsb2IgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmVmM2M3IiwicmdiYSgyNDUsIDE1OCwgMTEsIDAuMTUpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzkyNDAwZSIsIiNmYmJmMjQiKX07CiAgICAgIH0KCiAgICAgIC5tb25vIHsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgfQoKICAgICAgLnByb3RvY29sLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBwYWRkaW5nOiAxcHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLnByb3RvY29sLWJhZGdlLmh0dHAgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGJlYWZlIiwicmdiYSg1OSwgMTMwLCAyNDYsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgfQoKICAgICAgLnByb3RvY29sLWJhZGdlLnRjcCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkY2ZjZTciLCJyZ2JhKDM0LCAxOTcsIDk0LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC50bHMtYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIHBhZGRpbmc6IDFweCA2cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4OwogICAgICAgIGZvbnQtc2l6ZTogMTFweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICB9CgogICAgICAudGxzLWJhZGdlLmF1dG8gewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwgMTk3LCA5NCwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAudGxzLWJhZGdlLmN1c3RvbSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmVkZDUiLCJyZ2JhKDI0OSwgMTE1LCAyMiwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNjMjQxMGMiLCIjZmI5MjNjIil9OwogICAgICB9CgogICAgICAuZW5naW5lLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBwYWRkaW5nOiAxcHggNnB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZhZThmZiIsInJnYmEoMTY4LCA4NSwgMjQ3LCAwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzdlMjJjZSIsIiNjMDg0ZmMiKX07CiAgICAgIH0KCiAgICAgIC5oZWFkZXItcGFpciB7CiAgICAgICAgZGlzcGxheTogaW5saW5lOwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICB9CgogICAgICAvKiBGZWF0dXJlIGljb25zICovCiAgICAgIC5mZWF0dXJlcy1yb3cgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogMTBweDsKICAgICAgICBtYXJnaW4tdG9wOiAxNHB4OwogICAgICAgIHBhZGRpbmctdG9wOiAxMnB4OwogICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxYTFhMWEiKX07CiAgICAgIH0KCiAgICAgIC5mZWF0dXJlIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLmZlYXR1cmUtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAubm8tcm91dGUgewogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICB9CgogICAgICAuc2VjdGlvbi52cG4gewogICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAke2guYmRUaGVtZSgiIzA4OTFiMiIsIiMwNmI2ZDQiKX07CiAgICAgIH0KCiAgICAgIC52cG4tYmFkZ2UgewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLnZwbi1iYWRnZS5tYW5kYXRvcnkgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmN2VkIiwicmdiYSgyNDksIDExNSwgMjIsIDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYzI0MTBjIiwiI2ZiOTIzYyIpfTsKICAgICAgfQoKICAgICAgLnZwbi1iYWRnZS5vcHRpb25hbCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlY2ZkZjUiLCJyZ2JhKDE2LCAxODUsIDEyOSwgMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwNDc4NTciLCIjMzRkMzk5Iil9OwogICAgICB9CgogICAgICAudnBuLXRhZyB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgcGFkZGluZzogMXB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlY2ZlZmYiLCJyZ2JhKDYsIDE4MiwgMjEyLCAwLjE1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMwZTc0OTAiLCIjMjJkM2VlIil9OwogICAgICB9CgogICAgICAuY2FyZC1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICB9CgogICAgICAudGlsZS1idXR0b246Zmlyc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1sZWZ0OiBub25lOwogICAgICB9CgogICAgICAudGlsZS1idXR0b246aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgIH0KCiAgICAgIC50aWxlLWJ1dHRvbi5lZGl0OmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSkiLCJoc2woMjEzLjEgOTMuOSUgNjcuOCUpIil9OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24uZGVsZXRlOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LCA2OCwgNjgsIDAuMSkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2Y4NzE3MSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7aWYoIXRoaXMucm91dGUpcmV0dXJuIHdgCiAgICAgICAgPGRlZXMtdGlsZT4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYm9keSI+PGRpdiBjbGFzcz0ibm8tcm91dGUiPk5vIHJvdXRlIGRhdGE8L2Rpdj48L2Rpdj4KICAgICAgICA8L2RlZXMtdGlsZT4KICAgICAgYDtsZXQgbT10aGlzLnJvdXRlLHY9bS5lbmFibGVkIT09ITEseD1tLm1hdGNoLGI9bS5hY3Rpb24sZz1tLnNlY3VyaXR5O3JldHVybiB3YAogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDwhLS0gSGVhZGVyIC0tPgogICAgICAgIDxkaXYgc2xvdD0iaGVhZGVyIiBjbGFzcz0iaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1sZWZ0Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1kb3QgJHt2PyJlbmFibGVkIjoiZGlzYWJsZWQifSI+PC9zcGFuPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0icm91dGUtbmFtZSI+JHttLm5hbWV8fG0uaWR8fCJVbm5hbWVkIFJvdXRlIn08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1iYWRnZXMiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0iYmFkZ2UgJHtiLnR5cGV9Ij4ke2IudHlwZX08L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJiYWRnZSAke3Y/ImVuYWJsZWQiOiJkaXNhYmxlZCJ9Ij4ke3Y/ImVuYWJsZWQiOiJkaXNhYmxlZCJ9PC9zcGFuPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CgogICAgICAgIDxkaXYgY2xhc3M9ImNhcmQtYm9keSI+CiAgICAgICAgICAke20uZGVzY3JpcHRpb24/d2A8ZGl2IGNsYXNzPSJkZXNjcmlwdGlvbiI+JHttLmRlc2NyaXB0aW9ufTwvZGl2PmA6IiJ9CgogICAgICAgICAgPGRpdiBjbGFzcz0ibWV0YS1yb3ciPgogICAgICAgICAgICAke20udGFncyYmbS50YWdzLmxlbmd0aD4wP3dgPGRpdiBjbGFzcz0idGFncyI+JHttLnRhZ3MubWFwKHk9PndgPHNwYW4gY2xhc3M9InRhZyI+JHt5fTwvc3Bhbj5gKX08L2Rpdj5gOndgPGRpdj48L2Rpdj5gfQogICAgICAgICAgICAke20ucHJpb3JpdHkhPW51bGw/d2A8c3BhbiBjbGFzcz0icHJpb3JpdHkiPlByaW9yaXR5OiAke20ucHJpb3JpdHl9PC9zcGFuPmA6IiJ9CiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8IS0tIE1hdGNoIFNlY3Rpb24gLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiBtYXRjaCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5NYXRjaDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+UG9ydHM8L3NwYW4+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSBtb25vIj4ke1lOYSh4LnBvcnRzKX08L3NwYW4+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICR7eC5kb21haW5zP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5Eb21haW5zPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPiR7dGhpcy5yZW5kZXJEb21haW5zKHguZG9tYWlucyl9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7eC5wYXRoP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5QYXRoPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUgbW9ubyI+JHt4LnBhdGh9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7eC5wcm90b2NvbD93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+UHJvdG9jb2w8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByb3RvY29sLWJhZGdlICR7eC5wcm90b2NvbH0iPiR7eC5wcm90b2NvbH08L3NwYW4+CiAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke3guY2xpZW50SXAmJnguY2xpZW50SXAubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPkNsaWVudDwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIG1vbm8iPiR7eC5jbGllbnRJcC5qb2luKCIsICIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke3gudGxzVmVyc2lvbiYmeC50bHNWZXJzaW9uLmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5UTFMgVmVyPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPiR7eC50bHNWZXJzaW9uLmpvaW4oIiwgIil9PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7eC5oZWFkZXJzP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5IZWFkZXJzPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPgogICAgICAgICAgICAgICAgICAgICR7T2JqZWN0LmVudHJpZXMoeC5oZWFkZXJzKS5tYXAoKFt5LGtdKT0+d2A8c3BhbiBjbGFzcz0iaGVhZGVyLXBhaXIiPiR7eX09JHtrfTwvc3Bhbj4gYCl9CiAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgPC9kaXY+CgogICAgICAgIDwhLS0gQWN0aW9uIFNlY3Rpb24gLS0+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiBhY3Rpb24iPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+QWN0aW9uPC9kaXY+CiAgICAgICAgICAke2IudGFyZ2V0cyYmYi50YXJnZXRzLmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5UYXJnZXRzPC9zcGFuPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUgbW9ubyI+JHtLTmEoYi50YXJnZXRzKS5qb2luKCIsICIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke2IudGxzP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5UTFM8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+CiAgICAgICAgICAgICAgICAgICAgJHtiLnRscy5tb2RlfQogICAgICAgICAgICAgICAgICAgICR7Yi50bHMuY2VydGlmaWNhdGU/Yi50bHMuY2VydGlmaWNhdGU9PT0iYXV0byI/d2AgPHNwYW4gY2xhc3M9InRscy1iYWRnZSBhdXRvIj5hdXRvIGNlcnQ8L3NwYW4+YDp3YCA8c3BhbiBjbGFzcz0idGxzLWJhZGdlIGN1c3RvbSI+Y3VzdG9tIGNlcnQ8L3NwYW4+YDoiIn0KICAgICAgICAgICAgICAgICAgPC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICR7Yi5mb3J3YXJkaW5nRW5naW5lP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5FbmdpbmU8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+PHNwYW4gY2xhc3M9ImVuZ2luZS1iYWRnZSI+JHtiLmZvcndhcmRpbmdFbmdpbmV9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke2IubG9hZEJhbGFuY2luZz93YAogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLWtleSI+TEI8L3NwYW4+CiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+JHtiLmxvYWRCYWxhbmNpbmcuYWxnb3JpdGhtfTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAke2Iud2Vic29ja2V0Py5lbmFibGVkP3dgCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5XUzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj48c3BhbiBjbGFzcz0iYmFkZ2UgZW5hYmxlZCI+ZW5hYmxlZDwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgOiIifQogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIFNlY3VyaXR5IFNlY3Rpb24gLS0+CiAgICAgICAgJHtnP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbiBzZWN1cml0eSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5TZWN1cml0eTwvZGl2PgogICAgICAgICAgICAgICAgJHtnLmlwQWxsb3dMaXN0JiZnLmlwQWxsb3dMaXN0Lmxlbmd0aD4wP3dgCiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJmaWVsZC1yb3ciPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQta2V5Ij5BbGxvdzwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIG1vbm8iPiR7Zy5pcEFsbG93TGlzdC5qb2luKCIsICIpfTwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAke2cuaXBCbG9ja0xpc3QmJmcuaXBCbG9ja0xpc3QubGVuZ3RoPjA/d2AKICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPkJsb2NrPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUgbW9ubyI+JHtnLmlwQmxvY2tMaXN0LmpvaW4oIiwgIil9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgICAgICR7Zy5yYXRlTGltaXQ/LmVuYWJsZWQ/d2AKICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPlJhdGU8L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+JHtnLnJhdGVMaW1pdC5tYXhSZXF1ZXN0c30gcmVxIC8gJHtnLnJhdGVMaW1pdC53aW5kb3d9czwvc3Bhbj4KICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgICAgICAke2cubWF4Q29ubmVjdGlvbnM/d2AKICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPk1heCBDb25uPC9zcGFuPgogICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPiR7Zy5tYXhDb25uZWN0aW9uc308L3NwYW4+CiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICBgOiIifQogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICBgOiIifQoKICAgICAgICAgIDwhLS0gVlBOIFNlY3Rpb24gLS0+CiAgICAgICAgICAke3RoaXMucmVuZGVyVnBuKCl9CgogICAgICAgICAgPCEtLSBMaW5rZWQgUmVmZXJlbmNlcyBTZWN0aW9uIC0tPgogICAgICAgICAgJHt0aGlzLnJlbmRlckxpbmtlZCgpfQoKICAgICAgICAgIDwhLS0gRmVhdHVyZSBJY29ucyBSb3cgLS0+CiAgICAgICAgICAke3RoaXMucmVuZGVyRmVhdHVyZXMoKX0KICAgICAgICA8L2Rpdj4KCiAgICAgICAgPCEtLSBBY3Rpb24gQnV0dG9ucyAtLT4KICAgICAgICAke3RoaXMuc2hvd0FjdGlvbnM/d2AKICAgICAgICAgIDxkaXYgc2xvdD0iZm9vdGVyIiBjbGFzcz0iY2FyZC1mb290ZXIiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiBlZGl0IiBAY2xpY2s9JHt5PT57eS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3V0ZS1lZGl0Iix7ZGV0YWlsOnRoaXMucm91dGUsYnViYmxlczohMCxjb21wb3NlZDohMH0pKX19PkVkaXQ8L2J1dHRvbj4KICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGlsZS1idXR0b24gZGVsZXRlIiBAY2xpY2s9JHt5PT57eS5zdG9wUHJvcGFnYXRpb24oKSx0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3V0ZS1kZWxldGUiLHtkZXRhaWw6dGhpcy5yb3V0ZSxidWJibGVzOiEwLGNvbXBvc2VkOiEwfSkpfX0+RGVsZXRlPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9cmVuZGVyRG9tYWlucyhtKXtsZXQgdj1BcnJheS5pc0FycmF5KG0pP206W21dO3JldHVybiB3YCR7di5tYXAoeD0+d2A8c3BhbiBjbGFzcz0iZG9tYWluLWNoaXAgJHt4LmluY2x1ZGVzKCIqIik/Imdsb2IiOiIifSI+JHt4fTwvc3Bhbj5gKX1gfXJlbmRlclZwbigpe3JldHVybiB0aGlzLnJvdXRlPy52cG5Pbmx5P3dgCiAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24gdnBuIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5WUE4gQWNjZXNzPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPk1vZGU8L3NwYW4+CiAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPgogICAgICAgICAgICA8c3BhbiBjbGFzcz0idnBuLWJhZGdlIG1hbmRhdG9yeSI+VlBOIE9ubHk8L3NwYW4+CiAgICAgICAgICA8L3NwYW4+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgYDp3YGB9cmVuZGVyTGlua2VkKCl7bGV0IG09dGhpcy5yb3V0ZT8ubWV0YWRhdGE7aWYoIW0pcmV0dXJuIHdgYDtsZXQgdj0hIW0uc291cmNlUHJvZmlsZU5hbWUseD0hIW0ubmV0d29ya1RhcmdldE5hbWU7cmV0dXJuIXYmJiF4P3dgYDp3YAogICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uIGxpbmtlZCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+TGlua2VkPC9kaXY+CiAgICAgICAgJHt2P3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPlByb2ZpbGU8L3NwYW4+CiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtdmFsdWUiPjxzcGFuIGNsYXNzPSJsaW5rZWQtbmFtZSI+JHttLnNvdXJjZVByb2ZpbGVOYW1lfTwvc3Bhbj48L3NwYW4+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgJHt4P3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQtcm93Ij4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1rZXkiPlRhcmdldDwvc3Bhbj4KICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC12YWx1ZSI+PHNwYW4gY2xhc3M9ImxpbmtlZC1uYW1lIj4ke20ubmV0d29ya1RhcmdldE5hbWV9PC9zcGFuPjwvc3Bhbj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgYDoiIn0KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckZlYXR1cmVzKCl7aWYoIXRoaXMucm91dGUpcmV0dXJuIHdgYDtsZXQgbT1bXSx2PXRoaXMucm91dGUuYWN0aW9uLHg9dGhpcy5yb3V0ZS5zZWN1cml0eSxiPXRoaXMucm91dGUuaGVhZGVycyxnPXRoaXMucm91dGUubWV0YWRhdGE7cmV0dXJuIHYudGxzJiZtLnB1c2god2A8c3BhbiBjbGFzcz0iZmVhdHVyZSI+PHNwYW4gY2xhc3M9ImZlYXR1cmUtaWNvbiI+JiN4MWY1MTI7PC9zcGFuPlRMUzwvc3Bhbj5gKSx2LndlYnNvY2tldD8uZW5hYmxlZCYmbS5wdXNoKHdgPHNwYW4gY2xhc3M9ImZlYXR1cmUiPjxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPiYjeDIxOTQ7PC9zcGFuPldTPC9zcGFuPmApLHYubG9hZEJhbGFuY2luZyYmbS5wdXNoKHdgPHNwYW4gY2xhc3M9ImZlYXR1cmUiPjxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPiYjeDI2OTY7PC9zcGFuPkxCPC9zcGFuPmApLHgmJm0ucHVzaCh3YDxzcGFuIGNsYXNzPSJmZWF0dXJlIj48c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj4mI3gxZjZlMTs8L3NwYW4+U2VjdXJpdHk8L3NwYW4+YCksYiYmbS5wdXNoKHdgPHNwYW4gY2xhc3M9ImZlYXR1cmUiPjxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPiYjeDI2OTk7PC9zcGFuPkhlYWRlcnM8L3NwYW4+YCksdGhpcy5yb3V0ZT8udnBuT25seSYmbS5wdXNoKHdgPHNwYW4gY2xhc3M9ImZlYXR1cmUiPjxzcGFuIGNsYXNzPSJmZWF0dXJlLWljb24iPiYjeDFmNTEwOzwvc3Bhbj5WUE48L3NwYW4+YCksKGc/LnNvdXJjZVByb2ZpbGVOYW1lfHxnPy5uZXR3b3JrVGFyZ2V0TmFtZSkmJm0ucHVzaCh3YDxzcGFuIGNsYXNzPSJmZWF0dXJlIj48c3BhbiBjbGFzcz0iZmVhdHVyZS1pY29uIj4mI3gxZjUxNzs8L3NwYW4+TGlua2VkPC9zcGFuPmApLG0ubGVuZ3RoPT09MD93YGA6d2A8ZGl2IGNsYXNzPSJmZWF0dXJlcy1yb3ciPiR7bX08L2Rpdj5gfWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxfRyh0aGlzLHApfXN0YXRpY3tfRyhyLHQpfX07cmV0dXJuIHU9cn0pKCl9KTt2YXIgZDcsUTEsWE5hLFp1YT1mKCgpPT57bGUoKTtkNz1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sUTE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LFhOYT0oKCk9PntsZXQgYT1baWUoInN6LXJvdXRlLWxpc3QtdmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdLHUsbT1bXSx2PVtdLHgsYj1bXSxnPVtdLHksaz1bXSxDPVtdO3ZhciBOPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTelJvdXRlTGlzdFZpZXciKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgXz10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOkFycmF5fSldLGQ9WyQoe2F0dHJpYnV0ZTohMX0pXSx1PVtLKCldLHg9W0soKV0seT1bSygpXSxkNyh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InJvdXRlcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh6PT4icm91dGVzImluIHosImhhcyIpLGdldDpzKHo9Pnoucm91dGVzLCJnZXQiKSxzZXQ6cygoeixPKT0+e3oucm91dGVzPU99LCJzZXQiKX0sbWV0YWRhdGE6X30sbixsKSxkNyh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNob3dBY3Rpb25zRmlsdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJzaG93QWN0aW9uc0ZpbHRlciJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LnNob3dBY3Rpb25zRmlsdGVyLCJnZXQiKSxzZXQ6cygoeixPKT0+e3ouc2hvd0FjdGlvbnNGaWx0ZXI9T30sInNldCIpfSxtZXRhZGF0YTpffSxjLHApLGQ3KHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToic2VhcmNoUXVlcnkiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+InNlYXJjaFF1ZXJ5ImluIHosImhhcyIpLGdldDpzKHo9Pnouc2VhcmNoUXVlcnksImdldCIpLHNldDpzKCh6LE8pPT57ei5zZWFyY2hRdWVyeT1PfSwic2V0Iil9LG1ldGFkYXRhOl99LG0sdiksZDcodGhpcyxudWxsLHgse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpb25GaWx0ZXIiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoej0+ImFjdGlvbkZpbHRlciJpbiB6LCJoYXMiKSxnZXQ6cyh6PT56LmFjdGlvbkZpbHRlciwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmFjdGlvbkZpbHRlcj1PfSwic2V0Iil9LG1ldGFkYXRhOl99LGIsZyksZDcodGhpcyxudWxsLHkse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJlbmFibGVkRmlsdGVyIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHo9PiJlbmFibGVkRmlsdGVyImluIHosImhhcyIpLGdldDpzKHo9PnouZW5hYmxlZEZpbHRlciwiZ2V0Iiksc2V0OnMoKHosTyk9Pnt6LmVuYWJsZWRGaWx0ZXI9T30sInNldCIpfSxtZXRhZGF0YTpffSxrLEMpLGQ3KG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOl99LG51bGwsdCksTj1yPWUudmFsdWUsXyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpffSl9c3RhdGljIGRlbW89cygoKT0+d2AKICAgIDxkaXYgc3R5bGU9InBhZGRpbmc6IDI0cHg7IG1heC13aWR0aDogMTIwMHB4OyI+CiAgICAgIDxzei1yb3V0ZS1saXN0LXZpZXcKICAgICAgICAucm91dGVzPSR7W3tuYW1lOiJIVFRQUyBHYXRld2F5IixkZXNjcmlwdGlvbjoiTWFpbiB3ZWIgZ2F0ZXdheSB3aXRoIFRMUyB0ZXJtaW5hdGlvbiIsZW5hYmxlZDohMCx0YWdzOlsid2ViIiwiaHR0cHMiLCJwcm9kdWN0aW9uIl0sbWF0Y2g6e3BvcnRzOjQ0Myxkb21haW5zOlsiKi5leGFtcGxlLmNvbSIsInNlcnZlLnpvbmUiXSxwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6IjEwLjAuMC4xIixwb3J0OjgwODB9XSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifX19LHtuYW1lOiJTTVRQIEluYm91bmQiLGRlc2NyaXB0aW9uOiJFbWFpbCByZWxheSBmb3IgaW5jb21pbmcgbWFpbCIsZW5hYmxlZDohMCx0YWdzOlsiZW1haWwiLCJzbXRwIl0sbWF0Y2g6e3BvcnRzOjI1LGRvbWFpbnM6Im1haWwuc2VydmUuem9uZSJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6IjEwLjAuMS41Iixwb3J0OjI1fV19fSx7bmFtZToiV2ViU29ja2V0IEFQSSIsZGVzY3JpcHRpb246IlJlYWwtdGltZSBXZWJTb2NrZXQgY29ubmVjdGlvbnMiLGVuYWJsZWQ6ITAsdGFnczpbIndlYiIsImFwaSJdLG1hdGNoOntwb3J0czo0NDMsZG9tYWluczoid3MuZXhhbXBsZS5jb20iLHBhdGg6Ii93cy8qIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDoiMTAuMC4wLjMiLHBvcnQ6OTA5MH1dLHdlYnNvY2tldDp7ZW5hYmxlZDohMH0sdGxzOnttb2RlOiJ0ZXJtaW5hdGUiLGNlcnRpZmljYXRlOiJhdXRvIn19fSx7bmFtZToiTWFpbnRlbmFuY2UgUGFnZSIsZW5hYmxlZDohMSx0YWdzOlsid2ViIl0sbWF0Y2g6e3BvcnRzOls4MCw0NDNdLGRvbWFpbnM6Im9sZC5leGFtcGxlLmNvbSJ9LGFjdGlvbjp7dHlwZToic29ja2V0LWhhbmRsZXIifX1dfQogICAgICA+PC9zei1yb3V0ZS1saXN0LXZpZXc+CiAgICA8L2Rpdj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJSb3V0ZXMiXTsjZT1RMSh0aGlzLG4sW10pO2dldCByb3V0ZXMoKXtyZXR1cm4gdGhpcy4jZX1zZXQgcm91dGVzKF8pe3RoaXMuI2U9X30jdD0oUTEodGhpcyxsKSxRMSh0aGlzLGMsbnVsbCkpO2dldCBzaG93QWN0aW9uc0ZpbHRlcigpe3JldHVybiB0aGlzLiN0fXNldCBzaG93QWN0aW9uc0ZpbHRlcihfKXt0aGlzLiN0PV99I2E9KFExKHRoaXMscCksUTEodGhpcyxtLCIiKSk7Z2V0IHNlYXJjaFF1ZXJ5KCl7cmV0dXJuIHRoaXMuI2F9c2V0IHNlYXJjaFF1ZXJ5KF8pe3RoaXMuI2E9X30jcj0oUTEodGhpcyx2KSxRMSh0aGlzLGIsImFsbCIpKTtnZXQgYWN0aW9uRmlsdGVyKCl7cmV0dXJuIHRoaXMuI3J9c2V0IGFjdGlvbkZpbHRlcihfKXt0aGlzLiNyPV99I3M9KFExKHRoaXMsZyksUTEodGhpcyxrLCJhbGwiKSk7Z2V0IGVuYWJsZWRGaWx0ZXIoKXtyZXR1cm4gdGhpcy4jc31zZXQgZW5hYmxlZEZpbHRlcihfKXt0aGlzLiNzPV99Z2V0IGZpbHRlcmVkUm91dGVzKCl7cmV0dXJuIHRoaXMucm91dGVzLmZpbHRlcihfPT57aWYodGhpcy5hY3Rpb25GaWx0ZXIhPT0iYWxsIiYmXy5hY3Rpb24udHlwZSE9PXRoaXMuYWN0aW9uRmlsdGVyfHx0aGlzLmVuYWJsZWRGaWx0ZXI9PT0iZW5hYmxlZCImJl8uZW5hYmxlZD09PSExfHx0aGlzLmVuYWJsZWRGaWx0ZXI9PT0iZGlzYWJsZWQiJiZfLmVuYWJsZWQhPT0hMSlyZXR1cm4hMTtpZih0aGlzLnNlYXJjaFF1ZXJ5KXtsZXQgej10aGlzLnNlYXJjaFF1ZXJ5LnRvTG93ZXJDYXNlKCk7cmV0dXJuIHRoaXMucm91dGVNYXRjaGVzU2VhcmNoKF8seil9cmV0dXJuITB9KX1yb3V0ZU1hdGNoZXNTZWFyY2goXyx6KXtpZihfLm5hbWU/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoeil8fF8uZGVzY3JpcHRpb24/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoeil8fF8ubWF0Y2guZG9tYWlucyYmKEFycmF5LmlzQXJyYXkoXy5tYXRjaC5kb21haW5zKT9fLm1hdGNoLmRvbWFpbnM6W18ubWF0Y2guZG9tYWluc10pLnNvbWUoRT0+RS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHopKXx8dGhpcy5mb3JtYXRQb3J0c0ZvclNlYXJjaChfLm1hdGNoLnBvcnRzKS5pbmNsdWRlcyh6KXx8Xy5tYXRjaC5wYXRoPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHopfHxfLm1hdGNoLmNsaWVudElwPy5zb21lKFQ9PlQuaW5jbHVkZXMoeikpKXJldHVybiEwO2lmKF8uYWN0aW9uLnRhcmdldHMpe2ZvcihsZXQgVCBvZiBfLmFjdGlvbi50YXJnZXRzKWlmKChBcnJheS5pc0FycmF5KFQuaG9zdCk/VC5ob3N0OltULmhvc3RdKS5zb21lKEI9PkIudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh6KSkpcmV0dXJuITB9cmV0dXJuISFfLnRhZ3M/LnNvbWUoVD0+VC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHopKX1mb3JtYXRQb3J0c0ZvclNlYXJjaChfKXtyZXR1cm4gdHlwZW9mIF89PSJudW1iZXIiP1N0cmluZyhfKTpBcnJheS5pc0FycmF5KF8pP18ubWFwKHo9PnR5cGVvZiB6PT0ibnVtYmVyIj9TdHJpbmcoeik6YCR7ei5mcm9tfS0ke3oudG99YCkuam9pbigiICIpOlN0cmluZyhfKX1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuZmlsdGVyLWJhciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LXdyYXA6IHdyYXA7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDsKICAgICAgfQoKICAgICAgLnNlYXJjaC1pbnB1dCB7CiAgICAgICAgZmxleDogMTsKICAgICAgICBtaW4td2lkdGg6IDIwMHB4OwogICAgICAgIHBhZGRpbmc6IDhweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZmZmZmZmIiwiIzA5MDkwYiIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG91dGxpbmU6IG5vbmU7CiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiNhMWExYWEiLCIjNTI1MjViIil9OwogICAgICB9CgogICAgICAuc2VhcmNoLWlucHV0OmZvY3VzIHsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzNiODJmNiIpfTsKICAgICAgfQoKICAgICAgLmNoaXAtZ3JvdXAgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgIH0KCiAgICAgIC5jaGlwIHsKICAgICAgICBwYWRkaW5nOiA2cHggMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2U0ZTRlNyIsIiMyNzI3MmEiKX07CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgIH0KCiAgICAgIC5jaGlwOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLmNoaXAuYWN0aXZlIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgICBib3JkZXItY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnJlc3VsdHMtY291bnQgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgIH0KCiAgICAgIC5ncmlkIHsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDQyMHB4LCAxZnIpKTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5ncmlkIHN6LXJvdXRlLWNhcmQgewogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLmVtcHR5LXN0YXRlIHsKICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICAgICAgcGFkZGluZzogNDhweCAyNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICAuZW1wdHktc3RhdGUtaWNvbiB7CiAgICAgICAgZm9udC1zaXplOiAzMnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtsZXQgXz10aGlzLmZpbHRlcmVkUm91dGVzO3JldHVybiB3YAogICAgICA8ZGl2IGNsYXNzPSJmaWx0ZXItYmFyIj4KICAgICAgICA8aW5wdXQKICAgICAgICAgIGNsYXNzPSJzZWFyY2gtaW5wdXQiCiAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgcGxhY2Vob2xkZXI9IlNlYXJjaCByb3V0ZXMgYnkgZG9tYWluLCBJUCwgcG9ydCwgcGF0aCwgb3IgdGFnLi4uIgogICAgICAgICAgLnZhbHVlPSR7dGhpcy5zZWFyY2hRdWVyeX0KICAgICAgICAgIEBpbnB1dD0ke3o9Pnt0aGlzLnNlYXJjaFF1ZXJ5PXoudGFyZ2V0LnZhbHVlfX0KICAgICAgICAvPgogICAgICAgIDxkaXYgY2xhc3M9ImNoaXAtZ3JvdXAiPgogICAgICAgICAgJHtbImFsbCIsImZvcndhcmQiLCJzb2NrZXQtaGFuZGxlciJdLm1hcCh6PT53YAogICAgICAgICAgICAgIDxidXR0b24KICAgICAgICAgICAgICAgIGNsYXNzPSJjaGlwICR7dGhpcy5hY3Rpb25GaWx0ZXI9PT16PyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT57dGhpcy5hY3Rpb25GaWx0ZXI9en19CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHt6PT09ImFsbCI/IkFsbCI6ej09PSJmb3J3YXJkIj8iRm9yd2FyZCI6IlNvY2tldCBIYW5kbGVyIn0KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgYCl9CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iY2hpcC1ncm91cCI+CiAgICAgICAgICAke1siYWxsIiwiZW5hYmxlZCIsImRpc2FibGVkIl0ubWFwKHo9PndgCiAgICAgICAgICAgICAgPGJ1dHRvbgogICAgICAgICAgICAgICAgY2xhc3M9ImNoaXAgJHt0aGlzLmVuYWJsZWRGaWx0ZXI9PT16PyJhY3RpdmUiOiIifSIKICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT57dGhpcy5lbmFibGVkRmlsdGVyPXp9fQogICAgICAgICAgICAgID4KICAgICAgICAgICAgICAgICR7ei5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt6LnNsaWNlKDEpfQogICAgICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgICBgKX0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CgogICAgICA8ZGl2IGNsYXNzPSJyZXN1bHRzLWNvdW50Ij4KICAgICAgICBTaG93aW5nICR7Xy5sZW5ndGh9IG9mICR7dGhpcy5yb3V0ZXMubGVuZ3RofSByb3V0ZXMKICAgICAgPC9kaXY+CgogICAgICAke18ubGVuZ3RoPjA/d2AKICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ3JpZCI+CiAgICAgICAgICAgICAgJHtfLm1hcCh6PT53YAogICAgICAgICAgICAgICAgICA8c3otcm91dGUtY2FyZAogICAgICAgICAgICAgICAgICAgIC5yb3V0ZT0ke3p9CiAgICAgICAgICAgICAgICAgICAgLnNob3dBY3Rpb25zPSR7dGhpcy5zaG93QWN0aW9uc0ZpbHRlcj8uKHopPz8hMX0KICAgICAgICAgICAgICAgICAgICBAY2xpY2s9JHsoKT0+dGhpcy5oYW5kbGVSb3V0ZUNsaWNrKHopfQogICAgICAgICAgICAgICAgICA+PC9zei1yb3V0ZS1jYXJkPgogICAgICAgICAgICAgICAgYCl9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYDp3YAogICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbXB0eS1zdGF0ZSI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZW1wdHktc3RhdGUtaWNvbiI+JiN4MWY1MGQ7PC9kaXY+CiAgICAgICAgICAgICAgPGRpdj5ObyByb3V0ZXMgbWF0Y2ggeW91ciBmaWx0ZXJzPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgYH0KICAgIGB9aGFuZGxlUm91dGVDbGljayhfKXt0aGlzLmRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJyb3V0ZS1jbGljayIse2RldGFpbDpfLGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9Y29uc3RydWN0b3IoKXtzdXBlciguLi5hcmd1bWVudHMpLFExKHRoaXMsQyl9c3RhdGlje1ExKHIsdCl9fTtyZXR1cm4gTj1yfSkoKX0pO3ZhciBqbixMcixRTmEsWHVhPWYoKCk9PntsZSgpO2puPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxMcj1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sUU5hPSgoKT0+e2xldCBhPVtpZSgic3otY29uZmlnLXNlY3Rpb24iKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXSx4LGI9W10sZz1bXSx5LGs9W10sQz1bXSxOLF89W10sej1bXSxPLFQ9W10sRT1bXSxCLE09W10sUz1bXSxQLEE9W10sRj1bXSxXLGo9W10sRz1bXSxoZSxSPVtdLFU9W107dmFyIG1lPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekNvbmZpZ1NlY3Rpb24iKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgST10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVskKHt0eXBlOlN0cmluZ30pXSxkPVskKHt0eXBlOlN0cmluZ30pXSx1PVskKHt0eXBlOlN0cmluZ30pXSx4PVskKHt0eXBlOlN0cmluZ30pXSx5PVskKHt0eXBlOkFycmF5fSldLE49WyQoe3R5cGU6QXJyYXl9KV0sTz1bJCh7dHlwZTpBcnJheX0pXSxCPVskKHt0eXBlOkJvb2xlYW59KV0sUD1bJCh7dHlwZTpCb29sZWFufSldLFc9W0soKV0saGU9W0soKV0sam4odGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJ0aXRsZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4idGl0bGUiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS50aXRsZSwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS50aXRsZT1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxuLGwpLGpuKHRoaXMsbnVsbCxkLHtraW5kOiJhY2Nlc3NvciIsbmFtZToic3VidGl0bGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+InN1YnRpdGxlImluIHEsImhhcyIpLGdldDpzKHE9PnEuc3VidGl0bGUsImdldCIpLHNldDpzKChxLGNlKT0+e3Euc3VidGl0bGU9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sYyxwKSxqbih0aGlzLG51bGwsdSx7a2luZDoiYWNjZXNzb3IiLG5hbWU6Imljb24iLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+Imljb24iaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5pY29uLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmljb249Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sbSx2KSxqbih0aGlzLG51bGwseCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InN0YXR1cyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4ic3RhdHVzImluIHEsImhhcyIpLGdldDpzKHE9PnEuc3RhdHVzLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLnN0YXR1cz1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxiLGcpLGpuKHRoaXMsbnVsbCx5LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiZmllbGRzIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJmaWVsZHMiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5maWVsZHMsImdldCIpLHNldDpzKChxLGNlKT0+e3EuZmllbGRzPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LGssQyksam4odGhpcyxudWxsLE4se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJhY3Rpb25zIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHE9PiJhY3Rpb25zImluIHEsImhhcyIpLGdldDpzKHE9PnEuYWN0aW9ucywiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5hY3Rpb25zPWNlfSwic2V0Iil9LG1ldGFkYXRhOkl9LF8seiksam4odGhpcyxudWxsLE8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJsaW5rcyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4ibGlua3MiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5saW5rcywiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5saW5rcz1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxULEUpLGpuKHRoaXMsbnVsbCxCLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY29sbGFwc2libGUiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImNvbGxhcHNpYmxlImluIHEsImhhcyIpLGdldDpzKHE9PnEuY29sbGFwc2libGUsImdldCIpLHNldDpzKChxLGNlKT0+e3EuY29sbGFwc2libGU9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0sTSxTKSxqbih0aGlzLG51bGwsUCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImNvbGxhcHNlZCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4iY29sbGFwc2VkImluIHEsImhhcyIpLGdldDpzKHE9PnEuY29sbGFwc2VkLCJnZXQiKSxzZXQ6cygocSxjZSk9PntxLmNvbGxhcHNlZD1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxBLEYpLGpuKHRoaXMsbnVsbCxXLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaXNDb2xsYXBzZWQiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMocT0+ImlzQ29sbGFwc2VkImluIHEsImhhcyIpLGdldDpzKHE9PnEuaXNDb2xsYXBzZWQsImdldCIpLHNldDpzKChxLGNlKT0+e3EuaXNDb2xsYXBzZWQ9Y2V9LCJzZXQiKX0sbWV0YWRhdGE6SX0saixHKSxqbih0aGlzLG51bGwsaGUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJoYXNTbG90dGVkQ29udGVudCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhxPT4iaGFzU2xvdHRlZENvbnRlbnQiaW4gcSwiaGFzIiksZ2V0OnMocT0+cS5oYXNTbG90dGVkQ29udGVudCwiZ2V0Iiksc2V0OnMoKHEsY2UpPT57cS5oYXNTbG90dGVkQ29udGVudD1jZX0sInNldCIpfSxtZXRhZGF0YTpJfSxSLFUpLGpuKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOkl9LG51bGwsdCksbWU9cj1lLnZhbHVlLEkmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6SX0pfXN0YXRpYyBkZW1vPXMoKCk9PndgCiAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgdGl0bGU9IlNtYXJ0UHJveHkiCiAgICAgIHN1YnRpdGxlPSJIVFRQL0hUVFBTIGFuZCBUQ1AvU05JIHJldmVyc2UgcHJveHkiCiAgICAgIGljb249Imx1Y2lkZTpuZXR3b3JrIgogICAgICBzdGF0dXM9ImVuYWJsZWQiCiAgICAgIC5maWVsZHM9JHtbe2tleToiUm91dGUgQ291bnQiLHZhbHVlOjEyfSx7a2V5OiJBQ01FIEVuYWJsZWQiLHZhbHVlOiEwLHR5cGU6ImJvb2xlYW4ifSx7a2V5OiJBY2NvdW50IEVtYWlsIix2YWx1ZToiYWRtaW5AZXhhbXBsZS5jb20ifSx7a2V5OiJVc2UgUHJvZHVjdGlvbiIsdmFsdWU6ITAsdHlwZToiYm9vbGVhbiJ9LHtrZXk6IkF1dG8gUmVuZXciLHZhbHVlOiEwLHR5cGU6ImJvb2xlYW4ifSx7a2V5OiJSZW5ldyBUaHJlc2hvbGQiLHZhbHVlOiIzMCBkYXlzIn1dfQogICAgICAubGlua3M9JHtbe2xhYmVsOiJEb2NzIixocmVmOiJodHRwczovL2NvZGUuZm9zcy5nbG9iYWwvc2VydmUuem9uZS9zbWFydHByb3h5IixpY29uOiJsdWNpZGU6Ym9va09wZW4iLGV4dGVybmFsOiEwfV19CiAgICAgIC5hY3Rpb25zPSR7W3tsYWJlbDoiQ29uZmlndXJlIixpY29uOiJsdWNpZGU6c2V0dGluZ3MiLGV2ZW50OiJjb25maWd1cmUifV19CiAgICA+PC9zei1jb25maWctc2VjdGlvbj4KICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICB0aXRsZT0iRW1haWwgU2VydmVyIgogICAgICBzdWJ0aXRsZT0iU01UUCBlbWFpbCBoYW5kbGluZyB3aXRoIHNtYXJ0bXRhIgogICAgICBpY29uPSJsdWNpZGU6bWFpbCIKICAgICAgc3RhdHVzPSJkaXNhYmxlZCIKICAgICAgLmZpZWxkcz0ke1t7a2V5OiJQb3J0cyIsdmFsdWU6WyIyNSIsIjQ2NSIsIjU4NyJdLHR5cGU6InBpbGxzIn0se2tleToiSG9zdG5hbWUiLHZhbHVlOm51bGx9LHtrZXk6IkRvbWFpbnMiLHZhbHVlOlsiZXhhbXBsZS5jb20iLCJtYWlsLmV4YW1wbGUuY29tIl0sdHlwZToicGlsbHMifV19CiAgICAgIC5saW5rcz0ke1t7bGFiZWw6IkRvY3MiLGhyZWY6Imh0dHBzOi8vY29kZS5mb3NzLmdsb2JhbC9zZXJ2ZS56b25lL3NtYXJ0bXRhIixpY29uOiJsdWNpZGU6Ym9va09wZW4iLGV4dGVybmFsOiEwfSx7bGFiZWw6IlNvdXJjZSIsaHJlZjoiaHR0cHM6Ly9jb2RlLmZvc3MuZ2xvYmFsL3NlcnZlLnpvbmUvc21hcnRtdGEiLGljb246Imx1Y2lkZTpnaXRodWIiLGV4dGVybmFsOiEwfV19CiAgICAgIC5hY3Rpb25zPSR7W3tsYWJlbDoiRW5hYmxlIixpY29uOiJsdWNpZGU6cG93ZXIiLGV2ZW50OiJlbmFibGUifV19CiAgICA+PC9zei1jb25maWctc2VjdGlvbj4KICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICB0aXRsZT0iRE5TIFNlcnZlciIKICAgICAgc3VidGl0bGU9IkF1dGhvcml0YXRpdmUgRE5TIHdpdGggc21hcnRkbnMiCiAgICAgIGljb249Imx1Y2lkZTpnbG9iZSIKICAgICAgc3RhdHVzPSJub3QtY29uZmlndXJlZCIKICAgICAgY29sbGFwc2libGUKICAgICAgLmZpZWxkcz0ke1t7a2V5OiJQb3J0Iix2YWx1ZTo1M30se2tleToiTlMgRG9tYWlucyIsdmFsdWU6WyJuczEuZXhhbXBsZS5jb20iLCJuczIuZXhhbXBsZS5jb20iXSx0eXBlOiJwaWxscyJ9XX0KICAgICAgLmxpbmtzPSR7W3tsYWJlbDoiR2V0dGluZyBTdGFydGVkIixocmVmOiJodHRwczovL2RvY3MuZXhhbXBsZS5jb20vZG5zIixpY29uOiJsdWNpZGU6Ym9va09wZW4iLGV4dGVybmFsOiEwfV19CiAgICA+PC9zei1jb25maWctc2VjdGlvbj4KICBgLCJkZW1vIik7c3RhdGljIGRlbW9Hcm91cHM9WyJDb25maWd1cmF0aW9uIl07I2U9THIodGhpcyxuLCIiKTtnZXQgdGl0bGUoKXtyZXR1cm4gdGhpcy4jZX1zZXQgdGl0bGUoSSl7dGhpcy4jZT1JfSN0PShMcih0aGlzLGwpLExyKHRoaXMsYywiIikpO2dldCBzdWJ0aXRsZSgpe3JldHVybiB0aGlzLiN0fXNldCBzdWJ0aXRsZShJKXt0aGlzLiN0PUl9I2E9KExyKHRoaXMscCksTHIodGhpcyxtLCIiKSk7Z2V0IGljb24oKXtyZXR1cm4gdGhpcy4jYX1zZXQgaWNvbihJKXt0aGlzLiNhPUl9I3I9KExyKHRoaXMsdiksTHIodGhpcyxiLCJlbmFibGVkIikpO2dldCBzdGF0dXMoKXtyZXR1cm4gdGhpcy4jcn1zZXQgc3RhdHVzKEkpe3RoaXMuI3I9SX0jcz0oTHIodGhpcyxnKSxMcih0aGlzLGssW10pKTtnZXQgZmllbGRzKCl7cmV0dXJuIHRoaXMuI3N9c2V0IGZpZWxkcyhJKXt0aGlzLiNzPUl9I2k9KExyKHRoaXMsQyksTHIodGhpcyxfLFtdKSk7Z2V0IGFjdGlvbnMoKXtyZXR1cm4gdGhpcy4jaX1zZXQgYWN0aW9ucyhJKXt0aGlzLiNpPUl9I289KExyKHRoaXMseiksTHIodGhpcyxULFtdKSk7Z2V0IGxpbmtzKCl7cmV0dXJuIHRoaXMuI299c2V0IGxpbmtzKEkpe3RoaXMuI289SX0jbj0oTHIodGhpcyxFKSxMcih0aGlzLE0sITEpKTtnZXQgY29sbGFwc2libGUoKXtyZXR1cm4gdGhpcy4jbn1zZXQgY29sbGFwc2libGUoSSl7dGhpcy4jbj1JfSNsPShMcih0aGlzLFMpLExyKHRoaXMsQSwhMSkpO2dldCBjb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy4jbH1zZXQgY29sbGFwc2VkKEkpe3RoaXMuI2w9SX0jYz0oTHIodGhpcyxGKSxMcih0aGlzLGosITEpKTtnZXQgaXNDb2xsYXBzZWQoKXtyZXR1cm4gdGhpcy4jY31zZXQgaXNDb2xsYXBzZWQoSSl7dGhpcy4jYz1JfSNkPShMcih0aGlzLEcpLExyKHRoaXMsUiwhMSkpO2dldCBoYXNTbG90dGVkQ29udGVudCgpe3JldHVybiB0aGlzLiNkfXNldCBoYXNTbG90dGVkQ29udGVudChJKXt0aGlzLiNkPUl9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICBkZWVzLXRpbGUgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgZGVlcy10aWxlOjpwYXJ0KGNvbnRlbnQpIHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2VkXSkgZGVlcy10aWxlOjpwYXJ0KGZvb3RlcikgewogICAgICAgIGRpc3BsYXk6IG5vbmU7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDEwcHggMTZweDsKICAgICAgICBnYXA6IDEycHg7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7CiAgICAgIH0KCiAgICAgIDpob3N0KFtjb2xsYXBzaWJsZV0pIC5zZWN0aW9uLWhlYWRlciB7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICB9CgogICAgICA6aG9zdChbY29sbGFwc2libGVdKSAuc2VjdGlvbi1oZWFkZXI6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItaG92ZXIpOwogICAgICB9CgogICAgICAuaGVhZGVyLWxlZnQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgbWluLXdpZHRoOiAwOwogICAgICAgIGZsZXg6IDE7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItaWNvbiB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIHdpZHRoOiAyOHB4OwogICAgICAgIGhlaWdodDogMjhweDsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1kZWZhdWx0KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItaWNvbiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLmhlYWRlci10ZXh0IHsKICAgICAgICBtaW4td2lkdGg6IDA7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMWVtOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgICBsaW5lLWhlaWdodDogMS4zOwogICAgICB9CgogICAgICAuaGVhZGVyLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDExcHg7CiAgICAgICAgY29sb3I6IHZhcigtLWRlZXMtY29sb3ItdGV4dC1tdXRlZCk7CiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAxZW07CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgICAgICBtYXJnaW4tdG9wOiAxcHg7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItcmlnaHQgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDEwcHg7CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgIH0KCiAgICAgIC8qIFN0YXR1cyBiYWRnZSAqLwogICAgICAuc3RhdHVzLWJhZGdlIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDNweCAxMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmVuYWJsZWQgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZGNmY2U3IiwicmdiYSgzNCwxOTcsOTQsMC4yKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmRpc2FibGVkIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZTJlMiIsInJnYmEoMjM5LDY4LDY4LDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZGMyNjI2IiwiI2VmNDQ0NCIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS5ub3QtY29uZmlndXJlZCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCJyZ2JhKDExMywxMTMsMTIyLDAuMikiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS53YXJuaW5nIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2ZlZjNjNyIsInJnYmEoMjQ1LDE1OCwxMSwwLjE1KSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM5MjQwMGUiLCIjZmJiZjI0Iil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWRvdCB7CiAgICAgICAgd2lkdGg6IDdweDsKICAgICAgICBoZWlnaHQ6IDdweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2UuZW5hYmxlZCAuc3RhdHVzLWRvdCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxNmEzNGEiLCIjMjJjNTVlIil9OwogICAgICB9CgogICAgICAuc3RhdHVzLWJhZGdlLmRpc2FibGVkIC5zdGF0dXMtZG90IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5zdGF0dXMtYmFkZ2Uubm90LWNvbmZpZ3VyZWQgLnN0YXR1cy1kb3QgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgfQoKICAgICAgLnN0YXR1cy1iYWRnZS53YXJuaW5nIC5zdGF0dXMtZG90IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y1OWUwYiIsIiNmYmJmMjQiKX07CiAgICAgIH0KCiAgICAgIC8qIEZvb3RlciBhY3Rpb24gYnV0dG9ucyDigJQgY2Fub25pY2FsIGRlZXMtbW9kYWwgLyBkZWVzLXRpbGUgcGF0dGVybiAqLwogICAgICAuc2VjdGlvbi1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAwOwogICAgICAgIGhlaWdodDogMzZweDsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24gewogICAgICAgIHBhZGRpbmc6IDAgMTZweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1kZWVzLWNvbG9yLWJvcmRlci1zdWJ0bGUpOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmZpcnN0LWNoaWxkIHsKICAgICAgICBib3JkZXItbGVmdDogbm9uZTsKICAgICAgfQoKICAgICAgLnRpbGUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kZWVzLWNvbG9yLWhvdmVyKTsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTkuOCUpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglKSIpfTsKICAgICAgICBmb250LXdlaWdodDogNjAwOwogICAgICB9CgogICAgICAudGlsZS1idXR0b24ucHJpbWFyeTpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoImhzbCgyMTcuMiA5MS4yJSA1OS44JSAvIDAuMDgpIiwiaHNsKDIxMy4xIDkzLjklIDY3LjglIC8gMC4wOCkiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCJoc2woMjE3LjIgOTEuMiUgNTAlKSIsImhzbCgyMTMuMSA5My45JSA3NSUpIil9OwogICAgICB9CgogICAgICAudGlsZS1idXR0b24gZGVlcy1pY29uIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgIH0KCiAgICAgIC8qIENoZXZyb24gKi8KICAgICAgLmNoZXZyb24gewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmNoZXZyb24uY29sbGFwc2VkIHsKICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOwogICAgICB9CgogICAgICAuY2hldnJvbiBkZWVzLWljb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLyogQ29udGVudCAqLwogICAgICAuc2VjdGlvbi1jb250ZW50IHsKICAgICAgICBwYWRkaW5nOiAwOwogICAgICB9CgogICAgICAuZmllbGRzLWxpc3QgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgfQoKICAgICAgLyogRmllbGQgcm93cyAqLwogICAgICAuZmllbGQtcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzFhMWExZSIpfTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5maWVsZHMtbGlzdCAuZmllbGQtcm93Omxhc3QtY2hpbGQgewogICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7CiAgICAgIH0KCiAgICAgIC5maWVsZC1rZXkgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgZmxleC1zaHJpbms6IDA7CiAgICAgICAgbWluLXdpZHRoOiAxNDBweDsKICAgICAgICBwYWRkaW5nLXRvcDogMXB4OwogICAgICB9CgogICAgICAuZmllbGQtdmFsdWUgewogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCBNb25hY28sICdDYXNjYWRpYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7CiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsOwogICAgICB9CgogICAgICAuZmllbGQtdmFsdWUubnVsbC12YWx1ZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjYTFhMWFhIiwiIzUyNTI1YiIpfTsKICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7CiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7CiAgICAgIH0KCiAgICAgIC8qIEJvb2xlYW4gZGlzcGxheSAqLwogICAgICAuYm9vbC12YWx1ZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDVweDsKICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgfQoKICAgICAgLmJvb2wtdmFsdWUudHJ1ZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTZhMzRhIiwiIzIyYzU1ZSIpfTsKICAgICAgfQoKICAgICAgLmJvb2wtdmFsdWUuZmFsc2UgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2RjMjYyNiIsIiNlZjQ0NDQiKX07CiAgICAgIH0KCiAgICAgIC5ib29sLWRvdCB7CiAgICAgICAgd2lkdGg6IDZweDsKICAgICAgICBoZWlnaHQ6IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICAgIH0KCiAgICAgIC5ib29sLXZhbHVlLnRydWUgLmJvb2wtZG90IHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiIzE2YTM0YSIsIiMyMmM1NWUiKX07CiAgICAgIH0KCiAgICAgIC5ib29sLXZhbHVlLmZhbHNlIC5ib29sLWRvdCB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNkYzI2MjYiLCIjZWY0NDQ0Iil9OwogICAgICB9CgogICAgICAvKiBQaWxscyAqLwogICAgICAucGlsbHMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC13cmFwOiB3cmFwOwogICAgICAgIGdhcDogNXB4OwogICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICAgIH0KCiAgICAgIC5waWxsIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIHBhZGRpbmc6IDJweCA5cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGZvbnQtZmFtaWx5OiAnU0YgTW9ubycsIE1vbmFjbywgJ0Nhc2NhZGlhIENvZGUnLCBtb25vc3BhY2U7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNlZmY2ZmYiLCJyZ2JhKDU5LDEzMCwyNDYsMC4xKSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMyNTYzZWIiLCIjNjBhNWZhIil9OwogICAgICB9CgogICAgICAvKiBDb2RlIHZhbHVlICovCiAgICAgIC5jb2RlLXZhbHVlIHsKICAgICAgICBmb250LWZhbWlseTogJ1NGIE1vbm8nLCBNb25hY28sICdDYXNjYWRpYSBDb2RlJywgbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgcGFkZGluZzogMnB4IDhweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLyogTGluayB2YWx1ZSAqLwogICAgICAubGluay12YWx1ZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMjU2M2ViIiwiIzYwYTVmYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgfQoKICAgICAgLmxpbmstdmFsdWU6aG92ZXIgewogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOwogICAgICB9CgogICAgICAvKiBEZXNjcmlwdGlvbiBoaW50ICovCiAgICAgIC5maWVsZC1kZXNjcmlwdGlvbiB7CiAgICAgICAgZm9udC1zaXplOiAxMXB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ExYTFhYSIsIiM1MjUyNWIiKX07CiAgICAgICAgbWFyZ2luLXRvcDogM3B4OwogICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgICB9CgogICAgICAvKiBTbG90IGZvciBjdXN0b20gY29udGVudCAqLwogICAgICAuc2xvdC1jb250ZW50IHsKICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMWExYTFlIil9OwogICAgICB9CgogICAgICAuc2xvdC1jb250ZW50LmVtcHR5IHsKICAgICAgICBkaXNwbGF5OiBub25lOwogICAgICB9CgogICAgICAvKiBCYWRnZSB0eXBlICovCiAgICAgIC5iYWRnZS12YWx1ZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBwYWRkaW5nOiAycHggOXB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMyNzI3MmEiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNTI1MjViIiwiI2ExYTFhYSIpfTsKICAgICAgfQogICAgYF07YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXthd2FpdCBzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLHRoaXMuaXNDb2xsYXBzZWQ9dGhpcy5jb2xsYXBzZWQsdGhpcy5jb2xsYXBzaWJsZSYmdGhpcy5zZXRBdHRyaWJ1dGUoImNvbGxhcHNpYmxlIiwiIil9dXBkYXRlZChJKXtzdXBlci51cGRhdGVkKEkpLEkuaGFzKCJpc0NvbGxhcHNlZCIpJiZ0aGlzLnRvZ2dsZUF0dHJpYnV0ZSgiY29sbGFwc2VkIix0aGlzLmlzQ29sbGFwc2VkKX1vblNsb3RDaGFuZ2UoSSl7bGV0IHE9SS50YXJnZXQ7dGhpcy5oYXNTbG90dGVkQ29udGVudD1xLmFzc2lnbmVkTm9kZXMoe2ZsYXR0ZW46ITB9KS5sZW5ndGg+MH1yZW5kZXIoKXtsZXQgST17ZW5hYmxlZDoiRW5hYmxlZCIsZGlzYWJsZWQ6IkRpc2FibGVkIiwibm90LWNvbmZpZ3VyZWQiOiJOb3QgQ29uZmlndXJlZCIsd2FybmluZzoiV2FybmluZyJ9O3JldHVybiB3YAogICAgICA8ZGVlcy10aWxlPgogICAgICAgIDxkaXYKICAgICAgICAgIHNsb3Q9ImhlYWRlciIKICAgICAgICAgIGNsYXNzPSJzZWN0aW9uLWhlYWRlciIKICAgICAgICAgIEBjbGljaz0keygpPT57dGhpcy5jb2xsYXBzaWJsZSYmKHRoaXMuaXNDb2xsYXBzZWQ9IXRoaXMuaXNDb2xsYXBzZWQpfX0KICAgICAgICA+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItbGVmdCI+CiAgICAgICAgICAgICR7dGhpcy5pY29uP3dgCiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWljb24iPgogICAgICAgICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0ke3RoaXMuaWNvbn0+PC9kZWVzLWljb24+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci10ZXh0Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItdGl0bGUiPiR7dGhpcy50aXRsZX08L2Rpdj4KICAgICAgICAgICAgICAke3RoaXMuc3VidGl0bGU/d2A8ZGl2IGNsYXNzPSJoZWFkZXItc3VidGl0bGUiPiR7dGhpcy5zdWJ0aXRsZX08L2Rpdj5gOiIifQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLXJpZ2h0Ij4KICAgICAgICAgICAgJHt0aGlzLnN0YXR1cz93YAogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJzdGF0dXMtYmFkZ2UgJHt0aGlzLnN0YXR1c30iPgogICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InN0YXR1cy1kb3QiPjwvc3Bhbj4KICAgICAgICAgICAgICAgICR7SVt0aGlzLnN0YXR1c118fHRoaXMuc3RhdHVzfQogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgICAgJHt0aGlzLmNvbGxhcHNpYmxlP3dgCiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImNoZXZyb24gJHt0aGlzLmlzQ29sbGFwc2VkPyJjb2xsYXBzZWQiOiIifSI+CiAgICAgICAgICAgICAgICA8ZGVlcy1pY29uIC5pY29uPSR7Imx1Y2lkZTpjaGV2cm9uRG93biJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgICAgIDwvc3Bhbj4KICAgICAgICAgICAgYDoiIn0KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICAke3RoaXMuZmllbGRzLmxlbmd0aD4wP3dgCiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImZpZWxkcy1saXN0Ij4KICAgICAgICAgICAgICAke3RoaXMuZmllbGRzLm1hcChxPT50aGlzLnJlbmRlckZpZWxkKHEpKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICBgOiIifQogICAgICAgICAgPGRpdiBjbGFzcz0ic2xvdC1jb250ZW50ICR7dGhpcy5oYXNTbG90dGVkQ29udGVudD8iIjoiZW1wdHkifSI+CiAgICAgICAgICAgIDxzbG90IEBzbG90Y2hhbmdlPSR7dGhpcy5vblNsb3RDaGFuZ2V9Pjwvc2xvdD4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgICR7dGhpcy5saW5rcy5sZW5ndGg+MHx8dGhpcy5hY3Rpb25zLmxlbmd0aD4wP3dgCiAgICAgICAgICA8ZGl2IHNsb3Q9ImZvb3RlciIgY2xhc3M9InNlY3Rpb24tZm9vdGVyIj4KICAgICAgICAgICAgJHt0aGlzLmxpbmtzLm1hcChxPT53YAogICAgICAgICAgICAgIDxhCiAgICAgICAgICAgICAgICBjbGFzcz0idGlsZS1idXR0b24iCiAgICAgICAgICAgICAgICBocmVmPSR7cS5ocmVmfQogICAgICAgICAgICAgICAgdGFyZ2V0PSR7cS5leHRlcm5hbD8iX2JsYW5rIjoiX3NlbGYifQogICAgICAgICAgICAgICAgcmVsPSR7cS5leHRlcm5hbD8ibm9vcGVuZXIgbm9yZWZlcnJlciI6IiJ9CiAgICAgICAgICAgICAgICBAY2xpY2s9JHtjZT0+Y2Uuc3RvcFByb3BhZ2F0aW9uKCl9CiAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgJHtxLmljb24/d2A8ZGVlcy1pY29uIC5pY29uPSR7cS5pY29ufT48L2RlZXMtaWNvbj5gOiIifQogICAgICAgICAgICAgICAgJHtxLmxhYmVsfQogICAgICAgICAgICAgICAgJHtxLmV4dGVybmFsP3dgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6ZXh0ZXJuYWxMaW5rIn0+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgICA8L2E+CiAgICAgICAgICAgIGApfQogICAgICAgICAgICAke3RoaXMuYWN0aW9ucy5tYXAocT0+d2AKICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJ0aWxlLWJ1dHRvbiBwcmltYXJ5IiBAY2xpY2s9JHtjZT0+e2NlLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQocS5ldmVudHx8ImFjdGlvbiIse2RldGFpbDpxLmRldGFpbHx8e2xhYmVsOnEubGFiZWx9LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9fT4KICAgICAgICAgICAgICAgICR7cS5pY29uP3dgPGRlZXMtaWNvbiAuaWNvbj0ke3EuaWNvbn0+PC9kZWVzLWljb24+YDoiIn0KICAgICAgICAgICAgICAgICR7cS5sYWJlbH0KICAgICAgICAgICAgICA8L2J1dHRvbj4KICAgICAgICAgICAgYCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2RlZXMtdGlsZT4KICAgIGB9cmVuZGVyRmllbGQoSSl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9ImZpZWxkLXJvdyI+CiAgICAgICAgPGRpdiBjbGFzcz0iZmllbGQta2V5Ij4ke0kua2V5fTwvZGl2PgogICAgICAgIDxkaXY+CiAgICAgICAgICAke3RoaXMucmVuZGVyRmllbGRWYWx1ZShJKX0KICAgICAgICAgICR7SS5kZXNjcmlwdGlvbj93YDxkaXYgY2xhc3M9ImZpZWxkLWRlc2NyaXB0aW9uIj4ke0kuZGVzY3JpcHRpb259PC9kaXY+YDoiIn0KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICBgfXJlbmRlckZpZWxkVmFsdWUoSSl7bGV0IHE9SS52YWx1ZSxjZT1JLnR5cGV8fHRoaXMuaW5mZXJUeXBlKHEpO2lmKHE9PW51bGwpcmV0dXJuIHdgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIG51bGwtdmFsdWUiPk5vdCBjb25maWd1cmVkPC9zcGFuPmA7c3dpdGNoKGNlKXtjYXNlImJvb2xlYW4iOnJldHVybiB3YAogICAgICAgICAgPHNwYW4gY2xhc3M9ImJvb2wtdmFsdWUgJHtxPyJ0cnVlIjoiZmFsc2UifSI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJib29sLWRvdCI+PC9zcGFuPgogICAgICAgICAgICAke3E/IkVuYWJsZWQiOiJEaXNhYmxlZCJ9CiAgICAgICAgICA8L3NwYW4+CiAgICAgICAgYDtjYXNlInBpbGxzIjpyZXR1cm4gQXJyYXkuaXNBcnJheShxKSYmcS5sZW5ndGg9PT0wP3dgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIG51bGwtdmFsdWUiPk5vbmU8L3NwYW4+YDp3YAogICAgICAgICAgPGRpdiBjbGFzcz0icGlsbHMiPgogICAgICAgICAgICAke3EubWFwKHVlPT53YDxzcGFuIGNsYXNzPSJwaWxsIj4ke3VlfTwvc3Bhbj5gKX0KICAgICAgICAgIDwvZGl2PgogICAgICAgIGA7Y2FzZSJjb2RlIjpyZXR1cm4gd2A8c3BhbiBjbGFzcz0iY29kZS12YWx1ZSI+JHtTdHJpbmcocSl9PC9zcGFuPmA7Y2FzZSJiYWRnZSI6cmV0dXJuIHdgPHNwYW4gY2xhc3M9ImJhZGdlLXZhbHVlIj4ke1N0cmluZyhxKX08L3NwYW4+YDtjYXNlImxpbmsiOnJldHVybiB3YAogICAgICAgICAgPHNwYW4KICAgICAgICAgICAgY2xhc3M9ImxpbmstdmFsdWUiCiAgICAgICAgICAgIEBjbGljaz0keygpPT57SS5saW5rVG8mJnRoaXMuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoIm5hdmlnYXRlIix7ZGV0YWlsOnt0YXJnZXQ6SS5saW5rVG99LGJ1YmJsZXM6ITAsY29tcG9zZWQ6ITB9KSl9fQogICAgICAgICAgPiR7U3RyaW5nKHEpfTwvc3Bhbj4KICAgICAgICBgO2RlZmF1bHQ6cmV0dXJuIHdgPHNwYW4gY2xhc3M9ImZpZWxkLXZhbHVlIj4ke1N0cmluZyhxKX08L3NwYW4+YH19aW5mZXJUeXBlKEkpe3JldHVybiB0eXBlb2YgST09ImJvb2xlYW4iPyJib29sZWFuIjpBcnJheS5pc0FycmF5KEkpPyJwaWxscyI6InRleHQifWNvbnN0cnVjdG9yKCl7c3VwZXIoLi4uYXJndW1lbnRzKSxMcih0aGlzLFUpfXN0YXRpY3tMcihyLHQpfX07cmV0dXJuIG1lPXJ9KSgpfSk7dmFyIG5ldCxURyxKTmEsUXVhPWYoKCk9PntsZSgpO25ldD1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sVEc9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LEpOYT0oKCk9PntsZXQgYT1baWUoInN6LWNvbmZpZy1vdmVydmlldyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdLGQsYz1bXSxwPVtdO3ZhciB1PWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekNvbmZpZ092ZXJ2aWV3Iil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG09dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bJCh7dHlwZTpTdHJpbmd9KV0sZD1bJCh7dHlwZTpTdHJpbmd9KV0sbmV0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiaGVhZGluZyIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iaGVhZGluZyJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmhlYWRpbmcsImdldCIpLHNldDpzKCh2LHgpPT57di5oZWFkaW5nPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxuZXQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJpbmZvVGV4dCIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iaW5mb1RleHQiaW4gdiwiaGFzIiksZ2V0OnModj0+di5pbmZvVGV4dCwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LmluZm9UZXh0PXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxuZXQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1zdGF0aWMgZGVtbz1zKCgpPT53YDxzei1jb25maWctb3ZlcnZpZXcKICAgIGhlYWRpbmc9IkNvbmZpZ3VyYXRpb24iCiAgICBpbmZvVGV4dD0iVGhpcyBpcyBhIHJlYWQtb25seSB2aWV3IG9mIHRoZSBjdXJyZW50IHJ1bm5pbmcgY29uZmlndXJhdGlvbi4iCiAgPgogICAgPGRpdiBzdHlsZT0icGFkZGluZzogMjBweDsgdGV4dC1hbGlnbjogY2VudGVyOyBjb2xvcjogIzcxNzE3YTsgZm9udC1zaXplOiAxNHB4OyI+CiAgICAgIFBsYWNlICZsdDtzei1jb25maWctc2VjdGlvbiZndDsgZWxlbWVudHMgaGVyZQogICAgPC9kaXY+CiAgPC9zei1jb25maWctb3ZlcnZpZXc+YCwiZGVtbyIpO3N0YXRpYyBkZW1vR3JvdXBzPVsiQ29uZmlndXJhdGlvbiJdOyNlPVRHKHRoaXMsbiwiIik7Z2V0IGhlYWRpbmcoKXtyZXR1cm4gdGhpcy4jZX1zZXQgaGVhZGluZyhtKXt0aGlzLiNlPW19I3Q9KFRHKHRoaXMsbCksVEcodGhpcyxjLCIiKSk7Z2V0IGluZm9UZXh0KCl7cmV0dXJuIHRoaXMuI3R9c2V0IGluZm9UZXh0KG0pe3RoaXMuI3Q9bX1zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICB9CgogICAgICAuaGVhZGluZyB7CiAgICAgICAgZm9udC1zaXplOiAyMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuaW5mby1iYW5uZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgZ2FwOiAxMnB4OwogICAgICAgIHBhZGRpbmc6IDE0cHggMThweDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2VmZjZmZiIsInJnYmEoNTksMTMwLDI0NiwwLjA4KSIpfTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2guYmRUaGVtZSgiI2JmZGJmZSIsInJnYmEoNTksMTMwLDI0NiwwLjIpIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzFlNDBhZiIsIiM5M2M1ZmQiKX07CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICAgIH0KCiAgICAgIC5pbmZvLWJhbm5lciBkZWVzLWljb24gewogICAgICAgIGZsZXgtc2hyaW5rOiAwOwogICAgICAgIGZvbnQtc2l6ZTogMThweDsKICAgICAgICBtYXJnaW4tdG9wOiAxcHg7CiAgICAgIH0KCiAgICAgIDo6c2xvdHRlZChzei1jb25maWctc2VjdGlvbikgewogICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICAgIH0KCiAgICAgIDo6c2xvdHRlZChzei1jb25maWctc2VjdGlvbjpsYXN0LWNoaWxkKSB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgICR7dGhpcy5oZWFkaW5nP3dgPGRpdiBjbGFzcz0iaGVhZGluZyI+JHt0aGlzLmhlYWRpbmd9PC9kaXY+YDoiIn0KICAgICAgJHt0aGlzLmluZm9UZXh0P3dgCiAgICAgICAgPGRpdiBjbGFzcz0iaW5mby1iYW5uZXIiPgogICAgICAgICAgPGRlZXMtaWNvbiAuaWNvbj0keyJsdWNpZGU6aW5mbyJ9PjwvZGVlcy1pY29uPgogICAgICAgICAgPHNwYW4+JHt0aGlzLmluZm9UZXh0fTwvc3Bhbj4KICAgICAgICA8L2Rpdj4KICAgICAgYDoiIn0KICAgICAgPHNsb3Q+PC9zbG90PgogICAgYH1jb25zdHJ1Y3Rvcigpe3N1cGVyKC4uLmFyZ3VtZW50cyksVEcodGhpcyxwKX1zdGF0aWN7VEcocix0KX19O3JldHVybiB1PXJ9KSgpfSk7dmFyIGVSYSx0UmEsYVJhLEp1YT1mKCgpPT57bGUoKTtjbigpO2VSYT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sdFJhPWZ1bmN0aW9uKGEsZSx0KXtmb3IodmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yLGk9MDtpPGUubGVuZ3RoO2krKyl0PXI/ZVtpXS5jYWxsKGEsdCk6ZVtpXS5jYWxsKGEpO3JldHVybiByP3Q6dm9pZCAwfSxhUmE9KCgpPT57bGV0IGE9W2llKCJzei1kZW1vLXZpZXctZGFzaGJvYXJkIildLGUsdD1bXSxyLGk9cGU7dmFyIG89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RGVtb1ZpZXdEYXNoYm9hcmQiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbj10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtlUmEobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bn0sbnVsbCx0KSxvPXI9ZS52YWx1ZSxuJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm59KX1hcHB1aT1udWxsO2FzeW5jIG9uQWN0aXZhdGUobil7dGhpcy5hcHB1aT1uLmFwcHVpLHRoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiRGFzaGJvYXJkIixncm91cHM6W3tuYW1lOiJRdWljayBBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJEZXBsb3kgU2VydmljZSIsaWNvbk5hbWU6Imx1Y2lkZTpSb2NrZXQiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkRlcGxveSBzZXJ2aWNlIil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJBZGQgRG9tYWluIixpY29uTmFtZToibHVjaWRlOkdsb2JlIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJBZGQgZG9tYWluIil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJDcmVhdGUgVG9rZW4iLGljb25OYW1lOiJsdWNpZGU6S2V5IixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJDcmVhdGUgdG9rZW4iKX0sImFjdGlvbiIpfV19LHtuYW1lOiJTeXN0ZW0iLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IlJlZnJlc2ggU3RhdHMiLGljb25OYW1lOiJsdWNpZGU6UmVmcmVzaEN3IixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJSZWZyZXNoIil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJWaWV3IExvZ3MiLGljb25OYW1lOiJsdWNpZGU6VGVybWluYWwiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIlZpZXcgbG9ncyIpfSwiYWN0aW9uIil9XX1dfSl9b25EZWFjdGl2YXRlKCl7fXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAucGFnZS1oZWFkZXIgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5wYWdlLXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDI0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIG1hcmdpbjogMCAwIDhweCAwOwogICAgICB9CgogICAgICAucGFnZS1zdWJ0aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgbWFyZ2luOiAwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0icGFnZS1oZWFkZXIiPgogICAgICAgIDxoMSBjbGFzcz0icGFnZS10aXRsZSI+RGFzaGJvYXJkPC9oMT4KICAgICAgICA8cCBjbGFzcz0icGFnZS1zdWJ0aXRsZSI+T3ZlcnZpZXcgb2YgeW91ciBvbmVib3ggaW5mcmFzdHJ1Y3R1cmU8L3A+CiAgICAgIDwvZGl2PgoKICAgICAgPHN6LWRhc2hib2FyZC12aWV3CiAgICAgICAgLmNsdXN0ZXJTdGF0cz0ke3t0b3RhbFNlcnZpY2VzOjEyLHJ1bm5pbmc6OSxzdG9wcGVkOjMsZG9ja2VyU3RhdHVzOiJydW5uaW5nIn19CiAgICAgICAgLnJlc291cmNlVXNhZ2U9JHt7Y3B1OjQ1LG1lbW9yeVVzZWQ6IjYuMiBHQiIsbWVtb3J5VG90YWw6IjE2IEdCIixuZXR3b3JrSW46IjIuNSBNQi9zIixuZXR3b3JrT3V0OiIxLjIgTUIvcyIsdG9wQ29uc3VtZXJzOlt7bmFtZToibW9uZ29kYiIsbWVtb3J5OiIxLjIgR0IifSx7bmFtZToiY2xpY2tob3VzZSIsbWVtb3J5OiI5ODAgTUIifSx7bmFtZToibmdpbngtcHJveHkiLG1lbW9yeToiMjU2IE1CIn1dfX0KICAgICAgICAucGxhdGZvcm1TZXJ2aWNlcz0ke1t7bmFtZToiTW9uZ29EQiIsc3RhdHVzOiJydW5uaW5nIixpY29uOiJkYXRhYmFzZSJ9LHtuYW1lOiJTMyBTdG9yYWdlIixzdGF0dXM6InJ1bm5pbmciLGljb246InN0b3JhZ2UifSx7bmFtZToiQ2xpY2tIb3VzZSIsc3RhdHVzOiJzdG9wcGVkIixpY29uOiJhbmFseXRpY3MifSx7bmFtZToiUmVkaXMgQ2FjaGUiLHN0YXR1czoicnVubmluZyIsaWNvbjoiY2FjaGUifV19CiAgICAgICAgLnRyYWZmaWM9JHt7cmVxdWVzdHM6MTU0MjAsZXJyb3JzOjIzLGVycm9yUGVyY2VudDouMTUsYXZnUmVzcG9uc2U6MTQ1LHJlcVBlck1pbjo4NTYsc3RhdHVzMnh4OjE0ODUwLHN0YXR1czN4eDozMjAsc3RhdHVzNHh4OjIyNyxzdGF0dXM1eHg6MjN9fQogICAgICAgIC5wcm94eT0ke3todHRwUG9ydDoiODAiLGh0dHBzUG9ydDoiNDQzIixodHRwQWN0aXZlOiEwLGh0dHBzQWN0aXZlOiEwLHJvdXRlQ291bnQ6IjI0In19CiAgICAgICAgLmNlcnRpZmljYXRlcz0ke3t2YWxpZDoxOCxleHBpcmluZzoyLGV4cGlyZWQ6MH19CiAgICAgICAgLmRucz0ke3tyZWNvcmRzOjQ1LHpvbmVzOjgscGVuZGluZ0NoYW5nZXM6MH19CiAgICAgICAgLnNzbD0ke3thY3RpdmVDZXJ0czoyMCxhdXRvUmVuZXc6ITAscHJvdmlkZXI6IkxldCdzIEVuY3J5cHQifX0KICAgICAgICBAcXVpY2stYWN0aW9uPSR7bj0+Y29uc29sZS5sb2coIlF1aWNrIGFjdGlvbjoiLG4uZGV0YWlsKX0KICAgICAgPjwvc3otZGFzaGJvYXJkLXZpZXc+CiAgICBgfXN0YXRpY3t0UmEocix0KX19O3JldHVybiBvPXJ9KSgpfSk7dmFyIHZpZSxBNSxyUmEsZXBhPWYoKCk9PntsZSgpO2NuKCk7dmllPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxBNT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sclJhPSgoKT0+e2xldCBhPVtpZSgic3otZGVtby12aWV3LXNlcnZpY2VzIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W10sZCxjPVtdLHA9W10sdSxtPVtdLHY9W107dmFyIHg9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RGVtb1ZpZXdTZXJ2aWNlcyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSx1PVtLKCldLHZpZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRWaWV3IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJjdXJyZW50VmlldyJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmN1cnJlbnRWaWV3LCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuY3VycmVudFZpZXc9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLHZpZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkU2VydmljZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ic2VsZWN0ZWRTZXJ2aWNlImluIGcsImhhcyIpLGdldDpzKGc9Pmcuc2VsZWN0ZWRTZXJ2aWNlLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuc2VsZWN0ZWRTZXJ2aWNlPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sYyxwKSx2aWUodGhpcyxudWxsLHUse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZFBsYXRmb3JtU2VydmljZSIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4ic2VsZWN0ZWRQbGF0Zm9ybVNlcnZpY2UiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5zZWxlY3RlZFBsYXRmb3JtU2VydmljZSwiZ2V0Iiksc2V0OnMoKGcseSk9PntnLnNlbGVjdGVkUGxhdGZvcm1TZXJ2aWNlPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSx2aWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1hcHB1aT1udWxsOyNlPUE1KHRoaXMsbiwibGlzdCIpO2dldCBjdXJyZW50Vmlldygpe3JldHVybiB0aGlzLiNlfXNldCBjdXJyZW50VmlldyhiKXt0aGlzLiNlPWJ9I3Q9KEE1KHRoaXMsbCksQTUodGhpcyxjLG51bGwpKTtnZXQgc2VsZWN0ZWRTZXJ2aWNlKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkU2VydmljZShiKXt0aGlzLiN0PWJ9I2E9KEE1KHRoaXMscCksQTUodGhpcyxtLG51bGwpKTtnZXQgc2VsZWN0ZWRQbGF0Zm9ybVNlcnZpY2UoKXtyZXR1cm4gdGhpcy4jYX1zZXQgc2VsZWN0ZWRQbGF0Zm9ybVNlcnZpY2UoYil7dGhpcy4jYT1ifWRlbW9TZXJ2aWNlcz0oQTUodGhpcyx2KSxbe2lkOiIxIixuYW1lOiJuZ2lueC1wcm94eSIsaW1hZ2U6Im5naW54OmxhdGVzdCIsc3RhdHVzOiJydW5uaW5nIixjcHU6IjIuNSUiLG1lbW9yeToiMjU2IE1CIixwb3J0czoiODAsIDQ0MyIsdXB0aW1lOiI1ZCAxMmgifSx7aWQ6IjIiLG5hbWU6ImFwaS1nYXRld2F5IixpbWFnZToiYXBpLWdhdGV3YXk6djIuMS4wIixzdGF0dXM6InJ1bm5pbmciLGNwdToiOC4yJSIsbWVtb3J5OiI1MTIgTUIiLHBvcnRzOiIzMDAwIix1cHRpbWU6IjNkIDhoIn0se2lkOiIzIixuYW1lOiJ3b3JrZXItc2VydmljZSIsaW1hZ2U6IndvcmtlcjpsYXRlc3QiLHN0YXR1czoic3RvcHBlZCIsY3B1OiIwJSIsbWVtb3J5OiIwIE1CIixwb3J0czoiLSIsdXB0aW1lOiItIn0se2lkOiI0IixuYW1lOiJyZWRpcy1jYWNoZSIsaW1hZ2U6InJlZGlzOjctYWxwaW5lIixzdGF0dXM6InJ1bm5pbmciLGNwdToiMS4yJSIsbWVtb3J5OiIxMjggTUIiLHBvcnRzOiI2Mzc5Iix1cHRpbWU6IjEwZCA0aCJ9XSk7ZGVtb1BsYXRmb3JtU2VydmljZT17aWQ6IjEiLG5hbWU6Ik1vbmdvREIiLHR5cGU6Im1vbmdvZGIiLHN0YXR1czoicnVubmluZyIsdmVyc2lvbjoiNy4wLjQiLGhvc3Q6ImxvY2FsaG9zdCIscG9ydDoyNzAxNyxjcmVkZW50aWFsczp7dXNlcm5hbWU6ImFkbWluIixwYXNzd29yZDoiXHUyMDIyXHUyMDIyXHUyMDIyXHUyMDIyXHUyMDIyXHUyMDIyXHUyMDIyXHUyMDIyIn0sY29uZmlnOntyZXBsaWNhU2V0OiJyczAiLGF1dGhFbmFibGVkOiEwLGpvdXJuYWxpbmc6ITB9LG1ldHJpY3M6e2NwdToxMixtZW1vcnk6NDUsc3RvcmFnZToyMyxjb25uZWN0aW9uczo4fX07ZGVtb1BsYXRmb3JtTG9ncz1be3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoyMiIsbGV2ZWw6ImluZm8iLG1lc3NhZ2U6IkNvbm5lY3Rpb24gYWNjZXB0ZWQgZnJvbSAxMjcuMC4wLjE6NTQzMjEifSx7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjIwIixsZXZlbDoiaW5mbyIsbWVzc2FnZToiSW5kZXggYnVpbGQgY29tcGxldGVkIG9uIGNvbGxlY3Rpb24gdXNlcnMifSx7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjE1IixsZXZlbDoid2FybiIsbWVzc2FnZToiU2xvdyBxdWVyeSBkZXRlY3RlZDogMS4ycyBvbiBjb2xsZWN0aW9uIG9yZGVycyJ9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MTAiLGxldmVsOiJpbmZvIixtZXNzYWdlOiJDaGVja3BvaW50IGNvbXBsZXRlIn1dO2RlbW9CYWNrdXBTY2hlZHVsZXM9W3tpZDoiMSIsc2NvcGU6IkFsbCBTZXJ2aWNlcyIscmV0ZW50aW9uOiJEOjcsIFc6NCwgTToxMiIsc2NoZWR1bGU6IjAgMiAqICogKiIsbGFzdFJ1bjoiMS8yLzIwMjYsIDI6MDA6MDMgQU0iLG5leHRSdW46IjEvMy8yMDI2LCAyOjAwOjAwIEFNIixzdGF0dXM6ImFjdGl2ZSJ9XTtkZW1vQmFja3Vwcz1be2lkOiIxIixzZXJ2aWNlOiJuZ2lueC1wcm94eSIsY3JlYXRlZEF0OiIxLzIvMjAyNiwgMjowMDowMyBBTSIsc2l6ZToiMjIuMCBNQiIsaW5jbHVkZXM6WyJJbWFnZSJdfSx7aWQ6IjIiLHNlcnZpY2U6ImFwaS1nYXRld2F5IixjcmVhdGVkQXQ6IjEvMi8yMDI2LCAyOjAwOjAyIEFNIixzaXplOiIxNTYuNSBNQiIsaW5jbHVkZXM6WyJJbWFnZSIsIlZvbHVtZXMiXX0se2lkOiIzIixzZXJ2aWNlOiJyZWRpcy1jYWNoZSIsY3JlYXRlZEF0OiIxLzIvMjAyNiwgMjowMDowMCBBTSIsc2l6ZToiNDguMCBNQiIsaW5jbHVkZXM6WyJJbWFnZSIsIkRhdGEiXX1dO3N0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CgogICAgICAucGFnZS1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItaW5mbyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgICAgIGdhcDogOHB4OwogICAgICB9CgogICAgICAucGFnZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC5wYWdlLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC5oZWFkZXItYWN0aW9ucyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDhweDsKICAgICAgfQoKICAgICAgLmFjdGlvbi1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogOHB4IDE0cHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlcjogbm9uZTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjZmFmYWZhIiwiIzE4MTgxYiIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uOmhvdmVyIHsKICAgICAgICBvcGFjaXR5OiAwLjk7CiAgICAgIH0KCiAgICAgIC5hY3Rpb24tYnV0dG9uLnNlY29uZGFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmZmZmZmYiLCIjMDkwOTBiIil9OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAuYWN0aW9uLWJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIgewogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjZjRmNGY1IiwiIzE4MTgxYiIpfTsKICAgICAgfQoKICAgICAgLnRhYnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIHBhZGRpbmctYm90dG9tOiAwOwogICAgICB9CgogICAgICAudGFiIHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudGFiOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudGFiLmFjdGl2ZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRhYi5hY3RpdmU6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAtMXB4OwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgaGVpZ2h0OiAycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDFweCAxcHggMCAwOwogICAgICB9CgogICAgICAuYmFjay1idXR0b24gewogICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiA2cHg7CiAgICAgICAgcGFkZGluZzogNnB4IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLmJhY2stYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAke2guYmRUaGVtZSgiI2Y0ZjRmNSIsIiMxODE4MWIiKX07CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgICR7dGhpcy5jdXJyZW50Vmlldz09PSJsaXN0Ij90aGlzLnJlbmRlckxpc3RWaWV3KCk6IiJ9CiAgICAgICR7dGhpcy5jdXJyZW50Vmlldz09PSJjcmVhdGUiP3RoaXMucmVuZGVyQ3JlYXRlVmlldygpOiIifQogICAgICAke3RoaXMuY3VycmVudFZpZXc9PT0iZGV0YWlsIj90aGlzLnJlbmRlckRldGFpbFZpZXcoKToiIn0KICAgICAgJHt0aGlzLmN1cnJlbnRWaWV3PT09ImJhY2t1cHMiP3RoaXMucmVuZGVyQmFja3Vwc1ZpZXcoKToiIn0KICAgICAgJHt0aGlzLmN1cnJlbnRWaWV3PT09InBsYXRmb3JtLWRldGFpbCI/dGhpcy5yZW5kZXJQbGF0Zm9ybURldGFpbFZpZXcoKToiIn0KICAgIGB9cmVuZGVyTGlzdFZpZXcoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0icGFnZS1oZWFkZXIiPgogICAgICAgIDxkaXYgY2xhc3M9ImhlYWRlci1pbmZvIj4KICAgICAgICAgIDxoMSBjbGFzcz0icGFnZS10aXRsZSI+U2VydmljZXM8L2gxPgogICAgICAgICAgPHAgY2xhc3M9InBhZ2Utc3VidGl0bGUiPk1hbmFnZSB5b3VyIERvY2tlciBjb250YWluZXJzIGFuZCBwbGF0Zm9ybSBzZXJ2aWNlczwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJoZWFkZXItYWN0aW9ucyI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJhY3Rpb24tYnV0dG9uIHNlY29uZGFyeSIgQGNsaWNrPSR7KCk9PnRoaXMuY3VycmVudFZpZXc9ImJhY2t1cHMifT4KICAgICAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICAgICAgPHBhdGggZD0iTTIxIDE1djRhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJ2LTQiLz4KICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNyA4IDEyIDMgNyA4Ii8+CiAgICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iMyIgeDI9IjEyIiB5Mj0iMTUiLz4KICAgICAgICAgICAgPC9zdmc+CiAgICAgICAgICAgIEJhY2t1cHMKICAgICAgICAgIDwvYnV0dG9uPgogICAgICAgICAgPGJ1dHRvbiBjbGFzcz0iYWN0aW9uLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY3VycmVudFZpZXc9ImNyZWF0ZSJ9PgogICAgICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgICA8bGluZSB4MT0iMTIiIHkxPSI1IiB4Mj0iMTIiIHkyPSIxOSIvPgogICAgICAgICAgICAgIDxsaW5lIHgxPSI1IiB5MT0iMTIiIHgyPSIxOSIgeTI9IjEyIi8+CiAgICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgICBEZXBsb3kgU2VydmljZQogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPGRpdiBjbGFzcz0idGFicyI+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGFiIGFjdGl2ZSI+RG9ja2VyIFNlcnZpY2VzPC9idXR0b24+CiAgICAgICAgPGJ1dHRvbiBjbGFzcz0idGFiIiBAY2xpY2s9JHsoKT0+e3RoaXMuc2VsZWN0ZWRQbGF0Zm9ybVNlcnZpY2U9dGhpcy5kZW1vUGxhdGZvcm1TZXJ2aWNlLHRoaXMuY3VycmVudFZpZXc9InBsYXRmb3JtLWRldGFpbCJ9fT5QbGF0Zm9ybSBTZXJ2aWNlczwvYnV0dG9uPgogICAgICA8L2Rpdj4KCiAgICAgIDxzei1zZXJ2aWNlcy1saXN0LXZpZXcKICAgICAgICAuc2VydmljZXM9JHt0aGlzLmRlbW9TZXJ2aWNlc30KICAgICAgICBAdmlldy1zZXJ2aWNlPSR7Yj0+e3RoaXMuc2VsZWN0ZWRTZXJ2aWNlPWIuZGV0YWlsLHRoaXMuY3VycmVudFZpZXc9ImRldGFpbCJ9fQogICAgICAgIEBzdGFydC1zZXJ2aWNlPSR7Yj0+Y29uc29sZS5sb2coIlN0YXJ0IHNlcnZpY2U6IixiLmRldGFpbCl9CiAgICAgICAgQHN0b3Atc2VydmljZT0ke2I9PmNvbnNvbGUubG9nKCJTdG9wIHNlcnZpY2U6IixiLmRldGFpbCl9CiAgICAgICAgQHJlc3RhcnQtc2VydmljZT0ke2I9PmNvbnNvbGUubG9nKCJSZXN0YXJ0IHNlcnZpY2U6IixiLmRldGFpbCl9CiAgICAgICAgQGRlbGV0ZS1zZXJ2aWNlPSR7Yj0+Y29uc29sZS5sb2coIkRlbGV0ZSBzZXJ2aWNlOiIsYi5kZXRhaWwpfQogICAgICA+PC9zei1zZXJ2aWNlcy1saXN0LXZpZXc+CiAgICBgfXJlbmRlckNyZWF0ZVZpZXcoKXtyZXR1cm4gd2AKICAgICAgPGJ1dHRvbiBjbGFzcz0iYmFjay1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmN1cnJlbnRWaWV3PSJsaXN0In0+CiAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiLz4KICAgICAgICA8L3N2Zz4KICAgICAgICBCYWNrIHRvIFNlcnZpY2VzCiAgICAgIDwvYnV0dG9uPgoKICAgICAgPHN6LXNlcnZpY2UtY3JlYXRlLXZpZXcKICAgICAgICAucmVnaXN0cmllcz0ke1t7aWQ6IjEiLG5hbWU6Ik9uZWJveCBSZWdpc3RyeSIsdXJsOiJyZWdpc3RyeS5vbmVib3gubG9jYWwifSx7aWQ6IjIiLG5hbWU6IkRvY2tlciBIdWIiLHVybDoiZG9ja2VyLmlvIn1dfQogICAgICAgIEBjcmVhdGUtc2VydmljZT0ke2I9Pntjb25zb2xlLmxvZygiQ3JlYXRlIHNlcnZpY2U6IixiLmRldGFpbCksdGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9fQogICAgICAgIEBjYW5jZWw9JHsoKT0+dGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9CiAgICAgID48L3N6LXNlcnZpY2UtY3JlYXRlLXZpZXc+CiAgICBgfXJlbmRlckRldGFpbFZpZXcoKXtyZXR1cm4gd2AKICAgICAgPGJ1dHRvbiBjbGFzcz0iYmFjay1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmN1cnJlbnRWaWV3PSJsaXN0In0+CiAgICAgICAgPHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMiI+CiAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiLz4KICAgICAgICA8L3N2Zz4KICAgICAgICBCYWNrIHRvIFNlcnZpY2VzCiAgICAgIDwvYnV0dG9uPgoKICAgICAgPHN6LXNlcnZpY2UtZGV0YWlsLXZpZXcKICAgICAgICAuc2VydmljZT0ke3tpZDp0aGlzLnNlbGVjdGVkU2VydmljZT8uaWR8fCIxIixuYW1lOnRoaXMuc2VsZWN0ZWRTZXJ2aWNlPy5uYW1lfHwibmdpbngtcHJveHkiLGltYWdlOnRoaXMuc2VsZWN0ZWRTZXJ2aWNlPy5pbWFnZXx8Im5naW54OmxhdGVzdCIsc3RhdHVzOnRoaXMuc2VsZWN0ZWRTZXJ2aWNlPy5zdGF0dXN8fCJydW5uaW5nIixwb3J0czpbe2hvc3Q6IjgwIixjb250YWluZXI6IjgwIn0se2hvc3Q6IjQ0MyIsY29udGFpbmVyOiI0NDMifV0sZW52VmFyczpbe2tleToiTkdJTlhfSE9TVCIsdmFsdWU6ImxvY2FsaG9zdCJ9LHtrZXk6Ik5HSU5YX1BPUlQiLHZhbHVlOiI4MCJ9XSx2b2x1bWVzOlt7aG9zdDoiL2RhdGEvbmdpbngvY29uZiIsY29udGFpbmVyOiIvZXRjL25naW54L2NvbmYuZCJ9XSxjcmVhdGVkQXQ6IjIwMjQtMDEtMTUgMTA6MzA6MDAiLHJlc3RhcnRQb2xpY3k6ImFsd2F5cyJ9fQogICAgICAgIC5sb2dzPSR7W3t0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MjIiLGxldmVsOiJpbmZvIixtZXNzYWdlOicxMjcuMC4wLjEgLSAtIFsyMC9KYW4vMjAyNDoxNDozMDoyMiArMDAwMF0gIkdFVCAvIEhUVFAvMS4xIiAyMDAgNjEyJ30se3RpbWVzdGFtcDoiMjAyNC0wMS0yMCAxNDozMDoyMSIsbGV2ZWw6ImluZm8iLG1lc3NhZ2U6JzEyNy4wLjAuMSAtIC0gWzIwL0phbi8yMDI0OjE0OjMwOjIxICswMDAwXSAiR0VUIC9hcGkvaGVhbHRoIEhUVFAvMS4xIiAyMDAgMTUnfSx7dGltZXN0YW1wOiIyMDI0LTAxLTIwIDE0OjMwOjIwIixsZXZlbDoid2FybiIsbWVzc2FnZToidXBzdHJlYW0gdGltZWQgb3V0ICgxMTA6IENvbm5lY3Rpb24gdGltZWQgb3V0KSJ9LHt0aW1lc3RhbXA6IjIwMjQtMDEtMjAgMTQ6MzA6MTkiLGxldmVsOiJpbmZvIixtZXNzYWdlOicxMjcuMC4wLjEgLSAtIFsyMC9KYW4vMjAyNDoxNDozMDoxOSArMDAwMF0gIlBPU1QgL2FwaS9kYXRhIEhUVFAvMS4xIiAyMDEgODknfV19CiAgICAgICAgQHN0YXJ0PSR7KCk9PmNvbnNvbGUubG9nKCJTdGFydCIpfQogICAgICAgIEBzdG9wPSR7KCk9PmNvbnNvbGUubG9nKCJTdG9wIil9CiAgICAgICAgQHJlc3RhcnQ9JHsoKT0+Y29uc29sZS5sb2coIlJlc3RhcnQiKX0KICAgICAgICBAcmVxdWVzdC13b3Jrc3BhY2U9JHtiPT5jb25zb2xlLmxvZygiV29ya3NwYWNlIHJlcXVlc3RlZCBmb3I6IixiLmRldGFpbC5zZXJ2aWNlLm5hbWUpfQogICAgICA+PC9zei1zZXJ2aWNlLWRldGFpbC12aWV3PgogICAgYH1yZW5kZXJCYWNrdXBzVmlldygpe3JldHVybiB3YAogICAgICA8YnV0dG9uIGNsYXNzPSJiYWNrLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY3VycmVudFZpZXc9Imxpc3QifT4KICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiIvPgogICAgICAgIDwvc3ZnPgogICAgICAgIEJhY2sgdG8gU2VydmljZXMKICAgICAgPC9idXR0b24+CgogICAgICA8ZGl2IGNsYXNzPSJwYWdlLWhlYWRlciI+CiAgICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLWluZm8iPgogICAgICAgICAgPGgxIGNsYXNzPSJwYWdlLXRpdGxlIj5CYWNrdXBzPC9oMT4KICAgICAgICAgIDxwIGNsYXNzPSJwYWdlLXN1YnRpdGxlIj5NYW5hZ2UgYmFja3VwIHNjaGVkdWxlcyBhbmQgcmVzdG9yZSBwb2ludHM8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPHN6LXNlcnZpY2VzLWJhY2t1cHMtdmlldwogICAgICAgIC5zY2hlZHVsZXM9JHt0aGlzLmRlbW9CYWNrdXBTY2hlZHVsZXN9CiAgICAgICAgLmJhY2t1cHM9JHt0aGlzLmRlbW9CYWNrdXBzfQogICAgICAgIEBjcmVhdGUtc2NoZWR1bGU9JHsoKT0+Y29uc29sZS5sb2coIkNyZWF0ZSBzY2hlZHVsZSIpfQogICAgICAgIEBydW4tbm93PSR7Yj0+Y29uc29sZS5sb2coIlJ1biBub3c6IixiLmRldGFpbCl9CiAgICAgICAgQGRvd25sb2FkPSR7Yj0+Y29uc29sZS5sb2coIkRvd25sb2FkOiIsYi5kZXRhaWwpfQogICAgICA+PC9zei1zZXJ2aWNlcy1iYWNrdXBzLXZpZXc+CiAgICBgfXJlbmRlclBsYXRmb3JtRGV0YWlsVmlldygpe3JldHVybiB3YAogICAgICA8YnV0dG9uIGNsYXNzPSJiYWNrLWJ1dHRvbiIgQGNsaWNrPSR7KCk9PnRoaXMuY3VycmVudFZpZXc9Imxpc3QifT4KICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiIvPgogICAgICAgIDwvc3ZnPgogICAgICAgIEJhY2sgdG8gU2VydmljZXMKICAgICAgPC9idXR0b24+CgogICAgICA8c3otcGxhdGZvcm0tc2VydmljZS1kZXRhaWwtdmlldwogICAgICAgIC5zZXJ2aWNlPSR7dGhpcy5kZW1vUGxhdGZvcm1TZXJ2aWNlfQogICAgICAgIC5sb2dzPSR7dGhpcy5kZW1vUGxhdGZvcm1Mb2dzfQogICAgICAgIEBzdGFydD0keygpPT5jb25zb2xlLmxvZygiU3RhcnQiKX0KICAgICAgICBAc3RvcD0keygpPT5jb25zb2xlLmxvZygiU3RvcCIpfQogICAgICAgIEByZXN0YXJ0PSR7KCk9PmNvbnNvbGUubG9nKCJSZXN0YXJ0Iil9CiAgICAgID48L3N6LXBsYXRmb3JtLXNlcnZpY2UtZGV0YWlsLXZpZXc+CiAgICBgfWFzeW5jIG9uQWN0aXZhdGUoYil7dGhpcy5hcHB1aT1iLmFwcHVpLHRoaXMuYXBwdWkuc2V0Q29udGVudFRhYnMoW3trZXk6IkRvY2tlciBTZXJ2aWNlcyIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJsaXN0Iix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfSx7a2V5OiJQbGF0Zm9ybSBTZXJ2aWNlcyIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJwbGF0Zm9ybS1kZXRhaWwiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9LHtrZXk6IkJhY2t1cHMiLGFjdGlvbjpzKCgpPT57dGhpcy5jdXJyZW50Vmlldz0iYmFja3VwcyIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX1dKSx0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX11cGRhdGVTZWNvbmRhcnlNZW51KCl7dGhpcy5hcHB1aSYmdGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJTZXJ2aWNlcyIsZ3JvdXBzOlt7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiRGVwbG95IFNlcnZpY2UiLGljb25OYW1lOiJsdWNpZGU6UGx1cyIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJjcmVhdGUifSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiUmVmcmVzaCIsaWNvbk5hbWU6Imx1Y2lkZTpSZWZyZXNoQ3ciLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIlJlZnJlc2giKX0sImFjdGlvbiIpfV19LHtuYW1lOiJRdWljayBGaWx0ZXJzIixpdGVtczpbe2tleToiUnVubmluZyIsaWNvbk5hbWU6Imx1Y2lkZTpQbGF5IixiYWRnZToiMyIsYmFkZ2VWYXJpYW50OiJzdWNjZXNzIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJGaWx0ZXIgcnVubmluZyIpfSwiYWN0aW9uIil9LHtrZXk6IlN0b3BwZWQiLGljb25OYW1lOiJsdWNpZGU6U3F1YXJlIixiYWRnZToiMSIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiRmlsdGVyIHN0b3BwZWQiKX0sImFjdGlvbiIpfV19XX0pfW9uRGVhY3RpdmF0ZSgpe31zdGF0aWN7QTUocix0KX19O3JldHVybiB4PXJ9KSgpfSk7dmFyIGNldCxMRyxzUmEsdHBhPWYoKCk9PntsZSgpO2NuKCk7Y2V0PWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxMRz1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sc1JhPSgoKT0+e2xldCBhPVtpZSgic3otZGVtby12aWV3LW5ldHdvcmsiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXTt2YXIgdT1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pEZW1vVmlld05ldHdvcmsiKX1zdGF0aWN7cj10aGlzfXN0YXRpY3tsZXQgbT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZTeW1ib2wubWV0YWRhdGE/T2JqZWN0LmNyZWF0ZShpW1N5bWJvbC5tZXRhZGF0YV0/P251bGwpOnZvaWQgMDtvPVtLKCldLGQ9W0soKV0sY2V0KHRoaXMsbnVsbCxvLHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudFRhYiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4iY3VycmVudFRhYiJpbiB2LCJoYXMiKSxnZXQ6cyh2PT52LmN1cnJlbnRUYWIsImdldCIpLHNldDpzKCh2LHgpPT57di5jdXJyZW50VGFiPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sbixsKSxjZXQodGhpcyxudWxsLGQse2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJzZWxlY3RlZERvbWFpbiIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyh2PT4ic2VsZWN0ZWREb21haW4iaW4gdiwiaGFzIiksZ2V0OnModj0+di5zZWxlY3RlZERvbWFpbiwiZ2V0Iiksc2V0OnMoKHYseCk9Pnt2LnNlbGVjdGVkRG9tYWluPXh9LCJzZXQiKX0sbWV0YWRhdGE6bX0sYyxwKSxjZXQobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6bX0sbnVsbCx0KSx1PXI9ZS52YWx1ZSxtJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOm19KX1hcHB1aT1udWxsOyNlPUxHKHRoaXMsbiwicHJveHkiKTtnZXQgY3VycmVudFRhYigpe3JldHVybiB0aGlzLiNlfXNldCBjdXJyZW50VGFiKG0pe3RoaXMuI2U9bX1hc3luYyBvbkFjdGl2YXRlKG0pe3RoaXMuYXBwdWk9bS5hcHB1aSx0aGlzLmFwcHVpLnNldENvbnRlbnRUYWJzKFt7a2V5OiJSZXZlcnNlIFByb3h5IixhY3Rpb246cygoKT0+e3RoaXMuY3VycmVudFRhYj0icHJveHkiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9LHtrZXk6IkROUyBSZWNvcmRzIixhY3Rpb246cygoKT0+e3RoaXMuY3VycmVudFRhYj0iZG5zIix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfSx7a2V5OiJEb21haW5zIixhY3Rpb246cygoKT0+e3RoaXMuY3VycmVudFRhYj0iZG9tYWlucyIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX1dKSx0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX11cGRhdGVTZWNvbmRhcnlNZW51KCl7dGhpcy5hcHB1aSYmKHRoaXMuY3VycmVudFRhYj09PSJwcm94eSI/dGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJSZXZlcnNlIFByb3h5Iixncm91cHM6W3tuYW1lOiJBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJBZGQgUm91dGUiLGljb25OYW1lOiJsdWNpZGU6UGx1cyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiQWRkIHJvdXRlIil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJSZWZyZXNoIixpY29uTmFtZToibHVjaWRlOlJlZnJlc2hDdyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiUmVmcmVzaCIpfSwiYWN0aW9uIil9XX0se25hbWU6IlN0YXRpc3RpY3MiLGl0ZW1zOlt7dHlwZToiaGVhZGVyIixsYWJlbDoiNDIgQWN0aXZlIENvbm5lY3Rpb25zIn0se3R5cGU6ImhlYWRlciIsbGFiZWw6IjE1LDQyMCBSZXF1ZXN0cyBUb2RheSJ9XX1dfSk6dGhpcy5jdXJyZW50VGFiPT09ImRucyI/dGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJETlMgUmVjb3JkcyIsZ3JvdXBzOlt7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiQWRkIFJlY29yZCIsaWNvbk5hbWU6Imx1Y2lkZTpQbHVzIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJBZGQgcmVjb3JkIil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJJbXBvcnQgWm9uZSIsaWNvbk5hbWU6Imx1Y2lkZTpVcGxvYWQiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkltcG9ydCB6b25lIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiWm9uZXMiLGl0ZW1zOlt7a2V5OiJleGFtcGxlLmNvbSIsaWNvbk5hbWU6Imx1Y2lkZTpHbG9iZSIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiU2VsZWN0IGV4YW1wbGUuY29tIil9LCJhY3Rpb24iKX0se2tleToiZXhhbXBsZS5uZXQiLGljb25OYW1lOiJsdWNpZGU6R2xvYmUiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIlNlbGVjdCBleGFtcGxlLm5ldCIpfSwiYWN0aW9uIil9LHtrZXk6Im15YXBwLmlvIixpY29uTmFtZToibHVjaWRlOkdsb2JlIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJTZWxlY3QgbXlhcHAuaW8iKX0sImFjdGlvbiIpfV19XX0pOih0aGlzLmN1cnJlbnRUYWI9PT0iZG9tYWlucyJ8fHRoaXMuY3VycmVudFRhYj09PSJkb21haW4tZGV0YWlsIikmJnRoaXMuYXBwdWkuc2V0U2Vjb25kYXJ5TWVudSh7aGVhZGluZzoiRG9tYWlucyIsZ3JvdXBzOlt7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiQWRkIERvbWFpbiIsaWNvbk5hbWU6Imx1Y2lkZTpQbHVzIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJBZGQgZG9tYWluIil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJWZXJpZnkgQWxsIixpY29uTmFtZToibHVjaWRlOkNoZWNrQ2lyY2xlIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJWZXJpZnkgYWxsIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiQ2VydGlmaWNhdGVzIixpdGVtczpbe2tleToiVmFsaWQiLGljb25OYW1lOiJsdWNpZGU6U2hpZWxkQ2hlY2siLGJhZGdlOiIzIixiYWRnZVZhcmlhbnQ6InN1Y2Nlc3MiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciB2YWxpZCIpfSwiYWN0aW9uIil9LHtrZXk6IkV4cGlyaW5nIFNvb24iLGljb25OYW1lOiJsdWNpZGU6QWxlcnRUcmlhbmdsZSIsYmFkZ2U6IjEiLGJhZGdlVmFyaWFudDoid2FybmluZyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiRmlsdGVyIGV4cGlyaW5nIil9LCJhY3Rpb24iKX1dfV19KSl9b25EZWFjdGl2YXRlKCl7fSN0PShMRyh0aGlzLGwpLExHKHRoaXMsYyxudWxsKSk7Z2V0IHNlbGVjdGVkRG9tYWluKCl7cmV0dXJuIHRoaXMuI3R9c2V0IHNlbGVjdGVkRG9tYWluKG0pe3RoaXMuI3Q9bX1kZW1vUHJveHlSb3V0ZXM9KExHKHRoaXMscCksW3tpZDoiMSIsZG9tYWluOiJhcGkuZXhhbXBsZS5jb20iLHRhcmdldDoiaHR0cDovL2FwaS1nYXRld2F5OjMwMDAiLHNzbDohMCxzdGF0dXM6ImFjdGl2ZSJ9LHtpZDoiMiIsZG9tYWluOiJhcHAuZXhhbXBsZS5jb20iLHRhcmdldDoiaHR0cDovL2Zyb250ZW5kOjgwODAiLHNzbDohMCxzdGF0dXM6ImFjdGl2ZSJ9LHtpZDoiMyIsZG9tYWluOiJhZG1pbi5leGFtcGxlLmNvbSIsdGFyZ2V0OiJodHRwOi8vYWRtaW4tcGFuZWw6NDAwMCIsc3NsOiEwLHN0YXR1czoiYWN0aXZlIn0se2lkOiI0Iixkb21haW46ImxlZ2FjeS5leGFtcGxlLmNvbSIsdGFyZ2V0OiJodHRwOi8vbGVnYWN5OjUwMDAiLHNzbDohMSxzdGF0dXM6ImluYWN0aXZlIn1dKTtkZW1vQWNjZXNzTG9ncz1be3RpbWVzdGFtcDoiMTQ6MzA6MjIiLG1ldGhvZDoiR0VUIixwYXRoOiIvYXBpL3VzZXJzIixzdGF0dXM6MjAwLGR1cmF0aW9uOiI0NW1zIixpcDoiMTkyLjE2OC4xLjEwMCJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixtZXRob2Q6IlBPU1QiLHBhdGg6Ii9hcGkvb3JkZXJzIixzdGF0dXM6MjAxLGR1cmF0aW9uOiIxMjBtcyIsaXA6IjE5Mi4xNjguMS4xMDUifSx7dGltZXN0YW1wOiIxNDozMDoyMCIsbWV0aG9kOiJHRVQiLHBhdGg6Ii9hcGkvcHJvZHVjdHMiLHN0YXR1czoyMDAsZHVyYXRpb246Ijg5bXMiLGlwOiIxOTIuMTY4LjEuMTAwIn0se3RpbWVzdGFtcDoiMTQ6MzA6MTkiLG1ldGhvZDoiREVMRVRFIixwYXRoOiIvYXBpL2NhY2hlIixzdGF0dXM6MjA0LGR1cmF0aW9uOiIxMm1zIixpcDoiMTkyLjE2OC4xLjUwIn0se3RpbWVzdGFtcDoiMTQ6MzA6MTgiLG1ldGhvZDoiR0VUIixwYXRoOiIvaGVhbHRoIixzdGF0dXM6MjAwLGR1cmF0aW9uOiI1bXMiLGlwOiIxMC4wLjAuMSJ9XTtkZW1vRG5zUmVjb3Jkcz1be2lkOiIxIix0eXBlOiJBIixuYW1lOiJAIix2YWx1ZToiMTkyLjE2OC4xLjEwMCIsdHRsOjM2MDAsem9uZToiZXhhbXBsZS5jb20ifSx7aWQ6IjIiLHR5cGU6IkEiLG5hbWU6ImFwaSIsdmFsdWU6IjE5Mi4xNjguMS4xMDAiLHR0bDozNjAwLHpvbmU6ImV4YW1wbGUuY29tIn0se2lkOiIzIix0eXBlOiJDTkFNRSIsbmFtZToid3d3Iix2YWx1ZToiZXhhbXBsZS5jb20iLHR0bDozNjAwLHpvbmU6ImV4YW1wbGUuY29tIn0se2lkOiI0Iix0eXBlOiJNWCIsbmFtZToiQCIsdmFsdWU6Im1haWwuZXhhbXBsZS5jb20iLHR0bDozNjAwLHpvbmU6ImV4YW1wbGUuY29tIixwcmlvcml0eToxMH0se2lkOiI1Iix0eXBlOiJUWFQiLG5hbWU6IkAiLHZhbHVlOiJ2PXNwZjEgaW5jbHVkZTpfc3BmLmV4YW1wbGUuY29tIH5hbGwiLHR0bDozNjAwLHpvbmU6ImV4YW1wbGUuY29tIn1dO2RlbW9Eb21haW5zPVt7aWQ6IjEiLG5hbWU6ImV4YW1wbGUuY29tIixzdGF0dXM6ImFjdGl2ZSIsc3NsOiEwLHNzbEV4cGlyeToiMjAyNC0wNC0xNSIsZG5zUHJvdmlkZXI6IkNsb3VkZmxhcmUiLHJlY29yZENvdW50OjEyfSx7aWQ6IjIiLG5hbWU6ImFwaS5leGFtcGxlLmNvbSIsc3RhdHVzOiJhY3RpdmUiLHNzbDohMCxzc2xFeHBpcnk6IjIwMjQtMDUtMjAiLGRuc1Byb3ZpZGVyOiJDbG91ZGZsYXJlIixyZWNvcmRDb3VudDozfSx7aWQ6IjMiLG5hbWU6InN0YWdpbmcuZXhhbXBsZS5jb20iLHN0YXR1czoicGVuZGluZyIsc3NsOiExLHNzbEV4cGlyeTpudWxsLGRuc1Byb3ZpZGVyOiJDbG91ZGZsYXJlIixyZWNvcmRDb3VudDoyfSx7aWQ6IjQiLG5hbWU6ImxlZ2FjeS5leGFtcGxlLm5ldCIsc3RhdHVzOiJhY3RpdmUiLHNzbDohMCxzc2xFeHBpcnk6IjIwMjQtMDItMTAiLGRuc1Byb3ZpZGVyOiJNYW51YWwiLHJlY29yZENvdW50OjV9XTtkZW1vRG9tYWluRGV0YWlsPXtpZDoiMSIsbmFtZToiZXhhbXBsZS5jb20iLHN0YXR1czoiYWN0aXZlIix2ZXJpZmllZDohMCxjcmVhdGVkQXQ6IjIwMjQtMDEtMTAiLHByb3h5Um91dGVzOlsiL2FwaS8qIiwiL2FwcC8qIiwiL2FkbWluLyoiXX07ZGVtb0NlcnRpZmljYXRlPXtpZDoiMSIsZG9tYWluOiJleGFtcGxlLmNvbSIsaXNzdWVyOiJMZXQncyBFbmNyeXB0Iix2YWxpZEZyb206IjIwMjQtMDEtMTAiLHZhbGlkVW50aWw6IjIwMjQtMDQtMTAiLGRheXNSZW1haW5pbmc6NDUsc3RhdHVzOiJ2YWxpZCIsYXV0b1JlbmV3OiEwLGNoYWluOlsiUjMiLCJJU1JHIFJvb3QgWDEiXX07ZGVtb0RvbWFpbkRuc1JlY29yZHM9W3tpZDoiMSIsdHlwZToiQSIsbmFtZToiQCIsdmFsdWU6IjE5Mi4xNjguMS4xMDAiLHR0bDozNjAwfSx7aWQ6IjIiLHR5cGU6IkNOQU1FIixuYW1lOiJ3d3ciLHZhbHVlOiJleGFtcGxlLmNvbSIsdHRsOjM2MDB9LHtpZDoiMyIsdHlwZToiTVgiLG5hbWU6IkAiLHZhbHVlOiJtYWlsLmV4YW1wbGUuY29tIix0dGw6MzYwMCxwcmlvcml0eToxMH0se2lkOiI0Iix0eXBlOiJUWFQiLG5hbWU6IkAiLHZhbHVlOiJ2PXNwZjEgaW5jbHVkZTpfc3BmLmV4YW1wbGUuY29tIH5hbGwiLHR0bDozNjAwfV07c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5wYWdlLWhlYWRlciB7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQoKICAgICAgLnBhZ2UtdGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMjRweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgICAgbWFyZ2luOiAwIDAgOHB4IDA7CiAgICAgIH0KCiAgICAgIC5wYWdlLXN1YnRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC50YWJzIHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGdhcDogNHB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgfQoKICAgICAgLnRhYiB7CiAgICAgICAgcGFkZGluZzogMTBweCAxNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMjAwbXMgZWFzZTsKICAgICAgfQoKICAgICAgLnRhYjpob3ZlciB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRhYi5hY3RpdmUgewogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KCiAgICAgIC50YWIuYWN0aXZlOjphZnRlciB7CiAgICAgICAgY29udGVudDogJyc7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIGJvdHRvbTogLTFweDsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIHJpZ2h0OiAwOwogICAgICAgIGhlaWdodDogMnB4OwogICAgICAgIGJhY2tncm91bmQ6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxcHggMXB4IDAgMDsKICAgICAgfQoKICAgICAgLmJhY2stYnV0dG9uIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogNnB4OwogICAgICAgIHBhZGRpbmc6IDZweCAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR7aC5iZFRoZW1lKCIjZTRlNGU3IiwiIzI3MjcyYSIpfTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzcxNzE3YSIsIiNhMWExYWEiKX07CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5iYWNrLWJ1dHRvbjpob3ZlciB7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiNmNGY0ZjUiLCIjMTgxODFiIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiIzE4MTgxYiIsIiNmYWZhZmEiKX07CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB0aGlzLmN1cnJlbnRUYWI9PT0iZG9tYWluLWRldGFpbCI/dGhpcy5yZW5kZXJEb21haW5EZXRhaWwoKTp3YAogICAgICAke3RoaXMuY3VycmVudFRhYj09PSJwcm94eSI/dGhpcy5yZW5kZXJQcm94eVZpZXcoKToiIn0KICAgICAgJHt0aGlzLmN1cnJlbnRUYWI9PT0iZG5zIj90aGlzLnJlbmRlckRuc1ZpZXcoKToiIn0KICAgICAgJHt0aGlzLmN1cnJlbnRUYWI9PT0iZG9tYWlucyI/dGhpcy5yZW5kZXJEb21haW5zVmlldygpOiIifQogICAgYH1yZW5kZXJQcm94eVZpZXcoKXtyZXR1cm4gd2AKICAgICAgPHN6LW5ldHdvcmstcHJveHktdmlldwogICAgICAgIC5yb3V0ZXM9JHt0aGlzLmRlbW9Qcm94eVJvdXRlc30KICAgICAgICAuYWNjZXNzTG9ncz0ke3RoaXMuZGVtb0FjY2Vzc0xvZ3N9CiAgICAgICAgLnN0YXRzPSR7e2FjdGl2ZUNvbm5lY3Rpb25zOjQyLHJlcXVlc3RzVG9kYXk6MTU0MjAsYnl0ZXNUcmFuc2ZlcnJlZDoiMi40IEdCIn19CiAgICAgICAgQGFkZC1yb3V0ZT0keygpPT5jb25zb2xlLmxvZygiQWRkIHJvdXRlIil9CiAgICAgICAgQGVkaXQtcm91dGU9JHttPT5jb25zb2xlLmxvZygiRWRpdCByb3V0ZToiLG0uZGV0YWlsKX0KICAgICAgICBAZGVsZXRlLXJvdXRlPSR7bT0+Y29uc29sZS5sb2coIkRlbGV0ZSByb3V0ZToiLG0uZGV0YWlsKX0KICAgICAgPjwvc3otbmV0d29yay1wcm94eS12aWV3PgogICAgYH1yZW5kZXJEbnNWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxzei1uZXR3b3JrLWRucy12aWV3CiAgICAgICAgLnJlY29yZHM9JHt0aGlzLmRlbW9EbnNSZWNvcmRzfQogICAgICAgIC56b25lcz0ke1siZXhhbXBsZS5jb20iLCJleGFtcGxlLm5ldCIsIm15YXBwLmlvIl19CiAgICAgICAgLnNlbGVjdGVkWm9uZT0keyJleGFtcGxlLmNvbSJ9CiAgICAgICAgQGFkZC1yZWNvcmQ9JHsoKT0+Y29uc29sZS5sb2coIkFkZCByZWNvcmQiKX0KICAgICAgICBAZWRpdC1yZWNvcmQ9JHttPT5jb25zb2xlLmxvZygiRWRpdCByZWNvcmQ6IixtLmRldGFpbCl9CiAgICAgICAgQGRlbGV0ZS1yZWNvcmQ9JHttPT5jb25zb2xlLmxvZygiRGVsZXRlIHJlY29yZDoiLG0uZGV0YWlsKX0KICAgICAgICBAY2hhbmdlLXpvbmU9JHttPT5jb25zb2xlLmxvZygiQ2hhbmdlIHpvbmU6IixtLmRldGFpbCl9CiAgICAgID48L3N6LW5ldHdvcmstZG5zLXZpZXc+CiAgICBgfXJlbmRlckRvbWFpbnNWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxzei1uZXR3b3JrLWRvbWFpbnMtdmlldwogICAgICAgIC5kb21haW5zPSR7dGhpcy5kZW1vRG9tYWluc30KICAgICAgICBAYWRkLWRvbWFpbj0keygpPT5jb25zb2xlLmxvZygiQWRkIGRvbWFpbiIpfQogICAgICAgIEB2aWV3LWRvbWFpbj0ke209Pnt0aGlzLnNlbGVjdGVkRG9tYWluPW0uZGV0YWlsLHRoaXMuY3VycmVudFRhYj0iZG9tYWluLWRldGFpbCJ9fQogICAgICAgIEByZW5ldy1zc2w9JHttPT5jb25zb2xlLmxvZygiUmVuZXcgU1NMOiIsbS5kZXRhaWwpfQogICAgICAgIEBkZWxldGUtZG9tYWluPSR7bT0+Y29uc29sZS5sb2coIkRlbGV0ZSBkb21haW46IixtLmRldGFpbCl9CiAgICAgID48L3N6LW5ldHdvcmstZG9tYWlucy12aWV3PgogICAgYH1yZW5kZXJEb21haW5EZXRhaWwoKXtyZXR1cm4gd2AKICAgICAgPGJ1dHRvbiBjbGFzcz0iYmFjay1idXR0b24iIEBjbGljaz0keygpPT50aGlzLmN1cnJlbnRUYWI9ImRvbWFpbnMifT4KICAgICAgICA8c3ZnIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiIvPgogICAgICAgIDwvc3ZnPgogICAgICAgIEJhY2sgdG8gRG9tYWlucwogICAgICA8L2J1dHRvbj4KCiAgICAgIDxzei1kb21haW4tZGV0YWlsLXZpZXcKICAgICAgICAuZG9tYWluPSR7dGhpcy5kZW1vRG9tYWluRGV0YWlsfQogICAgICAgIC5jZXJ0aWZpY2F0ZT0ke3RoaXMuZGVtb0NlcnRpZmljYXRlfQogICAgICAgIC5kbnNSZWNvcmRzPSR7dGhpcy5kZW1vRG9tYWluRG5zUmVjb3Jkc30KICAgICAgICBAdmVyaWZ5LWRvbWFpbj0keygpPT5jb25zb2xlLmxvZygiVmVyaWZ5IGRvbWFpbiIpfQogICAgICAgIEBkZWxldGUtZG9tYWluPSR7KCk9Pntjb25zb2xlLmxvZygiRGVsZXRlIGRvbWFpbiIpLHRoaXMuY3VycmVudFRhYj0iZG9tYWlucyJ9fQogICAgICAgIEByZW5ldy1jZXJ0aWZpY2F0ZT0keygpPT5jb25zb2xlLmxvZygiUmVuZXcgY2VydGlmaWNhdGUiKX0KICAgICAgICBAYWRkLWRucy1yZWNvcmQ9JHsoKT0+Y29uc29sZS5sb2coIkFkZCBETlMgcmVjb3JkIil9CiAgICAgICAgQGVkaXQtZG5zLXJlY29yZD0ke209PmNvbnNvbGUubG9nKCJFZGl0IEROUyByZWNvcmQ6IixtLmRldGFpbCl9CiAgICAgICAgQGRlbGV0ZS1kbnMtcmVjb3JkPSR7bT0+Y29uc29sZS5sb2coIkRlbGV0ZSBETlMgcmVjb3JkOiIsbS5kZXRhaWwpfQogICAgICA+PC9zei1kb21haW4tZGV0YWlsLXZpZXc+CiAgICBgfXN0YXRpY3tMRyhyLHQpfX07cmV0dXJuIHU9cn0pKCl9KTt2YXIgYXBhLGRldCxpUmEscnBhPWYoKCk9PntsZSgpO2NuKCk7YXBhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxkZXQ9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGlSYT0oKCk9PntsZXQgYT1baWUoInN6LWRlbW8tdmlldy1yZWdpc3RyaWVzIildLGUsdD1bXSxyLGk9cGUsbyxuPVtdLGw9W107dmFyIGQ9Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RGVtb1ZpZXdSZWdpc3RyaWVzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxhcGEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VGFiIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJjdXJyZW50VGFiImluIHAsImhhcyIpLGdldDpzKHA9PnAuY3VycmVudFRhYiwiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLmN1cnJlbnRUYWI9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLGFwYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfWFwcHVpPW51bGw7I2U9ZGV0KHRoaXMsbiwib25lYm94Iik7Z2V0IGN1cnJlbnRUYWIoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY3VycmVudFRhYihjKXt0aGlzLiNlPWN9YXN5bmMgb25BY3RpdmF0ZShjKXt0aGlzLmFwcHVpPWMuYXBwdWksdGhpcy5hcHB1aS5zZXRDb250ZW50VGFicyhbe2tleToiUmVnaXN0cnkgQWR2ZXJ0aXNlbWVudCIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRUYWI9Im9uZWJveCIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX0se2tleToiRXh0ZXJuYWwgUmVnaXN0cmllcyIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRUYWI9ImV4dGVybmFsIix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfV0pLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfXVwZGF0ZVNlY29uZGFyeU1lbnUoKXt0aGlzLmFwcHVpJiYodGhpcy5jdXJyZW50VGFiPT09Im9uZWJveCI/dGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJSZWdpc3RyeSBBZHZlcnRpc2VtZW50Iixncm91cHM6W3tuYW1lOiJBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJQdXNoIEltYWdlIixpY29uTmFtZToibHVjaWRlOlVwbG9hZCIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiUHVzaCBpbWFnZSIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLHZhcmlhbnQ6ImRhbmdlciIsa2V5OiJHYXJiYWdlIENvbGxlY3QiLGljb25OYW1lOiJsdWNpZGU6VHJhc2gyIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJHQyIpfSwiYWN0aW9uIil9XX0se25hbWU6IlN0YXRpc3RpY3MiLGl0ZW1zOlt7dHlwZToiaGVhZGVyIixsYWJlbDoiNCBJbWFnZXMifSx7dHlwZToiaGVhZGVyIixsYWJlbDoiNjQwIE1CIFRvdGFsIn1dfV19KTp0aGlzLmFwcHVpLnNldFNlY29uZGFyeU1lbnUoe2hlYWRpbmc6IkV4dGVybmFsIFJlZ2lzdHJpZXMiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IkFkZCBSZWdpc3RyeSIsaWNvbk5hbWU6Imx1Y2lkZTpQbHVzIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJBZGQgcmVnaXN0cnkiKX0sImFjdGlvbiIpfSx7dHlwZToiYWN0aW9uIixrZXk6IlRlc3QgQWxsIixpY29uTmFtZToibHVjaWRlOkNoZWNrQ2lyY2xlIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJUZXN0IGFsbCIpfSwiYWN0aW9uIil9XX0se25hbWU6IkNvbm5lY3RlZCIsaXRlbXM6W3trZXk6IkRvY2tlciBIdWIiLGljb25OYW1lOiJsdWNpZGU6Qm94IixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJEb2NrZXIgSHViIil9LCJhY3Rpb24iKX0se2tleToiR0hDUiIsaWNvbk5hbWU6Imx1Y2lkZTpHaXRodWIiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkdIQ1IiKX0sImFjdGlvbiIpfV19XX0pKX1vbkRlYWN0aXZhdGUoKXt9ZGVtb09uZWJveEltYWdlcz0oZGV0KHRoaXMsbCksW3tpZDoiMSIsbmFtZToiYXBpLWdhdGV3YXkiLHRhZ3M6WyJsYXRlc3QiLCJ2Mi4xLjAiLCJ2Mi4wLjAiXSxzaXplOiIyNTYgTUIiLHVwZGF0ZWQ6IjIwMjQtMDEtMjAiLHB1bGxzOjE0Mn0se2lkOiIyIixuYW1lOiJmcm9udGVuZCIsdGFnczpbImxhdGVzdCIsInYxLjUuMCJdLHNpemU6IjEyOCBNQiIsdXBkYXRlZDoiMjAyNC0wMS0xOSIscHVsbHM6ODl9LHtpZDoiMyIsbmFtZToid29ya2VyLXNlcnZpY2UiLHRhZ3M6WyJsYXRlc3QiXSxzaXplOiI2NCBNQiIsdXBkYXRlZDoiMjAyNC0wMS0xOCIscHVsbHM6NTZ9LHtpZDoiNCIsbmFtZToiYWRtaW4tcGFuZWwiLHRhZ3M6WyJsYXRlc3QiLCJ2My4wLjAiLCJ2Mi45LjAiXSxzaXplOiIxOTIgTUIiLHVwZGF0ZWQ6IjIwMjQtMDEtMTciLHB1bGxzOjM0fV0pO2RlbW9FeHRlcm5hbFJlZ2lzdHJpZXM9W3tpZDoiMSIsbmFtZToiRG9ja2VyIEh1YiIsdXJsOiJkb2NrZXIuaW8iLHN0YXR1czoiY29ubmVjdGVkIixpbWFnZXM6MTJ9LHtpZDoiMiIsbmFtZToiR2l0SHViIENvbnRhaW5lciBSZWdpc3RyeSIsdXJsOiJnaGNyLmlvIixzdGF0dXM6ImNvbm5lY3RlZCIsaW1hZ2VzOjh9LHtpZDoiMyIsbmFtZToiQVdTIEVDUiIsdXJsOiIxMjM0NTY3ODkuZGtyLmVjci51cy1lYXN0LTEuYW1hem9uYXdzLmNvbSIsc3RhdHVzOiJlcnJvciIsaW1hZ2VzOjB9XTtzdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnBhZ2UtaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAucGFnZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW46IDAgMCA4cHggMDsKICAgICAgfQoKICAgICAgLnBhZ2Utc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLnRhYnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZ2FwOiA0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHtoLmJkVGhlbWUoIiNlNGU0ZTciLCIjMjcyNzJhIil9OwogICAgICB9CgogICAgICAudGFiIHsKICAgICAgICBwYWRkaW5nOiAxMHB4IDE2cHg7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjNzE3MTdhIiwiI2ExYTFhYSIpfTsKICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgY3Vyc29yOiBwb2ludGVyOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAudGFiOmhvdmVyIHsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICB9CgogICAgICAudGFiLmFjdGl2ZSB7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgfQoKICAgICAgLnRhYi5hY3RpdmU6OmFmdGVyIHsKICAgICAgICBjb250ZW50OiAnJzsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgYm90dG9tOiAtMXB4OwogICAgICAgIGxlZnQ6IDA7CiAgICAgICAgcmlnaHQ6IDA7CiAgICAgICAgaGVpZ2h0OiAycHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDFweCAxcHggMCAwOwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgJHt0aGlzLmN1cnJlbnRUYWI9PT0ib25lYm94Ij93YAogICAgICAgIDxzei1yZWdpc3RyeS1hZHZlcnRpc2VtZW50CiAgICAgICAgICAuaW1hZ2VzPSR7dGhpcy5kZW1vT25lYm94SW1hZ2VzfQogICAgICAgICAgLnN0YXRzPSR7e3RvdGFsSW1hZ2VzOjQsdG90YWxTaXplOiI2NDAgTUIiLHRvdGFsUHVsbHM6MzIxfX0KICAgICAgICAgIEB2aWV3LWltYWdlPSR7Yz0+Y29uc29sZS5sb2coIlZpZXcgaW1hZ2U6IixjLmRldGFpbCl9CiAgICAgICAgICBAZGVsZXRlLWltYWdlPSR7Yz0+Y29uc29sZS5sb2coIkRlbGV0ZSBpbWFnZToiLGMuZGV0YWlsKX0KICAgICAgICAgIEBkZWxldGUtdGFnPSR7Yz0+Y29uc29sZS5sb2coIkRlbGV0ZSB0YWc6IixjLmRldGFpbCl9CiAgICAgICAgPjwvc3otcmVnaXN0cnktYWR2ZXJ0aXNlbWVudD4KICAgICAgYDp3YAogICAgICAgIDxzei1yZWdpc3RyeS1leHRlcm5hbC12aWV3CiAgICAgICAgICAucmVnaXN0cmllcz0ke3RoaXMuZGVtb0V4dGVybmFsUmVnaXN0cmllc30KICAgICAgICAgIEBhZGQtcmVnaXN0cnk9JHsoKT0+Y29uc29sZS5sb2coIkFkZCByZWdpc3RyeSIpfQogICAgICAgICAgQGVkaXQtcmVnaXN0cnk9JHtjPT5jb25zb2xlLmxvZygiRWRpdCByZWdpc3RyeToiLGMuZGV0YWlsKX0KICAgICAgICAgIEBkZWxldGUtcmVnaXN0cnk9JHtjPT5jb25zb2xlLmxvZygiRGVsZXRlIHJlZ2lzdHJ5OiIsYy5kZXRhaWwpfQogICAgICAgICAgQHRlc3QtY29ubmVjdGlvbj0ke2M9PmNvbnNvbGUubG9nKCJUZXN0IGNvbm5lY3Rpb246IixjLmRldGFpbCl9CiAgICAgICAgPjwvc3otcmVnaXN0cnktZXh0ZXJuYWwtdmlldz4KICAgICAgYH0KICAgIGB9c3RhdGlje2RldChyLHQpfX07cmV0dXJuIGQ9cn0pKCl9KTt2YXIgb1JhLG5SYSxsUmEsc3BhPWYoKCk9PntsZSgpO2NuKCk7b1JhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSxuUmE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LGxSYT0oKCk9PntsZXQgYT1baWUoInN6LWRlbW8tdmlldy10b2tlbnMiKV0sZSx0PVtdLHIsaT1wZTt2YXIgbz1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pEZW1vVmlld1Rva2VucyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBuPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO29SYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpufSxudWxsLHQpLG89cj1lLnZhbHVlLG4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pfWFwcHVpPW51bGw7YXN5bmMgb25BY3RpdmF0ZShuKXt0aGlzLmFwcHVpPW4uYXBwdWksdGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJUb2tlbnMiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IkNyZWF0ZSBHbG9iYWwgVG9rZW4iLGljb25OYW1lOiJsdWNpZGU6UGx1cyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiQ3JlYXRlIGdsb2JhbCB0b2tlbiIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiQ3JlYXRlIENJIFRva2VuIixpY29uTmFtZToibHVjaWRlOkdpdEJyYW5jaCIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiQ3JlYXRlIENJIHRva2VuIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiVG9rZW4gVHlwZXMiLGl0ZW1zOlt7a2V5OiJHbG9iYWwgVG9rZW5zIixpY29uTmFtZToibHVjaWRlOktleSIsYmFkZ2U6IjMiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciBnbG9iYWwiKX0sImFjdGlvbiIpfSx7a2V5OiJDSSBUb2tlbnMiLGljb25OYW1lOiJsdWNpZGU6Q3B1IixiYWRnZToiMyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiRmlsdGVyIENJIil9LCJhY3Rpb24iKX1dfV19KX1vbkRlYWN0aXZhdGUoKXt9ZGVtb0dsb2JhbFRva2Vucz1be2lkOiIxIixuYW1lOiJDSS9DRCBQaXBlbGluZSIsdHlwZToiZ2xvYmFsIixjcmVhdGVkQXQ6IjIwMjQtMDEtMTUiLGxhc3RVc2VkOiIyMDI0LTAxLTIwIn0se2lkOiIyIixuYW1lOiJEZXZlbG9wbWVudCIsdHlwZToiZ2xvYmFsIixjcmVhdGVkQXQ6IjIwMjQtMDEtMTAifSx7aWQ6IjMiLG5hbWU6IlByb2R1Y3Rpb24gRGVwbG95Iix0eXBlOiJnbG9iYWwiLGNyZWF0ZWRBdDoiMjAyNC0wMS0wNSIsbGFzdFVzZWQ6IjIwMjQtMDEtMTkifV07ZGVtb0NpVG9rZW5zPVt7aWQ6IjQiLG5hbWU6ImFwaS1nYXRld2F5LWNpIix0eXBlOiJjaSIsc2VydmljZToiYXBpLWdhdGV3YXkiLGNyZWF0ZWRBdDoiMjAyNC0wMS0xOCIsbGFzdFVzZWQ6IjIwMjQtMDEtMjAifSx7aWQ6IjUiLG5hbWU6ImZyb250ZW5kLWNpIix0eXBlOiJjaSIsc2VydmljZToiZnJvbnRlbmQiLGNyZWF0ZWRBdDoiMjAyNC0wMS0xMiIsbGFzdFVzZWQ6IjIwMjQtMDEtMTkifSx7aWQ6IjYiLG5hbWU6Indvcmtlci1zZXJ2aWNlLWNpIix0eXBlOiJjaSIsc2VydmljZToid29ya2VyLXNlcnZpY2UiLGNyZWF0ZWRBdDoiMjAyNC0wMS0wOCJ9XTtzdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnBhZ2UtaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAucGFnZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW46IDAgMCA4cHggMDsKICAgICAgfQoKICAgICAgLnBhZ2Utc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InBhZ2UtaGVhZGVyIj4KICAgICAgICA8aDEgY2xhc3M9InBhZ2UtdGl0bGUiPlRva2VuczwvaDE+CiAgICAgICAgPHAgY2xhc3M9InBhZ2Utc3VidGl0bGUiPk1hbmFnZSByZWdpc3RyeSBhY2Nlc3MgdG9rZW5zIGZvciBDSS9DRCBwaXBlbGluZXM8L3A+CiAgICAgIDwvZGl2PgoKICAgICAgPHN6LXRva2Vucy12aWV3CiAgICAgICAgLmdsb2JhbFRva2Vucz0ke3RoaXMuZGVtb0dsb2JhbFRva2Vuc30KICAgICAgICAuY2lUb2tlbnM9JHt0aGlzLmRlbW9DaVRva2Vuc30KICAgICAgICBAY3JlYXRlPSR7bj0+Y29uc29sZS5sb2coIkNyZWF0ZSB0b2tlbjoiLG4uZGV0YWlsKX0KICAgICAgICBAY29weT0ke249PmNvbnNvbGUubG9nKCJDb3B5IHRva2VuOiIsbi5kZXRhaWwpfQogICAgICAgIEByZWdlbmVyYXRlPSR7bj0+Y29uc29sZS5sb2coIlJlZ2VuZXJhdGUgdG9rZW46IixuLmRldGFpbCl9CiAgICAgICAgQGRlbGV0ZT0ke249PmNvbnNvbGUubG9nKCJEZWxldGUgdG9rZW46IixuLmRldGFpbCl9CiAgICAgID48L3N6LXRva2Vucy12aWV3PgogICAgYH1zdGF0aWN7blJhKHIsdCl9fTtyZXR1cm4gbz1yfSkoKX0pO3ZhciBjUmEsZFJhLHVSYSxpcGE9ZigoKT0+e2xlKCk7Y24oKTtjUmE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LGRSYT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sdVJhPSgoKT0+e2xldCBhPVtpZSgic3otZGVtby12aWV3LXNldHRpbmdzIildLGUsdD1bXSxyLGk9cGU7dmFyIG89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RGVtb1ZpZXdTZXR0aW5ncyIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBuPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO2NSYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpufSxudWxsLHQpLG89cj1lLnZhbHVlLG4mJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6bn0pfWFwcHVpPW51bGw7YXN5bmMgb25BY3RpdmF0ZShuKXt0aGlzLmFwcHVpPW4uYXBwdWksdGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJTZXR0aW5ncyIsZ3JvdXBzOlt7bmFtZToiQ2F0ZWdvcmllcyIsaXRlbXM6W3trZXk6IkdlbmVyYWwiLGljb25OYW1lOiJsdWNpZGU6U2V0dGluZ3MiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkdlbmVyYWwgc2V0dGluZ3MiKX0sImFjdGlvbiIpfSx7a2V5OiJOZXR3b3JrIixpY29uTmFtZToibHVjaWRlOk5ldHdvcmsiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIk5ldHdvcmsgc2V0dGluZ3MiKX0sImFjdGlvbiIpfSx7a2V5OiJTZWN1cml0eSIsaWNvbk5hbWU6Imx1Y2lkZTpTaGllbGQiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIlNlY3VyaXR5IHNldHRpbmdzIil9LCJhY3Rpb24iKX0se2tleToiQ2VydGlmaWNhdGVzIixpY29uTmFtZToibHVjaWRlOkZpbGVCYWRnZSIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiQ2VydGlmaWNhdGUgc2V0dGluZ3MiKX0sImFjdGlvbiIpfV19LHtuYW1lOiJBY3Rpb25zIixpdGVtczpbe3R5cGU6ImFjdGlvbiIsa2V5OiJFeHBvcnQgQ29uZmlnIixpY29uTmFtZToibHVjaWRlOkRvd25sb2FkIixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJFeHBvcnQgY29uZmlnIil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJJbXBvcnQgQ29uZmlnIixpY29uTmFtZToibHVjaWRlOlVwbG9hZCIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiSW1wb3J0IGNvbmZpZyIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLHZhcmlhbnQ6ImRhbmdlciIsa2V5OiJSZXNldCB0byBEZWZhdWx0IixpY29uTmFtZToibHVjaWRlOlJvdGF0ZUNjdyIsY29uZmlybU1lc3NhZ2U6IkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZXNldCBhbGwgc2V0dGluZ3MgdG8gZGVmYXVsdD8iLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIlJlc2V0IHNldHRpbmdzIil9LCJhY3Rpb24iKX1dfV19KX1vbkRlYWN0aXZhdGUoKXt9ZGVtb1NldHRpbmdzPXtkYXJrTW9kZTohMCxjbG91ZGZsYXJlVG9rZW46IiIsY2xvdWRmbGFyZVpvbmVJZDoiIixhdXRvUmVuZXdDZXJ0czohMCxyZW5ld2FsVGhyZXNob2xkOjMwLGFjbWVFbWFpbDoiYWRtaW5Ac2VydmUuem9uZSIsaHR0cFBvcnQ6ODAsaHR0cHNQb3J0OjQ0Myxmb3JjZUh0dHBzOiEwfTtzdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLnBhZ2UtaGVhZGVyIHsKICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogICAgICB9CgogICAgICAucGFnZS10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTgxODFiIiwiI2ZhZmFmYSIpfTsKICAgICAgICBtYXJnaW46IDAgMCA4cHggMDsKICAgICAgfQoKICAgICAgLnBhZ2Utc3VidGl0bGUgewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogJHtoLmJkVGhlbWUoIiM3MTcxN2EiLCIjYTFhMWFhIil9OwogICAgICAgIG1hcmdpbjogMDsKICAgICAgfQoKICAgICAgLnNldHRpbmdzLWNvbnRhaW5lciB7CiAgICAgICAgbWF4LXdpZHRoOiA4MDBweDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkaXYgY2xhc3M9InBhZ2UtaGVhZGVyIj4KICAgICAgICA8aDEgY2xhc3M9InBhZ2UtdGl0bGUiPlNldHRpbmdzPC9oMT4KICAgICAgICA8cCBjbGFzcz0icGFnZS1zdWJ0aXRsZSI+Q29uZmlndXJlIHlvdXIgb25lYm94IGluc3RhbmNlPC9wPgogICAgICA8L2Rpdj4KCiAgICAgIDxkaXYgY2xhc3M9InNldHRpbmdzLWNvbnRhaW5lciI+CiAgICAgICAgPHN6LXNldHRpbmdzLXZpZXcKICAgICAgICAgIC5zZXR0aW5ncz0ke3RoaXMuZGVtb1NldHRpbmdzfQogICAgICAgICAgY3VycmVudFVzZXI9ImFkbWluIgogICAgICAgICAgQHNldHRpbmctY2hhbmdlPSR7bj0+Y29uc29sZS5sb2coIlNldHRpbmcgY2hhbmdlOiIsbi5kZXRhaWwpfQogICAgICAgICAgQGNoYW5nZS1wYXNzd29yZD0ke249PmNvbnNvbGUubG9nKCJDaGFuZ2UgcGFzc3dvcmQ6IixuLmRldGFpbCl9CiAgICAgICAgICBAcmVzZXQ9JHsoKT0+Y29uc29sZS5sb2coIlJlc2V0IHNldHRpbmdzIil9CiAgICAgICAgICBAc2F2ZT0ke249PmNvbnNvbGUubG9nKCJTYXZlIHNldHRpbmdzOiIsbi5kZXRhaWwpfQogICAgICAgID48L3N6LXNldHRpbmdzLXZpZXc+CiAgICAgIDwvZGl2PgogICAgYH1zdGF0aWN7ZFJhKHIsdCl9fTtyZXR1cm4gbz1yfSkoKX0pO3ZhciB4aWUsRTUscFJhLG9wYT1mKCgpPT57bGUoKTtjbigpO3hpZT1mdW5jdGlvbihhLGUsdCxyLGksbyl7ZnVuY3Rpb24gbih5KXtpZih5IT09dm9pZCAwJiZ0eXBlb2YgeSE9ImZ1bmN0aW9uIil0aHJvdyBuZXcgVHlwZUVycm9yKCJGdW5jdGlvbiBleHBlY3RlZCIpO3JldHVybiB5fXMobiwiYWNjZXB0Iik7Zm9yKHZhciBsPXIua2luZCxkPWw9PT0iZ2V0dGVyIj8iZ2V0IjpsPT09InNldHRlciI/InNldCI6InZhbHVlIixjPSFlJiZhP3Iuc3RhdGljP2E6YS5wcm90b3R5cGU6bnVsbCxwPWV8fChjP09iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoYyxyLm5hbWUpOnt9KSx1LG09ITEsdj10Lmxlbmd0aC0xO3Y+PTA7di0tKXt2YXIgeD17fTtmb3IodmFyIGIgaW4gcil4W2JdPWI9PT0iYWNjZXNzIj97fTpyW2JdO2Zvcih2YXIgYiBpbiByLmFjY2Vzcyl4LmFjY2Vzc1tiXT1yLmFjY2Vzc1tiXTt4LmFkZEluaXRpYWxpemVyPWZ1bmN0aW9uKHkpe2lmKG0pdGhyb3cgbmV3IFR5cGVFcnJvcigiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkIik7by5wdXNoKG4oeXx8bnVsbCkpfTt2YXIgZz0oMCx0W3ZdKShsPT09ImFjY2Vzc29yIj97Z2V0OnAuZ2V0LHNldDpwLnNldH06cFtkXSx4KTtpZihsPT09ImFjY2Vzc29yIil7aWYoZz09PXZvaWQgMCljb250aW51ZTtpZihnPT09bnVsbHx8dHlwZW9mIGchPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IoIk9iamVjdCBleHBlY3RlZCIpOyh1PW4oZy5nZXQpKSYmKHAuZ2V0PXUpLCh1PW4oZy5zZXQpKSYmKHAuc2V0PXUpLCh1PW4oZy5pbml0KSkmJmkudW5zaGlmdCh1KX1lbHNlKHU9bihnKSkmJihsPT09ImZpZWxkIj9pLnVuc2hpZnQodSk6cFtkXT11KX1jJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoYyxyLm5hbWUscCksbT0hMH0sRTU9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHBSYT0oKCk9PntsZXQgYT1baWUoInN6LWRlbW8tdmlldy1tdGEiKV0sZSx0PVtdLHIsaT1wZSxvLG49W10sbD1bXSxkLGM9W10scD1bXSx1LG09W10sdj1bXTt2YXIgeD1jbGFzcyBleHRlbmRzIGl7c3RhdGlje3ModGhpcywiU3pEZW1vVmlld010YSIpfXN0YXRpY3tyPXRoaXN9c3RhdGlje2xldCBiPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJlN5bWJvbC5tZXRhZGF0YT9PYmplY3QuY3JlYXRlKGlbU3ltYm9sLm1ldGFkYXRhXT8/bnVsbCk6dm9pZCAwO289W0soKV0sZD1bSygpXSx1PVtLKCldLHhpZSh0aGlzLG51bGwsbyx7a2luZDoiYWNjZXNzb3IiLG5hbWU6ImN1cnJlbnRWaWV3IixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKGc9PiJjdXJyZW50VmlldyJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmN1cnJlbnRWaWV3LCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuY3VycmVudFZpZXc9eX0sInNldCIpfSxtZXRhZGF0YTpifSxuLGwpLHhpZSh0aGlzLG51bGwsZCx7a2luZDoiYWNjZXNzb3IiLG5hbWU6InNlbGVjdGVkRW1haWwiLHN0YXRpYzohMSxwcml2YXRlOiExLGFjY2Vzczp7aGFzOnMoZz0+InNlbGVjdGVkRW1haWwiaW4gZywiaGFzIiksZ2V0OnMoZz0+Zy5zZWxlY3RlZEVtYWlsLCJnZXQiKSxzZXQ6cygoZyx5KT0+e2cuc2VsZWN0ZWRFbWFpbD15fSwic2V0Iil9LG1ldGFkYXRhOmJ9LGMscCkseGllKHRoaXMsbnVsbCx1LHtraW5kOiJhY2Nlc3NvciIsbmFtZToiY3VycmVudERpcmVjdGlvbkZpbHRlciIsc3RhdGljOiExLHByaXZhdGU6ITEsYWNjZXNzOntoYXM6cyhnPT4iY3VycmVudERpcmVjdGlvbkZpbHRlciJpbiBnLCJoYXMiKSxnZXQ6cyhnPT5nLmN1cnJlbnREaXJlY3Rpb25GaWx0ZXIsImdldCIpLHNldDpzKChnLHkpPT57Zy5jdXJyZW50RGlyZWN0aW9uRmlsdGVyPXl9LCJzZXQiKX0sbWV0YWRhdGE6Yn0sbSx2KSx4aWUobnVsbCxlPXt2YWx1ZTpyfSxhLHtraW5kOiJjbGFzcyIsbmFtZTpyLm5hbWUsbWV0YWRhdGE6Yn0sbnVsbCx0KSx4PXI9ZS52YWx1ZSxiJiZPYmplY3QuZGVmaW5lUHJvcGVydHkocixTeW1ib2wubWV0YWRhdGEse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmJ9KX1hcHB1aT1udWxsOyNlPUU1KHRoaXMsbiwibGlzdCIpO2dldCBjdXJyZW50Vmlldygpe3JldHVybiB0aGlzLiNlfXNldCBjdXJyZW50VmlldyhiKXt0aGlzLiNlPWJ9I3Q9KEU1KHRoaXMsbCksRTUodGhpcyxjLG51bGwpKTtnZXQgc2VsZWN0ZWRFbWFpbCgpe3JldHVybiB0aGlzLiN0fXNldCBzZWxlY3RlZEVtYWlsKGIpe3RoaXMuI3Q9Yn0jYT0oRTUodGhpcyxwKSxFNSh0aGlzLG0sImFsbCIpKTtnZXQgY3VycmVudERpcmVjdGlvbkZpbHRlcigpe3JldHVybiB0aGlzLiNhfXNldCBjdXJyZW50RGlyZWN0aW9uRmlsdGVyKGIpe3RoaXMuI2E9Yn1kZW1vRW1haWxzPShFNSh0aGlzLHYpLFt7aWQ6IjEiLGRpcmVjdGlvbjoib3V0Ym91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJub3JlcGx5QHNlcnZlLnpvbmUiLHRvOiJ1c2VyQGV4YW1wbGUuY29tIixzdWJqZWN0OiJXZWxjb21lIHRvIHNlcnZlLnpvbmUiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDozMDoyMiIsbWVzc2FnZUlkOiI8YWJjMTIzQHNlcnZlLnpvbmU+IixzaXplOiIxMi40IEtCIn0se2lkOiIyIixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImJvdW5jZWQiLGZyb206ImFsZXJ0c0BzZXJ2ZS56b25lIix0bzoiaW52YWxpZEBub3doZXJlLnRlc3QiLHN1YmplY3Q6IlNlcnZpY2UgQWxlcnQ6IENQVSBVc2FnZSBIaWdoIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6Mjg6MTAiLG1lc3NhZ2VJZDoiPGRlZjQ1NkBzZXJ2ZS56b25lPiIsc2l6ZToiOC4yIEtCIn0se2lkOiIzIixkaXJlY3Rpb246ImluYm91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJzdXBwb3J0QGN1c3RvbWVyLmNvbSIsdG86ImFkbWluQHNlcnZlLnpvbmUiLHN1YmplY3Q6IlJlOiBJbmZyYXN0cnVjdHVyZSBSZXZpZXciLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoyNTowMCIsbWVzc2FnZUlkOiI8Z2hpNzg5QGN1c3RvbWVyLmNvbT4iLHNpemU6IjI0LjEgS0IifSx7aWQ6IjQiLGRpcmVjdGlvbjoib3V0Ym91bmQiLHN0YXR1czoicmVqZWN0ZWQiLGZyb206ImJpbGxpbmdAc2VydmUuem9uZSIsdG86ImJsb2NrZWRAc3BhbS1kb21haW4udGVzdCIsc3ViamVjdDoiSW52b2ljZSAjMjAyNC0wMDEiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoyMDo0NSIsbWVzc2FnZUlkOiI8amtsMDEyQHNlcnZlLnpvbmU+IixzaXplOiI0NS42IEtCIn0se2lkOiI1IixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImRlZmVycmVkIixmcm9tOiJub3JlcGx5QHNlcnZlLnpvbmUiLHRvOiJzbG93QHJlbW90ZS1zZXJ2ZXIudGVzdCIsc3ViamVjdDoiUGFzc3dvcmQgUmVzZXQgUmVxdWVzdCIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjE1OjMwIixtZXNzYWdlSWQ6Ijxtbm8zNDVAc2VydmUuem9uZT4iLHNpemU6IjYuOCBLQiJ9LHtpZDoiNiIsZGlyZWN0aW9uOiJpbmJvdW5kIixzdGF0dXM6ImRlbGl2ZXJlZCIsZnJvbToiY2lAZ2l0aHViLmNvbSIsdG86ImRldm9wc0BzZXJ2ZS56b25lIixzdWJqZWN0OiJCdWlsZCAjNDUyMSBwYXNzZWQiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoxMDowMCIsbWVzc2FnZUlkOiI8cHFyNjc4QGdpdGh1Yi5jb20+IixzaXplOiIxNS4zIEtCIn0se2lkOiI3IixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6InBlbmRpbmciLGZyb206InJlcG9ydHNAc2VydmUuem9uZSIsdG86InRlYW1Ac2VydmUuem9uZSIsc3ViamVjdDoiV2Vla2x5IEluZnJhc3RydWN0dXJlIFJlcG9ydCIsdGltZXN0YW1wOiIyMDI0LTAxLTE1IDE0OjA1OjAwIixtZXNzYWdlSWQ6IjxzdHU5MDFAc2VydmUuem9uZT4iLHNpemU6IjEwMi43IEtCIn0se2lkOiI4IixkaXJlY3Rpb246ImluYm91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJtb25pdG9yaW5nQHVwdGltZS5pbyIsdG86Im9wc0BzZXJ2ZS56b25lIixzdWJqZWN0OiJVcHRpbWUgUmVwb3J0OiA5OS45OCUiLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxMzo1NTowMCIsbWVzc2FnZUlkOiI8dnd4MjM0QHVwdGltZS5pbz4iLHNpemU6IjkuMSBLQiJ9XSk7ZGVtb0VtYWlsRGV0YWlscz17MTp7aWQ6IjEiLGRpcmVjdGlvbjoib3V0Ym91bmQiLHN0YXR1czoiZGVsaXZlcmVkIixmcm9tOiJub3JlcGx5QHNlcnZlLnpvbmUiLHRvOiJ1c2VyQGV4YW1wbGUuY29tIix0b0xpc3Q6WyJ1c2VyQGV4YW1wbGUuY29tIl0sc3ViamVjdDoiV2VsY29tZSB0byBzZXJ2ZS56b25lIix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MzA6MjIiLG1lc3NhZ2VJZDoiPGFiYzEyM0BzZXJ2ZS56b25lPiIsc2l6ZToiMTIuNCBLQiIsc210cExvZzpbe3RpbWVzdGFtcDoiMTQ6MzA6MjAiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJFSExPIG1haWwuc2VydmUuem9uZSJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwLW1haWwuZXhhbXBsZS5jb20gSGVsbG8iLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjMwOjIwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwLVNUQVJUVExTIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBTSVpFIDUyNDI4ODAwIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMCIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IlNUQVJUVExTIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyMjAgUmVhZHkgdG8gc3RhcnQgVExTIixyZXNwb25zZUNvZGU6MjIwfSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkVITE8gbWFpbC5zZXJ2ZS56b25lIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtbWFpbC5leGFtcGxlLmNvbSBIZWxsbyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAtQVVUSCBQTEFJTiBMT0dJTiIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgU0laRSA1MjQyODgwMCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJBVVRIIFBMQUlOIEFIVnpaWElBY0dGemMzZHZjbVE9In0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyMzUgMi43LjAgQXV0aGVudGljYXRpb24gc3VjY2Vzc2Z1bCIscmVzcG9uc2VDb2RlOjIzNX0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJNQUlMIEZST006PG5vcmVwbHlAc2VydmUuem9uZT4ifSx7dGltZXN0YW1wOiIxNDozMDoyMSIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBPSyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjEiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJSQ1BUIFRPOjx1c2VyQGV4YW1wbGUuY29tPiJ9LHt0aW1lc3RhbXA6IjE0OjMwOjIxIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIEFjY2VwdGVkIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkRBVEEifSx7dGltZXN0YW1wOiIxNDozMDoyMiIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6JzM1NCBFbnRlciBtZXNzYWdlLCBlbmRpbmcgd2l0aCAiLiIgb24gYSBsaW5lIGJ5IGl0c2VsZicscmVzcG9uc2VDb2RlOjM1NH0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiIuIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgT0sgaWQ9MXBRMnJTLTAwMDNBYi1DNCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJRVUlUIn0se3RpbWVzdGFtcDoiMTQ6MzA6MjIiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyMjEgbWFpbC5leGFtcGxlLmNvbSBjbG9zaW5nIGNvbm5lY3Rpb24iLHJlc3BvbnNlQ29kZToyMjF9XSxjb25uZWN0aW9uSW5mbzp7c291cmNlSXA6IjEwLjAuMS41MCIsc291cmNlSG9zdG5hbWU6Im1haWwuc2VydmUuem9uZSIsZGVzdGluYXRpb25JcDoiOTMuMTg0LjIxNi4zNCIsZGVzdGluYXRpb25Qb3J0OjI1LHRsc1ZlcnNpb246IlRMU3YxLjMiLHRsc0NpcGhlcjoiVExTX0FFU18yNTZfR0NNX1NIQTM4NCIsYXV0aGVudGljYXRlZDohMCxhdXRoTWV0aG9kOiJQTEFJTiIsYXV0aFVzZXI6Im5vcmVwbHlAc2VydmUuem9uZSJ9LGF1dGhlbnRpY2F0aW9uUmVzdWx0czp7c3BmOiJwYXNzIixzcGZEb21haW46InNlcnZlLnpvbmUiLGRraW06InBhc3MiLGRraW1Eb21haW46InNlcnZlLnpvbmUiLGRtYXJjOiJwYXNzIixkbWFyY1BvbGljeToicmVqZWN0In0saGVhZGVyczp7RnJvbToibm9yZXBseUBzZXJ2ZS56b25lIixUbzoidXNlckBleGFtcGxlLmNvbSIsU3ViamVjdDoiV2VsY29tZSB0byBzZXJ2ZS56b25lIixEYXRlOiJNb24sIDE1IEphbiAyMDI0IDE0OjMwOjIyICswMDAwIiwiTUlNRS1WZXJzaW9uIjoiMS4wIiwiQ29udGVudC1UeXBlIjoidGV4dC9odG1sOyBjaGFyc2V0PVVURi04In0sYm9keTpgPGh0bWw+CjxoZWFkPjx0aXRsZT5XZWxjb21lPC90aXRsZT48L2hlYWQ+Cjxib2R5PgogIDxoMT5XZWxjb21lIHRvIHNlcnZlLnpvbmUhPC9oMT4KICA8cD5Zb3VyIGFjY291bnQgaGFzIGJlZW4gY3JlYXRlZCBzdWNjZXNzZnVsbHkuPC9wPgogIDxwPkdldCBzdGFydGVkIGJ5IHZpc2l0aW5nIHlvdXIgPGEgaHJlZj0iaHR0cHM6Ly9zZXJ2ZS56b25lL2Rhc2hib2FyZCI+ZGFzaGJvYXJkPC9hPi48L3A+CjwvYm9keT4KPC9odG1sPmB9LDI6e2lkOiIyIixkaXJlY3Rpb246Im91dGJvdW5kIixzdGF0dXM6ImJvdW5jZWQiLGZyb206ImFsZXJ0c0BzZXJ2ZS56b25lIix0bzoiaW52YWxpZEBub3doZXJlLnRlc3QiLHRvTGlzdDpbImludmFsaWRAbm93aGVyZS50ZXN0Il0sc3ViamVjdDoiU2VydmljZSBBbGVydDogQ1BVIFVzYWdlIEhpZ2giLHRpbWVzdGFtcDoiMjAyNC0wMS0xNSAxNDoyODoxMCIsbWVzc2FnZUlkOiI8ZGVmNDU2QHNlcnZlLnpvbmU+IixzaXplOiI4LjIgS0IiLHJlamVjdGlvblJlYXNvbjoiNTUwIDUuMS4xIFRoZSBlbWFpbCBhY2NvdW50IHRoYXQgeW91IHRyaWVkIHRvIHJlYWNoIGRvZXMgbm90IGV4aXN0LiIsYm91bmNlTWVzc2FnZTpgRGVsaXZlcnkgdG8gdGhlIGZvbGxvd2luZyByZWNpcGllbnQgZmFpbGVkIHBlcm1hbmVudGx5OgoKICAgIGludmFsaWRAbm93aGVyZS50ZXN0CgpUZWNobmljYWwgZGV0YWlscyBvZiBwZXJtYW5lbnQgZmFpbHVyZToKR29vZ2xlIHRyaWVkIHRvIGRlbGl2ZXIgeW91ciBtZXNzYWdlLCBidXQgaXQgd2FzIHJlamVjdGVkIGJ5IHRoZSBzZXJ2ZXIgZm9yIHRoZSByZWNpcGllbnQgZG9tYWluIG5vd2hlcmUudGVzdC5gLHNtdHBMb2c6W3t0aW1lc3RhbXA6IjE0OjI4OjA4IixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiRUhMTyBtYWlsLnNlcnZlLnpvbmUifSx7dGltZXN0YW1wOiIxNDoyODowOCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1tYWlsLm5vd2hlcmUudGVzdCBIZWxsbyIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6Mjg6MDgiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJNQUlMIEZST006PGFsZXJ0c0BzZXJ2ZS56b25lPiJ9LHt0aW1lc3RhbXA6IjE0OjI4OjA5IixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwIE9LIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDoyODowOSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IlJDUFQgVE86PGludmFsaWRAbm93aGVyZS50ZXN0PiJ9LHt0aW1lc3RhbXA6IjE0OjI4OjEwIixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiNTUwIDUuMS4xIFRoZSBlbWFpbCBhY2NvdW50IHRoYXQgeW91IHRyaWVkIHRvIHJlYWNoIGRvZXMgbm90IGV4aXN0LiIscmVzcG9uc2VDb2RlOjU1MH0se3RpbWVzdGFtcDoiMTQ6Mjg6MTAiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJRVUlUIn0se3RpbWVzdGFtcDoiMTQ6Mjg6MTAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyMjEgQnllIixyZXNwb25zZUNvZGU6MjIxfV0sY29ubmVjdGlvbkluZm86e3NvdXJjZUlwOiIxMC4wLjEuNTAiLHNvdXJjZUhvc3RuYW1lOiJtYWlsLnNlcnZlLnpvbmUiLGRlc3RpbmF0aW9uSXA6IjE5OC41MS4xMDAuMjUiLGRlc3RpbmF0aW9uUG9ydDoyNSx0bHNWZXJzaW9uOiJUTFN2MS4yIix0bHNDaXBoZXI6IkVDREhFLVJTQS1BRVMxMjgtR0NNLVNIQTI1NiIsYXV0aGVudGljYXRlZDohMCxhdXRoTWV0aG9kOiJQTEFJTiIsYXV0aFVzZXI6ImFsZXJ0c0BzZXJ2ZS56b25lIn0sYXV0aGVudGljYXRpb25SZXN1bHRzOntzcGY6InBhc3MiLHNwZkRvbWFpbjoic2VydmUuem9uZSIsZGtpbToicGFzcyIsZGtpbURvbWFpbjoic2VydmUuem9uZSIsZG1hcmM6InBhc3MiLGRtYXJjUG9saWN5OiJxdWFyYW50aW5lIn0saGVhZGVyczp7RnJvbToiYWxlcnRzQHNlcnZlLnpvbmUiLFRvOiJpbnZhbGlkQG5vd2hlcmUudGVzdCIsU3ViamVjdDoiU2VydmljZSBBbGVydDogQ1BVIFVzYWdlIEhpZ2giLERhdGU6Ik1vbiwgMTUgSmFuIDIwMjQgMTQ6Mjg6MTAgKzAwMDAiLCJNSU1FLVZlcnNpb24iOiIxLjAiLCJDb250ZW50LVR5cGUiOiJ0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04In0sYm9keTpgQUxFUlQ6IENQVSBVc2FnZSBIaWdoCgpTZXJ2aWNlOiBhcGktZ2F0ZXdheQpDdXJyZW50IFVzYWdlOiA5NC4yJQpUaHJlc2hvbGQ6IDkwJQpUaW1lc3RhbXA6IDIwMjQtMDEtMTUgMTQ6Mjg6MDAgVVRDCgpQbGVhc2UgaW52ZXN0aWdhdGUgaW1tZWRpYXRlbHkuYH0sMzp7aWQ6IjMiLGRpcmVjdGlvbjoiaW5ib3VuZCIsc3RhdHVzOiJkZWxpdmVyZWQiLGZyb206InN1cHBvcnRAY3VzdG9tZXIuY29tIix0bzoiYWRtaW5Ac2VydmUuem9uZSIsdG9MaXN0OlsiYWRtaW5Ac2VydmUuem9uZSJdLGNjOlsib3BzQHNlcnZlLnpvbmUiXSxzdWJqZWN0OiJSZTogSW5mcmFzdHJ1Y3R1cmUgUmV2aWV3Iix0aW1lc3RhbXA6IjIwMjQtMDEtMTUgMTQ6MjU6MDAiLG1lc3NhZ2VJZDoiPGdoaTc4OUBjdXN0b21lci5jb20+IixzaXplOiIyNC4xIEtCIixzbXRwTG9nOlt7dGltZXN0YW1wOiIxNDoyNDo1OCIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IkVITE8gbWFpbC5jdXN0b21lci5jb20ifSx7dGltZXN0YW1wOiIxNDoyNDo1OCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MC1tYWlsLnNlcnZlLnpvbmUgSGVsbG8iLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjI0OjU4IixkaXJlY3Rpb246InNlcnZlciIsY29tbWFuZDoiMjUwLVNUQVJUVExTIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDoyNDo1OCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBTSVpFIDUyNDI4ODAwIixyZXNwb25zZUNvZGU6MjUwfSx7dGltZXN0YW1wOiIxNDoyNDo1OSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6IlNUQVJUVExTIn0se3RpbWVzdGFtcDoiMTQ6MjQ6NTkiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyMjAgUmVhZHkgdG8gc3RhcnQgVExTIixyZXNwb25zZUNvZGU6MjIwfSx7dGltZXN0YW1wOiIxNDoyNDo1OSIsZGlyZWN0aW9uOiJjbGllbnQiLGNvbW1hbmQ6Ik1BSUwgRlJPTTo8c3VwcG9ydEBjdXN0b21lci5jb20+In0se3RpbWVzdGFtcDoiMTQ6MjQ6NTkiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgT0siLHJlc3BvbnNlQ29kZToyNTB9LHt0aW1lc3RhbXA6IjE0OjI0OjU5IixkaXJlY3Rpb246ImNsaWVudCIsY29tbWFuZDoiUkNQVCBUTzo8YWRtaW5Ac2VydmUuem9uZT4ifSx7dGltZXN0YW1wOiIxNDoyNTowMCIsZGlyZWN0aW9uOiJzZXJ2ZXIiLGNvbW1hbmQ6IjI1MCBBY2NlcHRlZCIscmVzcG9uc2VDb2RlOjI1MH0se3RpbWVzdGFtcDoiMTQ6MjU6MDAiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiJEQVRBIn0se3RpbWVzdGFtcDoiMTQ6MjU6MDAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIzNTQgRW50ZXIgbWVzc2FnZSIscmVzcG9uc2VDb2RlOjM1NH0se3RpbWVzdGFtcDoiMTQ6MjU6MDAiLGRpcmVjdGlvbjoiY2xpZW50Iixjb21tYW5kOiIuIn0se3RpbWVzdGFtcDoiMTQ6MjU6MDAiLGRpcmVjdGlvbjoic2VydmVyIixjb21tYW5kOiIyNTAgT0sgaWQ9MmJSM3NULTAwMDRDZC1FNSIscmVzcG9uc2VDb2RlOjI1MH1dLGNvbm5lY3Rpb25JbmZvOntzb3VyY2VJcDoiMjAzLjAuMTEzLjQ1Iixzb3VyY2VIb3N0bmFtZToibWFpbC5jdXN0b21lci5jb20iLGRlc3RpbmF0aW9uSXA6IjEwLjAuMS41MCIsZGVzdGluYXRpb25Qb3J0OjI1LHRsc1ZlcnNpb246IlRMU3YxLjMiLHRsc0NpcGhlcjoiVExTX0FFU18xMjhfR0NNX1NIQTI1NiIsYXV0aGVudGljYXRlZDohMSxhdXRoTWV0aG9kOiIiLGF1dGhVc2VyOiIifSxhdXRoZW50aWNhdGlvblJlc3VsdHM6e3NwZjoicGFzcyIsc3BmRG9tYWluOiJjdXN0b21lci5jb20iLGRraW06InBhc3MiLGRraW1Eb21haW46ImN1c3RvbWVyLmNvbSIsZG1hcmM6InBhc3MiLGRtYXJjUG9saWN5OiJub25lIn0saGVhZGVyczp7RnJvbToic3VwcG9ydEBjdXN0b21lci5jb20iLFRvOiJhZG1pbkBzZXJ2ZS56b25lIixDQzoib3BzQHNlcnZlLnpvbmUiLFN1YmplY3Q6IlJlOiBJbmZyYXN0cnVjdHVyZSBSZXZpZXciLERhdGU6Ik1vbiwgMTUgSmFuIDIwMjQgMTQ6MjU6MDAgKzAwMDAiLCJNSU1FLVZlcnNpb24iOiIxLjAiLCJDb250ZW50LVR5cGUiOiJ0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04IiwiSW4tUmVwbHktVG8iOiI8cHJldjEyM0BzZXJ2ZS56b25lPiJ9LGJvZHk6YEhpIEFkbWluLAoKVGhhbmsgeW91IGZvciB0aGUgZGV0YWlsZWQgaW5mcmFzdHJ1Y3R1cmUgcmV2aWV3IHJlcG9ydC4KCldlIGhhdmUgcmV2aWV3ZWQgdGhlIHJlY29tbWVuZGF0aW9ucyBhbmQgd291bGQgbGlrZSB0bwpwcm9jZWVkIHdpdGggdGhlIGZvbGxvd2luZzoKCjEuIFVwZ3JhZGUgdG8gdGhlIFBybyB0aWVyCjIuIEVuYWJsZSBhdXRvbWF0aWMgYmFja3VwcwozLiBTZXQgdXAgbW9uaXRvcmluZyBhbGVydHMKClBsZWFzZSBsZXQgdXMga25vdyB0aGUgdGltZWxpbmUgZm9yIHRoZXNlIGNoYW5nZXMuCgpCZXN0IHJlZ2FyZHMsCkN1c3RvbWVyIFN1cHBvcnQgVGVhbWB9fTthc3luYyBvbkFjdGl2YXRlKGIpe3RoaXMuYXBwdWk9Yi5hcHB1aSx0aGlzLmFwcHVpLnNldENvbnRlbnRUYWJzKFt7a2V5OiJBbGwgRW1haWxzIixhY3Rpb246cygoKT0+e3RoaXMuY3VycmVudERpcmVjdGlvbkZpbHRlcj0iYWxsIix0aGlzLmN1cnJlbnRWaWV3PSJsaXN0Iix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfSx7a2V5OiJJbmJvdW5kIixhY3Rpb246cygoKT0+e3RoaXMuY3VycmVudERpcmVjdGlvbkZpbHRlcj0iaW5ib3VuZCIsdGhpcy5jdXJyZW50Vmlldz0ibGlzdCIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX0se2tleToiT3V0Ym91bmQiLGFjdGlvbjpzKCgpPT57dGhpcy5jdXJyZW50RGlyZWN0aW9uRmlsdGVyPSJvdXRib3VuZCIsdGhpcy5jdXJyZW50Vmlldz0ibGlzdCIsdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9LCJhY3Rpb24iKX1dKSx0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX11cGRhdGVTZWNvbmRhcnlNZW51KCl7dGhpcy5hcHB1aSYmdGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJFbWFpbCAvIE1UQSIsZ3JvdXBzOlt7bmFtZToiQWN0aW9ucyIsaXRlbXM6W3t0eXBlOiJhY3Rpb24iLGtleToiUmVmcmVzaCIsaWNvbk5hbWU6Imx1Y2lkZTpSZWZyZXNoQ3ciLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIlJlZnJlc2ggZW1haWxzIil9LCJhY3Rpb24iKX0se3R5cGU6ImFjdGlvbiIsa2V5OiJFeHBvcnQgTG9ncyIsaWNvbk5hbWU6Imx1Y2lkZTpEb3dubG9hZCIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiRXhwb3J0IGxvZ3MiKX0sImFjdGlvbiIpfV19LHtuYW1lOiJTdGF0dXMgRmlsdGVycyIsaXRlbXM6W3trZXk6IkRlbGl2ZXJlZCIsaWNvbk5hbWU6Imx1Y2lkZTpDaGVja0NpcmNsZSIsYmFkZ2U6IjUiLGJhZGdlVmFyaWFudDoic3VjY2VzcyIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiRmlsdGVyIGRlbGl2ZXJlZCIpfSwiYWN0aW9uIil9LHtrZXk6IkJvdW5jZWQiLGljb25OYW1lOiJsdWNpZGU6WENpcmNsZSIsYmFkZ2U6IjEiLGJhZGdlVmFyaWFudDoiZXJyb3IiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciBib3VuY2VkIil9LCJhY3Rpb24iKX0se2tleToiRGVmZXJyZWQiLGljb25OYW1lOiJsdWNpZGU6Q2xvY2siLGJhZGdlOiIxIixiYWRnZVZhcmlhbnQ6Indhcm5pbmciLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkZpbHRlciBkZWZlcnJlZCIpfSwiYWN0aW9uIil9LHtrZXk6IlBlbmRpbmciLGljb25OYW1lOiJsdWNpZGU6TG9hZGVyIixiYWRnZToiMSIsYWN0aW9uOnMoKCk9Pntjb25zb2xlLmxvZygiRmlsdGVyIHBlbmRpbmciKX0sImFjdGlvbiIpfV19LHtuYW1lOiJTdGF0aXN0aWNzIixpdGVtczpbe3R5cGU6ImhlYWRlciIsbGFiZWw6IjggVG90YWwgRW1haWxzIn0se3R5cGU6ImhlYWRlciIsbGFiZWw6IjYyLjUlIERlbGl2ZXJ5IFJhdGUifV19XX0pfW9uRGVhY3RpdmF0ZSgpe31zdGF0aWMgc3R5bGVzPVtoLmRlZmF1bHRTdHlsZXMsUWAKICAgICAgOmhvc3QgewogICAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIG92ZXJmbG93LXk6IGF1dG87CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHRoaXMuY3VycmVudFZpZXc9PT0iZGV0YWlsIiYmdGhpcy5zZWxlY3RlZEVtYWlsP3dgCiAgICAgICAgPHN6LW10YS1kZXRhaWwtdmlldwogICAgICAgICAgLmVtYWlsPSR7dGhpcy5zZWxlY3RlZEVtYWlsfQogICAgICAgICAgQGJhY2s9JHsoKT0+e3RoaXMuY3VycmVudFZpZXc9Imxpc3QiLHRoaXMuc2VsZWN0ZWRFbWFpbD1udWxsfX0KICAgICAgICA+PC9zei1tdGEtZGV0YWlsLXZpZXc+CiAgICAgIGA6d2AKICAgICAgPHN6LW10YS1saXN0LXZpZXcKICAgICAgICAuZW1haWxzPSR7dGhpcy5jdXJyZW50RGlyZWN0aW9uRmlsdGVyPT09ImFsbCI/dGhpcy5kZW1vRW1haWxzOnRoaXMuZGVtb0VtYWlscy5maWx0ZXIoYj0+Yi5kaXJlY3Rpb249PT10aGlzLmN1cnJlbnREaXJlY3Rpb25GaWx0ZXIpfQogICAgICAgIEBlbWFpbC1jbGljaz0ke2I9PnRoaXMuaGFuZGxlRW1haWxDbGljayhiLmRldGFpbCl9CiAgICAgID48L3N6LW10YS1saXN0LXZpZXc+CiAgICBgfWhhbmRsZUVtYWlsQ2xpY2soYil7bGV0IGc9dGhpcy5kZW1vRW1haWxEZXRhaWxzW2IuaWRdO2c/KHRoaXMuc2VsZWN0ZWRFbWFpbD1nLHRoaXMuY3VycmVudFZpZXc9ImRldGFpbCIpOmNvbnNvbGUubG9nKCJObyBkZXRhaWwgZGF0YSBhdmFpbGFibGUgZm9yIGVtYWlsOiIsYi5pZCl9c3RhdGlje0U1KHIsdCl9fTtyZXR1cm4geD1yfSkoKX0pO3ZhciBucGEsdWV0LGZSYSxscGE9ZigoKT0+e2xlKCk7Y24oKTtucGE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LHVldD1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sZlJhPSgoKT0+e2xldCBhPVtpZSgic3otZGVtby12aWV3LXJvdXRlcyIpXSxlLHQ9W10scixpPXBlLG8sbj1bXSxsPVtdO3ZhciBkPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekRlbW9WaWV3Um91dGVzIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IGM9dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7bz1bSygpXSxucGEodGhpcyxudWxsLG8se2tpbmQ6ImFjY2Vzc29yIixuYW1lOiJjdXJyZW50VGFiIixzdGF0aWM6ITEscHJpdmF0ZTohMSxhY2Nlc3M6e2hhczpzKHA9PiJjdXJyZW50VGFiImluIHAsImhhcyIpLGdldDpzKHA9PnAuY3VycmVudFRhYiwiZ2V0Iiksc2V0OnMoKHAsdSk9PntwLmN1cnJlbnRUYWI9dX0sInNldCIpfSxtZXRhZGF0YTpjfSxuLGwpLG5wYShudWxsLGU9e3ZhbHVlOnJ9LGEse2tpbmQ6ImNsYXNzIixuYW1lOnIubmFtZSxtZXRhZGF0YTpjfSxudWxsLHQpLGQ9cj1lLnZhbHVlLGMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFN5bWJvbC5tZXRhZGF0YSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6Y30pfWFwcHVpPW51bGw7I2U9dWV0KHRoaXMsbiwiYWxsIik7Z2V0IGN1cnJlbnRUYWIoKXtyZXR1cm4gdGhpcy4jZX1zZXQgY3VycmVudFRhYihjKXt0aGlzLiNlPWN9ZGVtb1JvdXRlcz0odWV0KHRoaXMsbCksW3tpZDoicm91dGUtMSIsbmFtZToiV2ViIEZyb250ZW5kIixkZXNjcmlwdGlvbjoiTWFpbiB3ZWJzaXRlIHdpdGggVExTIHRlcm1pbmF0aW9uIGFuZCBhdXRvbWF0aWMgY2VydGlmaWNhdGVzIixlbmFibGVkOiEwLHByaW9yaXR5OjEwLHRhZ3M6WyJ3ZWIiLCJodHRwcyIsInByb2R1Y3Rpb24iXSxtYXRjaDp7cG9ydHM6NDQzLGRvbWFpbnM6WyJzZXJ2ZS56b25lIiwid3d3LnNlcnZlLnpvbmUiXSxwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6IjEwLjAuMC4xMCIscG9ydDozZTN9XSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifX19LHtpZDoicm91dGUtMiIsbmFtZToiSFRUUCBSZWRpcmVjdCIsZGVzY3JpcHRpb246IlJlZGlyZWN0cyBhbGwgSFRUUCB0cmFmZmljIHRvIEhUVFBTIixlbmFibGVkOiEwLHByaW9yaXR5OjEwMCx0YWdzOlsid2ViIiwiaHR0cCIsInJlZGlyZWN0Il0sbWF0Y2g6e3BvcnRzOjgwLGRvbWFpbnM6WyJzZXJ2ZS56b25lIiwid3d3LnNlcnZlLnpvbmUiXSxwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToic29ja2V0LWhhbmRsZXIifX0se2lkOiJyb3V0ZS0zIixuYW1lOiJTTVRQIEluYm91bmQiLGRlc2NyaXB0aW9uOiJJbmJvdW5kIGVtYWlsIHJlbGF5IGZvciBzZXJ2ZS56b25lIGRvbWFpbiIsZW5hYmxlZDohMCx0YWdzOlsiZW1haWwiLCJzbXRwIiwicHJvZHVjdGlvbiJdLG1hdGNoOntwb3J0czoyNSxkb21haW5zOiJtYWlsLnNlcnZlLnpvbmUifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OiIxMC4wLjEuNSIscG9ydDoyNX1dLHRsczp7bW9kZToidGVybWluYXRlIixjZXJ0aWZpY2F0ZToiYXV0byJ9fX0se2lkOiJyb3V0ZS00IixuYW1lOiJBUEkgR2F0ZXdheSIsZGVzY3JpcHRpb246IkFQSSBnYXRld2F5IHdpdGggcmF0ZSBsaW1pdGluZywgQ09SUyBoZWFkZXJzLCBhbmQgbG9hZCBiYWxhbmNpbmciLGVuYWJsZWQ6ITAscHJpb3JpdHk6MjAsdGFnczpbIndlYiIsImFwaSIsImh0dHBzIiwicHJvZHVjdGlvbiJdLG1hdGNoOntwb3J0czo0NDMsZG9tYWluczoiYXBpLnNlcnZlLnpvbmUiLHBhdGg6Ii92Mi8qIixwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6WyIxMC4wLjAuMjAiLCIxMC4wLjAuMjEiLCIxMC4wLjAuMjIiXSxwb3J0OjgwODB9XSx0bHM6e21vZGU6InRlcm1pbmF0ZSIsY2VydGlmaWNhdGU6ImF1dG8ifSxsb2FkQmFsYW5jaW5nOnthbGdvcml0aG06InJvdW5kLXJvYmluIn19LHNlY3VyaXR5OntyYXRlTGltaXQ6e2VuYWJsZWQ6ITAsbWF4UmVxdWVzdHM6MjAwLHdpbmRvdzo2MH0sbWF4Q29ubmVjdGlvbnM6NWUzfSxoZWFkZXJzOntyZXNwb25zZTp7IkFjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbiI6IioiLCJYLVJlcXVlc3QtSWQiOiJ7e3JlcXVlc3RJZH19In19fSx7aWQ6InJvdXRlLTUiLG5hbWU6IldlYlNvY2tldCBSZWFsdGltZSIsZGVzY3JpcHRpb246IlJlYWwtdGltZSBXZWJTb2NrZXQgY29ubmVjdGlvbnMgZm9yIGxpdmUgdXBkYXRlcyIsZW5hYmxlZDohMCx0YWdzOlsid2ViIiwiaHR0cHMiLCJ3ZWJzb2NrZXQiXSxtYXRjaDp7cG9ydHM6NDQzLGRvbWFpbnM6IndzLnNlcnZlLnpvbmUiLHBhdGg6Ii93cy8qIixwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6IjEwLjAuMC4zMCIscG9ydDo5MDkwfV0sdGxzOnttb2RlOiJ0ZXJtaW5hdGUiLGNlcnRpZmljYXRlOiJhdXRvIn0sd2Vic29ja2V0OntlbmFibGVkOiEwfX19LHtpZDoicm91dGUtNiIsbmFtZToiVGVuYW50IFdpbGRjYXJkIixkZXNjcmlwdGlvbjoiTXVsdGktdGVuYW50IHdpbGRjYXJkIHJvdXRpbmcgZm9yIGN1c3RvbWVyIHN1YmRvbWFpbnMiLGVuYWJsZWQ6ITAscHJpb3JpdHk6NTAsdGFnczpbIndlYiIsImh0dHBzIiwibXVsdGktdGVuYW50Il0sbWF0Y2g6e3BvcnRzOjQ0Myxkb21haW5zOiIqLmN1c3RvbWVycy5zZXJ2ZS56b25lIixwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToiZm9yd2FyZCIsdGFyZ2V0czpbe2hvc3Q6IjEwLjAuMC40MCIscG9ydDo4MDgwfV0sdGxzOnttb2RlOiJ0ZXJtaW5hdGUiLGNlcnRpZmljYXRlOiJhdXRvIn19LHNlY3VyaXR5OntpcEFsbG93TGlzdDpbIjEwLjAuMC4wLzgiLCIxNzIuMTYuMC4wLzEyIl19fSx7aWQ6InJvdXRlLTciLG5hbWU6Ik1pY3Jvc2VydmljZXMgTEIiLGRlc2NyaXB0aW9uOiJMb2FkLWJhbGFuY2VkIG1pY3Jvc2VydmljZXMgYmFja2VuZCB3aXRoIElQLWhhc2ggYWZmaW5pdHkiLGVuYWJsZWQ6ITAsdGFnczpbIndlYiIsImh0dHBzIiwicHJvZHVjdGlvbiJdLG1hdGNoOntwb3J0czpbNDQzLDg0NDNdLGRvbWFpbnM6InNlcnZpY2VzLnNlcnZlLnpvbmUiLHByb3RvY29sOiJodHRwIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDpbIjEwLjAuMi4xIiwiMTAuMC4yLjIiLCIxMC4wLjIuMyIsIjEwLjAuMi40Il0scG9ydDozZTN9XSx0bHM6e21vZGU6InRlcm1pbmF0ZS1hbmQtcmVlbmNyeXB0IixjZXJ0aWZpY2F0ZToiYXV0byJ9LGxvYWRCYWxhbmNpbmc6e2FsZ29yaXRobToiaXAtaGFzaCJ9fX0se2lkOiJyb3V0ZS04IixuYW1lOiJETlMgb3ZlciBIVFRQUyIsZGVzY3JpcHRpb246IkROUy1vdmVyLUhUVFBTIHJlc29sdmVyIGVuZHBvaW50IixlbmFibGVkOiEwLHRhZ3M6WyJkbnMiLCJodHRwcyJdLG1hdGNoOntwb3J0czo0NDMsZG9tYWluczoiZG5zLnNlcnZlLnpvbmUiLHBhdGg6Ii9kbnMtcXVlcnkiLHByb3RvY29sOiJodHRwIn0sYWN0aW9uOnt0eXBlOiJmb3J3YXJkIix0YXJnZXRzOlt7aG9zdDoiMTAuMC4zLjEiLHBvcnQ6ODA1M31dLHRsczp7bW9kZToidGVybWluYXRlIixjZXJ0aWZpY2F0ZToiYXV0byJ9fX0se2lkOiJyb3V0ZS05IixuYW1lOiJIaWdoLVBlcmYgVENQIFByb3h5IixkZXNjcmlwdGlvbjoiTkZUYWJsZXMtYWNjZWxlcmF0ZWQgVENQIHByb3h5IGZvciBnYW1lIHNlcnZlcnMiLGVuYWJsZWQ6ITAsdGFnczpbInRjcCIsIm5mdGFibGVzIiwicHJvZHVjdGlvbiJdLG1hdGNoOntwb3J0czpbe2Zyb206MjdlMyx0bzoyNzA1MH1dLHByb3RvY29sOiJ0Y3AifSxhY3Rpb246e3R5cGU6ImZvcndhcmQiLHRhcmdldHM6W3tob3N0OiIxMC4wLjQuMSIscG9ydDoicHJlc2VydmUifV0sZm9yd2FyZGluZ0VuZ2luZToibmZ0YWJsZXMifX0se2lkOiJyb3V0ZS0xMCIsbmFtZToiTGVnYWN5IEFkbWluIFBhbmVsIixkZXNjcmlwdGlvbjoiRGVwcmVjYXRlZCBhZG1pbiBwYW5lbCBcdTIwMTQgZGlzYWJsZWQgZm9yIG1haW50ZW5hbmNlIixlbmFibGVkOiExLHRhZ3M6WyJ3ZWIiLCJodHRwcyIsImRlcHJlY2F0ZWQiXSxtYXRjaDp7cG9ydHM6NDQzLGRvbWFpbnM6ImFkbWluLW9sZC5zZXJ2ZS56b25lIixwcm90b2NvbDoiaHR0cCJ9LGFjdGlvbjp7dHlwZToic29ja2V0LWhhbmRsZXIifSxzZWN1cml0eTp7aXBCbG9ja0xpc3Q6WyIwLjAuMC4wLzAiXX19XSk7Z2V0IGZpbHRlcmVkUm91dGVzKCl7cmV0dXJuIHRoaXMuY3VycmVudFRhYj09PSJhbGwiP3RoaXMuZGVtb1JvdXRlczp0aGlzLmN1cnJlbnRUYWI9PT0iaHR0cHMiP3RoaXMuZGVtb1JvdXRlcy5maWx0ZXIoYz0+Yy50YWdzPy5zb21lKHA9Plsid2ViIiwiaHR0cHMiLCJodHRwIl0uaW5jbHVkZXMocCkpKTp0aGlzLmN1cnJlbnRUYWI9PT0iZW1haWwiP3RoaXMuZGVtb1JvdXRlcy5maWx0ZXIoYz0+Yy50YWdzPy5zb21lKHA9PlsiZW1haWwiLCJzbXRwIl0uaW5jbHVkZXMocCkpKTp0aGlzLmN1cnJlbnRUYWI9PT0iZG5zIj90aGlzLmRlbW9Sb3V0ZXMuZmlsdGVyKGM9PmMudGFncz8uc29tZShwPT5bImRucyJdLmluY2x1ZGVzKHApKSk6dGhpcy5kZW1vUm91dGVzfWFzeW5jIG9uQWN0aXZhdGUoYyl7dGhpcy5hcHB1aT1jLmFwcHVpLHRoaXMuYXBwdWkuc2V0Q29udGVudFRhYnMoW3trZXk6IkFsbCBSb3V0ZXMiLGFjdGlvbjpzKCgpPT57dGhpcy5jdXJyZW50VGFiPSJhbGwiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9LHtrZXk6IkhUVFAvUyIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRUYWI9Imh0dHBzIix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfSx7a2V5OiJFbWFpbCIsYWN0aW9uOnMoKCk9Pnt0aGlzLmN1cnJlbnRUYWI9ImVtYWlsIix0aGlzLnVwZGF0ZVNlY29uZGFyeU1lbnUoKX0sImFjdGlvbiIpfSx7a2V5OiJETlMiLGFjdGlvbjpzKCgpPT57dGhpcy5jdXJyZW50VGFiPSJkbnMiLHRoaXMudXBkYXRlU2Vjb25kYXJ5TWVudSgpfSwiYWN0aW9uIil9XSksdGhpcy51cGRhdGVTZWNvbmRhcnlNZW51KCl9dXBkYXRlU2Vjb25kYXJ5TWVudSgpe2lmKCF0aGlzLmFwcHVpKXJldHVybjtsZXQgYz10aGlzLmRlbW9Sb3V0ZXMubGVuZ3RoLHA9dGhpcy5kZW1vUm91dGVzLmZpbHRlcihtPT5tLmVuYWJsZWQhPT0hMSkubGVuZ3RoLHU9dGhpcy5kZW1vUm91dGVzLmZpbHRlcihtPT5tLmFjdGlvbi50eXBlPT09ImZvcndhcmQiKS5sZW5ndGg7dGhpcy5hcHB1aS5zZXRTZWNvbmRhcnlNZW51KHtoZWFkaW5nOiJSb3V0ZXMiLGdyb3Vwczpbe25hbWU6IkFjdGlvbnMiLGl0ZW1zOlt7dHlwZToiYWN0aW9uIixrZXk6IlJlZnJlc2giLGljb25OYW1lOiJsdWNpZGU6UmVmcmVzaEN3IixhY3Rpb246cygoKT0+e2NvbnNvbGUubG9nKCJSZWZyZXNoIHJvdXRlcyIpfSwiYWN0aW9uIil9LHt0eXBlOiJhY3Rpb24iLGtleToiQWRkIFJvdXRlIixpY29uTmFtZToibHVjaWRlOlBsdXMiLGFjdGlvbjpzKCgpPT57Y29uc29sZS5sb2coIkFkZCByb3V0ZSIpfSwiYWN0aW9uIil9XX0se25hbWU6IlN0YXRpc3RpY3MiLGl0ZW1zOlt7dHlwZToiaGVhZGVyIixsYWJlbDpgJHtjfSBUb3RhbCBSb3V0ZXNgfSx7dHlwZToiaGVhZGVyIixsYWJlbDpgJHtwfSBBY3RpdmVgfSx7dHlwZToiaGVhZGVyIixsYWJlbDpgJHt1fSBGb3J3YXJkYH0se3R5cGU6ImhlYWRlciIsbGFiZWw6YCR7Yy11fSBTb2NrZXQgSGFuZGxlcmB9XX1dfSl9b25EZWFjdGl2YXRlKCl7fXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgcGFkZGluZzogMjRweDsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgb3ZlcmZsb3cteTogYXV0bzsKICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogICAgICB9CiAgICBgXTtyZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPHN6LXJvdXRlLWxpc3QtdmlldwogICAgICAgIC5yb3V0ZXM9JHt0aGlzLmZpbHRlcmVkUm91dGVzfQogICAgICAgIEByb3V0ZS1jbGljaz0ke2M9Pntjb25zb2xlLmxvZygiUm91dGUgY2xpY2tlZDoiLGMuZGV0YWlsLm5hbWUpfX0KICAgICAgPjwvc3otcm91dGUtbGlzdC12aWV3PgogICAgYH1zdGF0aWN7dWV0KHIsdCl9fTtyZXR1cm4gZD1yfSkoKX0pO3ZhciBoUmEsbVJhLGdSYSxjcGE9ZigoKT0+e2xlKCk7Y24oKTtoUmE9ZnVuY3Rpb24oYSxlLHQscixpLG8pe2Z1bmN0aW9uIG4oeSl7aWYoeSE9PXZvaWQgMCYmdHlwZW9mIHkhPSJmdW5jdGlvbiIpdGhyb3cgbmV3IFR5cGVFcnJvcigiRnVuY3Rpb24gZXhwZWN0ZWQiKTtyZXR1cm4geX1zKG4sImFjY2VwdCIpO2Zvcih2YXIgbD1yLmtpbmQsZD1sPT09ImdldHRlciI/ImdldCI6bD09PSJzZXR0ZXIiPyJzZXQiOiJ2YWx1ZSIsYz0hZSYmYT9yLnN0YXRpYz9hOmEucHJvdG90eXBlOm51bGwscD1lfHwoYz9PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGMsci5uYW1lKTp7fSksdSxtPSExLHY9dC5sZW5ndGgtMTt2Pj0wO3YtLSl7dmFyIHg9e307Zm9yKHZhciBiIGluIHIpeFtiXT1iPT09ImFjY2VzcyI/e306cltiXTtmb3IodmFyIGIgaW4gci5hY2Nlc3MpeC5hY2Nlc3NbYl09ci5hY2Nlc3NbYl07eC5hZGRJbml0aWFsaXplcj1mdW5jdGlvbih5KXtpZihtKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBhZGQgaW5pdGlhbGl6ZXJzIGFmdGVyIGRlY29yYXRpb24gaGFzIGNvbXBsZXRlZCIpO28ucHVzaChuKHl8fG51bGwpKX07dmFyIGc9KDAsdFt2XSkobD09PSJhY2Nlc3NvciI/e2dldDpwLmdldCxzZXQ6cC5zZXR9OnBbZF0seCk7aWYobD09PSJhY2Nlc3NvciIpe2lmKGc9PT12b2lkIDApY29udGludWU7aWYoZz09PW51bGx8fHR5cGVvZiBnIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3QgZXhwZWN0ZWQiKTsodT1uKGcuZ2V0KSkmJihwLmdldD11KSwodT1uKGcuc2V0KSkmJihwLnNldD11KSwodT1uKGcuaW5pdCkpJiZpLnVuc2hpZnQodSl9ZWxzZSh1PW4oZykpJiYobD09PSJmaWVsZCI/aS51bnNoaWZ0KHUpOnBbZF09dSl9YyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KGMsci5uYW1lLHApLG09ITB9LG1SYT1mdW5jdGlvbihhLGUsdCl7Zm9yKHZhciByPWFyZ3VtZW50cy5sZW5ndGg+MixpPTA7aTxlLmxlbmd0aDtpKyspdD1yP2VbaV0uY2FsbChhLHQpOmVbaV0uY2FsbChhKTtyZXR1cm4gcj90OnZvaWQgMH0sZ1JhPSgoKT0+e2xldCBhPVtpZSgic3otZGVtby12aWV3LWNvbmZpZyIpXSxlLHQ9W10scixpPXBlO3ZhciBvPWNsYXNzIGV4dGVuZHMgaXtzdGF0aWN7cyh0aGlzLCJTekRlbW9WaWV3Q29uZmlnIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG49dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7aFJhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm59LG51bGwsdCksbz1yPWUudmFsdWUsbiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufSl9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBwYWRkaW5nOiAyNHB4OwogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICBvdmVyZmxvdy15OiBhdXRvOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KICAgIGBdO3JlbmRlcigpe3JldHVybiB3YAogICAgICA8c3otY29uZmlnLW92ZXJ2aWV3CiAgICAgICAgaW5mb1RleHQ9IlRoaXMgdmlldyBkaXNwbGF5cyB0aGUgY3VycmVudCBydW5uaW5nIGNvbmZpZ3VyYXRpb24uIERjUm91dGVyIGlzIGNvbmZpZ3VyZWQgdGhyb3VnaCBjb2RlIG9yIHJlbW90ZSBtYW5hZ2VtZW50LiIKICAgICAgPgogICAgICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICAgICAgdGl0bGU9IlN5c3RlbSIKICAgICAgICAgIHN1YnRpdGxlPSJCYXNlIHBhdGhzIGFuZCBpbmZyYXN0cnVjdHVyZSIKICAgICAgICAgIGljb249Imx1Y2lkZTpzZXJ2ZXIiCiAgICAgICAgICBzdGF0dXM9ImVuYWJsZWQiCiAgICAgICAgICAuZmllbGRzPSR7W3trZXk6IkJhc2UgRGlyZWN0b3J5Iix2YWx1ZToiL2hvbWUvdXNlci8uc2VydmUuem9uZS9kY3JvdXRlciJ9LHtrZXk6IkRhdGEgRGlyZWN0b3J5Iix2YWx1ZToiL2hvbWUvdXNlci8uc2VydmUuem9uZS9kY3JvdXRlci9kYXRhIn0se2tleToiUHVibGljIElQIix2YWx1ZToiMjAzLjAuMTEzLjUwIn0se2tleToiUHJveHkgSVBzIix2YWx1ZTpbIjIwMy4wLjExMy4xMCIsIjIwMy4wLjExMy4xMSJdLHR5cGU6InBpbGxzIn0se2tleToiVXB0aW1lIix2YWx1ZToiM2QgMTRoIDIybSJ9LHtrZXk6IlN0b3JhZ2UgQmFja2VuZCIsdmFsdWU6ImZpbGVzeXN0ZW0iLHR5cGU6ImJhZGdlIn1dfQogICAgICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgoKICAgICAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgICAgIHRpdGxlPSJTbWFydFByb3h5IgogICAgICAgICAgc3VidGl0bGU9IkhUVFAvSFRUUFMgYW5kIFRDUC9TTkkgcmV2ZXJzZSBwcm94eSIKICAgICAgICAgIGljb249Imx1Y2lkZTpuZXR3b3JrIgogICAgICAgICAgc3RhdHVzPSJlbmFibGVkIgogICAgICAgICAgLmZpZWxkcz0ke1t7a2V5OiJSb3V0ZSBDb3VudCIsdmFsdWU6MTJ9LHtrZXk6IkFDTUUgRW5hYmxlZCIsdmFsdWU6ITAsdHlwZToiYm9vbGVhbiJ9LHtrZXk6IkFjY291bnQgRW1haWwiLHZhbHVlOiJhZG1pbkBzZXJ2ZS56b25lIn0se2tleToiVXNlIFByb2R1Y3Rpb24iLHZhbHVlOiEwLHR5cGU6ImJvb2xlYW4ifSx7a2V5OiJBdXRvIFJlbmV3Iix2YWx1ZTohMCx0eXBlOiJib29sZWFuIn0se2tleToiUmVuZXcgVGhyZXNob2xkIix2YWx1ZToiMzAgZGF5cyJ9XX0KICAgICAgICAgIC5hY3Rpb25zPSR7W3tsYWJlbDoiVmlldyBSb3V0ZXMiLGljb246Imx1Y2lkZTphcnJvdy1yaWdodCIsZXZlbnQ6Im5hdmlnYXRlIixkZXRhaWw6e3ZpZXc6InJvdXRlcyJ9fV19CiAgICAgICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CgogICAgICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICAgICAgdGl0bGU9IkVtYWlsIFNlcnZlciIKICAgICAgICAgIHN1YnRpdGxlPSJTTVRQIGVtYWlsIGhhbmRsaW5nIHdpdGggc21hcnRtdGEiCiAgICAgICAgICBpY29uPSJsdWNpZGU6bWFpbCIKICAgICAgICAgIHN0YXR1cz0iZW5hYmxlZCIKICAgICAgICAgIC5maWVsZHM9JHtbe2tleToiUG9ydHMiLHZhbHVlOlsiMjUiLCI0NjUiLCI1ODciXSx0eXBlOiJwaWxscyJ9LHtrZXk6Ikhvc3RuYW1lIix2YWx1ZToibWFpbC5zZXJ2ZS56b25lIn0se2tleToiRG9tYWlucyIsdmFsdWU6WyJzZXJ2ZS56b25lIiwibWFpbC5zZXJ2ZS56b25lIl0sdHlwZToicGlsbHMifSx7a2V5OiJFbWFpbCBSb3V0ZXMiLHZhbHVlOjV9LHtrZXk6IlJlY2VpdmVkIFBhdGgiLHZhbHVlOiIvZGF0YS9lbWFpbHMifV19CiAgICAgICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CgogICAgICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICAgICAgdGl0bGU9IkROUyBTZXJ2ZXIiCiAgICAgICAgICBzdWJ0aXRsZT0iQXV0aG9yaXRhdGl2ZSBETlMgd2l0aCBzbWFydGRucyIKICAgICAgICAgIGljb249Imx1Y2lkZTpnbG9iZSIKICAgICAgICAgIHN0YXR1cz0iZW5hYmxlZCIKICAgICAgICAgIC5maWVsZHM9JHtbe2tleToiUG9ydCIsdmFsdWU6NTN9LHtrZXk6Ik5TIERvbWFpbnMiLHZhbHVlOlsibnMxLnNlcnZlLnpvbmUiLCJuczIuc2VydmUuem9uZSJdLHR5cGU6InBpbGxzIn0se2tleToiU2NvcGVzIix2YWx1ZTpbInNlcnZlLnpvbmUiLCJleGFtcGxlLmNvbSJdLHR5cGU6InBpbGxzIn0se2tleToiUmVjb3JkIENvdW50Iix2YWx1ZToyNH0se2tleToiRE5TIENoYWxsZW5nZSIsdmFsdWU6ITAsdHlwZToiYm9vbGVhbiJ9XX0KICAgICAgICA+PC9zei1jb25maWctc2VjdGlvbj4KCiAgICAgICAgPHN6LWNvbmZpZy1zZWN0aW9uCiAgICAgICAgICB0aXRsZT0iVExTIC8gQ2VydGlmaWNhdGVzIgogICAgICAgICAgc3VidGl0bGU9IkNlcnRpZmljYXRlIG1hbmFnZW1lbnQgYW5kIEFDTUUiCiAgICAgICAgICBpY29uPSJsdWNpZGU6c2hpZWxkLWNoZWNrIgogICAgICAgICAgc3RhdHVzPSJlbmFibGVkIgogICAgICAgICAgLmZpZWxkcz0ke1t7a2V5OiJDb250YWN0IEVtYWlsIix2YWx1ZToiYWRtaW5Ac2VydmUuem9uZSJ9LHtrZXk6IkRvbWFpbiIsdmFsdWU6InNlcnZlLnpvbmUifSx7a2V5OiJTb3VyY2UiLHZhbHVlOiJhY21lIix0eXBlOiJiYWRnZSJ9LHtrZXk6IkNlcnRpZmljYXRlIFBhdGgiLHZhbHVlOm51bGx9LHtrZXk6IktleSBQYXRoIix2YWx1ZTpudWxsfV19CiAgICAgICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CgogICAgICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICAgICAgdGl0bGU9IkNhY2hlIERhdGFiYXNlIgogICAgICAgICAgc3VidGl0bGU9IlBlcnNpc3RlbnQgY2FjaGluZyB3aXRoIHNtYXJ0ZGF0YSIKICAgICAgICAgIGljb249Imx1Y2lkZTpkYXRhYmFzZSIKICAgICAgICAgIHN0YXR1cz0iZW5hYmxlZCIKICAgICAgICAgIC5maWVsZHM9JHtbe2tleToiU3RvcmFnZSBQYXRoIix2YWx1ZToiL2hvbWUvdXNlci8uc2VydmUuem9uZS9kY3JvdXRlci90c21kYiJ9LHtrZXk6IkRCIE5hbWUiLHZhbHVlOiJkY3JvdXRlciJ9LHtrZXk6IkRlZmF1bHQgVFRMIix2YWx1ZToiMzAgZGF5cyJ9LHtrZXk6IkNsZWFudXAgSW50ZXJ2YWwiLHZhbHVlOiIxIGhvdXIifV19CiAgICAgICAgPjwvc3otY29uZmlnLXNlY3Rpb24+CgogICAgICAgIDxzei1jb25maWctc2VjdGlvbgogICAgICAgICAgdGl0bGU9IlJBRElVUyBTZXJ2ZXIiCiAgICAgICAgICBzdWJ0aXRsZT0iTmV0d29yayBhdXRoZW50aWNhdGlvbiBhbmQgVkxBTiBhc3NpZ25tZW50IgogICAgICAgICAgaWNvbj0ibHVjaWRlOndpZmkiCiAgICAgICAgICBzdGF0dXM9Im5vdC1jb25maWd1cmVkIgogICAgICAgICAgLmZpZWxkcz0ke1t7a2V5OiJBdXRoIFBvcnQiLHZhbHVlOm51bGx9LHtrZXk6IkFjY291bnRpbmcgUG9ydCIsdmFsdWU6bnVsbH1dfQogICAgICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgoKICAgICAgICA8c3otY29uZmlnLXNlY3Rpb24KICAgICAgICAgIHRpdGxlPSJSZW1vdGUgSW5ncmVzcyIKICAgICAgICAgIHN1YnRpdGxlPSJFZGdlIHR1bm5lbCBub2RlcyIKICAgICAgICAgIGljb249Imx1Y2lkZTpjbG91ZCIKICAgICAgICAgIHN0YXR1cz0iZW5hYmxlZCIKICAgICAgICAgIC5maWVsZHM9JHtbe2tleToiVHVubmVsIFBvcnQiLHZhbHVlOjg0NDN9LHtrZXk6Ikh1YiBEb21haW4iLHZhbHVlOiJodWIuc2VydmUuem9uZSJ9LHtrZXk6IlRMUyBDb25maWd1cmVkIix2YWx1ZTohMCx0eXBlOiJib29sZWFuIn1dfQogICAgICAgID48L3N6LWNvbmZpZy1zZWN0aW9uPgogICAgICA8L3N6LWNvbmZpZy1vdmVydmlldz4KICAgIGB9c3RhdGlje21SYShyLHQpfX07cmV0dXJuIG89cn0pKCl9KTt2YXIgY249ZigoKT0+e0VKZSgpO0lKZSgpO1JKZSgpO09KZSgpO0ZKZSgpO0hKZSgpO1ZKZSgpO1VKZSgpO0dKZSgpO1lKZSgpO0tKZSgpO191YSgpO1R1YSgpOyR1YSgpO0R1YSgpO0F1YSgpO1B1YSgpO051YSgpO1J1YSgpO091YSgpO0Z1YSgpO0J1YSgpO0h1YSgpO3F1YSgpO1Z1YSgpO2p1YSgpO1V1YSgpO1d1YSgpO1l1YSgpO0t1YSgpO1p1YSgpO1h1YSgpO1F1YSgpO0p1YSgpO2VwYSgpO3RwYSgpO3JwYSgpO3NwYSgpO2lwYSgpO29wYSgpO2xwYSgpO2NwYSgpfSk7dmFyIFQ1byxkcGE9ZigoKT0+e2xlKCk7VDVvPXMoKCk9PndgCiAgPHN0eWxlPgogICAgYm9keSB7CiAgICAgIG1hcmdpbjogMDsKICAgICAgcGFkZGluZzogMDsKICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsKICAgIH0KICAgIC5kZW1vLWNvbnRhaW5lciB7CiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoOwogICAgICBkaXNwbGF5OiBmbGV4OwogICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgICAgcGFkZGluZzogMjRweDsKICAgIH0KICAgIC5kZW1vLXNlY3Rpb24gewogICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTsKICAgICAgYm9yZGVyLXJhZGl1czogMTJweDsKICAgICAgcGFkZGluZzogNDhweDsKICAgICAgYm94LXNoYWRvdzogMCA0cHggMjRweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgICAgIG1heC13aWR0aDogNjAwcHg7CiAgICAgIHdpZHRoOiAxMDAlOwogICAgfQogICAgaDEgewogICAgICBtYXJnaW46IDAgMCAzMnB4IDA7CiAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90bywgc2Fucy1zZXJpZjsKICAgICAgZm9udC1zaXplOiAyOHB4OwogICAgICBjb2xvcjogIzFhMWExYTsKICAgIH0KICAgIC5jb21wb25lbnQtZGVtbyB7CiAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICAgIGdhcDogMTZweDsKICAgIH0KICA8L3N0eWxlPgogIDxkaXYgY2xhc3M9ImRlbW8tY29udGFpbmVyIj4KICAgIDxkaXYgY2xhc3M9ImRlbW8tc2VjdGlvbiI+CiAgICAgIDxoMT5TZXJ2ZS5ab25lIENhdGFsb2c8L2gxPgogICAgICA8ZGl2IGNsYXNzPSJjb21wb25lbnQtZGVtbyI+CiAgICAgICAgPHN6LWhlbGxvPjwvc3otaGVsbG8+CiAgICAgICAgPHN6LWhlbGxvIHRleHQ9IldlbGNvbWUgdG8gU2VydmUuWm9uZSEiPjwvc3otaGVsbG8+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CmAsIm1haW5wYWdlIil9KTt2YXIgRTVvLHVwYT1mKCgpPT57bGUoKTtjbigpO0U1bz1zKCgpPT53YAogIDxzdHlsZT4KICAgIGh0bWwsIGJvZHkgewogICAgICBtYXJnaW46IDA7CiAgICAgIHBhZGRpbmc6IDA7CiAgICAgIGhlaWdodDogMTAwJTsKICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICB9CiAgICBzei1kZW1vLWFwcC1zaGVsbCB7CiAgICAgIGRpc3BsYXk6IGJsb2NrOwogICAgICBoZWlnaHQ6IDEwMHZoOwogICAgICB3aWR0aDogMTAwdnc7CiAgICB9CiAgPC9zdHlsZT4KICA8c3otZGVtby1hcHAtc2hlbGw+PC9zei1kZW1vLWFwcC1zaGVsbD4KYCwic3pEZW1vQXBwIil9KTt2YXIgYlJhLHZSYSx4UmEscHBhPWYoKCk9PntsZSgpO0RKZSgpO2NuKCk7YlJhPWZ1bmN0aW9uKGEsZSx0LHIsaSxvKXtmdW5jdGlvbiBuKHkpe2lmKHkhPT12b2lkIDAmJnR5cGVvZiB5IT0iZnVuY3Rpb24iKXRocm93IG5ldyBUeXBlRXJyb3IoIkZ1bmN0aW9uIGV4cGVjdGVkIik7cmV0dXJuIHl9cyhuLCJhY2NlcHQiKTtmb3IodmFyIGw9ci5raW5kLGQ9bD09PSJnZXR0ZXIiPyJnZXQiOmw9PT0ic2V0dGVyIj8ic2V0IjoidmFsdWUiLGM9IWUmJmE/ci5zdGF0aWM/YTphLnByb3RvdHlwZTpudWxsLHA9ZXx8KGM/T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihjLHIubmFtZSk6e30pLHUsbT0hMSx2PXQubGVuZ3RoLTE7dj49MDt2LS0pe3ZhciB4PXt9O2Zvcih2YXIgYiBpbiByKXhbYl09Yj09PSJhY2Nlc3MiP3t9OnJbYl07Zm9yKHZhciBiIGluIHIuYWNjZXNzKXguYWNjZXNzW2JdPXIuYWNjZXNzW2JdO3guYWRkSW5pdGlhbGl6ZXI9ZnVuY3Rpb24oeSl7aWYobSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgYWRkIGluaXRpYWxpemVycyBhZnRlciBkZWNvcmF0aW9uIGhhcyBjb21wbGV0ZWQiKTtvLnB1c2gobih5fHxudWxsKSl9O3ZhciBnPSgwLHRbdl0pKGw9PT0iYWNjZXNzb3IiP3tnZXQ6cC5nZXQsc2V0OnAuc2V0fTpwW2RdLHgpO2lmKGw9PT0iYWNjZXNzb3IiKXtpZihnPT09dm9pZCAwKWNvbnRpbnVlO2lmKGc9PT1udWxsfHx0eXBlb2YgZyE9Im9iamVjdCIpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0IGV4cGVjdGVkIik7KHU9bihnLmdldCkpJiYocC5nZXQ9dSksKHU9bihnLnNldCkpJiYocC5zZXQ9dSksKHU9bihnLmluaXQpKSYmaS51bnNoaWZ0KHUpfWVsc2UodT1uKGcpKSYmKGw9PT0iZmllbGQiP2kudW5zaGlmdCh1KTpwW2RdPXUpfWMmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShjLHIubmFtZSxwKSxtPSEwfSx2UmE9ZnVuY3Rpb24oYSxlLHQpe2Zvcih2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjIsaT0wO2k8ZS5sZW5ndGg7aSsrKXQ9cj9lW2ldLmNhbGwoYSx0KTplW2ldLmNhbGwoYSk7cmV0dXJuIHI/dDp2b2lkIDB9LHhSYT0oKCk9PntsZXQgYT1baWUoInN6LWRlbW8tYXBwLXNoZWxsIildLGUsdD1bXSxyLGk9cGU7dmFyIG89Y2xhc3MgZXh0ZW5kcyBpe3N0YXRpY3tzKHRoaXMsIlN6RGVtb0FwcFNoZWxsIil9c3RhdGlje3I9dGhpc31zdGF0aWN7bGV0IG49dHlwZW9mIFN5bWJvbD09ImZ1bmN0aW9uIiYmU3ltYm9sLm1ldGFkYXRhP09iamVjdC5jcmVhdGUoaVtTeW1ib2wubWV0YWRhdGFdPz9udWxsKTp2b2lkIDA7YlJhKG51bGwsZT17dmFsdWU6cn0sYSx7a2luZDoiY2xhc3MiLG5hbWU6ci5uYW1lLG1ldGFkYXRhOm59LG51bGwsdCksbz1yPWUudmFsdWUsbiYmT2JqZWN0LmRlZmluZVByb3BlcnR5KHIsU3ltYm9sLm1ldGFkYXRhLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufSl9c3RhdGljIHN0eWxlcz1baC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgICAgd2lkdGg6IDEwMCU7CiAgICAgIH0KCiAgICAgIGRlZXMtYXBwdWkgewogICAgICAgIGhlaWdodDogMTAwJTsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxkZWVzLWFwcHVpPjwvZGVlcy1hcHB1aT4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7bGV0IG49dGhpcy5zaGFkb3dSb290Py5xdWVyeVNlbGVjdG9yKCJkZWVzLWFwcHVpIik7biYmKG4uY29uZmlndXJlKHticmFuZGluZzp7bG9nb0ljb246Imx1Y2lkZTpCb3giLGxvZ29UZXh0OiJzZXJ2ZS56b25lIn0sYXBwQmFyOntzaG93U2VhcmNoOiEwLGJyZWFkY3J1bWJzOiJzZXJ2ZS56b25lIixtZW51SXRlbXM6W3tuYW1lOiJGaWxlIixhY3Rpb246cyhhc3luYygpPT57fSwiYWN0aW9uIiksc3VibWVudTpbe25hbWU6Ik5ldyBTZXJ2aWNlIixzaG9ydGN1dDoiQ21kK04iLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiTmV3IFNlcnZpY2UiKX0sImFjdGlvbiIpfSx7bmFtZToiSW1wb3J0IENvbmZpZ3VyYXRpb24iLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiSW1wb3J0Iil9LCJhY3Rpb24iKX0se25hbWU6IkV4cG9ydCBDb25maWd1cmF0aW9uIixhY3Rpb246cyhhc3luYygpPT57Y29uc29sZS5sb2coIkV4cG9ydCIpfSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiUHJlZmVyZW5jZXMiLHNob3J0Y3V0OiJDbWQrLCIsYWN0aW9uOnMoYXN5bmMoKT0+e24ubmF2aWdhdGVUb1ZpZXcoInNldHRpbmdzIil9LCJhY3Rpb24iKX1dfSx7bmFtZToiVmlldyIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJEYXNoYm9hcmQiLHNob3J0Y3V0OiJDbWQrMSIsYWN0aW9uOnMoYXN5bmMoKT0+e24ubmF2aWdhdGVUb1ZpZXcoImRhc2hib2FyZCIpfSwiYWN0aW9uIil9LHtuYW1lOiJTZXJ2aWNlcyIsc2hvcnRjdXQ6IkNtZCsyIixhY3Rpb246cyhhc3luYygpPT57bi5uYXZpZ2F0ZVRvVmlldygic2VydmljZXMiKX0sImFjdGlvbiIpfSx7bmFtZToiTmV0d29yayIsc2hvcnRjdXQ6IkNtZCszIixhY3Rpb246cyhhc3luYygpPT57bi5uYXZpZ2F0ZVRvVmlldygibmV0d29yayIpfSwiYWN0aW9uIil9LHtkaXZpZGVyOiEwfSx7bmFtZToiQWN0aXZpdHkgTG9nIixzaG9ydGN1dDoiQ21kK1NoaWZ0K0EiLGFjdGlvbjpzKGFzeW5jKCk9PntuLnRvZ2dsZUFjdGl2aXR5TG9nKCl9LCJhY3Rpb24iKX0se25hbWU6IlRvZ2dsZSBTaWRlYmFyIixzaG9ydGN1dDoiQ21kK0IiLGFjdGlvbjpzKGFzeW5jKCk9PntuLnNldE1haW5NZW51Q29sbGFwc2VkKCFuLm1haW5tZW51Q29sbGFwc2VkKX0sImFjdGlvbiIpfV19LHtuYW1lOiJTZXJ2aWNlcyIsYWN0aW9uOnMoYXN5bmMoKT0+e30sImFjdGlvbiIpLHN1Ym1lbnU6W3tuYW1lOiJEZXBsb3kgTmV3IFNlcnZpY2UiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiRGVwbG95Iil9LCJhY3Rpb24iKX0se25hbWU6IlN0YXJ0IEFsbCIsYWN0aW9uOnMoYXN5bmMoKT0+e2NvbnNvbGUubG9nKCJTdGFydCBhbGwiKX0sImFjdGlvbiIpfSx7bmFtZToiU3RvcCBBbGwiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiU3RvcCBhbGwiKX0sImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkdhcmJhZ2UgQ29sbGVjdCIsYWN0aW9uOnMoYXN5bmMoKT0+e2NvbnNvbGUubG9nKCJHQyIpfSwiYWN0aW9uIil9XX0se25hbWU6IkhlbHAiLGFjdGlvbjpzKGFzeW5jKCk9Pnt9LCJhY3Rpb24iKSxzdWJtZW51Olt7bmFtZToiRG9jdW1lbnRhdGlvbiIsYWN0aW9uOnMoYXN5bmMoKT0+e3dpbmRvdy5vcGVuKCJodHRwczovL2RvY3Muc2VydmUuem9uZSIsIl9ibGFuayIpfSwiYWN0aW9uIil9LHtuYW1lOiJSZWxlYXNlIE5vdGVzIixhY3Rpb246cyhhc3luYygpPT57Y29uc29sZS5sb2coIlJlbGVhc2Ugbm90ZXMiKX0sImFjdGlvbiIpfSx7ZGl2aWRlcjohMH0se25hbWU6IkFib3V0IHNlcnZlLnpvbmUiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiQWJvdXQiKX0sImFjdGlvbiIpfV19XX0sdmlld3M6W3tpZDoiZGFzaGJvYXJkIixuYW1lOiJEYXNoYm9hcmQiLGljb25OYW1lOiJsdWNpZGU6TGF5b3V0RGFzaGJvYXJkIixjb250ZW50OiJzei1kZW1vLXZpZXctZGFzaGJvYXJkIn0se2lkOiJzZXJ2aWNlcyIsbmFtZToiU2VydmljZXMiLGljb25OYW1lOiJsdWNpZGU6U2VydmVyIixjb250ZW50OiJzei1kZW1vLXZpZXctc2VydmljZXMifSx7aWQ6Im5ldHdvcmsiLG5hbWU6Ik5ldHdvcmsiLGljb25OYW1lOiJsdWNpZGU6TmV0d29yayIsY29udGVudDoic3otZGVtby12aWV3LW5ldHdvcmsifSx7aWQ6InJlZ2lzdHJpZXMiLG5hbWU6IlJlZ2lzdHJpZXMiLGljb25OYW1lOiJsdWNpZGU6QXJjaGl2ZSIsY29udGVudDoic3otZGVtby12aWV3LXJlZ2lzdHJpZXMifSx7aWQ6InRva2VucyIsbmFtZToiVG9rZW5zIixpY29uTmFtZToibHVjaWRlOktleSIsY29udGVudDoic3otZGVtby12aWV3LXRva2VucyJ9LHtpZDoibXRhIixuYW1lOiJFbWFpbCAvIE1UQSIsaWNvbk5hbWU6Imx1Y2lkZTpNYWlsIixjb250ZW50OiJzei1kZW1vLXZpZXctbXRhIn0se2lkOiJyb3V0ZXMiLG5hbWU6IlJvdXRlcyIsaWNvbk5hbWU6Imx1Y2lkZTpSb3V0ZSIsY29udGVudDoic3otZGVtby12aWV3LXJvdXRlcyJ9LHtpZDoic2V0dGluZ3MiLG5hbWU6IlNldHRpbmdzIixpY29uTmFtZToibHVjaWRlOlNldHRpbmdzIixjb250ZW50OiJzei1kZW1vLXZpZXctc2V0dGluZ3MifV0sbWFpbk1lbnU6e3NlY3Rpb25zOlt7bmFtZToiT3ZlcnZpZXciLHZpZXdzOlsiZGFzaGJvYXJkIl19LHtuYW1lOiJJbmZyYXN0cnVjdHVyZSIsdmlld3M6WyJzZXJ2aWNlcyIsIm5ldHdvcmsiLCJyZWdpc3RyaWVzIiwibXRhIiwicm91dGVzIl19LHtuYW1lOiJBZG1pbmlzdHJhdGlvbiIsdmlld3M6WyJ0b2tlbnMiLCJzZXR0aW5ncyJdfV19LGRlZmF1bHRWaWV3OiJkYXNoYm9hcmQiLG9uVmlld0NoYW5nZTpzKChsLGQpPT57Y29uc29sZS5sb2coIlZpZXcgY2hhbmdlZCB0bzoiLGwsZCl9LCJvblZpZXdDaGFuZ2UiKX0pLG4uc2V0VXNlcih7bmFtZToiQWRtaW4gVXNlciIsZW1haWw6ImFkbWluQHNlcnZlLnpvbmUiLHN0YXR1czoib25saW5lIn0pLG4uc2V0UHJvZmlsZU1lbnVJdGVtcyhbe25hbWU6IlByb2ZpbGUiLGljb25OYW1lOiJsdWNpZGU6VXNlciIsYWN0aW9uOnMoYXN5bmMoKT0+e2NvbnNvbGUubG9nKCJQcm9maWxlIil9LCJhY3Rpb24iKX0se25hbWU6IlByZWZlcmVuY2VzIixpY29uTmFtZToibHVjaWRlOlNsaWRlcnNIb3Jpem9udGFsIixhY3Rpb246cyhhc3luYygpPT57Y29uc29sZS5sb2coIlByZWZlcmVuY2VzIil9LCJhY3Rpb24iKX0se2RpdmlkZXI6ITB9LHtuYW1lOiJTaWduIE91dCIsaWNvbk5hbWU6Imx1Y2lkZTpMb2dPdXQiLGFjdGlvbjpzKGFzeW5jKCk9Pntjb25zb2xlLmxvZygiU2lnbiBPdXQiKX0sImFjdGlvbiIpfV0pKX1zdGF0aWN7dlJhKHIsdCl9fTtyZXR1cm4gbz1yfSkoKX0pO3ZhciBmcGE9ZigoKT0+e2RwYSgpO3VwYSgpO3BwYSgpfSk7dmFyIGhwYT1mKCgpPT57Y24oKTtmcGEoKX0pO3ZhciBHNCxZND1mKCgpPT57cDMoKTtHND1GaShINygpLDEpO05oKCk7UmxlKCk7TWwoKTtCbGUoKTtLcygpO3ZYKCl9KTt2YXIgSjEsdTc9ZigoKT0+e1k0KCk7SjE9Y2xhc3N7c3RhdGlje3ModGhpcywiVHlwZWRSZXNwb25zZUVycm9yIil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLmVycm9yVGV4dD1lLHRoaXMuZXJyb3JEYXRhPXR9fX0pO3ZhciB3aWUsbXBhPWYoKCk9Pnt1NygpO1k0KCk7d2llPWNsYXNze3N0YXRpY3tzKHRoaXMsIlR5cGVkVG9vbHMiKX1jb25zdHJ1Y3Rvcigpe3RoaXMubG9jYWxEYXRhPXt9fWFzeW5jIHBhc3NHdWFyZHMoZSx0KXtsZXQgcj1uZXcgJGwuR3VhcmRTZXQoZSk7aWYoIWF3YWl0IHIuYWxsR3VhcmRzUGFzcyh0KSl7bGV0IG89YXdhaXQgci5nZXRGYWlsZWRIaW50KHQpO3Rocm93IG5ldyBKMShgZ3VhcmQgZmFpbGVkOiAke299YCx7ZmFpbGVkSGludDpvfSl9fX19KTt2YXIgcGV0LGZldD1mKCgpPT57WTQoKTt1NygpO21wYSgpO3BldD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJUeXBlZEhhbmRsZXIiKX1jb25zdHJ1Y3RvcihlLHQpe3RoaXMubWV0aG9kPWUsdGhpcy5oYW5kbGVyRnVuY3Rpb249dH1hc3luYyBhZGRSZXNwb25zZShlKXtpZihlLm1ldGhvZCE9PXRoaXMubWV0aG9kKXRocm93IG5ldyBFcnJvcigidGhpcyBoYW5kbGVyIGhhcyBiZWVuIGdpdmVuIGEgd3JvbmcgbWV0aG9kIHRvIGFuc3dlciB0by4gUGxlYXNlIHVzZSBhIFR5cGVkUm91dGVyIHRvIGZpbHRlciByZXF1ZXN0cyIpO2xldCB0LHI9bmV3IHdpZTtlLmxvY2FsRGF0YSYmKHIubG9jYWxEYXRhPWUubG9jYWxEYXRhKTtsZXQgaT1hd2FpdCB0aGlzLmhhbmRsZXJGdW5jdGlvbihlLnJlcXVlc3QscikuY2F0Y2gobz0+e28gaW5zdGFuY2VvZiBKMT90PW86Y29uc29sZS5sb2cobyl9KTtyZXR1cm4gdCYmKGUuZXJyb3I9e3RleHQ6dC5lcnJvclRleHQsZGF0YTp0LmVycm9yRGF0YX0pLGkmJihlLnJlc3BvbnNlPWkpLGU/LmNvcnJlbGF0aW9uPy5waGFzZSYmKGUuY29ycmVsYXRpb24ucGhhc2U9InJlc3BvbnNlIiksZX19fSk7dmFyIFA1LCRHPWYoKCk9PntZNCgpO01pZSgpO2ZldCgpO2hldCgpO3U3KCk7UDU9Y2xhc3MgYXtzdGF0aWN7cyh0aGlzLCJUeXBlZFJvdXRlciIpfWNvbnN0cnVjdG9yKCl7dGhpcy5ob29rcz17fSx0aGlzLnJvdXRlck1hcD1uZXcgV2EuT2JqZWN0TWFwLHRoaXMuaGFuZGxlck1hcD1uZXcgV2EuT2JqZWN0TWFwLHRoaXMucmVnaXN0ZXJlZFZpcnR1YWxTdHJlYW1zPW5ldyBXYS5PYmplY3RNYXAsdGhpcy5taWRkbGV3YXJlcz1bXSx0aGlzLmZpcmVFdmVudEludGVyZXN0TWFwPW5ldyBXYS5JbnRlcmVzdE1hcChlPT5lKX1zdGF0aWMgZ2V0IGdsb2JhbEhvb2tzKCl7cmV0dXJuIGdsb2JhbFRoaXMuX190eXBlZFJvdXRlckdsb2JhbEhvb2tzfHwoZ2xvYmFsVGhpcy5fX3R5cGVkUm91dGVyR2xvYmFsSG9va3M9e30pLGdsb2JhbFRoaXMuX190eXBlZFJvdXRlckdsb2JhbEhvb2tzfXN0YXRpYyBzZXQgZ2xvYmFsSG9va3MoZSl7Z2xvYmFsVGhpcy5fX3R5cGVkUm91dGVyR2xvYmFsSG9va3M9ZX1zdGF0aWMgc2V0R2xvYmFsSG9va3MoZSl7bGV0IHQ9YS5nbG9iYWxIb29rczthLmdsb2JhbEhvb2tzPXsuLi50LC4uLmV9fXN0YXRpYyBjbGVhckdsb2JhbEhvb2tzKCl7Z2xvYmFsVGhpcy5fX3R5cGVkUm91dGVyR2xvYmFsSG9va3M9e319c2V0SG9va3MoZSl7dGhpcy5ob29rcz17Li4udGhpcy5ob29rcywuLi5lfX1jYWxsSG9vayhlLHQpe3RyeXthLmdsb2JhbEhvb2tzW2VdPy4odCksdGhpcy5ob29rc1tlXT8uKHQpfWNhdGNoKHIpe2NvbnNvbGUuZXJyb3IoYFR5cGVkUm91dGVyIGhvb2sgZXJyb3IgKCR7ZX0pOmAscil9fWFkZE1pZGRsZXdhcmUoZSl7dGhpcy5taWRkbGV3YXJlcy5wdXNoKGUpfWFkZFR5cGVkSGFuZGxlcihlKXtpZih0aGlzLmdldFR5cGVkSGFuZGxlckZvck1ldGhvZChlLm1ldGhvZCkpdGhyb3cgbmV3IEVycm9yKGBhIFR5cGVkSGFuZGxlciBmb3IgJHtlLm1ldGhvZH0gYWxyZWR5IGV4aXN0cyEgQ2FuJ3QgYWRkIGFub3RoZXIgb25lLmApO3RoaXMuaGFuZGxlck1hcC5hZGQoZSl9YWRkVHlwZWRSb3V0ZXIoZSl7dGhpcy5yb3V0ZXJNYXAuZmluZFN5bmMocj0+cj09PWUpfHwodGhpcy5yb3V0ZXJNYXAuYWRkKGUpLGUuYWRkVHlwZWRSb3V0ZXIodGhpcykpfWNoZWNrRm9yVHlwZWRIYW5kbGVyKGUpe3JldHVybiEhdGhpcy5nZXRUeXBlZEhhbmRsZXJGb3JNZXRob2QoZSl9Z2V0VHlwZWRIYW5kbGVyRm9yTWV0aG9kKGUsdD1bXSl7dC5wdXNoKHRoaXMpO2xldCByO3JldHVybiByPXRoaXMuaGFuZGxlck1hcC5maW5kU3luYyhpPT5pLm1ldGhvZD09PWUpLHJ8fHRoaXMucm91dGVyTWFwLmdldEFycmF5KCkuZm9yRWFjaChpPT57IXImJiF0LmluY2x1ZGVzKGkpJiYocj1pLmdldFR5cGVkSGFuZGxlckZvck1ldGhvZChlLHQpKX0pLHJ9Z2V0VHlwZWRIYW5kbGVyQW5kUm91dGVyKGUsdD1bXSl7dC5wdXNoKHRoaXMpO2xldCByPXRoaXMuaGFuZGxlck1hcC5maW5kU3luYyhpPT5pLm1ldGhvZD09PWUpO2lmKHIpcmV0dXJue2hhbmRsZXI6cixyb3V0ZXI6dGhpc307Zm9yKGxldCBpIG9mIHRoaXMucm91dGVyTWFwLmdldEFycmF5KCkpaWYoIXQuaW5jbHVkZXMoaSkpe2xldCBvPWkuZ2V0VHlwZWRIYW5kbGVyQW5kUm91dGVyKGUsdCk7aWYobylyZXR1cm4gb31yZXR1cm4gbnVsbH1zdGF0aWN7dGhpcy5kZWZhdWx0Um91dGVPcHRpb25zPXtsb2NhbFJlcXVlc3Q6ITEsc2tpcEhvb2tzOiExfX1hc3luYyByb3V0ZUFuZEFkZFJlc3BvbnNlKGUsdD17fSl7bGV0IHI9ey4uLmEuZGVmYXVsdFJvdXRlT3B0aW9ucywuLi50fTtpZihlPWUyLmRlY29kZVBheWxvYWRGcm9tTmV0d29yayhlLHt0eXBlZHJvdXRlcjp0aGlzfSksZS5sb2NhbERhdGE9ZS5sb2NhbERhdGF8fHt9LGUubG9jYWxEYXRhLmZpcnN0VHlwZWRyb3V0ZXI9dGhpcyxlLm1ldGhvZD09PSIjI1ZpcnR1YWxTdHJlYW0jIyIpe2xldCBpPWF3YWl0IHRoaXMuaGFuZGxlU3RyZWFtVHlwZWRSZXF1ZXN0KGUpO3JldHVybiBpLmxvY2FsRGF0YT1udWxsLGl9aWYoZT8uY29ycmVsYXRpb24/LnBoYXNlPT09InJlcXVlc3QifHxyLmxvY2FsUmVxdWVzdCl7bGV0IGk9RGF0ZS5ub3coKTtyLnNraXBIb29rc3x8dGhpcy5jYWxsSG9vaygib25JbmNvbWluZ1JlcXVlc3QiLHtjb3JyZWxhdGlvbklkOmUuY29ycmVsYXRpb24/LmlkfHwidW5rbm93biIsbWV0aG9kOmUubWV0aG9kLGRpcmVjdGlvbjoiaW5jb21pbmciLHBoYXNlOiJyZXF1ZXN0Iix0aW1lc3RhbXA6aSxwYXlsb2FkOmUucmVxdWVzdH0pO2xldCBvPXRoaXMuZ2V0VHlwZWRIYW5kbGVyQW5kUm91dGVyKGUubWV0aG9kKTtpZighbylyZXR1cm4gY29uc29sZS5sb2coYENhbm5vdCBmaW5kIGhhbmRsZXIgZm9yIG1ldGhvZG5hbWUgJHtlLm1ldGhvZH1gKSxlLmVycm9yPXt0ZXh0OiJUaGVyZSBpcyBubyBhdmFpbGFibGUgbWV0aG9kIGZvciB0aGlzIGNhbGwgb24gdGhlIHNlcnZlciBzaWRlIixkYXRhOnt9fSxlLmNvcnJlbGF0aW9uLnBoYXNlPSJyZXNwb25zZSIsZS5sb2NhbERhdGE9bnVsbCxlPWUyLmVuY29kZVBheWxvYWRGb3JOZXR3b3JrKGUse3R5cGVkcm91dGVyOnRoaXN9KSxyLnNraXBIb29rc3x8dGhpcy5jYWxsSG9vaygib25PdXRnb2luZ1Jlc3BvbnNlIix7Y29ycmVsYXRpb25JZDplLmNvcnJlbGF0aW9uPy5pZHx8InVua25vd24iLG1ldGhvZDplLm1ldGhvZCxkaXJlY3Rpb246Im91dGdvaW5nIixwaGFzZToicmVzcG9uc2UiLHRpbWVzdGFtcDpEYXRlLm5vdygpLGR1cmF0aW9uTXM6RGF0ZS5ub3coKS1pLHBheWxvYWQ6ZS5yZXNwb25zZSxlcnJvcjplLmVycm9yPy50ZXh0fSksZTtsZXR7aGFuZGxlcjpuLHJvdXRlcjpsfT1vO2lmKGwubWlkZGxld2FyZXMubGVuZ3RoPjApdHJ5e2ZvcihsZXQgZCBvZiBsLm1pZGRsZXdhcmVzKWF3YWl0IGQoZSl9Y2F0Y2goZCl7cmV0dXJuIGQgaW5zdGFuY2VvZiBKMT9lLmVycm9yPXt0ZXh0OmQuZXJyb3JUZXh0LGRhdGE6ZC5lcnJvckRhdGF8fHt9fTplLmVycm9yPXt0ZXh0OmQubWVzc2FnZXx8Ik1pZGRsZXdhcmUgZXJyb3IiLGRhdGE6e319LGUuY29ycmVsYXRpb24ucGhhc2U9InJlc3BvbnNlIixlLmxvY2FsRGF0YT1udWxsLGU9ZTIuZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsoZSx7dHlwZWRyb3V0ZXI6dGhpc30pLHIuc2tpcEhvb2tzfHx0aGlzLmNhbGxIb29rKCJvbk91dGdvaW5nUmVzcG9uc2UiLHtjb3JyZWxhdGlvbklkOmUuY29ycmVsYXRpb24/LmlkfHwidW5rbm93biIsbWV0aG9kOmUubWV0aG9kLGRpcmVjdGlvbjoib3V0Z29pbmciLHBoYXNlOiJyZXNwb25zZSIsdGltZXN0YW1wOkRhdGUubm93KCksZHVyYXRpb25NczpEYXRlLm5vdygpLWkscGF5bG9hZDplLnJlc3BvbnNlLGVycm9yOmUuZXJyb3I/LnRleHR9KSxlfXJldHVybiBlPWF3YWl0IG4uYWRkUmVzcG9uc2UoZSksZS5sb2NhbERhdGE9bnVsbCxlPWUyLmVuY29kZVBheWxvYWRGb3JOZXR3b3JrKGUse3R5cGVkcm91dGVyOnRoaXN9KSxyLnNraXBIb29rc3x8dGhpcy5jYWxsSG9vaygib25PdXRnb2luZ1Jlc3BvbnNlIix7Y29ycmVsYXRpb25JZDplLmNvcnJlbGF0aW9uPy5pZHx8InVua25vd24iLG1ldGhvZDplLm1ldGhvZCxkaXJlY3Rpb246Im91dGdvaW5nIixwaGFzZToicmVzcG9uc2UiLHRpbWVzdGFtcDpEYXRlLm5vdygpLGR1cmF0aW9uTXM6RGF0ZS5ub3coKS1pLHBheWxvYWQ6ZS5yZXNwb25zZSxlcnJvcjplLmVycm9yPy50ZXh0fSksZX1lbHNlIHJldHVybiBlPy5jb3JyZWxhdGlvbj8ucGhhc2U9PT0icmVzcG9uc2UiPyhyLnNraXBIb29rc3x8dGhpcy5jYWxsSG9vaygib25JbmNvbWluZ1Jlc3BvbnNlIix7Y29ycmVsYXRpb25JZDplLmNvcnJlbGF0aW9uPy5pZHx8InVua25vd24iLG1ldGhvZDplLm1ldGhvZCxkaXJlY3Rpb246ImluY29taW5nIixwaGFzZToicmVzcG9uc2UiLHRpbWVzdGFtcDpEYXRlLm5vdygpLHBheWxvYWQ6ZS5yZXNwb25zZSxlcnJvcjplLmVycm9yPy50ZXh0fSksdGhpcy5maXJlRXZlbnRJbnRlcmVzdE1hcC5maW5kSW50ZXJlc3QoZS5jb3JyZWxhdGlvbi5pZCk/LmZ1bGxmaWxsSW50ZXJlc3QoZSksbnVsbCk6KGNvbnNvbGUubG9nKCJyZWNlaXZlZCB3ZWlyZGx5IHNoYXBlZCByZXF1ZXN0IiksY29uc29sZS5sb2coZSksbnVsbCl9YXN5bmMgaGFuZGxlU3RyZWFtVHlwZWRSZXF1ZXN0KGUpe2xldCB0PWF3YWl0IHRoaXMucmVnaXN0ZXJlZFZpcnR1YWxTdHJlYW1zLmZpbmQoYXN5bmMgaT0+aS5zdHJlYW1JZD09PWUucmVxdWVzdC5zdHJlYW1JZCk7aWYodCljb25zb2xlLmxvZyhgc3VjY2VzczogZm91bmQgcmVsZXZhbnQgdmlydHVhbCBzdHJlYW0gd2l0aCBpZCAke2UucmVxdWVzdC5zdHJlYW1JZH1gKTtlbHNlIHJldHVybiBjb25zb2xlLmxvZyhgbm8gcmVsZXZhbnQgdmlydHVhbCBzdHJlYW0gZm91bmQgZm9yIHN0cmVhbSB3aXRoIGlkICR7ZS5yZXF1ZXN0LnN0cmVhbUlkfWApLGNvbnNvbGUubG9nKHRoaXMucmVnaXN0ZXJlZFZpcnR1YWxTdHJlYW1zLmdldEFycmF5KCkpLGU7cmV0dXJuIGF3YWl0IHQuaGFuZGxlU3RyZWFtVHIoZSl9fX0pO3ZhciBncGEsZTIsTWllPWYoKCk9PntZNCgpOyRHKCk7Z3BhPSIjIyMjIyMjIyMjIyMjQ0xPU0lORyBCSVQjIyMjIyMjIyMjIyMjIixlMj1jbGFzcyBhe3N0YXRpY3tzKHRoaXMsIlZpcnR1YWxTdHJlYW0iKX1zdGF0aWMgZW5jb2RlUGF5bG9hZEZvck5ldHdvcmsoZSx0LHIsaT1bXSl7cmV0dXJuIWV8fHMxLmlzQnVmZmVyTGlrZShlKT9lOmUgaW5zdGFuY2VvZiBhPyghZS5zaWRlJiZ0LnNlbmRNZXRob2QmJihlLnNpZGU9InJlcXVlc3RpbmciLGUuc2VuZE1ldGhvZD10LnNlbmRNZXRob2QpLCFlLnNpZGUmJnQudHlwZWRyb3V0ZXImJihlLnNpZGU9InJlc3BvbmRpbmciLGUudHlwZWRyb3V0ZXI9dC50eXBlZHJvdXRlcix0LnR5cGVkcm91dGVyLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5hZGQoZSkpLCFyLnJlc3BvbnNlfHxpLmluY2x1ZGVzKCJyZXNwb25zZSIpPyhlLnN0YXJ0S2VlcEFsaXZlTG9vcCgpLHtfaXNWaXJ0dWFsU3RyZWFtOiEwLHN0cmVhbUlkOmUuc3RyZWFtSWR9KTp7X09CTUlUVEVEX1ZJUlRVQUxfU1RSRUFNOiEwLHJlYXNvbjoicGF0aCBpcyB1bmRlciAucmVxdWVzdDogb2JtaXR0ZWQgZm9yIGRlZHVwbGljYXRpb24gcmVhc29ucyBpbiByZXNwb25zZSBjeWNsZS4ifSk6QXJyYXkuaXNBcnJheShlKT9lLm1hcCgobyxuKT0+YS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhvLHQscnx8ZSxpLmNvbmNhdChTdHJpbmcobikpKSk6ZSE9PW51bGwmJnR5cGVvZiBlPT0ib2JqZWN0Ij9PYmplY3QuZW50cmllcyhlKS5yZWR1Y2UoKG8sW24sbF0pPT57bGV0IGQ9aS5jb25jYXQobik7cmV0dXJuIG9bbl09YS5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhsLHQscnx8ZSxkKSxvfSx7fSk6ZX1zdGF0aWMgZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKGUsdCl7aWYoczEuaXNCdWZmZXJMaWtlKGUpfHxlIGluc3RhbmNlb2YgUDUpcmV0dXJuIGU7aWYoZSE9PW51bGwmJnR5cGVvZiBlPT0ib2JqZWN0Iil7aWYoZSBpbnN0YW5jZW9mIFNldHx8ZSBpbnN0YW5jZW9mIE1hcHx8ZSBpbnN0YW5jZW9mIERhdGV8fGUgaW5zdGFuY2VvZiBSZWdFeHB8fGUgaW5zdGFuY2VvZiBFcnJvcnx8ZSBpbnN0YW5jZW9mIFByb21pc2V8fHR5cGVvZiBlLnRoZW49PSJmdW5jdGlvbiIpcmV0dXJuIGU7aWYoZS5faXNWaXJ0dWFsU3RyZWFtKXtsZXQgcj1uZXcgYTtyZXR1cm4gci5zdHJlYW1JZD1lLnN0cmVhbUlkLCFyLnNpZGUmJnQuc2VuZE1ldGhvZCYmKHIuc2lkZT0icmVxdWVzdGluZyIsci5zZW5kTWV0aG9kPXQuc2VuZE1ldGhvZCksIXIuc2lkZSYmdC50eXBlZHJvdXRlciYmKHIuc2lkZT0icmVzcG9uZGluZyIsci50eXBlZHJvdXRlcj10LnR5cGVkcm91dGVyLHQudHlwZWRyb3V0ZXIucmVnaXN0ZXJlZFZpcnR1YWxTdHJlYW1zLmFkZChyKSksci5zdGFydEtlZXBBbGl2ZUxvb3AoKSxyfWVsc2UgaWYoQXJyYXkuaXNBcnJheShlKSl7bGV0IHI9W107Zm9yKGxldCBpIG9mIGUpci5wdXNoKGEuZGVjb2RlUGF5bG9hZEZyb21OZXR3b3JrKGksdCkpO3JldHVybiByfWVsc2UgcmV0dXJuIE9iamVjdC5rZXlzKGUpLnJlZHVjZSgocixpKT0+KHJbaV09YS5kZWNvZGVQYXlsb2FkRnJvbU5ldHdvcmsoZVtpXSx0KSxyKSx7fSl9ZWxzZSByZXR1cm4gZX1jb25zdHJ1Y3Rvcigpe3RoaXMuc3RyZWFtSWQ9RzQudW5pKCksdGhpcy5rZWVwQWxpdmU9ITAsdGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5PW5ldyBXYS5CYWNrcHJlc3N1cmVkQXJyYXkoMTYpLHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheT1uZXcgV2EuQmFja3ByZXNzdXJlZEFycmF5KDE2KX1zdGF0aWMgcmVjb25zdGl0dXRlQmluYXJ5RGF0YShlKXtpZihlPT1udWxsfHxlIGluc3RhbmNlb2YgVWludDhBcnJheXx8dHlwZW9mIEJ1ZmZlcjwidSImJkJ1ZmZlci5pc0J1ZmZlcihlKSlyZXR1cm4gZTtpZih0eXBlb2YgZT09Im9iamVjdCIpe2lmKGUudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmdHlwZW9mIGUuZGF0YT09InN0cmluZyImJmUuZGF0YS5zdGFydHNXaXRoKCJiYXNlNjQ6Iikpe2xldCByPWUuZGF0YS5zbGljZSg3KTtpZih0eXBlb2YgQnVmZmVyPCJ1Iil7bGV0IGk9QnVmZmVyLmZyb20ociwiYmFzZTY0Iik7cmV0dXJuIG5ldyBVaW50OEFycmF5KGkuYnVmZmVyLGkuYnl0ZU9mZnNldCxpLmJ5dGVMZW5ndGgpfXJldHVybiBuZXcgVWludDhBcnJheShBcnJheS5mcm9tKGF0b2IocikpLm1hcChpPT5pLmNoYXJDb2RlQXQoMCkpKX1pZihlLnR5cGU9PT0iQnVmZmVyIiYmQXJyYXkuaXNBcnJheShlLmRhdGEpKXJldHVybiBuZXcgVWludDhBcnJheShlLmRhdGEpO2xldCB0PU9iamVjdC5rZXlzKGUpO2lmKHQubGVuZ3RoPjAmJnQuZXZlcnkocj0+L15cZCskLy50ZXN0KHIpKSl7bGV0IHI9bmV3IEFycmF5KHQubGVuZ3RoKTtmb3IobGV0IGkgb2YgdClyW051bWJlcihpKV09ZVtpXTtpZihyLmV2ZXJ5KGk9PnR5cGVvZiBpPT0ibnVtYmVyIikpcmV0dXJuIG5ldyBVaW50OEFycmF5KHIpfX1yZXR1cm4gZX1hc3luYyB3b3JrT25RdWV1ZSgpe2lmKHRoaXMud29ya2luZ0RlZmVycmVkKXJldHVybiB0aGlzLndvcmtpbmdEZWZlcnJlZC5wcm9taXNlO2lmKHRoaXMud29ya2luZ0RlZmVycmVkPWV0LmRlZmVyKCksdGhpcy5zaWRlPT09InJlcXVlc3RpbmciKXtsZXQgZT0hdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKSx0PSExLHI9ITEsaT1zKGFzeW5jKCk9PntsZXQgbz1hd2FpdCB0aGlzLnNlbmRNZXRob2Qoe21ldGhvZDoiIyNWaXJ0dWFsU3RyZWFtIyMiLHJlcXVlc3Q6e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDpHNC51bmkoKSxjeWNsZToicmVxdWVzdCIsbWFpblB1cnBvc2U6ImZlZWRiYWNrIixuZXh0OnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5kYXRhLmxlbmd0aD4wLGJhY2twcmVzc3VyZTohdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKX0scmVzcG9uc2U6bnVsbH0pLmNhdGNoKCgpPT57Y29uc29sZS5sb2coInN0cmVhbSBlbmRlZCBpbW1hdHVyZWx5IiksdGhpcy5rZWVwQWxpdmU9ITF9KTtvJiZvLnJlc3BvbnNlJiYocj1vLnJlc3BvbnNlLmJhY2twcmVzc3VyZSx0PW8ucmVzcG9uc2UubmV4dCl9LCJnZXRGZWVkYmFjayIpO2Zvcihhd2FpdCBpKCk7dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjB8fHQ7KXtpZihyKWZvcig7cjspY29uc29sZS5sb2coIndhaXRpbmcgZm9yIGZlZWRiYWNrIGJlY2F1c2Ugb2YgYmFja3ByZXNzdXJlLi4uIiksYXdhaXQgUHQuZGVsYXlGb3IoNTApLGF3YWl0IGkoKTtsZXQgbzt0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCYmKG89dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LnNoaWZ0KCkpO2xldCBuO249YXdhaXQgdGhpcy5zZW5kTWV0aG9kKHttZXRob2Q6IiMjVmlydHVhbFN0cmVhbSMjIixyZXF1ZXN0OntzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6RzQudW5pKCksY3ljbGU6InJlcXVlc3QiLG1haW5QdXJwb3NlOm8/ImNodW5rIjoicmVhZCIsYmFja3ByZXNzdXJlOmUsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCwuLi5vP3tjaHVua0RhdGE6b306e319LHJlc3BvbnNlOm51bGx9KS5jYXRjaCgoKT0+KGNvbnNvbGUubG9nKCJzdHJlYW0gZW5kZWQgaW1tYXR1cmVseSIpLHRoaXMua2VlcEFsaXZlPSExLG51bGwpKSxuJiZuLnJlc3BvbnNlJiZuLnJlc3BvbnNlLmNodW5rRGF0YSYmdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LnB1c2goYS5yZWNvbnN0aXR1dGVCaW5hcnlEYXRhKG4ucmVzcG9uc2UuY2h1bmtEYXRhKSkscj1uJiZuLnJlc3BvbnNlJiZuLnJlc3BvbnNlLmJhY2twcmVzc3VyZSxlPSF0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXkuY2hlY2tTcGFjZUF2YWlsYWJsZSgpLHQ9biYmbi5yZXNwb25zZSYmbi5yZXNwb25zZS5uZXh0fX10aGlzLndvcmtpbmdEZWZlcnJlZC5yZXNvbHZlKCksdGhpcy53b3JraW5nRGVmZXJyZWQ9bnVsbH1hc3luYyBoYW5kbGVTdHJlYW1UcihlKXtpZihlLnJlcXVlc3Qua2VlcEFsaXZlPT09ITAmJnRoaXMua2VlcEFsaXZlPT09ITA/dGhpcy5sYXN0S2VlcEFsaXZlRXZlbnQ9RGF0ZS5ub3coKTplLnJlcXVlc3Qua2VlcEFsaXZlPT09ITEmJih0aGlzLmtlZXBBbGl2ZT0hMSksZS5yZXF1ZXN0Lm1haW5QdXJwb3NlPT09ImtlZXBBbGl2ZSImJihlLnJlc3BvbnNlPXtzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6ZS5yZXF1ZXN0LmN5Y2xlSWQsY3ljbGU6InJlc3BvbnNlIixtYWluUHVycG9zZToia2VlcEFsaXZlIixrZWVwQWxpdmU6dGhpcy5rZWVwQWxpdmUsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCl9KSxlLnJlcXVlc3QubWFpblB1cnBvc2U9PT0iZmVlZGJhY2siJiYoZS5yZXNwb25zZT17c3RyZWFtSWQ6dGhpcy5zdHJlYW1JZCxjeWNsZUlkOmUucmVxdWVzdC5jeWNsZUlkLGN5Y2xlOiJyZXNwb25zZSIsbWFpblB1cnBvc2U6ImZlZWRiYWNrIixuZXh0OnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5kYXRhLmxlbmd0aD4wLGJhY2twcmVzc3VyZTohdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrU3BhY2VBdmFpbGFibGUoKX0pLGUucmVxdWVzdC5tYWluUHVycG9zZT09PSJjaHVuayIpe2lmKHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5wdXNoKGEucmVjb25zdGl0dXRlQmluYXJ5RGF0YShlLnJlcXVlc3QuY2h1bmtEYXRhKSksdGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LmRhdGEubGVuZ3RoPjAmJmUucmVzcG9uc2UuYmFja3ByZXNzdXJlPT09ITEpe2xldCB0PXRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpO2UucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDplLnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJjaHVuayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MSxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCksY2h1bmtEYXRhOnRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS5zaGlmdCgpfX1lbHNlIGUucmVzcG9uc2U9e3N0cmVhbUlkOnRoaXMuc3RyZWFtSWQsY3ljbGVJZDplLnJlcXVlc3QuY3ljbGVJZCxjeWNsZToicmVzcG9uc2UiLG1haW5QdXJwb3NlOiJmZWVkYmFjayIsbmV4dDp0aGlzLnNlbmRCYWNrcHJlc3N1cmVkQXJyYXkuZGF0YS5sZW5ndGg+MCxiYWNrcHJlc3N1cmU6IXRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS5jaGVja1NwYWNlQXZhaWxhYmxlKCl9O2UucmVxdWVzdD1udWxsfXJldHVybiBlfWFzeW5jIGNsZWFudXAoKXt0aGlzLnR5cGVkcm91dGVyJiZ0aGlzLnR5cGVkcm91dGVyLnJlZ2lzdGVyZWRWaXJ0dWFsU3RyZWFtcy5yZW1vdmUodGhpcyl9YXN5bmMgc3RhcnRLZWVwQWxpdmVMb29wKCl7aWYodGhpcy5zaWRlPT09InJlc3BvbmRpbmciKXJldHVybjthd2FpdCBQdC5kZWxheUZvcigwKSxjb25zb2xlLmxvZyhgc3RhcnRpbmcga2VlcGFsaXZlIGxvb3Agb24gc2lkZSAke3RoaXMuc2lkZX1gKTtsZXQgZT0wO2Zvcig7dGhpcy5rZWVwQWxpdmU7KWF3YWl0IHRoaXMudHJpZ2dlcktlZXBBbGl2ZSgpLGF3YWl0IFB0LmRlbGF5Rm9yKDFlMyk7YXdhaXQgUHQuZGVsYXlGb3IoMWUzKSxhd2FpdCB0aGlzLmNsZWFudXAoKSxjb25zb2xlLmxvZyhgY2xlYW5lZCB1cCBmb3Igc3RyZWFtICR7dGhpcy5zdHJlYW1JZH1gKX1hc3luYyB0cmlnZ2VyS2VlcEFsaXZlKCl7aWYodGhpcy5zaWRlPT09InJlcXVlc3RpbmciKXtjb25zb2xlLmxvZygia2VlcGFsaXZlIHNlbnQuIik7bGV0IGU9YXdhaXQgdGhpcy5zZW5kTWV0aG9kKHttZXRob2Q6IiMjVmlydHVhbFN0cmVhbSMjIixyZXF1ZXN0OntzdHJlYW1JZDp0aGlzLnN0cmVhbUlkLGN5Y2xlSWQ6RzQudW5pKCksY3ljbGU6InJlcXVlc3QiLG1haW5QdXJwb3NlOiJrZWVwQWxpdmUiLGtlZXBBbGl2ZTp0aGlzLmtlZXBBbGl2ZX0scmVzcG9uc2U6bnVsbH0pLmNhdGNoKCgpPT57dGhpcy5rZWVwQWxpdmU9ITF9KTtlJiZlLnJlc3BvbnNlJiZlLnJlc3BvbnNlLmtlZXBBbGl2ZT09PSExP3RoaXMua2VlcEFsaXZlPSExOnRoaXMubGFzdEtlZXBBbGl2ZUV2ZW50PURhdGUubm93KCksZSYmZS5yZXNwb25zZSYmZS5yZXNwb25zZS5uZXh0JiZ0aGlzLndvcmtPblF1ZXVlKCl9RGF0ZS5ub3coKS10aGlzLmxhc3RLZWVwQWxpdmVFdmVudD4xZTQmJihjb25zb2xlLmxvZyhgY2xvc2luZyBzdHJlYW0gZm9yICR7dGhpcy5zdHJlYW1JZH1gKSx0aGlzLmtlZXBBbGl2ZT0hMSl9YXN5bmMgc2VuZERhdGEoZSl7dGhpcy5zZW5kQmFja3ByZXNzdXJlZEFycmF5LnB1c2goZSksdGhpcy53b3JrT25RdWV1ZSgpLGF3YWl0IHRoaXMuc2VuZEJhY2twcmVzc3VyZWRBcnJheS53YWl0Rm9yU3BhY2UoKX1hc3luYyBmZXRjaERhdGEoKXtyZXR1cm4gdGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5Lmhhc1NwYWNlLGF3YWl0IHRoaXMucmVjZWl2ZUJhY2twcmVzc3VyZWRBcnJheS53YWl0Rm9ySXRlbXMoKSx0aGlzLnJlY2VpdmVCYWNrcHJlc3N1cmVkQXJyYXkuc2hpZnQoKX1hc3luYyByZWFkRnJvbVdlYnN0cmVhbShlLHQ9ITApe2xldCByPWUuZ2V0UmVhZGVyKCksaT0hMTtmb3IoOyFpOyl7bGV0e3ZhbHVlOm8sZG9uZTpufT1hd2FpdCByLnJlYWQoKTtvJiZhd2FpdCB0aGlzLnNlbmREYXRhKG8pLGk9bn10JiZhd2FpdCB0aGlzLmNsb3NlKCEwKX1hc3luYyB3cml0ZVRvV2Vic3RyZWFtKGUpe2xldCB0PWUuZ2V0V3JpdGVyKCk7Zm9yKDt0aGlzLmtlZXBBbGl2ZXx8dGhpcy5yZWNlaXZlQmFja3ByZXNzdXJlZEFycmF5LmNoZWNrSGFzSXRlbXMoKTspe2xldCByPWF3YWl0IHRoaXMuZmV0Y2hEYXRhKCk7aWYocj09PWdwYSl7dC5yZWxlYXNlTG9jaygpLGF3YWl0IGUuY2xvc2UoKTticmVha31hd2FpdCB0LndyaXRlKHIpfX1hc3luYyBjbG9zZShlPSExKXtlJiZ0aGlzLnNlbmREYXRhKGdwYSksdGhpcy5rZWVwQWxpdmU9ITF9fX0pO3ZhciBtZXQsZ2V0PWYoKCk9PnskRygpO1k0KCk7bWV0PWNsYXNze3N0YXRpY3tzKHRoaXMsIlR5cGVkVGFyZ2V0Iil9Y29uc3RydWN0b3IoZSl7aWYoZS5wb3N0TWV0aG9kV2l0aFR5cGVkUm91dGVyJiYhZS50eXBlZFJvdXRlclJlZil0aHJvdyBuZXcgRXJyb3IoInlvdSBoYXZlIHRvIHNwZWNpZnkgYSB0eXBlZHJvdXRlciB3aGVuIHVzaW5nIHBvc3RtZXRob2Qgd2l0aCB0eXBlZHJvdXRlciIpO3RoaXMub3B0aW9ucz1lfWFzeW5jIHBvc3QoZSl7bGV0IHQ7dGhpcy5vcHRpb25zLnR5cGVkUm91dGVyUmVmJiYodD1hd2FpdCB0aGlzLm9wdGlvbnMudHlwZWRSb3V0ZXJSZWYuZmlyZUV2ZW50SW50ZXJlc3RNYXAuYWRkSW50ZXJlc3QoZS5jb3JyZWxhdGlvbi5pZCxlKSk7bGV0IGk9YXdhaXQodGhpcy5vcHRpb25zLnBvc3RNZXRob2R8fHRoaXMub3B0aW9ucy5wb3N0TWV0aG9kV2l0aFR5cGVkUm91dGVyKShlKSxvO3JldHVybiB0P289YXdhaXQgdC5pbnRlcmVzdEZ1bGxmaWxsZWQ6aT9vPWk6bz1lLG99fX0pO2Z1bmN0aW9uIGJwYShhLGUpe3RyeXtQNS5nbG9iYWxIb29rc1thXT8uKGUpfWNhdGNoKHQpe2NvbnNvbGUuZXJyb3IoYFR5cGVkUmVxdWVzdCBob29rIGVycm9yICgke2F9KTpgLHQpfX12YXIgeVJhLGJldCxoZXQ9ZigoKT0+e1k0KCk7TWllKCk7dTcoKTskRygpO2dldCgpO3lSYT1uZXcgbDEuV2VicmVxdWVzdENsaWVudDtzKGJwYSwiY2FsbEdsb2JhbEhvb2siKTtiZXQ9Y2xhc3N7c3RhdGlje3ModGhpcywiVHlwZWRSZXF1ZXN0Iil9Y29uc3RydWN0b3IoZSx0KXt0aGlzLnNraXBIb29rcz0hMSx0eXBlb2YgZT09InN0cmluZyI/dGhpcy51cmxFbmRQb2ludD1lOnRoaXMudHlwZWRUYXJnZXQ9ZSx0aGlzLm1ldGhvZD10fWFzeW5jIGZpcmUoZSx0PSExKXtsZXQgcj1EYXRlLm5vdygpLGk9e21ldGhvZDp0aGlzLm1ldGhvZCxyZXF1ZXN0OmUscmVzcG9uc2U6bnVsbCxjb3JyZWxhdGlvbjp7aWQ6RzQudW5pKCkscGhhc2U6InJlcXVlc3QifX07aT1lMi5lbmNvZGVQYXlsb2FkRm9yTmV0d29yayhpLHtzZW5kTWV0aG9kOnMobj0+dGhpcy5wb3N0VHJPYmplY3QobiksInNlbmRNZXRob2QiKX0pLHRoaXMuc2tpcEhvb2tzfHxicGEoIm9uT3V0Z29pbmdSZXF1ZXN0Iix7Y29ycmVsYXRpb25JZDppLmNvcnJlbGF0aW9uLmlkLG1ldGhvZDp0aGlzLm1ldGhvZCxkaXJlY3Rpb246Im91dGdvaW5nIixwaGFzZToicmVxdWVzdCIsdGltZXN0YW1wOnIscGF5bG9hZDplfSk7bGV0IG87cmV0dXJuIG89YXdhaXQgdGhpcy5wb3N0VHJPYmplY3QoaSx0KSxvPWUyLmRlY29kZVBheWxvYWRGcm9tTmV0d29yayhvLHtzZW5kTWV0aG9kOnMobj0+dGhpcy5wb3N0VHJPYmplY3QobiksInNlbmRNZXRob2QiKX0pLHRoaXMuc2tpcEhvb2tzfHxicGEoIm9uSW5jb21pbmdSZXNwb25zZSIse2NvcnJlbGF0aW9uSWQ6aS5jb3JyZWxhdGlvbi5pZCxtZXRob2Q6dGhpcy5tZXRob2QsZGlyZWN0aW9uOiJpbmNvbWluZyIscGhhc2U6InJlc3BvbnNlIix0aW1lc3RhbXA6RGF0ZS5ub3coKSxkdXJhdGlvbk1zOkRhdGUubm93KCktcixwYXlsb2FkOm8/LnJlc3BvbnNlLGVycm9yOm8/LmVycm9yPy50ZXh0fSksby5yZXNwb25zZX1hc3luYyBwb3N0VHJPYmplY3QoZSx0PSExKXtsZXQgcjtpZih0aGlzLnVybEVuZFBvaW50P3I9YXdhaXQgeVJhLnBvc3RKc29uKHRoaXMudXJsRW5kUG9pbnQsZSx0P3tjYWNoZVN0cmF0ZWd5OiJjYWNoZS1maXJzdCJ9Ont9KTpyPWF3YWl0IHRoaXMudHlwZWRUYXJnZXQucG9zdChlKSxyLmVycm9yKXtpZihjb25zb2xlLmVycm9yKGBtZXRob2Q6ID4+JHt0aGlzLm1ldGhvZH08PCBnb3QgYW4gRVJST1I6ICIke3IuZXJyb3IudGV4dH0iIHdpdGggZGF0YSAke0pTT04uc3RyaW5naWZ5KHIuZXJyb3IuZGF0YSxudWxsLDIpfWApLCFyLnJldHJ5KXRocm93IG5ldyBKMShyLmVycm9yLnRleHQsci5lcnJvci5kYXRhKTtyZXR1cm4gbnVsbH1yZXR1cm4gci5yZXRyeSYmKGNvbnNvbGUubG9nKGBzZXJ2ZXIgcmVxdWVzdGVkIHJldHJ5IGZvciB0aGUgZm9sbG93aW5nIHJlYXNvbjogJHtyLnJldHJ5LnJlYXNvbn1gKSxhd2FpdCBQdC5kZWxheUZvcihyLnJldHJ5LndhaXRGb3JNcykscj1hd2FpdCB0aGlzLnBvc3RUck9iamVjdChlLHQpKSxyfX19KTt2YXIgSzQ9e307bHQoSzQse1R5cGVkSGFuZGxlcjooKT0+cGV0LFR5cGVkUmVxdWVzdDooKT0+YmV0LFR5cGVkUmVzcG9uc2VFcnJvcjooKT0+SjEsVHlwZWRSb3V0ZXI6KCk9PlA1LFR5cGVkVGFyZ2V0OigpPT5tZXQsVmlydHVhbFN0cmVhbTooKT0+ZTJ9KTt2YXIgdnBhPWYoKCk9PntoZXQoKTtmZXQoKTskRygpO3U3KCk7Z2V0KCk7TWllKCl9KTt2YXIgeHBhPWJvKGdzPT57InVzZSBzdHJpY3QiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShncywiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZ3MuZ2V0Rmlyc3RUcnVlT3JGYWxzZT1ncy50aW1lb3V0QW5kQ29udGludWU9Z3MudGltZW91dFdyYXA9Z3MubWFwPWdzLnJlamVjdGVkUHJvbWlzZT1ncy5yZXNvbHZlZFByb21pc2U9Z3MuZGVmZXI9Z3MuRGVmZXJyZWQ9dm9pZCAwO3ZhciBraWU9Y2xhc3N7c3RhdGlje3ModGhpcywiRGVmZXJyZWQiKX1jb25zdHJ1Y3Rvcigpe3RoaXMucHJvbWlzZT1uZXcgUHJvbWlzZSgoZSx0KT0+e3RoaXMucmVzb2x2ZT1yPT57dGhpcy5zdGF0dXM9ImZ1bGZpbGxlZCIsdGhpcy5zdG9wcGVkQXQ9RGF0ZS5ub3coKSxlKHIpfSx0aGlzLnJlamVjdD1yPT57dGhpcy5zdGF0dXM9InJlamVjdGVkIix0aGlzLnN0b3BwZWRBdD1EYXRlLm5vdygpLHQocil9LHRoaXMuc3RhcnRlZEF0PURhdGUubm93KCksdGhpcy5zdGF0dXM9InBlbmRpbmcifSl9Z2V0IGR1cmF0aW9uKCl7cmV0dXJuIHRoaXMuc3RvcHBlZEF0P3RoaXMuc3RvcHBlZEF0LXRoaXMuc3RhcnRlZEF0OkRhdGUubm93KCktdGhpcy5zdGFydGVkQXR9fTtncy5EZWZlcnJlZD1raWUsZ3MuZGVmZXI9KCk9Pm5ldyBraWUsZ3MucmVzb2x2ZWRQcm9taXNlPWE9PlByb21pc2UucmVzb2x2ZShhKSxncy5yZWplY3RlZFByb21pc2U9YT0+UHJvbWlzZS5yZWplY3QoYSksZ3MubWFwPWFzeW5jKGEsZSk9PntsZXQgdD1bXSxyPVtdO2ZvcihsZXQgaSBvZiBhKXtsZXQgbz1lKGkpO3QucHVzaChvKSxvLnRoZW4obj0+e3IucHVzaChuKX0pfXJldHVybiBhd2FpdCBQcm9taXNlLmFsbCh0KSxyfSxncy50aW1lb3V0V3JhcD1hc3luYyhhLGUsdD0hMCk9Pm5ldyBQcm9taXNlKChyLGkpPT57c2V0VGltZW91dCgoKT0+e3Q/aShuZXcgRXJyb3IoInRpbWVvdXQiKSk6cihudWxsKX0sZSksYS50aGVuKHIsaSl9KSxncy50aW1lb3V0QW5kQ29udGludWU9YXN5bmMoYSxlPTZlNCk9PmdzLnRpbWVvdXRXcmFwKGEsZSwhMSksZ3MuZ2V0Rmlyc3RUcnVlT3JGYWxzZT1hc3luYyBhPT57bGV0IGU9Z3MuZGVmZXIoKTtmb3IobGV0IHQgb2YgYSl0LnRoZW4ocj0+e3I9PT0hMCYmZS5yZXNvbHZlKCEwKX0pO3JldHVybiBQcm9taXNlLmFsbChhKS50aGVuKCgpPT57ZS5yZXNvbHZlKCExKX0pLGUucHJvbWlzZX19KTt2YXIgdmV0LHlwYT1mKCgpPT57dmV0PUZpKHhwYSgpLDEpfSk7dmFyIHdwYT1mKCgpPT57fSk7dmFyIHhldCxNcGE9ZigoKT0+e3lwYSgpO3dwYSgpO3hldD1jbGFzc3tzdGF0aWN7cyh0aGlzLCJTbWFydGVudiIpfWNvbnN0cnVjdG9yKCl7dGhpcy5sb2FkZWRTY3JpcHRzPVtdfWFzeW5jIGdldEVudkF3YXJlTW9kdWxlKGUpe2lmKHRoaXMuaXNOb2RlKXJldHVybiBhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKGUubm9kZU1vZHVsZU5hbWUpO2lmKHRoaXMuaXNCcm93c2VyKXJldHVybiBhd2FpdCB0aGlzLmdldFNhZmVXZWJNb2R1bGUoZS53ZWJVcmxBcmcsZS5nZXRGdW5jdGlvbik7Y29uc29sZS5lcnJvcigicGxhdGZvcm0gZm9yIGxvYWRpbmcgbm90IHN1cHBvcnRlZCBieSBzbWFydGVudiIpfWFzeW5jIGdldFNhZmVOb2RlTW9kdWxlKGUpe2lmKCF0aGlzLmlzTm9kZSl7Y29uc29sZS5lcnJvcihgWW91IHRyaWVkIHRvIGxvYWQgYSBub2RlIG1vZHVsZSBpbiBhIHdyb25nIGNvbnRleHQ6ICR7ZX1gKTtyZXR1cm59cmV0dXJuIG5ldyBGdW5jdGlvbihgcmV0dXJuIGltcG9ydCgnJHtlfScpYCkoKX1hc3luYyBnZXRTYWZlV2ViTW9kdWxlKGUsdCl7aWYoIXRoaXMuaXNCcm93c2VyKXtjb25zb2xlLmVycm9yKCJZb3UgdHJpZWQgdG8gbG9hZCBhIHdlYiBtb2R1bGUgaW4gYSB3cm9uZyBjb250ZXh0Iik7cmV0dXJufWlmKHRoaXMubG9hZGVkU2NyaXB0cy5pbmNsdWRlcyhlKSlyZXR1cm4gdCgpO3RoaXMubG9hZGVkU2NyaXB0cy5wdXNoKGUpO2xldCByPXZldC5kZWZlcigpO2lmKGdsb2JhbFRoaXMuaW1wb3J0U2NyaXB0cylnbG9iYWxUaGlzLmltcG9ydFNjcmlwdHMoZSksci5yZXNvbHZlKCk7ZWxzZXtsZXQgaT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtpLm9ubG9hZD0oKT0+e3IucmVzb2x2ZSgpfSxpLnNyYz1lLGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoaSl9cmV0dXJuIGF3YWl0IHIucHJvbWlzZSx0KCl9Z2V0IHJ1bnRpbWVFbnYoKXtyZXR1cm4gdHlwZW9mIHByb2Nlc3M8InUiPyJub2RlIjoiYnJvd3NlciJ9Z2V0IGlzQnJvd3Nlcigpe3JldHVybiF0aGlzLmlzTm9kZX1nZXQgdXNlckFnZW50KCl7cmV0dXJuIHRoaXMuaXNCcm93c2VyP25hdmlnYXRvci51c2VyQWdlbnQ6InVuZGVmaW5lZCJ9Z2V0IGlzTm9kZSgpe3JldHVybiB0aGlzLnJ1bnRpbWVFbnY9PT0ibm9kZSJ9Z2V0IG5vZGVWZXJzaW9uKCl7cmV0dXJuIHByb2Nlc3MudmVyc2lvbn1nZXQgaXNDSSgpe3JldHVybiB0aGlzLmlzTm9kZT8hIXByb2Nlc3MuZW52LkNJOiExfWFzeW5jIGlzTWFjQXN5bmMoKXtyZXR1cm4gdGhpcy5pc05vZGU/KGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUoIm9zIikpLnBsYXRmb3JtKCk9PT0iZGFyd2luIjohMX1hc3luYyBpc1dpbmRvd3NBc3luYygpe3JldHVybiB0aGlzLmlzTm9kZT8oYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSgib3MiKSkucGxhdGZvcm0oKT09PSJ3aW4zMiI6ITF9YXN5bmMgaXNMaW51eEFzeW5jKCl7cmV0dXJuIHRoaXMuaXNOb2RlPyhhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKCJvcyIpKS5wbGF0Zm9ybSgpPT09ImxpbnV4IjohMX1hc3luYyBwcmludEVudigpe3RoaXMuaXNOb2RlPyhjb25zb2xlLmxvZygicnVubmluZyBvbiBOT0RFIiksY29uc29sZS5sb2coIm5vZGUgdmVyc2lvbiBpcyAiK3RoaXMubm9kZVZlcnNpb24pKTooY29uc29sZS5sb2coInJ1bm5pbmcgb24gQlJPV1NFUiIpLGNvbnNvbGUubG9nKCJicm93c2VyIGlzICIrdGhpcy51c2VyQWdlbnQpKX19fSk7dmFyIERHPXt9O2x0KERHLHtTbWFydGVudjooKT0+eGV0fSk7dmFyIGtwYT1mKCgpPT57TXBhKCl9KTt2YXIgU3BhPWYoKCk9PntrcGEoKX0pO3ZhciB5ZXQ9e307bHQoeWV0LHtzaGEyNTZGcm9tU3RyaW5nOigpPT5TUmF9KTt2YXIga1JhLFNSYSx6cGE9ZigoKT0+e1NwYSgpO2tSYT1zKGE9PntsZXQgZT1bXSx0PW5ldyBEYXRhVmlldyhhKTtmb3IobGV0IHI9MDtyPHQuYnl0ZUxlbmd0aDtyKz00KXtsZXQgbz10LmdldFVpbnQzMihyKS50b1N0cmluZygxNiksbj0iMDAwMDAwMDAiLGw9KG4rbykuc2xpY2UoLW4ubGVuZ3RoKTtlLnB1c2gobCl9cmV0dXJuIGUuam9pbigiIil9LCJoZXgiKSxTUmE9cyhhc3luYyBhPT57bGV0IGU9bmV3IERHLlNtYXJ0ZW52O2lmKGUuaXNCcm93c2VyKXtsZXQgdD1uZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoYSkscj1hd2FpdCBjcnlwdG8uc3VidGxlLmRpZ2VzdCgiU0hBLTI1NiIsdCk7cmV0dXJuIGtSYShyKX1lbHNlIGlmKGUuaXNOb2RlKXJldHVybiBhd2FpdChhd2FpdCBlLmdldFNhZmVOb2RlTW9kdWxlKCJAcHVzaHJvY2tzL3NtYXJ0aGFzaCIpKS5zaGEyNTZGcm9tU3RyaW5nKGEpfSwic2hhMjU2RnJvbVN0cmluZyIpfSk7dmFyIENwYT1mKCgpPT57S3MoKX0pO3ZhciBfcGE9ZigoKT0+e30pO3ZhciB3ZXQsVHBhPWYoKCk9PntDcGEoKTtfcGEoKTt3ZXQ9Y2xhc3N7c3RhdGlje3ModGhpcywiU21hcnRlbnYiKX1jb25zdHJ1Y3Rvcigpe3RoaXMubG9hZGVkU2NyaXB0cz1bXX1hc3luYyBnZXRFbnZBd2FyZU1vZHVsZShlKXtpZih0aGlzLmlzTm9kZSlyZXR1cm4gYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZShlLm5vZGVNb2R1bGVOYW1lKTtpZih0aGlzLmlzQnJvd3NlcilyZXR1cm4gYXdhaXQgdGhpcy5nZXRTYWZlV2ViTW9kdWxlKGUud2ViVXJsQXJnLGUuZ2V0RnVuY3Rpb24pO2NvbnNvbGUuZXJyb3IoInBsYXRmb3JtIGZvciBsb2FkaW5nIG5vdCBzdXBwb3J0ZWQgYnkgc21hcnRlbnYiKX1hc3luYyBnZXRTYWZlTm9kZU1vZHVsZShlLHQpe2lmKCF0aGlzLmlzTm9kZSl7Y29uc29sZS5lcnJvcihgWW91IHRyaWVkIHRvIGxvYWQgYSBub2RlIG1vZHVsZSBpbiBhIHdyb25nIGNvbnRleHQ6ICR7ZX0uIFRoaXMgZG9lcyBub3QgdGhyb3cuYCk7cmV0dXJufWxldCByPWF3YWl0IG5ldyBGdW5jdGlvbihgcmV0dXJuIGltcG9ydCgnJHtlfScpYCkoKTtyZXR1cm4gdCYmYXdhaXQgdChyKSxyfWFzeW5jIGdldFNhZmVXZWJNb2R1bGUoZSx0KXtpZighdGhpcy5pc0Jyb3dzZXIpe2NvbnNvbGUuZXJyb3IoIllvdSB0cmllZCB0byBsb2FkIGEgd2ViIG1vZHVsZSBpbiBhIHdyb25nIGNvbnRleHQiKTtyZXR1cm59aWYodGhpcy5sb2FkZWRTY3JpcHRzLmluY2x1ZGVzKGUpKXJldHVybiB0KCk7dGhpcy5sb2FkZWRTY3JpcHRzLnB1c2goZSk7bGV0IHI9ZXQuZGVmZXIoKTtpZihnbG9iYWxUaGlzLmltcG9ydFNjcmlwdHMpZ2xvYmFsVGhpcy5pbXBvcnRTY3JpcHRzKGUpLHIucmVzb2x2ZSgpO2Vsc2V7bGV0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7aS5vbmxvYWQ9KCk9PntyLnJlc29sdmUoKX0saS5zcmM9ZSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGkpfXJldHVybiBhd2FpdCByLnByb21pc2UsdCgpfWdldCBydW50aW1lRW52KCl7cmV0dXJuIHR5cGVvZiBwcm9jZXNzPCJ1Ij8ibm9kZSI6ImJyb3dzZXIifWdldCBpc0Jyb3dzZXIoKXtyZXR1cm4hdGhpcy5pc05vZGV9Z2V0IHVzZXJBZ2VudCgpe3JldHVybiB0aGlzLmlzQnJvd3Nlcj9uYXZpZ2F0b3IudXNlckFnZW50OiJ1bmRlZmluZWQifWdldCBpc05vZGUoKXtyZXR1cm4gdGhpcy5ydW50aW1lRW52PT09Im5vZGUifWdldCBub2RlVmVyc2lvbigpe3JldHVybiBwcm9jZXNzLnZlcnNpb259Z2V0IGlzQ0koKXtyZXR1cm4gdGhpcy5pc05vZGU/ISFwcm9jZXNzLmVudi5DSTohMX1hc3luYyBpc01hY0FzeW5jKCl7cmV0dXJuIHRoaXMuaXNOb2RlPyhhd2FpdCB0aGlzLmdldFNhZmVOb2RlTW9kdWxlKCJvcyIpKS5wbGF0Zm9ybSgpPT09ImRhcndpbiI6ITF9YXN5bmMgaXNXaW5kb3dzQXN5bmMoKXtyZXR1cm4gdGhpcy5pc05vZGU/KGF3YWl0IHRoaXMuZ2V0U2FmZU5vZGVNb2R1bGUoIm9zIikpLnBsYXRmb3JtKCk9PT0id2luMzIiOiExfWFzeW5jIGlzTGludXhBc3luYygpe3JldHVybiB0aGlzLmlzTm9kZT8oYXdhaXQgdGhpcy5nZXRTYWZlTm9kZU1vZHVsZSgib3MiKSkucGxhdGZvcm0oKT09PSJsaW51eCI6ITF9YXN5bmMgcHJpbnRFbnYoKXt0aGlzLmlzTm9kZT8oY29uc29sZS5sb2coInJ1bm5pbmcgb24gTk9ERSIpLGNvbnNvbGUubG9nKCJub2RlIHZlcnNpb24gaXMgIit0aGlzLm5vZGVWZXJzaW9uKSk6KGNvbnNvbGUubG9nKCJydW5uaW5nIG9uIEJST1dTRVIiKSxjb25zb2xlLmxvZygiYnJvd3NlciBpcyAiK3RoaXMudXNlckFnZW50KSl9fX0pO3ZhciBNZXQ9e307bHQoTWV0LHtTbWFydGVudjooKT0+d2V0fSk7dmFyIExwYT1mKCgpPT57VHBhKCl9KTt2YXIgYmZhPWJvKChQRyxtNyk9Pnt2YXIgQ1JhPTIwMCwkcGE9Il9fbG9kYXNoX2hhc2hfdW5kZWZpbmVkX18iLERwYT05MDA3MTk5MjU0NzQwOTkxLGtldD0iW29iamVjdCBBcmd1bWVudHNdIixfUmE9IltvYmplY3QgQXJyYXldIixBcGE9IltvYmplY3QgQm9vbGVhbl0iLEVwYT0iW29iamVjdCBEYXRlXSIsVFJhPSJbb2JqZWN0IEVycm9yXSIsemV0PSJbb2JqZWN0IEZ1bmN0aW9uXSIsUHBhPSJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSIsU2llPSJbb2JqZWN0IE1hcF0iLElwYT0iW29iamVjdCBOdW1iZXJdIixDZXQ9IltvYmplY3QgT2JqZWN0XSIsTnBhPSJbb2JqZWN0IFByb21pc2VdIixScGE9IltvYmplY3QgUmVnRXhwXSIsemllPSJbb2JqZWN0IFNldF0iLE9wYT0iW29iamVjdCBTdHJpbmddIixGcGE9IltvYmplY3QgU3ltYm9sXSIsX2V0PSJbb2JqZWN0IFdlYWtNYXBdIixCcGE9IltvYmplY3QgQXJyYXlCdWZmZXJdIixDaWU9IltvYmplY3QgRGF0YVZpZXddIixIcGE9IltvYmplY3QgRmxvYXQzMkFycmF5XSIscXBhPSJbb2JqZWN0IEZsb2F0NjRBcnJheV0iLFZwYT0iW29iamVjdCBJbnQ4QXJyYXldIixqcGE9IltvYmplY3QgSW50MTZBcnJheV0iLFVwYT0iW29iamVjdCBJbnQzMkFycmF5XSIsV3BhPSJbb2JqZWN0IFVpbnQ4QXJyYXldIixHcGE9IltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldIixZcGE9IltvYmplY3QgVWludDE2QXJyYXldIixLcGE9IltvYmplY3QgVWludDMyQXJyYXldIixMUmE9L1tcXF4kLiorPygpW1xde318XS9nLCRSYT0vXHcqJC8sRFJhPS9eXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXSQvLEFSYT0vXig/OjB8WzEtOV1cZCopJC8sbnI9e307bnJba2V0XT1ucltfUmFdPW5yW0JwYV09bnJbQ2llXT1ucltBcGFdPW5yW0VwYV09bnJbSHBhXT1ucltxcGFdPW5yW1ZwYV09bnJbanBhXT1ucltVcGFdPW5yW1NpZV09bnJbSXBhXT1ucltDZXRdPW5yW1JwYV09bnJbemllXT1ucltPcGFdPW5yW0ZwYV09bnJbV3BhXT1ucltHcGFdPW5yW1lwYV09bnJbS3BhXT0hMCxucltUUmFdPW5yW3pldF09bnJbX2V0XT0hMTt2YXIgRVJhPXR5cGVvZiBnbG9iYWw9PSJvYmplY3QiJiZnbG9iYWwmJmdsb2JhbC5PYmplY3Q9PT1PYmplY3QmJmdsb2JhbCxQUmE9dHlwZW9mIHNlbGY9PSJvYmplY3QiJiZzZWxmJiZzZWxmLk9iamVjdD09PU9iamVjdCYmc2VsZixqYz1FUmF8fFBSYXx8RnVuY3Rpb24oInJldHVybiB0aGlzIikoKSxacGE9dHlwZW9mIFBHPT0ib2JqZWN0IiYmUEcmJiFQRy5ub2RlVHlwZSYmUEcsWHBhPVpwYSYmdHlwZW9mIG03PT0ib2JqZWN0IiYmbTcmJiFtNy5ub2RlVHlwZSYmbTcsSVJhPVhwYSYmWHBhLmV4cG9ydHM9PT1acGE7ZnVuY3Rpb24gTlJhKGEsZSl7cmV0dXJuIGEuc2V0KGVbMF0sZVsxXSksYX1zKE5SYSwiYWRkTWFwRW50cnkiKTtmdW5jdGlvbiBSUmEoYSxlKXtyZXR1cm4gYS5hZGQoZSksYX1zKFJSYSwiYWRkU2V0RW50cnkiKTtmdW5jdGlvbiBPUmEoYSxlKXtmb3IodmFyIHQ9LTEscj1hP2EubGVuZ3RoOjA7Kyt0PHImJmUoYVt0XSx0LGEpIT09ITE7KTtyZXR1cm4gYX1zKE9SYSwiYXJyYXlFYWNoIik7ZnVuY3Rpb24gRlJhKGEsZSl7Zm9yKHZhciB0PS0xLHI9ZS5sZW5ndGgsaT1hLmxlbmd0aDsrK3Q8cjspYVtpK3RdPWVbdF07cmV0dXJuIGF9cyhGUmEsImFycmF5UHVzaCIpO2Z1bmN0aW9uIFFwYShhLGUsdCxyKXt2YXIgaT0tMSxvPWE/YS5sZW5ndGg6MDtmb3IociYmbyYmKHQ9YVsrK2ldKTsrK2k8bzspdD1lKHQsYVtpXSxpLGEpO3JldHVybiB0fXMoUXBhLCJhcnJheVJlZHVjZSIpO2Z1bmN0aW9uIEJSYShhLGUpe2Zvcih2YXIgdD0tMSxyPUFycmF5KGEpOysrdDxhOylyW3RdPWUodCk7cmV0dXJuIHJ9cyhCUmEsImJhc2VUaW1lcyIpO2Z1bmN0aW9uIEhSYShhLGUpe3JldHVybiBhPy5bZV19cyhIUmEsImdldFZhbHVlIik7ZnVuY3Rpb24gSnBhKGEpe3ZhciBlPSExO2lmKGEhPW51bGwmJnR5cGVvZiBhLnRvU3RyaW5nIT0iZnVuY3Rpb24iKXRyeXtlPSEhKGErIiIpfWNhdGNoe31yZXR1cm4gZX1zKEpwYSwiaXNIb3N0T2JqZWN0Iik7ZnVuY3Rpb24gZWZhKGEpe3ZhciBlPS0xLHQ9QXJyYXkoYS5zaXplKTtyZXR1cm4gYS5mb3JFYWNoKGZ1bmN0aW9uKHIsaSl7dFsrK2VdPVtpLHJdfSksdH1zKGVmYSwibWFwVG9BcnJheSIpO2Z1bmN0aW9uIFRldChhLGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gYShlKHQpKX19cyhUZXQsIm92ZXJBcmciKTtmdW5jdGlvbiB0ZmEoYSl7dmFyIGU9LTEsdD1BcnJheShhLnNpemUpO3JldHVybiBhLmZvckVhY2goZnVuY3Rpb24ocil7dFsrK2VdPXJ9KSx0fXModGZhLCJzZXRUb0FycmF5Iik7dmFyIHFSYT1BcnJheS5wcm90b3R5cGUsVlJhPUZ1bmN0aW9uLnByb3RvdHlwZSxfaWU9T2JqZWN0LnByb3RvdHlwZSxMZXQ9amNbIl9fY29yZS1qc19zaGFyZWRfXyJdLGFmYT0oZnVuY3Rpb24oKXt2YXIgYT0vW14uXSskLy5leGVjKExldCYmTGV0LmtleXMmJkxldC5rZXlzLklFX1BST1RPfHwiIik7cmV0dXJuIGE/IlN5bWJvbChzcmMpXzEuIithOiIifSkoKSxyZmE9VlJhLnRvU3RyaW5nLFo0PV9pZS5oYXNPd25Qcm9wZXJ0eSxUaWU9X2llLnRvU3RyaW5nLGpSYT1SZWdFeHAoIl4iK3JmYS5jYWxsKFo0KS5yZXBsYWNlKExSYSwiXFwkJiIpLnJlcGxhY2UoL2hhc093blByb3BlcnR5fChmdW5jdGlvbikuKj8oPz1cXFwoKXwgZm9yIC4rPyg/PVxcXF0pL2csIiQxLio/IikrIiQiKSxzZmE9SVJhP2pjLkJ1ZmZlcjp2b2lkIDAsaWZhPWpjLlN5bWJvbCxvZmE9amMuVWludDhBcnJheSxVUmE9VGV0KE9iamVjdC5nZXRQcm90b3R5cGVPZixPYmplY3QpLFdSYT1PYmplY3QuY3JlYXRlLEdSYT1faWUucHJvcGVydHlJc0VudW1lcmFibGUsWVJhPXFSYS5zcGxpY2UsbmZhPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsS1JhPXNmYT9zZmEuaXNCdWZmZXI6dm9pZCAwLFpSYT1UZXQoT2JqZWN0LmtleXMsT2JqZWN0KSwkZXQ9aDcoamMsIkRhdGFWaWV3IiksQUc9aDcoamMsIk1hcCIpLERldD1oNyhqYywiUHJvbWlzZSIpLEFldD1oNyhqYywiU2V0IiksRWV0PWg3KGpjLCJXZWFrTWFwIiksRUc9aDcoT2JqZWN0LCJjcmVhdGUiKSxYUmE9UjUoJGV0KSxRUmE9UjUoQUcpLEpSYT1SNShEZXQpLGVPYT1SNShBZXQpLHRPYT1SNShFZXQpLGxmYT1pZmE/aWZhLnByb3RvdHlwZTp2b2lkIDAsY2ZhPWxmYT9sZmEudmFsdWVPZjp2b2lkIDA7ZnVuY3Rpb24gSTUoYSl7dmFyIGU9LTEsdD1hP2EubGVuZ3RoOjA7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8dDspe3ZhciByPWFbZV07dGhpcy5zZXQoclswXSxyWzFdKX19cyhJNSwiSGFzaCIpO2Z1bmN0aW9uIGFPYSgpe3RoaXMuX19kYXRhX189RUc/RUcobnVsbCk6e319cyhhT2EsImhhc2hDbGVhciIpO2Z1bmN0aW9uIHJPYShhKXtyZXR1cm4gdGhpcy5oYXMoYSkmJmRlbGV0ZSB0aGlzLl9fZGF0YV9fW2FdfXMock9hLCJoYXNoRGVsZXRlIik7ZnVuY3Rpb24gc09hKGEpe3ZhciBlPXRoaXMuX19kYXRhX187aWYoRUcpe3ZhciB0PWVbYV07cmV0dXJuIHQ9PT0kcGE/dm9pZCAwOnR9cmV0dXJuIFo0LmNhbGwoZSxhKT9lW2FdOnZvaWQgMH1zKHNPYSwiaGFzaEdldCIpO2Z1bmN0aW9uIGlPYShhKXt2YXIgZT10aGlzLl9fZGF0YV9fO3JldHVybiBFRz9lW2FdIT09dm9pZCAwOlo0LmNhbGwoZSxhKX1zKGlPYSwiaGFzaEhhcyIpO2Z1bmN0aW9uIG9PYShhLGUpe3ZhciB0PXRoaXMuX19kYXRhX187cmV0dXJuIHRbYV09RUcmJmU9PT12b2lkIDA/JHBhOmUsdGhpc31zKG9PYSwiaGFzaFNldCIpLEk1LnByb3RvdHlwZS5jbGVhcj1hT2EsSTUucHJvdG90eXBlLmRlbGV0ZT1yT2EsSTUucHJvdG90eXBlLmdldD1zT2EsSTUucHJvdG90eXBlLmhhcz1pT2EsSTUucHJvdG90eXBlLnNldD1vT2E7ZnVuY3Rpb24gVWMoYSl7dmFyIGU9LTEsdD1hP2EubGVuZ3RoOjA7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8dDspe3ZhciByPWFbZV07dGhpcy5zZXQoclswXSxyWzFdKX19cyhVYywiTGlzdENhY2hlIik7ZnVuY3Rpb24gbk9hKCl7dGhpcy5fX2RhdGFfXz1bXX1zKG5PYSwibGlzdENhY2hlQ2xlYXIiKTtmdW5jdGlvbiBsT2EoYSl7dmFyIGU9dGhpcy5fX2RhdGFfXyx0PUxpZShlLGEpO2lmKHQ8MClyZXR1cm4hMTt2YXIgcj1lLmxlbmd0aC0xO3JldHVybiB0PT1yP2UucG9wKCk6WVJhLmNhbGwoZSx0LDEpLCEwfXMobE9hLCJsaXN0Q2FjaGVEZWxldGUiKTtmdW5jdGlvbiBjT2EoYSl7dmFyIGU9dGhpcy5fX2RhdGFfXyx0PUxpZShlLGEpO3JldHVybiB0PDA/dm9pZCAwOmVbdF1bMV19cyhjT2EsImxpc3RDYWNoZUdldCIpO2Z1bmN0aW9uIGRPYShhKXtyZXR1cm4gTGllKHRoaXMuX19kYXRhX18sYSk+LTF9cyhkT2EsImxpc3RDYWNoZUhhcyIpO2Z1bmN0aW9uIHVPYShhLGUpe3ZhciB0PXRoaXMuX19kYXRhX18scj1MaWUodCxhKTtyZXR1cm4gcjwwP3QucHVzaChbYSxlXSk6dFtyXVsxXT1lLHRoaXN9cyh1T2EsImxpc3RDYWNoZVNldCIpLFVjLnByb3RvdHlwZS5jbGVhcj1uT2EsVWMucHJvdG90eXBlLmRlbGV0ZT1sT2EsVWMucHJvdG90eXBlLmdldD1jT2EsVWMucHJvdG90eXBlLmhhcz1kT2EsVWMucHJvdG90eXBlLnNldD11T2E7ZnVuY3Rpb24gcDcoYSl7dmFyIGU9LTEsdD1hP2EubGVuZ3RoOjA7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8dDspe3ZhciByPWFbZV07dGhpcy5zZXQoclswXSxyWzFdKX19cyhwNywiTWFwQ2FjaGUiKTtmdW5jdGlvbiBwT2EoKXt0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyBJNSxtYXA6bmV3KEFHfHxVYyksc3RyaW5nOm5ldyBJNX19cyhwT2EsIm1hcENhY2hlQ2xlYXIiKTtmdW5jdGlvbiBmT2EoYSl7cmV0dXJuICRpZSh0aGlzLGEpLmRlbGV0ZShhKX1zKGZPYSwibWFwQ2FjaGVEZWxldGUiKTtmdW5jdGlvbiBoT2EoYSl7cmV0dXJuICRpZSh0aGlzLGEpLmdldChhKX1zKGhPYSwibWFwQ2FjaGVHZXQiKTtmdW5jdGlvbiBtT2EoYSl7cmV0dXJuICRpZSh0aGlzLGEpLmhhcyhhKX1zKG1PYSwibWFwQ2FjaGVIYXMiKTtmdW5jdGlvbiBnT2EoYSxlKXtyZXR1cm4gJGllKHRoaXMsYSkuc2V0KGEsZSksdGhpc31zKGdPYSwibWFwQ2FjaGVTZXQiKSxwNy5wcm90b3R5cGUuY2xlYXI9cE9hLHA3LnByb3RvdHlwZS5kZWxldGU9Zk9hLHA3LnByb3RvdHlwZS5nZXQ9aE9hLHA3LnByb3RvdHlwZS5oYXM9bU9hLHA3LnByb3RvdHlwZS5zZXQ9Z09hO2Z1bmN0aW9uIGY3KGEpe3RoaXMuX19kYXRhX189bmV3IFVjKGEpfXMoZjcsIlN0YWNrIik7ZnVuY3Rpb24gYk9hKCl7dGhpcy5fX2RhdGFfXz1uZXcgVWN9cyhiT2EsInN0YWNrQ2xlYXIiKTtmdW5jdGlvbiB2T2EoYSl7cmV0dXJuIHRoaXMuX19kYXRhX18uZGVsZXRlKGEpfXModk9hLCJzdGFja0RlbGV0ZSIpO2Z1bmN0aW9uIHhPYShhKXtyZXR1cm4gdGhpcy5fX2RhdGFfXy5nZXQoYSl9cyh4T2EsInN0YWNrR2V0Iik7ZnVuY3Rpb24geU9hKGEpe3JldHVybiB0aGlzLl9fZGF0YV9fLmhhcyhhKX1zKHlPYSwic3RhY2tIYXMiKTtmdW5jdGlvbiB3T2EoYSxlKXt2YXIgdD10aGlzLl9fZGF0YV9fO2lmKHQgaW5zdGFuY2VvZiBVYyl7dmFyIHI9dC5fX2RhdGFfXztpZighQUd8fHIubGVuZ3RoPENSYS0xKXJldHVybiByLnB1c2goW2EsZV0pLHRoaXM7dD10aGlzLl9fZGF0YV9fPW5ldyBwNyhyKX1yZXR1cm4gdC5zZXQoYSxlKSx0aGlzfXMod09hLCJzdGFja1NldCIpLGY3LnByb3RvdHlwZS5jbGVhcj1iT2EsZjcucHJvdG90eXBlLmRlbGV0ZT12T2EsZjcucHJvdG90eXBlLmdldD14T2EsZjcucHJvdG90eXBlLmhhcz15T2EsZjcucHJvdG90eXBlLnNldD13T2E7ZnVuY3Rpb24gTU9hKGEsZSl7dmFyIHQ9TmV0KGEpfHxXT2EoYSk/QlJhKGEubGVuZ3RoLFN0cmluZyk6W10scj10Lmxlbmd0aCxpPSEhcjtmb3IodmFyIG8gaW4gYSkoZXx8WjQuY2FsbChhLG8pKSYmIShpJiYobz09Imxlbmd0aCJ8fHFPYShvLHIpKSkmJnQucHVzaChvKTtyZXR1cm4gdH1zKE1PYSwiYXJyYXlMaWtlS2V5cyIpO2Z1bmN0aW9uIGRmYShhLGUsdCl7dmFyIHI9YVtlXTsoIShaNC5jYWxsKGEsZSkmJmhmYShyLHQpKXx8dD09PXZvaWQgMCYmIShlIGluIGEpKSYmKGFbZV09dCl9cyhkZmEsImFzc2lnblZhbHVlIik7ZnVuY3Rpb24gTGllKGEsZSl7Zm9yKHZhciB0PWEubGVuZ3RoO3QtLTspaWYoaGZhKGFbdF1bMF0sZSkpcmV0dXJuIHQ7cmV0dXJuLTF9cyhMaWUsImFzc29jSW5kZXhPZiIpO2Z1bmN0aW9uIGtPYShhLGUpe3JldHVybiBhJiZ1ZmEoZSxSZXQoZSksYSl9cyhrT2EsImJhc2VBc3NpZ24iKTtmdW5jdGlvbiBQZXQoYSxlLHQscixpLG8sbil7dmFyIGw7aWYociYmKGw9bz9yKGEsaSxvLG4pOnIoYSkpLGwhPT12b2lkIDApcmV0dXJuIGw7aWYoIURpZShhKSlyZXR1cm4gYTt2YXIgZD1OZXQoYSk7aWYoZCl7aWYobD1GT2EoYSksIWUpcmV0dXJuIE5PYShhLGwpfWVsc2V7dmFyIGM9TjUoYSkscD1jPT16ZXR8fGM9PVBwYTtpZihZT2EoYSkpcmV0dXJuIExPYShhLGUpO2lmKGM9PUNldHx8Yz09a2V0fHxwJiYhbyl7aWYoSnBhKGEpKXJldHVybiBvP2E6e307aWYobD1CT2EocD97fTphKSwhZSlyZXR1cm4gUk9hKGEsa09hKGwsYSkpfWVsc2V7aWYoIW5yW2NdKXJldHVybiBvP2E6e307bD1IT2EoYSxjLFBldCxlKX19bnx8KG49bmV3IGY3KTt2YXIgdT1uLmdldChhKTtpZih1KXJldHVybiB1O2lmKG4uc2V0KGEsbCksIWQpdmFyIG09dD9PT2EoYSk6UmV0KGEpO3JldHVybiBPUmEobXx8YSxmdW5jdGlvbih2LHgpe20mJih4PXYsdj1hW3hdKSxkZmEobCx4LFBldCh2LGUsdCxyLHgsYSxuKSl9KSxsfXMoUGV0LCJiYXNlQ2xvbmUiKTtmdW5jdGlvbiBTT2EoYSl7cmV0dXJuIERpZShhKT9XUmEoYSk6e319cyhTT2EsImJhc2VDcmVhdGUiKTtmdW5jdGlvbiB6T2EoYSxlLHQpe3ZhciByPWUoYSk7cmV0dXJuIE5ldChhKT9yOkZSYShyLHQoYSkpfXMoek9hLCJiYXNlR2V0QWxsS2V5cyIpO2Z1bmN0aW9uIENPYShhKXtyZXR1cm4gVGllLmNhbGwoYSl9cyhDT2EsImJhc2VHZXRUYWciKTtmdW5jdGlvbiBfT2EoYSl7aWYoIURpZShhKXx8ak9hKGEpKXJldHVybiExO3ZhciBlPWdmYShhKXx8SnBhKGEpP2pSYTpEUmE7cmV0dXJuIGUudGVzdChSNShhKSl9cyhfT2EsImJhc2VJc05hdGl2ZSIpO2Z1bmN0aW9uIFRPYShhKXtpZighZmZhKGEpKXJldHVybiBaUmEoYSk7dmFyIGU9W107Zm9yKHZhciB0IGluIE9iamVjdChhKSlaNC5jYWxsKGEsdCkmJnQhPSJjb25zdHJ1Y3RvciImJmUucHVzaCh0KTtyZXR1cm4gZX1zKFRPYSwiYmFzZUtleXMiKTtmdW5jdGlvbiBMT2EoYSxlKXtpZihlKXJldHVybiBhLnNsaWNlKCk7dmFyIHQ9bmV3IGEuY29uc3RydWN0b3IoYS5sZW5ndGgpO3JldHVybiBhLmNvcHkodCksdH1zKExPYSwiY2xvbmVCdWZmZXIiKTtmdW5jdGlvbiBJZXQoYSl7dmFyIGU9bmV3IGEuY29uc3RydWN0b3IoYS5ieXRlTGVuZ3RoKTtyZXR1cm4gbmV3IG9mYShlKS5zZXQobmV3IG9mYShhKSksZX1zKElldCwiY2xvbmVBcnJheUJ1ZmZlciIpO2Z1bmN0aW9uICRPYShhLGUpe3ZhciB0PWU/SWV0KGEuYnVmZmVyKTphLmJ1ZmZlcjtyZXR1cm4gbmV3IGEuY29uc3RydWN0b3IodCxhLmJ5dGVPZmZzZXQsYS5ieXRlTGVuZ3RoKX1zKCRPYSwiY2xvbmVEYXRhVmlldyIpO2Z1bmN0aW9uIERPYShhLGUsdCl7dmFyIHI9ZT90KGVmYShhKSwhMCk6ZWZhKGEpO3JldHVybiBRcGEocixOUmEsbmV3IGEuY29uc3RydWN0b3IpfXMoRE9hLCJjbG9uZU1hcCIpO2Z1bmN0aW9uIEFPYShhKXt2YXIgZT1uZXcgYS5jb25zdHJ1Y3RvcihhLnNvdXJjZSwkUmEuZXhlYyhhKSk7cmV0dXJuIGUubGFzdEluZGV4PWEubGFzdEluZGV4LGV9cyhBT2EsImNsb25lUmVnRXhwIik7ZnVuY3Rpb24gRU9hKGEsZSx0KXt2YXIgcj1lP3QodGZhKGEpLCEwKTp0ZmEoYSk7cmV0dXJuIFFwYShyLFJSYSxuZXcgYS5jb25zdHJ1Y3Rvcil9cyhFT2EsImNsb25lU2V0Iik7ZnVuY3Rpb24gUE9hKGEpe3JldHVybiBjZmE/T2JqZWN0KGNmYS5jYWxsKGEpKTp7fX1zKFBPYSwiY2xvbmVTeW1ib2wiKTtmdW5jdGlvbiBJT2EoYSxlKXt2YXIgdD1lP0lldChhLmJ1ZmZlcik6YS5idWZmZXI7cmV0dXJuIG5ldyBhLmNvbnN0cnVjdG9yKHQsYS5ieXRlT2Zmc2V0LGEubGVuZ3RoKX1zKElPYSwiY2xvbmVUeXBlZEFycmF5Iik7ZnVuY3Rpb24gTk9hKGEsZSl7dmFyIHQ9LTEscj1hLmxlbmd0aDtmb3IoZXx8KGU9QXJyYXkocikpOysrdDxyOyllW3RdPWFbdF07cmV0dXJuIGV9cyhOT2EsImNvcHlBcnJheSIpO2Z1bmN0aW9uIHVmYShhLGUsdCxyKXt0fHwodD17fSk7Zm9yKHZhciBpPS0xLG89ZS5sZW5ndGg7KytpPG87KXt2YXIgbj1lW2ldLGw9cj9yKHRbbl0sYVtuXSxuLHQsYSk6dm9pZCAwO2RmYSh0LG4sbD09PXZvaWQgMD9hW25dOmwpfXJldHVybiB0fXModWZhLCJjb3B5T2JqZWN0Iik7ZnVuY3Rpb24gUk9hKGEsZSl7cmV0dXJuIHVmYShhLHBmYShhKSxlKX1zKFJPYSwiY29weVN5bWJvbHMiKTtmdW5jdGlvbiBPT2EoYSl7cmV0dXJuIHpPYShhLFJldCxwZmEpfXMoT09hLCJnZXRBbGxLZXlzIik7ZnVuY3Rpb24gJGllKGEsZSl7dmFyIHQ9YS5fX2RhdGFfXztyZXR1cm4gVk9hKGUpP3RbdHlwZW9mIGU9PSJzdHJpbmciPyJzdHJpbmciOiJoYXNoIl06dC5tYXB9cygkaWUsImdldE1hcERhdGEiKTtmdW5jdGlvbiBoNyhhLGUpe3ZhciB0PUhSYShhLGUpO3JldHVybiBfT2EodCk/dDp2b2lkIDB9cyhoNywiZ2V0TmF0aXZlIik7dmFyIHBmYT1uZmE/VGV0KG5mYSxPYmplY3QpOlhPYSxONT1DT2E7KCRldCYmTjUobmV3ICRldChuZXcgQXJyYXlCdWZmZXIoMSkpKSE9Q2llfHxBRyYmTjUobmV3IEFHKSE9U2llfHxEZXQmJk41KERldC5yZXNvbHZlKCkpIT1OcGF8fEFldCYmTjUobmV3IEFldCkhPXppZXx8RWV0JiZONShuZXcgRWV0KSE9X2V0KSYmKE41PXMoZnVuY3Rpb24oYSl7dmFyIGU9VGllLmNhbGwoYSksdD1lPT1DZXQ/YS5jb25zdHJ1Y3Rvcjp2b2lkIDAscj10P1I1KHQpOnZvaWQgMDtpZihyKXN3aXRjaChyKXtjYXNlIFhSYTpyZXR1cm4gQ2llO2Nhc2UgUVJhOnJldHVybiBTaWU7Y2FzZSBKUmE6cmV0dXJuIE5wYTtjYXNlIGVPYTpyZXR1cm4gemllO2Nhc2UgdE9hOnJldHVybiBfZXR9cmV0dXJuIGV9LCJnZXRUYWciKSk7ZnVuY3Rpb24gRk9hKGEpe3ZhciBlPWEubGVuZ3RoLHQ9YS5jb25zdHJ1Y3RvcihlKTtyZXR1cm4gZSYmdHlwZW9mIGFbMF09PSJzdHJpbmciJiZaNC5jYWxsKGEsImluZGV4IikmJih0LmluZGV4PWEuaW5kZXgsdC5pbnB1dD1hLmlucHV0KSx0fXMoRk9hLCJpbml0Q2xvbmVBcnJheSIpO2Z1bmN0aW9uIEJPYShhKXtyZXR1cm4gdHlwZW9mIGEuY29uc3RydWN0b3I9PSJmdW5jdGlvbiImJiFmZmEoYSk/U09hKFVSYShhKSk6e319cyhCT2EsImluaXRDbG9uZU9iamVjdCIpO2Z1bmN0aW9uIEhPYShhLGUsdCxyKXt2YXIgaT1hLmNvbnN0cnVjdG9yO3N3aXRjaChlKXtjYXNlIEJwYTpyZXR1cm4gSWV0KGEpO2Nhc2UgQXBhOmNhc2UgRXBhOnJldHVybiBuZXcgaSgrYSk7Y2FzZSBDaWU6cmV0dXJuICRPYShhLHIpO2Nhc2UgSHBhOmNhc2UgcXBhOmNhc2UgVnBhOmNhc2UganBhOmNhc2UgVXBhOmNhc2UgV3BhOmNhc2UgR3BhOmNhc2UgWXBhOmNhc2UgS3BhOnJldHVybiBJT2EoYSxyKTtjYXNlIFNpZTpyZXR1cm4gRE9hKGEscix0KTtjYXNlIElwYTpjYXNlIE9wYTpyZXR1cm4gbmV3IGkoYSk7Y2FzZSBScGE6cmV0dXJuIEFPYShhKTtjYXNlIHppZTpyZXR1cm4gRU9hKGEscix0KTtjYXNlIEZwYTpyZXR1cm4gUE9hKGEpfX1zKEhPYSwiaW5pdENsb25lQnlUYWciKTtmdW5jdGlvbiBxT2EoYSxlKXtyZXR1cm4gZT1lPz9EcGEsISFlJiYodHlwZW9mIGE9PSJudW1iZXIifHxBUmEudGVzdChhKSkmJmE+LTEmJmElMT09MCYmYTxlfXMocU9hLCJpc0luZGV4Iik7ZnVuY3Rpb24gVk9hKGEpe3ZhciBlPXR5cGVvZiBhO3JldHVybiBlPT0ic3RyaW5nInx8ZT09Im51bWJlciJ8fGU9PSJzeW1ib2wifHxlPT0iYm9vbGVhbiI/YSE9PSJfX3Byb3RvX18iOmE9PT1udWxsfXMoVk9hLCJpc0tleWFibGUiKTtmdW5jdGlvbiBqT2EoYSl7cmV0dXJuISFhZmEmJmFmYSBpbiBhfXMoak9hLCJpc01hc2tlZCIpO2Z1bmN0aW9uIGZmYShhKXt2YXIgZT1hJiZhLmNvbnN0cnVjdG9yLHQ9dHlwZW9mIGU9PSJmdW5jdGlvbiImJmUucHJvdG90eXBlfHxfaWU7cmV0dXJuIGE9PT10fXMoZmZhLCJpc1Byb3RvdHlwZSIpO2Z1bmN0aW9uIFI1KGEpe2lmKGEhPW51bGwpe3RyeXtyZXR1cm4gcmZhLmNhbGwoYSl9Y2F0Y2h7fXRyeXtyZXR1cm4gYSsiIn1jYXRjaHt9fXJldHVybiIifXMoUjUsInRvU291cmNlIik7ZnVuY3Rpb24gVU9hKGEpe3JldHVybiBQZXQoYSwhMCwhMCl9cyhVT2EsImNsb25lRGVlcCIpO2Z1bmN0aW9uIGhmYShhLGUpe3JldHVybiBhPT09ZXx8YSE9PWEmJmUhPT1lfXMoaGZhLCJlcSIpO2Z1bmN0aW9uIFdPYShhKXtyZXR1cm4gR09hKGEpJiZaNC5jYWxsKGEsImNhbGxlZSIpJiYoIUdSYS5jYWxsKGEsImNhbGxlZSIpfHxUaWUuY2FsbChhKT09a2V0KX1zKFdPYSwiaXNBcmd1bWVudHMiKTt2YXIgTmV0PUFycmF5LmlzQXJyYXk7ZnVuY3Rpb24gbWZhKGEpe3JldHVybiBhIT1udWxsJiZLT2EoYS5sZW5ndGgpJiYhZ2ZhKGEpfXMobWZhLCJpc0FycmF5TGlrZSIpO2Z1bmN0aW9uIEdPYShhKXtyZXR1cm4gWk9hKGEpJiZtZmEoYSl9cyhHT2EsImlzQXJyYXlMaWtlT2JqZWN0Iik7dmFyIFlPYT1LUmF8fFFPYTtmdW5jdGlvbiBnZmEoYSl7dmFyIGU9RGllKGEpP1RpZS5jYWxsKGEpOiIiO3JldHVybiBlPT16ZXR8fGU9PVBwYX1zKGdmYSwiaXNGdW5jdGlvbiIpO2Z1bmN0aW9uIEtPYShhKXtyZXR1cm4gdHlwZW9mIGE9PSJudW1iZXIiJiZhPi0xJiZhJTE9PTAmJmE8PURwYX1zKEtPYSwiaXNMZW5ndGgiKTtmdW5jdGlvbiBEaWUoYSl7dmFyIGU9dHlwZW9mIGE7cmV0dXJuISFhJiYoZT09Im9iamVjdCJ8fGU9PSJmdW5jdGlvbiIpfXMoRGllLCJpc09iamVjdCIpO2Z1bmN0aW9uIFpPYShhKXtyZXR1cm4hIWEmJnR5cGVvZiBhPT0ib2JqZWN0In1zKFpPYSwiaXNPYmplY3RMaWtlIik7ZnVuY3Rpb24gUmV0KGEpe3JldHVybiBtZmEoYSk/TU9hKGEpOlRPYShhKX1zKFJldCwia2V5cyIpO2Z1bmN0aW9uIFhPYSgpe3JldHVybltdfXMoWE9hLCJzdHViQXJyYXkiKTtmdW5jdGlvbiBRT2EoKXtyZXR1cm4hMX1zKFFPYSwic3R1YkZhbHNlIiksbTcuZXhwb3J0cz1VT2F9KTt2YXIgQWllLHZmYSxFaWUsT2V0PWYoKCk9PntMcGEoKTtIaCgpO0FpZT1GaShiZmEoKSwxKSx2ZmE9RmkoWWxlKCksMSksRWllPXZmYS5kZWZhdWx0fSk7ZnVuY3Rpb24gZUZhKGEpe3JldHVybiB0eXBlb2YgQnVmZmVyPCJ1Ij9CdWZmZXIuZnJvbShhKS50b1N0cmluZygiYmFzZTY0Iik6YnRvYShTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLmEpKX1mdW5jdGlvbiB0RmEoYSl7aWYodHlwZW9mIEJ1ZmZlcjwidSIpe2xldCBlPUJ1ZmZlci5mcm9tKGEsImJhc2U2NCIpO3JldHVybiBuZXcgVWludDhBcnJheShlLmJ1ZmZlcixlLmJ5dGVPZmZzZXQsZS5ieXRlTGVuZ3RoKX1yZXR1cm4gbmV3IFVpbnQ4QXJyYXkoQXJyYXkuZnJvbShhdG9iKGEpKS5tYXAoZT0+ZS5jaGFyQ29kZUF0KDApKSl9ZnVuY3Rpb24gQmV0KGEsZSl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGEsUGllLGUpfWZ1bmN0aW9uIEhldChhKXtyZXR1cm4gSlNPTi5wYXJzZShhLHhmYSl9ZnVuY3Rpb24gYUZhKGEpe3JldHVybiB3ZmEoYSkmJmEudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmRmV0KGEuZGF0YSl9ZnVuY3Rpb24gckZhKGEpe3JldHVybiB3ZmEoYSkmJmEudHlwZT09PSJCdWZmZXIiJiYoeWZhKGEuZGF0YSl8fEZldChhLmRhdGEpKXx8YSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl9ZnVuY3Rpb24geWZhKGEpe3JldHVybiBBcnJheS5pc0FycmF5KGEpfWZ1bmN0aW9uIEZldChhKXtyZXR1cm4gdHlwZW9mIGE9PSJzdHJpbmcifWZ1bmN0aW9uIHdmYShhKXtyZXR1cm4gdHlwZW9mIGE9PSJvYmplY3QiJiZhIT09bnVsbH12YXIgUGllLHhmYSxNZmE9ZigoKT0+e09ldCgpO3MoZUZhLCJiYXNlNjRFbmNvZGUiKTtzKHRGYSwiYmFzZTY0RGVjb2RlIik7cyhCZXQsInN0cmluZ2lmeSIpO3MoSGV0LCJwYXJzZSIpO1BpZT1zKChhLGUpPT57aWYockZhKGUpKXtsZXQgdDtpZigiZGF0YSJpbiBlJiZ5ZmEoZS5kYXRhKSl0PW5ldyBVaW50OEFycmF5KGUuZGF0YSk7ZWxzZSBpZihlIGluc3RhbmNlb2YgVWludDhBcnJheSl0PWU7ZWxzZSByZXR1cm4gZTtyZXR1cm57dHlwZToiRW5jb2RlZEJ1ZmZlciIsZGF0YToiYmFzZTY0OiIrZUZhKHQpfX1yZXR1cm4gZX0sInJlcGxhY2VyIikseGZhPXMoKGEsZSk9PntpZihhRmEoZSkmJkZldChlLmRhdGEpJiZlLmRhdGEuc3RhcnRzV2l0aCgiYmFzZTY0OiIpKXtsZXQgdD1lLmRhdGEuc2xpY2UoNyk7cmV0dXJuIHRGYSh0KX1yZXR1cm4gZX0sInJldml2ZXIiKTtzKGFGYSwiaXNFbmNvZGVkQnVmZmVyIik7cyhyRmEsImlzQnVmZmVyTGlrZSIpO3MoeWZhLCJpc0FycmF5Iik7cyhGZXQsImlzU3RyaW5nIik7cyh3ZmEsImlzT2JqZWN0Iil9KTt2YXIgY2w9e307bHQoY2wse1NtYXJ0anNvbjooKT0+VmV0LGRlZXBFcXVhbEpzb25MU3RyaW5nczooKT0+dUZhLGRlZXBFcXVhbE9iamVjdHM6KCk9PmtmYSxmb2xkRGVjOigpPT5kRmEscGFyc2U6KCk9PklpZSxwYXJzZUJhc2U2NDooKT0+Y0ZhLHBhcnNlSnNvbkw6KCk9PnFldCxzdGFibGVPbmVXYXlTdHJpbmdpZnk6KCk9Pm9GYSxzdHJpbmdpZnk6KCk9Pk81LHN0cmluZ2lmeUJhc2U2NDooKT0+bEZhLHN0cmluZ2lmeUpzb25MOigpPT5pRmEsc3RyaW5naWZ5UHJldHR5OigpPT5uRmF9KTt2YXIgSWllLHFldCxpRmEsb0ZhLE81LG5GYSxsRmEsY0ZhLFZldCxkRmEsa2ZhLHVGYSxTZmE9ZigoKT0+e09ldCgpO01mYSgpO0lpZT1IZXQscWV0PXMoYT0+YS5zcGxpdChgCmApLnJlZHVjZSgocixpKT0+e2xldCBvPWkudHJpbSgpO3JldHVybiBvLmxlbmd0aD4wJiZyLnB1c2goSWllKG8pKSxyfSxbXSksInBhcnNlSnNvbkwiKSxpRmE9cyhhPT5hLm1hcChlPT5PNShlKSkuam9pbihgCmApLCJzdHJpbmdpZnlKc29uTCIpLG9GYT1zKChhLGUsdD17fSk9PntsZXQgcj1uZXcgV2Vha1NldCxpPXMobD0+e2lmKGw9PT1udWxsfHx0eXBlb2YgbCE9Im9iamVjdCIpcmV0dXJuIGw7bGV0IGQ9UGllKCIiLGwpO2lmKGQmJmQudHlwZT09PSJFbmNvZGVkQnVmZmVyIiYmdHlwZW9mIGQuZGF0YT09InN0cmluZyIpcmV0dXJuIGQ7aWYoci5oYXMobCkpcmV0dXJuIl9fY3ljbGVfXyI7aWYoci5hZGQobCksQXJyYXkuaXNBcnJheShsKSlyZXR1cm4gbC5tYXAocD0+aShwKSk7bGV0IGM9e307Zm9yKGxldCBwIG9mIE9iamVjdC5rZXlzKGwpKXRyeXtjW3BdPWkobFtwXSl9Y2F0Y2h7Y1twXT0iX191bnNlcmlhbGl6YWJsZV9fIn1yZXR1cm4gY30sInNhbml0aXplIiksbz1pKGEpLG49ey4uLnQsY3ljbGVzOiEwfTtpZihlJiYhbi5jbXApe2xldCBsPW5ldyBNYXA7ZS5mb3JFYWNoKChkLGMpPT5sLnNldChkLGMpKSxuLmNtcD0oZCxjKT0+e2xldCBwPWwuaGFzKGQua2V5KT9sLmdldChkLmtleSk6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHU9bC5oYXMoYy5rZXkpP2wuZ2V0KGMua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7cmV0dXJuIHAhPT11P3AtdTpkLmtleTxjLmtleT8tMTpkLmtleT5jLmtleT8xOjB9fXJldHVybiBFaWUobyxuKX0sInN0YWJsZU9uZVdheVN0cmluZ2lmeSIpLE81PXMoKGEsZSx0PXt9KT0+e2xldCByPUJldChhKTthPUpTT04ucGFyc2Uocik7bGV0IGk9ey4uLnR9O2lmKGUmJiFpLmNtcCl7bGV0IG49bmV3IE1hcDtlLmZvckVhY2goKGwsZCk9Pm4uc2V0KGwsZCkpLGkuY21wPShsLGQpPT57bGV0IGM9bi5oYXMobC5rZXkpP24uZ2V0KGwua2V5KTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkscD1uLmhhcyhkLmtleSk/bi5nZXQoZC5rZXkpOk51bWJlci5QT1NJVElWRV9JTkZJTklUWTtyZXR1cm4gYyE9PXA/Yy1wOmwua2V5PGQua2V5Py0xOmwua2V5PmQua2V5PzE6MH19cmV0dXJuIEVpZShhLGkpfSwic3RyaW5naWZ5IiksbkZhPXMoYT0+e2xldCBlPU81KGEpLHQ9SlNPTi5wYXJzZShlKTtyZXR1cm4gSlNPTi5zdHJpbmdpZnkodCxudWxsLDIpfSwic3RyaW5naWZ5UHJldHR5IiksbEZhPXMoKC4uLmEpPT57bGV0IGU9TzUoLi4uYSk7cmV0dXJuIGlzLmJhc2U2NC5lbmNvZGVVcmkoZSl9LCJzdHJpbmdpZnlCYXNlNjQiKSxjRmE9cyhhPT57bGV0IGU9aXMuYmFzZTY0LHI9KGUuZGVjb2RlVXJpfHxlLmRlY29kZSkoYSk7cmV0dXJuIElpZShyKX0sInBhcnNlQmFzZTY0IiksVmV0PWNsYXNzIGF7c3RhdGlje3ModGhpcywiU21hcnRqc29uIil9c3RhdGljIGVuZm9sZEZyb21PYmplY3QoZSl7bGV0IHQ9bmV3IHRoaXMscj10LnNhdmVhYmxlUHJvcGVydGllc3x8W107Zm9yKGxldCBpIGluIGUpci5pbmRleE9mKGkpIT09LTEmJih0W2ldPWVbaV0pO3JldHVybiB0fXN0YXRpYyBlbmZvbGRGcm9tSnNvbihlKXtsZXQgdD1JaWUoZSk7cmV0dXJuIHRoaXMuZW5mb2xkRnJvbU9iamVjdCh0KX1mb2xkVG9PYmplY3QoKXtsZXQgZT1uZXcgU2V0O3JldHVybiBlLmFkZCh0aGlzKSx0aGlzLmZvbGRUb09iamVjdEludGVybmFsKGUpfWZvbGRUb09iamVjdEludGVybmFsKGUpe2xldCB0PXt9LHI9cyhvPT57aWYobyBpbnN0YW5jZW9mIGEpe2lmKGUuaGFzKG8pKXRocm93IG5ldyBFcnJvcigiY3ljbGUgZGV0ZWN0ZWQiKTtyZXR1cm4gZS5hZGQobyksby5mb2xkVG9PYmplY3RJbnRlcm5hbChlKX1yZXR1cm4gQXJyYXkuaXNBcnJheShvKT9vLm1hcChuPT5yKG4pKTpBaWUuZGVmYXVsdChvKX0sImZvbGRWYWx1ZSIpLGk9dGhpcy5zYXZlYWJsZVByb3BlcnRpZXN8fFtdO2ZvcihsZXQgbyBvZiBpKXtsZXQgbj10aGlzW29dO3Rbb109cihuKX1yZXR1cm4gdH1mb2xkVG9Kc29uKCl7bGV0IGU9dGhpcy5mb2xkVG9PYmplY3QoKTtyZXR1cm4gTzUoZSl9fSxkRmE9cygoKT0+KGEsZSk9PnthLnNhdmVhYmxlUHJvcGVydGllc3x8KGEuc2F2ZWFibGVQcm9wZXJ0aWVzPVtdKSxhLnNhdmVhYmxlUHJvcGVydGllcy5wdXNoKGUpfSwiZm9sZERlYyIpLGtmYT1zKChhLGUpPT57bGV0IHQ9TzUoYSkscj1PNShlKTtyZXR1cm4gdD09PXJ9LCJkZWVwRXF1YWxPYmplY3RzIiksdUZhPXMoKGEsZSk9PntsZXQgdD1xZXQoYSkscj1xZXQoZSk7cmV0dXJuIGtmYSh0LHIpfSwiZGVlcEVxdWFsSnNvbkxTdHJpbmdzIil9KTt2YXIgemZhPWYoKCk9Pnt2cGEoKTtwMygpO3pwYSgpO01sKCk7U2ZhKCk7S3MoKTtwMigpO0hoKCk7S2RlKCl9KTtmdW5jdGlvbiBmRmEoYSl7cmV0dXJue3BlZXI6YSxhc3luYyBnZXRUYWdCeUlkKGUpe2lmKCFhLnRhZ3MuaGFzKGUpKXJldHVybjtsZXQgdD1hLmRhdGEuZ2V0KGAke2pldH0ke2V9YCk7cmV0dXJue2lkOmUscGF5bG9hZDp0fX19fXZhciBqZXQsVWV0LENmYT1mKCgpPT57emZhKCk7amV0PSJfX3R5cGVkc29ja2V0X3RhZ19fIjtzKGZGYSwid3JhcFNtYXJ0U2VydmVQZWVyIik7VWV0PWNsYXNzIGF7c3RhdGlje3ModGhpcywiVHlwZWRTb2NrZXQiKX1zdGF0aWMgYXN5bmMgY3JlYXRlQ2xpZW50KGUsdCxyPXt9KXtsZXQgbz17Li4ue2F1dG9SZWNvbm5lY3Q6ITAsbWF4UmV0cmllczoxMDAsaW5pdGlhbEJhY2tvZmZNczoxZTMsbWF4QmFja29mZk1zOjZlNH0sLi4ucn0sbj1uZXcgYSgiY2xpZW50IixlKTtyZXR1cm4gbi5jbGllbnRPcHRpb25zPW8sbi5zZXJ2ZXJVcmw9dCxuLmN1cnJlbnRCYWNrb2ZmPW8uaW5pdGlhbEJhY2tvZmZNcyxhd2FpdCBuLmNvbm5lY3QoKSxufXN0YXRpY3t0aGlzLnVzZVdpbmRvd0xvY2F0aW9uT3JpZ2luVXJsPSgpPT54MS5TbWFydHVybC5jcmVhdGVGcm9tVXJsKGdsb2JhbFRoaXMubG9jYXRpb24ub3JpZ2luKS50b1N0cmluZygpfXN0YXRpYyBmcm9tU21hcnRTZXJ2ZShlLHQpe2xldCByPW5ldyBNYXA7YS5yZWdpc3RlclRhZ0hhbmRsZXJzKHQpO2xldCBpPW5ldyBhKCJzZXJ2ZXIiLHQpO3JldHVybiBpLnNtYXJ0U2VydmVSZWY9ZSxpLnNtYXJ0U2VydmVDb25uZWN0aW9uV3JhcHBlcnM9cixpfXN0YXRpYyByZWdpc3RlclRhZ0hhbmRsZXJzKGUpe2UuYWRkVHlwZWRIYW5kbGVyKG5ldyBLNC5UeXBlZEhhbmRsZXIoIl9fdHlwZWRzb2NrZXRfc2V0VGFnIixhc3luYyh0LHIpPT57bGV0IGk9cj8ubG9jYWxEYXRhPy5wZWVyO3JldHVybiBpPyhpLnRhZ3MuYWRkKHQubmFtZSksaS5kYXRhLnNldChgJHtqZXR9JHt0Lm5hbWV9YCx0LnBheWxvYWQpLHtzdWNjZXNzOiEwfSk6KGNvbnNvbGUud2Fybigic2V0VGFnOiBObyBwZWVyIGZvdW5kIGluIHJlcXVlc3QgY29udGV4dCIpLHtzdWNjZXNzOiExfSl9KSksZS5hZGRUeXBlZEhhbmRsZXIobmV3IEs0LlR5cGVkSGFuZGxlcigiX190eXBlZHNvY2tldF9yZW1vdmVUYWciLGFzeW5jKHQscik9PntsZXQgaT1yPy5sb2NhbERhdGE/LnBlZXI7cmV0dXJuIGk/KGkudGFncy5kZWxldGUodC5uYW1lKSxpLmRhdGEuZGVsZXRlKGAke2pldH0ke3QubmFtZX1gKSx7c3VjY2VzczohMH0pOihjb25zb2xlLndhcm4oInJlbW92ZVRhZzogTm8gcGVlciBmb3VuZCBpbiByZXF1ZXN0IGNvbnRleHQiKSx7c3VjY2VzczohMX0pfSkpfWNvbnN0cnVjdG9yKGUsdCl7dGhpcy5zdGF0dXNTdWJqZWN0PW5ldyBDYS5yeGpzLlN1YmplY3QsdGhpcy5jb25uZWN0aW9uU3RhdHVzPSJuZXciLHRoaXMud2Vic29ja2V0PW51bGwsdGhpcy5jbGllbnRPcHRpb25zPW51bGwsdGhpcy5zZXJ2ZXJVcmw9IiIsdGhpcy5yZXRyeUNvdW50PTAsdGhpcy5jdXJyZW50QmFja29mZj0xZTMsdGhpcy5wZW5kaW5nUmVxdWVzdHM9bmV3IE1hcCx0aGlzLnNtYXJ0U2VydmVSZWY9bnVsbCx0aGlzLnNtYXJ0U2VydmVDb25uZWN0aW9uV3JhcHBlcnM9bmV3IE1hcCx0aGlzLnNpZGU9ZSx0aGlzLnR5cGVkcm91dGVyPXR9YXN5bmMgY29ubmVjdCgpe2xldCBlPWV0LmRlZmVyKCk7dGhpcy51cGRhdGVTdGF0dXMoImNvbm5lY3RpbmciKTtsZXQgdD10aGlzLnRvV2ViU29ja2V0VXJsKHRoaXMuc2VydmVyVXJsKTtjb25zb2xlLmxvZyhgVHlwZWRTb2NrZXQgY29ubmVjdGluZyB0byAke3R9Li4uYCksdGhpcy53ZWJzb2NrZXQ9bmV3IFdlYlNvY2tldCh0KTtsZXQgcj1zZXRUaW1lb3V0KCgpPT57dGhpcy5jb25uZWN0aW9uU3RhdHVzIT09ImNvbm5lY3RlZCImJihjb25zb2xlLndhcm4oIlR5cGVkU29ja2V0IGNvbm5lY3Rpb24gdGltZW91dCIpLHRoaXMud2Vic29ja2V0Py5jbG9zZSgpLGUucmVqZWN0KG5ldyBFcnJvcigiQ29ubmVjdGlvbiB0aW1lb3V0IikpKX0sMWU0KTt0aGlzLndlYnNvY2tldC5vbm9wZW49KCk9PntjbGVhclRpbWVvdXQociksY29uc29sZS5sb2coIlR5cGVkU29ja2V0IGNvbm5lY3RlZCEiKSx0aGlzLnVwZGF0ZVN0YXR1cygiY29ubmVjdGVkIiksdGhpcy5yZXRyeUNvdW50PTAsdGhpcy5jdXJyZW50QmFja29mZj10aGlzLmNsaWVudE9wdGlvbnM/LmluaXRpYWxCYWNrb2ZmTXM/PzFlMyxlLnJlc29sdmUoKX0sdGhpcy53ZWJzb2NrZXQub25tZXNzYWdlPWFzeW5jIGk9Pnthd2FpdCB0aGlzLmhhbmRsZU1lc3NhZ2UoaS5kYXRhKX0sdGhpcy53ZWJzb2NrZXQub25jbG9zZT0oKT0+e2NsZWFyVGltZW91dChyKSx0aGlzLmhhbmRsZURpc2Nvbm5lY3QoKX0sdGhpcy53ZWJzb2NrZXQub25lcnJvcj1pPT57Y29uc29sZS5lcnJvcigiVHlwZWRTb2NrZXQgV2ViU29ja2V0IGVycm9yOiIsaSl9O3RyeXthd2FpdCBlLnByb21pc2V9Y2F0Y2goaSl7aWYoY2xlYXJUaW1lb3V0KHIpLHRoaXMuY2xpZW50T3B0aW9ucz8uYXV0b1JlY29ubmVjdClhd2FpdCB0aGlzLnNjaGVkdWxlUmVjb25uZWN0KCk7ZWxzZSB0aHJvdyBpfX10b1dlYlNvY2tldFVybChlKXtsZXQgdD1uZXcgVVJMKGUpO3JldHVybmAke3QucHJvdG9jb2w9PT0iaHR0cHM6Ij8id3NzOiI6IndzOiJ9Ly8ke3QuaG9zdH0ke3QucGF0aG5hbWV9YH1hc3luYyBoYW5kbGVNZXNzYWdlKGUpe3RyeXtsZXQgdD10eXBlb2YgZT09InN0cmluZyI/ZTpuZXcgVGV4dERlY29kZXIoKS5kZWNvZGUoZSkscj1jbC5wYXJzZSh0KTtpZihyLmNvcnJlbGF0aW9uPy5pZCYmdGhpcy5wZW5kaW5nUmVxdWVzdHMuaGFzKHIuY29ycmVsYXRpb24uaWQpKXtsZXQgbz10aGlzLnBlbmRpbmdSZXF1ZXN0cy5nZXQoci5jb3JyZWxhdGlvbi5pZCk7dGhpcy5wZW5kaW5nUmVxdWVzdHMuZGVsZXRlKHIuY29ycmVsYXRpb24uaWQpLG8ucmVzb2x2ZShyKTtyZXR1cm59bGV0IGk9YXdhaXQgdGhpcy50eXBlZHJvdXRlci5yb3V0ZUFuZEFkZFJlc3BvbnNlKHIpO2kmJnRoaXMud2Vic29ja2V0Py5yZWFkeVN0YXRlPT09V2ViU29ja2V0Lk9QRU4mJnRoaXMud2Vic29ja2V0LnNlbmQoY2wuc3RyaW5naWZ5KGkpKX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKCJUeXBlZFNvY2tldCBmYWlsZWQgdG8gcHJvY2VzcyBtZXNzYWdlOiIsdCl9fWhhbmRsZURpc2Nvbm5lY3QoKXtpZih0aGlzLmNvbm5lY3Rpb25TdGF0dXMhPT0iZGlzY29ubmVjdGVkIil7dGhpcy51cGRhdGVTdGF0dXMoImRpc2Nvbm5lY3RlZCIpO2ZvcihsZXRbZSx0XW9mIHRoaXMucGVuZGluZ1JlcXVlc3RzKXQucmVqZWN0KG5ldyBFcnJvcigiVHlwZWRTb2NrZXQgZGlzY29ubmVjdGVkIikpO3RoaXMucGVuZGluZ1JlcXVlc3RzLmNsZWFyKCksdGhpcy5jbGllbnRPcHRpb25zPy5hdXRvUmVjb25uZWN0JiZ0aGlzLnJldHJ5Q291bnQ8dGhpcy5jbGllbnRPcHRpb25zLm1heFJldHJpZXMmJnRoaXMuc2NoZWR1bGVSZWNvbm5lY3QoKX19YXN5bmMgc2NoZWR1bGVSZWNvbm5lY3QoKXtpZighdGhpcy5jbGllbnRPcHRpb25zKXJldHVybjt0aGlzLnVwZGF0ZVN0YXR1cygicmVjb25uZWN0aW5nIiksdGhpcy5yZXRyeUNvdW50Kys7bGV0IGU9dGhpcy5jdXJyZW50QmFja29mZiouMiooTWF0aC5yYW5kb20oKSoyLTEpLHQ9TWF0aC5taW4odGhpcy5jdXJyZW50QmFja29mZitlLHRoaXMuY2xpZW50T3B0aW9ucy5tYXhCYWNrb2ZmTXMpO2NvbnNvbGUubG9nKGBUeXBlZFNvY2tldCByZWNvbm5lY3RpbmcgaW4gJHtNYXRoLnJvdW5kKHQpfW1zIChhdHRlbXB0ICR7dGhpcy5yZXRyeUNvdW50fS8ke3RoaXMuY2xpZW50T3B0aW9ucy5tYXhSZXRyaWVzfSlgKSxhd2FpdCBQdC5kZWxheUZvcih0KSx0aGlzLmN1cnJlbnRCYWNrb2ZmPU1hdGgubWluKHRoaXMuY3VycmVudEJhY2tvZmYqMix0aGlzLmNsaWVudE9wdGlvbnMubWF4QmFja29mZk1zKTt0cnl7YXdhaXQgdGhpcy5jb25uZWN0KCl9Y2F0Y2gocil7Y29uc29sZS5lcnJvcigiVHlwZWRTb2NrZXQgcmVjb25uZWN0aW9uIGZhaWxlZDoiLHIpfX11cGRhdGVTdGF0dXMoZSl7dGhpcy5jb25uZWN0aW9uU3RhdHVzIT09ZSYmKHRoaXMuY29ubmVjdGlvblN0YXR1cz1lLHRoaXMuc3RhdHVzU3ViamVjdC5uZXh0KGUpKX1hc3luYyBzZW5kUmVxdWVzdChlKXtpZighdGhpcy53ZWJzb2NrZXR8fHRoaXMud2Vic29ja2V0LnJlYWR5U3RhdGUhPT1XZWJTb2NrZXQuT1BFTil0aHJvdyBuZXcgRXJyb3IoIldlYlNvY2tldCBub3QgY29ubmVjdGVkIik7ZS5jb3JyZWxhdGlvbnx8PXtpZDppcy5jcmVhdGUuY3JlYXRlQ3J5cHRvUmFuZG9tU3RyaW5nKCkscGhhc2U6InJlcXVlc3QifTtsZXQgdD1lLmNvcnJlbGF0aW9uLmlkO3JldHVybiBuZXcgUHJvbWlzZSgocixpKT0+e2xldCBvPXNldFRpbWVvdXQoKCk9Pnt0aGlzLnBlbmRpbmdSZXF1ZXN0cy5kZWxldGUodCksaShuZXcgRXJyb3IoIlJlcXVlc3QgdGltZW91dCIpKX0sM2U0KTt0aGlzLnBlbmRpbmdSZXF1ZXN0cy5zZXQodCx7cmVzb2x2ZTpzKG49PntjbGVhclRpbWVvdXQobykscihuKX0sInJlc29sdmUiKSxyZWplY3Q6cyhuPT57Y2xlYXJUaW1lb3V0KG8pLGkobil9LCJyZWplY3QiKX0pLHRoaXMud2Vic29ja2V0LnNlbmQoY2wuc3RyaW5naWZ5KGUpKX0pfWNyZWF0ZVR5cGVkUmVxdWVzdChlLHQpe2xldCByPXMoYXN5bmMgaT0+e2lmKHRoaXMuc2lkZT09PSJjbGllbnQiKXJldHVybiB0aGlzLnNlbmRSZXF1ZXN0KGkpO2lmKCF0aGlzLnNtYXJ0U2VydmVSZWYpdGhyb3cgbmV3IEVycm9yKCJTZXJ2ZXIgbm90IGluaXRpYWxpemVkIik7bGV0IG89dDtpZighbyl7bGV0IGw9dGhpcy5zbWFydFNlcnZlUmVmLmdldFdlYlNvY2tldENvbm5lY3Rpb25zKCk7aWYobC5sZW5ndGg9PT0xKXtsZXQgZD1sWzBdO289dGhpcy5nZXRPckNyZWF0ZVdyYXBwZXIoZCl9ZWxzZSB0aHJvdyBsLmxlbmd0aD09PTA/bmV3IEVycm9yKCJObyBXZWJTb2NrZXQgY29ubmVjdGlvbnMgYXZhaWxhYmxlIik6bmV3IEVycm9yKCJNdWx0aXBsZSBjb25uZWN0aW9ucyBhdmFpbGFibGUgLSBzcGVjaWZ5IHRhcmdldENvbm5lY3Rpb24iKX1sZXQgbj1hd2FpdCB0aGlzLnR5cGVkcm91dGVyLmZpcmVFdmVudEludGVyZXN0TWFwLmFkZEludGVyZXN0KGkuY29ycmVsYXRpb24uaWQsaSk7cmV0dXJuIG8ucGVlci5zZW5kKGNsLnN0cmluZ2lmeShpKSksYXdhaXQgbi5pbnRlcmVzdEZ1bGxmaWxsZWR9LCJwb3N0TWV0aG9kIik7cmV0dXJuIG5ldyBLNC5UeXBlZFJlcXVlc3QobmV3IEs0LlR5cGVkVGFyZ2V0KHtwb3N0TWV0aG9kOnJ9KSxlKX1nZXRTdGF0dXMoKXtyZXR1cm4gdGhpcy5jb25uZWN0aW9uU3RhdHVzfWFzeW5jIHN0b3AoKXt0aGlzLnNpZGU9PT0iY2xpZW50Ij8odGhpcy5jbGllbnRPcHRpb25zJiYodGhpcy5jbGllbnRPcHRpb25zLmF1dG9SZWNvbm5lY3Q9ITEpLHRoaXMud2Vic29ja2V0JiYodGhpcy53ZWJzb2NrZXQuY2xvc2UoKSx0aGlzLndlYnNvY2tldD1udWxsKSx0aGlzLnBlbmRpbmdSZXF1ZXN0cy5jbGVhcigpKTp0aGlzLnNtYXJ0U2VydmVDb25uZWN0aW9uV3JhcHBlcnMuY2xlYXIoKX1hc3luYyBzZXRUYWcoZSx0KXtpZih0aGlzLnNpZGUhPT0iY2xpZW50Iil0aHJvdyBuZXcgRXJyb3IoInNldFRhZyBpcyBvbmx5IGF2YWlsYWJsZSBvbiBjbGllbnRzIik7aWYoIShhd2FpdCB0aGlzLmNyZWF0ZVR5cGVkUmVxdWVzdCgiX190eXBlZHNvY2tldF9zZXRUYWciKS5maXJlKHtuYW1lOmUscGF5bG9hZDp0fSkpLnN1Y2Nlc3MpdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gc2V0IHRhZyBvbiBzZXJ2ZXIiKX1hc3luYyByZW1vdmVUYWcoZSl7aWYodGhpcy5zaWRlIT09ImNsaWVudCIpdGhyb3cgbmV3IEVycm9yKCJyZW1vdmVUYWcgaXMgb25seSBhdmFpbGFibGUgb24gY2xpZW50cyIpO2lmKCEoYXdhaXQgdGhpcy5jcmVhdGVUeXBlZFJlcXVlc3QoIl9fdHlwZWRzb2NrZXRfcmVtb3ZlVGFnIikuZmlyZSh7bmFtZTplfSkpLnN1Y2Nlc3MpdGhyb3cgbmV3IEVycm9yKCJGYWlsZWQgdG8gcmVtb3ZlIHRhZyBvbiBzZXJ2ZXIiKX1nZXRPckNyZWF0ZVdyYXBwZXIoZSl7bGV0IHQ9dGhpcy5zbWFydFNlcnZlQ29ubmVjdGlvbldyYXBwZXJzLmdldChlLmlkKTtyZXR1cm4gdHx8KHQ9ZkZhKGUpLHRoaXMuc21hcnRTZXJ2ZUNvbm5lY3Rpb25XcmFwcGVycy5zZXQoZS5pZCx0KSksdH1hc3luYyBmaW5kQWxsVGFyZ2V0Q29ubmVjdGlvbnMoZSl7aWYodGhpcy5zaWRlIT09InNlcnZlciJ8fCF0aGlzLnNtYXJ0U2VydmVSZWYpdGhyb3cgbmV3IEVycm9yKCJmaW5kQWxsVGFyZ2V0Q29ubmVjdGlvbnMgaXMgb25seSBhdmFpbGFibGUgb24gc2VydmVycyIpO2xldCB0PVtdO2ZvcihsZXQgciBvZiB0aGlzLnNtYXJ0U2VydmVSZWYuZ2V0V2ViU29ja2V0Q29ubmVjdGlvbnMoKSl7bGV0IGk9dGhpcy5nZXRPckNyZWF0ZVdyYXBwZXIocik7YXdhaXQgZShpKSYmdC5wdXNoKGkpfXJldHVybiB0fWFzeW5jIGZpbmRUYXJnZXRDb25uZWN0aW9uKGUpe3JldHVybihhd2FpdCB0aGlzLmZpbmRBbGxUYXJnZXRDb25uZWN0aW9ucyhlKSlbMF19YXN5bmMgZmluZEFsbFRhcmdldENvbm5lY3Rpb25zQnlUYWcoZSx0KXtpZih0aGlzLnNpZGUhPT0ic2VydmVyInx8IXRoaXMuc21hcnRTZXJ2ZVJlZil0aHJvdyBuZXcgRXJyb3IoImZpbmRBbGxUYXJnZXRDb25uZWN0aW9uc0J5VGFnIGlzIG9ubHkgYXZhaWxhYmxlIG9uIHNlcnZlcnMiKTtsZXQgcj10aGlzLnNtYXJ0U2VydmVSZWYuZ2V0V2ViU29ja2V0Q29ubmVjdGlvbnNCeVRhZyhlKSxpPVtdO2ZvcihsZXQgbyBvZiByKXtsZXQgbj10aGlzLmdldE9yQ3JlYXRlV3JhcHBlcihvKTtpZih0IT09dm9pZCAwKXtsZXQgbD1hd2FpdCBuLmdldFRhZ0J5SWQoZSk7aWYoY2wuc3RyaW5naWZ5KGw/LnBheWxvYWQpIT09Y2wuc3RyaW5naWZ5KHQpKWNvbnRpbnVlfWkucHVzaChuKX1yZXR1cm4gaX1hc3luYyBmaW5kVGFyZ2V0Q29ubmVjdGlvbkJ5VGFnKGUsdCl7cmV0dXJuKGF3YWl0IHRoaXMuZmluZEFsbFRhcmdldENvbm5lY3Rpb25zQnlUYWcoZSx0KSlbMF19fX0pO3ZhciBnNz17fTtsdChnNyx7VHlwZWRTb2NrZXQ6KCk9PlVldH0pO3ZhciBfZmE9ZigoKT0+e0NmYSgpfSk7dmFyIGh0LGRuPWYoKCk9PntsZSgpO0RKZSgpO2hwYSgpO19mYSgpO2h0PUF0fSk7dmFyIE5vLFRmYT1mKCgpPT57bGUoKTtObz1RYAogIDpob3N0IHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgbWFyZ2luOiBhdXRvOwogICAgbWF4LXdpZHRoOiAxMjgwcHg7CiAgICBwYWRkaW5nOiAxNnB4IDE2cHg7CiAgfQpgfSk7dmFyIExmYSxXZXQsaEZhLElHLCRmYT1mKCgpPT57bGUoKTtMZmE9W2llKCJvYi1zZWN0aW9uaGVhZGluZyIpXTtJRz1jbGFzcyBleHRlbmRzKGhGYT1wZSl7c3RhdGlje3ModGhpcywiT2JTZWN0aW9uSGVhZGluZyIpfXN0YXRpYyBzdHlsZXM9W2guZGVmYXVsdFN0eWxlcyxRYAogICAgICA6aG9zdCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDsKICAgICAgfQogICAgICAuaGVhZGluZyB7CiAgICAgICAgZm9udC1mYW1pbHk6ICdDYWwgU2FucycsICdJbnRlcicsIHNhbnMtc2VyaWY7CiAgICAgICAgZm9udC1zaXplOiAyOHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7CiAgICAgICAgY29sb3I6ICR7aC5iZFRoZW1lKCIjMTExIiwiI2ZmZiIpfTsKICAgICAgICBtYXJnaW46IDA7CiAgICAgICAgcGFkZGluZzogMDsKICAgICAgfQogICAgYF07cmVuZGVyKCl7cmV0dXJuIHdgCiAgICAgIDxoMSBjbGFzcz0iaGVhZGluZyI+CiAgICAgICAgPHNsb3Q+PC9zbG90PgogICAgICA8L2gxPgogICAgYH19O1dldD1JcyhoRmEpLElHPUV0KFdldCwwLCJPYlNlY3Rpb25IZWFkaW5nIixMZmEsSUcpLFhlKFdldCwxLElHKX0pO3ZhciBXYz1mKCgpPT57VGZhKCk7JGZhKCl9KTt2YXIgdWk9ZigoKT0+e3AzKCl9KTt2YXIgRGZhPWYoKCk9Pnt9KTt2YXIgQWZhPWYoKCk9Pnt9KTt2YXIgRWZhPWYoKCk9Pnt9KTt2YXIgUGZhPWYoKCk9Pnt9KTt2YXIgSWZhPWYoKCk9Pnt9KTt2YXIgTmZhPWYoKCk9Pnt9KTt2YXIgbUZhLFJmYT1mKCgpPT57bUZhPXtzdGFuZGFyZDp7aG91cmx5OjAsZGFpbHk6Nyx3ZWVrbHk6NCxtb250aGx5OjEyfSxmcmVxdWVudDp7aG91cmx5OjI0LGRhaWx5Ojcsd2Vla2x5OjQsbW9udGhseToxMn0sbWluaW1hbDp7aG91cmx5OjAsZGFpbHk6Myx3ZWVrbHk6Mixtb250aGx5OjZ9LGxvbmd0ZXJtOntob3VybHk6MCxkYWlseToxNCx3ZWVrbHk6OCxtb250aGx5OjI0fX19KTt2YXIgT2ZhPWYoKCk9Pnt9KTt2YXIgRmZhPWYoKCk9Pnt9KTt2YXIgR2V0PXt9O2x0KEdldCx7UkVURU5USU9OX1BSRVNFVFM6KCk9Pm1GYX0pO3ZhciBwaT1mKCgpPT57RGZhKCk7QWZhKCk7RWZhKCk7UGZhKCk7SWZhKCk7TmZhKCk7UmZhKCk7T2ZhKCk7RmZhKCl9KTt2YXIgQmZhPWYoKCk9Pnt1aSgpO3BpKCl9KTt2YXIgSGZhPWYoKCk9Pnt1aSgpO3BpKCl9KTt2YXIgcWZhPWYoKCk9Pnt1aSgpO3BpKCl9KTt2YXIgVmZhPWYoKCk9Pnt1aSgpO3BpKCl9KTt2YXIgamZhPWYoKCk9Pnt1aSgpO3BpKCl9KTt2YXIgVWZhPWYoKCk9Pnt1aSgpO3BpKCl9KTt2YXIgV2ZhPWYoKCk9Pnt1aSgpO3BpKCl9KTt2YXIgR2ZhPWYoKCk9Pnt1aSgpO3BpKCl9KTt2YXIgWWZhPWYoKCk9Pnt1aSgpO3BpKCl9KTt2YXIgS2ZhPWYoKCk9Pnt1aSgpO3BpKCl9KTt2YXIgWmZhPWYoKCk9Pnt1aSgpO3BpKCl9KTt2YXIgWGZhPWYoKCk9Pnt1aSgpO3BpKCl9KTt2YXIgUWZhPWYoKCk9Pnt1aSgpO3BpKCl9KTt2YXIgSmZhPWYoKCk9Pnt1aSgpO3BpKCl9KTt2YXIgZTVhPWYoKCk9Pnt1aSgpO3BpKCl9KTt2YXIgdDVhPXt9O3ZhciBhNWE9ZigoKT0+e0JmYSgpO0hmYSgpO3FmYSgpO1ZmYSgpO2pmYSgpO1VmYSgpO1dmYSgpO0dmYSgpO1lmYSgpO0tmYSgpO1pmYSgpO1hmYSgpO1FmYSgpO0pmYSgpO2U1YSgpfSk7dmFyIHY3PWYoKCk9Pnt1aSgpO3BpKCk7YTVhKCl9KTthc3luYyBmdW5jdGlvbiB2RmEoKXtpZighQjUpdHJ5e0I1PWF3YWl0IGc3LlR5cGVkU29ja2V0LmNyZWF0ZUNsaWVudChOaWUsZzcuVHlwZWRTb2NrZXQudXNlV2luZG93TG9jYXRpb25PcmlnaW5VcmwoKSksYXdhaXQgQjUuc2V0VGFnKCJyb2xlIiwib3BzX2Rhc2hib2FyZCIpLGNvbnNvbGUubG9nKCJUeXBlZFNvY2tldCBkYXNoYm9hcmQgY29ubmVjdGlvbiBlc3RhYmxpc2hlZCIpfWNhdGNoKGEpe2NvbnNvbGUuZXJyb3IoIlR5cGVkU29ja2V0IGNvbm5lY3Rpb24gZmFpbGVkOiIsYSksQjU9bnVsbH19YXN5bmMgZnVuY3Rpb24geEZhKCl7aWYoQjUpe3RyeXthd2FpdCBCNS5kaXNjb25uZWN0KCl9Y2F0Y2h7fUI1PW51bGx9fXZhciBHYyxicyxZYyxUdCx2cixhMix0MixkbCx1bCxVbixzYSxyNWEsUmllLHk3LE5HLEtldCxSRyxzNWEsaTVhLG81YSxuNWEsbDVhLGM1YSxPaWUsWmV0LFhldCxGaWUsZDVhLFFldCxPRyx1NWEscDVhLGY1YSxKZXQsQmllLGg1YSxIaWUsbTVhLGc1YSxobW8sYjVhLG1tbyx2NWEsZ21vLHg1YSxldHQscWllLGJtbyx2bW8seG1vLHg3LGdGYSxZZXQsQjUsTmllLGJGYSx5NWEsdzVhLE01YSxwbD1mKGFzeW5jKCk9PntkbigpO3Y3KCk7R2M9bmV3IGh0LnBsdWdpbnMuc21hcnRzdGF0ZS5TbWFydHN0YXRlLGJzPWF3YWl0IEdjLmdldFN0YXRlUGFydCgibG9naW4iLHtpZGVudGl0eTpudWxsLGlzTG9nZ2VkSW46ITF9LCJwZXJzaXN0ZW50IiksWWM9YXdhaXQgR2MuZ2V0U3RhdGVQYXJ0KCJzeXN0ZW0iLHtzdGF0dXM6bnVsbH0sInNvZnQiKSxUdD1hd2FpdCBHYy5nZXRTdGF0ZVBhcnQoInNlcnZpY2VzIix7c2VydmljZXM6W10sY3VycmVudFNlcnZpY2U6bnVsbCxjdXJyZW50U2VydmljZUxvZ3M6W10sY3VycmVudFNlcnZpY2VTdGF0czpudWxsLHBsYXRmb3JtU2VydmljZXM6W10sY3VycmVudFBsYXRmb3JtU2VydmljZTpudWxsLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VTdGF0czpudWxsLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VMb2dzOltdfSwic29mdCIpLHZyPWF3YWl0IEdjLmdldFN0YXRlUGFydCgibmV0d29yayIse3RhcmdldHM6W10sc3RhdHM6bnVsbCx0cmFmZmljU3RhdHM6bnVsbCxkbnNSZWNvcmRzOltdLGRvbWFpbnM6W10sY2VydGlmaWNhdGVzOltdfSwic29mdCIpLGEyPWF3YWl0IEdjLmdldFN0YXRlUGFydCgicmVnaXN0cmllcyIse3Rva2VuczpbXSxyZWdpc3RyeVN0YXR1czpudWxsfSwic29mdCIpLHQyPWF3YWl0IEdjLmdldFN0YXRlUGFydCgiYmFja3VwcyIse2JhY2t1cHM6W10sc2NoZWR1bGVzOltdfSwic29mdCIpLGRsPWF3YWl0IEdjLmdldFN0YXRlUGFydCgic2V0dGluZ3MiLHtzZXR0aW5nczpudWxsLGJhY2t1cFBhc3N3b3JkQ29uZmlndXJlZDohMX0sInNvZnQiKSx1bD1hd2FpdCBHYy5nZXRTdGF0ZVBhcnQoImFwcFN0b3JlIix7YXBwczpbXSx1cGdyYWRlYWJsZVNlcnZpY2VzOltdfSwic29mdCIpLFVuPWF3YWl0IEdjLmdldFN0YXRlUGFydCgidWkiLHthY3RpdmVWaWV3OiJkYXNoYm9hcmQiLGF1dG9SZWZyZXNoOiEwLHJlZnJlc2hJbnRlcnZhbDozZTR9KSxzYT1zKCgpPT4oe2lkZW50aXR5OmJzLmdldFN0YXRlKCkuaWRlbnRpdHl9KSwiZ2V0QWN0aW9uQ29udGV4dCIpLHI1YT1icy5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e3RyeXtyZXR1cm57aWRlbnRpdHk6KGF3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJhZG1pbkxvZ2luV2l0aFVzZXJuYW1lQW5kUGFzc3dvcmQiKS5maXJlKHt1c2VybmFtZTplLnVzZXJuYW1lLHBhc3N3b3JkOmUucGFzc3dvcmR9KSkuaWRlbnRpdHksaXNMb2dnZWRJbjohMH19Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkxvZ2luIGZhaWxlZDoiLHQpLHtpZGVudGl0eTpudWxsLGlzTG9nZ2VkSW46ITF9fX0pLFJpZT1icy5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPXNhKCk7dHJ5e2UuaWRlbnRpdHkmJmF3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJhZG1pbkxvZ291dCIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KX1jYXRjaCh0KXtjb25zb2xlLmVycm9yKCJMb2dvdXQgZXJyb3I6Iix0KX1yZXR1cm57aWRlbnRpdHk6bnVsbCxpc0xvZ2dlZEluOiExfX0pLHk3PVljLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9c2EoKTt0cnl7cmV0dXJue3N0YXR1czooYXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFN5c3RlbVN0YXR1cyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KSkuc3RhdHVzfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHN5c3RlbSBzdGF0dXM6Iix0KSxhLmdldFN0YXRlKCl9fSksTkc9VHQuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1zYSgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgaHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0U2VydmljZXMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxzZXJ2aWNlczpyLnNlcnZpY2VzfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHNlcnZpY2VzOiIsdCksYS5nZXRTdGF0ZSgpfX0pLEtldD1UdC5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PXNhKCk7dHJ5e2xldCBpPWF3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTZXJ2aWNlIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxzZXJ2aWNlTmFtZTplLm5hbWV9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLGN1cnJlbnRTZXJ2aWNlOmkuc2VydmljZX19Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBzZXJ2aWNlOiIsciksYS5nZXRTdGF0ZSgpfX0pLFJHPVR0LmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9c2EoKTt0cnl7YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImNyZWF0ZVNlcnZpY2UiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHNlcnZpY2VDb25maWc6ZS5jb25maWd9KTtsZXQgbz1hd2FpdCBuZXcgaHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0U2VydmljZXMiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxzZXJ2aWNlczpvLnNlcnZpY2VzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGNyZWF0ZSBzZXJ2aWNlOiIsciksYS5nZXRTdGF0ZSgpfX0pLHM1YT1UdC5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PXNhKCk7dHJ5e2F3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJkZWxldGVTZXJ2aWNlIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxzZXJ2aWNlTmFtZTplLm5hbWV9KTtsZXQgaT1hLmdldFN0YXRlKCk7cmV0dXJuey4uLmksc2VydmljZXM6aS5zZXJ2aWNlcy5maWx0ZXIobz0+by5uYW1lIT09ZS5uYW1lKSxjdXJyZW50U2VydmljZTpudWxsfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGRlbGV0ZSBzZXJ2aWNlOiIsciksYS5nZXRTdGF0ZSgpfX0pLGk1YT1UdC5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PXNhKCk7dHJ5e2F3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJzdGFydFNlcnZpY2UiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHNlcnZpY2VOYW1lOmUubmFtZX0pO2xldCBvPWF3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTZXJ2aWNlcyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHNlcnZpY2VzOm8uc2VydmljZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc3RhcnQgc2VydmljZToiLHIpLGEuZ2V0U3RhdGUoKX19KSxvNWE9VHQuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1zYSgpO3RyeXthd2FpdCBuZXcgaHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0Iiwic3RvcFNlcnZpY2UiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHNlcnZpY2VOYW1lOmUubmFtZX0pO2xldCBvPWF3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTZXJ2aWNlcyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHNlcnZpY2VzOm8uc2VydmljZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc3RvcCBzZXJ2aWNlOiIsciksYS5nZXRTdGF0ZSgpfX0pLG41YT1UdC5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PXNhKCk7dHJ5e2F3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJyZXN0YXJ0U2VydmljZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZU5hbWU6ZS5uYW1lfSk7bGV0IG89YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNlcnZpY2VzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksc2VydmljZXM6by5zZXJ2aWNlc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byByZXN0YXJ0IHNlcnZpY2U6IixyKSxhLmdldFN0YXRlKCl9fSksbDVhPVR0LmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9c2EoKTt0cnl7bGV0IGk9YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNlcnZpY2VMb2dzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxzZXJ2aWNlTmFtZTplLm5hbWUsdGFpbDplLmxpbmVzfHwyMDB9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLGN1cnJlbnRTZXJ2aWNlTG9nczppLmxvZ3N9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggc2VydmljZSBsb2dzOiIsciksYS5nZXRTdGF0ZSgpfX0pLGM1YT1UdC5jcmVhdGVBY3Rpb24oYXN5bmMoYSxlKT0+e2xldCB0PXNhKCk7dHJ5e2xldCBpPWF3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTZXJ2aWNlU3RhdHMiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHNlcnZpY2VOYW1lOmUubmFtZX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksY3VycmVudFNlcnZpY2VTdGF0czppLnN0YXRzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHNlcnZpY2Ugc3RhdHM6IixyKSxhLmdldFN0YXRlKCl9fSksT2llPVR0LmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9c2EoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFBsYXRmb3JtU2VydmljZXMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxwbGF0Zm9ybVNlcnZpY2VzOnIucGxhdGZvcm1TZXJ2aWNlc319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBwbGF0Zm9ybSBzZXJ2aWNlczoiLHQpLGEuZ2V0U3RhdGUoKX19KSxaZXQ9VHQuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1zYSgpO3RyeXthd2FpdCBuZXcgaHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0Iiwic3RhcnRQbGF0Zm9ybVNlcnZpY2UiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHNlcnZpY2VUeXBlOmUuc2VydmljZVR5cGV9KTtsZXQgbz1hd2FpdCBuZXcgaHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0UGxhdGZvcm1TZXJ2aWNlcyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHBsYXRmb3JtU2VydmljZXM6by5wbGF0Zm9ybVNlcnZpY2VzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHN0YXJ0IHBsYXRmb3JtIHNlcnZpY2U6IixyKSxhLmdldFN0YXRlKCl9fSksWGV0PVR0LmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9c2EoKTt0cnl7YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInN0b3BQbGF0Zm9ybVNlcnZpY2UiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHNlcnZpY2VUeXBlOmUuc2VydmljZVR5cGV9KTtsZXQgbz1hd2FpdCBuZXcgaHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0UGxhdGZvcm1TZXJ2aWNlcyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHBsYXRmb3JtU2VydmljZXM6by5wbGF0Zm9ybVNlcnZpY2VzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHN0b3AgcGxhdGZvcm0gc2VydmljZToiLHIpLGEuZ2V0U3RhdGUoKX19KSxGaWU9VHQuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1zYSgpO3RyeXtsZXQgaT1hd2FpdCBuZXcgaHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0UGxhdGZvcm1TZXJ2aWNlU3RhdHMiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHNlcnZpY2VUeXBlOmUuc2VydmljZVR5cGV9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VTdGF0czppLnN0YXRzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHBsYXRmb3JtIHNlcnZpY2Ugc3RhdHM6IixyKSx7Li4uYS5nZXRTdGF0ZSgpLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VTdGF0czpudWxsfX19KSxkNWE9VHQuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1zYSgpO3RyeXtsZXQgaT1hd2FpdCBuZXcgaHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0UGxhdGZvcm1TZXJ2aWNlTG9ncyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksc2VydmljZVR5cGU6ZS5zZXJ2aWNlVHlwZSx0YWlsOmUudGFpbHx8MTAwfSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlTG9nczppLmxvZ3N9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggcGxhdGZvcm0gc2VydmljZSBsb2dzOiIsciksey4uLmEuZ2V0U3RhdGUoKSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlTG9nczpbXX19fSksUWV0PXZyLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9c2EoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldE5ldHdvcmtUYXJnZXRzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksdGFyZ2V0czpyLnRhcmdldHN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggbmV0d29yayB0YXJnZXRzOiIsdCksYS5nZXRTdGF0ZSgpfX0pLE9HPXZyLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9c2EoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldE5ldHdvcmtTdGF0cyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHN0YXRzOnIuc3RhdHN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggbmV0d29yayBzdGF0czoiLHQpLGEuZ2V0U3RhdGUoKX19KSx1NWE9dnIuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1zYSgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgaHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0VHJhZmZpY1N0YXRzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksdHJhZmZpY1N0YXRzOnIuc3RhdHN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggdHJhZmZpYyBzdGF0czoiLHQpLGEuZ2V0U3RhdGUoKX19KSxwNWE9dnIuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1zYSgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgaHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0RG5zUmVjb3JkcyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLGRuc1JlY29yZHM6ci5yZWNvcmRzfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIEROUyByZWNvcmRzOiIsdCksYS5nZXRTdGF0ZSgpfX0pLGY1YT12ci5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPXNhKCk7dHJ5e2F3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJzeW5jRG5zIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO2xldCBpPWF3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXREbnNSZWNvcmRzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksZG5zUmVjb3JkczppLnJlY29yZHN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc3luYyBETlM6Iix0KSxhLmdldFN0YXRlKCl9fSksSmV0PXZyLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9c2EoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldERvbWFpbnMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxkb21haW5zOnIuZG9tYWluc319Y2F0Y2godCl7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBmZXRjaCBkb21haW5zOiIsdCksYS5nZXRTdGF0ZSgpfX0pLEJpZT12ci5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPXNhKCk7dHJ5e2xldCByPWF3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJsaXN0Q2VydGlmaWNhdGVzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksY2VydGlmaWNhdGVzOnIuY2VydGlmaWNhdGVzfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIGNlcnRpZmljYXRlczoiLHQpLGEuZ2V0U3RhdGUoKX19KSxoNWE9dnIuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1zYSgpO3RyeXthd2FpdCBuZXcgaHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwicmVuZXdDZXJ0aWZpY2F0ZSIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksZG9tYWluOmUuZG9tYWlufSk7bGV0IG89YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImxpc3RDZXJ0aWZpY2F0ZXMiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxjZXJ0aWZpY2F0ZXM6by5jZXJ0aWZpY2F0ZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gcmVuZXcgY2VydGlmaWNhdGU6IixyKSxhLmdldFN0YXRlKCl9fSksSGllPWEyLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9c2EoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFJlZ2lzdHJ5VG9rZW5zIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksdG9rZW5zOnIudG9rZW5zfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHJlZ2lzdHJ5IHRva2VuczoiLHQpLGEuZ2V0U3RhdGUoKX19KSxtNWE9YTIuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1zYSgpO3RyeXthd2FpdCBuZXcgaHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiY3JlYXRlUmVnaXN0cnlUb2tlbiIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHksdG9rZW46ZS50b2tlbn0pO2xldCBvPWF3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRSZWdpc3RyeVRva2VucyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHRva2VuczpvLnRva2Vuc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgcmVnaXN0cnkgdG9rZW46IixyKSxhLmdldFN0YXRlKCl9fSksZzVhPWEyLmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9c2EoKTt0cnl7YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImRlbGV0ZVJlZ2lzdHJ5VG9rZW4iKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHRva2VuSWQ6ZS50b2tlbklkfSk7bGV0IGk9YS5nZXRTdGF0ZSgpO3JldHVybnsuLi5pLHRva2VuczppLnRva2Vucy5maWx0ZXIobz0+by5pZCE9PWUudG9rZW5JZCl9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZGVsZXRlIHJlZ2lzdHJ5IHRva2VuOiIsciksYS5nZXRTdGF0ZSgpfX0pLGhtbz10Mi5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPXNhKCk7dHJ5e2xldCByPWF3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRCYWNrdXBzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksYmFja3VwczpyLmJhY2t1cHN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggYmFja3VwczoiLHQpLGEuZ2V0U3RhdGUoKX19KSxiNWE9dDIuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1zYSgpO3RyeXthd2FpdCBuZXcgaHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZGVsZXRlQmFja3VwIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxiYWNrdXBJZDplLmJhY2t1cElkfSk7bGV0IGk9YS5nZXRTdGF0ZSgpO3JldHVybnsuLi5pLGJhY2t1cHM6aS5iYWNrdXBzLmZpbHRlcihvPT5vLmlkIT09ZS5iYWNrdXBJZCl9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZGVsZXRlIGJhY2t1cDoiLHIpLGEuZ2V0U3RhdGUoKX19KSxtbW89dDIuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1zYSgpO3RyeXtsZXQgcj1hd2FpdCBuZXcgaHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiZ2V0QmFja3VwU2NoZWR1bGVzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksc2NoZWR1bGVzOnIuc2NoZWR1bGVzfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIHNjaGVkdWxlczoiLHQpLGEuZ2V0U3RhdGUoKX19KSx2NWE9dDIuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1zYSgpO3RyeXthd2FpdCBuZXcgaHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwiY3JlYXRlQmFja3VwU2NoZWR1bGUiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5LHNjaGVkdWxlQ29uZmlnOmUuY29uZmlnfSk7bGV0IG89YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldEJhY2t1cFNjaGVkdWxlcyIpLmZpcmUoe2lkZW50aXR5OnQuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLHNjaGVkdWxlczpvLnNjaGVkdWxlc319Y2F0Y2gocil7cmV0dXJuIGNvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBjcmVhdGUgc2NoZWR1bGU6IixyKSxhLmdldFN0YXRlKCl9fSksZ21vPXQyLmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9c2EoKTt0cnl7YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImRlbGV0ZUJhY2t1cFNjaGVkdWxlIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxzY2hlZHVsZUlkOmUuc2NoZWR1bGVJZH0pO2xldCBpPWEuZ2V0U3RhdGUoKTtyZXR1cm57Li4uaSxzY2hlZHVsZXM6aS5zY2hlZHVsZXMuZmlsdGVyKG89Pm8uaWQhPT1lLnNjaGVkdWxlSWQpfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGRlbGV0ZSBzY2hlZHVsZToiLHIpLGEuZ2V0U3RhdGUoKX19KSx4NWE9dDIuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1zYSgpO3RyeXthd2FpdCBuZXcgaHQucGx1Z2lucy50eXBlZHJlcXVlc3QuVHlwZWRSZXF1ZXN0KCIvdHlwZWRyZXF1ZXN0IiwidHJpZ2dlckJhY2t1cFNjaGVkdWxlIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxzY2hlZHVsZUlkOmUuc2NoZWR1bGVJZH0pO2xldCBvPWF3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRCYWNrdXBzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eX0pO3JldHVybnsuLi5hLmdldFN0YXRlKCksYmFja3VwczpvLmJhY2t1cHN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gdHJpZ2dlciBzY2hlZHVsZToiLHIpLGEuZ2V0U3RhdGUoKX19KSxldHQ9ZGwuY3JlYXRlQWN0aW9uKGFzeW5jIGE9PntsZXQgZT1zYSgpO3RyeXtsZXRbdCxyXT1hd2FpdCBQcm9taXNlLmFsbChbbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFNldHRpbmdzIikuZmlyZSh7aWRlbnRpdHk6ZS5pZGVudGl0eX0pLG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRCYWNrdXBQYXNzd29yZFN0YXR1cyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KV0pO3JldHVybntzZXR0aW5nczp0LnNldHRpbmdzLGJhY2t1cFBhc3N3b3JkQ29uZmlndXJlZDpyLnN0YXR1cy5pc0NvbmZpZ3VyZWR9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggc2V0dGluZ3M6Iix0KSxhLmdldFN0YXRlKCl9fSkscWllPWRsLmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9c2EoKTt0cnl7bGV0IGk9YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInVwZGF0ZVNldHRpbmdzIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxzZXR0aW5nczplLnNldHRpbmdzfSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSxzZXR0aW5nczppLnNldHRpbmdzfX1jYXRjaChyKXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIHVwZGF0ZSBzZXR0aW5nczoiLHIpLGEuZ2V0U3RhdGUoKX19KSxibW89ZGwuY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1zYSgpO3RyeXtyZXR1cm4gYXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInNldEJhY2t1cFBhc3N3b3JkIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxwYXNzd29yZDplLnBhc3N3b3JkfSksey4uLmEuZ2V0U3RhdGUoKSxiYWNrdXBQYXNzd29yZENvbmZpZ3VyZWQ6ITB9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gc2V0IGJhY2t1cCBwYXNzd29yZDoiLHIpLGEuZ2V0U3RhdGUoKX19KSx2bW89VW4uY3JlYXRlQWN0aW9uKGFzeW5jKGEsZSk9PntsZXQgdD1lLnZpZXcudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9ccysvZywiLSIpO3JldHVybnsuLi5hLmdldFN0YXRlKCksYWN0aXZlVmlldzp0fX0pLHhtbz1Vbi5jcmVhdGVBY3Rpb24oYXN5bmMgYT0+e2xldCBlPWEuZ2V0U3RhdGUoKTtyZXR1cm57Li4uZSxhdXRvUmVmcmVzaDohZS5hdXRvUmVmcmVzaH19KSx4Nz1udWxsLGdGYT1zKGFzeW5jKCk9PntpZihicy5nZXRTdGF0ZSgpLmlzTG9nZ2VkSW4pdHJ5e2F3YWl0IFljLmRpc3BhdGNoQWN0aW9uKHk3LG51bGwpfWNhdGNoe319LCJkaXNwYXRjaENvbWJpbmVkUmVmcmVzaEFjdGlvbiIpLFlldD1zKCgpPT57bGV0IGE9VW4uZ2V0U3RhdGUoKSxlPWJzLmdldFN0YXRlKCk7YS5hdXRvUmVmcmVzaCYmZS5pc0xvZ2dlZEluPyh4NyYmY2xlYXJJbnRlcnZhbCh4NykseDc9c2V0SW50ZXJ2YWwoKCk9PntnRmEoKX0sYS5yZWZyZXNoSW50ZXJ2YWwpKTp4NyYmKGNsZWFySW50ZXJ2YWwoeDcpLHg3PW51bGwpfSwic3RhcnRBdXRvUmVmcmVzaCIpO1VuLnNlbGVjdChhPT5hKS5zdWJzY3JpYmUoKCk9PllldCgpKSxicy5zZWxlY3QoYT0+YSkuc3Vic2NyaWJlKCgpPT5ZZXQoKSksWWV0KCk7QjU9bnVsbCxOaWU9bmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUm91dGVyLGJGYT1zKChhLGUpPT57bGV0IHQ9YS5maW5kSW5kZXgoaT0+aS5uYW1lPT09ZS5uYW1lKTtpZih0PT09LTEpcmV0dXJuWy4uLmEsZV07bGV0IHI9Wy4uLmFdO3JldHVybiByW3RdPWUscn0sInVwc2VydFNlcnZpY2UiKTtOaWUuYWRkVHlwZWRIYW5kbGVyKG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZEhhbmRsZXIoInB1c2hTZXJ2aWNlVXBkYXRlIixhc3luYyBhPT57bGV0IGU9VHQuZ2V0U3RhdGUoKSx0PWUuc2VydmljZXMscj1lLmN1cnJlbnRTZXJ2aWNlLGk9ZS5jdXJyZW50U2VydmljZUxvZ3Msbz1lLmN1cnJlbnRTZXJ2aWNlU3RhdHM7cmV0dXJuIGEuYWN0aW9uPT09ImRlbGV0ZWQiPyh0PXQuZmlsdGVyKG49Pm4ubmFtZSE9PWEuc2VydmljZU5hbWUpLHI/Lm5hbWU9PT1hLnNlcnZpY2VOYW1lJiYocj1udWxsLGk9W10sbz1udWxsKSk6YS5zZXJ2aWNlJiYodD1iRmEodCxhLnNlcnZpY2UpLHI/Lm5hbWU9PT1hLnNlcnZpY2UubmFtZSYmKHI9YS5zZXJ2aWNlKSksVHQuc2V0U3RhdGUoey4uLmUsc2VydmljZXM6dCxjdXJyZW50U2VydmljZTpyLGN1cnJlbnRTZXJ2aWNlTG9nczppLGN1cnJlbnRTZXJ2aWNlU3RhdHM6b30pLHt9fSkpLE5pZS5hZGRUeXBlZEhhbmRsZXIobmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkSGFuZGxlcigicHVzaFBsYXRmb3JtU2VydmljZUxvZyIsYXN5bmMgYT0+e2xldCBlPVR0LmdldFN0YXRlKCksdD17aWQ6ZS5jdXJyZW50UGxhdGZvcm1TZXJ2aWNlTG9ncy5sZW5ndGgsc2VydmljZUlkOjAsdGltZXN0YW1wOm5ldyBEYXRlKGEuZW50cnkudGltZXN0YW1wKS5nZXRUaW1lKCksbWVzc2FnZTphLmVudHJ5Lm1lc3NhZ2UsbGV2ZWw6YS5lbnRyeS5sZXZlbCxzb3VyY2U6InN0ZG91dCJ9LHI9Wy4uLmUuY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3MsdF07cmV0dXJuIHIubGVuZ3RoPjJlMyYmci5zcGxpY2UoMCxyLmxlbmd0aC0yZTMpLFR0LnNldFN0YXRlKHsuLi5lLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2VMb2dzOnJ9KSx7fX0pKSxOaWUuYWRkVHlwZWRIYW5kbGVyKG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZEhhbmRsZXIoInB1c2hTZXJ2aWNlTG9nIixhc3luYyBhPT57bGV0IGU9VHQuZ2V0U3RhdGUoKTtpZighZS5jdXJyZW50U2VydmljZXx8ZS5jdXJyZW50U2VydmljZS5uYW1lIT09YS5zZXJ2aWNlTmFtZSlyZXR1cm57fTtsZXQgdD17aWQ6ZS5jdXJyZW50U2VydmljZUxvZ3MubGVuZ3RoLHNlcnZpY2VJZDowLHRpbWVzdGFtcDpuZXcgRGF0ZShhLmVudHJ5LnRpbWVzdGFtcCkuZ2V0VGltZSgpLG1lc3NhZ2U6YS5lbnRyeS5tZXNzYWdlLGxldmVsOmEuZW50cnkubGV2ZWwsc291cmNlOiJzdGRvdXQifSxyPVsuLi5lLmN1cnJlbnRTZXJ2aWNlTG9ncyx0XTtyZXR1cm4gci5sZW5ndGg+MmUzJiZyLnNwbGljZSgwLHIubGVuZ3RoLTJlMyksVHQuc2V0U3RhdGUoey4uLmUsY3VycmVudFNlcnZpY2VMb2dzOnJ9KSx7fX0pKTtzKHZGYSwiY29ubmVjdFNvY2tldCIpO3MoeEZhLCJkaXNjb25uZWN0U29ja2V0Iik7eTVhPXVsLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9c2EoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldEFwcFRlbXBsYXRlcyIpLmZpcmUoe2lkZW50aXR5OmUuaWRlbnRpdHl9KTtyZXR1cm57Li4uYS5nZXRTdGF0ZSgpLGFwcHM6ci5hcHBzfX1jYXRjaCh0KXtyZXR1cm4gY29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIGFwcCB0ZW1wbGF0ZXM6Iix0KSxhLmdldFN0YXRlKCl9fSksdzVhPXVsLmNyZWF0ZUFjdGlvbihhc3luYyBhPT57bGV0IGU9c2EoKTt0cnl7bGV0IHI9YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFVwZ3JhZGVhYmxlU2VydmljZXMiKS5maXJlKHtpZGVudGl0eTplLmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSx1cGdyYWRlYWJsZVNlcnZpY2VzOnIuc2VydmljZXN9fWNhdGNoKHQpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gZmV0Y2ggdXBncmFkZWFibGUgc2VydmljZXM6Iix0KSxhLmdldFN0YXRlKCl9fSksTTVhPXVsLmNyZWF0ZUFjdGlvbihhc3luYyhhLGUpPT57bGV0IHQ9c2EoKTt0cnl7YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsInVwZ3JhZGVTZXJ2aWNlIikuZmlyZSh7aWRlbnRpdHk6dC5pZGVudGl0eSxzZXJ2aWNlTmFtZTplLnNlcnZpY2VOYW1lLHRhcmdldFZlcnNpb246ZS50YXJnZXRWZXJzaW9ufSk7bGV0IG89YXdhaXQgbmV3IGh0LnBsdWdpbnMudHlwZWRyZXF1ZXN0LlR5cGVkUmVxdWVzdCgiL3R5cGVkcmVxdWVzdCIsImdldFVwZ3JhZGVhYmxlU2VydmljZXMiKS5maXJlKHtpZGVudGl0eTp0LmlkZW50aXR5fSk7cmV0dXJuey4uLmEuZ2V0U3RhdGUoKSx1cGdyYWRlYWJsZVNlcnZpY2VzOm8uc2VydmljZXN9fWNhdGNoKHIpe3JldHVybiBjb25zb2xlLmVycm9yKCJGYWlsZWQgdG8gdXBncmFkZSBzZXJ2aWNlOiIsciksYS5nZXRTdGF0ZSgpfX0pO2JzLnNlbGVjdChhPT5hKS5zdWJzY3JpYmUoYT0+e2EuaXNMb2dnZWRJbj92RmEoKTp4RmEoKX0pfSk7dmFyIHlGYSx0dHQsYXR0LFduLHc3PWYoYXN5bmMoKT0+e2RuKCk7YXdhaXQgcGwoKTt5RmE9aHQucGx1Z2lucy5zbWFydHJvdXRlci5TbWFydFJvdXRlcix0dHQ9WyJkYXNoYm9hcmQiLCJhcHAtc3RvcmUiLCJzZXJ2aWNlcyIsIm5ldHdvcmsiLCJyZWdpc3RyaWVzIiwidG9rZW5zIiwic2V0dGluZ3MiXSxhdHQ9Y2xhc3N7c3RhdGlje3ModGhpcywiQXBwUm91dGVyIil9cm91dGVyO2luaXRpYWxpemVkPSExO3N1cHByZXNzU3RhdGVVcGRhdGU9ITE7Y29uc3RydWN0b3IoKXt0aGlzLnJvdXRlcj1uZXcgeUZhKHtkZWJ1ZzohMX0pfWluaXQoKXt0aGlzLmluaXRpYWxpemVkfHwodGhpcy5zZXR1cFJvdXRlcygpLHRoaXMuc2V0dXBTdGF0ZVN5bmMoKSx0aGlzLmhhbmRsZUluaXRpYWxSb3V0ZSgpLHRoaXMuaW5pdGlhbGl6ZWQ9ITApfXNldHVwUm91dGVzKCl7Zm9yKGxldCBlIG9mIHR0dCl0aGlzLnJvdXRlci5vbihgLyR7ZX1gLGFzeW5jKCk9Pnt0aGlzLnVwZGF0ZVZpZXdTdGF0ZShlKX0pO3RoaXMucm91dGVyLm9uKCIvIixhc3luYygpPT57dGhpcy5uYXZpZ2F0ZVRvKCIvZGFzaGJvYXJkIil9KX1zZXR1cFN0YXRlU3luYygpe1VuLnNlbGVjdChlPT5lLmFjdGl2ZVZpZXcpLnN1YnNjcmliZShlPT57aWYodGhpcy5zdXBwcmVzc1N0YXRlVXBkYXRlKXJldHVybjtsZXQgdD13aW5kb3cubG9jYXRpb24ucGF0aG5hbWUscj1gLyR7ZX1gO3QhPT1yJiYodGhpcy5zdXBwcmVzc1N0YXRlVXBkYXRlPSEwLHRoaXMucm91dGVyLnB1c2hVcmwociksdGhpcy5zdXBwcmVzc1N0YXRlVXBkYXRlPSExKX0pfWhhbmRsZUluaXRpYWxSb3V0ZSgpe2xldCBlPXdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTtpZighZXx8ZT09PSIvIil0aGlzLnJvdXRlci5wdXNoVXJsKCIvZGFzaGJvYXJkIik7ZWxzZXtsZXQgcj1lLnNwbGl0KCIvIikuZmlsdGVyKEJvb2xlYW4pWzBdO3R0dC5pbmNsdWRlcyhyKT90aGlzLnVwZGF0ZVZpZXdTdGF0ZShyKTp0aGlzLnJvdXRlci5wdXNoVXJsKCIvZGFzaGJvYXJkIil9fXVwZGF0ZVZpZXdTdGF0ZShlKXt0aGlzLnN1cHByZXNzU3RhdGVVcGRhdGU9ITA7bGV0IHQ9VW4uZ2V0U3RhdGUoKTt0LmFjdGl2ZVZpZXchPT1lJiZVbi5zZXRTdGF0ZSh7Li4udCxhY3RpdmVWaWV3OmV9KSx0aGlzLnN1cHByZXNzU3RhdGVVcGRhdGU9ITF9bmF2aWdhdGVUbyhlKXt0aGlzLnJvdXRlci5wdXNoVXJsKGUpfW5hdmlnYXRlVG9WaWV3KGUpe2xldCB0PWUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9ccysvZywiLSIpO3R0dC5pbmNsdWRlcyh0KT90aGlzLm5hdmlnYXRlVG8oYC8ke3R9YCk6dGhpcy5uYXZpZ2F0ZVRvKCIvZGFzaGJvYXJkIil9Z2V0Q3VycmVudFZpZXcoKXtyZXR1cm4gVW4uZ2V0U3RhdGUoKS5hY3RpdmVWaWV3fWRlc3Ryb3koKXt0aGlzLnJvdXRlci5kZXN0cm95KCksdGhpcy5pbml0aWFsaXplZD0hMX19LFduPW5ldyBhdHR9KTt2YXIgVDVhPXt9O2x0KFQ1YSx7T2JWaWV3RGFzaGJvYXJkOigpPT5vdHR9KTt2YXIgazVhLFM1YSx6NWEsQzVhLF81YSxHbixydHQsc3R0LGl0dCxmbCxvdHQsbnR0PWYoYXN5bmMoKT0+e2RuKCk7V2MoKTthd2FpdCBwbCgpO2F3YWl0IHc3KCk7bGUoKTtfNWE9W2llKCJvYi12aWV3LWRhc2hib2FyZCIpXTtmbD1jbGFzcyBmbCBleHRlbmRzKEM1YT1wZSx6NWE9W0soKV0sUzVhPVtLKCldLGs1YT1bSygpXSxDNWEpe2NvbnN0cnVjdG9yKCl7c3VwZXIoKTtHdCh0aGlzLHJ0dCxYZShHbiw4LHRoaXMse3N0YXR1czpudWxsfSkpLFhlKEduLDExLHRoaXMpO0d0KHRoaXMsc3R0LFhlKEduLDEyLHRoaXMse3NlcnZpY2VzOltdLGN1cnJlbnRTZXJ2aWNlOm51bGwsY3VycmVudFNlcnZpY2VMb2dzOltdLGN1cnJlbnRTZXJ2aWNlU3RhdHM6bnVsbCxwbGF0Zm9ybVNlcnZpY2VzOltdLGN1cnJlbnRQbGF0Zm9ybVNlcnZpY2U6bnVsbCxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlU3RhdHM6bnVsbCxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlTG9nczpbXX0pKSxYZShHbiwxNSx0aGlzKTtHdCh0aGlzLGl0dCxYZShHbiwxNix0aGlzLHt0YXJnZXRzOltdLHN0YXRzOm51bGwsdHJhZmZpY1N0YXRzOm51bGwsZG5zUmVjb3JkczpbXSxkb21haW5zOltdLGNlcnRpZmljYXRlczpbXX0pKSxYZShHbiwxOSx0aGlzKTtsZXQgdD1ZYy5zZWxlY3Qobz0+bykuc3Vic2NyaWJlKG89Pnt0aGlzLnN5c3RlbVN0YXRlPW99KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKHQpO2xldCByPVR0LnNlbGVjdChvPT5vKS5zdWJzY3JpYmUobz0+e3RoaXMuc2VydmljZXNTdGF0ZT1vfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChyKTtsZXQgaT12ci5zZWxlY3Qobz0+bykuc3Vic2NyaWJlKG89Pnt0aGlzLm5ldHdvcmtTdGF0ZT1vfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChpKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgUHJvbWlzZS5hbGwoW1ljLmRpc3BhdGNoQWN0aW9uKHk3LG51bGwpLFR0LmRpc3BhdGNoQWN0aW9uKE5HLG51bGwpLFR0LmRpc3BhdGNoQWN0aW9uKE9pZSxudWxsKSx2ci5kaXNwYXRjaEFjdGlvbihPRyxudWxsKSx2ci5kaXNwYXRjaEFjdGlvbihCaWUsbnVsbCldKX1yZW5kZXIoKXtsZXQgdD10aGlzLnN5c3RlbVN0YXRlLnN0YXR1cyxyPXRoaXMuc2VydmljZXNTdGF0ZS5zZXJ2aWNlcyxpPXRoaXMuc2VydmljZXNTdGF0ZS5wbGF0Zm9ybVNlcnZpY2VzLG89dGhpcy5uZXR3b3JrU3RhdGUuc3RhdHMsbj10aGlzLm5ldHdvcmtTdGF0ZS5jZXJ0aWZpY2F0ZXMsbD1yLmZpbHRlcihtPT5tLnN0YXR1cz09PSJydW5uaW5nIikubGVuZ3RoLGQ9ci5maWx0ZXIobT0+bS5zdGF0dXM9PT0ic3RvcHBlZCIpLmxlbmd0aCxjPW4uZmlsdGVyKG09Pm0uaXNWYWxpZCkubGVuZ3RoLHA9bi5maWx0ZXIobT0+bS5pc1ZhbGlkJiZtLmV4cGlyZXNBdCYmbS5leHBpcmVzQXQtRGF0ZS5ub3coKTw3MjAqNjAqNjAqMWUzKS5sZW5ndGgsdT1uLmZpbHRlcihtPT4hbS5pc1ZhbGlkKS5sZW5ndGg7cmV0dXJuIHdgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5EYXNoYm9hcmQ8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otZGFzaGJvYXJkLXZpZXcKICAgICAgICAuZGF0YT0ke3tjbHVzdGVyOnt0b3RhbFNlcnZpY2VzOnIubGVuZ3RoLHJ1bm5pbmc6bCxzdG9wcGVkOmQsZG9ja2VyU3RhdHVzOnQ/LmRvY2tlcj8ucnVubmluZz8icnVubmluZyI6InN0b3BwZWQifSxyZXNvdXJjZVVzYWdlOntjcHU6dD8uZG9ja2VyPy5jcHVVc2FnZXx8MCxtZW1vcnlVc2VkOnQ/LmRvY2tlcj8ubWVtb3J5VXNhZ2V8fDAsbWVtb3J5VG90YWw6dD8uZG9ja2VyPy5tZW1vcnlUb3RhbHx8MCxuZXR3b3JrSW46dD8uZG9ja2VyPy5uZXR3b3JrSW58fDAsbmV0d29ya091dDp0Py5kb2NrZXI/Lm5ldHdvcmtPdXR8fDAsdG9wQ29uc3VtZXJzOltdfSxwbGF0Zm9ybVNlcnZpY2VzOmkuZmlsdGVyKG09Pm0uc3RhdHVzPT09InJ1bm5pbmcifHxtLnN0YXR1cz09PSJzdGFydGluZyJ8fG0uc3RhdHVzPT09InN0b3BwaW5nInx8bS5pc0NvcmUpLm1hcChtPT4oe25hbWU6bS5kaXNwbGF5TmFtZSxzdGF0dXM6bS5zdGF0dXM9PT0icnVubmluZyI/IlJ1bm5pbmciOm0uc3RhdHVzPT09InN0YXJ0aW5nIj8iU3RhcnRpbmcuLi4iOm0uc3RhdHVzPT09InN0b3BwaW5nIj8iU3RvcHBpbmcuLi4iOiJTdG9wcGVkIixydW5uaW5nOm0uc3RhdHVzPT09InJ1bm5pbmcifSkpLHRyYWZmaWM6e3JlcXVlc3RzOjAsZXJyb3JzOjAsZXJyb3JQZXJjZW50OjAsYXZnUmVzcG9uc2U6MCxyZXFQZXJNaW46MCxzdGF0dXMyeHg6MCxzdGF0dXMzeHg6MCxzdGF0dXM0eHg6MCxzdGF0dXM1eHg6MH0scHJveHk6e2h0dHBQb3J0Om8/LnByb3h5Py5odHRwUG9ydHx8ODAsaHR0cHNQb3J0Om8/LnByb3h5Py5odHRwc1BvcnR8fDQ0MyxodHRwQWN0aXZlOm8/LnByb3h5Py5ydW5uaW5nfHwhMSxodHRwc0FjdGl2ZTpvPy5wcm94eT8ucnVubmluZ3x8ITEscm91dGVDb3VudDpvPy5wcm94eT8ucm91dGVzfHwwfSxjZXJ0aWZpY2F0ZXM6e3ZhbGlkOmMsZXhwaXJpbmc6cCxleHBpcmVkOnV9LGRuc0NvbmZpZ3VyZWQ6ITAsYWNtZUNvbmZpZ3VyZWQ6ITAscXVpY2tBY3Rpb25zOlt7bGFiZWw6IkRlcGxveSBTZXJ2aWNlIixpY29uOiJsdWNpZGU6UGx1cyIscHJpbWFyeTohMH0se2xhYmVsOiJBZGQgRG9tYWluIixpY29uOiJsdWNpZGU6R2xvYmUifSx7bGFiZWw6IlZpZXcgTG9ncyIsaWNvbjoibHVjaWRlOkZpbGVUZXh0In1dfX0KICAgICAgICBAYWN0aW9uLWNsaWNrPSR7bT0+dGhpcy5oYW5kbGVRdWlja0FjdGlvbihtKX0KICAgICAgICBAc2VydmljZS1jbGljaz0ke209PnRoaXMuaGFuZGxlUGxhdGZvcm1TZXJ2aWNlQ2xpY2sobSl9CiAgICAgID48L3N6LWRhc2hib2FyZC12aWV3PgogICAgYH1oYW5kbGVRdWlja0FjdGlvbih0KXtsZXQgcj10LmRldGFpbD8uYWN0aW9ufHx0LmRldGFpbD8ubGFiZWw7cj09PSJEZXBsb3kgU2VydmljZSI/V24ubmF2aWdhdGVUb1ZpZXcoInNlcnZpY2VzIik6cj09PSJBZGQgRG9tYWluIiYmV24ubmF2aWdhdGVUb1ZpZXcoIm5ldHdvcmsiKX1oYW5kbGVQbGF0Zm9ybVNlcnZpY2VDbGljayh0KXtsZXQgcj10LmRldGFpbD8ubmFtZSxpPXRoaXMuc2VydmljZXNTdGF0ZS5wbGF0Zm9ybVNlcnZpY2VzLmZpbmQobz0+by5kaXNwbGF5TmFtZT09PXIpO2kmJihUdC5zZXRTdGF0ZSh7Li4uVHQuZ2V0U3RhdGUoKSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlOml9KSxXbi5uYXZpZ2F0ZVRvVmlldygic2VydmljZXMiKSl9fTtHbj1JcyhDNWEpLHJ0dD1uZXcgV2Vha01hcCxzdHQ9bmV3IFdlYWtNYXAsaXR0PW5ldyBXZWFrTWFwLEV0KEduLDQsInN5c3RlbVN0YXRlIix6NWEsZmwscnR0KSxFdChHbiw0LCJzZXJ2aWNlc1N0YXRlIixTNWEsZmwsc3R0KSxFdChHbiw0LCJuZXR3b3JrU3RhdGUiLGs1YSxmbCxpdHQpLGZsPUV0KEduLDAsIk9iVmlld0Rhc2hib2FyZCIsXzVhLGZsKSxzKGZsLCJPYlZpZXdEYXNoYm9hcmQiKSxOcyhmbCwic3R5bGVzIixbaC5kZWZhdWx0U3R5bGVzLE5vLFFgYF0pLFhlKEduLDEsZmwpO290dD1mbH0pO3ZhciBxNWE9e307bHQocTVhLHtPYlZpZXdBcHBTdG9yZTooKT0+eHR0fSk7dmFyIEw1YSwkNWEsRDVhLEE1YSxFNWEsUDVhLEk1YSxONWEsUjVhLE81YSxGNWEsQjVhLEg1YSxNYSxsdHQsY3R0LGR0dCx1dHQscHR0LGZ0dCxodHQsbXR0LGd0dCxidHQsdnR0LFlzLHh0dCxWNWE9Zihhc3luYygpPT57ZG4oKTtXYygpO2F3YWl0IHBsKCk7djcoKTthd2FpdCB3NygpO2xlKCk7SDVhPVtpZSgib2Itdmlldy1hcHBzdG9yZSIpXTtZcz1jbGFzcyBZcyBleHRlbmRzKEI1YT1wZSxGNWE9W0soKV0sTzVhPVtLKCldLFI1YT1bSygpXSxONWE9W0soKV0sSTVhPVtLKCldLFA1YT1bSygpXSxFNWE9W0soKV0sQTVhPVtLKCldLEQ1YT1bSygpXSwkNWE9W0soKV0sTDVhPVtLKCldLEI1YSl7Y29uc3RydWN0b3IoKXtzdXBlcigpO0d0KHRoaXMsbHR0LFhlKE1hLDgsdGhpcyx7YXBwczpbXSx1cGdyYWRlYWJsZVNlcnZpY2VzOltdfSkpLFhlKE1hLDExLHRoaXMpO0d0KHRoaXMsY3R0LFhlKE1hLDEyLHRoaXMsImdyaWQiKSksWGUoTWEsMTUsdGhpcyk7R3QodGhpcyxkdHQsWGUoTWEsMTYsdGhpcyxudWxsKSksWGUoTWEsMTksdGhpcyk7R3QodGhpcyx1dHQsWGUoTWEsMjAsdGhpcyxudWxsKSksWGUoTWEsMjMsdGhpcyk7R3QodGhpcyxwdHQsWGUoTWEsMjQsdGhpcyxudWxsKSksWGUoTWEsMjcsdGhpcyk7R3QodGhpcyxmdHQsWGUoTWEsMjgsdGhpcywiIikpLFhlKE1hLDMxLHRoaXMpO0d0KHRoaXMsaHR0LFhlKE1hLDMyLHRoaXMsW10pKSxYZShNYSwzNSx0aGlzKTtHdCh0aGlzLG10dCxYZShNYSwzNix0aGlzLCIiKSksWGUoTWEsMzksdGhpcyk7R3QodGhpcyxndHQsWGUoTWEsNDAsdGhpcywiIikpLFhlKE1hLDQzLHRoaXMpO0d0KHRoaXMsYnR0LFhlKE1hLDQ0LHRoaXMsITEpKSxYZShNYSw0Nyx0aGlzKTtHdCh0aGlzLHZ0dCxYZShNYSw0OCx0aGlzLCExKSksWGUoTWEsNTEsdGhpcyk7bGV0IHQ9dWwuc2VsZWN0KHI9PnIpLnN1YnNjcmliZShyPT57dGhpcy5hcHBTdG9yZVN0YXRlPXJ9KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKHQpfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCB1bC5kaXNwYXRjaEFjdGlvbih5NWEsbnVsbCl9cmVuZGVyKCl7cmV0dXJuIHRoaXMuY3VycmVudFZpZXc9PT0iZGV0YWlsIj90aGlzLnJlbmRlckRldGFpbFZpZXcoKTp0aGlzLnJlbmRlckdyaWRWaWV3KCl9cmVuZGVyR3JpZFZpZXcoKXtsZXQgdD10aGlzLmFwcFN0b3JlU3RhdGUuYXBwcy5tYXAocj0+KHtpZDpyLmlkLG5hbWU6ci5uYW1lLGRlc2NyaXB0aW9uOnIuZGVzY3JpcHRpb24sY2F0ZWdvcnk6ci5jYXRlZ29yeSxpY29uTmFtZTpyLmljb25OYW1lLGljb25Vcmw6ci5pY29uVXJsLGltYWdlOiIiLHBvcnQ6MH0pKTtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkFwcCBTdG9yZTwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgICR7dC5sZW5ndGg9PT0wP3dgPGRpdiBjbGFzcz0ibG9hZGluZy1zcGlubmVyIj5Mb2FkaW5nIGFwcCB0ZW1wbGF0ZXMuLi48L2Rpdj5gOndgCiAgICAgICAgICA8c3otYXBwLXN0b3JlLXZpZXcKICAgICAgICAgICAgLmFwcHM9JHt0fQogICAgICAgICAgICBAdmlldy1hcHA9JHtyPT50aGlzLmhhbmRsZVZpZXdEZXRhaWxzKHIpfQogICAgICAgICAgICBAZGVwbG95LWFwcD0ke3I9PnRoaXMuaGFuZGxlQXBwQ2xpY2socil9CiAgICAgICAgICA+PC9zei1hcHAtc3RvcmUtdmlldz4KICAgICAgICBgfQogICAgYH1yZW5kZXJEZXRhaWxWaWV3KCl7aWYodGhpcy5sb2FkaW5nKXJldHVybiB3YAogICAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5BcHAgU3RvcmU8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+TG9hZGluZyBhcHAgZGV0YWlscy4uLjwvZGl2PgogICAgICBgO2xldCB0PXRoaXMuc2VsZWN0ZWRBcHAscj10aGlzLnNlbGVjdGVkQXBwTWV0YSxpPXRoaXMuc2VsZWN0ZWRBcHBDb25maWc7aWYoIXR8fCFpKXJldHVybiB3YAogICAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5BcHAgU3RvcmU8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICAgIDxkaXYgY2xhc3M9ImxvYWRpbmctc3Bpbm5lciI+QXBwIG5vdCBmb3VuZC48L2Rpdj4KICAgICAgYDtsZXQgbz1pLnBsYXRmb3JtUmVxdWlyZW1lbnRzfHx7fSxuPU9iamVjdC52YWx1ZXMobykuc29tZShCb29sZWFuKSxsPXttb25nb2RiOiJNb25nb0RCIixzMzoiUzMgKE1pbklPKSIsY2xpY2tob3VzZToiQ2xpY2tIb3VzZSIscmVkaXM6IlJlZGlzIixtYXJpYWRiOiJNYXJpYURCIn07cmV0dXJuIHdgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5BcHAgU3RvcmU8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSIgc3R5bGU9Im1hcmdpbi1ib3R0b206IDE2cHg7IiBAY2xpY2s9JHsoKT0+e3RoaXMuY3VycmVudFZpZXc9ImdyaWQifX0+CiAgICAgICAgJmxhcnI7IEJhY2sgdG8gQXBwIFN0b3JlCiAgICAgIDwvYnV0dG9uPgoKICAgICAgPCEtLSBIZWFkZXIgLS0+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1jYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtaGVhZGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1pY29uIj4keyh0Lm5hbWV8fCI/IilbMF0udG9VcHBlckNhc2UoKX08L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImZsZXg6IDE7Ij4KICAgICAgICAgICAgPGgyIGNsYXNzPSJkZXRhaWwtdGl0bGUiPiR7dC5uYW1lfTwvaDI+CiAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtY2F0ZWdvcnkiPiR7dC5jYXRlZ29yeX08L3NwYW4+CiAgICAgICAgICAgIDxwIGNsYXNzPSJkZXRhaWwtZGVzY3JpcHRpb24iPiR7dC5kZXNjcmlwdGlvbn08L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1tZXRhIj4KICAgICAgICAgICAgICAke3I/Lm1haW50YWluZXI/d2A8c3Bhbj5NYWludGFpbmVyOiA8c3Ryb25nPiR7ci5tYWludGFpbmVyfTwvc3Ryb25nPjwvc3Bhbj5gOiIifQogICAgICAgICAgICAgICR7cj8ubGlua3M/T2JqZWN0LmVudHJpZXMoci5saW5rcykubWFwKChbZCxjXSk9PndgPGEgaHJlZj0iJHtjfSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPiR7ZH08L2E+YCk6IiJ9CiAgICAgICAgICAgICAgJHt0LnRhZ3M/Lmxlbmd0aD93YDxzcGFuPlRhZ3M6ICR7dC50YWdzLmpvaW4oIiwgIil9PC9zcGFuPmA6IiJ9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPCEtLSBQbGF0Zm9ybSBTZXJ2aWNlcyAtLT4KICAgICAgJHtuP3dgCiAgICAgICAgPGRpdiBjbGFzcz0iZGV0YWlsLWNhcmQiPgogICAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi1sYWJlbCI+UGxhdGZvcm0gU2VydmljZXM8L2Rpdj4KICAgICAgICAgIDxkaXY+CiAgICAgICAgICAgICR7T2JqZWN0LmVudHJpZXMobykuZmlsdGVyKChbZCxjXSk9PmMpLm1hcCgoW2RdKT0+d2A8c3BhbiBjbGFzcz0iYmFkZ2UiPiR7bFtkXXx8ZH08L3NwYW4+YCl9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOyBtYXJnaW4tdG9wOiA4cHg7Ij4KICAgICAgICAgICAgVGhlc2UgcGxhdGZvcm0gc2VydmljZXMgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IHByb3Zpc2lvbmVkIHdoZW4geW91IGRlcGxveS4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgOiIifQoKICAgICAgPCEtLSBWZXJzaW9uICYgSW1hZ2UgLS0+CiAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1jYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5WZXJzaW9uPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0idmVyc2lvbi1yb3ciPgogICAgICAgICAgPHNlbGVjdCBjbGFzcz0idmVyc2lvbi1zZWxlY3QiIEBjaGFuZ2U9JHtkPT50aGlzLmhhbmRsZVZlcnNpb25DaGFuZ2UoZC50YXJnZXQudmFsdWUpfT4KICAgICAgICAgICAgJHsocj8udmVyc2lvbnN8fFt0aGlzLnNlbGVjdGVkVmVyc2lvbl0pLm1hcChkPT53YDxvcHRpb24gdmFsdWU9IiR7ZH0iID9zZWxlY3RlZD0ke2Q9PT10aGlzLnNlbGVjdGVkVmVyc2lvbn0+JHtkfSR7ZD09PXQubGF0ZXN0VmVyc2lvbj8iIChsYXRlc3QpIjoiIn08L29wdGlvbj5gKX0KICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgPHNwYW4gY2xhc3M9ImltYWdlLXRhZyI+JHtpLmltYWdlfTwvc3Bhbj4KICAgICAgICAgICR7aS5taW5PbmVib3hWZXJzaW9uP3dgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTJweDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOyI+UmVxdWlyZXMgb25lYm94ICZnZTsgJHtpLm1pbk9uZWJveFZlcnNpb259PC9zcGFuPmA6IiJ9CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgoKICAgICAgPCEtLSBFbnZpcm9ubWVudCBWYXJpYWJsZXMgLS0+CiAgICAgICR7dGhpcy5lZGl0YWJsZUVudlZhcnMubGVuZ3RoPjA/d2AKICAgICAgICA8ZGl2IGNsYXNzPSJkZXRhaWwtY2FyZCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWxhYmVsIj5FbnZpcm9ubWVudCBWYXJpYWJsZXM8L2Rpdj4KICAgICAgICAgIDx0YWJsZSBjbGFzcz0iZW52LXRhYmxlIj4KICAgICAgICAgICAgPHRoZWFkPgogICAgICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6IDMwJTsiPlZhcmlhYmxlPC90aD4KICAgICAgICAgICAgICAgIDx0aCBzdHlsZT0id2lkdGg6IDQwJTsiPlZhbHVlPC90aD4KICAgICAgICAgICAgICAgIDx0aD5EZXNjcmlwdGlvbjwvdGg+CiAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgPC90aGVhZD4KICAgICAgICAgICAgPHRib2R5PgogICAgICAgICAgICAgICR7dGhpcy5lZGl0YWJsZUVudlZhcnMubWFwKChkLGMpPT53YAogICAgICAgICAgICAgICAgPHRyPgogICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9ImVudi1rZXkiPiR7ZC5rZXl9PC9zcGFuPgogICAgICAgICAgICAgICAgICAgICR7ZC5yZXF1aXJlZD93YDxzcGFuIGNsYXNzPSJlbnYtYmFkZ2UgcmVxdWlyZWQiPnJlcXVpcmVkPC9zcGFuPmA6IiJ9CiAgICAgICAgICAgICAgICAgICAgJHtkLnBsYXRmb3JtSW5qZWN0ZWQ/d2A8c3BhbiBjbGFzcz0iZW52LWJhZGdlIGF1dG8iPmF1dG88L3NwYW4+YDoiIn0KICAgICAgICAgICAgICAgICAgPC90ZD4KICAgICAgICAgICAgICAgICAgPHRkPgogICAgICAgICAgICAgICAgICAgIDxpbnB1dAogICAgICAgICAgICAgICAgICAgICAgY2xhc3M9ImVudi1pbnB1dCIKICAgICAgICAgICAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgICAgICAgICAgICAudmFsdWU9JHtkLnZhbHVlfQogICAgICAgICAgICAgICAgICAgICAgP2Rpc2FibGVkPSR7ZC5wbGF0Zm9ybUluamVjdGVkfHwhdGhpcy5kZXBsb3lNb2RlfQogICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9JHtkLnBsYXRmb3JtSW5qZWN0ZWQ/IkF1dG8taW5qZWN0ZWQgYnkgcGxhdGZvcm0iOiJFbnRlciB2YWx1ZS4uLiJ9CiAgICAgICAgICAgICAgICAgICAgICBAaW5wdXQ9JHtwPT50aGlzLmhhbmRsZUVudlZhckNoYW5nZShjLHAudGFyZ2V0LnZhbHVlKX0KICAgICAgICAgICAgICAgICAgICAvPgogICAgICAgICAgICAgICAgICA8L3RkPgogICAgICAgICAgICAgICAgICA8dGQ+PHNwYW4gY2xhc3M9ImVudi1kZXNjIj4ke2QuZGVzY3JpcHRpb258fCIifTwvc3Bhbj48L3RkPgogICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC90Ym9keT4KICAgICAgICAgIDwvdGFibGU+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CgogICAgICA8IS0tIERlcGxveSBzZWN0aW9uIChvbmx5IGluIGRlcGxveSBtb2RlKSBvciBhY3Rpb24gYnV0dG9uICh2aWV3IG1vZGUpIC0tPgogICAgICAke3RoaXMuZGVwbG95TW9kZT93YAogICAgICAgIDxkaXYgY2xhc3M9ImRldGFpbC1jYXJkIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiPlNlcnZpY2UgTmFtZTwvZGl2PgogICAgICAgICAgPGlucHV0CiAgICAgICAgICAgIGNsYXNzPSJuYW1lLWlucHV0IgogICAgICAgICAgICB0eXBlPSJ0ZXh0IgogICAgICAgICAgICAudmFsdWU9JHt0aGlzLnNlcnZpY2VOYW1lfQogICAgICAgICAgICBwbGFjZWhvbGRlcj0iZS5nLiBteS1naG9zdC1ibG9nIgogICAgICAgICAgICBAaW5wdXQ9JHtkPT57dGhpcy5zZXJ2aWNlTmFtZT1kLnRhcmdldC52YWx1ZX19CiAgICAgICAgICAvPgogICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNCwgIzcxNzE3YSk7IG1hcmdpbi10b3A6IDZweDsiPgogICAgICAgICAgICBMb3dlcmNhc2UgbGV0dGVycywgbnVtYmVycywgYW5kIGh5cGhlbnMgb25seS4KICAgICAgICAgIDwvZGl2PgoKICAgICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tbGFiZWwiIHN0eWxlPSJtYXJnaW4tdG9wOiAxOHB4OyI+RG9tYWluPC9kaXY+CiAgICAgICAgICA8aW5wdXQKICAgICAgICAgICAgY2xhc3M9Im5hbWUtaW5wdXQiCiAgICAgICAgICAgIHR5cGU9InRleHQiCiAgICAgICAgICAgIC52YWx1ZT0ke3RoaXMuc2VydmljZURvbWFpbn0KICAgICAgICAgICAgcGxhY2Vob2xkZXI9ImUuZy4gY2xvdWRseS5leGFtcGxlLmNvbSIKICAgICAgICAgICAgQGlucHV0PSR7ZD0+dGhpcy5oYW5kbGVTZXJ2aWNlRG9tYWluQ2hhbmdlKGQudGFyZ2V0LnZhbHVlKX0KICAgICAgICAgIC8+CiAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEycHg7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS00LCAjNzE3MTdhKTsgbWFyZ2luLXRvcDogNnB4OyI+CiAgICAgICAgICAgIE9uZWJveCByb3V0ZXMgdGhpcyBkb21haW4gdG8gdGhlIGRlcGxveWVkIGFwcC4gUmVxdWlyZWQgd2hlbiB0aGUgYXBwIHVzZXMgU0VSVklDRV9ET01BSU4uCiAgICAgICAgICA8L2Rpdj4KCiAgICAgICAgICA8ZGl2IGNsYXNzPSJhY3Rpb25zLXJvdyI+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tc2Vjb25kYXJ5IiBAY2xpY2s9JHsoKT0+e3RoaXMuY3VycmVudFZpZXc9ImdyaWQifX0+Q2FuY2VsPC9idXR0b24+CiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgQGNsaWNrPSR7KCk9PnRoaXMuaGFuZGxlRGVwbG95KCl9PgogICAgICAgICAgICAgIERlcGxveSB2JHt0aGlzLnNlbGVjdGVkVmVyc2lvbn0KICAgICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgYDp3YAogICAgICAgIDxkaXYgY2xhc3M9ImFjdGlvbnMtcm93IiBzdHlsZT0ibWFyZ2luLXRvcDogOHB4OyI+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXNlY29uZGFyeSIgQGNsaWNrPSR7KCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJncmlkIn19PgogICAgICAgICAgICAmbGFycjsgQmFjawogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJidG4gYnRuLXByaW1hcnkiIEBjbGljaz0keygpPT57dGhpcy5kZXBsb3lNb2RlPSEwfX0+CiAgICAgICAgICAgIERlcGxveSB0aGlzIEFwcAogICAgICAgICAgPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIGB9CiAgICBgfWFzeW5jIGhhbmRsZVZpZXdEZXRhaWxzKHQpe2xldCByPXQuZGV0YWlsPy5hcHA7aWYoIXIpcmV0dXJuO2xldCBpPXRoaXMuYXBwU3RvcmVTdGF0ZS5hcHBzLmZpbmQobz0+by5pZD09PXIuaWQpO2kmJih0aGlzLmRlcGxveU1vZGU9ITEsdGhpcy5zZWxlY3RlZEFwcD1pLHRoaXMuc2VsZWN0ZWRWZXJzaW9uPWkubGF0ZXN0VmVyc2lvbix0aGlzLnNlcnZpY2VOYW1lPWkuaWQsdGhpcy5sb2FkaW5nPSEwLHRoaXMuY3VycmVudFZpZXc9ImRldGFpbCIsYXdhaXQgdGhpcy5mZXRjaFZlcnNpb25Db25maWcoaS5pZCxpLmxhdGVzdFZlcnNpb24pLHRoaXMubG9hZGluZz0hMSl9YXN5bmMgaGFuZGxlQXBwQ2xpY2sodCl7bGV0IHI9dC5kZXRhaWw/LmFwcDtpZighcilyZXR1cm47bGV0IGk9dGhpcy5hcHBTdG9yZVN0YXRlLmFwcHMuZmluZChvPT5vLmlkPT09ci5pZCk7aSYmKHRoaXMuZGVwbG95TW9kZT0hMCx0aGlzLnNlbGVjdGVkQXBwPWksdGhpcy5zZWxlY3RlZFZlcnNpb249aS5sYXRlc3RWZXJzaW9uLHRoaXMuc2VydmljZU5hbWU9aS5pZCx0aGlzLmxvYWRpbmc9ITAsdGhpcy5jdXJyZW50Vmlldz0iZGV0YWlsIixhd2FpdCB0aGlzLmZldGNoVmVyc2lvbkNvbmZpZyhpLmlkLGkubGF0ZXN0VmVyc2lvbiksdGhpcy5sb2FkaW5nPSExKX1hc3luYyBoYW5kbGVWZXJzaW9uQ2hhbmdlKHQpeyF0aGlzLnNlbGVjdGVkQXBwfHx0PT09dGhpcy5zZWxlY3RlZFZlcnNpb258fCh0aGlzLnNlbGVjdGVkVmVyc2lvbj10LHRoaXMubG9hZGluZz0hMCxhd2FpdCB0aGlzLmZldGNoVmVyc2lvbkNvbmZpZyh0aGlzLnNlbGVjdGVkQXBwLmlkLHQpLHRoaXMubG9hZGluZz0hMSl9YXN5bmMgZmV0Y2hWZXJzaW9uQ29uZmlnKHQscil7dHJ5e2xldCBpPWJzLmdldFN0YXRlKCkuaWRlbnRpdHk7aWYoIWkpcmV0dXJuO2xldCBuPWF3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRBcHBDb25maWciKS5maXJlKHtpZGVudGl0eTppLGFwcElkOnQsdmVyc2lvbjpyfSk7dGhpcy5zZWxlY3RlZEFwcE1ldGE9bi5hcHBNZXRhLHRoaXMuc2VsZWN0ZWRBcHBDb25maWc9bi5jb25maWcsdGhpcy5lZGl0YWJsZUVudlZhcnM9KG4uY29uZmlnLmVudlZhcnN8fFtdKS5tYXAobD0+KHtrZXk6bC5rZXksdmFsdWU6bC52YWx1ZXx8IiIsZGVzY3JpcHRpb246bC5kZXNjcmlwdGlvbnx8IiIscmVxdWlyZWQ6bC5yZXF1aXJlZCxwbGF0Zm9ybUluamVjdGVkOmwudmFsdWU/LmluY2x1ZGVzKCIkeyIpfHwhMX0pKSx0aGlzLnNlcnZpY2VEb21haW49IiJ9Y2F0Y2goaSl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGZldGNoIGFwcCBjb25maWc6IixpKX19aGFuZGxlRW52VmFyQ2hhbmdlKHQscil7bGV0IGk9Wy4uLnRoaXMuZWRpdGFibGVFbnZWYXJzXTtpW3RdPXsuLi5pW3RdLHZhbHVlOnJ9LHRoaXMuZWRpdGFibGVFbnZWYXJzPWl9aGFuZGxlU2VydmljZURvbWFpbkNoYW5nZSh0KXt0aGlzLnNlcnZpY2VEb21haW49dGhpcy5ub3JtYWxpemVEb21haW4odCl9bm9ybWFsaXplRG9tYWluKHQpe3JldHVybiB0LnRyaW0oKS5yZXBsYWNlKC9eaHR0cHM/OlwvXC8vLCIiKS5yZXBsYWNlKC9cLyQvLCIiKX1hc3luYyBoYW5kbGVEZXBsb3koKXtsZXQgdD10aGlzLnNlbGVjdGVkQXBwLHI9dGhpcy5zZWxlY3RlZEFwcENvbmZpZztpZighdHx8IXIpcmV0dXJuO2xldCBpPXRoaXMuZWRpdGFibGVFbnZWYXJzLmZpbHRlcihjPT5jLnJlcXVpcmVkJiYhYy5wbGF0Zm9ybUluamVjdGVkJiYhYy52YWx1ZS50cmltKCkpO2lmKGkubGVuZ3RoPjApe2NvbnNvbGUuZXJyb3IoYE1pc3NpbmcgcmVxdWlyZWQgZW52aXJvbm1lbnQgdmFyaWFibGVzOiAke2kubWFwKGM9PmMua2V5KS5qb2luKCIsICIpfWApO3JldHVybn1pZigoci5lbnZWYXJzfHxbXSkuc29tZShjPT5jLnZhbHVlPy5pbmNsdWRlcygiJHtTRVJWSUNFX0RPTUFJTn0iKSkmJiF0aGlzLnNlcnZpY2VEb21haW4pe2NvbnNvbGUuZXJyb3IoIkEgZG9tYWluIGlzIHJlcXVpcmVkIGZvciB0aGlzIGFwcC4iKTtyZXR1cm59bGV0IG49e307Zm9yKGxldCBjIG9mIHRoaXMuZWRpdGFibGVFbnZWYXJzKWMua2V5JiZjLnZhbHVlJiYobltjLmtleV09Yy52YWx1ZSk7bGV0IGw9ci5wbGF0Zm9ybVJlcXVpcmVtZW50c3x8e30sZD17bmFtZTp0aGlzLnNlcnZpY2VOYW1lfHx0LmlkLGltYWdlOnIuaW1hZ2UscG9ydDpyLnBvcnR8fDgwLGRvbWFpbjp0aGlzLnNlcnZpY2VEb21haW58fHZvaWQgMCxlbnZWYXJzOm4sZW5hYmxlTW9uZ29EQjpsLm1vbmdvZGJ8fCExLGVuYWJsZVMzOmwuczN8fCExLGVuYWJsZUNsaWNrSG91c2U6bC5jbGlja2hvdXNlfHwhMSxlbmFibGVSZWRpczpsLnJlZGlzfHwhMSxlbmFibGVNYXJpYURCOmwubWFyaWFkYnx8ITEsYXBwVGVtcGxhdGVJZDp0LmlkLGFwcFRlbXBsYXRlVmVyc2lvbjp0aGlzLnNlbGVjdGVkVmVyc2lvbn07dHJ5e2F3YWl0IFR0LmRpc3BhdGNoQWN0aW9uKFJHLHtjb25maWc6ZH0pLHNldFRpbWVvdXQoKCk9PntXbi5uYXZpZ2F0ZVRvVmlldygic2VydmljZXMiKX0sMCl9Y2F0Y2goYyl7Y29uc29sZS5lcnJvcigiRmFpbGVkIHRvIGRlcGxveSBmcm9tIEFwcCBTdG9yZToiLGMpfX19O01hPUlzKEI1YSksbHR0PW5ldyBXZWFrTWFwLGN0dD1uZXcgV2Vha01hcCxkdHQ9bmV3IFdlYWtNYXAsdXR0PW5ldyBXZWFrTWFwLHB0dD1uZXcgV2Vha01hcCxmdHQ9bmV3IFdlYWtNYXAsaHR0PW5ldyBXZWFrTWFwLG10dD1uZXcgV2Vha01hcCxndHQ9bmV3IFdlYWtNYXAsYnR0PW5ldyBXZWFrTWFwLHZ0dD1uZXcgV2Vha01hcCxFdChNYSw0LCJhcHBTdG9yZVN0YXRlIixGNWEsWXMsbHR0KSxFdChNYSw0LCJjdXJyZW50VmlldyIsTzVhLFlzLGN0dCksRXQoTWEsNCwic2VsZWN0ZWRBcHAiLFI1YSxZcyxkdHQpLEV0KE1hLDQsInNlbGVjdGVkQXBwTWV0YSIsTjVhLFlzLHV0dCksRXQoTWEsNCwic2VsZWN0ZWRBcHBDb25maWciLEk1YSxZcyxwdHQpLEV0KE1hLDQsInNlbGVjdGVkVmVyc2lvbiIsUDVhLFlzLGZ0dCksRXQoTWEsNCwiZWRpdGFibGVFbnZWYXJzIixFNWEsWXMsaHR0KSxFdChNYSw0LCJzZXJ2aWNlTmFtZSIsQTVhLFlzLG10dCksRXQoTWEsNCwic2VydmljZURvbWFpbiIsRDVhLFlzLGd0dCksRXQoTWEsNCwibG9hZGluZyIsJDVhLFlzLGJ0dCksRXQoTWEsNCwiZGVwbG95TW9kZSIsTDVhLFlzLHZ0dCksWXM9RXQoTWEsMCwiT2JWaWV3QXBwU3RvcmUiLEg1YSxZcykscyhZcywiT2JWaWV3QXBwU3RvcmUiKSxOcyhZcywic3R5bGVzIixbaC5kZWZhdWx0U3R5bGVzLE5vLFFgCiAgICAgIC5kZXRhaWwtY2FyZCB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtMSwgIzA5MDkwYik7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2ktc2hhZGUtMiwgIzI3MjcyYSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIHBhZGRpbmc6IDI0cHg7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICAgICAgfQoKICAgICAgLmRldGFpbC1oZWFkZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtaWNvbiB7CiAgICAgICAgd2lkdGg6IDY0cHg7CiAgICAgICAgaGVpZ2h0OiA2NHB4OwogICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtMiwgIzI3MjcyYSk7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgICAgIGZvbnQtc2l6ZTogMjhweDsKICAgICAgICBmb250LXdlaWdodDogNzAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjYTFhMWFhKTsKICAgICAgICBmbGV4LXNocmluazogMDsKICAgICAgfQoKICAgICAgLmRldGFpbC10aXRsZSB7CiAgICAgICAgZm9udC1zaXplOiAyNHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTcsICNlNGU0ZTcpOwogICAgICAgIG1hcmdpbjogMCAwIDRweCAwOwogICAgICB9CgogICAgICAuZGV0YWlsLWNhdGVnb3J5IHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICAgICAgcGFkZGluZzogMnB4IDEwcHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOTk5OXB4OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS01LCAjYTFhMWFhKTsKICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtZGVzY3JpcHRpb24gewogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7CiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgICAgICBtYXJnaW46IDA7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtbWV0YSB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgICAgbWFyZ2luLXRvcDogOHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNCwgIzcxNzE3YSk7CiAgICAgIH0KCiAgICAgIC5kZXRhaWwtbWV0YSBhIHsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgICB9CgogICAgICAuZGV0YWlsLW1ldGEgYTpob3ZlciB7CiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7CiAgICAgIH0KCiAgICAgIC5zZWN0aW9uLWxhYmVsIHsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7CiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtOwogICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgICAgIH0KCiAgICAgIC5iYWRnZSB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDRweDsKICAgICAgICBwYWRkaW5nOiA0cHggMTBweDsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSg1OSwgMTMwLCAyNDYsIDAuMTUpOwogICAgICAgIGNvbG9yOiAjNjBhNWZhOwogICAgICAgIG1hcmdpbi1yaWdodDogNnB4OwogICAgICAgIG1hcmdpbi1ib3R0b206IDZweDsKICAgICAgfQoKICAgICAgLnZlcnNpb24tcm93IHsKICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICAgICAgZ2FwOiAxNnB4OwogICAgICB9CgogICAgICAudmVyc2lvbi1zZWxlY3QgewogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNpLXNoYWRlLTMsICMzZjNmNDYpOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBwYWRkaW5nOiA4cHggMTJweDsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNywgI2U0ZTRlNyk7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgfQoKICAgICAgLmltYWdlLXRhZyB7CiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICNhMWExYWEpOwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOwogICAgICAgIHBhZGRpbmc6IDRweCA4cHg7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgICB9CgogICAgICAuZW52LXRhYmxlIHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOwogICAgICB9CgogICAgICAuZW52LXRhYmxlIHRoIHsKICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OwogICAgICAgIGZvbnQtc2l6ZTogMTJweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS00LCAjNzE3MTdhKTsKICAgICAgICBwYWRkaW5nOiA4cHggOHB4IDhweCAwOwogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsKICAgICAgfQoKICAgICAgLmVudi10YWJsZSB0ZCB7CiAgICAgICAgcGFkZGluZzogNnB4IDhweCA2cHggMDsKICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogICAgICB9CgogICAgICAuZW52LWlucHV0IHsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaS1zaGFkZS0zLCAjM2YzZjQ2KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICAgICAgcGFkZGluZzogNnB4IDhweDsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNywgI2U0ZTRlNyk7CiAgICAgICAgZm9udC1zaXplOiAxM3B4OwogICAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7CiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICAgICAgfQoKICAgICAgLmVudi1pbnB1dDpkaXNhYmxlZCB7CiAgICAgICAgb3BhY2l0eTogMC41OwogICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7CiAgICAgIH0KCiAgICAgIC5lbnYta2V5IHsKICAgICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlOwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNiwgI2Q0ZDRkOCk7CiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgfQoKICAgICAgLmVudi1kZXNjIHsKICAgICAgICBmb250LXNpemU6IDEycHg7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTQsICM3MTcxN2EpOwogICAgICB9CgogICAgICAuZW52LWJhZGdlIHsKICAgICAgICBmb250LXNpemU6IDEwcHg7CiAgICAgICAgcGFkZGluZzogMXB4IDZweDsKICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7CiAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDsKICAgICAgfQoKICAgICAgLmVudi1iYWRnZS5yZXF1aXJlZCB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xNSk7CiAgICAgICAgY29sb3I6ICNmODcxNzE7CiAgICAgIH0KCiAgICAgIC5lbnYtYmFkZ2UuYXV0byB7CiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgzNCwgMTk3LCA5NCwgMC4xNSk7CiAgICAgICAgY29sb3I6ICM0YWRlODA7CiAgICAgIH0KCiAgICAgIC5uYW1lLWlucHV0IHsKICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS0yLCAjMjcyNzJhKTsKICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaS1zaGFkZS0zLCAjM2YzZjQ2KTsKICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7CiAgICAgICAgcGFkZGluZzogMTBweCAxNHB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1jaS1zaGFkZS03LCAjZTRlNGU3KTsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgd2lkdGg6IDMwMHB4OwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgIH0KCiAgICAgIC5hY3Rpb25zLXJvdyB7CiAgICAgICAgZGlzcGxheTogZmxleDsKICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOwogICAgICAgIGdhcDogMTJweDsKICAgICAgICBtYXJnaW4tdG9wOiAyNHB4OwogICAgICB9CgogICAgICAuYnRuIHsKICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDsKICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgICAgIGdhcDogOHB4OwogICAgICAgIHBhZGRpbmc6IDEwcHggMjBweDsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTRweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDIwMG1zIGVhc2U7CiAgICAgIH0KCiAgICAgIC5idG46aG92ZXIgeyBvcGFjaXR5OiAwLjk7IH0KCiAgICAgIC5idG4tcHJpbWFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtNywgI2U0ZTRlNyk7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTAsICMwOTA5MGIpOwogICAgICB9CgogICAgICAuYnRuLXNlY29uZGFyeSB7CiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2ktc2hhZGUtMiwgIzI3MjcyYSk7CiAgICAgICAgY29sb3I6IHZhcigtLWNpLXNoYWRlLTYsICNkNGQ0ZDgpOwogICAgICB9CgogICAgICAubG9hZGluZy1zcGlubmVyIHsKICAgICAgICBwYWRkaW5nOiAzMnB4OwogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICAgICAgICBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNCwgIzcxNzE3YSk7CiAgICAgIH0KICAgIGBdKSxYZShNYSwxLFlzKTt4dHQ9WXN9KTt2YXIgd0ZhLFZpZSxqNWE9ZigoKT0+e2RuKCk7djcoKTt3RmE9dWQuZG9tdG9vbHMsVmllPWNsYXNze2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5zZXJ2aWNlTmFtZT1lO3RoaXMuaWRlbnRpdHk9dH1zZXJ2aWNlTmFtZTtzdGF0aWN7cyh0aGlzLCJCYWNrZW5kRXhlY3V0aW9uRW52aXJvbm1lbnQiKX10eXBlPSJiYWNrZW5kIjtfcmVhZHk9ITE7aWRlbnRpdHk7Z2V0IHJlYWR5KCl7cmV0dXJuIHRoaXMuX3JlYWR5fWFzeW5jIGluaXQoKXtpZighKGF3YWl0IHRoaXMuZmlyZVJlcXVlc3QoIndvcmtzcGFjZUV4aXN0cyIse3BhdGg6Ii8ifSkpLmV4aXN0cyl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBhY2Nlc3MgY29udGFpbmVyIGZpbGVzeXN0ZW0gZm9yIHNlcnZpY2U6ICR7dGhpcy5zZXJ2aWNlTmFtZX1gKTt0aGlzLl9yZWFkeT0hMH1hc3luYyBkZXN0cm95KCl7dGhpcy5fcmVhZHk9ITF9YXN5bmMgcmVhZEZpbGUoZSl7cmV0dXJuKGF3YWl0IHRoaXMuZmlyZVJlcXVlc3QoIndvcmtzcGFjZVJlYWRGaWxlIix7cGF0aDplfSkpLmNvbnRlbnR9YXN5bmMgd3JpdGVGaWxlKGUsdCl7YXdhaXQgdGhpcy5maXJlUmVxdWVzdCgid29ya3NwYWNlV3JpdGVGaWxlIix7cGF0aDplLGNvbnRlbnQ6dH0pfWFzeW5jIHJlYWREaXIoZSl7cmV0dXJuKGF3YWl0IHRoaXMuZmlyZVJlcXVlc3QoIndvcmtzcGFjZVJlYWREaXIiLHtwYXRoOmV9KSkuZW50cmllc31hc3luYyBta2RpcihlKXthd2FpdCB0aGlzLmZpcmVSZXF1ZXN0KCJ3b3Jrc3BhY2VNa2RpciIse3BhdGg6ZX0pfWFzeW5jIHJtKGUsdCl7YXdhaXQgdGhpcy5maXJlUmVxdWVzdCgid29ya3NwYWNlUm0iLHtwYXRoOmUscmVjdXJzaXZlOnQ/LnJlY3Vyc2l2ZX0pfWFzeW5jIGV4aXN0cyhlKXtyZXR1cm4oYXdhaXQgdGhpcy5maXJlUmVxdWVzdCgid29ya3NwYWNlRXhpc3RzIix7cGF0aDplfSkpLmV4aXN0c313YXRjaChlLHQscil7cmV0dXJue3N0b3A6cygoKT0+e30sInN0b3AiKX19YXN5bmMgc3Bhd24oZSx0KXtsZXQgcj10P1tlLC4uLnRdOltlXSxpPXIuam9pbigiICIpLG89YXdhaXQgdGhpcy5maXJlUmVxdWVzdCgid29ya3NwYWNlRXhlYyIse2NvbW1hbmQ6clswXSxhcmdzOnIuc2xpY2UoMSl9KSxuPW5ldyBSZWFkYWJsZVN0cmVhbSh7c3RhcnQoZCl7by5zdGRvdXQmJmQuZW5xdWV1ZShvLnN0ZG91dCksby5zdGRlcnImJmQuZW5xdWV1ZShvLnN0ZGVyciksZC5jbG9zZSgpfX0pLGw9bmV3IFdyaXRhYmxlU3RyZWFtO3JldHVybntvdXRwdXQ6bixpbnB1dDpsLGV4aXQ6UHJvbWlzZS5yZXNvbHZlKG8uZXhpdENvZGUpLGtpbGw6cygoKT0+e30sImtpbGwiKX19YXN5bmMgZmlyZVJlcXVlc3QoZSx0KXtyZXR1cm4gYXdhaXQgbmV3IHdGYS5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLGUpLmZpcmUoe2lkZW50aXR5OnRoaXMuaWRlbnRpdHksc2VydmljZU5hbWU6dGhpcy5zZXJ2aWNlTmFtZSwuLi50fSl9fX0pO3ZhciBhaGE9e307bHQoYWhhLHtPYlZpZXdTZXJ2aWNlczooKT0+VHR0fSk7ZnVuY3Rpb24gamllKGEpe2lmKCFhfHxhPT09MClyZXR1cm4iMCBCIjtsZXQgZT1bIkIiLCJLQiIsIk1CIiwiR0IiLCJUQiJdLHQ9MTAyNCxyPU1hdGguZmxvb3IoTWF0aC5sb2coYSkvTWF0aC5sb2codCkpO3JldHVybmAkeyhhL01hdGgucG93KHQscikpLnRvRml4ZWQoMSl9ICR7ZVtyXX1gfWZ1bmN0aW9uIE1GYShhKXtsZXQgZT1hLmxhc3RJbmRleE9mKCI6IiksdD1hLmxhc3RJbmRleE9mKCIvIik7cmV0dXJuIGU+dCYmZT4wP3tyZXBvc2l0b3J5OmEuc3Vic3RyaW5nKDAsZSksdGFnOmEuc3Vic3RyaW5nKGUrMSl9OntyZXBvc2l0b3J5OmEsdGFnOiJsYXRlc3QifX1mdW5jdGlvbiBVNWEoYSl7c3dpdGNoKGEpe2Nhc2UicnVubmluZyI6cmV0dXJuInJ1bm5pbmciO2Nhc2Uic3RhcnRpbmciOnJldHVybiJzdGFydGluZyI7Y2FzZSJmYWlsZWQiOnJldHVybiJlcnJvciI7ZGVmYXVsdDpyZXR1cm4ic3RvcHBlZCJ9fWZ1bmN0aW9uIGtGYShhKXtsZXQgZT1NRmEoYS5pbWFnZSk7cmV0dXJue25hbWU6YS5uYW1lLHN0YXR1czpVNWEoYS5zdGF0dXMpLGltYWdlOmEuaW1hZ2UscG9ydDphLnBvcnQsZG9tYWluOmEuZG9tYWlufHxudWxsLGNvbnRhaW5lcklkOmEuY29udGFpbmVySUR8fCIiLGNyZWF0ZWQ6YS5jcmVhdGVkQXQ/bmV3IERhdGUoYS5jcmVhdGVkQXQpLnRvTG9jYWxlU3RyaW5nKCk6Ii0iLHVwZGF0ZWQ6YS51cGRhdGVkQXQ/bmV3IERhdGUoYS51cGRhdGVkQXQpLnRvTG9jYWxlU3RyaW5nKCk6Ii0iLHJlZ2lzdHJ5OmEudXNlT25lYm94UmVnaXN0cnk/Ik9uZWJveCBSZWdpc3RyeSI6YS5yZWdpc3RyeXx8IkRvY2tlciBIdWIiLHJlcG9zaXRvcnk6YS5yZWdpc3RyeVJlcG9zaXRvcnl8fGUucmVwb3NpdG9yeSx0YWc6YS5yZWdpc3RyeUltYWdlVGFnfHxlLnRhZ319ZnVuY3Rpb24gU0ZhKGEpe3JldHVybntjcHU6YS5jcHVQZXJjZW50LG1lbW9yeTpqaWUoYS5tZW1vcnlVc2VkKSxtZW1vcnlMaW1pdDpqaWUoYS5tZW1vcnlMaW1pdCksbmV0d29ya0luOmppZShhLm5ldHdvcmtSeCksbmV0d29ya091dDpqaWUoYS5uZXR3b3JrVHgpfX1mdW5jdGlvbiB6RmEoYSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YS5tYXAoZT0+e2xldCB0PWUudGltZXN0YW1wP3R5cGVvZiBlLnRpbWVzdGFtcD09Im51bWJlciI/bmV3IERhdGUoZS50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCk6U3RyaW5nKGUudGltZXN0YW1wKTpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkscj1lLm1lc3NhZ2V8fFN0cmluZyhlKSxpPWUubGV2ZWx8fCJpbmZvIjtyZXR1cm57dGltZXN0YW1wOnQsbWVzc2FnZTpyLGxldmVsOml9fSk6dHlwZW9mIGE9PSJzdHJpbmciJiZhLnRyaW0oKT9hLnNwbGl0KGAKYCkuZmlsdGVyKGU9PmUudHJpbSgpKS5tYXAoZT0+e2xldCB0PWUubWF0Y2goL14oXGR7NH0tXGR7Mn0tXGR7Mn1UW1xkOi5dK1o/KVxzKyguKikvKSxyPXQ/dFsxXTpuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksaT10P3RbMl06ZSxvPWkudG9Mb3dlckNhc2UoKSxuPW8uaW5jbHVkZXMoImVycm9yIil8fG8uaW5jbHVkZXMoImZhdGFsIik/ImVycm9yIjpvLmluY2x1ZGVzKCJ3YXJuIik/Indhcm4iOiJpbmZvIjtyZXR1cm57dGltZXN0YW1wOnIsbWVzc2FnZTppLGxldmVsOm59fSk6W119dmFyIFc1YSxHNWEsWTVhLEs1YSxaNWEsWDVhLFE1YSxKNWEsZWhhLHRoYSxpcix5dHQsd3R0LE10dCxrdHQsU3R0LHp0dCxDdHQsX3R0LENGYSxwbyxUdHQsTHR0PWYoYXN5bmMoKT0+e2RuKCk7V2MoKTthd2FpdCBwbCgpO3Y3KCk7ajVhKCk7bGUoKTtzKGppZSwiZm9ybWF0Qnl0ZXMiKTtzKE1GYSwicGFyc2VJbWFnZVN0cmluZyIpO3MoVTVhLCJtYXBTdGF0dXMiKTtzKGtGYSwidG9TZXJ2aWNlRGV0YWlsIik7cyhTRmEsInRvU2VydmljZVN0YXRzIik7cyh6RmEsInBhcnNlTG9ncyIpO0NGYT17Y3B1OjAsbWVtb3J5OiIwIEIiLG1lbW9yeUxpbWl0OiIwIEIiLG5ldHdvcmtJbjoiMCBCIixuZXR3b3JrT3V0OiIwIEIifTt0aGE9W2llKCJvYi12aWV3LXNlcnZpY2VzIildO3BvPWNsYXNzIHBvIGV4dGVuZHMoZWhhPXBlLEo1YT1bSygpXSxRNWE9W0soKV0sWDVhPVtLKCldLFo1YT1bSygpXSxLNWE9W0soKV0sWTVhPVtLKCldLEc1YT1bSygpXSxXNWE9W0soKV0sZWhhKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7R3QodGhpcyx5dHQsWGUoaXIsOCx0aGlzLHtzZXJ2aWNlczpbXSxjdXJyZW50U2VydmljZTpudWxsLGN1cnJlbnRTZXJ2aWNlTG9nczpbXSxjdXJyZW50U2VydmljZVN0YXRzOm51bGwscGxhdGZvcm1TZXJ2aWNlczpbXSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZVN0YXRzOm51bGwsY3VycmVudFBsYXRmb3JtU2VydmljZUxvZ3M6W119KSksWGUoaXIsMTEsdGhpcyk7R3QodGhpcyx3dHQsWGUoaXIsMTIsdGhpcyx7YmFja3VwczpbXSxzY2hlZHVsZXM6W119KSksWGUoaXIsMTUsdGhpcyk7R3QodGhpcyxNdHQsWGUoaXIsMTYsdGhpcywibGlzdCIpKSxYZShpciwxOSx0aGlzKTtHdCh0aGlzLGt0dCxYZShpciwyMCx0aGlzLCIiKSksWGUoaXIsMjMsdGhpcyk7R3QodGhpcyxTdHQsWGUoaXIsMjQsdGhpcywiIikpLFhlKGlyLDI3LHRoaXMpO0d0KHRoaXMsenR0LFhlKGlyLDI4LHRoaXMsITEpKSxYZShpciwzMSx0aGlzKTtHdCh0aGlzLEN0dCxYZShpciwzMix0aGlzLG51bGwpKSxYZShpciwzNSx0aGlzKTtHdCh0aGlzLF90dCxYZShpciwzNix0aGlzLHthcHBzOltdLHVwZ3JhZGVhYmxlU2VydmljZXM6W119KSksWGUoaXIsMzksdGhpcyk7bGV0IHQ9VHQuc2VsZWN0KG89Pm8pLnN1YnNjcmliZShvPT57dGhpcy5zZXJ2aWNlc1N0YXRlPW99KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKHQpO2xldCByPXQyLnNlbGVjdChvPT5vKS5zdWJzY3JpYmUobz0+e3RoaXMuYmFja3Vwc1N0YXRlPW99KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKHIpO2xldCBpPXVsLnNlbGVjdChvPT5vKS5zdWJzY3JpYmUobz0+e3RoaXMuYXBwU3RvcmVTdGF0ZT1vfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChpKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgUHJvbWlzZS5hbGwoW1R0LmRpc3BhdGNoQWN0aW9uKE5HLG51bGwpLFR0LmRpc3BhdGNoQWN0aW9uKE9pZSxudWxsKSx1bC5kaXNwYXRjaEFjdGlvbih3NWEsbnVsbCldKTtsZXQgdD1UdC5nZXRTdGF0ZSgpO2lmKHQuY3VycmVudFBsYXRmb3JtU2VydmljZSl7bGV0IHI9dC5jdXJyZW50UGxhdGZvcm1TZXJ2aWNlLnR5cGU7VHQuc2V0U3RhdGUoey4uLlR0LmdldFN0YXRlKCksY3VycmVudFBsYXRmb3JtU2VydmljZTpudWxsfSksdGhpcy5uYXZpZ2F0ZVRvUGxhdGZvcm1EZXRhaWwocil9fXJlbmRlcigpe3N3aXRjaCh0aGlzLmN1cnJlbnRWaWV3KXtjYXNlImNyZWF0ZSI6cmV0dXJuIHRoaXMucmVuZGVyQ3JlYXRlVmlldygpO2Nhc2UiZGV0YWlsIjpyZXR1cm4gdGhpcy5yZW5kZXJEZXRhaWxWaWV3KCk7Y2FzZSJiYWNrdXBzIjpyZXR1cm4gdGhpcy5yZW5kZXJCYWNrdXBzVmlldygpO2Nhc2UicGxhdGZvcm0tZGV0YWlsIjpyZXR1cm4gdGhpcy5yZW5kZXJQbGF0Zm9ybURldGFpbFZpZXcoKTtkZWZhdWx0OnJldHVybiB0aGlzLnJlbmRlckxpc3RWaWV3KCl9fXJlbmRlckxpc3RWaWV3KCl7bGV0IHQ9dGhpcy5zZXJ2aWNlc1N0YXRlLnNlcnZpY2VzLm1hcChsPT4oe25hbWU6bC5uYW1lLGltYWdlOmwuaW1hZ2UsZG9tYWluOmwuZG9tYWlufHxudWxsLHN0YXR1czpVNWEobC5zdGF0dXMpfSkpLHI9cyhsPT57c3dpdGNoKGwpe2Nhc2UicnVubmluZyI6cmV0dXJuIlJ1bm5pbmciO2Nhc2Uic3RvcHBlZCI6cmV0dXJuIlN0b3BwZWQiO2Nhc2Uic3RhcnRpbmciOnJldHVybiJTdGFydGluZy4uLiI7Y2FzZSJzdG9wcGluZyI6cmV0dXJuIlN0b3BwaW5nLi4uIjtjYXNlImZhaWxlZCI6cmV0dXJuIkZhaWxlZCI7Y2FzZSJub3QtZGVwbG95ZWQiOnJldHVybiJOb3QgRGVwbG95ZWQiO2RlZmF1bHQ6cmV0dXJuIGx9fSwiZGlzcGxheVN0YXR1cyIpLGk9dGhpcy5zZXJ2aWNlc1N0YXRlLnBsYXRmb3JtU2VydmljZXMuZmlsdGVyKGw9Pmwuc3RhdHVzPT09InJ1bm5pbmcifHxsLnN0YXR1cz09PSJzdGFydGluZyJ8fGwuc3RhdHVzPT09InN0b3BwaW5nInx8bC5pc0NvcmUpLG89dGhpcy5zZXJ2aWNlc1N0YXRlLnBsYXRmb3JtU2VydmljZXMuZmlsdGVyKGw9PiFsLmlzQ29yZSYmKGwuc3RhdHVzPT09Im5vdC1kZXBsb3llZCJ8fGwuc3RhdHVzPT09InN0b3BwZWQifHxsLnN0YXR1cz09PSJmYWlsZWQiKSksbj1pLm1hcChsPT4oe25hbWU6bC5kaXNwbGF5TmFtZSxzdGF0dXM6cihsLnN0YXR1cykscnVubmluZzpsLnN0YXR1cz09PSJydW5uaW5nIix0eXBlOmwudHlwZX0pKTtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPlNlcnZpY2VzPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPGRpdiBjbGFzcz0icGFnZS1hY3Rpb25zIj4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJkZXBsb3ktYnV0dG9uIiBAY2xpY2s9JHsoKT0+e3RoaXMuY3VycmVudFZpZXc9ImNyZWF0ZSJ9fT4KICAgICAgICAgIDxzdmcgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIj4KICAgICAgICAgICAgPGxpbmUgeDE9IjEyIiB5MT0iNSIgeDI9IjEyIiB5Mj0iMTkiPjwvbGluZT4KICAgICAgICAgICAgPGxpbmUgeDE9IjUiIHkxPSIxMiIgeDI9IjE5IiB5Mj0iMTIiPjwvbGluZT4KICAgICAgICAgIDwvc3ZnPgogICAgICAgICAgRGVwbG95IFNlcnZpY2UKICAgICAgICA8L2J1dHRvbj4KICAgICAgPC9kaXY+CiAgICAgIDxzei1zZXJ2aWNlcy1saXN0LXZpZXcKICAgICAgICAuc2VydmljZXM9JHt0fQogICAgICAgIEBzZXJ2aWNlLWNsaWNrPSR7bD0+e3RoaXMuc2VsZWN0ZWRTZXJ2aWNlTmFtZT1sLmRldGFpbC5uYW1lfHxsLmRldGFpbC5zZXJ2aWNlPy5uYW1lLFR0LmRpc3BhdGNoQWN0aW9uKEtldCx7bmFtZTp0aGlzLnNlbGVjdGVkU2VydmljZU5hbWV9KSxUdC5kaXNwYXRjaEFjdGlvbihsNWEse25hbWU6dGhpcy5zZWxlY3RlZFNlcnZpY2VOYW1lfSksVHQuZGlzcGF0Y2hBY3Rpb24oYzVhLHtuYW1lOnRoaXMuc2VsZWN0ZWRTZXJ2aWNlTmFtZX0pLHRoaXMuY3VycmVudFZpZXc9ImRldGFpbCJ9fQogICAgICAgIEBzZXJ2aWNlLWFjdGlvbj0ke2w9PnRoaXMuaGFuZGxlU2VydmljZUFjdGlvbihsKX0KICAgICAgPjwvc3otc2VydmljZXMtbGlzdC12aWV3PgogICAgICA8b2Itc2VjdGlvbmhlYWRpbmcgc3R5bGU9Im1hcmdpbi10b3A6IDMycHg7Ij5QbGF0Zm9ybSBTZXJ2aWNlczwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxkaXYgc3R5bGU9Im1heC13aWR0aDogNTAwcHg7Ij4KICAgICAgICAke24ubGVuZ3RoPjA/d2AKICAgICAgICAgIDxzei1wbGF0Zm9ybS1zZXJ2aWNlcy1jYXJkCiAgICAgICAgICAgIC5zZXJ2aWNlcz0ke259CiAgICAgICAgICAgIEBzZXJ2aWNlLWNsaWNrPSR7bD0+e2xldCBkPWwuZGV0YWlsLnR5cGV8fHRoaXMuc2VydmljZXNTdGF0ZS5wbGF0Zm9ybVNlcnZpY2VzLmZpbmQoYz0+Yy5kaXNwbGF5TmFtZT09PWwuZGV0YWlsLm5hbWUpPy50eXBlO2QmJnRoaXMubmF2aWdhdGVUb1BsYXRmb3JtRGV0YWlsKGQpfX0KICAgICAgICAgID48L3N6LXBsYXRmb3JtLXNlcnZpY2VzLWNhcmQ+CiAgICAgICAgYDoiIn0KICAgICAgICAke28ubGVuZ3RoPjA/d2AKICAgICAgICAgIDxkaXYgc3R5bGU9IgogICAgICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS0xLCAjMDkwOTBiKTsKICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2ktc2hhZGUtMiwgIzI3MjcyYSk7CiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDhweDsKICAgICAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICAgICAgbWFyZ2luLXRvcDogJHtuLmxlbmd0aD4wPyIxMnB4IjoiMCJ9OwogICAgICAgICAgICBvcGFjaXR5OiAwLjU7CiAgICAgICAgICAiPgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6IDEzcHg7IGNvbG9yOiB2YXIoLS1jaS1zaGFkZS00LCAjNzE3MTdhKTsgbWFyZ2luLWJvdHRvbTogMTJweDsiPkF2YWlsYWJsZSDigJQgbm90IGluIHVzZTwvZGl2PgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBnYXA6IDEycHg7Ij4KICAgICAgICAgICAgICAke28ubWFwKGw9PndgCiAgICAgICAgICAgICAgICA8ZGl2CiAgICAgICAgICAgICAgICAgIHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IGFsaWduLWl0ZW1zOiBjZW50ZXI7IHBhZGRpbmc6IDhweCAwOyBjdXJzb3I6IHBvaW50ZXI7IHRyYW5zaXRpb246IG9wYWNpdHkgMjAwbXMgZWFzZTsiCiAgICAgICAgICAgICAgICAgIEBjbGljaz0keygpPT50aGlzLm5hdmlnYXRlVG9QbGF0Zm9ybURldGFpbChsLnR5cGUpfQogICAgICAgICAgICAgICAgPgogICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBnYXA6IDEwcHg7Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJ3aWR0aDogOHB4OyBoZWlnaHQ6IDhweDsgYm9yZGVyLXJhZGl1czogNTAlOyBiYWNrZ3JvdW5kOiB2YXIoLS1jaS1zaGFkZS0zLCAjM2YzZjQ2KTsgZmxleC1zaHJpbms6IDA7Ij48L2Rpdj4KICAgICAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNTAwOyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNCwgIzcxNzE3YSk7Ij4ke2wuZGlzcGxheU5hbWV9PC9zcGFuPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTNweDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTMsICMzZjNmNDYpOyI+JHtyKGwuc3RhdHVzKX08L3NwYW4+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICBgKX0KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICBgOiIifQogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZGVwbG95RnJvbVRlbXBsYXRlKHQpe2xldCByPXQuaWR8fHQubmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1teYS16MC05LV0vZywiLSIpLGk9e307aWYodC5lbnZWYXJzKWZvcihsZXQgbiBvZiB0LmVudlZhcnMpbi5rZXkmJm4udmFsdWUmJihpW24ua2V5XT1uLnZhbHVlKTtsZXQgbz17bmFtZTpyLGltYWdlOnQuaW1hZ2UscG9ydDp0LnBvcnR8fDgwLGVudlZhcnM6aSxlbmFibGVNb25nb0RCOnQuZW5hYmxlTW9uZ29EQnx8ITEsZW5hYmxlUzM6dC5lbmFibGVTM3x8ITEsZW5hYmxlQ2xpY2tIb3VzZTp0LmVuYWJsZUNsaWNrSG91c2V8fCExLGVuYWJsZVJlZGlzOnQuZW5hYmxlUmVkaXN8fCExLGVuYWJsZU1hcmlhREI6dC5lbmFibGVNYXJpYURCfHwhMX07YXdhaXQgVHQuZGlzcGF0Y2hBY3Rpb24oUkcse2NvbmZpZzpvfSksdGhpcy5wZW5kaW5nVGVtcGxhdGU9bnVsbCx0aGlzLmN1cnJlbnRWaWV3PSJsaXN0In1yZW5kZXJDcmVhdGVWaWV3KCl7aWYodGhpcy5wZW5kaW5nVGVtcGxhdGUpe2xldCB0PXRoaXMucGVuZGluZ1RlbXBsYXRlO3JldHVybiB3YAogICAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5EZXBsb3kgJHt0Lm5hbWV9PC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgICA8ZGl2IHN0eWxlPSJtYXgtd2lkdGg6IDYwMHB4OyBtYXJnaW46IDAgYXV0bzsiPgogICAgICAgICAgPGRpdiBzdHlsZT0iYmFja2dyb3VuZDogdmFyKC0tY2ktc2hhZGUtMSwgIzA5MDkwYik7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOyBib3JkZXItcmFkaXVzOiA4cHg7IHBhZGRpbmc6IDI0cHg7IG1hcmdpbi1ib3R0b206IDE2cHg7Ij4KICAgICAgICAgICAgPGgzIHN0eWxlPSJtYXJnaW46IDAgMCA4cHggMDsgZm9udC1zaXplOiAxOHB4OyI+JHt0Lm5hbWV9PC9oMz4KICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbjogMCAwIDE2cHggMDsgY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICNhMWExYWEpOyBmb250LXNpemU6IDE0cHg7Ij4ke3QuZGVzY3JpcHRpb259PC9wPgogICAgICAgICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBncmlkOyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IGdhcDogMTJweDsgZm9udC1zaXplOiAxM3B4OyI+CiAgICAgICAgICAgICAgPGRpdj48c3BhbiBzdHlsZT0iY29sb3I6IHZhcigtLWNpLXNoYWRlLTUsICNhMWExYWEpOyI+SW1hZ2U6PC9zcGFuPiA8c3Ryb25nPiR7dC5pbWFnZX08L3N0cm9uZz48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PjxzcGFuIHN0eWxlPSJjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7Ij5Qb3J0Ojwvc3Bhbj4gPHN0cm9uZz4ke3QucG9ydH08L3N0cm9uZz48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PjxzcGFuIHN0eWxlPSJjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7Ij5TZXJ2aWNlIE5hbWU6PC9zcGFuPiA8c3Ryb25nPiR7dC5pZH08L3N0cm9uZz48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2PjxzcGFuIHN0eWxlPSJjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7Ij5DYXRlZ29yeTo8L3NwYW4+IDxzdHJvbmc+JHt0LmNhdGVnb3J5fTwvc3Ryb25nPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgJHt0LmVuYWJsZU1vbmdvREJ8fHQuZW5hYmxlUzN8fHQuZW5hYmxlQ2xpY2tIb3VzZXx8dC5lbmFibGVSZWRpc3x8dC5lbmFibGVNYXJpYURCP3dgCiAgICAgICAgICAgICAgPGRpdiBzdHlsZT0ibWFyZ2luLXRvcDogMTJweDsgZm9udC1zaXplOiAxM3B4OyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNSwgI2ExYTFhYSk7Ij4KICAgICAgICAgICAgICAgIFBsYXRmb3JtIFNlcnZpY2VzOgogICAgICAgICAgICAgICAgJHt0LmVuYWJsZU1vbmdvREI/d2A8c3BhbiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA4cHg7Ij5Nb25nb0RCPC9zcGFuPmA6IiJ9CiAgICAgICAgICAgICAgICAke3QuZW5hYmxlUzM/d2A8c3BhbiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA4cHg7Ij5TMzwvc3Bhbj5gOiIifQogICAgICAgICAgICAgICAgJHt0LmVuYWJsZUNsaWNrSG91c2U/d2A8c3BhbiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA4cHg7Ij5DbGlja0hvdXNlPC9zcGFuPmA6IiJ9CiAgICAgICAgICAgICAgICAke3QuZW5hYmxlUmVkaXM/d2A8c3BhbiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA4cHg7Ij5SZWRpczwvc3Bhbj5gOiIifQogICAgICAgICAgICAgICAgJHt0LmVuYWJsZU1hcmlhREI/d2A8c3BhbiBzdHlsZT0ibWFyZ2luLXJpZ2h0OiA4cHg7Ij5NYXJpYURCPC9zcGFuPmA6IiJ9CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIGA6IiJ9CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGZsZXg7IGdhcDogMTJweDsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsiPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkZXBsb3ktYnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOyBjb2xvcjogaW5oZXJpdDsiIEBjbGljaz0keygpPT57dGhpcy5wZW5kaW5nVGVtcGxhdGU9bnVsbCx0aGlzLmN1cnJlbnRWaWV3PSJsaXN0In19PkNhbmNlbDwvYnV0dG9uPgogICAgICAgICAgICA8YnV0dG9uIGNsYXNzPSJkZXBsb3ktYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5kZXBsb3lGcm9tVGVtcGxhdGUodCl9PkRlcGxveSAke3QubmFtZX08L2J1dHRvbj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICBgfXJldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+Q3JlYXRlIFNlcnZpY2U8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otc2VydmljZS1jcmVhdGUtdmlldwogICAgICAgIC5yZWdpc3RyaWVzPSR7W119CiAgICAgICAgQGNyZWF0ZS1zZXJ2aWNlPSR7YXN5bmMgdD0+e2xldCByPXQuZGV0YWlsLGk9e25hbWU6ci5uYW1lLGltYWdlOnIuaW1hZ2UscG9ydDpyLnBvcnRzPy5bMF0/LmNvbnRhaW5lclBvcnQ/cGFyc2VJbnQoci5wb3J0c1swXS5jb250YWluZXJQb3J0LDEwKTo4MCxlbnZWYXJzOnIuZW52VmFycz8ucmVkdWNlKChvLG4pPT4obi5rZXkmJihvW24ua2V5XT1uLnZhbHVlKSxvKSx7fSksZW5hYmxlTW9uZ29EQjpyLmVuYWJsZU1vbmdvREJ8fCExLGVuYWJsZVMzOnIuZW5hYmxlUzN8fCExLGVuYWJsZUNsaWNrSG91c2U6ci5lbmFibGVDbGlja0hvdXNlfHwhMSxlbmFibGVSZWRpczpyLmVuYWJsZVJlZGlzfHwhMSxlbmFibGVNYXJpYURCOnIuZW5hYmxlTWFyaWFEQnx8ITF9O2F3YWl0IFR0LmRpc3BhdGNoQWN0aW9uKFJHLHtjb25maWc6aX0pLHRoaXMuY3VycmVudFZpZXc9Imxpc3QifX0KICAgICAgICBAY2FuY2VsPSR7KCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJsaXN0In19CiAgICAgID48L3N6LXNlcnZpY2UtY3JlYXRlLXZpZXc+CiAgICBgfXJlbmRlckRldGFpbFZpZXcoKXtsZXQgdD10aGlzLnNlcnZpY2VzU3RhdGUuY3VycmVudFNlcnZpY2Uscj10P2tGYSh0KTpudWxsLGk9dGhpcy5zZXJ2aWNlc1N0YXRlLmN1cnJlbnRTZXJ2aWNlU3RhdHM/U0ZhKHRoaXMuc2VydmljZXNTdGF0ZS5jdXJyZW50U2VydmljZVN0YXRzKTpDRmEsbz16RmEodGhpcy5zZXJ2aWNlc1N0YXRlLmN1cnJlbnRTZXJ2aWNlTG9ncyksbj10P3RoaXMuYXBwU3RvcmVTdGF0ZS51cGdyYWRlYWJsZVNlcnZpY2VzLmZpbmQobD0+bC5zZXJ2aWNlTmFtZT09PXQubmFtZSk6bnVsbDtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPlNlcnZpY2UgRGV0YWlsczwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgICR7bj93YAogICAgICAgIDxkaXYgc3R5bGU9IgogICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMSksIHJnYmEoMTM5LCA5MiwgMjQ2LCAwLjEpKTsKICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjMpOwogICAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgICAgcGFkZGluZzogMTZweDsKICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICAgICAgICBkaXNwbGF5OiBmbGV4OwogICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICAiPgogICAgICAgICAgPGRpdj4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxNHB4OyBmb250LXdlaWdodDogNjAwOyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNywgI2U0ZTRlNyk7Ij4KICAgICAgICAgICAgICBVcGRhdGUgYXZhaWxhYmxlOiB2JHtuLmN1cnJlbnRWZXJzaW9ufSAmcmFycjsgdiR7bi5sYXRlc3RWZXJzaW9ufQogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOiAxMnB4OyBjb2xvcjogdmFyKC0tY2ktc2hhZGUtNCwgIzcxNzE3YSk7IG1hcmdpbi10b3A6IDRweDsiPgogICAgICAgICAgICAgICR7bi5oYXNNaWdyYXRpb24/Ik1pZ3JhdGlvbiBzY3JpcHQgYXZhaWxhYmxlIjoiQ29uZmlnLW9ubHkgdXBncmFkZSJ9CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8YnV0dG9uCiAgICAgICAgICAgIGNsYXNzPSJkZXBsb3ktYnV0dG9uIgogICAgICAgICAgICBzdHlsZT0icGFkZGluZzogOHB4IDE2cHg7IGZvbnQtc2l6ZTogMTNweDsiCiAgICAgICAgICAgIEBjbGljaz0ke2FzeW5jKCk9Pnthd2FpdCB1bC5kaXNwYXRjaEFjdGlvbihNNWEse3NlcnZpY2VOYW1lOm4uc2VydmljZU5hbWUsdGFyZ2V0VmVyc2lvbjpuLmxhdGVzdFZlcnNpb259KSxUdC5kaXNwYXRjaEFjdGlvbihLZXQse25hbWU6bi5zZXJ2aWNlTmFtZX0pLFR0LmRpc3BhdGNoQWN0aW9uKE5HLG51bGwpfX0KICAgICAgICAgID5VcGdyYWRlPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIGA6IiJ9CiAgICAgIDxzei1zZXJ2aWNlLWRldGFpbC12aWV3CiAgICAgICAgLnNlcnZpY2U9JHtyfQogICAgICAgIC5sb2dzPSR7b30KICAgICAgICAuc3RhdHM9JHtpfQogICAgICAgIEBiYWNrPSR7KCk9Pnt0aGlzLmN1cnJlbnRWaWV3PSJsaXN0In19CiAgICAgICAgQHNlcnZpY2UtYWN0aW9uPSR7bD0+dGhpcy5oYW5kbGVTZXJ2aWNlQWN0aW9uKGwpfQogICAgICAgIEByZXF1ZXN0LXdvcmtzcGFjZT0ke2FzeW5jIGw9PntsZXQgZD1sLmRldGFpbD8uc2VydmljZT8ubmFtZXx8dGhpcy5zZWxlY3RlZFNlcnZpY2VOYW1lLGM9YnMuZ2V0U3RhdGUoKS5pZGVudGl0eTtpZighKCFkfHwhYykpdHJ5e2xldCBwPW5ldyBWaWUoZCxjKTthd2FpdCBwLmluaXQoKTtsZXQgdT10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoInN6LXNlcnZpY2UtZGV0YWlsLXZpZXciKTt1JiYodS53b3Jrc3BhY2VFbnZpcm9ubWVudD1wKSx0aGlzLndvcmtzcGFjZU9wZW49ITAsdGhpcy5jbGFzc0xpc3QuYWRkKCJ3b3Jrc3BhY2UtbW9kZSIpfWNhdGNoKHApe2NvbnNvbGUuZXJyb3IoIkZhaWxlZCB0byBvcGVuIHdvcmtzcGFjZToiLHApfX19CiAgICAgICAgQGJhY2s9JHsoKT0+e3RoaXMud29ya3NwYWNlT3Blbj0hMSx0aGlzLmNsYXNzTGlzdC5yZW1vdmUoIndvcmtzcGFjZS1tb2RlIiksdGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9fQogICAgICA+PC9zei1zZXJ2aWNlLWRldGFpbC12aWV3PgogICAgYH1yZW5kZXJCYWNrdXBzVmlldygpe3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+QmFja3Vwczwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxzei1zZXJ2aWNlcy1iYWNrdXBzLXZpZXcKICAgICAgICAuc2NoZWR1bGVzPSR7dGhpcy5iYWNrdXBzU3RhdGUuc2NoZWR1bGVzfQogICAgICAgIC5iYWNrdXBzPSR7dGhpcy5iYWNrdXBzU3RhdGUuYmFja3Vwc30KICAgICAgICBAY3JlYXRlLXNjaGVkdWxlPSR7dD0+e3QyLmRpc3BhdGNoQWN0aW9uKHY1YSx7Y29uZmlnOnQuZGV0YWlsfSl9fQogICAgICAgIEBydW4tbm93PSR7dD0+e3QyLmRpc3BhdGNoQWN0aW9uKHg1YSx7c2NoZWR1bGVJZDp0LmRldGFpbC5zY2hlZHVsZUlkfSl9fQogICAgICAgIEBkZWxldGUtYmFja3VwPSR7dD0+e3QyLmRpc3BhdGNoQWN0aW9uKGI1YSx7YmFja3VwSWQ6dC5kZXRhaWwuYmFja3VwSWR9KX19CiAgICAgID48L3N6LXNlcnZpY2VzLWJhY2t1cHMtdmlldz4KICAgIGB9bmF2aWdhdGVUb1BsYXRmb3JtRGV0YWlsKHQpe3RoaXMuY3VycmVudFZpZXc9Imxpc3QiLHRoaXMuc2VsZWN0ZWRQbGF0Zm9ybVR5cGU9dCxUdC5zZXRTdGF0ZSh7Li4uVHQuZ2V0U3RhdGUoKSxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlU3RhdHM6bnVsbCxjdXJyZW50UGxhdGZvcm1TZXJ2aWNlTG9nczpbXX0pO2xldCByPXQ7VHQuZGlzcGF0Y2hBY3Rpb24oRmllLHtzZXJ2aWNlVHlwZTpyfSksVHQuZGlzcGF0Y2hBY3Rpb24oZDVhLHtzZXJ2aWNlVHlwZTpyfSkscmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpPT57dGhpcy5jdXJyZW50Vmlldz0icGxhdGZvcm0tZGV0YWlsIn0pfXJlbmRlclBsYXRmb3JtRGV0YWlsVmlldygpe2xldCB0PXRoaXMuc2VydmljZXNTdGF0ZS5wbGF0Zm9ybVNlcnZpY2VzLmZpbmQoZD0+ZC50eXBlPT09dGhpcy5zZWxlY3RlZFBsYXRmb3JtVHlwZSkscj10aGlzLnNlcnZpY2VzU3RhdGUuY3VycmVudFBsYXRmb3JtU2VydmljZVN0YXRzLGk9e2NwdTpyP01hdGgucm91bmQoci5jcHVQZXJjZW50KTowLG1lbW9yeTpyP01hdGgucm91bmQoci5tZW1vcnlQZXJjZW50KTowLHN0b3JhZ2U6MCxjb25uZWN0aW9uczp2b2lkIDB9LG49dD97bW9uZ29kYjp7aG9zdDoib25lYm94LW1vbmdvZGIiLHBvcnQ6MjcwMTcsdmVyc2lvbjoiNC40Iixjb25maWc6e2VuZ2luZToiV2lyZWRUaWdlciIsYXV0aEVuYWJsZWQ6ITB9fSxtaW5pbzp7aG9zdDoib25lYm94LW1pbmlvIixwb3J0OjllMyx2ZXJzaW9uOiJsYXRlc3QiLGNvbmZpZzp7Y29uc29sZVBvcnQ6OTAwMSxyZWdpb246InVzLWVhc3QtMSJ9fSxjbGlja2hvdXNlOntob3N0OiJvbmVib3gtY2xpY2tob3VzZSIscG9ydDo4MTIzLHZlcnNpb246ImxhdGVzdCIsY29uZmlnOntuYXRpdmVQb3J0OjllMyxodHRwUG9ydDo4MTIzfX0sc21hcnRwcm94eTp7aG9zdDoib25lYm94LXNtYXJ0cHJveHkiLHBvcnQ6ODAsdmVyc2lvbjoibGF0ZXN0Iixjb25maWc6e2h0dHBzUG9ydDo0NDMsYWRtaW5BcGk6MjAxOX19LG1hcmlhZGI6e2hvc3Q6Im9uZWJveC1tYXJpYWRiIixwb3J0OjMzMDYsdmVyc2lvbjoiMTEiLGNvbmZpZzp7ZW5naW5lOiJJbm5vREIiLGF1dGhFbmFibGVkOiEwfX0scmVkaXM6e2hvc3Q6Im9uZWJveC1yZWRpcyIscG9ydDo2Mzc5LHZlcnNpb246IjctYWxwaW5lIixjb25maWc6e2FwcGVuZG9ubHk6ITAsbWF4RGF0YWJhc2VzOjE2fX19W3QudHlwZV18fHtob3N0OiJ1bmtub3duIixwb3J0OjAsdmVyc2lvbjoiIixjb25maWc6e319Ontob3N0OiIiLHBvcnQ6MCx2ZXJzaW9uOiIiLGNvbmZpZzp7fX0sbD1zKGQ9Pntzd2l0Y2goZCl7Y2FzZSJydW5uaW5nIjpyZXR1cm4icnVubmluZyI7Y2FzZSJmYWlsZWQiOnJldHVybiJlcnJvciI7ZGVmYXVsdDpyZXR1cm4ic3RvcHBlZCJ9fSwibWFwUGxhdGZvcm1TdGF0dXMiKTtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPlBsYXRmb3JtIFNlcnZpY2U8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8ZGl2IGNsYXNzPSJwYWdlLWFjdGlvbnMiIHN0eWxlPSJqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7Ij4KICAgICAgICA8YnV0dG9uIGNsYXNzPSJkZXBsb3ktYnV0dG9uIiBzdHlsZT0iYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNpLXNoYWRlLTIsICMyNzI3MmEpOyBjb2xvcjogaW5oZXJpdDsiIEBjbGljaz0keygpPT57dGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9fT4KICAgICAgICAgICZsYXJyOyBCYWNrIHRvIFNlcnZpY2VzCiAgICAgICAgPC9idXR0b24+CiAgICAgIDwvZGl2PgogICAgICA8c3otcGxhdGZvcm0tc2VydmljZS1kZXRhaWwtdmlldwogICAgICAgIC5zZXJ2aWNlPSR7dD97aWQ6dC50eXBlLG5hbWU6dC5kaXNwbGF5TmFtZSx0eXBlOnQudHlwZSxzdGF0dXM6bCh0LnN0YXR1cyksdmVyc2lvbjpuLnZlcnNpb24saG9zdDpuLmhvc3QscG9ydDpuLnBvcnQsY29uZmlnOm4uY29uZmlnLG1ldHJpY3M6aX06bnVsbH0KICAgICAgICAubG9ncz0ke3RoaXMuc2VydmljZXNTdGF0ZS5jdXJyZW50UGxhdGZvcm1TZXJ2aWNlTG9ncy5tYXAoZD0+KHt0aW1lc3RhbXA6bmV3IERhdGUoZC50aW1lc3RhbXApLnRvSVNPU3RyaW5nKCksbGV2ZWw6ZC5sZXZlbCxtZXNzYWdlOmQubWVzc2FnZX0pKX0KICAgICAgICBAYmFjaz0keygpPT57dGhpcy5jdXJyZW50Vmlldz0ibGlzdCJ9fQogICAgICAgIEBzdGFydD0ke2FzeW5jKCk9Pnthd2FpdCBUdC5kaXNwYXRjaEFjdGlvbihaZXQse3NlcnZpY2VUeXBlOnRoaXMuc2VsZWN0ZWRQbGF0Zm9ybVR5cGV9KSxUdC5kaXNwYXRjaEFjdGlvbihGaWUse3NlcnZpY2VUeXBlOnRoaXMuc2VsZWN0ZWRQbGF0Zm9ybVR5cGV9KX19CiAgICAgICAgQHN0b3A9JHthc3luYygpPT57YXdhaXQgVHQuZGlzcGF0Y2hBY3Rpb24oWGV0LHtzZXJ2aWNlVHlwZTp0aGlzLnNlbGVjdGVkUGxhdGZvcm1UeXBlfSl9fQogICAgICAgIEByZXN0YXJ0PSR7YXN5bmMoKT0+e2F3YWl0IFR0LmRpc3BhdGNoQWN0aW9uKFhldCx7c2VydmljZVR5cGU6dGhpcy5zZWxlY3RlZFBsYXRmb3JtVHlwZX0pLGF3YWl0IFR0LmRpc3BhdGNoQWN0aW9uKFpldCx7c2VydmljZVR5cGU6dGhpcy5zZWxlY3RlZFBsYXRmb3JtVHlwZX0pLFR0LmRpc3BhdGNoQWN0aW9uKEZpZSx7c2VydmljZVR5cGU6dGhpcy5zZWxlY3RlZFBsYXRmb3JtVHlwZX0pfX0KICAgICAgPjwvc3otcGxhdGZvcm0tc2VydmljZS1kZXRhaWwtdmlldz4KICAgIGB9YXN5bmMgaGFuZGxlU2VydmljZUFjdGlvbih0KXtsZXQgcj10LmRldGFpbC5hY3Rpb24saT10LmRldGFpbC5zZXJ2aWNlPy5uYW1lfHx0LmRldGFpbC5uYW1lfHx0aGlzLnNlbGVjdGVkU2VydmljZU5hbWU7c3dpdGNoKHIpe2Nhc2Uic3RhcnQiOmF3YWl0IFR0LmRpc3BhdGNoQWN0aW9uKGk1YSx7bmFtZTppfSk7YnJlYWs7Y2FzZSJzdG9wIjphd2FpdCBUdC5kaXNwYXRjaEFjdGlvbihvNWEse25hbWU6aX0pO2JyZWFrO2Nhc2UicmVzdGFydCI6YXdhaXQgVHQuZGlzcGF0Y2hBY3Rpb24objVhLHtuYW1lOml9KTticmVhaztjYXNlImRlbGV0ZSI6YXdhaXQgVHQuZGlzcGF0Y2hBY3Rpb24oczVhLHtuYW1lOml9KSx0aGlzLmN1cnJlbnRWaWV3PSJsaXN0IjticmVha319fTtpcj1JcyhlaGEpLHl0dD1uZXcgV2Vha01hcCx3dHQ9bmV3IFdlYWtNYXAsTXR0PW5ldyBXZWFrTWFwLGt0dD1uZXcgV2Vha01hcCxTdHQ9bmV3IFdlYWtNYXAsenR0PW5ldyBXZWFrTWFwLEN0dD1uZXcgV2Vha01hcCxfdHQ9bmV3IFdlYWtNYXAsRXQoaXIsNCwic2VydmljZXNTdGF0ZSIsSjVhLHBvLHl0dCksRXQoaXIsNCwiYmFja3Vwc1N0YXRlIixRNWEscG8sd3R0KSxFdChpciw0LCJjdXJyZW50VmlldyIsWDVhLHBvLE10dCksRXQoaXIsNCwic2VsZWN0ZWRTZXJ2aWNlTmFtZSIsWjVhLHBvLGt0dCksRXQoaXIsNCwic2VsZWN0ZWRQbGF0Zm9ybVR5cGUiLEs1YSxwbyxTdHQpLEV0KGlyLDQsIndvcmtzcGFjZU9wZW4iLFk1YSxwbyx6dHQpLEV0KGlyLDQsInBlbmRpbmdUZW1wbGF0ZSIsRzVhLHBvLEN0dCksRXQoaXIsNCwiYXBwU3RvcmVTdGF0ZSIsVzVhLHBvLF90dCkscG89RXQoaXIsMCwiT2JWaWV3U2VydmljZXMiLHRoYSxwbykscyhwbywiT2JWaWV3U2VydmljZXMiKSxOcyhwbywic3R5bGVzIixbaC5kZWZhdWx0U3R5bGVzLE5vLFFgCiAgICAgIC5wYWdlLWFjdGlvbnMgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgICB9CgogICAgICAuZGVwbG95LWJ1dHRvbiB7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgICAgICBnYXA6IDhweDsKICAgICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7CiAgICAgICAgYmFja2dyb3VuZDogJHtoLmJkVGhlbWUoIiMxODE4MWIiLCIjZmFmYWZhIil9OwogICAgICAgIGNvbG9yOiAke2guYmRUaGVtZSgiI2ZhZmFmYSIsIiMxODE4MWIiKX07CiAgICAgICAgYm9yZGVyOiBub25lOwogICAgICAgIGJvcmRlci1yYWRpdXM6IDZweDsKICAgICAgICBmb250LXNpemU6IDE0cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgICAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAyMDBtcyBlYXNlOwogICAgICB9CgogICAgICAuZGVwbG95LWJ1dHRvbjpob3ZlciB7CiAgICAgICAgb3BhY2l0eTogMC45OwogICAgICB9CgogICAgICAuZGVwbG95LWJ1dHRvbiBzdmcgewogICAgICAgIHdpZHRoOiAxNnB4OwogICAgICAgIGhlaWdodDogMTZweDsKICAgICAgfQoKICAgICAgOmhvc3QoLndvcmtzcGFjZS1tb2RlKSB7CiAgICAgICAgbWF4LXdpZHRoOiBub25lOwogICAgICAgIHBhZGRpbmc6IDA7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgICAgfQoKICAgICAgOmhvc3QoLndvcmtzcGFjZS1tb2RlKSBvYi1zZWN0aW9uaGVhZGluZyB7CiAgICAgICAgZGlzcGxheTogbm9uZTsKICAgICAgfQogICAgYF0pLFhlKGlyLDEscG8pO1R0dD1wb30pO3ZhciBsaGE9e307bHQobGhhLHtPYlZpZXdOZXR3b3JrOigpPT5FdHR9KTt2YXIgcmhhLHNoYSxpaGEsb2hhLG5oYSxZbiwkdHQsRHR0LEF0dCxobCxFdHQsUHR0PWYoYXN5bmMoKT0+e2RuKCk7V2MoKTthd2FpdCBwbCgpO2xlKCk7bmhhPVtpZSgib2Itdmlldy1uZXR3b3JrIildO2hsPWNsYXNzIGhsIGV4dGVuZHMob2hhPXBlLGloYT1bSygpXSxzaGE9W0soKV0scmhhPVtLKCldLG9oYSl7Y29uc3RydWN0b3IoKXtzdXBlcigpO0d0KHRoaXMsJHR0LFhlKFluLDgsdGhpcyx7dGFyZ2V0czpbXSxzdGF0czpudWxsLHRyYWZmaWNTdGF0czpudWxsLGRuc1JlY29yZHM6W10sZG9tYWluczpbXSxjZXJ0aWZpY2F0ZXM6W119KSksWGUoWW4sMTEsdGhpcyk7R3QodGhpcyxEdHQsWGUoWW4sMTIsdGhpcywicHJveHkiKSksWGUoWW4sMTUsdGhpcyk7R3QodGhpcyxBdHQsWGUoWW4sMTYsdGhpcywiIikpLFhlKFluLDE5LHRoaXMpO2xldCB0PXZyLnNlbGVjdChyPT5yKS5zdWJzY3JpYmUocj0+e3RoaXMubmV0d29ya1N0YXRlPXJ9KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKHQpfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCBQcm9taXNlLmFsbChbdnIuZGlzcGF0Y2hBY3Rpb24oUWV0LG51bGwpLHZyLmRpc3BhdGNoQWN0aW9uKE9HLG51bGwpLHZyLmRpc3BhdGNoQWN0aW9uKHU1YSxudWxsKSx2ci5kaXNwYXRjaEFjdGlvbihwNWEsbnVsbCksdnIuZGlzcGF0Y2hBY3Rpb24oSmV0LG51bGwpLHZyLmRpc3BhdGNoQWN0aW9uKEJpZSxudWxsKV0pfXJlbmRlcigpe3N3aXRjaCh0aGlzLmN1cnJlbnRUYWIpe2Nhc2UiZG5zIjpyZXR1cm4gdGhpcy5yZW5kZXJEbnNWaWV3KCk7Y2FzZSJkb21haW5zIjpyZXR1cm4gdGhpcy5yZW5kZXJEb21haW5zVmlldygpO2Nhc2UiZG9tYWluLWRldGFpbCI6cmV0dXJuIHRoaXMucmVuZGVyRG9tYWluRGV0YWlsVmlldygpO2RlZmF1bHQ6cmV0dXJuIHRoaXMucmVuZGVyUHJveHlWaWV3KCl9fXJlbmRlclByb3h5Vmlldygpe2xldCB0PXRoaXMubmV0d29ya1N0YXRlLnN0YXRzO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+TmV0d29yazwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxzei1uZXR3b3JrLXByb3h5LXZpZXcKICAgICAgICAucHJveHlTdGF0dXM9JHt0Py5wcm94eT8ucnVubmluZz8icnVubmluZyI6InN0b3BwZWQifQogICAgICAgIC5yb3V0ZUNvdW50PSR7U3RyaW5nKHQ/LnByb3h5Py5yb3V0ZXN8fDApfQogICAgICAgIC5jZXJ0aWZpY2F0ZUNvdW50PSR7U3RyaW5nKHQ/LnByb3h5Py5jZXJ0aWZpY2F0ZXN8fDApfQogICAgICAgIC50YXJnZXRDb3VudD0ke1N0cmluZyh0aGlzLm5ldHdvcmtTdGF0ZS50YXJnZXRzLmxlbmd0aCl9CiAgICAgICAgLnRhcmdldHM9JHt0aGlzLm5ldHdvcmtTdGF0ZS50YXJnZXRzLm1hcChyPT4oe3R5cGU6ci50eXBlLG5hbWU6ci5uYW1lLGRvbWFpbjpyLmRvbWFpbix0YXJnZXQ6YCR7ci50YXJnZXRIb3N0fToke3IudGFyZ2V0UG9ydH1gLHN0YXR1czpyLnN0YXR1c30pKX0KICAgICAgICAubG9ncz0ke1tdfQogICAgICAgIEByZWZyZXNoPSR7KCk9Pnt2ci5kaXNwYXRjaEFjdGlvbihRZXQsbnVsbCksdnIuZGlzcGF0Y2hBY3Rpb24oT0csbnVsbCl9fQogICAgICA+PC9zei1uZXR3b3JrLXByb3h5LXZpZXc+CiAgICBgfXJlbmRlckRuc1ZpZXcoKXtyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkROUyBSZWNvcmRzPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LW5ldHdvcmstZG5zLXZpZXcKICAgICAgICAucmVjb3Jkcz0ke3RoaXMubmV0d29ya1N0YXRlLmRuc1JlY29yZHN9CiAgICAgICAgQHN5bmM9JHsoKT0+e3ZyLmRpc3BhdGNoQWN0aW9uKGY1YSxudWxsKX19CiAgICAgICAgQGRlbGV0ZT0ke3Q9Pntjb25zb2xlLmxvZygiRGVsZXRlIEROUyByZWNvcmQ6Iix0LmRldGFpbCl9fQogICAgICA+PC9zei1uZXR3b3JrLWRucy12aWV3PgogICAgYH1yZW5kZXJEb21haW5zVmlldygpe2xldCB0PXRoaXMubmV0d29ya1N0YXRlLmNlcnRpZmljYXRlcztyZXR1cm4gd2AKICAgICAgPG9iLXNlY3Rpb25oZWFkaW5nPkRvbWFpbnM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otbmV0d29yay1kb21haW5zLXZpZXcKICAgICAgICAuZG9tYWlucz0ke3RoaXMubmV0d29ya1N0YXRlLmRvbWFpbnMubWFwKHI9PntsZXQgaT10LmZpbmQobj0+bi5jZXJ0RG9tYWluPT09ci5kb21haW4pLG89InBlbmRpbmciO3JldHVybiBpJiYoaS5pc1ZhbGlkP2kuZXhwaXJlc0F0JiZpLmV4cGlyZXNBdC1EYXRlLm5vdygpPDcyMCo2MCo2MCoxZTM/bz0iZXhwaXJpbmciOm89InZhbGlkIjpvPSJleHBpcmVkIikse2RvbWFpbjpyLmRvbWFpbixwcm92aWRlcjoiY2xvdWRmbGFyZSIsc2VydmljZUNvdW50OnIuc2VydmljZXM/Lmxlbmd0aHx8MCxjZXJ0aWZpY2F0ZVN0YXR1czpvfX0pfQogICAgICAgIEBzeW5jPSR7KCk9Pnt2ci5kaXNwYXRjaEFjdGlvbihKZXQsbnVsbCl9fQogICAgICAgIEB2aWV3PSR7cj0+e3RoaXMuc2VsZWN0ZWREb21haW49ci5kZXRhaWwuZG9tYWlufHxyLmRldGFpbCx0aGlzLmN1cnJlbnRUYWI9ImRvbWFpbi1kZXRhaWwifX0KICAgICAgPjwvc3otbmV0d29yay1kb21haW5zLXZpZXc+CiAgICBgfXJlbmRlckRvbWFpbkRldGFpbFZpZXcoKXtsZXQgdD10aGlzLm5ldHdvcmtTdGF0ZS5kb21haW5zLmZpbmQoaT0+aS5kb21haW49PT10aGlzLnNlbGVjdGVkRG9tYWluKSxyPXRoaXMubmV0d29ya1N0YXRlLmNlcnRpZmljYXRlcy5maW5kKGk9PmkuY2VydERvbWFpbj09PXRoaXMuc2VsZWN0ZWREb21haW4pO3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+RG9tYWluIERldGFpbHM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otZG9tYWluLWRldGFpbC12aWV3CiAgICAgICAgLmRvbWFpbj0ke3Q/e2lkOnRoaXMuc2VsZWN0ZWREb21haW4sbmFtZTp0aGlzLnNlbGVjdGVkRG9tYWluLHN0YXR1czoiYWN0aXZlIix2ZXJpZmllZDohMCxjcmVhdGVkQXQ6IiJ9Om51bGx9CiAgICAgICAgLmNlcnRpZmljYXRlPSR7cj97aWQ6ci5kb21haW5JZCxkb21haW46ci5jZXJ0RG9tYWluLGlzc3VlcjoiTGV0J3MgRW5jcnlwdCIsdmFsaWRGcm9tOnIuaXNzdWVkQXQ/bmV3IERhdGUoci5pc3N1ZWRBdCkudG9JU09TdHJpbmcoKToiIix2YWxpZFVudGlsOnIuZXhwaXJlc0F0P25ldyBEYXRlKHIuZXhwaXJlc0F0KS50b0lTT1N0cmluZygpOiIiLGRheXNSZW1haW5pbmc6ci5leHBpcmVzQXQ/TWF0aC5mbG9vcigoci5leHBpcmVzQXQtRGF0ZS5ub3coKSkvKDE0NDAqNjAqMWUzKSk6MCxzdGF0dXM6ci5pc1ZhbGlkPyJ2YWxpZCI6ImV4cGlyZWQiLGF1dG9SZW5ldzohMH06bnVsbH0KICAgICAgICAuZG5zUmVjb3Jkcz0ke3RoaXMubmV0d29ya1N0YXRlLmRuc1JlY29yZHMuZmlsdGVyKGk9PmkuZG9tYWluPy5pbmNsdWRlcyh0aGlzLnNlbGVjdGVkRG9tYWluKSkubWFwKGk9Pih7aWQ6aS5pZHx8IiIsdHlwZTppLnR5cGUsbmFtZTppLmRvbWFpbix2YWx1ZTppLnZhbHVlLHR0bDozNjAwfSkpfQogICAgICAgIEByZW5ldy1jZXJ0aWZpY2F0ZT0keygpPT57dnIuZGlzcGF0Y2hBY3Rpb24oaDVhLHtkb21haW46dGhpcy5zZWxlY3RlZERvbWFpbn0pfX0KICAgICAgPjwvc3otZG9tYWluLWRldGFpbC12aWV3PgogICAgYH19O1luPUlzKG9oYSksJHR0PW5ldyBXZWFrTWFwLER0dD1uZXcgV2Vha01hcCxBdHQ9bmV3IFdlYWtNYXAsRXQoWW4sNCwibmV0d29ya1N0YXRlIixpaGEsaGwsJHR0KSxFdChZbiw0LCJjdXJyZW50VGFiIixzaGEsaGwsRHR0KSxFdChZbiw0LCJzZWxlY3RlZERvbWFpbiIscmhhLGhsLEF0dCksaGw9RXQoWW4sMCwiT2JWaWV3TmV0d29yayIsbmhhLGhsKSxzKGhsLCJPYlZpZXdOZXR3b3JrIiksTnMoaGwsInN0eWxlcyIsW2guZGVmYXVsdFN0eWxlcyxObyxRYGBdKSxYZShZbiwxLGhsKTtFdHQ9aGx9KTt2YXIgZmhhPXt9O2x0KGZoYSx7T2JWaWV3UmVnaXN0cmllczooKT0+UnR0fSk7dmFyIGNoYSxkaGEsdWhhLHBoYSxaYyxJdHQsTnR0LFhjLFJ0dCxPdHQ9Zihhc3luYygpPT57ZG4oKTtXYygpO2F3YWl0IHBsKCk7YXdhaXQgdzcoKTtsZSgpO3BoYT1baWUoIm9iLXZpZXctcmVnaXN0cmllcyIpXTtYYz1jbGFzcyBYYyBleHRlbmRzKHVoYT1wZSxkaGE9W0soKV0sY2hhPVtLKCldLHVoYSl7Y29uc3RydWN0b3IoKXtzdXBlcigpO0d0KHRoaXMsSXR0LFhlKFpjLDgsdGhpcyx7dG9rZW5zOltdLHJlZ2lzdHJ5U3RhdHVzOm51bGx9KSksWGUoWmMsMTEsdGhpcyk7R3QodGhpcyxOdHQsWGUoWmMsMTIsdGhpcywib25lYm94IikpLFhlKFpjLDE1LHRoaXMpO2xldCB0PWEyLnNlbGVjdChyPT5yKS5zdWJzY3JpYmUocj0+e3RoaXMucmVnaXN0cmllc1N0YXRlPXJ9KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKHQpfWFzeW5jIGNvbm5lY3RlZENhbGxiYWNrKCl7c3VwZXIuY29ubmVjdGVkQ2FsbGJhY2soKSxhd2FpdCBhMi5kaXNwYXRjaEFjdGlvbihIaWUsbnVsbCl9cmVuZGVyKCl7cmV0dXJuIHRoaXMuY3VycmVudFRhYj09PSJleHRlcm5hbCI/dGhpcy5yZW5kZXJFeHRlcm5hbFZpZXcoKTp0aGlzLnJlbmRlck9uZWJveFZpZXcoKX1yZW5kZXJPbmVib3hWaWV3KCl7cmV0dXJuIHdgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5SZWdpc3RyaWVzPC9vYi1zZWN0aW9uaGVhZGluZz4KICAgICAgPHN6LXJlZ2lzdHJ5LWFkdmVydGlzZW1lbnQKICAgICAgICAuc3RhdHVzPSR7InJ1bm5pbmcifQogICAgICAgIC5yZWdpc3RyeVVybD0keyJsb2NhbGhvc3Q6NTAwMCJ9CiAgICAgICAgQG1hbmFnZS10b2tlbnM9JHsoKT0+e1duLm5hdmlnYXRlVG9WaWV3KCJ0b2tlbnMiKX19CiAgICAgID48L3N6LXJlZ2lzdHJ5LWFkdmVydGlzZW1lbnQ+CiAgICBgfXJlbmRlckV4dGVybmFsVmlldygpe3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+RXh0ZXJuYWwgUmVnaXN0cmllczwvb2Itc2VjdGlvbmhlYWRpbmc+CiAgICAgIDxzei1yZWdpc3RyeS1leHRlcm5hbC12aWV3CiAgICAgICAgLnJlZ2lzdHJpZXM9JHtbXX0KICAgICAgICBAYWRkPSR7dD0+e2NvbnNvbGUubG9nKCJBZGQgZXh0ZXJuYWwgcmVnaXN0cnk6Iix0LmRldGFpbCl9fQogICAgICA+PC9zei1yZWdpc3RyeS1leHRlcm5hbC12aWV3PgogICAgYH19O1pjPUlzKHVoYSksSXR0PW5ldyBXZWFrTWFwLE50dD1uZXcgV2Vha01hcCxFdChaYyw0LCJyZWdpc3RyaWVzU3RhdGUiLGRoYSxYYyxJdHQpLEV0KFpjLDQsImN1cnJlbnRUYWIiLGNoYSxYYyxOdHQpLFhjPUV0KFpjLDAsIk9iVmlld1JlZ2lzdHJpZXMiLHBoYSxYYykscyhYYywiT2JWaWV3UmVnaXN0cmllcyIpLE5zKFhjLCJzdHlsZXMiLFtoLmRlZmF1bHRTdHlsZXMsTm8sUWBgXSksWGUoWmMsMSxYYyk7UnR0PVhjfSk7dmFyIGJoYT17fTtsdChiaGEse09iVmlld1Rva2VuczooKT0+QnR0fSk7dmFyIGhoYSxtaGEsZ2hhLE03LEZ0dCxYNCxCdHQsSHR0PWYoYXN5bmMoKT0+e2RuKCk7V2MoKTthd2FpdCBwbCgpO2xlKCk7Z2hhPVtpZSgib2Itdmlldy10b2tlbnMiKV07WDQ9Y2xhc3MgWDQgZXh0ZW5kcyhtaGE9cGUsaGhhPVtLKCldLG1oYSl7Y29uc3RydWN0b3IoKXtzdXBlcigpO0d0KHRoaXMsRnR0LFhlKE03LDgsdGhpcyx7dG9rZW5zOltdLHJlZ2lzdHJ5U3RhdHVzOm51bGx9KSksWGUoTTcsMTEsdGhpcyk7bGV0IHQ9YTIuc2VsZWN0KHI9PnIpLnN1YnNjcmliZShyPT57dGhpcy5yZWdpc3RyaWVzU3RhdGU9cn0pO3RoaXMucnhTdWJzY3JpcHRpb25zLnB1c2godCl9YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKXtzdXBlci5jb25uZWN0ZWRDYWxsYmFjaygpLGF3YWl0IGEyLmRpc3BhdGNoQWN0aW9uKEhpZSxudWxsKX1yZW5kZXIoKXtsZXQgdD10aGlzLnJlZ2lzdHJpZXNTdGF0ZS50b2tlbnMuZmlsdGVyKGk9PmkudHlwZT09PSJnbG9iYWwiKSxyPXRoaXMucmVnaXN0cmllc1N0YXRlLnRva2Vucy5maWx0ZXIoaT0+aS50eXBlPT09ImNpIik7cmV0dXJuIHdgCiAgICAgIDxvYi1zZWN0aW9uaGVhZGluZz5Ub2tlbnM8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICA8c3otdG9rZW5zLXZpZXcKICAgICAgICAuZ2xvYmFsVG9rZW5zPSR7dC5tYXAoaT0+KHtpZDppLmlkLG5hbWU6aS5uYW1lLHR5cGU6Imdsb2JhbCIsY3JlYXRlZEF0OmkuY3JlYXRlZEF0LGxhc3RVc2VkOmkubGFzdFVzZWR9KSl9CiAgICAgICAgLmNpVG9rZW5zPSR7ci5tYXAoaT0+KHtpZDppLmlkLG5hbWU6aS5uYW1lLHR5cGU6ImNpIixzZXJ2aWNlOmkuc2VydmljZSxjcmVhdGVkQXQ6aS5jcmVhdGVkQXQsbGFzdFVzZWQ6aS5sYXN0VXNlZH0pKX0KICAgICAgICBAY3JlYXRlPSR7aT0+e2EyLmRpc3BhdGNoQWN0aW9uKG01YSx7dG9rZW46e25hbWU6YG5ldy0ke2kuZGV0YWlsLnR5cGV9LXRva2VuYCx0eXBlOmkuZGV0YWlsLnR5cGUscGVybWlzc2lvbnM6WyJwdWxsIl19fSl9fQogICAgICAgIEBkZWxldGU9JHtpPT57YTIuZGlzcGF0Y2hBY3Rpb24oZzVhLHt0b2tlbklkOmkuZGV0YWlsLmlkfHxpLmRldGFpbC50b2tlbklkfSl9fQogICAgICA+PC9zei10b2tlbnMtdmlldz4KICAgIGB9fTtNNz1JcyhtaGEpLEZ0dD1uZXcgV2Vha01hcCxFdChNNyw0LCJyZWdpc3RyaWVzU3RhdGUiLGhoYSxYNCxGdHQpLFg0PUV0KE03LDAsIk9iVmlld1Rva2VucyIsZ2hhLFg0KSxzKFg0LCJPYlZpZXdUb2tlbnMiKSxOcyhYNCwic3R5bGVzIixbaC5kZWZhdWx0U3R5bGVzLE5vLFFgYF0pLFhlKE03LDEsWDQpO0J0dD1YNH0pO3ZhciBNaGE9e307bHQoTWhhLHtPYlZpZXdTZXR0aW5nczooKT0+anR0fSk7dmFyIHZoYSx4aGEseWhhLHdoYSxRYyxxdHQsVnR0LEpjLGp0dCxVdHQ9Zihhc3luYygpPT57ZG4oKTtXYygpO2F3YWl0IHBsKCk7bGUoKTt3aGE9W2llKCJvYi12aWV3LXNldHRpbmdzIildO0pjPWNsYXNzIEpjIGV4dGVuZHMoeWhhPXBlLHhoYT1bSygpXSx2aGE9W0soKV0seWhhKXtjb25zdHJ1Y3Rvcigpe3N1cGVyKCk7R3QodGhpcyxxdHQsWGUoUWMsOCx0aGlzLHtzZXR0aW5nczpudWxsLGJhY2t1cFBhc3N3b3JkQ29uZmlndXJlZDohMX0pKSxYZShRYywxMSx0aGlzKTtHdCh0aGlzLFZ0dCxYZShRYywxMix0aGlzLHtpZGVudGl0eTpudWxsLGlzTG9nZ2VkSW46ITF9KSksWGUoUWMsMTUsdGhpcyk7bGV0IHQ9ZGwuc2VsZWN0KGk9PmkpLnN1YnNjcmliZShpPT57dGhpcy5zZXR0aW5nc1N0YXRlPWl9KTt0aGlzLnJ4U3Vic2NyaXB0aW9ucy5wdXNoKHQpO2xldCByPWJzLnNlbGVjdChpPT5pKS5zdWJzY3JpYmUoaT0+e3RoaXMubG9naW5TdGF0ZT1pfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChyKX1hc3luYyBjb25uZWN0ZWRDYWxsYmFjaygpe3N1cGVyLmNvbm5lY3RlZENhbGxiYWNrKCksYXdhaXQgZGwuZGlzcGF0Y2hBY3Rpb24oZXR0LG51bGwpfXJlbmRlcigpe3JldHVybiB3YAogICAgICA8b2Itc2VjdGlvbmhlYWRpbmc+U2V0dGluZ3M8L29iLXNlY3Rpb25oZWFkaW5nPgogICAgICAke3RoaXMucmVuZGVyRXh0ZXJuYWxHYXRld2F5U2V0dGluZ3MoKX0KICAgICAgPHN6LXNldHRpbmdzLXZpZXcKICAgICAgICAuc2V0dGluZ3M9JHt0aGlzLnNldHRpbmdzU3RhdGUuc2V0dGluZ3N8fHtkYXJrTW9kZTohMCxjbG91ZGZsYXJlVG9rZW46IiIsY2xvdWRmbGFyZVpvbmVJZDoiIixhdXRvUmVuZXdDZXJ0czohMSxyZW5ld2FsVGhyZXNob2xkOjMwLGFjbWVFbWFpbDoiIixodHRwUG9ydDo4MCxodHRwc1BvcnQ6NDQzLGZvcmNlSHR0cHM6ITF9fQogICAgICAgIC5jdXJyZW50VXNlcj0ke3RoaXMubG9naW5TdGF0ZS5pZGVudGl0eT8udXNlcm5hbWV8fCJhZG1pbiJ9CiAgICAgICAgQHNldHRpbmctY2hhbmdlPSR7dD0+e2xldHtrZXk6cix2YWx1ZTppfT10LmRldGFpbDtkbC5kaXNwYXRjaEFjdGlvbihxaWUse3NldHRpbmdzOntbcl06aX19KX19CiAgICAgICAgQHNhdmU9JHt0PT57ZGwuZGlzcGF0Y2hBY3Rpb24ocWllLHtzZXR0aW5nczp0LmRldGFpbH0pfX0KICAgICAgICBAY2hhbmdlLXBhc3N3b3JkPSR7dD0+e2NvbnNvbGUubG9nKCJDaGFuZ2UgcGFzc3dvcmQgcmVxdWVzdGVkOiIsdC5kZXRhaWwpfX0KICAgICAgICBAcmVzZXQ9JHsoKT0+e2RsLmRpc3BhdGNoQWN0aW9uKGV0dCxudWxsKX19CiAgICAgID48L3N6LXNldHRpbmdzLXZpZXc+CiAgICBgfXJlbmRlckV4dGVybmFsR2F0ZXdheVNldHRpbmdzKCl7bGV0IHQ9dGhpcy5zZXR0aW5nc1N0YXRlLnNldHRpbmdzO3JldHVybiB3YAogICAgICA8c2VjdGlvbiBjbGFzcz0iZ2F0ZXdheS1jYXJkIj4KICAgICAgICA8ZGl2IGNsYXNzPSJnYXRld2F5LWhlYWRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJnYXRld2F5LXRpdGxlIj5FeHRlcm5hbCBkY3JvdXRlciBHYXRld2F5PC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJnYXRld2F5LXN1YnRpdGxlIj5EZWxlZ2F0ZSBwdWJsaWMgV29ya0FwcCByb3V0aW5nLCBETlMsIGFuZCBjZXJ0aWZpY2F0ZXMgdG8gYSBkY3JvdXRlciBlZGdlIGF1dGhvcml0eS48L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJnYXRld2F5LWNvbnRlbnQiPgogICAgICAgICAgJHt0aGlzLnJlbmRlckdhdGV3YXlJbnB1dCgiZGNyb3V0ZXJHYXRld2F5VXJsIiwiR2F0ZXdheSBVUkwiLHQ/LmRjcm91dGVyR2F0ZXdheVVybHx8IiIsImh0dHBzOi8vZWRnZS5leGFtcGxlLmNvbSIsIkJhc2UgVVJMIG9mIHRoZSBkY3JvdXRlciBPcHNTZXJ2ZXIuIil9CiAgICAgICAgICAke3RoaXMucmVuZGVyR2F0ZXdheUlucHV0KCJkY3JvdXRlckdhdGV3YXlBcGlUb2tlbiIsIkFQSSBUb2tlbiIsdD8uZGNyb3V0ZXJHYXRld2F5QXBpVG9rZW58fCIiLCJkY3JvdXRlciBBUEkgdG9rZW4iLCJSZXF1aXJlcyB3b3JraG9zdGVycyBhbmQgY2VydGlmaWNhdGVzIHNjb3Blcy4iLCJwYXNzd29yZCIpfQogICAgICAgICAgJHt0aGlzLnJlbmRlckdhdGV3YXlJbnB1dCgiZGNyb3V0ZXJXb3JrSG9zdGVySWQiLCJXb3JrSG9zdGVyIElEIix0Py5kY3JvdXRlcldvcmtIb3N0ZXJJZHx8IiIsIm9wdGlvbmFsIHN0YWJsZSBvd25lciBJRCIsIkxlYXZlIGVtcHR5IHRvIGxldCBPbmVib3ggY3JlYXRlIGEgc3RhYmxlIElELiIpfQogICAgICAgICAgJHt0aGlzLnJlbmRlckdhdGV3YXlJbnB1dCgiZGNyb3V0ZXJUYXJnZXRIb3N0IiwiVGFyZ2V0IEhvc3QiLHQ/LmRjcm91dGVyVGFyZ2V0SG9zdHx8IiIsInB1YmxpYyBvciBwcml2YXRlIGhvc3QvSVAiLCJEZWZhdWx0cyB0byB0aGUgY29uZmlndXJlZCBzZXJ2ZXIgSVAgd2hlbiBlbXB0eS4iKX0KICAgICAgICAgICR7dGhpcy5yZW5kZXJHYXRld2F5SW5wdXQoImRjcm91dGVyVGFyZ2V0UG9ydCIsIlRhcmdldCBQb3J0IixTdHJpbmcodD8uZGNyb3V0ZXJUYXJnZXRQb3J0fHw4MCksIjgwIiwiSW50ZXJuYWwgSFRUUCBwb3J0IGRjcm91dGVyIGZvcndhcmRzIHRvLiIsIm51bWJlciIpfQogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9ImdhdGV3YXktZm9vdGVyIj4KICAgICAgICAgIDxidXR0b24gY2xhc3M9InNhdmUtYnV0dG9uIiBAY2xpY2s9JHsoKT0+dGhpcy5zYXZlRXh0ZXJuYWxHYXRld2F5U2V0dGluZ3MoKX0+U2F2ZSBHYXRld2F5IFNldHRpbmdzPC9idXR0b24+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvc2VjdGlvbj4KICAgIGB9cmVuZGVyR2F0ZXdheUlucHV0KHQscixpLG8sbixsPSJ0ZXh0Iil7cmV0dXJuIHdgCiAgICAgIDxsYWJlbCBjbGFzcz0iZ2F0ZXdheS1maWVsZCAke3Q9PT0iZGNyb3V0ZXJHYXRld2F5VXJsIj8iZnVsbCI6IiJ9Ij4KICAgICAgICA8c3BhbiBjbGFzcz0iZmllbGQtbGFiZWwiPiR7cn08L3NwYW4+CiAgICAgICAgPGlucHV0CiAgICAgICAgICB0eXBlPSR7bH0KICAgICAgICAgIC52YWx1ZT0ke2l9CiAgICAgICAgICBwbGFjZWhvbGRlcj0ke299CiAgICAgICAgICBAaW5wdXQ9JHtkPT50aGlzLnVwZGF0ZUdhdGV3YXlEcmFmdCh0LGQudGFyZ2V0LnZhbHVlKX0KICAgICAgICAvPgogICAgICAgIDxzcGFuIGNsYXNzPSJmaWVsZC1oaW50Ij4ke259PC9zcGFuPgogICAgICA8L2xhYmVsPgogICAgYH11cGRhdGVHYXRld2F5RHJhZnQodCxyKXtsZXQgaT10aGlzLnNldHRpbmdzU3RhdGUuc2V0dGluZ3N8fHt9LG89dD09PSJkY3JvdXRlclRhcmdldFBvcnQiP051bWJlcihyKXx8MDpyO3RoaXMuc2V0dGluZ3NTdGF0ZT17Li4udGhpcy5zZXR0aW5nc1N0YXRlLHNldHRpbmdzOnsuLi5pLFt0XTpvfX19YXN5bmMgc2F2ZUV4dGVybmFsR2F0ZXdheVNldHRpbmdzKCl7bGV0IHQ9dGhpcy5zZXR0aW5nc1N0YXRlLnNldHRpbmdzO3QmJmF3YWl0IGRsLmRpc3BhdGNoQWN0aW9uKHFpZSx7c2V0dGluZ3M6e2Rjcm91dGVyR2F0ZXdheVVybDp0LmRjcm91dGVyR2F0ZXdheVVybHx8IiIsZGNyb3V0ZXJHYXRld2F5QXBpVG9rZW46dC5kY3JvdXRlckdhdGV3YXlBcGlUb2tlbnx8IiIsZGNyb3V0ZXJXb3JrSG9zdGVySWQ6dC5kY3JvdXRlcldvcmtIb3N0ZXJJZHx8IiIsZGNyb3V0ZXJUYXJnZXRIb3N0OnQuZGNyb3V0ZXJUYXJnZXRIb3N0fHwiIixkY3JvdXRlclRhcmdldFBvcnQ6TnVtYmVyKHQuZGNyb3V0ZXJUYXJnZXRQb3J0KXx8ODB9fSl9fTtRYz1Jcyh5aGEpLHF0dD1uZXcgV2Vha01hcCxWdHQ9bmV3IFdlYWtNYXAsRXQoUWMsNCwic2V0dGluZ3NTdGF0ZSIseGhhLEpjLHF0dCksRXQoUWMsNCwibG9naW5TdGF0ZSIsdmhhLEpjLFZ0dCksSmM9RXQoUWMsMCwiT2JWaWV3U2V0dGluZ3MiLHdoYSxKYykscyhKYywiT2JWaWV3U2V0dGluZ3MiKSxOcyhKYywic3R5bGVzIixbaC5kZWZhdWx0U3R5bGVzLE5vLFFgCiAgICAgIC5nYXRld2F5LWNhcmQgewogICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7CiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tZGVlcy1jb2xvci1ib3JkZXItc3VidGxlKTsKICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4OwogICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRlZXMtY29sb3ItYmFja2dyb3VuZCwgI2ZmZmZmZik7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgfQoKICAgICAgLmdhdGV3YXktaGVhZGVyIHsKICAgICAgICBwYWRkaW5nOiAxNnB4IDIwcHg7CiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgIH0KCiAgICAgIC5nYXRld2F5LXRpdGxlIHsKICAgICAgICBmb250LXNpemU6IDE1cHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LXByaW1hcnkpOwogICAgICB9CgogICAgICAuZ2F0ZXdheS1zdWJ0aXRsZSB7CiAgICAgICAgbWFyZ2luLXRvcDogNHB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBjb2xvcjogdmFyKC0tZGVlcy1jb2xvci10ZXh0LW11dGVkKTsKICAgICAgfQoKICAgICAgLmdhdGV3YXktY29udGVudCB7CiAgICAgICAgcGFkZGluZzogMjBweDsKICAgICAgICBkaXNwbGF5OiBncmlkOwogICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIG1pbm1heCgwLCAxZnIpKTsKICAgICAgICBnYXA6IDE2cHg7CiAgICAgIH0KCiAgICAgIC5nYXRld2F5LWZpZWxkLmZ1bGwgewogICAgICAgIGdyaWQtY29sdW1uOiAxIC8gLTE7CiAgICAgIH0KCiAgICAgIC5maWVsZC1sYWJlbCB7CiAgICAgICAgZGlzcGxheTogYmxvY2s7CiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgICAgIGZvbnQtc2l6ZTogMTNweDsKICAgICAgICBmb250LXdlaWdodDogNTAwOwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsKICAgICAgfQoKICAgICAgaW5wdXQgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgICAgICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWRlZXMtY29sb3ItYm9yZGVyLXN1YnRsZSk7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtcHJpbWFyeSk7CiAgICAgICAgZm9udC1zaXplOiAxNHB4OwogICAgICB9CgogICAgICBpbnB1dDpmb2N1cyB7CiAgICAgICAgb3V0bGluZTogbm9uZTsKICAgICAgICBib3JkZXItY29sb3I6ICMzYjgyZjY7CiAgICAgIH0KCiAgICAgIC5maWVsZC1oaW50IHsKICAgICAgICBtYXJnaW4tdG9wOiA1cHg7CiAgICAgICAgZm9udC1zaXplOiAxMnB4OwogICAgICAgIGNvbG9yOiB2YXIoLS1kZWVzLWNvbG9yLXRleHQtbXV0ZWQpOwogICAgICB9CgogICAgICAuZ2F0ZXdheS1mb290ZXIgewogICAgICAgIGRpc3BsYXk6IGZsZXg7CiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsKICAgICAgICBwYWRkaW5nOiAwIDIwcHggMjBweDsKICAgICAgfQoKICAgICAgLnNhdmUtYnV0dG9uIHsKICAgICAgICBib3JkZXI6IG5vbmU7CiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4OwogICAgICAgIGJhY2tncm91bmQ6ICMyNTYzZWI7CiAgICAgICAgY29sb3I6IHdoaXRlOwogICAgICAgIGN1cnNvcjogcG9pbnRlcjsKICAgICAgICBmb250LXNpemU6IDEzcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDsKICAgICAgICBwYWRkaW5nOiA5cHggMTRweDsKICAgICAgfQoKICAgICAgLnNhdmUtYnV0dG9uOmhvdmVyIHsKICAgICAgICBiYWNrZ3JvdW5kOiAjMWQ0ZWQ4OwogICAgICB9CgogICAgICBAbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHsKICAgICAgICAuZ2F0ZXdheS1jb250ZW50IHsKICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICAgIH0KICAgICAgfQogICAgYF0pLFhlKFFjLDEsSmMpO2p0dD1KY30pO2RuKCk7YXdhaXQgcGwoKTt2NygpO2F3YWl0IHc3KCk7bGUoKTt2YXIgU2hhLHpoYSxDaGEsX2hhLFRoYSxMaGEsZm8sV3R0LEd0dCxZdHQsS3R0O0xoYT1baWUoIm9iLWFwcC1zaGVsbCIpXTt2YXIgcjI9Y2xhc3MgcjIgZXh0ZW5kcyhUaGE9cGUsX2hhPVtLKCldLENoYT1bSygpXSx6aGE9W0soKV0sU2hhPVtLKCldLFRoYSl7Y29uc3RydWN0b3IoKXtzdXBlcigpO0d0KHRoaXMsV3R0LFhlKGZvLDgsdGhpcyx7aWRlbnRpdHk6bnVsbCxpc0xvZ2dlZEluOiExfSkpLFhlKGZvLDExLHRoaXMpO0d0KHRoaXMsR3R0LFhlKGZvLDEyLHRoaXMse2FjdGl2ZVZpZXc6ImRhc2hib2FyZCIsYXV0b1JlZnJlc2g6ITAscmVmcmVzaEludGVydmFsOjNlNH0pKSxYZShmbywxNSx0aGlzKTtHdCh0aGlzLFl0dCxYZShmbywxNix0aGlzLCExKSksWGUoZm8sMTksdGhpcyk7R3QodGhpcyxLdHQsWGUoZm8sMjAsdGhpcywiIikpLFhlKGZvLDIzLHRoaXMpO05zKHRoaXMsInZpZXdUYWJzIixbe25hbWU6IkRhc2hib2FyZCIsaWNvbk5hbWU6Imx1Y2lkZTpsYXlvdXREYXNoYm9hcmQiLGVsZW1lbnQ6KGFzeW5jKCk9Pihhd2FpdCBudHQoKS50aGVuKCgpPT5UNWEpKS5PYlZpZXdEYXNoYm9hcmQpKCl9LHtuYW1lOiJBcHAgU3RvcmUiLGljb25OYW1lOiJsdWNpZGU6c3RvcmUiLGVsZW1lbnQ6KGFzeW5jKCk9Pihhd2FpdCBWNWEoKS50aGVuKCgpPT5xNWEpKS5PYlZpZXdBcHBTdG9yZSkoKX0se25hbWU6IlNlcnZpY2VzIixpY29uTmFtZToibHVjaWRlOmJveGVzIixlbGVtZW50Oihhc3luYygpPT4oYXdhaXQgTHR0KCkudGhlbigoKT0+YWhhKSkuT2JWaWV3U2VydmljZXMpKCl9LHtuYW1lOiJOZXR3b3JrIixpY29uTmFtZToibHVjaWRlOm5ldHdvcmsiLGVsZW1lbnQ6KGFzeW5jKCk9Pihhd2FpdCBQdHQoKS50aGVuKCgpPT5saGEpKS5PYlZpZXdOZXR3b3JrKSgpfSx7bmFtZToiUmVnaXN0cmllcyIsaWNvbk5hbWU6Imx1Y2lkZTpwYWNrYWdlIixlbGVtZW50Oihhc3luYygpPT4oYXdhaXQgT3R0KCkudGhlbigoKT0+ZmhhKSkuT2JWaWV3UmVnaXN0cmllcykoKX0se25hbWU6IlRva2VucyIsaWNvbk5hbWU6Imx1Y2lkZTprZXkiLGVsZW1lbnQ6KGFzeW5jKCk9Pihhd2FpdCBIdHQoKS50aGVuKCgpPT5iaGEpKS5PYlZpZXdUb2tlbnMpKCl9LHtuYW1lOiJTZXR0aW5ncyIsaWNvbk5hbWU6Imx1Y2lkZTpzZXR0aW5ncyIsZWxlbWVudDooYXN5bmMoKT0+KGF3YWl0IFV0dCgpLnRoZW4oKCk9Pk1oYSkpLk9iVmlld1NldHRpbmdzKSgpfV0pO05zKHRoaXMsInJlc29sdmVkVmlld1RhYnMiLFtdKTtkb2N1bWVudC50aXRsZT0iT25lYm94IjtsZXQgdD1icy5zZWxlY3QoaT0+aSkuc3Vic2NyaWJlKGk9Pnt0aGlzLmxvZ2luU3RhdGU9aSxpLmlzTG9nZ2VkSW4mJlljLmRpc3BhdGNoQWN0aW9uKHk3LG51bGwpfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaCh0KTtsZXQgcj1Vbi5zZWxlY3QoaT0+aSkuc3Vic2NyaWJlKGk9Pnt0aGlzLnVpU3RhdGU9aSx0aGlzLnN5bmNBcHBkYXNoVmlldyhpLmFjdGl2ZVZpZXcpfSk7dGhpcy5yeFN1YnNjcmlwdGlvbnMucHVzaChyKX1yZW5kZXIoKXtyZXR1cm4gd2AKICAgICAgPGRpdiBjbGFzcz0ibWFpbmNvbnRhaW5lciI+CiAgICAgICAgPGRlZXMtc2ltcGxlLWxvZ2luIG5hbWU9Ik9uZWJveCI+CiAgICAgICAgICA8ZGVlcy1zaW1wbGUtYXBwZGFzaAogICAgICAgICAgICBuYW1lPSJPbmVib3giCiAgICAgICAgICAgIC52aWV3VGFicz0ke3RoaXMucmVzb2x2ZWRWaWV3VGFic30KICAgICAgICAgICAgLnNlbGVjdGVkVmlldz0ke3RoaXMucmVzb2x2ZWRWaWV3VGFicy5maW5kKHQ9PnQubmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xzKy9nLCItIik9PT10aGlzLnVpU3RhdGUuYWN0aXZlVmlldyl8fHRoaXMucmVzb2x2ZWRWaWV3VGFic1swXX0KICAgICAgICAgID4KICAgICAgICAgIDwvZGVlcy1zaW1wbGUtYXBwZGFzaD4KICAgICAgICA8L2RlZXMtc2ltcGxlLWxvZ2luPgogICAgICA8L2Rpdj4KICAgIGB9YXN5bmMgZmlyc3RVcGRhdGVkKCl7dGhpcy5yZXNvbHZlZFZpZXdUYWJzPWF3YWl0IFByb21pc2UuYWxsKHRoaXMudmlld1RhYnMubWFwKGFzeW5jIG89Pih7bmFtZTpvLm5hbWUsaWNvbk5hbWU6by5pY29uTmFtZSxlbGVtZW50OmF3YWl0IG8uZWxlbWVudH0pKSksdGhpcy5yZXF1ZXN0VXBkYXRlKCksYXdhaXQgdGhpcy51cGRhdGVDb21wbGV0ZTtsZXQgdD10aGlzLnNoYWRvd1Jvb3QucXVlcnlTZWxlY3RvcigiZGVlcy1zaW1wbGUtbG9naW4iKTt0JiZ0LmFkZEV2ZW50TGlzdGVuZXIoImxvZ2luIixvPT57dGhpcy5sb2dpbihvLmRldGFpbC5kYXRhLnVzZXJuYW1lLG8uZGV0YWlsLmRhdGEucGFzc3dvcmQpfSk7bGV0IHI9dGhpcy5zaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoImRlZXMtc2ltcGxlLWFwcGRhc2giKTtpZihyJiYoci5hZGRFdmVudExpc3RlbmVyKCJ2aWV3LXNlbGVjdCIsbz0+e2xldCBuPW8uZGV0YWlsLnZpZXcubmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xzKy9nLCItIik7V24ubmF2aWdhdGVUb1ZpZXcobil9KSxyLmFkZEV2ZW50TGlzdGVuZXIoImxvZ291dCIsYXN5bmMoKT0+e2F3YWl0IGJzLmRpc3BhdGNoQWN0aW9uKFJpZSxudWxsKX0pKSxyJiZ0aGlzLnJlc29sdmVkVmlld1RhYnMubGVuZ3RoPjApe2xldCBvPVVuLmdldFN0YXRlKCkuYWN0aXZlVmlldyxuPXRoaXMucmVzb2x2ZWRWaWV3VGFicy5maW5kKGw9PmwubmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xzKy9nLCItIik9PT1vKXx8dGhpcy5yZXNvbHZlZFZpZXdUYWJzWzBdO2F3YWl0IHIubG9hZFZpZXcobil9bGV0IGk9YnMuZ2V0U3RhdGUoKTtpZihpLmlkZW50aXR5Py5qd3QpaWYoaS5pZGVudGl0eS5leHBpcmVzQXQ+RGF0ZS5ub3coKSl7dGhpcy5sb2dpblN0YXRlPWksdCYmYXdhaXQgdC5zd2l0Y2hUb1Nsb3R0ZWRDb250ZW50KCk7dHJ5e2xldCBuPWF3YWl0IG5ldyBodC5wbHVnaW5zLnR5cGVkcmVxdWVzdC5UeXBlZFJlcXVlc3QoIi90eXBlZHJlcXVlc3QiLCJnZXRTeXN0ZW1TdGF0dXMiKS5maXJlKHtpZGVudGl0eTppLmlkZW50aXR5fSk7WWMuc2V0U3RhdGUoe3N0YXR1czpuLnN0YXR1c30pfWNhdGNoKG8pe2NvbnNvbGUud2FybigiU3RvcmVkIHNlc3Npb24gaW52YWxpZCwgcmV0dXJuaW5nIHRvIGxvZ2luOiIsbyksYXdhaXQgYnMuZGlzcGF0Y2hBY3Rpb24oUmllLG51bGwpLHQmJndpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKX19ZWxzZSBhd2FpdCBicy5kaXNwYXRjaEFjdGlvbihSaWUsbnVsbCl9YXN5bmMgbG9naW4odCxyKXtsZXQgaT1hd2FpdCB0aGlzLmRvbXRvb2xzUHJvbWlzZSxvPXRoaXMuc2hhZG93Um9vdC5xdWVyeVNlbGVjdG9yKCJkZWVzLXNpbXBsZS1sb2dpbiIpLG49bz8uc2hhZG93Um9vdD8ucXVlcnlTZWxlY3RvcigiZGVlcy1mb3JtIik7biYmbi5zZXRTdGF0dXMoInBlbmRpbmciLCJMb2dnaW5nIGluLi4uIiksKGF3YWl0IGJzLmRpc3BhdGNoQWN0aW9uKHI1YSx7dXNlcm5hbWU6dCxwYXNzd29yZDpyfSkpLmlkZW50aXR5PyhuJiZuLnNldFN0YXR1cygic3VjY2VzcyIsIkxvZ2dlZCBpbiEiKSxvJiZhd2FpdCBvLnN3aXRjaFRvU2xvdHRlZENvbnRlbnQoKSxhd2FpdCBZYy5kaXNwYXRjaEFjdGlvbih5NyxudWxsKSk6biYmKG4uc2V0U3RhdHVzKCJlcnJvciIsIkxvZ2luIGZhaWxlZCEiKSxhd2FpdCBpLmNvbnZlbmllbmNlLnNtYXJ0ZGVsYXkuZGVsYXlGb3IoMmUzKSxuLnJlc2V0KCkpfXN5bmNBcHBkYXNoVmlldyh0KXtsZXQgcj10aGlzLnNoYWRvd1Jvb3Q/LnF1ZXJ5U2VsZWN0b3IoImRlZXMtc2ltcGxlLWFwcGRhc2giKTtpZighcnx8dGhpcy5yZXNvbHZlZFZpZXdUYWJzLmxlbmd0aD09PTApcmV0dXJuO2xldCBpPXRoaXMucmVzb2x2ZWRWaWV3VGFicy5maW5kKG89Pm8ubmFtZS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UoL1xzKy9nLCItIik9PT10KTtpJiZyLmxvYWRWaWV3KGkpfX07Zm89SXMoVGhhKSxXdHQ9bmV3IFdlYWtNYXAsR3R0PW5ldyBXZWFrTWFwLFl0dD1uZXcgV2Vha01hcCxLdHQ9bmV3IFdlYWtNYXAsRXQoZm8sNCwibG9naW5TdGF0ZSIsX2hhLHIyLFd0dCksRXQoZm8sNCwidWlTdGF0ZSIsQ2hhLHIyLEd0dCksRXQoZm8sNCwibG9naW5Mb2FkaW5nIix6aGEscjIsWXR0KSxFdChmbyw0LCJsb2dpbkVycm9yIixTaGEscjIsS3R0KSxyMj1FdChmbywwLCJPYkFwcFNoZWxsIixMaGEscjIpLHMocjIsIk9iQXBwU2hlbGwiKSxOcyhyMiwic3R5bGVzIixbaC5kZWZhdWx0U3R5bGVzLFFgCiAgICAgIDpob3N0IHsKICAgICAgICBkaXNwbGF5OiBibG9jazsKICAgICAgICB3aWR0aDogMTAwJTsKICAgICAgICBoZWlnaHQ6IDEwMCU7CiAgICAgIH0KICAgICAgLm1haW5jb250YWluZXIgewogICAgICAgIHdpZHRoOiAxMDAlOwogICAgICAgIGhlaWdodDogMTAwdmg7CiAgICAgIH0KICAgIGBdKSxYZShmbywxLHIyKTt2YXIga2hhPXIyO1djKCk7bnR0KCk7THR0KCk7UHR0KCk7T3R0KCk7SHR0KCk7VXR0KCk7ZG4oKTtsZSgpO2F3YWl0IHc3KCk7V24uaW5pdCgpLHVkLnJlbmRlcih3YAogIDxvYi1hcHAtc2hlbGw+PC9vYi1hcHAtc2hlbGw+CmAsZG9jdW1lbnQuYm9keSk7Ci8qISBCdW5kbGVkIGxpY2Vuc2UgaW5mb3JtYXRpb246CgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvY3NzLXRhZy5qczoKICAoKioKICAgKiBAbGljZW5zZQogICAqIENvcHlyaWdodCAyMDE5IEdvb2dsZSBMTEMKICAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiAgICopCgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvcmVhY3RpdmUtZWxlbWVudC5qczoKbGl0LWh0bWwvbGl0LWh0bWwuanM6CmxpdC1lbGVtZW50L2xpdC1lbGVtZW50LmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9wcm9wZXJ0eS5qczoKbGl0LWh0bWwvZGlyZWN0aXZlLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL3Vuc2FmZS1odG1sLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9jdXN0b20tZWxlbWVudC5qczoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvc3RhdGUuanM6CkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL2V2ZW50LW9wdGlvbnMuanM6CkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL2Jhc2UuanM6CkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL3F1ZXJ5LmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9xdWVyeS1hbGwuanM6CkBsaXQvcmVhY3RpdmUtZWxlbWVudC9kZWNvcmF0b3JzL3F1ZXJ5LWFzeW5jLmpzOgpAbGl0L3JlYWN0aXZlLWVsZW1lbnQvZGVjb3JhdG9ycy9xdWVyeS1hc3NpZ25lZC1ub2Rlcy5qczoKbGl0LWh0bWwvYXN5bmMtZGlyZWN0aXZlLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL3VudGlsLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL2FzeW5jLXJlcGxhY2UuanM6CmxpdC1odG1sL2RpcmVjdGl2ZXMvYXN5bmMtYXBwZW5kLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL3JlcGVhdC5qczoKICAoKioKICAgKiBAbGljZW5zZQogICAqIENvcHlyaWdodCAyMDE3IEdvb2dsZSBMTEMKICAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlCiAgICopCgpsaXQtaHRtbC9pcy1zZXJ2ZXIuanM6CiAgKCoqCiAgICogQGxpY2Vuc2UKICAgKiBDb3B5cmlnaHQgMjAyMiBHb29nbGUgTExDCiAgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQogICAqKQoKc3dlZXQtc2Nyb2xsL3N3ZWV0LXNjcm9sbC5qczoKICAoKiEgQHByZXNlcnZlIHN3ZWV0LXNjcm9sbCB2NC4wLjAgLSB0c3V5b3NoaXdhZGEgfCBNSVQgTGljZW5zZSAqKQogICgqISAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogICAgICBDb3B5cmlnaHQgKGMpIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAgICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZQogICAgICB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS4gWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZQogICAgICBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAogIAogICAgICBUSElTIENPREUgSVMgUFJPVklERUQgT04gQU4gKkFTIElTKiBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZCiAgICAgIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gQU5ZIElNUExJRUQKICAgICAgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIFRJVExFLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwKICAgICAgTUVSQ0hBTlRBQkxJVFkgT1IgTk9OLUlORlJJTkdFTUVOVC4KICAKICAgICAgU2VlIHRoZSBBcGFjaGUgVmVyc2lvbiAyLjAgTGljZW5zZSBmb3Igc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zCiAgICAgIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KICAgICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKikKCmxpdC1odG1sL3N0YXRpYy5qczoKbGl0LWh0bWwvZGlyZWN0aXZlLWhlbHBlcnMuanM6CiAgKCoqCiAgICogQGxpY2Vuc2UKICAgKiBDb3B5cmlnaHQgMjAyMCBHb29nbGUgTExDCiAgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQogICAqKQoKQGxpdC9yZWFjdGl2ZS1lbGVtZW50L2RlY29yYXRvcnMvcXVlcnktYXNzaWduZWQtZWxlbWVudHMuanM6CmxpdC1odG1sL2RpcmVjdGl2ZXMvcHJpdmF0ZS1hc3luYy1oZWxwZXJzLmpzOgpsaXQtaHRtbC9kaXJlY3RpdmVzL2tleWVkLmpzOgogICgqKgogICAqIEBsaWNlbnNlCiAgICogQ29weXJpZ2h0IDIwMjEgR29vZ2xlIExMQwogICAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMy1DbGF1c2UKICAgKikKCkBmb3J0YXdlc29tZS9mb250YXdlc29tZS1zdmctY29yZS9pbmRleC5tanM6CkBmb3J0YXdlc29tZS9mcmVlLWJyYW5kcy1zdmctaWNvbnMvaW5kZXgubWpzOgpAZm9ydGF3ZXNvbWUvZnJlZS1yZWd1bGFyLXN2Zy1pY29ucy9pbmRleC5tanM6CkBmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucy9pbmRleC5tanM6CiAgKCohCiAgICogRm9udCBBd2Vzb21lIEZyZWUgNy4yLjAgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20KICAgKiBMaWNlbnNlIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20vbGljZW5zZS9mcmVlIChJY29uczogQ0MgQlkgNC4wLCBGb250czogU0lMIE9GTCAxLjEsIENvZGU6IE1JVCBMaWNlbnNlKQogICAqIENvcHlyaWdodCAyMDI2IEZvbnRpY29ucywgSW5jLgogICAqKQoKbHVjaWRlL2Rpc3QvZXNtL2RlZmF1bHRBdHRyaWJ1dGVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2NyZWF0ZUVsZW1lbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vc2hhcmVkL3NyYy91dGlscy9oYXNBMTF5UHJvcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9zaGFyZWQvc3JjL3V0aWxzL21lcmdlQ2xhc3Nlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9zaGFyZWQvc3JjL3V0aWxzL3RvQ2FtZWxDYXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL3NoYXJlZC9zcmMvdXRpbHMvdG9QYXNjYWxDYXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL3JlcGxhY2VFbGVtZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2EtYXJyb3ctZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hLWFycm93LXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2EtbGFyZ2Utc21hbGwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWNjZXNzaWJpbGl0eS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hY3Rpdml0eS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9haXItdmVudC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9haXJwbGF5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsYXJtLWNsb2NrLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsYXJtLWNsb2NrLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsYXJtLWNsb2NrLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGFybS1jbG9jay1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsYXJtLWNsb2NrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsYXJtLXNtb2tlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsYnVtLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWNlbnRlci1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWNlbnRlci12ZXJ0aWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1lbmQtaG9yaXpvbnRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1ob3Jpem9udGFsLWRpc3RyaWJ1dGUtY2VudGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWVuZC12ZXJ0aWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1ob3Jpem9udGFsLWRpc3RyaWJ1dGUtZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWhvcml6b250YWwtZGlzdHJpYnV0ZS1zdGFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi1ob3Jpem9udGFsLWp1c3RpZnktY2VudGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWhvcml6b250YWwtanVzdGlmeS1lbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24taG9yaXpvbnRhbC1qdXN0aWZ5LXN0YXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLWhvcml6b250YWwtc3BhY2UtYXJvdW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXN0YXJ0LWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24tc3RhcnQtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24taG9yaXpvbnRhbC1zcGFjZS1iZXR3ZWVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXZlcnRpY2FsLWRpc3RyaWJ1dGUtY2VudGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXZlcnRpY2FsLWRpc3RyaWJ1dGUtZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FsaWduLXZlcnRpY2FsLWRpc3RyaWJ1dGUtc3RhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24tdmVydGljYWwtanVzdGlmeS1jZW50ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24tdmVydGljYWwtanVzdGlmeS1lbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24tdmVydGljYWwtanVzdGlmeS1zdGFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbGlnbi12ZXJ0aWNhbC1zcGFjZS1hcm91bmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYWxpZ24tdmVydGljYWwtc3BhY2UtYmV0d2Vlbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbWJ1bGFuY2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYW1wZXJzYW5kcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbXBlcnNhbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYW1waG9yYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbmNob3IubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYW5ncnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYW5ub3llZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hbnRlbm5hLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FudmlsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FwZXJ0dXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FwcC13aW5kb3ctbWFjLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FwcC13aW5kb3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJjaGl2ZS1yZXN0b3JlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FwcGxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FyY2hpdmUteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcm1jaGFpci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcmNoaXZlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWJpZy1kb3duLWRhc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctYmlnLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctYmlnLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctYmlnLWxlZnQtZGFzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1iaWctcmlnaHQtZGFzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1iaWctcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctYmlnLXVwLWRhc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctYmlnLXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24tMC0xLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24tMS0wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24tZnJvbS1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24tYS16Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24tbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLW5hcnJvdy13aWRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWRvd24tcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctZG93bi10by1kb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctZG93bi11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLXRvLWxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctZG93bi13aWRlLW5hcnJvdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLXotYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWxlZnQtZnJvbS1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LWxlZnQtcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctbGVmdC10by1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXJpZ2h0LWZyb20tbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXJpZ2h0LWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctcmlnaHQtdG8tbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy11cC0xLTAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctdXAtMC0xLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLWEtei5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy11cC1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLWZyb20tZG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLWZyb20tbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hcnJvdy11cC1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLW5hcnJvdy13aWRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLXdpZGUtbmFycm93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93LXVwLXRvLWxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXJyb3ctdXAtei1hLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2FzdGVyaXNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Fycm93cy11cC1mcm9tLWxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXN0cm9pZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9hdC1zaWduLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2F0b20ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXVkaW8tbGluZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXVkaW8td2F2ZWZvcm0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXdhcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXhlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhYnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYXhpcy0zZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWNrcGFjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1hbGVydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1jZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLWRvbGxhci1zaWduLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLWV1cm8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UtaW5kaWFuLXJ1cGVlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLWluZm8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UtamFwYW5lc2UteWVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLXBlcmNlbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1wb3VuZC1zdGVybGluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYWRnZS1xdWVzdGlvbi1tYXJrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLXN3aXNzLWZyYW5jLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLXJ1c3NpYW4tcnVibGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UtdHVya2lzaC1saXJhLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhZGdlLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFkZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFnZ2FnZS1jbGFpbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFsbG9vbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYW5hbmEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFuZGFnZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYW5rbm90ZS1hcnJvdy11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYW5rbm90ZS1hcnJvdy1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jhbmtub3RlLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFua25vdGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFyY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYXJyZWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmFzZWxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmF0aC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYXR0ZXJ5LWNoYXJnaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhdHRlcnktZnVsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYXR0ZXJ5LWxvdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYXR0ZXJ5LW1lZGl1bS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iYXR0ZXJ5LXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmF0dGVyeS13YXJuaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JhdHRlcnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVhbi1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVha2VyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlZC1kb3VibGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVhbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWQtc2luZ2xlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlZWYtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWVmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlZXItb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVsbC1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWxsLWRvdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWxsLWVsZWN0cmljLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlbGwtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlbGwtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmVsbC1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JlbGwtcmluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iZWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JldHdlZW4taG9yaXpvbnRhbC1lbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmV0d2Vlbi1ob3Jpem9udGFsLXN0YXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JldHdlZW4tdmVydGljYWwtZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JldHdlZW4tdmVydGljYWwtc3RhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmljZXBzLWZsZXhlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iaWtlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JpbmFyeS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iaW5vY3VsYXJzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jpb2hhemFyZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iaXJkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JpcmRob3VzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9iaXRjb2luLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JsZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JsaW5kcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ibG9ja3MubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYmx1ZXRvb3RoLWNvbm5lY3RlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ibHVldG9vdGgtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JsdWV0b290aC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ibHVldG9vdGgtc2VhcmNoaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JvbGQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9tYi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib2x0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JvbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1hLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stYWxlcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1hdWRpby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stY29weS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWRhc2hlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1oZWFkcGhvbmVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2staGVhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1pbWFnZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWtleS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLW1hcmtlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLWxvY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLW9wZW4tY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1vcGVuLXRleHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1zZWFyY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLXRleHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay11cC0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay10eXBlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2stdXNlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9vay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rbWFyay1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rbWFyay1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rbWFyay1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm9va21hcmstcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib29rbWFyay14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb2ttYXJrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Jvb20tYm94Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JvdC1tZXNzYWdlLXNxdWFyZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib3Qtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JvdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ib3ctYXJyb3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm90dGxlLXdpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYm94Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JveGVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyYWNlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icmFja2V0cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icmFpbi1jaXJjdWl0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyYWluLWNvZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icmljay13YWxsLWZpcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJhaW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJpY2std2FsbC1zaGllbGQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJpY2std2FsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9icmllZmNhc2UtYnVzaW5lc3MubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJpZWZjYXNlLWNvbnZleW9yLWJlbHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJpZWZjYXNlLW1lZGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnJpZWZjYXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JyaW5nLXRvLWZyb250Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JydXNoLWNsZWFuaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2JydXNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2J1Zy1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnViYmxlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9idWctcGxheS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9idWcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnVpbGRpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnVpbGRpbmctMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9idXMtZnJvbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvYnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhYmxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhYmxlLWNhci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWtlLXNsaWNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nha2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItMS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxjdWxhdG9yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLWFycm93LWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItYXJyb3ctdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItY2hlY2stMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1jbG9jay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1jb2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItZGF5cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1mb2xkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLW1pbnVzLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItaGVhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FsZW5kYXItb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLXBsdXMtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1yYW5nZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLXNlYXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci1zeW5jLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLXgtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYWxlbmRhci14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbGVuZGFycy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYW1lcmEtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbWVyYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYW5keS1jYW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbmR5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhbmR5LW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYW5uYWJpcy1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FubmFiaXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FwdGlvbnMtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NhcHRpb25zLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nhci1mcm9udC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FyLXRheGktZnJvbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FyYXZhbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXJkLXNpbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXJyb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FzZS1sb3dlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXNlLXNlbnNpdGl2ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXNlLXVwcGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nhc3NldHRlLXRhcGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2FzdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jYXN0bGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2F0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NjdHYtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NjdHYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtYXJlYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1iYXItYmlnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWJhci1kZWNyZWFzaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWJhci1pbmNyZWFzaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWJhci1zdGFja2VkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWJhci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1jYW5kbGVzdGljay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1jb2x1bW4tYmlnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWNvbHVtbi1kZWNyZWFzaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWNvbHVtbi1pbmNyZWFzaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWNvbHVtbi1zdGFja2VkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LWNvbHVtbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1nYW50dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LW5ldHdvcmsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtbm8tYXhlcy1jb2x1bW4tZGVjcmVhc2luZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1uby1heGVzLWNvbHVtbi1pbmNyZWFzaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LW5vLWF4ZXMtY29sdW1uLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoYXJ0LW5vLWF4ZXMtY29tYmluZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtbm8tYXhlcy1nYW50dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1waWUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hhcnQtc2NhdHRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGFydC1zcGxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlY2stY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlY2stbGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGVmLWhhdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGVycnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlc3Mta2luZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGVzcy1iaXNob3AubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlc3Mta25pZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXNzLXBhd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlc3Mtcm9vay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9uLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hlc3MtcXVlZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbi1maXJzdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9uLWxhc3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbi1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb24tcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbi11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9ucy1kb3duLXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb25zLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbnMtbGVmdC1yaWdodC1lbGxpcHNpcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9ucy1sZWZ0LXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NoZXZyb25zLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2hldnJvbnMtcmlnaHQtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9ucy1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9ucy11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaGV2cm9ucy11cC1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NodXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaWdhcmV0dGUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpZ2FyZXR0ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtYWxlcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWFycm93LWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWFycm93LWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWFycm93LW91dC1kb3duLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWFycm93LW91dC1kb3duLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1hcnJvdy1vdXQtdXAtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtYXJyb3ctb3V0LXVwLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1hcnJvdy1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtYXJyb3ctdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWNoZWNrLWJpZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWNoZXZyb24tbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtY2hldnJvbi1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1jaGV2cm9uLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1jaGV2cm9uLXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWRpdmlkZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtZG9sbGFyLXNpZ24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWRvdC1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWVsbGlwc2lzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1kb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWVxdWFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1mYWRpbmctYXJyb3ctdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLWZhZGluZy1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1nYXVnZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtcGFya2luZy1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXBhcmtpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXBhdXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1wZXJjZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1wbGF5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1waWxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1wb3VuZC1zdGVybGluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtcG93ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXF1ZXN0aW9uLW1hcmsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXNsYXNoLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY2xlLXNsYXNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NpcmNsZS1zbWFsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtc3Rhci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtc3RvcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtdXNlci1yb3VuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUtdXNlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXJjbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2lyY3VpdC1ib2FyZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jaXRydXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xhcHBlcmJvYXJkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsaXBib2FyZC1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQtY2xvY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xpcGJvYXJkLWNvcHkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xpcGJvYXJkLWxpc3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xpcGJvYXJkLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsaXBib2FyZC1wYXN0ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQtcGVuLWxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xpcGJvYXJkLXBlbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQtdHlwZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbGlwYm9hcmQteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay0xLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsaXBib2FyZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay0xMC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay0xMS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay0xMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLTMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stNC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay01Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLTYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stOC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay03Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb2NrLTkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stYWxlcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stYXJyb3ctZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay1hcnJvdy11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay1mYWRpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvY2stcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9jay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG9zZWQtY2FwdGlvbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1hbGVydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1iYWNrdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtY29nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLWRvd25sb2FkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLWRyaXp6bGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtaGFpbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1mb2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtbGlnaHRuaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLW1vb24tcmFpbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1tb29uLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLXJhaW4td2luZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtcmFpbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC1zbm93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLXN1bi1yYWluLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLXN5bmMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdWQtc3VuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nsb3VkLXVwbG9hZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jbG91ZHkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY2xvdmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NsdWIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29kZS14bWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb2ZmZWUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvaW5zLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbHVtbnMtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb2x1bW5zLTMtY29nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbHVtbnMtMy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb2x1bW5zLTQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29tYmluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb21tYW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbXBhc3MubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29tcG9uZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbXB1dGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbmNpZXJnZS1iZWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29uc3RydWN0aW9uLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvbnRhY3Qtcm91bmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29udGFjdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb250YWluZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29udHJhc3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29va2llLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nvb2tpbmctcG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NvcHktY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29weS1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3B5LXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29weS1zbGFzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3B5LXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29weS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3B5bGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3B5cmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY29ybmVyLWRvd24tbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3JuZXItZG93bi1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3JuZXItbGVmdC1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nvcm5lci1sZWZ0LXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nvcm5lci1yaWdodC1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nvcm5lci1yaWdodC11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3JuZXItdXAtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jb3JuZXItdXAtcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3B1Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2NyZWF0aXZlLWNvbW1vbnMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3JlZGl0LWNhcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3JvaXNzYW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nyb3AubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3Jvc3MubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvY3Jvc3NoYWlyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Nyb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2N1Ym9pZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jdXAtc29kYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jdXJyZW5jeS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9jeWxpbmRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kYW0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGF0YWJhc2UtYmFja3VwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RhdGFiYXNlLXphcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kYXRhYmFzZS1zZWFyY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGF0YWJhc2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGVjaW1hbHMtYXJyb3ctbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kZWNpbWFscy1hcnJvdy1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kZWxldGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGVzc2VydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWFtZXRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWFtb25kLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RpYW1vbmQtcGVyY2VudC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWFtb25kLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGlhbW9uZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWNlLTEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGljZS0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RpY2UtMy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWNlLTQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGljZS01Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RpY2UtNi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaWZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RpY2VzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Rpc2MtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaXNjLTMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGlzYy1hbGJ1bS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kaXZpZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZGlzYy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kbmEtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RuYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kb2NrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RvbGxhci1zaWduLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RvZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kb251dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kb29yLWNsb3NlZC1sb2NrZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZG9vci1jbG9zZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZG9vci1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RvdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kb3dubG9hZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kcmFmdGluZy1jb21wYXNzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RyaWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2RyYW1hLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Ryb25lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Ryb3BsZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZHJvcGxldC1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZHJvcGxldHMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZHJ1bS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9kcnVtc3RpY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZHVtYmJlbGwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZWFyLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lYXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZWFydGgtbG9jay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lYXJ0aC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lY2xpcHNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VnZy1mcmllZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lZ2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZWdnLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9lbGxpcHNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VsbGlwc2lzLXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VxdWFsLWFwcHJveGltYXRlbHkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZWxsaXBzaXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZXF1YWwtbm90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VxdWFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2VyYXNlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ldGhlcm5ldC1wb3J0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2V1cm8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZXYtY2hhcmdlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9leHBhbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZXh0ZXJuYWwtbGluay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9leWUtY2xvc2VkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2V5ZS1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZXllLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZhY3RvcnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmFuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zhc3QtZm9yd2FyZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mZWF0aGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZlcnJpcy13aGVlbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mZW5jZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWFyY2hpdmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1heGlzLTNkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtYmFkZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1ib3gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1icmFjZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1jaGFydC1jb2x1bW4taW5jcmVhc2luZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWJyYWNlcy1jb3JuZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1jaGFydC1jb2x1bW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1jaGFydC1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtY2hhcnQtcGllLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtY2hlY2stY29ybmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1jbG9jay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWNvZGUtY29ybmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWNvZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWRpZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1kaWdpdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1leGNsYW1hdGlvbi1wb2ludC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWhlYWRwaG9uZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWhlYXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtaW1hZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1pbnB1dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWtleS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLWxvY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1taW51cy1jb3JuZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLW11c2ljLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtb3V0cHV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtcGVuLWxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1wbGF5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtcGx1cy1jb3JuZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtcXVlc3Rpb24tbWFyay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXNjYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS1zZWFyY2gtY29ybmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtc2VhcmNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtc2lnbmFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtc2xpZGVycy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXNwcmVhZHNoZWV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtc3ltbGluay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlLXN0YWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtdGVybWluYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS10ZXh0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtdHlwZS1jb3JuZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS10eXBlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS11c2VyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtdm9sdW1lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUtdmlkZW8tY2FtZXJhLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUteC1jb3JuZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsZS14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlsbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maWxlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9maW5nZXJwcmludC1wYXR0ZXJuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZpcmUtZXh0aW5ndWlzaGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zpc2gtc3ltYm9sLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zpc2gtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zpc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmlzaGluZy1ob29rLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsYWctb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zpc2hpbmctcm9kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsYWctdHJpYW5nbGUtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbGFnLXRyaWFuZ2xlLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsYWcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxhbWUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxhc2hsaWdodC1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxhbWUta2luZGxpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxhc2hsaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbGFzay1jb25pY2FsLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbGFzay1jb25pY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsYXNrLXJvdW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsaXAtaG9yaXpvbnRhbC0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZsaXAtdmVydGljYWwtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mbG93ZXItMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2N1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkLWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZmxvd2VyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1hcmNoaXZlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1ib29rbWFyay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkLXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItY2xvc2VkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1jb2RlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1jb2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWNsb2NrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1kb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWdpdC0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1naXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWhlYXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1rYW5iYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWtleS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItaW5wdXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLWxvY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLW9wZW4tZG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXItb3V0cHV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1wZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXJvb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXNlYXJjaC0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci1zZWFyY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXN5bWxpbmsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXRyZWUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXN5bmMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9sZGVyLXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZvbGRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb2xkZXJzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zvb3RwcmludHMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9ya2xpZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZm9ybS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mb3J3YXJkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ZyYW1lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Zyb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Z1ZWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZnVsbHNjcmVlbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mdW5uZWwtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9mdW5uZWwteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nYWxsZXJ5LWhvcml6b250YWwtZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2Z1bm5lbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nYWxsZXJ5LWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2FsbGVyeS10aHVtYm5haWxzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dhbGxlcnktdmVydGljYWwtZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dhbGxlcnktdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2FtZXBhZC0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dhbWVwYWQtZGlyZWN0aW9uYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2FtZXBhZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nYXVnZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nYXZlbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nZW0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2hvc3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2VvcmdpYW4tbGFyaS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtYnJhbmNoLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LWJyYW5jaC1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1icmFuY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LWNvbW1pdC1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1jb21taXQtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LWNvbXBhcmUtYXJyb3dzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1jb21wYXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1mb3JrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1ncmFwaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtbWVyZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LW1lcmdlLWNvbmZsaWN0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dpdC1wdWxsLXJlcXVlc3QtYXJyb3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LXB1bGwtcmVxdWVzdC1jbG9zZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LXB1bGwtcmVxdWVzdC1jcmVhdGUtYXJyb3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LXB1bGwtcmVxdWVzdC1jcmVhdGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2l0LXB1bGwtcmVxdWVzdC1kcmFmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9naXQtcHVsbC1yZXF1ZXN0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dsYXNzLXdhdGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dsYXNzZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ2xvYmUtbG9jay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nbG9iZS14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dsb2JlLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nbG9iZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9nb2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dwdS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncmFkdWF0aW9uLWNhcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncmFwZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncmlkLTJ4Mi1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncmlkLTJ4Mi1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dyaWQtMngyLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JpZC0yeDIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JpZC0zeDIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JpZC0zeDMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JpcC1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2dyaXAtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvZ3JpcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ncm91cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ndWl0YXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFtLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbWJ1cmdlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYW1tZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFuZC1jb2lucy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYW5kLWZpc3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFuZC1ncmFiLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbmQtaGVhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFuZC1oZWxwaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbmQtbWV0YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFuZC1wbGF0dGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFuZGJhZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYW5kc2hha2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGFyZC1kcml2ZS1kb3dubG9hZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYXJkLWRyaXZlLXVwbG9hZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYXJkLWhhdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oYXJkLWRyaXZlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hhc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGF0LWdsYXNzZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGF6ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZG1pLXBvcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhZGluZy0xLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYWRpbmctMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFkaW5nLTMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhZGluZy00Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYWRpbmctNS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFkaW5nLTYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhZGluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFkcGhvbmUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYWRzZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhZHBob25lcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFydC1jcmFjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFydC1oYW5kc2hha2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhcnQtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhcnQtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hlYXJ0LXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhcnQtcHVsc2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVhcnQteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZWF0ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaGVsaWNvcHRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9oZXhhZ29uLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hpZ2hsaWdodGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hpc3RvcnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaG9wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hvcC1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaG9zcGl0YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaG90ZWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaG91cmdsYXNzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hvdXNlLWhlYXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hvdXNlLXBsdWcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaG91c2Utd2lmaS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ob3VzZS1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2hvdXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ljZS1jcmVhbS1ib3dsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ljZS1jcmVhbS1jb25lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2lkLWNhcmQtbGFueWFyZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pZC1jYXJkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ltYWdlLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW1hZ2UtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW1hZ2Utb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ltYWdlLXBsYXkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW1hZ2UtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbWFnZS11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbWFnZS11cHNjYWxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ltYWdlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2ltYWdlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pbXBvcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW5ib3gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW5kaWFuLXJ1cGVlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2luZmluaXR5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2luZm8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaW5zcGVjdGlvbi1wYW5lbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pdGFsaWMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvaXRlcmF0aW9uLWNjdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9pdGVyYXRpb24tY3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvamFwYW5lc2UteWVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2pveXN0aWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2thbmJhbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9rYXlhay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9rZXktc3F1YXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2tleS1yb3VuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9rZXkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMva2V5Ym9hcmQtbXVzaWMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMva2V5Ym9hcmQtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2tleWJvYXJkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhbXAtY2VpbGluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYW1wLWRlc2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFtcC1mbG9vci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYW1wLXdhbGwtZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYW1wLXdhbGwtdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFtcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYW5kLXBsb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFuZG1hcmsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFuZ3VhZ2VzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhcHRvcC1taW5pbWFsLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhcHRvcC1taW5pbWFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xhcHRvcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXNzby1zZWxlY3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGF1Z2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGFzc28ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGF5ZXJzLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGF5ZXJzLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheWVycy1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheW91dC1kYXNoYm9hcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGF5ZXJzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheW91dC1ncmlkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheW91dC1saXN0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheW91dC1wYW5lbC1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xheW91dC10ZW1wbGF0ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sYXlvdXQtcGFuZWwtdG9wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xlYWYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGVhZnktZ3JlZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGVjdGVybi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sZW5zLWNvbmNhdmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGVucy1jb252ZXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlicmFyeS1iaWcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlicmFyeS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saWZlLWJ1b3kubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlnYXR1cmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlnaHRidWxiLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpZ2h0YnVsYi1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGluZS1kb3QtcmlnaHQtaG9yaXpvbnRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saW5lLXN0eWxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpbmUtc3F1aWdnbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGluay0yLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saW5rLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGluay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtY2hlY2tzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtY2hldnJvbnMtZG93bi11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWNoZXZyb25zLXVwLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1jb2xsYXBzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWVuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LWZpbHRlci1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtZmlsdGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtaW5kZW50LWRlY3JlYXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtaW5kZW50LWluY3JlYXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1tdXNpYy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LW9yZGVyZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtcmVzdGFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LXN0YXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xpc3QtdG9kby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LXRyZWUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC12aWRlby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9saXN0LXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbGlzdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2FkZXItY2lyY2xlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvYWRlci1waW53aGVlbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2FkZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9jYXRlLWZpeGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvY2F0ZS1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9jYXRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvY2sta2V5aG9sZS1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvY2sta2V5aG9sZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2NrLW9wZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9jay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2ctaW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbG9nLW91dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9sb2dzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2xvbGxpcG9wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL2x1Z2dhZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFpbC1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWduZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFpbC1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWlsLW9wZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFpbC1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21haWwtcXVlc3Rpb24tbWFyay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWlsLXNlYXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWlsLXdhcm5pbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFpbC14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21haWxib3gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFpbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYWlscy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi1jaGVjay1pbnNpZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtcGluLWhvdXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4tbWludXMtaW5zaWRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4tbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi1wZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi1wbHVzLWluc2lkZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtcGluLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi1zZWFyY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1waW4teC1pbnNpZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWFwLXBpbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXAtcGlubmVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXJzLXN0cm9rZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXJzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21hcnRpbmkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWF4aW1pemUtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tYXhpbWl6ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZWRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZWdhcGhvbmUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lZ2FwaG9uZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZWgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVtb3J5LXN0aWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lbnUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVyZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUtY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLWNpcmNsZS1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUtaGVhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUtbW9yZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLWNpcmNsZS1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLWNpcmNsZS1xdWVzdGlvbi1tYXJrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2UtY2lyY2xlLXJlcGx5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2UtY2lyY2xlLXdhcm5pbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1jaXJjbGUteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLWNpcmNsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1jb2RlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLWRhc2hlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1kaWZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLWRvdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1oZWFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS1sb2NrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLW1vcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtcXVvdGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtcmVwbHkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtc2hhcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUtdGV4dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tZXNzYWdlLXNxdWFyZS13YXJuaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21lc3NhZ2Utc3F1YXJlLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZS1zcXVhcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWVzc2FnZXMtc3F1YXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21ldHJvbm9tZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9taWMtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pYy12b2NhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9taWMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWljcm9jaGlwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pY3Jvc2NvcGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWljcm93YXZlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pbGVzdG9uZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9taWxrLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9taWxrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pbmltaXplLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWluaW1pemUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbWlycm9yLXJlY3Rhbmd1bGFyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21pcnJvci1yb3VuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb25pdG9yLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3ItY2xvdWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci1jb2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci1kb3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3ItcGF1c2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci1wbGF5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3Itc21hcnRwaG9uZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb25pdG9yLXNwZWFrZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb25pdG9yLXN0b3AubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9uaXRvci14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vbml0b3IubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW9vbi1zdGFyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vb24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW90b3JiaWtlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdW50YWluLXNub3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW91bnRhaW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW91c2UtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3VzZS1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW91c2UtcG9pbnRlci0yLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3VzZS1wb2ludGVyLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW91c2UtcG9pbnRlci1iYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW91c2UtcG9pbnRlci1jbGljay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3VzZS1wb2ludGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdXNlLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtM2QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS1kaWFnb25hbC0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtZGlhZ29uYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS1kb3duLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS1kb3duLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3ZlLWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS11cC1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUtdXAtcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbW92ZS11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tb3ZlLXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL21vdmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbXVzaWMtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9tdXNpYy00Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL211c2ljLTMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbXVzaWMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbmF2aWdhdGlvbi0yLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9uYXZpZ2F0aW9uLTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbmF2aWdhdGlvbi1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbmF2aWdhdGlvbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9uZXR3b3JrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25ld3NwYXBlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9uZmMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbm9uLWJpbmFyeS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ub3RlYm9vay1wZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbm90ZWJvb2stdGV4dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9ub3RlYm9vay10YWJzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25vdGVib29rLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL25vdGVwYWQtdGV4dC1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbm90ZXBhZC10ZXh0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL251dC1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvbnV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL29jdGFnb24tYWxlcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvb2N0YWdvbi1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9vY3RhZ29uLXBhdXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL29jdGFnb24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvb2N0YWdvbi14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL29tZWdhLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL29wdGlvbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9vcmJpdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9vcmlnYW1pLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhY2thZ2UtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWNrYWdlLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhY2thZ2UtbWludXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFja2FnZS1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhY2thZ2UtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWNrYWdlLXNlYXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWNrYWdlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhY2thZ2UteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWludC1idWNrZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFpbnQtcm9sbGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhaW50YnJ1c2gtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFpbnRicnVzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYWxldHRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLWJvdHRvbS1jbG9zZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5kYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1ib3R0b20tZGFzaGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLWJvdHRvbS1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLWJvdHRvbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1sZWZ0LWNsb3NlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLWxlZnQtZGFzaGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLWxlZnQtb3Blbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1sZWZ0LXJpZ2h0LWRhc2hlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXJpZ2h0LWNsb3NlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXJpZ2h0LWRhc2hlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC1yaWdodC1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXRvcC1ib3R0b20tZGFzaGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXRvcC1jbG9zZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbC10b3AtZGFzaGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXRvcC1vcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhbmVsLXRvcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbHMtbGVmdC1ib3R0b20ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFuZWxzLXJpZ2h0LWJvdHRvbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYW5lbHMtdG9wLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFwZXJjbGlwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhcmVudGhlc2VzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BhcmtpbmctbWV0ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGF1c2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGFydHktcG9wcGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Bhdy1wcmludC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wYy1jYXNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Blbi1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Blbi1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Blbi10b29sLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BlbmNpbC1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BlbmNpbC1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGVuY2lsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BlbmNpbC1ydWxlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wZW50YWdvbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wZXJjZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BlcnNvbi1zdGFuZGluZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waGlsaXBwaW5lLXBlc28ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGhvbmUtY2FsbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waG9uZS1mb3J3YXJkZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGhvbmUtaW5jb21pbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGhvbmUtbWlzc2VkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Bob25lLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waG9uZS1vdXRnb2luZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waG9uZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWFuby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWNrYXhlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BpY3R1cmUtaW4tcGljdHVyZS0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BpY3R1cmUtaW4tcGljdHVyZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWdneS1iYW5rLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BpbGNyb3ctbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWxjcm93LXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BpbGNyb3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGlsbC1ib3R0bGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGluLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Bpbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9waXBldHRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BpenphLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BsYW5lLWxhbmRpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcGxhbmUtdGFrZW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wbGFuZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wbGF5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BsdWctMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wbHVnLXphcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wbHVnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcG9ja2V0LWtuaWZlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BvZGNhc3QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcG9pbnRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wb2ludGVyLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wb3Bjb3JuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BvcHNpY2xlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3BvdW5kLXN0ZXJsaW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Bvd2VyLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wb3dlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wcmVzZW50YXRpb24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcHJpbnRlci14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ByaW50ZXItY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcHJpbnRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wcm9wb3J0aW9ucy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9wdXp6bGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcHJvamVjdG9yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3B5cmFtaWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcXVvdGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcXItY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yYWRhci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yYWJiaXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmFkaWF0aW9uLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhZGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmFkaW8tb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhZGlvLXJlY2VpdmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhZGlvLXRvd2VyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhZGlvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhZGl1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yYWluYm93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JhdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yYXRpby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWNlaXB0LWNlbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjZWlwdC1ldXJvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY2VpcHQtaW5kaWFuLXJ1cGVlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY2VpcHQtcG91bmQtc3RlcmxpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjZWlwdC1qYXBhbmVzZS15ZW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjZWlwdC1ydXNzaWFuLXJ1YmxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY2VpcHQtdGV4dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWNlaXB0LXN3aXNzLWZyYW5jLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY2VpcHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjZWlwdC10dXJraXNoLWxpcmEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjdGFuZ2xlLWNpcmNsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZWN0YW5nbGUtZWxsaXBzaXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjdGFuZ2xlLWdvZ2dsZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjdGFuZ2xlLWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVjdGFuZ2xlLXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlY3ljbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVkby0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlZG8tZG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlZG8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVmcmVzaC1jY3ctZG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlZnJlc2gtY2N3Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlZnJlc2gtY3ctb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlZnJlc2gtY3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVmcmlnZXJhdG9yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlZ2V4Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlbW92ZS1mb3JtYXR0aW5nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGVhdC0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGVhdC0xLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGVhdC1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVwZWF0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGxhY2UtYWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGxhY2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcmVwbHktYWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JlcGx5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JpYmJvbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yZXdpbmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm9hZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb2NrZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm9ja2luZy1jaGFpci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb2xsZXItY29hc3Rlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3NlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JvdGF0ZS0zZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3RhdGUtY2N3LWtleS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3RhdGUtY2N3LXNxdWFyZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3RhdGUtY2N3Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JvdGF0ZS1jdy1zcXVhcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm90YXRlLWN3Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3JvdXRlLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3V0ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3V0ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcm93cy0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Jvd3MtMy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9yb3dzLTQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvcnNzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3J1bGVyLWRpbWVuc2lvbi1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3J1bGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3J1c3NpYW4tcnVibGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2FpbGJvYXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2FsYWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2FuZHdpY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2F0ZWxsaXRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhdGVsbGl0ZS1kaXNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhdWRpLXJpeWFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhdmUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhdmUtYWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NhdmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2NhbGUtM2QubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2NhbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nhbi1iYXJjb2RlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYWxpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nhbi1leWUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nhbi1mYWNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYW4taGVhcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nhbi1saW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjYW4tcXItY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY2FuLXNlYXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY2FuLXRleHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nhbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY2hvb2wubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Npc3NvcnMtbGluZS1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Npc3NvcnMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2Nvb3Rlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY3JlZW4tc2hhcmUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NjcmVlbi1zaGFyZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY3JvbGwtdGV4dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zY3JvbGwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VhcmNoLWFsZXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlYXJjaC1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZWFyY2gtY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZWFyY2gtc2xhc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VhcmNoLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VhcmNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlY3Rpb24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2VuZC1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlbmQtdG8tYmFjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZW5kLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlcGFyYXRvci1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlcGFyYXRvci12ZXJ0aWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZXJ2ZXItY29nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlcnZlci1jcmFzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZXJ2ZXItb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NlcnZlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZXR0aW5ncy0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoYXBlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zZXR0aW5ncy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGFyZS0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoYXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoZWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoZWV0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoZWx2aW5nLXVuaXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hpZWxkLWFsZXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1iYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hpZWxkLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1jb2ctY29ybmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1lbGxpcHNpcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGllbGQtY29nLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1oYWxmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGllbGQtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC1xdWVzdGlvbi1tYXJrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC11c2VyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaWVsZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaGlwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NoaXAtd2hlZWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hpcnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hvcHBpbmctYmFnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nob3BwaW5nLWJhc2tldC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaG9wcGluZy1jYXJ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nob3ZlbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaG93ZXItaGVhZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaHJlZGRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaHJpbmsubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2hyaW1wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NocnViLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NodWZmbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2lnbWEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2lnbmFsLWhpZ2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2lnbmFsLWxvdy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaWduYWwtbWVkaXVtLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NpZ25hbC16ZXJvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NpZ25hbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zaWduYXR1cmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2lnbnBvc3QtYmlnLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NpZ25wb3N0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NpcmVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NraXAtYmFjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9za2lwLWZvcndhcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2t1bGwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2xhc2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc2xpZGVycy1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NsaWNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NsaWRlcnMtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc21hcnRwaG9uZS1jaGFyZ2luZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zbWFydHBob25lLW5mYy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zbWlsZS1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NtYXJ0cGhvbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc21pbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc25haWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc25vd2ZsYWtlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NvYXAtZGlzcGVuc2VyLWRyb3BsZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc29mYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zb2xhci1wYW5lbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zb3VwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwYWNlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwYWRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NwYXJrbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BhcmtsZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BlYWtlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcGVlY2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BlbGwtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BlbGwtY2hlY2stMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcGxpbmUtcG9pbnRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcGxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BsaXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3Bvb2wubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3BvcnQtc2hvZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcHJheS1jYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3Byb3V0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Nwb3RsaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYWN0aXZpdHkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LWRvd24tbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctZG93bi1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctb3V0LWRvd24tbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctb3V0LWRvd24tcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LW91dC11cC1sZWZ0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy1vdXQtdXAtcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LXJpZ2h0LWVudGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy1yaWdodC1leGl0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hcnJvdy1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctdXAtbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYXJyb3ctdXAtcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWFycm93LXVwLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1hc3Rlcmlzay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtYm90dG9tLWRhc2hlZC1zY2lzc29ycy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtY2VudGVybGluZS1kYXNoZWQtaG9yaXpvbnRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtY2VudGVybGluZS1kYXNoZWQtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWNoYXJ0LWdhbnR0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1jaGVjay1iaWcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWNoZWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1jaGV2cm9uLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWNoZXZyb24tbGVmdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtY2hldnJvbi1yaWdodC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtY2hldnJvbi11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtY29kZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtZGFzaGVkLWJvdHRvbS1jb2RlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1kYXNoZWQtYm90dG9tLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1kYXNoZWQta2FuYmFuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1kYXNoZWQtbW91c2UtcG9pbnRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtZGFzaGVkLXRleHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWRhc2hlZC10b3Atc29saWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWRhc2hlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtZG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1kaXZpZGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLWVxdWFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1mdW5jdGlvbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtbGlicmFyeS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUta2FuYmFuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1tZW51Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtbW91c2UtcG9pbnRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcGFya2luZy1vZmYubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXBhcmtpbmcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXBlbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcGVyY2VudC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcGF1c2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXBpLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1waWxjcm93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1wbGF5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1wb3dlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcmFkaWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtcm91bmQtY29ybmVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1zaWdtYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtc2Npc3NvcnMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXNsYXNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1zcGxpdC1ob3Jpem9udGFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1zcGxpdC12ZXJ0aWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtc3F1YXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZS1zdGFjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtc3Rhci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtc3RvcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmUtdGVybWluYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXVzZXItcm91bmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLXVzZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1YXJlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZXMtZXhjbHVkZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmVzLWludGVyc2VjdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zcXVhcmVzLXN1YnRyYWN0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWFyZXMtdW5pdGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3F1aXJjbGUtZGFzaGVkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWlyY2xlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3NxdWlycmVsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N0YW1wLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N0YXItaGFsZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdGFyLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdGFyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N0ZXAtYmFjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdGVwLWZvcndhcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RpY2tlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdGV0aG9zY29wZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdGlja3ktbm90ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdG9yZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdHJldGNoLWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RvbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3RyZXRjaC12ZXJ0aWNhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdHJpa2V0aHJvdWdoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N1YnNjcmlwdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy9zdW4tZGltLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N1bi1tZWRpdW0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3VuLW1vb24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3VuLXNub3cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3VuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N1bnJpc2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3Vuc2V0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N1cGVyc2NyaXB0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N3YXRjaC1ib29rLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N3aXNzLWZyYW5jLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N3aXRjaC1jYW1lcmEubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3dvcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvc3dvcmRzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3N5cmluZ2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGUtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWJsZS1jZWxscy1tZXJnZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWJsZS1jZWxscy1zcGxpdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWJsZS1jb2x1bW5zLXNwbGl0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhYmxlLW9mLWNvbnRlbnRzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhYmxlLXByb3BlcnRpZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGUtcm93cy1zcGxpdC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWJsZXQtc21hcnRwaG9uZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWJsZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWJsZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFibGV0cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFncy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWxseS0xLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhbGx5LTIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFsbHktMy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YWxseS00Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RhbmdlbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGFsbHktNS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90YXJnZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGVsZXNjb3BlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RlbnQtdHJlZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Rlcm1pbmFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Rlc3QtdHViZS1kaWFnb25hbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXN0LXR1YmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC1hbGlnbi1jZW50ZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGVzdC10dWJlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LWFsaWduLWVuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LWFsaWduLWp1c3RpZnkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC1hbGlnbi1zdGFydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LWN1cnNvci1pbnB1dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LWN1cnNvci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LWluaXRpYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGV4dC1xdW90ZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LXNlYXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90ZXh0LXdyYXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGhlYXRlci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aGVybW9tZXRlci1zbm93Zmxha2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGhlcm1vbWV0ZXItc3VuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RoZXJtb21ldGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RodW1icy1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RodW1icy11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aWNrZXQtY2hlY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGlja2V0LW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpY2tldC1wZXJjZW50Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpY2tldC1wbHVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpY2tldC1zbGFzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aWNrZXQteC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aWNrZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdGlja2V0cy1wbGFuZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aWNrZXRzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpbWVsaW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RpbWVyLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aW1lci1yZXNldC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90aW1lci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90b2lsZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdG9nZ2xlLWxlZnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdG9nZ2xlLXJpZ2h0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Rvb2wtY2FzZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90b29sYm94Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RvcnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RvdWNocGFkLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90b3JuYWRvLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RvdWNocGFkLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3Rvd2VsLXJhY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdG93ZXItY29udHJvbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90b3ktYnJpY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJhY3Rvci5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmFmZmljLWNvbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJhaW4tZnJvbnQtdHVubmVsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyYWluLWZyb250Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyYWluLXRyYWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyYW0tZnJvbnQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJhbnNnZW5kZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJhc2gtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmFzaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmVlLWRlY2lkdW91cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmVlLXBhbG0ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJlZS1waW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyZWVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RyZW5kaW5nLWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJlbmRpbmctdXAtZG93bi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmVuZGluZy11cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmlhbmdsZS1hbGVydC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90cmlhbmdsZS1kYXNoZWQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJpYW5nbGUtcmlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJpYW5nbGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHJvcGh5Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RydWNrLWVsZWN0cmljLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3RydWNrLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3R1cmtpc2gtbGlyYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90dXJudGFibGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdHVydGxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3R2LW1pbmltYWwtcGxheS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90di1taW5pbWFsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3R2Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3R5cGUtb3V0bGluZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy90eXBlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VtYnJlbGxhLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bWJyZWxsYS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bmRlcmxpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW5kby0yLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VuZG8tZG90Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VuZG8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW5mb2xkLWhvcml6b250YWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW5mb2xkLXZlcnRpY2FsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VuaXZlcnNpdHkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW5ncm91cC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bmxpbmstMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91bnBsdWcubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdW5saW5rLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VwbG9hZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2IubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLWNvZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLWtleS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLWxvY2subWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1taW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXBlbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXBsdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1yb3VuZC1jaGVjay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXJvdW5kLWNvZy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXJvdW5kLWtleS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXJvdW5kLW1pbnVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXItcm91bmQtcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXItcm91bmQtcGx1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXJvdW5kLXNlYXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXJvdW5kLXgubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci1yb3VuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXNlYXJjaC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91c2VyLXN0YXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlci14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3VzZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlcnMtcm91bmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXNlcnMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXRlbnNpbHMtY3Jvc3NlZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy91dGVuc2lscy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92YW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdXRpbGl0eS1wb2xlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZhcmlhYmxlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZhdWx0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZlY3Rvci1zcXVhcmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmVnYW4ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmVuZXRpYW4tbWFzay5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92ZW51cy1hbmQtbWFycy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92ZW51cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92aWJyYXRlLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92aWJyYXRlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZpZGVvLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92aWRlby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92aWRlb3RhcGUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvdmlldy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92b2xsZXliYWxsLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZvaWNlbWFpbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92b2x1bWUtMS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92b2x1bWUtMi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92b2x1bWUtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZvbHVtZS14Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3ZvbHVtZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy92b3RlLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhbGxldC1jYXJkcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93YWxsZXQtbWluaW1hbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93YWxsZXQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2FsbHBhcGVyLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhbmQtc3BhcmtsZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2FuZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93YXJlaG91c2UubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2F0Y2gubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2FzaGluZy1tYWNoaW5lLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dhdmVzLWFycm93LWRvd24ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2F2ZXMtYXJyb3ctdXAubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2F2ZXMtaG9yaXpvbnRhbC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93YXZlcy1sYWRkZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2F2ZXMtdmVydGljYWwubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2F5cG9pbnRzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dlYmNhbS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93ZWJob29rLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93ZWJob29rLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dlaWdodC10aWxkZS5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93ZWlnaHQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2hlYXQtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3doZWF0Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dob2xlLXdvcmQubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2lmaS1jb2cubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2lmaS1oaWdoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpZmktbG93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpZmktb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpZmktcGVuLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpZmktc3luYy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aWZpLXplcm8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2luZC1hcnJvdy1kb3duLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpZmkubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd2luZC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93aW5lLW9mZi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy93b3JtLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dvcmtmbG93Lm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3dpbmUubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvd3JlbmNoLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3gtbGluZS10b3AubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMveC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96YXAtb2ZmLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3phcC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtYXF1YXJpdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLWFyaWVzLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3pvZGlhYy1jYW5jZXIubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLWNhcHJpY29ybi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtZ2VtaW5pLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3pvZGlhYy1sZW8ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLWxpYnJhLm1qczoKbHVjaWRlL2Rpc3QvZXNtL2ljb25zL3pvZGlhYy1vcGhpdWNodXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLXBpc2Nlcy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtc2NvcnBpby5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtc2FnaXR0YXJpdXMubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9kaWFjLXRhdXJ1cy5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b2RpYWMtdmlyZ28ubWpzOgpsdWNpZGUvZGlzdC9lc20vaWNvbnMvem9vbS1pbi5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29ucy96b29tLW91dC5tanM6Cmx1Y2lkZS9kaXN0L2VzbS9pY29uc0FuZEFsaWFzZXMubWpzOgpsdWNpZGUvZGlzdC9lc20vbHVjaWRlLm1qczoKICAoKioKICAgKiBAbGljZW5zZSBsdWNpZGUgdjEuMTQuMCAtIElTQwogICAqCiAgICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgSVNDIGxpY2Vuc2UuCiAgICogU2VlIHRoZSBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuCiAgICopCgppYmFudG9vbHMvanNuZXh0L2liYW50b29scy5qczoKICAoKiEKICAgKiBAbGljZW5zZQogICAqIENvcHlyaWdodCBTYcWhYSBKb3ZhbmnEhwogICAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNb3ppbGxhIFB1YmxpYyBMaWNlbnNlLCBWZXJzaW9uIDIuMCBvciB0aGUgTUlUIGxpY2Vuc2UsCiAgICogYXQgeW91ciBvcHRpb24uIFRoaXMgZmlsZSBtYXkgbm90IGJlIGNvcGllZCwgbW9kaWZpZWQsIG9yIGRpc3RyaWJ1dGVkCiAgICogZXhjZXB0IGFjY29yZGluZyB0byB0aG9zZSB0ZXJtcy4KICAgKiBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiBTYcWhYSBKb3ZhbmnEhwogICAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVQgb3IgTVBMLzIuMAogICAqKQogICgqKgogICAqIFZhbGlkYXRpb24sIGV4dHJhY3Rpb24gYW5kIGNyZWF0aW9uIG9mIElCQU4sIEJCQU4sIEJJQy9TV0lGVCBudW1iZXJzIHBsdXMgc29tZSBvdGhlciBoZWxwZnVsIHN0dWZmCiAgICogQHBhY2thZ2UgRG9jdW1lbnRhdGlvbgogICAqIEBhdXRob3IgU2HFoWEgSm92YW5pxIcKICAgKiBAbW9kdWxlIGliYW50b29scwogICAqIEB2ZXJzaW9uIDQuNS40CiAgICogQGxpY2Vuc2UgTUlUIG9yIE1QTC0yLjAKICAgKiBAcHJlZmVycmVkCiAgICopCiovCi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJ1bmRsZS5qcy5tYXAK" }, { "path": "index.html",